From xen-devel-bounces@lists.xenproject.org Mon Jun 01 05:30:58 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 05:30:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323679.1589351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wTvET-0002zR-0v; Mon, 01 Jun 2026 05:30:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323679.1589351; Mon, 01 Jun 2026 05: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 1wTvES-0002zJ-SV; Mon, 01 Jun 2026 05:30:36 +0000
Received: by outflank-mailman (input) for mailman id 1323679;
 Mon, 01 Jun 2026 05:30:35 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <frn1furkan10@gmail.com>) id 1wTvER-0002zD-Em
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 05:30:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wTvEQ-002lQA-CM
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 07:30:34 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <frn1furkan10@gmail.com>)
 id 6a1d18f4-5cb7-0a2a0a5109dd-0a2a4509c6d4-38
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 07:30:34 +0200
Received: from [209.85.221.46] (helo=mail-wr1-f46.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <frn1furkan10@gmail.com>)
 id 6a1d18fa-2497-0a2a45090019-d155dd2ed41b-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 07:30:34 +0200
Received: by mail-wr1-f46.google.com with SMTP id
 ffacd0b85a97d-45ef29c5561so1292538f8f.0
 for <xen-devel@lists.xenproject.org>; Sun, 31 May 2026 22:30:34 -0700 (PDT)
Received: from notebook.. ([85.107.102.236]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-45ef34a03f8sm23887497f8f.7.2026.05.31.22.30.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 31 May 2026 22:30: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780291834; x=1780896634; 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=1kESKCReRvdG2nIzf0m15JQppR3YrmAZl9AdmyZwBps=;
        b=J9gdg12ipB36wxSfJDH6J4BUa0PhOQXGY4sktKsvPOa5bew63gt5P61UyBFIBnebgg
         Ns9xeT5KHgab66p1rTnsWRsLB/wKWTSpHcQusSiEdKMC8xNVy7nio6sFRSQeOwhJ5WCk
         jj1k2juObHlenCF49n/PZ1BxKuoG0qX4kAVqjpKSL20ihAqTZXpWx+v7PtK9YN3YF1xN
         ZxYssOYBcZYMXod+53zSV5kBsiJ3S5hmbPAqImUSKuUrDKK4wcU+f53aEcUb/h1NTHuA
         jaEsP51/6WUCgJkb29zhujADYgmqioKlqTlKLYGe1YJ6qlQxY9Al3qGUmjJkEZoUyIS4
         UmNw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780291834; x=1780896634;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1kESKCReRvdG2nIzf0m15JQppR3YrmAZl9AdmyZwBps=;
        b=SYDe6INGeg3fy2nIRxbDLA6XfhZWhdLtbtuFI3CQnUb1aP/Ry2Q22zTVyrT3vTRMSF
         WmDhRUN+feLiNGWksxpEb1byRjcSNhjv9EGnplGGPiTW9oJsyK0IbK2+7hg5dyb/u0Of
         rC5QVaX6+IYOOKUNNBDl/2fUPlK6YkiHVE1fMuLQVaklnB+qe+llWz5TGYHqrF74fycp
         DkMnBxGfstGn4KQnM8L+pbEuI6x/t8SRZEE7nqkCE33KLT8FfrwTGJng6ULQ2c1NnpKv
         5XRFpYz29CPCq9vp0tgW9gSqewAmtJ0KxikVYSqejvsSS85pw0RMX6b16ftg2GaXc59A
         daqw==
X-Gm-Message-State: AOJu0YxM6j8o8oGFsQ1sQi3svTwW6cwY96VD6EG/Lc1oYeddAnHCNdXM
	aELehMuspkWgM8uinSFDJvpBHUxsTpabwyZoJzdWRPqbc+ipUCqpqRJeISMO+A==
X-Gm-Gg: Acq92OHPNWZMgOrkVSc0r9I2Xup56kTl64Vd8qfGy6h9MwcSL1z8TObkhBowmqzDAoA
	y7qFeo9AxSByB8vwJejudbKsIIc4xp+mFHQOMQqeWMvFl71LLW5JWC7dmWC2omdzC3Oj2urUssL
	bKLR0kD+xM6XumJCF8fbfkXFRzt7WDiS1kwKYbI4qzSUmxDsE7qyYZbJqlDq1bm/GAfb2oz4To4
	+d1GeHhhK/ZRMA+xH5LYv4fBwQrW4XeOAZNt+a6YhOWqADjX4Y5daw6O7uGUK4qlXHGcQwouJlE
	tRorjI2DNrXgqnURnR4JF9iVkNyndDPuETByDgO7xa98fwYv0qYZ4Whm1IYVde61mmBLzvOpZZf
	oMnQ916CdJ3trUgIKjoPXWMiFcmgnQ8N78i2Emd43gYIwcB/NwEm6Mrw0OebZkCikZ96B5vwzxf
	rOZkZfg+/nZYqwokrR1yHOL6ZFTBWVuZeKTAg=
X-Received: by 2002:a5d:5c02:0:b0:460:1301:dec8 with SMTP id ffacd0b85a97d-460131122a5mr2094758f8f.3.1780291833549;
        Sun, 31 May 2026 22:30:33 -0700 (PDT)
From: Furkan Caliskan <frn1furkan10@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: roger.pau@citrix.com,
	jgross@suse.com,
	dfaggioli@suse.com,
	gwd@xenproject.org,
	stewart.hildebrand@amd.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	Furkan Caliskan <frn1furkan10@gmail.com>
Subject: [PATCH] xen/sched: fix stale schedule.c references in comments
Date: Mon,  1 Jun 2026 08:30:22 +0300
Message-Id: <20260601053022.6044-1-frn1furkan10@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1780291834-89F84A53-DF2DF3FD/0/0
X-purgate-type: clean
X-purgate-size: 4494

Several files in xen/common/sched still reference schedule.c in
their comments, which was the original name of xen/common/sched/core.c
before commit 6cb4b01c03 ("xen/sched: move schedulers and cpupool
coding to dedicated directory") renamed and moved it.

Update the comments to reference core.c instead.

Signed-off-by: Furkan Caliskan <frn1furkan10@gmail.com>
---
 xen/common/sched/credit.c  |  2 +-
 xen/common/sched/credit2.c |  4 ++--
 xen/common/sched/rt.c      | 12 ++++++------
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/xen/common/sched/credit.c b/xen/common/sched/credit.c
index 07656a57e9..fbcdc53f7b 100644
--- a/xen/common/sched/credit.c
+++ b/xen/common/sched/credit.c
@@ -873,7 +873,7 @@ csched_res_pick(const struct scheduler *ops, const struct sched_unit *unit)
     struct csched_unit *svc = CSCHED_UNIT(unit);
 
     /*
-     * We have been called by vcpu_migrate() (in schedule.c), as part
+     * We have been called by vcpu_migrate() (in core.c), as part
      * of the process of seeing if vc can be migrated to another pcpu.
      * We make a note about this in svc->flags so that later, in
      * csched_unit_wake() (still called from vcpu_migrate()) we won't
diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c
index 77475ee363..7eefcf480e 100644
--- a/xen/common/sched/credit2.c
+++ b/xen/common/sched/credit2.c
@@ -666,14 +666,14 @@ static inline bool has_cap(const struct csched2_unit *svc)
  * runq, _always_ happens by means of tickling:
  *  - when an unit wakes up, it calls csched2_unit_wake(), which calls
  *    runq_tickle();
- *  - when a migration is initiated in schedule.c, we call csched2_res_pick(),
+ *  - when a migration is initiated in core.c, we call csched2_res_pick(),
  *    csched2_unit_migrate() (which calls migrate()) and csched2_unit_wake().
  *    csched2_res_pick() looks for the least loaded runq and return just any
  *    of its processors. Then, csched2_unit_migrate() just moves the unit to
  *    the chosen runq, and it is again runq_tickle(), called by
  *    csched2_unit_wake() that actually decides what pcpu to use within the
  *    chosen runq;
- *  - when a migration is initiated in sched_credit2.c, by calling  migrate()
+ *  - when a migration is initiated in credit2.c, by calling  migrate()
  *    directly, that again temporarily use a random pcpu from the new runq,
  *    and then calls runq_tickle(), by itself.
  */
diff --git a/xen/common/sched/rt.c b/xen/common/sched/rt.c
index 4b637aa9db..8aa6ee31eb 100644
--- a/xen/common/sched/rt.c
+++ b/xen/common/sched/rt.c
@@ -80,7 +80,7 @@
  * from all physical cpus.
  *
  * The lock is already grabbed when calling wake/sleep/schedule/ functions
- * in schedule.c
+ * in core.c
  *
  * The functions involes RunQ and needs to grab locks are:
  *    unit_insert, unit_remove, context_saved, runq_insert
@@ -894,8 +894,8 @@ rt_free_udata(const struct scheduler *ops, void *priv)
 }
 
 /*
- * It is called in sched_move_domain() and sched_init_vcpu
- * in schedule.c.
+ * It is called in sched_move_domain() and sched_init_vcpu()
+ * in core.c.
  * When move a domain to a new cpupool.
  * It inserts units of moving domain to the scheduler's RunQ in
  * dest. cpupool.
@@ -1074,7 +1074,7 @@ runq_pick(const struct scheduler *ops, const cpumask_t *mask, unsigned int cpu)
 
 /*
  * schedule function for rt scheduler.
- * The lock is already grabbed in schedule.c, no need to lock here
+ * The lock is already grabbed in core.c, no need to lock here
  */
 static void cf_check
 rt_schedule(const struct scheduler *ops, struct sched_unit *currunit,
@@ -1168,7 +1168,7 @@ rt_schedule(const struct scheduler *ops, struct sched_unit *currunit,
 
 /*
  * Remove UNIT from RunQ
- * The lock is already grabbed in schedule.c, no need to lock here
+ * The lock is already grabbed in core.c, no need to lock here
  */
 static void cf_check
 rt_unit_sleep(const struct scheduler *ops, struct sched_unit *unit)
@@ -1281,7 +1281,7 @@ runq_tickle(const struct scheduler *ops, const struct rt_unit *new)
 /*
  * Should always wake up runnable unit, put it back to RunQ.
  * Check priority to raise interrupt
- * The lock is already grabbed in schedule.c, no need to lock here
+ * The lock is already grabbed in core.c, no need to lock here
  * TODO: what if these two units belongs to the same domain?
  */
 static void cf_check
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 07:16:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 07:16:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323702.1589369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wTwsR-0007hp-SD; Mon, 01 Jun 2026 07:15:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323702.1589369; Mon, 01 Jun 2026 07:15: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 1wTwsR-0007hQ-Nc; Mon, 01 Jun 2026 07:15:59 +0000
Received: by outflank-mailman (input) for mailman id 1323702;
 Mon, 01 Jun 2026 07:12:28 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <ravindrarkb1205@gmail.com>) id 1wTwp2-0007bp-Pg
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 07:12:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wTwp1-00CHIF-VR
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 09:12:27 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <ravindrarkb1205@gmail.com>)
 id 6a1d30da-5cb7-0a2a0a5109dd-0a2a450bc63e-2
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 09:12:27 +0200
Received: from [209.85.214.179] (helo=mail-pl1-f179.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <ravindrarkb1205@gmail.com>)
 id 6a1d30da-212f-0a2a450b0019-d155d6b3f08a-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 09:12:27 +0200
Received: by mail-pl1-f179.google.com with SMTP id
 d9443c01a7336-2bf02708e8fso28093075ad.2
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 00:12:27 -0700 (PDT)
Received: from DESKTOP-988GDP4 ([203.92.58.30])
 by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-2c0ce622c26sm41077575ad.67.2026.06.01.00.12.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 01 Jun 2026 00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780297946; x=1780902746; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9Ie31hZoIIBjgyXsWodiLr0VB+wLXigW6gUNYZ0Kgug=;
        b=JFgfIXS/9vyzZ5IAY4Bzt0rwkWZGAmGqp8idyECavmq7clzlAcOJouzVFxRqa3tAGP
         PICAZ5QuFRCQLiSomXWYQcIX806R21yEt1kraBBtfFUyj+yb0yqaThs3SgaOdRkAICZk
         TPwgXKvUwiTPU/Rkn22863FkWBTLh1l9pIUcF8L1Q3XZnrI8ltnUr/RNaX1RjJxUsyhu
         Ndop7YcJCNWyMreWD8HLY4ULyAPgn8t3wM6BMxtKdfUw4YYKWbKXj7vWL4h2Xg5TEHK7
         1XqKv/Vtt7MPMtJqc9fNAIV5Zm0hJwSurcKDm78I8ntdQG1w9eKF4A84a+U62OYvnt/U
         px/Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780297946; x=1780902746;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=9Ie31hZoIIBjgyXsWodiLr0VB+wLXigW6gUNYZ0Kgug=;
        b=gSp4swIYyn5xetoaMbwnfbkdQBgP4L1WDfckobDjAGzqhjy+MjB3wSOWrZEXHcWMan
         YKIaO+Dp7NHdnUWpzGnja26MmLoGlUddFlHk4Q3yFmqLql/FAcT1dJmp/x9ZYwDhkZfN
         wVs7LDPHEKrJsbR9Vsh++yDtj0vHIQaZbL/NzA2mRkXvvQXO4b5bar70EBhlRCPqaz/I
         qrQfNZMapERMKZtv6QO8I10g6PhfI/+kCWOKyRnQV01h8YZtIQdvZe8OPPAVnrmojAaj
         4L9yyJwpqiSI2Gymw2MmPWRs1imk2RwDBax1W8/W8xwUN2vBUx9sYd06N2t2yeQGnWn7
         sHEQ==
X-Gm-Message-State: AOJu0Yw7AFB2OoOH2JqXBM2R0MkniAmRSlT1cPN5Aor8SGzJeqdhtfE1
	8MY8VFDhShzZmaDLx3v4SnhTx6L998yGBXbBDDZ08Rmmzd0OUAgisftQYLBITVbS
X-Gm-Gg: Acq92OF8cjsEo8Bng/rwT2l4dN1RL5z1Gx6776m6xDSv9pirjCHMydyWApoiQo+cCeq
	crWH+xaB28tbapiWb6UigsU0PMT0DOnXIEgUMI9/6DX222yi/oN0gc+xdfAEsxiea2WP6+/Y3nu
	1uJV9rBr8VLd8hqKC9uWY7nn/XChFzHGzGNwwF7xUINTZsdVjKSO5PASBzUjJwf+XgRN1i+a9GH
	8rxglD7sqjS2qz2Y2+iBbBuLuAFydLjtf1aKhiQhcsjsMxk4ztj4+yRyJiDsiBxcvUQHUAf91+o
	8wiHQkbi1vKrJcUXKRXMNw3XFrN8tSx54R7NaRpII2AO/dNRrm5e/oqPT+WpApKuD1Gd7T0X6XV
	77XdFdbkAkoCR1DB/qxk/oXlcP20SnNZGZC148BtTRXDGq8BeQ0Y4qkT7Ume0crt692H18HcA/C
	e24kkNrfcvoQ2d3VUBRaOhs5tmDzFrGfx97Te0Z5HEgoqjsVmj/8gC3AyIsg==
X-Received: by 2002:a17:902:f78b:b0:2bf:9760:b963 with SMTP id d9443c01a7336-2bf9760bc96mr97581265ad.26.1780297945769;
        Mon, 01 Jun 2026 00:12:25 -0700 (PDT)
From: Ravindra Kumar Bundela <ravindrarkb1205@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Ravindra Kumar Bundela <ravindrarkb1205@gmail.com>
Subject: [PATCH 2/3] docs: fix spelling of 'receive' in xen-command-line
Date: Mon,  1 Jun 2026 12:42:14 +0530
Message-ID: <20260601071215.468-2-ravindrarkb1205@gmail.com>
X-Mailer: git-send-email 2.51.0.windows.2
In-Reply-To: <20260601071215.468-1-ravindrarkb1205@gmail.com>
References: <20260601071215.468-1-ravindrarkb1205@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1780297947-21D85F3B-63B0922C/0/0
X-purgate-type: clean
X-purgate-size: 957

Signed-off-by: Ravindra Kumar Bundela <ravindrarkb1205@gmail.com>
---
 docs/misc/xen-command-line.pandoc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 8c89b7852c..ef3c737189 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -191,7 +191,7 @@ The functionality that this option controls is only available when Xen has been
 compiled with the build setting for Argo enabled in the build configuration.
 
 Argo is a interdomain communication mechanism, where Xen acts as the central
-point of authority.  Guests may register memory rings to recieve messages,
+point of authority.  Guests may register memory rings to receive messages,
 query the status of other domains, and send messages by hypercall, all subject
 to appropriate auditing by Xen.  Argo is disabled by default.
 
-- 
2.51.0.windows.2



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 07:16:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 07:16:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323701.1589362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wTwsR-0007ev-KH; Mon, 01 Jun 2026 07:15:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323701.1589362; Mon, 01 Jun 2026 07:15: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 1wTwsR-0007eo-HH; Mon, 01 Jun 2026 07:15:59 +0000
Received: by outflank-mailman (input) for mailman id 1323701;
 Mon, 01 Jun 2026 07:12:27 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <ravindrarkb1205@gmail.com>) id 1wTwp1-0007bj-6a
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 07:12:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wTwoz-00GWnh-JA
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 09:12:25 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <ravindrarkb1205@gmail.com>)
 id 6a1d30d0-bab6-0a2a0a5309dd-0a2a4503dc72-24
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 09:12:25 +0200
Received: from [209.85.214.196] (helo=mail-pl1-f196.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <ravindrarkb1205@gmail.com>)
 id 6a1d30d8-672d-0a2a45030019-d155d6c4b4b2-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 09:12:25 +0200
Received: by mail-pl1-f196.google.com with SMTP id
 d9443c01a7336-2c0c1e0b0faso6513325ad.0
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 00:12:25 -0700 (PDT)
Received: from DESKTOP-988GDP4 ([203.92.58.30])
 by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-2c0ce622c26sm41077575ad.67.2026.06.01.00.12.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 01 Jun 2026 00:12: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780297943; x=1780902743; 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=BrAEZhtX2cTc6MCSwIp9N3idGRDAVYUepIZGLE1U7wM=;
        b=KO4WAqldJRW91yc2x3sfxo9UQA84+HclkWqsXlAnrYyhRFWsPzzPF/AgLsXxjhBqFt
         cHZXtvZG+MUcQ6BPV1qNIU5jNcWVLPBlq2e50/Nqof1lIgnpRxL8OSYUK7MxU5jCjCGW
         4M+KXmoqGxYcU8yM11EoPuA23ynCI8coVOHFqrbzTxqVOoiAZo4SYZZSKWhhc2bx7cQy
         qk5eFD3uX7SOOVLamTTRfozodUGdE2CkKyQcFrIGKxYP8U0xEmA9k4qcnGbAUGy++63a
         P6owjNhV1FJOjRljxujEnAv9rBORGSOvWkiKy9uG32xvyJO+FeWXoLKPHHVWRVrn7Cxf
         HBzg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780297943; x=1780902743;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BrAEZhtX2cTc6MCSwIp9N3idGRDAVYUepIZGLE1U7wM=;
        b=GRnVMx2Zkj+IWo1jpHgufLlwZ0kFUZZYXtY9qSTwnumzAGQaioxskcTNy19sywBrAT
         JHt5fHlE6Id0cZ/eFx86V4GNzieejIsCACkJBs6i02Cw2KtrZoOioeyM80upyNpqroPI
         bAxQ2LwwKjpnj5rK8b9OS6Blsz2nslWFaurfb19U+BGrCxgiTaZ9Vx60VXtoV4qpGQ+Q
         +QFZ3PNsBBS1JH7aoj/hHssIOsnyLU5gxdREmiFlGVMxRqgbFiVVQejelMQ/AB/7ZM7q
         HhB8SeQhi1Ojp/TvroIaqK/9gotAXHZBydGbbq/QJvHgwMrxYwwa51fTVTgAIODtI40I
         4hUA==
X-Gm-Message-State: AOJu0YyTp8kqG2KyXp76iq4cKmDDLruWlCD5pMcKGZ6lQXJdbF1pIPDW
	lCTsMq0jSF0uuJPVbc8XFJnB8W0LhjLKraQPPwCL3Xuw1lqQDM4xV8TQBOFLqM7LNCc=
X-Gm-Gg: Acq92OH0fkb3dNcU6YqQSMnCUz5JgOf307SnrZDNiX0oCoTiGQp7GQucshVMTRHRxml
	d7I8pObcrKwHFtCCxO+FUDbX1K+iK7sOQY+NuC6gbgMd7zJr8clwocYCjYbQ0Z5BYi2ItbUXI7T
	QXIToijzQUUFREc7Il3R7GIOtpkobdv83oyKeXHpuzNJtaTmJ46M6QakhU2DJU6xofbKQBpaEep
	VctxTmQ2Wvx7NUpCErOMIoVyOE1xSZZTzpIBVkF9zdfYQD0xn/u2El8fS1RY0ZWZjWVVifrHqiL
	GeqlYjeJFUiKOYhS02tr1DWvYFn8sz30HxE8YSRRP2Ereq9EaK/f5qzX15zvO3ibW8nHWukjOpS
	TKb4MUk/CfwDjh+LKV6s9qwl9L7JbeyjO+oqZHnG1HkZZzFQ/919cMDAIZkfGaJX2Vl3lzTlQg1
	Sb9yhjV9j++o2ZMxpYh/lsT4bO4uzoefRSGHE/g6Xfa/9YBz6i2/31pMNrFAhxUNAAyuuE
X-Received: by 2002:a17:903:15cf:b0:2c0:c38d:9d43 with SMTP id d9443c01a7336-2c0c38da2b7mr63308905ad.17.1780297943407;
        Mon, 01 Jun 2026 00:12:23 -0700 (PDT)
From: Ravindra Kumar Bundela <ravindrarkb1205@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Ravindra Kumar Bundela <ravindrarkb1205@gmail.com>
Subject: [PATCH 1/3] docs: fix typo in printk-formats documentation
Date: Mon,  1 Jun 2026 12:42:13 +0530
Message-ID: <20260601071215.468-1-ravindrarkb1205@gmail.com>
X-Mailer: git-send-email 2.51.0.windows.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1780297945-39370938-60565C6C/0/0
X-purgate-type: clean
X-purgate-size: 695

Signed-off-by: Ravindra Kumar Bundela <ravindrarkb1205@gmail.com>
---
 docs/misc/printk-formats.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/misc/printk-formats.txt b/docs/misc/printk-formats.txt
index ce32829dae..2cad98703b 100644
--- a/docs/misc/printk-formats.txt
+++ b/docs/misc/printk-formats.txt
@@ -23,7 +23,7 @@ Bitmaps (e.g. cpumask/nodemask):
 
 Symbol/Function pointers:
 
-       %ps     Symbol name with condition offset and size (iff offset != 0)
+       %ps     Symbol name with conditional offset and size (iff offset != 0)
                  e.g.  printk
                        default_idle+0x78/0x7d
 
-- 
2.51.0.windows.2



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 07:16:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 07:16:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323704.1589373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wTwsS-0007np-2F; Mon, 01 Jun 2026 07:16:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323704.1589373; Mon, 01 Jun 2026 07: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 1wTwsR-0007nT-Vk; Mon, 01 Jun 2026 07:15:59 +0000
Received: by outflank-mailman (input) for mailman id 1323704;
 Mon, 01 Jun 2026 07:12:30 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <ravindrarkb1205@gmail.com>) id 1wTwp4-0007cJ-RK
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 07:12:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wTwp4-009Vor-72
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 09:12:30 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <ravindrarkb1205@gmail.com>)
 id 6a1d30d4-5cb7-0a2a0a5109dd-0a2a450ad178-30
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 09:12:30 +0200
Received: from [209.85.214.177] (helo=mail-pl1-f177.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <ravindrarkb1205@gmail.com>)
 id 6a1d30dc-56b3-0a2a450a0019-d155d6b1dd88-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 09:12:30 +0200
Received: by mail-pl1-f177.google.com with SMTP id
 d9443c01a7336-2c0c2d792c8so6001935ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 00:12:29 -0700 (PDT)
Received: from DESKTOP-988GDP4 ([203.92.58.30])
 by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-2c0ce622c26sm41077575ad.67.2026.06.01.00.12.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 01 Jun 2026 00:12: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780297948; x=1780902748; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=d7DFxsU4D/ay+eRV7XxnX8h4nmcXOheUbufn0kw5BPY=;
        b=DTmDkZSjMPt9Rb0iAvKmjOLnRZtW1GGVqAl1sGbrvKqLEhyizoGPfBw6TpdiNppAkM
         6ip7DuqN5Ad2cmOIr6LZBdEMJYE5VbVDpypWJNz21hsS/7ztr2YGMPlCAV2VXKNZlMJ4
         fi4tHbb2da+Tjyf6aNJgoZuvnnhXwquU9FS1knWwd4AI/SbLngI7HeL7wLnXrTxAcf0d
         DepkkGBWiV/11FuIljxuii/9XBKL0AeDkZatzYjTrS3GvSdo4ksn/jPGMpJPXDC08L9q
         n8PMbn9WSU83GXjQWurICfvCXls0goNf5ToYYzouZwMp2uak5brLhyRmwxtZyU/uUMEx
         BfeA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780297948; x=1780902748;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=d7DFxsU4D/ay+eRV7XxnX8h4nmcXOheUbufn0kw5BPY=;
        b=ZkZJymrQ8w5W56mIitJoZCcnrRd8tRCeOJuARmfp9VVeuRsk7OHhYrumUVSP0uucC/
         RWpwNYTYNtziRtHh9vqGjcnRITjaDjDhEmIzKhMNrzzkL62IGj7rj4AC8xq5ADM3NI66
         jAZLQrI7JDBPckcWb7nAl3N4BkDWNZqnLsTiAkHyb37hjcXOx53AOM/w3rWGXYaYJd+1
         Y8uPr9K+EVkCuCxckIJZIDoumU58EMJm+idms8pbuJmtqXlKOdaMkQ17HyBOSzBXLSIM
         D08oy4ez2QrqeDlnm1mPnRf7yFi4c3l2Sp20UCRkLW119Oc8Nt1cIQShrCejtuK8AA4P
         DIWw==
X-Gm-Message-State: AOJu0YwWmOr/kC3Y6zr+onM3F7NwoOOZKMBccjg371K2DJenMdks2soI
	usa8mRkqAU2PUCvnPmjkF+PVj/AB8Q6r8JxZ0UXG/Db7rpu9P8jog/0uJvVzpwSY
X-Gm-Gg: Acq92OFWQdXPoxI0Gywt43Sbk+EXRjaMkNVym6Ar2zJDx0P9AXCHUv8krmQ4ug3VuNX
	FrDj2Rwq+AxFbAJPiZFsRi2jgYfXPP59romVo4RgFM9uQR0cQRM8izMwHdjmdGN6gWh1595S4j+
	cDVyh/r+IvwWRNfOtdTPS+rFlUajC78qxmoJ1iVNGk3WQCQnDRU8apMYBJ0sqNIIY9NK84Tx9uI
	Wxo349/gMVxd9cmEeZL1RQtAWqNnvT1d0Ub7+QZT2AcqzCa1Pb24hAFvLtlC+752mfl8QUykFmA
	b/KbyCpXw6i5nytj4X+L+G5lHyGGpR2uADhjdBu0hI842X6YCClTO5mEWomFx/9FEkr3xF9/2DJ
	p8hzd3N4bnnqxQlxruQAezh2Ws0UWuff0e4fSIzUlKlk46SLVgelICWA31LOtgGFmhLl0CzhGwq
	kG8jmQu54J+RyTjrP/yiM1WM5BAJKdVgVJss5VDdtKgbUw6j89dlBn6KHPqA==
X-Received: by 2002:a17:903:390b:b0:2c0:cea4:3df4 with SMTP id d9443c01a7336-2c0cea4404cmr46973645ad.40.1780297948048;
        Mon, 01 Jun 2026 00:12:28 -0700 (PDT)
From: Ravindra Kumar Bundela <ravindrarkb1205@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Ravindra Kumar Bundela <ravindrarkb1205@gmail.com>
Subject: [PATCH 3/3] docs: fix spelling of 'receiver' and 'receiving' in libxc-migration-stream
Date: Mon,  1 Jun 2026 12:42:15 +0530
Message-ID: <20260601071215.468-3-ravindrarkb1205@gmail.com>
X-Mailer: git-send-email 2.51.0.windows.2
In-Reply-To: <20260601071215.468-1-ravindrarkb1205@gmail.com>
References: <20260601071215.468-1-ravindrarkb1205@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1780297950-73F798B7-1D9CB0F3/0/0
X-purgate-type: clean
X-purgate-size: 1466

Signed-off-by: Ravindra Kumar Bundela <ravindrarkb1205@gmail.com>
---
 docs/specs/libxc-migration-stream.pandoc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/specs/libxc-migration-stream.pandoc b/docs/specs/libxc-migration-stream.pandoc
index 8aeab3b11b..1319ce1f1e 100644
--- a/docs/specs/libxc-migration-stream.pandoc
+++ b/docs/specs/libxc-migration-stream.pandoc
@@ -753,7 +753,7 @@ A v3 stream is compatible with a v2 stream, but mandates the presense of a
 STATIC_DATA_END record ahead of any memory/register content.  This is to ease
 the introduction of new static configuration records over time.
 
-A v3-compatible reciever interpreting a v2 stream should infer the position of
+A v3-compatible receiver interpreting a v2 stream should infer the position of
 STATIC_DATA_END based on finding the first X86_PV_P2M_FRAMES record (for PV
 guests), or PAGE_DATA record (for HVM guests) and behave as if STATIC_DATA_END
 had been sent.
@@ -807,7 +807,7 @@ never change size or location.
 Errata
 ======
 
-1. For compatibility with older code, the receving side of a stream should
+1. For compatibility with older code, the receiving side of a stream should
    tolerate and ignore variable sized records with zero content.  Xen releases
    between 4.6 and 4.8 could end up generating valid HVM_PARAMS or
    X86_PV_VCPU_{EXTENDED,XSAVE,MSRS} records with zero-length content.
-- 
2.51.0.windows.2



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 07:35:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 07:35:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323727.1589389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wTxAq-0003AZ-GW; Mon, 01 Jun 2026 07:35:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323727.1589389; Mon, 01 Jun 2026 07: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 1wTxAq-0003AS-DD; Mon, 01 Jun 2026 07:35:00 +0000
Received: by outflank-mailman (input) for mailman id 1323727;
 Mon, 01 Jun 2026 07:34:58 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Michal.Orzel@amd.com>) id 1wTxAn-0003AM-W8
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 07:34:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wTxAn-00GcC8-8l
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 09:34:57 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a1d3619-e002-0a2a0a5209dd-0a2a450aa8fc-26
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 09:34:56 +0200
Received: from [40.107.201.4]
 (helo=CH4PR04CU002.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a1d361d-56b3-0a2a450a0019-286bc904723b-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 09:34:55 +0200
Received: from BYAPR21CA0012.namprd21.prod.outlook.com (2603:10b6:a03:114::22)
 by SA0PR12MB7479.namprd12.prod.outlook.com (2603:10b6:806:24b::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.16; Mon, 1 Jun 2026
 07:34:50 +0000
Received: from SJ1PEPF00001CE3.namprd05.prod.outlook.com
 (2603:10b6:a03:114:cafe::46) by BYAPR21CA0012.outlook.office365.com
 (2603:10b6:a03:114::22) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Mon, 1
 Jun 2026 07:34:50 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 SJ1PEPF00001CE3.mail.protection.outlook.com (10.167.242.11) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Mon, 1 Jun 2026 07:34:50 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 1 Jun
 2026 02:34:50 -0500
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 1 Jun
 2026 02:34:49 -0500
Received: from [10.252.145.116] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Mon, 1 Jun 2026 02:34: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=aalrJvPlP2OjH6u2h800ZWkVnzEaVyHiEobxUROWmbncMUDXrX1iVdWNBXEdbXtmYlLS2h+9g3feGbyhYFbHEHeIATyvbpO+lgT23e5xvkBCxg5ytN3tXdE+S7QC7YDBDP4JW+vzyeLeRIUWkEQ5aZaMm/VQsYNVM2wzqZdgxpsli6Xo09u2BLPbU0SdXlXByBgiJSH/57/isAtWYe4PvDbrRLN04lrDjZmDJ/EBnZEOfbA1o3rBdvhPpOuebtquUGhqSD1zQF56kPyc8ipch1Lbejcz6Miw9dQvvpkfhedWIIqrWG+TQXZS5Wfel717UT91QYUZZVsEib+M7ayuhg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GiewfEkKi4x8zFr6QmO9Oh/HQDEw+bCh/sgdL6uNHcE=;
 b=vqRA+aJVhVk3/nKM4autWwAZcpQyww7XcV8WnTnvncV/GGYEsKut1TAbSuqaIJgkH2tLVSLjaRomA6eOoh+wCiXMj+T9J8MZuNvdCGnvae+wZ8u90IH0VxjoyDgJzWJUOkLfyr8cZ2XkWVamdnm2ExTgoFa774S2Q1QEDZAHC9lo7tHw8vXhB6tXo5Uh4US/ZVbTP6B5f/lfJJsebHMrneUe12erTNeNwveSIiiLQTseYdZFPzsmBnufeIiBYJ9LHUAyjxh9hIryfjBf+CBITHhHU3eVottNhnIAS1SmcIJOcw/f4TXs+jL5ZRN9r+F6GGaC2M6yCdfmse9em2u6MQ==
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=GiewfEkKi4x8zFr6QmO9Oh/HQDEw+bCh/sgdL6uNHcE=;
 b=ZBAYOnjWyMvkRDxOvDpW3bcjguAkZFE5u2JOFp0LZnUApRZDHDc+wuE281x5tbtzC4PaPOzDrD7ul/OX3eIzZT0fyOYkEKen9sE7hoNcmBrauwenGAQ8PpUcNN8hhe+65aWjClZ9OrN3wvSWUh5koYzuSZc22li2rAKpz3k7BPQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <d967c9ad-6300-4f64-b484-c61d09b765de@amd.com>
Date: Mon, 1 Jun 2026 09:34:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] docs: fix typo in printk-formats documentation
To: Ravindra Kumar Bundela <ravindrarkb1205@gmail.com>,
	<xen-devel@lists.xenproject.org>
References: <20260601071215.468-1-ravindrarkb1205@gmail.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20260601071215.468-1-ravindrarkb1205@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE3:EE_|SA0PR12MB7479:EE_
X-MS-Office365-Filtering-Correlation-Id: 4179dd17-abf9-4f40-0a97-08debfb043c5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700016|82310400026|376014|18002099003|22082099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	LOXlDlwL0FyOHBfMmsjL1VqwsKLU/gDbcsqNn5QwFpus6Dln2biw+kof42zxAX6SEyUZH7erEu3hJhHugytdGglAnsD0xPNyZTnIIFsw3NC5UuOa2nO4quOuInqApW21x7J84HrLLpGjH8zC8GsM4FTBUhqLj9c2rkqnHHY7izpjTR2ud44tjaAMjEuIwmo6NJm25RzGjmq1xzarfK/FjaLDA1gFJizEY3OtTowiz0YLyqsh+WdxwgJ+btuTjB5nmK8YAMwVdi/woq4zmmNbu/+NFZetmvdCy/3rEDDinlsw1OK+MiJX+xWb95eI9zfPCBFlSkQ+Lhvj7O5rB0ODdV79vZRQzU2e7QqUlqZVqWjKuJX1DSuMmYsmN+Gai3TVsn+m15kTFI5b4smWwojOBIJ/RMcQwAPx0xz6oa1+qM5NGDZiT0jysO2amwd2FTGTAk23FmoLOhbvTGjptoYW9eMJtYCWS2Ny6pQzIgmK0f455ues1kkAFGqR2ikqdol7sTzVgzNX6KVJDc67dHwK5aVz3bsuHxFU9tVq/n9If0ttZn4JxwUFP7T0Hc4eyxmJHq1ZxkzWoVfadNAkFvZlHI0599oCeD9irTYjldWKPx/6ckxh6OcEbCVPgZH1brCYG/717becqMVzVgI7711kPV3WFL98o8b0/7gT0l8u7qkiTTHm46X2CLxR6EYIoZkHI3JB6ZrPf2SVNrETiwwkYpd4hQD6effJ2SnU/h9pXJI=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700016)(82310400026)(376014)(18002099003)(22082099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	yvec5eHc6uqfV2c4GKWNCObGizEbiZUEGEdAqUsitek39VMjQOSYAYnOebtDjLolyhjsSxvOi4ZzQTQ90nyoVCSjmwwyVUcud6jAT2o3cz3KxumVFTNgGtqekVYwAyESKrxBP5jLR7uQXCOvaqGGrQGNVEJ2/CyMxq64IPEPRWw1zaZgDcqDj2wQB+sy8rPzc3f2dHF7RVgpwkWuxQVV57o8xq6ttw7Wr7QZ6IU2z8ZaxiOpQKQqnHPLYNgMt/mJpzw6TyVkjWXlb1NCh1gmYxSUItCGvN3VkBWaj7tHHMB5OF2xtKmB0cufdmpFKaC+tOyqGEftZvEArm/PR2By0Qf3XCaPj+D/FO+GELn4a563MBoyv3SrjlGgXKIYsE5dL/YZ3dvTq9u6rPjAFmrjT43Tzp4RnUR1WPggPmw44PrZ/fXsnJd8eRMl/yujrYNi
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2026 07:34:50.4217
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4179dd17-abf9-4f40-0a97-08debfb043c5
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CE3.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB7479
X-purgate-ID: tlsNG-4011c0/1780299295-7015A8B7-B8A39ACD/0/0
X-purgate-type: clean
X-purgate-size: 1018

Hello,

Thanks for your submission.
When sending patches, please CC relevant maintainers by using
./scripts/add_maintainers.pl (automatically adds them into the patch) or
get_maintainers.pl.

On 01-Jun-26 09:12, Ravindra Kumar Bundela wrote:
> Signed-off-by: Ravindra Kumar Bundela <ravindrarkb1205@gmail.com>
> ---
>  docs/misc/printk-formats.txt | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/docs/misc/printk-formats.txt b/docs/misc/printk-formats.txt
> index ce32829dae..2cad98703b 100644
> --- a/docs/misc/printk-formats.txt
> +++ b/docs/misc/printk-formats.txt
> @@ -23,7 +23,7 @@ Bitmaps (e.g. cpumask/nodemask):
>  
>  Symbol/Function pointers:
>  
> -       %ps     Symbol name with condition offset and size (iff offset != 0)
> +       %ps     Symbol name with conditional offset and size (iff offset != 0)
>                   e.g.  printk
>                         default_idle+0x78/0x7d
>  

Acked-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 07:35:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 07:35:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323733.1589398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wTxBQ-0003ba-O1; Mon, 01 Jun 2026 07:35:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323733.1589398; Mon, 01 Jun 2026 07:35: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 1wTxBQ-0003bT-Kr; Mon, 01 Jun 2026 07:35:36 +0000
Received: by outflank-mailman (input) for mailman id 1323733;
 Mon, 01 Jun 2026 07:35:36 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Michal.Orzel@amd.com>) id 1wTxBQ-0003bL-1m
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 07:35:36 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wTxBP-00Gt5C-AP
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 09:35:35 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a1d3643-e002-0a2a0a5209dd-0a2a4506d9b2-10
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 09:35:34 +0200
Received: from [40.107.209.62]
 (helo=PH8PR06CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a1d3645-7371-0a2a45060019-286bd13e1d5a-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 09:35:34 +0200
Received: from SJ0PR05CA0018.namprd05.prod.outlook.com (2603:10b6:a03:33b::23)
 by DS2PR12MB9797.namprd12.prod.outlook.com (2603:10b6:8:2ba::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.16; Mon, 1 Jun 2026
 07:35:30 +0000
Received: from SJ1PEPF00001CE0.namprd05.prod.outlook.com
 (2603:10b6:a03:33b:cafe::86) by SJ0PR05CA0018.outlook.office365.com
 (2603:10b6:a03:33b::23) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.6 via Frontend Transport; Mon, 1
 Jun 2026 07:35:30 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 SJ1PEPF00001CE0.mail.protection.outlook.com (10.167.242.8) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Mon, 1 Jun 2026 07:35:30 +0000
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 1 Jun
 2026 02:35:29 -0500
Received: from [10.252.145.116] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Mon, 1 Jun 2026 02:35: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ggxeYiuEHxL9GeVz/num41fKTGIg20pqzAuQ0HYfCErggfIWX5X2fobWeNXMt/e4+0ALggYKxhioDMcAr53rMGOu+Y/7tgJ/1kU7Vu6PZdgf++ulhM1CUIhlXA7dOZnrHDN4sdNLOgsNRFLkKcsEiC/YBmHGddDdah7I7+J1+pO9DCYWlt1pvaPjPxfZpwlaEBBI5GF9BN7hcdk85zLBD8ykUlPz7dVRu9craRtHu41dD354+LUr99kV+FECficTCVeF518aF9JX/ruiwTVaePEEXpG2Q+QDE3VxW+Ce6m3U/2Yhvee9ddye+mz8qVG9Y7oxXP//YmJGW4y8kjCpJA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JGQ8o2jBaiMrjtHXL6W4eUAjrwGGJq65hyAYLj7qiM4=;
 b=gBEPovWyfeBVclvYEVdmZVuBYw3jgsvH9JQ/vidvnuK8uNfmjvmyntMk3kwdc/RFpGGjY0abRM1JPrMJ8L+4f331vjvQVnbsdLTc3qqSJWsQ+CZai0fItacccYV1535Z0hfgA2wIM+0VNdvdrJwzBZgo9JPW97ZmM0IBtu5V42VJ0neFqeGnnkD+WcBNcBs5UKwwV7sOoeDn9yp5jgItlta/J9Y1bc97qRuc9Jutw3/MK697s97bvLitjAO72L2aWJTSSEXwO4RjouFqYXwCDa/+BLYGaAXN7SMZ5VXi9oOblBnLxkF80JJHe4FzYlKMQx/Wy6uieNUpYUoXIeTYiA==
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=JGQ8o2jBaiMrjtHXL6W4eUAjrwGGJq65hyAYLj7qiM4=;
 b=fn/VryiFIHDfnNm5kPzUjT8f/CgQwnW9lOOtY+b1Ru2k2rZCTSdYinLQPESdqXvT8g5bvpdWOtDqnvCK4zz/1fuCCmUJ0/7x1KQX2NiT3r6RD0YLaiMaCLk8qQY3XZ52/THG/sULSny7dAhFUxmAl9rjOTe4fqUTN6aafO4oWiw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <ac824188-52d5-4a29-ab40-25ea9fd421a0@amd.com>
Date: Mon, 1 Jun 2026 09:35:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] docs: fix spelling of 'receive' in xen-command-line
To: Ravindra Kumar Bundela <ravindrarkb1205@gmail.com>,
	<xen-devel@lists.xenproject.org>
References: <20260601071215.468-1-ravindrarkb1205@gmail.com>
 <20260601071215.468-2-ravindrarkb1205@gmail.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20260601071215.468-2-ravindrarkb1205@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE0:EE_|DS2PR12MB9797:EE_
X-MS-Office365-Filtering-Correlation-Id: 8fc6a55a-6028-416e-a751-08debfb05b65
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700016|376014|1800799024|82310400026|22082099003|18002099003|6133799003|11063799006|4143699003|56012099006;
X-Microsoft-Antispam-Message-Info:
	3iIotwc4dGlrV8w6OQVgXBfs8B/cO5uDLjJSS5m7IJBCFtaFiD1Sp036L3XNb0BdqDFK9rVLWaAWI6V4WtWTH+Znm1vXwEyczUjGYOq85Z83ewdiT3EKAFctxSavkVMrCv8S0dG0CHpw6DJ4kZKBWJ8icQRw+H4kfcvRTVwGGEVEOBU04nw5Szk0evnWQQtOvupekZRw4CkzMWBm4t+SJzwVSLJRCR1+APALXQRDWHdnA8AmSSZx+PPlVIfbMBJB8vRyO5R+A6MqvOMOyjHtdBgCJ0+hGssLDWtPd6Mmr1u5+UwxFJUFC8bgA37P9MEmHF5Dt+kNrMTSU/p3eJS+Q9KYkgk0MlBhfU2E8SEPO5mqxcrjxZa/m7bc/IUg5qoD0bJ6xhqiBrhL11stbCjTn/ZY9T361Il0iEAOGNyXCFOk/J4hoBYfOseUo5g6qUAsv+kxRevhQhdPLFL2Sl9ClDycjOKOYP1re/IMm4g5Bf3SiTikM2p4j5a9RNwu7OHSSEf/3z/Si6TGlyFO1oG//3NxWkwyrlK9dPhUL3/xmeYSMv1smoOx2mV+2IN80w774/EyKKytp+RgfGjpFllZ1uajdypt78e7+OgcA2yaZDD++Svb1SatfPmhyaDs58JO2f8EXIz37yIG1b42IY1nEGKUMjSrMojc8sgCOIt+bBGtOgG5l7opNQxk22appFF9U7NCA6lfNWCcFG7Mx3VhMB35oo4Kov5cSMMtabANBrM=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(376014)(1800799024)(82310400026)(22082099003)(18002099003)(6133799003)(11063799006)(4143699003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	Fmfv6NZgrKQ+pWs6QH7izyJTLGdE7BaLw7+oJn+gDoOCrI2RlKlQYUHa2hDGRd8ZNetBwwn/bQlHRPcnt0GQ1DuH3oGgU6eB6DZWPIF1RvvjUydQOUDiyQexNMNOLYDw49iNR4tkO99jj9z10QSz0X4H8VcVGqyTH4yOHUtMOqMJwW2vonpBaTCY4uRkK4Y0ulfsK1Bl+xqFBF/K6Gy6azbk+iNW4lrsWUqjlZTOdHBL3DPa3Hr173kwAM067iTjbv3R3BdugDIR0YvQqkyOR4gNI0LaVpfWVnLCF7GRWoI0jc+HPLeE+pNwAbeSsfYkn5qw9orXJ13DPT6j3MgxhK6uOI7owEPXFmdp8alYb5uJDLLI/KwjO4iOzYwRP4TdFuNbWcLyNCEM2tuWELfNdDMOeavyeZuR4D+twO1ccouhiUohi/QRqhLnUoHGopX1
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2026 07:35:30.0367
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8fc6a55a-6028-416e-a751-08debfb05b65
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CE0.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS2PR12MB9797
X-purgate-ID: tlsNG-16d1c6/1780299334-7F77FD75-563310CB/0/0
X-purgate-type: clean
X-purgate-size: 1083



On 01-Jun-26 09:12, Ravindra Kumar Bundela wrote:
> Signed-off-by: Ravindra Kumar Bundela <ravindrarkb1205@gmail.com>
> ---
>  docs/misc/xen-command-line.pandoc | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
> index 8c89b7852c..ef3c737189 100644
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -191,7 +191,7 @@ The functionality that this option controls is only available when Xen has been
>  compiled with the build setting for Argo enabled in the build configuration.
>  
>  Argo is a interdomain communication mechanism, where Xen acts as the central
> -point of authority.  Guests may register memory rings to recieve messages,
> +point of authority.  Guests may register memory rings to receive messages,
>  query the status of other domains, and send messages by hypercall, all subject
>  to appropriate auditing by Xen.  Argo is disabled by default.
>  
Acked-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 07:36:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 07:36:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323739.1589408 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wTxBq-000420-3e; Mon, 01 Jun 2026 07:36:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323739.1589408; Mon, 01 Jun 2026 07: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 1wTxBq-00041r-0W; Mon, 01 Jun 2026 07:36:02 +0000
Received: by outflank-mailman (input) for mailman id 1323739;
 Mon, 01 Jun 2026 07:36:00 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Michal.Orzel@amd.com>) id 1wTxBo-00041Z-FX
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 07:36:00 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wTxBn-00CLvD-SM
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 09:35:59 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a1d365c-bab6-0a2a0a5309dd-0a2a450cc952-20
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 09:35:59 +0200
Received: from [52.101.48.23]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a1d365b-62f1-0a2a450c0019-34653017f0cb-4
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 09:35:57 +0200
Received: from SA1PR02CA0022.namprd02.prod.outlook.com (2603:10b6:806:2cf::29)
 by SA0PR12MB7463.namprd12.prod.outlook.com (2603:10b6:806:24b::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.14; Mon, 1 Jun 2026
 07:35:52 +0000
Received: from SN1PEPF00036F41.namprd05.prod.outlook.com
 (2603:10b6:806:2cf:cafe::59) by SA1PR02CA0022.outlook.office365.com
 (2603:10b6:806:2cf::29) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.17 via Frontend Transport; Mon, 1
 Jun 2026 07:35:52 +0000
Received: from satlexmb07.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_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Mon, 1 Jun 2026 07:35:52 +0000
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 1 Jun
 2026 02:35:51 -0500
Received: from [10.252.145.116] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Mon, 1 Jun 2026 02:35: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DST5lG6+Sq9/R6RK83qvlXsK4ywo/D43ejmNsRolCd5T30/yHbvqKhnot4kLT91BxW/eQR8Jzx/Yx1FsCeUjdKSCtL/OmwSOtbE4rqlB5jnAdv01iSTI05m2UwTH13xMSE8VDkO81IONZnuagUAQaWhfQIrs9Ysz9pv7awYswR+rFSepdhiWTcHEKJfIMvY/OUl9JHHbZEvCEmDPTneXVIu3WBnkzBVmlXzAQgOxIHpsJrPh5NJmMUwBpqGPsptdLrrg10CyfGrr85fLt7IYIR2HYYl0jr8xdsSFZc7SA1KrOo9BYdj5GSHfx/rGEZKNBCxVshsgF6iABFtPiU2RIw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=umTJoen5CxzPeQKwd3zF98RX2J62pDM94omI3nqAAVw=;
 b=swH5zvOHP9v/5Xdj2D2UFXtNI5XCUjSbToqxgg+UXIV9VxW46kM2g4QGZhGqJyzK4T5nGYAgBX9baMI9l2cVrGiPU3+gg/yTpJ/f4KV3KjgrS0NjfkovWg5lDvpqJHubbpXGiv4UQnIUvwCamvAMOV8D9LcrMnjRWBnkDEEP8GdrDs98Tnp3NXgAFEyd13sE3cXQ0H6mlEkKZRt44rHeXHZSI6J8AJnJ8tl0LZDPEYFATFyKYAyLpvH8bAulTSKez1LJ74q3iScToqdesRXuTAy59Ipaflk83qOgAo2ie0j3peZH9uKXlGXYD5E6LwyrCpcjcj72fbBmdgxvzg3OPw==
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=umTJoen5CxzPeQKwd3zF98RX2J62pDM94omI3nqAAVw=;
 b=R4JXO4KaHI4mOZ5ztak+RItROhlUQgLTIBYQJNetR/gkUwaikdb+jzOD1RjBTD4U2TfulHXlfvkcBpAPeHHbirsXu+UxzgPy0FgVGZXcNilcSWlFovznf6gbYbqkWVZyYmXEcoFA5R9dyPBqk9fmF7GQZ80NxGGVKdWHTJzCH8k=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <b59a6497-eb15-4abe-9a60-b2d23877306b@amd.com>
Date: Mon, 1 Jun 2026 09:35:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] docs: fix spelling of 'receiver' and 'receiving' in
 libxc-migration-stream
To: Ravindra Kumar Bundela <ravindrarkb1205@gmail.com>,
	<xen-devel@lists.xenproject.org>
References: <20260601071215.468-1-ravindrarkb1205@gmail.com>
 <20260601071215.468-3-ravindrarkb1205@gmail.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20260601071215.468-3-ravindrarkb1205@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF00036F41:EE_|SA0PR12MB7463:EE_
X-MS-Office365-Filtering-Correlation-Id: cf9eb6b4-12dc-4104-d51b-08debfb0687a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|82310400026|36860700016|22082099003|11063799006|6133799003|18002099003|4143699003|56012099006;
X-Microsoft-Antispam-Message-Info:
	rlE0W6/g1SBiG6amvycw/ih40plUOkK7pAcwCzblp7+joYkL/Hh9tvqVJDc8KN2BKGYQRrxpK41ZKKDR+p/4U1E0WAa+lqP488/8ib4Q9jj40Q5ZgOpcxfYLuQpDyaA9P91z4O+oIPpor5t+15+vY9UQ8JgINHq3Scbsqx/Wq+ICWFg/n9C5bGRJusnWFoGIPCN1yjhihc4resnIgTrZ4Q8u3D3e+oR8hIxFrbQiF2Q2LFCQdZLSEhd7jykn2ppMlRPJUjwJxnSUEpHBVp+OFriLK3To8zclrYGkBkJMFr1ME2e/ADoALAZ3xzbNnNZ0SO2ldZsTFLVS2rPI42nSknSKS1Cvl9Fsq2rjxSzgYS1lI+jhAC8e7xaXCYOrVAT/iZwu2Vh/1wbszzEiWPVJa1609mIkRfdBXEzlRSetV9osQLEtErXNCsWhOJL5Evn9bRCfhqv2F/BHy6MO7s4AW2gEW1+/KB7S/8lfzwKc0ufDy98wAMWzLRfA5R6CIrwYdaFCHF3d6wBW50jItytYlkz+KJRaY+Q9Y4m/HczlyeXZfxvTd/XBkidcNBPFAcOMG/qYcGDD3rRDtB0V530QrJZ+x9aFVxORmX4tcYivG3K15QtSyt46hwdUGCeI5ykNxXJQj+BbmEdMy61A0REUL0QFUhf4kaKYGghujaSON7SebBuGm4t+1ZVP3G1gl7u7FGJHSAQeoPqHmCHFtgCdWgdjw2GpUD2IvUUHAK7SJkc=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(82310400026)(36860700016)(22082099003)(11063799006)(6133799003)(18002099003)(4143699003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	IV1sJGmOxQbOYHB78+2azKDRw6uxechVpcDVHhxWjfvDM+HkWuIm0/mSCSb+inS1qYJsQcYiKBL5Deieg/086uiZZCiKaDMcqhf31ZWR07nwu+3iAnJadJosdmwiApK82uw8kIujKJ8PPQcn1an1znqnNmxSfHz49Zzd3Njc0XuVnDvJoyjow6EAZRngLvaXnbe0o47pN+QAFIn4xQFkyNXgr7qaLg0jcLIXS4s5otpqDKnb5L5pjB/rR4jOdu6awy2WlTlq2R7ITsSfPWhSbssi9g7BTJrn/cxSuzFXWbLZfboDiI5eiLCzI/LtlBz9zqpIRS/zHAttOuWc+r9TWBIn5XffC2ptMt/QBgc5TnuuEyNo1czQLgq/yYAsRU5KoL+SisOx7dYPEJ+XvV70wrD0+mSgOFcwg8E3DaIU1FmCkeq6/ckY+wiK7DiJg6m7
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2026 07:35:52.0603
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cf9eb6b4-12dc-4104-d51b-08debfb0687a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF00036F41.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB7463
X-purgate-ID: tlsNG-d25034/1780299357-E0159CF5-6A31B838/0/0
X-purgate-type: clean
X-purgate-size: 1610



On 01-Jun-26 09:12, Ravindra Kumar Bundela wrote:
> Signed-off-by: Ravindra Kumar Bundela <ravindrarkb1205@gmail.com>
> ---
>  docs/specs/libxc-migration-stream.pandoc | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/docs/specs/libxc-migration-stream.pandoc b/docs/specs/libxc-migration-stream.pandoc
> index 8aeab3b11b..1319ce1f1e 100644
> --- a/docs/specs/libxc-migration-stream.pandoc
> +++ b/docs/specs/libxc-migration-stream.pandoc
> @@ -753,7 +753,7 @@ A v3 stream is compatible with a v2 stream, but mandates the presense of a
>  STATIC_DATA_END record ahead of any memory/register content.  This is to ease
>  the introduction of new static configuration records over time.
>  
> -A v3-compatible reciever interpreting a v2 stream should infer the position of
> +A v3-compatible receiver interpreting a v2 stream should infer the position of
>  STATIC_DATA_END based on finding the first X86_PV_P2M_FRAMES record (for PV
>  guests), or PAGE_DATA record (for HVM guests) and behave as if STATIC_DATA_END
>  had been sent.
> @@ -807,7 +807,7 @@ never change size or location.
>  Errata
>  ======
>  
> -1. For compatibility with older code, the receving side of a stream should
> +1. For compatibility with older code, the receiving side of a stream should
>     tolerate and ignore variable sized records with zero content.  Xen releases
>     between 4.6 and 4.8 could end up generating valid HVM_PARAMS or
>     X86_PV_VCPU_{EXTENDED,XSAVE,MSRS} records with zero-length content.
Acked-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 09:37:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 09:37:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323775.1589437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wTz5B-00045T-RQ; Mon, 01 Jun 2026 09:37:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323775.1589437; Mon, 01 Jun 2026 09: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 1wTz5B-00045M-ON; Mon, 01 Jun 2026 09:37:17 +0000
Received: by outflank-mailman (input) for mailman id 1323775;
 Mon, 01 Jun 2026 09:37:16 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wTz5A-00045G-5Q
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 09:37:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wTz58-006KcY-Nu
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 11:37:14 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1d52c3-e002-0a2a0a5209dd-0a2a4506acf2-40
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 11:37:14 +0200
Received: from [40.93.201.9]
 (helo=CY3PR05CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1d52c8-7371-0a2a45060019-285dc909fdd2-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 11:37:14 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by LV3PR03MB7683.namprd03.prod.outlook.com (2603:10b6:408:28b::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.15; Mon, 1 Jun 2026
 09:37:10 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0071.014; Mon, 1 Jun 2026
 09:37: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ibwZ7HD8s8VgVuxSPEMfa2iHPTG7b0258XJkjWDxahbKLHc3rZNr8+jH7pkiqvNE3itwwGwYfof3fwNHXNL07W5+XWULL2/hXGBH5NKog5Ew72C1EwXAWrlMiC6dfKcDH2CTzjJeNiEbOQzuXuW9h5XObnKCqMMBHL01iCI4oXV2TXV6Yggt9iRCTjzWzpIFQcPDp73iYX2KvgN9zAV4xejC/hX+whSjDWJo6IR4oC/bhFLeijo4hVsqfp3SLMhxOFc4M+//euRjUgziTvB97aJjFguEJOECKNuhzG06dY+YCPJaH0z/aU8l6cqXICXtiQeRrQMN0IlmvxINUAEiMg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QEJwoE+XHk2E0jaeeYL94RroyqjS0Gvahhgs576DixI=;
 b=RndXhecucq3B1mMptME2MlxBNq3SAOUMmPl5o8VLSnwkyFaQ1pxgtMq6E8DRjnSgATnVe9P2LmIKY2+dijxCemVCwRemhiY19CN7D7Gt0KzIvs8Rm9Ru0nBa3Dz6zuSJijTz3ApLaOELsbAH2yqZnU4f4jAPpPCZV5Obbbiqps+ZIIT2Y1UCGwU/cobWzMXABrTDrNcep3TtvRTsqG8JFlLMbMvgk9CHqaUizwylgyAou66lBkCWJXUDsCUX23Ur88yy/BOvcU6GhmTp+SUh6iq9obOrzIRFeaH0hlTnxE38d75drRMi5y4YWrl+TqhrYXZfFlxy3EVkeRUQJLiDUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QEJwoE+XHk2E0jaeeYL94RroyqjS0Gvahhgs576DixI=;
 b=TLCn2AGLGTpYEV0fKLiAPBR3OHRiOg7v5v74i2c4P+YQr7HvQkzwJTirEQ5hWX2xFMLKBj1vJe7u1eZxpuU23TnsUq/ZcwQzovBxoLSMgE0Ue01EDNtV+2KiOxJvZqSikwDQElOAhOeze7CUjk4iTwOe0GqB2yK0TiCVOnWcvj0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 1 Jun 2026 11:37:06 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Cody Zuschlag <cody.zuschlag@gmail.com>
Cc: xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com,
	anthony.perard@vates.tech, michal.orzel@amd.com, jbeulich@suse.com,
	julien@xen.org, sstabellini@kernel.org
Subject: Re: [PATCH v3] docs/process: document AI-assisted patch tags
Message-ID: <ah1SwhXGOVcGPdoJ@macbook.local>
References: <20260527174528.27903-1-cody.zuschlag@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260527174528.27903-1-cody.zuschlag@gmail.com>
X-ClientProxiedBy: ZR0P278CA0010.CHEP278.PROD.OUTLOOK.COM
 (2603:10a6:910:16::20) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|LV3PR03MB7683:EE_
X-MS-Office365-Filtering-Correlation-Id: 0328568b-a2c4-4d3d-b643-08debfc15a7e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|5023799004|6133799003|11063799006|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	+K+o5EdageHrA9dkMlB5xGjJARhy20LeCGvN2S4picyTJnDRbd4guAkAF5+EoFr+Mva5zQrx3HRTVURDTa5nrvWbwzoPAO6X6C2cjsayOg0zCyXbif0VJkUn6/lRlNgiOrUk7Wz04yAecCrf0xc2XuMRBkfeM0SeA9u80rNyqXpkiiUkJ368fk66yeApNVi7uwlD7ZGVXBzXvr9m9g8Jv+kyJpkv2DLEqOoh+1GBEgqCTEN92V+X3XfLgU2luzWDVLQiBP21SxTIse2NRMKYvAb+scXdjVgmxbrhKBni5CXeOIi2MMznEOZFopxpy9sfJknAcF+iFM5H035oQMDQUT4sCCIOp+wFTHy5b6jfWyBWy/JqqBAI45bXmxOMwGIQ1KocLYmVUbx20VtjGdmlJ9hKElGd54Ewzr+VDE7WH/8dbqiwTlcW10u5htCtwdm7AHdY+NiCJ5ih0MPLlUT8XvDKUAdxytkD0q2y8M3EoG9nnAgijkrNTS7jrHPLKgiHbgWKGbucF1sde/cjbwnzPqgmIb68MlWGjbngUqq98loKo6YpFL5k893tNwTsShnSqzl8S4OeblkshpGWB3uGYaBQahBa4ma/CkY1UX7TP9Br/Sf2XLvxjXOIVMgMl4TTMJcdInrkCuItziA9nV7yeiEK+4b7zrBKrFPpgF2wFqi7/J+Ej++1dg5vvolHsCDZ
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(5023799004)(6133799003)(11063799006)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZHRycExNb0lwb0dLaW5EMFQwaDlkSnZCMjMxOEtOQXBSejdubFc4M0hVRFZI?=
 =?utf-8?B?TVVNNm5KOCsvU09JWlhpR0RMZXp4RzNBT0J5NXJRYmk5YVcxektoSndxZ0N3?=
 =?utf-8?B?ODBQeWFVOWl1NDZLZzN6Z3FyWFZMbTlZeWpwNWJSYVNiMm96UENiMUhNT1VR?=
 =?utf-8?B?VTZpWFhub096V1NoVGZsTmlnYXNWU05KY2hkYXZxNFpEQ0paOExRUnorS0da?=
 =?utf-8?B?MVBwOS9GdGlydWhrZXArMjkxZzNvZXhTMVlaZjR6SU1TNmFhQy8rWldQZGVH?=
 =?utf-8?B?RXo0OGpNa1pqV3BUZHZZRG5iNzJid3B3cmRuSFExRzVYNW9EMWdSMjdFcllN?=
 =?utf-8?B?ZmF1V0FuL005UHd0a1U1SVdXcUpGWEduSlFUdUZCZlZuQXJDY2VWeTZmMm04?=
 =?utf-8?B?cWhLeXBvd3E2NG52NVUzQ2lEYlQvWjUvTTVpNjR2VWROdlJzWEc1NTQxUldu?=
 =?utf-8?B?V0dWS0hVQ2h5TWdhMnlXN1l4dzdPL0ZSNUtZVm9vcWZKS2MxMmE2Mld4TmVn?=
 =?utf-8?B?dUlDSnJKVHoyMnQxZTMrVTg4QlZPeXZwNXRoZjFsQXRlNDI5blpvQlBKMUlP?=
 =?utf-8?B?SWV1YVhXVHhJWDFEeVhLMlRzM1laSGd2cU9tMEkrWjJvOVhDcmp2dGJGeEtF?=
 =?utf-8?B?cWI5clI5OHdrQ01PSkV0VzlETWczZms4RWpESzAvR2J1K0pHbHBIK0E2d3Rh?=
 =?utf-8?B?K094YmgzMnBSYjVlNm9hcFFZK2RVZFNhenp6S3hZZnpra05IejN0aUFiU3F2?=
 =?utf-8?B?bmQ0ZVZmNUptQ0VGZENYMUsvaTE2ekU3SmxQT1RoYTlYQUV0ZjIxa1R6V0JH?=
 =?utf-8?B?c2hkUzY5UXNYY2FGTHBQYVdURTZOQm1uUm94UG9WOVlVNkgyRmlGVDJRV2lw?=
 =?utf-8?B?bXA4QTEzakhRangzcms3QlhtSHZLb0ZvZ0tvWHZYVFZRN1U2UDJ0TTZ4NG8y?=
 =?utf-8?B?WXBRZ1BDWGN4eklVNlF3UWhUSnhyY3R2MnEwSldjL1Q2Wi8raFRvWk5WbHBB?=
 =?utf-8?B?V0tkb1ZKbFJZc3pTZDZXSVcwTU5rMDVJaXNEZzJSUzUyZDZmZzZHMndYSlNJ?=
 =?utf-8?B?V0drTmlESStoTUN1ME0yOVNkQVNvUGJocUlPaTNiNnJUREROMFVGaCsxZ3JZ?=
 =?utf-8?B?ZHV6TGVGWUd0Q3NIcmVabEYyamNYWlJjZEdsRTVzMTMrNWVjenE1ZDlxZ1gv?=
 =?utf-8?B?K3ZjQ1J2VUhRRndYbDN2aW4zMjkxRjVYYzVUREFxb01RenkyUzZsVTBNekxT?=
 =?utf-8?B?UVdPU2hhdjRVY3NMYTYwOHlMRlUxVzA4OW5BZGdzMnhSa2NBakY0Z0psN1ZR?=
 =?utf-8?B?UG1OcGMwb1RwRXhYRjd2L1N1YzBWOCtJSG90ME5Nb3Y0ZjI0ajQzMlE4ZVZt?=
 =?utf-8?B?c1U4eXZSMno5Zjc5QmdkbURzVlRiQ1dEaGg5VVFja2JHQTNXeFdQVGpLNmY5?=
 =?utf-8?B?SlhMamF4Q2xZbnFqb1NGS3dtLzJDU0dOWUhEWnlZbC9VaGE3Mis2NG56VDRh?=
 =?utf-8?B?UjMzRFNZandYMTVKRmNoSXNTNFB0b2V3YTY3eXNmWStaeE5qY05wckQzR1FH?=
 =?utf-8?B?WW9LRVFtMG1DQnhZcUFKVkxWMzZRdHZTTDRobEFhbUt5Tk1zR1Q5L3pRUy9Z?=
 =?utf-8?B?N0UzVEladlNHaXFHZnBpYThVa3o0ektLZmxPYVBsK2xVVjdKZlJUOWJxNDh3?=
 =?utf-8?B?ZHo5SitncmZKWHJDamZFK05jTDBrYnMvRDdZakpBNDUwbi9yYW91QXorRTVQ?=
 =?utf-8?B?WkxlOUtORms1a0lqbGFnRERsMDArYklDbS9yMFd4QTVMcXhqQ29XQkE4dzg1?=
 =?utf-8?B?MDdncmQ5ak01Vkhja0VPRjNZVmcxMEh1R1lhVW1hQ2RVRFdBMVVrS1JGdDZ4?=
 =?utf-8?B?dDVQK0c3dXY3cnNGZHp5OFR1MFpCMENSK3g5Y3Y1TjNtbkJvNkxVUHNHaGcx?=
 =?utf-8?B?Y1RmSktCMVlZMGNNZldxUTFqQmFUUlE2aG8xc0VpK0NtRlJaM1VUendzSnlm?=
 =?utf-8?B?UWFVYW9lZDF0TTc2d2hTSUhrdktKdm5KV1lDRm9Gd0RtaDJET3R3cW04bEhW?=
 =?utf-8?B?ZVpPS3JiTGNsRko0ZXhpa0NrQTEzcnFFNURWR2tseUdjNWE3VGY4RlUvYUg1?=
 =?utf-8?B?TFlkeWFqWUpxbUlqOVBPd2NZR000YnMwK0lOL2NaQlVFTGRkd1RlVFRET3dX?=
 =?utf-8?B?TkNyMW9FL044MHBtUGZqU3RZVEorVnAzS3pNTTNGOWd3N2YvQUZPKytZWXZZ?=
 =?utf-8?B?MmpGWkgxbWd5KythaHoyOVVobG01ejZUVTRuNlJwOW5Eb05wNGJHRGg5ZWxQ?=
 =?utf-8?B?Q1R5UTRqY0FrTEpMQ1diYUsxQnNOVm16YXQ4TUFjK21nem1IRTNJUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0328568b-a2c4-4d3d-b643-08debfc15a7e
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2026 09:37:10.3808
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kqNdyUnMpSQR+BbQXNCDTHha7gldgnSLonHQawQ+yTuYEMiJxZZ8gtAgax833ptzw/yL3KZiMEAaF2wjMqvbZA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7683
X-purgate-ID: tlsNG-16d1c6/1780306634-85160D75-7C9D1B47/0/0
X-purgate-type: clean
X-purgate-size: 405

On Wed, May 27, 2026 at 07:45:28PM +0200, Cody Zuschlag wrote:
> Add documentation for the Assisted-by tag to clarify how
> AI-assisted tooling may be disclosed in Xen patches.
> 
> The guidance follows the Linux kernel documentation.
> 
> Assisted-by: ChatGPT:gpt-5.5
> Signed-off-by: Cody Zuschlag <cody.zuschlag@gmail.com>

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

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jun 01 10:58:04 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 10:58:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323793.1589463 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU0LD-000608-48; Mon, 01 Jun 2026 10:57:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323793.1589463; Mon, 01 Jun 2026 10: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 1wU0LD-0005yn-0E; Mon, 01 Jun 2026 10:57:55 +0000
Received: by outflank-mailman (input) for mailman id 1323793;
 Mon, 01 Jun 2026 10:39:59 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <eduardomarinho@em-4.local>) id 1wU03r-0003b1-EO
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 10:39:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU03n-003t1N-4R
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 12:39:55 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <eduardomarinho@em-4.local>)
 id 6a1d6179-e002-0a2a0a5209dd-0a2a45088ece-6
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 12:39:54 +0200
Received: from [179.190.196.82] (helo=EM-4.local)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTP (eXpurgate 4.56.1)
 (envelope-from <eduardomarinho@em-4.local>)
 id 6a1d6179-63b5-0a2a45080019-b3bec452ccc6-1
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 12:39:54 +0200
Received: by EM-4.local (Postfix, from userid 501)
 id 8CBE544A44A5; Mon,  1 Jun 2026 07:39:52 -0300 (-03)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; none
From: Eduardo Marinho <eduardomarinho@pm.me>
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	anthony.perard@vates.tech,
	michal.orzel@amd.com,
	jbeulich@suse.com,
	julien@xen.org,
	roger.pau@citrix.com,
	sstabellini@kernel.org,
	Eduardo Marinho <eduardomarinho@pm.me>
Subject: [PATCH 2/3] docs/admin-guide: drop duplicated word in microcode-loading.rst
Date: Mon,  1 Jun 2026 07:39:04 -0300
Message-ID: <20260601103905.20982-3-eduardomarinho@pm.me>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260601103905.20982-1-eduardomarinho@pm.me>
References: <20260601103905.20982-1-eduardomarinho@pm.me>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c1860d/1780310394-B6169DB1-8A1E5B38/0/0
X-purgate-type: clean
X-purgate-size: 908

Remove the duplicated word "contains" in the microcode loading documentation.

Signed-off-by: Eduardo Marinho <eduardomarinho@pm.me>
---
 docs/admin-guide/microcode-loading.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/admin-guide/microcode-loading.rst b/docs/admin-guide/microcode-loading.rst
index 148bc8559b..cd8ebeb564 100644
--- a/docs/admin-guide/microcode-loading.rst
+++ b/docs/admin-guide/microcode-loading.rst
@@ -97,7 +97,7 @@ appropriate distro package, and add ``ucode=scan`` to Xen's command line.
 
 Xen is compatible with the Linux initrd microcode protocol.  The initrd is
 expected to be generated with an uncompressed CPIO archive at the beginning
-which contains contains one of these two files::
+which contains one of these two files::
 
   kernel/x86/microcode/GenuineIntel.bin
   kernel/x86/microcode/AuthenticAMD.bin
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 10:58:04 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 10:58:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323794.1589475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU0LD-0006AE-Ll; Mon, 01 Jun 2026 10:57:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323794.1589475; Mon, 01 Jun 2026 10: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 1wU0LD-00068e-D7; Mon, 01 Jun 2026 10:57:55 +0000
Received: by outflank-mailman (input) for mailman id 1323794;
 Mon, 01 Jun 2026 10:39:59 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <eduardomarinho@em-4.local>) id 1wU03r-0003ay-EN
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 10:39:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU03n-006ZzF-2T
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 12:39:55 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <eduardomarinho@em-4.local>)
 id 6a1d616b-bab6-0a2a0a5309dd-0a2a450286d8-24
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 12:39:55 +0200
Received: from [179.190.196.82] (helo=EM-4.local)
 by tlsNG-720697.mxtls.expurgate.net with ESMTP (eXpurgate 4.56.1)
 (envelope-from <eduardomarinho@em-4.local>)
 id 6a1d6179-af86-0a2a45020019-b3bec452ccce-1
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 12:39:54 +0200
Received: by EM-4.local (Postfix, from userid 501)
 id 934DC44A44A7; Mon,  1 Jun 2026 07:39:52 -0300 (-03)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; none
From: Eduardo Marinho <eduardomarinho@pm.me>
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	anthony.perard@vates.tech,
	michal.orzel@amd.com,
	jbeulich@suse.com,
	julien@xen.org,
	roger.pau@citrix.com,
	sstabellini@kernel.org,
	Eduardo Marinho <eduardomarinho@pm.me>
Subject: [PATCH 0/3] docs: fix minor typos and duplicated words
Date: Mon,  1 Jun 2026 07:39:02 -0300
Message-ID: <20260601103905.20982-1-eduardomarinho@pm.me>
X-Mailer: git-send-email 2.52.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1780310395-A9573161-090A7898/0/0
X-purgate-type: clean
X-purgate-size: 581

This series corrects a few minor typos and duplicated words found across
the general documentation, the admin guide, and the libxl specifications.

Eduardo Marinho (3):
  docs: fix spelling of 'necessarily' in index.rst
  docs/admin-guide: drop duplicated word in microcode-loading.rst
  docs/specs: drop duplicated word in libxl-migration-stream.pandoc

 docs/admin-guide/microcode-loading.rst   | 2 +-
 docs/index.rst                           | 2 +-
 docs/specs/libxl-migration-stream.pandoc | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 10:58:04 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 10:58:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323791.1589457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU0LC-0005xT-SE; Mon, 01 Jun 2026 10:57:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323791.1589457; Mon, 01 Jun 2026 10:57:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU0LC-0005xM-PQ; Mon, 01 Jun 2026 10:57:54 +0000
Received: by outflank-mailman (input) for mailman id 1323791;
 Mon, 01 Jun 2026 10:39:59 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <eduardomarinho@em-4.local>) id 1wU03r-0003az-Aa
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 10:39:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU03n-00HI7U-2j
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 12:39:55 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <eduardomarinho@em-4.local>)
 id 6a1d616a-5cb7-0a2a0a5109dd-0a2a45038d6e-30
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 12:39:55 +0200
Received: from [179.190.196.82] (helo=EM-4.local)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTP (eXpurgate 4.56.1)
 (envelope-from <eduardomarinho@em-4.local>)
 id 6a1d6179-672d-0a2a45030019-b3bec452ccd0-1
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 12:39:54 +0200
Received: by EM-4.local (Postfix, from userid 501)
 id 929CF44A44A6; Mon,  1 Jun 2026 07:39:52 -0300 (-03)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; none
From: Eduardo Marinho <eduardomarinho@pm.me>
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	anthony.perard@vates.tech,
	michal.orzel@amd.com,
	jbeulich@suse.com,
	julien@xen.org,
	roger.pau@citrix.com,
	sstabellini@kernel.org,
	Eduardo Marinho <eduardomarinho@pm.me>
Subject: [PATCH 1/3] docs: fix spelling of 'necessarily' in index.rst
Date: Mon,  1 Jun 2026 07:39:03 -0300
Message-ID: <20260601103905.20982-2-eduardomarinho@pm.me>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260601103905.20982-1-eduardomarinho@pm.me>
References: <20260601103905.20982-1-eduardomarinho@pm.me>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1780310395-39370938-8C7D40F3/0/0
X-purgate-type: clean
X-purgate-size: 749

Correct a minor typo in the introduction section to improve readability.

Signed-off-by: Eduardo Marinho <eduardomarinho@pm.me>
---
 docs/index.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/index.rst b/docs/index.rst
index bd87d736b9..57da8c2708 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -17,7 +17,7 @@ User documentation
 ------------------
 
 This is documentation for an administrator of a Xen system.  It is intended
-for someone who is not necesserily a developer, has installed Xen from their
+for someone who is not necessarily a developer, has installed Xen from their
 preferred distribution, and is attempting to run virtual machines and
 configure the system.
 
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 10:58:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 10:58:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323792.1589467 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU0LD-00064W-9s; Mon, 01 Jun 2026 10:57:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323792.1589467; Mon, 01 Jun 2026 10: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 1wU0LD-00063D-6H; Mon, 01 Jun 2026 10:57:55 +0000
Received: by outflank-mailman (input) for mailman id 1323792;
 Mon, 01 Jun 2026 10:39:59 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <eduardomarinho@em-4.local>) id 1wU03r-0003b0-EM
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 10:39:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU03n-00Gdik-3B
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 12:39:55 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <eduardomarinho@em-4.local>)
 id 6a1d616a-2eae-0a2a0a5409dd-0a2a45048506-30
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 12:39:55 +0200
Received: from [179.190.196.82] (helo=EM-4.local)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTP (eXpurgate 4.56.1)
 (envelope-from <eduardomarinho@em-4.local>)
 id 6a1d6179-1dec-0a2a45040019-b3bec452cccf-1
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 12:39:54 +0200
Received: by EM-4.local (Postfix, from userid 501)
 id 93DDE44A44A8; Mon,  1 Jun 2026 07:39:52 -0300 (-03)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; none
From: Eduardo Marinho <eduardomarinho@pm.me>
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	anthony.perard@vates.tech,
	michal.orzel@amd.com,
	jbeulich@suse.com,
	julien@xen.org,
	roger.pau@citrix.com,
	sstabellini@kernel.org,
	Eduardo Marinho <eduardomarinho@pm.me>
Subject: [PATCH 3/3] docs/specs: drop duplicated word in libxl-migration-stream.pandoc
Date: Mon,  1 Jun 2026 07:39:05 -0300
Message-ID: <20260601103905.20982-4-eduardomarinho@pm.me>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260601103905.20982-1-eduardomarinho@pm.me>
References: <20260601103905.20982-1-eduardomarinho@pm.me>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ebf023/1780310395-2B5683FF-89A22292/0/0
X-purgate-type: clean
X-purgate-size: 1001

Remove the duplicated word "to" in the libxl migration stream specification.

Signed-off-by: Eduardo Marinho <eduardomarinho@pm.me>
---
 docs/specs/libxl-migration-stream.pandoc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/specs/libxl-migration-stream.pandoc b/docs/specs/libxl-migration-stream.pandoc
index 5ec5dc991b..a1188db732 100644
--- a/docs/specs/libxl-migration-stream.pandoc
+++ b/docs/specs/libxl-migration-stream.pandoc
@@ -218,7 +218,7 @@ tuples.  Each (key, value) tuple is a packed pair of NUL terminated octets,
 conforming to xenstore protocol character encoding (keys strictly as
 alphanumeric ASCII and `-/_@`, values expected to be human-readable ASCII).
 
-Keys shall be relative to to the device models xenstore tree for the new
+Keys shall be relative to the device models xenstore tree for the new
 domain.  At the time of writing, keys are relative to the path
 
 > `/local/domain/$dm_domid/device-model/$domid/`
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 10:59:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 10:59:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323827.1589495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU0N5-0007tj-4V; Mon, 01 Jun 2026 10:59:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323827.1589495; Mon, 01 Jun 2026 10:59:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU0N5-0007tb-0J; Mon, 01 Jun 2026 10:59:51 +0000
Received: by outflank-mailman (input) for mailman id 1323827;
 Mon, 01 Jun 2026 10:59:49 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wU0N3-0007tR-LJ
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 10:59:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU0N3-008Hoq-1q
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 12:59:49 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1d6617-2eae-0a2a0a5409dd-0a2a450bd44e-40
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 12:59:49 +0200
Received: from [40.93.196.16]
 (helo=SA9PR02CU001.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1d6621-212f-0a2a450b0019-285dc4105ee1-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 12:59:46 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DS0PR03MB989311.namprd03.prod.outlook.com (2603:10b6:8:396::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.14; Mon, 1 Jun 2026
 10:59:44 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0071.015; Mon, 1 Jun 2026
 10:59:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=AUp3PdSmXfQtny/g/HaWM5xdqQIE87tbDhl6Xld99UAXk5cKa5LNIINbl1I//RSKDCcaKK41ijZG582OV9klLxvtgwvuaP65wWw1LVGummSPEETR5PDp+18qXidDoEMiDTLuar5y3TGDI+6AVFCRKNZCB/QcANV93pJvk8LXXN9borLjfTafPtKL3ujVMg4daOQhXaGkYru8z123UElI3s6Lj91MLLh+Q3zFdQfE/N4HGKh1wRyOB19u30dby3IyBQs3RoH18kdE9tfUbEBqzP+JvYsvfVVuZCBiW7fnux2p9IAnXF9IxdXNA9ZsJXDma2xOgk8soufy74w1QFSVTg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+tv+mQOrLZIObajfffP+O2abT3gcfd8oQuugRsFHhw8=;
 b=drmrcHNmjW5BDCwbSGpD4i9DrIf/lnqKOQl+8UqwsWtv5/3Y94HTVsjY7F+e2ybB5BGhwAqNZsntBRWXzFcDqNWX4pPL6so9oxcXe0JKvW0u7P5ujw1MTkIC87ID/iqk5HI3gG+xF5tE5OiF72k7QT22oscpyzu5LaI65U/1JW5hJuQv31LesWqp3vhAyzikleG1j/oF6AoSnokGs+VaABHMMWOI5ieQ35yUoEOMKrwOEd98yWJnX10HUDX6+tq0wU6aaHmx4EU079YrU9i0qEziaMli2YJabPHTMNRRxyAxN/yE9lRR2S2G7krdG+GOOsWrXpwKvmXAMyQz/aX6fQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+tv+mQOrLZIObajfffP+O2abT3gcfd8oQuugRsFHhw8=;
 b=Js2yATJkJgSUUqCid/+PjtJh16foF7NpkOwH5B3yDrcP4m4+CXR8niZJ56Cm1rpYFZYSez6HVPWUwn0eV5gZN5e0iOSp1H03rgCQggxnOXqNL2ELtkNWG/H/smNEBA6nGwh/l7oDRBGwphT2bU0IMgfw1gevY6YHaKhcBPwEsdE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <9aaf1e53-c671-464e-a1f4-c5883b3c7620@citrix.com>
Date: Mon, 1 Jun 2026 11:59:39 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, anthony.perard@vates.tech,
 michal.orzel@amd.com, jbeulich@suse.com, julien@xen.org,
 roger.pau@citrix.com, sstabellini@kernel.org
Subject: Re: [PATCH 0/3] docs: fix minor typos and duplicated words
To: Eduardo Marinho <eduardomarinho@pm.me>, xen-devel@lists.xenproject.org
References: <20260601103905.20982-1-eduardomarinho@pm.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: <20260601103905.20982-1-eduardomarinho@pm.me>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PA7P264CA0518.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:3db::15) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DS0PR03MB989311:EE_
X-MS-Office365-Filtering-Correlation-Id: 00ca3a33-80e9-4f49-12d4-08debfcce308
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|366016|56012099006|11063799006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	0Npo39Ofu6EfcgzqFZ7kiejDV/vj+bsjw8PTqhlRDAVvyZBBwVq9C9nurLM/RSb7OJ7WJPvZJRQkexcMhaG+WZIDKJS+mCXiZYbBMBOXIpjegE4UmiACqvCPz/FnsV7Cl7yOsLlT3LbF31oJRIQKXfXWEIduGz2vca4bGTyAvIdKr7lyyUYL18epEnbeoHMd0MYGOFVEh90XqdI6jEyzHuxQibSpQ0a5jxF6cLwS6RLt7/ErQBecLMm2S/Gtr5Z653oXKR3XP1aQM7bsgAJuTsXVJiYjsf9hA5OKmKSPeRl5l24neuTbEam71uWfLgEE5eArl4oB94wndIMf6zan+Pg8bYLgqPSZp266WrEtS4jIcoE8PJcTtX2c9YQikWKkAhda68MbHavQLMhLIRiWay9/byiqPJ9YFjdshIuBGzKXMIeQDKohYQ26nvRmHZOdwnDBJrShxGB7WVXnOdl8HSjTAyKmeNgZxXC3lspmhGKXT+XD+qgfBWqLCI9R8jp8SBk2KReV01nEzvT5Y8rCDMJQzU+K95i2nDSUwC3pewXGcxvc6iiy8l5r2BTfo4fTsf6YVLzS3sLygv+1gpebKLW2viwSqWmHir2KV77w8XefSZCG9doveNQ8VkPIIGfXFz17zvJW4DihHQ9NgimBejXd4b8s2qXuNc8rVFZ2GhvVRuC8OjnQ/wDxrxoG5CTb
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(56012099006)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z05KSFNyTmpVMGN3dFdpY3hCSmdEVEd1cWpsdGtCMzR1THdmeGcyVVBLSVps?=
 =?utf-8?B?dTVIbk1XRTllY2d4N0lZNmZJSzgrVFFpL09lQzJtc2Z3ZHovSmphQ3EvalJ0?=
 =?utf-8?B?bnRYWFpKcUQrcFNNUC9lN1k3aTZmcUdxSFg4N0hXMlVFaWQ0RVBXZkJlYkRl?=
 =?utf-8?B?Q3REY01mdDh6d2owKzVmY1hRZWJuL28rRzAxZzNsTHo4OGtLNHdFT1VmaG5p?=
 =?utf-8?B?Unk4ZjlEa3hTNG9QUVF1bEJucENwcUJUbTEwUjNQb0JabEVOTTNPVklOMHpR?=
 =?utf-8?B?U3hYZWZBeHlCZmlGckZTU3BBdWFtbTVML0NIdVJNMmQveW5tK1phRUlMTVZC?=
 =?utf-8?B?ekZ2TE1HT0tYV1dYY24rcms1N3BwbTQweGU3aUVSbXBlVXd0WHFPNVdJN1Ix?=
 =?utf-8?B?a1lHeE5rL0IyNDl3T1lWVWtrdzJXRllUblNlcjVrc3hYSmlWOEI3UDZMUHNB?=
 =?utf-8?B?NmJNbTdhL0JaQ3dtdmRzcHpLZGVmTG5zZ1VuY0dWOStKYkNqTlVhWTlZdDha?=
 =?utf-8?B?aFAralVOb1pLUmw3TEYxZy9MS1oyTlpVYmtyVWluUkhFVENsK1F4Nm9GbnFF?=
 =?utf-8?B?NDVLOFVYOWpKZ2hTNXB1bWxVTHF3Qk9XWjJTVG5PMVhONE5TaGR6MjYvditI?=
 =?utf-8?B?SWM2Q1dBQThaVUdvMGRWczhiWXJDUkxCUVliTU9hcjFnVVNFNnlrb3dwT2dX?=
 =?utf-8?B?aWYxbUJPd2hGdFlZRFJpQ1plK1VNUjBmUkxCbnQrdDREbW5pV1UvKzFrcFQ0?=
 =?utf-8?B?T1VTV1lSUERRSnd3MHZIVFpYQjJ3RDZqanZscUIzM0hkNG96Tjgyc0xneVhw?=
 =?utf-8?B?aXc5aklKRllYOER6UVVRbDIxTCtvWjYzbFVhTzg1RUZ4a3JpSFdERFArb254?=
 =?utf-8?B?a1NhUUVRV3lNc2hKa2Z0aGg2UGRwdytvZUdVODVFcHozbnJJaUIrRWRBR3p5?=
 =?utf-8?B?eWpRb09KVzM1anIwTEVpVzlGMVRFWHRvR0MzWkpnSXNJVXgwdlQwcCtrSzg2?=
 =?utf-8?B?dVA1SzdBN3dPd0ZYaUVFZmxTWFpqUjdLZmZaZlRObk9qZVpML3g3UGhBMHA3?=
 =?utf-8?B?NnV5dHVRd3dRNTJNcFl6eFBBY1FtdlEzMWQxZUQ5eW9JUFlkU2RnR3paeGtF?=
 =?utf-8?B?THZoaHJsbUNpRTFsMmowME8yU3BSNmF5aEdYM1lVK21CNXRKKzZVSkV4aWR2?=
 =?utf-8?B?WXltU21mc2IrNno0bGlUNzZjRzFoVmNlNFZvLzQ3dUtSVWhDRVdad0hNbVY2?=
 =?utf-8?B?b2IxVkZDU0JNU2NmR28vY2JDSndDbVNveXAxTUcxQ0NobEpBSzdjU1VkTDRs?=
 =?utf-8?B?a012bWRPbHhacjg5TnFuVVBZbHVHVndTcWJ1STFXTmNQRE5aWGVTRUF1bWRI?=
 =?utf-8?B?UU5yNzkvTzZzM0Z0TWppcG8xaEhyNCs5VHZBVE5vU1lqbkQrWVBpaXhpc2dv?=
 =?utf-8?B?U09laHBIMVBJOEtvM0lkYnIvTGdYbGl2bXNvMTFBSjFURWRLVm5sWHhDTWQ5?=
 =?utf-8?B?N1YycFF3WWliMStCMUtIL001bFdpZ2pOTHhJN1M3bEhOQUFLM3JTV0VLSkIz?=
 =?utf-8?B?Z3pLU21ETG1zR0ltNEtFYUF4eXdOVHNTYXJHck9penBzMDgxQlBnUlA2Ti96?=
 =?utf-8?B?WjJKbFN1bU9EQllkN05nRzJIN2xFR0dqbzFpME95UnA1Vk5McHNtRm9YVW5r?=
 =?utf-8?B?cGFFRFRuUXl0ZUo0UlBlb01RYmNzNmxRSExqTkM4dW1LakhXbTBXSTZmejNn?=
 =?utf-8?B?RWt4eTZNUk5pZ043OWhTck11bXVCYTJUZlhQSDNyeS9NblgvaE5WRTUvTG4v?=
 =?utf-8?B?NVFuTDFSSUxqNFMxcTM1Z3NlQkU4bjArTXM0NWlwYUxoTjBrZUZmYWlTUnQw?=
 =?utf-8?B?T2xVeTcwQWV6VVlwVnNBRnlrdDZuZ3g5UjVVc0FQMHJFcVU4dXJZK3hNQmV6?=
 =?utf-8?B?MEhmTXVVRDI4RnBXUERLWGViRVRsb0NIV3pXdzlvSlgwcmUyL2dzRGc5TEFN?=
 =?utf-8?B?RVlKM0RUdUxEMHd0R1l2dkg2ZnJvcWV3aTdrNGdTd3JYYWYyVStaUVR6eHFC?=
 =?utf-8?B?bS9BZVRzOXVMVXZGMVpKeWtaWCtjZlpGaFliY04yUHR5NjNLbURabzdXNXE2?=
 =?utf-8?B?Y2Q3dGh3amRhUGkrbXVJU05iWmZzTEZkWEVjN0NsamdGc3pwcjJXR3N6Z01o?=
 =?utf-8?B?SVdCWVJ3R2JFU1o1aVFVdEFOUVRoV3JjdHJxcDFJMnlIN21YdW10UnZFVHZ0?=
 =?utf-8?B?QjZkSlFiM1dkT1lWdnNHd3hIcXZ2Z044TWs5WVhuWmVNSUkzZU1KNm9ZY2Fw?=
 =?utf-8?B?c3ZhZVRSOFNSYTloYStTM0NINnRacS8xdm9NMzlxOEkzZkV0TExHVWV3bXg3?=
 =?utf-8?Q?UhROuid269aSv7cI=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 00ca3a33-80e9-4f49-12d4-08debfcce308
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2026 10:59:43.7399
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RmMBjPB8/ThJQD7VtB/g3BV/ldanR0vnHScVVMDX5lhMn9BwwQ6vNqKLilwfOwoovQaXPWu8yIqIsLD9AuC1PM2ivTjKNseMnyo8J9ubIIg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR03MB989311
X-purgate-ID: tlsNG-42698a/1780311587-1A971F3B-FDA31396/0/0
X-purgate-type: clean
X-purgate-size: 689

On 01/06/2026 11:39 am, Eduardo Marinho wrote:
> This series corrects a few minor typos and duplicated words found across
> the general documentation, the admin guide, and the libxl specifications.
>
> Eduardo Marinho (3):
>   docs: fix spelling of 'necessarily' in index.rst
>   docs/admin-guide: drop duplicated word in microcode-loading.rst
>   docs/specs: drop duplicated word in libxl-migration-stream.pandoc
>
>  docs/admin-guide/microcode-loading.rst   | 2 +-
>  docs/index.rst                           | 2 +-
>  docs/specs/libxl-migration-stream.pandoc | 2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)

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


From xen-devel-bounces@lists.xenproject.org Mon Jun 01 11:12:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 11:12:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323840.1589504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU0ZS-0002Je-6a; Mon, 01 Jun 2026 11:12:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323840.1589504; Mon, 01 Jun 2026 11: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 1wU0ZS-0002JX-1y; Mon, 01 Jun 2026 11:12:38 +0000
Received: by outflank-mailman (input) for mailman id 1323840;
 Mon, 01 Jun 2026 11:12:36 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wU0ZQ-0002JR-AB
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 11:12:36 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU0ZP-006gvf-9O
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 13:12:35 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1d691b-5cb7-0a2a0a5109dd-0a2a4507da9a-24
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 13:12:35 +0200
Received: from [40.107.209.13]
 (helo=PH8PR06CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1d6921-229c-0a2a45070019-286bd10d980b-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 13:12:34 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DSWPR03MB989166.namprd03.prod.outlook.com (2603:10b6:8:361::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.15; Mon, 1 Jun 2026
 11:12:28 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0071.015; Mon, 1 Jun 2026
 11: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=L7a3i6KVQOF4kzrxRPxalGPeDOgNuNVIusN89scUt1rAKnatysfCPrbTZoA7BBIIPO1zGOssqgVBmssTmJtL5EZ5jrRZ6Gl83UMWKrSqcfeAiQ5P+gJDKmXBKZV39PkddzsbsP6H0beTiKzPsh4yupTSVIlvNUgGcdw4SJhsieNhpkxdrX8DFUzssvWeNsmcY6zVCvZTNRE0sKPiEERPBOUE5pwrYxMbFdsJdzOy0jkkmd3/zyBy0aqmVf6uGIwaYc9cbRkYb2nVfo+wj0DN0y0ipPq1byMzU1oHUKizs7s5KLmgLPFxTt+knoqRLSnmrs2A+OYUo/6QUHD3OW0cwQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dlSAjt+cn+N8AfCcHlK8pSsQnZoF5lloqNUDwk+Y56k=;
 b=sOKhFNxs5+t2NIlPM+D/ESzrwsN7BWYSN1uCsr5rK3RO6X+VfwQooVsZhIQul9FqT5yFngWiP6E3WbSr3+5LzsRcATiSqPqBMmjdIJQBDx6r68aMia4AEJL57aqxr09iAmBAJPsaRnIDrrUHezhvxgtcxH7f1QEpEa3l2QpGIbA9lqz46bFQk8A4XEnIu7y++wFHIhtYgVkNaLLMla2n1LpmUOh18tMtXFp1weuGH4tKIg/a969I6Q1ATgu4Bz1SLY79DT854sM+Hjkri8oCfuIGFcCMcLWXtngSIOPlDNLur5xlW5nVPWz8m4SW4ZS5ikUnLf/kV6Swp4llsifDnQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dlSAjt+cn+N8AfCcHlK8pSsQnZoF5lloqNUDwk+Y56k=;
 b=NXzNYvxH0H0otwejaQW6r0sXx2djZtW1Ab6RdugMDOB+UM1EsA+tIqVnkWSd5GtDGCyTUM4I39FM9tpSLBZoBkb70YWxpMgFuuaA/jGFubc8PKUwIrI/CsOtDd6WHoPKDeXlPd0mg5Cm6zbbluS/y1OHrUGxp6E6nJMsCbB1FkQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <0c7048d3-7283-46a9-ba2d-2b02cb5c3da8@citrix.com>
Date: Mon, 1 Jun 2026 12:12:25 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, roger.pau@citrix.com,
 jgross@suse.com, dfaggioli@suse.com, gwd@xenproject.org,
 stewart.hildebrand@amd.com, jbeulich@suse.com
Subject: Re: [PATCH] xen/sched: fix stale schedule.c references in comments
To: Furkan Caliskan <frn1furkan10@gmail.com>, xen-devel@lists.xenproject.org
References: <20260601053022.6044-1-frn1furkan10@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: <20260601053022.6044-1-frn1furkan10@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0246.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a7::17) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DSWPR03MB989166:EE_
X-MS-Office365-Filtering-Correlation-Id: 924d1fca-87b4-4d7a-cba0-08debfceab1f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|18002099003|22082099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	j5oxyodyLOTkT00swRNUFBPPNht9rWUTpaPvKsPauFeMUGFXsrf+IFLDeFFqzlC/gkqte+ln4EBFoIrBKz7WXPR/GwiDueGC5fXpRgZPUQBmDFyvsLcm9U7prsrX0ndaF6wxezDsElP0AGhHs/xE0vbipE/kMLi1/3Yd5e7lRvzgPC1gOuj/+Ec6aVCsvKcBjdXcflC5YV78HNuv0zxIP3n9sDp17BaikFmABOfWBV1lZ0v76eWVNa8KOYMIBR3AZNixjkh1lcU4UrmOA2wWRVrZFCdcIB0ESsQh73Kkb10NXRml+2+lkmM2kvV/OU37b3CcOoOgSGsTQS9WCs330rm1yuOJEcfq9mg0yHeUF4HDiKHeptHWFwDwjzrx7L0Ulx+S3uEa5HzVwZTyiNIHExydyaOKQLayvXAeey763hsGq8PYbY2k2Noz/N07bKyB7MtzMHQ8op0flJR8X22R0+f/QuGhJHbHK/szW2FQBeh4D3rCCSng7v8Ht8zgxmV/6xtfcfEzzTLlJqBHzNnehPeQkzyYGbv8pFmFoo+K9S8AW03duXqQltOqqvVdFcDj5krqZ4rKYLYmFvM5KLuFF/g2cmcPLeCjYPRdXQWYAtmWzVADSqcu/07ge6ksiNl5TiTlDtIv5rmlNAZmPvUr604CnNkml+lB9HaOi4X9Ilj2s9xEbC30E/wdCRQqoMk3
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(18002099003)(22082099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YVVtZG5oOUp1Z3BzM2FjR0I0QjFXSjRKRDdzT2IxQm5IdmFGcVViK2ZSdThk?=
 =?utf-8?B?YlRjU2JDRFdMY1pPTkVEUWNvNVJZSDFZd1d0eUhhYmRjV0JkRFBGUjVwWXVM?=
 =?utf-8?B?NzhSUEFXRi9NVk9BaFpvR1VsRjBleDNmK1YwdytzUk1zbW5STVBueDJqSjh5?=
 =?utf-8?B?YzR4WXRaTVpGWGgvZDRYVndJZURzTjNsa2swbmZTS1QwcjBzYjIzVlFwZnRs?=
 =?utf-8?B?T2xTLzAwR3dFN3ZpekRqMmJmL1pxSWw2TmcrcTQxdzB4MnlPSGVlVHJ6Q2dn?=
 =?utf-8?B?amVxYkE3S2pmL3ptZDlVVlVVQ1U1UVdtWm00YXEwZ0djaXlIWlNZeU1YaGFK?=
 =?utf-8?B?SjVPbjZpZHlHb0RzNXg4SHZzN2FvUWdyV3lEeG5hOVBEeGVxcU0zb2xsQ0Q3?=
 =?utf-8?B?YmhNM1pmcTI4d1dsS1pWcGRiUmhlSWNydnVqQ0hSWmg3d3JIQzZXTGpOMDQ5?=
 =?utf-8?B?K0VZbWxLbU1OQyt5SE9XcDZzZjdVWXBrOWFoZC9ZUzBlbGZTaUhwamNyVGFG?=
 =?utf-8?B?Qy9nV0pwbDdjNy9OUUxkOFBHd0ZiVUxkSTBzTHFSbDhxakZZSlkwTFhxM0Rv?=
 =?utf-8?B?K05BaEwweldZei82VUhtRkxZQTBDY3B0L0swQWRlbE5KUVljQmhnZ2V4My9J?=
 =?utf-8?B?OWRJNkdYWHlrQnNKSWU5RWllWElIWWFBT2VqNkF0OEVNYm80SmpQTVF4U3pN?=
 =?utf-8?B?dU84MWtKR2c4Y1FyL3lqQzNocHJVTkpIQjBoVDM0d2kxeU1tSWVuTm1jUUMz?=
 =?utf-8?B?NlFya2ExQUt1YWNIdjRPRWg4eWRadWh1TWFLMFVnVTJ3WmVJRllsUzdZUlNF?=
 =?utf-8?B?ems1MlAyUkdnZkVrOG9QNE8zbG4wSGt5QnBCbFVvK1cvb1hHQkhOZFpTTFAv?=
 =?utf-8?B?U1cxbDNzQ1BGUU5VS29xb3VMVXp6NldjVXlha2Vrdm5ZZGUyaHErVUxodFBt?=
 =?utf-8?B?S1lxc2Mzbmppb2llVDFKU0VYdEc1emx0WHFjcUJOMVJBd0ZiMEJiK0lsQUpS?=
 =?utf-8?B?MHFXUFlzSVJFV01tWXdRa3JqRk5tVVlGTGZnbVFnS1BwbHlRZ29iUjlFK0xi?=
 =?utf-8?B?cmhsSzEwcGd2M3JrajFCYWhQS0RDVzhvWnZrbGFjZExOTkdNVEFuMCtLVEtQ?=
 =?utf-8?B?RkQwZHpDNW9nSisyYklDcERvaS8xdHNydXdrRGwwbkxKRDJPc0xMdmpsU1lt?=
 =?utf-8?B?dDR1Yy8yM2c2SjgyUU1tNUk0M1FsNElrT1JWK200bm5nNWIxVFNDOGZTbG5K?=
 =?utf-8?B?WENyN1BsZzVVVzAwV0drb3dZRnhodUYxL1dJMFYyQVRHcEpkU2xJWEtnbEtq?=
 =?utf-8?B?TlphSGVFRm1QTDJXL2hjYUlCUjM0VXNSdnNIVjM5cmdZUkVDZGpaRUQ3VGdU?=
 =?utf-8?B?VUJLMUhuM0cvcFE1NU10NXhvbnBRcWwwRGl1OWFELzhpbm1WTlNFalN2RXF4?=
 =?utf-8?B?MTQ2UW5nOGdNOEdtOTlhcmNiNWwvbjNNeHRpbk9OZitEeFUvSG5qUjFzQlhR?=
 =?utf-8?B?NVdhcXhkQ2FLOEFZb3NjVG9BYmRUSlgvRVF1NE91QXk1YjA2d2VyUzhjS0NE?=
 =?utf-8?B?d3dES1pqTFJNdXdBdUdFcVlXQWNuK1hDNHRpMWJWSTJQY3BHdjdlSXorenFS?=
 =?utf-8?B?R1QvOFAxcjhtUGY2Z0VlM1Nxc3pUbnhTS1ovNE11Qlpyeldob2NvRTFTSFk5?=
 =?utf-8?B?RjhEU1B3SEdvVFJvK1ZaZzl1RW1YTkR3OUNYeVptNVBEVmxsSlBmTmJ1TkI5?=
 =?utf-8?B?UzllVmJLK0lHblFiRzBQYmdPZVVnNW9Jd1UxYUU0MkVHNWEyTDk1NnFTaEY4?=
 =?utf-8?B?NVFKcWhOT3k0LytGMmFZMTY3eUk1ZFEyR2lPT3k1SFU5bExEbnozeFpQUVpp?=
 =?utf-8?B?cGlqR3VPYkp0SkV2SmNPOTJqUGl0ckNHZnhWaENRSFJIZGJSL01KbmY5b0pR?=
 =?utf-8?B?VDFVSjNVcUNrN3lkcEN2L2h0Vlpha29FcmVYMUVHQkw0WURldTVtR3BsVXd1?=
 =?utf-8?B?Z0llV1R3UmFjbE4xeHprS0N3amg1dUdwYy9lWWhVbENlcG40S1YrM2J3dFY4?=
 =?utf-8?B?S2VhK2xLZXh6SmJ3bDlweWhuTUNRczlSTVNudUJXL2d4VDJlOG4veUM0elEz?=
 =?utf-8?B?MGthd1A3VkNWVGcxVFIxbUxhbWkrS0xkNUdDdzh3YU5DeTlIY1lDQnJCUHNO?=
 =?utf-8?B?OVVXQzRUa0d4M3F3SjNNeXZ5NnA4a2l1RmhxUkdJOHduOWRrVE0yYzF5NVRl?=
 =?utf-8?B?Z3l0MUxvNTdCcEFhQjh5SS9Mb2tKaGgrUUxUZWNQL2p6eHFRQStuNnRpbHQx?=
 =?utf-8?B?eDFsT1pOcC9HcDh5ZzhPODdaTUxHeW5HNjJzc1h0NjFVU0FOWG45ZEg0Vm1t?=
 =?utf-8?Q?AgoVjgRcLFyKJ3iw=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 924d1fca-87b4-4d7a-cba0-08debfceab1f
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2026 11:12:28.9100
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: g/v7H3N71yuH34PVAGPHlrsF9jXElxUlAMcLwpr33ECgBNSNgWQwAdJAjwWEM6wiKba/yWRq1gFfyTak6XkO/y10hGrgxUL6ZRxvVawlVbk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DSWPR03MB989166
X-purgate-ID: tlsNG-ef75cf/1780312354-0A971C48-F3FA3736/0/0
X-purgate-type: clean
X-purgate-size: 1979

On 01/06/2026 6:30 am, Furkan Caliskan wrote:
> diff --git a/xen/common/sched/credit.c b/xen/common/sched/credit.c
> index 07656a57e9..fbcdc53f7b 100644
> --- a/xen/common/sched/credit.c
> +++ b/xen/common/sched/credit.c
> @@ -873,7 +873,7 @@ csched_res_pick(const struct scheduler *ops, const struct sched_unit *unit)
>      struct csched_unit *svc = CSCHED_UNIT(unit);
>  
>      /*
> -     * We have been called by vcpu_migrate() (in schedule.c), as part
> +     * We have been called by vcpu_migrate() (in core.c), as part

As you've found, file references get stale, but so do function
references.Â  vcpu_migrate() ceased existing in 9a36de177c1
"xen/schedule: Fix races in vcpu migration" in 2018.

These comments want adjusting rather more.Â  In this case:

diff --git a/xen/common/sched/credit.c b/xen/common/sched/credit.c
index 07656a57e979..5ee26cde58f6 100644
--- a/xen/common/sched/credit.c
+++ b/xen/common/sched/credit.c
@@ -873,11 +873,12 @@ csched_res_pick(const struct scheduler *ops, const
struct sched_unit *unit)
Â  Â  Â struct csched_unit *svc = CSCHED_UNIT(unit);
Â 
Â  Â  Â /*
-Â  Â  Â * We have been called by vcpu_migrate() (in schedule.c), as part
-Â  Â  Â * of the process of seeing if vc can be migrated to another pcpu.
+Â  Â  Â * We have been called, as part of the process of seeing if vc can be
+Â  Â  Â * migrated to another pcpu.
+Â  Â  Â *
Â  Â  Â  * We make a note about this in svc->flags so that later, in
-Â  Â  Â * csched_unit_wake() (still called from vcpu_migrate()) we won't
-Â  Â  Â * get boosted, which we don't deserve as we are "only" migrating.
+Â  Â  Â * csched_unit_wake() we won't get boosted, which we don't deserve
as we
+Â  Â  Â * are "only" migrating.
Â  Â  Â  */
Â  Â  Â set_bit(CSCHED_FLAG_UNIT_MIGRATING, &svc->flags);
Â  Â  Â return get_sched_res(_csched_cpu_pick(ops, unit, true));


still has all the salient information but is rather less likely to get
stale.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jun 01 11:24:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 11:24:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323849.1589512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU0ke-00046M-4d; Mon, 01 Jun 2026 11:24:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323849.1589512; Mon, 01 Jun 2026 11:24: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 1wU0ke-00046F-1I; Mon, 01 Jun 2026 11:24:12 +0000
Received: by outflank-mailman (input) for mailman id 1323849;
 Mon, 01 Jun 2026 11:24:10 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <frn1furkan10@gmail.com>) id 1wU0kc-00045t-Bl
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 11:24:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU0kb-0043Im-7N
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 13:24:09 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <frn1furkan10@gmail.com>)
 id 6a1d6bc5-bab6-0a2a0a5309dd-0a2a4505ba46-34
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 13:24:09 +0200
Received: from [209.85.221.43] (helo=mail-wr1-f43.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <frn1furkan10@gmail.com>)
 id 6a1d6bd8-aaa8-0a2a45050019-d155dd2bb1a1-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 13:24:09 +0200
Received: by mail-wr1-f43.google.com with SMTP id
 ffacd0b85a97d-45eedc94d37so1859298f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 04:24:09 -0700 (PDT)
Received: from [192.168.1.109] ([85.107.102.236])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-45ef3595ef4sm23594409f8f.37.2026.06.01.04.24.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 01 Jun 2026 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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780313048; x=1780917848; 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=GZQdLkQ9d5yNZqdy8Xs0T2RQXySCYnGIpDCpih2B3jM=;
        b=ZB6/zS3eUQxTrXs9rOrSnLUhxIayo4EjeVOj8tI3HZ8ftpW/fLx55P06eqlWvSQzTP
         3D9hBMxltJcCxCyt4MNJDiAuXD/TL6+hTP9lTIjVxRQFBcX2Et56paGhBbpqnmLFl05f
         z0NpxZYaR0HwtXZHV4XAD3xt7OSzyt+zIzCcHB4HKjmPONuLSX+wGICHtyaJKds+yI5s
         wkHdj4x0Olr9d+eUwTIGwTWJlRkhbiWo0v3LMn7s/UMREn5SFHRm5/YVkER4sWCWIUQm
         f2Use8VTNY0RMypV8vBvXxXhHsyqbFe1Wdhw8cIdtMIzc5kCKrMk5aabeUnSgOs/WRal
         irnw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780313048; x=1780917848;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=GZQdLkQ9d5yNZqdy8Xs0T2RQXySCYnGIpDCpih2B3jM=;
        b=s/QeGrXG4ZE2gUFGVloshqHf0Is1atnZYldNWeFJRzPX6Nio42znnFCOPFz75GP7zB
         aFQPu+LwvPbtDCEgbZjsbceqo0KYEQKETmfkb4gp46meYEBBV/CSCPBrc3GQw4xlp/1c
         wacHU7G+YLa3YwDetDkjcg6aKZOcivZAMpad+MFyfDYjlC10mllE9NN9Y5IWLsuHFqhl
         h9qjvUubL8mP7CUdsWGJwxgkovC7Mo7bhO3m4ESYuBzAN7nbWZAf9XpMJQULoUMMBo4D
         LcFWEHxhoQ/BGIDE5POcuaCr9FtSEO0yfdiuE2yZX4O0lQFJ0NVglv/PCLLGrhU0wzrA
         SLgw==
X-Forwarded-Encrypted: i=1; AFNElJ8cuzU707H1tw9jBXcoP+pr8OoKygegIWJIW228+8CF/kifk9goos7gD+vX6rH2oBtQX1QthNFWMWI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxRpV9awoim+CxINOGLPBmP4cSESg8eoq+BSItXdIKC0XRmuAhO
	0eLtd7lly3fJp0WffuB4RC1Gev0MTWXPWOEDjIxLEY6Wd/GxwDFLI3aq
X-Gm-Gg: Acq92OHlleUPVaF02FDAAtAoOyK+ibl8w7s0PAD6mF3QHyBUba7k80e7PZllCV4UjMe
	21xANa6sN6oKa+9Wg5Kava7pkyrFur7DY/syEn6FiSDrHZk1GUONzYC3maXzqGGiccOeBYrRFN8
	FjfetMnCtgq3KbvJtRAkeOacuJWiZ1UuR0eONt8IJdom0qjcNDIs7QMbDrrAy+FKBKoXVDiZJpp
	v1ss3hjWide53fIefjVoxCV210hIETmyulP9ZhrQ9IZrmNbO5CXS2x78MsCGdoD1aeRer+JRxsG
	KnTdlxmwp+7jiX0RJpfLrzttdsg6a1jzDn3ps6OYJYsdi3oKMNEc1sC016GZZKOqaXprZ3o9g+c
	BmFJpbvhuMv3vX7oMplEW5lj35FNicxw3LwdfvxFFMHTWGct3bZC9yBS4RBU037ZEVl0hFC8a/f
	3ODv65C6quVJ9th5zD83sFidpeq925WcqhN9zcOj+nPw==
X-Received: by 2002:a05:6000:4610:b0:45e:779a:302c with SMTP id ffacd0b85a97d-45ef6b67b17mr20259845f8f.29.1780313048231;
        Mon, 01 Jun 2026 04:24:08 -0700 (PDT)
Message-ID: <d8e23bcc-8271-4e91-a6df-081a7c69889f@gmail.com>
Date: Mon, 1 Jun 2026 14:24:04 +0300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/sched: fix stale schedule.c references in comments
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: roger.pau@citrix.com, jgross@suse.com, dfaggioli@suse.com,
 gwd@xenproject.org, stewart.hildebrand@amd.com, jbeulich@suse.com
References: <20260601053022.6044-1-frn1furkan10@gmail.com>
 <0c7048d3-7283-46a9-ba2d-2b02cb5c3da8@citrix.com>
Content-Language: en-US
From: =?UTF-8?B?RnVya2FuIMOHYWzEscWfa2Fu?= <frn1furkan10@gmail.com>
In-Reply-To: <0c7048d3-7283-46a9-ba2d-2b02cb5c3da8@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1780313049-DA76A443-E247DEA7/0/0
X-purgate-type: clean
X-purgate-size: 2256


On 6/1/26 14:12, Andrew Cooper wrote:
> On 01/06/2026 6:30 am, Furkan Caliskan wrote:
>> diff --git a/xen/common/sched/credit.c b/xen/common/sched/credit.c
>> index 07656a57e9..fbcdc53f7b 100644
>> --- a/xen/common/sched/credit.c
>> +++ b/xen/common/sched/credit.c
>> @@ -873,7 +873,7 @@ csched_res_pick(const struct scheduler *ops, const struct sched_unit *unit)
>>      struct csched_unit *svc = CSCHED_UNIT(unit);
>>  
>>      /*
>> -     * We have been called by vcpu_migrate() (in schedule.c), as part
>> +     * We have been called by vcpu_migrate() (in core.c), as part
> 
> As you've found, file references get stale, but so do function
> references.Â  vcpu_migrate() ceased existing in 9a36de177c1
> "xen/schedule: Fix races in vcpu migration" in 2018.
> 
> These comments want adjusting rather more.Â  In this case:
> 
> diff --git a/xen/common/sched/credit.c b/xen/common/sched/credit.c
> index 07656a57e979..5ee26cde58f6 100644
> --- a/xen/common/sched/credit.c
> +++ b/xen/common/sched/credit.c
> @@ -873,11 +873,12 @@ csched_res_pick(const struct scheduler *ops, const
> struct sched_unit *unit)
> Â  Â  Â struct csched_unit *svc = CSCHED_UNIT(unit);
> Â 
> Â  Â  Â /*
> -Â  Â  Â * We have been called by vcpu_migrate() (in schedule.c), as part
> -Â  Â  Â * of the process of seeing if vc can be migrated to another pcpu.
> +Â  Â  Â * We have been called, as part of the process of seeing if vc can be
> +Â  Â  Â * migrated to another pcpu.
> +Â  Â  Â *
> Â  Â  Â  * We make a note about this in svc->flags so that later, in
> -Â  Â  Â * csched_unit_wake() (still called from vcpu_migrate()) we won't
> -Â  Â  Â * get boosted, which we don't deserve as we are "only" migrating.
> +Â  Â  Â * csched_unit_wake() we won't get boosted, which we don't deserve
> as we
> +Â  Â  Â * are "only" migrating.
> Â  Â  Â  */
> Â  Â  Â set_bit(CSCHED_FLAG_UNIT_MIGRATING, &svc->flags);
> Â  Â  Â return get_sched_res(_csched_cpu_pick(ops, unit, true));
> 
> 
> still has all the salient information but is rather less likely to get
> stale.
> 
> ~Andrew

Thanks for the feedback Andrew. I only checked for stale file references 
and missed the stale function references. I will fix it, and send a v2.



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 12:27:19 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 12:27:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323864.1589533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU1jU-0003os-OW; Mon, 01 Jun 2026 12:27:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323864.1589533; Mon, 01 Jun 2026 12:27: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 1wU1jU-0003ol-Kz; Mon, 01 Jun 2026 12:27:04 +0000
Received: by outflank-mailman (input) for mailman id 1323864;
 Mon, 01 Jun 2026 12:27:03 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <frn1furkan10@gmail.com>) id 1wU1jT-0003of-8q
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 12:27:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU1jS-00DFwl-3e
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 14:27:02 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <frn1furkan10@gmail.com>)
 id 6a1d7a93-2eae-0a2a0a5409dd-0a2a4505dee6-2
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 14:27:02 +0200
Received: from [209.85.221.50] (helo=mail-wr1-f50.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <frn1furkan10@gmail.com>)
 id 6a1d7a95-aaa8-0a2a45050019-d155dd32c137-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 14:27:02 +0200
Received: by mail-wr1-f50.google.com with SMTP id
 ffacd0b85a97d-45ef82204c6so1080834f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 05:27:01 -0700 (PDT)
Received: from notebook.. ([85.107.102.236]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4909c152570sm104722385e9.9.2026.06.01.05.26.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 01 Jun 2026 05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780316821; x=1780921621; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FgycVY9EBdUKD1bfsQlIih14isXYfHifTpzvwDUdd64=;
        b=jv+hkHg56jjYz/0g5rWmkkyaD9LmXgmL34guloDSc0wYbfIwtqljdmh6OJ6PVt9K2l
         PR7NYceiM/+jDrbgI4jREEOZRtVgodWiZll7yoXcpxCLk/tQglScjfuNDxw+MhbEUnf8
         LXk1KLdLlvjRb89RHz0FhRs9FTcxNHwZMmcDx7kU4SZI7D/hFkvD6u1iMopGH37rjHQ/
         6WL2AuyBu5eHMzwXj0v4p/ZFMsdb6PEmOfaAcRX4GZQo2jNqpTgsr/G128Tlbu6rfkQk
         HdJ6WfZo0R2xrNaSRGEGHe1JEMcPXQ0nYxaCCNse8p4xXzrNh3/6Du67bmNvVDndP/h/
         qiuw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780316821; x=1780921621;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=FgycVY9EBdUKD1bfsQlIih14isXYfHifTpzvwDUdd64=;
        b=q035w3apiLSLg1hjZ3srNSIQJFNq7Bn3j9wGUmyH3anONvBBd3aea48kW1XkKMwrTf
         /9V+5t1j3v0nWyNRzZ7J1Fjd/hjzPe2sPNvD7C7IluSU7tIkQpLkrHqQFPPdBw5d/Jkf
         tWTt71lwBMk3JFaynDT1SgWX6nL85I4k3NUa/QV4noae2ez/mngQ/oGykeFmP7MYD3Ne
         Ztec/8awhfXiPviwwpD7M5EzZAuTT855GM2gIRT5UNIHOXTIxBFQU106cfQGyOWd2l3F
         od6YMONmGoHWiCOC5oem0DXOj7GZSSySryTuuNpsButTomCjF1HIUqnQBlAj8n31Gkjx
         YwgA==
X-Gm-Message-State: AOJu0Yxbu0ES9KeIIASPzKoCOBCmgLSmu+aZ3Yn8DKlN9RiuJVZWsCo+
	HoOt2JB+vZKlwekYHwmf/bj4QRrzZVgrYWuoAsadq1TNIocoRZ3oOuv6Se4Tug==
X-Gm-Gg: Acq92OETC3QPurO1Lg2inpRYo+DriuyMwQam/naZJTVVvMrg0KPslqUKOyO0a2kgJOD
	qLFpL4mkHepwd4Imoxxjja9ulggUZFSglqcEF7OKoZVm8uP7iJRW4qWqoIC715hBRSkAzCY56qY
	UZAfovr7sPDQz7ObL+Yn/72TJ8jly3Sa2ERbulXvzV5o2szHjGILFE/f1i3Ssh37N1G4ukshMwQ
	7pinZyks3og2cY35bwI3rSwqwvTC5EYuPnUNSczhv7Dwsr0yssHHFxXbRODXDqBwKiRsSnzamiR
	DiszCMxOGUz4iQDpIwUJ6Om7/7qFJCcmj0bhCb80VkXm2x9iuNKnvDxUedrpD5Ux7TMLVydaoWb
	wjnrKCp/LlopNrigQVvFfDPvNur9nT46yD12JgT0ZFuu3x8u5KkbFdUO95+SNaKmsSC2n7fnuf/
	6kQS8twvldVNK1Xxn5DZHg/4C8v//Uf6LVsp0=
X-Received: by 2002:a05:600c:a305:b0:48a:6fd4:d3d3 with SMTP id 5b1f17b1804b1-490a2933b47mr151322475e9.20.1780316821070;
        Mon, 01 Jun 2026 05:27:01 -0700 (PDT)
From: Furkan Caliskan <frn1furkan10@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	jgross@suse.com,
	dfaggioli@suse.com,
	jbeulich@suse.com,
	gwd@xenproject.org,
	stewart.hildebrand@amd.com,
	Furkan Caliskan <frn1furkan10@gmail.com>
Subject: [PATCH v2] xen/sched: fix stale file and function references in comments
Date: Mon,  1 Jun 2026 15:26:43 +0300
Message-Id: <20260601122643.54773-1-frn1furkan10@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20260601053022.6044-1-frn1furkan10@gmail.com>
References: <20260601053022.6044-1-frn1furkan10@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1780316822-E0867443-03BD990C/0/0
X-purgate-type: clean
X-purgate-size: 5043

Several files in xen/common/sched still reference schedule.c in
their comments, which was the original name of xen/common/sched/core.c
before commit 6cb4b01c03 ("xen/sched: move schedulers and cpupool
coding to dedicated directory") renamed and moved it. Some comments
also reference functions that no longer exist.

Rework the comments to remove stale file and function references.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Furkan Caliskan <frn1furkan10@gmail.com>
---
 xen/common/sched/credit.c  |  9 +++++----
 xen/common/sched/credit2.c |  6 +++---
 xen/common/sched/rt.c      | 10 ++++------
 3 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/xen/common/sched/credit.c b/xen/common/sched/credit.c
index 07656a57e9..328c802d0c 100644
--- a/xen/common/sched/credit.c
+++ b/xen/common/sched/credit.c
@@ -873,11 +873,12 @@ csched_res_pick(const struct scheduler *ops, const struct sched_unit *unit)
     struct csched_unit *svc = CSCHED_UNIT(unit);
 
     /*
-     * We have been called by vcpu_migrate() (in schedule.c), as part
-     * of the process of seeing if vc can be migrated to another pcpu.
+     * We have been called, as part of the process of seeing if vc can be
+     * migrated to another pcpu.
+     *
      * We make a note about this in svc->flags so that later, in
-     * csched_unit_wake() (still called from vcpu_migrate()) we won't
-     * get boosted, which we don't deserve as we are "only" migrating.
+     * csched_unit_wake() we won't get boosted, which we don't deserve
+     * as we are "only" migrating.
      */
     set_bit(CSCHED_FLAG_UNIT_MIGRATING, &svc->flags);
     return get_sched_res(_csched_cpu_pick(ops, unit, true));
diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c
index 77475ee363..95946634d1 100644
--- a/xen/common/sched/credit2.c
+++ b/xen/common/sched/credit2.c
@@ -666,15 +666,15 @@ static inline bool has_cap(const struct csched2_unit *svc)
  * runq, _always_ happens by means of tickling:
  *  - when an unit wakes up, it calls csched2_unit_wake(), which calls
  *    runq_tickle();
- *  - when a migration is initiated in schedule.c, we call csched2_res_pick(),
+ *  - when a migration is initiated, we call csched2_res_pick(),
  *    csched2_unit_migrate() (which calls migrate()) and csched2_unit_wake().
  *    csched2_res_pick() looks for the least loaded runq and return just any
  *    of its processors. Then, csched2_unit_migrate() just moves the unit to
  *    the chosen runq, and it is again runq_tickle(), called by
  *    csched2_unit_wake() that actually decides what pcpu to use within the
  *    chosen runq;
- *  - when a migration is initiated in sched_credit2.c, by calling  migrate()
- *    directly, that again temporarily use a random pcpu from the new runq,
+ *  - when a migration is initiated, by calling migrate() directly,
+ *    that again temporarily use a random pcpu from the new runq,
  *    and then calls runq_tickle(), by itself.
  */
 
diff --git a/xen/common/sched/rt.c b/xen/common/sched/rt.c
index 4b637aa9db..e2a5d43679 100644
--- a/xen/common/sched/rt.c
+++ b/xen/common/sched/rt.c
@@ -80,7 +80,6 @@
  * from all physical cpus.
  *
  * The lock is already grabbed when calling wake/sleep/schedule/ functions
- * in schedule.c
  *
  * The functions involes RunQ and needs to grab locks are:
  *    unit_insert, unit_remove, context_saved, runq_insert
@@ -894,8 +893,7 @@ rt_free_udata(const struct scheduler *ops, void *priv)
 }
 
 /*
- * It is called in sched_move_domain() and sched_init_vcpu
- * in schedule.c.
+ * It is called in sched_move_domain() and sched_init_vcpu()
  * When move a domain to a new cpupool.
  * It inserts units of moving domain to the scheduler's RunQ in
  * dest. cpupool.
@@ -1074,7 +1072,7 @@ runq_pick(const struct scheduler *ops, const cpumask_t *mask, unsigned int cpu)
 
 /*
  * schedule function for rt scheduler.
- * The lock is already grabbed in schedule.c, no need to lock here
+ * The lock is already grabbed by the caller, no need to lock here
  */
 static void cf_check
 rt_schedule(const struct scheduler *ops, struct sched_unit *currunit,
@@ -1168,7 +1166,7 @@ rt_schedule(const struct scheduler *ops, struct sched_unit *currunit,
 
 /*
  * Remove UNIT from RunQ
- * The lock is already grabbed in schedule.c, no need to lock here
+ * The lock is already grabbed by the caller, no need to lock here
  */
 static void cf_check
 rt_unit_sleep(const struct scheduler *ops, struct sched_unit *unit)
@@ -1281,7 +1279,7 @@ runq_tickle(const struct scheduler *ops, const struct rt_unit *new)
 /*
  * Should always wake up runnable unit, put it back to RunQ.
  * Check priority to raise interrupt
- * The lock is already grabbed in schedule.c, no need to lock here
+ * The lock is already grabbed by the caller, no need to lock here
  * TODO: what if these two units belongs to the same domain?
  */
 static void cf_check
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 15:09:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 15:09:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323898.1589553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU4GA-0007EL-Qt; Mon, 01 Jun 2026 15:08:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323898.1589553; Mon, 01 Jun 2026 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 1wU4GA-0007EE-OC; Mon, 01 Jun 2026 15:08:58 +0000
Received: by outflank-mailman (input) for mailman id 1323898;
 Mon, 01 Jun 2026 15:08:57 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <david@kernel.org>) id 1wU4G9-0007E7-7Z
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 15:08:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU4G8-007ZXQ-Hh
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 17:08:56 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <david@kernel.org>)
 id 6a1da087-bab6-0a2a0a5309dd-0a2a4501c9d6-6
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:08:56 +0200
Received: from [172.234.252.31] (helo=sea.source.kernel.org)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <david@kernel.org>)
 id 6a1da086-c1f2-0a2a45010019-aceafc1fd4dc-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:08:55 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by sea.source.kernel.org (Postfix) with ESMTP id 8D27442A90;
 Mon,  1 Jun 2026 15:08:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3DDDD1F00893;
 Mon,  1 Jun 2026 15:08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:Subject:To:Cc:References:From:In-Reply-To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780326533;
	bh=v5Qn5lpRNTlWfCeo9CMrm9V3sYGYVnchDqXtweZThaQ=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To;
	b=aeuZZPxxFURTYiKzhL/I4zvy4RbPa78mKb81D82gqDtTLqUoqXZNkOJyrFkDKpfwg
	 AMi3fdav/TAlTdFMzd7i0+J6Q7tgA9JjaWBVOjCSK0kpiFkvsbYv4qOv/+uPTKlwcK
	 3+xlyZz8netMGLxF6OMKeJ1szM/cyW2rsgCA0uRxOzIIM/Jka2AjLDWHrWFL3byHBM
	 w50tHeJqGSx951jvjZDv73SoajIw4pEVyqmHvhrUyrqycZSY57FoZ26thYw20UP2WR
	 /1SqxTKrcaZGDKFn6ERHO+TsIBdzHVU5OMsq0rzYSPu5oe3h36uJtyEOH+R1WByf0S
	 3eGsvj+jm0+RA==
Message-ID: <99add59e-2f4a-437d-b2bf-301c446c3892@kernel.org>
Date: Mon, 1 Jun 2026 17:08:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 0/5] x86/xen: Get rid of Xen private lazy MMU mode
 tracking
To: Juergen Gross <jgross@suse.com>, linux-kernel@vger.kernel.org,
 x86@kernel.org, linux-trace-kernel@vger.kernel.org, linux-mm@kvack.org,
 virtualization@lists.linux.dev
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@kernel.org>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, Steven Rostedt <rostedt@goodmis.org>,
 Masami Hiramatsu <mhiramat@kernel.org>,
 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
 xen-devel@lists.xenproject.org, Andrew Morton <akpm@linux-foundation.org>,
 Lorenzo Stoakes <ljs@kernel.org>, "Liam R. Howlett" <liam@infradead.org>,
 Vlastimil Babka <vbabka@kernel.org>, Mike Rapoport <rppt@kernel.org>,
 Suren Baghdasaryan <surenb@google.com>, Michal Hocko <mhocko@suse.com>,
 Ajay Kaher <ajay.kaher@broadcom.com>,
 Alexey Makhalov <alexey.makhalov@broadcom.com>,
 Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
References: <20260526150514.129330-1-jgross@suse.com>
From: "David Hildenbrand (Arm)" <david@kernel.org>
Content-Language: en-US
Autocrypt: addr=david@kernel.org; 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
 B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzS5EYXZpZCBIaWxk
 ZW5icmFuZCAoQ3VycmVudCkgPGRhdmlkQGtlcm5lbC5vcmc+wsGQBBMBCAA6AhsDBQkmWAik
 AgsJBBUKCQgCFgICHgUCF4AWIQQb2cqtc1xMOkYN/MpN3hD3AP+DWgUCaYJt/AIZAQAKCRBN
 3hD3AP+DWriiD/9BLGEKG+N8L2AXhikJg6YmXom9ytRwPqDgpHpVg2xdhopoWdMRXjzOrIKD
 g4LSnFaKneQD0hZhoArEeamG5tyo32xoRsPwkbpIzL0OKSZ8G6mVbFGpjmyDLQCAxteXCLXz
 ZI0VbsuJKelYnKcXWOIndOrNRvE5eoOfTt2XfBnAapxMYY2IsV+qaUXlO63GgfIOg8RBaj7x
 3NxkI3rV0SHhI4GU9K6jCvGghxeS1QX6L/XI9mfAYaIwGy5B68kF26piAVYv/QZDEVIpo3t7
 /fjSpxKT8plJH6rhhR0epy8dWRHk3qT5tk2P85twasdloWtkMZ7FsCJRKWscm1BLpsDn6EQ4
 jeMHECiY9kGKKi8dQpv3FRyo2QApZ49NNDbwcR0ZndK0XFo15iH708H5Qja/8TuXCwnPWAcJ
 DQoNIDFyaxe26Rx3ZwUkRALa3iPcVjE0//TrQ4KnFf+lMBSrS33xDDBfevW9+Dk6IISmDH1R
 HFq2jpkN+FX/PE8eVhV68B2DsAPZ5rUwyCKUXPTJ/irrCCmAAb5Jpv11S7hUSpqtM/6oVESC
 3z/7CzrVtRODzLtNgV4r5EI+wAv/3PgJLlMwgJM90Fb3CB2IgbxhjvmB1WNdvXACVydx55V7
 LPPKodSTF29rlnQAf9HLgCphuuSrrPn5VQDaYZl4N/7zc2wcWM7BTQRVy5+RARAA59fefSDR
 9nMGCb9LbMX+TFAoIQo/wgP5XPyzLYakO+94GrgfZjfhdaxPXMsl2+o8jhp/hlIzG56taNdt
 VZtPp3ih1AgbR8rHgXw1xwOpuAd5lE1qNd54ndHuADO9a9A0vPimIes78Hi1/yy+ZEEvRkHk
 /kDa6F3AtTc1m4rbbOk2fiKzzsE9YXweFjQvl9p+AMw6qd/iC4lUk9g0+FQXNdRs+o4o6Qvy
 iOQJfGQ4UcBuOy1IrkJrd8qq5jet1fcM2j4QvsW8CLDWZS1L7kZ5gT5EycMKxUWb8LuRjxzZ
 3QY1aQH2kkzn6acigU3HLtgFyV1gBNV44ehjgvJpRY2cC8VhanTx0dZ9mj1YKIky5N+C0f21
 zvntBqcxV0+3p8MrxRRcgEtDZNav+xAoT3G0W4SahAaUTWXpsZoOecwtxi74CyneQNPTDjNg
 azHmvpdBVEfj7k3p4dmJp5i0U66Onmf6mMFpArvBRSMOKU9DlAzMi4IvhiNWjKVaIE2Se9BY
 FdKVAJaZq85P2y20ZBd08ILnKcj7XKZkLU5FkoA0udEBvQ0f9QLNyyy3DZMCQWcwRuj1m73D
 sq8DEFBdZ5eEkj1dCyx+t/ga6x2rHyc8Sl86oK1tvAkwBNsfKou3v+jP/l14a7DGBvrmlYjO
 59o3t6inu6H7pt7OL6u6BQj7DoMAEQEAAcLBfAQYAQgAJgIbDBYhBBvZyq1zXEw6Rg38yk3e
 EPcA/4NaBQJonNqrBQkmWAihAAoJEE3eEPcA/4NaKtMQALAJ8PzprBEXbXcEXwDKQu+P/vts
 IfUb1UNMfMV76BicGa5NCZnJNQASDP/+bFg6O3gx5NbhHHPeaWz/VxlOmYHokHodOvtL0WCC
 8A5PEP8tOk6029Z+J+xUcMrJClNVFpzVvOpb1lCbhjwAV465Hy+NUSbbUiRxdzNQtLtgZzOV
 Zw7jxUCs4UUZLQTCuBpFgb15bBxYZ/BL9MbzxPxvfUQIPbnzQMcqtpUs21CMK2PdfCh5c4gS
 sDci6D5/ZIBw94UQWmGpM/O1ilGXde2ZzzGYl64glmccD8e87OnEgKnH3FbnJnT4iJchtSvx
 yJNi1+t0+qDti4m88+/9IuPqCKb6Stl+s2dnLtJNrjXBGJtsQG/sRpqsJz5x1/2nPJSRMsx9
 5YfqbdrJSOFXDzZ8/r82HgQEtUvlSXNaXCa95ez0UkOG7+bDm2b3s0XahBQeLVCH0mw3RAQg
 r7xDAYKIrAwfHHmMTnBQDPJwVqxJjVNr7yBic4yfzVWGCGNE4DnOW0vcIeoyhy9vnIa3w1uZ
 3iyY2Nsd7JxfKu1PRhCGwXzRw5TlfEsoRI7V9A8isUCoqE2Dzh3FvYHVeX4Us+bRL/oqareJ
 CIFqgYMyvHj7Q06kTKmauOe4Nf0l0qEkIuIzfoLJ3qr5UyXc2hLtWyT9Ir+lYlX9efqh7mOY
 qIws/H2t
In-Reply-To: <20260526150514.129330-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1780326536-AC851FF4-079202F3/0/0
X-purgate-type: clean
X-purgate-size: 274

On 5/26/26 17:05, Juergen Gross wrote:
> With generic lazy MMU mode tracking being available, there is no real
> need for having Xen PV specific code to track lazy MMU mode, too.
> 
> This makes it possible to drop two paravirt hooks.

Nice!

-- 
Cheers,

David


From xen-devel-bounces@lists.xenproject.org Mon Jun 01 15:27:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 15:27:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323908.1589577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU4Xu-0001oP-Oy; Mon, 01 Jun 2026 15:27:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323908.1589577; Mon, 01 Jun 2026 15: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 1wU4Xu-0001oH-Ka; Mon, 01 Jun 2026 15:27:18 +0000
Received: by outflank-mailman (input) for mailman id 1323908;
 Mon, 01 Jun 2026 15:27:17 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wU4Xt-0001YQ-4v
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 15:27:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU4Xr-000aeX-Od
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 17:27:15 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a1da4d1-5cb7-0a2a0a5109dd-0a2a4508e53c-4
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:27:15 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a1da4d3-63b5-0a2a45080019-d155802dad81-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:27:15 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-490a765f47aso13264815e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 08:27:15 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490b0daefbbsm1570885e9.0.2026.06.01.08.27.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 01 Jun 2026 08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1780327635; x=1780932435; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BrJE1aqusnLxkTRjjAXhqxjnYQwxeXD+yrEXlJ1iagM=;
        b=FRaBiRMq2muPM4eK7s8MVjZ/corA0vAt0VQNmpwy4xT1HCNNCuONEF4KFozziXQ8h1
         6thJT71vQFX/2HGkjsdkpaLSt3pHzXlGzOsA57mU7Jv0AKl/nKH217nKGlbMzZ96Uevm
         gC7SMyziNe+15Gq0Vwj4dvtL0OBhd4mq26RPE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780327635; x=1780932435;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=BrJE1aqusnLxkTRjjAXhqxjnYQwxeXD+yrEXlJ1iagM=;
        b=FV+/LChIQsXPVjiAGQzYm/K5PZ2Sc4Ayk7sRSvdj7pf8/MNoZ2X2Nql2hwo2/pYPUI
         CXA6PJDtl/XSVfQNYwiS008uy47LQoeM2iMyGvXXyHLrXMpzLmlNo8NWUWmrPxUj1daK
         kqjUG89+UBBn5r5UhICbM3s/m356DZcwJExIywXc4PrSe1akqfsbp2g0ykA5aFP0O8Wu
         q6Jw454DzwmzEErMkwfPBjqGK09cLKtv6qwUr7+iBSgzJAmwWdre3aUTtF2QPNPZ9EkN
         po2DJWx3nja1elgqxgr3GMyGSi26smMzxnYhTWCFSosIuBSUz9RiRCdNcswy3pQ2lh3J
         +Zkw==
X-Gm-Message-State: AOJu0YyAZQVUk+q9wHTUasaE8T9lmJJSYcJYQWtR+9siTUiDzaSBhPTZ
	EHdlqF3Y4Sf9UjVTkIgayMom6+ULE8z+lybBccYUTQTpOu0i+UrphAFo4eQWKkuid+DyYE4pZBP
	D57q+
X-Gm-Gg: Acq92OH/lphH3hjZEerR70wUK8YkN3uro6B+rIP8zJySnjDoRMM62yyCxG/sWbTB25y
	/WcyoEBEfkV4SXi2yiwmLjK28Mznw5yf/9y9YOPocKmvHeENl8tz+9djjOcoKEBDVPeTUuce7Pk
	bhAIse97XRHDngC7l+7R4WdkfJkRREPH090blY2H/p2/e98alAS7aB+ruD9w4KzdTJhguPQY1RB
	s524UdVVn7wF05EUR1w7+FPusbhLXUC+VZr8tCWNCqCxkm5w69HdLsNJRKutKWErHFMC4aEEDp9
	O9dFPZO55+hl6QvQxUHJG8PVgWc3eSyFODrXNZNplCY6y35F5dUywOGUNQGT+wRrRO+bbi2XDAO
	sKM7pQjivyoSXXSzJmsK7OMzHVLyILW+kAr9KPwack40bAlIgpe6KspFMgzjqf9jEwYyht35gxZ
	iCMP5nY4OPXFU5RAopdGpXb/zsr36mtbMElSW+EKutkhkcEddGzMNnu9UfGGRffn9TJB6KJP6n1
	xarM2AHoJY6HII=
X-Received: by 2002:a7b:c3c3:0:b0:490:5191:6e26 with SMTP id 5b1f17b1804b1-490a2941d7emr132720115e9.18.1780327634705;
        Mon, 01 Jun 2026 08:27: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>,
	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/2] Update Xen version to 4.22.0-rc1
Date: Mon,  1 Jun 2026 16:27:09 +0100
Message-Id: <20260601152709.2588210-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260601152709.2588210-1-andrew.cooper3@citrix.com>
References: <20260601152709.2588210-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c1860d/1780327635-C4C79DB1-FD5843B4/10/73395122804
X-purgate-type: spam
X-purgate-size: 2273

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>
---
 README       | 10 +++++-----
 SUPPORT.md   |  2 +-
 xen/Makefile |  2 +-
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/README b/README
index 889a4ea906d6..3dcc00c4a4ad 100644
--- a/README
+++ b/README
@@ -1,9 +1,9 @@
 ############################################################
-__  __                                _        _     _
-\ \/ /___ _ __        _   _ _ __  ___| |_ __ _| |__ | | ___
- \  // _ \ '_ \ _____| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
- /  \  __/ | | |_____| |_| | | | \__ \ || (_| | |_) | |  __/
-/_/\_\___|_| |_|      \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
+__  __            _  _    ____  ____
+\ \/ /___ _ __   | || |  |___ \|___ \    _ __ ___
+ \  // _ \ '_ \  | || |_   __) | __) |__| '__/ __|
+ /  \  __/ | | | |__   _| / __/ / __/|__| | | (__
+/_/\_\___|_| |_|    |_|(_)_____|_____|  |_|  \___|
 
 ############################################################
 
diff --git a/SUPPORT.md b/SUPPORT.md
index 8e7ab7cb3ec8..abc7beac5b55 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -9,7 +9,7 @@ for the definitions of the support status levels etc.
 
 # Release Support
 
-    Xen-Version: 4.22-unstable
+    Xen-Version: 4.22-rc
     Initial-Release: n/a
     Supported-Until: TBD
     Security-Support-Until: Unreleased - not yet security-supported
diff --git a/xen/Makefile b/xen/Makefile
index a2b442e76d5c..1f11610b5f68 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -6,7 +6,7 @@ this-makefile := $(call lastword,$(MAKEFILE_LIST))
 # All other places this is stored (eg. compile.h) should be autogenerated.
 export XEN_VERSION       = 4
 export XEN_SUBVERSION    = 22
-export XEN_EXTRAVERSION ?= -unstable$(XEN_VENDORVERSION)
+export XEN_EXTRAVERSION ?= .0-rc1$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 15:27:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 15:27:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323907.1589572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU4Xu-0001lT-Fc; Mon, 01 Jun 2026 15:27:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323907.1589572; Mon, 01 Jun 2026 15: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 1wU4Xu-0001lM-CI; Mon, 01 Jun 2026 15:27:18 +0000
Received: by outflank-mailman (input) for mailman id 1323907;
 Mon, 01 Jun 2026 15:27:16 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wU4Xs-0001YS-F9
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 15:27:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU4Xr-00BFKf-S1
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 17:27:15 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a1da4c8-2eae-0a2a0a5409dd-0a2a45028876-22
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:27:15 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a1da4d3-af86-0a2a45020019-d155802dd138-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:27:15 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-490ace40f4bso9337715e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 08:27:15 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490b0daefbbsm1570885e9.0.2026.06.01.08.27.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 01 Jun 2026 08:27: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1780327635; x=1780932435; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=M36xUj93OTyTkHHmQQR/fasVGvQgjhMfQFR4EjgLNw0=;
        b=PlKJA5mXxhABuC9B81QKjDxcRh5MANQacQQc3w4PuY0ed16TtACKgLfkAycLgJ5/wQ
         nckBP4EDJTexdN8zNQ6rmzZKqf4UQdWSlUHnxvOke91u1D7wOGnEBnLeTPlBNzaZ3LHW
         xKglPJtGNFmryitDJ/G/L31ruW+bh++/czQ4Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780327635; x=1780932435;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=M36xUj93OTyTkHHmQQR/fasVGvQgjhMfQFR4EjgLNw0=;
        b=Kdse/v2m0XLVp5Cl71J6FFRYrYlKSjpo7aTEoxb2jA43su52OaIfPCg/QmiUWhZjo4
         8aCDMOx92N8IBdvBMopFCR5OG4ePI4blXywoyG5hLM6fjHZTtrKTFUI8/I6GinCxd3PV
         GSBojeiie2zrCUf9iAyruX0jM7Eicj3R0t+Z+PpN8gX1dJXfEf2QcI8iGluIH+lZwG3w
         OYD1V2ZyS83dVqbTwKlVpC2YEaJ/NaLwVtWjjAH6n0tGVqjI8FmfdZS+hGcGdnGdU132
         WXRoSxucX8e6mpg5zXdce88YhnprQhjx6P7vdwsv2jrt+YGmz6u03w+AFn7kRWo2AHrh
         Z+vA==
X-Gm-Message-State: AOJu0YwLylz85C7mhgLPDx4Xi9uKj3lzS1/mRhaNfVgB+FpE5Q1iFmmX
	DMMuc7H+u8NmtvyHujK3DMCsQCWaqxQBhl+8urQqnSN/MNiSci5N1uOGOB+Xz3a6NILcvl1iB+X
	U5rNd
X-Gm-Gg: Acq92OH1VGVnS2CZwZ6oSZlpzSboiHQ5SaJHblcvusSryNhCZKK1Bfo/Orp9xsF3izr
	ZTHdJYBH0xESKxAaMFAwOS5eDCSf4uMHh/473dr7vUxNKqz8msZHJY23FRiskjaKhVkJ6WBIr5c
	yGYh+CHJ4x7yr7LlPjwDm8p/YhHXy/ALTlhWQYcnLPBd4gdlSEYZvx6V3Hnln2QxZCX1Mf8i3k5
	C1IrOse1BqL//jz3t8uyjCC7+EXWUH6h24BME5oh2W0W+GApZnthQUXlFyFmQzkGRsD6TzxsFm8
	EtIkYgrnLThw2/DfqPI+2gdJ+KIIktAQzfqpmGlvRBAADALgMn2qinef0NFch1gKfERiXd3mNrL
	KRRjWD2MYvJAR3N5IJPHKDQDuUfj8k03EHE8fCxHHYTf6tq+RCbtdTqXfPbroX4B1ngTd3MC6Y9
	Y6FFFYoB2zhlsIHrpf/dghVDPYnvvJLsOf7lPcEmpic1SN3R9IddBPLNU1hjt8itNPQjPxxNirk
	435BB6hnCEHSOYZySOjHEcROg==
X-Received: by 2002:a05:600c:4703:b0:48f:d1b8:9ab1 with SMTP id 5b1f17b1804b1-490a2915af8mr228084525e9.9.1780327633600;
        Mon, 01 Jun 2026 08:27: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>,
	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] Config.mk: Pin QEMU_UPSTREAM_REVISION
Date: Mon,  1 Jun 2026 16:27:08 +0100
Message-Id: <20260601152709.2588210-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260601152709.2588210-1-andrew.cooper3@citrix.com>
References: <20260601152709.2588210-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1780327635-8057B161-9786A3F2/10/73395122804
X-purgate-type: spam
X-purgate-size: 1042

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>
---
 Config.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Config.mk b/Config.mk
index b3d48e49c70a..86a4999246d1 100644
--- a/Config.mk
+++ b/Config.mk
@@ -214,7 +214,7 @@ OVMF_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/ovmf.git
 OVMF_UPSTREAM_REVISION ?= ba91d0292e593df8528b66f99c1b0b14fadc8e16
 
 QEMU_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/qemu-xen.git
-QEMU_UPSTREAM_REVISION ?= master
+QEMU_UPSTREAM_REVISION ?= e064f42c80be6f6ff8c12dcb2a663bdf70f965f6
 
 MINIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/mini-os.git
 MINIOS_UPSTREAM_REVISION ?= b6f79f5f44cf69044079c042b88fe9d75367642e
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 15:27:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 15:27:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323906.1589562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU4Xt-0001Yk-8j; Mon, 01 Jun 2026 15:27:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323906.1589562; Mon, 01 Jun 2026 15:27: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 1wU4Xt-0001YZ-5B; Mon, 01 Jun 2026 15:27:17 +0000
Received: by outflank-mailman (input) for mailman id 1323906;
 Mon, 01 Jun 2026 15:27:15 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper3@citrix.com>) id 1wU4Xr-0001YK-PT
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 15:27:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU4Xp-00DtjC-OP
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 17:27:13 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a1da4cd-e002-0a2a0a5209dd-0a2a45049568-6
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:27:13 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a1da4d1-1dec-0a2a45040019-d155802dc4b5-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:27:13 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-490b09e4cccso662225e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 08:27:13 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490b0daefbbsm1570885e9.0.2026.06.01.08.27.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 01 Jun 2026 08:27: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1780327633; x=1780932433; 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=+eCUkHOnu0XSRBDIY3H9HttmnEeRQ6l4ooNXYefCgAg=;
        b=SzOAMjfuZrR+DrubqQBW/PEcYN8ViSzG3A30lNdbazRWStkNpMLDRxS5HeCCsTyaQG
         M1IhJf9BLTjLXpk6DZgvz/We3uK5aTth3KyozMDu14+kdl6SdlF1qIf6uIajsqYgdCNw
         BSfXrSiPhmV3zW1c8CDJ5jWdaqz8LhIgiou8k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780327633; x=1780932433;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+eCUkHOnu0XSRBDIY3H9HttmnEeRQ6l4ooNXYefCgAg=;
        b=pSo3BTeoZDCdFm9uqhFBWSwhVI0AHwn6GdFET+kAG9NCmGFz0j2RH1Ftu4ohSO96S4
         Mma4/Etz7YZfiidQ69Za7xu0dTEVM0Ao4ed9+oLpHmHnjSZQlLXzQszrpYKVeCbBZELj
         3tzwRjAxvh9jDI1in7j3aBNVDQhb53d+jyHjpUNk8gTn2AAJgfKrqoSB9aFx+dJRK+du
         dpS4TcXqH62a9yznyzbILLFeLReT9V/jzbWs8n/V+vKyspkJf1a3FIgfaOqXtliK9O81
         A/iVGgYRxVrK0fMVgPzxDezYdRAcUlEGpcnKqHALubRU91PU9LpPuVoAv1IYoZ6rnWk5
         0hzQ==
X-Gm-Message-State: AOJu0YxAELGS305TA5oWv9/1PX2wr3TkY6APmv9yODaILds9dXOLtMOq
	Jd7wNfjKpJQqg91EO55syEX+Pi4AGU+DycGEWhOZLXsX2n+ClWw5BYg9ciIrq4HcmpdjpevPFCC
	syh0c
X-Gm-Gg: Acq92OE/jZPHFnuYj1qdza4tqRvpDhay+XywRXy06EMCVALA4Aa6avXkHl6DPXWIjF9
	QKcO8YPeo0kMjWONZQ5+duBBSebkP6jt1W3Fq18VcY0waE6b5T1kOEie6O1jTeRtIxViL1uKNAS
	Rnwyp2cZTR/ZT1wEL8FjcPhC8MvkR7LPd73frqwAHQz4jFAguPgqrDkwKUnVkL8JDRBzD6j7Ff5
	yAuol6L3dnoNmqkG1xbUN44NhDWuVG5Zv064iXyM0s3gTx9ug0hteJ/9/rTm+0uu3k7RsY+wbma
	MUT+DHIeuyX7jZ8DuIcHP/HdYxF4rFBL1DuJe0Ib+5vzOih6LkbfDfkz2AY0SLXfGFx+aF8HWJr
	zAckMIrBljO/EjYvt1wRmZjMw5tsS+45DRGZlQKs5MHi6KtFnDPTx+Ge7FlQqqZW3x26QLWi37N
	xIi9ClFY6/BmvgiSs1i5QsbQul4II5j/+soxYdlikDgMob+SH1dPpVSXGqFnZRTvFdkSqasIMyt
	HO/OoqkfxrIOa4=
X-Received: by 2002:a05:600c:a009:b0:490:ad8e:11bc with SMTP id 5b1f17b1804b1-490ad8e1279mr52176815e9.31.1780327632817;
        Mon, 01 Jun 2026 08:27:12 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	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] 4.22 RC1
Date: Mon,  1 Jun 2026 16:27:07 +0100
Message-Id: <20260601152709.2588210-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
X-purgate-ID: tlsNG-ebf023/1780327633-293773FF-FDB94494/0/0
X-purgate-type: clean
X-purgate-size: 324

Andrew Cooper (2):
  Config.mk: Pin QEMU_UPSTREAM_REVISION
  Update Xen version to 4.22.0-rc1

 Config.mk    |  2 +-
 README       | 10 +++++-----
 SUPPORT.md   |  2 +-
 xen/Makefile |  2 +-
 4 files changed, 8 insertions(+), 8 deletions(-)


base-commit: d38a353eaceddc97ee41d4cce30ed44fc2044a42
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 15:43:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 15:43:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323930.1589589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU4nD-0005UR-3f; Mon, 01 Jun 2026 15:43:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323930.1589589; Mon, 01 Jun 2026 15: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 1wU4nD-0005UK-11; Mon, 01 Jun 2026 15:43:07 +0000
Received: by outflank-mailman (input) for mailman id 1323930;
 Mon, 01 Jun 2026 15:43:06 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wU4nB-0005UE-Ub
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 15:43:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU4nA-0007Xy-SD
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 17:43:04 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1da872-bab6-0a2a0a5309dd-0a2a4509c6a0-30
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:43:04 +0200
Received: from [209.85.218.45] (helo=mail-ej1-f45.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1da888-2497-0a2a45090019-d155da2dd1a7-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:43:04 +0200
Received: by mail-ej1-f45.google.com with SMTP id
 a640c23a62f3a-bd8f9725b30so1926620266b.3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 08:43:04 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bee94d11126sm44062766b.27.2026.06.01.08.43.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 01 Jun 2026 08:43: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780328584; x=1780933384; 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=eAyvQtV53kogeTynDhXEvfhSBP8dxmy+KuhL2EGcK54=;
        b=X0cjCm+mUU74woIfkqKGSPLkk/SS8WKgnHBVlpkXTEDz2woOgA8UKnvjvlUc6SbNRx
         cKETgB5OzDHbge7R5TYyg+0E7oSwRoK/cgLRWGv12zvm+2se9nUU1t86DQCXSvAASvt2
         RGVJCUr7ShoY9asfW9A9AYKq5+vOBeC7VPynhj3JKkKYGlCJsRSKZpj6Sf1RgCP7Rdkf
         pm9oxV7D8ikeRmisZoWYPnrKDDYrU4EATLUkAOGs1ygU/ieAu4qt3kBvXzLAYZfikV9q
         mLfJTJReS1rarH+rsBsCJv588doXCK/rrF6pAjN5UOaKuE0UcRndUbV+fqNzV/mwopQm
         Oo6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780328584; x=1780933384;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=eAyvQtV53kogeTynDhXEvfhSBP8dxmy+KuhL2EGcK54=;
        b=VPv9OFpWBmZA1NTBlKh5tj1gnRFBJOE0OQX+w2vnvrvQssg1yxXs0r16yjHpY6HayH
         +FSgVbYFNzjhMSgdQBjBHskGx/pKAKwVF5/6CtcW3tE7GZRF2eEtPzoBMQFow+QL/N4D
         2DqaaHs+QCy6XyfkQ77E7yHm4CVG+BOw9cOF0uo34pVBlFWixvdl8qViRRF/GRqeJmcH
         cim/w6cIqktdYnarWqoVDxptwJUwtAbsczXOdM8mn7SmXC+UKHW3kk6UyrED0qrXsfqR
         RESqSgKDsaijM88WS+Wax09v6B4DS+Go8VafPASaobW7HZoGXNbCPn35Vby3ggdtpwkr
         aq2w==
X-Forwarded-Encrypted: i=1; AFNElJ/O5CdTuXsX95K3qv+jMya/drtCIkvHewkOBNXtA0biXVXUP4pTExiKL7Y5Mz4ymhAhFcultN7AWkQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxK1DGLYmOVmrASGK2kSJCJ8GxPrZ0jZ4J4NTa8HAmX3JhbO6H0
	4W+Z8+Jz7f6/o4/3nQ/JIHYj0Nu/4ZdoRPVNzwTjMVwvLg3EVlDOBI1V
X-Gm-Gg: Acq92OEy5O4bD77pv0RJEAbtD/eztZoRAyOaaSzAvYuOngVjeY2WH74e3lnJnOPCS63
	KyIgEcqMzc7bjMhIwSzuPfJuyqVwFg57nOHTZwq34ns0N+AFxFcl137wPYfjd2NPEtvDKbs/yKM
	UAbuWjLj4nNxWZ86xHe2wTjPToKjTWhEA5VzGic0w5QgOXIuioPQR3CuG+gdlhcIbO1zKaT+yZB
	IVzzulAEMy5sgHqaf761F2HGR8aOJdPCqM44e4F3bbJ9cggDLVUjDvDqC4aPxuk2PyWslMadn7G
	YadHLk3UDklShU8R+rltOyF1CY3XCG9Xkw/8EA3u5aGpK8WdiQpe+4cR494lVbSRgPvk6IXPnzW
	ryFjIQiqOmI/Za7lsAmBiShCGPzxYnT6zD55jXzAgnAUuEdE9AIyjMxRiFUQre3ioJ6qpOgAiwd
	jYGb1UmuotdB29NamrawvBk55dS2lz+/onIweWTHyYWRR55zSd2sEbifCfr1qmPqber6cDTGNxR
	DBWkQMS/7O1SRTMB5efrM2G7Ak=
X-Received: by 2002:a17:907:d405:b0:bd5:2ed4:4ef6 with SMTP id a640c23a62f3a-beab01dd693mr602695666b.19.1780328584061;
        Mon, 01 Jun 2026 08:43:04 -0700 (PDT)
Message-ID: <1667afb5-855c-416f-986d-26ad3854928c@gmail.com>
Date: Mon, 1 Jun 2026 17:43:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] Config.mk: Pin QEMU_UPSTREAM_REVISION
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: <20260601152709.2588210-1-andrew.cooper3@citrix.com>
 <20260601152709.2588210-2-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260601152709.2588210-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1780328584-4216DA53-12D8FC00/10/73395122804
X-purgate-type: spam
X-purgate-size: 1226



On 6/1/26 5:27 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>
> ---
>   Config.mk | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/Config.mk b/Config.mk
> index b3d48e49c70a..86a4999246d1 100644
> --- a/Config.mk
> +++ b/Config.mk
> @@ -214,7 +214,7 @@ OVMF_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/ovmf.git
>   OVMF_UPSTREAM_REVISION ?= ba91d0292e593df8528b66f99c1b0b14fadc8e16
>   
>   QEMU_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/qemu-xen.git
> -QEMU_UPSTREAM_REVISION ?= master
> +QEMU_UPSTREAM_REVISION ?= e064f42c80be6f6ff8c12dcb2a663bdf70f965f6
>   
>   MINIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/mini-os.git
>   MINIOS_UPSTREAM_REVISION ?= b6f79f5f44cf69044079c042b88fe9d75367642e

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

Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 15:44:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 15:44:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323937.1589600 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU4oA-0005wO-Ch; Mon, 01 Jun 2026 15:44:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323937.1589600; Mon, 01 Jun 2026 15: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 1wU4oA-0005wH-90; Mon, 01 Jun 2026 15:44:06 +0000
Received: by outflank-mailman (input) for mailman id 1323937;
 Mon, 01 Jun 2026 15:44:05 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wU4o9-0005w8-Bu
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 15:44:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU4o8-00BHZZ-Oj
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 17:44:04 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1da8b4-e002-0a2a0a5209dd-0a2a45039e8a-24
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:44:04 +0200
Received: from [52.101.48.33]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1da8c2-672d-0a2a45030019-34653021f83b-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:44:04 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by BN8PR03MB5027.namprd03.prod.outlook.com (2603:10b6:408:db::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.16; Mon, 1 Jun 2026
 15:43:59 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0071.014; Mon, 1 Jun 2026
 15:43: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ukFAlDaL32jswUS2sMFEzFpRixRGNfVt3+9PCJzs4In0q8a0XZlGYuGvNpH83wl4WhWb5Qp0UxRXIOvSf4Gi/oVelb7cw5GcyRHSk5C+Zqsi4LQdH42gqrNczDQ7MlVzzlSdCPKg8WmLM05z8dpLdonupLoA30bDEUiXy9G9u+myujXPtscU/Yy+ehxBW57hRwW9b/vGI0FhKckt5ObfJJabVCFfVZXxP2Bmt4r1QLcpiwWbHhFpYwvU9eAZ9KSqp78vMvNCjGR1X2LmBJZ7TwVb9vhQITruec8SdLoQPoTVeLv4a2+QYowarrN2f7Nqv26W5guUAzrBsKeBUFV6lw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PMajRlLCbAEScIMxpT4zuPvcmwWeZONJ/YsZIuTJbIg=;
 b=GYglgufJ/6jWnroPWi9czdcxo3vjXc1OqLBst64oQ48gZNEI8/zwQy1uX4VzvlSDpz/RyjB5dAeYSirFiwU7E2n26Uhx0oqVXHbZ0GRcRnZmiNf3i+GFi8YA4at+22hZ8K/gWbWIOnE/Dp5Pk0iFPCOFdZLDCW+MaJF42a17w2jnnFgHRcP/zQcFLjo9Zd8nX/1jlRxQpswX3bVCYimWgHuRKJ1twlvtX4EwQN0vNfC8MBmMDb3KBagcUOFkWb+mc12sKLLcPEHOQxgXa/HR7isWVmwKCDnJNlqpI9vAgGK0dAmvMaqsZLqLaI96UIbd9erdRQ70ku8moAXVO5/w7g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PMajRlLCbAEScIMxpT4zuPvcmwWeZONJ/YsZIuTJbIg=;
 b=Dgb0tZ1cRPA2TWnngI2+N8BsEkFBdAmq55O9MS0SBFNTzi63St1DoDdd1sOQNoBiGjNgQR+kN6vEuEuiYaIkZ58/pGe8s29MwdjJ3369MurT6db039A6bO5cWLWNYXgqcvzkqM+hePIY0Ig/Yh12tM0atYJ0R2Xc8037DYtLPtk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	Julien Grall <julien@xen.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH for-4.22 0/5] numa: add unit testing plus fix regression
Date: Mon,  1 Jun 2026 17:43:27 +0200
Message-ID: <20260601154332.30797-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: BN9PR03CA0075.namprd03.prod.outlook.com
 (2603:10b6:408:fc::20) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|BN8PR03MB5027:EE_
X-MS-Office365-Filtering-Correlation-Id: f1123f9f-4a4f-46bf-7d60-08debff498ff
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|56012099006|11063799006|6133799003|18002099003;
X-Microsoft-Antispam-Message-Info:
	84elEoaJFDVvioO+BckeH2Oq3re+V7f8zeVGh/dfKb4lzMlAKiEaZaUgCHy69V1/Ua2GgfRlEOqXzwAqslvBN0AU6m6RNpZCrJwB/EJA2Gst9Fo/9lq/3NNBYcYQfIzNbo6dkIuESjcShLPpzt+w6SfuV6Sa/ar3S3dsYg9LRI1iXBBePBVcfjfpw29mcf41o/IGSrdvKctUHNXcYevMSOQAh1g3u3RnLQDpEuiIH/9oh3RGr7hNHDgQEMP8QChblhyGFxxENtI3HWR+DBwgtBKvarbngMy7PcrhouXfQYTSdBQey+mwHJO48Kov5lYq10pIfwdAGsSvoTMNJclpSCwwNE4QiexR3a8gqcLIxwt5jiyWOcpJw+ZKg9PxTupKkuMqtAKVMzVWpAxmozZ/I49j3ku6tXdllv9eC0YaCKSC0pN5uEDwCw0vtwpuPuYawrWDNA6UbypMBRG4DoIVKPr5YdcbrA4jOoH8jAf/qqJHStw7IM1QAGulVQlSIe/7LhchPQ19TyHg5u23Y9kR7MgztMfca01dqWvD6x8k1tRrFj4qsjoUVX7tB7ELkjkx+Mw3wUFUVCBhUaNuYbjzzdsfcYYEWeSY3boSUeVW2oP+XTBLRxqPusF4LP18/HPC7jGPpDU1h4C95odQ7VMzFkkH1BpFNvTg4NaHsUCeZ9XrVgTCzXUSJHQz2actPm3N
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(56012099006)(11063799006)(6133799003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UCsvWElvUmplWW9qL3Y3anlyWUNzak4yTEo5ZEtqcnZXem43NUhqWS82Y01x?=
 =?utf-8?B?WnQyZVJPWlFjYzh1MHh0b25CZUJONjMyYjVnU3Uxak9nNGpTcjkwOWpURVBY?=
 =?utf-8?B?bmoxM0VmNGlJeXN6YVp4Z2lLaUFYME9zUHpyOENCa25BdUZ1VWhWSGlkeElE?=
 =?utf-8?B?Um9oYnZnd3VVVndWZFFUWGZsY2k1T0NzNjVSbzh2VEw1bDBxSmlVaDVKNzFS?=
 =?utf-8?B?ZDczTTFmV0h4YzlrK1N1eE1OUHlNak9QTHRGL1g0NGZ2Sm4zVUJxNnQ1cXNt?=
 =?utf-8?B?UGM4UXkyVVFDTnp5aURWV3RqbEN2aldGYzJYc0p6TCtUOXRlMWt3NTcvb3Y1?=
 =?utf-8?B?ZjEwUUpaMHhsaDRrNGFmVStUQlZBQUo1T2IrVWovM09oRVVpRXEzM0hMRUp4?=
 =?utf-8?B?a0pjcm84ME44eUUwTTlSemFzOFJpL1JWNlk0M2I2M2VWZFUwSjlocmFEY3I3?=
 =?utf-8?B?T29GazhHb1NZQk1RQllraS9PeDEraWJESm80U3QzL0ZhTzUvZitvcnExeDk4?=
 =?utf-8?B?K2NMaEErSzdIVHN5ZnBoWnlYMVlyM1NITVVMWjc3L3hlcEtyYWhpZVoyOUZ2?=
 =?utf-8?B?a2FneVA3QzhHbEk3TWc0Q2FIL0lXV2RLQTliT1N6ZHV3eExobVhWMG9vMThl?=
 =?utf-8?B?eEVOenlZT3g5QU1yektzeE9zdHd5blMxWlNjVWpuZTNYUG01TWwvMUtSQVkx?=
 =?utf-8?B?T0o4cjlZaXN5cUZOYzNKckxoNUtUWXBwMEN2eVp4aUl5UVFyaHNqajBZbnVK?=
 =?utf-8?B?c2wya3hCZHFvNGlCVE81cXRMVkxPa3REZ0Q4aWpvd3plM3NFUG1UbTdKUTU3?=
 =?utf-8?B?aVlGVWRMcmluVkVxK3creWhYK2xnaHJlSWViY0FwZTQyWmM2VlRkZTYxN1JJ?=
 =?utf-8?B?QktXb0JZSitUeUlkRFZ3dVpEZ3piMWhHN0lvQUpCQ2ZMMnFjRHBzdTZkNmY1?=
 =?utf-8?B?Zjh4MTVkM29RN1Z5QWpZbXAxYlluOTFHTld5VWRFODFzN1BFZTZOZjdwWmN6?=
 =?utf-8?B?OVRrUU41NWJMaS8wZ004VXdSeVpRd3RacWo0M0hadkZYSE9ZWWcvSGpNNFBm?=
 =?utf-8?B?RUdxNm1TVmV3YWRjU1lWM2ZzaE82eXBKNmRvaFFjSmo1WVpkV1RwcEF2VjRZ?=
 =?utf-8?B?bmNBM09vcmJkbmRzbnNVSDB4R0pGYVgzbnNnbjdOVTFGOHR4bERVSFdVRTNm?=
 =?utf-8?B?M0Y5TWVab295UWErdWRobDNrZDF6QUlNZkxJZTRiQ0Y5MjBMcUNyNjhMMERL?=
 =?utf-8?B?VThsbTFzTnBVUXg1Z0VVdjc3VXg2aUpnV1JWOE9aT3V1c21kcnA4RmdkWExN?=
 =?utf-8?B?UkN1TFRzVk5UQzdvbGJtK0VvUWF4dm9OeEVZV0pES0wvdUdrZTNEeFRaMURD?=
 =?utf-8?B?cUpDUTJRTmN3MjJyRHdVVUV2VlIxWWpYSWhNN2p6NWY0N2tnTUlqZzdqRmRG?=
 =?utf-8?B?WjBDNnp3TEx1MXRtdDF6cFBFNytpYTBUOWxGMi9hczNOQmh1dzRrcW5hb2RM?=
 =?utf-8?B?VXdIam9Vb0FoTXdmU2cyUzV0c3JoczU2MjNNVHU1OVFrUkRrVEZDVGFrZS9E?=
 =?utf-8?B?a1k4d1UwWTBncng5TGZVZW5CN1BjbXA5RGdaTm1xNVJUQXFQM3B5eDRaV200?=
 =?utf-8?B?WkdZbjJEdy9TdzlKeUp2cEtIT3Q1Y0dQMkk1WURONDFMT1hvTWxiSDFVd0tw?=
 =?utf-8?B?WjlYcUhpNWZkb2prcFRlUW1vWFA3ZlNZL0ViYUJYeHV6ZHc2UGRRdEhmb1RW?=
 =?utf-8?B?OHV4U2lEajVOa0JjZDJqcGJwRjc4ZENhVktmRkRXQnFXZXNhVVBzT0ZSSU1p?=
 =?utf-8?B?TDhnOWlBQmIxcDNpM2FaaU81MDVVdktCSTVIUnZBWU9RekhyWlJYYmt0dlVy?=
 =?utf-8?B?WUxqL2szZ0d0Qkczc2xlTnpjYVM1dkdqZWU5andqb0V5YTU4UkJrRElZb0dK?=
 =?utf-8?B?WnkxOWNzMHFKVFVXT09VcVZpM3FONzZrT2xsNlg5NTVPbytOUEFBZXFjS05q?=
 =?utf-8?B?T3lQVFlON0JuV3hQRmVJM3FwNWtKdXdITDRBcFIyU0FnWmFMbEZ3K0o4bFFT?=
 =?utf-8?B?ZUNvTnhEQkRtYTZya3hLZC9vT3RYbmpuSVc1YXJxaVlMSDh4SUxrVW9mbG9t?=
 =?utf-8?B?cE9LSy8zM2F6OW90bWhCeEVUY2o3RmJKT3JaK3J4cFJWWWRGb1dsOUs2eHc0?=
 =?utf-8?B?VWtxcExiaXpraHVVNGk3NktCaSsvaXJmSnAxbGo3VGlySzBNcUQ3TXoreUlO?=
 =?utf-8?B?Uk5VT0dwai9EN1RkaXgvMEhJQ3hwNmEvS2J1WjNPTG9mSTQ3YTlWYzkvcEw5?=
 =?utf-8?B?YWRoVkMrK3pvem5sYzdYT3ZlRkNVWHZOcUlFTzRFbHpNUEkyUlJGdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f1123f9f-4a4f-46bf-7d60-08debff498ff
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2026 15:43:59.5316
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1weV1n3bS1ruk40dXg6/vRQnPHMAtPnM09FR0WPZNN9D3LmRyiYaedWH00Bh7bo3G2ZaKhlx9u49E9Ti2PgWFQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB5027
X-purgate-ID: tlsNG-33051d/1780328644-3AB64938-D4ECFDF7/0/0
X-purgate-type: clean
X-purgate-size: 2418

Hello,

The first 4 patches add some basic unit testing for the NUMA setup
logic.  The last patch expands the test cases and fixes an issue the new
test-cases would otherwise trigger.

Thanks, Roger.

Roger Pau Monne (5):
  tools/bitops: adjust bitmap_or() interface to match hypervisor
  tools/macros: adjust ROUNDUP() interface to match hypervisor
  xen/numa: prepare NUMA setup code for unit testing
  tests/numa: add unit tests for NUMA setup logic
  xen/numa: fix setup of non-aligned memory affinity ranges

 tools/console/daemon/io.c                 |   2 +-
 tools/include/xen-tools/bitops.h          |   7 +-
 tools/include/xen-tools/common-macros.h   |   5 +-
 tools/libs/call/buffer.c                  |   3 +-
 tools/libs/foreignmemory/linux.c          |   2 +-
 tools/libs/gnttab/freebsd.c               |   2 +-
 tools/libs/gnttab/linux.c                 |   2 +-
 tools/libs/guest/xg_core.c                |   2 +-
 tools/libs/guest/xg_dom_arm.c             |   6 +-
 tools/libs/guest/xg_dom_x86.c             |   2 +-
 tools/libs/guest/xg_private.h             |   4 +-
 tools/libs/guest/xg_sr_common.c           |   6 +-
 tools/libs/guest/xg_sr_save.c             |   3 +-
 tools/libs/guest/xg_sr_stream_format.h    |   2 +-
 tools/libs/light/libxl_arm_acpi.c         |  24 +-
 tools/libs/light/libxl_create.c           |   2 +-
 tools/libs/light/libxl_sr_stream_format.h |   2 +-
 tools/libs/light/libxl_stream_read.c      |   2 +-
 tools/libs/light/libxl_stream_write.c     |   4 +-
 tools/misc/xen-mfndump.c                  |   2 +-
 tools/ocaml/libs/xc/xenctrl_stubs.c       |   2 +-
 tools/tests/Makefile                      |   1 +
 tools/tests/numa/.gitignore               |   2 +
 tools/tests/numa/Makefile                 |  47 ++++
 tools/tests/numa/harness.h                | 184 +++++++++++++++
 tools/tests/numa/test-numa.c              | 267 ++++++++++++++++++++++
 tools/xenstored/core.c                    |   4 +-
 tools/xenstored/domain.c                  |   9 +-
 tools/xenstored/watch.c                   |   2 +-
 xen/common/numa.c                         |  22 +-
 30 files changed, 569 insertions(+), 55 deletions(-)
 create mode 100644 tools/tests/numa/.gitignore
 create mode 100644 tools/tests/numa/Makefile
 create mode 100644 tools/tests/numa/harness.h
 create mode 100644 tools/tests/numa/test-numa.c

-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 15:44:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 15:44:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323938.1589608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU4oB-00069n-IZ; Mon, 01 Jun 2026 15:44:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323938.1589608; Mon, 01 Jun 2026 15:44: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 1wU4oB-00069g-Fq; Mon, 01 Jun 2026 15:44:07 +0000
Received: by outflank-mailman (input) for mailman id 1323938;
 Mon, 01 Jun 2026 15:44:06 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wU4oA-0005wG-D4
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 15:44:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU4o9-00BHZZ-Pw
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 17:44:05 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1da8b4-e002-0a2a0a5209dd-0a2a45039e8a-26
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:44:05 +0200
Received: from [52.101.48.33]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1da8c2-672d-0a2a45030019-34653021f83b-4
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:44:05 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by BN8PR03MB5027.namprd03.prod.outlook.com (2603:10b6:408:db::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.16; Mon, 1 Jun 2026
 15:44:02 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0071.014; Mon, 1 Jun 2026
 15:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=UJRxiocj+TlC4CWOBdW165TItmQQJW8tEtYXelCOkdmayfubfXIR9pjw6srSfYhXZY+Ucpa0mAFblVkn1/gWR7z9odXEZX6MxSoEi1KBMVFAVSvpZABlgaXmmBz2y/Ty5EYSPAutmuE39514T4/qiIuhukAVUe0M0c55wKpcLkpYooOcmvwpK9uJA/BEOgS9NVYvgPPtqmXYPOxZwxlvEMJgez4Gp0FAdsiCveqUlVOGXyuhE3eQgcwgsjwFyL7K75xswzr5PMokQZAZ2yjlYtcYpMRXoor5oTaraKRdModAM1YO09yDcikLOcMixQd+0nhwWaX8MNQjiK9KpGMIWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KJiuXMMscL2qAt2KmefTcdcHnstFqJ03M2qXGArT7Uk=;
 b=xz91eQa7gOiTJYzOGJFijv/ql9dpNwbx8x/m3+yjvqCgodiR7RXSdCucr5VvRFjYgfsPlbyIxavsJg5iqFC+XYOWMPPjIhtykL9FBIt5N8ODXF4KJCvlkcGma9MWcGTp9kP1W+iCMnuhMbGnnnCJ/ZRTxv/TgZsvZG2MxqMJjJIBfUodQtixN5WQHhEYhrCvT2n5bCC62O0/QVTfBNdYMKRyuLonuoIO1xcgVLpIwUrj0cnzWGo4jZMUW0j7CTDzy8KmelVqhxtBq3YVAUsGvYTjwGqH8789Ro+pJePlkkfXguimn9y4Ugb1GqsIbjgN6uA5asN22c9ytmIvVbcpyg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KJiuXMMscL2qAt2KmefTcdcHnstFqJ03M2qXGArT7Uk=;
 b=cCu47ZrGQUzGxAG1/3IGWffmwyezpA2oeyN0z8NH8fuXRjs1FGDY6AvfilOUrSAhk883fPU3yq4n/AhVG1rPo+RLj0aO2Pt3HUTorFtCx4OEMevyaQm4r0l1q6pH8QVjBk6J8rlF6pm5h2lJygLpdZYJ8K72X4S+rdVeqOmXVP4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH for-4.22 1/5] tools/bitops: adjust bitmap_or() interface to match hypervisor
Date: Mon,  1 Jun 2026 17:43:28 +0200
Message-ID: <20260601154332.30797-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260601154332.30797-1-roger.pau@citrix.com>
References: <20260601154332.30797-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: BN0PR03CA0010.namprd03.prod.outlook.com
 (2603:10b6:408:e6::15) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|BN8PR03MB5027:EE_
X-MS-Office365-Filtering-Correlation-Id: c3bfa199-a53a-466c-2a32-08debff49a85
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|56012099006|11063799006|6133799003|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	ToBt4iOHUwmb0ZgkGkSwD792SmSbfhjzVa93/4CeqOIJ60nJikebeC5QA5MBhT9ydM3ouNvn9HYY3h8h15VcSEUnqloPfCBq8bMg3iDZvXOr60lh1OOSQHXWnqUsaQb5ZY4vXDX2/eBvB5L1/lKF4r9b4rdr/4ulGjiY+L7WA9kYGQlODmwqF++sVE4waF/bRDP+zanPT2IcV4GAEhYKmpDqRZvuiMgjhVz0Fxid6g3W+kBEfQ6AZ4P6a4Pl9LNbTi5cK8h2wF7y0rR3X2kGP0AyIe1ew7/GjRIHQH2xVYxPb4CIpme21I0OFhCAy6bUROWN2M37iDMi1bwbdQYCTL992RNa8vOL/ETg2PTyWuntovtzTznnL+rj9BGWq4R2DIpXyRh8xJ99um6qX/HAfZodKjJjfy7gFIRi6U3tTj4oSP3lbNuAovmcvGNAOkbJUs5orchm67q3K30Ya5YxLq/QSHHJ53aLFdr4gS9g5rGa/2jHxFXQCFAdfAffbXOpq+lvQzrR7pX+10Pu8FBS3kYXXm40vg3udi698HF1ucx+Dm3mwEzHorWXbwm9X0CP9F95EP2Ivi63dkBiqpGffozA3I/2Wy6imIZslv8wqORAq7zdBYKbSP2B0cesRiQhSLorHqyFPUbp3/p+AsEGvA9NNvZyjXRn/WX/GCbx+yyfq/Z5zfe6Qbt/73QByPF0
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(56012099006)(11063799006)(6133799003)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cmpTK3NkVkdVY3NxWG12ZG01Qlp4M0tIZFl3TXliOW00M3VaV20xUW10eE1a?=
 =?utf-8?B?ZUhqdGhsWWlYbU80aHM3Tk1rOWJBSWRZREtaVzhtZWpSd2hjYUN1RFNDN1R6?=
 =?utf-8?B?SFJoSXJVZTBpZEhIYlZ0WW9aSUxkdkhVcjJHOThDSXMwUnhWVU1HZUIvN1JU?=
 =?utf-8?B?UU1HTmhaS05McC9kTHFSOWN3YjIwK3RQcTNvR3dxWFJjYi8ydU9FWEptQ2xB?=
 =?utf-8?B?YmkrUWN0alduNW5ILzZ1aDJaMUVVU0NGZXlaYUx1eEIyTmVJTGJoZGlDaXNy?=
 =?utf-8?B?V3dMb3U0VzhDc1N6YXdYQlpUVVpjOXpGQUNGeFdFVnlpcDVoRm1vOHUrRWVY?=
 =?utf-8?B?WmRRZjB4RXFZTE4yNkJPcE82SUxuQ0tsWjBqSFZHOXM4QlNDVUxuZGlMb1ZV?=
 =?utf-8?B?RHZ4ZDVUcDAvRC9xL2gyTEFocDRKUTg3eGo1Y2VDQW52RUZEZmJGQlliWjVS?=
 =?utf-8?B?R2ZXdG4wcHRRZHJBeVhtUUErTTlISkdiK1RGaDRHRi9MYU9YT0N2L3YxWlNO?=
 =?utf-8?B?T2pwL1RBT2lTRC8vaHlSQnpZWlFuNWh4U1FPSHBpRG96RHhaVHluMWVVejNP?=
 =?utf-8?B?L3lUbU9PYXhRRU8weTRFUGR5L0xwUndrd2pHYVJXNWNRK0d2TzFOYU92elJ1?=
 =?utf-8?B?NmFibmkyajRvY05SeXBtQ01nems5OHdoT2VDR05HNDhINzhnRFU2eGU2dkow?=
 =?utf-8?B?NkhhNStaYUk3OEdJQXZEa20zVWJDR1RjNzJSdzdnWW1FcmdIL0Y4Q09odHVP?=
 =?utf-8?B?bzhaRlBVd2xsblU2bHVwYU53aVR0bHI1R2Q2ZGRhR0Fpc2g4aXU3eE5oeG01?=
 =?utf-8?B?ZkRacWRLYi9hRFI2UCt1RWxpLzh1RHAzRTlRZjBtbEhpcTFycEZzdy9LQnEv?=
 =?utf-8?B?MTZyQStRbE9RZ1VkQVRDbEJEUVp2WHYxS25qTzh0ejdqVXU2RDZWWHlRWTBM?=
 =?utf-8?B?aHBEcDFOSW5xODMvQ0ZyeSs1L0YxUjBQUXZYLzdXcmdUQXptTWhCZVBLNThn?=
 =?utf-8?B?WG9ZMHdDZjRLUXIwZWVJdncrNlU3VGVOdklNdDJ1WmJqcnQvYkdGNDN6TGZY?=
 =?utf-8?B?L1BpdWdMcTkyNzJ0QlVVUjBua2M4Y3lKbjB3QnFZbkZrbjhCRC8ra0ZkUlNF?=
 =?utf-8?B?L0EvcHc2N2xvUkRyLy90eDNQbDBsVEpRbk12YUM5MjF0S3p6VVdLN1ZlWnQv?=
 =?utf-8?B?WFRxRXBBbjYyZGtjMUdGTHpzbmREaHhHZ3ppRG5qL0dvRzJtNTVmc1FxVkNH?=
 =?utf-8?B?YWdaek1qUlhqdDM1Smh6WWkwMTJRbytBOGQ2TkdhdzlqSEY3SGswZkV2K016?=
 =?utf-8?B?RFoxb0hZb2JVL08ycWV6Nk5HQUdSQTM0QkZzV1lRNkg5NE0wcFVZelhhSDBm?=
 =?utf-8?B?cERudEE5bkU3c0RTb09ZaTdwbFVsWnZuQlhCQ0RWQ2xPR1R1RHZ3SjZJOEgy?=
 =?utf-8?B?Zll4cytiTnRybU5uT3l3bkFJSTJOZlpKaHFsVmhmMUFqdlNOSEF0bXlzNU5X?=
 =?utf-8?B?QTJMeFBpeVBDYW12bkFpZ3BMZE00b1JZUXRMUmRkbVVHSlJONEt1bHNYQUZq?=
 =?utf-8?B?YVZQcHJweGRtVVdOVzZEVkltaGdNdjJqUHJNMm1UWjdzOUZwVWtBbVhZcXVK?=
 =?utf-8?B?RW85a2NZdldyRzZKbVE2S1p6bDBHdFlhVXBVckc4Y1JxUENqYUpsMG5rOGRD?=
 =?utf-8?B?MUFRUzZOb2hCVXhaaFo4bGs3c1BDdGh5WnhDbCtlKzZTWUloeW12U2xUeWFj?=
 =?utf-8?B?amFXU1VKd0duanNEbjIrZk9VTDU2dUdoMGpHSUMrbE5VRUZnN0ppdndEdm1q?=
 =?utf-8?B?cUp1WTNVT2Q0M0Z2VHZWVXppNGxmRUhZdDBuV0FpMUV0UElsbGJPOWVVOU4r?=
 =?utf-8?B?MUxHN0dwKzJqUjVIZkpNQ2JiZVQ4Tkl2V2tLb2dtbDFRQ3B3Unh5ZWJwN0Zy?=
 =?utf-8?B?Q0pMYnpmSGttY2V6eXo5WS9MYXJ6SkFvMy9pRTRmRGY4QTlEQUEyb0pFRGpH?=
 =?utf-8?B?dGk2K1cxQ0RKR1JhTmhjZVppN0ZEeUNuWmdnbkdpb1ArSk9aN2RRVFQ2K3JZ?=
 =?utf-8?B?RUF5Q3ZqVzFiYnFEVWtQdmZkQlUvcEZKV09rS3U2aTF3SllWbzNoYm1sTGtQ?=
 =?utf-8?B?ZmM3bkV3L0dTSXo2SGt5dGdXNUI1N1RaVGNqVDFHUlRiYmpBbWlVM3daRWtN?=
 =?utf-8?B?OXEwZjNweUd5UTNvWUZuOU0xQUNZZW16TWV6US9LMXREWUFCNlJXd1p5REpr?=
 =?utf-8?B?MllCOHRFZTB1cXZZZENYaVB6Z2NqYTJ5WmxBQ1lWYk8zcXN6eGNySlpiNjlk?=
 =?utf-8?B?RHFnbWlqeWZ5SHoxZXNZeHZiYWhnWXUxcSt4VmZ1dWFWOFV4UWtFQT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c3bfa199-a53a-466c-2a32-08debff49a85
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2026 15:44:02.0329
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mdyW8Ez4iA2WvKxjudPDZUFmhwyJ86JEJEnSevBbUhxfuYQwEjZq9T6XITaT3u0Kp5RImQjJh+oM0xhAeo5zGA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB5027
X-purgate-ID: tlsNG-33051d/1780328645-39171938-979D7DAF/0/0
X-purgate-type: clean
X-purgate-size: 1879

Adjust the only toolstack caller to use the new interface.  No functional
change intended.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
I'm tempted to rewrite bitmap_or() to use unsigned long (just like the
hypervisor side), but that's outside the scope of this change.
---
 tools/include/xen-tools/bitops.h | 7 ++++---
 tools/libs/guest/xg_sr_save.c    | 3 ++-
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/tools/include/xen-tools/bitops.h b/tools/include/xen-tools/bitops.h
index 3b98fba6d74c..29587e89fa6d 100644
--- a/tools/include/xen-tools/bitops.h
+++ b/tools/include/xen-tools/bitops.h
@@ -81,14 +81,15 @@ static inline int test_and_set_bit(unsigned long nr, void *addr)
     return oldbit;
 }
 
-static inline void bitmap_or(void *_dst, const void *_other,
+static inline void bitmap_or(void *_dst, const void *_src1, const void *_src2,
                              unsigned long nr_bits)
 {
     char *dst = _dst;
-    const char *other = _other;
+    const char *src1 = _src1, *src2 = _src2;
     unsigned long i;
+
     for ( i = 0; i < bitmap_size(nr_bits); ++i )
-        dst[i] |= other[i];
+        dst[i] = src1[i] | src2[i];
 }
 
 #endif  /* __XEN_TOOLS_BITOPS_H__ */
diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index 3b2c5222e429..fdbceab52e46 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -668,7 +668,8 @@ static int suspend_and_send_dirty(struct xc_sr_context *ctx)
     else
         xc_set_progress_prefix(xch, "Checkpointed save");
 
-    bitmap_or(dirty_bitmap, ctx->save.deferred_pages, ctx->save.p2m_size);
+    bitmap_or(dirty_bitmap, dirty_bitmap, ctx->save.deferred_pages,
+              ctx->save.p2m_size);
 
     if ( !ctx->save.live && ctx->stream_type == XC_STREAM_COLO )
     {
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 15:44:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 15:44:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323939.1589617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU4oF-0006Q6-3P; Mon, 01 Jun 2026 15:44:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323939.1589617; Mon, 01 Jun 2026 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 1wU4oE-0006Pu-Vl; Mon, 01 Jun 2026 15:44:10 +0000
Received: by outflank-mailman (input) for mailman id 1323939;
 Mon, 01 Jun 2026 15:44:10 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wU4oE-0006P3-Aj
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 15:44:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU4oD-00BHey-Nr
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 17:44:09 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1da8c8-e002-0a2a0a5209dd-0a2a4505dc48-4
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:44:09 +0200
Received: from [40.93.198.34]
 (helo=CY7PR03CU001.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1da8c7-aaa8-0a2a45050019-285dc622e7f9-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:44:09 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by BN8PR03MB5027.namprd03.prod.outlook.com (2603:10b6:408:db::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.16; Mon, 1 Jun 2026
 15:44:05 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0071.014; Mon, 1 Jun 2026
 15:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=pEp7C70pj+Jz+Hcs9cXrk9OuxDKbk117A4/OaTRt2vTDQmeQ250y/Xf5iZA5ZkgPbwb2j+BlJ4CFGS/l9YH75CGL4Co/tONN4QLXH7x38Pg2tKTHYkS2DVhYCZKZvmmkb99y3NtE52fJEIQj5PXcQKppaaSJa/MZb6AnpwDwIx7qXZZZpFVe1WNdG08fHtSmaFgIn1H3xvuUNvT/dOZ6n0DyIaR6Bte1mMZQ0g2QksKmDYJthkBTpZllSOaBF8XWxiMXzYiorEarCY6Y0IQCuQv3MzXvMfe0zwR55O+qfY+DkdYrGRKSMqsqkqYP5QimJmvv4YdAgDBFtepfGsAxAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Rz97qywwJLfTsLwGTN3c/x5dL1I1CWkX0dn7p+InnZs=;
 b=Y4n6j1P96/M/7S6Q7YbyPj1Q2DbG6wh0kazIXYPIIvxOH+cDOLhuI+Q9QCTRBRVbq5qnkNRXzfezhl4jdCwjdLVjrfMb24993bORt+QQulTBFnn1mDlZqf7LTrukwnARNbXAVe8YnBNat7AjZGOs6gIopzuyEaOqbrbgwiJwjc065r1d92pbetCBwjSXf25FDL+WWFZ80sEMgExEz5kFwp8JYm4B188Z27sRvtg1VfllTwQTqJyzPcT5Xfq9cTQ7X0bB307/+yCjCbP0Q/v2Ar5mZWwEmN6tppccHaXyX0/Ogutpl5MbgadLNvzFr33/nICFaQRZ7nfjWBQKWqemxg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Rz97qywwJLfTsLwGTN3c/x5dL1I1CWkX0dn7p+InnZs=;
 b=AMBzBG0NKXBe0azjNHV7tpab+03DCrRik5PJK1h+0BSc1znw2jlTvFFrOu04lKvFs/LULawqLSJM9O381bHqp7H5O50bd6fiAKMrSp09UiUf0fp7/j3Dgz3WR2ctQIyHb0YgCnQREeZjf7dtZcledVsmUoCwxVoRZDQ6FuPpkXY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	Julien Grall <julien@xen.org>
Subject: [PATCH for-4.22 2/5] tools/macros: adjust ROUNDUP() interface to match hypervisor
Date: Mon,  1 Jun 2026 17:43:29 +0200
Message-ID: <20260601154332.30797-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260601154332.30797-1-roger.pau@citrix.com>
References: <20260601154332.30797-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: BN9PR03CA0098.namprd03.prod.outlook.com
 (2603:10b6:408:fd::13) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|BN8PR03MB5027:EE_
X-MS-Office365-Filtering-Correlation-Id: b0dee85a-29ac-41c2-8d85-08debff49c8d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|56012099006|11063799006|6133799003|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	CenyeQSKmY6qwazr0Nx5POgYu28gTHmSEznHbqU8yvlA6qfppvqTHdywbzBgZLVSirwx8whRIImvoUh7ngbuh4Fb7+t7hubYtZZJDShjGcDOhHsx583eS7MceudMgvipIhiCBP3hGTzNekJji5uvDP5Rd8N00EzBaLthDYdU9b+4JSccXRMGhlr8Uh/YqWRgo3ePIsmiymRBmTTER8syHWj/1W35HobIGCUanPbfPAjPeWvAfEs1FdggvWyEYQh9jeQbEh+7NbI0AG7xF1vkizmHGw0pY7Dh67QV0QOx0BJzlkaYZa0Q4s9u0F6rqd4WbEqYtGf3lb30X+rRyQ+EEeVroYWilcjMglIDgpoVakcKXg2t9gneKhz3+OQbwVAOEp/X9lw2kvtzNYrEjuXD8OulrtLsCcRI/HiNcFn6RD2IdUHAPVhqTDCqMrIufRZH4uUS1vHsSACdZgArEsYtjXFYc9Gz32W/W0cNxyiJTpGhXBOzqdGGenkh1eflAOzml0qLjGbf2Az8nA44mZ0C6J+wTHXRhtyYm93DGOEHkf8RuqqGtAV/ON//aY4pg0+sg56QP7rojSd4rUDKRZLN/6jtnXHaUrMoxYFEMjF49L+7K8VuWFfXL/o1ExDMi/u7TFYe5zqkOMZcELQcoAYso7uLPSXRL5SstiVbAAGiW2611lKapzaRL/tL1WE4GKX6
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(56012099006)(11063799006)(6133799003)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cWQ4dXozckJvVEJCUjl1cGdxbUZ4T1FsSmtGVlVlbmNOSU1zTmVRWmFpZXVN?=
 =?utf-8?B?RjdrZmdNeXVrK05veVpaS3J4TVcyU3B1QXBlNlI3bGtVMUZJd20zVjFobGV1?=
 =?utf-8?B?WFJOL200V2tUNjgzUSt5eWhWcDJjT2o0OHJJSVVXRTc4TWplR0JrUkxEb0lL?=
 =?utf-8?B?Y0ZYa1Fta2R0WUd5dWJOTGhjK1gvTTBha3AyTjQwYnJFdUtITTErRUR1UjdE?=
 =?utf-8?B?c2JzRWhzQVVoeExpb1dQaStuUnJHa0FZTWVkQTZIa0ZHSnFoeUNmQ1d1bnVp?=
 =?utf-8?B?b29aWUM1cThlMDNjWGxXeWFCdlVRbVZyN3M0TTQ0bmFCd0NzYWRxOXZRSEJk?=
 =?utf-8?B?ZW12UnYydzRUUmkxME12ZkZQZ29MKzFXU2hURnVMRkFCOW1hZUhiSUlGTXV3?=
 =?utf-8?B?TXVuOTZYRVYvVmZXT0YzMzFCWjYyakZBSk1KcisxdnBOdVBSVkVoaEg1OUZD?=
 =?utf-8?B?RUloZGY5NVZIZjAzdXc0M1dVS3NOQWVIRDFibEtrUmdPcWdNM1BiVTBjUFYr?=
 =?utf-8?B?ZnN1UjlXaUk3Mk1HUDVmZTk3VmFOV0hUNHNyUjBUT3hEYXBKZzZYS1VFUWpq?=
 =?utf-8?B?YmtzQWc3OEpES0NtRGw0dnErbE9UN1NHQnZpblc2K0Zaa0Zwb1I5Z2dDTWow?=
 =?utf-8?B?bDhkRWl4RUp4SlkwTjNqbkFZSXBPWDNoa2phRWhmYklDNUNSYXdPanZENDg4?=
 =?utf-8?B?cjFCRThhMFBXbVQrb3l2K2pWK1VrVGFFS1N4cXU1czVtSzJMVHBETTBncll0?=
 =?utf-8?B?ZlJ4ZU5XWmF3L0lqODFNZU95dnJyRjF1aVV1Tkdlb2dqVkpXTlNlaCtGR3M2?=
 =?utf-8?B?RWozVitacjJKU01IcmZ5RHcxVDhMUjhZQWtuNm8xVlA5SkhpQVpSMmFzWFhW?=
 =?utf-8?B?eU1EcU1ZVmRhRGYvM240WHpydnNabzkxNU1ZUVFmazdGTkNFQzlwVmlMVjVG?=
 =?utf-8?B?d095bjFRSDFpNXJ3K3QzOXlUWW5GUkNGeWphZjNpZ1JGSG56R0pvM0xIcXVy?=
 =?utf-8?B?VEdib3BZdGZjZVhtVUtLWGYvZHgrdkZZSkF2VzZ0SEZUMnhwcHYvQWgxNmZr?=
 =?utf-8?B?eTF6TWExeXZqOWNkblFMeVQ0YUt2TlVUK0Q0cUNwYUZQbjZUVXJwb2p5NnJ0?=
 =?utf-8?B?WjhRaEVvYlkxREpqQ2gzcFhINXZmeGZWSWV4M0lUemNjVHYwRGlGaTRZQit6?=
 =?utf-8?B?ZmozWHNYUitBT0JkZFJZNW16Y0hKNmtIL0FUaVJZQlNVUmNUUHRibU9DYm56?=
 =?utf-8?B?Q0hINTdpZXlyQkFlMnArRTZPYWJobmtOOVhqRzBCeEN6Wm50cEt5R093K3o0?=
 =?utf-8?B?RERZdnNDeVlHK1ZLRmN4d3Bwb1MvNE1USytpS25kZnJQbTI5OFBBei9ZeHE4?=
 =?utf-8?B?UFlQZ0N4K2J1eFdWc1AvWSsxYmg3TWRMUHFrbUdZU3FjNjBxaEF2YnRvdUhv?=
 =?utf-8?B?SHB2VDFYOUdISmhKT1lodWtvNUIwa0Rka29scTlOcDQwRlpWbzB2amc4c1NU?=
 =?utf-8?B?SFQrUmdEWVNndXpOMHpHTHRqYlBuMWlNVHVFcVpKK1d1ZG1CdTlYVHV1YmJp?=
 =?utf-8?B?UXFDSFg0SkFYOFNyaThiSHd4NTk0Z3RaK2VLL2hZZ3YvMi9hYTE4M29ldlg2?=
 =?utf-8?B?bnVhdCt2cnk5Qk01Z0xFMlhUNXp0SnhPMUdHWkZ4MGNsY0RUM25FaVo5Z2c4?=
 =?utf-8?B?NHlzc2lld1FLTENBd0V2SlRZaGNGcVBuelN0bzJJdDJ2ZXpiR3AyNlhmT0xw?=
 =?utf-8?B?SnFLbjdBMTJFMFdxNmlnNVlMdWRpWWNmdTlUQkFBayt6dWdaZGNTYXNTTExN?=
 =?utf-8?B?bGprQWRQbmg2QVVzRlZFOWNObXkyUEpxcHY3dHUvckpPNlRONjRpRlF1QVY2?=
 =?utf-8?B?NjlGSDhWQmhnUXZERG5GMGxmV3lHQk1xODB1d1FSR0l2LzlSNEJWSVRDeG54?=
 =?utf-8?B?ektUNDJtdjA3THphdFEvVEhmZ0dqNGR2NVFIclpOUCttK2w4UDMrTFhIVjU2?=
 =?utf-8?B?MG1HSjhpYkY0ZGxMVlJHbC9aRzlNMzMvb2ZtV2pyQ3YxemF4T3hTVnVDWXFo?=
 =?utf-8?B?bHR3S25ucTZ0TE13NzJIZzZ3SG1tL0dUNnF0RlNhZzNVUDZ1VXVPZ1ZMU0E0?=
 =?utf-8?B?T3BDVzNoc2JSYzhsL0labU1VMVZLcS9ITER3UU1hc2xta2xWV3pGQjZMQTFB?=
 =?utf-8?B?cTJsZVlnWVZ3amlzcmRHMDNVNUV3NGVqeHo3SW5aR1FmTlZqbElVSEVtbnEr?=
 =?utf-8?B?RG1vYlVpSTVESmtYajBVei9mb0ZrbnFWdjFGc1J6MVNzd1lDZml6SldJSUI2?=
 =?utf-8?B?Q2F2U0hTc2NFSEh1ZjZodUlqYk84RGkzNWVWUzFVb1AwZ2VGQ3JiZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b0dee85a-29ac-41c2-8d85-08debff49c8d
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2026 15:44:05.4547
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: yopaAGplkIF4jPcmvsvl0gN+IvTEjlEb8mwSwrn7N11WmKa+4eS1vd0as2S9eSeYLedHpIdOR0JAVv7UlEisGg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB5027
X-purgate-ID: tlsNG-c201ff/1780328649-E119B443-F488259D/0/0
X-purgate-type: clean
X-purgate-size: 19673

Adjust user-space callers to use the new interface.  No functional change
intended.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 tools/console/daemon/io.c                 |  2 +-
 tools/include/xen-tools/common-macros.h   |  4 +---
 tools/libs/call/buffer.c                  |  3 ++-
 tools/libs/foreignmemory/linux.c          |  2 +-
 tools/libs/gnttab/freebsd.c               |  2 +-
 tools/libs/gnttab/linux.c                 |  2 +-
 tools/libs/guest/xg_core.c                |  2 +-
 tools/libs/guest/xg_dom_arm.c             |  6 +++---
 tools/libs/guest/xg_dom_x86.c             |  2 +-
 tools/libs/guest/xg_private.h             |  4 ++--
 tools/libs/guest/xg_sr_common.c           |  6 +++---
 tools/libs/guest/xg_sr_stream_format.h    |  2 +-
 tools/libs/light/libxl_arm_acpi.c         | 24 +++++++++++------------
 tools/libs/light/libxl_create.c           |  2 +-
 tools/libs/light/libxl_sr_stream_format.h |  2 +-
 tools/libs/light/libxl_stream_read.c      |  2 +-
 tools/libs/light/libxl_stream_write.c     |  4 ++--
 tools/misc/xen-mfndump.c                  |  2 +-
 tools/ocaml/libs/xc/xenctrl_stubs.c       |  2 +-
 tools/xenstored/core.c                    |  4 ++--
 tools/xenstored/domain.c                  |  9 +++++----
 tools/xenstored/watch.c                   |  2 +-
 22 files changed, 45 insertions(+), 45 deletions(-)

diff --git a/tools/console/daemon/io.c b/tools/console/daemon/io.c
index 43d4973c247c..b6c46d11dea7 100644
--- a/tools/console/daemon/io.c
+++ b/tools/console/daemon/io.c
@@ -1233,7 +1233,7 @@ static int set_fds(int fd, short events)
 		/* Round up to 2^8 boundary, in practice this just
 		 * make newsize larger than current_array_size.
 		 */
-		newsize = ROUNDUP(nr_fds + 1, 8);
+		newsize = ROUNDUP(nr_fds + 1, 1U << 8);
 
 		new_fds = realloc(fds, sizeof(struct pollfd)*newsize);
 		if (!new_fds)
diff --git a/tools/include/xen-tools/common-macros.h b/tools/include/xen-tools/common-macros.h
index 9838a108aaea..9e2799178235 100644
--- a/tools/include/xen-tools/common-macros.h
+++ b/tools/include/xen-tools/common-macros.h
@@ -68,9 +68,7 @@
     })
 #endif
 
-#ifndef ROUNDUP
-#define ROUNDUP(_x,_w) (((unsigned long)(_x)+(1UL<<(_w))-1) & ~((1UL<<(_w))-1))
-#endif
+#define ROUNDUP(x, a) (((x) + (a) - 1) & ~((a) - 1))
 
 #define MASK_EXTR(v, m) (((v) & (m)) / ((m) & -(m)))
 #define MASK_INSR(v, m) (((v) * ((m) & -(m))) & (m))
diff --git a/tools/libs/call/buffer.c b/tools/libs/call/buffer.c
index 2579b8c71986..155e4f9d43eb 100644
--- a/tools/libs/call/buffer.c
+++ b/tools/libs/call/buffer.c
@@ -155,7 +155,8 @@ struct allocation_header {
 
 void *xencall_alloc_buffer(xencall_handle *xcall, size_t size)
 {
-    size_t actual_size = ROUNDUP(size + sizeof(struct allocation_header), PAGE_SHIFT);
+    size_t actual_size = ROUNDUP(size + sizeof(struct allocation_header),
+                                 PAGE_SIZE);
     int nr_pages = actual_size >> PAGE_SHIFT;
     struct allocation_header *hdr;
 
diff --git a/tools/libs/foreignmemory/linux.c b/tools/libs/foreignmemory/linux.c
index 12f959765abd..6d2f30cdf1b6 100644
--- a/tools/libs/foreignmemory/linux.c
+++ b/tools/libs/foreignmemory/linux.c
@@ -198,7 +198,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_handle *fmem,
          */
         privcmd_mmapbatch_t ioctlx;
         xen_pfn_t *pfn;
-        unsigned int pfn_arr_size = ROUNDUP((num * sizeof(*pfn)), XC_PAGE_SHIFT);
+        unsigned int pfn_arr_size = ROUNDUP(num * sizeof(*pfn), XC_PAGE_SIZE);
         int os_page_size = sysconf(_SC_PAGESIZE);
 
         if ( pfn_arr_size <= os_page_size )
diff --git a/tools/libs/gnttab/freebsd.c b/tools/libs/gnttab/freebsd.c
index d69d928a165e..801274478217 100644
--- a/tools/libs/gnttab/freebsd.c
+++ b/tools/libs/gnttab/freebsd.c
@@ -74,7 +74,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
     int domids_stride;
     unsigned int refs_size = ROUNDUP(count *
                                      sizeof(struct ioctl_gntdev_grant_ref),
-                                     XC_PAGE_SHIFT);
+                                     XC_PAGE_SIZE);
     int os_page_size = getpagesize();
 
     domids_stride = (flags & XENGNTTAB_GRANT_MAP_SINGLE_DOMAIN) ? 0 : 1;
diff --git a/tools/libs/gnttab/linux.c b/tools/libs/gnttab/linux.c
index 7286c1d4fe83..829877e64baa 100644
--- a/tools/libs/gnttab/linux.c
+++ b/tools/libs/gnttab/linux.c
@@ -101,7 +101,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
         map = alloca(map_size);
     else
     {
-        map_size = ROUNDUP(map_size, XC_PAGE_SHIFT);
+        map_size = ROUNDUP(map_size, XC_PAGE_SIZE);
         map = mmap(NULL, map_size, PROT_READ | PROT_WRITE,
                    MAP_PRIVATE | MAP_ANON | MAP_POPULATE, -1, 0);
         if ( map == MAP_FAILED )
diff --git a/tools/libs/guest/xg_core.c b/tools/libs/guest/xg_core.c
index f83436d6cbf8..d3640f0ef891 100644
--- a/tools/libs/guest/xg_core.c
+++ b/tools/libs/guest/xg_core.c
@@ -696,7 +696,7 @@ xc_domain_dumpcore_via_callback(xc_interface *xch,
     for ( i = 1; i < sheaders->num; i++ )
         sheaders->shdrs[i].sh_offset += fixup;
     offset += fixup;
-    dummy_len = ROUNDUP(offset, PAGE_SHIFT) - offset; /* padding length */
+    dummy_len = ROUNDUP(offset, PAGE_SIZE) - offset; /* padding length */
     offset += dummy_len;
 
     /* pages */
diff --git a/tools/libs/guest/xg_dom_arm.c b/tools/libs/guest/xg_dom_arm.c
index c8d091850622..739ec1c33837 100644
--- a/tools/libs/guest/xg_dom_arm.c
+++ b/tools/libs/guest/xg_dom_arm.c
@@ -364,12 +364,12 @@ static int meminit(struct xc_dom_image *dom)
 
     /* Convenient */
     const uint64_t kernbase = dom->kernel_seg.vstart;
-    const uint64_t kernend = ROUNDUP(dom->kernel_seg.vend, 21/*2MB*/);
+    const uint64_t kernend = ROUNDUP(dom->kernel_seg.vend, MB(2));
     const uint64_t kernsize = kernend - kernbase;
     const uint64_t dtb_size = dom->devicetree_blob ?
-        ROUNDUP(dom->devicetree_size, XC_PAGE_SHIFT) : 0;
+        ROUNDUP(dom->devicetree_size, XC_PAGE_SIZE) : 0;
     const uint64_t ramdisk_size = dom->modules[0].blob ?
-        ROUNDUP(dom->modules[0].size, XC_PAGE_SHIFT) : 0;
+        ROUNDUP(dom->modules[0].size, XC_PAGE_SIZE) : 0;
     const uint64_t modsize = dtb_size + ramdisk_size;
     const uint64_t ram128mb = bankbase[0] + (128<<20);
 
diff --git a/tools/libs/guest/xg_dom_x86.c b/tools/libs/guest/xg_dom_x86.c
index 268936efe25b..9af83535944a 100644
--- a/tools/libs/guest/xg_dom_x86.c
+++ b/tools/libs/guest/xg_dom_x86.c
@@ -678,7 +678,7 @@ static int alloc_magic_pages_hvm(struct xc_dom_image *dom)
     {
         if ( dom->cmdline )
         {
-            dom->cmdline_size = ROUNDUP(strlen(dom->cmdline) + 1, 3);
+            dom->cmdline_size = ROUNDUP(strlen(dom->cmdline) + 1, 1U << 3);
             start_info_size += dom->cmdline_size;
         }
     }
diff --git a/tools/libs/guest/xg_private.h b/tools/libs/guest/xg_private.h
index 285229cf82a3..31a79bccf75e 100644
--- a/tools/libs/guest/xg_private.h
+++ b/tools/libs/guest/xg_private.h
@@ -135,7 +135,7 @@ typedef uint64_t x86_pgentry_t;
 #define PAGE_SIZE_X86           (1UL << PAGE_SHIFT_X86)
 #define PAGE_MASK_X86           (~(PAGE_SIZE_X86-1))
 
-#define NRPAGES(x) (ROUNDUP(x, PAGE_SHIFT) >> PAGE_SHIFT)
+#define NRPAGES(x) (ROUNDUP(x, PAGE_SIZE) >> PAGE_SHIFT)
 
 static inline xen_pfn_t xc_pfn_to_mfn(xen_pfn_t pfn, xen_pfn_t *p2m,
                                       unsigned gwidth)
@@ -167,7 +167,7 @@ int pin_table(xc_interface *xch, unsigned int type, unsigned long mfn,
  */
 #define M2P_SHIFT       L2_PAGETABLE_SHIFT_PAE
 #define M2P_CHUNK_SIZE  (1 << M2P_SHIFT)
-#define M2P_SIZE(_m)    ROUNDUP(((_m) * sizeof(xen_pfn_t)), M2P_SHIFT)
+#define M2P_SIZE(_m)    ROUNDUP(((_m) * sizeof(xen_pfn_t)), M2P_CHUNK_SIZE)
 #define M2P_CHUNKS(_m)  (M2P_SIZE((_m)) >> M2P_SHIFT)
 
 #if defined(__x86_64__) || defined(__i386__)
diff --git a/tools/libs/guest/xg_sr_common.c b/tools/libs/guest/xg_sr_common.c
index 7ccdc3b1f6aa..54dde924a7c0 100644
--- a/tools/libs/guest/xg_sr_common.c
+++ b/tools/libs/guest/xg_sr_common.c
@@ -56,11 +56,11 @@ const char *rec_type_to_str(uint32_t type)
 int write_split_record(struct xc_sr_context *ctx, struct xc_sr_record *rec,
                        void *buf, size_t sz)
 {
-    static const char zeroes[(1u << REC_ALIGN_ORDER) - 1] = { 0 };
+    static const char zeroes[REC_ALIGN - 1] = { 0 };
 
     xc_interface *xch = ctx->xch;
     typeof(rec->length) combined_length = rec->length + sz;
-    size_t record_length = ROUNDUP(combined_length, REC_ALIGN_ORDER);
+    size_t record_length = ROUNDUP(combined_length, REC_ALIGN);
     struct iovec parts[] = {
         { &rec->type,       sizeof(rec->type) },
         { &combined_length, sizeof(combined_length) },
@@ -110,7 +110,7 @@ int read_record(struct xc_sr_context *ctx, int fd, struct xc_sr_record *rec)
         return -1;
     }
 
-    datasz = ROUNDUP(rhdr.length, REC_ALIGN_ORDER);
+    datasz = ROUNDUP(rhdr.length, REC_ALIGN);
 
     if ( datasz )
     {
diff --git a/tools/libs/guest/xg_sr_stream_format.h b/tools/libs/guest/xg_sr_stream_format.h
index 8a0da26f7543..4310f4311e65 100644
--- a/tools/libs/guest/xg_sr_stream_format.h
+++ b/tools/libs/guest/xg_sr_stream_format.h
@@ -53,7 +53,7 @@ struct xc_sr_rhdr
 };
 
 /* All records must be aligned up to an 8 octet boundary */
-#define REC_ALIGN_ORDER               (3U)
+#define REC_ALIGN                     (1U << 3)
 /* Somewhat arbitrary - 128MB */
 #define REC_LENGTH_MAX                (128U << 20)
 
diff --git a/tools/libs/light/libxl_arm_acpi.c b/tools/libs/light/libxl_arm_acpi.c
index ba874c3d3224..ac8165de15b6 100644
--- a/tools/libs/light/libxl_arm_acpi.c
+++ b/tools/libs/light/libxl_arm_acpi.c
@@ -107,12 +107,12 @@ int libxl__get_acpi_size(libxl__gc *gc,
     if (rc < 0)
         goto out;
 
-    *out = ROUNDUP(size, 3) +
-           ROUNDUP(sizeof(struct acpi_table_rsdp), 3) +
-           ROUNDUP(sizeof(struct acpi_table_xsdt), 3) +
-           ROUNDUP(sizeof(struct acpi_table_gtdt), 3) +
-           ROUNDUP(sizeof(struct acpi_table_fadt), 3) +
-           ROUNDUP(sizeof(dsdt_anycpu_arm_len), 3);
+    *out = ROUNDUP(size, 1U << 3) +
+           ROUNDUP(sizeof(struct acpi_table_rsdp), 1U << 3) +
+           ROUNDUP(sizeof(struct acpi_table_xsdt), 1U << 3) +
+           ROUNDUP(sizeof(struct acpi_table_gtdt), 1U << 3) +
+           ROUNDUP(sizeof(struct acpi_table_fadt), 1U << 3) +
+           ROUNDUP(sizeof(dsdt_anycpu_arm_len), 1U << 3);
 
 out:
     return rc;
@@ -128,7 +128,7 @@ static int libxl__allocate_acpi_tables(libxl__gc *gc,
 
     acpitables[RSDP].addr = GUEST_ACPI_BASE;
     acpitables[RSDP].size = sizeof(struct acpi_table_rsdp);
-    dom->acpi_modules[0].length += ROUNDUP(acpitables[RSDP].size, 3);
+    dom->acpi_modules[0].length += ROUNDUP(acpitables[RSDP].size, 1U << 3);
 
     acpitables[XSDT].addr = GUEST_ACPI_BASE + dom->acpi_modules[0].length;
     /*
@@ -137,11 +137,11 @@ static int libxl__allocate_acpi_tables(libxl__gc *gc,
      */
     acpitables[XSDT].size = sizeof(struct acpi_table_xsdt) +
                             sizeof(uint64_t) * 2;
-    dom->acpi_modules[0].length += ROUNDUP(acpitables[XSDT].size, 3);
+    dom->acpi_modules[0].length += ROUNDUP(acpitables[XSDT].size, 1U << 3);
 
     acpitables[GTDT].addr = GUEST_ACPI_BASE + dom->acpi_modules[0].length;
     acpitables[GTDT].size = sizeof(struct acpi_table_gtdt);
-    dom->acpi_modules[0].length += ROUNDUP(acpitables[GTDT].size, 3);
+    dom->acpi_modules[0].length += ROUNDUP(acpitables[GTDT].size, 1U << 3);
 
     acpitables[MADT].addr = GUEST_ACPI_BASE + dom->acpi_modules[0].length;
 
@@ -150,15 +150,15 @@ static int libxl__allocate_acpi_tables(libxl__gc *gc,
         goto out;
 
     acpitables[MADT].size = size;
-    dom->acpi_modules[0].length += ROUNDUP(acpitables[MADT].size, 3);
+    dom->acpi_modules[0].length += ROUNDUP(acpitables[MADT].size, 1U << 3);
 
     acpitables[FADT].addr = GUEST_ACPI_BASE + dom->acpi_modules[0].length;
     acpitables[FADT].size = sizeof(struct acpi_table_fadt);
-    dom->acpi_modules[0].length += ROUNDUP(acpitables[FADT].size, 3);
+    dom->acpi_modules[0].length += ROUNDUP(acpitables[FADT].size, 1U << 3);
 
     acpitables[DSDT].addr = GUEST_ACPI_BASE + dom->acpi_modules[0].length;
     acpitables[DSDT].size = dsdt_anycpu_arm_len;
-    dom->acpi_modules[0].length += ROUNDUP(acpitables[DSDT].size, 3);
+    dom->acpi_modules[0].length += ROUNDUP(acpitables[DSDT].size, 1U << 3);
 
     assert(dom->acpi_modules[0].length <= GUEST_ACPI_SIZE);
     dom->acpi_modules[0].data = libxl__zalloc(gc, dom->acpi_modules[0].length);
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index 6fd62d140389..a8b0c8c50070 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -600,7 +600,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_config *d_config,
                 .opts = 0, /* .opts will be set below */
                 .nr = b_info->altp2m_count,
             },
-            .vmtrace_size = ROUNDUP(b_info->vmtrace_buf_kb << 10, XC_PAGE_SHIFT),
+            .vmtrace_size = ROUNDUP(b_info->vmtrace_buf_kb << 10, XC_PAGE_SIZE),
             .cpupool_id = info->poolid,
         };
 
diff --git a/tools/libs/light/libxl_sr_stream_format.h b/tools/libs/light/libxl_sr_stream_format.h
index f8f4723c2e91..b02c954a388e 100644
--- a/tools/libs/light/libxl_sr_stream_format.h
+++ b/tools/libs/light/libxl_sr_stream_format.h
@@ -29,7 +29,7 @@ typedef struct libxl__sr_rec_hdr
 } libxl__sr_rec_hdr;
 
 /* All records must be aligned up to an 8 octet boundary */
-#define REC_ALIGN_ORDER              3U
+#define REC_ALIGN                    (1U << 3)
 
 #define REC_TYPE_END                    0x00000000U
 #define REC_TYPE_LIBXC_CONTEXT          0x00000001U
diff --git a/tools/libs/light/libxl_stream_read.c b/tools/libs/light/libxl_stream_read.c
index e64e8f0eadec..99c7607b6c54 100644
--- a/tools/libs/light/libxl_stream_read.c
+++ b/tools/libs/light/libxl_stream_read.c
@@ -511,7 +511,7 @@ static void record_header_done(libxl__egc *egc,
         return;
     }
 
-    size_t bytes_to_read = ROUNDUP(rec->hdr.length, REC_ALIGN_ORDER);
+    size_t bytes_to_read = ROUNDUP(rec->hdr.length, REC_ALIGN);
     rec->body = libxl__malloc(NOGC, bytes_to_read);
 
     rc = setup_read(stream, "record body",
diff --git a/tools/libs/light/libxl_stream_write.c b/tools/libs/light/libxl_stream_write.c
index 98d44597a732..9ea64369352f 100644
--- a/tools/libs/light/libxl_stream_write.c
+++ b/tools/libs/light/libxl_stream_write.c
@@ -119,7 +119,7 @@ static void setup_generic_write(libxl__egc *egc,
                                 void *body,
                                 sws_record_done_cb cb)
 {
-    static const uint8_t zero_padding[1U << REC_ALIGN_ORDER] = { 0 };
+    static const uint8_t zero_padding[REC_ALIGN] = { 0 };
 
     libxl__datacopier_state *dc = &stream->dc;
     int rc;
@@ -136,7 +136,7 @@ static void setup_generic_write(libxl__egc *egc,
         return;
     }
 
-    size_t padsz = ROUNDUP(hdr->length, REC_ALIGN_ORDER) - hdr->length;
+    size_t padsz = ROUNDUP(hdr->length, REC_ALIGN) - hdr->length;
     uint32_t length = hdr->length;
 
     /* Insert header */
diff --git a/tools/misc/xen-mfndump.c b/tools/misc/xen-mfndump.c
index 28687afbf01a..99a0b1d3b5c0 100644
--- a/tools/misc/xen-mfndump.c
+++ b/tools/misc/xen-mfndump.c
@@ -10,7 +10,7 @@
 
 #include <xen-tools/common-macros.h>
 
-#define M2P_SIZE(_m)    ROUNDUP(((_m) * sizeof(xen_pfn_t)), 21)
+#define M2P_SIZE(_m)    ROUNDUP(((_m) * sizeof(xen_pfn_t)), MB(2))
 #define is_mapped(pfn_type) (!((pfn_type) & 0x80000000UL))
 
 #define ERROR(msg, args...) fprintf(stderr, msg, ## args)
diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c b/tools/ocaml/libs/xc/xenctrl_stubs.c
index c55f73b265b2..7f6381cdd2fe 100644
--- a/tools/ocaml/libs/xc/xenctrl_stubs.c
+++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
@@ -221,7 +221,7 @@ CAMLprim value stub_xc_domain_create(value xch_val, value wanted_domid, value co
 	if ( altp2m_nr != (uint16_t)altp2m_nr )
 		caml_invalid_argument("altp2m_count");
 
-	vmtrace_size = ROUNDUP(vmtrace_size << 10, XC_PAGE_SHIFT);
+	vmtrace_size = ROUNDUP(vmtrace_size << 10, XC_PAGE_SIZE);
 	if ( vmtrace_size != (uint32_t)vmtrace_size )
 		caml_invalid_argument("vmtrace_buf_kb");
 
diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index d6d462b7bc82..86c86b3e9a77 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -466,7 +466,7 @@ int set_fd(int fd, short events)
 		/* Round up to 2^8 boundary, in practice this just
 		 * make newsize larger than current_array_size.
 		 */
-		newsize = ROUNDUP(nr_fds + 1, 8);
+		newsize = ROUNDUP(nr_fds + 1, 1U << 8);
 
 		new_fds = realloc(poll_fds, sizeof(struct pollfd)*newsize);
 		if (!new_fds)
@@ -3067,7 +3067,7 @@ static int dump_state_node(const void *ctx, struct connection *conn,
 	head.length += node->hdr.num_perms * sizeof(*sn.perms);
 	head.length += pathlen;
 	head.length += node->hdr.datalen;
-	head.length = ROUNDUP(head.length, 3);
+	head.length = ROUNDUP(head.length, 1U << 3);
 
 	if (fwrite(&head, sizeof(head), 1, fp) != 1)
 		return dump_state_node_err(data, "Dump node head error");
diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
index 2db452144dd4..a880ff678ef9 100644
--- a/tools/xenstored/domain.c
+++ b/tools/xenstored/domain.c
@@ -2159,7 +2159,7 @@ const char *dump_state_connections(FILE *fp)
 		if (ret)
 			return ret;
 		head.length += sc.data_in_len + sc.data_out_len;
-		head.length = ROUNDUP(head.length, 3);
+		head.length = ROUNDUP(head.length, 1U << 3);
 		if (c->domain) {
 			sc.fields |= XS_STATE_CONN_FIELDS_UNIQ_ID;
 			head.length += sizeof(uint64_t);
@@ -2232,7 +2232,8 @@ void read_state_connection(const void *ctx, const void *state)
 		unsigned long off;
 
 		off = sizeof(*sc) + sc->data_in_len + sc->data_out_len;
-		domain->unique_id = *(uint64_t *)(state + ROUNDUP(off, 3));
+		domain->unique_id =
+		    *(uint64_t *)(state + ROUNDUP(off, 1U << 3));
 	}
 }
 
@@ -2308,7 +2309,7 @@ static int dump_state_domain(const void *k, void *v, void *arg)
 	n_quota = get_quota_size(domain->acc, &rec_len);
 	rec_len += n_quota * sizeof(sd->quota_val[0]);
 	rec_len += sizeof(*sd);
-	rec_len = ROUNDUP(rec_len, 3);
+	rec_len = ROUNDUP(rec_len, 1U << 3);
 
 	record = talloc_size(NULL, rec_len + sizeof(*head));
 	if (!record)
@@ -2372,7 +2373,7 @@ const char *dump_state_glb_quota(FILE *fp)
 	n_quota = get_quota_size(quotas, &rec_len);
 	rec_len += n_quota * sizeof(glb->quota_val[0]);
 	rec_len += sizeof(*glb);
-	rec_len = ROUNDUP(rec_len, 3);
+	rec_len = ROUNDUP(rec_len, 1U << 3);
 
 	record = talloc_size(NULL, rec_len + sizeof(*head));
 	if (!record)
diff --git a/tools/xenstored/watch.c b/tools/xenstored/watch.c
index a9a06e9e4816..309c5bb66bef 100644
--- a/tools/xenstored/watch.c
+++ b/tools/xenstored/watch.c
@@ -349,7 +349,7 @@ const char *dump_state_watches(FILE *fp, struct connection *conn,
 		}
 
 		head.length += path_len + token_len;
-		head.length = ROUNDUP(head.length, 3);
+		head.length = ROUNDUP(head.length, 1U << 3);
 		if (fwrite(&head, sizeof(head), 1, fp) != 1)
 			return "Dump watch state error";
 
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 15:44:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 15:44:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323941.1589626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU4oI-0006h7-Ai; Mon, 01 Jun 2026 15:44:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323941.1589626; Mon, 01 Jun 2026 15: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 1wU4oI-0006gu-5f; Mon, 01 Jun 2026 15:44:14 +0000
Received: by outflank-mailman (input) for mailman id 1323941;
 Mon, 01 Jun 2026 15:44:13 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wU4oH-0006fh-C3
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 15:44:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU4oG-00BHey-NX
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 17:44:12 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1da8ba-e002-0a2a0a5209dd-0a2a450880c8-40
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:44:12 +0200
Received: from [209.85.218.46] (helo=mail-ej1-f46.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1da8cc-63b5-0a2a45080019-d155da2ebdb4-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:44:12 +0200
Received: by mail-ej1-f46.google.com with SMTP id
 a640c23a62f3a-bed19623d6eso180917066b.1
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 08:44:12 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-be9d32d37b2sm353748766b.24.2026.06.01.08.44.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 01 Jun 2026 08:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780328652; x=1780933452; 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=Dhh3aknkmaLv0kAkw3FyTA3SDyH+omzqwzUqSrQ78Ds=;
        b=odaxBavqgHK2qirvjgfm4oe1UiF7c+SXBSuz7Nv4JGeqSmsH7zr2DL5RC1AXoWyR0G
         aE293HOeMwy/a4pPV7q7m+ClQNBonnOjoa7QjomKfTS6cJkDGcZ5hwB9CPTpFMiJNFR0
         +I4IL/R0YNYQa8cksw2hUUetfRrUZYXla26IIWxwFG4krLlmRGO4RZ/gmvgjo0LAWnoO
         dzARdwCJyHKIhk2Hrvzc6EU7zoE+rOgFd4CFQtcIN76Lh0v4fEz4Jg1qujFfz9bokbez
         cSHyUx8j669MOrY/ahqYyj18FMjgEcKgCq2sUhMc42zFaFQq5RgkHvvt3GkD003ZIvA3
         H1HA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780328652; x=1780933452;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Dhh3aknkmaLv0kAkw3FyTA3SDyH+omzqwzUqSrQ78Ds=;
        b=E2Dae6jIbIlRO9daaRW3YamFDlJw2BJ31U6PdqahqL0Hq5z6TksLJEYql8UAzKvjXm
         2YSAzN1YtIuDm1tiGT9ooE0SS16wsgqVa+Uf2if7NyYUvDw5ks9G9W7ubyeSNK/hopCX
         D4s/OzquWUip3Wg2n+LvVJB36SfEnP+5ARzFDTEyJ3x0GVBtq9K9zc15+/gNqndjhr9P
         gRNiykBefKoGDzSGdWmWyRDj2BP0vPhKjHHnGhcZZXdfi8mfjsaZSSYJXQ0m7qcp2Beu
         dgNDX2akzNjgos71h8SKsC+y4P9WDIZdz+Q53/eUNCmoQw43nMy+G1T88wk5A1ARG560
         fD5g==
X-Forwarded-Encrypted: i=1; AFNElJ9we/Dw+U8aFwtCeO3bnXrjtviYB93Z2T3sAL0T+qIS5cLeYayQ3W//DTSt+EUj1qnw6BZa137xVTQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxqs0dMGmz6YWpsuhyWKqOdtz7oxY8NHUZDDNrZPfaAULIW7uj2
	MkxCTy+J971XKxUANIwvFOPp68rBy1J0PCEvt6F5aNpdqYxGmOcaBBmt
X-Gm-Gg: Acq92OHc6jyZt/XOeBaz+WqslYCfIrfGVZ2hVoocx5ktsWF2QV4nmLsA6QVANNNJ9tf
	qFTNbT9DRsKQag45cBaTkVJ2G+D5Xz7FM9o24ejebgh7P8m9R0tNfWmcB6XADLlAbJ4YiqiKMUB
	sHLpQX0QvO8Fpck+R07GtXwaH/4cV6CQi2TASxTedxddLpD2d4JzoMG6XuRBPcTSA/MWCYz/k9u
	Mrmvg1bpEkaDKIRWc+yOO9w0vI+H0d3JTaq2y6tmkdv7T2HuKPvySzRLsRKxlAsa/wLdFIVgBHh
	7M+Zy8pkeAGBfUP9E1gzQwb75ODtA7bJeHQuaA5IQCnK2YwaxoQieb8ym6Er8AHvU7scFlAye8n
	M9Ni5V+eTP7kJK6vABkAlKrjf1J5gUeZDgAMZouUWukTUqDDvc/njLThiRsOCPSf3H6rOQaL1NE
	glhKdk1OT0QOur5Oj/Qfizzg3ZxnX+KMTo0J2MBCjg1oiUMtRWS2/xClnGeF5A27wekfe0YogIg
	XD3s3H+Q7S6DK+d
X-Received: by 2002:a17:907:b5a0:b0:bee:6806:d69a with SMTP id a640c23a62f3a-bee6806de9amr120075766b.38.1780328651977;
        Mon, 01 Jun 2026 08:44:11 -0700 (PDT)
Message-ID: <05e9d637-0293-42f0-9e36-b3fe4eef6840@gmail.com>
Date: Mon, 1 Jun 2026 17:44:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] Update Xen version to 4.22.0-rc1
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <20260601152709.2588210-1-andrew.cooper3@citrix.com>
 <20260601152709.2588210-3-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260601152709.2588210-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c1860d/1780328652-B6F72DB1-05FB61A8/10/73395122804
X-purgate-type: spam
X-purgate-size: 2537



On 6/1/26 5:27 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>
> ---
>   README       | 10 +++++-----
>   SUPPORT.md   |  2 +-
>   xen/Makefile |  2 +-
>   3 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/README b/README
> index 889a4ea906d6..3dcc00c4a4ad 100644
> --- a/README
> +++ b/README
> @@ -1,9 +1,9 @@
>   ############################################################
> -__  __                                _        _     _
> -\ \/ /___ _ __        _   _ _ __  ___| |_ __ _| |__ | | ___
> - \  // _ \ '_ \ _____| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
> - /  \  __/ | | |_____| |_| | | | \__ \ || (_| | |_) | |  __/
> -/_/\_\___|_| |_|      \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
> +__  __            _  _    ____  ____
> +\ \/ /___ _ __   | || |  |___ \|___ \    _ __ ___
> + \  // _ \ '_ \  | || |_   __) | __) |__| '__/ __|
> + /  \  __/ | | | |__   _| / __/ / __/|__| | | (__
> +/_/\_\___|_| |_|    |_|(_)_____|_____|  |_|  \___|
>   
>   ############################################################
>   
> diff --git a/SUPPORT.md b/SUPPORT.md
> index 8e7ab7cb3ec8..abc7beac5b55 100644
> --- a/SUPPORT.md
> +++ b/SUPPORT.md
> @@ -9,7 +9,7 @@ for the definitions of the support status levels etc.
>   
>   # Release Support
>   
> -    Xen-Version: 4.22-unstable
> +    Xen-Version: 4.22-rc
>       Initial-Release: n/a
>       Supported-Until: TBD
>       Security-Support-Until: Unreleased - not yet security-supported
> diff --git a/xen/Makefile b/xen/Makefile
> index a2b442e76d5c..1f11610b5f68 100644
> --- a/xen/Makefile
> +++ b/xen/Makefile
> @@ -6,7 +6,7 @@ this-makefile := $(call lastword,$(MAKEFILE_LIST))
>   # All other places this is stored (eg. compile.h) should be autogenerated.
>   export XEN_VERSION       = 4
>   export XEN_SUBVERSION    = 22
> -export XEN_EXTRAVERSION ?= -unstable$(XEN_VENDORVERSION)
> +export XEN_EXTRAVERSION ?= .0-rc1$(XEN_VENDORVERSION)
>   export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
>   -include xen-version
>   

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

Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 15:44:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 15:44:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323942.1589634 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU4oK-0006yR-Me; Mon, 01 Jun 2026 15:44:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323942.1589634; Mon, 01 Jun 2026 15:44: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 1wU4oK-0006yD-IJ; Mon, 01 Jun 2026 15:44:16 +0000
Received: by outflank-mailman (input) for mailman id 1323942;
 Mon, 01 Jun 2026 15:44:15 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wU4oJ-0006tf-Ct
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 15:44:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU4oI-0007hv-Ps
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 17:44:14 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1da8cc-2eae-0a2a0a5409dd-0a2a450ba75c-6
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:44:14 +0200
Received: from [52.101.85.22]
 (helo=BYAPR05CU005.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1da8cc-212f-0a2a450b0019-346555167c7f-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:44:14 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by LV3PR03MB7453.namprd03.prod.outlook.com (2603:10b6:408:1a6::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.15; Mon, 1 Jun 2026
 15:44:09 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0071.014; Mon, 1 Jun 2026
 15:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=kBLI8zIhf9+iXwKkTCw6s49TVitfkr/MLDdtwhbbUWSW8ZPTzRqwD03aU6SN5/ijX4mT+hC8Ei4rxa9vHBlzIqRnvU2vNvnFOMxFpgo+c5WimYz56JYD+A3/0+Sc88cCU30M6m67tVpwAY6AsNH4YmvhPYffzdSEyoanYv7ukrOga5xKNmtHjlSN94+odmAxthCassuHDeJ5jF0S+MVQ+V8b3hHh24uvT5OO+JA46s8ckK6gM9kgdj5KQXHiNif/8D2w6PkSCjCU0KMfSOLk1COMhGt57HzNpAwxMRn2V9Ba5rQC2fN+pReoau9Y0GasrZvGljfpmEAk8VyN0LmSJA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yu9/xQAD77EIoxmFDVZnSIjHYBTCvLPxtQ2HQsAYi8c=;
 b=xH4UL8HtY14AUs4v72k8pY1FN24xTQQp43MvAyh0uypBg63ZrEGv0ZT7xgsEwfreKzpuP/4iR2JNoW7GGPuRc43YMMDJfzjHEpoDhk53Oj5ZJ0gt59IeWYQaG0TEUUACphqOCpOIVs6DhnIHQ76fesYGtyIBCpdGsB2fUtrLIMkkBMURCjzk75asadoz5VV4C4RHndoZAKhMaSXo6QPqKBEhHe7+RGjcwN8EiqoRpZSqDinyR/+KpkCsgJlMGbjF02OZDVINzBX3WWEML0c+aYT3dXL4U1eOpyqS/Qy/NLcCVnmX+WPf9eZFWawBQg3x1k5LbJNX3NLrq/uDsji1gg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yu9/xQAD77EIoxmFDVZnSIjHYBTCvLPxtQ2HQsAYi8c=;
 b=ahL+/u4/bvjusYOIa/JnzJVKwRy9Ku+Fe7SlyF4D8s64NTt1e8cqbqfvgZ+5FrgBPZiwMXUsowNdMKPuxol4EVMabA249zTOy4eOicZ1FyQf/r50Y8Ih+W1iphZcyxnIH6xOgHwT0AZEWPJTGj/n9jQJHRWsH3oSRRXp1lJAwb4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH for-4.22 3/5] xen/numa: prepare NUMA setup code for unit testing
Date: Mon,  1 Jun 2026 17:43:30 +0200
Message-ID: <20260601154332.30797-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260601154332.30797-1-roger.pau@citrix.com>
References: <20260601154332.30797-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: BN9PR03CA0867.namprd03.prod.outlook.com
 (2603:10b6:408:13d::32) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|LV3PR03MB7453:EE_
X-MS-Office365-Filtering-Correlation-Id: f760b89a-c32e-4b71-174d-08debff49ea5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|18002099003|6133799003|22082099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	A6DSZPIJIGyMhd/1Ewz875Vn7XeV5pQguAMQZ2CUUhUBqPCSK1Z3uTG5sFTX7FY8hZ/s8eg4Vra1VuHG/asa73Z6aTfxV00ll6IgOherxcO1xylv2AgHwaOytR6WCrxDyCrme3W3OJT0oJt5jD9UkOUeQHQBDxVtboGdId8Qg5E2mx4U+hRPUSuPipbw8p0lcDOaWgLYJKfSW2p1QLgZnFDKkR4cHSfBpJ/QXVikiqiJfNd08GwTUBrcG7oll81R8PJW99Qy6POO9GCPWgevM6RM0NAFvGeBtppccm/pjQHOCtDKmFsqHEjnjLhdZlYMSET6zTpNPec/kgrk9Z4bo0LZ1tsM3LRGtT2La1EgENkdqYDRv9nBZgOWojLJMcOQ7QQvWY/49xE02WE8TmnWmNFAsXDiqP9Acdd1Lq3aruSEznhxjDZzb2HoJHZLuwBGdKVyJkZ6mscS2ZfeG/nLVgyGb5GWUG6cMpoXLV3km5jRunKQaFHYftNzBQjGU5I9DrufnAj4+aFW+Dy/p7a6FzdqaHfeGebiy3xA4VXsdqZYrdraUUOT9QabowPvJ0F0d79B6yKL3ySW7qXUWHlacDTiuban4i8nm9kmMIFlMoMCSS3WCJcFonZYDPQhYLf5QVjaqPuNRdYJo1s4z6RLrjPuJ8Rycr9z28bL2MuWKY4TypOhUeT805nFvGzMKL4l
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(18002099003)(6133799003)(22082099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RmRlbjhiSnFuRzQrdmIydHIxKzgyQTBXYmF3dkxVRzRzMk5yaVpiZzA4eWVN?=
 =?utf-8?B?REc2TTFvSGpzUzJvcGM0QTFxSmxYUVpJY0ZCMytrcTdybnp0WE9OZ1lpQ0pF?=
 =?utf-8?B?OFFleTUzdWRIL2pRa2FqaFR5UVBtVE5YUFdkeHNaRW1ZSzlJV0xwWHhIMnJy?=
 =?utf-8?B?OWoydUo5UWpiWVNEejNqU1NmVkRxZ3VFWVpKQ0FwU04vOEYrSFgwRDRUWDBt?=
 =?utf-8?B?VEZsc01uWmxteEorNHErNlRDSHFtUGV3Z1ZBbWRNaEdRRVNqMGQzQjl6NWta?=
 =?utf-8?B?bFBFNXA1NmhzQm1GVWczcWd5eW91NWV0Wlo2czh1cHo4cEprYTJCcjA1MjhD?=
 =?utf-8?B?a2s1R0JRQVp1QmVWdjVFUThWS1owbkxoMEgxRG54ZWJzRHg5QWZtcFNEeWVi?=
 =?utf-8?B?V05PWkQxK1U5bHJLY3lBUkQwb2RwTmNUR1FrRlZqR1p2Y0J2UEtmTkt1OGpE?=
 =?utf-8?B?TlI4ZmhGUkY2K0VLYTJDQ2dxQnB0SUVLVTR1a0xFRzI2Nnh6RjhCNkVHS0FJ?=
 =?utf-8?B?ZXhmaFZ5MmREaExVeGtYWnF3OWl6dGlQOGxKMmw1aXQxRXh2RE51NWYzY200?=
 =?utf-8?B?RUNLQ2VDYm9qVXNNM2NybTFWaXZJd3QxRktHcVZXK1VidThTTzAwQjVwckRC?=
 =?utf-8?B?U0pQcDdmNTRFVXIzd2k3eG8yYVR5MnBGTHkyUXcrYWZ3VlVUMTh2OEJpV0lv?=
 =?utf-8?B?RnhSTFRjNk1seXNPNE5pTGdUYlNrc0tYK0V0VjE4SnVxRXlHN09KTWErVXJP?=
 =?utf-8?B?ZGZ0ZHg1Z0ZkRHNiSnNPdDAvWENtVUVEaGxrTFhTbkJWdmNReXExaVNDUFNB?=
 =?utf-8?B?NnJMWE5xTTBrNGFzRU12NG04STBBMjk1NVR1Um90ZSsrczlPRDRwREtZa1V1?=
 =?utf-8?B?YWFQRjRYb3AraFF5aTRqR3NYQzhzMGU1LzUwM2hnWVdSZWF5QTUwakZLcUFH?=
 =?utf-8?B?TEMxNms0R1oyNFUvVW1OSUFHMjYwRlZCWFR2dXpVT1RjVE1GWTU5REtkSTRE?=
 =?utf-8?B?NUNnUk42TlM0eDB0TzNIVkZXQi9BVW90RC9EcmdjZE9Mb1dmblBJSU55T3dC?=
 =?utf-8?B?WHk0aGZHZEFmNEdHRUY1Nm8wSzY5QVBlNWJPYUNlWEl1aVg1T2lXdTlXMlNZ?=
 =?utf-8?B?QzFkVml1RkcyV2c5eGgxWk1sN1NYOWVsNExlcmM2UWFTdmRsOGNvNHo0R0Jx?=
 =?utf-8?B?a1VKMDZTeFd5U3JWaU9ZWjZKTFc0YkVCai9QMEEzc1ZBeXo4S3loYjRRVHJy?=
 =?utf-8?B?YXl6dVFCRldRcGdlNkp4M2Q2a1lrVEw1aFlScHBTelBubXBqenA1NVlObDNW?=
 =?utf-8?B?UWs3RzRrczRVQTUwVFo5UzBaZmcvcnhISUl1SjNIRGRnT1pQb3pMcFNNWWEy?=
 =?utf-8?B?dTZlOGxwcXk3aXRTTEIxa3pXV1VyYlhmaSt2NHVtam9LVy9QTk9HS1lwQjh1?=
 =?utf-8?B?OEhaMTkzZm02eEVQSHlMb0RVcDEzSVhCMVFLZjd1TURpQzNmOEVCc1JiNnZG?=
 =?utf-8?B?eG5PL2ovTTUreXdsN2hwWk56bGhmNGRoYXVzQlAzelAwTjc2MUpHNzlMa01w?=
 =?utf-8?B?c29iV2t0RC9KNzI2OXcxRWcxTHZhVXM5M3I1V1N1Y0R4WlhIUG1pUFZ1bFM3?=
 =?utf-8?B?VE5ZMTh5dThjUzdOaHVQM292dDlhUDFjV252aTFNd2FsRis4K3FCYzB6M3h0?=
 =?utf-8?B?TmFyeGxnYW5RYmw2RXcvd01SOWx4SFp2aVM0aEN3YjhRb3pOcU8wSlhuYS92?=
 =?utf-8?B?TWJWK1lwVlg0NjZReFFGU1l0amZQK0hxd0RVQUVkc3RsNWE3Szkwc1Y1VDlE?=
 =?utf-8?B?eXVCQ3JBQ1dTMlgxSWVWMlZROXRTNkFNVkhYV1ZpcE1aWXJoUnpvL0tZeEMy?=
 =?utf-8?B?N2FCMVJwQ0tRempNRElwak5PMHpLU0RybFRwZWVaK1VFTGRLVGx6dHREbEE5?=
 =?utf-8?B?TFBvby94aUZOWk5OM2FVaGpKeGVDVjhvTS9RUU9Dd2JHTmpjVjhIQUN0SElz?=
 =?utf-8?B?dktiYUZheEpQM2pXb1F3cnl4VnIwQnBObEhQVVFCMnNTWEhobEIzWEl3M29s?=
 =?utf-8?B?YjNRb1NDOHB6UTRZYUg5RkZsbUxXVGlQY0hVNUczT056ajNQMHlLdE9jaEda?=
 =?utf-8?B?MUU2K1cvRDlRcnpWYjVlVkk4Z25BVjIvcEdSQnpINWhpRm12Z09HRSs2QlV0?=
 =?utf-8?B?TXlKTGRKaFc3dUpUY0hMR2xLcnUwY1IwYjBvTUJzWStoWXJURUxSdGhIMDk5?=
 =?utf-8?B?Sjl5ejhFKzMvZzcwUThkWTdJUmp2UG9QOVg5OEpkS0dhSTZDRm0xTXdiQSt5?=
 =?utf-8?B?NnU1U3dnOWhLaFUwYS9aRlZWN0MwMGlQYlp6WTNsMkRzbksyZkMvQT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f760b89a-c32e-4b71-174d-08debff49ea5
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2026 15:44:08.9369
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1iOGQpry8bBaWqNCPYfl1p84ioKUoDlnakTaFR1I+qcbLYW8nk6ZC5FKQM6dvCekkeTglGbzveufmoBqaqWejw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7453
X-purgate-ID: tlsNG-42698a/1780328654-1B77AF3B-CFD48377/0/0
X-purgate-type: clean
X-purgate-size: 1609

Introduce __XEN__ guards to differentiate between hypervisor vs unit test
builds.  Also move numa_set_node() so it's outside the __XEN__ guards.  No
functional change intended.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 xen/common/numa.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/xen/common/numa.c b/xen/common/numa.c
index ad75955a1622..8544a1598218 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -4,6 +4,7 @@
  * Adapted for Xen: Ryan Harper <ryanh@us.ibm.com>
  */
 
+#ifdef __XEN__
 #include <xen/init.h>
 #include <xen/keyhandler.h>
 #include <xen/mm.h>
@@ -13,6 +14,7 @@
 #include <xen/pfn.h>
 #include <xen/sched.h>
 #include <xen/softirq.h>
+#endif /* __XEN__ */
 
 static nodemask_t __initdata processor_nodes_parsed;
 static nodemask_t __initdata memory_nodes_parsed;
@@ -561,6 +563,12 @@ void __init numa_init_array(void)
     }
 }
 
+void numa_set_node(unsigned int cpu, nodeid_t node)
+{
+    cpu_to_node[cpu] = node;
+}
+
+#ifdef __XEN__
 #ifdef CONFIG_NUMA_EMU
 static unsigned int __initdata numa_fake;
 
@@ -661,11 +669,6 @@ void numa_add_cpu(unsigned int cpu)
     cpumask_set_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
 }
 
-void numa_set_node(unsigned int cpu, nodeid_t node)
-{
-    cpu_to_node[cpu] = node;
-}
-
 /* [numa=off] */
 static int __init cf_check numa_setup(const char *opt)
 {
@@ -830,3 +833,4 @@ static int __init cf_check register_numa_trigger(void)
     return 0;
 }
 __initcall(register_numa_trigger);
+#endif /* __XEN__ */
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 15:44:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 15:44:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323944.1589644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU4oM-0007FQ-17; Mon, 01 Jun 2026 15:44:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323944.1589644; Mon, 01 Jun 2026 15:44: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 1wU4oL-0007EW-RZ; Mon, 01 Jun 2026 15:44:17 +0000
Received: by outflank-mailman (input) for mailman id 1323944;
 Mon, 01 Jun 2026 15:44:16 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wU4oK-0006xe-Eg
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 15:44:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU4oJ-0007hv-RN
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 17:44:15 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1da8cc-2eae-0a2a0a5409dd-0a2a450ba75c-12
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:44:15 +0200
Received: from [52.101.85.22]
 (helo=BYAPR05CU005.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1da8cc-212f-0a2a450b0019-346555167c7f-4
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:44:15 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by LV3PR03MB7453.namprd03.prod.outlook.com (2603:10b6:408:1a6::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.15; Mon, 1 Jun 2026
 15:44:11 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0071.014; Mon, 1 Jun 2026
 15:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=uQx0a8Rr5iutAkcp2r6oOMB/S/zHyey9ohjai1lCRRpMdX6UcBn9VIrUaOJOdpqExaRHAIm7/9zv+aPLv3lDPbo74OGT7Lm6hArFCoRCrChlW5qpD7/SEfhNAzo4Dz7GfTwphH+Uszjz3ROHuttRv8UV8DTnietW0Uec3v7SnXF7QQ2FWbHp9gEn+RWkI74G4IfIdSC6bYAhluaocOiq5OqRG3hXgeYgbtvI6x5jYAOmleQmfpbXgBdBiP3oKPm79ebfrihDdNEaTqIrFFBVplIr9JtXWpYkTIxCgpAiOFB1IPu0QAo/Y+vSNfSCeArG7lXtd+t0wXvztNHNLXtPhg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=baK8cjPkKPNArYKcbk9tpmKQdKKjM8clHoyqodwv1j4=;
 b=PbEP1Z58ExsHi25tScLMeLt0XCtVpJIuW/mWyyL41fLBvd9cuujiQM2kE7W+N88dCJSHEjnE8R4pe1vyCKrW0M8rPmnoB/TOgQe7rBWBAf1aQ4H1+2OG2wnXn6KMB67aoFFpyFAcvb2si7hLX82k8PlRLThklvusDF3I43SAUsU42lfxfHOIGPj2FgJQlmfmXRAuO2dp2hCJx8MSaXi8dbbo+m+vv+KJdnwzsHTBL/C4nnmaYpTcnPqzN0d963a6niXCZix1E+7Lga0He3gQwjzVU+Tn6Ul2r94Ut2I+TeqCn6p5JfJV4qHY1sudgCZG1kGwPO11ZV6tNY8NGbS+bA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=baK8cjPkKPNArYKcbk9tpmKQdKKjM8clHoyqodwv1j4=;
 b=xE3Aqk2LdihK8ojuKKM+9LKwAPMnt9TCrQwV3MHRIwHeDi0n3rJkHeQZ80pMYZroLk0/ZyyUzJgpUa65lHgH7kdhgrWfYeEueUoaXqrvfVkuJR2/9B5nZQ9ah6TQZCIY+lVqT+p/zDy62q1wXSTRjHn5R1M7VigMU0ywA0mwm4A=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH for-4.22 4/5] tests/numa: add unit tests for NUMA setup logic
Date: Mon,  1 Jun 2026 17:43:31 +0200
Message-ID: <20260601154332.30797-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260601154332.30797-1-roger.pau@citrix.com>
References: <20260601154332.30797-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LV3P220CA0013.NAMP220.PROD.OUTLOOK.COM
 (2603:10b6:408:234::34) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|LV3PR03MB7453:EE_
X-MS-Office365-Filtering-Correlation-Id: e29966c8-4112-46aa-6fce-08debff4a055
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|18002099003|6133799003|22082099003|56012099006|3023799007|11063799006;
X-Microsoft-Antispam-Message-Info:
	o1PVk/IwI/1Vnh8fSMuOPDRYZsuGNC4Bv77B8xNKkkURdcw9LzxYbrRYkFGE+BPBu78Kv54MVxgHvpgvnJk3Kb9UZEUYSq7zuZXxeK1EvoYzy+dEBYVDTgdkc8ZE/5b0m0spZ2vqTtAKYQ0rRFr9pJ5bsjq0ksIYgyVjzIn3hWWDcodYY9cP5BHO+Mo2G/ZU6qVwH8QYR3NxcjCXENqfRtKQb3/4Cw+DNTYvJnXrpFmYYxceioxqZ+6aG5eMTHHXzoR8EmE3nvWs2QKFdn9xcmXRLv/Kw6joNlGxBR7XiWqSC/QDfGXYSRZwoUnlfcUmUn7bZt3vlxVm0BGYLx/QFQN3qEzvBB3wNDyGTS6drtolONuBY33wb8kryJGFruJ16gwz1qU36qr+DwE6Jh4IAV8d56icfpRJsZoQVihC3c+WVjIC+IGAHwXxaS2X3VKLlVJfo1JHcAz8KisVIeQkjgtT0byyoaMQlDY0UNoB/7FoaQiHbVFv35Y6MvzK6TasexfzOz/tL8IxOVslildpjMIqp6qywg3IG0Jp1upd/p8cvscMaQAffu/LZOJrb0sTkdBaS7l6fF7tq/tn0B+z4sm3PBDB7deOwbvxeUpjhVgXdnhnToKwF05GZnrwRTHq9lSAvmKScwfUK7vICO6PvM05eMNBOKc/cHK5Cr0DYBlyktnij+du9/Srvsy+czBA
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(18002099003)(6133799003)(22082099003)(56012099006)(3023799007)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U3RTaTl4SmtGN3V3MjJubTRwWHFQZ3JrZEJLL3RmaXNYTUE2ZGM4UFpLS2VG?=
 =?utf-8?B?SlI3SVN0cnJVKzZrRzV1clZ0L2VFdG5WWGJGVk1lZytsL1BxTDRlT3pDeEtu?=
 =?utf-8?B?MEx5VzYzQ2dOcXZ5MUg3RWZwbTc1YXhlN2picHN6cmtlREc0U2EvUUlDbjlV?=
 =?utf-8?B?aVdFaVhTMjRVVGJJSHZUdUdObkZKSG0vQUNQNDhTd1JjaENWSW1sUTY4aWJn?=
 =?utf-8?B?a21CbHYwYjh5NHRzVkJOZnY5NHJCQjJDOUZpdUtZc3hTdGpob3VsWjlRRGwr?=
 =?utf-8?B?T3A0V0ZCdmIzNEZmUmo2VHF0K1VzbnJGQ2hKWjV5VnJERTVJWHJLNUpacHBa?=
 =?utf-8?B?YVV4U05CN1g3Q3ZHSlhvelRCWU51R1FQVDVNL0RSMW53L0swc3BQRGtyMjZE?=
 =?utf-8?B?NHM2ekwvOTE3ZzFISGNWendMOVZuQmpCWXBhUHcrYW8waG9sK1NoaVFMSitu?=
 =?utf-8?B?dEFkKzZLZ2paSEdLWXdLL0J5UXd2b0E0d0JUNngwc0xySnAxbUxTMnlINXJz?=
 =?utf-8?B?Wm5LeWVWc0g5c0J5RlRoRmRSazRyQ05ZTnZ5TE03WWhTcUFWQTBTRnhpK1Jl?=
 =?utf-8?B?Ykd3Z2UzZlNSamVLUFNEcHBHY1A0Y0N5YTRqTmtDUWQ4cDFjZGRtWnBwbWhM?=
 =?utf-8?B?d2l6RE05eHYxdUQxbGNpanZvZ3pmKzZZeUN4WHJ3M0tvYkVlbFRmT3kyMEhL?=
 =?utf-8?B?SlAzTENGcHY3aVg1U3d1N3hrN2I2ajR6ZkZOdFdxUXlQek85eGlyS0VqZ0J1?=
 =?utf-8?B?aVcxZ21EalduekluWE1obEhwYzgvSjl5N2JUYVAxQUZxcUxqSExMUXp6UTAy?=
 =?utf-8?B?dC9rZ1RVTnVKSGliUjVseENHRlpnWkJsa3A1QmU1WTI2eFNyMC9BOTJIK0RW?=
 =?utf-8?B?andXSDdvdWp3L0JaYmdELzZLZzhpV2J2R1pCbE91cXdDYmVmeVFGOElOaFRq?=
 =?utf-8?B?NExwMjlZYVdCSmlVRDY0VmZlNUhva3lwdlBlOVVpUFQ1SVN4NWtTY3NBakh1?=
 =?utf-8?B?aDhuSitHKzNxTlBjNHVxVU4yNzN2bUpPRUQzeHcvbENMZDgyVmt4OWFtWnhH?=
 =?utf-8?B?TGpKck8ycDRGWGpCZ0lVWmh6bWpMT2hYN1lUN1V4NzdzRUpPOEVGVDloSXBM?=
 =?utf-8?B?SlFOeWxSQkU1VkxJLzNBQWZsVmYxdkMrdUdHNHB3MjR4a2tmdG0wamtYUWhK?=
 =?utf-8?B?MWJCTWMzR254S1Y4NlFtMzZWYVNoMGZWT2w2SStlWC9kN01MdkthV0s4dlVl?=
 =?utf-8?B?QjRkN2FHTzBxcU5Ubk1zSEdhRW5NMlcyc0sxbDNIdmVsUit5NXQybER1OFAv?=
 =?utf-8?B?UGlOY3pUUGlVZGRndGRjKzN4c3VyRnMreThNMWkvMGNZQWs4cUM3UDJLNnVa?=
 =?utf-8?B?bWFxc0VORU5xVnVwdnZXZTE1RzVQZHorTFB4YVpoRmtiaE10RXZYdVpzSCtl?=
 =?utf-8?B?Y2JCaHVoZ2plZHNDYXRxVnliSVgvWnA4TVF2KzU1b1UyKzJnZ0xzRnVNRTZT?=
 =?utf-8?B?RkVtZVVJMkV5UHlCWDg2MVd5YnNDYXJxRmtzZFV4RWp3c2txUVVTbCsvVW81?=
 =?utf-8?B?RU1ROVFXck1WbVBwWGJ6ODhZd1hNRUZxa1B2Y285TklmRGNpUER5RHh2Z3VP?=
 =?utf-8?B?em1QM0NjNnpGQm05dG41Y0N2U2NmQ2VEUHJrZHdNUDN0eFphTU4ybUtEeEd6?=
 =?utf-8?B?NnUxZlVFMklUV1g5Mm0rUjM2SSs3SG5tcG12azkySXNSajNyc2xvM2JBLy8z?=
 =?utf-8?B?cG11UHhHbjlwMEFQbFFsN0dwUXZqMzFYT3Qvc2gyb2xpV0tRb2x5MDBoN1g1?=
 =?utf-8?B?VTM0WUhvTGJrK3ZCK1ZzZEhqZFN6UkZVYTFMRTFNVXlDSEFaaWpsTVZmR3Ax?=
 =?utf-8?B?TGtNK0JEclZmMitlK3B3c2lKSjBwU3dqanY2citsM2o2SHdRZGdzSytGUGU0?=
 =?utf-8?B?OUhaaWNMdjIyRW84aCtNRG14dWlONTBFZlNYY1k4MDQrU2VjbHJ5WmQxMTNI?=
 =?utf-8?B?OWRxQU1tclIxaFZxa21QZHgvbWRQKzRIMmJnSUc1WC9ScWtxQk9FSlpSU0ZI?=
 =?utf-8?B?KzRiMjZZQTN4Z2NUQXhCdlpHZlU1UU43Z3ZVZi8xcWVONi91UW8xWGpkb3BT?=
 =?utf-8?B?c3V1c2lmOE9raDdISWlUMlBCOHZxZUt4ZFp5S25pYmtySTU3V3ZEZUNRK1JM?=
 =?utf-8?B?SFE3d1F1dEpLSWM4cnM5YmM3VGgxa3ArZEkyYnFKVmxUUytuaWtNSjR2bFlv?=
 =?utf-8?B?RHcvVzE3b09GTGRlcUhnUTdYejRlTlU0R1FZdDdMZCtZK0g2RktzUmFYS3Qv?=
 =?utf-8?B?Tzd0VzZlY081UmFnQk92VGExTWtKYUwxYzVMWGpiUEhyWXNCYVpadz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e29966c8-4112-46aa-6fce-08debff4a055
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2026 15:44:11.7686
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fKyOdufeE4GPjuixbZrC1rmJQd3zA2IqDgjFow/DsHzmbwFvezwkDGxDKZ9EqaCeoOkjso16zUFvmuWbfjtaRg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7453
X-purgate-ID: tlsNG-42698a/1780328655-1BD7FF3B-97355DDE/0/0
X-purgate-type: clean
X-purgate-size: 14975

NUMA setup, like PDX, requires certain amount of logic to configure the
internal structures and parameters for NUMA operation.  Introduce some very
basic testing that allows building and testing NUMA setup logic in as a
user-space unit test.  This allows feeding synthetic memory affinity and
map to the logic, allowing to reproduce bugs that would otherwise need
access to real systems with such a configuration.

For the time being introduce a single test case, based on a known working
NUMA setup for an AMD Turin system.  Also the testing after setup is
currently limited to ensuring the start and end RAM region addresses fall
into a correctly setup memory block.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 tools/tests/Makefile         |   1 +
 tools/tests/numa/.gitignore  |   2 +
 tools/tests/numa/Makefile    |  47 ++++++++
 tools/tests/numa/harness.h   | 184 +++++++++++++++++++++++++++++
 tools/tests/numa/test-numa.c | 222 +++++++++++++++++++++++++++++++++++
 5 files changed, 456 insertions(+)
 create mode 100644 tools/tests/numa/.gitignore
 create mode 100644 tools/tests/numa/Makefile
 create mode 100644 tools/tests/numa/harness.h
 create mode 100644 tools/tests/numa/test-numa.c

diff --git a/tools/tests/Makefile b/tools/tests/Makefile
index 6477a4386dda..fc0ed8091510 100644
--- a/tools/tests/Makefile
+++ b/tools/tests/Makefile
@@ -4,6 +4,7 @@ include $(XEN_ROOT)/tools/Rules.mk
 SUBDIRS-y :=
 SUBDIRS-y += domid
 SUBDIRS-y += mem-claim
+SUBDIRS-y += numa
 SUBDIRS-y += paging-mempool
 SUBDIRS-y += pdx
 SUBDIRS-y += rangeset
diff --git a/tools/tests/numa/.gitignore b/tools/tests/numa/.gitignore
new file mode 100644
index 000000000000..0710a767f400
--- /dev/null
+++ b/tools/tests/numa/.gitignore
@@ -0,0 +1,2 @@
+/numa.h
+/test-numa
diff --git a/tools/tests/numa/Makefile b/tools/tests/numa/Makefile
new file mode 100644
index 000000000000..5235f9d6297f
--- /dev/null
+++ b/tools/tests/numa/Makefile
@@ -0,0 +1,47 @@
+XEN_ROOT=$(CURDIR)/../../..
+include $(XEN_ROOT)/tools/Rules.mk
+
+TARGETS := test-numa
+
+.PHONY: all
+all: $(TARGETS)
+
+.PHONY: run
+run: $(TARGETS)
+ifeq ($(CC),$(HOSTCC))
+	set -e;             \
+	for test in $? ; do \
+		./$$test ;  \
+	done
+else
+	$(warning HOSTCC != CC, will not run test)
+endif
+
+.PHONY: clean
+clean:
+	$(RM) -- *.o $(TARGETS) $(DEPS_RM) numa.h
+
+.PHONY: distclean
+distclean: clean
+	$(RM) -- *~
+
+.PHONY: install
+install: all
+	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC)/tests
+	$(INSTALL_PROG) $(TARGETS) $(DESTDIR)$(LIBEXEC)/tests
+
+.PHONY: uninstall
+uninstall:
+	$(RM) -- $(patsubst %,$(DESTDIR)$(LIBEXEC)/tests/%,$(TARGETS))
+
+numa.h: $(XEN_ROOT)/xen/include/xen/numa.h
+	sed -e '/^#[[:space:]]*include/d' <$< >$@
+
+CFLAGS += -D__XEN_TOOLS__
+CFLAGS += $(APPEND_CFLAGS)
+CFLAGS += $(CFLAGS_xeninclude)
+
+test-numa: test-numa.c numa.h
+	$(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$*.o) -o $@ $< $(APPEND_CFLAGS)
+
+-include $(DEPS_INCLUDE)
diff --git a/tools/tests/numa/harness.h b/tools/tests/numa/harness.h
new file mode 100644
index 000000000000..71ff9c792191
--- /dev/null
+++ b/tools/tests/numa/harness.h
@@ -0,0 +1,184 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Unit tests for NUMA setup.
+ *
+ * Copyright (C) 2026 Cloud Software Group
+ */
+
+#ifndef _TEST_HARNESS_
+#define _TEST_HARNESS_
+
+#include <assert.h>
+#include <errno.h>
+#include <inttypes.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <xen-tools/bitops.h>
+#include <xen-tools/common-macros.h>
+
+#define CONFIG_DEBUG
+#define CONFIG_NUMA
+#define CONFIG_NR_NUMA_NODES 64
+#define NR_CPUS 256
+#define MAX_RANGES 128
+#define PADDR_BITS 52
+
+#define __init
+#define __initdata
+#define __ro_after_init
+#define __read_mostly
+
+#define printk printf
+#define XENLOG_INFO ""
+#define XENLOG_DEBUG ""
+#define XENLOG_WARNING ""
+#define KERN_INFO ""
+#define KERN_ERR ""
+#define KERN_WARNING ""
+#define KERN_DEBUG ""
+
+#define PAGE_SHIFT    12
+/* Some libcs define PAGE_SIZE in limits.h. */
+#undef  PAGE_SIZE
+#define PAGE_SIZE     (1L << PAGE_SHIFT)
+#define MAX_ORDER     18 /* 2 * PAGETABLE_ORDER (9) */
+
+#define PFN_DOWN(x)   ((x) >> PAGE_SHIFT)
+#define PFN_UP(x)     (((x) + PAGE_SIZE-1) >> PAGE_SHIFT)
+
+#define paddr_to_pfn(pa)  ((unsigned long)((pa) >> PAGE_SHIFT))
+#define mfn_to_pdx(mfn)   (mfn)
+#define paddr_to_pdx(pa)  ((pa) >> PAGE_SHIFT)
+#define mfn_to_maddr(mfn) ((mfn) << PAGE_SHIFT)
+
+#define ASSERT assert
+#define ASSERT_UNREACHABLE() assert(0)
+
+/* For the purposes of the testing assume arch NID == Xen NID. */
+#define numa_node_to_arch_nid(n) (n)
+
+typedef uint64_t paddr_t;
+#define PRIpaddr "016" PRIx64
+
+typedef unsigned long mfn_t;
+typedef uint8_t nodeid_t;
+
+#define __set_bit set_bit
+#define __clear_bit clear_bit
+
+static inline unsigned int find_next_bit(
+    const unsigned long *addr, unsigned int size, unsigned int off)
+{
+    unsigned int i;
+
+    ASSERT(size <= BITS_PER_LONG);
+
+    for ( i = off; i < size; i++ )
+        if ( !!(*addr & (1UL << i)) )
+            return i;
+
+    return size;
+}
+
+#define find_first_bit(b, s) find_next_bit(b, s, 0)
+
+/* Minimal cpumask support. */
+typedef struct cpumask{ DECLARE_BITMAP(bits, NR_CPUS); } cpumask_t;
+
+#define cpumask_clear_cpu(c, m) clear_bit((c), (m)->bits)
+
+/* Define the nodemask helpers used. */
+typedef struct nodemask{ DECLARE_BITMAP(bits, CONFIG_NR_NUMA_NODES); } nodemask_t;
+
+#define node_set(node, dst) set_bit((node), (dst).bits)
+
+#define first_node(n) __first_node(&(n), CONFIG_NR_NUMA_NODES)
+static inline int __first_node(const nodemask_t *srcp, unsigned int s)
+{
+    return min(s, find_next_bit(srcp->bits, s, 0));
+}
+
+#define next_node(n, m) __next_node((n), &(m), CONFIG_NR_NUMA_NODES)
+static inline int __next_node(unsigned int n, const nodemask_t *srcp,
+                              unsigned int s)
+{
+    return min(s, find_next_bit(srcp->bits, s, n + 1));
+}
+
+#define nodes_or(dst, src1, src2) \
+    bitmap_or((dst).bits, (src1).bits, (src2).bits, CONFIG_NR_NUMA_NODES)
+
+static inline bool nodemask_test(unsigned int node, const nodemask_t *dst)
+{
+    return test_bit(node, dst->bits);
+}
+
+#define node_set_online(node)	   set_bit((node), node_online_map.bits)
+
+#define cycle_node(n, src) __cycle_node((n), &(src), MAX_NUMNODES)
+static inline int __cycle_node(int n, const nodemask_t *maskp,
+                               unsigned int nbits)
+{
+    unsigned int nxt = __next_node(n, maskp, nbits);
+
+    if ( nxt == nbits )
+        nxt = __first_node(maskp, nbits);
+
+    return nxt;
+}
+
+#define for_each_node_mask(node, mask)                  \
+    for ( (node) = first_node(mask);                    \
+          (node) < MAX_NUMNODES;                        \
+          (node) = next_node((node), (mask)) )
+
+/*
+ * Dummy helper to satisfy allocate_cachealigned_memnodemap(), the memory
+ * allocation is instead done in vmap_contig().
+ */
+static inline mfn_t alloc_boot_pages(unsigned long nr, unsigned long align)
+{
+    return 0;
+}
+
+static inline void *vmap_contig(mfn_t mfn, unsigned int nr)
+{
+    assert(!mfn);
+    return calloc(PAGE_SIZE, nr);
+}
+
+static inline void panic(const char *msg)
+{
+    printf("%s\n", msg);
+    abort();
+}
+
+/* Dummy implementations to satisfy the build. */
+static inline bool arch_numa_disabled(void)
+{
+    return false;
+}
+
+static inline void numa_fw_bad(void) { }
+
+static inline bool arch_numa_unavailable(void)
+{
+    return false;
+}
+
+#include "numa.h"
+
+#endif
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/tests/numa/test-numa.c b/tools/tests/numa/test-numa.c
new file mode 100644
index 000000000000..bced68d4d7f1
--- /dev/null
+++ b/tools/tests/numa/test-numa.c
@@ -0,0 +1,222 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Unit tests for NUMA setup.
+ *
+ * Copyright (C) 2026 Cloud Software Group
+ */
+
+#include "harness.h"
+
+static paddr_t mem_hotplug;
+unsigned int __read_mostly nr_cpu_ids = NR_CPUS;
+
+#include "../../xen/common/numa.c"
+
+static void numa_reset_state(void)
+{
+    bitmap_clear(processor_nodes_parsed.bits, CONFIG_NR_NUMA_NODES);
+    bitmap_clear(memory_nodes_parsed.bits, CONFIG_NR_NUMA_NODES);
+    bitmap_clear(memblk_hotplug, NR_NODE_MEMBLKS);
+    memset(numa_nodes, 0, sizeof(numa_nodes));
+    memset(node_memblk_range, 0, sizeof(node_memblk_range));
+    memset(memblk_nodeid, 0, sizeof(memblk_nodeid));
+    memset(node_data, 0, sizeof(node_data));
+    memset(node_to_cpumask, 0, sizeof(node_to_cpumask));
+    memset(cpu_to_node, NUMA_NO_NODE, sizeof(cpu_to_node));
+    num_node_memblks = 0;
+    memnode_shift = 0;
+    memnodemapsize = 0;
+    if ( memnodemap != _memnodemap )
+        free(memnodemap);
+    memnodemap = NULL;
+    bitmap_clear(node_online_map.bits, CONFIG_NR_NUMA_NODES);
+    node_set(1, node_online_map);
+}
+
+struct mem_affinity {
+    /* Ranges are defined as [start, end]. */
+    paddr_t start, end;
+    unsigned int nid;
+};
+
+struct mem_range {
+    /* Ranges are defined as [start, end]. */
+    paddr_t start, end;
+};
+
+const static struct mem_range *ram;
+
+int arch_get_ram_range(unsigned int idx, paddr_t *start, paddr_t *end)
+{
+    if ( idx >= MAX_RANGES || !ram[idx].end )
+        return -ENOENT;
+
+    *start = ram[idx].start;
+    *end = ram[idx].end + 1;
+
+    return 0;
+}
+
+static void print_ranges(const struct mem_affinity *r)
+{
+    unsigned int i;
+
+    printf("Affinity ranges:\n");
+    for ( i = 0; i < MAX_RANGES; i++ )
+    {
+        if ( !r[i].end )
+            break;
+
+        printf(" NID %u [%" PRIpaddr ", %" PRIpaddr "]\n",
+               r[i].nid, r[i].start, r[i].end);
+    }
+
+    printf("RAM ranges:\n");
+    for ( i = 0; i < MAX_RANGES; i++ )
+    {
+        if ( !ram[i].end )
+            break;
+
+        printf(" [%" PRIpaddr ", %" PRIpaddr "]\n",
+               ram[i].start, ram[i].end);
+    }
+}
+
+static bool test_paddr(paddr_t addr)
+{
+    mfn_t mfn = PFN_DOWN(addr);
+    unsigned int idx = mfn >> memnode_shift;
+    unsigned int nid;
+
+    if ( idx >= memnodemapsize )
+    {
+        printf("Fail: MFN %lx -> IDX %u outside of memnodemap range\n",
+               mfn, idx);
+        return false;
+    }
+
+    nid = memnodemap[idx];
+    if ( nid >= MAX_NUMNODES )
+    {
+        printf("Fail: MFN %lx -> NID %u >= MAX_NUMNODES (%u)\n",
+               mfn, nid, MAX_NUMNODES);
+        return false;
+    }
+
+    if ( !node_data[nid].node_spanned_pages )
+    {
+        printf("Fail: MFN %lx -> NID %u without spanned pages\n",
+               mfn, nid);
+        return false;
+
+    }
+
+    if ( !node_data[nid].node_spanned_pages )
+    {
+        printf("Fail: MFN %lx -> NID %u without spanned pages\n",
+               mfn, nid);
+        return false;
+
+    }
+
+    if ( !node_data[nid].node_spanned_pages )
+    {
+        printf("Fail: MFN %lx outside NID range [%013lx, %013lx]\n",
+               mfn, node_data[nid].node_start_pfn,
+               node_data[nid].node_start_pfn +
+               node_data[nid].node_spanned_pages - 1);
+        return false;
+    }
+
+    return true;
+}
+
+int main(int argc, char **argv)
+{
+    static const struct {
+        struct mem_affinity affinity[MAX_RANGES];
+        struct mem_range ram[MAX_RANGES];
+    } tests[] = {
+        /* AMD Turin system. */
+        {
+            .affinity = {
+                { .nid = 0, .start = 0x00000000000ULL, .end = 0x0000009ffffULL },
+                { .nid = 0, .start = 0x000000c0000ULL, .end = 0x000afffffffULL },
+                { .nid = 0, .start = 0x00100000000ULL, .end = 0x0c04fffffffULL },
+                { .nid = 1, .start = 0x0c050000000ULL, .end = 0x0fc4fffffffULL },
+                { .nid = 1, .start = 0x10000000000ULL, .end = 0x183ffffffffULL },
+            },
+            .ram = {
+                { .start = 0x00000000000ULL, .end = 0x0000009ffffULL },
+                { .start = 0x00000100000ULL, .end = 0x0007590ffffULL },
+                { .start = 0x000759d1000ULL, .end = 0x00075a0ffffULL },
+                { .start = 0x00076000000ULL, .end = 0x00094c73fffULL },
+                { .start = 0x0009b5ff000ULL, .end = 0x0009fff9fffULL },
+                { .start = 0x0009ffff000ULL, .end = 0x0009fffffffULL },
+                { .start = 0x00100010000ULL, .end = 0x0fc4fffffffULL },
+                { .start = 0x10000000000ULL, .end = 0x183f7ffffffULL },
+                { .start = 0x183f8800000ULL, .end = 0x183faabffffULL },
+            },
+        },
+    };
+    int ret_code = EXIT_SUCCESS;
+
+    /* Dummy firmware interface provider name, use TST for TEST. */
+    numa_fw_nid_name = "TST";
+
+    for ( unsigned int i = 0 ; i < ARRAY_SIZE(tests); i++ )
+    {
+        paddr_t min = ~(paddr_t)0, max = 0;
+        unsigned int j;
+
+        numa_reset_state();
+
+        ram = tests[i].ram;
+
+        for ( j = 0;
+              j < ARRAY_SIZE(tests[i].affinity) && tests[i].affinity[j].end;
+              j++ )
+        {
+            const struct mem_affinity *affinity = &tests[i].affinity[j];
+            paddr_t length = affinity->end - affinity->start + 1;
+
+            if ( !numa_update_node_memblks(affinity->nid, affinity->nid,
+                                           affinity->start, length, false) )
+            {
+                printf("Fail to add NID %u [%" PRIpaddr ", %" PRIpaddr "]\n",
+                        affinity->nid, affinity->start, affinity->end);
+                ret_code = EXIT_FAILURE;
+                continue;
+            }
+
+            min = min(min, affinity->start);
+            max = max(max, affinity->end);
+        }
+
+        if ( !numa_process_nodes(min, max + 1) )
+        {
+                printf("Unable to process nodes\n");
+                print_ranges(tests[i].affinity);
+                ret_code = EXIT_FAILURE;
+                continue;
+        }
+
+        for ( j = 0;
+              j < ARRAY_SIZE(tests[i].ram) && tests[i].ram[j].end;
+              j++ )
+            if ( !test_paddr(tests[i].ram[j].start) ||
+                 !test_paddr(tests[i].ram[j].end) )
+                ret_code = EXIT_FAILURE;
+    }
+
+    return ret_code;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 15:44:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 15:44:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1323945.1589649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU4oM-0007My-JZ; Mon, 01 Jun 2026 15:44:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1323945.1589649; Mon, 01 Jun 2026 15: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 1wU4oM-0007MW-Du; Mon, 01 Jun 2026 15:44:18 +0000
Received: by outflank-mailman (input) for mailman id 1323945;
 Mon, 01 Jun 2026 15:44:17 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wU4oL-00078o-FD
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 15:44:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU4oK-0007hv-Rg
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 17:44:16 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1da8cc-2eae-0a2a0a5409dd-0a2a450ba75c-16
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:44:16 +0200
Received: from [52.101.85.22]
 (helo=BYAPR05CU005.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1da8cc-212f-0a2a450b0019-346555167c7f-5
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 17:44:16 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by LV3PR03MB7453.namprd03.prod.outlook.com (2603:10b6:408:1a6::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.15; Mon, 1 Jun 2026
 15:44:14 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0071.014; Mon, 1 Jun 2026
 15:44:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=M75WuklhbttYkAJGfpsimMWxVvqQX/NmkLqtQ74Mu2/HbO/oBGvADoTTZ0cBv2TbZpUqRs9wFGMEMdvp1jV/l0atECxSbP+C18fSVdhHE8EilxNFdxZmj169B5VjBlmq6+OHk8wmfyQ4KDGX401qonfPsXHveMYC5yp4ziEv+Yk8sl7Dxj520O/aX0SsU3V/DFyFG6gd/mi50GBpBWZlryzbUv0HA2T2lBqCz2cwV5i9rD7e7+Mn4yqbvyjD+20630nNIb3zGlsInjbLGJfE1DwskFntphw4flWY5zQq3TJTPwBYOEfRdCBvJx2PZs8kDL0J1z1MLUW+6zrDINtEvw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gLxPZPhUumrMhLXcS8jOcQqLOD7g9VReX2rfeaQLJt8=;
 b=jYPnB8VUUQaKuL8NjDZ6LS1ANds8LIs+JjUHIWT9rqql9au2MjTQ3F7H6yHgdixCfDV5lrSdfde6i4MhIG3xk8GPQMX4CL/GStbrAnP/J4XRmQGHA/l9gKGDsbLgrnDSblERXBdO3w+0GyXySGNtmsMBWvejc/+4VelwhiHgsBAcYp7dkEDnRyuoscdIGIk5Vk3+0KiJ/fm5F7HuhJjKN0RGxILcSaCokKGAfQsOX+UsE81c+GvI3lpTAxHZaFnUsLvbjvKt7tX/7UZBvioaEEQPcDXaHFjRdp5Jx9Md9WWdgEirKY2mr4BJwrJrmhK3uYrfLki70O74Fzhf829wXg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gLxPZPhUumrMhLXcS8jOcQqLOD7g9VReX2rfeaQLJt8=;
 b=B2UrWOgZyvkZo8PXYrvn3bbDvH2H/M3IfPQ3Q4+nf0CKNmpt3dA/wt4Ek8vH3AfxyLz4aoOfxU78CATFTmTlpgStbKps6lQ+40dVLWVkeCWYdkC09zJp9AejMqvF5Eev8vWGZVQK7opFFa7rY1Jo6zwKGR1vpQTt2aTtnORoVz8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Roger Pau Monne <roger.pau@citrix.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>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH for-4.22 5/5] xen/numa: fix setup of non-aligned memory affinity ranges
Date: Mon,  1 Jun 2026 17:43:32 +0200
Message-ID: <20260601154332.30797-6-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260601154332.30797-1-roger.pau@citrix.com>
References: <20260601154332.30797-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: BN0PR04CA0109.namprd04.prod.outlook.com
 (2603:10b6:408:ec::24) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|LV3PR03MB7453:EE_
X-MS-Office365-Filtering-Correlation-Id: 1575ac56-c659-450b-6c91-08debff4a1dc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|18002099003|6133799003|22082099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	UJ0bJe0sYLFZRiVoQJme9C8PJtit1ef14PABpI8jZ+NNdpRGvV+npHgAws3JAx5ggQErgrS2OauMb3kGo2Cc25FLs5lG3mGF83X7F15gtBre1cra4cUq4kuyPIajSnqq2LNjOBZIPq7ckooB75EOJyNKNFEd5lP6likFaeI8fsBclCnA8OH2eLL0/24WeKFafUBSes8FVfDn4MPiVGI672bim8Q8qHNDeuJ1tdyRkRaDZ73XdkwkFFZoTVx2IjQbrqZwudFFCyUR0Ll4Z9jw+77VkXuXXYWJmGIe5MqkiG8rsDTRqJsu6+dO7ugtASUSUgSiRtXAjcblToeCeK3/Fg+wTy+8YSPnv0OuDAI7qgQUVucneqgdegkqmhhs/NtwhxzPl5H8ZKEcr+1WvOQwTpizxQ2vOqyzQAFzeWFFDq5iUbID4z4VnvyldGjWZiSsainHbc6smcWKdcTSB3AMGDv5mw7ctWmucbRuLBsieVM9ei+nVrK37un6E3S3hEdV6iwdCzt3MvNfCdILow8YInRny+J4PrEU20SE4PLFcAS+5s2vn8f1SDIwY2obN0x5FqUxpwAxqNE2YZpY8iF3fHUwE4LcG2YkMsV2K+gmVbJHPbVk74PyQtkkjkIn/uw8xWZqpCLcjBetCL8HkEBrBFAGWvOnifGGK1MNFeQllVUYwoHX1m7XBJaT1+PuI7rU
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(18002099003)(6133799003)(22082099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SUR6cWQ0bnBrYXJpKytZTHVZOW5sU0ZrcmpMMDNsMFZTSXZkK243YmhBaTZs?=
 =?utf-8?B?ZXdxbllJU3ZmY2hod2VlK01FeElNVGhXRXpYVDU2RGFmOWcrNGFFdmZucjJU?=
 =?utf-8?B?T1owY3NwWkpNL0JEREF0cWFYWktzMk9FT0RYWDVFZ1krSWlQQmdaeWJRb0th?=
 =?utf-8?B?dDNpL3JIWTFjRGJZa0VOei9zVnBNOHduVHFodHBZSHJmMm1nUmQvQXl3dHZ6?=
 =?utf-8?B?VFZhdUN1Mk8zYlhmOEJqZGNDMm5CeDRZLys0UTh6VEJWdkN1cXp1S0NjVmp1?=
 =?utf-8?B?NUV3a0FRbVM5T3lJbnpDdCtIM1JBZ3JqOFpwUGZsUnVHL25kLzJQekhtV3pB?=
 =?utf-8?B?U2cvckRXTmltRXprb1JKWFAyRkxQQU1KN1ltcHBTcEZYMHJWb2hUQTRPSC9G?=
 =?utf-8?B?T1VTc0JKSXgvSkQya3BNUFBsMlg3R0YvaysrclFNOFZmc3EvYUxDMGEyUTlC?=
 =?utf-8?B?NGo2Q3Bkd3ZmYWp5TU13bG04WGxYeU5hTnVOSzd4Z0JYdEFjZEhMOUFOWWd4?=
 =?utf-8?B?MWc3RmtnMDZ5NXFlTFk4UGVLNnlSa2xsdFZFc3c0TWJ4a0lORndBYktVWTRx?=
 =?utf-8?B?NkMzbE83eHFyWTVRRHUzUXRlWlI4cmlPcjBaYkxGYWpvbEhzakszUjFZaGpP?=
 =?utf-8?B?aDFJVWdLTmVrWHN1V0xNUm5RSCtiT1paU0NSb0FINXhwSm1PR1h0aWR0eDlK?=
 =?utf-8?B?Nk9oM1lHQ2E0aExJek44dnRrMFYxQWpKNDU2S09mdEE0clpxVFh6dmszb01X?=
 =?utf-8?B?T2lPTDZ3eW9YbTRoVGJ3VTJrY053VWhxK1ZvYUNLWkpNUXQyckRKd3cxMGRF?=
 =?utf-8?B?VDgzdWxIbTlHcFdGWjFFMldENUJMcEtjNEtyY29uNEVFUEtPUGlEUE8vM3RM?=
 =?utf-8?B?S0V5TDRnSnhHMzVTSEZVTWd5RTZBbC9uOERrWjNtT3lwNmV6SldOQko5UHlj?=
 =?utf-8?B?NmlCRG12R2lUQ0hjRTZodnd2QUFmZzUvcmtrMWdmd1JkR2RRSzJlbzQ0UGxY?=
 =?utf-8?B?WE5MUU1zdmxUc3F5NjZKZm91d1I4K0M5bjBlSzhyekJCRXlsQStCUDRMMmF0?=
 =?utf-8?B?ZW50M2xGR0NzR05mQjE3MXRLbUdEbHVoVTkraXY1aEVTTWpMcEt4UHpFaWNQ?=
 =?utf-8?B?M2ZZbHBZL0MwNnJwaHVxUkFINU5mRHE3bmlJN3daS3ZMMU5TOUtYNU1TQURL?=
 =?utf-8?B?U0lEUjcyYTZLSVNRTnZtbUUwQWdBMlV1a3R5WlczNDdyOWR4WFpxM0ZmaG55?=
 =?utf-8?B?UHAxMENVZ3ZEckdVV2crSmFZai80VEZXazBjbmxodHIweDlRTnhFejZwV3hh?=
 =?utf-8?B?S3hVVE5qaURRdmhFV2psTUlSaDk3RmxZeXBmZFI3UkJqUGFBcEFES08wemRK?=
 =?utf-8?B?MERGVzVxVGgxOVBHcDgrRzQxZ3l5ZzBBdktpVVYyVGZVN3NxLzk0UHUraC82?=
 =?utf-8?B?MW9pQWI2R1pUTmhYVzVwc1dKK3F1WkswanQvOHB0NmpNUHpyL1J0WG9kWWs0?=
 =?utf-8?B?ckc5VWR6cllmTFlhbmpJVkRyaVExUEk1V0ZkM0UyYThwZVFRbDRIWFErK25n?=
 =?utf-8?B?dkY4RWtZZXN0MmpadnI3bUMwQUN0Q3pKWi9qbWJhOC9sY3FDMDFyQytJa0Qv?=
 =?utf-8?B?cm1QWU5yMXdnWCtacVJpY0ZZM1VGNUJoeWtLM1Rya2tJWVhueGxtTC9CdTlu?=
 =?utf-8?B?dFFRU2dEWVZnanJ1bjlRbEFDT0dvc0s1R1ZUNXA1ekJEbGtQYWh1S3lzWnBa?=
 =?utf-8?B?MjkyNW5ERXpLa2tKWUJtbWZZTlZVNWdTWFRPUXdUVUVzTkNMQTRGdE5xMTdk?=
 =?utf-8?B?MVZLdVFydGpKTEVDby9JQ2k2ZjZEMnplMDdRQStpdFFmVEJpWXRPOTB1U1VR?=
 =?utf-8?B?ZlE2SDB5V2JjOUdtT2RQMGxxZUxFeFJHWXplZHB1Qk02MlVkNDNSNlBpb0ZY?=
 =?utf-8?B?ZlFlMXJBV0NhU1RLblcvL01hME9IYjhoS1dqNnFNRWIwcE5sQjEyVkN4RElZ?=
 =?utf-8?B?cU9xa2Z5bWlsUVNmZkw5YWNkaFUzVzltY1RWTnlhcHpFaFFxTzBhbnQzTDR4?=
 =?utf-8?B?SGVhZVk3dWI4aHhmNlE1aDIzdUhaQUo0Rnl1VXBqMWZvUkN6NGJnMUkyRFdP?=
 =?utf-8?B?cE4rZ1BHVXQreW1mNHlNVTFsZVR1eDRpVURGQi8rdFMvWXhhK0hMOEEzK0lH?=
 =?utf-8?B?NUdlZnpLdnpOTy9Zb1hDa0dEQS85YjM4ckM5Z2J4SFJlSGl0NG5LdEcrTWFo?=
 =?utf-8?B?U3o5UXR4L0p4KzNhZ2pwMkhLYW1pZzBpUmdWM2l2emsranhCV0dpNEd1Z0Uv?=
 =?utf-8?B?MWRVdW9HbzhFcklZWTRIL0JSWTJIT3M3b3hQTlVqcDcxMUF5MGU1UT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1575ac56-c659-450b-6c91-08debff4a1dc
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2026 15:44:14.3372
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3YsYoe4fTTdBvC25oSKWqBxcH74TYvnrKYs7mCojV8Chj4EilVY17ZgTa3d8WQoDZx9I2ddvD4rN5RpyQwcJuQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7453
X-purgate-ID: tlsNG-42698a/1780328656-23374F3B-1A02A1E0/0/0
X-purgate-type: clean
X-purgate-size: 5449

The logic to populate memnodemap in populate_memnodemap() assumes that all
ranges are aligned to the hash shift, this however is only true for the
first address in a memory affinity node.  Any subsequent ranges belonging
to the same node might not be aligned to the hash shift value.

Such lack of alignment causes issues to the logic in populate_memnodemap(),
as then the tail of the range might not be properly accounted for and setup
in memnodemap.  Fix this by forcing the start address of all regions to
be aligned to the hash shift; if such alignment causes a region overlap it
would always be between regions on the same node, and hence will never
cause setup issues of the memnodemap array.

Introduce two additional test cases to the user-space NUMA setup unit
testing, first test case is the native memory affinity and memory map of
the system where this issue was found, second test case is a simplification
to demonstrate the original problem more clearly.

Fixes: 1666086b0044 ("x86/NUMA: improve memnode_shift calculation for multi node system")
Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 tools/include/xen-tools/common-macros.h |  1 +
 tools/tests/numa/test-numa.c            | 45 +++++++++++++++++++++++++
 xen/common/numa.c                       |  8 ++++-
 3 files changed, 53 insertions(+), 1 deletion(-)

diff --git a/tools/include/xen-tools/common-macros.h b/tools/include/xen-tools/common-macros.h
index 9e2799178235..88b4a0e5a693 100644
--- a/tools/include/xen-tools/common-macros.h
+++ b/tools/include/xen-tools/common-macros.h
@@ -69,6 +69,7 @@
 #endif
 
 #define ROUNDUP(x, a) (((x) + (a) - 1) & ~((a) - 1))
+#define ROUNDDOWN(x, a) ((x) & ~((a) - 1))
 
 #define MASK_EXTR(v, m) (((v) & (m)) / ((m) & -(m)))
 #define MASK_INSR(v, m) (((v) * ((m) & -(m))) & (m))
diff --git a/tools/tests/numa/test-numa.c b/tools/tests/numa/test-numa.c
index bced68d4d7f1..8122e63a88ed 100644
--- a/tools/tests/numa/test-numa.c
+++ b/tools/tests/numa/test-numa.c
@@ -158,6 +158,51 @@ int main(int argc, char **argv)
                 { .start = 0x183f8800000ULL, .end = 0x183faabffffULL },
             },
         },
+        /* System with unaligned affinity memblock. */
+        {
+            .affinity = {
+                { .nid = 0, .start = 0x00000000000ULL, .end = 0x000afffffffULL },
+                { .nid = 0, .start = 0x00100000000ULL, .end = 0x0fc4fffffffULL },
+                { .nid = 0, .start = 0x10000000000ULL, .end = 0x103ffffffffULL },
+                { .nid = 1, .start = 0x10400000000ULL, .end = 0x203ffffffffULL },
+            },
+            .ram = {
+                { .start = 0x00000000000ULL, .end = 0x0000009ffffULL },
+                { .start = 0x00000100000ULL, .end = 0x000165bffffULL },
+                { .start = 0x00016600000ULL, .end = 0x0001aa1dfffULL },
+                { .start = 0x0001aa1f000ULL, .end = 0x0001aa53fffULL },
+                { .start = 0x0001aab8000ULL, .end = 0x0001aac6fffULL },
+                { .start = 0x0001aacc000ULL, .end = 0x0006f3fefffULL },
+                { .start = 0x00075dff000ULL, .end = 0x00075dfffffULL },
+                { .start = 0x00076000000ULL, .end = 0x000a7ffffffULL },
+                { .start = 0x00100010000ULL, .end = 0x0fc43ffffffULL },
+                { .start = 0x0fc45000000ULL, .end = 0x0fc47ffffffULL },
+                { .start = 0x0fc49000000ULL, .end = 0x0fc4bffffffULL },
+                { .start = 0x0fc4d000000ULL, .end = 0x0fc4d3bffffULL },
+                { .start = 0x0fc4f000000ULL, .end = 0x0fc4f0fffffULL },
+                { .start = 0x10000000000ULL, .end = 0x203fd7fffffULL },
+            },
+        },
+        /*
+         * Reduction of the issue above: introduce an unaligned middle region
+         * with regards to the hash shift.
+         */
+        {
+            .affinity = {
+                { .nid = 0, .start = 0x00000ULL, .end = 0x00fffULL },
+                /*
+                 * The offset of the region below is not aligned with the hash
+                 * shift: the shift calculation only takes into account the
+                 * start of node address.
+                 */
+                { .nid = 0, .start = 0x01000ULL, .end = 0x04fffULL },
+                { .nid = 1, .start = 0x14000ULL, .end = 0x14fffULL },
+            },
+            .ram = {
+                { .start = 0x00000ULL, .end = 0x04fffULL },
+                { .start = 0x14000ULL, .end = 0x14fffULL },
+            },
+        },
     };
     int ret_code = EXIT_SUCCESS;
 
diff --git a/xen/common/numa.c b/xen/common/numa.c
index 8544a1598218..8b2f29597f30 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -396,7 +396,13 @@ static int __init populate_memnodemap(const struct node *nodes,
 
     for ( i = 0; i < numnodes; i++ )
     {
-        unsigned long spdx = paddr_to_pdx(nodes[i].start);
+        /*
+         * Round down start address: if start is not aligned to the memnodemap
+         * chunk size the tail remainder might not be added.  Overlaps created
+         * by rounding will fall into the same NUMA region.
+         */
+        unsigned long spdx = ROUNDDOWN(paddr_to_pdx(nodes[i].start),
+                                       1UL << shift);
         unsigned long epdx = paddr_to_pdx(nodes[i].end - 1);
 
         if ( spdx > epdx )
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 16:52:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 16:52:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324003.1589671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU5rr-00036j-Dj; Mon, 01 Jun 2026 16:51:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324003.1589671; Mon, 01 Jun 2026 16: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 1wU5rr-00036c-9b; Mon, 01 Jun 2026 16:51:59 +0000
Received: by outflank-mailman (input) for mailman id 1324003;
 Mon, 01 Jun 2026 16:51:57 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <marmarek@invisiblethingslab.com>) id 1wU5rp-00036W-MD
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 16:51:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU5ro-007rbR-J9
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 18:51:56 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a1db8a1-2eae-0a2a0a5409dd-0a2a4502d39c-8
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 18:51:56 +0200
Received: from [202.12.124.149] (helo=fout-b6-smtp.messagingengine.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a1db8aa-af86-0a2a45020019-ca0c7c95ba89-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 18:51:55 +0200
Received: from phl-compute-03.internal (phl-compute-03.internal [10.202.2.43])
 by mailfout.stl.internal (Postfix) with ESMTP id 252051D0004D;
 Mon,  1 Jun 2026 12:51:54 -0400 (EDT)
Received: from phl-frontend-04 ([10.202.2.163])
 by phl-compute-03.internal (MEProxy); Mon, 01 Jun 2026 12:51:54 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 1 Jun 2026 12:51: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm3 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=fm3; t=1780332713;
	 x=1780419113; bh=Bp+9MOScam9lOoXhydIkVSIh4E4kHXVGuRysJxb9gAQ=; b=
	ROfkr8u6TADcVQiKvPEpzJs3z9VPhb+pCrDSz0MEwQH0qB7BKz+c8+94KsGKeue6
	wX4OJWaK4SPr+S6PD4+2CrHpbyEIBEhVPCPBz7z+MsJncp5mgj6o0X+5oycw8/6d
	ftCty3uNKuBG95f7xruSc3IH9GRYaA4ZT2nlOSeNzu8eRGYmt5RCNX+YRboMoWmy
	UvVk3XhJYvuqNfOVttO71ja2fYZjpUFEQNREr9QFrba9e4fvvg3yAG5l52RVh9lM
	QTTVN362dYzw23kE8Yqa9FqbrVb4Qc6LIGoBmu9bUqQ2U8DxyYgWafKtAkIwXcvd
	MBhEk4IMHi2D5h6F4oFZ8A==
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=
	1780332713; x=1780419113; bh=Bp+9MOScam9lOoXhydIkVSIh4E4kHXVGuRy
	sJxb9gAQ=; b=OLuUmepe+aT6caXlbf9r4gYaySQwsNL6OliLfpj5MfKHFQbqEdZ
	hRlZAESfjPgVadMwCvxY4taW8pb18z3LtUtmmnmHpV3VNi2d+dFUCdV65CILb1Dy
	6Talb7cBrdmOqzFeeEUqIW4HA8P/Tt9EB//PemWz+iEZm8eqvLSRczeOPCrhYnUJ
	m7HLcwsgwRy/ulLSdEoPVWuingR3edNb28u0Jjwv7AvbvhYpSiw/FOyWTK+/Y5t2
	oIhwYAIFFx/JWamcFu3p+HyeCcDUZneicPrpsLGD4qppR8SSwsEb+TIIfJ/7lvOe
	J/rCmkZrNO9qHv6R0jRc6DE4YtssgC6NZDw==
X-ME-Sender: <xms:qbgdanbXP1KSU-l4-R3zSRMrRleIfpUI4VDwxCXT-iB6Q8L5oLOVCw>
    <xme:qbgdatSnt3Bg2vR6THoPM76XNC-oy7UgjqmemWYUvdR-Z1-dVdqhzYpyuWTGNoPyb
    0X8xihviR4ZHh4aJp4V53S1KB39_CJwdGpw4z-HxBvLiKFt>
X-ME-Received: <xmr:qbgdaiSAfTHIfKV4T6AUBKSsDenK1k9GGcBZmMlb61CURD__Q1Rwk9AflV8v>
X-ME-Proxy-Cause: dmFkZTF8ZORvIiqa2GF3r95fxIL7C9UupxJFMVBEs9eVzH/hTahm4J2V0yTCVYD8gOmUnr
    moaZUNsyrJ+Z+Q0dNXg4qoxRe2qHURR6GPUqA3IZ/WpPNrf67x+nmXAEwRyTi7jhpgeOKi
    EbNA4neG9ciWp9hOtu9xXMBQgIhe24QPbCLVG0N6dJZYREDQ0Ea/KlbhGfa/ZCUgVBZrva
    vwZwerOoAqwSo78d4QDtUAQdOJsegnDQq3jaKWDRK6j+zeJE/q670nZCGyvRAkmpNa+kiC
    H+kHUqPW3iP/AJ9wfgEeWamYqTGbSEJ6IcsaiWvEnZN8XfcnasriTC1xIVoJ4rn3Yg4IK1
    SGFmz22jyvktI/gjDvMQwCZHlzgBmU+6zuHuaYTG2qb20GoTGxVPQbajTDhBce7rlo78qh
    DhQWye7mWxhSwDVxdExD/xKF3SwIwXX6ofeD+cYVaWm1Hq22QMddjuYyYuht3B6RbuMbhk
    nthBfbqivTmpYLTeTn7KH6gUY0GwtNDCo+MwNU7kWdq5CjuSKHxaQQDj3I/atjM7Y83Jec
    hneoTv4/Mmd0TB2wqFkkl0kb+tJjCb8r3bw0gBr583lYQRCQWVQIjr+2gju7Vg/GXmpdRf
    WejGRtFGHALvC6dymKsTq43aMrQ9R2HXhy8nXmzqwLaQd0/y8eL8ImvkiBRQ
X-ME-Proxy: <xmx:qbgdapQRYbJP8scUtAaOMZVZe86MqeoC6Mau_MUGgcJcBiN9oXvdhA>
    <xmx:qbgdav4wpeqk9krgF9cjNnG3xxDX09dUIGd37JXUxurRTY3m3c5oWw>
    <xmx:qbgdat1pfsTpUCZf7fkVuC_MBqsyIPn0SoW4pqhz5nBu_NDltXzflg>
    <xmx:qbgdaiDp5NDCMX040B_EZcF4-06UCEhv_dcVbjPfNuTnYy6GBaVdAw>
    <xmx:qbgdasYWswfVcWey13q_POlySTSrYiViRTAbUvFE1g5gaZFfjsTq53Rw>
Feedback-ID: i1568416f:Fastmail
Date: Mon, 1 Jun 2026 18:51:49 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
	xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: Re: [PATCH test-artifacts v4 13/13] Setup ssh access to test systems
Message-ID: <ah24pfWb_orPRaJG@mail-itl>
References: <cover.30e6171ddf1c6a72eadf4af0a77c892d4f18d811.1777898148.git-series.marmarek@invisiblethingslab.com>
 <13f837cd9f394d3b4eddb4849156b8ed5d06d31b.1777898148.git-series.marmarek@invisiblethingslab.com>
 <1779458083.8631fc262581453bbf619ec5b2062170.19e4ff78945000f373@vates.tech>
 <alpine.DEB.2.22.394.2605261201180.182011@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="JyKwHnCynqH97rP0"
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.22.394.2605261201180.182011@ubuntu-linux-20-04-desktop>
X-purgate-ID: tlsNG-720697/1780332716-8117D161-D5057401/0/0
X-purgate-type: clean
X-purgate-size: 2276


--JyKwHnCynqH97rP0
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 1 Jun 2026 18:51:49 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
	xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: Re: [PATCH test-artifacts v4 13/13] Setup ssh access to test systems

On Tue, May 26, 2026 at 12:02:23PM -0700, Stefano Stabellini wrote:
> On Fri, 22 May 2026, Anthony PERARD wrote:
> > On Mon, May 04, 2026 at 02:35:52PM +0200, Marek Marczykowski-G=C3=B3rec=
ki wrote:
> > > For this add also bridge package, so xenbr0 can be configured with
> > > /etc/network/interfaces.
> > > This allows extracting more logs out of the test system.
> > >=20
> > > Create empty /etc/network/interfaces, so the 'networking' service sta=
rts
> > > cleanly even if no interfaces are configured this way. This is
> > > necessary, as dropbear service depends on networking.
> > >=20
> > > Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethi=
ngslab.com>
> >=20
> > Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
>=20
> Since Anthony has reviewed the entire series, on the whole series:
>=20
> Acked-by: Stefano Stabellini <sstabellini@kernel.org>

Thanks.

I seem to have forgotten the "test-artifacts" subject tag (adding now).

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

--JyKwHnCynqH97rP0
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmoduKUACgkQ24/THMrX
1yzSzAf/cl2bQdr4zpb2k0MhiPhGWceR70SBbSuG4jRy9QOo5T5nvj0cjn0BK/Lw
W/brm9G0INq47RZ3VbPnhQ6Rla4VMoaKFRcpZ8XY5K5CPUfgywXTAW/ziiwcOTG3
LRyAErfktwyesTGFand9TIHuoOBRYRYIHZ50xA7/gv70hmGo+7Zoqjf9FzkJH6SF
L8Z0mC0BvpWQaJvAk4OvSc0YtWFJM2LyJ55/xMuyUA3vwHxdaAILf97y4bIe9Ll4
VpQGQmj/FAgh5Ej9uzDsaFua2Atyp3BPkZ7eh2OaiIcbIa7/VbhNF1NWN/78DI9R
K1DlnTUaA6jl2kE4y6ievNZ1w6ajjQ==
=6kMR
-----END PGP SIGNATURE-----

--JyKwHnCynqH97rP0--


From xen-devel-bounces@lists.xenproject.org Mon Jun 01 17:00:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 17:00:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324011.1589679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU601-0004ps-UG; Mon, 01 Jun 2026 17:00:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324011.1589679; Mon, 01 Jun 2026 17: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 1wU601-0004pl-Qc; Mon, 01 Jun 2026 17:00:25 +0000
Received: by outflank-mailman (input) for mailman id 1324011;
 Mon, 01 Jun 2026 17:00:24 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wU600-0004pf-7O
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 17:00:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU5zz-007tRD-Ep
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 19:00:23 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1dba97-5cb7-0a2a0a5109dd-0a2a4502828e-42
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 19:00:23 +0200
Received: from [40.107.208.13]
 (helo=PH0PR06CU001.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1dbaa3-af86-0a2a45020019-286bd00d1150-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 19:00:23 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by CO1PR03MB5698.namprd03.prod.outlook.com (2603:10b6:303:9f::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.17; Mon, 1 Jun 2026
 17:00:18 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0071.014; Mon, 1 Jun 2026
 17:00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=XpfvdqnMMM4IK/3tTJWL+CxS0D6O0qJ/gpHtIODfjVtsDhArLou3i/Ew/TwS/odwVCRTyteM4ypiM7cy0eqM4fXSdr4t+0DnQHBLq5Mow3CEVXLdI2iNb2I8rRZqLxq3ME2771BlL6BC6VFVuMADi7wljG+cI5O8cY5ZtIZTLCnsMN2Vrn/Dp2GC89BrMyXfXOr0rSNglTMEfDZJO6NVcHpBIZc6aB2ZwONtVWkTRtzkoPXwUCXEcxa+opJgHCyATrh4lkLn2YBzwgxFL8cphW+RZEjwo0LWOh+97Rt4nJQH8HdbFM1fYpmXkVmJVXIZR7ZC9z0ROPzq5wVD8NgPXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MojUP8b1crQuLSR55Ve/r677t9vA76xR56gBrbRoU40=;
 b=cwq2qFgOgV58WSjqM5hTTqyTqrmCx+KWsPbin4Vhe6M9sZdmgnx3g8mBEP+kbk4HMzLqSkLZ84m9s/ucRQ1+lmRaRdSoX1QKR/ssmnPOqEAwOXf/ndrngxPBknKCY4gqNesWYkBEcLBnPWX2c/+Q3KFZwaoXhsnfKpp+hnoxHfu0clxCdsOqwLCFHZo/56Y8QNmDgDG7+OtmC0Qd79mmlvzY7P9kPSeEmGtUji5tqDBo2nFu3P1fqFiJZwyaJ7UySgXiivH+4cG9taW6ratslOAdjIjU0R9ck/Soc7Op/H6JqXDM5/uSJxRY/qqotA/cgBNvoKP9+/+EG0rgTZpchQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MojUP8b1crQuLSR55Ve/r677t9vA76xR56gBrbRoU40=;
 b=Ue8R+CIjuuiTI9zCA9stX4Ih3ZzJ0VbOysufgO3/YFyg8x7TNgayg6CPgo0So7UyADn6KEWlFzY4TxklcTnGCmPbeY6vE/T3GxbGVI5gJU+HuEKSNK9vXGtA41uQlG8j2SoBMnQVLQ3ozxS9n7ZAyXWgDw3yDyVigUDxW/MvmbY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 1 Jun 2026 19:00:14 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: Re: [PATCH] xen/x86: Change stub page freeing to fix smt=0
Message-ID: <ah26nl95MgqhPPAi@macbook.local>
References: <20260526203114.40882-1-jason.andryuk@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20260526203114.40882-1-jason.andryuk@amd.com>
X-ClientProxiedBy: MA2P292CA0028.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250::15)
 To CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|CO1PR03MB5698:EE_
X-MS-Office365-Filtering-Correlation-Id: 43095319-b2c3-4c18-794d-08debfff4200
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|56012099006|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	1L0ZnprwoHHMUZnDo5kuq5jsDrWpEetgqcUscedcFL420brQ7ROM/YAH1LqT80ORLTqc+3rae7oyqdLwHs/YyjO8HIvt75v2xdbnhkqVvtpIaVm/dbS/N6MRLLEFT5bZ2pXLvvFDOQa5h90uxbesru0I7Du7/t37SFudQe9kOy4xVRx+sIgYwD2HbrNGvgw4UyHoeeUEhnxd2boksJ3tluk4I/INXe0oWUHk86ZcEabKeVmAJ+CG7o2R0OYqaC8TpBrMomgFYxqGE3xUxU723RcxgviivXI3mVyT/On2FOxh5sFbAzlygsXhHkvzkLQdAdPcvJGgWzbCMC6NFPSVzkGWvI4b5UsIPJSu4OVmSxePk5fap8pnPPWBaBhz3uXSsJCgK7q1z+M4oSA53BVyNlWt478Dgk5ijIHBh0LS+7qArn45OYRQHK/9ndtNAO/OTNdvXx2efu/mrLsT6w5sMq/+AfMc6NRP1zkd0zomVt3wTy2l9qVDGF1bug0I9lWG9KaFh4GEw/htytBiXB8o/sBRAG4I3QJobwLn9WQBhgfPOlNA8+HUqilmhKcnGx24bMavE6Fv98O3eO+FzQJGkVzLtQhX+n+ezCmXer7+4lWI5oZvk+RbOsh+MaOKBn5MPM37J3///vj3GZS6Js99Tq98Xr5xnDowlAI+NKCSZZQCCZKcT25NK1ExN/nN0K+S
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(56012099006)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YXh6aFZDTG1RcHcyNVJaWmxrM1BLRy83RzFxQkJURWFIdVZ0VE04ZGJNM3Vs?=
 =?utf-8?B?ZS8zSExvT1lyN1JjWlQ1QlpLRkJTWWVjcWZUR2RYQ2xNVHJac1kxY0FrUXpk?=
 =?utf-8?B?Q1EyNzE5WUdHZmJka0dFcEs2TVF0dmM5K05jcFc3UHB6cFBKNFpFckdld2hw?=
 =?utf-8?B?VjkyQ0NKamNKS1dyVU5YbmtoRFY1a1VvSWhxVzRkc3BFZ1BLVTRDQytDNEF4?=
 =?utf-8?B?TDB3MTE0MStoY2lidUw3cmlzWERvK1RTMzIzVktYcUE0ck1ZYTZXbTdFYzU2?=
 =?utf-8?B?OVRxdkdLcXpVWlpjZGQ5aXBmM0pwYWNkTVBDZkpaVGZabk1uNFRzYUZQcDJH?=
 =?utf-8?B?TzJpbFM4S2VGVHpUYy9sNng4cDQ1cWlMRy9kcTRJSmg0Y3N2d2xXUzdUd1da?=
 =?utf-8?B?cUg5NWN6bTl1ZHRDaW9qOElYOTZrSldRK0xET1lNRGJxbiswZXJZaTlZdDky?=
 =?utf-8?B?MXNiNnMrYnRjRGNrKzFOSGlDUGkzYnUvRGtoaEd1aXBISUFoN2tUMmREZW9o?=
 =?utf-8?B?VzRrV2dia282dTZsUEdncmtYays2OGhKeHVlbGZRR29iRWNYRXIvQk1mbWlq?=
 =?utf-8?B?VzI4MEVCWW1BakJhT0M5aGR1c1hNTjlNVzQ4WHBoREdiWE8wb1oyWW5EMmpS?=
 =?utf-8?B?SDJqZ1dsR2hVbnFFVDBFRm1NbXlkZmJoNVJZdDkyTFM3Mms3VmwwbU5FOFB6?=
 =?utf-8?B?Rmx4SndEZmhTSVRsalYwQ3EzTmVFbHZlSzlvU1AzODBEVnhvV2hTWUtpRVN0?=
 =?utf-8?B?N1hFcS9jWWFlNUtCTW84MG4xazJMWGlUejFKYmlST2VkQWR6WHNGUTRuVVMv?=
 =?utf-8?B?aUN6LzdtMjYwS29Ba0VaMldBbllBOUVVOVZYQjVEaU1ONzkwZmxnNFZPMnps?=
 =?utf-8?B?OGl3Q3NIMlBVVzdjd1c2TFdRdEpOWnJLb1hUTTd5aHdKZzYzK25Lb2wyeE9D?=
 =?utf-8?B?OGNBSlVYWm9YZkl4RjlZelAwdHNMN1EwSFdzK3BnQmozUFhSTDhKUkR0UGNN?=
 =?utf-8?B?YnJ0SU5iWkJqelRjSnhFQUdHSGJvd0NUaDlTNEE3M3RDTEgwZktUek9XZkJE?=
 =?utf-8?B?d2hySTJJZENjQnJEajhYNWtwb3JONUpYanJpcGFOQXVzTGJQNjdQeHBYVXZ6?=
 =?utf-8?B?Z2NuMEJkS1pwQ0cxenFGc3h1amhnWHBBQ1lTYlVVNTFzSVlRMmxXQ0F2ZDJs?=
 =?utf-8?B?QW5FajJ5d2dtbEd1NUlpR0toRGJSZVZQVTRPM3ZaZU54VTNSMkxjZTZUMlhK?=
 =?utf-8?B?K1JramdGMUFZMi9XRTFPSTYvbjFVQXl0MExsYTY0aU9mQTBHMjZxVU9BSWRI?=
 =?utf-8?B?ZTlpcmQ4Ukd4enVGakIrWEl3S0tlNUlBTVptTFBTNjQ0UENlcjVvSXdJVGxE?=
 =?utf-8?B?RjZBbHlCUHB3ZC9kRm9rN0wzNFp3Z1Byd21FNVhaUW9BZ1B6UjNib2dJVGtU?=
 =?utf-8?B?a05yT2hrdWpFcWRwb3N1Z0lweGhISExZdXliaWZ6UHRxSGpVS0krSjBaRHA0?=
 =?utf-8?B?T3hRNGlZZHpXTXY1ME9QVmxFQ2tBRGJjMjY2UTVodTJyR0p1Mk40THVUVy9O?=
 =?utf-8?B?U2UwSUhPSFFuejZmTGJRdlVJL2RoK285SEpmdUdHbS9zK2kzZSt0ZlExL3Fx?=
 =?utf-8?B?NnNnMStjZVRmVWhzNFFJVDJmb3RzQnVoOW1ndFcyVk1GR0NVa0tDbFRaQXVI?=
 =?utf-8?B?eVN5UVFPVXdaMi91Q0Q0VTdWdGlteVdsWjRzbXhOQnhiTDNXWGx3TlI3cUMy?=
 =?utf-8?B?dmNvOW45QjlMT01nOWlyWHNxRTZEZjRKa3VnblNVTUZOZU1UWmI3WUlYSTdH?=
 =?utf-8?B?bDQ3OUNCcis5T2tmREJkOXU2cEZiT3NnTlNZcTZjSUl0NWx2ZGxDSWkvbEpU?=
 =?utf-8?B?TWxWRms0dE1lcTJVdlp3L01FOXk2TGFEdGx4WUVNTEx5c1lPamNENnJFeUw3?=
 =?utf-8?B?S2RMdlBBdUY2SE4xTXNLNUxic0NockY1NnFHWDYrUE9TMEJkTUxqSyt3cnlX?=
 =?utf-8?B?Ty93L1doZTZHcWYvYU9XalZad1hmOFNla1NlTUZXeU9BVFYySFpwMzJSVHcx?=
 =?utf-8?B?QWR0b1QxOHIvL0pocnlpUlNZNFFhc3lrS21zRnZXNDA1WlhpQTZFSmkvOU9i?=
 =?utf-8?B?K1F6bmxVaGoxdDU2YXB5czlDd3c5cUphQ0hNUDRLOEZtNm1NOGdFelRmNVRD?=
 =?utf-8?B?YmpwaGIvQTNFWU45UTlSQjJsQzNkd1VnR2lyUTBkVkVxaFpkN2Q1THZBWFhs?=
 =?utf-8?B?NGpFRXlJdkVmcFpzVVBqYVJrbXBLS0MzWVJvcTFaL0pBaUpDUkpsOHU5ZDBX?=
 =?utf-8?B?cGg0a1VtYyt4UDRiZm13ZGg0RUs3MUxHcnJRNm4rZEI1aEtXME9DUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 43095319-b2c3-4c18-794d-08debfff4200
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2026 17:00:18.0408
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MsVEbFN3+ZxlK5n4ilcZRBMjcvMaXLrAsAX80nvd9EQP6JQduBO1nkMP/bdC+LjG75vFDAfFhXBgene536MV3g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5698
X-purgate-ID: tlsNG-720697/1780333223-A8145161-4720F41C/0/0
X-purgate-type: clean
X-purgate-size: 3527

On Tue, May 26, 2026 at 04:31:14PM -0400, Jason Andryuk wrote:
> A single stubs page is initialized with 0xcc and re-used, with multiple
> CPUs each using a portion of the shared page.  In cpu_smpboot_free(),
> each stubs area is checked against 0xcc.  When all are set to 0xcc, the
> page is freed.
> 
> Booting a system with smt=0, CPU0 is initially setup, allocating the
> stubs page and initializing to 0xcc.  When more CPUs are brought up,
> CPU1 is initialized and then immediately brough offline as it is the
> sibling of CPU0.  Since the page was initially memset with 0xcc,
> cpu_smpboot_free() finds all stubs as 0xcc and frees the page.
> However, the page is still assigned to CPU0 and continues to be assigned
> to other CPUs.
> 
> Meanwhile the page can be reallocated, which can lead to misbehavior.
> The particular instance was the stubs page re-used as a page table which
> later faulted when the entry was all 0xcc.
> 
> Change to initializing the page as 0xd6/STUB_BUF_FREE, and initializing
> individual stubs as 0xcc/STUB_BUF_USED.  0xd6 now indicates unused, and
> 0xcc indicates used/assigned.  When freeing a CPU, the stub is set to
> 0xd6, and the page is freed if all stubs are 0xd6.  Initializing with
> STUB_BUF_FREE lets cpu_smpboot_free() a page that was only ever
> partially used.
> 
> 0xd6/UDB is a 1 byte invalid opcode, which is similar to the existing
> use of 0xcc.  0xd6 is used to identify bug frames, but the stub addr
> (e.g. 0xffff82d07fffe000) fails the is_active_kernel_text() check.  It
> should be okay to use here.
> 
> Fixes: 7a66ac8d1633 ("x86: move syscall trampolines off the stack")
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---
> It would be nice to use get_page()/put_page() to let count_info handle
> reference counting, but they require an owning domain.
> 
> The listed Fixes introduced the use of 0xcc, but the smt commit may have
> made it more problematic.
> Fixes: d8f974f1a646 ("x86: command line option to avoid use of secondary hyper-threads")

Speaking with Andrew, we believe it might be easier to simply forego
the freeing of the page, possibly something like:

diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index ff05955bae40..62c6cbf4b561 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -990,19 +990,12 @@ static void cpu_smpboot_free(unsigned int cpu, bool remove)
     {
         mfn_t mfn = _mfn(per_cpu(stubs.mfn, cpu));
         unsigned char *stub_page = map_domain_page(mfn);
-        unsigned int i;
 
         memset(stub_page + STUB_BUF_CPU_OFFS(cpu), 0xcc, STUB_BUF_SIZE);
-        for ( i = 0; i < STUBS_PER_PAGE; ++i )
-            if ( stub_page[i * STUB_BUF_SIZE] != 0xcc )
-                break;
         unmap_domain_page(stub_page);
         destroy_xen_mappings(per_cpu(stubs.addr, cpu) & PAGE_MASK,
                              (per_cpu(stubs.addr, cpu) | ~PAGE_MASK) + 1);
         per_cpu(stubs.addr, cpu) = 0;
-        per_cpu(stubs.mfn, cpu) = 0;
-        if ( i == STUBS_PER_PAGE )
-            free_domheap_page(mfn_to_page(mfn));
     }
 
     if ( IS_ENABLED(CONFIG_PV32) )

(there might be further cleanup possible if the page is not freed, the
above chunk is untested).

It's a single page shared between 32 CPUs, and offlining 32 adjacent
CPUs seems very unlikely.  IMO the extra complexity of having to deal
with the freeing overshadows the very small memory gain we get from
it.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jun 01 17:09:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 17:09:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324022.1589688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU68J-0005jL-Pi; Mon, 01 Jun 2026 17:08:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324022.1589688; Mon, 01 Jun 2026 17: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 1wU68J-0005jE-Mu; Mon, 01 Jun 2026 17:08:59 +0000
Received: by outflank-mailman (input) for mailman id 1324022;
 Mon, 01 Jun 2026 17:08:58 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wU68I-0005j7-6a
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 17:08:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU68H-00EFRb-Jd
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 19:08:57 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1dbc92-2eae-0a2a0a5409dd-0a2a450c9d78-32
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 19:08:57 +0200
Received: from [52.101.62.71]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1dbca8-62f1-0a2a450c0019-34653e47efa1-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 19:08:57 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SA6PR03MB8009.namprd03.prod.outlook.com (2603:10b6:806:437::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.15; Mon, 1 Jun 2026
 17:08:53 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0071.015; Mon, 1 Jun 2026
 17:08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xySWV/WByEEOgjttlEinzN4KGc9m05VcG6HZSxJAbHON0ED15C4/2cjTWP9Kprfs5q+/CWhVRD3XaOUJJH2vLSSnovVEALaZousAAS/EwR6BgZIv5OgAPmOdq4Xlg852/V0Eu03zmmDzBuLW7wwy4+AdgrKrERuGvAXARoQdyMqj4zFcfJsFqSMt1sh/c+VeLXgvmOdxeAJbFG/flItIK14PIsATKzHB2+EfojIuFKpC2X4pZoXZeJsJ8qOp0LcS/JZCvw9R2/EL86D2A2Hslfb/bPCgEl7AC2Eln1Rt+5ZNFnv+4Yklsnug1S6PQdlNRpTeuy3muunmr+U82I40pw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6Wns+MOvruvUmWtZ/sA3S3UpY35Nm2tQmle8/w2+Fy4=;
 b=xD7mUd09/C+azIdIZvmyTx2wDps1/8hbx9X4zUpBVIgLqtRFGS66LotvhpaIvQmxB1Rr6DSkrO+MSOzHChwy1LEYHs+6cAA+d7tpX2oCLFLHQ6uJNykFNXou8wSpaqPOo3Cu+WdIuoqlPyJd/9yTMWTDKMyfDbWKZUMUgkJc+KEb9La0PfGOiSCEe8mvShaOBu0/PzSWV+80o+QGkLC1jIBTsmLbXjIhOnjoG2DdImZTV07uWssqr+VF7A/hvYRiFlDQRuY+3q1pstEnC4AEZSkU+nkbURhgfLQt2IcFQ5vP3zSnD/ZtAO8RrzQlwfOd8A7oQNabJqrBa6Z7pnKnWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6Wns+MOvruvUmWtZ/sA3S3UpY35Nm2tQmle8/w2+Fy4=;
 b=xf5wJIr1Yfaxs4mbmezS8kivTtQz3i+N1Xx7SLxeTs1BqfqPncod7dHuFH18bF9qKI1HIJ6GIgaTbbR3eqqwD87fU0FZ6+Rlu792zRKfwdSIB2B807Yv6SrV6BZPAEEggjzA2toADjA5UtRVa1ARKiTPRHAiRzIauhYgCvjYfOE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <e08a1e30-cac2-40a6-9dbc-31aa4074ae88@citrix.com>
Date: Mon, 1 Jun 2026 18:08:49 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH for-4.22 5/5] xen/numa: fix setup of non-aligned memory
 affinity ranges
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <20260601154332.30797-1-roger.pau@citrix.com>
 <20260601154332.30797-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: <20260601154332.30797-6-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0178.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18a::21) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SA6PR03MB8009:EE_
X-MS-Office365-Filtering-Correlation-Id: 724f992f-2979-4c70-0162-08dec000756a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|366016|18002099003|22082099003|4143699003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	5VewX9jaI8U+7ncZU48o0zK4d0kV/juxzRyccf0NnFm5p4bmws+x/V71nqI+OUhjrxKr/pnSYGcfonVDCltG/Ous8mXdD01ismj/d4QXZwc3cNt3rnrMYAxq6fcKKxVBT4nk4XIE2IavGpzPTZojqzJWDWIPxrfLuWGKvLRk2zsWjcAn+DpBCmHAqZVah8HI4fVbeKura5zSOeGxHLb7isvwQHnyLnPYAGohaOis/2FFNHQizlRDAAOWBpP/2jaQow96fDvyKp0IrR3XvlCu4Qy4nk4MifRGickUqoQbM96uEr9ST+RXqxiU8d+v4anr1lTKxO7agl9gsXY7V5ZuE8TYpW39jvTJL2OABKqJ0YoieH0ze6S49gGk1lCX6DQFLVD1Kc25ilqSUR8VYAQfUfp1Ez5i0w2RIGtxF6xfPDQzC7Dd7Le0PspfLhw9TjegxZomc1afhAStaFiQv4hZ2xMipy01afWdftce313g13NdpUgVmYJPIZERBsiaUVnUz6x6FfiKrgU4F7hKCoCK7Eyl59+TschyHAZUTtVFT7vHsXe9C26VXKTQluN+J+HaxnKdmpbKAqpNE+vofTE/NDh1eCRvoiEdO6nLJNANrU6u5GQtRnu3V5LDO1FwIW6BRLVDOfl0uAV6LUuWkRwFWD2eHeDGf45bbpvPiBLykVy8Y4F+H03UGfg8oz1FkzQD
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(18002099003)(22082099003)(4143699003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a0JSbmxhVEJEeWc4NjNGZE55TWx4T0pRU010b1pJOFpqUWZ3RkIxbnhYZDRL?=
 =?utf-8?B?NnVHeTREaGk5dkw4U3hxV082Y3RuZjFDVngzOWVTVFQ5Z2JINlRLdW00OE9D?=
 =?utf-8?B?S1ZqWUZTRVNYNlhtZ2hiL2FuOXcyU0F3bW1VOTE5bnlVMU5lRmovMTBHdlJ3?=
 =?utf-8?B?NEFBZ3l5c0h2ZDZSUXRyZkVpZG5JRUtvYnZQeloxSHhFKzR6UVZxc3pRUFFu?=
 =?utf-8?B?eEtVNVRjS1YrU3V4RityeFZQU3dDekNQNTB0VnFFV0J1cTRkWUNzcS82R3Nz?=
 =?utf-8?B?a0V3STBMb1UwMWwxYWgyU255djBZMVpjRnpxVTJjWUg2eXovM0xWSFpqYW5K?=
 =?utf-8?B?QnBNMlNneExFRjk3eHozZzRNOWJDYkUrczZQb000STZhSzVNR3hpMDd5dkJU?=
 =?utf-8?B?QmFpSmo4L1BReWdVNkdHckZtYjJLS1JqWnZIN3BzYnhmWktVVmdveGJFRXY3?=
 =?utf-8?B?OVpCSG0wcS9vOFNQVE1NQmtuV1BidHY2Mll1cnNvRzEwekYrdlg4RE9KYkZQ?=
 =?utf-8?B?ejVJOFJvYzZCaU82R21PY2hqc04rT3JoblZmTEdtc1ZVQitwS3MrWUQ3dzZj?=
 =?utf-8?B?MnJ1RWNWREZkSDhhSDJndldjeTk5QWludExXdUtwVE42WWdzcWE4VHZBMTRO?=
 =?utf-8?B?czNIU0xzRGhqdlQyVmF1UGVzTU41bHd6RW1tWHdPRStZWVVaeENsOXdOWjk4?=
 =?utf-8?B?SmdaM3ZCNHphejFrc1JOdEovVStKSklDQi8yZUw3aCtxYzI2OHljcGIxZ1g5?=
 =?utf-8?B?Z3ZleVh1dEc1UDhUL3I3TWJEWmUyUUZxV0d3S014dVM2OC9ia3FhWDVNdzV2?=
 =?utf-8?B?Rk5YaUdFUjVQNERWMERXMlIyRDBsanRwRHBDdlhKTFhsN1Nobm9Lc0hSa1VU?=
 =?utf-8?B?VWNpNG5CRFV1L0JmRWtldkFzdWF0Nit5UlR4VmVrLzBvdW5zNlJuOFhzNEhG?=
 =?utf-8?B?cC9FWW9FR3BiT3JzdW5Rczd1cjUwUm8rVnpSUGRvWVpqaVFNY2xkempEbGoz?=
 =?utf-8?B?MG1oWEF2eXZVbkE4cW1zc0o2SXBwQi9sY2hYdFg5cTNBbXZHUGRqL05ZMjFh?=
 =?utf-8?B?NVhsRVYvSGhYam5tSG9tRXp4NHYwdkxtbDNIZlc4UGF3NkhrZkM3WHUxcXFu?=
 =?utf-8?B?STB0M2gva1lLa0NGbmordVhGWXNNTE5ZMEUzU1lsMVdqYzVTR3luREI0SFpa?=
 =?utf-8?B?RVBIcXhpRmxkWXczMzZtZ2V2U1NiTllGb2VPTWxxNnBTSGlITHpsN2Z3Uytt?=
 =?utf-8?B?YVdSNTB0cXFkcGE5MlVEUGNHelVaUW9GM255dU1qY1JaNDlzMnlhbnJjMTZK?=
 =?utf-8?B?NXVjY1ZHbDhkMXVTdjNTbVhSSjM3Q2VzYml1YXRRQWZSanFaaGx2VjVKa0lw?=
 =?utf-8?B?TXRrS1kyZTJRcWRZc3lPSGVGYXRvWWNLR1VTYmJwLzIyLzhZNGZEZ2RWYUsv?=
 =?utf-8?B?cCtubzZxYXFXWWF6TktOUTFaRGhRYmk5aktXZFVVSkx2ZGtEUzI1V0tYY2R2?=
 =?utf-8?B?dml1UUswRHlpdVdjS3l0cjVaR2lwZTRHL0pjRitDcGhRU0FFUEtvWlV3VERk?=
 =?utf-8?B?eTRVNCsyNHRXWGE4TWNzLzJwdktRWlRxQ1BVbUFIT2FMVk9XUno3RFgyM0RD?=
 =?utf-8?B?N0phcjJyR3VqVUtuQnhXL0hWMkJHR0Yra25oU1JpVUN3RUpSV0d2MW40SXlK?=
 =?utf-8?B?U1NkYzExNTM0TllKVUlCUUtxS0FsejVjUXM0cUJkYmtGaEpkOHRiaXZKSzJK?=
 =?utf-8?B?RG5YdDUrOTRTa3RFa3EwdlQzeVlEdExrazEzdEpjSmw1alc0WWZzOC9nZ0dH?=
 =?utf-8?B?S0x0Zy9RZXh4L0xCL1BMSkNIam1IOE56bTI3YkMzcVBGc2hzNmpKbVMvSktR?=
 =?utf-8?B?aXFBeW9MZVExSnBRN2VoTkZEVVBIbUJXQUVCZU9hRHF5YnllUU05MmJOSEZm?=
 =?utf-8?B?MkFad0lIaE1zSDdocUVBUHlCK1p6QUJuejBLb041L0tZc01pWGs5V3FieDJj?=
 =?utf-8?B?RUZkT2FYUW5BVWJtMXVNcU4yQXNibDU2elo0OVJiY2haZDZWbDhEZ3AxeEFB?=
 =?utf-8?B?MXFQR240YUkwSXB0L0EyY1hncUc4U0ovVTN4Tk8yanB3QWl5Z3hISHZYZlRC?=
 =?utf-8?B?R3FOY1ZSZS9EYkhPY1Y0ZW9OTGcyTXhjNWVhby9zdkFyQ24wbVp0WnVUYXho?=
 =?utf-8?B?UTVKMmZVOW0vcW54VnlxZUV0bjdRUTFGL0tWM1lId0UrRUFUTEdwSm1OZGZ2?=
 =?utf-8?B?YlJFS000L2xlcEVDRkpwSG50am1GWTRDMG1kbG1iaXRqVmpjd0JkY0tOWEFR?=
 =?utf-8?B?TGhxTDZxRHhkdmNhMWxaVWJFKzl6K3VIMW5wTWFvemRwalc3RGpJVEljZ0Fw?=
 =?utf-8?Q?WILjeD1Xng1re4pE=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 724f992f-2979-4c70-0162-08dec000756a
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2026 17:08:53.6623
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XSlZrOsjzXLHoTbMVbAqkYh8dT4S0Q3+j3faUIuQ5KrnAdLg296auR3zzEK93yt+JqpNElGU0AK81Mh5Sw9q6HRmHVGhnKP68m4jmEvn7zw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR03MB8009
X-purgate-ID: tlsNG-d25034/1780333737-E1D6BCF5-CED0900B/0/0
X-purgate-type: clean
X-purgate-size: 1049

On 01/06/2026 4:43 pm, Roger Pau Monne wrote:
> diff --git a/xen/common/numa.c b/xen/common/numa.c
> index 8544a1598218..8b2f29597f30 100644
> --- a/xen/common/numa.c
> +++ b/xen/common/numa.c
> @@ -396,7 +396,13 @@ static int __init populate_memnodemap(const struct node *nodes,
>  
>      for ( i = 0; i < numnodes; i++ )
>      {
> -        unsigned long spdx = paddr_to_pdx(nodes[i].start);
> +        /*
> +         * Round down start address: if start is not aligned to the memnodemap
> +         * chunk size the tail remainder might not be added.  Overlaps created
> +         * by rounding will fall into the same NUMA region.
> +         */
> +        unsigned long spdx = ROUNDDOWN(paddr_to_pdx(nodes[i].start),
> +                                       1UL << shift);
>          unsigned long epdx = paddr_to_pdx(nodes[i].end - 1);
>  
>          if ( spdx > epdx )

I like that this comes with a unit test, but this hunk needs to be
standalone at the start of the series, because it needs backporting.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jun 01 17:12:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 17:12:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324029.1589696 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU6Bs-0007EW-6e; Mon, 01 Jun 2026 17:12:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324029.1589696; Mon, 01 Jun 2026 17:12: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 1wU6Bs-0007EP-3w; Mon, 01 Jun 2026 17:12:40 +0000
Received: by outflank-mailman (input) for mailman id 1324029;
 Mon, 01 Jun 2026 17:12:38 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Luca.Fancellu@arm.com>) id 1wU6Bq-0007EI-D1
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 17:12:38 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU6Bp-009Gdw-9S
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 19:12:37 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Luca.Fancellu@arm.com>)
 id 6a1dbd7d-bab6-0a2a0a5309dd-0a2a4507a4ec-14
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 19:12:36 +0200
Received: from [40.107.159.67]
 (helo=OSPPR02CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Luca.Fancellu@arm.com>)
 id 6a1dbd83-229c-0a2a45070019-286b9f4327f7-4
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 19:12:36 +0200
Received: from AM8P190CA0007.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:219::12)
 by DB9PR08MB11309.eurprd08.prod.outlook.com (2603:10a6:10:607::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.15; Mon, 1 Jun 2026
 17:12:32 +0000
Received: from AM3PEPF0000A793.eurprd04.prod.outlook.com
 (2603:10a6:20b:219:cafe::38) by AM8P190CA0007.outlook.office365.com
 (2603:10a6:20b:219::12) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.16 via Frontend Transport; Mon, 1
 Jun 2026 17:12:32 +0000
Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by
 AM3PEPF0000A793.mail.protection.outlook.com (10.167.16.122) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Mon, 1 Jun 2026 17:12:32 +0000
Received: from DU2PR08MB7272.eurprd08.prod.outlook.com (2603:10a6:10:2d7::16)
 by PAWPR08MB9854.eurprd08.prod.outlook.com (2603:10a6:102:2e2::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.15; Mon, 1 Jun 2026
 17:11:28 +0000
Received: from DU2PR08MB7272.eurprd08.prod.outlook.com
 ([fe80::5d34:206f:373:a323]) by DU2PR08MB7272.eurprd08.prod.outlook.com
 ([fe80::5d34:206f:373:a323%6]) with mapi id 15.21.0071.015; Mon, 1 Jun 2026
 17:11: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=lUqEoMA1N5i2EnZVWb15zdtrhLkbkBeDK7tdJ7Va8tI0Y1ijbYuHEukIpeRL1AmKE9vq8Iv+TlLFDwyoeqI8UkHeY0yAJPy7HMf9X5E7BwElp/s+hSDi58hIMlxkmFwFw+Nyz/+zsfQ5MwOHPIjEWUXX30n4JxgHuT5YLAL5Q7cy54+wffEGyZD94wamc7mgFdvDDnsJ//wmCMrmFFI1LGlgmkeronPaAz1NbDZgjtC49jCieX8GSD/8yYqn+5A3wXoTVmu7zSu01hf0/QCFQcgjrxeKb/FtXlvqhwITyHEkJxkjs67UshxCm2tkLrTI2e1EMm4HvCXeVkOLnD2AJw==
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=mHCpt9R0MscnHP5iI7n/QSTLX/es9SLtyi98WJMGoyw=;
 b=R8dh9vReJNglgVwBVpOZ+MgRwz2IjlckXwY9lNW1aPorqSOqrrq1yqmrF0/gHroIj4lz+9IVhZbjKOiqKLB289elzJKd6LZBAsHgtCrF36U/PEUniQzZq8rlvi5r7z7IfhweN3ua+aOTHbPCmhkF1CPLaCJZg8Qkosj6lMbRx0iRrWJn0rt18th8xJ4Yvei8HoSQFl7OGxMoUFZAaTAnQOE3MKaoZOaR8R3JdPGAW5hJ8Wb6HZC3qozpOdRaKZbf4Q0tuFCDm637Sdum/To0ysRea7gJRyPfDT62x5hANlwJoE3T1TQURkb2ukdVumHByJsqutYJuTSaz4FwXpTu+w==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 4.158.2.129) smtp.rcpttodomain=gmail.com smtp.mailfrom=arm.com; dmarc=pass
 (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass
 (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mHCpt9R0MscnHP5iI7n/QSTLX/es9SLtyi98WJMGoyw=;
 b=eAVdnz/oGs4uI76S/8MJIDq2zRShhZ+0MUiQ6mLwWUg3qlrAc118o40284+WB4nnt8gOOoXZeXN1UNeHeKitFRzPHk6DlRVEyvfFanhF0DRY3hwF06ZC3q2hlWEIof742H+Jk5ZMlabSUoG2P1lE7JZ25H6od1n7sryGmssgamA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 4.158.2.129 as permitted sender) receiver=protection.outlook.com;
 client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cGUyXIm9j4VamV337XwHDwK4o9hhXh1p8gaNeD/d3Xko9bVwgoNPgbnFW+GsQwXe9PqLVl+2vJWIgjJPIUNAfSSfyd9KV3D+ZQl4YwEsGyEfnkmeOZi37HFV7FoGuKJhCbOjlK0fFDUHuVcLdorvqUHcMIUcpLAGmM3Q9XwLvAukF0Tqt0duyh8MNfrs/wSkxgGN2EYzC2dVQS87UvcobqYKgBcYljbR53m2CIpttIOaN6Xshk1EaKeByedx2X/USYYo4WMOdyUspLilDBEGQq9lcyXvW8a21eVR1/HuSq0daz8UOHdYVvYFqDEMm6/xEPkBEac6LT0plmYR9CsiZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mHCpt9R0MscnHP5iI7n/QSTLX/es9SLtyi98WJMGoyw=;
 b=pIBbttdoWIgkR/QrqbL0pj3nHKASOyWiGs0oIBb2KPsUa65OYiVeauiGqeGmozwu03cG8mzitBkmxGOPVTrcSM8Ol/bTDhrYEasZniuWeEv7czx7qOakdI/JnNVKMxmxHz55hL1AIG+eAUHmsH90uH9zXFFkV6XDrqswMYi3LBv8hRdEamz3ZiecHqtmF78rvDASWeTdjVGQaDXQWcaEh30Buz0G0AZFiAWsVAbeOHOgM3jomDfR93/9qaD44mmeNGCUWJqO7rkigRDjoFixj5oS9YIrATLD0nLT1E4btOyw/C+L8HHO3otOn6ZtVD3vjqIRaBumMV5PFdzbDRbbKQ==
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=mHCpt9R0MscnHP5iI7n/QSTLX/es9SLtyi98WJMGoyw=;
 b=eAVdnz/oGs4uI76S/8MJIDq2zRShhZ+0MUiQ6mLwWUg3qlrAc118o40284+WB4nnt8gOOoXZeXN1UNeHeKitFRzPHk6DlRVEyvfFanhF0DRY3hwF06ZC3q2hlWEIof742H+Jk5ZMlabSUoG2P1lE7JZ25H6od1n7sryGmssgamA=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Mykola Kvach <xakep.amatop@gmail.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Mykola
 Kvach <mykola_kvach@epam.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Rahul Singh <Rahul.Singh@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Michal Orzel
	<michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Pranjal Shrivastava <praan@google.com>
Subject: Re: [PATCH v10 09/13] xen/arm: smmu-v3: add suspend/resume handlers
Thread-Topic: [PATCH v10 09/13] xen/arm: smmu-v3: add suspend/resume handlers
Thread-Index: AQHc6UoJ2/A9TKf5Mki5mcNZE+ke7LYqAKSA
Date: Mon, 1 Jun 2026 17:11:28 +0000
Message-ID: <349E0857-AB61-48C1-BB91-ABE1422142C9@arm.com>
References: <cover.1779385072.git.mykola_kvach@epam.com>
 <279cd20f49be956fc8493aace906a1adfaf473ee.1779385072.git.mykola_kvach@epam.com>
In-Reply-To:
 <279cd20f49be956fc8493aace906a1adfaf473ee.1779385072.git.mykola_kvach@epam.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3864.600.51.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DU2PR08MB7272:EE_|PAWPR08MB9854:EE_|AM3PEPF0000A793:EE_|DB9PR08MB11309:EE_
X-MS-Office365-Filtering-Correlation-Id: 6ae944e6-2e67-46ca-43ba-08dec000f801
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|56012099006|4143699003|11063799006|3023799007|6133799003|38070700021|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info-Original:
 bBNs/99yeekOfvCT/SRR4PtFLFy8US/YO4CCV7+0fyS3BHLYiXWFnirPX6v3iIfcjzCvVCq/mUMuFkHWsT/Gms6t/a2s/lij/rmmPe0BH5waTWNkUqpr44VrBSW1DIPORcNZsg05useLgEZMuV2NxrOJIXbo/CBBKXxQ81tJJRoBl6/ukeM3v2YG+zOpoCk+0XGQgQB9odITGserwz8iRrVS3w+UWRepBtdeZNXQE9CKXqBrd8Ceo9ztNKZubdgUwZntDJuVcPHwnBkq7pnWAWjPskAS8yJ0qt9g5AWJWLv+yO7g2GKe6K5DrW1/xsoU0f8qDQt1vWMYFkiRKm3GdxZe3BapHuUOL1HUCDeFkw8IGP/CXRHrJEwKIK+j8rdDnIl3Fe5z3JkbNT21XkaAKdUxwoefdEDmj3ck/lpmobAkXUQfViyX/o41QvvdZ68CznVycMnKi22DxTVzRMXlEgL5u2EimGYvI6jeigmXGM9tcz5l2P76+LBb2H6yd/D4WlY6xmsI6Ghu3PjdOYO7zWR4j8DUWM3TZNCGDPxjNKekK5+2YmQ4AlDuvbo736YHz/J4s1QE+/VI0W1Yol3uE/lqziZ+tmlFFy9jipjNLXliUxRbPHHmOvgBBfLsMBqObuwmwz7Yf9qTTbPzYVxF416lHUZVJluWwaahQuoalq/BLm7Lw00SnsWoW8Ctvu+eqHFxQb8Nex68I1Xxnuo/EpJNWiIr/NAUT57zXrTohN/cvDM1tDwWp1uQoFnRghC0
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR08MB7272.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(56012099006)(4143699003)(11063799006)(3023799007)(6133799003)(38070700021)(18002099003)(22082099003);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <4EE6CBE67610E14DBBD45DF835ACBB88@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Exchange-RoutingPolicyChecked:
 gvTHPcCAnxlUU9wnmkQIh2eZaAdI/JX98CzRCIr7MG5/Ckk2PgBdr91MdvlCE4OwxyciuN4zyAwCprqrPzNYxnPKZstjNJ4fiHBQk6kT++PcoYg+77BzKgFDyI68tcq3idvS2nBltkWPSLXEUQKI5DEctRJjoF5GUumWTU4LIoX505FVMsXlp6S/KTdb/RTxrdnRL7JPYbI9Zr9gI5wazxH2RFRhc9j+gmk3RCDClM2SwEgbjddQclyexo8Dc0Oannv/oYJRchWS3ahTyNX5eB67rGTwqakPzU66+bMA59T2xguMDGNE80Kqi3JQf06xYSztPg7Juzn98tVrdoiAgw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9854
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM3PEPF0000A793.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	949d7498-bc9a-4378-31e4-08dec000d18c
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|14060799003|35042699022|36860700016|376014|18002099003|22082099003|4143699003|56012099006|3023799007|11063799006|6133799003;
X-Microsoft-Antispam-Message-Info:
	PKzC4zVgIUyM1js6c2FOE/fwn1R6kpTJrHuuUdR180dcuH0IE5hlw+b1AxTmpj/3e+NaKKM4IL9cGUzIec5SudMJq2fEu+uZ4YoPv09j7x2rFDJgM11rLQlogoCc/WooVeb/rlezmP4ZR5km+FO+ETXxFM6OQLBBBF4hgtxA3mE28azOHFs++1kUywfTM78XL1c7ahsOQHEZxPNc9qElXS/Or3GwxfpLJOQkzlEQAnT9qOPc6EA3DrE57EECQACvG6nRarF7u7iYCFbkbxtr9jTSqgo5md0tejh3Op+pShc9pAR8ZdfBkfLdBrWYupH4hLfvpJsInc3BC1Nf7zRs+z0WxxXldwMK/pB1fWxPm1XGj6KyHzop+Z+hNUmkfhARprQwAwIUxR9FH9qvkDZ10tdVJwEJRU2nEUFcIi3mDV4IYgwr7d52zJqizghQ+Wy7w5ujzox162NDvSwfR8+7Q1VS484k1inm5BjFIXYzd+3NR8kD7DRheTRqjmqqI7sRH/dvNvKAXIaLxDY7iQCdrQ5nmNxQJabDo6FFx/RgmgBP6OlQBiPnP1LvqcyTPvvQfp9PAwAKmKrtYW3/MPyFSdAjlEhVOXQRJ+bMxTgRWaxy60CWc7BK8SIsW3t3fpzz6GH1yBqrImPx4TRTbs2weGzUOdeNDLgGzYexWZ+9kE6/AZejd5/q2djHkUiAkzYQ+St4i5Q7mqYxTMFwev0tScbMVt36CLBlJosT3yW3QZY=
X-Forefront-Antispam-Report:
	CIP:4.158.2.129;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:outbound-uk1.az.dlp.m.darktrace.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(14060799003)(35042699022)(36860700016)(376014)(18002099003)(22082099003)(4143699003)(56012099006)(3023799007)(11063799006)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	zosL0DbpqWgZBW2u7Ain9D29+qEtn43Ps/vEawOEe7p7V7zsdMwJ2NPUV9i2nJDya4nHPYs3MsXqA9HacVC49+XPt/7mMBH5PKDdXxyOw6zkFQSoPS5bGPqmtVqlFNmy9Mp/2T2PdJ5v93LSI6t9u5JyRKCvUUen2yoOQiB3hnjlXPcG8FG2R4ktezcb5VQGKAbJOcBjY+wAuKcw4aF1676EZgtdEYZXEICoyPtYrHQD44PQpxNwGFQcCTRLcG2dCCq7acjghRy8GoUtsiJ8uKZhmluTmQhczoLpQJcJPkRs4/xv4Er8VlMcnltDOXGqWV7LLCZ2b7nKs3VZCUeODeQI9E0jtzFaMfD68OhJKB0FiuG5ZUH+hjb/KGcIw5TGSEEzWMNTrwfI4Rx9dd7Z3r5WHpPugrKElbZANgYSOHjJx48E81JuCz3edKxWDCkA
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2026 17:12:32.5530
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6ae944e6-2e67-46ca-43ba-08dec000f801
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[4.158.2.129];Helo=[outbound-uk1.az.dlp.m.darktrace.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM3PEPF0000A793.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB11309
X-purgate-ID: tlsNG-ef75cf/1780333956-0AF76C48-465AE4B3/0/0
X-purgate-type: clean
X-purgate-size: 5002

SGkgTXlrb2xhLA0KDQo+IE9uIDIxIE1heSAyMDI2LCBhdCAxODo0NSwgTXlrb2xhIEt2YWNoIDx4
YWtlcC5hbWF0b3BAZ21haWwuY29tPiB3cm90ZToNCj4gDQo+IEZyb206IE15a29sYSBLdmFjaCA8
bXlrb2xhX2t2YWNoQGVwYW0uY29tPg0KPiANCj4gQWRkIHN5c3RlbSBzdXNwZW5kL3Jlc3VtZSBj
YWxsYmFja3MgZm9yIHRoZSBBcm0gU01NVXYzIGRyaXZlci4NCj4gDQo+IER1cmluZyBzdXNwZW5k
LCBjb25maWd1cmUgR0JQQSB0byBhYm9ydCBpbmNvbWluZyB0cmFuc2FjdGlvbnMsIGRpc2FibGUg
dGhlDQo+IHRyYW5zbGF0aW9uIGludGVyZmFjZSB3aGlsZSBrZWVwaW5nIENNRFEgZW5hYmxlZCwg
aXNzdWUgQ01EX1NZTkMgdG8gZW5zdXJlDQo+IGFsbCBwcmV2aW91c2x5IGlzc3VlZCBjb21tYW5k
cyBoYXZlIGNvbXBsZXRlZCwgdGhlbiBkaXNhYmxlIHRoZSBTTU1VIElSUXMNCj4gYW5kIFNNTVUu
DQo+IA0KPiBSZXN1bWUgdXNlcyBhcm1fc21tdV9kZXZpY2VfcmVzZXQoKSB0byByZXByb2dyYW0g
dGhlIFNNTVUgYW5kIHJlLWVuYWJsZQ0KPiB0cmFuc2xhdGlvbiBhbmQgaW50ZXJydXB0IGdlbmVy
YXRpb24uDQo+IA0KPiBUaGUgSVJRIHNldHVwIHNwbGl0IGZvbGxvd3MgdGhlIGFwcHJvYWNoIGZy
b20gUHJhbmphbCBTaHJpdmFzdGF2YSdzIExpbnV4DQo+IGFybS1zbW11LXYzIHJ1bnRpbWUvc3lz
dGVtIHNsZWVwIHNlcmllczogSVJRIGhhbmRsZXJzIGFyZSByZXF1ZXN0ZWQgb25jZQ0KPiBkdXJp
bmcgcHJvYmUsIHdoaWxlIHJlc2V0L3Jlc3VtZSBvbmx5IHJlc3RvcmVzIFNNTVUgaGFyZHdhcmUg
c3RhdGUgYW5kDQo+IHJlLWVuYWJsZXMgSVJRX0NUUkwuDQo+IA0KPiBPbmx5IHRoZSBwaWVjZXMg
cmVsZXZhbnQgdG8gWGVuJ3MgY3VycmVudGx5IHN1cHBvcnRlZCBTTU1VdjMgcGF0aCBhcmUNCj4g
cG9ydGVkIGhlcmUuIFhlbiBkb2N1bWVudHMgU01NVXYzIE1TSSBhbmQgUENJIEFUUyBhcyB1bnN1
cHBvcnRlZCBhbmQgbm90DQo+IGNvbXBpbGVkL3Rlc3RlZCwgc28gdGhpcyBwYXRjaCBkb2VzIG5v
dCByZXN0b3JlIFNNTVUgTVNJIElSUV9DRkduIHJlZ2lzdGVycw0KPiBub3IgcmVpbml0aWFsaXpl
IEFUUy9QUkkgZW5kcG9pbnRzLiBJZiB0aG9zZSBwYXRocyBiZWNvbWUgdXNhYmxlLA0KPiBzdXNw
ZW5kL3Jlc3VtZSB3aWxsIG5lZWQgY29ycmVzcG9uZGluZyBNU0kgcmVzdG9yZSBhbmQgQVRTL1BS
SQ0KPiBxdWllc2NlL3JlaW5pdCBzdGVwcy4NCj4gDQo+IExpbms6IGh0dHBzOi8vbG9yZS5rZXJu
ZWwub3JnL3IvMjAyNjA0MTQxOTQ3MDIuMTIyOTA5NC0xLXByYWFuQGdvb2dsZS5jb20vDQo+IEJh
c2VkLW9uLXBhdGNoLWJ5OiBQcmFuamFsIFNocml2YXN0YXZhIDxwcmFhbkBnb29nbGUuY29tPg0K
PiBTaWduZWQtb2ZmLWJ5OiBNeWtvbGEgS3ZhY2ggPG15a29sYV9rdmFjaEBlcGFtLmNvbT4NCj4g
LS0tDQo+IENoYW5nZXMgaW4gVjEwOg0KPiAtIERpc2FibGUgU01NVSBpbnRlcnJ1cHQgZ2VuZXJh
dGlvbiBkdXJpbmcgc3VzcGVuZCBiZWZvcmUgZGlzYWJsaW5nIHRoZQ0KPiAgU01NVSBpbnRlcmZh
Y2UsIG1hdGNoaW5nIHRoZSByZXN1bWUvcmVzZXQgcGF0aCB3aGljaCByZS1lbmFibGVzIElSUV9D
VFJMLg0KPiANCj4gQ2hhbmdlcyBpbiBWOToNCj4gLSBVc2UgQ01EX1NZTkMgaW4gc3VzcGVuZCBp
bnN0ZWFkIG9mIHBvbGxpbmcgQ01EUV9DT05TLCBzbyB0aGUgc3VzcGVuZA0KPiAgcGF0aCB3YWl0
cyBmb3IgY29tbWFuZCBjb21wbGV0aW9uIHJhdGhlciB0aGFuIG9ubHkgY29tbWFuZCBjb25zdW1w
dGlvbi4NCj4gLSBEb2N1bWVudCB0aGF0IGFybV9zbW11X3NldHVwX2lycXMoKSBpcyBwcm9iZS1v
bmx5IGFuZCB0aGF0IGZ1dHVyZSBYZW4NCj4gIFNNTVV2MyBNU0kgc3VwcG9ydCB3aWxsIG5lZWQg
dG8gcmVzdG9yZSBTTU1VIElSUV9DRkduIHJlZ2lzdGVycyBvbg0KPiAgcmVzdW1lLg0KPiAtIFJl
c3RvcmUgdGhlIHJlZmVyZW5jZSB0byBQcmFuamFsJ3MgTGludXggcnVudGltZS9zeXN0ZW0gc2xl
ZXAgc2VyaWVzIGFuZA0KPiAgY2xhcmlmeSB0aGF0IE1TSS9BVFMvUFJJIHJlc3VtZSBoYW5kbGlu
ZyBpcyBvdXRzaWRlIHRoZSBzdXBwb3J0ZWQgWGVuDQo+ICBwYXRoLg0KPiAtIFByZWZpeCB0aGUg
c3ViamVjdCB3aXRoIHhlbi9hcm0gZm9yIGNvbnNpc3RlbmN5IHdpdGggdGhlIHJlc3Qgb2YgdGhl
DQo+ICBBcm0gc3VzcGVuZC9yZXN1bWUgc2VyaWVzLg0KPiANCj4gQ2hhbmdlcyBpbiBWODoNCj4g
LSBIb25vciBBUk1fU01NVV9GRUFUX1NFViB3aGVuIGRyYWluaW5nIHRoZSBDTURRIGR1cmluZyBz
dXNwZW5kLCBtYXRjaGluZw0KPiAgdGhlIGV4aXN0aW5nIHJ1bnRpbWUgQ01EX1NZTkMgcGF0aC4N
Cj4gLSBGb2xkIHRoZSBzdXNwZW5kIHJvbGxiYWNrIHJlc2V0IHBhdGggaW50byBhIGhlbHBlciBh
bmQgcmVuYW1lIHRoZSBlcnJvcg0KPiAgcmVwb3J0aW5nIHRvIGRlc2NyaWJlIHN1c3BlbmQgcm9s
bGJhY2sgcmF0aGVyIHRoYW4gcmVzdW1lLg0KPiAtIFRyZWF0IFNNTVUgcmVzZXQgZmFpbHVyZSBk
dXJpbmcgcmVzdW1lIGFzIGZhdGFsIGluc3RlYWQgb2YgbG9nZ2luZyBhbmQNCj4gIGNvbnRpbnVp
bmcgd2l0aCBhIHBvdGVudGlhbGx5IHVudXNhYmxlIElPTU1VLg0KPiAtIGNvc21ldGljIGNoYW5n
ZXMNCj4gLS0tDQo+IHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9zbW11LXYzLmMgfCAxODYg
KysrKysrKysrKysrKysrKysrKysrLS0tLS0NCj4gMSBmaWxlIGNoYW5nZWQsIDE1MCBpbnNlcnRp
b25zKCspLCAzNiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9w
YXNzdGhyb3VnaC9hcm0vc21tdS12My5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL3Nt
bXUtdjMuYw0KPiBpbmRleCBiZjE1MzIyN2RiLi5iZTgwMjhjMDM2IDEwMDY0NA0KPiAtLS0gYS94
ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vc21tdS12My5jDQo+ICsrKyBiL3hlbi9kcml2ZXJz
L3Bhc3N0aHJvdWdoL2FybS9zbW11LXYzLmMNCj4gQEAgLTE4MTQsOCArMTgxNCw3IEBAIHN0YXRp
YyBpbnQgYXJtX3NtbXVfd3JpdGVfcmVnX3N5bmMoc3RydWN0IGFybV9zbW11X2RldmljZSAqc21t
dSwgdTMyIHZhbCwNCj4gfQ0KPiANCj4gLyogR0JQQSBpcyAic3BlY2lhbCIgKi8NCj4gLXN0YXRp
YyBpbnQgX19pbml0IGFybV9zbW11X3VwZGF0ZV9nYnBhKHN0cnVjdCBhcm1fc21tdV9kZXZpY2Ug
KnNtbXUsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1MzIgc2V0
LCB1MzIgY2xyKQ0KPiArc3RhdGljIGludCBhcm1fc21tdV91cGRhdGVfZ2JwYShzdHJ1Y3QgYXJt
X3NtbXVfZGV2aWNlICpzbW11LCB1MzIgc2V0LCB1MzIgY2xyKQ0KDQpOb3cgdGhpcyBvbmUgYW5k
IGFybV9zbW11X2RldmljZV9yZXNldCBsb29zZSBfX2luaXQgYWxzbyBmb3IgIUNPTkZJR19TWVNU
RU1fU1VTUEVORCwNCmJ1dCBJ4oCZbSBub3Qgc3VyZSBpZiBpbiB0aGUgY29kZWJhc2Ugd2UgYXJl
IGRlYWxpbmcgd2l0aCB0aGVzZSBraW5kIG9mIGNhc2VzIGFscmVhZHkgb3IgaWYgaXTigJlzIHN0
aWxsIG9rDQp0byBsZXQgaXQgYmUgd2l0aG91dCBfX2luaXQgYW55d2F5Lg0KDQpSZXZpZXdlZC1i
eTogTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5jZWxsdUBhcm0uY29tPg0KDQpDaGVlcnMsDQpMdWNh
DQoNCg==


From xen-devel-bounces@lists.xenproject.org Mon Jun 01 17:20:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 17:20:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324038.1589705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU6Jf-0000bz-2d; Mon, 01 Jun 2026 17:20:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324038.1589705; Mon, 01 Jun 2026 17: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 1wU6Je-0000bs-WE; Mon, 01 Jun 2026 17:20:43 +0000
Received: by outflank-mailman (input) for mailman id 1324038;
 Mon, 01 Jun 2026 17:20:41 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wU6Jd-0000bm-GR
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 17:20:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU6Jc-000pOP-9Z
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 19:20:40 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1dbf48-bab6-0a2a0a5309dd-0a2a4505c8e8-38
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 19:20:40 +0200
Received: from [52.101.48.13]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1dbf66-aaa8-0a2a45050019-3465300daeba-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 19:20:40 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by BY5PR03MB5297.namprd03.prod.outlook.com (2603:10b6:a03:218::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.17; Mon, 1 Jun 2026
 17:20:36 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0071.014; Mon, 1 Jun 2026
 17:20: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=pYcn1N4X1ZuMc2VBHS7rdRJzlU222PR80lMeFnjniB23PS80yKgS3JQyqfIPE1sp7CfJ6TJgqlz+RkNIvEgGpHlnLg4BLLTE46StZeGPBlwLpATNd9puX6DEEVce7lnUHDf2O7aA0bXkZTbfqrRbkwJ0ZMSn2tIpZudV2zT1qOOFdFiYrHbmgWp6EYj4ranrb4U0yU0N5UU59tNXypWIsOGIS5Ea0NId2myMpd6E1wsCQACBj6jVD4g1wd4wZb9J+XcKrmTrYq40+5PTezftXdSHB4lJiGVzP4us2nNN4LEACMYF4XRsxmicJWhQdvLD3AG2Kg/Kx5WQK6H4CWAsSA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DTBWbVR0k+vkE5zxKc6uDTHetfV/b5aNWJjwR8qWucM=;
 b=S+mDzpUxHuLXk7031TFls+ZzMt/iof8sbqoMHL/WDX+npbkbOA0pvE4DktiR3EcatVk5QMmtx02weaIIZkdu2W8iysqGcLogwmoTJY+bBN+K0MATpteLW3imi4P+DIcIzzhKbG9Ic7vO/qiSTO69PqiBZy+NCxra6htzAwalOYgZhU5N0BKeDbLHVyzgzhU7ZmwSOXT+e+kA6raM6fwVUZleo+mZVCTisICCbXIqt5IHFoLYESNwaqxf6/an/SdxVLqgv5Govz3h5uwiHwErNHnUNlwM5fG5nOdlNJoBjDRQJeccUyX9IcDu2WivFut/PqLUuLg3q5EZC9YLAO3l3w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DTBWbVR0k+vkE5zxKc6uDTHetfV/b5aNWJjwR8qWucM=;
 b=pwI43nksNa4RmCXV9SVBqZBCpLenINmr6UjfumGSF95iKvtErV+O/pwdexPqGRxQOoAn0ZtRSrjS7sJJwD736hASzozV9qxB1fBCpiSPPrcTI/pJ2JA17bVoFD/DHNtUlhbe+xcuCx+P+swucIQPnZZ+e6rj26kODjJ7z+mHmI8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 1 Jun 2026 19:20:27 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH for-4.22 5/5] xen/numa: fix setup of non-aligned memory
 affinity ranges
Message-ID: <ah2_Wyzw486gLflv@macbook.local>
References: <20260601154332.30797-1-roger.pau@citrix.com>
 <20260601154332.30797-6-roger.pau@citrix.com>
 <e08a1e30-cac2-40a6-9dbc-31aa4074ae88@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <e08a1e30-cac2-40a6-9dbc-31aa4074ae88@citrix.com>
X-ClientProxiedBy: PR1P264CA0057.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:2ca::7) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|BY5PR03MB5297:EE_
X-MS-Office365-Filtering-Correlation-Id: 450e1cbd-7d7c-4936-6d82-08dec0021588
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|18002099003|22082099003|56012099006|4143699003|11063799006;
X-Microsoft-Antispam-Message-Info:
	VwGY05su6M+mOMUEQSMT2TnU2US8pKE8vE9S2GggaLb58yfyoQ4xWsdrHIlr2DSst3aVQmWb4aUQkE+R7g8d3brkdAhXJAoqMKDELC333alZ89GbZbiKlmEbU5C/IBqkzDZHW4rDG7Tc45OTWdpk66p7dCrQEum4jf/DTq3Yzihcrx9ETdkcp6MT51rEpE2CB9G/9VyrfR3tRZszYtikHdvd0qQV4BgcjiZXSqNz7f/f3yWbexr6TBfo6fSxQXmtRL70V89iHBBUZc/rWrcWyYBRaEsxiuPYIwgfVCKO9aMs3Mt3MVC2mfDHuRk78882bm9RmCZ7hW/597vuL1e3hPGM3lJ4PXjWQEC8mVyV9Sw5m7wDAPgYk4T1NTmvzGZSwJPX3JhQY+o/vKABWws8YJvBRpg+Ys+uSXqiig0QN3hT4mfxzdJc6s+D8HnWpS/XuquP9ILKkbtb9eWlQA74LkU8UY8URIdsxfqOKkvtEc3C1/TJ+TKsizuPBN3BVgex3zjcr1Xsuz3EWziWa4EQ2Lbkaz5W6+yyogyLAqydLjsIfVzu+XvDQzRRWSuoJJluUvd68jk/EDnW+4dY2WlebAeQeo68WSXheXEYJYivmxkOni4R4WEFNgJZlIPUbTyCmFjrzL1miXnaRNWyLxDwJXuQQ3XTMmmzEy9lpWhRRVAieOue1MOLMG3csVYUq8ln
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(18002099003)(22082099003)(56012099006)(4143699003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eXVzWUhhYW5wVDFiMWhNRlcyb0poK1pwc01mT2VrVlIxVkM2L1dyUDVWbjds?=
 =?utf-8?B?RGp6Y3FuMjZ4NGFnSlBBVTFZdW9tVjR2aVo2YThlUTdadmtweE9ZRDVRZW9r?=
 =?utf-8?B?NUpQekM1eVRiWnhCYzZ4YnlHaWMzMys3YnhuTWxLV3lzcllTQjBza3BrS2sr?=
 =?utf-8?B?eVI0OFlIT2MvQ0FTNU1LV1FhODk0Vk1xZkFnb01WbHNUcHF0Vk9uTVAra3d5?=
 =?utf-8?B?bkw1Q0pnTEZaU3BxUzhnRE5zdmllU3FwOTNaVGNJRkNVQmR3STJ6TE84cXJ6?=
 =?utf-8?B?MzA0WnVYVUhQVFNJRE41T1dmemY3d01tTGlzYk1lQk8xQzV3ZW0vbU5GMkJ4?=
 =?utf-8?B?a3NiZzNFVU44VExSVHJVMTFxYTZleXBZbHdEMUdJQVNXNEppSFh1d3hXZ0FT?=
 =?utf-8?B?Rkp2S0VvamN3VEFPNVVGU3JoK3VyT0FhSjFKclFTOFNCSFRZQjNidi80T1Y2?=
 =?utf-8?B?OE5IbHoySjgvSEtnenREQjd4VC9qaFl6L0lVQWliRElvY1I2ZU1QdkdJVElx?=
 =?utf-8?B?L2tlcHdtTGVtclRKTjQ2SUQ1NGsrWWNzK2IzY0hOOFU4Zm1zRjl1U3RqMUpH?=
 =?utf-8?B?QXpvSTFTVnYxTmhRYmlWVjRsTmFFNURibnMrVGc2dWdXQVNWdFdBb3M3R2t4?=
 =?utf-8?B?a3JqaVl2QnZJZG52MGFGMUJYTW96S2N1Qjh1WmxaSXdRSHErUVhtSzFCOXJE?=
 =?utf-8?B?VmhhK2RkWUJ3SEhMcDNDU240R2liUFk4VTFtWTlpY1RSYmM0RDlHR2RBTnR2?=
 =?utf-8?B?bWsxci9Wam9rRFdMMEttQzQveDloRFB5dnpsb2lMZGd6aDUvcC9NVWNxUE15?=
 =?utf-8?B?UzRNMUhqVEo4TmovWDAyR3BMSjI2RXZnb0ZvUU9pS091aGJtWGNJVDR1YTZI?=
 =?utf-8?B?K2oyWW8xamVNVVFWV1dmeDFGSUl1UTFGeW9XZTVTZjFWZjZrekhkUEhjbFlt?=
 =?utf-8?B?UmhOdVdJTTF5UVRzNE1NMCtGQTEwWWhuUURZaHFEdStpVERiM2p4aHRESVYr?=
 =?utf-8?B?Sm9YQmVrZ1FMZzQ4aUpZeHRpTlVKalFhN1pnbmZ1MENhK1JNb0VUbGZTVFlu?=
 =?utf-8?B?R3Q2VGd4UnNqNzhUR1pORWl6RnI0b3JlbzU3TEVlNDZFRVVObE5XcnliVmpL?=
 =?utf-8?B?OElzT054aGp2V3pDODFUdW50WWlwN2QyVkpRMHFRZ0dja1BFZC9Wb3pBRTNF?=
 =?utf-8?B?TGtDM3JxVmxmYUN1YnR2WUtXUzVZWVF5MWxMWFhGaWRnTE9nTGd4cGZMS3kr?=
 =?utf-8?B?dzdHQ1l5L1FwenVMdEZMcTRQWFdiS1NTbllsNVBicHo1SVRkTEM5RHBWVDdZ?=
 =?utf-8?B?dEdvWlVSNG1KRmhvTVFWSWRWQ1pMOFlvQ3BxdHQvSmZGTVE1YnhJWDE2K25O?=
 =?utf-8?B?TXN0dW03OUM2RmU2ODF4OXQ4ZDBaSnJYQnhuWFplQXBVV0VPTnI5VHpnZENT?=
 =?utf-8?B?dXkwZnhXUUl5andwZUd3cHloMERsK2dPRFQ0WTZ4UWJEaHlNSDk2MytNaUdx?=
 =?utf-8?B?a2dsK0NYZlNobGhzYStFS3hsek1QR1JZbTVDVi9DWlpsZXBrVTJ4SGJqa0Z5?=
 =?utf-8?B?ZzloMXhDMlVCMHYwVWJ1aVFreFRJWURhdldxZDNlK2VIdjlYOFVyQ2xOblR3?=
 =?utf-8?B?YzZWdTdYZDZIYUpjZXlwUlloT2NycFNWcnY1NGlPVTZpSVdIazBRVnh0N1ZT?=
 =?utf-8?B?aXNsR2tSV2ZkVmdQTXN5a1ZZWTY0N1IyRHJYK0ZzdXlicnA4K2x0ZitwS2dO?=
 =?utf-8?B?RkRMTDJyUW5RYTJPL2d6UDA3UnhLQXRwQXNDQmpjTnNBRzRRclE3SkpHRUxi?=
 =?utf-8?B?R0MvYnowQkZkOHJZNmpHWGUvMldNTzBsZFllRkthRFIzTElTUldMNWc0UUhq?=
 =?utf-8?B?RXh3RkZ6M2MrQVlNa09FVTNHN1k2N0prMk5LNGdoR0RNR1BhZnhsZ1EwWDJz?=
 =?utf-8?B?dWk3dWt5SWUya0ZuZTdBYWllcHUrS2YyQlhEak1uT3RTQVlONnllT2p0QjQ2?=
 =?utf-8?B?NTgxVHBaZVhZbUc2UnFoSXA3eU1yOXdWaDRhSjFDUXNSS1NyelFGeHRqcDB3?=
 =?utf-8?B?WFI1RFJ5YnpZVWdhTWh1amZsZlBhazZCdy9Mdlpha2QwK1BUQXQ2VVE3Y096?=
 =?utf-8?B?M0V5WTdJSVhPT3F4ZnlMZGw0SUMyb3l0TmhaREZBdEpETmFNL1MzaGlEMFBp?=
 =?utf-8?B?Wm9BQXVscjdrV3M3dUV1eXRtanhZWlZtUmxmK1lZeGgvTVQySkY2cmh5SUdO?=
 =?utf-8?B?VUs0bjZOQm9qM3ZOQVNDNDJDbHVxMDVJOUVKcVVYZnB6U2ZBMFpVa0Job2Vr?=
 =?utf-8?B?alYvUHFpOEZJNEFVY1IwdFQwa00zV3JaZVpSdGtrSk1vaEw0Q0t4UT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 450e1cbd-7d7c-4936-6d82-08dec0021588
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2026 17:20:34.9073
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DiU06wuCz0pq5RqWWU4f6nm828w4BNGQ65CiGMNf4APLnnchoXHiD4SXwYZ1j+EPUwV6lymQpwABm4VUgxoHZA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5297
X-purgate-ID: tlsNG-c201ff/1780334440-D9971443-D6E887B4/0/0
X-purgate-type: clean
X-purgate-size: 1513

On Mon, Jun 01, 2026 at 06:08:49PM +0100, Andrew Cooper wrote:
> On 01/06/2026 4:43 pm, Roger Pau Monne wrote:
> > diff --git a/xen/common/numa.c b/xen/common/numa.c
> > index 8544a1598218..8b2f29597f30 100644
> > --- a/xen/common/numa.c
> > +++ b/xen/common/numa.c
> > @@ -396,7 +396,13 @@ static int __init populate_memnodemap(const struct node *nodes,
> >  
> >      for ( i = 0; i < numnodes; i++ )
> >      {
> > -        unsigned long spdx = paddr_to_pdx(nodes[i].start);
> > +        /*
> > +         * Round down start address: if start is not aligned to the memnodemap
> > +         * chunk size the tail remainder might not be added.  Overlaps created
> > +         * by rounding will fall into the same NUMA region.
> > +         */
> > +        unsigned long spdx = ROUNDDOWN(paddr_to_pdx(nodes[i].start),
> > +                                       1UL << shift);
> >          unsigned long epdx = paddr_to_pdx(nodes[i].end - 1);
> >  
> >          if ( spdx > epdx )
> 
> I like that this comes with a unit test, but this hunk needs to be
> standalone at the start of the series, because it needs backporting.

I was supposed to add a post-commit note about this, but finding the
offending commit took me a lot more time than I was expecting and
forgot to add the note.

Yes, this needs to be backported.  I was wondering whether it would be
fine to just backport the fix, leaving the test changes alone.  But I
can also split this to a pre-commit.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jun 01 17:57:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 17:57:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324050.1589731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU6tI-0005RI-0B; Mon, 01 Jun 2026 17:57:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324050.1589731; Mon, 01 Jun 2026 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 1wU6tH-0005RB-To; Mon, 01 Jun 2026 17:57:31 +0000
Received: by outflank-mailman (input) for mailman id 1324050;
 Mon, 01 Jun 2026 17:57:30 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <mfo@igalia.com>) id 1wU6tG-0005Ml-HD
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 17:57:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU6tF-009LW7-UF
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 19:57:29 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <mfo@igalia.com>)
 id 6a1dc7ff-5cb7-0a2a0a5109dd-0a2a4508a32e-24
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 19:57:29 +0200
Received: from [213.97.179.56] (helo=fanzine2.igalia.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <mfo@igalia.com>)
 id 6a1dc808-63b5-0a2a45080019-d561b338aae8-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 19:57:28 +0200
Received: from 186-249-147-15.shared.desktop.com.br ([186.249.147.15]
 helo=[192.168.1.68]) by fanzine2.igalia.com with esmtpsa 
 (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim)
 id 1wU6tD-00B8VT-OY; Mon, 01 Jun 2026 19:57:28 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20170329 header.d=igalia.com header.i="@igalia.com" header.h="Cc:To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com;
	s=20170329; h=Cc:To:In-Reply-To:References:Message-Id:
	Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date:From:Sender:
	Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender
	:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:
	List-Subscribe:List-Post:List-Owner:List-Archive;
	bh=Fx35SUani/GVKASKFEJ/+AWnTbq4eOjUX4rrpFs2nCc=; b=EHJdQBUijfqeW75xYENnCyiitG
	aSW/C7eohgOyPfLX4vswQxZIHsKdUx7tuAgRpmb2hezwWACRoYXM3Xbt40adH3Nou8f5AaFywdMwV
	vpSiB2tnwLAZ7w/NeJKRgwY3CaKJxZcxJESbyQkuDYlXzSZkIAZXSSijkG1lQTwI5q4t7ghCaO7iD
	rhJD5He2nBSISPe+kBujxVMMhnoymh13nmRzdIuP+JGERtK1ZvP40zpmhMsDaOJZh2i9Bzv0rpvMu
	n+KasA3TvbjVVwfxaczM7blOiggqf69/zXzy6R3FJWJWDByVPI1+DOR2E2BBR6mBK1JguO5UUM5TR
	PgWMR2Lg==;
From: Mauricio Faria de Oliveira <mfo@igalia.com>
Date: Mon, 01 Jun 2026 14:56:57 -0300
Subject: [PATCH v5 1/3] x86/asm, x86/boot: expose inline memcmp
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20260601-pvh-kasan-inline-v5-1-c996e92dfe9a@igalia.com>
References: <20260601-pvh-kasan-inline-v5-0-c996e92dfe9a@igalia.com>
In-Reply-To: <20260601-pvh-kasan-inline-v5-0-c996e92dfe9a@igalia.com>
To: Thomas Gleixner <tglx@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>, 
 Juergen Gross <jgross@suse.com>, Alexey Dobriyan <adobriyan@gmail.com>, 
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: kernel-dev@igalia.com, linux-kernel@vger.kernel.org, 
 xen-devel@lists.xenproject.org, Mauricio Faria de Oliveira <mfo@igalia.com>
X-Mailer: b4 0.14.2
X-purgate-ID: tlsNG-c1860d/1780336649-B6577DB1-CFDF23D5/0/0
X-purgate-type: clean
X-purgate-size: 2572

Move the inline memcmp function currently only available in 'boot/string.c'
into the shared string function header <asm/shared/string.h> to be reused.

This is not done through <asm/string.h> to avoid pulling unnecessary code
in 'boot/string.c' that causes build errors in 'boot/compressed/string.c'
and 'purgatory/purgatory.ro'.

Note that the inline memcmp() returns 0/1, not -1/0/1 as regular memcmp()
(reported by David Laight <david.laight.linux@gmail.com>).

Signed-off-by: Mauricio Faria de Oliveira <mfo@igalia.com>
---
 arch/x86/boot/string.c               |  6 ++----
 arch/x86/include/asm/shared/string.h | 16 ++++++++++++++++
 arch/x86/include/asm/string.h        |  1 +
 3 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/arch/x86/boot/string.c b/arch/x86/boot/string.c
index ac0f900ebc47efa81c92e1bb2010ea41677899c4..be454a6864225f3a972c3e81826b77ed4e8a57fe 100644
--- a/arch/x86/boot/string.c
+++ b/arch/x86/boot/string.c
@@ -15,6 +15,7 @@
 #include <linux/errno.h>
 #include <linux/limits.h>
 #include <asm/asm.h>
+#include <asm/shared/string.h>
 #include "ctype.h"
 #include "string.h"
 
@@ -31,10 +32,7 @@
 
 int memcmp(const void *s1, const void *s2, size_t len)
 {
-	bool diff;
-	asm("repe cmpsb"
-	    : "=@ccnz" (diff), "+D" (s1), "+S" (s2), "+c" (len));
-	return diff;
+	return __inline_memcmp(s1, s2, len);
 }
 
 /*
diff --git a/arch/x86/include/asm/shared/string.h b/arch/x86/include/asm/shared/string.h
new file mode 100644
index 0000000000000000000000000000000000000000..422952152f533ad75b98f3873297b39c4f5e2477
--- /dev/null
+++ b/arch/x86/include/asm/shared/string.h
@@ -0,0 +1,16 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _ASM_X86_SHARED_STRING_H
+#define _ASM_X86_SHARED_STRING_H
+
+/* Note: this memcmp() returns 0/1, not -1/0/1 as regular memcmp(). */
+static __always_inline int __inline_memcmp(const void *s1, const void *s2, size_t len)
+{
+	bool diff;
+
+	asm("repe cmpsb"
+	    : "=@ccnz" (diff), "+D" (s1), "+S" (s2), "+c" (len));
+
+	return diff;
+}
+
+#endif /* _ASM_X86_SHARED_STRING_H */
diff --git a/arch/x86/include/asm/string.h b/arch/x86/include/asm/string.h
index 9cb5aae7fba9ffcf0f5af8f939d30467750ccaa9..f0f4fd8227bf992e78c69209efb31f0a9a0cc3b1 100644
--- a/arch/x86/include/asm/string.h
+++ b/arch/x86/include/asm/string.h
@@ -7,6 +7,7 @@
 #else
 # include <asm/string_64.h>
 #endif
+#include <asm/shared/string.h>
 
 static __always_inline void *__inline_memcpy(void *to, const void *from, size_t len)
 {

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 17:57:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 17:57:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324049.1589722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU6tA-00058x-QM; Mon, 01 Jun 2026 17:57:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324049.1589722; Mon, 01 Jun 2026 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 1wU6tA-00058p-NI; Mon, 01 Jun 2026 17:57:24 +0000
Received: by outflank-mailman (input) for mailman id 1324049;
 Mon, 01 Jun 2026 17:57:22 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <mfo@igalia.com>) id 1wU6t6-00058j-25
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 17:57:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU6t4-009LSV-3s
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 19:57:19 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <mfo@igalia.com>)
 id 6a1dc7ee-5cb7-0a2a0a5109dd-0a2a450cbe3c-22
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 19:57:17 +0200
Received: from [213.97.179.56] (helo=fanzine2.igalia.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <mfo@igalia.com>)
 id 6a1dc7fc-62f1-0a2a450c0019-d561b338bb0a-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 19:57:16 +0200
Received: from 186-249-147-15.shared.desktop.com.br ([186.249.147.15]
 helo=[192.168.1.68]) by fanzine2.igalia.com with esmtpsa 
 (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim)
 id 1wU6sy-00B8VT-Cz; Mon, 01 Jun 2026 19:57:12 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20170329 header.d=igalia.com header.i="@igalia.com" header.h="Cc:To:Content-Transfer-Encoding:Content-Type:MIME-Version:Message-Id:Date:Subject:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com;
	s=20170329; h=Cc:To:Content-Transfer-Encoding:Content-Type:MIME-Version:
	Message-Id:Date:Subject:From:Sender:Reply-To:Content-ID:Content-Description:
	Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
	In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
	List-Post:List-Owner:List-Archive;
	bh=iDAqM3LEVWbUdCcEwUi+3g7SGlCGjmNJ971Sqj/gy+c=; b=ODeoOT7Umh4AgGbfK7rvzOVDp+
	z+zt1XJnM+AmHqbNUH4LYPzVp0TgJJ+pyMP12WDwfsfMYekhba626GyP5+x9WrD7rLyCWfgYBNaF5
	LyoT+/0z2QCaWSu5qDOyD8Gqbh/2uwDswfkqfZdDHuFziOdmZIwVnahAF0xvN4J/+CFIAUy0ze6Dv
	pn8CLUW8OK/vov68/kxRmm8olilozlctjRpuDb2qq1C3jXjKCMx3Gq6WgRj80V9KwnSNdeJ9gJRDZ
	fhYluOoVGQNLjF20ACpyF/QD+4nurPGfhP2e6bExUMgIObtjIRV31KYb8swyF8WT6hrm07eejhxXd
	x7wJHYWg==;
From: Mauricio Faria de Oliveira <mfo@igalia.com>
Subject: [PATCH v5 0/3] x86/pvh: fix unbootable VMs again (PVH + KASAN)
Date: Mon, 01 Jun 2026 14:56:56 -0300
Message-Id: <20260601-pvh-kasan-inline-v5-0-c996e92dfe9a@igalia.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-B4-Tracking: v=1; b=H4sIAOjHHWoC/33NwW7CMAzG8VdBOS8ocdNk3WnvMXFwXYdaYylqp
 ogJ9d0XuACi4vj/JP98Vpln4aw+Nmc1c5EsU6rRvm0UjZj2rGWorcCANw5AH8uovzFj0pIOklh
 7jkghRNtDUPXsOHOU05X82tUeJf9O89/1Q7GX9QVWrDY6sLeda5yjDj5ljwfBLU0/6qIVuBfCi
 gBVAGpD/z5QjB6fhOYmtGBWhKYKPQ8cfEeeKTwJ7l7wK4KrAjbWsEdomYYHYVmWfyK1xM93AQA
 A
X-Change-ID: 20260422-pvh-kasan-inline-6efac77f1b27
To: Thomas Gleixner <tglx@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>, 
 Juergen Gross <jgross@suse.com>, Alexey Dobriyan <adobriyan@gmail.com>, 
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: kernel-dev@igalia.com, linux-kernel@vger.kernel.org, 
 xen-devel@lists.xenproject.org, Mauricio Faria de Oliveira <mfo@igalia.com>
X-Mailer: b4 0.14.2
X-purgate-ID: tlsNG-d25034/1780336637-E0B64CF5-FF3664C2/0/0
X-purgate-type: clean
X-purgate-size: 6847

The issue of unbootable VMs with CONFIG_PVH due to CONFIG_KASAN is back.

Booting directly from vmlinux (instead of bzImage) now fails with gcc-14/15
(but works with gcc-12/13) if CONFIG_KASAN_GENERIC is set, on Ubuntu 25.10.

The PVH code is required/supposed not to use the KASAN memory access check
in the kernel entry point as KASAN has not yet been setup, or an exception
is hit and the boot fails.

This was previously described and addressed with __builtin_mem{cmp,set}():
- commit 661362e3dcab ("xen, pvh: fix unbootable VMs (PVH + KASAN - AMD_MEM_ENCRYPT)")
- commit 416a33c9afce ("x86/cpu: fix unbootable VMs by inlining memcmp() in hypervisor_cpuid_base()")
- commit fbe5a6dfe492 ("xen, pvh: fix unbootable VMs by inlining memset() in xen_prepare_pvh()")

However, even with __builtin the compiler may decide to use the out of line
function instead of the inline implementation. So, that does not really fix
the issue unconditionally; see details below.

In order to address this, it's required to switch to inline implementations
that do not depend on the compiler.

There's such a memset() in <asm/string.h> and memcmp() in 'boot/string.c'.
Use them instead of builtins in PVH entry.

Testing:

- Booting from vmlinux (fixed) and bzImage (still works) using
  allnoconfig + CONFIG_PVH + CONFIG_KASAN with gcc-12/13/14/15.

- Building with CONFIG_KEXEC_FILE, CONFIG_CFI and !CONFIG_KASAN with LLVM 20
  (check for a build error not caught previously).

Details/Debugging:

- Only CONFIG_PVH (works):

  make allnoconfig
  ./scripts/config \
    -e 64BIT -e HYPERVISOR_GUEST -e PVH \
    -e SERIAL_8250 -e SERIAL_8250_CONSOLE
  make olddefconfig
  make -j$(nproc) vmlinux

  qemu-system-x86_64 \
    -accel kvm -nodefaults -nographic -serial stdio \
    -kernel vmlinux -append 'console=ttyS0'
  ...
  SeaBIOS (version ...)
  Booting from ROM...
  Linux version ...
  ...
  <Ctrl-C>

- With CONFIG_KASAN (fails)

  ./scripts/config -e KASAN
  make olddefconfig
  make -j$(nproc) vmlinux

  qemu-system-x86_64 \
    -accel kvm -nodefaults -nographic -serial stdio \
    -kernel vmlinux -append 'console=ttyS0'
  ...
  SeaBIOS (version ...)
  Booting from ROM...
  <QEMU reboot loop, flashing the text above>

- Debugging:

  Enable debug info and rebuild.

  QEMU: enable and wait for GDB, stop rebooting, remain running.

  qemu-system-x86_64 \
    -s -S -no-reboot -no-shutdown \
    <other options>

  gdb vmlinux
  (gdb) target remote localhost:1234
  ...
  (gdb) c
  ...
  Thread 2 received signal SIGQUIT, Quit.
  ...
  (gdb) info threads
    Id   Target Id                    Frame
    1    Thread 1.1 (CPU#0 [running]) bytes_is_nonzero (
      start=0xfffffbfff031eebe <error: Cannot access memory at address 0xfffffbfff031eebe>, size=1)
      at .../linux/mm/kasan/generic.c:98
  * 2    Thread 1.2 (CPU#1 [halted ]) 0x00000000000fd0a9 in ?? ()
  ...
  (gdb) thr 1
  ...
  (gdb) bt
  #0  bytes_is_nonzero (start=0xfffffbfff031eebe <error: Cannot access memory at address 0xfffffbfff031eebe>, size=1)
      at .../linux/mm/kasan/generic.c:98
  #1  memory_is_nonzero (start=0xfffffbfff031eebe, end=0xfffffbfff031eebf) at .../linux/mm/kasan/generic.c:115
  #2  memory_is_poisoned_n (addr=0xffffffff818f75f0, size=8) at .../linux/mm/kasan/generic.c:140
  #3  memory_is_poisoned (addr=0xffffffff818f75f0, size=8) at .../linux/mm/kasan/generic.c:172
  #4  check_region_inline (addr=0xffffffff818f75f0, size=8, write=false, ret_ip=18446744071585002062)
      at .../linux/mm/kasan/generic.c:191
  #5  kasan_check_range (addr=addr@entry=0xffffffff818f75f0, size=size@entry=8, write=write@entry=false,
      ret_ip=18446744071585002062) at .../linux/mm/kasan/generic.c:200
  #6  0xffffffff813eb283 in __asan_loadN (addr=addr@entry=0xffffffff818f75f0, size=size@entry=8)
      at .../linux/mm/kasan/generic.c:278
  #7  0xffffffff815df24e in memcmp (cs=cs@entry=0xffffffff818f75f0, ct=ct@entry=0x1be2fe4, count=<optimized out>,
      count@entry=12) at .../linux/lib/string.c:683
  #8  0xffffffff81ba2323 in cpuid_base_hypervisor (sig=0xffffffff818f75f0 "XenVMMXenVMM", leaves=2)
      at .../linux/arch/x86/include/asm/cpuid/api.h:206
  #9  xen_cpuid_base () at .../linux/arch/x86/include/asm/xen/hypervisor.h:46
  #10 xen_prepare_pvh () at .../linux/arch/x86/platform/pvh/enlighten.c:119
  #11 0x0000000001ba2588 in ?? ()
  #12 0x0000000000000000 in ?? ()
  (gdb)

  Frames #7-#8 show the non-builtin memcmp() (lib/string.c) was called
  even with __builtin_memcmp() being used in cpuid_base_hypervisor().

Signed-off-by: Mauricio Faria de Oliveira <mfo@igalia.com>
---
Changes in v5:
- Create a minimal separate header in <asm/shared/string.h> instead,
  to be used by 'boot/setup.c' and <asm/string.h> (Borislav Petkov).
- Patch 1 (in v4/v3) is no longer needed; removed.
- Patch 1 (in v5):
  - Briefly mention there are issues with <asm/string.h>.
  - Remove 'Reviewed-by: Jurgen Gross' to be conservative
    (same code change and result, but the means changed).
- Link to v4: https://lore.kernel.org/r/20260526-pvh-kasan-inline-v4-0-a310e6a25ecd@igalia.com

Changes in v4:
- Patch 1: address Juergen's feedback:
  - s/In next patch/In a future patch/.
  - Move footnote (Reasons not to include...) after "---".
- Add 'Reviewed-by: Juergen Gross' in patches 1 and 2 as well.
- Link to v3: https://lore.kernel.org/r/20260520-pvh-kasan-inline-v3-0-bede769c6ec7@igalia.com

Changes in v3:
- Create and use a separate header for inline string functions
  to fix a build error reported by kernel test robot (patch 1).
- That also removes '#ifndef _SETUP/#endif' in <asm/string.h>.
- Link to v2: https://lore.kernel.org/r/20260427-pvh-kasan-inline-v2-0-2c57b8dcff6a@igalia.com

Changes in v2:
- Add comment about the return value of __inline_memcmp() in patch 1. (v3: now 2)
- Add 'Reviewed-by: Juergen Gross' in patches 2 and 3 (v3: now 3 and 4).
- Link to v1: https://lore.kernel.org/r/20260422-pvh-kasan-inline-v1-0-7e6194344c92@igalia.com

---
Mauricio Faria de Oliveira (3):
      x86/asm, x86/boot: expose inline memcmp
      x86/cpuid: fix unbootable VMs by really inlining memcmp() in hypervisor_cpuid_base()
      x86/pvh: fix unbootable VMs by really inlining memset() in xen_prepare_pvh()

 arch/x86/boot/string.c               |  6 ++----
 arch/x86/include/asm/cpuid/api.h     |  2 +-
 arch/x86/include/asm/shared/string.h | 16 ++++++++++++++++
 arch/x86/include/asm/string.h        |  1 +
 arch/x86/platform/pvh/enlighten.c    |  3 ++-
 5 files changed, 22 insertions(+), 6 deletions(-)
---
base-commit: 7da7f07112610a520567421dd2ffcb51beaefbcc
change-id: 20260422-pvh-kasan-inline-6efac77f1b27

Best regards,
-- 
Mauricio Faria de Oliveira <mfo@igalia.com>



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 17:57:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 17:57:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324054.1589742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU6tW-0005un-9N; Mon, 01 Jun 2026 17:57:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324054.1589742; Mon, 01 Jun 2026 17: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 1wU6tW-0005ua-52; Mon, 01 Jun 2026 17:57:46 +0000
Received: by outflank-mailman (input) for mailman id 1324054;
 Mon, 01 Jun 2026 17:57:45 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <mfo@igalia.com>) id 1wU6tV-0005u1-8D
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 17:57:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU6tU-009LW7-LM
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 19:57:44 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <mfo@igalia.com>)
 id 6a1dc7f7-5cb7-0a2a0a5109dd-0a2a4505b602-48
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 19:57:44 +0200
Received: from [213.97.179.56] (helo=fanzine2.igalia.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <mfo@igalia.com>)
 id 6a1dc817-aaa8-0a2a45050019-d561b338dea8-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 19:57:44 +0200
Received: from 186-249-147-15.shared.desktop.com.br ([186.249.147.15]
 helo=[192.168.1.68]) by fanzine2.igalia.com with esmtpsa 
 (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim)
 id 1wU6tS-00B8VT-GR; Mon, 01 Jun 2026 19:57:43 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20170329 header.d=igalia.com header.i="@igalia.com" header.h="Cc:To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com;
	s=20170329; h=Cc:To:In-Reply-To:References:Message-Id:
	Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date:From:Sender:
	Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender
	:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:
	List-Subscribe:List-Post:List-Owner:List-Archive;
	bh=gJKjWXfILv4BRccqYgfSFnf+b13WkiYn/6GuwfAO050=; b=cEgkxcl8u5OoV3+U6fgPXtVoiK
	K5KdTkDU+Nr1qbOXTsmlB1w4/Z+ocUf/cB0C4SMvqYQMaG42IO4DQGKUYF8Wnxikg8wJjUBT9oyTs
	3QCRppVmq//kvGym9w1BdJwacnaM2S/0lnajPE9XtFeIuVTtsPcUQ4f357NOxpKHLpBWA2dgiHP5d
	STKYun8cqFN4oPLi5Zy8T1VfFohp6OJY2kEwFpMLrSlSlUmuXWMumGY8eTVd2AjVSErjkMyR89pgp
	gmArjxv0KoGvHpLDaJtsYYrwGuCnkWO5UJql4jhB5FlqR3Tw/yCThk1Qpl89X2FWxf/REH1JyoCjP
	9ul/6pkQ==;
From: Mauricio Faria de Oliveira <mfo@igalia.com>
Date: Mon, 01 Jun 2026 14:56:58 -0300
Subject: [PATCH v5 2/3] x86/cpuid: fix unbootable VMs by really inlining
 memcmp() in hypervisor_cpuid_base()
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20260601-pvh-kasan-inline-v5-2-c996e92dfe9a@igalia.com>
References: <20260601-pvh-kasan-inline-v5-0-c996e92dfe9a@igalia.com>
In-Reply-To: <20260601-pvh-kasan-inline-v5-0-c996e92dfe9a@igalia.com>
To: Thomas Gleixner <tglx@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>, 
 Juergen Gross <jgross@suse.com>, Alexey Dobriyan <adobriyan@gmail.com>, 
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: kernel-dev@igalia.com, linux-kernel@vger.kernel.org, 
 xen-devel@lists.xenproject.org, Mauricio Faria de Oliveira <mfo@igalia.com>
X-Mailer: b4 0.14.2
X-purgate-ID: tlsNG-c201ff/1780336664-E119B443-28B9E2BB/0/0
X-purgate-type: clean
X-purgate-size: 1458

Even with __builtin the compiler may decide to use the out of line function
instead of the inline implementation.

The existing code is broken with gcc-14/15 but not gcc-12/13 (Ubuntu 25.10)
and vmlinux no longer boots with CONFIG_PVH if CONFIG_KASAN_GENERIC is set.

For testing purposes, if the size argument is reduced from 12 to 8 then the
compiler decides to use the inline implementation; that shows results vary.

Switch the builtin to the inline implementation to address it.

Fixes: 416a33c9afce ("x86/cpu: fix unbootable VMs by inlining memcmp() in hypervisor_cpuid_base()")
Signed-off-by: Mauricio Faria de Oliveira <mfo@igalia.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/include/asm/cpuid/api.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/cpuid/api.h b/arch/x86/include/asm/cpuid/api.h
index 82eddfa2347b32b76c2ea9b85f005ca5416ac71f..2d9f3d4d63de6e721f275d9e80d372edbdfedf30 100644
--- a/arch/x86/include/asm/cpuid/api.h
+++ b/arch/x86/include/asm/cpuid/api.h
@@ -204,7 +204,7 @@ static inline u32 cpuid_base_hypervisor(const char *sig, u32 leaves)
 		 * from PVH early boot code before instrumentation is set up
 		 * and memcmp() itself may be instrumented.
 		 */
-		if (!__builtin_memcmp(sig, signature, 12) &&
+		if (!__inline_memcmp(sig, signature, 12) &&
 		    (leaves == 0 || ((eax - base) >= leaves)))
 			return base;
 	}

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 17:58:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 17:58:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324068.1589750 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU6tp-0006ZE-IT; Mon, 01 Jun 2026 17:58:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324068.1589750; Mon, 01 Jun 2026 17: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 1wU6tp-0006Z5-FV; Mon, 01 Jun 2026 17:58:05 +0000
Received: by outflank-mailman (input) for mailman id 1324068;
 Mon, 01 Jun 2026 17:58:04 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <mfo@igalia.com>) id 1wU6to-0006Yd-M2
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 17:58:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU6to-009LeU-2q
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 19:58:04 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <mfo@igalia.com>)
 id 6a1dc80f-5cb7-0a2a0a5109dd-0a2a4504c288-24
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 19:58:04 +0200
Received: from [213.97.179.56] (helo=fanzine2.igalia.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <mfo@igalia.com>)
 id 6a1dc82b-1dec-0a2a45040019-d561b3389538-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 19:58:03 +0200
Received: from 186-249-147-15.shared.desktop.com.br ([186.249.147.15]
 helo=[192.168.1.68]) by fanzine2.igalia.com with esmtpsa 
 (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim)
 id 1wU6tl-00B8VT-OV; Mon, 01 Jun 2026 19:58:03 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20170329 header.d=igalia.com header.i="@igalia.com" header.h="Cc:To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com;
	s=20170329; h=Cc:To:In-Reply-To:References:Message-Id:
	Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date:From:Sender:
	Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender
	:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:
	List-Subscribe:List-Post:List-Owner:List-Archive;
	bh=gVOYRAOO+Mh5oBl1QeoqitXujUCY2P63meD8Qlv2Ukw=; b=IwtnTfG8tJ/FMypnBeTUkihO38
	HVJ13BsRTPj0/nrXa5tUXqDm37o9WVph3mB0YM1MDMx7ZHXBg3CrTqMN6miuBsG/4bXNZA+5InYVL
	a/Uu4xwqoD3CjtDi8GYVIfqEwoXGhxpTxZ93NLMaYb1PSzMTmyM7pXxmCo9w24bFRTUDG+/hmPXRc
	O4bYpQiE4rmbqr5nwBWImZWYkDLKWMtSPgcNG7o0WnQ7/QulbcYqcax1H1yo4DBM2GrtyngrZ7gA3
	f1uBNBbuR6ETdxle9N1OmqQmHCu6s+txURhbgBOe+u9sTukzSAdPFwX2hL2Mgvn6/VfCWT5+nSgpD
	DWHZEHTA==;
From: Mauricio Faria de Oliveira <mfo@igalia.com>
Date: Mon, 01 Jun 2026 14:56:59 -0300
Subject: [PATCH v5 3/3] x86/pvh: fix unbootable VMs by really inlining
 memset() in xen_prepare_pvh()
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20260601-pvh-kasan-inline-v5-3-c996e92dfe9a@igalia.com>
References: <20260601-pvh-kasan-inline-v5-0-c996e92dfe9a@igalia.com>
In-Reply-To: <20260601-pvh-kasan-inline-v5-0-c996e92dfe9a@igalia.com>
To: Thomas Gleixner <tglx@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>, 
 Juergen Gross <jgross@suse.com>, Alexey Dobriyan <adobriyan@gmail.com>, 
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: kernel-dev@igalia.com, linux-kernel@vger.kernel.org, 
 xen-devel@lists.xenproject.org, Mauricio Faria de Oliveira <mfo@igalia.com>
X-Mailer: b4 0.14.2
X-purgate-ID: tlsNG-ebf023/1780336684-2A9623FF-56C0D30D/0/0
X-purgate-type: clean
X-purgate-size: 1416

Even with __builtin the compiler may decide to use the out of line function
instead of the inline implementation.

This particular one (still) generated the inline implementation as expected
(at least in these compiler versions) but this is not guaranteed to remain.

Switch the builtin to the inline implementation to address it.

Fixes: fbe5a6dfe492 ("xen, pvh: fix unbootable VMs by inlining memset() in xen_prepare_pvh()")
Signed-off-by: Mauricio Faria de Oliveira <mfo@igalia.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/platform/pvh/enlighten.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/x86/platform/pvh/enlighten.c b/arch/x86/platform/pvh/enlighten.c
index f2053cbe9b0ce3d2178938269607c652ae8f528e..cb442cbd9d828619421babb281bfe9759edbca8a 100644
--- a/arch/x86/platform/pvh/enlighten.c
+++ b/arch/x86/platform/pvh/enlighten.c
@@ -8,6 +8,7 @@
 #include <asm/hypervisor.h>
 #include <asm/e820/api.h>
 #include <asm/x86_init.h>
+#include <asm/string.h>
 
 #include <asm/xen/interface.h>
 
@@ -129,7 +130,7 @@ void __init xen_prepare_pvh(void)
 	 * This must not compile to "call memset" because memset() may be
 	 * instrumented.
 	 */
-	__builtin_memset(&pvh_bootparams, 0, sizeof(pvh_bootparams));
+	__inline_memset(&pvh_bootparams, 0, sizeof(pvh_bootparams));
 
 	hypervisor_specific_init(xen_guest);
 

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 17:59:56 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 17:59:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324080.1589759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU6va-0007Ij-Te; Mon, 01 Jun 2026 17:59:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324080.1589759; Mon, 01 Jun 2026 17:59: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 1wU6va-0007Ic-QK; Mon, 01 Jun 2026 17:59:54 +0000
Received: by outflank-mailman (input) for mailman id 1324080;
 Mon, 01 Jun 2026 17:59:53 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Luca.Fancellu@arm.com>) id 1wU6vZ-0007IM-6D
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 17:59:53 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU6vY-00BbZW-JK
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 19:59:52 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Luca.Fancellu@arm.com>)
 id 6a1dc895-e002-0a2a0a5209dd-0a2a450aa912-4
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 19:59:52 +0200
Received: from [52.101.69.54]
 (helo=AM0PR83CU005.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Luca.Fancellu@arm.com>)
 id 6a1dc898-56b3-0a2a450a0019-34654536517d-4
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 19:59:52 +0200
Received: from DUZPR01CA0321.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4ba::15) by DBBPR08MB6075.eurprd08.prod.outlook.com
 (2603:10a6:10:207::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.17; Mon, 1 Jun 2026
 17:59:49 +0000
Received: from DB3PEPF0000885E.eurprd02.prod.outlook.com
 (2603:10a6:10:4ba:cafe::f) by DUZPR01CA0321.outlook.office365.com
 (2603:10a6:10:4ba::15) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.17 via Frontend Transport; Mon, 1
 Jun 2026 17:59:49 +0000
Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by
 DB3PEPF0000885E.mail.protection.outlook.com (10.167.242.9) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Mon, 1 Jun 2026 17:59:49 +0000
Received: from DU2PR08MB7272.eurprd08.prod.outlook.com (2603:10a6:10:2d7::16)
 by VI0PR08MB11750.eurprd08.prod.outlook.com (2603:10a6:800:324::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.16; Mon, 1 Jun 2026
 17:58:45 +0000
Received: from DU2PR08MB7272.eurprd08.prod.outlook.com
 ([fe80::5d34:206f:373:a323]) by DU2PR08MB7272.eurprd08.prod.outlook.com
 ([fe80::5d34:206f:373:a323%6]) with mapi id 15.21.0071.015; Mon, 1 Jun 2026
 17:58: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=t/OIqDz+garGRmZksE2+HGvNf8FOjafAhGK/O07zS3spNlIGpcyaYE54bO3RhQWAFlat5QqTxaBFZLv1J9a3QbjD43g53a9Cz3rpErTiJCpop9B/9tNI5Cer2gyYtO43hKRDlRzKSm6ihre72IoYvXVyCkLVywlJQnLHTUoRxDvwuf2pTnyonzLUC3MREUhlzkAmLWHlffrE2vhaOiZDD8Ijy4z5e1bgDaYKhSsJmb8AKL0485RZ/vXDeK6vdMrWuPlY+ZBD9PkHQE3a1g6zkR8wr4X9zLH9LC0+1ng2NJcnHAJlD6Ei4IxorSUj5rDYrkw6R8t/B120rYxTfuZLTw==
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=rOAkbjw/97cFMPKBMWQnA3cSk4m7XxzWDSoxBQmqVeo=;
 b=JObaVKx+dKQLc4nP9xh8Mpe/GaL1MR6FtzCavbmjw5QNnR9UcUhqZNjyLtlpj7Rv1Iq6qXVNVwDl367iOGnGWc7AN/vIk+ClyBLE2COVAB99pFUVjc15HtUp/9BF3DANHc3hF9q930CIFx5HcJljKoD3QW8xcXWDlh9GPWf2VUTZQpdHR9CIocEs/c09vYWKqEs0jMZmLxV4+Cy+JbrSes6F55UiMAER5fkIgT2ZUq54OMzx9jUUh3Chnf0uK0NpIyUKIpI3yD+CHR/pi0NRis00qA6x6w97yAjLvMBk2VvI/Y/yIPo48G0D1cq1lSdq7nOwEA8nq1XXJSreD9RwgQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 4.158.2.129) smtp.rcpttodomain=gmail.com smtp.mailfrom=arm.com; dmarc=pass
 (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass
 (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rOAkbjw/97cFMPKBMWQnA3cSk4m7XxzWDSoxBQmqVeo=;
 b=H8dTJkPAyzicFxkjpi3xwgBAtif1FrH+b5NeF/S0mv+fe6friQ9lMSd6erfk/3tJ8IxjnvGi+cQ+eTqS7vqZJS+GzaoOA3WGRHTyA4YCUSW0hw3qZ/kEOQTakobQyy4+WDIxuHmpafbaegY5NQ1SjRPgiQAd8YbQJxHiZ59skPQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 4.158.2.129 as permitted sender) receiver=protection.outlook.com;
 client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Nz45iuFmrRSkA2cixckZn5VNTXGMgz94Xdrm0DS9/SFysuFSE9dPkXPOTqQwwMW3M2P76WA0QzKibB5PcJsifiqAl+yQtjy8KkwAhCfO9/xzOEkS4/t1t46nY23UPMOo8FzH0iL0XxXw0pUILzAXSsEYrQz/M8PaLAYG2hUmo2wizC1XT1Cc+30Vi5x1dzI7y0pcEYLbZbvCdj4NahBUHNRo+jS/d73SfoDwwJ2HYky2Gj5rWCLBcIlHOz4lseSBgZs/6MGPWHHDIzzzurkiDhsx+jKyiGOqJoRHEamx5YNHK+M0lQVppcnOnlbuaWy7yRVzQj/y7kt7UKNQIBLXsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rOAkbjw/97cFMPKBMWQnA3cSk4m7XxzWDSoxBQmqVeo=;
 b=HP94+TLWrK7cAvSb+61DNb/dBpdB7G/UJRGmvE+eHz4ivINve3PBJrDbFhFlZBuZmt7p1wCi0rG7dPUOqJxkdMNx64xDtJ2upKRf3pWyrKD2yNPD7+dB3Lg8HDBoykkM+hCJp1JVrnt353QVqlOM+CazEFsXLKBnuxqWRQJwMOlvfgM66YwOzl5poEe9aQAS6J4FHlkuoruO6ZC2741l/YaopbKKv8EB44WMuJlwYB+qS1CGMDEzIS0G5t0lUnIjh0EW3egFoeZXGsPWRCtA3bA0qY4PMwDsVrr9o4UM2ksAZZqe71QX2GE0dYri/tXtBk6nKZ9Pq2u4jQ+U6nLgJg==
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=rOAkbjw/97cFMPKBMWQnA3cSk4m7XxzWDSoxBQmqVeo=;
 b=H8dTJkPAyzicFxkjpi3xwgBAtif1FrH+b5NeF/S0mv+fe6friQ9lMSd6erfk/3tJ8IxjnvGi+cQ+eTqS7vqZJS+GzaoOA3WGRHTyA4YCUSW0hw3qZ/kEOQTakobQyy4+WDIxuHmpafbaegY5NQ1SjRPgiQAd8YbQJxHiZ59skPQ=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Mykola Kvach <xakep.amatop@gmail.com>
CC: "xen-devel@lists.xenproject.org" <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 Tyshchenko
	<oleksandr_tyshchenko@epam.com>
Subject: Re: [PATCH v10 10/13] xen/arm64: Save/restore CPU context across
 SYSTEM_SUSPEND
Thread-Topic: [PATCH v10 10/13] xen/arm64: Save/restore CPU context across
 SYSTEM_SUSPEND
Thread-Index: AQHc6UoJDjVka9AN20eljtAAqxiA5LYqDdoA
Date: Mon, 1 Jun 2026 17:58:45 +0000
Message-ID: <C9393733-6AB8-479E-B77F-7626CD88A509@arm.com>
References: <cover.1779385072.git.mykola_kvach@epam.com>
 <f8f6c8c3ee4f8c4f9f528094ec289554ac9c05f9.1779385072.git.mykola_kvach@epam.com>
In-Reply-To:
 <f8f6c8c3ee4f8c4f9f528094ec289554ac9c05f9.1779385072.git.mykola_kvach@epam.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3864.600.51.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DU2PR08MB7272:EE_|VI0PR08MB11750:EE_|DB3PEPF0000885E:EE_|DBBPR08MB6075:EE_
X-MS-Office365-Filtering-Correlation-Id: 85ac94fb-d051-4d3d-4b30-08dec00792dd
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|38070700021|5023799004|56012099006|11063799006|4143699003|6133799003|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info-Original:
 bV22GOlfDeW/YvvUq0D1NpKPmoGpfaJhRg4O0uC8q4tbTEJEI8yO69Qry3S0H8cCw7mn/mSeeh0c4ABupz8VajBBNv8+sRSnLLsJGBtGt8BgLGbOUXwcbsFRkfP/oC6bHrB2FdQbdTErtmPD9c5rCa8YrCPjJyarFF/bWnAttx0kMJ5z6g15oqzu7FLZLRfJ/xqa/NHf9SXSlwpVZwMMAOGsoqxpM1FFv4aWK3G621Ihn9n/hbh0PPxPX+lC8gWRdEqDntT4tC3IiqJzqjs1jcHDo7WK3ECLBEgb2Vl7ngZpoAEkZEjikVEq66TOFaE6C0aCu5kwzlN+Fmr1MA5fbK6/Ed1UmbBm4aK+q/KeX1R9WoJabSqDQNnjZperE1ZM5zvU6SlNtyx+UqbaaE1FAQ9jcz91yHKWhcPSdtOphWI+iB5kVxl/SXNN1vldFD0FE3AlrK3vLBJspMd+szC6TN0X4rz+OY/ER73gnTDTXDeyMO051KMo1AuJX/jwaGM/EDy2DWh1p7iOVLx8CqlpcQPyVriDEZDAIlO7xqKsh6PPI0+WUGBu8+NIZx3Jb30OejpObIYt699PGtExeSwH4lBetNfOuTqaMnvwHaHEQickEHl1RehpSg7lnl6kAHoxgSyLbdRrNCRYhJPULggnfaE/X+CV4y+FP+LiPCVn/5E570bHtQoFmYEGLKAOcgc3OIgTuDWWe0zsiaSlTArZiUdDBC5pJIxxWIlNIudVbxZP1KfdOj2m+8b1DAtWZD50
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR08MB7272.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700021)(5023799004)(56012099006)(11063799006)(4143699003)(6133799003)(22082099003)(18002099003);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <581C59751FEC814AAA6D6DD04B8B09E1@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Exchange-RoutingPolicyChecked:
 b80B0hm2/z4UzEc7Hgd0G7sAyiVd9bjtkLdTnF3IoK6Sz/XK3SEU++8B4TN38k0cHfWDpoNGdWnlMxuTcNmqyPZDTm8yAH8Y/4Ix1EVLC5uusjt8EsjD3Lg3Y+jcfBoSaAzBqi8QQ6pr5/eyf5v8IZUJbsq6IOGQAtXenRYE1fqnW9LkGSam2xWOCnhhMY7+aphV0CZ6Bw3xbUb3zCpk0/Ip0On5yVSbq0jp3ZjgUGT9t8E2/1BW5W0i5DnNC+Y3T90xmef/sDykkNQ9L3sk4Qy5pLdsBb5pmXdgfKrmxinOh08sji5Q+OZNy1O/VM53u26H/G91oyxLanX2vyVzIw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR08MB11750
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB3PEPF0000885E.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	766529d7-dd04-459f-0524-08dec0076cc8
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700016|14060799003|82310400026|35042699022|376014|22082099003|6133799003|18002099003|56012099006|4143699003|11063799006|5023799004;
X-Microsoft-Antispam-Message-Info:
	CYiz0g/ufk9TGX+SVOYkYcW+65KcR+w7VNREciij1ZAXEkWzwmAYqb1wMTkjtSTxuwByTqOV+clD+YtDv6XNPKxtbk1LMC1JWKh4fCNefjcM7QEFUfyDdRGQhwU8WKH0G1+QPYlIiAEKCBbjTRvsgohcGcP4IvC1dsK6FYT/E1KQUkMgeaZcQnFAnu5wShaKDPMpE6eL2xYl/aTfoUsSQJcRqBDsKwQL5yrGmNGZJYpsHlLwEI8KS9HQf6ecT5sNUEZqR1Klj/McMO+IswlQRREqftwvBHjY0TkyfWEWKBf4g3/pQOMRuVBxOAUpkZK2AJ+ZyDmbbkYkR+2hjk3V/A/Ba8cXloCXjWUDnyvxMWfDeRQ60IgfDW5/aiRcBmJCygaJAmccUS8uCIP+U7XfFjBJOu7/BvKHMJMRFxplTa9imn2dqanTaLX2hkk908W60bmoKjzlC/Ll+kmwqaHlrqBcgkxEPZ/naEbn00A8fCbzPHE3dS77KDRj6Kf7WLsgJLAgOfyAsgL8AfO1FRmTO3u06jpW4RYMA0oKGkL4gs4lEkqZJ7k17NPi+oRxe4p3pVp6Sz5kdK20oA/AKr4Fxjb/+kzUrwUK7bBJP+V/6A4mbzRPJjfUm+J0CpAccwsCwMdU33nmD4Ik3IH25V5oFG95GbtGOVV1slOzJQBpEkq71iCbvxeODd6DPrAAPqsDgzUKs+BZKb2xaaKBd1cy7QJvIDgCuQqBpS/yJOYaxtE=
X-Forefront-Antispam-Report:
	CIP:4.158.2.129;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:outbound-uk1.az.dlp.m.darktrace.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700016)(14060799003)(82310400026)(35042699022)(376014)(22082099003)(6133799003)(18002099003)(56012099006)(4143699003)(11063799006)(5023799004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	1g/htBd6m7MmeGhxsuBVO4+TWfcTkpipgVvl0J0jtYPnm+mcNbF5miURGt8l4QeMjUBd9KiGe74niLtSl+8juQEfKwcW3kkVOrdUQBVIZqo7AOMD7iAz+FQLW53/xGn0am6edcoRikfWJVioDIv7J2G1LWUxc57XgDWncuKzgI22yJeODcaXuJWhjJGUTJ6Sw548ugqMZeMzBqItIOpHMOIjMaMG6lfx5+TJpTTI0/5Ah5SRfgvNNC19CBzrDEh06Z4c3SA3UsoSO5olThLUOLYZj/W6Ak9RU9/AO+qjMsf6vW9mSFfONVr9+MO8mC/14FF3WEbWuWKn/o/1QN6fSZKQZ/sx6F3pa0oHnOZROQ+wJtbUEpQ1D/zFyCvlbFBa28YooLAKgcoTPFI2t6pURNDdAyqmvUQnEWq9VzZlDDL1jsTtKhxFDHsR4iZZ/7uB
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2026 17:59:49.3498
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 85ac94fb-d051-4d3d-4b30-08dec00792dd
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[4.158.2.129];Helo=[outbound-uk1.az.dlp.m.darktrace.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB3PEPF0000885E.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6075
X-purgate-ID: tlsNG-4011c0/1780336792-7E78F8B7-FF76BCF1/0/0
X-purgate-type: clean
X-purgate-size: 1939

Hi Mykola,

> On 21 May 2026, at 18:45, Mykola Kvach <xakep.amatop@gmail.com> wrote:
>=20
> From: Mirela Simonovic <mirela.simonovic@aggios.com>
>=20
> On wakeup from PSCI SYSTEM_SUSPEND, Xen re-enters EL2 with the MMU and
> data cache disabled. The resume path must first switch back to Xen's
> runtime page tables before it can access the saved CPU context using
> virtual addresses.
>=20
> Add an arm64 hyp_resume trampoline that reuses enable_secondary_cpu_mm()
> to enable the data cache and MMU, switch to init_ttbr, and resume in the
> runtime virtual mapping. The trampoline then restores the saved CPU
> general-purpose and system-control register context.
>=20
> prepare_resume_ctx() must be invoked just before the PSCI system suspend
> call is issued to the platform firmware. It saves the current CPU context
> and returns a non-zero value so that the caller enters the physical
> SYSTEM_SUSPEND call.
>=20
> On resume, hyp_resume restores the saved context, including the saved lin=
k
> register. Control therefore returns to the place where prepare_resume_ctx=
()
> was called. To avoid re-entering the suspend path, the restored path sees
> prepare_resume_ctx() return zero.
>=20
> The assembly save/restore code uses offsets generated by asm-offsets.c
> from struct resume_cpu_context, keeping the assembly memory accesses in
> sync with the C structure layout.
>=20
> Support for ARM32 is not implemented. Instead, compilation fails with a
> build-time error if suspend is enabled for ARM32.
>=20
> 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>
> Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> ---

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

Cheers,
Luca



From xen-devel-bounces@lists.xenproject.org Mon Jun 01 18:04:47 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 18:04:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324094.1589767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU70E-0000VY-DA; Mon, 01 Jun 2026 18:04:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324094.1589767; Mon, 01 Jun 2026 18:04: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 1wU70E-0000VR-AV; Mon, 01 Jun 2026 18:04:42 +0000
Received: by outflank-mailman (input) for mailman id 1324094;
 Mon, 01 Jun 2026 18:04:41 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <mfo@igalia.com>) id 1wU70D-0000VL-5Q
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 18:04:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU70C-00EI1p-Id
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 20:04:40 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <mfo@igalia.com>)
 id 6a1dc997-e002-0a2a0a5209dd-0a2a450ba112-48
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 20:04:40 +0200
Received: from [213.97.179.56] (helo=fanzine2.igalia.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <mfo@igalia.com>)
 id 6a1dc9b7-212f-0a2a450b0019-d561b338c334-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 20:04:40 +0200
Received: from maestria.local.igalia.com ([192.168.10.14] helo=mail.igalia.com)
 by fanzine2.igalia.com with esmtps 
 (Cipher TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim)
 id 1wU6zu-00B91M-TD; Mon, 01 Jun 2026 20:04:22 +0200
Received: from webmail.service.igalia.com ([192.168.21.45])
 by mail.igalia.com with esmtp (Exim)
 id 1wU6zs-005tFe-56; Mon, 01 Jun 2026 20:04:22 +0200
Received: from localhost ([127.0.0.1] helo=webmail.igalia.com)
 by webmail.service.igalia.com with esmtp (Exim 4.98.2)
 (envelope-from <mfo@igalia.com>) id 1wU6zr-000000064OL-3uxl;
 Mon, 01 Jun 2026 20:04:19 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20170329 header.d=igalia.com header.i="@igalia.com" header.h="Content-Transfer-Encoding:Content-Type:Message-ID:References:In-Reply-To:Subject:Cc:To:From:Date:MIME-Version"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com;
	s=20170329; h=Content-Transfer-Encoding:Content-Type:Message-ID:References:
	In-Reply-To:Subject:Cc:To:From:Date:MIME-Version:Sender:Reply-To:Content-ID:
	Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
	:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
	List-Post:List-Owner:List-Archive;
	bh=5mTiom1oq08KxEM2eAgq3ALBOMeHGMQoEyS7WmWVYGA=; b=JtChi68llI/7raY/N+0y/8NVer
	OSSDM/g7FN60GA7bbosDl1asFuHyEOdG7lh6mTVgDXE3vygxkN41YehISeczFmtCTIGQE26+p3dgR
	NY/Gy53UDWKV3r4xpwIeTrYcjDDWxZqfY3O0fGVYNsap0Uh5XnQbVL5jw+Uoeev1EJ5cSWS7ZJKpU
	kPgZLSN2bdUIWDiBQGPPf0uSQuc/7lTXDAiMWMAscA/poHv2VAeefHDruN58X6pQRAp4p1H2BYoTH
	lGK9WpM7cMSpWZbeAJp0yGXithBey9nKucBnH/N5EjoEoAbLUGwf6ZcsQt24qlm6jEeAkiioO5krP
	gpPc5bFg==;
MIME-Version: 1.0
Date: Mon, 01 Jun 2026 15:04:19 -0300
From: Mauricio Faria de Oliveira <mfo@igalia.com>
To: Thomas Gleixner <tglx@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>, Juergen Gross
 <jgross@suse.com>, Alexey Dobriyan <adobriyan@gmail.com>, Boris Ostrovsky
 <boris.ostrovsky@oracle.com>
Cc: kernel-dev@igalia.com, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org, kernel test robot <lkp@intel.com>
Subject: Re: [PATCH v4 0/4] x86/pvh: fix unbootable VMs again (PVH + KASAN)
In-Reply-To: <20260526-pvh-kasan-inline-v4-0-a310e6a25ecd@igalia.com>
References: <20260526-pvh-kasan-inline-v4-0-a310e6a25ecd@igalia.com>
Message-ID: <7605951bca0a9caede0ab9622aaad97e@igalia.com>
X-Sender: mfo@igalia.com
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Spam-Report: NO, Score=-2.6, Tests=ALL_TRUSTED=-3,AWL=0.401,BAYES_40=-0.001
X-Spam-Score: -25
X-Spam-Bar: --
X-purgate-ID: tlsNG-42698a/1780337080-2087FF3B-53C77E9D/0/0
X-purgate-type: clean
X-purgate-size: 402

On 2026-05-26 11:52, Mauricio Faria de Oliveira wrote:
> The issue of unbootable VMs with CONFIG_PVH due to CONFIG_KASAN is back.
> 
> Booting directly from vmlinux (instead of bzImage) now fails with gcc-14/15
> (but works with gcc-12/13) if CONFIG_KASAN_GENERIC is set, on Ubuntu 25.10.

v5:
https://lore.kernel.org/all/20260601-pvh-kasan-inline-v5-0-c996e92dfe9a@igalia.com

-- 
Mauricio


From xen-devel-bounces@lists.xenproject.org Mon Jun 01 21:08:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 21:08:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324120.1589777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wU9rd-0007G2-U6; Mon, 01 Jun 2026 21:08:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324120.1589777; Mon, 01 Jun 2026 21:08: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 1wU9rd-0007Fj-Ov; Mon, 01 Jun 2026 21:08:01 +0000
Received: by outflank-mailman (input) for mailman id 1324120;
 Mon, 01 Jun 2026 21:08:01 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wU9rd-0007Fd-3b
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 21:08:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wU9rc-001CZl-6I
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 23:08:00 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a1df44d-2eae-0a2a0a5409dd-0a2a450ad540-48
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 23:07:59 +0200
Received: from [40.93.194.53]
 (helo=SN4PR0501CU005.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a1df4ad-56b3-0a2a450a0019-285dc2357192-4
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 23:07:59 +0200
Received: from PH7P220CA0101.NAMP220.PROD.OUTLOOK.COM (2603:10b6:510:32d::17)
 by MW6PR12MB9018.namprd12.prod.outlook.com (2603:10b6:303:241::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.12; Mon, 1 Jun 2026
 21:07:54 +0000
Received: from SA2PEPF0000150A.namprd04.prod.outlook.com
 (2603:10b6:510:32d:cafe::8a) by PH7P220CA0101.outlook.office365.com
 (2603:10b6:510:32d::17) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.16 via Frontend Transport; Mon, 1
 Jun 2026 21:07:54 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SA2PEPF0000150A.mail.protection.outlook.com (10.167.242.42) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Mon, 1 Jun 2026 21:07:53 +0000
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 1 Jun
 2026 16:07:53 -0500
Received: from [172.18.181.126] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Mon, 1 Jun 2026 16:07:52 -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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BoRnRn2X83y487A3gNon78krqexsPBJyAb5cm4x/OYyY7Ti/i71x1ypRoG+ky2TXOLB5XJPyfxniD8TKO1CHZ+HDip6Ayp5vRlyrE+NSxLBDVqFx2Fj4DoN33v3jtKiV7QQwCu7L7GnceVYkR9b7NJHN88xJvhb8viTqqMH43Yi6iWBN3I7sDR2WyWwA1+MPCeOpdujSd13L6mGgVH71JzHsZlQ5B1Pr55GGRR5+jYhG2ilXaFsxo3z9QsCR6koWgU7CdFyzr7zMhgmtPH8X6mazgOwOMpi7T6CTz8NugYHcBnK8P07ZDdhSLf7aayQkdSKloL51dFxrmboDynKWEA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hG9W2e5jgQUBQAJLZL/4kduVWRVloyFkEdOR1JN+kME=;
 b=Dm8h2x44fkE1yec6fyoSNsaNsVdN3bj+4oct9YzoGNG8Y0pBn5j0OJJ0FAfxa/6t5wi7Xj0g3zjPKDD72y2MffA0PCjvORGaHtfm/ut8SEWn6jQsQt+wvj/WnZ8nHyNXrt3wAUHLw7GuP5tT1HKLUmtS4Non4IrKL3YON32XcytZa4kYWvmEkGje02j5Cj7O02oWgVWCUUJRDHsk3fW8ssy9oFXh+07XsNZgYE2oUgNqkhQqb0kWQUF9R5Uhy/oMz2z8e9qQxSegjNCInq/D1NR7mgb2TgClaUDDmytJjlDf/kENtvYTgBFUkwDvs+S/c4aBl3fr+T5tGll2SIj8Sw==
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=hG9W2e5jgQUBQAJLZL/4kduVWRVloyFkEdOR1JN+kME=;
 b=Vm9ypva4CVWKHvFkkzGzMurCLL4mvcNdF7lYk33jW4MeqnUeb9uU4LSp23sOYDFvzpdVsiWDwRIOzlNTLT0VkTLK7RmOFPz0kqq+JywnFvD1KKlWUdlZMZlBWv9B4vf1AhVJVrFNCNUAaKG+cnHG1RP4HZNPCkF/t243gOam1NE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <5cdfca65-50f8-487a-a146-86e1a68f459c@amd.com>
Date: Mon, 1 Jun 2026 17:07:52 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/x86: Change stub page freeing to fix smt=0
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>, Teddy Astie <teddy.astie@vates.tech>
References: <20260526203114.40882-1-jason.andryuk@amd.com>
 <ah26nl95MgqhPPAi@macbook.local>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <ah26nl95MgqhPPAi@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: SA2PEPF0000150A:EE_|MW6PR12MB9018:EE_
X-MS-Office365-Filtering-Correlation-Id: bca5ad0b-f635-47dd-36fd-08dec021d8f5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700016|82310400026|376014|1800799024|18002099003|22082099003|11063799006|4143699003|56012099006;
X-Microsoft-Antispam-Message-Info:
	gbo+YLs6SWlqfSCRVO6AB3g+VrUq8U93MzLqOF2mIZxA8zw01jN6cEsz8LizrSFlGvfS2yS82yqnhIH46iK0V6mNX5h/odZu0SrqpTC3/0n20wZq6grHGmmbTV3iVwE26IfQ9A4hyt270XggKdmsnK9p+Fn7sK4S7/xawPsIFgCdTKfKUoMyOao4Jo2yxfb4OzewQ67beUISlL9bONVU7t6Zg6J3H6cdZuu5u97EyJj2+TejyGKbTTlKMujmgb6eUhdAsRqKiGD7OaSN88e5GjB4G7ELwSebw29fmqNfyFYejHt3bVceVyEhMktwrTHZAQvGchoU0kP+Mub338iXvcdPUFC35CK9RPzFTDlmnyQVUk7KysZc1/T1lhhnyTQsCfYil5toyHdf92O+L7L1xpmEK4c84uQz0eA9NEjmrl3mbY7hWP7okMLL58cENLuLw87zQ4pCrXVJd2L/cVAY2fQNppTGN35dn3PgTAZl71FBWRMVaSaMq7G15dUy1pUsfhFjxxA8g4Yp1wyeLy+dbnpPDQiwU2rqk9Kj/om5beeDohP7yJd4Si+Hl5NLP/R6v2G4tqHgsd6x0ZGp5xiHpI4oy7/mPWKWWwTzJUnOONEbFEaWlNo7u3eiPJPymaiFpUGTu0CUOdYrZ8ELlHj6DytW7CWE2z+UOtqHVRuA5J7DzGfgIht/6CPi3/gypB/5UOyIO1vp/LVLXem24RjX3NJM2t7sl1kxs3IArAoUBg4=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(82310400026)(376014)(1800799024)(18002099003)(22082099003)(11063799006)(4143699003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	V9z7hUfxoT/hDB88+DsyRGfnpk3meZAACjBRZLcRCqN0S7DGosO/Jw28P4qadO6AYGw7A15vLuc3IOrV7c0unsQCZufoeyVJoHd0wZMJ2mkCp32I/ZaHCTYIKLBFTlQza0JmyQXrBxDfCBoQnIRFH3JK9LzZSwvgB61A0CM8A/glB60hodNh80/hAtHPHn2JZ44wv13lFDlEmhxuAnbVq5di8dnpy4cK2L+Qq2lYuLP+1hqok4z3DleLOvZ7NURKxxzPwmiVu51DZbznfv8Ac5LJUDwQFHwiR/VG38m72+O5LtoM2CKnqgkANNKWKqfPqQCP7Z+afQKOjGKB2+te3NCjFlttq6rnM+NJnCJ796FsDdo1ZENoRabz1ECKj9SJNQaILcOQ/uihRaBQxt9Sjx+OZeQ+6q8HZKExUzugjVNfMp2dEEtSh5D3HGF2QTKA
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2026 21:07:53.9245
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bca5ad0b-f635-47dd-36fd-08dec021d8f5
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF0000150A.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB9018
X-purgate-ID: tlsNG-4011c0/1780348079-7C8788B7-BFC69298/0/0
X-purgate-type: clean
X-purgate-size: 4034

On 2026-06-01 13:00, Roger Pau MonnÃ© wrote:
> On Tue, May 26, 2026 at 04:31:14PM -0400, Jason Andryuk wrote:
>> A single stubs page is initialized with 0xcc and re-used, with multiple
>> CPUs each using a portion of the shared page.  In cpu_smpboot_free(),
>> each stubs area is checked against 0xcc.  When all are set to 0xcc, the
>> page is freed.
>>
>> Booting a system with smt=0, CPU0 is initially setup, allocating the
>> stubs page and initializing to 0xcc.  When more CPUs are brought up,
>> CPU1 is initialized and then immediately brough offline as it is the
>> sibling of CPU0.  Since the page was initially memset with 0xcc,
>> cpu_smpboot_free() finds all stubs as 0xcc and frees the page.
>> However, the page is still assigned to CPU0 and continues to be assigned
>> to other CPUs.
>>
>> Meanwhile the page can be reallocated, which can lead to misbehavior.
>> The particular instance was the stubs page re-used as a page table which
>> later faulted when the entry was all 0xcc.
>>
>> Change to initializing the page as 0xd6/STUB_BUF_FREE, and initializing
>> individual stubs as 0xcc/STUB_BUF_USED.  0xd6 now indicates unused, and
>> 0xcc indicates used/assigned.  When freeing a CPU, the stub is set to
>> 0xd6, and the page is freed if all stubs are 0xd6.  Initializing with
>> STUB_BUF_FREE lets cpu_smpboot_free() a page that was only ever
>> partially used.
>>
>> 0xd6/UDB is a 1 byte invalid opcode, which is similar to the existing
>> use of 0xcc.  0xd6 is used to identify bug frames, but the stub addr
>> (e.g. 0xffff82d07fffe000) fails the is_active_kernel_text() check.  It
>> should be okay to use here.
>>
>> Fixes: 7a66ac8d1633 ("x86: move syscall trampolines off the stack")
>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>> ---
>> It would be nice to use get_page()/put_page() to let count_info handle
>> reference counting, but they require an owning domain.
>>
>> The listed Fixes introduced the use of 0xcc, but the smt commit may have
>> made it more problematic.
>> Fixes: d8f974f1a646 ("x86: command line option to avoid use of secondary hyper-threads")
> 
> Speaking with Andrew, we believe it might be easier to simply forego
> the freeing of the page, possibly something like:
> 
> diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
> index ff05955bae40..62c6cbf4b561 100644
> --- a/xen/arch/x86/smpboot.c
> +++ b/xen/arch/x86/smpboot.c
> @@ -990,19 +990,12 @@ static void cpu_smpboot_free(unsigned int cpu, bool remove)
>       {
>           mfn_t mfn = _mfn(per_cpu(stubs.mfn, cpu));
>           unsigned char *stub_page = map_domain_page(mfn);
> -        unsigned int i;
>   
>           memset(stub_page + STUB_BUF_CPU_OFFS(cpu), 0xcc, STUB_BUF_SIZE);
> -        for ( i = 0; i < STUBS_PER_PAGE; ++i )
> -            if ( stub_page[i * STUB_BUF_SIZE] != 0xcc )
> -                break;
>           unmap_domain_page(stub_page);
>           destroy_xen_mappings(per_cpu(stubs.addr, cpu) & PAGE_MASK,
>                                (per_cpu(stubs.addr, cpu) | ~PAGE_MASK) + 1);
>           per_cpu(stubs.addr, cpu) = 0;
> -        per_cpu(stubs.mfn, cpu) = 0;
> -        if ( i == STUBS_PER_PAGE )
> -            free_domheap_page(mfn_to_page(mfn));
>       }
>   
>       if ( IS_ENABLED(CONFIG_PV32) )
> 
> (there might be further cleanup possible if the page is not freed, the
> above chunk is untested).
> 
> It's a single page shared between 32 CPUs, and offlining 32 adjacent
> CPUs seems very unlikely.  IMO the extra complexity of having to deal
> with the freeing overshadows the very small memory gain we get from
> it.

Hi Roger,

Yes, I made and tested the same change locally last week.  Well, I retained:
      per_cpu(stubs.mfn, cpu) = 0;

Maybe it would be good to save the mfn in case the CPU returns?  But I 
thought per-cpu vars are cleared, so it wouldn't be available anyway?

Also, I was waiting to see if anyone chimed in with other ideas.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Jun 01 21:46:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 21:46:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324132.1589786 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUASu-0004Hf-Ni; Mon, 01 Jun 2026 21:46:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324132.1589786; Mon, 01 Jun 2026 21: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 1wUASu-0004HY-K4; Mon, 01 Jun 2026 21:46:32 +0000
Received: by outflank-mailman (input) for mailman id 1324132;
 Mon, 01 Jun 2026 21:46:31 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wUASs-0004HS-5Z
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 21:46:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUASr-00Ei1v-EL
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 23:46:29 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1dfd6d-bab6-0a2a0a5309dd-0a2a4509c36c-46
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 23:46:28 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1dfdb4-2497-0a2a45090019-5a9b32228f74-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 23:46:28 +0200
Received: from [2001:8b0:10b:5:5b40:b57d:669c:36f4]
 (helo=u09cd745991455d.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wUASa-00000000osw-00s5; Mon, 01 Jun 2026 21:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="MIME-Version:Content-Type:in-reply-to:Date:Cc:To:From:Subject:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:in-reply-to:
	Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:Content-Transfer-Encoding:
	Content-ID:Content-Description:References;
	bh=FoLB+yULmJuTpb/f09beCcmk3uZrMb1CC+n10gGBfgg=; b=K6uIHNyxjiHFwPgdIJv9Yfyb+x
	0UQeIxUStvlI+MDaVA0QUdgGmY1bVKQ7wR0hWqxEFyHvdxmA0Y4K2cXFas3qSPsDg1EgqO65lNvtk
	886haCDEEvJPaysJ2H/tEyCE7Hccok2+nOdOhBCFr3IC6s8ljg8p1OvsEv7yeA7+tne9uKEV8Dc8J
	FK1c/mWGETrcghaoeZ/XciYt9I0lUcwn47K0OaMWpT2SOn4DZqhwXXnOURTQ1hJZa49/fYkJiTfg7
	LBx9pxu7ooKt3KFbnRUUQZsfjL+FzK+BSTDiMrxTLl7acGM/m1OeYZsp+jDBuAM3NBJUbQTtNP+ry
	tzGKsQEg==;
Message-ID: <c99195a246c4d40f375f6834c9e11b2561c975c6.camel@infradead.org>
Subject: Re: [PATCH v4 1/47] x86/tsc: Never re-calibrate TSC frequency if
 its exact timing is known
From: David Woodhouse <dwmw2@infradead.org>
To: seanjc@google.com
Cc: pbonzini@redhat.com, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, 
 dave.hansen@linux.intel.com, x86@kernel.org, kas@kernel.org,
 kys@microsoft.com,  haiyangz@microsoft.com, wei.liu@kernel.org,
 decui@microsoft.com,  longli@microsoft.com, ajay.kaher@broadcom.com,
 alexey.makhalov@broadcom.com,  jan.kiszka@siemens.com, luto@kernel.org,
 peterz@infradead.org, jgross@suse.com,  daniel.lezcano@kernel.org,
 jstultz@google.com, hpa@zytor.com,  rick.p.edgecombe@intel.com,
 vkuznets@redhat.com,  bcm-kernel-feedback-list@broadcom.com,
 boris.ostrovsky@oracle.com,  sboyd@kernel.org, kvm@vger.kernel.org,
 linux-kernel@vger.kernel.org,  linux-coco@lists.linux.dev,
 linux-hyperv@vger.kernel.org,  virtualization@lists.linux.dev,
 xen-devel@lists.xenproject.org,  dwmw@amazon.co.uk,
 thomas.lendacky@amd.com, nikunj@amd.com, dwmw2@infradead.org, 
 mhklinux@outlook.com, tglx@linutronix.de
Date: Mon, 01 Jun 2026 22:46:09 +0100
in-reply-to: <20260529144435.704127-2-seanjc@google.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-WD78uzY0w9rVU0d8PR0T"
User-Agent: Evolution 3.52.3-0ubuntu1.1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-bad1c0/1780350388-8A589A53-EA510547/0/0
X-purgate-type: clean
X-purgate-size: 7750


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

On Fri, 29 May 2026 07:43:48 -0700, Sean Christopherson wrote:
> Don't re-calibrate the TSC frequency if the TSC is known to run at a fixe=
d
> frequency.  In practice, this is likely one big nop, as re-calibration is
> used only for SMP=3Dn kernels, and only for hardware that is 20+ years ol=
d,
> i.e. is extremely unlikely to collide with TSC_KNOWN_FREQ.
>
> Signed-off-by: Sean Christopherson <seanjc@google.com>

Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>


--=-WD78uzY0w9rVU0d8PR0T
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
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI2MDYwMTIxNDYw
OVowLwYJKoZIhvcNAQkEMSIEIKMO2la5awG+n0lZK5AuXT7GJvPnVZIt78VoLISUVNyGMGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIAka57ZoIUPlTo
KZ4Ex/lVHE8wFwqR5kcqyFora5IUVaIaLyGNFE51UIMaO4mvCc95HG9yF4+jVPDHsP/VRXUVYwGK
+wuyQ1gShaKwcZEPZTxPJW++XAThgrMnAhDY97JMR+2zGIHvo2+8ylacvU6KILWkkKSDHXLngVSP
ivUiWLyuPy8mfxiyKChDOiV8qChdDV/wpF83CgTPoWRa5A8ATOB8aWhoSbl5dT8QJLpIcSrlquMP
KfidmhY8rWZFvKzk238D5SRp8jUCr+ds6eF2JMyNwMpzaAIGkLgMqBtnLWWxiHWXGH9+bqppXvyF
RUS7ZjqJoizrB1vr0UJk+tXAyQIvGiGXdy3rcaJugR3LwZvp1ihlcXy5c3AQHsduCD+K8Wg5rCk/
GWiBkNfAc8MfnEdOAlRyZ7t9btXbjbSrVq5l8K4jex8GZNAErCH5ey7zgNzDhi/G5WlABBLQefi8
CTRpkCwrJzkSuUMNJCVjaSex31XcNwDZ9a9EB1+E+tWVr03HO9hzXPNxOA96TeqY4a+Znlbm+mvF
PZ2shSeCYBsi7JmDz6FcdNNyxB4wA8hy2QmeljomJy9G23NJKrsLXCb4y4R+7YjYUqjyMT2fX8Zi
uYTAt0zfvQsoigQHguN140Dse4QEZy/BR8CVfHPwW7hxa+nNVcdtt9xW2hNuo3IAAAAAAAA=


--=-WD78uzY0w9rVU0d8PR0T--


From xen-devel-bounces@lists.xenproject.org Mon Jun 01 21:49:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 21:49:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324138.1589796 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUAVb-0004u3-7d; Mon, 01 Jun 2026 21:49:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324138.1589796; Mon, 01 Jun 2026 21:49:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUAVb-0004tw-3R; Mon, 01 Jun 2026 21:49:19 +0000
Received: by outflank-mailman (input) for mailman id 1324138;
 Mon, 01 Jun 2026 21:49:17 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wUAVZ-0004tR-7I
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 21:49:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUAVY-00EiLK-9v
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 23:49:16 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1dfe56-e002-0a2a0a5209dd-0a2a4502ab96-6
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 23:49:15 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1dfe5b-af86-0a2a45020019-5a9b3222a228-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 23:49:15 +0200
Received: from [2001:8b0:10b:5:5b40:b57d:669c:36f4]
 (helo=u09cd745991455d.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wUAVL-00000000p2a-2TBZ; Mon, 01 Jun 2026 21:49: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="MIME-Version:Content-Type:in-reply-to:Date:Cc:To:From:Subject:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:in-reply-to:
	Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:Content-Transfer-Encoding:
	Content-ID:Content-Description:References;
	bh=7F3/Z3S4Ohu4+WmzhSzzI4cWIlxfQO/JOD7SKgruhD0=; b=UP9RiNMGxszqf6cpNGmSpW/Olq
	wJCrrH93bWGbwyG9cYajFAiiCq/1OnvoCwvP5y8IyiqNChPfpbNocauWGNoZJHRzTimocBwlg+xN4
	UGdN0zGR9eeBYY8not2P3zM54tWs0T+YrQMBA14yqi5EQTAsUELxepenYbY8VkK/+pZki/ZQL/ak9
	0wqejZMgSkMwtnEMnPfYAI2mfzFi1VHTwpom+eH7Lm3rd3apkI84PW0CdNTnmdj3IbjVZMMR3WyVW
	XEKglOeWdelUYadOr7i6d8QrJiUFKyU1lFiFPKaV3HEys7SiEkVI5RFpmOsOTmnEBxeDL53HFXx/U
	hNHFj76g==;
Message-ID: <edb1eea1bb6e45560fde15a58575c628750ecdbb.camel@infradead.org>
Subject: Re: [PATCH v4 8/47] x86/tsc: Add dedicated hypervisor hooks for
 getting known TSC/CPU frequencies
From: David Woodhouse <dwmw2@infradead.org>
To: seanjc@google.com
Cc: pbonzini@redhat.com, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, 
 dave.hansen@linux.intel.com, x86@kernel.org, kas@kernel.org,
 kys@microsoft.com,  haiyangz@microsoft.com, wei.liu@kernel.org,
 decui@microsoft.com,  longli@microsoft.com, ajay.kaher@broadcom.com,
 alexey.makhalov@broadcom.com,  jan.kiszka@siemens.com, luto@kernel.org,
 peterz@infradead.org, jgross@suse.com,  daniel.lezcano@kernel.org,
 jstultz@google.com, hpa@zytor.com,  rick.p.edgecombe@intel.com,
 vkuznets@redhat.com,  bcm-kernel-feedback-list@broadcom.com,
 boris.ostrovsky@oracle.com,  sboyd@kernel.org, kvm@vger.kernel.org,
 linux-kernel@vger.kernel.org,  linux-coco@lists.linux.dev,
 linux-hyperv@vger.kernel.org,  virtualization@lists.linux.dev,
 xen-devel@lists.xenproject.org,  dwmw@amazon.co.uk,
 thomas.lendacky@amd.com, nikunj@amd.com, dwmw2@infradead.org, 
 mhklinux@outlook.com, tglx@linutronix.de
Date: Mon, 01 Jun 2026 22:49:02 +0100
in-reply-to: <20260529144435.704127-9-seanjc@google.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-KfGeQos5ntguCu9qjbbK"
User-Agent: Evolution 3.52.3-0ubuntu1.1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-720697/1780350555-A9D77161-72843ACD/0/0
X-purgate-type: clean
X-purgate-size: 8012


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

On Fri, 29 May 2026 07:43:55 -0700, Sean Christopherson wrote:
> Add dedicated hypervisor hooks for getting known TSC/CPU frequencies
> instead of overriding seemingly generic platform hooks, and explicitly
> priotize hypervisor-provided frequencies over native methods, but do NOT
> clobber the frequency obtained from trusted firmware.  While shuffling th=
e
> hooks around is arguably "six of one, half dozen of the other", scoping
> them to x86_hyper_init makes their purpose more obvious, and allows for
> explicitly defining the priority of sources (as is done here).
>
> Cc: David Woodhouse <dwmw2@infradead.org>
> Signed-off-by: Sean Christopherson <seanjc@google.com>

Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>


--=-KfGeQos5ntguCu9qjbbK
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
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI2MDYwMTIxNDkw
M1owLwYJKoZIhvcNAQkEMSIEIDflYQFfPc2xLD4ha468L4daP6Z61gsoygGBa9XZ2PdrMGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIAGbnF1MKX2b5M
9zu5ifFlZ8gddh4ryc9TBafrxWKMQhkfZoybjnOaorslcSsOHTbEtz/rzNy0nDFuGXAEIrHHK/ZE
Hnnx93+GWPXutN/KqTwH6ChtMZ85XI4zf43wTCZ9PV69s/1CBmdYsZ1Wx18pv97AgfY2cLaTntPL
Dw1oXRNCB/bMSUxlbrn1MAitO74O+giI8YlraeL/cAymKebTtfpumawCiWifZYisDnzcRt3Y3RHD
8daISKTtl8RUrJR5tBQBPY2YjKSnc/pEAkSfsIQjq6Ifw7IeF92DC8sglGm4sXRw05ONu0+cw/yE
ZwyED4BTZJbiIVGhIzOY6QhnFQRNcPyEUL9N+uw/DDkb1Ax59+H1ZncpQTG8l88SEplsHPGjLp4p
h2eTSGnFaXtPUj1nMd16Giw+wfZ6h0kziyA6htDE7VgpgcIRX13warpFe/vavRzPovKGjJtBdWAX
59Cus6Cs8DwMF23z8P85fahPVmTyESUc1OVcNqHc99iitiGWvSciUJMnESgUbEO6sqfMbvixZOfx
iGdCEB5wCK1EyZtP2JZHJ9hhQM/m4kMP8zwl8cePGa9JKLzIYA3V8LTDMOAGBeMySosxX6UX/uYA
kAKqbsQ391j/cOiX9UTDmkrJ/Vhv6FvN1fcdcfsBB+srBqETdKSbhDK1GWKbr1IAAAAAAAA=


--=-KfGeQos5ntguCu9qjbbK--


From xen-devel-bounces@lists.xenproject.org Mon Jun 01 21:51:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 21:51:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324145.1589804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUAXx-0006Mo-Ig; Mon, 01 Jun 2026 21:51:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324145.1589804; Mon, 01 Jun 2026 21: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 1wUAXx-0006Mh-Fs; Mon, 01 Jun 2026 21:51:45 +0000
Received: by outflank-mailman (input) for mailman id 1324145;
 Mon, 01 Jun 2026 21:51:43 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wUAXv-0006MO-O3
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 21:51:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUAXv-000skV-1M
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 23:51:43 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1dfee1-e002-0a2a0a5209dd-0a2a450baa68-8
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 23:51:42 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1dfeee-212f-0a2a450b0019-5a9b3222d93c-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 23:51:42 +0200
Received: from [2001:8b0:10b:5:5b40:b57d:669c:36f4]
 (helo=u09cd745991455d.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wUAXj-00000000pIO-36dh; Mon, 01 Jun 2026 21:51: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="MIME-Version:Content-Type:in-reply-to:Date:Cc:To:From:Subject:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:in-reply-to:
	Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:Content-Transfer-Encoding:
	Content-ID:Content-Description:References;
	bh=i/q9oty+Eonp7d3m/kL5UxZl+/pPOtywMBfWg64cLbI=; b=eroRDVBrUa4AX6ZSI/rtoi6ltm
	NYzIziCvtUj2ynNDO9uaZzQ2um2suQc+CUv7ty2HzpSTm3o8Ob4F7J/JtazHbeTO8Wjh30MFsN6Tp
	UsqNehuqNBHu7M24slkct+8kcQEl3z9E4kuKNhTaK97mb3+o7MsFVmRg/XivQVtvCZae5wr0qxgjB
	QuONNCk2cMqDtfgXi8pEVtDP6XcU8c927/RukEQrzji7wAAxi+XDcauf9yyLbAF6Mu/dOX9Shy0MU
	5zE7lbijwLtYzr7wlCXSHXQZ8jISvsdo5BBHrQN46M9ijHqZtNA1lpdR/LgCmZIq619J14SABWDFo
	9SMnfdLQ==;
Message-ID: <2e8e83f5794614cd7ff9c85af8ee8b7a5ad14736.camel@infradead.org>
Subject: Re: [PATCH v4 11/47] x86/tsc: Kill off
 x86_platform_ops.calibrate_{cpu,tsc}() hooks
From: David Woodhouse <dwmw2@infradead.org>
To: seanjc@google.com
Cc: pbonzini@redhat.com, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, 
 dave.hansen@linux.intel.com, x86@kernel.org, kas@kernel.org,
 kys@microsoft.com,  haiyangz@microsoft.com, wei.liu@kernel.org,
 decui@microsoft.com,  longli@microsoft.com, ajay.kaher@broadcom.com,
 alexey.makhalov@broadcom.com,  jan.kiszka@siemens.com, luto@kernel.org,
 peterz@infradead.org, jgross@suse.com,  daniel.lezcano@kernel.org,
 jstultz@google.com, hpa@zytor.com,  rick.p.edgecombe@intel.com,
 vkuznets@redhat.com,  bcm-kernel-feedback-list@broadcom.com,
 boris.ostrovsky@oracle.com,  sboyd@kernel.org, kvm@vger.kernel.org,
 linux-kernel@vger.kernel.org,  linux-coco@lists.linux.dev,
 linux-hyperv@vger.kernel.org,  virtualization@lists.linux.dev,
 xen-devel@lists.xenproject.org,  dwmw@amazon.co.uk,
 thomas.lendacky@amd.com, nikunj@amd.com, dwmw2@infradead.org, 
 mhklinux@outlook.com, tglx@linutronix.de
Date: Mon, 01 Jun 2026 22:51:31 +0100
in-reply-to: <20260529144435.704127-12-seanjc@google.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-MYxfinUr1CNAnjjVqHHC"
User-Agent: Evolution 3.52.3-0ubuntu1.1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-42698a/1780350702-1B57BF3B-259360B0/0/0
X-purgate-type: clean
X-purgate-size: 7906


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

On Fri, 29 May 2026 07:43:58 -0700, Sean Christopherson wrote:
> Now that getting the CPU and/or TSC frequencies from the hypervisor uses
> dedicated hooks, drop x86_platform_ops.calibrate_{cpu,tsc}() and instead
> directly invoke the correct helper at each phase of (re)calibration.  In
> addition to eliminating unnecessary code, this makes it a bit more obviou=
s
> when the "late" path invokes pit_hpet_ptimer_calibrate_cpu() instead of
> x86_platform_ops.calibrate_cpu().
>
> No functional change intended.
>
> Signed-off-by: Sean Christopherson <seanjc@google.com>

Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>


--=-MYxfinUr1CNAnjjVqHHC
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
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI2MDYwMTIxNTEz
MVowLwYJKoZIhvcNAQkEMSIEILADVwmOcWbd/20kO+ekyW2tpAwNIw+3cGW8IgUwlvZmMGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIAcGXwXNkbLkPF
ldhgRN+rx7GjwGhyFb/P2QGzJpeYKBb6UvpLgcfXfhhX5agrj5FCo+PmP6MDDJpIfXGjotYnkzrQ
18IolyGjoyk0whO+wBwxX8N8F4yT60L6SqsxDUr9nD/59fCHIzYUly9D/C/GMI1AHu+W5rzU2iX2
1SFkM3X3XbbuISnLhS5B88t9St0do8ZwdYn0yjPxXmXn4+VZPs6CnbLVZSwtjhRDRneTyOUlwreD
AAP59EQ4ynCgRUVdV/KVI+bgzljR9SkAVVOjr5Z2o/BsvlY/AibWNElivJ8dU2ES4pU4wQW61qEG
kfSKEmOsdo/RrSvy3rwc1JoOBPjeoU4qP3ge/juFP8zrx+OMOZp7rqvsCkoP0+UYjvXao/URiqvL
sgXpZsYhxUgIS7Z1MF/UJ8+263Rdg8RzCOEQchwwWLWWS8cRkBVPPSHsydYqRBk+MIWWfDM5WTt8
H8aSHzPTjrF4fHma8wjBeSnLGoZNqlcYqiSegxtj00J788oBFYp5hk9UAZjYuG5mrCmmtYoRD6Uo
7UVOm6BdijP8uVuUj9Zi9wS9hTDISdmt4q6w6QQ8utxfdXD4kMAD+9W85HWQNC4o7Cm3kKQeLn9r
D7djkeTSiMcUbQLTN9QQ22wLCnzK55jM2vPoNTSw0epL31sKVwYH6sUnYEHUTiAAAAAAAAA=


--=-MYxfinUr1CNAnjjVqHHC--


From xen-devel-bounces@lists.xenproject.org Mon Jun 01 21:52:53 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 21:52:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324153.1589813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUAZ1-0006yH-Um; Mon, 01 Jun 2026 21:52:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324153.1589813; Mon, 01 Jun 2026 21: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 1wUAZ1-0006yA-Qx; Mon, 01 Jun 2026 21:52:51 +0000
Received: by outflank-mailman (input) for mailman id 1324153;
 Mon, 01 Jun 2026 21:52:50 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wUAZ0-0006xt-3z
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 21:52:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUAYz-000sqf-H5
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 23:52:49 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1dff0e-e002-0a2a0a5209dd-0a2a45039598-28
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 23:52:48 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1dff30-672d-0a2a45030019-5a9b3222864c-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 23:52:48 +0200
Received: from [2001:8b0:10b:5:5b40:b57d:669c:36f4]
 (helo=u09cd745991455d.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wUAYn-00000000pMX-3ehY; Mon, 01 Jun 2026 21:52: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="MIME-Version:Content-Type:in-reply-to:Date:Cc:To:From:Subject:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:in-reply-to:
	Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:Content-Transfer-Encoding:
	Content-ID:Content-Description:References;
	bh=qwI0d9pg7XA2P4362wILoC9WXidhFb7iDUnP/ukwwdw=; b=ifIHtpRihoV67WcYXg9nMTzGNM
	ooiCKUzpcxVsOwTEgeRHQtyeKZtGXv54iVmLo+FU3qLFdYVcdprEqvBexXLH+mZ6J3Z5lGvjlz4Lb
	peR9tL6VuR83SNct7cx9AsJ3tfrLJx/Nhq2DoArl37al3CiIkAqryuTrauKHYefA86sN9bsClG8fC
	UTnec3K8E6dCFBjXop5RPcmPCC24oNLTaGqYn/hjJcSymTtbGhANbcxzjhOnARYctLn71TdE8ucTE
	u5o4nYSp6fQKmVzsEWjjMQXfCJzpyXAgEyYNjlDPn1s85O4vaDiqjdfyqSVtDquZk4QqiW77KYGwR
	IQ0zxUKA==;
Message-ID: <bf9178179228d72d1db192df647e4d19f87e087b.camel@infradead.org>
Subject: Re: [PATCH v4 13/47] x86/tsc: Fold native_calibrate_cpu() into
 recalibrate_cpu_khz()
From: David Woodhouse <dwmw2@infradead.org>
To: seanjc@google.com
Cc: pbonzini@redhat.com, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, 
 dave.hansen@linux.intel.com, x86@kernel.org, kas@kernel.org,
 kys@microsoft.com,  haiyangz@microsoft.com, wei.liu@kernel.org,
 decui@microsoft.com,  longli@microsoft.com, ajay.kaher@broadcom.com,
 alexey.makhalov@broadcom.com,  jan.kiszka@siemens.com, luto@kernel.org,
 peterz@infradead.org, jgross@suse.com,  daniel.lezcano@kernel.org,
 jstultz@google.com, hpa@zytor.com,  rick.p.edgecombe@intel.com,
 vkuznets@redhat.com,  bcm-kernel-feedback-list@broadcom.com,
 boris.ostrovsky@oracle.com,  sboyd@kernel.org, kvm@vger.kernel.org,
 linux-kernel@vger.kernel.org,  linux-coco@lists.linux.dev,
 linux-hyperv@vger.kernel.org,  virtualization@lists.linux.dev,
 xen-devel@lists.xenproject.org,  dwmw@amazon.co.uk,
 thomas.lendacky@amd.com, nikunj@amd.com, dwmw2@infradead.org, 
 mhklinux@outlook.com, tglx@linutronix.de
Date: Mon, 01 Jun 2026 22:52:37 +0100
in-reply-to: <20260529144435.704127-14-seanjc@google.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-j4msE9OBNDx+ePJxHQN3"
User-Agent: Evolution 3.52.3-0ubuntu1.1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-33051d/1780350768-37D4B938-B78C8DC3/0/0
X-purgate-type: clean
X-purgate-size: 7780


--=-j4msE9OBNDx+ePJxHQN3
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 29 May 2026 07:44:00 -0700, Sean Christopherson wrote:
> Fold the guts of native_calibrate_cpu() into its sole remaining caller,
> recalibrate_cpu_khz() to eliminate the extra SMP=3Dn #ifdef, and so that =
it's
> more obvious that directly invoking the early vs. late calibration routin=
es
> in determine_cpu_tsc_frequencies() is intentional.
>
> No functional change intended.
>
> Signed-off-by: Sean Christopherson <seanjc@google.com>

Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>


--=-j4msE9OBNDx+ePJxHQN3
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
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI2MDYwMTIxNTIz
N1owLwYJKoZIhvcNAQkEMSIEIDN/fxd/KFAJJ7SvbckNUiOWmi6WbKtvGOjd6THGX1/HMGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIATrqVzioovKMD
QxyQPP90KVKZnjCXWT2avZarcs5/yoJ7R8PgvQvtTL0lg4xH2FFJWP9M5tLtctca8i0N8CT7aC8T
6Ju64WE1HyoOzEL3NLqwDoUhBQGYlvoTFQsEKIkFyHu/jNvS1qIOoPtCoVKP2XI2+wtIpmSqJM9n
EWsAX7z480bO/uDUQVJhRWXCRcl6QkwUVCw+RRR94kA3FciU5KDjGchp/angWKSffAN2LVF2w9jp
0J9vwzO3bdQccKnW6/ApmmW5pHsQZc3tIqvpB/JIV+4irIk3tuCjTxEV3fS80aMHxPT6Pw5S/6pb
u0Q0Iw6lqL+T0jRgsP/E8oamOjkE2nsc+7+YpWP6LsXUZ6PkwHrHOCCAbiDW252odIRQR3NbDvYN
VIXBHH4Awutbk9SBuIXGVW7QG58UR98G7jMJOOZe5Qfdydv3v6DuzfqYJUGKAtc/j4NI395Ebkzg
RvhXuqo8rzG/nKWPySxebZb6x2ZOo0rf3V48YfyIO1QEAJ9xs1muVmc9A5ZZAmffmu+2lFGnhuKP
RHcJL3bYlryfNwfRZpq/GTMUO9IBatsVamSDN5KvjcBMNHicOIfRhFMTqGAPlQIQ6bGlKyLWzX27
GuUuPgq5wN8yYP2R/2D7vaAwomtk3C49YUFC65Qnxbku1NbRvWitUi44hKR+OtcAAAAAAAA=


--=-j4msE9OBNDx+ePJxHQN3--


From xen-devel-bounces@lists.xenproject.org Mon Jun 01 21:53:01 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 21:53:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324155.1589821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUAZB-0007Ec-9T; Mon, 01 Jun 2026 21:53:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324155.1589821; Mon, 01 Jun 2026 21:53: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 1wUAZB-0007EV-4u; Mon, 01 Jun 2026 21:53:01 +0000
Received: by outflank-mailman (input) for mailman id 1324155;
 Mon, 01 Jun 2026 21:52:59 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wUAZ9-0007Dk-Os
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 21:52:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUAZ9-00ElxF-5Z
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 23:52:59 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1dff28-bab6-0a2a0a5309dd-0a2a4505c4a0-14
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 23:52:58 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1dff36-aaa8-0a2a45050019-5a9b32228b8a-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 23:52:54 +0200
Received: from [2001:8b0:10b:5:5b40:b57d:669c:36f4]
 (helo=u09cd745991455d.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wUAYw-00000000pN2-1EGX; Mon, 01 Jun 2026 21:52: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="MIME-Version:Content-Type:in-reply-to:Date:Cc:To:From:Subject:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:in-reply-to:
	Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:Content-Transfer-Encoding:
	Content-ID:Content-Description:References;
	bh=6Fm3/kKIutjYCp/GHWX8bbs6lxI2f2V3d3GUmiswKdY=; b=mDopZKk2zoOba2k9mB3kfx9OLA
	d6ttBFY88R5yjsjPDHZ9MOCB5sD/spwq1cx+G/bbeElfERX1XqkIKGFWAPbpMrlj36r2L/P2fOuJN
	U0urGJPMGZaoXVfk6rdgSAtMVsb/XA2q4KVeh2ukJi4uoS1Ruab3yhTZUJfEF9+Dshf+Nw+PDo2QW
	Jg/FyV/5Z0+2NdoGmsrLB2MW64yh9Nn/rG74Z9gLVJuzpgKb+wIyi0kwY9AuWFQLkDy479t8fLCFh
	esbVas2ULclc024H1EaReCouj4Haadvpq8R4RuI1G/ZIlGCyYZfmrsqJdauAwyEPi4MxdYmAoTQBl
	NygQJqZQ==;
Message-ID: <429f149dac50e96c175669e13faa258dd05efcd3.camel@infradead.org>
Subject: Re: [PATCH v4 12/47] x86/tsc: Rename
 pit_hpet_ptimer_calibrate_cpu() => native_calibrate_cpu_late()
From: David Woodhouse <dwmw2@infradead.org>
To: seanjc@google.com
Cc: pbonzini@redhat.com, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, 
 dave.hansen@linux.intel.com, x86@kernel.org, kas@kernel.org,
 kys@microsoft.com,  haiyangz@microsoft.com, wei.liu@kernel.org,
 decui@microsoft.com,  longli@microsoft.com, ajay.kaher@broadcom.com,
 alexey.makhalov@broadcom.com,  jan.kiszka@siemens.com, luto@kernel.org,
 peterz@infradead.org, jgross@suse.com,  daniel.lezcano@kernel.org,
 jstultz@google.com, hpa@zytor.com,  rick.p.edgecombe@intel.com,
 vkuznets@redhat.com,  bcm-kernel-feedback-list@broadcom.com,
 boris.ostrovsky@oracle.com,  sboyd@kernel.org, kvm@vger.kernel.org,
 linux-kernel@vger.kernel.org,  linux-coco@lists.linux.dev,
 linux-hyperv@vger.kernel.org,  virtualization@lists.linux.dev,
 xen-devel@lists.xenproject.org,  dwmw@amazon.co.uk,
 thomas.lendacky@amd.com, nikunj@amd.com, dwmw2@infradead.org, 
 mhklinux@outlook.com, tglx@linutronix.de
Date: Mon, 01 Jun 2026 22:52:45 +0100
in-reply-to: <20260529144435.704127-13-seanjc@google.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-9sUrUKJ02DeFXxxg/2FR"
User-Agent: Evolution 3.52.3-0ubuntu1.1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-c201ff/1780350775-E0C65443-8DE5625F/0/0
X-purgate-type: clean
X-purgate-size: 7608


--=-9sUrUKJ02DeFXxxg/2FR
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 29 May 2026 07:43:59 -0700, Sean Christopherson wrote:
> Rename the late CPU calibration routine so that its relationship to the
> early routine is more obvious and intuitive.
>
> No functional change intended.
>
> Signed-off-by: Sean Christopherson <seanjc@google.com>

Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>


--=-9sUrUKJ02DeFXxxg/2FR
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
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI2MDYwMTIxNTI0
NVowLwYJKoZIhvcNAQkEMSIEIFEI4f4RCVWP6zBrsrf/FjkAcdusc0exZker8TAtupWtMGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIA1M36tELEp1pI
jcP9DPpsJhn0nA5B3V9VmwIn8K0wnCJd5ecW7KkPiN0AVRR88vxDK4owniLFhUY9LkKeeKYTJbHh
3lwrMPee4WOJDtZMiHivxomNHRz2mk0uU9YYw1b8rGrsJjyl0i6btOdpSlixQfcKJixDcO/sfocl
AELSDk+TnwMPgbRKzXX7O/nbYQqGitfPS626G05jAw9Agv5Q5+VQQ4WfRMq5Pwdoz8LwsnEp9+W6
wCtnyomqlb0kS6Xl/Esv4m/sp9Ow8GclyoeB++Q6H4Txet2lYJ1+xqoWIJhU75dIC1k9iYbKvZ3v
8Nmr/YwH+XQQBMpJp6nwG1j3g8GcFR4pbp62aCDIQE4WgqwznSLHSqR6X+HLv6d6qqFJh+lao3QF
BFnnyk58Vu2aYbx94sjpTWgdk52ubLlHwysAuiBXduq1U+sGWk1ximu6dedbQ78zivN5TdxZ3gpu
bn+lxnwg9Nkh0WVN4nynmAH6YNTCTsegk8hJpzC1O/dybBhrj7YSe1H3tEu2cP/nRDMMtpca+Ii3
5VZuMyyTfZLofxSRfQQF0qYdDz8ar4icgT7CuLpTNWxuvfn8Z2r7HJO42PMcrh9c9WIruwxqeOY9
3EMTj53yTdGflqXZiJMwdwyETEHh99kbbiJ/8uiYihR9tM24UqqieesK9LmqZbUAAAAAAAA=


--=-9sUrUKJ02DeFXxxg/2FR--


From xen-devel-bounces@lists.xenproject.org Mon Jun 01 21:53:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 21:53:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324164.1589831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUAZu-0007wr-Li; Mon, 01 Jun 2026 21:53:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324164.1589831; Mon, 01 Jun 2026 21: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 1wUAZu-0007wi-HR; Mon, 01 Jun 2026 21:53:46 +0000
Received: by outflank-mailman (input) for mailman id 1324164;
 Mon, 01 Jun 2026 21:53:45 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wUAZt-0007wV-25
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 21:53:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUAZs-00C4PN-FC
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 23:53:44 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1dff25-5cb7-0a2a0a5109dd-0a2a45069d7e-30
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 23:53:44 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1dff67-7371-0a2a45060019-5a9b32229fca-3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Jun 2026 23:53:44 +0200
Received: from [2001:8b0:10b:5:5b40:b57d:669c:36f4]
 (helo=u09cd745991455d.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wUAZh-00000000pPV-10Il; Mon, 01 Jun 2026 21:53: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="MIME-Version:Content-Type:in-reply-to:Date:Cc:To:From:Subject:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:in-reply-to:
	Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:Content-Transfer-Encoding:
	Content-ID:Content-Description:References;
	bh=GoanKxmvTohkZisXqmeG1dBKj46gfnWDhnG4X856XEo=; b=C2JoFp8poaNsTCrcpFtLNwLCKG
	wlJ53Hs31wEF4MLSrgTHLegESScCH3j2KSzQID+DxfDFMc7g3OT38Sjg23UekiP+kvJwH9C8DRHLL
	XqW3eMcbKncMohB8HMonDlksq+o9yElY9eFTeKO6DuSITsi+vn9dlYKFS72YgjcpIEemQ+EnIRoOb
	bESIyqt5G0WE2eIV7I3jk0/pk91ilPeErY4i9kGFkfiBnDaC+EDlRN9ELTA3wLQ/bRbL5zFX4FJTQ
	7c7UJi/9rAKzyBhdRzxxHw9Tabr8jMoe4X429xo5C8f2ci+3fMMW3HQeZB3SamjWf9g+qHvZOaBZG
	615G1OhQ==;
Message-ID: <0f9966f6992be461e5ba0e6378a5ce86b17ee66e.camel@infradead.org>
Subject: Re: [PATCH v4 14/47] x86/kvmclock: Rename kvm_get_tsc_khz() to
 kvmclock_get_tsc_khz()
From: David Woodhouse <dwmw2@infradead.org>
To: seanjc@google.com
Cc: pbonzini@redhat.com, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, 
 dave.hansen@linux.intel.com, x86@kernel.org, kas@kernel.org,
 kys@microsoft.com,  haiyangz@microsoft.com, wei.liu@kernel.org,
 decui@microsoft.com,  longli@microsoft.com, ajay.kaher@broadcom.com,
 alexey.makhalov@broadcom.com,  jan.kiszka@siemens.com, luto@kernel.org,
 peterz@infradead.org, jgross@suse.com,  daniel.lezcano@kernel.org,
 jstultz@google.com, hpa@zytor.com,  rick.p.edgecombe@intel.com,
 vkuznets@redhat.com,  bcm-kernel-feedback-list@broadcom.com,
 boris.ostrovsky@oracle.com,  sboyd@kernel.org, kvm@vger.kernel.org,
 linux-kernel@vger.kernel.org,  linux-coco@lists.linux.dev,
 linux-hyperv@vger.kernel.org,  virtualization@lists.linux.dev,
 xen-devel@lists.xenproject.org,  dwmw@amazon.co.uk,
 thomas.lendacky@amd.com, nikunj@amd.com, dwmw2@infradead.org, 
 mhklinux@outlook.com, tglx@linutronix.de
Date: Mon, 01 Jun 2026 22:53:32 +0100
in-reply-to: <20260529144435.704127-15-seanjc@google.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-9faS21P7Idptdc1OVeaT"
User-Agent: Evolution 3.52.3-0ubuntu1.1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-16d1c6/1780350824-7FF7BD75-631C4FDA/0/0
X-purgate-type: clean
X-purgate-size: 7669


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

On Fri, 29 May 2026 07:44:01 -0700, Sean Christopherson wrote:
> Rename kvm_get_tsc_khz() to kvmclock_get_tsc_khz() in anticipation of
> adding support for getting TSC info from PV CPUID, i.e. in a KVM specific
> way, but without non-kvmclock.
>
> No functional change intended.
>
> Signed-off-by: Sean Christopherson <seanjc@google.com>

Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>


--=-9faS21P7Idptdc1OVeaT
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
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI2MDYwMTIxNTMz
MlowLwYJKoZIhvcNAQkEMSIEIHWrrMf4r0ururV6eNzfXTvB3/gZjoVtElcdh9Iaz1iiMGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIAOfIZ0AFf2X+X
RFDhcmxoXb7B3lSHSW1mbUUb55Jc4ad08GTydNjHaeQhiqZt/e61h5dNLY5Nh4eMsoYGnk9fOxCU
rzrNWEX0EaxYBYD2LhVagIO/qZGrUTOkrmZ24el1kVWLSCSPxJDwwcaKX9I7aDKcG8LIpA7avAky
Mff3oBg2R4FKwVPxOSqaj43MlYOF6bJK0wDcK53MEc6PuXOezz+uDzX5QCLCR48NWXpSi/tsYVqW
2RwRrpH+u+6CLAEVlUEVUCl8P2TOANvt0gfh20TdniJVaj/TCLeLqVV+6EKBXvY6/nlzsH9DhdIB
/DqLhg9G7shy9OySsJ+0kfzUHljmtQ2wWEBP64DDYinhRh35J/EiRKnSJwLD0KzXIwfBcy5D8XZZ
aMdBqlqVNUIoxghRx9rgFSBOAbL/BrmN1KHcGARrK8+z3bhwR81qidOAptvSsUNOcgSuWmkyz5en
Yjxin9/S484q+NtIgty7Sattf4Z4SIoYk9wFupYNY5J7yVgOo2CnyGqMxy/WJ8iqfemkjvphsFln
f/lQX4INd0mLwmty4+EzcZ7YAGTsMxptkcCFL3nMXFJjTZlbfWN0Y1dl7AqjknquwkWCDt+ZnpT8
2GzWedkJfqj5bGZswo1jqJ0Shoy5OrQ+vm1w+hMoWEAXqyBbfgn9OG+shju87PQAAAAAAAA=


--=-9faS21P7Idptdc1OVeaT--


From xen-devel-bounces@lists.xenproject.org Mon Jun 01 22:03:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 22:03:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324178.1589840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUAik-0001TO-NM; Mon, 01 Jun 2026 22:02:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324178.1589840; Mon, 01 Jun 2026 22: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 1wUAik-0001TH-KZ; Mon, 01 Jun 2026 22:02:54 +0000
Received: by outflank-mailman (input) for mailman id 1324178;
 Mon, 01 Jun 2026 22:02:52 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wUAii-0001TB-MU
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 22:02:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUAii-008Zs2-3F
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 00:02:52 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1e018a-5cb7-0a2a0a5109dd-0a2a450b9768-2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 00:02:51 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1e018b-212f-0a2a450b0019-5a9b3222ed54-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 00:02:51 +0200
Received: from [2001:8b0:10b:5:5b40:b57d:669c:36f4]
 (helo=u09cd745991455d.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wUAiR-00000000q8s-2rmz; Mon, 01 Jun 2026 22:02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="MIME-Version:Content-Type:in-reply-to:Date:Cc:To:From:Subject:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:in-reply-to:
	Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:Content-Transfer-Encoding:
	Content-ID:Content-Description:References;
	bh=YMtAUyyHU1vX6B9UP1RiyOa1m3GMSAdDk5Oub0dmiXc=; b=gLXgZ+EIer010zqfWvK04DOLCY
	zEKZA4v0jFQapNFzT8sXvPdJQLBPlpZXWawYAan48r1VMg+CKaLW+Ux5H+6UOjKJ+Z84OZn6GSokw
	d7xsVLZ/zg0Aar/XcHsCtZugOG7CWvdahBg6B1DKmnVzGD7UO00y7Qmn6Ka1GJH9PDlv4wMAPp5Mt
	OoQ2tgSiyjbObhsbVvEZpSaTFxFOFRAmMEThIx/1z7Qn7v9Qc/qO/BGyxG38wjYIEjhx4bjejy3uq
	u7IeskRA9SuJ7cSa7OCD7DHta3/+e5kR1xsLIT4lSjOtW+uOzZ+ggP6aDut1U0m33RSoZKVBY6wTp
	NxoFVYEw==;
Message-ID: <58abd0584ce23d4d2f65be68c2d36351326c955f.camel@infradead.org>
Subject: Re: [PATCH v4 17/47] x86/kvm: Mark TSC as reliable when it's
 constant and nonstop
From: David Woodhouse <dwmw2@infradead.org>
To: seanjc@google.com
Cc: pbonzini@redhat.com, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, 
 dave.hansen@linux.intel.com, x86@kernel.org, kas@kernel.org,
 kys@microsoft.com,  haiyangz@microsoft.com, wei.liu@kernel.org,
 decui@microsoft.com,  longli@microsoft.com, ajay.kaher@broadcom.com,
 alexey.makhalov@broadcom.com,  jan.kiszka@siemens.com, luto@kernel.org,
 peterz@infradead.org, jgross@suse.com,  daniel.lezcano@kernel.org,
 jstultz@google.com, hpa@zytor.com,  rick.p.edgecombe@intel.com,
 vkuznets@redhat.com,  bcm-kernel-feedback-list@broadcom.com,
 boris.ostrovsky@oracle.com,  sboyd@kernel.org, kvm@vger.kernel.org,
 linux-kernel@vger.kernel.org,  linux-coco@lists.linux.dev,
 linux-hyperv@vger.kernel.org,  virtualization@lists.linux.dev,
 xen-devel@lists.xenproject.org,  dwmw@amazon.co.uk,
 thomas.lendacky@amd.com, nikunj@amd.com, dwmw2@infradead.org, 
 mhklinux@outlook.com, tglx@linutronix.de, sashiko-reviews@lists.linux.dev
Date: Mon, 01 Jun 2026 23:02:35 +0100
in-reply-to: <ahnhnjvfIblFxTFX@google.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-UCq5TPNq7HWqnoTOeAX/"
User-Agent: Evolution 3.52.3-0ubuntu1.1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-42698a/1780351371-20678F3B-55AF75F4/0/0
X-purgate-type: clean
X-purgate-size: 9346


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

On Fri, 29 May 2026 11:57:34 -0700, Sean Christopherson wrote:
> On Fri, May 29, 2026, sashiko-bot@kernel.org wrote:
> > > diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
> > > index 909d3e5e5bcd5..4fe9c69bf40b3 100644
> > > --- a/arch/x86/kernel/kvm.c
> > > +++ b/arch/x86/kernel/kvm.c
> > [ ... ]
> > > @@ -1040,7 +1041,20 @@ static void __init kvm_init_platform(void)
> > [ ... ]
> > > -	kvmclock_init();
> > > +        /*
> > > +         * If the TSC counts at a constant frequency across P/T stat=
es, counts
> > > +         * in deep C-states, and the TSC hasn't been marked unstable=
, treat the
> > > +         * TSC reliable, as guaranteed by KVM.  Note, the TSC unstab=
le check
> > > +         * exists purely to honor the TSC being marked unstable via =
command
> > > +         * line, any runtime detection of an unstable will happen af=
ter this.
> > > +         */
> > > +	tsc_is_reliable =3D boot_cpu_has(X86_FEATURE_CONSTANT_TSC) &&
> > > +			  boot_cpu_has(X86_FEATURE_NONSTOP_TSC) &&
> > > +			  !check_tsc_unstable();
> >=20
> > [Severity: High]
> > Does this evaluate check_tsc_unstable() too early to catch the command =
line
> > parameter?
>=20
> Huh, it does indeed.
>=20
> > It looks like kvm_init_platform() is called from setup_arch(), but the
> > tsc=3Dunstable kernel parameter is parsed via __setup() later during
> > parse_args() in start_kernel().
> >=20
> > If check_tsc_unstable() evaluates to 0 here because the parameter hasn'=
t
> > been parsed yet, wouldn't it incorrectly force X86_FEATURE_TSC_RELIABLE
> > and set prefer_tsc to true?
>=20
> Yep, but this is a pre-existing problem that goes all the way back to the=
 original
> commit 7539b174aef4 ("x86: kvmguest: use TSC clocksource if invariant TSC=
 is exposed").
>=20
> We could try to fix that, but I'm _very_ strongly inclined to add (yet an=
other)
> patch to simply drop the check_tsc_unstable() since it has always been de=
ad code.

Yeah, kill it with fire.

Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>


--=-UCq5TPNq7HWqnoTOeAX/
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
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI2MDYwMTIyMDIz
NVowLwYJKoZIhvcNAQkEMSIEIKBm6ajC7RcOXC7t5vZvHSGBZYpyi47wdtAkxJaD6hJLMGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIAgXF7gHyX/lqK
I8HOZ55Kr4SVmD13J1PQOj4PZYOWdMb8kBR5IRoOKP14j7o9g4BONnYMrHzxgKS06MKy0OM4Sv3/
3EUGIbTIBShSYSvHRv+LAouZvutGTwXOnvLo5TB1neyb+bwMTDGxl7hk67XRi4UTYQ0QXOu7GEoV
BtQ9ZLZHXCRBn82l5EhPmzcgWujlgZ50EJyhYQFvoHTrw8F5ONved7BNzozfRiAFBSRxmhf1CicK
kP111ompP+Gmnwq3WfUhAFSBm0A6Jnm/horZAWqMp6a/ldE9ts8QvBS86ZUDzTAWjIBjXbmlb6Rf
5f48cSfFuN/SpPA8IKp/YI7oMU1b6JSmbXxTdAsyRHqdXM777048iSEDaSr93uooiSzV2q1f2nKC
lWfv1fAM+e0jEi5G9F27bEnZoV6z2Gr7STQD8BDH+MDCEbGWc81GMBJs6QYwwYUJPVsaFd1e3hcM
BugpKxzghABauGakfQcJfoytls1Y42nRcx9HFRZmjaNQsgdhkJsme2cHuqJo7RSTj0NP0JW8D3b1
Yxg77GR+T5T5oNFva20Rd2IYwDaLwTioAj+PsXi4Sl265DcXQxxd7s49vbQ75WAIh+2rStNO6hO1
atp6VHA+VYybiTkFCq9hjW18vYNf6/QJcFL9zpZk5xRufxTScygBv3n+jZudflsAAAAAAAA=


--=-UCq5TPNq7HWqnoTOeAX/--


From xen-devel-bounces@lists.xenproject.org Mon Jun 01 22:07:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 22:07:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324185.1589849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUAmu-0002Lb-7N; Mon, 01 Jun 2026 22:07:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324185.1589849; Mon, 01 Jun 2026 22: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 1wUAmu-0002LT-42; Mon, 01 Jun 2026 22:07:12 +0000
Received: by outflank-mailman (input) for mailman id 1324185;
 Mon, 01 Jun 2026 22:07:11 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wUAmt-0002KW-6N
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 22:07:11 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUAms-009oG9-FV
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 00:07:10 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1e0281-e002-0a2a0a5209dd-0a2a4506d140-14
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 00:07:09 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1e028d-7371-0a2a45060019-5a9b3222e41c-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 00:07:09 +0200
Received: from [2001:8b0:10b:5:5b40:b57d:669c:36f4]
 (helo=u09cd745991455d.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wUAmg-00000000qW6-2SRM; Mon, 01 Jun 2026 22:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="MIME-Version:Content-Type:in-reply-to:Date:Cc:To:From:Subject:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:in-reply-to:
	Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:Content-Transfer-Encoding:
	Content-ID:Content-Description:References;
	bh=zPnCaG2KGMZC9YyPLn9sdd9npi8eCrVJyGN29QAVgy0=; b=t62oEaJ/aPeIDVcyEEtHw6Lxb6
	fruWu8IIee9Iv2650mgbNQLCPnGDdUBtRcSSzFbC96dLr3AOv5OvEHHDRNKe38ZylQNxQz8uzvc4a
	+hv/foOzcjmg+YPnLUhkfbfFL4wangKqe+ScFyDgGqJybWT2HbEs/8xJJafpa7M8XMHIZ5I2rr8T1
	c3lRNR0H3/aRnKtVYploOjQS7JzOJxy6qqUcgDKm/1aK7PVDf+KBsnS9Z9cpDCfgXWDGk2hiNhkGm
	pKkhrRbrUsAorjmX989lblbOOrE1MBMttAkHANcZgNe9jt4JdU1nGyh4WT7/5Ck6nAFq1p1veukOi
	hGU38k9A==;
Message-ID: <b191a0979c3cc1a417b3929c97d8d1c9e8de5062.camel@infradead.org>
Subject: Re: [PATCH v4 18/47] x86/kvm: Get local APIC bus frequency from PV
 CPUID Timing Info
From: David Woodhouse <dwmw2@infradead.org>
To: seanjc@google.com
Cc: pbonzini@redhat.com, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, 
 dave.hansen@linux.intel.com, x86@kernel.org, kas@kernel.org,
 kys@microsoft.com,  haiyangz@microsoft.com, wei.liu@kernel.org,
 decui@microsoft.com,  longli@microsoft.com, ajay.kaher@broadcom.com,
 alexey.makhalov@broadcom.com,  jan.kiszka@siemens.com, luto@kernel.org,
 peterz@infradead.org, jgross@suse.com,  daniel.lezcano@kernel.org,
 jstultz@google.com, hpa@zytor.com,  rick.p.edgecombe@intel.com,
 vkuznets@redhat.com,  bcm-kernel-feedback-list@broadcom.com,
 boris.ostrovsky@oracle.com,  sboyd@kernel.org, kvm@vger.kernel.org,
 linux-kernel@vger.kernel.org,  linux-coco@lists.linux.dev,
 linux-hyperv@vger.kernel.org,  virtualization@lists.linux.dev,
 xen-devel@lists.xenproject.org,  dwmw@amazon.co.uk,
 thomas.lendacky@amd.com, nikunj@amd.com, dwmw2@infradead.org, 
 mhklinux@outlook.com, tglx@linutronix.de, sashiko-reviews@lists.linux.dev
Date: Mon, 01 Jun 2026 23:06:58 +0100
in-reply-to: <ahnZ8tuHFVFTeofW@google.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-+UfElTLCW4TFz4pMCPqB"
User-Agent: Evolution 3.52.3-0ubuntu1.1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-16d1c6/1780351629-8D186D75-38F9CE9E/0/0
X-purgate-type: clean
X-purgate-size: 9047


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

On Fri, 29 May 2026 11:24:50 -0700, Sean Christopherson wrote:
> On Fri, May 29, 2026, sashiko-bot@kernel.org wrote:
> > > diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
> > > index 4fe9c69bf40b3..c1139182121d5 100644
> > > --- a/arch/x86/kernel/kvm.c
> > > +++ b/arch/x86/kernel/kvm.c
> >=20
> > [ ... ]
> >=20
> > > @@ -1039,6 +1040,13 @@ static void __init kvm_init_platform(void)
> > >                     x86_init.hyper.get_tsc_khz =3D kvm_get_tsc_khz;
> > >                     x86_init.hyper.get_cpu_khz =3D kvm_get_tsc_khz;
> > >             }
> > > +
> > > +#ifdef CONFIG_X86_LOCAL_APIC
> > > +           /* The leaf also includes the local APIC bus/timer freque=
ncy.*/
> > > +           apic_khz =3D cpuid_ebx(timing_info_leaf);
> > > +           if (apic_khz)
> > > +                  lapic_timer_period =3D apic_khz * 1000 / HZ;
> >=20
> > [Severity: High]
> > Could the intermediate multiplication of apic_khz * 1000 overflow here?
> >=20
> > Since apic_khz is a u32, the multiplication is evaluated in 32-bit unsi=
gned
> > arithmetic. If the hypervisor reports an APIC timer frequency greater t=
han
> > ~4.29 GHz (apic_khz > 4294967), this calculation will silently overflow=
.
>=20
> Hmm, easy enough to use mul_u64_u32_div() (I think that's the write helpe=
r for
> this?).

Yep.

> But this problem pre-exits in almost every other path that sets lapic_tim=
er_period.
> So while I tried to avoid doing yet more tangentially related cleanup, it=
 seems
> like adding a helper to set lapic_timer_period is the way to go.  That wo=
uld also
> allow making lapic_timer_period local to arch/x86/kernel/apic/apic.c.
>=20
> *sigh*

Yay, more patches!

Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>


--=-+UfElTLCW4TFz4pMCPqB
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
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI2MDYwMTIyMDY1
OFowLwYJKoZIhvcNAQkEMSIEIMU6xaTjbpgt4vK2LdUS8P2LSXI0ILHBrZxCssbtnWs7MGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIAMiRBq95A32ZO
4WGUlOKShEKcAkCoJ65HOOiikHN/JUFzxfUM1CXwTBW6fX7eYZwEMhbfIoqpD/R45vNrCu67sssf
8uDVCQJoOHacRyznkDKTRMdPSE0T7gXjFjwXkGo9yeeWp52IjyJwlXDYFEjIIQXM6SJTh36C47jT
24FeZAaZHoipW/4CQIe6Fewozs6PSUoG0D8aNLl4NSftgtoQX3dkHJLTFCqFuU7fgagha8kRzfDG
nlxH3nfrxW0rw6fmXB+435m6S2Lx8vthMFYJ5B1uwm8/JlNL74OpxdmmKXu3/sCYFwXaQxZJs8tb
hU4zi8Boru2eObxnNAeU0nU/zhJwv1miZwexIweHhAeUtKsW5v2XKkqDnVNECL8FwklbIdMdjyX1
3yU7qZX/e/JK2jAr2Qkp+RStwPz3DPLeSXjfJf0WaWQgnLL4x1sXgkTc1yAmtypZ1os5hJng53eV
YFljdFYjaydL8dvERzbbrX1OCn/7VgXbp/D72pZUMztnbIGbxWuK1P85IdH+J+z8e7iDcl+nwo8d
O8B72v+HPWmzp0GcQ3zNtE3hEl7tGk6jZPSXXJaVKslYDNnC4uSv16/b2JOvWb+ekU3trZrqVgm9
NKS5W6Qmg5psDtelcrkqpqfUK4hjyC8VXNPZv/b2PastfkaUNT2qe25oBc9VWzsAAAAAAAA=


--=-+UfElTLCW4TFz4pMCPqB--


From xen-devel-bounces@lists.xenproject.org Mon Jun 01 22:09:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 22:09:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324192.1589858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUApE-00035v-IN; Mon, 01 Jun 2026 22:09:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324192.1589858; Mon, 01 Jun 2026 22:09: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 1wUApE-00035o-Fk; Mon, 01 Jun 2026 22:09:36 +0000
Received: by outflank-mailman (input) for mailman id 1324192;
 Mon, 01 Jun 2026 22:09:35 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wUApB-00035i-9B
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 22:09:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUApA-008bcC-MS
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 00:09:32 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1e0317-bab6-0a2a0a5309dd-0a2a4508eace-10
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 00:09:31 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1e031b-63b5-0a2a45080019-5a9b3222edce-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 00:09:31 +0200
Received: from [2001:8b0:10b:5:5b40:b57d:669c:36f4]
 (helo=u09cd745991455d.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wUAoz-00000000qcM-01rU; Mon, 01 Jun 2026 22:09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="MIME-Version:Content-Type:in-reply-to:Date:Cc:To:From:Subject:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:in-reply-to:
	Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:Content-Transfer-Encoding:
	Content-ID:Content-Description:References;
	bh=bK+deqYMHh6dIwA6v3B9GBiH7GVvQc5d18CuIzhNf5A=; b=d6ToEm4S5gSgWkLTTivvk/zDM4
	YoLrodhcWCccDjSdtjWsDh5umRUptOVmOo1dVOIqtu1hu8vmc8avULFBSto8qjktEgz6eCc1FLMYv
	ewDkRjCqbe05kiRR7cGBWhkPB9CrVjpHHd3QU5jnpmMgMkxewz0Dh76O4JMXx13rPLoP30Ym9b/Ll
	m5YUuEfXzNpohVIM8zXkidLM1g+pvUOJvTmR5JZwI+Jrdb35JoXteg5WUPH6fvkukvay7bzNbNktm
	vObij1z2uJrN5U0ugbRM7dBbi70Qi6JSoWlzs/cwjsioM0s4ZgEKSHnURns+z+EfgUzrDDtsfa4xr
	0UsxiUGA==;
Message-ID: <0518969877d6f6ab74e2b84e86b3a41671d2a405.camel@infradead.org>
Subject: Re: [PATCH v4 31/47] x86/vmware: NOP-ify save/restore hooks when
 using VMware's sched_clock
From: David Woodhouse <dwmw2@infradead.org>
To: seanjc@google.com
Cc: pbonzini@redhat.com, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, 
 dave.hansen@linux.intel.com, x86@kernel.org, kas@kernel.org,
 kys@microsoft.com,  haiyangz@microsoft.com, wei.liu@kernel.org,
 decui@microsoft.com,  longli@microsoft.com, ajay.kaher@broadcom.com,
 alexey.makhalov@broadcom.com,  jan.kiszka@siemens.com, luto@kernel.org,
 peterz@infradead.org, jgross@suse.com,  daniel.lezcano@kernel.org,
 jstultz@google.com, hpa@zytor.com,  rick.p.edgecombe@intel.com,
 vkuznets@redhat.com,  bcm-kernel-feedback-list@broadcom.com,
 boris.ostrovsky@oracle.com,  sboyd@kernel.org, kvm@vger.kernel.org,
 linux-kernel@vger.kernel.org,  linux-coco@lists.linux.dev,
 linux-hyperv@vger.kernel.org,  virtualization@lists.linux.dev,
 xen-devel@lists.xenproject.org,  dwmw@amazon.co.uk,
 thomas.lendacky@amd.com, nikunj@amd.com, dwmw2@infradead.org, 
 mhklinux@outlook.com, tglx@linutronix.de
Date: Mon, 01 Jun 2026 23:09:20 +0100
in-reply-to: <20260529150753.714296-1-seanjc@google.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-cGAALZ5GoBDdaEtrbV44"
User-Agent: Evolution 3.52.3-0ubuntu1.1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-c1860d/1780351771-B6975DB1-5964127B/0/0
X-purgate-type: clean
X-purgate-size: 7900


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

On Fri, 29 May 2026 08:07:52 -0700, Sean Christopherson wrote:
> NOP-ify the sched_clock save/restore hooks when using VMware's version of
> sched_clock.  This will allow extending paravirt_set_sched_clock() to set
> the save/restore hooks, without having to simultaneously change the
> behavior of VMware guests.
>
> Note, it's not at all obvious that it's safe/correct for VMware guests to
> do nothing on suspend/resume, but that's a pre-existing problem.  Leave i=
t
> for a VMware expert to sort out.
>
> Signed-off-by: Sean Christopherson <seanjc@google.com>

Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>


--=-cGAALZ5GoBDdaEtrbV44
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
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI2MDYwMTIyMDky
MFowLwYJKoZIhvcNAQkEMSIEIIWwP1o9YwEynD8mawmZ9eIPloWCBiPNa8DscTZagt+6MGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIAOLnm1tyeHYNq
vnWvRFrGyqvigAWIB5eeYKzgAJsXIO2NR0MD1y7R2bUeoDeoySNb2uuIqFzFF2T70QcbFOJODiHm
SoPy5Ec7FHFxC+ZefWbeQEmV2LC02gEm6Kavzj0QWpzbd/DejjxIuvu4EbOWsY4W/wVe5EoSmmL2
ChkkBcHHYaMKuzV1J/KqvuXtMgHc/DRl4QdLYdH3p+qVWNAIHwsN1EW0hVhfPwiPnT5tYlNeKE0I
pAaagErcEjQ9dyIKyAVEfO8J7ZGStMFA42Vn0wJpgm9IH7C/v3B2eT2zY9fplxEfP174xDutm4s0
XY4/LZYr74rCRaQQFaQrf0hVvQ1+6gVYmTPJlMdgpmaROZP6fjFsRU4jYdAUCE6O3RrrofmrZuYj
5hy0jQzE31G/tw1SSY/3WoZO9FtbNsp7wSzx3z3iACsfX9z1uMrWNc0Mg1ayyZPVi4cfoEZyWEi5
sARqz1dpgWHdo2kFxFH/W0RJzvcy2zQL8Bk3pJdYzttx1SvkqZNH4FfCI9alQHDZnasRiud6NrXl
zsFRF+7uhmn0VwBoir75zQsJSGE60zmvkM8SPC+NLlej9BQKIAWhydyy9DcVLpIfP2+kTv35kk22
sclsY5ROvafZ1VhK0P2zNfX0rwKYybL8GJIl3uvSPmnNTs2wEhTUPnVPUMp/0rYAAAAAAAA=


--=-cGAALZ5GoBDdaEtrbV44--


From xen-devel-bounces@lists.xenproject.org Mon Jun 01 22:10:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 22:10:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324201.1589867 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUAqB-0004ZD-W3; Mon, 01 Jun 2026 22:10:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324201.1589867; Mon, 01 Jun 2026 22: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 1wUAqB-0004Z6-Ru; Mon, 01 Jun 2026 22:10:35 +0000
Received: by outflank-mailman (input) for mailman id 1324201;
 Mon, 01 Jun 2026 22:10:34 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wUAqA-0004Ys-0k
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 22:10:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUAq9-005l8O-Dk
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 00:10:33 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1e0340-5cb7-0a2a0a5109dd-0a2a45028b14-40
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 00:10:32 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1e031c-af86-0a2a45020019-5a9b3222c720-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 00:09:32 +0200
Received: from [2001:8b0:10b:5:5b40:b57d:669c:36f4]
 (helo=u09cd745991455d.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wUAp1-00000000qcP-29yN; Mon, 01 Jun 2026 22:09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="MIME-Version:Content-Type:in-reply-to:Date:Cc:To:From:Subject:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:in-reply-to:
	Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:Content-Transfer-Encoding:
	Content-ID:Content-Description:References;
	bh=ryPLS6EKCHHJPBHwciU6az0zh1xqOzfsR6UijU3/SXM=; b=Ph/KVvrsvFg7xA4xN+pPIT3aHw
	SC9KhcsvoTsnhINQFTNv1a/qxLWIv7eJ3kv4oBAimy1dqb25H3jfLsNsfr/+8DGU8v/qKIpxk1gkK
	dgA4lxGKZmggj1QuLaQW+mnKbAMqVCCplPUBLAM7mb7uTnM0GK23nNd6rm0S5jQalaoIGlR28TsU0
	YuAZZ3Jm05l8m4rF+B9glb5Bb+1Ot3i087cYfkMbOZMvKtWB3VAc3HgBYKTDEENhIqdkr0GsXWM/R
	QBe6Wra8odLn5JjqX6gh65r8lymfhkbbkKcIo/22/LRpzItE6lnCk8kn1xRcBalaOp0NaDxwjOVlD
	SkWDuKxA==;
Message-ID: <a4ce494c080258d211962e5d538d03eec8939b37.camel@infradead.org>
Subject: Re: [PATCH v4 30/47] x86/xen/time: NOP-ify x86_platform's
 sched_clock save/restore hooks
From: David Woodhouse <dwmw2@infradead.org>
To: seanjc@google.com
Cc: pbonzini@redhat.com, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, 
 dave.hansen@linux.intel.com, x86@kernel.org, kas@kernel.org,
 kys@microsoft.com,  haiyangz@microsoft.com, wei.liu@kernel.org,
 decui@microsoft.com,  longli@microsoft.com, ajay.kaher@broadcom.com,
 alexey.makhalov@broadcom.com,  jan.kiszka@siemens.com, luto@kernel.org,
 peterz@infradead.org, jgross@suse.com,  daniel.lezcano@kernel.org,
 jstultz@google.com, hpa@zytor.com,  rick.p.edgecombe@intel.com,
 vkuznets@redhat.com,  bcm-kernel-feedback-list@broadcom.com,
 boris.ostrovsky@oracle.com,  sboyd@kernel.org, kvm@vger.kernel.org,
 linux-kernel@vger.kernel.org,  linux-coco@lists.linux.dev,
 linux-hyperv@vger.kernel.org,  virtualization@lists.linux.dev,
 xen-devel@lists.xenproject.org,  dwmw@amazon.co.uk,
 thomas.lendacky@amd.com, nikunj@amd.com, dwmw2@infradead.org, 
 mhklinux@outlook.com, tglx@linutronix.de
Date: Mon, 01 Jun 2026 23:09:23 +0100
in-reply-to: <20260529150741.714145-1-seanjc@google.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-SH6YBLznpukI+GbGHi8d"
User-Agent: Evolution 3.52.3-0ubuntu1.1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-720697/1780351772-AA76A161-90764743/0/0
X-purgate-type: clean
X-purgate-size: 7672


--=-SH6YBLznpukI+GbGHi8d
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 29 May 2026 08:07:41 -0700, Sean Christopherson wrote:
> NOP-ify the x86_platform sched_clock save/restore hooks when setting up
> Xen's PV clock to make it somewhat obvious the hooks aren't used when
> running as a Xen guest (Xen uses a paravirtualized suspend/resume flow).
>
> Signed-off-by: Sean Christopherson <seanjc@google.com>

Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>


--=-SH6YBLznpukI+GbGHi8d
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
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI2MDYwMTIyMDky
M1owLwYJKoZIhvcNAQkEMSIEIAuoWgLTJNe45w1U7rujZcrGy1w12asLRC82HbepioIqMGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIAvQZz7pZc5DBQ
oPI4KQkHlnt7e5PRTdVWAdqNjnVhabxwl0obgzIZpVHnqmOW67HToVg6nOJKj7aBx5yx2T7CrvZt
YTqYtA7CuXl0kjIa93hxEsIS5HNvpKT7AkCmY9BT9Pr63P25UYRQMJjB9x1m++2k9B3KLYr6jFU3
j55WaQijkIpPgFtkR4pf+NJTaEO1kx0S2hqMBh6IPRHJ3S0iMtlBga2f/9mJBd3VP7R+q3jc+tsg
F1bnAWwQkqXElTQj22tJ3dslTuBowJorX4AJD2z9ztoOiHJndgDywWUHDIE569h8yn3/x1pDrBYX
+/pgA2ZG6Rz6biO+bd/JmEMr1oYGhc08iDoaOE6PyE3ICdKajMecoekYJ4Vix+haupOoRJQmzMgj
dERkSrIkPh72CjlC7348HVnwaK/q6Scb/sPXy7WspKsfm1j/I5bEN8jCVH0hS8S2pudYMYaq6hIy
LHXOseSc1ODNuPqTHLkt/3xPTteJlgVbzlAF6/IYekoS3oxsFcwtUv1mqIUchRdEVyFHa8RApbKe
IgS4e11yyIe0PdtCzVwWzx4I/UThyHOPIhW6jQ8IxK6NK1+KwAQXAvWYzq2J0lgzGP83u7T7/PkJ
ztS02EcMeOSIapTkoKmXcpxG9zr0Af5UKuPWXHfUw9AIxkENoik5Lb/FOduZGzAAAAAAAAA=


--=-SH6YBLznpukI+GbGHi8d--


From xen-devel-bounces@lists.xenproject.org Mon Jun 01 22:12:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Jun 2026 22:12:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324208.1589877 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUArh-00055b-AQ; Mon, 01 Jun 2026 22:12:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324208.1589877; Mon, 01 Jun 2026 22: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 1wUArh-00055U-6N; Mon, 01 Jun 2026 22:12:09 +0000
Received: by outflank-mailman (input) for mailman id 1324208;
 Mon, 01 Jun 2026 22:12:08 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wUArf-00055O-Ux
 for xen-devel@lists.xenproject.org; Mon, 01 Jun 2026 22:12:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUArf-005lJp-Bl
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 00:12:07 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1e0369-5cb7-0a2a0a5109dd-0a2a450182ae-44
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 00:12:06 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+fd6ac5da1981cc8a9071+8317+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a1e033e-c1f2-0a2a45010019-5a9b32228b9a-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 00:10:06 +0200
Received: from [2001:8b0:10b:5:5b40:b57d:669c:36f4]
 (helo=u09cd745991455d.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wUApV-00000000qeX-1g8w; Mon, 01 Jun 2026 22:09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="MIME-Version:Content-Type:in-reply-to:Date:Cc:To:From:Subject:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:in-reply-to:
	Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:Content-Transfer-Encoding:
	Content-ID:Content-Description:References;
	bh=pIe+OJXYuJeGkgK2k/VQNaXpbdi89OoicEUWJQAKxak=; b=Us1Lvq/urUfwXo4Ybi8aHRNnhn
	ZaPAVbdiH21JBQbdcf8eyTyhLH8//Zz31I7IKC1Kj2o9qr8KWenqFCrovvNjnMn3s5VJrmIoTsAT5
	sA8BMxyzI6R24BioKNf83PkmkF3A9ws01J+0GEiGcft9R9EbdW7Vu+i4RFeSuaP1nHJLwKZ3blKTe
	cm1o/JU+JHtZL/d2N8wlC/6FwpaNUG9l0IvOlw3ojAsgBdR/dziJt9uXFGFkJASy9v0/63otCOgQU
	UBftvz7iTyUINzJNk5JIPAYjvQY8/RcImpuTUKjO6Ol/tZo4lp1yZWocMYX77UTXg/TzLic42tnQ2
	Cqfcncwg==;
Message-ID: <34dffc37bbbb50e4f91ff74a039d273f7e64a155.camel@infradead.org>
Subject: Re: [PATCH v4 46/47] x86/kvmclock: Plumb in AP-online and
 BSP-resume to kvmlock, for documentation
From: David Woodhouse <dwmw2@infradead.org>
To: seanjc@google.com
Cc: pbonzini@redhat.com, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, 
 dave.hansen@linux.intel.com, x86@kernel.org, kas@kernel.org,
 kys@microsoft.com,  haiyangz@microsoft.com, wei.liu@kernel.org,
 decui@microsoft.com,  longli@microsoft.com, ajay.kaher@broadcom.com,
 alexey.makhalov@broadcom.com,  jan.kiszka@siemens.com, luto@kernel.org,
 peterz@infradead.org, jgross@suse.com,  daniel.lezcano@kernel.org,
 jstultz@google.com, hpa@zytor.com,  rick.p.edgecombe@intel.com,
 vkuznets@redhat.com,  bcm-kernel-feedback-list@broadcom.com,
 boris.ostrovsky@oracle.com,  sboyd@kernel.org, kvm@vger.kernel.org,
 linux-kernel@vger.kernel.org,  linux-coco@lists.linux.dev,
 linux-hyperv@vger.kernel.org,  virtualization@lists.linux.dev,
 xen-devel@lists.xenproject.org,  dwmw@amazon.co.uk,
 thomas.lendacky@amd.com, nikunj@amd.com, dwmw2@infradead.org, 
 mhklinux@outlook.com, tglx@linutronix.de
Date: Mon, 01 Jun 2026 23:09:52 +0100
in-reply-to: <20260529150833.715042-1-seanjc@google.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-+aOorv8156Qtfhs3MTBs"
User-Agent: Evolution 3.52.3-0ubuntu1.1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-d62444/1780351806-AF957FF4-0FD960AB/13/0
X-purgate-type: clean
X-purgate-size: 7815


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

On Fri, 29 May 2026 08:08:33 -0700, Sean Christopherson wrote:
> Invoke kvmclock_cpu_action() with AP_ONLINE and BSP_RESUME, even though
> kvmclock doesn't need to do anything in either case, so that the asymmetr=
y
> of kvmclock is a detail buried in kvmclock, and to explicitly document
> that doing nothing during those phases is intentional and correct.
>
> For all intents and purposes, no functional change intended.
>
> Signed-off-by: Sean Christopherson <seanjc@google.com>

Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>


--=-+aOorv8156Qtfhs3MTBs
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
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI2MDYwMTIyMDk1
MlowLwYJKoZIhvcNAQkEMSIEIOui92Q09s3RqSCKJLJfaKRt6cshQkdB1+7Thlc+UB5aMGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIAeKlaeMXuImTM
sf3TbGNaC9G9/UwO/K4ThMbNkuiyHJjNfr0VPty1kv9rDYcpFhuzmTATQ9BNajO35PxfHaXCzheU
43O+G6XlGiQr9tPHHyQko61LMqAwdobKDj8vMQ5cwaHCHRhZnn9RW2H+govPo7be3WkMN+bFseaY
hGNiRt0i5RyBzTI3YrtFkuLe7jQNrtP1gO6i7fUiJ/I63XpwdjIXZLVkTWCK6OrPFBdyova5n0Fa
azBcGjXSKyWOTcAHpbDagakmREmhaoqDvzwEBYI7agrnnodHfGiOY1KGhGvIgs84gCt9wkodFdDF
s3MYYiPppEy/xUloVvnzV2n8rpy+ewR/5yr242JnYUw+T2+nNjhcV+DAwcKf/FFfkdGuz7En8PKd
MpFzyaDzhGZpBreU6VezeAWzxgKLPn0eYVKZOSBmBf2OBOu4DkdIOCrx6IozAikAyKoVoDXhLwOi
/JERUeF0a7FfPQcYVRbua/Q3u077s6tdeIpzCe7hRQev2/Lr8LD8DvJkVvbfW7lBLX/5D5LQleNz
91aHkJ1FGPYs1youAKuVH/o2pNiF6I2pZDns3PVEBwF+I2g7JHzW4oW7txynq3HVwcPFx1gvKoJ2
mzquaozHcZs5KG+A//Z/FWryK3vBgu5yBJEdg9RFI6UqkK3EPEwRDysLmSLvuSQAAAAAAAA=


--=-+aOorv8156Qtfhs3MTBs--


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 00:14:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 00:14:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324271.1589885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUClf-0005RH-6h; Tue, 02 Jun 2026 00:14:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324271.1589885; Tue, 02 Jun 2026 00:14: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 1wUClf-0005R9-2V; Tue, 02 Jun 2026 00:14:03 +0000
Received: by outflank-mailman (input) for mailman id 1324271;
 Tue, 02 Jun 2026 00:14:01 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sstabellini@kernel.org>) id 1wUCld-0005R3-0E
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 00:14:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUClc-0017tz-9p
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 02:14:00 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a1e2048-bab6-0a2a0a5309dd-0a2a450a999e-0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 02:14:00 +0200
Received: from [172.105.4.254] (helo=tor.source.kernel.org)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a1e2046-56b3-0a2a450a0019-ac6904feb9a0-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 02:13:59 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by tor.source.kernel.org (Postfix) with ESMTP id 446FF6001A;
 Tue,  2 Jun 2026 00:13:58 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 92A9C1F00893;
 Tue,  2 Jun 2026 00:13:57 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:From:To:cc:Subject:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780359238;
	bh=/o3fXyBhddv19gcYEwPTDd7WSpF5z8lyfxeMop2lXKc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References;
	b=VKxs9MWK37/5DMtzGdeU3iwkwHpUT1sgyBG9ychRN78JAGEwNYgucgdkNHiZ4rAFT
	 ffyNX3jUEuuZVIPaNmFNZWC9kQuYvv5FxXckq2jXGQGltxsPALuMBP0RI54TJ4aRWu
	 4Xg4tv9dRgGKk69dSdBOOSA+N0ayMFyTyliATJjFOpyVscJmo3Earg+T+IgGuZqehe
	 PcD3X4ziA6sjHovYOLiiBDAl/CjFxjN3ybTvC+hNQmqBSdv90lVH9KiUec8L96JrnI
	 Q/SOs2o13UDNgPiw9o0pt6ariQshhRaO/utK7ZfaFP4Kfmu//UM4lV3TCsNDpz4OR6
	 ISbCPk3QH7HxA==
Date: Mon, 1 Jun 2026 17:13:54 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: dmukhin@ford.com
cc: 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, 
    christopher.w.clark@gmail.com, dpsmith@apertussolutions.com, 
    Mykola Kvach <mykola_kvach@epam.com>
Subject: Re: [PATCH v3 1/6] argo: lower level of noisy connection-refused
 log
In-Reply-To: <20260526215823.1452619-2-dmukhin@ford.com>
Message-ID: <alpine.DEB.2.22.394.2606011713430.550703@ubuntu-linux-20-04-desktop>
References: <20260526215823.1452619-1-dmukhin@ford.com> <20260526215823.1452619-2-dmukhin@ford.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
X-purgate-ID: tlsNG-4011c0/1780359240-6FD588B7-42BE7662/0/0
X-purgate-type: clean
X-purgate-size: 589

On Tue, 26 May 2026, dmukhin@ford.com wrote:
> From: Denis Mukhin <dmukhin@ford.com> 
> 
> Switch the log line to argo_dprintk() so it is enabled only in debug
> environments, as it can spam the logs when a dom0 service using the Argo
> hypercall tries to communicate with a domain that is still starting up.
> 
> Note that this also lowers the log level to debug when the argo_dprintk()
> facility is enabled.
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>

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



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 00:15:27 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 00:15:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324277.1589893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUCn1-0005su-Ew; Tue, 02 Jun 2026 00:15:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324277.1589893; Tue, 02 Jun 2026 00: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 1wUCn1-0005sn-CM; Tue, 02 Jun 2026 00:15:27 +0000
Received: by outflank-mailman (input) for mailman id 1324277;
 Tue, 02 Jun 2026 00:15:26 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sstabellini@kernel.org>) id 1wUCn0-0005sh-MP
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 00:15:26 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUCn0-001Sbh-3S
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 02:15:26 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a1e2092-e002-0a2a0a5209dd-0a2a450bb81e-10
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 02:15:26 +0200
Received: from [172.234.252.31] (helo=sea.source.kernel.org)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a1e209c-212f-0a2a450b0019-aceafc1fc888-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 02:15:25 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by sea.source.kernel.org (Postfix) with ESMTP id E8FFF401B3;
 Tue,  2 Jun 2026 00:15:23 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 73DE41F00893;
 Tue,  2 Jun 2026 00:15: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:From:To:cc:Subject:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780359323;
	bh=qQ1ROIeIgOxJKRYIpcg7ju6pIu+6nwmB71e8ShWAegw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References;
	b=F4XbU20DRsp7Vcj4MNNWhwgCKhAFnrfl/C3ROcFiF0khRQSnWRuA0eCWv97E7CbSE
	 vwzWkHhpf7L1Bb0Y0pyNmAdntOXrtCut9jqiweUtCytKEl3MqOP0ZQHs3rTeyomglj
	 1OI4r0pAt02seOEIsISU14kcX37c2SLojDk2JU7xl32xzGy1bBV7kTvxRBJdpL9dPb
	 5NZ+ALxfsq5q6p1t3GMNmYEsvh50+F7c8EHCfv6Wb233MvIlN3AbD1MJIdV2CmLZc7
	 FXvQHY8RxhPR8od5YFf1XzqQ6yp/hC8EJ1pSlZUuKGo9uA9A/RISWqnc0RDb4qVrvm
	 4/uwItrcI4rmQ==
Date: Mon, 1 Jun 2026 17:15:22 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: dmukhin@ford.com
cc: 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, 
    christopher.w.clark@gmail.com, dpsmith@apertussolutions.com, 
    Mykola Kvach <mykola_kvach@epam.com>
Subject: Re: [PATCH v3 2/6] argo: correct logline in ring_unmap()
In-Reply-To: <20260526215823.1452619-3-dmukhin@ford.com>
Message-ID: <alpine.DEB.2.22.394.2606011715150.550703@ubuntu-linux-20-04-desktop>
References: <20260526215823.1452619-1-dmukhin@ford.com> <20260526215823.1452619-3-dmukhin@ford.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
X-purgate-ID: tlsNG-42698a/1780359326-1AF76F3B-9A781E65/0/0
X-purgate-type: clean
X-purgate-size: 446

On Tue, 26 May 2026, dmukhin@ford.com wrote:
> From: Denis Mukhin <dmukhin@ford.com> 
> 
> Drop XENLOG_ERR from the logline since argo_dprintk() already injects
> the proper log level indicator.
> 
> Also, drop "argo: " prefix, since it is also injected by argo_dprintk()
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 00:16:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 00:16:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324285.1589902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUCo6-0006Q1-RG; Tue, 02 Jun 2026 00:16:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324285.1589902; Tue, 02 Jun 2026 00:16: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 1wUCo6-0006Pu-OO; Tue, 02 Jun 2026 00:16:34 +0000
Received: by outflank-mailman (input) for mailman id 1324285;
 Tue, 02 Jun 2026 00:16:33 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sstabellini@kernel.org>) id 1wUCo5-0006Pm-9M
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 00:16:33 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUCo4-001jEH-MH
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 02:16:32 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a1e2092-e002-0a2a0a5209dd-0a2a450bb81e-42
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 02:16:32 +0200
Received: from [172.105.4.254] (helo=tor.source.kernel.org)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a1e20df-212f-0a2a450b0019-ac6904fee424-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 02:16:32 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by tor.source.kernel.org (Postfix) with ESMTP id E6FA86001A;
 Tue,  2 Jun 2026 00:16:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4574D1F00893;
 Tue,  2 Jun 2026 00:16: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:From:To:cc:Subject:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780359390;
	bh=a9AZUDQdTPDxgjcJo+FE1gzEMtGpuhQFsPL+rivrLYk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References;
	b=nQpiSE/MQrbuVASlY5U4s9P6jH98JXDvMxfJXD3sdDMa4+NMVufKFPT53SzOr9BZf
	 1j2Jl7spqofFU66Cg0CZzAWFgqLs3eo8Z3fa0HzIO1j/zjT8hFVEXMjDTT+OyC8a8b
	 wKd8xdXYimqsuYNiirnHDKBKK6H2EAFycyvkK8xSRm+WuyT1Z69/IDG7kN6XlGSpPr
	 7wldU1dNI/tVH4y8yG+4BMUKM2YmsgaMhIiKTDL1EjPr1Av10RhZjBTNIEvGSyep2Y
	 r9h69Cn7+h7mASlAxnPy9PcfIuYNxdU/YTvp8tiA6LcuGbmC4B3tR5I4yap2C/i1XG
	 KG3edFIh3xYIw==
Date: Mon, 1 Jun 2026 17:16:29 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: dmukhin@ford.com
cc: 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, 
    christopher.w.clark@gmail.com, dpsmith@apertussolutions.com, 
    Mykola Kvach <mykola_kvach@epam.com>
Subject: Re: [PATCH v3 3/6] argo: drop argo prefix from argo_dprintk()
 calls
In-Reply-To: <20260526215823.1452619-4-dmukhin@ford.com>
Message-ID: <alpine.DEB.2.22.394.2606011716170.550703@ubuntu-linux-20-04-desktop>
References: <20260526215823.1452619-1-dmukhin@ford.com> <20260526215823.1452619-4-dmukhin@ford.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
X-purgate-ID: tlsNG-42698a/1780359392-1BF7EF3B-CDA23F5D/0/0
X-purgate-type: clean
X-purgate-size: 417

On Tue, 26 May 2026, dmukhin@ford.com wrote:
> From: Denis Mukhin <dmukhin@ford.com> 
> 
> argo_dprintk() prefixes all log lines with "argo: " automatically.
> 
> Remove duplicate prefixes from log messages in the Argo module where
> applicable.
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 00:17:04 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 00:17:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324290.1589912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUCoa-0006rb-2P; Tue, 02 Jun 2026 00:17:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324290.1589912; Tue, 02 Jun 2026 00: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 1wUCoZ-0006rU-W7; Tue, 02 Jun 2026 00:17:03 +0000
Received: by outflank-mailman (input) for mailman id 1324290;
 Tue, 02 Jun 2026 00:17:02 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sstabellini@kernel.org>) id 1wUCoY-0006rG-QM
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 00:17:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUCoY-001jEH-7F
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 02:17:02 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a1e20e3-e002-0a2a0a5209dd-0a2a4505c834-18
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 02:17:02 +0200
Received: from [172.234.252.31] (helo=sea.source.kernel.org)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a1e20fc-aaa8-0a2a45050019-aceafc1fa816-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 02:17:02 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by sea.source.kernel.org (Postfix) with ESMTP id 39ADE41A47;
 Tue,  2 Jun 2026 00:17:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B14C91F00893;
 Tue,  2 Jun 2026 00:16:59 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:From:To:cc:Subject:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780359420;
	bh=BJxsBqAi8+VE+3mmq5Wh+HjFYd6vHIoCh0n2ee9RFSY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References;
	b=Y57Pcu7X59VJumaOVsghTCEpfYoQ3FQlWauIZQM4V223rVVYrAZjLe+WH1akmDVFA
	 3rkQ5yAeYXF7MXt02slHxiVjdQoqH1gPcWmQ/maAJW+oLiUSpWgnZpELTkOduu2Y3R
	 VA3HEv4eoaLU2laMlYxtrB6mywkM+G9VgqTZfFXnFYHB/5PZ7587gLRfmNsv7vMM+g
	 nceBpl0TMlNh77Z0NTKgfovzs7/r8I9mam1Up8flBLrfuaT3wIeRKai3GqkqE5CHiq
	 m/IYM3KZUTpHWYDJYtwN7nvK7GA5HRtwncpqguIbgFc8H4TJujWvULJe6lPrrCkPg1
	 RrOhmcSz7gS4Q==
Date: Mon, 1 Jun 2026 17:16:58 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: dmukhin@ford.com
cc: 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, 
    christopher.w.clark@gmail.com, dpsmith@apertussolutions.com, 
    Mykola Kvach <mykola_kvach@epam.com>
Subject: Re: [PATCH v3 3/6] argo: drop argo prefix from argo_dprintk()
 calls
In-Reply-To: <20260526215823.1452619-4-dmukhin@ford.com>
Message-ID: <alpine.DEB.2.22.394.2606011716380.550703@ubuntu-linux-20-04-desktop>
References: <20260526215823.1452619-1-dmukhin@ford.com> <20260526215823.1452619-4-dmukhin@ford.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
X-purgate-ID: tlsNG-c201ff/1780359422-DB16D443-F9E7D2BC/0/0
X-purgate-type: clean
X-purgate-size: 464

On Tue, 26 May 2026, dmukhin@ford.com wrote:
> From: Denis Mukhin <dmukhin@ford.com> 
> 
> argo_dprintk() prefixes all log lines with "argo: " automatically.
> 
> Remove duplicate prefixes from log messages in the Argo module where
> applicable.
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>

I meant review-by, so resending my reply

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


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 00:18:34 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 00:18:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324297.1589921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUCq1-0007R3-Bp; Tue, 02 Jun 2026 00:18:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324297.1589921; Tue, 02 Jun 2026 00:18: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 1wUCq1-0007Qw-8h; Tue, 02 Jun 2026 00:18:33 +0000
Received: by outflank-mailman (input) for mailman id 1324297;
 Tue, 02 Jun 2026 00:18:31 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sstabellini@kernel.org>) id 1wUCpz-0007Qo-Ib
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 00:18:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUCpy-00CKOO-Va
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 02:18:30 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a1e2134-bab6-0a2a0a5309dd-0a2a4506897e-38
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 02:18:30 +0200
Received: from [172.105.4.254] (helo=tor.source.kernel.org)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a1e2155-7371-0a2a45060019-ac6904fedb66-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 02:18:30 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by tor.source.kernel.org (Postfix) with ESMTP id 6168D6001A;
 Tue,  2 Jun 2026 00:18:29 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BBEE21F00893;
 Tue,  2 Jun 2026 00:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:From:To:cc:Subject:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780359509;
	bh=LzwSgJZHGddLSQ2oni+MH43Ye4KlMqf8QB3MoiwHMeQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References;
	b=XpKGir5qo1AmmIm+YNu0Kh6Hb7gXAtMlSrKrOBE4y5tup93n5af7JwHdU+KgdFXrC
	 JyPBT6+kcr7tk7oFKEFKlN/InfipLL64mktvxSORc8HcPVHv9tIiOPuXQ78kcvYiQP
	 C1PlVMOD15rvVbDKY9ZUWGErhqh0EnoA9s5zTIyO0MeFCR1GuPYfjXvw7LENGa8r7h
	 BLe0iDtPbXd/92E51yvTc151YcH9n/EwmZI6ZtuCG74utZ16Z0ne9qmpc5lcqhqMYC
	 UEbrigVeKj4LNyEsM2QEcCv3TNJunuqoW0X2ny/I97zgaCWX0sBkpky0/aCmA7eQjm
	 WmlTf23/DxCiw==
Date: Mon, 1 Jun 2026 17:18:27 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: dmukhin@ford.com
cc: 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, 
    christopher.w.clark@gmail.com, dpsmith@apertussolutions.com
Subject: Re: [PATCH v3 4/6] argo: fixup argo_dprintk()
In-Reply-To: <20260526215823.1452619-5-dmukhin@ford.com>
Message-ID: <alpine.DEB.2.22.394.2606011718190.550703@ubuntu-linux-20-04-desktop>
References: <20260526215823.1452619-1-dmukhin@ford.com> <20260526215823.1452619-5-dmukhin@ford.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
X-purgate-ID: tlsNG-16d1c6/1780359510-87170D75-28D8E2F0/0/0
X-purgate-type: clean
X-purgate-size: 380

On Tue, 26 May 2026, dmukhin@ford.com wrote:
> From: Denis Mukhin <dmukhin@ford.com> 
> 
> Current argo_dprintk() implementation is a wrapper around raw printk().
> 
> Rewire it through gprintk() to allow for better debugging context
> (such as domain ID).
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>

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



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 00:19:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 00:19:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324305.1589931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUCqy-0007xi-Kl; Tue, 02 Jun 2026 00:19:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324305.1589931; Tue, 02 Jun 2026 00: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 1wUCqy-0007xb-GY; Tue, 02 Jun 2026 00:19:32 +0000
Received: by outflank-mailman (input) for mailman id 1324305;
 Tue, 02 Jun 2026 00:19:30 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sstabellini@kernel.org>) id 1wUCqw-0007w8-Fa
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 00:19:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUCqv-00CKU4-PY
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 02:19:29 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a1e2182-bab6-0a2a0a5309dd-0a2a450acf24-18
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 02:19:29 +0200
Received: from [172.234.252.31] (helo=sea.source.kernel.org)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a1e2190-56b3-0a2a450a0019-aceafc1fec2e-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 02:19:29 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by sea.source.kernel.org (Postfix) with ESMTP id CAB82445D0;
 Tue,  2 Jun 2026 00:19:27 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5D7AD1F00893;
 Tue,  2 Jun 2026 00:19: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:From:To:cc:Subject:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780359567;
	bh=8AjCAMQeX1hT9emcuatfvAuKsEdjwWWPOO6YqF5lhNQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References;
	b=ist9ksMH5lTMFXZfj157yWlP5CQpR7hz+0FW/sNPU2FVTC3AziZbMpu/q+4jEoIj9
	 y4qKwsaeTScK11ld0ENAhuKy4OQqOWoy1EBQxYE+dfywi41v0qXeVkunyPEgvWtEvv
	 fxxpLoZtnK02RWhRE7yjEgZ/bBRmPGj3FJ2Br3yDgPEsZB/roPEWDAgKi888kZd2CU
	 GD89HdOvipUXVR6K2guZMpP5LI5JIQ8Gji5FTtUUqcTD1Wo1Ck/yjoldQ+r2YTJGGQ
	 MSibyp/2aMtgAowIAoCM/bKmYb21/tQjry4E7t1oqK1VlDMjLlx3reoPjI2s544Qwb
	 1GtbBtGDPzFFw==
Date: Mon, 1 Jun 2026 17:19:26 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: dmukhin@ford.com
cc: 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, 
    christopher.w.clark@gmail.com, dpsmith@apertussolutions.com
Subject: Re: [PATCH v3 5/6] argo: introduce CONFIG_ARGO_DEBUG
In-Reply-To: <20260526215823.1452619-6-dmukhin@ford.com>
Message-ID: <alpine.DEB.2.22.394.2606011719020.550703@ubuntu-linux-20-04-desktop>
References: <20260526215823.1452619-1-dmukhin@ford.com> <20260526215823.1452619-6-dmukhin@ford.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
X-purgate-ID: tlsNG-4011c0/1780359569-7196E8B7-8C57F916/0/0
X-purgate-type: clean
X-purgate-size: 263

On Tue, 26 May 2026, dmukhin@ford.com wrote:
> From: Denis Mukhin <dmukhin@ford.com> 
> 
> Add Kconfig knob to enable traces for Argo debugging.
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 00:22:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 00:22:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324318.1589940 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUCtZ-0001Nz-0T; Tue, 02 Jun 2026 00:22:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324318.1589940; Tue, 02 Jun 2026 00:22: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 1wUCtY-0001Ns-SY; Tue, 02 Jun 2026 00:22:12 +0000
Received: by outflank-mailman (input) for mailman id 1324318;
 Tue, 02 Jun 2026 00:22:12 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sstabellini@kernel.org>) id 1wUCtY-0001N0-C7
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 00:22:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUCtX-00F48a-ES
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 02:22:11 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a1e2216-5cb7-0a2a0a5109dd-0a2a4509b95a-26
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 02:22:11 +0200
Received: from [172.105.4.254] (helo=tor.source.kernel.org)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a1e21ba-2497-0a2a45090019-ac6904fee97e-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 02:20:10 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by tor.source.kernel.org (Postfix) with ESMTP id 8E7E76001A;
 Tue,  2 Jun 2026 00:20:09 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E85DE1F00899;
 Tue,  2 Jun 2026 00:20: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:From:To:cc:Subject:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780359609;
	bh=zFWWWdg8mapYQ9CM6egymitihblA04rJ/04j1DIBtpo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References;
	b=FBo+BWgWzc9Js/Pc9au5yBRAMI2JYYxjOpe9pHrxujcQhU6hgmoDCvEFEwP36gaRN
	 Jo0zPuyZray/sYJM+B9bFEtx6i/Z2SynfUrQ3Ti5ra7Fc3a8nnT0bT9Bn9vTrGkWei
	 vlnIBe6hfuskKOGe/NLoZ57KgQprKu2Oa21Tqqix9QHSygZYsIVCM/GwTDJvci5vI4
	 1Bxs7DmdzI1OvSGwdqAoKYCmn40fxcg3ScaDLOqryknbTHxX2BI2Yz5Fkkk5/YsctS
	 YJz6dAa0Py5hVipQoe5KUAPT7mJUjIZfIisTIVS6GgrPXZgrOl0SUF0QeRq+R1ppXe
	 j5arDdcJWdm/g==
Date: Mon, 1 Jun 2026 17:20:08 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: dmukhin@ford.com
cc: 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, 
    christopher.w.clark@gmail.com, dpsmith@apertussolutions.com
Subject: Re: [PATCH v3 6/6] automation: enable Argo debugging in CI
In-Reply-To: <20260526215823.1452619-7-dmukhin@ford.com>
Message-ID: <alpine.DEB.2.22.394.2606011720021.550703@ubuntu-linux-20-04-desktop>
References: <20260526215823.1452619-1-dmukhin@ford.com> <20260526215823.1452619-7-dmukhin@ford.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
X-purgate-ID: tlsNG-bad1c0/1780359611-8B392A53-39A91C01/0/0
X-purgate-type: clean
X-purgate-size: 283

On Tue, 26 May 2026, dmukhin@ford.com wrote:
> From: Denis Mukhin <dmukhin@ford.com> 
> 
> Enable extra Argo traces in CI to help analyze any potential Argo issues.
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 03:50:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 03:50:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324383.1589948 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUG90-0007Dr-Ri; Tue, 02 Jun 2026 03:50:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324383.1589948; Tue, 02 Jun 2026 03:50:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUG90-0007Dj-Mr; Tue, 02 Jun 2026 03:50:22 +0000
Received: by outflank-mailman (input) for mailman id 1324383;
 Tue, 02 Jun 2026 03:50:21 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <bp@alien8.de>) id 1wUG8y-0007DN-Om
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 03:50:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUG8w-00FQbX-F1
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 05:50:18 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <bp@alien8.de>)
 id 6a1e52e7-2eae-0a2a0a5409dd-0a2a450be174-24
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 05:50:18 +0200
Received: from [65.109.113.108] (helo=mail.alien8.de)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <bp@alien8.de>)
 id 6a1e52f9-212f-0a2a450b0019-416d716c9a58-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 05:50:18 +0200
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id BDD1140E0140; 
 Tue,  2 Jun 2026 03:50:16 +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 rZ_Ke2IbpmQx; Tue,  2 Jun 2026 03:50:07 +0000 (UTC)
Received: from stx.tnic (unknown [IPv6:2600:1700:38ca:c00::30])
 (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 ADDBA40E01B5;
 Tue,  2 Jun 2026 03:49: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=alien8 header.d=alien8.de header.i="@alien8.de" header.h="Date:From:To:Cc:Subject:References:In-Reply-To"
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=1780372206; bh=HH13uV+Z55mhxzoi6FErPEsztGrj9z0uUROqU3Stz7Y=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=BRMb1T+l+1IEZY4TOjMQ4w9ReoLidSSyCALG5lXh6uQPdtJJQdXO/YpIwNlbAph4G
	 l/Dh+tFMKmPgVvKipIF2u99KtO2EN4cAREtpsqdKPkOqerozWTYAFwi46Wybtw/fbe
	 +vmegLk87Rbq8vbD1H6DVOK2BrOKVAvWoMdxIbDT51x5lCY8z551GuWp9FhHp5+car
	 VfJLFeyoLUyJO6c15FDGEfyv+Rbc53q3q5OSovUcXOREzvcqEjbwoVe0Y7wIViYOYy
	 dK617hXkXVl9eYOJXWLlMawnI/pzDgQLxVC0VmuhZxwuyaJg1r6HaVHRONeWchNvGu
	 vuUBlnvH9mmhMammOcSRyPnYSNm/ouhxvpjBC/kkh+mImmroEj5FFwKdESFRHD587M
	 WZc+lXnb/l4BjyEVAAGNP2cLctZRPQKFYevllLAVNJtLle0Ashf1Pb13YdcdHN1spM
	 rkF/jhg93VsSnzNK3JT36gNuh51JJh4mRth91IoSXBMOPYx6eLMZftQjrevQIQewk4
	 r73TYm4D6cnm0I9ePqYDRkUs1jK14EW1+rpqzoVUj1phZqDDalP0khp5WsBql7Ff4D
	 DlzFTsjW4cZGQdPzsWOWFWXdC25leop27h508hIBBoyX6ymrK7PIpoEE1rrc0t6G1Y
	 cqjQSDM1OdJJ7XcJilcWD9FQ=
Date: Mon, 1 Jun 2026 20:49:16 -0700
From: Borislav Petkov <bp@alien8.de>
To: Sean Christopherson <seanjc@google.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>, Thomas Gleixner <tglx@kernel.org>,
	Ingo Molnar <mingo@redhat.com>,
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
	Kiryl Shutsemau <kas@kernel.org>,
	"K. Y. Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
	Long Li <longli@microsoft.com>,
	Ajay Kaher <ajay.kaher@broadcom.com>,
	Alexey Makhalov <alexey.makhalov@broadcom.com>,
	Jan Kiszka <jan.kiszka@siemens.com>,
	Andy Lutomirski <luto@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Juergen Gross <jgross@suse.com>,
	Daniel Lezcano <daniel.lezcano@kernel.org>,
	John Stultz <jstultz@google.com>, "H. Peter Anvin" <hpa@zytor.com>,
	Rick Edgecombe <rick.p.edgecombe@intel.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Stephen Boyd <sboyd@kernel.org>, kvm@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-coco@lists.linux.dev,
	linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
	xen-devel@lists.xenproject.org, David Woodhouse <dwmw@amazon.co.uk>,
	Tom Lendacky <thomas.lendacky@amd.com>,
	Nikunj A Dadhania <nikunj@amd.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Michael Kelley <mhklinux@outlook.com>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH v4 02/47] x86/tsc: Add a standalone helpers for getting
 TSC info from CPUID.0x15
Message-ID: <20260602034916.GGah5SvARd77mkvxe3@fat_crate.local>
References: <20260529144435.704127-1-seanjc@google.com>
 <20260529144435.704127-3-seanjc@google.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20260529144435.704127-3-seanjc@google.com>
X-purgate-ID: tlsNG-42698a/1780372218-19969F3B-939E435D/0/0
X-purgate-type: clean
X-purgate-size: 1401

On Fri, May 29, 2026 at 07:43:49AM -0700, Sean Christopherson wrote:
> +static int cpuid_get_tsc_info(struct cpuid_tsc_info *info)
> +{
> +	unsigned int ecx_hz, edx;
> +
> +	memset(info, 0, sizeof(*info));

Let's not clear this unnecessarily...

> +
> +	if (boot_cpu_data.cpuid_level < CPUID_LEAF_TSC)
> +		return -ENOENT;

... just to return here...

> +
> +	/* CPUID 15H TSC/Crystal ratio, plus optionally Crystal Hz */
> +	cpuid(CPUID_LEAF_TSC, &info->denominator, &info->numerator, &ecx_hz, &edx);
> +
> +	if (!info->denominator || !info->numerator)
> +		return -ENOENT;

... or here.

We wanna clear it here, when we'll return success.

> +
> +	/*
> +	 * Note, some CPUs provide the multiplier information, but not the core

	Note: some CPUs...

> +	 * crystal frequency.  The multiplier information is still useful for
> +	 * such CPUs, as the crystal frequency can be gleaned from CPUID.0x16.
> +	 */
> +	info->crystal_khz = ecx_hz / 1000;
> +	return 0;
> +}
> +
> +int __init cpuid_get_tsc_freq(struct cpuid_tsc_info *info)
> +{
> +	if (cpuid_get_tsc_info(info) || !info->crystal_khz)
> +		return -ENOENT;
> +
> +	info->tsc_khz = info->crystal_khz * info->numerator / info->denominator;
> +	return 0;
> +}

Unused here. Add it with its first user pls.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 05:28:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 05:28:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324437.1589973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUHg0-0004Ez-N3; Tue, 02 Jun 2026 05:28:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324437.1589973; Tue, 02 Jun 2026 05:28: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 1wUHg0-0004Er-JS; Tue, 02 Jun 2026 05:28:32 +0000
Received: by outflank-mailman (input) for mailman id 1324437;
 Tue, 02 Jun 2026 05:28:31 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Zhao.Jiaqing@amd.com>) id 1wUHfz-0004El-10
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 05:28:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUHfx-001fAI-RQ
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 07:28:29 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a1e69fc-2eae-0a2a0a5409dd-0a2a4505e500-2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 07:28:29 +0200
Received: from [52.101.201.34]
 (helo=PH7PR06CU001.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a1e69fb-aaa8-0a2a45050019-3465c9223adb-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 07:28:28 +0200
Received: from DSWPR12MB999151.namprd12.prod.outlook.com (2603:10b6:8:36b::21)
 by SA1PR12MB7318.namprd12.prod.outlook.com (2603:10b6:806:2b3::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.17; Tue, 2 Jun 2026
 05:28:24 +0000
Received: from DSWPR12MB999151.namprd12.prod.outlook.com
 ([fe80::1d57:8e0c:c16d:15e2]) by DSWPR12MB999151.namprd12.prod.outlook.com
 ([fe80::1d57:8e0c:c16d:15e2%5]) with mapi id 15.20.9870.023; Tue, 2 Jun 2026
 05:28: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=QkSVCw4x+c41mXl4mLnKA9EttjHL/exbzZTnfVYWAx6WYtdImrdD8R5cjO68ldqUU/kKHwlAU8Jc5tsSjqBBfyFiyWWSldDsivzr+La3yDmIxmi1bvcsPajKv1HIvAm8QAvyB9BcEtEMguTM6N9w7A5Ot9zSbfgGTWPcQfhqTtS7WIoyk3EV7v2CdGMnXiIN4yln86hrXv0YpzQb36y0NYU0XGE0f8/RSh7gDdcYWSReB5DtzzYom2yiWuVyHrAtd1uF0nXGxio4EdliiGVHrxUQQSjiO2h2KtSggdXlr8MvaNoNg/CJnylcaxrwLF51rSbHo3Z7UUKcliEMB2Zf3Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+Vp6ISeh7dLqs954bIFKWAto44MTLUvOrrPO3AquArQ=;
 b=pFPAi0DVHSBzDCzA60OLQM9WhCAn1VxbiIxgCSYNhjiz8Sa28sGvJTinarMcoMRD1ZAexIDmxHlXsBKaJcAvr2WOmnAgaEuX+5ovuloaU28HCP04GcUdGev++CkoreTYjGv27mFaU5NljAKo4KTf/JOFtaNIIXrm5a78yRREzDa9ep6zEYerN5A/VG3bTmf3mju8vfEiRQS9KfqVPFruj+BRZW0dzRJf5focGF9Phtswz3RqAM19KkEg7Wp8dkrGilQx/PDTMDryglYT1VHJT2Z8enVXHAcdBReQZqSo4+KfOsBDh3jcOWMKknrWs30PCQKoWadeCv6Wkr2IWSmcBg==
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=+Vp6ISeh7dLqs954bIFKWAto44MTLUvOrrPO3AquArQ=;
 b=jj0f8nboU+wlb20Pk5R7xpEp4bn9d6FkPtLGLqIhC8Xt4dm9xNa4zlIgVALZcZoywegzfiQCfLDr3BNMCZRyHzfYxHdgl3HF1drUbxLhqJEWtR8pqlWfqllFqOJFC0xBaGdkBgtM1hDa6kjhrSmCsG9a9TzkmUA4wuq9t/eYbpQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <c4ecc349-2f93-40aa-965f-9fe57c3f0f4f@amd.com>
Date: Tue, 2 Jun 2026 13:28:16 +0800
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 0/2] x86/amd_node: harden amd_smn_init() against Xen
 dom0 topology
To: Yazen Ghannam <yazen.ghannam@amd.com>
Cc: Penny Zheng <penny.zheng@amd.com>, x86@kernel.org, ray.huang@amd.com,
 Jason.Andryuk@amd.com, stefano.stabellini@amd.com,
 Mario Limonciello <mario.limonciello@amd.com>,
 Thomas Gleixner <tglx@kernel.org>, 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,
 linux-kernel@vger.kernel.org
References: <20260506055528.476493-1-penny.zheng@amd.com>
 <3531c9e1-97a8-42ab-aae7-4cfa8976f443@amd.com>
 <20260519141002.GA369920@yaz-khff2.amd.com>
Content-Language: en-US
From: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
In-Reply-To: <20260519141002.GA369920@yaz-khff2.amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: TP0P295CA0034.TWNP295.PROD.OUTLOOK.COM
 (2603:1096:910:4::19) To DSWPR12MB999151.namprd12.prod.outlook.com
 (2603:10b6:8:36b::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DSWPR12MB999151:EE_|SA1PR12MB7318:EE_
X-MS-Office365-Filtering-Correlation-Id: 755b476b-dcbb-4ec9-c9d0-08dec067c41c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|4143699003|18002099003|22082099003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	dPizbrkEBtTPEkdjyGfmv282e7hnF2vM9gMu7ao54tVmUcSjpQ0fnPmModwZ40MTqV2wgO8q4p4jRoInvRDWXlfJzuxrVONkCNf2bwWAOy3ibgrwzamR//JM3NfRD+JrgSGop0czWixY0+oqoNjV0aBIvPlp18BAhJE7m+2BWxOykMR87gCUENDDrc3116g4FKF8AVi1mc770+j7Tb8UmvK+QfXyu5QeYLNmbBuLkokcHISdG7F5aeSo7tXV9IzRDuY9AUxVymc0aMU7a8NKraCOvcrI0g8Avb/h+E4THpr/CMVvDzjS2ThUqu6QPDci7MqThBXXsN80/+Lv/mKYMfur+7JsJSs/0qFtqJ7xAZdvnECmZcTQ1Z7eUIA06gnCbQiYK97KClffJOU248e6OBXaeXBwwBHS1HTwX4/BREB+b+7mAnFr7merwOfiaqOl/on2w5H33oN9QFQ0AbkpndvXOMRdZhCL+DTohP4Tio0S5f3fE8olfFVk8Z8VHpulLu5FZXr/77rhOgr0Gxv6SXerEu8Zt9ZaaQrM22ZBIW6kaEAg1nX5cvLWGpAt9WgIM40UB0lmN+3xQqD0Kk8IQXCGhiMj7JqRaZWiHxqKoW6G9SATtsaYF3QJ+sAxqze1HwfGhL0EqmsZUIOvZ276e9c0EIGTGbbs/IQ1zE2SqcIVaoQq7rnm7wvdvN31AiG8
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DSWPR12MB999151.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(4143699003)(18002099003)(22082099003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Wm4yUDRlTVpRTFl6dURHd290QVZnNnltVm5BNlltN1NUc05RUXVkZ0xwZ3VL?=
 =?utf-8?B?azBKTHUyUjZWQkpvNGhLNVo4cEw5Y2hPbmVvUHZkcTZHNWI4YVZ3VVNJNXdD?=
 =?utf-8?B?TU0zLzlCSys2UWlZMVlrVUJ4WFdOMlJNbmp1MndBVE03ZllHNWxzV3RCNVcx?=
 =?utf-8?B?L21sUjVHeTNZQlMxZnNkekdDbGg2bmszVyswWHJSeEsxUmlBbnpmT0pTME5E?=
 =?utf-8?B?MFZSSGNIZlMyVmV6MlhSdGVPQjZXaS96MEI5NmU4MGNvc1d2c05wd21EVXBM?=
 =?utf-8?B?SHdCTEM3Mko0UGI2UmlKNU5jZGJlY3lmZnlqTUR1dkNyNjhtY0cwNWVaL08v?=
 =?utf-8?B?aEgxalROSXRPdEZscXhlS0lLZEI0WjVDSHp5RFR6NEx0Ykt6cVg3TTR6cHFO?=
 =?utf-8?B?WWFqMHpqd2FoWm5Jd0NITXVJYS8vTXpvb3Uyc24ycUlYVzBHUDlxaG50L1ZQ?=
 =?utf-8?B?aWpRVk1ab1ZtVk1WNGpUR1ZKa1V6NUZ3QkdFUk1JZVJ4emFvbm1BV3Q1Z2xS?=
 =?utf-8?B?K0g2MXRQWEJzRUZ6Q2xOWEE5NzBrRzMrQ1dRUytXRUE0dWpLUGY1R0hYTk9E?=
 =?utf-8?B?RUh2RVhBL01qR1JpcGFOVWlIYjZicXFUSlptdnpibEtRd2RqZVlES3M2bCt6?=
 =?utf-8?B?TTlnby9CRjJIenZyc0x6ek05QzNYMnJ0bFhidW9Ha3VQRm1ub29oYklpcDRV?=
 =?utf-8?B?RFo0K0lOcFRxZ2ZNd2VkYUI4L2h0YUhrR2Q4RDhPcktrYVFCMjkyeUpJWHhN?=
 =?utf-8?B?aHBGb25SMm44TkxhUHF1MkhkOFlDeUdPRlJmeTdMNkdFUDE1ek9NYkdGSWgy?=
 =?utf-8?B?VUladVlTYlh3a0ljeTdKRXQzUlhDK3UrcU9mQlRvQUp2dDM0MXpOWjhXMnh5?=
 =?utf-8?B?M3A0TVREQXlBY0pUUHZpWVFnS0RZQm10Ui9YbmhPbCtvNm0wbUhYaEFBeXpC?=
 =?utf-8?B?N05yZjV5ZEg4UXR4UFBXbU4xNlZhRkQ5Vit6RE1hUVJtRFZxOHBleGhWbFY4?=
 =?utf-8?B?R0g2d2c5YzNxZVo5ejlWbHpJc0dxVldHbDh3UUZQWVJsdnhVS1lEVi81bGx3?=
 =?utf-8?B?QkRwN1Flb3lheU1KRHBLSVZEV0lZazBDcTVqY250M3JVSWhueXR2UEorUnMr?=
 =?utf-8?B?emVueWxGcVFVWUF2SjV2T1pGRGlVSjNNUmtiVVdtSEo2R0hRUU5HaGFhM2lZ?=
 =?utf-8?B?WE96eGZ0U0g5TUxwamF5VVRwT0R2QktTeG9XQTBPT29MRlNnRG1RWnFLd3FO?=
 =?utf-8?B?RGxldWk0R3ovQUw2dmNmR04yVkJNWkR0QTRvN25nT042bnhuTG5McU5yZGR5?=
 =?utf-8?B?YW5qc21EUjVnUmZ1dDVXaS92dEVhbnV6bE1Ock15eVNHVGg0cUgvZ1c5UzZY?=
 =?utf-8?B?bHhsY2hqSzFtcWgyS0pybWN5a29KeU5EK1Fxck5zTzVTSkNGNVEyOVVva0sy?=
 =?utf-8?B?ajNuZ3UrbDZnYVhrZitEcUYvZDJkNXNkanpIcENQUzR4U0JmUVFZaVI5cUls?=
 =?utf-8?B?Uk5mcmpIMXFqVlJhS3o5ZlBQdW5xM1dLcUF4djBEdlM1L041Zmg5V05UUzhI?=
 =?utf-8?B?NUJyc3NjTUIyeE5rMDU5NlJHdlNOMWxjMHAxcTFxRUtNaVFrMzkzaUQ3d3lv?=
 =?utf-8?B?TXlheFBMTFR5dThjY2dEa3RPMWFrQlFldTVJOUtmOHF2T2U2VnBSWHlBOFdv?=
 =?utf-8?B?bDF5b0VNTXlwU2d6bUNsN0xTTHpJOEZWL0Z4ckZzTjQwNSs4YkpDVENjd05P?=
 =?utf-8?B?Q3A0Q3VhL25SSXdtZkt3WXZaYkE0VjNGRCtTaFBRMG84aVZYWXA4N0N6S3RQ?=
 =?utf-8?B?WEFYQXFpUnFDVUlSRDJQVmtXQkY4eUVaeEQ5eWY2eHRmRUYxTjlLTWJxa09u?=
 =?utf-8?B?Zlh5bGtkcmxHTHZhR0hnaVhUQzZYdVJraVlLZ25QbWk1UkVrQXZrYzJDVWJJ?=
 =?utf-8?B?S3R1aDA0alA2dVU3QWd3TDdyRnVwOURCRzJJL3VkbHdxaEtiRG5DVHpReXcx?=
 =?utf-8?B?YkVROWxpOVpTWUUvRFMzaW0zZURDUldSeVl0cVcwdWlpSFRpVC9taDNlTzBh?=
 =?utf-8?B?QmdBSDQxTFFJdWtZODA0Rkx5TkZJRCtiNnlNR1duMDJ0ZXVHNFdRaTZxLzFI?=
 =?utf-8?B?em9SNmI1MlI2UXBOMSt6b2gvcUZTR3ZOajRtZDBRQmFHTlVHS0RVYXo5bDZl?=
 =?utf-8?B?OE16MUxBelhIRzAvNU9lYzFQUkI5ZSs4RkxpRmRTM3BjMWFZcnM0eE5zQjZJ?=
 =?utf-8?B?SEcrd1hHMi85VDQra1dUZUlOL2hTeXFuK2tZZmRUV3BaRExFRk5jTVJlZVJ1?=
 =?utf-8?Q?z2E/uR1GCjeoP6411y?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 755b476b-dcbb-4ec9-c9d0-08dec067c41c
X-MS-Exchange-CrossTenant-AuthSource: DSWPR12MB999151.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 05:28:24.0891
 (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: J71zvv+Bwgoo8rFxRVzkATZkmdUoi29DvCISgHGRqD6ZsZw7vc0rJD4RnWQSKo3/HjOV1xaWy1BdHkpI2MgHtw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7318
X-purgate-ID: tlsNG-c201ff/1780378109-E0A66443-EDDE823E/0/0
X-purgate-type: clean
X-purgate-size: 631

Hi, Yazen

On 2026-05-19 22:10, Yazen Ghannam wrote:
> On Thu, May 07, 2026 at 04:37:43PM +0800, Jiaqing Zhao wrote:
>> This amd_smn_init div0 oops is also observed on 6.19.14+deb14 (Debian testing)
>> and 6.18.27. Given that 6.18 is LTS, suggesting `Cc: stable@vger.kernel.org`
>> to get it backported.
>>
> 
> Hi Jiaqing,
> 
> So is the issue observed with the latest mainline kernel?
> 
> Or only with v6.19 and before?

It is observed with both latest mainline and v6.18/6.19. The issue comes with
commit 0a4b61d9c2e49 ("x86/amd_node: Fix AMD root device caching").

Thanks,
Jiaqing

> Thanks,
> Yazen



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 05:35:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 05:35:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324445.1589981 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUHmP-0005rH-EF; Tue, 02 Jun 2026 05:35:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324445.1589981; Tue, 02 Jun 2026 05:35: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 1wUHmP-0005rA-Ba; Tue, 02 Jun 2026 05:35:09 +0000
Received: by outflank-mailman (input) for mailman id 1324445;
 Tue, 02 Jun 2026 05:35:08 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Zhao.Jiaqing@amd.com>) id 1wUHmO-0005r4-Ln
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 05:35:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUHmN-006Z8z-V2
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 07:35:07 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a1e6b8a-5cb7-0a2a0a5109dd-0a2a45078ede-2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 07:35:07 +0200
Received: from [40.93.201.70]
 (helo=CY3PR05CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a1e6b89-229c-0a2a45070019-285dc94654fa-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 07:35:07 +0200
Received: from BN9P220CA0024.NAMP220.PROD.OUTLOOK.COM (2603:10b6:408:13e::29)
 by LV3PR12MB9331.namprd12.prod.outlook.com (2603:10b6:408:219::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Tue, 2 Jun 2026
 05:35:02 +0000
Received: from BN1PEPF00004685.namprd03.prod.outlook.com
 (2603:10b6:408:13e:cafe::42) by BN9P220CA0024.outlook.office365.com
 (2603:10b6:408:13e::29) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.12 via Frontend Transport; Tue, 2
 Jun 2026 05:35:02 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN1PEPF00004685.mail.protection.outlook.com (10.167.243.86) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Tue, 2 Jun 2026 05:35:02 +0000
Received: from zjiaqing-dev.amd.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 2 Jun
 2026 00:34: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ROCdzxpraPWqVs6JiRHvU/lVu6Hhd2dbLbWaOb57hmocoHOYtySbQQ32SwHkc8oxYB2uw60Ar4TCQi8plAw63tzMDqpN/oPoDvm6lXcj7YvYR2jkYHf0ACLgSl+p0TTk0JXGUM+G98kP3imyxaGaVPPvNqcYL9hudzX19PvaBsJPgppNdCx+52cMkd73pdWEAa+7twiIvd/aJ6Jxar1vBTot9yRfSQ6BYdzu9NOmeuK6Yxts/C37BqImIpn+MgwukrAoUcfR6TtUrzt0lcrslP9j7nN884OZSa9BX4dGOVtvKp0aBrUfJ2Yzk9UGCPJhUlHhCtyzyEzvAm/lT+/Iuw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=x7tOc0wWCXWIt/jwd+06dSQL+5xFR+yiddWmpX7yKAk=;
 b=HBv72r/cXfUq4Eze1SnZ3jRFYlR1gecxPMRgsUq/ck1g+/aNLzW4SoyJfag0hfl/p+eHEl3CuW18PfEGHkdLGzvqhgTBQSYuuhTtnxWUDX1+q+uY4wlCdCuuE2rhRBMzlPDuemslabluOM6rXU+jFc1zzf+ZlHd/F2N+n4EzuNFzGyAheT2ulcWKGdKnqrGAtShtQt55P8dw0Xi/JymP0OSVsETx5GbZ1WRT26+EFJHtE0Q4D2exybNDNPO8Me/mDpstixtFIixpp060zFkY1dg/avLeNyF5YWb2vrqub4BnFU9tHQMLs4TbwtHt5Sm/9+gUcuALpYO4EHaEW59qvA==
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=x7tOc0wWCXWIt/jwd+06dSQL+5xFR+yiddWmpX7yKAk=;
 b=uFymnAO8aG2NacMKuFv6dYa8oGFHOyQT1ra7zy2VhmXkeyAVSVNjQeKSoPE2a01ML8XutwCcsamzSLte0IEc2K4jLM6S+MoFtfWhj2I9SdoDsOZ56UGHUvSVH0lf6Yfb3lqnxVjViq3FyKL8eZENP5ylbURCEklyvkZ/lT6Hoys=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
To: <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=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
CC: Jiaqing Zhao <Zhao.Jiaqing@amd.com>, Denis Mukhin <dmukhin@ford.com>
Subject: [PATCH v4 1/2] ns16550: add support for WCH CH382 serial adapters
Date: Tue, 2 Jun 2026 13:34:20 +0800
Message-ID: <20260602053421.773149-2-Zhao.Jiaqing@amd.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260602053421.773149-1-Zhao.Jiaqing@amd.com>
References: <20260602053421.773149-1-Zhao.Jiaqing@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00004685:EE_|LV3PR12MB9331:EE_
X-MS-Office365-Filtering-Correlation-Id: 97684155-f545-4861-a6f4-08dec068b195
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|36860700016|376014|56012099006|11063799006|22082099003|18002099003|13003099007;
X-Microsoft-Antispam-Message-Info:
	cMugKeh9OVnJtzagwU2uPnbby23ig1VgvMjC1ELIV9Q1waaRQl7YgCS2cbzKM0Z6D3qWT7nU3ks6mOVqtAdOelsA+eYXZ3IeyFpzWOztGCKKIGfyYUh4Cbd+5ZaR4zYcVoBEmdlzrp+WMgJovl7DFdpLUCFUajSNrxaNssy7TbpkdTk2KcXihLP0q07HdBwXLlyWAErhKGumS8dLI0Dc+/BDQ/yh8uB7rNp2/637nhmvuv2iwDv0oV4DYt9De2AG8TPv59BM4aFgu2sCrOWcBH+NV4evvww++JE+8EqV+h6B4gRZfQB920dcbAvthnOGmu3TcLuoKfdP3qnprbFhj18bfJIstyR9FA541xWNqpg5gw7v2nlbcBXDtnLi5B6/K4qId/jKF66kaGB595eBWD+BngZiO4zUo9jfyZjmIiXMrYJMTIQKuSX3gppXVKe5ovKgy+HcgtU+3cIQsVCU6UqkV+Q7rHELMNFP4EmmxtfvCW+D3Gwq6awXTrMc4QfZ31wDT6UC3QXHxdcKV5Bi0360KmDAPga2W9xU0Eh/Y5mEm3u4V9f7a1r1NphSjfJEcCVJZXl21TarAaCEd3h9hy/LyN5lKVpEdU67kS2RaK9OAdurJNLD/5wtPCdUXgrnFkmMXbH10re4NGEQhLKmQsCL7iMdEqZnC7bwtX/ntr7qdtXrXF5pBzZ38+B+oSwI
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700016)(376014)(56012099006)(11063799006)(22082099003)(18002099003)(13003099007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	znHWfIKMkdLCSDpCrjzCxYB2To+nC9D1k7qLNcGbqqiMMgjdWnQS33Azwe8TPOrKinzpXsOz25BAexTM0hoL8WoxZeha+y16PGNaACKe7iBdUwojsQYD0TLavouOYqQp48exJQpaIuvCI3NXwlwrSUftnVNEwIOuNtaNBj2ZNBuYeW9SdxoH82BLbqKo4/LD6f3GYKjgGLGoJhzL5HPNAHAIYX9rsf3lIKsNoHHGc7h7bHIXds2+5CXZxJd89RVIqdC5412+65oJ78BMdWxWMAV4C0ZhWe9QKtG65jPv+Pshs3iMGzKonyuxpHnnKSo3kEk7jKze88Psq9jKsmGROVgt9iXC0Op7WwFctOngg9gBsldd4HPsM8FoCVyBLkdXE6S8OuaFmSRjlX6xKTShJJEihORnAVIlrDpdQvJWEV93LCdpw3zMawOgeTtDiNUQ
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 05:35:02.1306
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 97684155-f545-4861-a6f4-08dec068b195
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00004685.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9331
X-purgate-ID: tlsNG-ef75cf/1780378507-23979C48-B788C2EA/0/0
X-purgate-type: clean
X-purgate-size: 2468

Add support for the WCH (Nanjing Qinheng Microelectronics Co., Ltd.)
CH382 PCIe dual port serial adapter. The CH382 is available in two
variants:
 - CH382 2S   [1c00:3253]: 2 serial ports
 - CH382 2S1P [1c00:3250]: 2 serial ports + 1 parallel port

This chip uses IO BAR0, base baud rate 115200, ports starting at offset
0xc0 and spaced 8 bytes apart, and a 256-byte FIFO. [1]

[1] https://www.wch-ic.com/downloads/CH382DS1_PDF.html

Signed-off-by: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
Reviewed-by: Denis Mukhin <dmukhin@ford.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 xen/drivers/char/ns16550.c | 23 +++++++++++++++++++++++
 xen/include/xen/pci_ids.h  |  2 ++
 2 files changed, 25 insertions(+)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 878da27f2e..cf10a06a3d 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -95,6 +95,7 @@ struct ns16550_config {
         param_exar_xr17v354,
         param_exar_xr17v358,
         param_intel_lpss,
+        param_wch_ch382,
     } param;
 };
 
@@ -861,6 +862,16 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .mmio = 1,
         .max_ports = 1,
     },
+    [param_wch_ch382] = {
+        .base_baud = 115200,
+        .first_offset = 0xc0,
+        .uart_offset = 8,
+        .reg_width = 1,
+        .fifo_size = 256,
+        .lsr_mask = UART_LSR_THRE,
+        .bar0 = 1,
+        .max_ports = 2,
+    },
 };
 
 static const struct ns16550_config __initconst uart_config[] =
@@ -1189,6 +1200,18 @@ static const struct ns16550_config __initconst uart_config[] =
         .dev_id = 0x7adc,
         .param = param_intel_lpss
     },
+    /* WCH CH382 2S1P */
+    {
+        .vendor_id = PCI_VENDOR_ID_WCHIC,
+        .dev_id = 0x3250,
+        .param = param_wch_ch382
+    },
+    /* WCH CH382 2S */
+    {
+        .vendor_id = PCI_VENDOR_ID_WCHIC,
+        .dev_id = 0x3253,
+        .param = param_wch_ch382
+    },
 };
 
 static int __init
diff --git a/xen/include/xen/pci_ids.h b/xen/include/xen/pci_ids.h
index 5884a20b8f..15e938225c 100644
--- a/xen/include/xen/pci_ids.h
+++ b/xen/include/xen/pci_ids.h
@@ -13,6 +13,8 @@
 
 #define PCI_VENDOR_ID_BROADCOM           0x14e4
 
+#define PCI_VENDOR_ID_WCHIC              0x1c00
+
 #define PCI_VENDOR_ID_INTEL              0x8086
 
 #endif /* XEN_PCI_IDS_H */
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 05:35:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 05:35:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324446.1589990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUHmT-00064r-L7; Tue, 02 Jun 2026 05:35:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324446.1589990; Tue, 02 Jun 2026 05: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 1wUHmT-00064k-IP; Tue, 02 Jun 2026 05:35:13 +0000
Received: by outflank-mailman (input) for mailman id 1324446;
 Tue, 02 Jun 2026 05:35:12 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Zhao.Jiaqing@amd.com>) id 1wUHmS-00064G-2J
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 05:35:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUHmR-006Z8z-El
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 07:35:11 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a1e6b8a-5cb7-0a2a0a5109dd-0a2a45078ede-10
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 07:35:11 +0200
Received: from [52.101.46.44]
 (helo=CO1PR03CU002.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a1e6b8d-229c-0a2a45070019-34652e2c2bdb-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 07:35:10 +0200
Received: from BN9PR03CA0430.namprd03.prod.outlook.com (2603:10b6:408:113::15)
 by DS0PR12MB7825.namprd12.prod.outlook.com (2603:10b6:8:14d::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Tue, 2 Jun 2026
 05:35:05 +0000
Received: from BN1PEPF00004683.namprd03.prod.outlook.com
 (2603:10b6:408:113:cafe::33) by BN9PR03CA0430.outlook.office365.com
 (2603:10b6:408:113::15) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.16 via Frontend Transport; Tue, 2
 Jun 2026 05:35:04 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN1PEPF00004683.mail.protection.outlook.com (10.167.243.89) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Tue, 2 Jun 2026 05:35:04 +0000
Received: from zjiaqing-dev.amd.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 2 Jun
 2026 00:35: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=CiScsHORptySTEepLhtHWYsC9kzphOYtK6Z54h0cw3I3QNRqo7meLFArMTDY27rqr8y3l5ziSJFLdyxy6SINkcT1Q/HzF347pDNPIX5R6EbEwtfBAlAsevz3Yrxkn5dWAAU+H2pQDykd/lZe1X2258CmZIZiS6wkfC9/LitWU870u0QUnXl0ZQbGDP+xeu6JNMcI/ZQ66981RWKBbjdpGaQ1jR/79S9AtIENUw9C1C7m8oQjEvYY78T747q30LGEa8VEBKxCum6n43HGKNrWRqR5TBU4KKnDUlnyLAxVL2m28zuUiS+CAEFKRZizgAIPRYuB0j749UZJx6EgiQzPwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lO/AQShTDkBUcHto3u/hfaydZa8G8crAtUGWOtdgc+c=;
 b=cij3p1/cBqSElQ6CZjLe9bcxfYzU7mK1W/gqFG5gUU1s+UbCf6Ka7VtkxjFMffdAB2NFlhsdxtUGLXYdH0QOowSVY5LOC2fYIKnVDQcmMoA7qfxhiR84lWWdaL82gPpL2au6l77RLFHmNjD7r71SQqfSc4VZFSb/glDxJDmHBS83CIR9f/MreM+45x+lpkVaBt0XkY7oUTB59Vrz/+4bHYYg1Dkdka34C47S2snlv5UnlzWKked5pENhBXlIsdMkxzVZtKyoD6bQaLgdO34/jSoIgPH045nyINJBdFFPN+gtItN489+yVK+4uUyZZFUzbBHxc2p5CtXmNV6gtt/U8A==
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=lO/AQShTDkBUcHto3u/hfaydZa8G8crAtUGWOtdgc+c=;
 b=Tl05PicvmpqSCMWh1qUDwGQAwRt5gJIwF5AHWbX+KTh+cDGgRZQs69RSqjcqEedH6a+HwUtakQ52JPLMgME3rgn5Ev4D1vtgXdEbAaelLxau30zS6nvOQkXrzbUf8oC9feuHykmWS/KKXl+8zQAbkQbS+/Xxv/DSETM36X5L9ak=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
To: <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=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
CC: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
Subject: [PATCH v4 2/2] ns16550: add support for ASIX AX99100 PCIe Multi-I/O controller
Date: Tue, 2 Jun 2026 13:34:21 +0800
Message-ID: <20260602053421.773149-3-Zhao.Jiaqing@amd.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260602053421.773149-1-Zhao.Jiaqing@amd.com>
References: <20260602053421.773149-1-Zhao.Jiaqing@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00004683:EE_|DS0PR12MB7825:EE_
X-MS-Office365-Filtering-Correlation-Id: a9976b70-ab15-41dd-d850-08dec068b320
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700016|376014|1800799024|11063799006|56012099006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	AhwGB/3SSz2ET0iJmMRm9QGUBi9GkbF7IlvgQcmWGyFe0TGYQgnua8aP033OGibaCVgNE1FpknpUyQYxAV4dMFpCNS4/KHYqp22tQQP9Bse/Urqd0hn1tmsyTVbIjRE1nw/KVxLYMmltHBbtShOCndHKHRoDL+MYAuerKMg4PZiOmSCrWbnP1ydMOGTGLYgeF73H+cMdRWRk64dogbaDMTP3Qqrr76gi7gSPVWei+9aHY6EKSB7YuvhJ/lm8nED4VTGAKJitWS+Qk9k2akU3cbK6mw66p8xcwDcemulKV1Z9ykynCKHbH9KFWRXdsjTJ03ah8CUegdnG3LHnTrdvQ00D7Io/walNKSQ16vq0yfYowmtyp8SDWVRYGX/T/zUgyPD/k9jz3gsrNiCsxOx7SqnlvCX8fW1mZBVcL8wCtQzFU4FpR9ZgkI0PoI1u9TRaZCccft0B8UKEoaPSX1Fpr+r2qvszif+2yT4qB9+HObi5X6yLbRTIOXEOoK+eLVJG65V/oxJPnMhlGHtzmNhtJsYTA3EoroM+ikgFnDlt4cYAA8mufWTjzOxOriFb22Zv2AbelAwwjfybOsYupkFEO86BzYRRUA56Uk672XGPUy9dTtdINJyrJg35PMZ1s71H+/H1bwpneddrvAv8Ni2iptNmdl0gM+qHuyryQpkW9e8VeWzvVSsWMYuGemXog9V3/1/YueksjURiGn22eQCLu2Md7ABBYoVtdfKRcWTQt/4=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700016)(376014)(1800799024)(11063799006)(56012099006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	5ML+s/cycHNhxigEHoa6pijubIT7sxko6PzTSf0O3qdh8mtNHsZZAVQzvuKHtwkjwDf1ns9uXVifOhX7rIs+5KlPofEHSFQLuAbOGGAWqHNWfOECkMCLV2KVCK3fJnUxY6VnA6hYBYA2HXM6XP/qJq1PsM+LrvAsuItpEB91lEwqoWlyfRzsQcbKx03DfQJkBHzCzyYrQN3hup1nGrJ+u0MWWobUhbP00kjZ6sH6qZpj1IFhKYGF0Xp50ljdyFbDxZrpBw8fF+w7QMRqnlCfpmtCRlqs1EmUsQrXLEZoivAgZEgce6MM1nUffaCxtwma7nlkT4HiXGJQmxpNa2fh94sg+1tHtVGvFM421fzeVaZgxSkrDXx1aw3uWodjegMDkhUYpBfWVE/J3Y0kKcWHhvlsDYy+CApAAw667z5j+QQB4CIvo08AkbihxOLxm7XW
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 05:35:04.7213
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a9976b70-ab15-41dd-d850-08dec068b320
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00004683.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7825
X-purgate-ID: tlsNG-ef75cf/1780378511-21B68C48-508743D5/0/0
X-purgate-type: clean
X-purgate-size: 1995

Add a PCI device table entry and matching parameter for the ASIX
AX99100 PCIe to Multi-I/O controller [125b:9910]. Each port on the
chip is a standalone PCI function, with UART registers on its I/O
BAR0.

Signed-off-by: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 xen/drivers/char/ns16550.c | 15 +++++++++++++++
 xen/include/xen/pci_ids.h  |  2 ++
 2 files changed, 17 insertions(+)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index cf10a06a3d..26503070dc 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -96,6 +96,7 @@ struct ns16550_config {
         param_exar_xr17v358,
         param_intel_lpss,
         param_wch_ch382,
+        param_asix,
     } param;
 };
 
@@ -872,6 +873,14 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .bar0 = 1,
         .max_ports = 2,
     },
+    [param_asix] = {
+        .base_baud = 115200,
+        .reg_width = 1,
+        .fifo_size = 256,
+        .lsr_mask = UART_LSR_THRE,
+        .bar0 = 1,
+        .max_ports = 1,
+    },
 };
 
 static const struct ns16550_config __initconst uart_config[] =
@@ -1212,6 +1221,12 @@ static const struct ns16550_config __initconst uart_config[] =
         .dev_id = 0x3253,
         .param = param_wch_ch382
     },
+    /* ASIX AX99100 PCIe to Multi I/O Controller */
+    {
+        .vendor_id = PCI_VENDOR_ID_ASIX,
+        .dev_id = 0x9910,
+        .param = param_asix
+    },
 };
 
 static int __init
diff --git a/xen/include/xen/pci_ids.h b/xen/include/xen/pci_ids.h
index 15e938225c..fd424ef55d 100644
--- a/xen/include/xen/pci_ids.h
+++ b/xen/include/xen/pci_ids.h
@@ -5,6 +5,8 @@
 
 #define PCI_VENDOR_ID_NVIDIA             0x10de
 
+#define PCI_VENDOR_ID_ASIX               0x125b
+
 #define PCI_VENDOR_ID_PERICOM            0x12d8
 
 #define PCI_VENDOR_ID_EXAR               0x13a8
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 05:36:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 05:36:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324455.1590000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUHno-0006sy-0K; Tue, 02 Jun 2026 05:36:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324455.1590000; Tue, 02 Jun 2026 05: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 1wUHnn-0006sr-Tw; Tue, 02 Jun 2026 05:36:35 +0000
Received: by outflank-mailman (input) for mailman id 1324455;
 Tue, 02 Jun 2026 05:36:34 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Zhao.Jiaqing@amd.com>) id 1wUHnm-0006sh-8N
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 05:36:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUHnl-00AaGz-LL
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 07:36:33 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a1e6bd4-2eae-0a2a0a5409dd-0a2a4503a1de-26
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 07:36:33 +0200
Received: from [52.101.43.64]
 (helo=SJ2PR03CU001.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a1e6bdf-672d-0a2a45030019-34652b408242-4
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 07:36:33 +0200
Received: from BN9P220CA0029.NAMP220.PROD.OUTLOOK.COM (2603:10b6:408:13e::34)
 by CH1PR12MB9672.namprd12.prod.outlook.com (2603:10b6:610:2b0::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.48.17; Tue, 2 Jun 2026
 05:35:00 +0000
Received: from BN1PEPF00004685.namprd03.prod.outlook.com
 (2603:10b6:408:13e:cafe::8d) by BN9P220CA0029.outlook.office365.com
 (2603:10b6:408:13e::34) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.16 via Frontend Transport; Tue, 2
 Jun 2026 05:34:59 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN1PEPF00004685.mail.protection.outlook.com (10.167.243.86) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Tue, 2 Jun 2026 05:34:59 +0000
Received: from zjiaqing-dev.amd.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 2 Jun
 2026 00:34: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=OWsIsoTgFylrFNJ0YdJX/Y4KHiJpEqEfqYBzrps/mKS66zJ1eHjqRwqSGDa+p//iNOfmfkJgWz712IKzKHCMKZNblD7b7y7sEWT48uiMz214f++0oKzeGj8AFKYLRNQdNuVmqrHwA/B1hjvgg4JyoSJkCE/aJ4kgAE7hnb+ioNZUEdE0ooV+jYSmZ9S3/unSpwzB91AhcNMJdGbEr+T8P57TNTD2IYGp5G1abwl9l7yQTG58wqBFY2qna3yrw3m7MmFhpCGzfxR4OmlpuzKyBtadDEmcazJOu868mEY5m9E755zgwujqfCMV96XQ+fTU9l/kZ2VjdAQXDJMcN26u/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=zD/+VQ4eZwHpEwOxxRCgnNIQaBA77in0OUYsN1Dq/RY=;
 b=Lxx0cYwdwOYPg/wkYymvTaxNNQneX/9pHmKb8fpX31VVQ4pSU5Y2B4zRT4C+AqFGsH4YbMVchYpJEyn7fK+k9khEH9vOJNcRGHJQJ+IfI+WO4xIJIfP4Qc3Wo1hf/rqH38oCqclobZEiCxpUesv5g7K11SS3mzswJBbcar+UdAXkyaZSlrGs5ZZ7pYFiqGaWbDSzGqln6bCOKxH0TiY4qsaWBqojmx0l0WYRWs5A0hRlkiY6r2WDm6EZsxksfkMCmXGP6k07BRZ76m8s9ynOEO0TlNTA1si26RkpPhM9RURmPKO+G0jASmC42YD6ILYEnLUAugojt54s1UCY6UouaQ==
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=zD/+VQ4eZwHpEwOxxRCgnNIQaBA77in0OUYsN1Dq/RY=;
 b=Z2teSaAwQUHLZdpSVHFmx8DdalINby78/CfwB0XEoRYvQznclDfuZKLpZPAi/M+GLfWOu8cSFK9OkySgiSUBg7JS3322N0Kc1s+MYbFjmeRibQ5qwiKU5uFqeMYbZ1rd1GD2YSpYOlDD7E87ScqCWijX8WPdPvqmJtgroopXIUA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Michal Orzel <michal.orzel@amd.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Jiaqing Zhao <Zhao.Jiaqing@amd.com>
Subject: [PATCH v4 0/2] ns16550: add support for WCH CH382 and ASIX AX99100
Date: Tue, 2 Jun 2026 13:34:19 +0800
Message-ID: <20260602053421.773149-1-Zhao.Jiaqing@amd.com>
X-Mailer: git-send-email 2.53.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00004685:EE_|CH1PR12MB9672:EE_
X-MS-Office365-Filtering-Correlation-Id: 40c76064-70bd-4ee1-5104-08dec068b00b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700016|1800799024|82310400026|376014|56012099006|18002099003|6133799003|11063799006;
X-Microsoft-Antispam-Message-Info:
	zeArzs1NqtxZ2n9gz60DOlP6RGArDkqAsOlVM5nMwp5ODe4bdNsVf+c947jZghDwZRvGTxWgYmRv6MVbPvNaZWNFb8kGuDDH1LKt4n4fRU+zepvGr+ExcqSInqkFM6yRBQuNKx1c7rACQ0EtvMStUz6CYa68nnl80hnNRO+OJS6anH1h+NQu0q2jprMV05oGcFtcWoHTPHJWOT9St1iSL2+q4075Pzn3+ltb4hEkEf4F7eqKWRh0asPBpl1GbQe0wg2kTPxVWNiZkBL+gV3XSq6hAhjWkAOtZ51/iG4C/fqgm/jP6vbq/Q+9vyh35XWocMRE5Ms887fcm+ySB+nr1tc2YPDu6rBbAY6k3HlkEwrKF5kHKbzHFdRr1byJkGxVRCaw8qEMfCILDAlNYv73PKqEIIcUnkQcSKgkgJj4GVfZPfpb7bR2mJnJlSmpDeHn9nT1sqRGV5VbEpTLiYVo3zz/n03Hf707L/4UGKtJA1c4GqKV6jGiRCYNk8i7BKJjdH7sjkIvOqD+yblQFZWTUn6r9Fgc4gtbqz9SHuaFSwyBayq6h9d99F94PI1r5TxPVSTZBlhmiUIzgxaCgUg6q2JtM2pCWEtQYqYSVMMHMqcNdP1aL5c+pgf9i5wmRj/hwy3/4cIKYu6fKvMSZoDd28EvGyUNqx9P0v5TCzamCX8KE7Xdf6A0k0eKsYom3cVQK7kHsEx8ucLsyAodwYoioKBH+acoDWKVYx+d0mKAWQI=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(1800799024)(82310400026)(376014)(56012099006)(18002099003)(6133799003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	eGRv+64Bvr0ejtCkHw/AvtDsOlqRjYyZTMQ66aMzM6SvGoo06z9AA2rcm7ppCn+Oz9tIJTU4aNQttCCmnQFQ9NYRbxx33ekbt63FxrxIiIaAHz1tDe4QiCMxAK3nC4Up4btlXMm9ejtQyfF72caMwVl+V68+4JxX9gL28sYL8JhqH7dIRMpdC6cR15M/lHk768zddrW2kXStdk4F8eVGkNSur6VltJVAlQh+gR4sGzpXSifI5jHznUKprOWe5XLweAwfO75suHnmCUcSo6ILY9ew8YFxJxYXrCScuXbZAi7RJV13e9AiT2+kjcQ7GIjPIl8EE6ZIIYjdnEtRcn9wXUANLHfMDdFmXzwCNGaJClWXYpd4+DCrB9jJVc8vdm/ofOPL8gtjk+xzc2fPvvEes5aq21Ihu9hVll0TPTchVI6ZL+q1/6UoSZ1tRnapkn17
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 05:34:59.5449
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 40c76064-70bd-4ee1-5104-08dec068b00b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00004685.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH1PR12MB9672
X-purgate-ID: tlsNG-33051d/1780378593-3AB64938-6F370911/0/0
X-purgate-type: clean
X-purgate-size: 1071

This series adds ns16550 support for two PCIe serial adapters found on
market:

 - WCH (Nanjing Qinheng Microelectronics) CH382, available as
   CH382 2S [1c00:3253] and CH382 2S1P [1c00:3250].
 - ASIX AX99100 PCIe to Multi-I/O Controller [125b:9910].

Both chips expose 16550-compatible UARTs through PCI I/O BAR0 and
work with the existing ns16550 driver once a matching device table
entry and parameter set are added.

v4:
 - Add Reviewed-by from Stefano.

v3:
 - New patch 2/2: add support for ASIX AX99100.
 - Add forgotten Reviewed-by from Denis in patch 1/2 (WCH CH382).

v2:
 - Reorder entries in ns16550_config to keep them sorted by device ID.
 - Rename PCI_VENDOR_ID_WCH to PCI_VENDOR_ID_WCHIC as WCH has multiple
   vendor IDs.

Jiaqing Zhao (2):
  ns16550: add support for WCH CH382 serial adapters
  ns16550: add support for ASIX AX99100 PCIe Multi-I/O controller

 xen/drivers/char/ns16550.c | 38 ++++++++++++++++++++++++++++++++++++++
 xen/include/xen/pci_ids.h  |  4 ++++
 2 files changed, 42 insertions(+)

-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 05:41:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 05:41:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324464.1590010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUHsL-0000OG-LO; Tue, 02 Jun 2026 05:41:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324464.1590010; Tue, 02 Jun 2026 05: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 1wUHsL-0000O9-HW; Tue, 02 Jun 2026 05:41:17 +0000
Received: by outflank-mailman (input) for mailman id 1324464;
 Tue, 02 Jun 2026 05:41:16 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Zhao.Jiaqing@amd.com>) id 1wUHsJ-0000O3-Ra
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 05:41:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUHsI-00FglA-Q0
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 07:41:14 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a1e6cf4-5cb7-0a2a0a5109dd-0a2a450b8c4c-14
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 07:41:14 +0200
Received: from [40.93.194.8]
 (helo=SN4PR0501CU005.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a1e6cf9-212f-0a2a450b0019-285dc2088be3-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 07:41:14 +0200
Received: from DSWPR12MB999151.namprd12.prod.outlook.com (2603:10b6:8:36b::21)
 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.21.71.16; Tue, 2 Jun 2026
 05:41:09 +0000
Received: from DSWPR12MB999151.namprd12.prod.outlook.com
 ([fe80::1d57:8e0c:c16d:15e2]) by DSWPR12MB999151.namprd12.prod.outlook.com
 ([fe80::1d57:8e0c:c16d:15e2%5]) with mapi id 15.20.9870.023; Tue, 2 Jun 2026
 05:41: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=wMYTNcdODrpgPW8S+RTvYXEKZqxrJtHljPsOPFKfqsV4pDAMqj7r1JrCnK2jV53LBAr1cgcyelzHhOmW+GRpXFSIxqZAbw5zH1EipGXSEl592kBYctl0bmlb1qtN4oZaj1iJPo6acgpXY7Vuohr8tWV11Bg64WkjSj4KV9YPnfxRZq4mntKet/fmcvl+HKcG9x5p2yJYIOffaxN7Y+SI4bh5GyU1/pGzZ3gEzLUrNatlM8TbXOioJlasHh0fOpmHqyjRmklU8edXtqmM/giNLxH31m8AQrZnC2SDCCGY65vgPAP77kvOMjV1VIgA2Ic6YGR68/4J1aI/eXKyomn2pw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KjLjKd9zOgeX8FDRwnBV3VRSkrUNaligsldIFJb7QRM=;
 b=iQ2/7fJEkfEGYbJpc4vLfIX599g1JEq/9TPmb/X+WH7CJ4rjxl5QzqpnU6Oj5O1uCnOwdJ/RhQ2qwdmsGD+LUNHgYpUMxw3k0PFKBEmv+0xwuryuyJYO9DL9C4VnBpTOp4pVIpdugF8TsJWcq/2pvvSc9eIiherCr0wRnmxpCbnE/taSNPOzQClAhDC1d8ZL8MmKWJ/rL/A0bmT88XEfFWC6fRdry/lx5bMpLeIxkaPmWctiwwQy0C8w1F9JmxcBosvdvlVKg2K+FUCNIQBVIX4WSwdlW3TU6+P9K9OKdIF/2l+hIO5Xz2HyYkc6WC22MxpHQK2ZCXBU/VaPK7eXVQ==
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=KjLjKd9zOgeX8FDRwnBV3VRSkrUNaligsldIFJb7QRM=;
 b=x+eINqGYcxHGeNWBXY3BaKK6znZfJ9cnPgVbUWeoAC+ufg+WW1K0F4sPAFqiNw3A4hxrR6u2MQUkpHgRtzbHCA+M4Ssae51sKRELxjU3RE0gYrB2CVOFcRHL1Kv0pgB+MD7sdOmROgZEtf/W+LlNYYD9wP22+wtClqete+5Ljs4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <b287bd22-c28a-4123-a9fc-02e8bf25126c@amd.com>
Date: Tue, 2 Jun 2026 13:41:00 +0800
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/2] ns16550: add support for ASIX AX99100 PCIe
 Multi-I/O controller
To: 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>
References: <20260602053421.773149-1-Zhao.Jiaqing@amd.com>
 <20260602053421.773149-3-Zhao.Jiaqing@amd.com>
Content-Language: en-US
From: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
In-Reply-To: <20260602053421.773149-3-Zhao.Jiaqing@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: TP0P295CA0035.TWNP295.PROD.OUTLOOK.COM
 (2603:1096:910:4::17) To DSWPR12MB999151.namprd12.prod.outlook.com
 (2603:10b6:8:36b::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DSWPR12MB999151:EE_|PH7PR12MB5805:EE_
X-MS-Office365-Filtering-Correlation-Id: a875da5a-4ce9-433a-c4b2-08dec0698c11
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|56012099006|18002099003|22082099003|11063799006|4143699003;
X-Microsoft-Antispam-Message-Info:
	6aPmBvz9Tr6IoYr0kHsfT0rG7c5UGoxRf57Euggalmns4td5JKr+s2ADnRuyHcLsaKTYHScupwfLplG3TeV1iqf+NivXEDqoKFXTOyOXmIyojWGwdAnXfMpFwtSrhcU/WZvJaf5e66928EfUp0XsPVvGTVtQOSqrVtt5+FWu1CT7PCn2NV2713778rsa25SUcYNnB4IzpIiTAKZFWqUgyeb9UYDAEvLl7wqtayT9uCoXL/CNPiUDxYzIz0Ov4BIgxixUslAERnw4dIFRzEZjp5vo7nNFdtiGbIp666ugvfgKrXMIZSJPOTr5E0v/zYW5ScgRVqYwwO5lH5eNvBUhhakjRWHzaIxYYRGhP3Q3wqAc4Zn9QdB5x3MIoTmca9YzbzRQIYQ020f0VoFRXhhDqwlrh3iM1zBB+cZ+cWYt58/vHcfFP5GdvptDX03JJb2CvZr0Zrq1Ryde+8kcqTPEAzEzKSH3AkfNOAMq8A3LTZdpgrdJ5tIrlziYLdZFSgaeP+HV87ILybhH9UD18EDHqS+LFuXSWm9G/nda2regAXXvhjYHbb3YasyOCnYKNTEOAXBk2vNUfzy2op6BAbMKZGTM/F6+y4EoPigGy82U2cewLuBQZii2FG7Flbk4nu7HzIzf8A9QQOhJoVqdwGeoIY825GODfjzvV2FnBcg4s54Kk6zMVxpvNfnbbkTVjhLj
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DSWPR12MB999151.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(56012099006)(18002099003)(22082099003)(11063799006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K1pXTWhCT1pIblE4WUZTd1Q0a0EvWi9GbDZZSUZrVzkzNUdFYmFEQlp3N1FJ?=
 =?utf-8?B?V29ianpIN2VPMyttNjArY3lIdVkybGZnVFZZZW12eUJpT2IvSkVXL1FjbjBv?=
 =?utf-8?B?UndsUmtQWXdRUDE3eGJkSDlhd09ydmk3YjZWQkNUbGNuMmtyOXl2Z21ldmtM?=
 =?utf-8?B?WHNrck0wa1VxQlJBZEY1alBzb0EzUkY3YWhGYzgwUTJSNndJd2RVTUhHWDd1?=
 =?utf-8?B?dnhlSjFMWXBwQjFIU2IybTg2aUZaRHNrUzZseUhpbjlDcGZYSmx1ZkpVQmFp?=
 =?utf-8?B?RVU5b0s1S2dPbmlMbWdUOVF4Y3YyM0RaeFpFdXJucmY4MWNnZnAvaUY4YXYz?=
 =?utf-8?B?UC83dGkyMkxKWWozWnNEZ0xkRkxiTXhoSG1IN2tOOHN5cHdxOGdEdnY0NkVR?=
 =?utf-8?B?WEZjWFU3dzBidTNld3VyeUNQa2V0YmVFUEpiZ0Y3NG9HOVlJc2hwd0VuaGs3?=
 =?utf-8?B?RUcvYVpKLzFnZ3VBeWJ1MDBWUkkyUW02UEludkZ4ZExvS01GdXV3dE9zamE5?=
 =?utf-8?B?SVBOa2hWTFZqSWtaRVJtN2MwTndhOHA3K29wT0NJaW5BclNVbUZBbitYT05z?=
 =?utf-8?B?VXoyUUJFenYrUU5uUVRlZ1NUclN5ckZyK0xTRnlDaHl1c2dyU3E1cTdMcGhS?=
 =?utf-8?B?YktzMlZOK1dlckN0dklwZFBZRDUxc2FyUHU4cE5PbEtLNXFMcXJONys5cHdh?=
 =?utf-8?B?MTNPQkJwTjVlNmF0dERxZnhrZnE4dy9FSGlxakpEeW9XYlpTZTBOc2I5MDND?=
 =?utf-8?B?Z3d1cGdBMTY2TEhsYVVVMUhac3ZwMVpIZlJTbzM0S2hxZWtnQS9JUXRTK3RP?=
 =?utf-8?B?cEZBV2QzZWwxSTZwYjM0N1hMeHgvdXRVcGVxUlNOOFBFMWlBRGFWZTV2VzJR?=
 =?utf-8?B?YXFMMnBkSldTQkpmOVJWbWQxSW1pMHVRNms0a3VxcUVDV3hod0tSSTNqdXZY?=
 =?utf-8?B?TjZiU2tTcE9IUm52dGxMUGVhNm5TUmZBWHliWmJZQUhxTEVQTjhUZUt1NlNz?=
 =?utf-8?B?bVR5RVZoK00yQk5lYVN4V0xzcHFUYjFncFZRd2Y1N2R2M0VISnJkOXZBQnZz?=
 =?utf-8?B?Qk4xcWlmQmNjdUlPdVlNQ3l1R1V4TUhUc3hGckgxSTkxb0tpcUMwTFJScVdL?=
 =?utf-8?B?QThRWjlDdWZRcTg0cHRHdzBkU2lxOXVFYVR6ZlFBNGo2eVpxS25xSTNBN2p6?=
 =?utf-8?B?RVhjMDd5a3pRYXdnRWRGcENlNCtmZ0MyczlkeElwNG54eW5DV0dwU09RVTgz?=
 =?utf-8?B?ZEllZWRLM2tTaEdIdCt3Sk44OXpXWmNtak1BM3VmdWRvemlwUzlUdkMvV3N3?=
 =?utf-8?B?dTZEWTBuV3BScVRkd1JINkhlNldyUzU4M1diWEpqcHh5OWx1VTI0MEZ3UmhL?=
 =?utf-8?B?L3pTeWRuLzBiMS9jbGRsOS9GcUUvNmREQVRDS0h5YWhZMkMyVG4yb05kblN6?=
 =?utf-8?B?eGNOUDUyaCtuYlVRcU1oSXlxcWh4MVQyMHNpcTNPcmhObGR4M3cxQ2toejAr?=
 =?utf-8?B?MmUvTlVsdkFHc0xzOGlLRUJnbnR4Y0ZHZmYrOXp4dWpseHdqNTBPaW1CdkRL?=
 =?utf-8?B?d0JoNnZFdk5FbmNlN2VVckJQSlNiU1RKSGZEYVVSRXhkY1poRUc2dkNySm5K?=
 =?utf-8?B?aEo1Uit5TXFwOFAvRURsK0lYenFoQWFEM0pZdWF0VmtHUndXZlNDeUM1N2lV?=
 =?utf-8?B?em41VHhBZHhWY2RONXEzTkFsYzQ3aUFVRGtGT3F6YkhZbU9IV25rREhDMlNu?=
 =?utf-8?B?K2UzVkR2K0wyRmlrZzFUUDZFSmQ0Y0pQYWpxMWhsNE12RGR0WHIzVG9PR1Vy?=
 =?utf-8?B?TXdSNUlYOWN0WmNWbmUxTlh2Vjd0dkZOUGhsTUsxWSsyZGJHY050aDhJOXNn?=
 =?utf-8?B?MFhFZWQyNlV1L2xEaGxlbnY3S2NzQUc0Y1dPbWhuM3NVRUQ2aVhyc0diN1gv?=
 =?utf-8?B?blNrTTJ6UjJDNEZiektXM3lIamlSWE5PTHZlVld1b1NoV3lUSHdjOUVSVkdQ?=
 =?utf-8?B?YlE0Q3ZldWNqTmlzYkM5U3B1QWFlWTBvamJubnBCOWs1NEYxSDJQV2dINUNE?=
 =?utf-8?B?bENhbmkxMmJDZ3dOb1RxeUpaRDUzUzJJRUNqRzlEamJPU3lzRmpVYStLZ0Zk?=
 =?utf-8?B?U3JQOHhiSVNiYml1SHBJSUNzZGg0QWw1TitlZVZzREdaelU0SVE0TFNmQVIz?=
 =?utf-8?B?YkNQN05QZzRMeGIwTTNKOE1KMlMwVzZsUU02UWoreXlMSkRVL0pkZVJtUmUy?=
 =?utf-8?B?alFTVUlnWXN5cTE1UG9EcGRGc05Oa0QyalJCUHVLcGNwbCtlUDg4REdqREhH?=
 =?utf-8?Q?LoiK5px/ujtJAxTpcx?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a875da5a-4ce9-433a-c4b2-08dec0698c11
X-MS-Exchange-CrossTenant-AuthSource: DSWPR12MB999151.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 05:41:08.9949
 (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: H7iim5MWo1vqLQMfCwVlacF521YxdM2JSpgGjeJb1tTgQstnN2kDiv+6t73tr4OOtIsSPXaH0gYn3bPyGDcoSw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5805
X-purgate-ID: tlsNG-42698a/1780378874-1956BF3B-418A5367/0/0
X-purgate-type: clean
X-purgate-size: 2481

Hi all,

Apologies for the noise. I forgot to remove the incorrect tocmd in git sendemail config and
accidentally included the maintainers in --to instead of --cc when sending this patchset.

Sorry for the unnecessary notification. I'll be more careful with my git send-email recipients
next time.

Thanks,
Jiaqing

On 2026-06-02 13:34, Jiaqing Zhao wrote:
> Add a PCI device table entry and matching parameter for the ASIX
> AX99100 PCIe to Multi-I/O controller [125b:9910]. Each port on the
> chip is a standalone PCI function, with UART registers on its I/O
> BAR0.
> 
> Signed-off-by: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
>  xen/drivers/char/ns16550.c | 15 +++++++++++++++
>  xen/include/xen/pci_ids.h  |  2 ++
>  2 files changed, 17 insertions(+)
> 
> diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
> index cf10a06a3d..26503070dc 100644
> --- a/xen/drivers/char/ns16550.c
> +++ b/xen/drivers/char/ns16550.c
> @@ -96,6 +96,7 @@ struct ns16550_config {
>          param_exar_xr17v358,
>          param_intel_lpss,
>          param_wch_ch382,
> +        param_asix,
>      } param;
>  };
>  
> @@ -872,6 +873,14 @@ static const struct ns16550_config_param __initconst uart_param[] = {
>          .bar0 = 1,
>          .max_ports = 2,
>      },
> +    [param_asix] = {
> +        .base_baud = 115200,
> +        .reg_width = 1,
> +        .fifo_size = 256,
> +        .lsr_mask = UART_LSR_THRE,
> +        .bar0 = 1,
> +        .max_ports = 1,
> +    },
>  };
>  
>  static const struct ns16550_config __initconst uart_config[] =
> @@ -1212,6 +1221,12 @@ static const struct ns16550_config __initconst uart_config[] =
>          .dev_id = 0x3253,
>          .param = param_wch_ch382
>      },
> +    /* ASIX AX99100 PCIe to Multi I/O Controller */
> +    {
> +        .vendor_id = PCI_VENDOR_ID_ASIX,
> +        .dev_id = 0x9910,
> +        .param = param_asix
> +    },
>  };
>  
>  static int __init
> diff --git a/xen/include/xen/pci_ids.h b/xen/include/xen/pci_ids.h
> index 15e938225c..fd424ef55d 100644
> --- a/xen/include/xen/pci_ids.h
> +++ b/xen/include/xen/pci_ids.h
> @@ -5,6 +5,8 @@
>  
>  #define PCI_VENDOR_ID_NVIDIA             0x10de
>  
> +#define PCI_VENDOR_ID_ASIX               0x125b
> +
>  #define PCI_VENDOR_ID_PERICOM            0x12d8
>  
>  #define PCI_VENDOR_ID_EXAR               0x13a8



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 07:02:03 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 07:02:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324479.1590018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUJ8G-0003BB-6B; Tue, 02 Jun 2026 07:01:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324479.1590018; Tue, 02 Jun 2026 07:01: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 1wUJ8G-0003B4-3T; Tue, 02 Jun 2026 07:01:48 +0000
Received: by outflank-mailman (input) for mailman id 1324479;
 Tue, 02 Jun 2026 07:01:46 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wUJ8E-0003Ay-B3
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 07:01:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUJ8D-0026nS-9F
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 09:01:45 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1e7fd4-bab6-0a2a0a5309dd-0a2a4505875c-28
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 09:01:45 +0200
Received: from [52.101.43.16]
 (helo=SJ2PR03CU001.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1e7fd7-aaa8-0a2a45050019-34652b10e033-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 09:01:44 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by DM6PR03MB4972.namprd03.prod.outlook.com (2603:10b6:5:1e4::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.11; Tue, 2 Jun 2026
 07:01:41 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 07:01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=pWZ+5UNW5/5hjd9+4ibsgWgKtHlhNjTclxHqEWh6bU6oTLR7dMOI4obbt/mVg5IE3M6IjbqeG5bQDupDWJLAiDpL3xw+GU83pzNv/jwD+6N0C8us46P/RdGE0rkh4L7n9Ps2WjwNyzgDzc4EDGF95AFDAOcFXy6QlQoWiBdemwdTTUIZtp1blulGc5GBysXtkQ7Bgyei+ENt08KS7t56t3iSKy8lZrbBUrn2hgRWkDEyxw10ybFgG0n9vqOMxIsGI454/yZBBh+FeAhuR9dSv7BurescH07b/ta6U+foZ/hPFrh6YbDHI+EMnxdKg87UPRA1FG7NzwdNHSwoc/6dgQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QjkYJEE9msaJEOSaFNU/NRAlfzuZPs+GBMk6LOQPqyQ=;
 b=wCKSy7ViArAH0mrLxFP0NCRsxnJX9TU8dtXHHXjf0CshZ0YvTqlGIjT69wt2snTdcsocBqm64VNzG8q0Qbflrqd5ljdkp9ogKyDJnG1+1g5FJoSsN2UjmVJucE3Sl4Qfwryy+Izf/i47W6VWzzczmrpLm0XS3QOTZYYu20zsVy9bR5IJ5Hok7+wPL9odR00/F4lLH5NNkzD8JEGbln5MrHr9j8wl9BG/qLZHgUAf0I9OBN617sgXNVvO3vNR8mzhO4uLdPyoGdMT4JBOlGE9mfa8rYdQkkF6ZFk39E9A7jM4ebVXdSjLpAwV5gSUxR8sbYTHp6zVeJ2iNZbkxdTEwA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QjkYJEE9msaJEOSaFNU/NRAlfzuZPs+GBMk6LOQPqyQ=;
 b=oJmCb3AVmrgpvRAH/9zqh5PAJA4KUDtKgjKK8Hp/NUs8QwP/NhxqI//NhmhVc+upQHy0OLqt5ybCgXaxZjoYq1sU3UMgdt1cl5wwAXPbCKjCYezqu0uxkA9+/RwVtzjvbU+dQ7a+I/sICd9tu4Y/uXot+L5mK8VeMv/nyY+dX/c=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 2 Jun 2026 09:01:38 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: Re: [PATCH] xen/x86: Change stub page freeing to fix smt=0
Message-ID: <ah5_0vvipY2Wch-x@macbook.local>
References: <20260526203114.40882-1-jason.andryuk@amd.com>
 <ah26nl95MgqhPPAi@macbook.local>
 <5cdfca65-50f8-487a-a146-86e1a68f459c@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <5cdfca65-50f8-487a-a146-86e1a68f459c@amd.com>
X-ClientProxiedBy: MA3P292CA0072.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:49::17) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|DM6PR03MB4972:EE_
X-MS-Office365-Filtering-Correlation-Id: 86da432e-88f9-4940-9c71-08dec074cc6a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|18002099003|56012099006|4143699003|11063799006|22082099003|5023799004;
X-Microsoft-Antispam-Message-Info:
	jYp6A9F9tPvys4KOC9ZXrbxD2l52oHyZwuE2ReMD3p5is/mhDv7f5Msheub4XrNILOFBwCIy0fykxfe6tc/Nq1MWjrq9iMULHb9pDU0UY95b0iZElBtdY6RdEj7p4ObT+dUKrutc6lHunFfAq8cbkTmfOGC1YJpbRrUawLje2J84xkgfDgkkMwykV+TrtlyS4Tl6Js8IzaHKrv1PMix2fNaVyvg/jcp9Og9MQvsTtv8ja/n316mytS+EG0ipvF8uT6TL4HkSsktU9sY09r2GQ3Q7dkMKkZ066kcbjF4eOXxOR+ULEmB9P/csnOrZ2A2wx9mqe6pT5W5n648bEIRQH2bJWogk7txxvg2pQ5Rb0hR3/Os5qXqy77yp8oTTdqp4kVpFDWLdK7NxEp0grWGxY4lamQFtUSrzCWExH1oYKfpKClYSoXRIzt7JUCAZNWwttN3SZguC4qGNPzlsPhvcVX97c9orbENqED/u87RDsnnIvOyekRUr0ntQ+NQ7vTLMzsV6s2zwrgi4bqad6A/wIT6VXz1mfhP/tPRqdsYs/NappbNVzVpkIO4Z1VDfOHNI7arqrZ8Km9Z5yo9AB6IM8YpGQzPFhxBw8wpo64Ipt6CnEnKjZynV2eZQJonnvmg5Oh2O4JDXaSFf0d9gzJJsJr6ISAa1hkDzikVKQetaGpGf3dFFkPv5hYy5Xf/In8SC
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(18002099003)(56012099006)(4143699003)(11063799006)(22082099003)(5023799004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d0F1WmxGRStjS3FKYTN6emJ1bVRXQlY3OXUrbUlheHhpcEVUektSNm8xakl3?=
 =?utf-8?B?Ykp4UmRZa1pLZ3MwQmNodCsyN1JicFpxYS9lcEVadENXYjZLVERScnhiUmo4?=
 =?utf-8?B?R2g4OE16bDFQK3F0a29ZS2paTnpQbDdLb1ZIcVFWS01aQy9ycHpYL3lGcDB0?=
 =?utf-8?B?eU5rTm0rQ2FGOTlaMUVKYzdnV0I0d1o1bngyVmJ4c0xJVTRLTzc4YUR0RHk3?=
 =?utf-8?B?UEVBcC94ZlIwWWIzbHdXVUFvZUUvZnB5bEFYeGVDVTNZdllmWkxsM2Q1TjVC?=
 =?utf-8?B?YzBRaDQ5ZnlwMVpCRGxJSm5sWk5DeGRmWEI2QzZ6Q3llV3BncGIyN1F4cThG?=
 =?utf-8?B?Y0t5ekkrWnN6Q3Q3cGxPRmN1NU4xU2tMcVAvcG51YkFYcmVjaXA2NEtGeC9L?=
 =?utf-8?B?clBkVFZ4QWM5OVl0NXhRcGRiTjVzV3Y5UUdiR1d6WTB1SU1lcHVTbkhqTUZL?=
 =?utf-8?B?SnYybSt5TzBld0ppQ0UrMStJeUt6MVk0VXhxdm9tWnRLTFR0S2pzdlRkTXB3?=
 =?utf-8?B?eFpxZHJ0TjFjM3Q2Q3U4c3o3ajJiVjFaRWwwcFlEYjM4NklBWElwK2s0S0Z5?=
 =?utf-8?B?NGJXcERFUzNXRnMwanBMMDJRQUtzalNMdVd6cW5BY2NTUmhhQ2JoMzZFRHhW?=
 =?utf-8?B?bUZhUW1naDBUMUVRd0t2WElIbnhlVENLRjc2QWY2QXF0TlFVVHU0ckI2V0g4?=
 =?utf-8?B?K0FKN3FBeXp4WHhlYmpyYkVDcGxKV3FvZlllNmNzU2Y2eXZUSk1DWnpYT3RB?=
 =?utf-8?B?TGZDZ3NQTlBkNGlRZ1NRaUtoRHpyclFma2NJRU02N2xRa0VyR2t5dGtwRFMr?=
 =?utf-8?B?bGZOK05tNXJBYjAzeUNIUUFrS1lRRzBzZ3ZidzZ6NFNyMGt6alFvWW03bUI1?=
 =?utf-8?B?dlo2VEhXKzR6LzJIM2FsT0tEeGdmd3BPK0JEWlZvRWFPYXB5MVdxd1pkZWZh?=
 =?utf-8?B?U1JmS1ZEdXN1VzlhL3ZBd0E3VyszUGZMS0I4ZDFjdmt4b25wZ2RrNDY3c1B1?=
 =?utf-8?B?dVZoajhrVmxadEdBOEhtTXEwNXZBR2lzWWpCTStHaFJuSXhsV2RaWXV3dlNv?=
 =?utf-8?B?c0Z4Tkl2U1EyUkpnNUsxRUl2VUx0SnA4bi9OeWE1d1hYM2pWTmFWUVpXbnJK?=
 =?utf-8?B?WFczTWhMNWJ2a3YyYnpZT1VmcXBNMHRsYW1hL2g0Zm5tS2tkenIwc1ZDSXVi?=
 =?utf-8?B?RWx3Wk1CbHhBU3o0WHU1a0hyNTBZdmVKaVNxTVZIRWlMejhzU2czN0VUSm91?=
 =?utf-8?B?cWg1MEtuVUFuVFp5SXRkbnNlSEcva1hRNEFWbHRYdTQ5MlM3UTB4dFJNK05t?=
 =?utf-8?B?UDBWQlBTbFQ4U0VGSmdpZWIvMnNKRzdsWmdWK0dGREI5aktOVklReWNxWEtW?=
 =?utf-8?B?OTFWc2xWVXN0c2xLR0lZOEdZei9obEh3cEdZaVVnYXNScnJoMzZXRkpkVzRl?=
 =?utf-8?B?ZFFzWExJZW1YcnhoN1NyeHV3NEp4QkcyOVVnNkpmaWhqNmVia3p5V2J5aUh4?=
 =?utf-8?B?T1FDd3pBOVlJYzNsVDdBUndMdk9tY2lEQy9hMEliR0xpa0E0cmZoMkZmVWlW?=
 =?utf-8?B?WU9OaVlyRFNMRTVXQ0ovcEhRc1ppZmVTUlV6cVJaTTNJbEtTMm1tQTVtb1lM?=
 =?utf-8?B?WmZUemI1cGZsa2dxeUdsNjExdk1yc0RERzVVTHUzRzB4YnVaQzNvbm1aTVYv?=
 =?utf-8?B?RHNnNWpZb3orTGZPYzZLZGg3LzVSbDBDcHV2RDdJWm93ZWRpa3ZIcTVMRGpZ?=
 =?utf-8?B?UHpITFhtdjZoUmc4YlZ4RHo2S0drM29CWUhra2NOOHloeUliVU5LbkNzS2kw?=
 =?utf-8?B?N1l1RFN1ejdjYklOd3N1RWpjdmZYaWEyV0FQelk4eTBrTGhHUGZiSGs2VW9o?=
 =?utf-8?B?U1B6UEp5ekRHVVlzTDNnYU9hUXgxR1BMc25ISWkxZDZHOStKMzZZalR1eEla?=
 =?utf-8?B?dFVFdTV4R0ZzOXFEaWJOL1ZEcEZkVFNidVRObit3YmZyamlxWU5EMWJpYkRE?=
 =?utf-8?B?dmxyMzV0TndxNXUyR0FBeXJvdmFiTDkrT2ZjamJmLzRWY1FWVGdWV0tNQ1RF?=
 =?utf-8?B?ZW9WanNENTFTTmdMTW82cjZsYXFTak4ydENWandWamdWVGZxRzR5TUxSVWd1?=
 =?utf-8?B?SU5UTXlKTW8yaExWV2pBYXlEUUdLb0NQSU9VRzlQNEY3YnlSRHR2Wm4zZ3Vr?=
 =?utf-8?B?TS8yUFFxbHBnV0h3OElBTVQwTkxwRFBnTHhObFJYeDBBREpqbWxIT0IrSzRt?=
 =?utf-8?B?bVRhVXRTNExnNnRkUng4LzRYK2h2YXdXb25NZjlhNWpTU2V6ZnlTYjRodXZa?=
 =?utf-8?B?Y3JDeDBhQXdwMFBLd2U2dzNKUXhzVGk3eHZ5cVJiS1NFb1p1Y2x5UT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 86da432e-88f9-4940-9c71-08dec074cc6a
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 07:01:41.3809
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: iDE1guwbnIfnbIKRSPd3JGM9JLyo5HYjvHJUFChPtmENzafZIx5zDkEMjlUrY32Vu7LbGckHJ4fyoF/oWbNz6A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4972
X-purgate-ID: tlsNG-c201ff/1780383705-D937C443-D4D11DA6/0/0
X-purgate-type: clean
X-purgate-size: 5142

On Mon, Jun 01, 2026 at 05:07:52PM -0400, Jason Andryuk wrote:
> On 2026-06-01 13:00, Roger Pau MonnÃ© wrote:
> > On Tue, May 26, 2026 at 04:31:14PM -0400, Jason Andryuk wrote:
> > > A single stubs page is initialized with 0xcc and re-used, with multiple
> > > CPUs each using a portion of the shared page.  In cpu_smpboot_free(),
> > > each stubs area is checked against 0xcc.  When all are set to 0xcc, the
> > > page is freed.
> > > 
> > > Booting a system with smt=0, CPU0 is initially setup, allocating the
> > > stubs page and initializing to 0xcc.  When more CPUs are brought up,
> > > CPU1 is initialized and then immediately brough offline as it is the
> > > sibling of CPU0.  Since the page was initially memset with 0xcc,
> > > cpu_smpboot_free() finds all stubs as 0xcc and frees the page.
> > > However, the page is still assigned to CPU0 and continues to be assigned
> > > to other CPUs.
> > > 
> > > Meanwhile the page can be reallocated, which can lead to misbehavior.
> > > The particular instance was the stubs page re-used as a page table which
> > > later faulted when the entry was all 0xcc.
> > > 
> > > Change to initializing the page as 0xd6/STUB_BUF_FREE, and initializing
> > > individual stubs as 0xcc/STUB_BUF_USED.  0xd6 now indicates unused, and
> > > 0xcc indicates used/assigned.  When freeing a CPU, the stub is set to
> > > 0xd6, and the page is freed if all stubs are 0xd6.  Initializing with
> > > STUB_BUF_FREE lets cpu_smpboot_free() a page that was only ever
> > > partially used.
> > > 
> > > 0xd6/UDB is a 1 byte invalid opcode, which is similar to the existing
> > > use of 0xcc.  0xd6 is used to identify bug frames, but the stub addr
> > > (e.g. 0xffff82d07fffe000) fails the is_active_kernel_text() check.  It
> > > should be okay to use here.
> > > 
> > > Fixes: 7a66ac8d1633 ("x86: move syscall trampolines off the stack")
> > > Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> > > ---
> > > It would be nice to use get_page()/put_page() to let count_info handle
> > > reference counting, but they require an owning domain.
> > > 
> > > The listed Fixes introduced the use of 0xcc, but the smt commit may have
> > > made it more problematic.
> > > Fixes: d8f974f1a646 ("x86: command line option to avoid use of secondary hyper-threads")
> > 
> > Speaking with Andrew, we believe it might be easier to simply forego
> > the freeing of the page, possibly something like:
> > 
> > diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
> > index ff05955bae40..62c6cbf4b561 100644
> > --- a/xen/arch/x86/smpboot.c
> > +++ b/xen/arch/x86/smpboot.c
> > @@ -990,19 +990,12 @@ static void cpu_smpboot_free(unsigned int cpu, bool remove)
> >       {
> >           mfn_t mfn = _mfn(per_cpu(stubs.mfn, cpu));
> >           unsigned char *stub_page = map_domain_page(mfn);
> > -        unsigned int i;
> >           memset(stub_page + STUB_BUF_CPU_OFFS(cpu), 0xcc, STUB_BUF_SIZE);
> > -        for ( i = 0; i < STUBS_PER_PAGE; ++i )
> > -            if ( stub_page[i * STUB_BUF_SIZE] != 0xcc )
> > -                break;
> >           unmap_domain_page(stub_page);
> >           destroy_xen_mappings(per_cpu(stubs.addr, cpu) & PAGE_MASK,
> >                                (per_cpu(stubs.addr, cpu) | ~PAGE_MASK) + 1);
> >           per_cpu(stubs.addr, cpu) = 0;
> > -        per_cpu(stubs.mfn, cpu) = 0;
> > -        if ( i == STUBS_PER_PAGE )
> > -            free_domheap_page(mfn_to_page(mfn));
> >       }
> >       if ( IS_ENABLED(CONFIG_PV32) )

I think I've made an oversight in the code above: if all 32 CPUs
sharing the same stubs page are offlined, the reference to the stubs
page is possibly lost (if CPUs are not parked) and a new stubs page
would be allocated if any of those CPUs is brought back online, thus
leaking the previous allocation.  The simplest way to solve this would
be to introduce an array that indexes the stub pages, and replace the
logic in cpu_smpboot_alloc() that figures out whether stubs.mfn is set
for adjacent CPUs.

> > (there might be further cleanup possible if the page is not freed, the
> > above chunk is untested).
> > 
> > It's a single page shared between 32 CPUs, and offlining 32 adjacent
> > CPUs seems very unlikely.  IMO the extra complexity of having to deal
> > with the freeing overshadows the very small memory gain we get from
> > it.
> 
> Hi Roger,
> 
> Yes, I made and tested the same change locally last week.  Well, I retained:
>      per_cpu(stubs.mfn, cpu) = 0;
> 
> Maybe it would be good to save the mfn in case the CPU returns?  But I
> thought per-cpu vars are cleared, so it wouldn't be available anyway?

Depends on whether the CPUs are parked or not (see park_offline_cpus).
I think leaving stubs.mfn is fine, in the parked case we avoid part of
the setup logic by already having the mfn cached (no big deal either
way).

> Also, I was waiting to see if anyone chimed in with other ideas.

Maybe you could assign the page to dom_xen and then use
{get,put}_page(), but again it seems overly complicated.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 07:08:34 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 07:08:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324486.1590027 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUJEk-0003zD-Qt; Tue, 02 Jun 2026 07:08:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324486.1590027; Tue, 02 Jun 2026 07:08: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 1wUJEk-0003z6-Nx; Tue, 02 Jun 2026 07:08:30 +0000
Received: by outflank-mailman (input) for mailman id 1324486;
 Tue, 02 Jun 2026 07:08:28 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wUJEi-0003z0-EK
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 07:08:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUJEh-00Arcs-NZ
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 09:08:27 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1e816b-bab6-0a2a0a5309dd-0a2a450ce46a-2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 09:08:27 +0200
Received: from [52.101.62.33]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1e8169-62f1-0a2a450c0019-34653e21ee88-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 09:08:27 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by MW4PR03MB6522.namprd03.prod.outlook.com (2603:10b6:303:125::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.14; Tue, 2 Jun 2026
 07:08:22 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 07:08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NBvWprghvrz6ZdsnCoEh+x9fHFuAmbtpvvZtVPSPnuYKczpq/w0TvIq5jAYd8dW4bAtNMN6UnwAuZkvlSN+h1MS9uhJAiSODwCKaR2D2WqqKlrarQ3Gaxc+JIwv7scA+eWOEwUA5uEjJGUfIZEacyeOT+tEShDAlzIa+oyTPX1WPND99CrVT19srZk1oKCtrDOrC3tFb8eM5WGK0eQ5IpJptcG+VQBSPUFp+4+R36Z1h8Ae6aBA97dqSWmQIgbMMptXwcrQCPjPw1UZCenpEmvvC2F07pjJjddvId21xBGQijcNNo3ZYy46LDMQFv5g2ty5Vtw/MWj81NAlP7mKDCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Az2Mydg8Ou0LqfHDi3zI+N2hh0CsCH1l8vu/gmMRCtI=;
 b=cms5tElIvlMulMxFjzMeuurFRmJ2ibS0Q/18UX4Tp/XliSy88FYkQf7DC2Db+gr8nDyNAc6tsGLPL/+RMVxtIXAVkoK/0EjZWCdJKI7MuzLqH2kSmbh7IYMsJdfdqOfry+i2zBMOAEuNaEsF5jCm8c/oGSE6DItRLx6kQnj6wYbVcV00a9dG2iJBupyO04nT0uzEO3ACIr+9/AwMT06NJLToOhJsZFLxL8fxtuH8Lx3vzCC63FsYfbsLn35ywHe9dll0FcOKrbfLTJfU6g2z7AjZHLd0dkYhAyfJ4FHyGCkUShJJ4+WQjMIDW7l+73+YC+MuT5MDeFr1WOhUcJQttg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Az2Mydg8Ou0LqfHDi3zI+N2hh0CsCH1l8vu/gmMRCtI=;
 b=K/UbJXCVNoeHMRQdjgtGoCudvhf4hsHCKr94ePdLqVNvPfOgl+xVbfJNevNx2y2ZcSC9vfoaqWOUuGMfOBohAdprltfFQL/npNhWvIFntIVohmKDCbeRvp5o3/HtNJURqwJgfwWbIcAxEHo52tLFPL4pc6C7UzY3IXcBFK+AeBU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 2 Jun 2026 09:08:19 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
Cc: xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Denis Mukhin <dmukhin@ford.com>
Subject: Re: [PATCH v4 1/2] ns16550: add support for WCH CH382 serial adapters
Message-ID: <ah6BY8gNUlPZ8PQp@macbook.local>
References: <20260602053421.773149-1-Zhao.Jiaqing@amd.com>
 <20260602053421.773149-2-Zhao.Jiaqing@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260602053421.773149-2-Zhao.Jiaqing@amd.com>
X-ClientProxiedBy: BN9PR03CA0577.namprd03.prod.outlook.com
 (2603:10b6:408:10d::12) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|MW4PR03MB6522:EE_
X-MS-Office365-Filtering-Correlation-Id: 30ccc524-0246-4c93-6c4e-08dec075bb6d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|366016|4143699003|56012099006|18002099003|22082099003|11063799006;
X-Microsoft-Antispam-Message-Info:
	sM2NXBYw94LxqZ12kceOWoHKobIV/79E+PD4Ct+6b3/rPpuwPhJ2VudMpYfV3zSRd/0cdXKwN5kmgcvcCZzFRLKjUNaRfsP+9JBZrDzCugO7ELheWPBX47bftuiBz3MCjIgHwkc88A3UEBG6tiHZQxAHyWcdMBvFtdGJavHrDRoXqCDpfMVlDYC3LUNNlFSyqYZE/F6NwrS/sweUrvk/+zMDd6PwbiXR+NgToouRiL9Lz3xY7ngOMXqptc8+IWEifDHoDmu4dEBNoRV05GitvfmKlsD03+d5bu6kkDI3dTblP6M72OT8mH4iBT+JzwbEO0d5YIy7dWFHuGlvDd6RIvubz1Avj0XcnvagW1i5i+5Dksahpx+nCBp4MppXZCbqZQh3AYAruXpAlSo6WkEG0bIeBWQ5U16tsFxtaaxDASOWuk4MvNPqMLeVJOrls2NplivrjTdHdnVsY/Tf5sABv/A0YhhPh2qAwTWq6JvJ9vgqVsdbfWatkBG7PmY0sLsMJWgtSWIY7ku925r/urdjJ73P2BwYFVSGfTMSgp3Y7utIRwgB6QezhN98mYeVGGth7GV2/2r2FgyMGDgWZfjuOuC93HLaOqdB53H76fWVVNX2yNtbmh87SSaN5zwIIZ6nkguZ3fXvUXrvGOTR1KoTY6rfIC5dw0cJsqxN0xxzD9gOtVc+eAB6HW01f/UtHV+0/JTD2ejKyHTuiVeOPi4uug==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(4143699003)(56012099006)(18002099003)(22082099003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dmdrQmhwZmRocENFZFVhTEhRQXF1blNHdWdMOEovUjFkK3FaMGZyYWZvQWp4?=
 =?utf-8?B?bHdNem9YSkJzaEpIdjhvd05ocmg4UnNpZ2FueFFrZzM4S1ZPU2xlcmQvVTRE?=
 =?utf-8?B?eC82OFhtMnRPZlJIR3U4cHc5K0xIcXp5YVVLdlpDaDNRK1RMZS91RXVydlJl?=
 =?utf-8?B?ZW55aHJhWTBxZDJGUVZ5NS9SMUxJUnRaazM0bGRSeG4rN3RoaUM2dktleHgr?=
 =?utf-8?B?VU9LK1hWd2J3VGl3UFp3dmRRZTFMVmpnRXZIYTZXejRCdUhZMDY2b3Nod1Ft?=
 =?utf-8?B?S1p3bjNISnRDVXNhRkVUdVI4QlZDZUpVVVo5TUpnQktKSHE4d09RN0tia1p3?=
 =?utf-8?B?L1ZKTXB0UUMwUTdaanVaZXdTZDNjUVhiWWQ0VnVHYjZlYk5BOVUwTCtYS3Qv?=
 =?utf-8?B?RDRzWDlLcXFyUTNveUllZ3k0MUNDOEdNdVhjYmJTOUpRZjdBWGRnYk1zdWQv?=
 =?utf-8?B?bG5HQ0NKc0x5c0VVZjJVaXRkakYreFFDeE96MWE5VnpOeEhYRWVWT3RVSmYz?=
 =?utf-8?B?bXZQcW1GOWlGNlpibC92OHoyaTlPNndiRVNVZEZXcHdrd2h3QTBwT2pqeHho?=
 =?utf-8?B?bWt2bWpRYk9uVXNHZExYVitUNnhNWWxsMjJlcW81UktSWEhyZHQzZ0F6ZXJz?=
 =?utf-8?B?ejJveGJEZEJ2ZDk5WnptZnYrdEhKUCtzNDNuSzAyV1UzeFIrVjIxb2t5cnpa?=
 =?utf-8?B?dFc0WE5wc0JtK0V1N2tpZFJiWjJ6b0djalVqUzJVQUhtWWp5OStldzhxRHlW?=
 =?utf-8?B?cXlZbWxlc0Q3VjBLcldZalhWMDF4UC90TXA2QVJSc28xUU9JRzdpb3B1cjY4?=
 =?utf-8?B?UEw1d2VrZEFsUlphUXd0SXBZa1RrWkp6ME1OTkZwTVVhZFhLZkoraHA0Y3ho?=
 =?utf-8?B?TTVqWGozam8weEZWSFN2b0E1MGJ3NG1RUVBPZjRqVldhdnRSQnZwTlpFSnVM?=
 =?utf-8?B?aThQTUFkSzE3SXpUTXlwYm5FSlJUSXlLM1VQMjIxWjlGN0RJMjlpbmozVis4?=
 =?utf-8?B?L1lqYm1DQWRnYXBhcElFeG93QUw2T25wOUNSRmdFdGFPYkRIdUFXTzRTT1Ft?=
 =?utf-8?B?WHlIcmd1aEtPc3RtUUgzcGEwRHhaRFpBQTQ2eElNdzgyNFJSUVowcXRYWUx4?=
 =?utf-8?B?WmdNOU5RWmw5TmRseTdzY3krOS9tYXc4QmZRNWRXOVIxSzBTajRSUzBBV3o4?=
 =?utf-8?B?cjlkTFRGN3NGWEtpai9CRTR5Rzl6ci9EeVhYeUlpK2FHbGcycVU5d1dhbExO?=
 =?utf-8?B?NEhCNE9Fb25Ddm81aEZiYWluTnFyNCsyZllnb0tyTUt1amVpNkt4ODVXckI3?=
 =?utf-8?B?UkhWWTVaWWFTbCtGTnlaYytQbmplSHBVRE01U0FOT1M3dDdKdnRRY3J0NmpY?=
 =?utf-8?B?MHlueGJkdGZLMDFzL1ZycmFQUENNWkFTMXVzbDNaUStiUlNnMHJUeEdaaklu?=
 =?utf-8?B?R3A1VEFUeWxCOEZDcGVmTVhpck8wOUhmSDlkTFhCTlQxNkFLbXBYWnp1d0dt?=
 =?utf-8?B?b1Nmb3k4c2R1Tk1QeFVVd2pmUFNQSmw3SUFBTVdXS0F0TW12Q0w4L1VZVy8z?=
 =?utf-8?B?bU1iOWFHa08wODMzcm1SdTFGOFFNaTZqTHFmR1BMUkc3WkhMVUhjeGFFU2E5?=
 =?utf-8?B?eE5Td21KbmhWYi9INWwzR01udFlsM3BrdW4xaGZ0YjQxVm5DamJ1OFBqSlJN?=
 =?utf-8?B?cHZOenVJd3h5MytsTk9yZjVVYXZXRk9RRytWVmZGcVY2elRXTzRJUDFuS0Rl?=
 =?utf-8?B?Y24yb1RqVDMxKzBpVzVSV3pTSVRhKzlEYzRJL1lzRWk4Tzl6eXl4aXN6dkUw?=
 =?utf-8?B?Vjd4QXgzYUxXTFVKTW9sQnptTERtQ1I5L21HbXlsVDhQdTJFcFFOQ1JnNDZl?=
 =?utf-8?B?b044d2tVcjgrLzFQOUlEWW5qVmErQjdLV2V1YTVaeDcrTSs3V1MxdEh2Skx0?=
 =?utf-8?B?QU4rM1UwWFdyL0M5QUVXVlFhNjJVTFJnMk84YnN1VkxnMFpVYWx6SDlaakdW?=
 =?utf-8?B?SjZCWHFPSzNXc2QzZ1Rnb0pMNFNEVlpVdzhWdHlkOFlicWNiWGhsR0xBa09t?=
 =?utf-8?B?TnBXUVZpVSthUHVlV0svR2FOdFMyb0VEQ3l4VkJPc0pEVlRzbGZZOUo2b3FI?=
 =?utf-8?B?dGcrbncrMzNMM1d4UHhVQkl5OHlIVG9meXp4WFlLSi83ZERTeXhkK0tyazlm?=
 =?utf-8?B?MlhGUVVXOEw3TVNQZXZ6SVZSZE5COU5seHlwOUlGUjVPRzM5bWl6aWdPbnpF?=
 =?utf-8?B?eXdGWXErWktCcGVFUEpObXFtUnY0WWVFM0RMRG00KzA1TGkvQTJDbHdsdjFQ?=
 =?utf-8?B?bWhGQkI5MTgzVTJKbjZrODdtVWpQN0lSNmUvT0cxb3V3Z3E5OWcrdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 30ccc524-0246-4c93-6c4e-08dec075bb6d
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 07:08:22.3257
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aAphGR3JiwGMo2sWwQ4zzCBrx8ahcp4PFxpIbgq79Zc2BAweHpN1Zma+ZH6WWKRKI24QhlnumrgqJvX4VqhrMQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6522
X-purgate-ID: tlsNG-d25034/1780384107-E377ECF5-C82FA947/0/0
X-purgate-type: clean
X-purgate-size: 1785

On Tue, Jun 02, 2026 at 01:34:20PM +0800, Jiaqing Zhao wrote:
> Add support for the WCH (Nanjing Qinheng Microelectronics Co., Ltd.)
> CH382 PCIe dual port serial adapter. The CH382 is available in two
> variants:
>  - CH382 2S   [1c00:3253]: 2 serial ports
>  - CH382 2S1P [1c00:3250]: 2 serial ports + 1 parallel port
> 
> This chip uses IO BAR0, base baud rate 115200, ports starting at offset
> 0xc0 and spaced 8 bytes apart, and a 256-byte FIFO. [1]
> 
> [1] https://www.wch-ic.com/downloads/CH382DS1_PDF.html
> 
> Signed-off-by: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
> Reviewed-by: Denis Mukhin <dmukhin@ford.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
>  xen/drivers/char/ns16550.c | 23 +++++++++++++++++++++++
>  xen/include/xen/pci_ids.h  |  2 ++
>  2 files changed, 25 insertions(+)
> 
> diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
> index 878da27f2e..cf10a06a3d 100644
> --- a/xen/drivers/char/ns16550.c
> +++ b/xen/drivers/char/ns16550.c
> @@ -95,6 +95,7 @@ struct ns16550_config {
>          param_exar_xr17v354,
>          param_exar_xr17v358,
>          param_intel_lpss,
> +        param_wch_ch382,
>      } param;
>  };
>  
> @@ -861,6 +862,16 @@ static const struct ns16550_config_param __initconst uart_param[] = {
>          .mmio = 1,
>          .max_ports = 1,
>      },
> +    [param_wch_ch382] = {
> +        .base_baud = 115200,
> +        .first_offset = 0xc0,
> +        .uart_offset = 8,
> +        .reg_width = 1,
> +        .fifo_size = 256,
> +        .lsr_mask = UART_LSR_THRE,
> +        .bar0 = 1,

.bar0 field is a boolean, and hence this should be "true", not "1".

The rest LGTM:

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

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 07:09:58 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 07:09:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324493.1590036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUJG9-0004Vz-7l; Tue, 02 Jun 2026 07:09:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324493.1590036; Tue, 02 Jun 2026 07:09:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUJG9-0004Vs-3z; Tue, 02 Jun 2026 07:09:57 +0000
Received: by outflank-mailman (input) for mailman id 1324493;
 Tue, 02 Jun 2026 07:09:56 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wUJG8-0004Vm-95
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 07:09:56 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUJG7-001ylw-Ly
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 09:09:55 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1e81c0-e002-0a2a0a5209dd-0a2a4506e8d8-12
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 09:09:55 +0200
Received: from [52.101.43.48]
 (helo=SJ2PR03CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1e81c0-7371-0a2a45060019-34652b303279-4
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 09:09:54 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by MW4PR03MB6522.namprd03.prod.outlook.com (2603:10b6:303:125::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.14; Tue, 2 Jun 2026
 07:09:50 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 07:09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=rklgMrdFLBEa8WMCtjA/CorMu9VoCZsOl5zO4r66l6CPPA612iF9PFQM91wTqNRTxT/OGWOLXAnv3STptM+ZxdvE4g6YEHnLInvsvLXrk8WyM00a1MsaUfUvdFYObo4k4ZZb849CUq7wY3bfK46sWXfXJHl0H83JUXj2m8O1CrxpKQkzbYFmj0eiuDFZ/j8aPAUH4rafl9mYN65Z6Z2vegWU9Nwa3Kbudl1Qcya48YX9FDlk1Ly0SB4GqXUg9NpE3UYakYZafa17mwG+mW3USGEuxiwS54u5e5qlKa7Qa5V1zuv3OyRLUSCD+154itZlXLqHf91HDqfP4PLYpWemBQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yzBOkVaS5wdUjfIL1Ju9DNol10hvtzZYhFiphFE6mlc=;
 b=SKQc2jSypIyqqydWm1wwwGpoUWdchivX6Xyb7vj00Lhnkkors9utS7KsEa8oTBjSCWXcddal+rseh/Ho6oY9Yf8qVtFm9cxxUyMa8uQoIP30v4DY6TQe1tX1hrCwBmzQpuPaTXKSDGVC8sg/ermV+fpdZikp1nZ86CCsPRBdqOJ8lAtqfglYpcYPnyWW4jyGajAAnHhEbE0E/whMpIlLHsXi7DBl9PY7QU+S7/LF4Kgb1cfhE5H5WcfxltZYPsYhP4aU18zBDXInO4lQpwKyZVcQ3d8hxSxnRZM0NReu2y2I3JxkFnm/pIhYd+SS24CLJtEuepLbea8uDNaMC2KpGw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yzBOkVaS5wdUjfIL1Ju9DNol10hvtzZYhFiphFE6mlc=;
 b=ZlDFRQ2ZBS5bCBwtFZlxpizS5TzndapDeNihBUzulTZ1hoGxEYjcaveT6pvEbJOnZNDAQ+6BpFXb1mVNmz0uLOlUqbJyhqk6srlR1ZDx00BpiMm8ef9cCWkQv2sFdLdictTFF8KrI7KFTPoCH4dVmHms/KwiXPxYA+8ba5qelhs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 2 Jun 2026 09:09:47 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
Cc: xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v4 2/2] ns16550: add support for ASIX AX99100 PCIe
 Multi-I/O controller
Message-ID: <ah6Bu_gxwrZ9GzCF@macbook.local>
References: <20260602053421.773149-1-Zhao.Jiaqing@amd.com>
 <20260602053421.773149-3-Zhao.Jiaqing@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260602053421.773149-3-Zhao.Jiaqing@amd.com>
X-ClientProxiedBy: MA3P292CA0034.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:46::6) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|MW4PR03MB6522:EE_
X-MS-Office365-Filtering-Correlation-Id: c6a9dc87-c506-418e-7278-08dec075f015
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|366016|4143699003|56012099006|18002099003|22082099003|11063799006;
X-Microsoft-Antispam-Message-Info:
	oRLZvalio+AuXHo83Q7Gm/hMe+YTKm+jAxwqtmaaKH+EyqiISutfrKPdkWLB0kLuxGGJE8/fiQTTOILoe6GiYhf8/aO2r1gnYNh34GedRl8Dulmm3P5bvuRrgfxRTyODhwhtlY3rTd+E0YibqfEzjMKbYYLOHAGW8ADvVKdsPa8hhipPMyp6GnNLMqyf77EijZ5tYn4Dry8ur0tlzOmAaDSM9ePwoZgB1ubmtcsqXcYUzKPizWfy6BWrGJVDa89thk1mK+EKFBlUeg4qXl8KJA7L5y0PThEj+EtwW20GUVqbrLlCDPpWCHWuk67e/AD57pfeWcz162/GBYRk76F9qvg5omi5Sc1jzQs/wfDs18ylEvBCm0bYfVE4t5XWE0ulaUQV1goXBSewqymClHZ4kL1mD/hy5Ug6cRGDiymPiYpbq8tY8TGQ5alUg4MoU5IRjwkTPZddpnFjgnpNF7y6cu8x2CD9TKoLKqMLEbwaQZBaDRsjzzA/KDNLkKQRzV/AOTL/e8yw2dbKOMrObe+6tMFLWlI13yOIGzM573oVVm6DCk5XQ63m1ArZyFSJ6Xaz8cJXTeXp3dmY67HecatO9dVCppado/ntACum+BafA2nc+fI8s0yMd38pTfjn5EHiMzngteeEqOGattCUhJu0zX+OOuSBywgB4ioZgmxkqegMd4R4Dd2LvK3gZgONYhz6
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(4143699003)(56012099006)(18002099003)(22082099003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eDl3Y1orWWxyUUNkVy9sVTd1TGsyZEl3T0FaNklrU0NvV1dDa1FpMnBtL0I5?=
 =?utf-8?B?TS9SVG1ZVUZxOXc1alJCd29CRU5DN3BVU09CNXpGTysyVElxYnMxWktqbEZm?=
 =?utf-8?B?SWIxaU5rYkY4N0RZT0x3aElqejk0UnVYeHI3RlZnQUdPRTg4YnhaTm1hL0dX?=
 =?utf-8?B?bUJsT2tGT2VXc0k1SlRjRWgvcjlPK2pmenNIc3BtRUNsUXpZWlBxMVhEUEYy?=
 =?utf-8?B?ejRiemVwRnhKbWN4Vnh1NTBJUTR1MmtDbXZSd3FNbHRDZ2xHbTlYK1k5SE1L?=
 =?utf-8?B?THpZNXhZY1VjakROQ3QwQTZ0aXdOY0RwVEExVkVRL2VqckFreTdydGVYQUFC?=
 =?utf-8?B?aHRIN2V4SERXNGtISjRyN2thcVNwcnVXNVlPaEp2M1Rmc3VxN29zampEN2M2?=
 =?utf-8?B?V0tjM0JQd0dIdVEvbDBHRzEzdno0VVpjanpFS05yRTBHcGk3aVZRK2dmeHNS?=
 =?utf-8?B?b3JUTFBuZUpGcnh6QWMrNnFWN0d5UDA0ZzlPNWRxekhUanM3VjNmS1gvYXFm?=
 =?utf-8?B?ODNSN1pMelV0VCtlRFhFZ2ZLR3JSdHZzVmZGRXJzVFd4aVkwZDFUS2dkSkd1?=
 =?utf-8?B?dThveC9GV0Iyd2N6L0k3QStTcTFYTFFHNmorZ3ZxMWU5dllzOGdPYlZQU1lC?=
 =?utf-8?B?UmYzUmFHOHJlaGZaYnluS0lIbm5BOU9NUEFGNXBkTWpaM3JXaFFpMTFvMWFu?=
 =?utf-8?B?SHpFd01xZ0NaRHEzcW84RFdWdVJuTms4b09QRTRyTEdhRzQzeXRZQ252bDlL?=
 =?utf-8?B?d3pNemJsZ3BOc1VmTWxwTnRnaXdjd096YW5mRmdzRjBkOFZ2Qk51cFlLRHVh?=
 =?utf-8?B?S0s5TFI0WlpmU3U4NWNvRDVCRDFTMEorOXNyeXVYUE1GdmRCTmQ4QjFISkJt?=
 =?utf-8?B?a2JyWktQS2hCNnBqU3NLbDRqaTFDR0ZoWHdpMFNxQWJkblUvaVk2TlFxQ0F2?=
 =?utf-8?B?UGdJT3ZBMzllVjZ2bWtOeUVoUDd5OGhncVpuUXM1eFlva29tNEZwT3c5VWhX?=
 =?utf-8?B?NjFKRWdnMExwaXJNT25OS1E3cCtQNkU2aXl4SFJRSXFUSFBKbWMyREE5Rzcv?=
 =?utf-8?B?eVZGbmtyaVJTQVJvT0VydHpZOHF2MmpGMmR2ZFJYWVpCaFN1eWZ2TXc4cW5B?=
 =?utf-8?B?MFhOL1d2MkRKanRPK0FuODBaUlZtWEkrUXM3VTNQVUlxRTVnY2F5Y3JGemE0?=
 =?utf-8?B?dkRMaHRQTjZEU2g1cjFndGFrQnFHMkhzM3ZkdHQ4Vkl2TVJONWk0WHJTWTk1?=
 =?utf-8?B?bnBTUHhsSEZBdEs3bDF4aERNNHZKN09ZeFY2ektHTG0zWndPOWx1dzhvcDhF?=
 =?utf-8?B?bHN2bHVXNVE5TnFmN3VrMDVIVTdab2dYZmpVUXNObGlDM21xNlU5Q1pkbkYy?=
 =?utf-8?B?NmJsdHBWMFNhZDNGcjFNWk8vYzEwbEM4WUJqKzB0V3pmOUlZck43WVUwZHpm?=
 =?utf-8?B?UTlHdTZId1hlN0FCV3BGcXB0YXp5U2d4K25BWEJjVXNhemE1aVNwZE5VM2V5?=
 =?utf-8?B?RnVma1VmaFZMbjJoU1oyYXc4SFFyR3A1U25Nd2JSeTVXeVdDTWRJTVNLVyt5?=
 =?utf-8?B?Sm1aNjFPUXovcjF4QXBjNGc4VVMxTXBKWU1Qd1U1UFppekhBaFFCUlNOSXBR?=
 =?utf-8?B?NkhlaWtXaWgwVmd4QjM4cTkxck1FMkNySm9iaUVXdWhJY0hsSG9mWVBHOXhq?=
 =?utf-8?B?eVZDOXA5em9Lbi8zVnppSkxwbW50TERhaVQ0ek1wQy9LcFhiSFBZTjNnbis1?=
 =?utf-8?B?L1MvVlkzRTdnRTJLOG1VUzNSYzZiY3lLQmVrZDgzbWdRWks3bDRFZGxsTXEr?=
 =?utf-8?B?czBVWFNNY1l0dDBxeVpBanY3YW1jMFV3UVNTaU80VEZJbnYwZlMvejhTN21J?=
 =?utf-8?B?SEF6WGxWUnJVa3pVK1VLUVRGVElGMDNQU2ZWQlliWFNPMkFMbDBldys1MDlD?=
 =?utf-8?B?M1l6K2xtY05XaEhBOE5xZ0dZLzdlZlVBVmpQb3g5bUhrdmZRbW5GUnA4UW5H?=
 =?utf-8?B?emNieUk3bE5kdENaNWN1UisxQ0JxQUhMZkhBRnBSNmlKYk5mR3FBNnhCZWxa?=
 =?utf-8?B?NFNISitRRkh2VVljb0lPd2lwSS9aT01CL1ZrdEEyU2NPT1I3VmxPTjUrUGtz?=
 =?utf-8?B?OVR3U3hjMFI1TFZFYkZHbWxuU2VzVDNKSFIyMlltNEgxZ0pmT1lKUEVwaUxF?=
 =?utf-8?B?bDNNZXI0RjM2WURtaUswUThLWVBRVFBpcmg5di9TZDFsWXgyTnZCYzJ3NWFp?=
 =?utf-8?B?Q29OU0w4MEJmNDdMZlNwL2E0Tm00QmVTb28wZll2VjQ5ZFJLeGpneWQxazl6?=
 =?utf-8?B?RmxXc1NKY2NxZ3N5S21ociswcVZVbUs5Tk1IOWVXOFU1b1libEpjZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c6a9dc87-c506-418e-7278-08dec075f015
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 07:09:50.6834
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gt+cuVYSlkMWdpsm/lcexhdPKb0YV8qd7jHO/hUOxMyrio0MMcqKpw8cN3pV0sS13yPI+ULoTge8etDt+hnbsA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6522
X-purgate-ID: tlsNG-16d1c6/1780384195-8FD7AD75-79004E56/0/0
X-purgate-type: clean
X-purgate-size: 1388

On Tue, Jun 02, 2026 at 01:34:21PM +0800, Jiaqing Zhao wrote:
> Add a PCI device table entry and matching parameter for the ASIX
> AX99100 PCIe to Multi-I/O controller [125b:9910]. Each port on the
> chip is a standalone PCI function, with UART registers on its I/O
> BAR0.
> 
> Signed-off-by: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
>  xen/drivers/char/ns16550.c | 15 +++++++++++++++
>  xen/include/xen/pci_ids.h  |  2 ++
>  2 files changed, 17 insertions(+)
> 
> diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
> index cf10a06a3d..26503070dc 100644
> --- a/xen/drivers/char/ns16550.c
> +++ b/xen/drivers/char/ns16550.c
> @@ -96,6 +96,7 @@ struct ns16550_config {
>          param_exar_xr17v358,
>          param_intel_lpss,
>          param_wch_ch382,
> +        param_asix,
>      } param;
>  };
>  
> @@ -872,6 +873,14 @@ static const struct ns16550_config_param __initconst uart_param[] = {
>          .bar0 = 1,
>          .max_ports = 2,
>      },
> +    [param_asix] = {
> +        .base_baud = 115200,
> +        .reg_width = 1,
> +        .fifo_size = 256,
> +        .lsr_mask = UART_LSR_THRE,
> +        .bar0 = 1,

Same comment about using 1 instead of true, the rest seem reasonable:

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

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 07:23:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 07:23:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324502.1590045 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUJT3-0007MD-9f; Tue, 02 Jun 2026 07:23:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324502.1590045; Tue, 02 Jun 2026 07: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 1wUJT3-0007M6-77; Tue, 02 Jun 2026 07:23:17 +0000
Received: by outflank-mailman (input) for mailman id 1324502;
 Tue, 02 Jun 2026 07:23:15 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUJT1-0007M0-Oc
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 07:23:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUJT1-006vv4-1w
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 09:23:15 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1e84de-bab6-0a2a0a5309dd-0a2a45058958-14
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 09:23:15 +0200
Received: from [209.85.208.45] (helo=mail-ed1-f45.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1e84e2-aaa8-0a2a45050019-d155d02de082-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 09:23:14 +0200
Received: by mail-ed1-f45.google.com with SMTP id
 4fb4d7f45d1cf-68c19f1f3ceso5910612a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 00:23:14 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-68ceb8448e1sm3035981a12.18.2026.06.02.00.23.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780384994; x=1780989794; 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=gNMI6ZX4idVklgcWy/dki2qy+rhHFdeWdB+RD9vVz1s=;
        b=D4WZJgLiz2Rz0pJYtZLJWEfFYKAqvu9ewZhozfUgiIwP/0S+vsodBHe5Iu16koIVxT
         W45vLeMHaBl2HIZoV4ZOHuzsrWCv6r95tnFSceuyKxSNvL2xjzrO5ga12E3qz/XN5JYN
         M6vwyjK5aklnNBPSjyAp+PIp7/5BIvUEWSpstpZfaFV4M20coLqNjyGja1KAS2mSP4rH
         3vgqZPb0qUmGZN8pmYEkcQu0r8RDq16X0KFAsFpAg/OmgDY46Cck6Y+nfaEfODphJ+XE
         i0qQAvfbCOeqRONy7gyQcgbEfmv4L+PkCGCklQAvCF7+42z3vah9mTI7PgOudJD+FAne
         7jJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780384994; x=1780989794;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=gNMI6ZX4idVklgcWy/dki2qy+rhHFdeWdB+RD9vVz1s=;
        b=nIycZpvS15+G8sUh0gz70h3DK0o5gtqTmNwV3YkJBfCgdeNP0ZnSa7J1euUMQBbcfb
         GgrL4+Q6xmsmqWPHWAs4VC8If+cS9mtz8PT4I5qAZKONtK7Auh0RZJYu1ju9ZOGt0g1b
         KiGawvBmLIx9rXUnctxAxYEST0dwY5JshcsqSF4kjJvM3TgSTKqEyOfj4V6atTkcdSQC
         7Qwpds7SGX340kyrB4gAw0Gb+Am7v800Kpqc0YgACi5ylRD2aN9lLfh93Acu03KqZ2dw
         OsGQzUJKpma6pPfytgh6MCqc3q36UcM87ia19eBwS/CyvZL+6TbZEt4MXJ/61Ue3fyAO
         9evQ==
X-Forwarded-Encrypted: i=1; AFNElJ9sSEUCJbg+/cj31szH51Q5h1lDouvn5BL+9UcWVtRiQP0C83WFK1piJRR688cohtUu9KMCB2N1a4Q=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwvDVlSuIpjhQemh0fwFO0HNBFFWyTGHMy+rOTN6egVnkkJhh32
	rf8cjRftpKn35Jt4zy/0CKa/pswSeGFPpysmdn762es9MqkQ6Z0pN+ji
X-Gm-Gg: Acq92OEg+kxJ3mudYIGqSZea98xUwH/CBM4kcpAfKJEjTZ+vbZzt2Ms6/B+GGvepoQs
	8Ykg7MN3JziuZdMtbt3gMdL9fmz8pfv8fPYPbHeqBxHrCMkQXqaunSxFdU6O2e2FWO9TPArouPn
	yP09+GpOdlRFt0hb8uzhjbyH+9bkQN6npc6Thb+qFZsvJx/zNohfgagZooP5OgSTRZNn39SO7Gl
	W1DH3Q00oYyUkUn2biXq7m+JFtaaPv6Vqlei9JCePm4/xiRBpXGaxiV5mGZyzK01oC1iaPMgaIz
	whlQVEh51NrPkbX+Mz6+pdM+N32tldaxh3DfrGJEi6TKpj6vFewfIzfFwHuzAFcIQwyiSSzDRFz
	FJY58jCSXge9d2oiZOJYpedsvqseYdLmFJr4nA3tmblu0v++yp2PhNxcT7GbbCkZiBJWpO1Nw5R
	ETC8PYp1iwTl9ysbEwDdzG3j4YsgUh9R//GlLN9CgKaOsUFpSkmmgCmCe1422PyzxmrtFqsJxWh
	d+Y8uO+b5SHtzgyqNwKp0fyXPk=
X-Received: by 2002:a05:6402:2112:b0:67c:2e9f:3193 with SMTP id 4fb4d7f45d1cf-68c8ae12c90mr8136674a12.9.1780384994060;
        Tue, 02 Jun 2026 00:23:14 -0700 (PDT)
Message-ID: <ec21556c-dca4-4e84-8977-f858a6fca735@gmail.com>
Date: Tue, 2 Jun 2026 09:23:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 0/5] numa: add unit testing plus fix regression
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>, Julien Grall <julien@xen.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20260601154332.30797-1-roger.pau@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260601154332.30797-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1780384994-D877A443-1A61CC28/10/73395122804
X-purgate-type: spam
X-purgate-size: 2830



On 6/1/26 5:43 PM, Roger Pau Monne wrote:
> Hello,
> 
> The first 4 patches add some basic unit testing for the NUMA setup
> logic.  The last patch expands the test cases and fixes an issue the new
> test-cases would otherwise trigger.
> 
> Thanks, Roger.
> 
> Roger Pau Monne (5):
>    tools/bitops: adjust bitmap_or() interface to match hypervisor
>    tools/macros: adjust ROUNDUP() interface to match hypervisor
>    xen/numa: prepare NUMA setup code for unit testing
>    tests/numa: add unit tests for NUMA setup logic
>    xen/numa: fix setup of non-aligned memory affinity ranges
> 
>   tools/console/daemon/io.c                 |   2 +-
>   tools/include/xen-tools/bitops.h          |   7 +-
>   tools/include/xen-tools/common-macros.h   |   5 +-
>   tools/libs/call/buffer.c                  |   3 +-
>   tools/libs/foreignmemory/linux.c          |   2 +-
>   tools/libs/gnttab/freebsd.c               |   2 +-
>   tools/libs/gnttab/linux.c                 |   2 +-
>   tools/libs/guest/xg_core.c                |   2 +-
>   tools/libs/guest/xg_dom_arm.c             |   6 +-
>   tools/libs/guest/xg_dom_x86.c             |   2 +-
>   tools/libs/guest/xg_private.h             |   4 +-
>   tools/libs/guest/xg_sr_common.c           |   6 +-
>   tools/libs/guest/xg_sr_save.c             |   3 +-
>   tools/libs/guest/xg_sr_stream_format.h    |   2 +-
>   tools/libs/light/libxl_arm_acpi.c         |  24 +-
>   tools/libs/light/libxl_create.c           |   2 +-
>   tools/libs/light/libxl_sr_stream_format.h |   2 +-
>   tools/libs/light/libxl_stream_read.c      |   2 +-
>   tools/libs/light/libxl_stream_write.c     |   4 +-
>   tools/misc/xen-mfndump.c                  |   2 +-
>   tools/ocaml/libs/xc/xenctrl_stubs.c       |   2 +-
>   tools/tests/Makefile                      |   1 +
>   tools/tests/numa/.gitignore               |   2 +
>   tools/tests/numa/Makefile                 |  47 ++++
>   tools/tests/numa/harness.h                | 184 +++++++++++++++
>   tools/tests/numa/test-numa.c              | 267 ++++++++++++++++++++++
>   tools/xenstored/core.c                    |   4 +-
>   tools/xenstored/domain.c                  |   9 +-
>   tools/xenstored/watch.c                   |   2 +-
>   xen/common/numa.c                         |  22 +-
>   30 files changed, 569 insertions(+), 55 deletions(-)
>   create mode 100644 tools/tests/numa/.gitignore
>   create mode 100644 tools/tests/numa/Makefile
>   create mode 100644 tools/tests/numa/harness.h
>   create mode 100644 tools/tests/numa/test-numa.c
> 

The changes do not appear to be too intrusive, so I am okay with 
including all of the patches in 4.22, provided they receive proper review.

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

Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 07:35:34 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 07:35:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324510.1590053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUJep-0000of-8l; Tue, 02 Jun 2026 07:35:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324510.1590053; Tue, 02 Jun 2026 07: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 1wUJep-0000oY-5T; Tue, 02 Jun 2026 07:35:27 +0000
Received: by outflank-mailman (input) for mailman id 1324510;
 Tue, 02 Jun 2026 07:35:26 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUJen-0000oI-VR
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 07:35:25 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUJen-002ZcT-5p
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 09:35:25 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1e87b7-2eae-0a2a0a5409dd-0a2a450aebba-18
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 09:35:25 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1e87bc-56b3-0a2a450a0019-d155802dc805-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 09:35:25 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-490a76757e5so16333585e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 00:35:25 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490ae448a67sm25870875e9.24.2026.06.02.00.35.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 00:35: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Subject:From:Cc:To:Content-Language:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780385724; x=1780990524; darn=lists.xenproject.org;
        h=content-transfer-encoding:subject:from:cc:to:content-language
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qLwxPTrikKfaGUG4EwcHtVV1hwDTkV2h0VUQTArE6P4=;
        b=Zyo6rL4rJDCenDT/2iCKCMY80v2QLlSRrmqv0ufYaxddEyqcn0gzVLeKt/agl+mjrO
         YoccESPjJ3RAqSoI1+c4i6s0L2vMMzTbC4XeXPzYcAA5lIq2ez+Ma2K19egEN5sRjqC9
         fluKnhSp+duHaSJ8Lvms83fIPANXEGaPHW6FOlzMISZMeHd0GrDxpHaNilsMeYUpt3EB
         XXxYPTQ/Wn0Hgi64G2sz3EXVMCwBzFPztCbLg2ctxWtnWBBI07ON+jOLCcoERqSYtcTG
         nKl0eIm5xXjKq2z35rOSX4py+1OKOrTyBrOLHVzZgWhic8n6vw1yIMHWXOtCIkK/Thh0
         ttVA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780385724; x=1780990524;
        h=content-transfer-encoding:subject:from:cc:to:content-language
         :user-agent:mime-version:date:message-id:x-gm-gg:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=qLwxPTrikKfaGUG4EwcHtVV1hwDTkV2h0VUQTArE6P4=;
        b=Tvco927ymSj1zmsrn+OWlkRJ5WtFxR2S4qc+akyXgHBorejKo4sFjesQ6DA1kAZlzM
         1RFAPXgwU3gnyotAiA7Ggu/2roXo+Y3fd9JpY5ZM4aJC1jExJM/g8zN2f/2Z8ZPuEuWu
         K8CmolvmlQmJkiCXovn6rl96J/zLB7yfvaI97BASPsA6UHd6R+fKI4mRlocO9ILuPlT8
         nbsTvL51Yq62JAlKrSgHbJFoZhjyN4BvmrVwCv3x8xbMbEWYrLulXCtHY6mVppr2FHG/
         vswprrz/wa6gQ41MkM4J71uKV+8dTFKny0FG+qqp63rHuYPw4s3Uog+lp6zflaTNc4as
         mpww==
X-Gm-Message-State: AOJu0YyYhPtsX8IcIFa48iqipKOqAP2fm42BAfJ62pwq2iePvyOXNnr5
	Te6WohbhrF6MEQ8SW/RKcMqWvkeAUjnJI55VL3nESsLKfXO5uJqHf7yyabVCSQ==
X-Gm-Gg: Acq92OGj4OzIZi/5vEfe949vCofl05TXuWNIKIuy71tpDWo1HcjjkEWD84Hghwtkjcc
	nHgHkd2oXJzpOReQKk6ySyg6N46Z89BXmQI8VTrjl+R+7tlkIohMtRWdobZqo0fYWZsi7Uuk0vH
	CY7MT6OBFqpVbvybJ0xUDWp7V7ZDBGN+5jPkaqJ1mRWgbctKD2FZyC0c4NFR8N3FFqiGpiRalR5
	z6Fe7wGr7AKeoKIOmZQIWJvljjNBZqcFuZ0eid6A9Jauh5/+JED/rmDMI908YaMPhSlNybEvhYA
	o32XwEWnDBR+R89vT6SMt1V8ZSUWbesQPQ5M7uBRxM/qjs1bM6h4aeH8q90jBfh9pIKzBX4uQW3
	8l8YqU1OOlkldpEyFhM7Riacye8IXQXs31lk37F9FUxaL21n9doSjaHLc1TglxFli0kx4hqXEEB
	hzydvJBEzh0AG8JOxSTJsfu5MwhpQZ8jOyTU5iAy+E9QdSTsrvUX0NIBZdeAnJX2MbVuot1nLwy
	BmRMIANTzk/ajYjfGPU3TIZXqQ=
X-Received: by 2002:a05:600c:a009:b0:490:ad8e:11bc with SMTP id 5b1f17b1804b1-490ad8e1279mr103370405e9.31.1780385724268;
        Tue, 02 Jun 2026 00:35:24 -0700 (PDT)
Message-ID: <59b3567b-335d-4f66-b79b-79db026d74b7@gmail.com>
Date: Tue, 2 Jun 2026 09:35:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: xen-users@lists.xenproject.org, xen-announce@lists.xenproject.org,
 Community Manager <community.manager@xenproject.org>,
 "committers@xenproject.org" <committers@xenproject.org>
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [ANNOUNCEMENT] Xen 4.22.0-rc1 is tagged
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-4011c0/1780385725-7C07C8B7-2C43ACBD/10/73395122804
X-purgate-type: spam
X-purgate-size: 425

Hello everyone,

Xen 4.22 rc1 is tagged. You can check that out from xen.git:
git://xenbits.xen.org/xen.git 4.22.0-rc1

For your convenience there is also a tarball and the signature at:
  
https://downloads.xenproject.org/release/xen/4.22.0-rc1/xen-4.22.0-rc1.tar.gz

And the signature is at:
  
https://downloads.xenproject.org/release/xen/4.22.0-rc1/xen-4.22.0-rc1.tar.gz.sig

Have a nice week!

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 08:10:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 08:10:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324537.1590062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUKCj-00076K-Fg; Tue, 02 Jun 2026 08:10:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324537.1590062; Tue, 02 Jun 2026 08: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 1wUKCj-00076D-D7; Tue, 02 Jun 2026 08:10:29 +0000
Received: by outflank-mailman (input) for mailman id 1324537;
 Tue, 02 Jun 2026 08:10:28 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUKCi-000767-O0
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 08:10:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUKCi-002Kvh-1N
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 10:10:28 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1e8ff3-e002-0a2a0a5209dd-0a2a450b9664-6
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 10:10:27 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1e8ff3-212f-0a2a450b0019-d1558031d10d-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 10:10:27 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490ace40f4bso18189875e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 01:10: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-490b0daefbbsm83827365e9.0.2026.06.02.01.10.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 01:10: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780387827; x=1780992627; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ntSmeBB7M9YoPDLloTHlNm/+hIUx1/s2n4T5OhegxC8=;
        b=f5omMzd0I80Fc6Wz9qLmqjs/8ncFedaBfRZ40OmmdSBMHD8wQAFtd/8pQmmv43tykd
         ZZiWhQ9hEAFu6oZgEjau7Yv6dMJ/P5exz+MelWBDUim0Fp6jmTN2kZhWjKBT3V0G93g7
         dvAFBVmkSw1jgixUGvIJ7ntt95Y4X2SOSLaKZGtHyix4KfVzhHwIrbed5hfAaOw42pH+
         793cAUPA5oAobvR7n45H8xWdN444GTTubxRQP2xUPGcvNWiQqCamG71i7o3/hDMtiWJ7
         tI3oeELLESS0zzNrd2fm1TtOVNISQMOfq/nfCL1gynKQywjR/iWmGX74FGBC2cPL+0Dc
         gYEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780387827; x=1780992627;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ntSmeBB7M9YoPDLloTHlNm/+hIUx1/s2n4T5OhegxC8=;
        b=dHvyhxxqz2Kp+1gWiDuEbCScdAeh/4ec6htUAmQ5+Z9PSoZnM7D8+q1uPjlD+IGC9T
         evbZIM6UNl0Np0SfVxngQzFVKuAW2f1rPUhlGxaiVNfGpWLLoRwzBGt78+V+P1oodyRM
         GYkv/VmZo3J5wNkK4GIm21qej4+CymPN4yPDHLl8y9yDLNcNtcrn8196u5Fwv9ya6Bj+
         h+7hxw4oF69Tj49bZb0JGfoxFvbYUxIsUaXc1XkPdEZnhreB4LSDzFYA3JIZljAY1Z//
         gc9sDtx/VgHk7KLPyYty90ROVyEcQr7u/BWeWmjTRf0ljSmKcB/y6Zz17NANQWpedIwC
         gqyQ==
X-Forwarded-Encrypted: i=1; AFNElJ9zpaB+S3foGrn8tVh5Tfr+vRppNANrsjVi+m8h3uvAXcd8aoyCrA9QnnJHp6kCmXqWe62Pr7W8ohg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyKW4q5C7+nybRljvU10cyQyW1XLKhkItkDuGfDm3N3T5mLfobq
	440uoZq4JGlosDBMW45ShNM8SonU9Kqkf6LgoFZ/DE2bd/PqKBTDa/aLoATHTCaDvQ==
X-Gm-Gg: Acq92OEdsbKUUY6DRnC1kIcrwRdhccRaaiD4ZcwtMIK/Wl0b1+AAKyzdjjK2E5SLr80
	3T8Odxme27cgtKYHVWMPNSqXmiQXM2kZ2++/8nvGQylSMEsqq49fg7sXWAhuf8LayUH3Od0+9ge
	WpMfHjZYtpI1q7l32hq34IPt5fL4NDeiFOK4xxbVAJKCkGCgPedaApEvsuBHYYD9j0GGOTKqNnW
	9+bn8oXPGBEVbl28x/39FrfYv2mXEjjXgmAwzkL4A2WPdxFTnLsivX1lCWTmttbiKfUx6Nj0NQ1
	0hjNJtMOwvoZLjH1e6rr8n0cZeRZEUyRNSKnSptUVStEf2t/w+4qElSUynOQFrQqBkzxf0BEgpO
	mz3N8rzq2bgacc0bp9orvDJ8dKI0uaVmylARdhaFThaW/2tN2AzufcqXMg7ZAYAcN8ruH8ZUeOn
	Y5yQaPIBnJ8vthcjTya2NpnCMhmdtR9RLeYkNEBBy5Y63vcVfWMmB2OmC58qqpqWAVC0hwKxyzE
	l1oQZVdNzZwnnG7Ipl2c2LMzw==
X-Received: by 2002:a05:600c:8b57:b0:490:3c15:7146 with SMTP id 5b1f17b1804b1-490a5013670mr225647675e9.19.1780387827243;
        Tue, 02 Jun 2026 01:10:27 -0700 (PDT)
Message-ID: <efd6830e-493b-462a-aba7-d56d85943aa3@suse.com>
Date: Tue, 2 Jun 2026 10:10:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 3/3] tools/ocaml: Add OCaml binding for NUMA claim sets
To: Bernhard Kaindl <bernhard.kaindl@citrix.com>
Cc: Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>, Anthony PERARD <anthony.perard@vates.tech>,
 Christian Lindig <christian.lindig@cloud.com>,
 Andrew Cooper <andrew.cooper@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cover.1778272036.git.bernhard.kaindl@citrix.com>
 <10726c7afb43856a1014c6b6e24700442ff8740e.1778272036.git.bernhard.kaindl@citrix.com>
 <b60c1209-fdaf-4e9a-b93a-878a3aeb64fc@suse.com>
 <LV3PR03MB7707CEA80CEC74939A6E508187092@LV3PR03MB7707.namprd03.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: <LV3PR03MB7707CEA80CEC74939A6E508187092@LV3PR03MB7707.namprd03.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1780387827-21382F3B-A8E9AB31/0/0
X-purgate-type: clean
X-purgate-size: 1670

On 28.05.2026 10:37, Bernhard Kaindl wrote:
>> -----Original Message-----
>>> Acked-by: Christian Lindig <christian.lindig@cloud.com>
>>> Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
>>
>> Nit: Chronologically order tags, please: Christian can't have ack-ed
>> this before you signed off on it.
> 
> Hi Jan, as this was the last patch in this series,
> 
> I assume you found no reason which can't be fixed on merge for this
> series and you can ack it? (I think item could be fixed on merge)

Why would I ack an OCaml patch?

As to fixing while committing - perhaps that's easily possible here, but
(a) I wouldn't commit this (tools) patch on its own and (b) the other
two patches look to still be pending (with me just having returned from
a week of PTO I still didn't get around to read xen-develq, though).
However, edits upon committing is strictly an offer by the committer. It
shouldn't normally be the submitter to be asking for such.

> If you could, please do so, otherwise could I you expedite your review
> of it?

Expedite review of what? As this isn't the first time to try to apply
pressure for me to review your patches: May I please ask that you don't?
Your patches aren't any different from patches by others.

> At lot of further NUMA work depends on it, and it as it has been posted
> in this or very similar form before the deadlines for Xen 4.22, it would
> be nice if it could be considered for merge.

Again, without having read xen-devel@ yet, it was my understanding
(assumption) that the NUMA work has missed the 4.22 window.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 08:15:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 08:15:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324546.1590071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUKHA-0007jA-3r; Tue, 02 Jun 2026 08:15:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324546.1590071; Tue, 02 Jun 2026 08: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 1wUKHA-0007j3-0j; Tue, 02 Jun 2026 08:15:04 +0000
Received: by outflank-mailman (input) for mailman id 1324546;
 Tue, 02 Jun 2026 08:15:03 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <nicola.vetrini@bugseng.com>) id 1wUKH9-0007ix-4u
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 08:15:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUKH8-002Lxb-7G
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 10:15:02 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <nicola.vetrini@bugseng.com>)
 id 6a1e90fe-bab6-0a2a0a5309dd-0a2a450b8868-28
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 10:15:02 +0200
Received: from [162.55.131.47] (helo=support.bugseng.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <nicola.vetrini@bugseng.com>)
 id 6a1e9105-212f-0a2a450b0019-a237832fe046-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 10:15:02 +0200
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 (Authenticated sender: nicola)
 by support.bugseng.com (Postfix) with ESMTPA id 5F1394EE45F9;
 Tue,  2 Jun 2026 10:15:01 +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>
Authentication-Results: eu.smtp.expurgate.cloud; none
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=1780388101;
	b=J6hJc2imUF5rqh3XosD0hi3Aj0R8/4/Cp/zPrX+nyDuQzVZafrJovw4bkF1RWz/tZvSO
	 EHTSjkDLVTLlkMjpadmLCINmUlJzLaMbuJaC8ftfVWfHxQLDjpWXesJUwIq5PmMlYv34x
	 XmuPM/5hb8JKrkPG/Ibs8yG4I+H38VdMcRyha0PJl10kv9VNmiZC8MKXPkcgwdwzIynjA
	 KYfeCiGW8Tkz15Id8UAUI6Q448KtPYFaZL2dPyLsQBpv6ZKbVQgHKV2th8CcgQ5SPl8D5
	 SmiYSBFMt7Awr1259OPT1+hTmpu6/41YBxG10akoPw2q6buYPuwqPv6U/u8NwVqF7yUq4
	 eQbg70lbjIc0YPohIzZHy0MNmWZbwiCxlzKyGIPgStSr09Kv06hCIMtiN8+/qMbeXw5jy
	 k+ZxtdInvA6o81kU3b5bSR2geRbtCRypoRM/Nmh11e2drLxtT4EyNq3flgAb5CYpwa4N1
	 iBVdcbjLI5OQUlTCtorpw0vg+3q5WzIxgqGfR2SLFcLpSuD5wp0IGD2fVfTai3d1tiseg
	 DkmUyGGHkiEFQXnkO1LAFNzNVK0D0/Y1Llx7s2YcTLwdS975FhubhWRpkzDzPskjxdHSr
	 zSzl4cxV/VDxBGLsfemp8GQoLEaj6xM6sm3okg6YNGtfHsxwHLGLcykAsUVJWjk=
ARC-Message-Signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256;
	c=relaxed/relaxed; t=1780388101;
	h=MIME-Version:Date:From:To:Cc:Subject:In-Reply-To:References:
	 Message-ID:X-Sender:Organization:Content-Type:
	 Content-Transfer-Encoding;
	bh=xnz+0sh3skq6/HxqRS4I45IxfTo1knjgNl1veiTZotY=;
	b=PkzWVuKdsdOFxd81QB8GNZM0oGZXc0izsB6bXVRclLOQj8BtOq0B7mSIr3jxHnfinfnI
	 j9Hjxl88nbmRxNnxMEwfza/6lA76J4c+llvsXbnAhS6bio0TGyF8KZwRZypOSg/SjExNC
	 xN9tWVMX5gn7YZWJ/3aOx5sLyTmElxNk+KtLUENBtusBUyZwD6ovnprwNUiY3GKQTc43v
	 OFMgLZDPMW1k0vzs0QsL7cvf0YsunVq0VX4UZB5EaU+iEC0Pu4ieBhyTYZ8UOFfZ9hmzU
	 iBRlei4o74ImcKzzE3XLyRSV44QumsHWthedcRMiSM1tiL99SjqUxECPg1MmpApQKJN2h
	 5HYgYLb74y8GQtf9/Q14wNL8SyrH2r1+eWh1UsF21uZ+pMcEch+zKNQuaJWv1c4ePZWVG
	 yAJaDy5xqWL2H/XVBgX0mm7vmCGXqOztrGURLl7WusCvi+wsuxrA7tlc8YhxnEZUm942u
	 3vrkUtuqT+KzbIoKzn4pyxo6RP76sGk7T0c2LFm+1YZuyoMbk/FkjFQAijb/tCcZ/MyJx
	 RyZ4x4uG4YrMWlOQXX0bxQaooTM9o39U494Tm//R53YbL44uhLclHRB/+i+pW8gDz6w2s
	 BSgVhpw0GcUm2N+5wzqImARNIarPyVfNkb1EJJSkOZCGQXZqh4tjCbrLQlWLZ+c=
ARC-Authentication-Results: i=1; bugseng.com; arc=none smtp.remote-ip=162.55.131.47
MIME-Version: 1.0
Date: Tue, 02 Jun 2026 10:15:01 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: dmukhin@ford.com
Cc: 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,
 christopher.w.clark@gmail.com, dpsmith@apertussolutions.com
Subject: Re: [PATCH v3 6/6] automation: enable Argo debugging in CI
In-Reply-To: <20260526215823.1452619-7-dmukhin@ford.com>
References: <20260526215823.1452619-1-dmukhin@ford.com>
 <20260526215823.1452619-7-dmukhin@ford.com>
Message-ID: <c13c4c101e23aab38284ddc788ea3579@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
X-purgate-ID: tlsNG-42698a/1780388102-20E7CF3B-64585C49/0/0
X-purgate-type: clean
X-purgate-size: 1169

On 2026-05-26 23:58, dmukhin@ford.com wrote:
> From: Denis Mukhin <dmukhin@ford.com>
> 
> Enable extra Argo traces in CI to help analyze any potential Argo 
> issues.
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> ---
> Changes since v2:
> - new patch
> - example verbose log: 
> https://gitlab.com/xen-project/people/dmukhin/xen/-/jobs/14552079442
> ---
>  automation/gitlab-ci/build.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/automation/gitlab-ci/build.yaml 
> b/automation/gitlab-ci/build.yaml
> index 7f5b5938e851..5f9192e53d63 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -319,6 +319,7 @@ alpine-3.18-gcc-debug:
>        CONFIG_EXPERT=y
>        CONFIG_UNSUPPORTED=y
>        CONFIG_ARGO=y
> +      CONFIG_ARGO_DEBUG=y
>        CONFIG_UBSAN=y
>        CONFIG_UBSAN_FATAL=y
>        CONFIG_MICROCODE_SCAN_DEFAULT=y

I would add it also to the eclair-*-allcode jobs, so that code gated 
behind this is also checked.

-- 
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 Jun 02 08:34:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 08:34:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324558.1590080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUKZt-0002Hu-Ia; Tue, 02 Jun 2026 08:34:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324558.1590080; Tue, 02 Jun 2026 08:34: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 1wUKZt-0002Hn-Fu; Tue, 02 Jun 2026 08:34:25 +0000
Received: by outflank-mailman (input) for mailman id 1324558;
 Tue, 02 Jun 2026 08:34:24 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wUKZs-0002HR-0r
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 08:34:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUKZr-00DY7s-Do
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 10:34:23 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1e958e-2eae-0a2a0a5409dd-0a2a45068984-6
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 10:34:23 +0200
Received: from [52.101.62.18]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1e958d-7371-0a2a45060019-34653e124098-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 10:34:22 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by IA1PR03MB8311.namprd03.prod.outlook.com (2603:10b6:208:5d6::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.16; Tue, 2 Jun 2026
 08:34:20 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 08:34: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=HtnF/Sy+pOuIHD8gaMZNa1Of5n8FHfyTa10ieN0jj9R5qV8s5My6qRow6rJ0FSWbRIA2kmVV+ZHC958A5yUG8cBrDk19VApCCUxXz81BJqBpIKf13dAb4hz0vaBQ/CzRqcDuyNRlFAXraFvTJ7MaKbQmll7iNmeOE/sRaMLmf0/vdt+SlWobqmqLo5J7u8SE+Hz7XUG3nToQR6rvhAAquSGtwdujFEyAaaFNfwarHSUc5VtBdUv/fgNyZSHuEtadUO9xtVhhj79BU8KLd4hGJYs/3H4sxyR6m28U8XaYpWqzfj1D1wKVrJtzc7ZDbXFvJySGvTXKpj3ifo/4q1SajQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xR4NFCqj9/cjCwmx/NYPucrH4KJoOC0tFvXN7zGcj40=;
 b=BCLWuizSMu4+abFjB/YiGt4ElhdImqPH/v1avjXryTc8XUNIox0iCEkSv5VA9sBfZ+cllB5pcSPjdtQoXAMjr/8OS5c0a0SFmhJrJodnDsGp4l2ctrL6BlJgr4wqShQ+zU4kNd4QQURigO0Hv7wlUJ/Ozmaa0iS1Hq9pxKgxy6N/qWll5Vd7W/FXcn5O50cPPyqNbTTzbxNTuBobknsgoVMpRl1QbLM2ZwIOlWTXDMCTZYtGYXzyFmEAjkMWfxjFRKFmh75+ISW/uAVDJ7Gz23ohcb4znfhpqt0TvdcqCjlj6f2+sAYGYWiY0J/T1pRRxQ/eqI+Prj0hHXgHFgOUHw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xR4NFCqj9/cjCwmx/NYPucrH4KJoOC0tFvXN7zGcj40=;
 b=KpcDe7OfzAUVRoY7d7GU+Blwn8DkIQrc3me+JNgpl0rqRCQWWwxxiPpm6kW6cFBTW5t/g1Pam8LC9sDUkOcbOQ7EAoYDY1qY0cVGocqyYyloZF2W1jWSIsCsA1p34KjcQkO++w4MuVsySLuUqgqj9e+siAEhAiu3kDLLGSBE6hI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 2 Jun 2026 10:34:16 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: dmukhin@ford.com
Cc: xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com,
	anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org,
	michal.orzel@amd.com, sstabellini@kernel.org,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [PATCH v6 1/4] xen/console: make console buffer size configurable
Message-ID: <ah6ViEOEJ8nD80VM@macbook.local>
References: <20260509005714.892018-1-dmukhin@ford.com>
 <20260509005714.892018-2-dmukhin@ford.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20260509005714.892018-2-dmukhin@ford.com>
X-ClientProxiedBy: BN0PR08CA0007.namprd08.prod.outlook.com
 (2603:10b6:408:142::32) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|IA1PR03MB8311:EE_
X-MS-Office365-Filtering-Correlation-Id: 238fdcac-bcb1-44cc-bf34-08dec081bd34
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|22082099003|18002099003|56012099006|4143699003|11063799006|3023799007;
X-Microsoft-Antispam-Message-Info:
	zyD9OO/9lzHhdhfenSMZpPAYx7SdITzeMW7W61kJcGKcXfChWGbKe8vIhOCqzXTdyzjcxWvTWUS60I9qXpc+P9ITvyO2g8Uvyfg1mid4+BZ7mTLBZu08puiS3o6/6/sV03gWZTP3CHz/3kB68wsB9D0AcFj3ZrPK4Riiei65dqkvgfI+HnOuL7/Lop8m+p3NxOkSwS9//QJhEJAF2GrxXWmsUskwUf/dXBWbM4h4L3h4Be0y4XutyEKj3kKuHvdknYcGUYhug27NxWSTg1IRQqBGNYScNZAjDAOm+bhj91cNBCSjrGkGyErqpk1s9Ajr9lkJcPzbNV+oIqzbnt/GpGAPbhw+yIRfTSUch6pw7nLIT9uILCid0m7B7frOH9Rv5JnkYFqVUlBFrpQ+uJv9u69hVZ1TfOonVOVo0wNIUe6SHvdK8OnMv+XadSlTl49YseiEUR3JaH9XR6h+SlffI2kK25RI9o7ihTzTCNcyJHwDL64/yM5/yKOgXEOgLHK4NJod+jgLIaYTK0QFQwKnFBnt/0/md8m/fAJIIsCaGbhOxixX2kcZhnMCnDts1D2obvS3MjeLVunE2HJl7kuxaqYhjbT4z+lPhJf5wD6F8mdMa0ClndbSpGEfodL7lM+3lUXjZ452qUPC8bRFdB5d5FQm815UPWnjCMe+jtae6ozXPrxHZWG+QuTWv3vJ6/C5yCp6ohEjEXXHCgvx0tsJng==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(22082099003)(18002099003)(56012099006)(4143699003)(11063799006)(3023799007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UCtHbUtjamdSUGl3QjkxNm4wbld6aVdVSkNVNGRUNW8xcW5nMkxkcFdIem9D?=
 =?utf-8?B?WXprMHMvQm50NWJtVktpdVhFb2QzNEZic3BHWUV2N2hkVnhkWUJjWXhmcjNl?=
 =?utf-8?B?RmpzS3Z1ZHR3a0pFQVEzb0Jla28rRkxzOWdYS2ZTZllKNXJnN2JFenZQc2sw?=
 =?utf-8?B?Z0JhdVZRdzIzcHNmb0M5YTI4cHdzRytKVytZNHZPTi81RmJoMzNPcWZFVXNj?=
 =?utf-8?B?cm40Z0czSXd4T2UvOVVGdW9ybVpUYVV2enAxM05URUtBMFRnNkg3K0ZOVFhk?=
 =?utf-8?B?RUdTVllkK3VGOXc1bXMvR2RJTHZNU0pKQ3RvSnBGMnZsSmZ3SVhJM2JPK2Ew?=
 =?utf-8?B?MWE2NDFudDM1dEZwTXkySjJiWkY2Q1JJRW5sQ3k4OHNaWWlmMFIyY1RYMS9K?=
 =?utf-8?B?bTd3ODNyRGx3VTM2VmJmeFJVU2VacTJRbjBqamJrR2lmZDRqakVMNWtyeDAy?=
 =?utf-8?B?OHN4YnltNDkxOVB3UDIycklKa2NjQWpXNFlhT0tDY3FnTWdqa3UxQnN2ZEZY?=
 =?utf-8?B?eldhZW5ScWZqSTdITHF0eVJqa25HRWR4UmNWS0dNL09UaTIwYlljYzhyL2ZM?=
 =?utf-8?B?T3NScVRMb2ZwYm1YRGYyVFJnZ0Vza0tESVRESGo3S1Z4TFR0TDJFeW5pVGdQ?=
 =?utf-8?B?b0x4Y3lheUhUNTVrNTREU3ZPY3o3TXNPUkp2aHNzN3hIWk1xMEE3ZjlpNkw5?=
 =?utf-8?B?WXlVTWwvYnVUcTRQb1NEZjdlN1ZQc2xqMElVMmhIUnRmZzE1c0tSOTNaSkVG?=
 =?utf-8?B?ekxWNmpoUjdwQmRjemVialNGcHR1a3phWEl4bVE1WXYyU1FxMUQvR3NKMk9I?=
 =?utf-8?B?bHBkS3llZlFVK3JJcDI2R2wyUEJ3NWNkaTNZZWVzQVdXTGhtVHBLUjJsQno3?=
 =?utf-8?B?MHc2NGd0bE5TRXQ3ZE9sZk96dEFPdkxHTWtPdHFVYjBQLzZ4OUE2VXdYNTZ0?=
 =?utf-8?B?UkdUQWJqck9qTDJzY081MkVxU2FnY0RGMTQvOVhrYkkvUmtnQTUvUTkwWURH?=
 =?utf-8?B?SlRUK2NGOUtPOGdjaHNneVZsWnZqTzE1eWdFMzluUUd4VHl5Q0Fnc3dFL2p3?=
 =?utf-8?B?L2xzWGdvRjRDQ3JGZXVFdlZ1cm9ka2pKNW9jMWhINkNDei9KUVAvdVBQejRT?=
 =?utf-8?B?S0FQWTcycUZNbzJ4NFNZblhHNnZ3OURBeldIZkk5UDR4UFdETDdBendsS1Y3?=
 =?utf-8?B?S3p5MU9DWEkrbXhmbkVEL2xaUFBmYWNFWFQ3NVdRVWJsNWRLaWFtUlprRXpk?=
 =?utf-8?B?RDhKZndjNUdHWDY0ZEhvWTFFYTdZb2hId1ArY3dITk9qWU5EM0RCRFVUQmxH?=
 =?utf-8?B?SUZEWElLcmRVR2RCakJqRE9DUWJFeUdKSjN5dkxGeHNRVHhINmpNSFZ6L2xz?=
 =?utf-8?B?YncyRGZSb0VEZzFJVDl4T3FkZGlGTHNFRFNIVG1LWnZ4WnRzT3R0OUtxRm1t?=
 =?utf-8?B?OFIxNGdIMEZmOWlKUHlhQTk0eVB5bitmZmV3NXRQMStpYWQ1ZmgrUDZOekxP?=
 =?utf-8?B?d1NBa2h3OVFCTk85c3JJTWFGdFVibURma2pMb3F2azVMUlY1UE5oM3h0aFNO?=
 =?utf-8?B?emVORGlQYzg3czRWeHBhbVdJNlVWWXljR1F6aHlKcGVQUVQ1NDNiamdkbFZG?=
 =?utf-8?B?cXRYNHNiamo1NGRabjI0MngzMVYzQTQrbFU1UjQzTjZReFBiY0ROTjczSVA2?=
 =?utf-8?B?UlRnWjJTdU5uaDN5M1RUbHBWZndHbWl1YmRiUzF6c1B4Z2o5NHRXSDhwUUFY?=
 =?utf-8?B?cHhHdDNEb2RPR0VRakxQYnVuMVdBT2lhVVZTdUpiUndVNUcwN2drY2orWGVi?=
 =?utf-8?B?QUNKZm04Mkd1cVc5ekxsS3FFZXo4WTk0R0w5OHJkL0RubE5laGg2UTQ3S3lN?=
 =?utf-8?B?ZWRDTFFqQ21OaEJVU0tyZ0J3VzZQendZRkEvcEZDZnorRXQzYVdpeVAxWisx?=
 =?utf-8?B?VFZyYStVVzlnUFU2SWdhR0dQeDE2U2IxcEtHNWVHa3BBWUp5OUpzem9tVUtC?=
 =?utf-8?B?czVDUzlVb05JSmJwU1NYcU5EUjNZQ0w2M2FOUU1ZaXM2a1FoVXVZck9aOTlM?=
 =?utf-8?B?Ujk3RUlnMDlXT1MvYWFDVHlJdjFwM0haZEtnQnljU1h1WUFqdE5SczhPOWM4?=
 =?utf-8?B?eHB6RmpzZkZqK3dZMWozYzNhUWJTTCtjckVRR3AwMnlOdzJhei9GVEJZY3Rv?=
 =?utf-8?B?OHFxSUpVaEs0WENPMUFtYUFZTzFzWHI3WlZoNDNNRXpDSzkwQ216Y2xCNVVa?=
 =?utf-8?B?VS9WM1g4bEJlaDl0bmFDdS9MMHg0am5iNExCdmR2ODFKbUVObWZXTGlsY2hP?=
 =?utf-8?B?bWp1bnBudC9obU9QTDlUaGxoR0xiQmd6Yjk5UFFlNzJ1NnFaa0FZUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 238fdcac-bcb1-44cc-bf34-08dec081bd34
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 08:34:19.2674
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kMM2BRpRI8/9wpM24fV7PA00u6deoTWNqNKK4Dix71weEFmUAwxgXtFdOp3SDlQnOcExU0i9xXPEkDVbvjidzg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR03MB8311
X-purgate-ID: tlsNG-16d1c6/1780389263-85361D75-25ED2E33/0/0
X-purgate-type: clean
X-purgate-size: 2855

On Fri, May 08, 2026 at 05:57:11PM -0700, dmukhin@ford.com 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>
> ---
> Changes since v5:
> - shortened the Kconfig option description
> - kept Jason's R-b since the change is minimal - just dropping
>   few lines from the Kconfig description
> ---
>  docs/misc/xen-command-line.pandoc |  5 +++--
>  xen/drivers/char/Kconfig          | 15 +++++++++++++++
>  xen/drivers/char/console.c        |  6 +++---
>  3 files changed, 21 insertions(+), 5 deletions(-)
> 
> diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
> index 6c77129732bf..29393631d885 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.

Hm, since you are adjusting the text of the option anyway, the above
is not fully accurate.  The size of the console ring buffer will be
the maximum between the built-time value and the command line option.

>  
> +The default console ring buffer size is selected at build time via
> +CONFIG_CONRING_SHIFT setting.
> +
>  ### console
>  > `= List of [ vga | com1[H,L] | com2[H,L] | pv | dbgp | ehci | xhci | none ]`
>  
> diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig
> index 8e49a52c735b..11f48415c12a 100644
> --- a/xen/drivers/char/Kconfig
> +++ b/xen/drivers/char/Kconfig
> @@ -95,6 +95,21 @@ config SERIAL_TX_BUFSIZE
>  
>  	  Default value is 32768 (32KiB).
>  
> +config CONRING_SHIFT

The option just above specifies the size in bytes, and then the code
rounds down to the nearest power of 2, but I don't think we can't do
the same here, due to how SERIAL_TX_BUFSIZE is used to size an array.

> +	int "Console ring buffer size (power of 2)"
> +	range 14 27
> +	default 15
> +	help
> +	  Select the boot console ring buffer size as a power of 2.
> +	  Run-time console ring buffer size is the same as the boot console ring
> +	  buffer size, unless overridden via 'conring_size=' boot parameter.

I don't think the above text is accurate, if `conring_size=` is not
specified on the command line the runtime console buffer size will be
the maximum between the build time value and `num_present_cpus() << (9
+ xenlog_lower_thresh)`.  See console_init_postirq().

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 08:39:34 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 08:39:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324569.1590090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUKeo-0002yN-49; Tue, 02 Jun 2026 08:39:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324569.1590090; Tue, 02 Jun 2026 08: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 1wUKeo-0002yG-1E; Tue, 02 Jun 2026 08:39:30 +0000
Received: by outflank-mailman (input) for mailman id 1324569;
 Tue, 02 Jun 2026 08:39:28 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUKem-0002yA-QD
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 08:39:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUKem-00G9u8-6v
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 10:39:28 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1e96c0-2eae-0a2a0a5409dd-0a2a45058820-0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 10:39:28 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1e96bf-aaa8-0a2a45050019-d1558030a8ec-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 10:39:27 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-490686877a1so66099265e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 01:39: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-490b3530c43sm3235185e9.25.2026.06.02.01.39.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780389567; x=1780994367; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=3UnrxXxuNwKcAqgGxARCtM/7ewsunIUDLATXdv+cMew=;
        b=WTHZlDDIJzWIXNBiWIqgR2HAZ4VNSqNO8ACKJYTqPdWwYcxJ2+EeW3/spNKCjyWvtP
         3WEh/0lvdPaMWeL3IANWrRrDDpSVHKeH7y0Ke+NQx8Mm15b403LCsGPi4bEzq9bR+ofn
         YveaHvGDzQrJcgGvvHB4854yoeRSxMc9N/Mn3H/rAmEJFMXKrStK08isluDppF+VdZLa
         K/lyKHqTqVpMQviMfJtXK7YpoZlyKv3AxQntGQs9XCv5iUb8Tiur+yWI0zSZ4HQ7JtmF
         VynLqgBLe6Zdzywrwk7C058WDZmsRbIbTP3n/mJe9yCCTVPwvpfOMsWZjHpMxaWItUME
         jiJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780389567; x=1780994367;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3UnrxXxuNwKcAqgGxARCtM/7ewsunIUDLATXdv+cMew=;
        b=drkiCVs60P81AD8T73tXxJPS2r7K4TWamnAowj9BC8J4170V9kG6Klqv+vCQyrzeat
         rtkWMCU7kntfmVvH23sFewyTMGroPrIZhHC7rG5xQmMFfRoA2i31nLuXfYlZlaItDcZI
         1C8zqBXqM5JkTuJBc7Zyejr6Pe1ZTsbMFusGrrJZy4eXxjIY93XuqW8z1fTc+70Ky7ho
         QO85oDdNisK81v5FCAPJplt9RQUrtrtRdzu7Ut7zdP2kXddjOoiGVN8zzvsOJeAr4caX
         9v8hVqLTAQj6+tOgdOhwvcCaVvkZ6NPVDl0AlrzZ05K87xs2jcv/oJCcQSJ1FXnvHT64
         90Qg==
X-Forwarded-Encrypted: i=1; AFNElJ9CMN0dCXtbnry31obOUeIB62ft7qU5Jty++deVkoJQGZkK7rB90gS643/Qpo9yE1F8HDjPceD63OQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyereLXNANJyBx0sFuG63rlNwcfN1roQ7R0MDDV/bnSC6Dmdre8
	1k/p7tVYathnlyT6hQVBJde0qzTxUrZRa5Ntd86tABcyNHDqLmMwhJu/PkPmIDcLHQ==
X-Gm-Gg: Acq92OGct7TCEB/wAlIrdmq4/1nb5Z5rm3+ne/doA5/A6NCerGjmseUGrnqcfd8qvNo
	TE0rac4rvThyIWXmrai6ecAs6OJCymbjNJbZfyRT/jjMs+0bFBq9S+rugpo/CK4i1rdUYSOXZqr
	uxR+8QI+6j1pDlo4BtvVMI7v85mzpUUdFXJA7kM7upFPQ+imYu21zusx5Bg5AKeGWQwA+0btBo6
	W/ZG57YXpM+N5LbU7H+Gk8MxTUfiGQqHYfaONgqEMLDsoKeSYS3+vwtMGX5rHyE5mvuUUpoKfV0
	QbXqzt3ycqINpaayYBfLNZPGlqm7iSH9NiFf9G+68YaZ8A3B/dOlSwk9Nm4L/v7lGU/VH8Uyu7I
	lrjB2a2nOrYZhqpaloDtQCJL8TeLx0BfTwOjC9cuIwjDOaAamp2OcxdKESdBBOwBgsT9SjFkYPf
	doEzjK2Q64crXNz3D+hIHUb2ezrH5X93ryQANs1QcWSNq5xSuDhju9GGDCRZoOBK17JH5VzLMUy
	M6r9v8Cv6L6dYzyfAkpR8W02iQb7XoYIsAh
X-Received: by 2002:a05:600c:3b01:b0:490:b11e:e4be with SMTP id 5b1f17b1804b1-490b11eef57mr36617415e9.3.1780389567451;
        Tue, 02 Jun 2026 01:39:27 -0700 (PDT)
Message-ID: <62abdafd-a49c-46e0-b529-0646a8d2425a@suse.com>
Date: Tue, 2 Jun 2026 10:39:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] vPCI: resolve MISRA R10.1 boolean arithmetic type
 violation
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.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>, Stewart Hildebrand <stewart.hildebrand@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e23266191a366abe66d8104783d97578aa8734a4.1779428826.git.dmytro_prokopchuk1@epam.com>
 <984c91b8-3d2c-4431-bdf1-4a333ac341d1@suse.com>
 <alpine.DEB.2.22.394.2605261508390.182011@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.2605261508390.182011@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1780389568-E3788443-CD342EC1/0/0
X-purgate-type: clean
X-purgate-size: 2232

On 27.05.2026 00:12, Stefano Stabellini wrote:
> On Fri, 22 May 2026, Jan Beulich wrote:
>> (extending Cc list)
>>
>> On 22.05.2026 08:13, Dmytro Prokopchuk1 wrote:
>>> --- a/xen/drivers/vpci/header.c
>>> +++ b/xen/drivers/vpci/header.c
>>> @@ -586,7 +586,7 @@ static void cf_check bar_write(
>>>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
>>>              gprintk(XENLOG_WARNING,
>>>                      "%pp: ignored BAR %zu write while mapped\n",
>>> -                    &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
>>> +                    &pdev->sbdf, bar - pdev->vpci->header.bars + (hi ? 1 : 0));
>>>          return;
>>>      }
>>>  
>>> @@ -647,7 +647,7 @@ static void cf_check guest_mem_bar_write(const struct pci_dev *pdev,
>>>          if ( guest_addr != bar->guest_addr )
>>>              gprintk(XENLOG_WARNING,
>>>                      "%pp: ignored guest BAR %zu write while mapped\n",
>>> -                    &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
>>> +                    &pdev->sbdf, bar - pdev->vpci->header.bars + (hi ? 1 : 0));
>>>          return;
>>>      }
>>>      bar->guest_addr = guest_addr;
>>
>> Well. If I'm not mistaken we had discussed situations like this (long ago).
>> Imo the added verbosity gets in the way of readability. If we absolutely
>> cannot or don't want to deviate such constructs (of which I expect we have
>> more), then we ought to consider alternatives (like changing the variables'
>> types in the case here).
>>
>> As to deviating: rules.rst, according to my reading, says that &, |, ^, or
>> shifts would be okay to use with a bool operand. What's wrong with also
>> permitting this for other operators?
> 
> In my opinion, if we are going to treat bool as its own type, it makes
> sense not to silently mix bools into arithmetic with int types. I also
> do not find this patch less readable -- I actually find it more
> readable, since it makes it more obvious that hi is a bool.

Well, okay, we have different opinions there. This reply of yours applies
to the first paragraph of my earlier reply though, despite its placement.
What about the aspect mentioned in the second paragraph?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 08:52:16 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 08:52:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324599.1590111 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUKr6-0006Ks-FM; Tue, 02 Jun 2026 08:52:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324599.1590111; Tue, 02 Jun 2026 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 1wUKr6-0006Kk-BG; Tue, 02 Jun 2026 08:52:12 +0000
Received: by outflank-mailman (input) for mailman id 1324599;
 Tue, 02 Jun 2026 08:52:11 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <bernhard.kaindl@citrix.com>) id 1wUKr5-0006JL-5C
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 08:52:11 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUKr4-002qZW-IA
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 10:52:10 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a1e99a2-5cb7-0a2a0a5109dd-0a2a450b9384-46
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 10:52:10 +0200
Received: from [160.101.131.8] (helo=na1pdmzitismtp01.tibco.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a1e99b9-212f-0a2a450b0019-a0658308ba12-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 10:52:10 +0200
Received: from debian.eng.citrite.net (unknown [10.113.40.46])
 by na1pdmzitismtp01.tibco.com (Postfix) with ESMTP id 5345543121BC;
 Tue,  2 Jun 2026 04:51:02 -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>
Authentication-Results: eu.smtp.expurgate.cloud; none
From: Bernhard Kaindl <bernhard.kaindl@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Bernhard Kaindl <bernhard.kaindl@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	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>,
	Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
	Marcus Granado <marcus.granado@citrix.com>
Subject: [PATCH] xen/mm: avoid watchdog timeout in dump_numa() on large domains
Date: Tue,  2 Jun 2026 09:49:50 +0100
Message-Id: <10d8309efdb878a3b615a7daca2bb5209525cb37.1780390167.git.bernhard.kaindl@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
X-purgate-ID: tlsNG-42698a/1780390330-1AB70F3B-4F11E546/0/0
X-purgate-type: clean
X-purgate-size: 21830

Using the 'u' debug key invokes dump_numa(), which walks each domain's
page list under page_alloc_lock to compute per-NUMA-node counts. On
domains with many pages, this O(pages) operation can hold the lock long
enough to trigger a watchdog timeout.

Replace the page-list walk with node_tot_pages[], a per-node counter
maintained in struct domain. This reduces dump_numa()'s per-domain work
from O(pages) to O(nodes).

Accounting via domain_adjust_tot_pages()

Most page-count updates flow through domain_adjust_tot_pages(). The
helper takes the affected NUMA node and updates both tot_pages and
node_tot_pages[node] in the same locked critical section.

A debug-only helper, assert_numa_page_count(), checks after each locked
update that the node totals sum to tot_pages.

Accounting in memory_exchange()

memory_exchange() cannot use the same helper. It is preemptible, may
fail and roll back part way through a chunk, and does not hold
page_alloc_lock for the whole operation. The final success-path value of
tot_pages is unchanged: by construction, the number of input pages stolen
equals the number of output pages assigned. domain_commit_page_deltas()
still applies the accumulated deltas to tot_pages, but their sum is zero.

Instead, it accumulates deferred per-node deltas in
node_tot_pages_adjustments[] for the current chunk:

  When steal_page() is called with MEMF_no_refcount, tot_pages is
  intentionally not decremented. A decrement of 1 is recorded for the
  input page's node.

  When assign_page() is called with MEMF_no_refcount, tot_pages is
  intentionally not incremented. An increment equal to the number of
  pages in the output extent is recorded.

At the end of a successful chunk, these deltas are committed under
page_alloc_lock. The net tot_pages delta is zero, while node_tot_pages[]
is updated to reflect the NUMA-node movement.

Correctness on failure paths:

  Invariant 1: Pages allocated with MEMF_no_owner are not counted in
  tot_pages until assign_page() succeeds. Freeing such pages with
  free_domheap_pages() is therefore accounting-neutral.

  Invariant 2: Pages stolen with MEMF_no_refcount remain counted in
  tot_pages until the deferred adjustment is committed. No window
  exists in which a stolen page is absent from d->page_list and
  already subtracted from tot_pages.

These invariants cover the failure cases:

  Input-side failure before output allocation: any input pages already
  stolen are still on in_chunk_list. The fail path attempts to assign them
  back to the domain. A successful reassign cancels the earlier negative
  delta; if the reassign fails because the domain is dying, the negative
  delta remains and is committed, reflecting that the page has been freed.

  OOM during output allocation (alloc_domheap_pages() returns NULL):
  output pages already allocated before the failure are on out_chunk_list,
  have no owner, and have never been counted in tot_pages. Freeing them
  does not change accounting. Stolen input pages are handled as above:
  reassignment cancels their negative deltas, while unreassigned pages are
  deducted because the domain is dying.

  assign_page() failure because the domain is dying: output pages
  assigned before the failure remain accounted to the domain and are
  reclaimed later by domain_relinquish_resources(). The accumulated
  deltas therefore contain positive entries for the successful output
  assignments and negative entries for all stolen input pages.
  Committing the net delta to both tot_pages and node_tot_pages[] leaves
  the accounting consistent with the pages the domain still owns.

  Post-assignment failure in guest_physmap_add_page() or while copying the
  new frame number back to the guest: at this point the output extent has
  already been assigned to the domain and the input pages for the chunk
  have already been freed. Input and output page counts are therefore
  equal, so the committed update only redistributes per-node counts and
  leaves tot_pages unchanged.

A functionally equivalent version of this change is included in the
XenServer 9 pre-release and is widely exercised there. Debug Xen
builds with the added consistency checks are also used in internal
end-to-end regression testing (XenRT). For upstream submission, the
change was additionally updated to support non-NUMA Xen builds and
reviewed again for correctness, including the failure paths.

Fixes: 4dff228603ba ("Walking the page lists needs the page_alloc lock")
Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
Signed-off-by: Marcus Granado <marcus.granado@citrix.com>
Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
---
Brief history of this code base: Work was started by Marcus Granado,
adding per-node accounting to domain_adjust_tot_pages() using work
by Alejandro Vallejo <alejandro.garciavallejo@amd.com> as basis.

In a 2nd phase, Bernhard Kaindl and Roger Pau MonnÃ© implemented
accumulating of per-node deltas in memory_exchange(), including
handling across failure paths and consistency checks of the page
counters after each update with CONFIG_DEBUG enabled. Bernhard
updated dump_numa() to replace walking d->page_list under lock
and Roger fixed handling of hypercall preemption. Andrew Cooper
participated in this phase as well and Joash Robinson tested using
end-to-end tests exercising debug-key 'u' and checking its output.

In a 3rd phase, Bernhard Kaindl added explanatory comments, prepared
this commit message for review, fixed a failure path that can occur
when memory_exchange() fails mid-exchange due to OOM, fixed the code
for non-NUMA builds and consolidated loops that apply accumulated
deltas into a single helper.
---
 xen/arch/x86/mm.c             |  3 +-
 xen/arch/x86/mm/mem_sharing.c |  4 +-
 xen/common/domain.c           |  9 ++++
 xen/common/grant_table.c      |  4 +-
 xen/common/memory.c           | 79 +++++++++++++++++++++++++----------
 xen/common/numa.c             | 14 +------
 xen/common/page_alloc.c       | 40 ++++++++++++++++--
 xen/include/xen/mm.h          | 12 +++++-
 xen/include/xen/sched.h       | 24 +++++++++++
 9 files changed, 143 insertions(+), 46 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index a158379e7734..a723a2c50a2f 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -4445,7 +4445,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, page_to_nid(page), -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 5c7a0ff30e8b..89ae418be0ae 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -723,7 +723,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, page_to_nid(page), -1);
         page_list_del(page, &d->page_list);
     }
 
@@ -769,7 +769,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 8cb4241b0511..0b6afba2acdb 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -1558,6 +1558,15 @@ void domain_destroy(struct domain *d)
     /* Remove from the domlist/hash. */
     domlist_remove(d);
 
+    /*
+     * Final invariant check: all pages still owned by the dying domain must
+     * be accounted for per-node before complete_domain_destroy() reclaims
+     * them.  Debug-only; expands to a no-op in production builds.
+     */
+    nrspin_lock(&d->page_alloc_lock);
+    assert_numa_page_count(d);
+    nrspin_unlock(&d->page_alloc_lock);
+
     /* Schedule RCU asynchronous completion of domain destroy. */
     call_rcu(&d->rcu, complete_domain_destroy);
 }
diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
index ac9fed600101..298662c3d69e 100644
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -2404,7 +2404,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);
 
         /*
@@ -2430,7 +2430,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, page_to_nid(page), -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 9e4899f9fc63..00eeaf33aefc 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -673,6 +673,14 @@ static long memory_exchange(XEN_GUEST_HANDLE_PARAM(xen_memory_exchange_t) arg)
     struct domain *d;
     struct page_info *page;
 
+    /*
+     * Deferred accounting for the current exchange chunk.  Keep it at
+     * function scope because the fail: path also needs to commit or cancel
+     * partial work.  domain_commit_page_deltas() clears applied entries, so
+     * each new chunk starts with a zeroed accumulator.
+     */
+    long node_tot_pages_adjustments[MAX_NUMNODES] = {};
+
     if ( copy_from_guest(&exch, arg, 1) )
         return -EFAULT;
 
@@ -822,6 +830,12 @@ static long memory_exchange(XEN_GUEST_HANDLE_PARAM(xen_memory_exchange_t) arg)
                 }
 
                 page_list_add(page, &in_chunk_list);
+                /*
+                 * steal_page() with MEMF_no_refcount removes ownership but
+                 * leaves the domain page counts unchanged; record the
+                 * deferred -1 for this page's node.
+                 */
+                node_tot_pages_adjustments[page_to_nid(page)]--;
 #ifdef CONFIG_X86
                 put_gfn(d, gmfn + k);
 #endif
@@ -870,32 +884,31 @@ static long memory_exchange(XEN_GUEST_HANDLE_PARAM(xen_memory_exchange_t) arg)
             if ( assign_page(page, exch.out.extent_order, d,
                              MEMF_no_refcount) )
             {
-                unsigned long dec_count;
-                bool drop_dom_ref;
-
                 /*
-                 * Pages in in_chunk_list is stolen without
-                 * decreasing the tot_pages. If the domain is dying when
-                 * assign pages, we need decrease the count. For those pages
-                 * that has been assigned, it should be covered by
-                 * domain_relinquish_resources().
+                 * Input pages for this chunk were stolen and freed without
+                 * decreasing tot_pages.  Output extents already assigned
+                 * before this failure will be released later by
+                 * domain_relinquish_resources().  Commit the relative deltas
+                 * now so concurrent reservation changes made under
+                 * page_alloc_lock are preserved.  The net delta is strictly
+                 * negative on this branch, so a zero post-commit tot_pages
+                 * means the last reference must be dropped.
                  */
-                dec_count = (((1UL << exch.in.extent_order) *
-                              (1UL << in_chunk_order)) -
-                             (j * (1UL << exch.out.extent_order)));
-
-                nrspin_lock(&d->page_alloc_lock);
-                drop_dom_ref = (dec_count &&
-                                !domain_adjust_tot_pages(d, -dec_count));
-                nrspin_unlock(&d->page_alloc_lock);
-
-                if ( drop_dom_ref )
+                if ( !domain_commit_page_deltas(d, node_tot_pages_adjustments) )
                     put_domain(d);
 
                 free_domheap_pages(page, exch.out.extent_order);
                 goto dying;
             }
 
+            /*
+             * assign_page() with MEMF_no_refcount gives ownership without
+             * updating the domain page counts; record the deferred extent
+             * size for this output node.
+             */
+            node_tot_pages_adjustments[page_to_nid(page)] +=
+                1UL << exch.out.extent_order;
+
             if ( __copy_from_guest_offset(&gpfn, exch.out.extent_start,
                                           (i << out_chunk_order) + j, 1) )
             {
@@ -915,8 +928,19 @@ static long memory_exchange(XEN_GUEST_HANDLE_PARAM(xen_memory_exchange_t) arg)
         }
         BUG_ON( !(d->is_dying) && (j != (1UL << out_chunk_order)) );
 
+        /*
+         * If publishing output GFNs failed after assignment, fail: still
+         * needs to commit the zero-net per-node redistribution.
+         */
         if ( rc )
             goto fail;
+
+        /*
+         * Success: commit the per-node redistribution.  The helper also
+         * applies the deltas to tot_pages; the final value is unchanged
+         * because the exchange is size-neutral.
+         */
+        domain_commit_page_deltas(d, node_tot_pages_adjustments);
     }
 
     exch.nr_exchanged = exch.in.nr_extents;
@@ -925,22 +949,31 @@ static long memory_exchange(XEN_GUEST_HANDLE_PARAM(xen_memory_exchange_t) arg)
     rcu_unlock_domain(d);
     return rc;
 
-    /*
-     * Failed a chunk! Free any partial chunk work. Tell caller how many
-     * chunks succeeded.
-     */
+    /* Failed a chunk.  Free partial work and report completed chunks. */
  fail:
     /*
      * Reassign any input pages we managed to steal.  NB that if the assign
      * fails again, we're on the hook for freeing the page, since we've already
-     * cleared PGC_allocated.
+     * cleared PGC_allocated.  A successful reassignment cancels the -1 that
+     * was recorded when the page was stolen.
      */
     while ( (page = page_list_remove_head(&in_chunk_list)) )
+    {
         if ( assign_pages(page, 1, d, MEMF_no_refcount) )
         {
             BUG_ON(!d->is_dying);
             free_domheap_page(page);
         }
+        else
+            node_tot_pages_adjustments[page_to_nid(page)] += 1;
+    }
+
+    /*
+     * Commit remaining deltas.  If all stolen pages were reassigned, this is
+     * a zero-net update.  Otherwise the domain is dying and unreassigned
+     * pages are deducted.
+     */
+    domain_commit_page_deltas(d, node_tot_pages_adjustments);
 
  dying:
     rcu_unlock_domain(d);
diff --git a/xen/common/numa.c b/xen/common/numa.c
index ad75955a1622..9f38145579e0 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -737,26 +737,14 @@ static void cf_check dump_numa(unsigned char key)
     printk("Memory location of each domain:\n");
     for_each_domain ( d )
     {
-        const struct page_info *page;
-        unsigned int page_num_node[MAX_NUMNODES];
         const struct vnuma_info *vnuma;
 
         process_pending_softirqs();
 
         printk("%pd (total: %u):\n", d, domain_tot_pages(d));
 
-        memset(page_num_node, 0, sizeof(page_num_node));
-
-        nrspin_lock(&d->page_alloc_lock);
-        page_list_for_each ( page, &d->page_list )
-        {
-            i = page_to_nid(page);
-            page_num_node[i]++;
-        }
-        nrspin_unlock(&d->page_alloc_lock);
-
         for_each_online_node ( i )
-            printk("    Node %u: %u\n", i, page_num_node[i]);
+            printk("    Node %u: %u\n", i, d->node_tot_pages[i]);
 
         if ( !read_trylock(&d->vnuma_rwlock) )
             continue;
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 1801afc96a0a..ab6f44a3f993 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -520,14 +520,45 @@ static unsigned long avail_heap_pages(
     return free_pages;
 }
 
-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;
 
+#ifdef CONFIG_NUMA
+    ASSERT(node != NUMA_NO_NODE);
+    ASSERT(node_online(node));
+    d->node_tot_pages[node] += pages;
+    assert_numa_page_count(d);
+#endif
+
     return d->tot_pages;
 }
 
+unsigned long domain_commit_page_deltas(struct domain *d,
+                                        long adjustments[MAX_NUMNODES])
+{
+    unsigned long tot_pages;
+    nodeid_t node;
+
+    nrspin_lock(&d->page_alloc_lock);
+    for_each_online_node ( node )
+        if ( adjustments[node] )
+        {
+#ifdef CONFIG_NUMA
+            d->node_tot_pages[node] += adjustments[node];
+#endif
+            d->tot_pages += adjustments[node];
+            adjustments[node] = 0;
+        }
+    assert_numa_page_count(d);
+    tot_pages = d->tot_pages;
+    nrspin_unlock(&d->page_alloc_lock);
+
+    return tot_pages;
+}
+
 #ifdef CONFIG_SYSCTL
 void get_outstanding_claims(uint64_t *free_pages, uint64_t *outstanding_pages)
 {
@@ -2924,7 +2955,7 @@ int assign_pages(
             goto out;
         }
 
-        if ( unlikely(domain_adjust_tot_pages(d, nr) == nr) )
+        if ( unlikely(domain_adjust_tot_pages(d, page_to_nid(pg), nr) == nr) )
             get_knownalive_domain(d);
     }
 
@@ -3066,7 +3097,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, page_to_nid(pg),
+                                                    -(1 << order));
 
             rspin_unlock(&d->page_alloc_lock);
 
@@ -3274,7 +3306,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, page_to_nid(page), -1);
 
     unprepare_staticmem_pages(page, 1, scrub_debug);
 
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index b3a35c4bc8d6..0737df02eda2 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -68,6 +68,7 @@
 #include <xen/types.h>
 #include <xen/list.h>
 #include <xen/spinlock.h>
+#include <xen/numa.h>
 #include <xen/perfc.h>
 #include <public/memory.h>
 
@@ -131,7 +132,16 @@ 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);
+                                                   nodeid_t node, long pages);
+/*
+ * Commit accumulated per-node page deltas to d->tot_pages and (under NUMA)
+ * d->node_tot_pages[] under page_alloc_lock.  Applied entries are cleared
+ * so the same accumulator can be reused for the next batch.  Returns the
+ * post-commit value of d->tot_pages; callers that may be releasing the last
+ * reference on the domain should drop it when the return value is zero.
+ */
+unsigned long domain_commit_page_deltas(struct domain *d,
+                                        long adjustments[MAX_NUMNODES]);
 int domain_set_claim_entries(struct domain *d, uint32_t nr_entries,
                              const struct xen_memory_claim *claim_set);
 int domain_get_claim_entries(struct domain *d, uint32_t *nr_entries,
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index f671e0c4c7b3..ae50f523e9f5 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -620,6 +620,11 @@ struct domain
     unsigned int last_alloc_node;
     spinlock_t node_affinity_lock;
 
+#ifdef CONFIG_NUMA
+    /* Distribution of tot_pages across NUMA nodes. */
+    unsigned int node_tot_pages[MAX_NUMNODES];
+#endif
+
     /* vNUMA topology accesses are protected by rwlock. */
     rwlock_t vnuma_rwlock;
     struct vnuma_info *vnuma;
@@ -698,6 +703,25 @@ static inline unsigned int domain_tot_pages(const struct domain *d)
     return d->tot_pages - d->extra_pages;
 }
 
+/*
+ * Debug-only consistency check: the per-node page counts must sum to
+ * d->tot_pages.  Compiled out unless both NUMA and debug builds are
+ * configured; caller must hold page_alloc_lock.
+ */
+static inline void assert_numa_page_count(const struct domain *d)
+{
+#if defined(CONFIG_NUMA) && defined(CONFIG_DEBUG)
+    unsigned int i, node_total = 0;
+
+    ASSERT(rspin_is_locked(&d->page_alloc_lock));
+
+    for_each_online_node ( i )
+        node_total += d->node_tot_pages[i];
+
+    ASSERT(node_total == d->tot_pages);
+#endif
+}
+
 /* Protect updates/reads (resp.) of domain_list and domain_hash. */
 extern spinlock_t domlist_update_lock;
 extern rcu_read_lock_t domlist_read_lock;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 09:05:57 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 09:05:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324636.1590120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUL4I-0008Je-M3; Tue, 02 Jun 2026 09:05:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324636.1590120; Tue, 02 Jun 2026 09: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 1wUL4I-0008JX-JB; Tue, 02 Jun 2026 09:05:50 +0000
Received: by outflank-mailman (input) for mailman id 1324636;
 Tue, 02 Jun 2026 09:05:49 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wUL4H-0008JR-Iq
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 09:05:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUL4G-00GH8S-Vu
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 11:05:48 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1e9ce8-bab6-0a2a0a5309dd-0a2a4506e56c-30
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 11:05:48 +0200
Received: from [40.107.209.63]
 (helo=PH8PR06CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1e9ce9-7371-0a2a45060019-286bd13f32b8-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 11:05:47 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by CH1PR03MB8143.namprd03.prod.outlook.com (2603:10b6:610:2b1::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Tue, 2 Jun 2026
 09:05:43 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 09:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=FaNdL00GVkpqDPBZTu0iJEjdwJdDpcGjUwnRMHUTfjmJGA2pOj5ORNgvWJu58bZRH3j2NG09LVFsBEaXBb/v5JN5Eu1Y/nrQqWmRbmCy9RsDsZqg15Kj7eUlLs8uSCrjUgP63ry1Jf7A5oBvS6zPYWrMTo/7ORQ7zBv3AYbGw4FDHiLwXJjjRzUEPqRVdwfSAPfhwelAjxJ6us6x0lNpM7k3EtxxXU1aWd3ap+oNmD/YIys1Tzo+Okk9HWzcATRwIOnvg0XK1y9lnzrQaNcVplfoGC7NA8igEzZGvUNBfXjZ6B4qsuP5P5vJVXMzqudHVZ+NpieK9u9PzuLKzc/n8Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t8HkXfuT5L+CYtuDLYF34Pm7Z96QNdCQBCWOoJi+drc=;
 b=ajMwfCzdTrmlUZX7CKcbbh3wDXDLk3BfVn0U3VfVyvNwPgGcblVcGdc/4n69AP5tOrFt7eJE31gHfSTcBstUZt1WvL2YoLqqZFZny7UBcZFtNFJ7nbmZGVXU796CHbBV34iBu3q63FItmdNxZsa/mWVJm+twJvw9q2Tf+EYC3R3peiY8RVOcHGQ+X2F5D4lQ32uKW183LIUOWc1dykyGGWfqGBvYkvoDIRw5P6tnwtfqbIGZimaEWQzmUqss+dmEVdunicGib8/jEsKkQS4VAkHGtRhlKMn25zVNoKndfi/KQRHE/T9j6DDIgt5vjIw8VlVlF0ESH0ENwYGvBw2k/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t8HkXfuT5L+CYtuDLYF34Pm7Z96QNdCQBCWOoJi+drc=;
 b=Ln71L7/epXvaV/ZyuqKYKJFC2ozgpJ5gJX2ph7mWXblvRz4s92vd43NetHUwdwoewI4ZmfJ5xisyU8xHbr3fc/zVmbMg9hGX1DUssC+nd/GwvbabhhjQHsKtm7ZVMylJrE+whQwBDZh6rQ3dileuFaB6PDPVw5yvR+aFaOJDdwc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 2 Jun 2026 11:05:39 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: dmukhin@ford.com
Cc: xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com,
	anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org,
	michal.orzel@amd.com, sstabellini@kernel.org
Subject: Re: [PATCH v6 3/4] xen/console: use memcpy() in console_init_ring()
Message-ID: <ah6c40-TkdJcFggM@macbook.local>
References: <20260509005714.892018-1-dmukhin@ford.com>
 <20260509005714.892018-4-dmukhin@ford.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260509005714.892018-4-dmukhin@ford.com>
X-ClientProxiedBy: MA3P292CA0070.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:49::7) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|CH1PR03MB8143:EE_
X-MS-Office365-Filtering-Correlation-Id: a61705f6-265f-4069-e966-08dec0861fed
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|56012099006|18002099003|22082099003|4143699003|11063799006|6133799003;
X-Microsoft-Antispam-Message-Info:
	JF+7uqb8xTDu3A0R+ni6e/TZAJAMABnkvOvCiNZu5BF62Icg36Wx8laR1tf9HM47uuUI+8nGnRQyTPFprDqD28l8nDoYX+qQ8miHzffct+Yc8VI6FGBMKZV6NorsXtyVhjIxIGJRlgvCXLw5d+fvGXNGWbbucnRow0f1rzkILfuGdjgxf1m2Q+SbSX5m+AITqnrHmyZQc0eCMChD2QwHq4O5w3kvbpIIApJy4XrFRJNhGL9Y8u9MIcri4BXh16b1i4y4B4UecOkyS3Sl2VHnzBBSC7KGGXAik6FWc+gEU1LiImPv58wpkICVCCTvseeWoAR2d7SpcbBzUivawWFIWId10C2e02whTRFKgjpn8aqAJeRXU1zziOM7CZq46Iq9sAcrbSjR0XqP3OMwBUNGThdprrXZGnmVudFVK6UqWTyAuZhQvLLEkFhSgCiTCCmpxL6EYMMnOJD1RCsOeqAMiywj3HgWTF3EEskGH4W0k3qTJUNWRR+loihFJX1gWz2F6UKzwVVZ4/b+Da33oN1rxUuu7mFdFKjiEAoOpF66mlQrGXGISL+zAXndKXArqdBoG4+J30NpVXq9s/nxmlCFK65mwQ/MY7cLNpzUUYSaPMKe7y372wkpz7/bNv4WksRgHj03iU2CYTELK+FNjO3jtIBL2tEm6oKArt+2ES11UfVS2/u6BgoWEfmSKJ/dQNQU
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(56012099006)(18002099003)(22082099003)(4143699003)(11063799006)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UkorcUdxZktJMGJZTGlFaHVyU2ZnMWwzNUttcDBKZmowNzNHdzJXZEVCUUVv?=
 =?utf-8?B?TWVvLzNzdDBvT2pCRm5ZbXgyNEVkSHVBOFdHbUQ1TjN3YzhDNE9zQmtQd3lx?=
 =?utf-8?B?UGVRMHB1WGwrNkRsY2VRYXVaRkJlQWdzQU9oWHEwbWpKZWlubkZYOHA0Ylcx?=
 =?utf-8?B?cUhvOTBuZkZsQmZQeDQzRUs3eEhBSldhdUEvTDM2K0d6Sk8ycHR1UHllQ1pr?=
 =?utf-8?B?RkxrRGdJN21rUnB0RkV4SjhkMFV5WUs2ajhJaG1paTFTdWJrNTNnTVhlL0dB?=
 =?utf-8?B?MXBUSklza0dCZ21Sd2NWbVpiRS84YW5DN2tWcXFQdVovOERlOVdjbXJ2SW9i?=
 =?utf-8?B?VXFCNkNjYVdoWGc4NGhtOCtYcXEzYjU4V1ErU0JyZmxZUmpFSGNHUzFkZ0VU?=
 =?utf-8?B?d1JnQmFOM2JERnBVRm5MT2tQMis2UEw1QitBVCt2TVRwbWlFeWdxdUY0eERo?=
 =?utf-8?B?YmVwZTlab0kwWVlyS0orU0hrWllGai83VlF5dzk5azAvUnNsYjdvWk9RRld0?=
 =?utf-8?B?dkZZV0dLT0cvdVNGaklzemFVOG1GelhEcWMrR1ViUUM3MFhEbDBVSVpKQzl2?=
 =?utf-8?B?UTJOUjRLampjb3oxODJXR2U1ZmZEeURqd0ZFZHQwZnZFbUNkZlo5UXdvVjBR?=
 =?utf-8?B?MVE4VkRUOGZCZ0h4L1ZPNHNscCtvVnBwcW9zRytGaFhyV29la3Q1OUllcjNM?=
 =?utf-8?B?czZlVHhMV3BURmNSb3dUOWNySFJ6ZnRsS3c4Q2ZIbmhJV0hjWHVnV2E4Y2pO?=
 =?utf-8?B?cXlqQkRzYVYxMnRSeGJhR0ZnOEFWY0t4cUhhdVBZbk1MckZJcjhBbWJ3ZlFV?=
 =?utf-8?B?ckFvME1ueHNEeVFIVlJhc2M5MGgzQTBXN2w1NGVsMmlNNTdOMGlvNzAwTkhX?=
 =?utf-8?B?QWRLeU12Zmp5WGNuS1dqeDA3aW56Q0tKd0s0Y2FCZzQ3QmwrK2NVSWtBRVJz?=
 =?utf-8?B?bVA5cytHU2UwZk52Nlh1RUE5Ynpna1pxYVFlTVJ4NkNhUWNLZjhXZkd0WmNr?=
 =?utf-8?B?NGhtNUJnRlZMYm9HWGI2MkxsZFA3b1dUNVlwbURxZ2FrSjBlN2xueHAvUk9X?=
 =?utf-8?B?dVBHOEQrV3NNZ29zM0tDaFNTVXpUNU5WaXJ5dFZZS2xQdStQVGdoV2RVVkZ5?=
 =?utf-8?B?cWQ3Q0xCNnZrR2RvQjV2SGswYVozaGwwU3RIQ08vTDRiMUU2OTlsNmNic21B?=
 =?utf-8?B?UmxyVFFGRE9sZFNKSWlvMkh3eUM3M1NOcm5aYmpoRGdnaG9CSmhxRGdtRk1l?=
 =?utf-8?B?OVZUWC9IY2IvaEg1ZHpqak1mcThCME5EN2d4N1RlaU12bDFJa1BGUXRUQUVu?=
 =?utf-8?B?RFA4RDgwWkNQOXlzWnVXeWR3cGQrVFBpY3NRN1BHV1FQeS9WOEp2dEJUdUdJ?=
 =?utf-8?B?cGFIaGFJVGc5clIxcksxcERhazZ0WW1mVCtSVlhhN1JFaHBZNUpZakZNVENU?=
 =?utf-8?B?YSthMkViY2FzaGpiVjZMWThBVFFwK2Y2M1p1b09QS2pPZjRwcWU0djI1N0Zi?=
 =?utf-8?B?YU11RzZ6aFdIeHFZVGxQeTN4TTc1cHp3SFBabHlNcFVyWEVOaFZPUEdEY2pV?=
 =?utf-8?B?YVhWY1NnZ2h0bDcvVmFTUHVwcXcxWXdjVk03ZENIWThNZkhyYXFiQlB0Qjkv?=
 =?utf-8?B?aW5DNUg2ekRiWWRZWklFVzl0ZVNGdk1CUFVROFZCcXVrSGVkWW5OZXYxbXVK?=
 =?utf-8?B?Z3htdkl4Ykp3UnhNekwyUno3eUlwTEE3Nk16V0FlUzdTVGRYQi9pOE9XeEZR?=
 =?utf-8?B?ZkQ1QTdBRzQ3N043OUdkOTZCN3pJSnI0ZCtidHlQTWtuRW5pS1E2YWxCTDM3?=
 =?utf-8?B?SzVTcmhVV05oMVlKbEdpaWIrNTVIMWdOV1ZsaUdrbTNBU0lqRlgzckVVeS9u?=
 =?utf-8?B?cEhxblpvZGdGTUdUT3dQNDgwV2NRQkpHSVJEQi9zM0s5bzFYeFk0K0ZiMjZU?=
 =?utf-8?B?cXVWRmhvSHBlL1NPTWcwSndkVVlUVm94cWlRL1ZRZzEyVXdDTE5OQy9kRFE3?=
 =?utf-8?B?V3NTRFBscnBpUHM1b3dLc2d6d3F5R29mZ1BFTjlydTJ1V2FhUjhhNGZLc3lV?=
 =?utf-8?B?b2IvczJMNys0a0tCRXdOWTA4WTNFNGlXeEswMmVzbzhuZWE1cEZpeXBiWDVz?=
 =?utf-8?B?cFJaQlJ3TXA3Z0o5ODdLNkJHbk5NUjFNT2dzVWZ2V3dUK1NDa1pkTjBXZ1Bw?=
 =?utf-8?B?T0NuRVl5eG5vUnVNa0JTVE5uSlJva1A2dm80dGFkY0JCYXpLNmx0WlpQbFhz?=
 =?utf-8?B?U3VoWkphUnJBTGdnVFpqa2F6VGJ0ZTRkSHYwUFZaVDVsbDlMQmZkazZPNmtT?=
 =?utf-8?B?Mm9JVXB3bmtZRmUyWFZ6bGxpU3JWc1ZiRkUycHBmVUtGK0x2NmlCUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a61705f6-265f-4069-e966-08dec0861fed
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 09:05:42.8987
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: r52mVzhf+GFnj3ejkiCO/MEf7mremupsEUkDtbr+ZneDAU0UlrxBEEfaPlneFpeohfNpd2vpfBL9LAfvAR0yzw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH1PR03MB8143
X-purgate-ID: tlsNG-16d1c6/1780391147-8556ED75-120BF9CD/0/0
X-purgate-type: clean
X-purgate-size: 2725

On Fri, May 08, 2026 at 05:57:13PM -0700, dmukhin@ford.com wrote:
> From: Denis Mukhin <dmukhin@ford.com> 
> 
> Make console_init_ring() more efficient by using memcpy()'s, rather than
> copying the ring a byte at a time.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>

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

A couple of notes below.

> ---
> Changes since v5:
> - fixed memcpy() logic
> ---
>  xen/drivers/char/console.c | 21 ++++++++++++++++++---
>  1 file changed, 18 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
> index 5ab3b0de12d8..5cac87d052b9 100644
> --- a/xen/drivers/char/console.c
> +++ b/xen/drivers/char/console.c
> @@ -463,7 +463,8 @@ static void cf_check conring_dump_keyhandler(unsigned char key)
>  void __init console_init_ring(void)
>  {
>      char *ring;
> -    unsigned int i, order, memflags;
> +    XENCONS_RING_IDX i, size;
> +    unsigned int order, memflags;
>      unsigned long flags;
>  
>      if ( !opt_conring_size )
> @@ -479,8 +480,22 @@ void __init console_init_ring(void)
>      opt_conring_size = PAGE_SIZE << order;
>  
>      nrspin_lock_irqsave(&console_lock, flags);
> -    for ( i = conringc ; i != conringp; i++ )
> -        ring[i & (opt_conring_size - 1)] = conring[i & (conring_size - 1)];
> +
> +    i = 0;
> +    size = conringp - conringc;
> +    while ( i < size )
> +    {
> +        XENCONS_RING_IDX src = (conringc + i) & (conring_size - 1);
> +        XENCONS_RING_IDX dst = (conringc + i) & (opt_conring_size - 1);
> +        XENCONS_RING_IDX n;
> +
> +        n = min(opt_conring_size - dst, conring_size - src);
> +        n = min(size - i, n);
> +
> +        memcpy(&ring[dst], &conring[src], n);
> +        i += n;
> +    }

It's a bit more complex logic for not much gain IMO: this will only be
used once to move from the init buffer to the dynamically allocated
one.  A couple of notes, feel free to ignore if you don't think it's
an improvement: I would rename `i` to `done`, as `i` is usually
associated with an index, and here it's just an accumulator of the
amount of characters processed.  I would also consider making this a
for loop, by pulling n to the outer context, ie:

XENCONS_RING_IDX done, size, n;
[...]

for ( done = 0; done < size; done += n )
{
    XENCONS_RING_IDX src = (conringc + done) & (conring_size - 1);
    XENCONS_RING_IDX dst = (conringc + done) & (opt_conring_size - 1);

    n = min(opt_conring_size - dst, conring_size - src);
    n = min(size - done, n);

    memcpy(&ring[dst], &conring[src], n);
}

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 09:07:00 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 09:07:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324641.1590130 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUL5P-0000Kn-0H; Tue, 02 Jun 2026 09:06:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324641.1590130; Tue, 02 Jun 2026 09:06: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 1wUL5O-0000Kg-SW; Tue, 02 Jun 2026 09:06:58 +0000
Received: by outflank-mailman (input) for mailman id 1324641;
 Tue, 02 Jun 2026 09:06:57 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Michal.Orzel@amd.com>) id 1wUL5M-0000KU-Qx
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 09:06:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUL5M-007Lch-3d
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 11:06:56 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a1e9d2d-5cb7-0a2a0a5109dd-0a2a450792fa-18
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 11:06:55 +0200
Received: from [40.93.201.68]
 (helo=CY3PR05CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a1e9d2d-229c-0a2a45070019-285dc944925b-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 11:06:55 +0200
Received: from SA1P222CA0025.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:22c::10)
 by IA4PR12MB9812.namprd12.prod.outlook.com (2603:10b6:208:55b::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.16; Tue, 2 Jun 2026
 09:06:49 +0000
Received: from SN1PEPF000397AF.namprd05.prod.outlook.com
 (2603:10b6:806:22c:cafe::20) by SA1P222CA0025.outlook.office365.com
 (2603:10b6:806:22c::10) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.16 via Frontend Transport; Tue, 2
 Jun 2026 09:06:48 +0000
Received: from satlexmb07.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_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Tue, 2 Jun 2026 09:06:47 +0000
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 2 Jun
 2026 04:06:47 -0500
Received: from [10.252.145.116] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Tue, 2 Jun 2026 04:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Nc4lwAfGqKHcCQ1jph2bfqsnySFKz/G+ZyuyUwzcCALrG5wbQUTvnOUXvbWoBjAf/f4Hg3WadQGuHsy/kjKKVMgiDcdIiEUlVuivM9ryPusjABT0LpKRHCK6rpxo6efTNNEMYB3PKika6Xcs2E/hDm+VfEUhkrzgRluW5/gr5ddGRdTs5/PRbSL8U6bAeJz8xVo9HcK72ZlCvb5kqM1z1fyzdNEleiz6n8lGyZNpzEyxg+IDH5sN3fUajUPYT9zAqYkewzyY5D38gZ+6DJUlolBiGWuLOqOnEz87BmvmmPDvr/H9bdG18A90LZtCNfC2fccJlYxOzTfQWLtJ8f+MJg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PajO6ydWs3LKJXZ80LVKPJjXwpAaZvgCd1Lf3j6U6aU=;
 b=lrTUCplB78rYnqQgJOz4W29KunRQkJtLzrHpWLPCSyptnBZPI/OlFKCd59wmFQUBwtywiHiqER2lO3ctcn6xBkr9Lcy041Tv6KjXBCZ/ff8UxokpMYyJJ3lBCggv/GQRcZ38X0uwmNq7l8rsVMMiaccs911J0O/4DzFDFHzESp9/NvBRsNMFnovdKLd/O5X7S6jaUT9+uo5y0LYIG+GYZ4w420xk72CqRv9J5kBtN1e6eq+9i+bpn+/3GgNPoh2oe5evG04rSGyV4RViPwQzcET/Ej5E7FhKv+f8/2H/FKBI90NCngUsoqwYQbsYNTb53fY+Ql2O25HoPrujVgKyvA==
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=PajO6ydWs3LKJXZ80LVKPJjXwpAaZvgCd1Lf3j6U6aU=;
 b=gOF3yOhsLna8kSE5E/SBk9rzLhtGvDqC69lNiSPQ+mnKtYkjSmhsWQUXYyKgU6KUtPJV5UNZKFHQVDJ717ZYzNfUAQhnqpNqJleRFWBDzea9DPaBQ5Qzktv1O3olm/zm9FZIGGOrYMCJehUh/9i5uo6UWuI4fogcjQsUcrnGCvg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <8d8b72d2-8188-4148-9812-0c116cc330e4@amd.com>
Date: Tue, 2 Jun 2026 11:06:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] device-tree: validate first hwdom bank for boot
 modules
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>, 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: <4f862bb2dc323914b8120b0f16af7516140cf42b.1780065103.git.mykola_kvach@epam.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <4f862bb2dc323914b8120b0f16af7516140cf42b.1780065103.git.mykola_kvach@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF000397AF:EE_|IA4PR12MB9812:EE_
X-MS-Office365-Filtering-Correlation-Id: 35b024d6-3dfc-404f-c932-08dec08646de
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700016|82310400026|376014|7416014|1800799024|18002099003|22082099003|11063799006|6133799003|56012099006|3023799007;
X-Microsoft-Antispam-Message-Info:
	Sjbc+dz7AR3A2UW2cCCLbBSnzRmzijuyNqNmkSOdLWMk4hOjkOTnRonLmw/aKfOy70ZWdOCfWQmrXc/Sw9a98dvvkWUOCtfpBjCmEqqGi3zGtP/mxDabseLlVNxDspMqOhnyQqa6YeNBvgy6utGfqlphj3rRPeMCxNSuIlNfYNiZNH0aQv5x7P2w96czE7fv9zj+0ml83Lv7Z1CTPYi20EEyosGH3NW/qu1toDLluuWqaO5XXO0Ze8N3LvOGsqXEWAesLJ/d76c2VXU4qZSqRO0zw4h6AQlH3RYwpW9LQxixjhLnFrRjik8EZv2nZuLXhu4lijAHahqF+TWFoozYhWqJ55JqgqPvzeE/MKkTrdwjhA3UY5T5LSaWTqJ7qZmhqjjN5WLI2sOlzCdWZhTSZ2OCufl/GBz9EyL/gTmBWBfsqjF9woYVqUzLazWUrEasxixUMFN4EM0Cj4vnZJ+qzD7INOO3BFJmU7vyUtr+AsKt1/BhDp9F9VuiUw++u3wK+dZ12wUihg/PIsh9gu3A3E5fpF7yLbV9F/EX04oJp7jsLbj38UIClyuVJB+4Z+TdwJSONmqdCIORthK16aImM2X+HvGSPosqM6DQUS2q0pJU+hLXkOH7CnpM3KlIf644tC8xpGyrYTiuyyFZbouauj9n4b6Ti5H1KG/Pmiddk7+DP/KZzi3xvly0ZI7eH8UN
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(82310400026)(376014)(7416014)(1800799024)(18002099003)(22082099003)(11063799006)(6133799003)(56012099006)(3023799007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	ky/4isn3h00C6g/IkaCj3aLzAidtAsB3Wb5qFAz9sAcwuUnpNRp5P/MNHUSq1u+Tl8P86hjcEjXdwNWeBLkv2r9HX7CVx1T1k0NbI8tKv+d2txLBa1EeTVThggab3Gv7PkVA2wxJxQIWY95ZKg/vH9l20KjZ52Gmn5MAi6EK01IFMSAQyA7moyxeulOOU11ZHmfBGc27mfCVQhIKvNk3qhS38ZN79bbEQpVS70UN+C21N+G2ewa2eBwTpA84XhwJFupAmVT733tnTiZyTpt/BMoqOco4XRlVoQrBbe4GBPZBB6fnpkbHR19XAW8sB4cVZKVFv65p8qfzqzgdnCK1Wr2qlpJ551EWmuQx3JsitOO+izdcvM67CcRjC2gk9bjsYTrHA1KU/Xnh1x+3poYN8KVacX1KzL0yULAw5BiD0D2Cvwd1QEfjajd+Cr+IKDEZ
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 09:06:47.9716
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 35b024d6-3dfc-404f-c932-08dec08646de
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF000397AF.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA4PR12MB9812
X-purgate-ID: tlsNG-ef75cf/1780391215-2377AC48-A9951FA5/0/0
X-purgate-type: clean
X-purgate-size: 18152



On 29-May-26 17:10, Mykola Kvach wrote:
> From: Mykola Kvach <mykola_kvach@epam.com>
> 
> With LLC coloring enabled, the hardware domain memory is allocated by
> allocate_hwdom_memory() rather than by using the fixed direct-map layout.
> 
> Commit de99f3263555 ("device-tree: Improve hwdom memory allocation for
> DMA") made that allocator prefer lower host regions. The first-bank
> filter, however, still only checked the old 128MB heuristic. A low
> region can satisfy that heuristic but still be too small, or otherwise
> unsuitable, for the hardware-domain kernel and the DTB/initrd module
> area to fit in bank 0 according to the Arm placement rules.
> 
> Keep the existing first-bank size policy and add an architecture-specific
> candidate check. On Arm, compute the kernel load address for the candidate
> bank using the same logic as kernel_zimage_place(), verify that the kernel
> range is covered by that bank, and then reuse the same module-placement
> helper as place_modules(). The FDT is generated later, so use the
> hardware-domain FDT allocation size as a conservative upper bound for the
> final DTB size.
> 
> Check the candidate after capping the host region by the remaining
> unassigned hardware-domain memory, so the validation is performed against
> the size that would actually become bank 0.
> 
> This keeps the DMA-oriented allocation policy from de99f3263555 while
> preventing a too-small bank 0 from reaching place_modules().
> 
> Fixes: de99f3263555 ("device-tree: Improve hwdom memory allocation for DMA")
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> ---
> Changes since RFC:
> - Do not keep the RFC scalar minimum-size check. It can both reject
>   valid layouts and accept layouts which still fail later. Instead,
>   validate the candidate bank using the same kernel and module placement
>   rules as the load path.
>   Replace the scalar minimum-size check with arch_hwdom_first_bank_ok().
> - Reuse the existing Arm kernel and DTB/initrd placement rules for the
>   first-bank candidate check.
> - Treat the hardware-domain FDT allocation size as a conservative upper
>   bound because the final FDT is generated later.
> 
> Link to RFC:
>    https://patchew.org/Xen/9ae4f7dd49f5b1f761193adae573c2675c92e883.1779051035.git.mykola._5Fkvach@epam.com/
> 
> Why the RFC scalar approach was not kept:
> 
> A simple minimum-size check is not sufficient here because the validity of
> the first bank depends on the actual Arm placement rules, not only on the
> aggregate size of the kernel, DTB and initrd. The DTB/initrd area may fit
> before a 64-bit Image loaded with a text offset, while an AArch32
> position-independent kernel may leave no valid module location even when
> the aggregate size appears to fit. Fixed-address kernels also need the
> candidate bank start to be considered.
> 
> Link to synthetic tests output:
>    https://gitlab.com/xen-project/people/mykola_kvach/xen/-/blob/fix/hwdom-first-bank-dom0-modules-v2-new/tools/tests/arm-boot-modules/test-arm-boot-modules.log?ref_type=heads
> 
> ---
>  xen/arch/arm/acpi/domain_build.c        |   2 -
>  xen/arch/arm/domain_build.c             |   8 ++
>  xen/arch/arm/include/asm/domain_build.h |   4 +
>  xen/arch/arm/include/asm/kernel.h       |   9 ++
>  xen/arch/arm/kernel.c                   | 179 ++++++++++++++++++------
>  xen/common/device-tree/domain-build.c   |  24 +++-
>  xen/include/xen/fdt-kernel.h            |   9 ++
>  7 files changed, 182 insertions(+), 53 deletions(-)
> 
> diff --git a/xen/arch/arm/acpi/domain_build.c b/xen/arch/arm/acpi/domain_build.c
> index 249d899c33..db16f7fa94 100644
> --- a/xen/arch/arm/acpi/domain_build.c
> +++ b/xen/arch/arm/acpi/domain_build.c
> @@ -26,8 +26,6 @@
>  #undef virt_to_mfn
>  #define virt_to_mfn(va) _mfn(__virt_to_mfn(va))
>  
> -#define ACPI_DOM0_FDT_MIN_SIZE 4096
> -
>  static int __init acpi_iomem_deny_access(struct domain *d)
>  {
>      acpi_status status;
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 1efddc60ef..550617f152 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -115,6 +115,14 @@ int __init parse_arch_dom0_param(const char *s, const char *e)
>                               (IS_ENABLED(CONFIG_STATIC_SHM) ?         \
>                                (NR_SHMEM_BANKS * (160 + 16)) : 0))
>  
> +paddr_t __init hwdom_get_fdt_alloc_size(void)
> +{
> +    if ( acpi_disabled )
> +        return fdt_totalsize(device_tree_flattened) + DOM0_FDT_EXTRA_SIZE;
> +
> +    return ACPI_DOM0_FDT_MIN_SIZE;
> +}
> +
>  unsigned int __init dom0_max_vcpus(void)
>  {
>      if ( opt_dom0_max_vcpus == 0 )
> diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
> index df8b361b3d..85cf46a958 100644
> --- a/xen/arch/arm/include/asm/domain_build.h
> +++ b/xen/arch/arm/include/asm/domain_build.h
> @@ -19,6 +19,10 @@ int prepare_acpi(struct domain *d, struct kernel_info *kinfo);
>  
>  int add_ext_regions(unsigned long s_gfn, unsigned long e_gfn, void *data);
>  
> +#define ACPI_DOM0_FDT_MIN_SIZE 4096
> +
> +paddr_t hwdom_get_fdt_alloc_size(void);
> +
>  #if defined(CONFIG_MPU) && defined(CONFIG_ARM_64)
>  /* Utility function to determine if an Armv8-R processor supports VMSA. */
>  bool has_v8r_vmsa_support(void);
> diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
> index 21f4273fa1..bf14fb208a 100644
> --- a/xen/arch/arm/include/asm/kernel.h
> +++ b/xen/arch/arm/include/asm/kernel.h
> @@ -8,12 +8,21 @@
>  
>  #include <asm/domain.h>
>  
> +#include <xen/types.h>
> +
> +struct kernel_info;
> +
>  struct arch_kernel_info
>  {
>      /* Enable pl011 emulation */
>      bool vpl011;
>  };
>  
> +#define arch_hwdom_first_bank_ok arch_hwdom_first_bank_ok
> +bool arch_hwdom_first_bank_ok(const struct kernel_info *info,
> +                              paddr_t bank_start,
> +                              paddr_t bank_size);
> +
>  #endif /* #ifdef __ARCH_ARM_KERNEL_H__ */
>  
>  /*
> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
> index b72585b7fe..907239a246 100644
> --- a/xen/arch/arm/kernel.c
> +++ b/xen/arch/arm/kernel.c
> @@ -40,27 +40,67 @@ struct minimal_dtb_header {
>      /* There are other fields but we don't use them yet. */
>  };
>  
> -static void __init place_modules(struct kernel_info *info,
> -                                 paddr_t kernbase, paddr_t kernend)
> +static paddr_t __init
> +kernel_zimage_place_in_bank(const struct kernel_info *info,
> +                            paddr_t bank_start, paddr_t bank_size)
>  {
> -    /* Align DTB and initrd size to 2Mb. Linux only requires 4 byte alignment */
> -    const struct boot_module *mod = info->bd.initrd;
> -    const struct membanks *mem = kernel_info_get_mem(info);
> -    const paddr_t initrd_len = ROUNDUP(mod ? mod->size : 0, MB(2));
> -    const paddr_t dtb_len = ROUNDUP(fdt_totalsize(info->fdt), MB(2));
> -    const paddr_t modsize = initrd_len + dtb_len;
> +    paddr_t load_addr;
>  
> -    /* Convenient */
> -    const paddr_t rambase = mem->bank[0].start;
> -    const paddr_t ramsize = mem->bank[0].size;
> -    const paddr_t ramend = rambase + ramsize;
> +#ifdef CONFIG_HAS_DOMAIN_TYPE
> +    if ( (info->type == DOMAIN_64BIT) && (info->image.start == 0) )
> +        return bank_start + info->image.text_offset;
> +#endif
> +
> +    /*
> +     * If start is zero, the zImage is position independent, in this
> +     * case Documentation/arm/Booting recommends loading below 128MiB
> +     * and above 32MiB. Load it as high as possible within these
> +     * constraints, while also avoiding the DTB.
> +     */
> +    if ( info->image.start == 0 )
> +    {
> +        paddr_t load_end;
> +        paddr_t ram128mb;
> +
> +        ram128mb = bank_start + MB(128);
> +        load_end = bank_start + bank_size;
> +        load_end = min(ram128mb, load_end);
> +
> +        if ( load_end - bank_start < info->image.len )
> +            return INVALID_PADDR;
> +
> +        load_addr = load_end - info->image.len;
> +        /* Align to 2MB */
> +        load_addr &= ~(MB(2) - 1);
> +        if ( load_addr < bank_start )
> +            return INVALID_PADDR;
> +    }
> +    else
> +        load_addr = info->image.start;
> +
> +    return load_addr;
> +}
> +
> +static bool __init
> +first_bank_has_enough_room(paddr_t ramsize, paddr_t kernbase,
> +                           paddr_t kernend, paddr_t modsize)
How about first_bank_can_fit_modules()? The name would be more descriptive.

> +{
>      const paddr_t kernsize = ROUNDUP(kernend, MB(2)) - kernbase;
> -    const paddr_t ram128mb = rambase + MB(128);
>  
> -    paddr_t modbase;
> +    /*
> +     * Check only the aggregate kernel/module footprint. The actual DTB/initrd
> +     * location is selected by find_module_placement().
I don't particularly like that we call dtb+initrd modules while kernel is also a
module. How about renaming to find_dtb_initrd_placement()? This will improve the
readability by a lot. We could also rename place_modules() to
place_dtb_initrd_modules() or just place_dtb_initrd().

> +     */
> +    return modsize + kernsize <= ramsize;
> +}
>  
> -    if ( modsize + kernsize > ramsize )
> -        panic("Not enough memory in the first bank for the kernel+dtb+initrd\n");
> +static bool __init
> +find_module_placement(paddr_t rambase, paddr_t ramsize,
> +                      paddr_t kernbase, paddr_t kernend,
> +                      paddr_t modsize, paddr_t *modbase)
> +{
> +    const paddr_t ramend = rambase + ramsize;
Instead of passing ramsize, pass ramend right away to avoid this line (similar
to kernbase, kernend).

> +    const paddr_t ram128mb = rambase + MB(128);
>  
>      /*
>       * DTB must be loaded such that it does not conflict with the
> @@ -80,17 +120,49 @@ static void __init place_modules(struct kernel_info *info,
>       * tools/libxc/xc_dom_arm.c:arch_setup_meminit as well.
This is a stale path. Please update to tools/libs/guest/xg_dom_arm.c:meminit

>       */
>      if ( ramend >= ram128mb + modsize && kernend < ram128mb )
> -        modbase = ram128mb;
> -    else if ( ramend - modsize > ROUNDUP(kernend, MB(2)) )
> -        modbase = ramend - modsize;
> -    else if ( kernbase - rambase > modsize )
> -        modbase = kernbase - modsize;
> -    else
>      {
> -        panic("Unable to find suitable location for dtb+initrd\n");
> -        return;
> +        *modbase = ram128mb;
Do we need this extra variable? Can't we just *modbase = rambase + MB(128)?

> +        return true;
> +    }
> +
> +    if ( ramend - modsize > ROUNDUP(kernend, MB(2)) )
> +    {
> +        *modbase = ramend - modsize;
> +        return true;
> +    }
> +
> +    if ( kernbase - rambase > modsize )
> +    {
> +        *modbase = kernbase - modsize;
> +        return true;
>      }
>  
> +    return false;
> +}
> +
> +static void __init place_modules(struct kernel_info *info,
> +                                 paddr_t kernbase, paddr_t kernend)
> +{
> +    /* Align DTB and initrd size to 2Mb. Linux only requires 4 byte alignment */
> +    const struct boot_module *mod = info->bd.initrd;
> +    const struct membanks *mem = kernel_info_get_mem(info);
> +    const paddr_t initrd_len = ROUNDUP(mod ? mod->size : 0, MB(2));
> +    const paddr_t dtb_len = ROUNDUP(fdt_totalsize(info->fdt), MB(2));
> +    const paddr_t modsize = initrd_len + dtb_len;
> +
> +    /* Convenient */
> +    const paddr_t rambase = mem->bank[0].start;
> +    const paddr_t ramsize = mem->bank[0].size;
> +
> +    paddr_t modbase;
> +
> +    if ( !first_bank_has_enough_room(ramsize, kernbase, kernend, modsize) )
> +        panic("Not enough memory in the first bank for the kernel+dtb+initrd\n");
> +
> +    if ( !find_module_placement(rambase, ramsize, kernbase, kernend, modsize,
> +                                &modbase) )
> +        panic("Unable to find suitable location for dtb+initrd\n");
> +
>      info->dtb_paddr = modbase;
>      info->initrd_paddr = info->dtb_paddr + dtb_len;
>  }
> @@ -100,32 +172,51 @@ static paddr_t __init kernel_zimage_place(struct kernel_info *info)
>      const struct membanks *mem = kernel_info_get_mem(info);
>      paddr_t load_addr;
>  
> -#ifdef CONFIG_HAS_DOMAIN_TYPE
> -    if ( (info->type == DOMAIN_64BIT) && (info->image.start == 0) )
> -        return mem->bank[0].start + info->image.text_offset;
> -#endif
> +    load_addr = kernel_zimage_place_in_bank(info, mem->bank[0].start,
> +                                            mem->bank[0].size);
> +    if ( load_addr == INVALID_PADDR )
> +        panic("Unable to find suitable location for the kernel\n");
>  
> +    return load_addr;
> +}
> +
> +bool __init arch_hwdom_first_bank_ok(const struct kernel_info *info,
> +                                     paddr_t bank_start,
> +                                     paddr_t bank_size)
> +{
> +    const struct boot_module *initrd = info->bd.initrd;
>      /*
> -     * If start is zero, the zImage is position independent, in this
> -     * case Documentation/arm/Booting recommends loading below 128MiB
> -     * and above 32MiB. Load it as high as possible within these
> -     * constraints, while also avoiding the DTB.
> +     * place_modules() rounds the DTB and initrd placement to 2MB boundaries;
> +     * use the same granularity when checking whether the first bank can hold
> +     * the boot modules.
>       */
> -    if ( info->image.start == 0 )
> -    {
> -        paddr_t load_end;
> +    const paddr_t initrd_len = ROUNDUP(initrd ? initrd->size : 0, MB(2));
> +    /*
> +     * The hardware domain FDT has not been generated yet. Use the allocation
> +     * size as a conservative upper bound for the final DTB size.
> +     */
> +    const paddr_t dtb_len = ROUNDUP(hwdom_get_fdt_alloc_size(), MB(2));
> +    const paddr_t rambase = bank_start;
> +    const paddr_t ramsize = bank_size;
> +    const paddr_t modsize = initrd_len + dtb_len;
> +    const paddr_t ramend = rambase + ramsize;
> +    paddr_t kernbase;
> +    paddr_t kernend;
> +    paddr_t modbase;
>  
> -        load_end = mem->bank[0].start + mem->bank[0].size;
> -        load_end = MIN(mem->bank[0].start + MB(128), load_end);
> +    kernbase = kernel_zimage_place_in_bank(info, bank_start, bank_size);
> +    if ( kernbase == INVALID_PADDR ||
> +         info->image.len > INVALID_PADDR - kernbase )
> +        return false;
>  
> -        load_addr = load_end - info->image.len;
> -        /* Align to 2MB */
> -        load_addr &= ~((2 << 20) - 1);
> -    }
> -    else
> -        load_addr = info->image.start;
> +    kernend = kernbase + info->image.len;
>  
> -    return load_addr;
> +    if ( kernbase < rambase || kernend > ramend )
> +        return false;
> +
> +    return first_bank_has_enough_room(ramsize, kernbase, kernend, modsize) &&
> +           find_module_placement(rambase, ramsize, kernbase, kernend, modsize,
> +                                 &modbase);
>  }
>  
>  static void __init kernel_zimage_load(struct kernel_info *info)
> diff --git a/xen/common/device-tree/domain-build.c b/xen/common/device-tree/domain-build.c
> index 2a760b007b..25bc392fea 100644
> --- a/xen/common/device-tree/domain-build.c
> +++ b/xen/common/device-tree/domain-build.c
> @@ -299,20 +299,30 @@ static bool __init allocate_hwdom_memory(struct kernel_info *kinfo)
>  
>      for ( i = 0; (kinfo->unassigned_mem > 0) && (i < nr_banks); i++ )
>      {
> -        paddr_t bank_size;
> +        const paddr_t bank_start = hwdom_free_mem->bank[i].start;
> +        paddr_t bank_size = hwdom_free_mem->bank[i].size;
> +
> +        /*
> +         * Check the size that would actually be assigned, not just the size
> +         * of the host region.
> +         */
> +        bank_size = min(bank_size, kinfo->unassigned_mem);
>  
>          /*
>           * The first bank must be large enough for place_modules() to
>           * fit the kernel, DTB and initrd.  Skip small regions to avoid
>           * ending up with a tiny first bank.
>           */
> -        if ( !mem->nr_banks && (hwdom_free_mem->bank[i].size < min_bank_size) )
> -            continue;
> +        if ( !mem->nr_banks )
> +        {
> +            if ( bank_size < min_bank_size )
> +                continue;
> +
> +            if ( !arch_hwdom_first_bank_ok(kinfo, bank_start, bank_size) )
> +                continue;
> +        }
>  
> -        bank_size = MIN(hwdom_free_mem->bank[i].size, kinfo->unassigned_mem);
> -        if ( !allocate_bank_memory(kinfo,
> -                                   gaddr_to_gfn(hwdom_free_mem->bank[i].start),
> -                                   bank_size) )
> +        if ( !allocate_bank_memory(kinfo, gaddr_to_gfn(bank_start), bank_size) )
>          {
>              xfree(hwdom_free_mem);
>              return false;
> diff --git a/xen/include/xen/fdt-kernel.h b/xen/include/xen/fdt-kernel.h
> index 00c37be101..86f2a69ede 100644
> --- a/xen/include/xen/fdt-kernel.h
> +++ b/xen/include/xen/fdt-kernel.h
> @@ -93,6 +93,15 @@ kernel_info_get_mem_const(const struct kernel_info *kinfo)
>      return container_of(&kinfo->mem.common, const struct membanks, common);
>  }
>  
> +#ifndef arch_hwdom_first_bank_ok
> +static inline bool
> +arch_hwdom_first_bank_ok(const struct kernel_info *info, paddr_t bank_start,
> +                         paddr_t bank_size)
> +{
> +    return true;
> +}
> +#endif
> +
>  #ifndef KERNEL_INFO_SHM_MEM_INIT
>  
>  #ifdef CONFIG_STATIC_SHM

I would prefer if this patch was split into refactoring (e.g. split
place_modules() into functions later on used by patch 2) + hwdom fix (2
patches). The first patch would also fit the rename I suggested.

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 09:23:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 09:23:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324654.1590137 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wULKj-0003LX-Ag; Tue, 02 Jun 2026 09:22:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324654.1590137; Tue, 02 Jun 2026 09:22: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 1wULKj-0003LQ-7y; Tue, 02 Jun 2026 09:22:49 +0000
Received: by outflank-mailman (input) for mailman id 1324654;
 Tue, 02 Jun 2026 09:22:48 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wULKi-0003LK-3h
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 09:22:48 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wULKg-002Xfa-Vo
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 11:22:46 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ea0dd-2eae-0a2a0a5409dd-0a2a4502d2a8-14
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 11:22:46 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ea0e6-af86-0a2a45020019-d155802cd091-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 11:22:46 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-4903d730b1fso100059215e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 02:22:46 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490b0e0de7bsm46881825e9.3.2026.06.02.02.22.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 02:22:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780392166; x=1780996966; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ivvbtj2cciRanJPag8tyBUluJhJ+ZAG6wtXJVSrLlVM=;
        b=W/0mTw+P6ceATJQYS5zxv2cOed52p8qlFPeTLp4wVotjTQxYjwEtSIqvV+USb1QJnK
         XDb8k+pkFxHaD7UInL8TMZcm9mvJim1Q7ac7W+E/b0SaI7gtqLYED5mzw3F1NhkZp/5U
         9iceTp8kfu5kyB1mb+YpHyGbrW8rtcHhDUE3e1Ll+oFxp7td7kE7Ab1SUK45TrMtYCQM
         uigFX/p3+SeXLysCwGG875KjMwIRGxGGOo99XGirsahxdgbLq2l1ZM3szoSndKp4K9AY
         MWKM22Ut4EIOxa+rcZS1E108uxzC/TuGkrlFu9q4HMCDuIbnvBK4Lk17oAMUHUEI6FVk
         cZoQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780392166; x=1780996966;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ivvbtj2cciRanJPag8tyBUluJhJ+ZAG6wtXJVSrLlVM=;
        b=C+S592HHXgYFHKep/fgDHKTSANg7FU+1Z2zSMRxvtTmOOUX3ijPaBjj0AGxKFo//p5
         eigbZev+2VPmifBHTsIy7ReRwgsUbS9PQhcSgTUf6qSvumuIZEx3fFd6qMYO3BEaXGKi
         NxwiNTw+cmn4JMVYss1l7vb2rOr0M8jZGURjptcvrrlnkRyPZ5wgH7NDZbEKIlskVUFl
         zryyz0h7zqydyEObBJ0QyssMC9Gr+YEUEGgc2SnvKhBnvJzTGUCD4VZ3ZOCZ/CIoiWry
         wQvrNK68T5hCJ862A8PQ5+4+WznSPRwrj+0OWvHJ25G19ot8eCBkfHh06sc50IXmzp9T
         2uPQ==
X-Gm-Message-State: AOJu0YwspOWRvxAOJMu/aBZlHcfvHOedvL4c85htFdPgVxhrGYP569nQ
	qygazQ9hvNi/TJmRnt0wulntiDoBCv6dpkMiaHZSMpyvDzN6we+NzHdCq3aUWE/gVw==
X-Gm-Gg: Acq92OEmbDrJByXIgvN9vPIJ/pJv4NKvNoCbILtzqysDjPBR4Z1AGd++GDjSfN0NQgT
	Zkb41BDl93ZnO07dKNfJgnfgKl+DCwY4b05IHRjRO57qA1m9FkcNDkig+nBCK339iIowLIzGdGJ
	mE+mtUPJjIrIfB3QSEx2YHfuSg4pGTv1RVW1tk7jZ0MzaNIIxNlCbDczFmBBetBn3Z4Z8Bt6Q93
	Bf9tmH21B89O0k/+z5HOsU2+skjg+QiHK+m8khHUEN1FmWAI4LC3zirTx50dfc8LMdwwyHXmmu/
	xVVUfKLvbffLXCHEtD1fNa88b07pOhvmXmvrv/+ylizQNIYvB9XIPPaHJiKQcTorBoPmFEvottZ
	orPZMBsuKSQlbdVUEI7LaHnyZSyOzJ3EpMmT5mEYyxcBSdc8K6mtyRsW3NyhQQZQ1l9zTzmtfsz
	ccvLVR3mDQdqMdmNxvwXvEdvUOmX4yJ9kT6FP1G9aGd7wfpa0cpvJvHlvTz/xwx92rY3z8vu9nz
	BRF9USVt3pt7sAuGvZaX9torg==
X-Received: by 2002:a05:600c:c108:b0:490:50c5:8153 with SMTP id 5b1f17b1804b1-490a290de68mr239215145e9.2.1780392166195;
        Tue, 02 Jun 2026 02:22:46 -0700 (PDT)
Message-ID: <4a7b6f30-de8e-4baa-b2b9-e15c8da16b82@suse.com>
Date: Tue, 2 Jun 2026 11:22:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] CI: disable debug info for analysis jobs
To: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <4f3a0cf9-63cf-405a-a19c-c8fc0473b2ce@suse.com>
 <6ed5a037c10e2b896e1269c6856508f5@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: <6ed5a037c10e2b896e1269c6856508f5@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-720697/1780392166-AAB68161-13634FD0/0/0
X-purgate-type: clean
X-purgate-size: 2176

On 20.05.2026 14:10, Nicola Vetrini wrote:
> On 2026-05-20 10:20, Jan Beulich wrote:
>> Its generating and linking takes time (and space), while at the same 
>> time
>> Eclair should be entirely independent of its presence.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> Sadly the setting of EXTRA_XEN_CONFIG doesn't look to be cumulative
>> (across "extends:"), so the addition needs making to all four eclair-*
>> jobs.
>>
> 
> Maybe with anchors and variable expansion it could be made to work, 
> having a base template EXTRA_XEN_CONFIG and then adding variables as 
> needed, but let's not complicate this unless needed. Indeed ECLAIR is 
> not affected by stripping flags currently (though I don't exclude it may 
> in the future).
> 
> Reviewed-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

Stefano: Any chance of an ack?

Oleksii: Any chance of a release ack?

Thanks, Jan

>> https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2539557855
>>
>> --- a/automation/gitlab-ci/analyze.yaml
>> +++ b/automation/gitlab-ci/analyze.yaml
>> @@ -47,6 +47,7 @@ eclair-x86_64-allcode:
>>      RULESET: "monitored"
>>      EXTRA_XEN_CONFIG: |
>>        CONFIG_ARGO=y
>> +      CONFIG_DEBUG_INFO=n
>>        CONFIG_DEBUG_LOCK_PROFILE=y
>>        CONFIG_DEBUG_TRACE=y
>>        CONFIG_EFI_SET_VIRTUAL_ADDRESS_MAP=y
>> @@ -105,6 +106,7 @@ eclair-x86_64-amd:
>>        CONFIG_INTEL_IOMMU=n
>>        CONFIG_EXPERT=y
>>        CONFIG_DEBUG=y
>> +      CONFIG_DEBUG_INFO=n
>>        CONFIG_GDBSX=n
>>        CONFIG_FRAME_POINTER=n
>>        CONFIG_SELF_TESTS=n
>> @@ -129,6 +131,7 @@ eclair-ARM64-allcode:
>>        CONFIG_ARM64_SVE=y
>>        CONFIG_ARM_SMMU_V3=y
>>        CONFIG_BOOT_TIME_CPUPOOLS=y
>> +      CONFIG_DEBUG_INFO=n
>>        CONFIG_DEBUG_LOCK_PROFILE=y
>>        CONFIG_DEBUG_TRACE=y
>>        CONFIG_DEVICE_TREE_DEBUG=y
>> @@ -206,6 +209,7 @@ eclair-ARM64-amd:
>>        CONFIG_ARM_SMMU_V3=y
>>        CONFIG_EXPERT=y
>>        CONFIG_DEBUG=y
>> +      CONFIG_DEBUG_INFO=n
>>        CONFIG_FRAME_POINTER=n
>>        CONFIG_SELF_TESTS=n
>>        CONFIG_DEBUG_LOCKS=n
> 



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 09:42:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 09:42:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324665.1590147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wULdP-0006Wp-LS; Tue, 02 Jun 2026 09:42:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324665.1590147; Tue, 02 Jun 2026 09:42:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wULdP-0006Wi-Ig; Tue, 02 Jun 2026 09:42:07 +0000
Received: by outflank-mailman (input) for mailman id 1324665;
 Tue, 02 Jun 2026 09:42:06 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wULdO-0006Vq-HR
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 09:42:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wULdN-00326T-N0
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 11:42:05 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ea568-5cb7-0a2a0a5109dd-0a2a45019ef8-22
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 11:42:05 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ea56d-c1f2-0a2a45010019-d155802be9a3-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 11:42:05 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-490aebf33e9so8421725e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 02:42: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-4909c12f4d0sm100338275e9.34.2026.06.02.02.42.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 02:42:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780393325; x=1780998125; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=sQUBr7gLcSE861t7//OdqYC4g9shYop6EeNwy4Ywyeo=;
        b=dsvuvAr/lGW7InDm+n44pHVTmNJVyStTqRPLJm1bsMD6h6rjpmWTuHqr6B3pVbOXFO
         WMLv0cfNKm0MaDLh819IXnXK/oVLsgmLAmzf0SGSNrFOIA6iiNuoWD5LPRnoe5Z7jAcf
         iT2W5qfJHeSIBnaNYYAv1rEjlLddAceFwMwsQNKmUXvfkBndvzrsKj3sI6lcHd3zPdOX
         47l8ama2PXMiyYHFXUg7dtmSa7rR0dme2kkzdihE1YfMvL0aQXamdpmrTTt/xBukTi2D
         HOLn8r/5Bohp7H7XBXobVs7wo4kRsXB/+lo/zWdtnxq8roIXao9Bvk1kRnhoQjx9RnvZ
         U4yw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780393325; x=1780998125;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sQUBr7gLcSE861t7//OdqYC4g9shYop6EeNwy4Ywyeo=;
        b=gy8wd6afQ79W5DaDfATOVf7iRXDZoPY32klGvve2HkfHEaqnByuDPEjqvBdpj5bfSt
         AjrpayUjlfVVRw2ZzDAu3xFN9QPfyT2PLN2fA43Z42foceYZjsQIr+YAHqQBPIAzaL/r
         kTfPg6l+83Vrxa+2W0P+TLHTbDnmpoS6gRl2cHg9WHYzDZVsGtMJS6u/oPAUALcNnb9U
         1gnyhoEnwq5+DrKWcJUPCCTjhEN6cN9o0KXe/SYmltwzeFFh7+v473qXJdT6xsBVq3nG
         IXIO257nH4u0VjsEDzmra9ymAAYOFgEMIkzaU0I7O3PZ2dhbD559KYpyiCKXkZMgGvrQ
         lAcg==
X-Forwarded-Encrypted: i=1; AFNElJ9v1wc7jjETNW1d5V5H5P9VlwCG3FCOiTszyKBIfEc3vwyxa95zOlYKKegd/KrTxJ4HBOeQM0wwIkM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwWRnkqjHwx0z9+6UPNxSJ5TdfJkOOx1zNAJEPxcjGa+JL6+E3x
	CVnlbfD5RIIkJQ6Qrh0aZgwTJWkyeNZvOBwdiZCHNVsbBub2ZkHWPa+NzUj0TN2d9A==
X-Gm-Gg: Acq92OH65PSwMBjiKYQeQwIoQBr+6qGdre1Ip41Pf6d9uej5jrZPipv+Cm96xkA1Nkv
	Zg+FD8PMWdb6VphyJ/0Ybpf1ChDfxpCQdQWr3i1A7rxc1RgaG6of9Mj8ObB3MpzI9+tMeTy2x2e
	Jy6Jx4AvAmzs2yGdIWqR0ywi9Hif5VBgH6UDFwPc+B4x0Zm4puKEghPtFCSzKzSaUf7m2NW2POV
	PPQCssrnoFm2AkSn1Dgb8bcXk1XciIO9izjSfl9u5+UXasbdvWZMPsg1cYXXfFaTFWoIBnHLUYv
	VtRKswcjUK58jnYOv9tQGxKxXtsFf/NKjkdgeYT8jddEj9HqaS8DMG7Tco7iyD0yMi3WFng53gt
	dZHxp7muiVQ/prwsElrna+YKQ8qD8YzRMwxL7Z+XkAMM8pz3AAoc4ZM/m0En4nWzkPHmlm+8h8t
	DkzCPRnadwkfiyYt3BIkNScW2kCV30FNT/VUncgLEwHv3k+TMBM+on/1Ep+zgj2l/MqTqA8km9h
	Jhru3iHEk3Cus86DP2gzo05+g==
X-Received: by 2002:a05:600c:3b10:b0:490:b0df:9ea8 with SMTP id 5b1f17b1804b1-490b0dfa594mr54241985e9.1.1780393324921;
        Tue, 02 Jun 2026 02:42:04 -0700 (PDT)
Message-ID: <accbb6c7-3681-41ae-a712-5f481bea9a5a@suse.com>
Date: Tue, 2 Jun 2026 11:42:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 03/24] xen/arm: Introduce CONFIG_DEVICE_TREE_NUMA
 config option
To: Hirokazu Takahashi <taka@valinux.co.jp>
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: <20260531224755.9481-1-taka@valinux.co.jp>
 <20260531224755.9481-4-taka@valinux.co.jp>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20260531224755.9481-4-taka@valinux.co.jp>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1780393325-B474CFF4-A0B09E5A/0/0
X-purgate-type: clean
X-purgate-size: 642

On 01.06.2026 00:47, Hirokazu Takahashi wrote:
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -99,6 +99,14 @@ config MPU
>  	  systems supporting EL2. (UNSUPPORTED)
>  endchoice
>  
> +config ARM_NUMA
> +	bool "Device tree based NUMA support (UNSUPPORTED)" if UNSUPPORTED
> +    select DEVICE_TREE_NUMA

Nit: Indentation.

> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -188,6 +188,10 @@ config VM_EVENT
>  config NEEDS_LIBELF
>  	bool
>  
> +config DEVICE_TREE_NUMA
> +	select NUMA
> +	bool

Nit: Can we have type ("bool") first, with "select" (or "depends on") coming
afterwards?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 09:45:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 09:45:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324671.1590155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wULgp-00073W-2c; Tue, 02 Jun 2026 09:45:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324671.1590155; Tue, 02 Jun 2026 09:45: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 1wULgp-00073P-03; Tue, 02 Jun 2026 09:45:39 +0000
Received: by outflank-mailman (input) for mailman id 1324671;
 Tue, 02 Jun 2026 09:45:38 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wULgo-00073J-Bm
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 09:45:38 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wULgn-00Gal8-Aa
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 11:45:37 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ea63c-2eae-0a2a0a5409dd-0a2a45049e12-24
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 11:45:37 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ea640-1dec-0a2a45040019-d1558034add3-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 11:45:37 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-490b1bbcf3aso4510285e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 02:45: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-490b0e3431bsm52062725e9.12.2026.06.02.02.45.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 02:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780393536; x=1780998336; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=KZesFV1engGc0t0pdIvh2bGcIppoqz7QIc50yeD6y2Q=;
        b=Qf3okVinHR57AO1xLdWbpG7OPIydb6nyBEz7SgtqcN5atjf7wzLDlPktK5hWq6xT49
         1cE6gejCql2d55aM+8dzOqfZzVqhi/SAQkA1jg26RAzfwHmlZsn4GL2ELs+fHuX3lWvs
         opdYKhWwFJST5p19Qicy+LeRFDpFZO+GlfFrXZqJ6OPJvxH8tEax6jw9cVEy+nSn6Z+v
         MHA001fhMb1GnMsicPLjs4jOKeZ9QndhYfX/4PZwBnzmc/oD9xTQbsh6mrPc/kadW3kN
         z7R+Cd0bbNk8HCTR5U5Pgndd33zbQAk3mdQK6p7ZtA7zuaClDtqVp0lsCIerbCKw9FkL
         JaWw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780393536; x=1780998336;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KZesFV1engGc0t0pdIvh2bGcIppoqz7QIc50yeD6y2Q=;
        b=LICzCKsV/Bprw1JWKqPJRrHQIbGePaJpLPFQfG1F7EtfuG4xVZP25b9EveJQQ+0S4Y
         9QHPU6h/e10ozMafcmc8S/4l0qOnxYYkIk2Oafh3SBZI+LZE8bFpDXfYXHsKPrJnTjbg
         EBfGHtYP8eIFa/25KKFMMK4O6paevZq0wGZgQ+Cg8wKMe8Ircvy4NSfOp0O78Cw8vMin
         vzLqkaFg9RTRqgyI2nDSFmS+mJh4ufrQAhzK5FEPRTrX4u1nilIv7EcIgcnCHq98pwBW
         aZ8e9m+/wTk2xsll2qG5CgZaut8lN7EVgLapNq24sf5vFOL5j1XL+eUV3+zSbZV465k5
         XC0w==
X-Forwarded-Encrypted: i=1; AFNElJ+e2O4wC9Bc/zeNCTvbiRXW/ei4UeVaASJwactD+LUrWwZ0oQEP2ENTcNjnYmevKWeFWPtVtgz+a9U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyPy4/fSHDJmJPun4DVYWEWizTrYLy1F47RvoOkQqeoGg6bxl+I
	DjO0QsCmQcpfP1uWuAv79c6URZbzD6WV6hIvPsmRdiqQ5/sq5zv7qJCDWJhwFb38pA==
X-Gm-Gg: Acq92OHy4DGpUvwWaXMjmwCwfbEq1XuJ2K2sCAqrTgDACaM9aZuQhEastfuZQuiLHVY
	o5UfNXVDDetUr6Wl9SD6Lhk8ZQblNo/74IuFnRwmAgNW+dLceOTAjjiWvC+5J1ahIUgYqzkpJCv
	JHt+kDUZ3GW2iBaV/eaY7vNWLNbArfs9THqo+Hg2/N9xO5QgTJe+4/Y7THvhlZ8X+QqTlT5Va1E
	8jtYbNT8GhFf691QVKBSIbRWMQCzrsLQ/APblhhQ39Kr6K3icYmjXOMxkszTkPkZ0IwkY9Y4jKv
	IpGQ265JUP5w9ezG/qxm6I38fLt2YtDgD2+mByoKvluKSSTI1449Q5GY7OPFIoCTM4su2YPZwAj
	ofo1cIY3Kfw8DxJ4ha165mJVTKckxBQWHrd1umI189LM20pWH3DygHti0FDCYjUZuTINbolFyuI
	PoYDjUwFgcJomr3Yvt/qynjYW0t5mOuzcGqCzNQZMnyRQJUqDv1mGp4Y7z63ICPtvMxaqJKm00P
	HCs7gQ/aMbYW/8lcEqCHr3vrw==
X-Received: by 2002:a05:600d:844a:10b0:48a:5565:ec3d with SMTP id 5b1f17b1804b1-490a294935bmr202300875e9.22.1780393536576;
        Tue, 02 Jun 2026 02:45:36 -0700 (PDT)
Message-ID: <7040c58f-2d4c-48f2-854f-c874efdcefbd@suse.com>
Date: Tue, 2 Jun 2026 11:45:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 07/24] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
To: Hirokazu Takahashi <taka@valinux.co.jp>
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: <20260531224755.9481-1-taka@valinux.co.jp>
 <20260531224755.9481-8-taka@valinux.co.jp>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20260531224755.9481-8-taka@valinux.co.jp>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1780393537-28D743FF-5EE5A2EE/0/0
X-purgate-type: clean
X-purgate-size: 1194

On 01.06.2026 00:47, Hirokazu Takahashi wrote:
> --- /dev/null
> +++ b/xen/include/xen/cpu-topology.h
> @@ -0,0 +1,42 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#ifndef XEN_CPU_TOPOLOGY_H
> +#define XEN_CPU_TOPOLOGY_H
> +
> +#include <xen/types.h>
> +#include <xen/device_tree.h>
> +
> +struct cpu_topology {
> +    int thread_id;
> +    int core_id;
> +    int cluster_id;
> +    int package_id;

Can any of these go negative? If not, "unsigned int" please. Iirc I said the
same elsewhere on v1. Please apply such comments throughout the series.

> +    cpumask_t thread_sibling;
> +    cpumask_t core_sibling;
> +    cpumask_t cluster_sibling;
> +};
> +
> +
> +#ifdef CONFIG_DT_CPU_TOPOLOGY
> +extern struct cpu_topology cpu_topology[NR_CPUS];

If at all possible, no new NR_CPUS dimensioned arrays please.

> +void map_cpuid_to_node(u32 cpuid, struct dt_device_node *cpu_node);
> +void dt_init_cpu_topology(void);
> +
> +#elif CONFIG_DEVICE_TREE_PARSE
> +
> +static inline void map_cpuid_to_node(u32 cpuid, struct dt_device_node *cpu_node) {}

No new uses of u32 please. As to use of fixed-width type, please see
./CODING_STYLE.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 09:49:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 09:49:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324679.1590165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wULkG-0007hL-IB; Tue, 02 Jun 2026 09:49:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324679.1590165; Tue, 02 Jun 2026 09:49: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 1wULkG-0007hE-EI; Tue, 02 Jun 2026 09:49:12 +0000
Received: by outflank-mailman (input) for mailman id 1324679;
 Tue, 02 Jun 2026 09:49:10 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wULkE-0007h8-Mz
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 09:49:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wULkE-00GRkB-1W
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 11:49:10 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1ea701-5cb7-0a2a0a5109dd-0a2a4502affc-38
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 11:49:09 +0200
Received: from [40.93.194.32]
 (helo=SN4PR0501CU005.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1ea714-af86-0a2a45020019-285dc2200e91-4
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 11:49:09 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by IA3PR03MB7764.namprd03.prod.outlook.com (2603:10b6:208:50c::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Tue, 2 Jun 2026
 09:49:06 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 09:49: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=uyRkmNyeRLaTrvppdX+edSV/m74Ckkj207E7Fe0ckDS11ORkFSWtMIxcCv0st/+9mXfvilznagl5N3/ZOfVKs9LSnOoHY+r27Z+EMvlEkVve5/lUwvPhhVAOugecdxOj89sWAJ7g86Z4/elyvOQ1CLAMUxH4NQZT25MW6Bb3ANTSGEPuayx0cX3vhB9ose7hoteCnvkaj5czQnrMm4ZrYhC28Fbz7T0rVgjRBth0SrR5g3kiiTl5DP7bdrDTNhZjQl35Ryg2vEFW41/rarP2OUoaPDEItUy5SfnTaInziA0D88AMozslGKwTHMMbOq5gpTKvfwGY2XaGQjCMgit1aQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iPxSoZqGyGQQTAKUzy4uyC5cj6Bm7gEwiqRl8Oof5JY=;
 b=RJProFqCEedUlI/M2r9QA/g60IcRvtE0ZkQXictRcREsmhUg3rm6sgVcJYUETFd8fS8UutG+7BBHgpgtJUSj7ar+5txBOPlHqYXV82oFwrP61UVc11IVHpzARKsBUOIAn2Ki24xKZHjtxxC0ABBwVPgSqpuHJNORGsaNfIfam5/kKQTvxuRbTpBiNmKd5rLR4JNhQm4+1qtQG9LdE86awXx2TioXz8w2E2TRKtysoYlHUdDaYUHiLeIsG35rJ1l5hQqAvmBLoAx5OdOlfExvilua6LPoHOVR9LfaX1HhVHJwlBqOMPcfQNa0opgwbIDedBKhQrln2PGlHQ3qeG9xWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iPxSoZqGyGQQTAKUzy4uyC5cj6Bm7gEwiqRl8Oof5JY=;
 b=YqPoE336F/EZmPld2b1xybtYqyLEpBd8JCvrbrjwF+lRkH+5kbGcfQKpy3koeF9VX7CLRsDRwAvJ4TmHsOIqyVtY2IOght7EdrUdhYuc+bJj5iyQ5yIY11pLQALDmocoAPgKkvWASSZs7r8MtyBEowybzadzxcBdN/1z4D8SUPo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 2 Jun 2026 11:49:02 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: dmukhin@ford.com
Cc: xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com,
	anthony.perard@vates.tech, jbeulich@suse.com, julien@xen.org,
	michal.orzel@amd.com, sstabellini@kernel.org
Subject: Re: [PATCH v6 4/4] xen/console: switch conring runtime allocation to
 xvmalloc
Message-ID: <ah6nDtFZTo-xhor_@macbook.local>
References: <20260509005714.892018-1-dmukhin@ford.com>
 <20260509005714.892018-5-dmukhin@ford.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20260509005714.892018-5-dmukhin@ford.com>
X-ClientProxiedBy: MR1P264CA0063.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:3e::30) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|IA3PR03MB7764:EE_
X-MS-Office365-Filtering-Correlation-Id: cdb0e42e-4b9d-4b37-65d8-08dec08c2f62
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|11063799006|4143699003|3023799007|6133799003|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	tlV5h3Jr98zj/BBIjaxj7eaj/IPQn76ucgfBPHemybt6qzj+N6010k6X2TzfD3WD9lOope4dFYbYX6rcr4akSCHzWxHEDzZewo1i7IWFkRg4IxaSIvxLURiGoFrq8H488Fb5uhFk5yQ7OS06xxVLa3iMJ2lllx/I6V5PFU5UAw5spkzZcHqMLmWuYaaAlO/r2RWIT4JQ4yZfqTTDMtJXq/p3bCPbHLWBc10Wo0Uov3Idml6MW52caBO/QMCBG5g1+2QdjEeEMMXieH1InjD/Z+KhO30KNAh0f64GwGYBZVHTZFkLNl9rhZXpZLaAVp6dRs71KAr2P/Dt4f7yjbiSLx5dCXJaRVjkykgycHtG0/F3T1G4psjsR0OACY2f0o6z3nUnI22sRMj/YRu9OzFtBTaVi5qGWwCrvSKFpRguBhHzzE/rgW/Hx/1ud6BL8BMcB/zLEqI4jCS/2x0k9O3+VQAIHLzJuwfjyHtFzZK6xYpMkLjbTr0iMoCN60zDFFjFXR4LFpWkJ+nfkvS/CGJn5AQKSm/o3P1Rw5ZUOUkgvP7OqwWqjk6qeKzhjLOFcBO2JkZfRQrkxeLlDm2btFKpZHU+/b5jEJkPWV/bzB5JkSblZ1hHF9LJRRydhSYBl1L3VF2B+l5cismQwvfgdfq/ykmei6QYW/uxSqcQ3+kVmcTZyggi22dxVyWzlFeBXOAW
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(11063799006)(4143699003)(3023799007)(6133799003)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?azhDa1RQQk5MU002WlNHSGRUN2RHYWZ6Z3hnYThUQkhsTnNWTHROc2tZUEQv?=
 =?utf-8?B?WC90Tjg3dE1wdnJNcEM5cnJWT2tMaDJsUm1oa1EyL2pLTEhoV3V4SG4xdG1E?=
 =?utf-8?B?SXV2d1ZYRWQwcndkbXl5OXZYWi9Lckx2c08wS0ZWd3RmajkwdVFlWTRVU1k4?=
 =?utf-8?B?cDZVRUc1NjIzd1pjaXhmM1YvejI2QnpIT3BkK0N3RXp4Wm5MNG1Rd3B6YmpN?=
 =?utf-8?B?YkNhUGlmY0RPSmd0c0c3elZQdjFZUUc0eFpYUFZ4MG9LVGhMTjdyVEhZRkN6?=
 =?utf-8?B?SDJ2dEdBSk1rTUIwTVhMb04vbUxKeldMUDRnaXpQamlTd1V1SnlGd2F3TWdn?=
 =?utf-8?B?b3JoSWRTNE5GSXB1c2tnUnNDOURUT2VjSWhIbDVXYjVMekRCUXBPaXUwbW1F?=
 =?utf-8?B?b1JnOUxNL1N1UWE0aEtRZER3K1Zkb3ZNQXR2TjEzM25UYTdCcmxrYjVPTktU?=
 =?utf-8?B?SFlXREJqaVJTUzlpRHBHcXJxT05LaEtlM205OEJTY0hhVThHd0JLckVVK2M4?=
 =?utf-8?B?UWJpTndxNU0weE1UcFRqOHRrYWZOclJPVVVBZTh4a3JuckNPcnJjM3c0b2M2?=
 =?utf-8?B?a3l4Vi93VFZWOG1GaTZqaWZOcjVDT0NIeGlWY3NGMi9VYkxYYXFLSFdJNjlN?=
 =?utf-8?B?ZERtNWZIVWd0MWRvdzJrRkphNnB6MW9veVZmTkJIVjBqczVHS3paS1Q0Tnp2?=
 =?utf-8?B?Sjk2UjdYRW1pZW5MZWkyUXdFemRXK2dLMHFYdUpXSWdYUE5Xc2hiMjlVVVY3?=
 =?utf-8?B?RExVbjFoNzNuYWsvNU1iMTgzcVliOENvRmc1aHRNN2Q1bjhJM0hpQjBnRkVY?=
 =?utf-8?B?YXpLQVRPTFhRTVZDb3I2NFFYTWF0Q280ZkMxVmgzWjlSampVTTB3QXN4UG1y?=
 =?utf-8?B?cDMzRTZhakhoT2ZqbFoxc3Q0aUxUYzVWYTR0bUZ2OWExeVFsalBoTVRNd1Ix?=
 =?utf-8?B?b054Nkg2c1dmNEpMcnRHQmlURlA2Z1MzZGo5WERNeFdPOFdObXY5cmpTRjNj?=
 =?utf-8?B?ZTFvZUVFNDB1VW5QTjNBU1NCNno2VG5lSDcweVA5Q25xZ3dIZUQwKzVxZjNF?=
 =?utf-8?B?dnBNUTNuaWEvLzlGVU1RNEJDZ0VCQ2RQNTJOUE5OZCt1UUlWRCs3ektsbVJq?=
 =?utf-8?B?SE5iQ1U5d3pzSUh1c00rQ3lkc0VyVHBLWGNIYkZQRE9Zd294ektrZ2JrT1NY?=
 =?utf-8?B?YWpZbzUrdnJpeEExdXZpTEpyL1FhY3ZnQVlScHM2cGNCU0c2aFNsOFBvb2JW?=
 =?utf-8?B?VkpBeXBWZ1FHV281Q1J4SVpxREFHNXdvYlpaN211Q1RTRXNySG5JZzE1UVhu?=
 =?utf-8?B?ZDJ1cEsrbFZ0MEV6QXpaQ291Rys5WVVmMHlpVlVYazc1RVNFaGNNdGMxekFQ?=
 =?utf-8?B?dkJUeHhyMHBWc2F5K2xKVWNvSTZsSnZ3azQzeVEvaWlPQmZoNjRjV2Vvei9Z?=
 =?utf-8?B?LzlPK1R5dEVLSlBEWFZLQnBqWUU0NXNScTh0am1RNGxjQ0h6cEpFU0Q4TDh6?=
 =?utf-8?B?bjFlQVJwYWRTZzdvUWNhOWdSbHJFR3RoRmQ0bTZHSWRUcEpDcStYWGgzMlJq?=
 =?utf-8?B?K0RZYVdrMGk2RnY5UU55ekk0aWhrUnYzUUQ4OWtGY2c4bGZCRzN0UkhOaWlu?=
 =?utf-8?B?Y0E5c0lBWGdQYm9CbkFoNTJwcFVzUVA1ZW9xZ1djTmg5NWNaMWR4OVBuNEZ2?=
 =?utf-8?B?WDNWVFVISlllL2NrUXhuMWJmcEsyaXE1d0ZkYnRIeWFGdzByRzI1RTlGdnlC?=
 =?utf-8?B?SDhNc2s2M0pKdkpFbzQ0NXdHVnU1MEhDRUt0SThEK3EwNHRDMHd4VDg2OGJZ?=
 =?utf-8?B?MkxmT210NHJlTzF2Rk9MRitDeUZTZVEzejdza3lLT1FnenR1VG8xR2plNGta?=
 =?utf-8?B?WjQ4ZXpBV0FKTWY1R2ZHeC8xTmFzSklLUi9xbWNJeXVvS2R4K1h5RThjblRE?=
 =?utf-8?B?eUtLbnlCeXBJcnlid0tOdFMzN2hCM21KRFZkVzFQcU0yQU1mTEF1bytZVXZk?=
 =?utf-8?B?WVFNUElYNFhkR0dwZ0ZFdnBiSGgwbytjVTBpUWY5eEwzSWxKSjBSZjNCTzN4?=
 =?utf-8?B?WnJOU1I5UU1aWXN5UzNaQ3NWSk9aTVJkUzE4M2pkWU83VHBQTTN4U3Izd2tR?=
 =?utf-8?B?QmRsSm5UWmVuamU3QS9CR25HNHJKeHJ0eE5sdFZZZzFxT2JUYXhWOEJobG5w?=
 =?utf-8?B?cHJ4bWxzeXl3SFdHSDRreERzTFN1em9oYlJmTHBwT1JTN1hSYVRQS0V2ajNS?=
 =?utf-8?B?eVVNZ3Y5M3BRQ09lSzhsTWZ3cVRqYXhlRUF1ZTMwbytyM3VHc1N5SDBLb1ls?=
 =?utf-8?B?c1BBSUduZnNMNzV3a0F4UlNjZ2NGVGQ5V2FDbi9nTVpOMEh0SnBxZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cdb0e42e-4b9d-4b37-65d8-08dec08c2f62
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 09:49:05.8253
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ds9vqtuHZVuqCd9nc0WADqmM2omBXyGbJYxC092Bfa7+OBolskpnildrGMtwsffSqURxpaBroh3CPzd8nLqL9A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA3PR03MB7764
X-purgate-ID: tlsNG-720697/1780393749-81573161-D5526BB9/0/0
X-purgate-type: clean
X-purgate-size: 4137

On Fri, May 08, 2026 at 05:57:14PM -0700, dmukhin@ford.com wrote:
> From: Denis Mukhin <dmukhin@ford.com> 
> 
> The console ring only needs to be virtually contiguous; it does not need
> a naturally aligned or physically contiguous allocation. Replace the
> runtime xenheap allocation in console_init_ring() with an xvmalloc-backed
> buffer.
> 
> Also clamp the user-configured ring size to the supported range and emit
> warnings when the requested size is adjusted.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> ---
> Changes since v5:
> - switched to xvmalloc_array()
> - fixed conring size checks
> - corrected diagnostic messages
> ---
>  xen/drivers/char/console.c | 27 +++++++++++++++++++++------
>  1 file changed, 21 insertions(+), 6 deletions(-)
> 
> diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
> index 5cac87d052b9..29b9359468e7 100644
> --- a/xen/drivers/char/console.c
> +++ b/xen/drivers/char/console.c
> @@ -33,6 +33,7 @@
>  #include <asm/setup.h>
>  #include <xen/sections.h>
>  #include <xen/consoled.h>
> +#include <xen/xvmalloc.h>
>  
>  #ifdef CONFIG_X86
>  #include <asm/guest.h>
> @@ -343,6 +344,7 @@ static void cf_check do_dec_thresh(unsigned char key, bool unused)
>  static unsigned int __initdata opt_conring_size;
>  size_param("conring_size", opt_conring_size);
>  
> +#define CONRING_SIZE_MIN    (1U << 14)
>  #define _CONRING_SIZE       (1U << CONFIG_CONRING_SHIFT)
>  #define CONRING_IDX_MASK(i) ((i) & (conring_size - 1))
>  static char __initdata _conring[_CONRING_SIZE];
> @@ -464,20 +466,33 @@ void __init console_init_ring(void)
>  {
>      char *ring;
>      XENCONS_RING_IDX i, size;
> -    unsigned int order, memflags;
> +    unsigned int order;
>      unsigned long flags;
>  
>      if ( !opt_conring_size )
>          return;
>  
>      order = get_order_from_bytes(max(opt_conring_size, conring_size));
> -    memflags = MEMF_bits(crashinfo_maxaddr_bits);
> -    while ( (ring = alloc_xenheap_pages(order, memflags)) == NULL )
> +    size = PAGE_SIZE << order;
> +    if ( size != opt_conring_size )
>      {
> -        BUG_ON(order == 0);
> -        order--;
> +        opt_conring_size = size;
> +        printk(XENLOG_WARNING "Normalizing console ring size.\n");

I think you want to also specify to what it has been normalized, ie:

"Normalizing command line console ring size %u to %u.\n", opt_conring_size, size

However, note how console_init_postirq() sets opt_conring_size if not
specified, and AFAICT that calculated value might not be a power of 2,
and it might be lower than the build time setting.  If you want to
print warning messages about the user-provided value (if any), you
need to split the checking from console_init_ring(), and do it
exclusively for the command line user-provided value, not for the
value generated by Xen in console_init_postirq().

Also, a user attempting to set a console buffer size below the
built-time value will get this "Normalizing size" message, when it
should otherwise get a message about the command line value being
smaller than the built time setting.

>      }
> -    opt_conring_size = PAGE_SIZE << order;
> +    if ( opt_conring_size < CONRING_SIZE_MIN )
> +    {
> +        opt_conring_size = 0;
> +        printk(XENLOG_WARNING "Ignoring too-small console ring size override.\n");
> +        return;
> +    }

I don't think this is possible, as the built time Kconfig value is
forced to be >= 14, and hence the order calculated above can never be
smaller than 14.

> +    else if ( opt_conring_size > GB(2) )
> +    {
> +        opt_conring_size = GB(2);
> +        printk(XENLOG_WARNING "Limiting user-configured console ring size to 2 GiB.\n");
> +    }
> +
> +    ring = xvmalloc_array(char, opt_conring_size);
> +    BUG_ON(ring == NULL);

Since you are already touching this, might I suggest to use a panic
rather than a BUG?

if ( !ring )
    panic("Unable to allocate console ring buffer of size %u\n",...);

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 09:54:48 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 09:54:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324687.1590174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wULpR-0000yP-6e; Tue, 02 Jun 2026 09:54:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324687.1590174; Tue, 02 Jun 2026 09:54: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 1wULpR-0000yI-2n; Tue, 02 Jun 2026 09:54:33 +0000
Received: by outflank-mailman (input) for mailman id 1324687;
 Tue, 02 Jun 2026 09:54:31 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wULpP-0000yC-FA
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 09:54:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wULpO-00BVwN-MK
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 11:54:30 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ea853-5cb7-0a2a0a5109dd-0a2a4507dd74-6
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 11:54:30 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ea856-229c-0a2a45070019-d1558031bdd2-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 11:54:30 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490b12270b3so4272055e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 02:54: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-490b0e0f26csm53694855e9.2.2026.06.02.02.54.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 02:54: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780394070; x=1780998870; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt: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+OQp4Eo+twTrU73OA/REm/dINSjD2tkrdHlR4STHRY=;
        b=Nb82GxkJuP9ALCkmbfDAprpCZlYxnB3EHgmowPn6hdVUPexPcAVWYr/YMebE6NAEFp
         Mfc39Oxi3cOJB1223iQZWYkRLkcp0iMESLfS8Fesn0fRrgsh9J8i6QUR/bg8UeyIWKU4
         ldYgbogdia5QAcyglFeWpVg27AM/4IbXolX75vjGBJHfg5guXqFIjiF2ktm4QYzftkB2
         xtAvfV6s2nIaW6T6hMr/tAnopa2Cy23uRSuD7u7rxL/4KfC1/PB2aN1Om3r/fXcOkzlG
         tiHbdLrOdoJOZyEdBgqaD6Z0j0uJIhl3JzwkP0HJM452xLbt0gXa39SDorJ3mahNTDM3
         kCYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780394070; x=1780998870;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=o+OQp4Eo+twTrU73OA/REm/dINSjD2tkrdHlR4STHRY=;
        b=CHZ1sJi2JKkrI7SlLsxBRcBEc9uW17vzmmXnGXVd7CAQ4teR5cJuY9gsRXr+aIUxSh
         lv2acfpeEPQ3uUJVixrVUE6uHuMUg15nw9Wk+v33UpAEQY4ITAcr/xM0hZwY/AV5/R3r
         k9ALxG134Y2dMyalTYw0ExIrX/+X63pfSleAodx/GHM8To8MlnNdykJSV/HN1yiYhLpa
         Je2RVEr+TkVTVz7rDnV/7O8q6QIIwZ89cV+17XVd7+ru5X2b1/LVN/4X4dU18sNjhjIF
         JM4KgLv6vjeE9mL9v/5WBScE8MvJ93RUQm/FgYYm8cROVEeMUp8Ky4uBy0Pk6A0aRsbE
         Z/EQ==
X-Gm-Message-State: AOJu0YxQ7bKfr1toEUh/iBWvSvuZsXbM5qbmHPLpdtwzqUImv1U1RKbU
	nqEt3Sp4DYnuJpuXJv6xYS/TAjuaiPtwXuLiwTqYnBx3cFyoKVHDc4VPaZj6fpRhwA==
X-Gm-Gg: Acq92OFbBUkWJq/BROG790VkfaD9qnKqCaWIKOYQIxWl9rss/bNN4gt0IrnixUf+n7r
	2KD2DbbW2iJbC6Kc22ASRwrWXLaRbzB4i7kRqveL3lQfcoxQPcvHEnx6yJHI1oG/uELYSV9wLjX
	T4PpLkeyVTqavxks2kYMiH5nGoo3mZh7VibwkmEYfaaxz9lQ5Dri/kVTQzQevqWfNJf39ZXwGsw
	xCw0+xqYM4Cgdm4ahi7Tiis21iChuNhaKseYhL+IV8G0gVuDNhGehB5CC1dskwzcCETjK6RMzNl
	lAc7ZJoMwcx5D7msBt83JYxXJ1ZTpWQq4YOPkQ9WKETihjpjmRh9/puj7RjIj1BR1SluMTVxX8G
	MuUTqexRjr5AEoo8li1AdoBBQjDxafsbCSRR9MmwAK0Ktt62V3FrvUGJrV/Vpmhtv989YJyrG34
	F2qJgulCTntkNwxDsm+0hIT6JAPcJvQ4XEPxPAVHe7ZKeaGmgDgBiIavZg8rXb8cB5HFWTBq5NK
	PehJLz8uBxgTkvAeCuOk6rxuQ==
X-Received: by 2002:a05:600d:486:10b0:48f:d1c0:5cd3 with SMTP id 5b1f17b1804b1-490a29128a3mr204800405e9.13.1780394069969;
        Tue, 02 Jun 2026 02:54:29 -0700 (PDT)
Message-ID: <13a9c44b-201d-4875-b290-59b07b79c259@suse.com>
Date: Tue, 2 Jun 2026 11:54:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 4/4] xen/console: switch conring runtime allocation to
 xvmalloc
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, dmukhin@ford.com
Cc: xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com,
 anthony.perard@vates.tech, julien@xen.org, michal.orzel@amd.com,
 sstabellini@kernel.org
References: <20260509005714.892018-1-dmukhin@ford.com>
 <20260509005714.892018-5-dmukhin@ford.com> <ah6nDtFZTo-xhor_@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: <ah6nDtFZTo-xhor_@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1780394070-20D67C48-A0C22046/0/0
X-purgate-type: clean
X-purgate-size: 2727

On 02.06.2026 11:49, Roger Pau MonnÃ© wrote:
> On Fri, May 08, 2026 at 05:57:14PM -0700, dmukhin@ford.com wrote:
>> From: Denis Mukhin <dmukhin@ford.com> 
>>
>> The console ring only needs to be virtually contiguous; it does not need
>> a naturally aligned or physically contiguous allocation. Replace the
>> runtime xenheap allocation in console_init_ring() with an xvmalloc-backed
>> buffer.
>>
>> Also clamp the user-configured ring size to the supported range and emit
>> warnings when the requested size is adjusted.
>>
>> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
>> ---
>> Changes since v5:
>> - switched to xvmalloc_array()
>> - fixed conring size checks
>> - corrected diagnostic messages
>> ---
>>  xen/drivers/char/console.c | 27 +++++++++++++++++++++------
>>  1 file changed, 21 insertions(+), 6 deletions(-)
>>
>> diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
>> index 5cac87d052b9..29b9359468e7 100644
>> --- a/xen/drivers/char/console.c
>> +++ b/xen/drivers/char/console.c
>> @@ -33,6 +33,7 @@
>>  #include <asm/setup.h>
>>  #include <xen/sections.h>
>>  #include <xen/consoled.h>
>> +#include <xen/xvmalloc.h>
>>  
>>  #ifdef CONFIG_X86
>>  #include <asm/guest.h>
>> @@ -343,6 +344,7 @@ static void cf_check do_dec_thresh(unsigned char key, bool unused)
>>  static unsigned int __initdata opt_conring_size;
>>  size_param("conring_size", opt_conring_size);
>>  
>> +#define CONRING_SIZE_MIN    (1U << 14)
>>  #define _CONRING_SIZE       (1U << CONFIG_CONRING_SHIFT)
>>  #define CONRING_IDX_MASK(i) ((i) & (conring_size - 1))
>>  static char __initdata _conring[_CONRING_SIZE];
>> @@ -464,20 +466,33 @@ void __init console_init_ring(void)
>>  {
>>      char *ring;
>>      XENCONS_RING_IDX i, size;
>> -    unsigned int order, memflags;
>> +    unsigned int order;
>>      unsigned long flags;
>>  
>>      if ( !opt_conring_size )
>>          return;
>>  
>>      order = get_order_from_bytes(max(opt_conring_size, conring_size));
>> -    memflags = MEMF_bits(crashinfo_maxaddr_bits);
>> -    while ( (ring = alloc_xenheap_pages(order, memflags)) == NULL )
>> +    size = PAGE_SIZE << order;
>> +    if ( size != opt_conring_size )
>>      {
>> -        BUG_ON(order == 0);
>> -        order--;
>> +        opt_conring_size = size;
>> +        printk(XENLOG_WARNING "Normalizing console ring size.\n");

Nit: Both here and ...

> I think you want to also specify to what it has been normalized, ie:
> 
> "Normalizing command line console ring size %u to %u.\n", opt_conring_size, size

... here: No full stop at the end of log messages please.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 10:01:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 10:01:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324694.1590182 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wULw0-0002e3-RM; Tue, 02 Jun 2026 10:01:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324694.1590182; Tue, 02 Jun 2026 10: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 1wULw0-0002dw-Oj; Tue, 02 Jun 2026 10:01:20 +0000
Received: by outflank-mailman (input) for mailman id 1324694;
 Tue, 02 Jun 2026 10:01:19 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wULvy-0002dq-VR
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 10:01:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wULvy-00GUZq-7i
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:01:18 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ea9e7-2eae-0a2a0a5409dd-0a2a4501e104-14
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 12:01:18 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ea9ed-c1f2-0a2a45010019-d155802cf0fd-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 12:01:18 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-490af320e2aso12018325e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 03:01: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-4909c127befsm100122775e9.31.2026.06.02.03.01.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 03:01:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780394477; x=1780999277; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=8CN1AeAvG4UJAecDEpuSW9GZEkGmEK2ZjPeGd2lMrcQ=;
        b=YGvMp8W2EeywsX/DM2Y0yYLd14f8CqNCApZx68WFXIcR7MU/zOpDAndArSnvwQMJDe
         VvL0fxL5T9LPphoY8Qq6bBVRsdQyO8Q5ltphVnA+o2kE3PCYdopSH3DMOwHAnjMkgaZu
         lxcGbw/ms9TMySsCcwFLrp2uSEsiJ5oIqNzvfGg6MeudoUPU5z9JTOqEU8pIA0Qdrk+9
         L6q+InaQj+09yOM91PiFNcRPlRG6nkj1VGp/LT5REuPUFcD44TVvFDJ8Lm7qp8NFba8K
         C0HW8iKaJJyCzyMM7gcgUHqPg9DEkxHLUYZf7N0kXJrDuZd0zcMFiWMdperaTnsJLwiJ
         +Qmg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780394477; x=1780999277;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8CN1AeAvG4UJAecDEpuSW9GZEkGmEK2ZjPeGd2lMrcQ=;
        b=fvoEKa65+ulvTa0UzNyLNrpkhqiJr9xqFy/0uFfLfdWG/kXICnXMM166hYe5woUIBj
         DQQnbz2IubwN6WYKorR/0qtpgCyCq1imMZ38b8eQsHmGpY7aE4kiKq+97EqWaP4+GMtC
         KbWqSlRuPsw2VTOoVYdxLU3O55NZyLeKFtSG1F6rN8Sn9Hh+7B4S+q6gBvRtWdlhiWFu
         BgiMlDd0f640Us2Plst7sK84A5J3qSVGnGnqfdDTCtAdmtmnd+W1JpVPgCg1P50VBfEO
         keyBl1Z/QYgckAFTtxUBuyZb3R9W4+J77DQwbeOycKQIzW+/hmtSIBIioZD1MYnVb5n4
         cElw==
X-Forwarded-Encrypted: i=1; AFNElJ8aAOQoAnOIYI0zNc9iJnQYcFKC/kAOyEBopoBVWcuHlWopOVyUQgfNHrscf8khYJ6vqI4K/SQlHGs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz06ShCuU1W5bBZV+ddhu2m/09hoWviBMu53TL2cqXGPIZKXmKB
	w9Nvk6WZzJuzUBc1AdwV2zs5ogME13U8cQsx977hNG3N3gGSlHGo/MJFVssubVeNoQ==
X-Gm-Gg: Acq92OGhPFW768IbiM47YzefhHNHXCWD8RPgBPc9AGkw55OS/orIwmwVX2ZQPoQPuos
	oIRw5cJLIYLsTEOVsb3w6dlXASWdfmiNYU0AIsBr1kPvhwIddoeul/g4hfaosmvxO1hlO8BbvY6
	vomRpc1hQl0HxCxSbQFfaumi2wsE2zv85lRRrPyxU5oTHJBFUPjijJpij0kE+RrsGRjhWrb6ScX
	jsw23tijL0rEiA4/nk09W+TWqv3613qzHA20/Gtll3IIAa0KBLFVknDIHdFRBhJkAAK4HGXwLON
	cqflPIErkGeLh6KeUpUDlddZPZyg0qukJVtpuaRilO4+Wf71vdI6OtuL4i7SJWUykmpu68PtIQ7
	ejdXkKYm9cwf9XAZnng+aHTRI4S8kNCdOYKZIhRwcd5jjUHQX4fd0M2Eg4SzUUk1fiawwmH+kwa
	qyvV3lPn/3/bqEBWYkiNr4S1mU4z0rmbtX+OtHwjEW+jD5WD4oVHjNZq0sYGIN2DwNK8kH50p22
	lanmx+zbr6T2puicYuMWOMlRg==
X-Received: by 2002:a05:600c:1d29:b0:490:a646:9d77 with SMTP id 5b1f17b1804b1-490a6469e5dmr70803815e9.6.1780394477608;
        Tue, 02 Jun 2026 03:01:17 -0700 (PDT)
Message-ID: <fe9e3f66-5f69-43e2-b367-af8a8e152c41@suse.com>
Date: Tue, 2 Jun 2026 12:01:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 0/2] public/xen.h: Update mmu_update comment
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@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: <20260528075539.10209-1-frediano.ziglio@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: <20260528075539.10209-1-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1780394478-AE342FF4-822D1C39/0/0
X-purgate-type: clean
X-purgate-size: 459

On 28.05.2026 09:55, Frediano Ziglio wrote:
> Frediano Ziglio (2):
>   public/xen.h: Update page table layout comments
>   public/xen.h: Update comment for mmu_update hypercall
> 
>  xen/include/public/xen.h | 17 ++++++++---------
>  1 file changed, 8 insertions(+), 9 deletions(-)

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Considering these are (doc) bugs, I think I'm going to shovel the patches
in without asking for a release ack.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 10:04:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 10:04:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324699.1590191 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wULye-0003Kv-83; Tue, 02 Jun 2026 10:04:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324699.1590191; Tue, 02 Jun 2026 10: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 1wULye-0003Ko-4r; Tue, 02 Jun 2026 10:04:04 +0000
Received: by outflank-mailman (input) for mailman id 1324699;
 Tue, 02 Jun 2026 10:04:02 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wULyc-0003Ki-T6
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 10:04:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wULyc-00BY6K-8K
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:04:02 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1eaa91-2eae-0a2a0a5409dd-0a2a4509ee44-4
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 12:04:02 +0200
Received: from [209.85.221.49] (helo=mail-wr1-f49.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1eaa92-2497-0a2a45090019-d155dd31a9fa-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 12:04:02 +0200
Received: by mail-wr1-f49.google.com with SMTP id
 ffacd0b85a97d-45ee5cdbd28so3237838f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 03:04: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-45ef34a065esm33068791f8f.5.2026.06.02.03.04.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 03:04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780394641; x=1780999441; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=vh71FcHGb7GWNlpuZNqLIUu9Rb33rzLG9iSARKDqWXM=;
        b=RsvCJgP/N6MfCMedpNxHO0vY6xapMjOAz+BIoj45lqflUqy6Gmk2jOE2x6yp4+SIoC
         24XrOoNax+DLA+WVBzJUTKElPzo7hJ3OO7fMrTDM6LUK66d/OaH7SsyPrpkWYpiCYWDy
         IFpDZifEz8nzFBvahQTgHGgK5aYvOiuInvqKIwZB5x5vT8u1Ow/SUS/oBzsFPb89qFtr
         JfkVQqTuaRd2ix+xM+QdDnIsu2OYQ0YWeOsMI7SBYtlpzBmKVbz1+9Tf0MBwjEGVazpK
         4xeUylof6pNbxI3VdH5Tzc87VbBeanONGoPpPL1IcuftmTT3eE6G/kgpqQvNfDVDwkaP
         TQfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780394641; x=1780999441;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vh71FcHGb7GWNlpuZNqLIUu9Rb33rzLG9iSARKDqWXM=;
        b=CM0rY9fSJr+IyN1KUs7/HXAHph0XUJlV3qLkmZmELFNRumlFax3LI6HT7OOqtBip93
         L0f2FZ6svWAGptCx1hPNfVGNqD3SXo7qaHnj9RXZwM1aZmnKt9Sy4UFrWYpFYTw/JrlX
         z2r2IYXRA3WyIee8JiPD5OmYqG1cazyZufawzOTvOsIgPsXte7qg9nelgytpzJxX0y97
         JC0s9Px215oIfG4P1NL1H3V/MMzudfiKyqeVID/BLBQMphr8v4S9glrzBzHqLrk6YQh8
         Q4yCKMltFQssXXl0SbC0Fhgs2qBeSN9zfzqBNB8tRfi3OcIHMkUBzTFQf/+G1LWbkEKJ
         phJA==
X-Forwarded-Encrypted: i=1; AFNElJ/y0i3cpCsSCnb7RmFhlggxhBtPFov1XSEa1G1dDFLpQtXlfCsop/TzPWfBPpSwnSkyA9o51jKxUMM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy54e/wGgg2Bo/nWQ/UopfpZ06ergVJ8zZsXtCJOuUVsJgcfazE
	jCkbzWppt95TbLR3VMdeZRKQJ8nXNEA7vNEoAZkAg6CVW37nyC7eVf08IRT/uaO04g==
X-Gm-Gg: Acq92OFxiUHEhy3CVT+YbqNeBv5uX+c+VmJk4eT4v91cyTXY/9gpqEoDeTm37aAnYnf
	rUoeVC+OCl4M5w0gZJP1cCW4oLDwTByc/nAd4uCFGu3iBoeyckT0S9bGa1jTJce58O1iLh/hFSo
	sNNfzqw55a3wngPxeS0F13sptAjZhvTabLiv+GateFP7fEcI/rtPuQDxgBNjVegPi3xtxcp2Im9
	NfEBOI+CjwcyTkoWHLVGDQu4XwgCeu0n9mtvYNFWL5D+MnMfhTWDJtxftyLAUcPvWIaC6R+pLnZ
	CUq38gjGBk+b6YpOwR7E+AXjSIRiqLXWppJIzrHUuQMglL7H+K2Ca0Op8YnK+Xljj5zBwfZQfpQ
	Yzfo4YBRz8C3Ll5yR4duI+SLv6SCka851BTcqZmQmg6BYIf0B5bGiuaFvIB56lTK6NWFmmSrt1a
	PLyHjxdJBGTQ4I8+Wwa3ESYrI6iSMwq/pedIa2y83SaMpdS38xQNV//F5TnU1H/jTPM0e1i22r/
	qCa7NErh3rK1Bx/P4bHFwJHxg==
X-Received: by 2002:a05:6000:1283:b0:45e:739b:2750 with SMTP id ffacd0b85a97d-46018cf9ed4mr4135318f8f.9.1780394641607;
        Tue, 02 Jun 2026 03:04:01 -0700 (PDT)
Message-ID: <a456446d-3dc2-414d-bc33-b5c50c088741@suse.com>
Date: Tue, 2 Jun 2026 12:04:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 for-4.22] EFI: Fix boot from a device without a file
 system
To: =?UTF-8?Q?Szymon_Aceda=C5=84ski?= <accek@invisiblethingslab.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: oleksii.kurochko@gmail.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>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <79d8684ede3bf1e9abe02a2e5ed966a0ecd5949d.1779726979.git.accek@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: <79d8684ede3bf1e9abe02a2e5ed966a0ecd5949d.1779726979.git.accek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1780394642-8957AA53-0014F851/0/0
X-purgate-type: clean
X-purgate-size: 1014

On 25.05.2026 19:37, Szymon AcedaÅ„ski wrote:
> When netbooting a unified Xen kernel image (via GRUB chainloader),
> the resulting loaded_image->DeviceHandle does not support
> SIMPLE_FILE_SYSTEM_PROTOCOL.
> 
> Instead of crashing via noreturn PrintErrMesg() in get_parent_handle(),
> we defer calling this function until filesystem access is needed.
> This way when booting UKI, get_parent_handle() is not called at all.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Suggested-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
> Signed-off-by: Szymon AcedaÅ„ski <accek@invisiblethingslab.com>
> ---
> Changes in v3:
>  - read_file(): replaced unreachable `if ( !dir_handle )` branch with
>    BUG_ON(!dir_handle), per Marek's suggestion.

Hmm, did either/both of you try out what happens if you use BUG() or BUG_ON()
in pre-ExitBootServices() code? Xen's exception handling isn't hooked up yet.
The crash will likely be rather hard to analyze this way.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 10:05:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 10:05:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324705.1590201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUM0C-0003q1-H9; Tue, 02 Jun 2026 10:05:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324705.1590201; Tue, 02 Jun 2026 10:05: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 1wUM0C-0003pu-EN; Tue, 02 Jun 2026 10:05:40 +0000
Received: by outflank-mailman (input) for mailman id 1324705;
 Tue, 02 Jun 2026 10:05:39 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wUM0B-0003pj-7x
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 10:05:39 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUM0A-0037bU-Kp
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:05:38 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1eaaee-bab6-0a2a0a5309dd-0a2a450ae702-12
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 12:05:38 +0200
Received: from [52.101.57.66]
 (helo=BN8PR05CU002.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1eaaf1-56b3-0a2a450a0019-34653942c7c1-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 12:05:38 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SA6PR03MB7855.namprd03.prod.outlook.com (2603:10b6:806:42c::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.16; Tue, 2 Jun 2026
 10:05:35 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 10: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=X82mWSSfkcLRUEWRVvZifGlKCt1VBGlwX+tCSRbXIij8x44gI0r3IcU4pq4s8urSPLzllRrCT+UfAxFvr+DODbVKwiEQ3fXWlg0+xknyYZqNWcO471NwamANIFa2i73dUAIrlSq1VFAWMy0i6+U52mnkof7pSUbKgUVhcMvhrLPlV2KvJDjtX8hEoqqD4JtJJ6nGOKaHkXC4Lae5ix6NrNZP4g88s20xrAflE/SCoELz6tw0L8K9848U0LXYzjJaAzpjq9STiYrRizvRmYHBY4Hm4oJAyRl82KNHXZ/NbHCZoNyud3Szau4ZTvEVjUaxy3eZaUGZsTJGtuFfxhL1Xg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=f5aoZLIyBgmWH8pauqS37sErT3pu2WCyZcAgIiblrSQ=;
 b=COFS5d5EbSZprrWklShWV6BWimUPA8NugSmWo0PHY5DPX762jFpyE/7c2BvAzzAACZn7L+IbhcZldF+oAWUYVV92G680ErYv36dNiXMgbPief9MD5ghv3BcYNQehcG5QQh/CSX5bic74gXNYSJRqlwNP8OWtxt++6awKm9Gmtuui1LXmCQzVY0IF2L7HBddcv0whCuMnXnpD63oOZtcaxUMt9hJpvVdp5LBeH8AgUxi02euvVpG4c/pMUKc4WpepwZmn3gBgdxlBAqv9/bRaWnk3l2Ahw6urG/Rngo+xz1UPqCkHZmjf2g2XA9IS6kIqShDgc0/hXnh7fSmxL1nyew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=f5aoZLIyBgmWH8pauqS37sErT3pu2WCyZcAgIiblrSQ=;
 b=eaCCNvF6lxUqNfxgFDBfR8IEfKcgbUyrKgDJbyBfIpmkaMDYNBihzGU1JSUsxRCn3aMAgEsrM8OcSquCjkRv4JW1GFJqUchiYpKvweoX8h/cQe4ee+Fy40Lk/muPibasdgJ1e+w8maYr/lAGwGnpL+vmcTWI2s96aNzLsKlhshM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <9915b0a4-0219-4c91-b070-d39c74b84d03@citrix.com>
Date: Tue, 2 Jun 2026 11:05:30 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.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 0/2] public/xen.h: Update mmu_update comment
To: Jan Beulich <jbeulich@suse.com>, Frediano Ziglio <freddy77@gmail.com>
References: <20260528075539.10209-1-frediano.ziglio@cloud.com>
 <fe9e3f66-5f69-43e2-b367-af8a8e152c41@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: <fe9e3f66-5f69-43e2-b367-af8a8e152c41@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P302CA0013.GBRP302.PROD.OUTLOOK.COM
 (2603:10a6:600:2c2::20) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SA6PR03MB7855:EE_
X-MS-Office365-Filtering-Correlation-Id: 364b7ff1-5e03-41db-362a-08dec08e7d08
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|22082099003|18002099003|56012099006|11063799006|4143699003;
X-Microsoft-Antispam-Message-Info:
	xhWtucRV8LYxDd+vihmkRKbRt3w17RgPWP7brH4j7PeePOZJMWAFMkoPvYMY/KnNWTkFnzuE+mwiOjiFRY2wcufs9+TXi9p8GOzUb5KmDgJe+GPjGM7920N4vobH4H+fsAzw5hqjW0lOA9cKLQZhRJZTF6IxBTMjjZ/iw9ZOrZX8Ap7KhJnboRNyIizrVsYieWofvMwfR1cZas1ieznN5N2NsuFB6r/xR3jbdd03zNEwo5YG0rWmfPXS1//c/xsH/YluBjrdPhrq0KhhTZMVJFJ3vff0dJj7ZFBA1RE/NGDAb9b78tPcYDcMCfSsdO/aSQLQc16JHy25ubhpbMzQoUSCCawdP6laCkDtmWQwaQZLMgfs3/8q8jEtcf8HKugrw62+QuenXBu8IL6Ax1FvzjDUiCnWHl7tV2QNMN2MjHerMOUVmTIJEPkaRaqZ/DgQca+50zX96S6TPDUP6LkKa1vCAuvQG+KoSjPFgq2Rm91xwW8BqDii2cIf+mRJGEsgdjtB1Ul0PkzpsUirGC/1ZHW83UzX6sKk11XtBcKD7Z0CosQ7mEZmzpHHR9Xe8AZEMYhnWb7x4bT5+KszVJNimFX9fOS1q55QQSZJmw2XkScL3c1TUK1/RFxrpgNeeRTCzzzmNq040exJcT48Pe9jut06HwaXb6ykKPHg0e/13BXVlblFnd9IKXtLOKKAt0YU
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(22082099003)(18002099003)(56012099006)(11063799006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZU5BNnZtQ2psNFZzVkZJRTN1VFdHOEQ1YzRnVHhCTS9zdVdDOWE5cHcvOHMy?=
 =?utf-8?B?MkI0cHVoZlF2THVSZlhGUHJGTWtmWnlXY0pZZzM0VUtnZ0p1c1BpZEI3OWY3?=
 =?utf-8?B?ekxmNnVqeEJyaFRydG4zVXVBWkY3aVRrQkhXak56RTNNLzAwajRDNU4yTHh0?=
 =?utf-8?B?ZThGY0JmTlJnbW4zWkV0d1N2em16djYvUzJLQVNOcG1UWjdVd3dqb2Rkd05Z?=
 =?utf-8?B?VXRIUUptZ1Q0UkUwR25wV1JMZTE0VWM4NEpjWnQyRVd4Unc1VnN3dG1zZjVV?=
 =?utf-8?B?QU1FN21uY0R0bm54eWRteEt6cjNKSFVBUHRMUEoyVFVNcGp2OThVS1o1SHZp?=
 =?utf-8?B?bTBSOGlTSExnYU9NR2h6dzM0cHEwTkZ1enR6bnl4RUZzVVl3TTZnSXY2QWhD?=
 =?utf-8?B?aXZxcHJOWnEza3BvMFdkbW42c0NxRklNV3dwUkExKzVOWTlmUjA5bmZneUlv?=
 =?utf-8?B?S3RnS3RxdFI2WG9LMFl0ZHV1MGdSNXJrYVZjd01RQUNOeUYvVnRjdGlkUGc1?=
 =?utf-8?B?WXlFSi92bU1ld2swMFN3d1R4b2hpcEZQNG9hZDJja0g0V3A0NllXNFpHQ0pP?=
 =?utf-8?B?NzZ4eUtFaUFOWXlUR0xtYThiZkYvcEtoQ044NkMwcTNQdURhMlkxZ3MxMklz?=
 =?utf-8?B?TFdKN05jcUFJVjJmSFlmOUMzVTNMaVZSTThaaFN0ZzZmVlozZk9lTGRPMlpt?=
 =?utf-8?B?UVhubHhWZmxadExkV2ZVK3RUTkRqNEVQTlRhR294ME9ZelhlVVNSWU05dTVx?=
 =?utf-8?B?ZlpsZU5aczlRYWFCa3ZuVExDN1Z1eWFFN0VXNWsxOG42dlJXV1l2RUhXQWVI?=
 =?utf-8?B?MTBYMkE3MXAvN0cyeCtkMHRERzVuSlBMeFpZTGpSbkVlcjJRT1VpbFF0a3Ri?=
 =?utf-8?B?SjNaY0JIMlk5dG5LY3R3d0lhWUx2WXJ4SEdQMG85RVNLVWhwNFdIbWR2bU9s?=
 =?utf-8?B?Q3FHdjhaY0EwV05jSGVNOUl4S0t6NHg5ZlU5cXZXWExqYXFUV2YrclBtbXds?=
 =?utf-8?B?OEVRWWtwOW1ZL3F6YnliRk1sQ3g5eEgyNkQxWlRLY3dOVHhkUXJBeGN6MWNN?=
 =?utf-8?B?Mlo2RVpGMDFvdUhKS3pEZ0kwSVRrOSt4bzlxOFJPSGZPNGtVV2kxcVpvdGR1?=
 =?utf-8?B?TlBlUzZ4TXNudnE3dDd0QjZTUGwxM3JrWlBiK1lWRk4rTXl5TjFkOUxWZWYx?=
 =?utf-8?B?NEladVZ4SHk5NjEzbGh4bHU0R0Zld3NsK3ZSRkNaZnRhZndTbHpHK2FkajBs?=
 =?utf-8?B?ZTFudmtiNTVTRW9NTU1LdjJRN2lUTmUrcnk3MkdPQThXQ1FMQ3V4U1UrVG5n?=
 =?utf-8?B?aGkxT2xpNHc3YUN4d3k3QU1scGdudWdacytSaHhGaVR6Q0R2cFBCMWR6Z2Nx?=
 =?utf-8?B?ckZYVjRKSFU5cFNuSmlNZjFJSXlPZENTYnUwTXlXWDc1dkpLZDNab2I1b3dV?=
 =?utf-8?B?ZHN4c0ZLaWtyVjVCR1hjaWxFQ21IY1RXNUZGcjJXaGRNYXdZdy9HOHVnVldU?=
 =?utf-8?B?WHd0TlZIVTJmY2ZHL0dleWE4L2dxRmxYKzRaNld1STVtajk3OVRhbFAwQmQx?=
 =?utf-8?B?aXFkYmFYaGM4NXk3eTFIZlZ5TWlaT1cwSjM0RFZxa2w0T2VXcnQ2TFF6c0xQ?=
 =?utf-8?B?KytYaVJwWWFPN05ZR1RmL1dHekp2TnNmL1poRDB1K0NQcmwyNnBjSzBTYmFI?=
 =?utf-8?B?a3U5WmpOL3NyeG5ROVp1eUVSOUpLS2FadStzTWh2SnAyVnVHa094SGtPTGhh?=
 =?utf-8?B?ZlZBRlBOamNhU0xMemE2aXQxb3pFRjhCVklNcVdjbDB5cnBiZlN3NmlHSDBy?=
 =?utf-8?B?b0cxbzFCSWt5UHVYRGpjajVIS2trUW9rZEd5SFBIMXdmdkVSYThnTTZmUXht?=
 =?utf-8?B?VEFxcThMU1d5RU1VS2JvRzE5WGVWUU90NkhlMDJ2TkFNMWlhdEJBa3o1Ujhu?=
 =?utf-8?B?V3V1QUYzTGxQZE01czJUaElJQktJdHdqUmVnUEdyRTd3Vy94RTV6UEpCL1M0?=
 =?utf-8?B?TVBsN2VCS2RlREJlR0VvV05ZbXBkZ3RPcUZyVG9SZ3lnanNJNU9yczU5YTJH?=
 =?utf-8?B?VjFVcWJyeWNzay9QUVprOVdCeHpkdTlmR0ozVTVNMkFwQ3JZbGRQR0RqVXNE?=
 =?utf-8?B?YWcvaitJU21ISHVJcTZDT3VwOEtKQ25HT3JJQ000S1BQYjlyanAyWWl5eERB?=
 =?utf-8?B?cXZUdmxNVWt1Nks2bEtjejJpUFNhT3dubllWVjJhZitQUWJJL2FrRzVzcTFC?=
 =?utf-8?B?VGdFdTRFanRDekhtcE90NHgxR0hOUy91aENzWEhzcU1XRWFFaTJnOTI1L2NH?=
 =?utf-8?B?TkZLZGZ3VEFZbjhvai82TTk1UnZRa1NSYjNsOFFzcGdvOTVSZEZMRnBlYk9y?=
 =?utf-8?Q?mBCwwpAtEPw33VOs=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 364b7ff1-5e03-41db-362a-08dec08e7d08
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 10:05:34.9881
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nJIz/rRe0c25xP4sT1uGesWrnMxy7WViz9wjjIths6g2q9wNWbQ7fLImawqT8CcyEF8wG0dqEBn6noDqTyesLWVb2OCWc7q2uOvxLNvSA9A=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR03MB7855
X-purgate-ID: tlsNG-4011c0/1780394738-727758B7-E1FF65D9/0/0
X-purgate-type: clean
X-purgate-size: 922

On 02/06/2026 11:01 am, Jan Beulich wrote:
> On 28.05.2026 09:55, Frediano Ziglio wrote:
>> Frediano Ziglio (2):
>>   public/xen.h: Update page table layout comments
>>   public/xen.h: Update comment for mmu_update hypercall
>>
>>  xen/include/public/xen.h | 17 ++++++++---------
>>  1 file changed, 8 insertions(+), 9 deletions(-)
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>
> Considering these are (doc) bugs, I think I'm going to shovel the patches
> in without asking for a release ack.

Patch 1 is fine, although I think it ought to go further and not try to
not-invented-here explain what an x86 pagetable entry is.

Patch 2 is an ABI change, which is why I didn't include this in the docs
changes I put in prior to tagging rc1.

At a minimum it needs to explain that this is dependent on the pagetable
format, and is safe enough following the removal of the 32bit build of Xen.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 10:05:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 10:05:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324706.1590209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUM0H-00044i-Qj; Tue, 02 Jun 2026 10:05:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324706.1590209; Tue, 02 Jun 2026 10:05:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUM0H-00044b-Ny; Tue, 02 Jun 2026 10:05:45 +0000
Received: by outflank-mailman (input) for mailman id 1324706;
 Tue, 02 Jun 2026 10:05:44 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUM0G-000441-N1
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 10:05:44 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUM0G-00GVvh-3S
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:05:44 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1eaaf0-2eae-0a2a0a5409dd-0a2a4501abaa-22
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 12:05:43 +0200
Received: from [209.85.128.47] (helo=mail-wm1-f47.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1eaaf7-c1f2-0a2a45010019-d155802fd979-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 12:05:43 +0200
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-490b3637b90so2442105e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 03:05: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-4909c1049f8sm95754285e9.18.2026.06.02.03.05.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 03:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780394743; x=1780999543; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=mIrY7zJmyZ876FfkoH1obVzFi6ar/9EMiCr3M74tAVw=;
        b=RT2/u9gklx/vKD0rXSxRQVDynyA1wBE3p7M3YIOGPhyxd10CPiv68V0kRjU16rNIzd
         gt0zltzNZ2ww9qDlYOxh76mOYeNNL1CM0NtIv6toZqeLdaFYdVxE3eBPQmd6AsyLFFNG
         hGdMvLoahyx7WX0k0HnfqYkpDySLp3HsjGk/S3oDiDsJWK056ae+FSPAoGmwH/K/V1A6
         pKAdaLEMXSvhyoF1wMl/cbCGWijq//964QVP/HBiHOutidxXViwtbcv6VNPhfF9dYDGM
         ZR6rArkjz/zGpikAUrXk4SWzxeKYb8ADeRk7YOVyxgNek9MtxrSQfqdjCqH77oeaoAuY
         4DDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780394743; x=1780999543;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mIrY7zJmyZ876FfkoH1obVzFi6ar/9EMiCr3M74tAVw=;
        b=ZPrzgW0tgskoFzkJNRc6NbEeE6wO1b8qU19vERSj84Khb/DIb45F0tOw7UD1FqWNj/
         rhxxKoV+lXab/hNnInEp8HvQ9K7eny6DrvFHPCAgGOgEeag5KbNnwp41JteDthNr+EM7
         TPEqhj5EMx5v0yaF9nQ727UFoQSDuXwe2v4nxJr33eDcEX5apnYw6MT3vOI+Y9CZl9CH
         ZP01FSWDiSCWSGfGwzUQMSafT1KHdwkOCP8YaAgUKs94yvYUS0/VCoI43rcOzLR6rPdd
         4M7dKx6piuTV5qYVoVmRbJuMaWdH4+7nJWMstIrl4cGfAUC8oBh9LIaCz3Haf5BVV0tY
         CWvw==
X-Forwarded-Encrypted: i=1; AFNElJ88E0KDy7nhr0bl7bgxWlxuJYxedyTkAXwvhVvmJmcxYprs9nX5Gfvcuy5m7JfKvVbp1CGB1aL5INE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxwK8bVPalQREkK8cLtCaMZLN07xSx9wNF1qEGAw68rvMzSbqgS
	Vfpku7qq6Id8RNsSzd8JUui4ol3e9nsHXVHS1HysqiYsqiVAWvtYR/fvv/EuWMKEOw==
X-Gm-Gg: Acq92OGkJNYQYS3tsQCr/HX75ZXKtG5fyBxOo31mbzqniILFOPwlEwwSV37yJd2Zy6j
	y7Ku7WBLzYT1tABhn8oUvdaDrhHEuaUhuS/Xw3Vl2YMZY7/Y/2hnXJJ6yNkylcI+/F3y45/jBAH
	9h2kTU1xO4qsFShEeO1kZUIuuclNmC7nm8gXjjyIrTQPZTqzu71th8gqjdhpSZrN5LJJcoNmkuV
	ET1ZgulMs0EVJs2rfh+eBshlWp95hXCsxHGdx5255/vIqQiX+Uq5JxJVnm2arDJCnLVO6eQop0K
	6iDO/Li0A1SibvoQQ13wZpQrBW/KUsnS4n0xpctjO8bPdkUtNTT++HGE8xXxmCc7g2xC/+NPQBH
	XFr+dDIj1LGH7sBMxa8Iws2Yk/qyqmlnjzJZArDq16xoqj6OXpst5vBmGb/dP1/2BBrtd2cneYC
	d8azZlHKKWLvdsBtcgMB6BbKVmjUREnwwrCMsfXGYCWFyU75Z1kNRZoS73D+JzV1A/gVczbrr8I
	0s+s603c817sWWogLqlXFeO9w==
X-Received: by 2002:a05:600c:8b01:b0:490:b06a:649e with SMTP id 5b1f17b1804b1-490b06a6547mr62570725e9.25.1780394743469;
        Tue, 02 Jun 2026 03:05:43 -0700 (PDT)
Message-ID: <a3b289b0-8bf8-42f3-8dd0-997e663c2ed4@suse.com>
Date: Tue, 2 Jun 2026 12:05:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] docs/process: document AI-assisted patch tags
To: Cody Zuschlag <cody.zuschlag@gmail.com>
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech,
 michal.orzel@amd.com, julien@xen.org, roger.pau@citrix.com,
 sstabellini@kernel.org, xen-devel@lists.xenproject.org
References: <20260527174528.27903-1-cody.zuschlag@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: <20260527174528.27903-1-cody.zuschlag@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1780394743-B4F48FF4-6F76E87F/0/0
X-purgate-type: clean
X-purgate-size: 360

On 27.05.2026 19:45, Cody Zuschlag wrote:
> Add documentation for the Assisted-by tag to clarify how
> AI-assisted tooling may be disclosed in Xen patches.
> 
> The guidance follows the Linux kernel documentation.
> 
> Assisted-by: ChatGPT:gpt-5.5
> Signed-off-by: Cody Zuschlag <cody.zuschlag@gmail.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 10:16:00 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 10:16:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324723.1590219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUMA5-0006HF-NL; Tue, 02 Jun 2026 10:15:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324723.1590219; Tue, 02 Jun 2026 10:15: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 1wUMA5-0006H8-KI; Tue, 02 Jun 2026 10:15:53 +0000
Received: by outflank-mailman (input) for mailman id 1324723;
 Tue, 02 Jun 2026 10:15:52 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUMA4-0006H2-0d
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 10:15:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUMA3-00Aco0-6N
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:15:51 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ead48-5cb7-0a2a0a5109dd-0a2a4506a356-30
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 12:15:51 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ead56-7371-0a2a45060019-d155802cadd5-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 12:15:51 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-490b1bbcf3aso4798725e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 03:15: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-490b0e37851sm59796055e9.13.2026.06.02.03.15.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 03:15: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780395350; x=1781000150; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=34yXeZh4TiSASn2B1/qogXIUGBHyiSPSWC0lTrxvPAw=;
        b=D+5LAxxpicDEmeYUhDW5fpGrdd4jSdJvDX7iEijCR7LL24aInwwij0lZHoZyeQeFR7
         x3+xxu1lmKOCvNbNucqxSxgjsya6FawufBflbo6fs/mAFCNVZHIovEwDDpK7tMIID/9O
         gV5Uk8WQ+OAcL8EUdOzZzi7I4abdHsOh1Elaut44mXuyAUqPrhWvJsJYjdkmXHmkJ85J
         BnX2ksEcroycg5Ls0TgBjyHpRqHSMW/MovxboLl7wAV5TKBus60JXaDMeZnmF1waVD6K
         w+052NttISmuQeBQ3hvfCdOmEb61hmJ37pghumoTBKv8WORFisxtfLMuJn/oEWhUE+pF
         Vc7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780395350; x=1781000150;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=34yXeZh4TiSASn2B1/qogXIUGBHyiSPSWC0lTrxvPAw=;
        b=iWKBofecilTe5MGh/uPoRrW7VusSHoDhS7esiIQoBif4kfXuQOaDwZSSlfJmlWHPND
         C4+WHF5KyL8N3oywVeI/Vpx7/I2/oZHHGt4QtizuSkV4KNiiFdsm0oHzbp6A4k/OxjQm
         Pu6jkAuJBJHC8Opsdwgc0P3QzYzPaF6KZtMLGmr7QaGY3mlCLG/uhSlZ/5QvhwunEAE+
         eahqBtoXlwc3gGSPsi5XYhhaANQ8yiXNKP9ulQArnXGqp1t/fpPmZ/l76ffks9MX7BM2
         izIto3zYoTihnu+KFEvPoE+SrY8cA8odTgIQhZ9gKt4AhcGc2lJiPHQXtTeBZuOEGaub
         a77Q==
X-Forwarded-Encrypted: i=1; AFNElJ/BCV1cSuhnb4PlYH/FuVxYpGs6YOUT1dL/RTodn9pT/syaXGV4CuaiEYvivguPUlwgpof4Bk4fnDA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzXmtcjtlIG/EAOp70LhIuSWGY88QKWNvq2U6KcA/J6D3SbKLwm
	L7In1ATGeOzQ72ROhSXhPSLp2FaoCd5zMcykC/fN5t3GeiAK3hFWC24GeoTGQilcMQ==
X-Gm-Gg: Acq92OGLIwyGFR4Rt1NzpGTYtwl823TGrjKJpTKTkLUqgIWQznmS5WKwSF6MWZIVon0
	+3KWZ+BJbUL9JeKtGHHny8FwhdcuF8nJufHrxupJFA1pr6x7Jozetnx6vN5WUuiSRm64HcwWsrb
	jHhPiswbn7Amg4bWTek08ZH5QCfcJIN0a1RbokwDaszhhCN0FyyZn4VwgFZO2F0pO6ges0I+xh2
	o+3CbywQYzo/OluH/UdYHAFdPW4I4x795UjCHxvCs25ju1nW+yvcn7vx5S3Qb0ihKRmqpd4FizB
	six15udZbJlc5QrTjZmLCPl5YAVMhHWKnL2hQ6QZeHQagulyBeCvi+jbE6qicsL4Km0AoaGU3mH
	6q+7cYT1zVD7xrdXMXRMFpkRmHcRotqYKO7p2hDs/LthxkY9ANG5P0NUUM9DB5hqzL6GyAmlhhr
	dSc6NZFN6mjLBV5CLtB0ELBIRtWY/1WcHJ1ozy9Sina1wqs5+dVkqBbFMUmsJranUGFjA6eZw9o
	XupKYZmwBmglKUQk0rjW5bkkw==
X-Received: by 2002:a05:600c:a315:b0:490:9bc2:bf8b with SMTP id 5b1f17b1804b1-490a2912132mr198738845e9.5.1780395350322;
        Tue, 02 Jun 2026 03:15:50 -0700 (PDT)
Message-ID: <ced10c25-2970-4ba3-96fd-3bc5df4c4797@suse.com>
Date: Tue, 2 Jun 2026 12:15:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 0/2] ns16550: add support for WCH CH382 and ASIX
 AX99100
To: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>, Julien Grall <julien@xen.org>,
 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: <20260602053421.773149-1-Zhao.Jiaqing@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: <20260602053421.773149-1-Zhao.Jiaqing@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1780395351-87F7BD75-0B826A61/0/0
X-purgate-type: clean
X-purgate-size: 791

On 02.06.2026 07:34, Jiaqing Zhao wrote:
> This series adds ns16550 support for two PCIe serial adapters found on
> market:
> 
>  - WCH (Nanjing Qinheng Microelectronics) CH382, available as
>    CH382 2S [1c00:3253] and CH382 2S1P [1c00:3250].
>  - ASIX AX99100 PCIe to Multi-I/O Controller [125b:9910].
> 
> Both chips expose 16550-compatible UARTs through PCI I/O BAR0 and
> work with the existing ns16550 driver once a matching device table
> entry and parameter set are added.
> 
> v4:
>  - Add Reviewed-by from Stefano.

There's no need to re-submit just for this. Mail volume is already high
enough. The fact that this wasn't merged yet doesn't indicate any need
to re-submit: This series simply needs to wait until the tree re-opens
for the 4.23 dev cycle.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 10:23:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 10:23:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324730.1590227 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUMH0-0008B8-CC; Tue, 02 Jun 2026 10:23:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324730.1590227; Tue, 02 Jun 2026 10: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 1wUMH0-0008B1-9F; Tue, 02 Jun 2026 10:23:02 +0000
Received: by outflank-mailman (input) for mailman id 1324730;
 Tue, 02 Jun 2026 10:23:01 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUMGz-0008Av-2D
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 10:23:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUMGy-002mP7-Aj
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:23:00 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1eaef1-e002-0a2a0a5209dd-0a2a4503ed2a-14
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 12:22:59 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1eaf03-672d-0a2a45030019-d155802ed567-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 12:22:59 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-49068493267so63675065e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 03: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
 5b1f17b1804b1-4909c12b2dbsm136180935e9.6.2026.06.02.03.22.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 03: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780395779; x=1781000579; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=m+Nq/T23u6vUjRxpJx9ccLXLWTkKRZH2bj58ERM3IUk=;
        b=D7PXaFgIRe+2RE9CRhHavkIDWryLjv3IDwjP3abyY6HPJZL3vkpnweI4E2nta7vtVP
         2z3fj6/o73CYsJkfFcdvmmenBbvvVmEFaGUD0fctHiKJzOp2BI+hz7DNHKmh7r4Rha7+
         BZlq+YGfLe/oQh+e6EQr/RKMZQmsoTK2u4l1Ck5MiKZTU9CTZSjOvlmUluMAX+ZOsut3
         hgCpZA0aXdZyydABJpnG4V/mIonGHjFGOQhs/qrDp1jgV+kRauPFNxvSf5IyDUTZoiLc
         qcpIVtXnlMW5olHfSi4xZRud/35QRf65cirkGCgfIzUoQrxY58Xst+BnPYmK4kWHylWw
         KIQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780395779; x=1781000579;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=m+Nq/T23u6vUjRxpJx9ccLXLWTkKRZH2bj58ERM3IUk=;
        b=fdrHVsbKPJ7K9Y7neBMmYoI5RgBOio8Pns/Bm6Ul+wR1UP9DE8mUBV5c5dTqFzD2q1
         MmylyqUoY5pc2JK7kToMhmTbL3gDrilXS+um45N8879dFk+5odP+2tYCGRtLkogyU7iV
         xNPC2O9zr5GI/iOAPD7j9TRnxjo2rN+0pZcsk6fMNj0+Sy5jb2R/eUQjY/eYkvTfEh06
         HNZ2NFcOnfT55KN4alLv632YLH6Aa+opErljPbaPU84SXWimJRg2f1egrptAIrHJd1PJ
         M+NirzkEcwnSGKhYSNOfZuXYJTEoQhcH5f0LSqaaLKFjm/gyGgenpSlORKz4dr84BhVf
         9ELw==
X-Forwarded-Encrypted: i=1; AFNElJ9xBMpYkn/Tj89SJ1QTOccCDXGaS3JeEktFtQCIg8/E3lwWm+xdOYvmPJKkBZcJSmw8Db0LfSsKex8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YycOAc/e08XHujY/k28FkGOU55MyXRTlJK5u15gVKePjTe/VIuH
	Ek4WBs+uYFZ95NMiebFGwQraZnhzTQFHv8DaESzShWg49Eif3pI2Dba3YfadWVvq/g==
X-Gm-Gg: Acq92OGnpA04NbGZL7x6ZsdWwsequiL600MoEV9wYSs1tq4y1aqWOvToX8G77JS6cT6
	+AqgQ8eqLBcOmvPVHMGIUwzmZ3i2Ypb9M9+pXQ22MAxOkmIEDlZxtSaV5leK9rCMT0vkmFfaTMa
	44PSvJSc2ack5IrIZlz7NW1W7LHU0hyXfjMejAofeUQlSDlO/BnZpsnz/+L3kt0hoINpIccAYBn
	OxmBLTWhq5SqdRQ4HK8WKncKLeJ8Nx6urZ8f0U2wT1+iwd8t2aieTdSsUgmiu7eBbLFDu/aDfsq
	z05sWjiE1lbh/sp+dOMd+j95X4gs8dUXNb9Q6pMuxBSe6fxULyuWUwSZPfQ6hBDLP9w2sbDirYx
	Y7CZNC4mngEdfsQSAhWdymhDzJdyy2k0jrhSsuGYfwdvFFA2e4069irYruFWdHA711ii3OyM6Mf
	lbLnApdCvIuumZAdVKtMWrjCm4GIKtt1CT4H+OvmptvtHLaCY0WKLYlELWne1or8QH9+KzG115t
	j/ygG6cct3teQOstHdsORsB9A==
X-Received: by 2002:a05:600c:8a0a:20b0:48f:da34:ec4e with SMTP id 5b1f17b1804b1-490a29303aemr197981135e9.19.1780395779324;
        Tue, 02 Jun 2026 03:22:59 -0700 (PDT)
Message-ID: <25c7c4e2-d8a6-46a7-a5aa-68f1c2760435@suse.com>
Date: Tue, 2 Jun 2026 12:23:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] Fix fallout from DOMID_ANY ABI breakage
To: Pau Ruiz Safont <pau.safont@vates.tech>
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>, Denis Mukhin <dmukhin@ford.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Colin James <colin.barr@vates.tech>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260528113915.2355130-1-andrew.cooper3@citrix.com>
 <1779969378.8631fc262581453bbf619ec5b2062170.19e6e7146fb000d780@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1779969378.8631fc262581453bbf619ec5b2062170.19e6e7146fb000d780@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1780395779-3AF62938-DEF054B3/0/0
X-purgate-type: clean
X-purgate-size: 2284

On 28.05.2026 13:56, Pau Ruiz Safont wrote:
> On 28/05/2026 12:39, Andrew Cooper wrote:
>> ---
>>   CHANGELOG.md                         | 4 ++++
>>   tools/helpers/init-xenstore-domain.c | 2 +-
>>   tools/ocaml/libs/xc/xenctrl.ml       | 4 +++-
>>   tools/python/xen/lowlevel/xc/xc.c    | 2 +-
>>   4 files changed, 9 insertions(+), 3 deletions(-)
>>
>> diff --git a/CHANGELOG.md b/CHANGELOG.md
>> index 25f5a192ed48..1db3efc4864c 100644
>> --- a/CHANGELOG.md
>> +++ b/CHANGELOG.md
>> @@ -7,6 +7,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>>   ## [4.22.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
>>   
>>   ### Changed
>> + - Users of XEN_DOMCTL_createdomain/xc_domain_create() must now pass DOMID_ANY
>> +   to obtain an automatically allocated domid.  The prior sentinel values (0
>> +   since the start of Xen, and DOMID_INVALID since Xen 4.21) now no longer
>> +   represent a wildcard input.
>>    - On x86:
>>      - Enable pf-fixup option by default for PVH dom0.
>>   
>> diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml
>> index 97108b9d861a..147afa62c293 100644
>> --- a/tools/ocaml/libs/xc/xenctrl.ml
>> +++ b/tools/ocaml/libs/xc/xenctrl.ml
>> @@ -208,7 +208,9 @@ let with_intf f =
>>   external domain_create_stub: handle -> domid -> domctl_create_config -> domid
>>     = "stub_xc_domain_create"
>>   
>> -let domain_create handle ?(domid=0) config =
>> +let domid_any = 0x7ff5 (* DOMID_ANY from public/xen.h *)
>> +
>> +let domain_create handle ?(domid=domid_any) config =
>>     domain_create_stub handle domid config
>>   
>>   external domain_sethandle: handle -> domid -> string -> unit
>> base-commit: e63ba93511b33c0d3bb8cc5870f946f41e1d2655
> 
> Acked-by: Pau Ruiz Safont <pau.safont@vates.tech>

Just FYI: While of course you're free to offer such ack-s, they're largely
meaningless unless they come from a maintainer. Non-maintainers can offer
(meaningful) Reviewed-by: tags (assuming they indeed did a proper review).

That said, I think I saw in passing that somewhere you were mentioned as a
possible future maintainer of the OCaml bindings, yet that still needs
formalizing then.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 10:26:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 10:26:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324736.1590238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUMKL-0000FN-RE; Tue, 02 Jun 2026 10:26:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324736.1590238; Tue, 02 Jun 2026 10: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 1wUMKL-0000FG-N0; Tue, 02 Jun 2026 10:26:29 +0000
Received: by outflank-mailman (input) for mailman id 1324736;
 Tue, 02 Jun 2026 10:26:28 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUMKK-0000FA-DA
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 10:26:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUMKJ-00Gkk8-FT
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:26:27 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1eafb9-e002-0a2a0a5209dd-0a2a4509bcce-40
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 12:26:27 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1eafd3-2497-0a2a45090019-d1558031c59a-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 12:26:27 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490ae94a89eso13083915e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 03:26: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-45ef354cd87sm30739048f8f.24.2026.06.02.03.26.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 03:26: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780395987; x=1781000787; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=okKjY4zisNVWpiqDTFpmcLBUL0F28HNDFgS1MXYHlmM=;
        b=d+wXjhQdKoOfpz0QBmcqohWX0C3EbPeGkIsME5keuQjiJJ7B3rvUrn/9yBF/5Egmhl
         wQXCYuhR5b2oteYvkYWOHqRjQOMssDwt//Otzs1PmbtHvHQVF92/AbV4Vk71A78aXh1G
         DVtbpMizeIJU9DA5zqUfFk6Kxv4zF6XCVzXTfxA0JB0hh1OOfNj2MX7AbVSwKJib24sp
         F2PDqvqyrI8EzNk76ADiBWklD1x9iwuqKlpTYMS6YtZ1/VQaXEuESvyC+PBjvDF5X4hH
         eyp4Wgx00fhLlrOPrxNbwfovACoGuv0v4hbqj7e2KI9ZOrtV1ejEFd42Yct+akUv6rgA
         VNXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780395987; x=1781000787;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=okKjY4zisNVWpiqDTFpmcLBUL0F28HNDFgS1MXYHlmM=;
        b=Ezix6xoVTylfTT3j/6Zow6KaLDzUKlcN7KVn/2ALPibPquqbUAVaEeTAJ6VSYb0s12
         QAH21B/+eQpAl1wNhzcwnI8gFQZSmcYwMYL7clf9XiOtq7cnnooCI3jSDdk/lk+Jph8/
         u95hE15aRqIdRBZwNPaFe1UIy1kLF2tijZcwNJFIm+0qt4XgmdNWpwqkKrcBluda6PFG
         fUCXyWZwhV19KeaNWUY5Jh5ZPu8QaJbIbZC3OSMC1fso4xca87GOOEywPGWgb/c59dkN
         uRbDxajiNEKJiJPLNbW9JN6tEP02zOK1nlz2RaPkmkuQIygwH3aLQal/ft+c3nJQBtHm
         ylwA==
X-Gm-Message-State: AOJu0Yz6XW6lyyj04xq9DB8+wjuDWPghelhrkPjTPqyNbn4cDW4m6/GY
	6PF8j2f8WNvp0PP7YDVHXMiQQqTdKo4TKp1tNTVfcd0LsOcODvFymcw0CstvxblPjg==
X-Gm-Gg: Acq92OHbZrtYa7urjWcus5SaSqoZsOJo7HU3KCSS8TnI0LBbQebuwsBFEfDJnZhh6d5
	pW3ID+1+ua2qzvmr0jZGbepfFx5gFeJr/f17DhH8gR7bbd86HVB0vrdP9b0J/GhDP7LRjekVKIb
	Pon/S56o6vUMVtJBRBV/cXOeBm/HYnWIrcK33UklnlgTfsLFi5wxfZlBqSrwuYA8aBBMIau2N5t
	NvIfvIqmAXwiOoAT3yDxAgMeBeQcvm+pbeMRgv4/ERK+kHCN0qZdhABhONBNCilqnVSabZKwxP4
	ne32BnvGAr9+jhURkpiOyRL0hPJsIaxhoxewg2mhVCCPEV3f/G8N2UMiVfMGYAnHmJSH2Nhbc9R
	yKfko9PZHh40YT1c8ifp+Oyf5rDXq4Yhy15QAIXSwwxDM6GqdfGldLXqLt1ZKIExVXoLEI4Yb+L
	dIjSn2QGiZc25NlIbLM3wLkV0GHF+XGdKASb//S4Kmdwxh8LjHvbqLNH1x6mpxBydjLq/dd06c5
	AwRsYKNweHmSsuctBIvU0/u4Q==
X-Received: by 2002:a05:600c:4e92:b0:48a:7aad:4425 with SMTP id 5b1f17b1804b1-490a2901aefmr283595435e9.3.1780395986871;
        Tue, 02 Jun 2026 03:26:26 -0700 (PDT)
Message-ID: <bd4a6d0b-7c2e-4cda-b5c8-f8dfc0ee2f18@suse.com>
Date: Tue, 2 Jun 2026 12:26:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 5/5] xen/numa: fix setup of non-aligned memory
 affinity ranges
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,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20260601154332.30797-1-roger.pau@citrix.com>
 <20260601154332.30797-6-roger.pau@citrix.com>
 <e08a1e30-cac2-40a6-9dbc-31aa4074ae88@citrix.com>
 <ah2_Wyzw486gLflv@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: <ah2_Wyzw486gLflv@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1780395987-8B790A53-77C742B7/0/0
X-purgate-type: clean
X-purgate-size: 1529

On 01.06.2026 19:20, Roger Pau MonnÃ© wrote:
> On Mon, Jun 01, 2026 at 06:08:49PM +0100, Andrew Cooper wrote:
>> On 01/06/2026 4:43 pm, Roger Pau Monne wrote:
>>> --- a/xen/common/numa.c
>>> +++ b/xen/common/numa.c
>>> @@ -396,7 +396,13 @@ static int __init populate_memnodemap(const struct node *nodes,
>>>  
>>>      for ( i = 0; i < numnodes; i++ )
>>>      {
>>> -        unsigned long spdx = paddr_to_pdx(nodes[i].start);
>>> +        /*
>>> +         * Round down start address: if start is not aligned to the memnodemap
>>> +         * chunk size the tail remainder might not be added.  Overlaps created
>>> +         * by rounding will fall into the same NUMA region.
>>> +         */
>>> +        unsigned long spdx = ROUNDDOWN(paddr_to_pdx(nodes[i].start),
>>> +                                       1UL << shift);
>>>          unsigned long epdx = paddr_to_pdx(nodes[i].end - 1);
>>>  
>>>          if ( spdx > epdx )
>>
>> I like that this comes with a unit test, but this hunk needs to be
>> standalone at the start of the series, because it needs backporting.
> 
> I was supposed to add a post-commit note about this, but finding the
> offending commit took me a lot more time than I was expecting and
> forgot to add the note.
> 
> Yes, this needs to be backported.  I was wondering whether it would be
> fine to just backport the fix, leaving the test changes alone.

I'd be perfectly fine doing so.

Jan

>  But I can also split this to a pre-commit.
> 
> Thanks, Roger.



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 11:12:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 11:12:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324755.1590248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUN2r-0007P0-6V; Tue, 02 Jun 2026 11:12:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324755.1590248; Tue, 02 Jun 2026 11:12: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 1wUN2r-0007Ot-3o; Tue, 02 Jun 2026 11:12:29 +0000
Received: by outflank-mailman (input) for mailman id 1324755;
 Tue, 02 Jun 2026 11:12:28 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUN2q-0007On-KK
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 11:12:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUN2q-003Mtl-0G
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:12:28 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1eba8d-5cb7-0a2a0a5109dd-0a2a4503b286-44
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 13:12:27 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1eba9b-672d-0a2a45030019-d1558032d5b4-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 13:12:27 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-49068493267so64181865e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 04:12: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-490b0e26050sm51885895e9.9.2026.06.02.04.12.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 04:12: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780398747; x=1781003547; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=JPxX7Ifv6lWigOe60Y2kDbhE8ZcrRgMOLX0pCJtp43o=;
        b=ScpQMwjBF8/0+W4SElZzZoq/xhvRN4lFLlMu5ZIAGVciRgrpaNR2U3vU+owJOa7c+u
         0aMWcr/5+5V4VH5xfdpsibeP5QSGgk2xsK3PHlM1Fe6Yl7XcTeZtlGx/gBQ9lZRrFJDg
         LjipejvWVX1JSt8TO+xGct48FypZETDk3XZ0HAxBgWpUG/FbYOOqczmGzP4SVPMHv2pg
         kZ/u2bTDhuIlydn7GyCWiFQBzNH2SYRjc63EZgxIqT0YnGJoUOOGaeTwj9+7ZzDv1NwW
         LsKXosxyamM6jLkKHouYuReQhgqGN5eXQddob96nG7dXQ6VYmfbZndzEvt8efhGWRKOz
         WA+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780398747; x=1781003547;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JPxX7Ifv6lWigOe60Y2kDbhE8ZcrRgMOLX0pCJtp43o=;
        b=n53eV6v+jUplAcfZ3Ml/gVbDrKbxemO4CqSbWcJK7T5aQFMt+Xdr400H938Nwb5oGp
         UQZ2EDsp+INK5iZpWDNYFc4/W5AWizHenR7kPdQXLxL7Yqr8JDd2nKBsL+nthEASdKYx
         h+sEw2dzLTWa4nheLHrxMish4fMVz9slDZi+5mXoaEF3ruiYhwgzX2tlFjVwCOTMNwqX
         W4R7y25pKqU5fARFM4omTfavqbiZ9sL3RBxTzWOiNEh2NropdgcNpAOTtDcVY1nhXF/Y
         Y4oPgt4/z7CItvtYnCdwEOQfCuOejO1wmJiE2h/wKzYABbpuuA4OEFAf39vaKLQQ1LNV
         eEeg==
X-Forwarded-Encrypted: i=1; AFNElJ8Hkb+WxC5KcjQHKiwJkeicFhiwvDHDs/1+6kF21S/PRRo196B3kPI9QPFVQSepLPay5y0G/aUNb/w=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxalQQGsnN7XNlu9xrSHVD+WbzHcL58fO3KFSKIGttQ3fUrmKkn
	MemJiK5zdRkyd54FXIb79EEOIhpmfuHIU3J0C1DUYRuBQFYeH4jvDaj4ql7B5xkOIw==
X-Gm-Gg: Acq92OFht4P3UWlq98PK10+V4MmHKVP+0T58TO7OvLzsm4rbIGt/i8jILKYgU9aXV5s
	kqtbk48O0PBaSutNRJsY/CtVKWhkkZtaHdFd/D6Mmo+a061MWU/fyKe1EQZASKVv/wQdVShghco
	Ffz5FLgpYTkDwqKd1NGKM0n5g+5hM4RVbJlQBvrWrr+na1DWsc8onq2QFzBsOvvMTytMrhTXVYp
	UAmYPoT0qqKOZVo+0kUxcZaSkt9clh9Bjb0uIVYIvMcMmL7vFNiSZzXMSglL+Suz+uRJG8iIh3S
	u4OduR7IQxchvKeUGjRB1N0uDVy/MUb4V50seUTRB4Ma2cgj+NebtqhP9yryEfJ80UNdMi8Udek
	LOjZrpXlWuPjP6lIV8yobRAugf1zwIlCAr504s0mEbb/v7gJYzak5ViKbZ6r2kVxAykKlvT/Gy1
	cMkYUtLNrS25alfpHUQtm2OexyYDydp6Q+vEWwc+IJ0fdbpqMKQ0IJaYH8NxkQsmEmNESaInW3n
	52mFdPchNRzbPFHJi8eNmO6oA==
X-Received: by 2002:a05:600c:c48e:b0:490:a646:9d75 with SMTP id 5b1f17b1804b1-490a6469ec3mr220373435e9.9.1780398747168;
        Tue, 02 Jun 2026 04:12:27 -0700 (PDT)
Message-ID: <ea33e3e0-f9b3-4641-b5d4-281b5ce61c9e@suse.com>
Date: Tue, 2 Jun 2026 13:12:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/3] xen/riscv: fix switch_stack_and_jump() for range
 beyond 1M
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.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>,
 Baptiste Le Duc <baptiste.le-duc@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1779712171.git.oleksii.kurochko@gmail.com>
 <21bc40d4a09bb4cfe0999430ea7e65b369fd4033.1779712171.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: <21bc40d4a09bb4cfe0999430ea7e65b369fd4033.1779712171.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1780398747-39B7C938-C9F6D9E3/10/73395122804
X-purgate-type: spam
X-purgate-size: 1055

On 25.05.2026 15:20, Oleksii Kurochko wrote:
> The `j` instruction (JAL x0) used in switch_stack_and_jump() is a
> J-type instruction with only a Â±1MB range, and that this can
> be exceeded in some configurations, causing a linker error:
> 
>   relocation truncated to fit: R_RISCV_JAL against `<symbol>'
> 
> Replace `j` with `jr` (JALR x0) via an explicit register, which has
> unlimited range.
> 
> Found in a downstream branch when UBSAN instrumentation was enabled.
> 
> Note that the `tail` instruction looks more natural here, but `jr` is
> chosen instead to avoid depending on how the assembler expands `tail`
> and which scratch register it uses (`t1` in GAS), which would need to
> be listed in the clobber section of `asm volatile`.

Hmm, looks like this indeed isn't standardized.

> Fixes: e66003e7be199 ("xen/riscv: introduce setup_initial_pages")
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Reviewed-by: Baptiste Le Duc <baptiste.le-duc@vates.tech>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 11:19:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 11:19:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324761.1590256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUN9h-0007ym-R3; Tue, 02 Jun 2026 11:19:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324761.1590256; Tue, 02 Jun 2026 11: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 1wUN9h-0007yf-Nw; Tue, 02 Jun 2026 11:19:33 +0000
Received: by outflank-mailman (input) for mailman id 1324761;
 Tue, 02 Jun 2026 11:19:32 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUN9g-0007yZ-FB
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 11:19:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUN9f-003O7m-NR
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:19:31 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ebc42-bab6-0a2a0a5309dd-0a2a45039442-4
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 13:19:31 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ebc43-672d-0a2a45030019-d1558030f052-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 13:19:31 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-490af320e2aso13014695e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 04:19: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-490af60e03esm55658725e9.2.2026.06.02.04.19.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 04:19: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780399171; x=1781003971; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=mifwehXoMSqIw7W1QXJjwradM9rlYRoCGjKURdYbg28=;
        b=Lx5JoFRe59mwKjrlKXNrDleZYVuYwNbl8NdSH/aDMBXPjXadVfpHJywfUu+1RMDe44
         OINM+9WqmyqN1WW6RHUeiGTvUhwwyN4dNR4SchK7FRmnycDOCgLbfUfb+Nb8iOVM0FMT
         xOsAH7IyV9avFQGjibse93HuvaAIn7h/7ZMO1xRFT/g9quoJ4+ZhS7dya7kRPkMH9TDM
         IcWk9rFVMB/rxN73vthfuWv0y7iCB/C+RvG2FCUdf7CsqRK0B0jr0+r6sMOkGUjV6MwH
         +OHK7HFmzd7Fe8C4soMO5k+KBLSkF41iO5TAY2pMOrBZAf9+obSwbi/Ko8J0ar6bTZ7Y
         kbdw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780399171; x=1781003971;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mifwehXoMSqIw7W1QXJjwradM9rlYRoCGjKURdYbg28=;
        b=nBqAoiKNmNF+09NO5KogJjZnAR+rEapluOVgMRaJStYlY9Wsy3o9QPGI0QlqcueTBh
         LifgR2/S3SUi/wavKffUF081hGSV/MrkEK3BX1BTDt9XvhAIHbR6F+xAQOc42fa+S0tj
         SIgaFtKoaV3MkNkSYK05XdNcyjP0dCR3q1Yqt2hcvNzcS62Fb261eolxULuU0SDH8460
         d2oQV4/D+z2gTjRWSPAkwBwIvSwYeqMHZPO6QApMckL0w6bY1pMceMitiLGBqHKyJINE
         ylclNEOBS/Wpr0zGM0knnvuhFE+oUtH0hZ0VWA5cpAuGIzj8Gbq1kASLDsHrF4IfKd+o
         U6iw==
X-Forwarded-Encrypted: i=1; AFNElJ/GSkKNDkx1xHK9cRiEsX8NyJLONSIUOL+h+kG/Onb/T/P+MiMhe0MvWnVtcT299DDIE/HKbn2hY4w=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw1/QyDG1avHFwE32Vi1iYE9DWrIRM2pu6JBMKmlmFOGVRXCQ2J
	qixZ1r4LaqMxgVORhUI6THFdio3pxlWKmoEI4L+7l0rUg2Kh9WjB9dQHrrg/CVXC4Q==
X-Gm-Gg: Acq92OER2JTbWI9Le2ByQeI9evlvst6a9/wP5OV4q9NFOG3QBPTu/4QE+yO6mD+3R8v
	He2Qd0yaCWKgsyKZSQPBqtX6ArSINP7VCiQ2Pxjdi6MxbqNfLKZv5Tt8lXjxeNBseQGTXvlq+Zr
	Wtfd+lb8MSj98AGiwEdWQLzGuqxqlJEm+nxZAxA5hdr8qUiT/eMduEKVDhGJQswOD8WvYvh28Td
	V3TuhK5pTLbPSWmWhXukvEZTVlvoutz4GtPqtDetkf8D9HWHQSpjRirn/ubFSmhFPWL+hGC6cve
	ECzIS2R3sfvB52OeULqi9VULCgrPwxRbjcHw3ke2FUSgp+LpB3Ga4ieUAa2xazzU+AQ4Y2GCO9L
	wXDA5Xw778u5DARZ+YLmqaN8lGlFK1f/tILv07ulIQ+PHAn2lbdpzfhLkPDw9GOmgIb/JZ6AF+p
	bNObdHwA6tS9Mfnzbap0YpmCyOVbH0BvogCNU1ZhXSQSLC/bloWAh4Vq5WdngT8hhuF23JfbO/T
	tZl4rkVzuouXhrtTXdFLDbt3w==
X-Received: by 2002:a05:600c:8508:b0:489:c57:7836 with SMTP id 5b1f17b1804b1-490a2952644mr245616135e9.27.1780399170910;
        Tue, 02 Jun 2026 04:19:30 -0700 (PDT)
Message-ID: <3aef7763-aea3-496a-8c18-d3659f590373@suse.com>
Date: Tue, 2 Jun 2026 13:19:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] xen/domain: fix UBSAN null pointer dereference of
 d->shared_info
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.1779712171.git.oleksii.kurochko@gmail.com>
 <04dd784b6b9a4dfca9a313ea8802d8d514d65021.1779712171.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: <04dd784b6b9a4dfca9a313ea8802d8d514d65021.1779712171.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1780399171-3957F938-29CF1648/10/73395122804
X-purgate-type: spam
X-purgate-size: 3170

On 25.05.2026 15:20, Oleksii Kurochko wrote:
> It is legal to have d->shared_info equal to NULL for architectures which
> support only the FIFO ABI for event channel management.
> 
> Having d->shared_info == NULL leads to a UBSAN issue on such architectures:
>   UBSAN: Undefined behaviour in common/domain.c:325:10
>          member access within null pointer of type 'struct shared_info_t'
> 
> vcpu_info_reset() maps v->vcpu_info_area.map to the per-vcpu slot inside
> the domain's shared_info page for vcpus with id < XEN_LEGACY_MAX_VCPUS,
> and falls back to dummy_vcpu_info for vcpus beyond that limit.
> Extend the existing fallback condition to also cover the case where no
> shared_info page has been allocated, mapping the vcpu to dummy_vcpu_info
> instead. This is the correct behaviour: dummy_vcpu_info already serves
> as the safe stand-in for vcpus that have no usable shared_info slot.
> 
> Additionally, if an architecture supports only the FIFO ABI, setup_ports()
> should be updated to avoid a NULL pointer dereference of d->shared_info,
> since in that case there will be no pending events in
> shared_info->evtchn_pending and the pending flag of the FIFO event channel
> does not need to be set to true.
> update_domain_wallclock_time() accesses d->shared_info via shared_info()
> macro. On architectures that do not allocate a shared_info page (currently
> RISC-V, which runs guests in dom0less mode without the PV ABI), this causes
> a NULL dereference. The early return is safe: if there is no shared_info
> page, there is nothing to update. For all existing architectures (x86, ARM)
> that do allocate it, the guard is never taken and behavior is unchanged.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in v2:
>  - Update commit message + subject.
>  - Drop Fixes tag.
>  - Handle migration of pending events from 2L and FIFO ABIs when arch
>    support only FIFO ABI.

What does this item describe? On an arch supporting only FIFO, how could
evtchn need migrating from 2L?

>  - Update the commit message.
>  - Protect some other places in common code from NULL pointer deref of
>    d->shared_info.

What I'm still missing is the description clarifying why other uses don't
need guarding (or that there simply are no other uses, which - however -
I doubt).

> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -320,7 +320,7 @@ void vcpu_info_reset(struct vcpu *v)
>      struct domain *d = v->domain;
>  
>      v->vcpu_info_area.map =
> -        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS)
> +        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS && d->shared_info)
>           ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>           : &dummy_vcpu_info);
>  }

At the example of this: The extra conditionals are dead code on x86 and
Arm. While the status of the respective Misra rule is still uncertain
for Xen, imo we'd be better off avoiding the introduction of new dead
code. Which in turn means we may need some kind of abstraction to have
these extra conditionals in place only for arch-es not supporting
shared-info at all.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 11:21:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 11:21:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324766.1590266 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUNBv-0001Ph-6c; Tue, 02 Jun 2026 11:21:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324766.1590266; Tue, 02 Jun 2026 11:21:51 +0000
Received: from [127.0.0.1] (helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUNBv-0001Pa-2X; Tue, 02 Jun 2026 11:21:51 +0000
Received: by outflank-mailman (input) for mailman id 1324766;
 Tue, 02 Jun 2026 11:21:50 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUNBu-0001NV-1V
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 11:21:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUNBt-00Bq7E-73
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:21:49 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1ebccb-e002-0a2a0a5209dd-0a2a450b82b8-10
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 13:21:49 +0200
Received: from [40.93.195.17]
 (helo=SN4PR2101CU001.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1ebccb-212f-0a2a450b0019-285dc31109c4-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 13:21:48 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DS4PR03MB8155.namprd03.prod.outlook.com (2603:10b6:8:280::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.12; Tue, 2 Jun 2026
 11:21:45 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 11:21: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jyitzpdQ01DMLj7S0AmYRSH8NkFFm4yq+5IChvInpdH4gQxlSWObw530pCJDVwbXmIYNJ6JBN6ino/XRrhF+jkmIB20ws9TM2G861kCmrB4IL3n+K4nvR4FpKZc6CZ+12BKfTMbaijeLlbpkmVD6e16exyOxRBL44+ybdEY4MjmyHLM02U8piEkQCdQy5Qoc+moWhHPmC1bnCsz97BHX1B0+HmE4CHefMhojp+VYzUCfykbFrjGVN8DzTVO3PY4Cxp9xGgiBn96LcVtBOpm/OXZY+Kjk9yWR7vNhVj5EC9uOIwAWQhqbyxzkuz/ViMoEOs2pRWCsb6FflaUQChlwuQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RTICzdfWXlpJBWxLWgpAnjJVgiFPdK6VyaIaMNmAdYo=;
 b=DWNfOSSBhsZ6OHXb70TgZ0tY3W3zhO9oD1GuK9Z0U2gKBxs939Glw29633YIa1WYDnJJm7W/qMREhf0am94fJNpYw9ptXePYPxrGwmMFOQE7WHkvlxYmOZqX05KlH804AHmAvuuvtIGja0epCcOvMcUyAUWgvhsemWYeXHsOxr13sYdieqP0/UsZ5fuCNJBh/svmZDRNURN80T1lN7WO3G7+hzqgZsk5IFnGDggbT/PohPNGFgaOij/WERV6TJ2xn3a7aX9do0HG8muxF3HJoWesPDplKyjvgnqjJgwyYjixOhheof0ykdTef4nZfp+FI7Io+iO1PZOwO20dOJ9zEg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RTICzdfWXlpJBWxLWgpAnjJVgiFPdK6VyaIaMNmAdYo=;
 b=rwVQlI3HmANFpGEZnAM3uDom0fc0G0VhPq0t7ykrK6nRLz9KWj5BYNnnlvjUQFOmLR+afGV3euyPN3Xbgey28fRnTDIGXPxKjwj4N2u8icnp5UEz1UXvlY4eC0ApPm2TMeP0zvrce7XZK01VJ0BGnLVJ59a1IGIYfeYWVK9J+u4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <9ada8585-9c93-4212-9184-9babc566eebd@citrix.com>
Date: Tue, 2 Jun 2026 12:21:40 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Alistair Francis <alistair.francis@wdc.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>,
 Baptiste Le Duc <baptiste.le-duc@vates.tech>
Subject: Re: [PATCH v2 1/3] xen/riscv: fix switch_stack_and_jump() for range
 beyond 1M
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
References: <cover.1779712171.git.oleksii.kurochko@gmail.com>
 <21bc40d4a09bb4cfe0999430ea7e65b369fd4033.1779712171.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: <21bc40d4a09bb4cfe0999430ea7e65b369fd4033.1779712171.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0038.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:152::7) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DS4PR03MB8155:EE_
X-MS-Office365-Filtering-Correlation-Id: c9415b76-5007-4acf-75fa-08dec09920f8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|7416014|376014|366016|6133799003|3023799007|4143699003|22082099003|18002099003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	NM83+v8dmHzDS6Px9DambBmlDIFFMNuHFQ0JvKX0PbGN+jX6gz2mA78ZD31EOti5tQlSw1pXipdmfbHHIiW5f5zQ1jv+Fyl4d+qqCQtn8a7RNhyPplQwBsmFoxC5mloGgz7jhmiZ8ftUwtEwVR2dyaqhsirQWHjn7+Cs2+XFSYPsvFWrEwLBdLSYiBsWPjfJw7HYMdpZSh9vCava1WH2uZDQ7bFg6qSCWkScnTAFuQR/0w5pdvrjeOUs5Cn3CtXeJuBOcD05aKcJL9ePOPJtgrfwGfgGiaiNcy7NVSmJtWS0k4+mpSFUqO2o8o6DaPCYeH1J1u3YLNxji06n5dyNYr52MbZPBFvA2kGZjy/SUcpnu3HEfx8A9egr9J0hQdqdxbIR+P+fnZKcjSTDuow/DolzSmxxoE72n/JZk+6uwFAM+U6avP4u13oKCpAXjKzu1allAkM92IklwJCb/U3fAFZrrPTgNaPSgA4XtQNQhzyoikGtvi5hsYQ2RIOHkp/SYqLUYFseN9WWGgTTsP118PGLlXLrACF/luU6KWS/CkEe2sP46e8dry5U8j6aBtXpzXJu3jcTDF0ytjCK7QqAuGqVvpSMzAL8Lk1phOFLqIqINgIoQCOvdo0nV856YpZ3muXwI1VxJZniPAoAt96E7WFTqErIl4E3qWd9Tvj4hPa87JW/nm55VdKdybgDjCaK
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(366016)(6133799003)(3023799007)(4143699003)(22082099003)(18002099003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TkhYdURSTVVHSm9pTUsxb01OSEhZWlFGejZ5Zk9qRm9KNksxcXprT3dtYXVv?=
 =?utf-8?B?OXBCRXI4Umc1dXpNRUVBUk0wbTZPVXZxc00xSUxCRHlGSlN2anZDamd5UXVB?=
 =?utf-8?B?Q05iVzRjTjNsT250MThrN2NwN09aeWRrdXZxWTVZclZBOTVmT2dmTk5jVWdj?=
 =?utf-8?B?aTJaazUrZ2VhTndsazUvRmJkUUhmTElaWmVBU09UZjRINUVGV3Y0UU1raVk3?=
 =?utf-8?B?VlVHUkhlQ2JsWXZDSTRPZTE3VUdiLzBRWU1LQnc4dWZHZjNHWklYaEdTaDdQ?=
 =?utf-8?B?cytzZGNZN1cwajRGaGFKVFE0blNBR0I0Z1RZSUtwT3FMeEZZTWt6T0w2Uk01?=
 =?utf-8?B?UFVFNTE5VHpPVnBoUjgxMXN6c3Zka3ZnU3F1SHl0T0FOY1BNN3lxNGJJUlVu?=
 =?utf-8?B?U3hEdDUyZFJWR1JtdHMrMDFJNURQbFBNMUU2bDNYSi9ZaGFma1pGanJoaHgy?=
 =?utf-8?B?ZXdkeDg3djB1bUc3N1dNNk1ybTFMMnFRYkI2bjZ6QVpTTVhha3lQczc1eDcz?=
 =?utf-8?B?NUtxSGJJUStlSFJRMmxNOStDQ3BLSks3cUNlbTkyR2VMek9jRXJjT3V6cVU4?=
 =?utf-8?B?MnJyVElkMHJUQTc0ZEJPV2NmNHJPV2JwOHVYWjhPM2lwcjRic0M1dVVBeFRN?=
 =?utf-8?B?ajhVcFQyekJlRTAyUHVjQ2RuQUlxanY2bWo0SFhkM1lUVU1ETjdCcnh2OFpQ?=
 =?utf-8?B?ZG42WFZKcGxEVy9UNzF3Uk1sUE02V0hyeURhMHUwcm0wVXZOQTFzc0V1ZzZP?=
 =?utf-8?B?bnlrbWpRMjY5UDRiNGhxcXJzY0hFejl0RHVOa2RjTk8wdy8vYlBiV2tTMlJ3?=
 =?utf-8?B?U1RUKy9ldmNpUmIwcVh5anBhWXk0S0ovbS9qYVkwYUtabnZrSGdOVlVISVlO?=
 =?utf-8?B?WjZhOGRzOFoxL1VJeXVLZ0tzaStpdmlOcVBHYXp3Sk9ZaEIzMzg3U2RmRkcx?=
 =?utf-8?B?amFlckhWb1lqMWVhVllGbVNkZUxQN1l1d2U1L25Ha1NaM1pXWWRYeXhxM2xS?=
 =?utf-8?B?ZGV1SmRYdHFwbXVwUXVrN2s5dEZVb1ZMUWExV0tsQXlBK3BSOGZweWxQc0I4?=
 =?utf-8?B?RHQrZGVtclVrSDVFdHpLVy84L2hLcWtTSTExT3FIOVlIenhDM3ZacVBVVHZ6?=
 =?utf-8?B?OUFCWklUZEkyMUhzVGJYekFJcFFVSnRaakR0L0FvWXA2ZnIwSk5Nb2UxaVFD?=
 =?utf-8?B?dmhZUGtIN0Q0WGp2cTJSVmNsV1RkUzYwZXZseTBkZG5KbDg5M1kwTlBESXov?=
 =?utf-8?B?aXBJM01ZSUVqd0JhTkdOMGNLbUZlSW82cDlSaW1kOFNxOTdyd29aWWtrNWM2?=
 =?utf-8?B?QVV0b3kxckZFNVlCWWlFb2JGVWt6KzZwQUF4ZE91SitPTEtvYjBUY1hqTmZS?=
 =?utf-8?B?d1c3VkVuRFV1N3IwSXZtK1pjV2Vxd2ZGU0U2aW1pUEZSODNORVFhd1U4ekFq?=
 =?utf-8?B?ZEZVbEtkQUczdnNUbW9vNnNBZThseHRjSlZmeVl5MTk0cmxBdUROUTQxVzRs?=
 =?utf-8?B?RTJDd3liNERWQ0tudWRUa0FDVU9YUCtUbWtvYjNxckNhTjJCN0RCTlJ0dExY?=
 =?utf-8?B?YXEzYndkbVE2bGgwaDRRdHJHdDBzdmNlYlllU00ycVRxa2FKOEtJNXo5MCtw?=
 =?utf-8?B?d0JwZ2ZFWVhTR2Y1b05oRFhyTXVtS1ZEQWl1TFA4NHlac0JrK1ZpZGZZamds?=
 =?utf-8?B?STk3TTk3Q0NtOHVZOUxLWkszUFBhYU9DRGpUN2JPKzhUTGR3aWw3cUhqR2s5?=
 =?utf-8?B?bFFXUU1sSWp0dXp1d0JuYWs4MGZ6MVRLdnR3VFRISXNraXVES2dONCtoVnR2?=
 =?utf-8?B?alp1Zy9hb2R2TkRDT1dKYXR6KzVCL2RESGhWYUwwaldjS3RNTGZsY3pYTm90?=
 =?utf-8?B?UjVaYzBvNDFoU1hUWmRrRFZUYmEra0pRenZidzlEUGZrcHhRbHVjbHhqS2J4?=
 =?utf-8?B?TGwzVG5iSlhJSlA4NHhlOCtpOW5NNWNGVWRMeVJub1dyVFdxMXRCYjIrdHox?=
 =?utf-8?B?ZVowcWxrcDErTlpwYnZSSCtWNnJpZXRtaHVpM1NlY09BK0ppbjZpejcvTUl1?=
 =?utf-8?B?S3lGRkQ5K3B1ZE9MSU1wbDhVaS9zQUVXV1ltbEkra2dSSGhZcURkVnBPRzYx?=
 =?utf-8?B?SGEyRUZrOGJzQWVCbmJqVGxGN0Z0bnVVSXVCcTFzN2cvNVd3eUVaOW1NV0pD?=
 =?utf-8?B?Mzl5V2xvbjBwTFhZVnRiT2RpQVFrWWsyRGlTNTExMnlaRHdPNE9HWExlYnQz?=
 =?utf-8?B?eHRhcnljVTk3MnZ3emdIcjJia0Q2QlE0c1ZCaDNuQUNNWUNJMnFMR0ErNUNn?=
 =?utf-8?B?VUtNU1E1Qmd1QjJsUDVXZ3pKRXd5L2hBRVpYU0lwQ2htNXJZZTRDNEl5cm1H?=
 =?utf-8?Q?5y8JjKwS2iBPB31w=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c9415b76-5007-4acf-75fa-08dec09920f8
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 11:21:44.9745
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QMH5EZ09RNzqPT3OmMIcM+T1Gd4+Bu9sUVmxt4yDhxjVE6I8yi+Vj87ZeKZUtMjKWTifBwxPGLMmOXIxEb+RfnuddZPQNW8eLEw1+dyvRjs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS4PR03MB8155
X-purgate-ID: tlsNG-42698a/1780399308-1976AF3B-684EA8A8/10/73395122804
X-purgate-type: spam
X-purgate-size: 2407

On 25/05/2026 2:20 pm, Oleksii Kurochko wrote:
> The `j` instruction (JAL x0) used in switch_stack_and_jump() is a
> J-type instruction with only a Â±1MB range, and that this can
> be exceeded in some configurations, causing a linker error:
>
>   relocation truncated to fit: R_RISCV_JAL against `<symbol>'
>
> Replace `j` with `jr` (JALR x0) via an explicit register, which has
> unlimited range.
>
> Found in a downstream branch when UBSAN instrumentation was enabled.
>
> Note that the `tail` instruction looks more natural here, but `jr` is
> chosen instead to avoid depending on how the assembler expands `tail`
> and which scratch register it uses (`t1` in GAS), which would need to
> be listed in the clobber section of `asm volatile`.
>
> Fixes: e66003e7be199 ("xen/riscv: introduce setup_initial_pages")
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Reviewed-by: Baptiste Le Duc <baptiste.le-duc@vates.tech>
> ---
> Changes in v2:
>  - Update the commit message and subject
> ---
>  xen/arch/riscv/include/asm/current.h | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/xen/arch/riscv/include/asm/current.h b/xen/arch/riscv/include/asm/current.h
> index 5fbee8182caa..cc004670d18c 100644
> --- a/xen/arch/riscv/include/asm/current.h
> +++ b/xen/arch/riscv/include/asm/current.h
> @@ -51,11 +51,11 @@ DECLARE_PER_CPU(struct vcpu *, curr_vcpu);
>  #define vcpu_guest_cpu_user_regs(vcpu) \
>      (&(vcpu)->arch.cpu_info->guest_cpu_user_regs)
>  
> -#define switch_stack_and_jump(stack, fn) do {               \
> -    asm volatile (                                          \
> -            "mv sp, %0\n"                                   \
> -            "j " #fn :: "r" (stack), "X" (fn) : "memory" ); \
> -    unreachable();                                          \
> +#define switch_stack_and_jump(stack, fn) do {                    \
> +    asm volatile (                                               \
> +            "mv sp, %0\n"                                        \
> +            "jr %1" :: "r" (stack), "r" (fn) : "memory" );       \
> +    unreachable();                                               \
>  } while ( false )

Just as a note, with this simplified again, the \'s can avoid moving, at
which point the diff becomes a single line.

Can be fixed on commit.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 11:26:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 11:26:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324774.1590275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUNFs-0002F7-Tz; Tue, 02 Jun 2026 11:25:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324774.1590275; Tue, 02 Jun 2026 11: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 1wUNFs-0002F0-Py; Tue, 02 Jun 2026 11:25:56 +0000
Received: by outflank-mailman (input) for mailman id 1324774;
 Tue, 02 Jun 2026 11:25:54 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <accek@invisiblethingslab.com>) id 1wUNFq-0002Eq-Kg
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 11:25:54 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUNFp-00ECv7-Tq
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:25:53 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <accek@invisiblethingslab.com>)
 id 6a1ebdb7-e002-0a2a0a5209dd-0a2a4504cda6-46
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 13:25:53 +0200
Received: from [103.168.172.147] (helo=fout-a4-smtp.messagingengine.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <accek@invisiblethingslab.com>)
 id 6a1ebdc0-1dec-0a2a45040019-67a8ac9392f7-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 13:25:53 +0200
Received: from phl-compute-06.internal (phl-compute-06.internal [10.202.2.46])
 by mailfout.phl.internal (Postfix) with ESMTP id E2226EC0764;
 Tue,  2 Jun 2026 07:25:51 -0400 (EDT)
Received: from phl-frontend-04 ([10.202.2.163])
 by phl-compute-06.internal (MEProxy); Tue, 02 Jun 2026 07:25:51 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 2 Jun 2026 07:25: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm3 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=fm3; t=1780399551; x=1780485951; bh=K5sui5quYk
	rRkd/crywcgQCN50nIFLxYLm84oclFdRw=; b=ayNugKqSu3H3snCTRwekpay46H
	/q1KvZ6xA3Sc0Ok9mjJnIlm3LGYCaFCPYzGQXzxWA0JmMbGYq9wkfx4qXgvmx+BW
	9co94M/FQgYm9t5GVzBvHvqw8V4Vo1zNtqMtac9fLd+GCO6Kyh8n0utmzd9/hvJ1
	g49JGS19GB24NhJo4UuQkahq5tFtN+j9+cgDKJ+/rYbQi53pH6O7IxgP5FtHpOib
	99nQsE62fOCEmchxAEdwPYb+hqiNzSn6HSRmH0N3yH6eYMbcGqBP1833AKM6+4bh
	Cjg6iF28uNAwnxEdsAX+cfkodwd3XuvjUWkxeZ2bMRPmDhgQ2o0KqBFWQeBg==
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=1780399551; x=
	1780485951; bh=K5sui5quYkrRkd/crywcgQCN50nIFLxYLm84oclFdRw=; b=P
	dOv8OtP3bG2IXkSY5ITZLu6isRE0ymidKso858/RSm0wNL44N47JW3cfVmqfwKA8
	UH3t8fi79XoWtmWezuT8JirYrGQ5QBKEIQeDixqS+fnclA/oMnhbI8VXGy275S8L
	08CAPeKzRtMc14pw/5yZUziFFq8JQ9WTnnVzF0tP0Xh91atQxeX7FDi815O7zw1l
	CEuuNRgtziQTClnnfJzQYWsYmsj34DAZFSEIOTk5HMnspsnGy3uFxoqx8+bTwn+6
	3XtZqSkpgceGB2QlqD2mqj8rvlOguVsNyGWU8S2sUCW4QnkV7SbQ1nNFSeTD/dzH
	/VCoSdgS8uuUqUK7dwVIA==
X-ME-Sender: <xms:v70eanrc_RurIv_zYRnwkbZtNYfCNDuzGMBw_C7rzNfqv2QIEMrIvg>
    <xme:v70eaoD6Dl7hhTLOEZZ26Zy4SBdtx4bwSWr-iqTOL4-FwzYGrWSLCC91zhBZh4eK0
    TvahEW-kWOVsvmkaQuVru9jGYMBcLzB5SA8CukO6DZZ7Jd-gfw>
X-ME-Received: <xmr:v70eagfKX-zyPu_dV91cetiRD6Ktdg7H-EQJyYkVAeMyAVPSH55TZlNB_k0vAAB9DDpD5A>
X-ME-Proxy-Cause: dmFkZTFtxdGGjPsqUdjVyWik1pHfoBY6CAXMMEMyjtwsgmaKKj1sYm2TMs+yt/0KtV5Rtn
    UQbWtAmI2tpmr+pdLqAH1UN9Xo7veEO3EnW6icGRlT6IKTQXeRl9jEIXwIoWzUazxL+3wQ
    4KgxStVJq37j6XGrAs+++gy74YbcQ0CaLi4aL+eMokbFU4+l5+1LfdLFN5yKd2QBDl5IhG
    Va1tbOrUrrzOMMQKJX+q9g8zPQboz5REFZ9WUC+9BBsRJcF9RgvPousyw1v648cTOSh2a/
    hhy6dAu6tx3oghXa6ObldzboslI0QE/acHqK5TEhIprtUiI2uroPGhFKbmtSLWfwq/wQan
    DeHGgYeQ+Zz5RuseGnxMgDg8kihDRl9rBzb7IM4uN4nO5J5DNTtSib9aP3YsPmXXSGXhiE
    4+LFpF1qYtYAUuEwskYHXW3eWbZMmHVusJazAeVYrx3CqixeM4l8oissT1RkgiXGWiIP/7
    /NIipuYVkHiXlV/pNVkPNgS35/IQZ+Wjg3QZAV/QNm2jIrbzHv5G/CgSxBYoiL2c5lq4m1
    UUDahPqi6oWa3lL3IJeH3qlKKAJvtdDYw/SGzl7Cl0eyIqEWKVvb1kFraSCExaaWgPWETV
    5hWrZsCjbb/U6AR2PsZErCUWv5mMZt+bSTP1CtMOxCzdUU0Y3kITK3+CZuXA
X-ME-Proxy: <xmx:v70eaovuLGoUykVR8R0wr_GPBbRg8LOwuCRJBo_RTKUzcFEmkHuscg>
    <xmx:v70eavh9gJ7Vz6nwLwDmzBdesGqsF_MJHjNt3teLh9TWIjlVzCHjzQ>
    <xmx:v70eaou-LCxF7WoRDn3usf7PlJDh4gEK_gLxQDAt7ziQrtmKj180fQ>
    <xmx:v70eai_mT667FA2nxYxPvXxomOluMe7wJM0q4FHdLkL05ruHPQwzPw>
    <xmx:v70eatnmN3nVPi32oZmKdzLGiVakToL7MAb9xkPTq2fb3ztjVqk6v8eH>
Feedback-ID: i792e4853:Fastmail
Message-ID: <2a8ec9b9-7dd0-444a-9a5c-60d979940b62@invisiblethingslab.com>
Date: Tue, 2 Jun 2026 13:25:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 for-4.22] EFI: Fix boot from a device without a file
 system
To: Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: oleksii.kurochko@gmail.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>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <79d8684ede3bf1e9abe02a2e5ed966a0ecd5949d.1779726979.git.accek@invisiblethingslab.com>
 <a456446d-3dc2-414d-bc33-b5c50c088741@suse.com>
Content-Language: en-US
From: =?UTF-8?Q?Szymon_Aceda=C5=84ski_=28accek=29?=
 <accek@invisiblethingslab.com>
Autocrypt: addr=accek@invisiblethingslab.com;
 keydata= xsDNBGmJ1Z8BDADdvShzHtG3bs7113KifO8WV7c3jPeJO3BcSROA0kwC/Hi/rkmbjAE9Bg/S
 7eG4xt/IJjXixupr05oxgtGywbShiTlI1vliVnQBuyecdisD2VQyvjX19/9hTpcTiFCQWM2E
 NV+YmO/BAx6Cf58dJfqjs3w2IrhghMgs6jf+wE3YxSO/rkCj638HM+qLU1Uqy6xH9y9OiO2t
 thbSnGr27Ik1A6xPpIfCdzSLSWUmebLYkbeFZmJFODar/A4Ox2N28BkxIapLDLjjv6QTy8cj
 7luQc4JihmbLQIBVzvtIpqg/+WmDJO3WPDCAdENlHI1ZuE1f2Ds4IfeKdfvkA8xX8oAzTJlX
 A0+9Gg067NMYR9xVfeHCX/TwN5dIcNoDMgv87655chHn8yrr41aBrwFVVCxEKA7Ua85yqjgg
 NILQsTqBHAmevSLHi5SyTI50vxSfDxRvxwxqZ2PU8ZhjqhG3luexxULbZJQIGCmljflIofj0
 qOBhZeGf061GR9OHqSR/0GUAEQEAAc04U3p5bW9uIEFjZWRhxYRza2kgKGFjY2VrKSA8YWNj
 ZWtAaW52aXNpYmxldGhpbmdzbGFiLmNvbT7CwQcEEwEIADEWIQQrErlGqhZleLHoAFafVAel
 gNZXiAUCaYnVoAIbAwQLCQgHBRUICQoLBRYCAwEAAAoJEJ9UB6WA1leIHbwL/iUzzLl9X38t
 x9z2WnMOwbzcbTObVJyW2E5o32zeJTZW9pJ0g8DHnyXMXsILUhSQ8uH8lNO2TU//LJlplJ6o
 +YBPeejmcZ9Q8jsTXZiIyqbVSIibcrPsO+G/4dCiVV5qDi5bFiGSRJZ1DHGrGTxXcBnv196x
 OYYBwfYuvF0HGba083s3SJbtubyt7UzRuYRVQIRXCbCoI68dqtzttfwEiEJYGLggUKCnHtKn
 rxJbvUpL9snE74q4brDVIh3Yv5OHnS6WSCpFkMxwjgcbSMTI1a1DwSKl9qj4fMZ8mV+/KUj3
 ihtEOZc59HScxVeQWic523EDu53pcCL5fOkcq5m334BG0TKv9UfR4zon09oTQSpfiOQJZUy9
 ZoIV+n1oqQNzZdIp8HdacDC3NMtqH06T4QG6R8AETqCA2HAJzlTeLzH1i0XXUovYUGQBkFVJ
 IUUghZkp2dh7F9yJwIGhgFqnRlKsHhGf18uCbvbv4OPZSLl8uZZXWphubilmQxV491on4s7A
 zQRpidWgAQwA8F1755QKIM7dsgeHpSUDri2enhsw4X/35lg4DsCLy4NQDqSgzbBt7PF0lbrr
 L3k4u1TTdGmzQATkCj0VaN2/uDAE2AcVFCzTU40nl49FLgCnEEqD3VUO1VpHUuqCkpnu/gZM
 kP47t9k7T9nORd8fwqve0jnckk1UzoG8ol81R0/skS7f8k4T9HMK/GU5JLP7Ra31kGkfapwi
 eYmnUAcds1uHmtq0BAlkrUmr8pytehjka+Ok8rTwWB4473KQ8thCDiDMzYgsTC9kZ9SvCZ3v
 ZYB7heaCkQjXNPCUrd0em+ICdxW+m8inSlmOXW0+dtA371WJ/XUP5yB8aFLEGkTO4dfup5qM
 0ADRN+ehiXN+479afBW0TKQqFx/pXmQEaFo87NwxpkbQoloKG/bfsJsCiJxRZXpCPGDx1F3B
 E1ldBI98P1GWclKY+8pHo7GSHW1+TZJ2OOwLoLyk+kpqqJ8mhr6E/GPrtEiY4JdJet9Wk/xM
 yYIY5SmeHsw9wifVK7vjABEBAAHCwPYEGAEIACAWIQQrErlGqhZleLHoAFafVAelgNZXiAUC
 aYnVoAIbDAAKCRCfVAelgNZXiFUqDADOCf/boM1L1dEVbKYhzQo1BZ7EntEHSwB/UzKqeoJT
 JxyLoj5Y3+QC6/9hbKFrbEHGTw7jGtJPL/7Ou1aOBJX+JymGgofOGD+iZRfpo4qWKXzlVX2N
 9w2ObD+4YuFaW8Cdn2AlmB0Ute3jSVYkubGBs4C+vP2wfwJLefn+/AhZ6J/HsRjc7FWO9PKY
 VRTVKL3nn4MlRX3q8VMs8ggB7SORT89RjqzotTHWPUZQhd3rLcqdpAT5P9l7M7xstzwqCkCI
 DXCbTDtos9fF2vlaYS4alo6mFjT6cJOYIxyAhoon38GOMujG3mrzvNeEnnuZjTo8Fym8sDJh
 91k2/5rfajiNtfasbOQN80QiHZjDqGCCSaHXdWIyZGz2H5QLiVxwYlbeHdino/b/ADlcxwqB
 //aL0dOQw1SulpLza/jg0ByxU3o7Z8O5Ui5ApxFiUA2z3mMubxtHWAqz0JMXdCtY781HRiMm
 3KnQZYrxAo+nbJoTkTBL3mACY9bPjKbYCJS5kE4=
In-Reply-To: <a456446d-3dc2-414d-bc33-b5c50c088741@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1780399553-2A37F3FF-12859637/0/0
X-purgate-type: clean
X-purgate-size: 441

On 6/2/26 12:04, Jan Beulich wrote:
> Hmm, did either/both of you try out what happens if you use BUG() or BUG_ON()
> in pre-ExitBootServices() code? Xen's exception handling isn't hooked up yet.
> The crash will likely be rather hard to analyze this way.

Well, that's a good question. Just tested and indeed BUG() so early
results in a hang with no useful output.

I'll replace BUG_ON() with blexit() in v4 in a moment.

Szymon


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 11:36:00 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 11:36:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324782.1590284 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUNPW-00044k-Qs; Tue, 02 Jun 2026 11:35:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324782.1590284; Tue, 02 Jun 2026 11:35: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 1wUNPW-00044d-NL; Tue, 02 Jun 2026 11:35:54 +0000
Received: by outflank-mailman (input) for mailman id 1324782;
 Tue, 02 Jun 2026 11:35:54 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUNPV-00044X-VL
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 11:35:53 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUNPV-00344N-4z
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:35:53 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ec010-2eae-0a2a0a5409dd-0a2a450c9eee-38
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 13:35:53 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ec018-62f1-0a2a450c0019-d155802cd841-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 13:35:53 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-490a7678b2dso21259545e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 04:35:52 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490ab55d39csm37075475e9.35.2026.06.02.04.35.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 04:35: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780400152; x=1781004952; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=jj8xIdwH6J+t/+Au8CpxojqoV9SMt/RvknfyCiSl2s4=;
        b=Q8uKkehvVAXCjL/lQ5m6nWXC73S+fqxMnKe6X1dDLBArBA7oU2DvGxqmviWmZqDbTg
         ax1Rb0wy1dOhdx9jpJzWMN9pRA4g3PdHFbAfQqt76TlXXUbOIx7YL6a9nERmZ+mCgG/a
         2VjD5cSXLRP8UDW2twDStniCjNyWMEjd/C3euJDSct5L7KledAqX6MF8P0wB1+NzD3//
         M0WiF6pNRMImSabb5NpLewzj4OQjXwUoSJLQlmuuuDBA+mGNhicSppamCXJlp/8IDDPC
         c1Utj5JgIpvw87Zw4Zx8IVIf6HREUO0crn7n1DUpCrQoFymleF9MMofOJX1Mki1qukCE
         rqAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780400152; x=1781004952;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jj8xIdwH6J+t/+Au8CpxojqoV9SMt/RvknfyCiSl2s4=;
        b=T9/gdpFQPN1ekMdm2c7sp93RmWeUy8luG/jIvlGm9jLK/xv6c5bIqse2Rklwrom9th
         YB8UzEVBx9u+eKbhf+C6AqiuoPiY1MxpPlmfxj694F533drwKKPnuHFdZeD8Rul3CVeW
         YC90oA8b86vMD4PlnAisXDTNsx2RRkpctqsNOGsjk9I+qilAcPj8aizKDhBa/LTM6B5S
         uFQScNRqBm0jZrQncCMkgELzf5VlFBdwGhgig3jkdBTaMk2YnIAJml1N4JWbtGovevH1
         OOgP+VnIwSXDuQJYQlRFlCwMfKQ+839gSsYy6xeRurJna6VDJpq7NT2iCDtZ62vlCWgf
         CwDA==
X-Forwarded-Encrypted: i=1; AFNElJ/dyn9tSH4elh5kFiNfzlSoZ5vbj7bwfbEsStz2T/pi/HABWYw0Pl+Y+ph+1z+r1SIjCC+EfqRo1EA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyxR5jdaHjH065B1GQg2JHYG/6OA3N+UQEQlWj3xj+kN4vLjGhm
	Oun8niREqNqi4ZUL4lwnV1r9/h8TKQfP/Hsl8ADntRgnRXSF+LVoxwEDJFcTackRWg==
X-Gm-Gg: Acq92OHlfi47MaFdMlRxjyWVdG8MnJHeok3hpMYUsdxCVGJcXYXlyr13VI1oEX42TQX
	Y+XjHsm95N2R6D3Nq70rysytiRE4J3o2k3AumqbCbisnWmH8qFYHgi0OJF320H9eF1ostN/12qI
	tWN+JQzNNuqGY48xGY5ONTjaR1LPZlGfraRXx2gE/xDyiUN6Mz3KXqMXs8/GnFmDmVdm3WlBVcu
	PqVm6aOPwIPi5CeYGkI0vhzvOiD2Qtf+qPpe8c7sYdPD3e5Qy+c7P5GUkBqCkEDOyO/+YTBGCdB
	AoENCANOfziAVeIMgAE+C/0ePSYevHPJTebrShvYifAvWD4Kc/KjpjDS5E0H71I0tEEAhnedlEF
	G4UBwV0zMOshFwAmxJp5QX/h+mq925me/ZY+STVEYvWFvl+sqS56KMVBVEXXnI/mAigkxxOJsCQ
	o8kF54joz57/7R554Dz+mzxWJRl8uXtR/V52Le5zjfX5N66nUkKbkh9zhl8goI34SAzLnlpo9Mq
	PVXGg7aQDU/3cTtxYt11t3glw==
X-Received: by 2002:a05:600c:5309:b0:490:b280:9fe with SMTP id 5b1f17b1804b1-490b2800c3emr32529065e9.26.1780400152489;
        Tue, 02 Jun 2026 04:35:52 -0700 (PDT)
Message-ID: <bb0f007e-697e-4501-97ea-3b59cf494ec6@suse.com>
Date: Tue, 2 Jun 2026 13:35:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 for-4.22] EFI: Fix boot from a device without a file
 system
To: =?UTF-8?Q?Szymon_Aceda=C5=84ski_=28accek=29?=
 <accek@invisiblethingslab.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: oleksii.kurochko@gmail.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>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <79d8684ede3bf1e9abe02a2e5ed966a0ecd5949d.1779726979.git.accek@invisiblethingslab.com>
 <a456446d-3dc2-414d-bc33-b5c50c088741@suse.com>
 <2a8ec9b9-7dd0-444a-9a5c-60d979940b62@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: <2a8ec9b9-7dd0-444a-9a5c-60d979940b62@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1780400153-E2368CF5-EB9BAA58/0/0
X-purgate-type: clean
X-purgate-size: 591

On 02.06.2026 13:25, Szymon AcedaÅ„ski (accek) wrote:
> On 6/2/26 12:04, Jan Beulich wrote:
>> Hmm, did either/both of you try out what happens if you use BUG() or BUG_ON()
>> in pre-ExitBootServices() code? Xen's exception handling isn't hooked up yet.
>> The crash will likely be rather hard to analyze this way.
> 
> Well, that's a good question. Just tested and indeed BUG() so early
> results in a hang with no useful output.
> 
> I'll replace BUG_ON() with blexit() in v4 in a moment.

Well, that'll now need to be an incremental patch, as v3 was committed already.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 11:40:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 11:40:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324789.1590294 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUNTz-0005qM-BO; Tue, 02 Jun 2026 11:40:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324789.1590294; Tue, 02 Jun 2026 11:40: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 1wUNTz-0005qF-7Q; Tue, 02 Jun 2026 11:40:31 +0000
Received: by outflank-mailman (input) for mailman id 1324789;
 Tue, 02 Jun 2026 11:40:30 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wUNTy-0005q9-20
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 11:40:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUNTx-003SaK-A4
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:40:29 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1ec121-2eae-0a2a0a5409dd-0a2a45049a62-32
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 13:40:29 +0200
Received: from [52.101.52.14]
 (helo=BL2PR02CU003.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1ec12b-1dec-0a2a45040019-3465340ef653-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 13:40:28 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by PH0PR03MB6235.namprd03.prod.outlook.com (2603:10b6:510:ed::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.48.18; Tue, 2 Jun 2026
 11:40:25 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 11:40: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=U5Lg0ZmVHTRhOxgAf7kD2u6y10PXM1uDanwJlFQVkXIF+yU51w1atnELciXW7IyI9RW2gFz4m7h6APYyT79/TCuLw9z9ROwRxA+iUBMWMUD3xPFRxiU2IIY7zWsxuoe3MUvstl1/DIARY48YqeB8lEGSbRsyIPXhad835aYVcOY/v9ri57HlY7p1JhhvmWyA8lSJgUrW92FCTC5VdE+S2ZndNWd3oNN5fEbyRUh00mILJ5ToBlyyJyWs3E5RoX0sKLAmbK/CjJajUdAKdS6vWb6YDkLW4TmxkGaWeERbdWeiSEUWgzuieSU4OkdSb8pryszjUAEgLHK3RxX12hmUow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SlNgACLTZDlzRA7+/Fey+BnzeUCXoDk1XPlPyUiZvp0=;
 b=mg+CmoMLiDvMAERzy7Sxk+Z+jb/9q2IT3wZvJnge9OPI655A2xFuEGT9PGXv/K7sWvJkH75izatVOX3g/HTwFDMuLaRLfNIaDHQMokvDuGJ+zrvRzL2YgWP1FFLvOoDnykg8tBqvcMXqw007zhPsOuHnHS9QHC2SavO4bvprKaKp7aharoiF+74/IXY8xSyYkqM4/LouDMrd/ro6bLyWBdaLJxXVDmDg1m3N40stVyOI6gXFYDnAhgbGAE7abcA2K8bnaI5KAHMg6EY5AD9tBp9cAelaGPAIClKwim7gbnWMUrEYIFyg53xFTJGhCuvFFJdsydlJLNsufwf6nWe2pQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SlNgACLTZDlzRA7+/Fey+BnzeUCXoDk1XPlPyUiZvp0=;
 b=XonPlr9L7xhyPMWdE9IQWmdCXRJ1GI1E3r7RRQ5kP6465JVBdlNgYSUcFjK8SYkc24EMAoR+pOh1qICjUbVduZgyb08lHGzK3vDOM2MFq6qsJrRXqCDtG5w21FmPxyTMK7JIbCV/Zdsq2BNJI9OouanfI8K+3V4P/zBquTRsAuM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 2 Jun 2026 13:40:20 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Bernhard Kaindl <bernhard.kaindl@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	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>,
	Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
	Marcus Granado <marcus.granado@citrix.com>
Subject: Re: [PATCH] xen/mm: avoid watchdog timeout in dump_numa() on large
 domains
Message-ID: <ah7BJEqu7bi5pN5J@macbook.local>
References: <10d8309efdb878a3b615a7daca2bb5209525cb37.1780390167.git.bernhard.kaindl@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <10d8309efdb878a3b615a7daca2bb5209525cb37.1780390167.git.bernhard.kaindl@citrix.com>
X-ClientProxiedBy: MR1P264CA0184.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:58::6) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|PH0PR03MB6235:EE_
X-MS-Office365-Filtering-Correlation-Id: c31b8fa8-031c-44ab-1130-08dec09bbc39
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|22082099003|18002099003|6133799003|11063799006|56012099006|5023799004|3023799007;
X-Microsoft-Antispam-Message-Info:
	rOqe7vMN8kSodYmXiM7MJhCOuxX8FQYzP7G1oArh0sOXJZ2EDgLPoJUqxqRU0gfN/iHnY52gb9MGG8+uKMnvZa+Jn3nn8OVnJosQ/RXlY1AdxD+qIcV6nVSN/h5p2fvNcEUAaW7Kwk69hwwWWcKctg5ZlcQcceZ+jlFQR1U/N8AHjw9M2H6UpiEn/cluI+qYp1IOpNeU4qFOBzFItddrveWdbYxaF3NpHjIa/ES95TKxDtFsn3x6Oi0BA6bfcW0937T5+Z4aDIsqmXTOgeG8le/szC7YD0dM9pQYCVnfrKh8A7igYVZBzGwPjTCU/I4mMPTiMUgS4DHGrPlZd0hSfJKVZWci/fLH8cZR0JpLif7G1OnC/FUIHiBXcEvCK2nJS7Mhgi9bEOOL7tvGNgGU7AcRmsFXFOxXiFciJmcdoxzkOgTI56h9+xD1MM6WXpye5gJEeq+lvXRVN7gJ3L2eL5yO+p+jRCJhUug1189P5myGLOKu3iEuXfHthaJmhWXMFdu1TJGxqxp8RHPa8k6zq2F6kX0xFrRdgSwtY/xBIIoOfmdSr/yKamq/Y8c510/smhXAxj2lavvTMRg0XtzPBDkQMG9HOwJAlXdYt3265xE18gYdYnZ5imDMjQ25nh9GP++w4piVYGx6UtqwqeBCIa2Sjm/jsV21ap4uW98COZ/L6A2WKOMyVl2Wu4UnCIAk
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(22082099003)(18002099003)(6133799003)(11063799006)(56012099006)(5023799004)(3023799007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VGF6WHZpOWxWL3pMZ2Q0M0xteXd1TVIxQnZwaktsU0RQVXV0OTVrRi9pdm8z?=
 =?utf-8?B?SHdKNzVNdEVMOEd0ampQUkswa3AzaHlaN2o0TDNhQm1Zazc4KzJ4Vk1XZzRU?=
 =?utf-8?B?V2I2ZE9sUEpvSG5BN2VwYU5WZlgvMEdsajQyeU5XRjYwemw5US90THFZV091?=
 =?utf-8?B?K3FkZnozdUdmcWRxejlvb0tFYmhVY0xNbnVuN01mUzJpNnkyMDBDUnU0TmhZ?=
 =?utf-8?B?am5vZndSV3ViT3RJTEpaWXJVeVpLYnVyazkyaExnZlp6WVRLSlZlZG5LR3pa?=
 =?utf-8?B?dUFhSGFaMUhucHZHTEYrZ2dRdnNCVzdHVnp2YUc4c1pndmxhckhpY0MyLzZx?=
 =?utf-8?B?OTlObVZMVXV0b24wYmF2Y0tXTDlmK3B3V0ZPMDZZd2lyeGR2VjJWajFIUTF4?=
 =?utf-8?B?a0c0SHdzMUk4eFNsTCtwQ2RaOW1obC9taHFuejhnNHJoV3JoVmxadGpmY3E2?=
 =?utf-8?B?VUFvOGNhZkZseGVNa2NFcHFoWFBMTElrS0w2WGR1c0o0RlpsM3p6Sk5RdDNB?=
 =?utf-8?B?MFJqdGl5OFdJbkd6MmRLZk5CajM4dlFDZE5sWUpiTjdFTXc5cDlqMWRuelln?=
 =?utf-8?B?QXZ4Wm1UOFUzQkRjSEs1VHU0R09uRUF6SGNnYkpZWFVGd2s5cG1TbnpUNkNB?=
 =?utf-8?B?cWVXUDJvTm9SSytJT1djT3hYVWFwRE9zNTFab20rYk5CVVR1OVFqV3MwNWQy?=
 =?utf-8?B?OGgrc0x0NWlIZGk5S0p3aGhrL1NFcTk3cEVneVpLRkhSeW1EZUhpVVB2V3Zp?=
 =?utf-8?B?ZklxemJEV3pPVWtVQ0FXcW42WStVOHRJeEluZ0NDN2todW1hMDdmcTlIcWli?=
 =?utf-8?B?L0dWVWUzRFNvWCttTWY1dHcvOENhdk9LTkVpUCswTTBoQVhLU1g3QVF1N2Nk?=
 =?utf-8?B?V0k0bC9qT1JhVWhRYUlKdm55RXYvdDJnY3RCN21LYWM0bTlxTVlwL0NGamdt?=
 =?utf-8?B?UkE0TnRWOHBhdHNSdk1hcUlZQU1VQlJJRHB5VkhRME5DeFdsaGFNN1BibXBS?=
 =?utf-8?B?RUlRTXlud1JmZ2YyZ3RxTzJCN1Vmc0VKWHJyU1ZYZjhqZzZwa3d5VzdMemkx?=
 =?utf-8?B?Y1BnQkMxTmRqSjVqYUE2c085RGV1L3I5QS9KQ2lRbktGbXVKSXd4SzhxRWQw?=
 =?utf-8?B?cXU4OXk2V3p2Q2xrYWtGanZ3TE9zdnBTQ0dkMVl6QWdmeHVFdVFlb3RCamox?=
 =?utf-8?B?V0dZVzF6b1crR1FibjBWeW5zcmFtWUtCa1d0NzVLOVFWM0dQaVlsdDlxYjBV?=
 =?utf-8?B?RCtSNlBwN3FMb2k5YVEzYUhoK3Q5YTRGK1UxK3FzUERRUytYVzdnSGQ3dllW?=
 =?utf-8?B?Rnl2aE9La1NMRmRJN2xPbTJjZWltdDg1T2lmMFFrVCtWM0tjbGRaNjRwdVRv?=
 =?utf-8?B?Y253aXZFUVBKSzRrSTVQRzNQVi9lUGw0K3Brc2lKa0hqcDA3NFBGL0RwWGJF?=
 =?utf-8?B?dHh1WXdsaHQ5cktyNzN6VHdjVWMzQms5eWZxYWM1YklTUFBlQ0tGek5tQmZI?=
 =?utf-8?B?M2Qwa2tBZWtnN1BON1Jka0pxekswMHNDUHhYdWtLV0M0UFhycVRYMnJXSFZC?=
 =?utf-8?B?cC90RmJ3SmE5NXE1a3RrYkw1MDVlRHdxTGtZVGFrWkN6ZzZnTmFVWDhBeWJQ?=
 =?utf-8?B?UFY2UkhONWVHL2hjMy9CUHl0ZkhyMXkyNmR3am5DSkNhdk03QmJpYzQzcG5H?=
 =?utf-8?B?YUdiV3NZQTFRWnRVQTNrV2JJMzI2U3hPVi9lcHZleklLdEVqa0tIQTdScHBC?=
 =?utf-8?B?b3ZTV3dOTFp6aTF4a2FvS1lrejRUN3YrT3lBSU82UENSQ0ZrVG5FdUZnUjRm?=
 =?utf-8?B?SS9VQkpVOWlzbXVwdTJJaVRlWDNTWlM0WkJRaDZpT0hBc0F6KzE3QU5jQ0FK?=
 =?utf-8?B?WnkwRkxJc2pvaXdEYm1aTHdMTXJBN2o2ZWlDSzNzbFA5U3dkdjlJbXJJWmwy?=
 =?utf-8?B?akpZc25Wck5MSjl0b1FhVVlCR2ljM3V2SE1FbHNXeUFjbHdSSTgrVU0vbnBY?=
 =?utf-8?B?VHllazJ4dVF5ZEtRcGhGUDFHcmtBeW9mOC9vb1JJQnRHS3BGYkZKTVA0aVpw?=
 =?utf-8?B?cVNaMzVEaTRQZ3FQNXBlU1phWXozT1JUWnlLa1hwU0hDejU4VndEN0VQVDJp?=
 =?utf-8?B?T2YrSFFmNWdGNUxOYmdPVHZKMU85THIzczQrSlhRQ1BjWE5TR0Z4cDRlU1hJ?=
 =?utf-8?B?REg5c2djdjNlcitMV0RsM2szMmFIN3VCRXFOa1g0aHM1M3hacjNaQUNEWE5Q?=
 =?utf-8?B?WWJDZUdTM01ZOENYY0V1NEEvckdncW96NVFPc2lHQ2hOMU44eitpWVVZR1BV?=
 =?utf-8?B?RmlFRktjTjhwMElwYmhLc0laNERaeG1iTE5tMUN1UjZ1VUh0a3A3QT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c31b8fa8-031c-44ab-1130-08dec09bbc39
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 11:40:24.5842
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xSgnhR8lDav5hVZSMPAPQgFT4BiDNHgMAGi9HvBSF+xRq8Zh/SjjAj5nmM0XI3bxTH1oisnxLF5k+8USoIe+eg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6235
X-purgate-ID: tlsNG-ebf023/1780400429-491763FF-EF23B9F3/0/0
X-purgate-type: clean
X-purgate-size: 24646

Hello,

This is missing a "From:" line that matches the first SoB in the
command message, if nit doesn't match the sender (which is the case
here).

On Tue, Jun 02, 2026 at 09:49:50AM +0100, Bernhard Kaindl wrote:
> Using the 'u' debug key invokes dump_numa(), which walks each domain's
> page list under page_alloc_lock to compute per-NUMA-node counts. On
> domains with many pages, this O(pages) operation can hold the lock long
> enough to trigger a watchdog timeout.
> 
> Replace the page-list walk with node_tot_pages[], a per-node counter
> maintained in struct domain. This reduces dump_numa()'s per-domain work
> from O(pages) to O(nodes).
> 
> Accounting via domain_adjust_tot_pages()
> 
> Most page-count updates flow through domain_adjust_tot_pages(). The
> helper takes the affected NUMA node and updates both tot_pages and
> node_tot_pages[node] in the same locked critical section.
> 
> A debug-only helper, assert_numa_page_count(), checks after each locked
> update that the node totals sum to tot_pages.
> 
> Accounting in memory_exchange()
> 
> memory_exchange() cannot use the same helper. It is preemptible, may
> fail and roll back part way through a chunk, and does not hold
> page_alloc_lock for the whole operation. The final success-path value of
> tot_pages is unchanged: by construction, the number of input pages stolen
> equals the number of output pages assigned. domain_commit_page_deltas()
> still applies the accumulated deltas to tot_pages, but their sum is zero.
> 
> Instead, it accumulates deferred per-node deltas in
> node_tot_pages_adjustments[] for the current chunk:
> 
>   When steal_page() is called with MEMF_no_refcount, tot_pages is
>   intentionally not decremented. A decrement of 1 is recorded for the
>   input page's node.
> 
>   When assign_page() is called with MEMF_no_refcount, tot_pages is
>   intentionally not incremented. An increment equal to the number of
>   pages in the output extent is recorded.
> 
> At the end of a successful chunk, these deltas are committed under
> page_alloc_lock. The net tot_pages delta is zero, while node_tot_pages[]
> is updated to reflect the NUMA-node movement.
> 
> Correctness on failure paths:
> 
>   Invariant 1: Pages allocated with MEMF_no_owner are not counted in
>   tot_pages until assign_page() succeeds. Freeing such pages with
>   free_domheap_pages() is therefore accounting-neutral.
> 
>   Invariant 2: Pages stolen with MEMF_no_refcount remain counted in
>   tot_pages until the deferred adjustment is committed. No window
>   exists in which a stolen page is absent from d->page_list and
>   already subtracted from tot_pages.
> 
> These invariants cover the failure cases:
> 
>   Input-side failure before output allocation: any input pages already
>   stolen are still on in_chunk_list. The fail path attempts to assign them
>   back to the domain. A successful reassign cancels the earlier negative
>   delta; if the reassign fails because the domain is dying, the negative
>   delta remains and is committed, reflecting that the page has been freed.
> 
>   OOM during output allocation (alloc_domheap_pages() returns NULL):
>   output pages already allocated before the failure are on out_chunk_list,
>   have no owner, and have never been counted in tot_pages. Freeing them
>   does not change accounting. Stolen input pages are handled as above:
>   reassignment cancels their negative deltas, while unreassigned pages are
>   deducted because the domain is dying.
> 
>   assign_page() failure because the domain is dying: output pages
>   assigned before the failure remain accounted to the domain and are
>   reclaimed later by domain_relinquish_resources(). The accumulated
>   deltas therefore contain positive entries for the successful output
>   assignments and negative entries for all stolen input pages.
>   Committing the net delta to both tot_pages and node_tot_pages[] leaves
>   the accounting consistent with the pages the domain still owns.
> 
>   Post-assignment failure in guest_physmap_add_page() or while copying the
>   new frame number back to the guest: at this point the output extent has
>   already been assigned to the domain and the input pages for the chunk
>   have already been freed. Input and output page counts are therefore
>   equal, so the committed update only redistributes per-node counts and
>   leaves tot_pages unchanged.

This commit message is way, way, too long and dense.  We need to
exercise some restrain and summarize the important bits.

> A functionally equivalent version of this change is included in the
> XenServer 9 pre-release and is widely exercised there. Debug Xen
> builds with the added consistency checks are also used in internal
> end-to-end regression testing (XenRT). For upstream submission, the
> change was additionally updated to support non-NUMA Xen builds and
> reviewed again for correctness, including the failure paths.

IMO the mentioning of XenServer 9 or XenRT should be a post-commit
message.

> Fixes: 4dff228603ba ("Walking the page lists needs the page_alloc lock")
> Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>

It's not acceptable to change the original SoB, Alejandro SoB on this
patch is:

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

And it must be kept this way.

> Signed-off-by: Marcus Granado <marcus.granado@citrix.com>
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
> ---
> Brief history of this code base: Work was started by Marcus Granado,
> adding per-node accounting to domain_adjust_tot_pages() using work
> by Alejandro Vallejo <alejandro.garciavallejo@amd.com> as basis.
> 
> In a 2nd phase, Bernhard Kaindl and Roger Pau MonnÃ© implemented
> accumulating of per-node deltas in memory_exchange(), including
> handling across failure paths and consistency checks of the page
> counters after each update with CONFIG_DEBUG enabled. Bernhard
> updated dump_numa() to replace walking d->page_list under lock
> and Roger fixed handling of hypercall preemption. Andrew Cooper
> participated in this phase as well and Joash Robinson tested using
> end-to-end tests exercising debug-key 'u' and checking its output.
> 
> In a 3rd phase, Bernhard Kaindl added explanatory comments, prepared
> this commit message for review, fixed a failure path that can occur
> when memory_exchange() fails mid-exchange due to OOM, fixed the code
> for non-NUMA builds and consolidated loops that apply accumulated
> deltas into a single helper.

Why do you speak of yourself in 3rd person on the post-commit remark?

> ---
>  xen/arch/x86/mm.c             |  3 +-
>  xen/arch/x86/mm/mem_sharing.c |  4 +-
>  xen/common/domain.c           |  9 ++++
>  xen/common/grant_table.c      |  4 +-
>  xen/common/memory.c           | 79 +++++++++++++++++++++++++----------
>  xen/common/numa.c             | 14 +------
>  xen/common/page_alloc.c       | 40 ++++++++++++++++--
>  xen/include/xen/mm.h          | 12 +++++-
>  xen/include/xen/sched.h       | 24 +++++++++++
>  9 files changed, 143 insertions(+), 46 deletions(-)
> 
> diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
> index a158379e7734..a723a2c50a2f 100644
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -4445,7 +4445,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, page_to_nid(page), -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 5c7a0ff30e8b..89ae418be0ae 100644
> --- a/xen/arch/x86/mm/mem_sharing.c
> +++ b/xen/arch/x86/mm/mem_sharing.c
> @@ -723,7 +723,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, page_to_nid(page), -1);
>          page_list_del(page, &d->page_list);
>      }
>  
> @@ -769,7 +769,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 8cb4241b0511..0b6afba2acdb 100644
> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -1558,6 +1558,15 @@ void domain_destroy(struct domain *d)
>      /* Remove from the domlist/hash. */
>      domlist_remove(d);
>  
> +    /*
> +     * Final invariant check: all pages still owned by the dying domain must
> +     * be accounted for per-node before complete_domain_destroy() reclaims
> +     * them.  Debug-only; expands to a no-op in production builds.
> +     */

This should be a single line comment if anything:

/* Ensure per-node page counts match global one. */

> +    nrspin_lock(&d->page_alloc_lock);
> +    assert_numa_page_count(d);
> +    nrspin_unlock(&d->page_alloc_lock);
> +
>      /* Schedule RCU asynchronous completion of domain destroy. */
>      call_rcu(&d->rcu, complete_domain_destroy);
>  }
> diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
> index ac9fed600101..298662c3d69e 100644
> --- a/xen/common/grant_table.c
> +++ b/xen/common/grant_table.c
> @@ -2404,7 +2404,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);
>  
>          /*
> @@ -2430,7 +2430,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, page_to_nid(page), -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 9e4899f9fc63..00eeaf33aefc 100644
> --- a/xen/common/memory.c
> +++ b/xen/common/memory.c
> @@ -673,6 +673,14 @@ static long memory_exchange(XEN_GUEST_HANDLE_PARAM(xen_memory_exchange_t) arg)
>      struct domain *d;
>      struct page_info *page;
>  
> +    /*
> +     * Deferred accounting for the current exchange chunk.  Keep it at
> +     * function scope because the fail: path also needs to commit or cancel
> +     * partial work.  domain_commit_page_deltas() clears applied entries, so
> +     * each new chunk starts with a zeroed accumulator.

This is way to verbose: you don't need to mention it must be kept at
function scope, as it's obvious by it's usage.  Regarding the zeroing,
you might also zeor at the start of each chunk, and avoid doing it in
domain_commit_page_deltas() if you think that would be clearer (and
forego the need of a comment to clarify).

> +     */
> +    long node_tot_pages_adjustments[MAX_NUMNODES] = {};
> +
>      if ( copy_from_guest(&exch, arg, 1) )
>          return -EFAULT;
>  
> @@ -822,6 +830,12 @@ static long memory_exchange(XEN_GUEST_HANDLE_PARAM(xen_memory_exchange_t) arg)
>                  }
>  
>                  page_list_add(page, &in_chunk_list);
> +                /*
> +                 * steal_page() with MEMF_no_refcount removes ownership but
> +                 * leaves the domain page counts unchanged; record the
> +                 * deferred -1 for this page's node.
> +                 */
> +                node_tot_pages_adjustments[page_to_nid(page)]--;
>  #ifdef CONFIG_X86
>                  put_gfn(d, gmfn + k);
>  #endif
> @@ -870,32 +884,31 @@ static long memory_exchange(XEN_GUEST_HANDLE_PARAM(xen_memory_exchange_t) arg)
>              if ( assign_page(page, exch.out.extent_order, d,
>                               MEMF_no_refcount) )
>              {
> -                unsigned long dec_count;
> -                bool drop_dom_ref;
> -
>                  /*
> -                 * Pages in in_chunk_list is stolen without
> -                 * decreasing the tot_pages. If the domain is dying when
> -                 * assign pages, we need decrease the count. For those pages
> -                 * that has been assigned, it should be covered by
> -                 * domain_relinquish_resources().
> +                 * Input pages for this chunk were stolen and freed without
> +                 * decreasing tot_pages.  Output extents already assigned
> +                 * before this failure will be released later by
> +                 * domain_relinquish_resources().  Commit the relative deltas
> +                 * now so concurrent reservation changes made under
> +                 * page_alloc_lock are preserved.  The net delta is strictly
> +                 * negative on this branch, so a zero post-commit tot_pages
> +                 * means the last reference must be dropped.
>                   */
> -                dec_count = (((1UL << exch.in.extent_order) *
> -                              (1UL << in_chunk_order)) -
> -                             (j * (1UL << exch.out.extent_order)));
> -
> -                nrspin_lock(&d->page_alloc_lock);
> -                drop_dom_ref = (dec_count &&
> -                                !domain_adjust_tot_pages(d, -dec_count));
> -                nrspin_unlock(&d->page_alloc_lock);
> -
> -                if ( drop_dom_ref )
> +                if ( !domain_commit_page_deltas(d, node_tot_pages_adjustments) )
>                      put_domain(d);
>  
>                  free_domheap_pages(page, exch.out.extent_order);
>                  goto dying;
>              }
>  
> +            /*
> +             * assign_page() with MEMF_no_refcount gives ownership without
> +             * updating the domain page counts; record the deferred extent
> +             * size for this output node.
> +             */
> +            node_tot_pages_adjustments[page_to_nid(page)] +=
> +                1UL << exch.out.extent_order;
> +
>              if ( __copy_from_guest_offset(&gpfn, exch.out.extent_start,
>                                            (i << out_chunk_order) + j, 1) )
>              {
> @@ -915,8 +928,19 @@ static long memory_exchange(XEN_GUEST_HANDLE_PARAM(xen_memory_exchange_t) arg)
>          }
>          BUG_ON( !(d->is_dying) && (j != (1UL << out_chunk_order)) );
>  
> +        /*
> +         * If publishing output GFNs failed after assignment, fail: still
> +         * needs to commit the zero-net per-node redistribution.
> +         */
>          if ( rc )
>              goto fail;
> +
> +        /*
> +         * Success: commit the per-node redistribution.  The helper also
> +         * applies the deltas to tot_pages; the final value is unchanged
> +         * because the exchange is size-neutral.
> +         */
> +        domain_commit_page_deltas(d, node_tot_pages_adjustments);
>      }
>  
>      exch.nr_exchanged = exch.in.nr_extents;
> @@ -925,22 +949,31 @@ static long memory_exchange(XEN_GUEST_HANDLE_PARAM(xen_memory_exchange_t) arg)
>      rcu_unlock_domain(d);
>      return rc;
>  
> -    /*
> -     * Failed a chunk! Free any partial chunk work. Tell caller how many
> -     * chunks succeeded.
> -     */
> +    /* Failed a chunk.  Free partial work and report completed chunks. */
>   fail:
>      /*
>       * Reassign any input pages we managed to steal.  NB that if the assign
>       * fails again, we're on the hook for freeing the page, since we've already
> -     * cleared PGC_allocated.
> +     * cleared PGC_allocated.  A successful reassignment cancels the -1 that
> +     * was recorded when the page was stolen.
>       */
>      while ( (page = page_list_remove_head(&in_chunk_list)) )
> +    {
>          if ( assign_pages(page, 1, d, MEMF_no_refcount) )
>          {
>              BUG_ON(!d->is_dying);
>              free_domheap_page(page);
>          }
> +        else
> +            node_tot_pages_adjustments[page_to_nid(page)] += 1;
> +    }
> +
> +    /*
> +     * Commit remaining deltas.  If all stolen pages were reassigned, this is
> +     * a zero-net update.  Otherwise the domain is dying and unreassigned
> +     * pages are deducted.
> +     */
> +    domain_commit_page_deltas(d, node_tot_pages_adjustments);
>  
>   dying:
>      rcu_unlock_domain(d);
> diff --git a/xen/common/numa.c b/xen/common/numa.c
> index ad75955a1622..9f38145579e0 100644
> --- a/xen/common/numa.c
> +++ b/xen/common/numa.c
> @@ -737,26 +737,14 @@ static void cf_check dump_numa(unsigned char key)
>      printk("Memory location of each domain:\n");
>      for_each_domain ( d )
>      {
> -        const struct page_info *page;
> -        unsigned int page_num_node[MAX_NUMNODES];
>          const struct vnuma_info *vnuma;
>  
>          process_pending_softirqs();
>  
>          printk("%pd (total: %u):\n", d, domain_tot_pages(d));
>  
> -        memset(page_num_node, 0, sizeof(page_num_node));
> -
> -        nrspin_lock(&d->page_alloc_lock);
> -        page_list_for_each ( page, &d->page_list )
> -        {
> -            i = page_to_nid(page);
> -            page_num_node[i]++;
> -        }
> -        nrspin_unlock(&d->page_alloc_lock);
> -
>          for_each_online_node ( i )
> -            printk("    Node %u: %u\n", i, page_num_node[i]);
> +            printk("    Node %u: %u\n", i, d->node_tot_pages[i]);

You are not holding any lock here (which I guess it's fine, because
this is just debug info), and hence you could call
process_pending_softirqs() while iteration over the nodes if you think
this might be an issue, ie:

nodeid_t nr = 0;
[...]
for_each_online_node ( i )
{
    printk("    Node %u: %u\n", i, d->node_tot_pages[i]);
    if ( !(++nr % 0x3f) )
        process_pending_softirqs();
}

>  
>          if ( !read_trylock(&d->vnuma_rwlock) )
>              continue;
> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> index 1801afc96a0a..ab6f44a3f993 100644
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -520,14 +520,45 @@ static unsigned long avail_heap_pages(
>      return free_pages;
>  }
>  
> -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;
>  
> +#ifdef CONFIG_NUMA
> +    ASSERT(node != NUMA_NO_NODE);
> +    ASSERT(node_online(node));
> +    d->node_tot_pages[node] += pages;
> +    assert_numa_page_count(d);
> +#endif
> +
>      return d->tot_pages;
>  }
>  
> +unsigned long domain_commit_page_deltas(struct domain *d,
> +                                        long adjustments[MAX_NUMNODES])
> +{
> +    unsigned long tot_pages;
> +    nodeid_t node;
> +
> +    nrspin_lock(&d->page_alloc_lock);
> +    for_each_online_node ( node )
> +        if ( adjustments[node] )
> +        {
> +#ifdef CONFIG_NUMA
> +            d->node_tot_pages[node] += adjustments[node];
> +#endif
> +            d->tot_pages += adjustments[node];
> +            adjustments[node] = 0;
> +        }
> +    assert_numa_page_count(d);
> +    tot_pages = d->tot_pages;
> +    nrspin_unlock(&d->page_alloc_lock);
> +
> +    return tot_pages;
> +}
> +
>  #ifdef CONFIG_SYSCTL
>  void get_outstanding_claims(uint64_t *free_pages, uint64_t *outstanding_pages)
>  {
> @@ -2924,7 +2955,7 @@ int assign_pages(
>              goto out;
>          }
>  
> -        if ( unlikely(domain_adjust_tot_pages(d, nr) == nr) )
> +        if ( unlikely(domain_adjust_tot_pages(d, page_to_nid(pg), nr) == nr) )
>              get_knownalive_domain(d);
>      }
>  
> @@ -3066,7 +3097,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, page_to_nid(pg),
> +                                                    -(1 << order));
>  
>              rspin_unlock(&d->page_alloc_lock);
>  
> @@ -3274,7 +3306,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, page_to_nid(page), -1);
>  
>      unprepare_staticmem_pages(page, 1, scrub_debug);
>  
> diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
> index b3a35c4bc8d6..0737df02eda2 100644
> --- a/xen/include/xen/mm.h
> +++ b/xen/include/xen/mm.h
> @@ -68,6 +68,7 @@
>  #include <xen/types.h>
>  #include <xen/list.h>
>  #include <xen/spinlock.h>
> +#include <xen/numa.h>
>  #include <xen/perfc.h>
>  #include <public/memory.h>
>  
> @@ -131,7 +132,16 @@ 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);
> +                                                   nodeid_t node, long pages);
> +/*
> + * Commit accumulated per-node page deltas to d->tot_pages and (under NUMA)
> + * d->node_tot_pages[] under page_alloc_lock.  Applied entries are cleared
> + * so the same accumulator can be reused for the next batch.  Returns the
> + * post-commit value of d->tot_pages; callers that may be releasing the last
> + * reference on the domain should drop it when the return value is zero.
> + */
> +unsigned long domain_commit_page_deltas(struct domain *d,
> +                                        long adjustments[MAX_NUMNODES]);

Given the (current) usage of domain_commit_page_deltas() it might be
better to simply return bool to signal whether the domain reference
should be released?  Callers don't care about the exact amount of
pages.

>  int domain_set_claim_entries(struct domain *d, uint32_t nr_entries,
>                               const struct xen_memory_claim *claim_set);
>  int domain_get_claim_entries(struct domain *d, uint32_t *nr_entries,
> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> index f671e0c4c7b3..ae50f523e9f5 100644
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -620,6 +620,11 @@ struct domain
>      unsigned int last_alloc_node;
>      spinlock_t node_affinity_lock;
>  
> +#ifdef CONFIG_NUMA
> +    /* Distribution of tot_pages across NUMA nodes. */

It would be helpful to note this array is protected by the
page_alloc_lock lock.

> +    unsigned int node_tot_pages[MAX_NUMNODES];
> +#endif
> +
>      /* vNUMA topology accesses are protected by rwlock. */
>      rwlock_t vnuma_rwlock;
>      struct vnuma_info *vnuma;
> @@ -698,6 +703,25 @@ static inline unsigned int domain_tot_pages(const struct domain *d)
>      return d->tot_pages - d->extra_pages;
>  }
>  
> +/*
> + * Debug-only consistency check: the per-node page counts must sum to
> + * d->tot_pages.  Compiled out unless both NUMA and debug builds are
> + * configured; caller must hold page_alloc_lock.

This is way too verbose, and not very helpful.  It's obvious from the
guards below that the code is compiled out unless NUMA and DEBUG are
enabled.  I would just write:

/* Consistency check: ensure tot_pages == sum(node_tot_pages[]) */

> + */
> +static inline void assert_numa_page_count(const struct domain *d)
> +{
> +#if defined(CONFIG_NUMA) && defined(CONFIG_DEBUG)
> +    unsigned int i, node_total = 0;

i might be nodeid_t if we want to be type-accurate.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 11:42:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 11:42:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324795.1590302 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUNVd-0006Oq-NT; Tue, 02 Jun 2026 11:42:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324795.1590302; Tue, 02 Jun 2026 11:42:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUNVd-0006Oj-Kh; Tue, 02 Jun 2026 11:42:13 +0000
Received: by outflank-mailman (input) for mailman id 1324795;
 Tue, 02 Jun 2026 11:42:12 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUNVc-0006Nm-4F
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 11:42:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUNVb-00EGVc-Gc
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:42:11 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ec184-bab6-0a2a0a5309dd-0a2a4509d42a-48
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 13:42:11 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ec193-2497-0a2a45090019-d155802ce0e1-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 13:42:11 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-49050ff7cbdso103656675e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 04:42: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-490b0daefbbsm105671295e9.0.2026.06.02.04.42.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 04:42:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780400531; x=1781005331; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=GVc0tX+OXPCkpJjmWlTtFc6FxKFLyyCjU+eV6tiptFM=;
        b=QHniAofOML8lf0t7IFg6oDvja8w/Q107377XYEEB6nPo13/QHiljdzLY9jzHoS118t
         sypIaJUbkFpVpFFmEHVfC+Wk8i0CFiMO4NdVj4T+GbRtUkyLtH4ecYpdeeV7Jur00KIc
         nei42CLw2PszfxeqiQFbWYg5CEQvl4RTjRMexaAZgJkCA4Carap/tTqlf+nTpIBjrVF1
         Io2RdTLDbPMbNViGao6Mh0vOCQsAuNceDnOxo7PoPy2LdXAgsNqRmPrL8aq5q16UiVVj
         NlAJcHm+Rd8UFH8TbEHE3ZIllQNg9ZpIb9YmOBDNNKU2loddKTSwCr28s6WYqc916KY2
         te1w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780400531; x=1781005331;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GVc0tX+OXPCkpJjmWlTtFc6FxKFLyyCjU+eV6tiptFM=;
        b=iHOxW4ri2U3hcf6bDg0tw14wOvPOylCjiGeLGo+ITrSybImi7VKMmSoFJCejNd3qd+
         KCChrHbl+TGmrXbbfXSFDdeOKAZ82bTr6R/3DtNQIZosqnQUtY7aCw4bsu31tdZzkOtE
         FbMgidffKMTIioHc3D15jc08ZAzo8GjJZNoWTV0KnOywp1tdRsDf6tXx6ImLSL1rqWSQ
         i8ZLFTT5MAmJ6W1APiC/GnZAhP8ZRPIklX/DdR7MRP/qq5vxlBVO7/dL0QK1RhO78R9X
         taKxOigghWAY1i6IEAqElMViCn9hFvq+lgJwqr6mtIib1Z5mMdHTMCjo4RJmX0V6N9Vv
         rqqw==
X-Forwarded-Encrypted: i=1; AFNElJ9eOqjM1bT2pI+vDACUbZ3GlD/xeo4UCMr7SEFuz74SwZFtb9hAqWT12LBhy0vs+NDHZPbF3D+vGRA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwJAQ9jAy7aVC0VHFO9ytcsHN/Jw3Q/BqRnWWmAbrK4IugDbQ98
	o3C72u4XoYsnvO0Fsw4IiueuR/Ch7g/ht/udc7XQxWALpY+2aeXaGEPLDuodq0xuYw==
X-Gm-Gg: Acq92OFzi1dCn6WvAlQup1X9C1oXzHOBRsvNSAud0BJ7jn9lDcVFhoo3IZjUjOzoSkV
	LEWtN1lLvqdIrL/kGan5DbjDi3J6VqIhDPtprcSlezK0lqSOfwP7JwqTr6I1Cgp6B+LyOlRg01c
	dcD/khzBdJmjh4SFe14pOx2UfFTBtazpdez+7G6gIw5pBSyln3fvCKvI6QfhPAH7dF4qpthGjW8
	NF+izCc8PzBtyejXfd13o0GRbAOQOibsH51XqLNaUuXTA4/wKiLDMBip8afeAGwUfrx0Q3Zrbhr
	fNGxKMZogUxr/7D44y5jWh1bhwUHNJsluRjbYAlDzHFfaVh6RyVjMdL/2s/uwxbi8Sb1oL2rQN7
	ySYjDwxZ81BVKcpkQ6D6bw1wcUkJcIq0a6JeJV1RgaJVhWCZUvmMqWyH2QSAXXF3nGrIuQMjejt
	hnB/dzSFL/Jy/4Q1RIKpITUhCl8JObqNJjM9PehqSxmLZOoONMSWHVEO59HtXWXMgaX+KnMkGae
	xydcLdZAxg8ey/P6esdnDz1azd4ocYCqkvh
X-Received: by 2002:a05:600c:8582:b0:488:b187:3c with SMTP id 5b1f17b1804b1-490a29399fcmr223307725e9.14.1780400530783;
        Tue, 02 Jun 2026 04:42:10 -0700 (PDT)
Message-ID: <e3f22fa6-c497-4afc-9498-12449548acfd@suse.com>
Date: Tue, 2 Jun 2026 13:42:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 0/9] Minor xenguest optimisations
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org
References: <20260526094324.12286-1-frediano.ziglio@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: <20260526094324.12286-1-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1780400531-40B60A53-523C632C/0/0
X-purgate-type: clean
X-purgate-size: 1760

On 26.05.2026 11:43, Frediano Ziglio wrote:
> From: Frediano Ziglio <frediano.ziglio@citrix.com>
> 
> Reduce some number of parts passed to writev.
> Avoid possible allocation sending data with writev.
> Reduce number of allocations sending memory state.
> 
> Changes since v1:
> - add commit to cache up to 4 pages in hypercall;
> - add other 2 commits reducing chunks passed to write/writev.
> 
> Changes since v2:
> - update patches commit prefixes;
> - add other 2 optisations.
> 
> Edwin TÃ¶rÃ¶k (2):
>   libs/guest: allocate various migration arrays just once

Btw, in particular related to this one, see also
https://lists.xen.org/archives/html/xen-devel/2022-04/msg02037.html (and
maybe one or two others in the same series).

Jan

>   libs/call: cache up to 4 pages in hypercall bounce buffers
> 
> Frediano Ziglio (7):
>   libs/guest: Reduce number of parts in write_split_record
>   libs/guest: Reduce number of I/O vectors in write_batch
>   libs/guest: Reduce number of I/O vectors in write_batch
>   libs/guest: Use a single write_exact in write_headers
>   libs/guest: avoids using 2 indexes
>   libs/guest: fill directly iov structure
>   libs/ctrl: Allows writev_exact to change iov array
> 
>  tools/libs/call/buffer.c         |  28 +++--
>  tools/libs/call/core.c           |   3 +-
>  tools/libs/call/private.h        |   8 +-
>  tools/libs/ctrl/xc_private.c     |  26 +----
>  tools/libs/ctrl/xc_private.h     |   2 +-
>  tools/libs/guest/xg_sr_common.c  |   6 +-
>  tools/libs/guest/xg_sr_common.h  |  12 +++
>  tools/libs/guest/xg_sr_restore.c |  26 ++---
>  tools/libs/guest/xg_sr_save.c    | 169 +++++++++++++------------------
>  9 files changed, 128 insertions(+), 152 deletions(-)
> 



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 11:50:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 11:50:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324803.1590310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUNda-0008Cg-Fr; Tue, 02 Jun 2026 11:50:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324803.1590310; Tue, 02 Jun 2026 11:50: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 1wUNda-0008CZ-D6; Tue, 02 Jun 2026 11:50:26 +0000
Received: by outflank-mailman (input) for mailman id 1324803;
 Tue, 02 Jun 2026 11:50:25 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wUNdY-0008CD-W5
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 11:50:25 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUNdX-00B0vb-VC
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:50:23 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1ec374-bab6-0a2a0a5309dd-0a2a450ca1be-30
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 13:50:23 +0200
Received: from [52.101.46.10]
 (helo=CO1PR03CU002.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1ec37d-62f1-0a2a450c0019-34652e0a4f19-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 13:50:23 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by PH7PR03MB7267.namprd03.prod.outlook.com (2603:10b6:510:24e::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.16; Tue, 2 Jun 2026
 11:50:18 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 11:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=I1qrROp2SNV8xoivTYVZSbTFEc2aS9WrqAkCTxBEWUk92SWyGQ87QLat/yiub9HGKlyl/QM1zGM/QnBqpvzgCoIkpVbAep8qcm+qlPZMGkGFwof2BM3twFmk6DkD75mMLeta9LIyWTJftDjxYWqY7YNot4inRmpSkPFwqf+BNF6b2141EsveMJdIKhwDcW+NurZMJbbLBMv6ju0lS7kawP8hXHh3dodlQaAMmUikG/Vc0IIMaLeKpYRNPFpamkmEMwJDGhus34FLRMMrmyOrnJ3kxtCbexU9SYD2qWqZABOZVXeVimQpTcTf5rZvXf+hAJetiFoZw8YY7mZyzikFww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RRqbdq0Zn+S8pdsrq9xKGsTfGSl4CDKQGEuadVHjx5I=;
 b=K9OuvK8kRavdr3vK+7MMp4S1OCNHH+cMv9TlnKeSsM6hpPzko9hXE5pIz6x6pvoZq9kZOdCCT+txLfAAJIhcC1k3fxXqj6jEUjJIOtIknejaZHJX+DHUoyjQjYmXUm+AdeNO3R+195a48+0IjEQNNefcdvOC1lDOYB78niajsklTw8XnmHKe/82432EPy3+QRmKFYpPvj6W7a8rY/p6k1zqWWZPa0SmgixKDauhcSjIfOTng59r5iq/Wj+U/6oOffQXbJPB/FlK0I9ho7U4uOD1Lu6H2J/yW7gBEOfkHI6OuX2BoqWDoar5BrEUM/vcPwAfeuakNsy+HGKyRSjJeUA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RRqbdq0Zn+S8pdsrq9xKGsTfGSl4CDKQGEuadVHjx5I=;
 b=x6RRRpkktkc6CpRfqzvHMDBWPznjky9IP9ct+xdxLtGtMTDEIoS7zq5WU1xmLlay3HIBxEXxgKMhqjx6zFtHDjYTF+39ExWSP1emCBKrsm1xDiJDx7WisLS8ghluPvIBVFI4l/XzkEsFxT2wg1SQyaCN+x8nDvNVSyTz0FzxvPc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <d8c488a3-c29a-4afd-869e-fff8d1d2d370@citrix.com>
Date: Tue, 2 Jun 2026 12:50:14 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Frediano Ziglio <frediano.ziglio@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v3 1/9] libs/guest: Reduce number of parts in
 write_split_record
To: Frediano Ziglio <freddy77@gmail.com>, xen-devel@lists.xenproject.org
References: <20260526094324.12286-1-frediano.ziglio@cloud.com>
 <20260526094324.12286-2-frediano.ziglio@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20260526094324.12286-2-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0560.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:33b::18) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|PH7PR03MB7267:EE_
X-MS-Office365-Filtering-Correlation-Id: 9a4a9bf2-cf1f-4a7a-2016-08dec09d1e24
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|18002099003|22082099003|56012099006|4143699003|11063799006;
X-Microsoft-Antispam-Message-Info:
	ll9X9PbY/GYJ7TRj2C7yoCBEeExEVWNvPHlaCVmSU/PeUJP8NV4XAR72v39xTglsAn/fKgKAC65xaUl6h1W5aivz4FPJz71sXpKzsM4GsuwV1KkNUhG7DlhsgTqBZso4y4P+ddXNjmlAb4yLLRbL7oDVOWjxEA68GQKc30UIuT8ZBpwMQWiBBPT+52AnkKsAAtM2MKPPc3YZYvmo9qFg+EEaAhClLTRd7OEcETd8nvQ3Y56CLRSelgzU7+w9Ab3dEz+LhKhBtqLKmHBWJyHMla7kSKyIBQXxwKizb8pkxzFVIY8eTnKdMjoo7oGaPTu5bo536lANPv8Sd466jfiCLbTvQm3HeW6wxB/YVaHI6ZJE+Mu5ccGPjv0j7wOyZ5ROaPMNwd6k50ixr52ZNIhNm28lTexmhTFAKIUsEwRrVYCRMtLrotgi0hm0ANJsQidpem+ixD/PU2vj7tVWWcntq6A1VOIAIwN0IfUOSnAaXWgK6GebfPgDDGBv6IAqsLpbrUYUIyMVv6xFwI4MptxSx1cdp2buUPBPdRUBlWr2IKCrPRpK9T1KILz9QG0Ge7XkFslc//v6H+1fKB03A/hjDkBshRpY9OWkukrUXaDBTiz5JU5mIDX6+EqfRODMkRp/V4EGVB2QDLShT7KxYliJGYMajAeF7/FxWf0OY0ryQznjkUG7Zfj0/KnKv7/KVqVE
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(18002099003)(22082099003)(56012099006)(4143699003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MUtBTDcrYXk5VVA1NXk4QnJ6SjJoYjFLS0FHcEF5UVI5QU9BVVh3K09nVWlJ?=
 =?utf-8?B?QjkyTnR3aDh5ZjBwYTFVQXdzWldZUStCTGNLNWZGZGVNVy9EQVdXaDk1WGNV?=
 =?utf-8?B?TU9kKzFjazRKT1p3dERwcFZnMTFaQlNQQlFsQVRyMUxvWEhRNGwyTjRjVVYx?=
 =?utf-8?B?ODVEMEhhcVh1TVVwYmU5QTVTZ3Z6bStIMklZMW53aGtDdDI4UkVlZHBIZGY4?=
 =?utf-8?B?QUM5RVFqYTlJNVJERWhUNGlrR2oyNEIxczYrUnZIdUV0V0NUbU5iN1laTit2?=
 =?utf-8?B?UFZhcFRSdldjSE9YYTRrZUZ2SlQzQkwyaU5TNWhmYkhMRHM4QkNKaTZCMzBM?=
 =?utf-8?B?QnliUU9ZNHN0Znl3N1h5TWxJNXZqaEpCbG9NNjhMSjNMTEQvVVJUcnZuRmdD?=
 =?utf-8?B?TlpjT3ZXVjFDVVNPdzc2RGpqbFhLMG9rME1uN29PRE9wZk1VRTQ5U004YWk5?=
 =?utf-8?B?WXN3ZytISndFTGs0TGNTTTJnWkd2WEgvNVJIY0k1QzYyL1RmRlJFTGJkeTJl?=
 =?utf-8?B?R3V2Qkh2bDZBRHZWN1JoTTBqOXdTSEJwNDBiLzZaaFpIeWpVTlF6d3pMc1V2?=
 =?utf-8?B?SHdPNHNMZUVhcXNGcnVObnppTTJ4TWFBMWViM3M5a3EyOGZCSjlGWXVMRkFD?=
 =?utf-8?B?V29YY0pNc2thMklkMzh6a1lmK0I0bXE4Z1hrWGF5dFdEemVYNW8wdGpYUlAz?=
 =?utf-8?B?dmNOVjN0Z29iVXBSMWFjdGZXUnRGL0EweFZoV2gyWlMyRWxUaUhpYmQ1azYr?=
 =?utf-8?B?bHBDMjY0bUZjZE96ZUpsU3lwWGVEL3E0NGxBVWdWWVBxTzVVaGtGVHVKRWlB?=
 =?utf-8?B?WUtTK1FLWDgxS2YzYVRNQk5wd3k0MVRGR2tkWHhIN0YzS2YyRm9OeWJ4MTJE?=
 =?utf-8?B?bGZ0WVVBOEhLV1JVcXBjdGp2NWQ3UUJYdTJiVGhDT0N0REZRRmRoN05la2wx?=
 =?utf-8?B?NTc0enQ0K2pBZ1Y1S2Y1eEl3bzVJNU1vWVp5Y0gwZFJoa1g2bGszZHY0MFBn?=
 =?utf-8?B?TFh0L3hNMCtFMUpxWDN5aWJKYTNlemhvMTdUTWhEeHN1NEVIaUhDWHZBMFIz?=
 =?utf-8?B?SW01Z0tuUlg0bmxwSkNlYTVZbWFEaUdPQi9ZY2Q0bjR3T0dJTWkyZGV4NlBD?=
 =?utf-8?B?S1RKYmo4NEVpRDVtelh3RWtMUFlxMHRoSHRTU1pIam5lYnhqS2JSRHQ5Ni8w?=
 =?utf-8?B?SFJqVDU2V3RPUHFsZ1pvNzA2bTdPeUVYek4yY0xoWStJc25ZbjFBWWEvOGpT?=
 =?utf-8?B?dkpnRDNud3U5WlBzbDEzZDJtTkNTaG5BaGR5U1N3aERUL0NCZmRDM1k0N3Rw?=
 =?utf-8?B?YmhDZ2MyVHhISVBRMnEyL0U2dlZjcVhUUW1LdjJDR2hlNEVtVXgxWnUzQzBS?=
 =?utf-8?B?M0JEQUJoMldNeWlaeWFEcGcyelBSZVFVd0drL01IZ0FwNXliNm93MHoxeFFE?=
 =?utf-8?B?VGVvQ2JiRWhqQktRSWEvVzlOOTFPOXBmeWllUjgrcVhpclJnQjdqdGdiVjIy?=
 =?utf-8?B?Q1VCdGsyZk5pY21ab1VkREtLYlpLYmF4WVdtNVIwR1poNmlBOGdBaGxISk9m?=
 =?utf-8?B?WVV4c2Fuem1uM0ZsRFJWNXhsR2dTbnh4TkxzNW02c1crQk4wWHZ2ZmppMUxO?=
 =?utf-8?B?a3JMT1dudCs4cGdkWHk5WEIreCtObGxnc1UrN1Y4NXRkTE0yWElpWUx5cWdV?=
 =?utf-8?B?bkJWMHRaVlcvUG80dWYwMWl5ZkUraldCQ1JtNlZGU0Vmazk5bDM2L09HbzND?=
 =?utf-8?B?b0xiRkpBM0xud3hOYVBHZGwvNCtnaWF5QzRjVHVxV3FwVDRLYll2VTNzb1dp?=
 =?utf-8?B?eElpZjRIZ01GNUcvQUNSSHdnLzhCdjYwR1dVMkE0a05XM0Qwcm9LMm1icklJ?=
 =?utf-8?B?Q2cyVlFiS1VRVlhsSEdOVmRTQVZ1bnlPK2FXUDAzU1JLa2RVcTFkMkJmc1dr?=
 =?utf-8?B?L09nRjFUWGhjcnZ3L0N5K1JHYzluTDNOKzQ3UEV1Z2JoMXhDamoycmc5QmVL?=
 =?utf-8?B?TWxYSSszNU43eEwzSzBHYlBrdk85U3pmeTVpdXFabHRmaUNVdm5QbnN2QXBR?=
 =?utf-8?B?eDZhM243aXFQVnFqQU4zNGVzNDg0MlE4NHF2dlV6SWRrdnRkZkdCQkdVaWhJ?=
 =?utf-8?B?WnJ4amFpUEsvUEY5NndqdTlaZzEwNFJadXlJRkhaTDVFZE5abDFvSkJJRG5n?=
 =?utf-8?B?bEpxUVhWUFY4elZMbFZ6Nm9CblcvU2RLZS9tdDZBandRM0d2aExEMWxHdkRN?=
 =?utf-8?B?SzBXVlJYNUVrNVZCL0JtSmhZV0FCUGdCUCtKQ0hySEtvVFptSE90TEREcnNw?=
 =?utf-8?B?Ty9XdS9ZZnQ3OUFlcmxXK0xKdXlYWFBCdW05MnBZK1JmN2tndlEwbjNOekNW?=
 =?utf-8?Q?pJ7iuA4rjwo4uLCo=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9a4a9bf2-cf1f-4a7a-2016-08dec09d1e24
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 11:50:18.2045
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ydss0sU/mDK/CP/cKJPhTGKBiVGyeY9QpDr5QMNUmeCZOCI81/3n5TuQ15fRgkgmuILWLIkVPD7XhDbKUZc24gJd7Fj/RRwu0w5TefoOahQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7267
X-purgate-ID: tlsNG-d25034/1780401023-F5386CF5-5FCC1604/0/0
X-purgate-type: clean
X-purgate-size: 778

On 26/05/2026 10:43 am, Frediano Ziglio wrote:
> From: Frediano Ziglio <frediano.ziglio@citrix.com>
>
> Small optimization.
> There's no much sense to split the header in 2 pieces, it will
> just take more time and space to reassemble them in the final
> buffer.

This part is fine.

> This also avoids truncating combined_length to 32 bit in case of
> 64 bit machines potentially avoiding following record_length check.
> The function become more coherent with following read_record
> function.

This isn't.Â  The truncation just happens in a different place now, when
constructing rhdr.Â  The length is strictly 32 bits.

I'd just drop this paragraph.Â  The largest record is marginally over 4M,
and callers won't be passing in anything larger.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 11:51:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 11:51:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324808.1590320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUNeH-0000CN-O3; Tue, 02 Jun 2026 11:51:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324808.1590320; Tue, 02 Jun 2026 11:51: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 1wUNeH-0000CG-LO; Tue, 02 Jun 2026 11:51:09 +0000
Received: by outflank-mailman (input) for mailman id 1324808;
 Tue, 02 Jun 2026 11:51:08 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUNeG-0000CA-4P
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 11:51:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUNeF-007vJM-HF
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:51:07 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ec3a4-5cb7-0a2a0a5109dd-0a2a4504e980-36
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 13:51:07 +0200
Received: from [209.85.128.41] (helo=mail-wm1-f41.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ec3ab-1dec-0a2a45040019-d1558029a9eb-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 13:51:07 +0200
Received: by mail-wm1-f41.google.com with SMTP id
 5b1f17b1804b1-49041e84237so92108415e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 04:51: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-45ef34c3081sm32797325f8f.15.2026.06.02.04.51.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 04:51: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780401067; x=1781005867; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=WBh83ciaBiRLmsbUJE+/Eyskxh6yoNF8pPPk3dxtCgo=;
        b=I+V5HnvvemInWjnHvfuA3yqXAaEr3HXVEQ/BGszAWxaVbETT+VfmFcp/D97sneSFm7
         l+yURA3DoGgXrrow8v57NhgVYyNcZ0mEoArOQt/oGkvOVrtPHnfEmuS13JbGCkOM7rU8
         cgAjOWA0SkJmYz+jZZyx302maCUVFDeQcOof902Ux1mypAbGLQ8DLLVYeUtAI2pV3oGh
         Ns8aj3XZGzF7SsZROVv5ZfThcyuFCxECgBT15JP70y4CUKBGYk+HZgyM9XpPVZxL82RI
         9Jo86S9dY2aTNIeRzCE0oBTZ7H6HovQv5EydzZVdO6bg9PD+96PhOYVHmlWsH3D9K7fH
         gGWw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780401067; x=1781005867;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WBh83ciaBiRLmsbUJE+/Eyskxh6yoNF8pPPk3dxtCgo=;
        b=jTIULyxqpgoGqFn76RDik2625QfoOKXVpeQYNvWk8Brer4syN5DO6R3l3y+CaGF6JV
         fmclSYvsDcXthpO+sgJTZ2r5jWvE4tNaKJbwqk3x8b5NSakjJaMUpf/XtNt5HqKCMhn/
         ygdIN/Kp3IqrdoxGHWXvg3m5Yf8riCp3lrSC26aq7cFM52LVFaM07aGJl8HlFg3Cf/18
         pPPVpXvoKYTnkPcKYGbklv6/yKeaGWAFSeNUdD9zZzQ40NTlEotXCJJaSKUahnVvfOyp
         ksepkTg92zltvU2O6jZsqVhLtwIrLp4eYffj0Q4STPcLtNWPQIle8DN8IvNy+AIU0BRw
         Ksug==
X-Forwarded-Encrypted: i=1; AFNElJ/BF3YOuFrI/m8GfuQq3lddG+vWBTTWbFKZNVl1ffsV4+jcH/+Mwh16UA7InnFP86/dr9f2SJmNxjc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywz+Ltwae2pDCNX542AjrnY70Y2byGjwl/aS+OcAqMCFEQDQwlN
	SLmEiH32o65JKQdFbs/uCdJnsTYq6CfhvuGP/OsiMzjYNOxdL6kNwBhOkt9//MEu7Q==
X-Gm-Gg: Acq92OGWqO+p0wbVLf5VI0GEdnJdmvKMrjdo1u8S8BYlNdIbeWJ7Q+MCZe7UrIneiDY
	TShfkmP+4g3qQ9ySgreXNOYEyswUAYqwBwlqFX86HcNJbroGxuCOrV7mBvcsQL8faAfAravedrz
	FDLrvX1b0wnDZLOYbuX/CfIMD+uo3/a2souHsBYc6aALAYqVZKjS9UF2lrTe2M7b2vGKEfJh8oL
	maglffnTxCDbZ9uvi2zHmLYwx04+lYkodfyfUW63u2USBvVZUPfpym/OYz52ru9WoK/Ctj6g67C
	YrAdvJ72dd9qDrNXSZypVP+6TU5XsZpLe/dLtPyQo/oitKsDN5zr5joKtAKjMc0dtNv8fnNRKi0
	X7zY3M+yzlF8BKaLDDdllS8y949CVt8WGEOTNVa827XqrOyrVBUGaglPbcEXv7w+wNnVvCKUoDm
	fWiuCPvlpKPsd9o3SBUCjZVeQF7JntKxxZrHWD5rG4UdLaTBLy41XM4rLDr6JxwicVceAuR5CqI
	MiuPXrl2W9vFJyH68N0xqkO8g==
X-Received: by 2002:a05:600c:a21c:b0:48e:8eb0:4957 with SMTP id 5b1f17b1804b1-490b0e55039mr42886965e9.2.1780401066652;
        Tue, 02 Jun 2026 04:51:06 -0700 (PDT)
Message-ID: <4f3f6ead-b917-4824-bc24-47a37f921bf6@suse.com>
Date: Tue, 2 Jun 2026 13:51:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/mm: avoid watchdog timeout in dump_numa() on large
 domains
To: Bernhard Kaindl <bernhard.kaindl@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 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>,
 Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 Marcus Granado <marcus.granado@citrix.com>, xen-devel@lists.xenproject.org
References: <10d8309efdb878a3b615a7daca2bb5209525cb37.1780390167.git.bernhard.kaindl@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: <10d8309efdb878a3b615a7daca2bb5209525cb37.1780390167.git.bernhard.kaindl@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1780401067-40D743FF-471EA25F/0/0
X-purgate-type: clean
X-purgate-size: 1061

On 02.06.2026 10:49, Bernhard Kaindl wrote:
> Using the 'u' debug key invokes dump_numa(), which walks each domain's
> page list under page_alloc_lock to compute per-NUMA-node counts. On
> domains with many pages, this O(pages) operation can hold the lock long
> enough to trigger a watchdog timeout.

In addition to what Roger said: Is it really the lock holding that's a
problem here? That is, there would be no problem if there was no lock
involved in this O(pages) operation?

> Replace the page-list walk with node_tot_pages[], a per-node counter
> maintained in struct domain. This reduces dump_numa()'s per-domain work
> from O(pages) to O(nodes).

Alternative approch for consideration: Purge dump_numa()? This big a
change for making a keyhandler work better is somewhat questionable an
approach, imo. The keyhandler isn't there for use in production anyway,
it's (primarily) a debugging aid. If the data is still needed (and may
e.g. be useful on production systems), make a (preemptible) domctl or
sysctl or alike instead?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 11:56:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 11:56:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324817.1590328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUNjU-0000r6-E3; Tue, 02 Jun 2026 11:56:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324817.1590328; Tue, 02 Jun 2026 11: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 1wUNjU-0000qz-BZ; Tue, 02 Jun 2026 11:56:32 +0000
Received: by outflank-mailman (input) for mailman id 1324817;
 Tue, 02 Jun 2026 11:56:31 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUNjT-0000qt-43
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 11:56:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUNjS-0038Fx-Cs
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:56:30 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ec4e5-2eae-0a2a0a5409dd-0a2a4503d1ca-14
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 13:56:30 +0200
Received: from [209.85.221.48] (helo=mail-wr1-f48.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ec4ee-672d-0a2a45030019-d155dd30f053-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 13:56:30 +0200
Received: by mail-wr1-f48.google.com with SMTP id
 ffacd0b85a97d-45eecb8bf67so3833175f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 04:56: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-45ef357635fsm31283139f8f.33.2026.06.02.04.56.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 04:56: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780401390; x=1781006190; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=u7d5hoaTT5kCZriGDUOrVhon70o0KtUYRMLLHyMVi90=;
        b=a5CI56rGTQlBcjfBhSKyOz2JAjDcLllxdJljBLUFn8jjFEXaKxIwKTZXpQbLFV/tE3
         iqcsP7JfEL6rTz6aQA+QNW98RV6MDKCZ3Q0Hqv1CsnTJBVtBA+Pk2tBzh2uMfSNC4aVI
         10oJfclmudhu+VYPgY+SouDolygAtc3CKcWAJb0j5g9QYfNZqI78RphGydDJO+65ZFMp
         CIaOW5Xon4iDbaiv1wqpg/vWhvuhkF6HTBDu+cSClc8R8L0CRBxwV6D49i4x3p5zpAdg
         kUzOcztlcbfKlEOfABrd1LbGjgt/a94gJehQ5yuBhdVz0AzYlF7gLNtd2pRwKm+yFxjK
         ngpA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780401390; x=1781006190;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=u7d5hoaTT5kCZriGDUOrVhon70o0KtUYRMLLHyMVi90=;
        b=jMabS9nm0xARMktL2kKKte8pe7e145VCUhRqXA3gnUJyZL0GUqkUs6/g6k0pIH40dR
         kMac35zMfOEisPPuAQeQL8zYOaxkEqiUb/8R/HyBgulEFGffp/VC7Zwg3EkdSryKuphI
         c+K19YbHscDJP9nGijlSE8kB8Vik11JeIERBqACb67J0m0MR5ggsXknOYpguz5kz0F7Y
         JgiwoHgm1SEYqphFmRq1pujYpCTyMiyGkvZb03Vg53KB3G5XT3LJEyGpLLzqKo/lYL7B
         UrBsf1BOjbkj99z5wqlVH2bV23i7a0uZyVL2upOdV4yf+t2qYX0FEaGzCt+2lBvpuicv
         qJyg==
X-Forwarded-Encrypted: i=1; AFNElJ8PX7wyIwIKxG7No/r/wz2GnV5YrezEMqVCSXT7mJNRtMtJPj398mET2XtrgvLhHOAgXfifEHn7Tkc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwMcf4SScCDdNnRzKJDkcAjRphKZ5FMvhnzrykksf4T/iI1pUmI
	2wLIf0FTMEUiF5DU0jwu0SMIxYwa0goyQrMYKu4pLOqFMcITPARxQjbN8Qax0+s5Cg==
X-Gm-Gg: Acq92OFfCBUl4B6wSaA58Bj9aMsCftUTYmstatqqvWCHwlxcP6hkGyyhGor6f2OqbOM
	i2YPiRbO0fb5LremKK356oq6vsV02oFS7p2tRAbytW5CzkaNQAQ5gtB8ndaBACzsHLx0OS3xdiW
	0CO3A29XKVbzAZ8wp8vNtMlmwapeUiFTZgs8Dz6OXI9ToghH0BBeSno1N3yrClxjyr5UmwWClhU
	MW7VFhy1WrCmnYFskSbPV6/KoehvJoQ56/g5OqACC2Ml9lyHGs/X/bt4Qr1kiEMAQp3YYrfo3Ka
	Xhpn3BffnKFyvikCwGRWOt8HpXmC8FykLSkkNhQDjrhehGhyEk3cvjVqd0WWWA98hzC7hzaX3zC
	k7qD+Lhd9UVL67fyZEhNFHQ94pldA3IV5oj0mp2zkDB9umnM0HIsU9QViSe7WdYGTPdopWmv+oe
	jGuXiP1TZLYjGi5dkp611FS1EPAiabS3ERH/9/+2qIPivvpMlLa6e03CwiumRduFZ0+tEGp6ue6
	/HJ8CZXYzzHAkLnC0n2GurOiVBzjFGsRaOx
X-Received: by 2002:adf:e684:0:b0:43d:7c6c:a0dd with SMTP id ffacd0b85a97d-45ef6b8f12cmr5668763f8f.35.1780401389649;
        Tue, 02 Jun 2026 04:56:29 -0700 (PDT)
Message-ID: <b9b9a4bc-ac55-47b9-8d05-17ad6d44ef73@suse.com>
Date: Tue, 2 Jun 2026 13:56:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 5/6] argo: introduce CONFIG_ARGO_DEBUG
To: dmukhin@ford.com, sstabellini@kernel.org
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, christopher.w.clark@gmail.com,
 dpsmith@apertussolutions.com, xen-devel@lists.xenproject.org
References: <20260526215823.1452619-1-dmukhin@ford.com>
 <20260526215823.1452619-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: <20260526215823.1452619-6-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1780401390-41595938-BEE67379/0/0
X-purgate-type: clean
X-purgate-size: 494

On 26.05.2026 23:58, dmukhin@ford.com wrote:
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -491,6 +491,13 @@ config ARGO
>  
>  	  If unsure, say N.
>  
> +config ARGO_DEBUG
> +	bool "Argo: enable debug traces (UNSUPPORTED)" if ARGO
> +	help
> +	  Enables extra debug traces for Argo debugging.
> +
> +	  If unsure, say N.

I thought we had agreed to no longer add this kind of sentence. The
default (implicit here) is what people should pick when "unsure".

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 12:06:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 12:06:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324849.1590337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUNsj-00036G-Id; Tue, 02 Jun 2026 12:06:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324849.1590337; Tue, 02 Jun 2026 12:06: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 1wUNsj-000369-Fu; Tue, 02 Jun 2026 12:06:05 +0000
Received: by outflank-mailman (input) for mailman id 1324849;
 Tue, 02 Jun 2026 12:06:03 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUNsh-000362-If
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:06:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUNsg-00ELhD-V6
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:06:02 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ec727-5cb7-0a2a0a5109dd-0a2a4502d39a-16
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:06:02 +0200
Received: from [209.85.221.42] (helo=mail-wr1-f42.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ec72a-af86-0a2a45020019-d155dd2ad19d-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:06:02 +0200
Received: by mail-wr1-f42.google.com with SMTP id
 ffacd0b85a97d-46019b190b6so639099f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 05:06: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-45ef354bb7asm32074616f8f.20.2026.06.02.05.06.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 05:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780401962; x=1781006762; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt: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+yF/WmsNIypxEOwxKhA3kYvOWeirGVYBTl2uDRZPE=;
        b=QgyX9cMH24qZ/A53sl0oox5cqISqb7dFD9JVpJOg+Dbj9q1WW6kCljXgWY3XuiXm8k
         odMnaB5MQ/il+/98Ccc6Cb2AHv8tfGnXQtOa5BZARe+HLY8xGI9MuhLdFN3XapjHTYHY
         nGAJN+HV3igZ948PkmHgW1fIc83zt7xWpWygBYolR3mYJTy26Itfv5aB+6vrj06Pi2Lv
         Qf9q+T/6lL4CDyOTUZJ9B21mKO3LUKYJNk3cE3G/f3AKrolQZriCUeeRnlyj0Rpph+aG
         8qDr0bI7NkJXti5bWETumRXOcAZ4t+6n0o20YymM8C8MGtNC55urij+ADZOGgLhpb4YB
         y5/w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780401962; x=1781006762;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/o+yF/WmsNIypxEOwxKhA3kYvOWeirGVYBTl2uDRZPE=;
        b=oYEin8M7+EuGnyFftqbglW/+NibfGorCbBiUBYDIJNSObXreQ3q165ZrsjgdD07qzt
         G2b9v8WAXxkFRKGq9UnE6ruF2urQDShfgE/bQY8M8NXmRccIYGKAbNKoF31TaFadJp+s
         sID868y6i0ki5hE0pT32Itpv6wxV9mgR9l+YvEcqs+6+Pq7b4MGzmmYrDqwHnCBiDHs3
         mEEKyyzAwFPQV1I7p0uCc8BvR1/kZaZS3+lfkIVuUFYatJlzVAhKzpfemqgU4D1CcZJq
         6Yt50up4o5a+QIO3KhQhjBZNnFbfoGKX02jStDaoOExTVpS4NiVVk66MbpWJMrgJ03aV
         +bHQ==
X-Forwarded-Encrypted: i=1; AFNElJ8eQNEzvkCTlH7nCicRCRhae9dvEX2uUWbHDeys6ssO6thmuStMrODIGhxuwgBm8+Pq4ms1u1gK+d0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx1fO5yQMWR+L/M8VzCvASOk0NTpumS8oSYrRXxkNJJzSjpkRI1
	9iokXxun1hmTxdUu4IJEzgzBF7GFOLGv38AS9VkNUSZlyPG5ac8/DOJj7na0XwP6eA==
X-Gm-Gg: Acq92OFSyKIWXbiOY9QYX1vPGUHae9fSy+KfSOjt+qrp55MBoHxsRLy5D0djSrHJiEu
	0PWaO1HRbJL0kpxKlP24FGpFJIZPIj0kCUyIfmvZ2dhGOJaj2D34iNY2efmtR63TfkGp0/GXxPR
	MLfmckxqPC5RUC5wxb4AdQPDrun1hXuuoZmNCxHayBm7zli+TOGdar7sqfChZPHdVL0K3tQ2fA3
	fGb07I9kjibH0mnBb4JyDtkMdaUvc0fTCKUPwrxSAaB85OmSCgQx4wEwElbC0oInD5U2gBM6Sj2
	+gsIi5YjU1au9WdfrJ6czgRjhYWhNCtamOI/dQ4ZctRFB6bIx6+YJOZmQ81Ls7FkJFWKFqdnNRx
	JR6NuTB5TaVXdnRKtrTgejPdSjk+SNrH+5gy8CaDh5OR+er1UUEo7Q6x85vcMC265zZHJwvSU+g
	1zfVZljPF0POOL59E2nlJJGvk/nwTO2WNoXz6nxHrP2BPE43yVtxtHI6u1g8ZzzmXC87oUlkw30
	Em2fzx7SP3YE9W+6bLaGXmlBw==
X-Received: by 2002:a5d:6191:0:b0:45e:eec6:5020 with SMTP id ffacd0b85a97d-45ef6b8ed7emr21819398f8f.38.1780401962086;
        Tue, 02 Jun 2026 05:06:02 -0700 (PDT)
Message-ID: <e6cd8fdd-97d9-4f07-b952-079c67598f32@suse.com>
Date: Tue, 2 Jun 2026 14:06:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/6] Add SBAT section to the PE binary
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Gerald Elder-Vass <gerald.elder-vass@cloud.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 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?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>, xen-devel@lists.xenproject.org
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-2-frediano.ziglio@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: <20260529153531.1341542-2-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-720697/1780401962-80D7F161-1C78BB7C/0/0
X-purgate-type: clean
X-purgate-size: 2271

On 29.05.2026 17:35, Frediano Ziglio wrote:
> From: Gerald Elder-Vass <gerald.elder-vass@cloud.com>
> 
> The SBAT section provides a way for the binary to declare a generation
> id for its upstream source and any vendor changes applied. A compatible
> loader can then revoke vulnerable binaries by generation, using the
> binary's declared generation id(s) to determine if it is safe to load.
> 
> More information about SBAT is available here:
> https://github.com/rhboot/shim/blob/main/SBAT.md
> 
> Populate the SBAT section in the Xen binary by using the information
> in xen/arch/x86/sbat.csv.
> 
> On XenServer, the version and release fields are populated by the spec
> file during the build process.
> 
> Signed-off-by: Gerald Elder-Vass <gerald.elder-vass@cloud.com>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> ---
>  xen/arch/x86/Makefile     | 4 ++++
>  xen/arch/x86/xen.lds.S    | 2 ++
>  xen/include/xen/xen.lds.h | 3 ++-
>  3 files changed, 8 insertions(+), 1 deletion(-)

This gives the impression of being an entirely new patch, when really the
(standalone) patch was already at v4, and my comment there wasn't addressed
(perhaps merely by extending the description some). It also feels like there
were other pending comments, or else why would this not have gone in long
ago? Additionally, ...

> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -71,6 +71,7 @@ obj-$(CONFIG_TBOOT) += tboot.o
>  obj-y += hpet.o
>  obj-$(CONFIG_VM_EVENT) += vm_event.o
>  obj-y += xstate.o
> +obj-y += sbat_data.o

... like elsewhere: New files' names should prefer dashes over underscores.
Question of course is why this isn't simply sbat.o in the first place.

> @@ -275,6 +276,9 @@ $(obj)/efi.lds: AFLAGS-y += -DEFI
>  $(obj)/xen.lds $(obj)/efi.lds: $(src)/xen.lds.S FORCE
>  	$(call if_changed_dep,cpp_lds_S)
>  
> +$(obj)/sbat_data.o: $(src)/sbat.csv
> +	$(OBJCOPY) -I binary -O elf64-x86-64 --rename-section .data=.sbat,readonly,data,contents --add-section .note.GNU-stack=/dev/null $(srcdir)/sbat.csv $@

That'll be an SHT_PROGBITS .note.GNU-stack, won't it? When it really wants to
be SHT_NOTE at least for bleeding edge GNU binutils (see relatively recent
changes there).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 12:08:53 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 12:08:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324859.1590347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUNvQ-0003nC-Vb; Tue, 02 Jun 2026 12:08:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324859.1590347; Tue, 02 Jun 2026 12:08:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUNvQ-0003n5-SM; Tue, 02 Jun 2026 12:08:52 +0000
Received: by outflank-mailman (input) for mailman id 1324859;
 Tue, 02 Jun 2026 12:08:50 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19e883c7714000701b@swg.vates.tech>)
 id 1wUNvO-0003my-Ev
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:08:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUNvN-00B626-PN
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:08:49 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19e883c7714000701b@swg.vates.tech>)
 id 6a1ec7bf-e002-0a2a0a5209dd-0a2a4509e478-36
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:08:49 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19e883c7714000701b@swg.vates.tech>)
 id 6a1ec7d1-2497-0a2a45090019-b9ff1c12add7-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:08:49 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19e883c7714000701b.007 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 02 Jun 2026 12:08:44 +0000
Received: from [192.168.1.97] (unknown [82.67.211.29])
 (Authenticated sender: julian.vetter)
 by mail2.vates.fr (Postfix) with ESMTPSA id B5E0E86DF4;
 Tue,  2 Jun 2026 14:08:43 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=w1JLD++tNFJ1ZcJNQtJsak2cS/yy5vu4rUKf6VqF9v4=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=jR00COIhzFLmsbj8HEAi2eiC3J8J4pUOv18T1SPMleY7yjJy30Fpl1V3NPBKu1AsrIVjF0HRo
 vPq2YckynNJnzjjglRd0UmsfoGeyzxB7SLNLv7HsVTJ2jYBIp1Q7XVb2aPmPYiDBNJis7lVufrv
 jwgjQ0E5UYXP/iEKZPymTZIACxNMNn7svQO1NvdOguBwwhsx20uy9zF+N7srCs32kRAeNR8QD6S
 gnoq7I9Bvhypie0joSKqOaw4ZHWXk1An+ZXEj2vOluVaZ+QaVUnd4/w7pxRfVtkF/uV3En5rCAr
 8gCGmDkrDkYfZlRXYyp10XAFt3u412fOIEI5lnRuGqew==
X-Zone-Loop: dbbb8aa0b7dfe156f489a5e59c8bb73e4bddf6b7e131
x-campaign-type: default
x-transaction-id: c9c78e01-3ea0-4eff-805e-edc1fa30b1d8
x-swg-uid: 01-1f43129e-f5d4-4ac7-9163-ed48811e8d3e
X-Mailer: Sweego
Message-ID:
 <1780402124.8631fc262581453bbf619ec5b2062170.19e883c7714000701b@vates.tech>
x-swg-bid: 1780402124.8631fc262581453bbf619ec5b2062170.19e883c7714000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Tue, 2 Jun 2026 14:08:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 0/9] x86/hvm: Add Extended MSI destination ID support
To: xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Teddy Astie <teddy.astie@vates.tech>
References: <20260427135406.1281424-1-julian.vetter@vates.tech>
Content-Language: en-US
From: Julian Vetter <julian.vetter@vates.tech>
In-Reply-To: <20260427135406.1281424-1-julian.vetter@vates.tech>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.1b18.bc89048f0ad40111.19e883c74c7.d3ea7f7554ff5be7=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1780402123976
X-purgate-ID: tlsNG-bad1c0/1780402129-89174A53-E9CCEFB7/0/0
X-purgate-type: clean
X-purgate-size: 4997

---=Part.1b18.bc89048f0ad40111.19e883c74c7.d3ea7f7554ff5be7=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Thank you Teddy for your feedback on the patchset=2E Jan and Roger do you=
=20
have any additional remarks on the patchset? Is the new structure what=20
you had in mind Roger?

Thank you=2E

Julian

On 4/27/26 15:54, Julian Vetter wrote:
> Thank you very much Roger and Jan for your feedback! I have addressed
> your feedback, see below=2E For me there is only one question, I'm not
> sure if this is what you had in mind Roger when you wrote:
> "Retrofitting the new interface into the old one seems weird=2E  I would
> do it the other way around - implement the old bind domctl on top of
> an interface that's more suited for the new DM op=2E"
> It requires some preparatory work=2E But I tried to make the
> restructunring diffs as easy to review as possible by splitting the
> refactoring into mutliple steps=2E
>=20
> Signed-off-by: Julian Vetter <julian=2Evetter@vates=2Etech>
> ---
> Changes in v4:
> - Replaced the v3 approach of extending the XEN_DOMCTL_bind_pt_irq
>    gflags ABI (XEN_DOMCTL_VMSI_X86_EXT_DEST_ID_MASK / VMSI_X86_FULL_DEST=
)
>    with raw MSI addr + data storage throughout=2E pt_irq_bind_msi() now
>    accepts the raw address + data values and decodes the destination
>    internally=2E No public domctl ABI changes
> - As suggested by Roger, replaced XEN_DMOP_enable_ext_dest_id (v3 patch
>    6, a separate call before domain start) with a flags byte from the
>    existing pad[3] field of XEN_DMOP_create_ioreq_server=2E The new
>    XEN_DMOP_IOREQ_SERVER_EXT_DEST_ID flag lets each server signal suppor=
t
>    at registration time and allows the feature to be levelled across all
>    servers before arch_domain_creation_finished()
> - Redirect xc_domain_{update,unbind}_msi_irq() in libxenctrl to use the
>    new DM ops, and reject PT_IRQ_TYPE_MSI in
>    XEN_DOMCTL_{bind,unbind}_pt_irq (as suggested by Jan)
> - Add three preparatory no-functional-change commits (patches 2-4) that
>    wrap the restart block in braces, extract pt_irq_dpci_setup(), and
>    extract the PT_IRQ_TYPE_MSI case body into pt_irq_bind_msi(), making
>    the interface change in patch 5 reviewable as a clean diff
> - Rework ioapic_check() to validate named fields (base_address, APIC ID
>    width, ioregsel range) instead of rejecting any non-zero reserved
>    bits, which would have falsely rejected RTEs carrying extended
>    destination IDs
> ---
> Julian Vetter (9):
>    x86/vioapic: Add ioapic_check() to validate IO-APIC state before
>      restore
>    x86/passthrough: Wrap pt_irq_create_bind() restart block in braces
>    x86/passthrough: Extract pt_irq_dpci_setup() from pt_irq_create_bind(=
)
>    x86/passthrough: Extract PT_IRQ_TYPE_MSI body into pt_irq_bind_msi()
>    x86/passthrough: Introduce pt_irq_bind_msi() as canonical MSI bind
>      path
>    x86/hvm: Support extended destination IDs in virtual MSI and IO-APIC
>    x86/dmop: Add XEN_DMOP_{bind,unbind}_pt_msi_irq DM ops
>    hvm/ioreq: Negotiate extended destination ID support per ioreq server
>    x86/cpuid: Advertise XEN_HVM_CPUID_EXT_DEST_ID when device model opts
>      in
>=20
>   tools/include/xendevicemodel=2Eh          |  34 +-
>   tools/libs/ctrl/xc_devicemodel_compat=2Ec |   2 +-
>   tools/libs/ctrl/xc_domain=2Ec             |  52 ++--
>   tools/libs/devicemodel/core=2Ec           |  41 ++-
>   xen/arch/arm/ioreq=2Ec                    |   5 +
>   xen/arch/x86/cpuid=2Ec                    |  13 +
>   xen/arch/x86/domain=2Ec                   |  10 +
>   xen/arch/x86/domctl=2Ec                   |  10 +-
>   xen/arch/x86/hvm/dm=2Ec                   |  68 ++++
>   xen/arch/x86/hvm/ioreq=2Ec                |  37 +++
>   xen/arch/x86/hvm/irq=2Ec                  |   9 +-
>   xen/arch/x86/hvm/vioapic=2Ec              |  50 ++-
>   xen/arch/x86/hvm/vmsi=2Ec                 |  54 +---
>   xen/arch/x86/include/asm/hvm/domain=2Eh   |   9 +
>   xen/arch/x86/include/asm/hvm/hvm=2Eh      |   4 +-
>   xen/arch/x86/include/asm/hvm/irq=2Eh      |   4 +-
>   xen/arch/x86/include/asm/hvm/vioapic=2Eh  |  12 +
>   xen/arch/x86/include/asm/msi=2Eh          |  18 +-
>   xen/common/ioreq=2Ec                      |  13 +-
>   xen/drivers/passthrough/x86/hvm=2Ec       | 396 ++++++++++++++--------=
--
>   xen/include/public/arch-x86/hvm/save=2Eh  |  21 +-
>   xen/include/public/hvm/dm_op=2Eh          |  53 +++-
>   xen/include/xen/iommu=2Eh                 |   3 +
>   xen/include/xen/ioreq=2Eh                 |  27 ++
>   xen/include/xlat=2Elst                    |   2 +
>   25 files changed, 703 insertions(+), 244 deletions(-)
>=20



-- 
Julian Vetter | Vates Hypervisor & Kernel Developer

XCP-ng & Xen Orch=
estra - Vates solutions

web: https://vates=2Etech
---=Part.1b18.bc89048f0ad40111.19e883c74c7.d3ea7f7554ff5be7=---


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 12:09:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 12:09:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324864.1590356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUNwM-0004Fj-7g; Tue, 02 Jun 2026 12:09:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324864.1590356; Tue, 02 Jun 2026 12: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 1wUNwM-0004Fc-47; Tue, 02 Jun 2026 12:09:50 +0000
Received: by outflank-mailman (input) for mailman id 1324864;
 Tue, 02 Jun 2026 12:09:49 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUNwK-0004FJ-Vc
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:09:48 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUNwK-003BCd-C7
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:09:48 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ec7fb-e002-0a2a0a5209dd-0a2a45068d30-46
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:09:48 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ec80c-7371-0a2a45060019-d155802eeda7-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:09:48 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-490ac357c55so19377415e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 05:09: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-490b0e0f26csm61751235e9.2.2026.06.02.05.09.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 05:09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780402188; x=1781006988; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=t42sFkTTl6xYDTmM3Yt4GU9RuQHaqpQ1i4lVN7yxk9w=;
        b=DSaF27/xlqcffKhJa3HpfZ4uMjPKjdndxA3FUvLhCk5i+p0PV2VuVoThfn3pnopu40
         8jZjpYSsVnUED/8sNZJ1cJ4/C/H9P3LQdiqM8gXNbzAnlRco7SJpNfLkgBXjGAJvfZxc
         gk101Zuj+hq73i8nVnbRShcmXaz2PFbt6BUPuTcMVhPuV/xdy65FNuo6ivTGXKLA5apQ
         Ttr5xpfa4p+6viGM4khSk6Z35K8Fg1B1OFziJ0wiLMVR6QJHMCSExmVtAN+hrtqNnfxq
         E8Jle1iFdVVVsQJxpVAmf3otxRIOPCEcOX4cyOMRbIR1K9l/wawoeaWegQ7OJx6QH/Fl
         TDyA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780402188; x=1781006988;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=t42sFkTTl6xYDTmM3Yt4GU9RuQHaqpQ1i4lVN7yxk9w=;
        b=sv8clv3rABT9XaGRs01rMpApLb9xVleWcHaBofIXCPeg8260/OmcWJwb77y7T4Oebh
         QJYQ+M3P7ucLVJmnZN7Zvdo/eVPpiigSZinuT236m/2+xWCjfKVAUggCl1Ni3bUBUX8c
         wNWL+aEUOOq+PKZoMKE0tXpia2cl+Vpv+VZYQIk1PhsseUcVqP8ZiESnKI3mf+n9j2aI
         9RB8J4tJvyW+4mSG5Y0W0c+mgrPkgZEldVFwc5I45kQSwgh23/3Y3RlRf9Uqcb6gJ4cn
         7omlEqhJ7E7rGeRbPZi1R4wEyJw7Sq/mXAlvKvp5CSnIz7+5WxxvGQKMSIMk3PRu9ikp
         6Qqw==
X-Forwarded-Encrypted: i=1; AFNElJ+tcAHbBc7JI5qUvNKUTOhkxt2/2qsAkysdKTR3rtTLCAqLUyUooVoghPrf2PGJW0ZR54xjjQNm5ec=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzQC2iRQB6fpn5Mit2BAOug/WJSVV9E8PQO1bD5jT+n6oH09Im+
	wO11ZoI5nqIdn2rylcDaHfiBDUp0RW6qlLNUoMTuc/ytIKH4ictRmYlSk8rmoIGTTA==
X-Gm-Gg: Acq92OFLSCqj1nC7xTfU5WOTr1Gn0UvOOEvZUYTywQD/nDw9k8dy8l65zO2eHCalAY0
	jJkBZT3WnQ/s3RqzWm8fDdpcMospinpE+TTrMRDQAWMSNfn0TovvVhMo+RIGiPdxHVETWkftnAF
	70XV2O0o8HYgZOEfUm/sOg+lnQpbv98iED3tZBfy1u2y1WH4XjD0sb5mhnqCVvCKdchgt7uQapQ
	5MteuCoeLuY4J8TKOKv0/AjxVPpXtTPjxNxLrR8QrzEP4/7QmludmzcvzGfnrIueJ/le9yMnnJr
	y0nLwmvKjdQnESOY1SjbyuH7S32fZSGtpoxkgthrEu+3Vv1Nl9hO1DBFLcwhaOUEfeANOzNvvq6
	AnnVQQ0rHyBKX0XRr/N+wLQ+EggFPKT3Y1SmimaBZzvln1Eo/Drp3CTj2AHM/e9p8YaLim35AFs
	MB5jwjseEV4T8R0IuSLsew8hHffoeeXlIDaXqCEBtzAH/iy596Uxh4LxItSopQm3+fJGQD699+E
	pmQSevWRrr20fkC+yQXdvprkw==
X-Received: by 2002:a05:600c:5915:b0:490:958f:2a5e with SMTP id 5b1f17b1804b1-490b071aa9dmr52992215e9.13.1780402187714;
        Tue, 02 Jun 2026 05:09:47 -0700 (PDT)
Message-ID: <7067092e-ba18-4513-a9b1-83ba084ccbb4@suse.com>
Date: Tue, 2 Jun 2026 14:09:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/6] Align all sections to 4KB
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-3-frediano.ziglio@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: <20260529153531.1341542-3-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1780402188-84B65D75-BCF7D362/0/0
X-purgate-type: clean
X-purgate-size: 1385

On 29.05.2026 17:35, Frediano Ziglio wrote:
> Required by UEFI CA memory mitigation.

Imo this isn't enough for a description: At the very least you want to
point at where that requirement is spelled out. Additionally: How much
of an image growth is this going to be? Considering that elsewhere it
was already said that xen.efi is too large for certain purposes (and
hence e.g. debug info wants stripping there), size increase is a
potential issue.

> --- a/xen/arch/x86/xen.lds.S
> +++ b/xen/arch/x86/xen.lds.S
> @@ -162,8 +162,8 @@ SECTIONS
>         __note_gnu_build_id_end = .;
>    } PHDR(note) PHDR(text)
>  #elif defined(BUILD_ID_EFI)
> -  /* Workaround bug in binutils < 2.36 */
> -  . = ALIGN(32);
> +  /* align to satisfy UEFI CA memory mitigation */
> +  . = ALIGN(PAGE_SIZE);
>    DECL_SECTION(.buildid) {
>         __note_gnu_build_id_start = .;
>         *(.buildid)
> @@ -330,6 +330,7 @@ SECTIONS
>    __2M_rwdata_end = ALIGN(SECTION_ALIGN);
>  
>  #ifdef EFI
> +  . = ALIGN(PAGE_SIZE);
>    .reloc ALIGN(4) : {
>      __base_relocs_start = .;
>      *(.reloc)
> @@ -355,6 +356,7 @@ SECTIONS
>    VIRT_START &= 0;
>    ALT_START &= 0;
>  
> +  . = ALIGN(PAGE_SIZE);
>    .sbat (NOLOAD) : { *(.sbat) }
>  #elif defined(XEN_BUILD_EFI)
>    /*

You say "all sections" in the title, yet this is not covering e.g. debug
info.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 12:15:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 12:15:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324872.1590364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUO1r-0005xU-QE; Tue, 02 Jun 2026 12:15:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324872.1590364; Tue, 02 Jun 2026 12:15: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 1wUO1r-0005xN-NC; Tue, 02 Jun 2026 12:15:31 +0000
Received: by outflank-mailman (input) for mailman id 1324872;
 Tue, 02 Jun 2026 12:15:31 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUO1r-0005xH-95
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:15:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUO1q-00H7xO-6o
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:15:30 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ec94d-5cb7-0a2a0a5109dd-0a2a4509c914-42
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:15:30 +0200
Received: from [209.85.128.47] (helo=mail-wm1-f47.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ec961-2497-0a2a45090019-d155802fcd92-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:15:29 +0200
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-490aaeabdb4so12943425e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 05:15: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-490b0e823f7sm70034945e9.13.2026.06.02.05.15.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 05:15: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780402529; x=1781007329; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=AfnRC8iRto3pStDWuCKCDDTKkXgJZ9bc3mzew8l6wow=;
        b=eeQvYnL4OEr8yB/xCApQFDte51b7p+qdydxJ52QNAOpe875Tr9hfb2ds5VjL7Su52e
         HGfXtIpRgWTTzhA3KYHz82EE5jJDPvryPuLASnm0Hp1intOWDdpt5XwdXvlfeEgja3eS
         xUuP7enjTx/LkwlGrOwekjqaCN75atElgX5BiB6BX04khdo5GpYuD1Zy7mQmSoN4vT7C
         t+M+hYiIXBP1zBm14/sLj8ZsGGZ2rDSsdgkgrwPtXzd165AnZudRQPOGXXM5oAlL8gee
         eXBdmYlIsN91nr8tsJxvtr3uyaQDpIgNR8mETvmY2PCOic1owdVXzdmjJUsTXgSY0ZsK
         d7HA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780402529; x=1781007329;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=AfnRC8iRto3pStDWuCKCDDTKkXgJZ9bc3mzew8l6wow=;
        b=OBza8HC+1oOv575Qt4pljnHGadVkgx9Rq0bHsUqgzvf68yfu2a6Pj39JIy8f2NrnsK
         1oKPKtuXEtNC00uq9Suffk9HBOGxrdhzLjjKXhc8UuFEJ7C20/c+zGeDcNxWhGSr3kam
         qIE+J5G6lVzk/BvAD+eXKA5MMVk1RxHo5319ZBHJWmhOifpH72o1DYvIAQDY+vMY58//
         lRHRvazl+HUiHo0I6PhzFfq1nfzjQGjjtZwkGuhnenIhhgxVnKSf5tG7UEd5PrCqnwKs
         eC+HYS9KsPNFlHU+9zXsW7smgrIq9fB9Rs8zV9ItP0fhRLjVWX5l8VFz/RBctNnJk1AG
         mSow==
X-Forwarded-Encrypted: i=1; AFNElJ/mn4VWg/LEBcbIXpW4OIDhvdzgZ7K09yBzV6DnXMuHKYGEHTI4DTLm96/6oj2B5TCvjybNqcXNQ4E=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzcg7xN0bhA+xxEHz0xME6359urQgqmsmxXDhgw5IiDiBbCNV4Y
	a31ke1VpXmsxmtsObfMma9DVBEypoIW4jHF7QFRYGeZTvgfnOhSANmn+/LcmUO6/SQ==
X-Gm-Gg: Acq92OFDnHlSXVTVBJWHW0+t9vDJsnxSuMzqAuUueklWjORQStyfniVs/DKHU/KNalC
	gubtaZtoGl2Csek9/wZEh+cy5P9IUnMaNIdlMjbuW6h6s3xAtDyvtROSsLO8jP8TeQxsl1nbbpJ
	OxjI2NjktN2DgmxokGTtkEIfRBhWKs048gtVtp8yIBx/q18TGkmDdDDXH3DRf1FiV+QCFmTn74/
	2s7NrgeY5v9L3uCFOjbQ5bCpjzElhWAufcYefcbuc9bzNjBecyrYQ+GuZbTZdVrH7PZMibzaWUO
	DAalhGjV4syBLZyxDlQv8zsmWc8UgzElzcA9vMIq+/uzP0Nf32Xza9NBgVHl3Tk560KsP5bz9VJ
	r5cP/6i9nISeJMGBidxLFLLIlxHCtgdeblGIO2kU56r5qIGyWjGsM8Ou4yRnQhuSZdBUGdbZmzN
	uNlnheliEqX7cSbfScrTpm/4WwG4nV9i2CihgvOU70235dXbzY7lZ+yI7v7tj8iqx+Amt8E5bUu
	6t3egzmD5UYS1Pgn8ONwQx+JA==
X-Received: by 2002:a05:600d:644d:20b0:490:45bb:8dd8 with SMTP id 5b1f17b1804b1-490a2952d6emr201669065e9.25.1780402529230;
        Tue, 02 Jun 2026 05:15:29 -0700 (PDT)
Message-ID: <35a67929-aaef-4b1f-8370-7dcdf096fbb1@suse.com>
Date: Tue, 2 Jun 2026 14:15:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/6] x86/efi: discard .text.header for PE binary
To: Frediano Ziglio <freddy77@gmail.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-4-frediano.ziglio@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: <20260529153531.1341542-4-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1780402529-4176AA53-E88E6EA9/0/0
X-purgate-type: clean
X-purgate-size: 996

On 29.05.2026 17:35, Frediano Ziglio wrote:
> From: Roger Pau MonnÃ© <roger.pau@citrix.com>
> 
> The multiboot headers are not consumed in the PE binary, hence discard them
> in the linker script when doing a PE build.

Yet weren't there plans to allow making use of those headers even in xen.efi?

> That removes some relocations that otherwise appear due to the usage of the
> start and __efi64_mb2_start symbols in the multiboot2 header.
> 
> No functional change intended.
> 
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> ---
>  xen/arch/x86/xen.lds.S | 3 +++
>  1 file changed, 3 insertions(+)

This is lacking your own S-o-b.

> --- a/xen/arch/x86/xen.lds.S
> +++ b/xen/arch/x86/xen.lds.S
> @@ -57,6 +57,9 @@ SECTIONS
>    __image_base__ = .;
>  #else
>    . = __image_base__;
> +  /DISCARD/ : {
> +    *(.text.header)
> +  }
>  #endif

We already have DISCARD_SECTIONS, so I think it needs clarifying why that
can't be used / extended.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 12:17:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 12:17:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324880.1590374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUO45-0006dv-9n; Tue, 02 Jun 2026 12:17:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324880.1590374; Tue, 02 Jun 2026 12:17:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUO45-0006do-6s; Tue, 02 Jun 2026 12:17:49 +0000
Received: by outflank-mailman (input) for mailman id 1324880;
 Tue, 02 Jun 2026 12:17:48 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUO44-0006di-7m
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:17:48 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUO43-00825j-KP
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:17:47 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ec9ea-2eae-0a2a0a5409dd-0a2a4501976a-2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:17:47 +0200
Received: from [209.85.128.41] (helo=mail-wm1-f41.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ec9eb-c1f2-0a2a45010019-d1558029b53f-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:17:47 +0200
Received: by mail-wm1-f41.google.com with SMTP id
 5b1f17b1804b1-4906869f0cbso105954185e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 05:17: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-45ef358c07bsm33899381f8f.36.2026.06.02.05.17.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 05:17: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780402667; x=1781007467; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=BQ3Qz6VUbtEc8b8Sa5o76DrtR8nIJMHN/jkW5wqD6Og=;
        b=bmsZJznn+Mh+/ui+y0IMSoYMBAlo1I2ehBNZsGAoVNcrigU7IVAwwY0HX6W3KCbtu2
         1HEKyaJBG5hngBVEuvYMQ2vBZTu7owLFMvOo4GAS8kcIfntyuU3CJS+XR3qKWb+0vh4g
         rGaoQORoAzM71nM9XmaImKowihx6GtDNX6wliJI8IHhehAlIk972Emsix/e8thiel2Y7
         oVtCsnY3wbBeDI4edllS7L/JF4Kubmkts5jDMFjKsWA2mQgzmlcmBvU6y8iZ8azUXTGr
         WoBgGB5ZvJnCHFgayq0gIkfUkYr4xCT8A42bKwzZTsrlnwOtOaDvp+IAXzBVJMTsmBE/
         oNjg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780402667; x=1781007467;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BQ3Qz6VUbtEc8b8Sa5o76DrtR8nIJMHN/jkW5wqD6Og=;
        b=XEZhbrD22atFK0MzOQBKl/EFbILzuAnx+PXhRRs1stcqs641s0cJc8I/FjtffMCpmk
         VyN4T3mn5fcQ/MA0WX30qQU8tT1k3aqA5ATdkJdroeyUBROSqqPMPMrXXga4urIM/qBX
         Vk44n9d2U/osrB5D1GAwBez/30uT7b72Ct/XgHWxxt4VeD2sJiGooQvQYKDZcINbCktD
         E7EHWHK2WFhLnXzDz3HRPeJaXzkgk6ZA7/wITN2HTphh/OYM2bGTpJNderRf93QJQhu4
         6SKfGIbUb+MBqS9GmtdSqfttx1jhfCvYOfPQQH2nMeFxhl5LDTAFTDbwL4yLYF0gMeWJ
         Us0g==
X-Forwarded-Encrypted: i=1; AFNElJ8WxgInz14b1f4X/i72/miwr3LFgROJyNMM6/2rHGmQ1HYXfixVVNmhH/2LN+lhcQTkrEQnNkGQvOI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwgxZ5tiFL9oLFwBKCfJZRcHlB0BNM4wFPLs3YtxPHCUpmt+48m
	ShGcnlUPmUOXB4rO8e8uIiJLKDs+C8KHW3gLl9EWGZlED7wkvwfyA/3Sgl13X0b5Aw==
X-Gm-Gg: Acq92OEfjMCbzAX7Ho1DIAmoeOrfpNQ07qCB9KTd1qMiv1UAdzaIgHjcBnr7ECUez6E
	xMB7xvTU7gkUrkwmX12lQG+Oefcv7NVhHRm+h8BvjDGJK6S1jYmX6fjkDk6gvfsqgSEOE+2BA9l
	Lp4sO7al8p0l0ypZdaw3BKyaX+LjRPyGC6ALPIN0tx+rwajRaxbapaBa4YPeTMXPc8qs9ffo1Z1
	TO1xnCNSqWNogaiefwofI2j/h9oXecRI2oluT9b6ZuBDstFAbjm+cR9bfxRSiRvQPuTZEunoMw5
	SLYSZP6v3pn6OK3qNU+xc7c9j2TecP5Q5bu+3zQl0VbvX66Q49No7O26TTzWcb6dCedFpT/UQ0D
	ZbEOifm7ggwM1IuJHuB+CrNnZ0JbXC+GA/G96QBNoa5Iv7Z5zgDg7D44AKYQGOFukGW+uGxoXpe
	XyBWtu7uuhOVoH1qajmKm6AYIU0u8BU2N6wxhI7hmxpl+2lSLyvNPluc1VissEKEhHr2h7gwG37
	SCzcB83WYlUSp4sXH6LrIg3bg==
X-Received: by 2002:a05:600c:8b53:b0:490:9d1b:f06a with SMTP id 5b1f17b1804b1-490a2916fd1mr283636475e9.10.1780402666911;
        Tue, 02 Jun 2026 05:17:46 -0700 (PDT)
Message-ID: <dea51228-0eaf-4e30-8ca4-fb4a5077a624@suse.com>
Date: Tue, 2 Jun 2026 14:17:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/6] x86/efi: discard multiboot related entry code for PE
 binary
To: Frediano Ziglio <freddy77@gmail.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-5-frediano.ziglio@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: <20260529153531.1341542-5-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1780402667-AF555FF4-F551C46F/0/0
X-purgate-type: clean
X-purgate-size: 902

On 29.05.2026 17:35, Frediano Ziglio wrote:
> From: Roger Pau MonnÃ© <roger.pau@citrix.com>
> 
> The multiboot and PVH entry points are not used in the PE binary, hence
> discard them in the linker script when doing a PE build.
> 
> That removes some relocations that otherwise appear due to the entry point
> code in head.S not being position independent.
> 
> No functional change intended.
> 
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> ---
>  xen/arch/x86/boot/head.S | 3 ++-
>  xen/arch/x86/xen.lds.S   | 2 ++
>  2 files changed, 4 insertions(+), 1 deletion(-)

S-o-b issue again.

> @@ -200,6 +201,7 @@ SECTIONS
>         _sinittext = .;
>         *(.init.text)
>         *(.text.startup)
> +       *(.init.multiboot)
>         _einittext = .;

Aren't you making a needlessly big change to the final image by placing this
last rather than first?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 12:21:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 12:21:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324888.1590382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUO7l-0008AM-OK; Tue, 02 Jun 2026 12:21:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324888.1590382; Tue, 02 Jun 2026 12:21:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUO7l-0008AF-LI; Tue, 02 Jun 2026 12:21:37 +0000
Received: by outflank-mailman (input) for mailman id 1324888;
 Tue, 02 Jun 2026 12:21:36 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUO7k-0008A9-Dl
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:21:36 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUO7j-00EPdC-NI
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:21:35 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ecac3-bab6-0a2a0a5309dd-0a2a450ce134-26
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:21:35 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ecacf-62f1-0a2a450c0019-d155802cd8f2-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:21:35 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-490a7678b2dso21711535e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 05:21: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-490b0e0f26csm62443465e9.2.2026.06.02.05.21.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 05:21: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780402895; x=1781007695; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ZhAZ1GA2QP2Btrm3capcnSmVnngO0x/1LA45nrUcl+Q=;
        b=BLvDt4P/ssFdpUdv6sTaDMjC+TqboAY11F7F7dhjM4OE2NcWW886w7k12Bc1LFgC9h
         3uPJOjWC/47BOv8oaMhSDHP8Lb+1FI0gdBSLSa+TWUeAmYqWGDPmS5oKDpqU3P5r4V4F
         Uds7s75ysj0eb0cvZRTCnylvCJWLgKpf3/zVpe4k72tzg/Dhexean8d8xppiiizRqI/C
         v6XwmLBLnKizF7PiZgd5dRUMFEafv1O3BCMAgH37/GdMCPkrzuKRzAwpwMnzSoUdKq3/
         PZ8wrDJugcNG7gwoqGfSlXF0+AjY3y3VnKPw9KpOUxuBVorkixdiuanNHiCC7Z4g+DOm
         lhCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780402895; x=1781007695;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ZhAZ1GA2QP2Btrm3capcnSmVnngO0x/1LA45nrUcl+Q=;
        b=fe+Xx+8ZEXjDbRa9cxY1U/4e7FySANbIbezOOGLuavSKBZ58uaEe8sOqYHinZmIp7C
         K73MLbY6Zuauc+oDOmQaXf0MIEID4tK24dKQ+Azg2NuwPH7biCaMIZi5MLXEt+l4e0ll
         BuDsl59MDRLcOM5DjxABwa72mWhTyBq+Z56jRGXUO5BgQ4S8j572eSmueWdF8NBHNXuq
         2myhHYiHW1AcVIwilGXLgBLH9tMgunusx0lzryzomwhZBOUAd8zraInszcGdYrsni9m8
         IA6rPVEK82eKywx1xdNSO9YPnH9TK3ethxqm80vAV9lHmIqtAFE4tdNIUKR1EC4vSTJ1
         OHyg==
X-Forwarded-Encrypted: i=1; AFNElJ8/GWDZlUvVqmR4OHoCJnyn9SCQRHfFEwP+5GaNFKFsGSJCGAbHGoHRt3PHadL4VftE1GepkdureLo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxFVtSGIG+TjOOIVzySBTE8Ijrf+FPHP2r8WJ2wEt70cUNTIW/l
	Up2SHqM1uwRvfFg5nit6LmsPTH2ZQazgamnkbMX6znxEr4blurD5A3k17x4/Gd6xlg==
X-Gm-Gg: Acq92OGVelYd0+wc2SpEnV25uqVvUYHyNwa+kZRf2ZDPoi90kCuRWqhrVk6HqjEZAYk
	xN8hlTa5mgr0UTsSkSpqDRt5Hvg5P0eD2Xo2Y8u1CALGzfUyoIvNQ5fA78UtRTV6KXsFRCq6DlO
	5eATqKlkcZ0iWvcppG/BjpJDJx434n1rBehXl41sw3ukWP4aHqQJgikokHdbASlihPZtre4xKjW
	ng4lAkXe7RxnPaIGWasFad3uHQnWsS9z9hDvciuoLyddmQyl7HHFDKr4y2W0+HrTv4r1vVGhz80
	dxBopjPpc/DTl09Kh/sgS3omP5fmLOESeLPAT7pbNa5QaGsMVvtuhzVh4fKvwsVQxBmUYM200pQ
	2T6sdYt0hK8YEqzp2zlIUwEe9hP0ijMXU9Iw7JE+bWt+UXrlwcCgBq/k/a5z6AWBoXBV4zwauz0
	CO5X7PkJPw//Z/TkGfTJUj0kaYwIbPRm47juEOM50PTvXNkhxglMBCkhAWs+vl5XK8ThT0F4Adk
	yVv0JOzOIJR5vZN5PN+3IJZVA==
X-Received: by 2002:a05:600c:a012:b0:490:9d5b:d721 with SMTP id 5b1f17b1804b1-490a292f9dbmr276459985e9.16.1780402894829;
        Tue, 02 Jun 2026 05:21:34 -0700 (PDT)
Message-ID: <37a760e1-bef4-45cb-88f8-1128f49dcbd7@suse.com>
Date: Tue, 2 Jun 2026 14:21:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 0/9] x86/hvm: Add Extended MSI destination ID support
To: Julian Vetter <julian.vetter@vates.tech>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, 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>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <20260427135406.1281424-1-julian.vetter@vates.tech>
 <1780402124.8631fc262581453bbf619ec5b2062170.19e883c7714000701b@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1780402124.8631fc262581453bbf619ec5b2062170.19e883c7714000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1780402895-E196DCF5-B7722E85/0/0
X-purgate-type: clean
X-purgate-size: 385

On 02.06.2026 14:08, Julian Vetter wrote:
> Thank you Teddy for your feedback on the patchset. Jan and Roger do you 
> have any additional remarks on the patchset?

I'm pretty sure I will have, once I find time to actually look at the v4
patches. Right now 4.22 is the priority anyway.

Jan

> Is the new structure what you had in mind Roger?
> 
> Thank you.
> 
> Julian


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 12:23:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 12:23:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324894.1590392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUO9l-0000Fy-3C; Tue, 02 Jun 2026 12:23:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324894.1590392; Tue, 02 Jun 2026 12: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 1wUO9l-0000Fr-0C; Tue, 02 Jun 2026 12:23:41 +0000
Received: by outflank-mailman (input) for mailman id 1324894;
 Tue, 02 Jun 2026 12:23:39 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUO9j-0000Fh-02
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:23:39 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUO9i-003GWK-D4
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:23:38 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ecb43-5cb7-0a2a0a5109dd-0a2a4506c19a-18
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:23:38 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ecb49-7371-0a2a45060019-d1558034b98b-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:23:38 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-4906238c62eso92579395e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 05:23: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-45ef358c07bsm33938051f8f.36.2026.06.02.05.23.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 05:23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780403017; x=1781007817; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt: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+8PSoE4u637YPK0NNw5iFwrdq8bd56YU23NtvSj/Bg=;
        b=cksLHLZYdOUUO/1PSwGcEPgG6tEMx4fE4uhkhWVaDQN52VE9BFKBQK2xyu/3fS8gS2
         ilB1Va1I8pBsmbzalU2nYGOYmGYNYyWxbiYLiUsxCAkAdFEvHhqMu8OfnXx4D3lpxk4x
         rT1tFEJdK/5qHfXLUkc6c4akQWyK5S7b5MNRXxO3q3u7W2LQD3CDBSOBi/agzyAbz7RO
         rNRLUDDvdJtVR9vFfz7Zavdj5+4fk0d84DkTJpyuAwfuxpkpu3npi7YzoQZUK9iPBvPr
         lFqNfl27XqblUs1cnzJ9+mp4pJA3YY4KiS4IclnxLLPRB8ZmRNhe0vam9ZgjeP6zLCyN
         TKPQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780403017; x=1781007817;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=f+8PSoE4u637YPK0NNw5iFwrdq8bd56YU23NtvSj/Bg=;
        b=R71qnuAnp/ri4mUXpDk8WKlW6k2cy9vlmIAJZEF2dBuJEjy0fnuCqMebFBhFefIWdI
         uyM4e8MHnfSEMOBHIpIGuIE8ICpaLd8DPbi8rWbctEa58RIyJNDaAUCK/ga7e0OvOIWK
         WDQ2EwDYRQFDEQy3FeHrIrDYBWneFXv4f19WutlpiFrTE1VCFTm0wtUyRgKWN6l+DTsb
         fWBD8as1NS9gZc2FPkUkTuIhxAoRp8QmX4wXg/sa3EpihSgk5WVmPaYxV7uhkBf3xm2I
         bmCx5YSDZt3uvA7FkbcGOybk3Xo4mHlW3PafZqJ/Q5mA0XuXNyB/loI2JMbAGmHGZeFJ
         6oag==
X-Forwarded-Encrypted: i=1; AFNElJ+O9X6w8tgVp3nDFkdaU+sj32YmrYW8vdnosm/JD3Gh93vMKTSmuE9RRPMLKxsQHmU3v0DnLX4gS+Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyGfUM7ntcxhBWditGqTpKXL2sB29Y83l4nLwVx6Lh3sxQitYrZ
	80QCIpss/daY1LoE8L9l8To2CdnA8ZwgejcFlM5VDGlb3JfUGq40Mm02tz3Bx8Ii7A==
X-Gm-Gg: Acq92OFidRdg4YW1cHgYVKIGz+91MBMiMw3120hXND55izepqZpKQhMFX+zVzU9T85m
	vYatZQcC0ZonU8ANzZloP5S6EV5oy53UyG2OtTmt40QLIn5GFPkfShhNNgM0C2PWfEu/GBs5nAc
	//xrb+2X17tRHR9Y9HonOkwAwuqNUBgUqguDiJn/CnNk0h31GlhY2UQckLPmKXuAtmqDbrO0cnm
	nyklvnO5vgEeNNqNJWfh1lcNmHZJDhxAi2AF3QH98bzgtQJhJ2TH5aQc0pvGZZlzlBVjenqLOXE
	YPh2jsQIzNM1R2tAn+LqXNM0upjeKHKVId1ois/7br3NdF2n8qA2fMMsiZna5bIM6Qev2Cxq3Ov
	CK9Zono2Jn7OTiOl33JVTHDN+8RVsVZEleHp8sElxKEu5MH/Hg6x6NfKwnArJcF9Vmn3KzJ5OKz
	e6flMthxSNW4uE2Mnei0E359dEl0SlowL6e1T3ln65r6m8ofelqXF+Z3GI0EIG0ga/eoPL5g1L5
	cwbXxjVOTFtqMU2XobbCqR4gw==
X-Received: by 2002:a05:600c:34cf:b0:490:6869:46d2 with SMTP id 5b1f17b1804b1-490a28d3b0fmr282601705e9.0.1780403017488;
        Tue, 02 Jun 2026 05:23:37 -0700 (PDT)
Message-ID: <ddf972f5-fab2-4833-99a7-d008f4d2c7e4@suse.com>
Date: Tue, 2 Jun 2026 14:23:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/6] x86/efi: avoid a relocation in
 efi_arch_post_exit_boot()
To: Frediano Ziglio <freddy77@gmail.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Teddy Astie <teddy.astie@vates.tech>,
 xen-devel@lists.xenproject.org
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-6-frediano.ziglio@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: <20260529153531.1341542-6-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1780403018-8C67DD75-E6668B69/0/0
X-purgate-type: clean
X-purgate-size: 554

On 29.05.2026 17:35, Frediano Ziglio wrote:
> From: Roger Pau MonnÃ© <roger.pau@citrix.com>
> 
> Instead of using the absolute __start_xen address, calculate it as an
> offset from the current instruction pointer.  The relocation would be
> problematic if the loader has acknowledged the Xen image section
> attributes, and mapped .init.text with just read and execute permissions.

How can the loader respect what .init.text wants when it sees only .init,
prior to the subsequent patch? Was the series meant to be ordered
differently?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 12:25:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 12:25:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324901.1590401 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUOBD-0000sE-CC; Tue, 02 Jun 2026 12:25:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324901.1590401; Tue, 02 Jun 2026 12: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 1wUOBD-0000s7-9Y; Tue, 02 Jun 2026 12:25:11 +0000
Received: by outflank-mailman (input) for mailman id 1324901;
 Tue, 02 Jun 2026 12:25:09 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUOBB-0000s1-9a
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:25:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUOBA-00EQ92-MD
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:25:08 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ecb96-2eae-0a2a0a5409dd-0a2a4509b4aa-36
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:25:08 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ecba4-2497-0a2a45090019-d155802bed27-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:25:08 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-490ac357c55so19535105e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 05:25: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-490b444f4fesm5703295e9.12.2026.06.02.05.25.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 05:25: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780403108; x=1781007908; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=F1jhGW4wdZRy0RrVq/4Ld1tFeIze3VOV2SJUrx8Dh4I=;
        b=e/aEq1jn4yK5DZVGBkLoRXtOneCeZuEkhl1eQqhP5DTZzLBGh4+/j25nbWxJr04Vc7
         urrzbExOA8b4xub6qBz08b3R84jaLsYRdBzxxmbyIpNqcobAwdnRNm8lSFf/PiR5Oo/f
         Gjz/z6ko4pVqFBs/uZ7JMB+PiO1HXisO9O6MaTUtbsntx7R3hHxlr9zMvYIC5m1FcNFU
         UmgEnzt1/ev7VgtI7tnbQbCbdiSHoaAg8oXaXjqD8eiJFfc5MwOmMZj4iwN7iYYs9N4e
         +rgjhLzDraTwETY0+kCcEpYOgVVgBeDiEqM33OroHS/P8Rj108rVd+26SunhKMM9YpFq
         R2ig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780403108; x=1781007908;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=F1jhGW4wdZRy0RrVq/4Ld1tFeIze3VOV2SJUrx8Dh4I=;
        b=TbbWT/3OaYgDLbMUNZH2tYlKuyTlI8RcA2eqQGDLaX7VFm3eGX/+8sjmh3fGj6P68V
         vZfIokhcWJ5zTPAthDDi24SXNQxwnxbTGL5W1ZJeWUvTgC50SLuGj6Sf4qd2D9PXUpi5
         2pBuqGWiqEajR22rEstVVZ7p6Yq3MKGJdSaXX9YlGsWxcis53xOak0r4bQQsWcR1ictJ
         vAA7WlNXwWV66Y3IJzsLU6h8LLXnKibI4RZwnrL5qEUGJXdCL/hpD4e2m7OBIngUw5Ja
         U3J6Q7BOLLz1Jbh6n6ku67FQZsN0dRpPd60FPJQhI0pJJNyyVXbdcgWPNYiUPuS5EPqP
         FVmQ==
X-Forwarded-Encrypted: i=1; AFNElJ/2RiE9hNN1Bo75YpjvCSLWFA1kzNdkA8p7ZKOdze9cKPH3T3fazqUVyXOgAknJYIM4WZ1VoWvxabM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzQIrXMXksN3KmVxQraeP4NOeeaYqSzw36oixNubQoVkTYS5GDn
	872Flj0l/e2VOzo3dZrXgIUQeTEuQrYUibBfLZciC5gyGJEdbONVl++L2zh0au3KzQ==
X-Gm-Gg: Acq92OGhcogCFfQgPE0MiwkJhDlK0XEnuBzrrImae74vS8WRGlz1gH4+gmgOwLR05Hy
	8QyzSefjs1BbvIm762fvW32vS5hmzSyq0+CTIWY6cEZL1pTdp7a67sua75Lx+2Tbj3VFBHB8k7b
	+a29AvTWnj6z35oEJ/BLE6xcwKnUP8I4f8gyhZu5e7LQc5rA4zhIVIsnZMI/sAOGKC0Wvbj8cGJ
	FPYyTN/Ni67+YBv0R6Bkyo8F4jhOdjRvfvAJmRMlF/zlNAHerR3Ag6LcliGEDfy2q8WBA1EkRwo
	AMCnWLJpugCylZAPeyBBPTfBkO5ZVknMwV67PageIaDELIQoWDXvtsIJNwWSs53mCbVw7kuLRsT
	Je81NLqi/9OwyZNvVMay1Z6CMiqDdqKSlDaAX2Obcn9yJaQQyV4j8v6AHkcCNwGEfyG+8w4TVGf
	6xSAYv3MJNMArqe8RJLkOi/PqXBd1gxZFQzr4EmBGz7E0XiHHMJEwSQPy+qcpkajvs/ne07qTgN
	PU3vkMRFcnfTDRqsSWhG2+F3si0hjSRDDgl
X-Received: by 2002:a05:600c:8508:b0:489:c57:7836 with SMTP id 5b1f17b1804b1-490a2952644mr250021575e9.27.1780403107957;
        Tue, 02 Jun 2026 05:25:07 -0700 (PDT)
Message-ID: <da68aa25-1372-4a16-bfe5-67c943950cea@suse.com>
Date: Tue, 2 Jun 2026 14:25:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 6/6] x86: Split .init section to satisfy UEFI CA memory
 mitigation
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-7-frediano.ziglio@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: <20260529153531.1341542-7-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1780403108-43175A53-B755FDC2/0/0
X-purgate-type: clean
X-purgate-size: 1255

On 29.05.2026 17:35, Frediano Ziglio wrote:
> Currently .init section is both writeable and executable, split data and code
> to have 2 sections satisfying W^X rule.
> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>

Like for the earlier patch: Reference please to where this requirement is
stated.

> --- a/xen/arch/x86/xen.lds.S
> +++ b/xen/arch/x86/xen.lds.S
> @@ -193,11 +193,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)
> @@ -210,12 +206,12 @@ 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) {
> +#ifdef EFI
> +  /* align to satisfy UEFI CA memory mitigation */
> +  . = ALIGN(SECTION_ALIGN);

Nit (also for the earlier patch iirc): Comment style.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 12:25:19 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 12:25:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324902.1590410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUOBL-00018Y-M8; Tue, 02 Jun 2026 12:25:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324902.1590410; Tue, 02 Jun 2026 12:25: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 1wUOBL-00018R-JC; Tue, 02 Jun 2026 12:25:19 +0000
Received: by outflank-mailman (input) for mailman id 1324902;
 Tue, 02 Jun 2026 12:25:18 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <accek@invisiblethingslab.com>) id 1wUOBK-00017j-Er
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:25:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUOBJ-00HArZ-Kn
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:25:17 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <accek@invisiblethingslab.com>)
 id 6a1ecbaa-e002-0a2a0a5209dd-0a2a4505e5ac-12
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:25:17 +0200
Received: from [103.168.172.154] (helo=fhigh-a3-smtp.messagingengine.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <accek@invisiblethingslab.com>)
 id 6a1ecbac-aaa8-0a2a45050019-67a8ac9a9113-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:25:17 +0200
Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45])
 by mailfhigh.phl.internal (Postfix) with ESMTP id 12CDE140028D;
 Tue,  2 Jun 2026 08:25:16 -0400 (EDT)
Received: from phl-frontend-03 ([10.202.2.162])
 by phl-compute-05.internal (MEProxy); Tue, 02 Jun 2026 08:25:16 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 2 Jun 2026 08:25: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm3 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:Message-ID:MIME-Version:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:Feedback-ID:From:Message-ID:MIME-Version:Subject:To:X-ME-Proxy:X-ME-Sender"
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=fm3;
	 t=1780403116; x=1780489516; bh=lc9LRteUWG74zsyPypriXZmN2GLT8md7
	B+LJjmGTj7Q=; b=dtAfrfNZrZQBKdUvugzrLAGY5TrFZ8hOJ7oYwPkAblT+FeyV
	wAMPhbzVG/Le040NlDvyZgQ0ByaLoZvuCDtxL4mAsT0xdwKzyCpxUmLN6IDML65p
	K+82JSaoHvEEPR0P5IYHR0Kd5ovpD8WF93vLFrjzT7qXGe/AoYTpLPHVRl9BjJH1
	loC/8nvulJ16rbR4bajR+RiYxhCAj7Dx77yLKZQ4hc+y/uIL+HzC7zSDhwOeB2Yw
	kdncNYEjjuKFEmsxwsU5ORIjqOhnLS7JlYQloSCp0OPg1vHGM6QXrY24eQmQkZrv
	Z81vCM+OaB007erneoi+vPlFaPy1dKxEj6N6ng==
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=1780403116; x=1780489516; bh=lc9LRteUWG74zsyPypriXZmN2GLT
	8md7B+LJjmGTj7Q=; b=eG0a4EebvFx7B75qpOsmGhwNl45WFiiqHEcGolwl0tbF
	40DR9txF+EMp7SL43MRtc1QJr7/SDk+pHxRFMU+1G6XA5gBfQnd5CS2D+v6AkDZR
	WqgU/79Qi+XhTrSksAzed4JXhxBxQOhTbg4/ZFPbThA7Mugqt8HyzZOj+F6wvKu3
	jky81Xm8dfSKewfGZvIbQUq6qXJX3qMATAF9hgIZNy7YBfYhfGE4sIZ1cs3iQfCy
	Voc3GFTTZQ/MD4puvr3QJCUllIZHMOioPZLZYhQGoCkOMLNGEtUc3eLkFoGzeOzE
	jiyUKBLAxAn9cz/awh8XJAcoEWbJP4C2K7Lhz85Gyw==
X-ME-Sender: <xms:q8seat2d4x1pRWjAnEO-nWRbua68O_4U-AEm2tnX-1MEylMPN1zGkw>
    <xme:q8seaq-rp4LdTtDGc-0pDjvULg_7BJidb2USpBOZc-OuQU3T7BKqpIUNcNeOEt3aT
    lkuSa_MzsxHk3fAKMpWAnjwYjUjJRGjmfDakIivFaU_TbIoX9Q>
X-ME-Received: <xmr:q8seamPmCfCE9Y1Zqa8Sx19d7-VHZHvuPMgi6-tDfQ7BZ3edovim3BJ1>
X-ME-Proxy-Cause: dmFkZTE6sp2OWoUQaNwRuAX0Dr0nJaYr2Y7RwpR8lcJtWFKPVOLwktdFbr+iVUrYoQ/YoB
    cVKDDEqlNu+nigdJJhP+e4JHZb8UCebI5xj0Aw2wPa0bSAGFkVviNTFhfu3hChJQ8fCqqO
    dndpGbpsWXw7T9Eh77MjS8mybUP3QWvXF+XRYYSE2CVbuiiCjHx3NXT0iCqECpFKSd1TN4
    6r2zLLD7VcI4/zvnw+pmR7rvjb0nzgbzjWIhqIk2vX+ssSPLOjEov9JbeADmBTMG+6CByp
    qZ3azdFQly3levwnWMxcX3UD9z7zueUpogb9vHOPowYO8q29HP7EvDiAsbSQA+bHsnnShA
    lIoDgYVfRzK+2Huw16QKiQ7xmUCd8brtqRTpnwme1n27Hf64EF2tVp8IAbFgJyqEeD3Syk
    hSfU+20oqHJ2233t8DEXwNrlsS3+OmC+QFfpeR0pLFuwYB5yuXXp2war3g3ZfKsmtWh1O3
    pZqNpIk7gSG/Fp1kvXRUu5KHLd/ZzoWib3WM8StJ6LyWqwJKpTC1TtlfVgZ5FuColhwaNE
    T1MnN7PXp0m8yuYwuB2F2SjpnhZsnM9mznuaD7myfKHkJwE8pyce9fzLwCQG2fK7jRt/VL
    bfTda++WwMwoZKJaisOo/BeoC03OElhoyCSQlLhUnfqb2UD6Jvwmtg32kTgg
X-ME-Proxy: <xmx:q8seamc0GdzHaI9Y_4yJCmbtIwRLvgJDCZ49-ZGWcjKSG6uXbohlHw>
    <xmx:q8seatWW2TFg080s39ixaBeLsaFMDuF9ShkfR90PbLnWOgUw8xXtBA>
    <xmx:q8seamjwgH0I8k4uPlCrVcJ4Lkft_4UqsFIB2Q8N6HtJWLnqXLCblA>
    <xmx:q8seak8U_W2v-HecEz1_c7THuK33V45kf1_XCWW75hOJTAbaCkWlXg>
    <xmx:rMseav7i5PHQSFvU4s4NHRc-WRY4DcFyH6TPTXLY2NCps480Gj0SXsce>
Feedback-ID: i792e4853:Fastmail
From: =?UTF-8?q?Szymon=20Aceda=C5=84ski?= <accek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Szymon=20Aceda=C5=84ski?= <accek@invisiblethingslab.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] xen/efi: Use blexit() instead of BUG_ON() in read_file()
Date: Tue,  2 Jun 2026 14:24:41 +0200
Message-ID: <20260602122441.2961974-1-accek@invisiblethingslab.com>
X-Mailer: git-send-email 2.53.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1780403117-DA374443-A3B907D3/0/0
X-purgate-type: clean
X-purgate-size: 1306

Follow-up to 880e40b187aa ("xen/efi: Fix boot from a device without
a file system"), which added a BUG_ON() guard in read_file().

But as Jan pointed out, before ExitBootServices BUG_ON()
is not functional. It results in a hang with no message.

On the other hand blexit() prints a message and returns back
to the bootloader.

Link: https://lore.kernel.org/xen-devel/bb0f007e-697e-4501-97ea-3b59cf494ec6@suse.com/T/#m4725c8cbc0946a5533aea03fc240267ef139648d
Signed-off-by: Szymon AcedaÅ„ski <accek@invisiblethingslab.com>
---
blexit() has been chosen over PrintErrMesg(), as the latter
is predominantly used in cases where an EFI call fails
(and it prints the status).

 xen/common/efi/boot.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index 2971ea8696..8f24df9bc2 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -849,7 +849,8 @@ static bool __init read_file(EFI_FILE_HANDLE dir_handle, CHAR16 *name,
     if ( !name )
         PrintErrMesg(L"No filename", EFI_OUT_OF_RESOURCES);
 
-    BUG_ON(!dir_handle);
+    if ( !dir_handle )
+        blexit(L"BUG: !dir_handle in read_file()");
 
     what = L"Open";
     ret = dir_handle->Open(dir_handle, &FileHandle, name,
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 12:30:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 12:30:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324916.1590419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUOGH-0003SZ-7j; Tue, 02 Jun 2026 12:30:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324916.1590419; Tue, 02 Jun 2026 12: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 1wUOGH-0003SS-4x; Tue, 02 Jun 2026 12:30:25 +0000
Received: by outflank-mailman (input) for mailman id 1324916;
 Tue, 02 Jun 2026 12:30:23 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUOGF-0003SM-HN
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:30:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUOGE-00857q-Tl
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:30:22 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1eccdb-e002-0a2a0a5209dd-0a2a4505c6e6-26
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:30:22 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1eccde-aaa8-0a2a45050019-d155802cc541-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:30:22 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-490ae94a89eso14457575e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 05: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-490b0e88fdesm67332375e9.14.2026.06.02.05.30.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780403422; x=1781008222; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=2KBv5uO2ztxtyUJM6aKgCnkl3X/WD9NrViNsDXoc/cM=;
        b=VCgEAdNGENWTBBsImmAMQUkqOZWvyNi08J/xMZSzhclGwOxnxmKIA/sXI++Uf7TAnp
         rDQjQ97Ii71jooXQFTpg7phLT08zc+A7dwNAyGvLTF3H7Ky7OlPbQC4+n+ABaZNgVhvw
         i0ffrLh6CGaSblxcjFhmxTs95v1N4T7IwRfUNUonhbEr0MIq6SIvz6KaRkiVtXKzJWzv
         duJta1mjPGDDUJSSh4xe5+VApy9XLNH3FHwFVRBg1rCkbBwJxpGwwnhdLpbHQ+F3XkO3
         SLeNimX+Qo8pKXyok9iIpl4wcsL+FU8fdOJ8oIwvA1iERdKUsV6NxMjRsOOTzLHF/u6Q
         7Gcg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780403422; x=1781008222;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2KBv5uO2ztxtyUJM6aKgCnkl3X/WD9NrViNsDXoc/cM=;
        b=EBddj+adlzGVfCMSZdFb4SnN2BPmBCFtSM4vzfAPNt34s4qU1sbqQ1scqPj9M6jiLk
         lTKVSsRgRHA4ZvmaYhH1dvXc6qDkBL0BXpSiBkoxYVzxEEdEZ27cuy3qbY1QPb4Sd6oM
         Aim1Qzmln04QxkNWuX1ETJ1uvbE8B2mY48AJL7eDk/7nNZek+nGURGdXoGq4H4aMRn4W
         qnaRLA3Y9LfeVzKPriymZJmmD44GndYLjJveBn17W2Y/kG+KqFT7/JqgVWPOY73PD9gI
         kS1GsTj9AJ6eDytdBokdbz8J6bM7So0JW9ecNjDazOukg2CaYmonkKmF92+bFUXoAUTB
         CfLQ==
X-Forwarded-Encrypted: i=1; AFNElJ/Nd7JfBN5Hq5aw4X75XOj01cqSGm6Am8rZF2b3ScGoPQP6NT65B5w/ZdbLVU5RuLnIb0EXzaojBjQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx56zz3nVo3tVBrzSeEG8bWNVXjLdTxN7W5xH1njLsHVuFymYvL
	Tg1zoUOrlYm4cCYQljiKOsNX6DWbrXUmX0MaM7hZqMOdDpeQ0O7TvvGXFS8P1kyBHQ==
X-Gm-Gg: Acq92OEd0dzezsd5puB06yri4ZNGHbFuxmCm0jPVGoCf/3XexevALvXc5zkgdIuQI1h
	2mQlgZKyFcNz4srEaW44ExXE/ZWH6YF1XmyJsiYG42do1moUuoS9Kka5/V8pHa6rFOpXPdcSW9D
	ijvNgiRzeMlLaAzhXktQdIiKA+U93d5FBfhF3wYsLo2MYN9AOBGgaTmKG30Rw7xbfBcbBocStOP
	DsuP/afX19T0HUmJDTXEZdJ3DX95APH9rMfRFYSlE7hSne7z2MztjKCK6y8el2aH4nbZE5eR7sO
	mC6w4RoXCyoDuWXjMmNNr2eTDF8fuXJ4RmPAdvVocEXZWvpBu6s52AG6miZx2rzFC3n6Gb2+GTM
	Dr5HjZp4LYB2bWKPVJQzitQUUHKqDULAtwN/szrSTaOHq1rag56Qi+IgQ6OcdagAbXGjSAk64m1
	/BxiTfyiSqhjoNFyKKjAu8FNLjdBNS7SvM/fCy1CnftCiURyHDfCZHI4o6TyIv3eY+c0hDqXdvJ
	IIr/dNMj6iCxxyhNVcq57pdjA==
X-Received: by 2002:a05:600c:870c:b0:490:b2a6:8c2b with SMTP id 5b1f17b1804b1-490b2a68d7cmr38688625e9.10.1780403422013;
        Tue, 02 Jun 2026 05:30:22 -0700 (PDT)
Message-ID: <4cdee2ea-8673-4280-8b62-c95485cbcc35@suse.com>
Date: Tue, 2 Jun 2026 14:30:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 0/7] xen/mm: Normalize per-domain page counters, >16 TiB
 per domain
To: Bernhard Kaindl <bernhard.kaindl@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Tim Deegan <tim@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1780058608.git.bernhard.kaindl@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: <cover.1780058608.git.bernhard.kaindl@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1780403422-D8145443-01E39937/0/0
X-purgate-type: clean
X-purgate-size: 1996

On 29.05.2026 14:43, Bernhard Kaindl wrote:
> Summary of a comment by Jan Beulich motivating this submission:
>> Considering that systems (and hence guests) only ever get larger, we
>> should consider to normalize per-domain page counters to unsigned long.
> 
> This series enables supporting guests >16 TiB in the future
> once the system support for machines >16 TiB is implemented.
> 
> 1. xen/mm: Normalize common per-domain page counters to unsigned long
> 2. x86/mm: Normalize X86 per-domain page counters to unsigned long
> 3. xen/mm: Static memory: Widen assign_pages(nr) to unsigned long
> 4. xen/mm: Static memory: Widen domstatic plumbing to unsigned long
> 5. xen/mm: device-tree: Widen static page counts to unsigned long
> 6. xen/arch/x86/dom0_build.c: Extend the upper limit for Dom0's max_pages
> 7. tools/libs/stat/xenstat.c: Extend the "no maximum" sentinel for max_pages
> 
> This series is based on the NUMA claim sets v7 series:
> https://lists.xen.org/archives/html/xen-devel/2026-05/msg00363.html
> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
> 
> Bernhard Kaindl (7):
>   xen/mm: Normalize common per-domain page counters to unsigned long
>   x86/mm: Normalize X86 per-domain page counters to unsigned long
>   xen/mm: Static memory: Widen assign_pages(nr) to unsigned long
>   xen/mm: Static memory: Widen domstatic plumbing to unsigned long
>   xen/mm: device-tree: Widen static page counts to unsigned long
>   xen/arch/x86/dom0_build.c: Extend the upper limit for Dom0's max_pages
>   tools/libs/stat/xenstat.c: Extend the "no maximum" sentinel for
>     max_pages

Btw, I have no copy of this last patch in may mailbox. Going from the
list archive, imo using ULONG_MAX is as bad as UINT_MAX: There'll be the
same issue again when the field type changes another time. This really
needs abstracting properly, imo. Yet then I'm not a toolstack
maintainer ...

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 12:34:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 12:34:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324922.1590428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUOJu-00040W-N3; Tue, 02 Jun 2026 12:34:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324922.1590428; Tue, 02 Jun 2026 12: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 1wUOJu-00040P-KG; Tue, 02 Jun 2026 12:34:10 +0000
Received: by outflank-mailman (input) for mailman id 1324922;
 Tue, 02 Jun 2026 12:34:09 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUOJt-00040J-N7
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:34:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUOJs-003dD2-9h
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:34:08 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ecdb6-bab6-0a2a0a5309dd-0a2a4501e892-38
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:34:08 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ecdbf-c1f2-0a2a45010019-d1558032c885-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:34:07 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-490a76757e5so19132405e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 05:34: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-45ef354bb62sm31560900f8f.19.2026.06.02.05.34.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780403647; x=1781008447; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=XxRAOdqncPw7XcxaRahzadj5xAHP7JVO+s9v1bLI3SY=;
        b=SVuuAidJhdcdNjXLI6t3MnT9Mp8GTA3jcVMYQr4in41oleJcJC4CNRN62Lzgwrrdio
         4M+06n98KgedqNMvOof6xhGJ3hP9c6//hT00jRkhgdfuV/rL23uHfrv6UvHsrPJcJWtj
         I2UFSwITc9aP7QZqeIE5q9d7sMoDUmurKaG6ILg5v8SVBSlkkcwCsaa8aFHDhKJ3cT7x
         ql+yJtU6aqBZ3FG0toIj5VlLTJucpqHWegeIg5bN6SC00xL1IP4oYAgjs6vXKV6gFQWn
         TN9hPFb5t3/3pH3MbpT8gYl+rJ3nKgSxlscvyJx+VNfVVmZ9A/fxoQeUY4Zk/h7xpQkU
         omsw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780403647; x=1781008447;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XxRAOdqncPw7XcxaRahzadj5xAHP7JVO+s9v1bLI3SY=;
        b=kQlE47w7+AhbeTGGlkzJAOnCEZqvxi2a2QvBg6d4DTtfr90f932JHMHtaegL3V6iu7
         LHEfoSHzYxC2vDXJ2bypKoGPDnmWku8UTNSKSqZ6zqh9dyx0no7y3xPmiH2WFAuPsegW
         o16iylClQNJWRML2JRoN5jL26UuARxOtbMLxHvLawJtSmHkQrNcUyHYZe3k6VuOZf4kw
         AECH7gyQfP5Z90lwnXcHR0hc4r6oTwH8zlUnv8uKoPTRgzcMHuxZpNoqKKIkesgkQUhk
         a4wbV3a/92seAUEYB5ZkBsJxSK1TxgNiwPB1ap1qwoRulkuiXp2AUQKyiuiVb7REEx3x
         ez8Q==
X-Forwarded-Encrypted: i=1; AFNElJ+a4TTFBIZKK5wC3K5HsbM0iTbwuBPgoj2tUaIaSiMoNM396R0vy+cOeX6TFVM/PhnKGdY1978CSks=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyUkDjPgYoyDrrcbM5J38ECFJuA26NsLWmNF5nuiw9lWW7RgZvW
	+UbbeQaXox7E5S0n18FBhhE/jMRCkVH4D3I1FhLYKfyf61Z2p67d/ilt8zxZLbALuXneNwSIemS
	Hlfk=
X-Gm-Gg: Acq92OG0iWvquormFaz+LzINcey9V7mziw7kSrmNzVK1ZTHngNcarNi4GMzbiSPxoDQ
	h0MrDlgI8bXMfH9AdXlzOFpFl/+dT3FFC8iIgvvaPpfIZifF7lASGj9uTaVVG3LytOzUrpDiEr/
	vEmZfcKKZgnFgVP2OXaT0/1ogc+LG3ErqFo5ggS6R7lVfxSUI38l4WdzPnI1COn6eD9Nz+uZpch
	k1Iq8XxyJYM3wK3cAdWMGYR3N8Zjn8xqcKRJLaUsItz+NPO/YYyFUHI1ea0fI1oRKRUmiI0hZcT
	LZDuuB7K6FWQsd5iCBT64L6WDNwhROJXzma/J8ne7hOPcmgCqsQsAyrfqHFVTVfQYQgVlPg9ec2
	8JLfjKhkgjinWAxBfJ6STtlSTu1WjUXpHWim+CenPn7gKoiM74m7/quMIC9qSiTbNl/bt3xVym8
	1GSLmLGhK+iKj7bral1l+hr/68sYZ9TaYThyw/quSyxi5T0IhkPpsQnqRaijIaQZVat5eTUBP1s
	BDQYbxrEf1t++HCzx467nsvwQ==
X-Received: by 2002:a05:600c:8582:b0:490:51e9:deba with SMTP id 5b1f17b1804b1-490a293b7c1mr219476425e9.27.1780403647145;
        Tue, 02 Jun 2026 05:34:07 -0700 (PDT)
Message-ID: <979ceb84-f254-4cbf-a33c-8d4557a12b11@suse.com>
Date: Tue, 2 Jun 2026 14:34:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/efi: Use blexit() instead of BUG_ON() in read_file()
To: =?UTF-8?Q?Szymon_Aceda=C5=84ski?= <accek@invisiblethingslab.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: <20260602122441.2961974-1-accek@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: <20260602122441.2961974-1-accek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1780403647-AD1ADFF4-61F6180D/0/0
X-purgate-type: clean
X-purgate-size: 833

On 02.06.2026 14:24, Szymon AcedaÅ„ski wrote:
> Follow-up to 880e40b187aa ("xen/efi: Fix boot from a device without
> a file system"), which added a BUG_ON() guard in read_file().
> 
> But as Jan pointed out, before ExitBootServices BUG_ON()
> is not functional. It results in a hang with no message.
> 
> On the other hand blexit() prints a message and returns back
> to the bootloader.
> 
> Link: https://lore.kernel.org/xen-devel/bb0f007e-697e-4501-97ea-3b59cf494ec6@suse.com/T/#m4725c8cbc0946a5533aea03fc240267ef139648d

While Linux uses Link:, as per sending-patches.pandoc we don't. It wants
to be Reported-by: instead, and there wants to be a Fixes: tag.

> Signed-off-by: Szymon AcedaÅ„ski <accek@invisiblethingslab.com>

With the above properly sorted:
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 12:41:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 12:41:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324928.1590437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUOQY-0005y4-BK; Tue, 02 Jun 2026 12:41:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324928.1590437; Tue, 02 Jun 2026 12: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 1wUOQY-0005xx-8L; Tue, 02 Jun 2026 12:41:02 +0000
Received: by outflank-mailman (input) for mailman id 1324928;
 Tue, 02 Jun 2026 12:41:00 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUOQW-0005xr-Eq
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:41:00 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUOQV-003eYB-KQ
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:40:59 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ecf4c-e002-0a2a0a5209dd-0a2a4504e65a-26
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:40:59 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ecf5b-1dec-0a2a45040019-d1558035b4a7-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:40:59 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-4908b92904fso60685215e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 05:40: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-45ef3556f51sm36710608f8f.25.2026.06.02.05.40.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 05:40: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780404059; x=1781008859; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=qhDCoBSnlTbdiRqAKmmXHwkazVSdqhZLvKItmbORDvo=;
        b=Av9E+ZYmKPEdM1PBEe6OeVigiExuCZxZtPsXy3dK+RJbwrv2lHufL5/RYN2L5W3uCI
         kWOvo+MY3lZda7XZkgRAoctesFO6lZNGjstAWX7upIygoy5doZxu+qxSOdhoL/Jgqkqu
         g4BVoRHIRUWHJtVlKYkzRqipuimkbJkoE74eKRFSqNtNQhE4YGF71SxiSdaoJJ/k4w+W
         Mjl3ZbpARgRn/ng60W5ISjwmkMVDEqFcRssAKgf5jY1r3usaNSf/WnUdv/6UnxYWCP4M
         Iyjenw092KeIuJvBgczwd8+NbUtdEkOxHpObBqm2r1LLn02/03hcL9FuFFP7IxESNeUp
         FdSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780404059; x=1781008859;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qhDCoBSnlTbdiRqAKmmXHwkazVSdqhZLvKItmbORDvo=;
        b=k9HgPd7T+D0zlzYY+KPyeug9MkQ5qxlr4FGP/nzD1YXIJGKCUSDzZaxZN/nTUaXQSX
         n9ygddFV2r9bXiU8kWLXstbB2ByFD4PgO9iSDgFgRZZnlh6tRt1dZMpDqlRbhUccSarF
         sDBdMYxphzmtTsrts6TULklBVvJiT3LXF3JgD4OOyglCWLGu7Lo8IAS7NgVtmG+VTc98
         dr26Zl68LEbq4oqhszGU16ZhLlsueg9CGiUumT14XDmWP4cAz2viaNKUeA9q8/veHGad
         N6d3d4C7Wiq9QefWh+m+zx9N/81c76fzUCD3hnzV1OGK3Ewdh9bGRuuBh2YmvWgQqPVU
         l6Gg==
X-Forwarded-Encrypted: i=1; AFNElJ8BaAgFElYrzRVUPT7/5YT2dyi6exF/qSb/rS6z/wnXld+hwyOiC/0uJ/Xoo89ngIUmmg73ligJObk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyxkGsvgjSO+wnPn/8r66oQxAYNRw93Ef0UhO1YKOjshXku5Xt4
	inK9ltF+Lc2KD/OUECG2l2EGap3rpmSmIO4c8sFB1OEtqdx8UlWZrhfpEaam7C+ilQ==
X-Gm-Gg: Acq92OF1nIdK+bLHKlISjB65fwSHYwSv6s6s/09pTkU7v7HW2tBxh0FVWq3E1Imakea
	PnX6Vvawc+evmYwTZxWHsvOQIMD10roSdtsuDNP4+oCjMbd9dA82aRfFhw5N1mNGpMUiBsU/geW
	hNoL9X6jlDXowwTIGicWBGx2Lh2+dw6cDnHIVsl+PlvEALdVnFt+OTH/muTdVGIvEYnsy6dGbWF
	hDEDm0iNvQlUOdBJe736PQJSfxrdkmM9YOABm1RNk9QNr7gm+XQ2VfxgLnPzuMmuf0bNKYPlWga
	FkJ7hlAleEuAiqkwUaJJg8x4GU6rX++nDQ5a3f5A9YXb/mzjGej5x/lrmypIxBMiSouEWDuWYP/
	rPIe13qwI4tRvbC8wycHvAS8SgoSL6T4tt6rwiQRR3ySXKkVout4/MofUg1ieinPxwd+wQxg4Iy
	SaB1+tAPRrjXSJdu7/bKro4siizE98+du5Y7oFY5smDkcFBmi0hKfT00u2pBX5fgBZ+BJ8squgO
	HehnoJOjQEjCilF8naVXQlnUw==
X-Received: by 2002:a05:600c:c0d1:20b0:490:688b:f10d with SMTP id 5b1f17b1804b1-490a290ec8fmr205690615e9.7.1780404058932;
        Tue, 02 Jun 2026 05:40:58 -0700 (PDT)
Message-ID: <bd0d81bd-b366-4db7-a37e-34c756b5d32e@suse.com>
Date: Tue, 2 Jun 2026 14:41:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/7] xen/mm: Normalize common per-domain page counters to
 unsigned long
To: Bernhard Kaindl <bernhard.kaindl@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1780058608.git.bernhard.kaindl@citrix.com>
 <2a2bb3c2f32a82e722cf2e912f8b71443f67fd9b.1780058608.git.bernhard.kaindl@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: <2a2bb3c2f32a82e722cf2e912f8b71443f67fd9b.1780058608.git.bernhard.kaindl@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1780404059-297793FF-353EC54B/0/0
X-purgate-type: clean
X-purgate-size: 1839

On 29.05.2026 14:43, Bernhard Kaindl wrote:
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -414,17 +414,17 @@ struct domain
>       * This field should only be directly accessed by domain_adjust_tot_pages()
>       * and the domain_tot_pages() helper function defined below.
>       */
> -    unsigned int     tot_pages;
> +    unsigned long    tot_pages;
>  
> -    unsigned int     xenheap_pages;     /* pages allocated from Xen heap */
> +    unsigned long    xenheap_pages;     /* pages allocated from Xen heap */

I'd like to at least raise the question: Are we perhaps going too far by
promoting this and ...

>      /* Pages claimed but not possessed, protected by global heap_lock. */
> -    unsigned int     outstanding_pages;
> -    unsigned int     node_claims;       /* Sum of per-node claims. */
> +    unsigned long    outstanding_pages;
> +    unsigned long    node_claims;       /* Sum of per-node claims. */
>      /* Domain objects use dedicated pages, leaving room for per-node claims. */
> -    unsigned int     claims[MAX_NUMNODES]; /* Per-NUMA-node claims. */
> +    unsigned long    claims[MAX_NUMNODES]; /* Per-NUMA-node claims. */
>  
> -    unsigned int     max_pages;         /* maximum value for domain_tot_pages() */
> -    unsigned int     extra_pages;       /* pages not included in domain_tot_pages() */
> +    unsigned long    max_pages;         /* maximum value for domain_tot_pages() */
> +    unsigned long    extra_pages;       /* pages not included in domain_tot_pages() */

... this field as well?

For claims[] in particular the doubling of space needed also isn't entirely
nice, especially when people (distros) build with a large NR_NUMA_NODES (aka
MAX_NUMNODES) but the hypervisor then runs on a few-nodes or even non-NUMA
system.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 12:50:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 12:50:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324942.1590446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUOZw-00080O-AQ; Tue, 02 Jun 2026 12:50:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324942.1590446; Tue, 02 Jun 2026 12:50: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 1wUOZw-00080H-7U; Tue, 02 Jun 2026 12:50:44 +0000
Received: by outflank-mailman (input) for mailman id 1324942;
 Tue, 02 Jun 2026 12:50:43 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUOZv-00080B-PP
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:50:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUOZv-00HHXe-2F
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:50:43 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ed1a0-e002-0a2a0a5209dd-0a2a45089f60-10
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:50:42 +0200
Received: from [209.85.221.46] (helo=mail-wr1-f46.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ed1a2-63b5-0a2a45080019-d155dd2ed822-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:50:42 +0200
Received: by mail-wr1-f46.google.com with SMTP id
 ffacd0b85a97d-460166910e6so943182f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 05:50: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-45ef354b7edsm32863588f8f.22.2026.06.02.05.50.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 05:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780404642; x=1781009442; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=G6ctf22auH4IDt0bPbc2QgNjftV6+zjC9Kr805mMPDc=;
        b=RCnazoGU1C28+OCXV45lEZPOGNQ0Tz6Ul5m1olrnMXSVqaFbRzlOq1T4+AT3DSokHj
         iEjMMkaPiZZcSdS9C1rPvEbyX19tvg0tkzPReJiAZv7eW0v3V9usy4Gwe7ZyqA+lIlL2
         zetp9qKDtUPqNguxCCYccYRtyfH89xHSc6LFGm6+fpO436jnz9bXqfbflu0i75udr9xM
         pKprF5uw9fc23N2+YpAa78N4j+WBkqVXf9qlHhyHHrqlKfVYTAAWB+vqOhc8iaikOMKR
         oj5wbOyM45w4IVGmA3ic62m8/fa+fiC1FnkPV27ouM8qPMLeqaoeB97k6Ff8pd/Br1id
         cvbg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780404642; x=1781009442;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=G6ctf22auH4IDt0bPbc2QgNjftV6+zjC9Kr805mMPDc=;
        b=XjOJpkzRfFsTEbCforAv8hPhAmUPM3TKp3QJPp2lK/7oa/545VMq5gY7g8taKDV+85
         vRSTh6veJZoHpWujWnjuxB0xpqG+JpCme5t+7DQ4NSq/XvsXXibjWhcWF5anugmMQVEb
         y/nqQudoYkUAy4me27F7rspEJl3sgx2WF/L2oUaRsuvF4fhlupBfdqXUcz+UeFdyokCk
         8ArdzGPq4fzl3r6TtyxvPnupcUjOwDttkuaz0rstIvJgtHAryH+vkXe6WiIKpJSn4zQS
         gLWCNOnKbMiiZpVCcUidAyQpIImupERsoaUeFSThbPdvyjRWK0s62bFeBNrKMaysUyyl
         2DAw==
X-Forwarded-Encrypted: i=1; AFNElJ/lypAeAnd1tnoFfLOIt60rf5HmSX9LGoVUU2fbR/+OLTnrF1Bl9aXB2CoyiUQOP8PemelQ3Mk9cWk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyQlu/T52IoB2OS/hTcvcnqDkafOA1gNj36iKNBNGQd8aZFr9pT
	GJlOg++vqAyaRrIYcZw63TAugS/BppOHwaV99FRWzih85eN26gtG9T+BV7XJ62kk3g==
X-Gm-Gg: Acq92OFtxClyytK5JVU6xi9p5IZfIxIjht2NAF4XqAjcqEOxh7qaoQkw1w3DYNj1y1u
	bgFP31psPx3hfKskJB255cOidb2xCnNzr/iMvN5kIVlU13fq9qO6OX0HaSjP66ctoETpXL5yq4q
	X9aT9psnoQ55ZD4nNtLIPey4nzYLVu3B5B2w0cWoGX6NFTB6i9yM9ytboBnT2AmMdjORb/2/ty1
	QPswvNJWm9oatub9ZBTcec5mjbPSPsUatGSYUounQdvfnNKMEZaaa2+jqXvAP7JgCRx4H/WcfRJ
	jZTiFHn+b5VDHYmMthOO3LpRWuu8YvuVxVp3G+kn7aWisIGtFBsqPc2r7d1Jt6NG+VgczGrB1We
	ZOS2MPT/YHDZ1Dt+CY40D7TuuYCq2juaYJ+1IA3cFtMc8Mod0i2vs3ECMq/Pe0N/ST6p/CBjSy6
	7rmV6H7tadUfSc5m4rgIUp7yERbybpL0m2NTQQpGpzBHu5maScb4caMPip+gTS15mK/2qOpQ76a
	j4U2oHs3Q5lfM40n42KIKtrVg==
X-Received: by 2002:a05:6000:c11:b0:446:96b1:f5f with SMTP id ffacd0b85a97d-45ef6b028ecmr23460523f8f.8.1780404642266;
        Tue, 02 Jun 2026 05:50:42 -0700 (PDT)
Message-ID: <cc4c4f50-2351-4a80-88d4-f9d2b54d03b2@suse.com>
Date: Tue, 2 Jun 2026 14:50:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/7] x86/mm: Normalize X86 per-domain page counters to
 unsigned long
To: Bernhard Kaindl <bernhard.kaindl@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1780058608.git.bernhard.kaindl@citrix.com>
 <21fa13ba303f59f14ace46cd0715b07f8ae99468.1780058608.git.bernhard.kaindl@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: <21fa13ba303f59f14ace46cd0715b07f8ae99468.1780058608.git.bernhard.kaindl@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c1860d/1780404642-BC567DB1-9272B1FC/0/0
X-purgate-type: clean
X-purgate-size: 1963

On 29.05.2026 14:43, Bernhard Kaindl wrote:
> Prepare x86 for >16 TiB domains by normalizing the per-domain page counts
> in paging_domain (total_pages, free_pages, p2m_pages) to unsigned long
> and widen page counts in related x86 allocation functions accordingly:
> 
> - paging_domain.{total,free,p2m}_pages: unsigned int -> unsigned long
> - x86/mm/shadow/common.c:
>   - unsigned long sh_min_allocation(d)
>   - unsigned long shadow_min_acceptable_pages(d)
>   - unsigned long shadow_get_allocation(d)
>   - shadow_set_allocation(unsigned long pages)
>   - shadow_enable(): fix narrowing from d->arch.paging.total_pages to
>     unsigned int
> - x86/mm/hap/hap.c:
>   - unsigned long hap_get_allocation(d)
>   - hap_set_allocation(unsigned long pages)
>   - hap_enable(): fix narrowing from d->arch.paging.total_pages to
>     unsigned int
> - x86/mm/paging.c:
>   - paging_set_allocation(unsigned long pages)
>   - arch_set_paging_mempool_size() don't truncate pages
> 
> Note: pages in _shadow_prealloc(), shadow_alloc(), shadow_free() and
> shadow_prealloc() is intentionally kept as unsigned int.  It carries
> the per-shadow-entry page count from shadow_size() (uint8_t-backed,
> max 4), not the pool allocation count.
> 
> Note: xen_domctl_shadow_op.mb stays uint32_t, and the domctl ABI remains
> MB-based and caps at 4 PiB, replacing the 16 TiB per-domain limit.
> Casts widen the mb-to-pages arithmetic to unsigned long where needed.
> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>

I don't think I suggested this, and yet more than for parts of the earlier
patch I wonder if this isn't going too far, at least right now. Certainly
a 32 TiB guest (i.e. one having 64G pages assigned) isn't going to need a
P2M pool of more than 4G pages. As per code you alter in patch 1 and here,
the internal ratio is rather 256, i.e. the widening would be needed when
we meant to have guests of about 256 TiB size.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 12:52:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 12:52:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324948.1590455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUObp-0008WL-KK; Tue, 02 Jun 2026 12:52:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324948.1590455; Tue, 02 Jun 2026 12:52: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 1wUObp-0008WE-Hh; Tue, 02 Jun 2026 12:52:41 +0000
Received: by outflank-mailman (input) for mailman id 1324948;
 Tue, 02 Jun 2026 12:52:40 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUObo-0008W8-1g
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:52:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUObn-003JTE-Eb
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:52:39 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ed20e-bab6-0a2a0a5309dd-0a2a45039774-18
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:52:39 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ed216-672d-0a2a45030019-d155802bc4e9-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:52:39 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-490b09e4cccso8081345e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 05: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
 5b1f17b1804b1-4909c08f1bdsm159293185e9.1.2026.06.02.05.52.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 05:52: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780404758; x=1781009558; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=SXb3soQXuUetc/QFa0kwySw+TqRN+wSeDeHU/l5U/gA=;
        b=D+Bs2gn7wPIgtcivNbA2OPoabpR969jQ+0quu73rNaBe0jlNhBmQ/aOIyfHzge47Da
         YCxsxEjdFubWQW5Xi21iRONi36MBAtAL+NLoln4KbWmFSpOo8ky1PmxlZcKjcb3A30YI
         0ErNCDXbvSFt454lX0R554awlRT8FahUsCoAltFFCTsdPvpqJCXZc1D84KULRjGZrTZH
         sjkv8tYtOCSxoHmXyo0+YdqkF8i7B0MaM5yuGhrM5iGUsG4Ed5y9ioS94uSnp3CQC1Es
         VdiyVWRst4ZAua0JVTaWYrvgD8Dz9hHhZmvc4+UvAjRHYsm2ywt5i85ukZiy5t8Hmiw3
         YbVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780404758; x=1781009558;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SXb3soQXuUetc/QFa0kwySw+TqRN+wSeDeHU/l5U/gA=;
        b=L8ZtxIFsflKl6CNbnI/TlnhbE3IxmRwdltqpskv43RkNkXL+Gh7WYTIxVP66kduxyu
         4h6VQm7eIP6jo3UXb/sNnHynLH2kcHcwBNle1YcQrp/NIGaKScCDLCwykQfbk1WUPzJF
         DigxjG16zDab1gY0+ydD0sM7DVhDJ5Zxcbeqn/ZFm6srIV3Ub2YUciPH1j/LnumeST4b
         nNKMJ83EM0j6ftIGFYo9G4EWjYOOQ3qmR4hMpWD3/onaqqkT4qzP7HVA1s4OQrDxnKbl
         v+D88CYncFahXNYs7QkEAOJkw7D51OXNbQ9GxUkSjJH+azf9fnteFPCw4JXnLsdRTZwN
         afzQ==
X-Forwarded-Encrypted: i=1; AFNElJ+wWTbs0hl6GdiVqjKGD5KZb6TydcPddh0L1kWGcEqGOXp9r5LEVQzJcuckiHvyxjiReEngMgwOhiQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwwVxd3Y85fhIATvVziLGcfXLlx5+77ohSwjOjnNsgf/jk0r9k+
	Bt6B72ob95TsdHJRVzlSZpmi4W+V7D5I13G9PF7e6lx/HXhPTsQzyp8Rb/7Ef4G55g==
X-Gm-Gg: Acq92OGLuU6GtobTpQsDg/n926kAZTrAxMGk0lbTXFfOqmJ+QpqZttBAvdjD0JcxRTW
	SeFreZOoYkOW5Cqwqmg2CulOiFdrrGd0HKStRA6ykn2Jee9bgnyBH2O1s1SfREgqSmQiF30NL1Z
	2789qxd31ctDvFQZUrDYxR74VM6ojB5qABN0q8Yw/1xmG/zccKvM2cR4eHkQum/NP1cUVpsnxu7
	VexBurgICVxyvFKXdG3a9Of/Ll0zQsizkKMq8Ykdclmordf94OLwSxc7ZZNDa41TGdsBjFegPYt
	Gybeh+Qd1BgbCIFXxlVd/6SHe2wfXUAjf5X/5+Hqd8V5oBuGU/Ex2OqFTbhXlAhhXRB3TRCeqVE
	NYpH+SMRTUfjngj6uifUXoff++0GtjP2KbG+gukTFjKJH8fA/Fy0Uv885+rTHF4n53OmIzep+KE
	ZTyMjltp5YjJpRvoh11enux7uMazdpJJxprHQplUKC6Hxtdlhmq/mx3dgHw830HWyCKz0xg2dJ7
	Ep+ry6hPg5RMO8EDd2YXMkC675CuU6tFoFK
X-Received: by 2002:a05:600c:c0d2:10b0:48e:7854:1608 with SMTP id 5b1f17b1804b1-490a2938f7cmr205584175e9.25.1780404758536;
        Tue, 02 Jun 2026 05:52:38 -0700 (PDT)
Message-ID: <372ecd28-16f3-4857-bc69-546291e0f1d7@suse.com>
Date: Tue, 2 Jun 2026 14:52:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/7] xen/mm: Static memory: Widen assign_pages(nr) to
 unsigned long
To: Bernhard Kaindl <bernhard.kaindl@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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1780058608.git.bernhard.kaindl@citrix.com>
 <06bbdf043e4be80bfc4f13926e8e02b42358f3da.1780058608.git.bernhard.kaindl@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: <06bbdf043e4be80bfc4f13926e8e02b42358f3da.1780058608.git.bernhard.kaindl@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1780404759-39370938-042164EB/0/0
X-purgate-type: clean
X-purgate-size: 1771

On 29.05.2026 14:43, Bernhard Kaindl wrote:
> Static memory assignment is currently limited UINT_MAX pages.
> To normalize on unsigned long, widen assign_pages() for unsigned long.
> 
> Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>

The code change looks okay, but where's the connection to static-mem?
assign_pages() is a more generic function, isn't it?

Jan

> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -2851,12 +2851,12 @@ void init_domheap_pages(paddr_t ps, paddr_t pe)
>  
>  int assign_pages(
>      struct page_info *pg,
> -    unsigned int nr,
> +    unsigned long nr,
>      struct domain *d,
>      unsigned int memflags)
>  {
>      int rc = 0;
> -    unsigned int i;
> +    unsigned long i;
>  
>      nrspin_lock(&d->page_alloc_lock);
>  
> @@ -2870,7 +2870,7 @@ int assign_pages(
>  
>  #ifndef NDEBUG
>      {
> -        unsigned int extra_pages = 0;
> +        unsigned long extra_pages = 0;
>  
>          for ( i = 0; i < nr; i++ )
>          {
> @@ -2947,7 +2947,7 @@ int assign_pages(
>  int assign_page(struct page_info *pg, unsigned int order, struct domain *d,
>                  unsigned int memflags)
>  {
> -    return assign_pages(pg, 1U << order, d, memflags);
> +    return assign_pages(pg, 1UL << order, d, memflags);
>  }
>  
>  struct page_info *alloc_domheap_pages(
> diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
> index b3a35c4bc8d6..b4330269418d 100644
> --- a/xen/include/xen/mm.h
> +++ b/xen/include/xen/mm.h
> @@ -168,7 +168,7 @@ void heap_init_late(void);
>  
>  int assign_pages(
>      struct page_info *pg,
> -    unsigned int nr,
> +    unsigned long nr,
>      struct domain *d,
>      unsigned int memflags);
>  



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 12:55:54 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 12:55:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324962.1590464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUOer-0000cC-2X; Tue, 02 Jun 2026 12:55:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324962.1590464; Tue, 02 Jun 2026 12:55: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 1wUOeq-0000c5-VV; Tue, 02 Jun 2026 12:55:48 +0000
Received: by outflank-mailman (input) for mailman id 1324962;
 Tue, 02 Jun 2026 12:55:47 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wUOep-0000bz-FH
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:55:47 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUOeo-00HIbh-OH
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:55:46 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1ed2d1-bab6-0a2a0a5309dd-0a2a45069d78-6
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:55:46 +0200
Received: from [40.107.200.15]
 (helo=CH5PR02CU005.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1ed2d1-7371-0a2a45060019-286bc80fb526-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:55:46 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SJ0PR03MB6328.namprd03.prod.outlook.com (2603:10b6:a03:395::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.16; Tue, 2 Jun 2026
 12:54:39 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 12:54: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ieDvl+A2lA0ySHKUrgcnmeuyQWPkJlZGflCA1tivgPieDu4lxSv+u6fBjCJomSppzpW7NEBlZE/5Sw17Yend6hmYXaD96IFwN1/0teeML+igV5nkkSxkHkcDb30VsTv97m5BNiIvQmX7XxPFRB++/x+FXJXY6LQdLCzQ3lSjK8j+OYdG2NEu9bA0ER2/gCd72ml20HoizeKPmeabOcO7Zhk/D4r2qrvekX8EGrp2xUoeiIV7dr+qlNHxKpmOoL/GOyGqiIHE1xeiwRB9fht6pM+9FsIDzVrLWiA3B07Z+J1eDos8hVeP91nN0FYSoDIq3zluXB71nIakRM4xldrLNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GqbwujTX8M/R4DGpzx0GFaWiKG/+grpNJ50K49Rtsxk=;
 b=q8wiF8IC+FWtli9F56cV1nkc2YqsMAqB0A/NRwQAfFSEh11JxxxrCj58T3+oI6UsH8N4sLw8Vt2PkdavhgVerUovt8XWlQ6WMriwK12A/Es3THizwSkHFbovr7sqCHshuT1JH4P2COyo5c4Bt+/gCkSfFdsFoSFwiKMN7UpXHzEq8fdR8pPCDpjnyvj/Z36z1DR9/eEu53EwP1+x8hX7sdzW+M02vUkcmxR5VTvCuoFlrUOgyp1DfycF33mBQ5gFH1jGeRhWWAf+OPRmKWg3hmpnGnVd4MRl1o4bEjpZHLcwBTuEluglEQrBeUO/aUct6A4T+Zxljyl5T8WxPjV36A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GqbwujTX8M/R4DGpzx0GFaWiKG/+grpNJ50K49Rtsxk=;
 b=dUI3myyoAKeDZ/KhIS38GNvW00zFJ4Miqg22T/o4b4FxBcxjh35xrxRHqTZp0dd9xFxvO+YBiWj8rEo6vsOAbUrOpuUMNnC4W9A1nhbwx8XpQn+TpbgffSLD4a9SzHvqunGfxm6rCZZvbD/NkDIyNyNdbXtphsVXB8xJ2j/nVww=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <1090e22f-f1bd-43cc-9e8b-cbb6060d805f@citrix.com>
Date: Tue, 2 Jun 2026 13:54:36 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Gerald Elder-Vass <gerald.elder-vass@cloud.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 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?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 1/6] Add SBAT section to the PE binary
To: Jan Beulich <jbeulich@suse.com>, Frediano Ziglio <freddy77@gmail.com>
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-2-frediano.ziglio@cloud.com>
 <e6cd8fdd-97d9-4f07-b952-079c67598f32@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: <e6cd8fdd-97d9-4f07-b952-079c67598f32@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0365.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18e::10) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SJ0PR03MB6328:EE_
X-MS-Office365-Filtering-Correlation-Id: ff9b069a-2978-4434-f9ca-08dec0a61bbd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|7416014|366016|22082099003|18002099003|56012099006|11063799006|4143699003;
X-Microsoft-Antispam-Message-Info:
	nERzny0lFqoU2eaU9Pa9zIu4r9SjLjqASLnMKZFlv+/AW/DGzOF4Upq008F9txkuoc+miUfjLUtxl8KHYRjyu8bnPyR3jN7esPtJ1ayrlxK8bYItsSZjc/CGuFl29TdJKjp55VViC38irk2jaUPL1kpWIblAgSiWKvSGP7FrNdSHaej2r5b08urkdj+IQlO8dt76zUSheQ4Cp9qtHYYpLb+JFr8vY6AM2KTvrhUvJV19n9ojEt2SAiRiEkBv9YJLLr2B0tLtaBbIUWbSstpqmq4ylHdtDUc2/1SfLknByI9lDOCQgVfn/V4JkbsrKDVKEjP6YGAeqtQ99MFfKKywC5IZmsWPNjsd9a0cE+ftey7+GUQs6CC0NiZtSYdSyu9JhqeyLyS94Uuz0JRhdgiWmZEySmCO3NBseajHbCK40O39r84SY+FxL9vJL0TD1SwiPm+tCIcpR5/pHDDUvPzL3v9SG8aJsoneIdnAy/2rlB/FC96iCkfpBqfGO91rmihk69jN0+0RW6gliieBty/zICS70Okd8Xm/8RQIjo9IW48gjDf7L7oBdFMF/rCRIsE+j9oHRDAUNI08bR4CYtK8a7b2n3clTPIejb5dhMKOXRaDcgJAbA2BQ7mjcheODAPEPWB7HJpbYoFME2UgimL84LmeC46h7xH8vFVHNHeqVWq5K5eQ2Yvb0gfMTBqRpbrR4W/ZVlODv1ka5VFBvUHDwQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(7416014)(366016)(22082099003)(18002099003)(56012099006)(11063799006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WC93N2lMRm5YdGpaT0Zrb2xqTEZGYVJHamVwam9mcTlCRHJ5eGFDOXMrZGJC?=
 =?utf-8?B?T0FsOHhaaktMcnhhdlkxUllEK0ZoWDNQanIvRXhpL2ljdUJGd29ZZ3RqOHMv?=
 =?utf-8?B?dC9PVnc1d1Fpcm9raktJMWRpdk9uSmZ4UlhVaCtrQ3FQd2RwRGxBRVlyeFZa?=
 =?utf-8?B?UWJ1L2JOUm5oR1FuRTV5YnZBWjU3OENDaHZzTFpQYVVNV0plL3IrUVpNbmRp?=
 =?utf-8?B?SnJqOHh0R1craW1hcXJPNitoVUg0dTU3WkpKUHF6VVpEbkVFeFJoMHQ0djJY?=
 =?utf-8?B?TjNTL1pRVXFIU3dXMWR5NzZ1dDZIV1JFTXRrRHU3RzA4STRyK3Nmdld4SHYz?=
 =?utf-8?B?bnhoQzNYbnEvdUgzRDlJVTRoSk9LUTBCK0N1RGpiREJJRyt5VXoxNnhkSitW?=
 =?utf-8?B?K2ExWGlwT09kUDVST3FBbSswZnhmdXpBaUowNGhTbWZlblBncHpLY2k1UHll?=
 =?utf-8?B?azFkajhQUldSWUcwdGNiTDNqbHFRU05kRURrQlVmZEJieWJpcXZvdDAxNmxZ?=
 =?utf-8?B?ay9aeHZiZWtmdEdmbGtOa0liQnhjK0NKUyswU0RFTnpRdzBNRlJEcWEwaXJr?=
 =?utf-8?B?YjBhcnR5ckNaY1BjUTlSWklzSG5uTUQ5M0xHbkJDdUNEdThXalUxVlhPZDl0?=
 =?utf-8?B?dnFZREhVYXcwM09LQ3pyTzhRWkdYZXZNNmJVcnZHbGMvYjBnZkMycFJac0xk?=
 =?utf-8?B?M2FkaDIyL3Rsc1BsQms5WXpKOUROM1hPOTN1R2cyNHpCNGh6L1lBbDkwejN3?=
 =?utf-8?B?MVF2NjMvL3JZZXZReS9LcEhFSGhMZ3V1WitKZFlydUZOckwyN2hPd3U1V3d1?=
 =?utf-8?B?MVJRYkg3QnZialF6ZUhHREQ5SllQRE9pY3Y1TnNCWU1zL0lFSUhVdGxTa0hU?=
 =?utf-8?B?LzFocHZXaDFEM2ZiQUVzR2R6UU5XTGhDSi9TR1RhWm5IUnBtRU5TT01aQ0Za?=
 =?utf-8?B?YVUyLy9MWkI1RnYwWGUwenhrRjBDKzFsNUkzSFBOSklWS29HQ3J4YnZ1UjBn?=
 =?utf-8?B?VHlMOG0vQTlweTNzRXFTeTVtNEN6SlhUVHp5MU5tNlhUaFFIZkRZRjZ0Wm1I?=
 =?utf-8?B?cXZvTmNpWG1EeGczU0kvNklZMnJGdDdBdTlqa3NvVkl2dFZVclNFd0N6R1A4?=
 =?utf-8?B?c0RmRnE3VkhHcjltU056WlZ0ZjJYVTVEdjlGWjlDRXpOU3hEWGJiclRNRUty?=
 =?utf-8?B?V1c3Y0dySWxkREkza0xCTW5ZOFBjbFRiN29TMGxlSVRsajA4b2w1TWppUGg2?=
 =?utf-8?B?RCs3b2QvSU1rUldjWDZJNFRDYzVkc24xaXB4STFSWGRxUlB4dS8wSEdNWXRn?=
 =?utf-8?B?TCt0SnBaQW84QjdpejdnbTlpdDhCYVdURDFBcUZHU2pCd3Fmc2laaEYyR1d0?=
 =?utf-8?B?U2ZvaHdlV0pKMHhvU1FLNWIrT0NyQjY1T2M4WWFNVFVUV1NDSkpPN0Z5Rjh0?=
 =?utf-8?B?QlRMdkFadXNxcWp4YmpmeEJRa25JYS9sZUkvL2Y4WWJCZmhPeS83bWZlNU9l?=
 =?utf-8?B?S0wxS01NV2k2SFZEZytScmtQWjBlQWhNNVVzMmlHajFRS0dDeUF4TnM5NDlG?=
 =?utf-8?B?OGFJNkxId1FoVDVRaHNDVmM4NnhJb0NxaUo3OUl5YWR6QTA3V3hOaGFOYldw?=
 =?utf-8?B?NWF0U01kY3lsZWx2ckZyWXN5ZmxLVURqd1NjcTdvNVNrbkI4N1NsNnEySTI1?=
 =?utf-8?B?ZVFuREhnaUwxS0NaSFFOS2pwbVlSc3FadlpZYkY1UkdXYnFXckQ0Sk9pRTRJ?=
 =?utf-8?B?YmJjcDVydnJWNERaVTl4QnpDcWY5K2xMdTZxNWlMRnJoWU5UVXQ0a1lBWnNF?=
 =?utf-8?B?VS9qNWxNWmo5NDhyUzZXclpHRVdBb1MzTmpmOHpIdjNrTSttZ1pjV0JpdlB3?=
 =?utf-8?B?NnI2NUw2ODJ2SkFxeWNNN2ZxTlF0UVZpZUNMZTI3c3hGdkJNaWpEbHZiK3Jj?=
 =?utf-8?B?bUNpbFlFc09ldzJUbEpscG10WUJrVTZ0RkNmcExHeGsxS0FEd3NVMkdKQTVy?=
 =?utf-8?B?c0ZSK0dMNkltaDBQS2tsZzBxWHdqWXN4KzFiWXcyWjE5a3BqODdVN1ZWVG1V?=
 =?utf-8?B?NUtHb0dUcEdXbzFSMlRJWHBnVW0ySkZ4bEZicmNIeGNmNVNab1hpQUducElo?=
 =?utf-8?B?dkNEK3RBZ28vN1ROblVTNExUMlFLQkE5cDdaemwrMUdiN1hVOWR1SXRmWmJi?=
 =?utf-8?B?d0hKalJkbzdTVC9nYU52M1k2UU9nNmJraDFrYlNraW90UFBaZ0lOQnRlT2Vi?=
 =?utf-8?B?Tmt2ZUNtcmJOY0FhOHBNeUEzaVVJRlRxVWg1ZVlEV0w4TGNjVDNVOURBT2pk?=
 =?utf-8?B?U2xDSjFzWXpqTEJyeGdqMHNWejhOMytRaGd6ZXZ3TTdQdWpTMVRtR01ncFdp?=
 =?utf-8?Q?4RJoKIbvMiZblWj4=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ff9b069a-2978-4434-f9ca-08dec0a61bbd
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 12:54:39.6466
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lFkBkE9TFkRyiZlp2l/AFa18RnruL8ueiKbTdyKWWlV3q4GN2LLy5t5GpdIgPcSMFM7hnIySXE34RO/kiW9o0u1WB1EO9f0U/U7i2fzw7/0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6328
X-purgate-ID: tlsNG-16d1c6/1780404946-8757ED75-22F3CFA0/0/0
X-purgate-type: clean
X-purgate-size: 2795

On 02/06/2026 1:06 pm, Jan Beulich wrote:
> On 29.05.2026 17:35, Frediano Ziglio wrote:
>> From: Gerald Elder-Vass <gerald.elder-vass@cloud.com>
>>
>> The SBAT section provides a way for the binary to declare a generation
>> id for its upstream source and any vendor changes applied. A compatible
>> loader can then revoke vulnerable binaries by generation, using the
>> binary's declared generation id(s) to determine if it is safe to load.
>>
>> More information about SBAT is available here:
>> https://github.com/rhboot/shim/blob/main/SBAT.md
>>
>> Populate the SBAT section in the Xen binary by using the information
>> in xen/arch/x86/sbat.csv.
>>
>> On XenServer, the version and release fields are populated by the spec
>> file during the build process.
>>
>> Signed-off-by: Gerald Elder-Vass <gerald.elder-vass@cloud.com>
>> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
>> ---
>>  xen/arch/x86/Makefile     | 4 ++++
>>  xen/arch/x86/xen.lds.S    | 2 ++
>>  xen/include/xen/xen.lds.h | 3 ++-
>>  3 files changed, 8 insertions(+), 1 deletion(-)
> This gives the impression of being an entirely new patch, when really the
> (standalone) patch was already at v4, and my comment there wasn't addressed
> (perhaps merely by extending the description some). It also feels like there
> were other pending comments, or else why would this not have gone in long
> ago?

The content of the SBAT table is still pending the security document,
and in particular the decision over whether upstream Xen maintains a
global revision or not.

Although the global revision could be appended later.

>  Additionally, ...
>
>> --- a/xen/arch/x86/Makefile
>> +++ b/xen/arch/x86/Makefile
>> @@ -71,6 +71,7 @@ obj-$(CONFIG_TBOOT) += tboot.o
>>  obj-y += hpet.o
>>  obj-$(CONFIG_VM_EVENT) += vm_event.o
>>  obj-y += xstate.o
>> +obj-y += sbat_data.o
> ... like elsewhere: New files' names should prefer dashes over underscores.
> Question of course is why this isn't simply sbat.o in the first place.

Also sorted.

>
>> @@ -275,6 +276,9 @@ $(obj)/efi.lds: AFLAGS-y += -DEFI
>>  $(obj)/xen.lds $(obj)/efi.lds: $(src)/xen.lds.S FORCE
>>  	$(call if_changed_dep,cpp_lds_S)
>>  
>> +$(obj)/sbat_data.o: $(src)/sbat.csv
>> +	$(OBJCOPY) -I binary -O elf64-x86-64 --rename-section .data=.sbat,readonly,data,contents --add-section .note.GNU-stack=/dev/null $(srcdir)/sbat.csv $@
> That'll be an SHT_PROGBITS .note.GNU-stack, won't it? When it really wants to
> be SHT_NOTE at least for bleeding edge GNU binutils (see relatively recent
> changes there).

That was my addition to prevent there being a warning about RWX stacks
cascade all the way up the build.

Maybe a better option is to have sbat.S with an .incbin sbat.csv ?

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 12:57:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 12:57:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324969.1590472 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUOg9-00018p-GS; Tue, 02 Jun 2026 12:57:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324969.1590472; Tue, 02 Jun 2026 12:57:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUOg9-00018g-Dm; Tue, 02 Jun 2026 12:57:09 +0000
Received: by outflank-mailman (input) for mailman id 1324969;
 Tue, 02 Jun 2026 12:57:07 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUOg7-00018a-Sv
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:57:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUOg7-00CALA-9E
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:57:07 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ed30a-bab6-0a2a0a5309dd-0a2a4505d622-26
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:57:07 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ed2e6-aaa8-0a2a45050019-d1558034d1b1-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:56:06 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-490ace40f4bso22073065e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 05:56: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-490b0e88fdesm68826855e9.14.2026.06.02.05.56.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 05:56: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780404966; x=1781009766; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=qpW6keh8y4Q24+avBj4YTH27Oi2yu0Poy9+KGMgY73s=;
        b=OA9WqgB9ru3mXA1reKak6nFwb9t8453w+8Pzp0aNlXlJ1842QIh5Rj414hz8rHqY3x
         GvwetD3zmT/rGVJNAmSdWLRrLrlR4wCKGMbLXvetrp085pISAlhIUUZQKx4UeBHZjBJo
         sLO2Ll3e74B44hWOleVVtkFeJal8uHWZuIpABkCCbXTJAmIBzqqz7l5vwS8N7T8Xv58D
         FkeJRiH3O6nSZh3ugxzxdcq7WkiDVwRuni1ffrwwH16+iQjo32/AkcfqvvIDC9tvReg4
         rab1/uBsAE9Pss5H5idSY9Ez8DyYC5NxURx511U05CUEFoMXYHgPWphH+Kt/uiEFqhlk
         /Ggg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780404966; x=1781009766;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qpW6keh8y4Q24+avBj4YTH27Oi2yu0Poy9+KGMgY73s=;
        b=nupB+xXCTqKMfHn0wcGHgzX+WZAai4ZLz/SlG242FYbPl+PunMv0+IJtQQOmj++91h
         9w0mNmtD4giPRKJT4Le0gjeoPyogLXmnLhCSPIO53GKgmQ2DRT92QaQtX4hjnMu1GHyo
         BWNVKVLAts2HBj6xzPD24++kLf4cXPJTBZI7zg9vQ0xAnQ2ydmDkbKj1qOsox5GEW4Bi
         dma75VUNQuxliaMz7PTJCxnmlf71GqCZ7w6Mk62FjkALej65X9gacG4kOjzzBnb75+8v
         xUHAqgDT73e1W8VwKhwwu0yeWXE4kXMdxT+Fsa8ywMYOwCSsuUayeV4QbBkK4qzBrvdH
         fOpw==
X-Forwarded-Encrypted: i=1; AFNElJ/iyEXv4sPJ8gG0AJyfdwQKivbc45zUdRLPgk2HcKZAJj6gk3NuSsEvNAu5Mtib6mIrrUxzsMp4VLw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yww4xPzacBlhgZLbluQzlqGavPKsGJhnN5WhfeuZuPAPyyDxE+6
	YHJA7BDOKhwm/aGDqPUa76GXutFyaJz07UrMLQuMN5Y67Ib10hNyIZ5tWj55wEhtow==
X-Gm-Gg: Acq92OFwZ8AQqBuhvV9ZYvtQC19N8KgXcT6aE9FzzenXJdQn3tUATWt2kYvfIsqpoTH
	2gA4/U/T2wfULp7Ivvv9NKUR4PRrLKXYpmebk5pSFmyP3wlYGz/eW6XHIG3wEoJU8ZYGd7jzxEd
	ePpCoPv9nyFCD0IrjUVWnQNq2r+6Dvt9JXrRdtJQSfEIYBGFOEAjaHaOwsjh3MW0Dn/h7zrlyG/
	d9wr2CXpdeBz1WNgsF3AM375/jVRAK7a2cCZnyxMeIBsLMW+WPYleAa7cdD721Yhyo5rPSm4zLO
	SMqgihbqLg2/Xt9sZzsm2pra/JyRdnVMd1ExWsRnQmWWi42cwVGj4qVaT2BN1mzp8iNuLB7pPwB
	1PtL9f3rNsv8oFJAtL4yYwsFMalBaeMQ1et3rbNxgah9lA7OQuW5npClq14BmazygKV0k0v10Yh
	x4fYODpgv4RIErZfaHWLrMydL93jPVaD/E4GdFO1P/69E+heqskbskS9N0PQhfKfA1X4gIsle+t
	1Jceb/k/V06lFd28o53IWWpEg==
X-Received: by 2002:a05:600c:4fc4:b0:490:3890:605b with SMTP id 5b1f17b1804b1-490a29637dfmr272118165e9.31.1780404966418;
        Tue, 02 Jun 2026 05:56:06 -0700 (PDT)
Message-ID: <6705dd90-ce04-4d91-9759-0d68efcb7db6@suse.com>
Date: Tue, 2 Jun 2026 14:56:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 6/7] xen/arch/x86/dom0_build.c: Extend the upper limit for
 Dom0's max_pages
To: Bernhard Kaindl <bernhard.kaindl@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1780058608.git.bernhard.kaindl@citrix.com>
 <ca5e61de283a1dee1b679c5aa27b3c6432b0ffce.1780058608.git.bernhard.kaindl@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: <ca5e61de283a1dee1b679c5aa27b3c6432b0ffce.1780058608.git.bernhard.kaindl@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1780404966-DB563443-9BC2DEE9/13/0
X-purgate-type: clean
X-purgate-size: 1002

On 29.05.2026 14:44, Bernhard Kaindl wrote:
> dom0_compute_nr_pages(): Update the upper limit for Dom0's max_pages
> in dom0_compute_nr_pages() to limit from UINT_MAX to ULONG_MAX.
> 
> Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
> ----
> Creating a Dom0 of > 16TB isn't a useful thing,

How do you know?

> but could be for testing.
> ---
>  xen/arch/x86/dom0_build.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/arch/x86/dom0_build.c b/xen/arch/x86/dom0_build.c
> index 80308ca9af46..2ebb8308fbaf 100644
> --- a/xen/arch/x86/dom0_build.c
> +++ b/xen/arch/x86/dom0_build.c
> @@ -440,7 +440,7 @@ unsigned long __init dom0_compute_nr_pages(
>          }
>      }
>  
> -    d->max_pages = min_t(unsigned long, max_pages, UINT_MAX);
> +    d->max_pages = min_t(unsigned long, max_pages, ULONG_MAX);

With this there's no need to use the (type-unsafe) min_t() anymore.
Wherever possible we want to use (type-safe) min().

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 12:58:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 12:58:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324975.1590483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUOh0-0001uH-Po; Tue, 02 Jun 2026 12:58:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324975.1590483; Tue, 02 Jun 2026 12: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 1wUOh0-0001uA-Lf; Tue, 02 Jun 2026 12:58:02 +0000
Received: by outflank-mailman (input) for mailman id 1324975;
 Tue, 02 Jun 2026 12:58:00 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUOgy-0001tO-JU
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 12:58:00 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUOgy-003Kgt-0G
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:58:00 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ed352-e002-0a2a0a5209dd-0a2a450bb6c8-6
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:57:59 +0200
Received: from [209.85.128.47] (helo=mail-wm1-f47.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ed357-212f-0a2a450b0019-d155802feca3-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 14:57:59 +0200
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-490b43e2b95so1344205e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 05:57: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-4909c11555csm101447485e9.26.2026.06.02.05.57.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 05:57: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780405079; x=1781009879; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=/4Sh/S3iRRNscvG4+twE0pbGJLIle7DXRCUOishQSqM=;
        b=Vi3rpIp7pVNzvl++sXd56KvRcpsJmjyNuy5soXfGgfTS0r82TRT6buk4hwHLLZLLG9
         k1u1iGhRgQ4sqIzmwvrPHA4EbBJzh4za7J3Qa3gi7pYXDnjA6zmSPJ4s+Oe/cMeTY5io
         G3XYoI+TuPTmxO9oTUFHtpnVTkChDLrMCgErCefu+F+B55k39hI3dcxw1qvFymdY8UJO
         /MbYgBmgEmgoXCkabwOj4kfXrEbFqJKbh3yWWqtLF12X8f9KVPyK015berbxiLdxTEJv
         zdiKgSgzXYJEe5K/qMdUQtJF34YKozMSdAlwveI7jPOXp+jTLFse2AhPD8eJdXUhLuJk
         paYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780405079; x=1781009879;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/4Sh/S3iRRNscvG4+twE0pbGJLIle7DXRCUOishQSqM=;
        b=KsMduy7ueZoRZ149wFABLBO0e2tDNgcFlja7Tq0L79hKOD83h7nl5zJCpKSH4P1E6h
         wZ2FNzJtpq3w4mmoFqFGz+sMAbuMQKz9W5dWs7gBp2GrjsbTnQZb+cOObZ8gdLgNEerE
         BN14rJmpYx1s/A/nrcyE5A60AojPZPM0zEOCTPi6zZKeRAtlsAXRYwLE/FjaSFXnHCiI
         W1vGHT/zGRKtpawrHoLwRDY8GM/swWUU9BySe326Il9p1+4Xxt+b1/72YcUTF7EefCfn
         sSEqHQhDk2Rk7DTwksdKnBntwbP1NZOcp/bmiw2D/A5tYG7AlC1oKgj+dtMWd4okBtI3
         NmzQ==
X-Forwarded-Encrypted: i=1; AFNElJ+3aBJ6762xMhk5D7tTGeqODOD3Ba+i0N2Dqz6GsCqksteKx6sKkfrIytgCytK8BdOzGsJnT+GYggY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxB1iKpTkmbTN82r1HYNBEt5a+X7qblERuVZxmYEJD2RY7FBfdO
	KwEjWfEgCRClJsAjV6iOY+gEP8kx5ZIKKXyxtRpH6tEjRozH8dCIBYcL3hlBwbuzxw==
X-Gm-Gg: Acq92OEx3ghXO7AYirAiVotaUwIB4u2HBU+wforXHstcALU3JZa23ZdahGnkNPDBbrX
	lp8KzMESALk3GEiZGnRVu2Mgr1dHnfRckKqi2APpGp3R+jm5co5j/lPT1+TJQKvGJhxeXSIbloe
	7g/GXZ3bNK1uoqy9HFnGCxdFYfw4tFVyGTA+o8NcwE3dXbDyZktVS64ovcGnekd1EJi3Gw9mkQC
	qDZEXRrCRst0a16OCquGjz7LI97jKWWhBQBOY1vrNOO+ohuBv4zyvW4MVYGlLUBdy5RPNeTgOKz
	CLvQ6EnN3J4Dfoa9lY91mo4CtwRpW7Jz1MEedJISPloh1kKCB1kMFzdIc0kUdboVEnPkc11QZJe
	1L15xWew2p2RBur/7eR82vLHuPxYYsEijWr80gClykv64U/lZwQex+JckcuueO6UGaLbiOShysQ
	xuEgUgT5T4S2J7k5aefCqWCzJYlqkwydJkYg9OsOfKL7Ps0XEx8V1jbHMTw/PcaU1kIgdPamLre
	UnLBBKHzdP524NDANhtPukiAW7Q7PrsUgCF
X-Received: by 2002:a05:600c:1d29:b0:490:a646:9d77 with SMTP id 5b1f17b1804b1-490a6469e5dmr84117165e9.6.1780405079383;
        Tue, 02 Jun 2026 05:57:59 -0700 (PDT)
Message-ID: <7e0a37b0-570e-46fe-864e-f29be43e6fe7@suse.com>
Date: Tue, 2 Jun 2026 14:58:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/6] Add SBAT section to the PE binary
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Gerald Elder-Vass <gerald.elder-vass@cloud.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 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?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>, xen-devel@lists.xenproject.org,
 Frediano Ziglio <freddy77@gmail.com>
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-2-frediano.ziglio@cloud.com>
 <e6cd8fdd-97d9-4f07-b952-079c67598f32@suse.com>
 <1090e22f-f1bd-43cc-9e8b-cbb6060d805f@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: <1090e22f-f1bd-43cc-9e8b-cbb6060d805f@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1780405079-1AD77F3B-A6A6EA77/0/0
X-purgate-type: clean
X-purgate-size: 929

On 02.06.2026 14:54, Andrew Cooper wrote:
> On 02/06/2026 1:06 pm, Jan Beulich wrote:
>> On 29.05.2026 17:35, Frediano Ziglio wrote:
>>> @@ -275,6 +276,9 @@ $(obj)/efi.lds: AFLAGS-y += -DEFI
>>>  $(obj)/xen.lds $(obj)/efi.lds: $(src)/xen.lds.S FORCE
>>>  	$(call if_changed_dep,cpp_lds_S)
>>>  
>>> +$(obj)/sbat_data.o: $(src)/sbat.csv
>>> +	$(OBJCOPY) -I binary -O elf64-x86-64 --rename-section .data=.sbat,readonly,data,contents --add-section .note.GNU-stack=/dev/null $(srcdir)/sbat.csv $@
>> That'll be an SHT_PROGBITS .note.GNU-stack, won't it? When it really wants to
>> be SHT_NOTE at least for bleeding edge GNU binutils (see relatively recent
>> changes there).
> 
> That was my addition to prevent there being a warning about RWX stacks
> cascade all the way up the build.
> 
> Maybe a better option is to have sbat.S with an .incbin sbat.csv ?

Yes, that'll avoid all the custom objcopy-ing.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 13:01:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 13:01:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324986.1590491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUOjx-0003YX-5J; Tue, 02 Jun 2026 13:01:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324986.1590491; Tue, 02 Jun 2026 13:01: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 1wUOjx-0003YQ-2c; Tue, 02 Jun 2026 13:01:05 +0000
Received: by outflank-mailman (input) for mailman id 1324986;
 Tue, 02 Jun 2026 13:01:04 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wUOjw-0003YJ-2x
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:01:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUOjv-003LI1-5H
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 15:01:03 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1ed40a-2eae-0a2a0a5409dd-0a2a45068f5a-6
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:01:00 +0200
Received: from [52.101.201.1]
 (helo=PH7PR06CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1ed40a-7371-0a2a45060019-3465c9012a79-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:00:59 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by PH0PR03MB989281.namprd03.prod.outlook.com (2603:10b6:510:3bb::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Tue, 2 Jun 2026
 13:00:56 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 13:00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=F8+tLlMykhfRRdnB9LQ46RlMzq8z8BLikD7JW6bM0q7DMk04ZpupTpVE6uEZdg26W6TG3HPSiIpXwRTOcXLSiOtZCiIo+71LzukJ/QVGJp46qkmDG2oCwMk6/rU6sZ5BwknDCBQpA0ARi6y+DUNpRBiHsSfGbz+ZQD7NDzL0lHhYSsgxtuKFcqPaCEFRdLHBTHUebQUHQY1vjaDLtMHoioGEz4xbJS7A1xqiV32m0MJ/Wmi0nVgndlA0s4E1jzW+hhiioFz1lxx9ePCn4dhdXVFN3erW0k0sqoPxSITMe3GKDwERbCB+pM/IaNpcgQcQmR9D5XA2ZO3/bGJ7lBv69Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8O1ZE7Pq+2TshYKU8xnRWBNP3JcYKADGsUWc+Qhr32E=;
 b=PV8cVJ/i7u692h0Px36J96N/O9DzVEJtrkhm6UGkTOx1EvFrFSm/8DPXivTu7RpJTgLHTrEbfBkIz6YdACKPik6Hk73ZyxC0+0njEQsF+zH8XeE8A2Nw+abRB77/RZBgBjPHuaLeMSF//B1CBrjKLswAkQgv6BKFEPKt1R4vmUyrX77xGW+ofQYnMqD4OaHpYfcetPpi/SxvNkZp8P3tzoK2gu7CfSeIcPbqTZ/ZYmEyVMHzvtCuWefYpO35ECbvun4+DxlOT5D5F/DKVncnilZEjW+P8HUbslRdwKXgbVhZdZPyKpHpEUczwC8FtA2QPIPsNJAEC/5cuPspDy597A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8O1ZE7Pq+2TshYKU8xnRWBNP3JcYKADGsUWc+Qhr32E=;
 b=OEGdN8ujuQDaizbe35z+EbYgPyO0TGN/FRXDoQ5a8VuDW/XLlD5D1lxwwda49mPvX4VW7mnz5GwhzM7QkHOXzLgCncBjEIwjVrw+E2hZ2mJ1ZfYOkZs6Htk6Sl8n1v2Fsngxw2VyRCA1FPCY7LVvLOZXrTJR2sy1mU4ImdLbNSo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <1ca74f11-6e86-4dc5-aa55-c3beee64b673@citrix.com>
Date: Tue, 2 Jun 2026 14:00:52 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Gerald Elder-Vass <gerald.elder-vass@cloud.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 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?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>, xen-devel@lists.xenproject.org,
 Frediano Ziglio <freddy77@gmail.com>
Subject: Re: [PATCH 1/6] Add SBAT section to the PE binary
To: Jan Beulich <jbeulich@suse.com>
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-2-frediano.ziglio@cloud.com>
 <e6cd8fdd-97d9-4f07-b952-079c67598f32@suse.com>
 <1090e22f-f1bd-43cc-9e8b-cbb6060d805f@citrix.com>
 <7e0a37b0-570e-46fe-864e-f29be43e6fe7@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: <7e0a37b0-570e-46fe-864e-f29be43e6fe7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0683.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:351::13) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|PH0PR03MB989281:EE_
X-MS-Office365-Filtering-Correlation-Id: 26b757b6-ede1-4baf-734e-08dec0a6fc82
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|7416014|376014|366016|56012099006|4143699003|3023799007|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	ehUvkjhWRfaadWcNqTzEq2jDXhoomZ+87YhRRM6OUGa0M5BjS4POB1V+RO0d1m4B4TnYvX/wBtwv40HCFzwRUn41uOMTnNg/h3sSKwrFwNLReMAKX/0zlr1xUyku1aNDzDIqozG1klBreftpVHQVQ+x+ng9FeBCGysE/qh1glI7xuNT1UhyoaGuylEtXQHTAGjP56iDsGdTOjpXpMrskmb5L3ugV+u8D/m63JFaO7/XytwhdjwGEoEle/7zJS9B5bXm/OwSO8uqBdQiol3Y+8Jtk5RwKrURuYqArqqGQqbONfK59DsvgAji4Z3mili3f5FJeDitrRri7DIXiJiXi41bId+MveOx7H6pqRKAQBx4VYaYZJQrAkwcXhXR8yPuqF2cNNEWkl8QOjIcK4zzTdhfLFzNVjlwrhSx56yAU0ygFk3ECpYT551+RpepXyQKOD200v/2Qe+fO6b35Fd75VCo5EQwFFUSwCNQEH/QIe5dgn3X63QTNOvsRPKx/QGyfuaMKEFtBEsB+bqX4C2H5bDAZfl+ruaKTkR5tc7LrE8tjkIF4YB+Uc0NUhO2VfQjZov38O1HshZhCO/+ndVWFEP2PmnRTLIrgGJlRK1EbygmtcgZIkg3vW0nnxoNYqevZYY+O3+DS/15xkKzdq7jN64/N6OdoDvNjXVZPd72xdgTkKmpbGHP/wE/QkaLj2v/W
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(366016)(56012099006)(4143699003)(3023799007)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NE80eWkzS2gxcUlWS1U1MUpVQ2lCNUk0MzlDVWFmNWRFa1NIRTNuLzhOelZ0?=
 =?utf-8?B?SWNMaG1EbzMyNGxRQnhuVkx1RktjUjZGSUxhQ0hVNHJ2QmdIZXVKREVKRnhv?=
 =?utf-8?B?bmhTWHFWa1AvWTIzanFGa1JUdG95VkRmTEgrWlN1MkMrWWVLakJwRjU4SVhR?=
 =?utf-8?B?RXhYUkJ3SG1ZZnA2UjlSZ0hDMkFzSllKdDBaN0d4MjNwVEpWVFQyVHF5bndp?=
 =?utf-8?B?UjZvZFQwcThyZEhEVVJKR2gzTUkxdjhzQWhGMkdOSXZ4dWNXQlY5bnpaWDB3?=
 =?utf-8?B?clROdXpPOW5ybzlWbzFXcjJKbjJiNU83alYwRXNmV0t1cHp2cmExOFE2T00w?=
 =?utf-8?B?QkE3NEx0dk5JQlR0cmg4YVZFYUoyajgvTWpiQ2xRdXRTZjlDbnFlMGJGQlBN?=
 =?utf-8?B?ZXV6TFhJazBkZDdqOG1FYVFZR21MOFNDMnZIeEdhQ1hRbytBZzZuZHhDSmpY?=
 =?utf-8?B?ZWg3S0dyVmR0Q0NNd1lRRThicndEUGZPd2hMdUU0Z3NkV29Bc0RNMkNISWFV?=
 =?utf-8?B?RU5iYWpqZnkxWVE0QVVQbzRZZXlONlhEaGNQRzAwT2N5c3hxNDZpODFOQVpZ?=
 =?utf-8?B?UG45WndaVUZlS2pDNzJnVi9uOE1pQzI1T1VqZFNIMnJKWlF5L0dtYWthTlBX?=
 =?utf-8?B?K3Q2YTcwM1pTbnFWQkJGQjdRL1BYTGJaU3hlNVlNWVI0QUpPcVk3QlFPamE5?=
 =?utf-8?B?ZTQxZE82S29lNnJROEFvSjB3NXBFNHdyaTY4enQremZYc2xZSU5GZFc0Kzhy?=
 =?utf-8?B?SGIyRForRnlFOWxQS3lUNG9uQWdZTGlwb2Z6OEQxaldtSG1QOTd5SVM1QkMr?=
 =?utf-8?B?Z05SSW1pTUVTdlZZdHR4ZGhhMkFJclhtSExOU1FsbVNCejlTajVQYkpVZkoy?=
 =?utf-8?B?dzVTRjlHUUpRYjdpT2xKeEdIWlFkWGk1eHlaT3NHTGYrOWlQREZCM01mWkda?=
 =?utf-8?B?QTE2V3JKMHFmcFg1cmx0QVVSNnNBcEJtVFVzSjRXb0psSzRHQnFUZ2dKaGJL?=
 =?utf-8?B?cWlSaW1YcFU5SmN3T2NRWXNuQmN5NWZrckJsNkI1NlhidnZmdEJpR2RWN01t?=
 =?utf-8?B?STRNV25qQ3N0d2tsc2JnTnBqcXgzbFZSZitMUEY2VU1aTWlCdFNya2pqditK?=
 =?utf-8?B?SzhYSE1Xckk3U05VNHFLM0krK1c2Y0xQMFEwOXd1anN4NmNDc2hvWWR5Q1lI?=
 =?utf-8?B?a04vbkoxSEhQYzRjaXJBQTNoRE1YbFZOLzhUVDdEdEhUcWhKVXViMHNsSW04?=
 =?utf-8?B?aEtQclNUWHV3K1Fyd3ZoM2Z5cnAwNGlUTW9iVGVxZDN0Y3puZFYwRmsyaTlU?=
 =?utf-8?B?bjh5YktmRHVvK3A5MlFhayt6NjMxb2NSRjgwL0tBUXQ5VFpkY1lwS0JQSWpX?=
 =?utf-8?B?amFpcm9lT2VBckxXeE1OcmtoZzFnWC9kVmEvN0ttbGJDVzZRNzJUQVJmSDlq?=
 =?utf-8?B?N2dxbG9LaWJTYXlGVUNwbzEzQzNXaXJ6VDNiWW8yMkZrTWxiZjhZTDJwOGpj?=
 =?utf-8?B?MEVoNGNkVjN2L2RhcFBNVE9laEdyc2VWY0VXbDB5K0Q5TXhta0lEandpZE9E?=
 =?utf-8?B?OFZPVFZaNS9ha2s3eS9EdWVMZ0V1NlBQUENZQ3RQRzJpdXFhbCszUThkREpR?=
 =?utf-8?B?dTY2RjVnWkh2aVhhN01nZHVKbXl6clJKSjlkaXdtTFQ4NHNKcEZqMWlZeDdD?=
 =?utf-8?B?N3BjcGV4ZkFnL2t5SitGemxJMUNBREpPSHlQWjI0TnNXdEpXVDJ5N2hDaGtt?=
 =?utf-8?B?ZTBaS3JwbjRsMFlBSkVJVXRZRnZFendIaG52ZW1CdjdNVWlPU0RmL0VUMTF0?=
 =?utf-8?B?cGcrNGgrbDE0dTlINUJONW9HYjAwV24vb2ZPQ2RmWlVHTk9kR3JNbFp0RS91?=
 =?utf-8?B?ajBvaEZwOGozeWVqOHAyQXFuTVdlMFpxT3F3c2RDNGEwcHpQWGZxK000a2Ex?=
 =?utf-8?B?cWc3T0xrN3luQ01UdXUxYXlqQXpCcUdCYkRJZnFrVm43VEpjRHcwZ2xDK3dT?=
 =?utf-8?B?d0FnYVprTDhKd1VxN0xQeFlQUEVFMEkxR1QwRGlYVm1FdjFwMG1vZURZMHZh?=
 =?utf-8?B?QzBwdUpiVGtzNnpCckZ4ZVFqVng3TmNsbHdFTHFFbnJjL29MRkY5aTltRVpv?=
 =?utf-8?B?ai90RDViTUhDY3NOWjhEd3c5ZjhXUENabUVlTnJDNkxjSlFUbkxJaG13dnll?=
 =?utf-8?B?UmRML1drVVpzSGNwampTZy9iYkJMVGJnQ2xwV3Fjd2g2Q3Y5RG82bjMyVmdL?=
 =?utf-8?B?YnN5RitQcHpGMlpZU2Nnc1FPcDh0KzhOVmJ0VWRpaHVVOUNUeXhxbEM0cGRl?=
 =?utf-8?B?VTN1cVRCWERsdHB1RlFyZFl3blRkMFZHTys3YTRMYzBDOTl6Q1ZTeHRSSGZk?=
 =?utf-8?Q?vVlRRWupwxxG5mzU=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 26b757b6-ede1-4baf-734e-08dec0a6fc82
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 13:00:56.7462
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XdyHewM8BXFw36QrzchWfxhmCdtkBGBxIhaEGBJoHD+xxFWV/oyQ4DMw74cdv3xCEnLOY6esDbA0KmW8rxJqbEHiCIsKoj5ygn3jwPzRGEA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB989281
X-purgate-ID: tlsNG-16d1c6/1780405260-87170D75-07D4C976/0/0
X-purgate-type: clean
X-purgate-size: 1106

On 02/06/2026 1:58 pm, Jan Beulich wrote:
> On 02.06.2026 14:54, Andrew Cooper wrote:
>> On 02/06/2026 1:06 pm, Jan Beulich wrote:
>>> On 29.05.2026 17:35, Frediano Ziglio wrote:
>>>> @@ -275,6 +276,9 @@ $(obj)/efi.lds: AFLAGS-y += -DEFI
>>>>  $(obj)/xen.lds $(obj)/efi.lds: $(src)/xen.lds.S FORCE
>>>>  	$(call if_changed_dep,cpp_lds_S)
>>>>  
>>>> +$(obj)/sbat_data.o: $(src)/sbat.csv
>>>> +	$(OBJCOPY) -I binary -O elf64-x86-64 --rename-section .data=.sbat,readonly,data,contents --add-section .note.GNU-stack=/dev/null $(srcdir)/sbat.csv $@
>>> That'll be an SHT_PROGBITS .note.GNU-stack, won't it? When it really wants to
>>> be SHT_NOTE at least for bleeding edge GNU binutils (see relatively recent
>>> changes there).
>> That was my addition to prevent there being a warning about RWX stacks
>> cascade all the way up the build.
>>
>> Maybe a better option is to have sbat.S with an .incbin sbat.csv ?
> Yes, that'll avoid all the custom objcopy-ing.

The objcopy line comes from the instructions in shim-review, not that I
think they're great instructions overall.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 13:06:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 13:06:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324996.1590501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUOp7-0004Bs-S6; Tue, 02 Jun 2026 13:06:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324996.1590501; Tue, 02 Jun 2026 13:06: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 1wUOp7-0004Bl-OE; Tue, 02 Jun 2026 13:06:25 +0000
Received: by outflank-mailman (input) for mailman id 1324996;
 Tue, 02 Jun 2026 13:06:25 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wUOp7-0004Bf-1f
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:06:25 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUOp5-008Dt0-Ux
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 15:06:23 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1ed549-5cb7-0a2a0a5109dd-0a2a4506ecf4-30
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:06:23 +0200
Received: from [40.93.201.1]
 (helo=CY3PR05CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1ed54d-7371-0a2a45060019-285dc901783a-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:06:23 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SAWPR03MB989599.namprd03.prod.outlook.com (2603:10b6:806:55c::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Tue, 2 Jun 2026
 13:06:19 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 13:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cBYNtUaMunOHqqAW6Jx3zKeJz2nichyl5Mcc0Y34d8lT38unh9m+5Ee8bMbGT/rlLdi1vlhTTCBsHDv+o0QCGlHlnuWR5wkuwy4BK0h9l/Hn2nBVKVKEJPfZGx5CDFVOs4/UrADKRMHKiTd42dr+m3qAqfXj2dPmIuUlfba4GRTVASCOcCLKMyaY/9w26J4NFHPbDL8bmx92dZuERH8wtB0iCllXNG1dsRmZXNzg4wZoG82D6gL+JGjQ8PoaT3huXMN4cTH4tqewl2mBMgcPpKfGOvl0opNpcIZSpkYLFS/uAy5IH0UcmUjQ4jtn8sZ0WSvVyzs1kZeaR7+kJ78ufw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wQkH6EqJm6iBjypWUAMhyG9C9X92tpv4B1o7763BuJc=;
 b=GaHhhaJlTvhBA1ivQCXSI6hiZNizgqOIVwiIdflNu+IDfmyYYE9PQZ0N1svTbHSA2JHmw2kDcBVzD6Pqvxqi6IlD2AY0bWsIkmEtNOcdFQJE5wV8GjsuUoe1t5VNBh4hoQpGxCzNLWGdk/Gx6RQh8ITQ6sBQ6sDcRxbxZt+C53lfvJlfElojGMEhwIpn+PZACluMvwMDJ++lFozLswJQYCrOcI/r3TXsdHWzSVXcQjIL32iLsVh9WlDw7pIABRqfP0x/RDKat+assNcymWEjsEq1tm/XwfTroOAFWd/rjG2/sSHtUsv8sU8shJNBjmk9bTB4tsvBxYJmhArq1lYamw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wQkH6EqJm6iBjypWUAMhyG9C9X92tpv4B1o7763BuJc=;
 b=h/03H1mVK9FfggcCkZ4zgH7ZIZwm6tSWwIHFnKh04PbdOdDpLZJqp04ArZbAwEJh0+nuiUnsk06SPPGIfIOJQ+P5g/mlx+9eRCUS9tWvTfl5vXjrE/cCTuQY4sRP2Up5eYWSEBCCdJ9d8R/W2LA2QeQSzWS4LbvNyHSriZ7mhmA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <60be371c-29f8-4e0f-917b-6c8d72b2a014@citrix.com>
Date: Tue, 2 Jun 2026 14:06:15 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 2/6] Align all sections to 4KB
To: Jan Beulich <jbeulich@suse.com>, Frediano Ziglio <freddy77@gmail.com>
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-3-frediano.ziglio@cloud.com>
 <7067092e-ba18-4513-a9b1-83ba084ccbb4@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: <7067092e-ba18-4513-a9b1-83ba084ccbb4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO3P123CA0005.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:ba::10) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SAWPR03MB989599:EE_
X-MS-Office365-Filtering-Correlation-Id: f84018d6-4018-47b7-ad66-08dec0a7bcb0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|11063799006|56012099006|4143699003|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	QmZ4NLUbcIzvPvw711wzb1HwliLqr90Mt/WjdwpB4eZf25y9aOumgaStOO5vtsorMIb58qk26IMZ79iAon/Ef1IPGUuPDNa9REE+pKvUHkA6kFdoujFt/v/9WtZe92qwTtHu0a6EMu3l+N6ouLjvdd1qxK2v9wNjmc2jmrcfZF28uy8YWafnZYLtM7FDd7XiyI9LjPYWbA+/0Xbg5fTsTdUZDXouTQ/ozUpqRonU2yq/cE4mOF2KAo5HQo1jUXAKZyl3b7pzT5eQp0Mm5ATnS1aN4E3EpOTmuQE2NZeWNDwK8e2IDlBPtBBPboT+If4UA9id063n512MFyxmg0JBrt4EE2h5xpVfUMCzycVRslScziSpgGbbkQKEVAB6jb/bkt0/U7Jm4d2GulmAV20PXK9+G+ZnmpScXhmBsBZpFUlxYUiH7CixPxbvpAQK4gEXNkzhy497aApt/2vrLNinxg9Tby5T258bvIK7DabxMmuseXnPmwLbCHvLIh77v5O4467aHG7EkdZk3g8dHMohSOMNckQekErJLohK7Y1/4kXhKS9SfDRU3MZ9VV/chrZFV9H7BTPGSx3tKupnL1l6btiFGFjp0SumV8xE1mwacFwa+8C+Rau739EpOvCqrxepdjNQAtIbhejfG3cKoVAK4Lr5PgecLFcOyPGC3FD6QImZ6WzSxix2U20y8LN+KQLL68R+OXBge10/Wtm3QmnNcA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(11063799006)(56012099006)(4143699003)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q0Y2TUQ4ZFNwVm9pSU1nZkxDMnI3NDluWUNTMkgxNFEwQ1dVdEtjZDkvekor?=
 =?utf-8?B?OFpYZG9UT3RDcmpWNHBWOGJKMWsvYUE3T3Q1WlREVk90cHA5QVFvazh2TWIz?=
 =?utf-8?B?WHJCYzMrTGFNQ2JRT09YOFpZL25xQ1pGTjh5L3Arc0VScU1nUjJ0VEw2b3Ja?=
 =?utf-8?B?VGs0bkZ2L2ZxdmhZcmQxZ1UvTFdVMlo1YXpyVjZkcVZLOEV6VWE2amQwdHp6?=
 =?utf-8?B?MmlITERBcStKd3c2WWVHclRWK2twM1preEttNVpOSFNNMXlkUXR1U0Y2RkpM?=
 =?utf-8?B?SGtwbnMrUlhaM1R4Slk0d21WS1ZGZHdtaGszekNZSlZnQWdieldzSlo2MklO?=
 =?utf-8?B?UUY3OVJ1MWl0MGtvQm5MdTY5ZTVxM05VTkVPWjI2N0hPSVhWUDd2U0plOURC?=
 =?utf-8?B?cDVpRzUxRlNqS0JSRHFuOVhmM2pKTUV6b1R1eEpXcUc4QmFLTHp0UitVUGZj?=
 =?utf-8?B?bWdXSHlXcStMalBUUHlNZ21CRGFMN1E5L0FIWURDTTFJYW9LWHYyL2trZUV1?=
 =?utf-8?B?MDZ6OE5jSDlBcFF4VklXZEZ6YjBjRmdSVktmcGpnSU1LNUtnYm5lSGVGRUl6?=
 =?utf-8?B?dUFKMDJqUTVRM1pNWHpPQzNWNE9iSGxPUGxtYWNXQnkybW5qaHhvWHorUCts?=
 =?utf-8?B?dGRqRHpiSmFwcS9IK2hoRTlrLzFzOThaY0U3ZzNiNG5xL2hFdFkvaDNPbERE?=
 =?utf-8?B?UURwTTIwK0wrZ3FFRWtPci9DOTdzS1k3OHhWLzE3a2ZXNCtoV05aQ0M2NDNi?=
 =?utf-8?B?eHQzMC9uemhObXpDOHpqb0h3akxQdUJqZWRHaEhscGtRY2F4RmNrWnArNUVN?=
 =?utf-8?B?VlVvQTVSZGdEbnhaTHNCQ3lXMHhLeWo2SFFGWEJ4YW9ybFRuMFdOMmZ5M1Ru?=
 =?utf-8?B?S0YrMGw5S2RnQVp5cWdBR2xuZEtzTjZKbDE0Q1RJeW1LOG9VTEMvN3ZtSTBu?=
 =?utf-8?B?dWtXZ2dvNnVDa29RM1B5cjl0TllCQS9YU2tUdFN6TVlOYlo2eEpaZjdEcFI0?=
 =?utf-8?B?N2JrRC90YkJIL2hySWlLVXA5bTY2elhYdCtNVm1GWmFPVG14eGM4T2txM05C?=
 =?utf-8?B?Qks1RytubUZYekFLVkR6Y3VFSFdRdEdHT3p1TC9uSzkwRVJINTA3Q093WC9K?=
 =?utf-8?B?ZzZmaXZEL2puSmJwWm1ETExKRmlIajhPbVovRTU0T0NiNEdwRzR4L3RGWkVi?=
 =?utf-8?B?SFdyS3dIRDg0WnlYUFV5NUlIaExrOVZiV0JXWVdxQmQycnNLNXM5Wi9mU1hV?=
 =?utf-8?B?NTNyTkkwbXJwSEtaR0V4TjhLb3JUSVcxZEVaVVlSeEJrNkZZcWpMYXAwY2Yx?=
 =?utf-8?B?Z2poM01tTlhoNzJCckNSYWxrV29IK25BWHc3bmV6ZDMvT2d2bUFqUUhZVXdu?=
 =?utf-8?B?SXlpRnpDc2taMFlhcUIzbXlVRVZNUW5Qb1RGTk1CL2YweHp4ZWdXNHNkZ0tu?=
 =?utf-8?B?WEowYTkzcFl0dk1zN1lnZHh1ZldCODlmR0hQNGtYYWZRUGMwM2hLWSt6Vit5?=
 =?utf-8?B?bXlBd3djWTVhcmh6N1kvaGptak5NVXltdDBvRGxadTFhMlBKcGo4ejIzVG95?=
 =?utf-8?B?N1pCRXBEaVRPSlBDa2ZGc3NjTGliRzRXaXdsbENSVG1iVlJyT3oyKzdtTUhz?=
 =?utf-8?B?ek4zZnBJSmFSS0liK1dvY054dndvam44K2UxQlh2ZllFNUt3L0g5MGxwelhQ?=
 =?utf-8?B?UTdrRzUzeEN5cWxFcXlEN3I1TnlLRUVOT1BOUnAxbnFERjJDOGI0azdPeE1G?=
 =?utf-8?B?QU1nUXBJMGRnR0FjSmNOb2E2ZUF3UVp4L2lFSHR0MFNyV1FrWWFZaXBoc2s4?=
 =?utf-8?B?WXppdXdSZ3ZSeHNDbmxFRFhpNHcwUGNFckMxV1YxYnA2eGZhcHJob0lxWlpF?=
 =?utf-8?B?akFETEU4eW9nWFVLZkdGeldhVmoyZHRFMkE2bCtQTzh6eHJRR2h3WWVOdFBW?=
 =?utf-8?B?UCswcEFQTUhNQXZpVEQvWFh3VXVxRCtYVnI0VU1vRHFkb3dLUVZQdThIRFcz?=
 =?utf-8?B?dWdueksrYlR4Y29OQk5pM2t6L0VQVVV4OUlpN3VCc3lmTUhLYVBzNi9yNmhC?=
 =?utf-8?B?UmF4Qmw4MWxEQlFqN2U4blRZUE96RVkydXVhVDlTMTdtYzV4U2oxZU9sL2FK?=
 =?utf-8?B?d0tUZ3BIYjV0dmJwZkt3NG5yTWZkUEo1VTJONTcwVzBDQnZRa0t6OUZLSEtQ?=
 =?utf-8?B?WlVPNUZsK01yM0xoNnFORnlpQWVzNUNhNDZzWkhGWWpuTkxRbW9aYU4ybGRl?=
 =?utf-8?B?bkp4MzlEdHRKLzQ2dTd5Z3lYSkZ2Snc4RjEzaGNqWEZXL2RkeTVjWVI3bmY4?=
 =?utf-8?B?Z2VGS2QxRlI0UmJoSDlaTDdmeVJvN1dlZVk5ZDhmYmpNOTlaUE9iSFJpSWhP?=
 =?utf-8?Q?5ORdG3UcmWd9w0EQ=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f84018d6-4018-47b7-ad66-08dec0a7bcb0
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 13:06:19.1684
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wPhqQ89Fy551A+IuQOej4K+DpLK3ZrXPFA32iq7omiSCdSMBo2rnSmuLth84eHEsKsS1SV8RsqxbaCvhP/OBqSptK3FoV9XwwrWkWgJG9yY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SAWPR03MB989599
X-purgate-ID: tlsNG-16d1c6/1780405583-8556ED75-0A6F76C4/0/0
X-purgate-type: clean
X-purgate-size: 775

On 02/06/2026 1:09 pm, Jan Beulich wrote:
> On 29.05.2026 17:35, Frediano Ziglio wrote:
>> Required by UEFI CA memory mitigation.
> Imo this isn't enough for a description: At the very least you want to
> point at where that requirement is spelled out.

It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
in the pagetables.

NX_COMPAT is a requirement from shim-review,
https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility

The discussed exception is (AFAICT) only for re-signing an
previously-accepted blobs, and is not usable for new downstream products
(which is what Xen is in this context).

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 13:06:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 13:06:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1324997.1590509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUOpJ-0004RR-1t; Tue, 02 Jun 2026 13:06:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1324997.1590509; Tue, 02 Jun 2026 13: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 1wUOpI-0004RK-VZ; Tue, 02 Jun 2026 13:06:36 +0000
Received: by outflank-mailman (input) for mailman id 1324997;
 Tue, 02 Jun 2026 13:06:35 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUOpH-0004Qr-Al
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:06:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUOpG-008Dw7-NY
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 15:06:34 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ed551-5cb7-0a2a0a5109dd-0a2a4503b44e-48
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:06:34 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ed55a-672d-0a2a45030019-d155802bad2a-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:06:34 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-490b1bbcf3aso6507335e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 06:06: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-45ef3563cb9sm34294080f8f.29.2026.06.02.06.06.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 06:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780405594; x=1781010394; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=K1EqCLt4TDvZg3NjwVa5KXHahNjPkPkeZlkZ8i74JxM=;
        b=eqhzlQw2ARDxO/39F2/iNnjOupVyRmY4G6wnbNZoPRvJCerU4pYBVw+nExcOCLyA8X
         jeFXIMKk+8Y/8+HixXZKCqOIrHLcKjX3EeWeS/ziiFdvBeNrmAzdVyCF7/ata0EtBbZt
         I+P7TsnQCDRB/+4fYRd0V8xmQSmszaLvJs/OKXlpBT/H3icD9VFy22qs/PlUTAI4CvYi
         SVyDFEt8DdHXTLNlz+aFZqzPkr+oCLxb0QLwB2i5AK1ipxOwFvnA8+Rt2o/np4WnvLCG
         oaWfKw7dW+Ygz2ZX1pAfzYespQ7TPLJDlDu9py9NXcxt2qkFq0XR5oj8wWdgu6n0P5UV
         QEjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780405594; x=1781010394;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=K1EqCLt4TDvZg3NjwVa5KXHahNjPkPkeZlkZ8i74JxM=;
        b=MVuqbcSlvLqpTVdVRHhiyfX2CdMg8RTXkP/kvWzP/3GRGxgvFXum9mraCKP/vy0otF
         y4x6Rrz8tde+MxwRckqMAEAutRTxGhcV1b85glzqiwn5P6vC4FUJjTh0giJFNg0roqpd
         FYGoq2ZysfYFCQfh3IUOxXNYEhFfIXjw3L8/9rg5GV4PzmwsBOurJAaQ5uOk8apn7FSt
         vqJzsB2lCiI+xEJkqU7E/AbU2urEi/RR8AoMF9vcjd3k5wFcb3WA/mm92tTE/oSgHh28
         7DwcV3AGAfJfBjs/FambqVHRFhxvvWdy8xhnbXBwegQpqEpX4/yNvDB5o9jtXNamSVZx
         MjBA==
X-Forwarded-Encrypted: i=1; AFNElJ+kRa2mxEN325SUNDfYDMSRwuqw+rxKQkeBZzlsC5GV4E+YeydCYZYj6aNNwQL23lklfHQP4hetoLA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwXBRP9VZHaIrussbJYy7yBaZPvgDZF0Iha7qRvjK2IsnGqvP3T
	TK5DT9ov/lJBd5l0JCYfi7VZNaJ66eJRLsJPtDWnp6n0njQVdVeVhZw45OQC+jxAZg==
X-Gm-Gg: Acq92OEuqqEoq5JIU/nxGqHVXLpt6Y7kAyc0XMCDh1MVZl5l+cas9PmEsJNjhcpQ90d
	mhW+osyWvAgFCv5BSwCN+5UzVStHH2dj3eqhixVGS8S0Y3vbsq34m9RiKW2deSZ+r5I89cnUUjI
	mInJV7jZWK5FWkLOHDZUkdHw84N20DKl50S9Q93CY4tW7QJuvjbfd1ekPigsmbvYKfcxd6QXHoS
	8cB9UOMkiTWTcsXhD5MKrlJlyqtVpUQic/WiBodWudeHPzFFQOrxbWb14mWCIZE+D/4b2psLvWH
	NnmLy3IyBWSqgFedVLCtCLI3w1WQ3aQHG7NgrhLa+9U4JvwOuEWaXzMGxdT3+Rh580Y79zKqo4N
	bp/mJY5dcwOl5l9Je1UvIHv3Ur41Z+IIsLsPe3yQOLKtnYzOe7TB4htAFvguzZqiKMMm4cF1lB0
	E9ez6PSZNe+Bbtvmr9X30In0nXpKjn1qF+aCWE0s+A89XyLSB/mJZsQQhWBocbtGnfOpWtfeTZZ
	VS4BEp9KshuW76IyWnhlqBA8A==
X-Received: by 2002:a05:600c:a315:b0:490:9bc2:bf8b with SMTP id 5b1f17b1804b1-490a2912132mr207101725e9.5.1780405593715;
        Tue, 02 Jun 2026 06:06:33 -0700 (PDT)
Message-ID: <d32a8834-2f97-4ba2-8836-151f32daeb88@suse.com>
Date: Tue, 2 Jun 2026 15:06:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 0/2] public/xen.h: Update mmu_update comment
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.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: <20260528075539.10209-1-frediano.ziglio@cloud.com>
 <fe9e3f66-5f69-43e2-b367-af8a8e152c41@suse.com>
 <9915b0a4-0219-4c91-b070-d39c74b84d03@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: <9915b0a4-0219-4c91-b070-d39c74b84d03@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1780405594-3AF62938-5021A812/0/0
X-purgate-type: clean
X-purgate-size: 1454

On 02.06.2026 12:05, Andrew Cooper wrote:
> On 02/06/2026 11:01 am, Jan Beulich wrote:
>> On 28.05.2026 09:55, Frediano Ziglio wrote:
>>> Frediano Ziglio (2):
>>>   public/xen.h: Update page table layout comments
>>>   public/xen.h: Update comment for mmu_update hypercall
>>>
>>>  xen/include/public/xen.h | 17 ++++++++---------
>>>  1 file changed, 8 insertions(+), 9 deletions(-)
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>>
>> Considering these are (doc) bugs, I think I'm going to shovel the patches
>> in without asking for a release ack.
> 
> Patch 1 is fine, although I think it ought to go further and not try to
> not-invented-here explain what an x86 pagetable entry is.

Shrinking what's said there could as well be done separately. Correcting
obviously wrong numbers imo wants taking right away. Objections?

> Patch 2 is an ABI change, which is why I didn't include this in the docs
> changes I put in prior to tagging rc1.

What is the "ABI" here? What's written in the header, or what has been in
use since before 6aec3334b3e (no real title)? From there being only L1 and
L2 table handling that is being moved there, that must pre-date 64-bit
support. I.e. 64-bit Xen has used the low 3 bits forever.

> At a minimum it needs to explain that this is dependent on the pagetable
> format, and is safe enough following the removal of the 32bit build of Xen.

Frediano, please extend accordingly.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 13:09:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 13:09:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325007.1590519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUOsB-0005Vu-Fn; Tue, 02 Jun 2026 13:09:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325007.1590519; Tue, 02 Jun 2026 13:09: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 1wUOsB-0005Vn-BL; Tue, 02 Jun 2026 13:09:35 +0000
Received: by outflank-mailman (input) for mailman id 1325007;
 Tue, 02 Jun 2026 13:09:34 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wUOsA-0005Vh-D5
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:09:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUOs9-003ioW-Pd
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 15:09:33 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1ed5ff-5cb7-0a2a0a5109dd-0a2a4508b5a2-40
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:09:33 +0200
Received: from [40.107.201.6]
 (helo=CH4PR04CU002.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a1ed60c-63b5-0a2a45080019-286bc90613fe-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:09:33 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by BY5PR03MB4951.namprd03.prod.outlook.com (2603:10b6:a03:1ef::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Tue, 2 Jun 2026
 13:09:30 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 13:09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=mDnLcOxadTY/HHl7WRJvPFd3VCgSAkJUGxkx8eJLDfyqG9NptbojLxz10X+JRjFti33/NKTpEk0LJf1mNrOuIoQruIwWwynKDQf2Zz54/NOYg/Tz/GQmyWIMReP9M7OzMQlJTFkwaZULdM738/kZhLVLA2c0Wj6OtyE44HrdWb4runbEHYf2gZiwm/DN81Pehs34xLTCHAaj0OdtpULgEzQCKH3CYQMRaL6Sc2pT807lU4EdiSePLS7fnPLZBHKWCyDYq8Y/DnDD2PBPgyojNEQsQMxMGW2E+CoX0h5uHB7a4gK591Ucl3XBMzd186FYg6CY+V6foQ62DCA0kD+fmw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wOyHAdNRnSbAKIrq+mXowVimhqtVHKNabqwahNEHcXY=;
 b=MAynxGMurrP8elLgbTMFS/5YkeXOD39U8bVZIl/gOiNnc6PryKUaLvenf3k4xgZjFFglInY1GgdjuckJ/r8wAYUC/cmuVxKywE82jNkFqNsp3kG7Pfe76cQBfYpB302VYgrTTU6DgW7qhCHs77DGiExE1USzOuTYc757iWYA4yFNZCKeL8UJVvMQrmo4ijpSGdBoLNbp5sWAECfAWAm7dYnxCcsOiDGXcZglkhTd6k8+PoziNIQjx0UeAgiP1fXpu7h3DmyJhIBUejlNubTGuCiGxl6L8o3cnW3gLSUlqCFWMNBgPtF8s9pyI+r9B4V35dJqvWKQbnEvghmGzOsABQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wOyHAdNRnSbAKIrq+mXowVimhqtVHKNabqwahNEHcXY=;
 b=wvK90Nl4SDrefHrst4m2brFf1fJXtJrhz6nFL+fJS8kXTXUtNKQDr5jk/YYfdTkzIOtY24b0sVlsPQWoc22+003fompPL/f3cPNdsmtqOOgfjE1m2JdTXl4XBKZGjAMjBh/G31TRzY0/NEeEfOLRF23VPo9NBL3djLzhRM3qM+A=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 2 Jun 2026 15:09:27 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Bernhard Kaindl <bernhard.kaindl@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	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>,
	Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
	Marcus Granado <marcus.granado@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH] xen/mm: avoid watchdog timeout in dump_numa() on large
 domains
Message-ID: <ah7WB--KZY80t67A@macbook.local>
References: <10d8309efdb878a3b615a7daca2bb5209525cb37.1780390167.git.bernhard.kaindl@citrix.com>
 <4f3f6ead-b917-4824-bc24-47a37f921bf6@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <4f3f6ead-b917-4824-bc24-47a37f921bf6@suse.com>
X-ClientProxiedBy: BN9PR03CA0563.namprd03.prod.outlook.com
 (2603:10b6:408:138::28) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|BY5PR03MB4951:EE_
X-MS-Office365-Filtering-Correlation-Id: 07181b2f-69a6-4219-9f41-08dec0a82e3e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|56012099006|4143699003|11063799006|5023799004|22082099003|6133799003|18002099003;
X-Microsoft-Antispam-Message-Info:
	YWNPPRqXeEXlwfrkBqKRLPZT3QBQSE5wos543bWJkZK50P5i2EwAb9O+IO9LIC/SLH6myPpSZBJFt7h9MAzi0BXKOK6YpzlMgHrAOZdDeqZWj7yIswDY2M2sD+IMs7Jzqurd0X0SxVDat/SlATX++BXvzR/yOh5MhGJ7vZegCxErDfsCJpFF9Otuzqb10pbCmgKGXMoXR1lgsFiBb8Cwf46TFLZn/Ie/KZMEmLJCBuhfF8rtf2zjpLsnZojeVJdYsneAoZ4tWtiK+qt9RMELHhqA55cp7lASCQm//txWSE6XfXQsoIn09backawRtl2KeBsxkMK0eaj63JO9PfZ+qqt8PPcKJdH8eu6TTeoFSI6b9m3G5ELJR39lRQvNpUUqbaJy/POQSFJygxI3yqQRZSogP1IFqEIjnWp8HtS8fC0xSa+2uFpJlCR48vJ+qDXJmOXyEQa106adcS8GXZejAZlBKMO/V+444c430sDQ9ySSHmEP10TKnclYSZmkINZ9tNzIfruCfY67wuB2+CCUaOfRJ0Mhs5lx44c02UwnmdhRxbnH1hW3/xB7ZAoRRDbc26raNf5ldqdecqaDHouw4gsdOK0MKiea4xQOSzbzGVCVp56X/xbBCEb/KBCbrGO1Gey77o4m0i0du4mQ8ZX5Ez2GU0P1W7WuCqiLGLtQVOpIMaVTRDmADUbmRIStI4g/
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(56012099006)(4143699003)(11063799006)(5023799004)(22082099003)(6133799003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WmI2REcyZ1c0YysxQ08zMXNOcHAwRy9vdFRPejZpeU9tNzBwemVNaUp2SXQz?=
 =?utf-8?B?WnJVc0dVU3A3MWVzRmlJcEIxYTUxU3d3WmJRUy8yMkVRNkJFSTIxM25VdTlQ?=
 =?utf-8?B?ejd0cDN3UWNFVXdqNjY1cWZSVXU2bUZNRUlBeWxoT1k3Z3BJSk84NFFUSGNO?=
 =?utf-8?B?NjEzQndteUtCaXRKRFVxRElDcGExWlEvekpsbytZUW0yT3ZZcEkwcU1rR2ta?=
 =?utf-8?B?ZldVUjJ6QjZzb2ZZOStKQi9MbTZKMmpDbGRTMkNOU2hDQ3Q1Vzc0YnJSbGtR?=
 =?utf-8?B?WGxIdFBacG1XRTJ4UytPL2RTdG0rY0gvTGVHaW02NzZCK1pORWJZaFRkSG96?=
 =?utf-8?B?MnN0VmR3aVIza1JCOE9lV1g5alhtQ0lSZXkzUWRUS3JxNzdmeitsQ2tVQVpB?=
 =?utf-8?B?S20yTEJMa2g0WWR6ZWJjdzRrVFBtaWJFWDJYMTc1TTJ4R1ZQS0RLcUllelVW?=
 =?utf-8?B?UkJQVm4xcHowZ0FxazhRZlpva1UwRGhKSTNXRjFQRjNxUjFpdUJzbDRCSTNL?=
 =?utf-8?B?cHhZa0JvT24yM2FncGtmNzRXMWpIb2JuQUtnamJxdFloTjRrTFdscC9tNHZ5?=
 =?utf-8?B?NVVUTUJoV0Zaamp3bHg3UHY4b1lZTDJlMEl4cURST3VCL3drRXBsMUpvUnpC?=
 =?utf-8?B?bCtSdytRNDdNblFwbllPR2xEeTdmYXRuSkg1VjI4STFWeE9FaEd2cjJERVlU?=
 =?utf-8?B?ZjkvNUtYRW9Oa01oQWZpWUEzQzR4RzROT01vcGQ5UEU5SE1xRW8xeklVUjVp?=
 =?utf-8?B?c3RBMDJtOXI1MFdTM01DcnlscE41M3FTK3lPdjJkRE4wK25Lb2lLVEIvTEND?=
 =?utf-8?B?WXdTckg4TklST0NkaGFqcHFDMk1zWGJTSmVteFpqMnNBQXkxQWdFTXpsSy9I?=
 =?utf-8?B?cHlCalhZYnh2ellMSDFVTTFZYURtYkZ4R3Z0b0taS3hRMXNHbkx4YUVHcVpC?=
 =?utf-8?B?YTZmL1M5K0lSSThrd3dLZWQrSVNFL2hDcTFyQi9pS3lVK2phZHYxZXF4dWR3?=
 =?utf-8?B?ZlNST1dKYzdJZWNLVlBRODJ2M0dOWUlyMldWMk1zOWp5TjRHcVJBVndBb1Yz?=
 =?utf-8?B?NmJ2emZmWUVPbjUzNC9NOW5VWmwzK0JFSk1JRC96OXhpYXJGNXZIZVFnbElv?=
 =?utf-8?B?U0RLNVJaZ3o4TEZWZ3RwUmRKVkxiMnZkNWU1WnhPaTBqZlRGckQzY0M0eXdZ?=
 =?utf-8?B?eG1yT2lRc1FHd0l2NDJlR2lES0RPSGp1SWVNcE9aUkkzb2hCS2dtTmxXVXZm?=
 =?utf-8?B?TjVpWFJuM3Z6M3hSMWRqcGdwYmNhZEVtbldXTVY1d2JzV3FObUVaTG8xK1o1?=
 =?utf-8?B?OGlHazZDSEladWRIRGNjMXRmeWZHTkRTRXJKRmFQcmVDRDdEbTVYT0pmM3pF?=
 =?utf-8?B?NDlkZmVLYjNYdHZnNW9qYklyOWNzeU9tSWI5aEJGNWd0VHMvd2lGbVNqbysr?=
 =?utf-8?B?YmUvdkZLTktITlhZc3ltY0p1YkJKcUJVZlZRMlF6alRNNFNOTGRoaiszdjNq?=
 =?utf-8?B?TEVNQ0dlMlZFZ3lpaUdKTlFlOUw1QjNEdStaemFlcEVtUTA5dXhJcXJkRjVL?=
 =?utf-8?B?S1UrN3d2T3A3V1VrVTFnaUpJR1Q4UkZ3U0tFUW9MUU0yKzVFUVI0RU5SV2l6?=
 =?utf-8?B?WEdyOWFHL3A4aXMzcU1CN1pyZkxNTjZoNHdQYXFsaUdZaUpiL3BMSUpPUUVD?=
 =?utf-8?B?MTdMQVg4TVdsSC93bEZnTXJ1NTZPeWEvdXBLQnpPeGJ0Q0FxaitYSlZ5Smdr?=
 =?utf-8?B?eWswRk95ZGY4QzZINXI0ZHJybWdqaDlvdjlUNlhqSlVkbHNGQS9aVnh4R2RY?=
 =?utf-8?B?L3BBbndwYU9sYkxmb1NzNmFPU1BTdWpSTnI5Yk5tb3BuNlVWSHY4ei9ZaEk2?=
 =?utf-8?B?OFdBMXFIUHp0NTN1RUhIdnJwZEZ3bEpJaXZiMk03OE5TdmZGa0lQSVN4UTNO?=
 =?utf-8?B?Q1VnU1lYTGdvUzJ0Y2VXb2pUNkZzSFFTQmlSWGNRU3BrZkE4MHIrdG1mZ2p5?=
 =?utf-8?B?R2xUREVzdGVwL3RHNm5FYUZSRVd1cFBXbk1nc1NPekRLK2d2U1VuQ1YwbEFv?=
 =?utf-8?B?T3FqcktiQm15VlR0RlJKa1VrcjRud1N0NXpWeENQSzljdTRXVUhOUDA1SWsz?=
 =?utf-8?B?QVZUMTFOWlBETHcrWDJTUmtUaisyQzhTK01nVnczWXNUTHordlIrNlYrcU9X?=
 =?utf-8?B?SEdJUU9jZC9vdG9Wd0RBMXlVWGxyNTV4dnQ0OUhoWHlOcnBuL3BWb2hxdlZ1?=
 =?utf-8?B?dnVBUkpZMXpQQjR5Z2FHZ1lzUnZHMmoyN2JwNFNHZ1o4VERpRGcwSm1vczZP?=
 =?utf-8?B?Wjc3eFNtYzR5LzZsazJKMVZkK3psSysrR1dBNEM0WGNYbEpkRE84Zz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 07181b2f-69a6-4219-9f41-08dec0a82e3e
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 13:09:29.9067
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5lKaTXK8qr2ZY1TGdu9nDAvxmz+6oeFvtt69mjqVXjuMuC/rV+mIzpI5t/BGGQjl0xoJJoRNCQkIOdCrXU6fwA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB4951
X-purgate-ID: tlsNG-c1860d/1780405773-C4E78DB1-FA19F5E4/0/0
X-purgate-type: clean
X-purgate-size: 1386

On Tue, Jun 02, 2026 at 01:51:13PM +0200, Jan Beulich wrote:
> On 02.06.2026 10:49, Bernhard Kaindl wrote:
> > Using the 'u' debug key invokes dump_numa(), which walks each domain's
> > page list under page_alloc_lock to compute per-NUMA-node counts. On
> > domains with many pages, this O(pages) operation can hold the lock long
> > enough to trigger a watchdog timeout.
> 
> In addition to what Roger said: Is it really the lock holding that's a
> problem here? That is, there would be no problem if there was no lock
> involved in this O(pages) operation?
> 
> > Replace the page-list walk with node_tot_pages[], a per-node counter
> > maintained in struct domain. This reduces dump_numa()'s per-domain work
> > from O(pages) to O(nodes).
> 
> Alternative approch for consideration: Purge dump_numa()? This big a
> change for making a keyhandler work better is somewhat questionable an
> approach, imo. The keyhandler isn't there for use in production anyway,
> it's (primarily) a debugging aid. If the data is still needed (and may
> e.g. be useful on production systems), make a (preemptible) domctl or
> sysctl or alike instead?

At some point a similar change will be needed for per-node memory
claims.  While we might refuse just for dump_numa(), the intrusive
changes in memory_exchange() are a requirement for per-node claims
IIRC.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 13:10:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 13:10:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325014.1590528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUOtI-0006z5-TW; Tue, 02 Jun 2026 13:10:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325014.1590528; Tue, 02 Jun 2026 13:10: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 1wUOtI-0006yy-Pm; Tue, 02 Jun 2026 13:10:44 +0000
Received: by outflank-mailman (input) for mailman id 1325014;
 Tue, 02 Jun 2026 13:10:42 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wUOtG-0006ys-QO
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:10:42 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUOtG-00EZqW-74
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 15:10:42 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1ed649-5cb7-0a2a0a5109dd-0a2a4501dc14-46
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:10:42 +0200
Received: from [40.93.195.26]
 (helo=SN4PR2101CU001.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1ed650-c1f2-0a2a45010019-285dc31aa256-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:10:41 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DM4PR03MB6112.namprd03.prod.outlook.com (2603:10b6:5:397::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.16; Tue, 2 Jun 2026
 13:10:37 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 13:10: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=YholPyuE85wA2re6H88SIZQy0zvFa8g5WSqGC66CRawjULmYWvlO1HS90gGF6qbQ/7nlIJOinBSN7SLXOAmMnhGe3o/viy9BABuYcKk1+v8/EJSxP8O3i+DXxIMpxYjhDLRVPnS6xfV8GYPYH0COkDyPAOyyNeGJzC/1PbYTsBePNYdUNucMeKe5zwH1z4pLFXSA3tzuFTifG6rgVA8KUvRTnFlm1MgeuEWwlj7dgXiKEeYTH4M6EWtxjKeJEGQFmpdos8YJ8HKzWXTew0omWnKXQopa8zhttXdko9OYAfU2XKsmnn5krVSBFfF6IiE9xI5jcUtp/M8j8/udEgUTMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SCgZebg7Hc0VEeCYnu+i3ZmG1oJD+4iGOypahVkHi2c=;
 b=VDEDaVOxdNASpQcVYHDwwaCK516ISg+YQj4Hh/1AhFZGfs5WPjTQelhAmzFO5z/B6sN2c9YEB6tLfhQsW1y6iv/nIeT17Ltya1bayX8CeG3FCnPnUKJzRFTOgTOmaTA9gjGUAO1P0ylQyhmlL3gzfKDhEychgXPltYtLNeiVHQuApw9y0qhyqRSBOb4vuuXgKpD96jJnDkZIxIONUucHBsGEaFwq6B+dlsVavLIU7O1MZBDlxcMzotbXmmblDiW4eTfxyyvpAuadAyrTCIhctswdn3kJCuCe92o1Rrms0RwNJyvpAVBccOVTcWxpUBy+98jEh7ZjgiVwZR+TJyEMug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SCgZebg7Hc0VEeCYnu+i3ZmG1oJD+4iGOypahVkHi2c=;
 b=RM4fa1a07WL3AOwBd64S4yQWGxQ4Z0jyZ2DVqyoU7ffjY7HKJW++xjTqCF2ihwVhuccs7KPVWiMaXQHcw1KLFmAnSispdejYSsDxj5GPg1BUbLe/627gvmtvmlX04Yf0no83zREDNOoy61zG+ctLhgb1CVGAJQ8WmmsRqzT1T3Q=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <e20f4ceb-cacb-4dc2-8811-868204ebb818@citrix.com>
Date: Tue, 2 Jun 2026 14:10:34 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22] xen/efi: Use blexit() instead of BUG_ON() in
 read_file()
To: Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Szymon_Aceda=C5=84ski?= <accek@invisiblethingslab.com>
References: <20260602122441.2961974-1-accek@invisiblethingslab.com>
 <979ceb84-f254-4cbf-a33c-8d4557a12b11@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: <979ceb84-f254-4cbf-a33c-8d4557a12b11@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0231.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:315::17) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DM4PR03MB6112:EE_
X-MS-Office365-Filtering-Correlation-Id: 112c148e-7ada-4dc4-641e-08dec0a856e1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|22082099003|18002099003|17002099007|4143699003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	phgBfz4ZOScQNPw2/lsg8Sq53U523pj1f7CMvf+i8Kp6SZvF9m+E3G96ue6vrDjLrTni4BNl8WttNLyA0/GvGx1TjSwO8mWsmPBabKzFXs4CXZZ2yTCRpjCBZBq4Pe1/Cti7S7DpiGwE/UhGiR9NlQiyvujjImbnWsY5vDxAJ53xvgADgVIDobLgE5k/4nJxfxRtMJmFX0rVRX1+bPE+iiqxxLLu3lGFj46Fza9u/FLJ21PNzUNDNibzxN4i4fL9X6wUMPKCIN5VMUYhnkM6q5Tzw/yMa1muoIGdfoO1PuKzGLn4+lrrdPQVCEYzcDY9UyREY5AZs0mgzo9sxBFojb7isQiqXISkEt3009h2tO7uFiyNGmXuNMwbeSE8vHjoGYaqrPb75IM3N8RlhqgNSsWWQaZrlUEXaYJynbpxCQeN3zCmZLwKlp2xhd2/HXGnvITBEN/MsgnWMkEhVsAPSKXKzL99nsGSQZQChGhZg6R0J1t6R1vgLOS/PBlaywX3dUvUbQxETm9yMHkGo5pijCXnjQSICWt+hTXP5EsdTpfJIZFObMFbC4LgbmkW2GK/nZGlmLmqr0wBiXhtbl0wadR/SdNs5IdWkj4ul/bHcrGCtkbqYl51DxEnIqCHjkZW+gHkgBKMrvYuzWo9Vi4JaBLCVzXoQWJ2CILVUdexjmBM5SJBH/LUK4LnMhbbwLLOikyHk4q/LQZPICj0AnFnCg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(22082099003)(18002099003)(17002099007)(4143699003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ck1xb0szNU16YXp5Vnd5MXFuL0FyTkpPOHpNZDFBOURtd0YvdDlDQlZma3BS?=
 =?utf-8?B?bHJpRHhyeWdsYW42T3FzZ1piMHRoQTJQVUJCTWtyVTNhRDhiRCtJZGFqekIx?=
 =?utf-8?B?dU51aWEvUWJxN2JjR0pLZCt6MFNuSEF2K0xXaDNpQS9hOCs4RGpWTzdpRDRN?=
 =?utf-8?B?TzNkNkQxa1Q3UmdxL3dUVzhWS0VyUzFXSElBWHFpN1ZvdU44VlRGVmlBMGRo?=
 =?utf-8?B?RHBSZWNCci9vZXdrTWZTUmNMUkFKTzg3ZDNlQmJlWjUrRVVQVGxoME9vK2tJ?=
 =?utf-8?B?TmpwaEZ3WXFzYUNJdVQ2OUFYZmFiem9Ic2lNOGE1NFJQZC9kRzdRTVJGVEl5?=
 =?utf-8?B?bDdFK25GOUxEU2I1ZEk5bmJUZENmczBob0hsdFoyZWdxbVBTNm15dXdZR0VB?=
 =?utf-8?B?aGFrS2RxajVMMVlIbVluTzFUVjBDcndZSS9MUWgwN3lCYkNKR1JKWWYraEls?=
 =?utf-8?B?d2pzdVVxWm9wYmxERkFmUWNGalFkZmdQWVBMcTYycmoyK2NjOHlJUndlK29X?=
 =?utf-8?B?cDE0WU40ZnlXcUFUK0JVYUp4dDVCWFRlc2ZpelJCUDFMeWZlTTV6VW9EQ0ZT?=
 =?utf-8?B?dmJSNVdFVEJPZXhVaEVmZ1MwYXZLUXVES1RPR3A4RG9Kb3d0eGJQUDBJNlFS?=
 =?utf-8?B?aWk2TklJcmN2bTNnT0F2OEp6cnJMK2krcFQyeUFoemQ2TXQrU3FISDBVQlVk?=
 =?utf-8?B?ZExMcVVpb05mYmM5VGVSTUR4WEFIUVJJdVFYaWZ3azA2OVM4dWU3K0tjaTNO?=
 =?utf-8?B?U3ZxYy9XbzBEdjZTdzhhZ3FFeUdxNTBiYS9iajZva3JQVFBzc1VNdDc1Vkxn?=
 =?utf-8?B?NFpHbmh2OW80L1UzSnEvVUVDdE1jRHlMYmhqRm1zdnMrd2RwWWhpamRQTDNs?=
 =?utf-8?B?WmlwMjAxUDdVbG9HSWR2bTA1VlFYUURiOWsrank4djRUQzNMYU5rWHUwa0N6?=
 =?utf-8?B?eXdUNFExN0orM09VaHJSRU5WeGt2UzJGMEEzcldzRGQ4YnFCeHc4djloWStD?=
 =?utf-8?B?TlYvMmYySmFOWFpWdTJIcUtxVm0rUlZaZ3U1OXNublNOM3I5cTg4NGdEeUZW?=
 =?utf-8?B?MTlOOFlJb0FJano4WGdIbTYwV3ZDVm1IMGR0R1hXYlg4NkNrd0FEak03Zktl?=
 =?utf-8?B?V3ZBY3pMai92UHJGMzlXQnRVNXY4TzlzQzBhWDA0cFdaSGhqL1djaWptZTkz?=
 =?utf-8?B?MGNmRVN0RktGT2pmNXpwVXFrVVJJcmZJSUVPY1pFWnVKZ08xbk54RVR5RkN3?=
 =?utf-8?B?dHhaQ29sMWJTbW80anhjV2J1MDRXdFkxT2dZWUJlWTQ4QWprOUpMZ2VpUXkv?=
 =?utf-8?B?dmFWZzQ4bXZQVHNVRmd1NzZydU95eFE2ZUdKQWJoNDQwS0JHbklZNTZDeWNU?=
 =?utf-8?B?Sjk1ZndnbXkvbGtpSlBBVVh3djZoK0Z0OTQyTVAvNGdPQS8yY0M0NU81RXly?=
 =?utf-8?B?WHJZMlduYllYOUkvcW5YK0ZjNUNUZDFCOVVldERnc083eGJSVldKYndtKzMv?=
 =?utf-8?B?c09jaUJQUGhKR2dEV1dDS1Vhb3VjM1p5UXIzeTlrYjc2Y2xRa1JRQmUwQVZG?=
 =?utf-8?B?Qm05ZEVmYTFOYXhWcFpvVTNRdlJPZlpUdXZuTm1BZUNQSjFYemttcjlCZGsr?=
 =?utf-8?B?Nll0eXhFbWVaejdOMEs2RkxYMXI1a3F2VDVBcW1nTEc0M1dRZ2RZc2R1dTRi?=
 =?utf-8?B?YUJhM0NXMzJoWjZyYyt2N2Uzd2krVzVYYWtaejhQMlorbys2NmpqU3FLalFE?=
 =?utf-8?B?Q2Q3dmRHNzJxT0diblo2Rk44NEtYK21YeEthTmlNbmc0cVJSTGZCdFJjaU1Q?=
 =?utf-8?B?VFMzRGpqOVJibWNBdG1XWGV2SE04dFNTWTN5YkNhcXdabEFLTWVhQWdqSFV4?=
 =?utf-8?B?R3FRNncvbkdnclg4czdMbHdybGFsTERpWXAvbVVMdVpjTzJ1c01VYmorWWMv?=
 =?utf-8?B?L1NhYW9QMkY3SUhKQ2M0NTZQZ09TbGpQL1Q4anFrU3lLd1o4Y1hob3NnZ3BN?=
 =?utf-8?B?NnJ1cDVSR0RCY3RnRC96OElsNXg1bThKMDVjQzNIZ1l4T0xOMGdXTzFYZTFG?=
 =?utf-8?B?NFRHajMwd2lla29oS0tmOWs4SDN5ZExMY09kcHJWVTQyL0NuU01VWm94SkJl?=
 =?utf-8?B?bndGR3pnQTh6SGEvUlluMTVlcFFYd0FRQW1ZNmZTVzhRUldkYmpMWEFxeVBK?=
 =?utf-8?B?emFZZlpXQmsrcFhrcjRYblhab3k2NVA2SEtSTWdlNnBFU1p6NTdNK1drQlYz?=
 =?utf-8?B?ekhYeGJMd2J1U1p6d3BSU2F0UTlwOFErUFRuVnUvcXlMWmtQd3dWMWVCWW9h?=
 =?utf-8?B?aDlCNHIrOHhob29kdWJSNktSL3VkanlLYVVqVUlzb1RTc0VoaFhvU2EvWitm?=
 =?utf-8?Q?CyPAlAK5Ks4R+bYE=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 112c148e-7ada-4dc4-641e-08dec0a856e1
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 13:10:37.8564
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jsYRI1s+BgFEwQO8EKdghjzJmaU3GUf12NZ/qnCWZpLEbhX0ODvqywPqK9rCdt+pjY6BvqP2LG95PrimXhub/VTItQ3gQm6Y+z59mMfA57M=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6112
X-purgate-ID: tlsNG-d62444/1780405842-AEF58FF4-DD605FEA/0/0
X-purgate-type: clean
X-purgate-size: 965

On 02/06/2026 1:34 pm, Jan Beulich wrote:
> On 02.06.2026 14:24, Szymon AcedaÅ„ski wrote:
>> Follow-up to 880e40b187aa ("xen/efi: Fix boot from a device without
>> a file system"), which added a BUG_ON() guard in read_file().
>>
>> But as Jan pointed out, before ExitBootServices BUG_ON()
>> is not functional. It results in a hang with no message.
>>
>> On the other hand blexit() prints a message and returns back
>> to the bootloader.
>>
>> Link: https://lore.kernel.org/xen-devel/bb0f007e-697e-4501-97ea-3b59cf494ec6@suse.com/T/#m4725c8cbc0946a5533aea03fc240267ef139648d
> While Linux uses Link:, as per sending-patches.pandoc we don't. It wants
> to be Reported-by: instead, and there wants to be a Fixes: tag.
>
>> Signed-off-by: Szymon AcedaÅ„ski <accek@invisiblethingslab.com>
> With the above properly sorted:
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

CC Oleksi.Â  We're past RC1 now, so everything needs release acks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 13:17:56 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 13:17:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325024.1590536 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUP0A-0007gH-Gs; Tue, 02 Jun 2026 13:17:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325024.1590536; Tue, 02 Jun 2026 13: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 1wUP0A-0007gA-E3; Tue, 02 Jun 2026 13:17:50 +0000
Received: by outflank-mailman (input) for mailman id 1325024;
 Tue, 02 Jun 2026 13:17:50 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <accek@invisiblethingslab.com>) id 1wUP09-0007ef-WB
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:17:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUP08-00CFkQ-N9
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 15:17:48 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <accek@invisiblethingslab.com>)
 id 6a1ed7f5-bab6-0a2a0a5309dd-0a2a4501bed2-20
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:17:48 +0200
Received: from [103.168.172.145] (helo=fout-a2-smtp.messagingengine.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <accek@invisiblethingslab.com>)
 id 6a1ed7fb-c1f2-0a2a45010019-67a8ac91cfd1-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:17:48 +0200
Received: from phl-compute-01.internal (phl-compute-01.internal [10.202.2.41])
 by mailfout.phl.internal (Postfix) with ESMTP id EEE92EC06F6;
 Tue,  2 Jun 2026 09:17:46 -0400 (EDT)
Received: from phl-frontend-03 ([10.202.2.162])
 by phl-compute-01.internal (MEProxy); Tue, 02 Jun 2026 09:17:46 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 2 Jun 2026 09:17: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm3 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:Message-ID:MIME-Version:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:Feedback-ID:From:Message-ID:MIME-Version:Subject:To:X-ME-Proxy:X-ME-Sender"
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=fm3;
	 t=1780406266; x=1780492666; bh=Odw3uM7GYkxyQ4rOzkRBdHo22ydzgt+9
	ApdUBTxVZ7Y=; b=vDnbliDAZ5CxKaktiZ7OlI5ZJqU9EtfAbGA6Z47kbREF/3nB
	NzgMB2QvO5lKDeDapwoCPl95cD2DNjjrZKYI9PqNXgu2i69Nyen5u4hAFgLtbEEG
	9mRES7NjuuaeSzEMJ9uLGdiDEKPNRQFgHMzhLRDn43ns/9nJiyAMHGofNhHr99KN
	u+y+xfQI0V0lVHvIDSWHkaLsmGUGy5gGo0x8hSBfb9h1O7faEr6Qk+aelMWK0Xh0
	ISAQH4a6X16GC+ruI+8CFaVxDr9mvyE9OHkj002xQPnNEqpxYw+v8fQZ4uYqVlnW
	NUNJcjajfoMbw3GEnG+N+648jCJ16GRpUDTY+A==
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=1780406266; x=1780492666; bh=Odw3uM7GYkxyQ4rOzkRBdHo22ydz
	gt+9ApdUBTxVZ7Y=; b=A71/whzQau3O60huSLq0Dkyn1dve4y2kEpfVveQmA2sD
	Z1YEOAtU8eBXx5qUM+FA/faZXrnxddRPbRpa28ZkMf+EWnEztFQfh2opTmDMiB5t
	HNIq0/dxhTl0PmuWAAma60fj9rlNAYCUhY3mc0XXVQVREaTm6GUJFQSInWskgldz
	Iv9ibXPxcMa7hFOpYFrKPRaogd5Soy+OKMCR+07VzocyCOMUeqUrvFjm6tpjKAP4
	OSFvDGTC2og0mHunmgtctexwDLTjJ8+gLFJKc+SQEpxYF/yl1hkuL0gv6EnF4ArO
	Z5NLQe+rsyVVL5rFv6wKrqR2hy3XnVb2ewGqGLtWiA==
X-ME-Sender: <xms:-tceagLHpmT9QBEBRYYfc3Zf8u1El5iL0P96GsAf85_llvn192uYOw>
    <xme:-tceaj3JF9vuDa8sZ2brtlaHUmGjWLtJxcdmEdDZFC2pZSDwDQY1OmFzi9A-INjH-
    U7cDFb6M2cs_OhNKQKcoemuP64J3uJHpeeymcRGVFWjd7ZZLmc>
X-ME-Received: <xmr:-tceaqjX7FrbwC3N8eVtABpyW26CO5GUHosFY_Mo8ab5ssGhAyLFwBlQ>
X-ME-Proxy-Cause: dmFkZTFQQIErjjn5Oc2MgxZTxaZ0BgRfkzV9Qce6STntFPkc2OuoG8jBX1tCUSyR0jlsj+
    OrqDGIWGuMnTlVDRtsyJXZm99W6F/ZlKUCCNbjPnXmkuGUCzRXP2hLFxKw59WZqJtdgMV4
    KvThuk45hqVnZaLl/UEgGxjcUUXP0uM4Iwr9H2akbjYqfZMgL44mF1U0wpbGVBDjVP6OUT
    VZIqbbrNmE72snbWE4/2MJZvdxfbK5nzYOs8brIbjHrz5pxmaOIzqdswSElgASMbYfmEy9
    ycZm1GaR/QAE9FOf6z3tMhoX70IB97HwC/MhAbwV4wfOkGxzk49mOqdn1gqCORM5yL0FIo
    fj8INK2fvhePanly564/lUausJNWKhasRX9W42xRuiP/xjta87IOPFw91QXET8/7z9u/8O
    RCJEr2+5+b8TzW28Y0Ex4jGEBqij3M8KLsYmjE5wMXYW64/d0K7CrGtvAkEsZdJFtUN4ug
    xq2++FjVWJ+X7cY7w46IYHHFwKyfkL+ZiamI6KNuCiTzCnjjfLwJ5uWySXDK6R4Lz6aQxU
    OtnqX3zIrwEbQO4gkqS0U+h6+UUn+oF0txX+fkTH6dxBbVb37eyTAxgYRy0irykDM2KTqx
    tLxBcGy9mIMlRPie35QF3jsa7D/bq5mDcTLonhW7EF335NH2E3MxnLugu6eA
X-ME-Proxy: <xmx:-tceakUyZuOWvt7sgD-iDbEI-aAsYh3lFJ2Lh83t2qC5ntlWDJ6EcA>
    <xmx:-tceapU0vzdw4Nh_-Y1O2c6hiXPAAtSoi31mNtcoh9Y13GBJbqe-ZA>
    <xmx:-tceakhgM8RdGYCt9fYwt_HPvQjvI9mWQk9hcIKD964rpvbphq0BrQ>
    <xmx:-tceakYlyfLzhBEQIziEw1f8P6SQo5OtQb9Y6aYW_3oFJ_q8aZQQLg>
    <xmx:-tceagnTGhd3LczT_lP9KXaxNweJHDOsGQkAfguoZkERdhYxOFBX9eOk>
Feedback-ID: i792e4853:Fastmail
From: =?UTF-8?q?Szymon=20Aceda=C5=84ski?= <accek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	=?UTF-8?q?Szymon=20Aceda=C5=84ski?= <accek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v2] xen/efi: Use blexit() instead of BUG_ON() in read_file()
Date: Tue,  2 Jun 2026 15:17:37 +0200
Message-ID: <20260602131737.2983084-1-accek@invisiblethingslab.com>
X-Mailer: git-send-email 2.53.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1780406268-AE143FF4-147A8090/0/0
X-purgate-type: clean
X-purgate-size: 1374

Follow-up to 880e40b187aa, which added a BUG_ON() guard in read_file().

But as Jan pointed out, before ExitBootServices BUG_ON()
is not functional. It results in a hang with no message.

On the other hand blexit() prints a message and returns back
to the bootloader.

Fixes: 880e40b187aa ("xen/efi: Fix boot from a device without a file system")
Reported-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Szymon AcedaÅ„ski <accek@invisiblethingslab.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v2:
- Drop the Link: tag; use Reported-by: and Fixes: instead. (Jan)

blexit() has been chosen over PrintErrMesg(), as the latter
is predominantly used in cases where an EFI call fails
(and it prints the status).

 xen/common/efi/boot.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index 2971ea8696d1..8f24df9bc23a 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -849,7 +849,8 @@ static bool __init read_file(EFI_FILE_HANDLE dir_handle, CHAR16 *name,
     if ( !name )
         PrintErrMesg(L"No filename", EFI_OUT_OF_RESOURCES);
 
-    BUG_ON(!dir_handle);
+    if ( !dir_handle )
+        blexit(L"BUG: !dir_handle in read_file()");
 
     what = L"Open";
     ret = dir_handle->Open(dir_handle, &FileHandle, name,
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 13:20:30 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 13:20:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325029.1590546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUP2j-0000zA-Tx; Tue, 02 Jun 2026 13:20:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325029.1590546; Tue, 02 Jun 2026 13:20: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 1wUP2j-0000z3-Pl; Tue, 02 Jun 2026 13:20:29 +0000
Received: by outflank-mailman (input) for mailman id 1325029;
 Tue, 02 Jun 2026 13:20:28 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUP2i-0000yx-NE
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:20:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUP2i-00Ebud-3u
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 15:20:28 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ed894-bab6-0a2a0a5309dd-0a2a450ca6da-44
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:20:27 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ed89b-62f1-0a2a450c0019-d155802bbcfb-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:20:27 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-490a762db7aso20212705e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 06:20: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-490b0e37851sm70650385e9.13.2026.06.02.06.20.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Autocrypt:Subject:From:Cc:To:Content-Language:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780406427; x=1781011227; 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=Sxv20Mr0Tf4L24+fePzY8EbdSpHRSWuEpECASIsK+30=;
        b=Gmnn30ZJlJ7bRlVHMMitarZVbwuL8oiYd7diSxAkjfoV9xGJuxa4xbgSGUy2IvzDqH
         l/NEcEoj7NoMIZYwFNGvhz2Wi5r+OPcyHHM5hsIH9zYmiiUplHDUKvNeBfkzC/CP0X3z
         nhkHV+L93DI+qRGOzo/qwO50LuD7k/1YibA5PKhIkqnpkuggTzO1TrbzvL4D+tLo1kpy
         7GAab0vroOSL6X9khbmvGC1o4TYEjL8uXqAsXSziOMAupV7Hh73PkIsa54avmp1gqpe3
         F2tXyCML04fL+8eEH5grdqF++6tY0LFT93iBbr2nUOg0XdyiA6Lm519sc7w3vcEeH3X/
         Yabg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780406427; x=1781011227;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Sxv20Mr0Tf4L24+fePzY8EbdSpHRSWuEpECASIsK+30=;
        b=Qlemd2Z6gl92/Da5SUAeRVPYJzlcXjMvI3SLZNfbV8fcgnJ+aISgIgB8cdO6vx1aDs
         gyafERxMilaC/6j42DB1Oi7drygc3ZGBjthQmXT3qU3PHT+HjiEGfd5y78qJpT5fL1Bf
         LKxJRlX/Z/XZc49bbuSWcii+d5aAqpI8fnMUBNpQByDz9BDsvGIKfbTrWF7LqKcP9xF5
         rfgL3xlDEsmt02vZDX2w27N1QdcVDCDSzAbGNoRWCdYxyh0HtXWJRLp1gK9HL6TpjTAo
         zSyjWj/J0hsUH+jJqU89MW50czTAeAj0awfCELii5a7KzzKE+4L67/vlzXkpVUlB/UaC
         G5Vg==
X-Gm-Message-State: AOJu0YzW1z2ygVBv04Pn3Bt3ZlQjcUaDnq93v/8YXD/H0PuFBQxadCsX
	EulRUxQhTdZMpNJNMTimBJLEWa3qOQNadb+HJhSHo23/Ye1gvuP3l/rrA2p1WVWTcrigWLXXe2x
	HBuo=
X-Gm-Gg: Acq92OHEDzIymgoMZyL30Dge/oL+9+7B3e8TBbxMSpAgmKljBWNVTK74+qAnfFL9YPb
	G2lCknVzeluQdXPxijPaJmxH5g/6o3ZSj7QC382fURbn5xda/JdOp5e7+WTrhZdIEEFuvwAEYiu
	n97VwBDuaBu/2Q1pxyzuIiP9RQV+l4quDvc837r3JURgtw9fZ8REE0HUQoVYgQT3XbiZrGWZvqU
	sVWPCMZgM+bm6XB2QL0c7TulSSIrWodrPsr/69QVUocGbPzgY1ZvyPEo5bt0Ao9RatOYCcAOdG2
	PuakVAfRD+mG/Zi2/ukJfSfd1ZR5yuZkxF08Lvb9b0swHiBT7QiCZ/dGbHLIbBwNP5o6Dgxkxen
	0gX171ChD+bHBZXVb8e6bOsg4Xj0sfAibJU6BjqFI8zAv9G283Q/T7fZyOTkmuqMYzWczrCO7oj
	1SYLGbHuq4wdybUWKBrGAcC59hNfRHgOEncq6ntNO0SbN8C3gz5zxAI9nRtUOy5nBfSRT8M5i0h
	ZGOVI8PlwwaB0doBfF/PJQi/A==
X-Received: by 2002:a05:600d:8648:10b0:48f:e245:394e with SMTP id 5b1f17b1804b1-490a2943943mr224720335e9.27.1780406427171;
        Tue, 02 Jun 2026 06:20:27 -0700 (PDT)
Message-ID: <b61214a2-6198-48eb-95ef-9104d57f3691@suse.com>
Date: Tue, 2 Jun 2026 15:20:33 +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>,
 Teddy Astie <teddy.astie@vates.tech>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] x86/PV: rename a local variable in pv_emulate_gate_op()
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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
X-purgate-ID: tlsNG-d25034/1780406427-E0766CF5-6487FC46/0/0
X-purgate-type: clean
X-purgate-size: 1992

... shadowing a function scope one, thus violating Misra C:2012 rule 5.3
("An identifier declared in an inner scope shall not hide an identifier
declared in an outer scope"). No difference in generated code.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Technically, as the outer scope "rc" isn't used again later, we could
simply drop the inner decl. That seemed more error prone to me, though.
---
v2: Re-base.

--- a/xen/arch/x86/pv/emul-gate-op.c
+++ b/xen/arch/x86/pv/emul-gate-op.c
@@ -287,17 +287,17 @@ void pv_emulate_gate_op(struct cpu_user_
     {
         unsigned int ss, esp, *stkp;
         uint32_t value;
-        int rc;
+        int left;
 #define push(item) do \
         { \
             value = (item); \
             --stkp; \
             esp -= 4; \
-            rc = __copy_to_guest_pv(stkp, &value, sizeof(value)); \
-            if ( rc ) \
+            left = __copy_to_guest_pv(stkp, &value, sizeof(value)); \
+            if ( left ) \
             { \
                 pv_inject_page_fault(PFEC_write_access, \
-                                     (unsigned long)(stkp + 1) - rc); \
+                                     (unsigned long)(stkp + 1) - left); \
                 return; \
             } \
         } while ( 0 )
@@ -361,10 +361,11 @@ void pv_emulate_gate_op(struct cpu_user_
                     unsigned int parm;
 
                     --ustkp;
-                    rc = __copy_from_guest_pv(&parm, ustkp, sizeof(parm));
-                    if ( rc )
+                    left = __copy_from_guest_pv(&parm, ustkp, sizeof(parm));
+                    if ( left )
                     {
-                        pv_inject_page_fault(0, (unsigned long)(ustkp + 1) - rc);
+                        pv_inject_page_fault(0,
+                                             (unsigned long)(ustkp + 1) - left);
                         return;
                     }
                     push(parm);


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 13:21:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 13:21:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325037.1590553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUP3v-0001Vz-Ad; Tue, 02 Jun 2026 13:21:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325037.1590553; Tue, 02 Jun 2026 13:21: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 1wUP3v-0001Vs-7z; Tue, 02 Jun 2026 13:21:43 +0000
Received: by outflank-mailman (input) for mailman id 1325037;
 Tue, 02 Jun 2026 13:21:41 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wUP3t-0001Vi-J0
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:21:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUP3s-00HDfv-Vd
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 15:21:40 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1ed8da-bab6-0a2a0a5309dd-0a2a4509c20a-46
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:21:40 +0200
Received: from [52.101.43.68]
 (helo=SJ2PR03CU001.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1ed8e2-2497-0a2a45090019-34652b4417b7-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:21:40 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by PH7PR03MB7242.namprd03.prod.outlook.com (2603:10b6:510:249::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Tue, 2 Jun 2026
 13:21:35 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 13:21: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=RJ7uvu40jIG1MyDh6Idp1en7B9FoFh1GTo8T0F7jnfUCChRu/vU5WA7koTJoWDc/0R3GahYsn6H4odma3PUVIKOJJo1cyO5AVqokqZvoJoWUFnxLSQ7Fd1P5VBYpuA8qiJ+O8BGatS1jtA8LTrcDsrrNW1cbgsQVrav7YrTktumvobxOhDhySUhyTNjzx1HVsk74MaX1M1OP3MhgNVx8nfFrYvc2HXWdTA4SrbnuGKjQZ8hwlRJpil2pL1eiGQG6gSG7N/a14Dnu0qV5nS/dxjFMxJMZcCvKuEaSsCfnW2cyX8gsoi7dFhPpWisWuWZfyB2BACCPMQjOU0fnNS8wmw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=N5RBuPc9TJo72fLZhQ3NRquAG5yfuuYFxjVDo11bqpk=;
 b=BLTjPx5vzormw590K8Xw89AjcF0ZHCCbBTffJX8sPL4GshFAzCOxz937aafqN/J74EpOhbjHK0i8jeL2TBroZqIhNKTQ+UYLNo5iU3jjGZXcKC8esLY+eu/yO+q0mgJk11zAopZS0t5IA3lGpz9EhTl27+QCT2Eo0gyWxDR1cO86TVqtnx4nL3n9ZM2bJpFWRpjsVU44zU0QwPEtbcH37NHUhIiCnSkxPLYu4geW3Vd85xpWqZ7odNpAbNRPH0q46gauzUJTbDpYaBO4XlZEgfvfK7+ix7BY4sRHp/vFlX590l9aICFLA1Ns2+6YWnpecLvQlyr/Uhb6+1M87/ZuOA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N5RBuPc9TJo72fLZhQ3NRquAG5yfuuYFxjVDo11bqpk=;
 b=A2MGm+VvU/DsXYfH/G87IHcRIlPcOrFsf1IVnMeWH/NvKYZIO1/rTL4NPLWTp8SUs4W6S5Hq4E4tKU6xDteG0E895vgmhJe+Aa+25icJELoEgPDXcJdpIg+YAMEJcU3p6ZO/m20PACGjt3BSNpw9Usw4BOWDynMLCVfNZrQqE+4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <563477eb-7e7b-467c-949c-fd1cf8a37b6d@citrix.com>
Date: Tue, 2 Jun 2026 14:21:31 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Teddy Astie <teddy.astie@vates.tech>,
 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>,
 Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 Marcus Granado <marcus.granado@citrix.com>
Subject: Re: [PATCH] xen/mm: avoid watchdog timeout in dump_numa() on large
 domains
To: Bernhard Kaindl <bernhard.kaindl@citrix.com>,
 xen-devel@lists.xenproject.org
References: <10d8309efdb878a3b615a7daca2bb5209525cb37.1780390167.git.bernhard.kaindl@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: <10d8309efdb878a3b615a7daca2bb5209525cb37.1780390167.git.bernhard.kaindl@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO6P123CA0054.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:310::11) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|PH7PR03MB7242:EE_
X-MS-Office365-Filtering-Correlation-Id: da2d8288-d9ea-4689-ae13-08dec0a9decc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|56012099006|11063799006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	QojOCtCLoDvauNly0hhTWTbnryrG4xXqut0SQtkcSLF/wxd+pfFaGsT/dI6t7GaoojxpNC7DoMY0pYXA4HgQR9+sWwv+/f95C+Cjn8YogoCwgBJ4rohBnvGdZBz3+zNQJqbKR1BhbMpJ8WQzX4KCmK2cU7CqywI33SkqhlST1rXUGBWAJpeRzoP7qCPlG/E3bHyyWbB8k3M8n0xep7d06AqmVvW6Sni40v0aKhI7QHQLx4OPFkGN+W3m5veYFf+WN3EQAWzOQ6+8HEjxPyPHwoiRZI4VdOTk7xSRLcE60LjCqeV7XNn9cd5/IRurpesqrUGCq8bbvCkfJbZCzdexSf6Rwa+AxJkLjre/K3d9IQ1xvWPOPTKP6WHZ/0QwDhnAMXRbMM3xBLcmri7s0QGesT7iNIavkucHVbNUj3HC/OqrAxR4J2PtMWJsWQ1pkPsv5L3pJ0FY0Ah1DAEYQyz8Aqzl6B9X4JPbVhU+xpCXSz66tmNxigUmUkvRUUJjdwtUJSPCIeVloqGlJKpKu5SPXQMoH1+Sr/YgQcIynD7tMo9G+OeKdX8yN7zzSkdIopBuxJFhSWs40+u60/rdFf9zMiUXzRu9N0Dctl719JNhWYkeoKXH4PGRlidQn9i6JEfZsqReKe+tIg76w+w96jgRN3WruWFDNEXftwadtsV2AAt7U9YqGspUQLks5JW2shxH
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(56012099006)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V3ZlREVkQTF1WW9CaVR3N3RsY1F3UFRXdHU5OHRKcngvSzFCM29qUDlwaldG?=
 =?utf-8?B?bGZnK3R2YmlFRFVOMGVNYjBnMWFvaDdrTGVVc0NITWN5TzFFc3JQb1dRVXFW?=
 =?utf-8?B?cER3a2Y2YlpNRnFDRGczOTl2UDZtQkJxeExrSm5SLzYzTTdPSjlNUDYxdEs2?=
 =?utf-8?B?czV0S3I0MlpLV2MveTNwN20wTHMvVlRQTnk4L1cyRTk4dlRmOVd1dmgzUTB6?=
 =?utf-8?B?bjdzTjQ2SGdsTHFTeUJQb2F0TjlCdjB2WFBmRE1VMnVKenFoL2lPSXQvMXRN?=
 =?utf-8?B?Y25XZlhna1NtQWhlT2Z6WnZvVkVHYnpJMUlzaEpDY1NOTExxSldnOWU1SVRm?=
 =?utf-8?B?eC9aUUtOaVJUUnQ4ZFB4T3dIY1N5bVZVQ1MvdGhlbUIwWmtKSkJuR29ZVVJZ?=
 =?utf-8?B?VmdGMm5kS3JPOE9nemc2b2FpTEVxTGZLSHVTYnJZZEVnOFRQRGpRdGxBQ2dm?=
 =?utf-8?B?WEZjdmtobzNRNmJPOUNjMFNHd2gzWTBBcW9mUVovYURNM25ZaWI4RnFjMlli?=
 =?utf-8?B?QjlWbG1uaXNxZkN0aTNIYzBnNUh2bTRzbXh2M0FkM2M4KzM5ekFPU3pIQndD?=
 =?utf-8?B?Z0xVSXRSV1ZkTkF6OEppOXpUakhHOXlGa0lnRkJveldTa0c1SlY2clhzUmlH?=
 =?utf-8?B?Q0xZUXZLR2l4MDIwek9rTk1jQXVxalk4VDllU1FOMTBzOTNTY1JpMjdyb1FJ?=
 =?utf-8?B?Tk1URmYyYTVrY2t6bjdBbWwzSUtWMzlRNDgzcDZkcGxOcGpRMXJsNCtRb0dJ?=
 =?utf-8?B?MVVpTTZRaVQrVGdwSEJkd29US1pPbVZqSTM4bUVyaGlWOW1RM0VNc2FpQ0J3?=
 =?utf-8?B?SXBrM1V3MVRBWHZueGVEVWlhS3ZaUHpDcjg4QXB2K3haenhiWlFweEVWbXdj?=
 =?utf-8?B?dnVvdU1rZ01wT2VJR2c0eWJkVjVZN0RzMkFNVzNRZVNmK1FwVzdFMTFvTXlj?=
 =?utf-8?B?UjlUblZTMy95MW85dU9SUi82SXhVTzNDME5naUQ4VVFmMGx3Skp2dzZhZ1Nz?=
 =?utf-8?B?UFBaVXV4SllwTXVtdDZMYWgxd1FMYmMyb2ZjUEw2T25rUHJCQ1Azb2ExMlNs?=
 =?utf-8?B?Ujk0cUlFaERSOHF1c3JFaFZ4bkZsMEMySjdlcUZVOFdmVVExWEJ3YytrbXpK?=
 =?utf-8?B?NE5VOFNrYkhRdnFlMnFYdnpUM3lMZXZjb1Jna05ka2hPY1hCRmlwRGxuNkJp?=
 =?utf-8?B?bVdvdS83R2N0ZWs3OG9FZ0VjU1BVdllHMFdYN2pXUGFBVWpsa3JPam9naVRI?=
 =?utf-8?B?MGpXejFicHdHbGVxNVcydTRGenFTYmltVUNQbFpoTG40RVFtT3RPVFNBaTdB?=
 =?utf-8?B?K3JhbVp3T1hmMnRRcDVxOHZ3akV4dHNpNlArVWJ2S3FRL0JJa0VKMjlKWDVT?=
 =?utf-8?B?bnNuMmxlMHhha1o1ZjZHTjdNVXFacWNqbi9wVEtGNEVBWUpLak8wZk9hbWtk?=
 =?utf-8?B?MGZvUFh4cmN6VGZGbStsWGpIaVdGUlRteC91dzZMQ0FJcEh1eGRiZTRnNlNt?=
 =?utf-8?B?TW1ESForbUFldW1BYlU0TGFEYXNQVy9LRGVRcHBpbmkvbzNlNzNEOEdzeHcr?=
 =?utf-8?B?V2g0blVOVXliUVdMM3A4YUdabGFadTMwbDg4b3VyU2tON2NiWWVzdlNibkp6?=
 =?utf-8?B?c28wOVFVWkczSUZTMWdidkliUVZlWjhDK1MyV0ludStCTnhmZ2RCMnVYLzBU?=
 =?utf-8?B?MENxSFlrTDRmNzF0ak9hZ0kxZk1oZWFiOWhETlFEbDFwUHp0d2ZIUThjdXZO?=
 =?utf-8?B?MVFSSXJRU1ozNVV1RHNMUUp0UnV4UDBTSS9vU0gvT1FESHp0RnhyWDgvaERH?=
 =?utf-8?B?NXFRYXNLY0dMeFlMNEV4M3pSUWdTRzZzaW5EOUQyZkQrdGZsMUJlc2RPUTFT?=
 =?utf-8?B?bGhCWlo1YXNvQzJTcnN2MWVzVkMySE9ZV1Y1bk9NZGhxSUkyclZONGlWOE52?=
 =?utf-8?B?T01iMnVyNnNmMExzRERsL2toeXNxSTJnSSs5VGQvQ3I3SnFid2NWbUJuc1Ru?=
 =?utf-8?B?MXUwRjFrVUVWdkRuUHF4OUIvbEdYWVllRmp0U2RvVXYrcGNqRDZvS0VlNWhk?=
 =?utf-8?B?UXdncGVaZUV1VzN2d0Q1WXRsbWdPVy96Si9ta1ordisyK2dwZzlmcFR1bXA0?=
 =?utf-8?B?dHhiMGFRT25FVDZOM0ZhRDNvdWtZS25NTHMwQzZjUWU4cFJLNlEydE92RGJx?=
 =?utf-8?B?SGFBZmxIcnBxdGlhVmJYbDNRVHJFMVk2TGdiZEtPSEVieXdCR2pmTXdXN2Mx?=
 =?utf-8?B?b3ZwMUpBNDV1dTVaT2o1V0ZiOVZDc3U3NGZJeHRMRTQ1YjBidDd2dzV2REd2?=
 =?utf-8?B?S1puZVR1WlVqc2s3UEZsTWkzU1BIZzloWkswRXY1MGVvYmppaGV5bDFodW5q?=
 =?utf-8?Q?upGaqiZ2411NSOYY=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: da2d8288-d9ea-4689-ae13-08dec0a9decc
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 13:21:35.3987
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TrROg8A5HGeEEBr87Ch/83lqa6DsMm44JlSnFzlzZmNSvklegk5/+f+OP0BQ7zYN1z2rm/kGxFuFpBmqX///uZFUWFFZpY1PRRyBg8qkxzs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7242
X-purgate-ID: tlsNG-bad1c0/1780406500-40F66A53-20DD1866/0/0
X-purgate-type: clean
X-purgate-size: 1631

On 02/06/2026 9:49 am, Bernhard Kaindl wrote:
> diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
> index 5c7a0ff30e8b..89ae418be0ae 100644
> --- a/xen/arch/x86/mm/mem_sharing.c
> +++ b/xen/arch/x86/mm/mem_sharing.c
> @@ -769,7 +769,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 8cb4241b0511..0b6afba2acdb 100644
> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -1558,6 +1558,15 @@ void domain_destroy(struct domain *d)
>      /* Remove from the domlist/hash. */
>      domlist_remove(d);
>  
> +    /*
> +     * Final invariant check: all pages still owned by the dying domain must
> +     * be accounted for per-node before complete_domain_destroy() reclaims
> +     * them.  Debug-only; expands to a no-op in production builds.
> +     */
> +    nrspin_lock(&d->page_alloc_lock);
> +    assert_numa_page_count(d);
> +    nrspin_unlock(&d->page_alloc_lock);
> +
>      /* Schedule RCU asynchronous completion of domain destroy. */
>      call_rcu(&d->rcu, complete_domain_destroy);
>  }

Why have you re-merged these two patches?Â  Â I explicitly split them in
the XenServer patchqueue, and they should remain separate.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 13:22:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 13:22:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325042.1590563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUP4m-000218-JU; Tue, 02 Jun 2026 13:22:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325042.1590563; Tue, 02 Jun 2026 13:22: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 1wUP4m-00020y-Gf; Tue, 02 Jun 2026 13:22:36 +0000
Received: by outflank-mailman (input) for mailman id 1325042;
 Tue, 02 Jun 2026 13:22:35 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wUP4l-00020e-El
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:22:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUP4k-003QNl-KS
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 15:22:34 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1ed918-e002-0a2a0a5209dd-0a2a4503ac66-16
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:22:34 +0200
Received: from [52.101.61.12]
 (helo=DM1PR04CU001.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1ed918-672d-0a2a45030019-34653d0c2428-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:22:34 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by PH7PR03MB7242.namprd03.prod.outlook.com (2603:10b6:510:249::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Tue, 2 Jun 2026
 13:22:30 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 13:22: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=mGWMe/vyAbKpus4yLQzfnF+PbvbeJO4ePcjL0VudeL5g33rd8mU6ihVzbBwlYhF000x5cR+wLz9e2m5l1QwUb1BjsAVnlmElrJ5jMLME3LdEA9dXL/+N8Yv7RXHp9CmbBFLmCjTqte41lG8lEr3o/4HfMApHwjlC4smRtEg83tAGX1O6uEN78RkdWRbMJmCRqwF5uBJvk68VHCSNMqw9+xYEO8bZl3gy0BkD+dL2GZlqGAvJM8H89alaZEb47GV44T04U6Wi6d3EihRnyq/WgH412FwrA2byxSyw+cFJbbjD7ShLUrvMsvCBb+MqRoRg+Kh8aC1pC1CvYSxrdNHS5w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rt9KCeWTVmf4TQdOhQz3FC/ZDpGKJlhevuPzBNGQNB4=;
 b=lYPuKnRiFtwcRC+s6oQweC7KGeTIRJZPDotrsprSrDpjJh5ZxIH1caUfVY91PVR1BReP9XWvjHCUy1wiSRyH50WQ5K11PykGSzHiSTKMW+ZwBVGddeJHCruGbhDHYLFap+w3y24cB+KisFfZ90gw74hpKzV+hKA/6P7lrZqLy8IjUDBmWEw44h7zE4PovhQwNm1+W3LrME6qrzfeasuyv1fWKRMWjZy1Is9TGsvWROcX1dsPOhyi9YXgL2sYxp4lid0qb3Kdh2IT0i3faoe9ZAg5Kk/O5ENYGE6kFUAapeDG2EkdDBUZ7yJoJjUB7fcLhQAUcQAyWEIKvvkJsB0ocg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rt9KCeWTVmf4TQdOhQz3FC/ZDpGKJlhevuPzBNGQNB4=;
 b=DZ1H9oRctG3fUAN3eiFwBlS1NKQS27oyqvD4uPK1Yc/g9nDNJlgKwU8xcQ1QHCejL+lMxbg5FowCfukRujRS+9nDfk6upstxDDd/9e+AdWuv+r8D8AiVe7Ysuopy/CKm1FuZnyGAglMyu0mO7ctvtYhNtDVpgXMLe+HLJxeH6L8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <702a949c-882f-4c05-b765-ef75c5e8a9cd@citrix.com>
Date: Tue, 2 Jun 2026 14:22:24 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 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>,
 Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 Marcus Granado <marcus.granado@citrix.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] xen/mm: avoid watchdog timeout in dump_numa() on large
 domains
To: Jan Beulich <jbeulich@suse.com>,
 Bernhard Kaindl <bernhard.kaindl@citrix.com>
References: <10d8309efdb878a3b615a7daca2bb5209525cb37.1780390167.git.bernhard.kaindl@citrix.com>
 <4f3f6ead-b917-4824-bc24-47a37f921bf6@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: <4f3f6ead-b917-4824-bc24-47a37f921bf6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO6P123CA0059.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:310::17) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|PH7PR03MB7242:EE_
X-MS-Office365-Filtering-Correlation-Id: 55efed27-2136-4b78-d334-08dec0a9ff4e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|56012099006|5023799004|4143699003|11063799006|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	Fm47Imal+gNQQfFXTcpChaMDr08E+1X/ifrs8k0yi2DnYY7KxlZNf7PuLXbG622OsHQK65WmDFjwv7i8kibMFpmX0Asd1cQr1BsSXViYPul3JDmoI7Pi/pRST/MEi50K6qCsgcAurLCusPHyQ4TyQCGQJ4PiKCSEzw0TmbDBDJ1t9EWPLjSIqv3UJTdKQgA2jR181/DhpvgmW6Aie2YtMzGGVSAW0oAR+TZ8qzrUxAutexoMeIkd2vbH5flUpG2uectv48gx6PVSUVGwUYiqakEnBs/sjgQzdohznJ1T/SUOV1/S8vKjbmTPXjJ9YnsPXQbOlJze3dbjOV0ZRk05Y5+EyrG3IXsHt22/n8C5NIzXGeVRd/+TFEoSZ2xZPEMicmKazp4DkWpqspUMuE3w6U0j8646WUdCFEI39AbfrvQD3kSpbNBnppMLnI03nylSvV5cugLItqzTfMEU2Kn9zAYjq5ttqG7BlJ1ImaYFooLSIZO4gGHhF5rs1jTDWhVR6uECz0vHuzpmaqMU4upnXIyjezzOeEOQ2a5JBtTQ7f4QF/yWZBCi8Sr3bjkNg2JbmeQQaHkTKdNz9//FMoBNzNdS0EiRK5/H3hbNYEHPwImMGFj9j88dg6oD57wWZuvTVtNPobw1SVfRdWRo9kv+S19KOpK5n2eUkZbGukpXCcG9EwBL/8OH3w7xrzWaD597
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(56012099006)(5023799004)(4143699003)(11063799006)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cDc4Nit1Smc1K2VEOVp4MnNGVHRpZTJ4Q0w0aEpuUktFcjNnZzlKcmRuM0tq?=
 =?utf-8?B?SW1UNmEvV1R1bmZQMzBHMnpHRk9lak0xVzF3enhVTWFYeW9IVkIzdGNWRjFU?=
 =?utf-8?B?ai9LS09rN3Z6VVlOVm93YXpqMXo5dFFKUm9lWDFzZnZxTnJFSUNSdW9Rc0FE?=
 =?utf-8?B?S0NLd2RJUTk1eHkyTWpyQ2ZqYVQ3aGhEVXp5UGovQkZtRW1Zb21XL0VBT2Fl?=
 =?utf-8?B?UGFGSmU3SExGbk43eHVpYzVCNVhwaENWSGtzNnl4R3BRRjdvL0xtRG01RkNn?=
 =?utf-8?B?NW9VTFFhVjJ2SjFjQ2JQQU5BWGZGZ2tLMFVrVmtzeU9tbGQ0TUdBSkhLVHFP?=
 =?utf-8?B?ZUZEQTQ4Wk9jemZTdldEMGxHWTdwUzZiM3F6aEliY2lDZnlUbzdvdm4zQVVz?=
 =?utf-8?B?a3Nyd0lBTDhWWEdvR1UzdUxWNFhJdHVrYnZNc2RNbWk3QlFmMmlUUC92RFJJ?=
 =?utf-8?B?ekpWRU0vT1Z5SFBDMlEvWk1iRWF4SG1EVWpjQVcrN0RxY2hFeVpXKzRsNzVM?=
 =?utf-8?B?UWRnYlFFQ2RPVXBXMUFiWlNaK1Y5b3U3OEhIS1VLaDJXbHVzM3dIcjRJTkdz?=
 =?utf-8?B?Z011L3ZYWHN5R3BOeWdUcnAyQ3F3c3JFTk5VMzFQZzZBSEhWOWlXaUxKeHpw?=
 =?utf-8?B?akUvRW4xeTV6emJGeXFTRGdiNWxGQ1ZXVnV3Vi9sa2lBSnlGVmVLM0xvMFE0?=
 =?utf-8?B?Z1VvRU1hUkxoalVOMVRtcVdZc2JUSHpqRWhnZHhDSUxpMjYwOVJjU0g3MWFQ?=
 =?utf-8?B?TitxMFFTVUhZbXEwZ2szTEJnM2NYL3Q2U2JtdEhTYWtmRGlOak5ncis1N2ZT?=
 =?utf-8?B?TmFybkI1T0xtUFdoYktaVVY2cGxTUUtJcU9Sc2JRa3pPSTBkSnBHcFU2MUF3?=
 =?utf-8?B?Y2J2Qk9JcWFZZ0dpeUdUVUFsOHhVYzhJOGI5TzJaZkVRazB2MUxDdUd1Zmpj?=
 =?utf-8?B?YXFVbmtMVUZwcjdOTlZLRTd0M0dTUTA0aHlsL0Y0S21pSGxTU3JVRW1reHRu?=
 =?utf-8?B?Z3RCQ2dUS3lLVGlmbi9oMG5KSUhWZUhYbFcwWGVKcTYva0Z5MDUzaUR2VWZE?=
 =?utf-8?B?NWc5RWFlaWVFYWhZNjVpRVZCRk1RWllpNjdHUVJicGl6N24vemlDeDBQbXR5?=
 =?utf-8?B?bXhlcXUyYWF6Zjg2dUJDbllCNkpYSm15Y2R4U3ZSMEEra1Y0ZEJSRU1UcDRa?=
 =?utf-8?B?dERWNWFyMC9CRG96Z0lRZVREV1N0N2JuK05wcFVpOFR1QkVzOU04S1pVRG9L?=
 =?utf-8?B?WG9CN09mL2pGc3hFdS9jdTJMMHFCUXBPSnVjL1A5UWI5cmluN0ViZDRIczlZ?=
 =?utf-8?B?U0lhOWEvemhDdnBKTjkxenJDZy9Bd0hKd2gyeXphdGFDZ1NBWk4vU29MN1Ny?=
 =?utf-8?B?UUw0V2ptRitSQm45WlgxbFdRNUJBZU92Qm1ISGFJRno3YTdmNXhSaVY3ek56?=
 =?utf-8?B?dVpoclp2TThwUkZ5NzJQQmxjeDliWEVMOFYyOWdnRzhCZHFnN0lHNkl4aUlL?=
 =?utf-8?B?S0F0cDZub2dvNmxjK3lBTlYzU05EOXhhNURJcXU4SzdhUVM0a055UmRkYU5k?=
 =?utf-8?B?ckRmQVdmMUdBWXZPNkFnYmcxNU5CTWZuNFZ5WWw1N2h3Z2lFYjhqWDRHanlV?=
 =?utf-8?B?RElzZEI3WUVqSm0wSlhobFpvZUdDcFE4SjA3S3RhU1Z4NEt1VHNMVVF3R2Zm?=
 =?utf-8?B?NTRoQ3JjZ0hUMG1BSWs3ZlpWeUVlaDJRQm9hZTdCOGU3NEFPd1pMb2YyVisw?=
 =?utf-8?B?WW8rTHA2ajdOK1BqRVRyMUtTWklDY3RrZkVTL3BoTUIrZTRqWWpUaDRNRCtT?=
 =?utf-8?B?TG5pN1hIVkx3U0VRVHovaEVXUUhET2RIRmx4dmxRQnFMeWNnejZEb0Q5aUhO?=
 =?utf-8?B?TDVMaG9ONHJMN2VqWjBMWmdNMW4yMUJ0SXNEOTFBaFBqaUJESWxmb2Z6N2Zt?=
 =?utf-8?B?ZHprdVRQb2VTY0FNckRod3B5V0t2NDJEalRPRmwrTmJ0UXhIOFByYlNueTdZ?=
 =?utf-8?B?OENEcEdxdHpWUURzVVBlYmtaajlPNy8zNEJEOEdBRGlpOGtwWFhQMVlYN3Ax?=
 =?utf-8?B?V1NjaGRBSDNEMmxmR2pYeU1nYm9PNTNHcjJQRHp5UERvRGdwSTZ0V1puUkVE?=
 =?utf-8?B?UVo1N2dHTEJPQ2FuVEordUhOV3Q2VVRlU3ZvOHFIUXFmNTdOY1RnZ0F2OXpQ?=
 =?utf-8?B?RzFkTURxQVIxcXN5Yi83cWxnd0YwN3hpWFBCV0t2SmVrbzg1ZzBxOUEzMmZv?=
 =?utf-8?B?ZWI4bkt0Mzk5VUJXb0xBSlRkR3NobHFtbklIK0dsTkRxOC9UU0s5ZE9hRXNK?=
 =?utf-8?B?UURtSVU5TWljWHAvc2RlVi9jYVpWMlo2MFp5UFNXazNjVW8yc0pRVWVrTjJO?=
 =?utf-8?Q?AyjSZBUKUJi584Hc=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 55efed27-2136-4b78-d334-08dec0a9ff4e
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 13:22:29.9459
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wpfnv0NahGvtEAbRyw+0P2NVSRcSkHa8FiKPlF5BqWc9eBWpaVsUTbdi3WgZweS+x3bO5PobWZF4NWjRKZMFuXRwRg5fbE1Hs8MkhfzhOM0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7242
X-purgate-ID: tlsNG-33051d/1780406554-4006F938-598B329C/0/0
X-purgate-type: clean
X-purgate-size: 1356

On 02/06/2026 12:51 pm, Jan Beulich wrote:
> On 02.06.2026 10:49, Bernhard Kaindl wrote:
>> Using the 'u' debug key invokes dump_numa(), which walks each domain's
>> page list under page_alloc_lock to compute per-NUMA-node counts. On
>> domains with many pages, this O(pages) operation can hold the lock long
>> enough to trigger a watchdog timeout.
> In addition to what Roger said: Is it really the lock holding that's a
> problem here? That is, there would be no problem if there was no lock
> involved in this O(pages) operation?
>
>> Replace the page-list walk with node_tot_pages[], a per-node counter
>> maintained in struct domain. This reduces dump_numa()'s per-domain work
>> from O(pages) to O(nodes).
> Alternative approch for consideration: Purge dump_numa()? This big a
> change for making a keyhandler work better is somewhat questionable an
> approach, imo. The keyhandler isn't there for use in production anyway,
> it's (primarily) a debugging aid. If the data is still needed (and may
> e.g. be useful on production systems), make a (preemptible) domctl or
> sysctl or alike instead?

Introducing d->node_tot_pages[] is a prerequisite for per-node claims.Â 
Tidying up dump_numa() is just a useful side effect.

>From an upstream perspective, it does not want separating from the
per-node claims work.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 13:30:01 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 13:30:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325050.1590573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUPBp-00037O-9y; Tue, 02 Jun 2026 13:29:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325050.1590573; Tue, 02 Jun 2026 13:29:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUPBp-00037H-6K; Tue, 02 Jun 2026 13:29:53 +0000
Received: by outflank-mailman (input) for mailman id 1325050;
 Tue, 02 Jun 2026 13:29:52 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wUPBn-000379-T8
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:29:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUPBl-00HFNN-TX
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 15:29:49 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1edac8-5cb7-0a2a0a5109dd-0a2a45078a86-18
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:29:49 +0200
Received: from [52.101.46.42]
 (helo=CO1PR03CU002.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1edacb-229c-0a2a45070019-34652e2a11e0-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:29:49 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by PH0PR03MB5752.namprd03.prod.outlook.com (2603:10b6:510:36::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.16; Tue, 2 Jun 2026
 13:29:45 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=s50nKGBJDiz2nxJcnS9ELatG+iAFMCXyZ3Y5FIu7PUl5M/FqL2inZ6uo7VgV5qHhy1S1g92B1mlr0NpUMEiZ0EdgacBEaiYhRXVTgruiAJrJ8jdv6V7KoQv9Zs/K6mlhun7WVC+CqTnyBuQC1iMRuVSklVVUcw6eO4yNdeAW6ZTa6GR3SSn6uuK/F9WDr4TeRlAJiT1OjDQkU+KzmcVK6QCxOEw5N7vmSNKAqYI8za8sMPJf8cqS3m34jdPui/wv7hdPll15+puD7EsjDCe5S3jmsg7yW6BNEtroQWwzboHWEEXw4e5xh1/7X+VxtBXwrPOZ5TYgWS/OsHvolNa/gg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eY8jLhQsnre+KZVJYO63DDUwkTmH3maHpK6Mk7t2qXA=;
 b=tOnidrZTOw5VvCf4HQH/lmrsFHnbFZ3PHSoTcPx2ceJef5PKt8OKQcV5IUYRb6OxVYZXikjtuRi1OT+6CjHvVNI3D0SK5AKO/nyroSX6NaRvrLrt1jraZxQsk9XdBacsiJ7DxN1jOEnGoOf88qZNi7hsjZvXJHfgdcNobWLcGR/ZnQYP5lkDo9dRt5+MAemcr2JMcFqxJMlaW4cRqOR4Cmhr6OgdFqwsn/ff9uQxN1cicQAB9Eq+ONQcXzyWt38zdhoYthBsIOlKlErtkF0IKnRYoAfP0FpU/2LkEn7XWvPr6bc3dvhXpNArCDKFMA4Y/HW3pkger/ohgCvEpvFRDQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eY8jLhQsnre+KZVJYO63DDUwkTmH3maHpK6Mk7t2qXA=;
 b=WEbz+kawMMyq1hpr5yWlTMxZXooufvrw8qS+xy4IlYN6+nWkc8QnJpTDekXFqYFWyRXIHlxk5yIFaoyKC8p33N0VkQuTKQwO7p7Bopyf04z9PL11HZjkmQxGGWDLAN2lHOqJtDni1w9n977f41Q/8a0WQr8FXW7XvWDnmp7so+k=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <7032298b-e870-4337-8c49-b5816f03fe7f@citrix.com>
Date: Tue, 2 Jun 2026 14:29:41 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v2] x86/PV: rename a local variable in
 pv_emulate_gate_op()
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <b61214a2-6198-48eb-95ef-9104d57f3691@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: <b61214a2-6198-48eb-95ef-9104d57f3691@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0155.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:188::16) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|PH0PR03MB5752:EE_
X-MS-Office365-Filtering-Correlation-Id: 5cd9d0c6-020b-4759-2a64-08dec0ab02a1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|18002099003|22082099003|56012099006|6133799003|11063799006;
X-Microsoft-Antispam-Message-Info:
	nPoWHtQ00bQ35A18fktrFXblRkpGjOrAKebcLMtRLYh5+cq7lFob5Rduh2xbJ5zBrizvLUH/wZZ/SKDjWVv6kcwqv0QTHAnkdLIBJFmGVe2cvUK+giQ1Bpwqyoa/uRfqY9bc9C+EjPHsJi8vw5ux3nSBS4H9VbaPULllFK9CGRT6saIB5qFvZIJkvMaWareJLW3FffxTol/bzJfUsfSCCCssIBXqM2ZhK5Cg3k8NmtfZUC0X8J16uOwSHMEbrTU477TNlHlI2pLXCLSA3KYfrj5SLb80QlIo2spqlwlBrGXyIYlNye4vgBKJBs2TLk8T6UKwLSWJnJBe/vM1pssqsdhsCwKbcf+ZuwSieWv1qgLwdUnDzEo/hOZzSQb6u7UJppSZ5ppNqO/2Q1ci+KMSQi2xhC2Ft9z5xSnwoG+bC4bcp2FoAm/VOM6V2q+ZMEmFzHTnNV+jNXoJqf9PB4vL80ieCf6VAZsmu9ixbnyNhbZ6kLFmXdP3cQw2Nk6ZL46VatpddWLZLdV5fYZE/snWI1l4cFFHxmTI9SX5Rg/Ju0NVy6bL/UwpEfcIoqVm4tZI15lvvLfhKvOfBblq3iDMEMPWY9wQXHzBPgs1eSW4Py6uYAcWsBkXJ5iyjpJlRpJP89UOlsX05DLTplz5HEgYE+o5ljuHlGMhUBsVkEX2q92Rozp8vy4VdPuMwxlM3s9V
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(18002099003)(22082099003)(56012099006)(6133799003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?anYrenl6NzdvU080U1BXWG8rcVlwNVpaQjZySGdsTE1aYnlGUzJHUHV5TTlj?=
 =?utf-8?B?Q0RHTjE5UTFlMVlxbnN2blc5TWxSNGZ4QjlRRzNLUjY1QkgxbXI2WHY5RVBX?=
 =?utf-8?B?Qm5LaCtuenBWOFFWN3lHVkpxcGNvQ0duQW1yc3dhNlNJRUNneFkrbjlhWE8x?=
 =?utf-8?B?R3lkclduTWNYSFRvakpyVHZReGR4ajMrSVRYR1ZYdi93cDBHTlZCYXZ5VlFj?=
 =?utf-8?B?YTl6OEo3VGx2bWViK2o1ak13Z0U1V3RreGVzTktVSFI4OEdiK0VUazlBUkNq?=
 =?utf-8?B?M1RTUWw5UytOZHUvdm9xUGVuUFJEbTlMQk5zaUdnelYxUlBNSFhrTEt1a1ZI?=
 =?utf-8?B?Uzc1eCtZYWYrOHFhNFBnRDhBTFNYMXNvRW9lbWpzR3ZhR0NCNHFQTm9LV0l1?=
 =?utf-8?B?elJpZXpLRm5RNXphc2NlSWt2K0NHYkhabURJMzhuUmZyeU5qcW5jWG1odGJm?=
 =?utf-8?B?cllVVVdLak5RaXQ1R0FraFBvMVE4eUxuS2VJSUZEcTlCZUtuMFFlTUY3VHl5?=
 =?utf-8?B?cmpZNkN2cDlkZFJqNzdXZlBnU05mWUlwT0ZMWUw5OU5iVVRSQTBZV05kOWRq?=
 =?utf-8?B?WGJ5RDdhdUJtRUJLTy83N09ZdzY4bXhoVUlYVGFJWkQvTlBzRWtZUmIrZk5U?=
 =?utf-8?B?bnpKbEFjMEhkTVNiV2JJaUtOYWZuU0pOU1B3cFF2ZGR2Y2F5R0VxYnk0dHps?=
 =?utf-8?B?ckUybmlsYkl2cTVpY3JubG9pVm5PZHlhSWFNYjZlRHgwRytiY3E3Y0NCeGJt?=
 =?utf-8?B?VWovMURuZHFZR09OdFBJRUhMTXVCN1Nldk9IZnBudy9OY2lUemdSQ3hMY09T?=
 =?utf-8?B?UnVZNTNNWVROa0V5MXpucWFaT1BiOUlkdEpSN2ludmFvOGovbHRYUG55TFBN?=
 =?utf-8?B?Rk95Ym5ZNXl4TlI3MFZ0R1o4SWJsOTVTUzJnK295eEQ3cTNSakNvOXg5Z1Zx?=
 =?utf-8?B?NGNhT3RWQ0ZrcjluNmpNK3lxa1BINkUzVmZkVWFiaTd3aWxWYmxoMVhMOUJV?=
 =?utf-8?B?dlFmN0x0Q2RIUzdLM0JMRWt6aHdNZWNWNWs5aG1jODJGMWdZNjVybHpmbmZx?=
 =?utf-8?B?WE1ZWU8xNDkyRWRlWHZ4dVRKK3dkUWozcTJ4YUZjV2tZN3RVSXhPYi9XMm9M?=
 =?utf-8?B?VllCbUsxalhFQUp0aHR6YWhDNnVNalgyRGZOTXdiU2RqbE5reXBCUXVyNXZl?=
 =?utf-8?B?ejAwT3dqNW8xeEN2Z0E1WE5JVkdpV2E5ZW9iekhQM1E3dGVhZHgzLzdORmlj?=
 =?utf-8?B?ZjhPNWpubmdmMlV2bldSL0pPTGNJTUk2b1JmZjhXWitpd0ZNQTdpbUlOYnJ4?=
 =?utf-8?B?aWszS0FsTWlkZkwwVjBza3grWG5vNzB4UzIyQ0tqL2ZjR3JKRHN6cjFXN3di?=
 =?utf-8?B?aFdidVB2VU1EaXJsVjhpb0pEVDVHajUrRVEvamVCclF4NFhCeHVaV0QvakNl?=
 =?utf-8?B?RmMzMzUxY2hiZ0w2OWRLVWtIYXBRaDdmYi9TekYxSVpmVFVtTXRDSm41UjI3?=
 =?utf-8?B?TE9YRXR4SjRDYkxVaElsRkIzN3o2ZTk3UGdrS3VNUXJsSDdKZjZ5Z2VQZElJ?=
 =?utf-8?B?aUk0ZitVMzNZTlhxcEJIWG5uTUlFanJQU0czTldNWUh1dFFNbnlESUxNT0ZR?=
 =?utf-8?B?TDdFZWg3dnNLdWNVU0FZK3E2TnZHU1F4MHZGYTB0K1pTRkY5SVc1QnlNUVdq?=
 =?utf-8?B?UVVYSUVTOXFxazc0amkwQ0kwL2wxelNna3RDZ2d2empsT2VoZmhQbXpxaENo?=
 =?utf-8?B?cC85cjNZTTFDTFVVUEdIR2NPdnZ2VEhRWituQVV4ZktmMUl5cDBEQnJvR3F0?=
 =?utf-8?B?bW5DMG5aV0J2aUxERjRUam96UjB5RVNhdU81d0thL3BQUzRQcTIzSzNWZytP?=
 =?utf-8?B?c21UMTExYTg5VmQ0Zi9UNXRGRmNEMnIwR09jOE5NQ3lRYkdjY2E1TjJxRlAr?=
 =?utf-8?B?M05lMkF0TjRLUHlLdjcrc3RXblZmbTN0T0FMMllQaWdMR1FsV29QZCt2L285?=
 =?utf-8?B?NmdQQWFwMVpMd05ZSG1qaEJIa00wcjArVFJyY2FrZmZOTUwyUUdyMmZ1VFFJ?=
 =?utf-8?B?ZWt3QjdZcjRZVXRkTjB5cUFLdW5lT3hQdzZPbVVQS01kNEY2YzNXNVdmWFlN?=
 =?utf-8?B?ZU1YMkVtUk1hbG53eTRaSmpIZGRxMHlBb0N0NEZxa1N0N2xsOFR6SVpKUGZQ?=
 =?utf-8?B?K1F3VU9mTjh6cEpOb0tldzQzTkN5TCtvVlZKUE9lQVVtdTFrMU5UTGQycHYv?=
 =?utf-8?B?aitCUER6VFRaeEdtNXhyV2wvSjQxUmEzdHE2dkJsV1JobzZ4bEQybEhiUEZu?=
 =?utf-8?B?RnR1aXliS2pndjA3TFdIQzFyM21vTnExdW5MNkdxWXJRM2Nhc1VCeURSZmJO?=
 =?utf-8?Q?LJU8yiVtzHsSljQM=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5cd9d0c6-020b-4759-2a64-08dec0ab02a1
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 13:29:44.9856
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OZTOqKa99Omx8EljRsyfELijPdolbK8Z3jzcG/0RIkVvWjaMDjRm+SoIIlmPfnygSep8h0d2Nb3e45g8rwciswTGmUv9jJ9WMzQP4ZsZqJ0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5752
X-purgate-ID: tlsNG-ef75cf/1780406989-08961C48-7961AAC5/0/0
X-purgate-type: clean
X-purgate-size: 825

On 02/06/2026 2:20 pm, Jan Beulich wrote:
> ... shadowing a function scope one, thus violating Misra C:2012 rule 5.3
> ("An identifier declared in an inner scope shall not hide an identifier
> declared in an outer scope"). No difference in generated code.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Technically, as the outer scope "rc" isn't used again later, we could
> simply drop the inner decl. That seemed more error prone to me, though.

But it's consistent with how we use this pattern and naming for
injecting pagefaults elsewhere.

left (as in remaining) is a complicated name to use, because it's
ambiguous with left (vs right), but this is not a context where the
meaning is clear (e.g. the sort functions).

I think deleting the inner rc is the better way to go here.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 13:39:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 13:39:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325058.1590581 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUPL5-0005CB-9A; Tue, 02 Jun 2026 13:39:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325058.1590581; Tue, 02 Jun 2026 13:39: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 1wUPL5-0005C4-4f; Tue, 02 Jun 2026 13:39:27 +0000
Received: by outflank-mailman (input) for mailman id 1325058;
 Tue, 02 Jun 2026 13:39:25 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUPL3-0005By-Rm
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:39:25 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUPL3-00BT3p-4g
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 15:39:25 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1edd02-5cb7-0a2a0a5109dd-0a2a45028c4c-42
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:39:24 +0200
Received: from [209.85.221.44] (helo=mail-wr1-f44.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1edd0c-af86-0a2a45020019-d155dd2cf0d0-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:39:24 +0200
Received: by mail-wr1-f44.google.com with SMTP id
 ffacd0b85a97d-45eecb8bf67so3931003f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 06:39: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-46018c94d80sm6078100f8f.31.2026.06.02.06.39.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780407564; x=1781012364; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ODPyHBn+U6yQNF4JJB1Isd0rtoSKvW0S+zP2ZUcqQVI=;
        b=JrINy03xKTGSZ7YS/TSS0DkUHM4/bumtXYnhrW3ixOA0fJMBowauRgXJwokDaganPj
         BRoIc3q1ZwSKGxg7SMjr8oTkEUSUD/syzklCuUSU9W8Lx8prWsL0tJJWRKusnZwii/Hi
         M6I+ieHFiAyBZyesC+jHewlFgRIt1aom7rgnzPaA6NMzVg1RZGs0aqimc+Oo+jC80L05
         XT61mmWEHKW3IzxQBKlAu5RRU2/byrDTbSphaWZDeF2+6gRpLZQQBoebc32sZOgIyYii
         /X0AToE6S8pcozVmxZGzzBVQELPyqFtHzkaEFM021wVMz1xUMhtX9aXM4xjRoBukk17J
         TdEw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780407564; x=1781012364;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ODPyHBn+U6yQNF4JJB1Isd0rtoSKvW0S+zP2ZUcqQVI=;
        b=VRe2LFYFU/RQp9KnMkyjiPhPNjizQ0PzuTg0R5GkWd7iERbNqDvVSmIUQtHBJrOulK
         oaxQJEoug9CoCY+DGps9bWZHEOV15Xie9vwr6AN4TCMSRJ5orSMzplVCusPGAAiunRep
         Q738Uptq1LcMMdfpm/o0eFtZvJjo9AhXCydsRAax9zgO3Ssn2HY+uHEn0rLMcAqhnYX9
         wZnQcSxl0BFpSBGyzUxDeA5MGqcc3eeEOmmFAdvsr8oY8U3NGWgcYr9AszdHmcYaTrM0
         vTSJGQcXggByaHCsOQ7shDiedAPOtGzncsWrZLcv7M6CK+IHvOFxSAMnW1nN+adBT/Gx
         tEjw==
X-Forwarded-Encrypted: i=1; AFNElJ/uJU8cbP1qkTSWZKwCz9jRsjvHLPIfbb4ssYUh1hjExWgNg322SeWxBfVm8CORqXJ0AfgTTXhukbU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzb2A44zVDBoVKtov5Yss8xOyWFiv6cZ08AKzT651ZSvrSRYcXe
	qn92xceC7U2G81DwxcS03YpWTrwjUs37y18xOg9u1vm35rLOfTz+AG/rfrIGNx15+A==
X-Gm-Gg: Acq92OEQBMl4xtb9T2RoQrhoxXU7Mf+62dogsu7Lr9TQsERZ9zfR2Nz0sZx6uRE5ME0
	10/5ArEJY5kSXmU4SNUiGP5fq6vBG2xdSHUzUK1kBRIlCbjOf2z/HVAT2PlAzKzgd1u/SFJnpJF
	HrS85JQ6Ki3BzK/quHi1GKaSYNy4Qk/Q6sL2g9S2Du9b7U7Mi9jD01hCi10dynZtYTDtLGDKkGA
	L0vCEcK99USLCtrDZHbTJqmDQ6Asel9t/SPj0nHWDkYLpVF5h9gpdFsgoIffU0G1hA0+oju27bb
	8X08dMPWVbwcFAWmAsZmmOpw271UIHXZXCFDLLBITWSWoCsoGkCYjG99rB98T8oi7gKbL/+WzqC
	CEvnZDdHtYqbry/TlqF9Z2ANaLn6LOQFr/I0HtLn740dxE+mOyx5sgRsdyCxSsfYh5ivdhmWaEb
	hcHnPsEXdDcJxRZbe1pa23QxaTvxC1079eus6vQLlqZNeKOpE/DcihAxy64tOBn6+xMCeNROJNt
	7gt1gNSxrSEUodw1Bzzk6wsdA==
X-Received: by 2002:adf:e64f:0:b0:45e:f604:1c36 with SMTP id ffacd0b85a97d-4601754864dmr5509631f8f.11.1780407564026;
        Tue, 02 Jun 2026 06:39:24 -0700 (PDT)
Message-ID: <5f0f2996-af75-4d0c-9250-c14d99c21d1f@suse.com>
Date: Tue, 2 Jun 2026 15:39:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/PV: rename a local variable in
 pv_emulate_gate_op()
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <b61214a2-6198-48eb-95ef-9104d57f3691@suse.com>
 <7032298b-e870-4337-8c49-b5816f03fe7f@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: <7032298b-e870-4337-8c49-b5816f03fe7f@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-720697/1780407564-8276A161-3CABDAAA/0/0
X-purgate-type: clean
X-purgate-size: 1113

On 02.06.2026 15:29, Andrew Cooper wrote:
> On 02/06/2026 2:20 pm, Jan Beulich wrote:
>> ... shadowing a function scope one, thus violating Misra C:2012 rule 5.3
>> ("An identifier declared in an inner scope shall not hide an identifier
>> declared in an outer scope"). No difference in generated code.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> Technically, as the outer scope "rc" isn't used again later, we could
>> simply drop the inner decl. That seemed more error prone to me, though.
> 
> But it's consistent with how we use this pattern and naming for
> injecting pagefaults elsewhere.
> 
> left (as in remaining) is a complicated name to use, because it's
> ambiguous with left (vs right), but this is not a context where the
> meaning is clear (e.g. the sort functions).
> 
> I think deleting the inner rc is the better way to go here.

Well, okay, can do, but: Couldn't you have said so on v1 already, so I
wouldn't have needed to make a v3 right after sending v2? Iirc you
pointed out the conflict with Teddy's fix, so you must have looked at
v1 ...

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 13:49:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 13:49:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325064.1590589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUPUq-00078M-5B; Tue, 02 Jun 2026 13:49:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325064.1590589; Tue, 02 Jun 2026 13:49: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 1wUPUq-00078F-2a; Tue, 02 Jun 2026 13:49:32 +0000
Received: by outflank-mailman (input) for mailman id 1325064;
 Tue, 02 Jun 2026 13:49:30 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wUPUo-000789-KW
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:49:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUPUn-003YBk-I1
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 15:49:29 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1edf61-2eae-0a2a0a5409dd-0a2a4503a25a-32
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:49:29 +0200
Received: from [40.93.201.63]
 (helo=CY3PR05CU001.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1edf67-672d-0a2a45030019-285dc93fbdcf-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:49:29 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DM6PR03MB5081.namprd03.prod.outlook.com (2603:10b6:5:1f1::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.16; Tue, 2 Jun 2026
 13:49:25 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 13:49: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=HTSo7ox4RxC48gGAsx1QRMu065MiH205O4aHGsgD4ZhX6LJGmmOYL2OM6E60UDwq0VQa1JtMTGl88QHpYj1mDNtJD+Z6rCXOdQRSQchFIhDJL9YYSBguqLuGvmiMT2zeswA6S4hY2z6ACUmuJf1OcmCFiSuSX/d7ajlh3+SFI+0h30QGuAdYLtUCskd9IJp5a7BfLJXJ4tTaVBTon9nRJfnTghzCGdw7QC/MLbM37wBkYpGWH7xrQDCfu6K+AuBtDV2MaGqWOHnhfzqi0RRD+BQ5exSYobJloS8mSjj/gYISwOIHfYtXvjnV0483Rp8ejM3pJvU3uKcDqkZeKYsA4w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rMqQSOVU6BU9gyHXGoVJAnkiI7ouC1/vF646HEMZjNM=;
 b=IKqyuiy6U+STzUy/u812+en4LF0KZfytav8VRedxrwVdRQ3PXg6OkEBtoZrww2j3G9yhO5DcfKM9/mfrG/Iwe2qg4MiQYdiQ9ueVDLWaV69A4aPXeH/rXOZnTdV2yiaKeYmVuf+HU/PapoxeQjsf2E5SMpVZKAXo4kBOvOppkdL05+rvGY7xVCF9Xslqv4lqQyeKnMx8ZEeVKVKGGI6v8ldXvb3Yd0EmAG+SE/paRKc0b9IZ/rfjR8fIZg7vRTBxPdX8osSKXKCJKtRjq1yTsxxhXsiP4nG9aVphFY4+326L1KGLwgQFaarzIyHRun3fty5mw8DuU5IQm+CbYI7zIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rMqQSOVU6BU9gyHXGoVJAnkiI7ouC1/vF646HEMZjNM=;
 b=SgyJ4sLHp9LFePGmu5ZSuoezOVic4ae9Fd0KtmNdVCsIGjMYBZ2xfrD/pQYbY8yBolWx5vsAootfVyK74qyF4nf/VZhGYwZHI6gq96eJe9/eZcmUbVOqLFmUeWfGwZ0zUEikEDnywtnpnfqEkXWAkDVPaIwuPigc1FmsJejWVsc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <af1c28e1-6dfb-4d82-8eee-1be761ddf51d@citrix.com>
Date: Tue, 2 Jun 2026 14:49:21 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2] x86/PV: rename a local variable in
 pv_emulate_gate_op()
To: Jan Beulich <jbeulich@suse.com>
References: <b61214a2-6198-48eb-95ef-9104d57f3691@suse.com>
 <7032298b-e870-4337-8c49-b5816f03fe7f@citrix.com>
 <5f0f2996-af75-4d0c-9250-c14d99c21d1f@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: <5f0f2996-af75-4d0c-9250-c14d99c21d1f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0061.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:153::12) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DM6PR03MB5081:EE_
X-MS-Office365-Filtering-Correlation-Id: 9c24474e-26a9-4dcb-1232-08dec0adc202
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|6133799003|22082099003|18002099003|56012099006|11063799006|4143699003;
X-Microsoft-Antispam-Message-Info:
	HfzXcjv9NZkgQj3hKk6xJ2yXV/9j7WC3u0c93SK3tghGAKD3tYo0FQgsuixirxoTFnbKuSKn/aKuELbBSzCexgmJAiwWnscPUji3+zujOAP3+phsTyrf4DWIN11WsQlAnlzRvGfFrwUh5OYIavlCoqcHOj/KYq9badyNza8EGMbp0v8Yz7U4Gu8aLpRFQLuxlgPDjYd5g+diZvO0dNwP3lS+Havn05uiAV7jeXqJTzEgpBHTfx0WS0cj+umMtod+yNrGS+l/x5J6X6xOgpIUWG2H46ZsnLIZmSZGPFrCsCkEHMY6a5obu5/rApVDtDhAHs3AY9k1U7YNIA0BoC9R/FweS9eSZpbFiyfb8BvRLngpybkP9eJOgCsir7TTjJlXKUXGbjisawErlVjA8cxlvJU6VU1RXiRnffSKQXvkwjKBhYYbBlpqHZPbpKjZ6O/GQv0DGhj3SSWjeBUQUS2DzPfv3CoavNKhsfn8u2CFNz27g95C/nHQEWoAoXGV+JA5Fu3JrIHmiXgfa+JfOUf4ivrCwQ3lFSwP7ykFqnwqS/9ESm2msDg3hh92QaFM5hG0wPh3Jd20dphicLeSM1CvNzZUQb2TDEqu/VYPjOQINxmps0m0597oToSCvS1AiuWFtWybrFbCE1hs0GnFF+A6rMCdiMhrk0R0Xpmbgss6pL+vm79SN1UQAaxHYKw9XECa
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(6133799003)(22082099003)(18002099003)(56012099006)(11063799006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TDI2eVBnRDdiNE9leS8zZ0NWallFRkJ2TTU3WjhCcGx0TUx6SWhpcW1XbUo3?=
 =?utf-8?B?T24xTG9nWTl3Vzd2bEJZRTlYMXk2T01WU3c4THljQUZmdzNlTU4wNldhUUxE?=
 =?utf-8?B?enlTMitzSFp1WjRPdHA1MUV3eU9LQlVVcWpxY3VnNmtXTXdUSVJpMTJnSHhC?=
 =?utf-8?B?cHlwRGZWWW9KSGFkU2d6Z1g1N2wyYWp6aHlVRWZYMzE0dnJBYytKd1k2WWsx?=
 =?utf-8?B?ZkJoQUUyeWhrVjhXL0luZ2VxNkE0bjlpeTJ2S2MyRGNxTU5CT3IrMFdmVlp6?=
 =?utf-8?B?RVgvRW85KzJtOGRKc0x0TFNGTzJsS1JxdUdpcHBadnYzUDhMZ0Y5Z29Id0dj?=
 =?utf-8?B?ODBGQTV0WDlnNTI1akxBOWVIL0lnbWw0d3IyTXRnV0tYTTduSUFRMUFHTUt2?=
 =?utf-8?B?RHdFaGRLUjk5UTlHMnZPTkc3S2ZoMmtueGxCUjRjUit6YTF3SmYyTjNzTVBr?=
 =?utf-8?B?OGVVU0M3dlBDM2RVbUhhMGl5UVowRGhqb3BVWnpnS2dQbXBPaCtlVERyc01h?=
 =?utf-8?B?ekx4VFhsTk80elZ1bHVsNEJrdTdUQTlFcHZoMVZLbmxTaTkrZkRnQTVPYktD?=
 =?utf-8?B?dzhxWUlaRUZQRW16eUhoMTQzanpLV3ZFcCt0T0x2Vmt3cHF2dzAvVGdSM3pw?=
 =?utf-8?B?MHN4Vjc0U3VxbG1kbFdFSldVdWZLRks2ckYxWG9udWlpc2gvYnZROFBFeVdQ?=
 =?utf-8?B?SDZuQ2NkQlFjQkxEVElDMWhxRkJkekRYWktEVm9ML0ZiUnVpeURWSFZQUGs5?=
 =?utf-8?B?NGpSaVVkS25WdU9Wc0NQOFpraWlmanlsNUJyNTVFSjBQeDFnSWVPNG04dXNS?=
 =?utf-8?B?d1I2TVo1YkdSYitvY3hrZE9ncG4zMjVuaWgyTjU0T1BsVVg1QlkzRnByK0RU?=
 =?utf-8?B?TVRLV3l1OWlDZmF5TjJZQ3dKaDNBdDZZT2NtOHNKUnpZTlE1TDdiTUwvNUNT?=
 =?utf-8?B?aWI5MzNzUkc0aGdJMWFSaUhhNVdmOG9HRlJkTThxRDBOd3JWcmpLQWJyQkhG?=
 =?utf-8?B?N0Uxek0vbjFtWGRNbE9FOVc1TXA2UWxNSUxVZGJXRzBWNGtLMU1rb0NleDEy?=
 =?utf-8?B?NnhBcWtvTjU3REk0VWtXbkdTNWNtQWJDVVdtbFlpYVhiS3R6Ly9ISTkvSmZo?=
 =?utf-8?B?alVFZkpxVW1vVGpncWZSMDVqbk0zYzZwQ0REeDRMRXpjRzY4UEpILzJrT0pH?=
 =?utf-8?B?ZlJ0YlJQU1ZUMmxnbjN4eUg2eEUxTTZMU0dVSVhmS0p4V3pKMGRtbFc4OS85?=
 =?utf-8?B?UkxmUXN5eVkwMHE1KzJRSllsSmYxNU1rRTkrenVqeWJ2dngyVGRsVnZIYlJy?=
 =?utf-8?B?b2VjRWJ6TGxBT1VIc2RpODlYaTFWR1FsN2sxbUtTQ244MU5Rb0hIOWpYUlNX?=
 =?utf-8?B?aGdKL3RwVlIyWHpjWUZpZGFZVHNMZjdrUlZMdjZSRmc0ZitKeUNwTTlaWGVm?=
 =?utf-8?B?R1NsNlh6ampHeFpsUHB4WGpNSEpYUlc4d2RDWUQxa3BTUDlyMjRHSUVTSExG?=
 =?utf-8?B?ZytIY3JPR3BzaHE4ckdIMFdyVE00TEpqeEVDWGFaOG5LRUlhRTJjMGVRam51?=
 =?utf-8?B?ajBZb04wbjJoL01OVjJoVUU3YlR0VHArdE8yWTIvVS9Mb0hOMHQ3K2JGeEE4?=
 =?utf-8?B?b1g1UDk5cUIxY1U3Wmg5WmxjaDhFemV0WForUk5NV29uOEw1ekhmZWhkRXVP?=
 =?utf-8?B?RFVhY1dkTXNnbTNHcERLcWJQRkRlS21KZDQvZkJRcW5qcDFSai9YUlE0M0Jv?=
 =?utf-8?B?TEs5RTYzbi9mRW5JTjIzMllVWVVpWW5hYytGMWllSkc3d1VzYlpaR2pnV25Z?=
 =?utf-8?B?M2w2WEZtNk5xTHJaNEQrdm5FTGpaeWhXejJrV3dJdVJnVVU1OFB5eXpZOHhr?=
 =?utf-8?B?aHZBa2ZYTFFFNVJwMzk0WmhScE9ib2wyV3luRmlrRjh2bXlSZVNVQ1ZLTVZC?=
 =?utf-8?B?SlF6K0REVmZGQUhnUERqUzJJMkEzQXdoSkdEVG5XQjVFUUJ5MWVOczFoOE1D?=
 =?utf-8?B?bU42S0xaVGRGdGw1bTJiTE9PYXFtRldDQTlkN2R3dTQxSC90MUJITmRsaWNy?=
 =?utf-8?B?K0xxekxOOFE1TFA1MUp4djl2elJrM0FvSTFGeWtVRFQ3cE5GOWhUc2xnQ0w0?=
 =?utf-8?B?Q1kwYUxmbTVGbGFaSDRjUVFSWFlybHRrWWRONUpHMUZ0c3lUcmQyWUZ1cVVv?=
 =?utf-8?B?eXZadXlOZ0ovMjhsZkpVKzdXVkRJWXcrT3dvTjJKT1Z5RWFSa3hsSDRxZXJV?=
 =?utf-8?B?cDYwaUdDZkZqSElIbmJYK0FoSFpkWU5nR1JlS1hxbW9ZZzhqaGYzdSsrUlpr?=
 =?utf-8?B?S1JoS1JyQkxiZWtMVVNrRHZHQmZtTGNxWjRFN0ZINTlBZFBYVERXZ1VPeVJi?=
 =?utf-8?Q?qb0EPI5ckstGBXeM=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9c24474e-26a9-4dcb-1232-08dec0adc202
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 13:49:25.1197
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DrqIODn05IuYR9uXXCt003u3ObW0mTGyeKI0ss5bEsWH0V7vJ4jfdKRAaueUkEGrfkinyw2xjkYEJm5Z3oobHM/mq0hBuwUSgJBj5CNcGOw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5081
X-purgate-ID: tlsNG-33051d/1780408169-36F42938-AA817959/0/0
X-purgate-type: clean
X-purgate-size: 1311

On 02/06/2026 2:39 pm, Jan Beulich wrote:
> On 02.06.2026 15:29, Andrew Cooper wrote:
>> On 02/06/2026 2:20 pm, Jan Beulich wrote:
>>> ... shadowing a function scope one, thus violating Misra C:2012 rule 5.3
>>> ("An identifier declared in an inner scope shall not hide an identifier
>>> declared in an outer scope"). No difference in generated code.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> Technically, as the outer scope "rc" isn't used again later, we could
>>> simply drop the inner decl. That seemed more error prone to me, though.
>> But it's consistent with how we use this pattern and naming for
>> injecting pagefaults elsewhere.
>>
>> left (as in remaining) is a complicated name to use, because it's
>> ambiguous with left (vs right), but this is not a context where the
>> meaning is clear (e.g. the sort functions).
>>
>> I think deleting the inner rc is the better way to go here.
> Well, okay, can do, but: Couldn't you have said so on v1 already, so I
> wouldn't have needed to make a v3 right after sending v2? Iirc you
> pointed out the conflict with Teddy's fix, so you must have looked at
> v1 ...

I'm sorry - I thought I had already fed this back (hence was surprised
at v2 looking like this), but I couldn't find any email.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 13:52:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 13:52:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325070.1590599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUPXx-0000On-KR; Tue, 02 Jun 2026 13:52:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325070.1590599; Tue, 02 Jun 2026 13: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 1wUPXx-0000Og-Gf; Tue, 02 Jun 2026 13:52:45 +0000
Received: by outflank-mailman (input) for mailman id 1325070;
 Tue, 02 Jun 2026 13:52:44 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUPXw-0000NV-NP
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 13:52:44 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUPXw-003qeU-3t
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 15:52:44 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ee026-e002-0a2a0a5209dd-0a2a450298c4-28
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:52:43 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ee02b-af86-0a2a45020019-d155802eb526-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 15:52:43 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-4906869f0cbso107478555e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 06:52: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-490b0daefbbsm116929945e9.0.2026.06.02.06.52.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 06:52: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Autocrypt:Content-Language:Cc:To:Subject:From:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780408363; x=1781013163; 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=Tpnmn+L6WxBMBsYLWgK2xN4hOzNIW1jb44I8BXzpbs0=;
        b=NvWgky2cWBCBr0SUSwfqjYBzRYlk6tbejTlspp+5fo62TUmS++lD754WT9TmHBxJCe
         dlDlNxzfnLr1C8WW8livgZaiFRU2W/KSDgLq6WV11W4eKYLv/JvGO//y1UxhDH5N3tfo
         UXVCCdYeeKNJpMADW1LeZRiFa81Lc/DnZ4lfqEVMZP9t6uMF3VkZ/Vq+/btJ9pXh3gjY
         all1VQngffZYfWStDCqbZcOj0O6RIfU4C2g9TMN+Ca5qbdxluRx6Wc/qAnmu7cu3J4Oe
         82IiqnsTb/EsO0poTEA5gTmjQ7tOdcO9KHF5bpO7AGGFklQwPzC5NEZMWm3mU94dyC26
         +xgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780408363; x=1781013163;
        h=content-transfer-encoding:autocrypt:content-language:cc:to:subject
         :from:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Tpnmn+L6WxBMBsYLWgK2xN4hOzNIW1jb44I8BXzpbs0=;
        b=LB2xnJqeK+KbBCK+HHEJIaJ/P1arEK5h8FN8fJaVNeqkBVm+VqINXHc0+/6Bx+jeky
         Wza6hvMjYRuhM/BgmpTfOBwvu3yjiDYiiQBaZ11GV+fNn6IpOhwEOHIYVAflbIq4E+z4
         h1dQtQ/juVpoSdZkhvV+tYViBLUSNk2PsRd5gVDsEgrtecS7Z9DJ+tjFseNyalTfJySC
         nrPjGMvZrN47rRRJjnvOtGJ2DerlGT6A/d+9t55hykN5+yvM5qGj1g3NQnfy8J3nyLv8
         ze1IV7bztGTY4REnz6EZJcjksmWayaU/JHZ8bJO61t8zjvpiV79N/myHaQ8WYFaM3p1k
         QBow==
X-Gm-Message-State: AOJu0Yw3IqmYc8edNkODrP5qkaeIKyRF69+pazBBXH0h54QPu861bFxT
	DaRi+Qgj7pMsolsxzEYRuBqHCbsxOb+4vXz5NbJrypWllhCghNf+nrQLmGqC48LGqSxtZJrQDMc
	G6Es=
X-Gm-Gg: Acq92OGZM/xY+B7PAvEwKrgBN9VYtbAgJ56FCUNVdNDjlIf3AfUWMpm296cqgvDNTmQ
	No1wacjpLp871heclh1aVDnmch1P0qlKt2ifK/JSRh+a+K0SiAY25NeqsZ6N2yJfv+FHz5/N/fZ
	+bbXrp8alnt5q8KOgb0DGpViTjyewBVm3pxUARkIrh47OOBFQ0/74RMqy4NcVzhXOPHPybB5H0P
	7D0EZzMJ2jrEp+RvMtJCxTCs50R1cdWrAnum7EDf4gdun++KaJ/bvdqMKCwDwE2Z03FuVLjsczT
	gLOPHCgXAtDQs+Hzhsjfqcm8aKjj90Ukf647dfcgTGg1p+729n3vgrlOgDU/AEgZK512Z3KWVE4
	f9vgZplCPAoy8GJY32DwQ7DRmZJPCxB+DQQxQ+GEKQB1YpUPSChnhMY5J5sO8MIBSJwt+wIat78
	3lTy99beaycYAan4CoObcJHHL2OybI+Pr15qyqmQ7LGYhJALrkT/ESG2PGdtqZhavqLJZev4Wfb
	baAolc43OmdYwdrgKFvbor1HA==
X-Received: by 2002:a05:600c:c0d1:20b0:490:688b:f10d with SMTP id 5b1f17b1804b1-490a290ec8fmr209884595e9.7.1780408363294;
        Tue, 02 Jun 2026 06:52:43 -0700 (PDT)
Message-ID: <a8a84f5b-05b9-4038-807c-8151cc705583@suse.com>
Date: Tue, 2 Jun 2026 15:52:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3] x86/PV: drop a local variable from pv_emulate_gate_op()
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>,
 Teddy Astie <teddy.astie@vates.tech>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-720697/1780408363-B0979161-9781395D/0/0
X-purgate-type: clean
X-purgate-size: 800

The inner "rc" shadows the function scope one, thus violating Misra C:2012
rule 5.3 ("An identifier declared in an inner scope shall not hide an
identifier declared in an outer scope"). Drop the inner variable, as
there's no other (later) use of the value it holds.

No difference in generated code.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v3: Use alternative approach.
v2: Re-base.

--- unstable.orig/xen/arch/x86/pv/emul-gate-op.c	2026-06-02 15:15:17.960392177 +0200
+++ unstable/xen/arch/x86/pv/emul-gate-op.c	2026-06-02 15:40:58.000000000 +0200
@@ -287,7 +287,6 @@ void pv_emulate_gate_op(struct cpu_user_
     {
         unsigned int ss, esp, *stkp;
         uint32_t value;
-        int rc;
 #define push(item) do \
         { \
             value = (item); \


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 14:06:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 14:06:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325078.1590608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUPlM-0003Jj-Tr; Tue, 02 Jun 2026 14:06:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325078.1590608; Tue, 02 Jun 2026 14:06: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 1wUPlM-0003Jc-R4; Tue, 02 Jun 2026 14:06:36 +0000
Received: by outflank-mailman (input) for mailman id 1325078;
 Tue, 02 Jun 2026 14:06:34 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <marmarek@invisiblethingslab.com>) id 1wUPlK-0003JW-HV
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:06:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUPlJ-003cgl-Fv
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 16:06:33 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a1ee35f-5cb7-0a2a0a5109dd-0a2a4501856e-22
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 16:06:33 +0200
Received: from [202.12.124.156] (helo=fhigh-b5-smtp.messagingengine.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a1ee368-c1f2-0a2a45010019-ca0c7c9cd043-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 16:06:32 +0200
Received: from phl-compute-01.internal (phl-compute-01.internal [10.202.2.41])
 by mailfhigh.stl.internal (Postfix) with ESMTP id 758047A0065;
 Tue,  2 Jun 2026 10:06:31 -0400 (EDT)
Received: from phl-frontend-03 ([10.202.2.162])
 by phl-compute-01.internal (MEProxy); Tue, 02 Jun 2026 10:06:31 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 2 Jun 2026 10:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm3 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=fm3; t=1780409191;
	 x=1780495591; bh=NxhHW4RlSXipbf6n4D8C2Vd2/PW8EQwUOKuRXbT5drE=; b=
	A20RlxZvXvnvHcxQXDyplg5GHfjRISIaxcagKIjRmRL5w7qTAYmoHmCivWz4KHpG
	U/JnXa30BdJG6kb40QMzKpdukpZPxPQIny8++pv337Mg8cZhJVZN2Eo6/2pRQLq2
	8MVWyOCWu1G6jg3RcLY3XBq/hJxPwMU23lcpLWd2kzogyQFRKvl0Kpbx32pl98Ee
	38mIMiLBujA+G5jv00ylCprVcNAl8lMDBiswQcRKqXSqhOkgNO9goN64YE4Gt5PN
	5SimrllK1cGZKdVlf46PAGEpphMlavN6DxGcdIxKQQVs18D0zrjhwSVP8pF859c8
	sC0ytibKotIqY1c5cOawAg==
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=
	1780409191; x=1780495591; bh=NxhHW4RlSXipbf6n4D8C2Vd2/PW8EQwUOKu
	RXbT5drE=; b=YhTMqe8i8MBdREjhgRRtorPK2tSrdawBWdwGzyTfm5dqvLjoLqA
	hYbFTs4mx3dfPMTrQNr1DuwPa1hQBdNZNs0i/fXvocqXorQfBQhJ4U4tVSybessZ
	xEnug4o+p5iA8Go1Dk74xeTcIDTZ3l3/0ccOtb7n9VDuylCjN0ZcBFcWjOJ+iVse
	vk6/+oohq6vNbtqFqFzlmAjuIlou3PF2htAFskSFZGa+X8KnYccB744MAgROP5iM
	X8FZbw63DFplfUTYZkNcy18xa2s+y+vKTJztB4+93ZausJR2xiO6Q0U8bbMjgmjb
	LUvIOqCGEoKeywRB7JN0QqnqVmw67GfTMsQ==
X-ME-Sender: <xms:ZuMeaqQfE2cdJAKWFfLeefefy0QRfDpFoQhZ3ci4I_PXclbfqzLSeA>
    <xme:ZuMeamq37o9iXALb5eEa6fav4kfNSJZYEgcgRb9GAKYftOKea5RuJZRxQyLzkJEHT
    Gj0tN8BqaZRvWuiFsHTAADfSSThRTP9QMWBokV8NEly9ZJVww>
X-ME-Received: <xmr:ZuMeagLnN2bOo8MpCgwp6jvH9NGSlZVrSLAUSt38WNCbXXXIbevw3ox2hKkx>
X-ME-Proxy-Cause: dmFkZTEv2kXT1SsQgJDVq8gvP6QzegqpY0uKjx20bB9rq0lhqpeEdxm8udai2uGCVXpJyL
    ixCKhoovdIWlP52c6B+gRqwixm7Xsk444BR0PZFLNtjhD9sn3QnO08zsIDvk7dO2FlTrf+
    5Q6zezeoBDiXdPJpOcadMYUHU6wcbXPpL2r/qNaOBgVj6IMZoSMjsoPveS1AhEkhfdPtN1
    9aM3QcrETE5IKSKt9b4jePzHD870mItOAPyKAcHUAxKmWhVbI991pAIbiFyQdHEpUc0tXl
    cmUPnuuqmlJt3od2bSVhlRK0iYD2meDJpdGQ8Gm6JZ8bBkHyCPViwn5R6MCdEj6uV1gKtg
    9+Bofahu+wSAnIh6Ibfqe47AOxGJzll9/H1WUjEpVji2UD3pyFcUbAdoZ74SCuzetA3fEC
    HvInxS9XFRbOFHfVchatAwWbYeZ8tMMxGpUOuo88NdElkprS3i93cgAj0TCIGQUwz5ZfGo
    6f9gfe2ldugMak1En9dBXNUEuGEPzpdSYilWuZVLszIjwJwEJFUGSp5piX1eu2rpvHhooI
    OGF4jAs2iCjDn5v4k7mBXCEOotEFOqglUDh9AfV6hT0J73bLGeUC3Dh+3Gedf+AamuSV4U
    +kiKNTOpSGnmwpFOkCLnhMOCuD0F4S9Zw6vSBGcZfXJaK+w07B2CiaKPlH9A
X-ME-Proxy: <xmx:ZuMeahpS0vYwrzleH5hWbFA9SxBKBj-ImwBo5OIhK78SCAz89K9DIQ>
    <xmx:ZuMeagwOXn6bIm6_c7N8mLV4P4TsDjQH2ql5RjV4eIVIfmZ996I4cQ>
    <xmx:ZuMeatMct63dIt2Xblggr6EBOL2Hzr3n88UY1ZKB8Le9GWFXPefPYw>
    <xmx:ZuMeat4fml1MLkhSAI7onNWZn-FRKxnecXnPDlNOeft1JtXm8qRVYw>
    <xmx:Z-MeaoD7jKiQc3SjiEl068HZdaRn8RBcXtm77FKwp-0V5Cg8njfpJlr_>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 2 Jun 2026 16:06:27 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Szymon =?utf-8?Q?Aceda=C5=84ski?= <accek@invisiblethingslab.com>
Cc: xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v2] xen/efi: Use blexit() instead of BUG_ON() in
 read_file()
Message-ID: <ah7jY_HT5sIAkOOa@mail-itl>
References: <20260602131737.2983084-1-accek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="5aATZ4M0NycjqIUJ"
Content-Disposition: inline
In-Reply-To: <20260602131737.2983084-1-accek@invisiblethingslab.com>
X-purgate-ID: tlsNG-d62444/1780409193-ACC53FF4-800084BF/0/0
X-purgate-type: clean
X-purgate-size: 2944


--5aATZ4M0NycjqIUJ
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 2 Jun 2026 16:06:27 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Szymon =?utf-8?Q?Aceda=C5=84ski?= <accek@invisiblethingslab.com>
Cc: xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v2] xen/efi: Use blexit() instead of BUG_ON() in
 read_file()

On Tue, Jun 02, 2026 at 03:17:37PM +0200, Szymon Aceda=C5=84ski wrote:
> Follow-up to 880e40b187aa, which added a BUG_ON() guard in read_file().
>=20
> But as Jan pointed out, before ExitBootServices BUG_ON()
> is not functional. It results in a hang with no message.
>=20
> On the other hand blexit() prints a message and returns back
> to the bootloader.
>=20
> Fixes: 880e40b187aa ("xen/efi: Fix boot from a device without a file syst=
em")
> Reported-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Szymon Aceda=C5=84ski <accek@invisiblethingslab.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

> ---
> Changes in v2:
> - Drop the Link: tag; use Reported-by: and Fixes: instead. (Jan)
>=20
> blexit() has been chosen over PrintErrMesg(), as the latter
> is predominantly used in cases where an EFI call fails
> (and it prints the status).
>=20
>  xen/common/efi/boot.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>=20
> diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
> index 2971ea8696d1..8f24df9bc23a 100644
> --- a/xen/common/efi/boot.c
> +++ b/xen/common/efi/boot.c
> @@ -849,7 +849,8 @@ static bool __init read_file(EFI_FILE_HANDLE dir_hand=
le, CHAR16 *name,
>      if ( !name )
>          PrintErrMesg(L"No filename", EFI_OUT_OF_RESOURCES);
> =20
> -    BUG_ON(!dir_handle);
> +    if ( !dir_handle )
> +        blexit(L"BUG: !dir_handle in read_file()");
> =20
>      what =3D L"Open";
>      ret =3D dir_handle->Open(dir_handle, &FileHandle, name,
> --=20
> 2.53.0
>=20
>=20

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

--5aATZ4M0NycjqIUJ
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmoe42MACgkQ24/THMrX
1yyIPAf/XlSd6eOCi7NM38cWP8CTFM+KmSbZZWsYOtESphWZlmXiTPMvxUdi4jCd
jDvnkP/xCLTQEIp0SnXWhKkxaI0e5iXxmDbBfXF/yZxNn5OylLq7+aQkfa35wHuD
s7E9gmMXWZ1BY5BcfeeCuxS2Ymaqps8lB5QAGEWui51oo6JQNiGIch6va3TMb3Li
H0l+0eJCse32tPpKyNQ5uJaizV3q9KtaiTLmXaKimcXdU5wkF0xG7vQOeBIYlq38
rA5BPpey5CiwUQvMrd2u2sSnF+m8VOLXZ9mj3sd17xZsov1nrv9upS51BsqlEMNt
zrTMsQ+AKWnpDMZO5uc/V3fNLHTpMQ==
=1vhJ
-----END PGP SIGNATURE-----

--5aATZ4M0NycjqIUJ--


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 14:09:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 14:09:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325083.1590617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUPoM-0004Gg-B2; Tue, 02 Jun 2026 14:09:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325083.1590617; Tue, 02 Jun 2026 14: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 1wUPoM-0004GZ-85; Tue, 02 Jun 2026 14:09:42 +0000
Received: by outflank-mailman (input) for mailman id 1325083;
 Tue, 02 Jun 2026 14:09:41 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <bernhard.kaindl@citrix.com>) id 1wUPoL-0004GT-5R
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:09:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUPoK-003dX0-IO
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 16:09:40 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a1ee424-5cb7-0a2a0a5109dd-0a2a4508ed20-2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 16:09:40 +0200
Received: from [40.93.201.47]
 (helo=CY3PR05CU001.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a1ee421-63b5-0a2a45080019-285dc92f10d3-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 16:09:38 +0200
Received: from LV3PR03MB7707.namprd03.prod.outlook.com (2603:10b6:408:28b::21)
 by SA2PR03MB5721.namprd03.prod.outlook.com (2603:10b6:806:117::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.17; Tue, 2 Jun 2026
 14:09:35 +0000
Received: from LV3PR03MB7707.namprd03.prod.outlook.com
 ([fe80::97e8:ef9c:9031:e2bf]) by LV3PR03MB7707.namprd03.prod.outlook.com
 ([fe80::97e8:ef9c:9031:e2bf%4]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 14:09:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=af9izQVnZNrzC97gevcpIpFUsWVabVM8pTNnvqazY74/XdEdJ3bl/GIClkk1Kc8pnh3Vz/IP3acc1BBpZVwEv9y00BETyga/XKFJV5Z1kszLWAQOoUucoDu5e5nHE4zwpiAiSqPO8ZNqYyhD+xRupY8c6cXMk54zazi2gVGPHIyzU2jKGnTM6GMZPrilGi/U+/JOUrQXlaN6DFDrdGsBPGFio6Q8n8ITBRYk0VUJhoZcqC4AezCK264SGWHoHfy1bKcTARvdRmZI/2vUB16gceloyL8ARtrYj3lGXn5f6bJaQLF4vhe+eWib7UhbWEIhK7BboefpDyZ/dtL0iimZYQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1q3KxC6loRuy+eQ0kKIGUnfFCjI3BivJRz+GeIgQ0/8=;
 b=zCBQEoiZR0M7zDDqL8oJHo1or1Oojo4r3LM8rZEEQeBr/iL17LuI3fqlMKLTCXIzwPI58F1jio9bAuNYx78aTnEx+sY3bbSYy/+sQbjI6XW1yCc3Yr+1AbvGj70Re0io6oAuUFmBJyF5UenqruN0h3ISryjkSMnHgnwspHMSdN3CWxlCAfy6s1vmX+fiZzrjOiLwDC8P7phsmrIXYfMnsqQPXLhc9Rz/iXzRI7gReKTD64krievlQYbxaty5j5VAaC3ovdflncYTr3WFXNUUBtieJ/KCwYnMM7LrDtCvqFz81J52811F8o17YFVAVlJK8/anK2AHNjD/7fcJAPd1Gg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1q3KxC6loRuy+eQ0kKIGUnfFCjI3BivJRz+GeIgQ0/8=;
 b=W3tkPUOI5/c6bLnHLcU2D9+GGI7vCE2HdXRfjSuqXOXzSfoxq1QtHqKhr1h/i7vFIoQJjYa9w4MJjoBgTo0h64N/ejLm1A9/Dnjm8W3P0+XtnSyF5XlQRDgfNP9fyX4jO5YpqojvQe7UZ6iT23vnw43sQhkUoULH/eVrWP2Vza4=
From: Bernhard Kaindl <bernhard.kaindl@citrix.com>
To: Andrew Cooper <andrew.cooper@citrix.com>, Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Teddy Astie
	<teddy.astie@vates.tech>, 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>,
	Alejandro Vallejo <alejandro.garciavallejo@amd.com>, Marcus Granado
	<Marcus.Granado@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH] xen/mm: avoid watchdog timeout in dump_numa() on large
 domains
Thread-Topic: [PATCH] xen/mm: avoid watchdog timeout in dump_numa() on large
 domains
Thread-Index: AQHc8m0cC2Q3ziRM6Ee1Tf3SMKSJo7YrJ16AgAAZegCAAAgNkA==
Date: Tue, 2 Jun 2026 14:09:34 +0000
Message-ID:
 <LV3PR03MB77077924E08313AC8808FA6F87122@LV3PR03MB7707.namprd03.prod.outlook.com>
References:
 <10d8309efdb878a3b615a7daca2bb5209525cb37.1780390167.git.bernhard.kaindl@citrix.com>
 <4f3f6ead-b917-4824-bc24-47a37f921bf6@suse.com>
 <702a949c-882f-4c05-b765-ef75c5e8a9cd@citrix.com>
In-Reply-To: <702a949c-882f-4c05-b765-ef75c5e8a9cd@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: LV3PR03MB7707:EE_|SA2PR03MB5721:EE_
x-ms-office365-filtering-correlation-id: 12aec097-88fc-4053-d733-08dec0b09345
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|376014|1800799024|366016|38070700021|22082099003|18002099003|4143699003|56012099006|11063799006|6133799003;
x-microsoft-antispam-message-info:
 I5oIOA2ndx5vAnTnReJYrcVEZNHdedSRBZ78mT2vMtGS7cFy2z55TWb+V0X80zNhrDeaWE7rGVAe9TNP1ysTyMjdIptm0XMvHSlq9m5UXkcEsg8u/J/C+kE0k9tirNpwMVYhF2xwOYRUJO9VlBTsO/5fc9vhcxt6Y5mWKJ24o9UKTirnQ5ro0ZFPmSeHFMSQkmJZFhG2xKjjhxKDVo5aBnB0nECF5nuEXkKRsJPMc2MFfEVsIIYCKj6g7up+Z1aU01DqgGddpKYWUWMHKVdMWy6jllc9USmgQADfMbE6tnMiT3mKPWNwYjAsMxXYKMg5J5ijYlh0OkXgrnN7SHNQZlNwFsa50OZ+jWbm3QL/5WH9Yda+laHs1heKVzkeDStH6hugN9dPOgRvjz2tT7ASmfV+XZNodY4Ia8yoYo740iGUSGJUcbhD37Q4ltDUp020Z07o9zKw/v1wsT/DloVGPsaPCgLbY0+8rlFChy+Xg2+n5fvnsApne6w33A/YbzYBFChTepH2HCGTRWvJ1huEebAEHCc2LIBaRoGj3u2pFbqoIwLd3PKPLw+TGNXRUr9Kmv/tBmq860BJfLeDye4RtV0sQhcWk/4+ysOD5dyg799M5ZyfhgiZEUynTEn41BKc61IH6g7i4WldEASsuCkMgx5hIv0Gwv9KP+fb7ujb/sYbsXqVNVVH4WRv3dmvtiKTWF1+fgH7YnqWhUQrpPvbW7H4FnfZp5TW0kQxNN+7bSCYgP7CXkqpH+LcC4rPNRd+
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV3PR03MB7707.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700021)(22082099003)(18002099003)(4143699003)(56012099006)(11063799006)(6133799003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?STBGUE1QcHgrcEE5Rlh5bUNiNExyR1NOUmYvQzZManNpRHhWbm96Q2ZMZ28r?=
 =?utf-8?B?UFFKaWdIc2FTWm1uRlY1VDVDWFU1Y0RZTUdTUGhFQ2lkaDNKZjE1VllaT3pr?=
 =?utf-8?B?eUkxdVFrVFhlaUNpWWFRSVVWWUFVYjF1Rk1DUVVDVWpiNTVmdHdJdE1ZbzEz?=
 =?utf-8?B?RmdzK2ZId0lvUzVnZHNsZ0l0Qy9WdWkrZzFQL0NvT0J0MXJUZlhBMmJuYUtP?=
 =?utf-8?B?aVBEcWY3VHFNMWRueXJUV2FHM01QeGJjVkgzMDhYaEVVNWdyL0RGazhwMnY1?=
 =?utf-8?B?YVlwNjVFS2xSM245UmlQYzBKaTU2bXdXeU5jSzhTY1lhVHluREVrODlKZi9p?=
 =?utf-8?B?TWh4ZHd3SEh4b1QvbG5URVJGWWswV0F3Qm1ZWU5lNklrRVRKSGdlU3BDTWpv?=
 =?utf-8?B?S1JwZVBhTFpUdmlxa05kc0habTNzeE1pdGo5K1JjUWI0MllydnlYUjBmblhv?=
 =?utf-8?B?M0lPVHRUSno2UFZlVWg0RTVTWXIzb2lseGo4aHl2NytvOTJBRkpyUmV6L29p?=
 =?utf-8?B?bEtNUEQxVmIwTVpGb0F4SmpMbzNtMTlPdnkxTUtOZzROZysvRksxT2VDUXJL?=
 =?utf-8?B?S2Z4dnpkdTRSd09CZE9Lczl5REdGQzhIeTZmZkM3WU1HcnloajROU0JpcEZL?=
 =?utf-8?B?SVhnTXg1WlhtS0paOFJPbUNFaEtJd0xoNGRIeXVkS0JDaW5uYWhuQmJHUGxU?=
 =?utf-8?B?cWFEWDltM3ZPWE0rOGFIOXFuTkwrcGl4aE16UVpmYUFzTnAxbUhtbmd4RmlJ?=
 =?utf-8?B?bnI1b1hYUVkrdkVVNEhXMC9rTmNWQmZmVjB3VWV6UTlPWHZYYTVPV3VGNURQ?=
 =?utf-8?B?eGZmSGk1OUJmMDFVdDgvNjJ0d3gxYUJOZkxDRk1ZY1JjNkZib3dacVlDRXR6?=
 =?utf-8?B?SG9JUWcrSXlITkFDdk5IMS9IR2dPMExEdUxab1A4TVNDVGFwbVVMdTJvc3Ay?=
 =?utf-8?B?czVQZE9kYm9KRlBDOFRROURrcXdndzdGMEVTaHgrbXhXSW5EL0huWGtnZzJv?=
 =?utf-8?B?cE9veUMzMDgybXFURDN6SGZ4RDVEYVJta28wOUxXWjhJUE82UHZDTU9Vblln?=
 =?utf-8?B?S2Fnc3c2dkdBYnVwdVFaaGRxVjlFTGROTHZBUFZ1cW4xaDdkdXBHRHBlQW56?=
 =?utf-8?B?eHhyeDBiamRxU2JqMlRiQlJ3Z0d3RVlKVGR2akkvZ245clBjVWNQc1F6eWxE?=
 =?utf-8?B?QStqOW01bGtaaHBrWUhHRHVqbCt1TG85MTViUThKTkVsVDArdC81SkFTc0ZZ?=
 =?utf-8?B?Q1VjUnc4M1ZIUEQ0bmdvYWtrMTdLK3NpTExhNDQvV1lPWWJVQ0pYZERRTlU3?=
 =?utf-8?B?ZWx2QkFGYk00V1pxU21iTVlaQm9zY21SdFpQTTJBUDN4cWRvVFZNcEI1a2h3?=
 =?utf-8?B?bWFqNi9ocUpqVmJ6MCs5QWZ5dUlVSjlvcXdySWpQRGdJdlZiNWxzRjltS25x?=
 =?utf-8?B?WUdkZ1F5M2taRDVTbmVuc3ovMHF2K3cvOFpsVlJ4Z2p6S0F5ZFk1Ym0wWVU5?=
 =?utf-8?B?T0JIa2FhMmpVOWMrVHdEM1FMajZaRXd6QW1sN0JlbndwQVV4L01BZUpLRWlp?=
 =?utf-8?B?ejhzemcxZUk3OExVU2FtVDhmL2djWHFINWwwd095VFNBTUVzWHNXWExSNXZh?=
 =?utf-8?B?bitKK2lZKzZMMFNoUm9LUncxU1dTTkRYSnMrYUJVRzRKNDU1ZzRTOTlUWWg5?=
 =?utf-8?B?VXF4eUhOU2tjdndaSCtZRXdMNFl2Q2NKaEwwMXVNY0EwK1RhbTFlbHF5V0dG?=
 =?utf-8?B?dTZEUFNPQVZYNHRRaFFLWXhWWlRKNEZndHYxaXRxWnNDRThZbXZJNzJKUCtJ?=
 =?utf-8?B?dnp2ZkVTMTFZUlhCeXRtNXorRTgxVXNzRGkvOUVjMU9reEF3dkh1Z284UW5W?=
 =?utf-8?B?RWVJaHRRMHdHQ3VSYnVkWFFwaHdUclZ1bkIyTTMwM0Nwbk9qOEZLV3c5cDJo?=
 =?utf-8?B?Z3ZlaU44Z2l5RmhFWUZGY25sYW1saTVIOG05TU9FL2lHTE9ibWdTdnQ2R21m?=
 =?utf-8?B?TCtLKzVhTWJBVlJkUnUxaWZveUhPNzM2M3pVckF4REpqWDNYSjZ0Vkt2RFVW?=
 =?utf-8?B?Yk54MWsxd05iU1dSYjBHakRkdzlSYm1MOTNCK0I3WEx0RzFTWDlyNm5jeGxm?=
 =?utf-8?B?emdqZWVQNU9CZmhJeXlaaWhOY1VMTkhqanBBZGFYNmdWeDRvRWxWd3NBT0Nm?=
 =?utf-8?B?ZkhvQXV4R3UxRlhxR0V6TnZuVHJoa1hLcjR6UTlRSm5YU0lxNVFFQWY3bWw0?=
 =?utf-8?B?VVB0ODFUaHFMdzBWTUM5amwrL3hIQU9OWDBoeFRYZDhZV1YyTEliMTAzT2c1?=
 =?utf-8?B?YUZlOGJxQUx0VlkzV3lmUm1PcGhSS3NpNjlMdVh4NDBXK0ZDL0t3UT09?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: LV3PR03MB7707.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 12aec097-88fc-4053-d733-08dec0b09345
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jun 2026 14:09:34.9847
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: wIDZmP5xagg8paF10j0iKoSAmHAFYKMYRQO879StDDmK9guJICeVoR93Qfk+nxrrpg5Hysyw3XYDXIPxMKmRnmDCVDV48y7jYsLSShbvpjQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5721
X-purgate-ID: tlsNG-c1860d/1780409379-BFF7ADB1-35F20945/0/0
X-purgate-type: clean
X-purgate-size: 3186

DQo+ID4+IFJlcGxhY2UgdGhlIHBhZ2UtbGlzdCB3YWxrIHdpdGggbm9kZV90b3RfcGFnZXNbXSwg
YSBwZXItbm9kZSBjb3VudGVyDQo+ID4+IG1haW50YWluZWQgaW4gc3RydWN0IGRvbWFpbi4gVGhp
cyByZWR1Y2VzIGR1bXBfbnVtYSgpJ3MgcGVyLWRvbWFpbiB3b3JrDQo+ID4+IGZyb20gTyhwYWdl
cykgdG8gTyhub2RlcykuDQo+DQo+ID4gQWx0ZXJuYXRpdmUgYXBwcm9jaCBmb3IgY29uc2lkZXJh
dGlvbjogUHVyZ2UgZHVtcF9udW1hKCk/IFRoaXMgYmlnIGENCj4gPiBjaGFuZ2UgZm9yIG1ha2lu
ZyBhIGtleWhhbmRsZXIgd29yayBiZXR0ZXIgaXMgc29tZXdoYXQgcXVlc3Rpb25hYmxlIGFuDQo+
ID4gYXBwcm9hY2gsIGltby4gVGhlIGtleWhhbmRsZXIgaXNuJ3QgdGhlcmUgZm9yIHVzZSBpbiBw
cm9kdWN0aW9uIGFueXdheSwNCj4gPiBpdCdzIChwcmltYXJpbHkpIGEgZGVidWdnaW5nIGFpZC4g
SWYgdGhlIGRhdGEgaXMgc3RpbGwgbmVlZGVkIChhbmQgbWF5DQo+ID4gZS5nLiBiZSB1c2VmdWwg
b24gcHJvZHVjdGlvbiBzeXN0ZW1zKSwgbWFrZSBhIChwcmVlbXB0aWJsZSkgZG9tY3RsIG9yDQo+
ID4gc3lzY3RsIG9yIGFsaWtlIGluc3RlYWQ/DQo+IA0KPiBJbnRyb2R1Y2luZyBkLT5ub2RlX3Rv
dF9wYWdlc1tdIGlzIGEgcHJlcmVxdWlzaXRlIGZvciBwZXItbm9kZSBjbGFpbXMuDQoNClRoYXQg
aXNuJ3QgYWN0dWFsbHkgdGhlIGNhc2UuDQoNCk9ubHkgb2Ygd2Ugd2FudCB0byBzdWJ0cmFjdGlu
ZyBkLT5ub2RlX3RvdF9wYWdlc1tub2RlXSBmcm9tIHRoZSBjbGFpbXMuDQpCdXQgdGhhdCBpc24n
dCB1c2VmdWwgaW4gbXkgb3Bpbmlvbi4gDQoNCldpdGggbXVsdGktbm9kZSBjbGFpbXMgKGFzIHJl
cXVlc3RlZCBieSBKYW4gYW5kIFJvZ2VyKSwgaXQgYmVjb21lZCByZWFsbHkNCmF3a3dhcmQgdG8g
c3VidHJhY3QgZC0+bm9kZV90b3RfcGFnZXNbbm9kZV0gZnJvbSB0aGUgcmVxdWVzdGVkIGNsYWlt
cyBmb3INCmdldHRpbmcgdGhlIGNsYWltcyB0byBpbnN0YWxsLg0KDQoxKSBUaGF0J3MgdW5uZWNl
c3NhcnkgY29tcGxleGl0eToNCg0KICAgVGhlIHB1cnBvc2Ugb2YgY2xhaW1zIGlzIHRvIGFsbG93
IGRvbWFpbiBidWlsZGVycyB0byBjbGFpbQ0KICAgbWVtb3J5IGJlZm9yZSBwb3B1bGF0aW5nIHRo
ZSBwaHlzbWFwIG9mIGEgZG9tYWluLg0KDQogICBhLiBBIGRvbWFpbiBidWlsZGVyIGtub3dzIGhv
dyBtdWNoIG1lbW9yeSBoZSBuZWVkcyB0byBwb3B1bGF0ZS4NCg0KICAgICAgSXQgaXMgbmF0dXJh
bCB0byBqdXN0IGNsYWltIHRoaXMgYW1vdW50IG9mIG1lbW9yeSBmb3IgdGhlIHBoeXNtYXAuDQoN
CiAgICAgIEl0IGlzIHBvaW50bGVzcyBmb3IgYSBkb21haW4gYnVpbGRlciB0bzoNCiAgICAgIHBv
cHVsYXRlIHRoZSBwaHlzbWFwIHdpdGhvdXQgY2xhaW1zIGFuZCB0aGVuIHN0YWtlIGEgY2xhaW1z
IGZvciBpdC4NCg0KICAgICAgSXQgaXMgdmVyeSBhd2t3YXJkIHRvIGhhdmUgdG8gY2FsbCBhIG5v
dCB5ZXQgdXBzdHJlYW0gaHlwZXJjYWxsIHRvDQogICAgICBnZXQgZC0+bm9kZV90b3RfcGFnZXNb
XSBmb3IgZWFjaCBub2RlIGFuZCB0aGVuIHJ1biB0aGlzIGxvb3A6DQoNCiAgICAgIGZvcl9lYWNo
X3B5c21hcF9ub2RlKCBub2RlICkNCiAgICAgICAgICBjbGFpbV9yZXF1ZXN0W25vZGVdID0gcGh5
c21hcHNpemVbbm9kZV0gKyBub2RlX3RvdF9wYWdlc1tub2RlXQ0KDQoJb25seSBmb3IgWGVuIHRv
IHN1YnRyYWN0IGl0IGFnYWluIGluIHRoZSBjbGFpbXMgZG9tY3RsOg0KDQogICAgICBmb3JfZWFj
aF9yZXF1ZXN0ZWRfY2xhaW1fbm9kZSggbm9kZSApDQogICAgICAgICAgZC0+Y2xhaW1bbm9kZV0g
PSBkb21jdGwucmVxdWVzdGVkX2NsYWltW25vZGVdIG5vZGVfdG90X3BhZ2VzW25vZGVdDQoNClNv
IG5vLCBJJ20gbm90IGdvaW5nIHRvIGRvIHRoaXMgaW5zYW5pdHkuDQoNCj4gVGlkeWluZyB1cCBk
dW1wX251bWEoKSBpcyBqdXN0IGEgdXNlZnVsIHNpZGUgZWZmZWN0Lg0KDQpBY2ssIHRoZSBwZXJm
b3JtYW5jZSB0ZWFtcyBvZiBjdXN0b21lcnMgd2VyZSBmb3JjZWQgdG8gcmVseSBvbiBkdW1wX251
bWEoKQ0KdG8gZ2V0IGRpYWdub3N0aWMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIE5VTUEgbWVtb3J5
IGRpc3RyaWJ1dGlvbiBvZiBkb21haW5zLA0KaXQgd291bGQgYnJlYWsgdGhlaXIgdG9vbGluZyAo
YXMgdW5zdXBwb3J0ZWQgYXMgdGhhdCBjb3VsZCBiZSksIHNvIGl0IHdvdWxkDQpiZSB1bmRlc2ly
YWJsZSBmcm9tIGEgWGVuIHVzZXIgcGVyc3BlY3RpdmUgdG8ganVzdCB5YW5rIGl0IHdpdGhvdXQg
YSBzdWZmaWNpZW50DQpkZXByZWNhdGlvbiBwZXJpb2QuDQoNCkJlcm5oYXJkDQo=


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 14:37:13 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 14:37:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325093.1590625 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUQEq-0000A6-D8; Tue, 02 Jun 2026 14:37:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325093.1590625; Tue, 02 Jun 2026 14:37:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUQEq-00009u-9g; Tue, 02 Jun 2026 14:37:04 +0000
Received: by outflank-mailman (input) for mailman id 1325093;
 Tue, 02 Jun 2026 14:37:03 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUQEp-00009o-Hk
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:37:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUQEn-008Xvj-HT
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 16:37:01 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1eea8a-5cb7-0a2a0a5109dd-0a2a4506c140-10
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 16:37:01 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1eea8d-7371-0a2a45060019-d155802ab975-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 16:37:01 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-4906238c62eso94253015e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 07:37: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-490aeab0955sm76839785e9.4.2026.06.02.07.36.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 07:36:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780411021; x=1781015821; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=rPkseIp6XhRw0nvU6s0JQbVNOrkebrIAwRMZFGphGi8=;
        b=EvZLKi7fjiz7H9dmnKkJtaYpBIeYzAqb+Whj5n0WbjicL6hGU1CihvRgBRcdb1Uj3d
         vLWXh2P+3KufeALmS2IS46XtKobNsFGKGaT2v49A02Rn2KCpL4zsX/QQq2FAHrYNYI32
         7otTuHK0B4+p3y3WPek6fdZaUn6IFAJ1KzDCg+0caCenqBZOAvS2LQHGW05YFEKBkFGj
         8HBRiQy5LyXHQLF7wWxTx3m3BTA5gxs0UxGqFfG7Meng+5lP6JDWQLiXeYrvREnw3z8p
         pikOgOmipp4/ui4QLpnOdaa1JtIxtW/NP3Mi4WtA/XSJn0AAQS6BpQ2OpdWWTW8Y+y8C
         3hBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780411021; x=1781015821;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rPkseIp6XhRw0nvU6s0JQbVNOrkebrIAwRMZFGphGi8=;
        b=lK0DXCVrFmcP9DXaVsMaqQIWInhI7gVImfkXTG1+j3tMoFuPSJZb/Yxkm823jbCAJ9
         2RqFb+cGnmxIK/86OhXDGPLLdXl4HfepzT9Lw3NxgOGY5iLk+hNXCnMYfV4RzQx/nh39
         Nq/x0esdMqnPgrb7GQHcjhhYGpL2sN6R8EU0Ss5W40R3a4F/1KAoTtqZzQ2WTSyNjk3t
         sAKYpGdrQR5oi1BfjklEoTTPuZopK4OKm/EeJI2PJrEcsh4kjguQcLRja0FRGiKM0NJz
         CTEorck2oVwIHjFkv1375k7qjzyghEgvpnOSLyMACwRAn57fA6sjtfNZLXtKs/2vAcx4
         3gSw==
X-Forwarded-Encrypted: i=1; AFNElJ9oKMkI3G/WNj/yFVWkkwhhzke+nkxr7kGUXtPvcCc6WAncwQkFrGn/Id7E1NT1N6C/khvXMnyDReg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzKK4s5SkepZOdK0zDYjS2ljh9bqk5af8PNBV6Itg1RQCpAHYre
	53n6ueNh9pCh2cyF2cSxxx8Xtor3lulmww8cQxi0eZj6XXi7v6UmMgZTj8WZEB2LuQ==
X-Gm-Gg: Acq92OGd47MEWOyvLVDPV9GrCVM5+3gDEhHJ6UR1mTmgrMWhkdKh9fbFnODaTeGpuEv
	MII22mGnQYcaUMhDdXd7YGmcQtDTYsy7rqAuT41UVmQLX34IU2ji8rR4ZgmozrI49nr3R0Z3DsV
	YfJfrFUVxUKKsPJUtYt4g7VSxpLteocp0uRk7mjCDjHoogMVVzuh3EjccdV9q0/OGDzSpRQx4bS
	G7ICcygvDYNjdKaJHWvukMkf9VNiIo2lukfmkQ9WxGQRcfVwjm4FhN6UId2roGAq/Teo2MMdA0o
	9etLFcu8Qou2eBgMy27+kN2eugLX4zLi+m/Aq66XajgcUVCk/VSAFeG8A3cfCt2LnjNzV82z8rg
	D0VofvFCHkx1kqPtbmy5v0Z/9ZFW0/HYPfhMffnGebiXW+YellZ/STo5r9ry1vIHSIHQISY8xDz
	Ri03jzrYHOF5ObdyoP3DoZ7ikB+cSZ1ut+ytanITR4AwGgANv4vjcsJu8+RklV40KXSGqskavrd
	cl8e6i+wQEc4bxoywBAaZGOrJa4pKb93tzY
X-Received: by 2002:a05:600c:630e:b0:490:a2fd:e1e5 with SMTP id 5b1f17b1804b1-490a2fde21dmr291740185e9.17.1780411020426;
        Tue, 02 Jun 2026 07:37:00 -0700 (PDT)
Message-ID: <017fd1f2-d00b-45a8-b36f-945a0f42a85b@suse.com>
Date: Tue, 2 Jun 2026 16:37:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] xen/mm: Fix offlining pages only make aligned
 buddies, fixes Xen crash
To: Bernhard Kaindl <bernhard.kaindl@citrix.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: <cover.1779979589.git.bernhard.kaindl@citrix.com>
 <cdaec995676e17f0943cb921eb5ad9f87b96526c.1779979589.git.bernhard.kaindl@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: <cdaec995676e17f0943cb921eb5ad9f87b96526c.1779979589.git.bernhard.kaindl@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1780411021-8D785D75-61AFF722/0/0
X-purgate-type: clean
X-purgate-size: 8548

On 28.05.2026 16:47, Bernhard Kaindl wrote:
> reserve_offline_pages() is missing an alignment check and thus
> has a relatively high probability of growing unaligned buddies.
> 
> Fix this by checking alignment before growing spans to the next order.
> Update the test case to verify the fix and prevent future regressions.
> 
> Fixes: e4865c2315 ('Page offline support in Xen side')
> Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
> ---
>  tools/tests/native/offline-unaligned.c | 92 --------------------------
>  xen/common/page_alloc.c                |  5 ++
>  2 files changed, 5 insertions(+), 92 deletions(-)

As we will want to backport the bugfix (without the test), and as it makes
little sense ...

> --- a/tools/tests/native/offline-unaligned.c
> +++ b/tools/tests/native/offline-unaligned.c
> @@ -17,38 +17,6 @@
>   *
>   * Copyright (C) 2026 Cloud Software Group
>   */
> -#include "harness/common.h"
> -
> -/* test_bss_start must be first in the BSS segment */
> -void __aligned(PAGE_SIZE) *test_bss_start;
> -
> -/* Include xen/mm.h so we can wrap page_list_del() to assert the corruption. */
> -#define TEST_WRAP_XEN_INCLUDE_XEN_MM_H
> -#include "harness/mm-wrapper.h"
> -
> -static bool expect_free_list_corruption;
> -
> -/*
> - * Wrap page_list_del() to not fail the test by virtue of the prepared
> - * free list state but continue the test like a running Xen instance
> - * would in many cases. Assert and expect the corruption, and continue.
> - */
> -static inline void wrap_page_list_del(struct page_info *page,
> -                                      struct page_list_head *head)
> -{
> -    printf("page_list_del: page MFN %lu, order %u\n",
> -           mfn_x(page_to_mfn(page)), PFN_ORDER(page));
> -
> -    if ( expect_free_list_corruption )
> -        EXPECT_FAIL_BEGIN();
> -    CHECK(page->list.next && page->list.prev, "The free list is corrupt now!");
> -    if ( expect_free_list_corruption )
> -        EXPECT_FAIL_END(1);
> -
> -    if ( page->list.next && page->list.prev )
> -        page_list_del(page, head);
> -}
> -#define page_list_del(page, head) wrap_page_list_del(page, head)
>  
>  /*
>   * Include the main test library that sets up scenarios, asserts
> @@ -84,78 +52,18 @@ static void test_unaligned_buddy_merge(int start_mfn)
>       * | offlined page | single page     |    head page with a tail page    |
>       * +---------------+-----------------+-----------------+----------------+
>       */
> -    EXPECT_FAIL_BEGIN();
> -    /*
> -     * Due to a bug in reserve_offlined_page(), we get an unaligned buddy:
> -     * +---------------+-----------------+-----------------+----------------+
> -     * | offlined page |     head page with a tail page    | single page    |
> -     * +---------------+-----------------+-----------------+----------------+
> -     */
>      CHECK(page_aligned(pg + 1), "The buddy #%lu is not aligned to order-%d",
>            mfn_x(page_to_mfn(pg + 1)), PFN_ORDER(pg + 1));
> -    EXPECT_FAIL_END(1);
>  
>      /* Allocate and free a page to trigger buddy merging on free. */
> -
> -    /*
> -     * After allocating and freeing MFN 7, we get a double-freed MFN 6 due
> -     * to aligned predecessor merging in free_heap_pages():
> -     *
> -     *         MFN 4             MFN 5             MFN 6            MFN 7
> -     *   +---------------+-----------------+-----------------+
> -     *   | offlined page |    head page         tail page    |
> -     *   |               |       Unaligned buddies are       |
> -     *   |               |      an invariant violation!      |
> -     *   +---------------+-----------------+-----------------+----------------+
> -     *                                     |    head page        tail page    |
> -     *                                     +-----------------+----------------+
> -     */
> -    expect_free_list_corruption = true;
>      free_domheap_pages(alloc_domheap_pages(dom1, order0, 0), order0);
> -
> -    /*
> -     * At this point, the free list is already corrupt. In free_heap_pages(),
> -     * the tail of the unaligned buddy was added to the free list a 2nd time
> -     * as the page of an overlapping aligned buddy. This is per design of the
> -     * algorithm: These pages are free and thus the merging occurs as expected.
> -     *
> -     * The next allocation allocates the tail of the unaligned buddy, which
> -     * is now, due to the merge, also the head of the new aligned buddy.
> -     */
>      CHECK((pg = alloc_domheap_pages(dom1, order1, 0)), "Alloc the order-1 pg");
>  
>      /* Inspect the predecessor (pg is the tail of the unaligned buddy) */
> -    EXPECT_FAIL_BEGIN();
> -    /*
> -     * After allocating two more pages, MFN 6 is free AND in-use:
> -     *
> -     *         MFN 4             MFN 5             MFN 6            MFN 7
> -     *   +---------------+-----------------+-----------------+
> -     *   | offlined page |    head page         tail page    |
> -     *   +---------------+-----------------+-----------------+----------------+
> -     *                                     |    in-use page      in-use page  |
> -     *                                     +-----------------+----------------+
> -     */
>      CHECK(page_aligned(pg - 1), "The buddy #%lu is not aligned to order-%d!",
>            mfn_x(page_to_mfn(pg - 1)), PFN_ORDER(pg - 1));
> -    EXPECT_FAIL_END(1);
>  
>      /* Allocate the remaining page; a clean heap should not hit BUG(). */
> -    testcase_assert_expect_to_hit_bug = true;
> -    /*
> -     * As described above, if pg is the tail of an unaligned order-1 buddy,
> -     * the unaligned buddy is still on the free list and this allocation will
> -     * remove it from the free list and check alloc_heap_pages() checks the
> -     * buddies to have a reference count of zero, and the already allocated
> -     * page is returned as the tail of the unaligned buddy, causing the BUG().
> -     *
> -     *         MFN 4             MFN 5             MFN 6            MFN 7
> -     *   +---------------+-----------------+-----------------+
> -     *   | offlined page |    head page         tail page    | <- panic's Xen
> -     *   +---------------+-----------------+-----------------+----------------+
> -     *                                     |    in-use page      in-use page  |
> -     *                                     +-----------------+----------------+
> -     */
>      alloc_domheap_pages(dom1, order0, 0); /* Triggers BUG() */
>  }

... to first add a test covering the bad behavior (reporting it as good, by way
of the test succeeding), I think the actual bugfix (below wants to come first,
with the new test then being added to check for correct behavior right away.

> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -1434,6 +1434,11 @@ static int reserve_offlined_page(struct page_info *head)
>              if ( (cur_head + (1 << next_order)) >= (head + ( 1 << head_order)) )
>                  goto merge;
>  
> +            /* Do not grow to next_order if cur_head is not aligned to it. */
> +            if ( (mfn_x(page_to_mfn(cur_head)) & ((1UL << next_order) - 1)) )
> +                goto merge;

With this isolated, with the title changed to something which can be parsed
and doesn't duplicate "fix" as a word, and with the excess parentheses removed
from the if()'s expression:
Reviewed-by: Jan Beulich <jbeulich@suse.com>

However, I'd like to suggest a possible simplification: Inductively we know
that cur_head is aligned to cur_order. Since next_order == cur_order + 1

            if ( mfn_x(page_to_mfn(cur_head)) & (1UL << cur_order) )
                goto merge;

ought to suffice? Of course if desired this could be written more explicitly
as

            if ( mfn_x(page_to_mfn(cur_head)) & (1UL << (next_order - 1)) )
                goto merge;

Yet overall I'd be tempted to drop the next_order variable altogether anyway
(not in this patch of course).

> +            /* Check if any page in the next_order range is offlined. */

This isn't quite accurate, as ...

>              for ( i = (1 << cur_order), pg = cur_head + (1 << cur_order );

... we start at 1 << cur_order. I.e. it's only the upper half of the range
covered by next_order which is being checked.

>                    i < (1 << next_order);
>                    i++, pg++ )

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 14:39:53 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 14:39:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325100.1590635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUQHQ-00013o-U0; Tue, 02 Jun 2026 14:39:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325100.1590635; Tue, 02 Jun 2026 14:39: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 1wUQHQ-00013h-Qm; Tue, 02 Jun 2026 14:39:44 +0000
Received: by outflank-mailman (input) for mailman id 1325100;
 Tue, 02 Jun 2026 14:39:43 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wUQHP-00013b-Bu
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:39:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUQHO-008YOR-OQ
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 16:39:42 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1eeb1c-e002-0a2a0a5209dd-0a2a450597ac-24
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 16:39:42 +0200
Received: from [52.101.56.33]
 (helo=BN1PR04CU002.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1eeb2d-aaa8-0a2a45050019-346538211c64-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 16:39:42 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by MN2PR03MB5103.namprd03.prod.outlook.com (2603:10b6:208:1aa::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.16; Tue, 2 Jun 2026
 14:39:37 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 14:39: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Bp3KBzWjIT0TIgXloK3/evRsHet7Uzw1bZLDE3i4ky6q6ri1wy71MyCRSXv7/xC2To74ihgogVGI2iS6BZZOHIB5Gzrgy0cIU9sHVLXhKgTCPIG1SyStnOd6wyGERroEHzMD1GIMxEK8luEZnX4MuZpEo2LROVsro0Ffi4O5sxUd4F9gkOaHlN4ssJV6QwBAfMkg38oTP2Ing6YLZWEkjgqBu0TjUgThSpuxCmzypiM5sjznU4ATPQqPq0+cSIeOelNobBWj7wOJib72Eq/hByBqs9rsCq3hSvzu29A8swPc+nd1NjPUUTHzCZNvtHinvetttEBgbKVcGvIbAbvSRg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OmriJwyY8xZ1990KZgCi+g3222bhSkdhE48OsmhTgWw=;
 b=pn3vLvll4QjEKdK9Y1zttp3/3JrLHO5VGbCVDrpisKajkDWvd6EGUwp813xU1EuyaonMQ23NV7Q2E6ZBJzV5nRa4UhYett4pzeGGxvrI5I+4RjgiEUmNzUebtq2Vj7jWYyqyyTJevNfYs8veuCVEVCK+ePTGb+yo/UxvR9g9kWFPWc1UoUjc1viBjWwODF2n4XwnpOJgFDHoUv1GQ6eUa+xYIJdNAkkIwOtMAX7vPDU2EhwpWChLVc7WHo8RhLY9NCkkO+Mt/WuwUKRAjNXEhiNBvbwnZXrWrL1UlK/mW8+Kketjqlwg8oplQVqa9B4fZ+TBV1ZFOXKP0Bm3JUserQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OmriJwyY8xZ1990KZgCi+g3222bhSkdhE48OsmhTgWw=;
 b=snGSYS04kzkitVUmfBbGZHyTGI77gOWbNG+qBudHCjIeIVYwowI54QcoOI/OX48TQgMFlNf4wRAUGGFa8eqlyM1pvtanbVL2dq34O+gNXcPSEPoXkSXCA4nLTAXxjfojGSidySVvwf500Cz1b9oMCvy4ClWt6XWjqA9fpckZMZA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <0cd7a0e5-81f1-427a-9219-5d0eaa3e6cda@citrix.com>
Date: Tue, 2 Jun 2026 15:39:33 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v3] x86/PV: drop a local variable from
 pv_emulate_gate_op()
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <a8a84f5b-05b9-4038-807c-8151cc705583@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: <a8a84f5b-05b9-4038-807c-8151cc705583@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0690.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:37b::7) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|MN2PR03MB5103:EE_
X-MS-Office365-Filtering-Correlation-Id: 3a8c317e-0f7e-4bbc-3707-08dec0b4c579
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|22082099003|18002099003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	r9OKRyAkKiKe7xaH5k8Bwl6BhLyEAf2tjuOPSPA2CLvmWSddGSwzraGRL0Qm81ebNzJndQefnWycd7qKoraRzs6LyZfbO8GtV9lTRu6B5GS5AVOGysDa0KIQkD+j8S9MMBh5YwxdPXA/IRJwf4Y4RBHMteDDFsakFR0/jufP0KouS6XJWvpRSSrxbBLQSJUhsHDc9mbqanm4+kc7zCeuwCa87iRkOBOcYVWd0uOEiIinUHAsr5KXDHk5a4CoVp2VPCq8bopOFJfltvjedwYWcWApzjuVV130lBtNp0AVIyzDR3bfvOhfjYCnasD1Q3ScPIs+2DR7pbgVPd/qZ4mGXx31VDMrATpLJZ6y3A7hSaFp5piQH17m8VbSYemhW8IPWuOSR8JxQh5bes9QP3ThhJWThvXWAd/gK54fT53a8xYCWKL65dPrGDmzn6TA9zVtELjeiyz4gLvJetiE3ZiVLCFvB39vRmDvhnHpMHobkdkInNQ4Q4TcBeryWwTL7l4OGpFMJ0fPI+nPHtZo0Jgi7BdmozDWVa5M5PI345w0HqwY2jlxYLVI7Xov0V45L658j1JfnLOEHZuVI6+3lKG1SUWDm0Ce2E9JJv6Ib+RDh+jbTe06luGuAMc7dR1+DSJL4Jx7TjrEgHI9OaH2VT9VOghUUL01p2w/Tft6/qHnpwzK4mnfyk+AzORWl/wP1Z3o
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(22082099003)(18002099003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dzVZZzNVdVZOSzdTcDNrUlBRQlh3VkF1eStQNXZkNS8zYVI4czhld2ZlT3dD?=
 =?utf-8?B?UGV0SUxNWkJPMkxVRjJRaTdOZEx5OVFyS0JRSEJMT29xMXE1VFV4YnNGZmdo?=
 =?utf-8?B?dnkvSTd5MUdqTmpnLzVqbnR0NlZpQi9nUUxWMzd0MGYyRzg3ZVlqaUNKUnR6?=
 =?utf-8?B?TVhhcGFXRWdzeFdpaENhWFA1QXNxajBUK3lsQUI2UDhhdWtxOEZXa2FJeW9o?=
 =?utf-8?B?ZUI4bGg5d0M3U1ZwVGZ0bThzY2kxS2hDeDhKOFl4TE5GWDA5UjJaYnBTSVRj?=
 =?utf-8?B?MlBBYjA0aWM3SzJSb1kxNDJKL1FxemtMMDJKS01UclpFRzgyb24zUEZ0cGxK?=
 =?utf-8?B?c3dkU1BkOXg4UHJNeUJlekpCSUdiS0FXdU52QUlNMUJtcnpyclNjRkI3SzRx?=
 =?utf-8?B?c3RuNFV4UHFFb0ZnajZuSzRsL0QwbGQ3YU56VWNndm5KUitCTjdkL3FjUm5N?=
 =?utf-8?B?OHVTQkpYRXZZSVZIdDRsQVB5TDNQeTJSclRncXA1U1k5RWVEWjVUVUQrTUpk?=
 =?utf-8?B?NmdZSWwvQmVxdmtPRGltSE1TeDUvUlMreitES21Ca2NUbG8zVzN4UlNwK2Yz?=
 =?utf-8?B?OEdURU5qSzUwcjRvR0xIcTl1UmtyNWpYaHV1OW5uSUlRek9sQ01SUTBuYjRJ?=
 =?utf-8?B?UUxvZ3hiU1RHWTVicGlOUlBuVzFJOStMdmhYUjBKQXBOdkg1TkVFSE45Z29j?=
 =?utf-8?B?RlNreUFTYlNJdmloazB4VFNTNEtiQ0NycTk0cGNxNXZiVDZMdHJJeGE4dkRx?=
 =?utf-8?B?VFlHV1ZRMDBsT0FleERIL29jYkZPTTRFRFZvTlRDVGthTVQ0aDZDNE9CVUR4?=
 =?utf-8?B?ZzZJZklJcVkrdWlseG9TZEp6T1kxdGhzUnBRTWdOOFRnK2xuNnNEYis5RU14?=
 =?utf-8?B?aW1hUktYdlVDdE5KSEtaQW5vMlJNK2ZzSnZpeCs3dExsSStNd2ZuSWIzUEV6?=
 =?utf-8?B?MHBFTzJWdmJmTmd6L2xSYlVNUVhEd21MRUVnanJCSHBPWktnUit2dmg2OWww?=
 =?utf-8?B?YXVlbjI5ZHNnVWhRczZIQkdCY0Z0bnlFNkQwUklkbkdodXZ4VW5mdlZ4dEJj?=
 =?utf-8?B?Y1ZVaERrMGNUZG1rMGxPNEliYXJBcmlYYXdaU0haeUdOWDEyU3E5NnN4c0ox?=
 =?utf-8?B?WGk0WGI3RXd3U3ZxaUdHdjhFVkxhWVNGVXNpTkJ1SERUaEFoaVhwQStMM0JR?=
 =?utf-8?B?Q3ZMV0trZnh2c1RnU3BiTElWNWEyV2RaMjVJT2NkUXFCK09LQktBTFJtZnh1?=
 =?utf-8?B?b2xpNWpNcnIzZFNTWGRBdHJkdXE1OUU0djJtZTRvRVRPakVYQUMzTGJwZEFh?=
 =?utf-8?B?L2lLYWl2UWNSTHVCZTU3OGRDcUFuRlpvRFNYWStMZWJ5dmpPSEMzVmtHTkc4?=
 =?utf-8?B?dG5nbkFhTXdQYUVrQkxSVjN4MVBvcjJYa2tUR0hZY1F6OGlXaEJnd2dKcE9k?=
 =?utf-8?B?SDBna0xiVWtBTjJQTFVNU0t5N2VHODdtcDJlV1p1b1JRY2RLd3VTU0lPRFlX?=
 =?utf-8?B?SmtvaVFERlNFSVozWEFYV3loSFpRWWZlakNKSTJZcFZKdTJTYlpzRkRiNHRu?=
 =?utf-8?B?VFVVREJKM0h5TnpiV05KVXBHYk93WmYrZ093OHlGalY4dXNhazdBUmJQL2pP?=
 =?utf-8?B?ZG5ablE3dXpPdm8yLysxbFBreW8yQWFEYWQ5d1EzSFQ1Tkp1TEFOcFE2Umhv?=
 =?utf-8?B?Yjg3Uzgwc2NHR3Bka2tmR0QyZkhTUFBGcStDbWNCM25TdVhhaWRIYWlJSnRN?=
 =?utf-8?B?S05xb2pVZFhxL2lWUmRnVHRtWUpHQVA0MXZTYjFyVlZsaEJaWUNmTVcvQ3BY?=
 =?utf-8?B?STBHYXpNSXhaQzdOS01VR3BoeEkzK1pGMStzV3pqakIyNkFaWEJBc01VbUV1?=
 =?utf-8?B?Z1ZUM3dWZ2tSOHBMQ05ZRmJQR0gwZitQTWJCSm1vMWRML1ZaRVlObVdVaWo3?=
 =?utf-8?B?Wnh2UklldHJvcEdrTDliMUNSc0NRb2VsUTlnSmkwV20rOW1oa3h6QWE4TTA4?=
 =?utf-8?B?NGZuNFpSVG9OTEhHdFo2Z3FneTJhZ2IwVUEvK3RwVW9MOGs0OE1LMzY3M0Vq?=
 =?utf-8?B?MFhlVXV0Z0xGZzNyU2YvY0ZqSGtuMmhrcWl3WE1GbldBZWdzQUhOTUNoUUNK?=
 =?utf-8?B?WTdvLzdrRlpjOGFoUGYrWCtrWXV0Ry9TL2pFKzlsanRwQm5UR3lhRkZKUHVJ?=
 =?utf-8?B?WUh1ZlVzKzVoTEhxUkU0QzI2L2Jxei9NSTlZWXJld2Y3bHlQNVBubDYxUTdF?=
 =?utf-8?B?MGs3c1RqaTh5eDZqOTVvWlVoTTJSNDcvQmIyd0RwQTRyb2h1cDlxMU44ZkU4?=
 =?utf-8?B?dURRRTA4WmZVbzd2eEVNUFJ0MmpoUC83Wk0xdEM0RHhMbUgweFJpZS8ycDJ0?=
 =?utf-8?Q?oyTD1LCry7bAefBQ=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3a8c317e-0f7e-4bbc-3707-08dec0b4c579
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 14:39:37.3888
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aJKu4tSt0SAsppk16xDYkkgmCoCpjCzuBbPPpJIU2W8y+PtPRhTCTC/2M0SEGfFpKieVy1WGeqIrh5V9BEmceu8XcoqeYadO4uv+bKDr5cU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5103
X-purgate-ID: tlsNG-c201ff/1780411182-D9772443-0AC821A8/0/0
X-purgate-type: clean
X-purgate-size: 471

On 02/06/2026 2:52 pm, Jan Beulich wrote:
> The inner "rc" shadows the function scope one, thus violating Misra C:2012
> rule 5.3 ("An identifier declared in an inner scope shall not hide an
> identifier declared in an outer scope"). Drop the inner variable, as
> there's no other (later) use of the value it holds.
>
> No difference in generated code.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 14:43:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 14:43:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325107.1590643 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUQKw-0002Yo-Bq; Tue, 02 Jun 2026 14:43:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325107.1590643; Tue, 02 Jun 2026 14: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 1wUQKw-0002Yh-9H; Tue, 02 Jun 2026 14:43:22 +0000
Received: by outflank-mailman (input) for mailman id 1325107;
 Tue, 02 Jun 2026 14:43:21 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUQKv-0002YZ-1e
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 14:43:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUQKu-00CVcq-AJ
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 16:43:20 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1eec04-e002-0a2a0a5209dd-0a2a4505bef0-4
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 16:43:20 +0200
Received: from [209.85.221.42] (helo=mail-wr1-f42.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1eec07-aaa8-0a2a45050019-d155dd2aec2c-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 16:43:19 +0200
Received: by mail-wr1-f42.google.com with SMTP id
 ffacd0b85a97d-4600ddc4017so2146453f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 07:43: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-45ef354b7edsm33440117f8f.22.2026.06.02.07.43.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 07:43: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780411399; x=1781016199; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ruJinQ6Os9OKUhCau3wAEAfxPZ3nNFkQ0Shb8/pl6bw=;
        b=FTtq13vz0ccfbLoA54xTwXdaQYCJE4y3w4UzooTI0W/ColhYY9CUR0AgW4vT8XmylE
         CKKwmsF7CiEW/p1O32T9UKPTbX9cfNI3g5cug3ZBFjmnfu0nnz+UjyqUxEXdjCwg/vBm
         K4981PnENFgW55Us0KZaWddlgVTPJONrAmgclHfPpsOVRG5XiX9cn01iUl7H30U1FMwH
         djpGx7R8IQL+xN30d2z0trpP+FyJIrg53edABQMeC8EoTpDIG3hhMo65VC9mrTgXEHKy
         6squjjm0GhuN3hVdsXlu4n77S3qR/9gr07OaKodqRBJGogsFmg7ryFZI/1ZYwfBPsQLc
         GlDg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780411399; x=1781016199;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ruJinQ6Os9OKUhCau3wAEAfxPZ3nNFkQ0Shb8/pl6bw=;
        b=e3jODh24OlVWmzwR7wD1KYY5JyupH6Uxes2eRub83DCF77vNeSx3xEyUxeG/V8FCOB
         85zzlv6KGOHJgkVvSCKnyeJI6FHBDlBtfzNnLVmy7qfhH2V0U5fK3DZarSTYfzpkXriQ
         7DQiOoLAA/NeWR2d5pY3LUUWRRYyAg7cuhyHZtpx1pxLe9VKvd4Bkkgo4hx6MsGAWfoM
         YLcF9SL21Z5vKmpxB0SVXVYI50YfsWm2dobXFgvqKDRl+tZzv8bzLimhsaQJESLLUVxt
         xNS59R4JDfeYYe6xjlMnNhWGiPa/jW4WDocmSPQAOzs5JlA5yffVONR+WKyDHKgBZUT1
         nUYQ==
X-Forwarded-Encrypted: i=1; AFNElJ+QHd9vY+byBTxIQz+zU8Lqxs5QaN5Ieu9DKBuaI0mf12dSiZDcQqUVTXfQ4MHo+n/8kVOoaNpoFXs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyjkCwWgZkfr6kYada+DBSy+hx9V2kj60S8JHsHLADyMOCSpOyn
	QE0Ets14f5sBfKFlG/OrVagaLY2rsR4YUAoX2EdAuXNKwWRRf7zIxrpW5GD61TRRbA==
X-Gm-Gg: Acq92OGvPyPjrheS2QllcsyGJgRDmweQOktzPEbf5QniGj1IX9vuIWXQeaPpRlp5Dd5
	dxYinKUKq4qeouxQzPqt8zuy5GlaXRTSm2nxs4ZaI1GNLML8UQGMrZnJbqaBLXlM0o7LGTKTnV8
	Qe3N8+/jR9Xl2Qf7UIYXGCAY2QVNLECNOqCxODbl5AiWpkrsFEf2hNPhRlrnt5zNdRqpxMw4DoK
	rQmSbpxHp/xKogJL8NNHY5mJKbEAzXHn2ThMPoWUHNtrAYkZvtI7ACwmArMHmXhKKx/AGwgr25M
	a11qhTm5JJkP1vIZXA6CqSB5djucUBbT5kqlr20u2b8rz2+GuKXjDKSk00yGJGwX0zd8iyFUN7f
	1VCqMcy86lvNbytyH41rCxfhS5xLXdSAZgzM4BhchkasWMVg7HCyoAC+h3RngCDl8jUGNaLg+yY
	VRMrPUk8pNhA/uFUymwUwOQWkr6lrbR7Q5U+NXMwP4uMNIb6U/jrc/hmnytyZKRrF/i3vfptzn1
	6TMDH/3xXjxAdtJbalQacZVng==
X-Received: by 2002:a5d:54c2:0:b0:45e:ea65:d329 with SMTP id ffacd0b85a97d-45ef6aec693mr6251201f8f.7.1780411399128;
        Tue, 02 Jun 2026 07:43:19 -0700 (PDT)
Message-ID: <1110e571-db6e-4443-aa8d-6676d5b1edef@suse.com>
Date: Tue, 2 Jun 2026 16:43:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] xen/mm: Fix off-by-one stopping tail merge in
 reserve_offlined_page
To: Bernhard Kaindl <bernhard.kaindl@citrix.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: <cover.1779980089.git.bernhard.kaindl@citrix.com>
 <b177222a50bb11647589f3143b8ba9771535b7d9.1779980089.git.bernhard.kaindl@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: <b177222a50bb11647589f3143b8ba9771535b7d9.1779980089.git.bernhard.kaindl@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1780411399-E0063443-91D24CA4/0/0
X-purgate-type: clean
X-purgate-size: 1180

On 28.05.2026 16:55, Bernhard Kaindl wrote:
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -1427,11 +1427,13 @@ static int reserve_offlined_page(struct page_info *head)
>  
>          next_order = cur_order = 0;
>  
> +        /* Attempt to grow the order (size) of the buddy as much as possible. */
>          while ( cur_order < head_order )
>          {
>              next_order = cur_order + 1;
>  
> -            if ( (cur_head + (1 << next_order)) >= (head + ( 1 << head_order)) )
> +            /* Do not grow to next_order if it would go beyond the buddy. */
> +            if ( (cur_head + (1 << next_order)) > (head + ( 1 << head_order)) )
>                  goto merge;
>  
>              /* Do not grow to next_order if cur_head is not aligned to it. */

Much like for the other series: With this coming first (and separate from the
new test), with the stray blank removed from the line that you touch, and with
parentheses also added to reserve_offlined_page() in the subject (like you
have it in the description):
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Maybe also s/stopping/preventing/ in the subject?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 15:10:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 15:10:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325147.1590653 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUQkn-0006we-EF; Tue, 02 Jun 2026 15:10:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325147.1590653; Tue, 02 Jun 2026 15:10:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUQkn-0006w3-9w; Tue, 02 Jun 2026 15:10:05 +0000
Received: by outflank-mailman (input) for mailman id 1325147;
 Tue, 02 Jun 2026 15:10:03 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sstabellini@kernel.org>) id 1wUQkl-0006Wh-RO
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 15:10:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUQkk-00011m-Jg
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 17:10:02 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a1ef237-bab6-0a2a0a5309dd-0a2a45019006-22
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 17:10:02 +0200
Received: from [172.105.4.254] (helo=tor.source.kernel.org)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a1ef249-c1f2-0a2a45010019-ac6904feda6a-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 17:10:02 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by tor.source.kernel.org (Postfix) with ESMTP id 94DD460138;
 Tue,  2 Jun 2026 15:10:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 08C431F00893;
 Tue,  2 Jun 2026 15:09:59 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:From:To:cc:Subject:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780413000;
	bh=S2KseaV7qgO+CUbxvtmiLhnZ1SCZ/+YdYd2MLSYNDaM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References;
	b=Qh4TQbYd0X2c+2T3iNHuqjbvRxEclZCN8S9fX50azkm9IoqT/4ZUIKuJsitys/PdF
	 uzWvylXGYPUkbnbrkOU0rI9RxWXXh5hybNoaWZ9GFu+NXVDvW8WMyPSX6wLfqjvsZM
	 I2SFKE6XV+lIBHEYcDumxnF93Tq+LxQn/vKNCYyg28kKdPfmGeH30DK/3j7ynUgb8v
	 ShnXkwEouHlV2akLRvWRqIuVPQO208l2kUo0YhCvquLEmkir40r+3PaH1Ha6b0sdoi
	 3IP9xiRYNbBYaLCDd+K+CUeG5dFZ+ifo+bB1ART24eMEIHkLlBCgHEwFrryO9YPIHU
	 sm8T8gB2dmMMA==
Date: Tue, 2 Jun 2026 08:09:57 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] CI: disable debug info for analysis jobs
In-Reply-To: <6ed5a037c10e2b896e1269c6856508f5@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2606020809500.550703@ubuntu-linux-20-04-desktop>
References: <4f3a0cf9-63cf-405a-a19c-c8fc0473b2ce@suse.com> <6ed5a037c10e2b896e1269c6856508f5@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
X-purgate-ID: tlsNG-d62444/1780413002-AD1ADFF4-E2909373/0/0
X-purgate-type: clean
X-purgate-size: 892

On Wed, 20 May 2026, Nicola Vetrini wrote:
> On 2026-05-20 10:20, Jan Beulich wrote:
> > Its generating and linking takes time (and space), while at the same time
> > Eclair should be entirely independent of its presence.
> > 
> > Signed-off-by: Jan Beulich <jbeulich@suse.com>
> > ---
> > Sadly the setting of EXTRA_XEN_CONFIG doesn't look to be cumulative
> > (across "extends:"), so the addition needs making to all four eclair-*
> > jobs.
> > 
> 
> Maybe with anchors and variable expansion it could be made to work, having a
> base template EXTRA_XEN_CONFIG and then adding variables as needed, but let's
> not complicate this unless needed. Indeed ECLAIR is not affected by stripping
> flags currently (though I don't exclude it may in the future).
> 
> Reviewed-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 15:12:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 15:12:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325155.1590662 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUQn2-0007fO-Oh; Tue, 02 Jun 2026 15:12:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325155.1590662; Tue, 02 Jun 2026 15:12:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUQn2-0007fH-LM; Tue, 02 Jun 2026 15:12:24 +0000
Received: by outflank-mailman (input) for mailman id 1325155;
 Tue, 02 Jun 2026 15:12:23 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUQn1-0007fB-MY
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 15:12:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUQn1-00F1vG-3C
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 17:12:23 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1ef2bc-bab6-0a2a0a5309dd-0a2a45059460-46
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 17:12:23 +0200
Received: from [209.85.167.45] (helo=mail-lf1-f45.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1ef2d6-aaa8-0a2a45050019-d155a72db8a4-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 17:12:23 +0200
Received: by mail-lf1-f45.google.com with SMTP id
 2adb3069b0e04-5aa68d9dc18so2703176e87.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 08:12:22 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-45ef34b834esm33962084f8f.11.2026.06.02.08.12.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 08:12: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780413142; x=1781017942; 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=lSnb4qrcRi4dVAuMj81J83x0aJGcwMh/trmmN4Ow+tc=;
        b=iiJ0mp6Y5QA/nZ52AO+i/S25vKMCxzRD4VBdae9Cx7c6ayI+VlaIn9Y1JR+mh8ixU3
         QNqaZCOo1jyVStw2UGqLZ3/MBnTrzaPC+MVKzRyfxjm0AxSwV3BNB9m0g7lstyvvgkpp
         JYDWJjm8RSDwogTGv07PUuE4aNIrs56K7Dj4qM6WJ1NWqAMZaK7k/ztO4Y9wBKfsQyQ6
         YBPkn5faHWLoh853uXwGhOtnQjMiEQciEcdLj53SWtVwrF9YfWnXjjj1W8icBoBQe8wu
         d7e30OZQHXkTUWHS1DeBTAowVHS1BikgEuBu30rh+mjb+27E4oKvgbRbmj/2XWLprzZi
         3dyQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780413142; x=1781017942;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=lSnb4qrcRi4dVAuMj81J83x0aJGcwMh/trmmN4Ow+tc=;
        b=C5jy7yDnT5GUKJ1Ql0Az9+rBIifssxwFLRl4U0Q+dO9r3dZsu4FOyYuyuyJqKxoc0O
         Yt4q/zNSz8nS6PSDOSsMARvTJzkCl2n147Not/WEbCf+rWhVKb8VqmA2EoG/Oqgq7kuy
         H7zOHD/g4s4ZL3pqJ1pz2ppGWks88/2r5I8vI2OHCcD9Y6m2kOHq7lwzh8gi09gmJZb9
         lG4hVj219mbujFTJfuo4C2X408gwDG5g8uKNma8vhIvxixhp8q2YahTAby4ID1Ge9MRR
         uUFZztUm+kxRUrpynsTEOeryWMiBUxRLnx3qz+T6Az6ZBN8oytuSQRxwvAkbrjYHXAdD
         nrPg==
X-Gm-Message-State: AOJu0YwH/lU0MwBZJ35YEsK+h1zWxvJ9vxRKZIaiszRzytmQrvQ5Inul
	492D2g/8wdEwHtiZvSsJFDEQhHmNbqYt0isvv+L5p2rqXmJirPMofutA
X-Gm-Gg: Acq92OFN5j2jyFUvMb7VGkzk+YSNlJTiRfUlp8vZ+WlEIIjRdyXzGB2ePUUZd1HQAws
	Qq7WNjcMae1F4oOTfyllRPhUbiqFtzXjxH7dK6kIQfYrLqCAS4L9qhocMz1R98KRq3qmqyrgaDs
	YBUDMM25UC5FRJDfufevSwusJBrWX4dqfm/8Q9hwFTZvp/x2VWKEifFpZc92IsvCWRCcH1fkTdS
	ukzjlYngMTf/Hz5EZJGWCbzZ1fvxFdL3Ez0PDXhkX2BGS47r5WWaZoPOMiwZ1DCCIYgbtFF1ANj
	CWy/VWgGTifaJipUnLtsoEBX4IT4PcZbMKkCuciAI/JJngwV32KcCWVcnqpjdSfiKPUpTNuZzUl
	t+ytg5p9ZUPc6xU62KwzQirDPWlm8xzEZqSp13yYRXAr7BW7YrNeBJJ21amxRHwKqcATk0hvd3C
	MziSbwkDju6C94+Oj3YU/XnUBJcRvF5P8WfMzC3vMm+0eLLYzG0dH1+8nX/3JIaOxoD7z2buCj5
	4yUDdZmOStg3I5a
X-Received: by 2002:a05:6512:1306:b0:5aa:7126:c645 with SMTP id 2adb3069b0e04-5aa7126c96bmr2203260e87.2.1780413140883;
        Tue, 02 Jun 2026 08:12:20 -0700 (PDT)
Message-ID: <f4fc8191-78c3-4fa1-8168-52d6b24729a2@gmail.com>
Date: Tue, 2 Jun 2026 17:12:19 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] CI: disable debug info for analysis jobs
To: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <4f3a0cf9-63cf-405a-a19c-c8fc0473b2ce@suse.com>
 <6ed5a037c10e2b896e1269c6856508f5@bugseng.com>
 <4a7b6f30-de8e-4baa-b2b9-e15c8da16b82@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <4a7b6f30-de8e-4baa-b2b9-e15c8da16b82@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1780413143-E2997443-1B5A8352/10/73395122804
X-purgate-type: spam
X-purgate-size: 1068



On 6/2/26 11:22 AM, Jan Beulich wrote:
> On 20.05.2026 14:10, Nicola Vetrini wrote:
>> On 2026-05-20 10:20, Jan Beulich wrote:
>>> Its generating and linking takes time (and space), while at the same
>>> time
>>> Eclair should be entirely independent of its presence.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> Sadly the setting of EXTRA_XEN_CONFIG doesn't look to be cumulative
>>> (across "extends:"), so the addition needs making to all four eclair-*
>>> jobs.
>>>
>>
>> Maybe with anchors and variable expansion it could be made to work,
>> having a base template EXTRA_XEN_CONFIG and then adding variables as
>> needed, but let's not complicate this unless needed. Indeed ECLAIR is
>> not affected by stripping flags currently (though I don't exclude it may
>> in the future).
>>
>> Reviewed-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> 
> Stefano: Any chance of an ack?
> 
> Oleksii: Any chance of a release ack?

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 15:13:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 15:13:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325163.1590672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUQo8-0008Cc-71; Tue, 02 Jun 2026 15:13:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325163.1590672; Tue, 02 Jun 2026 15:13:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUQo8-0008CV-2z; Tue, 02 Jun 2026 15:13:32 +0000
Received: by outflank-mailman (input) for mailman id 1325163;
 Tue, 02 Jun 2026 15:13:31 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUQo7-0008CN-FA
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 15:13:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUQo6-000Evl-Rq
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 17:13:30 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1ef319-2eae-0a2a0a5409dd-0a2a45028a80-4
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 17:13:30 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1ef31a-af86-0a2a45020019-d1558035e5d9-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 17:13:30 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-490b4a8e28bso1836145e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 08:13:30 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490b0e2b4e5sm80054635e9.7.2026.06.02.08.13.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 08:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780413210; x=1781018010; 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=W2B1aZ2Jdlpe0bHUGX6N7JFI2p9yocI3stOOe4ZYXzo=;
        b=CoHUHw3jCY9mWWkq5gNS6ASLUk5mbOzpWjWKFvpUytCOUNFQgl2kQpwfKgOaFlAh+k
         kHiK4+dAt82LVwJVXqxKX89kqg9tlK5F3ipZZcQL6sV0VZ80gI1e8tmqiYbr43Nl7jMK
         4bmzXCabTGb+2PuIrlBuqd+zcgmpMLZow0SRX4zybcWSvWNh8hpHZD7W/UF6EPheNKcP
         juBdw8XcqLbWXVWwqp+PekCJD9UIzsfLxmWg3O3KSl+hu9yIt+jJ5pG4j1GiEQgLuMd8
         U2LSZAmPq7P/tnQed2fQwKVB+mbmY8msRZUmCkdsNv0/YhYRwTtNmR8YApGCt7kYTCQ/
         Z0PQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780413210; x=1781018010;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=W2B1aZ2Jdlpe0bHUGX6N7JFI2p9yocI3stOOe4ZYXzo=;
        b=ksDcJZwhfkWl+ooW6LSMtBn6ik5EOJNz2Er8DE9muGIr8kFlQggaodmPdphcpNyxU8
         d/ACdOGO18asL2XlIFvd4WFNH23KiptZkYycIRNoFqyiY+uh3lLEdNYqGt5RGqFtBn69
         oOmaBjSSjYwjovqa/QnF+v23VADUaFghTpUfPqrBXTNlQcOUcJwLKQK2U/Utr01nGcfL
         LWq6Jwr2rX9xEgll7W/BWK081Y5ZEGbAuItmNi79T+pfB34g8rnaJmE2zU0n2bLXr2aa
         vyp1vFWM/vIaZmX39ak6OrZrsLhlqBRcOpxC2rO/mGln9Bl4Ofh4YcnDorGYmyriUP5I
         lAQQ==
X-Forwarded-Encrypted: i=1; AFNElJ/bOv/JMtGQUgI1oSHCpQnSYeR+wD8yhhCOsySTwbA7+Biw3l2XxcDulYnzF55fSN2Me5xWhaZHE+c=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyOMUqizC+OAtgRV1zxLt8guSK9Hh36slTgM6bM2OgwKrXrwJ1J
	najt4Cq2OZm62XnGesWv+RsJLn2JfbEwxrGyQuwBD5H9vlqdCvXQERxz
X-Gm-Gg: Acq92OFA6ZsuWZFkpt+PAyHY51/fDx29jWp/0MrkCM0x6NWqWlcCxul+34+XNdn5Xyq
	zgPlivGoL5rRyQFXxniwNzUI6lrZPWQzLZsEewc5ftOjjeC+15Nx0VsTS5eWXsfVoh70r2zrsVS
	JjyJaNK8MXGHNA1PzsuVnxiWuRH2sARjgipsUV/nH2rPTZtwBGCSUV1nyJrlU3bvDu6Y0JQSZJd
	76sYrzDvbFziKWEdN+fPxHbN1mviUksx3Mzgt4wv08VHyoecHv4SGe9i8KmxUWXcUtAwueLStzK
	NfftHFOk00VCCJb7z8MYrDsja+Mal+RrzUSo25AbgxqLFugT5tDOnd1v3jVubsgKETN5c5mvo2N
	847X6JC6Q6Dz7j+pk/XrVUSPuB+BdHtv7GCOOjh/Pq4LLavZ2mrs5uekaLxOHKztA9rNqwqESqx
	9FRFhaSDDcM3FWgkKGxZEoBV69mrBI/TNw3b63ZY68VE11hDIL8A/N0EsrQIy63rD8ey8hAWul4
	+a/49RxNhjq/U6a
X-Received: by 2002:a05:600c:6290:b0:490:b0df:9ea8 with SMTP id 5b1f17b1804b1-490b5053541mr3201585e9.1.1780413210100;
        Tue, 02 Jun 2026 08:13:30 -0700 (PDT)
Message-ID: <af1360c2-b3e2-4a76-933e-2593f26cc65c@gmail.com>
Date: Tue, 2 Jun 2026 17:13:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 for-4.22] EFI: Fix boot from a device without a file
 system
To: =?UTF-8?Q?Szymon_Aceda=C5=84ski?= <accek@invisiblethingslab.com>,
 xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Teddy Astie <teddy.astie@vates.tech>
References: <79d8684ede3bf1e9abe02a2e5ed966a0ecd5949d.1779726979.git.accek@invisiblethingslab.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <79d8684ede3bf1e9abe02a2e5ed966a0ecd5949d.1779726979.git.accek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1780413210-83961161-D322B1D3/10/73395122804
X-purgate-type: spam
X-purgate-size: 733



On 5/25/26 7:37 PM, Szymon AcedaÅ„ski wrote:
> When netbooting a unified Xen kernel image (via GRUB chainloader),
> the resulting loaded_image->DeviceHandle does not support
> SIMPLE_FILE_SYSTEM_PROTOCOL.
> 
> Instead of crashing via noreturn PrintErrMesg() in get_parent_handle(),
> we defer calling this function until filesystem access is needed.
> This way when booting UKI, get_parent_handle() is not called at all.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Suggested-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
> Signed-off-by: Szymon AcedaÅ„ski <accek@invisiblethingslab.com>

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 15:14:51 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 15:14:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325168.1590679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUQpO-0000Fs-FF; Tue, 02 Jun 2026 15:14:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325168.1590679; Tue, 02 Jun 2026 15:14: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 1wUQpO-0000Fj-CH; Tue, 02 Jun 2026 15:14:50 +0000
Received: by outflank-mailman (input) for mailman id 1325168;
 Tue, 02 Jun 2026 15:14:48 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUQpM-0000FT-MC
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 15:14:48 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUQpM-00Cbmx-2S
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 17:14:48 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1ef365-2eae-0a2a0a5409dd-0a2a450cab30-8
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 17:14:48 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1ef367-62f1-0a2a450c0019-d155802cb03c-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 17:14:48 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-490afc47455so8169585e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 08:14:47 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490b0e13eefsm71328525e9.2.2026.06.02.08.14.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 08:14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780413287; x=1781018087; 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=20pr1Ho0BKGs90tFB0h2APkzbcen8lyZhRW8OoBAuhA=;
        b=hFG1ckAQJjpINVWP9gmjNtcXq7a3EQmPfyNzjNFvrv1/mcEtvg+Fotr1/I3u1dH2VQ
         RalChgIbaaEE6QlxxL0zxgz3phKdBWdRSh9YrQpMgq2u9qZPlUyQ9MdVb4EpxNBSW4BE
         G5isEPbWmOaHdiPzRHNT43lxYdPnPIQjl8BGs1OPQz/fd5GMM6vqMJH509gJDOPi4mR5
         k78iSQEz+ERwwFvaEf2K/Rb1aSKqdu8+N/AMxr0gPeWKJVmwNNvrKQCsTQIbB4UZQk8k
         Raqbjv+7Y2UrhjGuD3N2qe+GaquYov6e7+ZUWRnJOPnb2XEuEjffdB7hUHqkMVnXydU5
         MqiQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780413287; x=1781018087;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=20pr1Ho0BKGs90tFB0h2APkzbcen8lyZhRW8OoBAuhA=;
        b=bOcdWrYoevPndQy3Nrgjgx2h7oIFSw0lM0STSq0IgNq2hc1nfm278MyqQZOWuBiydH
         ZO6CAaQ27nZd3nlmgi0l4wLfs0FmP49rLaNIf9TcDyBchZSP/xBBBLJIAJsg30eEx9+3
         bPEM5SVfhW+WGDhg53dtcoH22xUtD40/N31vSKaQxcRaf7YOoFrz6uCNhsAPgxlUOX/H
         1MY8HmvpX25JUUyUOeBnyeOP0elqiVzSkavvw+Is6Y8XuQCrNjnWZkK3XbzvE7jDr6Zq
         0S04d3tHTCZKuKHFg9QsCXXW82IquvP5/TfYk1j6OQDCPDvdhsb9kbaCEw22+7qk5wSy
         bWew==
X-Forwarded-Encrypted: i=1; AFNElJ9zoO2DMznLAEGsF7NG7ZE3A04fHVeF220qiS/WnNr7+G9budlgc8nxWYWcmtaoBosNmDbqGSMJWSI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzVkcl7CWr6W0tfsk1Kxc9GoU8q8G+LsrOQv2WLD2w9IFv7vGf7
	4ZTw8n4WqvN1+HawNO8cR/C43hM21UUXR3Oy5Oz2IZZRIRcnlzUd7YcRRBIGVw==
X-Gm-Gg: Acq92OFw9qLOIWjmQMRv2ZGMNAt4tvYCjJkm3ZOZen3vNpgHUYUAnLadhHX/DhWQlyX
	/BBz/ESx93rmSCEIetYZb0CKGhnOoXIkpHXFquQ21Ud9rVnO7HindV4RSEvmm2lb0Q104gD3o3u
	q52PUCkcZkKaNFg/WGnH8D83+IIeyddf/8WOgpYT4USaRsNrbKA+mgbhpqYH8Hipz/l7x15fUgr
	AKcsBbknPv8Z0pRMA4j4VxuuRCjUeyUwTzaVhOvp+b2FkebQp4tJT9upgV07pfmN+1cUzzEtR9e
	GmLdiGIOn4uScpepgPqxNR2WJyUKsWs0OSREDqmvXMQUNjePmyJfUPC0mQOxS+8SxBXOK8a5OBX
	iff5ZSbSQNQDTOmsqlTERDhEP0DhsVMnqUC5zSTskoNcKXQOLcMQ0zIPkQp9iBdPst7SaTptNoH
	Jf2VMfUms7R5miNmVtUZGnwlhh2oBAIA91vW920+y8L2t2EQIMCl1Xekmr+Ewn39uIVzLfRQj+O
	LZ2IUYupfYv6pCw
X-Received: by 2002:a05:600c:1382:b0:490:b1ce:1cac with SMTP id 5b1f17b1804b1-490b5082284mr2781725e9.14.1780413287439;
        Tue, 02 Jun 2026 08:14:47 -0700 (PDT)
Message-ID: <a409b476-c763-4858-a174-f50c751baa52@gmail.com>
Date: Tue, 2 Jun 2026 17:14:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] xen/efi: Use blexit() instead of BUG_ON() in
 read_file()
To: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, =?UTF-8?Q?Szymon_Aceda=C5=84ski?=
 <accek@invisiblethingslab.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: <20260602122441.2961974-1-accek@invisiblethingslab.com>
 <979ceb84-f254-4cbf-a33c-8d4557a12b11@suse.com>
 <e20f4ceb-cacb-4dc2-8811-868204ebb818@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <e20f4ceb-cacb-4dc2-8811-868204ebb818@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1780413288-DAB74CF5-12906E35/10/73395122804
X-purgate-type: spam
X-purgate-size: 1113



On 6/2/26 3:10 PM, Andrew Cooper wrote:
> On 02/06/2026 1:34 pm, Jan Beulich wrote:
>> On 02.06.2026 14:24, Szymon AcedaÅ„ski wrote:
>>> Follow-up to 880e40b187aa ("xen/efi: Fix boot from a device without
>>> a file system"), which added a BUG_ON() guard in read_file().
>>>
>>> But as Jan pointed out, before ExitBootServices BUG_ON()
>>> is not functional. It results in a hang with no message.
>>>
>>> On the other hand blexit() prints a message and returns back
>>> to the bootloader.
>>>
>>> Link: https://lore.kernel.org/xen-devel/bb0f007e-697e-4501-97ea-3b59cf494ec6@suse.com/T/#m4725c8cbc0946a5533aea03fc240267ef139648d
>> While Linux uses Link:, as per sending-patches.pandoc we don't. It wants
>> to be Reported-by: instead, and there wants to be a Fixes: tag.
>>
>>> Signed-off-by: Szymon AcedaÅ„ski <accek@invisiblethingslab.com>
>> With the above properly sorted:
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
> CC Oleksi.Â  We're past RC1 now, so everything needs release acks.

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 15:18:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 15:18:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325195.1590688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUQsb-0000yX-So; Tue, 02 Jun 2026 15:18:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325195.1590688; Tue, 02 Jun 2026 15:18:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUQsb-0000yQ-Pa; Tue, 02 Jun 2026 15:18:09 +0000
Received: by outflank-mailman (input) for mailman id 1325195;
 Tue, 02 Jun 2026 15:18:08 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUQsa-0000yE-Ig
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 15:18:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUQsZ-00Brua-V3
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 17:18:07 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1ef423-bab6-0a2a0a5309dd-0a2a4507c626-20
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 17:18:07 +0200
Received: from [209.85.221.44] (helo=mail-wr1-f44.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1ef42f-229c-0a2a45070019-d155dd2ca8ea-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 17:18:07 +0200
Received: by mail-wr1-f44.google.com with SMTP id
 ffacd0b85a97d-45ef5146b56so2584108f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 08:18:07 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490b0e239f4sm113262235e9.7.2026.06.02.08.18.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 08:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780413487; x=1781018287; 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=dk7b7TV75Onq/xYGJsQzaqAHusaE5osboW11M//1zLQ=;
        b=T4DUcu1i7xYv0jAMFYWN3yzVMhBzSLlRQgzkkZS3cP1d7H7MZRdhqQi48yW6CgV28j
         zn7puZ2fgiVFm45jMRh1lebh8ZxfWvvxB9yMy2WF0oU3Qx8l/fPwOn+UliSwMzFIzJ5f
         3+iNEPZ4KE0qKj7i+G7L+z2IZrVTcooHEmvQ3JsHBc31JlciUQNxZHcJi8turdAM8Hkq
         M0x8XqjOLGUKt95q7JM4XP2j+TSamDrmk1sMX4PnVzUxL71CTwcBK4bxcuwRUpaAUYuH
         z38FW8uxVIxfx/ObRwFYhDzjxQTGc7vmEaoVEJmFzKg1iEyb4cm0M3P0CBhBA2vNRq2z
         xb+g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780413487; x=1781018287;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=dk7b7TV75Onq/xYGJsQzaqAHusaE5osboW11M//1zLQ=;
        b=pdG0gdGaoGSXJr4oU5d1V7F2m7IhIw6uZlmwfT43cS07TdJ94PELL94K/izFn+ZKzn
         8HMBRTsgYHowPwRfodSQuNXNSJKV87HqRsIqfpyEZ5AJp3Y3WIpFNLt9cueelxBjb6VU
         /bk8qE7+yYhoBH6vyrnpAa+r0RUeEN/VmjKPdn6hoppkXDnpBQsNTaevDH2PyF7TvQlj
         aIdzyNblXggz00YI6HRnaj5jKH8ZzrXyO27N5TT4PijkFbZW2S6bIvJbk9Uo+FlSB2HA
         ppldETe+jYInuQYFd4tPfj69EK6WQP29qJZk4WXl6qL1bOjrkCUZ6CbV9AtwtZfGrXaj
         Yexw==
X-Forwarded-Encrypted: i=1; AFNElJ931o6wER+q8gz1rjhgfPHxN4tFWGNwifA3H/7iWuOUc4wpcxGAdeFjoYexS2nXHCVOHdhJTCWf94c=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyX43SMyGEZZDyR6FMvDKzzU7GrJVMboVC5w9jomx6pSOTzRBBF
	HIHBgxzNhiuJGir2P8ZV3iXp+wzqVaohODmOX9XCe3c8qPF0peasl0Hf
X-Gm-Gg: Acq92OGCVkVzpQ8YTvDg37r3LAAhrzIlwIwk/gOhmoCwr2ru0qGnVxCZf7Chv6fx2Hf
	6jrSEMP1BjueCkDFK0JnV2NQ9Q9GX/qA97BaNmox+Wn7LNZsOPR3cO8vuXYLH6N9gTBqIMUbIXC
	IUsA4Ym3KdwjP3Fki67SJYv0IU+YtJeUp2dM7nvsBaTywbxSI8Ea5cF4ZhEs80J4XegoBmC9fiK
	WRFYiVYn8bcFZRVYoyx+5KLqcEil00HPyH0sNAI3m268wIhUXtVk0ivQWhXzqM48Ki5Y0DXulZv
	UC3/X1iyMuZMoIQ9oIWUHXQlsntDrrnMvb7PBH4aXBBae8vH4VtcgmYqV2LWn08pqHxdwINRori
	C17ChEVS+tU+7XEmrM+YodCATwFjL0n8Vn8jfxB+m10Wfj4FcBsWyq7n6VJgsGa87EiOA8gqCdY
	6DyNOFBl3XbUlyqUARUzVw+iH25EpOJfD2ZdeqyWW0OSgvWQ7RIV+HtwvSrt3/1WIWiQcN/tIIp
	shxKCpvp374aEBP
X-Received: by 2002:a05:600c:c84:b0:48a:53cb:8604 with SMTP id 5b1f17b1804b1-490b0e9f45cmr65119975e9.14.1780413487026;
        Tue, 02 Jun 2026 08:18:07 -0700 (PDT)
Message-ID: <4f125442-e5ff-4f43-a30b-8aca8a6a04fe@gmail.com>
Date: Tue, 2 Jun 2026 17:18:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/efi: Use blexit() instead of BUG_ON() in
 read_file()
To: =?UTF-8?Q?Szymon_Aceda=C5=84ski?= <accek@invisiblethingslab.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: <20260602131737.2983084-1-accek@invisiblethingslab.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260602131737.2983084-1-accek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1780413487-21D6FC48-17C13567/10/73395122804
X-purgate-type: spam
X-purgate-size: 677



On 6/2/26 3:17 PM, Szymon AcedaÅ„ski wrote:
> Follow-up to 880e40b187aa, which added a BUG_ON() guard in read_file().
> 
> But as Jan pointed out, before ExitBootServices BUG_ON()
> is not functional. It results in a hang with no message.
> 
> On the other hand blexit() prints a message and returns back
> to the bootloader.
> 
> Fixes: 880e40b187aa ("xen/efi: Fix boot from a device without a file system")
> Reported-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Szymon AcedaÅ„ski <accek@invisiblethingslab.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 15:18:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 15:18:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325204.1590697 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUQsz-0001Vh-3t; Tue, 02 Jun 2026 15:18:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325204.1590697; Tue, 02 Jun 2026 15:18: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 1wUQsz-0001Va-1F; Tue, 02 Jun 2026 15:18:33 +0000
Received: by outflank-mailman (input) for mailman id 1325204;
 Tue, 02 Jun 2026 15:18:31 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUQsw-0001UB-Ui
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 15:18:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUQsw-003iOB-BX
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 17:18:30 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1ef43d-e002-0a2a0a5209dd-0a2a45038df0-16
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 17:18:30 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1ef446-672d-0a2a45030019-d155802ddc06-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 17:18:30 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-4905529b933so90481505e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 08:18:30 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490b0e0de7bsm63855895e9.3.2026.06.02.08.18.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 08:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780413510; x=1781018310; 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=1GYtoQ47HHvtPQamML1SW4ZLfM+uN2HxTVv+evuobLs=;
        b=O3/K2gQomBcE7NWdJAlXG2GhpI/cgncfetakG9QCBQ7pOB7Yb0SJCEsOZzSQKNoQY2
         tfnvle19sqJtV3CTrXel/0S9Qm/uLZlsz0T8YNOVqXqSh+zgn+uhAE6LpsDnS0IW5h+O
         llhP9XzWAFpe5yMsYoVuj3AKJZCm581XhdQD8KLLePoThrH6fZ+e0UpzXRqW1m6bdTHm
         yEiF1vwR/n0t90ONMMwNmVds171i2agQ6B7pbPOHPCygxoKRRIOabhSX3A3scvjacV8W
         1ofK9fS0QftpCAl8o/YDnMoFJFP3oaVGxL6igD1wfWEHrmjLcbplrZZ5Ffum1FcNIyFe
         SMqw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780413510; x=1781018310;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=1GYtoQ47HHvtPQamML1SW4ZLfM+uN2HxTVv+evuobLs=;
        b=VDvF6GxsPr+3p3jkv/e+mAiEXYWnzsRTDLpOVuRslMYrYsSt5nY9oYXRCBU59lNEJt
         +GJ5ZKji4iaR3zCzy70ZdZJwaBN6/84rQTFJxuryMELd9sfwvirkJdypEarAZ0lAZpSW
         iRbHcwve1ojXYqCJqyIE/B4bESvF/NrrvmK1j8dH0JeGObqP1xbXhkjZTItcEzRtXfwg
         0HHzi6A13Lfri9fbHWgT5RK6m0Kn1wOA3WGzAsTY8WgRZQ2I1+LaSHhF+F+k51vJ4d5/
         ZZP62vsmd8s1tDeBLaSKZMqsVTwF0O+OaeRFJ9W/H5uEhxP/XJatTLaphHqTdzZeW7Ys
         LHgQ==
X-Forwarded-Encrypted: i=1; AFNElJ+xu+A6e6AS/wlCbkZDzsHSuC/Zg2LlAHARMp6oRhFDTYUFVorouAGrpY2PdDFViDYPOKPM8CnXSEE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxNy0x8xQu6zWlBDGX5fcnL9mwbkEFA5z+OuSQWDyrpPJtwhsMX
	yxUbXQNQVmHtmMCgTWGQCtegVmsuLIpdcGm1Y6eEYADH0fFc9CNKLFeg
X-Gm-Gg: Acq92OGbQ+UYbfq0sN7ovpL7WvnTVMKVt5Pw6UDLNPfTRU9ebeehRKhSL166kwG8e61
	D/GvsA0PQWzyTafd68Asr8QqQeXjfjszvYYXFsOiLbGrXEVxPNMscF+0MZWT86/gviBirS1rOjR
	gPx+e1feoBkMnzkTD85Zuo49Yn/bJ3HZspUgv0W897s2HeP1O7hjlBBM9J7kvqEfehCLIdM71U1
	914RVvsKdIOZzbjzxjiqVmf/Sk7RHAF5yeZYxBweE7/IqTCBBSGwnwJwmlAXFvcKm06WsYqQYe3
	EhunwwWmmAATCb8mjQeQMabsSCNGVve7GmbH4eneOqWgPpBxpTnnQoagNJuO6+qfZg3TWHwATPh
	XGtml3hq4Njtkfbmz1Y5E9IdF0Ch19Tn4NdOGs9//RNkS2wL5ZqfFVI7R7icRXUOpKaNYXRwL4M
	HzSGW/9J+LCIhGSFElwatjLRR2PMh92zgQt0SJn7AdZ9Is5mnoy1LpdforZ9y9+SMTkKLnOHNU7
	+GqDiWSoDcVsul+
X-Received: by 2002:a05:600c:1d0f:b0:490:a2dc:1612 with SMTP id 5b1f17b1804b1-490b5058804mr3064695e9.10.1780413509580;
        Tue, 02 Jun 2026 08:18:29 -0700 (PDT)
Message-ID: <9ca49af6-a7d3-4c08-98ea-df864d5da1ca@gmail.com>
Date: Tue, 2 Jun 2026 17:18:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] x86/PV: drop a local variable from
 pv_emulate_gate_op()
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>,
 Teddy Astie <teddy.astie@vates.tech>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <a8a84f5b-05b9-4038-807c-8151cc705583@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <a8a84f5b-05b9-4038-807c-8151cc705583@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1780413510-3B360938-99628763/10/73395122804
X-purgate-type: spam
X-purgate-size: 984



On 6/2/26 3:52 PM, Jan Beulich wrote:
> The inner "rc" shadows the function scope one, thus violating Misra C:2012
> rule 5.3 ("An identifier declared in an inner scope shall not hide an
> identifier declared in an outer scope"). Drop the inner variable, as
> there's no other (later) use of the value it holds.
> 
> No difference in generated code.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> v3: Use alternative approach.
> v2: Re-base.
> 
> --- unstable.orig/xen/arch/x86/pv/emul-gate-op.c	2026-06-02 15:15:17.960392177 +0200
> +++ unstable/xen/arch/x86/pv/emul-gate-op.c	2026-06-02 15:40:58.000000000 +0200
> @@ -287,7 +287,6 @@ void pv_emulate_gate_op(struct cpu_user_
>       {
>           unsigned int ss, esp, *stkp;
>           uint32_t value;
> -        int rc;
>   #define push(item) do \
>           { \
>               value = (item); \

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 15:21:59 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 15:21:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325213.1590707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUQwG-00035Y-JB; Tue, 02 Jun 2026 15:21:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325213.1590707; Tue, 02 Jun 2026 15: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 1wUQwG-00035R-FY; Tue, 02 Jun 2026 15:21:56 +0000
Received: by outflank-mailman (input) for mailman id 1325213;
 Tue, 02 Jun 2026 15:21:55 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUQwF-00035K-GC
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 15:21:55 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUQwE-008hSZ-Eq
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 17:21:54 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1ef512-bab6-0a2a0a5309dd-0a2a450b9efc-2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 17:21:54 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1ef512-212f-0a2a450b0019-d1558034e956-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 17:21:54 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-490aebf33e9so11130025e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 08:21:54 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4909c1035ebsm162878295e9.5.2026.06.02.08.21.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 08:21: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780413714; x=1781018514; 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=4fGuzSM1duAm10WbI6xI5JDK7TXHdqiR+Wu0yDEysX0=;
        b=qiFKhplIAR/6NlttdZKr9O5+wrAt1yh4+vC1Zk4bOndTOD++Zh8ReQCjKFvKXrH58K
         1fQuzSj11xjrKRiIyeEDe3puUMrqcQll3gRVF7Ra9uMwa1u5wgWwTi2n9i7F0BNwVMHP
         K36kF6tnslEyNytMgTc4ph7mKqtWAO5/pw++9Y40zYi6yNHLmqtMbEb7lSw2ryh3pypj
         HDOwz5rB58pZq/chGDzYdQuN9UplAYu3gwduHuuZbeyVBsCBbda1j2AswSeONcVKevHZ
         EUnq2p31CQCnnPpyP+8aWQLUfJ5cR2NSXoB53eXcGLaEzStKw8k8945N1pm0RvmvM+gL
         YCaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780413714; x=1781018514;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=4fGuzSM1duAm10WbI6xI5JDK7TXHdqiR+Wu0yDEysX0=;
        b=GOAhrNrZpJyt3H4luh1amRnThI6Tsi5JO6Yj//YDZq9+RKGJKL5bWpvlol6FliQLez
         Y1Vo6yCFeu3zYGcYRrx3756EJMulTSFSFBDboVlLvNSGohqKOoZrZRXBVbBqRdGruG+U
         2zm6wTYDwTDN/OJn6Njc7hKrXGXPI33WfmrDv0dTnIYKBgIIaBEobLH0bBhpRuVruifr
         H40DOGBHiL9EFaAxALh9HdmbAmvLCe6zCsWDCXD0/u2g306qgLYXWUYZnYWqIX/HFDe1
         vIb9/39Hn1lshggdAp46/NfVDxA+GSIhPAoz8its/MQYVLjL9LvxiMx1DAe7sqtpwJyp
         NWzg==
X-Forwarded-Encrypted: i=1; AFNElJ/rYSyFcYvnUgVt1QyWH9VktGQLQ4R5SKKu3rlqs/1lgc07sv+7BKEwRVX4/+UIt2oU4e3lXC6cVho=@lists.xenproject.org
X-Gm-Message-State: AOJu0YySJJybk/RvDjNyVynTyQbbIca1BM5po4vxPycHUog7FpYFVil/
	WlgSkQMFwP8DwLU/0+PAb5vLIeaiV7buNIgx0uJ3j9gx9j2wPP9C5KmU
X-Gm-Gg: Acq92OEMm02lxMhlMhsIVXgkgCIVvLie2qkLB95zdkV2yX2cXKCzqdAdQszE1m61MPt
	oYfJmi5q6ZRTpP+W3E0oRFo5X2hfm52rwvvS2irBfhPYUSh5QL/C97DCHDKPZuUx1zQDI6mYdCy
	liIr44Q9Mj1wYbBG0r5LR2QW51R/Xg/bhAAaBtihu3GYT0RNQNd8kvggxhsSPZCnTFNq+p2N39T
	jjJ47izPnbaCi3UqYeOwUVFuAOyrGb56O0e4CltluTpnccTnTOy0KBjCZDmHslKIaeUOWDOlGkv
	sq2WnArNxqzm9R0BAIWUwpUkYuYgkChrOMiabhAo92o8KTg7ZWsg1r0YP7Rc69BMTLWwQ6oDoel
	Mh52XIEtfR+H0kQlJXLA3qdqeBDTXQB8beb7TAxo7yfypxt5d7gyvVz96g/VV0+fI/8eU2zozvd
	n4XJ85RxxZ49jvNld7jyqQjvMMH1494DhW4OWqqCYlUfFTdPuO/xIObTlToKc/xmLrCiNWIi5Na
	CjoURBRqaqyr1A8/CX1pDy2pL0=
X-Received: by 2002:a05:600c:348c:b0:490:45bb:8dd9 with SMTP id 5b1f17b1804b1-490b506a773mr3813005e9.8.1780413713554;
        Tue, 02 Jun 2026 08:21:53 -0700 (PDT)
Message-ID: <59f901aa-a3dc-4704-a1d2-93a2f8f67cc6@gmail.com>
Date: Tue, 2 Jun 2026 17:21:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/3] xen/riscv: fix switch_stack_and_jump() for range
 beyond 1M
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Alistair Francis <alistair.francis@wdc.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>,
 Baptiste Le Duc <baptiste.le-duc@vates.tech>
References: <cover.1779712171.git.oleksii.kurochko@gmail.com>
 <21bc40d4a09bb4cfe0999430ea7e65b369fd4033.1779712171.git.oleksii.kurochko@gmail.com>
 <9ada8585-9c93-4212-9184-9babc566eebd@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <9ada8585-9c93-4212-9184-9babc566eebd@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1780413714-12573F3B-FE9749FF/10/73395122804
X-purgate-type: spam
X-purgate-size: 2561



On 6/2/26 1:21 PM, Andrew Cooper wrote:
> On 25/05/2026 2:20 pm, Oleksii Kurochko wrote:
>> The `j` instruction (JAL x0) used in switch_stack_and_jump() is a
>> J-type instruction with only a Â±1MB range, and that this can
>> be exceeded in some configurations, causing a linker error:
>>
>>    relocation truncated to fit: R_RISCV_JAL against `<symbol>'
>>
>> Replace `j` with `jr` (JALR x0) via an explicit register, which has
>> unlimited range.
>>
>> Found in a downstream branch when UBSAN instrumentation was enabled.
>>
>> Note that the `tail` instruction looks more natural here, but `jr` is
>> chosen instead to avoid depending on how the assembler expands `tail`
>> and which scratch register it uses (`t1` in GAS), which would need to
>> be listed in the clobber section of `asm volatile`.
>>
>> Fixes: e66003e7be199 ("xen/riscv: introduce setup_initial_pages")
>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> Reviewed-by: Baptiste Le Duc <baptiste.le-duc@vates.tech>
>> ---
>> Changes in v2:
>>   - Update the commit message and subject
>> ---
>>   xen/arch/riscv/include/asm/current.h | 10 +++++-----
>>   1 file changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/xen/arch/riscv/include/asm/current.h b/xen/arch/riscv/include/asm/current.h
>> index 5fbee8182caa..cc004670d18c 100644
>> --- a/xen/arch/riscv/include/asm/current.h
>> +++ b/xen/arch/riscv/include/asm/current.h
>> @@ -51,11 +51,11 @@ DECLARE_PER_CPU(struct vcpu *, curr_vcpu);
>>   #define vcpu_guest_cpu_user_regs(vcpu) \
>>       (&(vcpu)->arch.cpu_info->guest_cpu_user_regs)
>>   
>> -#define switch_stack_and_jump(stack, fn) do {               \
>> -    asm volatile (                                          \
>> -            "mv sp, %0\n"                                   \
>> -            "j " #fn :: "r" (stack), "X" (fn) : "memory" ); \
>> -    unreachable();                                          \
>> +#define switch_stack_and_jump(stack, fn) do {                    \
>> +    asm volatile (                                               \
>> +            "mv sp, %0\n"                                        \
>> +            "jr %1" :: "r" (stack), "r" (fn) : "memory" );       \
>> +    unreachable();                                               \
>>   } while ( false )
> 
> Just as a note, with this simplified again, the \'s can avoid moving, at
> which point the diff becomes a single line.
> 
> Can be fixed on commit.

I would be happy with that.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 15:57:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 15:57:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325229.1590716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wURUi-0007pd-9U; Tue, 02 Jun 2026 15:57:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325229.1590716; Tue, 02 Jun 2026 15:57: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 1wURUi-0007pW-6X; Tue, 02 Jun 2026 15:57:32 +0000
Received: by outflank-mailman (input) for mailman id 1325229;
 Tue, 02 Jun 2026 15:57:30 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wURUg-0007pP-So
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 15:57:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wURUf-004FkR-7g
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 17:57:29 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1efd37-bab6-0a2a0a5309dd-0a2a450682de-36
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 17:57:29 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1efd68-7371-0a2a45060019-d1558031e57f-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 17:57:28 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490b4a8e28bso2260005e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 08:57:28 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490b0e20a76sm71446015e9.4.2026.06.02.08.57.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 08:57:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780415848; x=1781020648; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=cMx8yEFH6S2n7qOs9P64MXib2huJ3gAjAjLaDYQUGNw=;
        b=O8WaJzGH9VUlYn/IkHtsvY0qd//BkkTv7JqHPzhQsAG7zDnH+6JlZz3HvTvWji5H3I
         uhvy22RH/QH8yhRgiQ9owP9Ud+5gl2IFWEjFJ9z1VV2tFbUjKbDcCUvP+UInBp1B0Pt8
         A2So3tY0/6jSeu4o/+x6ijmstGvB9AMn8LrvEt8FemI1ElEZj+fjuPMNV52jTK+8fkTR
         Zd7nmLucbxg+O4mNy/G7SEEmALjsDaaLZpHLsYvQVWnXSc5zCtJOZVgI0X3yfOLMKfws
         J2Icmi6KDN0VY3yHShMX8rPTx0NRf0dm3KXpsmJlGpEEV6Y8CybGbv3uHTERr1E/kW02
         5DXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780415848; x=1781020648;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cMx8yEFH6S2n7qOs9P64MXib2huJ3gAjAjLaDYQUGNw=;
        b=bjMw3p3JfW9zg+xrwRf/OfFED66f9D1dNYLFIBgYvvjEAo7Z3VIWSslOKCpLQ2lR+V
         KcEsKtfw8VNWV7hjwWtHDB6ri0T891/8CnkfykNVhtZy7RstvOrBRA+GGLi72jHHIldd
         JGzJYLdoGhUxCYNbBj6Y7zA8ZR/MdxItslSskQp+22wmyiw/oxaBUpCF2S9Nq6TL9Jdq
         arYn9wXdmWEZ6ECy5A7QNyfAmKCu3WophFzF+7xebsgKsVvxUpLh752fnPpHH8nx4wHv
         eLGlII3Db+pEy8/CHZMEHsodbY0p8DJ/LgcAvbdmusgJpKFEO/FkIDRx2K2+T0SvEGvB
         hY2Q==
X-Forwarded-Encrypted: i=1; AFNElJ+UlXynZj1OLjibRpCjZqekFeMjQ2xT2fa/mHl2acNVs4+mrUElUFRFbpF9hS0Jf4rr9NhTdnuV9CE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzJrbrLJtMJeUid/BbUQIXAu+Ecw57nU6/S8oj3lsZHbCaD9wTw
	nR6khD/ckgvEF8j18LXhHiXaXhmlY5j6lLg8I6Gnxje8QcJLlN5ozqzR6SpFJ7a4bg==
X-Gm-Gg: Acq92OGzznwIJmGzkL/qm3kcOD/g39PJrqKcUIIysh/mlorEAlkmE+jo8ABvcr6lK/f
	z829KIuDvPX5XQ+mO0iWfYPOP3TJO4K8GBHh77a68NT/7V69brBMM+102fuQvXk/YywHb8uXymI
	M/tXKmdWxjgpjYRgtd+olAIGOXHQ+sISBolBawOLWBD+LnOFZT6l1eV4uPjSEKrHvaCPNIFxKRI
	JnpvSJ7SwLahU9jhLWNnfMqo5qqEYEQnOp7mLWJCA+cgPPEveDw4b7n18qTcntnajUMc0xtU2+X
	bz7IDw129fgf5XWf1D85F389iIVXptmDM6uHhWI9r3yd7sETDvM8LRzrE0MHIw9iOmTzzewQHCI
	cImu6UtKqWkWtOVs08N2LeKwXMpme0j5CwX0Pscxy4Rl8u9thV/yR0+FzmD9ne4Wo6wLPm7JlBn
	ziNvUrs6ngoW4ElZgWustkLqkM29nTQYAzxC+mgQd5MG4OQQ7OhsXtph3RJTr8AONMEsTXVcGyQ
	aBwT34KtucBzeN0dAUV+Ug5Eg==
X-Received: by 2002:a05:600c:348c:b0:490:45bb:8dd9 with SMTP id 5b1f17b1804b1-490b506a773mr6650275e9.8.1780415848398;
        Tue, 02 Jun 2026 08:57:28 -0700 (PDT)
Message-ID: <528ca4ba-7b3d-4cff-b05a-5b9307f5604a@suse.com>
Date: Tue, 2 Jun 2026 17:57:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] xen/mm: reset PFN_ORDER for offlined buddy heads
To: Bernhard Kaindl <bernhard.kaindl@citrix.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: <cover.1779980244.git.bernhard.kaindl@citrix.com>
 <9ffee13184b4499218fc80544bd3ee1a06aa2898.1779980244.git.bernhard.kaindl@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: <9ffee13184b4499218fc80544bd3ee1a06aa2898.1779980244.git.bernhard.kaindl@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1780415849-8CC78D75-59BD2085/0/0
X-purgate-type: clean
X-purgate-size: 1161

On 28.05.2026 16:58, Bernhard Kaindl wrote:
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -1485,6 +1485,13 @@ static int reserve_offlined_page(struct page_info *head)
>          ASSERT(node_avail_pages[node] > 0);
>          node_avail_pages[node]--;
>  
> +        /*
> +         * All offlined pages are standalone pages: If this offlined page was
> +         * the head of a higher-order buddy, we need to reset its order to 0:
> +         */
> +        if ( cur_head == head && head_order != 0 )
> +            PFN_ORDER(cur_head) = 0;
> +
>          page_list_add_tail(cur_head,
>                             test_bit(_PGC_broken, &cur_head->count_info) ?
>                             &page_broken_list : &page_offlined_list);

Again, with this separated from and moved ahead of the new test:
Reviewed-by: Jan Beulich <jbeulich@suse.com>
I'd suggest to drop the rhs of the && though: There's nothing wrong with storing
0 when the field already is 0. I actually wonder whether the if() is needed at
all. Unconditionally storing 0 is going to make the code more robust against
future changes elsewhere.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 16:11:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 16:11:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325235.1590724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wURi3-0002lj-Ct; Tue, 02 Jun 2026 16:11:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325235.1590724; Tue, 02 Jun 2026 16:11: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 1wURi3-0002lc-AG; Tue, 02 Jun 2026 16:11:19 +0000
Received: by outflank-mailman (input) for mailman id 1325235;
 Tue, 02 Jun 2026 16:11:17 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wURi1-0002lQ-ET
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 16:11:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wURi0-00CobM-CX
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 18:11:16 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1f007f-2eae-0a2a0a5409dd-0a2a45028210-42
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 18:11:16 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1f00a4-af86-0a2a45020019-d1558031b049-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 18:11:16 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490afc47455so8585665e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 09:11:16 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490b5625d03sm535185e9.2.2026.06.02.09.11.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 09:11: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780416676; x=1781021476; 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=kZCWKpFU0Slsi/y/84Q91F1zdbL72w77c1tDe5aTnAk=;
        b=Itr5d8doOU1zlYZGh5rALEhEEcOpqurMueVeoXTT6BLfbY4MzC6OwDAX17Uee1Zg8P
         QVV27A9+F6A36kOYLrmsMhP7umrI9iJtx5BOGpV0GageGgyoVv01bMzKr6yDiUZX3uK0
         HxpeX7L22BVM0Lv54OGYD5mMQc3bGevpDZGVZPI+v2dYl2pG73+91FhZiktHK8fzQrmw
         QlJdVa4d5sr7FzVD0svQw32+UcXqaA71dmI1LL3tGT5OYnLkt/zqjDIBNz3BKaaA9whQ
         6ScDZokhbLSI9HcS977vWRKvmCpYZ8JPNj2V+TwZ5xrM7z/a3muQMDxD1kEaeTYbo+mJ
         OxwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780416676; x=1781021476;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=kZCWKpFU0Slsi/y/84Q91F1zdbL72w77c1tDe5aTnAk=;
        b=fPr5Qi5Wi8vbq9BlZzKvS7diVX3ln3J1nkw0F+jbgt2ZEv4iQnRjG3yEChbmiazf9C
         7bC5Z7BA3zwCx1GChx8thKAxJVHMUKUsDA7oI1IPngaWXXlXKJnQ36NwuqOc1bMIIABD
         GgSypDi3TntsKIkRFs2hJM5al2Yg8iv24xEr9GGDgoYmhLYNCW8/FHP0A5lVKpuJ2fKz
         leR2m2ctuwuSHPAaBjIAH108t9kW0YHPlhfMdVRy/tHNOjwiAx1PJ6hcNmo0oIOrNcYF
         IN34wuqV3iQ/zZJLd/WpA+qT12RIPgRMn6gTWKywUJl+ab3QoXM9JumF7+rRHct1bn9+
         3Igg==
X-Forwarded-Encrypted: i=1; AFNElJ8HSmp7FPq7pINxO4JAGAXysvfigO4nPwI4wF+31APq3s/qpZH8CvzbRHsOD2cZW8wIxql2Mi+fMqQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxN0zO+oYHCKBOkmXA97BJ5Ckm5gv/3eg18sygHerkvkU7LgihT
	JXGWhfSBomC80d+gkkIY0vYfULxZzvkaooe/mDfd/ZQLkXOj3Zj2nRl8
X-Gm-Gg: Acq92OHakjVLL2jOlH0b3rkR4aasXY8OjmSezM1BgcFdI+UPjO45s+7LOxNAj1PZaRw
	InIj+QNkdZwAa/wzHHOxvfDZfx7Lycry+wHScV+yoxTLm2DuByiIOwZm6oavJvDIRjIlTLTa/sw
	vXQYcHYudb6nTKA8OKhldKhXaK7exvUGXrTT7Z1JcqXx1MYI5O0fSi0okGS27fpI9+Iid+VIE7v
	4hjRgYLps7jLoWN6rG1TFkNKT2i18dTbyyRcCmriSCeJo3xtOygGNRyRMuuK3ZW7WEhIxY+BILQ
	4jI347AzY8m0JGBcpS3ZtBM3/vFN+Py0DiVM6UgbZXufeF7oOcHo1bUmPnsQ4CS1JpqqtYgDMkx
	wyjuBlVDw439+LWWtkE6dp7VXu5ztfqHm2Pr5+pe1rY3zEq85gPKssEWLFr6fW4OeU+7mWYY51L
	Oa2FrAPkMHpJULgu1wBDuUWP5l5oOjLolkhUeiK6o/4tDV28QL9Ufj9HRo0mvaPzUEPBXYqDfDy
	qZeSGWtifK80rIWZTaMLPyy5iU=
X-Received: by 2002:a05:600c:3b14:b0:490:44eb:c1e0 with SMTP id 5b1f17b1804b1-490b50a3657mr6553975e9.21.1780416675411;
        Tue, 02 Jun 2026 09:11:15 -0700 (PDT)
Message-ID: <fb1b1194-5855-49d9-99fc-d35a3038833c@gmail.com>
Date: Tue, 2 Jun 2026 18:11:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] xen/domain: fix UBSAN null pointer dereference of
 d->shared_info
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: <cover.1779712171.git.oleksii.kurochko@gmail.com>
 <04dd784b6b9a4dfca9a313ea8802d8d514d65021.1779712171.git.oleksii.kurochko@gmail.com>
 <3aef7763-aea3-496a-8c18-d3659f590373@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <3aef7763-aea3-496a-8c18-d3659f590373@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1780416676-B0979161-281B9044/10/73395122804
X-purgate-type: spam
X-purgate-size: 6292



On 6/2/26 1:19 PM, Jan Beulich wrote:
> On 25.05.2026 15:20, Oleksii Kurochko wrote:
>> It is legal to have d->shared_info equal to NULL for architectures which
>> support only the FIFO ABI for event channel management.
>>
>> Having d->shared_info == NULL leads to a UBSAN issue on such architectures:
>>    UBSAN: Undefined behaviour in common/domain.c:325:10
>>           member access within null pointer of type 'struct shared_info_t'
>>
>> vcpu_info_reset() maps v->vcpu_info_area.map to the per-vcpu slot inside
>> the domain's shared_info page for vcpus with id < XEN_LEGACY_MAX_VCPUS,
>> and falls back to dummy_vcpu_info for vcpus beyond that limit.
>> Extend the existing fallback condition to also cover the case where no
>> shared_info page has been allocated, mapping the vcpu to dummy_vcpu_info
>> instead. This is the correct behaviour: dummy_vcpu_info already serves
>> as the safe stand-in for vcpus that have no usable shared_info slot.
>>
>> Additionally, if an architecture supports only the FIFO ABI, setup_ports()
>> should be updated to avoid a NULL pointer dereference of d->shared_info,
>> since in that case there will be no pending events in
>> shared_info->evtchn_pending and the pending flag of the FIFO event channel
>> does not need to be set to true.
>> update_domain_wallclock_time() accesses d->shared_info via shared_info()
>> macro. On architectures that do not allocate a shared_info page (currently
>> RISC-V, which runs guests in dom0less mode without the PV ABI), this causes
>> a NULL dereference. The early return is safe: if there is no shared_info
>> page, there is nothing to update. For all existing architectures (x86, ARM)
>> that do allocate it, the guard is never taken and behavior is unchanged.
>>
>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> ---
>> Changes in v2:
>>   - Update commit message + subject.
>>   - Drop Fixes tag.
>>   - Handle migration of pending events from 2L and FIFO ABIs when arch
>>     support only FIFO ABI.
> 
> What does this item describe? On an arch supporting only FIFO, how could
> evtchn need migrating from 2L?

Agree this item is inaccurate.

evtchn_init() always calls evtchn_2l_init(d) first 
(event_channel.c:1627), so every domain starts with 2L regardless of 
arch (of course, it is just initialization of evtchn_port_ops which 
aren't really used when only FIFO is supported).

setup_ports() is called during the guest-initiated 2Lâ†’FIFO transition 
(event_fifo.c:637), not at arch init time. There is no arch that 
supports "only FIFO" as a starting state and that is why it is needed to 
guard setup_ports() against NULL d->shared_info when migrating 2L 
pending state to FIFO even 2L wasn't really used by an arch with only 
FIFO support.

I Will drop this item to not confuse.

> 
>>   - Update the commit message.
>>   - Protect some other places in common code from NULL pointer deref of
>>     d->shared_info.
> 
> What I'm still missing is the description clarifying why other uses don't
> need guarding (or that there simply are no other uses, which - however -
> I doubt).

I will add an explicit paragraph mentioning that the 2L ops in 
event_2l.c are unreachable for a domain with no shared_info.

The only place which isn't covered now is  domctl.c:108 
(virt_to_mfn(d->shared_info)) is only reached via the 
XEN_DOMCTL_getdomaininfo path and
as RISC-V doesn't use it now it could be left as it is what also could 
be added to commit message.

> 
>> --- a/xen/common/domain.c
>> +++ b/xen/common/domain.c
>> @@ -320,7 +320,7 @@ void vcpu_info_reset(struct vcpu *v)
>>       struct domain *d = v->domain;
>>   
>>       v->vcpu_info_area.map =
>> -        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS)
>> +        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS && d->shared_info)
>>            ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>>            : &dummy_vcpu_info);
>>   }
> 
> At the example of this: The extra conditionals are dead code on x86 and
> Arm. While the status of the respective Misra rule is still uncertain
> for Xen, imo we'd be better off avoiding the introduction of new dead
> code. Which in turn means we may need some kind of abstraction to have
> these extra conditionals in place only for arch-es not supporting
> shared-info at all.

What about then add config HAS_SHARED_INFO to xen/common/Kconfig and then:

diff --git a/xen/common/domain.c b/xen/common/domain.c
index e64b7df9b704..58442ce1f952 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -319,10 +319,14 @@ void vcpu_info_reset(struct vcpu *v)
  {
      struct domain *d = v->domain;

+#ifdef CONFIG_HAS_SHARED_INFO
      v->vcpu_info_area.map =
-        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS && d->shared_info)
-         ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
-         : &dummy_vcpu_info);
+        (v->vcpu_id < XEN_LEGACY_MAX_VCPUS)
+        ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
+        : &dummy_vcpu_info;
+#else
+    v->vcpu_info_area.map = &dummy_vcpu_info;
+#endif
  }

  static struct domain *alloc_domain_struct(void)
diff --git a/xen/common/event_fifo.c b/xen/common/event_fifo.c
index 59d9bf4c7ec0..3d7104100f0b 100644
--- a/xen/common/event_fifo.c
+++ b/xen/common/event_fifo.c
@@ -562,9 +562,10 @@ static void setup_ports(struct domain *d, unsigned 
int prev_evtchns)

          evtchn = evtchn_from_port(d, port);

-        if ( d->shared_info &&
-             guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
+#ifdef CONFIG_HAS_SHARED_INFO
+        if ( guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
              evtchn->pending = true;
+#endif

          evtchn_fifo_set_priority(d, evtchn, EVTCHN_FIFO_PRIORITY_DEFAULT);
      }
diff --git a/xen/common/time.c b/xen/common/time.c
index 1ee49a8b0d13..da8403949102 100644
--- a/xen/common/time.c
+++ b/xen/common/time.c
@@ -94,8 +94,9 @@ void update_domain_wallclock_time(struct domain *d)
      uint32_t *wc_version;
      uint64_t sec;

-    if ( !d->shared_info )
-        return;
+#ifndef CONFIG_HAS_SHARED_INFO
+    return;
+#endif

      spin_lock(&wc_lock);

Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 16:14:01 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 16:14:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325244.1590733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wURkd-0003R2-Ow; Tue, 02 Jun 2026 16:13:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325244.1590733; Tue, 02 Jun 2026 16: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 1wURkd-0003Qv-LW; Tue, 02 Jun 2026 16:13:59 +0000
Received: by outflank-mailman (input) for mailman id 1325244;
 Tue, 02 Jun 2026 16:13:58 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Zhao.Jiaqing@amd.com>) id 1wURkb-0003Qo-VI
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 16:13:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wURkb-00FG85-Bs
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 18:13:57 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a1f012c-e002-0a2a0a5209dd-0a2a4503dd8a-40
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 18:13:56 +0200
Received: from [52.101.61.4]
 (helo=DM1PR04CU001.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a1f0143-672d-0a2a45030019-34653d04d8fb-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 18:13:56 +0200
Received: from PH0PR07CA0089.namprd07.prod.outlook.com (2603:10b6:510:f::34)
 by DM3PR12MB9436.namprd12.prod.outlook.com (2603:10b6:8:1af::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Tue, 2 Jun 2026
 16:13:51 +0000
Received: from SN1PEPF000397B0.namprd05.prod.outlook.com
 (2603:10b6:510:f:cafe::a4) by PH0PR07CA0089.outlook.office365.com
 (2603:10b6:510:f::34) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Tue, 2
 Jun 2026 16:13:51 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SN1PEPF000397B0.mail.protection.outlook.com (10.167.248.54) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Tue, 2 Jun 2026 16:13:51 +0000
Received: from zjiaqing-dev.amd.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 2 Jun
 2026 11:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=CEC+S1LnzucJm+jsTMOqmzS4bH6by/5g4MttIT7+sFD0R/3ZBOH4ljU7BtJxWseCB/R8BvoJNDrO1xBg2J9X7aqo12WFlRsUrPoeTTCn72kx3S6ZQblKcKIj5CkMdm45nvXHXw50OY9KQtCi16KhKqLOYrwyZOfXIMjaEsYuI8901gnXOPXEwp+Ba79D/9Ag8YO4dn2z8rc4QEG/szsZKat+6h2AtuhO5/oTteWo7Z3N2TGqgTaSV0l9ZiH9QUqMRecta5svXKQyJ2MMU1NYtYwBy71Q270BlqdCVYy/Cf5bERSDo0lyDKcu1nC3+VEEjs2xU9/lNlcRbV38xvuycg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/5wjExFgrECeZXo0LIdaPSLBa1YW2XcC2RuGP6B0jas=;
 b=pkjSGwVkDZ/R5fwkNfI33BwxtC92RvhKI/YdB1ps8ufM9Fdx+81Xrh0iLhOFiPlRwGB5QbDar2CG6/Cve3MWHAWLj/UXcpgkB1hf7RwPZnRRRgZvCceAZ6b5K9xYNoniMmrEWbB5JM2aVYqNtmfpRTTMdH2M7jG492qv5uDqdWnVqphh2dv+ghO+iyNNmO9gt1Oqnsr6kT5+E4Q5kNcyDIhpnh72bzQCnIXzmb2q9mua0bCqDin9TWUMoQMSUMGVFxHh079wDc9e0FEAQ1tejM60iL3HOq0aRi3aAvKO9kTNxj14CFgmc7YRxMCPGzw/yBi39Mid0tTv/n7e5v0TOQ==
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=/5wjExFgrECeZXo0LIdaPSLBa1YW2XcC2RuGP6B0jas=;
 b=Czcyq1sKF3oj7ijx2aN+4bqlJj/cKSmmlL2GLqO8iPVKFZVp4a0KnJNw83bOejItHWn519HYDHZk/qwGyUZoKH7mni22hhNZ2slb3HZDLaKsBvf760WF1t5nG2AKPRdVZpOojqTP4GRXzCVKQ6s7YU1uGXkUuTjS698cZFOUefo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Michal Orzel <michal.orzel@amd.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Jiaqing Zhao <Zhao.Jiaqing@amd.com>
Subject: [PATCH v5 1/3] ns16550: properly initialize booleans in uart_param[]
Date: Wed, 3 Jun 2026 00:13:20 +0800
Message-ID: <20260602161322.1039349-2-Zhao.Jiaqing@amd.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260602161322.1039349-1-Zhao.Jiaqing@amd.com>
References: <20260602161322.1039349-1-Zhao.Jiaqing@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF000397B0:EE_|DM3PR12MB9436:EE_
X-MS-Office365-Filtering-Correlation-Id: d3d5cf7b-8e04-405e-f307-08dec0c1ef85
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700016|82310400026|376014|18002099003|11063799006|22082099003|56012099006;
X-Microsoft-Antispam-Message-Info:
	p1PomzSsby15stbCKIWzrBKMl33iPhJ5lrWDFyEVX2FKoiF/neQFaDjl6S30TpcjKBbJaFmqKIiMqsTUKTHlq1X+5Y9mKXZTUh0F6guVeyzt0vYUPNMDpMZx1Tnu7qrx7rMfIr0XDw+alrpFN5hjUHx8bLof8upm3fs2UI9L21j+svqAXNKchuIgWxMpIEQVqWOK3NW7dO/zRjpk3/5uua77enV0Io6e96GycoUixyp9ZO7LLp/Wgs3SunJFugMF2OjF4WeC438pbwAaF7ZCN61SZ2KdFuFY/Pisvldb9nB2QN7/rkAyg5fcRuJrhqZXu+usbOE2taj8SmuUw0wg5jb1p4O7z4E2hC/l+lE4IHi7D3O+YvQOCKRUJT+7yCiLA8JhIpmI2lLiVu6p68e0RPFDZbmaUjU1M2c9e06GGfN8CWLkRpslKcPfW/BRbQ+LiQL7rvO4MVsW7maptEjKEDFTyD7mQZOHZPNquI7ns6Fz9odJUcvHgLtjlGY+AeblI/FfKvDpD8ANO7ocTEO8nCso8LDFYr7cHug5acBzLvHzTYw/LYmGvLSPAJ651EFJlAAkGbrZHQ6ltqOHNBCuTOPk1463DrqHHJsWM639pjSTS3po2hLn7PLc/01a5wdBayuxAwrYfKcFVTipj+CnY1WWNmnRk57l3OLAlNxtRrx1DTXw0/xK4IeXH8rP+FXYmPGay5HMDiwuMkU9khlgcpc+OuiTnYCsesz1cjnb1nw=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700016)(82310400026)(376014)(18002099003)(11063799006)(22082099003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	t512x3lGK5WudAovyL7kdJG9qQnLEIXopT6ppQY20fS/6o/hUOuOF+vbJdH+FGzpJZKlIe0GncAwdUD4aXtvsgK8u/YtfuOgcVOcRs/exXAV7aRriIExGEgW7FEU3P6HSp5VMNDkMZy6+k+chPvXStFqFaMBZH9MXJN7tGFSc5bdSonvB+8+dkyXuLCHdKJQQXaLluNFvGQWTtqcoA1psEPSvH23/FNC01rMpJdwLro7ZW9Y5bxRLv+1eaVE4EJaFp8AXwcdOoexH8tTWGZ46q0ZDINKA9FzJYme6EY86nuHcdauxyGoOa3E47tD585uuLAxLX27I/yNhYcNGZPjAToZfQe7nN4R/x1HVnsSaUQA0gXnKiFZFL5oliajBYZ6bEdVmBxgW0HKvIPYl6sqZbT9WGUo1t/TwtH1BgKNWgWbRwfonhH7ZbnqtlVdsnr2
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 16:13:51.2304
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d3d5cf7b-8e04-405e-f307-08dec0c1ef85
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF000397B0.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR12MB9436
X-purgate-ID: tlsNG-33051d/1780416836-36547938-6C50B3FA/0/0
X-purgate-type: clean
X-purgate-size: 3928

.bar0 and .mmio in struct ns16550_config_param are booleans, hence they
should be initialized with "true", not "1". No functional change.

Signed-off-by: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
---
 xen/drivers/char/ns16550.c | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 878da27f2e..ed4e29ec25 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -758,7 +758,7 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 16,
         .lsr_mask = (UART_LSR_THRE | UART_LSR_TEMT),
-        .mmio = 1,
+        .mmio = true,
         .max_ports = 1,
     },
     [param_oxford] = {
@@ -768,7 +768,7 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 16,
         .lsr_mask = UART_LSR_THRE,
-        .mmio = 1,
+        .mmio = true,
         .max_ports = 1, /* It can do more, but we would need more custom code.*/
     },
     [param_oxford_2port] = {
@@ -778,7 +778,7 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 16,
         .lsr_mask = UART_LSR_THRE,
-        .mmio = 1,
+        .mmio = true,
         .max_ports = 2,
     },
     [param_pericom_1port] = {
@@ -787,7 +787,7 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 16,
         .lsr_mask = UART_LSR_THRE,
-        .bar0 = 1,
+        .bar0 = true,
         .max_ports = 1,
     },
     [param_pericom_2port] = {
@@ -796,7 +796,7 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 16,
         .lsr_mask = UART_LSR_THRE,
-        .bar0 = 1,
+        .bar0 = true,
         .max_ports = 2,
     },
     /*
@@ -809,7 +809,7 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 16,
         .lsr_mask = UART_LSR_THRE,
-        .bar0 = 1,
+        .bar0 = true,
         .max_ports = 4,
     },
     [param_pericom_8port] = {
@@ -818,7 +818,7 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 16,
         .lsr_mask = UART_LSR_THRE,
-        .bar0 = 1,
+        .bar0 = true,
         .max_ports = 8,
     },
     [param_exar_xr17v352] = {
@@ -827,8 +827,8 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 256,
         .lsr_mask = UART_LSR_THRE,
-        .bar0 = 1,
-        .mmio = 1,
+        .bar0 = true,
+        .mmio = true,
         .max_ports = 2,
     },
     [param_exar_xr17v354] = {
@@ -837,8 +837,8 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 256,
         .lsr_mask = UART_LSR_THRE,
-        .bar0 = 1,
-        .mmio = 1,
+        .bar0 = true,
+        .mmio = true,
         .max_ports = 4,
     },
     [param_exar_xr17v358] = {
@@ -847,8 +847,8 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 256,
         .lsr_mask = UART_LSR_THRE,
-        .bar0 = 1,
-        .mmio = 1,
+        .bar0 = true,
+        .mmio = true,
         .max_ports = 8,
     },
     [param_intel_lpss] = {
@@ -857,8 +857,8 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 64,
         .lsr_mask = UART_LSR_THRE,
-        .bar0 = 1,
-        .mmio = 1,
+        .bar0 = true,
+        .mmio = true,
         .max_ports = 1,
     },
 };
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 16:14:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 16:14:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325245.1590743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wURkk-0003gC-4S; Tue, 02 Jun 2026 16:14:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325245.1590743; Tue, 02 Jun 2026 16:14:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wURkk-0003g1-1Y; Tue, 02 Jun 2026 16:14:06 +0000
Received: by outflank-mailman (input) for mailman id 1325245;
 Tue, 02 Jun 2026 16:14:05 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Zhao.Jiaqing@amd.com>) id 1wURkj-0003fN-8B
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 16:14:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wURki-00C4nC-L1
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 18:14:04 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a1f013f-5cb7-0a2a0a5109dd-0a2a450ada74-28
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 18:14:04 +0200
Received: from [40.93.196.44]
 (helo=SA9PR02CU001.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a1f014a-56b3-0a2a450a0019-285dc42c3594-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 18:14:03 +0200
Received: from PH0PR07CA0089.namprd07.prod.outlook.com (2603:10b6:510:f::34)
 by DM6PR12MB4091.namprd12.prod.outlook.com (2603:10b6:5:222::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.25.23; Tue, 2 Jun 2026
 16:14:00 +0000
Received: from SN1PEPF000397B0.namprd05.prod.outlook.com
 (2603:10b6:510:f:cafe::64) by PH0PR07CA0089.outlook.office365.com
 (2603:10b6:510:f::34) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Tue, 2
 Jun 2026 16:13:59 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SN1PEPF000397B0.mail.protection.outlook.com (10.167.248.54) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Tue, 2 Jun 2026 16:13:59 +0000
Received: from zjiaqing-dev.amd.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 2 Jun
 2026 11:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=g9wNci+7aRYErXEHenqkYhcx324csxF5z9FCAEYbmdZuoRFxYSyldGSDrWZgfHY/bd1DMoEiv54mE34MOrMZXIlFljo+PC//LM1M4hoI0SKjy3FHgTs/5L+o/nBHMY/pDoxQFJlBQGaXF4zlINd/+FADc6V/04FuCg9Ta/R0EAlC1S25hRoZpm4kdE3AyQGG0B+AYuQG0V70gCEJ+viSaaXEqhK7FwtUlQepWVq72yxxNpborlvmsQuvDW4kemLU2kbg9Rbiaz1Fqr6/RFBWx6NBuMNoqhz7ZO9uzJauW+VZvbiQxkNmHLN4OMshQNrPfcfZcp3u2dPeycLMeK8I5A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iZls0mBn/oN40t4VHDo5pvOBZP/o7JYlxJqz6BdsmiY=;
 b=GqVLfCPGrFVBbSbnv/f8vHSGVtVdPQ16a+n86Ip+3j23l7begM6OekopqfGe7bD6D+FG7bCVxNn5fEW7a1HgCbzxb/3pAVoEIgvHFzGWRCEoJ6uCuP4jio9p6Z+lEPpT8xG1c063PH/XS6QIhYvW6Loou0j9Ath8uvmVYYDGe4MMotn/67FmeODm940R/5vlNMHmG3o+Tz1lCQnyfDuyAf5c2Hg+Js6L7WPlPw+lcfrqoLyKDw0jRhYsVTd0BJUF9eR+hayuHtUoGUGUzhetRj4qqln68HDETTYSRgsblTaiL7TYkSRR3VvXziEDGZvIfVE3e8eWNkalCA/QYhRB/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=iZls0mBn/oN40t4VHDo5pvOBZP/o7JYlxJqz6BdsmiY=;
 b=JQYBGXVqPA1pd4ELVuXWQLcL/UN8ayosoGLDUAfFwZ71iC5t22WfgHVlBKLO7EDWKPsiEDClyg72gVhofCKlGBz6amekyBmdCCxgH1KX6ejnLO29q0gT5Y/rl6kDPcpZCu/bbgvp2tDM03FVN6GQpUqupIqlzbwJ9z7pC3tViYQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Michal Orzel <michal.orzel@amd.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Jiaqing Zhao <Zhao.Jiaqing@amd.com>
Subject: [PATCH v5 3/3] ns16550: add support for ASIX AX99100 PCIe Multi-I/O controller
Date: Wed, 3 Jun 2026 00:13:22 +0800
Message-ID: <20260602161322.1039349-4-Zhao.Jiaqing@amd.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260602161322.1039349-1-Zhao.Jiaqing@amd.com>
References: <20260602161322.1039349-1-Zhao.Jiaqing@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: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF000397B0:EE_|DM6PR12MB4091:EE_
X-MS-Office365-Filtering-Correlation-Id: 6f5feec8-a6ab-4c47-368b-08dec0c1f49e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700016|376014|82310400026|1800799024|18002099003|22082099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	dkjyKUHTpuwJcpQydr3pfLp3XNOwEwTWj25ZTdEc4LgAEysvEmAUvg4wkD2FnZ/9jI/hgn/vfWX7+ZDsPUYRhwqNKULE+oEDaEC3fEH0zPaUZSJa1VogflgeVg4Dk9xtDDuRDmsCclubM4g13bZ1VcYVRgH6e9r9x3rbxkJQ+FJrAMdJVCBEhLI5L4nYlAUjjq3s9kZu6KjoUhk5J28RjcfWoljkODa5PDjK1Gs6spiMtV0zJmfG9wPoNF1BvkcW4ImaMr5EU1qiglbNorr8OwoGE5ZfN18cW52K0v/+5K+/AK91pWE8EMLPmANKW/2ScZCCazhN9a95MP+5k3i5htofNNRwbfgynbICVim/queDSjXqVC4H4mgufiphydIWtKxFjYNpT7mlDYrHP5RoWEsunfr4Y1Gmisdimmc/lG9QiVAGyQGYGdD4fHJDgzJj+jVGE/VUdz/+mcJqMwjpil56vfAOiFyrDo8sMaTT+KV2UJjcVXYF3poyPwszgVjG43oROvNEp0ZSXIXMw457HcmhlmvZZGVBKqtW/p73Wfow7aNp94DFVUTBAwPIfzggYIQkmAxGV6AaCyq+IVqTVOi8NU7IhLAyqvTONMpcFgHLHB6qnJWjfrgJ1D44WOQslni3g0sgFDjyDoU60B+sCiC1cpySt+8wg/MvQuCiFs3g1AzCxLr7ptD3iLTodJzjErzbXjsQdvl0DHxlyxvbYS28c5deG5w5Mncg90871cs=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(376014)(82310400026)(1800799024)(18002099003)(22082099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	0Iukkg8u1mf+lZL/ugvzmpJ3StQRlPi+JLDQjg/BjhDKOvc/Sork8OpZaBx/6mzblSCIPtLxuy3zsavb/naqtaxdRlwABVwkjpauslNCTctNd9saoirAMvUC//CZmRKOpfiw54vvHYqJUilvmbS00TqdvQoITschpVcjEP9hcglPcbEZ0/QMvjcQBHx+jEZEPPe91q2Q3nXEEcOZDSgvjUZRdesrdvzNkbAKQLpHr4doAKfEyoGBGVyT4ZYzCQS9YPxjDOu0nB2eCS7ovhEUx4A5z3RqAV/iZCDmjrgHxSBP1tPqWCGwUauLXxkcpR6pCNrgP+iZHYihDprVoWxiyBRL7xYu0Rc4zayzS4qtTEb8wKolXlOWnl250TV+z/1wFxAQpWbkzTqkw1EEMN3Ogyt8KN/h5JKF3khGshM9MEzqS2Pt7/iRj6PcPFDeIv/C
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 16:13:59.7792
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6f5feec8-a6ab-4c47-368b-08dec0c1f49e
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF000397B0.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4091
X-purgate-ID: tlsNG-4011c0/1780416844-7E58E8B7-9D6C7303/0/0
X-purgate-type: clean
X-purgate-size: 2052

Add a PCI device table entry and matching parameter for the ASIX
AX99100 PCIe to Multi-I/O controller [125b:9910]. Each port on the
chip is a standalone PCI function, with UART registers on its I/O
BAR0.

Signed-off-by: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 xen/drivers/char/ns16550.c | 15 +++++++++++++++
 xen/include/xen/pci_ids.h  |  2 ++
 2 files changed, 17 insertions(+)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 5a93685da4..1510cf143f 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -96,6 +96,7 @@ struct ns16550_config {
         param_exar_xr17v358,
         param_intel_lpss,
         param_wch_ch382,
+        param_asix,
     } param;
 };
 
@@ -872,6 +873,14 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .bar0 = true,
         .max_ports = 2,
     },
+    [param_asix] = {
+        .base_baud = 115200,
+        .reg_width = 1,
+        .fifo_size = 256,
+        .lsr_mask = UART_LSR_THRE,
+        .bar0 = true,
+        .max_ports = 1,
+    },
 };
 
 static const struct ns16550_config __initconst uart_config[] =
@@ -1212,6 +1221,12 @@ static const struct ns16550_config __initconst uart_config[] =
         .dev_id = 0x3253,
         .param = param_wch_ch382
     },
+    /* ASIX AX99100 PCIe to Multi I/O Controller */
+    {
+        .vendor_id = PCI_VENDOR_ID_ASIX,
+        .dev_id = 0x9910,
+        .param = param_asix
+    },
 };
 
 static int __init
diff --git a/xen/include/xen/pci_ids.h b/xen/include/xen/pci_ids.h
index 15e938225c..fd424ef55d 100644
--- a/xen/include/xen/pci_ids.h
+++ b/xen/include/xen/pci_ids.h
@@ -5,6 +5,8 @@
 
 #define PCI_VENDOR_ID_NVIDIA             0x10de
 
+#define PCI_VENDOR_ID_ASIX               0x125b
+
 #define PCI_VENDOR_ID_PERICOM            0x12d8
 
 #define PCI_VENDOR_ID_EXAR               0x13a8
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 16:14:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 16:14:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325246.1590752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wURkl-0003uF-CN; Tue, 02 Jun 2026 16:14:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325246.1590752; Tue, 02 Jun 2026 16: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 1wURkl-0003u8-8W; Tue, 02 Jun 2026 16:14:07 +0000
Received: by outflank-mailman (input) for mailman id 1325246;
 Tue, 02 Jun 2026 16:14:05 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Zhao.Jiaqing@amd.com>) id 1wURkj-0003fi-Nd
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 16:14:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wURkj-00FG85-47
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 18:14:05 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a1f013e-e002-0a2a0a5209dd-0a2a450c91e8-30
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 18:14:00 +0200
Received: from [52.101.46.71]
 (helo=CO1PR03CU002.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a1f0146-62f1-0a2a450c0019-34652e477992-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 18:14:00 +0200
Received: from PH0PR07CA0071.namprd07.prod.outlook.com (2603:10b6:510:f::16)
 by LV8PR12MB9716.namprd12.prod.outlook.com (2603:10b6:408:2a1::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.16; Tue, 2 Jun 2026
 16:13:55 +0000
Received: from SN1PEPF000397B0.namprd05.prod.outlook.com
 (2603:10b6:510:f:cafe::a5) by PH0PR07CA0071.outlook.office365.com
 (2603:10b6:510:f::16) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Tue, 2
 Jun 2026 16:13:55 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SN1PEPF000397B0.mail.protection.outlook.com (10.167.248.54) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Tue, 2 Jun 2026 16:13:54 +0000
Received: from zjiaqing-dev.amd.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 2 Jun
 2026 11:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=iRY/7TIPqFV49hixGWu7RUL8abSfIfUsTMJJerP/O7RWj1uS/NDsPQKDzv3sq/ib1NaVTrBTs6v+0R9oGINwzvWXpC4jZ96Gb2iFTeh0Ykq6TePjz0pacCKfshWD54K7ZohdwGroDf9HiGIIotS4w2SPmDqcYAydDRCoOrC4u4IE2xWqxtxUNkIULgux4907anUMddtYkQSOEWcPotoSZVdKoasGIJDP0SzFA4EF1qopFNqbL1SoiD9A2Kg7tfIrqg5Q44SdfRJB6w190u935r3kuOS57v5QI1PdHaY6+FO1bKU5SZmHv91vLFeaihBBSE2yiRQfkgC3kT5cFH+owg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EK6a2UFU+of/PuSh5uCUJHjyBKBPm7/2jZE4fVYKMsI=;
 b=bQvVfLJ0Atp8HIsmuQl8RdhNbE++F/Mc3vvv89RMN3bXv3LXYMlESR4Jo3Z5RrT5+5+pgrpJnZE5np0cbQk7jJQnJUYwT8Wy5eWx/4j47B7feO1LjIvwQ1a6Rul8oHciM8kSXTWjBrtCJIAffu/bXGEkfq9X7UB5NITems8AehhbxfXMkYVvo4O39/mAh+jD5JQUvT8v+Gzpypuwzid4QrvJ3HF//Y2YDBFhZk0S8AWka21ZuwLNnb86kcJzPm3b8/+dmNGraKY0+CK6ip/w1I8l9FuJVxtx0Gq5hNa+0AhhGPHw35v/wLi33HrZwXLFXdI0oKq+NHJenHf2BxBxnw==
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=EK6a2UFU+of/PuSh5uCUJHjyBKBPm7/2jZE4fVYKMsI=;
 b=ShEEa4JZQ3Gon90iGPl7Hc5tqgXLb7KZ/0Plq0MliNfiazkfIQ5yUk0ExH5C1hWFf48Y/KPy7+6bWzMVGv/ow8BXyCc8JbSPWvDXakrHVbK8v/101Dw9RdKbbglMZnPveUIilnbBv1P67mhhMSKJUKqG/s4DinyPtls7saV0Z+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=satlexmb07.amd.com; pr=C
From: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Michal Orzel <michal.orzel@amd.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Jiaqing Zhao <Zhao.Jiaqing@amd.com>,
	Denis Mukhin <dmukhin@ford.com>
Subject: [PATCH v5 2/3] ns16550: add support for WCH CH382 serial adapters
Date: Wed, 3 Jun 2026 00:13:21 +0800
Message-ID: <20260602161322.1039349-3-Zhao.Jiaqing@amd.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260602161322.1039349-1-Zhao.Jiaqing@amd.com>
References: <20260602161322.1039349-1-Zhao.Jiaqing@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: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF000397B0:EE_|LV8PR12MB9716:EE_
X-MS-Office365-Filtering-Correlation-Id: 61efb724-ec3d-453c-6755-08dec0c1f1c8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700016|82310400026|376014|1800799024|13003099007|18002099003|22082099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	KluvGK84So5ReXMhOustEqgtiAPBZsPuYailhO0gcE+4qD2dJdtm/QLN8eJuR/Nb2XNgPVnRiJ2gYxTSOkkZELOsu5ToYb9qSi6EOMZRWGOKVwlvr2GbtSxd81RCsGkJNo8yf2nea6M1b2VfZOJegYsNpjJfUUzogRXnxRwtgevZh/b/LF9umrwFUHFwmRRrzsm8GttGQjcErxUwZJB5p2brYR7zkuQCs5eovtQmcnDxtNztd1JwV+198UmhqZ595b9xYBIrfoq/jWhaV1JJ8NPKL/JN2YhQUzjL++9CruzPiITQGY/F2FHJCf9Um+LzDwPq5e7+s8rd/y/zIVQegtgSfeI70V9CMitOuCovb9Y9Z8sc0s30DQrCli9cM8/yZapySiRdMplXgfbhj4IH/KWVX5l28P3VaNxcpvj5XL/NHv5jbMiDt8gWcBqgm7qz9OkRCr85hvkg5N+XZAM85kBwtUy5pKoSwz5l+If/YG5yygIB2jDvSbtFaEWXt6S7xT1Ayn/t5QD3RhRAJHha14EbkrkWhXUKuk/3c8YO4pRPS48yIEL6Hm4nuy3uPd+qIFMhS//8jk53EApWPwZ7XI4U/5GWGUA7zGJ9DOIEAOCMZPc9QtCrj2cVXtx8Z3JQIQZCAv+x4AB/F8f3YAt4/iiaVfH6378qSFvcgpaJwl8QY/Dd2xSaSdE5wJE2A339xPfCfIUjwQBX4nJZbloQ4GO8mupIzA9FnHPPBdraVQ4=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(82310400026)(376014)(1800799024)(13003099007)(18002099003)(22082099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	9xZ5Go0kA/FzZDB8xOtBBbr3uhsnWsArURV8gpeWNb7lP6MX2ZagjR6ahAQJOJLYPyxDc9/NibzJIUN0cDG07ZQNrxE7NU0QnALNMgnHjD6QWZnCPq1+T834ii0P1Yvurk1SwCePXi6exz1sEC77M6k8w2amM4M5etOdlV51iEXD7NiEA6LeuXHl2OeMvBhTS5lEAK2mZX/VFTPc7Ag5/KVOvRFlRRLsHLD1O1abs+uy8oBwNZJNXhjnz+EcUbPZBySt1OWAgNpMrX1PwlR6o6LO11qKOAaewajV6Q1SYKKyIP7M8LZFcxF5RVKhQC9K/yGT/nrgbdkzXaF6w99h6CLAbVb8oDSEnS8DRjNcAGN1LSsKvyeu7EDtoQhEi5YEW0PnWC2LkVO5ZERY6v0SbtDReZjyGCqUc1fF7nxJPlb2/htW09k702t21MR0c89r
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 16:13:54.9909
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 61efb724-ec3d-453c-6755-08dec0c1f1c8
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF000397B0.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9716
X-purgate-ID: tlsNG-d25034/1780416840-DBD7BCF5-12FD90A9/0/0
X-purgate-type: clean
X-purgate-size: 2525

Add support for the WCH (Nanjing Qinheng Microelectronics Co., Ltd.)
CH382 PCIe dual port serial adapter. The CH382 is available in two
variants:
 - CH382 2S   [1c00:3253]: 2 serial ports
 - CH382 2S1P [1c00:3250]: 2 serial ports + 1 parallel port

This chip uses IO BAR0, base baud rate 115200, ports starting at offset
0xc0 and spaced 8 bytes apart, and a 256-byte FIFO. [1]

[1] https://www.wch-ic.com/downloads/CH382DS1_PDF.html

Signed-off-by: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
Reviewed-by: Denis Mukhin <dmukhin@ford.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 xen/drivers/char/ns16550.c | 23 +++++++++++++++++++++++
 xen/include/xen/pci_ids.h  |  2 ++
 2 files changed, 25 insertions(+)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index ed4e29ec25..5a93685da4 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -95,6 +95,7 @@ struct ns16550_config {
         param_exar_xr17v354,
         param_exar_xr17v358,
         param_intel_lpss,
+        param_wch_ch382,
     } param;
 };
 
@@ -861,6 +862,16 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .mmio = true,
         .max_ports = 1,
     },
+    [param_wch_ch382] = {
+        .base_baud = 115200,
+        .first_offset = 0xc0,
+        .uart_offset = 8,
+        .reg_width = 1,
+        .fifo_size = 256,
+        .lsr_mask = UART_LSR_THRE,
+        .bar0 = true,
+        .max_ports = 2,
+    },
 };
 
 static const struct ns16550_config __initconst uart_config[] =
@@ -1189,6 +1200,18 @@ static const struct ns16550_config __initconst uart_config[] =
         .dev_id = 0x7adc,
         .param = param_intel_lpss
     },
+    /* WCH CH382 2S1P */
+    {
+        .vendor_id = PCI_VENDOR_ID_WCHIC,
+        .dev_id = 0x3250,
+        .param = param_wch_ch382
+    },
+    /* WCH CH382 2S */
+    {
+        .vendor_id = PCI_VENDOR_ID_WCHIC,
+        .dev_id = 0x3253,
+        .param = param_wch_ch382
+    },
 };
 
 static int __init
diff --git a/xen/include/xen/pci_ids.h b/xen/include/xen/pci_ids.h
index 5884a20b8f..15e938225c 100644
--- a/xen/include/xen/pci_ids.h
+++ b/xen/include/xen/pci_ids.h
@@ -13,6 +13,8 @@
 
 #define PCI_VENDOR_ID_BROADCOM           0x14e4
 
+#define PCI_VENDOR_ID_WCHIC              0x1c00
+
 #define PCI_VENDOR_ID_INTEL              0x8086
 
 #endif /* XEN_PCI_IDS_H */
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 16:14:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 16:14:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325250.1590761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wURkt-0004HB-MU; Tue, 02 Jun 2026 16:14:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325250.1590761; Tue, 02 Jun 2026 16:14:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wURkt-0004H0-IN; Tue, 02 Jun 2026 16:14:15 +0000
Received: by outflank-mailman (input) for mailman id 1325250;
 Tue, 02 Jun 2026 16:14:13 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Zhao.Jiaqing@amd.com>) id 1wURkr-0004EW-ON
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 16:14:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wURkr-00C4nC-51
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 18:14:13 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a1f0146-5cb7-0a2a0a5109dd-0a2a4503e77a-30
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 18:14:12 +0200
Received: from [52.101.43.7]
 (helo=SJ2PR03CU001.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a1f0152-672d-0a2a45030019-34652b07ddd5-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 18:14:12 +0200
Received: from PH0PR07CA0081.namprd07.prod.outlook.com (2603:10b6:510:f::26)
 by MN2PR12MB4061.namprd12.prod.outlook.com (2603:10b6:208:19a::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.17; Tue, 2 Jun 2026
 16:13:48 +0000
Received: from SN1PEPF000397B0.namprd05.prod.outlook.com
 (2603:10b6:510:f:cafe::42) by PH0PR07CA0081.outlook.office365.com
 (2603:10b6:510:f::26) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Tue, 2
 Jun 2026 16:13:48 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SN1PEPF000397B0.mail.protection.outlook.com (10.167.248.54) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Tue, 2 Jun 2026 16:13:48 +0000
Received: from zjiaqing-dev.amd.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 2 Jun
 2026 11:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hGrtAlJb2tmcJQEL3I0MK8WxzjSyNJ6P6VsU2tEJVceucZxwQ50l3whRGuO6bzs96o3OTrJOEivm89gQUUwcffA7GQKXfFZ1GixWZah7yG8pM5BroWWpyZnHNGjxwhLf3ALpnVsRMJFkSe7B9hUGp6cVpfbz+aq3tAbgqkTMgdrlq79lk22o6t9I9EP/c9NZr6A4El5hKUEp5pcJMxdjX/0vCtFWxrI1s3AlmFl7eOg68voKv16CUZXD5yY18j3dlzbGSf3435CMY8eMjc8uXJcmL4UVLj5G/+iexBVYNXHkJFFXG1HNtaKg+mq1JD9oHqApvSsqyiDVwABl4MRY9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0SpoZNic4rcaI0BhSOmmTd8TpYSwesSiNFJ/rgC7NH4=;
 b=fHnciJ4YCb/ua34dNw47VEeq2AuHxDx6+sTS6TLIGB19k2w7OEywPqSHywGyhdnrw+i/1j8mYXYTZcEkjjBhkxvmFrkZh1Pdf2GPBSKyOuVpMWh0NsM187uZMhFynTI/vvQX3uhx5MZJXCz+Ygt+DOqBOLZ5H5Q4MKNxn1PNKXMwGOks48TAXUEEvurT1srEDEk846JoGDPGV4ikpLefpgTbY3iW5H2+VoTsAgJrLU0W4W8kUzZ/ZhKPGIf1LN2mOe8rOJn7a+HVdgft03vwHQHDIohhaYVDmpoA/euh1iPmYgnX7Qa8pcKG9OKW5sZsKLqgro9iYbGNKMCNOBnPZQ==
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=0SpoZNic4rcaI0BhSOmmTd8TpYSwesSiNFJ/rgC7NH4=;
 b=slLeAJzmTBzefhBcldnuxDkdwwYPgPVC51NkoCH9Aww/qmMgx0dIzz7NJgAYHC+Og8H8spEGm+kE440KD7dHMEDHZYwwmTjc50m/pmzWzl9q7skw46t5k97YwTb1Y738O0aSl1woskwc3PIwGPl01T5lqNsRLwv8Fw/2dVCA/Lo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Michal Orzel <michal.orzel@amd.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Jiaqing Zhao <Zhao.Jiaqing@amd.com>
Subject: [PATCH v5 0/3] ns16550: add support for WCH CH382 and ASIX AX99100
Date: Wed, 3 Jun 2026 00:13:19 +0800
Message-ID: <20260602161322.1039349-1-Zhao.Jiaqing@amd.com>
X-Mailer: git-send-email 2.53.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF000397B0:EE_|MN2PR12MB4061:EE_
X-MS-Office365-Filtering-Correlation-Id: cc9c4b89-9817-402c-a41a-08dec0c1edba
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700016|82310400026|376014|6133799003|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	ps4GYyJBqUM7NJyPMqASRWRQxk+nWvwGh8XxVOUH6ozACa+7rT5FpUXNwFBH2EXcmC5qkpQYds41rG5o4SbmIVg04VAXm8wFM8ppsqxBdpZ3dpxg56UHs/5scXnJIJ94huP27c6GWK9vV2X5kdQXVO7jnXjcswUBjQzDZ8gJDuOmNQcACS/HPLnHhSnHi+y4QHyI8WOrDvjqjLPA9PdA7qs19o2bzibShiiwpMit6fmXRNOhkDpZaMhSrDDIKsGRE75PxSWbDnKIhWeLlgwoQYsalm6ll0AMo2Tz6fhaNsBCPwG0AwOM+cEpZpkoCASfon7//2IyXaM/VATVqSoboXfIy+syy6bjqH+4Kj+i29dOH+12mwgnMjGVKTWohknFkEm6Kg6kv34kRwOFjNbR+4tjUJFmi8AO8wQ86Zt+PCJf1t++gqr9IzTRVKRDyaJWJ2girKqfoklomiSzw1AVMuQ31M78trwVA1nbwlRI5s2n3NoBDQ0W3AiPviimK5QrnP744KwOIfvfw6CPTdacocPOLGtL+a/9k6FS0N0bDQf+owsHbAOhlnDPqGYYNGBYh5hzKO0DMv2z5MbjjByRsJmZmuQ8SyOOtR6oqt763mUTVF1e/7qGhTlTSypPAx7qTvrjt7CsZ0JBv5qI1qOaQnK0e+9jhEk106ocBfHfVDDYq3fg0+vdyfK22JncJvyl13nUxz7FKSxCsmB51Y40Ik5w0cJFIRWV5ZzB6ickQ+g=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700016)(82310400026)(376014)(6133799003)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	m63Uyyl0vq//FVyP313vOFlCWKRusE0gXFZmyDm4JRe2ck+DhcHEUVmAq5u//nbFFtRQ1xcKexzyRUNNfKx7V+A3mTyzpUln7GwRjZuPck72SWiENkO0UMLuxzrc22o+CW+PZSzJZRwyp+4BKV/5I4DveMIyyyIiNcTOXWIiHU5lMX28XNLjlUcIGbLI4Af+taAWnw0iWf4htfSOVdZBDhJ1aD7EaEcAxkcpE8qmrL7omXj/gcmCr6GepfwP9a6q0oRYg+vDhonYjkPhFS4oDpLwhHN3wP10NDXzDGE1EYwhXu8+yhdfgOcVdAAvf2hjWIvyNPMjzzOTUk17y0qa1TR50ShI/nGBsxBR79/V8rIn8DhLiSx21yYBU37pwYDxDSTUF/b+J1EO4XZWcZW4aAK/CFglaObqakoZlgw69+nv6iqOm+BPDzCak0yKJARX
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 16:13:48.2217
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cc9c4b89-9817-402c-a41a-08dec0c1edba
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF000397B0.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4061
X-purgate-ID: tlsNG-33051d/1780416852-3754F938-318CF14F/0/0
X-purgate-type: clean
X-purgate-size: 1487

This series adds ns16550 support for two PCIe serial adapters found on
market:

 - WCH (Nanjing Qinheng Microelectronics) CH382, available as
   CH382 2S [1c00:3253] and CH382 2S1P [1c00:3250].
 - ASIX AX99100 PCIe to Multi-I/O Controller [125b:9910].

Both chips expose 16550-compatible UARTs through PCI I/O BAR0 and
work with the existing ns16550 driver once a matching device table
entry and parameter set are added.

v5:
 - Add Acked-by from Roger.
 - New patch 1/3: Initialize booleans in uart_param[] with "true"
   instead of 1, as suggested by Roger.

v4:
 - Add Reviewed-by from Stefano.

v3:
 - New patch 2/2: add support for ASIX AX99100.
 - Add forgotten Reviewed-by from Denis in patch 1/2 (WCH CH382).

v2:
 - Reorder entries in ns16550_config to keep them sorted by device ID.
 - Rename PCI_VENDOR_ID_WCH to PCI_VENDOR_ID_WCHIC as WCH has multiple
   vendor IDs.

Jiaqing Zhao (3):
  ns16550: properly initialize booleans in uart_param[]
  ns16550: add support for WCH CH382 serial adapters
  ns16550: add support for ASIX AX99100 PCIe Multi-I/O controller

Jiaqing Zhao (3):
  ns16550: properly initialize booleans in uart_param[]
  ns16550: add support for WCH CH382 serial adapters
  ns16550: add support for ASIX AX99100 PCIe Multi-I/O controller

 xen/drivers/char/ns16550.c | 68 +++++++++++++++++++++++++++++---------
 xen/include/xen/pci_ids.h  |  4 +++
 2 files changed, 57 insertions(+), 15 deletions(-)

-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 16:45:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 16:45:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325278.1590771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUSF3-00017u-0x; Tue, 02 Jun 2026 16:45:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325278.1590771; Tue, 02 Jun 2026 16:45: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 1wUSF2-00017n-Te; Tue, 02 Jun 2026 16:45:24 +0000
Received: by outflank-mailman (input) for mailman id 1325278;
 Tue, 02 Jun 2026 16:45:23 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUSF1-00017h-KS
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 16:45:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUSF0-003uuK-Sg
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 18:45:22 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a1f0891-5cb7-0a2a0a5109dd-0a2a45058f04-40
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 18:45:22 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a1f08a2-aaa8-0a2a45050019-d155802acc81-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 18:45:22 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-490a7629380so27698055e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 09:45:22 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490b0e2b4e5sm85731745e9.7.2026.06.02.09.45.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 02 Jun 2026 09:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1780418722; x=1781023522; 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=U5E49+b+uC/od9SZLoU0uYb9I0eV+tcWYMSLbFGajYw=;
        b=CBMt8LzQYum3CGxvR+33ka61TFI9rz40PmPQnyFmoTL0o9hcuiLpDY+rllvn40FNpO
         JZtmZgttndvZEUUGjNg0skziQ0G8c8W1tTRXTGOCgQ2wHb9SZ4OF7J6CfQppldmI5Sl2
         KgBizko5PcYXBgm4gX4kztJn6+ooOnhKg2DxY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780418722; x=1781023522;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=U5E49+b+uC/od9SZLoU0uYb9I0eV+tcWYMSLbFGajYw=;
        b=X09up92uqOElE6IV6KQXY5BpxLKWjDZRkZ2+gSGRrvuaMKWHnABAU+/qd3MmHwdFC3
         tjCjvjmw3Ven68pQbQ66qrVyzGv0WGwSXGNsS6NswX/u2vSJ1v+bQJG3pdb9mNxhLFaz
         lTQ20/84j0qtGPIZ/UQqbL2sL7o88bry5lzMrYH41z4bGnC4Jaiv2S3pBbSdiXHXMnFG
         Q4GAR6lth3HdlQq9efGQzb11ME/nJlV3OVclxG5Yn6HgEk5LwTiTbAUu5YEYxjQ2wZpr
         nKPLK8BVcCR36ZdtMhJRK6Wl9Wi2Sgfdc6UM69362PZlBsja/OAhXIIzIVR3oRQiQQnl
         cgdQ==
X-Gm-Message-State: AOJu0YwoY+oZcPSBril7LfNjnOOS1xsnWIiPUUMsH5b0O1W/Od4KQ9QF
	7WLR51Hw6B0uHs4Bo4pdDvkvBaOJ8ciELhF1lnLpNo97R1TZgd6+MH5XBgz60Twsi08DkRL/NzU
	mFjLk
X-Gm-Gg: Acq92OGHArNbvp8uo47t70HFFsbB2Uo3W1MsqHqTmvgO0ON6bGhOnJD5etIujViKO15
	2W2wR29DYYReUfa0mG5Et4918hZWeSfnOLmuEj+n6yuSyHL64wyVXV9JjQQ1LVtgsN29JSWh7qR
	o+wKMnWc+daw5aHHAHg8ycF3A4/icMxpKl7Qg0/D09+49Nl1TY3LAJckX0JRArLmxqB1OXSSaIw
	rmTDq4w1OAXviZLqYfO27azeKgPyZfLTFADy0cDCipXnRJvRYkiv8LpDqbK/zywmI7R9JZw6gbW
	Qu+wpC6vbz01INlw2aYQ2IrGRZt07Yfov8KjnHSbCtv+bg+07ye6onblUP7ztXigYxkhcb3Rjax
	6ccmMgkpXQ0ck4pAjIsc1MA0cF5yY1ny3nmKaRsQGQRzDEc2DTu/MqezPxxKj+tPXv1Be/J6MnF
	lutKl8KKOCpba8WkwHvsq40LnsbwOrsKKc7hEc8pWiXmUNivU+nt+Yo7+bmtgdZHQr9e/b2WlFW
	m9cCDptpyvDfbY=
X-Received: by 2002:a05:600c:8b27:b0:490:3fa2:1b93 with SMTP id 5b1f17b1804b1-490b5064808mr8729965e9.13.1780418722069;
        Tue, 02 Jun 2026 09:45: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>,
	Teddy Astie <teddy.astie@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH for-4.22] x86/fred: Enable FRED by default on AMD systems
Date: Tue,  2 Jun 2026 17:45:19 +0100
Message-Id: <20260602164519.2634144-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
X-purgate-ID: tlsNG-c201ff/1780418722-E1D9D443-66F37A69/10/73395122804
X-purgate-type: spam
X-purgate-size: 2389

FRED is now believed to be complete for AMD systems, and has had its tyres
kicked by both XenServer and AMD.  Enable FRED by default on capable AMD
systems (Zen6 and later).

Support on Intel is still not yet complete.  Leave it as tech preview and not
security supported.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Teddy Astie <teddy.astie@vates.tech>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

The issue on Intel is to do with virtualisation of MSR_SPEC_CTRL for PV
guests, and is waiting on the resolution of a question I've asked Intel.
---
 docs/misc/xen-command-line.pandoc | 6 +++---
 xen/arch/x86/traps-setup.c        | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index ef3c7371895b..50c119e5b79f 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -1259,12 +1259,12 @@ does not provide `VM_ENTRY_LOAD_GUEST_PAT`.
 ### fred (x86)
 > `= <bool>`
 
-> Default: `false`
+> Default: `true` on AMD, `false` otherwise
 
 Flexible Return and Event Delivery is an overhaul of interrupt, exception and
 system call handling, fixing many corner cases in the x86 architecture, and
-expected in hardware from 2025.  Support in Xen is a work in progress and
-disabled by default.
+expected in hardware from 2026.  FRED is fully supported on AMD hardware.
+Intel hardware is still tech preview and not security supported.
 
 ### gnttab
 > `= List of [ max-ver:<integer>, transitive=<bool>, transfer=<bool> ]`
diff --git a/xen/arch/x86/traps-setup.c b/xen/arch/x86/traps-setup.c
index ccbd53fd9db0..a79a3b201389 100644
--- a/xen/arch/x86/traps-setup.c
+++ b/xen/arch/x86/traps-setup.c
@@ -22,7 +22,7 @@ unsigned int __ro_after_init ler_msr;
 static bool __initdata opt_ler;
 boolean_param("ler", opt_ler);
 
-int8_t __ro_after_init opt_fred = 0;
+int8_t __ro_after_init opt_fred = -1;
 boolean_param("fred", opt_fred);
 
 void nocall entry_PF(void);
@@ -392,7 +392,7 @@ void __init traps_init(void)
     }
 
     if ( opt_fred == -1 )
-        opt_fred = !pv_shim;
+        opt_fred = (boot_cpu_data.x86_vendor == X86_VENDOR_AMD) && !pv_shim;
 
     if ( opt_fred )
     {
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 16:46:54 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 16:46:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325283.1590778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUSGT-0001ad-9M; Tue, 02 Jun 2026 16:46:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325283.1590778; Tue, 02 Jun 2026 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 1wUSGT-0001aW-6b; Tue, 02 Jun 2026 16:46:53 +0000
Received: by outflank-mailman (input) for mailman id 1325283;
 Tue, 02 Jun 2026 16:46:52 +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 1wUSGS-0001aO-9J
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 16:46:52 +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 1wUSGS-003I5U-0d
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 16:46:52 +0000
Received: from mail-lf1-f51.google.com ([209.85.167.51])
 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 1wUSGS-007szZ-0T
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 16:46:52 +0000
Received: by mail-lf1-f51.google.com with SMTP id
 2adb3069b0e04-5aa68d9d56fso2811580e87.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 09: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>
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=ZuEZ7VDIRlcy3Mm/2scIYVUfBwa/78iDP8jt9yxLeKw=; b=0eUB6fM
	PWakm8DPhfNYj14XEk+zgpD9eQQgBCMjBMYjRf9IQ4uVT030CZ4F9PkM0ATBwrz5PEiYYR4psX3M8
	sQ/eCWUytd2cycw49fsU0QOImjBPKpwfIHJ528U6+L61DZwS+gxwl5qqSz5z3NZKFfLBMoVzmNFd5
	6pP88rE0I8=;
X-Gm-Message-State: AOJu0Yz8czmJWUFWB5bly5mOuAare2+wIXG8pTfVMx0BwrZU7PJLObxk
	VhXVrKgayJaRaA6S8ZFElbrCIAmYvV8q8jUdHEvkixZmoPms2+Z8sYu13lQaZJvwol/1R7h8TIh
	VIov6OULxNlZqhxzks+HVwFf0CdVQdVw=
X-Received: by 2002:a05:6512:3d1a:b0:5aa:6b84:3b70 with SMTP id
 2adb3069b0e04-5aa6b843ec9mr3187603e87.6.1780418811001; Tue, 02 Jun 2026
 09:46:51 -0700 (PDT)
MIME-Version: 1.0
From: Cody Zuschlag <cody.zuschlag@xenproject.org>
Date: Tue, 2 Jun 2026 18:46:39 +0200
X-Gmail-Original-Message-ID: <CAJbE=Ky-BJ_wnDjqSBTSxooBh6FGhjmRT2toy8k5FJrVmv3Z_Q@mail.gmail.com>
X-Gm-Features: AVHnY4LUnrIE440_XRSmSbkN2N_ZQMRpeElDHxd_iq0CaBA5G3DmzQO-ARrCVz0
Message-ID: <CAJbE=Ky-BJ_wnDjqSBTSxooBh6FGhjmRT2toy8k5FJrVmv3Z_Q@mail.gmail.com>
Subject: [ANNOUNCE] - Call for agenda items for June 4 Xen Community Call @
 15:00 UTC
To: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000c806310653480ec6"

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

Hi everyone,

It=E2=80=99s time for the June Xen Project Community Call, happening this T=
hursday
at 4 pm UK time.

We=E2=80=99d love to have you join. You=E2=80=99re welcome to participate o=
r just listen
in. It=E2=80=99s a great way to stay aligned, hear what others are working =
on, and
help move a few ongoing topics forward.


*Preparation:*Please take a moment to review and update the agenda ahead of
the call:
=F0=9F=91=89 Agenda <https://cryptpad.fr/pad/#/2/pad/edit/PrudcbjtZc-4btgSO=
o5ftG0b/>

Feel free to:
- Add topics or updates
- Suggest anything we can drop or defer
- Include links to patches, threads, or docs where helpful


*Call Details:*Date: Thursday, 4 June 2026
Time: 15:00 UTC (agenda starts at 15:05 UTC)
Find your local timezone here
<www.worldtimebuddy.com/?qm=3D1&lid=3D5368361,2988507,5128581,2643743,100,1=
850147,6&h=3D2988507&date=3D2026-6-4&sln=3D17-18&hf=3Dundefined&c=3D1452>

Join: https://meet.jit.si/XenProjectCommunityCall

We=E2=80=99ll open the room at 15:00 UTC and start the agenda at 15:05 UTC =
to give
everyone a few minutes to join.

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 there!


Cody Zuschlag
Xen Project - Community Manager

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

<div dir=3D"ltr"><div>Hi everyone,<br><br>It=E2=80=99s time for the June Xe=
n Project Community Call, happening this Thursday at 4 pm UK time.<br><br>W=
e=E2=80=99d love to have you join. You=E2=80=99re welcome to participate or=
 just listen in. It=E2=80=99s a great way to stay aligned, hear what others=
 are working on, and help move a few ongoing topics forward.<br><br><b>Prep=
aration:<br></b>Please take a moment to review and update the agenda ahead =
of the call:<br>=F0=9F=91=89 <a href=3D"https://cryptpad.fr/pad/#/2/pad/edi=
t/PrudcbjtZc-4btgSOo5ftG0b/">Agenda</a><br><br>Feel free to:<br>- Add topic=
s or updates<br>- Suggest anything we can drop or defer<br>- Include links =
to patches, threads, or docs where helpful<br><br><b>Call Details:<br></b>D=
ate: Thursday, 4 June 2026<br>Time: 15:00 UTC (agenda starts at 15:05 UTC)<=
br>Find your local timezone <a href=3D"www.worldtimebuddy.com/?qm=3D1&amp;l=
id=3D5368361,2988507,5128581,2643743,100,1850147,6&amp;h=3D2988507&amp;date=
=3D2026-6-4&amp;sln=3D17-18&amp;hf=3Dundefined&amp;c=3D1452">here</a><br><b=
r>Join: <a href=3D"https://meet.jit.si/XenProjectCommunityCall">https://mee=
t.jit.si/XenProjectCommunityCall</a><br><br>We=E2=80=99ll open the room at =
15:00 UTC and start the agenda at 15:05 UTC to give everyone a few minutes =
to join.<br><br>Want to be CC=E2=80=99d on future calls?<br>Add or remove y=
ourself from our <a href=3D"https://cryptpad.fr/pad/#/2/pad/edit/D9vGzihPxx=
AOe6RFPz0sRCf+/">Sign-up Sheet</a><br><br>See you there!</div><div><br></di=
v><div><div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_s=
ignature"><div dir=3D"ltr"><img src=3D"https://ci3.googleusercontent.com/ma=
il-sig/AIorK4x5nkRDCOFJDJAv9aMXdZ0mghItsp3D36JrwBCQtitBSW_0NeDS6mBmJ2F4vZVE=
2oBOqnY6IaJUrl12"><br><div>Cody Zuschlag</div><div>Xen Project - Community =
Manager</div></div></div></div></div>

--000000000000c806310653480ec6--


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 16:48:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 16:48:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325290.1590797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUSIK-0002XD-Qp; Tue, 02 Jun 2026 16:48:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325290.1590797; Tue, 02 Jun 2026 16: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 1wUSIK-0002X6-No; Tue, 02 Jun 2026 16:48:48 +0000
Received: by outflank-mailman (input) for mailman id 1325290;
 Tue, 02 Jun 2026 16:48:47 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wUSIJ-0002K7-Hy
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 16:48:47 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUSII-00FO3p-Ur
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 18:48:46 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a1f095d-e002-0a2a0a5209dd-0a2a450bbc6a-20
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 18:48:46 +0200
Received: from [40.93.201.54]
 (helo=CY3PR05CU001.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a1f096b-212f-0a2a450b0019-285dc936d2da-4
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 18:48:46 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by SA1PR03MB6644.namprd03.prod.outlook.com (2603:10b6:806:1cf::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Tue, 2 Jun 2026
 16:48:14 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 16: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=knxJeJ8sw7neZDvuJ1WCRixLX5s8ztnI4QS/kz5QZsqPwBYEqGFhIpY9sYOna3rwW4czFlpr486WA5Qwr8tlA4I+Ig8OTyWFpV006oGZrfEP7ntRXJPw+mSKcTBiF/BiULZLDfKpGp3F08JA70ZZmkf+F0zLclxJ92gYT/pMLnfshMMrvkCA5BYBVeEmTov3CfBwkurjny6+jyw5j9m0ScAkG4BQunkrCWrCTrzz7mQCqYV+v6W01AKBJcWLIM8NLaF3A9MwdxJEiY8tQHZwbyqOaiPz11nupfg+E5jy2xL7M7a8yO1q8NwK85ZsuR0uxiKRk+utpiRbfHCSjepkuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=c5SMf9+M3eYkK+VCoT5N51c8wrzFph7I+7rr12mI5fg=;
 b=QT6Mdre2a2czDMZefxt+WNf0XT07R2mCOgOgLr0LzR/rVrVxkoDraYekAu9fuE7u26BAT6pto09l5tuss5Rh3FH7ewPt9jg3ytbFlt7yRyjC12vYSOJKzbmLJbNuW2oAi688EiGVcU/rzVRbCeMOWRicZnTT8wpL3ooVhIb5x+pV26P7IGymHos1MCpgv8XS9UtslR7SNA4QdrKsOnzlHoYxpyD8sOw1vY0dyYYJDzAiDB0O0gu+/est6P36TvUlVFfEmvLH22nKuiD1FGQ3KmRPrspx4e73v7s7GtkZXPMVLztrKw6LVS64wWiILlYALEso/p2xl+GepeHVxl69tg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=c5SMf9+M3eYkK+VCoT5N51c8wrzFph7I+7rr12mI5fg=;
 b=CRi5iJMucJhz9xfdJDkuk/LYtGYRJbJOH1CUilTVlzU+K6GGoNt3ZuPnMdCqauq52Xi8db/VXcd2nnNPY4887nxRukWHyLEk/Jkvixrx70k1rmEk9pTpWSw7BI4UXVGzmff4ROkoGla4UAgofPFD35bMgEFm4MDyWIXMBa2d6HI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Kevin Lampis <kevin.lampis@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Kevin Lampis <kevin.lampis@citrix.com>
Subject: [PATCH 2/2] x86: Implement crash kexec for EFI
Date: Tue,  2 Jun 2026 17:49:11 +0100
Message-ID: <20260602164911.2684471-3-kevin.lampis@citrix.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260602164911.2684471-1-kevin.lampis@citrix.com>
References: <20260602164911.2684471-1-kevin.lampis@citrix.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO4P265CA0030.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2ae::15) To BY1PR03MB7996.namprd03.prod.outlook.com
 (2603:10b6:a03:5b2::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PR03MB7996:EE_|SA1PR03MB6644:EE_
X-MS-Office365-Filtering-Correlation-Id: cd310bfd-2a9e-47de-550f-08dec0c6bcd3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|3023799007|18002099003|22082099003|6133799003|56012099006|5023799004|11063799006;
X-Microsoft-Antispam-Message-Info:
	CNoImHOTmGNMIazauwR5UdZyY6xdSe4QV6OSOSh2TXSCMFZ9h8RRom9/RjynsN0F7V8WnK6XZIbkLGD0XbRM9u14XiJERamL9Hucd+BQxBwdK20RleisnRdNEcEwoO4gAIEBgrzEPn+6zfJwjI48MEz1qthgnv4Quzh/7aN927WTC3bLoLAUkl1ZM1ADjk0Ii9oaClNrQ1NeGXUyeFrKd3PV9H4tHl/wEtw8e2gm+qvZDOnXWGWTjNfkve6ei7QcxKxYX1Oc+EimAsvrC7Blfhhyxh342uk7c7g+DUaj8mX59LaeRKoJ1DwQNYwaXhC/w6zQ67osiy2TWA2HFGV24/fIgAqeZa/s2Ozq6UOMZmXhOe1S4nDdACUlofWLrfW1LWv+iynenZRZeRkNNGdaSjrYLbn0j/cFuDRf/dHRSA1Ef5/bJCWTuVVOJIsiA71gmFVohJPBlyy3DiYlJRkRcQuqdHeDhogCSSMPG77pwfAhyVd5t7sRAOT5IKUlZCww+a26Cm3SaHGYNV8xwACtuolwyAPpb9UMdz9uJQ+zaDDimIqWkUNvYKB4G7prY0vJOIb3sUrHmcUH3hxnuwPxx8h1OWPDktHJzDgsatqez8hq2GhmDcOCI4m7kuazRIBG+2YYIwqMKfdPcvyIpbkKKs08F35Ypta0DBkmrsHFAxVf4JTVMZFa/F45VvfpRLPd
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(3023799007)(18002099003)(22082099003)(6133799003)(56012099006)(5023799004)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?CpVDWeL3qnXF5nm8tmrwOhzL9amnNpaTI4IC1yLsT/z8we5sKyXCyktptcGA?=
 =?us-ascii?Q?C2SNTML6EyrghbpRgpfU9xZC9AuuN6RXKSN08L4tFM4ykD5Trg+9960Y3AO3?=
 =?us-ascii?Q?12kyrGB4ReLj/e0UNauYbNZjC57UITcEbEVhoURJ32SnxGn3SseN66FCzl8J?=
 =?us-ascii?Q?/AqRo7KGVzKsXRyIxipV4SQ/zCdealwO2ls1osKZbwRMDG6nHd+DfcKWIvng?=
 =?us-ascii?Q?fm+bsmmi+HxM0f7sC5jMa+i2Zn4M0aVbun3yJSGMu83+IKh4OkRKuSXf79gQ?=
 =?us-ascii?Q?2OhnGhbaRK06qj0pqIgd7S+d0wD3c//w1UcptUmKxaZa+oAhC6ry9lp+td+e?=
 =?us-ascii?Q?qC0J338zh0JDHnlAVVr0ca/TRNMfogOF4vY8OlFtZ1RQFiT0nabcsLqqCord?=
 =?us-ascii?Q?QeixMVvfy3aD0e4QlM2OfvE5zow0nSNkuYEVOWJl/vF52ELENygGue6clgHR?=
 =?us-ascii?Q?Dyl48AiT2hd0RxBxVmb09Y0QQxL+PttCT7gAbf64HO7xRJoBBeXloPdcWUnw?=
 =?us-ascii?Q?MXOS2dNZ5HDfATz8SQGtjVnQU8s6dHOm/2fN+IyWNM1pXzQqouBOHHS+sIiG?=
 =?us-ascii?Q?xhYI9eplku5OEkRYl2sUrPhyMdgn3SXLt9Q3k6X4NPploqH0GZllUO3CaMP7?=
 =?us-ascii?Q?MmnMY4cfNfYUYVPA9p0Fuv+3eeAftSCz5iTNNROzSeGOEOF7+oPMSlDJ8EdC?=
 =?us-ascii?Q?4CtqM/QYqifcwOl7UTcr9xb8ib8O0/XF8jWBuIMSts3y2xGR3POGXdB1ZQBJ?=
 =?us-ascii?Q?61SJcB13ayaG8d8rKvMDJBCmXIcNyxXQClQ3DZGhcK788JBEEKq0+tLAMakl?=
 =?us-ascii?Q?3Xykl80MuRTfzvLPkORfIREUJYmpnjYrmKwUJ988t6mgPYZ45SrOgEfbcrjy?=
 =?us-ascii?Q?L0vGQh8yUVnMPZjhbRxsqR3OnsdsYAXfB8zR4TpmT/n4yzIS4ETPXJHsQggy?=
 =?us-ascii?Q?+opMQspu+R1MiHrWzUYRzHFlEcbxXXMu+mNk8nIyDSCgLNc3QkurCOb8CgRd?=
 =?us-ascii?Q?zN+0EmUaqqpoyqdjl0NZaqpFGxTBZ+RZSBetymWuBwMFDpdI74OXCK8R/Mse?=
 =?us-ascii?Q?f8iPZXGzLlTR3z7Pj7W+6630Q/Qku67jIblgm0TPXU/KNSv61B85Kk2buBN5?=
 =?us-ascii?Q?lmz/7AS+2VaEft3f5pKBrFLgInOAfQZbr8UUvyHBM5cUmDpvEpk6PZxr4Zqz?=
 =?us-ascii?Q?L6XXC4OIK/YPG562eDIb+Rc9ZuPHSHSKbes/u8yiuc8BHWAJXMhN6xTBqFqR?=
 =?us-ascii?Q?xmUO8iCZTpyALAbGaRbfudjzx5Lq47t3OZ/rKbCZ/Msw4HD8MwXFozE4mTQK?=
 =?us-ascii?Q?UNIQ29ealadEdqZF3ZMgPG6MvHU3JJaf/Gd5fHm1uULx7baJiCcG77z8LUjk?=
 =?us-ascii?Q?kGrHFWSgNXyBE+i611KHwaBIlPQI0OQQVVSl146HnbDyrXCPx2sojPHFrI+p?=
 =?us-ascii?Q?yz1nAzeVTv4mFf+92qDO7uk3PREhCLO6w9I07JPCYhtRHzjOsvomo959GCDz?=
 =?us-ascii?Q?k4Lp5OwzlcuMvWa84gEz40v/c/U3IyryL0vt36nAakdGksnVZP5NjNHbrNqm?=
 =?us-ascii?Q?3c4HPj9I4YD93gDedMvJ9pPPB2DmIRHAK9qYhf91D7L5ern06Dei9zthBPGw?=
 =?us-ascii?Q?/lwqtJKG4wOjrcXlI+XyF2yLBEKewsC8NVjj4IeSba/DLV3qxVkQLkTeKbPD?=
 =?us-ascii?Q?sL+msk3n45AxP/Ja6Q0cS02xaGIVXFNw6ROivoh+8BczpWkdDIwFyXGbgFhn?=
 =?us-ascii?Q?rFDUed468g=3D=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cd310bfd-2a9e-47de-550f-08dec0c6bcd3
X-MS-Exchange-CrossTenant-AuthSource: BY1PR03MB7996.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 16:48:13.9654
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 06XaZZvPsyEVH3xUw3iSTNibQgei7BQE9Dc9O/Oyv1Jl/cUJiwsyFnXQx4yNGdOGFidj9qPMbjwbVsCWGql4Pw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6644
X-purgate-ID: tlsNG-42698a/1780418926-19969F3B-9002A3BA/0/0
X-purgate-type: clean
X-purgate-size: 29447

This change adds a new KEXEC_TYPE_CRASH_EFI load type which is suitable
for use when Secure Boot is enabled.

When this load type is used, the caller should not pass purgatory as one
of the kexec segments. This is because in Secure Boot mode we cannot
accept and run arbitrary unsigned code from dom0 userspace. Instead,
Xen prepares any necessary intermediary glue code itself.

When Secure Boot/lockdown mode is enabled only the KEXEC_TYPE_CRASH_EFI
type will be accepted.

During load a digest of the kexec segments is calculated and stored. The
digest is calculated again during kexec_reboot, this removes the need to
re-verify the signatures.

Signed-off-by: Kevin Lampis <kevin.lampis@citrix.com>
Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Signed-off-by: Gerald Elder-Vass <gerald.elder-vass@cloud.com>
---
 xen/arch/x86/bzimage.c                   |  40 +---
 xen/arch/x86/include/asm/machine_kexec.h |   2 +-
 xen/arch/x86/machine_kexec.c             |  10 +-
 xen/arch/x86/x86_64/kexec_reloc.S        |  16 ++
 xen/common/kexec.c                       |  41 +++-
 xen/common/kimage.c                      | 264 +++++++++++++++++++----
 xen/include/public/kexec.h               |  23 +-
 xen/include/xen/kimage.h                 |  23 +-
 xen/include/xen/x86-linux.h              |  62 ++++++
 9 files changed, 381 insertions(+), 100 deletions(-)
 create mode 100644 xen/include/xen/x86-linux.h

diff --git a/xen/arch/x86/bzimage.c b/xen/arch/x86/bzimage.c
index 66f648f311..f4d5b584cb 100644
--- a/xen/arch/x86/bzimage.c
+++ b/xen/arch/x86/bzimage.c
@@ -6,6 +6,7 @@
 #include <xen/gunzip.h>
 #include <xen/decompress.h>
 #include <xen/libelf.h>
+#include <xen/x86-linux.h>
 #include <asm/bzimage.h>
 
 static __init unsigned long output_length(void *image, unsigned long image_len)
@@ -13,45 +14,6 @@ static __init unsigned long output_length(void *image, unsigned long image_len)
     return *(uint32_t *)(image + image_len - 4);
 }
 
-struct __packed setup_header {
-        uint8_t         _pad0[0x1f1];           /* skip uninteresting stuff */
-        uint8_t         setup_sects;
-        uint16_t        root_flags;
-        uint32_t        syssize;
-        uint16_t        ram_size;
-        uint16_t        vid_mode;
-        uint16_t        root_dev;
-        uint16_t        boot_flag;
-        uint16_t        jump;
-        uint32_t        header;
-#define HDR_MAGIC               "HdrS"
-#define HDR_MAGIC_SZ    4
-        uint16_t        version;
-#define VERSION(h,l)    (((h)<<8) | (l))
-        uint32_t        realmode_swtch;
-        uint16_t        start_sys;
-        uint16_t        kernel_version;
-        uint8_t         type_of_loader;
-        uint8_t         loadflags;
-        uint16_t        setup_move_size;
-        uint32_t        code32_start;
-        uint32_t        ramdisk_image;
-        uint32_t        ramdisk_size;
-        uint32_t        bootsect_kludge;
-        uint16_t        heap_end_ptr;
-        uint16_t        _pad1;
-        uint32_t        cmd_line_ptr;
-        uint32_t        initrd_addr_max;
-        uint32_t        kernel_alignment;
-        uint8_t         relocatable_kernel;
-        uint8_t         _pad2[3];
-        uint32_t        cmdline_size;
-        uint32_t        hardware_subarch;
-        uint64_t        hardware_subarch_data;
-        uint32_t        payload_offset;
-        uint32_t        payload_length;
-    };
-
 static __init int bzimage_check(struct setup_header *hdr, unsigned long len)
 {
     if ( len < sizeof(struct setup_header) )
diff --git a/xen/arch/x86/include/asm/machine_kexec.h b/xen/arch/x86/include/asm/machine_kexec.h
index 3e189acf24..e2d7b4854a 100644
--- a/xen/arch/x86/include/asm/machine_kexec.h
+++ b/xen/arch/x86/include/asm/machine_kexec.h
@@ -7,7 +7,7 @@
 
 extern void kexec_reloc(unsigned long reloc_code, unsigned long reloc_pt,
                         unsigned long ind_maddr, unsigned long entry_maddr,
-                        unsigned long flags);
+                        unsigned long flags, unsigned long rsi);
 
 extern const char kexec_reloc_end[];
 
diff --git a/xen/arch/x86/machine_kexec.c b/xen/arch/x86/machine_kexec.c
index f921eec5aa..e61b63ac53 100644
--- a/xen/arch/x86/machine_kexec.c
+++ b/xen/arch/x86/machine_kexec.c
@@ -154,6 +154,13 @@ void machine_kexec(struct kexec_image *image)
     int i;
     unsigned long reloc_flags = 0;
 
+    if ( image->type == KEXEC_TYPE_CRASH_EFI &&
+         kimage_verify_digest(image) != 0 )
+    {
+        printk(XENLOG_ERR "kexec digest failed, won't boot corrupted image\n");
+        for (;;);
+    }
+
     /* We are about to permenantly jump out of the Xen context into the kexec
      * purgatory code.  We really dont want to be still servicing interupts.
      */
@@ -198,7 +205,8 @@ void machine_kexec(struct kexec_image *image)
 
     kexec_reloc(page_to_maddr(image->control_code_page),
                 page_to_maddr(image->aux_page),
-                image->head, image->entry_maddr, reloc_flags);
+                image->head, image->entry_maddr, reloc_flags,
+                image->efi_boot_params);
 }
 
 int machine_kexec_get(xen_kexec_range_t *range)
diff --git a/xen/arch/x86/x86_64/kexec_reloc.S b/xen/arch/x86/x86_64/kexec_reloc.S
index b52d31a654..aa725266e2 100644
--- a/xen/arch/x86/x86_64/kexec_reloc.S
+++ b/xen/arch/x86/x86_64/kexec_reloc.S
@@ -33,6 +33,7 @@ FUNC(kexec_reloc, PAGE_SIZE)
         /* %rdx - indirection page maddr */
         /* %rcx - entry maddr (%rbp) */
         /* %r8 - flags */
+        /* %r9 - boot params (EFI only) */
 
         movq    %rcx, %rbp
 
@@ -75,6 +76,21 @@ FUNC(kexec_reloc, PAGE_SIZE)
         testq   $KEXEC_RELOC_FLAG_COMPAT, %r8
         jnz     .L_call_32_bit
 
+        movq %r9, %rsi /* boot params */
+        xor %rdi, %rdi
+        xor %rax, %rax
+        xor %rbx, %rbx
+        xor %rcx, %rcx
+        xor %rdx, %rdx
+        xor %r8,  %r8
+        xor %r9,  %r9
+        xor %r10, %r10
+        xor %r11, %r11
+        xor %r12, %r12
+        xor %r13, %r13
+        xor %r14, %r14
+        xor %r15, %r15
+
         /* Jump to the image entry point */
         jmp     *%rbp
 
diff --git a/xen/common/kexec.c b/xen/common/kexec.c
index 65776a95fd..14f15dd371 100644
--- a/xen/common/kexec.c
+++ b/xen/common/kexec.c
@@ -34,6 +34,7 @@
 #ifdef CONFIG_COMPAT
 #include <compat/kexec.h>
 #endif
+#include <xen/lockdown.h>
 
 bool __read_mostly kexecing;
 
@@ -910,7 +911,7 @@ static uint16_t kexec_load_v1_arch(void)
 }
 
 static int kexec_segments_add_segment(unsigned int *nr_segments,
-                                      xen_kexec_segment_t *segments,
+                                      struct kimage_segment *segments,
                                       mfn_t mfn)
 {
     paddr_t maddr = mfn_to_maddr(mfn);
@@ -936,7 +937,7 @@ static int kexec_segments_add_segment(unsigned int *nr_segments,
 
 static int kexec_segments_from_ind_page(mfn_t mfn,
                                         unsigned int *nr_segments,
-                                        xen_kexec_segment_t *segments,
+                                        struct kimage_segment *segments,
                                         bool compat)
 {
     void *page;
@@ -991,7 +992,7 @@ done:
 static int kexec_do_load_v1(xen_kexec_load_v1_t *load, int compat)
 {
     struct kexec_image *kimage = NULL;
-    xen_kexec_segment_t *segments;
+    struct kimage_segment *segments;
     uint16_t arch;
     unsigned int nr_segments = 0;
     mfn_t ind_mfn = maddr_to_mfn(load->image.indirection_page);
@@ -1001,7 +1002,7 @@ static int kexec_do_load_v1(xen_kexec_load_v1_t *load, int compat)
     if ( arch == EM_NONE )
         return -ENOSYS;
 
-    segments = xmalloc_array(xen_kexec_segment_t, KEXEC_SEGMENT_MAX);
+    segments = xmalloc_array(struct kimage_segment, KEXEC_SEGMENT_MAX);
     if ( segments == NULL )
         return -ENOMEM;
 
@@ -1103,24 +1104,35 @@ static int kexec_load_v1_compat(XEN_GUEST_HANDLE_PARAM(void) uarg)
 static int kexec_load(XEN_GUEST_HANDLE_PARAM(void) uarg)
 {
     xen_kexec_load_t load;
-    xen_kexec_segment_t *segments;
+    struct kimage_segment *segments;
     struct kexec_image *kimage = NULL;
     int ret;
+    unsigned int i;
 
     if ( copy_from_guest(&load, uarg, 1) )
         return -EFAULT;
 
+    if ( load.type == KEXEC_TYPE_DEFAULT_EFI )
+        return -EOPNOTSUPP;
+
+    if ( load.type != KEXEC_TYPE_CRASH_EFI && is_locked_down() )
+        return -EPERM;
+
     if ( load.nr_segments >= KEXEC_SEGMENT_MAX )
         return -EINVAL;
 
-    segments = xmalloc_array(xen_kexec_segment_t, load.nr_segments);
+    segments = xmalloc_array(struct kimage_segment, load.nr_segments);
     if ( segments == NULL )
         return -ENOMEM;
 
-    if ( copy_from_guest(segments, load.segments.h, load.nr_segments) )
+    for ( i = 0; i < load.nr_segments; i++ )
     {
-        ret = -EFAULT;
-        goto error;
+        if ( copy_from_guest_offset((xen_kexec_segment_t *)&segments[i],
+                                    load.segments.h, i, 1) )
+        {
+            ret = -EFAULT;
+            goto error;
+        }
     }
 
     ret = kimage_alloc(&kimage, load.type, load.arch, load.entry_maddr,
@@ -1132,6 +1144,13 @@ static int kexec_load(XEN_GUEST_HANDLE_PARAM(void) uarg)
     if ( ret < 0 )
         goto error;
 
+    if ( load.type == KEXEC_TYPE_CRASH_EFI )
+    {
+        ret = kimage_efi_setup(kimage, load.parameters);
+        if ( ret )
+            return ret;
+    }
+
     ret = kexec_load_slot(kimage);
     if ( ret < 0 )
         goto error;
@@ -1235,7 +1254,9 @@ static int do_kexec_op_internal(unsigned long op,
                 ret = kexec_get_range(uarg);
         break;
     case KEXEC_CMD_kexec_load_v1:
-        if ( compat )
+        if ( is_locked_down() )
+            ret = -EPERM;
+        else if ( compat )
             ret = kexec_load_v1_compat(uarg);
         else
             ret = kexec_load_v1(uarg);
diff --git a/xen/common/kimage.c b/xen/common/kimage.c
index 6202491f7e..69833d3ba6 100644
--- a/xen/common/kimage.c
+++ b/xen/common/kimage.c
@@ -19,10 +19,21 @@
 #include <xen/guest_access.h>
 #include <xen/mm.h>
 #include <xen/kexec.h>
+#include <xen/x86-linux.h>
 #include <xen/kimage.h>
+#include <xen/sha2.h>
 
 #include <asm/page.h>
 
+#define KIMAGE_SHA256_REGIONS 16
+
+typedef struct
+{
+    uint64_t start;
+    uint64_t len;
+}
+sha256_region_t;
+
 /*
  * When kexec transitions to the new kernel there is a one-to-one
  * mapping between physical and virtual addresses.  On processors
@@ -83,7 +94,7 @@ static struct page_info *kimage_alloc_zeroed_page(unsigned memflags)
 
 static int do_kimage_alloc(struct kexec_image **rimage, paddr_t entry,
                            unsigned long nr_segments,
-                           xen_kexec_segment_t *segments, uint8_t type)
+                           struct kimage_segment *segments, uint8_t type)
 {
     struct kexec_image *image;
     unsigned long i;
@@ -106,29 +117,6 @@ static int do_kimage_alloc(struct kexec_image **rimage, paddr_t entry,
     INIT_PAGE_LIST_HEAD(&image->dest_pages);
     INIT_PAGE_LIST_HEAD(&image->unusable_pages);
 
-    /*
-     * Verify we have good destination addresses.  The caller is
-     * responsible for making certain we don't attempt to load the new
-     * image into invalid or reserved areas of RAM.  This just
-     * verifies it is an address we can use.
-     *
-     * Since the kernel does everything in page size chunks ensure the
-     * destination addresses are page aligned.  Too many special cases
-     * crop of when we don't do this.  The most insidious is getting
-     * overlapping destination addresses simply because addresses are
-     * changed to page size granularity.
-     */
-    result = -EADDRNOTAVAIL;
-    for ( i = 0; i < nr_segments; i++ )
-    {
-        paddr_t mstart, mend;
-
-        mstart = image->segments[i].dest_maddr;
-        mend   = mstart + image->segments[i].dest_size;
-        if ( (mstart & ~PAGE_MASK) || (mend & ~PAGE_MASK) )
-            goto out;
-    }
-
     /*
      * Verify our destination addresses do not overlap.  If we allowed
      * overlapping destination addresses through very weird things can
@@ -208,23 +196,18 @@ out:
 
 static int kimage_normal_alloc(struct kexec_image **rimage, paddr_t entry,
                                unsigned long nr_segments,
-                               xen_kexec_segment_t *segments)
+                               struct kimage_segment *segments)
 {
     return do_kimage_alloc(rimage, entry, nr_segments, segments,
                            KEXEC_TYPE_DEFAULT);
 }
 
-static int kimage_crash_alloc(struct kexec_image **rimage, paddr_t entry,
-                              unsigned long nr_segments,
-                              xen_kexec_segment_t *segments)
+static int do_kimage_crash_alloc(struct kexec_image **rimage, paddr_t entry,
+                                 unsigned long nr_segments,
+                                 struct kimage_segment *segments)
 {
     unsigned long i;
 
-    /* Verify we have a valid entry point */
-    if ( (entry < kexec_crash_area.start)
-         || (entry > kexec_crash_area.start + kexec_crash_area.size))
-        return -EADDRNOTAVAIL;
-
     /*
      * Verify we have good destination addresses.  Normally
      * the caller is responsible for making certain we don't
@@ -254,6 +237,25 @@ static int kimage_crash_alloc(struct kexec_image **rimage, paddr_t entry,
                            KEXEC_TYPE_CRASH);
 }
 
+static int kimage_crash_alloc(struct kexec_image **rimage, paddr_t entry,
+                              unsigned long nr_segments,
+                              struct kimage_segment *segments)
+{
+    /* Verify we have a valid entry point */
+    if ( (entry < kexec_crash_area.start)
+         || (entry > kexec_crash_area.start + kexec_crash_area.size))
+        return -EADDRNOTAVAIL;
+
+    return do_kimage_crash_alloc(rimage, entry, nr_segments, segments);
+}
+
+static int kimage_crash_alloc_efi(struct kexec_image **rimage, paddr_t entry,
+                                  unsigned long nr_segments,
+                                  struct kimage_segment *segments)
+{
+    return do_kimage_crash_alloc(rimage, entry, nr_segments, segments);
+}
+
 static int kimage_is_destination_range(struct kexec_image *image,
                                        paddr_t start,
                                        paddr_t end)
@@ -666,7 +668,7 @@ found:
 }
 
 static int kimage_load_normal_segment(struct kexec_image *image,
-                                      xen_kexec_segment_t *segment)
+                                      struct kimage_segment *segment)
 {
     unsigned long to_copy;
     unsigned long src_offset;
@@ -719,7 +721,7 @@ static int kimage_load_normal_segment(struct kexec_image *image,
 }
 
 static int kimage_load_crash_segment(struct kexec_image *image,
-                                     xen_kexec_segment_t *segment)
+                                     struct kimage_segment *segment)
 {
     /*
      * For crash dumps kernels we simply copy the data from user space
@@ -727,12 +729,14 @@ static int kimage_load_crash_segment(struct kexec_image *image,
      */
     paddr_t dest;
     unsigned long sbytes, dbytes;
+    unsigned int dest_offset;
     int ret = 0;
     unsigned long src_offset = 0;
 
     sbytes = segment->buf_size;
     dbytes = segment->dest_size;
     dest = segment->dest_maddr;
+    dest_offset = segment->dest_offset;
 
     while ( dbytes )
     {
@@ -742,30 +746,35 @@ static int kimage_load_crash_segment(struct kexec_image *image,
 
         dest_mfn = dest >> PAGE_SHIFT;
 
-        dchunk = PAGE_SIZE;
+        dchunk = PAGE_SIZE - dest_offset;
         schunk = min(dchunk, sbytes);
 
         dest_va = map_domain_page(_mfn(dest_mfn));
         if ( !dest_va )
             return -EINVAL;
 
-        ret = copy_from_guest_offset(dest_va, segment->buf.h, src_offset, schunk);
+        if ( dest_offset )
+            memset(dest_va, 0, dest_offset);
+        ret = copy_from_guest_offset(dest_va + dest_offset, segment->buf.h,
+                                     src_offset, schunk);
         memset(dest_va + schunk, 0, dchunk - schunk);
 
         unmap_domain_page(dest_va);
         if ( ret )
             return -EFAULT;
 
-        dbytes -= dchunk;
+        dbytes -= dchunk + dest_offset;
         sbytes -= schunk;
-        dest += dchunk;
+        dest += dchunk + dest_offset;
         src_offset += schunk;
+        dest_offset = 0;
     }
 
     return 0;
 }
 
-static int kimage_load_segment(struct kexec_image *image, xen_kexec_segment_t *segment)
+static int kimage_load_segment(struct kexec_image *image,
+                               struct kimage_segment *segment)
 {
     int result = -ENOMEM;
     paddr_t addr;
@@ -795,10 +804,30 @@ static int kimage_load_segment(struct kexec_image *image, xen_kexec_segment_t *s
 }
 
 int kimage_alloc(struct kexec_image **rimage, uint8_t type, uint16_t arch,
-                 uint64_t entry_maddr,
-                 uint32_t nr_segments, xen_kexec_segment_t *segment)
+                 uint64_t entry_maddr, uint32_t nr_segments,
+                 struct kimage_segment *segment)
 {
     int result;
+    unsigned int i;
+
+    for ( i = 0; i < nr_segments; i++ )
+    {
+        paddr_t mend;
+
+        /*
+         * Stash the destination offset-in-page for use when copying the
+         * buffer later.
+         */
+        segment[i].dest_offset = PAGE_OFFSET(segment[i].dest_maddr);
+
+        /*
+         * Align down the start address to page size and align up the end
+         * address to page size.
+         */
+        mend = segment[i].dest_maddr + segment[i].dest_size;
+        segment[i].dest_maddr &= PAGE_MASK;
+        segment[i].dest_size = ROUNDUP(mend, PAGE_SIZE) - segment[i].dest_maddr;
+    }
 
     switch( type )
     {
@@ -808,6 +837,10 @@ int kimage_alloc(struct kexec_image **rimage, uint8_t type, uint16_t arch,
     case KEXEC_TYPE_CRASH:
         result = kimage_crash_alloc(rimage, entry_maddr, nr_segments, segment);
         break;
+    case KEXEC_TYPE_CRASH_EFI:
+        result = kimage_crash_alloc_efi(rimage, entry_maddr,
+                                        nr_segments, segment);
+        break;
     default:
         result = -EINVAL;
         break;
@@ -939,6 +972,153 @@ done:
     return ret;
 }
 
+static int kimage_calc_one_digest(struct sha2_256_state *ctx,
+                                  struct kimage_segment *segment)
+{
+    paddr_t dest;
+    unsigned long sbytes;
+    unsigned int dest_offset;
+    int ret = 0;
+
+    sbytes = segment->buf_size;
+    dest = segment->dest_maddr + segment->dest_offset;
+    dest_offset = segment->dest_offset;
+
+    while ( sbytes )
+    {
+        unsigned long dest_mfn;
+        void *dest_va;
+        size_t schunk, dchunk;
+
+        dest_mfn = dest >> PAGE_SHIFT;
+
+        dchunk = PAGE_SIZE - dest_offset;
+        schunk = min(dchunk, sbytes);
+
+        dest_va = map_domain_page(_mfn(dest_mfn));
+        if ( !dest_va )
+            return -EINVAL;
+
+        sha2_256_update(ctx, dest_va + dest_offset, schunk);
+
+        unmap_domain_page(dest_va);
+        if ( ret )
+            return -EFAULT;
+
+        sbytes -= schunk;
+        dest += dchunk;
+        dest_offset = 0;
+    }
+    return 0;
+}
+
+static int kimage_calc_digest(const struct kexec_image *image,
+                              uint8_t digest[SHA2_256_DIGEST_SIZE])
+{
+    int ret;
+    sha256_region_t regions[KIMAGE_SHA256_REGIONS] = {{0}};
+    struct sha2_256_state ctx;
+    unsigned int s;
+
+    if ( image->nr_segments > KIMAGE_SHA256_REGIONS )
+    {
+        dprintk(XENLOG_DEBUG, "More segments than allocated SHA256 regions\n");
+        return -E2BIG;
+    }
+
+
+    sha2_256_init(&ctx);
+
+    for ( s = 0; s < image->nr_segments; s++ ) {
+        ret = kimage_calc_one_digest(&ctx, &image->segments[s]);
+        if ( ret )
+            return ret;
+
+        regions[s].start = image->segments[s].dest_maddr +
+                           image->segments[s].dest_offset;
+        regions[s].len = image->segments[s].buf_size;
+    }
+
+    sha2_256_final(&ctx, digest);
+    return 0;
+}
+
+int kimage_verify_digest(const struct kexec_image *image)
+{
+    uint8_t digest[SHA2_256_DIGEST_SIZE];
+    int ret;
+
+    ret = kimage_calc_digest(image, digest);
+    if ( ret )
+        return ret;
+
+    if ( memcmp(digest, image->digest, sizeof(digest)) != 0 )
+        return 1;
+
+    return 0;
+}
+
+/*
+ * Find the entry point to the new kernel, we need to map the crash region into
+ * memory in order to read the kernel header.
+ */
+#define KERNEL_SEGMENT_IDX 0
+static uint64_t kimage_find_kernel_entry_maddr(struct kexec_image *image)
+{
+    uint64_t alignment_addr;
+    uint32_t alignment;
+    unsigned long dest_mfn;
+    void *dest_va;
+
+    alignment_addr = image->segments[KERNEL_SEGMENT_IDX].dest_maddr +
+                         image->segments[KERNEL_SEGMENT_IDX].dest_offset +
+                         offsetof(struct setup_header, kernel_alignment);
+
+    dest_mfn = alignment_addr >> PAGE_SHIFT;
+    dest_va = map_domain_page(_mfn(dest_mfn));
+    if ( !dest_va )
+        return -EINVAL;
+
+    alignment = *((uint32_t *) ((uint8_t *) dest_va +
+                                                PAGE_OFFSET(alignment_addr)));
+
+    unmap_domain_page(dest_va);
+
+    /*
+     * Ensure the kernel alignment is a valid LOAD_PHYSICAL_ADDR,
+     * which ranges from 0x200000 (2MiB) to 0x1000000 (16Mib) on 64-bit systems
+     * as defined in the kernel x86 Kconfig
+     */
+    if ( alignment % 0x200000 != 0 ||
+         alignment < 0x200000 ||
+         alignment > 0x1000000 )
+        return -EINVAL;
+
+    return ROUNDUP(image->segments[KERNEL_SEGMENT_IDX].dest_maddr +
+                       image->segments[KERNEL_SEGMENT_IDX].dest_offset,
+                   alignment) +
+                   0x200;
+}
+
+int kimage_efi_setup(struct kexec_image *image, uint64_t parameters)
+{
+    int ret;
+    int64_t rip;
+
+    ret = kimage_calc_digest(image, image->digest);
+    if ( ret )
+        return ret;
+
+    rip = kimage_find_kernel_entry_maddr(image);
+    if ( rip < 0 )
+        return -EINVAL;
+
+    image->efi_boot_params = parameters;
+    image->entry_maddr = rip;
+
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/public/kexec.h b/xen/include/public/kexec.h
index 40d79e936b..9bc94c6fd6 100644
--- a/xen/include/public/kexec.h
+++ b/xen/include/public/kexec.h
@@ -56,15 +56,24 @@
 /*
  * Kexec supports two types of operation:
  * - kexec into a regular kernel, very similar to a standard reboot
- *   - KEXEC_TYPE_DEFAULT is used to specify this type
+ *   - KEXEC_TYPE_DEFAULT or KEXEC_TYPE_DEFAULT_EFI are used to specify
+ *     this type
+ *   - in case of KEXEC_TYPE_DEFAULT_EFI the first segment will
+ *     point to full kernel to load and entry point will point to
+ *     parameters
  * - kexec into a special "crash kernel", aka kexec-on-panic
- *   - KEXEC_TYPE_CRASH is used to specify this type
+ *   - KEXEC_TYPE_CRASH or KEXEC_TYPE_CRASH_EFI are used to specify this
+ *     type
+ *   - see above for differences between KEXEC_TYPE_CRASH and
+ *     KEXEC_TYPE_CRASH_EFI
  *   - parts of our system may be broken at kexec-on-panic time
  *     - the code should be kept as simple and self-contained as possible
  */
 
-#define KEXEC_TYPE_DEFAULT 0
-#define KEXEC_TYPE_CRASH   1
+#define KEXEC_TYPE_DEFAULT     0
+#define KEXEC_TYPE_CRASH       1
+#define KEXEC_TYPE_DEFAULT_EFI 2
+#define KEXEC_TYPE_CRASH_EFI   3
 
 
 /* The kexec implementation for Xen allows the user to load two
@@ -195,7 +204,11 @@ typedef struct xen_kexec_load {
         XEN_GUEST_HANDLE(xen_kexec_segment_t) h;
         uint64_t _pad;
     } segments;
-    uint64_t entry_maddr; /* image entry point machine address. */
+    /* image entry point machine address or parameters in case of EFI. */
+    union {
+        uint64_t entry_maddr;
+        uint64_t parameters;
+    };
 } xen_kexec_load_t;
 DEFINE_XEN_GUEST_HANDLE(xen_kexec_load_t);
 
diff --git a/xen/include/xen/kimage.h b/xen/include/xen/kimage.h
index fccba1d88d..5bfb678897 100644
--- a/xen/include/xen/kimage.h
+++ b/xen/include/xen/kimage.h
@@ -11,18 +11,30 @@
 
 #include <xen/list.h>
 #include <xen/mm.h>
+#include <xen/sha2.h>
 #include <public/kexec.h>
 
 #define KEXEC_SEGMENT_MAX 16
 
 typedef paddr_t kimage_entry_t;
 
+struct kimage_segment {
+    union {
+        XEN_GUEST_HANDLE(const_void) h;
+        uint64_t _pad;
+    } buf;
+    uint64_t buf_size;
+    uint64_t dest_maddr;
+    uint64_t dest_size;
+    unsigned int dest_offset;
+};
+
 struct kexec_image {
     uint8_t type;
     uint16_t arch;
     uint64_t entry_maddr;
     uint32_t nr_segments;
-    xen_kexec_segment_t *segments;
+    struct kimage_segment *segments;
 
     kimage_entry_t head;
     struct page_info *entry_page;
@@ -37,11 +49,16 @@ struct kexec_image {
 
     /* Address of next control page to allocate for crash kernels. */
     paddr_t next_crash_page;
+
+    uint8_t digest[SHA2_256_DIGEST_SIZE];
+
+    /* Address of boot params. Will be loaded into %rsi. For EFI kexec only. */
+    uint64_t efi_boot_params;
 };
 
 int kimage_alloc(struct kexec_image **rimage, uint8_t type, uint16_t arch,
                  uint64_t entry_maddr,
-                 uint32_t nr_segments, xen_kexec_segment_t *segment);
+                 uint32_t nr_segments, struct kimage_segment *segment);
 void kimage_free(struct kexec_image *image);
 int kimage_load_segments(struct kexec_image *image);
 struct page_info *kimage_alloc_control_page(struct kexec_image *image,
@@ -52,6 +69,8 @@ mfn_t kimage_entry_mfn(kimage_entry_t *entry, bool compat);
 unsigned long kimage_entry_ind(kimage_entry_t *entry, bool compat);
 int kimage_build_ind(struct kexec_image *image, mfn_t ind_mfn,
                      bool compat);
+int kimage_efi_setup(struct kexec_image *image, uint64_t parameters);
+int kimage_verify_digest(const struct kexec_image *image);
 
 #endif /* __ASSEMBLER__ */
 
diff --git a/xen/include/xen/x86-linux.h b/xen/include/xen/x86-linux.h
new file mode 100644
index 0000000000..940d830323
--- /dev/null
+++ b/xen/include/xen/x86-linux.h
@@ -0,0 +1,62 @@
+/*
+ * This file was extracted from x86-linux.h in kexec-tools
+ *
+ * Copyright (C) 2003-2010  Eric Biederman (ebiederm@xmission.com)
+ *
+ * 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 (version 2 of the License).
+ *
+ * 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, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#ifndef X86_LINUX_H
+#define X86_LINUX_H
+
+struct __packed setup_header {
+    uint8_t         _pad0[0x1f1];           /* skip uninteresting stuff */
+    uint8_t         setup_sects;
+    uint16_t        root_flags;
+    uint32_t        syssize;
+    uint16_t        ram_size;
+    uint16_t        vid_mode;
+    uint16_t        root_dev;
+    uint16_t        boot_flag;
+    uint16_t        jump;
+    uint32_t        header;
+#define HDR_MAGIC               "HdrS"
+#define HDR_MAGIC_SZ    4
+    uint16_t        version;
+#define VERSION(h,l)    (((h)<<8) | (l))
+    uint32_t        realmode_swtch;
+    uint16_t        start_sys;
+    uint16_t        kernel_version;
+    uint8_t         type_of_loader;
+    uint8_t         loadflags;
+    uint16_t        setup_move_size;
+    uint32_t        code32_start;
+    uint32_t        ramdisk_image;
+    uint32_t        ramdisk_size;
+    uint32_t        bootsect_kludge;
+    uint16_t        heap_end_ptr;
+    uint16_t        _pad1;
+    uint32_t        cmd_line_ptr;
+    uint32_t        initrd_addr_max;
+    uint32_t        kernel_alignment;
+    uint8_t         relocatable_kernel;
+    uint8_t         _pad2[3];
+    uint32_t        cmdline_size;
+    uint32_t        hardware_subarch;
+    uint64_t        hardware_subarch_data;
+    uint32_t        payload_offset;
+    uint32_t        payload_length;
+};
+
+#endif /* X86_LINUX_H */
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 16:48:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 16:48:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325289.1590787 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUSIJ-0002KF-JV; Tue, 02 Jun 2026 16:48:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325289.1590787; Tue, 02 Jun 2026 16:48: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 1wUSIJ-0002K8-Gv; Tue, 02 Jun 2026 16:48:47 +0000
Received: by outflank-mailman (input) for mailman id 1325289;
 Tue, 02 Jun 2026 16:48:46 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wUSII-0002K1-DP
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 16:48:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUSIH-00FO3p-KD
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 18:48:45 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a1f095d-e002-0a2a0a5209dd-0a2a450bbc6a-18
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 18:48:45 +0200
Received: from [40.93.201.54]
 (helo=CY3PR05CU001.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a1f096b-212f-0a2a450b0019-285dc936d2da-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 18:48:45 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by SA1PR03MB6644.namprd03.prod.outlook.com (2603:10b6:806:1cf::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Tue, 2 Jun 2026
 16:48:09 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 16:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=QIZXcUNr/xyIjIWvz1duyWHJ637lb8x9r50EFLzgVsIrcSJtNY4+JpEUS0s2Ll0WrhLxV+WBKwEWlfN+4ISrqww1mVL5O80JRInzJfin7NayzGa3ikOE86z2FffMuSl6DbRARhqngeKZ0LsFiM4VgRn8nLlFZg5iQZFNFk5pn4sgV8c+oC8mno0vMDX7AHqj4NMtQxyEJki4WIx+m3E4LW+3dVMLMaxK9A9iCBVwF5PR/tj/ZRnyNmuJe6Z3vtxvZhdiqNhtE8jmWaFGMoCxn2fbeBOo80FMSmXaJQkH0agMwoBJ/Wiq7cKk3Dl+zASvnzjLt/l2JIa6X9dw+2P0/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=UFwniLJgHNjuv3GtumbskrsdLdfIoEIljqy0NDCVTps=;
 b=gpMVj2GaNBaITKFbTAcjKCHqLNeQXKAe+lLdvKd1Y5TUMcCiVSC9bLV0P6nol2fOsV1EJGK+o2h0tk0BiiuLuBPUeyQgcHMBgEUuwexoWredQvtb5P5MtL3Xq3IlHi5DkYh8X+1rKIV1hylUkvxlCfZ3Xsw3QiQwezfCmhIbOQySxI/4Ap1++L+U6nFpSw/brzsXmy5jSJGBVhsFh9HjyDOhb3AD1+TnvDBdU1pOshavZnel8y3pSjP5cYTT5e/YeuJE9/wFlEZDEgs011dq+VSaA23lEhB5yY82KBtY/Ff7JI5orsgul/w4P0ftvMA9dse8PXX9go4ti8SQQQOHqg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UFwniLJgHNjuv3GtumbskrsdLdfIoEIljqy0NDCVTps=;
 b=MQLaOuzgxS+YT/Fb2ivD8HggzKGCzLI3mN7gLJHt5a0JROE5uPcGBVPKgQzEZ4aEugZdEBi4PnQpnFII0LS3oHpOj8dHtHS/4uvKYQ83GOfoJ8Bqw7bGdH1OqeYFWOWAe3rshHqMUlHAwfvjhM5hgj1jr3zm2STX/xQmnT77VFk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Kevin Lampis <kevin.lampis@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH 1/2] Add lockdown mode
Date: Tue,  2 Jun 2026 17:49:10 +0100
Message-ID: <20260602164911.2684471-2-kevin.lampis@citrix.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260602164911.2684471-1-kevin.lampis@citrix.com>
References: <20260602164911.2684471-1-kevin.lampis@citrix.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO4P123CA0541.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:319::12) To BY1PR03MB7996.namprd03.prod.outlook.com
 (2603:10b6:a03:5b2::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PR03MB7996:EE_|SA1PR03MB6644:EE_
X-MS-Office365-Filtering-Correlation-Id: 9e215f14-2cbb-4844-b1a7-08dec0c6ba01
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|18002099003|22082099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	r0l9nWCJE/DFZ0EKj246orpxkkJc85j3IR/TnJrwIuzBuqY3basNtNgEEzs//uxeQmWvV0S7Kkr9C0F5tLlc31eT8Tvo443JfplKFZjkI/rMU2izlD2y2oZNVJIhPEIF5Rn2zMNRu7kLGc3X+b8tQJunWySTsDnez3BoYbr14vhk1POh72mvtzNMGc1xk/dSy3/FyVHV21u81RMkK71NjaOTc2t03qfIWzc+WujqRZU56OFgo2BjdTW/ScaItExn5qcckLk+FMU0AR6IjNCkyNdxaIErsVUDudNgu0088YlaKZlN22uufG4i4WsAXHkqb1mVIbEwKbAPQY8nubdFDxaIIzPpaNJwjWnG4FPIUb9Ozk2R/pWojirEZnEipJXYKVym92+d0h1CD2H2Zp7CUiYqZdKO/ohQKNrzNjAjUtXmewrdufPkm2tPtE46Wddll0QsAtYtccNWWFSDmKpY+uIfXYKEgcAbsTLcXx6PMTXtOpZEXAdmjgdH1XHar/uhL5UNZxG1wl7XtsayLxsmf2WUO/uKCCaOvQvzcTWQIkjrLcVFEwA1bL6/ZYcLTBifeg0Z2/jyfcjDg15LXIl2tMVaGBU50NotQw6oyLx78V3DmsBo7BPnm2JdpOucMIyuhQ+XJTxGBa+L7DkQZR2Cy7hNbdFuej9icq1tipJqXde3smABVp4aoDTepEoX943P
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(18002099003)(22082099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?p2fk12XerfJWQovYiyqel+60UTRgwuHEC55/qFCwK82gDKLkv/KOHRSPtikF?=
 =?us-ascii?Q?BXuy8p0Dig7jCL/TdPEGHDrJIlxE22RoSMnO4ruR6BQ0tz3mh/seU3b7G2bc?=
 =?us-ascii?Q?tpP6qHS6Nk9RZHCIbBKwY1iN6miW7tm8ebQ+m0ECw6qoPvEfE2X7b9QfjFD0?=
 =?us-ascii?Q?fzEBBLzzTpVy05/CJsNdUnzQ/1I1uhgG4wXRFx27dfLVbfhcYZMK2rV/Gp56?=
 =?us-ascii?Q?uVASaQBglAnbakBiDqNUbjvcrYQ+IqfaazOnW0E2+bCcQRIIVdt1ENHc6onv?=
 =?us-ascii?Q?y9syPtqUJ84xUxMXT6VMpoaC1+swWMS6KHBdwI9pudV3gtiBCpnH74PnAZjf?=
 =?us-ascii?Q?Ig8GiCvFMAZ7r1n08bInwTKxtxL+jufm26nFNABwK/v00C3vrk3UMYJPI2/n?=
 =?us-ascii?Q?+39yFsfmMgOhK8YXNrvW1rxR5ngpIEs4pPoLfYy9xbtqfQ11uh2IjdMpcByp?=
 =?us-ascii?Q?eyCDkhyPLQGt90qcMJNVz3MBU8pIum19uLNa3LLcuV2PkUUBiKE4iwuYxZi7?=
 =?us-ascii?Q?Ujj1Yo88D9iWDVbgyCTgXZL91Y1Fu2saHwBKGceOjCUSiM8kh76OvE7j4tx3?=
 =?us-ascii?Q?YPWRCrZHem0q30+ulpC7QJQOfuNhgBgUXUsEyLbXIlQ6yrbBgve0B3w86Xfz?=
 =?us-ascii?Q?qwgRztMjemTk9h8XonlC5ELRgMrpLG9obbSUW0tb15MkFZKkD6Io6/VX5taA?=
 =?us-ascii?Q?Is1avwIGfHseq3i8zqC9wiU3TzTasTZDHJf23VlLP5bzTYwHLP0Dh8FIZICT?=
 =?us-ascii?Q?6tht/Bc2RW8IcRZCa+BuawMP9ElTzDGulpi96YiJnosvc7V3M1cmsMnyj+EQ?=
 =?us-ascii?Q?cOiK+u/GS5rO39hniJH/2AmCwM/KLCWHWY2396X/lsRMOhSmyMqKVYCVBiwm?=
 =?us-ascii?Q?B9zWwqSBhDHpvsx+o+8Ep+NDB5j00LA8+LKUc+Qt0VKZC8gk2vmMiR5Jo1EQ?=
 =?us-ascii?Q?Jk3b3lkQkjA5I28us4/PRnCBdWMBWy+pV+zpTipxCrTYHfHNGAeaswaVXviQ?=
 =?us-ascii?Q?KLOwmT9xjsa4cbzJ+hRb6lqhIMntSTcymkubx+MwksxPHsJyoyOBuQ4tTZ/o?=
 =?us-ascii?Q?vUkM0AwwvhY+a0j1v1xW5NHSTpCLLQYUfH8AtHVTPpO3QOl1fiVx8UYTnXOD?=
 =?us-ascii?Q?/bOeBLTtj6/9ohJ0jwOlK4upc9o/SgCIV+w6R7AO/0M7itwR3vvpTpGC8WYE?=
 =?us-ascii?Q?UykaM66rHycguvmRiqaR6/nkO4VlozlkzSjaXKp/Y3Y5RZ+aukTAfyMQCGcC?=
 =?us-ascii?Q?Z07DwLTPeyWI+qJmXhMaRkF4B1WAZg8XUCFdGxlvt5n6F1V44REOJ02kRJ+N?=
 =?us-ascii?Q?yzl5GMAXbB25IVujSq5e/cF77KBwL93NOC1wimc5am2lKGtMzs5b6UP5C14n?=
 =?us-ascii?Q?JFF62VdhUuFF3fHWYvutQWY4K+ruugxGcMSdhK365//h/zoVsP41IsES1A7h?=
 =?us-ascii?Q?Hb5O6YhFimRwiXCzyiDvkKJFiR3CI0Jl+OxkYiU0+MPIYMtM7B2KY9bwV1gr?=
 =?us-ascii?Q?UmPCZxefXj5dILV7eQGaPSQF2UrxqAQjXG8G0+7iACwY0k8i2IUxi/6Nt0uB?=
 =?us-ascii?Q?5+sIG2A2A4CgJCuHPM97/Crwe9U8lioV/3985SNG++xlfa8Wa04mu3/dfccs?=
 =?us-ascii?Q?SLIXRgPt5qa8QJ7BjfJ25E314FzuAmluj889EXYBvu/C9uIFjT7ofSE696dW?=
 =?us-ascii?Q?WkF5mjKBgU/SrNqgm5chglN6ojjapcSz+c0eIHrC1gXY3JIxWS7PhJce411e?=
 =?us-ascii?Q?dak3Y9livg=3D=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9e215f14-2cbb-4844-b1a7-08dec0c6ba01
X-MS-Exchange-CrossTenant-AuthSource: BY1PR03MB7996.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 16:48:09.0894
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: y/h+clwiUjEH5wxvjgvMIPZJva8j8BYAlBW8hc8y/PrdF+RBGIUgV8TcBVDxphYPOxX6NMYkYG3SzQNeBr2XxA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6644
X-purgate-ID: tlsNG-42698a/1780418925-12971F3B-63E02016/0/0
X-purgate-type: clean
X-purgate-size: 5051

From: Ross Lagerwall <ross.lagerwall@citrix.com>

The intention of lockdown mode is to prevent attacks from a rogue dom0
userspace from compromising the system. Lockdown mode can be controlled
by a Kconfig option and a command-line parameter. It is also enabled
automatically when Secure Boot is enabled and it cannot be disabled in
that case.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
---
 xen/arch/x86/setup.c       |  1 +
 xen/common/Kconfig         |  8 ++++++
 xen/common/Makefile        |  1 +
 xen/common/kernel.c        |  4 +++
 xen/common/lockdown.c      | 56 ++++++++++++++++++++++++++++++++++++++
 xen/include/xen/lockdown.h |  9 ++++++
 6 files changed, 79 insertions(+)
 create mode 100644 xen/common/lockdown.c
 create mode 100644 xen/include/xen/lockdown.h

diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 19ee857abf..fd45a929f2 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -13,6 +13,7 @@
 #include <xen/kexec.h>
 #include <xen/keyhandler.h>
 #include <xen/lib.h>
+#include <xen/lockdown.h>
 #include <xen/multiboot.h>
 #include <xen/nodemask.h>
 #include <xen/numa.h>
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 5ff71480ee..c56326ff11 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -668,4 +668,12 @@ config PM_STATS
 	  Enable collection of performance management statistics to aid in
 	  analyzing and tuning power/performance characteristics of the system
 
+config LOCKDOWN_DEFAULT
+	bool "Enable lockdown mode by default"
+	default n
+	help
+	  Lockdown mode prevents attacks from a rogue dom0 userspace from
+	  compromising the system. This is automatically enabled when Secure
+	  Boot is enabled.
+
 endmenu
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 6018e25614..285e14b454 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -26,6 +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-y += lockdown.o
 obj-$(CONFIG_VM_EVENT) += mem_access.o
 obj-y += memory.o
 obj-$(CONFIG_VM_EVENT) += monitor.o
diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index fb45f81399..8351f55cde 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -14,6 +14,7 @@
 #include <xen/guest_access.h>
 #include <xen/hypercall.h>
 #include <xen/hypfs.h>
+#include <xen/lockdown.h>
 #include <xsm/xsm.h>
 #include <asm/current.h>
 #include <public/version.h>
@@ -217,6 +218,9 @@ static void __init _cmdline_parse(const char *cmdline)
  */
 void __init cmdline_parse(const char *cmdline)
 {
+    /* Call this early since it affects command-line parsing */
+    lockdown_init(cmdline);
+
     if ( opt_builtin_cmdline[0] )
     {
         printk("Built-in command line: %s\n", opt_builtin_cmdline);
diff --git a/xen/common/lockdown.c b/xen/common/lockdown.c
new file mode 100644
index 0000000000..6e9df36baa
--- /dev/null
+++ b/xen/common/lockdown.c
@@ -0,0 +1,56 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <xen/efi.h>
+#include <xen/kernel.h>
+#include <xen/lockdown.h>
+#include <xen/param.h>
+#include <xen/string.h>
+
+static bool __ro_after_init lockdown = IS_ENABLED(CONFIG_LOCKDOWN_DEFAULT);
+ignore_param("lockdown");
+
+bool is_locked_down(void)
+{
+    return lockdown;
+}
+
+void __init lockdown_init(const char *cmdline)
+{
+#ifdef CONFIG_PV_SHIM
+    lockdown = false;
+#else
+    if ( efi_secure_boot )
+    {
+        printk("Enabling lockdown mode because Secure Boot is enabled\n");
+        lockdown = true;
+    }
+    else
+    {
+        while ( *cmdline )
+        {
+            size_t param_len, name_len;
+            int ret;
+
+            cmdline += strspn(cmdline, " \n\r\t");
+            param_len = strcspn(cmdline, " \n\r\t");
+            name_len = strcspn(cmdline, "= \n\r\t");
+
+            if ( !strncmp(cmdline, "lockdown", max(name_len, strlen("lockdown"))) ||
+                 !strncmp(cmdline, "no-lockdown", max(name_len, strlen("no-lockdown"))) )
+            {
+                ret = parse_boolean("lockdown", cmdline, cmdline + param_len);
+                if ( ret >= 0 )
+                {
+                    lockdown = ret;
+                    printk("Lockdown mode set from command-line\n");
+                    break;
+                }
+            }
+
+            cmdline += param_len;
+        }
+    }
+
+    printk("Lockdown mode is %s\n", lockdown ? "enabled" : "disabled");
+#endif
+}
diff --git a/xen/include/xen/lockdown.h b/xen/include/xen/lockdown.h
new file mode 100644
index 0000000000..b2baa31caa
--- /dev/null
+++ b/xen/include/xen/lockdown.h
@@ -0,0 +1,9 @@
+#ifndef XEN__LOCKDOWN_H
+#define XEN__LOCKDOWN_H
+
+#include <xen/types.h>
+
+bool is_locked_down(void);
+void lockdown_init(const char *cmdline);
+
+#endif /* XEN__LOCKDOWN_H */
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 16:49:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 16:49:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325297.1590806 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUSIi-0003Aq-87; Tue, 02 Jun 2026 16:49:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325297.1590806; Tue, 02 Jun 2026 16:49: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 1wUSIi-0003Aj-4y; Tue, 02 Jun 2026 16:49:12 +0000
Received: by outflank-mailman (input) for mailman id 1325297;
 Tue, 02 Jun 2026 16:49:10 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wUSIg-0003AL-Gd
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 16:49:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUSIf-000Nsj-Tb
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 18:49:09 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a1f095f-bab6-0a2a0a5309dd-0a2a4503d05c-48
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 18:49:09 +0200
Received: from [40.107.200.54]
 (helo=CH5PR02CU005.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a1f0984-672d-0a2a45030019-286bc836bd99-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 18:49:09 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by SA1PR03MB6644.namprd03.prod.outlook.com (2603:10b6:806:1cf::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Tue, 2 Jun 2026
 16:48:05 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 16:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=W5Ry7R6ulYVOKWroGYUGWdsrrL8Cd68eUSlsMOAB8D0axnjP11s6IV2SJ6AknDfSI1ihWEgtBXwWrAcShdfHh4ng3mRdPwgsTwC/97kYjJpPOlxpXY6Xt4J4klc5zL+YFZlDCbarWJLq2J/mG1u1mfxW022lTwW9bVmAiDqUAvd8ypwdIQTY+1JdLWrGezz0nH4JCHp79Rc9aZOj2uaMZ968xs6rc5i4IJrrhCW722ttvITDVwOdkMnK7QIi1ERlXY3d3+Ef6mRyKRrp0m3YSna3+xn/x6UUeQSLIJcOhJqQ9a1/3FEAesmq6RPP6GYhSSkf6eBAGVZMYZpncdmugg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0Ao1A6TazqD3HAiyLKxm5Y6bvkJFT56da5zfk2wbE6g=;
 b=Krflo0yrzjUVULWIUuKpH/xLYGbH38jVH1Bw/EBrjKMYNsrcI3FrjOxJIU2nyElplen2vjWURKTvNRfCQ4RwEmIREWzrbSU1D5SQzwMcf27vh72fBSVPKgO9+GszhWechHeL/P1D29yNx4daezefK3tESeL2B1CkT3u9eReDmI6/1VlBlcUV+bM1nVKR/QBQ8eRIGd2CCo3cQb5eKJPPvXpHJenZytUztV6lLWhZ2Z0Qcxlic224FZ2o6b2zFR1/eChFdyVKQ6rDxKY4fxXqVLCm5vEBKb1HaXKBJtNu121vhLffKNzpjS0Gk7IxF6ohKoCjfhlEa84qdgWQ8+TVww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0Ao1A6TazqD3HAiyLKxm5Y6bvkJFT56da5zfk2wbE6g=;
 b=R2hGe+qP3dr8XvRxMoU1PlevtZSTMsPbKO7FKNym21I54/KQ1GyB8/fz266ZS88ij3JjNSkqZvcJkJh7RGrAtWim5wRd8MA2O8YIpmCw7h962O0nBVx7Rpgai0p2NFqvAR5OrvIf/z3LByj1M4XHJkEw+OlHp2hwVPZ30Z5CodA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Kevin Lampis <kevin.lampis@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Kevin Lampis <kevin.lampis@citrix.com>
Subject: [PATCH 0/2] x86/kexec: Implement crash kexec for Secure Boot
Date: Tue,  2 Jun 2026 17:49:09 +0100
Message-ID: <20260602164911.2684471-1-kevin.lampis@citrix.com>
X-Mailer: git-send-email 2.52.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO4P123CA0538.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:319::8) To BY1PR03MB7996.namprd03.prod.outlook.com
 (2603:10b6:a03:5b2::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PR03MB7996:EE_|SA1PR03MB6644:EE_
X-MS-Office365-Filtering-Correlation-Id: 2de8193a-2b68-4f9f-5344-08dec0c6b771
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	vs8mTa6UB7kEwgUKG+Fw3rGGi6u8gTBmJaRsV+jZCQicdHIxG+j9jOhNKUaEQNhTp8kRnUnf5joHbS+y6DLZZ6qTyBt7hOhKNGVARAIh8faQbzq/xCrXOweIW5fW/7g/puCPZAueu1NVkR96hFwNu7we86IYPKXyxBJ0uWetR8DxLiYj0f5spEQdq9OHUBFJPvSd1MedKG6QTd3vTNgWYCCMBOY63m6nSbhwY5vEJ9S0AViFJF+fpXmy54dI/0Gbuh0FHUcx4jS3ij+KZk6f+KLNvC49/krxfdeS+FIUuEKlpj5RLavFaUeQzWkOjrDzyou05EkcqEUqGWnNd0bnE9nDmdziDmWKGKO97iyPeRKxDnwFPVWUovc5kKD5jAwprtMtKxYSccNsw1Q/WqmE++pdpChckcYTN6LSoMbJZKIMjKXFIpADbh+OzotHNGXq7S7UCQhj0ePtDWgro8KZ5idTDBTKsozXpU6KE18MRU3ISafBfoI58RaJh7TO/nOtmYDM3cvEDJACIzwNc+fe9oIVDw5PlAX7F4yMBJBe5/rakh1a8NFzx5TFDL+9XhouvOaLRW1uwJsga9IWsLXt4iY1/ar1pBSqTyLdvbm1xY26iGAS+35BZ+Nk4vrXufo3utN1Ar3fZ4fH52VznY24s/8xk0suL9KYSabWYyBDDvbP9ol9q9IT/ZEV++DZsdy0Cg875/8XdB62X2LI2Z1hFQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?z1XMi1nGmfOcjKkIna/KYnVwWarH/xIdRhvalGEKkkijzW/IdeVo70g6n4sO?=
 =?us-ascii?Q?9lWAxRWvIlikhcDk20vkBZab91qUXz7wxxrC6NTDDKcyu/qjSMaeM8aW7ZJ5?=
 =?us-ascii?Q?MQXKK0DA7SxiA190LA0IwXxuIa3x+JtXkwBVtIA5KC3ai542zi85Xt9FuNit?=
 =?us-ascii?Q?njM4uug0PvXLD2410wBC+mY00Ms6JWMdFt1MebxNU+l2MgT6ngNWdCC3yOBn?=
 =?us-ascii?Q?CrrZlrtW8MG3lssCVI8DqiEkljVf0CNsPWDS8i3e5XNVlgvVHKWJrl0te/PR?=
 =?us-ascii?Q?Bb0tX+NDvpqsxVf/I8n63CgmP8K8ULdGU9Kpug2adg73jXeF3A5WU1DBK2yH?=
 =?us-ascii?Q?9vQUYqyKQr9Xo7NXvGDPKz5kqa+dZK2id0GFPffKMl+sxhpTR81cVOOTk3G4?=
 =?us-ascii?Q?3fJx4GO2OXLgvoRFGlzHXGIeHTpYwsdQmQubnPmGSjYjVsm1+T3n+3Tzxwyi?=
 =?us-ascii?Q?Hyl1eodsRuAHiP+810a5Xnvf/ifDz+FAPcGByhRqLWGinnsj2l9FD7gFKXPk?=
 =?us-ascii?Q?XigNqbes+vuh+1+bkL/ej3rnPiT7SvrR9T7OIO0aPGB2PcsR5Pcc7H8//Edr?=
 =?us-ascii?Q?YZZNL2MJynrMcJizqRHTopDke2wrEAgy0H10pEff+jddfvZ/aYKV25cb98HY?=
 =?us-ascii?Q?/ykSIlQ458o3uB1Kr4M6JHR6QTNT3+khG1hSnVyJ8sCa5mCWskhC9z/Nd5A+?=
 =?us-ascii?Q?DWw9EBotLOeJnUu6vaH+zlDzVA9MKtboY3QYo9reB4B7jVvKrwVgXncS/nfv?=
 =?us-ascii?Q?0voLl6SuhpqDHcjgP8FjBPmbLFwWWOovSvwiAOoH4/fIA+vxzGKBzfcpuIIX?=
 =?us-ascii?Q?TPEbPbgSbe6AhTfcGhu+LO6fxIULADnTZXncm7WRWnwfM6/wOihYXOagMCTD?=
 =?us-ascii?Q?9As3KWgAtJ5C1X4hV02kj8kJzpGP3QGmiyMPfnw4K44Is0U+Nza56yTHLxR/?=
 =?us-ascii?Q?vnTQqaxGlxnYkeNFm+06FIwafmbxa6O+EuK5AvK6VAgtDTEq/bBzwEn4r1fF?=
 =?us-ascii?Q?KAgNsZGsUdHf78TgDfr6mF3DVLsDiYSBPgLH863w5iFj7EXa7LSw/KK/NCa0?=
 =?us-ascii?Q?uhQt6uWUG8vBpvRsVt3Y5Gl0uq8jFQwj5SScIjTi8QBOk9VIATPKBpL/1I+b?=
 =?us-ascii?Q?tAhmPCmJSsbZ8J4gDXS+EhoCxo6UVSvT9rYpjk1rBxGRDHBn3nrEAVTfD8pp?=
 =?us-ascii?Q?qbr5cCFx9LVCgIxGWXOaa03hLgmo4msk8koTRJIZZGR0cHP3ytzjLlMTU+jO?=
 =?us-ascii?Q?hcEhRLF2L9BG0ZMw0GTUqtl5JQVDZh4wvBKpbiL+m1e4V2+hvZQ1N0NMG0NG?=
 =?us-ascii?Q?e5UXsxOpdW2Ag3Y2gy3sx41TN2RjwcIhbws2FvsnUcKg5q4hITX+WiFQefJ5?=
 =?us-ascii?Q?13qt3NWAgOnL/D/qyCbHikGxLJ2tWGl67p3C5GVCipvkhJGOvdE7DbJ599sX?=
 =?us-ascii?Q?IMS3Vf/H/FxsQk5VoTIFeek18OLafboiaW63unyQGWCuuFr0CYanUJZ62yZa?=
 =?us-ascii?Q?4TSBjGW79GkSnCTir3FHePH43ZyT3fH+b+dqRoH2v8zMpEC4oyNqeny2hEOI?=
 =?us-ascii?Q?XM/Mmzea21w+yqdJhsi8PuCnZJ+2hvfO8d5vxFed5tZk9EL2KZJrGafjeuDu?=
 =?us-ascii?Q?icGnJNckCNs+GeBLADIAB/fa6CwmdwB8LUt2nMYAw7PSAsnT5KDoymENsm1W?=
 =?us-ascii?Q?enrx5qBk+KlS0TyUhh1LPC10ErYhffnqPNF5D+SxWw1n4TYDCLSTgnV0jTM/?=
 =?us-ascii?Q?xIgiQOjsAQ=3D=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2de8193a-2b68-4f9f-5344-08dec0c6b771
X-MS-Exchange-CrossTenant-AuthSource: BY1PR03MB7996.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 16:48:04.8363
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uRcvdtGHsOwA50XPLO5I112wn47/Ymywpcz1D+TeTma1RKO6RLQ9aePWXXKakYcxiq3KbCzCDu8+RD+RWjyCww==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6644
X-purgate-ID: tlsNG-33051d/1780418949-3754F938-A8A4EBE7/0/0
X-purgate-type: clean
X-purgate-size: 1518

This replaces the previous series
[PATCH v2 0/4] Allows Secure Boot for Kexec
https://lore.kernel.org/xen-devel/20250507094253.10395-1-freddy77@gmail.com/

The main feedback last time was that almost all the purgatory code could
be removed.
- The digest check is now done in machine_kexec() instead of purgatory
- GPRs are cleared in kexec_reloc.S which shouldn't affect non-EFI kexec

Kevin Lampis (1):
  x86: Implement crash kexec for EFI

Ross Lagerwall (1):
  Add lockdown mode

 xen/arch/x86/bzimage.c                   |  40 +---
 xen/arch/x86/include/asm/machine_kexec.h |   2 +-
 xen/arch/x86/machine_kexec.c             |  10 +-
 xen/arch/x86/setup.c                     |   1 +
 xen/arch/x86/x86_64/kexec_reloc.S        |  16 ++
 xen/common/Kconfig                       |   8 +
 xen/common/Makefile                      |   1 +
 xen/common/kernel.c                      |   4 +
 xen/common/kexec.c                       |  41 +++-
 xen/common/kimage.c                      | 264 +++++++++++++++++++----
 xen/common/lockdown.c                    |  56 +++++
 xen/include/public/kexec.h               |  23 +-
 xen/include/xen/kimage.h                 |  23 +-
 xen/include/xen/lockdown.h               |   9 +
 xen/include/xen/x86-linux.h              |  62 ++++++
 15 files changed, 460 insertions(+), 100 deletions(-)
 create mode 100644 xen/common/lockdown.c
 create mode 100644 xen/include/xen/lockdown.h
 create mode 100644 xen/include/xen/x86-linux.h

-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 17:11:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 17:11:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325315.1590814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUSeH-0007aF-Uj; Tue, 02 Jun 2026 17:11:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325315.1590814; Tue, 02 Jun 2026 17:11:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUSeH-0007a8-Rr; Tue, 02 Jun 2026 17:11:29 +0000
Received: by outflank-mailman (input) for mailman id 1325315;
 Tue, 02 Jun 2026 17:11:27 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wUSeE-0007a2-MX
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 17:11:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUSeC-00CzmR-SH
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 19:11:24 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a1f0eb8-2eae-0a2a0a5409dd-0a2a450ba0fc-10
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 19:11:24 +0200
Received: from [148.163.146.23] (helo=mx0a-00498f03.pphosted.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a1f0eba-212f-0a2a450b0019-94a392175088-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 19:11:23 +0200
Received: from pps.filterd (m0384718.ppops.net [127.0.0.1])
 by mx0a-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 652E4bo52519383
 for <xen-devel@lists.xenproject.org>; Tue, 2 Jun 2026 17:11:21 GMT
Received: from sn4pr0501cu005.outbound.protection.outlook.com
 (mail-southcentralusazon11011014.outbound.protection.outlook.com
 [40.93.194.14])
 by mx0a-00498f03.pphosted.com (PPS) with ESMTPS id 4ej0m8t5ns-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 17:11:21 +0000 (GMT)
Received: from IA4P221CA0012.NAMP221.PROD.OUTLOOK.COM (2603:10b6:208:559::15)
 by SA1PR16MB6485.namprd16.prod.outlook.com (2603:10b6:806:3dd::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Tue, 2 Jun 2026
 17:11:19 +0000
Received: from BN3PEPF0000B36D.namprd21.prod.outlook.com
 (2603:10b6:208:559:cafe::49) by IA4P221CA0012.outlook.office365.com
 (2603:10b6:208:559::15) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Tue, 2
 Jun 2026 17:11:18 +0000
Received: from mx0b-00498f04.pphosted.com (148.163.138.245) by
 BN3PEPF0000B36D.mail.protection.outlook.com (10.167.243.164) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.0 via
 Frontend Transport; Tue, 2 Jun 2026 17:11:18 +0000
Received: from pps.filterd (m0426315.ppops.net [127.0.0.1])
 by mx0b-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 652GKRmg035127
 for <xen-devel@lists.xenproject.org>; Tue, 2 Jun 2026 13:11:18 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-usw.ser.proofpoint.com
 [50.112.124.217])
 by mx0b-00498f04.pphosted.com (PPS) with ESMTPS id 4eghss3m0m-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 13:11:18 -0400 (EDT)
Received: from localhost ([19.12.92.221]) by cmsmtp with ESMTPSA
 id USe2w6dUOYPuRUSe3wr0VF; Tue, 02 Jun 2026 17:11: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppford; bh=cHyMdNdm4E9FT7rs0Vccb3T6Sks
	wOhnENdmRdS9sf+I=; b=hR7YpihvQJfKaIh12s4auiPZHP02VrpIEDkAw+fDnUH
	vieUjE65aaHbx5cxJKiy69GXOuj6eE5/0PPQ9HTt7xsv9whhVyyokQse8e1n1Sbf
	5xBY78GqsAxm+nzUPWeTJTU489/BIIsoWLi/Wj4Y0roUFN0blTDQaVqrLIC6PaXP
	IdHpg6CQA3V7Wvl7A0q+q497X7QxLMu0/J5o+Z9Ac4u9X+9aMF98pY8IY10HqQj7
	NjifSdamWIBoCvK7sCXoT6C6Vgh4MB02zFXabCeXTSmTSFXUYFpeXidGhLz2xOFG
	WrHgEVLYeLAZkbeyTMDDG9VUHhW+P0SY/1ymwNgGQVA==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=HQ+Vv1VqmYS7QUTULraL2RiylGDeLumMCI8o/j4DdwHYIeed/UfaGVnr1+xHnY6anHetpM7eUqSzZ3ohw2VsCTg/qlZBoyhwV2BQQJf3Wg8A5wT0qFpTnVmgS/nvk/uLyZrQaC+scjQ5wMc2GoICCD8nSrI3TYADlVgpKNGyHQctd+57iEcwtiWPcaHZkaiNi5zT7+/XnT+DyauUd9kOKG437M6aC7aBGwDugTvhKxfThbb3u7/Y8TpFW37P6PBZfGlpJ2nwP5IEKcHJnBuUcIiiYEODzq9ryYnOwLuCwp2eADVD1aAVLkuJU6BO3l6x2fLHH8PFa82Xeg5enTg9rw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cHyMdNdm4E9FT7rs0Vccb3T6SkswOhnENdmRdS9sf+I=;
 b=Lkf8qfu/98E4DXECWbUDOsmgvUgunZoSGUIg+3cF/29h+UY4EjJ7e7Irly/DElF8iKjYlvb6VAxyVnn4bKSvATiOHxOXFAajF+xZ2pfDbLmELR6ONc7h27484VvP5nCa0/GFW8V+2LFwsGGV2KLjSzIMh6QxD/1/NknLmErr7QmIlkRPFQrfVIbSaDPOqFmFtqzIalXl3tv0s7nEBuiLEprt06lC4FrUGzdFW1peypwBPAkxBCnMP4eoXgCU/+KD5aLC1Org9aYoBCglPvSAYTzWNQQlAUGpwG6B2gCW92XTat4YDNBG+Z3hWWweptjaHvM468jHrLYTbmc/EV+s6A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 148.163.138.245) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cHyMdNdm4E9FT7rs0Vccb3T6SkswOhnENdmRdS9sf+I=;
 b=Zx2bKI6NcEwxbrHk6hRe6lhOoKUvYLp7OEF81v0U4LIy1zlxBn2tIXd9ndklS+vw2erF7HXp7d9jqMwe/cUhFhAb1LeUSSPM/NGqrVrk43YBrDOj0wsS67uhHzAVkJz4iAa79Ufm7rCa5Oy9dAwJoVU/NZ4GTqX1P4WzRRTkN8o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 148.163.138.245)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 148.163.138.245 as permitted sender) receiver=protection.outlook.com;
 client-ip=148.163.138.245; helo=mx0b-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppserprodsaar;
	 bh=cHyMdNdm4E9FT7rs0Vccb3T6SkswOhnENdmRdS9sf+I=; b=Q7nWo9GQU+ZX
	UwJax7LGY/8W7nAtMW204lVWBwvSRDMUGOmmZ5y9wtEWg4eEIx9JAQlDXRh8o42e
	mYmVuKCXSF8kBtxWif/NcH5GcaonUuTGRieK6+BU2KK3OxUswNZxX+H2kWP6mR3G
	V8t4bSJ5lQ40VxrUc5tquc9wj3SgaGpAoeIHbB9OOoQfm6T6enAeIK/J8kxX2efa
	FDMi/6EI2CQMW5+Tpfp7xZh3TUM+o7SzbCGxtPN24rzUDH0gmE4tuVIAbDDAqh45
	0uPvdmVbTIEg7RHKuYcbSRI0U2cacaw6vBFKhfmTT6tQ3+pD0q2sc6oJ8+nZ+/bR
	WvJE8oU9Dg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppfserpocford; bh=cHyMdNdm4E9FT7rs0Vcc
	b3T6SkswOhnENdmRdS9sf+I=; b=jkFew1dEO/jsnBMDN2yBYutgVD7xE6wj6aoO
	E3vz5BJekzRktNgGi7D8e/Wh4rXGHml9uCgDWjBBbCKR46cdEgIJh3olXCOzYENq
	CIkdY5a2hkL5ADlt9inqtd4xhIUvadT6Jf8FQ4tl9Ez9E6WzDa//TL3z95h7MvX/
	dcONHy+hH0xhM3F1kgzXRQJH6tD6rZo78hbxPRh4aCD4sGwcAAL8eS5/iuASoPkK
	ibjVYC6v75cpxVQ/tco/vZkkHtIggDeb5cYgTp2j35Pk4eyWs0R2Pkt4QVNCodwZ
	XG6UG0jX5ae6qXGpEOB6SxGqhHhRi20t1pzxm63FY1KYyaWhow==
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: USe2w6dUOYPuRUSe3wr0VF
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
Date: Tue, 2 Jun 2026 10:11:13 -0700
To: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>,
        Anthony PERARD <anthony.perard@vates.tech>,
        Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
        Michal Orzel <michal.orzel@amd.com>,
        Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
        Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v5 1/3] ns16550: properly initialize booleans in
 uart_param[]
Message-ID: <ah8OsWLjojlMiNSA@kraken>
References: <20260602161322.1039349-1-Zhao.Jiaqing@amd.com>
 <20260602161322.1039349-2-Zhao.Jiaqing@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20260602161322.1039349-2-Zhao.Jiaqing@amd.com>
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-02_02,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0
 adultscore=0 phishscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0
 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606020166
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B36D:EE_|SA1PR16MB6485:EE_
X-MS-Office365-Filtering-Correlation-Id: 05387a66-0727-4244-2a8b-08dec0c9f65d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|82310400026|36860700016|1800799024|56012099006|4143699003|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	DnErrn2crmVAi7E5Py5r05VZiKZVHQBHvbX8Uk0Cly90/F+s8dNclG9YDwAE+7+KQIcAY2nqYlThjcM+2z2wUbgiEtSQAwYcjpg/1XqCuZ7BN3SuB42YiE6Vj7qsq3UyfD2A9MJv2w5ldD2XdJdI72wrMXhPMzDKnmF/JZ5xWSwVh32+/W7hXe3PX3BqGB5VmVSFxjaoGRVs9UyC8u/OYWwN2l1mRYRtia8UAkXLbUzIX62nNMOyb9iQ7A7kmxS5Tb7UO+WlFXVWVtSVsWKgaZ7cwvMBgeIKk43nysjPf4AO2edjWk+cpHP+f5bH/5qVWhRrrHTbC3buEMufDlVBPsH/1E3dBzcafPGXgjoxvnZicP0587sW/aKbBySQ58KPIuOefFd0qPDehOMRj1GprYbkGeL27ctgsC22nqPd2GQg2MWJt4v//SGbUzf93rcrzzK1nnIAcoIhsJvzKLUFAZAJGv/he38BE8f+ejzNWMbxkXskxvfwkcnJgptldi5MMCZI5uNK0ANenWpm5OAHiFvDOsYm+pnkI11whOmxtVm4oNhtn1eI8tckdYdY1dCzWti2pRrAMWf2n9vdG76Z5VtKSX6FmhY6BI+Ub8BZ47MB8JxYhC5oVS1nPr43CqhMRqLTXPpJUSPngZcic9j7EbKT7CqQDwoThD7nmb5kq7wWiv7SACnAEBDJ8Htfg8ZL1UxXMAPYudPzO1pB/OPGj6m/nnJ7P3RZfTptbdcLZD8=
X-Forefront-Antispam-Report:
	CIP:148.163.138.245;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0b-00498f04.pphosted.com;PTR:mx0b-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(376014)(82310400026)(36860700016)(1800799024)(56012099006)(4143699003)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	c+2U/zI7mGNFHzaemru0MDhq888kQaBDF/zlnWqNIRBXGGvJN3fuPq2NzEpqpDfRF9hH76QWBCNC3EruiVw7puzQshny0VVRuVvRSV+gdSw5FmFKWZDSHR/v8GWwEpeHkxRL/cXIc4P4EyxU/1HUTYUaL/P46raCXeE41UNNcyRteD4eegrP/uh+rBCzpOf/vVPly3+masO6AKiYymApVRvfoImrz+7wLwPG7dt5CHcWNaciGEPMJtCdCZxVNoLNy8zQwhkd4DSfB5i8z/nWGYOER9JMkfbfMq9FfEVXqNe7u+u4kDlPg3msN/cf/Y8tOMv5FMqgGCBHNPGW0SX+mayfN4WuQ+NWOBWrjI7NXAovcx47RNppnvwyH3ZIRov8+dm3m8AieIvq73o6PZ22w9EqPyDTeTxmN88GMkdbaQ8ZRMOuXcjdxeN/3l82fOin
X-Exchange-RoutingPolicyChecked:
	OvqE8iKDj7uQOc2MCAi8uOCbh9fC3JKyn7gLuGVn2dwE6w9WzBs9Un7eOO4knV/3eH62RevWmXxdiqJuosx/r0hF88E2iVVJy6S971kcgtDQyZxGHa4myPmTsLsmsqPtuRZwB0s4aVNqY644yz45/yI0Bp7vBVDYRW6SjcsInx1zzhNwSKowr1T51vbpCFMcmd2BT4YDEi7qoVA2U8rbwMNhCNJovqUblvzid0et2ObpMQuhU7t2Urm6YWBZCx3DXMsH3jj5W8l9vbP6gaDhqrLyATY7y7oRS/hc2muKz+uaekmuvKo0KPAP4X/qfhQskGR7W0yCkWRfVuULa0sLHg==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	YYYmeW6br07RwTRJtrWZ2wEdc3mzZh1M6vP65MT/NvbuVeK8JD8MHKEmC2RWmDywVleINFcMTYRAsZ3xwyoGryX5hQLqV4j7t79pk7FtAnt2LvoF4BpK66bxF6RKQn7VbC+Aw5cpAXcRS9MqRD3P5/Iu6voBJSSpwH9d3JLkeBgQQ0QqxhLze+qWCFnAvKnt7AkIGOIahHgOZ6lgFXVQmZq1FFVoxx19UKAuTGS00GuaSb5kVHnn89bTV0xQXO1UVwQ3Fr3hXtDcSlu2w3mtEA8scAH76naa5edjYnDXrsQ2SXaFM22JpU7Br4tH/k0eddqLUqXpkJuMS0Rb/25u6lkZ42jmwSOzaCkUzhzwKMlZ2UHh8RAK3oxtmekRaN0rBcu9iXKlNSGTQ5FpZmoHM8UfQkhvrIEWu7eb3DeYiNvHq7881vG8DDJbsnTM+jVHwL4Knwf49p3n9iV56qmPlFN+uTOeDCYc2jphGdgxPwmS9PvHpTWmx92b2XFK6SISfSEqcdoJKjwlnYhk4t9D/E/5Z4nKXxrZ+/qzpMSjhlQyziPGTf6SVXec2+8jdrjSwxTE327AeDbZNIkigW/xFYLTgZWTj77RLQnz5AXSfEIhdz2WsV1aafq54MalyzqR
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 17:11:18.6595
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 05387a66-0727-4244-2a8b-08dec0c9f65d
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[148.163.138.245];Helo=[mx0b-00498f04.pphosted.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: SA1PR16MB6485
X-Proofpoint-ORIG-GUID: o9pEoFUFMR3CA5MXZuqTTE4eG_JaeLXq
X-Proofpoint-GUID: o9pEoFUFMR3CA5MXZuqTTE4eG_JaeLXq
X-Authority-Analysis: v=2.4 cv=DpJmPm/+ c=1 sm=1 tr=0 ts=6a1f0eb9 cx=c_pps
 a=u5a0R1DJIqwdmu/eAz29vw==:117 a=b7IhknPlfT0FN1EembXvig==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=kj9zAlcOel0A:10 a=FelO9ux0wxsA:10
 a=3PXLN80vpJUA:10 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=P_n1zlmtWsCQbjROFjcg:22 a=ARvDHhclS48edyKYUbLB:22
 a=zd2uoN0lAAAA:8 a=cbNQJ9GKAAAA:8 a=0od0BgLonnU7ZigJK8UA:9 a=CjuIK1q_8ugA:10
 a=DqJYxgmhk6moR-_7_KoZ:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAyMDE2NiBTYWx0ZWRfX6JV6vW3ilNz/
 MQIP1xDiFhrk6m5wIPTBJu3FHwywwXbwgGmKcjCSfPWohWmMzbsbXxAnMfdMbEjcaxvCQfBcPAU
 5dcXO0bcgn0ZW7Rp73KSwk3FZSPd0RBBVTNi0FhEbGhuUBANqOCKuuHsccNGXkovw9icSvj8giU
 gmJjP0z3nKxuUUo3yRK/lcuBSHper/a0cQXMKzCxwJd3nZyvwlUXqQoXy4bkgtmfn+/XsYiUOqU
 RJjQsvH+WWJ6Zqp8GotHpD3A3XqotqNuP+2ooBagcy0IFWZMc6lN97cU6hM31ZyNFXXXKZ+/I3H
 3vrnk3+j0CWvsyijI3E9xwtu4uKUqRrg4LN7HxIGOfKRIg0PzsqMFaZ72ozUR2ZjM/8MTDZCQc/
 WpR0APoGInShRy5yAUNmQ/QHqKA15BO3vvfpZ0eF0U7Vx1wvlzeQzdrnRl9bD4RM6fzvZKptz0z
 hSDxYynj/9twRQRWdjA==
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-02_02,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 clxscore=1015
 adultscore=0 malwarescore=0 spamscore=0 priorityscore=1501 impostorscore=0
 lowpriorityscore=0 suspectscore=0 bulkscore=0 phishscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606020166
X-purgate-ID: tlsNG-42698a/1780420284-23374F3B-1B8F9AB1/0/0
X-purgate-type: clean
X-purgate-size: 4290

On Wed, Jun 03, 2026 at 12:13:20AM +0800, Jiaqing Zhao wrote:
> .bar0 and .mmio in struct ns16550_config_param are booleans, hence they
> should be initialized with "true", not "1". No functional change.
> 
> Signed-off-by: Jiaqing Zhao <Zhao.Jiaqing@amd.com>

Reviewed-by: Denis Mukhin <dmukhin@ford.com> 

> ---
>  xen/drivers/char/ns16550.c | 30 +++++++++++++++---------------
>  1 file changed, 15 insertions(+), 15 deletions(-)
> 
> diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
> index 878da27f2e..ed4e29ec25 100644
> --- a/xen/drivers/char/ns16550.c
> +++ b/xen/drivers/char/ns16550.c
> @@ -758,7 +758,7 @@ static const struct ns16550_config_param __initconst uart_param[] = {
>          .reg_width = 1,
>          .fifo_size = 16,
>          .lsr_mask = (UART_LSR_THRE | UART_LSR_TEMT),
> -        .mmio = 1,
> +        .mmio = true,
>          .max_ports = 1,
>      },
>      [param_oxford] = {
> @@ -768,7 +768,7 @@ static const struct ns16550_config_param __initconst uart_param[] = {
>          .reg_width = 1,
>          .fifo_size = 16,
>          .lsr_mask = UART_LSR_THRE,
> -        .mmio = 1,
> +        .mmio = true,
>          .max_ports = 1, /* It can do more, but we would need more custom code.*/
>      },
>      [param_oxford_2port] = {
> @@ -778,7 +778,7 @@ static const struct ns16550_config_param __initconst uart_param[] = {
>          .reg_width = 1,
>          .fifo_size = 16,
>          .lsr_mask = UART_LSR_THRE,
> -        .mmio = 1,
> +        .mmio = true,
>          .max_ports = 2,
>      },
>      [param_pericom_1port] = {
> @@ -787,7 +787,7 @@ static const struct ns16550_config_param __initconst uart_param[] = {
>          .reg_width = 1,
>          .fifo_size = 16,
>          .lsr_mask = UART_LSR_THRE,
> -        .bar0 = 1,
> +        .bar0 = true,
>          .max_ports = 1,
>      },
>      [param_pericom_2port] = {
> @@ -796,7 +796,7 @@ static const struct ns16550_config_param __initconst uart_param[] = {
>          .reg_width = 1,
>          .fifo_size = 16,
>          .lsr_mask = UART_LSR_THRE,
> -        .bar0 = 1,
> +        .bar0 = true,
>          .max_ports = 2,
>      },
>      /*
> @@ -809,7 +809,7 @@ static const struct ns16550_config_param __initconst uart_param[] = {
>          .reg_width = 1,
>          .fifo_size = 16,
>          .lsr_mask = UART_LSR_THRE,
> -        .bar0 = 1,
> +        .bar0 = true,
>          .max_ports = 4,
>      },
>      [param_pericom_8port] = {
> @@ -818,7 +818,7 @@ static const struct ns16550_config_param __initconst uart_param[] = {
>          .reg_width = 1,
>          .fifo_size = 16,
>          .lsr_mask = UART_LSR_THRE,
> -        .bar0 = 1,
> +        .bar0 = true,
>          .max_ports = 8,
>      },
>      [param_exar_xr17v352] = {
> @@ -827,8 +827,8 @@ static const struct ns16550_config_param __initconst uart_param[] = {
>          .reg_width = 1,
>          .fifo_size = 256,
>          .lsr_mask = UART_LSR_THRE,
> -        .bar0 = 1,
> -        .mmio = 1,
> +        .bar0 = true,
> +        .mmio = true,
>          .max_ports = 2,
>      },
>      [param_exar_xr17v354] = {
> @@ -837,8 +837,8 @@ static const struct ns16550_config_param __initconst uart_param[] = {
>          .reg_width = 1,
>          .fifo_size = 256,
>          .lsr_mask = UART_LSR_THRE,
> -        .bar0 = 1,
> -        .mmio = 1,
> +        .bar0 = true,
> +        .mmio = true,
>          .max_ports = 4,
>      },
>      [param_exar_xr17v358] = {
> @@ -847,8 +847,8 @@ static const struct ns16550_config_param __initconst uart_param[] = {
>          .reg_width = 1,
>          .fifo_size = 256,
>          .lsr_mask = UART_LSR_THRE,
> -        .bar0 = 1,
> -        .mmio = 1,
> +        .bar0 = true,
> +        .mmio = true,
>          .max_ports = 8,
>      },
>      [param_intel_lpss] = {
> @@ -857,8 +857,8 @@ static const struct ns16550_config_param __initconst uart_param[] = {
>          .reg_width = 1,
>          .fifo_size = 64,
>          .lsr_mask = UART_LSR_THRE,
> -        .bar0 = 1,
> -        .mmio = 1,
> +        .bar0 = true,
> +        .mmio = true,
>          .max_ports = 1,
>      },
>  };
> -- 
> 2.53.0
> 
> 


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 17:46:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 17:46:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325330.1590830 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUTCE-0003uy-T8; Tue, 02 Jun 2026 17:46:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325330.1590830; Tue, 02 Jun 2026 17:46: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 1wUTCE-0003uE-Km; Tue, 02 Jun 2026 17:46:34 +0000
Received: by outflank-mailman (input) for mailman id 1325330;
 Tue, 02 Jun 2026 17:46:33 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper3@citrix.com>) id 1wUTCD-0003sA-Lw
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 17:46:33 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUTCC-000Wkd-GL
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 19:46:32 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a1f16e4-e002-0a2a0a5209dd-0a2a4505893a-24
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 19:46:32 +0200
Received: from [209.85.128.47] (helo=mail-wm1-f47.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a1f16f8-aaa8-0a2a45050019-d155802fd542-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 19:46:32 +0200
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-49068493267so68071765e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 10:46:32 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490b0e19b0bsm88089975e9.6.2026.06.02.10.46.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 02 Jun 2026 10:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1780422392; x=1781027192; 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=1vQU8SMDliXCdanFS8zXxLohLWQBLw69EX+A7rkuK70=;
        b=hfFWzRBa2FA+343c0hE9hi0VRCm+p9SpEr4c00svy/6m3Mz7XuTXV77+C4Ifpzbc3i
         vdWk1fUJ3v8JNAF8vr7zIE7eaT6pA++wuVDhqfwPOrUKjlIPvsPs8zmp5Cbt0OZogx3X
         zKAVAl1cMlu3ksjC8XL09TbQ7oiPPVG2NAWac=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780422392; x=1781027192;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1vQU8SMDliXCdanFS8zXxLohLWQBLw69EX+A7rkuK70=;
        b=rI8leDvV9Kh4a47XAJGXbJQiAI8mJorAMtfy/h6myYJwbt4YBU8nEsTy94h4ib37zX
         m5teMa/ehPLWkfFufFn5PtMW2PadLj3S/NIB83Gp41whv9Tj17r/unlNGeHRdmMgKVWE
         lMG8vssEoJCbBp2aVGOEqWwdcHbbVYc+MMhlo3M1HH2X4zkdW18Eq8QTXMlgKsoU5bhN
         dO5Vi0bbVvsqpOF09oIItbU9AhqdTW10d/2E0nN71GxG+xFr1YbugHRcRbHGX5RAUNes
         pFlZ9RUn+n9Bt8NhEdXRsfFHZPsCLBTcLfHInBzHqB/wfjoYR69qVz9xybXHx9bnx8d9
         Vm6w==
X-Gm-Message-State: AOJu0YwEIMxlaPZQOZVSfMs2dd4zRA/rDUca0bpWV7ezvk7EGjxrDgsc
	lmI33axwGZq/dacgbdtEOcOW3UtJY5CREn7zI1h9Iew2jODyT3E57xLh1RoCruBIOWsNzQaGfs2
	OYn6z
X-Gm-Gg: Acq92OGpq7bY+JHYHsP7R2ayPImoDTnmR+Y6anzPmVBnwcjJS7ERC4OOZt0JhvKuKmW
	hObWQ7TYExZTPrefxRxfYQRUZBChoAxQOcp/UAqDzXSMzmRU5NduQrxHDdgh/951awRnaNU/t0D
	Ugp9nGLgyTHJ0s97soCYd+IBeZVOtkpCRckwal8KDNYC76wU83q1/V8RWlvFzA3xitLh6AcdhXg
	Cz+331kGeCzJjt/GM/z+8gKwyEhTZUKjc/Wwf1MOuUOIF/15Qips0ha96MYZFwUv/5DbSyD0APw
	eiWQL6XMdWOPjuVwEiwJMUsigI83ISF8vuFWe/5NvPj7lznbB3EQkrdgjAae3Esa7UWqjRLlCCU
	Zt150EaHcBk7FhmLTFnlAdNlu0+8qIsNe1kcm8MQRcxlSu/juCwiv5imSpEqeriJuOwojug65xy
	+GNpRRDec8Y6AHANGcT/iYTds+iBv1Qh6GadJch20DGtNAVAz/rtpFHwMKlaGNsZ9khqiLMpOvI
	H/QqzL89TAWe6lLlGhvaJq/Aw==
X-Received: by 2002:a05:600c:6304:b0:490:9804:afdc with SMTP id 5b1f17b1804b1-490b50a669amr10176205e9.23.1780422391440;
        Tue, 02 Jun 2026 10:46:31 -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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"consulting @ bugseng . com" <consulting@bugseng.com>,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [PATCH for-4.22 0/2] Finish fixes for eclair-x86_64-allcode
Date: Tue,  2 Jun 2026 18:46:27 +0100
Message-Id: <20260602174629.2649448-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
X-purgate-ID: tlsNG-c201ff/1780422392-DBD67443-7FEDD0E2/0/0
X-purgate-type: clean
X-purgate-size: 439

Depends on Jan's "[PATCH v3] x86/PV: drop a local variable from
pv_emulate_gate_op()" which is ready to go in but not committed yet.

Andrew Cooper (2):
  x86/shadow: Deviate multi.h as being included multiple times
  CI: Mark eclair-x86_64-allcode as blocking now that it's clean

 automation/gitlab-ci/analyze.yaml | 1 -
 xen/arch/x86/mm/shadow/multi.h    | 1 +
 2 files changed, 1 insertion(+), 1 deletion(-)

-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 17:46:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 17:46:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325331.1590842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUTCF-0004I2-VF; Tue, 02 Jun 2026 17:46:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325331.1590842; Tue, 02 Jun 2026 17: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 1wUTCF-0004Hv-SF; Tue, 02 Jun 2026 17:46:35 +0000
Received: by outflank-mailman (input) for mailman id 1325331;
 Tue, 02 Jun 2026 17:46:34 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper3@citrix.com>) id 1wUTCE-0003sM-KP
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 17:46:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUTCE-000Wkd-0v
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 19:46:34 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a1f16e4-e002-0a2a0a5209dd-0a2a4505893a-30
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 19:46:33 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a1f16f9-aaa8-0a2a45050019-d155802be0a8-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 19:46:33 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-49050ff7cbdso108703875e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 10:46:33 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490b0e19b0bsm88089975e9.6.2026.06.02.10.46.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 02 Jun 2026 10:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1780422393; x=1781027193; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=izOPh0w/hfR+hx+3cA13Ap7a8TIuWX1KLBMyzOHAeGc=;
        b=kIvJ/PWaGONRA9aIzWPab+znzIXMIOb1Dh7WisBryIA56NPnS4Z9mR3oRvoosdO7UL
         Jsd/74YP5mH6ybLSgo+pJ7hCfhB2udt5ywaRjeVGnrr5bc6mAVqrr7kgKc27rlowxWct
         TfAjvhI+oy4WcnwsE2JZtod0ls+1E3YhSYr7I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780422393; x=1781027193;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=izOPh0w/hfR+hx+3cA13Ap7a8TIuWX1KLBMyzOHAeGc=;
        b=QFqNm+gB7ZyHKL+pYCC/iTZvaWw3vNJzC4hv3avyqaj2iskMsTvY9E8MLMGOdBjyVI
         Nps7cmuvGNYnJPg2YzW7zbuOy2rYYJfkCfp8zZ0MDDsUDgKAtEj9kqkAow5l2BhIkxt7
         hz4SGXF5eUkeyQZeMfw5QutHV2hoKI0cMFCfvtbZpca9K0rjFb89ydrcIfXIcRRbLOu9
         KOJxF+Ft0RSsmgU8sFmtSDc7umE/QCiObUrmb/lId7ko8O0tkm+gZ5YqCZYYagvmCFk/
         yFiKggmfS47+rAHuc1WFio+ydNGuYc41TrFT1IKaB+VTrg8Aoa82IXDpzs2ZHHZDVGGK
         9a4A==
X-Gm-Message-State: AOJu0YwMuKGMMOOouBzkVE/Z5BKKZrwp9Jdc0JIIiDfr2YkNNsscmzkv
	qh3qVABdh84y6FHVrjffAUgEvu4mkMbzMbxLp4MooRfjuAykTRjXhr95zvwAJSfITktNH7+JeqR
	f7FbE
X-Gm-Gg: Acq92OF6tiUHILeIpk+SHh7l0vn8h2qPl/3kAU4nAnwacsxQnDJe1/AfdJo6sfqmOyu
	3VeZMl7887c9bIY2P7L+tkDIiy39O3VfiB5DBXGQv/cZ9Nqs9YTq8VrkfMWTmSAWCUPco5Z79lY
	xnN8HT/dmnjIVvu/a1SCtxA7ZaT97DophTLoaEHsMC2Q3cJ7QpgrhGP9tBs1pbqCg8VKc5Z0X6W
	t8t1bkaTZWmt1GnRZXIaR19anY61tIA2hNoeWKfuhcyQVZHIm6P5/FNcy8DK6LIas7VVlkQPJCH
	4XREWgOEL6V0/Ziu1ZAI9w8dzi3dAuXxfg5BA5/4EFn+vnxCsZaawxJHEzCBVk2LtNpNo8mAJ13
	JDXb0uXa0baywp3KD6fkvgLcWJqIt3j9Qq3vL30fpbLMGWuGUZMRHzSWW9X0n4Y2eQ9Vg3L1wHk
	w0fCrvszWgqOSGGgBPub7gf4C9utqFoZYt7V9kAJdMXWH5tJU8PIO3d+nwjosG/EaGkVhjCLNzM
	UYg/32YB/mHMxYjLTVkFODd7w==
X-Received: by 2002:a05:600c:4e02:b0:490:b265:7940 with SMTP id 5b1f17b1804b1-490b50a6217mr12582285e9.23.1780422393111;
        Tue, 02 Jun 2026 10:46:33 -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>,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [PATCH 2/2] CI: Mark eclair-x86_64-allcode as blocking now that it's clean
Date: Tue,  2 Jun 2026 18:46:29 +0100
Message-Id: <20260602174629.2649448-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260602174629.2649448-1-andrew.cooper3@citrix.com>
References: <20260602174629.2649448-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1780422393-E318B443-CCF1212F/0/0
X-purgate-type: clean
X-purgate-size: 869

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/gitlab-ci/analyze.yaml | 1 -
 1 file changed, 1 deletion(-)

diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
index 9bf032931fc4..673110d40ed3 100644
--- a/automation/gitlab-ci/analyze.yaml
+++ b/automation/gitlab-ci/analyze.yaml
@@ -62,7 +62,6 @@ eclair-x86_64-allcode:
       CONFIG_XEN_GUEST=y
       CONFIG_XHCI=y
       CONFIG_XSM=y
-  allow_failure: true
 
 eclair-x86_64-testing:
   extends: eclair-x86_64-allcode
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 17:46:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 17:46:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325329.1590824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUTCE-0003sU-Hk; Tue, 02 Jun 2026 17:46:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325329.1590824; Tue, 02 Jun 2026 17:46: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 1wUTCE-0003sN-Ew; Tue, 02 Jun 2026 17:46:34 +0000
Received: by outflank-mailman (input) for mailman id 1325329;
 Tue, 02 Jun 2026 17:46:33 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper3@citrix.com>) id 1wUTCD-0003sB-Lw
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 17:46:33 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUTCD-000Wkd-1I
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 19:46:33 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a1f16e4-e002-0a2a0a5209dd-0a2a4505893a-26
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 19:46:33 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a1f16f8-aaa8-0a2a45050019-d1558032b5db-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 19:46:32 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-4906869f0cbso110976635e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 10:46:32 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490b0e19b0bsm88089975e9.6.2026.06.02.10.46.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 02 Jun 2026 10:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1780422392; x=1781027192; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=HHASvQZs+zF2C1SU8gUqZSMwu6r/GwtcIhf6JxzqkdA=;
        b=nnrGo4CvCVufqq5XPfvb0xn9dN6pfXGn1/dhFwPsUTXddfICPHRM8HoHJp58Cp4VMD
         wUYwvUmComH69LJRhchZAW69WBE0rELSlm2rjT8wlSjVHSqV0neDYU14CMgGKqFrtw0C
         REkJYOQ083lBxBydKqH/n9o0kI5zV2gC/vo34=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780422392; x=1781027192;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=HHASvQZs+zF2C1SU8gUqZSMwu6r/GwtcIhf6JxzqkdA=;
        b=skNVOd+gjRLbUA0+frKmC7o0jNadcijGy1C5YjxL5fKJ6Mt+WkzWwQFP2LbCBg4AWl
         jWTjPQMShzPvbff9S5jZTZnfNUCXqD9hB5A5wo2vPsO2exdKrJOpEbx160bUC0UGi/DN
         rE1Mh30YIzIh0ZFFOYhz+vYDBCXFyaC5/rRb9AGJHzbaG3uwZATs9W+SwmP21Rw4uTC1
         D2+YPqZW8fKsmRagm7cXb8LqSmL9ZzfRVOcJ1B0p5f61Cab1wbKUtYdlAGoKnKAzsI20
         qsu6zrvFhkakk5B2EP0V/Vjpss91cMitaAplyDN29Gu0pimWnc8LyWe8vxQcKpc+SFP2
         pAmQ==
X-Gm-Message-State: AOJu0YxJYtGuXdVO9xxx3OOLhX2ReljxkGL9iSKzsdhmEdwqXC8W198p
	3XlWr+VHiKNkWsG4x49lgifF3mhewWzwXH1GvzuyG5Soh2Vhmd9vJSfel0xuoKtrGLzemPMJcV2
	KXn0G
X-Gm-Gg: Acq92OFLmLB0nDxfh7lxUX45+fgJq9rfQhk2RzkbP+7NSy677y9nuge7VacPapM3vzN
	EBn1CvOgMvs2S2/J2t1td4lATmJgpYWqOPa09+iRgOiSQtIUWWDvGicv7rry71SfmUr1A0YE/ic
	mycNvPPfsA+XtTnLqn/JfJYuGzWX+uEDxgQp2oLQWT8YnWFX4WdA+xvtnuTSBISd0IzSArSOlOZ
	uY83TIdp4p6dDhNTk+gNsF+GjfEMcSnecX8SkkhAZzO9MkmzD6zM3jhtf9PZ2mOHeoTTwd3tiBS
	c7Skjq4NgJwXOAErR+epaTQrwYWUyBe37fbIcM3DGafQtjvB7GFdmXnrpXQSNQmyVRh33xpYG6M
	UBEqldCBiVlPlfV+MODqZvNPC6e5e47QkJPbOr9KKyhBoHbLBE+EPuvHygeAlTLxlyFNMKW/ncL
	T+2o5gHD/TL8knHpCukZmBIInZHu1og4OENzq3TOxcq769izNIWmVdgbHsDuG5FJclffbKp80Zx
	k/aoXC82O0YKeU=
X-Received: by 2002:a05:600c:3593:b0:490:5466:8591 with SMTP id 5b1f17b1804b1-490b5072a72mr13299655e9.12.1780422392129;
        Tue, 02 Jun 2026 10:46: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>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"consulting @ bugseng . com" <consulting@bugseng.com>,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [PATCH 1/2] x86/shadow: Deviate multi.h as being included multiple times
Date: Tue,  2 Jun 2026 18:46:28 +0100
Message-Id: <20260602174629.2649448-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260602174629.2649448-1-andrew.cooper3@citrix.com>
References: <20260602174629.2649448-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1780422392-D857B443-6F64AA09/0/0
X-purgate-type: clean
X-purgate-size: 1109

Introduce a range to search for the devation marker.

This resolves a MISRA D4.10 violation.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: consulting@bugseng.com <consulting@bugseng.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>

v2:
 * Use a range to search for the devation marker.

I can't for the life of me get adjusting the deviation config to work.
---
 xen/arch/x86/mm/shadow/multi.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/mm/shadow/multi.h b/xen/arch/x86/mm/shadow/multi.h
index fc86d7a8d9cd..3f2562d25e9b 100644
--- a/xen/arch/x86/mm/shadow/multi.h
+++ b/xen/arch/x86/mm/shadow/multi.h
@@ -8,6 +8,7 @@
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
  */
 
+/* SAF-8-safe inclusion procedure left to caller */
 extern int
 SHADOW_INTERNAL_NAME(sh_map_and_validate_gl1e, GUEST_LEVELS)(
     struct vcpu *v, mfn_t gl1mfn, void *new_gl1p, u32 size);
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 18:49:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 18:49:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325359.1590851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUUAm-0005Dc-AX; Tue, 02 Jun 2026 18:49:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325359.1590851; Tue, 02 Jun 2026 18:49: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 1wUUAm-0005DV-7e; Tue, 02 Jun 2026 18:49:08 +0000
Received: by outflank-mailman (input) for mailman id 1325359;
 Tue, 02 Jun 2026 18:49:06 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <bp@alien8.de>) id 1wUUAk-0005DP-1K
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 18:49:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUUAj-00CbGC-Ao
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 20:49:05 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <bp@alien8.de>)
 id 6a1f2577-2eae-0a2a0a5409dd-0a2a4505ae22-40
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 20:49:05 +0200
Received: from [65.109.113.108] (helo=mail.alien8.de)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <bp@alien8.de>)
 id 6a1f25a0-aaa8-0a2a45050019-416d716ce830-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 20:49:05 +0200
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 382AF40E00BA; 
 Tue,  2 Jun 2026 18:49: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 EI8TXzxJ_DQh; Tue,  2 Jun 2026 18:48:54 +0000 (UTC)
Received: from stx.tnic (unknown [IPv6:2600:1700:38ca:c00::16])
 (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 7E21D40E015D;
 Tue,  2 Jun 2026 18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=alien8 header.d=alien8.de header.i="@alien8.de" header.h="Date:From:To:Cc:Subject:References:In-Reply-To"
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=1780426134; bh=gxy9i9FFvFhWXdjT/xh3AljV8dg0OtulHYJ71ySt4sI=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=KxTBmQNRLIIDTgn03xIkm4JiSfQNgj4A53/DBf8Zk1l19kTr8JH26hpk0m323uYtq
	 Zq0chQprcuU2EQQea9dMk6LPH127tKWCJ2siaRA9UNCYF2dWqTyxHmaBa6Zvr8N5jN
	 GRsYm07tvh7Bp9y4Q6MOCfrKjCalhjq2fPaiNKC/3Z5Ux07OAsQEI5GHIcR49B36qT
	 4Z2SYNYXdMma4Hh+HmAawzmNM8InIzUVdv59RBbtNAbFOIAxbFiA/y5xGMAEBMWoKr
	 oyDaenykAXiqbS7CZOUvYteJX3sA2y3c9p61f4L52ZZzVo4saJxB+gpLPlVh/5oGYe
	 s5PBS0GlkaGoHcZ1umxUtYFoCDVLItfXH7+gVinw1ALbFYun8JdaJe1Q+lcNkoH2yC
	 R9ZUM3L2l1yBaah4kdJCuYBW6A7/nkn02olv3eiBEWhUTFuwHfDFHgztVD5plCLOyb
	 JWKGlCs0u16IXiWKeJeR8/DVjkH+UW8RMwNJKJJ9tm/XEg5wcarpinzk37bGcLcxib
	 AgghQjW+PNxXhgTvhWpN23Z7h1u/eDqHEU7bmb2BInWoFSKQQqaemNiUinSlMHEuZI
	 LvyCelgGfBHWttRrQkHDjxkLZlrSvRx2GhaD3p5L07cX1kvmD/eqfC4aIgP+EaO/19
	 c8GMhlrBSEvwrXnV9S3lKOqU=
Date: Tue, 2 Jun 2026 11:48:23 -0700
From: Borislav Petkov <bp@alien8.de>
To: Penny Zheng <penny.zheng@amd.com>
Cc: x86@kernel.org, ray.huang@amd.com, Jason.Andryuk@amd.com,
	stefano.stabellini@amd.com,
	Mario Limonciello <mario.limonciello@amd.com>,
	Yazen Ghannam <yazen.ghannam@amd.com>,
	Thomas Gleixner <tglx@kernel.org>, Ingo Molnar <mingo@redhat.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v1 0/2] x86/amd_node: harden amd_smn_init() against Xen
 dom0 topology
Message-ID: <20260602184823.GKah8ld2QJLm28xoa9@fat_crate.local>
References: <20260506055528.476493-1-penny.zheng@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20260506055528.476493-1-penny.zheng@amd.com>
X-purgate-ID: tlsNG-c201ff/1780426145-E1D9D443-1E3BDAC7/0/0
X-purgate-type: clean
X-purgate-size: 1508

On Wed, May 06, 2026 at 01:55:17PM +0800, Penny Zheng wrote:
> While booting a recent linux-next kernel as a Xen PVH dom0 on x86, the kernel
> oopses very early during fs_initcall:
> 
>   Oops: divide error: 0000 [#1] SMP NOPTI
>   RIP: 0010:amd_smn_init+0x188/0x2e0
> 
> Followed: on a kernel that survives the divide, it will fail by a NULL pointer
> dereference from the first SMN consumer (amd_pmc_probe -> amd_smn_read).
> 
> Root cause
> ==========
> 
> To prevent each dom0 vCPU from looking like an SMT sibling of another
> vCPU, Xen synthesizes guest x2APIC IDs as vcpu_index * 2. This spacing every
> vCPU's APIC ID by 2 can push the synthesized IDs past the package-field
> boundary. Linux then infers more "packages" and therefore more AMD
> nodes via amd_num_nodes() than the platform actually has, while the
> PCI-side host-bridge scan correctly reports the number of root complex.

Does that work?

diff --git a/arch/x86/kernel/amd_node.c b/arch/x86/kernel/amd_node.c
index 0be01725a2a4..0f1ad1883883 100644
--- a/arch/x86/kernel/amd_node.c
+++ b/arch/x86/kernel/amd_node.c
@@ -249,6 +249,9 @@ static int __init amd_smn_init(void)
 	u16 count, num_roots, roots_per_node, node, num_nodes;
 	struct pci_dev *root;
 
+	if (cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
+		return 0;
+
 	if (!cpu_feature_enabled(X86_FEATURE_ZEN))
 		return 0;
 

Totally untested ofc.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 19:14:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 19:14:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325376.1590859 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUUZK-00014k-6M; Tue, 02 Jun 2026 19:14:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325376.1590859; Tue, 02 Jun 2026 19:14:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUUZK-00014d-3R; Tue, 02 Jun 2026 19:14:30 +0000
Received: by outflank-mailman (input) for mailman id 1325376;
 Tue, 02 Jun 2026 19:14:28 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUUZI-00014X-M0
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 19:14:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUUZH-004D8u-IV
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 21:14:27 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1f2b8c-2eae-0a2a0a5409dd-0a2a4506bfec-6
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 21:14:27 +0200
Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1f2b93-7371-0a2a45060019-d1558036b542-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 21:14:27 +0200
Received: by mail-wm1-f54.google.com with SMTP id
 5b1f17b1804b1-4906869f0cbso112200695e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 12:14:27 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f344541sm1179447f8f.22.2026.06.02.12.14.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 12:14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780427667; x=1781032467; 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=dSIr93Nit88CgmFo+FQCaDv+E0MBYSBdW114dphcJdE=;
        b=aegj3+uY0x3SN3+2jBaJH1AbKA1ijv6JeTkxqL3F9pql6Ws9cvFoVEHyU50x2I7uTs
         SoEeEWJu720z3PIC54wxJvMH+3JJBV3QfUPTo97wk3sP+oGFsVpIvu7Q7rzSkg3QS8XK
         nT/+7TwTQCXGDKJaMEk26qgNL06Xg4EuswJWIYFhDJFw5xovqZAV2fZARj3HyU/xY4/s
         L301DWHT1nEKmxbVJJ43+BJhRwVtRC3A6ZuzHiEwdjOCm9VAauBLG1hCkQSSiQIDYFXy
         3es/lvtib6qw/1lNVGX+kv0OWWw8d3GFhkgVf7OrYySryONOTrTL02hCiCWRYYGEP0ON
         CFUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780427667; x=1781032467;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:to:from:subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=dSIr93Nit88CgmFo+FQCaDv+E0MBYSBdW114dphcJdE=;
        b=WJJGcK4sGaBvyuxdllhESimYIvwpAAxeFhDR+pazJ3SN/2u6zUbHEUQ/BJCPW0FVCT
         UCplMsN+sbcHmb+h7/B/860mQOx3AlgH2GhqVFYVG8YWSIYJoj7Vvfx66Q6WjGN+c6QM
         k9exfgzCMhw6iDjVI/loA3gQChEsT27jgHGw18Gca32aQ6cbEJvQnBwtSzD9XLdmt721
         hF+2Ppwjo1pEM8LfNLogq1B/PkEO1OKC/qsm8usww4mXS7IYsze1lZqybgp7Z6WoP3ab
         Zt+uGRU51LPnmxByG3ZA5lwZPsChLSEFknh+CrmMAIER/CtuhftDm1Rn9WRon8DD1F3X
         Sb3g==
X-Forwarded-Encrypted: i=1; AFNElJ9fyHtQvpTb/0fSsD39AD9tWZPcMtFcDx74vDCWff79kDeQZVmg7PdbYNs9IQd4FSHG6QCoD0r5RV0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxnIDoT4I8WEkCgCOqQ//ycrREOYbe7WtATxmcv4pGn3ihPTU4n
	mwPk10ym/SIDnUVf+OISjBFDSj7mYk/S9BJuwDZ5V27ueWeTJdGWez8k
X-Gm-Gg: Acq92OE1mqpff/GKvwiilagR0DnDVY6E4gP0IAn1DXIOWmb2g02lm9EvboT4AdXkbNE
	D16d/fkHqcS60Gvmch39KyihZ2jeIXqd5CiLt/bHPYlfe9tttgE0Ua9GPwkXbVcnlcXtKJ2xtzg
	V4ugnnI2YjjEfitRKAT9+NW9Z0cuz/ogkx6kYJl21Z9hU6MhdB0gWtg/8NUywVNRsk0yWk7k3k+
	maKUouKxLG/zDG0D2axCcsogmPMt3kxR5YBfOIt2dMZjBaGz5/kOazjqJCS7LXtc8Suibjee2Ex
	hFxncw+TnRLlgf5VuVuTOO6JxekuMAh97bLSnNEN1eTo4K7hFfkxFkv+MNx/U4Cn2iOH0aMP5Ez
	3jRAgA0s+dFzLYLQqK0QOzsPjNMHFuk2f/ClnXaOrW0eqEngb0PSDyzaUTwqSsXwzcPzqmFmog6
	fAMmdskGtGkrJM8PxiejdCqZmO5lGwBtrORtFZD1CXyUy7qyj+oMejegXkVSdQHUGwzyqh5T1Wa
	GmUBhq84YkQSxGx
X-Received: by 2002:a05:600c:8184:b0:490:688b:f10d with SMTP id 5b1f17b1804b1-490b5eb64c9mr2515745e9.7.1780427666737;
        Tue, 02 Jun 2026 12:14:26 -0700 (PDT)
Message-ID: <2bc872ab-3623-48c0-8bf0-14ee9fa82d2a@gmail.com>
Date: Tue, 2 Jun 2026 21:14:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] xen/domain: fix UBSAN null pointer dereference of
 d->shared_info
From: Oleksii Kurochko <oleksii.kurochko@gmail.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
References: <cover.1779712171.git.oleksii.kurochko@gmail.com>
 <04dd784b6b9a4dfca9a313ea8802d8d514d65021.1779712171.git.oleksii.kurochko@gmail.com>
 <3aef7763-aea3-496a-8c18-d3659f590373@suse.com>
 <fb1b1194-5855-49d9-99fc-d35a3038833c@gmail.com>
Content-Language: en-US
In-Reply-To: <fb1b1194-5855-49d9-99fc-d35a3038833c@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1780427667-8C87AD75-7F8596EA/10/73395122804
X-purgate-type: spam
X-purgate-size: 4121



On 6/2/26 6:11 PM, Oleksii Kurochko wrote:
>>
>>> Â  - Update the commit message.
>>> Â  - Protect some other places in common code from NULL pointer deref of
>>> Â Â Â  d->shared_info.
>>
>> What I'm still missing is the description clarifying why other uses don't
>> need guarding (or that there simply are no other uses, which - however -
>> I doubt).
> 
> I will add an explicit paragraph mentioning that the 2L ops in 
> event_2l.c are unreachable for a domain with no shared_info.
> 
> The only place which isn't covered now isÂ  domctl.c:108 (virt_to_mfn(d- 
>  >shared_info)) is only reached via the XEN_DOMCTL_getdomaininfo path and
> as RISC-V doesn't use it now it could be left as it is what also could 
> be added to commit message.

For that part could be considered ...

> 
>>
>>> --- a/xen/common/domain.c
>>> +++ b/xen/common/domain.c
>>> @@ -320,7 +320,7 @@ void vcpu_info_reset(struct vcpu *v)
>>> Â Â Â Â Â  struct domain *d = v->domain;
>>> Â Â Â Â Â  v->vcpu_info_area.map =
>>> -Â Â Â Â Â Â Â  ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS)
>>> +Â Â Â Â Â Â Â  ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS && d->shared_info)
>>> Â Â Â Â Â Â Â Â Â Â  ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>>> Â Â Â Â Â Â Â Â Â Â  : &dummy_vcpu_info);
>>> Â  }
>>
>> At the example of this: The extra conditionals are dead code on x86 and
>> Arm. While the status of the respective Misra rule is still uncertain
>> for Xen, imo we'd be better off avoiding the introduction of new dead
>> code. Which in turn means we may need some kind of abstraction to have
>> these extra conditionals in place only for arch-es not supporting
>> shared-info at all.
> 
> What about then add config HAS_SHARED_INFO to xen/common/Kconfig and then:
> 
> diff --git a/xen/common/domain.c b/xen/common/domain.c
> index e64b7df9b704..58442ce1f952 100644
> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -319,10 +319,14 @@ void vcpu_info_reset(struct vcpu *v)
>  Â {
>  Â Â Â Â  struct domain *d = v->domain;
> 
> +#ifdef CONFIG_HAS_SHARED_INFO
>  Â Â Â Â  v->vcpu_info_area.map =
> -Â Â Â Â Â Â Â  ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS && d->shared_info)
> -Â Â Â Â Â Â Â Â  ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
> -Â Â Â Â Â Â Â Â  : &dummy_vcpu_info);
> +Â Â Â Â Â Â Â  (v->vcpu_id < XEN_LEGACY_MAX_VCPUS)
> +Â Â Â Â Â Â Â  ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
> +Â Â Â Â Â Â Â  : &dummy_vcpu_info;
> +#else
> +Â Â Â  v->vcpu_info_area.map = &dummy_vcpu_info;
> +#endif
>  Â }
> 
>  Â static struct domain *alloc_domain_struct(void)
> diff --git a/xen/common/event_fifo.c b/xen/common/event_fifo.c
> index 59d9bf4c7ec0..3d7104100f0b 100644
> --- a/xen/common/event_fifo.c
> +++ b/xen/common/event_fifo.c
> @@ -562,9 +562,10 @@ static void setup_ports(struct domain *d, unsigned 
> int prev_evtchns)
> 
>  Â Â Â Â Â Â Â Â  evtchn = evtchn_from_port(d, port);
> 
> -Â Â Â Â Â Â Â  if ( d->shared_info &&
> -Â Â Â Â Â Â Â Â Â Â Â Â  guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
> +#ifdef CONFIG_HAS_SHARED_INFO
> +Â Â Â Â Â Â Â  if ( guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>  Â Â Â Â Â Â Â Â Â Â Â Â  evtchn->pending = true;
> +#endif
> 
>  Â Â Â Â Â Â Â Â  evtchn_fifo_set_priority(d, evtchn, 
> EVTCHN_FIFO_PRIORITY_DEFAULT);
>  Â Â Â Â  }
> diff --git a/xen/common/time.c b/xen/common/time.c
> index 1ee49a8b0d13..da8403949102 100644
> --- a/xen/common/time.c
> +++ b/xen/common/time.c
> @@ -94,8 +94,9 @@ void update_domain_wallclock_time(struct domain *d)
>  Â Â Â Â  uint32_t *wc_version;
>  Â Â Â Â  uint64_t sec;
> 
> -Â Â Â  if ( !d->shared_info )
> -Â Â Â Â Â Â Â  return;
> +#ifndef CONFIG_HAS_SHARED_INFO
> +Â Â Â  return;
> +#endif
> 
>  Â Â Â Â  spin_lock(&wc_lock);

...

+#ifdef CONFIG_HAS_SHARED_INFO
      info->shared_info_frame =
          gfn_x(mfn_to_gfn(d, _mfn(virt_to_mfn(d->shared_info))));
      BUG_ON(SHARED_M2P(info->shared_info_frame));
+#else
+    info->shared_info_frame = INVALID_GFN_RAW;
+#endif

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 19:22:04 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 19:22:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325387.1590869 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUUgX-0003TL-1X; Tue, 02 Jun 2026 19:21:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325387.1590869; Tue, 02 Jun 2026 19: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 1wUUgW-0003TE-UX; Tue, 02 Jun 2026 19:21:56 +0000
Received: by outflank-mailman (input) for mailman id 1325387;
 Tue, 02 Jun 2026 19:21:55 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUUgV-0003T8-IM
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 19:21:55 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUUgU-004X5A-S6
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 21:21:54 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1f2d2a-5cb7-0a2a0a5109dd-0a2a450ace04-38
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 21:21:54 +0200
Received: from [209.85.221.52] (helo=mail-wr1-f52.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1f2d52-56b3-0a2a450a0019-d155dd34e03a-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 21:21:54 +0200
Received: by mail-wr1-f52.google.com with SMTP id
 ffacd0b85a97d-46015dc517aso1775540f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 12:21:54 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f35eae5sm1416682f8f.33.2026.06.02.12.21.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 12:21: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780428114; x=1781032914; 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=dW/JdpSkmYJ8o+HCqZK1Bdu3oOZlTDFNLL6JBTzcd34=;
        b=XA1zcVyR9HW21NkNR6sjYaKxhkoL+tHy52V9GLvI0TwPZq59IywcjeHGRUeB1QOY7y
         2VOZNWzOSFE5ZYUPSz343SRXNMDGXMA+8RsqDdM5YdYiQzxbuf0sRcHflB7l2eO7vme+
         LwofFYSVWaFpo8ot1yBmQfZ4okxByelU3xYXAjm5eBcuGvxE3itbcA5zCNMfvc2xbWaj
         GFOpHuBm2+D2WX+Vejmt8wJ4QsQRxCM5spzvzQ2H5T1VSB+OiKbWIjNDvpcImuojgoeH
         0kE1AvpVqD6eldxCRS+WhWARVnp4znyVWoSSLwbCDkgHyCk66gwY4yFcITTUIuzVtEUa
         q6rQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780428114; x=1781032914;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=dW/JdpSkmYJ8o+HCqZK1Bdu3oOZlTDFNLL6JBTzcd34=;
        b=p4GU2lKGlRcx2PqR3FhmP2ovQTIXN15bgGHBdB9y+Hq4Lq7bXVXFjxAoP5mGRmYR2C
         BcxZbAf1MkxixWs7Ovcez+hDjkmKRIAkO8/nOKV7N9fZsFlN+V2zXFCXkeu8UiWGeVXO
         +g4srTFlsFAOzJYM2EB06OZ+Vok9n6NEnpIAG5dz9JFr1NFGZyhg+3nnH6NPZm4XJFNT
         1oXYGMaUJyVQwGItSj19GqkXbhO5jI24Zr6e8V+mAK80UK2k5ZvbcctAFnh/cyiHvQNI
         EXioSm3WHtIA9Sh3IhtCLydxwfMZMbHean9CrJb7ikUG2WfsHkhlHcCHS+8Ju1IW372e
         eu5Q==
X-Forwarded-Encrypted: i=1; AFNElJ+Ed+cqMG3o74O+IyareP61sPnN2sx/ViV1D1wHtdZN/+3U/Nrzm3LBjHfTTNr8eRZ74h7E0w7zXOU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyJ1lBy83ioO2rxZO5BwpEhXR2HwlbrxsPbSgVE5DrIu4mSzdB3
	FRtD6IPPyu97E2GWfOkOHLB2ymQL/8nG+iNlWQMobv33lWq+YVe8EFMssg22eA==
X-Gm-Gg: Acq92OGIHfplaglb5hD442nA+4SGgBBlVuEVNMczXeNZ54EbuSRRSk7rQ1xnSYHqjJi
	WWZhvAM4/8FBpWaCcm3vwCwluKmeyOeNSRP17fCaNV2sMAaahb9OzYzKiAgmpnWpyWTuc+13YL/
	pGZeAzSRJ6RF7dupMFLbYMu39gb0j8rzNH/EkQu2CpMWbGIWF2qvolyEAgfiw0i+7TBxhhE+aCy
	T4ow+Kc8hwl3VA+DzZ6TVn2zVqxaQf3aC/LzsN9QZ9K6/xkHfuNO4h+4reECQfbkt1DvPd5Ctcg
	xM6CbZkArAE6C+ba/4gmbdb/7vlldSTyu8FEZ3z9eEY+KhEfYM0irI1/VLFyXgOfPUIIdmOi2O1
	RAsPlsxr4sCLIQwVbfBUal8gOeCbke0/E08EK6jGJseHaGnU3S/In5/T153k0Wtw9hrIcq6HMUX
	UC2pRkc6tVgKGJF19vyuGqwVnz18pUPG+JREbBf5WgiZ5JMu4mX2+hAJ2cYiyo9iV+eyVba0q6g
	i2F8sZLSJKrD9gf
X-Received: by 2002:a5d:670c:0:b0:45e:f5bf:6c25 with SMTP id ffacd0b85a97d-4601f62c38dmr652287f8f.32.1780428114125;
        Tue, 02 Jun 2026 12:21:54 -0700 (PDT)
Message-ID: <17af7606-c388-4d82-b219-cd45d2c19827@gmail.com>
Date: Tue, 2 Jun 2026 21:21:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] x86/fred: Enable FRED by default on AMD systems
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>, Teddy Astie <teddy.astie@vates.tech>
References: <20260602164519.2634144-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260602164519.2634144-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1780428114-713638B7-F755C7B2/10/73395122804
X-purgate-type: spam
X-purgate-size: 1087



On 6/2/26 6:45 PM, Andrew Cooper wrote:
> FRED is now believed to be complete for AMD systems, and has had its tyres
> kicked by both XenServer and AMD.  Enable FRED by default on capable AMD
> systems (Zen6 and later).
> 
> Support on Intel is still not yet complete.  Leave it as tech preview and not
> security supported.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <jbeulich@suse.com>
> CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
> CC: Teddy Astie <teddy.astie@vates.tech>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

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

> 
> The issue on Intel is to do with virtualisation of MSR_SPEC_CTRL for PV
> guests, and is waiting on the resolution of a question I've asked Intel.
> ---
>   docs/misc/xen-command-line.pandoc | 6 +++---
>   xen/arch/x86/traps-setup.c        | 4 ++--
>   2 files changed, 5 insertions(+), 5 deletions(-)
> 

Don't we want than add that to CHANGELOG.md that FRED is now enabled by 
default?

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 19:29:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 19:29:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325396.1590878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUUnL-0004Ih-Mx; Tue, 02 Jun 2026 19:28:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325396.1590878; Tue, 02 Jun 2026 19:28:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUUnL-0004Ia-K4; Tue, 02 Jun 2026 19:28:59 +0000
Received: by outflank-mailman (input) for mailman id 1325396;
 Tue, 02 Jun 2026 19:28:58 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUUnK-0004IU-Lz
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 19:28:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUUnK-00Ci2G-2x
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 21:28:58 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1f2ed3-bab6-0a2a0a5309dd-0a2a4502ae38-36
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 21:28:58 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1f2ef9-af86-0a2a45020019-d1558033cc37-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 21:28:58 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-490a7629380so29207815e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 12:28:57 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490b0daefbbsm148836365e9.0.2026.06.02.12.28.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 12:28: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780428537; x=1781033337; 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=5mi+/E3iSbj/it8QAr4SFrf7baCNi6gWWFfdMvKv0VU=;
        b=aHbNLTJXcXgHXzCcijEzmfZmidZ6XybF7rDuiRNh0p6qn5L366Q1hS5YT2yNcUQIrI
         H+uIhj+0FTC5Fc6m53yy2/3Q07P0gnPD2X1tkfU4Gx/iNp+CF2fvitk1f5ri1AGWNQLK
         0Eem/8UoSovjLIwZuzWqBpkLU4rW9vNZCdhiUicwyNRe+Cly0eoiyBFV8kJuZT74nbXT
         rXQwzgIN+wRaF3uxJX27gBYxYyWNjGNypnIa3Am5X4dxw1LxHUhqW7STI3AHI6hON1Ks
         putavJ3r3TXHc9NdmQi15sxLsDer15WM7XkGRFSZHkDHdDKXYV7t5EMJYwKurn4Oa8aa
         /K8Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780428537; x=1781033337;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=5mi+/E3iSbj/it8QAr4SFrf7baCNi6gWWFfdMvKv0VU=;
        b=bwn5CK0ZCZSltr4O3ZqBaEKMGWS9pikO7Aj3tHYTXwLp7Zrupnrn+zBJu5CiOJBlmM
         fCmwQTJ25W9DRFwgHZV1sNUtbfsNm2nfzvohzSVCZTvXjR2wU83FN+7bhEfPtfSvOvK5
         YYQnwMLK0cNwbX0wJdxzL4oue9QEGN6LWW03mGftjzd9QJTSd8kfTsgac/s7HGs8EukQ
         S/+AT/GnjzMbERxWwyLmt4RN02Q5mL5sLZh7RBq0u1Hv+HqmTFPccd7Srx0bOSzF1Mrk
         D3ldVawvo9YeZbvLCpCcAYlq/2ZaIAcXB09d+62ETyTaJiqb7CpCs1TbFl6akMpjwqSG
         ZDOQ==
X-Forwarded-Encrypted: i=1; AFNElJ/Da2dfnh//YJ+WPvu82NdqYUuvS8n9qk9O4l6mmmSysZoDhnGafksPB8ZhqKeNhc0mjlBoAbZioxM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz6INWuC9wgG67z2U0SJ/3xqBiBBMicw7x9jjbS5wOG9bjmE/dr
	VgPZkOgczYJAOuL/JD7TJsCOCLkEo4tlPQKqL1PshyjSQeXaqX3EOQpl
X-Gm-Gg: Acq92OENAOU+fQNQ/K9coKI8qYB7oev9RfSDxPNYq6jsV0tORuZFlJ8B8y2cAgckG02
	pAXN/tW6366MotEEWgqLYsJLqrZrWHApkMPQ7ODG6IVbSfkKf2DJDZ38f8a1TRRrBQfFVshVWZF
	Z3UStHNLUgQtLWg2viUs+nL2mVLTunAKGo+QdC2RTYr3xbxDJGZmCKxl62+HdPu8cNEVFjTNtBk
	fbmBBCLQDVk+V2dzSrt2u51oQJGvZxkmsD3s849THplGdoIPqFjox4WPwyRBFYFUps++RiNVsZh
	2svKqXYEo4yP7Z7KuJltr/S7qBMuIr3NP8lFRwLqwksFy+iqKN2UNa6ShwBBCQSyAcEa/IzMcoX
	mcTN19CYBxkUtSAoDxaQaA9ojjb3m/Q38t7RCBefKdYxPpi2KzDA7PbNllvXxyI6jMf64LC1M6f
	2FwY4HFwImmAS7paFE0soZHLt6txziwLsYihl/VWi3Umol3+LoOJRQpbxzVNmk86Tc/uvW+JwWn
	RHnD0W++pjzxPD+dNsMrKCe0u8=
X-Received: by 2002:a05:600c:6092:b0:490:b3fe:9732 with SMTP id 5b1f17b1804b1-490b5ec3f9amr3702525e9.16.1780428537400;
        Tue, 02 Jun 2026 12:28:57 -0700 (PDT)
Message-ID: <03871ebf-054a-4c9e-93c5-6131e06ea352@gmail.com>
Date: Tue, 2 Jun 2026 21:28:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 0/2] Finish fixes for eclair-x86_64-allcode
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>, Stefano Stabellini <sstabellini@kernel.org>,
 "consulting @ bugseng . com" <consulting@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <20260602174629.2649448-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260602174629.2649448-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-720697/1780428538-81772161-372CA5F7/10/73395122804
X-purgate-type: spam
X-purgate-size: 589



On 6/2/26 7:46 PM, Andrew Cooper wrote:
> Depends on Jan's "[PATCH v3] x86/PV: drop a local variable from
> pv_emulate_gate_op()" which is ready to go in but not committed yet.
> 
> Andrew Cooper (2):
>    x86/shadow: Deviate multi.h as being included multiple times
>    CI: Mark eclair-x86_64-allcode as blocking now that it's clean
> 
>   automation/gitlab-ci/analyze.yaml | 1 -
>   xen/arch/x86/mm/shadow/multi.h    | 1 +
>   2 files changed, 1 insertion(+), 1 deletion(-)
> 

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

Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Jun 02 19:30:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 19:30:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325402.1590887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUUoY-0005kh-VQ; Tue, 02 Jun 2026 19:30:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325402.1590887; Tue, 02 Jun 2026 19:30: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 1wUUoY-0005ka-Sm; Tue, 02 Jun 2026 19:30:14 +0000
Received: by outflank-mailman (input) for mailman id 1325402;
 Tue, 02 Jun 2026 19:30:13 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUUoX-0005kS-9A
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 19:30:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUUoW-000kcC-MF
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 21:30:12 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1f2f24-bab6-0a2a0a5309dd-0a2a450cb7d0-42
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 21:30:12 +0200
Received: from [40.107.209.10]
 (helo=PH8PR06CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1f2f42-62f1-0a2a450c0019-286bd10a4659-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 21:30:12 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by IA1PR03MB8264.namprd03.prod.outlook.com (2603:10b6:208:59f::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Tue, 2 Jun 2026
 19:30:08 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Tue, 2 Jun 2026
 19:30: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=MZOfLjR8WSjnuYGNu0i8Ve80BJeKOgR8C/A56woRauDXV8OxTshVMaCo/J3WrDrWzu/PYwwKC2SUFgNuYsDgeIGem78ogfqDUTMG1h2Jb4tou/Q6+HraOAWYOjyTqvBK+7wzWP+0E+M/lpujLLbDKCZngBw8vXtGIj8C1ipGUdWkBicsFECEqXt32mGc1jqVqmgCz+mHtwIDVeYriDMguyinj7sCo2aYwtfns1EngLzz4eG/uG6PqMtkqAfip93SAaoCMHkHzPgW36MC6xCzjGufmlEx6+93v8Q92mgd2E37cXeBg0MYuYaRFvPjSZEjwsffUjEl9otDKCI3HR562Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kUbXGS6PBpQdD8oKjFxiOFjw0sYoiIcw6PRKJ8MP9GA=;
 b=JZwgFH4uXR7J6xSVSTBhSkW0A0nX2eQ562BjD35AhslB2s/V/5xEXDPbI5lL+yvalJuLMITXNMaMTVIJzUutm3IRaCgagVJEeRFWj+2xYOigzYzqE5QqSqziP8TpjtglGXZbB3WUjiP7PH8L6UR/e5Z0xvOc9VH8tqUNRwxQi9z7WoEqHUJXVrzl6FpSEcpkWz75jVQd0rc2hvXPPbRjHZZWqAXNnyvoHUksOXMrX2a2d6Zk9dAKg/0hxATd+CtcgdluSOAXLoZ30hOFG2ufBb2IeAZUCEbbLi/L+bhDLCJIe1dZHOdU5/Qkkt8UBxOedo/gJ7WQIRazQMX+bZwczA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kUbXGS6PBpQdD8oKjFxiOFjw0sYoiIcw6PRKJ8MP9GA=;
 b=Xd9nBGANbUQbm4tn+f6EClFJLGbZivZ1/akJMGYSW9VUN/Y7VcaIuJ8WGnqkErB3b1x0WULXUD6ixg3H2uVW1Y/A4D8bL5iSwKAdO/CF7Td6OeFWLv+p0kRFv+Yg6RqPkaW0zTDAvfv//hL9yU2TOf8y5hKpB4WPBv2VEDs4NA4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <2ee5550c-6e0c-43bd-b8e6-40dfc3ca18bd@citrix.com>
Date: Tue, 2 Jun 2026 20:30:05 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Teddy Astie <teddy.astie@vates.tech>
Subject: Re: [PATCH for-4.22] x86/fred: Enable FRED by default on AMD systems
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260602164519.2634144-1-andrew.cooper3@citrix.com>
 <17af7606-c388-4d82-b219-cd45d2c19827@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: <17af7606-c388-4d82-b219-cd45d2c19827@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0489.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:13a::14) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|IA1PR03MB8264:EE_
X-MS-Office365-Filtering-Correlation-Id: 75dbaf46-4ac8-428c-084a-08dec0dd5b52
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|56012099006|4143699003|5023799004|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	7w9doAoc+GQUZGnwwimBI0jR3ytFxtM90okWWbfcO1CT8hyw0kWeeb68zhl0CStiKqcqgRkWQ7W7pQl0gKISqLByPqKFRJFJnU88wyYlcmFtQC4d5/r3FbpMybiPuoyukXtYLDlksjYOAenWoDYxG85td6DaaTuNgNhEmCJE3T09jZSrAqit2AE/AbtU5RlvLnnHghrXaXSO7/5a0K6QZjl5NNUUBvYFOcdGvCZpIgMKC4YbEb2IRTPxCRdHVuLLjlBo12HdNvKgbvz7iAS2tzSJnsphoywZj+tOUApzRyaBoEAVGQ5JMxrUywoqCAfCPMyqrGFhTOh5PQ+AMKTbcdglqywM5nLCoSO+8q2S9Mf9VDgJ9q5t7O6wqC+i82wGB6nzRPQQg/UMs7ifAyNtuAnIdoxbbbtir7dfTXd5WG+25Y0O/KKikbgxCQggrMseCjyfHaX6av5lbzJC2fXEhK8+aPFieWfYqbOzQ5Yr/r0I2GCQioo9Ioa6sIF0Hg314fy0e5GKroPJEpEMfcsRnvuiM2DXA/ha02RZmvaGaL1fen45mxNwi7HC4ASJfxy4DNbfHnIcDru50stiO7Si6NPFxIva3tGPMVR9B40HpXtSmxofm4/Zt4dCyB0Djutyj1f0tQgjxhvyBydF/G/a+hZh8mwdVo4jFSYEwXoyLBDfz/BAb2UD2e44G9Py7zaf
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(56012099006)(4143699003)(5023799004)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cWloUjh0aldVK3lnbzQ0THNKOGIwS3M3UTRvUWpWc1kxTUtoYnNKY1B4Mk5G?=
 =?utf-8?B?VEd6elgzejZRb3hMSkFuTllCRFJva2VRZGVzaHh4THZhazhuTmxhdmY5eXRE?=
 =?utf-8?B?VjFyQTB3RktOaVBjeDNrMW81SVV6TVVUM0cxQjljQzUwNmlIMTg5cVE5MnJN?=
 =?utf-8?B?U28vTVEwTXN6dFRmckdzSXZnMVBUYkM4b3g4aXliUW54ZS9waVN5dzkxTkJr?=
 =?utf-8?B?dnNVREtMUGg5aFpKbklDTzF3TG83RzNoSEh3VmJLdnV6dkoxVG43VmtoaUY1?=
 =?utf-8?B?UERZMURrRGdhUkdtRk5FdFIwTzVhRklaQWgzTFFBdEQyOFNyWXNwTnhWZkZl?=
 =?utf-8?B?U0dmblNqQjY2QkVINXhqR2pvaURsdDFtSlgra1BYaENQWksvUEFlT1hRbERS?=
 =?utf-8?B?b1J5dDVRaWs0VFpVcGFDTjF2bVlaS3NpWHVvajNOV1prWENWYXl5QjR3OTJB?=
 =?utf-8?B?ZTRZM3pEQ0lVNHJjYzZUSE1NZDlYKzUyYzZST1gxRnFNTFFhOExobjdxZ1hL?=
 =?utf-8?B?NUF1MHFzNGJPVGhCcGo0Z0V0S3ZrTmN5eXdDM1dITlNzaVdMSVNRN3o1Zm9Q?=
 =?utf-8?B?L1Vra29mcGdlOWc0MDB3RGZLV1g2MnJENTI3UHg2OERzR1RRTWloNlZXS3VF?=
 =?utf-8?B?bGVDV0ZkVVliWTlucjN1WGp5OWg2N1J6ZW5UTHNyaVZsYWlwRTc1ZDdJR081?=
 =?utf-8?B?blFYMTVuSUcwNUM4K2d2Wm83QmNZYXcra052ZHhiOG1TUHFLYVg0NGlsT3NZ?=
 =?utf-8?B?WTdRUXErNld2LzlHNXl6WmtLOTVBUGFadlZUM0ZuekRtNC9rNEd5cVYwZFdo?=
 =?utf-8?B?SW83VU5VUHE2MlRoTkUrOFhDRUZZcWFvUlVSZWEwYUdRR2tsMk9GVDBYb0dl?=
 =?utf-8?B?RzdoTDcxWkQ3cnN5dEI0QTl0em1pQ041Yi9RclJxUjQ3OVNyeGRGbmM2RU9K?=
 =?utf-8?B?bklVZEl6Mm9ndzNpR2hyZWg2YUJBN1BBaEF0UkZZWWRHTG9hNEdycFdQc25Y?=
 =?utf-8?B?N2pjRlhVeGdZK0o0aG94b1c1KzZVK2twcjA5YSsxektXK0w4RHNJVVlFMTRs?=
 =?utf-8?B?dWViTnIyV0VYTjA0a1RXY0g1UTJwZ3hidmRyM2NrUjVLVjZuakhBNEUvWVNH?=
 =?utf-8?B?VVg2RTVPNU5ieGFvRkZHSGxXRW5BL3U3R0l2Y3RacEJDUkM4elBBMG1NKzJt?=
 =?utf-8?B?VDVoUTNtd0FmSTF4UnlVTndBVU9hYXk0NHcwRmozTGYrZUNKOXkxWXovZG1r?=
 =?utf-8?B?d1UxNjZIVEFsM0tFRDh5U2FPTEorRCtGS2hscy9pQmNUU3duazlNU0grNGY5?=
 =?utf-8?B?KzFtTENZcTVlMitKYW5uQnZzQXJWT2RzZ1MrMTgwbTVhbFBPMkI1TVI2U2o0?=
 =?utf-8?B?bndDY0RBdklBamhJaVRVcGg5TTI1YUN0UENUMFhLbTZ1S2F4SUZvZ0thRklW?=
 =?utf-8?B?b0FPRmFIK3psZHh3NlFQVE9SZ01mRlZJYWJoaGE1dTIxZ29rckhlZ1lKV2Q2?=
 =?utf-8?B?ckxBZThxMHpQdjZPcysvV25JcXJKZ2d6bjl2eVVvaDI1TUtBaHBvMmYyWWln?=
 =?utf-8?B?NmZtMnUwRUJLZ29taUh1Tkt2NU5WdXpEQ3dzdGpYdUI1SjNoV0F6b3JpUkYw?=
 =?utf-8?B?UnhpZ1VPMWs0N3hzV3FkWmFvQkMzR0U2eU9aak9NLytKV3VQT3RGdHJMYzBY?=
 =?utf-8?B?QnVhTW9vcHhzYXNBMU44a0ZMSnFrVytlRkU5YkRXV0tzcnQrUjhPaGF3YXhS?=
 =?utf-8?B?RmExR2lVU2EvMm9YbUdqWTFmZDh6WHNQSVJjdllTb3ArY1dCb2tEc3NJeHc0?=
 =?utf-8?B?TnJrRS9NRVE1YWx0d3NuUzdGSkFIOVBaY1Y0S0lGNnE1NE9yTm5uRHBoNEts?=
 =?utf-8?B?bXVVNnV0WWhxUVFINWQ3ZEFoUVFPR0RUT3BzUDlXczMvNGdyK2xpZGpCeCtI?=
 =?utf-8?B?VHBWR0czR3ljM0RYcnhVQ3hXRllhWWFYeUh3T3VYQ2Qvenk3VTR1R0lUQUxK?=
 =?utf-8?B?R2pJdkxzdGhVdTF3dm5NZmRNbHVkeFdiOGNCUm5IWFd0Uk9zOVlkcG1qVTBy?=
 =?utf-8?B?SjN1NjdMVjJGam41b0VYeDNiT2tBMHY1ZENZUjc4aE9OMnJUTUhjaS92ZHBt?=
 =?utf-8?B?MUtocXdnSVh2RkFQbDdJcnRlTE1MVWNNMUpLV0d2V0pIa21kZkN0VHFBYWlG?=
 =?utf-8?B?M3JzaHVzUlRTVXNBa2VTUnIzUlBkSVkxUVBjbnZLYlRrWXpENXA0TmFFL0hU?=
 =?utf-8?B?VmJDTzR2dGdmUjZSVWVxb2hCQlp2ZjJyS3M4UG5zWFRmNUJ1SFpIRmY0K2lt?=
 =?utf-8?B?Mmo4MjNVcURtT3ljQmJjbjdKbWVWNUM2bUhiSTJBYmg1OCtmNTZCTzVUQVRu?=
 =?utf-8?Q?yhUZGUpmho5jo0wQ=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 75dbaf46-4ac8-428c-084a-08dec0dd5b52
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 19:30:08.6402
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9AfXaEe+rubAEjhE8opv38XbfI4ST+X5w8s/JuVE81dEgljxGqqmHoddTPJveXWYVK3f7sisFjDMvDsXBOCdjq/hY7uTtOXqU0WGu2vqu3s=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR03MB8264
X-purgate-ID: tlsNG-d25034/1780428612-E0B64CF5-F9B5495D/10/73395122804
X-purgate-type: spam
X-purgate-size: 1311

On 02/06/2026 8:21 pm, Oleksii Kurochko wrote:
>
>
> On 6/2/26 6:45 PM, Andrew Cooper wrote:
>> FRED is now believed to be complete for AMD systems, and has had its
>> tyres
>> kicked by both XenServer and AMD.Â  Enable FRED by default on capable AMD
>> systems (Zen6 and later).
>>
>> Support on Intel is still not yet complete.Â  Leave it as tech preview
>> and not
>> security supported.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Jan Beulich <jbeulich@suse.com>
>> CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
>> CC: Teddy Astie <teddy.astie@vates.tech>
>> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>
> Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>Â 
>

Thanks.

>>
>> The issue on Intel is to do with virtualisation of MSR_SPEC_CTRL for PV
>> guests, and is waiting on the resolution of a question I've asked Intel.
>> ---
>> Â  docs/misc/xen-command-line.pandoc | 6 +++---
>> Â  xen/arch/x86/traps-setup.cÂ Â Â Â Â Â Â  | 4 ++--
>> Â  2 files changed, 5 insertions(+), 5 deletions(-)
>>
>
> Don't we want than add that to CHANGELOG.md that FRED is now enabled
> by default?

I was going to wait until we had sorted Intel before doing that.Â  But
there's no chance of that happening for 4.22 now.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 02 19:43:04 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Jun 2026 19:43:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325412.1590896 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUV0s-0007jW-1A; Tue, 02 Jun 2026 19:42:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325412.1590896; Tue, 02 Jun 2026 19: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 1wUV0r-0007jP-UD; Tue, 02 Jun 2026 19:42:57 +0000
Received: by outflank-mailman (input) for mailman id 1325412;
 Tue, 02 Jun 2026 19:42:56 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sstabellini@kernel.org>) id 1wUV0q-0007jJ-AD
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 19:42:56 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUV0p-000yzA-C6
 for xen-devel@lists.xenproject.org; Tue, 02 Jun 2026 21:42:55 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a1f321e-bab6-0a2a0a5309dd-0a2a4504c01c-20
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 21:42:55 +0200
Received: from [172.105.4.254] (helo=tor.source.kernel.org)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a1f323e-1dec-0a2a45040019-ac6904fed762-3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 21:42:55 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by tor.source.kernel.org (Postfix) with ESMTP id 7A8B860098;
 Tue,  2 Jun 2026 19:42:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E89F41F00893;
 Tue,  2 Jun 2026 19:42: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:From:To:cc:Subject:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780429373;
	bh=A20g0DYnwPA9DU+zwyH2wh96dcB5DraK8CrJUGAdDm8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References;
	b=ToP8wfXyComJ5oTw09xJO+LaGDkG9LL3Rc1dQd155ngtdaHWaHV+vjg4dPZnRwpaC
	 LFjuW1oN4kS6DXaurs7dclT329xCam/wQRbgO0rWKdAH6sLzCjJIICWDeu2H6P2btt
	 T5d2PnXs/nfwdF/i6Ez2XWtW+CFOOxBbsuDyaIKHvZEh1QI7+59jrDE7DmBjwlxrLA
	 DzRLHJOitax1l18UMDheEUgTjhplBNXxmYiVg39N5KDGFervri/0wkjYTsmoXtHAIm
	 9r4XnDjzzmyKckC1XimUdcR/XcekusrKkp9BR4vo4MleYltYPEFmxHxyTXvtA3VIpv
	 dLndIV3R4naVQ==
Date: Tue, 2 Jun 2026 12:42:52 -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>, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [PATCH 2/2] CI: Mark eclair-x86_64-allcode as blocking now that
 it's clean
In-Reply-To: <20260602174629.2649448-3-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2606021242330.550703@ubuntu-linux-20-04-desktop>
References: <20260602174629.2649448-1-andrew.cooper3@citrix.com> <20260602174629.2649448-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-195285751-1780429373=:550703"
X-purgate-ID: tlsNG-ebf023/1780429375-411763FF-8590947C/0/0
X-purgate-type: clean
X-purgate-size: 1376

  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-195285751-1780429373=:550703
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Tue, 2 Jun 2026, 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: Nicola Vetrini <nicola.vetrini@bugseng.com>

Assuming the pipeline is clean:

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


> ---
>  automation/gitlab-ci/analyze.yaml | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
> index 9bf032931fc4..673110d40ed3 100644
> --- a/automation/gitlab-ci/analyze.yaml
> +++ b/automation/gitlab-ci/analyze.yaml
> @@ -62,7 +62,6 @@ eclair-x86_64-allcode:
>        CONFIG_XEN_GUEST=y
>        CONFIG_XHCI=y
>        CONFIG_XSM=y
> -  allow_failure: true
>  
>  eclair-x86_64-testing:
>    extends: eclair-x86_64-allcode
> -- 
> 2.39.5
> 
--8323329-195285751-1780429373=:550703--


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 01:42:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 01:42:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325560.1590905 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUacC-00038C-Qp; Wed, 03 Jun 2026 01:41:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325560.1590905; Wed, 03 Jun 2026 01: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 1wUacC-00037z-Kd; Wed, 03 Jun 2026 01:41:52 +0000
Received: by outflank-mailman (input) for mailman id 1325560;
 Wed, 03 Jun 2026 01:41:51 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sstabellini@kernel.org>) id 1wUacB-00037t-B1
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 01:41:51 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUacA-004mis-G8
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 03:41:50 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a1f863e-5cb7-0a2a0a5109dd-0a2a450ba794-14
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 03:41:50 +0200
Received: from [172.105.4.254] (helo=tor.source.kernel.org)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a1f865d-212f-0a2a450b0019-ac6904fed0b8-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 03:41:49 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by tor.source.kernel.org (Postfix) with ESMTP id 5E0F060208;
 Wed,  3 Jun 2026 01:41:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BF42B1F00898;
 Wed,  3 Jun 2026 01:41: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:From:To:cc:Subject:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780450908;
	bh=4VkB5kc3PN84M5JMJ/MIzDthVmbG3h6t64cl1Hk3kTE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References;
	b=YytALTjDOod/BeokbH9WLm6Uh3fBHOjA3SKuFa5fPJyu3yKfWM+Fk8p51JP/2b9ge
	 shdpWpicgocamF29uyll8w1hDMnWRTcRhX9YGqgVd6HRYQ2bKqqycbwlg2cN1x2VJg
	 tGoFgFPUBundy9FMk8tu5PZEIJ6623G+U8XwLOsW4gVhvemzV0m+CJIkhvEUGfjG/g
	 u8O1VWJrwYuXdiJcWZW0AhLRV1WHjf6T7aG5WmFrSxlDev0hJTGvMu+MTmYBkCos09
	 OaJwk5KCJykM9TfuKtghPFGMD/+kiSxMV+Kxa3xOs1iOcsdjbwR9Rqmv51EqR/dhlT
	 VflUlLq6PWK2A==
Date: Tue, 2 Jun 2026 18:41:46 -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>, 
    Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.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>, 
    Stewart Hildebrand <stewart.hildebrand@amd.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] vPCI: resolve MISRA R10.1 boolean arithmetic type
 violation
In-Reply-To: <62abdafd-a49c-46e0-b529-0646a8d2425a@suse.com>
Message-ID: <alpine.DEB.2.22.394.2606021840110.550703@ubuntu-linux-20-04-desktop>
References: <e23266191a366abe66d8104783d97578aa8734a4.1779428826.git.dmytro_prokopchuk1@epam.com> <984c91b8-3d2c-4431-bdf1-4a333ac341d1@suse.com> <alpine.DEB.2.22.394.2605261508390.182011@ubuntu-linux-20-04-desktop>
 <62abdafd-a49c-46e0-b529-0646a8d2425a@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
X-purgate-ID: tlsNG-42698a/1780450910-20678F3B-68DE4BF8/0/0
X-purgate-type: clean
X-purgate-size: 2537

On Tue, 2 Jun 2026, Jan Beulich wrote:
> On 27.05.2026 00:12, Stefano Stabellini wrote:
> > On Fri, 22 May 2026, Jan Beulich wrote:
> >> (extending Cc list)
> >>
> >> On 22.05.2026 08:13, Dmytro Prokopchuk1 wrote:
> >>> --- a/xen/drivers/vpci/header.c
> >>> +++ b/xen/drivers/vpci/header.c
> >>> @@ -586,7 +586,7 @@ static void cf_check bar_write(
> >>>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
> >>>              gprintk(XENLOG_WARNING,
> >>>                      "%pp: ignored BAR %zu write while mapped\n",
> >>> -                    &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
> >>> +                    &pdev->sbdf, bar - pdev->vpci->header.bars + (hi ? 1 : 0));
> >>>          return;
> >>>      }
> >>>  
> >>> @@ -647,7 +647,7 @@ static void cf_check guest_mem_bar_write(const struct pci_dev *pdev,
> >>>          if ( guest_addr != bar->guest_addr )
> >>>              gprintk(XENLOG_WARNING,
> >>>                      "%pp: ignored guest BAR %zu write while mapped\n",
> >>> -                    &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
> >>> +                    &pdev->sbdf, bar - pdev->vpci->header.bars + (hi ? 1 : 0));
> >>>          return;
> >>>      }
> >>>      bar->guest_addr = guest_addr;
> >>
> >> Well. If I'm not mistaken we had discussed situations like this (long ago).
> >> Imo the added verbosity gets in the way of readability. If we absolutely
> >> cannot or don't want to deviate such constructs (of which I expect we have
> >> more), then we ought to consider alternatives (like changing the variables'
> >> types in the case here).
> >>
> >> As to deviating: rules.rst, according to my reading, says that &, |, ^, or
> >> shifts would be okay to use with a bool operand. What's wrong with also
> >> permitting this for other operators?
> > 
> > In my opinion, if we are going to treat bool as its own type, it makes
> > sense not to silently mix bools into arithmetic with int types. I also
> > do not find this patch less readable -- I actually find it more
> > readable, since it makes it more obvious that hi is a bool.
> 
> Well, okay, we have different opinions there. This reply of yours applies
> to the first paragraph of my earlier reply though, despite its placement.
> What about the aspect mentioned in the second paragraph?

You mean "then we ought to consider alternatives (like changing the
variables' types in the case here)" ?

Other alternatives could be OK, but also this patch as-is is OK to me.


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 05:46:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 05:46:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325618.1590914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUeQT-0000Rc-Rr; Wed, 03 Jun 2026 05:46:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325618.1590914; Wed, 03 Jun 2026 05: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 1wUeQT-0000RU-Nx; Wed, 03 Jun 2026 05:46:01 +0000
Received: by outflank-mailman (input) for mailman id 1325618;
 Wed, 03 Jun 2026 05:46:00 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUeQS-0000RO-MT
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 05:46:00 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUeQS-00EQZn-3J
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 07:46:00 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fbf88-bab6-0a2a0a5309dd-0a2a4504b0fe-48
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 07:45:59 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fbf97-1dec-0a2a45040019-d1558032dde8-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 07:45:59 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-490a765d410so36601345e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 22:45:59 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f351d69sm7409731f8f.29.2026.06.02.22.45.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 22:45:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780465559; x=1781070359; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=00QWD6g6cgqzTL5wMljjNuOcrJ2EPqZ23l3Q/RTos00=;
        b=PD2gFNsu06GKd+lCC4XuZ/TdnkKX8e6yp4+W58AYXE4MdEUeRig4kXrgF7eR/xW3+c
         H1ThT3aJ6bDBa5EPSAm+rwTOYfOL1pVfis8Kippy538U/6GBWLLIUp4ZySAy8UIdFmYH
         0zKf4dcxrnQkNFjoCR46/7VJzQMlmOlvuR+GxlTFEDMJWAGSjGZ8yCFNQXAm5VnWGVvh
         dw8d9IKSYssp5OMqRLAOWm+SuaT3CBUAaBObxzCWH5B9V5vi8wgdYwHP9cUMb/tPYHg7
         HbWBdK2TQzrmW8IXdXL8zarRDce+ICWDYll3pp46EMMlajvNz87ivv7EKbZsifPasSO9
         mN5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780465559; x=1781070359;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=00QWD6g6cgqzTL5wMljjNuOcrJ2EPqZ23l3Q/RTos00=;
        b=cfvTiW4xHt7yGXNPgPPxJu01gsdK0R5ptLNxxTmwQDQyTggAAsdSBm4Q25O5r+czoS
         czu0DFjunoU4Il/ho5CWxEsBqHaALtt4ZD9CSHKwPh/Xmcyb35cx99UwtxsE4NzA+fwY
         H/zpcaFno1Nz1UJ3JzuTr0+Y7mfN9rShIO7W5oRaSDF5dr12uGDlHCpqoHKatjzxMtsc
         xY5XlRWU2jChp/nwmn1tuWKn3xdlHCGn5jBMLRONXMhTFkKalSiWzybuUw7rhxeURTxh
         gMTLuf339siD5TLD79TL8j1R/C16wJn0nE+fsASe8wn/YS+rUvO30Z1a6iemnBmxRlTA
         7A0Q==
X-Forwarded-Encrypted: i=1; AFNElJ9RacubYXJYCLLg9ZmCaPNCHzU0/GWG5nd3hBG5rGoD8eeZGtsy25SPe/OFO+YNT2eisdRxda3bzfE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwL0osHI96J2i/HGLPS+fQ7y+g+CJfnq6s0Yn4UxSZc3CcDTyAs
	lqKrJihT86VqBkyfgbOTx02boUD/lJGXgSXSOVBO3nLUChLBn85LR9Umaq9aezJNSw==
X-Gm-Gg: Acq92OGLvIK3YqL35/5QVLYRRNGsNnfOZS0q+akfvRgootLePVWm+XFqWgmJsV6RcG+
	/PHs6/Rr6GmXkWpqKdwrs3oxdfRJTs0WnTXFBxcAMPspQj22H6Kj4LoX+rFFxt1LtgD3ZhxjjXu
	8UHGDdRH1pMnAP0JAfTW70N1S5gEmiEdro0s4DI9TSrBkHvvLz6uhTs3AP28FyEszN5xLvRQoBn
	pQyk5pgLCGQ1Lxx5jvJOj4L0jz2zD0jDWA8Re/v9bRMr0dLnCGK/Rn0lM5Dy21xEI55b2dj7x/I
	+Z/2wwwP1xL3Uui/aYhshXGZ4LhkcNqn7Tjp0QzqBZQ93tlpTMCDqmMVRijsHMw/xYYQqLYBthV
	IR87khozmWxlnwCK4CD0XvPhxZzrFptHqatb0ElRAK9y7zSEJ189GAhe38IOwOA8gMaDSYp4sN7
	GbJfUpUvBv9RvPZBMLwsrcxwyxuda9T6n3Jbu7EjXjLeL/Rf57OSROm8+LRsCxMLbbOfG3IQgZK
	P9AtLKFRE/o2L4rhByo0Nj0lQ==
X-Received: by 2002:a05:600c:4fcc:b0:490:ae94:a7e6 with SMTP id 5b1f17b1804b1-490b5ebfc5amr29115165e9.24.1780465559356;
        Tue, 02 Jun 2026 22:45:59 -0700 (PDT)
Message-ID: <2fceaa79-91cc-4b9d-a894-0698cf756778@suse.com>
Date: Wed, 3 Jun 2026 07:45:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 1/3] ns16550: properly initialize booleans in
 uart_param[]
To: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org, Anthony PERARD <anthony.perard@vates.tech>,
 Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20260602161322.1039349-1-Zhao.Jiaqing@amd.com>
 <20260602161322.1039349-2-Zhao.Jiaqing@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: <20260602161322.1039349-2-Zhao.Jiaqing@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1780465559-411763FF-4594CB3A/0/0
X-purgate-type: clean
X-purgate-size: 291

On 02.06.2026 18:13, Jiaqing Zhao wrote:
> .bar0 and .mmio in struct ns16550_config_param are booleans, hence they
> should be initialized with "true", not "1". No functional change.
> 
> Signed-off-by: Jiaqing Zhao <Zhao.Jiaqing@amd.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 05:54:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 05:54:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325626.1590924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUeYZ-00028f-JP; Wed, 03 Jun 2026 05:54:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325626.1590924; Wed, 03 Jun 2026 05: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 1wUeYZ-00028Y-FI; Wed, 03 Jun 2026 05:54:23 +0000
Received: by outflank-mailman (input) for mailman id 1325626;
 Wed, 03 Jun 2026 05:54:22 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUeYY-00028S-25
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 05:54:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUeYX-00ERtw-4b
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 07:54:21 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fc17d-bab6-0a2a0a5309dd-0a2a45099f60-32
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 07:54:20 +0200
Received: from [209.85.221.49] (helo=mail-wr1-f49.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fc18c-2497-0a2a45090019-d155dd31b198-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 07:54:20 +0200
Received: by mail-wr1-f49.google.com with SMTP id
 ffacd0b85a97d-45eedc94d37so3108467f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 22:54: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-4601f2ec711sm4509526f8f.12.2026.06.02.22.54.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 22:54: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780466060; x=1781070860; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=lWtvF1wVMzNc3WsfjY/tiPFaUGHCR84sxH3xGnkqI6M=;
        b=FToIBSKFgiUq1lbdlMVUDrBCHLw+GAWD88qcnj6cQRxcUCQ4N9wem67kU5JqQ3vlSB
         b6ZUnOkzuMGmeypWY1gSdT97oReea6WN5OtSFCz9b5ET3GOPTkzft2XgPl7ww/TemOcd
         J2Shy472blF9xnHTURO4KOF4Woy/sr8Z6JXEkcz8Y+2z4xaaNM+FvWTVMnro6Cwgwmn+
         qdS/aFCkCOSOqY5+jDgWXXX8yO1HIv11X+RNTROzW6gj9Len4RNMppYeeg96nvfVKVbS
         VVVQ/ApzQopcVTOtDFNvscxNh76fObqKo0K7Ue/gS5JL2qfcNmP+VvWAB9CQE8hown/r
         PMmA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780466060; x=1781070860;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lWtvF1wVMzNc3WsfjY/tiPFaUGHCR84sxH3xGnkqI6M=;
        b=hR2OImbm6QYoIFQqpoTIscNNN5QFXmuUEvQHlRhSUSOfL1co4CFBZ38f/C2CgUKEal
         ows1fSx5eaoaCx1qApNKHgIsONtcEMn4Ojm1rJQkDqlcKaxCo1lpWto1jhxczKJ2cJ1n
         GYkK+olWFsDE1+T6iPJi5JbihNC9Ckr3Npao2quOHqwQlAGFWijlpgPhRrQuxRpjTKL/
         oe89wlGCHU5gIXk8QLfAutrQIZJ8+QDpola64/Z6U6MocnIdM16l18OsRxjueUOVyb7S
         hPUpQ8/y3o7975tE0u1oaO2rLd17hw5LmdVVd6ZuHrm/XmH+6XQfDwt6+tZCNLgoCZil
         qHuQ==
X-Forwarded-Encrypted: i=1; AFNElJ/jvSwrf96tqbC4GxEXeg5VLzFRlADLgs4k9CHC1FR7xuUYg42/UtqmNAaA/Qk+/OsymKIHe546+lE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwtTi5Ru27ZM7UD6xNxNyXsYCqr6pxPUtGRYmqsnodGHM7zn8nO
	qL1IVCFnbVxcYbdUx86GqMr4WJGfzIjrfQvCirEpr70AtDCTh5ZotjvZ+qLur1x8Jw==
X-Gm-Gg: Acq92OGwv585zKHTWA8PKGUu1219UrxmyrhTAhlY1wEkUIKQpHcewvVjlp+tV0aGIwT
	2FpxvSULw4v9VQLPJfa+66AMDZHeAI0nAuDoc9QLh1GvWDQQyhEg3rLd+MUU2tb7ihLH2zJ7Tc3
	OcJZbj3kbbU7FHG+pDuGASoUaSUlGMdEgJ/naWwKXTqXb/j2VIjHMo5/8+wh+b6gA7zcnMraBoq
	5KDM01J1NUF0BYryKVcWrpXl8th+7+/lxWxMT48+0mgIzqMkVmLdnUQPSHwLu7hmL+ni5tpw9Hh
	cqwRnv9UAa3nMnakZl4qtvjebpyHbppBJjsNAbGmWgdC7z5o/qTN3CCTfwtzIz7ekTYGH/0Y0Ti
	RzF6Sg9VVxE/0HEU0oKq4sOQ2VJ/XJNBE+myiX4GnKuCvm5XBx4TWbhawKPyxSClJo4id9/sc+U
	cZUv0GTcI16NZKNOHCXJ58GA+//e3vhLYw0jf2aciBrsK+/g6yyLE8iAwiWECBKxttOE/upBJmB
	4Mpd+EVX4Jrk8iVKfj6T+rC1w==
X-Received: by 2002:adf:f104:0:b0:45e:edc8:d440 with SMTP id ffacd0b85a97d-46021782782mr1555731f8f.1.1780466060140;
        Tue, 02 Jun 2026 22:54:20 -0700 (PDT)
Message-ID: <3eb9ab3d-dc4d-4019-89c8-9f7dbdc528cd@suse.com>
Date: Wed, 3 Jun 2026 07:54:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] xen/domain: fix UBSAN null pointer dereference of
 d->shared_info
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.1779712171.git.oleksii.kurochko@gmail.com>
 <04dd784b6b9a4dfca9a313ea8802d8d514d65021.1779712171.git.oleksii.kurochko@gmail.com>
 <3aef7763-aea3-496a-8c18-d3659f590373@suse.com>
 <fb1b1194-5855-49d9-99fc-d35a3038833c@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: <fb1b1194-5855-49d9-99fc-d35a3038833c@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1780466060-89775A53-61D290B8/10/73395122804
X-purgate-type: spam
X-purgate-size: 6879

On 02.06.2026 18:11, Oleksii Kurochko wrote:
> On 6/2/26 1:19 PM, Jan Beulich wrote:
>> On 25.05.2026 15:20, Oleksii Kurochko wrote:
>>> It is legal to have d->shared_info equal to NULL for architectures which
>>> support only the FIFO ABI for event channel management.
>>>
>>> Having d->shared_info == NULL leads to a UBSAN issue on such architectures:
>>>    UBSAN: Undefined behaviour in common/domain.c:325:10
>>>           member access within null pointer of type 'struct shared_info_t'
>>>
>>> vcpu_info_reset() maps v->vcpu_info_area.map to the per-vcpu slot inside
>>> the domain's shared_info page for vcpus with id < XEN_LEGACY_MAX_VCPUS,
>>> and falls back to dummy_vcpu_info for vcpus beyond that limit.
>>> Extend the existing fallback condition to also cover the case where no
>>> shared_info page has been allocated, mapping the vcpu to dummy_vcpu_info
>>> instead. This is the correct behaviour: dummy_vcpu_info already serves
>>> as the safe stand-in for vcpus that have no usable shared_info slot.
>>>
>>> Additionally, if an architecture supports only the FIFO ABI, setup_ports()
>>> should be updated to avoid a NULL pointer dereference of d->shared_info,
>>> since in that case there will be no pending events in
>>> shared_info->evtchn_pending and the pending flag of the FIFO event channel
>>> does not need to be set to true.
>>> update_domain_wallclock_time() accesses d->shared_info via shared_info()
>>> macro. On architectures that do not allocate a shared_info page (currently
>>> RISC-V, which runs guests in dom0less mode without the PV ABI), this causes
>>> a NULL dereference. The early return is safe: if there is no shared_info
>>> page, there is nothing to update. For all existing architectures (x86, ARM)
>>> that do allocate it, the guard is never taken and behavior is unchanged.
>>>
>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>> ---
>>> Changes in v2:
>>>   - Update commit message + subject.
>>>   - Drop Fixes tag.
>>>   - Handle migration of pending events from 2L and FIFO ABIs when arch
>>>     support only FIFO ABI.
>>
>> What does this item describe? On an arch supporting only FIFO, how could
>> evtchn need migrating from 2L?
> 
> Agree this item is inaccurate.
> 
> evtchn_init() always calls evtchn_2l_init(d) first 
> (event_channel.c:1627), so every domain starts with 2L regardless of 
> arch (of course, it is just initialization of evtchn_port_ops which 
> aren't really used when only FIFO is supported).
> 
> setup_ports() is called during the guest-initiated 2Lâ†’FIFO transition 
> (event_fifo.c:637), not at arch init time. There is no arch that 
> supports "only FIFO" as a starting state and that is why it is needed to 
> guard setup_ports() against NULL d->shared_info when migrating 2L 
> pending state to FIFO even 2L wasn't really used by an arch with only 
> FIFO support.

Imo on arch-es not supporting 2L, domains shouldn't start in 2L mode.

>>>   - Update the commit message.
>>>   - Protect some other places in common code from NULL pointer deref of
>>>     d->shared_info.
>>
>> What I'm still missing is the description clarifying why other uses don't
>> need guarding (or that there simply are no other uses, which - however -
>> I doubt).
> 
> I will add an explicit paragraph mentioning that the 2L ops in 
> event_2l.c are unreachable for a domain with no shared_info.
> 
> The only place which isn't covered now is  domctl.c:108 
> (virt_to_mfn(d->shared_info)) is only reached via the 
> XEN_DOMCTL_getdomaininfo path and
> as RISC-V doesn't use it now it could be left as it is what also could 
> be added to commit message.

Or, better yet, deal with that as well. But see also below.

>>> --- a/xen/common/domain.c
>>> +++ b/xen/common/domain.c
>>> @@ -320,7 +320,7 @@ void vcpu_info_reset(struct vcpu *v)
>>>       struct domain *d = v->domain;
>>>   
>>>       v->vcpu_info_area.map =
>>> -        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS)
>>> +        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS && d->shared_info)
>>>            ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>>>            : &dummy_vcpu_info);
>>>   }
>>
>> At the example of this: The extra conditionals are dead code on x86 and
>> Arm. While the status of the respective Misra rule is still uncertain
>> for Xen, imo we'd be better off avoiding the introduction of new dead
>> code. Which in turn means we may need some kind of abstraction to have
>> these extra conditionals in place only for arch-es not supporting
>> shared-info at all.
> 
> What about then add config HAS_SHARED_INFO to xen/common/Kconfig and then:

We're getting closer. Imo we want to go farther, though: shared_info() as a
construct should be unavailable when !HAS_SHARED_INFO. _That_ then will
make obvious (by causing build failures) that all respective use sites were
properly dealt with.

> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -319,10 +319,14 @@ void vcpu_info_reset(struct vcpu *v)
>   {
>       struct domain *d = v->domain;
> 
> +#ifdef CONFIG_HAS_SHARED_INFO
>       v->vcpu_info_area.map =
> -        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS && d->shared_info)
> -         ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
> -         : &dummy_vcpu_info);
> +        (v->vcpu_id < XEN_LEGACY_MAX_VCPUS)
> +        ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
> +        : &dummy_vcpu_info;
> +#else
> +    v->vcpu_info_area.map = &dummy_vcpu_info;
> +#endif
>   }

I agree with #ifdef here.

> --- a/xen/common/event_fifo.c
> +++ b/xen/common/event_fifo.c
> @@ -562,9 +562,10 @@ static void setup_ports(struct domain *d, unsigned 
> int prev_evtchns)
> 
>           evtchn = evtchn_from_port(d, port);
> 
> -        if ( d->shared_info &&
> -             guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
> +#ifdef CONFIG_HAS_SHARED_INFO
> +        if ( guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>               evtchn->pending = true;
> +#endif

While as per above shared_info() would best not exist when !HAS_SHARED_INFO
(in which case #ifdef may be unavoidable here), an alternative where
IS_ENABLED() could be used here may want at least considering. E.g.
causing a link-time failure when shared_info() is used (and not compiled
out).

> --- a/xen/common/time.c
> +++ b/xen/common/time.c
> @@ -94,8 +94,9 @@ void update_domain_wallclock_time(struct domain *d)
>       uint32_t *wc_version;
>       uint64_t sec;
> 
> -    if ( !d->shared_info )
> -        return;
> +#ifndef CONFIG_HAS_SHARED_INFO
> +    return;
> +#endif
> 
>       spin_lock(&wc_lock);

Constructs like this are imo somewhat ugly. Using IS_ENABLED() instead
would make things at least a little better (again imo).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 05:56:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 05:56:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325632.1590933 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUeao-0002dJ-Uy; Wed, 03 Jun 2026 05:56:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325632.1590933; Wed, 03 Jun 2026 05:56: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 1wUeao-0002dC-R3; Wed, 03 Jun 2026 05:56:42 +0000
Received: by outflank-mailman (input) for mailman id 1325632;
 Wed, 03 Jun 2026 05:56:41 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <xakep.amatop@gmail.com>) id 1wUeam-0002cv-QU
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 05:56:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUeam-005jge-7A
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 07:56:40 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a1fc213-2eae-0a2a0a5409dd-0a2a4506a04a-2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 07:56:40 +0200
Received: from [209.85.208.182] (helo=mail-lj1-f182.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a1fc217-7371-0a2a45060019-d155d0b6b92a-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 07:56:40 +0200
Received: by mail-lj1-f182.google.com with SMTP id
 38308e7fff4ca-39677c80386so38496601fa.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 22:56: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780466199; cv=none;
        d=google.com; s=arc-20240605;
        b=SySGmzCeO9NVSW5osx+mrbeClHeHczGp3Wdv25n9DVmZIr6atVmT1wzjtB1FaUbHfA
         SnvJb6QURbOdb+dw0R/v/4ShlGS2Uy5vGbNt18EfQeziU8LFbjjs6R3PD8AgZYq7iAMI
         8AARdnQBDpvqHX0bKiZrvaTJZu+k8qSOP3qry9Um/hC4M+C8QRJCbxe5QA2vzXaTka1q
         2PByIr4LIctGMysxEF8/bmgGmJ3U24gA62WOsRGtdJFtJBVJo3TbF63qSxbJJVuzGz4r
         d2GNHGRlUdFRM7Hq4P3piQt5Bqh9c8wdP+WJ1f++q6Ip4IT1m6XXXwfTVb3rdBjQR3If
         ZlmA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=QJsA3hNz+HCuhdRc6PMUcY2k6K+YaAI45jWEO2782fc=;
        fh=URHEk7klKxjqc5bXwxtPgt12zwbJaOVjsCphaVnE7cw=;
        b=F9nW/GEleuTeNxsUnCa0vPeP4tklLpGF19LFg31LWomvdP+2uopVom30tOqnRq0YW0
         w+MvF7/QXVpjeeATmRya8lH6jf0vr0XRgEeUeAOYZEnUa3otA09c86+D/GeTBtElJ24Y
         nBh6ti6HEVhahYCXh20PM347fwRNvYZsMvtTY4T/TCo7Ov00beifswJS0f+qsYP+p/Gg
         PeB/PjjAxETTUnd5u8qCOTEnO1RlTX8HdMNYRsSKEyxrbpVeI6XjQiESIqsWGwqN+3XV
         qXXYZEQ0YJiO4iVXyGfNkzFFucGWGLOs71GIKa+28B8blCuGTeufgjL/ZKIx4XRRJMmy
         d/gA==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780466199; x=1781070999; 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=QJsA3hNz+HCuhdRc6PMUcY2k6K+YaAI45jWEO2782fc=;
        b=gjUw6/B/fsmtjvAw0VPRFP96oy1FudFtBnPU0xdSBxLm2eeOzTcgszqIJgEPsI71r2
         uaSlZFkW2wlVTco4Mp7P+RVB3rdFeT8GArLsvzwpQaOkub6L8Dv6Z2NIFj6W0HXp8CBq
         MZNG7pigWiITaihycsHjg0bc72DicYhDwih9lDx9BHh81Lnr10kqpvOOtvzzeKiY+GGT
         JoQMTxie5IM/gwpoBOCX30IVhElhx0VDFgVT4B8yTkKSczTd5oLXMd99085T+ydopgEn
         sdYzrCXVumJQM1CXsyq+wWrm9LMPuW/7I8hGej+3HhTa15MikkXlTCZuNqGEHy2rXkal
         5mvA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780466199; x=1781070999;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=QJsA3hNz+HCuhdRc6PMUcY2k6K+YaAI45jWEO2782fc=;
        b=UGdDGZD/W4ZgCFm6RqG88Mm4mnbTOUnKjGzM7wrERPSaVnzZ6AbRCXMx7/ClWFGuhE
         pJM8/20GB+TxJt3Wj9WUzo4pHOEX425wCNVq+Fg5o/xbgz1dS0pVxKgDJPFRGxeEXVx5
         4TxA8f44pWKHhPfr/sJpgx5w+jEXmAU+djmFoqUkEqhXYNUUfqUvPYsQQayKjdr4kc+g
         WMa2phiMCw/B4vg+J2jCmmWD5M7+9MycR3Zagd2Stj4K1crx1FHLmaefOWiqTMRliJsF
         FmV8zU07ud2QZxETuu5w1YbDHlP0TkkpU5mlb4wsWSR15rf8lyBWrgCeAW24yIDy5eOW
         XstA==
X-Gm-Message-State: AOJu0Yzby5bpLTKs2WEAH56qfFyzbZELQ//GUE08kckc0JlOJ+XfXkQ6
	Is115Wk9R/eECCt15+dBWAEsEDR+TI8+kpeZQmOrg2XzgRRHGenEKl8iR+TBXW6L+OIyghyOvuy
	HKdyxVF2zEPI0XOJssP645ApRAAkRshQ=
X-Gm-Gg: Acq92OE1gR+tsA1FZqmQvkTD5P3mBbU5djXy1/jrGvcP0G0nvitF3VTT+gYsjPKNw9/
	KahIUC23FV55nS8mdrhbe1sABP2w87tUR1RQsQ+nZmqlipgVkdM/VNi4frVAa4iAQpNphOlzeO7
	HeC5nO3tIpc1s5Xd4ZUmhO4Ny+9LSEu8zr7SJbyOqMH8OqRoKBMdyg3c02emn/PPv26DyHlqsrv
	VjNpe/vBICi//oSr62p4HrPSUbbD92eIBqmeFU0KITJhAp9LaUmZzCtstE4mJqcsHXRSqqYDnEi
	Enm1G/1yUm6NAfDA
X-Received: by 2002:a05:651c:1551:b0:396:954c:3536 with SMTP id
 38308e7fff4ca-396af4d432fmr4895711fa.28.1780466199252; Tue, 02 Jun 2026
 22:56:39 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1779385072.git.mykola_kvach@epam.com> <95930674d4639727b9cdf4f52b4a23b6df60c3c4.1779385072.git.mykola_kvach@epam.com>
 <E775FD70-C4FB-41BD-AE73-BA6383148546@arm.com>
In-Reply-To: <E775FD70-C4FB-41BD-AE73-BA6383148546@arm.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Wed, 3 Jun 2026 08:56:28 +0300
X-Gm-Features: AVHnY4K4THbefPTmyjh1XfUFgh9DzJenSxjuVWbOgJVw7Ji8S0OUIstS3mHqlKU
Message-ID: <CAGeoDV8FFtayxYsNAhf_NeG6234-uU7dTPg+je91NrWJ+JCHbA@mail.gmail.com>
Subject: Re: [PATCH v10 05/13] xen/arm: gic-v3: add ITS suspend/resume support
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: "xen-devel@lists.xenproject.org" <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>, 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>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-16d1c6/1780466200-86F73D75-8A1D90F7/0/0
X-purgate-type: clean
X-purgate-size: 2188

Hi Luca,

Thank you for the review.

On Thu, May 28, 2026 at 9:12=E2=80=AFPM Luca Fancellu <Luca.Fancellu@arm.co=
m> wrote:
>
> Hi Mykola,
>
> >
> > +#ifdef CONFIG_SYSTEM_SUSPEND
> > +int gicv3_its_suspend(void)
> > +{
> > +    struct host_its *its;
> > +    int ret;
> > +
> > +    list_for_each_entry( its, &host_its_list, entry )
> > +    {
> > +        unsigned int i;
> > +        void __iomem *base =3D its->its_base;
> > +
> > +        /*
> > +         * By the time Xen reaches gic_suspend(), every domain is alre=
ady in
> > +         * SHUTDOWN_suspend, so ITS-targeting interrupt sources are ex=
pected
> > +         * to have been quiesced by the owning OS before SYSTEM_SUSPEN=
D.
> > +         */
> > +        /* Preserve saved GITS_CTLR state, excluding read-only QUIESCE=
NT. */
> > +        its->suspend_ctx.ctlr =3D readl_relaxed(base + GITS_CTLR) &
> > +                                ~GITS_CTLR_QUIESCENT;
> > +        ret =3D gicv3_disable_its(its);
> > +        if ( ret )
> > +        {
> > +            writel_relaxed(its->suspend_ctx.ctlr, base + GITS_CTLR);
>
> This is writing enable from 0 to 1, while quiescent is still 0, which is =
unpredictable,
> however it=E2=80=99s the same happening on Linux, so I would leave it to =
the maintainer preference.

I think you are right, thanks for spotting this.

After gicv3_disable_its() times out, the ITS has already had
GITS_CTLR.Enabled cleared, but GITS_CTLR.Quiescent is still 0. Writing back
the saved CTLR may set Enabled from 0 to 1 while Quiescent is 0, which is
UNPREDICTABLE according to the spec.

So restoring GITS_CTLR in this error path does not look safe. We could exte=
nd
the quiesce timeout if the current 100ms is considered too short, but once =
the
wait has failed there is no architecturally safe way to restore the ITS sta=
te.
In that case I think the suspend path should panic.

This would also let us drop the reverse rollback loop from this patch. The
definition of list_for_each_entry_continue_reverse() can then be moved to t=
he
later SMMUv3 patch, where it is still needed.

What do you think?

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 06:01:56 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 06:01:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325643.1590941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUefl-0004XB-IW; Wed, 03 Jun 2026 06:01:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325643.1590941; Wed, 03 Jun 2026 06: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 1wUefl-0004X4-Fq; Wed, 03 Jun 2026 06:01:49 +0000
Received: by outflank-mailman (input) for mailman id 1325643;
 Wed, 03 Jun 2026 06:01:48 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <xakep.amatop@gmail.com>) id 1wUefk-0004Vt-Pg
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 06:01:48 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUefk-002LjE-5P
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:01:48 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a1fc33f-5cb7-0a2a0a5109dd-0a2a4502b734-32
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:01:48 +0200
Received: from [209.85.208.182] (helo=mail-lj1-f182.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a1fc34b-af86-0a2a45020019-d155d0b6c598-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:01:48 +0200
Received: by mail-lj1-f182.google.com with SMTP id
 38308e7fff4ca-3967724bed1so40549691fa.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 23:01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780466507; cv=none;
        d=google.com; s=arc-20240605;
        b=B/5G4dpGv1qv97hfC5ep1oABfA5f81xbYtDNkQPYGpg8iK62fXjfYaMyVOmHBxhFNL
         pn5YmCmYnX/D4KennPHL3sE7NVW/AKknxLtM1xe70b1McmMxjogfMMwhEtsr6iULK805
         oWalXVslJUJiWbjzp9ljbuAm+cVwO+7d5ghiBoE8N+m0zSM6GIxaWXnyJrlgAGVVsX7D
         yoPnwjwNPM0vOVlRFkYF3uMlwIkBV1GUFWCz2u0mQ/D1EYprPS/jt2oCOnVzXIPMz2Qg
         l8WkoiyR6g9eS60e82rM2ZeMQH8m11w5KUEpHqfQJ4knPWMQ/6OjoRYYswFZi3CwpYUN
         N5dA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=jdWbkSpPql8cjcN0VxJhIlsFq6AEhavLmsMjNu27XlM=;
        fh=Y48x1ukbkIffKm3ALNxHiiKo9yxrWWvlvMeS1xgC45s=;
        b=VHgvEwsV/IfUJ92pFO7mFdvQapdR8RStk8aPTVpHY2xCRuq3QcMgm/x33K52rudhwu
         XSqjeXAzdFuaj63QsuOTvKgWWs88NviDfZ9KLDJXKVWXrQlf2QCbekHQE22/4ORKe+kc
         5yr5CXlD8T3Br/kC28Me/H4KysbxKGrAri0qu0YArB8ZqwM5a2UrULYy3Rw2pb6hDYT6
         9Th4ooO6CzzALkcmYoj0S6sOi6uP8Tt6Xb1N0DQNFxUss2ml7LsjsTmhs7iDorlVPVA/
         r9Jc0Mb1+16Is5NzGpooxTUIpOpG2st2O+O7cZuC52dmKcFup0JjqUlBEnD49EW3lb7u
         1z3Q==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780466507; x=1781071307; 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=jdWbkSpPql8cjcN0VxJhIlsFq6AEhavLmsMjNu27XlM=;
        b=LTVzqaEL3YzBQfDvDUHiOocGl/aglOsIJH6BmHczKJ5xtGteypH0g/aNZFoFsjb8Ey
         CSGEhZC5l4CXxoiJrrFNPL4yt8QozNygMMZUeMtF1Q+hlC58I+puawHWFSUex13BqC9Y
         3IxEsNRTXBRrcCUKBHoPX9atsQJzll8agqeiLPbtPJdfZZe9k6KW27Xj3wJEQiuAUwW2
         +Qizh3jJT5x8O0uN+Guj2hW9KEYJ0F4WAWSr/9CvRTOezMict7QpmTl6V+enk+k90u9P
         cYig4rcZRa4CprOCsMGL123kkYd+GWAVwWdiVbiEnyd0dxtjoLHnBZciGN0qv56coRke
         xd0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780466507; x=1781071307;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=jdWbkSpPql8cjcN0VxJhIlsFq6AEhavLmsMjNu27XlM=;
        b=hR9qPlNiMJK/d5SKql9STg2YAsFsjl9SrVa0YGVgTl4EA4V4Qi4z+yF2p6RmPk7jPl
         an55g0/mDQlFD9JQqQ4uqZK73kMqtPLp7qOgjkFC1sShAANoFRzZHPrhKWFdDO9/CX8D
         RMaOHeZx2HjWxiZUOUZajjCVzmhvpnTpWldONj4e/HcffkfjgewLG7S0W+ji+L3y2ZZi
         hOPHtV+Hm1fPy7OsOMhpO7l/lEV35pvTDqyJlZ7xU5mop3ZtXK8aEsXBZMDm+/OaJgkD
         bobKjqC7Hc3T0qszj6+B3DWgMO693fzVuUXwMiVyTCYagX224W5ZWjywoApzmY6rG8v3
         vLiA==
X-Gm-Message-State: AOJu0YwPK7Fn6cCUulRSSzutUqaPigPlnMCKCN6RndUplsWg2pZJ0STo
	i3Gh/go0d1Rkr6lLNl7AFIN5PgbCpuObyQ6pwxgs275JKAVh/J53Uy73lYstYYQE01UQHIAwpiV
	Q+uwfPIMflzXlMcglbtJvLeWyAjcgnGQ=
X-Gm-Gg: Acq92OE5rhkD5+W0UOqKDenPuoc2C5C2Z5ShPRbNcUI+5Z5FZQdNbSKVhVVTwxiAwcq
	9GNKnlGZ0h4l+U6ADKRXTL6Oeci78QlFwoCg8B5JHeCgjOeoyrnAPw+gIwNeSoS9IHf68GHZ73D
	91QH6hP/YasiynbRkH1SWyjxVFpvM9MV7vGjU3RKKOlskcV2YpmZfQfgva8W8CP0aGygbnC4OLP
	n2cbZWk5eEEmon/z5oC2zKXFiqGVTWTxR9pKyWI8saU6TR9CNSLyI02RP/JVHSXUTWwcuMh5X2q
	JVzBM4Rk4+JUbo6K
X-Received: by 2002:a2e:9a11:0:b0:38e:58c7:cca with SMTP id
 38308e7fff4ca-396af40e068mr4676981fa.13.1780466507235; Tue, 02 Jun 2026
 23:01:47 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1779385072.git.mykola_kvach@epam.com> <279cd20f49be956fc8493aace906a1adfaf473ee.1779385072.git.mykola_kvach@epam.com>
 <349E0857-AB61-48C1-BB91-ABE1422142C9@arm.com>
In-Reply-To: <349E0857-AB61-48C1-BB91-ABE1422142C9@arm.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Wed, 3 Jun 2026 09:01:36 +0300
X-Gm-Features: AVHnY4Ie423MWRzLl_UcfIGBlJdN1IdHbeHIqCBfoTk8iWUFCLo5exi1juOHr0s
Message-ID: <CAGeoDV-sEeQSpDvX7qTmHdRNLPWPUbxJ_NWYYRKAmkk1w6ixmw@mail.gmail.com>
Subject: Re: [PATCH v10 09/13] xen/arm: smmu-v3: add suspend/resume handlers
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Mykola Kvach <mykola_kvach@epam.com>, 
	Bertrand Marquis <Bertrand.Marquis@arm.com>, Rahul Singh <Rahul.Singh@arm.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
	Michal Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
	Pranjal Shrivastava <praan@google.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-720697/1780466508-7BD67161-9DBE308B/0/0
X-purgate-type: clean
X-purgate-size: 4461

Hi Luca,

Thank you for the feedback.

On Mon, Jun 1, 2026 at 8:12=E2=80=AFPM Luca Fancellu <Luca.Fancellu@arm.com=
> wrote:
>
> Hi Mykola,
>
> > On 21 May 2026, at 18:45, Mykola Kvach <xakep.amatop@gmail.com> wrote:
> >
> > From: Mykola Kvach <mykola_kvach@epam.com>
> >
> > Add system suspend/resume callbacks for the Arm SMMUv3 driver.
> >
> > During suspend, configure GBPA to abort incoming transactions, disable =
the
> > translation interface while keeping CMDQ enabled, issue CMD_SYNC to ens=
ure
> > all previously issued commands have completed, then disable the SMMU IR=
Qs
> > and SMMU.
> >
> > Resume uses arm_smmu_device_reset() to reprogram the SMMU and re-enable
> > translation and interrupt generation.
> >
> > The IRQ setup split follows the approach from Pranjal Shrivastava's Lin=
ux
> > arm-smmu-v3 runtime/system sleep series: IRQ handlers are requested onc=
e
> > during probe, while reset/resume only restores SMMU hardware state and
> > re-enables IRQ_CTRL.
> >
> > Only the pieces relevant to Xen's currently supported SMMUv3 path are
> > ported here. Xen documents SMMUv3 MSI and PCI ATS as unsupported and no=
t
> > compiled/tested, so this patch does not restore SMMU MSI IRQ_CFGn regis=
ters
> > nor reinitialize ATS/PRI endpoints. If those paths become usable,
> > suspend/resume will need corresponding MSI restore and ATS/PRI
> > quiesce/reinit steps.
> >
> > Link: https://lore.kernel.org/r/20260414194702.1229094-1-praan@google.c=
om/
> > Based-on-patch-by: Pranjal Shrivastava <praan@google.com>
> > Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> > ---
> > Changes in V10:
> > - Disable SMMU interrupt generation during suspend before disabling the
> >  SMMU interface, matching the resume/reset path which re-enables IRQ_CT=
RL.
> >
> > Changes in V9:
> > - Use CMD_SYNC in suspend instead of polling CMDQ_CONS, so the suspend
> >  path waits for command completion rather than only command consumption=
.
> > - Document that arm_smmu_setup_irqs() is probe-only and that future Xen
> >  SMMUv3 MSI support will need to restore SMMU IRQ_CFGn registers on
> >  resume.
> > - Restore the reference to Pranjal's Linux runtime/system sleep series =
and
> >  clarify that MSI/ATS/PRI resume handling is outside the supported Xen
> >  path.
> > - Prefix the subject with xen/arm for consistency with the rest of the
> >  Arm suspend/resume series.
> >
> > Changes in V8:
> > - Honor ARM_SMMU_FEAT_SEV when draining the CMDQ during suspend, matchi=
ng
> >  the existing runtime CMD_SYNC path.
> > - Fold the suspend rollback reset path into a helper and rename the err=
or
> >  reporting to describe suspend rollback rather than resume.
> > - Treat SMMU reset failure during resume as fatal instead of logging an=
d
> >  continuing with a potentially unusable IOMMU.
> > - cosmetic changes
> > ---
> > xen/drivers/passthrough/arm/smmu-v3.c | 186 +++++++++++++++++++++-----
> > 1 file changed, 150 insertions(+), 36 deletions(-)
> >
> > diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passth=
rough/arm/smmu-v3.c
> > index bf153227db..be8028c036 100644
> > --- a/xen/drivers/passthrough/arm/smmu-v3.c
> > +++ b/xen/drivers/passthrough/arm/smmu-v3.c
> > @@ -1814,8 +1814,7 @@ static int arm_smmu_write_reg_sync(struct arm_smm=
u_device *smmu, u32 val,
> > }
> >
> > /* GBPA is "special" */
> > -static int __init arm_smmu_update_gbpa(struct arm_smmu_device *smmu,
> > -                                       u32 set, u32 clr)
> > +static int arm_smmu_update_gbpa(struct arm_smmu_device *smmu, u32 set,=
 u32 clr)
>
> Now this one and arm_smmu_device_reset loose __init also for !CONFIG_SYST=
EM_SUSPEND,
> but I=E2=80=99m not sure if in the codebase we are dealing with these kin=
d of cases already or if it=E2=80=99s still ok
> to let it be without __init anyway.

Good point. I will avoid keeping these helpers in runtime text for
!CONFIG_SYSTEM_SUSPEND.

I think a small local annotation in the SMMUv3 driver would work well here,
something like:

#ifdef CONFIG_SYSTEM_SUSPEND
#define __init_or_smmu_suspend
#else
#define __init_or_smmu_suspend __init
#endif

and then use it for arm_smmu_update_gbpa() and arm_smmu_device_reset().

This keeps the suspend-enabled case unchanged while preserving the existing
init-only placement otherwise.

What do you think?

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 06:04:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 06:04:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325648.1590949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUeiL-000533-Vv; Wed, 03 Jun 2026 06:04:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325648.1590949; Wed, 03 Jun 2026 06:04: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 1wUeiL-00052w-TG; Wed, 03 Jun 2026 06:04:29 +0000
Received: by outflank-mailman (input) for mailman id 1325648;
 Wed, 03 Jun 2026 06:04:28 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUeiK-00052q-8Z
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 06:04:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUeiJ-002Mfl-B9
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:04:27 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fc3ea-5cb7-0a2a0a5109dd-0a2a45059032-8
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:04:27 +0200
Received: from [209.85.128.47] (helo=mail-wm1-f47.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fc3ea-aaa8-0a2a45050019-d155802fc164-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:04:27 +0200
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-490b2b037d2so12399415e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 23:04: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-490b61511c4sm37512675e9.1.2026.06.02.23.04.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 23:04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780466666; x=1781071466; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=JHKhXozwo0mKoQhB/RcEV4XI7F6rZNMOUWRh2vEVFrA=;
        b=fIm/QFTenrKSbVk1nNXhxB6rUVnFnHX91G6M7OTfwZ3KQM3U8sCDVya8pCGFLx9/BY
         Vwi1/aCnrmcIqk5J+uc1f56pPGcMSjatSIgoi//lgmKqiab1ul/pDUMA9kboT+aTSygP
         b6FEma4jFEG5x4uXsamDOBCaqx7pbH+Bk63adu9IzMFmwPV1XrEFfDzxglUlXMZMCUCX
         z3a7bcDVN7z1lHs+6twB4JfhNxOPO7EA6AWYKwLsxzwxBS80fZe9PRqoECz462x8CiU+
         7b2Qu/FXw0uSkmfziV7GXtJOOPmr7iTnCzXVQsxiBfcUPqn5/xPVmTzauqm6ATq35oYJ
         coUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780466666; x=1781071466;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JHKhXozwo0mKoQhB/RcEV4XI7F6rZNMOUWRh2vEVFrA=;
        b=QY0XFosW3vrBQJz4COvJaBzq9V9mekqoyRLGE4cJMQJR6DxCgXZ4J9p9C9HKA2jrzl
         /te3NSg+Ne/gtHiYoRuUdPh9Vl0pS/KI3BUN//N70wrK73X2EoK9PFvoxB/BJBwiFBJc
         /wAh4/5iGXVnB4gZ5+O+OmHf9Glhn79cbhTvUiBs+puWdg3Iym9BkNG3in2Ys5ghKaMe
         L+6uJaAFhBtW9joV7bjbshqPL/HbtSCg3x5BYqvq82v4YiZBCOhD8oJP1Lv45Mm8B9Au
         Atwo8ZHMleOqOwH0HRqXczPRUmtUrSFbCQO9LDCSaSaBATrjBX5J+xJM6hacvnOfa//9
         hZpA==
X-Forwarded-Encrypted: i=1; AFNElJ+ZJs/XeltzDRhZs4fHVmrhS5g7Nv3IKxMAyW3IcV7utcv/wQ0ZI2wyVngO/nNT2bHVOLcQKtzxVrQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyIifQZpY/d8+jO+k2+H5KPEZsdi2N0hYzzIxmmJHjI1lav2o6h
	vE4Q6pw0HrlvuZ02d35F4RB3CLhr2nNHobAOxsW/RNgiwvTA0Qwp19U0EKFGkoXjQg==
X-Gm-Gg: Acq92OFZGnuuhsyReQY0hz6tq6U9B8yXH+LA2iGuJcVQZI5rjKf0FANKsSNSjTk2vBT
	yNt7r7fyXOuy33g4MdPwxbwvHnr+nmZq1ibrzSNpEUuWYr/ClSZt+mXJKJgx3SG3o9Vglck+gBY
	laRT09gcysxAmjvsE9uCg31StoLW7IQ7I5y+oPtweUAKjwBoFvogdet21tPKeLG8eaVg2O4bYOz
	UOlNLyMU7PhzrjmokbDUZGcFL/5oYBe2YgfAmYRpqfN08/hn80zKXIrsOfs7gQHtzdY3yAcy4f4
	et7j3Q+/VvdLAzkz6UhgOTph2lXbvzA3BM4L/CkVzZYVJ1rC0DYxL6aOM7qXKe5zlRCnvQdLNIV
	7Vqr69rwahr34T4yF5m9LAUdDWfnAcDieqYIOA+5Cpd/KRDYCLR8Z05HjIARwr804ootOeTiQZy
	fk8yDmUTXDUjhTsm3D8BQGlPygL/4EVbjBnq8zC3KmgmHFK1mewjuSpkylpZylnOKen8p0g06WP
	fB9YsB6X351ywHzAmgO9a2AMw==
X-Received: by 2002:a05:600c:1d86:b0:48a:58ae:9938 with SMTP id 5b1f17b1804b1-490b5fe95ebmr28190305e9.19.1780466666634;
        Tue, 02 Jun 2026 23:04:26 -0700 (PDT)
Message-ID: <b443469b-01fe-4196-a79f-811bfb6e17d8@suse.com>
Date: Wed, 3 Jun 2026 08:04:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] vPCI: resolve MISRA R10.1 boolean arithmetic type
 violation
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.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>, Stewart Hildebrand <stewart.hildebrand@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e23266191a366abe66d8104783d97578aa8734a4.1779428826.git.dmytro_prokopchuk1@epam.com>
 <984c91b8-3d2c-4431-bdf1-4a333ac341d1@suse.com>
 <alpine.DEB.2.22.394.2605261508390.182011@ubuntu-linux-20-04-desktop>
 <62abdafd-a49c-46e0-b529-0646a8d2425a@suse.com>
 <alpine.DEB.2.22.394.2606021840110.550703@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.2606021840110.550703@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1780466667-E1D9D443-A84DA9D7/0/0
X-purgate-type: clean
X-purgate-size: 3499

On 03.06.2026 03:41, Stefano Stabellini wrote:
> On Tue, 2 Jun 2026, Jan Beulich wrote:
>> On 27.05.2026 00:12, Stefano Stabellini wrote:
>>> On Fri, 22 May 2026, Jan Beulich wrote:
>>>> (extending Cc list)
>>>>
>>>> On 22.05.2026 08:13, Dmytro Prokopchuk1 wrote:
>>>>> --- a/xen/drivers/vpci/header.c
>>>>> +++ b/xen/drivers/vpci/header.c
>>>>> @@ -586,7 +586,7 @@ static void cf_check bar_write(
>>>>>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
>>>>>              gprintk(XENLOG_WARNING,
>>>>>                      "%pp: ignored BAR %zu write while mapped\n",
>>>>> -                    &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
>>>>> +                    &pdev->sbdf, bar - pdev->vpci->header.bars + (hi ? 1 : 0));
>>>>>          return;
>>>>>      }
>>>>>  
>>>>> @@ -647,7 +647,7 @@ static void cf_check guest_mem_bar_write(const struct pci_dev *pdev,
>>>>>          if ( guest_addr != bar->guest_addr )
>>>>>              gprintk(XENLOG_WARNING,
>>>>>                      "%pp: ignored guest BAR %zu write while mapped\n",
>>>>> -                    &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
>>>>> +                    &pdev->sbdf, bar - pdev->vpci->header.bars + (hi ? 1 : 0));
>>>>>          return;
>>>>>      }
>>>>>      bar->guest_addr = guest_addr;
>>>>
>>>> Well. If I'm not mistaken we had discussed situations like this (long ago).
>>>> Imo the added verbosity gets in the way of readability. If we absolutely
>>>> cannot or don't want to deviate such constructs (of which I expect we have
>>>> more), then we ought to consider alternatives (like changing the variables'
>>>> types in the case here).
>>>>
>>>> As to deviating: rules.rst, according to my reading, says that &, |, ^, or
>>>> shifts would be okay to use with a bool operand. What's wrong with also
>>>> permitting this for other operators?
>>>
>>> In my opinion, if we are going to treat bool as its own type, it makes
>>> sense not to silently mix bools into arithmetic with int types. I also
>>> do not find this patch less readable -- I actually find it more
>>> readable, since it makes it more obvious that hi is a bool.
>>
>> Well, okay, we have different opinions there. This reply of yours applies
>> to the first paragraph of my earlier reply though, despite its placement.
>> What about the aspect mentioned in the second paragraph?
> 
> You mean "then we ought to consider alternatives (like changing the
> variables' types in the case here)" ?

That's another option, but not what I meant. I simply don't understand why
some operators are okay to use with booleans while others aren't. Adding
(for example) booleans can be quite helpful. Take this example from gas
sources as example:

      if (overlap.bitfield.imm8
	  + overlap.bitfield.imm8s
	  + overlap.bitfield.imm16
	  + overlap.bitfield.imm32
	  + overlap.bitfield.imm32s
	  + overlap.bitfield.imm64 != 1)

And then see how the added verbosity would hamper readability:

      if ((overlap.bitfield.imm8 ? 1 : 0)
	  + (overlap.bitfield.imm8s ? 1 : 0)
	  + (overlap.bitfield.imm16 ? 1 : 0)
	  + (overlap.bitfield.imm32 ? 1 : 0)
	  + (overlap.bitfield.imm32s ? 1 : 0)
	  + (overlap.bitfield.imm64 ? 1 : 0) != 1)

> Other alternatives could be OK, but also this patch as-is is OK to me.

I'm not going to veto it (not being a maintainer of the code I really
can't), but as per above the transformation imo is setting a bad example.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 06:05:55 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 06:05:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325654.1590960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUeji-0005WJ-BD; Wed, 03 Jun 2026 06:05:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325654.1590960; Wed, 03 Jun 2026 06:05: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 1wUeji-0005WC-6m; Wed, 03 Jun 2026 06:05:54 +0000
Received: by outflank-mailman (input) for mailman id 1325654;
 Wed, 03 Jun 2026 06:05:53 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wUejf-0005W2-PS
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 06:05:53 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUejf-001q0p-2b
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:05:51 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a1fc436-5cb7-0a2a0a5109dd-0a2a450ba4ae-28
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:05:51 +0200
Received: from [148.163.146.23] (helo=mx0a-00498f03.pphosted.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a1fc43c-212f-0a2a450b0019-94a3921722b6-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:05:50 +0200
Received: from pps.filterd (m0482516.ppops.net [127.0.0.1])
 by m0482516.ppops.net (8.18.1.11/8.18.1.11) with ESMTP id 6532WVFa2715869
 for <xen-devel@lists.xenproject.org>; Tue, 2 Jun 2026 23:05:48 -0700
Received: from dm5pr21cu001.outbound.protection.outlook.com
 (mail-centralusazon11011003.outbound.protection.outlook.com [52.101.62.3])
 by m0482516.ppops.net (PPS) with ESMTPS id 4ejbjwrx84-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 23:05:48 -0700 (PDT)
Received: from IA4P220CA0004.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:558::8)
 by LV8PR16MB5813.namprd16.prod.outlook.com (2603:10b6:408:1e4::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.12; Wed, 3 Jun 2026
 06:05:46 +0000
Received: from BN3PEPF0000B36E.namprd21.prod.outlook.com
 (2603:10b6:208:558:cafe::63) by IA4P220CA0004.outlook.office365.com
 (2603:10b6:208:558::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Wed, 3
 Jun 2026 06:05:46 +0000
Received: from mx0a-00498f04.pphosted.com (205.220.161.53) by
 BN3PEPF0000B36E.mail.protection.outlook.com (10.167.243.165) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.0 via
 Frontend Transport; Wed, 3 Jun 2026 06:05:45 +0000
Received: from pps.filterd (m0373460.ppops.net [127.0.0.1])
 by mx0a-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 6532gYQQ913809
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 02:05:44 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-use.ser.proofpoint.com
 [44.208.76.22])
 by mx0a-00498f04.pphosted.com (PPS) with ESMTPS id 4eggrxvknf-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 02:05:44 -0400 (EDT)
Received: from localhost ([19.12.76.222]) by cmsmtp with ESMTPSA
 id UejVwr0DHonD5UejWwCine; Wed, 03 Jun 2026 06:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:Message-ID:MIME-Version:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:Message-ID:MIME-Version:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:Message-ID:MIME-Version:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:message-id
	:mime-version:subject:to; s=ppford; bh=zCvTRVacJa6kwRGoXuL845LZF
	4r4Ssnxzpuz4dBO7T0=; b=a/S/LMkKnHAmhYgL+9OFGQMdNx85H8QR6lJuob2Ek
	xk5g6rv+SOn1X3YmIV6sTU5jUYQ9MzcHcYMJzslhoBNEX85pKqDlSbT9TB6Rir8f
	haA9z/MnZ3FBBTEEMYQxeXf/6X3U5XPXz39v6HFgnExFh5UwoS746nVIiJTuXkcK
	BfOiCYLgMGjTwrpvST7jWgndYEayzXH9MSwxSA63pFTP33TQfX2nh5H2dDcedKQa
	+jNx6nubhFLC0kjxTgpcQgrxYBSNlrvFnBdlGlYxbNxwp0/YHxqOHlis1WRB6hvc
	2grCHoKOFSv7wYG2FypRetJqq9WxnTqT8RydXZTKqB63w==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Srvdh9zXpS/8o8JhEqBLvcIQlBinb348hfq1BQ3c+Ax17HORP0M2Y4dNFMA58YUhttprrsoPDh02VuqbY14ckmQeXQHEbPX4+btG+w/YDKrTpNe2TeQ/+cNghMPjdF8vozT/Ys3dV2ofJeVgqxTZ1NKiYOjGJL2jCZqg0tgAS7UrSCjAqazVpoBY21o1ENvVaBbBAQJu0/GJbsebFxNqSUdQzCg8ul2BEUosIrRDkRWKoEztbLgW2Fih+M0hzTrTWkyp0S0sB7Sd2qwe+oCI2snKhm2SalcQ7b+fS3MKBg3H1MGqHT2lYq6l2cXvbz3OdcQc+/QkXLkit+zZAO113Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zCvTRVacJa6kwRGoXuL845LZF4r4Ssnxzpuz4dBO7T0=;
 b=gTxBaUepcVBPs3BM4tRyo5sSm66bTYpYG+9o3XwhMcj8dvZXZtVRC/ocxUY7g4MRHFwEilX1S4ixXdYdiu2AvVPIQSWGMQstKqANrc26uiLcxGUKh9bt34Dhfmglwr4Hd6xdwY30SG+U4p9RcjgSNUtZVUnkIDQuNKLjcZMnNMAt/tum3OhMC0KkHaJDagfmouphQ/AH+kGyt5GOXX9vaYQRFB1+r+DHpd50bOYTm7XCF0WG4Td4ggqq33TUk3go1Ichtb3pdVW78U8VOGuOy+TZaCRhiBW/AhzY3hE87+gh5tLMXTjyuBvSpMypI5RNNPcUPjkjoKlm19WOOyvWJw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 205.220.161.53) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zCvTRVacJa6kwRGoXuL845LZF4r4Ssnxzpuz4dBO7T0=;
 b=SMA3qvMQoLk4KPLHXKQBaeUsni25wgK2R5K4rKJC4iTc+EPQ9ZdYcailOcYFNATHKhmfwblODst+6dy2ILc2aQTN/syRiV21goIzRmKrz34Y/e85hG91GySU0jA/Ty9JX4+k2U56OSLu5aHWSiU6mnhN/1JPnfwzbhDtax/imV4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 205.220.161.53)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 205.220.161.53 as permitted sender) receiver=protection.outlook.com;
 client-ip=205.220.161.53; helo=mx0a-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:date:from
	:message-id:mime-version:subject:to; s=ppserprodsaar; bh=zCvTRVa
	cJa6kwRGoXuL845LZF4r4Ssnxzpuz4dBO7T0=; b=PLTXw05+eENOCtzNx3jyrTx
	J7BH/bDBTNyqABioRePVhj4eZ6FmLoGESIspOx3Fj81pUIyoGg3K7Eova2LUriEz
	D/kRJFF/WyTMCrF4avatDQbmQ6S0g6ExX+FWlIPvQtq2SGF3AmIUEWpWlZrQ4RvU
	trcX4OhaWrwoI0UodBqfhBpBLxeaU82QPgYwQABR8ewGVS965865YninBNLjteAK
	RPJhSEXovcsP0PHUqm+AFquQwzpSsuIWqo53J2qpLXAiInIpjcKbgc6dw27pri+4
	HGQ3huWgTAKjoVIq52/ndX5ry+2G2Kc35Az1hP4elnMq3936d7J2L9CZdfKvQYg=
	=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:date:from:message-id:mime-version
	:subject:to; s=ppfserpocford; bh=zCvTRVacJa6kwRGoXuL845LZF4r4Ssn
	xzpuz4dBO7T0=; b=aIdGI5HiV2v6Ttjn0cR4dD7L16VnmQIo3cuBu9ZYuWrCQXS
	9i6Tv0bKjl4A0os4+5ympbatt7f9C2bqTpDnpLuuZS/FZ9K59Ks3wa5Fc5FwF4A9
	d9PZgYVN5GMC7qh4h/UsV5aq2Ts4ozdTNa6u+Ry/OmSzD/mP4E+7jmvnfWcKMzgO
	oCiZqGT6OLEr5szsiEGbxcW6L06OoqkToMW8WFaTSCaBYJU1qTMeOGc1PsdS4MXH
	QV78rV1ULvjVNhqEzuDn9ZaOyW9ye/cWAnv0+bq2+2e71Q/3F3LbPGUlo9Y3kC9n
	3oSJi4XVPZ5W5gkVvVSMuMKt3hE5vgspbfA/byg==
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: UejVwr0DHonD5UejWwCine
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
To: 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
Subject: [PATCH v4 0/6] argo: few log fixes
Date: Tue,  2 Jun 2026 23:05:33 -0700
Message-ID: <20260603060539.1181809-1-dmukhin@ford.com>
X-Mailer: git-send-email 2.54.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_02,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0
 lowpriorityscore=0 bulkscore=0 malwarescore=0 adultscore=0 phishscore=0
 suspectscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc=
 route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606030056
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B36E:EE_|LV8PR16MB5813:EE_
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: d9bdb1e0-70aa-44be-d4df-08dec13626d7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|36860700016|82310400026|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	lV2R58DZDOKT1Nb4c9v50S5bHbFCyZQUaVpsBMRAO4829320UwnwbY1XWslsmQH2BBocl12PIapwj1NBcW9JkL2otgITk2P4tzGQGzFkl9XphZqiTRz6Y7bVXTnmVYPZFoJ1Ih/L09BdLQpd4WXgXPytK2yI6lgqoNsqIBXRXTvZpa4SEzFG8DOyvncDP0y/6uVzrrSmRHXRb9ZM2vBzrydba8Jjszco/uqAaZTwRBwNXIVt9DiRNkfliREVp9cHQSD8pLpsy4t1cNmZO2Xoy55Z0G9J4t2rVQZiYW6ljHfseacoENylrRq8aD+FNPNFf+TbNoi5Pyr6LQQeMJLEYlscMSgBaq41z2OTOHx0dtx0d9eg4gwojNof7HbX52Tau1Le5ICD0u23GTyE6BpDaf00bR6XaceFz57WVCLL1IcEbcDTmZ4E93wNQzTQEGKZJGV+Bc6jPZoR5AIs+QCmoZ0vuxQWo3kIj2pbarqpva7xxUoTehf2WSEPjPa1+uGpX4qG3pIiEl/IBlSEsdlnDEjNIF4xOqRhxJMLkDV61HNh7xaIyskFmL6sCa/8EiBlC6zUgfsqEehxyoc/+ti+9pxl+vq60oOnzLYNcwIh4+EKFNxBP4zeJk3F9jjiLgEVNadsYKjahe2EXGE1/VI4lBMuvo1vXN2HvOQ6MlwMeeRpumDd+4YXHWLDru8+SJXnV6LEWuDC7DhE4RbKj80zViV8iebJdgzZ/NoB2kgXlZpSWCbPKl2n8Pytpj4EG/rK
X-Forefront-Antispam-Report:
	CIP:205.220.161.53;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0a-00498f04.pphosted.com;PTR:mx0a-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700016)(82310400026)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	9vYPCHPZ/LL5GKqfoWqyQmygp5wvv/tEWK4IeNCQPPS557Q0mbj1xBoEFORM6ZV2np46rYnp+iRefMWL4fIBU/0/Fa8hMaDAiXKyRZaYmMYCfpdskGzsbSalKdGkzTMlAdW+JrK0CWwnhvPQEXtrfTs+B/ipOZ38w0non94bZsLV1B6fdMMn9o9NUuvzyGI9RUVwGq+254NVOn4zXRhUbaHkmDlK9sP1uZonfPkAfVDSE8F5KdqxGxm7nLHcRZTAOTtmbiTZC4uvDoV0+u8p6p1csREMJ+/VNYZbPAPFBJmmjwJafyCNTsKZ1cGPDMShI+3awC6Eo8LCdDbyxlZliAhzLDGdl8Mrq3yPDpzTqGctx7TItJLMuYA4wD1OeNT+4K294SgyYgFOM818IQIayN5bTS7sAy9SITVnXutISCQRUCUw1qxj/HwEWFeT3ZCv
X-Exchange-RoutingPolicyChecked:
	g9obt04DKitNgUvIsztz68R4tixpHpQ0Rtw9PzkvnPLW61YhJVMI6BSHrOM93Byrz9aORltOMw4RPVQHtlCM0cisYU6a6brAv1BkNOlsh69m9cTuSES7SuspsvPHjtgoAcS5H+FSFVn47DSTV77v0QeHgf8zQ/LUVrifIOOyylIe8nucjKw4kT0bXH6qNbuiJue7+87eAdAgpl0HecpWC9JJr3OvNBsCwPwmlPZ1GwupmQFIKtOKYo30N2yGdy6sjkQLrmTKWi1m/h/otbOvaN1z2oM7wrTHzbscSj8VXeKRIgMU5nLMgbIY3D0Hpr9s15Rk49QaB/v7Ecec75ZUNQ==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	GlfwrhO68pNXqgtmjELdDHkS5mnaS+WfRnTik6C5oS2p0KGN26P32ZzwJlRlTvqpko5o5VH3iGojvzjGCHgtIz7FTcm9dpL6pe4Fi6pedWIb77tRb/yUsQU9k/qhkjfOrq5ma13GZu3kBaKi8lKCOwvk5AqrZM7K40fCe+Rg8ZIjcLkjZaI0RebxdmzOz+coCYOM/nBAjzg/mEJab3+qgnfMM00tI5itK8v5GjGtu6KdB+whqNU4vhoiKGBgYug+yJbryS8gT37HwDnyv0AQ/KLnYPfXXrBMZLnjxgWIFXmyMLl8iZSRJvDwf6OoaupFnuuTbwbpgYm7QFzI78gBjg2q5jIgvMAZtBJhtxh3V1JyGlx4JbIH4kKApP+KQDcYdSLqquxkEBeoY7t0mVwrCH+J53SBXijjqQ2ia9rtCFysVCH635vengwMwm+adaXOCVrqQoQTWfNz8LRgwmEot+kwiNIEjg2hBWTSQ8llrSW4w4+CDF4I7nWT/SPQFSeE2gO0yRre/0wwRw6HnyMArPr48eAic+pNd22maI4/8mICuOTfqrpScbNFPfrBgI17Q2Dhl8fwDNi1UF1uWgbSCY3IMUrjBvbKyWqTf6dHtBkNF9HTPsXgv9ndHzewxj6w
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 06:05:45.4679
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d9bdb1e0-70aa-44be-d4df-08dec13626d7
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[205.220.161.53];Helo=[mx0a-00498f04.pphosted.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: LV8PR16MB5813
X-Proofpoint-GUID: wFPoP_a6gOZamHItD1oUNQR1Sk39j7qD
X-Authority-Analysis: v=2.4 cv=H5TrBeYi c=1 sm=1 tr=0 ts=6a1fc43c cx=c_pps
 a=G+edI3GLQse3gACT8XNfSw==:117 a=lOEMawUel/sSvQipkIvNbg==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=FelO9ux0wxsA:10 a=3PXLN80vpJUA:10
 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=P_n1zlmtWsCQbjROFjcg:22 a=NvsXeTrgx-CJMFV-xl94:22 a=p0WdMEafAAAA:8
 a=9Rjklcs_zL7GqLz8L0MA:9 a=3whSkbs7g9Me0DR5EJEX:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAzMDA1NSBTYWx0ZWRfX1+Cihe1/bSRn
 99wLsM0vJNcB9YPd7w2g/sxfp94sKCuopuDZ3gTkhGWUjU/DFLTivH1uXEcYzTkQUWqENahhmX4
 AhdjxL5XV5gFdKwCpVGFbKQd+cqwKmHldZOXeCoRUgiQ4PsC2wsoLXZ8q3J4GWkXXrHfpYy3Tq0
 TBQkeBHMjlu9QZVNbcOqf+9JPyyNuFM543alnVc/7uSo3tlj2VJJQrJQBajZc0H2dvEX24vg8in
 DqfeiUegDM9+NVVFVa/6X73JGghqy3ayb0YS8DYHrFP+/lYg4BKkxadOg/teUEuD8iOrwrjvfZw
 TF5gluQOJRSJSQQ1mPv7Dkus+J6IIFco9pf1X/N6thav33ZLyieazpjhd9QFWPX2pq0EIXzbudu
 qefCkt3yTiQl9G4Qd3YIJsuqz43ta+KiK/LPI8w14IklgowK71x75oS2q7kJRk5hfumSyj9bD9t
 s7WmIVlrqEvu0SBUoYg==
X-Proofpoint-ORIG-GUID: wFPoP_a6gOZamHItD1oUNQR1Sk39j7qD
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_02,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 clxscore=1015
 spamscore=0 impostorscore=0 lowpriorityscore=0 adultscore=0 suspectscore=0
 phishscore=0 malwarescore=0 priorityscore=1501 bulkscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606030055
X-purgate-ID: tlsNG-42698a/1780466751-19F6EF3B-4537A1C0/0/0
X-purgate-type: clean
X-purgate-size: 1094

This series corrects Argo module tracing.

Patch 1 lowers the verbosity of a spammy log message.
Patch 2 corrects the debug logline.
Patch 3 cleans up existing loglines by dropping duplicate prefixes.
Patch 4 re-wires argo_dprintk() to gprintk() to include mode debugging
        context.
Patch 5 adds new Kconfig for short-circuiting extra verbose Argo traces.
Patch 6 enables extra verbose Argo traces in CI for ease of catching
        potential issues.

CI: https://gitlab.com/xen-project/people/dmukhin/xen/-/pipelines/2571555053

Denis Mukhin (6):
  argo: lower level of noisy connection-refused log
  argo: correct logline in ring_unmap()
  argo: drop argo prefix from argo_dprintk() calls
  argo: fixup argo_dprintk()
  argo: introduce CONFIG_ARGO_DEBUG
  automation: enable Argo debugging in CI

 automation/gitlab-ci/analyze.yaml |  2 ++
 automation/gitlab-ci/build.yaml   |  1 +
 xen/common/Kconfig                |  5 +++++
 xen/common/argo.c                 | 22 ++++++++++------------
 4 files changed, 18 insertions(+), 12 deletions(-)

-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 06:05:58 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 06:05:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325655.1590968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUejm-0005lC-Kq; Wed, 03 Jun 2026 06:05:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325655.1590968; Wed, 03 Jun 2026 06: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 1wUejm-0005l5-Hk; Wed, 03 Jun 2026 06:05:58 +0000
Received: by outflank-mailman (input) for mailman id 1325655;
 Wed, 03 Jun 2026 06:05:56 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wUejk-0005jr-Ix
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 06:05:56 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUejj-005GxG-PG
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:05:55 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a1fc442-e002-0a2a0a5209dd-0a2a450b962a-18
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:05:55 +0200
Received: from [148.163.143.241] (helo=mx0b-00498f03.pphosted.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a1fc441-212f-0a2a450b0019-94a38ff19ae8-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:05:54 +0200
Received: from pps.filterd (m0367129.ppops.net [127.0.0.1])
 by mx0b-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 652LYb1t3416429
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 06:05:53 GMT
Received: from sn4pr0501cu005.outbound.protection.outlook.com
 (mail-southcentralusazon11011014.outbound.protection.outlook.com
 [40.93.194.14])
 by mx0b-00498f03.pphosted.com (PPS) with ESMTPS id 4ej77aab39-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:05:52 +0000 (GMT)
Received: from SA9P223CA0005.NAMP223.PROD.OUTLOOK.COM (2603:10b6:806:26::10)
 by IA0PPFEEF394D01.namprd16.prod.outlook.com (2603:10b6:20f:fc04::fe7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 06:05:50 +0000
Received: from SN1PEPF00036F3C.namprd05.prod.outlook.com
 (2603:10b6:806:26:cafe::2b) by SA9P223CA0005.outlook.office365.com
 (2603:10b6:806:26::10) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Wed, 3
 Jun 2026 06:05:49 +0000
Received: from mx0a-00498f04.pphosted.com (205.220.161.53) by
 SN1PEPF00036F3C.mail.protection.outlook.com (10.167.248.20) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Wed, 3 Jun 2026 06:05:47 +0000
Received: from pps.filterd (m0373460.ppops.net [127.0.0.1])
 by mx0a-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 6532gYQS913809
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 02:05:47 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-usw.ser.proofpoint.com
 [34.209.42.160])
 by mx0a-00498f04.pphosted.com (PPS) with ESMTPS id 4eggrxvknh-2
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 02:05:46 -0400 (EDT)
Received: from localhost ([19.12.76.221]) by cmsmtp with ESMTPSA
 id UejYwblOgpOFEUejZwW4bK; Wed, 03 Jun 2026 06:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppford; bh=pjO
	ud2VHcJNKpSqn9X3Zh4MzFJlMqzam/N5pBG8cFDY=; b=rvyyvRLW9Ojde0+lcIJ
	y6MMMjlDPXRlx9Z4xfXHFgdO7OeCfBX03aeB2ThNhax1xu8ILRYUCQavI/CWXVCQ
	5GJqOb2gOrhD1tnBMHxx2rhu5GXKCUiXCt44v7TbILn1kIN6sVRl/eOpmKdMlGH5
	cRC4VznKBGDnYZegvvMOBd9tIjjb3tIiedgcvXx8ljVFTGbMiQXOY3qLIUcfyteL
	5KuO/o1d1WBTrpgsGAztenQcBNdGLiAJ3XuGbVlmxOuBdJam4NboqghyUw79HnPq
	ugyN/lXffKq/1QmlorK5gIkkIwiR4T4QSPUApd2m4ZqAJavLi7nnVzRy2/CV8WuW
	Zog==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=uwBvBvaBkVoNnCQfAASCOB66FlxLcFZqUqU9n0giqJ2y8mj7nFoo6C+R8gzwZVOQgdPVFMIr0LSs9vfe8IfcEcYLTeBAkIVuwiSZRcdcrdVXqe/YZbI5Qgbz5CGt3lPgqcN30aF26Rlar13dsTWfkBfeDDYJBeZxp5GYNC2La2BRb/To0pfdC1kJtx/jd+ZpTLiUO2HXGDx1JiM+Ro13V6nk1DpQhmZM7iHTlBIOpYxL4uyEmPkuDit3P5AxF6fFdJu90Hph1ymmX9xkCCJYPwMHvvdMz317jHBeSgEXcKKLMcyWq0WOXiSP66hseimGZoLmp8fceLnYyMCZIRIiNA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pjOud2VHcJNKpSqn9X3Zh4MzFJlMqzam/N5pBG8cFDY=;
 b=V5H48FMLrYAp6Q7JYQ9+Pp72YMxS09Pzw68A47MLJg5q/e/knuii9XtvQlUR9NjbLh+Wy/MyKlThFWcHhtSR/AgmUVssXbOTU3/fj/N+KVk7l5JDHSSjlyc0Rg2aUzUckvhkzxeBzkvnbLv5F4yzKjhE7Lkv3v+qHVbT7wjK5OKdKvnAMNJ/JFauT0ZuVJRctuerG63N2Tov9qqasvjZTxPuB07XDXRDDVfdDK2PinfC799sYqAhQkrPLFThIJIxGZ+zV37WrXsNtJOPjpGP90N5tPQL6FMvYyD8esQltZfgfxjhmcMfZmvNN/EU3i3WqkCAIQ3d1Gtish+QIMXeBQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 205.220.161.53) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pjOud2VHcJNKpSqn9X3Zh4MzFJlMqzam/N5pBG8cFDY=;
 b=fTCxxj93gERStj08wAn24LoqHFSGjtdxx1bL82GuvAADvAgyKlAbebv7JDrdavT9JH8kUwuz0TZ+Hn13V8Ou+lVcex4O6O9SZWFveFf6Tdy62kRm3EmjtrlKBpS/uMIkq8nc7XPAeRVIXVQ2laf58JpoQ2kM8EdCY/j56zIhEWA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 205.220.161.53)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 205.220.161.53 as permitted sender) receiver=protection.outlook.com;
 client-ip=205.220.161.53; helo=mx0a-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:date:from
	:in-reply-to:message-id:mime-version:references:subject:to; s=
	ppserprodsaar; bh=pjOud2VHcJNKpSqn9X3Zh4MzFJlMqzam/N5pBG8cFDY=; b=
	eHAg3jrj50ywN/bJDKf87Pj7oyTNLck5RfYZ7GIJVuDcEFrSxnvxqPjnszYKl+s8
	jibrC3v7UiKLtwgQ1RU+VhC1AWjBNuXuhAGCcmIlCMS/7TbkalS77b5oQL+Jixxx
	LrdZ2H8XVq+2mzFeNPw0h6im2rZyBza61QifTXw5QgI/sJFuslSBExHSC38I/CgX
	Hzrh8oJcHOr2JCkik1DH5XFhSB9KJC8sbt5C+bl5IjzJed+ufEpDptHyfK0OVW3t
	4GZpnmFZYk+xEwk1IQtN4pp9+4EQWKbB+7kebRedn/cbqtO/4i2dS6bklLVKrqla
	Gwc3Gzc2ejZ27J4/L0EH7Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:date:from:in-reply-to:message-id
	:mime-version:references:subject:to; s=ppfserpocford; bh=pjOud2V
	HcJNKpSqn9X3Zh4MzFJlMqzam/N5pBG8cFDY=; b=WTPy+2D1+xtIN4YRnGGz0yt
	L2MOAaYGlVG8UpKsShiYkxC0rinomnTqfjVxLF2HrAawlN5dtEIBtWsp+U+Z3N4Q
	i9HMAyLQ7F2ovxiIoxQG0eQcLrgQGfmenyEiRn16ZLdlwu5Jm1Po7ke5DXWL1AaB
	A61iw63Kztxm6y6RYW/SGf4LPfXK5FP5Kxevb3+eVDptIpzxxeOBYoom9DJu86rF
	FuILQVBeorxOvOyXI6aDLmcDty4a6SGTy+X5mrHUOGEYfq+kuVkUJ6hBvi8Dw73f
	HDL8yllEa18K9N7jXt/VTv/LoSp0VGHDtLbA1KsfCFfIBJuAtqJKwkH7HKQ6Shg=
	=
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: UejYwblOgpOFEUejZwW4bK
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
To: 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,
        Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH v4 1/6] argo: lower level of noisy connection-refused log
Date: Tue,  2 Jun 2026 23:05:34 -0700
Message-ID: <20260603060539.1181809-2-dmukhin@ford.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260603060539.1181809-1-dmukhin@ford.com>
References: <20260603060539.1181809-1-dmukhin@ford.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_02,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0
 lowpriorityscore=0 bulkscore=0 malwarescore=0 adultscore=0 phishscore=0
 suspectscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc=
 route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606030056
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF00036F3C:EE_|IA0PPFEEF394D01:EE_
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: 852b9bb2-058e-40b3-8c71-08dec1362830
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700016|82310400026|1800799024|56012099006|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	gN6i/eIQljm7jyoHK6IRvREZT7dbMlT+juIkaw85Tx2ouKWtT8Tkp3cGrAw5g2/T6gr2tXyLICZOJvwYeGPHFL02G3M5CFEo0i2QIVifKVEoGuPCFaVMXg3Jjc30QVp5ZZhZKkwO+61AwFP5zMHYJDRxLIzP+Cm0mJnWh2M3kpYNq3kmNkxKBKFht1Ux18Ghel+dzel3Ix8TNsxaKrEN4Q1rSbY0NstCq02u1D+MnSoRkQWJiyuodol+pq4eX1GSk20mezhXWmVBwGYdi0H7G+SgPao20GFSxp+mIPBKOcq0c6BYhI52l7CbFZfFkdlmnUoRwdOEfgYzdHzW5cm7ItRjPYXrG/74HtRHDK92l0+dQVKDHEsVYlRsB5u8IvqLnYiKDZgpbmtmgXuMCQJRjpdbDOYxI1TZl6bcvYjCz1zDrWryDceX4jY8v8xQe23DeSZgyvRfxsgoiI8decT9wl4F2E5Wd0d34M+Rz+juy2H8C63vaT1bLp7+Szxe8SbwjQ5XIO8CZFIRPGNVHQ8arr651S1aAJWK5ioaXj6OwclbpDFi9QBYQdoHlyBC797uYnJmebyqzscXxruOi0eSbZ8o9DpKDTNsVdpwiaHzkGUY3RTI7GenFPqwWeDNTSpB1jdYxARxqHkdZDsq/aLgV2acfD9BPCQAd8Tik8Vq+JqdFsGWNajPK12nYvi6Vqx+qeKDzhjr3lnpGvD+9xLvdrWTawgRhJWd6+viGQ6oNZg=
X-Forefront-Antispam-Report:
	CIP:205.220.161.53;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0a-00498f04.pphosted.com;PTR:mx0a-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(376014)(36860700016)(82310400026)(1800799024)(56012099006)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	ZADrfIxyf9f7H4M0eSnyIKVbfRRyWwaJvCTqlNRSfN67KZSbtqiFqw3ikK7xslR8JIPJdkxkh8QbY2XUPXz2vWFZgqWh3w18TSTgW+K0STzq21RFj0S0bWJhd2pCq4p3dgPgpHKmUwXEW06sCAaR8A9dLKJCAMH8KjI5T7M5dXOO6DsFZg/XFJ0v/aTRexwghtCJDzn767S95PokVMyG5cZeDS6s3UKl0+gRiVTf7VadoBJhOkTjXrBnWY1T44vg8X7Fe3XZjuTB4uBtrgC4WaCEJAyB0GerZUruNQt7ZjDzXzVXEv2e4hmbPCjjSSIxahdCOLLbl5mAVls8PErjSpQgln8gkIptEtS4MFiWsw9t9avjOz63elD88x6Cg6yW944A6THHpGAkOKgiaWxB1gzwAvmLMs1erKV3W1QG/lrHcUnsUeJ+vR2RDf+mMJfv
X-Exchange-RoutingPolicyChecked:
	hGqjlhJsHcaatHIsI/L009TDcFuuPCKybQoW77KMB7CGMRm9F8xpVimGpQ3hi+841xypTVrnvEYWHg71j3R8r7tuyKKn7LbdrNIEMFNITeeyv2RZb3SqF37CkXbTwRJiJ+a1fYKDzFmYJ0UWdQHVxe/yX3ykE5JVcpE3dqpCnCL6fg/T9WGdfgC+tZ2fA/aSsPvu9adyLkhn1AY8xlfeLp57q6z2EisDND5PNU2KOnKy68KYp44sxZTdLaLvoBjj3lD4OtCkwQ61trWzFhPnk8r/rZFKnjebpJQH6fYGXAW7jJub111sq3lvpira9Q73rZN827TK7H843jEy6/rhdg==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	KTxuyHqeQxoOLZq8vv58NR8hNGNCEyafCuiiOP2jJDX917/PZWI+Ok6/qFL0owmV80uuIY3hOGm+abm0PAw3JkqSsDJULHQgcxc8cYSScr+WPc2rhvnJTIL0JG1CX5JbOcyfNvJsE+ZQJROkXbSbNoXMwsYdP5MebH7hh6fmRx6AJKstCh+5jXDuqWXGyAk9JQJxVom7KX6dSms0G0L8PDM/V2v+gseHIht/QnP3JTO3mSlVvjFadsSJCRS8dJBj/ZGZGpRRgLE9BKQX9Nz9ds0B4DE+7k006LOaRKYovqG9eOcodKleCQad3lChjjTwkaicai0hdNof55S5lYonEdAZLcASSaN5JesUxirIssFnaobAB04cRSvCl+goQtK023whDWtUCd85sytY0rE3m/APz47iaDVLNXdcDJVYKee/ABQB1VNqyT9X+xYpGGke33wSYv32yMguXMosG2TA78zXQ9axTuSaridtBzzbqeq60rzWRQYnKzMHKjW5QS2scf0054mvliQsAfmoF1P5yImB8I0f7YquRuTCVCX6NkyOJZ/5tzIKL+uF3gjiptOOQKX6FO/5WBl/8Jj6GdaONwqQoveZQYlJroXcQGlQNaNKsO9L1NnuTlv8qxJ/hKJL
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 06:05:47.7739
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 852b9bb2-058e-40b3-8c71-08dec1362830
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[205.220.161.53];Helo=[mx0a-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF00036F3C.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PPFEEF394D01
X-Proofpoint-ORIG-GUID: YBHNgLOVeOWiGowCED_qMKPRfuvXB1BK
X-Proofpoint-GUID: YBHNgLOVeOWiGowCED_qMKPRfuvXB1BK
X-Authority-Analysis: v=2.4 cv=fuPsol4f c=1 sm=1 tr=0 ts=6a1fc440 cx=c_pps
 a=u5a0R1DJIqwdmu/eAz29vw==:117 a=lOEMawUel/sSvQipkIvNbg==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=FelO9ux0wxsA:10 a=3PXLN80vpJUA:10
 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=P_n1zlmtWsCQbjROFjcg:22 a=X3KReqg2EL6A36SYCKpz:22 a=cbNQJ9GKAAAA:8
 a=DBfv99YmAAAA:8 a=VwQbUJbxAAAA:8 a=Pq0mfAL3NuNqQaD0pm4A:9
 a=P0bj-C3X3jJDpopQwM1U:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAzMDA1NSBTYWx0ZWRfX9nMeOGqCPtgK
 v71J8XLglQaUr85/qIAd864flSpQiOwL6GfXyeTdKA1TuePgbBytNspctIusqLSYUu6jQUgY7Cm
 TaDqiyDkB+OtHevBJwbbzTARtiJrAwQzu9AYGRu1F0cufOXt606zN9vddUXDLKuQhYQjra3Rfvl
 yyNhIb0Dw9FhW/1XzXdBmtGwjM6EG+1f4jiJt9AgXQnvU7cExdcCchPtFAJj/RjxrbOgpoj/rCI
 H8MHW/H8bnw2WfsmTadVCFya10ICK/jHOPa5gguugbgqYfEamaF7GEnx0vWXinLVl1xI1itvdL7
 lRXugL1xE89Spw7zcpKqW84rO43RGAbxQ5c24IGc9pTMmy4QgTzcYg3aLnEt8T0chCOh+2KFdco
 TcAD1wzxYuOTf7/qqwRBpqgSg5BY3t9upssf4wbe3y9ue0+k1F5YHA1anN+Qrl6+El1CPdFb/nc
 tHQt+SerzU6cUeOFUSw==
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_02,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0
 suspectscore=0 phishscore=0 adultscore=0 clxscore=1015 bulkscore=0
 priorityscore=1501 lowpriorityscore=0 impostorscore=0 malwarescore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606030055
X-purgate-ID: tlsNG-42698a/1780466754-19364F3B-B6816D85/0/0
X-purgate-type: clean
X-purgate-size: 1440

Switch the log line to argo_dprintk() so it is enabled only in debug
environments, as it can spam the logs when a dom0 service using the Argo
hypercall tries to communicate with a domain that is still starting up.

Note that this also lowers the log level to debug when the argo_dprintk()
facility is enabled.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes since v3:
- n/a
---
 xen/common/argo.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/xen/common/argo.c b/xen/common/argo.c
index 28626e00a8cb..98a3db7fd070 100644
--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -2034,10 +2034,9 @@ sendv(struct domain *src_d, xen_argo_addr_t *src_addr,
                                         src_id.domain_id);
     if ( !ring_info )
     {
-        gprintk(XENLOG_ERR,
-                "argo: vm%u connection refused, src (vm%u:%x) dst (vm%u:%x)\n",
-                current->domain->domain_id, src_id.domain_id, src_id.aport,
-                dst_addr->domain_id, dst_addr->aport);
+        argo_dprintk("vm%u connection refused, src (vm%u:%x) dst (vm%u:%x)\n",
+                     current->domain->domain_id, src_id.domain_id, src_id.aport,
+                     dst_addr->domain_id, dst_addr->aport);
 
         ret = -ECONNREFUSED;
     }
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 06:05:59 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 06:05:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325657.1590977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUejn-0005z8-SZ; Wed, 03 Jun 2026 06:05:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325657.1590977; Wed, 03 Jun 2026 06: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 1wUejn-0005yv-Ov; Wed, 03 Jun 2026 06:05:59 +0000
Received: by outflank-mailman (input) for mailman id 1325657;
 Wed, 03 Jun 2026 06:05:57 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wUejl-0005ke-KJ
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 06:05:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUejl-00E2xQ-11
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:05:57 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a1fc444-bab6-0a2a0a5309dd-0a2a4505afde-6
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:05:56 +0200
Received: from [148.163.146.23] (helo=mx0a-00498f03.pphosted.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a1fc443-aaa8-0a2a45050019-94a392175bf0-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:05:56 +0200
Received: from pps.filterd (m0384718.ppops.net [127.0.0.1])
 by mx0a-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 65335aag3385409
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 06:05:54 GMT
Received: from ch5pr02cu005.outbound.protection.outlook.com
 (mail-northcentralusazon11012010.outbound.protection.outlook.com
 [40.107.200.10])
 by mx0a-00498f03.pphosted.com (PPS) with ESMTPS id 4ej4p93xmb-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:05:54 +0000 (GMT)
Received: from MN0PR04CA0016.namprd04.prod.outlook.com (2603:10b6:208:52d::8)
 by SA1PR16MB6433.namprd16.prod.outlook.com (2603:10b6:806:3e8::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.25.21; Wed, 3 Jun 2026
 06:05:52 +0000
Received: from BL6PEPF0001AB71.namprd02.prod.outlook.com
 (2603:10b6:208:52d:cafe::44) by MN0PR04CA0016.outlook.office365.com
 (2603:10b6:208:52d::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Wed, 3
 Jun 2026 06:05:51 +0000
Received: from mx0a-00498f04.pphosted.com (205.220.161.53) by
 BL6PEPF0001AB71.mail.protection.outlook.com (10.167.242.164) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Wed, 3 Jun 2026 06:05:51 +0000
Received: from pps.filterd (m0426317.ppops.net [127.0.0.1])
 by mx0a-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 65329jLc3761574
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 02:05:50 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-usw.ser.proofpoint.com
 [50.112.124.217])
 by mx0a-00498f04.pphosted.com (PPS) with ESMTPS id 4egeypmnba-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 02:05:50 -0400 (EDT)
Received: from localhost ([19.12.76.222]) by cmsmtp with ESMTPSA
 id UejbwgfZBntbrUejcw82YD; Wed, 03 Jun 2026 06:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppford; bh=LzO
	+LJf9IV+vPH9pD6BDtTpbvMcZLEyrARubD5xRvFU=; b=n5lT7sseffMFCCqJnwq
	YiX5fYQ6AflTIS1A+s/DFZk05/IEFojFFnNd+/ZRPAw/cMJ3Lz2a87gPtB8/nLSU
	5hLftjCqa0NPwWGVdoha+F81A9O6HftdfaYEhUFiComGVoeaNcd/aaw8TpFnsofu
	fHeU82nvzzBxugOlp755asiJ3XyKbKy5c2gvMmJha+mhg7mB+/wKDZLq8k+7M2Oz
	xTPLElYbk8P379MiDztk7814H+Tj9VHg+GbCtfapkno12TvgAIIMqAHtWzCl2d8M
	U9LdeqfmRFIC7ezPN0iuB1+JUaxIOeaoSWQ6ImUg7nF+nMslwz6YlyQMph+fOmpY
	HLg==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=EVUctkuQNOxtfdDoQC7DFkHm8F21Ap3g3jP8TkNaBIIGR+nPcsTq56wG122DTeLh0Y8bPExCBfjcel+B1D8/6pBWKP3jJ37vUVfijyx8+POobSVAwxhlJuOahXLIWQ4O92pXtNstuEEKG/KSnjG9Ba+7qXbflSc3WdiFDxFOZYkWJa43X7328uWaBk/3g0/h13dZX+7yMiw5a4Nl4NP+jRC5DPZZPqscZOImUiRUodKcnPd7If39swT0vPG5Ql27/jRjHvdJnQ0F/eOduKELXSnZJ+Q/dTmZtFWrLQLGQFv7atevOiRJfx0E9A6X7Q8K7S1GnhRzpGMyBGzFMip0hA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LzO+LJf9IV+vPH9pD6BDtTpbvMcZLEyrARubD5xRvFU=;
 b=KOlz5Z+vHrlIFJiePwyVmTY3Blw8lg89thfcX3HFMLTVtb20Xx1mAxHnIbfJ5mYn8GHFxIDbNhyweWwKr5xssKFUuvjt9Jv/ly/qcWJU9L/FArypPS0f5Dwcgd2SSBwZgaRAbvU/8bSXWbYXZM+5pqP7cLedtPkTxdGO/4SRRwZUZixBeiWSEGGGcE9IQuEZp+Fn474e8KWu2EeA0EEA4DjCDpX9zKSHlxstATqlZfblI5swj0lFCw91ZGyg334tDHk6K+H4LYdNRjeV9E4UB4BKwFDkNWmNC7WlQcuXdlbGH8/aXz8kjBklHzYYOw9j1vbRi1vrh6+h7NPc3Q5Q1Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 205.220.161.53) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LzO+LJf9IV+vPH9pD6BDtTpbvMcZLEyrARubD5xRvFU=;
 b=Xs/GYmOmp6qmlrW1L4ToXlIZxHE+nrSp/XccFtP4DTP8DnWbixefvKBbpdw20QXCmc3yCR5BYtyhXfB4yTLIMVYUtN/TxDSCqCeFeKCQnfF6/b9qP83y7iz4YFJVs2PrSwi5m6hKPaXcZvgJY2h1KXFr2Iv2uNFT/MsGaInANUA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 205.220.161.53)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 205.220.161.53 as permitted sender) receiver=protection.outlook.com;
 client-ip=205.220.161.53; helo=mx0a-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:date:from
	:in-reply-to:message-id:mime-version:references:subject:to; s=
	ppserprodsaar; bh=LzO+LJf9IV+vPH9pD6BDtTpbvMcZLEyrARubD5xRvFU=; b=
	MZrpFyOsTb0y5sEnUbrsrgR3PnShVzFQ9UDVBZJsW425hh8lP07Ip/woHd+UwX5d
	ZL10oLN5BA6R5z3k5bfLpOfYK0bq5u2W+i3cS73ZZyWIfAYAMdVD3ppl1SItZ2e2
	oySxWHfRH7/aewJXf+0SY98qVfzXu3j0GI5EUM9RpjkTlMzZyh4UIpXd0a39j+Kc
	Ism9RC2+gjICNsYb87vQt/Huy/ML5TtQ1SzMbd58LkGZ7PiFH1cfpJO7h4QvWA1d
	pwSgE3mg5iL7ndlOzYespv+GCzxSZRvKA1zLxT2bx3aaPbIVft7bwDWXo/w0z5rU
	iLiiouwoPj1WYb7NaGTmPg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:date:from:in-reply-to:message-id
	:mime-version:references:subject:to; s=ppfserpocford; bh=LzO+LJf
	9IV+vPH9pD6BDtTpbvMcZLEyrARubD5xRvFU=; b=YYdEBK3m27I7gBfU87G/2tl
	nip/XaML5bS1DDyMFU79mTy3TuO1y/pFun6FF9fcfb9P70vuLNvFlLum7QP8moow
	mjCExHeJfDitU/+HhV6LyFlu0Gm/5a8Uf/xSzl/aQ9UKF8aJ6oWyG+ggH6QiZ1tL
	7NM24wHYMtu5IN9DNP9i/WXzDFwKVsdaWampND00b61Kqo0aERp0k6fEKROZJe8u
	7UaSROgQTsxR9+EDLyhZkFIOpaxSujv6gac/0BHKDmqJMrO1avGSVjd9L8j2W49W
	M+V8lKgapCpEcZoHg3GrA9TM5V4a/KwFXfn/AxdwKfBYtWLsoMlSIaH9l0LpsfA=
	=
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: UejbwgfZBntbrUejcw82YD
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
To: 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,
        Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH v4 2/6] argo: correct logline in ring_unmap()
Date: Tue,  2 Jun 2026 23:05:35 -0700
Message-ID: <20260603060539.1181809-3-dmukhin@ford.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260603060539.1181809-1-dmukhin@ford.com>
References: <20260603060539.1181809-1-dmukhin@ford.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_02,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0
 adultscore=0 lowpriorityscore=0 malwarescore=0 spamscore=0 suspectscore=0
 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606030056
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB71:EE_|SA1PR16MB6433:EE_
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: 84442923-b731-44e7-4632-08dec1362a57
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|1800799024|36860700016|56012099006|22082099003|18002099003|11063799006;
X-Microsoft-Antispam-Message-Info:
	2lqvahrSEglvkpwl/f0lCknuNKI0GSPeKu+ugjM+7R0wCqWFXw6XrdqHt2uqPNYftkyWs3xlWslZhK8iSOzWKLZq/bK0JdcKScASyeYmWwCMeGGyyoBQ/SsryCxVhF19mHvRmG4EdHG23MILoAGGBV5g7SY9aONmVlCQez792i4EjTdBpzkpfCYHjM+mc6WlQsbnUHc1oZGm7zvgbr1vJsHORZJ7te6uYHUSUusmvHI8ircC+w6ELaOyr5FRMVu+sOj9yRkd/DF6FwEwI7xdNUWtMCzFCM3LG3NhrT+49/738rpIDnyjj7HAzpMbl/EOPkKSb8b+EOt93R+JO43z2vFWlwgeUnECfwGKu2zanbyFR8amhbX6wv9tp4DCKEg7lwgKN3g8pleMlYnI5uOGV2c82XhVsIPW2amsQUlGYwjN7H7YDqougYbnEAJBlH6v5wS0eA5AtW7Pr6v1HvSrJ9po2AXUou268OFWC4SMAgXqcLsTyY+aiGbVIWPEl8JQY1QiKKm/EnKWv+JZckITWvVShBaTuco0AHUiHE2IvwxTnFezZ73F+S81yJk30BZXNeaHYO1KM3cpRceO2VNUsVB3oLsJdl+XLN0donKRUbI+xO35WOud37Y8AG6oAXfxIBQZ0ED5jvcH7hBQ+MRD2ZRs6NfGRWYmk6AvyZ1amy/18Bee4LCj7RT3TwVPr2SqZnNH6qwCGsW1lN3W8DsLldX+Aekrjfo0yt5/VzdTmLc=
X-Forefront-Antispam-Report:
	CIP:205.220.161.53;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0a-00498f04.pphosted.com;PTR:mx0a-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(82310400026)(376014)(1800799024)(36860700016)(56012099006)(22082099003)(18002099003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	bGaPTjU7mRn0rvKCOQk/DRRw6W6BZzPqjudbOb5yupAwA3R1+XT3jwkiSzBT7FfhxsTT9UYZYrNqYuetGc3mPYQakSWJ9vNQ4h7J37LwKGuD+wFzEXimoOF2hsBUFsGQ5JCLdFCivhKRNbFMzaMeK0qxu36SpGxrQXpGU0wzOJ/rzEtVTXxFs97OhJJDQSV4HaoW97zcSkgBEdzwJwDBFiO7VqG1iaQBSaTWFcoSPyeY69xNU3b/DygQKATc8zcvfjq/rvxxmhsz3BbZcWAh2vM27bLFXXQmmDZApUlVJiguGdIWFBK0R1DRS4LnsMB1VOF2fbINhXlTCHFUgEhK9vCOmpiqEcm2BgqomEVpP/fYfC7WnMSKLvudGCENkQ3nXgp6zjoDtLauN11DyD/Zv38CZfPDxNx4Y0VGlq35bPj7DMW1erpgdXvD6DylDs+Y
X-Exchange-RoutingPolicyChecked:
	c9dTJEu0M0N/yQ5bQ5ddJ2b3s92MrnczZNxrTEydKmNlEoiJ3sAR7xzz8dSYjmTTm/A4SlKymdevsBHgX6G7VjaqMzHRWo/3G68cCXAP0huGA2VQJKfGM6Xy/EB0g3tn/stBOAKsfm4I4AmtpHjC4zx5H1nmV2bcUPKtkX8KFMF4mLuhr3X9WPGxMMrfzKZt2c0iYmvmfQJQd+8E3LbXcJ4bjvvTEtZNTpsORlHln31eE2x505NAkW7ZDLvz78wcsVVsHoVs+Q9/q5a/ggsUO+TeBv7TMw9xWznsYlBKp+x+ZPTGP+ZjdlQe3cEPdRkAdX+z5rAYo+sVY2K6PLQ4rA==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	6SdFxOgF3Y18odII38Gv8WsjZWO/CZBcSkgsGgjAiCjP2op53L7cFPm6CVvsXrcONVBT2d47p11OayHgS9/8KycGx/f2paC/pPiiSq+pMnNCrJFwc+6d8aIMo9CVat/Qszqy6yLLoRCdb8h5nAnPRGXNlCAxR9k/hhTC/gv6GTXn+hjS7D+JOfVeWEQOQhTG6lYQEshfDH6JrJqKiWSZTuwoCqRPbMthESPJwLFxBscDWcI32o0ZRz9fpXTSy9eYMIedwY+k3M7NUP5QC37EQsuOQIhLlBKgCTH1bpmfaHqFSP+kSYZ9nX8CukgMS+ZPGmNdgQGZNi4tM5fZBFTMmdANle0brSFDkwFV9Oc1m60KmZlzhyy9oGvDip4V2JVa140PQ+Og8wc6Pz6oEV8DnTzdOfy9DS0ZUUhjRjNdpwgx8c/FhH8QYuFPekGTNsT+aS1cqxEbZLiAd0WgFIby2/+GKb+NB/T5BmtUBG2+UXuIJ9gM5Nkj/MCDyWpfYcqODMEERHtWq61lkE354nWnzMg0OHJfq8xTHHwXLj1GjU8GWaPFKlX7ONK8wNNNK8raZ1nWJii7JtdSR3r16VPFMLJIva7wCI5rgwVXBhUNe8eUkLWbagk8AuyWj7HGe398
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 06:05:51.2508
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 84442923-b731-44e7-4632-08dec1362a57
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[205.220.161.53];Helo=[mx0a-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF0001AB71.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR16MB6433
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAzMDA1NSBTYWx0ZWRfX0j1S4O6M+47c
 dY7Zcm6G/d8A9PUowdpvlW35TADk6naahy9jE5G2idNsaeQ3YrS1aSqXHNk0jz1VlAEKbHx+JKS
 gQtbery6ejLGUIkNU1GEeUQCcvRx5wyStdyft6xRvXvXWDaHXLdl6rRPyC9GSCaL7J8L046RxKe
 JBBMwAk7AqRDxm0AwBr6CkCHGaBpPDCzkyKuDQBZJ829FSBjlKVTyjCC1ur1LTz4ekhYxVl/UmT
 tGXGvP8qj94lsHhUr2bwoLWkLykVcEt9UAhNK1f9tOaWiyzQX/Cu2XuTBWHUiv2UOjR/yfPp1fi
 NF5ZmxA9pXEpetNrtUwX82x/m7S3jJYL+8uhl1QQHDZTbA9cPVccVN9a+orfEom7UFCRSrSUMcE
 zQHDnK/YgxZbhWyaK/lHOyo2imm1risiNif3CM6clJIqYw7DJ8MQBMfLSt+gDhzC4NLL6C4kgF4
 3Vg4WD1FRqzBlO4AwYw==
X-Proofpoint-GUID: itYoMTHJvoRzyYzr_Pho2xtAbGr5vSmc
X-Proofpoint-ORIG-GUID: itYoMTHJvoRzyYzr_Pho2xtAbGr5vSmc
X-Authority-Analysis: v=2.4 cv=MptiLWae c=1 sm=1 tr=0 ts=6a1fc442 cx=c_pps
 a=I0dIGTHPrmtoUi9UVMbYOA==:117 a=lOEMawUel/sSvQipkIvNbg==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=FelO9ux0wxsA:10 a=3PXLN80vpJUA:10
 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=P_n1zlmtWsCQbjROFjcg:22 a=ARvDHhclS48edyKYUbLB:22 a=cbNQJ9GKAAAA:8
 a=DBfv99YmAAAA:8 a=VwQbUJbxAAAA:8 a=Pq0mfAL3NuNqQaD0pm4A:9
 a=DqJYxgmhk6moR-_7_KoZ:22
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_02,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0
 adultscore=0 clxscore=1015 lowpriorityscore=0 priorityscore=1501
 malwarescore=0 spamscore=0 suspectscore=0 impostorscore=0 bulkscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606030055
X-purgate-ID: tlsNG-c201ff/1780466756-DBB60443-1E6CD561/0/0
X-purgate-type: clean
X-purgate-size: 1071

Drop XENLOG_ERR from the logline since argo_dprintk() already injects
the proper log level indicator.

Also, drop "argo: " prefix, since it is also injected by argo_dprintk()

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes since v3:
- n/a
---
 xen/common/argo.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/argo.c b/xen/common/argo.c
index 98a3db7fd070..5da14c929e14 100644
--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -474,7 +474,7 @@ ring_unmap(const struct domain *d, struct argo_ring_info *ring_info)
             continue;
 
         ASSERT(!mfn_eq(ring_info->mfns[i], INVALID_MFN));
-        argo_dprintk(XENLOG_ERR "argo: unmapping page %"PRI_mfn" from %p\n",
+        argo_dprintk("unmapping page %"PRI_mfn" from %p\n",
                      mfn_x(ring_info->mfns[i]), ring_info->mfn_mapping[i]);
 
         unmap_domain_page_global(ring_info->mfn_mapping[i]);
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 06:06:00 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 06:06:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325658.1590983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUejo-00064t-Bg; Wed, 03 Jun 2026 06:06:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325658.1590983; Wed, 03 Jun 2026 06:06: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 1wUejo-00062R-4g; Wed, 03 Jun 2026 06:06:00 +0000
Received: by outflank-mailman (input) for mailman id 1325658;
 Wed, 03 Jun 2026 06:05:59 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wUejn-0005u4-DY
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 06:05:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUejm-001q3f-QC
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:05:58 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a1fc442-5cb7-0a2a0a5109dd-0a2a450cbb02-18
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:05:58 +0200
Received: from [148.163.146.23] (helo=mx0a-00498f03.pphosted.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a1fc444-62f1-0a2a450c0019-94a392176bb4-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:05:58 +0200
Received: from pps.filterd (m0367124.ppops.net [127.0.0.1])
 by mx0a-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 6533tJ1t1361196
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 06:05:56 GMT
Received: from ph0pr06cu001.outbound.protection.outlook.com
 (mail-westus3azon11011014.outbound.protection.outlook.com [40.107.208.14])
 by mx0a-00498f03.pphosted.com (PPS) with ESMTPS id 4ej50jbqgf-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:05:56 +0000 (GMT)
Received: from SJ0PR03CA0045.namprd03.prod.outlook.com (2603:10b6:a03:33e::20)
 by SJ0PR16MB4208.namprd16.prod.outlook.com (2603:10b6:a03:321::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 06:05:53 +0000
Received: from BY1PEPF0001AE16.namprd04.prod.outlook.com
 (2603:10b6:a03:33e:cafe::a2) by SJ0PR03CA0045.outlook.office365.com
 (2603:10b6:a03:33e::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Wed, 3
 Jun 2026 06:05:53 +0000
Received: from mx0b-00498f04.pphosted.com (148.163.138.245) by
 BY1PEPF0001AE16.mail.protection.outlook.com (10.167.242.104) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Wed, 3 Jun 2026 06:05:53 +0000
Received: from pps.filterd (m0426315.ppops.net [127.0.0.1])
 by mx0b-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 6534fRp1034323
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 02:05:52 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-use.ser.proofpoint.com
 [3.215.31.156])
 by mx0b-00498f04.pphosted.com (PPS) with ESMTPS id 4eghss4e0u-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 02:05:52 -0400 (EDT)
Received: from localhost ([19.12.76.222]) by cmsmtp with ESMTPSA
 id Uejew2fTk8Hc9Uejew0r88; Wed, 03 Jun 2026 06:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppford; bh=bpL
	4PQ1sK3GRQcs9VpNRkHUlFeHUQT3HXXcDRRhWRL8=; b=aJ5ksZvIgLJUGd7ktjF
	lVuqfc+7SRX+VEcy5DvXe4khTOS6sIe9CX3XRCN3mGEPJvkjMzvQ9WLjyHz+W73c
	3UE/X/Rd+CBXl7V9TPb7gcl+V282PHO3nlPQeZ7EM4Wyn7ucPPURkw1o2nOEVXuL
	C+juM6zXszje1/8Bl8gA4Yg16ROlwLYRP3clIFM9aXmXwOdY3IfnK2Qrhui082Pe
	yzZxeZWg2skRqwTT0qkgucgjgxPSNThXBzWoJQ43VkZ1uTN2oYoGZDg1bX9bu2WG
	hLWfCEqfWKn4xQTryB9vCHoZqFI9ILtoZBjhv6i+e/zobkTl/gpSYNSl1RCccak8
	gqg==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ycE0Ct3LenzGrQGkccAnFD0ziDFlDFOeRzTFFlXnMU/xHkCKanf0T1g0ijPPbktiv2FoOdvBiEk9eZ9grcgEQRQnqJSMH54oYfRF+qJ7sdIwarorM4CcUEQ8++15s3nf+MlPs4nrM2to+SECrWaNsmFI6mRZQmfOEaA+h0Yl/i4yHwdv+IIztxTxLfsGDfTOx4efMv532m7GW8rR/XN25NvRUOhO1DgpS3qrglGdJpOVFZmA5dC6hVhzujn0mB006udTfAPi2GMvJIugHjoKsRqvtvfGhxJQVJycFj9vTcml/wdLlqjY7TVFSurZCYgLqPptjgxN5OL9cM4oPNOuXg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bpL4PQ1sK3GRQcs9VpNRkHUlFeHUQT3HXXcDRRhWRL8=;
 b=XoQ/wABBCnsfUUg7o/YpIzQwgZ5d2WfAmdTmsdic7XEtcPN7WMr/sYXFxz133ZZ0NOgKsaKSn6BKBGfunT2OtFGYNsm6qQFrlaY1RxqSxUOpMDy5CJ2slmrRQmiLL1fgRhe4g7OIUo3tU5eMrN+yoFB5noEN41ytyfM8YKM3EGhi0a5CP9cvQQ1AauqQ7C7l2bC2J8tGRwNnaBqc627+7COdzwe8GTXw6nuSxh8Eh4P3kMWxtNztIwX8VTbnTjp2PCA5FK3lVxvxP0uS/88srlh2xI51h4pkY2wNEqld8hP2ckTcsza5G2P18gRwovM7SVAbmUxbWnn0jrk04mc28w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 148.163.138.245) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bpL4PQ1sK3GRQcs9VpNRkHUlFeHUQT3HXXcDRRhWRL8=;
 b=T1vZk2VSraS/BPG/9TTcDh2xGfFqxGlJ30vXUZ649so1+Nyz748t3ZRrJu8biVMAAQlmzWgX6ERgNdPZFXU5IwQ+U3gvlxTBq9CfbLXkVABL7IzK6DNVhonCi5wTYLUe2acDiGJdwRK0622ZBSQnu93M6vOmASzIKCTK1GUJqsg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 148.163.138.245)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 148.163.138.245 as permitted sender) receiver=protection.outlook.com;
 client-ip=148.163.138.245; helo=mx0b-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:date:from
	:in-reply-to:message-id:mime-version:references:subject:to; s=
	ppserprodsaar; bh=bpL4PQ1sK3GRQcs9VpNRkHUlFeHUQT3HXXcDRRhWRL8=; b=
	Y5phDF4XT4mFxJ2TEe9Iq2Y1+LxrXfapybTZwgsX7NB2T6btKbmWm+DchftejobA
	TzCpYUpICmCaTo950F/TrN/teT2lgtwk4rrtcKNhqQooR1CEzHzH/nipdq5i5WVH
	CgIpvQXbkchk1S6OO5QZ7ajAInJO8j/bCzEF+0S0Dy1dxPNXr0PF1t+XIJcdnR8L
	ccbpKPTW/K95iehPBHkPm3kagNVsenpyn/gRE/VgPnlV386R4twEtmG4VJUNbtU2
	qoqUMXmDcgfRc8XE363R7YIV+7LwV4INjceSNFq7XOpQHe9yP+ole5kKNCBRuWKj
	p3gvfI+1gZcTA4T+wcWaCw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:date:from:in-reply-to:message-id
	:mime-version:references:subject:to; s=ppfserpocford; bh=bpL4PQ1
	sK3GRQcs9VpNRkHUlFeHUQT3HXXcDRRhWRL8=; b=noyziwXpb7ecz6Sjr42rXIC
	4AA60H4XEsfrldDo0ivjdneuRfnk17NhOD2i7QVHaOlLmxPW1RHlFFFTfMtkEgwK
	OI2vh9Jo+zeT8kfAbKUd4mpqZNaMoOEE/7+tJMdUISix9mK8DL/D3t+gxi6egm/s
	JEvahy0JPm82fnHa8Ihk0m9pq+se1gCol5jHV1HbB4mg33G8Qs8DhW2PM0ZCmHoh
	DjMr2cjT6qUc59ZL6heVcBbr/1iVo9MjMXrRuF20wV0trhyodt02a+X542Bxt5C8
	eCqqlvVdaiUNDa1d0adgiiqd+CQ3hD7i/voEjUp4UegxdXAmqUa6zLQmyKiGe5w=
	=
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: Uejew2fTk8Hc9Uejew0r88
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
To: 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,
        Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH v4 3/6] argo: drop argo prefix from argo_dprintk() calls
Date: Tue,  2 Jun 2026 23:05:36 -0700
Message-ID: <20260603060539.1181809-4-dmukhin@ford.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260603060539.1181809-1-dmukhin@ford.com>
References: <20260603060539.1181809-1-dmukhin@ford.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_02,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0
 adultscore=0 phishscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0
 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606030056
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PEPF0001AE16:EE_|SJ0PR16MB4208:EE_
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: ad639781-d204-486e-6fd3-08dec1362b92
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700016|82310400026|376014|1800799024|56012099006|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	mI7aJF7I7nWrRHBuzaTuBRjqy4q5Tk0CoqbwGVZYZ5P7yQrShXW0kot3VHGt/dSnxacJRU7Ua4flzONrDmjJW3vBw9WVVmmLn4gZ4aPjRWym5mqzmuwg0KVTerJfZkUkT/dF8oUxxkhAm/yR/y6gJTkcoilda1zTfavtq17F9bELbFRGQ91fI6gqlq1h/xBys++ab45z9hMHAAjGUGD7vTfEd2yab6/+RDCdns/+iVIMICoiOuO0SZsz4IRo/p3YZdL6m0tkhhGaSPuWB8yAlMy65STkOqPH/z13YqzbsYnGwHnH7rx76XGn2NFeji2hFoJq5ma1TZFn0IZrQf7Wx8shoq631Xo5JJqEX8sC/BtZu03RY7xWlZ2o0PelpOVfLit/oaT8tw8XZpZPELgVxeemVpUzucfQ8RA34aUky6+1X0PpszTagZwPSz9uEu58dtpweo3QFQmG4S2Wx1/7GtAs1nyCRkyAIlLD4DQrsURQ7dFiIsBgBO1PSkM9RxlBRVHhWEYY1nJ5vZIqmTgpC5jZ/juAxVao3YUCLS4l3SrLEo3XBTGqXVUbF00giwD42YeqCUfmHg5JvM7IJ2bIrm+Apm8+Warzi+1rPLH5K2h/8o2D4EOemTO0V57e7maV80pm+0wZ1sfPOQTDh22qj35Jy65UaFebPm3l341GlwCmiWPF3bhDpoKqwGRKw1O86Zh3Zr3g+iwYu3eixH7l5Yzv4udDvAve42viIyex33U=
X-Forefront-Antispam-Report:
	CIP:148.163.138.245;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0b-00498f04.pphosted.com;PTR:mx0b-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(36860700016)(82310400026)(376014)(1800799024)(56012099006)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	tiGvczqdREPP9ASEnINj8IQXdYxlaa7MBqh6bKa2uKgZjNqiR8DuSwJQoX0L321/1OBExAPYrAdNOv9QZloUPJYMB2gltBoHw+RNyLBxTqBkJ1kkelPOUAgEiB3pNC7aw4AjMf4d18jZrn9hpd2L87wtJ9N+eUVcsV0xuyEZipJ0GTxW+AdOe3y8f/FUyhayQam0fWcErZ7TTD6hfs20GqQTFeqy0zpIgMkocPPSiDbC8DUg5H8R3hPJwKn2nutrN+M2sNMfit0iMJH6/bXZoFdQJk3MCJaYaDRc0WbSLHKG29S0M4yRb8hha4LxnRMdbJS9Vw9oMrDqAbhhbYl//xUZnlZkyFYT/hpOyGpxCU2jvUd+4uUQhem4Q8gQRzsx+wljyq9PMkOI7hGtlO5tBac79AThcPiAnR77sHR4+fF6o6tKgUNsd4yQk9mnd1Cg
X-Exchange-RoutingPolicyChecked:
	bcZJHk6rMnFD/H6kY+XWcqlbeO4MlgE//cw36fFiKJIcu53jQ1w9Q35Svm+VtosUDd3aI6LULUSW2D+yeh2YF7/u+/R6XiLp2w0juimzoIvJTkVARhIHUoCoEZx1vHTSjTCPHZ4r4KWVURzQOfbix7ri4njFeIFk5ufwy4ImFhaO8WslhpDuUDwDK/RtzlTutC2RRpRbXoxjRmHSpGscfCn3s1AhCRXujndGxxptahk1R0krS772hyOF6/u/rgGFnD3Z/sKaT4voeNQkRMyp846K8Q5cTdAH52Phja6WbZbeW+munNMK/wz7/j0bkRPeWgT/zLku8tjy11zNEVkHsw==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	MhrItVhA1wSQ4Uy+uNWuboTn1UsdDK1SYNmPld1TxjuKpD2YCPi3ucvuwI2KzeHpAzQp8PH5cd6qvlZ44Tb9Gf+BmU/RzJGS2uAMoVLVfdyy4Cho1EcEiz2RsLO5Y1t/mfxOodqSQD1W+K6jOHlTOOvOk7MqXnGHKuBIveGGABQ2VH86MAOSgpViZJJIKsoPc76UN4FGox8egwJOX2/Adcpn2265tTQW3OOtT7l9cteLKRfJgtvTiAP6Tfh4zFyPcOry9h39EB74hvQbnj/G6kSaH8IJMzbbxKmhcpe95RykyQdw4rv1XajchOspIXZ4pxOJLVIAuSU1wXbV5wRUjPitTDlKmVMj6FUdYQkQVb+0+qXAT91XoOyaoegWcPv2GtO9hwzE7B+0RL0DKo0eb8t9vfWgS/lA33NztDq5AK/+wUdwjI9I61kZrzQp4/mCHhxTcZWmoNbYKwsGYSnpwvNuXlZW4fk9QOzsX3q5eMeDJuyjN+DZudfxe4w6r/MTRbjTy1nF+W1cfKw25cdpa31WVDLbZDbga32wvoE6fHl1Ns+rfc0P8xWkLSlagiDjzKZ2wK9wH/Kg/yleOnqRwecMqBHRuL/2BQpsBc0lUM5XgMgi8wMbQL9xOyg15jNt
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 06:05:53.3978
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ad639781-d204-486e-6fd3-08dec1362b92
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[148.163.138.245];Helo=[mx0b-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BY1PEPF0001AE16.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR16MB4208
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAzMDA1NSBTYWx0ZWRfX01ygyPrvcYxL
 /tEKSlI768bLUbb++uoKKSTbBGg+FspRbgLzFkwvhtT+uoNZCsqiSPfRA9fIL09UClaLiD+Cf1u
 koAB9DAA09buMmbzMxEmgR7R0nxGHDiobMkd/N1GJz2WQRwkkwHnT35SwyVykyWEFb62go+WzJY
 /kaOKffZC+WbazE7JfxBMqt8UwdvQtcnC+8lTdpOzbMCOPSO9vxG10wX1i6+IB9+cYvLohojJ/x
 q3SN0o0yIousaPbdKpEofksBLWmWDxC88PlOvA88uytlBmNbrMm+hDMt8uZjxxdQKUVJTMglwUZ
 ppX12hMtX6aDGZhypjlEF+2OQCIuJ5bj7t7YAHrxakkILJ5aTqVZjt9MQl6L+kT5xmWmIFqWK7J
 XSWK8nRY6GEViDv7+oULn9W6DixiuYAnzNiNVVm0dXpgzEoPYxcdCSwmQnXG0LNkJSXjnZzhF1S
 RxR9Liu1zzqIhUTqDTw==
X-Proofpoint-GUID: aetGZ0hv0S82gnul-uZlvZJ3EVXX2ir0
X-Authority-Analysis: v=2.4 cv=IuEutr/g c=1 sm=1 tr=0 ts=6a1fc444 cx=c_pps
 a=RGFq7D/WLd/IouGP2/vkQQ==:117 a=b7IhknPlfT0FN1EembXvig==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=FelO9ux0wxsA:10 a=3PXLN80vpJUA:10
 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=P_n1zlmtWsCQbjROFjcg:22 a=YJXg7OVxOWrJwj3yZo-i:22 a=cbNQJ9GKAAAA:8
 a=DBfv99YmAAAA:8 a=VwQbUJbxAAAA:8 a=TweWIa6zg6WzoLAQ39YA:9
 a=G69WFyCBNqGPyalROSdv:22
X-Proofpoint-ORIG-GUID: aetGZ0hv0S82gnul-uZlvZJ3EVXX2ir0
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_02,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 clxscore=1015
 priorityscore=1501 malwarescore=0 impostorscore=0 bulkscore=0
 lowpriorityscore=0 phishscore=0 spamscore=0 adultscore=0 suspectscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606030055
X-purgate-ID: tlsNG-d25034/1780466758-E2D73CF5-78BBF8A0/0/0
X-purgate-type: clean
X-purgate-size: 2395

argo_dprintk() prefixes all log lines with "argo: " automatically.

Remove duplicate prefixes from log messages in the Argo module where
applicable.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes since v3:
- n/a
---
 xen/common/argo.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/common/argo.c b/xen/common/argo.c
index 5da14c929e14..ffa1f43437ab 100644
--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -1467,7 +1467,7 @@ find_ring_mfns(struct domain *d, struct argo_ring_info *ring_info,
     if ( ring_info->mfns )
     {
         /* Ring already existed: drop the previous mapping. */
-        argo_dprintk("argo: vm%u re-register existing ring "
+        argo_dprintk("vm%u re-register existing ring "
                      "(vm%u:%x vm%u) clears mapping\n",
                      d->domain_id, ring_info->id.domain_id,
                      ring_info->id.aport, ring_info->id.partner_id);
@@ -1527,7 +1527,7 @@ find_ring_mfns(struct domain *d, struct argo_ring_info *ring_info,
     {
         ASSERT(ring_info->nmfns == NPAGES_RING(len));
 
-        argo_dprintk("argo: vm%u ring (vm%u:%x vm%u) %p "
+        argo_dprintk("vm%u ring (vm%u:%x vm%u) %p "
                      "mfn_mapping %p len %u nmfns %u\n",
                      d->domain_id, ring_info->id.domain_id,
                      ring_info->id.aport, ring_info->id.partner_id, ring_info,
@@ -1741,7 +1741,7 @@ register_ring(struct domain *currd,
         list_add(&ring_info->node,
                  &currd->argo->ring_hash[hash_index(&ring_info->id)]);
 
-        argo_dprintk("argo: vm%u registering ring (vm%u:%x vm%u)\n",
+        argo_dprintk("vm%u registering ring (vm%u:%x vm%u)\n",
                      currd->domain_id, ring_id.domain_id, ring_id.aport,
                      ring_id.partner_id);
     }
@@ -1781,7 +1781,7 @@ register_ring(struct domain *currd,
             goto out_unlock2;
         }
 
-        argo_dprintk("argo: vm%u re-registering existing ring (vm%u:%x vm%u)\n",
+        argo_dprintk("vm%u re-registering existing ring (vm%u:%x vm%u)\n",
                      currd->domain_id, ring_id.domain_id, ring_id.aport,
                      ring_id.partner_id);
     }
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 06:06:04 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 06:06:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325659.1590995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUejs-0006V8-IW; Wed, 03 Jun 2026 06:06:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325659.1590995; Wed, 03 Jun 2026 06:06: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 1wUejs-0006Uy-EN; Wed, 03 Jun 2026 06:06:04 +0000
Received: by outflank-mailman (input) for mailman id 1325659;
 Wed, 03 Jun 2026 06:06:03 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wUejr-0006Sr-6H
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 06:06:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUejq-00E2xQ-J3
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:06:02 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a1fc446-bab6-0a2a0a5309dd-0a2a450b973e-12
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:06:02 +0200
Received: from [148.163.146.23] (helo=mx0a-00498f03.pphosted.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a1fc448-212f-0a2a450b0019-94a392178eca-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:06:02 +0200
Received: from pps.filterd (m0367123.ppops.net [127.0.0.1])
 by mx0a-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 652KYqKl3077311
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 06:06:00 GMT
Received: from byapr05cu005.outbound.protection.outlook.com
 (mail-westusazon11010008.outbound.protection.outlook.com [52.101.85.8])
 by mx0a-00498f03.pphosted.com (PPS) with ESMTPS id 4ej6baav0y-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:06:00 +0000 (GMT)
Received: from SJ0PR13CA0082.namprd13.prod.outlook.com (2603:10b6:a03:2c4::27)
 by BN7PPF81D206FB4.namprd16.prod.outlook.com
 (2603:10b6:40f:fc02::715) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 06:05:57 +0000
Received: from SJ1PEPF00001CE9.namprd03.prod.outlook.com
 (2603:10b6:a03:2c4:cafe::1c) by SJ0PR13CA0082.outlook.office365.com
 (2603:10b6:a03:2c4::27) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Wed, 3
 Jun 2026 06:05:57 +0000
Received: from mx0a-00498f04.pphosted.com (205.220.161.53) by
 SJ1PEPF00001CE9.mail.protection.outlook.com (10.167.242.25) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Wed, 3 Jun 2026 06:05:55 +0000
Received: from pps.filterd (m0426317.ppops.net [127.0.0.1])
 by mx0a-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 6531WFSt3759767
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 02:05:55 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-use.ser.proofpoint.com
 [44.208.76.22])
 by mx0a-00498f04.pphosted.com (PPS) with ESMTPS id 4egeypmnbh-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 02:05:55 -0400 (EDT)
Received: from localhost ([19.12.76.221]) by cmsmtp with ESMTPSA
 id Uejgwr0MwonD5UejhwCj14; Wed, 03 Jun 2026 06:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppford; bh=3aA
	1EY4eaU9okt1ObDhHrDDu+HiPM1BTn9QeKTM2k+Y=; b=Aa/x0GcuDTQREBeghqW
	+OMPquyGuQuxWfJ69CFwf/EW3HTAOAQ+fjEZWi2nbgI2Q7ReTNLLXoInhV7ZxrU6
	KOKCVLpH3m/OHPkPLSlOluYapa4h4/hmbh4E15lFs6OdC42EGxnaaCgRrOFPi4zN
	EPoNlJH0ZGt2AzohfJDwwb8ihinFES0o6A0y9m5RCH69bEjXzzWxONbD2c5v6hII
	VrBSKdhDT3AykPjb6FJeCBN3yRfRODlTNfQuA7RkTO00OXOhOtKosbhRAYIJg5q/
	6W8ULD8g2FLPSALB4MYGeP++kpIJikSrLwwqHpBNCJw6C02BEsZGKM+4Eki5BQbd
	Esg==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=y7G9D6C68hrBwP7awZY5NkXO3a/gVcuiej+CWRL2uZylyn4eCVXtdaIvuNIoNdLvST4A19v/LNGnz3h+nQ02rgPxSjQMHx+l2RJegXEEK2NYRHFdaX97kKpq2ZcWvGiOSMeIq5Ehry3SgRdnMzARstoXgjbVQcCYqBK0DplpGOjA01pYVgGdOJZI07xtZMhGcqV8g6bR4bh+O91c8svKKor7R4KxKwY89Ke1bw3UXvDeufASon5fRxeF8mvo0xOhW8h2WXMtBMw/45qVi/NM42kBkdMyoHeJpTmYpHCTNB0awtI8CDvZrfUUeKOYuhu9mPs68ZeMXKfYx5wNY5Ej7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3aA1EY4eaU9okt1ObDhHrDDu+HiPM1BTn9QeKTM2k+Y=;
 b=yBFFC5OarirrmEE++nIHBALE9/9RYzQnVPPTkhFTWM5p8F3zdwzd2sLqg7nPlGHZOYNuXAmNTJRC1Bb43EynDzdh9+bLErB+2FgTRMiO5flmXklav9yLT5t3vWy4Wo/GvT3KvW+xyXhBjs3gwx9tL2Lut5VPAkCYhW3cw2MX0juyOdOr3WnU09W8G9WPVZvZAqtfpWWBLm4ey1k2H6CMPR260kSl0vLAT3D4I6p0AMzIEBhoIa0mAvGa0pp6LAUhdmaxTdziFj3w5hUCcUSRwIo3J/LX8WxAfEd72LlSC5Vy1X2utQ3yGPgCJjpAvOPjoEO2uie8FvcdDkRaeGE9Mw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 205.220.161.53) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3aA1EY4eaU9okt1ObDhHrDDu+HiPM1BTn9QeKTM2k+Y=;
 b=eULxBhXTZzXJwJdefHEqCZdJVka/UiUpn/fBT1zlM1Itk1JhEOlFqPa6ZnPw24CRfCM5aZQzfyxHmXxptZNT6tFC+CHvsprI0+1jcnCfS+C5FgK3a1xI8grO5m9MyhHk3DlOwzNOaUnw4JsS0dVz+S2cDSzFN8mHgGHS2ZMS7cA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 205.220.161.53)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 205.220.161.53 as permitted sender) receiver=protection.outlook.com;
 client-ip=205.220.161.53; helo=mx0a-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:date:from
	:in-reply-to:message-id:mime-version:references:subject:to; s=
	ppserprodsaar; bh=3aA1EY4eaU9okt1ObDhHrDDu+HiPM1BTn9QeKTM2k+Y=; b=
	OP/lLSSBS6vbxIQ1YRbwDjOpCBgk8bbGJmDV8dn0CVJfcmGvG23W5HtupndRfb5n
	o4Qyq4YWcSdDWwbP5z2tbLZBL+xuY0y/FA9UbO/EzSWdEpFi21rdPnQwtH0RdN7k
	FRq9nkSIloZllfAfk199+bHwPyOxUZH0TB+LoRLpMWJcpTJiHDMJ6vBaD2xVaqlg
	27pWj8n8MUr5iw69auCKn+E49VcLT/w16PgSV72tjPyn2RMgVZ/tim4p4sIgZFIh
	PXKuBcq0oJHNbBIORFoe6m8amxTYCDzCOUcQDAzSN+zSSJrgEr1rhHHxmuVdTcqj
	70fZ6J9KTiudIfntSrfrhg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:date:from:in-reply-to:message-id
	:mime-version:references:subject:to; s=ppfserpocford; bh=3aA1EY4
	eaU9okt1ObDhHrDDu+HiPM1BTn9QeKTM2k+Y=; b=Oxi1BH//gwkmCON6FYgi50d
	bo6R/xfv1yU8XBUQ1zj+D5MQxcfcDN1bMijgoZ+2jkMsBYCQyk2YjDKdg5A9NWMx
	Dr0OeUZ/h3KcFSZq3hCCPRkIFTd5G3rb2LAye7y5nBxS0t5AunPXz0Pc5NR2wWcn
	UcGFi2i4b6rY/CZRvDPp7iAajZJUIuDuc76eIc5hX0WXmxRFQ47f0NMdc/DRB2F5
	nX3jWTePF+d6gnCjkRbsU4XjoQUb0yau5cUwKPrEhzKpl+V+3xTuXBAdbvwW15a2
	jJqVlkR6iDFCGCLD6YZrBPvG6jAq2qxMSQ2IM55tyg3thpXuol/MmdzYnp0Pqig=
	=
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: Uejgwr0MwonD5UejhwCj14
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
To: 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
Subject: [PATCH v4 4/6] argo: fixup argo_dprintk()
Date: Tue,  2 Jun 2026 23:05:37 -0700
Message-ID: <20260603060539.1181809-5-dmukhin@ford.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260603060539.1181809-1-dmukhin@ford.com>
References: <20260603060539.1181809-1-dmukhin@ford.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_02,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0
 adultscore=0 lowpriorityscore=0 malwarescore=0 spamscore=0 suspectscore=0
 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606030056
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE9:EE_|BN7PPF81D206FB4:EE_
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: 51597b04-da4f-4ca3-5657-08dec1362cb7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700016|376014|82310400026|11063799006|18002099003|22082099003|56012099006;
X-Microsoft-Antispam-Message-Info:
	9HWjTqkxHPVpD+IDx6Yz8LnwzLpacOu50m3IaJNr4Z5BOR3f8qPUKBfCCgwFjFigfnOm2qBRJ0nTUuFSE4FRxUyy//mDDFOanCUNWp3YP6W9xI878Ej0Ig3psRpTQve888ZTkJxMJ397ZdKq8E7d5pCfH/CoLrqJlfeu3TZbiZLvSKnnSzr/Sr7nxbpEyZ14BnRIV0w8XN17qcYGwX0pJBo2RiiQwuRGPD7V9fMklD0ofQ9qSYftiwLgB7pnrWvyyMc5aIM0o/CZ/55UFgqim/uEw/kfFWyRhDojt7a8TZTTnBLZPjZN4REkPsqKbZtQR5mcUtKwwSTY6VwoqTg/nCo5m3s7FpqnM/rkTt0NkHaZg1TZpAsnxXDtEIPwLw/HBYPnGXwMO6mQkp5u59Ppsut5cHbdL8cEDZFWfDl38rJTMZxty4pip7QwA7Ubr5nUU+/R27tfhnxpBtSVIyggU1N5TMgw32Q8VvUUd2uySyMdQxSh25S2f7zNGQnGhxZ+jHGsr9X0AoQghKy3zs8ABSPAx3kYfeb5m7vGDMxsTYzdDqZjK4x/AnirNL9mIu4LX/AdF5mgg61IIwidS2taVisPKWwNCuU1XBPeCg/nupVLnCEWYVI1rO2UZ+g0trVJ3tuqqJXfZorP8ZNJm7FyGzQOQiATKwsVwMteSQRh92qWdmImWfr6qJQEF2+poMNelNuG9b4XyVOrdiXn9wxmAbraH5bKvylBNwsX1JXMr9o=
X-Forefront-Antispam-Report:
	CIP:205.220.161.53;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0a-00498f04.pphosted.com;PTR:mx0a-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(1800799024)(36860700016)(376014)(82310400026)(11063799006)(18002099003)(22082099003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	esg/m3aSDjDxLztjopdKYPk9F5phYq49Co4DtWixRtFlMQ9Uy1acDgh7hpo/P2pWVUQi6DM/ES3oi3KTJ7WQLBH8oGPkWFgWupbOqmBe4GJR3TufEWpAF447wtXWnWH9xN3Ygf931S8U9C8JON3+g6ZmtVm22bb7bnKMY75Kre+t4s7NfM2eZntOTS4mKsX9UiFJl2ISbIwXpgBbVkn18gpVmFp/wt1WfEpDy1KVwX8ucpmITTZXsIG/HTwQEeKswICrPMvYlODp8DM72U78M4FYYXLuQ/7IigzrdNr8XApsFvSxzGMuo+DC6EMKfzxVCeIEJaR5Hc4NZShMXquqfUswfEwPRCfKmRCkKGjA/NNV57Xf1m8YpAA69rLmHAkoyhwTxu29AYGXcshhDlUQGXDVWzp6q0KitQ23W9YZOJNDqFl07ZYUXyshjXv4pnEo
X-Exchange-RoutingPolicyChecked:
	XbU7CQcQHGjoxEWPvdH1y8BiKi8XPigF31TnVAGQm/chbTeiOU/sRBMmULimVKoM77/O7Ncn7uNNrp9VY1X7YZMnJVLEedbMUB2kYzueyZAs/ZmZgHaNdhuTxaLEOcbQsd9/+pVllXbZdyOyeJbI0ihlBkmbnqvKoN3/po/WjDJ18TuaHbfzZj5Y8ZF2AGJhcXo4IhFXzlqM1du1VXDdYm894ftHXh7Cfd5/mli5TPfSsvQ6lNPLExbenUyigGEqdN+fD3CoNCis9cduufCZvPZUdm2r8EDd/y+rDUXOV9DVnGMzc3v/UWaXmqZ5AWDdoQQihtVTfbePRAdebDHpeg==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	QvdHl65Cf62rHSs94H8t95hPACAyWA797plww7F8oQ2mjpGkFuse8gwGAbhWZCYdWZKvgHBoMyjvpiU8fUIMYN1CW/44Fn558a849HPikvL0I//ud/Smr8XvzQmoqLdgidKMV7YHXCQ2XG4Dr9lEP3owY+FXQT8OgvZEU/y7tG942dB7GfZE2RKndSpOC91YZNTtjUqE4qHOx13i66mFsEswcvH7WOzU8Ks9SWdqZcw16iGYG+ZUacoQ0HuRK2Cl2OaxHu++tGfBthHx5bleTO2Q8iDVqeGN/69daixBByADofhyGaXRiP8F30VKv9+Va5V25OlsPz1V67cOHZ4Z8Kk8wCSlDPl91O2S7M76UlNjBC1liaCtJMcg8gEchyzwV78kYFDA+BVXfYmjoAgYy3e48IwZsPSgXNdA3MLT1desG8mzTG9UZgcXkyIyoJSkOH3PyjG/aJKcbPAu1Cs5gC1Hcyds4cP9l4O1LLsIB6c+QAFtLaazJQ6rNWnaRjDOKRMzW3D8TS6blnBkMBAN+03Cnz8hmg90hIUzMEHyvSPdO2RFMuP3ow7CkBaOrcda6WT9OfQ0w6qGD0EpqfkKOcp8Z90hZlAKVV6vVEsP+FgIwmuh+RGBLZOVMEmRsAf/
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 06:05:55.5284
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 51597b04-da4f-4ca3-5657-08dec1362cb7
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[205.220.161.53];Helo=[mx0a-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CE9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PPF81D206FB4
X-Proofpoint-ORIG-GUID: QNDPsamN4g3OxCbBIjHd9YFBqHkY1wz4
X-Proofpoint-GUID: QNDPsamN4g3OxCbBIjHd9YFBqHkY1wz4
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAzMDA1NSBTYWx0ZWRfX8fVayBq0X217
 0k7leP/oEc4ahPGZaQfBO1OTTbf4eybdD1H0hlfX90GK5Oxep6zXroyHZio5J9zc4riy9VCiYWq
 N02aN23kvLQAh2nB12Jrn1o888RiKu3d3pKcMGttzTk6q9WJwvVLFW5FNLv9x6eUEQ6qq2qcVAm
 AYYK9N83kXbZAau63M4gV+V34djc6r4w1rJQq1QBhABQXy2c3NLYFL+ajygFRuvj3ZuR8xqiujs
 gJ8tZaju5IWgjLg6niUTcdQ3JWM1SbdDaBG/UuaV8vbfXHrulDKuxGT8PUgO89pi4cbmEciV2yv
 FJcBDVIldVJQFEkorGwujQ5RvTy6mTAObrx8t3DiQl8xxRDuTsHHcgzgL2kQbNfbQ1lIsvzRvoq
 FYbfPCKlFjZFUK84duTSSSSGqQ3NOkhA5bnR+sveh72TADS9LjCDjvh1Ws7wwUr6aoalm47zy0Y
 vqFPo4EDqaz7pKFEDLA==
X-Authority-Analysis: v=2.4 cv=VZnH+lp9 c=1 sm=1 tr=0 ts=6a1fc448 cx=c_pps
 a=WNBGq+kRZA72juK154DUDw==:117 a=lOEMawUel/sSvQipkIvNbg==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=FelO9ux0wxsA:10 a=3PXLN80vpJUA:10
 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=P_n1zlmtWsCQbjROFjcg:22 a=N9_n2FxmZfwfyRXvS9-E:22 a=cbNQJ9GKAAAA:8
 a=VwQbUJbxAAAA:8 a=pEvCPAv3zxDdP9UjV28A:9 a=3whSkbs7g9Me0DR5EJEX:22
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_02,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0
 phishscore=0 suspectscore=0 clxscore=1015 lowpriorityscore=0 malwarescore=0
 priorityscore=1501 impostorscore=0 spamscore=0 bulkscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606030055
X-purgate-ID: tlsNG-42698a/1780466762-18563F3B-DC346E65/0/0
X-purgate-type: clean
X-purgate-size: 946

Current argo_dprintk() implementation is a wrapper around raw printk().

Rewire it through gprintk() to allow for better debugging context
(such as domain ID).

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes since v3:
- n/a
---
 xen/common/argo.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/argo.c b/xen/common/argo.c
index ffa1f43437ab..3c38a51d09a2 100644
--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -322,7 +322,7 @@ static DEFINE_RWLOCK(L1_global_argo_rwlock); /* L1 */
 #define argo_dprintk(fmt, args...)                      \
     do {                                                \
         if ( ARGO_DEBUG )                               \
-            printk(XENLOG_DEBUG "argo: " fmt, ##args);  \
+            gprintk(XENLOG_DEBUG, "argo: " fmt, ##args);\
     } while ( 0 )
 
 /*
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 06:06:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 06:06:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325661.1591004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUejw-0006p6-0U; Wed, 03 Jun 2026 06:06:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325661.1591004; Wed, 03 Jun 2026 06:06: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 1wUejv-0006ov-TB; Wed, 03 Jun 2026 06:06:07 +0000
Received: by outflank-mailman (input) for mailman id 1325661;
 Wed, 03 Jun 2026 06:06:06 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wUejt-0006it-RD
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 06:06:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUejt-00Gy3F-7p
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:06:05 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a1fc446-bab6-0a2a0a5309dd-0a2a450b973e-20
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:06:05 +0200
Received: from [148.163.146.23] (helo=mx0a-00498f03.pphosted.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a1fc44b-212f-0a2a450b0019-94a39217a664-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:06:04 +0200
Received: from pps.filterd (m0482517.ppops.net [127.0.0.1])
 by m0482517.ppops.net (8.18.1.11/8.18.1.11) with ESMTP id 6533UJLe2832024
 for <xen-devel@lists.xenproject.org>; Tue, 2 Jun 2026 23:06:03 -0700
Received: from cy7pr03cu001.outbound.protection.outlook.com
 (mail-westcentralusazon11010028.outbound.protection.outlook.com
 [40.93.198.28])
 by m0482517.ppops.net (PPS) with ESMTPS id 4ejce20nbp-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 23:06:02 -0700 (PDT)
Received: from SJ0PR05CA0100.namprd05.prod.outlook.com (2603:10b6:a03:334::15)
 by PH0PR16MB4183.namprd16.prod.outlook.com (2603:10b6:510:50::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 06:05:59 +0000
Received: from SJ1PEPF000026C9.namprd04.prod.outlook.com
 (2603:10b6:a03:334:cafe::3b) by SJ0PR05CA0100.outlook.office365.com
 (2603:10b6:a03:334::15) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Wed, 3
 Jun 2026 06:05:58 +0000
Received: from mx0b-00498f04.pphosted.com (148.163.138.245) by
 SJ1PEPF000026C9.mail.protection.outlook.com (10.167.244.106) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Wed, 3 Jun 2026 06:05:58 +0000
Received: from pps.filterd (m0426316.ppops.net [127.0.0.1])
 by mx0b-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 653224ZG1072773
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 02:05:57 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-usw.ser.proofpoint.com
 [50.112.124.217])
 by mx0b-00498f04.pphosted.com (PPS) with ESMTPS id 4egexd4hr4-5
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 02:05:57 -0400 (EDT)
Received: from localhost ([19.12.76.222]) by cmsmtp with ESMTPSA
 id UejiwDtg6ba3bUejjwCCeW; Wed, 03 Jun 2026 06:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppford; bh=QVh
	RRlXhqga0d0SY3/s1wrhoZ/QaLSRtH7SAQWsQUj4=; b=FDyut0BMnc10NK/0yaY
	5RmY3ICFpyxpdw58uHqtCGtVvlLok4EA63ZneLEhQb/GvHjcqAIkofuCJivBDlTY
	es7z9f4TLsfi2pyNz4Mc69215nwMsxnuVAxvz7EJXICvIK1AIbRZtydVgvUVyLv3
	LFBfEKzKDJoOghVHi35/ogEA7m9zQwlGzsEIgdtXPRAu6eoOZbS+YqCDRRimYDOG
	mqKcFXMGlQWKs9qyrnhITbamOElVkKcTUIN705Bv32wh8tAamXiNjCl0h9vgYp1N
	1JH8vrSYts8v41YCgGKFwSrNhII3pIN2pkY18ucKAoEzvCNvJoUlDLXMjpRnx/57
	SUg==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=yEDOF8Atbpekazp13VYPad7sKbYDVvx7cAnIvVcBFvL/NVhGs2eIvXOSs+zInQosWsGWBNEbSofXblRSG6WXIEJRa1eACbPghMQyjJ+1P4mvU8hrwzRe4Ks+hRp+vw6gSVLrVe5rnWwnCgMIlAAOApktKM2PpetRCX9MpuZy4esxeWwj0T6AaxLjzUV8HYBogjLFzy1BA+hfzyTRcEkHt6I/ChS843laQaOxTW8dB8PYlG6HpUkR9rd6PieTfu+K+KnRCF3gjXtQZ15Q8zjvEl0cz/qs/ZDK1vNIriL45x/n21+XaLjmK3WbtBolN8s86JTC+Z16S29yr8C8QBO6Nw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QVhRRlXhqga0d0SY3/s1wrhoZ/QaLSRtH7SAQWsQUj4=;
 b=A8PBmpC7svIuUhghiXcu7VhTlxjUA/XBZxdOZdPjhb4AoAkl3ttZ3p6MYQU5IR+rHHpOHTmSFXNeV8FvyOGvSR6E5JDu/RbAZ8rGjtyinvOZUiJ07dfJZTNW86TUe/wrnuXQ/kS0B8scknFsb9uYAIaMGzNP0BROGo6bm+IwX0k+BSyxwF1JlijzN4NGRxxxkOwSrs6n0KNYV67xRFz2jHEyIUryylW2u3mDpCEfaYJ1lnpgTNgf05q+sNKsPY7BqtU1PSWKq4K6JKr8b5oM/L1OIjZmeduBGtg8gid9xr6AKMdD8akzzJEpLB9pQ7Xza0n7IqRqvnXCmAl6mTelYQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 148.163.138.245) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QVhRRlXhqga0d0SY3/s1wrhoZ/QaLSRtH7SAQWsQUj4=;
 b=OVektaMKoSV4xyLIDXoY1NaC6A0bQbexa8S1WAiogTY5mLuWbTryZY0Nuf0/DN1yr0j1MWKujxB+S3YCBAhKpNQyHHNJNnOk+A44wq1vD1Ww+MnKEuRKxzDet9So5Sg3Em5HK1iHj55ckJ828u3R1yrgSnszq2HBDg9Y1adsVnY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 148.163.138.245)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 148.163.138.245 as permitted sender) receiver=protection.outlook.com;
 client-ip=148.163.138.245; helo=mx0b-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:date:from
	:in-reply-to:message-id:mime-version:references:subject:to; s=
	ppserprodsaar; bh=QVhRRlXhqga0d0SY3/s1wrhoZ/QaLSRtH7SAQWsQUj4=; b=
	N40Nwvq8dr3n3ozXyVL8FuD0fLSBbT4b3ndbpfPBHZVFYV6oRlLA/aAOnTwxz1cU
	p6DsqWGHn7rKFT/H+fzbQmFAVIl+WAvXzLZGERYZvjKpmkJOKPmf+akRyoFIszAU
	XODqBx0Nl4uRbiUpP3ydgdfq+mj6fRdaNBaeu1eycceB9yW1NqimAwyDE7SFm/LA
	+2nzLtVXpkyq37Rq5a1O4IewyKaxPh+TuKZmuN4kOSwhK2fGX7Xn2RvaxFkD7HdR
	AbsQBs7L06iC0mb8jarzpqMwNXmD9PnjEHhkChSzVMR0gOh9kJPVgLUx7kwaGyuc
	NQQUxRJkagZEdQNSYSN79A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:date:from:in-reply-to:message-id
	:mime-version:references:subject:to; s=ppfserpocford; bh=QVhRRlX
	hqga0d0SY3/s1wrhoZ/QaLSRtH7SAQWsQUj4=; b=sIHofCnwLoDnlmt+CdnDgi9
	fHrQFfLhjzhtsuEfcqXSeC+Lq7nzVgmHehg6pG1tIr3WCJyAa1drHbq2PjTUti0E
	QPorJ0LPFm8mAGWB1tE3K3fdWmybEvlKeHvp8UhUhNrdEifWa6OGPS7LnE7wGXIh
	skgbSgLLge0g7e+7PAi/8tH83vi/wUE4DnQUTb8dNduMcBnFeDgSOLcnaoBraxUn
	7saOJA52Wtjo7HKcCzBMGVn0agduY5RowBaJm/5KIeAs/cET86JDmcWLBqi8b0fS
	5By1j81OnMDuZh+ioeIcgar06PZgY0V9J7LjX61pyhTKc1v1ArBEakeTFQZjihA=
	=
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: UejiwDtg6ba3bUejjwCCeW
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
To: 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
Subject: [PATCH v4 5/6] argo: introduce CONFIG_ARGO_DEBUG
Date: Tue,  2 Jun 2026 23:05:38 -0700
Message-ID: <20260603060539.1181809-6-dmukhin@ford.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260603060539.1181809-1-dmukhin@ford.com>
References: <20260603060539.1181809-1-dmukhin@ford.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_02,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0
 adultscore=0 malwarescore=0 lowpriorityscore=0 suspectscore=0 phishscore=0
 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606030056
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF000026C9:EE_|PH0PR16MB4183:EE_
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: f6489ca1-abe5-4a51-cd58-08dec1362e8a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700016|1800799024|82310400026|18002099003|22082099003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	t9MwpWE+J2zwxOL8RDPlD5dcWeAMXLjnkeVPT7eSQqhNscgc+FBvV46V4OkiMRuOXl5BJ8xNTyHXLyzwKaThELa1zqgv62mbyiMmpzAUs3j8Y4xQQzDaOwxHLTcfP/sK531LEVZjKPx2kcWFqnM8ENXm/NKelMKYGtex9EPM2ixjegFG+3Q7p54tDtRnZI+mO+xebB6I/UUTzyTpanfIpLMYBt960u1rvr/bKAr2bj78xRrLqYOSeNSNBfFJ7X5MQVEsyl+xSKgS8ZMnSHwjFT5PVaEZFlX4JQw52RPQSO2rwEVDSp3o83wLLD3IrAFhY/E8+dAT2Pq2NaaKLqQvdx46/pOOlO9thCcvkbTXf4LZEnJsSaukxfveQV4KAjjOWPilYVzAsImCyj9QDMbmVjLN1gAoPkHQPlPkNb4I68Cc5X8oRnEEdBrkiF5+7WcyyTu0KYjHIZeP636aGaXGWc0u0KESqexkIqHTMiJDth//j4bfVXa3zRpssh2Ai+mbZ9Yt1ZSMaJQF+9cGzD1HwHHCvz7GvZxfAsXEpXmA+3MsBE/s+Y8mHHZuE+3RYLC1KczzmZuVOxD2zj/VX6E0cdJZxH9GbNerF8vn02owSnI5vkumZA56jgrVm8WPnMQww8MR0iYtzCsf6KJ1qCIa+r0tZdR7GXi2h9AxcLbc6bfiJkKVDgg5Q1J8iDKoK6fs2stlp3pgRQy9XsP0p5v5kYKDy1NY9TxQAvUAeluxA3M=
X-Forefront-Antispam-Report:
	CIP:148.163.138.245;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0b-00498f04.pphosted.com;PTR:mx0b-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(376014)(36860700016)(1800799024)(82310400026)(18002099003)(22082099003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	yz4zS14Vuaxj6b1MKHrIjNs4ZcIS9w2itL8wYpFPUqf/5AUoZOGrBhwH8lKvB930lbBZ8rWzwrPZE6BivUhYugWyuiP+gxx2sWX9esCT2W/qlPQPQxuSJlR+lP85tW0ErQbXXWMFcY0KZhHDiU5/DmLQEduWyga4rvyk6k2a6Rkx+8Dlrhlu2CVgP7hfucS5FPzETZEwJj7a/F3KqI6Hapx7b+s3vXI/Ft91/IerNo9o43pxCyAKSJc40lbDiznLmSkot/PVu4lhp9JZYtA9v4z59HqoJsflfznQ2KC7GlJ3VK0V5Z+z5A1PETLvkCZKro/u9SmJPAGGbSdiRnVus4ubejVsFX+vCK1yUVVepzV/r0S0rH3XERguK25Ec38F6WZZrpLWOQZcVAs3oE9/+G8hTz3eIq1n/wdbxiLyU0qK65IQs0NHgTL/LTmjBySb
X-Exchange-RoutingPolicyChecked:
	MaAtOYXbQpCkVfYJvLphHxXesVpp0NktodPlzGI3Lf70ytIK+iB8W99/vRbKwitu3pTWRE+FJVKfDrP5n8G3yZMyZ/iOi6g9DI0BKBuga2kqvdCGmWcg1SuZ2pohhdAyRiYJ52zp/7NhuMvoOvX9CUY/b/xKA93RVMku7pRmj1yeNqORnsk1o8qsnnlwNjUm9OmTlfxFtZ9IhufVq2Sr9OeZm9f1D65T8cYisnwF8aNCp953QdU1hzj2OVHrzBsq0sxP+EmbFD/ZPJZOvvaFftqMmhWBxhg18W3zq7uezF7lSMOMDsr1jsZoWp2y+oaJzqM9fi14CBV0j+V50iE8dQ==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	vvd3t7SJQo00I26xrz4aC39PG9OnYVOa7IT+mnvetMWrvjfkfNenn8YyD09absoVxBz62SqYN0WO4OfWc/Z37cR/68AkPpW6pzZj1FmkH6ay6EudyrezOGwniFCKSaRMSUzDfV1jgtxbmgCsRVi4UeWq/nNnyRX6ulehASoZkrbcbYyqOu+eXM2L18pcyhg8b2lJ0V/0dJn45ysBb+NNeADyCoRV19H2MtEGhj7mUh3KrluKbcUYbPwCRMoL8vpbUohdZAZyealc60KdBe579gfMqlWna7nMIIsierjgRfR8co7uN2FoFDzuXspG8Gbvpb66EAUP0yePi5NqPx9BhIQ+jGZZSdRTdPO/bzbxm7FoR6d3dRO20+pQGZ5YHV+shy+PMw7Mgq2OjRBhJqKbxDWzeFyPIsnp/9RI7mU5tNzwcEb4fANRbDuD+l99GQdqUv6kNwGAhLiBwINhbd4Pfag26iJ3bWvMP2Yvb7WHkxH66f0SuAmgfjMpj9opaMsb7LaXMQtwPUeTPI6pJ+3cVKPEvEWslRxoH1BXvgJlLE4/nfNKFkfINnculvVsY7EbkeOdv5mr+rrvxO64KTTSS2EYjiPJXMTPEbqny5hAtqu4LUQL14qJn9H5EzQc0Jne
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 06:05:58.4330
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f6489ca1-abe5-4a51-cd58-08dec1362e8a
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[148.163.138.245];Helo=[mx0b-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF000026C9.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR16MB4183
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAzMDA1NSBTYWx0ZWRfX4eGCGWKulWli
 yvcsh+5MwDicFHxlWKV0KRcWj7cmRs9JkyoTrYNXpSWD99T0RITp2HCm+2gc/yTmrBy6NkVO47N
 CaqLWH6UfVSkThxVW1kb7jgZdex0/8KSZ6Rs8CND41HFR5rkjVY7qreFIppyHbUbJ5UYe2qG1Wk
 rhj7YdEuHifBpVm8PNRr7+tpe8Eqs3R6AprzHCoQ7Ev4B99XsKXZsli6GF6MUdYknhGqMVYWc41
 ubyFiSQmzDqBta6j9ywGjZCUknwda/vNiVQgNjnm1fLPydGoIl7yU/tLSqX3adWiK/yFMMHgjwA
 qR+YkJpAOrnKrwnsA33+Jz7LH8HEL6Wsh3ifOV5YVEuNnn0gwTZUhhHyzLyqwpNxZQnO6nZYW98
 XoSkMQGrJfaKV0bDWapXDKyMR7B2eNsL/S3nqHdn3SE3ZM/kYzDgH5/612t7MlkprsfrScfJNtH
 5pdkxJ7kk1XChU3faUQ==
X-Authority-Analysis: v=2.4 cv=E8z9Y6dl c=1 sm=1 tr=0 ts=6a1fc44a cx=c_pps
 a=W+OgQPQm/Pc/5TU0+uq6wA==:117 a=b7IhknPlfT0FN1EembXvig==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=FelO9ux0wxsA:10 a=3PXLN80vpJUA:10
 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=P_n1zlmtWsCQbjROFjcg:22 a=MLwXIh1eZMowsRZfVxRb:22 a=cbNQJ9GKAAAA:8
 a=dZaor0y3u6X5yiUebT4A:9 a=DqJYxgmhk6moR-_7_KoZ:22
X-Proofpoint-ORIG-GUID: WzA1-MJ7g6sy8VIbg4l_n4oOI-oLKR2R
X-Proofpoint-GUID: WzA1-MJ7g6sy8VIbg4l_n4oOI-oLKR2R
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_02,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 impostorscore=0
 priorityscore=1501 adultscore=0 lowpriorityscore=0 bulkscore=0 malwarescore=0
 phishscore=0 spamscore=0 clxscore=1015 suspectscore=0 classifier=typeunknown
 authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1
 engine=8.22.0-2605210000 definitions=main-2606030055
X-purgate-ID: tlsNG-42698a/1780466765-18B60F3B-53063ACF/0/0
X-purgate-type: clean
X-purgate-size: 1399

Add Kconfig knob to enable traces for Argo debugging.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
Changes since v3:
- dropped uneeded "If unsure, say N." from new Kconfig description
---
 xen/common/Kconfig | 5 +++++
 xen/common/argo.c  | 3 +--
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 5ff71480eebe..17ae01265ced 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -491,6 +491,11 @@ config ARGO
 
 	  If unsure, say N.
 
+config ARGO_DEBUG
+	bool "Argo: enable debug traces (UNSUPPORTED)" if ARGO
+	help
+	  Enables extra debug traces for Argo debugging.
+
 source "common/sched/Kconfig"
 
 config CRYPTO
diff --git a/xen/common/argo.c b/xen/common/argo.c
index 3c38a51d09a2..b9b362064e7e 100644
--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -318,10 +318,9 @@ static DEFINE_RWLOCK(L1_global_argo_rwlock); /* L1 */
     ((LOCKING_Read_L1 && spin_is_locked(&(d)->argo->send_L2_lock)) || \
      LOCKING_Write_L1)
 
-#define ARGO_DEBUG 0
 #define argo_dprintk(fmt, args...)                      \
     do {                                                \
-        if ( ARGO_DEBUG )                               \
+        if ( IS_ENABLED(CONFIG_ARGO_DEBUG) )            \
             gprintk(XENLOG_DEBUG, "argo: " fmt, ##args);\
     } while ( 0 )
 
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 06:06:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 06:06:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325663.1591013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUejx-00074s-Av; Wed, 03 Jun 2026 06:06:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325663.1591013; Wed, 03 Jun 2026 06:06: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 1wUejx-00074a-7C; Wed, 03 Jun 2026 06:06:09 +0000
Received: by outflank-mailman (input) for mailman id 1325663;
 Wed, 03 Jun 2026 06:06:08 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wUejw-0006ou-2c
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 06:06:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUejv-00E30R-FF
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:06:07 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a1fc44a-2eae-0a2a0a5409dd-0a2a4507e25a-28
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:06:07 +0200
Received: from [148.163.146.23] (helo=mx0a-00498f03.pphosted.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a1fc44d-229c-0a2a45070019-94a39217b866-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:06:06 +0200
Received: from pps.filterd (m0384718.ppops.net [127.0.0.1])
 by mx0a-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 6534LKgS3385500
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 06:06:05 GMT
Received: from sn4pr0501cu005.outbound.protection.outlook.com
 (mail-southcentralusazon11011019.outbound.protection.outlook.com
 [40.93.194.19])
 by mx0a-00498f03.pphosted.com (PPS) with ESMTPS id 4ej4p93xnv-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:06:04 +0000 (GMT)
Received: from SN7PR04CA0201.namprd04.prod.outlook.com (2603:10b6:806:126::26)
 by DM4PR16MB5342.namprd16.prod.outlook.com (2603:10b6:8:18b::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 06:06:02 +0000
Received: from SA2PEPF000015CD.namprd03.prod.outlook.com
 (2603:10b6:806:126:cafe::26) by SN7PR04CA0201.outlook.office365.com
 (2603:10b6:806:126::26) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Wed, 3
 Jun 2026 06:06:01 +0000
Received: from mx0b-00498f04.pphosted.com (148.163.138.245) by
 SA2PEPF000015CD.mail.protection.outlook.com (10.167.241.203) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Wed, 3 Jun 2026 06:06:01 +0000
Received: from pps.filterd (m0373461.ppops.net [127.0.0.1])
 by mx0b-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 65365GE5096566
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 02:06:01 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-usw.ser.proofpoint.com
 [50.112.124.217])
 by mx0b-00498f04.pphosted.com (PPS) with ESMTPS id 4egeh8cjq6-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 02:06:00 -0400 (EDT)
Received: from localhost ([19.12.76.222]) by cmsmtp with ESMTPSA
 id UejlwgfwGntbrUejmw83C1; Wed, 03 Jun 2026 06:06:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppford; bh=wZC
	4ArGPo98meKfB/VlI1NU2JGARNUjlG3ze3iZptq8=; b=l+tVXltamMnFaFPpm2v
	PmuM0l8msE2/lkxZiQ9O/iEeoLOWb1xtASZf97Aa1SLeXpKI78xgrKdHobjFdNgt
	uVICKxbONFQnt1vu0olJ8Vn2qe1MfQPJT1CObLci5GN/ybv7wg3VXVFLofBXH0jd
	oC3apy5MkqQe1yRzqADjvVcxhRyyR5flGp3XhQv03fnAI8aLl33qd3lrVmF8BWXV
	s4Q1j3LSoOU0RwfBGYRsSEiScd+qtcTZvE0TWMLQG6YuT6PMs/BPiW8BL0aNaTKX
	XyEtJlUpNynRtw7HJKQiDKu8ipKhcfBJVefWnS6Ytq25Y3Lvq96Zuhf/cPzlPvd9
	cTA==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=kmMj+MgJNYoe6fV5pxomrLuJHoBrJ2oEkiYOjt9LY8kvRTXUbSl5BOPxXnFpZb53Q8Njf32tRfUDZXIVzRlxG6TIpH0jzAR7nlCSKEpUBT/rT3lpCnHWUFje1s9CumWprpSFOTRS9oLPBIoYM5Nr/xIH/Y/ZDu66jZnRjgRIXWarahzgkBIP1qIw7UQiCdPNTW6iqBM+fztqnz6PnhSwdpQ323D0S6skFZWfsGtuTB0u7pCw2xiTTXvyaOPYC1UQ8kshd3AFvXKP0Rjmo4eZjvR2Dv+5DtMVFKTzX315RdUSZiYqmCshl4HKOtZ/7cZ8OEmMsMQkg86zW/lUi4DOLA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wZC4ArGPo98meKfB/VlI1NU2JGARNUjlG3ze3iZptq8=;
 b=pguw0iiA/JDIjIG7ri86FpP9A55XS+MakaltkyROJ3EqXnsrpJCOeF5AZwqDAOitYefzPRP4Lag2hZfChK+reCtlJjPTFJgmpf2pHM8ZvHXgOkJxICps7xfHr49jbpJEbI85CpByo8ywgyqr4k+Z0TBCzdT3kd/YKAxhQIAQqf4UzVb2+irJsqPlRCkYAodcq69ETtTg0GhNLQI3GHmRNlrIuCBr8x8VP7jVQK1uK8F2BRqgsgsRvQ1a1TQ92pL4b5mqY38Vss2bkkq0mO8U+uu+aCi4/AocneFRBwsG9AO5Vhs02GOOgmTzXgr1RSWEjCAZh/MLJHm+irQg3m0axw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 148.163.138.245) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wZC4ArGPo98meKfB/VlI1NU2JGARNUjlG3ze3iZptq8=;
 b=EBscZrkz2SE+D+C+5jdroDJb4MF4jD6QcUb3JOOcLlq6BM4SvZPUQX36HFM5qFBlNIfCxCvyrYGN/nzj6DCkfebXYOy+HJPSKnpt4ZCMflC9zMbyEUsGl4mXDAGplH86k5g9GMjsaqIGmQQ7zvhXC77lUo326b6Y8k655tNxcoE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 148.163.138.245)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 148.163.138.245 as permitted sender) receiver=protection.outlook.com;
 client-ip=148.163.138.245; helo=mx0b-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:date:from
	:in-reply-to:message-id:mime-version:references:subject:to; s=
	ppserprodsaar; bh=wZC4ArGPo98meKfB/VlI1NU2JGARNUjlG3ze3iZptq8=; b=
	WCUmnREPF/G5S20LRbyBJG+Xb9z6xKxVVD+sjCkFhCmJjmDMA11wxCGwvsY6mLIe
	ux/gdfS7QeJDl09N3RMTYAmhlZdGcin123pxPmT3SPFm/4vJzjCcVdNmcwUKDqNA
	M85K2Q87dAsXIzkrqwR/c+wtv1v6DTf1oCjXX0jVgy75Ypc/x2/lzzIoj5H3neDg
	ToiBL3Hfz8uYjBpIl8PQlJZ/p33RlcRmUpRL+alVfR64poakYwWrgIE1Ric9Oq04
	DMqPjrxIEXUbx5qrcn1yh46crdzltuytQ0utPASvOHvYZf0XHk4sScDBbzEq1QTe
	ePREi5qZ6ihdjOkci9/yAg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:date:from:in-reply-to:message-id
	:mime-version:references:subject:to; s=ppfserpocford; bh=wZC4ArG
	Po98meKfB/VlI1NU2JGARNUjlG3ze3iZptq8=; b=hl83OjEtq+BRS/3YRyFyhrY
	oRfV7+yv9HlEyTat9XAWTM7ZczBQAJWghTPgI/jjYPt7wDzWRMqmzS+1FmmJxc8h
	Quu0oETWpqILFRRU3SwEu8QlZQo9ZwXfDt3wHmYmqTIGuoESyALtn0QUZY2OdEMX
	C/LIlDjodeM20l15f4fchto3BlahT7OLeC6nq+6AoorBlNx0hx98+kFf743wKHpz
	Kne5aOGrSxy2X7SZ8nxroqOszRenRQX3Wg4ebSpZ9dF1mCNC9UHTsNiMTsHOFbOq
	3/HPyE2ZY93LGYKeI1oGbr8kjEruhyPwR8cLr+/eK4UxOKJMRMYgmlTn4U0sI/g=
	=
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: UejlwgfwGntbrUejmw83C1
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
To: 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
Subject: [PATCH v4 6/6] automation: enable Argo debugging in CI
Date: Tue,  2 Jun 2026 23:05:39 -0700
Message-ID: <20260603060539.1181809-7-dmukhin@ford.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260603060539.1181809-1-dmukhin@ford.com>
References: <20260603060539.1181809-1-dmukhin@ford.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_02,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0
 spamscore=0 suspectscore=0 lowpriorityscore=0 adultscore=0 malwarescore=0
 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc=
 route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606030056
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CD:EE_|DM4PR16MB5342:EE_
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: c954efde-7ed8-4e74-7646-08dec1363073
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700016|82310400026|376014|22082099003|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	jCxGh1Ai4zxwnAaTyYEej/+Qckf2keB0efPbTptoCD4sxT7EYXlDGTjkhy6vnygBjPN4/LsSMi8tkCe0C2iaKQqAyvgaMEE+ykZD/526RxUYOkObpFfZGrcjHivG1//1tg9Ec922nOZb9IM5yD0cESsiTMYV65A0YTI5IpEY6BsFwcaR4wBmUu1D5TJJ2bZlbY9gwhQnBurHfB5BrBp3D0KnsTsPG7msqPAs3tSLtS6FkPKvISFyfLCU25KtngILluB7WMHVDYE/mJG6ai0eHcVxHSNc28idHc30ECeNNn7LCufcAZDsN0EsHWGwhKPQA453NgcCRgkoEBEbJNImJBjqvTLQB2pxxncZiorB5Np3oTJtcplbwilVFH859MKlVGvVT7qJ9983zxjd6Sb2cb+H1M7Sv/WmZD2cOCQHxTkh+3Rk2lFrJECsMrifTWjcaEHDFCrZa+hX14zajvsSzN7JQ1swN9ssPzWX45Rujw4uOANrZMZgVKX8IvPeBJxclR9TJVHMJIB+VmjD1y9I09jRNe6JCpFQabjP913oWmFCjfVH6Q2W9MuzCyjos7NPkCNJ+piYe0ixHCbittnuBwH96TyqwQPgyO8uB5FBUjCaQdWPn9Udc8S3CrN53V96gnTL/X8oCFIoEPgxI+kgx/jL3+D+H6sxZlwXXTH4kQ1Jh8nbSRl2mCpNKsOqKEBaZS0qS6MXBMNzfV9+F+UkFiJphTajU21xYeb3hv++dbs=
X-Forefront-Antispam-Report:
	CIP:148.163.138.245;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0b-00498f04.pphosted.com;PTR:mx0b-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(1800799024)(36860700016)(82310400026)(376014)(22082099003)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	spJXDC8XpFKYMaZOpCaWeB2xbHWu+rJV8pYtjQRsJ6BMRzx9rDVgSnCn0TJrb5SzoF0LNLf2VD/XsqX7yRIl8v0Kro9H0SqoaDRSUNfYN5ogjJnAVYMi18d3YGebXSqrb3Wh62r3lr+2KoOx0ffj5YFgWnWGmQZirkYARDeq/3S1y/dX3OuEKXaqsKXfLVrJRwnR14NZEotgjAMVxE+rr/hcFP2u/DNuY/LEkgkkcgQzeqe4Nrp/tEhlENB01tOAKA+y18PpzXMBl0lc5adAdWWk0rIMZCaJTBzNSI8r6IjYSjGsS6tRbRejwMCMBjxg7CdTuqlDwaxCunw0fmkduRjHtyyQCIKQfQLnFG/hnLkunmtiQRmytqPlDV+zeT59sa4su5FHCqS4XuHmhSZZKcNeUaiXBG9VfC+3GiBrie44otZZtyJiQe2mExCRQJxq
X-Exchange-RoutingPolicyChecked:
	blYsr8KQ11eI7OwPd0yBrtr+mKLkiV07zboInwLPfYaFpzB29H24z07DhnLW3P+T+mh+a2Dsw/eoJELWLGX2FEQ75kn36QryJJZgc87UJbT5Xipy77kAuh/ZEblctUzcJOqsREn8cWNpWzO6YW3AY0g9TXS4kwYYeIRZUwh6JJdimUBfqL4gNCPs3zrb1PjysMTN/h47h+LDn7UjwEYSmvzRDpXNi99sd9uKJhbXfIHxBFL7dsYx8pvAnKb/zHk6WYeyeXRkHQw7xZ/Xrk3oz0Bz7884VPZXtiID68GNW2iMvKNfbKg26U1SgVH9ft7ltvAtnIcbQUXrfoXWdRZPfA==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	zySYwQ5+HjzIEXw3LdceQ360lbpxTOveIgdt6OfowypKh/jpEvnJr8FF0hkx4ILedz6SGY43LstedJmD8rGtbvGCNE+AGftoyJmisVo1quFeCNh105Ir0B1aiyD84exQT7SMYDpc2UmdfY+Ec/n7bBdtr0aBSk1H1k+JJIRqHJzsE3tmZNbCBtbY9A7UiKN//Hn8IYwF+PBYgOEdmp3rASIh4wUhp33zxbA65ayHI2q1fsj8S2DtdLaedDXnjUgQyf6ct1e7eNJuqHOd2efBlAx+Ky9TzpMyOCnBEZDE61bY6JNls2Iu7hYc641+lNMP+eTpgoXFiM1h4rEnCDEyu9ZJNXUC8u5311NXmmP5UQ2FBXxUDxx6qdkGYUnEFlN7AqqcdrszqEOqRUVg/QhzWMgUt/OprWTlLpRqIjVkoZDz6rIzjMVCTAO98ZE0Gi+9MWjZKsE9RbeprH0dd7VGRzKCc2ZmPB0mPOQeAvOhSTsMIWCrR+bOUQbB4imjhOCeIhNfFaFFuokr9eRGXPAnstFJYjsRAUSGOds/QFkoT6FWnLPP6aNgx5LDZqL1U/CGNT2NMHYWWfrmb3r9icGMEYBLMl6uKE5JTSMoi0MUnjrPLL7H33J7Gvgrx+Q8IF+2
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 06:06:01.7036
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c954efde-7ed8-4e74-7646-08dec1363073
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[148.163.138.245];Helo=[mx0b-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF000015CD.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR16MB5342
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAzMDA1NSBTYWx0ZWRfX5dSVmST7K3o7
 gTnX4PE6n8Q7hJfTvtbGwxZ8+8Tjm9Rb+Gl9DN3JhVrNAh2r01xT3s3+D5opPWmP4qD7qYLX+vp
 QHwTnkvgrXFRPeiaO6E4oq80E5xAi5DXW7BSJ91HNgiIvvdygYg0gdfNqPFkV6TNgk64d7WVHih
 2KlemhPB70sfzQe3flV+ii8R1aSvoO6Ubh5xwpJ6+MhehdK89AZT3xK0KSOnfWUaRzfLFW36XSS
 4cm7kZU71eNMC0rq3EljYR938gXPwv3Bnw/CMK33m1kF2FJn33xsFtZfaYaWs8GBT07+c4GkZxc
 hP/BT9uO4YuD0WVVzG/QJFZpG77chzHo4tKhqppnmwSXV98qz9jcD26j3kAyH17e7lxgSCCYH1Q
 Qg0xtnrxgaX9Nm12JImoD73osSGIhuwGEGfktNQ5TBySwLGZ9a8nGRxVplHnTE8wIgebDBPRze/
 TAMlP5I39tbfs6QP1zw==
X-Proofpoint-GUID: bZ0V_08xhQJX7Vs2pnMTq9_i7cUMBXsq
X-Proofpoint-ORIG-GUID: bZ0V_08xhQJX7Vs2pnMTq9_i7cUMBXsq
X-Authority-Analysis: v=2.4 cv=MptiLWae c=1 sm=1 tr=0 ts=6a1fc44c cx=c_pps
 a=FOw1GTnNYXmOwZ/eduxC4w==:117 a=b7IhknPlfT0FN1EembXvig==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=FelO9ux0wxsA:10 a=3PXLN80vpJUA:10
 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=P_n1zlmtWsCQbjROFjcg:22 a=ARvDHhclS48edyKYUbLB:22 a=p0WdMEafAAAA:8
 a=cbNQJ9GKAAAA:8 a=E7v-y08j5IopDd4OsusA:9 a=DqJYxgmhk6moR-_7_KoZ:22
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_02,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0
 adultscore=0 clxscore=1015 lowpriorityscore=0 priorityscore=1501
 malwarescore=0 spamscore=0 suspectscore=0 impostorscore=0 bulkscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606030055
X-purgate-ID: tlsNG-ef75cf/1780466767-23175C48-EF55FA38/0/0
X-purgate-type: clean
X-purgate-size: 1654

Enable extra Argo traces in CI to help analyze any potential Argo issues.

That covers eclair-*-allcode and alpine-3.18-gcc-debug jobs.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
Changes since v3:
- enabled CONFIG_ARGO_DEBUG for eclair-*-allcode jobs
- example of extra argo traces in CI:
  https://gitlab.com/xen-project/people/dmukhin/xen/-/jobs/14661834468
---
 automation/gitlab-ci/analyze.yaml | 2 ++
 automation/gitlab-ci/build.yaml   | 1 +
 2 files changed, 3 insertions(+)

diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
index 9bf032931fc4..b5211bcc103d 100644
--- a/automation/gitlab-ci/analyze.yaml
+++ b/automation/gitlab-ci/analyze.yaml
@@ -47,6 +47,7 @@ eclair-x86_64-allcode:
     RULESET: "monitored"
     EXTRA_XEN_CONFIG: |
       CONFIG_ARGO=y
+      CONFIG_ARGO_DEBUG=y
       CONFIG_DEBUG_LOCK_PROFILE=y
       CONFIG_DEBUG_TRACE=y
       CONFIG_EFI_SET_VIRTUAL_ADDRESS_MAP=y
@@ -126,6 +127,7 @@ eclair-ARM64-allcode:
     EXTRA_XEN_CONFIG: |
       CONFIG_ACPI=y
       CONFIG_ARGO=y
+      CONFIG_ARGO_DEBUG=y
       CONFIG_ARM64_SVE=y
       CONFIG_ARM_SMMU_V3=y
       CONFIG_BOOT_TIME_CPUPOOLS=y
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 0e5fb26c853e..b864443d0243 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -286,6 +286,7 @@ alpine-3.18-gcc-debug:
       CONFIG_EXPERT=y
       CONFIG_UNSUPPORTED=y
       CONFIG_ARGO=y
+      CONFIG_ARGO_DEBUG=y
       CONFIG_UBSAN=y
       CONFIG_UBSAN_FATAL=y
       CONFIG_MICROCODE_SCAN_DEFAULT=y
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 06:10:55 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 06:10:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325708.1591022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUeoV-0002Bf-29; Wed, 03 Jun 2026 06:10:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325708.1591022; Wed, 03 Jun 2026 06: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 1wUeoU-0002BY-VZ; Wed, 03 Jun 2026 06:10:50 +0000
Received: by outflank-mailman (input) for mailman id 1325708;
 Wed, 03 Jun 2026 06:10:50 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUeoU-0002BS-6c
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 06:10:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUeoT-005I7M-JU
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:10:49 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fc569-e002-0a2a0a5209dd-0a2a45078588-2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:10:49 +0200
Received: from [209.85.221.44] (helo=mail-wr1-f44.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fc569-229c-0a2a45070019-d155dd2cd0d6-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:10:49 +0200
Received: by mail-wr1-f44.google.com with SMTP id
 ffacd0b85a97d-45ef56d9b67so3774008f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 23:10: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-4601f2dcb13sm4580839f8f.2.2026.06.02.23.10.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780467049; x=1781071849; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=At7gW2K5BuNU33erqyfWrYHt/rykUeGgNjDeG/nowcY=;
        b=bpRsgw/s3yD8hfqnSO2kqK5j/BYZARcX5IyDCKs2t96sd4cGy15q5TAz6EOQTK0XU9
         I2070XoHB3qxOfS4r69A4D1BUQm3JR13Eb5okRfT5XraI8xo9ShqrVHUI8+I4ecZ3D2e
         7Xe3uJFUpbtciQn87jwmVxU6iwPWWsjs6LAobeIADxi+GaO9TgNwgTysctQCDTjm0sVg
         ENTI4fo/ng0SoNn5vx0c+pEvcBSnJI9aG1MHijOKUq4q41GjnH3Mk9FHT2zn3wfHREz0
         HMdicI9zo1YA6HYsL4cBBDULIWHRLe6WI6phCWNSVUE1Suw2W4JRIZ1rcDZ5xf72e3OU
         8cxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780467049; x=1781071849;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=At7gW2K5BuNU33erqyfWrYHt/rykUeGgNjDeG/nowcY=;
        b=Ig0ghHGobG/0USpOpyIsHuNnlUXGI6SGmhp9ewCxxaZ96t5w+KbrMMwy9dyT6ytERb
         EBTId2E3Mv9OaQxL308Louro+FNlfP1EmdA3t4cPh61qb1jRcSo68b2zx2q4T2tSvfSf
         N5QlBQuvJ1deB9IRggSvxk44+PLyAS2Gjor0lypSze72WghNRZNJahFN0D6ECCHFc1OZ
         rkV+W4tLIt0DVR2MdRSCHmwTMErHBlp1kKzriUYsCVLQETKaAk6KMg7jAcfr5r49Zq8/
         apyl1ErbGrr1SL4n/cVEfsfdbdpqyDQoJ0bR2WdBDIck/QMX/rakAGS5g8RwfZvYlb2C
         E1Cw==
X-Forwarded-Encrypted: i=1; AFNElJ/wdLJp8fnBHypmsBIrQAZVJNoLSO8dQcQWvnN/D/fIpoT/YdqbQYQ+HUhtLWB2T7KD+rb3YtT04Cs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxuzuyWm06jByy+rAHsHb0f/wNDx5Qzw3ps4I0YQ7UVomGKb1AD
	vm2nSpXdChfvCZ78BsZpnv+nhlvF9s8/7p3Sfo9jVh572R8m0IX/QgLstcJ4jys8ZA==
X-Gm-Gg: Acq92OG+q6LK/EPTQowLossDWDlTRpvlOTqTowaW+DdQuC/ZH5iDb55zPjmWx1QbWNr
	8Rhho6ve63PFAFtPzf1DOli6OxY48UqOToMFQYON4aZDQqWMVbgvFzs9QHMaGbvJWjwRWa0l7oW
	TnEPrz6Uk8DX0ZJ7Ud14JDxBYhEq50cxxuwjsVGtWrBfJGjVF7DaN2JG1/L+WFCGBBmoZwaYUM/
	XCWXShjvz90VtXrJ32zoPXi4tS9WuufH4IwRwqHhkUmVB/qz7dAo9PTzm7XVTeOwM/HTjhMIaw5
	RyDRo5RNiyh9aprzMhHpidZIE7lhMPm4Uzhv35L2/sSXC2241XMoK39M/9YZ3QHaqvwsG79CoK4
	Ot7MhZc17wi70DoHktV4S+jVApq2r0N13CQQb4ERkOcF+UPBPvaw1MN5/vM4KNo6HyAnEY4PZsj
	7ksoo9lbHimK+tBy5O8RizZ7BDYa5qc/70Lae+XMz8e95jiSd2zgEN0J+quWTUhTSOshkoo85bP
	ZeuyCNO3tYznEuvTOm/HKej7Q==
X-Received: by 2002:a05:600c:6211:b0:490:6e12:5418 with SMTP id 5b1f17b1804b1-490b5ed36b7mr31309075e9.23.1780467048962;
        Tue, 02 Jun 2026 23:10:48 -0700 (PDT)
Message-ID: <1511b245-fb6a-412c-bd9a-32ea341e983a@suse.com>
Date: Wed, 3 Jun 2026 08:10:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 5/6] argo: introduce CONFIG_ARGO_DEBUG
To: dmukhin@ford.com
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 xen-devel@lists.xenproject.org
References: <20260603060539.1181809-1-dmukhin@ford.com>
 <20260603060539.1181809-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: <20260603060539.1181809-6-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ef75cf/1780467049-2176AC48-FD8D356A/0/0
X-purgate-type: clean
X-purgate-size: 584

On 03.06.2026 08:05, dmukhin@ford.com wrote:
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -491,6 +491,11 @@ config ARGO
>  
>  	  If unsure, say N.
>  
> +config ARGO_DEBUG
> +	bool "Argo: enable debug traces (UNSUPPORTED)" if ARGO

I'm sorry, I should have spotted this in v3 already: This wants to be
"depends on ARGO". The way you have it you only suppress the prompt,
but not the option. Which has certain unwanted (here) effects. Can
surely be sorted while committing (once 4.23 is open and once proper
ARGO acks have arrived for the series).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 06:17:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 06:17:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325716.1591032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUeuU-0002l0-Ms; Wed, 03 Jun 2026 06:17:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325716.1591032; Wed, 03 Jun 2026 06:17: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 1wUeuU-0002kt-J7; Wed, 03 Jun 2026 06:17:02 +0000
Received: by outflank-mailman (input) for mailman id 1325716;
 Wed, 03 Jun 2026 06:17:01 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <xakep.amatop@gmail.com>) id 1wUeuS-0002kn-Rj
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 06:17:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUeuR-00EXQq-OK
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:16:59 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a1fc6d4-bab6-0a2a0a5309dd-0a2a45059076-18
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:16:59 +0200
Received: from [209.85.208.176] (helo=mail-lj1-f176.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a1fc6db-aaa8-0a2a45050019-d155d0b0f0ec-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:16:59 +0200
Received: by mail-lj1-f176.google.com with SMTP id
 38308e7fff4ca-3966c0d5ac9so39995921fa.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 23:16:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780467419; cv=none;
        d=google.com; s=arc-20240605;
        b=M87cczUCngiop/7GGo5kjWkgq6KV5kjvP5zwfXWPr+VnmwXAs5OIsjuq8wDOvNJShm
         Z85BEXQ4ba/kVhRzYvisWdbYtPj+KUGmS+CRSYASxQvvFD1Q3nzRiV6vUWFj922UKXi9
         IaK8Srohhd70rSxf7ebZhfXn9sJBho4E7QJ80wKh2lT7DA9BON1Xkm3HfpMlsaa/UqWb
         Xw+706rPIPFsoklvkztKD8GUFQYFHbGNJL46RBUqks453KXLCqU7PFlKcpskkXxocdJ0
         bVjy3OQ1f8hr9+hDjjjRMGtEdkDNZdrqu5Tv5/JHuHWg0vMBk/BjaDRazixxM/Trqpk9
         6txA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=2Gbn8C+ngFaJ5fmzaU+PDk7pr8Jqi1c2CmeL3komLxQ=;
        fh=iwcJT2uhJVV0dNYrVkXeWtDc2JskE1SnCuC/DHT5iTQ=;
        b=IGSydQ94iIRc/7MFIV0zv4aK9qJC0I7XD4oL6i1xEWoMGBxFLcjnDdaOWQADIsNYGC
         bhJQf/P99A3++shCdahIcMwV55ZiFUwwqAZFpzbWsoda1NBx0N9CpdCof0JWaRDCfxNa
         bLONy+GCYSjnIQQxszxqI0DOloAtJ5lyxcnIcS123PtXqCrBJWWhkLXh/9vkns4cn6mN
         7sQBXlbfVZkbGJDx7ym7u8vnjx4hQMV56LfhIsfjVREw+5LME1n6/R2AixX6m3ldsj4S
         ov65GbqRdQ+KBwOQwa/0Eca0ylMpG70w0Iomcg0w030mPmn8NFFq1A75gdEK9W0+ZB8A
         HbcQ==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780467419; x=1781072219; 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=2Gbn8C+ngFaJ5fmzaU+PDk7pr8Jqi1c2CmeL3komLxQ=;
        b=Hn9N7EcGEiOdPGKkp3XoG3QRvlDHiPP2L/9gRXRx/guBC/gS8loFVyrrez7nUc/4z9
         Or0AXDuMIqJaZDAWaeOVoLZ2dKcLFjVelFOg/rtMu6SKgCXOftwCCDNfbnRQw29eckkl
         NWyXGSH3uJazVR1S5GgCndqbPZgmK0QR5sfEPQIm+GjShBSKfp0+yf3ixWq8ELuFkdK1
         RegnmIA9Xwld5uVQ8wlhXqK05TtwdOEz9z1Ej2UiWbBHCtIyE4Es07NHT3lVIT7Twj1H
         mByG4hTrttVPWii+ejE2CwGBcVyc5wstT1GFo7jyQAu982ZNj4QyIDZyu+C3aaMMGO3a
         RYGA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780467419; x=1781072219;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=2Gbn8C+ngFaJ5fmzaU+PDk7pr8Jqi1c2CmeL3komLxQ=;
        b=kfEDVrqvIr5cqbYXnqLlxA8YScZ6EQbuqevkg1fvEGi/yg4Hb0Ws8MMQFZw1n/D2xU
         K0sw++AhicRJ66RD3eFMabpudufTBtdDsm8Z9FJPjCX6gTpih0j1w2np+O5cQWZ4cAXc
         GEsVGwgw5sFBkUszWr9T5GjyfRgaCzy6VyiY84uRVwVD35jbD3iMrm9oi895JE5DU2zp
         zBF61cw21tcXHPLZ3qJQtRSsQan8GCeEy64M+buuQVQJsM43HNOr9UOqan4vs11CxRB5
         u4/2dSWtJP0KhBhIJmtMaOIqmCd8UTWUCGHyO1XWST6X03DCqsE2Y725CH4sKT087r1x
         Thow==
X-Gm-Message-State: AOJu0YzmiHDvzPMwDsvEDzyxqhnfK2iP/QnvZfVEYIJtEXhMW7sPkbrT
	XfejGpcKILqJXRRnIIKCbluBt4HjdrSKZQMlPkGKN+Gq3cV/sxC5ZSfRX7E2iMlo1CRbxEzaxB4
	LLnu8ujHOeKMuIQ1ji1FU9d2+IPtS8FA=
X-Gm-Gg: Acq92OGO++ojuvVSIvbYY68amkgO+GW0v32rAjZrWz9oTNu6W+XmMkzYSuc/hBjtoKj
	0MFKbYQvITxTfrU2Tw12fb+NUVF89UnC3PFZ7iKyV3TL+kJB/vRlr7vxdPzajQCzaYG1SoQB/uY
	SRB9HR+k96XQYFmr1fBXGGFshLQRMniB4yc089FFglHDRgRcuh+tyEromyCgXcP+M4F3rUBZRge
	vwzl3E03vo8/nD+8cdIsB9q8GXgXxAb6RnuHCrdloetfkreNuKFPA5jcMW4FosvKQldiiPcs4HH
	94CpDXpIAlqrAfQe
X-Received: by 2002:a2e:be8f:0:b0:394:1192:5e0c with SMTP id
 38308e7fff4ca-396af46741amr5740381fa.21.1780467418626; Tue, 02 Jun 2026
 23:16:58 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1779385072.git.mykola_kvach@epam.com> <1d49511fff3ef5f77bc2d4daac00e6895c1359b1.1779385072.git.mykola_kvach@epam.com>
 <63daeec4-a691-4d6f-b75a-bf34965b26f4@gmail.com>
In-Reply-To: <63daeec4-a691-4d6f-b75a-bf34965b26f4@gmail.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Wed, 3 Jun 2026 09:16:47 +0300
X-Gm-Features: AVHnY4LYgCHdBZyM56QFjEnOyLzE-U2I6b-d74aQG71ytRUqsfNi-ShqnALCuSE
Message-ID: <CAGeoDV9-cYBbVkRqsWBDCUM_7h5QgzGTAoUasEk-XWNx11Q3vw@mail.gmail.com>
Subject: Re: [PATCH v10 12/13] xen/arm: Add vPSCI SYSTEM_SUSPEND policy
To: Oleksandr Tyshchenko <olekstysh@gmail.com>
Cc: xen-devel@lists.xenproject.org, Mykola Kvach <mykola_kvach@epam.com>, 
	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>, 
	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>, 
	Rahul Singh <rahul.singh@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-c201ff/1780467419-E2790443-6DC1F7E8/0/0
X-purgate-type: clean
X-purgate-size: 20737

Hi Oleksandr,

Thank you for the review.

On Mon, May 25, 2026 at 9:13=E2=80=AFPM Oleksandr Tyshchenko
<olekstysh@gmail.com> wrote:
>
>
>
> On 5/21/26 20:45, Mykola Kvach wrote:
>
> Hello Mykola
>
> > From: Mykola Kvach <mykola_kvach@epam.com>
> >
> > Introduce CONFIG_HAS_HWDOM_SYSTEM_SUSPEND as an architecture-selected
> > capability for platforms where the hardware domain can be parked with
> > SHUTDOWN_suspend without calling hwdom_shutdown().
> >
> > Expose PSCI SYSTEM_SUSPEND as a vPSCI operation for all domains. For
> > non-control domains, including the hardware domain when it is not actin=
g
> > as a control domain, the call is handled as a guest/domain suspend requ=
est
> > and parks the domain in SHUTDOWN_suspend.
> >
> > Control domains need additional sequencing because their SYSTEM_SUSPEND
> > request is used to coordinate host-wide suspend. A non-last awake contr=
ol
> > domain may be parked in SHUTDOWN_suspend without requiring the host
> > suspend path to be available. The last awake control domain is treated =
as
> > the point where the request becomes a host-suspend request, and it may
> > only proceed when all non-control domains are already in SHUTDOWN_suspe=
nd
> > and the host suspend path is available.
> >
> > Keep the control-domain sequencing and domain-readiness checks out of
> > PSCI_FEATURES. They are per-attempt runtime conditions rather than stab=
le
> > PSCI function availability. Advertise SYSTEM_SUSPEND as implemented by
> > vPSCI and report attempt-time policy failures as PSCI_DENIED.
> >
> > Select HAS_HWDOM_SYSTEM_SUSPEND independently from CONFIG_SYSTEM_SUSPEN=
D
> > so that SHUTDOWN_suspend from the hardware domain can be treated as a
> > domain suspend state rather than as a hardware-domain initiated host
> > shutdown. This does not by itself imply that host-wide suspend is
> > available.
> >
> > Add host_system_suspend_allowed() to combine the host PSCI SYSTEM_SUSPE=
ND
> > capability with runtime blockers reported by Xen-owned subsystems. Add
> > runtime blockers for registered serial, IOMMU, GIC and SMMUv3 MSI IRQ
> > paths lacking suspend/resume support. These blockers are runtime based,
> > so they only apply to drivers or paths that Xen actually uses on the
> > platform. For SMMUv3, the blocker applies only when Xen actually uses t=
he
> > MSI IRQ path, since resume does not restore the SMMU *_IRQ_CFGn MSI
> > registers yet.
> >
> > Add a struct domain forward declaration to xen/suspend.h so the generic
> > header can expose arch_domain_resume() without requiring a full domain.=
h
> > include.
> >
> > Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> > ---
> > Changes in V10:
> > - Return PSCI_DENIED rather than PSCI_NOT_SUPPORTED when the last awake
> >    control domain cannot proceed to host suspend, keeping PSCI_FEATURES
> >    stable once SYSTEM_SUSPEND is advertised.
> > - Shorten SYSTEM_SUSPEND blocker messages and use %pd when logging the
> >    control domain.
> > - Mark serial_suspend_available as __ro_after_init.
> > - Mention the struct domain forward declaration added to xen/suspend.h.
>
> I did not spot obvious issues while reviewing this patch, so you can add:
>
> Reviewed-by: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
>
> Several nits/remarks below, feel free to skip them if you find them
> irrelevant or not useful.
>
>
> >
> > Changes in V9:
> > - Select HAS_HWDOM_SYSTEM_SUSPEND independently from CONFIG_SYSTEM_SUSP=
END
> >    so that hardware-domain SHUTDOWN_suspend support is not tied to
> >    host-wide system suspend availability.
> > - Add runtime host suspend blockers for Xen-owned subsystems lacking
> >    suspend/resume support.
> > - Keep vPSCI SYSTEM_SUSPEND advertised through PSCI_FEATURES and enforc=
e
> >    control-domain sequencing in the call handler.
> > ---
> >   xen/arch/arm/Kconfig                  |   1 +
> >   xen/arch/arm/gic.c                    |   6 ++
> >   xen/arch/arm/include/asm/psci.h       |   3 +
> >   xen/arch/arm/include/asm/suspend.h    |  10 ++-
> >   xen/arch/arm/psci.c                   |   7 ++
> >   xen/arch/arm/suspend.c                |  40 +++++++++
> >   xen/arch/arm/vpsci.c                  | 114 +++++++++++++++++++++++--=
-
> >   xen/common/Kconfig                    |   3 +
> >   xen/common/domain.c                   |   7 +-
> >   xen/drivers/char/serial.c             |  12 +++
> >   xen/drivers/passthrough/arm/iommu.c   |   4 +
> >   xen/drivers/passthrough/arm/smmu-v3.c |   4 +
> >   xen/include/xen/serial.h              |   1 +
> >   xen/include/xen/suspend.h             |   2 +
> >   14 files changed, 201 insertions(+), 13 deletions(-)
> >
> > diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> > index 79622b46a1..54a5bfb9ae 100644
> > --- a/xen/arch/arm/Kconfig
> > +++ b/xen/arch/arm/Kconfig
> > @@ -19,6 +19,7 @@ config ARM
> >       select HAS_ALTERNATIVE if HAS_VMAP
> >       select HAS_DEVICE_TREE_DISCOVERY
> >       select HAS_DOM0LESS
> > +     select HAS_HWDOM_SYSTEM_SUSPEND if !MPU
> >       select HAS_GRANT_CACHE_FLUSH if GRANT_TABLE
> >       select HAS_STACK_PROTECTOR
> >       select HAS_UBSAN
> > diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
> > index 7727ffed5a..60488c95b4 100644
> > --- a/xen/arch/arm/gic.c
> > +++ b/xen/arch/arm/gic.c
> > @@ -26,6 +26,7 @@
> >   #include <asm/device.h>
> >   #include <asm/io.h>
> >   #include <asm/gic.h>
> > +#include <asm/suspend.h>
> >   #include <asm/vgic.h>
> >   #include <asm/acpi.h>
> >
> > @@ -44,6 +45,11 @@ static void __init __maybe_unused build_assertions(v=
oid)
> >   void register_gic_ops(const struct gic_hw_operations *ops)
> >   {
> >       gic_hw_ops =3D ops;
> > +
> > +#ifdef CONFIG_SYSTEM_SUSPEND
> > +    if ( !ops->suspend || !ops->resume )
> > +        host_system_suspend_disable("GIC driver lacks suspend support"=
);
> > +#endif
> >   }
> >
> >   static void clear_cpu_lr_mask(void)
> > diff --git a/xen/arch/arm/include/asm/psci.h b/xen/arch/arm/include/asm=
/psci.h
> > index bb3c73496e..142fa1bfe5 100644
> > --- a/xen/arch/arm/include/asm/psci.h
> > +++ b/xen/arch/arm/include/asm/psci.h
> > @@ -24,6 +24,9 @@ void call_psci_cpu_off(void);
> >   void call_psci_system_off(void);
> >   void call_psci_system_reset(void);
> >   int call_psci_system_suspend(void);
> > +#ifdef CONFIG_SYSTEM_SUSPEND
> > +bool psci_system_suspend_allowed(void);
> > +#endif
> >
> >   /* Range of allocated PSCI function numbers */
> >   #define     PSCI_FNUM_MIN_VALUE                 _AC(0,U)
> > diff --git a/xen/arch/arm/include/asm/suspend.h b/xen/arch/arm/include/=
asm/suspend.h
> > index c848fc6340..50dc6e9fdf 100644
> > --- a/xen/arch/arm/include/asm/suspend.h
> > +++ b/xen/arch/arm/include/asm/suspend.h
> > @@ -39,7 +39,15 @@ extern struct resume_cpu_context resume_cpu_context;
> >
> >   int prepare_resume_ctx(void);
> >   void hyp_resume(void);
> > -#endif /* CONFIG_SYSTEM_SUSPEND */
> > +bool host_system_suspend_allowed(void);
> > +void host_system_suspend_disable(const char *reason);
> > +
> > +#else /* !CONFIG_SYSTEM_SUSPEND */
> > +
> > +static inline bool host_system_suspend_allowed(void) { return false; }
> > +static inline void host_system_suspend_disable(const char *reason) {}
> > +
> > +#endif
> >
> >   #endif /* ARM_SUSPEND_H */
> >
> > diff --git a/xen/arch/arm/psci.c b/xen/arch/arm/psci.c
> > index e05dae1133..e9d78668fd 100644
> > --- a/xen/arch/arm/psci.c
> > +++ b/xen/arch/arm/psci.c
> > @@ -41,6 +41,13 @@ static bool __ro_after_init has_psci_system_suspend;
> >
> >   #define PSCI_RET(res)   ((int32_t)(res).a0)
> >
> > +#ifdef CONFIG_SYSTEM_SUSPEND
> > +bool psci_system_suspend_allowed(void)
> > +{
> > +    return has_psci_system_suspend;
> > +}
> > +#endif
> > +
> >   int call_psci_cpu_on(int cpu)
> >   {
> >       struct arm_smccc_res res;
> > diff --git a/xen/arch/arm/suspend.c b/xen/arch/arm/suspend.c
> > index 6ea4a0f9cc..98ddd46a47 100644
> > --- a/xen/arch/arm/suspend.c
> > +++ b/xen/arch/arm/suspend.c
> > @@ -1,9 +1,49 @@
> >   /* SPDX-License-Identifier: GPL-2.0-only */
> >
> > +#include <asm/psci.h>
> >   #include <asm/suspend.h>
> >
> > +#include <xen/lib.h>
> > +#include <xen/serial.h>
> > +
> >   struct resume_cpu_context resume_cpu_context;
> >
> > +/*
> > + * Non-PSCI infrastructure can make host suspend impossible even when =
the PSCI
> > + * SYSTEM_SUSPEND conduit is present, e.g. when a Xen-owned driver has=
 no valid
> > + * suspend/resume path.
> > + *
> > + * This gate is checked only when the last awake control domain attemp=
ts to
> > + * turn a guest SYSTEM_SUSPEND request into a host-suspend request.
> > + */
> > +static bool host_system_suspend_runtime_allowed =3D true;
>
> All callers of host_system_suspend_disable() appear to execute during
> boot. I noticed you added __ro_after_init to serial_suspend_available
> (same lifecycle), making the omission here a bit inconsistent. Should
> host_system_suspend_runtime_allowed be marked as __ro_after_init as
> well? Or I missed something?

Good point. I kept it writable with a possible future runtime policy path i=
n
mind, but this series only has boot-time callers.

I will mark it __ro_after_init and rename it to avoid implying that it rema=
ins
a runtime policy knob. If we later add a real runtime blocker, that patch c=
an
remove the annotation and explain the new lifetime requirement.

>
> > +
> > +static bool host_serial_suspend_allowed(void)
> > +{
> > +    if ( serial_suspend_supported() )
> > +        return true;
> > +
> > +    printk_once(XENLOG_INFO
> > +                "Host SYSTEM_SUSPEND blocked: serial unsupported\n");
> > +
> > +    return false;
> > +}
> > +
> > +bool host_system_suspend_allowed(void)
> > +{
> > +    return psci_system_suspend_allowed() &&
> > +           host_serial_suspend_allowed() &&
> > +           host_system_suspend_runtime_allowed;
> > +}
> > +
> > +void host_system_suspend_disable(const char *reason)
> > +{
> > +    host_system_suspend_runtime_allowed =3D false;
> > +
> > +    printk(XENLOG_INFO "Host SYSTEM_SUSPEND blocked: %s\n",
> > +           reason ? reason : "unsupported suspend/resume path");
>
> On a system with N SMMUv3 instances using MSIs (each calling
> host_system_suspend_disable() from arm_smmu_setup_msis()),
> the same message is printed N times...

Good point. I do not want to make host_system_suspend_disable() globally
one-shot, because different subsystems may report different blockers and th=
at
information is useful.

I will handle this at the SMMUv3 caller instead, so the MSI IRQ path disabl=
es
host suspend only once.

>
> > +}
> > +
> >   /*
> >    * Local variables:
> >    * mode: C
> > diff --git a/xen/arch/arm/vpsci.c b/xen/arch/arm/vpsci.c
> > index ac6af6118f..0bae42c1bd 100644
> > --- a/xen/arch/arm/vpsci.c
> > +++ b/xen/arch/arm/vpsci.c
> > @@ -5,6 +5,7 @@
> >
> >   #include <asm/current.h>
> >   #include <asm/domain.h>
> > +#include <asm/suspend.h>
> >   #include <asm/vgic.h>
> >   #include <asm/vpsci.h>
> >   #include <asm/event.h>
> > @@ -219,6 +220,89 @@ static void do_psci_0_2_system_reset(void)
> >       domain_shutdown(d,SHUTDOWN_reboot);
> >   }
> >
> > +/*
> > + * Serialise SYSTEM_SUSPEND policy decisions with the domain suspend t=
ransition,
> > + * so multiple control domains cannot all observe each other as still =
awake.
> > + */
> > +static DEFINE_SPINLOCK(vpsci_system_suspend_lock);
> > +
> > +static bool domain_in_suspend_state(struct domain *d)
> > +{
> > +    bool suspended;
> > +
> > +    spin_lock(&d->shutdown_lock);
> > +    suspended =3D d->is_shut_down && d->shutdown_code =3D=3D SHUTDOWN_=
suspend;
> > +    spin_unlock(&d->shutdown_lock);
> > +
> > +    return suspended;
> > +}
> > +
> > +static int32_t domain_psci_system_suspend_policy(struct domain *d)
> > +{
> > +    struct domain *other;
> > +    bool last_awake_control_domain =3D true;
> > +    bool awake_non_control_domain =3D false;
> > +
> > +    /* Only control domains participate in sequencing policy. */
> > +    if ( !is_control_domain(d) )
> > +        return 0;
> > +
> > +    rcu_read_lock(&domlist_read_lock);
> > +
> > +    for_each_domain ( other )
> > +    {
> > +        bool suspended;
> > +
> > +        if ( other =3D=3D d )
> > +            continue;
> > +
> > +        suspended =3D domain_in_suspend_state(other);
> > +        if ( suspended )
> > +            continue;
> > +
> > +        if ( is_control_domain(other) )
> > +        {
> > +            last_awake_control_domain =3D false;
> > +            break;
> > +        }
> > +
> > +        awake_non_control_domain =3D true;
> > +    }
> > +
> > +    rcu_read_unlock(&domlist_read_lock);
> > +
> > +    /*
> > +     * Another control domain is still awake. This request is only the=
 first
> > +     * phase of the sequencing: park this control domain and leave the=
 host
> > +     * running. Host-wide suspend gates must not block this intermedia=
te state.
> > +     */
> > +    if ( !last_awake_control_domain )
> > +        return 0;
> > +
> > +    /*
> > +     * This is the last awake control domain. It must not be parked un=
less the
> > +     * request can proceed as a host-suspend request; otherwise Xen wo=
uld lose
> > +     * the last domain that can coordinate the system suspend.
> > +     */
> > +    if ( awake_non_control_domain )
> > +    {
> > +        printk(XENLOG_DEBUG
> > +               "SYSTEM_SUSPEND denied for %pd: non-control domains awa=
ke\n",
> > +               d);
> > +        return PSCI_DENIED;
> > +    }
> > +
> > +    /*
> > +     * Host-wide gates are relevant only for the last-control-domain c=
ase. They
> > +     * must not block parking of a non-last control domain, but they m=
ust deny
> > +     * the last control domain when host suspend is not currently avai=
lable.
> > +     */
> > +    if ( !host_system_suspend_allowed() )
> > +        return PSCI_DENIED;
> > +
> > +    return 0;
> > +}
> > +
> >   static int32_t do_psci_1_0_system_suspend(register_t epoint, register=
_t cid)
> >   {
> >       int32_t rc;
> > @@ -232,10 +316,6 @@ static int32_t do_psci_1_0_system_suspend(register=
_t epoint, register_t cid)
> >       if ( is_64bit_domain(d) && is_thumb )
> >           return PSCI_INVALID_ADDRESS;
> >
> > -    /* SYSTEM_SUSPEND is not supported for the hardware domain yet */
> > -    if ( is_hardware_domain(d) )
> > -        return PSCI_NOT_SUPPORTED;
> > -
> >       /* Ensure that all CPUs other than the calling one are offline */
> >       domain_lock(d);
> >       for_each_vcpu ( d, v )
> > @@ -252,16 +332,29 @@ static int32_t do_psci_1_0_system_suspend(registe=
r_t epoint, register_t cid)
> >       if ( rc )
> >           return PSCI_DENIED;
> >
> > -    rc =3D domain_shutdown(d, SHUTDOWN_suspend);
> > +    spin_lock(&vpsci_system_suspend_lock);
> > +
> > +    rc =3D domain_psci_system_suspend_policy(d);
> > +    if ( !rc )
> > +    {
> > +        rc =3D domain_shutdown(d, SHUTDOWN_suspend);
> > +        if ( rc )
> > +            rc =3D PSCI_DENIED;
> > +        else
> > +        {
> > +            rctx->ctxt =3D ctxt;
> > +            rctx->wake_cpu =3D current;
> > +        }
> > +    }
> > +
> > +    spin_unlock(&vpsci_system_suspend_lock);
> > +
> >       if ( rc )
> >       {
> >           free_vcpu_guest_context(ctxt);
> > -        return PSCI_DENIED;
> > +        return rc;
> >       }
> >
> > -    rctx->ctxt =3D ctxt;
> > -    rctx->wake_cpu =3D current;
> > -
> >       gprintk(XENLOG_DEBUG,
> >               "SYSTEM_SUSPEND requested, epoint=3D%#"PRIregister", cid=
=3D%#"PRIregister"\n",
> >               epoint, cid);
> > @@ -287,10 +380,9 @@ static int32_t do_psci_1_0_features(uint32_t psci_=
func_id)
> >       case PSCI_0_2_FN32_SYSTEM_RESET:
> >       case PSCI_1_0_FN32_PSCI_FEATURES:
> >       case ARM_SMCCC_VERSION_FID:
> > -        return 0;
> >       case PSCI_1_0_FN32_SYSTEM_SUSPEND:
> >       case PSCI_1_0_FN64_SYSTEM_SUSPEND:
> > -        return is_hardware_domain(current->domain) ? PSCI_NOT_SUPPORTE=
D : 0;
> > +        return 0;
> >       default:
> >           return PSCI_NOT_SUPPORTED;
> >       }
> > diff --git a/xen/common/Kconfig b/xen/common/Kconfig
> > index 5ff71480ee..816a1a4ecb 100644
> > --- a/xen/common/Kconfig
> > +++ b/xen/common/Kconfig
> > @@ -140,6 +140,9 @@ config HAS_EX_TABLE
> >   config HAS_FAST_MULTIPLY
> >       bool
> >
> > +config HAS_HWDOM_SYSTEM_SUSPEND
> > +     bool
> > +
> >   config HAS_IOPORTS
> >       bool
> >
> > diff --git a/xen/common/domain.c b/xen/common/domain.c
> > index bb9e210c28..d3edfb2a13 100644
> > --- a/xen/common/domain.c
> > +++ b/xen/common/domain.c
> > @@ -1375,6 +1375,11 @@ void __domain_crash(struct domain *d)
> >       domain_shutdown(d, SHUTDOWN_crash);
> >   }
> >
> > +static inline bool want_hwdom_shutdown(uint8_t reason)
> > +{
> > +    return !IS_ENABLED(CONFIG_HAS_HWDOM_SYSTEM_SUSPEND) ||
> > +           reason !=3D SHUTDOWN_suspend;
> > +}
> >
> >   int domain_shutdown(struct domain *d, u8 reason)
> >   {
> > @@ -1391,7 +1396,7 @@ int domain_shutdown(struct domain *d, u8 reason)
> >           d->shutdown_code =3D reason;
> >       reason =3D d->shutdown_code;
> >
> > -    if ( is_hardware_domain(d) )
> > +    if ( is_hardware_domain(d) && want_hwdom_shutdown(reason) )
> >           hwdom_shutdown(reason);
> >
> >       if ( d->is_shutting_down )
> > diff --git a/xen/drivers/char/serial.c b/xen/drivers/char/serial.c
> > index adb312d796..e5348b5445 100644
> > --- a/xen/drivers/char/serial.c
> > +++ b/xen/drivers/char/serial.c
> > @@ -497,6 +497,8 @@ const struct vuart_info *serial_vuart_info(int idx)
> >
> >   #ifdef CONFIG_SYSTEM_SUSPEND
> >
> > +static bool __ro_after_init serial_suspend_available =3D true;
> > +
> >   void serial_suspend(void)
> >   {
> >       int i;
> > @@ -513,6 +515,11 @@ void serial_resume(void)
> >               com[i].driver->resume(&com[i]);
> >   }
> >
> > +bool serial_suspend_supported(void)
> > +{
> > +    return serial_suspend_available;
> > +}
> > +
> >   #endif /* CONFIG_SYSTEM_SUSPEND */
> >
> >   void __init serial_register_uart(int idx, struct uart_driver *driver,
> > @@ -521,6 +528,11 @@ void __init serial_register_uart(int idx, struct u=
art_driver *driver,
> >       /* Store UART-specific info. */
> >       com[idx].driver =3D driver;
> >       com[idx].uart   =3D uart;
> > +
> > +#ifdef CONFIG_SYSTEM_SUSPEND
> > +    if ( !driver->suspend || !driver->resume )
> > +        serial_suspend_available =3D false;
> > +#endif
> >   }
> >
> >   void __init serial_async_transmit(struct serial_port *port)
> > diff --git a/xen/drivers/passthrough/arm/iommu.c b/xen/drivers/passthro=
ugh/arm/iommu.c
> > index 100545e23f..547048af05 100644
> > --- a/xen/drivers/passthrough/arm/iommu.c
> > +++ b/xen/drivers/passthrough/arm/iommu.c
> > @@ -19,6 +19,7 @@
> >   #include <xen/device_tree.h>
> >   #include <xen/iommu.h>
> >   #include <xen/lib.h>
> > +#include <xen/suspend.h>
> >
> >   #include <asm/device.h>
> >
> > @@ -46,6 +47,9 @@ void __init iommu_set_ops(const struct iommu_ops *ops=
)
> >       }
> >
> >       iommu_ops =3D ops;
> > +
> > +    if ( !ops->suspend || !ops->resume )
> > +        host_system_suspend_disable("IOMMU driver lacks suspend suppor=
t");
>
> I was initially wondering why the suspend/resume checks for the GIC and
> serial are wrapped in #ifdef CONFIG_SYSTEM_SUSPEND, but the IOMMU check
> is not, despite host_system_suspend_disable() acting as no-op when
> CONFIG_SYSTEM_SUSPEND=3Dn. Then I realized the divergence here because th=
e
> suspend/resume members in struct iommu_ops are not gated with #ifdef,
> unlike those in struct gic_hw_operations and struct uart_driver.

Yes, that was the reason for the difference: the IOMMU suspend/resume hooks
are part of the common iommu_ops and are not specific to Arm SYSTEM_SUSPEND=
.

I do not think this series should gate the common iommu_ops members with
CONFIG_SYSTEM_SUSPEND, because they are also used by other suspend paths.

That said, the check in arm/iommu.c is only there to update the Arm host
SYSTEM_SUSPEND policy, so I can wrap just that check in
#ifdef CONFIG_SYSTEM_SUSPEND to make the intent match the GIC and serial
cases.

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 06:27:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 06:27:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325725.1591040 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUf4N-0004td-MC; Wed, 03 Jun 2026 06:27:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325725.1591040; Wed, 03 Jun 2026 06: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 1wUf4N-0004tW-JK; Wed, 03 Jun 2026 06:27:15 +0000
Received: by outflank-mailman (input) for mailman id 1325725;
 Wed, 03 Jun 2026 06:27:14 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUf4M-0004tQ-9U
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 06:27:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUf4L-00H36M-82
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:27:13 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fc937-5cb7-0a2a0a5109dd-0a2a450482d6-34
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:27:13 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fc940-1dec-0a2a45040019-d1558033f1de-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:27:12 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-490b64c8311so5388735e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 23: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-490b0e76feasm116255165e9.9.2026.06.02.23.27.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 23:27: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780468032; x=1781072832; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=rBBsyBRPn4weISVeQ4wzn8yMIQR0+ErT+cxoO6HV6P8=;
        b=EWw61QfzkVS4l4JtiLkH0jaGDEFWfPCyoJLhho+ZH1hMHBhqyiclHWEDQAkrwH5lPX
         owDuHcSnzH3n76TMrGIj/TJhFta+M5WzUXfOOYAfdC05SY+btgYz/28ruRMpNmwdRDJj
         AOW2AZKhJUhTbDZQVRmtUkIGsvlB4wou/8MLKO3r52Sc5/Gv3VEYQzDnHtGBylJP9sve
         og578qhzzxXEIwUGR9Y1V+SvdmyRvXQ9kdU0G928Vx+NEdE9sMjnU3Uxh2vwX5lt8qv0
         +69OUCGhV96vz7JrKSHqGl0LKOhDvBs8iJVUgULh9qkyOtp8A3iMDL3ls5iQhQGRqEEz
         nI9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780468032; x=1781072832;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rBBsyBRPn4weISVeQ4wzn8yMIQR0+ErT+cxoO6HV6P8=;
        b=U7t8eMk2FG72KAA5mbwV+b35CxE+vEA6gp2FbQyHlEefw5IZmoP7JX0aDbZYYFOm4Z
         Tpda6B/a7zerEVn9apuA7xzCRSKJU9OQO1lX4Qviwk8kuO0A1xorjUucAxDnlP3b6mqu
         TUyTusB6NNFYauFD+K4J593ENOE4WSMMFKCAa2PPaQBzhFmQ+cfCJbw8+FJB1FQnle5J
         WkIhoTYZvh98k12idAr69zq+OAvcdftYR5b73G5yA4Z4KjbHxToAmCcI9EYylD+R5Zo6
         l0G8blEQm20bnpqclnVde//HMq+6f+azb8ownBH/2+3WngKOSq1HL2F0iOioauvU9RrK
         pmvg==
X-Forwarded-Encrypted: i=1; AFNElJ8ghSs2mslc9rbTbTA6Q0u2Fs8kICBZg5PBSsRlrRMSgZ+rI+ASP4PZsFAlBZVSwZBKsNn9/DH9DtQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz/n3gJzmfjXnuDoC5UJWoLZhpL0U9NGD3UN1fF/t9K6t3SYRM3
	Uw+HA2uimix6TLrxE5HoDEZJRBPr3wJZGcrJ6dwD8EwBfjYfOt2odjIDLxRmMJ9uiw==
X-Gm-Gg: Acq92OFhN87wemzySNH3Aww1xyngkl3Th9UHmOE828a9Cup3s2G6xhJUXup4fbntODQ
	f0vjSOzl5GarkdpOT3ZMzox8QM6Uge++MZMMrn6TzJQ8/GykoX2NCjGv1+2PkdDTp44szvoZnB6
	BwJd7jb4y5+mCc4z32VFLG1BqGuTC78HsF7nmNWB/Nv8pWLH1iLg6zbRuKAAgUR93rUEhT8wBQQ
	2GiWubXDgr0ZburB+8IZDPi19enIBfLYhOjAaA5tQcncf3Xlj2CtPEZJf4NPA6LN+DdPkSoas9y
	I4+5vEyldEu1cC2RmaerNcYU9ZR50xDq1h1ObzPbR4wq6Spa2qKJhun8SZFSwQsxUj+Y1SJTTio
	8605YBVvcfNf/CuxIAx0VofuKZYh+Us68oVDn/ZayuuC7M/kXzkNSMPri8ECoK4JQVq4h+rlstM
	26ME0QujEa5r/jrp8q0BWL3uX0zLNvg/atPoCFV1pgHQ0KsvABsXmuYWpQUb8NwQgeW3I6/ieH1
	ut3MUzvAFEYhshsTk95+mPrww==
X-Received: by 2002:a05:600c:19d2:b0:490:7136:ad02 with SMTP id 5b1f17b1804b1-490b5e94d63mr28187705e9.7.1780468032486;
        Tue, 02 Jun 2026 23:27:12 -0700 (PDT)
Message-ID: <ca4eafc3-8699-4903-aad5-5cb95ea6e409@suse.com>
Date: Wed, 3 Jun 2026 08:27:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] x86/fred: Enable FRED by default on AMD systems
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260602164519.2634144-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: <20260602164519.2634144-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1780468032-43B6B3FF-57A76354/0/0
X-purgate-type: clean
X-purgate-size: 1449

On 02.06.2026 18:45, Andrew Cooper wrote:
> FRED is now believed to be complete for AMD systems, and has had its tyres
> kicked by both XenServer and AMD.  Enable FRED by default on capable AMD
> systems (Zen6 and later).
> 
> Support on Intel is still not yet complete.  Leave it as tech preview and not
> security supported.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
with one remark:

> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -1259,12 +1259,12 @@ does not provide `VM_ENTRY_LOAD_GUEST_PAT`.
>  ### fred (x86)
>  > `= <bool>`
>  
> -> Default: `false`
> +> Default: `true` on AMD, `false` otherwise
>  
>  Flexible Return and Event Delivery is an overhaul of interrupt, exception and
>  system call handling, fixing many corner cases in the x86 architecture, and
> -expected in hardware from 2025.  Support in Xen is a work in progress and
> -disabled by default.
> +expected in hardware from 2026.  FRED is fully supported on AMD hardware.
> +Intel hardware is still tech preview and not security supported.

Is having "security" here really appropriate? There's a functional issue to be
sorted. That's expressed by "tech preview", yes, but it still feels somewhat
odd. If you want to keep the word, may I suggest to insert "in particular"?

May I further suggest "On Intel hardware it is ..."?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 06:30:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 06:30:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325731.1591048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUf7i-0006nI-32; Wed, 03 Jun 2026 06:30:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325731.1591048; Wed, 03 Jun 2026 06: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 1wUf7i-0006nB-0L; Wed, 03 Jun 2026 06:30:42 +0000
Received: by outflank-mailman (input) for mailman id 1325731;
 Wed, 03 Jun 2026 06:30:41 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUf7h-0006mp-68
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 06:30:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUf7c-005LkO-MS
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:30:36 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fca07-e002-0a2a0a5209dd-0a2a4506b34c-36
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:30:36 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fca0c-7371-0a2a45060019-d1558030a47b-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:30:36 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-490abf12f0fso1317665e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 23:30: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-490b7a7cb85sm21142595e9.1.2026.06.02.23.30.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 23:30: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780468236; x=1781073036; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=8/qK3CbFH4dVP9WciNz2INDDAM52uCCjaJYlsFUurZo=;
        b=HaqXsd1rOFvnWwxMmTxB663TEh01OihsJxkBOgGhDuZo1lzEOYNhBx9v7h7SeOZS6E
         qMfZTNqcwlqV0V6g00h1pWTAX2QA+z18y6/fQwbIT4HiO/ZM7luYzA5GYhXy00amD4ws
         nRBH5igGoEiyhttvbHe/JidtP8FV4fkNa1xjERMDhkReXA7oxwyd0awZ2oaQ7j8Y/2Hf
         VGPh8gbqyCVEN/ossoIEMADhzD9ThGNbrTG72HAqBTO3d4i/YhbkG0tuBsrLfpbm3Vcr
         t6IRa77PlGJAYHts4WUPSyfaioVRoVMdigxsif/596FUa4D7K5s129dxmrEw8XyBJqtp
         Y3zw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780468236; x=1781073036;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8/qK3CbFH4dVP9WciNz2INDDAM52uCCjaJYlsFUurZo=;
        b=ONresfs1CJsCkh4DyUa+ibciugFfHDq3gJtqfb6/1s0663SzNQFD5YLlrV/tLTUfjj
         wpULXtWnvQg0BsK5LJLzggO+pngFOUk8aqQ9rnWvE0JXTNFM+consIvK0oZ2Air9PpDO
         xNBM3mKcfvDObmdf+yluA4BbVYtB+7uJyI8NcKz0BEww3uMm7zIgLamFd9x1DKETdIas
         p7Vj20pC1VUec1/kgGmiqeGmuIc7aoE+OSB82PRrRPyWHOf26IUX2I4s+oSaL8Vh/WQi
         1+hERiTA7tMVsaXGVhFmtJNE6Cw2UJYpeaLdR4IephOjJr0y5xgDGrqOyePknnAV6yMb
         0p8g==
X-Forwarded-Encrypted: i=1; AFNElJ/Cw/WZJ6GCLU1ztiDyJXFXOwBtMlUE+L9NsL3B3/3iBsgKvx/cw9Hm4pjcJIk7uBN5P7xMtPTtwIM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwOZlBmwr9NpVpKUn+hKUga1kQxXh9LRDIzCR8exteGQE/bnqY6
	oWN+ld0c3dJzZzJMK+RBUuQZ6ezjM/ShfZj5Gy5BABGf4Dq3xVsqZlKwpq4JB9Hmtw==
X-Gm-Gg: Acq92OGvxQP5wXdlqcqO8ulX9F/x8zkry1Tg2SNocur7qxQYAQmWJlQSEK5gm0WlUF1
	mtroGQ7pcZEnoVcKQh5E0iYQN+IrfXfIZDWqsruEtBtM6A/EAuhqMu3SUyijcJU+6MkxzSVpBuY
	mQn5SVYGjml29E5ILg+21t9gGjSOKcKWAVigryhPcowgYGqwOChnNIkXvYeDh/yvrqpibDApm9B
	Zy+qeV6c1mGkPBEW0Wp8og8UFvGThPw3bb+3zBxQsP1comkqP1wEEvPdhFvSJ10yb91ettYYEgl
	T8H5KSuLlcBU7cMzktto1Awig9/QmHpJMHh/Pxf2GeZlzp1Ac7TUlb0oJUasu/8phWA1h/ffplg
	OYZsO0uOPilyFYGVgO7CLZbnCrn5yEBvLdSPzNclsAIf6itGR7vUxFtIkIEmnaB5hP9kqTs3ssK
	VnZ06qOWf/9nbqHalUpoBs2pO80SvebRY/iyhmAwrvSovacw4Rj+cSilXezKN9A42XxYYDyZBqk
	j2F8T97xJ0ohFGxxwIc0FMBnA==
X-Received: by 2002:a05:600c:3e19:b0:490:8b0b:d3b1 with SMTP id 5b1f17b1804b1-490b614c9demr26692055e9.12.1780468236019;
        Tue, 02 Jun 2026 23:30:36 -0700 (PDT)
Message-ID: <8f39796a-1aea-4973-9ef9-cae486eeb8d8@suse.com>
Date: Wed, 3 Jun 2026 08:30:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 0/2] Finish fixes for eclair-x86_64-allcode
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "consulting @ bugseng . com" <consulting@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260602174629.2649448-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: <20260602174629.2649448-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1780468236-84158D75-33D851CE/0/0
X-purgate-type: clean
X-purgate-size: 606

On 02.06.2026 19:46, Andrew Cooper wrote:
> Depends on Jan's "[PATCH v3] x86/PV: drop a local variable from
> pv_emulate_gate_op()" which is ready to go in but not committed yet.

Will push as soon as
https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2572460164
made it.

Jan

> Andrew Cooper (2):
>   x86/shadow: Deviate multi.h as being included multiple times
>   CI: Mark eclair-x86_64-allcode as blocking now that it's clean
> 
>  automation/gitlab-ci/analyze.yaml | 1 -
>  xen/arch/x86/mm/shadow/multi.h    | 1 +
>  2 files changed, 1 insertion(+), 1 deletion(-)
> 



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 06:34:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 06:34:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325737.1591059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUfBB-0007Jq-J2; Wed, 03 Jun 2026 06:34:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325737.1591059; Wed, 03 Jun 2026 06: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 1wUfBB-0007Jj-F4; Wed, 03 Jun 2026 06:34:17 +0000
Received: by outflank-mailman (input) for mailman id 1325737;
 Wed, 03 Jun 2026 06:34:16 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUfBA-0007Jd-Gm
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 06:34:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUfB9-00AcCl-N3
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:34:15 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fcae6-2eae-0a2a0a5409dd-0a2a450bad8a-2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:34:15 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fcae7-212f-0a2a450b0019-d1558031b153-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:34:15 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490b613a17bso4648315e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 23:34: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-490b63d810dsm36685055e9.9.2026.06.02.23.34.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Jun 2026 23:34: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780468455; x=1781073255; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=zTd9Zsv71ns+G6hKTnB87XtpFXwSE7du73xfJdyH2fY=;
        b=YHTkRGoa+o12crZDd1OQSJmb8uIpVjpw34fTDlTjP3BACBWeTbbEZyqOUwCvRUk5gs
         JBVYLZKwAgbVbnBKFnuUXg6haQ79/YX/vo0+liFrem3CsJQqpb6n57c44J8iZ8XBwHu+
         lpl4o8VnaDnnjTzcHIoPGXa0Hh9S4UYuEMN/8Jnrun9EOSU8boC7I7cxkdkLknJvBKrn
         rlKlO0FTUbnRIRZK8GjqB7XzO6C1WuNG0MWNCo9By+dsiBf6ATe7WZrLUQ7cVO81Jgax
         6Qj+kIk6N94aU/Bfv96f/m9z85gLLMWuHPmrW7Qu/z5MVBWzACxHNd8wZoPkUwxoN/7+
         e10g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780468455; x=1781073255;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zTd9Zsv71ns+G6hKTnB87XtpFXwSE7du73xfJdyH2fY=;
        b=grzaF9m67jIo5CfQpKGC2E3/srblrmxxc/rLJnsxxe78uZAiiyALRUBI5vVTPZYDrA
         azUsEci4A12oeJ4/kefdQEBiY8vyxr/FYYm+gRY4jiDsMxV/scQVhzb4bN/ZcxBVcx9q
         B5ZVo/+K00WdrBedkxdI6jcWlPhXyvB2skeDr1D3xPVwIVsazJnBJx4QIL8z5MNyfTdu
         em+qSgUAcTi7PNnI4coelq7fg6bAp3mNLFFHop1dNNnI/9edZ2GmNxGMgCSevKCarwvL
         tqQ9++AStE+1Ivy0mvjQrhi1MBLFi5zutMcMzu7vg7q46gtfDJ9g9d53kztTXkr6uu17
         U4vg==
X-Forwarded-Encrypted: i=1; AFNElJ/mr1TT0lreDaByT79u4qL4GNmj8fAGTKFsJy4238P6PWbhMgowLTEiNfBrq0qOrPNts+B4hfJ5CPw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YydUb5t65/jT6nRD4EGIgQ6pxOMhxyfir83FmOHd+543cH/2BFS
	Fp1TF3HgVSovuRdioBriOPjnZlfoQVNBdkTs2u/otX/32vRghIun50+2IPyaL5TYAQ==
X-Gm-Gg: Acq92OFjRm1/MnAcrtxmoKq2N9s+EUL22F9pOgDUSB72BZHsWxe3JsURK29DoMvzQTU
	OHpdJv7LJFUVfQ6hZpvKY2cE9SPyC6O0Lkn22E2qEgrPKdIVeKM5+e5TTha64xQT+PTOQ2ddkoQ
	RknQTTuntaBkveTDJaCKQHsnCeQOZdi8k9mYHt2b6zrDLXV6dU9BWHBji3GtlZuIlXo2JIp7uah
	vASwTGCSF0+qY7Z/9yaU2EOU/5rtAEtFsVrKVhU5KGnWDKTcdD6ZPwP/9uytWuDikKjZjV5xoZ4
	Y8Q9yINauyeTWFQjuMLDCNyp6clRQEv8R6Ge++IrtvXeIlyZ3XIba5Im9+6zV8GQaOP8uZCY+9A
	QhL/nOYMXcJeuO3cG0MhpfBNmLFVO8wNIuucmUie9a12NkbYicTyamYiuPG/BBuj5SLj3oR+Dky
	wdwCYWINl6NHTLwwE4qnHT11c002X7/MLI7FsPH7DzjtbrZ2lXxW3nUVVYwqlgBSgqOx3jLdnFr
	4lSETIAcOkha1Sb7cpBUCtPPA==
X-Received: by 2002:a05:600c:8b23:b0:490:b115:e03f with SMTP id 5b1f17b1804b1-490b5e893admr29644945e9.8.1780468455087;
        Tue, 02 Jun 2026 23:34:15 -0700 (PDT)
Message-ID: <76091f90-b0a1-419f-9261-83b83c939c8b@suse.com>
Date: Wed, 3 Jun 2026 08:34:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] x86/shadow: Deviate multi.h as being included
 multiple times
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "consulting @ bugseng . com" <consulting@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260602174629.2649448-1-andrew.cooper3@citrix.com>
 <20260602174629.2649448-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: <20260602174629.2649448-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1780468455-12B70F3B-A6D3782F/0/0
X-purgate-type: clean
X-purgate-size: 563

On 02.06.2026 19:46, Andrew Cooper wrote:
> Introduce a range to search for the devation marker.

This wants updating in light of the range, for whatever reason, not working
(as you mention below).

> This resolves a MISRA D4.10 violation.

Is "resolve" really the right term here? If you don't want to repeat "deviate",
maybe "address"? (Yet as always: You're the native speaker, so you'll know
best.)

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

With the commit message adjusted:
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 06:40:53 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 06:40:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325744.1591068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUfHT-0000pK-85; Wed, 03 Jun 2026 06:40:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325744.1591068; Wed, 03 Jun 2026 06: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 1wUfHT-0000pD-3h; Wed, 03 Jun 2026 06:40:47 +0000
Received: by outflank-mailman (input) for mailman id 1325744;
 Wed, 03 Jun 2026 06:40:46 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <armbru@redhat.com>) id 1wUfHS-0000p7-83
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 06:40:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUfHR-005O38-Ab
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:40:45 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <armbru@redhat.com>)
 id 6a1fcc65-2eae-0a2a0a5409dd-0a2a450abf30-36
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:40:44 +0200
Received: from [170.10.133.124] (helo=us-smtp-delivery-124.mimecast.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <armbru@redhat.com>)
 id 6a1fcc6b-56b3-0a2a450a0019-aa0a857c7889-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:40:44 +0200
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-564-RLawYz73OIqh5JmmI2ZwEw-1; Wed,
 03 Jun 2026 02:40:39 -0400
Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com
 (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4])
 (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 8FAAD180049F; Wed,  3 Jun 2026 06:40:38 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.44.22.2])
 by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id 2345A30001A7; Wed,  3 Jun 2026 06:40:38 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id 5652F21E6A25; Wed, 03 Jun 2026 08:40:32 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:content-type:Content-Transfer-Encoding:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1780468843;
	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=f/1NMFbCCTiIHLk8JtsDwjURe28Qph3Ze1ot3C5bz1c=;
	b=eyJGhoWVqtBeP3i93l905osVn0019WCmCagI+qjUgRAtSm3JLnuQ68snocDRQ9uZ0Qwatk
	uoPnTeM4KMt7cSFE9lEpOLOdu5BktnXXqwDI85CF0/cCAkg5CI0NWgDLVBl8n2tzBp90Kb
	edrOX+I5Y0Rc5N/cuHalw+YR1ckuywI=
X-MC-Unique: RLawYz73OIqh5JmmI2ZwEw-1
X-Mimecast-MFC-AGG-ID: RLawYz73OIqh5JmmI2ZwEw_1780468838
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: philmd@mailo.com,
	pierrick.bouvier@oss.qualcomm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony@xenproject.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v2 09/38] MAINTAINERS: Drop bad F: in "X86 Xen CPUs"
Date: Wed,  3 Jun 2026 08:40:03 +0200
Message-ID: <20260603064032.3733394-10-armbru@redhat.com>
In-Reply-To: <20260603064032.3733394-1-armbru@redhat.com>
References: <20260603064032.3733394-1-armbru@redhat.com>
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4
X-Mimecast-MFC-PROC-ID: AOQJjsdoTf6aKJM4lLKAw46Kn0BTEtVaPDC_qPiwFYI_1780468838
X-Mimecast-Originator: redhat.com
Content-Transfer-Encoding: 8bit
content-type: text/plain; charset="US-ASCII"; x-default=true
X-purgate-ID: tlsNG-4011c0/1780468844-70F618B7-F64AB698/0/0
X-purgate-type: clean
X-purgate-size: 890

include/hw/block/dataplane/xen* does not exist.
hw/block/dataplane/xen* does, and is covered.  Drop the bad line.

Fixes: fcab2b464e (xen: add header and build dataplane/xen-block.c, 2019-01-08)
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Anthony PERARD <anthony@xenproject.org>
Cc: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Cc: xen-devel@lists.xenproject.org
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Anthony PERARD <anthony@xenproject.org>
---
 MAINTAINERS | 1 -
 1 file changed, 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 269c26196d..3a99c84839 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -634,7 +634,6 @@ F: hw/xen/
 F: hw/xenpv/
 F: hw/i386/xen/
 F: hw/pci-host/xen_igd_pt.c
-F: include/hw/block/dataplane/xen*
 F: include/hw/xen/
 F: include/system/xen.h
 F: include/system/xen-mapcache.h
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 06:47:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 06:47:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325751.1591075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUfNO-0001NO-PF; Wed, 03 Jun 2026 06:46:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325751.1591075; Wed, 03 Jun 2026 06: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 1wUfNO-0001NH-Me; Wed, 03 Jun 2026 06:46:54 +0000
Received: by outflank-mailman (input) for mailman id 1325751;
 Wed, 03 Jun 2026 06:46:53 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <xakep.amatop@gmail.com>) id 1wUfNN-0001NB-Lj
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 06:46:53 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUfNN-005oEk-2D
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:46:53 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a1fcdd2-5cb7-0a2a0a5109dd-0a2a4507b7a4-46
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:46:53 +0200
Received: from [209.85.208.169] (helo=mail-lj1-f169.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a1fcddc-229c-0a2a45070019-d155d0a9a4e7-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:46:52 +0200
Received: by mail-lj1-f169.google.com with SMTP id
 38308e7fff4ca-39661f81eacso4281211fa.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Jun 2026 23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780469212; cv=none;
        d=google.com; s=arc-20240605;
        b=jk2WiSg7R4GeG10AwjzZQA4Ved7fxirTEQOOyXfuAkgmKppZfYRguW6J/+1WvCUxos
         FtQJVsJKVa2uv8DZGFg1lJ8DBepu3Myk17ZAI0ayQXe3Vc8LLVOhyZSC+KTZr1vDQxNw
         zax7XymG9QlkERaLLYsVSvp+REm2BywAhYMtRmAtP9ibj+9ILBTRoJMSakZad4Idk6u3
         x0okiRwt+ICmONJAnwA6qEPbBJy5V9OEEHNUI+JDsVBsSm5XfO0pSMLKcmJM7cwg1cNZ
         I/r0UVzD+GV9qJzHcWVZRGkvug0xpP/PgGw19Tt8Ds1NT5Q/DyYvWzVV6HYMIEKYt8CO
         6WdQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=7dBaqWYLvzEH6qwxN/EwADTUjkGEkjcWDh2cRodeWNI=;
        fh=V4JwZlQFNRYiaNJa0y1s6t2uNB0wWRvWPMwApFIm7J0=;
        b=krHhfWKMMPWJ+yhfTQoYpRASpoEyMjm6HwuoIR14bxSuTZf62Wvkn8EwVaB1oVlcu+
         GNAi9YtgZgu6X1t1rV8+yDa2b5Zp1l4y9BSY3xgy9qTTsg4juVKSEKgZ5WNKaDHaLlHL
         ZfRZ3MQ+fJh0trXLdaDZRSBdpSzeLL0soWmFEqBiB5psnx8GQgWYLz/BPK7K6M3WH2o5
         kIATJQLTPX9MXd5kSZwPk5z3aBJ/M36PTKRhzafSv8xNcdSARa9kX/QIIaqXmQQh6gu2
         eHvZK9AAA/ajrcXwnlAooET26yFGhm7MnNAZGFLgjSX3gd7GvTeL56C5jN0PnlBqhoUF
         aiFw==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780469212; x=1781074012; 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=7dBaqWYLvzEH6qwxN/EwADTUjkGEkjcWDh2cRodeWNI=;
        b=MRIBM/qHBEZoHaYLquuL+nenTJbG8dCS90UTSL00DM8KK4atDHgxKfRvV2J0EA4C7T
         7rTuayyQ98zWJWSqP6LXJ6kjpHN3sfHwnnyk2gI5ttNwSc+2h/l0wvDnh7qZWphPY14i
         V5NxJBdQz+HseyvE5zkFYCKc+uh8tnbdmATrycZ9btypIGUCKRKeyf/FuQC+bOyYIy4e
         WEoudd8qGMjuFgTiRBXOKl1QOGMYemvIApwQeeJV8nf2sma+Oq9eF3xhyzx5zB5kBbRP
         Kyeei5R8mrpASM3XzQXGz2kuy4uqXxbjTlQVxrZUCVPVg5NZqa6BpdyLgBSv1gFAsO/3
         adcA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780469212; x=1781074012;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=7dBaqWYLvzEH6qwxN/EwADTUjkGEkjcWDh2cRodeWNI=;
        b=mn0FG7aiIt/48/mhk3zMQtqH83NrfdQh5QG+VWlJF4UKnV+1O8UYUD6SYW91BiKVOh
         g2feSgfw1ygT3jAcjx3BQY/OjwmfGRTP66X2CxLYtB1O1E1jqIt2HvaKf8t4gak6734E
         YmmZb3jzhHUiJ3QVFfcprnMEyFgvBAyx0pz8r2H8fzQI6Ca2Ttch6ggCXhSwroQoTr/y
         VR/Ie9X+NlRQAWNgKFWbChOyvf+Sp0VhRTN5+fprauRw2kWJfr+Por/dG4UPb1UXX3Hf
         zIRHsVspPBVqYJyGISOfvDGTyKh+YzLid/AA9r7TAFQTR5PpOfYKPo62oam8VmWEnjvC
         MnIA==
X-Forwarded-Encrypted: i=1; AFNElJ9O0v719RVJH0snnXjbpjIGathXuDqPVnO7a0IcHyc2VMGkhLYHzX74TiazXFdDoQM0ubjpCKeJTbY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzQzaJ12+O6YoXccDUxyQofR2R03Ttb71pJTCRpRFsuCtM7Au+z
	MLR8+exwTcdIFpMx5ptwdnfMfqh6RT7dTdfpjJZwMphKNClUwT9tj2SSkP6Y2R3TkiojXaJf11P
	JcbRA0h/iSL75ahmJyZrya8/Df4lVLfI=
X-Gm-Gg: Acq92OGiINMr63qgBoj3lodLognDQhxEnDW6bbyxecApXxfUlozs4l8d7EFO3V2hUCe
	WDLC/N7xSY7ey+I1AH8IskhDqHqATyd0RmI2wXUWXDJJut9kuyr3hfvPBOG6dS+/r3d69ouSnms
	7r2R3wvd7fpmg23f2JcqZ9OTZm33MNyW0g8GAjaC9Fqf9Z6fz3oziuBHBcHryEkifEKV+oK4rsa
	3/dnrpPDrWD5KW8GotNfooE8+1zmyFO06CBz0tBCZFYr3eSSSohkQ1tDJ9X/JmmV9Shz3Q39eFA
	LvMZqAsgfVXzQ1Yw
X-Received: by 2002:a2e:ae07:0:b0:396:8aa2:f8d9 with SMTP id
 38308e7fff4ca-396aef3f098mr4043421fa.17.1780469211982; Tue, 02 Jun 2026
 23:46:51 -0700 (PDT)
MIME-Version: 1.0
References: <e9c45be41bb36ca341dad57196c753fbe82d1526.1774998397.git.mykola_kvach@epam.com>
 <d53d2b06-56d7-43bc-bb20-4df7b7bc3ca5@suse.com>
In-Reply-To: <d53d2b06-56d7-43bc-bb20-4df7b7bc3ca5@suse.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Wed, 3 Jun 2026 09:46:39 +0300
X-Gm-Features: AVHnY4IxkzzU0lF0ZHKnzy6YfCzBMldcg5oOOEKMhdgUA3pS9PKfY1H6iLt1nNU
Message-ID: <CAGeoDV8RXEvV03WCRU5WqZvAgU1G9GmVpaed1ZR+ezbEjgLjMg@mail.gmail.com>
Subject: Re: [PATCH v2] xen/domain: make shutdown state explicit
To: Jan Beulich <jbeulich@suse.com>
Cc: Mykola Kvach <mykola_kvach@epam.com>, Paul Durrant <paul@xen.org>, 
	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>, Tim Deegan <tim@xen.org>, 
	Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>, George Dunlap <gwd@xenproject.org>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-ef75cf/1780469212-09F6EC48-930B6220/0/0
X-purgate-type: clean
X-purgate-size: 4570

Hi Jan,

On Wed, Apr 8, 2026 at 4:06=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wrot=
e:
>
> On 01.04.2026 08:41, Mykola Kvach wrote:
> > From: Mykola Kvach <mykola_kvach@epam.com>
> >
> > The shutdown flow currently overloads is_shutting_down and
> > is_shut_down to represent multiple phases of the shutdown lifecycle.
> > Some users treat is_shutting_down narrowly as "shutdown still needs to
> > be driven to completion", while others rely on it more broadly as
> > "the domain is no longer in its normal running state".
> >
> > Make the lifecycle explicit by introducing enum
> > domain_shutdown_state and helper predicates whose names match their
> > semantics: domain_shutting_down() for the transient phase,
> > domain_shutdown_completed() for the final state, and
> > domain_in_shutdown_state() for checks that need the union of both.
> >
> > The conversion is intentionally not mechanical. The old flags were not
> > mutually exclusive: once a domain became fully shut down,
> > is_shutting_down remained set. As a result, sites that previously
> > used the absence of is_shutting_down to exclude both the transient and
> > completed states now use domain_in_shutdown_state(), sites that care
> > specifically about the final state use domain_shutdown_completed(),
> > and only paths that still have work to do before shutdown finalization
> > use domain_shutting_down().
>
> In how far is the distinction between domain_shutting_down() and
> domain_in_shutdown_state() really necessary? What you describe above
> still leaves me pretty clueless as to almost(?) all of the uses of the
> latter (where I think the former could be used just as well). Many
> paths simply can't be taken anymore for a fully shut down domain, so
> the distinction between the two is moot there.
>
> I'm also concerned of the name domain_in_shutdown_state() itself. To
> me this is far closer to domain_shutdown_completed() than to the union
> of both states. See how e.g. x86 CPUs can be "in shutdown state", i.e.
> not responding to anything but a reset or init signal.
>
> IOW an entirely mechanical replacement might in fact be easier to look
> at. And in the one rare case where the distinction might indeed be
> relevant, "domain_shutting_down() || domain_shutdown_completed()" could
> be used.
>
> > @@ -1423,9 +1423,12 @@ int domain_shutdown(struct domain *d, u8 reason)
> >      return 0;
> >  }
> >
> > -void domain_resume(struct domain *d)
> > +int domain_resume(struct domain *d)
> >  {
> >      struct vcpu *v;
> > +    enum domain_shutdown_state shutdown_state;
> > +    unsigned int shutdown_code;
> > +    int rc =3D 0;
> >
> >      /*
> >       * Some code paths assume that shutdown status does not get reset =
under
> > @@ -1435,10 +1438,18 @@ void domain_resume(struct domain *d)
> >
> >      spin_lock(&d->shutdown_lock);
> >
> > -    d->is_shutting_down =3D d->is_shut_down =3D 0;
> > +    shutdown_state =3D d->shutdown_state;
> > +    shutdown_code =3D d->shutdown_code;
> > +
> > +    if ( !domain_shutdown_completed(d) )
> > +    {
> > +        rc =3D -EINVAL;
> > +        goto out_unlock;
> > +    }
>
> I can't help the impression that you're mixing two things here - adjustme=
nt
> to how shutdown state is tracked, and enforcement of completed shutdown
> right here. This separate change likely would better be split out, and th=
en
> come with a description saying not only what is being changed, but also w=
hy,
> and why the change is correct for both call sites.

In v3 I have dropped this part, so the patch no longer changes
domain_resume() behaviour or its callers. domain_resume() remains void,
and the patch only makes the existing shutdown state tracking explicit.

One follow-up question about the dropped change: do you think resume-state
validation would be worth pursuing separately?

AFAICT, soft reset already has its own DOMCTL path, so I do not mean to tre=
at
XEN_DOMCTL_resumedomain as a soft-reset interface. The distinction I had in
mind is rather that we may want different validation rules for the generic
resume helper and for a resume-from-suspend path. In particular, soft reset
could keep the current semantics, while a resume-from-suspend path would on=
ly
clear the shutdown state if the domain had previously entered suspend.

If this distinction makes sense, I can look into it as a separate patch wit=
h
its own justification for the affected call sites. Otherwise I will leave i=
t
out.

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 07:08:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 07:08:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325762.1591085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUfiE-00055x-Gt; Wed, 03 Jun 2026 07:08:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325762.1591085; Wed, 03 Jun 2026 07:08: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 1wUfiE-00055q-EA; Wed, 03 Jun 2026 07:08:26 +0000
Received: by outflank-mailman (input) for mailman id 1325762;
 Wed, 03 Jun 2026 07:08:25 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <xakep.amatop@gmail.com>) id 1wUfiC-00055k-Qk
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 07:08:25 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUfiB-0021tZ-MT
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 09:08:23 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a1fd2dd-e002-0a2a0a5209dd-0a2a4502bf4e-24
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 09:08:23 +0200
Received: from [209.85.167.42] (helo=mail-lf1-f42.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a1fd2e7-af86-0a2a45020019-d155a72ab1a9-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 09:08:23 +0200
Received: by mail-lf1-f42.google.com with SMTP id
 2adb3069b0e04-5aa5f11deb2so5043912e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 00:08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780470503; cv=none;
        d=google.com; s=arc-20240605;
        b=dKACzEddcf9sPqUsjYh7HByKI/JUCpJqNdjDLGWLQwXeaZuGiA9I0szbwxOdcODNH/
         9GMzWJQ6vgR8qyOR8mnJm2+0MxAGQU2UOM54t6k0b9dMjg3Bzw0zns0FpU+CzoqAtctF
         Up1Fs0zE6vKB5D1Rwyu80K7MWHbMq4tFhnxOYWWLglXQWJvaeiEP9XeyrQ/hMzRm4K0W
         G/AS5mfLM9Mk8boFwlqfQQ8ddSmcz5HtGMLLaCV9Ld3vF2w8P5i1lNCqevcUWHrCWelu
         dFfbrGi1l3Nx68iYQvW8vq1tSB+SViFpqOaEL+GA11z8l8/pBuEPosil8o+EG/5RR0Xb
         V8jw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=/J3MM/+6FfTfKM3cmdBHdtr7z2aM1jfUFsSHKbnOeW4=;
        fh=XPwOTaEPrdk2pN2RgjfihMkJ4NQu8t1nAUIywJrC5RY=;
        b=heq6GNTtt2igt7l3nbx6S/+bMJ6tV30Y10eGrAK0Y844eBggCK6U1fZW/tbVTnSTsU
         T34cLZ+F13xAucZCU3KARO30yq2YG3UIM5qzrLICee76kI8OyngF1O7TZz7KR6eRjKP4
         6VtAuNIZ2oNelBqk9rKNuGn83DnvLgXzdGxMsMQyimI1TFLSiEYd1ibhVDAMIqTuTrNq
         u5buRaodIML0Bym0aQkXZrEbX+p5/rU+wIIDaD0j6mCnIJkg6+vavnRDUZGJ4DPgdYp/
         WEqw56Niceixo/420+WSXF7hRhJWBfNAkel7CXFOjudp67zUlH39cJfPef25bzjAv6jO
         nWDg==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780470503; x=1781075303; 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=/J3MM/+6FfTfKM3cmdBHdtr7z2aM1jfUFsSHKbnOeW4=;
        b=MMXzn+shnpymso0Br80cktbDPfZkmR718BpNSYG3SkbGlsU9+Y060dQhdurFw5SSEt
         /27y1lyXJuMQKWQJ9ZX5UKCWEiA3J5KDhxlj+OA8xnUIngD0qJSEMkvybMP/fSxNF/VR
         RQf/3DCujk96+vz17ONWyaGZxwkhNYZawGBgV2ArLdET+2Hlknar5gVNPTUw53qw9YMD
         cfFd7a4bZDa8iDqdR/lLb+UToLKV+4SuMhzYfy1qGJuq6AdImJHPr2AveX35Fx6A5DvA
         LDSUMPyLkycQBBFPElx5fo+ZlhfuJIsTustZzzJvYPqQ6YYtvW9Ls4ywEBOPBm8VaT+b
         Awdw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780470503; x=1781075303;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=/J3MM/+6FfTfKM3cmdBHdtr7z2aM1jfUFsSHKbnOeW4=;
        b=bI3s+985XvZzEU1Cpx2JE+YqJYVuJrU/p1E0SThn9iv4d6OOyDJ6M1zMsPTTlsGvWb
         68uWy+BaQlscDIO8rP1ic3DfUdZ7SWBt9TqjW/1uBJmhSERkLdbhEundxpqr/DpkSer0
         WO0Rw+3kan7V1pgwsS/aqFSlQw9YCiR3babh7IzrcXahJjEi9JYvmdtDJOZg6hdq+jd6
         /bHKrh9P2soBOzkOakMO69dB4Aez/wZsF6sqWdw92ReBnjZ7PgkG72AuzbistUX+clSO
         8iJSYNFTnOG8Egs6NMgDRnVYIu4klewOij1DVT0m6h26gNmfa/Pbtb8BEGWMb5anrzEa
         j0wQ==
X-Gm-Message-State: AOJu0YyOL2yNa+ghGQjaC3TBhGWA0Cy8SZNNG0OtWtRODZeSL0dCUDv1
	zTFLr0pAE56CsRFRFmvTcQOyy4hwXNabUnRUFeXQaioYSOz6xscF12E/47mlW+j0n4qje4dRcPB
	5/Ef7QfJpbledGW5LudKdjzA+mwpl/Ko=
X-Gm-Gg: Acq92OF17FGXT6/SpZWQHeMikn2QBPvVE/Aib8d96U5S6C75DIeTbOSxf/PRukYcYGU
	zppPAzxQ2E8eALvw3uQKCUFlTdaM3/5+gSLXApmcrbjQtmX9MKLNXUwg7v93COoki3mDHsR4WRb
	X0FuDZY1r68dqQdCN/tKwrhaMEVMLRme4WYeUV5RER697f04QT4SHZvzad9s3ulix+n+YdizDrB
	e918eD/FrdAWvW+ma8vYwknPCHRR2OviftJXy8ku1TymlFvDcHvWHaK0RyHGi3Wx4ExhvC36LIC
	zF6BQi5vdRTm+B3m
X-Received: by 2002:a05:6512:66da:b0:5aa:6aac:3f7f with SMTP id
 2adb3069b0e04-5aa7c0ebcf0mr519705e87.22.1780470502603; Wed, 03 Jun 2026
 00:08:22 -0700 (PDT)
MIME-Version: 1.0
References: <4f862bb2dc323914b8120b0f16af7516140cf42b.1780065103.git.mykola_kvach@epam.com>
 <8d8b72d2-8188-4148-9812-0c116cc330e4@amd.com>
In-Reply-To: <8d8b72d2-8188-4148-9812-0c116cc330e4@amd.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Wed, 3 Jun 2026 10:08:11 +0300
X-Gm-Features: AVHnY4KiHOlSPh_Uwu_pPmNkoBjDxhuwQdUQ_VwW_jf3b74Vi0QPg8-MXl_93vQ
Message-ID: <CAGeoDV_FVddfvw3O9z1vRyZNp0hd+qEVSBtuyE4zpZeLQfLs0w@mail.gmail.com>
Subject: Re: [PATCH for-4.22] device-tree: validate first hwdom bank for boot modules
To: "Orzel, Michal" <michal.orzel@amd.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>, 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>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-720697/1780470503-AB762161-4E1E103D/0/0
X-purgate-type: clean
X-purgate-size: 20135

Hi Michal,

Thank you for the detailed review.

On Tue, Jun 2, 2026 at 12:06=E2=80=AFPM Orzel, Michal <michal.orzel@amd.com=
> wrote:
>
>
>
> On 29-May-26 17:10, Mykola Kvach wrote:
> > From: Mykola Kvach <mykola_kvach@epam.com>
> >
> > With LLC coloring enabled, the hardware domain memory is allocated by
> > allocate_hwdom_memory() rather than by using the fixed direct-map layou=
t.
> >
> > Commit de99f3263555 ("device-tree: Improve hwdom memory allocation for
> > DMA") made that allocator prefer lower host regions. The first-bank
> > filter, however, still only checked the old 128MB heuristic. A low
> > region can satisfy that heuristic but still be too small, or otherwise
> > unsuitable, for the hardware-domain kernel and the DTB/initrd module
> > area to fit in bank 0 according to the Arm placement rules.
> >
> > Keep the existing first-bank size policy and add an architecture-specif=
ic
> > candidate check. On Arm, compute the kernel load address for the candid=
ate
> > bank using the same logic as kernel_zimage_place(), verify that the ker=
nel
> > range is covered by that bank, and then reuse the same module-placement
> > helper as place_modules(). The FDT is generated later, so use the
> > hardware-domain FDT allocation size as a conservative upper bound for t=
he
> > final DTB size.
> >
> > Check the candidate after capping the host region by the remaining
> > unassigned hardware-domain memory, so the validation is performed again=
st
> > the size that would actually become bank 0.
> >
> > This keeps the DMA-oriented allocation policy from de99f3263555 while
> > preventing a too-small bank 0 from reaching place_modules().
> >
> > Fixes: de99f3263555 ("device-tree: Improve hwdom memory allocation for =
DMA")
> > Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> > ---
> > Changes since RFC:
> > - Do not keep the RFC scalar minimum-size check. It can both reject
> >   valid layouts and accept layouts which still fail later. Instead,
> >   validate the candidate bank using the same kernel and module placemen=
t
> >   rules as the load path.
> >   Replace the scalar minimum-size check with arch_hwdom_first_bank_ok()=
.
> > - Reuse the existing Arm kernel and DTB/initrd placement rules for the
> >   first-bank candidate check.
> > - Treat the hardware-domain FDT allocation size as a conservative upper
> >   bound because the final FDT is generated later.
> >
> > Link to RFC:
> >    https://patchew.org/Xen/9ae4f7dd49f5b1f761193adae573c2675c92e883.177=
9051035.git.mykola._5Fkvach@epam.com/
> >
> > Why the RFC scalar approach was not kept:
> >
> > A simple minimum-size check is not sufficient here because the validity=
 of
> > the first bank depends on the actual Arm placement rules, not only on t=
he
> > aggregate size of the kernel, DTB and initrd. The DTB/initrd area may f=
it
> > before a 64-bit Image loaded with a text offset, while an AArch32
> > position-independent kernel may leave no valid module location even whe=
n
> > the aggregate size appears to fit. Fixed-address kernels also need the
> > candidate bank start to be considered.
> >
> > Link to synthetic tests output:
> >    https://gitlab.com/xen-project/people/mykola_kvach/xen/-/blob/fix/hw=
dom-first-bank-dom0-modules-v2-new/tools/tests/arm-boot-modules/test-arm-bo=
ot-modules.log?ref_type=3Dheads
> >
> > ---
> >  xen/arch/arm/acpi/domain_build.c        |   2 -
> >  xen/arch/arm/domain_build.c             |   8 ++
> >  xen/arch/arm/include/asm/domain_build.h |   4 +
> >  xen/arch/arm/include/asm/kernel.h       |   9 ++
> >  xen/arch/arm/kernel.c                   | 179 ++++++++++++++++++------
> >  xen/common/device-tree/domain-build.c   |  24 +++-
> >  xen/include/xen/fdt-kernel.h            |   9 ++
> >  7 files changed, 182 insertions(+), 53 deletions(-)
> >
> > diff --git a/xen/arch/arm/acpi/domain_build.c b/xen/arch/arm/acpi/domai=
n_build.c
> > index 249d899c33..db16f7fa94 100644
> > --- a/xen/arch/arm/acpi/domain_build.c
> > +++ b/xen/arch/arm/acpi/domain_build.c
> > @@ -26,8 +26,6 @@
> >  #undef virt_to_mfn
> >  #define virt_to_mfn(va) _mfn(__virt_to_mfn(va))
> >
> > -#define ACPI_DOM0_FDT_MIN_SIZE 4096
> > -
> >  static int __init acpi_iomem_deny_access(struct domain *d)
> >  {
> >      acpi_status status;
> > diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> > index 1efddc60ef..550617f152 100644
> > --- a/xen/arch/arm/domain_build.c
> > +++ b/xen/arch/arm/domain_build.c
> > @@ -115,6 +115,14 @@ int __init parse_arch_dom0_param(const char *s, co=
nst char *e)
> >                               (IS_ENABLED(CONFIG_STATIC_SHM) ?         =
\
> >                                (NR_SHMEM_BANKS * (160 + 16)) : 0))
> >
> > +paddr_t __init hwdom_get_fdt_alloc_size(void)
> > +{
> > +    if ( acpi_disabled )
> > +        return fdt_totalsize(device_tree_flattened) + DOM0_FDT_EXTRA_S=
IZE;
> > +
> > +    return ACPI_DOM0_FDT_MIN_SIZE;
> > +}
> > +
> >  unsigned int __init dom0_max_vcpus(void)
> >  {
> >      if ( opt_dom0_max_vcpus =3D=3D 0 )
> > diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/inc=
lude/asm/domain_build.h
> > index df8b361b3d..85cf46a958 100644
> > --- a/xen/arch/arm/include/asm/domain_build.h
> > +++ b/xen/arch/arm/include/asm/domain_build.h
> > @@ -19,6 +19,10 @@ int prepare_acpi(struct domain *d, struct kernel_inf=
o *kinfo);
> >
> >  int add_ext_regions(unsigned long s_gfn, unsigned long e_gfn, void *da=
ta);
> >
> > +#define ACPI_DOM0_FDT_MIN_SIZE 4096
> > +
> > +paddr_t hwdom_get_fdt_alloc_size(void);
> > +
> >  #if defined(CONFIG_MPU) && defined(CONFIG_ARM_64)
> >  /* Utility function to determine if an Armv8-R processor supports VMSA=
. */
> >  bool has_v8r_vmsa_support(void);
> > diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/a=
sm/kernel.h
> > index 21f4273fa1..bf14fb208a 100644
> > --- a/xen/arch/arm/include/asm/kernel.h
> > +++ b/xen/arch/arm/include/asm/kernel.h
> > @@ -8,12 +8,21 @@
> >
> >  #include <asm/domain.h>
> >
> > +#include <xen/types.h>
> > +
> > +struct kernel_info;
> > +
> >  struct arch_kernel_info
> >  {
> >      /* Enable pl011 emulation */
> >      bool vpl011;
> >  };
> >
> > +#define arch_hwdom_first_bank_ok arch_hwdom_first_bank_ok
> > +bool arch_hwdom_first_bank_ok(const struct kernel_info *info,
> > +                              paddr_t bank_start,
> > +                              paddr_t bank_size);
> > +
> >  #endif /* #ifdef __ARCH_ARM_KERNEL_H__ */
> >
> >  /*
> > diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
> > index b72585b7fe..907239a246 100644
> > --- a/xen/arch/arm/kernel.c
> > +++ b/xen/arch/arm/kernel.c
> > @@ -40,27 +40,67 @@ struct minimal_dtb_header {
> >      /* There are other fields but we don't use them yet. */
> >  };
> >
> > -static void __init place_modules(struct kernel_info *info,
> > -                                 paddr_t kernbase, paddr_t kernend)
> > +static paddr_t __init
> > +kernel_zimage_place_in_bank(const struct kernel_info *info,
> > +                            paddr_t bank_start, paddr_t bank_size)
> >  {
> > -    /* Align DTB and initrd size to 2Mb. Linux only requires 4 byte al=
ignment */
> > -    const struct boot_module *mod =3D info->bd.initrd;
> > -    const struct membanks *mem =3D kernel_info_get_mem(info);
> > -    const paddr_t initrd_len =3D ROUNDUP(mod ? mod->size : 0, MB(2));
> > -    const paddr_t dtb_len =3D ROUNDUP(fdt_totalsize(info->fdt), MB(2))=
;
> > -    const paddr_t modsize =3D initrd_len + dtb_len;
> > +    paddr_t load_addr;
> >
> > -    /* Convenient */
> > -    const paddr_t rambase =3D mem->bank[0].start;
> > -    const paddr_t ramsize =3D mem->bank[0].size;
> > -    const paddr_t ramend =3D rambase + ramsize;
> > +#ifdef CONFIG_HAS_DOMAIN_TYPE
> > +    if ( (info->type =3D=3D DOMAIN_64BIT) && (info->image.start =3D=3D=
 0) )
> > +        return bank_start + info->image.text_offset;
> > +#endif
> > +
> > +    /*
> > +     * If start is zero, the zImage is position independent, in this
> > +     * case Documentation/arm/Booting recommends loading below 128MiB
> > +     * and above 32MiB. Load it as high as possible within these
> > +     * constraints, while also avoiding the DTB.
> > +     */
> > +    if ( info->image.start =3D=3D 0 )
> > +    {
> > +        paddr_t load_end;
> > +        paddr_t ram128mb;
> > +
> > +        ram128mb =3D bank_start + MB(128);
> > +        load_end =3D bank_start + bank_size;
> > +        load_end =3D min(ram128mb, load_end);
> > +
> > +        if ( load_end - bank_start < info->image.len )
> > +            return INVALID_PADDR;
> > +
> > +        load_addr =3D load_end - info->image.len;
> > +        /* Align to 2MB */
> > +        load_addr &=3D ~(MB(2) - 1);
> > +        if ( load_addr < bank_start )
> > +            return INVALID_PADDR;
> > +    }
> > +    else
> > +        load_addr =3D info->image.start;
> > +
> > +    return load_addr;
> > +}
> > +
> > +static bool __init
> > +first_bank_has_enough_room(paddr_t ramsize, paddr_t kernbase,
> > +                           paddr_t kernend, paddr_t modsize)
> How about first_bank_can_fit_modules()? The name would be more descriptiv=
e.

Ack.

>
> > +{
> >      const paddr_t kernsize =3D ROUNDUP(kernend, MB(2)) - kernbase;
> > -    const paddr_t ram128mb =3D rambase + MB(128);
> >
> > -    paddr_t modbase;
> > +    /*
> > +     * Check only the aggregate kernel/module footprint. The actual DT=
B/initrd
> > +     * location is selected by find_module_placement().
> I don't particularly like that we call dtb+initrd modules while kernel is=
 also a
> module. How about renaming to find_dtb_initrd_placement()? This will impr=
ove the
> readability by a lot. We could also rename place_modules() to
> place_dtb_initrd_modules() or just place_dtb_initrd().

Ack.

>
> > +     */
> > +    return modsize + kernsize <=3D ramsize;
> > +}
> >
> > -    if ( modsize + kernsize > ramsize )
> > -        panic("Not enough memory in the first bank for the kernel+dtb+=
initrd\n");
> > +static bool __init
> > +find_module_placement(paddr_t rambase, paddr_t ramsize,
> > +                      paddr_t kernbase, paddr_t kernend,
> > +                      paddr_t modsize, paddr_t *modbase)
> > +{
> > +    const paddr_t ramend =3D rambase + ramsize;
> Instead of passing ramsize, pass ramend right away to avoid this line (si=
milar
> to kernbase, kernend).

Ack.

>
> > +    const paddr_t ram128mb =3D rambase + MB(128);
> >
> >      /*
> >       * DTB must be loaded such that it does not conflict with the
> > @@ -80,17 +120,49 @@ static void __init place_modules(struct kernel_inf=
o *info,
> >       * tools/libxc/xc_dom_arm.c:arch_setup_meminit as well.
> This is a stale path. Please update to tools/libs/guest/xg_dom_arm.c:memi=
nit

Ack.

>
> >       */
> >      if ( ramend >=3D ram128mb + modsize && kernend < ram128mb )
> > -        modbase =3D ram128mb;
> > -    else if ( ramend - modsize > ROUNDUP(kernend, MB(2)) )
> > -        modbase =3D ramend - modsize;
> > -    else if ( kernbase - rambase > modsize )
> > -        modbase =3D kernbase - modsize;
> > -    else
> >      {
> > -        panic("Unable to find suitable location for dtb+initrd\n");
> > -        return;
> > +        *modbase =3D ram128mb;
> Do we need this extra variable? Can't we just *modbase =3D rambase + MB(1=
28)?

Yes, we can. The variable is not needed for correctness. I kept it to
name the 128MB placement boundary and to make the condition and the
assignment use exactly the same value.

I can inline it in the next version if you prefer, although I think the
named boundary is a little clearer than:

if ( ramend >=3D rambase + MB(128) + modsize && kernend < rambase + MB(128)=
 )
{
    *modbase =3D rambase + MB(128);

>
> > +        return true;
> > +    }
> > +
> > +    if ( ramend - modsize > ROUNDUP(kernend, MB(2)) )
> > +    {
> > +        *modbase =3D ramend - modsize;
> > +        return true;
> > +    }
> > +
> > +    if ( kernbase - rambase > modsize )
> > +    {
> > +        *modbase =3D kernbase - modsize;
> > +        return true;
> >      }
> >
> > +    return false;
> > +}
> > +
> > +static void __init place_modules(struct kernel_info *info,
> > +                                 paddr_t kernbase, paddr_t kernend)
> > +{
> > +    /* Align DTB and initrd size to 2Mb. Linux only requires 4 byte al=
ignment */
> > +    const struct boot_module *mod =3D info->bd.initrd;
> > +    const struct membanks *mem =3D kernel_info_get_mem(info);
> > +    const paddr_t initrd_len =3D ROUNDUP(mod ? mod->size : 0, MB(2));
> > +    const paddr_t dtb_len =3D ROUNDUP(fdt_totalsize(info->fdt), MB(2))=
;
> > +    const paddr_t modsize =3D initrd_len + dtb_len;
> > +
> > +    /* Convenient */
> > +    const paddr_t rambase =3D mem->bank[0].start;
> > +    const paddr_t ramsize =3D mem->bank[0].size;
> > +
> > +    paddr_t modbase;
> > +
> > +    if ( !first_bank_has_enough_room(ramsize, kernbase, kernend, modsi=
ze) )
> > +        panic("Not enough memory in the first bank for the kernel+dtb+=
initrd\n");
> > +
> > +    if ( !find_module_placement(rambase, ramsize, kernbase, kernend, m=
odsize,
> > +                                &modbase) )
> > +        panic("Unable to find suitable location for dtb+initrd\n");
> > +
> >      info->dtb_paddr =3D modbase;
> >      info->initrd_paddr =3D info->dtb_paddr + dtb_len;
> >  }
> > @@ -100,32 +172,51 @@ static paddr_t __init kernel_zimage_place(struct =
kernel_info *info)
> >      const struct membanks *mem =3D kernel_info_get_mem(info);
> >      paddr_t load_addr;
> >
> > -#ifdef CONFIG_HAS_DOMAIN_TYPE
> > -    if ( (info->type =3D=3D DOMAIN_64BIT) && (info->image.start =3D=3D=
 0) )
> > -        return mem->bank[0].start + info->image.text_offset;
> > -#endif
> > +    load_addr =3D kernel_zimage_place_in_bank(info, mem->bank[0].start=
,
> > +                                            mem->bank[0].size);
> > +    if ( load_addr =3D=3D INVALID_PADDR )
> > +        panic("Unable to find suitable location for the kernel\n");
> >
> > +    return load_addr;
> > +}
> > +
> > +bool __init arch_hwdom_first_bank_ok(const struct kernel_info *info,
> > +                                     paddr_t bank_start,
> > +                                     paddr_t bank_size)
> > +{
> > +    const struct boot_module *initrd =3D info->bd.initrd;
> >      /*
> > -     * If start is zero, the zImage is position independent, in this
> > -     * case Documentation/arm/Booting recommends loading below 128MiB
> > -     * and above 32MiB. Load it as high as possible within these
> > -     * constraints, while also avoiding the DTB.
> > +     * place_modules() rounds the DTB and initrd placement to 2MB boun=
daries;
> > +     * use the same granularity when checking whether the first bank c=
an hold
> > +     * the boot modules.
> >       */
> > -    if ( info->image.start =3D=3D 0 )
> > -    {
> > -        paddr_t load_end;
> > +    const paddr_t initrd_len =3D ROUNDUP(initrd ? initrd->size : 0, MB=
(2));
> > +    /*
> > +     * The hardware domain FDT has not been generated yet. Use the all=
ocation
> > +     * size as a conservative upper bound for the final DTB size.
> > +     */
> > +    const paddr_t dtb_len =3D ROUNDUP(hwdom_get_fdt_alloc_size(), MB(2=
));
> > +    const paddr_t rambase =3D bank_start;
> > +    const paddr_t ramsize =3D bank_size;
> > +    const paddr_t modsize =3D initrd_len + dtb_len;
> > +    const paddr_t ramend =3D rambase + ramsize;
> > +    paddr_t kernbase;
> > +    paddr_t kernend;
> > +    paddr_t modbase;
> >
> > -        load_end =3D mem->bank[0].start + mem->bank[0].size;
> > -        load_end =3D MIN(mem->bank[0].start + MB(128), load_end);
> > +    kernbase =3D kernel_zimage_place_in_bank(info, bank_start, bank_si=
ze);
> > +    if ( kernbase =3D=3D INVALID_PADDR ||
> > +         info->image.len > INVALID_PADDR - kernbase )
> > +        return false;
> >
> > -        load_addr =3D load_end - info->image.len;
> > -        /* Align to 2MB */
> > -        load_addr &=3D ~((2 << 20) - 1);
> > -    }
> > -    else
> > -        load_addr =3D info->image.start;
> > +    kernend =3D kernbase + info->image.len;
> >
> > -    return load_addr;
> > +    if ( kernbase < rambase || kernend > ramend )
> > +        return false;
> > +
> > +    return first_bank_has_enough_room(ramsize, kernbase, kernend, mods=
ize) &&
> > +           find_module_placement(rambase, ramsize, kernbase, kernend, =
modsize,
> > +                                 &modbase);
> >  }
> >
> >  static void __init kernel_zimage_load(struct kernel_info *info)
> > diff --git a/xen/common/device-tree/domain-build.c b/xen/common/device-=
tree/domain-build.c
> > index 2a760b007b..25bc392fea 100644
> > --- a/xen/common/device-tree/domain-build.c
> > +++ b/xen/common/device-tree/domain-build.c
> > @@ -299,20 +299,30 @@ static bool __init allocate_hwdom_memory(struct k=
ernel_info *kinfo)
> >
> >      for ( i =3D 0; (kinfo->unassigned_mem > 0) && (i < nr_banks); i++ =
)
> >      {
> > -        paddr_t bank_size;
> > +        const paddr_t bank_start =3D hwdom_free_mem->bank[i].start;
> > +        paddr_t bank_size =3D hwdom_free_mem->bank[i].size;
> > +
> > +        /*
> > +         * Check the size that would actually be assigned, not just th=
e size
> > +         * of the host region.
> > +         */
> > +        bank_size =3D min(bank_size, kinfo->unassigned_mem);
> >
> >          /*
> >           * The first bank must be large enough for place_modules() to
> >           * fit the kernel, DTB and initrd.  Skip small regions to avoi=
d
> >           * ending up with a tiny first bank.
> >           */
> > -        if ( !mem->nr_banks && (hwdom_free_mem->bank[i].size < min_ban=
k_size) )
> > -            continue;
> > +        if ( !mem->nr_banks )
> > +        {
> > +            if ( bank_size < min_bank_size )
> > +                continue;
> > +
> > +            if ( !arch_hwdom_first_bank_ok(kinfo, bank_start, bank_siz=
e) )
> > +                continue;
> > +        }
> >
> > -        bank_size =3D MIN(hwdom_free_mem->bank[i].size, kinfo->unassig=
ned_mem);
> > -        if ( !allocate_bank_memory(kinfo,
> > -                                   gaddr_to_gfn(hwdom_free_mem->bank[i=
].start),
> > -                                   bank_size) )
> > +        if ( !allocate_bank_memory(kinfo, gaddr_to_gfn(bank_start), ba=
nk_size) )
> >          {
> >              xfree(hwdom_free_mem);
> >              return false;
> > diff --git a/xen/include/xen/fdt-kernel.h b/xen/include/xen/fdt-kernel.=
h
> > index 00c37be101..86f2a69ede 100644
> > --- a/xen/include/xen/fdt-kernel.h
> > +++ b/xen/include/xen/fdt-kernel.h
> > @@ -93,6 +93,15 @@ kernel_info_get_mem_const(const struct kernel_info *=
kinfo)
> >      return container_of(&kinfo->mem.common, const struct membanks, com=
mon);
> >  }
> >
> > +#ifndef arch_hwdom_first_bank_ok
> > +static inline bool
> > +arch_hwdom_first_bank_ok(const struct kernel_info *info, paddr_t bank_=
start,
> > +                         paddr_t bank_size)
> > +{
> > +    return true;
> > +}
> > +#endif
> > +
> >  #ifndef KERNEL_INFO_SHM_MEM_INIT
> >
> >  #ifdef CONFIG_STATIC_SHM
>
> I would prefer if this patch was split into refactoring (e.g. split
> place_modules() into functions later on used by patch 2) + hwdom fix (2
> patches). The first patch would also fit the rename I suggested.

Yes, that makes sense. I will split this in v2: first a
behavior-preserving refactoring patch, including the rename you
suggested, and then a second patch with the actual hwdom first-bank fix.

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 07:14:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 07:14:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325769.1591094 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUfnc-0006h2-3m; Wed, 03 Jun 2026 07:14:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325769.1591094; Wed, 03 Jun 2026 07: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 1wUfnc-0006gv-0p; Wed, 03 Jun 2026 07:14:00 +0000
Received: by outflank-mailman (input) for mailman id 1325769;
 Wed, 03 Jun 2026 07:13:59 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <vijayanand.jitta@oss.qualcomm.com>)
 id 1wUfna-0006gp-NK
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 07:13:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUfnZ-005uCj-VJ
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 09:13:58 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <vijayanand.jitta@oss.qualcomm.com>)
 id 6a1fd42e-bab6-0a2a0a5309dd-0a2a4508d942-24
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 09:13:57 +0200
Received: from [205.220.180.131] (helo=mx0b-0031df01.pphosted.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <vijayanand.jitta@oss.qualcomm.com>)
 id 6a1fd434-63b5-0a2a45080019-cddcb4830922-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 09:13:57 +0200
Received: from pps.filterd (m0279873.ppops.net [127.0.0.1])
 by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 6536v6Js1755366
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 07:13:55 GMT
Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com
 [209.85.214.197])
 by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ejff0029q-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 07:13:55 +0000 (GMT)
Received: by mail-pl1-f197.google.com with SMTP id
 d9443c01a7336-2c0d0516ad7so36094675ad.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 00:13:55 -0700 (PDT)
Received: from hu-vjitta-hyd.qualcomm.com ([202.46.23.25])
 by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-2c164f8429fsm17249725ad.18.2026.06.03.00.13.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 00:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=qcppdkim1 header.d=qualcomm.com header.i="@qualcomm.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:Message-Id:MIME-Version:Subject:To"; dkim=pass header.s=google header.d=oss.qualcomm.com header.i="@oss.qualcomm.com" header.h="Cc:To:Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
	cc:content-transfer-encoding:content-type:date:from:message-id
	:mime-version:subject:to; s=qcppdkim1; bh=a90V1I1+DRANjjP0Y4PAIs
	EY9nHVftwWmZpEDYnlklE=; b=kBuLX+pWYaJODgNPBQaQuHB4h9D/x4GNB5grET
	aS0VYppmZ9NM5T2jQ3MilDj/uPWDeheHshsvCcmqAxn2XqctjV0pe7C7gKAurCk3
	AveUvPBtHda8UHWP6uwTwChCxJfupMjGmJp8BNbIF4xXxK5y78Bo2Qe8IGlu95zy
	VW346GYSYoRSsokJPcYqFLRh38B4tNkheZFt95JYQ89wN3a5O9kMkmS8WlDy5jhl
	VEpc5iHLAYwNrnSFWdGNo/05AdDAKx54fpXXbzfclf93Afz4IQuCTz5n0DOMEpCn
	7V9+wCorH4hX7LXV87P6aZSS0MyP3L4HEfdn9HZKwWZr840A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=oss.qualcomm.com; s=google; t=1780470834; x=1781075634; darn=lists.xenproject.org;
        h=cc:to:content-transfer-encoding:mime-version:message-id:date
         :subject:from:from:to:cc:subject:date:message-id:reply-to;
        bh=a90V1I1+DRANjjP0Y4PAIsEY9nHVftwWmZpEDYnlklE=;
        b=JOz6lCyXqFrHYbnH/380gtbwl/t1aroZR/5X4nWARz/Aa/g3XSNfkEizLOg04uhemZ
         sS4uW16UTamTDdIFMBfA8/pRzOM+hSfbUeJbZmoG7Xgfv9oslWieOjYj2n7sxgsDuGBx
         AqIb9tQvAln+Lx2hFBtuKjQ91oApFk3GDsZrqwDY3m36tSSwcI0DWGebB3RkVCrNjEJg
         5D0cOifzCudvAMDjPQfLeXvcnESJqRAKb1m+DNJ8R38jglZz73oIkDPMxLEHDZzzkY6R
         1kLzIhxNdI0SqKqTDNHPK3MdB+lAg5eeQKIBECGNpGiYkUK1gJhpavgiyAqkQMHuGVoU
         eMcw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780470834; x=1781075634;
        h=cc:to:content-transfer-encoding:mime-version:message-id:date
         :subject:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=a90V1I1+DRANjjP0Y4PAIsEY9nHVftwWmZpEDYnlklE=;
        b=FBkpcSZ/wMIY0sIfdZfYafKfuzaIKYbCP1e09qGPsVW43vwDK5sfPMxwMgtePkbrfz
         OC5D9Iv0gN9BAIHcF0Jgh7kNklA9yKRELpTVuT9aFnY/pGmKPWcSfwMOOBRax3KAo2E+
         4/VQMZzOL6akS8noB7S+9ZJMSe+83rCjDB+BMo9K63vzh65G3B04qr/W/2Q0LZKUicF8
         LntCRMwYR7pERMvQXIVIb3eugdk4Bu9BV162Ziv/lwCP0027KXW2P4xvRQ8nRDdXEPZh
         ntlwKPMFewH0Iz3ibhgZEz5ln9iEc5Px6S9zQSetk/6kN8cS+NUsTeaWpanqk0mn8ilL
         QXaw==
X-Forwarded-Encrypted: i=1; AFNElJ/mfyuTcujvNPG39pu+yeHO7aGS4n8jruTXFy38gB6w9g9Ah+rkKejxn/8IXt4DWI9o0Km5xf4Q7co=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yww0CVnhHnG/WTA82WcmxtLr+CSJC4dB+47Ax2Vn3l0u0BbU3mB
	spVsMizD5+9XgQjoTrL8mKT0EzHJ6ScIDzGJrEZAh7cCy0Bwudjps5MSRqIVxYiECnMzTZhS4k2
	/K9eTwqb8LzxmDRBPaq6M64WnTrC9DeAwIyxfVOKfyrSqNoHsS8qCxFR5UpbOxOvyS1p7sw==
X-Gm-Gg: Acq92OHpQaLtk+KXBXYSE0fO3oV8lzLO0WdUasqhWpgyQmelxFcQtakxehtmtV9T53W
	G9GjphgLxgCwmQdBT2pvC5G6wsOpba+4LXV9dJ84Eo5urcZ9dEND9QZSfjAsHV7R8+4wfwploP4
	a74N6pg+ufN80xZJOPMbgfIC+Rdy7OQ0wRBPB2Xnx771mSrzeHZW0NLkOf7cqHQtbQmnL3ODoKW
	rAcH+NUt3Ea02G5SB/aFPRQc+gdnBLwt77Jq9fIDeFG15dnlV3zzM+/Olm5wO6vBe4dn/fps751
	8nXVq4sxRyQC8QzRNoXoCniN3tNVKtECHphU5pxxbB1yUeOWi+mb03urd1y+FpdGHmnfE6lhnrb
	vkSXkdlkLSMOYVBjDaXH7P1yVFO86fv+vsPH+i5zBTWblBDFje73HwTnuSul+zbf3GFQ=
X-Received: by 2002:a17:903:2ac7:b0:2b4:6d92:b002 with SMTP id d9443c01a7336-2c1643aafcbmr22605065ad.37.1780470834370;
        Wed, 03 Jun 2026 00:13:54 -0700 (PDT)
X-Received: by 2002:a17:903:2ac7:b0:2b4:6d92:b002 with SMTP id d9443c01a7336-2c1643aafcbmr22604615ad.37.1780470833821;
        Wed, 03 Jun 2026 00:13:53 -0700 (PDT)
From: Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>
Subject: [PATCH v16 0/3] of: parsing of multi #{iommu,msi}-cells in maps
Date: Wed, 03 Jun 2026 12:43:11 +0530
Message-Id: <20260603-parse_iommu_cells-v16-0-dc509dacb19a@oss.qualcomm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-B4-Tracking: v=1; b=H4sIAAfUH2oC/33QzWrDMAwA4FcpPi/F8l/jnfYeYxRFlldD2nTxG
 jZK3n1OL83B2UUgIX1CuovMY+IsXnd3MfKUchouJQH3shN0wssnNymUglBSOaklNFccMx/TcD7
 fjsR9nxsgrQ+uRe46FGXuOnJMPw/0/aPkp5S/h/H3sWPyS/U/bfKNbEyAjpiJLMPbkPP+64Y9l
 a59CWJBJ5BrydckkIUipyIhWoTQblGwopStUlAoiBzRkuRW0RalVpSu3geqUIEpBi0tM/otSj8
 pI9sqpQsV0Stgr5yDbosyK0qZKmUWKkgVATpHevNX9klZJauULVRno/cYDB+4Rs3z/Ad2ByTlf
 AIAAA==
X-Change-ID: 20260301-parse_iommu_cells-1c33768aebba
To: Nipun Gupta <nipun.gupta@amd.com>, Nikhil Agarwal <nikhil.agarwal@amd.com>,
        Joerg Roedel <joro@8bytes.org>, Will Deacon <will@kernel.org>,
        Robin Murphy <robin.murphy@arm.com>,
        Lorenzo Pieralisi <lpieralisi@kernel.org>,
        Marc Zyngier <maz@kernel.org>, Thomas Gleixner <tglx@kernel.org>,
        Rob Herring <robh@kernel.org>, Saravana Kannan <saravanak@kernel.org>,
        Richard Zhu <hongxing.zhu@nxp.com>,
        Lucas Stach <l.stach@pengutronix.de>,
        =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= <kwilczynski@kernel.org>,
        Manivannan Sadhasivam <mani@kernel.org>,
        Bjorn Helgaas <bhelgaas@google.com>, Frank Li <Frank.Li@nxp.com>,
        Sascha Hauer <s.hauer@pengutronix.de>,
        Pengutronix Kernel Team <kernel@pengutronix.de>,
        Fabio Estevam <festevam@gmail.com>, Juergen Gross <jgross@suse.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
        iommu@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
        devicetree@vger.kernel.org, linux-pci@vger.kernel.org,
        imx@lists.linux.dev, xen-devel@lists.xenproject.org,
        Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>,
        Charan Teja Kalla <charan.kalla@oss.qualcomm.com>,
        Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
X-Mailer: b4 0.15.2
X-Developer-Signature: v=1; a=ed25519-sha256; t=1780470825; l=13317;
 i=vijayanand.jitta@oss.qualcomm.com; s=20260301; h=from:subject:message-id;
 bh=Apl5n/Pzjd9vmSQSRMgkpTLVqhSrFq2QSBpaHbx7a8I=;
 b=QFGRXpY+qWmK+T7ctaWDbrINLCs1a9+0pUeDE1gl/BFcv55CiE90+ngTegwN4D1pcQzq3q59E
 NMVAa6JhzU8AzrSXEKGgT9s2yVMyWrIE5DzBeuN0+uwPYqDe9KB2fVF
X-Developer-Key: i=vijayanand.jitta@oss.qualcomm.com; a=ed25519;
 pk=Lpi7Cs3wHe8KZtqvyci7FTOLzsKpEHKGCaPNZw+1zRI=
X-Proofpoint-GUID: XjEzwdZtYCqFERNB0WC9zneoi4ipOTwN
X-Proofpoint-ORIG-GUID: XjEzwdZtYCqFERNB0WC9zneoi4ipOTwN
X-Authority-Analysis: v=2.4 cv=LYwMLDfi c=1 sm=1 tr=0 ts=6a1fd433 cx=c_pps
 a=cmESyDAEBpBGqyK7t0alAg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17
 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22
 a=VwQbUJbxAAAA:8 a=COk6AnOGAAAA:8 a=NEAV23lmAAAA:8 a=EUspDBNiAAAA:8
 a=c92rfblmAAAA:8 a=bC-a23v3AAAA:8 a=zd2uoN0lAAAA:8 a=tA7aZXjiAAAA:8
 a=7CQSdrXTAAAA:8 a=8AirrxEcAAAA:8 a=1XWaLZrsAAAA:8 a=pGLkceISAAAA:8
 a=iox4zFpeAAAA:8 a=DBfv99YmAAAA:8 a=JfrnYn6hAAAA:8 a=cWRNjhkoAAAA:8
 a=HuIPyozGVqDkMI16_zEA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22
 a=TjNXssC_j7lpFel5tvFf:22 a=GvGzcOZaWPEFPQC_NcjD:22 a=FO4_E8m0qiDe52t0p3_H:22
 a=kIIFJ0VLUOy1gFZzwZHL:22 a=a-qgeE7W1pNrGK8U0ZQC:22 a=ST-jHhOKWsTCqRlWije3:22
 a=WzC6qhA0u3u7Ye7llzcV:22 a=1CNFftbPRP8L7MoqJWF3:22 a=sVa6W5Aao32NNC1mekxh:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAzMDA2NiBTYWx0ZWRfX2xkTi5w8TOIL
 83he/cv4Nl/UPYHFGVjzUouRcxg9l/g6qV8IEfIu1rYIGrFYdWAxFx4R7ANiYUX5QTXvAsutsWv
 t5DAHR0c/P+EfODfLQM/en2FIZ1vFYpLWpmf73shBC6wjvF/IOlk5I0K4aJDAO3jBtm9snSxkiu
 2dD4OWXENgYeckRaVg8yCjdX3NMJ9kdHRv4V1A40Oscv4Lxzfxfsa8BlcbjXfj8HjrutMkrcSUI
 FYbS3A14sD01GgSoXpDUb0fdepaRXgvtUs2Pvlk0SWjNqBQ36Ac/Nhj2h78UWxh2uASsaDtRpbZ
 Z3hOhhiSoXV1rxdM4/MpejMYApmB/hANGR4uBCX6blXpeFTiV70Cs98/seEfb7JnyTaHiSHvkkB
 amPv+Ss+N0vGwQKdMyQP1kYmpXQSDD1K/dEPSmv3ARoOn+XNY3GbTfoY108BzY0epOOAMmCtEe5
 17u3mb6b0SEFK01p0vg==
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_02,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
 bulkscore=0 clxscore=1015 malwarescore=0 phishscore=0 lowpriorityscore=0
 adultscore=0 impostorscore=0 suspectscore=0 spamscore=0 priorityscore=1501
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606030066
X-purgate-ID: tlsNG-c1860d/1780470837-BF171DB1-A2AD79AC/0/0
X-purgate-type: clean
X-purgate-size: 13319

So far our parsing of {iommu,msi}-map properties has always blindly
assumed that the output specifiers will always have exactly 1 cell.
This typically does happen to be the case, but is not actually enforced
(and the PCI msi-map binding even explicitly states support for 0 or 1
cells) - as a result we've now ended up with dodgy DTs out in the field
which depend on this behaviour to map a 1-cell specifier for a 2-cell
provider, despite that being bogus per the bindings themselves.

Since there is some potential use[1] in being able to map at least
single input IDs to multi-cell output specifiers (and properly support
0-cell outputs as well), add support for properly parsing and using the
target nodes' #cells values, albeit with the unfortunate complication of
still having to work around expectations of the old behaviour too.
							-- Robin.

Unlike single #{}-cell, it is complex to establish a linear relation
between input 'id' and output specifier for multi-cell properties, thus
it is always expected that len never going to be > 1.

These changes have been tested on QEMU for the arm64 architecture and
on the glymur platform [3].

Since, this would also need update in dt-schema, raised PR[2] for the
same.

[1] https://lore.kernel.org/all/20250627-video_cb-v3-0-51e18c0ffbce@quicinc.com/
[2] PR for iommu-map dtschema: https://github.com/devicetree-org/dt-schema/pull/184
[3] https://lore.kernel.org/all/20260515-glymur-v6-5-f6a99cb43a24@oss.qualcomm.com/

V16:
  - Patch 2: Fix potential NULL pointer dereference in of_msi_xlate()
    when msi_np is NULL. Guard the of_check_msi_parent() call with
    "if (msi_np && ...)" to handle the case where the caller passes
    NULL for msi_np, as documented. Reported by Sashiko [1].
  - Patch 2: Fix OF node refcount leak in of_msi_map_get_device_domain():
    np was never released after of_msi_xlate() transferred ownership.
  - Patch 3: Default to 1-cell output specifier when the target node
    lacks the #iommu-cells/#msi-cells property, for backward
    compatibility with controllers that predate the property
    (e.g. arm,gic-v2m-frame). Reported by Sashiko [1].
  - Patch 3: Add !cells_name to the initial parameter guard in
    of_map_id() to prevent a crash if cells_name is NULL.
    Reported by Sashiko [1].

  [1] https://sashiko.dev/#/patchset/20260520-parse_iommu_cells-v15-0-b5f99ad4e7e8@oss.qualcomm.com

  Link to V15:
  https://lore.kernel.org/all/20260520-parse_iommu_cells-v15-0-b5f99ad4e7e8@oss.qualcomm.com/

V15:
  Address Sashiko AI review comments on v14:

  Patch 2:
  - [Critical] pci-imx6: pass &msi_filter (not NULL) to of_map_msi_id()
    so that of_map_id() returns -ENODEV when msi-map is absent, preventing
    the '!err_m && !msi_spec.np' path from incorrectly returning -EINVAL
  - [High] of_map_id(): explicitly set arg->np = NULL before any bypass
    path so callers can safely call of_node_put(arg->np) on all return paths
  - [Medium] of_msi_xlate(): pass msi_np directly to of_map_msi_id() and
    of_check_msi_parent() (removing the local_np/np indirection), and use
    'break' (not 'continue') when msi_spec.np is NULL so that msi-parent
    bindings are still checked when msi-map is present but has no match
  - Guard 'id_out = msi_spec.args[0]' with 'args_count > 0' in
    of_msi_xlate() to correctly handle 0-cell MSI output specifiers
  - Use of_node_get() + unconditional of_node_put() in of_msi_xlate()
    for clearer reference ownership

  Patch 3:
  - [Critical] of_map_id(): add 'cells > MAX_PHANDLE_ARGS' check before
    using cells as an array index to prevent stack buffer overflow
  - [High] of_map_id(): the MAX_PHANDLE_ARGS bound on cells also prevents
    integer overflow in the '3 + cells' length check
  - [High] of_map_id(): fix misleading bad-map workaround message from
    "assuming extra cell of 0" to "treating as 1-cell output" to accurately
    describe the actual behavior
  - [Medium] of_msi_xlate(): guard 'id_out = msi_spec.args[0]' with
    'args_count > 0' to preserve id_in for 0-cell MSI output specifiers

  Link to v14:
  https://patch.msgid.link/20260424-parse_iommu_cells-v14-0-fd02f11b6c38@oss.qualcomm.com

V14:
  - Updated Patch 2 ("of: Factor arguments passed to of_map_id() into a struct") to
    fix below two issues in of_msi_xlate() that were introduced by the API refactoring:

    1) The refactoring changed of_map_id()'s dual-purpose **target parameter to
    an explicit filter_np parameter. In of_msi_xlate(), this caused
    of_map_msi_id() to return 0 (pass-through) instead of -ENODEV when a node
    has no msi-map, terminating the device hierarchy walk prematurely before
    reaching the root complex node that has the msi-map. This broke MSI
    allocation for PCIe endpoint devices (e.g., wcn7850 Wi-Fi on ARM64).

    2) Additionally, fsl_mc_get_msi_id() passes msi_np == NULL to of_msi_xlate(),
    which would dereference NULL with the new API.

  Link to v13:
  https://patch.msgid.link/20260408-parse_iommu_cells-v13-0-fa921e92661b@oss.qualcomm.com

V13:
  - Fix bad_map handling in of_map_id(): 'cells' is re-initialized to 0
    on each loop iteration, so the !bad_map guard was insufficient, cells
    stayed 0 for all entries after the first. Fix by explicitly setting
    cells=1 when bad_map is true on every iteration.
  - Collected Acked-by from Frank Li.

  Link to v12:
  https://patch.msgid.link/20260331-parse_iommu_cells-v12-0-decfd305eea9@oss.qualcomm.com

V12:
  - Call of_node_put() unconditionally in imx_pcie_add_lut_by_rid()
    thereby addressing comments from Bjorn Helgaas.

  Link to v11:
  https://lore.kernel.org/r/20260325-parse_iommu_cells-v11-0-1fefa5c0e82c@oss.qualcomm.com

V11:
  - Added explicit filter_np parameter to of_map_id() and of_map_msi_id()
    per Dmitry Baryshkov's review feedback, making the filter explicit
    instead of overloading arg->np as both input filter and output parameter.
  - Removed of_node_put() from inside of_map_id(), making the caller responsible
    for reference management. Updated of_msi_xlate() to properly handle reference counting.
  - Collected ACKed by tags, and fixed minor typos.
  Link to v10:
  https://lore.kernel.org/r/20260309-parse_iommu_cells-v10-0-c62fcaa5a1d8@oss.qualcomm.com

V10:
  - Move of_map_iommu_id()/of_map_msi_id() from include/linux/of.h to
    drivers/of/base.c as out-of-line helpers per feedback from Marc Zyngier
    and Rob Herring.
  - Add kernel-doc to document both helpers for discoverability and
    usage clarity.
  - Fix of_map_msi_id() wrapper and all its callers (cdx_msi.c,
    irq-gic-its-msi-parent.c, drivers/of/irq.c) to correctly use the new
    struct of_phandle_args-based API with proper of_node_put() handling
    as per feeback from Dmitry.
  Link to v9:
  https://lore.kernel.org/r/20260301-parse_iommu_cells-v9-0-4d1bceecc5e1@oss.qualcomm.com

V9:
  - Updated TO/CC list based on feedback to include all relevant
    maintainers.
  - No functional changes to the patches themselves.

  Link to V8:
  https://lore.kernel.org/all/20260226074245.3098486-1-vijayanand.jitta@oss.qualcomm.com/

V8:
  - Removed mentions of of_map_args from commit message to match code.

  Link to V7:
  https://lore.kernel.org/all/20260210101157.2145113-1-vijayanand.jitta@oss.qualcomm.com/

V7:
  - Removed of_map_id_args structure and replaced it with
    of_phandle_args as suggested by Dmitry.

  Link to V6:
  https://lore.kernel.org/all/20260121055400.937856-1-vijayanand.jitta@oss.qualcomm.com/

V6:
  - Fixed build error reported by kernel test bot.

  Link to V5:
  https://lore.kernel.org/all/20260118181125.1436036-1-vijayanand.jitta@oss.qualcomm.com/

V5:
  - Fixed Build Warnings.
  - Raised PR for iommu-map dtschema: https://github.com/devicetree-org/dt-schema/pull/184

  Link to V4:
  https://lore.kernel.org/all/20251231114257.2382820-1-vijayanand.jitta@oss.qualcomm.com/

V4:
  - Added Reviewed-by tag.
  - Resolved warnings reported by kernel test bot, minor code
    reorganization.

  Link to V3:
  https://lore.kernel.org/all/20251221213602.2413124-1-vijayanand.jitta@oss.qualcomm.com/

V3:
  - Added Reviewed-by tag.
  - Updated of_map_id_args struct as a wrapper to of_phandle_args and
    added comment description as suggested by Rob Herring.

  Link to V2:
  https://lore.kernel.org/all/20251204095530.8627-1-vijayanand.jitta@oss.qualcomm.com/

V2:
  - Incorporated the patches from Robin that does the clean implementation.
  - Dropped the patches the were adding multi-map support from this series
    as suggested.

V1:
 https://lore.kernel.org/all/cover.1762235099.git.charan.kalla@oss.qualcomm.com/

RFC:
 https://lore.kernel.org/all/20250928171718.436440-1-charan.kalla@oss.qualcomm.com/#r

Signed-off-by: Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>
---
To: Nipun Gupta <nipun.gupta@amd.com>
To: Nikhil Agarwal <nikhil.agarwal@amd.com>
To: Joerg Roedel <joro@8bytes.org>
To: Will Deacon <will@kernel.org>
To: Robin Murphy <robin.murphy@arm.com>
To: Lorenzo Pieralisi <lpieralisi@kernel.org>
To: Marc Zyngier <maz@kernel.org>
To: Thomas Gleixner <tglx@kernel.org>
To: Rob Herring <robh@kernel.org>
To: Saravana Kannan <saravanak@kernel.org>
To: Richard Zhu <hongxing.zhu@nxp.com>
To: Lucas Stach <l.stach@pengutronix.de>
To: Krzysztof Wilczy\u0144ski <kwilczynski@kernel.org>
To: Manivannan Sadhasivam <mani@kernel.org>
To: Bjorn Helgaas <bhelgaas@google.com>
To: Frank Li <Frank.Li@nxp.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
To: Pengutronix Kernel Team <kernel@pengutronix.de>
To: Fabio Estevam <festevam@gmail.com>
To: Juergen Gross <jgross@suse.com>
To: Stefano Stabellini <sstabellini@kernel.org>
To: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: linux-arm-msm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: iommu@lists.linux.dev
Cc: linux-arm-kernel@lists.infradead.org
Cc: devicetree@vger.kernel.org
Cc: linux-pci@vger.kernel.org
Cc: imx@lists.linux.dev
Cc: xen-devel@lists.xenproject.org

---

To: Nipun Gupta <nipun.gupta@amd.com>
To: Nikhil Agarwal <nikhil.agarwal@amd.com>
To: Joerg Roedel <joro@8bytes.org>
To: Will Deacon <will@kernel.org>
To: Robin Murphy <robin.murphy@arm.com>
To: Lorenzo Pieralisi <lpieralisi@kernel.org>
To: Marc Zyngier <maz@kernel.org>
To: Thomas Gleixner <tglx@kernel.org>
To: Rob Herring <robh@kernel.org>
To: Saravana Kannan <saravanak@kernel.org>
To: Richard Zhu <hongxing.zhu@nxp.com>
To: Lucas Stach <l.stach@pengutronix.de>
To: Krzysztof Wilczy\u0144ski <kwilczynski@kernel.org>
To: Manivannan Sadhasivam <mani@kernel.org>
To: Bjorn Helgaas <bhelgaas@google.com>
To: Frank Li <Frank.Li@nxp.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
To: Pengutronix Kernel Team <kernel@pengutronix.de>
To: Fabio Estevam <festevam@gmail.com>
To: Juergen Gross <jgross@suse.com>
To: Stefano Stabellini <sstabellini@kernel.org>
To: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: linux-arm-msm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: iommu@lists.linux.dev
Cc: linux-arm-kernel@lists.infradead.org
Cc: devicetree@vger.kernel.org
Cc: linux-pci@vger.kernel.org
Cc: imx@lists.linux.dev
Cc: xen-devel@lists.xenproject.org

---
Charan Teja Kalla (1):
      of: Factor arguments passed to of_map_id() into a struct

Robin Murphy (2):
      of: Add convenience wrappers for of_map_id()
      of: Respect #{iommu,msi}-cells in maps

 drivers/cdx/cdx_msi.c                    |  10 +-
 drivers/iommu/of_iommu.c                 |   6 +-
 drivers/irqchip/irq-gic-its-msi-parent.c |  10 +-
 drivers/of/base.c                        | 227 +++++++++++++++++++++++++------
 drivers/of/irq.c                         |  25 +++-
 drivers/pci/controller/dwc/pci-imx6.c    |  55 ++++----
 drivers/pci/controller/pcie-apple.c      |   6 +-
 drivers/xen/grant-dma-ops.c              |   5 +-
 include/linux/of.h                       |  32 ++++-
 9 files changed, 277 insertions(+), 99 deletions(-)
---
base-commit: e98d21c170b01ddef366f023bbfcf6b31509fa83
change-id: 20260301-parse_iommu_cells-1c33768aebba

Best regards,
--  
Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>

---
Charan Teja Kalla (1):
      of: Factor arguments passed to of_map_id() into a struct

Robin Murphy (2):
      of: Add convenience wrappers for of_map_id()
      of: Respect #{iommu,msi}-cells in maps

 drivers/cdx/cdx_msi.c                    |  10 +-
 drivers/iommu/of_iommu.c                 |   6 +-
 drivers/irqchip/irq-gic-its-msi-parent.c |  10 +-
 drivers/of/base.c                        | 227 +++++++++++++++++++++++++------
 drivers/of/irq.c                         |  32 +++--
 drivers/pci/controller/dwc/pci-imx6.c    |  55 ++++----
 drivers/pci/controller/pcie-apple.c      |   6 +-
 drivers/xen/grant-dma-ops.c              |   5 +-
 include/linux/of.h                       |  32 ++++-
 9 files changed, 282 insertions(+), 101 deletions(-)
---
base-commit: cdf5682bcd98422242d95c4e6c10f9c38bcf56c7
change-id: 20260301-parse_iommu_cells-1c33768aebba

Best regards,
--  
Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 07:14:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 07:14:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325770.1591102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUfnl-0006wV-Dx; Wed, 03 Jun 2026 07:14:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325770.1591102; Wed, 03 Jun 2026 07:14: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 1wUfnl-0006wO-Ao; Wed, 03 Jun 2026 07:14:09 +0000
Received: by outflank-mailman (input) for mailman id 1325770;
 Wed, 03 Jun 2026 07:14:07 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <vijayanand.jitta@oss.qualcomm.com>)
 id 1wUfnj-0006vg-L5
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 07:14:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUfnj-005uHE-1p
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 09:14:07 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <vijayanand.jitta@oss.qualcomm.com>)
 id 6a1fd438-bab6-0a2a0a5309dd-0a2a4502e528-26
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 09:14:06 +0200
Received: from [205.220.180.131] (helo=mx0b-0031df01.pphosted.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <vijayanand.jitta@oss.qualcomm.com>)
 id 6a1fd43c-af86-0a2a45020019-cddcb4834cec-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 09:14:05 +0200
Received: from pps.filterd (m0279870.ppops.net [127.0.0.1])
 by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 6536RVRc1848475
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 07:14:04 GMT
Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com
 [209.85.214.200])
 by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ehsu15mp3-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 07:14:03 +0000 (GMT)
Received: by mail-pl1-f200.google.com with SMTP id
 d9443c01a7336-2c0c32faa62so61508995ad.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 00:14:03 -0700 (PDT)
Received: from hu-vjitta-hyd.qualcomm.com ([202.46.23.25])
 by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-2c164f8429fsm17249725ad.18.2026.06.03.00.13.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 00:14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=qcppdkim1 header.d=qualcomm.com header.i="@qualcomm.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-Id:MIME-Version:References:Subject:To"; dkim=pass header.s=google header.d=oss.qualcomm.com header.i="@oss.qualcomm.com" header.h="Cc:To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding:MIME-Version:Subject:Date:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
	cc:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
	FIwRGbihw9ibmdw2sFBiy3DnC7QkudGEzjZgfV2uv2w=; b=GXbIxEvxJZ3R2frZ
	6stlexO8WRGPESZ0wsEi2i2X1lAQ3qFn/DMuvCS9B239Q9oTVr9wk2A5V0qOTGWj
	ylLZebYRpx19HKGx86cn5+onAL3CDJ2OopNBk8MliW+jR89283TVCo9tLu74gMEm
	RHzU2JYyHcowHchYTFgn4MDv28ef2r2JjAAKONNESS65l7NKcmN3uO9A1AnhRK4R
	xZWQxRufYYatXtNKaeF+Gh/W0yjQsQQ8QWpbLQLExIR+RNH+IrIZt+4Xaq+D5ieV
	7qoAmGitTLFT/Ht5EQGwqZgD2ADb+Ut9Q1zaAvMNY1ctEAJGl/ylXsOXEsCEmBWJ
	v3qagg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=oss.qualcomm.com; s=google; t=1780470843; x=1781075643; darn=lists.xenproject.org;
        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
         :mime-version:subject:date:from:from:to:cc:subject:date:message-id
         :reply-to;
        bh=FIwRGbihw9ibmdw2sFBiy3DnC7QkudGEzjZgfV2uv2w=;
        b=Wh1RndhACS6/IZ0Z4kUjWYV71QGdt/GMZjUKZeAsA/9zxFqc9gHkCPPcdlWZ7dfsjb
         JWlFtLd0e2BUjqgX7oD0/FOW0GflsfJsFJ+z4Ll/p/vyr8/wW5ihP8hWEkdcei10Z6P+
         jZaQCosJ0H0Xm//sp3lgcBVd3tLFj1gQL90Udv0lp0a5VXMtbs6FpD/lKaFJ+D9TXTXY
         NhUq0sxUiboco0T76v6SvfgqHITGtGItPeRNFWtHSzuSTm3VffHZaoqHZwqOCVojxj+4
         KlsTeC24Ra2cmxiGgJ2a3AYR9QKnEcBp65DYUIV0nx5/On3dCdQcxKnLFYIYoL6e1UPM
         Z/vg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780470843; x=1781075643;
        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
         :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=FIwRGbihw9ibmdw2sFBiy3DnC7QkudGEzjZgfV2uv2w=;
        b=pbJY7drwfUtQSqMYQ5zEFRMlWOaNKmo0M+esmYEMjRFp0IBWiE5+gz7tGakHVauoD8
         smfNUepVP9HXSEP612+DHCGWDPKZVD8l+h/tKKKIyR0go2UDJJ3gZyr9zo3jGYZDhKI2
         wO8daMMZQhCBSk7z1xnBnYBguIEk06B6XjgYW0aEdfj8GIBzYM+egq4G7pC/3kXPFbK5
         sOLIE93sgDfKk1lAeay0KTCPLPRksh/yaUeTPlSpAP44m0BxKoX9ktP/9i7YDj6ml8pm
         baJn510B2BM/AWUv6tA2TD8AhLpIfssDq/bpB/mImlPbiM8k/VG43CoKSYgLi40vBYbk
         p03w==
X-Forwarded-Encrypted: i=1; AFNElJ/R8GhpPvauWMCvs2HQUFbAjRY3FUnjGo8Dva99mbCyQTxH1Pnu4kNLIqdVO4TR8Rvypq5pbXT9XG0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzS/bWfsSuSa6GEqvV8jDiOv0luLgfTM5Ps9ntexHWpMtIFFmmZ
	yGYswosQTulmlHsTjINgU19AklCXovUJ//JS7qhsJ59q7g18r6fVvkgGMK79P2bSkZo1Vk8q3/m
	6YNqB5GSbCfW4UGrSnQ5FU/uyiil8BJi93Bfq5FKDvbxDIzr9zwmuk78irW3zyVEcf/ivjA==
X-Gm-Gg: Acq92OE69x6yQwvs56TXYi7Memtlv5j+Nvp9RXmEL2nbTAB9lr7zPctRZOj3TDo7t2Z
	XuFYUu/FL1W5oDB0wZskxHfoA4POlOWjWf0jlAjogctYnVWYPTyi3LsfBM7LhuAotUzwrMJdwhG
	Pf2Cwd5OsgL6DmPO9gO3zozkNK7hKpsgWWmbgSyWV1dPQqku0agsfCuHHTrEt2NEfQ2XIxLtv/U
	rwHNv+lXERyzBY7R6eVT9LvOJN2Z6KRa5+LHpiQu8SKryP7CYtAI30dBiepErR417MEly86i4BO
	C9pGH/mzzO8mbu7xbGRjNWWNfOZgyc8bv6atduSRrgaG1V3qKIHlWvCJFK3oRA8Xaj2xmg59Vxi
	pk95gkN9VqYUC6YIdEwGgZ1cXmFYmeViQlmsArEF+wGrpjMEoBaxOGq7mtET3bpU+VCc=
X-Received: by 2002:a17:903:1209:b0:2c0:dd75:e834 with SMTP id d9443c01a7336-2c163a242e3mr21687055ad.5.1780470842907;
        Wed, 03 Jun 2026 00:14:02 -0700 (PDT)
X-Received: by 2002:a17:903:1209:b0:2c0:dd75:e834 with SMTP id d9443c01a7336-2c163a242e3mr21686495ad.5.1780470842370;
        Wed, 03 Jun 2026 00:14:02 -0700 (PDT)
From: Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>
Date: Wed, 03 Jun 2026 12:43:12 +0530
Subject: [PATCH v16 1/3] of: Add convenience wrappers for of_map_id()
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20260603-parse_iommu_cells-v16-1-dc509dacb19a@oss.qualcomm.com>
References: <20260603-parse_iommu_cells-v16-0-dc509dacb19a@oss.qualcomm.com>
In-Reply-To: <20260603-parse_iommu_cells-v16-0-dc509dacb19a@oss.qualcomm.com>
To: Nipun Gupta <nipun.gupta@amd.com>, Nikhil Agarwal <nikhil.agarwal@amd.com>,
        Joerg Roedel <joro@8bytes.org>, Will Deacon <will@kernel.org>,
        Robin Murphy <robin.murphy@arm.com>,
        Lorenzo Pieralisi <lpieralisi@kernel.org>,
        Marc Zyngier <maz@kernel.org>, Thomas Gleixner <tglx@kernel.org>,
        Rob Herring <robh@kernel.org>, Saravana Kannan <saravanak@kernel.org>,
        Richard Zhu <hongxing.zhu@nxp.com>,
        Lucas Stach <l.stach@pengutronix.de>,
        =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= <kwilczynski@kernel.org>,
        Manivannan Sadhasivam <mani@kernel.org>,
        Bjorn Helgaas <bhelgaas@google.com>, Frank Li <Frank.Li@nxp.com>,
        Sascha Hauer <s.hauer@pengutronix.de>,
        Pengutronix Kernel Team <kernel@pengutronix.de>,
        Fabio Estevam <festevam@gmail.com>, Juergen Gross <jgross@suse.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
        iommu@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
        devicetree@vger.kernel.org, linux-pci@vger.kernel.org,
        imx@lists.linux.dev, xen-devel@lists.xenproject.org,
        Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>
X-Mailer: b4 0.15.2
X-Developer-Signature: v=1; a=ed25519-sha256; t=1780470825; l=8692;
 i=vijayanand.jitta@oss.qualcomm.com; s=20260301; h=from:subject:message-id;
 bh=6WwVJdgDC+Pm2Sux0Nsas8KIvED10B5HRfeqtTU/lhc=;
 b=NUPQpvQ7RA71Z0dDCaP8zprJ7zJ8CDz9jnCa1HrYhXvHAGE5W9jsr9K5BqrnxQzWJcs6EHugw
 ySdvNc2zYrwD35BUEPlG8BE8sURF+1SDFW7O+5k/3NMbvz7+/hD+trF
X-Developer-Key: i=vijayanand.jitta@oss.qualcomm.com; a=ed25519;
 pk=Lpi7Cs3wHe8KZtqvyci7FTOLzsKpEHKGCaPNZw+1zRI=
X-Proofpoint-ORIG-GUID: nJ0CuHy2h9PHKTgnzkciBPZRSSKfuiTD
X-Proofpoint-GUID: nJ0CuHy2h9PHKTgnzkciBPZRSSKfuiTD
X-Authority-Analysis: v=2.4 cv=MKFQXsZl c=1 sm=1 tr=0 ts=6a1fd43b cx=c_pps
 a=IZJwPbhc+fLeJZngyXXI0A==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17
 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22
 a=7CQSdrXTAAAA:8 a=VwQbUJbxAAAA:8 a=8AirrxEcAAAA:8 a=1XWaLZrsAAAA:8
 a=EUspDBNiAAAA:8 a=f4O9XJQV64orvU1ydW8A:9 a=QEXdDO2ut3YA:10
 a=uG9DUKGECoFWVXl0Dc02:22 a=a-qgeE7W1pNrGK8U0ZQC:22 a=ST-jHhOKWsTCqRlWije3:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAzMDA2NyBTYWx0ZWRfX6AwzBp1Xsw6t
 uPNbWAgYvnBvm1FDi+20jiLMQVu5pbzr71bCKbPweQ+EABV5yFHaBaaE/Et04+9A5rAru8C1Mkc
 uea7qPjvEBPibVPNmwwvhL/YvCgX/3gDUFl6Mll9kppZVEz1vUNxr4t9ICjAUOWQETuep8hWZrH
 /JqDPvwjxVv24UwtmJ1MiPKujM2TxyGhdsFugNOviLNqBYbBZDQiqblDv3tAyyafknqCjixVsry
 Xmo3DJeGNe9YIYr2NI/zpi42RzHf9h3lPtsk0ZUtIFgJDztym9ZT4KKnjS7YPSL6RDTjMDlb43B
 NF/wRcy5ouwvfsAEimkABwv9xggAPgiisAtiCavCihihG3qUpmtE7a97gml5so3Ku/opK6Y1yh/
 yc9zre+iMhVh/AnpwAwOW3xousKr0kboHcZoMEiqg3F6FrhjgDJEXEPEmLxfkCntA28ZMKQFWqC
 7S009380YzF1a2kKf5Q==
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_02,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
 phishscore=0 priorityscore=1501 impostorscore=0 adultscore=0
 lowpriorityscore=0 bulkscore=0 spamscore=0 clxscore=1015 suspectscore=0
 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc=
 route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606030067
X-purgate-ID: tlsNG-720697/1780470846-A8145161-A2BF73AD/0/0
X-purgate-type: clean
X-purgate-size: 8739

From: Robin Murphy <robin.murphy@arm.com>

Since we now have quite a few users parsing "iommu-map" and "msi-map"
properties, give them some wrappers to conveniently encapsulate the
appropriate sets of property names. This will also make it easier to
then change of_map_id() to correctly account for specifier cells.

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>
---
 drivers/cdx/cdx_msi.c                    |  5 ++---
 drivers/iommu/of_iommu.c                 |  4 +---
 drivers/irqchip/irq-gic-its-msi-parent.c |  2 +-
 drivers/of/base.c                        | 38 ++++++++++++++++++++++++++++++++
 drivers/of/irq.c                         |  3 +--
 drivers/pci/controller/dwc/pci-imx6.c    |  6 ++---
 drivers/pci/controller/pcie-apple.c      |  3 +--
 drivers/xen/grant-dma-ops.c              |  3 +--
 include/linux/of.h                       | 18 +++++++++++++++
 9 files changed, 65 insertions(+), 17 deletions(-)

diff --git a/drivers/cdx/cdx_msi.c b/drivers/cdx/cdx_msi.c
index 91b95422b263..78edb7308856 100644
--- a/drivers/cdx/cdx_msi.c
+++ b/drivers/cdx/cdx_msi.c
@@ -128,10 +128,9 @@ static int cdx_msi_prepare(struct irq_domain *msi_domain,
 	int ret;
 
 	/* Retrieve device ID from requestor ID using parent device */
-	ret = of_map_id(parent->of_node, cdx_dev->msi_dev_id, "msi-map", "msi-map-mask",
-			NULL, &dev_id);
+	ret = of_map_msi_id(parent->of_node, cdx_dev->msi_dev_id, NULL, &dev_id);
 	if (ret) {
-		dev_err(dev, "of_map_id failed for MSI: %d\n", ret);
+		dev_err(dev, "of_map_msi_id failed for MSI: %d\n", ret);
 		return ret;
 	}
 
diff --git a/drivers/iommu/of_iommu.c b/drivers/iommu/of_iommu.c
index 6b989a62def2..a511ecf21fcd 100644
--- a/drivers/iommu/of_iommu.c
+++ b/drivers/iommu/of_iommu.c
@@ -48,9 +48,7 @@ static int of_iommu_configure_dev_id(struct device_node *master_np,
 	struct of_phandle_args iommu_spec = { .args_count = 1 };
 	int err;
 
-	err = of_map_id(master_np, *id, "iommu-map",
-			 "iommu-map-mask", &iommu_spec.np,
-			 iommu_spec.args);
+	err = of_map_iommu_id(master_np, *id, &iommu_spec.np, iommu_spec.args);
 	if (err)
 		return err;
 
diff --git a/drivers/irqchip/irq-gic-its-msi-parent.c b/drivers/irqchip/irq-gic-its-msi-parent.c
index d36b278ae66c..b63343a227a9 100644
--- a/drivers/irqchip/irq-gic-its-msi-parent.c
+++ b/drivers/irqchip/irq-gic-its-msi-parent.c
@@ -180,7 +180,7 @@ static int of_pmsi_get_msi_info(struct irq_domain *domain, struct device *dev, u
 
 	struct device_node *msi_ctrl __free(device_node) = NULL;
 
-	return of_map_id(dev->of_node, dev->id, "msi-map", "msi-map-mask", &msi_ctrl, dev_id);
+	return of_map_msi_id(dev->of_node, dev->id, &msi_ctrl, dev_id);
 }
 
 static int its_pmsi_prepare(struct irq_domain *domain, struct device *dev,
diff --git a/drivers/of/base.c b/drivers/of/base.c
index a650c91897cc..1e9b9692c0d9 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -2221,3 +2221,41 @@ int of_map_id(const struct device_node *np, u32 id,
 	return 0;
 }
 EXPORT_SYMBOL_GPL(of_map_id);
+
+/**
+ * of_map_iommu_id - Translate an ID using "iommu-map" bindings.
+ * @np: root complex device node.
+ * @id: Requester ID of the device (e.g. PCI RID/BDF or a platform
+ *      stream/device ID) used as the lookup key in the iommu-map table.
+ * @target: optional pointer to a target device node.
+ * @id_out: optional pointer to receive the translated ID.
+ *
+ * Convenience wrapper around of_map_id() using "iommu-map" and "iommu-map-mask".
+ *
+ * Return: 0 on success or a standard error code on failure.
+ */
+int of_map_iommu_id(const struct device_node *np, u32 id,
+		    struct device_node **target, u32 *id_out)
+{
+	return of_map_id(np, id, "iommu-map", "iommu-map-mask", target, id_out);
+}
+EXPORT_SYMBOL_GPL(of_map_iommu_id);
+
+/**
+ * of_map_msi_id - Translate an ID using "msi-map" bindings.
+ * @np: root complex device node.
+ * @id: Requester ID of the device (e.g. PCI RID/BDF or a platform
+ *      stream/device ID) used as the lookup key in the msi-map table.
+ * @target: optional pointer to a target device node.
+ * @id_out: optional pointer to receive the translated ID.
+ *
+ * Convenience wrapper around of_map_id() using "msi-map" and "msi-map-mask".
+ *
+ * Return: 0 on success or a standard error code on failure.
+ */
+int of_map_msi_id(const struct device_node *np, u32 id,
+		  struct device_node **target, u32 *id_out)
+{
+	return of_map_id(np, id, "msi-map", "msi-map-mask", target, id_out);
+}
+EXPORT_SYMBOL_GPL(of_map_msi_id);
diff --git a/drivers/of/irq.c b/drivers/of/irq.c
index 6367c67732d2..e37c1b3f8736 100644
--- a/drivers/of/irq.c
+++ b/drivers/of/irq.c
@@ -817,8 +817,7 @@ u32 of_msi_xlate(struct device *dev, struct device_node **msi_np, u32 id_in)
 	 * "msi-map" or an "msi-parent" property.
 	 */
 	for (parent_dev = dev; parent_dev; parent_dev = parent_dev->parent) {
-		if (!of_map_id(parent_dev->of_node, id_in, "msi-map",
-				"msi-map-mask", msi_np, &id_out))
+		if (!of_map_msi_id(parent_dev->of_node, id_in, msi_np, &id_out))
 			break;
 		if (!of_check_msi_parent(parent_dev->of_node, msi_np))
 			break;
diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
index 1034ac5c5f5c..c863c7b02289 100644
--- a/drivers/pci/controller/dwc/pci-imx6.c
+++ b/drivers/pci/controller/dwc/pci-imx6.c
@@ -1128,8 +1128,7 @@ static int imx_pcie_add_lut_by_rid(struct imx_pcie *imx_pcie, u32 rid)
 	u32 sid = 0;
 
 	target = NULL;
-	err_i = of_map_id(dev->of_node, rid, "iommu-map", "iommu-map-mask",
-			  &target, &sid_i);
+	err_i = of_map_iommu_id(dev->of_node, rid, &target, &sid_i);
 	if (target) {
 		of_node_put(target);
 	} else {
@@ -1142,8 +1141,7 @@ static int imx_pcie_add_lut_by_rid(struct imx_pcie *imx_pcie, u32 rid)
 	}
 
 	target = NULL;
-	err_m = of_map_id(dev->of_node, rid, "msi-map", "msi-map-mask",
-			  &target, &sid_m);
+	err_m = of_map_msi_id(dev->of_node, rid, &target, &sid_m);
 
 	/*
 	 *   err_m      target
diff --git a/drivers/pci/controller/pcie-apple.c b/drivers/pci/controller/pcie-apple.c
index 2d92fc79f6dd..a0937b7b3c4d 100644
--- a/drivers/pci/controller/pcie-apple.c
+++ b/drivers/pci/controller/pcie-apple.c
@@ -764,8 +764,7 @@ static int apple_pcie_enable_device(struct pci_host_bridge *bridge, struct pci_d
 	dev_dbg(&pdev->dev, "added to bus %s, index %d\n",
 		pci_name(pdev->bus->self), port->idx);
 
-	err = of_map_id(port->pcie->dev->of_node, rid, "iommu-map",
-			"iommu-map-mask", NULL, &sid);
+	err = of_map_iommu_id(port->pcie->dev->of_node, rid, NULL, &sid);
 	if (err)
 		return err;
 
diff --git a/drivers/xen/grant-dma-ops.c b/drivers/xen/grant-dma-ops.c
index c2603e700178..1b7696b2d762 100644
--- a/drivers/xen/grant-dma-ops.c
+++ b/drivers/xen/grant-dma-ops.c
@@ -325,8 +325,7 @@ static int xen_dt_grant_init_backend_domid(struct device *dev,
 		struct pci_dev *pdev = to_pci_dev(dev);
 		u32 rid = PCI_DEVID(pdev->bus->number, pdev->devfn);
 
-		if (of_map_id(np, rid, "iommu-map", "iommu-map-mask", &iommu_spec.np,
-				iommu_spec.args)) {
+		if (of_map_iommu_id(np, rid, &iommu_spec.np, iommu_spec.args)) {
 			dev_dbg(dev, "Cannot translate ID\n");
 			return -ESRCH;
 		}
diff --git a/include/linux/of.h b/include/linux/of.h
index 959786f8f196..721525334b4b 100644
--- a/include/linux/of.h
+++ b/include/linux/of.h
@@ -468,6 +468,12 @@ int of_map_id(const struct device_node *np, u32 id,
 	       const char *map_name, const char *map_mask_name,
 	       struct device_node **target, u32 *id_out);
 
+int of_map_iommu_id(const struct device_node *np, u32 id,
+		    struct device_node **target, u32 *id_out);
+
+int of_map_msi_id(const struct device_node *np, u32 id,
+		  struct device_node **target, u32 *id_out);
+
 phys_addr_t of_dma_get_max_cpu_address(struct device_node *np);
 
 struct kimage;
@@ -948,6 +954,18 @@ static inline int of_map_id(const struct device_node *np, u32 id,
 	return -EINVAL;
 }
 
+static inline int of_map_iommu_id(const struct device_node *np, u32 id,
+				  struct device_node **target, u32 *id_out)
+{
+	return -EINVAL;
+}
+
+static inline int of_map_msi_id(const struct device_node *np, u32 id,
+				struct device_node **target, u32 *id_out)
+{
+	return -EINVAL;
+}
+
 static inline phys_addr_t of_dma_get_max_cpu_address(struct device_node *np)
 {
 	return PHYS_ADDR_MAX;

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 07:14:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 07:14:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325771.1591112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUfnu-0007HT-N1; Wed, 03 Jun 2026 07:14:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325771.1591112; Wed, 03 Jun 2026 07:14: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 1wUfnu-0007HI-Ji; Wed, 03 Jun 2026 07:14:18 +0000
Received: by outflank-mailman (input) for mailman id 1325771;
 Wed, 03 Jun 2026 07:14:17 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <vijayanand.jitta@oss.qualcomm.com>)
 id 1wUfns-0007Et-Qx
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 07:14:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUfns-00HEOs-7V
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 09:14:16 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <vijayanand.jitta@oss.qualcomm.com>)
 id 6a1fd43c-2eae-0a2a0a5409dd-0a2a4506b960-26
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 09:14:16 +0200
Received: from [205.220.180.131] (helo=mx0b-0031df01.pphosted.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <vijayanand.jitta@oss.qualcomm.com>)
 id 6a1fd446-7371-0a2a45060019-cddcb48399c8-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 09:14:15 +0200
Received: from pps.filterd (m0279871.ppops.net [127.0.0.1])
 by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 6536RSbK1200262
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 07:14:14 GMT
Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com
 [209.85.214.197])
 by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ejckw0q89-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 07:14:13 +0000 (GMT)
Received: by mail-pl1-f197.google.com with SMTP id
 d9443c01a7336-2bf32259e0eso52709055ad.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 00:14:13 -0700 (PDT)
Received: from hu-vjitta-hyd.qualcomm.com ([202.46.23.25])
 by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-2c164f8429fsm17249725ad.18.2026.06.03.00.14.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 00:14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=qcppdkim1 header.d=qualcomm.com header.i="@qualcomm.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-Id:MIME-Version:References:Subject:To"; dkim=pass header.s=google header.d=oss.qualcomm.com header.i="@oss.qualcomm.com" header.h="Cc:To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding:MIME-Version:Subject:Date:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
	cc:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
	vWOTiDUibzqekz7rYfayQWy2AJ39XhDr3pyUdTs3ags=; b=H3scntiXFhn/Zwn2
	M1oV3kxilwZLn1ptkcUSNog2VlGcoJEF0lf48yNjW1KxHv+j0UwGh3o7o1zEkvsw
	AO5vvXKimDfEItdcSzVru5lvEnquQtfF+FLnc8sL03m1BaF3NTtLWwdAsFVkEf8y
	9OZMYWwIxnR9Nh2Nx3N2nVhWqCdqNZMH3J9t7tOm8aAixuqqfiGKKzRfndj1QnlR
	O9yxcIqAug7d+5itW+u2BDAx30yvjD3J6C1ZccdECOhc54g4OrpcxC8wXdejZOV2
	FpmryMevMaOxNN/i0LdldRZ2eAPG4QPKOpvkT52jwFLfvAAl3zB9qAHyFLc0xbwV
	YRLUrA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=oss.qualcomm.com; s=google; t=1780470853; x=1781075653; darn=lists.xenproject.org;
        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
         :mime-version:subject:date:from:from:to:cc:subject:date:message-id
         :reply-to;
        bh=vWOTiDUibzqekz7rYfayQWy2AJ39XhDr3pyUdTs3ags=;
        b=OFYk8ZXhTNe6yg2UUlNLcBh/D5OdJR7FsBYRVFCCPJA26ICEj0JRYoF2uz6tSe2iGo
         Gm8hTAN1R9IdUoRDpXf7vwej4I8RzILZxHmkM3Z9zFhYnxUGkFvjS8kmRwoh17MPhfK4
         Z3pAjh4uparOMshWvypi0ZYeOzlLOUtqwaFTgxn5nY/6JModO/xyTwDVIH4WFYFz4B/j
         vRmhmmNRVdoAiSUoOU+y8oERNM78ofxteLOMniOExzgkBPd3T5Iuj6XmVCXaF80DvIev
         I3+cUJ0aqKyhcEZNYUiQX1Lqao7NnG65YtPL5XbVtCeHlZ7Coqp+iTWizSyEAOCAaD9S
         idRA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780470853; x=1781075653;
        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
         :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=vWOTiDUibzqekz7rYfayQWy2AJ39XhDr3pyUdTs3ags=;
        b=MhuFatI4i0zlDDKSZj3MLI25Osng+2+xJLTw/TJjlTwnC5tT0ggXOVF41QRU3w3+71
         SchX5ERpV5hEwL8k+zz82p95dlh26fjkQ5ReL6Wjbzhu5yovGXqF/pYnXdslwhOq57mn
         dL2cmgf4M/O/k7cqUeCc+28KrOJXhLIym9KJEXUAXyp/UzZ4izOtUnU9mDoGUTwbZ0yq
         Gd606DXRaEMA6jEldD0LJpUHPQm5YQ28WUR5ueUqQ97Xrk9lHezK5q9JmYiVmLNaRHG7
         DPjCURLvGoLGDfOBDGuhDnuLS0wW6ZsMNM1PCB3GqaNYFwy3JHNNuR7EbmGNfZ5LRKGp
         Srqg==
X-Forwarded-Encrypted: i=1; AFNElJ8wgQOxFOA3KUP163YGc2ywHVOsUczaYIRg5MJa20zScK+uFBjXq0u5Szj3vP0oM4S176fVPE9KNT8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwiRUA0nZzIOdqZ03+r1es20Zlm9+YApK1L4DQlYT3/4II+UVmA
	1lo/AoO4tRfRqYUkLquh2cv6jqcAR5MqW/iU/yr08RilYOhLVFcDYY4AI2Lwzq4ySlrZFQIX8Hw
	ICLwmp/bAs4ljKlC5Y6AwmSWnHCVImn+tWQxLPbkFBUkAZALNUlMxBX8I9GnyNHh/F3/VbA==
X-Gm-Gg: Acq92OFbHgNGNaRj3PtrRlkfQ7SSvhGTMNH+nvRIuMgQsrleSPOj5S6VobHdF39WlOy
	BkkMaOD7DbTLBNRHKbb6IV4dc16MQRQLhDCrbhZrdDD11GX47gPggtoy+Zv34rNPHE44DWoRWDp
	5rH0SjCKKFG2KO2cS9xpuwRDZaCQXlpaB/AeR2evLuBnE3vnWwml45LYlR8/x3kbt4/XslH8Fcc
	8OyVrOsNX2PLy2w++wraLiDX42dQIzieDG+pVxbVupDfLb/wuZLwaLnbPbIjPxxnAsq+Qu5gwWO
	I6z1QpxA4CChx/jp9OVYBP6H2oqN3uPw5jOBCrRb7Vi30+3oJ9pBXqmAC758dfSc97AvosB8zBY
	PY361sauPiGnsITO9b3l99uI1IXlEvy5RG1+XnkEPqWpZWxsl3ipHDEtox9bJNgbRDzc=
X-Received: by 2002:a17:902:d48d:b0:2c0:e158:1dfa with SMTP id d9443c01a7336-2c163fa480cmr21450345ad.21.1780470852435;
        Wed, 03 Jun 2026 00:14:12 -0700 (PDT)
X-Received: by 2002:a17:902:d48d:b0:2c0:e158:1dfa with SMTP id d9443c01a7336-2c163fa480cmr21449815ad.21.1780470851846;
        Wed, 03 Jun 2026 00:14:11 -0700 (PDT)
From: Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>
Date: Wed, 03 Jun 2026 12:43:13 +0530
Subject: [PATCH v16 2/3] of: Factor arguments passed to of_map_id() into a
 struct
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Message-Id: <20260603-parse_iommu_cells-v16-2-dc509dacb19a@oss.qualcomm.com>
References: <20260603-parse_iommu_cells-v16-0-dc509dacb19a@oss.qualcomm.com>
In-Reply-To: <20260603-parse_iommu_cells-v16-0-dc509dacb19a@oss.qualcomm.com>
To: Nipun Gupta <nipun.gupta@amd.com>, Nikhil Agarwal <nikhil.agarwal@amd.com>,
        Joerg Roedel <joro@8bytes.org>, Will Deacon <will@kernel.org>,
        Robin Murphy <robin.murphy@arm.com>,
        Lorenzo Pieralisi <lpieralisi@kernel.org>,
        Marc Zyngier <maz@kernel.org>, Thomas Gleixner <tglx@kernel.org>,
        Rob Herring <robh@kernel.org>, Saravana Kannan <saravanak@kernel.org>,
        Richard Zhu <hongxing.zhu@nxp.com>,
        Lucas Stach <l.stach@pengutronix.de>,
        =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= <kwilczynski@kernel.org>,
        Manivannan Sadhasivam <mani@kernel.org>,
        Bjorn Helgaas <bhelgaas@google.com>, Frank Li <Frank.Li@nxp.com>,
        Sascha Hauer <s.hauer@pengutronix.de>,
        Pengutronix Kernel Team <kernel@pengutronix.de>,
        Fabio Estevam <festevam@gmail.com>, Juergen Gross <jgross@suse.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
        iommu@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
        devicetree@vger.kernel.org, linux-pci@vger.kernel.org,
        imx@lists.linux.dev, xen-devel@lists.xenproject.org,
        Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>,
        Charan Teja Kalla <charan.kalla@oss.qualcomm.com>,
        Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
X-Mailer: b4 0.15.2
X-Developer-Signature: v=1; a=ed25519-sha256; t=1780470825; l=19290;
 i=vijayanand.jitta@oss.qualcomm.com; s=20260301; h=from:subject:message-id;
 bh=YiZjwxHFmgOTQ3MYzgU/NvAq2Xi8EN05+apizd5wwmk=;
 b=I3GdCPp+x6ge6k1jyOA5PCHKcLLXuNe+TCFT5XeIaSElRQZx+dEblDkXZ+AiE972ZbgFT31Pd
 /TY2LTvxlPWDZpJrrcL6Hq2haJC+KYF4OjW8pbfMvTHH73CalUCTfUi
X-Developer-Key: i=vijayanand.jitta@oss.qualcomm.com; a=ed25519;
 pk=Lpi7Cs3wHe8KZtqvyci7FTOLzsKpEHKGCaPNZw+1zRI=
X-Proofpoint-ORIG-GUID: lRwhpxQhddzh4_-flI06DrOUZ9M997re
X-Authority-Analysis: v=2.4 cv=edUNubEH c=1 sm=1 tr=0 ts=6a1fd446 cx=c_pps
 a=cmESyDAEBpBGqyK7t0alAg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17
 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22
 a=EUspDBNiAAAA:8 a=8AirrxEcAAAA:8 a=VwQbUJbxAAAA:8 a=YNKo5iN9BcXwmsqDYIQA:9
 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22
 a=ST-jHhOKWsTCqRlWije3:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAzMDA2NyBTYWx0ZWRfXygFHT+VQjNqs
 N+3EhOC0IR94Gg7eEl05TJKnp/lSdvaLajBXbUIP23fvIs51Sp9fvci0fgYN02dIE/4t3ey8RyQ
 DW6BJZzmebnTggflTg/Vhf8vGuQklpRYOiscHCuVE9M5t+5jSIytRR7oN8DnpY2nAA/yq2WS/3D
 EE44jr6Tcc7iRCKgkcTJZ9upejWLtezQUpqwqWa+Kw8daWL8JfsaHjzfzsJIJKOBhA4Yo95zPo1
 g6JhgUQExumJoU9VzoUW2D5XhNCyN/EO5Ec06gRrss1PLV1JkPePHIKVvTKbV8kOSikceT0U4ou
 JktT05Vv8glGv7rHMws4irHqxaacLUUR9ezmXSmgeHVpGZjwcbupdU1NhMnZC6oa90rRqjl9xj6
 3pWFKVF/3z48ftFkY0l9QjqUI/O3X5Eq0vAegOY03DZY4Qp0k5B/O7njClOygijwLbuEjEFesq9
 89GtIqQ7aQrR3heQa3A==
X-Proofpoint-GUID: lRwhpxQhddzh4_-flI06DrOUZ9M997re
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_02,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
 priorityscore=1501 adultscore=0 malwarescore=0 suspectscore=0 impostorscore=0
 spamscore=0 lowpriorityscore=0 bulkscore=0 phishscore=0 clxscore=1015
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606030067
X-purgate-ID: tlsNG-16d1c6/1780470856-87B7DD75-B5542F56/0/0
X-purgate-type: clean
X-purgate-size: 19351

From: Charan Teja Kalla <charan.kalla@oss.qualcomm.com>

Change of_map_id() to take a pointer to struct of_phandle_args
instead of passing target device node and translated IDs separately.
Update all callers accordingly.

Add an explicit filter_np parameter to of_map_id() and of_map_msi_id()
to separate the filter input from the output. Previously, the target
parameter served dual purpose: as an input filter (if non-NULL, only
match entries targeting that node) and as an output (receiving the
matched node with a reference held). Now filter_np is the explicit
input filter and arg->np is the pure output.

Previously, of_map_id() would call of_node_put() on the matched node
when a filter was provided, making reference ownership inconsistent.
Remove this internal of_node_put() call so that of_map_id() now always
transfers ownership of the matched node reference to the caller via
arg->np. Callers are now consistently responsible for releasing this
reference with of_node_put(arg->np) when done.

Acked-by: Frank Li <Frank.Li@nxp.com>
Suggested-by: Rob Herring (Arm) <robh@kernel.org>
Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Charan Teja Kalla <charan.kalla@oss.qualcomm.com>
Signed-off-by: Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>
---
 drivers/cdx/cdx_msi.c                    |  7 ++--
 drivers/iommu/of_iommu.c                 |  4 +-
 drivers/irqchip/irq-gic-its-msi-parent.c | 10 +++--
 drivers/of/base.c                        | 71 ++++++++++++++++++--------------
 drivers/of/irq.c                         | 31 ++++++++++----
 drivers/pci/controller/dwc/pci-imx6.c    | 53 ++++++++++++------------
 drivers/pci/controller/pcie-apple.c      |  5 ++-
 drivers/xen/grant-dma-ops.c              |  4 +-
 include/linux/of.h                       | 16 ++++---
 9 files changed, 119 insertions(+), 82 deletions(-)

diff --git a/drivers/cdx/cdx_msi.c b/drivers/cdx/cdx_msi.c
index 78edb7308856..c8d832b0b1f5 100644
--- a/drivers/cdx/cdx_msi.c
+++ b/drivers/cdx/cdx_msi.c
@@ -121,22 +121,23 @@ static int cdx_msi_prepare(struct irq_domain *msi_domain,
 			   struct device *dev,
 			   int nvec, msi_alloc_info_t *info)
 {
+	struct of_phandle_args msi_spec = {};
 	struct cdx_device *cdx_dev = to_cdx_device(dev);
 	struct device *parent = cdx_dev->cdx->dev;
 	struct msi_domain_info *msi_info;
-	u32 dev_id;
 	int ret;
 
 	/* Retrieve device ID from requestor ID using parent device */
-	ret = of_map_msi_id(parent->of_node, cdx_dev->msi_dev_id, NULL, &dev_id);
+	ret = of_map_msi_id(parent->of_node, cdx_dev->msi_dev_id, NULL, &msi_spec);
 	if (ret) {
 		dev_err(dev, "of_map_msi_id failed for MSI: %d\n", ret);
 		return ret;
 	}
+	of_node_put(msi_spec.np);
 
 #ifdef GENERIC_MSI_DOMAIN_OPS
 	/* Set the device Id to be passed to the GIC-ITS */
-	info->scratchpad[0].ul = dev_id;
+	info->scratchpad[0].ul = msi_spec.args[0];
 #endif
 
 	msi_info = msi_get_domain_info(msi_domain->parent);
diff --git a/drivers/iommu/of_iommu.c b/drivers/iommu/of_iommu.c
index a511ecf21fcd..a18bb60f6f3d 100644
--- a/drivers/iommu/of_iommu.c
+++ b/drivers/iommu/of_iommu.c
@@ -45,10 +45,10 @@ static int of_iommu_configure_dev_id(struct device_node *master_np,
 				     struct device *dev,
 				     const u32 *id)
 {
-	struct of_phandle_args iommu_spec = { .args_count = 1 };
+	struct of_phandle_args iommu_spec = {};
 	int err;
 
-	err = of_map_iommu_id(master_np, *id, &iommu_spec.np, iommu_spec.args);
+	err = of_map_iommu_id(master_np, *id, &iommu_spec);
 	if (err)
 		return err;
 
diff --git a/drivers/irqchip/irq-gic-its-msi-parent.c b/drivers/irqchip/irq-gic-its-msi-parent.c
index b63343a227a9..b9257103a999 100644
--- a/drivers/irqchip/irq-gic-its-msi-parent.c
+++ b/drivers/irqchip/irq-gic-its-msi-parent.c
@@ -152,6 +152,8 @@ static int its_v5_pci_msi_prepare(struct irq_domain *domain, struct device *dev,
 static int of_pmsi_get_msi_info(struct irq_domain *domain, struct device *dev, u32 *dev_id,
 				phys_addr_t *pa)
 {
+	struct device_node *msi_ctrl = NULL;
+	struct of_phandle_args msi_spec = {};
 	struct of_phandle_iterator it;
 	int ret;
 
@@ -178,9 +180,11 @@ static int of_pmsi_get_msi_info(struct irq_domain *domain, struct device *dev, u
 		}
 	}
 
-	struct device_node *msi_ctrl __free(device_node) = NULL;
-
-	return of_map_msi_id(dev->of_node, dev->id, &msi_ctrl, dev_id);
+	ret = of_map_msi_id(dev->of_node, dev->id, &msi_ctrl, &msi_spec);
+	if (!ret)
+		*dev_id = msi_spec.args[0];
+	of_node_put(msi_spec.np);
+	return ret;
 }
 
 static int its_pmsi_prepare(struct irq_domain *domain, struct device *dev,
diff --git a/drivers/of/base.c b/drivers/of/base.c
index 1e9b9692c0d9..d658c2620135 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -2122,36 +2122,40 @@ int of_find_last_cache_level(unsigned int cpu)
  * @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.
+ * @filter_np: pointer to an optional filter node, or NULL to allow bypass.
+ *	If non-NULL, the map property must exist (-ENODEV if absent). If
+ *	*filter_np is also non-NULL, only entries targeting that node match.
+ * @arg: pointer to a &struct of_phandle_args for the result. On success,
+ *	@arg->args[0] will contain the translated ID. If a map entry was
+ *	matched, @arg->np will be set to the target node with a reference
+ *	held that the caller must release with of_node_put().
  *
  * Given a device ID, look up the appropriate implementation-defined
  * platform ID and/or the target device which receives transactions on that
- * 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 be
- * matched; if it points to a NULL value, it will receive the device node of
- * the first matching target phandle, with a reference held.
+ * ID, as per the "iommu-map" and "msi-map" bindings.
  *
  * Return: 0 on success or a standard error code on failure.
  */
 int of_map_id(const struct device_node *np, u32 id,
 	       const char *map_name, const char *map_mask_name,
-	       struct device_node **target, u32 *id_out)
+	       struct device_node * const *filter_np, struct of_phandle_args *arg)
 {
 	u32 map_mask, masked_id;
 	int map_len;
 	const __be32 *map = NULL;
 
-	if (!np || !map_name || (!target && !id_out))
+	if (!np || !map_name || !arg)
 		return -EINVAL;
+	/* Ensure bypass/no-match success never returns a stale target node. */
+	arg->np = NULL;
 
 	map = of_get_property(np, map_name, &map_len);
 	if (!map) {
-		if (target)
+		if (filter_np)
 			return -ENODEV;
 		/* Otherwise, no map implies no translation */
-		*id_out = id;
+		arg->args[0] = id;
+		arg->args_count = 1;
 		return 0;
 	}
 
@@ -2193,18 +2197,14 @@ int of_map_id(const struct device_node *np, u32 id,
 		if (!phandle_node)
 			return -ENODEV;
 
-		if (target) {
-			if (*target)
-				of_node_put(phandle_node);
-			else
-				*target = phandle_node;
-
-			if (*target != phandle_node)
-				continue;
+		if (filter_np && *filter_np && *filter_np != phandle_node) {
+			of_node_put(phandle_node);
+			continue;
 		}
 
-		if (id_out)
-			*id_out = masked_id - id_base + out_base;
+		arg->np = phandle_node;
+		arg->args[0] = masked_id - id_base + out_base;
+		arg->args_count = 1;
 
 		pr_debug("%pOF: %s, using mask %08x, id-base: %08x, out-base: %08x, length: %08x, id: %08x -> %08x\n",
 			np, map_name, map_mask, id_base, out_base,
@@ -2213,11 +2213,11 @@ int of_map_id(const struct device_node *np, u32 id,
 	}
 
 	pr_info("%pOF: no %s translation for id 0x%x on %pOF\n", np, map_name,
-		id, target && *target ? *target : NULL);
+		id, filter_np && *filter_np ? *filter_np : NULL);
 
 	/* Bypasses translation */
-	if (id_out)
-		*id_out = id;
+	arg->args[0] = id;
+	arg->args_count = 1;
 	return 0;
 }
 EXPORT_SYMBOL_GPL(of_map_id);
@@ -2227,17 +2227,19 @@ EXPORT_SYMBOL_GPL(of_map_id);
  * @np: root complex device node.
  * @id: Requester ID of the device (e.g. PCI RID/BDF or a platform
  *      stream/device ID) used as the lookup key in the iommu-map table.
- * @target: optional pointer to a target device node.
- * @id_out: optional pointer to receive the translated ID.
+ * @arg: pointer to a &struct of_phandle_args for the result. On success,
+ *	@arg->args[0] contains the translated ID. If a map entry was matched,
+ *	@arg->np holds a reference to the target node that the caller must
+ *	release with of_node_put().
  *
  * Convenience wrapper around of_map_id() using "iommu-map" and "iommu-map-mask".
  *
  * Return: 0 on success or a standard error code on failure.
  */
 int of_map_iommu_id(const struct device_node *np, u32 id,
-		    struct device_node **target, u32 *id_out)
+		    struct of_phandle_args *arg)
 {
-	return of_map_id(np, id, "iommu-map", "iommu-map-mask", target, id_out);
+	return of_map_id(np, id, "iommu-map", "iommu-map-mask", NULL, arg);
 }
 EXPORT_SYMBOL_GPL(of_map_iommu_id);
 
@@ -2246,16 +2248,21 @@ EXPORT_SYMBOL_GPL(of_map_iommu_id);
  * @np: root complex device node.
  * @id: Requester ID of the device (e.g. PCI RID/BDF or a platform
  *      stream/device ID) used as the lookup key in the msi-map table.
- * @target: optional pointer to a target device node.
- * @id_out: optional pointer to receive the translated ID.
+ * @filter_np: pointer to an optional filter node, or NULL to allow bypass.
+ *	If non-NULL, the map property must exist (-ENODEV if absent). If
+ *	*filter_np is also non-NULL, only entries targeting that node match.
+ * @arg: pointer to a &struct of_phandle_args for the result. On success,
+ *	@arg->args[0] contains the translated ID. If a map entry was matched,
+ *	@arg->np holds a reference to the target node that the caller must
+ *	release with of_node_put().
  *
  * Convenience wrapper around of_map_id() using "msi-map" and "msi-map-mask".
  *
  * Return: 0 on success or a standard error code on failure.
  */
 int of_map_msi_id(const struct device_node *np, u32 id,
-		  struct device_node **target, u32 *id_out)
+		  struct device_node * const *filter_np, struct of_phandle_args *arg)
 {
-	return of_map_id(np, id, "msi-map", "msi-map-mask", target, id_out);
+	return of_map_id(np, id, "msi-map", "msi-map-mask", filter_np, arg);
 }
 EXPORT_SYMBOL_GPL(of_map_msi_id);
diff --git a/drivers/of/irq.c b/drivers/of/irq.c
index e37c1b3f8736..967c19100879 100644
--- a/drivers/of/irq.c
+++ b/drivers/of/irq.c
@@ -796,14 +796,15 @@ static int of_check_msi_parent(struct device_node *dev_node, struct device_node
 /**
  * of_msi_xlate - map a MSI ID and find relevant MSI controller node
  * @dev: device for which the mapping is to be done.
- * @msi_np: Pointer to target MSI controller node
+ * @msi_np: Pointer to target MSI controller node, or NULL if the caller
+ *           only needs the translated ID without receiving the controller node.
+ *           If non-NULL and pointing to a non-NULL node, only entries targeting
+ *           that node will be matched. If non-NULL and pointing to NULL, it will
+ *           receive the first matching target node with a reference held.
  * @id_in: Device ID.
  *
  * Walk up the device hierarchy looking for devices with a "msi-map"
  * or "msi-parent" property. If found, apply the mapping to @id_in.
- * If @msi_np points to a non-NULL device node pointer, only entries targeting
- * that node will be matched; if it points to a NULL value, it will receive the
- * device node of the first matching target phandle, with a reference held.
  *
  * Returns: The mapped MSI id.
  */
@@ -817,9 +818,22 @@ u32 of_msi_xlate(struct device *dev, struct device_node **msi_np, u32 id_in)
 	 * "msi-map" or an "msi-parent" property.
 	 */
 	for (parent_dev = dev; parent_dev; parent_dev = parent_dev->parent) {
-		if (!of_map_msi_id(parent_dev->of_node, id_in, msi_np, &id_out))
+		struct of_phandle_args msi_spec = {};
+
+		if (!of_map_msi_id(parent_dev->of_node, id_in, msi_np, &msi_spec)) {
+			if (msi_spec.np) {
+				/* msi-map matched: use the translated ID and target node */
+				if (msi_spec.args_count > 0)
+					id_out = msi_spec.args[0];
+				if (msi_np && !*msi_np)
+					*msi_np = of_node_get(msi_spec.np);
+				of_node_put(msi_spec.np);
+			}
+			/* msi-map present but no match â†’ stop walking */
 			break;
-		if (!of_check_msi_parent(parent_dev->of_node, msi_np))
+		}
+		/* -ENODEV: msi-map absent â†’ check for msi-parent */
+		if (msi_np && !of_check_msi_parent(parent_dev->of_node, msi_np))
 			break;
 	}
 	return id_out;
@@ -841,9 +855,12 @@ struct irq_domain *of_msi_map_get_device_domain(struct device *dev, u32 id,
 						u32 bus_token)
 {
 	struct device_node *np = NULL;
+	struct irq_domain *d;
 
 	of_msi_xlate(dev, &np, id);
-	return irq_find_matching_host(np, bus_token);
+	d = irq_find_matching_host(np, bus_token);
+	of_node_put(np);
+	return d;
 }
 
 /**
diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
index c863c7b02289..105038c15aa8 100644
--- a/drivers/pci/controller/dwc/pci-imx6.c
+++ b/drivers/pci/controller/dwc/pci-imx6.c
@@ -1121,41 +1121,42 @@ static void imx_pcie_remove_lut(struct imx_pcie *imx_pcie, u16 rid)
 
 static int imx_pcie_add_lut_by_rid(struct imx_pcie *imx_pcie, u32 rid)
 {
+	struct of_phandle_args iommu_spec = {};
+	struct of_phandle_args msi_spec = {};
 	struct device *dev = imx_pcie->pci->dev;
-	struct device_node *target;
+	struct device_node *msi_filter = NULL;
 	u32 sid_i, sid_m;
 	int err_i, err_m;
 	u32 sid = 0;
 
-	target = NULL;
-	err_i = of_map_iommu_id(dev->of_node, rid, &target, &sid_i);
-	if (target) {
-		of_node_put(target);
-	} else {
-		/*
-		 * "target == NULL && err_i == 0" means RID out of map range.
-		 * Use 1:1 map RID to streamID. Hardware can't support this
-		 * because the streamID is only 6 bits
-		 */
-		err_i = -EINVAL;
+	err_i = of_map_iommu_id(dev->of_node, rid, &iommu_spec);
+	if (!err_i) {
+		if (!iommu_spec.np)
+			/*
+			 * "iommu_spec.np == NULL && err_i == 0" means RID out of map
+			 * range. Use 1:1 map RID to streamID. Hardware can't support
+			 * this because the streamID is only 6 bits.
+			 */
+			err_i = -EINVAL;
+		else
+			sid_i = iommu_spec.args[0];
 	}
+	of_node_put(iommu_spec.np);
 
-	target = NULL;
-	err_m = of_map_msi_id(dev->of_node, rid, &target, &sid_m);
-
+	err_m = of_map_msi_id(dev->of_node, rid, &msi_filter, &msi_spec);
 	/*
-	 *   err_m      target
-	 *	0	NULL		RID out of range. Use 1:1 map RID to
-	 *				streamID, Current hardware can't
-	 *				support it, so return -EINVAL.
-	 *      != 0    NULL		msi-map does not exist, use built-in MSI
-	 *	0	!= NULL		Get correct streamID from RID
-	 *	!= 0	!= NULL		Invalid combination
+	 *   err_m      msi_spec.np
+	 *	0	!= NULL		Got correct streamID from RID via msi-map
+	 *	0	NULL		msi-map present but RID out of range
+	 *	-ENODEV	NULL		msi-map absent, use built-in MSI controller
 	 */
-	if (!err_m && !target)
-		return -EINVAL;
-	else if (target)
-		of_node_put(target); /* Find streamID map entry for RID in msi-map */
+	if (!err_m) {
+		if (!msi_spec.np)
+			/* msi-map present but RID out of range */
+			return -EINVAL;
+		sid_m = msi_spec.args[0];
+	}
+	of_node_put(msi_spec.np);
 
 	/*
 	 * msi-map        iommu-map
diff --git a/drivers/pci/controller/pcie-apple.c b/drivers/pci/controller/pcie-apple.c
index a0937b7b3c4d..c2cffc0659f4 100644
--- a/drivers/pci/controller/pcie-apple.c
+++ b/drivers/pci/controller/pcie-apple.c
@@ -755,6 +755,7 @@ static int apple_pcie_enable_device(struct pci_host_bridge *bridge, struct pci_d
 {
 	u32 sid, rid = pci_dev_id(pdev);
 	struct apple_pcie_port *port;
+	struct of_phandle_args iommu_spec = {};
 	int idx, err;
 
 	port = apple_pcie_get_port(pdev);
@@ -764,10 +765,12 @@ static int apple_pcie_enable_device(struct pci_host_bridge *bridge, struct pci_d
 	dev_dbg(&pdev->dev, "added to bus %s, index %d\n",
 		pci_name(pdev->bus->self), port->idx);
 
-	err = of_map_iommu_id(port->pcie->dev->of_node, rid, NULL, &sid);
+	err = of_map_iommu_id(port->pcie->dev->of_node, rid, &iommu_spec);
 	if (err)
 		return err;
 
+	of_node_put(iommu_spec.np);
+	sid = iommu_spec.args[0];
 	mutex_lock(&port->pcie->lock);
 
 	idx = bitmap_find_free_region(port->sid_map, port->sid_map_sz, 0);
diff --git a/drivers/xen/grant-dma-ops.c b/drivers/xen/grant-dma-ops.c
index 1b7696b2d762..2aa1a772a0ff 100644
--- a/drivers/xen/grant-dma-ops.c
+++ b/drivers/xen/grant-dma-ops.c
@@ -319,13 +319,13 @@ static int xen_dt_grant_init_backend_domid(struct device *dev,
 					   struct device_node *np,
 					   domid_t *backend_domid)
 {
-	struct of_phandle_args iommu_spec = { .args_count = 1 };
+	struct of_phandle_args iommu_spec = {};
 
 	if (dev_is_pci(dev)) {
 		struct pci_dev *pdev = to_pci_dev(dev);
 		u32 rid = PCI_DEVID(pdev->bus->number, pdev->devfn);
 
-		if (of_map_iommu_id(np, rid, &iommu_spec.np, iommu_spec.args)) {
+		if (of_map_iommu_id(np, rid, &iommu_spec)) {
 			dev_dbg(dev, "Cannot translate ID\n");
 			return -ESRCH;
 		}
diff --git a/include/linux/of.h b/include/linux/of.h
index 721525334b4b..ea50b45d9ff7 100644
--- a/include/linux/of.h
+++ b/include/linux/of.h
@@ -466,13 +466,15 @@ bool of_console_check(const struct device_node *dn, char *name, int index);
 
 int of_map_id(const struct device_node *np, u32 id,
 	       const char *map_name, const char *map_mask_name,
-	       struct device_node **target, u32 *id_out);
+	       struct device_node * const *filter_np,
+	       struct of_phandle_args *arg);
 
 int of_map_iommu_id(const struct device_node *np, u32 id,
-		    struct device_node **target, u32 *id_out);
+		    struct of_phandle_args *arg);
 
 int of_map_msi_id(const struct device_node *np, u32 id,
-		  struct device_node **target, u32 *id_out);
+		  struct device_node * const *filter_np,
+		  struct of_phandle_args *arg);
 
 phys_addr_t of_dma_get_max_cpu_address(struct device_node *np);
 
@@ -949,19 +951,21 @@ static inline void of_property_clear_flag(struct property *p, unsigned long flag
 
 static inline int of_map_id(const struct device_node *np, u32 id,
 			     const char *map_name, const char *map_mask_name,
-			     struct device_node **target, u32 *id_out)
+			     struct device_node * const *filter_np,
+			     struct of_phandle_args *arg)
 {
 	return -EINVAL;
 }
 
 static inline int of_map_iommu_id(const struct device_node *np, u32 id,
-				  struct device_node **target, u32 *id_out)
+				  struct of_phandle_args *arg)
 {
 	return -EINVAL;
 }
 
 static inline int of_map_msi_id(const struct device_node *np, u32 id,
-				struct device_node **target, u32 *id_out)
+				struct device_node * const *filter_np,
+				struct of_phandle_args *arg)
 {
 	return -EINVAL;
 }

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 07:14:27 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 07:14:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325773.1591121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUfo3-0007fB-3h; Wed, 03 Jun 2026 07:14:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325773.1591121; Wed, 03 Jun 2026 07: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 1wUfo2-0007f4-W6; Wed, 03 Jun 2026 07:14:26 +0000
Received: by outflank-mailman (input) for mailman id 1325773;
 Wed, 03 Jun 2026 07:14:25 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <vijayanand.jitta@oss.qualcomm.com>)
 id 1wUfo1-0007bF-D4
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 07:14:25 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUfo0-00Ejn3-OT
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 09:14:24 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <vijayanand.jitta@oss.qualcomm.com>)
 id 6a1fd444-e002-0a2a0a5209dd-0a2a4501ce48-40
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 09:14:24 +0200
Received: from [205.220.180.131] (helo=mx0b-0031df01.pphosted.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <vijayanand.jitta@oss.qualcomm.com>)
 id 6a1fd44e-c1f2-0a2a45010019-cddcb483d62c-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 09:14:24 +0200
Received: from pps.filterd (m0279869.ppops.net [127.0.0.1])
 by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 6536RSPo422551
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 07:14:22 GMT
Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com
 [209.85.214.199])
 by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ehu1cn8u8-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 07:14:22 +0000 (GMT)
Received: by mail-pl1-f199.google.com with SMTP id
 d9443c01a7336-2bf3636d6c0so46000895ad.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 00:14:22 -0700 (PDT)
Received: from hu-vjitta-hyd.qualcomm.com ([202.46.23.25])
 by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-2c164f8429fsm17249725ad.18.2026.06.03.00.14.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 00:14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=qcppdkim1 header.d=qualcomm.com header.i="@qualcomm.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-Id:MIME-Version:References:Subject:To"; dkim=pass header.s=google header.d=oss.qualcomm.com header.i="@oss.qualcomm.com" header.h="Cc:To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding:MIME-Version:Subject:Date:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
	cc:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
	0NESXEAUnIJZlgHkQhSkW2BBr8htvCi9q/3exWK1858=; b=nqgLSJgqZuxMg4dj
	TkTyKMYGew2vpzd0IHJcj+bRfWM+33dnwHxuTNAamr6pDsRV2FvzsmV5zd1bwJhI
	tAOlM6O+ek6AdbS9PhZlK4v6jzh/DdFOpiIIbdhJ9W+1xpM/yavnl1x+qVdjteh8
	2Vt1lYUMAQDpy2wPnUbTtipX3TPGAstlE0RZL6EXNhq4AbNzumGBA8zePWvUjomR
	npOr5NyxqpfbiZMznELtlvnUdLvke48QBTmmcAvP56uIHzPNKxvolFaolqh1xpkY
	J/H2O5PQeVGrF1elJ8yYuaW1JboWVsyqNMMgYbj9dn6pKgk3jXC88udBDXXOqC6e
	vmlIZQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=oss.qualcomm.com; s=google; t=1780470861; x=1781075661; darn=lists.xenproject.org;
        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
         :mime-version:subject:date:from:from:to:cc:subject:date:message-id
         :reply-to;
        bh=0NESXEAUnIJZlgHkQhSkW2BBr8htvCi9q/3exWK1858=;
        b=PlH4teFGB/8HvsagDachzyqm1TGkFb908sgBKCYoPQJiHYkr2Ltxbksd9MxOtjAHqR
         YzGaWZVKdEytaQ5quI9n2ZQ5V9/NHDaYdeMWnbBAq51X5zNUoeI58ou+8+U2l/769cRR
         NnBTFZnGG2lr7BpF3da3SjaihUrIcm34rlPD0I/w3SohdMSIEZAIG8FpXFmVWNgvXUcg
         H28KiPLJtqMijFAgc6fhlM+nevkLh540vfJA0dr19AFJ0tWQg58UHY9HTSjfhVGHaPxc
         HdQL/qSJLGEJAIUR68cLFZIt6jFoNMltBcQwBvwKEmvcU6Px/oUDabLkv6QpyNLY6VPD
         Yafg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780470861; x=1781075661;
        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
         :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=0NESXEAUnIJZlgHkQhSkW2BBr8htvCi9q/3exWK1858=;
        b=flQrZKeZpv02BGLNmRQhR2uqWHP6rADMDmCvwg84LzA8QyItfOegyREQx6ACgAwvFo
         uLMnWY3YW8dIPavzA3vzlP1lsmLRD3aeLPtK1O1e0px8OWcvDjzDGeWFHyHkdXwQfxvF
         ZBWKj9CSnfer/i0PbPxvgD2hagNAVQrqSe4qgqZUmxJARJehzw0auzszITz5QybgQa/s
         9W4k52ln5956kfDg8ipZCKkMmY2bWDp78lEgKx5v55kMh0T201amV5f+jc4Bwny7V4cm
         KeSbHdUdS5f7O6WrjQutKI8AomKwgYurN2UPbZwGywEgrvtYfmsl/EcZ2Xa0mJvpUqg1
         QHew==
X-Forwarded-Encrypted: i=1; AFNElJ/XGlLSiynHm2N2HpN0dXTgOmVd2AoB3osz+aTeZ8EzMjmWoWDqgb+b3GeDbGwGsDmmsdXMy//pQc8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw4Em1sXXOpTl8cB9nLAQt8WMUcNC++JwtlEx+gedss2Aqg1COJ
	3tFMjVcGncs0nFsi5bLNMywMyQUR3NtXIxudToLNSGoitDFGryQJ+BtoAfT3lEvJnmt4EZCyioA
	u5pxixke3gNzbr0kpsRHagXo1sxuAeNG8OjhNVVs4BSnZ8NJ34jxH4FTHax2R99Xibrxoiw==
X-Gm-Gg: Acq92OEifk0YJPiYiJ70iPLDYeveSVW3m6ikvRyPunxzjy5LV67iHLVGZ2RmWKLFWTm
	sjVBhz1NlsSrs5eAP4x+/ZL1BtwQCaAb2a5ijRKKF6lcIej6vNaP7ZRDOZ4eak3tj31s7/F7/jK
	r/oTC0seueNbpzbJHyNw6Ag/9iu+7yWF2mOWZU68x1M4YNGo4h/pLnPi2B5X3kBDrStumtDSP/6
	ULBIQD5siV1S5kvlx4uiyJXsvRaBgmbC/nQ0X1etQDnAQTt8UTw5Oe5yvusOFtMzuu4p6ITZVro
	N87LsFqHFIBLpK1wHjyEAOTja7s3X2SZX7zrt2pZC/GIUiGYIQyx0LIHIaTXYY24OB/4OfuiTVj
	AWn2iT7Iw59doLZSQ/O21afofwxC6PWgUO0DeCQ+2R0R142oQwUk4He9jxm34PE6ScUw=
X-Received: by 2002:a17:903:2409:b0:2bf:e5c:d90b with SMTP id d9443c01a7336-2c1644aae32mr24391845ad.32.1780470861078;
        Wed, 03 Jun 2026 00:14:21 -0700 (PDT)
X-Received: by 2002:a17:903:2409:b0:2bf:e5c:d90b with SMTP id d9443c01a7336-2c1644aae32mr24391335ad.32.1780470860486;
        Wed, 03 Jun 2026 00:14:20 -0700 (PDT)
From: Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>
Date: Wed, 03 Jun 2026 12:43:14 +0530
Subject: [PATCH v16 3/3] of: Respect #{iommu,msi}-cells in maps
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20260603-parse_iommu_cells-v16-3-dc509dacb19a@oss.qualcomm.com>
References: <20260603-parse_iommu_cells-v16-0-dc509dacb19a@oss.qualcomm.com>
In-Reply-To: <20260603-parse_iommu_cells-v16-0-dc509dacb19a@oss.qualcomm.com>
To: Nipun Gupta <nipun.gupta@amd.com>, Nikhil Agarwal <nikhil.agarwal@amd.com>,
        Joerg Roedel <joro@8bytes.org>, Will Deacon <will@kernel.org>,
        Robin Murphy <robin.murphy@arm.com>,
        Lorenzo Pieralisi <lpieralisi@kernel.org>,
        Marc Zyngier <maz@kernel.org>, Thomas Gleixner <tglx@kernel.org>,
        Rob Herring <robh@kernel.org>, Saravana Kannan <saravanak@kernel.org>,
        Richard Zhu <hongxing.zhu@nxp.com>,
        Lucas Stach <l.stach@pengutronix.de>,
        =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= <kwilczynski@kernel.org>,
        Manivannan Sadhasivam <mani@kernel.org>,
        Bjorn Helgaas <bhelgaas@google.com>, Frank Li <Frank.Li@nxp.com>,
        Sascha Hauer <s.hauer@pengutronix.de>,
        Pengutronix Kernel Team <kernel@pengutronix.de>,
        Fabio Estevam <festevam@gmail.com>, Juergen Gross <jgross@suse.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
        iommu@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
        devicetree@vger.kernel.org, linux-pci@vger.kernel.org,
        imx@lists.linux.dev, xen-devel@lists.xenproject.org,
        Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>,
        Charan Teja Kalla <charan.kalla@oss.qualcomm.com>
X-Mailer: b4 0.15.2
X-Developer-Signature: v=1; a=ed25519-sha256; t=1780470825; l=12579;
 i=vijayanand.jitta@oss.qualcomm.com; s=20260301; h=from:subject:message-id;
 bh=LPtm8WRL1ePgVwpjpfKGmM3BfFB+wBr62xMWuFSMIXc=;
 b=akSqVr4B15pnrlPKudtM7LDFqnlZY755iH00YvUmRmRXT010tIliyd5qbMUXYUsNrA1CeFZLr
 x5IZ2Ex1fT9Afpi39siNTFcy0lhQVnAIK8REPd8mwI7kfwda3ocWUcq
X-Developer-Key: i=vijayanand.jitta@oss.qualcomm.com; a=ed25519;
 pk=Lpi7Cs3wHe8KZtqvyci7FTOLzsKpEHKGCaPNZw+1zRI=
X-Proofpoint-ORIG-GUID: iRqgftd7dFG4Gpb_iCQCEgx25BUONMu2
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAzMDA2NyBTYWx0ZWRfXwt3eDiFFWYSH
 W+D+jbTJkcTTsoDrc0uEIuyrYssxk6bTbk49TfmHo9YpvrCaqXoH4a5xMM5bQ6C7kKuSelBBcP6
 15tAF1ftL/mdyMQWpSeeBEN6ejzoaVl25KoAl7r169/Lg5MoSbFQynRiZEyhbjvc5ZjCzB1G7nS
 Z29y3jUW0tL0FUGYjQ7bF6jnemm6atMODgf4tt/kqEUoXJDJliyhxzPWbtjAnGi6qGptOjx0Aj4
 Q3XEszDBT7Bqjq1wJmXkQWPjXa8Hn1t2n7fl8u8i6cCcs8BWre/thY/k+qbvrZCosL0JZKiWFEn
 S3CwwNehQ/2Sq9Gal0Yn2oQ6vzScmwSA5uyqiQxn2bvy14d5VOZePbDZBzqb8Xb6U2m2l8yc0Dg
 6HsH3oKZmM97cC9RDdHLZui7BHGRAffZDzirzqSuRGLEppYJVaXMARVyvOOyPPoo6GoCjG5iUWi
 b+WhBfQANvy8eIKHOLA==
X-Proofpoint-GUID: iRqgftd7dFG4Gpb_iCQCEgx25BUONMu2
X-Authority-Analysis: v=2.4 cv=O6IJeh9W c=1 sm=1 tr=0 ts=6a1fd44e cx=c_pps
 a=JL+w9abYAAE89/QcEU+0QA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17
 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22
 a=7CQSdrXTAAAA:8 a=EUspDBNiAAAA:8 a=9707C7GnR82a18xSEiYA:9 a=QEXdDO2ut3YA:10
 a=324X-CrmTo6CU4MGRt3R:22 a=a-qgeE7W1pNrGK8U0ZQC:22
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_02,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
 clxscore=1015 suspectscore=0 bulkscore=0 malwarescore=0 lowpriorityscore=0
 impostorscore=0 spamscore=0 adultscore=0 phishscore=0 priorityscore=1501
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606030067
X-purgate-ID: tlsNG-d62444/1780470864-AFF50FF4-CB6CDA92/0/0
X-purgate-type: clean
X-purgate-size: 12626

From: Robin Murphy <robin.murphy@arm.com>

So far our parsing of {iommu,msi}-map properties has always blindly
assumed that the output specifiers will always have exactly 1 cell.
This typically does happen to be the case, but is not actually enforced
(and the PCI msi-map binding even explicitly states support for 0 or 1
cells) - as a result we've now ended up with dodgy DTs out in the field
which depend on this behaviour to map a 1-cell specifier for a 2-cell
provider, despite that being bogus per the bindings themselves.

Since there is some potential use in being able to map at least single
input IDs to multi-cell output specifiers (and properly support 0-cell
outputs as well), add support for properly parsing and using the target
nodes' #cells values, albeit with the unfortunate complication of still
having to work around expectations of the old behaviour too.

Since there are multi-cell output specifiers, the callers of of_map_id()
may need to get the exact cell output value for further processing.
Update of_map_id() to set args_count in the output to reflect the actual
number of output specifier cells.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Charan Teja Kalla <charan.kalla@oss.qualcomm.com>
Signed-off-by: Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>
---
 drivers/of/base.c  | 168 +++++++++++++++++++++++++++++++++++++++++------------
 include/linux/of.h |   6 +-
 2 files changed, 135 insertions(+), 39 deletions(-)

diff --git a/drivers/of/base.c b/drivers/of/base.c
index d658c2620135..ac7961cbab94 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -2116,19 +2116,49 @@ int of_find_last_cache_level(unsigned int cpu)
 	return cache_level;
 }
 
+/*
+ * Some DTs have an iommu-map targeting a 2-cell IOMMU node while
+ * specifying only 1 cell. Fortunately they all consist of value '1'
+ * as the 2nd cell entry with the same target, so check for that pattern.
+ *
+ * Example:
+ *	IOMMU node:
+ *		#iommu-cells = <2>;
+ *
+ *	Device node:
+ *		iommu-map = <0x0000 &smmu 0x0000 0x1>,
+ *			    <0x0100 &smmu 0x0100 0x1>;
+ */
+static bool of_check_bad_map(const __be32 *map, int len)
+{
+	__be32 phandle = map[1];
+
+	if (len % 4)
+		return false;
+	for (int i = 0; i < len; i += 4) {
+		if (map[i + 1] != phandle || map[i + 3] != cpu_to_be32(1))
+			return false;
+	}
+	return true;
+}
+
 /**
  * of_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.
+ * @cells_name: property name of target specifier cells.
  * @map_mask_name: optional property name of the mask to use.
  * @filter_np: pointer to an optional filter node, or NULL to allow bypass.
  *	If non-NULL, the map property must exist (-ENODEV if absent). If
  *	*filter_np is also non-NULL, only entries targeting that node match.
  * @arg: pointer to a &struct of_phandle_args for the result. On success,
- *	@arg->args[0] will contain the translated ID. If a map entry was
- *	matched, @arg->np will be set to the target node with a reference
- *	held that the caller must release with of_node_put().
+ *	@arg->args_count will be set to the number of output specifier cells
+ *	as defined by @cells_name in the target node, and
+ *	@arg->args[0..args_count-1] will contain the translated output
+ *	specifier values. If a map entry was matched, @arg->np will be set
+ *	to the target node with a reference held that the caller must release
+ *	with of_node_put().
  *
  * Given a device ID, look up the appropriate implementation-defined
  * platform ID and/or the target device which receives transactions on that
@@ -2137,19 +2167,21 @@ int of_find_last_cache_level(unsigned int cpu)
  * Return: 0 on success or a standard error code on failure.
  */
 int of_map_id(const struct device_node *np, u32 id,
-	       const char *map_name, const char *map_mask_name,
+	       const char *map_name, const char *cells_name,
+	       const char *map_mask_name,
 	       struct device_node * const *filter_np, struct of_phandle_args *arg)
 {
 	u32 map_mask, masked_id;
-	int map_len;
+	int map_bytes, map_len, offset = 0;
+	bool bad_map = false;
 	const __be32 *map = NULL;
 
-	if (!np || !map_name || !arg)
+	if (!np || !map_name || !cells_name || !arg)
 		return -EINVAL;
 	/* Ensure bypass/no-match success never returns a stale target node. */
 	arg->np = NULL;
 
-	map = of_get_property(np, map_name, &map_len);
+	map = of_get_property(np, map_name, &map_bytes);
 	if (!map) {
 		if (filter_np)
 			return -ENODEV;
@@ -2159,11 +2191,9 @@ int of_map_id(const struct device_node *np, u32 id,
 		return 0;
 	}
 
-	if (!map_len || map_len % (4 * sizeof(*map))) {
-		pr_err("%pOF: Error: Bad %s length: %d\n", np,
-			map_name, map_len);
-		return -EINVAL;
-	}
+	if (map_bytes % sizeof(*map))
+		goto err_map_len;
+	map_len = map_bytes / sizeof(*map);
 
 	/* The default is to select all bits. */
 	map_mask = 0xffffffff;
@@ -2176,39 +2206,93 @@ int of_map_id(const struct device_node *np, u32 id,
 		of_property_read_u32(np, map_mask_name, &map_mask);
 
 	masked_id = map_mask & id;
-	for ( ; map_len > 0; map_len -= 4 * sizeof(*map), map += 4) {
+
+	while (offset < map_len) {
 		struct device_node *phandle_node;
-		u32 id_base = be32_to_cpup(map + 0);
-		u32 phandle = be32_to_cpup(map + 1);
-		u32 out_base = be32_to_cpup(map + 2);
-		u32 id_len = be32_to_cpup(map + 3);
+		u32 id_base, phandle, id_len, id_off, cells = 0;
+		const __be32 *out_base;
+
+		if (map_len - offset < 2)
+			goto err_map_len;
+
+		id_base = be32_to_cpup(map + offset);
 
 		if (id_base & ~map_mask) {
-			pr_err("%pOF: Invalid %s translation - %s-mask (0x%x) ignores id-base (0x%x)\n",
-				np, map_name, map_name,
-				map_mask, id_base);
+			pr_err("%pOF: Invalid %s translation - %s (0x%x) ignores id-base (0x%x)\n",
+			       np, map_name, map_mask_name, map_mask, id_base);
 			return -EFAULT;
 		}
 
-		if (masked_id < id_base || masked_id >= id_base + id_len)
-			continue;
-
+		phandle = be32_to_cpup(map + offset + 1);
 		phandle_node = of_find_node_by_phandle(phandle);
 		if (!phandle_node)
 			return -ENODEV;
 
+		/*
+		 * Assume 1-cell output specifier if the target node lacks the
+		 * #cells property, for backward compatibility with controllers
+		 * that predate the property (e.g. arm,gic-v2m-frame).
+		 */
+		if (bad_map || of_property_read_u32(phandle_node, cells_name, &cells))
+			cells = 1;
+
+		if (cells > MAX_PHANDLE_ARGS) {
+			pr_err("%pOF: %s cell count %d exceeds maximum\n",
+			       phandle_node, cells_name, cells);
+			of_node_put(phandle_node);
+			return -EINVAL;
+		}
+
+		if (offset == 0 && cells == 2) {
+			bad_map = of_check_bad_map(map, map_len);
+			if (bad_map) {
+				pr_warn_once("%pOF: %s has 1-cell entries targeting 2-cell %s, treating as 1-cell output\n",
+					     np, map_name, cells_name);
+				cells = 1;
+			}
+		}
+
+		if (map_len - offset < 3 + cells) {
+			of_node_put(phandle_node);
+			goto err_map_len;
+		}
+
+		out_base = map + offset + 2;
+		offset += 3 + cells;
+
+		id_len = be32_to_cpup(map + offset - 1);
+		id_off = masked_id - id_base;
+		if (masked_id < id_base || id_off >= id_len) {
+			of_node_put(phandle_node);
+			continue;
+		}
+		if (id_len > 1 && cells > 1) {
+			/*
+			 * With 1 output cell we reasonably assume its value
+			 * has a linear relationship to the input; with more,
+			 * we'd need help from the provider to know what to do.
+			 */
+			pr_err("%pOF: Unsupported %s - cannot handle %d-ID range with %d-cell output specifier\n",
+			       np, map_name, id_len, cells);
+			of_node_put(phandle_node);
+			return -EINVAL;
+		}
+
 		if (filter_np && *filter_np && *filter_np != phandle_node) {
 			of_node_put(phandle_node);
 			continue;
 		}
 
 		arg->np = phandle_node;
-		arg->args[0] = masked_id - id_base + out_base;
-		arg->args_count = 1;
+		for (int i = 0; i < cells; i++)
+			arg->args[i] = id_off + be32_to_cpu(out_base[i]);
+		arg->args_count = cells;
 
 		pr_debug("%pOF: %s, using mask %08x, id-base: %08x, out-base: %08x, length: %08x, id: %08x -> %08x\n",
-			np, map_name, map_mask, id_base, out_base,
-			id_len, id, masked_id - id_base + out_base);
+			np, map_name, map_mask, id_base,
+			cells ? be32_to_cpup(out_base) : 0,
+			id_len, id,
+			cells ? id_off + be32_to_cpup(out_base) : id_off);
 		return 0;
 	}
 
@@ -2219,6 +2303,10 @@ int of_map_id(const struct device_node *np, u32 id,
 	arg->args[0] = id;
 	arg->args_count = 1;
 	return 0;
+
+err_map_len:
+	pr_err("%pOF: Error: Bad %s length: %d\n", np, map_name, map_bytes);
+	return -EINVAL;
 }
 EXPORT_SYMBOL_GPL(of_map_id);
 
@@ -2228,18 +2316,21 @@ EXPORT_SYMBOL_GPL(of_map_id);
  * @id: Requester ID of the device (e.g. PCI RID/BDF or a platform
  *      stream/device ID) used as the lookup key in the iommu-map table.
  * @arg: pointer to a &struct of_phandle_args for the result. On success,
- *	@arg->args[0] contains the translated ID. If a map entry was matched,
- *	@arg->np holds a reference to the target node that the caller must
- *	release with of_node_put().
+ *	@arg->args_count will be set to the number of output specifier cells
+ *	and @arg->args[0..args_count-1] will contain the translated output
+ *	specifier values. If a map entry was matched, @arg->np holds a
+ *	reference to the target node that the caller must release with
+ *	of_node_put().
  *
- * Convenience wrapper around of_map_id() using "iommu-map" and "iommu-map-mask".
+ * Convenience wrapper around of_map_id() using "iommu-map", "#iommu-cells",
+ * and "iommu-map-mask".
  *
  * Return: 0 on success or a standard error code on failure.
  */
 int of_map_iommu_id(const struct device_node *np, u32 id,
 		    struct of_phandle_args *arg)
 {
-	return of_map_id(np, id, "iommu-map", "iommu-map-mask", NULL, arg);
+	return of_map_id(np, id, "iommu-map", "#iommu-cells", "iommu-map-mask", NULL, arg);
 }
 EXPORT_SYMBOL_GPL(of_map_iommu_id);
 
@@ -2252,17 +2343,20 @@ EXPORT_SYMBOL_GPL(of_map_iommu_id);
  *	If non-NULL, the map property must exist (-ENODEV if absent). If
  *	*filter_np is also non-NULL, only entries targeting that node match.
  * @arg: pointer to a &struct of_phandle_args for the result. On success,
- *	@arg->args[0] contains the translated ID. If a map entry was matched,
- *	@arg->np holds a reference to the target node that the caller must
- *	release with of_node_put().
+ *	@arg->args_count will be set to the number of output specifier cells
+ *	and @arg->args[0..args_count-1] will contain the translated output
+ *	specifier values. If a map entry was matched, @arg->np holds a
+ *	reference to the target node that the caller must release with
+ *	of_node_put().
  *
- * Convenience wrapper around of_map_id() using "msi-map" and "msi-map-mask".
+ * Convenience wrapper around of_map_id() using "msi-map", "#msi-cells",
+ * and "msi-map-mask".
  *
  * Return: 0 on success or a standard error code on failure.
  */
 int of_map_msi_id(const struct device_node *np, u32 id,
 		  struct device_node * const *filter_np, struct of_phandle_args *arg)
 {
-	return of_map_id(np, id, "msi-map", "msi-map-mask", filter_np, arg);
+	return of_map_id(np, id, "msi-map", "#msi-cells", "msi-map-mask", filter_np, arg);
 }
 EXPORT_SYMBOL_GPL(of_map_msi_id);
diff --git a/include/linux/of.h b/include/linux/of.h
index ea50b45d9ff7..374b249766a2 100644
--- a/include/linux/of.h
+++ b/include/linux/of.h
@@ -465,7 +465,8 @@ const char *of_prop_next_string(const struct property *prop, const char *cur);
 bool of_console_check(const struct device_node *dn, char *name, int index);
 
 int of_map_id(const struct device_node *np, u32 id,
-	       const char *map_name, const char *map_mask_name,
+	       const char *map_name, const char *cells_name,
+	       const char *map_mask_name,
 	       struct device_node * const *filter_np,
 	       struct of_phandle_args *arg);
 
@@ -950,7 +951,8 @@ static inline void of_property_clear_flag(struct property *p, unsigned long flag
 }
 
 static inline int of_map_id(const struct device_node *np, u32 id,
-			     const char *map_name, const char *map_mask_name,
+			     const char *map_name, const char *cells_name,
+			     const char *map_mask_name,
 			     struct device_node * const *filter_np,
 			     struct of_phandle_args *arg)
 {

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 07:36:53 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 07:36:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325805.1591146 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUg9b-0003KP-UZ; Wed, 03 Jun 2026 07:36:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325805.1591146; Wed, 03 Jun 2026 07: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 1wUg9b-0003KI-Rd; Wed, 03 Jun 2026 07:36:43 +0000
Received: by outflank-mailman (input) for mailman id 1325805;
 Wed, 03 Jun 2026 07:36:42 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUg9a-0003K7-GE
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 07:36:42 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUg9Y-005a3m-Cf
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 09:36:40 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fd987-e002-0a2a0a5209dd-0a2a45019394-2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 09:36:40 +0200
Received: from [209.85.221.54] (helo=mail-wr1-f54.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fd988-c1f2-0a2a45010019-d155dd36b1f2-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 09:36:40 +0200
Received: by mail-wr1-f54.google.com with SMTP id
 ffacd0b85a97d-45eedc94d37so3169500f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 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-4601f344762sm5857333f8f.23.2026.06.03.00.36.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780472200; x=1781077000; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=eDlPp192v1q8ObAZ8jaeGflLxcbf6kqkOxPpHfsTVLY=;
        b=LkEXXsM5YRQ/b3QVt5i8EljpLawUnu4dRf9cjNcTP/GrhQqqHsBpVBKYlChUKh32I8
         VhEbkFPOPXqM+921Y8BHJoHB7d2iSHdrrL6jb9f8xLOgFpXk8i6er8/99OXDyObK3+B4
         16HCLazq9ZMF/dsRi87g0/iyiTqC+07/HMrUzSHhtvqXo0SeXdWtpNDAEJCFtfpmC1QP
         98BypbjAuv88Uti/BhufcwYc2maNPJIbWayQxs78VJpuXT89Eh7sVrann6jln83PAmKV
         XqBb7AA2uAkANFu4FlDEn0a3Du5z5pJNmWYPp9Tq5amAqLdRj8vGcWb+MyTqtnurLOUZ
         KDBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780472200; x=1781077000;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=eDlPp192v1q8ObAZ8jaeGflLxcbf6kqkOxPpHfsTVLY=;
        b=ntzsCDeL8yLsCek3drfDTxH7mMCm5QPDf8HhTj35Th8CGGX86k+i8bygpYC7051PM0
         7btoMyO0sjNsGP0AZjCht9OZZNc+T3y+Ueo2vAue54bMlo4aZrhjZHYprtDd+VZomiow
         9XHtYGgUhwkD0+ry6iNojMDK1Osv7bqmXZ+WjORYiXnQvO64/mz2RInfbTTheFkXWoov
         OKvVtO+imAJkDo2NujHcgNF3iwvG/V/CyfBEDyHZuOwA7wgGVnkcPpLZ0sNxgF5OHxmB
         gvhEue+SW/XnR0PlfjpwLGMEerun0sP2iEnxHROm4qxv5WsLxiHQMwK/ClA+n0vQsqu8
         gKsw==
X-Forwarded-Encrypted: i=1; AFNElJ8CCqQYYIStLdBDCLl2icmDo+iGsSbuu2IyqMjPNSaMjG6yFj0ajynkpLbdlHiztql7yoUXjWsebzM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx/jNUxrWPKud380xu7JCTuw64rW2iplfUqazfPGQ3HtKGfVhDs
	8rCClWo/XhuZjYzN8M6BlXPALn0AfYuSYJgp4JNG6raXmnWGe14KVrjL3JV0fKP1JQ==
X-Gm-Gg: Acq92OHY9C0qf0j9KZInE621vkMLK2RIZWW5F3AgoppKbPgfEp79FI6LmxvqnHuWa0x
	aS3DjcI/l4Y9huXgYorrCMh5NkA171A1KeXKYjcMRhlVBOaXgObcY1BXZkClDPb67w9Cz46KbgL
	7FbdltnG/D+lG8hIEKX9ErYmhbFv1TAu0Dnfzbi9eH4NH4hEov/5AvdSy8XUIfXV4lV3kP/b6bL
	oxYulU77208nm4LUi6gI07RV3QL9aZcOcErxMDjtmzAm1slrA/XtWI6toGUHtGWQXe0LlNxEBD3
	uIt7J5WQZm6G4IvwajpmhSbgXZLFUh5Yc3jl3i86bHn9rnP9/YhMbZa8pgQVZXeRZCRGws6ruLZ
	SjnC1Yi/iQglG6panLkZmaoO6bqTsLvYGEDQDGBlwzgeh71gpsOjDKs/arJo13XpLGX0dt3D1u1
	pXbz7oUD/oeIerRA7ctzIR6DUmggketELj9AH85O8FJGvJ/uaQR91/sUDYfeXf/9LIzQtzSbQ2E
	RKJrK0FJ6OqGDa1dIhyoGZKMlA+3ZRNXdDz
X-Received: by 2002:a05:6000:611:b0:45e:ea9b:edfb with SMTP id ffacd0b85a97d-46021893197mr2835129f8f.39.1780472199614;
        Wed, 03 Jun 2026 00:36:39 -0700 (PDT)
Message-ID: <a0de8496-66cb-4e7f-854e-fcc0053bd666@suse.com>
Date: Wed, 3 Jun 2026 09:36:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/domain: make shutdown state explicit
To: Mykola Kvach <xakep.amatop@gmail.com>
Cc: Mykola Kvach <mykola_kvach@epam.com>, Paul Durrant <paul@xen.org>,
 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>, Tim Deegan <tim@xen.org>,
 Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>, xen-devel@lists.xenproject.org
References: <e9c45be41bb36ca341dad57196c753fbe82d1526.1774998397.git.mykola_kvach@epam.com>
 <d53d2b06-56d7-43bc-bb20-4df7b7bc3ca5@suse.com>
 <CAGeoDV8RXEvV03WCRU5WqZvAgU1G9GmVpaed1ZR+ezbEjgLjMg@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: <CAGeoDV8RXEvV03WCRU5WqZvAgU1G9GmVpaed1ZR+ezbEjgLjMg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1780472200-B6D59FF4-CB2F02E3/0/0
X-purgate-type: clean
X-purgate-size: 4772

On 03.06.2026 08:46, Mykola Kvach wrote:
> On Wed, Apr 8, 2026 at 4:06â€¯PM Jan Beulich <jbeulich@suse.com> wrote:
>> On 01.04.2026 08:41, Mykola Kvach wrote:
>>> From: Mykola Kvach <mykola_kvach@epam.com>
>>>
>>> The shutdown flow currently overloads is_shutting_down and
>>> is_shut_down to represent multiple phases of the shutdown lifecycle.
>>> Some users treat is_shutting_down narrowly as "shutdown still needs to
>>> be driven to completion", while others rely on it more broadly as
>>> "the domain is no longer in its normal running state".
>>>
>>> Make the lifecycle explicit by introducing enum
>>> domain_shutdown_state and helper predicates whose names match their
>>> semantics: domain_shutting_down() for the transient phase,
>>> domain_shutdown_completed() for the final state, and
>>> domain_in_shutdown_state() for checks that need the union of both.
>>>
>>> The conversion is intentionally not mechanical. The old flags were not
>>> mutually exclusive: once a domain became fully shut down,
>>> is_shutting_down remained set. As a result, sites that previously
>>> used the absence of is_shutting_down to exclude both the transient and
>>> completed states now use domain_in_shutdown_state(), sites that care
>>> specifically about the final state use domain_shutdown_completed(),
>>> and only paths that still have work to do before shutdown finalization
>>> use domain_shutting_down().
>>
>> In how far is the distinction between domain_shutting_down() and
>> domain_in_shutdown_state() really necessary? What you describe above
>> still leaves me pretty clueless as to almost(?) all of the uses of the
>> latter (where I think the former could be used just as well). Many
>> paths simply can't be taken anymore for a fully shut down domain, so
>> the distinction between the two is moot there.
>>
>> I'm also concerned of the name domain_in_shutdown_state() itself. To
>> me this is far closer to domain_shutdown_completed() than to the union
>> of both states. See how e.g. x86 CPUs can be "in shutdown state", i.e.
>> not responding to anything but a reset or init signal.
>>
>> IOW an entirely mechanical replacement might in fact be easier to look
>> at. And in the one rare case where the distinction might indeed be
>> relevant, "domain_shutting_down() || domain_shutdown_completed()" could
>> be used.
>>
>>> @@ -1423,9 +1423,12 @@ int domain_shutdown(struct domain *d, u8 reason)
>>>      return 0;
>>>  }
>>>
>>> -void domain_resume(struct domain *d)
>>> +int domain_resume(struct domain *d)
>>>  {
>>>      struct vcpu *v;
>>> +    enum domain_shutdown_state shutdown_state;
>>> +    unsigned int shutdown_code;
>>> +    int rc = 0;
>>>
>>>      /*
>>>       * Some code paths assume that shutdown status does not get reset under
>>> @@ -1435,10 +1438,18 @@ void domain_resume(struct domain *d)
>>>
>>>      spin_lock(&d->shutdown_lock);
>>>
>>> -    d->is_shutting_down = d->is_shut_down = 0;
>>> +    shutdown_state = d->shutdown_state;
>>> +    shutdown_code = d->shutdown_code;
>>> +
>>> +    if ( !domain_shutdown_completed(d) )
>>> +    {
>>> +        rc = -EINVAL;
>>> +        goto out_unlock;
>>> +    }
>>
>> I can't help the impression that you're mixing two things here - adjustment
>> to how shutdown state is tracked, and enforcement of completed shutdown
>> right here. This separate change likely would better be split out, and then
>> come with a description saying not only what is being changed, but also why,
>> and why the change is correct for both call sites.
> 
> In v3 I have dropped this part, so the patch no longer changes
> domain_resume() behaviour or its callers. domain_resume() remains void,
> and the patch only makes the existing shutdown state tracking explicit.
> 
> One follow-up question about the dropped change: do you think resume-state
> validation would be worth pursuing separately?
> 
> AFAICT, soft reset already has its own DOMCTL path, so I do not mean to treat
> XEN_DOMCTL_resumedomain as a soft-reset interface. The distinction I had in
> mind is rather that we may want different validation rules for the generic
> resume helper and for a resume-from-suspend path. In particular, soft reset
> could keep the current semantics, while a resume-from-suspend path would only
> clear the shutdown state if the domain had previously entered suspend.
> 
> If this distinction makes sense, I can look into it as a separate patch with
> its own justification for the affected call sites. Otherwise I will leave it
> out.

I guess I'd need to see a patch to really build an opinion. Generally yes,
state validation (even if e.g. only by way of assertions) is a useful thing
to have, I think.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 07:46:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 07:46:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325813.1591155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUgJC-0005Ji-SM; Wed, 03 Jun 2026 07:46:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325813.1591155; Wed, 03 Jun 2026 07:46: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 1wUgJC-0005Jb-P8; Wed, 03 Jun 2026 07:46:38 +0000
Received: by outflank-mailman (input) for mailman id 1325813;
 Wed, 03 Jun 2026 07:46:37 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUgJB-0005JV-5g
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 07:46:37 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUgJA-0062G3-7j
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 09:46:36 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fdbda-e002-0a2a0a5209dd-0a2a450adc0c-8
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 09:46:36 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fdbdb-56b3-0a2a450a0019-d155802cb541-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 09:46:36 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-4906869f0cbso118761085e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 00:46: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-490b6d16f0csm36369975e9.15.2026.06.03.00.46.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 00:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780472795; x=1781077595; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=H7o35ExRERVB7jzT3LSNLMX4epZ2DHPw6hlupjxS4QU=;
        b=ElIDhSpICihb4hj76UCbiHCGf49SK7U6JXdfH72xOzrwvBqNJ4l7rqSfcucjqqZXpE
         Pl3+0r1n6AtgJQ3gqxYmcMkPYlChWoIutl2W+v5Un4cBhQi6sfy92vTSQ+4HSb2Q4pQ6
         AqZFQJmY2JhVbN6La416DVpIZcR2FqRgg7ae6T52xu5VCTaZ/2Kw/7sXCli1AEBEc0iU
         ZAO20m6zgWCWVeNxTxUe9DaBAkifVI3SBr6GNhOJ/RHWRehjxwXVBD34457sSlU5JQwv
         4atthyvEIvjd6d56ZwiOFjl3yzjXVbNopfNtm7JOY4WsLW4L0HrJenRD6HMiWSkZKz1Q
         S19w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780472795; x=1781077595;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=H7o35ExRERVB7jzT3LSNLMX4epZ2DHPw6hlupjxS4QU=;
        b=ClkHtYILTVXGLMs5hlJaXqslabBGRJLmQ6zNdUPVVxcsTrQpExr0A6e+WzNu9souZI
         r/rD4QJe+mW37b9GLTGu5wM4Lde2Nc1RJ7vAqEQS1Gd4jAkHn8fHMQSlyTPLXuc5C1P+
         /6Tg/uOKTGeg6vqEkcu0MpdjJSdY/tKru8CYBttpXOTZzchz3jYOwlNrNq4Cik7xO/P8
         IT+lP6cTnFvhudUYiJkxnoiWdrd7AymM4d2BI0dCgtjV0MYRInaGB2b5EJ4eNTWitfkj
         F/IOZMdpf1GzKqHZDaUMvJBnpX/zkRoxCU5nqHTKh+OgOZIBaRsDAdZMpQ9KB38hQXxm
         3ycw==
X-Forwarded-Encrypted: i=1; AFNElJ9HNrSA93QKuy1ccAZnozcsxj3lF19rCVed0T2gY6yI/GQ+gbZVbOgrNEOwIPpzQyQ8b7fiZxgd/hk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxpu6haN+n97KlGMayGBQvsCwx5mOgfu7pQhUo9R9RkYXxlq5ue
	dEEKoiVg0Qi6rZHyQOsEjr6fZK3s2yp4GMn29LKJSKfG2ZGY47MoSP/rMa5tW2hl3A==
X-Gm-Gg: Acq92OGMDan9VV0zHqvnmpviQ25fSv+ZDCk1y5eeaYJJVRrnigfcTi6N44KrlwUvnuL
	1UP+H45227FQJMLOqomyT9T1cVfRguvNiiHk+MySIb3ZMM3o1fOa7yOBT2YeLHO9EfjoqhzWH2e
	wW/sgB31ulc+4RxVsq1wXo5BZESgbwvGrdD8LiWXDZz8IV7pJ9lmbyId1/DzoMyDfYjKUIW10J9
	+TIsabxor7CrekVOyRTENoRYU3WW77rtQhz3iKXkevqrbyG2bxixr5dSuqxMXrBJcNPq+XEAJNy
	9bx2BFwA92tR+P+6Dm63nKTMWayi9bbvTkly/Qh7476AL10+2ZRJ5+9wO3TrcH/MWM1ojsgho+n
	z8R8biDnpyYe+QtE4RjbFkvOviQ1spM+Tweboc4B5UPSIOd6vIFUHZYNroEjNSxTxSQMjik9N6T
	b3+rkY6aJcooqBQ1VlREifIYpRs+GMUaruLuk/iwmcLYYkv1xJCTPelM05MS8ylUgayYVVLj5n3
	VU5pDyciGxWIJkKYUQca3HY8nTI4oT4rO0b
X-Received: by 2002:a05:600c:1d86:b0:48a:9428:5522 with SMTP id 5b1f17b1804b1-490b60de617mr31013235e9.16.1780472795577;
        Wed, 03 Jun 2026 00:46:35 -0700 (PDT)
Message-ID: <3bb5d37d-13a4-4cf7-9fd0-c11cb2441300@suse.com>
Date: Wed, 3 Jun 2026 09:46:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/decompress: resolve MISRA R5.5 identifier/macro
 name conflicts
To: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <025bc771fe1339dfae476037af86c6bfa1048382.1779654114.git.dmytro_prokopchuk1@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <025bc771fe1339dfae476037af86c6bfa1048382.1779654114.git.dmytro_prokopchuk1@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-4011c0/1780472796-73D788B7-4082D7FF/0/0
X-purgate-type: clean
X-purgate-size: 2172

On 24.05.2026 22:25, Dmytro Prokopchuk1 wrote:
> Convert 'free' macro in 'decompress.h' from object-like to function-like
> form.
> 
> The object-like macro '#define free xfree' performs unconditional text
> replacement, causing conflicts with identifiers named 'free', such as
> struct fields in 'page_info' unions defined in 'xen/arch/arm/include/asm/mm.h'.
> Function-like macros only match when followed by parentheses, allowing
> 'free' to be used both as a macro and as a struct field without conflicts.
> 
> Applying function-like form to 'malloc', 'large_malloc' and 'large_free'
> ensures consistent macro style.

Hmm, are you sure things are consistent now? (See bottom.)

> Function-like macros also intentionally prevent uses where the underlying
> function identifier is needed directly, such as taking a function pointer.

Why "intentionally"? I rather view this as a generally unwanted effect,
merely acceptable here due to ...

> No such uses exist in the current Xen codebase.

... this. IOW I'd suggest to re-word the paragraph to

"While function-like macros prevent uses where the underlying function
 identifier is needed directly, such as taking a function pointer, no
 such uses exist in the current Xen codebase."

> Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
with ...

> --- a/xen/common/decompress.h
> +++ b/xen/common/decompress.h
> @@ -9,11 +9,11 @@
>  #include <xen/types.h>
>  #include <xen/xmalloc.h>
>  
> -#define malloc xmalloc_bytes
> -#define free xfree
> +#define malloc(a) xmalloc_bytes(a)
> +#define free(a) xfree(a)
>  
> -#define large_malloc xmalloc_bytes
> -#define large_free xfree
> +#define large_malloc(a) xmalloc_bytes(a)
> +#define large_free(a) xfree(a)
>  
>  #else

... the two macros down from here also adjusted accordingly. Or
alternatively (maybe even better, as that's reducing redundancy) with
large_{malloc,free}() moved past the #endif.

Could I additionally talk you into naming the macro parameters closer to
what they actually represent (e.g. "s" for malloc() and "p" for free())?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 07:53:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 07:53:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325819.1591164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUgPS-0007Dn-Gh; Wed, 03 Jun 2026 07:53:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325819.1591164; Wed, 03 Jun 2026 07:53:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUgPS-0007Dg-Cv; Wed, 03 Jun 2026 07:53:06 +0000
Received: by outflank-mailman (input) for mailman id 1325819;
 Wed, 03 Jun 2026 07:53:05 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUgPQ-0007Da-W4
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 07:53:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUgPQ-00HN9Z-3h
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 09:53:04 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fdd4a-2eae-0a2a0a5409dd-0a2a45048112-42
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 09:53:04 +0200
Received: from [209.85.128.47] (helo=mail-wm1-f47.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fdd5f-1dec-0a2a45040019-d155802ff016-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 09:53:03 +0200
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-490af320e2aso24376165e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 00:53: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-4601f2e4004sm5601481f8f.9.2026.06.03.00.53.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780473183; x=1781077983; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=hQBbA0BeRSilHQju6MRDMgMQ34bh3W2P0XlO+6zEcG0=;
        b=aBDq4LSyv5U+EUpOA3g27B6a97LUyYgJmT8T+KBa3xQpEgrt2lrvpB1h+TX1rdO7Gs
         gs0lYvALpmA6GVmLzR/mG4qADAiaR6yoUqOBVMG//UwwZHRpwKRm5Du63J7Es/uCZeIG
         dojKsgFRdlDgU8Mx/yptI3KIRbJ1Y0rTQs3MTcAd1NReFXUI17nQLgv5XiThaNz//Hl9
         KOs5SrdXWLUBvNOKH/K9gBdOSGH1/b9uUUBwrFLkTNCNNpqox0NDHTPb3y2XN/XVlBed
         NQCFnV1L8sk3JnaPFHENk+TplDvA5NupjfBSig0Rj75loUv2VvwM07RBmMtYnAbW5zl/
         pTfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780473183; x=1781077983;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hQBbA0BeRSilHQju6MRDMgMQ34bh3W2P0XlO+6zEcG0=;
        b=CrZ1z0VS9oCdw6CzbdOz2MhLUVrUjRJdNe5D0fsEbWNSUz7mYbmL5UnJPt1XFDn5FS
         fQxEL5RRF5EB0843stpQHJINenqynmScC9AKGMbfrpWAN4VFjyRv8Top1qFDhIPG4kDh
         4tDb5Nk8d6RzimAuzd6PC7Da2rMtRHXUpnmYGaNv0dhcpFnJdRiQmFSe6WL244S7Eq+F
         64sq7MPv6LrD/8gle5NRiSEmH0VFuGQYRGXAvInwLz+qMuNLU6ZejP4cAVZciy3/uOiP
         YAQrP0NF6zzQ1CIzpBV0wG59l+LI1adiSr67tnTAqb1cZZv0rNwCxle65i03jJziXNG9
         nWDg==
X-Forwarded-Encrypted: i=1; AFNElJ+1AizgMXihR/OFHqQGeukYl+jGhhMOptFkoPMEuBTyWHooYb9eOtAaTSfepbOloothn4AfzrxbZDA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzBlepkuzWea4bqCVh1R8tXxQEw7Y1pliN8W3jh15pmaJ6fwVYB
	kog8g/h0AFlifH1AR95ZqM5MqeGW9W3YV0be0srEmttwF8MLLKGuxQsfMA+KrqDbZQ==
X-Gm-Gg: Acq92OEJge4CoU0lGPDlrfY18oQJNzLr8uvhEL4TGEccHOjdyFAflz82Q8meuPmS11L
	NRbmAbGzTSFyGpumY6AXj7wxD/gzFVFcrd0FRyqQtmbI9CVIoU69xwHeYXD7Xzeslf3GzWLmGLN
	lDM6NgeSNvatZ2l/Q3dXnauKLjxekr+dzIczG8PXJ1qU4fbcT0DEyDNxgVZnL1Lz/D2nDUlrO8C
	Fpp3H2qcRiqfAAqbH8ZJ0lqLn6FigPnv7UXQ8Hl++JvwWznFmOsMwaK69SkezgYPNrFoMvR1ChY
	tFnuDYRdO7lWaBOVqh/ui75Wi23EVrIkujVNIE0VVC/LaLZHn6HLkF+bDox5MvYF1zanDl+QxYH
	/oggM1+4QHCqQMhbcMH4rLpjxONFjQ2aRxO2vHZ3dEh8NvNZSlN0YuTMCKUpQJN3McVxOlGOdsr
	7aVbCfhQ2GsI4lfAbLRHTrkfv8kqgZR8TIYAQQimuHVjXQCD/93Fm53ynfUTtvgpGP1ERyNe/1r
	er7cXSkzAReE15OQvHG8TOy0cCB8gpAyfK5
X-Received: by 2002:a05:600c:4e87:b0:490:9d1b:f05c with SMTP id 5b1f17b1804b1-490b60e3f91mr38110365e9.33.1780473183102;
        Wed, 03 Jun 2026 00:53:03 -0700 (PDT)
Message-ID: <e1a9f1f9-6c97-48e9-8dfa-256c11b034b2@suse.com>
Date: Wed, 3 Jun 2026 09:53:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] misra: deviate MISRA C Rule 5.5 for
 'hypfs_alloc_dyndata'
To: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
Cc: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cover.1779709902.git.dmytro_prokopchuk1@epam.com>
 <ea6996796564e18334e9951449748e5ac4a8a7f6.1779709902.git.dmytro_prokopchuk1@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ea6996796564e18334e9951449748e5ac4a8a7f6.1779709902.git.dmytro_prokopchuk1@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1780473183-42D643FF-54C0D61F/0/0
X-purgate-type: clean
X-purgate-size: 2556

On 25.05.2026 14:05, Dmytro Prokopchuk1 wrote:
> MISRA C Rule 5.5 states: "Identifiers shall be distinct from macro
> names".
> 
> Update ECLAIR configuration to deviate intentional identifier and
> macro name clashes by specifying the macros that should be ignored.
> This includes 'hypfs_alloc_dyndata', where the real function takes
> an allocation size and the same-named macro is a typed convenience
> wrapper that expands calls using sizeof(type).
> 
> Update deviations.rst and rules.rst accordingly.
> 
> Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>

While I'm okay with this approach, were alternatives considered? E.g.
following the xmalloc() naming model, even if that has a name spacing
issue (which ideally we wouldn't further extend)?

> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -132,6 +132,12 @@ These macros address differences in argument count during compile-time, effectiv
>  -config=MC3A2.R5.5,ignored_macros+="name(update_gnttab_par||parse_gnttab_limit)&&loc(file(^xen/common/grant_table\\.c$))"
>  -doc_end
>  
> +-doc_begin="Clash between 'hypfs_alloc_dyndata' function and macro name in 'xen/include/xen/hypfs.h' is deliberate.
> +The function is the allocator taking a size in bytes, while the macro is a typed convenience wrapper used by dynamic
> +hypfs nodes to allocate per-request traversal data with the correct size and return type."
> +-config=MC3A2.R5.5,ignored_macros+="name(hypfs_alloc_dyndata)&&loc(file(^xen/include/xen/hypfs\\.h$))"
> +-doc_end

I think this is too verbose for the purposes here. The details can all
be had ...

> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -176,6 +176,15 @@ Deviations related to MISRA C:2012 Rules:
>         unused 2nd and 3rd parameters to avoid warnings or errors related to them.
>       - ECLAIR has been configured to ignore these macros.
>  
> +   * - R5.5
> +     - Clash between the 'hypfs_alloc_dyndata' function and macro name is
> +       intentional. The function is the allocator taking a size in bytes, while
> +       the macro is a typed convenience wrapper used by dynamic hypfs nodes to
> +       allocate per-request traversal data with the correct size and return type.
> +       The implementation explicitly undefines the macro before defining the real
> +       function, so the name clash is controlled.
> +     - ECLAIR has been configured to ignore this macro.

... from here.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 08:00:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 08:00:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325837.1591173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUgWV-0001BL-JI; Wed, 03 Jun 2026 08:00:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325837.1591173; Wed, 03 Jun 2026 08:00: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 1wUgWV-0001BE-GO; Wed, 03 Jun 2026 08:00:23 +0000
Received: by outflank-mailman (input) for mailman id 1325837;
 Wed, 03 Jun 2026 08:00:22 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUgWU-0001B8-GR
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:00:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUgWT-0069Tu-Bc
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 10:00:21 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fdf12-5cb7-0a2a0a5109dd-0a2a45088dba-12
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:00:21 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fdf14-63b5-0a2a45080019-d155802be133-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:00:21 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-490b211ee6aso14136815e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 01:00: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-490b0e76feasm121457985e9.9.2026.06.03.01.00.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 01:00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780473620; x=1781078420; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=No0Kg3CJmx+XsIsMYAeJJPX2Ac33UIHjQvlORMGYxuI=;
        b=deiM0FU9dSrcbn9BdBzCDhRZMCnkmHq7OnXxfKkbYMSTuKuVYaBUUhAjlUcm9yOM3T
         uSgMw1uVyUuByNHEHe+MCBjDE8fx1ypeJuJg+ccm5UMLbhGnORaehB/b4RyOMsZendi1
         f7h8VhvRAIBliy1o/di7gsvvqVYHNcwBbVG9YGSbAQn4S9cGn8G/vz3k+iv5aDflc7pu
         GJOlAX3aEs+dpQy2cjvXZmL6Pg2iGPijlMi4UoFbMOcQ9L4GCmrtOzZop5R5jBHTLxgN
         xseYFewRPcI9IvwQPzb4esd50+6wXXJgKBiMO59GgRp3oW8tXgwk6N4YJ7tk+SUk2FYZ
         7f8w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780473620; x=1781078420;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=No0Kg3CJmx+XsIsMYAeJJPX2Ac33UIHjQvlORMGYxuI=;
        b=cy7+xHLIA8X8RmlBk0qMDPdlRFCQ4WNRJjpI1zUbK2z499huzFdlpOG3a47mCzuRWV
         pSgrODh2K4n/dpH2vLfxeXIUdp9/IM00MD9pJe+Acd3LLktTDsiw3i7lTC3NEOGRExE2
         oDc65um7jgnbN93pxSTE4ETa/Iw+BXT9uJ4KCglP7wTYgcOUxW1UdZiCcMMpHd7qMqgN
         A17TKEZoYVB5WXidzLGhJEqPkkHf1vji8F3AWmyTZ7f4Tzp1wlGMjatT9mReyhq5jQXu
         jM3a/l9iqUdTG8b5DJfxUkxmFc9YEQFkTCAukGsT0j0Ya/4sJ/GJZnXkbR9JUZjXEj0d
         iOyg==
X-Forwarded-Encrypted: i=1; AFNElJ+DeJ8G92zPhpEu4ubQV6htjB82spUZaGMLoGWc0NWvGVKKfdErcI3nduW5w2H/j5iDaGL0hIThXLw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxzIl0EoTYiIN/d7DIUJPiFq2wpI6WLbxobnTYm1y+Srfv1K/6H
	MUuyzHmuIYs35nKOayBUhcW89uOoLMqmYJV7+42+e1aXeDCWZGasaVfygeznaM3+7w==
X-Gm-Gg: Acq92OHS1bkSlb2ujZO51wJ7Syfr+SaxjUhP2bjXMbsYT4slSc5h6TRGiQdCTHqc5yI
	X637EBm5momr2M5CL9BFsiXzkzBTYqsNDNAqJXDnqDuIcILW/k126BpIcoulvXvWU3zT6tSaTKh
	H7n3hxduVAl/r3+Fmj47XnsxK7HSJqqG6ENegVkNdtWUryahDnKZaRxKJ2FSnusu3zg8zW8+Ofk
	usZtUUmhMaj6IpX0FdwZJYw78APpwhQyP+Pn0XW04XYgiPeElutovL+lzpI6GYppwUamLyaPyT/
	/tJNHLY0FEkp57aEezwRBRSgxvKUDVcMPhafohQ0aMCgFpsDv57xYEw+TMY6MKrUsxVzSBZW1xo
	5Baf9afkbEbM0rWRaTHSuNSLaW23jy0BrC5pF5njBsB9917XXBKLdEO/8JfKtHE0Yyc2sv7snSn
	qX92feSffLeMSKyDKBExNQGpLFMy/qRldUeNX8wV7giqjtXvAVM3v/h5kzIzgv8t6Pfha7szl+e
	UZhGWCMwPH3wqWv40uiXyINwhQ3YI+rPbtM
X-Received: by 2002:a05:600c:4fc8:b0:490:b294:c652 with SMTP id 5b1f17b1804b1-490b5eb186amr34691245e9.20.1780473620170;
        Wed, 03 Jun 2026 01:00:20 -0700 (PDT)
Message-ID: <8bb381d1-f713-47b3-b1cf-b195b3d89431@suse.com>
Date: Wed, 3 Jun 2026 10:00:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] misra: deviate MISRA C Rule 5.5 for 'request_irq'
To: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
Cc: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cover.1779709902.git.dmytro_prokopchuk1@epam.com>
 <ea8766aa1d70072815f98b904f317d02e25f3c37.1779709902.git.dmytro_prokopchuk1@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ea8766aa1d70072815f98b904f317d02e25f3c37.1779709902.git.dmytro_prokopchuk1@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c1860d/1780473621-BC965DB1-4A5FC987/0/0
X-purgate-type: clean
X-purgate-size: 1680

On 25.05.2026 14:05, Dmytro Prokopchuk1 wrote:
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -138,6 +138,12 @@ hypfs nodes to allocate per-request traversal data with the correct size and ret
>  -config=MC3A2.R5.5,ignored_macros+="name(hypfs_alloc_dyndata)&&loc(file(^xen/include/xen/hypfs\\.h$))"
>  -doc_end
>  
> +-doc_begin="Clash between 'request_irq' function and macro name in 'xen/drivers/passthrough/arm/smmu.c' is deliberate.

While I think "deliberate" is appropriate for the situation, ...

> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -185,6 +185,13 @@ Deviations related to MISRA C:2012 Rules:
>         function, so the name clash is controlled.
>       - ECLAIR has been configured to ignore this macro.
>  
> +   * - R5.5
> +     - Clash between the 'request_irq' function and macro name is intentional.

... imo "intentional" doesn't quite fit: I'm pretty sure we'd prefer to avoid this,
but we want to keep the code imported from Linux as tidy of local changes as
possible.

> +       The function uses the Xen 'request_irq()' argument order, while the macro
> +       is a compatibility wrapper for the ARM SMMU driver that adapts calls by
> +       reordering the handler and flags arguments.

Imo this restriction to one particular source file wants (somehow) expressing in
the very first sentence already, to avoid the impression that the clash would be
acceptable elsewhere as well.

Also, throughout: Please always append () to function (and function-like macro)
names. Right now you have a seemingly random mix.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 08:07:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 08:07:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325843.1591182 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUgdA-0001vq-94; Wed, 03 Jun 2026 08:07:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325843.1591182; Wed, 03 Jun 2026 08:07:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUgdA-0001vj-64; Wed, 03 Jun 2026 08:07:16 +0000
Received: by outflank-mailman (input) for mailman id 1325843;
 Wed, 03 Jun 2026 08:07:15 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUgd9-0001vd-Di
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:07:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUgd8-00HQz6-Ho
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 10:07:14 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1fe0a8-bab6-0a2a0a5309dd-0a2a4509e8fa-28
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:07:14 +0200
Received: from [209.85.208.41] (helo=mail-ed1-f41.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1fe0b2-2497-0a2a45090019-d155d029a819-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:07:14 +0200
Received: by mail-ed1-f41.google.com with SMTP id
 4fb4d7f45d1cf-68b482888c3so582628a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 01:07:14 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bf05176fd14sm107040966b.11.2026.06.03.01.07.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 01:07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780474034; x=1781078834; 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=0sVBueSz+M+/JDHV0VyvLGnJb38sUg9hwfqEI6OlbhA=;
        b=XqgKLrzMzxzG5HtJaRSw/FKacRG5GBkVpTH27fjb8C0XIkjcQ+/yBfNoHTFrbxG2Br
         1icc9oCEt4NFia/eFwdkdBGQRVUr0mCZ29V6cVMxtnWiF42L1OUK4vIuZSAYD+SZTg/b
         SCZOQR2Mz/uJq+pXM9Qr9zGVaFboKzjMcwaFhN99ZEAZuIRtLo4e3GgQcLqnBHQpA7vr
         aMRU2pKcF7tH2VQYXG6cp5sOQrQGRz5sIi1413YHbyE4Jtu/dE6+RAu31pJ67to6ntka
         RSZS0zljNfNJfEvGs6FeeY2+PDgCDQc7JAS6QvYloIaOIVIV/FoGbAF2lorBnZyx7Bc4
         9//g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780474034; x=1781078834;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=0sVBueSz+M+/JDHV0VyvLGnJb38sUg9hwfqEI6OlbhA=;
        b=B8jcnGvuRd/qlo+D1HlKtgNrvXKMH1tdw6ZU1SES7xH7qwSEBEbJlGN309jGAFQ0Md
         LQnQMIZBlE2+Un3lvV3n1HY9iGHYwyNygp3Y1w1O89IblfJatJBR+S+5q5NoCdWpeuxh
         tj0JFkd3WwBponO+hrQw25ZVGUB6DHYMMatNsDW040D1Me3iALS6NhGsQNO2ykmBPW7z
         llmHOowciVQTiSGAOL8ckYRny2lv39IWW4GpZcoOOW/nuVF4yW3p8278hKz3McnbNGfP
         TwPOiRO24l7/VY/4wBd0CkvwWPWkEMpZNLrQAunL92sza4/RwQY2v7Mb5cU5ztNToTsf
         Bpwg==
X-Forwarded-Encrypted: i=1; AFNElJ+GZz70sLL6fqAe4Yk+ADDdnlA3Gulk4HPoOqvG8Pak17YDd3VrEWOO34en6469zqqbbsbueBDwACk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxZdk97CU23sfuudukfPCD4Hq08l7uuiNDA81R+lSB+AyOFqzwA
	j/k7YESEKMU/eg3QKTdTquxYRXDap9HxNKRTz703L1I1HhYdX2iU6NBJE+KrTw==
X-Gm-Gg: Acq92OFDb2jRew1AzaxkTlEJG6KwrlEraOJGhAl+djugRuKhb+gnpLfAkmjvEe1IRIp
	c0fhZ6QScCMqQLGY01doHlEbo87vFNijx9Jp3MabyxLt8pOIQ/3Uj+UIiHGr89ohStQBrK8lRj2
	sElWSn+4LiCd/aOLD8xSjJu3lM/zOK05Ewtk2gYybxz1Qi/3i4bFLE759w0RwVwNJJpKK1J2J7F
	YaJ4EDJv81HOgABkQTfURGIPVBiSKNzFvOHjFb5LPMpilBa7F48uxRpFMcwqmv+++zdrjwhEhWH
	1RekS9F6DrUkv3X8dPtHKl9XfCfZ9HkqjZTt12xFEasjLKg1BVnriwhWUNm2PHG5v5zu+6s9a5J
	IBxYt8+qfwFvq7Igf0YQNrGd+/4twipSAD2T/fpEFzU6vdvd9lhhNfvBPWS0uc//vCbWhvUWG3D
	GsHr95q/C/BkjXfoEDIzkxTIP0b+oCMNXOeCOIuc4Aps6zk//5s7h9dPUiLHlIl3PXkXiF0GtQg
	eWzIFlW1Y0rAT6k
X-Received: by 2002:a17:907:3d03:b0:bee:9809:3cd1 with SMTP id a640c23a62f3a-bf09ea65288mr90734966b.17.1780474033450;
        Wed, 03 Jun 2026 01:07:13 -0700 (PDT)
Message-ID: <9df0b08e-6185-4d0e-bd06-32fe9d684ad0@gmail.com>
Date: Wed, 3 Jun 2026 10:07:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] xen/domain: fix UBSAN null pointer dereference of
 d->shared_info
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: <cover.1779712171.git.oleksii.kurochko@gmail.com>
 <04dd784b6b9a4dfca9a313ea8802d8d514d65021.1779712171.git.oleksii.kurochko@gmail.com>
 <3aef7763-aea3-496a-8c18-d3659f590373@suse.com>
 <fb1b1194-5855-49d9-99fc-d35a3038833c@gmail.com>
 <3eb9ab3d-dc4d-4019-89c8-9f7dbdc528cd@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <3eb9ab3d-dc4d-4019-89c8-9f7dbdc528cd@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1780474034-8816CA53-5B81C175/10/73395122804
X-purgate-type: spam
X-purgate-size: 8893



On 6/3/26 7:54 AM, Jan Beulich wrote:
> On 02.06.2026 18:11, Oleksii Kurochko wrote:
>> On 6/2/26 1:19 PM, Jan Beulich wrote:
>>> On 25.05.2026 15:20, Oleksii Kurochko wrote:
>>>> It is legal to have d->shared_info equal to NULL for architectures which
>>>> support only the FIFO ABI for event channel management.
>>>>
>>>> Having d->shared_info == NULL leads to a UBSAN issue on such architectures:
>>>>     UBSAN: Undefined behaviour in common/domain.c:325:10
>>>>            member access within null pointer of type 'struct shared_info_t'
>>>>
>>>> vcpu_info_reset() maps v->vcpu_info_area.map to the per-vcpu slot inside
>>>> the domain's shared_info page for vcpus with id < XEN_LEGACY_MAX_VCPUS,
>>>> and falls back to dummy_vcpu_info for vcpus beyond that limit.
>>>> Extend the existing fallback condition to also cover the case where no
>>>> shared_info page has been allocated, mapping the vcpu to dummy_vcpu_info
>>>> instead. This is the correct behaviour: dummy_vcpu_info already serves
>>>> as the safe stand-in for vcpus that have no usable shared_info slot.
>>>>
>>>> Additionally, if an architecture supports only the FIFO ABI, setup_ports()
>>>> should be updated to avoid a NULL pointer dereference of d->shared_info,
>>>> since in that case there will be no pending events in
>>>> shared_info->evtchn_pending and the pending flag of the FIFO event channel
>>>> does not need to be set to true.
>>>> update_domain_wallclock_time() accesses d->shared_info via shared_info()
>>>> macro. On architectures that do not allocate a shared_info page (currently
>>>> RISC-V, which runs guests in dom0less mode without the PV ABI), this causes
>>>> a NULL dereference. The early return is safe: if there is no shared_info
>>>> page, there is nothing to update. For all existing architectures (x86, ARM)
>>>> that do allocate it, the guard is never taken and behavior is unchanged.
>>>>
>>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>>> ---
>>>> Changes in v2:
>>>>    - Update commit message + subject.
>>>>    - Drop Fixes tag.
>>>>    - Handle migration of pending events from 2L and FIFO ABIs when arch
>>>>      support only FIFO ABI.
>>>
>>> What does this item describe? On an arch supporting only FIFO, how could
>>> evtchn need migrating from 2L?
>>
>> Agree this item is inaccurate.
>>
>> evtchn_init() always calls evtchn_2l_init(d) first
>> (event_channel.c:1627), so every domain starts with 2L regardless of
>> arch (of course, it is just initialization of evtchn_port_ops which
>> aren't really used when only FIFO is supported).
>>
>> setup_ports() is called during the guest-initiated 2Lâ†’FIFO transition
>> (event_fifo.c:637), not at arch init time. There is no arch that
>> supports "only FIFO" as a starting state and that is why it is needed to
>> guard setup_ports() against NULL d->shared_info when migrating 2L
>> pending state to FIFO even 2L wasn't really used by an arch with only
>> FIFO support.
> 
> Imo on arch-es not supporting 2L, domains shouldn't start in 2L mode.

Agree but will it be easy to achieve now with the current code base?

The best what could be done it is avoid calling evtchn_2l_init() now in 
event_channel.c and:
1. Add a new Kconfig symbol, CONFIG_HAS_EVTCHN_2L (or re-use 
HAS_SHARED_INFO suggested before), selected by x86 and ARM.
2. In evtchn_init() (event_channel.c:1627), guard the call:
    #ifdef CONFIG_HAS_EVTCHN_2L
       evtchn_2l_init(d);
    #else
       evtchn_none_init(d);
    #endif
3. Add a small stub ops table (probably in event_fifo.c or a new 
event_none.c) with no-op set_pending/clear_pending/unmask, is_pending 
returning false, is_masked returning true (valid until 
evtchn_fifo_init_control() replaces them).

Does it make sense?

> 
>>>>    - Update the commit message.
>>>>    - Protect some other places in common code from NULL pointer deref of
>>>>      d->shared_info.
>>>
>>> What I'm still missing is the description clarifying why other uses don't
>>> need guarding (or that there simply are no other uses, which - however -
>>> I doubt).
>>
>> I will add an explicit paragraph mentioning that the 2L ops in
>> event_2l.c are unreachable for a domain with no shared_info.
>>
>> The only place which isn't covered now is  domctl.c:108
>> (virt_to_mfn(d->shared_info)) is only reached via the
>> XEN_DOMCTL_getdomaininfo path and
>> as RISC-V doesn't use it now it could be left as it is what also could
>> be added to commit message.
> 
> Or, better yet, deal with that as well. But see also below.
> 
>>>> --- a/xen/common/domain.c
>>>> +++ b/xen/common/domain.c
>>>> @@ -320,7 +320,7 @@ void vcpu_info_reset(struct vcpu *v)
>>>>        struct domain *d = v->domain;
>>>>    
>>>>        v->vcpu_info_area.map =
>>>> -        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS)
>>>> +        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS && d->shared_info)
>>>>             ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>>>>             : &dummy_vcpu_info);
>>>>    }
>>>
>>> At the example of this: The extra conditionals are dead code on x86 and
>>> Arm. While the status of the respective Misra rule is still uncertain
>>> for Xen, imo we'd be better off avoiding the introduction of new dead
>>> code. Which in turn means we may need some kind of abstraction to have
>>> these extra conditionals in place only for arch-es not supporting
>>> shared-info at all.
>>
>> What about then add config HAS_SHARED_INFO to xen/common/Kconfig and then:
> 
> We're getting closer. Imo we want to go farther, though: shared_info() as a
> construct should be unavailable when !HAS_SHARED_INFO. _That_ then will
> make obvious (by causing build failures) that all respective use sites were
> properly dealt with.

I will add then:

+#ifdef CONFIG_HAS_SHARED_INFO
  #define shared_info(d, field)      __shared_info(d, (d)->shared_info, 
field)
+#endif

But with doing that we have only option of using #ifdef HAS_SHARED_INFO 
in the place where shared_info() is used. If it is fine then I will be 
happy to do in this way.

> 
>> --- a/xen/common/domain.c
>> +++ b/xen/common/domain.c
>> @@ -319,10 +319,14 @@ void vcpu_info_reset(struct vcpu *v)
>>    {
>>        struct domain *d = v->domain;
>>
>> +#ifdef CONFIG_HAS_SHARED_INFO
>>        v->vcpu_info_area.map =
>> -        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS && d->shared_info)
>> -         ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>> -         : &dummy_vcpu_info);
>> +        (v->vcpu_id < XEN_LEGACY_MAX_VCPUS)
>> +        ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>> +        : &dummy_vcpu_info;
>> +#else
>> +    v->vcpu_info_area.map = &dummy_vcpu_info;
>> +#endif
>>    }
> 
> I agree with #ifdef here.
> 
>> --- a/xen/common/event_fifo.c
>> +++ b/xen/common/event_fifo.c
>> @@ -562,9 +562,10 @@ static void setup_ports(struct domain *d, unsigned
>> int prev_evtchns)
>>
>>            evtchn = evtchn_from_port(d, port);
>>
>> -        if ( d->shared_info &&
>> -             guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>> +#ifdef CONFIG_HAS_SHARED_INFO
>> +        if ( guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>>                evtchn->pending = true;
>> +#endif
> 
> While as per above shared_info() would best not exist when !HAS_SHARED_INFO
> (in which case #ifdef may be unavoidable here), an alternative where
> IS_ENABLED() could be used here may want at least considering. E.g.
> causing a link-time failure when shared_info() is used (and not compiled
> out).
> 
>> --- a/xen/common/time.c
>> +++ b/xen/common/time.c
>> @@ -94,8 +94,9 @@ void update_domain_wallclock_time(struct domain *d)
>>        uint32_t *wc_version;
>>        uint64_t sec;
>>
>> -    if ( !d->shared_info )
>> -        return;
>> +#ifndef CONFIG_HAS_SHARED_INFO
>> +    return;
>> +#endif
>>
>>        spin_lock(&wc_lock);
> 
> Constructs like this are imo somewhat ugly. Using IS_ENABLED() instead
> would make things at least a little better (again imo).

Considering mentioned above it would be better to #ifdef the whole buddy 
of the function:

void update_domain_wallclock_time(struct domain *d)
  {
+#ifdef CONFIG_HAS_SHARED_INFO
+
      uint32_t *wc_version;
      uint64_t sec;

-#ifndef CONFIG_HAS_SHARED_INFO
-    return;
-#endif
-
      spin_lock(&wc_lock);

      wc_version = &shared_info(d, wc_version);
@@ -120,6 +118,8 @@ void update_domain_wallclock_time(struct domain *d)
      *wc_version = version_update_end(*wc_version);

      spin_unlock(&wc_lock);
+
+#endif /* CONFIG_HAS_SHARED_INFO */
  }

Considering also that shared_info is expected to be used only for 2L 
then it would be better to introduce CONFIG_HAS_EVTCHN_2L instead.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 08:07:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 08:07:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325844.1591191 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUgdG-0002AS-J0; Wed, 03 Jun 2026 08:07:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325844.1591191; Wed, 03 Jun 2026 08: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 1wUgdG-0002AJ-G5; Wed, 03 Jun 2026 08:07:22 +0000
Received: by outflank-mailman (input) for mailman id 1325844;
 Wed, 03 Jun 2026 08:07:20 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wUgdE-00029T-GY
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:07:20 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUgdD-006BEl-Me
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 10:07:19 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a1fe0b1-5cb7-0a2a0a5109dd-0a2a450bd76a-24
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:07:18 +0200
Received: from [40.107.74.102]
 (helo=OS0P286CU010.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a1fe0b3-212f-0a2a450b0019-286b4a664d05-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:07:18 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYYP286MB3042.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:30b::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 08:07:13 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0071.015; Wed, 3 Jun 2026
 08:07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=QPmmVIMcmPm6Gqnz/G0FFvU1/aktMMEvyXMvunlqYWT8mxLETTkQqvVWOLBnm0dq7ZVkOvBnwSMvQtfyi13v1Tuw7r0/8sbd6eG6jpHOC64i13wTcXCYO3CwtVkEJtIVHzWeeLxIGtPQE3odH3DS8y6sac9B+ASDhRODhwjRLGWWxUytbCaFuClsxkObyKr7Kk8mSUER/sDHFEBeiB8ECf4xjYnnkbXj8SP07OdZ6WkrvqVxlnvr75Efw4Lj2T6dTDxTTVeFEmTNstKL+CEZ1Ta1w/FNF3EgMnGI2H1sKqUddXu/CxuWbpuAlT158E1TcwQ4ZEF4rcALb3k1Vu+izA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iEHeTls/6xv5dycGuBcEyWGJTo+duUAmIXOHEGMdFZ8=;
 b=IMUMoUezTSYtdTUFOpp4zSHb9HtkMOya1do31ReeAlAm1LTtWPN9pA/Lpa2C4fjQYoVDA16iPr3adiVT1UBa8OrgM+gk2ErVPq3ae2fUk24g4hwL+zGgWuFCvde6J/IYkpbojUwLhpv1W9rr7iD1YjxLFkV9sJgMYqUr/YQ295Sv3W92e5avCTLqdqMBtRcOgM/W0IVfA3g/jihmGm53mHS+GdM+rwjrnd5eO64f6YsW/817Uwu22tmcl806COebe+uclyDo73jomqXB0QNg3QzsTmJ+BhTlO59i2hvA3zxK5Est4heeuKVqrac8FT+DkQW/mMwz8n0eo1fdxfQ4PA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iEHeTls/6xv5dycGuBcEyWGJTo+duUAmIXOHEGMdFZ8=;
 b=ZwHHgxLOBgpRk49rzLFZLalqN8uMVvnVj0o6FYOchoX2OyuxbdeWdGdOxLn0drFPArkuMjU/cpaAJxiHffdLAgLFNtzP/0oMJ7bBQlyuXN8yBNDeB9TgweEwe2iXNEmpws7JF5X4alUyK8asHVrsSSdypcVk2R5Y20cho5UWrP0=
From: Hirokazu Takahashi <taka@valinux.co.jp>
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?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v2 03/24] xen/arm: Introduce CONFIG_DEVICE_TREE_NUMA
 config option
Thread-Topic: [PATCH v2 03/24] xen/arm: Introduce CONFIG_DEVICE_TREE_NUMA
 config option
Thread-Index: AQHc8U+LMsab0l8GlEOATMpCtUjho7YrBYyAgAF2RoA=
Date: Wed, 3 Jun 2026 08:07:12 +0000
Message-ID:
 <OS9P286MB7222C05A5503819BD2489B5382132@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
References: <20260531224755.9481-1-taka@valinux.co.jp>
 <20260531224755.9481-4-taka@valinux.co.jp>
 <accbb6c7-3681-41ae-a712-5f481bea9a5a@suse.com>
In-Reply-To: <accbb6c7-3681-41ae-a712-5f481bea9a5a@suse.com>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: OS9P286MB7222:EE_|TYYP286MB3042:EE_
x-ms-office365-filtering-correlation-id: 2e5cfbbe-b8f8-4b50-6bb6-08dec1471e68
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|7416014|376014|366016|4143699003|56012099006|22082099003|38070700021|18002099003;
x-microsoft-antispam-message-info:
 C6ZV/Ud26wGQmLx8BCdlpKsCZhBg+bEXLtRgO1/XcnIjnJB/FkWX2iQLM5xqR/+Pli7RzOOYqhn7LHvyCfROzwrJAoHPd0vYGZbLyERdKy+mECAhLbuHRUmrZ8Fd3oATGbKadEf0V8EXGq4yYujnBssMh9TKiBEQ2+EqFxXGo0l28ybWm4q1sRb0lUpFo+AlFjy7xYWJQv1PdKat4u4uL5j/6hjfGd/pQ6iU7Cmjkp8QAv4WgMXLukngPF/4LWMuHaa4quB9lJzWBrdwJx2fm390i6TOmkNOWpdgNhnAOt8FV931AGU2OQ7t8BhmC0OAO4Lr+RN71YDSMRJHAQPyKNcvhs3Zcz7gtf9dPlBbTq0Vzp8pe4CmFrQAepxqqjRSgclajWegnqwNKqQ7cts+KK6rbJ55meqeCbCr/Nl9PoWnvDPbrF66ycBAFAfawvoBYwNxfuEuaiM4CZ8VKSKAxiIJRHbrXIlUFygqsdcKACBi+sYasg7GOwhQl/f8L74pZ7NvEf8wj+hnFgxu+lmrIT5Uv1iy3zGNGzTzRTOZUsnjOIbvr+fAOZSldNqSklO15dEQ6uniOeSHpdUxoOVbmqTRNuMs8jmWQNLB5m1eVPxzUIrtWbUOsb69D94rl0iKkqpCquhz+N71+YKPmq9R7xntZl1iECijYfjxrmKSPR20fuuk5JhFDVjsQJvjPAbfHH+mU9ggpwK1ZHUqE/7jOHwozm1xJ35zzuiRm3PJ3F2iItg2s4Ixd0Yd9xlfMt+e
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(366016)(4143699003)(56012099006)(22082099003)(38070700021)(18002099003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?aVNuSkVaaW4vWmdyek5DUGZVNVdLUXQxanA3cERUQ3EyTldWWGM1ZHFvZlhV?=
 =?utf-8?B?K29Mc1hjdElEeFVZZmFMd2xWUXJGTHhFUkE4bDVKSUdGRUhNT2kvR1ZsU2g3?=
 =?utf-8?B?NmtHSk9jN3E4dVlQeUU3Wjh1R2dLTkFFWGVFM1Npd08vSEgvMVdtQ0RXN3A1?=
 =?utf-8?B?QmliSUFGaHJBS2pwMzdHVmpmTXRzWGdhYXkxVHRjbjA5L2dUVU1idk1EdHFr?=
 =?utf-8?B?Y3ZKUWdhZmpPNHVFcG0ydjhxY0JXNVpqRTJrdTBDT2d4SmNuRzNXSTJVRzAz?=
 =?utf-8?B?d0Z0ckptb0dYUEZlNjNsbVV5S1I2K2pOR3FlVWJNbGpTWTRjb1hXK2huUWlV?=
 =?utf-8?B?YUVWcXU3ZktFd2RhMzlNUjJqTC9YWnh6RWg4ZTRRSlJTRkpnS1lsK0pnOTEr?=
 =?utf-8?B?MHE1YkY2L3dYblRaeVpmenRMZWF3NGRmR1lGSFdMY3pIRFpINlhPTzF0ZktV?=
 =?utf-8?B?Wm5XS25CVVZ6TUFRTUFNY3ZnODczeWRJdGxsV1plZEZmd0ZoN1NYS1BqbEha?=
 =?utf-8?B?bVlqQ0hIdEVGbmF2ZzNMc0cyZWk2WjZhU1pzTXpHWmV6dmI0TzZUMHc5SzB5?=
 =?utf-8?B?ZGd6SWU1YllBSGx0UTdiQ3dNNVd5aHhPRVJ3VGVUY0d5dTd6UjB2MnJDZmtH?=
 =?utf-8?B?THNoUmh2L3lqM25oZUxKOHdvMG9iWXFhQ3B4NVIwaStLdzhBZmMvbWVLTkwx?=
 =?utf-8?B?YzJsMXI3aWVzT2FlOXpzSFNnd0NvOHFrQkEyUDg3aktsMHpvY0x0SWlyZlpx?=
 =?utf-8?B?TGNrWDNGZW5xQU1wb2FJN3p1R2VVK2Z1aGNtTTg3NVk0aGRYdTF1VEJZK2kr?=
 =?utf-8?B?eFo5b0NSZ0dja2hqOVA4R0hISUVBYzRzK1ZSKzBJcUhoZmo5T0pzMVFnckZx?=
 =?utf-8?B?bDFvZ0ZOWG03MjZFZW5oTVl3aDhpazlmeERvM0pZRWUrcFZDMGxzWmdmb25z?=
 =?utf-8?B?UkZjbExsVlRaNnY2dW5MdHpvaUV5b2x4ZUduS0xtOWwrQ2VYKy9hQ1grd2g2?=
 =?utf-8?B?ckF6eDcxQWp5a3BOZnVGaDYwRUk4WXdPV3lUQXk4RzFmZUpqUUtuRjBCUm9z?=
 =?utf-8?B?bzlDR0pVc3VyckdyV2NYSUFST3JneCtQUVBDVGt0UUtDMitqMFlQcXVRRVlL?=
 =?utf-8?B?ZUhMLzVGV0wxZ25iQm4xS1czRlZuRUdNSDZmMVppVTlvdjdnRDJqMmxWZm9n?=
 =?utf-8?B?azFpNXdpZlJTbjFWVk1zNElxamJoQlo2Mm1Yc2twUjc0TjFzL1BuSndvaXVD?=
 =?utf-8?B?U0RabnBqMVRwOU5DRURNNzhqMm1manBuRGJIMllIM2RRZDZoMmRXZ1pKZmhS?=
 =?utf-8?B?WHlySVJmaksyWE5wMXlXYU9DRGp5cWJwMGRmclA5S3pZQ0c1WGFyOUpBckw5?=
 =?utf-8?B?YTVscGczcmxEdTMwUFAzRE9XNTkySTFYSXl2N3dWUlFhR3VjOEJLaGRDSkNO?=
 =?utf-8?B?SUJNQ1A2bTJwQi9qNjlvU0hSRXFNZGpHSkxwTm9yTnJadTAxbjQrbGtmN2Rn?=
 =?utf-8?B?OUtMbDUzVXRQZ1V3NS9jQUdlUlUzNEdFa3JmTVdGeUg1VGtvVlk1MmpDUVAy?=
 =?utf-8?B?RHR0TkJ0Zms0VFB5N0U4d1ZIUTJmMEl4MGVQUlBRZW16NTVZSDVxbnJzblpZ?=
 =?utf-8?B?dHpEQ21DMGxaTUNIZW5HbkxwNWdpUFhpTUtFQXVnSC9Gc096Uk9aVnNWNWtQ?=
 =?utf-8?B?VW9NVnloaXNZQ0tyNk9LMWxCUHpHWTVSWEM5TFI4SE9rSk5pdUFJMk5SZVVt?=
 =?utf-8?B?bFY2aDY1eHU5TmRlWHJqS2FEekFrL040c2ZrQ2c3R1NzSWNsMEpEN1JDSk5r?=
 =?utf-8?B?a29YMENuVXZYdEhQMmxabUZnOXlvdm1td1JRUS8zR2NmY1pMZU5BK25kL3ZG?=
 =?utf-8?B?WUFtTTFFUmNMUVFSZmpzbFdmQVIyWEZPenJPaFoxOGx5WTA1U1lBQ3MxcllM?=
 =?utf-8?B?MFgzbHdyc0Rqb2Qrd2RwczFmU0RJd1BEbXp6S2w4RXR3ellOVGdYYjh4dUVm?=
 =?utf-8?B?MzJ2Rkc0Qi9LdDRLMkJpazgrUzNYOTNKUlM4ZU9wVDBFeU5zbWxQSjgyMGV1?=
 =?utf-8?B?eEVXd28yWi9ZcnU0ZTZTK00zc0wzT3pkeG84WStRVkYyMEVIbWhTVGtzd0FL?=
 =?utf-8?B?N2thdkNESEtCVCtRZ0ExRjczUlI5UitZTWd2VllSN1hXV0N0bXJsSTVVdGR6?=
 =?utf-8?B?aEVYRUYwdWZmcGtmcU1QTWNtT2t3RFAxN3RzbzlZZDY1QnJyejNvRlo4Yi93?=
 =?utf-8?B?eWMwcDNvdGZzV0ltZysvcUtIaHZ1QWh6Y0psYVJBeXh6Nm4xTEtFbzM2RlJx?=
 =?utf-8?Q?lfOgjL8t7MCQilOnMF?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 2e5cfbbe-b8f8-4b50-6bb6-08dec1471e68
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jun 2026 08:07:12.9911
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: OOfl9UzbBOWYdCMvZNmouoF9dLt6E/MUjF+sklEtty6TLeSeUpCu+gEygaqXNV2BEjOmYgQVWkIUDeADhkrlYQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYYP286MB3042
X-purgate-ID: tlsNG-42698a/1780474038-1A16DF3B-CE10947F/0/0
X-purgate-type: clean
X-purgate-size: 690

SGVsbG8sDQoNCj4gPiArY29uZmlnIEFSTV9OVU1BDQo+ID4gKwlib29sICJEZXZpY2UgdHJlZSBi
YXNlZCBOVU1BIHN1cHBvcnQgKFVOU1VQUE9SVEVEKSIgaWYNCj4gVU5TVVBQT1JURUQNCj4gPiAr
ICAgIHNlbGVjdCBERVZJQ0VfVFJFRV9OVU1BDQo+IA0KPiBOaXQ6IEluZGVudGF0aW9uLg0KDQpP
aywgSSB3aWxsIGZpeCBpdC4NCg0KPiA+IC0tLSBhL3hlbi9jb21tb24vS2NvbmZpZw0KPiA+ICsr
KyBiL3hlbi9jb21tb24vS2NvbmZpZw0KPiA+IEBAIC0xODgsNiArMTg4LDEwIEBAIGNvbmZpZyBW
TV9FVkVOVA0KPiA+ICBjb25maWcgTkVFRFNfTElCRUxGDQo+ID4gIAlib29sDQo+ID4NCj4gPiAr
Y29uZmlnIERFVklDRV9UUkVFX05VTUENCj4gPiArCXNlbGVjdCBOVU1BDQo+ID4gKwlib29sDQo+
IA0KPiBOaXQ6IENhbiB3ZSBoYXZlIHR5cGUgKCJib29sIikgZmlyc3QsIHdpdGggInNlbGVjdCIg
KG9yICJkZXBlbmRzIG9uIikgY29taW5nDQo+IGFmdGVyd2FyZHM/DQoNCk9rLg0K


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 08:18:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 08:18:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325861.1591201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUgoF-0004Qu-Im; Wed, 03 Jun 2026 08:18:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325861.1591201; Wed, 03 Jun 2026 08:18: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 1wUgoF-0004Qn-Ej; Wed, 03 Jun 2026 08:18:43 +0000
Received: by outflank-mailman (input) for mailman id 1325861;
 Wed, 03 Jun 2026 08:18:41 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUgoD-0004Qh-QJ
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:18:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUgoC-00AzUf-Vd
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 10:18:40 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fe35e-5cb7-0a2a0a5109dd-0a2a450ac83a-4
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:18:40 +0200
Received: from [209.85.221.48] (helo=mail-wr1-f48.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fe360-56b3-0a2a450a0019-d155dd30b52c-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:18:40 +0200
Received: by mail-wr1-f48.google.com with SMTP id
 ffacd0b85a97d-46019edc13dso881293f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 01:18: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-4601f2ed944sm5824957f8f.13.2026.06.03.01.18.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 01:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780474720; x=1781079520; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Ltnj7qP4dHNYgIS+6csI6KSRGLxGpwRNTKtee/zoKG8=;
        b=STBAsLdNiKXSdvUWRV1wVHvCgoT/edh7ydqfNx+I//rKSctFzWkyhwsThKKIY8cFbj
         6cXuiqnfUR1PsaknyDZshOps6rW8V2SxXTruLQKkQBwt6+5Q/FwWhqKvSCh2hgkpo6fB
         gBXhiKvbKW8NwrMoC4ba6w6SMZl+1uUm6xkJvzcly7u4zVWquzhspw+kjnKtSh0IO75M
         HjkLZLr0TZk0IFFIfp88QPPC2j4VSs8ZXMNstH92NSzDhHv+ck3A10s2uK5S3m0281Ac
         a1DGe0d5SxOPYx6UqtmGHByEWf7L2/cfjzU1URx4BAL3AxYfrLT1F+XdJbxM8LMR9Mrr
         rLPQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780474720; x=1781079520;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Ltnj7qP4dHNYgIS+6csI6KSRGLxGpwRNTKtee/zoKG8=;
        b=itiKUlpptNSj6iK7HqyYXs3fkrPL09vAdE49IQ913tbH7CowpsbF6oUzrWkUpLHwpc
         vpCL/n1jvCcfHah5r96CxyIER/2CuMHeOJw6ZIphRwBAUzubgNMtEUh9GuiwW3c5299t
         Mq+8GCaOVLWkNLun2bBkjOSOjeslg6Ds5uGE3JdnBSWdtVqPAMYLrp5IsMNA+WbIiyTU
         +VGxFjKQYG58q93+vlsCzXFlQLHl9nSp9KeMY5tfu5eVZjlj5WCwb+G8gLTtrLqyZJVK
         3qxJAagc1BkRnQEkvRm8MTg8wO2tMuoIrL88Xje6X+7Z+zxTSzjw/7LA0dEpaRE6jRw/
         PSOg==
X-Forwarded-Encrypted: i=1; AFNElJ9xdend2DkUoMunNgkMP7BlP3Gy7igUEuJr3pFB5V4dlPA84PWZHbbM9DXjRavnQ2ux5f+yOQZ4jJE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzSb3Ob91MG9cpCKj8rgQ1x+3wO13W/UQzL5kJqs2Q3JGD0zMFD
	TNjl7bOrxLiqpGV6RUzr6XP+qHXyMOQ/KuPSvOlrQhY+SATYDa6Rp+FJSILkcCwjOA==
X-Gm-Gg: Acq92OFl+nhJGy3+Gs3eMWY+fEFvnI+pUspE2AlV6O+ixac1qQOWVGW9O6S2c3sjlQb
	H3/NJIG+5tf8dbiPrVRqpoSsJPbsWJz/p86+Q1RshWtGPJdWzu46qnSSyG+SfXsmMQq75vffKBc
	26/CX9+9wunjMnXHYMI7tJvgQU/rnupGMsoPxVmMjhmmNgUGzLZ9fnvlVlPgsUyKRPfGWvLMJW+
	CGnRW7QgMCcU93bbr4UnCbwXtk6cUfF0hw6ZXrTCZLAxixMspP3UcQJPMgnvBtTU0V4N9aCekde
	dQjtM3hXErsrYn4LjL+a8i7JWaQcrf/ItpbLmSFIFqQ/dPIPnqXFCEOKqxuEb2/ibqvv3GkycvX
	LdOI7kSoVeCB66CQeq83agsYXICqM5rWv8R/GakGq0cmHSGM4BtWk7GZRm7Hf4nQLY3JQOS+Bz2
	vljaiQzM79x00CI1EKgr+azp+gylXXl7Oiqh74YwhNs7OB9SRKjrSa7NB2+4b1enI/WagQa8hNn
	/BUnYcH1K9D70t8bparXJWeB4eN5qp7JtKd
X-Received: by 2002:a5d:4d4c:0:b0:456:d5bf:e24d with SMTP id ffacd0b85a97d-460216bdfd8mr2370041f8f.2.1780474720215;
        Wed, 03 Jun 2026 01:18:40 -0700 (PDT)
Message-ID: <033aa467-ad86-48be-a59b-05315aa3cf4c@suse.com>
Date: Wed, 3 Jun 2026 10:18:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] xen/domain: fix UBSAN null pointer dereference of
 d->shared_info
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.1779712171.git.oleksii.kurochko@gmail.com>
 <04dd784b6b9a4dfca9a313ea8802d8d514d65021.1779712171.git.oleksii.kurochko@gmail.com>
 <3aef7763-aea3-496a-8c18-d3659f590373@suse.com>
 <fb1b1194-5855-49d9-99fc-d35a3038833c@gmail.com>
 <3eb9ab3d-dc4d-4019-89c8-9f7dbdc528cd@suse.com>
 <9df0b08e-6185-4d0e-bd06-32fe9d684ad0@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: <9df0b08e-6185-4d0e-bd06-32fe9d684ad0@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1780474720-6FD588B7-E4667D90/10/73395122804
X-purgate-type: spam
X-purgate-size: 9058

On 03.06.2026 10:07, Oleksii Kurochko wrote:
> On 6/3/26 7:54 AM, Jan Beulich wrote:
>> On 02.06.2026 18:11, Oleksii Kurochko wrote:
>>> On 6/2/26 1:19 PM, Jan Beulich wrote:
>>>> On 25.05.2026 15:20, Oleksii Kurochko wrote:
>>>>> It is legal to have d->shared_info equal to NULL for architectures which
>>>>> support only the FIFO ABI for event channel management.
>>>>>
>>>>> Having d->shared_info == NULL leads to a UBSAN issue on such architectures:
>>>>>     UBSAN: Undefined behaviour in common/domain.c:325:10
>>>>>            member access within null pointer of type 'struct shared_info_t'
>>>>>
>>>>> vcpu_info_reset() maps v->vcpu_info_area.map to the per-vcpu slot inside
>>>>> the domain's shared_info page for vcpus with id < XEN_LEGACY_MAX_VCPUS,
>>>>> and falls back to dummy_vcpu_info for vcpus beyond that limit.
>>>>> Extend the existing fallback condition to also cover the case where no
>>>>> shared_info page has been allocated, mapping the vcpu to dummy_vcpu_info
>>>>> instead. This is the correct behaviour: dummy_vcpu_info already serves
>>>>> as the safe stand-in for vcpus that have no usable shared_info slot.
>>>>>
>>>>> Additionally, if an architecture supports only the FIFO ABI, setup_ports()
>>>>> should be updated to avoid a NULL pointer dereference of d->shared_info,
>>>>> since in that case there will be no pending events in
>>>>> shared_info->evtchn_pending and the pending flag of the FIFO event channel
>>>>> does not need to be set to true.
>>>>> update_domain_wallclock_time() accesses d->shared_info via shared_info()
>>>>> macro. On architectures that do not allocate a shared_info page (currently
>>>>> RISC-V, which runs guests in dom0less mode without the PV ABI), this causes
>>>>> a NULL dereference. The early return is safe: if there is no shared_info
>>>>> page, there is nothing to update. For all existing architectures (x86, ARM)
>>>>> that do allocate it, the guard is never taken and behavior is unchanged.
>>>>>
>>>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>>>> ---
>>>>> Changes in v2:
>>>>>    - Update commit message + subject.
>>>>>    - Drop Fixes tag.
>>>>>    - Handle migration of pending events from 2L and FIFO ABIs when arch
>>>>>      support only FIFO ABI.
>>>>
>>>> What does this item describe? On an arch supporting only FIFO, how could
>>>> evtchn need migrating from 2L?
>>>
>>> Agree this item is inaccurate.
>>>
>>> evtchn_init() always calls evtchn_2l_init(d) first
>>> (event_channel.c:1627), so every domain starts with 2L regardless of
>>> arch (of course, it is just initialization of evtchn_port_ops which
>>> aren't really used when only FIFO is supported).
>>>
>>> setup_ports() is called during the guest-initiated 2Lâ†’FIFO transition
>>> (event_fifo.c:637), not at arch init time. There is no arch that
>>> supports "only FIFO" as a starting state and that is why it is needed to
>>> guard setup_ports() against NULL d->shared_info when migrating 2L
>>> pending state to FIFO even 2L wasn't really used by an arch with only
>>> FIFO support.
>>
>> Imo on arch-es not supporting 2L, domains shouldn't start in 2L mode.
> 
> Agree but will it be easy to achieve now with the current code base?
> 
> The best what could be done it is avoid calling evtchn_2l_init() now in 
> event_channel.c and:
> 1. Add a new Kconfig symbol, CONFIG_HAS_EVTCHN_2L (or re-use 
> HAS_SHARED_INFO suggested before), selected by x86 and ARM.

I'd stick to just HAS_SHARED_INFO as long as a separate control for 2-
level evtchn isn't strictly needed.

> 2. In evtchn_init() (event_channel.c:1627), guard the call:
>     #ifdef CONFIG_HAS_EVTCHN_2L
>        evtchn_2l_init(d);
>     #else
>        evtchn_none_init(d);
>     #endif
> 3. Add a small stub ops table (probably in event_fifo.c or a new 
> event_none.c) with no-op set_pending/clear_pending/unmask, is_pending 
> returning false, is_masked returning true (valid until 
> evtchn_fifo_init_control() replaces them).

That's one of the options (the stubs could then as well live in
event_channel.c). Another might be to put the FIFO ops in place right
away, making sure they can cope with evtchn_fifo_init_control() not
having been called yet.

>>>>> --- a/xen/common/domain.c
>>>>> +++ b/xen/common/domain.c
>>>>> @@ -320,7 +320,7 @@ void vcpu_info_reset(struct vcpu *v)
>>>>>        struct domain *d = v->domain;
>>>>>    
>>>>>        v->vcpu_info_area.map =
>>>>> -        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS)
>>>>> +        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS && d->shared_info)
>>>>>             ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>>>>>             : &dummy_vcpu_info);
>>>>>    }
>>>>
>>>> At the example of this: The extra conditionals are dead code on x86 and
>>>> Arm. While the status of the respective Misra rule is still uncertain
>>>> for Xen, imo we'd be better off avoiding the introduction of new dead
>>>> code. Which in turn means we may need some kind of abstraction to have
>>>> these extra conditionals in place only for arch-es not supporting
>>>> shared-info at all.
>>>
>>> What about then add config HAS_SHARED_INFO to xen/common/Kconfig and then:
>>
>> We're getting closer. Imo we want to go farther, though: shared_info() as a
>> construct should be unavailable when !HAS_SHARED_INFO. _That_ then will
>> make obvious (by causing build failures) that all respective use sites were
>> properly dealt with.
> 
> I will add then:
> 
> +#ifdef CONFIG_HAS_SHARED_INFO
>   #define shared_info(d, field)      __shared_info(d, (d)->shared_info, 
> field)
> +#endif
> 
> But with doing that we have only option of using #ifdef HAS_SHARED_INFO 
> in the place where shared_info() is used. If it is fine then I will be 
> happy to do in this way.

Well, I gave a suggestion to avoid such #ifdef-ary, ...

>>> --- a/xen/common/domain.c
>>> +++ b/xen/common/domain.c
>>> @@ -319,10 +319,14 @@ void vcpu_info_reset(struct vcpu *v)
>>>    {
>>>        struct domain *d = v->domain;
>>>
>>> +#ifdef CONFIG_HAS_SHARED_INFO
>>>        v->vcpu_info_area.map =
>>> -        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS && d->shared_info)
>>> -         ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>>> -         : &dummy_vcpu_info);
>>> +        (v->vcpu_id < XEN_LEGACY_MAX_VCPUS)
>>> +        ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>>> +        : &dummy_vcpu_info;
>>> +#else
>>> +    v->vcpu_info_area.map = &dummy_vcpu_info;
>>> +#endif
>>>    }
>>
>> I agree with #ifdef here.
>>
>>> --- a/xen/common/event_fifo.c
>>> +++ b/xen/common/event_fifo.c
>>> @@ -562,9 +562,10 @@ static void setup_ports(struct domain *d, unsigned
>>> int prev_evtchns)
>>>
>>>            evtchn = evtchn_from_port(d, port);
>>>
>>> -        if ( d->shared_info &&
>>> -             guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>>> +#ifdef CONFIG_HAS_SHARED_INFO
>>> +        if ( guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>>>                evtchn->pending = true;
>>> +#endif
>>
>> While as per above shared_info() would best not exist when !HAS_SHARED_INFO
>> (in which case #ifdef may be unavoidable here), an alternative where
>> IS_ENABLED() could be used here may want at least considering. E.g.
>> causing a link-time failure when shared_info() is used (and not compiled
>> out).

... here. There are downsides to this, so which route to go needs settling
on.

>>> --- a/xen/common/time.c
>>> +++ b/xen/common/time.c
>>> @@ -94,8 +94,9 @@ void update_domain_wallclock_time(struct domain *d)
>>>        uint32_t *wc_version;
>>>        uint64_t sec;
>>>
>>> -    if ( !d->shared_info )
>>> -        return;
>>> +#ifndef CONFIG_HAS_SHARED_INFO
>>> +    return;
>>> +#endif
>>>
>>>        spin_lock(&wc_lock);
>>
>> Constructs like this are imo somewhat ugly. Using IS_ENABLED() instead
>> would make things at least a little better (again imo).
> 
> Considering mentioned above it would be better to #ifdef the whole buddy 
> of the function:
> 
> void update_domain_wallclock_time(struct domain *d)
>   {
> +#ifdef CONFIG_HAS_SHARED_INFO
> +
>       uint32_t *wc_version;
>       uint64_t sec;
> 
> -#ifndef CONFIG_HAS_SHARED_INFO
> -    return;
> -#endif
> -
>       spin_lock(&wc_lock);
> 
>       wc_version = &shared_info(d, wc_version);
> @@ -120,6 +118,8 @@ void update_domain_wallclock_time(struct domain *d)
>       *wc_version = version_update_end(*wc_version);
> 
>       spin_unlock(&wc_lock);
> +
> +#endif /* CONFIG_HAS_SHARED_INFO */
>   }

In which case there's no point having use sites actually call here. I.e.
we then may want to have an inline stub when !HAS_SHARED_INFO.

> Considering also that shared_info is expected to be used only for 2L 
> then it would be better to introduce CONFIG_HAS_EVTCHN_2L instead.

How does the event channel model in use matter for
update_domain_wallclock_time()?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 08:27:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 08:27:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325870.1591208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUgwR-0006DQ-9o; Wed, 03 Jun 2026 08:27:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325870.1591208; Wed, 03 Jun 2026 08: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 1wUgwR-0006DJ-75; Wed, 03 Jun 2026 08:27:11 +0000
Received: by outflank-mailman (input) for mailman id 1325870;
 Wed, 03 Jun 2026 08:27:10 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUgwP-0006DD-Uq
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:27:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUgwP-00F0Z1-Aq
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 10:27:09 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fe55d-5cb7-0a2a0a5109dd-0a2a450cb512-0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:27:09 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fe55d-62f1-0a2a450c0019-d155802dc162-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:27:09 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-490b2b037d2so13672965e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 01:27: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-4601f344762sm6224785f8f.23.2026.06.03.01.27.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 01:27: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780475229; x=1781080029; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=/3r7Zav/qGPrntpg1Bb8n2ktOqsNlPllv678HpmkbSo=;
        b=QPOi3FkYG/XB4S2ReCZz0FQIHcM66uCfwxPZ3lEeHoFxrZMN0M31oIKnUOI4PMFGJb
         lo1ZPg9IWZJMpzJii/XVw9dDUtOOYSlKZlp5x8x7Thv6xTM+VDm3KPDk33Ki93Owx5J1
         S995XiIYrUycZpL57gQip5+xL/UoyQMZabxn24Ghks09dn8gPLDPHGT6ZHxG6vBBhxCQ
         AkLIJoPa/qLliH4y6vKLdGu8I1p5TRtj0mQa9y7f5qvJaN9rvybjS/rlHq0jBDYH66+c
         LI+l/6ztOKClAlGGeeqtnRvUyx112po9FDIYLP7P2CSIaa9UqLd4iTzJFDfxp/Nf4lss
         ju6Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780475229; x=1781080029;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/3r7Zav/qGPrntpg1Bb8n2ktOqsNlPllv678HpmkbSo=;
        b=MttOzBykaPPSQGor87y3a0m3XNzj2diye99M5gxG9UG7Ys4Y62cypYPFtyppV6NotA
         CIDAyOezszn02wD2wBsod8Ck1b8vS3j0p0d1VbBOUq7zhF+o2TY1ofr5BQFtPlrVgp4Y
         Zm0l8MtN6cr/m3pBPWQPdiRCVYe4u5C/z0QYYj5EYZDBGo2YSSdln1FcDvxvynX5IDE4
         XeupV0p2VamaBx7OeAlnB1LcdtM1TMBajdeFZQkyK6BmPOxFoUE+RD6BFknVlWmFZhw0
         5+X3zT2eT31q6ubG52b8X6iAkT4jLLFwIN9AL2eWJYWeI7SBuSS2jTz32CPoLEqzW5HY
         5Xeg==
X-Forwarded-Encrypted: i=1; AFNElJ+nXV/ixqToHAxgYPjZdp4lo+zIw25XIeSFzYX5Oc2zHp3Sfk5V4nS3vGqKOfPIclnztOQfRhn+KTA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzF713hnF0abcwLRbIfMug9H5ZYIhqsxpx1qq+AkCxt2uRs2q16
	CCtvpvyvkLzMlIAKF8D8JGIAmmyP+9qbueG91ALCaillsDkIo+ojMisCShKjEwzCOg==
X-Gm-Gg: Acq92OHhXmsomDRax9dxZfnXmCuOGQwpS2zxkNVfU4WJfmWSKLbmvD84WNcjTMV24aE
	th5BI8738O6SL8fNtoFtCgzCR3Q7VmyRprS5lZCvEZv7nnro9+3h5UXh0DQu6R3BXW+dJshDh88
	hherayN4Gl/3hb/95nx7NJQgwEcGMasXkn0y24Hc1I1xpZGZ7EaLPFAcf9pMx+ulrFLgaP/7yTy
	IUkgwbf8j/n9WcANCjt41fKo9TOBzyT99t5ASsDSK199JtYr4Uc1rrdGxbxdSwzuTrlTNwsX9fa
	9zO1F/ZOST/735JHsRmOGPOFz2DyFVWUitAjIFNIqjZTR84Ll2Pp2Q9957b9D63TvBp+92+r8UW
	pTZu4lPWOBnq6esAInAelz3E+/fOVdHIYjVj7sgbOsRN43dQQzrI1tnW+Sbo3jCuCs51HhJGQFq
	If/5QtKsxO3DjlnMpEBV9SxWywvYoawSAOl45GxCZo6bW029AoOj5Db/Q0UaLeNvtIpHZCtz+AX
	uXw0J7rQusoc/ubovSSjnup3g==
X-Received: by 2002:a05:600c:5288:b0:48f:e3e7:3d39 with SMTP id 5b1f17b1804b1-490b5ecb911mr37941125e9.11.1780475228712;
        Wed, 03 Jun 2026 01:27:08 -0700 (PDT)
Message-ID: <87ce9028-2654-40bc-9026-84e17440dc6d@suse.com>
Date: Wed, 3 Jun 2026 10:27:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 3/5] xen/numa: prepare NUMA setup code for unit
 testing
To: Roger Pau Monne <roger.pau@citrix.com>
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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20260601154332.30797-1-roger.pau@citrix.com>
 <20260601154332.30797-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: <20260601154332.30797-4-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1780475229-F5585CF5-6CDC521D/0/0
X-purgate-type: clean
X-purgate-size: 340

On 01.06.2026 17:43, Roger Pau Monne wrote:
> Introduce __XEN__ guards to differentiate between hypervisor vs unit test
> builds.  Also move numa_set_node() so it's outside the __XEN__ guards.  No
> functional change intended.
> 
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 08:39:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 08:39:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325883.1591234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUh7o-0008Lw-Ih; Wed, 03 Jun 2026 08:38:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325883.1591234; Wed, 03 Jun 2026 08:38: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 1wUh7o-0008Lp-Fu; Wed, 03 Jun 2026 08:38:56 +0000
Received: by outflank-mailman (input) for mailman id 1325883;
 Wed, 03 Jun 2026 08:38:55 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUh7n-0008Lj-LM
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:38:55 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUh7n-002NYA-0q
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 10:38:55 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fe812-5cb7-0a2a0a5109dd-0a2a4508cddc-34
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:38:54 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1fe81e-63b5-0a2a45080019-d1558035ad8e-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:38:54 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-490b1bbcf3aso15209655e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 01: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-490b60f6d5asm44650635e9.0.2026.06.03.01.38.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780475934; x=1781080734; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=hcCK9JJnC51v61UA8MHMucGSOJehRnTT/byGsq/Cb3s=;
        b=CwrjiMQuQsmcKy6SHG/7WifmFoK9eFJlV/fVcfHSiBJLSMB+nxBz/vT3SOY7j34lYk
         nST78JSQzcMAuqNHXkzM7z+1t+Ys40g7OCL230LjEpGgDEHVu3QnRzzRs7utQ1xeSgGK
         n3qpfbmKt0yv3T2s3BBY9Hz/G+ZPFiNr/Hf92oU8e3RtltbJn8kX3rnj/RijDktaOwrx
         9kuZ5TqvRCZbsLDYqMU5HK2sIl7MlL7VyTfk7Bu65Lx+VLQ+tJ/FgnppEtTCBT9+XdMb
         1K6WWbCMj7f9HNzs0SCWM64MTr9ZCtPkPmIMSMZNGW64teY0AXk4zc15nCVMChhu54vd
         KBKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780475934; x=1781080734;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hcCK9JJnC51v61UA8MHMucGSOJehRnTT/byGsq/Cb3s=;
        b=HSpWp0fprE1vX7Kpg08XOkawFRWcvodODrFZ6kii2sRaIgvYJLJdga/emnbscrWN2U
         j0/eSqywec2p96EO/sDiWoZN0gMNm30qJbYyXMbZy6kK9mzE1xnjaL4+h/bYLObzSA+i
         +VFiKolHgd2CzksDDydTjvU4K2sLyVBdPL1icJf3ts6c/5YlQmWblDbxEqQ9DPOnmr4B
         6rKvE9+XDBzlewqVEECsIF+H0qRrIG9t3stVhc7bIWCkeg5lFTpkzBW/kSRzetJHUcK0
         MKBhzjhhmgHmPZRln8LKTZXg8KvqfhPexRfF+twioETg/xJN6Vkdm/dbrkoSH7P5I35Q
         vekQ==
X-Forwarded-Encrypted: i=1; AFNElJ8heaixilWxds7ANKqN30B2TUIpQZGVBme/+cLIQkGmDNE6KaKEMcnXRAGMi6L++zGx5WJfHkG8O88=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx/+QowVTC2ubyqKn8Ju7ZvvubBFFQrqgNAuZe3n8D1iWH0DGnc
	AVIOJZ4JCiEhofIeWhH8T8VfhFznFco83VMu0KudL1ozD3/TkI47taMYuMCCGC+C6g==
X-Gm-Gg: Acq92OG1z6V8okml5LL2DcRvzbLzmMp+GzWoBVz2kodvODaLzz2TR2ioc/KPNNLiuS1
	U01H5jg/7iLwJUu4GhJHe6XPtsc4EKKiAi2Uiaa1K2LTrJZlxnRbL473TOhgOd64R4n6VNBDY/a
	kN9ucppSjcfC/c4QQon7wu1d+nIUcZolfvtOlyoHcbCSzy+sOu6gfd8yqe3XXfWiXNoJexzR7it
	fvQMIo/moyILOrfhrTYZjw3347Madrj75M9E6A11Ea9kIf662O+97j3u48CkZ2SR+VPdSYcaa6l
	2knGHqs65xcbJ9R4T3v4MeiJx6hdDjL9IP4gYSX+xW29bgmKtX8iUwO7bq3luwFVaLfOFJdFivu
	5OPfaBihMj/zAePWtYPCJAzrz2s69OSPEirpYQP/fLSoU7NxcHHWPZoV0WTw7rwjuu5gwZdYiGA
	kWiF75Qp1M/YqjYiiNXz1OnO32FgCs0bs3+E9By2ZnRU2kPAhvItTVZ64FETKTVHTkDnzm06sUj
	sp7WbKY48qh3A3zBHdX5gMlfQ==
X-Received: by 2002:a05:600c:a09:b0:490:688b:f9f8 with SMTP id 5b1f17b1804b1-490b5fe6672mr37024155e9.27.1780475934335;
        Wed, 03 Jun 2026 01:38:54 -0700 (PDT)
Message-ID: <2b1df2c6-ccbb-402c-b65a-7f3beefdeb0d@suse.com>
Date: Wed, 3 Jun 2026 10:38:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 4/5] tests/numa: add unit tests for NUMA setup
 logic
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Anthony PERARD <anthony.perard@vates.tech>, xen-devel@lists.xenproject.org
References: <20260601154332.30797-1-roger.pau@citrix.com>
 <20260601154332.30797-5-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: <20260601154332.30797-5-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c1860d/1780475934-BFD7BDB1-E80332EF/0/0
X-purgate-type: clean
X-purgate-size: 3790

On 01.06.2026 17:43, Roger Pau Monne wrote:
> --- /dev/null
> +++ b/tools/tests/numa/.gitignore
> @@ -0,0 +1,2 @@
> +/numa.h
> +/test-numa

Why the leading slashes?

> --- /dev/null
> +++ b/tools/tests/numa/Makefile
> @@ -0,0 +1,47 @@
> +XEN_ROOT=$(CURDIR)/../../..
> +include $(XEN_ROOT)/tools/Rules.mk
> +
> +TARGETS := test-numa
> +
> +.PHONY: all
> +all: $(TARGETS)
> +
> +.PHONY: run
> +run: $(TARGETS)
> +ifeq ($(CC),$(HOSTCC))
> +	set -e;             \
> +	for test in $? ; do \
> +		./$$test ;  \
> +	done
> +else
> +	$(warning HOSTCC != CC, will not run test)
> +endif
> +
> +.PHONY: clean
> +clean:
> +	$(RM) -- *.o $(TARGETS) $(DEPS_RM) numa.h
> +
> +.PHONY: distclean
> +distclean: clean
> +	$(RM) -- *~

I see we remove *~ elsewhere, but not everywhere. I don't, however, know
why we have that, and hence I wonder whether it really wants replicating.

> --- /dev/null
> +++ b/tools/tests/numa/harness.h
> @@ -0,0 +1,184 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * Unit tests for NUMA setup.
> + *
> + * Copyright (C) 2026 Cloud Software Group
> + */
> +
> +#ifndef _TEST_HARNESS_
> +#define _TEST_HARNESS_
> +
> +#include <assert.h>
> +#include <errno.h>
> +#include <inttypes.h>
> +#include <stdbool.h>
> +#include <stdint.h>
> +#include <stdio.h>
> +#include <stdlib.h>
> +#include <string.h>
> +
> +#include <xen-tools/bitops.h>
> +#include <xen-tools/common-macros.h>
> +
> +#define CONFIG_DEBUG
> +#define CONFIG_NUMA
> +#define CONFIG_NR_NUMA_NODES 64
> +#define NR_CPUS 256
> +#define MAX_RANGES 128
> +#define PADDR_BITS 52
> +
> +#define __init
> +#define __initdata
> +#define __ro_after_init
> +#define __read_mostly
> +
> +#define printk printf
> +#define XENLOG_INFO ""
> +#define XENLOG_DEBUG ""
> +#define XENLOG_WARNING ""
> +#define KERN_INFO ""
> +#define KERN_ERR ""
> +#define KERN_WARNING ""
> +#define KERN_DEBUG ""
> +
> +#define PAGE_SHIFT    12
> +/* Some libcs define PAGE_SIZE in limits.h. */
> +#undef  PAGE_SIZE
> +#define PAGE_SIZE     (1L << PAGE_SHIFT)
> +#define MAX_ORDER     18 /* 2 * PAGETABLE_ORDER (9) */
> +
> +#define PFN_DOWN(x)   ((x) >> PAGE_SHIFT)
> +#define PFN_UP(x)     (((x) + PAGE_SIZE-1) >> PAGE_SHIFT)
> +
> +#define paddr_to_pfn(pa)  ((unsigned long)((pa) >> PAGE_SHIFT))
> +#define mfn_to_pdx(mfn)   (mfn)
> +#define paddr_to_pdx(pa)  ((pa) >> PAGE_SHIFT)
> +#define mfn_to_maddr(mfn) ((mfn) << PAGE_SHIFT)
> +
> +#define ASSERT assert
> +#define ASSERT_UNREACHABLE() assert(0)
> +
> +/* For the purposes of the testing assume arch NID == Xen NID. */
> +#define numa_node_to_arch_nid(n) (n)
> +
> +typedef uint64_t paddr_t;
> +#define PRIpaddr "016" PRIx64
> +
> +typedef unsigned long mfn_t;
> +typedef uint8_t nodeid_t;
> +
> +#define __set_bit set_bit
> +#define __clear_bit clear_bit
> +
> +static inline unsigned int find_next_bit(
> +    const unsigned long *addr, unsigned int size, unsigned int off)
> +{
> +    unsigned int i;
> +
> +    ASSERT(size <= BITS_PER_LONG);
> +
> +    for ( i = off; i < size; i++ )
> +        if ( !!(*addr & (1UL << i)) )

Why the !! ?

> +            return i;
> +
> +    return size;
> +}
> +
> +#define find_first_bit(b, s) find_next_bit(b, s, 0)
> +
> +/* Minimal cpumask support. */
> +typedef struct cpumask{ DECLARE_BITMAP(bits, NR_CPUS); } cpumask_t;
> +
> +#define cpumask_clear_cpu(c, m) clear_bit((c), (m)->bits)
> +
> +/* Define the nodemask helpers used. */
> +typedef struct nodemask{ DECLARE_BITMAP(bits, CONFIG_NR_NUMA_NODES); } nodemask_t;
> +
> +#define node_set(node, dst) set_bit((node), (dst).bits)

To aid readability, omit the parentheses around "node"? (More similar cases
further down.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 08:53:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 08:53:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325893.1591243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUhLm-00031e-OL; Wed, 03 Jun 2026 08:53:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325893.1591243; Wed, 03 Jun 2026 08: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 1wUhLm-00031X-LA; Wed, 03 Jun 2026 08:53:22 +0000
Received: by outflank-mailman (input) for mailman id 1325893;
 Wed, 03 Jun 2026 08:53:21 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUhLl-00031R-3O
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:53:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUhLk-006MmE-Fo
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 10:53:20 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1feb74-e002-0a2a0a5209dd-0a2a4506aefe-30
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:53:20 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1feb80-7371-0a2a45060019-d155802cd4fa-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:53:20 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-490acbb0f89so16238125e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 01:53: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-4601f2eadefsm6125947f8f.11.2026.06.03.01.53.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780476800; x=1781081600; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=fHIXIQVcRjHRmkbPY6aMuQuPGnuY6bysYXmT3BcesdE=;
        b=TWr46iqx6hHeIn9yJGViT3RZcMUdcbCCg2RGz6ZkilElS2hTiH5DmWzDAks8029b+K
         bXKn+mu8TC47op632o6MhOgtSBOIvfFabEYWi4ruYZu/NvZBcnOKAXSszoF6q2WRI06K
         IWlzylKKwvBErt6QOlvZ4CUuJWa0ZdtcZMnuQd5hSw3rtn5gQu6TfzIRzfK1WWO8NVRV
         EqoaSquENWAq2KDH8TRBRO6v7DM8vuQjdz1wpRjIySHKMryo7vwgZiG2XrrR3jUapNWa
         vz8O2a6Iv0JCL/alzKfYTVDHCV4UacEtLW7K2wsVoBrQN/UjQBRmanlmLiDx+lLhHZCz
         jLrA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780476800; x=1781081600;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fHIXIQVcRjHRmkbPY6aMuQuPGnuY6bysYXmT3BcesdE=;
        b=cZ9w2T2QGLgioknY5HGag9PXTNBb6HTMwj/DE7/8SVVc6BJ9LYwPmXyQVSXIyTOktP
         j3eLoWaQ1lrTqn6UGhY76x1TCxfqSnoOPhcvjty72l3dlLr7xA4WbaO1L+20l2ITZ5/f
         KJs6c+vQMN0dXkVlbayXY5RssSzYh+z9u48dJQJf2smCr/PvfcCuumwFGQaaY3oKdlWy
         JkA9YGEfHA8mr3vH+xOrvvUkzYyoxRzvHzM0Otd5PuS6Sx1otOMGAEYi2sFsTWaygCOY
         RIn6dlfyUIOkCB4Yi3OZ5b46s+4lvFdM208tWYT5r6P2KYqGNeCn+hgyS9QKhg4PDDO4
         MRYQ==
X-Forwarded-Encrypted: i=1; AFNElJ/hQ1aiKglfTFwZ0dAo889tyeIx5V75qq0666nC0x19GPkO2DBdcJNRYoGroXC0ZKPT6FCcxhm2VLw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YygfavF5pumBhlHKRTKwFl/dcj4a/BEW52NAORl70OG0x3NTJne
	vw9G8Rs2MzOCPpHGXuDvHbo7cfrGLjsjUX0b3syTmzaF5L58i7jbZSuFwmERNt98xw==
X-Gm-Gg: Acq92OE2Oiv2SNsRUzFyTLj4WCdOsQxLqU8hMC+fXTBe47Zr7c9a1d2qqOg7c0tOcPf
	QAf6vDyEWoH5s3/L3g3g6Ytvm1g3EpbFHgkG2jth8dlOSQi0xWvEohRHd9bpdlTaQQNa2bPEoBO
	xJcPGRmrgfvUhpd42IH0tjHBdiZdLg3bGJO4zVIhhgZTkm28o4rosBd7hJx6Vf9P59EC1ryC2By
	X3UOZyw45uTeq1c0DzYRNpdvP6kOyE7yYuIhE1r2PEmZhnwbyKnPXna6ugA3EusaSLIKuATefZ1
	4o2iVazf3PvHXIeo3xePbm98++8n5KIg/x+Nan2Otr6Hnt6BAoA07pB9ei7NR5Axwsr0RZqMhPa
	94/Q4KFUder46EAP7UsgCJohSHWbXwtnh2m/yUH6SHV3iWlVmg9wf+8zRtOSjaUYiINB6+Dr/ol
	tPNXlxZ5X3bJzr6F7046PYEiZXY+q968itRCizcxIfQEXvPEG/MIqspzGtRuRvFU229yt3RyZas
	y0o2YccJY52GVX+Ac0R/kMiw3j7Zm10qZhH
X-Received: by 2002:a05:600c:354a:b0:490:44eb:c1ec with SMTP id 5b1f17b1804b1-490b5fe14f5mr37880985e9.27.1780476799800;
        Wed, 03 Jun 2026 01:53:19 -0700 (PDT)
Message-ID: <de557b90-e5dd-468b-ac34-dcf463e95cad@suse.com>
Date: Wed, 3 Jun 2026 10:53:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 5/5] xen/numa: fix setup of non-aligned memory
 affinity ranges
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20260601154332.30797-1-roger.pau@citrix.com>
 <20260601154332.30797-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: <20260601154332.30797-6-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1780476800-8D584D75-CCD474C9/0/0
X-purgate-type: clean
X-purgate-size: 934

On 01.06.2026 17:43, Roger Pau Monne wrote:
> --- a/xen/common/numa.c
> +++ b/xen/common/numa.c
> @@ -396,7 +396,13 @@ static int __init populate_memnodemap(const struct node *nodes,
>  
>      for ( i = 0; i < numnodes; i++ )
>      {
> -        unsigned long spdx = paddr_to_pdx(nodes[i].start);
> +        /*
> +         * Round down start address: if start is not aligned to the memnodemap
> +         * chunk size the tail remainder might not be added.  Overlaps created
> +         * by rounding will fall into the same NUMA region.
> +         */
> +        unsigned long spdx = ROUNDDOWN(paddr_to_pdx(nodes[i].start),
> +                                       1UL << shift);

Imo this rounding would better be done ...

>          unsigned long epdx = paddr_to_pdx(nodes[i].end - 1);
>  
>          if ( spdx > epdx )

... only after this check (and then perhaps also after the subsequent if()).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 08:53:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 08:53:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325895.1591251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUhM5-0003M2-Vd; Wed, 03 Jun 2026 08:53:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325895.1591251; Wed, 03 Jun 2026 08:53: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 1wUhM5-0003Lv-Sl; Wed, 03 Jun 2026 08:53:41 +0000
Received: by outflank-mailman (input) for mailman id 1325895;
 Wed, 03 Jun 2026 08:53:40 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper3@citrix.com>) id 1wUhM4-0003Ku-3K
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:53:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUhM3-006GWh-91
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 10:53:39 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a1feb8e-5cb7-0a2a0a5109dd-0a2a450988b8-16
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:53:39 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a1feb92-2497-0a2a45090019-d1558032b8ac-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:53:38 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-490b7866869so5154805e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 01:53:38 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490b7c6b966sm24070335e9.2.2026.06.03.01.53.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 01:53: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1780476818; x=1781081618; 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=51sWtCRS4J99P4zhCE42T3n9PAMZGO1IQnnN5g2LOlo=;
        b=ImHNjhDaQSWfu9ISIYBezYgUHW1zLob6VP9srTe2uHGkmoxR+fDxweC93uFoxLkYuE
         eJ5kWZ3q03y8sBf4Sl8zCoOOOmWPW+3L3kRNXNuvESsaZIeZlz5VfArlwg2adWs7ugo8
         DmN3gf9Wd4IHRbVntfmMyqhXiEt3BcckgSqPc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780476818; x=1781081618;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=51sWtCRS4J99P4zhCE42T3n9PAMZGO1IQnnN5g2LOlo=;
        b=EzN/i+qXW0uolthZhfg2EAs35L6DXoKwXfq/pppj/MKEZoSOCs0N10G80v/85O5Lsj
         YkIoE0F8ECCaA+JGoGNDtbkiPXe2TX/tC2zV4W8HqKY9SeZ1ZnHNoBkOV93GNNNXuKbw
         QjO23ldG40hcngl4rU+kiqAaz4upBD1Yw8IJAC9+hsoNj2O2LPo9aTaRl/e8I/8sYTkG
         4QBp6c3jSFar+dK0CEVU5kb3D80DYmmDRyBsDu67mPtQFb2f5xUoU1uZReCf599TL5jI
         +feLOkBH6KhkeR0S/00K2OJKzab8XrNsSV9LerSZAruZ0qhnK6n5H5mOwOHxn6gJqB0N
         evxw==
X-Gm-Message-State: AOJu0Yy0g6TezWLYi0n0Od2MbGw9NHmRg3LEYEir9lD/lT10vhTOuBEC
	oGd26d7bdRLaO5CFnKeO4EQrbA9tjM5SPYM7huube9MqdTsrcg0c4V5ZRvGZPf+wyzlMZ12T0wj
	EvKrn
X-Gm-Gg: Acq92OGv/ib97OpfTOVkqYggepYDtHv5w79Hf2hF0D+YBnLFe224w+ReXNQQ1seYKhn
	1o5/WJk9lhDIpaQx7RlEc/Irq5ioVNbTQ6+gm7L57+KnweddzRHvZcb+eykmkxc/lS/n0HxYeEK
	0AhxjnprcCKv16R5zHWj1AYdsbpd/Kmy1/+7pLE5t2UPtrPBwlzamHYHC5wkbOU5h5ZA0CTnrx/
	40aouzUlClMb7hbVJJ2YBQinGtD494tEyOrFg9Hm8+xRFR5Prl+R+6pctROpLFEUOJvnru/gw/f
	nhBVGlMr/UVjqOwfilvGue0l0Bc5b6V12H6pt1CijnPdhSSgTm0HnYXq9O9HIo6l33qrZ5AavtS
	iOcKKelx/Ei36jvoe9lYFPmegZHIzrGnBos9LGDL8GdkfS9oAd3Go7F+2cWz50FF8qoM8AMqMcF
	/KRQdNBGGMmHwiWOu3K9GGtdvUe9WCL6X7pRHqKQT3AP9bnf3K7Ws5jVqRp/cv1jH9jAiy+LUgx
	sB0Au5rHqOHmnc=
X-Received: by 2002:a05:600c:4510:b0:490:a298:3859 with SMTP id 5b1f17b1804b1-490b60f001amr36093385e9.24.1780476818036;
        Wed, 03 Jun 2026 01:53:38 -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>,
	Juergen Gross <jgross@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH for-4.22(?) 0/2] tools: Use the system liblz4 package
Date: Wed,  3 Jun 2026 09:53:29 +0100
Message-Id: <20260603085331.2704108-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1780476819-42F76A53-E5AFDBEC/0/0
X-purgate-type: clean
X-purgate-size: 1272

Switch to using the system liblz4.

This brings libxenguest's lz4 decompression in line all the others, rather
than using the unsafe decompressor from Xen (itself a port of Linux's unsafe
decompressor).

Andrew Cooper (2):
  tools/configure: Detect the presence of liblz4
  tools/libs/guest: Use the system liblz4 in the bzimage loader

 automation/build/debian/13-arm64v8.dockerfile |   1 +
 automation/build/debian/13-x86_64.dockerfile  |   1 +
 tools/configure                               |  79 ++++++++++
 tools/configure.ac                            |   4 +
 tools/libs/guest/Makefile.common              |   2 +-
 tools/libs/guest/xg_dom_bzimageloader.c       | 128 +++++++++++++++-
 tools/libs/guest/xg_dom_decompress.h          |   6 -
 tools/libs/guest/xg_dom_decompress_lz4.c      | 143 ------------------
 tools/libs/guest/xg_dom_decompress_unsafe.h   |   2 +
 .../libs/guest/xg_dom_decompress_unsafe_lz4.c |  39 +++++
 10 files changed, 254 insertions(+), 151 deletions(-)
 delete mode 100644 tools/libs/guest/xg_dom_decompress.h
 delete mode 100644 tools/libs/guest/xg_dom_decompress_lz4.c
 create mode 100644 tools/libs/guest/xg_dom_decompress_unsafe_lz4.c


base-commit: c069c014f21fd1f5925d8c30c18adb4f26381475
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 08:53:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 08:53:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325896.1591258 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUhM6-0003OD-9J; Wed, 03 Jun 2026 08:53:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325896.1591258; Wed, 03 Jun 2026 08: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 1wUhM6-0003Nc-2z; Wed, 03 Jun 2026 08:53:42 +0000
Received: by outflank-mailman (input) for mailman id 1325896;
 Wed, 03 Jun 2026 08:53:40 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUhM4-0003L5-Bh
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:53:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUhM3-006GVP-OU
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 10:53:39 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a1feb8e-e002-0a2a0a5209dd-0a2a450ac73c-26
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:53:39 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a1feb93-56b3-0a2a450a0019-d155802da550-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:53:39 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-490b3e03939so3652785e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 01:53:39 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490b7c6b966sm24070335e9.2.2026.06.03.01.53.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 01:53:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1780476819; x=1781081619; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=w38Yjl39w+6P4RkuP/+W/4L2yeNf72EBMIuJEUD/P7o=;
        b=R9bwjgl7k1Xl5kEe1Q6UPbX2RhhBioOCLWyOXTZZn/zi76FHc99LYcR49+wIuX1W8q
         rA1B3ARTsQcvBDhhzitKUt+HmbWRA528TRAEkbYse5fPTbyTwRkFZ6JnsapKeOkzXamf
         WinV+Y2+hpWSuSkH90h2SPJabNQB/6w2Bt1hM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780476819; x=1781081619;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=w38Yjl39w+6P4RkuP/+W/4L2yeNf72EBMIuJEUD/P7o=;
        b=WIWkHERV33QAV1EnILeqGrP+PugI7OyUJIFaWSeBYyxtPgk0UITuGomqygE+VtIYag
         iKzzZ5j1jHjGWtW/Usn//L6WKhCIU4U+FICSe0l+Ed01/J3jr5sBiMkIzm7uF6vmVg6H
         Ml7w9Z07QDnWysV/4IxQ+CKgHqhmXfibsaVdxtUnDLQnEwkt/Nqmn/0NMXOOr7oa9mcs
         OBj0vwVrBrtAqwIXIiguiH+BKW1zJMqRmCYre/5GxpGb8Alnznv93HBErp9XYO7HBO7+
         vCrtlv6Qk5DmyzQ2E058fO1UhNEcmRPS1SnEDkjqoTyT4kX97jBcrYUjRYnmCulUDM9I
         dJ0Q==
X-Gm-Message-State: AOJu0Yy0UEIk/Hy7J//mIS2MSDca6HP+Vtn+Bv5TjMq/qfnsEx/L91OL
	YgyhebnVo+HZn9Lyr+AlnWZ56zPy9StjB2PhEkjgC6MiYU7bPYBJHbwwJcvivqjldPK5hzx/4M+
	6lL3F
X-Gm-Gg: Acq92OEdDO66Nu3rhUBCnntiY0kxe7wBIjSNUQ+AyN+FdvJqhgO/hp45l8VRTh4Ikju
	l9kpAVfWZDVXD+Wb45z001KL/OhCkO0TxqZ+4e2HwlHuPOqk5kS0wqmNx64xKMPRddb+uuTsI4t
	BpiBgMEb0/6rAR+eQQ8nPY36iIE6R7/I5gUyY++eYJHe+x9GAi94qqJDUZu+wt+XAcJ/tUkE2Q6
	WhJFLz+VmSyYqyJHQ1TXKwZoV6hiQZv2yk+Z2RsJ8VUXq6ygEXPsxBBf5B1xGI6Ha02tiTBxtg3
	2SiFyXJCYkBprt+Uz1NFNuCDsGeRiHDLLLkcOKY8NfY+pX+OGufaYfzXWV78gJwHOwcei5cMcLX
	uXUNDmeIOX1D866c1NPlnd/c0a1vRsZng/hFKXNKMCgS3gebLGzpY7EngprhmPNHNgzxi5l64Zd
	f1KxM6DQzf5LIamK0hViX3RSDIxOxNleApHB6lqAHKhVQLtcwYsrwCmKsUM6ijxfRGoKrJIcdoY
	4cN3yxL6bbiDzw=
X-Received: by 2002:a05:600c:8b2a:b0:490:3cf0:8d81 with SMTP id 5b1f17b1804b1-490b614df8dmr29300895e9.13.1780476818608;
        Wed, 03 Jun 2026 01:53:38 -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>,
	Juergen Gross <jgross@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 1/2] tools/configure: Detect the presence of liblz4
Date: Wed,  3 Jun 2026 09:53:30 +0100
Message-Id: <20260603085331.2704108-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260603085331.2704108-1-andrew.cooper3@citrix.com>
References: <20260603085331.2704108-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1780476819-70F618B7-EB8F556F/10/73395122804
X-purgate-type: spam
X-purgate-size: 5741

As with other compression libraries, group liblz4 into ZLIB_{CFLAGS,LIBS}.

Add the packages to the Debian Trixie build containers for coverage.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Juergen Gross <jgross@suse.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Rebuild the containers when pushed.
---
 automation/build/debian/13-arm64v8.dockerfile |  1 +
 automation/build/debian/13-x86_64.dockerfile  |  1 +
 tools/configure                               | 79 +++++++++++++++++++
 tools/configure.ac                            |  4 +
 4 files changed, 85 insertions(+)

diff --git a/automation/build/debian/13-arm64v8.dockerfile b/automation/build/debian/13-arm64v8.dockerfile
index b9062ee8b443..ee9bb841eb92 100644
--- a/automation/build/debian/13-arm64v8.dockerfile
+++ b/automation/build/debian/13-arm64v8.dockerfile
@@ -28,6 +28,7 @@ RUN <<EOF
         wget
         # libxenguest dombuilder
         libbz2-dev
+        liblz4-dev
         liblzma-dev
         liblzo2-dev
         libzstd-dev
diff --git a/automation/build/debian/13-x86_64.dockerfile b/automation/build/debian/13-x86_64.dockerfile
index 2c6c9d4a5098..e0a722595233 100644
--- a/automation/build/debian/13-x86_64.dockerfile
+++ b/automation/build/debian/13-x86_64.dockerfile
@@ -29,6 +29,7 @@ RUN <<EOF
         wget
         # libxenguest dombuilder
         libbz2-dev
+        liblz4-dev
         liblzma-dev
         liblzo2-dev
         libzstd-dev
diff --git a/tools/configure b/tools/configure
index 6f69b0b52634..bf14864cfb03 100755
--- a/tools/configure
+++ b/tools/configure
@@ -669,6 +669,8 @@ PTHREAD_CFLAGS
 EXTFS_LIBS
 ZLIB_LIBS
 ZLIB_CFLAGS
+liblz4_LIBS
+liblz4_CFLAGS
 libzstd_LIBS
 libzstd_CFLAGS
 FETCHER
@@ -885,6 +887,8 @@ pixman_CFLAGS
 pixman_LIBS
 libzstd_CFLAGS
 libzstd_LIBS
+liblz4_CFLAGS
+liblz4_LIBS
 libjsonc_CFLAGS
 libjsonc_LIBS
 LIBNL3_CFLAGS
@@ -1638,6 +1642,9 @@ Some influential environment variables:
               C compiler flags for libzstd, overriding pkg-config
   libzstd_LIBS
               linker flags for libzstd, overriding pkg-config
+  liblz4_CFLAGS
+              C compiler flags for liblz4, overriding pkg-config
+  liblz4_LIBS linker flags for liblz4, overriding pkg-config
   libjsonc_CFLAGS
               C compiler flags for libjsonc, overriding pkg-config
   libjsonc_LIBS
@@ -9458,6 +9465,78 @@ printf "%s\n" "yes" >&6; }
      ZLIB_LIBS="$ZLIB_LIBS $libzstd_LIBS"
 fi
 
+pkg_failed=no
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for liblz4" >&5
+printf %s "checking for liblz4... " >&6; }
+
+if test -n "$liblz4_CFLAGS"; then
+    pkg_cv_liblz4_CFLAGS="$liblz4_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"liblz4\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "liblz4") 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_liblz4_CFLAGS=`$PKG_CONFIG --cflags "liblz4" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$liblz4_LIBS"; then
+    pkg_cv_liblz4_LIBS="$liblz4_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"liblz4\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "liblz4") 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_liblz4_LIBS=`$PKG_CONFIG --libs "liblz4" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+   	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        liblz4_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "liblz4" 2>&1`
+        else
+	        liblz4_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "liblz4" 2>&1`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$liblz4_PKG_ERRORS" >&5
+
+	true
+elif test $pkg_failed = untried; then
+     	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+	true
+else
+	liblz4_CFLAGS=$pkg_cv_liblz4_CFLAGS
+	liblz4_LIBS=$pkg_cv_liblz4_LIBS
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+	ZLIB_CFLAGS="$ZLIB_CFLAGS -DHAVE_LZ4 $liblz4_CFLAGS"
+     ZLIB_LIBS="$ZLIB_LIBS $liblz4_LIBS"
+fi
+
 
 
 ac_fn_c_check_header_compile "$LINENO" "ext2fs/ext2fs.h" "ac_cv_header_ext2fs_ext2fs_h" "$ac_includes_default"
diff --git a/tools/configure.ac b/tools/configure.ac
index ecd45e782eb8..74b9f56025cb 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -403,6 +403,10 @@ PKG_CHECK_MODULES([libzstd], [libzstd],
     [ZLIB_CFLAGS="$ZLIB_CFLAGS -DHAVE_ZSTD $libzstd_CFLAGS"
      ZLIB_LIBS="$ZLIB_LIBS $libzstd_LIBS"],
     [true])
+PKG_CHECK_MODULES([liblz4], [liblz4],
+    [ZLIB_CFLAGS="$ZLIB_CFLAGS -DHAVE_LZ4 $liblz4_CFLAGS"
+     ZLIB_LIBS="$ZLIB_LIBS $liblz4_LIBS"],
+    [true])
 AC_SUBST([ZLIB_CFLAGS])
 AC_SUBST([ZLIB_LIBS])
 AX_CHECK_EXTFS
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 08:53:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 08:53:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325897.1591263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUhM6-0003VY-IP; Wed, 03 Jun 2026 08:53:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325897.1591263; Wed, 03 Jun 2026 08: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 1wUhM6-0003Ux-Cm; Wed, 03 Jun 2026 08:53:42 +0000
Received: by outflank-mailman (input) for mailman id 1325897;
 Wed, 03 Jun 2026 08:53:40 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUhM4-0003L6-Dq
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:53:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUhM3-006GVP-Qd
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 10:53:39 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a1feb91-e002-0a2a0a5209dd-0a2a450cddea-16
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:53:39 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a1feb93-62f1-0a2a450c0019-d155802cc043-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:53:39 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-4903f7a90d1so113292725e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 01:53:39 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490b7c6b966sm24070335e9.2.2026.06.03.01.53.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 01:53:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1780476819; x=1781081619; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7G9hdlfubYAVkY5BTqL/WBD4kbNC0poE5EI/Mq9Bxg0=;
        b=CwCbnY1b5UdGD0Eu1sUlOOofdu+IQaHFUCyaTwsaWsUTZvmtAYzf1WXoe+tj5F5lwB
         hBHTKeIBTzFCJ3cGiA+VtARLKMHxD7AvBwK1zOz/Cjwt9BwT4QQhUA3IMAqWxlnKS7jS
         b7xMQhJ9rd7KLXU0GjfiD+v0fWK8OAZSktwj0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780476819; x=1781081619;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=7G9hdlfubYAVkY5BTqL/WBD4kbNC0poE5EI/Mq9Bxg0=;
        b=Yn7h+MowgG+NyjmZywyJqZaYJrEPNjQ2YWTZdXuDsuccIe7MIM3NjUg2s18ultMw5P
         DNjgFIaW0MGhITtZNwA5IARRmHCr1lJb4WrKaxHJq48DJOhNgrDNEuUTp8y7zcq6r944
         AK4uHvONbRd7NBte7Ktba1jrV6hESpzx88A9Souu2wVRfx/F14kwoTC57BCyIv7Sinnq
         kOHHLFJYmiHzPOulM8kCIm6ncfRG+yhKQ4ESR6vf+/m2AzlA3Sc9Cdl3zNGoXmjsMrR3
         qahf1Lqv8qQ0bwxLYulrHdSjoa7kCp+sRuoHHfu/q7NW0jEcx10YDBtOiFahzA97lCZl
         olbg==
X-Gm-Message-State: AOJu0YwZ5u0aODpvpX+yJoGjGNCUbdX6trJ2bhhY+nRhXq7Lwu/xjkHC
	jPR90WOCiI70qj44JU3o73O3Tbi+2UrmUSPEVg30dKWWkQEUM5DP5OOerlXMN5X74oHsWowUaiF
	vQ7YK
X-Gm-Gg: Acq92OGaJyMVW8s3DTXGh5YMsgPX+2evR9WVmpENBxTFVskqcmKGT9ZyQrP+Pxvvonj
	YiydUhuuWFGD5XNIU5og7bE2rrOJiZuiSa9FbnKHY2Gh8lSfZpVvD7eLj84ingsL7ANOC5t8RBZ
	oVGwroL73oEU0y8dXO0Exo9XHSYi41tBTOxGHtsalfFRBUReKPJjxFsmTB1NVRM9+DrDky94zfX
	kSWetca0paH80Zy2sV32xxHxN7Ffxivj78c9N+j5U0wSdpV1IMUNawRrr1cy9gW3c9zHCCE4KDv
	1NL7qWqx8NXC8KzB9N4yo+hcsv6xIyCs3BBv08Dded+5j7JS92DYNO2cEDhrmDvzdpm9tF6HPkR
	0sY4eb88MeqwZa3fKFcv6mBX6BnzYpgWCM/5wxiftAaa51O0gNps7lLGus1kbMvkEMBQ/JM9e69
	EO9cwQtm8uERK/yOLPE3uVn5u+8AmZWyJZV10mKf+PcGihxI4gSbAqrS1Y5Ovv93+CSrhRPpwfD
	ux6/yP4AULaFdsW8X/wXi6CwA==
X-Received: by 2002:a05:600c:1d86:b0:48a:58ae:9938 with SMTP id 5b1f17b1804b1-490b5fe95ebmr39488945e9.19.1780476819121;
        Wed, 03 Jun 2026 01:53:39 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 2/2] tools/libs/guest: Use the system liblz4 in the bzimage loader
Date: Wed,  3 Jun 2026 09:53:31 +0100
Message-Id: <20260603085331.2704108-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260603085331.2704108-1-andrew.cooper3@citrix.com>
References: <20260603085331.2704108-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1780476819-D996DCF5-EAD92777/10/73395122804
X-purgate-type: spam
X-purgate-size: 11004

Right now lz4, unlike every other compression scheme, unconditionally uses
Xen's unsafe decompressor.  Make it consistent with all other compression
schemes by using liblz4.

The unsafe decompression is still required for the MiniOS build, so rename
xg_dom_decompress_lz4.c to xg_dom_decompress_unsafe_lz4.c and drop the
non-MiniOS content.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Juergen Gross <jgross@suse.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 tools/libs/guest/Makefile.common              |   2 +-
 tools/libs/guest/xg_dom_bzimageloader.c       | 128 +++++++++++++++-
 tools/libs/guest/xg_dom_decompress.h          |   6 -
 tools/libs/guest/xg_dom_decompress_lz4.c      | 143 ------------------
 tools/libs/guest/xg_dom_decompress_unsafe.h   |   2 +
 .../libs/guest/xg_dom_decompress_unsafe_lz4.c |  39 +++++
 6 files changed, 169 insertions(+), 151 deletions(-)
 delete mode 100644 tools/libs/guest/xg_dom_decompress.h
 delete mode 100644 tools/libs/guest/xg_dom_decompress_lz4.c
 create mode 100644 tools/libs/guest/xg_dom_decompress_unsafe_lz4.c

diff --git a/tools/libs/guest/Makefile.common b/tools/libs/guest/Makefile.common
index b928a4a246a9..86b1f160e536 100644
--- a/tools/libs/guest/Makefile.common
+++ b/tools/libs/guest/Makefile.common
@@ -46,7 +46,6 @@ OBJS-y                 += xg_dom_core.o
 OBJS-y                 += xg_dom_boot.o
 OBJS-y                 += xg_dom_elfloader.o
 OBJS-$(CONFIG_X86)     += xg_dom_bzimageloader.o
-OBJS-$(CONFIG_X86)     += xg_dom_decompress_lz4.o
 OBJS-$(CONFIG_X86)     += xg_dom_hvmloader.o
 OBJS-$(CONFIG_ARM)     += xg_dom_armzimageloader.o
 OBJS-y                 += xg_dom_binloader.o
@@ -59,6 +58,7 @@ OBJS-$(CONFIG_ARM)     += xg_dom_arm.o
 ifeq ($(CONFIG_LIBXC_MINIOS),y)
 OBJS-y                 += xg_dom_decompress_unsafe.o
 OBJS-y                 += xg_dom_decompress_unsafe_bzip2.o
+OBJS-y                 += xg_dom_decompress_unsafe_lz4.o
 OBJS-y                 += xg_dom_decompress_unsafe_lzma.o
 OBJS-y                 += xg_dom_decompress_unsafe_lzo1x.o
 OBJS-y                 += xg_dom_decompress_unsafe_xz.o
diff --git a/tools/libs/guest/xg_dom_bzimageloader.c b/tools/libs/guest/xg_dom_bzimageloader.c
index 1fb4e5a1f728..32b3c682a447 100644
--- a/tools/libs/guest/xg_dom_bzimageloader.c
+++ b/tools/libs/guest/xg_dom_bzimageloader.c
@@ -32,7 +32,6 @@
 #include <inttypes.h>
 
 #include "xg_private.h"
-#include "xg_dom_decompress.h"
 
 #include <xen-tools/common-macros.h>
 
@@ -623,6 +622,133 @@ static int xc_try_zstd_decode(
 
 #endif
 
+#if defined(HAVE_LZ4)
+
+#include <lz4.h>
+
+#define ARCHIVE_MAGICNUMBER 0x184C2102
+
+static int xc_try_lz4_decode(struct xc_dom_image *dom, void **blob, size_t *size)
+{
+    size_t outsize, insize;
+    unsigned char *outbuf = NULL, *inp = *blob, *outp;
+    uint32_t chunksize;
+
+    /* Magic, descriptor byte, and trailing size field. */
+    if ( *size <= 8 )
+    {
+        DOMPRINTF("LZ4: insufficient input data");
+        goto err;
+    }
+
+    insize = *size - 4;
+    outsize = get_unaligned_le32(*blob + insize);
+
+    if ( xc_dom_kernel_check_size(dom, outsize) )
+    {
+        DOMPRINTF("LZ4: output too large");
+        goto err;
+    }
+
+    outbuf = malloc(outsize);
+    if ( !outbuf )
+    {
+        DOMPRINTF("LZ4: failed to alloc memory");
+        goto err;
+    }
+    outp = outbuf;
+
+    chunksize = get_unaligned_le32(inp);
+    if ( chunksize == ARCHIVE_MAGICNUMBER )
+    {
+        inp    += 4;
+        insize -= 4;
+    }
+    else
+    {
+        DOMPRINTF("LZ4: invalid header");
+        goto err;
+    }
+
+    for ( ;; )
+    {
+        int dst_len, len;
+
+        if ( insize < 4 )
+        {
+            DOMPRINTF("LZ4: missing data");
+            goto err;
+        }
+
+        chunksize = get_unaligned_le32(inp);
+        inp    += 4;
+        insize -= 4;
+
+        if ( chunksize == ARCHIVE_MAGICNUMBER )
+            continue;
+
+        if ( chunksize > insize )
+        {
+            DOMPRINTF("LZ4: insufficient input data");
+            goto err;
+        }
+
+        dst_len = outsize - (outp - outbuf);
+        len = LZ4_decompress_safe((const void *)inp,
+                                  (void *)outp, chunksize, dst_len);
+
+        if ( len < 0 )
+        {
+            DOMPRINTF("LZ4: decoding failed");
+            goto err;
+        }
+
+        outp   += len;
+        inp    += chunksize;
+        insize -= chunksize;
+
+        if ( insize == 0 )
+            break;
+    }
+
+    if ( (outp - outbuf) != outsize )
+    {
+        DOMPRINTF("LZ4: got 0x%zx bytes instead of 0x%zx",
+                  outp - outbuf, outsize);
+        goto err;
+    }
+
+    if ( xc_dom_register_external(dom, outbuf, outsize) )
+    {
+        DOMPRINTF("LZ4: error registering stream output");
+        goto err;
+    }
+
+    DOMPRINTF("%s: LZ4 decompress OK, 0x%zx -> 0x%zx",
+              __FUNCTION__, insize, outsize);
+
+    *blob = outbuf;
+    *size = outsize;
+
+    return 0;
+
+ err:
+    free(outbuf);
+    return -1;
+}
+
+#else /* !defined(HAVE_LZ4) */
+
+static int xc_try_lz4_decode(struct xc_dom_image *dom, void **blob, size_t *size)
+{
+    xc_dom_panic(dom->xch, XC_INTERNAL_ERROR,
+                 "%s: LZ4 decompress support unavailable\n",
+                 __FUNCTION__);
+    return -1;
+}
+
+#endif
+
 #endif /* !__MINIOS__ */
 
 struct setup_header {
diff --git a/tools/libs/guest/xg_dom_decompress.h b/tools/libs/guest/xg_dom_decompress.h
deleted file mode 100644
index d7a45f730d67..000000000000
--- a/tools/libs/guest/xg_dom_decompress.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifdef __MINIOS__
-# include "xg_dom_decompress_unsafe.h"
-#endif
-
-int xc_try_lz4_decode(struct xc_dom_image *dom, void **blob, size_t *size);
-
diff --git a/tools/libs/guest/xg_dom_decompress_lz4.c b/tools/libs/guest/xg_dom_decompress_lz4.c
deleted file mode 100644
index 53ef0bf328ed..000000000000
--- a/tools/libs/guest/xg_dom_decompress_lz4.c
+++ /dev/null
@@ -1,143 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <inttypes.h>
-#include <stdint.h>
-
-#include INCLUDE_ENDIAN_H
-
-#define XG_NEED_UNALIGNED
-#include "xg_private.h"
-#include "xg_dom_decompress.h"
-
-#define CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
-
-typedef uint8_t u8;
-typedef uint16_t u16;
-typedef uint32_t u32;
-typedef uint64_t u64;
-
-#define likely(a) a
-#define unlikely(a) a
-
-static inline uint16_t le16_to_cpu(uint16_t v)
-{
-#if BYTE_ORDER == BIG_ENDIAN
-    return __builtin_bswap16(v);
-#else
-    return v;
-#endif
-}
-
-#include "../../xen/include/xen/lz4.h"
-#include "../../xen/common/decompress.h"
-
-#ifndef __MINIOS__
-
-#include "../../xen/common/lz4/decompress.c"
-
-#define ARCHIVE_MAGICNUMBER 0x184C2102
-
-int xc_try_lz4_decode(
-	struct xc_dom_image *dom, void **blob, size_t *psize)
-{
-	int ret = -1;
-	unsigned char *inp = *blob, *output, *outp;
-	ssize_t size = *psize - 4;
-	size_t out_len, dest_len, chunksize;
-	const char *msg;
-
-	if (size < 4) {
-		msg = "input too small";
-		goto exit_0;
-	}
-
-	out_len = get_unaligned_le32(inp + size);
-	if (xc_dom_kernel_check_size(dom, out_len)) {
-		msg = "Decompressed image too large";
-		goto exit_0;
-	}
-
-	output = malloc(out_len);
-	if (!output) {
-		msg = "Could not allocate output buffer";
-		goto exit_0;
-	}
-	outp = output;
-
-	chunksize = get_unaligned_le32(inp);
-	if (chunksize == ARCHIVE_MAGICNUMBER) {
-		inp += 4;
-		size -= 4;
-	} else {
-		msg = "invalid header";
-		goto exit_2;
-	}
-
-	for (;;) {
-		if (size < 4) {
-			msg = "missing data";
-			goto exit_2;
-		}
-		chunksize = get_unaligned_le32(inp);
-		if (chunksize == ARCHIVE_MAGICNUMBER) {
-			inp += 4;
-			size -= 4;
-			continue;
-		}
-		inp += 4;
-		size -= 4;
-		if (chunksize > size) {
-			msg = "insufficient input data";
-			goto exit_2;
-		}
-
-		dest_len = out_len - (outp - output);
-		ret = lz4_decompress_unknownoutputsize(inp, chunksize, outp,
-				&dest_len);
-		if (ret < 0) {
-			msg = "decoding failed";
-			goto exit_2;
-		}
-
-		ret = -1;
-		outp += dest_len;
-		size -= chunksize;
-
-		if (size == 0)
-		{
-			if ( xc_dom_register_external(dom, output, out_len) )
-			{
-				msg = "Error registering stream output";
-				goto exit_2;
-			}
-			*blob = output;
-			*psize = out_len;
-			return 0;
-		}
-
-		if (size < 0) {
-			msg = "data corrupted";
-			goto exit_2;
-		}
-
-		inp += chunksize;
-	}
-
-exit_2:
-	free(output);
-exit_0:
-	DOMPRINTF("LZ4 decompression error: %s\n", msg);
-	return ret;
-}
-
-#else /* __MINIOS__ */
-
-#include "../../xen/common/unlz4.c"
-
-int xc_try_lz4_decode(
-    struct xc_dom_image *dom, void **blob, size_t *size)
-{
-    return xc_dom_decompress_unsafe(unlz4, dom, blob, size);
-}
-
-#endif
diff --git a/tools/libs/guest/xg_dom_decompress_unsafe.h b/tools/libs/guest/xg_dom_decompress_unsafe.h
index ac6b94288d5e..5bc222207653 100644
--- a/tools/libs/guest/xg_dom_decompress_unsafe.h
+++ b/tools/libs/guest/xg_dom_decompress_unsafe.h
@@ -16,6 +16,8 @@ int xc_dom_decompress_unsafe(
 
 int xc_try_bzip2_decode(struct xc_dom_image *dom, void **blob, size_t *size)
     __attribute__((visibility("internal")));
+int xc_try_lz4_decode(struct xc_dom_image *dom, void **blob, size_t *size)
+    __attribute__((visibility("internal")));
 int xc_try_lzma_decode(struct xc_dom_image *dom, void **blob, size_t *size)
     __attribute__((visibility("internal")));
 int xc_try_lzo1x_decode(struct xc_dom_image *dom, void **blob, size_t *size)
diff --git a/tools/libs/guest/xg_dom_decompress_unsafe_lz4.c b/tools/libs/guest/xg_dom_decompress_unsafe_lz4.c
new file mode 100644
index 000000000000..405143aa6182
--- /dev/null
+++ b/tools/libs/guest/xg_dom_decompress_unsafe_lz4.c
@@ -0,0 +1,39 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <inttypes.h>
+#include <stdint.h>
+
+#include INCLUDE_ENDIAN_H
+
+#define XG_NEED_UNALIGNED
+#include "xg_private.h"
+#include "xg_dom_decompress.h"
+
+#define CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
+
+typedef uint8_t u8;
+typedef uint16_t u16;
+typedef uint32_t u32;
+typedef uint64_t u64;
+
+#define likely(a) a
+#define unlikely(a) a
+
+static inline uint16_t le16_to_cpu(uint16_t v)
+{
+#if BYTE_ORDER == BIG_ENDIAN
+    return __builtin_bswap16(v);
+#else
+    return v;
+#endif
+}
+
+#include "../../xen/include/xen/lz4.h"
+#include "../../xen/common/decompress.h"
+#include "../../xen/common/unlz4.c"
+
+int xc_try_lz4_decode(
+    struct xc_dom_image *dom, void **blob, size_t *size)
+{
+    return xc_dom_decompress_unsafe(unlz4, dom, blob, size);
+}
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 08:54:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 08:54:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325915.1591278 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUhN4-0004pu-0F; Wed, 03 Jun 2026 08:54:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325915.1591278; Wed, 03 Jun 2026 08:54: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 1wUhN3-0004pn-Tp; Wed, 03 Jun 2026 08:54:41 +0000
Received: by outflank-mailman (input) for mailman id 1325915;
 Wed, 03 Jun 2026 08:54:41 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUhN2-0004pc-VX
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 08:54:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUhN2-006N2H-Bx
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 10:54:40 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1febba-5cb7-0a2a0a5109dd-0a2a450cd138-44
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:54:40 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1febcf-62f1-0a2a450c0019-d1558034e5dc-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 10:54:40 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-490b4a8e28bso8090485e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 01:54: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
 5b1f17b1804b1-490b79d64e8sm32676405e9.0.2026.06.03.01.54.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 01:54: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780476879; x=1781081679; 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=MvCg0eeCMW6aRP6vqfCPBGQJAFMK+FvjHRVTwGL3U2I=;
        b=e5PV1IbrcdPnra6WNLJKf3xXLr5zuWNUMtv7tez+jsgqWG/DovcwpEtq2Wg52JYspK
         d3lQSXqgdahaIu1RXkkquNA777VeYyiccoDHlUg8ThRJslCEmRp1UkJKC8HEJpW4AkaT
         hoYmfYGq1WYy9bu0GwHdoAvuTIIc2+q3JMIznGp/m3h+u3OUHNREbxmZa8BNeIGH2k1L
         xlTzUFsrgP1rTCkMA1ArlkCVAIrmmnd2nyCFb5UgtOmKHXvVRU1Nv8N6XYx3DT29UbO1
         6zhgC0t+BkHAj+FnLdFVmiz7EghU8BY/r99oruHItSeed/R1awednfW/xbfb08oqr4Bn
         nw6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780476879; x=1781081679;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MvCg0eeCMW6aRP6vqfCPBGQJAFMK+FvjHRVTwGL3U2I=;
        b=dDiLmuh8jWO0Nv1xUvBEtLjgfOR0Q3uc4v+t2hVkUYehkb1Wg2lULgRVLKR9yEUxG2
         w4PKTUhuyIbU4pvPk1U7A0y/EI9yWORYB1Hosgz4tMv+OvlBur5whCGq6hcJTUduKzhu
         1778nJbgd+r2fDvBgc3swkVUiF7uXzrFgWWD2Vt+v3rYheR63uiol2AYhCnxNfswUBpk
         o+7BwIEWB8nmDVgDRF1lk4XKqOzZYVTK6j8UJ0SXkvmQRW/DM/wjpNFiGy9jNlo/o8sD
         yvMRXX2yga9lEhf449MFT62EVOH8qJl7cd83WtiqWzo+39etMc1dSQlZP1HZa/+czukl
         dIFg==
X-Forwarded-Encrypted: i=1; AFNElJ9f5XzAtTzgkPIxbvYadPi7mpJJhtTh67XFDsoRsoKZalW2YRmgrl46k72vD+GZjimefFWbtVDAMgY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz3or97CCexlmLuE1JMiAfEIpJAXJ2W8JGHz0COyjQ2meptVOYQ
	VzzHMMdJIxHPB8frfiuSAPaP3PIOx6F0ZL9GYRT56SwOeAB3Zm9oeJ0BgfV2lUbwRA==
X-Gm-Gg: Acq92OEo6WGr5jXNR9rSGfjmEPZFIL5xoWNtYd+EmRgLSp5ML2gnEv1j6FYuongMtzg
	EJ7gnySzxS+QdKwqryYs2z5cUc6Yhd8Gk9GxDGS9scEpO5eVGatJ9WwDt51QII6tVMxPVd0QASL
	qa0nxzFWroEe60XN/wMD7cOCRlMoJxkWW4gqOIZnXauen7+IpX0LpTUKnxnqIV0M9klMp6mifdC
	VLU0aNQmPs3ZbdskzeJBL8ToVxcJ2S2d6TnlOVF/VvuB+UsC4HJviKKncLc0lXa+KMi01FXZNvl
	jHKi8WOzEVJY6qfBV6p9GyImaBl2NeoKlPd1IAq5nxW9OzIX7NBP+cNvKAnwfRk/lZEu+HxK9JA
	6PN3Vdg+hNp/1hRCMfBiqQp53N91PHd3NSL8J/nkSIaLXgOS79PzSN9hfCW2/7m0V4qevjt9YHi
	EvB7xugaAL9Pfse/F++DGtCFIjZ/8wz+R/44aNqlGz9mN+/6z+3DWqyoT2UZZ4MHiJppQD6OrV3
	s9EKP/2rn1T0byba6QZVWpBUA==
X-Received: by 2002:a05:600c:470a:b0:490:4f91:5519 with SMTP id 5b1f17b1804b1-490b5e51b3bmr41098265e9.18.1780476879472;
        Wed, 03 Jun 2026 01:54:39 -0700 (PDT)
Message-ID: <d17f835b-3095-4d08-b2bd-7ab69e08db45@suse.com>
Date: Wed, 3 Jun 2026 10:54:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 5/5] xen/numa: fix setup of non-aligned memory
 affinity ranges
From: Jan Beulich <jbeulich@suse.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20260601154332.30797-1-roger.pau@citrix.com>
 <20260601154332.30797-6-roger.pau@citrix.com>
 <de557b90-e5dd-468b-ac34-dcf463e95cad@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: <de557b90-e5dd-468b-ac34-dcf463e95cad@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1780476880-E2B74CF5-377995DB/0/0
X-purgate-type: clean
X-purgate-size: 1083

On 03.06.2026 10:53, Jan Beulich wrote:
> On 01.06.2026 17:43, Roger Pau Monne wrote:
>> --- a/xen/common/numa.c
>> +++ b/xen/common/numa.c
>> @@ -396,7 +396,13 @@ static int __init populate_memnodemap(const struct node *nodes,
>>  
>>      for ( i = 0; i < numnodes; i++ )
>>      {
>> -        unsigned long spdx = paddr_to_pdx(nodes[i].start);
>> +        /*
>> +         * Round down start address: if start is not aligned to the memnodemap
>> +         * chunk size the tail remainder might not be added.  Overlaps created
>> +         * by rounding will fall into the same NUMA region.
>> +         */
>> +        unsigned long spdx = ROUNDDOWN(paddr_to_pdx(nodes[i].start),
>> +                                       1UL << shift);
> 
> Imo this rounding would better be done ...
> 
>>          unsigned long epdx = paddr_to_pdx(nodes[i].end - 1);
>>  
>>          if ( spdx > epdx )
> 
> ... only after this check (and then perhaps also after the subsequent if()).

Oh, and: With that adjustment
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 09:01:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 09:01:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325925.1591288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUhTG-0006gq-KX; Wed, 03 Jun 2026 09:01:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325925.1591288; Wed, 03 Jun 2026 09:01: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 1wUhTG-0006gj-He; Wed, 03 Jun 2026 09:01:06 +0000
Received: by outflank-mailman (input) for mailman id 1325925;
 Wed, 03 Jun 2026 09:01:04 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUhTE-0006gd-Hw
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 09:01:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUhTD-0030xi-JE
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 11:01:03 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1fed44-5cb7-0a2a0a5109dd-0a2a4503a8b6-48
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:01:03 +0200
Received: from [209.85.208.53] (helo=mail-ed1-f53.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1fed4f-672d-0a2a45030019-d155d035d526-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:01:03 +0200
Received: by mail-ed1-f53.google.com with SMTP id
 4fb4d7f45d1cf-68ed5b52767so4819a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 02:01:03 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bf0553040a7sm114786866b.50.2026.06.03.02.01.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 02:01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780477263; x=1781082063; 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=LfL7r7VuMlXd5Z4UAmYZ49UlFZwuryFedY8y/cAFmVI=;
        b=dbwiq4OrYtIYwjYxuoqdDLYvWcXlkrMd+MnsM91gq9fb8dvhF487jQPqtcfDNi+ECm
         A7ux7eZ/cao++H8lfsWMaLS5IVS9JbAWAmr61ldht6up8FTfNnjNmouwzZpftpNdpgJ2
         7uXaVYUJxSHe60W/w5O1Rg11v4TgPCrrPsrm+fARD9fKhecXV8D0807Xfs9VuG0OnrOD
         mPmKadp8rgOa9z6rcePUq/OWhB2NPMZXn6vKaUkB3MHS/dEGXRP6ici57v1al6YFreWj
         XNVLjNc3XyWooPkmupycGAXfWLVr0OLhseHLofy3sH6X7X5qewWHds1wb8YHwjg24G/D
         9KUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780477263; x=1781082063;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=LfL7r7VuMlXd5Z4UAmYZ49UlFZwuryFedY8y/cAFmVI=;
        b=LMhtYFVQZ6132qrSg7sGU1G9K/ecNdZK4qTKGcljjHd46cwSiMam1NicCffkyq1le1
         iM6wsXhYi/66EQcdz4CokxANIKikZeD0SGNIdte6Sdf0ZNvRBkZB9mTDSNhhAYLqnXVq
         jMkiCMtEIJJbFr194c4r+GzhZ5gTfgZIGogqEeIu29XKlvZQJheMKBQHShIHg90WHiFI
         M0edsFjdIpUrzsISUZVyHt1yZoO35NNX2kOMQfvZU4DvIgWR/iSszdH3Sjj/JDeZOjb5
         fVgvYCPSS4T8g6zPB71BnXaO7PNDpsuS37yl2HM8hBcMnVk5b3mDpMoPuRPUm5otr8TM
         fbzQ==
X-Forwarded-Encrypted: i=1; AFNElJ9Bf0ttF/iFxL7fUcusiKrAh1nGqj3SQdZVsWPH7GgvB3VJrszjpVL15rnsmprOoYXYlf3CMWngl9I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxPQWR4Crv3BPh5FDuEqML1V3irFIJId/cRDQAfyenst5orQUAM
	mSn3Gh97xB0Ihx5oEY/2fPlenYsHkEYf2kQi//CyfaKnlHLWgjJ5r9Z+
X-Gm-Gg: Acq92OFqRBXWN426Hm5qo0KkxoW0CmueV+GyYiT7yhFZd+uBH9fAGuUgNlunTgvwhib
	htWP2yalwByJRMQuQi5Zbuf7JcBz717CX9dFiDByNGIPXmH8qOBKtOJ59xahGxhUEJKaiHPhsJX
	86Q2T1CBqhZ2lYi3oYfzYER8iv+H5saXDKTqDPSyvBiw0EGF9qxe0UJrZsWLeJ8iQ3eUw34tolK
	BhOfAWLxmlvsXzoycDj2yGEpDNvl6hft4Pzkb66qs3l8nQlSUAD5nQaBXF1whvrrjMp/iJlB41D
	hd/HVBM5UWoqu0HwXEsL+zoyhhwNFnA40l23xCJB1KEtJSlWdkKwYnwhLYugp5tgXi13jxqr9By
	4O9cz5pQsYWr48IiaCgUiF/FgPXoj2ZAyPpVNGl79Vpgg7AOndv3YoEFWbznWh3nlne1SuSAcs9
	P6+wqjOohUIELk1BpvL3qTbN64LyyYoYWGQry10qrDGf6w509tRWmcp/j+xOdG0A4xgmOAA/Deh
	s9Cpe8+dfG2YPDl
X-Received: by 2002:a17:907:1998:b0:bee:f79b:17ca with SMTP id a640c23a62f3a-bf0aef05ddfmr128554466b.35.1780477262595;
        Wed, 03 Jun 2026 02:01:02 -0700 (PDT)
Message-ID: <0e53e87e-df9f-4c30-a089-8c4e45babcab@gmail.com>
Date: Wed, 3 Jun 2026 11:01:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] xen/domain: fix UBSAN null pointer dereference of
 d->shared_info
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: <cover.1779712171.git.oleksii.kurochko@gmail.com>
 <04dd784b6b9a4dfca9a313ea8802d8d514d65021.1779712171.git.oleksii.kurochko@gmail.com>
 <3aef7763-aea3-496a-8c18-d3659f590373@suse.com>
 <fb1b1194-5855-49d9-99fc-d35a3038833c@gmail.com>
 <3eb9ab3d-dc4d-4019-89c8-9f7dbdc528cd@suse.com>
 <9df0b08e-6185-4d0e-bd06-32fe9d684ad0@gmail.com>
 <033aa467-ad86-48be-a59b-05315aa3cf4c@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <033aa467-ad86-48be-a59b-05315aa3cf4c@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1780477263-39171938-EEB1183C/10/73395122804
X-purgate-type: spam
X-purgate-size: 10962



On 6/3/26 10:18 AM, Jan Beulich wrote:
> On 03.06.2026 10:07, Oleksii Kurochko wrote:
>> On 6/3/26 7:54 AM, Jan Beulich wrote:
>>> On 02.06.2026 18:11, Oleksii Kurochko wrote:
>>>> On 6/2/26 1:19 PM, Jan Beulich wrote:
>>>>> On 25.05.2026 15:20, Oleksii Kurochko wrote:
>>>>>> It is legal to have d->shared_info equal to NULL for architectures which
>>>>>> support only the FIFO ABI for event channel management.
>>>>>>
>>>>>> Having d->shared_info == NULL leads to a UBSAN issue on such architectures:
>>>>>>      UBSAN: Undefined behaviour in common/domain.c:325:10
>>>>>>             member access within null pointer of type 'struct shared_info_t'
>>>>>>
>>>>>> vcpu_info_reset() maps v->vcpu_info_area.map to the per-vcpu slot inside
>>>>>> the domain's shared_info page for vcpus with id < XEN_LEGACY_MAX_VCPUS,
>>>>>> and falls back to dummy_vcpu_info for vcpus beyond that limit.
>>>>>> Extend the existing fallback condition to also cover the case where no
>>>>>> shared_info page has been allocated, mapping the vcpu to dummy_vcpu_info
>>>>>> instead. This is the correct behaviour: dummy_vcpu_info already serves
>>>>>> as the safe stand-in for vcpus that have no usable shared_info slot.
>>>>>>
>>>>>> Additionally, if an architecture supports only the FIFO ABI, setup_ports()
>>>>>> should be updated to avoid a NULL pointer dereference of d->shared_info,
>>>>>> since in that case there will be no pending events in
>>>>>> shared_info->evtchn_pending and the pending flag of the FIFO event channel
>>>>>> does not need to be set to true.
>>>>>> update_domain_wallclock_time() accesses d->shared_info via shared_info()
>>>>>> macro. On architectures that do not allocate a shared_info page (currently
>>>>>> RISC-V, which runs guests in dom0less mode without the PV ABI), this causes
>>>>>> a NULL dereference. The early return is safe: if there is no shared_info
>>>>>> page, there is nothing to update. For all existing architectures (x86, ARM)
>>>>>> that do allocate it, the guard is never taken and behavior is unchanged.
>>>>>>
>>>>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>>>>> ---
>>>>>> Changes in v2:
>>>>>>     - Update commit message + subject.
>>>>>>     - Drop Fixes tag.
>>>>>>     - Handle migration of pending events from 2L and FIFO ABIs when arch
>>>>>>       support only FIFO ABI.
>>>>>
>>>>> What does this item describe? On an arch supporting only FIFO, how could
>>>>> evtchn need migrating from 2L?
>>>>
>>>> Agree this item is inaccurate.
>>>>
>>>> evtchn_init() always calls evtchn_2l_init(d) first
>>>> (event_channel.c:1627), so every domain starts with 2L regardless of
>>>> arch (of course, it is just initialization of evtchn_port_ops which
>>>> aren't really used when only FIFO is supported).
>>>>
>>>> setup_ports() is called during the guest-initiated 2Lâ†’FIFO transition
>>>> (event_fifo.c:637), not at arch init time. There is no arch that
>>>> supports "only FIFO" as a starting state and that is why it is needed to
>>>> guard setup_ports() against NULL d->shared_info when migrating 2L
>>>> pending state to FIFO even 2L wasn't really used by an arch with only
>>>> FIFO support.
>>>
>>> Imo on arch-es not supporting 2L, domains shouldn't start in 2L mode.
>>
>> Agree but will it be easy to achieve now with the current code base?
>>
>> The best what could be done it is avoid calling evtchn_2l_init() now in
>> event_channel.c and:
>> 1. Add a new Kconfig symbol, CONFIG_HAS_EVTCHN_2L (or re-use
>> HAS_SHARED_INFO suggested before), selected by x86 and ARM.
> 
> I'd stick to just HAS_SHARED_INFO as long as a separate control for 2-
> level evtchn isn't strictly needed.
> 
>> 2. In evtchn_init() (event_channel.c:1627), guard the call:
>>      #ifdef CONFIG_HAS_EVTCHN_2L
>>         evtchn_2l_init(d);
>>      #else
>>         evtchn_none_init(d);
>>      #endif
>> 3. Add a small stub ops table (probably in event_fifo.c or a new
>> event_none.c) with no-op set_pending/clear_pending/unmask, is_pending
>> returning false, is_masked returning true (valid until
>> evtchn_fifo_init_control() replaces them).
> 
> That's one of the options (the stubs could then as well live in
> event_channel.c). Another might be to put the FIFO ops in place right
> away, making sure they can cope with evtchn_fifo_init_control() not
> having been called yet.

Some FIFO ops are dependent on evtchn_fifo_init_control:

evtchn_fifo_word_from_port() is used in FIFO ops, and it dereferences 
d->evtchn_fifo unconditionally at event_fifo.c:65:
   if ( unlikely(port >= d->evtchn_fifo->num_evtchns) )

evtchn_fifo_set_pending() additionally dereferences 
v->evtchn_fifo->queue[...] at line 202, which is also NULL before 
per-vcpu FIFO init.

It looks safer to go with no-op operations.

> 
>>>>>> --- a/xen/common/domain.c
>>>>>> +++ b/xen/common/domain.c
>>>>>> @@ -320,7 +320,7 @@ void vcpu_info_reset(struct vcpu *v)
>>>>>>         struct domain *d = v->domain;
>>>>>>     
>>>>>>         v->vcpu_info_area.map =
>>>>>> -        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS)
>>>>>> +        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS && d->shared_info)
>>>>>>              ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>>>>>>              : &dummy_vcpu_info);
>>>>>>     }
>>>>>
>>>>> At the example of this: The extra conditionals are dead code on x86 and
>>>>> Arm. While the status of the respective Misra rule is still uncertain
>>>>> for Xen, imo we'd be better off avoiding the introduction of new dead
>>>>> code. Which in turn means we may need some kind of abstraction to have
>>>>> these extra conditionals in place only for arch-es not supporting
>>>>> shared-info at all.
>>>>
>>>> What about then add config HAS_SHARED_INFO to xen/common/Kconfig and then:
>>>
>>> We're getting closer. Imo we want to go farther, though: shared_info() as a
>>> construct should be unavailable when !HAS_SHARED_INFO. _That_ then will
>>> make obvious (by causing build failures) that all respective use sites were
>>> properly dealt with.
>>
>> I will add then:
>>
>> +#ifdef CONFIG_HAS_SHARED_INFO
>>    #define shared_info(d, field)      __shared_info(d, (d)->shared_info,
>> field)
>> +#endif
>>
>> But with doing that we have only option of using #ifdef HAS_SHARED_INFO
>> in the place where shared_info() is used. If it is fine then I will be
>> happy to do in this way.
> 
> Well, I gave a suggestion to avoid such #ifdef-ary, ...
> 
>>>> --- a/xen/common/domain.c
>>>> +++ b/xen/common/domain.c
>>>> @@ -319,10 +319,14 @@ void vcpu_info_reset(struct vcpu *v)
>>>>     {
>>>>         struct domain *d = v->domain;
>>>>
>>>> +#ifdef CONFIG_HAS_SHARED_INFO
>>>>         v->vcpu_info_area.map =
>>>> -        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS && d->shared_info)
>>>> -         ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>>>> -         : &dummy_vcpu_info);
>>>> +        (v->vcpu_id < XEN_LEGACY_MAX_VCPUS)
>>>> +        ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>>>> +        : &dummy_vcpu_info;
>>>> +#else
>>>> +    v->vcpu_info_area.map = &dummy_vcpu_info;
>>>> +#endif
>>>>     }
>>>
>>> I agree with #ifdef here.
>>>
>>>> --- a/xen/common/event_fifo.c
>>>> +++ b/xen/common/event_fifo.c
>>>> @@ -562,9 +562,10 @@ static void setup_ports(struct domain *d, unsigned
>>>> int prev_evtchns)
>>>>
>>>>             evtchn = evtchn_from_port(d, port);
>>>>
>>>> -        if ( d->shared_info &&
>>>> -             guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>>>> +#ifdef CONFIG_HAS_SHARED_INFO
>>>> +        if ( guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>>>>                 evtchn->pending = true;
>>>> +#endif
>>>
>>> While as per above shared_info() would best not exist when !HAS_SHARED_INFO
>>> (in which case #ifdef may be unavoidable here), an alternative where
>>> IS_ENABLED() could be used here may want at least considering. E.g.
>>> causing a link-time failure when shared_info() is used (and not compiled
>>> out).
> 
> ... here. There are downsides to this, so which route to go needs settling
> on.

For an alternative approach are you okay with the following introduction:

#ifdef CONFIG_HAS_SHARED_INFO
#define shared_info(d, field)      __shared_info(d, (d)->shared_info, field)
#else
void *__shared_info_unavailable(void);
#define shared_info(d, field) \
     (*(typeof(__shared_info(d, (d)->shared_info, field)) 
*)__shared_info_unavailable())
#endif

And then use IS_ENABLED(CONFIG_HAS_SHARED_INFO) everywhere where 
shared_info() is used including the case above:

v->vcpu_info_area.map =
     IS_ENABLED(CONFIG_HAS_SHARED_INFO) && v->vcpu_id < XEN_LEGACY_MAX_VCPUS
     ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
     : &dummy_vcpu_info;

Everything that in event_2l.c could go for now without 
IS_ENABLED(CONFIG_HAS_SHARED_INFO) where shared_info() is used as that 
code isn't expected to be called by arch which doesn't support 2L so no 
linkage error will occur.

> 
>>>> --- a/xen/common/time.c
>>>> +++ b/xen/common/time.c
>>>> @@ -94,8 +94,9 @@ void update_domain_wallclock_time(struct domain *d)
>>>>         uint32_t *wc_version;
>>>>         uint64_t sec;
>>>>
>>>> -    if ( !d->shared_info )
>>>> -        return;
>>>> +#ifndef CONFIG_HAS_SHARED_INFO
>>>> +    return;
>>>> +#endif
>>>>
>>>>         spin_lock(&wc_lock);
>>>
>>> Constructs like this are imo somewhat ugly. Using IS_ENABLED() instead
>>> would make things at least a little better (again imo).
>>
>> Considering mentioned above it would be better to #ifdef the whole buddy
>> of the function:
>>
>> void update_domain_wallclock_time(struct domain *d)
>>    {
>> +#ifdef CONFIG_HAS_SHARED_INFO
>> +
>>        uint32_t *wc_version;
>>        uint64_t sec;
>>
>> -#ifndef CONFIG_HAS_SHARED_INFO
>> -    return;
>> -#endif
>> -
>>        spin_lock(&wc_lock);
>>
>>        wc_version = &shared_info(d, wc_version);
>> @@ -120,6 +118,8 @@ void update_domain_wallclock_time(struct domain *d)
>>        *wc_version = version_update_end(*wc_version);
>>
>>        spin_unlock(&wc_lock);
>> +
>> +#endif /* CONFIG_HAS_SHARED_INFO */
>>    }
> 
> In which case there's no point having use sites actually call here. I.e.
> we then may want to have an inline stub when !HAS_SHARED_INFO.
> 
>> Considering also that shared_info is expected to be used only for 2L
>> then it would be better to introduce CONFIG_HAS_EVTCHN_2L instead.
> 
> How does the event channel model in use matter for
> update_domain_wallclock_time()?

Just implicitly because of that 2l uses shared_info page but 
theoretically it is possible that this page will be used for something 
else or for some other event channel ABI implementation so 
CONFIG_HAS_SHARED_INFO is better to use.

~ Oleksii




From xen-devel-bounces@lists.xenproject.org Wed Jun 03 09:16:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 09:16:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325936.1591297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUhiG-0000W1-1J; Wed, 03 Jun 2026 09:16:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325936.1591297; Wed, 03 Jun 2026 09: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 1wUhiF-0000Vu-Ub; Wed, 03 Jun 2026 09:16:35 +0000
Received: by outflank-mailman (input) for mailman id 1325936;
 Wed, 03 Jun 2026 09:16:34 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUhiE-0000Vo-Hx
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 09:16:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUhiD-00EoRs-MH
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 11:16:33 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ff0f1-e002-0a2a0a5209dd-0a2a4507c45c-0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:16:33 +0200
Received: from [209.85.221.44] (helo=mail-wr1-f44.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ff0f1-229c-0a2a45070019-d155dd2cd47f-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:16:33 +0200
Received: by mail-wr1-f44.google.com with SMTP id
 ffacd0b85a97d-45ef29c5561so2957784f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 02: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
 5b1f17b1804b1-490b616fdffsm41017795e9.8.2026.06.03.02.16.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780478193; x=1781082993; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=l5A5dWXPWx0wsUcpAXdOIZsI9B5Z+1y2G6lKVCliRc8=;
        b=bV+5i7eoYn4QexPozCOwrTGA65P6r8JPkgAlJvXbghPHdbf+JwPEg4K5kMadBjzOHG
         P9NoRaL5WGUXrAA84d1ogZddOi80cTrGAlYyUneQOCRRaF2q9uEgnTPDLoD59GM26l32
         ULmLN0iWF8Pj1k2JH8Sz00o/gcgLs0fQbMUxCk5n6n30j5wFI8KgfJRcQYJxsyJJN/Tq
         qJ0/9IitHJSFgSIIHJbc6LfDSSWG61h7PPBphTD8FW2r+ScocV8zm2lCkjirDBpnIcet
         WN5pUW9f0q4STHtS9Z+WeA75bSjJh9mzmc1lxrE4EjrdlR6rgtr1sPH99ydvIldZMJ+7
         oQ1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780478193; x=1781082993;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=l5A5dWXPWx0wsUcpAXdOIZsI9B5Z+1y2G6lKVCliRc8=;
        b=YLuFciu6Fnff/UhWBOzHcXKCteAzzZ/4u9ech/YL9cPt/3RPCtYLKfqk9gHQvWFnq1
         bHFJbiSAxashK89xKmBFO94W3LWH9/vXTOezK+98YDQfEoPRfBnwSN53g/COtd8S2ZYE
         LgR2JqHjw744et/Ew0Cmbxw4C51OOG9Je/bYth+32tOeKOdqYqE+J5YPvOZLXQ9KEuAq
         kABQdkZ9b1fkm8QVSdK4Fz/qHSMqMNJxfzDYgWDaIs2kfKyxnCb7LfBeJjAObxJlPvTr
         qo/Bfr/8cMi9nbvZrn59k4WHJE5xv3INBAd3RotLpBwtru/+oCLMo6/yaa12KXp13A1X
         ssXQ==
X-Forwarded-Encrypted: i=1; AFNElJ/QO15c8d76XG8UqOyqmOWcE07lOU/KpXE03tU3I27HI0XrCNpnBr8WnE+DEywgQBq0UUTabTKeqfw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxy462E3WFknzX58id+6t6GnZxMChtq3nX8b7Cm5io6dYQ4SyB2
	34NRWBabjUcuAoaB1GXHAnjuTJTezGXcvZCSFsCddwvv8u8ulrkk8ztW/s37tuAmrg==
X-Gm-Gg: Acq92OEa1HctJ81YSjC9o4eR+w1aBAwHT2aCJE8wGfPYMw7dWs47/7+H45HGgGn6N2w
	wO6KzcpxOsP8cyyyM0XDbABXKnjujHqwt2qqt783bgHwB9B13puTIH6B/zZkNgkWP6lHwdDSrYu
	ALOCxogU/L9Spn655zGjmtEmT/2SFXQSgtSrSvAz+3ZHDMiMZJU7tCX851YU6UCqBupFbswJZdz
	k6VKXurXp0Q7sMyVxoXyJwEi1v1EjVenqMh+X7X0hwTiXdrzU4+fvmDcjTGmrL1sPkpBGZDN7Y8
	OPJm7eFYYYR6UdD8NiZZtEQ0YvmjLHkwAeTfkP1iqM7BvwittBs7qEgZ3YcmX7XUx84MFZKauvx
	9DHL4J5+fbad4ViF036hLtlFSHvZ8tNYD9+ZQLicK0N/dxglPowIrJ3X4rGns7P31DJZHK8CJsA
	3Ak3qClnIcBJzDnRAYt4Sda/A35nLzXTSmyyMgA/Ghf9mb8dQr0HzPuIpfRQUcfW9ShedvhaD6z
	zMeiNB7q2nO2LGIiaNya4REWaS+pMoyEJrE
X-Received: by 2002:a05:600c:8b84:b0:48d:366:b962 with SMTP id 5b1f17b1804b1-490b5e835b7mr42489205e9.6.1780478193001;
        Wed, 03 Jun 2026 02:16:33 -0700 (PDT)
Message-ID: <4818e5b8-21e9-4f2b-9977-8fc4c9a4889b@suse.com>
Date: Wed, 3 Jun 2026 11:16:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22(?) 0/2] tools: Use the system liblz4 package
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260603085331.2704108-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: <20260603085331.2704108-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ef75cf/1780478193-0B979C48-46AD10C6/0/0
X-purgate-type: clean
X-purgate-size: 1878

On 03.06.2026 10:53, Andrew Cooper wrote:
> Switch to using the system liblz4.
> 
> This brings libxenguest's lz4 decompression in line all the others, rather
> than using the unsafe decompressor from Xen (itself a port of Linux's unsafe
> decompressor).

As stated in 84f04d8f0dbf ("libxc: add LZ4 decompression support"), there was
no shared library available at the time (and on the SLES versions I worked
with). Later a shared library appeared, but the -devel package still wasn't
there. On my main dev system (intentionally a relatively old SLES version) I
therefore wouldn't be able to build/test LZ4 anymore if we went this route.
(FTAOD this isn't an outright objection, as the goal of the series is
certainly good. It is mainly a data point to consider.)

Jan

> Andrew Cooper (2):
>   tools/configure: Detect the presence of liblz4
>   tools/libs/guest: Use the system liblz4 in the bzimage loader
> 
>  automation/build/debian/13-arm64v8.dockerfile |   1 +
>  automation/build/debian/13-x86_64.dockerfile  |   1 +
>  tools/configure                               |  79 ++++++++++
>  tools/configure.ac                            |   4 +
>  tools/libs/guest/Makefile.common              |   2 +-
>  tools/libs/guest/xg_dom_bzimageloader.c       | 128 +++++++++++++++-
>  tools/libs/guest/xg_dom_decompress.h          |   6 -
>  tools/libs/guest/xg_dom_decompress_lz4.c      | 143 ------------------
>  tools/libs/guest/xg_dom_decompress_unsafe.h   |   2 +
>  .../libs/guest/xg_dom_decompress_unsafe_lz4.c |  39 +++++
>  10 files changed, 254 insertions(+), 151 deletions(-)
>  delete mode 100644 tools/libs/guest/xg_dom_decompress.h
>  delete mode 100644 tools/libs/guest/xg_dom_decompress_lz4.c
>  create mode 100644 tools/libs/guest/xg_dom_decompress_unsafe_lz4.c
> 
> 
> base-commit: c069c014f21fd1f5925d8c30c18adb4f26381475



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 09:21:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 09:21:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325941.1591306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUhn9-00021q-JT; Wed, 03 Jun 2026 09:21:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325941.1591306; Wed, 03 Jun 2026 09:21: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 1wUhn9-00021j-GJ; Wed, 03 Jun 2026 09:21:39 +0000
Received: by outflank-mailman (input) for mailman id 1325941;
 Wed, 03 Jun 2026 09:21:38 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wUhn8-00021d-8N
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 09:21:38 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUhn7-00EpZS-9H
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 11:21:37 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1ff20e-e002-0a2a0a5209dd-0a2a4503d092-42
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:21:37 +0200
Received: from [52.101.85.35]
 (helo=BYAPR05CU005.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1ff21e-672d-0a2a45030019-346555234e9a-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:21:36 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by LV1PR03MB989681.namprd03.prod.outlook.com (2603:10b6:408:3bd::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 09:21:32 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 09:21: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=foQpDLQgEuqOW6CmwC3FTK5212ZHeHlIbbiji1FZBB1cEzv/+4lvVDpk52Ep2jqK40Wr0VRin1rvoVaKzXQs7Du78MluSTH3vgDGaQyR98M7k5b1t16O+Wnj2zSY6xQFAIcyiJD/2vLWQ6IJ3g3PZpKEj74yLqxCkVNvpRWoyIX+R21b/eZ0qP+IZ3oeYmMIJbSDR9iJLZnfo/+FTTvmDD4/R2Gpgm1ReEZ1nKrqQ6G2LOiKGs+4n9zQK40D5wEOrLt5KmG+XVDzR7RSKT+Farlw1PSiHDrdnsgjIRV5cKocjTBteIXQGQMqL1tjC0N1MtqErjLtBaJ2g9P3U8niXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=stYXFMbQ6OzNHOJ/4Q+gxZcbpi3ZxBWa1zGWYSMV52U=;
 b=NabSRDVM50DUBqoUQkP4PTM0nX9QvE5+YD6w8UmQyb5oZtzZoNiXSJk/wwmZXGXHi2ES7ZBoEQjLZMCWgWgwDb2QlfX3aiOs0IsfUICgZ7YgvRADAdvvpVlZj7JFQouKlAhgD0Wwj/DuHpZrz3g3rKJWqw5P6DWGuYAnBDU/Jb4xVgiphy5TG3Ubti8Sn20a3TMtudzCnGmh8xXOPHwyWdy8HUso/SLHx8OLsQ46IuY6drUoDhxpS1Wm3qVBs/yPxHZ6TGo24Af72zn4R9RLxZSC1ni7Qa4mIKFKUhW4Z+YR1mYkXYt34Eup7qe57sNJQXa7IkZiCRqE1rSpnOkPjw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=stYXFMbQ6OzNHOJ/4Q+gxZcbpi3ZxBWa1zGWYSMV52U=;
 b=Y42s7gzzgvPSpRD+Kt5sM/P8YeMDY/su39DVbQv9lLd9BOrymOwBcj1dO+sfV+xmwRFbYMI1gNXdLZWNXjJGp6Sn/vtj2tXtdGnhUxkAgTDFRguLjniEl0XBMicNjFh+SXeKnHvliRIidhiHinRV3B96DHSfJ69X0Nqc0+Vk+kM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <3641d161-70fd-4807-a1f8-689f0295c579@citrix.com>
Date: Wed, 3 Jun 2026 10:21:29 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH for-4.22(?) 0/2] tools: Use the system liblz4 package
To: Jan Beulich <jbeulich@suse.com>
References: <20260603085331.2704108-1-andrew.cooper3@citrix.com>
 <4818e5b8-21e9-4f2b-9977-8fc4c9a4889b@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: <4818e5b8-21e9-4f2b-9977-8fc4c9a4889b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0199.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:318::16) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|LV1PR03MB989681:EE_
X-MS-Office365-Filtering-Correlation-Id: 442b6abd-c647-45cb-822b-08dec15180a4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|11063799006|56012099006|4143699003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	fyaQt0OkIn2BW8miBejFpusO1oKfFWZxDuoxDgBbp6rGd4yvP6BfaYklTZCu2yBLRCc3RpySkB8B/EeeAcHqLgWx6GqXnqdnAPpaenIN3aGVxAFEpuCXVfMm3i5qcQrZ6zYvu8D0/2ifPifLn7SudRCnBVhXY0LicXmGH7zHFtfApkljFkzOuQAbFxV0/MLmfG51JUYlaC1mQ2CDIoNgRiTBMaZB0Jgpzl1MhEPdaVgjnykOgbClFP5wcIeODog7vBtnAAnoazVH0tTwMCXaV/BN6Dr3Tp/TKqyfeqZMY3hvr11jYKHsPxMi3nrYeMqpcbvfefL7DdxT6IAG7GZI3Rg45laj3j4Guk8Z7ODCN5ifVnkV37milCf2Gg0MBy5Z1kdBZdQUkXyPaojpnYT/+vYAhE0WICoCU7ZlSdCGWD5HdHgbE6T8w+j4DSiY3fel9yceTANIWqMWvDZktgIV5I7pQDi5pgVrfLsWxaOtiwhOtdgN61qvzopVsHwDNwQulgFzuBLmAZVaM8hezrJR6Vd/L8Ux6JKRUe6NIDs3Xx/0OIK/j5UplMaJpyzuIr2MsZKKhLaTmBviKO/2w7RKLS610pf6Pg+WpfM+C01zTZwEF5SzWbRqWxQPpp422k95Ka45dox/kjRheEsW72B4wwzEcCi/ustQV2kMFUmNFbn1dGiA+unGfi6Eqlzq1ipw
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(11063799006)(56012099006)(4143699003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cy8rYVV4elVWSFlxQStnQXBleUEyQldWdmZLTzVOTytBaUF5bXJMcG9TbkVr?=
 =?utf-8?B?b25BWHpxQ2tCeXkyak5SRUcwd3UxbVRKbFlNNytFQ05FRXhQYmNMN3pINjVt?=
 =?utf-8?B?b1kxTE4xSTZqblBiN0JIUERvcmpMSzBISE83YW5zRHp1RmR5VlpHSC83RFpE?=
 =?utf-8?B?QkFuZ2hsS3Zxc0RVVGdRQWpyc2NxRnNuOXlnN2c1cVIwV2J0TkNrUFhsaUpy?=
 =?utf-8?B?dmN6QkVNOXBYN0oxeXg1NmhnNkthU1I4VWEvUjFPRUpVdEVWeTBBMGQ3V2Rk?=
 =?utf-8?B?VWJ3LzdJUnczMzUzaGpvZDMxUzZsd3hWZ0hJYkt1SiszWjZzeWhkUWw5ajJM?=
 =?utf-8?B?aUNsbWI1Vy9wVTlFUVNDN2NYckF2enc4MFJvYkZxVHlUTFZUeGExOUE2MGYr?=
 =?utf-8?B?U0tCMjQ5UkI2S1FLbkhGc1Jmd0NNdEJrYXdLVVhYRzFiVDlhcy9BbXRNQk1p?=
 =?utf-8?B?cXp3OXQrWU5pYUlzdFp5Qk5qM1FHTFYwMGdKZlUxQjRvbG1ybENyTHM2M0Ew?=
 =?utf-8?B?RU41aWtZMW55Wk1nR3hCOVVzNWJzTjVUcjVSZ0xLb09SKzQ2ZUx3YWJmV21S?=
 =?utf-8?B?WHFlODJLbWE2cU1PaVY3dU41MDVjUzU2c0I1V2lUQ1hGaFVJN3dJTFo3T3Ny?=
 =?utf-8?B?Uy9xOTBVVzlTQnhhRURVWkdlcjE2THUxRlRRNFJqdWdObFZOZHlKVXdTVkx1?=
 =?utf-8?B?VlFHOUo3cGFVK2k2RzJvdHlBS2N4WnNGdlVIVGppWjNMODZaZWs4Y0Fua2d5?=
 =?utf-8?B?US9vWnM2Sk1rOGgzWTBxR3VIRitiZW0rdGxEZTFKdmxYOVRDVVVLcFR1NEg2?=
 =?utf-8?B?VVFnbDJBd3dKaS9YbTNBUmZSTjMyYzRrUVE2TjRWTVNhNmExdUV6RXNlenBz?=
 =?utf-8?B?YlNkSUYweU9sdi9XNWxrTHowVVFwMjl5dXR3NGU0d24wbUR2UE1NWkNZdWZB?=
 =?utf-8?B?anIwelpvcXdCalUreGszSVFJekFGUFF6V1BLYTBXVGFkL3paQTlYbVFGOVlM?=
 =?utf-8?B?dGNZb3d1Nm9hSEhsbTNPUFZ4NEh3QW51eEtMZkpXbDc5RTNvV29iVm14Mkcr?=
 =?utf-8?B?R2hUS0had3lVTk11ZmZzMDhsUkZodWlLRXRsVVVIOU9tK1RwdUc1QlBCdncw?=
 =?utf-8?B?SGRHVXJlSXI1cnNUWHg3UWNyVG1BbnBCZUh1VXhHZnVxaC9yMGhGMXYvYzZp?=
 =?utf-8?B?eUxhaE1EaXVHcklPRDFVVzlsMEx0RUs5UkYzamtBK3hYbnVSOTBtWlRRSUJK?=
 =?utf-8?B?RVkwSWtpM2xWRUh1S1ZaYkhzVWdxbE5Cck82OUVUSjVaSFVzNnJ4OHQ4eno3?=
 =?utf-8?B?Vk92Nis3S2YyYS9ZTlQ4bGlsOHJhaXduOVpXL25iQlo2cVQzZW1kbTJRWHdU?=
 =?utf-8?B?bmNGSlh4cE14T1RmQmlCU0pZVk9lMERKQjBpeGJhNjNORlZQenJWeDNvOGla?=
 =?utf-8?B?bzI4NkZPNWYrWjFRS3dtbk8rbTJpcHJxTzdrVlNmZXo3NVcrakRLQ0dQVk1z?=
 =?utf-8?B?TkpTK1F6T3h0bGtmN0lBdDRlRE4rRFVwTGtXOWhYajlWRlU5RVJrTUFwcHpQ?=
 =?utf-8?B?VWl0OGdXdTRkSTJkUlA4R3lGZFovalJ0NGxhL0pRbVM1V2hJdnoyWmJmQkV0?=
 =?utf-8?B?SWlMV3krSmpqbFY2WkEvaVVYeFAwT0RiVWVCVjZBZUppS0hiNnBSZmRzeFBL?=
 =?utf-8?B?R0lxMkFpdDk5U3NaVk14MHhlRS9uMkpWdjk2Z25XUHN0dFFOWnZlS05WS2Fl?=
 =?utf-8?B?VVJ5dWlJcXJBeGVKWEw4emdaMVFmdGRzeHJiVFNIQ0g1Vkkwd3I3ZFExM045?=
 =?utf-8?B?cmM0YjZjT1UrSy9RU3QzY0o2NDZrWFRORzVXQUhpWjUyejhmSkJZYWtDcWxI?=
 =?utf-8?B?eWh6eWZzL1V4Mm54elpkZnpRb3Jsb2JQQ2pnWStGTWxGV2tNcnlZRHZCNDdh?=
 =?utf-8?B?cWc4VHZ1S1h4M2puTGNJcFZrNWJLSEhNNkt5d0NwSEpwTDZWNXl0eTlobVZv?=
 =?utf-8?B?V3BWY0tZYmxuS0RhSFN3RHB0SDFzU290emd3RzZqSUZZdFN4QUhsUHJNMDdU?=
 =?utf-8?B?S21CalFQV1IvaEc0Um9pVXNoZDJIOWVIMjcxVUx2SmNFNGtYellxMitMcTFs?=
 =?utf-8?B?TmZ1S3NZS2NLWU9LSXNwUGh5UnNHdWZCR1JQRnRxc3NxaXBhNERZMW14Q1dM?=
 =?utf-8?B?UEVhQVovU2NOWjNzNHgxT0pFOFVmNEtvSk8xYThYS2NBZlRDQ1h5MFNMS2Nw?=
 =?utf-8?B?QUUrY1ZBV0VhS0VqNHEycjI4dmM5NThoaTZOQ1luanRWWW9vWkJ2R1ZkMjRY?=
 =?utf-8?B?Q0xGZlErdUo3TzBLUWVZMXhHbkEvZy8zWUY2SUdNeHBWRHVOUXhwR0VqNHdx?=
 =?utf-8?Q?ycln3wE+9u5gQ87M=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 442b6abd-c647-45cb-822b-08dec15180a4
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 09:21:32.8756
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: x5tLpmXFCTQ2WRmRrO5wJkuuVFZsP2Bi9pxs3kJ1Cxjkzjle742+VvCwhavZGfpEQal9jqpgyKOztUaoIF42/TaWO+/HmQm1kqcUV+AP0+I=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV1PR03MB989681
X-purgate-ID: tlsNG-33051d/1780478497-3A567938-624C486B/0/0
X-purgate-type: clean
X-purgate-size: 972

On 03/06/2026 10:16 am, Jan Beulich wrote:
> On 03.06.2026 10:53, Andrew Cooper wrote:
>> Switch to using the system liblz4.
>>
>> This brings libxenguest's lz4 decompression in line all the others, rather
>> than using the unsafe decompressor from Xen (itself a port of Linux's unsafe
>> decompressor).
> As stated in 84f04d8f0dbf ("libxc: add LZ4 decompression support"), there was
> no shared library available at the time (and on the SLES versions I worked
> with). Later a shared library appeared, but the -devel package still wasn't
> there. On my main dev system (intentionally a relatively old SLES version) I
> therefore wouldn't be able to build/test LZ4 anymore if we went this route.
> (FTAOD this isn't an outright objection, as the goal of the series is
> certainly good. It is mainly a data point to consider.)

That was 13 years ago.Â  Are you saying that there's still an in-support
version of SLES which doesn't have liblz4 ?

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 09:22:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 09:22:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325947.1591315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUhnq-0002da-RS; Wed, 03 Jun 2026 09:22:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325947.1591315; Wed, 03 Jun 2026 09: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 1wUhnq-0002dT-O8; Wed, 03 Jun 2026 09:22:22 +0000
Received: by outflank-mailman (input) for mailman id 1325947;
 Wed, 03 Jun 2026 09:22:21 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUhnp-0002dL-BR
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 09:22:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUhno-00Epux-Kz
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 11:22:20 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ff244-e002-0a2a0a5209dd-0a2a45088872-40
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:22:20 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ff24c-63b5-0a2a45080019-d155802ce072-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:22:20 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-49050ff7cbdso116026425e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 02:22: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-490b63e6720sm39633425e9.13.2026.06.03.02.22.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 02:22: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780478540; x=1781083340; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=e9PZ88yKPL17CnAdWKGgZHdi1Tvv4mWgCoZyTS6mTU0=;
        b=aUj9bRzTadgB5dyEDwv3pi0+YW6ddAFo8RcseQ0aciv6nLMuyTkUEVSPXLHdYdeFuy
         Tgp1C4lfDe4vJq6Brkguiw/0Pe7nO8u1fYRXvERpLvh0uQpR8DiRESyCTEuC3N24Ug87
         A1YxzbIOHdCQQSSUoASsiFFFyiUVGiemZ/Id04NuJljT9faP0qjwc2Bidwkcy/1V0ET+
         V1tYNLEtE8Maxe2tSPUMsnim4qLBPyHiURfWtDfwx5AnFzTKjCf9TcmCRkeWKvJBS0Gw
         eZwR4oCN9vZLeXSPkC29sV4PCNXZ7Xcpm9Xd53XP2wk6b52uEIenvmVI1m3RI7MSTvqk
         Io8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780478540; x=1781083340;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=e9PZ88yKPL17CnAdWKGgZHdi1Tvv4mWgCoZyTS6mTU0=;
        b=bQwSXtHJT3c7/29cJgkn5AKd+0yF3UygGD4xrRMUgi8dgH5YfqbOkoYpszuq3/YtbP
         t3MkofrguwyOgVn/k/k7ma9KELrACBjVL9faxd00VshWgWshUNduM37SukVGnb78naVo
         jVTOkPePg/Y8tSlTJGwyLQAVa9i08MjM/5a7Q71YUL53+uc+pE2JtHov7wtcFcu75I48
         CsldeG/sZ30gGjdfvWG9GCknyQIyuhWucsXuTWRrRo+RFELvodn8SGDHf2s2PqxCfteT
         FGFHzhfPITWTRQyI8zg6E3OEAMweGgGeBubsv3BMPnOmDCz97E+xkZ/vR+AwHxEdmuPw
         V+Fg==
X-Forwarded-Encrypted: i=1; AFNElJ8t5vCGqLduP6SlgrQJllox0rPCBnTxGuw4jetFxBmkhegpwpO5DYtZrKhLJ/qqC4LXv5szYBMgI1Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzT2g5eGVTRzFzGaAmaUNgO/yvFm9o+o3i6b07g2q1ZXQAwGDYx
	SYXG0NV/Q0/WvhNvuDF5k9t7/NO6ekX4TxCxa6G6ikF1we9LbT1RvVDehKJ/eArpCw==
X-Gm-Gg: Acq92OFlilJ00geirlbUB90JcntBs9wL/pXl8e8dGg6cJP2zZEDi5stHsXbQ57M4mjK
	z10BvhZB646vO70OdNIRjpjz7o1I4SdvZMr9a1cUIuHNwTKu5qySoOVwPbIyT0iEtepKwn162vc
	Wo319nLT0VpHptnVPakLqtmyb9zkGp9b/szjR1DDsM9rx3kc2jjoKQJVeXBiO3tetllgmjnSANE
	U58aAA592PjExyHd1dTeKfx51ZRKOv5Kj6eevCU21oHDWAazJbzQNi+b7qc6TXMVR/UJsuGL9iR
	2zplDhMRUxSZyYM4QLJvn6FFgbA0CuQafWfcx5ul9+lXPAa1k8H4i8GQTRTzcGBseJan6AoZdT7
	ZWweLBGHF5RYU+3XWVyOWj8sO3V/jMfqcG0wZDeBsmBlxfN6r/Tz1YhJwDL7Iv2xEjGizVS1Dr+
	dfGmTbw1t54NMcWvOTINF486ZPXjnFsMwoZ3bneMN5Aef/ReU15nQ2hNO3HaGXcV73R7J8IqDvL
	1CSqA4KvXu6YijUDzT3Y6l0ihDMIQCwLy36
X-Received: by 2002:a05:600c:8712:b0:490:b106:4fe8 with SMTP id 5b1f17b1804b1-490b5ed5d5cmr44758065e9.33.1780478539851;
        Wed, 03 Jun 2026 02:22:19 -0700 (PDT)
Message-ID: <00daf333-a1e7-4691-9dca-240ebf9dfcd2@suse.com>
Date: Wed, 3 Jun 2026 11:22:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] xen/domain: fix UBSAN null pointer dereference of
 d->shared_info
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.1779712171.git.oleksii.kurochko@gmail.com>
 <04dd784b6b9a4dfca9a313ea8802d8d514d65021.1779712171.git.oleksii.kurochko@gmail.com>
 <3aef7763-aea3-496a-8c18-d3659f590373@suse.com>
 <fb1b1194-5855-49d9-99fc-d35a3038833c@gmail.com>
 <3eb9ab3d-dc4d-4019-89c8-9f7dbdc528cd@suse.com>
 <9df0b08e-6185-4d0e-bd06-32fe9d684ad0@gmail.com>
 <033aa467-ad86-48be-a59b-05315aa3cf4c@suse.com>
 <0e53e87e-df9f-4c30-a089-8c4e45babcab@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: <0e53e87e-df9f-4c30-a089-8c4e45babcab@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c1860d/1780478540-C407FDB1-FD1734D0/0/0
X-purgate-type: clean
X-purgate-size: 2397

On 03.06.2026 11:01, Oleksii Kurochko wrote:
> On 6/3/26 10:18 AM, Jan Beulich wrote:
>> On 03.06.2026 10:07, Oleksii Kurochko wrote:
>>> On 6/3/26 7:54 AM, Jan Beulich wrote:
>>>> On 02.06.2026 18:11, Oleksii Kurochko wrote:
>>>>> On 6/2/26 1:19 PM, Jan Beulich wrote:
>>>>>> On 25.05.2026 15:20, Oleksii Kurochko wrote:
>>>>> --- a/xen/common/event_fifo.c
>>>>> +++ b/xen/common/event_fifo.c
>>>>> @@ -562,9 +562,10 @@ static void setup_ports(struct domain *d, unsigned
>>>>> int prev_evtchns)
>>>>>
>>>>>             evtchn = evtchn_from_port(d, port);
>>>>>
>>>>> -        if ( d->shared_info &&
>>>>> -             guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>>>>> +#ifdef CONFIG_HAS_SHARED_INFO
>>>>> +        if ( guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>>>>>                 evtchn->pending = true;
>>>>> +#endif
>>>>
>>>> While as per above shared_info() would best not exist when !HAS_SHARED_INFO
>>>> (in which case #ifdef may be unavoidable here), an alternative where
>>>> IS_ENABLED() could be used here may want at least considering. E.g.
>>>> causing a link-time failure when shared_info() is used (and not compiled
>>>> out).
>>
>> ... here. There are downsides to this, so which route to go needs settling
>> on.
> 
> For an alternative approach are you okay with the following introduction:
> 
> #ifdef CONFIG_HAS_SHARED_INFO
> #define shared_info(d, field)      __shared_info(d, (d)->shared_info, field)
> #else
> void *__shared_info_unavailable(void);
> #define shared_info(d, field) \
>      (*(typeof(__shared_info(d, (d)->shared_info, field)) 
> *)__shared_info_unavailable())
> #endif
> 
> And then use IS_ENABLED(CONFIG_HAS_SHARED_INFO) everywhere where 
> shared_info() is used including the case above:
> 
> v->vcpu_info_area.map =
>      IS_ENABLED(CONFIG_HAS_SHARED_INFO) && v->vcpu_id < XEN_LEGACY_MAX_VCPUS
>      ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>      : &dummy_vcpu_info;
> 
> Everything that in event_2l.c could go for now without 
> IS_ENABLED(CONFIG_HAS_SHARED_INFO) where shared_info() is used as that 
> code isn't expected to be called by arch which doesn't support 2L so no 
> linkage error will occur.

Yes, this roughly is what I was thinking of. I'd like to remind you though
of issues with identifiers with two leading underscores.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 09:24:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 09:24:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325954.1591323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUhpU-0003Ey-8v; Wed, 03 Jun 2026 09:24:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325954.1591323; Wed, 03 Jun 2026 09: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 1wUhpU-0003Er-5w; Wed, 03 Jun 2026 09:24:04 +0000
Received: by outflank-mailman (input) for mailman id 1325954;
 Wed, 03 Jun 2026 09:24:02 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUhpS-0003Ej-8K
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 09:24:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUhpR-006UGg-L3
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 11:24:01 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ff2b0-2eae-0a2a0a5409dd-0a2a4506a3e2-4
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:24:01 +0200
Received: from [209.85.221.47] (helo=mail-wr1-f47.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ff2b1-7371-0a2a45060019-d155dd2fe8c4-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:24:01 +0200
Received: by mail-wr1-f47.google.com with SMTP id
 ffacd0b85a97d-46013161068so1618254f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 02:24: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-4601f2dcb13sm5678111f8f.2.2026.06.03.02.24.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 02:24: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780478641; x=1781083441; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Nn1foyC/Gw419s153RlYY4YolHD6lrsjw7l2CpgEgkM=;
        b=CCWOTOLTYmHJEJKNVJtjOT0UCU4XJmAR177TUcHpaXKmZM0dofHANhYNSYGQk7k60d
         ey9JaUpPVmIfpU1ku9ZbMi7PLVhlgoroR1eGN5UjsKmt/TBsZxaOuU2mstKdnmf9gcFb
         EENcPuo5WCq5KEe3r/S3o4A2S3pFBeN4NrplbgxK0BpljK9Fvkdz6QpByGqTqvnA2taf
         qNHp4gzoiBwx0hX96wY2Eox2QNmpzA3rCqUVp/8mfP1mJqoR3vuozV0fGvdZC1FsGyL/
         ZmXX8JlO40WtHgqRSwEotcPA5Cp8yPUlWZr1xm1Ae4f811yel524YolfrISFvfLQfPg6
         DRXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780478641; x=1781083441;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Nn1foyC/Gw419s153RlYY4YolHD6lrsjw7l2CpgEgkM=;
        b=A9v+yHw2PPVRzV/mqQVrXWCQgUAFOXHKEeG8N2uh2EmxU/G9QbyVplprGN6pPkyM5t
         3lePPc1152Z+quIBdZKF9F66XtqaW9Y8LmJd03tcOXYGyYpILXMBdyRLu/mjh+0527nR
         /+kBAb1vgGctnOHthtX4P3L/nF74Y4E18APx1DZu59qY9C3LPJbM0nkx8s6uLID6229F
         FbHr+b8xPGf22zbNrkYr+NNQVdkL3QGvDFmd3OfIImM3dyvzTiGzUACISMFVdeS2h0Gt
         1TyEr+b2vbT8ZvWzCIW0TUN0lbtIf9MgSI99BthoNjwFHXFAV9+zYjMy0+zAnqyrkvwO
         ubXg==
X-Forwarded-Encrypted: i=1; AFNElJ9HBH5lbMep+xz00EC2POZEB6tfdu/XbJI8PtxjSe7OHgwQlUneGuIPj2lmEENPrxneMd9VuCefsYc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwulIeASbUhegvkd9rbYViJiqQZTP4crmGXk8Qd1YgPQotHo+7h
	/KozqZN95gFGe9XFcA8ZIHl/bS4wuk+rNdUdUyG500ELeHHprWWfMoFeOb8NgeSwXA==
X-Gm-Gg: Acq92OGHz7xfcmVKv/HqrZp/xwp9VAHdtN5fX6ICNwhjtBbrz0GZaQ3K+sYxtid1HjO
	iErO6kzh3pW36wOMxGLfCNE21wGkypOMCyED39qBZxZiRXLR7IVXxckbsULSs65kgce5FIbZ0df
	2zjYljhqiJGZhuSibKUkO5CmB1GLXBHp3BgD3Vm4OEwDjRIV/Jf2tOrQzknQa5a4jR7/gNiDiOw
	H2eJsmvblUIexXS0/505s85jKcFK3oQ7hwygG/kLrlSS6Htk6klDv4yAfl76fvf3OfLYphIx4ZB
	wJEdf3F5sOETtefOkJznsPqb2rfrdiGj+/XxlZlu/14bb/+uS2PTncFVi280LGoUPR0ZjqR8NIO
	5qHLGjEc8J/ycXs4cFjsV9n+JY/w1PQi1hTU/G/VxBVVZPnjU5F37g3BNrbqjgBDHQ5wXXmydBx
	QBZ2PkUpl/xtAJQBHqBQqDa4WZmJe2+9Un0Jb6xmWC+HfFmo6r/M+OECkXEFAMuztli/f1H6Hva
	68Ee76jgEqgUUkKQfbyLntqjA==
X-Received: by 2002:a5d:5d0c:0:b0:45e:de42:6e90 with SMTP id ffacd0b85a97d-46021872eb8mr3604817f8f.37.1780478641013;
        Wed, 03 Jun 2026 02:24:01 -0700 (PDT)
Message-ID: <031c77d9-9ece-49e3-8d9d-8b7dbb209d6c@suse.com>
Date: Wed, 3 Jun 2026 11:24:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22(?) 0/2] tools: Use the system liblz4 package
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260603085331.2704108-1-andrew.cooper3@citrix.com>
 <4818e5b8-21e9-4f2b-9977-8fc4c9a4889b@suse.com>
 <3641d161-70fd-4807-a1f8-689f0295c579@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: <3641d161-70fd-4807-a1f8-689f0295c579@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1780478641-8FD7AD75-A6C28913/0/0
X-purgate-type: clean
X-purgate-size: 1158

On 03.06.2026 11:21, Andrew Cooper wrote:
> On 03/06/2026 10:16 am, Jan Beulich wrote:
>> On 03.06.2026 10:53, Andrew Cooper wrote:
>>> Switch to using the system liblz4.
>>>
>>> This brings libxenguest's lz4 decompression in line all the others, rather
>>> than using the unsafe decompressor from Xen (itself a port of Linux's unsafe
>>> decompressor).
>> As stated in 84f04d8f0dbf ("libxc: add LZ4 decompression support"), there was
>> no shared library available at the time (and on the SLES versions I worked
>> with). Later a shared library appeared, but the -devel package still wasn't
>> there. On my main dev system (intentionally a relatively old SLES version) I
>> therefore wouldn't be able to build/test LZ4 anymore if we went this route.
>> (FTAOD this isn't an outright objection, as the goal of the series is
>> certainly good. It is mainly a data point to consider.)
> 
> That was 13 years ago.Â  Are you saying that there's still an in-support
> version of SLES which doesn't have liblz4 ?

If "in-support" includes LTSS, then yes as far as liblz4-devel goes. If you
mean only ordinary support, then (afaict) no.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 09:36:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 09:36:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325965.1591341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUi1X-0005Ji-Bw; Wed, 03 Jun 2026 09:36:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325965.1591341; Wed, 03 Jun 2026 09: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 1wUi1X-0005Jb-9I; Wed, 03 Jun 2026 09:36:31 +0000
Received: by outflank-mailman (input) for mailman id 1325965;
 Wed, 03 Jun 2026 09:36:29 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wUi1V-0005JV-Hh
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 09:36:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUi1U-0038Pf-Cv
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 11:36:28 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1ff599-5cb7-0a2a0a5109dd-0a2a450cb104-6
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:36:28 +0200
Received: from [52.101.43.28]
 (helo=SJ2PR03CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a1ff59a-62f1-0a2a450c0019-34652b1cdf2d-4
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:36:28 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SA3PR03MB8253.namprd03.prod.outlook.com (2603:10b6:806:460::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 09:36:24 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 09:36: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=igUz4kdlD+ET1pia+vCiPvfMq6qvwbsa3eEPad/irVGmIUf/8caGkKAXLjLzUjRLI8/Bc25VM+fj1QDLK8EjTaHojuKk8jYgkq3Qixno4zaWX156wal41Lq1V+x2IeizxmQrLk+O6tRGN8KWBqHY3hN+X1OkHReU0Ajrc5bC2aW63GAEAVYbdc/pqtYFeXontVc9ry0WwXBZCP+RQBPezNBcDy3mWUDMcINSk4muTcYrQKiFvzt+4AjXSYQO9wXaRYSSpflBUOMg5XR3AdahrfaDiX25yV8CXCOgLL8P3dqb808T5uVdXDiL1Bnze+cYEFmkUsx7E3PM1fqKKth8gQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6c8F18BVImQIRFepP2LdR0tjzQrARu+l4rfmPrzXkSE=;
 b=WLGF+Hb+J7vGPJuY2YUoq2M+iwK3wwikuze/vpF+jYKAN7hrQjGAadTSIIgX/t3sGOFW4HbMKfvg1AUWCVY8Kt/vsmc2rcTu1xul6pAKcRs1STvUH/rhNFojb5hQaTQwgFFDjnjktYGjRRpB+/TnS/ZxQxgoryF1tsE9VtOLGb8XXE/k8VQ8dEQPXE3+7KbiXsSOtwEHpaM1g6XAb6huObnvtU7rohB/FF/rrcOeesIyVu6Ye/tsrIqlL42UWFI4TF7aazHybQWmJ6dHXLrNzpgn3Gp7Ueggn6GbFkzHb+srNSa8NXyFWUCPKPwjwMRaQY3nPV7LhPrpYrp2FGOvCw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6c8F18BVImQIRFepP2LdR0tjzQrARu+l4rfmPrzXkSE=;
 b=lrNSI8c9jRyZE2nZ0msYmOAQlkm2vaQFKjLyWv6mv/JB0PYjqenHxNBKog/EOVrtM3U1jOUcPleQlWr8BulYiyj81WoOxm9zOURbsJx5Im8Su0FNguxKo54bmjEJL0jHQvEeo9xfNqcLKuu3Wv7ufvMCeWiV5X6142NhKqBSfVY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <9fe33fbc-be7c-46ab-b32d-f39ac619bb08@citrix.com>
Date: Wed, 3 Jun 2026 10:36:21 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH for-4.22] x86/fred: Enable FRED by default on AMD systems
To: Jan Beulich <jbeulich@suse.com>
References: <20260602164519.2634144-1-andrew.cooper3@citrix.com>
 <ca4eafc3-8699-4903-aad5-5cb95ea6e409@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: <ca4eafc3-8699-4903-aad5-5cb95ea6e409@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0394.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18f::21) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SA3PR03MB8253:EE_
X-MS-Office365-Filtering-Correlation-Id: d93e0162-ccb5-4f9a-1d88-08dec1539440
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|18002099003|22082099003|56012099006|4143699003|11063799006|5023799004;
X-Microsoft-Antispam-Message-Info:
	9Nih1Vz0Yja6DiVt4fTWItlHNBXTSoSNuyBAZreIV6MRzVAqKLTylk3egqrCMOTgKNUNggPVJrxukjtaAUklrsj0X0Wc1/lKrr2iMJGgxIAh6mf1xZAdY2d3tZS93LqDS2xAdjALKNUQf6VAXiHJ6n+fa+R948XDW2V3fyKIybLhxgFGNnsrqOUii8nZ/43hlDTPwnrgAbACJojwEnwvG8xVMyyT3A+4bBS1C0/mygsoaQ674FpZODHpiijyoRlUUi8PEMNquAiBnk7OAeuX9g16QAcYNpk6431gqyMWUHExx0R841uMz/3NbsPLURfwUaAQeGmhpiPEtNEAOzI+XFqrTpcItMnlzT6Q5z4cWlp2QMLQ9lNfK1GotEvxhp29exfG+Id3yGmqdSmmX/1VCh48PVl0WChy2jkY8DuUuY7Z4Iee0387lpqzULLfd2Z0MsAi2S1vFCsPD+O31Ur3k2+AhDvsCU/Bez9RonMw3bFY08PC719sY7B20u3KqDwwgS1J4AJHQw7oOLVm98UioSa1hd8t34yWivfex/aZDEqdbbGBqbb72B3lo+WjNLE6Bm16PD+4L4C1beOJmg4haCvFFNw5siw5YhZP4Kv8JFsXzY09HQceS2FtgOIFrDUTpqQxXiahYqD4T64Tfptz4zt1LRo2LKz4/00h5sPX5T9LlhrK5fWR4BL8k4nywtJJ
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(18002099003)(22082099003)(56012099006)(4143699003)(11063799006)(5023799004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K3dTQ1A3aDFYQUUzL2FPYVBJUUdZdnRjZWtTbURpTSswZ0M0QS9yaEJTWDJQ?=
 =?utf-8?B?clNEbGw3QXVrNDNOSDRsZHlSVklWUXdxMUVmeFA4ZFBmSGFBNTBaRGxoMTk4?=
 =?utf-8?B?NUJZS1AvUy8vd0tPeW50QUtLWHJVOGNyK3Vpc3JEaHJyYUtRTno4eTRheHdK?=
 =?utf-8?B?L0lSYjNRa1M0M1lmWkRzNHp6cmNYc1U3QUNuTGpkUzRMQUNoUUN4ZUIvb0lz?=
 =?utf-8?B?N0RtVk5hRSt4eitmeHhvRFFqYlFXejE3Q2U0bjcwdVhsQlh2bTJVREY4alZN?=
 =?utf-8?B?TmFYYTFIWWpYQ05reFJUZzB0MXE5Zis1NW1JTmM4Vmw3am1WbFJwS25LbDZz?=
 =?utf-8?B?bEtoQjdWTUFORlFFcDBZSnMyTDN1OHZXZlZTeDk1ZW1ZZlcxcmowQktOQmJ4?=
 =?utf-8?B?a0JFczJPcUtYZ2NKaFJmTm95UVNKR1hsL2JVa1F1SlkxMHJ0REI3Zy9rQWhU?=
 =?utf-8?B?bE5ZOWtYMzBCbm9pY1RlTjNObEJWSmxlUHBOUjRtcWFuaDM4dGpsRlpKZ01R?=
 =?utf-8?B?VURMNXJlYW1pMzI3K05vbWR1Zk9OanVKVCszLzJWempsM09xSktyY1NJSld4?=
 =?utf-8?B?NHhFaFN3a0E2cVNsbTF5R1BzNi94eXJTYmZ4KzNwc1BSK1lsMllSKy96a3Vk?=
 =?utf-8?B?UUZmd3VVUzZYK3Jra3dZREdOekMwREQ3VCtGdm5ha2g5N0FlSk1McjdReTl0?=
 =?utf-8?B?YlNwOGZjVk9CSW1PdE5kb1hTWDdvUjc3MG1ST0J1YnVEbHlTb2t4aXZNNFF2?=
 =?utf-8?B?bTlyb2g4aHpiN1NtOFAxbDNsV0JwQS9hWVo1YUgvU1VaK05ISGx1Ri9VYW5l?=
 =?utf-8?B?R1hkL09WWDcxTkZndUdhZVZzNHRQbmw3WUxMUlhGZ055VXBvTzkxVDkzaDRo?=
 =?utf-8?B?Q0J4MG44VDMyMjBxTTBMaE51VS9OYUZ3STF2TTFLZG5FZ0FzeW5yVzYzdmlt?=
 =?utf-8?B?VUUvK1RyVmRhYStYR1JQMjMydE5ITExPMmtiQk9ReUR3eVJRWmNCbFlObmNv?=
 =?utf-8?B?eFhDNGZQR1FqTE5OV25Xc245MHh4RzJ4RFFubVZhQjJHUHlxenlYOHJ6ajJB?=
 =?utf-8?B?TFIxbFJkK1FISnRLK3g1cURlSkJHNUkwQWk1c0plY2JTVmpjZW1nNC83a2FJ?=
 =?utf-8?B?YzhwWTZkNEZKUEJpaE5DNnk0aGk4U0t3a0lqejUzMXpVSXZMTElya1A0cCtH?=
 =?utf-8?B?bU5kSTYvVlgzWkRucUVjaFFrUzQwdXpsS2I1SCszQzE4aXhxQnNFYVR6L25S?=
 =?utf-8?B?a0dUclNpRHp1MVVzTTR2THVYeU14dnY5bHJ6TWZhcTZXMld2dm5NWmtxa0ZP?=
 =?utf-8?B?VE53T28xejZZRHJrbmFoZmxvZ2ZteVNrRU00L1doSlBDSnhVdVBDbmI1ZjZv?=
 =?utf-8?B?bERRTVFSWXluaERoVlJsTlFsaHFJbXJoUG5hVUdwNnNkanBDOUpYdytTVURY?=
 =?utf-8?B?eXVhR3B4NCtFOHVUUUplRHlvajE2OVoxbmJZaUVTSFJvc1V0d1NoQk1IaTNJ?=
 =?utf-8?B?Q2tUbTAySWdMcGwrRkZBMVU2MVJ0TVNUcTZ6ODM1M1BoWHI5WWJIL3ZWVXBX?=
 =?utf-8?B?TEFoK3lNMWJBeUlBRGIxUmRRNEdST3NPSzBSMzFMYzk4WHZaSmFUbzM5Z0tz?=
 =?utf-8?B?dHU5VzZxNlZOOU1qRHYzckk2dTQyV21SZ0c3SDNCempRd1BBUlYzTVFoZTEy?=
 =?utf-8?B?OU4zUW9nWFkrM1ZNYWZPL1Z3bUZ6a1lkV2NaZzgyZ3FsM205eU12WnVYMlJt?=
 =?utf-8?B?Y1J4d3RuUzBzb0VLRW16YVlUbFdVUnQ1WEZPc2pYdHNFU3BaQkJWaml4bDlI?=
 =?utf-8?B?Tms0Z0dnZGJsYVpUQnIycFlDN1VBbzdvVmhHaG5HcFk3aDlLTzM5ZjlTb09W?=
 =?utf-8?B?a0xCaGNub3ZoNE5zQjM3NlNaOFIzRWlsQU1aRm1sZWRiL0VnRVRYc2lVbnp4?=
 =?utf-8?B?cmZFVC9JYkJuNEVRUVBVZDFBK1NlQ2k0SEFaTmtwek11Tm5TMVZhd2ZwUEZp?=
 =?utf-8?B?NldHVWE3MXNGL1FFWTBSTDVIN2p4Vml0d2ltUGhXOWZpR1dGZXphNDZtekRP?=
 =?utf-8?B?QmFsZ3kwZDhvZU16Yi9CdVRlM3ZmV3lCREpqOVB0MnBSdExSWmtFNjNMczBO?=
 =?utf-8?B?dUJCM0tsekhCSmt3Z2VlQnpqTXBIYnpmaDVXMUtSaEh2REJjZjhIdXRKY2h4?=
 =?utf-8?B?VmFlMjZzemNWd0RjWDlQQU5IeXM0dE5mbjQ4WkVwV0dsRHpyTU5pN0xvS3pt?=
 =?utf-8?B?d1dHQUhtZ0FaSUpkUW9nYTVMWFNUTCtSR0MyU3lzdXJWbkNaMlVabXdLRjlX?=
 =?utf-8?B?WFJZaUZHUVp1R21VYnNjeDd6aW9ZVWRSVzN2Q1pMTW93eHQxQmdYSUpwWHBj?=
 =?utf-8?Q?Iiq29NDLi9gEPQ6w=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d93e0162-ccb5-4f9a-1d88-08dec1539440
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 09:36:24.8285
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4//V0eN+JWKCFhs2kNZoocrksxYxNxTTByjNIX4CXKuwcZ7WedKf+5Ocyeh2ltja7WTxG4k8STTR6JsweS1U/ijtnlVDRHW3Q1d+SfX2Spw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR03MB8253
X-purgate-ID: tlsNG-d25034/1780479388-DA368CF5-216A5FEF/0/0
X-purgate-type: clean
X-purgate-size: 2872

On 03/06/2026 7:27 am, Jan Beulich wrote:
> On 02.06.2026 18:45, Andrew Cooper wrote:
>> FRED is now believed to be complete for AMD systems, and has had its tyres
>> kicked by both XenServer and AMD.  Enable FRED by default on capable AMD
>> systems (Zen6 and later).
>>
>> Support on Intel is still not yet complete.  Leave it as tech preview and not
>> security supported.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>
> with one remark:
>
>> --- a/docs/misc/xen-command-line.pandoc
>> +++ b/docs/misc/xen-command-line.pandoc
>> @@ -1259,12 +1259,12 @@ does not provide `VM_ENTRY_LOAD_GUEST_PAT`.
>>  ### fred (x86)
>>  > `= <bool>`
>>  
>> -> Default: `false`
>> +> Default: `true` on AMD, `false` otherwise
>>  
>>  Flexible Return and Event Delivery is an overhaul of interrupt, exception and
>>  system call handling, fixing many corner cases in the x86 architecture, and
>> -expected in hardware from 2025.  Support in Xen is a work in progress and
>> -disabled by default.
>> +expected in hardware from 2026.  FRED is fully supported on AMD hardware.

Along with the year, I suppose I should name the CPUs specifically now
that they're public.

>> +Intel hardware is still tech preview and not security supported.
> Is having "security" here really appropriate? There's a functional issue to be
> sorted. That's expressed by "tech preview", yes, but it still feels somewhat
> odd. If you want to keep the word, may I suggest to insert "in particular"?

I was just trying to make things clearer.Â  One of the common audience
groups for this file is not liable to know Xen's precise definitions of
experimental/tech-preview/supported.

> May I further suggest "On Intel hardware it is ..."?

How does this look?

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index ef3c7371895b..ff6d08affb63 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -1259,12 +1259,13 @@ does not provide `VM_ENTRY_LOAD_GUEST_PAT`.
Â ### fred (x86)
Â > `= <bool>`
Â 
-> Default: `false`
+> Default: `true` on AMD, `false` otherwise
Â 
Â Flexible Return and Event Delivery is an overhaul of interrupt, exception and
-system call handling, fixing many corner cases in the x86 architecture, and
-expected in hardware from 2025.Â  Support in Xen is a work in progress and
-disabled by default.
+system call handling, fixing many corner cases in the x86 architecture, and is
+available on Intel Panther Lake and Diamond Rapids CPUs, and AMD Zen6 CPUs.
+FRED is fully supported on AMD hardware.Â  On Intel hardware it is still tech
+preview, and in particular not security supported.
Â 
Â ### gnttab
Â > `= List of [ max-ver:<integer>, transitive=<bool>, transfer=<bool> ]`


?

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 09:44:04 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 09:44:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325972.1591350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUi8k-0006zd-2F; Wed, 03 Jun 2026 09:43:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325972.1591350; Wed, 03 Jun 2026 09:43: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 1wUi8j-0006zW-Vr; Wed, 03 Jun 2026 09:43:57 +0000
Received: by outflank-mailman (input) for mailman id 1325972;
 Wed, 03 Jun 2026 09:43:57 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUi8j-0006zQ-7E
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 09:43:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUi8i-006YVp-CX
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 11:43:56 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ff758-e002-0a2a0a5209dd-0a2a4502a1c2-16
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:43:56 +0200
Received: from [209.85.221.51] (helo=mail-wr1-f51.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ff75a-af86-0a2a45020019-d155dd33d930-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:43:54 +0200
Received: by mail-wr1-f51.google.com with SMTP id
 ffacd0b85a97d-45fd464d51fso2020014f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 02:43: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-4601f344541sm5708799f8f.22.2026.06.03.02.43.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 02:43: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780479833; x=1781084633; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=wRfsqasosVksv1QB7QW8O49zBxwo2moY0A8xG0lqHVM=;
        b=MkocZVQUwr29zQw0XF2SZpT/dTIIHRw3zD7nYdk13wStPrd5VcBo2H3ZnMWI3iifj0
         nQuXHCSGMp5hjDLXgLr7u1/zz0KVN2QqdxBFIz64GU3RyV6GoQ/5Z+vV6op7/tX/tBxY
         WFQR1kW9bhEEGbjFv7lBX/s69M1Cl4WQx8muRrWkgUTuSYgnmdZK/+BERxjCjJrQQWFh
         O3g108pSSj95SdiI0QTtyoEogbrtXMVOdjDU4Iic8AhMP6sDUb/DtsbWS974hl2S6jsc
         CQbCa3Cd/Q0omDfdWfaLaBx2/T+qH/P57jZVm85G/FJU4/PMt84hUocgOr1hQ1HBoe0e
         rpqQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780479833; x=1781084633;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wRfsqasosVksv1QB7QW8O49zBxwo2moY0A8xG0lqHVM=;
        b=mqbzUvMVeUlzQkZYHGnxrTkXrEPd4K0woUdaRQld7SrHqfSX+S48ZhzGU9nGh6FkyU
         /hXWG6jX8KJurEyuv5qSKmCUmWZU/g6alf5TqQmyuPWW4k0EJPJBAqYAxuyV+xVWKozu
         TrJfB2/W8r45vfmiLx3gmArdUi57EL6/thVqF0nlp1rNXzdcUoeN7dILbKUdnOywLcJ+
         zaOTtiDEjfdgyR9eqrr3EWGRkGyJTKnHhczBjsc8azVvyuWcGTQOmt6MwQfK/kx9KYfU
         wsPuCzS3U2r+sFjj83XD4zf6wunmHymPJtx/XTT+7hT0glz47aeao3LSZLpiS0R4e13+
         CGFw==
X-Forwarded-Encrypted: i=1; AFNElJ+8PjLI6adWgXtXpEN6k5G1iMc1NlURN5AXKhIbXLz1rkPyTY4uQRvxHuAincGCGz62ydaxb/oRySI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxGF1fQVM1JfIX9K1dyE31g0nzFiogPaG2SDxCVXJOQIDbdAwFo
	aiA0wxN5qHVIOk+Mvf3xnyrLwG6CHuaHyrquaDEvDr0c7iMniBVCGq3OIS4pfti38MciSZs+FB6
	tIKo=
X-Gm-Gg: Acq92OGSDUVBY8NpCPLFJ3iRWXj4zjV198xaEtSCC93cy9HnVmeQQUrqut/86bmQrP0
	f8QmWu+ADGZa33Iv7PB0hPNxjOx1Eh3DTYkLf9IDD3IJL/q153TsLWpfP1aRS86q8DlnTjuYh3y
	ssDdLUTvhMK70j/tt/LpUXbVncelFF5HeiGojLLODttHX5mlI8fmldlSX/GXBkwrvGRuwEL3x2h
	0CklxnaLrBrvyuHW+B06T6QCtAIC74cSiKxYFVlJ1KJqH7Ay9pSy5rcCWxkCEI0ny9uKfNB8+5J
	UYj9iGv21sKMj8ouRKIOtBaGAr40w1myh0TZtadSC31WYxHo0H5LCCrds+JN/B5rmfiBS/88Ejq
	HIpggEKzNFGCNF/bXiqpXMLg9DqlRFi09JjDq8z4NhJJZ5TF2gKJnGvlDa0g/JtxAkUu/guoC7V
	JCsD/qpqF1+PibdYi+iM/18J1EuUt6jSVdeBTvAc5OBCpFD2WwNcRCKEN6iXPIKUYAEUJZ3CxMP
	T2Z+J8W1OvuVSEiILbPbg4e+g==
X-Received: by 2002:a05:6000:43d4:20b0:460:f36:79b0 with SMTP id ffacd0b85a97d-4602182b90dmr2893291f8f.19.1780479833485;
        Wed, 03 Jun 2026 02:43:53 -0700 (PDT)
Message-ID: <0d7d0f0d-ab1e-455a-8588-00b3a2842526@suse.com>
Date: Wed, 3 Jun 2026 11:43:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] x86/fred: Enable FRED by default on AMD systems
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260602164519.2634144-1-andrew.cooper3@citrix.com>
 <ca4eafc3-8699-4903-aad5-5cb95ea6e409@suse.com>
 <9fe33fbc-be7c-46ab-b32d-f39ac619bb08@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: <9fe33fbc-be7c-46ab-b32d-f39ac619bb08@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1780479834-8057B161-1E487C4C/0/0
X-purgate-type: clean
X-purgate-size: 3041

On 03.06.2026 11:36, Andrew Cooper wrote:
> On 03/06/2026 7:27 am, Jan Beulich wrote:
>> On 02.06.2026 18:45, Andrew Cooper wrote:
>>> FRED is now believed to be complete for AMD systems, and has had its tyres
>>> kicked by both XenServer and AMD.  Enable FRED by default on capable AMD
>>> systems (Zen6 and later).
>>>
>>> Support on Intel is still not yet complete.  Leave it as tech preview and not
>>> security supported.
>>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Acked-by: Jan Beulich <jbeulich@suse.com>
>> with one remark:
>>
>>> --- a/docs/misc/xen-command-line.pandoc
>>> +++ b/docs/misc/xen-command-line.pandoc
>>> @@ -1259,12 +1259,12 @@ does not provide `VM_ENTRY_LOAD_GUEST_PAT`.
>>>  ### fred (x86)
>>>  > `= <bool>`
>>>  
>>> -> Default: `false`
>>> +> Default: `true` on AMD, `false` otherwise
>>>  
>>>  Flexible Return and Event Delivery is an overhaul of interrupt, exception and
>>>  system call handling, fixing many corner cases in the x86 architecture, and
>>> -expected in hardware from 2025.  Support in Xen is a work in progress and
>>> -disabled by default.
>>> +expected in hardware from 2026.  FRED is fully supported on AMD hardware.
> 
> Along with the year, I suppose I should name the CPUs specifically now
> that they're public.
> 
>>> +Intel hardware is still tech preview and not security supported.
>> Is having "security" here really appropriate? There's a functional issue to be
>> sorted. That's expressed by "tech preview", yes, but it still feels somewhat
>> odd. If you want to keep the word, may I suggest to insert "in particular"?
> 
> I was just trying to make things clearer.Â  One of the common audience
> groups for this file is not liable to know Xen's precise definitions of
> experimental/tech-preview/supported.
> 
>> May I further suggest "On Intel hardware it is ..."?
> 
> How does this look?
> 
> diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
> index ef3c7371895b..ff6d08affb63 100644
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -1259,12 +1259,13 @@ does not provide `VM_ENTRY_LOAD_GUEST_PAT`.
> Â ### fred (x86)
> Â > `= <bool>`
> Â 
> -> Default: `false`
> +> Default: `true` on AMD, `false` otherwise
> Â 
> Â Flexible Return and Event Delivery is an overhaul of interrupt, exception and
> -system call handling, fixing many corner cases in the x86 architecture, and
> -expected in hardware from 2025.Â  Support in Xen is a work in progress and
> -disabled by default.
> +system call handling, fixing many corner cases in the x86 architecture, and is
> +available on Intel Panther Lake and Diamond Rapids CPUs, and AMD Zen6 CPUs.
> +FRED is fully supported on AMD hardware.Â  On Intel hardware it is still tech
> +preview, and in particular not security supported.
> Â 
> Â ### gnttab
> Â > `= List of [ max-ver:<integer>, transitive=<bool>, transfer=<bool> ]`
> 
> 
> ?

Looks good, thanks.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 09:44:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 09:44:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325979.1591359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUi9H-0007ac-CS; Wed, 03 Jun 2026 09:44:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325979.1591359; Wed, 03 Jun 2026 09:44: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 1wUi9H-0007aV-9m; Wed, 03 Jun 2026 09:44:31 +0000
Received: by outflank-mailman (input) for mailman id 1325979;
 Wed, 03 Jun 2026 09:44:30 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Luca.Fancellu@arm.com>) id 1wUi9F-0007aI-Rm
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 09:44:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUi9F-006YmD-0V
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 11:44:29 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Luca.Fancellu@arm.com>)
 id 6a1ff773-5cb7-0a2a0a5109dd-0a2a450790e4-20
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:44:28 +0200
Received: from [40.107.159.59]
 (helo=OSPPR02CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Luca.Fancellu@arm.com>)
 id 6a1ff77a-229c-0a2a45070019-286b9f3bacb5-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:44:27 +0200
Received: from DU2PR04CA0248.eurprd04.prod.outlook.com (2603:10a6:10:28e::13)
 by GV2PR08MB11837.eurprd08.prod.outlook.com (2603:10a6:150:304::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 09:44:24 +0000
Received: from DU6PEPF0000B621.eurprd02.prod.outlook.com
 (2603:10a6:10:28e:cafe::29) by DU2PR04CA0248.outlook.office365.com
 (2603:10a6:10:28e::13) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Wed, 3
 Jun 2026 09:44:24 +0000
Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) 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.21.92.5 via
 Frontend Transport; Wed, 3 Jun 2026 09:44:24 +0000
Received: from DU2PR08MB7272.eurprd08.prod.outlook.com (2603:10a6:10:2d7::16)
 by PA4PR08MB6144.eurprd08.prod.outlook.com (2603:10a6:102:e3::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 09:43:21 +0000
Received: from DU2PR08MB7272.eurprd08.prod.outlook.com
 ([fe80::5d34:206f:373:a323]) by DU2PR08MB7272.eurprd08.prod.outlook.com
 ([fe80::5d34:206f:373:a323%6]) with mapi id 15.21.0071.015; Wed, 3 Jun 2026
 09:43: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=WWZfYxGfvWAUaTs8d8eJZvj0UdO2igpgd9PpKCPE5kq5SABu/6Zl82wgYhvBKQtcm9YaMkIPPddI4g+WINJF94c4FpDhszxtNsVTFBeKKmQwYzx41VqNatpOG6FVAXokVjUn3AuqAggY1d1mcR08CmbTRqa0lKEss5GxfBt+DDwpTpLjBNuBhlujwuQMAkquIBUrWpFcphGTBDDBG8T50aEnImS7fIPhWj2bls2QoaN9W2cQYKkL5PV7kDguKAOwircb1FoLBRF9KHPG4tUzouy+cYL2oglpjyfOpwdESI2UjKRsQZ/oRlj6WzBPo25aW08I+kB8Uv0A8vROLmCutg==
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=Ai0P5PdEcqBqJjj/3PtwqBLUx1AG9EAnhuUZPISh8K4=;
 b=CzZhDLjFBThZjeauN0AATFERoPVybPg7oizbn7tQYBsq1n1R6DwrTNRtCegcAkyK/WJ14TYK5nS0mj482DJ61UK67ZKfHORo+nhAf5mQsQwJhdCXMqX5o54LUeqVS4qqKJW5zAH7gFa9ujOOnYY1JnTFtS0C1laWUPcJzvXLPsz7w1a/36tksBjrlT+P1d194zlLCqCqO8XlB6OBCm9fX6x02fxa9qq6ZHgwLW8qe1288Rm0wAhj9inEGrX6MIOcjkaJSVW+kQKZ9HuUrGrsLVGEnY2qRJhRWt3rd5R1Onfppn1TQbIgmLCstWra+T4+1F1An5gz1O74h+X22BtRgw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 4.158.2.129) smtp.rcpttodomain=gmail.com smtp.mailfrom=arm.com; dmarc=pass
 (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass
 (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ai0P5PdEcqBqJjj/3PtwqBLUx1AG9EAnhuUZPISh8K4=;
 b=KUDUTPRko4QNaR/V/JhHk2IZjAWnW9NQx2baTV+X29JYUpdUnv7wcN32NLDKdjGnXyIZiZ6KlYTbReID7pX/rAJg8oT+FWoWZU9JPhbdNOsIWmOyFlxKUcUk7jTbKFw3j5qTrcFUgBTVi18dDkQuaF++i0aTcJBRPLhB6BzcEB0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 4.158.2.129 as permitted sender) receiver=protection.outlook.com;
 client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DR+UwnnfQyflEtZJlqdwdMdbCJEh5TCxdSy22QHgSu/Ymd45ytFZ7UAYCv/OMkOMGjw/9FJcLRA28mpWaJ4+KtvHiY52EFOeqkK1n9Qo1K7S9bvl3B5nEhEpSYBj0eA2PcYhr7i0KadWD/n2/l7SR6dg0g+/OK35QCYqozW0uhIryVvGWMUMNJHTsr5cR8lV/rJa1Toull9XDnU8ldrNUdQNmu0TWmuLUqoDa4paU8/fPrNU4O0Ctbz4mWY3PhtcNXQAdGehjirNA4BQaJSHOjRdAK1PSs1ZqwMdO4ouKrB+nevDZWgKXzSn80z/LIYpGV+MoLCRHg/JaPX4UkP2Hg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ai0P5PdEcqBqJjj/3PtwqBLUx1AG9EAnhuUZPISh8K4=;
 b=kZII/d5HmV558JudPHTrFAKVDqg0XGuL7wxvTG2Wj+AY+rkoUihVfpyot2PQlz0IPIXv2Lw9elbK26+NL+VGiRD86T459frm4kB7hoaJgVByVHYJ8RAA4G60LFuEVYvCoMcis6P4BqzDaDie3wS+c1ksKGcpfX7eEyzz2ylwhOuICxptigQAHlxZdg/sMC7nr6ca2UeDO1DetWQ1PPwDP+OGok/37Z9oD1GWyRULJOpdQmUnCirosMzjsgJwRtn2b5sGnfk6BcAJMuyoqMx11Byn3CNdRulEim6ZAzGO6qdD1m1N+h/cm0dJKCqAZEvvsG7/Qx6bb8blfmPIp7ZXXA==
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=Ai0P5PdEcqBqJjj/3PtwqBLUx1AG9EAnhuUZPISh8K4=;
 b=KUDUTPRko4QNaR/V/JhHk2IZjAWnW9NQx2baTV+X29JYUpdUnv7wcN32NLDKdjGnXyIZiZ6KlYTbReID7pX/rAJg8oT+FWoWZU9JPhbdNOsIWmOyFlxKUcUk7jTbKFw3j5qTrcFUgBTVi18dDkQuaF++i0aTcJBRPLhB6BzcEB0=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Mykola Kvach <xakep.amatop@gmail.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Mykola
 Kvach <mykola_kvach@epam.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Rahul Singh <Rahul.Singh@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Michal Orzel
	<michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Pranjal Shrivastava <praan@google.com>
Subject: Re: [PATCH v10 09/13] xen/arm: smmu-v3: add suspend/resume handlers
Thread-Topic: [PATCH v10 09/13] xen/arm: smmu-v3: add suspend/resume handlers
Thread-Index: AQHc6UoJ2/A9TKf5Mki5mcNZE+ke7LYqAKSAgAJppgCAAD3PgA==
Date: Wed, 3 Jun 2026 09:43:20 +0000
Message-ID: <5A04DFB0-4ECC-41C1-9AD7-85D78AB740F8@arm.com>
References: <cover.1779385072.git.mykola_kvach@epam.com>
 <279cd20f49be956fc8493aace906a1adfaf473ee.1779385072.git.mykola_kvach@epam.com>
 <349E0857-AB61-48C1-BB91-ABE1422142C9@arm.com>
 <CAGeoDV-sEeQSpDvX7qTmHdRNLPWPUbxJ_NWYYRKAmkk1w6ixmw@mail.gmail.com>
In-Reply-To:
 <CAGeoDV-sEeQSpDvX7qTmHdRNLPWPUbxJ_NWYYRKAmkk1w6ixmw@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.3864.600.51.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DU2PR08MB7272:EE_|PA4PR08MB6144:EE_|DU6PEPF0000B621:EE_|GV2PR08MB11837:EE_
X-MS-Office365-Filtering-Correlation-Id: 9f2e3f0b-0831-40b1-717b-08dec154b25c
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|18002099003|22082099003|38070700021|56012099006|11063799006|4143699003;
X-Microsoft-Antispam-Message-Info-Original:
 KYLShw18sgz4SGpbCFNl+pzLDxdkhJ2A6dxDzQ8OgdJSkzbDf9QDEK+JOW2TVa3ye+AcZxj8yr7asGiUXBX5MZ04qL5vuOSYzRCwg2MZCAPPCBKWoPDbbilNc4qSEWA8r2mbUoOHnnde7zBaLN0XCADMVaBY7+bEuQTbvb1X6Wczb3HeFJpSnL/6YnJNnjnWThcYTAYp17hSS+9slKZ1reSHtWJt+EDlmL6RnDAXlM6IqyixFPSMLlsnP/BmoFq8tmQIGOMes1O7AiQJwu01N5zzYTOgI9FY6Ju1nmOwTcbSFSIV2/KVy/fturCarGFXMsr5hwbSRZymqboP2CeUdAyz8PBnvj9lXZfHQIvMRroTjD8RxB6OlzwMX8/OqYLfJa+NZkxFwFG1j3063aNmOQBRoCimS7qNpL15aAfEkoRQISzDQjB5/yNcMqsMh11RthQSP/3kunSOM0d8+DAYLUn/3hXi54WYY8niDOmCWj47084ywa1BuhrJqpwSHjvqfdUcbxDFab6ap1/HqAu+nSypQ05P25JohGEbmk2SwfeVYvl8ZezWXtp+tGJHaHbhkT3PvASCQuWPWjB9Uj5zAM5f1tGpxCFhtSBfHokzn8npwtDcLIR5nxNh0R+Ov+iKo6KEkXy6eDGYBeTeFKdMk4H0yFZTjR7gUgPt7k9rof6KvAOgaazolKccqigNPhg8NYhEm+iYZkX8l0FRNEbQ6gqEG1pFlF0IVEN8QuXaTTdadodwW3txiTxgyVGONzG/
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR08MB7272.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(18002099003)(22082099003)(38070700021)(56012099006)(11063799006)(4143699003);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <5A9D7C3BE48A77419EF752C8C531C2E5@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Exchange-RoutingPolicyChecked:
 oyImuMrXk4rKYD/aWvio8NB87fpFEpHqT7bazxzSHWI0GgSwfo3MmO57yesnsojgMT+Ehssa897i3a9EXzErDsd8dmEQkPz8ycKQxbwiupkqjnG8JfwDWPFZUX04xjpDPBo3ihy8QdNeHQXLpZxfuRMABN8cRZGS5JCXufFJeRvJj7xz/jaQf/AQUxpeDb+s6md5GFK/oHHDdQD7Qoya4/rNKwX94JpLz7smBwv2SnHtBd5AQWTxO86iGM6oEtT5ujm1dhJ5TzS8Oq03LGW1T0p/19p3n9vNblM2p/fT0qdF2nCyzRrAEJoCISQPOBVLxhbzKgieA9YX0UvXwGnyFw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6144
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU6PEPF0000B621.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a63ed8e6-269d-4045-4d56-08dec1548bff
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700016|82310400026|1800799024|35042699022|14060799003|376014|56012099006|22082099003|18002099003|4143699003|11063799006;
X-Microsoft-Antispam-Message-Info:
	OFOb4Oa8sAzWgaVW58DthX/PJbfIqqtbyVwozYRW47kffRXpFv41yUE67Y3+MaLsXiGFw1ZoEvRGmaIqQhF1C12/r3rzOkXmrCWkIVAfu5zxAcV3Rq6OVwxqBdpU0jrLa6wmEB5sWTs5aHq1dt7fZcyesXqwkmoOYg3WXesbhlfsDGDv83ownfIkAIgS+5WdcVNHKmvkQQmm5IL9wHzSDq4afmCxMx1hhPFJv1Hf3+2d92L4/e/L/gaqHnED6wdcY1COKx6FcQQKJrrAjDGI7G7QwM2eQrQ5sObmjYMoC4jXnaZzr78kGiV3/W1ZFMxQhF+R0f3k/BcoFi3fmozhi2tqifipozTYptt+nO5GCAgZCWdKURS6oxPUbgxEiADAa30Yh5OFNECupbkHFpMWROa1rh7oHTBUbrUs6SjVlhOYAoIFxDVQztYT025fFK5fQljv8ZbkfZdA/GexHJlSMrSmO4ThywuhJHLz+R7dOI/y6L/WDFOj5k78dFxUlUDGFKOu9y8IWve99tmpitaxHvcEMCbag+o+ea362R2wu/WRunZxRWq3kDsm1unq9DLvX8efRT8389lyh+wXhcr/2Js2M1K38NZhpO/09DVV21qh3NRykOaf03+6FfoE6L0xBP3I6VXOMHz1lm56t0UKfRLqQxf2sK56gcWwv/6uf7Q9vTtBJPOlm/mTR6vlb2mw8NkaPxL4vRWx1r8aQZdUeJEk6wjqIYNylyo11HXEDRk=
X-Forefront-Antispam-Report:
	CIP:4.158.2.129;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:outbound-uk1.az.dlp.m.darktrace.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(82310400026)(1800799024)(35042699022)(14060799003)(376014)(56012099006)(22082099003)(18002099003)(4143699003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	1HG6SSWh80I2mwfQXrJxluHLpAhCBzdFXS/ts5/wqIBZqGnAcYUO03Aj7oVVUJdHY4rNCATTBAJkYdsRnOSy4RcHosHZDBuo8D4qlHJfgrXZ+RgWUoJm4c5nKjE9NBwuC7omxq1kBSpLMfn+VVBbDLTSyU89cRYqKnbD8anYafuHwbf7xS9+gB+MT72YlDz8QRdHxMKg2AlfSZxIUH/ab/cDLnA8FKhgJTFDi4cApxDX6Wwqdx2onB+rY5kZ0l988fxBOe769kCspxEmo3r9gqUdJUYOqXA+yzXJMOumZ6NcaEM6Rz5B+j+Rt6YiiNERsZ2JqUZW9ZxHqWtNzSI11czSX4EbymqB3Pna7yLTXe1NWsfSE9rN1z7ATnEh9T6GaDT+UzIjpdayxx3mrqRgI9kn+4ekbRUvu3521hx45ICDn4YrUhdf0xFI0hXdeMM1
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 09:44:24.5996
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9f2e3f0b-0831-40b1-717b-08dec154b25c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[4.158.2.129];Helo=[outbound-uk1.az.dlp.m.darktrace.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU6PEPF0000B621.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB11837
X-purgate-ID: tlsNG-ef75cf/1780479868-09165C48-448B790B/0/0
X-purgate-type: clean
X-purgate-size: 1700

SGkgTXlrb2xhLA0KDQo+Pj4gDQo+Pj4gLyogR0JQQSBpcyAic3BlY2lhbCIgKi8NCj4+PiAtc3Rh
dGljIGludCBfX2luaXQgYXJtX3NtbXVfdXBkYXRlX2dicGEoc3RydWN0IGFybV9zbW11X2Rldmlj
ZSAqc21tdSwNCj4+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTMy
IHNldCwgdTMyIGNscikNCj4+PiArc3RhdGljIGludCBhcm1fc21tdV91cGRhdGVfZ2JwYShzdHJ1
Y3QgYXJtX3NtbXVfZGV2aWNlICpzbW11LCB1MzIgc2V0LCB1MzIgY2xyKQ0KPj4gDQo+PiBOb3cg
dGhpcyBvbmUgYW5kIGFybV9zbW11X2RldmljZV9yZXNldCBsb29zZSBfX2luaXQgYWxzbyBmb3Ig
IUNPTkZJR19TWVNURU1fU1VTUEVORCwNCj4+IGJ1dCBJ4oCZbSBub3Qgc3VyZSBpZiBpbiB0aGUg
Y29kZWJhc2Ugd2UgYXJlIGRlYWxpbmcgd2l0aCB0aGVzZSBraW5kIG9mIGNhc2VzIGFscmVhZHkg
b3IgaWYgaXTigJlzIHN0aWxsIG9rDQo+PiB0byBsZXQgaXQgYmUgd2l0aG91dCBfX2luaXQgYW55
d2F5Lg0KPiANCj4gR29vZCBwb2ludC4gSSB3aWxsIGF2b2lkIGtlZXBpbmcgdGhlc2UgaGVscGVy
cyBpbiBydW50aW1lIHRleHQgZm9yDQo+ICFDT05GSUdfU1lTVEVNX1NVU1BFTkQuDQo+IA0KPiBJ
IHRoaW5rIGEgc21hbGwgbG9jYWwgYW5ub3RhdGlvbiBpbiB0aGUgU01NVXYzIGRyaXZlciB3b3Vs
ZCB3b3JrIHdlbGwgaGVyZSwNCj4gc29tZXRoaW5nIGxpa2U6DQo+IA0KPiAjaWZkZWYgQ09ORklH
X1NZU1RFTV9TVVNQRU5EDQo+ICNkZWZpbmUgX19pbml0X29yX3NtbXVfc3VzcGVuZA0KPiAjZWxz
ZQ0KPiAjZGVmaW5lIF9faW5pdF9vcl9zbW11X3N1c3BlbmQgX19pbml0DQo+ICNlbmRpZg0KPiAN
Cj4gYW5kIHRoZW4gdXNlIGl0IGZvciBhcm1fc21tdV91cGRhdGVfZ2JwYSgpIGFuZCBhcm1fc21t
dV9kZXZpY2VfcmVzZXQoKS4NCj4gDQo+IFRoaXMga2VlcHMgdGhlIHN1c3BlbmQtZW5hYmxlZCBj
YXNlIHVuY2hhbmdlZCB3aGlsZSBwcmVzZXJ2aW5nIHRoZSBleGlzdGluZw0KPiBpbml0LW9ubHkg
cGxhY2VtZW50IG90aGVyd2lzZS4NCj4gDQo+IFdoYXQgZG8geW91IHRoaW5rPw0KDQpZZXMgSSB0
aGluayB0aGF0IHdvdWxkIHdvcmssIHlvdSBjYW4ga2VlcCBteSBSLWJ5IGlmIHlvdSBhcHBseSB0
aGUgbmV3IF9faW5pdF9vcl9zbW11X3N1c3BlbmQNCnRvIGFybV9zbW11X3VwZGF0ZV9nYnBhIGFu
ZCBhcm1fc21tdV9kZXZpY2VfcmVzZXQuDQoNCkNoZWVycywNCkx1Y2ENCg0K


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 09:46:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 09:46:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325985.1591367 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUiBA-00087R-NT; Wed, 03 Jun 2026 09:46:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325985.1591367; Wed, 03 Jun 2026 09:46: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 1wUiBA-00087K-Kp; Wed, 03 Jun 2026 09:46:28 +0000
Received: by outflank-mailman (input) for mailman id 1325985;
 Wed, 03 Jun 2026 09:46:27 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Luca.Fancellu@arm.com>) id 1wUiB9-00087C-6T
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 09:46:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUiB8-00FJOM-JA
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 11:46:26 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Luca.Fancellu@arm.com>)
 id 6a1ff7e2-2eae-0a2a0a5409dd-0a2a4503de9c-32
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:46:26 +0200
Received: from [40.107.159.67]
 (helo=OSPPR02CU001.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Luca.Fancellu@arm.com>)
 id 6a1ff7f2-672d-0a2a45030019-286b9f435a67-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:46:26 +0200
Received: from DU2PR04CA0067.eurprd04.prod.outlook.com (2603:10a6:10:232::12)
 by DU0PR08MB9371.eurprd08.prod.outlook.com (2603:10a6:10:421::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 09:46:19 +0000
Received: from DB1PEPF000509F3.eurprd02.prod.outlook.com
 (2603:10a6:10:232:cafe::5a) by DU2PR04CA0067.outlook.office365.com
 (2603:10a6:10:232::12) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Wed, 3
 Jun 2026 09:46:19 +0000
Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by
 DB1PEPF000509F3.mail.protection.outlook.com (10.167.242.149) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Wed, 3 Jun 2026 09:46:18 +0000
Received: from DU2PR08MB7272.eurprd08.prod.outlook.com (2603:10a6:10:2d7::16)
 by DB5PR08MB10286.eurprd08.prod.outlook.com (2603:10a6:10:4a9::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 09:45:12 +0000
Received: from DU2PR08MB7272.eurprd08.prod.outlook.com
 ([fe80::5d34:206f:373:a323]) by DU2PR08MB7272.eurprd08.prod.outlook.com
 ([fe80::5d34:206f:373:a323%6]) with mapi id 15.21.0071.015; Wed, 3 Jun 2026
 09:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=IkjDPULBruaBfWkJIWnVpUmDiKyqB9w12YNxfaJpZujhRaL4VtNE8IQXkEQBfKSelntLMSbn7B6aItGqISR7TdlJCZRwWcotBRAtMkprjwR1TwVoR2mkpEXyCCo//WSShJhbTR/jpf+8xpFAeFMtATvbO0FdVGN5+w51NI4RinwkECy0uK5bnmqLLmQO2YFfQwJpzIUDzv9xKmdvBYbFuNLJhzjpcrxZJ4J8hGtjyTftuRrvpRRKJQEZ9n9BFOgBQMtGZY1ftQ7SFpQh7bbYQWYmjGoHoNGW776NHKzsBVuw/k1B00H0uHj+5WMx251WXgaPIEjEOhDMDe+LCBT3fQ==
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=3K04SnNvmuoqXDdseWyzW0mo5KOoIZOSJ89VXARP0bo=;
 b=m4ytC1cEjeeSbZoMy4x/DJDghY0G/5Gq5rdF5jb5yHMOk5rQr2aS7bAyq1FZ5EmUawqTsz4CPUPx9enFfOLF9vLTgiECyHawOue4B4sJY4MsN2I4Pk9tSnPoZmycGWwQDodkmHwY7ZqY1hEI4RgXntGwlT2K9iTxE4+ZJ4/pp1u01POsaQ+sF0wBqJcXwX+gzuhsSgWSOjoEb9+k3fa1kIukP1DkKNhUMaRONwCWgcgfQAO8xmwh9Mu79N4XMak2MitcwRpekRim5LhEE1vJMXnyARpjXl0lDeLK84WGOj26isOR9fRfaN7J3ZSPMslPEQYEwvus8Ev7NVk24I2DZw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 4.158.2.129) smtp.rcpttodomain=gmail.com smtp.mailfrom=arm.com; dmarc=pass
 (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass
 (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3K04SnNvmuoqXDdseWyzW0mo5KOoIZOSJ89VXARP0bo=;
 b=PhQsFJozataDK2zCXzKn1ubVJUBXEeAnSvdnpnDfN/L8PXA8eK1lFUwCmt0uGzSEOupP9xrxFYT/ALlB1s85w5eafnjg2gmZ8jaZK2iFqmJctY9mB70AW4ZdLceepBTxqAbzcIzPZgW86hcTrdDu5NwPCkC1NYD9jQr7oYz6Mwg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 4.158.2.129 as permitted sender) receiver=protection.outlook.com;
 client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=PGhDdIlozrCzt70HvWHSjEoHDDjfobjGVQgqAaWgUulWULepHmTk8/9f5fbOnELeWI8EXLQMvgsYGx9Z7qNM71sAWHMumzdF9uzG1dx0bLYOSZib0+BKQ5M+Dk4pN1p8FGEfwcCfe2tMWS0GDPOcViuq7ZminWpjB/5F/HvVX/Rq+j85tQeNk8dpCqaESq6Gngq6Wnkou52N3aKhnKoPUqd1Bl72Rr4Gx+pdvWKSvBPy/OPgKDsbHCMJLMN8hn+TwOpE7aynjRkYybgenYiLdJmRmnaI1qRE/JpUoU2bam3dny+OBhJeYCKuYxa5oYK+7bUydiObiyhn9iDkkaicPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3K04SnNvmuoqXDdseWyzW0mo5KOoIZOSJ89VXARP0bo=;
 b=VnFsz7Tj7wFAYLomoL/nAMJM40TlcXY24imC2KohW6fA5nMEiORTyWbmgng9LOMQSdLUsb3181XQWoa7ixvc46s3HeTHqInXEckwTKWWmcAdfIrgYeEN1/Acc/T9+FpgFUkBq/funw8u/mfQKqJR172+CxLG89HJlLq3hJuIj0neapILd4ghoGau52TUVA1iTuvT4NPjBg0UDLp8CDDU7/DaRIACZ0hHqk2FRa2CEVZIssC4L1rqe3Wv/3LnxeluXyhwjyJniNSEyAU2cH67I3yv5g5AgiHc4TMjXrHcFe7ficgMlb3iVTDxj00n27Affk1+g8dgpMn0l5mT6vR5Sw==
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=3K04SnNvmuoqXDdseWyzW0mo5KOoIZOSJ89VXARP0bo=;
 b=PhQsFJozataDK2zCXzKn1ubVJUBXEeAnSvdnpnDfN/L8PXA8eK1lFUwCmt0uGzSEOupP9xrxFYT/ALlB1s85w5eafnjg2gmZ8jaZK2iFqmJctY9mB70AW4ZdLceepBTxqAbzcIzPZgW86hcTrdDu5NwPCkC1NYD9jQr7oYz6Mwg=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Mykola Kvach <xakep.amatop@gmail.com>
CC: "xen-devel@lists.xenproject.org" <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>, Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
Subject: Re: [PATCH v10 05/13] xen/arm: gic-v3: add ITS suspend/resume support
Thread-Topic: [PATCH v10 05/13] xen/arm: gic-v3: add ITS suspend/resume
 support
Thread-Index: AQHc6UoGT/kfd1Pv6US/NK5RLp1zNLYjx+kAgAig8gCAAD/FAA==
Date: Wed, 3 Jun 2026 09:45:12 +0000
Message-ID: <0A9E84AD-4F23-4016-BEF2-03A308427CFD@arm.com>
References: <cover.1779385072.git.mykola_kvach@epam.com>
 <95930674d4639727b9cdf4f52b4a23b6df60c3c4.1779385072.git.mykola_kvach@epam.com>
 <E775FD70-C4FB-41BD-AE73-BA6383148546@arm.com>
 <CAGeoDV8FFtayxYsNAhf_NeG6234-uU7dTPg+je91NrWJ+JCHbA@mail.gmail.com>
In-Reply-To:
 <CAGeoDV8FFtayxYsNAhf_NeG6234-uU7dTPg+je91NrWJ+JCHbA@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.3864.600.51.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DU2PR08MB7272:EE_|DB5PR08MB10286:EE_|DB1PEPF000509F3:EE_|DU0PR08MB9371:EE_
X-MS-Office365-Filtering-Correlation-Id: 0f473551-8405-4b15-d161-08dec154f689
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|1800799024|366016|38070700021|56012099006|11063799006|4143699003|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info-Original:
 G8S/1RrXIhyOeNeasHANZm6rXiKzBo9/FK5AHSUIFnH22vEgjtW0iW6QbZQ/Q0vG1RmC6dciPanFcOGljpg+oKQMQhE8hg7xH9IZaJLz23DKMdjf1OSaH/hhGv6DzqcX+y7YApuIHsq+m95E0nK7SWLep+jFSB4+cXJV94Ig3BCuBr/Jdh4UzOcsCL35rD5cur4KMDbYNB08V2QgmYq0/1QXwuE2GYoQj3NKbftDcJV8z3gy7wrIN2f8RzEtOyNyKq6WrFD3Gq28iA9c9MerLEnDVvn1FxGdbGCccBwa/+UleJIdOU4Hl7GqMV+dICkHUErzoLSyodcMKC5flUsiez0KteQWP6zJMuoQxWlKugX7Ab0yu7DvyKDHANb69wZSBSrNd+qRksQFiB8ffGYX9MjKvanbMi98aUjCo98ASdcWrrqCVYQOaFHULh19ebEtZstb/3ZTuKeNCoDgHHHw0RO6afaeFEdvlQYXme9yu9IEuusaYNIXtmKc/M9TZY1DLlAr0ADbZBWYirfZxABzpY6oZyzXm159zCugHyT2XDQvGGFo2O7eKodw6arnuGu36Lolyef7y4zb5SIS1Xq06HOHGqJlspcrwTvPj66wdgAw6PwPCbm8CPoW2eP9ORP7Hi78OlzWYUzPf9429jj/w1R3u3W2UBqfw4tXRROQUSotqsRV2CKZUGZXiUWUkYsRXcRJK3WVgE+++1oDgiIE2dpqYrYV0wyAmZFBYq8FfmCryJhwZjXxMa3QHi368OUB
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR08MB7272.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016)(38070700021)(56012099006)(11063799006)(4143699003)(22082099003)(18002099003);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <0DF52E5A28C722439F1A8404CE1131A1@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Exchange-RoutingPolicyChecked:
 aCppl53QxDptS9vPW/BvCtDpyZX7PCJFgX3jt2J3yD7/gy9BlyGcW3gyV6dBzvQ7nxl4OXCXmHiEOVIUo1F70h21Of1HqjuDOOyShidg/yRLkZMhGiGIPdn0NGkhXXX+Z8+qOnBuZ4zf/Ofa3Lqhnd3N8kG3hJBsPhFlf+H7KavKAYggCHHsVbyUxkARor2kYzfP0pHHVKgzqm8Ke/lBxhsDxPvU95Rnw85OCGotyR9HPoRGMmpjvR5MmLinGzJzaAUjn77azyj0ifFSahYhFcNa8RyK/Rav1o4PboF8joTpDvtlEmbLaCXhrTYufblAqaOsUyxTO5YZdYCYWF8Amw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB10286
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF000509F3.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	3e7a378b-4c92-45da-33a1-08dec154cef2
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|35042699022|36860700016|1800799024|376014|7416014|82310400026|14060799003|11063799006|56012099006|4143699003|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	XfGM0feYc66C6qfKDz/ArNVBBVE0ldJncxNwgo2xrgzU3T9nUM9hExTPUb2iB0Gl5vWaVWyrC54+dZPEAd9JYjvstzVs3T7mxhIq7cZQcY3yWMpRSplOEdz+Htb3kGv3p3VYqR55zIdwkpXXYndrIM/0GyMR1B+Lp39jMSkKCCPqjhOYNEPGQumb8Fu2QSl9EHO23g5hWmpQxttVSokjjZm7YxKb5FaEoQzUYDhnvWh6Mw+80b3AAQrTW+aWrVIAFp9VtzJ6aDS95hwLjwMc7sIDF4iQ+PUKJFd+eVv3G03wbICCcDIsSiNiqlT4O+Ba1qF6mUVsaSmvClz2Hs3ggIMSrGoxY/31Xrhd26eA7ENzP2F9iAejdh1XQ7lsyfMckvHKl/gcYkfKujFDQ2bENzGRNJIxbYS6vXB00KffuPAfNBL7gXeYvCGbEpdMu7vGrGsD/oDY1UF8QAHAL/pput+1KOE3d6by6oWWx0CWwcsWEdORJ4HQ+t9AouZw+x16edwYEfva61kjopB9HU1kcj7Ug0cp+70eNeOVrPA6pU6NlmGoX/fp4elh0/cMHeBs6uxG7WJ/UcTFWrNcbfZmi4SXU1uQ2BwErmol+o8bWYtbz68VpVwmsoGfJB1yPgxOhm6iI9UYO6PgnHfAfg4oOYQWOHVfW1RYxnTxhW/Jl93hFP769bQ3aCOmb1S1uswSjciWh609C+V2l9wTYRczX3h7NsWjmIT/7VzsksdVe/o=
X-Forefront-Antispam-Report:
	CIP:4.158.2.129;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:outbound-uk1.az.dlp.m.darktrace.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(35042699022)(36860700016)(1800799024)(376014)(7416014)(82310400026)(14060799003)(11063799006)(56012099006)(4143699003)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	Gz7TROrR9U5QqISG6CZvl9xHSQlJYkAI/B8El6YPlSTKsjNG3MJUKKb387UQOMLvQzHxix06oX+n1NumQP0Kynm1fgoero8VOCSgZRB4T23AeSSv4rf2h2owmdw/6sBW7mX6qTl4cYeJIHDkEQ+17oWY24WRh8HTftbakUt0aGoWFAzMc0gyYZPklVhbjFSpCUQ+ATFGKJxImpd0r6YPQwY9ha9nBg2XEbYl37rM9gaScM/2a669BgmynHkT5jHL781Pjy18GXiZCtU0SVd6BUvjfCeTWmR8L7uaeam5f6SApb7n72/C+AlAMEOjTPnHl4IdyzPhyDAmN8d5MjDxWlW9uoF4fU7wbbvLYnJv4/STzcH7XucwPJ/Ugj3xfNX9xaJLZcZD7js9R07y4cb42WMzqmDPlj0RfWCkiRnCFfb7Udy+WqB02hAC+x2QBmep
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 09:46:18.9852
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0f473551-8405-4b15-d161-08dec154f689
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[4.158.2.129];Helo=[outbound-uk1.az.dlp.m.darktrace.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB1PEPF000509F3.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9371
X-purgate-ID: tlsNG-33051d/1780479986-36945938-DF5FE722/0/0
X-purgate-type: clean
X-purgate-size: 2940

SGkgTXlrb2xhLA0KDQo+IE9uIDMgSnVuIDIwMjYsIGF0IDA2OjU2LCBNeWtvbGEgS3ZhY2ggPHhh
a2VwLmFtYXRvcEBnbWFpbC5jb20+IHdyb3RlOg0KPiANCj4gSGkgTHVjYSwNCj4gDQo+IFRoYW5r
IHlvdSBmb3IgdGhlIHJldmlldy4NCj4gDQo+IE9uIFRodSwgTWF5IDI4LCAyMDI2IGF0IDk6MTLi
gK9QTSBMdWNhIEZhbmNlbGx1IDxMdWNhLkZhbmNlbGx1QGFybS5jb20+IHdyb3RlOg0KPj4gDQo+
PiBIaSBNeWtvbGEsDQo+PiANCj4+PiANCj4+PiArI2lmZGVmIENPTkZJR19TWVNURU1fU1VTUEVO
RA0KPj4+ICtpbnQgZ2ljdjNfaXRzX3N1c3BlbmQodm9pZCkNCj4+PiArew0KPj4+ICsgICAgc3Ry
dWN0IGhvc3RfaXRzICppdHM7DQo+Pj4gKyAgICBpbnQgcmV0Ow0KPj4+ICsNCj4+PiArICAgIGxp
c3RfZm9yX2VhY2hfZW50cnkoIGl0cywgJmhvc3RfaXRzX2xpc3QsIGVudHJ5ICkNCj4+PiArICAg
IHsNCj4+PiArICAgICAgICB1bnNpZ25lZCBpbnQgaTsNCj4+PiArICAgICAgICB2b2lkIF9faW9t
ZW0gKmJhc2UgPSBpdHMtPml0c19iYXNlOw0KPj4+ICsNCj4+PiArICAgICAgICAvKg0KPj4+ICsg
ICAgICAgICAqIEJ5IHRoZSB0aW1lIFhlbiByZWFjaGVzIGdpY19zdXNwZW5kKCksIGV2ZXJ5IGRv
bWFpbiBpcyBhbHJlYWR5IGluDQo+Pj4gKyAgICAgICAgICogU0hVVERPV05fc3VzcGVuZCwgc28g
SVRTLXRhcmdldGluZyBpbnRlcnJ1cHQgc291cmNlcyBhcmUgZXhwZWN0ZWQNCj4+PiArICAgICAg
ICAgKiB0byBoYXZlIGJlZW4gcXVpZXNjZWQgYnkgdGhlIG93bmluZyBPUyBiZWZvcmUgU1lTVEVN
X1NVU1BFTkQuDQo+Pj4gKyAgICAgICAgICovDQo+Pj4gKyAgICAgICAgLyogUHJlc2VydmUgc2F2
ZWQgR0lUU19DVExSIHN0YXRlLCBleGNsdWRpbmcgcmVhZC1vbmx5IFFVSUVTQ0VOVC4gKi8NCj4+
PiArICAgICAgICBpdHMtPnN1c3BlbmRfY3R4LmN0bHIgPSByZWFkbF9yZWxheGVkKGJhc2UgKyBH
SVRTX0NUTFIpICYNCj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+R0lUU19D
VExSX1FVSUVTQ0VOVDsNCj4+PiArICAgICAgICByZXQgPSBnaWN2M19kaXNhYmxlX2l0cyhpdHMp
Ow0KPj4+ICsgICAgICAgIGlmICggcmV0ICkNCj4+PiArICAgICAgICB7DQo+Pj4gKyAgICAgICAg
ICAgIHdyaXRlbF9yZWxheGVkKGl0cy0+c3VzcGVuZF9jdHguY3RsciwgYmFzZSArIEdJVFNfQ1RM
Uik7DQo+PiANCj4+IFRoaXMgaXMgd3JpdGluZyBlbmFibGUgZnJvbSAwIHRvIDEsIHdoaWxlIHF1
aWVzY2VudCBpcyBzdGlsbCAwLCB3aGljaCBpcyB1bnByZWRpY3RhYmxlLA0KPj4gaG93ZXZlciBp
dOKAmXMgdGhlIHNhbWUgaGFwcGVuaW5nIG9uIExpbnV4LCBzbyBJIHdvdWxkIGxlYXZlIGl0IHRv
IHRoZSBtYWludGFpbmVyIHByZWZlcmVuY2UuDQo+IA0KPiBJIHRoaW5rIHlvdSBhcmUgcmlnaHQs
IHRoYW5rcyBmb3Igc3BvdHRpbmcgdGhpcy4NCj4gDQo+IEFmdGVyIGdpY3YzX2Rpc2FibGVfaXRz
KCkgdGltZXMgb3V0LCB0aGUgSVRTIGhhcyBhbHJlYWR5IGhhZA0KPiBHSVRTX0NUTFIuRW5hYmxl
ZCBjbGVhcmVkLCBidXQgR0lUU19DVExSLlF1aWVzY2VudCBpcyBzdGlsbCAwLiBXcml0aW5nIGJh
Y2sNCj4gdGhlIHNhdmVkIENUTFIgbWF5IHNldCBFbmFibGVkIGZyb20gMCB0byAxIHdoaWxlIFF1
aWVzY2VudCBpcyAwLCB3aGljaCBpcw0KPiBVTlBSRURJQ1RBQkxFIGFjY29yZGluZyB0byB0aGUg
c3BlYy4NCj4gDQo+IFNvIHJlc3RvcmluZyBHSVRTX0NUTFIgaW4gdGhpcyBlcnJvciBwYXRoIGRv
ZXMgbm90IGxvb2sgc2FmZS4gV2UgY291bGQgZXh0ZW5kDQo+IHRoZSBxdWllc2NlIHRpbWVvdXQg
aWYgdGhlIGN1cnJlbnQgMTAwbXMgaXMgY29uc2lkZXJlZCB0b28gc2hvcnQsIGJ1dCBvbmNlIHRo
ZQ0KPiB3YWl0IGhhcyBmYWlsZWQgdGhlcmUgaXMgbm8gYXJjaGl0ZWN0dXJhbGx5IHNhZmUgd2F5
IHRvIHJlc3RvcmUgdGhlIElUUyBzdGF0ZS4NCj4gSW4gdGhhdCBjYXNlIEkgdGhpbmsgdGhlIHN1
c3BlbmQgcGF0aCBzaG91bGQgcGFuaWMuDQoNCnllcyBtaWdodCBiZSBhbiBvcHRpb24sIGJ1dCBi
ZWNhdXNlIHdlIHdvdWxkIGRpdmVyZ2UgZnJvbSBMaW51eCwgSSB3b3VsZCBsZWF2ZSBpdA0KdG8g
dGhlIG1haW50YWluZXJzLg0KDQpDaGVlcnMsDQpMdWNhDQoNCg0K


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 09:47:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 09:47:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1325994.1591377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUiBw-0000Ft-3r; Wed, 03 Jun 2026 09:47:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1325994.1591377; Wed, 03 Jun 2026 09:47: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 1wUiBw-0000Fk-12; Wed, 03 Jun 2026 09:47:16 +0000
Received: by outflank-mailman (input) for mailman id 1325994;
 Wed, 03 Jun 2026 09:47:14 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUiBu-0000FY-GB
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 09:47:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUiBt-006ZZ6-SV
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 11:47:13 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1ff810-2eae-0a2a0a5409dd-0a2a4507a5a2-40
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:47:13 +0200
Received: from [209.85.208.48] (helo=mail-ed1-f48.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a1ff820-229c-0a2a45070019-d155d030ec77-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:47:12 +0200
Received: by mail-ed1-f48.google.com with SMTP id
 4fb4d7f45d1cf-68ad1e513d3so10208722a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 02:47:12 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bf051e9c499sm121908466b.22.2026.06.03.02.47.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 02:47: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780480032; x=1781084832; 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=2mzPjT0jfz/1IMzfdIYIY2Q3WQY/x/sEzId7/HUoIlM=;
        b=rE7ggnxGlCSK4inQI0nQjFjKtblB3wr9HP1lStavZQV4PR/EjS0sPPhnTPxLDP7SKK
         b0FyfAvZRNItF1VOJ8pId+14UTw3aHxj2Ca7gTXSQCfRTWdZ56RUPU2songuYfIZAWsg
         o2I5Yv1mkOEq/Iq74ukuEx6b/dbX87T8BFfs7IpCq/lbMEjJJ1tFnyANCvG24NeIybGt
         oDY4XGuNuasPpwee608wns04GJ3/Ssuy81fhSCDZBCPrDCSX5FKKhpL41K3Cx5WXoYd1
         eRo950lv8d5pmhKuYsrVD7I5KVEHxdp0giJX80lZOqhmXGq67jo6yS2qLfdZw0W6prT0
         ll2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780480032; x=1781084832;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=2mzPjT0jfz/1IMzfdIYIY2Q3WQY/x/sEzId7/HUoIlM=;
        b=L/1pd/Pk4GcdpfYSUUlrhHVmpgwghhQ8ijohnOZbZ3vUGMChZxN0hPTLFOxpCTMDks
         BA4u2ZIvzfSMcosUxCLyy3+4cKm5jCjwsxhNIAqZ9E1JzzGb9+yHP5YCcwBFZvjMhhBq
         fxtQTEDpl/OyDoNGGz1+57ckNgQbX8JIAEx/yXG5+eMfHlwWX8PFfLHGC/gUuKh4mL6r
         3dp6+psPoK45RPJYIbqhgkbjQ36gHLu+45b+RpgztYWQ232Xr9Y5JcOGtsfnVovFDIQS
         il+ZkEwkW4DA0fcDlb21DibUIM1ogHt2J70zjSaSgPhtqa9AbGzcQLvqII5UzhSeDsYu
         6kgw==
X-Forwarded-Encrypted: i=1; AFNElJ+cOo+2ldJ8eN4MIM2hjUsXoiAduCw3ugVcn1QYJcAPN+F/gut0r65xdYtG4h4BQByQTJ4QGaKlv84=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyZYAF2aR+NGqMP+5DMY5yC6bvG8qpLX8AqOkAFQbsekZvDaZv0
	vADuJWsqmbTFxENSYU4tyY9uWqHRAQ02AaD5pMlITPPdOVNqaeyTnyxL
X-Gm-Gg: Acq92OFNmLS61NkcCIErykC399JuU8AapRBNgUMTF2fBGlP7A3wrodzhDIjJs7mqQ2P
	E6t4O1wwsUIuuJlI0NrcP/XewlrQ6WpNX26uTolFnmypKuXDsjHWp7fC+Moiu44JAD4JBtKP5Dk
	bY0KgPiEGJLfZOf3emoixTLLUz62ZrR4KIn1za8hg0Z8tItbSnQNc6f3L/G7t8+mcJ2C5LS9eGJ
	FVlJLaa0TkhvS0cm6nNBIm4FIPJHKxR8QSnhePIYmljKpZlGVYGkWQ5kakUQQg59csxaO2ofSLY
	ZqBMY+wNmDnUivCHqKP87Jj9G4a5jkxLsNJRZEwHCOmwWLUJ6KIyss4KUREtqmiNRw2YPhHTPUF
	iXJQ/sS+IZisFuzWqZvWjZ3FGAA67eEtQAhDGeHyel9IsqQbW89oROAbmbPfGTrfP3Hu0tj+Ivu
	oEr5T3McCYIqL6SdLld9J21WvmPTfuwNH9/AbYDDMs+AgnW2fnqWUJgF3H3ZL4iJ3egxZLkE1ww
	tvdbEtDnmnEj7f9
X-Received: by 2002:a17:907:9446:b0:bef:90af:6ff1 with SMTP id a640c23a62f3a-bf0ae80264dmr124975366b.31.1780480031978;
        Wed, 03 Jun 2026 02:47:11 -0700 (PDT)
Message-ID: <0d378d0d-9e8b-4fe3-ac03-10f8ff8922a2@gmail.com>
Date: Wed, 3 Jun 2026 11:47:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] xen/domain: fix UBSAN null pointer dereference of
 d->shared_info
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: <cover.1779712171.git.oleksii.kurochko@gmail.com>
 <04dd784b6b9a4dfca9a313ea8802d8d514d65021.1779712171.git.oleksii.kurochko@gmail.com>
 <3aef7763-aea3-496a-8c18-d3659f590373@suse.com>
 <fb1b1194-5855-49d9-99fc-d35a3038833c@gmail.com>
 <3eb9ab3d-dc4d-4019-89c8-9f7dbdc528cd@suse.com>
 <9df0b08e-6185-4d0e-bd06-32fe9d684ad0@gmail.com>
 <033aa467-ad86-48be-a59b-05315aa3cf4c@suse.com>
 <0e53e87e-df9f-4c30-a089-8c4e45babcab@gmail.com>
 <00daf333-a1e7-4691-9dca-240ebf9dfcd2@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <00daf333-a1e7-4691-9dca-240ebf9dfcd2@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ef75cf/1780480032-21B68C48-FB3AE58A/10/73395122804
X-purgate-type: spam
X-purgate-size: 2745



On 6/3/26 11:22 AM, Jan Beulich wrote:
> On 03.06.2026 11:01, Oleksii Kurochko wrote:
>> On 6/3/26 10:18 AM, Jan Beulich wrote:
>>> On 03.06.2026 10:07, Oleksii Kurochko wrote:
>>>> On 6/3/26 7:54 AM, Jan Beulich wrote:
>>>>> On 02.06.2026 18:11, Oleksii Kurochko wrote:
>>>>>> On 6/2/26 1:19 PM, Jan Beulich wrote:
>>>>>>> On 25.05.2026 15:20, Oleksii Kurochko wrote:
>>>>>> --- a/xen/common/event_fifo.c
>>>>>> +++ b/xen/common/event_fifo.c
>>>>>> @@ -562,9 +562,10 @@ static void setup_ports(struct domain *d, unsigned
>>>>>> int prev_evtchns)
>>>>>>
>>>>>>              evtchn = evtchn_from_port(d, port);
>>>>>>
>>>>>> -        if ( d->shared_info &&
>>>>>> -             guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>>>>>> +#ifdef CONFIG_HAS_SHARED_INFO
>>>>>> +        if ( guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>>>>>>                  evtchn->pending = true;
>>>>>> +#endif
>>>>>
>>>>> While as per above shared_info() would best not exist when !HAS_SHARED_INFO
>>>>> (in which case #ifdef may be unavoidable here), an alternative where
>>>>> IS_ENABLED() could be used here may want at least considering. E.g.
>>>>> causing a link-time failure when shared_info() is used (and not compiled
>>>>> out).
>>>
>>> ... here. There are downsides to this, so which route to go needs settling
>>> on.
>>
>> For an alternative approach are you okay with the following introduction:
>>
>> #ifdef CONFIG_HAS_SHARED_INFO
>> #define shared_info(d, field)      __shared_info(d, (d)->shared_info, field)
>> #else
>> void *__shared_info_unavailable(void);
>> #define shared_info(d, field) \
>>       (*(typeof(__shared_info(d, (d)->shared_info, field))
>> *)__shared_info_unavailable())
>> #endif
>>
>> And then use IS_ENABLED(CONFIG_HAS_SHARED_INFO) everywhere where
>> shared_info() is used including the case above:
>>
>> v->vcpu_info_area.map =
>>       IS_ENABLED(CONFIG_HAS_SHARED_INFO) && v->vcpu_id < XEN_LEGACY_MAX_VCPUS
>>       ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>>       : &dummy_vcpu_info;
>>
>> Everything that in event_2l.c could go for now without
>> IS_ENABLED(CONFIG_HAS_SHARED_INFO) where shared_info() is used as that
>> code isn't expected to be called by arch which doesn't support 2L so no
>> linkage error will occur.
> 
> Yes, this roughly is what I was thinking of. I'd like to remind you though
> of issues with identifiers with two leading underscores.

For event_2l.c would you be okay to make compilation of it conditional 
by CONFIG_HAS_SHARED_INFO or it would be better to introduce separate 
CONFIG_HAS_EVTCHN_2L:
   -obj-y += event_2l.o
   +obj-$(CONFIG_HAS_EVTCHN_2L) += event_2l.o

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 09:53:27 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 09:53:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326003.1591385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUiHm-0002Bs-On; Wed, 03 Jun 2026 09:53:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326003.1591385; Wed, 03 Jun 2026 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 1wUiHm-0002Bl-M0; Wed, 03 Jun 2026 09:53:18 +0000
Received: by outflank-mailman (input) for mailman id 1326003;
 Wed, 03 Jun 2026 09:53:18 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUiHm-0002Bf-0w
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 09:53:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUiHl-00BJbR-DX
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 11:53:17 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ff982-2eae-0a2a0a5409dd-0a2a450cc6c2-32
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:53:17 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a1ff98d-62f1-0a2a450c0019-d155802ed013-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:53:17 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-4903d730b1fso113143725e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 02:53: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-490b6162289sm46269265e9.6.2026.06.03.02.53.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780480397; x=1781085197; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=sDHRfJYsQa7236Unwtgl2Qvc6Eohkv1iU8PGCWhV0ms=;
        b=YgCCoBmdy8w2aNXD0A2D+H5n1gLmAuDyqglVhqAsvsxnB9GCl3MqJ6osuTIEQ5ugS6
         ztorhoDDbS0091c/Bco4kL6hAOm1tUk6uu3UgY9jfOAeRujuwjmleBYxtiCFZ6l7Jxim
         NAGF3CDP9VT5B/JwsocFWddS2Rxgvd+RxpozhO7C8FsCF+L94MtVe/6EOmUaChgGMe3H
         P9eoytRCk5MbcxuSu7sPh44GoD36ioMhdyS+EnUhMCBJOgdGZKC89F8PpoN2lXBfu0o2
         c63K7f+6eTAAK2gh9T5Khg1CMF7tMzkl3lE8AeW8qts0f+WLBUGWW/7ciVH57J1cW9J/
         dvXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780480397; x=1781085197;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sDHRfJYsQa7236Unwtgl2Qvc6Eohkv1iU8PGCWhV0ms=;
        b=MhMisjC6C1mGl1y1j63nY+Gbeb1e/ulJyN8+CfmY3q+bwIW8kGFNSe6m70N88gQeL+
         bAME0PvUZC2Ji+WXv3w6BQi5oj9ZInBIuBH/hmrLta0/ErzVDX6il+M2qxWXUKmgm3jW
         mQCf/ZGfJHT5v1yyD/149uNb2DphC+KPzwINlCiqM0xQPaNQ4itgXHQt3wkHmz8ZQv+o
         snuZ+0ztW73h72AcFXOPgoV4psC0YKSsawG7ufvIdLT8GzzhEP8HeKIPR+3i/WczgTbb
         eyskvVVEmwBUl+LoFtOSwdA0OadDiqPOY+fHAd50hTrBXYsKcPk+ZU2d2uYrrrmkCzXp
         e4Yg==
X-Forwarded-Encrypted: i=1; AFNElJ9HdoXdZvaeBARz50w2n6hl3my4AUuA2iepE3VN6fW0rZUEGdjNTah0lRUxjOe0J/oENIl/W3hfJlw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwUZeMS3aq87AosyoW3XqgYi/pL0HC3evjBoBqqZobM7h7mpfYx
	mhZXhGqgT3sKv27K+I0ykdRWo0LuEyJAySZx2i5rfrtPptH6hg2/PhLfVCovv3q0IA==
X-Gm-Gg: Acq92OGSeCcPM3mAfeGKFDi9nmU2KHjVFpdbMku6REKjH+lIVJfB5HrDDoUgvegqPGD
	tBeDu81GVmGpecMRI6qKCowuKCclyjugzQEFCUyTVja32PprREhFb/rkUag2o9bBh4OqLAbibQv
	iqKuWFpUbydYwcGun3j5W0E2UY85tQDqaR+uKPHS5EcI73JLhAqhagQ5XscgCybLuBcFvrZcnA1
	v4BzXmSrILefuzOvruwCGak9W45mxkpkm31cwJPOzprCt8G150TIVSIJgEEO7hAz5PFRaBvH9SV
	mkwazcBEhFGhTQLOdzXHNfitWIn55FTmEJ2eWgkOb5dnnVnHaKOvnGUOvLbpiG0Q8QNE8VITVbj
	hjmbdjIL1J14KhaNuocpniRYfomoRvJoIUzV547GU2x4vTvI7jwVALb8taNdMBgn9mkXWPq0tiC
	BmaVcDYmqy20KiZfi0ytD8vzn/PK6Pn0AwfEPlqf09PVMApGxfFTJP0pTxdFesFHHSLW1bNt4jQ
	N6FzFVtFVU5BScBP09V/Y0VSQ==
X-Received: by 2002:a05:600c:34ca:b0:490:4ee0:82ff with SMTP id 5b1f17b1804b1-490b5fe6112mr40923915e9.27.1780480396613;
        Wed, 03 Jun 2026 02:53:16 -0700 (PDT)
Message-ID: <0a2a9405-c102-4c9e-a62e-e5e0a5f44054@suse.com>
Date: Wed, 3 Jun 2026 11:53:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] xen/domain: fix UBSAN null pointer dereference of
 d->shared_info
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.1779712171.git.oleksii.kurochko@gmail.com>
 <04dd784b6b9a4dfca9a313ea8802d8d514d65021.1779712171.git.oleksii.kurochko@gmail.com>
 <3aef7763-aea3-496a-8c18-d3659f590373@suse.com>
 <fb1b1194-5855-49d9-99fc-d35a3038833c@gmail.com>
 <3eb9ab3d-dc4d-4019-89c8-9f7dbdc528cd@suse.com>
 <9df0b08e-6185-4d0e-bd06-32fe9d684ad0@gmail.com>
 <033aa467-ad86-48be-a59b-05315aa3cf4c@suse.com>
 <0e53e87e-df9f-4c30-a089-8c4e45babcab@gmail.com>
 <00daf333-a1e7-4691-9dca-240ebf9dfcd2@suse.com>
 <0d378d0d-9e8b-4fe3-ac03-10f8ff8922a2@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: <0d378d0d-9e8b-4fe3-ac03-10f8ff8922a2@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1780480397-E0965CF5-26C91BB7/0/0
X-purgate-type: clean
X-purgate-size: 2997

On 03.06.2026 11:47, Oleksii Kurochko wrote:
> On 6/3/26 11:22 AM, Jan Beulich wrote:
>> On 03.06.2026 11:01, Oleksii Kurochko wrote:
>>> On 6/3/26 10:18 AM, Jan Beulich wrote:
>>>> On 03.06.2026 10:07, Oleksii Kurochko wrote:
>>>>> On 6/3/26 7:54 AM, Jan Beulich wrote:
>>>>>> On 02.06.2026 18:11, Oleksii Kurochko wrote:
>>>>>>> On 6/2/26 1:19 PM, Jan Beulich wrote:
>>>>>>>> On 25.05.2026 15:20, Oleksii Kurochko wrote:
>>>>>>> --- a/xen/common/event_fifo.c
>>>>>>> +++ b/xen/common/event_fifo.c
>>>>>>> @@ -562,9 +562,10 @@ static void setup_ports(struct domain *d, unsigned
>>>>>>> int prev_evtchns)
>>>>>>>
>>>>>>>              evtchn = evtchn_from_port(d, port);
>>>>>>>
>>>>>>> -        if ( d->shared_info &&
>>>>>>> -             guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>>>>>>> +#ifdef CONFIG_HAS_SHARED_INFO
>>>>>>> +        if ( guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>>>>>>>                  evtchn->pending = true;
>>>>>>> +#endif
>>>>>>
>>>>>> While as per above shared_info() would best not exist when !HAS_SHARED_INFO
>>>>>> (in which case #ifdef may be unavoidable here), an alternative where
>>>>>> IS_ENABLED() could be used here may want at least considering. E.g.
>>>>>> causing a link-time failure when shared_info() is used (and not compiled
>>>>>> out).
>>>>
>>>> ... here. There are downsides to this, so which route to go needs settling
>>>> on.
>>>
>>> For an alternative approach are you okay with the following introduction:
>>>
>>> #ifdef CONFIG_HAS_SHARED_INFO
>>> #define shared_info(d, field)      __shared_info(d, (d)->shared_info, field)
>>> #else
>>> void *__shared_info_unavailable(void);
>>> #define shared_info(d, field) \
>>>       (*(typeof(__shared_info(d, (d)->shared_info, field))
>>> *)__shared_info_unavailable())
>>> #endif
>>>
>>> And then use IS_ENABLED(CONFIG_HAS_SHARED_INFO) everywhere where
>>> shared_info() is used including the case above:
>>>
>>> v->vcpu_info_area.map =
>>>       IS_ENABLED(CONFIG_HAS_SHARED_INFO) && v->vcpu_id < XEN_LEGACY_MAX_VCPUS
>>>       ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>>>       : &dummy_vcpu_info;
>>>
>>> Everything that in event_2l.c could go for now without
>>> IS_ENABLED(CONFIG_HAS_SHARED_INFO) where shared_info() is used as that
>>> code isn't expected to be called by arch which doesn't support 2L so no
>>> linkage error will occur.
>>
>> Yes, this roughly is what I was thinking of. I'd like to remind you though
>> of issues with identifiers with two leading underscores.
> 
> For event_2l.c would you be okay to make compilation of it conditional 
> by CONFIG_HAS_SHARED_INFO or it would be better to introduce separate 
> CONFIG_HAS_EVTCHN_2L:
>    -obj-y += event_2l.o
>    +obj-$(CONFIG_HAS_EVTCHN_2L) += event_2l.o

See my earlier reply: Let's stick to just HAS_SHARED_INFO unless there's
a clear need to distinguish that from 2-level event channels support.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 10:00:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 10:00:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326027.1591446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUiO9-0003Tm-Sj; Wed, 03 Jun 2026 09:59:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326027.1591446; Wed, 03 Jun 2026 09: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 1wUiO9-0003Tf-Q1; Wed, 03 Jun 2026 09:59:53 +0000
Received: by outflank-mailman (input) for mailman id 1326027;
 Wed, 03 Jun 2026 09:59:52 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wUiO8-0003TX-3x
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 09:59:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUiO7-000Gjm-Gn
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 11:59:51 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a1ffb00-2eae-0a2a0a5409dd-0a2a450b8c3c-48
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:59:51 +0200
Received: from [52.101.229.142]
 (helo=TY3P286CU002.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a1ffb14-212f-0a2a450b0019-3465e58e06e2-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 11:59:50 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYTP286MB3627.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:3a0::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 09:59:45 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0071.015; Wed, 3 Jun 2026
 09:59:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=I2vjYtn9SqIRePQy7I1h/oDQJqLEGGs9s8DBMa284WrO2ql+ylYO2aZKgd2FlICxaepOQ9yWOoLOUmJ4UlGt8oNxUIdfumhcIqOUwbXCx4JrGxxk7Rl9hj2PsPulBA7+aj9X4qrsDFvLuw7XLtUeQU9E1GfU8HCeCmpjvfZuY/BCiiQxcHsfNhAhz0aBQO1AL1XFMWr3T94qK+KLfssUUYV5+SzeJgAzzkpBknCBIvH7s4BYLENYo06+MybokyTp8ksTJtKAfJwwWC3LM5jHe2vhbHBAGz0rm1MuSlR6egjm2x+4FOJMyS4xOk2gWKXZJq662pQAZKgh1LR0DpMXiQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mISiI+NtV8gyfxPraswyLTz51xEPPhbrxccb0q1CX0c=;
 b=kf6PryD/3a3hPQGWZiFYjVkeG4x7hunvsy05l/DoiPyqMUoVZJjvc/9K2sY1mcZP22IreHXUgkC1slrvOehYzjnRnZn2mTf5vrcclo/g/8sg04EXJNV1Wli6Zy7Z1vrLReLJffOhFXZ1wDyA6+RtxRhOTXH945THXY6VdnOKaQq79mhXWW8Jek75UpU5FU2DOWAWTwWoB3WlmIkOLCPz88r9DMycTtORfdztgX2LOCQYUwj5/m74ehAx5E/Kt5OnYtPz6yer3TilZTSAFcbLYXr+0MqAWGAtoMXmDiLvKR48aPnaAHcx4Db0P6OtCW4xWF2PnXlPx9dK9BXhCYYoEg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mISiI+NtV8gyfxPraswyLTz51xEPPhbrxccb0q1CX0c=;
 b=pvH9cH4gHWUtIt3zCcJPQmL+deDfkIvNeBC/bgEm1+WS228xiAEHqUSi0yrcLAY+X4VEwlg7NY3z0VJ6W7GWtEeqXGWPZI+pSu0PgBIDF1OKLFIXCBK6Bd/O4gY0WH/K84vFuxUYJOIEGFRZhoKMwrf8e3YqFYMvZxaEUE8Jsg4=
From: Hirokazu Takahashi <taka@valinux.co.jp>
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?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v2 07/24] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
Thread-Topic: [PATCH v2 07/24] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
Thread-Index: AQHc8U+PsZhvkHY9vEqKRtt8NHnfGrYrBomAgAF93dA=
Date: Wed, 3 Jun 2026 09:59:45 +0000
Message-ID:
 <OS9P286MB72221F0A5D5195C7A4CAFD4082132@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
References: <20260531224755.9481-1-taka@valinux.co.jp>
 <20260531224755.9481-8-taka@valinux.co.jp>
 <7040c58f-2d4c-48f2-854f-c874efdcefbd@suse.com>
In-Reply-To: <7040c58f-2d4c-48f2-854f-c874efdcefbd@suse.com>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: OS9P286MB7222:EE_|TYTP286MB3627:EE_
x-ms-office365-filtering-correlation-id: 770ff0d4-3713-4540-a76b-08dec156d70b
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|7416014|366016|376014|4143699003|56012099006|22082099003|38070700021|18002099003;
x-microsoft-antispam-message-info:
 01PSI5wxX9IUXpuCCS5bHqkwmvySvfyi1N1kVAAncWhsEEd5pvSMug3qzDupTo0KjexwSJlBG8aIAjE8vbogPeYvBjRJYn8gUBN+Zp/7vg+XhLmMxEBvLCW1sJY1ZPmxipLtgkzl5syxzNwdhSMNYouHmVOhr9NyqOxNpxUrF4qm8/QgIYgJ2YnIvyz57bOKiAPUP6jVabZcoaaBSDA1vbD7NloLPGIc6vmLGTAVB6Z9DykBFU9fji+qI6rELTM6DISiit4WHtrWrN3mHJOaDfs8n/fIdoMHdS7gBm+704SU4D8PjxPm/cfs7984wLaFYnKPDoYCloVJ6iuXoPdTuYDM0dIG11MI47xJ51VmtkVh1Y0poNfnVqA4G9UYYc0q3iVCT+CaGYUKdLptKonEDrJW+tFHxw6dSiw7wZeXMOPxeoSEuhDJAzeowKqtHCN1nFiezT6D0e5GVmkNoxY07Q62bx5vddslC/QQVRbkcEzSGJCTe32TDDOcKABS2WA8bksWQN3YVOf/AOEDcLjPmEURvvZgD+BNorW1oz4oJ2kHTWfphq2Jb99ebiFmSHPbA8QNw8/Ltms/zKXxKNqsWWEhRV+X7QZSsbGXWNAnZ3Nc+neIOSUFHaPRTy6phDuydAFspWdAexeHQvAgE9Xe6NRgguHxPjggYNdXTZb75q74MO6iwKG7eqY3bL7NUrqYZXMI2zdupCCkt8F9pNRHfgb9nXv3NUa/1vQIA/xq2+2SG8SpL7XTSQ5vyg/ekP1j
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(366016)(376014)(4143699003)(56012099006)(22082099003)(38070700021)(18002099003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UmJBRHNIZjNmME9LM3p4bzBleGVWR3JGVjBVQy9EMGxkKytzYld5MW4xbGRH?=
 =?utf-8?B?R3BFcnhOZHhGRkxKZXU3TTVtWDJaMXI0RWM4RjYreFF3VnhsZ3VuWVloVlVF?=
 =?utf-8?B?MG1KamJEQkg3N3ZPYXlOZjhoS2dPbkZwQmxNWE5sZ0ZSM2pPRytkMmlpWW9B?=
 =?utf-8?B?M1ZmVFpiT0hjcnF0QmpSMW5jWjRTNjdRbmVZbFgrMHR4blN5ektjdVhGemNa?=
 =?utf-8?B?WUJOMURGdFM2NGR6NGxOTWg0RWp0WHk2eEwzLzlJNjBWTFdSZGd6NVNUZXpx?=
 =?utf-8?B?NFJWa0ZndjNqcTlheDczMnY2U3ZYTU95Q1h4UVc3YlZFdTBEME15OGhjOFl6?=
 =?utf-8?B?N3RwYXVCclJuWlJsc1hYcGtUSU9KNFZSU0wwMWdydjFLTVhWb1h1cnBMeUhJ?=
 =?utf-8?B?UmZuRmpDdmUxTmRKRVQzUnE3NGJicDl6UDJ1M0YvUkJBMXRrUld1enJ4c3J6?=
 =?utf-8?B?Q1V4cktKaGtjaEVsQk43dzlTZG1ObGE1RnpsZ1orUzFPNjM0TGVPb3RFdmJ6?=
 =?utf-8?B?UERYRjh3cmRLNzFLRXZCSVV0RU5rUW9KSzRwU3ZJZHNlQWlzYnhaa2FyVkRI?=
 =?utf-8?B?dW50QldwSHJBMTVUaDJuczlSeVcvYXBoVlNtOWNrd0NIYmFhY1ZYdDc5Qk5R?=
 =?utf-8?B?SG1rK0F6NWVESi9LRzZrZjRVK21MMjhIME9jQ0t4VVJna012NFN4UGZDMHV4?=
 =?utf-8?B?UkpyV0t3d2VlR0hGVzFsQTZqQ01vTXgyQkoyOHY0YVZacnlQcXFDdEhFT0NJ?=
 =?utf-8?B?d1ZkaWJMYThFKzhsSVlyVnVTSjJMSVVHR3haU1l5emVINVdXUnhaNUkySUlG?=
 =?utf-8?B?R3F3Z0cyWW9YclZJY1orTkJFdHRSZlR6M2w2SHBqd2ErREQ0WGd1OW16N1N0?=
 =?utf-8?B?c2doOTUzL2FKRzFVL3NlVzJwblUyck5Mc00wNVJjSlZZVGZmYWtrUS9rb2pI?=
 =?utf-8?B?TE1NMzkzYllZeXdvUDdYMlhZeXBzZzNENlNoc1QwVVVRbXVyRU5pbHBuK1Jw?=
 =?utf-8?B?L2NueU1YUndPNDZtNG4xYnNrQ0hwbGxrK0IrNzBQUW5mRXBzM0U0SjhJdVFv?=
 =?utf-8?B?ZlZzN1NjVmtUR1pjNTBvT2VSU3NmWUdBNHpINXBmeDJ0RnArRWJvUmNQWm1y?=
 =?utf-8?B?RVR4bi8vVlZsTjlzeEYrTW1yUm5FdUN0VWNBSmt6ZG9hakVTU1h2R3gyUytC?=
 =?utf-8?B?OFE5Y0ZmMkw3cVFKYkJxQ2MrR2JVMHp0QytPNHhUbkw5MUZMb054R2Q2NkFu?=
 =?utf-8?B?QU5oZTh6ZDVyd2Z2eWlyZS80aGltU0x2cTBsTUZ0YkE4bXNHL1ZKcThKclph?=
 =?utf-8?B?dGI1dUxSZXY2NE54ZW9vS21CeUZ4ZmU4RU5KZHRhR1VqK05sWEM0S3hxa0Y3?=
 =?utf-8?B?S0JUa1hNbC8rYm9tTkJUeUFRQmpaTDRxcG1hL21vU1Z4ZUxHajI0Yms1dkJE?=
 =?utf-8?B?RE56eHpNM0pJY21xdTE0Ukhoc3ZNTndVcmNvdldHbWVieThtTHMrdGhRdmRG?=
 =?utf-8?B?cUJsTlFoQ1FlOThZR21UQ3dHVDlscE5semtXWFFRM0JCV3h3SEdWampFemN4?=
 =?utf-8?B?QnNQajBwZHZxWjBRaWFhazlIcUlHTHFsNjZmcTlCQWdaejhvYjBEdldSbzZx?=
 =?utf-8?B?d0VDYkM1Nit3YmFZMHZPN1hrQStienA4NDhsdVNLb3I5cCtkcTNVWXNXRnNJ?=
 =?utf-8?B?cUVFdHZxdlMvb1JNRU5KaEpsaHE3dEdJZVlseGFEd01waXl1SElWN2ZlY2kw?=
 =?utf-8?B?WGpHM3JSdW40cDNSU3NWYkQzVnBteUpPOTA0K2xJM0FrdkdaODZkUGhwU0Jl?=
 =?utf-8?B?a04vODdGR3NNZ0hBeUIxa0s5Zmk2QkJ5L1czR3ZGTzNDNmsrWFg2YWhOWDNl?=
 =?utf-8?B?RWxYN2tVclU3eVpnRW43YlVsNWpvMzdZVkpXYWx5aXNobEl0cjFsSGNmcmI4?=
 =?utf-8?B?ajRuVFNyVVl2T3g5Vkl5WFFTVUpWZmtzQmtDVGVKS1BPMDUwU1g0Z3lPRmFW?=
 =?utf-8?B?eEhlSFVpb0FCNlpHNGg1ZFVoS2FCNlBLUUV5UEVyWk1ZK0k1STltQW1adGlh?=
 =?utf-8?B?YlV0NUpPbHJnR1ZYeXd2cUI1QkNPbFhKUVdrYkRwcjJGbHN6Ymc3MHBpbmlH?=
 =?utf-8?B?SDR0Q0Q1Ung1bE8wV2gzQzNlSEY2QTdsWk4zS0FJVWVTNVNBcE1JSXlDMlh2?=
 =?utf-8?B?NVdyb1JzcEJ4VDVmOUVqZVpScDlNQW9BYVRyQ3VoVUhkTGlTZHg4TU16UjNM?=
 =?utf-8?B?cDUzOC82bDNWV3VVUGxHeXQ2c0owSXhiYVdPSkhxOUpEa1JrM3B6eFAwSEU1?=
 =?utf-8?Q?kKBrH5Z2eNwf4MVd0P?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 770ff0d4-3713-4540-a76b-08dec156d70b
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jun 2026 09:59:45.2136
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: snj2v1oFD+aRSaLcVPqmhH7R4KC98mvqkbCcNyN+Wj1b79G+rmW/58t17eJMJhnmXIdV4/2h6/ndGs0JLTgN5A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYTP286MB3627
X-purgate-ID: tlsNG-42698a/1780480790-22B8EF3B-766A1551/0/0
X-purgate-type: clean
X-purgate-size: 2620

SGVsbG8sIA0KDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL3hlbi9pbmNsdWRlL3hlbi9j
cHUtdG9wb2xvZ3kuaA0KPiA+IEBAIC0wLDAgKzEsNDIgQEANCj4gPiArLyogU1BEWC1MaWNlbnNl
LUlkZW50aWZpZXI6IEdQTC0yLjAtb25seSAqLw0KPiA+ICsNCj4gPiArI2lmbmRlZiBYRU5fQ1BV
X1RPUE9MT0dZX0gNCj4gPiArI2RlZmluZSBYRU5fQ1BVX1RPUE9MT0dZX0gNCj4gPiArDQo+ID4g
KyNpbmNsdWRlIDx4ZW4vdHlwZXMuaD4NCj4gPiArI2luY2x1ZGUgPHhlbi9kZXZpY2VfdHJlZS5o
Pg0KPiA+ICsNCj4gPiArc3RydWN0IGNwdV90b3BvbG9neSB7DQo+ID4gKyAgICBpbnQgdGhyZWFk
X2lkOw0KPiA+ICsgICAgaW50IGNvcmVfaWQ7DQo+ID4gKyAgICBpbnQgY2x1c3Rlcl9pZDsNCj4g
PiArICAgIGludCBwYWNrYWdlX2lkOw0KPiANCj4gQ2FuIGFueSBvZiB0aGVzZSBnbyBuZWdhdGl2
ZT8gSWYgbm90LCAidW5zaWduZWQgaW50IiBwbGVhc2UuIElpcmMgSSBzYWlkIHRoZQ0KPiBzYW1l
IGVsc2V3aGVyZSBvbiB2MS4gUGxlYXNlIGFwcGx5IHN1Y2ggY29tbWVudHMgdGhyb3VnaG91dCB0
aGUgc2VyaWVzLg0KDQpUaGVzZSBtZW1iZXJzIGNhbiBhY3R1YWxseSBiZSAnLTEnIHRvIHJlcHJl
c2VudCBhIG1pc3NpbmcgZW50cnkgd2hlbiBwYXJzaW5nIHRoZSBEZXZpY2UgVHJlZSdzIA0KJ2Nw
dS1tYXAnIG5vZGUuIA0KDQpTaW5jZSBJIGltcG9ydGVkIHRoaXMgZGlyZWN0bHkgZnJvbSBMaW51
eCBrZXJuZWwgNy4wIChzcGVjaWZpY2FsbHkgZnJvbSBpbmNsdWRlL2xpbnV4L2FyY2hfdG9wb2xv
Z3kuaCANCmFuZCBkcml2ZXJzL2Jhc2UvYXJjaF90b3BvbG9neS5jKSwgSSB3b3VsZCBsZWFuIHRv
d2FyZCBrZWVwaW5nIHRoZW0gYXMgJ2ludCcgdG8gbWluaW1pemUgDQphbnkgZGl2ZXJnZW5jZSBm
cm9tIHRoZSBvcmlnaW5hbCBMaW51eCBpbXBsZW1lbnRhdGlvbi4gDQoNCldvdWxkIHRoYXQgYmUg
YWNjZXB0YWJsZT8NCg0KDQo+ID4gKw0KPiA+ICsjaWZkZWYgQ09ORklHX0RUX0NQVV9UT1BPTE9H
WQ0KPiA+ICtleHRlcm4gc3RydWN0IGNwdV90b3BvbG9neSBjcHVfdG9wb2xvZ3lbTlJfQ1BVU107
DQo+IA0KPiBJZiBhdCBhbGwgcG9zc2libGUsIG5vIG5ldyBOUl9DUFVTIGRpbWVuc2lvbmVkIGFy
cmF5cyBwbGVhc2UuDQoNClRoaXMgaXMgYWxzbyBwYXJ0IG9mIHRoZSBjb2RlIGltcG9ydGVkIGZy
b20gTGludXgga2VybmVsIDcuMCwgd2hpY2ggaXMgdXNlZCB0byBzdG9yZQ0KdW5pcXVlIHRvcG9s
b2d5IGRhdGEgcGVyIENQVS4gDQoNCkkga2VwdCBpdCBhcyBhbiBhcnJheSB0byBtYXRjaCB0aGUg
b3JpZ2luYWwgTGludXggc291cmNlLCBidXQgSSB1bmRlcnN0YW5kIHRoZSBjb25jZXJuDQphYm91
dCBhZGRpbmcgbmV3IE5SX0NQVVMgZGltZW5zaW9uZWQgYXJyYXlzIGluIFhlbi4gSSBjYW4gcmVm
YWN0b3IgaXQgdG8gdXNlIFhlbidzDQpwZXItQ1BVIGluZnJhc3RydWN0dXJlIGluc3RlYWQuIA0K
IA0KPiA+ICt2b2lkIG1hcF9jcHVpZF90b19ub2RlKHUzMiBjcHVpZCwgc3RydWN0IGR0X2Rldmlj
ZV9ub2RlICpjcHVfbm9kZSk7DQo+ID4gK3ZvaWQgZHRfaW5pdF9jcHVfdG9wb2xvZ3kodm9pZCk7
DQo+ID4gKw0KPiA+ICsjZWxpZiBDT05GSUdfREVWSUNFX1RSRUVfUEFSU0UNCj4gPiArDQo+ID4g
K3N0YXRpYyBpbmxpbmUgdm9pZCBtYXBfY3B1aWRfdG9fbm9kZSh1MzIgY3B1aWQsIHN0cnVjdCBk
dF9kZXZpY2Vfbm9kZQ0KPiAqY3B1X25vZGUpIHt9DQo+IA0KPiBObyBuZXcgdXNlcyBvZiB1MzIg
cGxlYXNlLiBBcyB0byB1c2Ugb2YgZml4ZWQtd2lkdGggdHlwZSwgcGxlYXNlIHNlZQ0KPiAuL0NP
RElOR19TVFlMRS4NCg0KT2ssIEkgd2lsbCB1c2UgdW5zaWduZWQgaW50IGluc3RlYWQuDQoNClRo
YW5rIHlvdSwNCkhpcm9rYXp1IFRha2FoYXNoaS4NCg==


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 10:12:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 10:12:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326034.1591455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUia9-0006Z9-20; Wed, 03 Jun 2026 10:12:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326034.1591455; Wed, 03 Jun 2026 10:12:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUia8-0006Z2-Vg; Wed, 03 Jun 2026 10:12:16 +0000
Received: by outflank-mailman (input) for mailman id 1326034;
 Wed, 03 Jun 2026 10:02:33 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kas@kernel.org>) id 1wUiQj-00055D-A7
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 10:02:33 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUiQi-00BMQ4-H8
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 12:02:32 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kas@kernel.org>)
 id 6a1ffbb4-2eae-0a2a0a5409dd-0a2a450a9976-16
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 12:02:32 +0200
Received: from [172.234.252.31] (helo=sea.source.kernel.org)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <kas@kernel.org>)
 id 6a1ffbb6-56b3-0a2a450a0019-aceafc1fbbc0-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 12:02:31 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by sea.source.kernel.org (Postfix) with ESMTP id F002540700;
 Wed,  3 Jun 2026 10:02:29 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E8BB81F00898;
 Wed,  3 Jun 2026 10:02:28 +0000 (UTC)
Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45])
 by mailfauth.phl.internal (Postfix) with ESMTP id 1B503F4007E;
 Wed,  3 Jun 2026 06:02:28 -0400 (EDT)
Received: from phl-frontend-03 ([10.202.2.162])
 by phl-compute-05.internal (MEProxy); Wed, 03 Jun 2026 06:02:28 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 3 Jun 2026 06:02:25 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:From:To:Cc:Subject:References:In-Reply-To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780480949;
	bh=V8fVwdI7wxnksQVE14DY2HWli3Oy9+kR4dG/B9JF5Y8=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To;
	b=heqiJfYNfvCVfeDdF07xE4qHhG7Ix22oFDFTYVM3WDBZVFjjq7MdBm7RxPXb2NQ3h
	 wlPm/fq9mnt4GRJr7WluzoMlgjC2Kl3T10enIwOHJ1XpcPMo83xxJet1qDAoJ1C1JD
	 5XKUMVwQ6K/HPE0uhrHFM3U4IWwd0Tbk3NwNrZWaS8txhD7kZTaMg6w+5lvM8K01uY
	 //OoJ4TLPg+551ngLS3gx286ROaDNVBuWuY8QWxE7kMKzW/dfnSG/n5UV6niq98AxV
	 toH0afbm7Bb1/0qnLaXL2Xfmx4yRd7FHvPV5vtqCusZI3PhWlaVNLDGaeRYlkK2oBf
	 9MHHVXSJAHBKQ==
X-ME-Sender: <xms:tPsfauhaxGVEUgsvlHEIwecFN-9ZEF71setn4TDGW-FCZRyQ0LUDyA>
    <xme:tPsfamdy_fjRoYDOeR8cmy-cPfUgoaO8mBFumrmZMVa1jqXBPwZUvuLW59ggNGPh6
    y6Fg25GDh1rZ4Nor5r3OQmW7R6jePR7YEy-XB3OaBYhUGAYnBP5RIw>
X-ME-Received: <xmr:tPsfajmUqQ7cLJ253fvAZjjjhxIAhgwirNcqfwrQkow3MYEGcKhn-5N2p_izhw>
X-ME-Proxy-Cause: dmFkZTGuwFznDiQhelvFQOBp2/9r9H4fxoNNaEmxB6iOaHyiMwffQUPfC1FAZMpbzqIqkk
    CN9TCgwxMINXJSdtTnBkzIXOc6K717wq9QjeaoGXRWKTpKm0u+QpWfmKKW9HN3pL/A1+6p
    92lcvawl98fM5nvrzMFAJ0zCHVpCTPUX+0fcWGBVn0sUJNaILiDyF6WAR5GTLaYBf9LtF9
    HeIJf/jM6FJN5c4MVjb/Nm52s7djeDzHoqhhvyRfCScg4aR0UhUORBt/S3XR36+WsGhT7P
    bVueHPke7HzKjPxs+Lmcr4uF/2Rif/nWiVWI2Sn/X2KEDbfEm3ZjS1qdm+5tHCszTtFFts
    /VzzRZabQfVduEReAlUgkBJ79Z4LSt1cBS+rSnnFi9jDTiczC1H87ZS7qLCKADqoqzrmR4
    mGIz8sa4eqINRsLod/oLKxieYbrnEsfQXN/59nPX9ObnVXbRESfnOCNA6fc+BZp0oeNprP
    PvGGkzDmtovVRJkI3ywAfrhFpNJvUXD0fDzsSJPA0RLCqMYGu9iLwI5MlFSpJg7a/5udeS
    lJZWm/zw2dGecCf6mp/nhd1OdYPK7oDQIXbomfj0Bb9MYjyFb44nJOTTHxAkkFlEu1IJB4
    mvQH42vq4f+lwAhvj17/Vsi6xt4tXviwqxjQO+AmX3bH/ZlUDX8iOWPxS9lA
X-ME-Proxy: <xmx:tPsfaixl8twHiScZRF0l3aPUkADDTTORVWaND_noCCfDud9HhsTR5Q>
    <xmx:tPsfalcLZ32BWK_NdqC_-FR1DBldNJTO6IRNGnlVk2pTTVI454R5Rg>
    <xmx:tPsfajhekMHXMQ6qYg0RgZ4pegrE87GtuiN4Aa5Q13qUrGdoLAXSdw>
    <xmx:tPsfap-OinTX938zNS5LgCJfS2x6J85u1U-3v3h3dj98T7oCnvJ1vg>
    <xmx:tPsfapa94FWneQTrYxrkNAOdSEUGyY-WiNNfJ2K6qxxwDuEUGbG_4uoT>
Feedback-ID: i10464835:Fastmail
Date: Wed, 3 Jun 2026 11:02:19 +0100
From: Kiryl Shutsemau <kas@kernel.org>
To: Sean Christopherson <seanjc@google.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>, Thomas Gleixner <tglx@kernel.org>,
 	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
 "K. Y. Srinivasan" <kys@microsoft.com>,
 	Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>,
 Dexuan Cui <decui@microsoft.com>, 	Long Li <longli@microsoft.com>,
 Ajay Kaher <ajay.kaher@broadcom.com>,
 	Alexey Makhalov <alexey.makhalov@broadcom.com>,
 Jan Kiszka <jan.kiszka@siemens.com>, 	Andy Lutomirski <luto@kernel.org>,
 Peter Zijlstra <peterz@infradead.org>, 	Juergen Gross <jgross@suse.com>,
 Daniel Lezcano <daniel.lezcano@kernel.org>,
 	John Stultz <jstultz@google.com>, "H. Peter Anvin" <hpa@zytor.com>,
 	Rick Edgecombe <rick.p.edgecombe@intel.com>,
 Vitaly Kuznetsov <vkuznets@redhat.com>,
 	Broadcom internal kernel review list
 <bcm-kernel-feedback-list@broadcom.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 	Stephen Boyd <sboyd@kernel.org>, kvm@vger.kernel.org,
 linux-kernel@vger.kernel.org, 	linux-coco@lists.linux.dev,
 linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
 	xen-devel@lists.xenproject.org, David Woodhouse <dwmw@amazon.co.uk>,
 	Tom Lendacky <thomas.lendacky@amd.com>,
 Nikunj A Dadhania <nikunj@amd.com>,
 	David Woodhouse <dwmw2@infradead.org>,
 Michael Kelley <mhklinux@outlook.com>,
 	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH v4 07/47] x86/tdx: Force TSC frequency with CPUID-based
 info provided by the TDX-Module
Message-ID: <ah_7jEMnqs80gXLG@thinkstation>
References: <20260529144435.704127-1-seanjc@google.com>
 <20260529144435.704127-8-seanjc@google.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260529144435.704127-8-seanjc@google.com>
X-purgate-ID: tlsNG-4011c0/1780480952-7CC7A8B7-7CFA4D75/0/0
X-purgate-type: clean
X-purgate-size: 1975

On Fri, May 29, 2026 at 07:43:54AM -0700, Sean Christopherson wrote:
> When running as a TDX guest, explicitly set the TSC frequency to a known
> value, using CPUID-based information, instead of potentially relying on a
> hypervisor-controlled PV routine.  For TDX guests, CPUID.0x15 is always
> emulated by the TDX-Module, i.e. the information from CPUID is more
> trustworthy than the information provided by the hypervisor.

Right. EBX is configurable by TD_PARAMS.TSC_FREQUENCY at TD build. The
rest is fixed.

> To maintain backwards compatibility with TDX guest kernels that use native
> calibration, and because it's the least awful option, retain
> native_calibrate_tsc()'s stuffing of the local APIC bus period using the
> core crystal frequency.  While it's entirely possible for the hypervisor
> to emulate the APIC timer at a different frequency than the core crystal
> frequency, the commonly accepted interpretation of Intel's SDM is that APIC
> timer runs at the core crystal frequency when that latter is enumerated via
> CPUID:
> 
>   The APIC timer frequency will be the processorâ€™s bus clock or core
>   crystal clock frequency (when TSC/core crystal clock ratio is enumerated
>   in CPUID leaf 0x15).
> 
> If the hypervisor is malicious and deliberately runs the APIC timer at the
> wrong frequency, nothing would stop the hypervisor from modifying the
> frequency at any time, i.e. attempting to manually calibrate the frequency
> out of paranoia would be futile.

Agreed.

> Deliberately leave CPU frequency calibration as is, since the TDX-Module
> doesn't provide any guarantees with respect to CPUID.0x16.

It is fixed to zeros. Sounds like a guarantee to me :P

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

Looks sane to me. Including your reasoning about tsc_early_khz= in reply
to Sashiko.

Reviewed-by: Kiryl Shutsemau (Meta) <kas@kernel.org>

-- 
  Kiryl Shutsemau / Kirill A. Shutemov


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 10:16:54 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 10:16:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326050.1591465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUiea-00075A-Ie; Wed, 03 Jun 2026 10:16:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326050.1591465; Wed, 03 Jun 2026 10:16: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 1wUiea-000753-Fh; Wed, 03 Jun 2026 10:16:52 +0000
Received: by outflank-mailman (input) for mailman id 1326050;
 Wed, 03 Jun 2026 10:16:51 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wUieZ-00074x-RF
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 10:16:51 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUieZ-002kAk-4F
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 12:16:51 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a1fff0a-2eae-0a2a0a5409dd-0a2a4508b090-38
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 12:16:51 +0200
Received: from [74.125.224.49] (helo=mail-yx1-f49.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a1fff12-63b5-0a2a45080019-4a7de031d8e9-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 12:16:50 +0200
Received: by mail-yx1-f49.google.com with SMTP id
 956f58d0204a3-66058b880e9so5041771d50.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 03:16: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780481809; cv=none;
        d=google.com; s=arc-20240605;
        b=fp68ScXXeJVLHVufjOa5zIJm72nzBXN6j/4lRLq+jBTDKN/fbRqGLucaNOUj8SLnbv
         am3qh1aEWYDUgR2P7rIn+PwQCjaPWFD1gD2PWUS//th7a6sAmZea7Gcqwuw1kIyfcYxx
         XDn7i6HNajuX4UsKmPRllZD7ONy0Kh6IBiLdyt0BI5XMiBzuuMGv+GO+KQ4nbWrZjvma
         +xJiezqeqKNxpVB0FZymccPMV33IewmrK6XbAbrIVpslRsW5cT+Olwm0gtBL6sLQ+LHG
         2hrS3E03mOK+YKPHC49UIRb2mCxT/hjjxUXL6Q8k+dZHd+o5PP+ZKU362wPpVd5piTrO
         JZdA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature;
        bh=qPPsAuWkEsVt8zn//IOlR2zwGNNKDkbBvGgmciDAiiI=;
        fh=pmfIAu1zZ/y4MK+Ok8pH+KJi8l1vy8Cep5fL3L/xSOQ=;
        b=gYy1UaYIFl3mhnk8c35e/Caf/pbEVTYDmOUuuCt0Ho/zVT+O/DDw++eNdQSQDWH3Se
         CxL6p1i4KMubr2Er33jLikWPnt3jH/ZQ36K9sDRV6diVI4Na1RkC0q7epDIYOVg61nwJ
         P8mYFi57kyqDuwHHoZkcGn1FwuPgkIw2bnHr36uWgb02gP6yGErmY9WwCWDYL///0gAr
         rnuj/Ois9LIRu8O2UmZoekJVxQggnIgRO+ccKt7IYISUGuxQsBk1iJCHfIhCeWcmJE/5
         WrZ69cMYtbuCAw/2Km7D5P2Q1pm37unsDNu5drRraFdfPtxgDjpQqsaQ7dXE9UBxmWMY
         v4pg==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780481809; x=1781086609; 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=qPPsAuWkEsVt8zn//IOlR2zwGNNKDkbBvGgmciDAiiI=;
        b=Luju+rIIWgVqqHBL5MT0M3/7FMUFttBP+w9vfCLntW1KvUetUkLBYP2Ehs6oKC2Gl7
         4KrNafLtdtexTF2wTiKxfYg54N2/2xNZHuqXXW3isnRQF3V+CRJGXWwvweq8y2CUQsxQ
         jz/FEQaWBcts/z3Ydyu7R6shxm6JT007sAARu2S1e+yxKbzMtzH4lS/qQQZV/Dw7OJZP
         dVi3wBIAslZ+oAh8hUeW4T3Uggea3rjK0mphU2XJ2F4LBz0CNPpdLLbzvOmnO1O2YGNc
         bdroq2piXZHAZXZaJ7LT0iWDodeBkH3O+kHnwH8wHy2IyjLIpg0Z3YPtbQGHE4+BVpnN
         npQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780481809; x=1781086609;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qPPsAuWkEsVt8zn//IOlR2zwGNNKDkbBvGgmciDAiiI=;
        b=IGp/icCqBPUbtZlzliAzGV2omyuixiGqc1Dps0dnWKj0+LXI/y9iOdh7qr9z9IEM/P
         fol2yZm+z/u9sIpSozlsr6x7WtUl/qt5dlEc1Q1JZMAy4gDlk4A3SOyc/l8Q3VCjEqSF
         JF+/r2Pf2pxZwuctwuAN4WbHxvEbPIGGdLyWT9kUSHq0JaRpu7mAEnI1j6aYzz5MzXaY
         46cxTzS9HHnJuRq7PXbsXW+71ENyJVdNwDaON+8H9Yi5/waD4383/Ycwi7hzEqYKmtMu
         YvpsyFyAbw2ULwx/lBjBmxAHYRi9935eNK00GWeJZaMS+IP4xejp2dY6veeDYICKCApA
         /+tQ==
X-Gm-Message-State: AOJu0Yy06xYX3sNb+EU0PrjyN8DqaI/Q5Pyziby9SPmd+T4jUJpPLUKd
	hboH4kmoWKhNVXB18IoJtLMX2FgDO8HNteUre05i8n5F9TPwlXTqIWOO3vS28VqxM9ADfWpExre
	RKoy2qiWXXCua24UN5sLA6nlJ9L33jFI=
X-Gm-Gg: Acq92OF9sZ+6p1W5a+8HvGAVjwZP+y+q+bAnjZEVpBZ4YSEswJnY03pzoaB37gl88EP
	CN41LN8c/BqGa0EXKZ6DfXRx4GwehDEX9HQcpYOEkdtFHwtcf5lyz5oJtfchyv3oew3ToggjWO+
	hmK5Ta9EQYNjHrNMq/YFSUT0Zha5yKmadshcDe7dSU8ZV77D09/zJM33XruVe05k7bKDyhYURHt
	UxGobQRy7g08Z1sg+RIb++W+rH7zZvRDKM1bwKtGHFpC5M3cSMvyfmpRg1oqgEpQUnNkvn+ofDG
	U6ADiUoiMzNfqqaBIIFTCnuoNfFP6Y/J1JjzG6b0eM6izmtL/LYRn79bPE8=
X-Received: by 2002:a05:690e:c4f:b0:659:3b0d:e280 with SMTP id
 956f58d0204a3-660dbe1f4bcmr2349947d50.8.1780481809540; Wed, 03 Jun 2026
 03:16:49 -0700 (PDT)
MIME-Version: 1.0
References: <20260526094324.12286-1-frediano.ziglio@cloud.com>
 <20260526094324.12286-2-frediano.ziglio@cloud.com> <d8c488a3-c29a-4afd-869e-fff8d1d2d370@citrix.com>
In-Reply-To: <d8c488a3-c29a-4afd-869e-fff8d1d2d370@citrix.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Wed, 3 Jun 2026 11:16:38 +0100
X-Gm-Features: AVHnY4LyH8UIejyTvyq_XMcFP7YYkv4nwLlygLR2zshwUauBhSP55XWXU6Tq2gU
Message-ID: <CAHt6W4eaFnuySnJzbNbmOgss3jdOevjsEZRKMw9V5fsiqO0CRA@mail.gmail.com>
Subject: Re: [PATCH v3 1/9] libs/guest: Reduce number of parts in write_split_record
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, 
	Frediano Ziglio <frediano.ziglio@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, Anthony PERARD <anthony.perard@vates.tech>, 
	Juergen Gross <jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"
X-purgate-ID: tlsNG-c1860d/1780481811-BCD63DB1-88CEFFE3/0/0
X-purgate-type: clean
X-purgate-size: 1035

On Tue, 2 Jun 2026 at 12:50, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>
> On 26/05/2026 10:43 am, Frediano Ziglio wrote:
> > From: Frediano Ziglio <frediano.ziglio@citrix.com>
> >
> > Small optimization.
> > There's no much sense to split the header in 2 pieces, it will
> > just take more time and space to reassemble them in the final
> > buffer.
>
> This part is fine.
>
> > This also avoids truncating combined_length to 32 bit in case of
> > 64 bit machines potentially avoiding following record_length check.
> > The function become more coherent with following read_record
> > function.
>
> This isn't.  The truncation just happens in a different place now, when
> constructing rhdr.  The length is strictly 32 bits.
>

Yes, there's still the truncation but the below check

    if ( record_length > REC_LENGTH_MAX )

is now catching it.

> I'd just drop this paragraph.  The largest record is marginally over 4M,
> and callers won't be passing in anything larger.
>
> ~Andrew

Frediano


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 11:06:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 11:06:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326075.1591511 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUjQ2-0006Qk-B1; Wed, 03 Jun 2026 11:05:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326075.1591511; Wed, 03 Jun 2026 11:05: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 1wUjQ2-0006Qd-7L; Wed, 03 Jun 2026 11:05:54 +0000
Received: by outflank-mailman (input) for mailman id 1326075;
 Wed, 03 Jun 2026 11:05:53 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUjQ1-0006QX-4w
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 11:05:53 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUjQ0-002uaB-Gi
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:05:52 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a200a80-2eae-0a2a0a5409dd-0a2a4506dc7c-40
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 13:05:52 +0200
Received: from [209.85.218.48] (helo=mail-ej1-f48.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a200a90-7371-0a2a45060019-d155da30ed09-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 13:05:52 +0200
Received: by mail-ej1-f48.google.com with SMTP id
 a640c23a62f3a-bebc80100efso435920766b.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 04:05:52 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bf05177150esm138263366b.5.2026.06.03.04.05.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 04:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780484752; x=1781089552; 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=UMdI3bYpU2UgEjqcPpjyLwh/Ov8SPA6RgXdoSNMhAGE=;
        b=EKBYIZIvwlFryl+HnRrXnIdlmXIhzDIi7N93pVE+BfoiZFkX9Sg4wft/xrBEX53kpB
         rR0EKXH6udjygcYGOW8zL14Tb1YdiaClNTY0QO34vyt25lcUbhuT8Jr02DwjUuZN5uhn
         K3tstUu752gmX7M6TRnAgn2pXBebcvtWyXNtV0YZzQZttusd1Bj45rh1Q2D6b8wq97Zw
         PQCxabnePurxhcO0jsdYp+gFXCOdmaJQFsuZwwcNtySNACOxC0jBuZ/Ixy4SI4hjC/LZ
         B5Zt/NvhMiUDMbspJmJTtqJGCgrV2I2y9R+ROD22V5prmTkurG7BAzE3Z1g9cPx2gF0l
         YBgg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780484752; x=1781089552;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=UMdI3bYpU2UgEjqcPpjyLwh/Ov8SPA6RgXdoSNMhAGE=;
        b=kp6VbK12HSwHqk6ssNRV0sQey+wDAuhBGNREpfhB9BW+B3gjEjSTJgZf6iMwHXlDaN
         oG+eCYf5YvqhbY58nGXkp6LKg/9dNQ580RE9bjSTLsLlZWsW1dFqXUYT8Yj5RIXSiHOS
         TmDf0R7ELoQU5j/kEvdsTNDd4dh+87z8Gr2YdYwuMlP4VqNJ52pWfLz2HQtyb72nnhnz
         8xkkvt2GAugWFkF75wg+pl3XxJDTk118HDLE0wrDejgIchJptpC9eV3EZymq+E+wMvn8
         +Unk5604hQFIC60tENXwIcA1HUDqaXrIc05Ez98sos0WyXJ5dyCAW8jzUtnAYg0aFvKw
         vLEg==
X-Forwarded-Encrypted: i=1; AFNElJ8Wn4v3dRVnbinAAPIciNH2kukxI5shW5qB4XYsGFx/0Yb08WpnOT2gVFTWeNgaH5tmBdf3jtJ4LvQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzIttgLuFv9nMdehbr0CnE9v4gH7d4eX7Sa3i5D5sxaAoiCjYLT
	JigXH00dq5ZrAxv+aY5/au4P1EPkt9Ail+Ow5slKucScuBFNKQlFsIpPdgRqAA==
X-Gm-Gg: Acq92OFloF773J65S6OjwXfpFo7hxHqhpo/0yVBydLZQoIEWNzKZKND3t+6RBVH8qj6
	Rp/BJNx4uxerb+OlWvZPhKWuV8XdVrZIZGj+eyRpvlkxQdOJYx3PP9dcYWo2pa1AyVs2/1AqBwG
	o+Aoh/rUeysaYyou3KeV6jUeIc6zxnG7LyNUzHm+9CG2slTnoXxE3XOjVZCEKhH5Fyti0VKDxVi
	fDnhsTYZ4vTl+mDfOlHpKO2tSTAiX2fEWBE66qz690r+TZX6ZW7IftKtStror1IkKzcrznJaswb
	i9ItpY8u9Rrbydpjrft+OA6ZLvkwHZX2p5qRVofoMp0weZ+Aie8zTRCde02WQZBczi7BYZS6Z3o
	Z8LhMaRplM0MjqsQRB8ef2DmvDG5lzFKE9/olM6lxq0z7NDwVwM4LlIo7cB85BeaXFEp9cFZd4s
	NcNfDYmQGaWyC0pT/B2yqSC0meqbXePSqFWLUTcGElnDZzcHOzRRrU1zlvpo83nbzyetagsqRJ0
	cCTSHfoRFzP84ln
X-Received: by 2002:a17:907:2da5:b0:bef:5cbd:60aa with SMTP id a640c23a62f3a-bf0ae70abdbmr124355666b.32.1780484751697;
        Wed, 03 Jun 2026 04:05:51 -0700 (PDT)
Message-ID: <9ae22210-6dd5-43e3-918e-f68b1294448d@gmail.com>
Date: Wed, 3 Jun 2026 13:05:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] xen/domain: fix UBSAN null pointer dereference of
 d->shared_info
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: <cover.1779712171.git.oleksii.kurochko@gmail.com>
 <04dd784b6b9a4dfca9a313ea8802d8d514d65021.1779712171.git.oleksii.kurochko@gmail.com>
 <3aef7763-aea3-496a-8c18-d3659f590373@suse.com>
 <fb1b1194-5855-49d9-99fc-d35a3038833c@gmail.com>
 <3eb9ab3d-dc4d-4019-89c8-9f7dbdc528cd@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <3eb9ab3d-dc4d-4019-89c8-9f7dbdc528cd@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1780484752-8C47CD75-1D01AF6E/10/73395122804
X-purgate-type: spam
X-purgate-size: 2813



On 6/3/26 7:54 AM, Jan Beulich wrote:
>> --- a/xen/common/event_fifo.c
>> +++ b/xen/common/event_fifo.c
>> @@ -562,9 +562,10 @@ static void setup_ports(struct domain *d, unsigned
>> int prev_evtchns)
>>
>>            evtchn = evtchn_from_port(d, port);
>>
>> -        if ( d->shared_info &&
>> -             guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>> +#ifdef CONFIG_HAS_SHARED_INFO
>> +        if ( guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>>                evtchn->pending = true;
>> +#endif
> While as per above shared_info() would best not exist when !HAS_SHARED_INFO
> (in which case #ifdef may be unavoidable here), an alternative where
> IS_ENABLED() could be used here may want at least considering. E.g.
> causing a link-time failure when shared_info() is used (and not compiled
> out).

We still want here to have #ifdef instead of IS_ENABLED() as 
shared_info() shouldn't exist for arch without 2L support so it will end 
with linkage error. Considering that setup_ports() will be called for 
such arch we have to avoid this part from compilation.

Alternative is that considering that I suggested in prev emails to 
introduced stubs for arch which doesn't use 2L:

+#ifndef CONFIG_HAS_SHARED_INFO
+static void cf_check evtchn_none_set_pending(
+    struct vcpu *v, struct evtchn *evtchn) {}
+static void cf_check evtchn_none_clear_pending(
+    struct domain *d, struct evtchn *evtchn) {}
+static void cf_check evtchn_none_unmask(
+    struct domain *d, struct evtchn *evtchn) {}
+static bool cf_check evtchn_none_is_pending(
+    const struct domain *d, const struct evtchn *evtchn) { return false; }
+static bool cf_check evtchn_none_is_masked(
+    const struct domain *d, const struct evtchn *evtchn) { return true; }
+static void cf_check evtchn_none_print_state(
+    struct domain *d, const struct evtchn *evtchn) {}
+
+static const struct evtchn_port_ops evtchn_port_ops_none = {
+    .set_pending   = evtchn_none_set_pending,
+    .clear_pending = evtchn_none_clear_pending,
+    .unmask        = evtchn_none_unmask,
+    .is_pending    = evtchn_none_is_pending,
+    .is_masked     = evtchn_none_is_masked,
+    .print_state   = evtchn_none_print_state,
+};
+
+static void evtchn_none_init(struct domain *d)
+{
+    d->evtchn_port_ops = &evtchn_port_ops_none;
+}
+#endif

For arch without 2L supports .is_pending() will return false we can just 
do the following instead of ifdef:

-#ifdef CONFIG_HAS_SHARED_INFO
-        if ( guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
-            evtchn->pending = true;
-#endif
+        if ( evtchn_is_pending(d, evtchn) )
+             evtchn->pending = true;

Would you be okay with this approach instead of ifdef?

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 11:19:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 11:19:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326083.1591519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUjco-0000AW-Dd; Wed, 03 Jun 2026 11:19:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326083.1591519; Wed, 03 Jun 2026 11:19: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 1wUjco-0000AP-7n; Wed, 03 Jun 2026 11:19:06 +0000
Received: by outflank-mailman (input) for mailman id 1326083;
 Wed, 03 Jun 2026 11:19:05 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <olekstysh@gmail.com>) id 1wUjcn-0000AC-0q
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 11:19:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUjcm-00BdFk-6m
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:19:04 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <olekstysh@gmail.com>)
 id 6a200d93-2eae-0a2a0a5409dd-0a2a4506b6d6-48
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 13:19:04 +0200
Received: from [209.85.221.50] (helo=mail-wr1-f50.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <olekstysh@gmail.com>)
 id 6a200da7-7371-0a2a45060019-d155dd32b5ab-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 13:19:04 +0200
Received: by mail-wr1-f50.google.com with SMTP id
 ffacd0b85a97d-46019edc13dso987854f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 04:19:04 -0700 (PDT)
Received: from [192.168.0.112] ([91.123.151.42])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f35fb24sm7271390f8f.34.2026.06.03.04.19.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 04:19: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780485543; x=1781090343; 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=LckAMRVgTPWOP0T/18ZXjsfLcefJdIk9KFGROLLEny0=;
        b=CLvLqrQ5uZm9YB/6x4gURAHy1LFomqmXpPYD+19LgsMypZn7qrJhV674OLh2plqprr
         +zXc1MOgn/6bCpRzrQzU3wPixQH8bhedSutEkjuSSocfqOSGVFErbm2e0mUoH/vhUYPn
         ZLR12sTDy1ImFYQpj7A0UjE5DHbFY8MDPn10Sto134Td5qxFLHCilOEQxVo4lssyE8Oq
         h2cvUiYouv3f05MtXDcl3WEW8bHfz0IaMevDk8+SNBNBeLLXQHc8vGWfcs0iZ90xVmj/
         ecjuS7GkwrBHTSglPXiO0bqje3TrYk2NzUVTZqrh0fnWLsggEaImH7ZfCQPAanAeZk/r
         zoVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780485543; x=1781090343;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=LckAMRVgTPWOP0T/18ZXjsfLcefJdIk9KFGROLLEny0=;
        b=jKUzEeCdZqvi+lF4DO4jdha7LihOfTR03Rv9rOBlw8KpigZs+Jkunc/ltGXlH/O/OK
         +pVRURMpfHjWZ1ymVcEn16yLBQPr762KTmbdi58L9s3Xk8idutqSbwHxzSbK3LIgxrgI
         kdZMJ8e5+myZot2zi3wmlsuB1WBWmemghp5kA1j1iaOJubHIF0liJ71TKQ8dswYJdwd/
         RhkFCJnU1oQmj8y1U2YeKMeZliJKCQQo5nlxrm1DnxRIH3LTPcSiqb/lCv1B4ZRl2dIt
         DywNP7mTSpM/uX8Anm0BjUThf5887I00Spw/XtlLZ5D2+R5qM5eKupOcnOURnh5h8JG2
         T5UA==
X-Forwarded-Encrypted: i=1; AFNElJ9TiQCsQB6O1RxnLEJ7hDJ1gKAfUEw3LYBkVqLrVhKiTiPWq2djuK5OjpNF2JgRpqDsw57tXgfHN9g=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyigLdiCfs1xsgqx19X+NjhtqmmAPOQG1ekPlFWc5PbBV9RBIZn
	cQ622BUcx+rPFuTRTl57vxZhyqDs6gmJcqR/zcXbX03BVqqa3EfwppEK
X-Gm-Gg: Acq92OH0M3JbHjlsF5o0x52JhFOvuFbK6zMAxydkTdP7EL3NJyaApHM7VFAryqBUplp
	o0bxyRgr+E0yEPdSX2YSilCb8ZRlyzvI9uNPiCuJQkcUUr2zZeWjvCzoFyOrF1jcBtIA7qupyW7
	nY6NpnTcQTTseU46kzqxH2dTVDjWy+KoZLwCj7r1EIRXV/yb/BX8T/gwhT+99yMc7b072wlU6x8
	hMO7XaapGd+GWXfB8TP9c5n9cgZtv5Q3UwYU6VWyWYLiM1pNW70I74buYQ0SYhxKolVpwmGdTw/
	bbzQrpP5sWWoCZQ7pakln/h9b99UDId2ySYSOTIXL1htMaKDLelj71yBZ6KcpO4a2+70c3X4FMC
	JgfOhV234auPHkRpbwLNxJ7iwQc7M/SsYmbOI/YSo5Vq85cjoVGhzBFeWIJFv8CzxqR2IJvIszT
	PMsXCDLKnzwlp4myTWft/ghuQQOVUYPzdpGo72F8dP5OLo3hI=
X-Received: by 2002:a05:6000:46da:b0:44a:247e:67b1 with SMTP id ffacd0b85a97d-460216bdebemr2950213f8f.5.1780485543375;
        Wed, 03 Jun 2026 04:19:03 -0700 (PDT)
Message-ID: <a2f1164d-ade6-4355-95da-f8c246613e9f@gmail.com>
Date: Wed, 3 Jun 2026 14:19:01 +0300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v2 1/4] xen/arm: gic: defer host LPI allocation
 until after ITS init
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>,
 Luca Fancellu <luca.fancellu@arm.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <cover.1779922874.git.mykola_kvach@epam.com>
 <112419d3ea48ca328849c8f6647909d3eb667b40.1779922874.git.mykola_kvach@epam.com>
Content-Language: en-US
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
In-Reply-To: <112419d3ea48ca328849c8f6647909d3eb667b40.1779922874.git.mykola_kvach@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1780485544-8D785D75-950D0D53/0/0
X-purgate-type: clean
X-purgate-size: 4094



On 5/28/26 03:25, Mykola Kvach wrote:

Hello Mykola

> From: Mykola Kvach <mykola_kvach@epam.com>
> 
> gicv3_lpi_init_host_lpis() allocates host LPI state, including the
> host LPI lookup table, CPU notifier state and the boot CPU pending table.
> Those allocations use gicv3_its_get_memflags().
> 
> ITS workarounds are discovered from gicv3_its_init(), so allocating host
> LPI state from gicv3_dist_init() can happen before the memory restrictions
> required by the ITS are known. On affected systems this can leave
> Redistributor LPI state allocated and programmed with the default memory
> policy.
> 
> Move host LPI initialization after gicv3_its_init(), and only run it when
> a host ITS was found. The old call ignored the return value. Now that the
> call is made from gicv3_init(), check it and panic on failure because
> Redistributor LPI initialization relies on that state being available.
> 
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> ---
> Changes in v2:
> - Replace the v1 ITS pre-initialization hook with the less invasive
>    approach suggested during review: move the existing host LPI
>    initialization after gicv3_its_init().


Just for the context: The original review suggestion [1] was to consider 
splitting gicv3_lpi_init_host_lpis() and defer only the portions that 
depend on ITS quirks being known, specifically the allocation of the 
per-CPU pending table for the boot CPU (gicv3_lpi_allocate_pendtable), 
which is the actual consumer of gicv3_its_get_memflags(). But here, the 
whole gicv3_lpi_init_host_lpis() is moved, so the scope of the deferral 
is broader.

[1] 
https://patchew.org/Xen/cover.1774431310.git.mykola._5Fkvach@epam.com/a7732487959e777ff1de318cb28c588db69fbaa1.1774431311.git.mykola._5Fkvach@epam.com/

> - Check gicv3_lpi_init_host_lpis() and panic on failure, matching the fatal
>    nature of host LPI setup once ITS initialization succeeded.

So, this patch appears to fix two distinct issues:

- ordering issue (LPI init occurring before ITS quirks are known)
- unchecked return value from gicv3_lpi_init_host_lpis()

Should these warrant Fixes: tag(s)?


> ---
>   xen/arch/arm/gic-v3.c | 14 +++++++++++---
>   1 file changed, 11 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
> index 17ff85ef5d..acdac22953 100644
> --- a/xen/arch/arm/gic-v3.c
> +++ b/xen/arch/arm/gic-v3.c
> @@ -764,9 +764,6 @@ static void __init gicv3_dist_init(void)
>       type = readl_relaxed(GICD + GICD_TYPER);
>       nr_lines = 32 * ((type & GICD_TYPE_LINES) + 1);
>   
> -    if ( type & GICD_TYPE_LPIS )
> -        gicv3_lpi_init_host_lpis(GICD_TYPE_ID_BITS(type));
> -
>       /* Only 1020 interrupts are supported */
>       nr_lines = min(1020U, nr_lines);
>       gicv3_info.nr_lines = nr_lines;
> @@ -1990,6 +1987,17 @@ static int __init gicv3_init(void)
>           res = gicv3_its_init();
>           if ( res )
>               panic("GICv3: ITS: initialization failed: %d\n", res);
> +
> +        /*
> +         * Host LPI allocation uses ITS-derived memory attributes, so defer it
> +         * until after gicv3_its_init() has discovered ITS workarounds.
> +         */
> +        if ( gicv3_its_host_has_its() )

This looks like a behaviour change. The condition is narrowed from "GICD 
advertises LPI support" to "host ITS is present". As a result, on a 
system where GICD_TYPE_LPIS is set but no ITS is present, LPI-specific 
variables and data structures will no longer be initialized or 
allocated. If I am not mistaken, software-generated LPIs without ITS 
involvement are currently unsupported, so this change might be safe. 
However, I think the commit message should explicitly document this 
behaviour change and explain why it is safe.


> +        {
> +            res = gicv3_lpi_init_host_lpis(intid_bits);
> +            if ( res )
> +                panic("GICv3: LPI initialization failed: %d\n", res);
> +        }
>       }
>   
>       res = gicv3_cpu_init();



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 11:23:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 11:23:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326091.1591528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUjgl-0002Tq-Id; Wed, 03 Jun 2026 11:23:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326091.1591528; Wed, 03 Jun 2026 11: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 1wUjgl-0002Tj-9l; Wed, 03 Jun 2026 11:23:11 +0000
Received: by outflank-mailman (input) for mailman id 1326091;
 Wed, 03 Jun 2026 11:23:10 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUjgk-0002TY-9I
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 11:23:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUjgj-002ynR-Ki
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:23:09 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a200e9a-5cb7-0a2a0a5109dd-0a2a450baba4-14
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 13:23:09 +0200
Received: from [209.85.221.47] (helo=mail-wr1-f47.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a200e9d-212f-0a2a450b0019-d155dd2fdd72-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 13:23:09 +0200
Received: by mail-wr1-f47.google.com with SMTP id
 ffacd0b85a97d-45ef779c1c2so3474425f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 04:23: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-4601f2dc294sm10564442f8f.7.2026.06.03.04.23.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 04:23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780485789; x=1781090589; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=rZXiM/cRgHFLw1WO+ko+u3xv60vgIIrlBb1bP0Nw9xM=;
        b=H/pVU65SXULSVl2/JedZxXLAbEHxx4UYpZg/ZhFAPSvhg1vDDvKPJxGQ94ZxMI71Zm
         /y6sAlCk5Qs+lqprKqBvNjxA3hfaA16KqPzJPf5n+J1qwEWdaq/QIN+I1BcaonedOBqC
         s8Vm10LY7n/67PlnlEbZXKSGS/RIHAY+ZXC8GZUTxSk10v3hvVv130QK+s8cmVbdulSR
         e4r6fFMmkx7UB+KckOb/eor26v2Yu0dZsMjPh6fRuDOGIhRq3b7QWFtuogep40dr33tx
         I04XXZMDM00Qy+AcodrTNBvw7VCWhg8aD1t8R78tuNwZh3sh3btTlBD1XNhV6OgI7rFo
         xAhQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780485789; x=1781090589;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rZXiM/cRgHFLw1WO+ko+u3xv60vgIIrlBb1bP0Nw9xM=;
        b=faBWjSdJWyd25fofnNGugserG2aTC2UIp1L3oPxKP1D6TyDM5489JNHGXNlF0bhxoa
         ln7D2X/Mn4/rkxHqRbgQsJIn+ftI2PvfGgrA+A4mvv2fMsN0bYNwwn/46h7zfx62TTWt
         kJEZl8bOzoZecM2h6HPeclhUQj5TERNp35CqbYGlIFDO8hrzqIL0cc/Ams9n2+MmLdos
         L0halN6rzNVlSbtmt+xyUzkAVGtTy1N4j6Kmp22axULgtp2xUB/l+m6qKvdg6tHhzthn
         As2zM63v6EbfoRo6RGq86EiFtsgXHLbuEv6IcGSPbO4i0Hrq5Gq28Hjd56m1OkfWIwIO
         IiYw==
X-Forwarded-Encrypted: i=1; AFNElJ/nOHvlEVnYUDtajgAQYClRJ8MRMoyGPc6W7nQJF354YAgJl4SiVtV5YDdCAFsnMbwQvOmt+rMO7Tg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywfr7uStYHRR3YKDpPfPiHs0ZHkVtlMx+LcG6UDftYOsmzCRHtE
	FfCT4AxpFEcHQfjm8oZvFiU01jAo5Y9SSGU5cCnF5uSJjMPd/J+HXTkaQ1C1cDIYoA==
X-Gm-Gg: Acq92OFpDvaLsWfYb57lxt7+z/qhh1DCmZOjliyPyqRt/8DotVv0ikSnLbA947pNK1d
	xbjoEP9Kv1fo3KAzf/88dWaGiGEgs039OLQ99EiZdtkyKCuzV69pp4LtEydSxRMoglseZK1WNDp
	g30vRMMZCY4n7t+5MRHgiAHyIAq4SUGt5wv+KIpjrE6SACDyulujqlh3dVLV/wel5xz84OzVVcz
	UNHWwxFqxV3fOkeZOI4HFcJxCuPLwn9UsMSNG76D1woA5cBt16Vu11VaF3dBGXb1t0tDkQtwj5+
	QU8eDeXkKAyDmNEcj1tps37l5/FysmEemgOiObDhxfuhDVVsVxrdY3Rmr/0rGTl95AxjemW1Xcs
	zfMUj2JZ6gfDNdq8kIqO5eZEosbnhD/Z0nq4f0DRxF3OJbdiAqQrVyGL53hb0jnnM/iASKqwLUp
	y7DeWzo6+F63qrctIQfmjtEsCGevN7A+JS32KrCfUjQiBT5vYcVX2DeHR+bD6z9/VQ10PKxa0tW
	cqX80s0dRIyQFWL1eKdJlGYIw==
X-Received: by 2002:adf:f743:0:b0:460:1643:caf7 with SMTP id ffacd0b85a97d-46021849210mr2837122f8f.27.1780485788725;
        Wed, 03 Jun 2026 04:23:08 -0700 (PDT)
Message-ID: <dc622455-c20f-4b8a-8c80-1e4c0143e8e0@suse.com>
Date: Wed, 3 Jun 2026 13:23:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] xen/domain: fix UBSAN null pointer dereference of
 d->shared_info
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.1779712171.git.oleksii.kurochko@gmail.com>
 <04dd784b6b9a4dfca9a313ea8802d8d514d65021.1779712171.git.oleksii.kurochko@gmail.com>
 <3aef7763-aea3-496a-8c18-d3659f590373@suse.com>
 <fb1b1194-5855-49d9-99fc-d35a3038833c@gmail.com>
 <3eb9ab3d-dc4d-4019-89c8-9f7dbdc528cd@suse.com>
 <9ae22210-6dd5-43e3-918e-f68b1294448d@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: <9ae22210-6dd5-43e3-918e-f68b1294448d@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1780485789-19D6FF3B-FACBC668/0/0
X-purgate-type: clean
X-purgate-size: 3581

On 03.06.2026 13:05, Oleksii Kurochko wrote:
> 
> 
> On 6/3/26 7:54 AM, Jan Beulich wrote:
>>> --- a/xen/common/event_fifo.c
>>> +++ b/xen/common/event_fifo.c
>>> @@ -562,9 +562,10 @@ static void setup_ports(struct domain *d, unsigned
>>> int prev_evtchns)
>>>
>>>            evtchn = evtchn_from_port(d, port);
>>>
>>> -        if ( d->shared_info &&
>>> -             guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>>> +#ifdef CONFIG_HAS_SHARED_INFO
>>> +        if ( guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>>>                evtchn->pending = true;
>>> +#endif
>> While as per above shared_info() would best not exist when !HAS_SHARED_INFO
>> (in which case #ifdef may be unavoidable here), an alternative where
>> IS_ENABLED() could be used here may want at least considering. E.g.
>> causing a link-time failure when shared_info() is used (and not compiled
>> out).
> 
> We still want here to have #ifdef instead of IS_ENABLED() as 
> shared_info() shouldn't exist for arch without 2L support so it will end 
> with linkage error.

I don't understand this part.

> Considering that setup_ports() will be called for 
> such arch we have to avoid this part from compilation.
> 
> Alternative is that considering that I suggested in prev emails to 
> introduced stubs for arch which doesn't use 2L:
> 
> +#ifndef CONFIG_HAS_SHARED_INFO
> +static void cf_check evtchn_none_set_pending(
> +    struct vcpu *v, struct evtchn *evtchn) {}
> +static void cf_check evtchn_none_clear_pending(
> +    struct domain *d, struct evtchn *evtchn) {}
> +static void cf_check evtchn_none_unmask(
> +    struct domain *d, struct evtchn *evtchn) {}
> +static bool cf_check evtchn_none_is_pending(
> +    const struct domain *d, const struct evtchn *evtchn) { return false; }
> +static bool cf_check evtchn_none_is_masked(
> +    const struct domain *d, const struct evtchn *evtchn) { return true; }
> +static void cf_check evtchn_none_print_state(
> +    struct domain *d, const struct evtchn *evtchn) {}

This set can be shrunk. For example, the same stub can be used for
clear-pending and unmask. For is-pending and is-masked, considering
that the precise return value shouldn't matter, a single function
(returning false) would likely be good enough as well.

> +static const struct evtchn_port_ops evtchn_port_ops_none = {
> +    .set_pending   = evtchn_none_set_pending,
> +    .clear_pending = evtchn_none_clear_pending,
> +    .unmask        = evtchn_none_unmask,
> +    .is_pending    = evtchn_none_is_pending,
> +    .is_masked     = evtchn_none_is_masked,
> +    .print_state   = evtchn_none_print_state,
> +};
> +
> +static void evtchn_none_init(struct domain *d)
> +{
> +    d->evtchn_port_ops = &evtchn_port_ops_none;
> +}
> +#endif
> 
> For arch without 2L supports .is_pending() will return false we can just 
> do the following instead of ifdef:
> 
> -#ifdef CONFIG_HAS_SHARED_INFO
> -        if ( guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
> -            evtchn->pending = true;
> -#endif
> +        if ( evtchn_is_pending(d, evtchn) )
> +             evtchn->pending = true;
> 
> Would you be okay with this approach instead of ifdef?

I can't really say ahead of seeing the full result (and without it being
made clear why FIFO ops can't be put in place right away, with perhaps a
few small adjustments to the handlers). While this isn't going to be
used for x86, introduction of new cf_check functions always worries me,
at least some.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 11:25:56 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 11:25:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326100.1591537 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUjjL-0003Jp-Rw; Wed, 03 Jun 2026 11:25:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326100.1591537; Wed, 03 Jun 2026 11:25: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 1wUjjL-0003Ji-PF; Wed, 03 Jun 2026 11:25:51 +0000
Received: by outflank-mailman (input) for mailman id 1326100;
 Wed, 03 Jun 2026 11:25:50 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUjjK-0003Ja-LE
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 11:25:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUjjK-006vsp-1l
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:25:50 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a200f36-e002-0a2a0a5209dd-0a2a45048a16-16
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 13:25:49 +0200
Received: from [209.85.221.51] (helo=mail-wr1-f51.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a200f3d-1dec-0a2a45040019-d155dd33ede5-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 13:25:49 +0200
Received: by mail-wr1-f51.google.com with SMTP id
 ffacd0b85a97d-45eeba68948so4852470f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 04:25: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-4601f351d40sm6805355f8f.26.2026.06.03.04.25.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 04:25: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780485949; x=1781090749; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=moFCCAgYhjKweozD1SlfLOc+FWpGyfbnwGe3FzqlL6g=;
        b=RbOvwOOLepYnP/9E0VfTqoUe94G46yYVlAYA0giGddwukC5E5eqEx3Gmur3/OH7iaA
         6jLUZaHnFCKFhqJWLar+trXh5k08XuGZOnptaRq5TfVbybGGYUysJ/5wXYRfTkvOA/NM
         uLr4I2xKAqT5dvWWa/PvVSdnPew1gKzkkzQE/52g+oTm8lVl7nLiCOZP546XADm4K487
         2Qx83vH4OQMsRbksSzDsFYA4Y5z9fiVo1yTFxANo52D+ykJaUprkbXIEQgGCRHoXvY8x
         10/KCXV6SltndGk8geg1N6+zEKm7YlsDgxoUtIvITZV2CQ9Asb175NyaFPnyBT8OUq8J
         RXsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780485949; x=1781090749;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=moFCCAgYhjKweozD1SlfLOc+FWpGyfbnwGe3FzqlL6g=;
        b=rxC7EtBmQYbmx10GrsAVaZhYDyZ+adb1Dme4hwB3KaJYB/FA3F0Hw9oD5LcQ0MSCL+
         wUQ2Mh3gQkjwISELcYY/LDYwirDox+XyV9ZhE0pjw3KZHNbUWSwTs17Z4w5RR3tnU6x7
         9TtGXmFUegI20uw5LlOLkvMr7NIxm7LgnubCtshgT5hiq/VLNDw5Ke8xvK/Z4GpZmaw0
         jGCrCjDex2agrNI+fWrWqGvrbjtYy3PxQ/QK3rPEiJIO8186ImoWrolLFDV8sqVroU4U
         cvmzUoQPO1jTbEurn/PtY5EWafk+YcJGP/G1Drt4PgeFhEzjhK7wwpRUeCFbzHm1bW7Y
         498A==
X-Forwarded-Encrypted: i=1; AFNElJ9SWbMhCtS4+jZcHk6ZM2njdwNUnLWHL2EBNPomz/ZFnanLtZt+/vMbGPj+Zhws5l2fQBnXDrxOO5A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxjZgKPNdMxI2OZ+qE7mmBqoShpmv3fj98Bn4L/tSPJvkYHsJxS
	G4O+ixlZLsgBh0RM8c97m5ND8Bn3HDRH7hsWxABiVnNmfIZayCISx61aHEnW8ELi/Q==
X-Gm-Gg: Acq92OEsTPIGWU4OmYry/F7QcBtBfHOSV+AH9Cy3qsf3TXFoF43JUi+W9+p11k6hAzW
	H3jDERld/oEIZCK8lxgEH2Ks1aXIOmzoKzAn1IsVEJtGIWYq3cBf1euBMmqC0hVTnLmT3wk6Gh3
	BTKM6RRaYk64v5Mz+8IbSFsFSJk33r/jOygWt8x0wSdRZbtahfW1Es//uXnEMl8ULvKpXeN9luP
	FEz63dIsHjohisJBbUA3LGa+/H48+CBjinL1ksHzZZbD5t0Av4Y2esMqJ+nBmP3hOBrQFv1xoKk
	vE/RUACjYSn75EzKxXDMs+m+4YUuPTEntQd56r/sgyTko42jNkANc/i2xuR6Jal/A1oDxb7zoIb
	YfjpqAFdTBi2av0I6FCo38FFIuVAPB08l/1fKzlOJH+du2OwJG0vqK8wX7RiI+OAAYB2HWHm8jG
	KD3QTv++tr1HtyxpRD7UgxAtuyff7+HKgFs90tah/2ZrNjoorWpHqrRg+Bga/E3BcOiew2qkgx+
	o7/KW7OVT7hXNPwrKqgDnbDqGG7JW0P1+1I
X-Received: by 2002:a05:6000:18ab:b0:45e:a0ab:8bcb with SMTP id ffacd0b85a97d-460217de189mr4683743f8f.15.1780485949401;
        Wed, 03 Jun 2026 04:25:49 -0700 (PDT)
Message-ID: <2de402eb-fc62-44ec-bf2d-73db4afbc0f7@suse.com>
Date: Wed, 3 Jun 2026 13:25:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 07/24] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
To: Hirokazu Takahashi <taka@valinux.co.jp>
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" <xen-devel@lists.xenproject.org>
References: <20260531224755.9481-1-taka@valinux.co.jp>
 <20260531224755.9481-8-taka@valinux.co.jp>
 <7040c58f-2d4c-48f2-854f-c874efdcefbd@suse.com>
 <OS9P286MB72221F0A5D5195C7A4CAFD4082132@OS9P286MB7222.JPNP286.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: <OS9P286MB72221F0A5D5195C7A4CAFD4082132@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1780485949-2AF653FF-A240A9AB/0/0
X-purgate-type: clean
X-purgate-size: 1205

On 03.06.2026 11:59, Hirokazu Takahashi wrote:
>>> --- /dev/null
>>> +++ b/xen/include/xen/cpu-topology.h
>>> @@ -0,0 +1,42 @@
>>> +/* SPDX-License-Identifier: GPL-2.0-only */
>>> +
>>> +#ifndef XEN_CPU_TOPOLOGY_H
>>> +#define XEN_CPU_TOPOLOGY_H
>>> +
>>> +#include <xen/types.h>
>>> +#include <xen/device_tree.h>
>>> +
>>> +struct cpu_topology {
>>> +    int thread_id;
>>> +    int core_id;
>>> +    int cluster_id;
>>> +    int package_id;
>>
>> Can any of these go negative? If not, "unsigned int" please. Iirc I said the
>> same elsewhere on v1. Please apply such comments throughout the series.
> 
> These members can actually be '-1' to represent a missing entry when parsing the Device Tree's 
> 'cpu-map' node. 

Yet that sentinel doesn't need to be -1, does it? Any unsigned value greater or
equal to NR_CPUS will do, I suppose.

> Since I imported this directly from Linux kernel 7.0 (specifically from include/linux/arch_topology.h 
> and drivers/base/arch_topology.c), I would lean toward keeping them as 'int' to minimize 
> any divergence from the original Linux implementation. 

Linux is quite a bit more lax though with use of (appropriate) types.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 11:58:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 11:58:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326119.1591566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUkEU-0008Dz-85; Wed, 03 Jun 2026 11:58:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326119.1591566; Wed, 03 Jun 2026 11: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 1wUkEU-0008Ds-4P; Wed, 03 Jun 2026 11:58:02 +0000
Received: by outflank-mailman (input) for mailman id 1326119;
 Wed, 03 Jun 2026 11:58:00 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUkES-0008Dm-Gg
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 11:58:00 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUkER-003e51-SW
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:57:59 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2016c3-bab6-0a2a0a5309dd-0a2a450a9cd8-24
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 13:57:59 +0200
Received: from [209.85.218.53] (helo=mail-ej1-f53.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2016c7-56b3-0a2a450a0019-d155da35d5f6-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 13:57:59 +0200
Received: by mail-ej1-f53.google.com with SMTP id
 a640c23a62f3a-becfa735b9aso496569666b.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 04:57:59 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bf054e0280asm137406466b.33.2026.06.03.04.57.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 04:57: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780487879; x=1781092679; 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=xHT+gruSkt+wu/6Q4fjjILgFPyipx27zBwtoDDnDwfY=;
        b=aGKeSxecNwFGpTFZBKk1lDGC/64UcyXQvujGYxsvzeX3BaGQbddpbwWFkrebyejou3
         wfI8DcjSNsPNWVH3jyMmdaR+OCD1/q2nBBnwfJxWrx+jwNCNYDloAXQ8YZi7H4f82YGS
         mQcM+ay8MricQvqYFngEaOt3JTXC6UkRh51qs8mYqBHbevMsExyb84DLB9WgnCXQEJYH
         RxfXQBW1EapFH2ulRoIdCV8qwR4D6nKxJs0SVSexPYC0HaykWeAYIju9CDnlBInpdh+b
         9uruALDJA3mv5DFECWgIKwzb07GzwH0gjCdxfjq+o2QkgcCYGgbI3a16FCveqm8wnUKS
         /fWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780487879; x=1781092679;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=xHT+gruSkt+wu/6Q4fjjILgFPyipx27zBwtoDDnDwfY=;
        b=VRYccwC4jKy2luKj3pMAKQ8yoZb+A45G5BgM9LOi65TAypu/GJeRuSdlhxzFEcDofT
         4iCwEN6gUm1PWFoGaPlyAreX7vHjpJfKFLzbpOPKqwPAF3iFiQmP3PbF+6GVk9lQJ3P5
         NkjQNy1fYQc0pxgRbzWt/1Be6NhtSlAQR4iia+LuegH5NQ3DEKL1obUMDkvPflrxSteq
         yqv2I01sS1NrjH9OkuvbnAryIWa2nqQtClEYeMJCCJMrB6MD1X0w/JwovFpUxbtq6yg+
         Azugfj3fBrFgmK36V/2oQJONdJiBrC+rRx/H0IHKwdychGaIOVBFjd1ckytkppG0nB2T
         tdQw==
X-Forwarded-Encrypted: i=1; AFNElJ/ZHYS/I3t6CdUdpE2dy5t7p9+TFQhWlbxMd+gL6eQOBiqDu4Aao5CEZVn1rw3fFgeUGCOLdgqo59I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzGDn0yO9IkujvKj7Pus0dUm18Z5YxcgnzfI6Gw58RzaaLnBCHf
	mmKHUBDP2Ljf0SkM8hzduet/xwK7uVi+NNdJLf+InUDR06oyjVSvnw4W
X-Gm-Gg: Acq92OG1hfJA4XvCDlDZzfC/0s0Up/02mYt1gZ3F7ak9q5A7Y1P7PaISBK6Z4Fgtyvv
	ZgrULVc4Gnqls8eymqDZWts6zVdEbN/2lOqcAsqdLg8ilZwH50nnsAsP7SbcUPksRKIKM59enki
	zcTU87v/8wONmJ5izq1lFNljX7Qk9qFf9Xf+Tpco5oNh2HpVJC0Dn9dtC60UtJwB71+jNxfGhqB
	27tKd108bWj9reVvwlka1lszwhGBADiuTwB5IcfMFo7ro81R8WY1ZGWcNJu9nDnZKUXiLXNwkGc
	WqqT3PH6AS68/zuXVMIXQAux4WmGGDudUU3qzEUXvsUQ+zBUGysjMx4wpZRsRMVRRquJlFAOS3s
	AADd1upDk6DPDv+dtpMLINDWQqdKYjFsLSzYQXz/7urHw477zWkZlcQEqagr6gZX5WdtztNPUCz
	DVaISo3U2XnRRJWYempZgIMZtMVV0UhDTzMn2TyL1q3sxuM3dij5d66FRpjpOHFi7798cFo4me+
	+VhZMEvP7If53en
X-Received: by 2002:a17:907:7216:b0:bd1:ba38:c724 with SMTP id a640c23a62f3a-bf0aec00855mr127769666b.32.1780487879021;
        Wed, 03 Jun 2026 04:57:59 -0700 (PDT)
Message-ID: <ab414833-4a3c-485b-91ce-7a0a91f25182@gmail.com>
Date: Wed, 3 Jun 2026 13:57:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] xen/domain: fix UBSAN null pointer dereference of
 d->shared_info
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: <cover.1779712171.git.oleksii.kurochko@gmail.com>
 <04dd784b6b9a4dfca9a313ea8802d8d514d65021.1779712171.git.oleksii.kurochko@gmail.com>
 <3aef7763-aea3-496a-8c18-d3659f590373@suse.com>
 <fb1b1194-5855-49d9-99fc-d35a3038833c@gmail.com>
 <3eb9ab3d-dc4d-4019-89c8-9f7dbdc528cd@suse.com>
 <9ae22210-6dd5-43e3-918e-f68b1294448d@gmail.com>
 <dc622455-c20f-4b8a-8c80-1e4c0143e8e0@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <dc622455-c20f-4b8a-8c80-1e4c0143e8e0@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-4011c0/1780487879-713638B7-0EA9703D/10/73395122804
X-purgate-type: spam
X-purgate-size: 5715



On 6/3/26 1:23 PM, Jan Beulich wrote:
> On 03.06.2026 13:05, Oleksii Kurochko wrote:
>>
>>
>> On 6/3/26 7:54 AM, Jan Beulich wrote:
>>>> --- a/xen/common/event_fifo.c
>>>> +++ b/xen/common/event_fifo.c
>>>> @@ -562,9 +562,10 @@ static void setup_ports(struct domain *d, unsigned
>>>> int prev_evtchns)
>>>>
>>>>             evtchn = evtchn_from_port(d, port);
>>>>
>>>> -        if ( d->shared_info &&
>>>> -             guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>>>> +#ifdef CONFIG_HAS_SHARED_INFO
>>>> +        if ( guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>>>>                 evtchn->pending = true;
>>>> +#endif
>>> While as per above shared_info() would best not exist when !HAS_SHARED_INFO
>>> (in which case #ifdef may be unavoidable here), an alternative where
>>> IS_ENABLED() could be used here may want at least considering. E.g.
>>> causing a link-time failure when shared_info() is used (and not compiled
>>> out).
>>
>> We still want here to have #ifdef instead of IS_ENABLED() as
>> shared_info() shouldn't exist for arch without 2L support so it will end
>> with linkage error.
> 
> I don't understand this part.

If the change will look like:

   if ( IS_ENABLED(CONFIG_HAS_SHARED_INFO) && guest_test_bit(d, port, 
&shared_info(d, evtchn_pending)) )
       evtchn->pending = true;

It will help to avoid NULL pointer dereference of shared info page in 
case of 2L isn't supported. But considering that shared_info() macros 
will be reworked in the way which will lead to linkage error in the case 
when it is used and arch doesn't have shared info page support usage of 
shared_info() in setup_ports() will lead to linkage error what is wanted 
to be avoid for arch without 2L support.

> 
>> Considering that setup_ports() will be called for
>> such arch we have to avoid this part from compilation.
>>
>> Alternative is that considering that I suggested in prev emails to
>> introduced stubs for arch which doesn't use 2L:
>>
>> +#ifndef CONFIG_HAS_SHARED_INFO
>> +static void cf_check evtchn_none_set_pending(
>> +    struct vcpu *v, struct evtchn *evtchn) {}
>> +static void cf_check evtchn_none_clear_pending(
>> +    struct domain *d, struct evtchn *evtchn) {}
>> +static void cf_check evtchn_none_unmask(
>> +    struct domain *d, struct evtchn *evtchn) {}
>> +static bool cf_check evtchn_none_is_pending(
>> +    const struct domain *d, const struct evtchn *evtchn) { return false; }
>> +static bool cf_check evtchn_none_is_masked(
>> +    const struct domain *d, const struct evtchn *evtchn) { return true; }
>> +static void cf_check evtchn_none_print_state(
>> +    struct domain *d, const struct evtchn *evtchn) {}
> 
> This set can be shrunk. For example, the same stub can be used for
> clear-pending and unmask. For is-pending and is-masked, considering
> that the precise return value shouldn't matter, a single function
> (returning false) would likely be good enough as well.
> 
>> +static const struct evtchn_port_ops evtchn_port_ops_none = {
>> +    .set_pending   = evtchn_none_set_pending,
>> +    .clear_pending = evtchn_none_clear_pending,
>> +    .unmask        = evtchn_none_unmask,
>> +    .is_pending    = evtchn_none_is_pending,
>> +    .is_masked     = evtchn_none_is_masked,
>> +    .print_state   = evtchn_none_print_state,
>> +};
>> +
>> +static void evtchn_none_init(struct domain *d)
>> +{
>> +    d->evtchn_port_ops = &evtchn_port_ops_none;
>> +}
>> +#endif
>>
>> For arch without 2L supports .is_pending() will return false we can just
>> do the following instead of ifdef:
>>
>> -#ifdef CONFIG_HAS_SHARED_INFO
>> -        if ( guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>> -            evtchn->pending = true;
>> -#endif
>> +        if ( evtchn_is_pending(d, evtchn) )
>> +             evtchn->pending = true;
>>
>> Would you be okay with this approach instead of ifdef?
> 
> I can't really say ahead of seeing the full result (and without it being
> made clear why FIFO ops can't be put in place right away, with perhaps a
> few small adjustments to the handlers). While this isn't going to be
> used for x86, introduction of new cf_check functions always worries me,
> at least some.

I looked at FIFO ops again and it looks like it would be enough just to 
do the following:

--- a/xen/common/event_fifo.c
+++ b/xen/common/event_fifo.c
@@ -62,6 +62,9 @@ static inline event_word_t 
*evtchn_fifo_word_from_port(const struct domain *d,
       */
      smp_rmb();

+    if ( unlikely(!d->evtchn_fifo) )
+        return NULL;
+
      if ( unlikely(port >= d->evtchn_fifo->num_evtchns) )
          return NULL;

as evtchn_fifo_word_from_port() is used at the begining of fifo ops and 
if its NULL then it will just return without execution of the rest of an 
operation so even something isn't allocated it is still safe.

The changes above are wrong as evtchn_is_pending(d, evtchn) will be 
called for FIFO's evtchn but the original check is checking if there is 
any pending interrupt in 2L before final switch to FIFO. So we still 
want to have:

+#ifdef CONFIG_HAS_SHARED_INFO
+        if ( guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
+            evtchn->pending = true;
+#endif

And then probably we can d->evtchn_port_op with FIFO ops in the way how 
it is done now instead of:

@@ -1660,7 +1629,7 @@ int evtchn_init(struct domain *d, unsigned int 
max_port)
  #ifdef CONFIG_HAS_SHARED_INFO
      evtchn_2l_init(d);
  #else
+    evtchn_fifo_init_ops(d);
  #endif
      d->max_evtchn_port = min_t(unsigned int, max_port, INT_MAX);

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 12:28:59 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 12:28:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326147.1591578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUkiF-0004JS-Mv; Wed, 03 Jun 2026 12:28:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326147.1591578; Wed, 03 Jun 2026 12: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 1wUkiF-0004JL-Jp; Wed, 03 Jun 2026 12:28:47 +0000
Received: by outflank-mailman (input) for mailman id 1326147;
 Wed, 03 Jun 2026 12:28:46 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUkiE-0004JF-EJ
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 12:28:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUkiD-006dL6-Cb
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:28:45 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a201def-2eae-0a2a0a5409dd-0a2a450c88b0-38
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 14:28:45 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a201dfc-62f1-0a2a450c0019-d155802ac166-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 14:28:45 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-490b2b037d2so16070895e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 05:28: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-4601f2ed944sm7528208f8f.13.2026.06.03.05.28.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780489724; x=1781094524; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=rP22kDExa/ctfuohdGJtotFhk/gyIcpq1jo8pcUKPWY=;
        b=TqYZUISUizgM584nmrTEYKEPgO0e1CZJEbG1B7Mw4RYxKhgR5dO4eF2ELZiJOAkcNx
         Wl6l2FfnuO14WEyfXo0qfvZvNhxOiD5pBsIGUA2DP2RSUpBGSOqwJuS418YC9Vv+cx7C
         2w5bWS2dltWtbDVn5uwAnzDtuwhqtRKTf6ZClV/E5y8AJDmJ7oCcYdns+U96Oo/SokLl
         R6ypDt9yjpH3eMQPYLJhLe8ZMlHuM4Xqz+W/PD944n3ddOCw/b+r505yE3HCVBziN66e
         2d10PKb4BdjHqm5hFPkgOlCKUIqgH2nijQyL32fi9nzOkWqu1cK3mvcJkcOtR4c7p8V9
         SwuQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780489724; x=1781094524;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rP22kDExa/ctfuohdGJtotFhk/gyIcpq1jo8pcUKPWY=;
        b=Iep1J++FTJDQ+/vsxGOExfqoZjAdbjOif96QMkUHC6qqf0BITUm56Cmgj9wstBD8QO
         7WmNKwZKMQ97iuIU0VLPWAOrD1IC1813ee8D9VaeHCsPbVbzedhzj0rkUvkvyZB4kQXc
         As6v21fyy9QIsy6CCP2VW+gO5UrgB/yLHkhmaVXPB88Ws5n+dFfbokOgG7S0uMK0gPiD
         k6ztv6f4oFOHmjgu1RjoLbBbDwl0OW4jZJXycyP4OTsRrk/7Au48sTmkie9br5gOW7dk
         LepgfCMQwNg251jsBHztV18eJ6OL03hUKl7qWrayLVdv5ob8ADmVPFD7NF+u4QTqb900
         qRHQ==
X-Forwarded-Encrypted: i=1; AFNElJ9AUKb4JRFt+rme2kKdV5VR4iBM7lPlYhr5zQMXEaJ4eKdfy2n73BXxH6pwqRLrKNEg1esoTYbRcBM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxzufov6PHEJGd+6qVDXKL3Ys1WHEb4obh+0wIwtSeVmblVAXAU
	o1AKfojc9GJNEVw0818Vgv7TC7lQwI31gWcuHmYaZGSkDAsmKYtUJ0e3vg8RSS2gcA==
X-Gm-Gg: Acq92OGRYf2B0K2Wq2QUqzWi/L8uufB0/qXdJbXNeft+zjoMw0vhtX8qJHbeDd9lW18
	0UwNIZB5dAGlqAHOvhnHtP+esq7XtOg5zeGpsaRbLf+wPq2B/ZpyGz1dXj4RzP94KKwMVv0x7A2
	jBABHt2K95IAOp5aCTVDINFr9riU5PCWXqMVY4pE9PM0fCMnle09XWOIpNjosxnjRGYCdAnvf6f
	GB5Q6v+GaxTWeGgMjl3vCXIIaUcyD/VUcp/4Y/xSQBg6lmf3sYXvgWH4y7jN0Vzk12vDJ6AR5ra
	UwGXUe5Gkch314KRyNiILsSnk/ryHIfJCKZ4ou0PUEAlREfjGTPzof9mV1FvWInUDbT6XVAXq//
	SIahsaYt7O/CmF/ZpNips7KpK02/7KfW9lH5u3tbIJLzdAKp8S9cshi4koJtaeTe5zboPonEnrq
	IudztEbVHrbNE0vmC9ad4E+stWYwkYRvXYGozYRmeaCX0C28JMFolVFuXda/kJ1MoKmHG5+u0RI
	BUT5QmEb47Uxk+Jgsg4q+hKKg==
X-Received: by 2002:a05:600c:1392:b0:490:b202:4772 with SMTP id 5b1f17b1804b1-490b5e95f69mr53422555e9.2.1780489724215;
        Wed, 03 Jun 2026 05:28:44 -0700 (PDT)
Message-ID: <4f03728e-22a2-435c-8d80-eeccefdf3a31@suse.com>
Date: Wed, 3 Jun 2026 14:28:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/4] xen/mm: Recall claims when offlining pages if
 needed
To: Bernhard Kaindl <bernhard.kaindl@citrix.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: <cover.1776690702.git.bernhard.kaindl@citrix.com>
 <ebc02ab7b6fe81946ccf5833a44d57fb4a3239a4.1776690702.git.bernhard.kaindl@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: <ebc02ab7b6fe81946ccf5833a44d57fb4a3239a4.1776690702.git.bernhard.kaindl@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1780489725-E0766CF5-5528F1A8/0/0
X-purgate-type: clean
X-purgate-size: 4027

On 20.04.2026 15:19, Bernhard Kaindl wrote:
> Fix a bug where offlining pages could cause an unsigned underflow
> in total_avail_pages - outstanding_claims, leading to incorrect
> claim behavior.
> 
> This issue arises when outstanding claims are close to the total
> available pages. It occurse when domain_set_outstanding_claims()
> and domain_install_claim_set effectively do this:
> 
>  unsigned long avail_pages = total_avail_pages - outstanding_claims;
> 
> When this unsigned subtraction underflows, staking claims can succeed
> even when there is insufficient unclaimed memory for the new claim.
> This leads to a state where claims always succeed, regardless of
> actual memory availability.
> 
> To prevent this, recall claims when offlining pages if needed to maintain
> equilibrium between `total_avail_pages` and outstanding claims for global
> and for per-NUMA-node claims.
> 
> Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>

First: This patch being a bug fix (which, btw, lacks a Fixes: tag), it wants
to move ahead of the NUMA claims series, to facilitate backporting.

> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -1575,6 +1575,48 @@ static int reserve_offlined_page(struct page_info *head)
>          count++;
>      }
>  
> +    if ( count )

Why did you decide to put this in reserve_offlined_page()? The function has
two callers, yet in one case the extra checking is entirely unneeded afaict.
While in the other case we further know that it's exactly one page which is
being offlined.

> +    {
> +        long recall_pages;
> +        struct domain *d;
> +
> +        /* Ensure that claims on the node are in line with its free memory. */
> +        recall_pages = node_outstanding_claims[node] - node_avail_pages[node];
> +        if ( recall_pages > 0 )
> +            /*
> +             * node_avail_pages slipped below node_outstanding_claims.
> +             * We need to recall claimed pages until the amount of claimed
> +             * memory is in line with the amount of available memory again.
> +             */
> +            for_each_domain ( d )

Such loops need serializing against domain list modifications. Also we really
don't want to loop over all domains twice.

> +            {
> +                if ( d->claims[node] )
> +                {
> +                    recall_pages -= deduct_node_claims(d, node, recall_pages);
> +                    if ( recall_pages <= 0 )
> +                        break;
> +                }
> +            }

So domains early on the list are penalized over ones later on the list? The
only truly fair approach I can think of right away looks to be to discard all
claims, requiring the toolstack to re-establish them. With the observation
above the next best approach might be to cycle through domains, removing one
page from their claim and recording where we left off (the per-node part
would be slightly more involved). However, any reduction of a claim is likely
to render that claim useless altogether. Hence requiring admin action (to
re-establish claims) may still be the least bad option.

Jan

> +        /* Ensure that outstanding claims are in line with available memory. */
> +        recall_pages = outstanding_claims - total_avail_pages;
> +        if ( recall_pages > 0 )
> +            /*
> +             * total_avail_pages slipped below outstanding_claims.
> +             * We need to recall claimed pages until the amount of claimed
> +             * memory is in line with the amount of available memory again.
> +             */
> +            for_each_domain ( d )
> +            {
> +                if ( d->global_claims )
> +                {
> +                    recall_pages -= deduct_global_claims(d, recall_pages);
> +                    if ( recall_pages <= 0 )
> +                        break;
> +                }
> +            }
> +    }
> +
>      return count;
>  }
>  



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 12:34:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 12:34:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326156.1591588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUknK-0005pB-8G; Wed, 03 Jun 2026 12:34:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326156.1591588; Wed, 03 Jun 2026 12:34:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUknK-0005p4-4x; Wed, 03 Jun 2026 12:34:02 +0000
Received: by outflank-mailman (input) for mailman id 1326156;
 Wed, 03 Jun 2026 12:34:01 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUknI-0005oy-VV
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 12:34:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUknI-0073w7-Bx
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:34:00 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a201f2f-bab6-0a2a0a5309dd-0a2a450684ae-28
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 14:34:00 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a201f38-7371-0a2a45060019-d1558030d5a9-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 14:34:00 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-49068493267so75205045e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 05: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-4601f2dc412sm7731715f8f.4.2026.06.03.05.33.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 05:33:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780490040; x=1781094840; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=nV3GB0xfzPvXONTZJ/JUSnFT+yCniSQflPNHwXAPYUk=;
        b=bRG1B8beeYXTxB9Yjom4bOedw9B+n/xXArymLemUnQAYx9BIa3EBemNeLaz8zJwyz0
         AQRL6w0RgTgNPXmTCd++YJJWwDDI8wg3pAQeXQtuMVDNnH7nBixNWuNaWX8uv5uB4nCo
         TXZmd0uqLCbdy4ObHUUoyNXReS5KfhyX8hMmUhNrFakrjibwFvENsWG888ZB0/xEoBfG
         BIJ/JqdUNW1NVjpf/TuNoCfvon2ltNn6rhGeTU1Hvl/P9Yx+gEdUiPDYAgt03UCMSrYZ
         t0aGEpfiqraLclgkVAIJceC11ThoDlFPWDeafQH7kVu3+iFZJzNRq9Dr8BnS3nNL93qo
         9snw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780490040; x=1781094840;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nV3GB0xfzPvXONTZJ/JUSnFT+yCniSQflPNHwXAPYUk=;
        b=poJIF+uYEV0b590Yy/t/dqaNj4wYt9rFVcthMvOmGrsXTEYHsu4bcC1SaGC1da4RHV
         BCkshjP1kDYk+7t4G0/l5YV88kSxmrZcBEFhiaaVy+Dnzb9clKhRN9Tv8gLghmU05NF5
         5OAG2x3YPZBpkOgHKG+HIxMA7BFm5L5YxeLmC1wS8hDqe5oZfEv0ndLPjqylU5u7iHZ/
         sMYHMNVMjtvdUrmcoePWLb3K16rfgtYIJOMNTISZCk1HTpLBwGS9AsmfnT7SA2KupLOB
         VW/XSJ1mX30rf+kFsAcHWCiJHquMdKo1d8vSVacIDDzdtgJwXAAPVQcE4fsWcpPq9QRE
         utLA==
X-Forwarded-Encrypted: i=1; AFNElJ8Bihw3BuM6m6FtFHdvJOgQ7nox2muF4yDZtGzZhnx3vXywjFc72ts/Q3b4Bl0Szqgod+v4NN61Xs4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx1mVsN9ndc3gToPS1HuQwRtphfuhzvQVxKTh13zjmpolr7ocRy
	/5XKOhGu/AYWJ3+lxOI4LbNErQgdswuVpqVDrzqlUWwGHpE3YeKRZso58TRmq7O68w==
X-Gm-Gg: Acq92OHYG6cZ0egTj3ViyKPvwU9ore1ExP2WpW0XMXy/sbB+Wfqt4Xz554S2MHr5v8n
	+6yMIv0FaN1ilIDppyIaiwaST2vdVCo6GRg81D/l18TlgBtvddxBfKtT9+qORcWVZiGmmVcX8bB
	G1CJmIHPqF89km60mhWpTgqgqZVDp/iSbypo3KSFz5k9c8MTEEuPc5rszXRedcTEmzs+m6t7Nce
	ULUDiGHCzZbYjAf4Fye/l8V0sAd0ocgnaSLS6EDpDQcCVcnFoTqnjQIQc3xOZMNS0MD+3g9TlgY
	1lidsRuNim9llghMZWoChY/c564h+sSenvvfkd7AwE6I5hOiB1Jnn8XvKLXvT6crh3YsXBwGPmQ
	4dkGwz++MoNzDASO5ZZyj1doYu0ePYYUxmYlTAv/ZlVREPCDuEQXPH4oC2CZJCWuz5ZpM4j4k1I
	LFnHIxz4cTUcwih2NYlrbyCLoj0tN97UXOdvFC7NXnzJthrF0pWiFHUCmIvVjhjFg3F1gmc3agQ
	e+zzDSCLmTINK/bv0r03mOgFoGWfvOSVaZu
X-Received: by 2002:a05:600c:c4b8:b0:490:b591:b5a3 with SMTP id 5b1f17b1804b1-490b60e9af0mr53586345e9.32.1780490039626;
        Wed, 03 Jun 2026 05:33:59 -0700 (PDT)
Message-ID: <803b9674-d0a4-41eb-898f-4cb8df83c975@suse.com>
Date: Wed, 3 Jun 2026 14:33:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] xen/domain: fix UBSAN null pointer dereference of
 d->shared_info
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.1779712171.git.oleksii.kurochko@gmail.com>
 <04dd784b6b9a4dfca9a313ea8802d8d514d65021.1779712171.git.oleksii.kurochko@gmail.com>
 <3aef7763-aea3-496a-8c18-d3659f590373@suse.com>
 <fb1b1194-5855-49d9-99fc-d35a3038833c@gmail.com>
 <3eb9ab3d-dc4d-4019-89c8-9f7dbdc528cd@suse.com>
 <9ae22210-6dd5-43e3-918e-f68b1294448d@gmail.com>
 <dc622455-c20f-4b8a-8c80-1e4c0143e8e0@suse.com>
 <ab414833-4a3c-485b-91ce-7a0a91f25182@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: <ab414833-4a3c-485b-91ce-7a0a91f25182@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1780490040-8DF81D75-59453B36/0/0
X-purgate-type: clean
X-purgate-size: 2101

On 03.06.2026 13:57, Oleksii Kurochko wrote:
> 
> 
> On 6/3/26 1:23 PM, Jan Beulich wrote:
>> On 03.06.2026 13:05, Oleksii Kurochko wrote:
>>>
>>>
>>> On 6/3/26 7:54 AM, Jan Beulich wrote:
>>>>> --- a/xen/common/event_fifo.c
>>>>> +++ b/xen/common/event_fifo.c
>>>>> @@ -562,9 +562,10 @@ static void setup_ports(struct domain *d, unsigned
>>>>> int prev_evtchns)
>>>>>
>>>>>             evtchn = evtchn_from_port(d, port);
>>>>>
>>>>> -        if ( d->shared_info &&
>>>>> -             guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>>>>> +#ifdef CONFIG_HAS_SHARED_INFO
>>>>> +        if ( guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>>>>>                 evtchn->pending = true;
>>>>> +#endif
>>>> While as per above shared_info() would best not exist when !HAS_SHARED_INFO
>>>> (in which case #ifdef may be unavoidable here), an alternative where
>>>> IS_ENABLED() could be used here may want at least considering. E.g.
>>>> causing a link-time failure when shared_info() is used (and not compiled
>>>> out).
>>>
>>> We still want here to have #ifdef instead of IS_ENABLED() as
>>> shared_info() shouldn't exist for arch without 2L support so it will end
>>> with linkage error.
>>
>> I don't understand this part.
> 
> If the change will look like:
> 
>    if ( IS_ENABLED(CONFIG_HAS_SHARED_INFO) && guest_test_bit(d, port, 
> &shared_info(d, evtchn_pending)) )
>        evtchn->pending = true;
> 
> It will help to avoid NULL pointer dereference of shared info page in 
> case of 2L isn't supported. But considering that shared_info() macros 
> will be reworked in the way which will lead to linkage error in the case 
> when it is used and arch doesn't have shared info page support usage of 
> shared_info() in setup_ports() will lead to linkage error what is wanted 
> to be avoid for arch without 2L support.

What linking error are you talking of? When !HAS_SHARED_INFO, the compiler
will DCE the entire guest_test_bit(), including the shared_info() use. IOW
I still don't understand what you're talking of.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 12:46:57 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 12:46:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326170.1591597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUkzj-0007k9-9L; Wed, 03 Jun 2026 12:46:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326170.1591597; Wed, 03 Jun 2026 12: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 1wUkzj-0007k2-63; Wed, 03 Jun 2026 12:46:51 +0000
Received: by outflank-mailman (input) for mailman id 1326170;
 Wed, 03 Jun 2026 12:46:50 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUkzh-0007jv-Rx
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 12:46:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUkzh-003oNm-4h
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:46:49 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a20222d-5cb7-0a2a0a5109dd-0a2a4503ccea-24
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 14:46:48 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a202238-672d-0a2a45030019-d155802ce8db-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 14:46:48 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-4903997fcb5so127906765e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 05:46: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-490b0e13eefsm142582095e9.2.2026.06.03.05.46.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 05:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780490808; x=1781095608; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=qyNcOrdGaK0X8nxgJV8B3RCDaFQWCaJC5NisgjaTWfM=;
        b=RouxEI3Ll3YiMvtQCbfyuZ0hSncROLdWvgdfjSJ/2HAFqVXOdasqG0ArJrWtPQ6U9M
         rDQZNDX6Nm381QTP2gkAVCsHzXyKljAx/8DxOnxcJeHzfMz6c8aGWMMCpcFSQ2bEdMkR
         aKouOgZDmGWP75vAOADnMIkKbdkeNIrlk7hF3oBHVRng7RrWeDQiDtp+jGzI755zPyPr
         sOhDadWrGomBGP/PWLSxnyKdiZ4k5VblPtuc3K2flsKPI2ulECbO0tkWP9xpn7Y2E+X2
         UrpGSwpKwb+t/pxvCIUxEGWDn74efErE+aUQltWWFvb0Bgaudytvxa0eGD6vYKXDRahO
         qrPg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780490808; x=1781095608;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qyNcOrdGaK0X8nxgJV8B3RCDaFQWCaJC5NisgjaTWfM=;
        b=EL5/+BLimQmQDGiRrfSexxcdJSElfICwPEHD+nuQkFvKkyMKrpXYxgtcV26+sQrJR7
         X+9wHvSK2z2bUyyz7/h4y6zo7zWuzhAyha4jIuF5Xqz6Ykvtb3D0P2P+tkLsYjFn3hSK
         3qx9frRSaePgrF3LODaHGaHOVVu+h2Q/XZDgqBSBQdCnpGKz4elFSMJDx9ugy8j7HOsZ
         bn/agOMaqB3kZXkuyLqKvod65DOmJKq6+sl5G8IMwYu26Iu9d5hju3y7Um5t2e3uWSPC
         5dbRvNGJOnU7UKJ/o/9SCI4/U3XjUHKfyD51yBbeow0ICzPxEam/pDNWur+veK56lF3U
         0UqQ==
X-Forwarded-Encrypted: i=1; AFNElJ/Mn5iygtEcN3+4WpW+steEviJPgrDPz4M213fVcuWx7biYcZZMcA2sjEBWhatsFyRysnxCVj8NQ1s=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxjvS59YRZDrkn2m88PmGSSlx0cYBxdGHblbqYiJ6D+JdJiy4QG
	/L3QEmhnFb9YeVN/sL4fWoZ+WXWbrLrSG9x4nemB05HKJM5YWvlTX6BPmvsg5EWxHw==
X-Gm-Gg: Acq92OGXOEwrepZxtt16k+UsR4kKdUb6Bnb7Tr5mgpNBX89ltVFQNCg8ABQ9v7RpsQg
	EEG/lLWQG/q1nwJaNVdL/M87CJgligHnFe3FqXPxvKoSz3JjVvymdrsQnuzV/2Zhl87E7rakJKu
	hUOV5ZDv3fVwOs9ciA52pkxY4H7j4vEMpBHQtFT/JC/vtS6MYOFKlxg6fI+HXNReb+ez5WC9Akr
	rCBUpnIwpyufeC6rvTn6mo5rxOOX1hrhr518lJjRxBBglAmB5BFijNxKyL1NLIwVd3kKF6L+CS+
	Tpe/gG98jI/LoxBK5UI6PU0ca62xhNJCZikV1P02ipyUBTsnvIvut1ZDTHztuaEV2dssdJPWoZZ
	f2MBgHzNv2fkzUj0miKSAzlcvLd4AJzrLVg7GIXbh6qGEbcqmhm4e9GKGvViD87SP1EY8KtQGIG
	2C8Yl3N7nF9Mbxk/jsyp1tcFfWelmlW8IJmhKbrLEDlAYNeDMFMQImm+7Ul1dgL/MScDDyS+izJ
	Izr8MASoxf3QvQguA73iRPVqg==
X-Received: by 2002:a05:600c:1387:b0:490:a29b:e72f with SMTP id 5b1f17b1804b1-490b5d1cec7mr58990145e9.4.1780490808209;
        Wed, 03 Jun 2026 05:46:48 -0700 (PDT)
Message-ID: <621305bb-1df5-4185-8690-da7b05548817@suse.com>
Date: Wed, 3 Jun 2026 14:46:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] xen/domain: make shutdown state explicit
To: Mykola Kvach <xakep.amatop@gmail.com>
Cc: Mykola Kvach <mykola_kvach@epam.com>, Paul Durrant <paul@xen.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Tim Deegan <tim@xen.org>,
 Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>, xen-devel@lists.xenproject.org
References: <a32975d6d5a565690ec9b9f3619a98c4362da95b.1780124807.git.mykola_kvach@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: <a32975d6d5a565690ec9b9f3619a98c4362da95b.1780124807.git.mykola_kvach@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1780490808-4006F938-5BC68C73/0/0
X-purgate-type: clean
X-purgate-size: 4116

On 30.05.2026 09:23, Mykola Kvach wrote:
> From: Mykola Kvach <mykola_kvach@epam.com>
> 
> The shutdown flow currently uses is_shutting_down and is_shut_down to
> represent the domain shutdown lifecycle. The two flags are not mutually
> exclusive: after shutdown completion is_shutting_down remains set until
> domain_resume() clears both flags.
> 
> Replace the two booleans with an enum domain_shutdown_state. Keep
> domain_shutting_down() as the direct replacement for the old
> is_shutting_down flag: it is true once shutdown has been initiated and
> remains true after completion, until domain_resume(). Add
> domain_shutdown_completed() for users that need the final completed
> state.
> 
> This makes the state transition explicit while avoiding a semantic split
> between "in progress" and "completed" at call sites where the old code
> only cared that shutdown had started and had not yet been reset by
> domain_resume().
> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> ---
> Changes in v3:
> - Keep domain_shutting_down() as a direct replacement for
>   is_shutting_down: true from shutdown start until domain_resume(),
>   including after shutdown completion.
> - Drop domain_in_shutdown_state().
> - Make old is_shutting_down conversions mechanical again; use
>   domain_shutdown_completed() only for old is_shut_down users.

And indeed this is now much easier to reason about, correctness-wise.

> @@ -442,7 +442,8 @@ bool shadow_prealloc(struct domain *d, unsigned int type, unsigned int count)
>          count += paging_logdirty_levels();
>  
>      ret = _shadow_prealloc(d, count);
> -    if ( !ret && (!d->is_shutting_down || d->shutdown_code != SHUTDOWN_crash) )
> +    if ( !ret && (!domain_shutting_down(d) ||
> +                  d->shutdown_code != SHUTDOWN_crash) )

Please can this be

    if ( !ret &&
         (!domain_shutting_down(d) || d->shutdown_code != SHUTDOWN_crash) )

? Overall less indentation and fewer pending open parentheses at line ends.

> --- a/xen/arch/x86/mm/shadow/multi.c
> +++ b/xen/arch/x86/mm/shadow/multi.c
> @@ -2370,7 +2370,8 @@ static int cf_check sh_page_fault(
>       * already used for some special purpose (ioreq pages, or granted pages).
>       * If that happens we'll have killed the guest already but it's still not
>       * safe to propagate entries out of the guest PT so get out now. */
> -    if ( unlikely(d->is_shutting_down && d->shutdown_code == SHUTDOWN_crash) )
> +    if ( unlikely(domain_shutting_down(d) &&
> +                  d->shutdown_code == SHUTDOWN_crash) )

While at it please correct the bogus use of unlikely() as well:

    if ( unlikely(domain_shutting_down(d)) &&
         d->shutdown_code == SHUTDOWN_crash )

> @@ -2494,7 +2495,8 @@ static int cf_check sh_page_fault(
>           && ft == ft_demand_write )
>          sh_unsync(v, gmfn);
>  
> -    if ( unlikely(d->is_shutting_down && d->shutdown_code == SHUTDOWN_crash) )
> +    if ( unlikely(domain_shutting_down(d) &&
> +                  d->shutdown_code == SHUTDOWN_crash) )

Same here then.

> @@ -382,6 +382,12 @@ struct domain_console {
>      char buf[256];
>  };
>  
> +enum domain_shutdown_state {
> +    DOMSHUTDOWN_none,

This likely deserves a comment, as it has to remain first (with value 0).

> +    DOMSHUTDOWN_in_progress,
> +    DOMSHUTDOWN_complete,
> +};

We further may want to make this a packed enum, such that ...

> @@ -552,10 +558,9 @@ struct domain
>      struct rangeset *iomem_caps;
>      struct rangeset *irq_caps;
>  
> -    /* Guest has shut down (inc. reason code)? */
> +    /* Guest shutdown state and associated reason code. */
>      spinlock_t       shutdown_lock;
> -    bool             is_shutting_down; /* in process of shutting down? */
> -    bool             is_shut_down;     /* fully shut down? */
> +    enum domain_shutdown_state shutdown_state;

... it occupies only a single byte here. We could then fit three other
booleans (or alike) next to it.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 12:54:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 12:54:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326181.1591607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUl6w-00017v-4t; Wed, 03 Jun 2026 12:54:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326181.1591607; Wed, 03 Jun 2026 12:54: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 1wUl6v-00017o-WE; Wed, 03 Jun 2026 12:54:18 +0000
Received: by outflank-mailman (input) for mailman id 1326181;
 Wed, 03 Jun 2026 12:54:16 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wUl6u-00017i-GN
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 12:54:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUl6t-007GDr-R5
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:54:15 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2023de-bab6-0a2a0a5309dd-0a2a45099ed0-48
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 14:54:15 +0200
Received: from [52.101.46.59]
 (helo=CO1PR03CU002.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2023f5-2497-0a2a45090019-34652e3b8a90-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 14:54:15 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by MN6PR03MB7549.namprd03.prod.outlook.com (2603:10b6:208:4ff::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.15; Wed, 3 Jun 2026
 12:54:10 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 12: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=SdPvP9HgQUHEBtdZABpkW1ZQeHCEcRdjPO++JewEd3LEUEet5/OTreBk4ase/Ig4szcrodbJwNDeMMJ2vI/mr5RA5q6hFRhuGYIUoqVh/QBdjJKoDoNE86unPTXkz+6Ti/4u1tKW69aPbLTuSxYou6p7jF5CRZofJ6lsKXOEZTsPT3qVWA5n4iFpQf1ny072KL3uN/jJTq2teso8tBXXYjIfwMbrpDEL9a778+QJ0wzeJTuW1pSYlWCSDx4bHK4jbfwjfIW0vTE1SNCkgbSDR0QFyH+0pu7XUVlJuTiRnV4JmYXB8R88nUvsPbNkpuLUYerBLjlA85KmbCu+GIp1zA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IL3RIXDMCtM0cBuZhK+7J823er5L2gyNoH7IMykRSPA=;
 b=Xl4D8G46IyXtG+hJvS5quGKloCt7Pfa9C4Nl16Qv2zsdJU68tas7A8QipyQcQaRQWGZcFEKAx6hu+m1TsWbMgY/rfHoFxsLrMJFuYZ0LsdeZr6mZn7WE2DT+WciC9XaOJsMwdDxGhHchc2PGUdCET/aNhbZDwIZqlRDMmDCUZFvz7f0ny3Hsdn/yABMe9iJ2XG7A6JSC7XkPvftDniIg66ZSVvWxVKwOTEIpXt6b3bIukHHkAKx8A5Prn5BEFm7CyQprXkK7dkybctMUXDqqeGrxgK8XF8YBbweuyLA3orOLk1NqKZHkH5FHiYsXpJzFNV7ZxSEix7oho8bMSLLBCw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IL3RIXDMCtM0cBuZhK+7J823er5L2gyNoH7IMykRSPA=;
 b=WOAfmRU6r6GLoJs1Pazcu52EJ8ohvsG62FeVdFAsNue1x6auO9qRRdbOgb7j8d/7vHm2rCIhLBlbsTgiuadaYx3eyVWRwT8g30T/mtWN+x7jwpkz1RVFj3k2JR7bjLV6cl1iJfH1wrUalMEFq3YUWcX7MRN0J4EoBMTaS8jgF3Q=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 3 Jun 2026 14:54:05 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] vPCI: resolve MISRA R10.1 boolean arithmetic type
 violation
Message-ID: <aiAj7duOGUAkbB05@macbook.local>
References: <e23266191a366abe66d8104783d97578aa8734a4.1779428826.git.dmytro_prokopchuk1@epam.com>
 <984c91b8-3d2c-4431-bdf1-4a333ac341d1@suse.com>
 <alpine.DEB.2.22.394.2605261508390.182011@ubuntu-linux-20-04-desktop>
 <62abdafd-a49c-46e0-b529-0646a8d2425a@suse.com>
 <alpine.DEB.2.22.394.2606021840110.550703@ubuntu-linux-20-04-desktop>
 <b443469b-01fe-4196-a79f-811bfb6e17d8@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <b443469b-01fe-4196-a79f-811bfb6e17d8@suse.com>
X-ClientProxiedBy: MR1P264CA0167.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:55::8) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|MN6PR03MB7549:EE_
X-MS-Office365-Filtering-Correlation-Id: 5d75de7b-7e74-41ce-82b1-08dec16f346d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|22082099003|11063799006|56012099006|4143699003|18002099003;
X-Microsoft-Antispam-Message-Info:
	Ihn7pLTmIE2kn10Z3myL9YBd5oDs/0agz/64mEMbZZ2c3MS+nTE2Lln6keCX55pdlcQ1Z3fiE+1p50is/wbOvv4OLkGAIaaf9pm3/+REip9GN2Jl/evrlZFAhE2zGpO4zxEug25oPyhlqK3+XP4xDvp7pfL5iZXQpW7cpgh33nlUhgaUQE63//2JR05odzaX9IbgSo1bMZ3eQWaLcTeJfCK6f8NhLdvYu6FEQovrJkOdg1X1B/ZWZONVAFZ10PUYmyRNMCD2FiHneL2VmEv/nSO5le1NYfhZEVI9aHkRcH47qi/0WS0v+kFfa2I2aI71IIq8TRL3daj4vLF5H3eu/88nEvNZPNEnAravTvE/9clZvovI/kkoBOFLuq4kOOaGmZpJyeI3qB4GUFk4q1U952APK2Z8zJtfmN9HeBz7etLUV/40Xctn2nyibINVFRjXL64E99rVt7db9i4EhBQ9iRx51uLut/oSx3jlCINgta2XdLvAYlIN8pZLw43VPQi+6C+fV7x57cl4nJXSH/7NAUY+lFerq3oNTBZme3C3Q539SInR/COlnn7/lk7k8n7O21nTeoCKj3Pnvir6c3hEhea15fJuJBCUfKjc9xg6k6qnpElVezT1MCIne8Z1Dv5fCT+1MPdZ08kiFhEc2Q3MCVnTEMZYDzoZPgS15De0W6IUgAFcQv2fiu7WvYmO3LH2
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(22082099003)(11063799006)(56012099006)(4143699003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b3lDbDJxL05hTVdmbHpUcE5ZNE9wdVl0Q1RLQzFrZENXSWYzZ0FPemFPQ3E4?=
 =?utf-8?B?YWdySGRZVnR1RW5GWGcwWFFER0dEOUhkTmNJclFMWmxrc3ZQdjJPaWJjbjgv?=
 =?utf-8?B?ai9Nb2R3ZmJJb1VtWTEwOWo2aGNseHllUVllb203SldCdTdjd2k0Y08vZ0tJ?=
 =?utf-8?B?dVBaWlFsWmpnN1ZleXZwL1JiSHdTZENCRk1EaUlSd0NpY0VzZjZjMnA2SmJw?=
 =?utf-8?B?VURBbkJ1WGtxUkFMbTFQd2dRL2E3TWRiZkVzM2ZreEl6WkVxNkxtMkJvSXRx?=
 =?utf-8?B?UXRuZHNLemtmdjREcFZnUkFVUjlBZ2c4cUU0NG4rOXprTkFEQmovcXdrK01i?=
 =?utf-8?B?V2NmTElDVFdoK21LNnZYck12aVJ6bC92aUxpbzl5bjhGbG05M0xOczVYRUMy?=
 =?utf-8?B?eDVKSzJKWU4ySTNQMlgzRlk1S1NNd0lVMk43VUNjWUZsWko2MFlYaDVONGVD?=
 =?utf-8?B?Rk9PakVYb0E5RkJqUUVHOWJhRlF1cngyZlV6RS9tMGYyalZuZzk4QUxDeFl1?=
 =?utf-8?B?ZE5SNlZMaERCMVNIdFdwWmc4WGV2b2ErSWplTEtic1B1LzdXQURMY3F0YVht?=
 =?utf-8?B?MHI2WnpmZG9udDRoOXhLV2dDMVdUWGdSb3ZLbmlsbzJMZmhRNzNmVG5JMUtx?=
 =?utf-8?B?RXN1Tm81eSswanNGTHEyOWNQODRtUmZ2NFBGOHlqZ01xaUwybDlFVnlsSXpt?=
 =?utf-8?B?RkZiVGUxVURVYkF5SUlOdjJ3SzVMSnc0VVNSYmlPUW5wMTVSNFZBYUhsQnJG?=
 =?utf-8?B?dWpsYTV5dyt2RmVVUWVwd2RQQjZRT2dkYmN0cVhTSUd3TjVRTXNMRXBkN0tX?=
 =?utf-8?B?cDkxZlIyTTJxbGdMRHJESG9kUFEzQVY4UTZBUVU0TkJ3c2NWb0diOHhMUVZs?=
 =?utf-8?B?d2RJVDJlTXF0OVduNEJlaTk4VlNaSmdnWGxldTFMcVgzZ1pkV0cyOTRvenVI?=
 =?utf-8?B?TXFvWmN6UUwxM2ExZktUWDh3aXdMa2wrdncyc2NXelMzR21OdFBQWm5XU0xy?=
 =?utf-8?B?NjlST0E1cEprcXROditMWU1uTHBKWStpVGNwN3NwdHE1Y3cxZkJCSG80OTVO?=
 =?utf-8?B?NGFXRnE3MnEwbmVKR0ZMMFh2N294TytrWUVSZ1JnVEdiMVpMZVgrOXB6OWlv?=
 =?utf-8?B?SENycm9IRXE3WUN3Q0QzUjZONHVxbzd3NHJGT1hiL1ZqMWpqdWlaS1o0bnBm?=
 =?utf-8?B?aEZqN2k4VFlNRHVjb05Od3MzNXphU3VjWGhQY2ZsTGY5dmwwd0s1OFRObk5Y?=
 =?utf-8?B?aWRVMzZ6c3ZMS3lHT3ZNcnRSRnl4REFKN0tmVGJTUTc3OEtGcUU0Qzlvdkll?=
 =?utf-8?B?VHJKRk9GaUp4RzZZZGJpc0JCQ3RmRUVqWTRmR01FZWl6L1Q5S1UzRWNOU1ZB?=
 =?utf-8?B?WjF3RWZiM1pnRnZ4RlhjVWtraUJBVi9WSnhUWFJwK0pnQkJYK0k2cjdWREp2?=
 =?utf-8?B?V1RjUDdoVEZDeUZZalJBaTg5elQwNlVGTkVRL1E4YTFybVM5K25ManBuemlL?=
 =?utf-8?B?UzkySDNqYk1PQTh4QTh2ZzhJbWV0NVc0R1ExdmwySVpjMUZvQjRUVUU0UjEv?=
 =?utf-8?B?R0xmZXFYOHJoYlNjVzVUTk1mWVFUVm1tZW1LaEhLdUlXSmg1L1lNWWlEZHhh?=
 =?utf-8?B?VXo4ZlJSUy9VNlBXd0Y2M2I3SDdGc0dnc1JoUCtpSytNK2hyOWdKR1ExNnAx?=
 =?utf-8?B?Nk4xM1I3UlBHNG8rbndYbDZpTmZuTUY1d1ZzdjJEWnFkdXNRUFRvM0FtcC83?=
 =?utf-8?B?Y0ZZellmaXZCZkhIcVlhZTBUY21YNUYrdlc1RlBqOEd2WW1NRWo4SThxVkVz?=
 =?utf-8?B?ZDQrcmgwL2dQbFBFRFpmUEJDVHNrR0Q4dlB0UmdBamtQSEQ2eGNGRWJDNEtG?=
 =?utf-8?B?T0JQNnliYTBJVVpVQWZkOU9DalJwRk5KMWFWM1VBSmF1M25kd3JFdlZ1MVpW?=
 =?utf-8?B?ejN2MEwwbmR5OXpZSHJsb1NIQkZZSmI2OEZod09QYlp4VFZybWZBa0RwcHRk?=
 =?utf-8?B?clRjUXdhWUdrMjJUdy9uaWw5UUNkWkliTkt2bUhsWFl2Y0d3RUxVWGlhR2hR?=
 =?utf-8?B?SzhVTlhOaHdwL0tQMUgveGxxV2xDbEN6S0g1TStpQ3o3V1hqZTY5ZkxDb211?=
 =?utf-8?B?ak8zWUQwSUUwSnc5d0tUZE00VGxlNHhsU2xpZkRuaFRRMUg4dEx3TmMxdENq?=
 =?utf-8?B?TGU2bVRHb01ZTy84ejduN1RzRUFZSGFueUlxYm4xT3poVDIxRldZN1BpMDhG?=
 =?utf-8?B?NGtMSUJmUmRpN1dUdlhlQnJxaU9YMWZESDkveElOYjZ0WVp5eEM5aUxBcUxw?=
 =?utf-8?B?VURqQ2JZUXA5c29FTVNsd2owSkNDenlBTndOQzUzb2J5UVV6aDB6QT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5d75de7b-7e74-41ce-82b1-08dec16f346d
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 12:54:10.1533
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: unyMzA2j+Zr8t3DjrRokoSFoaNHD1m1ZGkBuVyfR18pwbw0nU13Vsy2/Ltx8ihV2Bp75tZoivGu+le5DXSKd3A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR03MB7549
X-purgate-ID: tlsNG-bad1c0/1780491255-40D67A53-17483D3E/0/0
X-purgate-type: clean
X-purgate-size: 4065

On Wed, Jun 03, 2026 at 08:04:25AM +0200, Jan Beulich wrote:
> On 03.06.2026 03:41, Stefano Stabellini wrote:
> > On Tue, 2 Jun 2026, Jan Beulich wrote:
> >> On 27.05.2026 00:12, Stefano Stabellini wrote:
> >>> On Fri, 22 May 2026, Jan Beulich wrote:
> >>>> (extending Cc list)
> >>>>
> >>>> On 22.05.2026 08:13, Dmytro Prokopchuk1 wrote:
> >>>>> --- a/xen/drivers/vpci/header.c
> >>>>> +++ b/xen/drivers/vpci/header.c
> >>>>> @@ -586,7 +586,7 @@ static void cf_check bar_write(
> >>>>>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
> >>>>>              gprintk(XENLOG_WARNING,
> >>>>>                      "%pp: ignored BAR %zu write while mapped\n",
> >>>>> -                    &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
> >>>>> +                    &pdev->sbdf, bar - pdev->vpci->header.bars + (hi ? 1 : 0));
> >>>>>          return;
> >>>>>      }
> >>>>>  
> >>>>> @@ -647,7 +647,7 @@ static void cf_check guest_mem_bar_write(const struct pci_dev *pdev,
> >>>>>          if ( guest_addr != bar->guest_addr )
> >>>>>              gprintk(XENLOG_WARNING,
> >>>>>                      "%pp: ignored guest BAR %zu write while mapped\n",
> >>>>> -                    &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
> >>>>> +                    &pdev->sbdf, bar - pdev->vpci->header.bars + (hi ? 1 : 0));
> >>>>>          return;
> >>>>>      }
> >>>>>      bar->guest_addr = guest_addr;
> >>>>
> >>>> Well. If I'm not mistaken we had discussed situations like this (long ago).
> >>>> Imo the added verbosity gets in the way of readability. If we absolutely
> >>>> cannot or don't want to deviate such constructs (of which I expect we have
> >>>> more), then we ought to consider alternatives (like changing the variables'
> >>>> types in the case here).
> >>>>
> >>>> As to deviating: rules.rst, according to my reading, says that &, |, ^, or
> >>>> shifts would be okay to use with a bool operand. What's wrong with also
> >>>> permitting this for other operators?
> >>>
> >>> In my opinion, if we are going to treat bool as its own type, it makes
> >>> sense not to silently mix bools into arithmetic with int types. I also
> >>> do not find this patch less readable -- I actually find it more
> >>> readable, since it makes it more obvious that hi is a bool.
> >>
> >> Well, okay, we have different opinions there. This reply of yours applies
> >> to the first paragraph of my earlier reply though, despite its placement.
> >> What about the aspect mentioned in the second paragraph?
> > 
> > You mean "then we ought to consider alternatives (like changing the
> > variables' types in the case here)" ?
> 
> That's another option, but not what I meant. I simply don't understand why
> some operators are okay to use with booleans while others aren't. Adding
> (for example) booleans can be quite helpful. Take this example from gas
> sources as example:
> 
>       if (overlap.bitfield.imm8
> 	  + overlap.bitfield.imm8s
> 	  + overlap.bitfield.imm16
> 	  + overlap.bitfield.imm32
> 	  + overlap.bitfield.imm32s
> 	  + overlap.bitfield.imm64 != 1)
> 
> And then see how the added verbosity would hamper readability:
> 
>       if ((overlap.bitfield.imm8 ? 1 : 0)
> 	  + (overlap.bitfield.imm8s ? 1 : 0)
> 	  + (overlap.bitfield.imm16 ? 1 : 0)
> 	  + (overlap.bitfield.imm32 ? 1 : 0)
> 	  + (overlap.bitfield.imm32s ? 1 : 0)
> 	  + (overlap.bitfield.imm64 ? 1 : 0) != 1)
> 
> > Other alternatives could be OK, but also this patch as-is is OK to me.
> 
> I'm not going to veto it (not being a maintainer of the code I really
> can't), but as per above the transformation imo is setting a bad example.

What about getting the BAR index based on the register value, and
hence avoiding the pointer arithmetic plus the boolean type addition?
I think that's clear and doesn't violate any MISRA rules, it would
obviously not settle the discussion about boolean type abuse as
integers, but would be fine to solve the specific issue in vPCI IMO.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 12:56:04 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 12:56:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326186.1591615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUl8d-0001bl-DD; Wed, 03 Jun 2026 12:56:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326186.1591615; Wed, 03 Jun 2026 12:56:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUl8d-0001be-AX; Wed, 03 Jun 2026 12:56:03 +0000
Received: by outflank-mailman (input) for mailman id 1326186;
 Wed, 03 Jun 2026 12:56:01 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUl8b-0001bW-6N
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 12:56:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUl8a-00BzfO-IP
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:56:00 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a202453-bab6-0a2a0a5309dd-0a2a45029414-34
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 14:56:00 +0200
Received: from [209.85.218.46] (helo=mail-ej1-f46.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a202460-af86-0a2a45020019-d155da2eed3a-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 14:56:00 +0200
Received: by mail-ej1-f46.google.com with SMTP id
 a640c23a62f3a-bebc80100efso448792466b.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 05:56:00 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bf05176fd14sm152509766b.11.2026.06.03.05.55.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 05:55: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780491360; x=1781096160; 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=eNVw/KiM6h+NH5CVUKMczzCXqF7am+stunxK+uGnnSo=;
        b=OcuOA+QSvLj/jODPIiUNKILLKCvhn2w5bXj+3dvfmbr4O8lCmwyVM9sPOsZONOA/cN
         UkX5F+lIFLHffR1BMnMZ7GqrfRvgPjCzlTgVmAW+1ThFFR95L0NYsbP6QeIjcDJIRyWR
         5RrpZcJ7mY1MyDlVUmYm9zH6zUE0M1CtQgC75O+MO1uaqoI0jVw3nIYAhkT/hOhIkyg8
         9wQqxbrChiGmfQFvkIV5BUka/j0tW3lcYpZoSKLm7ypleRd4oGt/ZUC6wY3/k6/stgM/
         2PwYJaiiug2as4bzXhX0er9AaOyoHFHpcLmopkoWkiikFxPyniKeZhqje9e5Bd39uaIz
         DoBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780491360; x=1781096160;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=eNVw/KiM6h+NH5CVUKMczzCXqF7am+stunxK+uGnnSo=;
        b=Hzsp/W2p8s3smVTpg0URSBktIo83ZGd/6hyU0Cd9uScyucJkwpRCx/BcwQb0tG+Kxl
         /yTvORUawSDjZP56YCk1UtPVZ8k8WVBb9wvd+aAi8Wotc62PSjpbLi6mualYwkdyC2+u
         Nh2IwjSD4lxKT4pilAVZSOM4ex3gpLCUkcajFRV0rquZzc/1P4Yi/C+PdtF133BAjXNL
         PMRLNcOV6m637SlNgZlkCTV7Z3FOr+aHApETCeeI1WSI/EHXude8pbrJPmj1bvgXD3KI
         gl4XrGBKi2gT3Uq5UEcRfpJS2gQpg67pN1Kp8AuFZeUU4JagBkrAJoZgYVp6PKFkN9Y2
         +kMw==
X-Forwarded-Encrypted: i=1; AFNElJ95MvioZc1+a4GTieNI8Ew65bwnQDNseLHz6QYS9qMCOF4rZibK09YKjCi6ancOT+DKXbn1/NrVjSQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YydruBJPZ9VjImpWoaueUwBf3UjM2bpMAhNN+7KlnumaTfxvx7X
	KHHZ/QdT5AbuvgTu4h67IsbrnMRdTU2xBOOFknApUlz/4yOAGAjZNdleJThVsQ==
X-Gm-Gg: Acq92OHL/eXNPwdwrK4fcGOyn1JhTdshzFbVnkHbYMkEpazIHitSh+JHakvljX9qybq
	rOtPRV1VugfFnNZoBlcL8kgbsWfFlJIv917A72vrFpWN0uvts+ETw0Uyf2L2H0Ep/ZKKBCOVNKA
	BC/1TGZPWrH8U+iAzv1Wixn5EsxiWISs9imLwXM8npyWhknDdH1eE5QQjeYDcnYfdMOiTic9Uoe
	nhHu2GGDRG20Mkf0Hdcq2loFurMHwXc7NCzDwbnkT7JljLJjbp/AktYKHDsy4j8dR/I1tx51CuR
	Jc0YBkaQKVcqKXFrFJRuHXfdiPGnHXwzUl1QWonUQssHdQBKLpmO63b9G+7D4hZz0HqRHyoyPvU
	Q35HlPcPRD2tgdikm7hkFEWjEdoRXRsbNdu3GBsdvXTcnMk1ADo5ZO5WtuWmc3mQF/HoSbgNgHf
	RkBgzYlHCUKM9aTC9S2Rdift8+MkKPBPZErIr0/nfEYkaS7uzmnEz2rkrrVLwWH3assuW6kcNI3
	VI0FiCTfmk+nwym
X-Received: by 2002:a17:906:c14f:b0:bee:e2a2:bdbf with SMTP id a640c23a62f3a-bf0ae70abe6mr167141566b.29.1780491359759;
        Wed, 03 Jun 2026 05:55:59 -0700 (PDT)
Message-ID: <dcf84d32-3657-4905-b396-57d3a3e1f1db@gmail.com>
Date: Wed, 3 Jun 2026 14:55:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] xen/domain: fix UBSAN null pointer dereference of
 d->shared_info
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: <cover.1779712171.git.oleksii.kurochko@gmail.com>
 <04dd784b6b9a4dfca9a313ea8802d8d514d65021.1779712171.git.oleksii.kurochko@gmail.com>
 <3aef7763-aea3-496a-8c18-d3659f590373@suse.com>
 <fb1b1194-5855-49d9-99fc-d35a3038833c@gmail.com>
 <3eb9ab3d-dc4d-4019-89c8-9f7dbdc528cd@suse.com>
 <9ae22210-6dd5-43e3-918e-f68b1294448d@gmail.com>
 <dc622455-c20f-4b8a-8c80-1e4c0143e8e0@suse.com>
 <ab414833-4a3c-485b-91ce-7a0a91f25182@gmail.com>
 <803b9674-d0a4-41eb-898f-4cb8df83c975@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <803b9674-d0a4-41eb-898f-4cb8df83c975@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-720697/1780491360-A8979161-9CF76A2C/10/73395122804
X-purgate-type: spam
X-purgate-size: 2251



On 6/3/26 2:33 PM, Jan Beulich wrote:
> On 03.06.2026 13:57, Oleksii Kurochko wrote:
>>
>>
>> On 6/3/26 1:23 PM, Jan Beulich wrote:
>>> On 03.06.2026 13:05, Oleksii Kurochko wrote:
>>>>
>>>>
>>>> On 6/3/26 7:54 AM, Jan Beulich wrote:
>>>>>> --- a/xen/common/event_fifo.c
>>>>>> +++ b/xen/common/event_fifo.c
>>>>>> @@ -562,9 +562,10 @@ static void setup_ports(struct domain *d, unsigned
>>>>>> int prev_evtchns)
>>>>>>
>>>>>>              evtchn = evtchn_from_port(d, port);
>>>>>>
>>>>>> -        if ( d->shared_info &&
>>>>>> -             guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>>>>>> +#ifdef CONFIG_HAS_SHARED_INFO
>>>>>> +        if ( guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
>>>>>>                  evtchn->pending = true;
>>>>>> +#endif
>>>>> While as per above shared_info() would best not exist when !HAS_SHARED_INFO
>>>>> (in which case #ifdef may be unavoidable here), an alternative where
>>>>> IS_ENABLED() could be used here may want at least considering. E.g.
>>>>> causing a link-time failure when shared_info() is used (and not compiled
>>>>> out).
>>>>
>>>> We still want here to have #ifdef instead of IS_ENABLED() as
>>>> shared_info() shouldn't exist for arch without 2L support so it will end
>>>> with linkage error.
>>>
>>> I don't understand this part.
>>
>> If the change will look like:
>>
>>     if ( IS_ENABLED(CONFIG_HAS_SHARED_INFO) && guest_test_bit(d, port,
>> &shared_info(d, evtchn_pending)) )
>>         evtchn->pending = true;
>>
>> It will help to avoid NULL pointer dereference of shared info page in
>> case of 2L isn't supported. But considering that shared_info() macros
>> will be reworked in the way which will lead to linkage error in the case
>> when it is used and arch doesn't have shared info page support usage of
>> shared_info() in setup_ports() will lead to linkage error what is wanted
>> to be avoid for arch without 2L support.
> 
> What linking error are you talking of? When !HAS_SHARED_INFO, the compiler
> will DCE the entire guest_test_bit(), including the shared_info() use. IOW
> I still don't understand what you're talking of.

Oh, you are right. Sorry for the noise.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:01:27 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:01:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326200.1591624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlDk-0003Re-UU; Wed, 03 Jun 2026 13:01:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326200.1591624; Wed, 03 Jun 2026 13: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 1wUlDk-0003RX-RZ; Wed, 03 Jun 2026 13:01:20 +0000
Received: by outflank-mailman (input) for mailman id 1326200;
 Wed, 03 Jun 2026 13:01:18 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wUlDi-0003RP-5f
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:01:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlDh-00FxiO-Hs
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:01:17 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a202596-2eae-0a2a0a5409dd-0a2a4508cb56-40
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:01:16 +0200
Received: from [52.101.228.137]
 (helo=OS0P286CU011.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a202599-63b5-0a2a45080019-3465e48909e7-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:01:16 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by OS9P286MB7519.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:454::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 13:01:10 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0071.015; Wed, 3 Jun 2026
 13:01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Rf2XGnE50FMA7tP+bmT8aAAZUrkCLVmsSt7Z+75ZICX4COBBrCFvrQfAaGuPPk/kkgjenLGRfsxl55zL77ko/obobqXObzrwG5/jbwtQhZxnIXNCwDQk3ifx1ZfIbOGUd7HiQAJicVLhXIiRD6isGRtwsMoFziF3DBctuJIJaBntPAxMcrOGjz2jrk7hCFPdOA92hAeAz6ioRRjTgtor6IUL5TpLazLsRlVqZLIzZMIKAp9JBjz/oXHpW5PjEUCWMRobQ2Nn2fKqxlmjgx76PK4lXeTZkxd9HFdwGBKg5PDmlENkkSQjKgvZbv2Ziy/0BpgcnCmwKg7st1Jsr7poWw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NHA8e+zbCgQWy8ZB117jcqSzUU8nXq9UdwZpZDQxgn0=;
 b=NkRH1yYVDS4zcyNxEWQg7GJUHBbjkoE5Brqak0JZTxhLGgS4Af1SboqbdG3SctBjvLixDsdKGP3iuglI252Xjps9WjB55RLopRgtprj+ySOvaGTYgrWty6vpJwiL95WFQt4TNPNJnKGH/sDtJs1KHq9crwAw5dFCm+sP9qQNGLf5UG5Hp9gLe5pfnCqolwNFIPfwrAQUCmgPXKRRh7RSj0/tEQDE/fz2lFCPHHmpBz2GF8ITHWMcMJL7uTwY6EqOjZP6aaCSx6YlBqE44CzpB6zb9ezrYBiyDlBAqJH1KhzMhp7M2dFCqcvlJzOmBJNlwMMHqFIyiDWk30Gb6B8ByQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NHA8e+zbCgQWy8ZB117jcqSzUU8nXq9UdwZpZDQxgn0=;
 b=MEqrAgWRKtaL1UB1hxGhIJ2zAJaW9JTk6oAceuYGPx0nyH9eiBKEthagQQifppvCGXM2xvEj90ayjq0G0/t7J/MIQIWMN4ueYcLHwOgo/Td2jG2YIJT683Tot0x5Bq5t1JCbicjS1hQYfE9A63fA1pD0EsLRF0Y1JQCJZjyKoto=
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: Hirokazu Takahashi <taka@valinux.co.jp>, 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?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v2 07/24] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
Thread-Topic: [PATCH v2 07/24] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
Thread-Index: AQHc8U+PsZhvkHY9vEqKRtt8NHnfGrYrBomAgAF93dCAAEeY4A==
Date: Wed, 3 Jun 2026 13:01:04 +0000
Message-ID:
 <OS9P286MB722241B5C3E48A93F7E0BBA782132@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
References: <20260531224755.9481-1-taka@valinux.co.jp>
 <20260531224755.9481-8-taka@valinux.co.jp>
 <7040c58f-2d4c-48f2-854f-c874efdcefbd@suse.com>
 <OS9P286MB72221F0A5D5195C7A4CAFD4082132@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
In-Reply-To:
 <OS9P286MB72221F0A5D5195C7A4CAFD4082132@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: OS9P286MB7222:EE_|OS9P286MB7519:EE_
x-ms-office365-filtering-correlation-id: 8bfc12f8-4f3b-4b03-3e58-08dec1702b72
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|376014|366016|7416014|1800799024|38070700021|6133799003|22082099003|18002099003|56012099006|4143699003;
x-microsoft-antispam-message-info:
 gqKQBx9n8cLF9O969W16BPKy3O2w6KdjtBBMNihovi7KY/YEOmiiBATNublJZZ7VKyX5mkeaaPtdu7pzSX/woFG8cyS2e6DuBBcE6rzk8TaEPekUIfZE06DVrv7EOlSEqT7TKeLiCEysHnafM/L/1VvvhI4ESZc+rQ+03t6MloQz6CsyDNcQ7G7AUWPZ/w/S17fJ26AbLpgETjSDsGntYghw5L3MuBkP1E1o7MxybwtXqIusEP3Avxg9JAtv8bfvp4ctV48u9N26UdirAFJlinZk6ADyz9Sutd3MmKikt4aH7ifTbbc5ijmdVDshXYetPP4HlYlNGiGhTsDVL4/NkSfJRjMb6lcOAqV7FDMJ6R0gI9zqETh6/BqxJ4eLpxvQZ92PrZomk/MN17wB/yacF6zosSWGqKLYxH41bniROX/qlwNR3BEV8dgAtrsDuDz9KEOwrj2V3wJarnmjM4ar6B+U0CDvNX1szHnCRm3CogcXc5S5yWEblrfCqikD5thK4yDpLM0kCduw6yO1C4sWbyUd+t4TzYKtpItLsqRjlPDzs22rR28l9zEMqT2eVnkMwfJtENhcx4muDuSl2DoTA1xSif0eDtATgZRfCAGiDHb2tP7SltKcYgbr3w2+/xa8eF7RKKzGek5VYCYWSapStRcaxALw7vmaFRvtrMLgAEgf5McQM5dDbvtmlcLvFwD1rCKKjWn3IftJLFdgI8dl4QbavEG+G4MSKg7MzxrzwNU9ac4H414IL1Hh+lQPIwZo
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(7416014)(1800799024)(38070700021)(6133799003)(22082099003)(18002099003)(56012099006)(4143699003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UW9NNzl5MlBBZHlVU042TVZnYzFxWVNFR1VPSlpSc1BzRFFESzlDem9xa09u?=
 =?utf-8?B?Qm4rN0FWZ1lvNFVyNTFBUHVrbi94YUJZMmw3Sml6SXNhVkQwaFlLZzR4TUN1?=
 =?utf-8?B?Z2dvWGtSREhIcnIyQmN5bjVhYlNSM2FXSVpwQ29qNnN0dnp0N0dOYTJpUjg1?=
 =?utf-8?B?cEF2OHdVMVlxQ25VOVIwWi94NEpGdGZpR0hicGhEV3ExeFl4clB6S1FTTEp1?=
 =?utf-8?B?Q3E4ZWcrN1lNSDZHbTd2Q3I1elZKUDNWN0x3WTBZZ0oveUgvdDFzT2hjK0Ir?=
 =?utf-8?B?a25uWVJjLy9QaTA1Yjhhb2gydDBUR2xRR2VWTzRDWVAwVXFLYTEyZHV4NTFy?=
 =?utf-8?B?ZUo3WHByUzkyWDJrNUQySG9RTnhxbnpuM0NOT3M0dWFDVkJyQndHUHBHdnB6?=
 =?utf-8?B?TllHZjRKemo0Z2U3QnlGaFpQeVV5TGZiQmxTZDJFZzhCR0xtYlM1OENlWHZK?=
 =?utf-8?B?T3c5OTUvd2tLaklHVlMzdXB5OUdGOWtvTHBFMEdEcVExdmtmWGlMUnMrbFFC?=
 =?utf-8?B?U01hYmxqK1pkRFNya25SZHh4U3dXSStCUGJGUDVhUFMyUlEzV3QySDh6WE4v?=
 =?utf-8?B?dFZjR0YyNFNEOXQ1dEJidjhWK3g4RnN6QkREZ25DNHZWa2loV0w2VUEwR1p6?=
 =?utf-8?B?RUZ0bXkySEtqVEI3QVp2dTdJYnZyL0xvTjJWSFdYWDV3WkpRazhSVEY5azFI?=
 =?utf-8?B?bmtTUTdLb0pqdUlZUUdqa3VuL3hQZnZGREdOb0tyNXRwcmpodUNhUVFIajlt?=
 =?utf-8?B?VlBvU1E3dTRXVjUzQTlhVC9lcVJiOUExSGdBcTJoK0VmWnJkTnBKWmZmQzZD?=
 =?utf-8?B?K2p0MWFXbTErcURtdGNGUXdvc1A4N3NFSXNMZGMrTjNLcDlybm5yQXJrT0Iz?=
 =?utf-8?B?dEltRWg2SE1YMkVDL2pjMjRKVUROcDBYRnk5d2txM0w2RDdjTnI3a1NBRUNn?=
 =?utf-8?B?NW8rdFFmS2lYVHViakFMYTY0VXhlV1VXbWowSHE3cit4Y2pKUmErVm1kRmZ5?=
 =?utf-8?B?RjhDVGZ1UXZ0V2d2QmVkSWJTRkY4ZVlDYTJBNzZKSldvbDNJTWNUbnlHSHhC?=
 =?utf-8?B?R2s3RHdObGlCNDhaZ0RHZnlJRExnR2RtRGhUMnJqandWNzk3aGg4SHMySkNu?=
 =?utf-8?B?Rk15ZEpHOFZrbTZELzVCNzFhYUI2b1FaTFBrRkhOb0Q3RSt0NFBNQWNIUEYy?=
 =?utf-8?B?SGtoSHZrS0EybEE0YXJlWVRaS3dTVktKbTFMYzVON1dteTZYMjQ3a0YxZXk5?=
 =?utf-8?B?WkNYaWJ2SThFYTh1azJmbjdqSU5UdEhXdy9CMzQraitpWXJtbTRCMCtsdVZK?=
 =?utf-8?B?OGZJbEhKVitFdW9xdDVCc3QrcndyZzlOQkRFWTVPeklvNUswRnloZTcxOWpH?=
 =?utf-8?B?c2RGSlRkTlhUeng0RmZPTTU3dWE0b2xoeHBPWnFvVWNkMEUwV3RIZjZaTExi?=
 =?utf-8?B?NUFvR2NIRkJTaGdVRGhTWTlZSGVIL2xiYjlNOWh4K2JqVHJGUTNoRVBObC9s?=
 =?utf-8?B?K3lGaEN4L01OandqNDZ2eFVlUWhHYlJza3BLeGFHVklYYzcrUnlpL1ZEaFo3?=
 =?utf-8?B?c3BZTUN6cEpreERmcWFlNkdxdG54UC9OMVdFTENINmJZYklZenZkdHlrd2pp?=
 =?utf-8?B?Rkw3bVlRS0pGVlczY3J2OVhTY0pyUHhmVFVsM3VHekErazdYOGZWdll5UU1a?=
 =?utf-8?B?QmpmSlVRWmNXYkFGRmZjVlBuUXFJeDV3NG8ra0xlOHdhZzBRZjhVbk84V0p3?=
 =?utf-8?B?K1prTUw2S3ZhblpINmpCQ0tvV2xiUG13aGRnRi9DNVY1QTRFcGV5SWx3aHA2?=
 =?utf-8?B?eEpnRmluUFdULzdqalphKzNnTDduUjJocUI4VFh1dlZ0bUs0QXY1ZFYrbG54?=
 =?utf-8?B?NVJIdkNrNkRYZm1sV0xDWGRvdC9XdGpaVU1BS1JPb09GYVZDdEhrTXY1b2h3?=
 =?utf-8?B?VXRSL3poaEFMNUt4VDdjdnNOenVlWlJWTlFMaytGdFZtNFg1WjcxRmZTOGVR?=
 =?utf-8?B?U1ZVQkl6eWNRQ2NRQTF0Uk95Y3E2a3Zib2pwZVgrT0dtcDVtOWt1WlpHU3pC?=
 =?utf-8?B?NllUc1gwdDYyd1cxRWxTQnU4M05NNW1jdVBIUDA0eDliSGV0a2hpdHg4QlJZ?=
 =?utf-8?B?blpsbi9GM3YvZmEzTVVzZmlCeWx2ejIvZ21NQW5ERkNibDZHUERheFZOQ1V0?=
 =?utf-8?B?d1JveWg4TUdORzRKMmQyTGJrWWF5TFYvUDNBWHZjQ3lxNFRqamo3WU5aVi81?=
 =?utf-8?B?aGhzM05hRGFIczNDdGxVeU0xSUE3R0lYZlg4TUpid3BSRDlGQko4aDhmMFRa?=
 =?utf-8?Q?oBUZqxS0Fwy6lAN8fl?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 8bfc12f8-4f3b-4b03-3e58-08dec1702b72
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jun 2026 13:01:04.2077
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 9sswc1IyYyZMFArML1nRTfAOvAk/86eZSMMDbMt7UdUZdqpgOuG1jDQ3ULkw2GmeXreIjg1O4RTLaNXY2rrHRw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS9P286MB7519
X-purgate-ID: tlsNG-c1860d/1780491676-B6975DB1-24DA512E/0/0
X-purgate-type: clean
X-purgate-size: 1988

SGVsbG8sDQoNCj4gPiA+ICsNCj4gPiA+ICsjaWZkZWYgQ09ORklHX0RUX0NQVV9UT1BPTE9HWQ0K
PiA+ID4gK2V4dGVybiBzdHJ1Y3QgY3B1X3RvcG9sb2d5IGNwdV90b3BvbG9neVtOUl9DUFVTXTsN
Cj4gPg0KPiA+IElmIGF0IGFsbCBwb3NzaWJsZSwgbm8gbmV3IE5SX0NQVVMgZGltZW5zaW9uZWQg
YXJyYXlzIHBsZWFzZS4NCj4gDQo+IFRoaXMgaXMgYWxzbyBwYXJ0IG9mIHRoZSBjb2RlIGltcG9y
dGVkIGZyb20gTGludXgga2VybmVsIDcuMCwgd2hpY2ggaXMgdXNlZCB0bw0KPiBzdG9yZQ0KPiB1
bmlxdWUgdG9wb2xvZ3kgZGF0YSBwZXIgQ1BVLg0KPiANCj4gSSBrZXB0IGl0IGFzIGFuIGFycmF5
IHRvIG1hdGNoIHRoZSBvcmlnaW5hbCBMaW51eCBzb3VyY2UsIGJ1dCBJIHVuZGVyc3RhbmQgdGhl
DQo+IGNvbmNlcm4NCj4gYWJvdXQgYWRkaW5nIG5ldyBOUl9DUFVTIGRpbWVuc2lvbmVkIGFycmF5
cyBpbiBYZW4uIEkgY2FuIHJlZmFjdG9yIGl0IHRvIHVzZQ0KPiBYZW4ncw0KPiBwZXItQ1BVIGlu
ZnJhc3RydWN0dXJlIGluc3RlYWQuDQoNCkp1c3QgYSBxdWljayBmb2xsb3ctdXAgdG8gbXkgcHJl
dmlvdXMgZW1haWw6DQoNCldoaWxlIEkgd2FzIGxvb2tpbmcgaW50byBtb3ZpbmcgdGhlIHRvcG9s
b2d5IGRhdGEgdG8gYSBwZXItQ1BVIHZhcmlhYmxlLCANCkkgcmVtZW1iZXJlZCB0aGUgb25nb2lu
ZyBlZmZvcnQgYnkgdGhlIHRlYW0gd29ya2luZyBvbiBDUFUgaG90cGx1Zy4gDQoNClRoaXMgaW50
cm9kdWNlcyBhIGRpbGVtbWE6IGR1cmluZyB0aGUgZWFybHkgYm9vdCBwaGFzZSB3aGVuIHdlIHBh
cnNlDQp0aGUgRGV2aWNlIFRyZWUgdG9wb2xvZ3ksIHRoZSBwZXItQ1BVIGFyZWFzIGZvciBDUFVz
IHRoYXQgYXJlIG5vdCB5ZXQgYWN0aXZlDQoob3IgeWV0IHRvIGJlIGhvdHBsdWdnZWQpIGhhdmUg
bm90IGJlZW4gYWxsb2NhdGVkIHlldC4gVGhlcmVmb3JlLCB3ZSB3b3VsZG4ndA0KaGF2ZSBhIHBs
YWNlIHRvIHJlY29yZCB0aGUgdG9wb2xvZ3kgaW5mb3JtYXRpb24gZm9yIHRob3NlIGluYWN0aXZl
IENQVXMgDQphdCBib290IHRpbWUuDQoNClNob3VsZCB3ZSBoYXZlIHRoZSBob3RwbHVnIHRlYW0g
cGFyc2UgdGhlIERldmljZSBUcmVlIHRvcG9sb2d5IGluZm9ybWF0aW9uDQpvbi1kZW1hbmQgd2hl
biBhIENQVSBpcyBob3QtcGx1Z2dlZD8gDQoNCkN1cnJlbnRseSwgdGhlIGZ1bmN0aW9ucyB1c2Vk
IHRvIHJlYWQgdGhlIHRvcG9sb2d5IGZyb20gdGhlIERldmljZSBUcmVlIGFyZSANCm1hcmtlZCB3
aXRoICdfX2luaXQnLiBSZW1vdmluZyAnX19pbml0JyB0byBrZWVwIHRoZXNlIGZ1bmN0aW9ucyBy
ZXNpZGVudCBpbiANCm1lbW9yeSBmZWVscyBsaWtlIGEgd2FzdGUgb2YgbWVtb3J5LiANCg0KV2hh
dCBkbyB5b3UgdGhpbmsgd291bGQgYmUgdGhlIGJlc3QgYXBwcm9hY2ggaGVyZT8NCg0KVGhhbmsg
eW91LA0KSGlyb2thenUgVGFrYWhhc2hpLg0K


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:02:03 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:02:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326205.1591633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlER-0003tR-9D; Wed, 03 Jun 2026 13:02:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326205.1591633; Wed, 03 Jun 2026 13:02: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 1wUlER-0003tK-6Y; Wed, 03 Jun 2026 13:02:03 +0000
Received: by outflank-mailman (input) for mailman id 1326205;
 Wed, 03 Jun 2026 13:02:02 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUlEQ-0003tC-Ip
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:02:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlEP-00FxqR-Vh
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:02:01 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2025c4-5cb7-0a2a0a5109dd-0a2a4505e4a2-22
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:02:01 +0200
Received: from [209.85.218.44] (helo=mail-ej1-f44.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2025c9-aaa8-0a2a45050019-d155da2ca8c7-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:02:01 +0200
Received: by mail-ej1-f44.google.com with SMTP id
 a640c23a62f3a-bef8b97655eso114690366b.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:02:01 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bf051d82a31sm157345066b.19.2026.06.03.06.01.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:Content-Language:References:Cc:To:Subject:From:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780491721; x=1781096521; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:to:subject:from:user-agent:mime-version:date:message-id:from:to
         :cc:subject:date:message-id:reply-to;
        bh=4od1HOoTgeM9Rp+6xcIjRMrkU/PU5hUqSDqyqvlukdw=;
        b=kPQYccB36ziw5SoR75jlaeL4e9etchaFB/4qGtzBJXED2ggGqhHrxACVCsJS2kKGlz
         M8CxRl4FJcNwjz3yn95Mla0FuPoBNdF5IHPNWeLQl4sEMzN1W+DsqUAMSq2aNssjTm3W
         9qRdf8tvqcvY5zUN2uwrNY/5Cv3BBi2HL4w7xsoW/hsiXt0HBKgLyCHqRj8753idzCap
         OIXpVdldq6ouH3Ikb3KRcO0TkO3vX8L/OVkRVlTwB72bU6PPgmXkpyzAjaeAQdhMp8+g
         Ap+Ak+yq4XFJ0F8s8M0aSU55j0r0QliWjpHqntIq7ClvIi/QqhG7uKZC0eSBlfLCIpf0
         X7QQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780491721; x=1781096521;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:to:subject:from:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=4od1HOoTgeM9Rp+6xcIjRMrkU/PU5hUqSDqyqvlukdw=;
        b=Bd8hWr0aKIZ9O6/u3CSJ7bB6/pYK5ynYQn0+btYLT56QNqYcFpk9BUYUdKyOStis6j
         3uZZzpe0nHdqCIPSExfRTPZkU0JfTS7eGxhNWmzszRMi23CzgREj2h6COmLPbubvl9+o
         +iIG6PA8SYHTNOi1ZuEXf16hBTrb5B9GU43QbADFYCook9WErYAsICcgdzJNDKfJOJrw
         eKtqoqndTIKX6bRQt+SL7mBE/BLiSGPSuy8pQGMSgrmdHha0VFl8owLIJXPwnL+lkuQl
         /7mS3FzWWfLizqz4wgJloD4OApEEl9OMSOZnPG1VzUpNf0IQ7ELZZeYkMGBMrptMmSPq
         HHjw==
X-Forwarded-Encrypted: i=1; AFNElJ+DmUIqpHWFhsVWEEcHvcd6maPMFMLzttST9RtnKRRlIG6otsScRdY/ftGOauaaGmgIIZ54onzEkIw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxvOCkVwOKrlNagJE/kybakz8jbBcOUvlh3cOpaa8/yCBQ7/oX/
	LWIdUuHLAlGgHYFclNcUDGUFGb5SrhhLRIaGN8JXxk5W4r93OUOadoehNGq6HA==
X-Gm-Gg: Acq92OEqGrY492VMPGPrfY3Jat2anprIkyZpwdycSGDbS0lgj/UwpA7mkqNZZbdhSXl
	Z4Z6INFFGb2EGuvX4PxXLp/bMvoHvaRg3A0e/gmBuvMH9H2sB0C0HPxkercJ9oW4OWbsez0WWi2
	vc0BAk/np4VcGuNMyiVcAvgFo1Tw5D2N2tAsRUwJyDYN8SDUmBsDyyk8OYBsCdPTLPIxm3xrjHY
	Vb+UuCY75porvw+KwfPTsFPk/2gTgttnuevIfq421uQTI0tdwsZrsSdcZ9EtHFBoMk2no6f/M52
	urqwJDzvatXmaGGkhIxALfMCvt9opZlL6R7a6j4ZRfqV1cMJFgfanh9M+X0wxiXaN2BZCPnRi2K
	iJn8xhS8X0ExadgcEnTFKIh7rwQHbtpWY6e1puoRgja7zwjOuiDgtD0h02fvePqz7elilyYoKcM
	9QV58EbMj4BePa4DfZH+AJ2ifFOsOiNJTANezh3sQXYogHGMdOAwNECqzhIUPqGG42UvqvhK8FI
	+ON9d2So+pDxbD+
X-Received: by 2002:a17:906:a354:10b0:bf1:cc:3d55 with SMTP id a640c23a62f3a-bf100cc455bmr87945066b.3.1780491720831;
        Wed, 03 Jun 2026 06:02:00 -0700 (PDT)
Message-ID: <23167e00-685b-4033-aa8c-6c44c705448c@gmail.com>
Date: Wed, 3 Jun 2026 15:01:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22(?) 0/2] tools: Use the system liblz4 package
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20260603085331.2704108-1-andrew.cooper3@citrix.com>
 <4818e5b8-21e9-4f2b-9977-8fc4c9a4889b@suse.com>
Content-Language: en-US
In-Reply-To: <4818e5b8-21e9-4f2b-9977-8fc4c9a4889b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1780491721-DA175443-014521FA/10/73395122804
X-purgate-type: spam
X-purgate-size: 1286



On 6/3/26 11:16 AM, Jan Beulich wrote:
> On 03.06.2026 10:53, Andrew Cooper wrote:
>> Switch to using the system liblz4.
>>
>> This brings libxenguest's lz4 decompression in line all the others, rather
>> than using the unsafe decompressor from Xen (itself a port of Linux's unsafe
>> decompressor).

Generally, the patch series looks straightforward and low risk, so I am 
comfortable taking it for this release. Considering that...

> 
> As stated in 84f04d8f0dbf ("libxc: add LZ4 decompression support"), there was
> no shared library available at the time (and on the SLES versions I worked
> with). Later a shared library appeared, but the -devel package still wasn't
> there. On my main dev system (intentionally a relatively old SLES version) I
> therefore wouldn't be able to build/test LZ4 anymore if we went this route.
> (FTAOD this isn't an outright objection, as the goal of the series is
> certainly good. It is mainly a data point to consider.)

...does not consider this an outright objection. While this may become 
an issue sooner or later on older dev systems, if the change is accepted 
into staging, we could switch to the shared library approach in 4.22.

We should also consider adding a note to CHANGELOG.md.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:02:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:02:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326211.1591642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlEy-0004Oo-ID; Wed, 03 Jun 2026 13:02:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326211.1591642; Wed, 03 Jun 2026 13:02: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 1wUlEy-0004Oh-Eb; Wed, 03 Jun 2026 13:02:36 +0000
Received: by outflank-mailman (input) for mailman id 1326211;
 Wed, 03 Jun 2026 13:02:35 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUlEx-0004NB-6S
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:02:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlEw-007HpS-J2
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:02:34 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2025e8-bab6-0a2a0a5309dd-0a2a4502b0ae-10
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:02:34 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2025ea-af86-0a2a45020019-d155802ad15a-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:02:34 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-490ace40f4bso38774345e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:02: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-490b615fb2bsm62087165e9.5.2026.06.03.06.02.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 06:02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780491754; x=1781096554; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt: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+7TwDBPevdNUQshNBDA4mQPANAycJyMrO79icl3GT0=;
        b=C41DOI666gyE65ltuytGKcVHIVQ32X8Vp8bONPStSx4MQSODjqqpgn/Z5Pq9d5bH/N
         /Sc7PLw8APxVJW3ZSALN4bToEkdPbhBOZErVEml6QnsI/YfLxzsw/sLR2UIxvEaphX3S
         S6y0WAXuvBvA2RxY+ZXsK20LkFoQAmo2CQ/Dla5xh+gGHz2+LMghekzjl0ERZzthFAhX
         mJkkjpxPfTBx0vbfwkr9JDQmhkNGAg/IOUOJg89fSuLNXw70t59NZNvPTUmYQ43aU3uT
         6LM5bXb7CnSNZR/wTb+Q5ZpMLBHfYglzrrbyNhtgvPwcTnXPpEBHg42JsD5txzQug48u
         gnXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780491754; x=1781096554;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=H+7TwDBPevdNUQshNBDA4mQPANAycJyMrO79icl3GT0=;
        b=V8b50IEP/jBE++MqrRHrMUXnlLVvM9PTkYgLyHcOJvQjj3S6O3lzRnA09hB9pWlMve
         sImNpkGOGuBJh0aa3KeBFOHArhODe0k7026zdUIb6ko4U8JBB+xt6aOq3nmjyhJRZ8It
         wfT8WDvhQQvoZmz/cQ47JPQk8Batn1UkllNh5AzWv79PXzO/nYsB0xjPrc+EDNHBDUYt
         4MfsGHY43HLJLv8YV7LeVrqe5R3grc97duqsrqy8SZadmx2FjMJBCV5CXW39gYTaLbvE
         fhuOzHgaUuMoMN5ADyGN5CTW4HUQ75SDvwpVAmgYkb4f5lHyTlbLlQuQ8lYEJ5AK3J3I
         laCA==
X-Forwarded-Encrypted: i=1; AFNElJ8eQIcnaeQO3CC6ZcU1ZOX4GKKHXQGWqAKm5qtC6glquxTgFs0dVSt/hPjX78RbrNpIjSuvwjV1eg8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyo1FafB4PQwjPkx9r8XM3JhV06CM12i6+Z2uRaOCXKbZqlyyR9
	U/0Pmz90TIXZFG6h//3f46PTBPt6FHNgv99uy10bzjRzXtfnmwrY5P7rr7w/49hrWA==
X-Gm-Gg: Acq92OGDMfT5u2cT82fLBOYwb485drXLbKbPNcTUk8gMhZNB/OP6xtRh0fsg4dKTeTF
	RRGe8FC/xMy6JUboUo2Nu4nzoVoxvfrJ+U5WaNrnnB0nH/6NmCK2Y/MtZ1AxzIDDnH0lFA3F5iG
	qvIPaBuhL/sW+owp+7UsrjpFxXBoiBrtvT+ZXnnM0l0uMJVQJunGrJa38nFDXvcVrvaGU6C2yvL
	NkDjsmtUI8PPVHM1fCC5i6l2RDTD59kg1GsMIV/vCE8rpwJA2EZ/WN+bTsP+oym1Esyl2qG8VBJ
	w+G1H0HW0u96SV44iqBLryHVNmUrgclTaNc/D8u9Nzp/6sXRFUutWHt90vse1j4U+EwTCUr16t8
	FJ1un39HdllaOIsHFBXK+4scH8xKGv3v7UDjJ/F3dudzh1PmFSC5PB0xG5tsOULMvaU0C/wyveW
	+PqermRJgQ4J7mScxk2UMbN1rasIJc5dNFqXul+tfOyXTb62BkJepHNdYdls/FLG5kAxAd9C1Gx
	JEJAErtrFj/8HcCaq+2ohRf0w==
X-Received: by 2002:a05:600c:46ce:b0:490:b4e5:ce7e with SMTP id 5b1f17b1804b1-490b5edcbe3mr48133485e9.25.1780491749054;
        Wed, 03 Jun 2026 06:02:29 -0700 (PDT)
Message-ID: <616db16e-3c3e-4000-b6ea-d2703f5a848b@suse.com>
Date: Wed, 3 Jun 2026 15:02:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] vPCI: resolve MISRA R10.1 boolean arithmetic type
 violation
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>,
 Stewart Hildebrand <stewart.hildebrand@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e23266191a366abe66d8104783d97578aa8734a4.1779428826.git.dmytro_prokopchuk1@epam.com>
 <984c91b8-3d2c-4431-bdf1-4a333ac341d1@suse.com>
 <alpine.DEB.2.22.394.2605261508390.182011@ubuntu-linux-20-04-desktop>
 <62abdafd-a49c-46e0-b529-0646a8d2425a@suse.com>
 <alpine.DEB.2.22.394.2606021840110.550703@ubuntu-linux-20-04-desktop>
 <b443469b-01fe-4196-a79f-811bfb6e17d8@suse.com>
 <aiAj7duOGUAkbB05@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: <aiAj7duOGUAkbB05@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1780491754-81772161-E1CCDDDE/0/0
X-purgate-type: clean
X-purgate-size: 4312

On 03.06.2026 14:54, Roger Pau MonnÃ© wrote:
> On Wed, Jun 03, 2026 at 08:04:25AM +0200, Jan Beulich wrote:
>> On 03.06.2026 03:41, Stefano Stabellini wrote:
>>> On Tue, 2 Jun 2026, Jan Beulich wrote:
>>>> On 27.05.2026 00:12, Stefano Stabellini wrote:
>>>>> On Fri, 22 May 2026, Jan Beulich wrote:
>>>>>> (extending Cc list)
>>>>>>
>>>>>> On 22.05.2026 08:13, Dmytro Prokopchuk1 wrote:
>>>>>>> --- a/xen/drivers/vpci/header.c
>>>>>>> +++ b/xen/drivers/vpci/header.c
>>>>>>> @@ -586,7 +586,7 @@ static void cf_check bar_write(
>>>>>>>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
>>>>>>>              gprintk(XENLOG_WARNING,
>>>>>>>                      "%pp: ignored BAR %zu write while mapped\n",
>>>>>>> -                    &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
>>>>>>> +                    &pdev->sbdf, bar - pdev->vpci->header.bars + (hi ? 1 : 0));
>>>>>>>          return;
>>>>>>>      }
>>>>>>>  
>>>>>>> @@ -647,7 +647,7 @@ static void cf_check guest_mem_bar_write(const struct pci_dev *pdev,
>>>>>>>          if ( guest_addr != bar->guest_addr )
>>>>>>>              gprintk(XENLOG_WARNING,
>>>>>>>                      "%pp: ignored guest BAR %zu write while mapped\n",
>>>>>>> -                    &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
>>>>>>> +                    &pdev->sbdf, bar - pdev->vpci->header.bars + (hi ? 1 : 0));
>>>>>>>          return;
>>>>>>>      }
>>>>>>>      bar->guest_addr = guest_addr;
>>>>>>
>>>>>> Well. If I'm not mistaken we had discussed situations like this (long ago).
>>>>>> Imo the added verbosity gets in the way of readability. If we absolutely
>>>>>> cannot or don't want to deviate such constructs (of which I expect we have
>>>>>> more), then we ought to consider alternatives (like changing the variables'
>>>>>> types in the case here).
>>>>>>
>>>>>> As to deviating: rules.rst, according to my reading, says that &, |, ^, or
>>>>>> shifts would be okay to use with a bool operand. What's wrong with also
>>>>>> permitting this for other operators?
>>>>>
>>>>> In my opinion, if we are going to treat bool as its own type, it makes
>>>>> sense not to silently mix bools into arithmetic with int types. I also
>>>>> do not find this patch less readable -- I actually find it more
>>>>> readable, since it makes it more obvious that hi is a bool.
>>>>
>>>> Well, okay, we have different opinions there. This reply of yours applies
>>>> to the first paragraph of my earlier reply though, despite its placement.
>>>> What about the aspect mentioned in the second paragraph?
>>>
>>> You mean "then we ought to consider alternatives (like changing the
>>> variables' types in the case here)" ?
>>
>> That's another option, but not what I meant. I simply don't understand why
>> some operators are okay to use with booleans while others aren't. Adding
>> (for example) booleans can be quite helpful. Take this example from gas
>> sources as example:
>>
>>       if (overlap.bitfield.imm8
>> 	  + overlap.bitfield.imm8s
>> 	  + overlap.bitfield.imm16
>> 	  + overlap.bitfield.imm32
>> 	  + overlap.bitfield.imm32s
>> 	  + overlap.bitfield.imm64 != 1)
>>
>> And then see how the added verbosity would hamper readability:
>>
>>       if ((overlap.bitfield.imm8 ? 1 : 0)
>> 	  + (overlap.bitfield.imm8s ? 1 : 0)
>> 	  + (overlap.bitfield.imm16 ? 1 : 0)
>> 	  + (overlap.bitfield.imm32 ? 1 : 0)
>> 	  + (overlap.bitfield.imm32s ? 1 : 0)
>> 	  + (overlap.bitfield.imm64 ? 1 : 0) != 1)
>>
>>> Other alternatives could be OK, but also this patch as-is is OK to me.
>>
>> I'm not going to veto it (not being a maintainer of the code I really
>> can't), but as per above the transformation imo is setting a bad example.
> 
> What about getting the BAR index based on the register value, and
> hence avoiding the pointer arithmetic plus the boolean type addition?
> I think that's clear and doesn't violate any MISRA rules, it would
> obviously not settle the discussion about boolean type abuse as
> integers, but would be fine to solve the specific issue in vPCI IMO.

For the case here - sure, that should be fine. But I specifically
wanted to understand (generally) why we are limiting ourselves, as
surely other cases are going to show up.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:06:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:06:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326224.1591660 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlIb-0005DA-6H; Wed, 03 Jun 2026 13:06:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326224.1591660; Wed, 03 Jun 2026 13:06: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 1wUlIb-0005D1-2y; Wed, 03 Jun 2026 13:06:21 +0000
Received: by outflank-mailman (input) for mailman id 1326224;
 Wed, 03 Jun 2026 13:06:19 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wUlIZ-000501-C1
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:06:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlIY-006lQ8-Ok
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:06:18 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026c5-e002-0a2a0a5209dd-0a2a45058c04-12
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:18 +0200
Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026ca-aaa8-0a2a45050019-d1558036d569-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:18 +0200
Received: by mail-wm1-f54.google.com with SMTP id
 5b1f17b1804b1-49068493267so75582595e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:06:18 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2ec711sm7254825f8f.12.2026.06.03.06.06.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 06:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780491978; x=1781096778; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/H+CjEBJpsrZPsr1tA2Dr4sF8Rh9SLgca+SlhR+hbSM=;
        b=cH/Dp2PzmOoFWwbjHSc5MOnndbvy/sldZmb95J6kVSSWpMQh5ns3c8HPTmEZlv4v38
         60IAICO71d1TTd+pzd1qZCvVNYDju9Ho/YCg4xQVIMojRlFvfxT2yprsWKKZGqBZ8CXS
         i7bc0VS6e7hpmUxouOBdveDeYxQ5pSyEGmvVTKbcoEP0kMRWPMxue9fMQdLhDzhv4xav
         KG5gW0MGzZWD85U2EvBMA7OML1kiqAHlQRaiUGgjAxj5FE6qhVrGNjnnp9QDT75eeioe
         d5867S3T0Ib4PRJMbAu6L1K+e6WAGfJA72KMOxWfkxx+FmI5mDKWZKm+owIUf/erh9Cy
         /0MA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780491978; x=1781096778;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=/H+CjEBJpsrZPsr1tA2Dr4sF8Rh9SLgca+SlhR+hbSM=;
        b=Rz4nFDNd66hCwC+btgBDbKRPU/fKDrJVq9nYn4Uys4X3E7YeEmRYicoMuPa1cXKMyN
         WC6YGP5yej4Q4lphXmKQG1M+w+1clCmWnH3GBIkIkg4IvXghcX7xWaQPy84XX9QpsVX8
         KI/6z6ZdxJY4rgUGedzXWCKIAasDZkYTHyWUNW1hsOfLTTOq94GCr8dAppeQ5X8LjwFY
         iaqUAVepP4qnTqha25l/gu817YtRD/Om0TXpfRf41lkwr88gyICOv9W/XnW8vMzo2jUJ
         uV5jK/EZ+mRhlpDxuuUIjt7ZqPVcdmbrAeHdQfeVpkhxutNQ3IAT/8HDJRKMjzSiegQ8
         PYYQ==
X-Gm-Message-State: AOJu0YzGWn1DkVwPaUyzAtPJr4YWNS+TtWDbV6cDO5OX+OQDJgOP/LwV
	tgBxexUHj98kzvrWb6RFfUfucAjITDJB7PnZVfZitfgYpZL7d/Gru6c5n8crDHmX
X-Gm-Gg: Acq92OEM7v7l/INcdMHdxrtpAv8ULrIvmD2GotgxMlZxdqDHPH0EwMjyU6sD2Crr415
	lZmr9KFDIrS20I8TVNCSQohvlvdX5+b9qkvBnLzu0K9ccZuvoKdjdTJXtpkWjXDY4/7tyoCMFeZ
	iqMq+NpcmqOxXmVd5A6tDRGJ/lg/8z1sItIb5cEtC0pDE9e71RrsosS3oHm1eG7VoTzmA88FgTM
	Wd19pCGKlnir0jwQv3IUkSxhF6g/rxbDuUUHu8y/llWuvZ63uzbo5YpmZNCmOlb92Kl28cZcACd
	B7qXfoMUoz+yie3MmZ6eAe7CrZv8h0s89UfQL/LqQamjGZ0KgmeS5k49dHjTAng4W7alpfpvIdj
	x2Z7sWCBkCEeW2U2S/u1mZjp5UgUbqmdHPKY2RcHKZqWode8pRzqGhEdmimPIFC+cyGGmeA1EMk
	pZF3devaQ9INatoPPLuMsyW6KQcNjRL6F3g1s0aF4eeJhPmjTyN6824vX+0Ulas+Noro8CCt+Pq
	L6wZN0Xbq04ysEDKJUzwXZHYXTOhsh1o/m/
X-Received: by 2002:a05:600c:c10e:b0:485:3abe:ab86 with SMTP id 5b1f17b1804b1-490b5e839bdmr49022045e9.4.1780491977829;
        Wed, 03 Jun 2026 06:06:17 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v4 01/16] libs/guest: Reduce number of parts in write_split_record
Date: Wed,  3 Jun 2026 14:05:48 +0100
Message-ID: <20260603130603.776452-2-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260603130603.776452-1-frediano.ziglio@cloud.com>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1780491978-DA175443-10456DE8/0/0
X-purgate-type: clean
X-purgate-size: 1781

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Small optimization.
There's no much sense to split the header in 2 pieces, it will
just take more time and space to reassemble them in the final
buffer.
This also avoids truncating combined_length to 32 bit in case of
64 bit machines potentially avoiding following record_length check
(it could still be truncated writing it in xc_sr_rhdr structure
but the following check will catch it).
The function become more coherent with following read_record
function.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v2:
- change prefix in subject.

Changes since v3:
- clarify commit message.
---
 tools/libs/guest/xg_sr_common.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/libs/guest/xg_sr_common.c b/tools/libs/guest/xg_sr_common.c
index 7ccdc3b1f6..86c148c62f 100644
--- a/tools/libs/guest/xg_sr_common.c
+++ b/tools/libs/guest/xg_sr_common.c
@@ -59,11 +59,11 @@ int write_split_record(struct xc_sr_context *ctx, struct xc_sr_record *rec,
     static const char zeroes[(1u << REC_ALIGN_ORDER) - 1] = { 0 };
 
     xc_interface *xch = ctx->xch;
-    typeof(rec->length) combined_length = rec->length + sz;
+    size_t combined_length = rec->length + sz;
     size_t record_length = ROUNDUP(combined_length, REC_ALIGN_ORDER);
+    struct xc_sr_rhdr rhdr = { rec->type, combined_length };
     struct iovec parts[] = {
-        { &rec->type,       sizeof(rec->type) },
-        { &combined_length, sizeof(combined_length) },
+        { &rhdr,            sizeof(rhdr) },
         { rec->data,        rec->length },
         { buf,              sz },
         { (void *)zeroes,   record_length - combined_length },
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:06:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:06:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326225.1591669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlIc-0005RK-Gr; Wed, 03 Jun 2026 13:06:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326225.1591669; Wed, 03 Jun 2026 13: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 1wUlIc-0005RB-CY; Wed, 03 Jun 2026 13:06:22 +0000
Received: by outflank-mailman (input) for mailman id 1326225;
 Wed, 03 Jun 2026 13:06:20 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wUlIa-000569-ES
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:06:20 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlIZ-007IV7-RI
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:06:19 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026c8-bab6-0a2a0a5309dd-0a2a4509cd16-24
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:19 +0200
Received: from [209.85.221.51] (helo=mail-wr1-f51.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026cb-2497-0a2a45090019-d155dd33a82f-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:19 +0200
Received: by mail-wr1-f51.google.com with SMTP id
 ffacd0b85a97d-45ef5146b56so454628f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:06:19 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2ec711sm7254825f8f.12.2026.06.03.06.06.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780491979; x=1781096779; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=YRDIkYEFhAoyg2vrbD/w/bb4Chd8wbV0BhcfXDreNEc=;
        b=kVYcBR52fQcUI6cy9IRMPpDCSQMBdjMZez2Yq+EJpXXHEGaSdsvJrdHsUTx0MfO3xY
         ijGrlIIOy0pZcIHmV/pem0jC7vL5YTDUaBTLn3rE8Y2DdN0WGveWUeKvIEVEqd/Zax23
         wM0uXmc5o7yl0puzvtWEn3aRsD0GI/Och4YsvlVh0+OxlxJ3p5ZxML8h8Rm7juY4eMZs
         6wVHZS4tMHspwu87Tmu5feBmACrSd61Lx5xgUW3IOzUcCNCcPJUaX352LzJd9E5N5ioK
         MsbQKkB5ezLpv7l6TUBjJh+X7MQnhuo9x8N1+ds2iAB5yVr0bzBNWQ95AquXvLqDafJq
         g7ew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780491979; x=1781096779;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=YRDIkYEFhAoyg2vrbD/w/bb4Chd8wbV0BhcfXDreNEc=;
        b=inErtMQEgsJdiAwC5YvOMqtEJmqX0abNLUhd6Dmds5jYtOPPZVsrkkav2UTFcQ4Da8
         5cp6Xw9nqzOYNtEw7iAtcAXpIEEPm6RTVbHe9oIo6nZ/+Ke80JkQK2h7zRFA8y/aCgEY
         2FKNZHQBV/VXh51oS14HwJuBojGTSkA6Qjpk9PJ75a8bwuqI1OR1Xoe7hklEMNB8znqR
         x5IX+JrFRTVq3jfvbT2VcVQDoVI1Eh4qEtL9DnfLRrSDvf3V+KMEtz+WIUcO2IdqFHbm
         4tYCTnzC2ElMnmSadmVt+ldlLElmYoMbTn7MT0yOjJJetkZOil87ayMAELGMWqUXvOu8
         6Qtg==
X-Gm-Message-State: AOJu0YzZ0t/6xzVX7SwFaKKlBQAw21tzj5EEECqccXqYucLgy54d96dW
	oExqfs+JOAYQ+e/KJINY8lq5xmlVGDlHQNF4GkMe4Gfs1qauFYlmTe9K/4lvgPP+
X-Gm-Gg: Acq92OHKchBif1sW9xVhYXRUvD3xtcIn5i4f9ZqnIn/cmaCOtNpZxo3XzNPp48SQdMj
	GPZI/MzMqSJeLyhbRSYzBV8su2Tss/XDMvQGruM3ydPbx5BS/OOn71PX6o47ZJ1eEE3WtLk3g4J
	vlU7D/G7ipudkR3EnhKmiV9/o+MTKUQqxhRz6A7iXLhG9qtFdlzrIstQYapQQnaIVQkS8WCC8vv
	rfn7H6+/1acqpNsqZ1r77LrHOfsnJBxnLn7NOBkEaOpnKHsb2gsHYKkw+reWineX5TkO2tIqMw2
	p4Vs0vn7XJcNWsrMGiBsWbbCuY0aJek+aSsJeLVYidY6y3bn3D3FzKsYjGhJKCz+tvekqtx3kRi
	Xb7MckmqVvc1JlESVrlbBrRDfhCqXQWkPif/iPQlMhDBFVpZdfNGrT07qea7BAajphMKAVuE5tZ
	dFKB8a7lSMbtnN9CuMats3I+paSvWIUWZx8K72WsdzoMOtAXyTG2U0hJFKn4mIkkwGi+al8Gs/K
	vNAnPM+1u9gIOjyh88KfAAjjMbesVYqiPW9
X-Received: by 2002:a05:6000:124c:b0:460:1c93:6eb6 with SMTP id ffacd0b85a97d-4602131fbdemr3055480f8f.20.1780491978817;
        Wed, 03 Jun 2026 06:06:18 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v4 02/16] libs/guest: Reduce number of I/O vectors in write_batch
Date: Wed,  3 Jun 2026 14:05:49 +0100
Message-ID: <20260603130603.776452-3-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260603130603.776452-1-frediano.ziglio@cloud.com>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1780491979-41F6EA53-F63CB1A6/0/0
X-purgate-type: clean
X-purgate-size: 2621

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Small optimization.
Reduce number of pieces passed to writev.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v2:
- change prefix in subject.
---
 tools/libs/guest/xg_sr_save.c | 35 ++++++++++++++++-------------------
 1 file changed, 16 insertions(+), 19 deletions(-)

diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index 3b2c5222e4..1700d81905 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -97,9 +97,12 @@ static int write_batch(struct xc_sr_context *ctx)
     void *page, *orig_page;
     uint64_t *rec_pfns = NULL;
     struct iovec *iov = NULL; int iovcnt = 0;
-    struct xc_sr_rec_page_data_header hdr = { 0 };
-    struct xc_sr_record rec = {
-        .type = REC_TYPE_PAGE_DATA,
+    struct {
+        struct xc_sr_rhdr rec;
+        struct xc_sr_rec_page_data_header page_data;
+    } hdrs = {
+        { .type = REC_TYPE_PAGE_DATA },
+        { 0 },
     };
 
     assert(nr_pfns != 0);
@@ -115,7 +118,7 @@ static int write_batch(struct xc_sr_context *ctx)
     /* Pointers to locally allocated pages.  Need freeing. */
     local_pages = calloc(nr_pfns, sizeof(*local_pages));
     /* iovec[] for writev(). */
-    iov = malloc((nr_pfns + 4) * sizeof(*iov));
+    iov = malloc((nr_pfns + 2) * sizeof(*iov));
 
     if ( !mfns || !types || !errors || !guest_data || !local_pages || !iov )
     {
@@ -216,28 +219,22 @@ static int write_batch(struct xc_sr_context *ctx)
         goto err;
     }
 
-    hdr.count = nr_pfns;
+    hdrs.rec.length = sizeof(hdrs.page_data);
+    hdrs.rec.length += nr_pfns * sizeof(*rec_pfns);
+    hdrs.rec.length += nr_pages * PAGE_SIZE;
 
-    rec.length = sizeof(hdr);
-    rec.length += nr_pfns * sizeof(*rec_pfns);
-    rec.length += nr_pages * PAGE_SIZE;
+    hdrs.page_data.count = nr_pfns;
 
     for ( i = 0; i < nr_pfns; ++i )
         rec_pfns[i] = ((uint64_t)(types[i]) << 32) | ctx->save.batch_pfns[i];
 
-    iov[0].iov_base = &rec.type;
-    iov[0].iov_len = sizeof(rec.type);
+    iov[0].iov_base = &hdrs;
+    iov[0].iov_len = sizeof(hdrs);
 
-    iov[1].iov_base = &rec.length;
-    iov[1].iov_len = sizeof(rec.length);
+    iov[1].iov_base = rec_pfns;
+    iov[1].iov_len = nr_pfns * sizeof(*rec_pfns);
 
-    iov[2].iov_base = &hdr;
-    iov[2].iov_len = sizeof(hdr);
-
-    iov[3].iov_base = rec_pfns;
-    iov[3].iov_len = nr_pfns * sizeof(*rec_pfns);
-
-    iovcnt = 4;
+    iovcnt = 2;
 
     if ( nr_pages )
     {
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:06:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:06:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326223.1591650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlIZ-00050E-Vf; Wed, 03 Jun 2026 13:06:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326223.1591650; Wed, 03 Jun 2026 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 1wUlIZ-000507-Si; Wed, 03 Jun 2026 13:06:19 +0000
Received: by outflank-mailman (input) for mailman id 1326223;
 Wed, 03 Jun 2026 13:06:18 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wUlIY-0004zv-AD
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:06:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlIX-007IV7-N7
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:06:17 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026c1-bab6-0a2a0a5309dd-0a2a450ae342-16
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:17 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026c9-56b3-0a2a450a0019-d155802aac1f-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:17 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-490bb83a3f6so357775e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:06:17 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2ec711sm7254825f8f.12.2026.06.03.06.06.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 06:06:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780491977; x=1781096777; 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=hmV5aeQ33UccOsNO+ZfDPPQsqDB1cLMygIKOpc1+2bg=;
        b=n7eoLNbq+LLcATOLR2ilEK0r623VL3EH01FoR/2GsT473pzYI+EC5wHGgqe4KoPuw6
         uD1TNib9uLQpvMDs+c3T92tL2UWi8pI2kRU+yY16B/lpYBhFtmIGFh48c4b/Jw0lnSFN
         zyY5YBvmLekR3+KHYs8YGiGvCn9FdH64RNuqBZ56cx9J7y5Ka1LPf2CVuZH7aoZqWhvF
         mK6e+X5GgTXCSiWNLQfdOdNp96Ji8UZopgIkmMdsGex02WeG47KiApI22eQHs03Krs+n
         QZH/NpO/ZozfdDFKYe1Ryyk/mexZuTF0HUdq/JFavbwTVzbIn+hiQ0pctUrYG/twv+Wu
         auHA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780491977; x=1781096777;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hmV5aeQ33UccOsNO+ZfDPPQsqDB1cLMygIKOpc1+2bg=;
        b=W3wRYXHscc3yMKYHBt/rIoayHtLPAnPqNL47tQNVONq1To0H/jQ32f0WO8qBw9bDmk
         Rz2hCMa03Eo9y744+JFRjTO43nYcDzDmPAbX1MzbTlGQmz3i2l+846cEsC4mh4h8Qk+s
         bgnsmHaMk6p1+Oji0GgfzunpcxydP/WDR4S1kg5UxyfVwByUbntwDPf44Z+ziKGOtWFy
         21n3n3Y/1y53QIeutWLZYZEUEM8IX8ymT1yIJSQ/ERo0+GV5IrqRbFLYFw6zP87xPW76
         sGUZ19KBWc/fEmZFqdv3Y+KUWl7HJcDkq3CQT5RV5D5wXXQ7VIRIPpBe3N8/Ko3ee83O
         LcRw==
X-Gm-Message-State: AOJu0YwmLTD+lxFUjw0poK7QDnrvKI7uvpVjSdnOGKv5UHrNsA2XDSin
	kSn2bAf+BYNYbsFqBx17scrmAN2fWh0pkA37IrVR7Q3sI37OAGV1o1XaLmaejFCz
X-Gm-Gg: Acq92OGGMsoSzaQQFy9g2m7iWuTBBSUIw14UWmrDnMBKtqQuv0sJZb2QpvXYBmDFS/v
	xi08lZZJY1orTHdN97f+uMv3rhPVqpvwBvVVyna7/D7pP1HonOKCCb5lI0P8g/DWMCFnf8mrTwA
	NPflqJHvv62Z5qx9z2+Hy72duQhuyFwNlNKXS+m5iqlAfwdmG68zEzPPggyNCJswEXFy2zKRz6A
	JMf6DsZELrWSZCnzLFkBd3QE4vbbYmENeKNgMIkMNOhi8+W04f2UTEFkNsImO9TNa31w23VshMU
	A3oHY6W8OjeOAJ537lqzksY6W0IskJWLcxN8k5TGM+CJ+rPM3U+NFWrbd0GhWQ/ZUD4jb9xDJIp
	UV+QNjNXecslwGBnYFa0OCgZbgPZ/Sn0RUcXQpSrf+FHUA0mL+uRneap0meqbznYnr04mujSddL
	0kh2yOZjPshVhP6oqHMCYb77j4lV0gNJeJ/3O2ldHvRGVs45QK+yHXKPpzl8WGQtVVKCHOLN6qs
	sGJwgcixCRxKIwXrNTioM95youvHa6T34Qz
X-Received: by 2002:a05:600c:c103:b0:490:9bc2:bf8b with SMTP id 5b1f17b1804b1-490b5e79656mr41657875e9.5.1780491976873;
        Wed, 03 Jun 2026 06:06:16 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v4 00/16] xenguest optimisations
Date: Wed,  3 Jun 2026 14:05:47 +0100
Message-ID: <20260603130603.776452-1-frediano.ziglio@cloud.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-purgate-ID: tlsNG-4011c0/1780491977-709668B7-352EAB86/0/0
X-purgate-type: clean
X-purgate-size: 2305

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Reduce some number of parts passed to writev.
Avoid possible allocation sending data with writev.
Reduce number of allocations sending memory state.

Implement and use new Xen and Linux kernel ABI to copy foreign memory.
This new ABI allows to replace theexpensive  map/copy/unmap sequence
with a single call.

Changes since v1:
- add commit to cache up to 4 pages in hypercall;
- add other 2 commits reducing chunks passed to write/writev.

Changes since v2:
- update patches commit prefixes;
- add other 2 optisations.

Changes since v3:
- address some comments;
- add patches for foreign copy optimisation.

Edwin TÃ¶rÃ¶k (3):
  libs/guest: allocate various migration arrays just once
  libs/call: cache up to 4 pages in hypercall bounce buffers
  PoC: libs/guest: use foreign copy during migration

Frediano Ziglio (12):
  libs/guest: Reduce number of parts in write_split_record
  libs/guest: Reduce number of I/O vectors in write_batch
  libs/guest: Reduce number of I/O vectors in write_batch
  libs/guest: Use a single write_exact in write_headers
  libs/guest: avoids using 2 indexes
  libs/guest: fill directly iov structure
  libs/ctrl: Allows writev_exact to change iov array
  libs/guest: add xg_foreignmemory_copy_{from,to}
  xen: implement new foreign copy hypercall
  privcmd: Add definition for new Linux privcmd to access new Xen
    hypercall
  libs/guest: use new hypercall if available
  libs/guest: finalize PoC

 public-abi/memory.h                   |  40 ++++-
 tools/include/xen-sys/Linux/privcmd.h |  10 ++
 tools/libs/call/buffer.c              |  28 ++--
 tools/libs/call/core.c                |   3 +-
 tools/libs/call/private.h             |   8 +-
 tools/libs/ctrl/xc_private.c          |  26 +--
 tools/libs/ctrl/xc_private.h          |   2 +-
 tools/libs/guest/xg_sr_common.c       |  95 ++++++++++-
 tools/libs/guest/xg_sr_common.h       |  21 +++
 tools/libs/guest/xg_sr_restore.c      | 100 ++++++------
 tools/libs/guest/xg_sr_save.c         | 225 +++++++++++---------------
 xen/common/memory.c                   | 133 +++++++++++++++
 xen/include/public/memory.h           |  40 ++++-
 13 files changed, 512 insertions(+), 219 deletions(-)

-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:06:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:06:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326226.1591673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlIc-0005TX-OG; Wed, 03 Jun 2026 13:06:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326226.1591673; Wed, 03 Jun 2026 13: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 1wUlIc-0005S9-K4; Wed, 03 Jun 2026 13:06:22 +0000
Received: by outflank-mailman (input) for mailman id 1326226;
 Wed, 03 Jun 2026 13:06:21 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wUlIb-0005DG-CG
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:06:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlIa-00Fz1h-Oz
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:06:20 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026c5-5cb7-0a2a0a5109dd-0a2a4504cb46-20
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:20 +0200
Received: from [209.85.221.49] (helo=mail-wr1-f49.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026cc-1dec-0a2a45040019-d155dd31e574-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:20 +0200
Received: by mail-wr1-f49.google.com with SMTP id
 ffacd0b85a97d-45ee6d32402so3660716f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:06:20 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2ec711sm7254825f8f.12.2026.06.03.06.06.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 06:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780491980; x=1781096780; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NqFYUY4LLWBRQq7NSsaodrilUaXJC/aM45b33pOy+8Y=;
        b=IKWctpKYbAKP9veP3t90mlK5BPpK9SdK8WE36hycjpQXKR1dPpUoCn/W04RMznElso
         24Sb7YkKyPrtByWMDPDnLHFGvX58pMLsTgU5qLFcbBuFVtTS2vKmM6YSuyzAqaR3IpYZ
         29ddcPVjFKH52rLCbAPX+Wf+UZFi4zYSY/YA3MysAeP+A/b++baGXdvaWWkixMpf+AyP
         1DOfNI4qpNQ/52FLFD5aoKffmrkgCEurUiCVy2ooOw4NnOyHNJVwuau1gz053Jkwgfm9
         Y2XtQUTPyFbKApBeO3kz8w4M6/21wzUWmu5cHhEo80Iiatv3ia4XqqWhiVHfUeV8rcXt
         teXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780491980; x=1781096780;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=NqFYUY4LLWBRQq7NSsaodrilUaXJC/aM45b33pOy+8Y=;
        b=fan7yccUNFKeonjGulq6vBVp443Ei5iPIv4Bnq1OrAR0WVZUdbLutxmZJKizgSuM6/
         BpR85QhzwsR4z76yVoYOhJw73OPnaxD6Rcunzc9XWNm0DJzZqE7Ypp2Dmwt74NOv6q3q
         PEpfEY14Y1QpLI5d2mHXHEJ6R4oEsla+LdI9KMSRNuwq98VAzT0QqG8LPiZ6sGIzUnzJ
         g/W5k9j0NZoJI7/IZqxXdeq7sbm4nAwQhYmKZ121FxRdXgqACT7mBKnEpeKPaBlAOuTn
         VmG5RkzHrIaDUGIUECHrwBj11kVlJh74Wnkrgv9B9xwZVXLnZhhS7Y6wtlPXnoNk1Fd6
         5dtQ==
X-Gm-Message-State: AOJu0YxkMX/dBGm2yt1b0/EX3yQWR0HYtvknxhhekHqrU6xB7twK2JRX
	pL9I5D0SHB0tW+cR6JuHZHuDWbKHoeBa1cu5Pvx7LrnqxO6mguJRBnbtWtShi69v
X-Gm-Gg: Acq92OGrBd4Op4FipnqWCxmWsSnDf9Mr6EDyS/wvoOgXAAGlAVGTk7aydiMyHKFkV8C
	3Y0a+q6r26Rk9eJtCht9CzgRDH5D8Kczu/MY9rAcUcTo9xQDvPasq1IxKnMuxIguQAVCcoDR98M
	xBrjeYPfjh9hJ7Q8agjbqkxY/Zho7SSLQ9hmAKLH2Et70GIwb3J5mdPdt2pBapXIa5/R/qYUXYS
	4USawKWqlnD7DURKJQcXtjPsJAQD8wyHXZLsj2cVaUTW+apBTWJj1X6L10836Wl62jQg/d+nKub
	7aVCV+29aDS4PC7BGYaf3m3To41W5nsAqPiAseTHm8RSSilETutb6QR7CEBNotyiafzP+Y+9nZ/
	KJE3IATxKzZpgdIAqZFSRNizjQSORhLn9JC7vLnMG0G9cqqB2S7rZPI7NEtwcjFw3txFQIPh9kE
	CIfUrLL7h3z2tSBDF4wGi1KqZhsHXQx2yPvvAI97S60Ll4oFWercjvZgfees0w5c8QbQnVZ+vzh
	gEhCPOsi4S31sXKtABtI9MWnGCz7RkexZnmTJlGF7gnpwI=
X-Received: by 2002:a5d:4a02:0:b0:44a:2cb3:b633 with SMTP id ffacd0b85a97d-46021794f73mr3643466f8f.12.1780491979837;
        Wed, 03 Jun 2026 06:06:19 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v4 03/16] libs/guest: Reduce number of I/O vectors in write_batch
Date: Wed,  3 Jun 2026 14:05:50 +0100
Message-ID: <20260603130603.776452-4-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260603130603.776452-1-frediano.ziglio@cloud.com>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ebf023/1780491980-2B1663FF-29F4062E/0/0
X-purgate-type: clean
X-purgate-size: 1324

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Each page was sent using a different iovec item. This potentially exceed
Linux maximum (1024).
Also some implementation (MiniOS) emulate writev with multiple write calls.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v2:
- change prefix in subject.
---
 tools/libs/guest/xg_sr_save.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index 1700d81905..62a39dfecc 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -240,13 +240,20 @@ static int write_batch(struct xc_sr_context *ctx)
     {
         for ( i = 0; i < nr_pfns; ++i )
         {
-            if ( guest_data[i] )
+            if ( !guest_data[i] )
+                continue;
+
+            if ( iov[iovcnt-1].iov_base + iov[iovcnt-1].iov_len != guest_data[i] )
             {
                 iov[iovcnt].iov_base = guest_data[i];
                 iov[iovcnt].iov_len = PAGE_SIZE;
                 iovcnt++;
-                --nr_pages;
             }
+            else
+            {
+                iov[iovcnt-1].iov_len += PAGE_SIZE;
+            }
+            --nr_pages;
         }
     }
 
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:06:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:06:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326227.1591678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlId-0005at-2r; Wed, 03 Jun 2026 13:06:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326227.1591678; Wed, 03 Jun 2026 13: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 1wUlIc-0005Z4-Ug; Wed, 03 Jun 2026 13:06:22 +0000
Received: by outflank-mailman (input) for mailman id 1326227;
 Wed, 03 Jun 2026 13:06:22 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wUlIc-0005NC-0J
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:06:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlIb-00Fz1h-Cq
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:06:21 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026cc-5cb7-0a2a0a5109dd-0a2a45078556-8
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:21 +0200
Received: from [209.85.221.51] (helo=mail-wr1-f51.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026cd-229c-0a2a45070019-d155dd33b0e8-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:21 +0200
Received: by mail-wr1-f51.google.com with SMTP id
 ffacd0b85a97d-45ef4223be7so3230548f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:06:21 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2ec711sm7254825f8f.12.2026.06.03.06.06.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 06:06:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780491981; x=1781096781; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=spxFWbMOGnCr2GX6kZF6sxvh96pd56+K0G0G5gXpfUs=;
        b=QnBhjFEkDWqOVpaED0ZYZslpN+wG86yQtnJ12fUWNvxz00W7FqzkAWLVr8c2LA0qUG
         KAcUpJ1ThT6DghAOkfqa82mSu4UsZxHOMcZmEgbrp57kmm+ewW9fhnICWPn2yV4wzFcV
         rgQ8R70MEZ2mZcbRHAr07ZPWx/FDd9ReRAz1sHSAitMpKPbqcTuSZ3OGeTczSOFvXmlP
         rer0LBU0RMSx06e8fZTd3RfTy/CYl+HLe3LaFQfgM7t+QFGuzO4MU17jG1vP3GGerB3E
         73X/nta6aZE1tSgv8/tg0pjLS4D8y3Ipr70nx2BNGhHeFRpvvfrShsa2Y8X5l4XuX5WU
         A9gQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780491981; x=1781096781;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=spxFWbMOGnCr2GX6kZF6sxvh96pd56+K0G0G5gXpfUs=;
        b=W16ewW9uLXGkJST+EchZrsmuYDdCGkga+IIgL6Onk+2lN6yMiTj930CdsGLqR8qeWR
         X+6w6pEhxGpsB69IHy9XWQibwvXAP2VYIWQ45zIDKTp59SXn+sEnJhTdXSoOZ9XyZ/L7
         fzC09pM0cMzkGXn1kecvSWhrGhkZD7gKJuxmi7Csf20AMil5B3WQ1LXwQ90Zr2cdwSGk
         Ek8GWy8n9stEW82ewP2K1pzZGAXhHUyVRXtV5VCn9grykRHarbvzzlbXnv1l7GhpmYdt
         OQcVYSJxx3uDf6O5zak+AMmwPxxWp5VxX/PJhmpxdlWZjUIakLapKmwO22zwZ+rl15Yq
         +t8A==
X-Gm-Message-State: AOJu0YwMY3YAiP14aL1HYNzoH4ItCSU4Q4HFlc7EvinwdORTQZ4qCZ3e
	pOGLufg552lryJ/w46LeCIR8HzBYa6qyqR4+/vaMwCjW3RjYEIECEn1GQIdxABty
X-Gm-Gg: Acq92OENraSQefWv3hV0Wt7P3OPNt753L7VGkaW/zls29vpCeJ1foD/oFzStq9NqCac
	2Q3WBJ2lTkqNSp8m2vxha52puDIZVkIvjmAmGtUYs6YStethT9mi4MfnObg9Ox8U2JvXYtaX5nE
	2d7QO6ix9UceVLNaAOHBsvPX3SJNH2wFXcNCp5xR9XyzTm/gYYkA9qwOH/AELxF1yyoovWxPzBH
	IcNdzEAGo3Ekm2Nb3/ttuf2yAN3PKcNK2So1kVJbrIUplcK159FhmW5fsTh1ySX5hYrTeIpM//R
	l4G5i9hlv3Rx83nvVP5dU+ncrMMRYZn9MlzF2t0vOs+V9Pg9P4tLPJRPgLYkGp0ckQsLx02s24x
	4u0vG52tbT8NzIVlSLxKy5PcbyYXp84VjFvpkgnnKauegUsolSzCdp4yY1fK6ZocYiVBRQ5mdMa
	KheFNsmnd2lmrMtb7kPly0+TYuZU44t6+LetfP/+O3AJ0LZJMQfUgVM1zXanMyBf0+0Sh0PGJdR
	BtEVsc8C/K/Mno5S7HiT+CI0NSM36whaZRZ
X-Received: by 2002:adf:f202:0:b0:460:18cb:8f9e with SMTP id ffacd0b85a97d-460217a78acmr3663962f8f.12.1780491980670;
        Wed, 03 Jun 2026 06:06:20 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v4 04/16] libs/guest: Use a single write_exact in write_headers
Date: Wed,  3 Jun 2026 14:05:51 +0100
Message-ID: <20260603130603.776452-5-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260603130603.776452-1-frediano.ziglio@cloud.com>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1780491981-2887FC48-E54190EC/0/0
X-purgate-type: clean
X-purgate-size: 2250

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Reduce number of syscalls.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v2:
- change prefix in subject.
---
 tools/libs/guest/xg_sr_save.c | 37 +++++++++++++++++------------------
 1 file changed, 18 insertions(+), 19 deletions(-)

diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index 62a39dfecc..8c4e760f8d 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -10,17 +10,22 @@ static int write_headers(struct xc_sr_context *ctx, uint16_t guest_type)
 {
     xc_interface *xch = ctx->xch;
     int32_t xen_version = xc_version(xch, XENVER_version, NULL);
-    struct xc_sr_ihdr ihdr = {
-        .marker  = IHDR_MARKER,
-        .id      = htonl(IHDR_ID),
-        .version = htonl(3),
-        .options = htons(IHDR_OPT_LITTLE_ENDIAN),
-    };
-    struct xc_sr_dhdr dhdr = {
-        .type       = guest_type,
-        .page_shift = XC_PAGE_SHIFT,
-        .xen_major  = (xen_version >> 16) & 0xffff,
-        .xen_minor  = (xen_version)       & 0xffff,
+    struct {
+        struct xc_sr_ihdr ihdr;
+        struct xc_sr_dhdr dhdr;
+    } hdrs = {
+        {
+            .marker  = IHDR_MARKER,
+            .id      = htonl(IHDR_ID),
+            .version = htonl(3),
+            .options = htons(IHDR_OPT_LITTLE_ENDIAN),
+        },
+        {
+            .type       = guest_type,
+            .page_shift = XC_PAGE_SHIFT,
+            .xen_major  = (xen_version >> 16) & 0xffff,
+            .xen_minor  = (xen_version)       & 0xffff,
+        },
     };
 
     if ( xen_version < 0 )
@@ -29,15 +34,9 @@ static int write_headers(struct xc_sr_context *ctx, uint16_t guest_type)
         return -1;
     }
 
-    if ( write_exact(ctx->fd, &ihdr, sizeof(ihdr)) )
-    {
-        PERROR("Unable to write Image Header to stream");
-        return -1;
-    }
-
-    if ( write_exact(ctx->fd, &dhdr, sizeof(dhdr)) )
+    if ( write_exact(ctx->fd, &hdrs, sizeof(hdrs)) )
     {
-        PERROR("Unable to write Domain Header to stream");
+        PERROR("Unable to write Headers to stream");
         return -1;
     }
 
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:06:27 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:06:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326230.1591715 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlIh-0006cE-DX; Wed, 03 Jun 2026 13:06:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326230.1591715; Wed, 03 Jun 2026 13:06: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 1wUlIh-0006bl-5h; Wed, 03 Jun 2026 13:06:27 +0000
Received: by outflank-mailman (input) for mailman id 1326230;
 Wed, 03 Jun 2026 13:06:26 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wUlIf-0006FT-WF
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:06:26 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlIf-00Fz4z-Cy
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:06:25 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026cf-5cb7-0a2a0a5109dd-0a2a4502ac02-4
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:25 +0200
Received: from [209.85.221.43] (helo=mail-wr1-f43.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026d1-af86-0a2a45020019-d155dd2bd859-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:25 +0200
Received: by mail-wr1-f43.google.com with SMTP id
 ffacd0b85a97d-460166910e6so1763531f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:06:25 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2ec711sm7254825f8f.12.2026.06.03.06.06.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 06:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780491985; x=1781096785; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=u6wvxilFElIaNb/mhD1JtaMC/n+2767zKlkc9WwKCUs=;
        b=B6KWT8YYvNT/86fFNBxYbgpp+DIjAS7E4DZTxmmn2VZeupP2hB8teYDo2zwRcXN8AN
         Jd6tpCrfs/H4/pZ+w2cL4McH3TDQ/CDvUElwbmAZ/bp5ZRhg1i4p3FtN0gE4sCiRMhoS
         7ud9KqzPpojWHo9olAoVwaqKp1cCxq1gCRavThRKe2Jx20qZdlYQXh/1pa7qedN9FgEx
         Cta/ecM7QEtlWDD/x81UNurIlED515KvSLl2fOVwjXz2K8lG2F3nLJL2zzciGzWUeHWY
         jSBA6K+q7ypkJSohpyVk3ieJkkKwgCIClJML58MKl2pJM0CMj1L1nDDRLLV79oeeum9f
         AyfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780491985; x=1781096785;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=u6wvxilFElIaNb/mhD1JtaMC/n+2767zKlkc9WwKCUs=;
        b=nnHla83vIvwz4Y/IhXpsTEOarB1ssH0YfK7y37gERoixdnqpC+bmbvnLl3uIROcHlM
         L2jmy4Gmmm0O4b9RBVLX3Nhm9j0hVe5d1otaTV2VhHnlYKgtna55YQLUBWAi/wIHdEjF
         +4ckTxkVOeu4kaOq5Fr3oDnVrrqkDJo19DN0yUJMrSjg9kCT9b1mRi85kIy4RG2TZLrr
         Xj1TG4gp+7PFXk/kcuJ9TTF12CxMZKfhKSYuzsoGJYNRHkj1dIRbeAhU7lPfp8L3Qf8c
         hJFSEEjiXU9WmcJqrTLXNoGP/v9UNo27u9PWdEjNRn6BfNKt0dLU8LriegZOz0yvjHTh
         8bvg==
X-Gm-Message-State: AOJu0YwDLPH0jUkXvbmyM7ED5CzEMWO12JPyX6cPW7uEGBlNVXHmN0RS
	T+QvkenckMsu9aoBqZ3NrT67g84RqBgq/dp1x/wrQ0OnezCoiit+pf2TKpKlJ+F6
X-Gm-Gg: Acq92OG2UYCw9AYx3+wj7HWxS+EuOZr3tYoPSnZh/MCgT6nYpX1VUekrdyYXomlrx7g
	73NISl0RzeHm3OtD3NhbmzhMHpobXd9eqN/jM3J1k4GTa6wLibn/M8uMPzxgIp1YhUMY0HIILTQ
	6p/OCsBkELbb3kekHrgKAF76WrEusDmhfmydy0NijtNSBvRRNzoYM9x8sM2cN5W9KFxj2oPF4Be
	HajTAea+GM1BoDStF1QtawAey17Z8C8dDmOnMhpDQpv51Q6b1peIuEwnIIYmVZ+YL0YkNqC3bK0
	Fgh8AQHShLYp+/wA139442Ru1bv+Ti/b4owMpXCFOj4ND4LjWDF3OBzW+En1rrMKooWGhkmd8Rn
	FDRxlvayaZYyDI7Q3w08aVd6Q1t0ppaHVN69l04ig/kG3/O2COGaHwZyanixk+Ag6ZeEFxhTw9P
	MQVlS8tAydHwsSTg+FSdtmsHNOILvPodAUHrR4Ul/DWewe2fq5+XXBUmzpOKLf8g/1fUr/jW5zz
	S8IFeBU5w9KMM0zmFTkCZRDSIu6SOxTCvFpKl3Q83LyjO4=
X-Received: by 2002:a05:600c:154f:b0:490:af90:f9c2 with SMTP id 5b1f17b1804b1-490b5eae33dmr56963585e9.12.1780491984397;
        Wed, 03 Jun 2026 06:06:24 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v4 07/16] libs/guest: avoids using 2 indexes
Date: Wed,  3 Jun 2026 14:05:54 +0100
Message-ID: <20260603130603.776452-8-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260603130603.776452-1-frediano.ziglio@cloud.com>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1780491985-A8B78161-F865556A/0/0
X-purgate-type: clean
X-purgate-size: 2684

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Simplify code, after the first scan of the various arrays we don't need to
keep original types and PFNs but only the ones having data.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/libs/guest/xg_sr_restore.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/tools/libs/guest/xg_sr_restore.c b/tools/libs/guest/xg_sr_restore.c
index e148fc594a..fb46142d87 100644
--- a/tools/libs/guest/xg_sr_restore.c
+++ b/tools/libs/guest/xg_sr_restore.c
@@ -260,9 +260,7 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
     int *map_errs = malloc(count * sizeof(*map_errs));
     int rc;
     void *mapping = NULL, *guest_page = NULL;
-    unsigned int i, /* i indexes the pfns from the record. */
-        j,          /* j indexes the subset of pfns we decide to map. */
-        nr_pages = 0;
+    unsigned nr_pages;
 
     if ( !mfns || !map_errs )
     {
@@ -279,12 +277,18 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
         goto err;
     }
 
-    for ( i = 0; i < count; ++i )
+    nr_pages = 0;
+    for ( unsigned i = 0; i < count; ++i )
     {
         ctx->restore.ops.set_page_type(ctx, pfns[i], types[i]);
 
-        if ( page_type_has_stream_data(types[i]) )
-            mfns[nr_pages++] = ctx->restore.ops.pfn_to_gfn(ctx, pfns[i]);
+        if ( !page_type_has_stream_data(types[i]) )
+            continue;
+
+        mfns[nr_pages] = ctx->restore.ops.pfn_to_gfn(ctx, pfns[i]);
+        pfns[nr_pages] = pfns[i];
+        types[nr_pages] = types[i];
+        nr_pages++;
     }
 
     /* Nothing to do? */
@@ -302,16 +306,13 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
         goto err;
     }
 
-    for ( i = 0, j = 0; i < count; ++i )
+    for ( unsigned i = 0; i < nr_pages; ++i )
     {
-        if ( !page_type_has_stream_data(types[i]) )
-            continue;
-
-        if ( map_errs[j] )
+        if ( map_errs[i] )
         {
             rc = -1;
             ERROR("Mapping pfn %#"PRIpfn" (mfn %#"PRIpfn", type %#"PRIx32") failed with %d",
-                  pfns[i], mfns[j], types[i], map_errs[j]);
+                  pfns[i], mfns[i], types[i], map_errs[i]);
             goto err;
         }
 
@@ -337,7 +338,6 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
             memcpy(guest_page, page_data, PAGE_SIZE);
         }
 
-        ++j;
         guest_page += PAGE_SIZE;
         page_data += PAGE_SIZE;
     }
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:06:27 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:06:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326229.1591702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlIg-0006GR-0r; Wed, 03 Jun 2026 13:06:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326229.1591702; Wed, 03 Jun 2026 13:06: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 1wUlIf-0006F2-Px; Wed, 03 Jun 2026 13:06:25 +0000
Received: by outflank-mailman (input) for mailman id 1326229;
 Wed, 03 Jun 2026 13:06:24 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wUlIe-00061k-Er
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:06:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlId-000siy-Rv
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:06:23 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026cf-e002-0a2a0a5209dd-0a2a450cc1bc-6
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:23 +0200
Received: from [209.85.221.42] (helo=mail-wr1-f42.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026cf-62f1-0a2a450c0019-d155dd2abc2d-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:23 +0200
Received: by mail-wr1-f42.google.com with SMTP id
 ffacd0b85a97d-4601949975dso194027f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:06:23 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2ec711sm7254825f8f.12.2026.06.03.06.06.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780491983; x=1781096783; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=E0qnwksAnVibKLEOmCRSNsa6uG3n6snRRRntsiizK/M=;
        b=eQx3LonuUXFrPzTyJAaIk/3pbaBYDEEpcxmhIYjJny+3+3mQcZ07V90CwONr13OaRX
         2RIfC0Ze2KXTAi9SdlaVTjkCgS1LxlAREJij80ZXMrfVDSo7d0X7zljF8UffnN7Tqshv
         3q2UQDJfaUFxhFO+ZHTTQvhfmyjgGa5wyQ5kah3qRs4yflJ8wiJz1JSv4qRY2S49DraQ
         R0ySKf8q9mrzXbgiq+p6sG+ckBQNg3RnjP0at48eXPg2LkEEfXRzGKX0FcvsLrxTNWFh
         8cPJ9ebAL/7KhX5mSPsdFLwXhm5ZufV6X1Jc7gfVFKSOyDSIveTk5gm1B1MI6sinRZG5
         SSKw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780491983; x=1781096783;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=E0qnwksAnVibKLEOmCRSNsa6uG3n6snRRRntsiizK/M=;
        b=AP9RO2TNm8HIR8IUMHloCr9ceI2c6PulGxct+VJvR4qfse3h0Il8WbSe1Plvb/TOpF
         aWs8u96AM4s8LmHDfyrLtIjGWRx7PelySm7n5D1bPjA1MT1LC8Pp+VpRSFtpVXFFGG9X
         VdZ0DEr+AkFksG0NqCCMTjUjde87Jc1eFfPmcPy3UC+MYCLxoy7VGE9URB45wztjZUvF
         cgviu9dZwxlcuwqN/IzaOeWAT4MQRErcmsT4pRb3Qypmk+y6AB5t5h9bvKP4LOq3kouI
         HqN/nZP7F8AdfzpsnFd+wh7PX9NCg5y+5f3A467Sfp7+m06gv9SJVcyvd6ma+UwiDT/X
         eKsg==
X-Gm-Message-State: AOJu0Yzv0sltLaPDeirgh6/nrESO6SGD3CVCunzJmafMsiQjaKyiNoV0
	TgDKAphpcO7rUyUP0YNqsu2YNmSSJe8wtNxkYpfq2CGF/BaYut0ajImlVziA5UWW
X-Gm-Gg: Acq92OHFEPQOpTGsmjzcyAcCPlfkvi0cEM7ZgCn/bCMEjiAj1/3xD7OxIiUa9e0L8sZ
	bhCwrfQCQPkk/Z4ApDiCENPUW8e6nnU+7Ire4QhN2stKzDYIMTbMnAuqBuRbAGBu71rBBe0jHCc
	+OiVktEPDR4vOO7etWG+Wz6DzY7K+mvN1uPbmF5mXXD74SHXR4GqUbNT27jcVSnAvAS2iFQEnZo
	x6e+mduoMnggaAkONs7S7Pt4lY6c4SwTVT5Fe+EfePnr6eKGkGQ3kJgO4IH8pKmPiyXd3NE6LUw
	AGbZTvN+zcn0zr6mVpcZFoC8mlDGtFErz4nW26YfU1k5ZuhQgtU8sohUs9wMjoVeQS78Gz/n+uM
	Te85IOa1ZexIVmSXx75zHXD66QT+nfCYg7B3XneRLGoJTkI6DRlPtozhHXHB3yXbUjrxw0pAZJD
	gHCx0c71Xmo55hs5teW5LHorjq7lrUugBcLeXuxO4O40wgIdmbUTgW/x7mhTlNos02spezJ0Jb5
	/2Pu0vXdOGxH4D6OQmbgcymxb1vPlfsPv6L
X-Received: by 2002:a5d:4987:0:b0:451:3b12:9bca with SMTP id ffacd0b85a97d-46021831001mr3701447f8f.25.1780491983000;
        Wed, 03 Jun 2026 06:06:23 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edwin.torok@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v4 06/16] libs/call: cache up to 4 pages in hypercall bounce buffers
Date: Wed,  3 Jun 2026 14:05:53 +0100
Message-ID: <20260603130603.776452-7-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260603130603.776452-1-frediano.ziglio@cloud.com>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1780491983-DAF72CF5-257ED0B1/0/0
X-purgate-type: clean
X-purgate-size: 4973

From: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>

During migration there are a lot of mmap/munmap calls,
because `xc_get_pfn_type_batch` exceeds the default hypercall bounce
buffer cache size, and needs to allocate every time it is called.

`munmap` is slow, especially in a PV Dom0 (takes an emulation fault),
so is best avoided.

Eventually it'd be good if the memory pool from  xmalloc_tlsf.c
was reused here, but for now make it handle the commonly encountered
sizes (so far up to 4 pages).

Signed-off-by: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v2:
- change prefix in subject.
---
 tools/libs/call/buffer.c  | 28 +++++++++++++++++-----------
 tools/libs/call/core.c    |  3 ++-
 tools/libs/call/private.h |  8 +++++---
 3 files changed, 24 insertions(+), 15 deletions(-)

diff --git a/tools/libs/call/buffer.c b/tools/libs/call/buffer.c
index 2579b8c719..15d2f98a6b 100644
--- a/tools/libs/call/buffer.c
+++ b/tools/libs/call/buffer.c
@@ -56,13 +56,13 @@ static void *cache_alloc(xencall_handle *xcall, size_t nr_pages)
     if ( xcall->buffer_current_allocations > xcall->buffer_maximum_allocations )
         xcall->buffer_maximum_allocations = xcall->buffer_current_allocations;
 
-    if ( nr_pages > 1 )
+    if ( nr_pages > ARRAY_SIZE(xcall->buffer_cache) )
     {
         xcall->buffer_cache_toobig++;
     }
-    else if ( xcall->buffer_cache_nr > 0 )
+    else if ( xcall->buffer_cache_nr[nr_pages-1] > 0 )
     {
-        p = xcall->buffer_cache[--xcall->buffer_cache_nr];
+        p = xcall->buffer_cache[nr_pages-1][--xcall->buffer_cache_nr[nr_pages-1]];
         xcall->buffer_cache_hits++;
     }
     else
@@ -84,10 +84,10 @@ static int cache_free(xencall_handle *xcall, void *p, size_t nr_pages)
     xcall->buffer_total_releases++;
     xcall->buffer_current_allocations--;
 
-    if ( nr_pages == 1 &&
-         xcall->buffer_cache_nr < BUFFER_CACHE_SIZE )
+    if ( nr_pages && nr_pages < ARRAY_SIZE(xcall->buffer_cache) &&
+         xcall->buffer_cache_nr[nr_pages-1] < BUFFER_CACHE_SIZE )
     {
-        xcall->buffer_cache[xcall->buffer_cache_nr++] = p;
+        xcall->buffer_cache[nr_pages-1][xcall->buffer_cache_nr[nr_pages-1]++] = p;
         rc = 1;
     }
 
@@ -108,17 +108,23 @@ void buffer_release_cache(xencall_handle *xcall)
     DBGPRINTF("current allocations:%d maximum allocations:%d",
               xcall->buffer_current_allocations,
               xcall->buffer_maximum_allocations);
-    DBGPRINTF("cache current size:%d",
-              xcall->buffer_cache_nr);
+    for ( unsigned i = 0; i < ARRAY_SIZE(xcall->buffer_cache_nr); ++i )
+    {
+        DBGPRINTF("cache current size[%u pages]:%d", i+1,
+                xcall->buffer_cache_nr[i]);
+    }
     DBGPRINTF("cache hits:%d misses:%d toobig:%d",
               xcall->buffer_cache_hits,
               xcall->buffer_cache_misses,
               xcall->buffer_cache_toobig);
 
-    while ( xcall->buffer_cache_nr > 0 )
+    for ( unsigned i = 0; i < ARRAY_SIZE(xcall->buffer_cache_nr); ++i )
     {
-        p = xcall->buffer_cache[--xcall->buffer_cache_nr];
-        osdep_free_pages(xcall, p, 1);
+        while ( xcall->buffer_cache_nr[i] > 0 )
+        {
+            p = xcall->buffer_cache[i][--xcall->buffer_cache_nr[i]];
+            osdep_free_pages(xcall, p, i + 1);
+        }
     }
 
     cache_unlock(xcall);
diff --git a/tools/libs/call/core.c b/tools/libs/call/core.c
index 02c4f8e1ae..dd8877c1a0 100644
--- a/tools/libs/call/core.c
+++ b/tools/libs/call/core.c
@@ -14,6 +14,7 @@
  */
 
 #include <stdlib.h>
+#include <string.h>
 
 #include "private.h"
 
@@ -44,7 +45,7 @@ xencall_handle *xencall_open(xentoollog_logger *logger, unsigned open_flags)
     xentoolcore__register_active_handle(&xcall->tc_ah);
 
     xcall->flags = open_flags;
-    xcall->buffer_cache_nr = 0;
+    memset(xcall->buffer_cache_nr, 0, sizeof(xcall->buffer_cache_nr));
 
     xcall->buffer_total_allocations = 0;
     xcall->buffer_total_releases = 0;
diff --git a/tools/libs/call/private.h b/tools/libs/call/private.h
index 9c3aa432ef..8e6a208975 100644
--- a/tools/libs/call/private.h
+++ b/tools/libs/call/private.h
@@ -31,13 +31,15 @@ struct xencall_handle {
     Xentoolcore__Active_Handle tc_ah;
 
     /*
-     * A simple cache of unused, single page, hypercall buffers
+     * A simple cache of unused, small, hypercall buffers
+     * buffer_cache[i]'s size is (i+1) pages
      *
      * Protected by a global lock.
      */
 #define BUFFER_CACHE_SIZE 4
-    int buffer_cache_nr;
-    void *buffer_cache[BUFFER_CACHE_SIZE];
+#define BUFFER_CACHE_NRPAGES 4
+    int buffer_cache_nr[BUFFER_CACHE_NRPAGES];
+    void *buffer_cache[BUFFER_CACHE_NRPAGES][BUFFER_CACHE_SIZE];
 
     /*
      * Hypercall buffer statistics. All protected by the global
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:06:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:06:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326228.1591695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlIf-00068y-DD; Wed, 03 Jun 2026 13:06:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326228.1591695; Wed, 03 Jun 2026 13:06: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 1wUlIf-00068o-9x; Wed, 03 Jun 2026 13:06:25 +0000
Received: by outflank-mailman (input) for mailman id 1326228;
 Wed, 03 Jun 2026 13:06:23 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wUlId-0005fU-Ft
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:06:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlIc-007IYC-St
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:06:22 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026c8-bab6-0a2a0a5309dd-0a2a4509cd16-40
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:22 +0200
Received: from [209.85.221.49] (helo=mail-wr1-f49.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026ce-2497-0a2a45090019-d155dd31e4ad-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:22 +0200
Received: by mail-wr1-f49.google.com with SMTP id
 ffacd0b85a97d-45ef372c58aso2818108f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:06:22 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2ec711sm7254825f8f.12.2026.06.03.06.06.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 06:06:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780491982; x=1781096782; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ngHaiXVcIZgsSzheol0Gqpgp4lQa4ltKlhodC4+DNtk=;
        b=gbcqRJTbXZ/KrrbJsX0qctBQVUa8KUGVs4wXZ9ZbMcWuCz+Nut92FaxVXL9lF3F2K3
         yo7kQfqE8W2Ck8NqiFlvfhaIi+xVs0G5lAd++Gqr3l00nTJuuyYXJHIiwi3XFdJtsZGK
         FgXJ/dp7yliq8W07cWeeiCQYujwwaDn1VlgViLGt6eOd6cLyO6evO8B4yJ+cWQoMXaMX
         AmW6Mj2TWiRGtHbQrr6t5VHigP7P9Ue/o6uNp3Pu/+DGACyo9cJdndQ3gPL20UpF3yVK
         cVry8ddG3E2+UtUi13HrsOn/STW00AIOHIVOb1T9JwV//9iOA7gpDFa63CJ++PoRGWj/
         HE7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780491982; x=1781096782;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=ngHaiXVcIZgsSzheol0Gqpgp4lQa4ltKlhodC4+DNtk=;
        b=TXW7IglQiFOjji7KvQwyudstIBndwHX3f5Y/0pxGCGeGWFfeWPZhssdDrB2TWRtEo1
         vKRDSy3Lf13uB5gwuf80CtJdBUwjdCCLytWYa0N7ziFGIynCKqE9B6ZCgXG4HYKaHtF/
         6Ve8Tyg3rSlq9rpM33iBV4aR8bytK7uSZv7EF/1Tm/BSdgaUUEtxFrvHo9S7HYVNLqMg
         KBrIp5/caRfzVPb/u5/W1GL9cl4Jcq1o4GVUnBBiQLHwsKNt0KiO0PZeT+8L9sKo/Y8+
         ZuSifTB24wMMHiTFA2yT3zRvW/0impAjYpTy8l0ZUxwIBNHFCxAgWlj3rV9OyINmtKJ/
         MoQQ==
X-Gm-Message-State: AOJu0YxzUneePm39btn0yT12YS2rFOIR3n+/sGFT9H97/kC4GW8sGloP
	G+mA9EQmCtqPcQmatevEoARILCnOxchTlAu1k2jt466MVwTOqxvYmvYLgXIXcK5t
X-Gm-Gg: Acq92OE+mf5Ggrwfy5jeZTnrS/fogo1YUzhjE09RtOWGk0azIuYmf/qx/Y4FRoD8Zfq
	cWnuJbeOGXHBkzPjsVFLgVvk8zxFj2p00YnKRvaa+hfGqfsBPjRoqp//h7gaaYS7dN1h87lfUyB
	Pksglqh6t9Lf0QE1oj8ua020jSpA4FRU8iudVN0tyfuCSn+lYVFE67sWhRZJ8TZF/IpGWSfk9vL
	A7mveFu/JvK5HMUBPBYmOVXEiEtOe3sqXpB8Tfwc3M41jFXo6R3VaJhv5odZhQBlsCUU1V2haID
	SqdNPH30KY25Fw4Tc86BBBPjSXUBPn7YYU5IqinlEBxGPh+ivORIsOEJMSWbqskPytzmrZ2JwXG
	k8kKpoqA8U3q+F7U/9hpDgt59/zmyAsxYd/U7hCmwJWIIDxBeZSMwGFquFnyIxWD0CKOWlu+lZj
	IzlrqEpWiRzO1lPXgtzDNJOZWXbHPMK3336b8IfrrZ1kQm1x+W9/50Ys5Ge08vhjNs2aio1aiPD
	CzD2vuWAGs1ujzdvbEH6DiYIgGrxJCCY5JK
X-Received: by 2002:a5d:5989:0:b0:45e:eef5:b51e with SMTP id ffacd0b85a97d-4602181fafdmr5032385f8f.23.1780491981925;
        Wed, 03 Jun 2026 06:06:21 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edwin.torok@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v4 05/16] libs/guest: allocate various migration arrays just once
Date: Wed,  3 Jun 2026 14:05:52 +0100
Message-ID: <20260603130603.776452-6-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260603130603.776452-1-frediano.ziglio@cloud.com>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1780491982-89D85A53-6F8A59D2/0/0
X-purgate-type: clean
X-purgate-size: 6496

From: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>

Allocate these array just once at the start of migration,
using the maximum batch size, and free them at the end.

Signed-off-by: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v2:
- change prefix in subject.

Changes since v3:
- fix comment style
---
 tools/libs/guest/xg_sr_common.h | 13 +++++++
 tools/libs/guest/xg_sr_save.c   | 66 +++++++++++++--------------------
 2 files changed, 39 insertions(+), 40 deletions(-)

diff --git a/tools/libs/guest/xg_sr_common.h b/tools/libs/guest/xg_sr_common.h
index f1573aefcb..82549b5589 100644
--- a/tools/libs/guest/xg_sr_common.h
+++ b/tools/libs/guest/xg_sr_common.h
@@ -209,6 +209,18 @@ static inline int update_blob(struct xc_sr_blob *blob,
     return 0;
 }
 
+struct xc_sr_context_save_buffers
+{
+    xen_pfn_t batch_pfns[MAX_BATCH_SIZE];
+    xen_pfn_t mfns[MAX_BATCH_SIZE];
+    xen_pfn_t types[MAX_BATCH_SIZE];
+    int errors[MAX_BATCH_SIZE];
+    void *guest_data[MAX_BATCH_SIZE];
+    void *local_pages[MAX_BATCH_SIZE];
+    struct iovec iov[MAX_BATCH_SIZE + 2]; /* Headers + data. */
+    uint64_t rec_pfns[MAX_BATCH_SIZE];
+};
+
 struct xc_sr_context
 {
     xc_interface *xch;
@@ -244,6 +256,7 @@ struct xc_sr_context
             unsigned long *deferred_pages;
             unsigned long nr_deferred_pages;
             xc_hypercall_buffer_t dirty_bitmap_hbuf;
+            struct xc_sr_context_save_buffers *buffers;
         } save;
 
         struct /* Restore data. */
diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index 8c4e760f8d..7d8055a3f9 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -86,16 +86,16 @@ static int write_checkpoint_record(struct xc_sr_context *ctx)
 static int write_batch(struct xc_sr_context *ctx)
 {
     xc_interface *xch = ctx->xch;
-    xen_pfn_t *mfns = NULL, *types = NULL;
+    xen_pfn_t *mfns, *types;
     void *guest_mapping = NULL;
-    void **guest_data = NULL;
-    void **local_pages = NULL;
-    int *errors = NULL, rc = -1;
+    void **guest_data;
+    void **local_pages;
+    int *errors, rc = -1;
     unsigned int i, p, nr_pages = 0, nr_pages_mapped = 0;
     unsigned int nr_pfns = ctx->save.nr_batch_pfns;
     void *page, *orig_page;
-    uint64_t *rec_pfns = NULL;
-    struct iovec *iov = NULL; int iovcnt = 0;
+    uint64_t *rec_pfns;
+    struct iovec *iov; int iovcnt = 0;
     struct {
         struct xc_sr_rhdr rec;
         struct xc_sr_rec_page_data_header page_data;
@@ -105,26 +105,24 @@ static int write_batch(struct xc_sr_context *ctx)
     };
 
     assert(nr_pfns != 0);
+    assert(nr_pfns <= MAX_BATCH_SIZE);
+    assert(ctx->save.buffers);
 
     /* Mfns of the batch pfns. */
-    mfns = malloc(nr_pfns * sizeof(*mfns));
+    mfns = ctx->save.buffers->mfns;
     /* Types of the batch pfns. */
-    types = malloc(nr_pfns * sizeof(*types));
+    types = ctx->save.buffers->types;
     /* Errors from attempting to map the gfns. */
-    errors = malloc(nr_pfns * sizeof(*errors));
+    errors = ctx->save.buffers->errors;
     /* Pointers to page data to send.  Mapped gfns or local allocations. */
-    guest_data = calloc(nr_pfns, sizeof(*guest_data));
+    guest_data = ctx->save.buffers->guest_data;
+    memset(guest_data, 0, sizeof(*guest_data) * nr_pfns);
     /* Pointers to locally allocated pages.  Need freeing. */
-    local_pages = calloc(nr_pfns, sizeof(*local_pages));
+    local_pages = ctx->save.buffers->local_pages;
+    memset(local_pages, 0, sizeof(*local_pages) * nr_pfns);
     /* iovec[] for writev(). */
-    iov = malloc((nr_pfns + 2) * sizeof(*iov));
-
-    if ( !mfns || !types || !errors || !guest_data || !local_pages || !iov )
-    {
-        ERROR("Unable to allocate arrays for a batch of %u pages",
-              nr_pfns);
-        goto err;
-    }
+    iov = ctx->save.buffers->iov;
+    rec_pfns = ctx->save.buffers->rec_pfns;
 
     for ( i = 0; i < nr_pfns; ++i )
     {
@@ -210,14 +208,6 @@ static int write_batch(struct xc_sr_context *ctx)
         }
     }
 
-    rec_pfns = malloc(nr_pfns * sizeof(*rec_pfns));
-    if ( !rec_pfns )
-    {
-        ERROR("Unable to allocate %zu bytes of memory for page data pfn list",
-              nr_pfns * sizeof(*rec_pfns));
-        goto err;
-    }
-
     hdrs.rec.length = sizeof(hdrs.page_data);
     hdrs.rec.length += nr_pfns * sizeof(*rec_pfns);
     hdrs.rec.length += nr_pages * PAGE_SIZE;
@@ -267,17 +257,13 @@ static int write_batch(struct xc_sr_context *ctx)
     rc = ctx->save.nr_batch_pfns = 0;
 
  err:
-    free(rec_pfns);
     if ( guest_mapping )
         xenforeignmemory_unmap(xch->fmem, guest_mapping, nr_pages_mapped);
     for ( i = 0; local_pages && i < nr_pfns; ++i )
+    {
         free(local_pages[i]);
-    free(iov);
-    free(local_pages);
-    free(guest_data);
-    free(errors);
-    free(types);
-    free(mfns);
+        local_pages[i] = NULL;
+    }
 
     return rc;
 }
@@ -805,18 +791,18 @@ static int setup(struct xc_sr_context *ctx)
 
     dirty_bitmap = xc_hypercall_buffer_alloc_pages(
         xch, dirty_bitmap, NRPAGES(bitmap_size(ctx->save.p2m_size)));
-    ctx->save.batch_pfns = malloc(MAX_BATCH_SIZE *
-                                  sizeof(*ctx->save.batch_pfns));
     ctx->save.deferred_pages = bitmap_alloc(ctx->save.p2m_size);
+    ctx->save.buffers = calloc(1, sizeof(*ctx->save.buffers));
 
-    if ( !ctx->save.batch_pfns || !dirty_bitmap || !ctx->save.deferred_pages )
+    if ( !dirty_bitmap || !ctx->save.deferred_pages || !ctx->save.buffers)
     {
-        ERROR("Unable to allocate memory for dirty bitmaps, batch pfns and"
-              " deferred pages");
+        ERROR("Unable to allocate memory for dirty bitmaps, deferred pages"
+              " and various batch buffers");
         rc = -1;
         errno = ENOMEM;
         goto err;
     }
+    ctx->save.batch_pfns = ctx->save.buffers->batch_pfns;
 
     rc = 0;
 
@@ -840,7 +826,7 @@ static void cleanup(struct xc_sr_context *ctx)
     xc_hypercall_buffer_free_pages(xch, dirty_bitmap,
                                    NRPAGES(bitmap_size(ctx->save.p2m_size)));
     free(ctx->save.deferred_pages);
-    free(ctx->save.batch_pfns);
+    free(ctx->save.buffers);
 }
 
 /*
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:06:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:06:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326232.1591723 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlIi-0006uM-QX; Wed, 03 Jun 2026 13:06:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326232.1591723; Wed, 03 Jun 2026 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 1wUlIi-0006uD-MF; Wed, 03 Jun 2026 13:06:28 +0000
Received: by outflank-mailman (input) for mailman id 1326232;
 Wed, 03 Jun 2026 13:06:27 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wUlIh-0006Yj-7X
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:06:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlIg-00Fz4z-KI
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:06:26 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026cc-5cb7-0a2a0a5109dd-0a2a45078556-42
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:26 +0200
Received: from [209.85.221.54] (helo=mail-wr1-f54.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026d2-229c-0a2a45070019-d155dd36ddaa-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:26 +0200
Received: by mail-wr1-f54.google.com with SMTP id
 ffacd0b85a97d-45ef779c1c2so3566860f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:06:26 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2ec711sm7254825f8f.12.2026.06.03.06.06.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 06:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780491986; x=1781096786; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ga8NUbQdyZJ7AuIJzNxg+MgQvikeNA0e9nhxhm+dxDo=;
        b=C9mAA7oCwVS19b6k/gIZJx+pWIb8o0GCXMnwMC3AJtZacp1vJeqeeKClOAHEC2tEhG
         nHt1n+24GQN0hrg5LpjMSgmVEKL6Vdhe+C1gPbyRWChERBw5sw8qKdLAKEDv9YdESP2B
         EvkSw5OHRTLXJ/C2jJlb4F4Po957LCrJ/SH+YEioIN+U7+puysHptHTKRkLBw30RiX2u
         rwTfcg853qmsthuv1ma5lON0tJgUJu80fOShsB7g9JmWSQvqzxRC/VHGwSrn90keZyuw
         7pIUrkmLb+xGvmeaxD+V25ITj2mcX+PMNRcrtSxO5Q7CcHkHuB1DqmjA/TQGyKt34qqX
         xHwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780491986; x=1781096786;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=ga8NUbQdyZJ7AuIJzNxg+MgQvikeNA0e9nhxhm+dxDo=;
        b=IE2vPeXc5JB+Jzuh7B46yPx00iwC21yvjFJjIy62OJHksfaTadpEwVmkpYyhdARtZh
         NCNaStEU4GEo0Drc5l8m4VhxFjd/Ib34h7vAqKAAkrNBKceDJWSO8KOHzl3eT6DnscqQ
         3S6gfyBtjX4GR+Nn6hnG4v8iZv3faku8izMc+FSu2UAJvaYRoV74wUceyPUaGVcRccm4
         330zQH93SGUpgjUNiiYtiEhrnXzOkp9/y7/aPYGsTf29bZh1JFDP3cIRnz9RSNXR+se0
         pkI/x0f4W0GDZDHhwNPrWJs+RlMnVjSxv+4O7xHme63d5hzqAgfYjRRK1dAyDPnzt8bc
         D5zA==
X-Gm-Message-State: AOJu0YyPcfgCDFnyNL2CbQz05vFYDuyisCnRbzPxxUAn2Mhm2erX+Pah
	0BSTyM8aX08IR08Q8+t/8qe9/Ipl04zpuxzeCHahXgSidb287GvFvl7OS0dPobBh
X-Gm-Gg: Acq92OEy98SgewwPXtMpSnQVO8x5zr90ATUiSASQ6/+Cqj80S69XXJncx1lVr/BM3kg
	Lyn9IH3mdEk0E3QFBpWpB588tU1TXHRmBWWQry4AJ3SWUFtf5JahkmKvZy2Am4Jbbm0gikjrq4L
	QDA/bhTgDxm0lYTk5g0UHsWQvMxw+c0+LBPjI4QpVQiH2adXmw4z7xU+0T4t3UquQM2g3vnUbOb
	MzTFw+jEEhj20PE5vbHng7Dgt7K2DS/4kyEb3sWT7cnZylzB11cIntkRprEIDZQlotK/CW0Mr7C
	RA1ha1aHM86NT1FBYov8EzC6oDt9lAMkEnEBSdYoGBnzGeasC5L2fonU1cfVmpRVcaiR3hKvfSk
	68WrEA5g5QgOPzpSSmNxoYwCg0gUl3Nk5Muq/24CbHRXwaVx7B1yaUp+kr/gBRU49ZMCHulO2gb
	kMW41uNTNS/eGoHXLiPQt0lG6OuouCUFmPyusgQhQri9VY8Xzh4OPTxLFMz5i/vXc0yHrGUN9Z2
	r9Ss0HyoET0K5LuzQp2c5EPbJ9t3r2we/xY
X-Received: by 2002:adf:eed2:0:b0:452:6aaf:76cb with SMTP id ffacd0b85a97d-4602178b717mr3700601f8f.1.1780491985582;
        Wed, 03 Jun 2026 06:06:25 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v4 08/16] libs/guest: fill directly iov structure
Date: Wed,  3 Jun 2026 14:05:55 +0100
Message-ID: <20260603130603.776452-9-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260603130603.776452-1-frediano.ziglio@cloud.com>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1780491986-22971C48-3311927E/0/0
X-purgate-type: clean
X-purgate-size: 4533

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Instead of storing page pointers into an array and lately adding to
iov vector add the pages directly to iov to avoid "guest_data"
array.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/libs/guest/xg_sr_common.h |  1 -
 tools/libs/guest/xg_sr_save.c   | 62 ++++++++++++---------------------
 2 files changed, 22 insertions(+), 41 deletions(-)

diff --git a/tools/libs/guest/xg_sr_common.h b/tools/libs/guest/xg_sr_common.h
index 82549b5589..e8452746e4 100644
--- a/tools/libs/guest/xg_sr_common.h
+++ b/tools/libs/guest/xg_sr_common.h
@@ -215,7 +215,6 @@ struct xc_sr_context_save_buffers
     xen_pfn_t mfns[MAX_BATCH_SIZE];
     xen_pfn_t types[MAX_BATCH_SIZE];
     int errors[MAX_BATCH_SIZE];
-    void *guest_data[MAX_BATCH_SIZE];
     void *local_pages[MAX_BATCH_SIZE];
     struct iovec iov[MAX_BATCH_SIZE + 2]; /* Headers + data. */
     uint64_t rec_pfns[MAX_BATCH_SIZE];
diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index 7d8055a3f9..593268f176 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -88,7 +88,6 @@ static int write_batch(struct xc_sr_context *ctx)
     xc_interface *xch = ctx->xch;
     xen_pfn_t *mfns, *types;
     void *guest_mapping = NULL;
-    void **guest_data;
     void **local_pages;
     int *errors, rc = -1;
     unsigned int i, p, nr_pages = 0, nr_pages_mapped = 0;
@@ -114,9 +113,6 @@ static int write_batch(struct xc_sr_context *ctx)
     types = ctx->save.buffers->types;
     /* Errors from attempting to map the gfns. */
     errors = ctx->save.buffers->errors;
-    /* Pointers to page data to send.  Mapped gfns or local allocations. */
-    guest_data = ctx->save.buffers->guest_data;
-    memset(guest_data, 0, sizeof(*guest_data) * nr_pfns);
     /* Pointers to locally allocated pages.  Need freeing. */
     local_pages = ctx->save.buffers->local_pages;
     memset(local_pages, 0, sizeof(*local_pages) * nr_pfns);
@@ -159,6 +155,19 @@ static int write_batch(struct xc_sr_context *ctx)
         mfns[nr_pages++] = mfns[i];
     }
 
+    hdrs.rec.length = sizeof(hdrs.page_data);
+    hdrs.rec.length += nr_pfns * sizeof(*rec_pfns);
+
+    hdrs.page_data.count = nr_pfns;
+
+    iov[0].iov_base = &hdrs;
+    iov[0].iov_len = sizeof(hdrs);
+
+    iov[1].iov_base = rec_pfns;
+    iov[1].iov_len = nr_pfns * sizeof(*rec_pfns);
+
+    iovcnt = 2;
+
     if ( nr_pages > 0 )
     {
         guest_mapping = xenforeignmemory_map(
@@ -200,60 +209,33 @@ static int write_batch(struct xc_sr_context *ctx)
                 else
                     goto err;
             }
+            else if ( iov[iovcnt-1].iov_base + iov[iovcnt-1].iov_len != page )
+            {
+                iov[iovcnt].iov_base = page;
+                iov[iovcnt].iov_len = PAGE_SIZE;
+                iovcnt++;
+            }
             else
-                guest_data[i] = page;
+            {
+                iov[iovcnt-1].iov_len += PAGE_SIZE;
+            }
 
             rc = -1;
             ++p;
         }
     }
 
-    hdrs.rec.length = sizeof(hdrs.page_data);
-    hdrs.rec.length += nr_pfns * sizeof(*rec_pfns);
     hdrs.rec.length += nr_pages * PAGE_SIZE;
 
-    hdrs.page_data.count = nr_pfns;
-
     for ( i = 0; i < nr_pfns; ++i )
         rec_pfns[i] = ((uint64_t)(types[i]) << 32) | ctx->save.batch_pfns[i];
 
-    iov[0].iov_base = &hdrs;
-    iov[0].iov_len = sizeof(hdrs);
-
-    iov[1].iov_base = rec_pfns;
-    iov[1].iov_len = nr_pfns * sizeof(*rec_pfns);
-
-    iovcnt = 2;
-
-    if ( nr_pages )
-    {
-        for ( i = 0; i < nr_pfns; ++i )
-        {
-            if ( !guest_data[i] )
-                continue;
-
-            if ( iov[iovcnt-1].iov_base + iov[iovcnt-1].iov_len != guest_data[i] )
-            {
-                iov[iovcnt].iov_base = guest_data[i];
-                iov[iovcnt].iov_len = PAGE_SIZE;
-                iovcnt++;
-            }
-            else
-            {
-                iov[iovcnt-1].iov_len += PAGE_SIZE;
-            }
-            --nr_pages;
-        }
-    }
-
     if ( writev_exact(ctx->fd, iov, iovcnt) )
     {
         PERROR("Failed to write page data to stream");
         goto err;
     }
 
-    /* Sanity check we have sent all the pages we expected to. */
-    assert(nr_pages == 0);
     rc = ctx->save.nr_batch_pfns = 0;
 
  err:
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:06:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:06:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326233.1591727 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlIj-0006zf-C7; Wed, 03 Jun 2026 13:06:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326233.1591727; Wed, 03 Jun 2026 13:06: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 1wUlIj-0006yP-3L; Wed, 03 Jun 2026 13:06:29 +0000
Received: by outflank-mailman (input) for mailman id 1326233;
 Wed, 03 Jun 2026 13:06:28 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wUlIh-0006iZ-VH
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:06:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlIh-000siy-C1
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:06:27 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026d2-e002-0a2a0a5209dd-0a2a450586e0-6
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:27 +0200
Received: from [209.85.221.52] (helo=mail-wr1-f52.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026d3-aaa8-0a2a45050019-d155dd34e827-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:27 +0200
Received: by mail-wr1-f52.google.com with SMTP id
 ffacd0b85a97d-46013161068so1771657f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:06:27 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2ec711sm7254825f8f.12.2026.06.03.06.06.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780491987; x=1781096787; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KKuxb0CO6/FH9FO7YOyiSG4lQEpi75NZF/ea4dVESjo=;
        b=R7CadIYOXVRN06F/q298zH4BwvFlN3f4EIUJtWn0O50i4Msa5sZwKpx1VAOcAFzAHQ
         uBwKPJ4l0XFWRMZLEgqkx5yJTNFON2PNjEulVKkvIJwEhMsxdkm6jLRf57d9HrTNhXAj
         8cFSLthmZJYYc4Ee9363x2bE8ShIiv5AsS5NUugA7lwjNKerzCot1VlmxXwK7DNocCZa
         VbweOIjBw+xl1bEPc/MZHFKfv4n/aEtBckYsT2eCOd8Pd/7QLTqdT/+4ZykfxZvUfVP4
         2C/p4hfWbSL0ulDtQAAUxR5aZS12F93jV5Y9oGNGD+oQT09W/AlNVg418fhyA98UCQCC
         vWlg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780491987; x=1781096787;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=KKuxb0CO6/FH9FO7YOyiSG4lQEpi75NZF/ea4dVESjo=;
        b=db3bqgEzawlC3cXepOgHSwcJl/Xvynju6tTfaqdhvUyMbI58waiyv9ZYLN2qzoD9V/
         c5z2zBseVB3H1lj/sErUocUVFvI1OfSZ75rx4Rf5aKrDvxevQs/bzpKz5UHCGQ4ESomn
         F6BPFQXFGemlSFb43nJd/kRUL385mDuVKBXdsjSL7EL79hLfvqJEE+t2G6DrvTJ/rwOY
         ZprqgsBqP5C/9RnL1yGSPZdGAduYGbJhRvIhpL7U6AA9VXSOAHbm/R+Vp/fv8nm87oUW
         Llvqoe572wh3G2m2C6frG6Gi60zHfpQoNf32mPOWwH/mrMINIYNo0aQfwDS6/AnOyjbP
         D/ug==
X-Gm-Message-State: AOJu0YxJnjJGNt/lg5GH1ZzbrbAPYxQuMMsKqF15IzzDBSTOmRu0w+A9
	o1thAZbH6f5JtfAFk8caC5WBYRsZYkwBW1wTwT+BJjpyWxTLZq58TFPB0IlXnoxD
X-Gm-Gg: Acq92OGqwRtrYcjaWEf118twonHy7HvbWNXA1gqBiuYYIwnU2YQ52W8jeF5erk8yZdZ
	uLUKDUQsSJfFYyXls/lmKK3fAKcydtWWSqW+9ZneEOSAw8tRbQC5VZdvVXtHJWwvuuPi9RG4co3
	y9XOJxZZYSOYksFCV9rKbYAx4/vdl0pY2Fu62092Ab5jcyPAPIL3XR6b7Vqvrg47SvN3YnPhalH
	18Be3xGIzVU/7fwwMcM3UdEgM42m7sFjgYQsEbqEpPDkhllJIFkNNZaBSV3V7DMJ/pOAfY1CtRT
	Nq18kIxO/KaRbvEXsprhjIBDBOgzIJjYygkelxB0q9wUPdUpK9hsOa2l6Kman4MbUAgh+hBwQ4b
	JBkcOYgDJOAKX+FFibo9BPytW6DToSh4djOd7zdUnNMfs4O1Y5lYbxq2U1mn854ElX1vGGfmQI6
	cw5qeXeUeC2aEbDB+xTYWxkkE1r1Qyso37MHQFWXO7k01k0bxvy/vFcajrlXwSZHMw2YWHRYxfG
	rSEvIKA49b5xxJb3vb5h8mhw1p8BcJAnAEz
X-Received: by 2002:a05:6000:2905:b0:460:ff2:63e5 with SMTP id ffacd0b85a97d-4602181e60fmr4559736f8f.18.1780491986609;
        Wed, 03 Jun 2026 06:06:26 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v4 09/16] libs/ctrl: Allows writev_exact to change iov array
Date: Wed,  3 Jun 2026 14:05:56 +0100
Message-ID: <20260603130603.776452-10-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260603130603.776452-1-frediano.ziglio@cloud.com>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1780491987-E3589443-1145D8E2/0/0
X-purgate-type: clean
X-purgate-size: 3226

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Avoid having to allocate and copy the array if a partial write
happens.
The implementation in tools/libs/store/xs.c already use this
signature and method.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v2:
- change prefix in subject.
---
 tools/libs/ctrl/xc_private.c | 26 +++++---------------------
 tools/libs/ctrl/xc_private.h |  2 +-
 2 files changed, 6 insertions(+), 22 deletions(-)

diff --git a/tools/libs/ctrl/xc_private.c b/tools/libs/ctrl/xc_private.c
index bb0f81d6f3..946fc307aa 100644
--- a/tools/libs/ctrl/xc_private.c
+++ b/tools/libs/ctrl/xc_private.c
@@ -635,7 +635,7 @@ int write_exact(int fd, const void *data, size_t size)
 /*
  * MiniOS's libc doesn't know about writev(). Implement it as multiple write()s.
  */
-int writev_exact(int fd, const struct iovec *iov, int iovcnt)
+int writev_exact(int fd, struct iovec *iov, int iovcnt)
 {
     int rc, i;
 
@@ -649,9 +649,8 @@ int writev_exact(int fd, const struct iovec *iov, int iovcnt)
     return 0;
 }
 #else
-int writev_exact(int fd, const struct iovec *iov, int iovcnt)
+int writev_exact(int fd, struct iovec *iov, int iovcnt)
 {
-    struct iovec *local_iov = NULL;
     int rc = 0, iov_idx = 0, saved_errno = 0;
     ssize_t len;
 
@@ -686,23 +685,9 @@ int writev_exact(int fd, const struct iovec *iov, int iovcnt)
                 len -= iov[iov_idx++].iov_len;
             else
             {
-                /* Partial write of iov[iov_idx]. Copy iov so we can adjust
-                 * element iov_idx and resubmit the rest. */
-                if ( !local_iov )
-                {
-                    local_iov = malloc(iovcnt * sizeof(*iov));
-                    if ( !local_iov )
-                    {
-                        saved_errno = ENOMEM;
-                        rc = -1;
-                        goto out;
-                    }
-
-                    iov = memcpy(local_iov, iov, iovcnt * sizeof(*iov));
-                }
-
-                local_iov[iov_idx].iov_base += len;
-                local_iov[iov_idx].iov_len  -= len;
+                /* Partial write of iov[iov_idx]. */
+                iov[iov_idx].iov_base += len;
+                iov[iov_idx].iov_len  -= len;
                 break;
             }
         }
@@ -711,7 +696,6 @@ int writev_exact(int fd, const struct iovec *iov, int iovcnt)
     saved_errno = 0;
 
  out:
-    free(local_iov);
     errno = saved_errno;
     return rc;
 }
diff --git a/tools/libs/ctrl/xc_private.h b/tools/libs/ctrl/xc_private.h
index b5892ae8dc..3af996e900 100644
--- a/tools/libs/ctrl/xc_private.h
+++ b/tools/libs/ctrl/xc_private.h
@@ -383,7 +383,7 @@ int xc_flush_mmu_updates(xc_interface *xch, struct xc_mmu *mmu);
 /* Return 0 on success; -1 on error setting errno. */
 int read_exact(int fd, void *data, size_t size); /* EOF => -1, errno=0 */
 int write_exact(int fd, const void *data, size_t size);
-int writev_exact(int fd, const struct iovec *iov, int iovcnt);
+int writev_exact(int fd, struct iovec *iov, int iovcnt);
 
 int xc_ffs8(uint8_t x);
 int xc_ffs16(uint16_t x);
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:06:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:06:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326234.1591740 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlIl-0007Pw-Iw; Wed, 03 Jun 2026 13:06:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326234.1591740; Wed, 03 Jun 2026 13: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 1wUlIl-0007Nk-0w; Wed, 03 Jun 2026 13:06:31 +0000
Received: by outflank-mailman (input) for mailman id 1326234;
 Wed, 03 Jun 2026 13:06:29 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wUlIj-0006v4-0i
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:06:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlIi-007IYC-DT
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:06:28 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026ce-bab6-0a2a0a5309dd-0a2a450bebbe-16
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:28 +0200
Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026d4-212f-0a2a450b0019-d155dd35c909-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:28 +0200
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-45efb698ef2so2358935f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:06:28 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2ec711sm7254825f8f.12.2026.06.03.06.06.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 06:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780491988; x=1781096788; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qCpz3u+0gUwl9boMIWgHEbNmxOn2zYt5frimeVUxE30=;
        b=SFTj4CkyWPLhWvQnyVU354cMkyeKw4D4lz868LH3uwj9eHzXbikRBJmSOsrp6HKY/t
         44pe3ujaDfi7egx246K33OqK+Qs7A/Q74MTZezlZfF94VdfZaRjDPC7hNgM1+hKUhQD1
         D4NGuDG6A7cgyAF8bOCMZ+3uNAnGAIrVlGeQ7O1LgEiZFarULuKBXqr/+DQMv6YrhQPF
         thftdE6+a6EN7i1EPF/fCImenp0h3YjkRpCbHN0Yl6WgpubXw4OE4yiDriz3E+k/SPnP
         WGxcMNezwh1G1lAGS3FVHxEDeqrdkMaizlebVCX1pS2HGalRAOMzxECsuNkBdizcN0Hm
         xCUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780491988; x=1781096788;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=qCpz3u+0gUwl9boMIWgHEbNmxOn2zYt5frimeVUxE30=;
        b=hAimnwfNJbu9wu8rBuNqLuxiofqN01ih4Q12CD7O5WkHHNrRQ+jICO7uYl6gIyzJ7N
         Rg7z0nk5GPUcKErFmd7BntWCMCiDT3W8TjqY9tQemXnq9GlxUMlBbv4EkiEW8XJjcT5b
         LrIES73UlpI7o/r+qv1qCj6me0unAyC3u+A/kst390E/2WNAItVsrYo6eTTQnTbp+9F5
         +AU3QdFq9HuRfzMBdmdJ9Qs6RyM6C8yQAfN6ubDZk5mk8Hijj+hoynm+AyE/vVHCj6ta
         R+9EGxH1RjXNlRv2EysMO092po9HpGGkN9R5eV6CIroGD0b/CRXM20A/J0HWylz2Rt1p
         iUJQ==
X-Gm-Message-State: AOJu0Ywf2YmdrYU6oIml7Yk5tUzrzujnwTIBpjtdyj3lZPl8RrBLKj3g
	8urzn68ksftvzRFhcOxn/qS0w5uWkXfFqnc04AN3VMog9VWjIQJkOskNlJlq7wA3
X-Gm-Gg: Acq92OGmh9h0qevPNXYjs3MYvQezkCqpHdcOxJXvqrYHKoHhvUOjfYVwwBe2JexhwGw
	4gvGHenINGkDHmlbglUstkFG26oRVr6EooN0fr+2rFb+onZugymYR+VoMGETTSyt1A+VHiea3LX
	xHfffplSRkW+C/mD1TwmvM5schIZMptUVS2TKVPxlcc742c1o3NOLh4vvyNmqpGnuFFKt1CmyZA
	JgTbmN5QhOUE2wBAR+mx2VvOBuPMBvFumC6YyHF/aRrybfCHspw4sYR94DO+DEMnu/U5EOkIFda
	8xQOlpXnpuc67PveEgRsSFfrfIolhhzQLQajU0tXKutniRRnEzcLvv4Q/DB4nsfJVLRDmxC5eEw
	W+L9Ulk4D2CEkqhdjueGPp0JLsitTRrtv7I8EPMYy5dvq33S9jdghJxA5BAblWEWhB7b+yFCbrX
	LuGPK8i74s/I7d2mCPB7weaqzGiApeyBSKWSuVP++RdQv+xWiwUrySJJD3teyvT+ApT2yR4V6dV
	n4dcxJMEI/PJo8Tr1zasbH3XbxpUR1N4B+g
X-Received: by 2002:a05:6000:299c:20b0:460:1223:a044 with SMTP id ffacd0b85a97d-46021612545mr3590294f8f.0.1780491987578;
        Wed, 03 Jun 2026 06:06:27 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v4 10/16] libs/guest: add xg_foreignmemory_copy_{from,to}
Date: Wed,  3 Jun 2026 14:05:57 +0100
Message-ID: <20260603130603.776452-11-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260603130603.776452-1-frediano.ziglio@cloud.com>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1780491988-18762F3B-CCFB2C11/0/0
X-purgate-type: clean
X-purgate-size: 3485

From: Frediano Ziglio <frediano.ziglio@citrix.com>

This change prepare code to use a new "foreign copy" hypercall.
The new hypercall will copy memory from/to a foreign domain.
The new hypercall can be emulated with a sequence of:
- map foreign memory;
- copy memory;
- unmap foreign memory.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/libs/guest/xg_sr_common.c | 60 +++++++++++++++++++++++++++++++++
 tools/libs/guest/xg_sr_common.h |  8 +++++
 2 files changed, 68 insertions(+)

diff --git a/tools/libs/guest/xg_sr_common.c b/tools/libs/guest/xg_sr_common.c
index 86c148c62f..a94e9dfbff 100644
--- a/tools/libs/guest/xg_sr_common.c
+++ b/tools/libs/guest/xg_sr_common.c
@@ -156,6 +156,66 @@ static void __attribute__((unused)) build_assertions(void)
     BUILD_BUG_ON(sizeof(struct xc_sr_rec_hvm_params)        != 8);
 }
 
+enum {
+    foreigncopy_from,
+    foreigncopy_to
+};
+
+static int xg_foreignmemory_copy(xc_interface *xch, domid_t domid,
+                                 int dir, size_t nr_pages, void *buffer,
+                                 const xen_pfn_t foreign_pfns[nr_pages])
+{
+    if ( nr_pages == 0 )
+        return 0;
+
+    if ( !buffer || !foreign_pfns )
+    {
+        errno = EINVAL;
+        return -1;
+    }
+
+    int err[nr_pages];
+    const int prot = (dir == foreigncopy_from) ? PROT_READ : PROT_READ|PROT_WRITE;
+
+    void *p = xenforeignmemory_map(xch->fmem, domid, prot, nr_pages, foreign_pfns, err);
+    if ( !p )
+    {
+        errno = EINVAL;
+        return -1;
+    }
+
+    for ( size_t n = 0; n < nr_pages; ++n )
+        if ( err[n] )
+        {
+            xenforeignmemory_unmap(xch->fmem, p, nr_pages);
+            errno = -err[n];
+            return -1;
+        }
+
+    if ( dir == foreigncopy_from )
+        memcpy(buffer, p, nr_pages * XC_PAGE_SIZE);
+    else
+        memcpy(p, buffer, nr_pages * XC_PAGE_SIZE);
+
+    return xenforeignmemory_unmap(xch->fmem, p, nr_pages);
+}
+
+int xg_foreignmemory_copy_from(xc_interface *xch, domid_t dom,
+                               size_t nr_pages, void *dest,
+                               const xen_pfn_t source[nr_pages])
+{
+    return xg_foreignmemory_copy(xch, dom, foreigncopy_from,
+                                 nr_pages, dest, source);
+}
+
+int xg_foreignmemory_copy_to(xc_interface *xch, domid_t dom,
+                             size_t nr_pages, const xen_pfn_t dest[nr_pages],
+                             const void *source)
+{
+    return xg_foreignmemory_copy(xch, dom, foreigncopy_to,
+                                 nr_pages, (void *) source, dest);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/guest/xg_sr_common.h b/tools/libs/guest/xg_sr_common.h
index e8452746e4..72c9511f38 100644
--- a/tools/libs/guest/xg_sr_common.h
+++ b/tools/libs/guest/xg_sr_common.h
@@ -553,6 +553,14 @@ static inline bool page_type_has_stream_data(uint32_t type)
     }
 }
 
+int xg_foreignmemory_copy_from(xc_interface *xch, domid_t dom,
+                               size_t nr_pages, void *dest,
+                               const xen_pfn_t source[nr_pages]);
+
+int xg_foreignmemory_copy_to(xc_interface *xch, domid_t dom,
+                             size_t nr_pages, const xen_pfn_t dest[nr_pages],
+                             const void *source);
+
 #endif
 /*
  * Local variables:
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:06:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:06:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326238.1591748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlIn-0007iZ-2x; Wed, 03 Jun 2026 13:06:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326238.1591748; Wed, 03 Jun 2026 13:06: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 1wUlIm-0007h7-Lz; Wed, 03 Jun 2026 13:06:32 +0000
Received: by outflank-mailman (input) for mailman id 1326238;
 Wed, 03 Jun 2026 13:06:31 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wUlIl-0007Kr-1A
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:06:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlIk-00Fz4z-Dt
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:06:30 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026d4-5cb7-0a2a0a5109dd-0a2a4507892e-12
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:30 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026d6-229c-0a2a45070019-d1558033b1f0-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:30 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-490b613a17bso9395445e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:06:30 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2ec711sm7254825f8f.12.2026.06.03.06.06.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 06:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780491990; x=1781096790; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=UL0N3KKHtVrvo4ntoGJtN+QrR4yck3sAmYsmSdPB7So=;
        b=sq+qKER79/oD4gYV7VydoZGgdzu+oAKmQCr1Uzgvv7ngbZ7Shg4EfpPBKkcG7dFG10
         keA0372FZkxS16s8wfM44cJ3UkDP3OzFgrwfW0QolTXb2lcPZZ71BpF7x2EWAbjYpIJz
         /WZtJJbgEqcqKgM+XNQYamNrelCuItvoEwX3qnk0q7wJgYPwCyTtAk9jvtNgZSHNfXCM
         pF7s+v2eqfMKdMFIm8CgDtt21LijlLnJ7XrRSF4170zxe/nx1pPOjhzeuHRI+1eZqrNh
         m+y5fi0g4F2TdgK4zLBxeeaigy9WipA2LVSInj632z/HRADkqwWanyqteNLXh9q+ge9e
         k1Kg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780491990; x=1781096790;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=UL0N3KKHtVrvo4ntoGJtN+QrR4yck3sAmYsmSdPB7So=;
        b=ef8N16gpnizmKNe+gGs07fdHE2q+f8FhCWRzOm3WFO1tItva+PFGoRcxOv9hMLhHn7
         pCqogIIGELNk3v35aZ7RYErbkTWN3DA0XjggpC+45ljTZHEFctlQzZ1m14JlLiSSphdm
         DNbE/CCnPp+GmR6uMJRJ0QhAbdX7aPohCcLYBsXihH1dzWTIPnd7+Y2Lm508EOQjyLJL
         XhYtWqIzySamTWIbR4XlThGcR+PVXJvpA0y3zTmOFhd4bWap54MU4rv2bLEm2r2yqqr+
         LZVcJHbIR2wC96u9s3ElKum0H4o3+ghld+yRcjAvNBMIg4IW4SBK0fjj2mPwjAHHQhnO
         a5+g==
X-Gm-Message-State: AOJu0YyPieG9VXnSOjSBh/rCLeXYLLyTC0/WZPAmyU4aJ+CL3pAkNwOV
	HO4g87pMIzHhxMX8iYXPSErqCI94NWF5QNaRdCTe2X6UPAoTLBu4YTRxVoejdJjQ
X-Gm-Gg: Acq92OHVpmSiawF9NKbWnk3jv+uryUqtaxb9+YI195IjnZwF9zgY8xLZL8wlZgQEgnK
	ObNnFEB/7xqOooLZoCOax/+VT4plFFWvcRUCmdf04GziX1YvFzSI4zC12Sq8tVxb6u15MYUQVwv
	mjznohvTc0qISnmIrfdZDA3KpeijiCsX4ik9iUirQ4nIaTy/LRFuW+wUs4M25HJeAdiU1uCXVJ6
	NsA0MPi748lAHloK0f8XwhaulrzWqG8ACtBKjj3LwlRU+vKbgfM9LMVuFaGtUtZYp4sFSDDIkOE
	2SPAbMXwVuyelYjqYaAzsu48uWOb2KHR8WT6WpNu7bWzseDwOUmqJoFtxMFYTOjqm4yP/coD+aD
	A+RRvjzUqPgwv7UIVp/dAeQHchYrd4Jzwg5QpJm9rv7tHcEzJzWUHc8nKXrnblYg0SsLB+zgPq8
	YtuZR5Isux4DAqyKWq9EWIpDZRquMO1Pbip/9jjipOHqKja9gWDyZU+iQCB9vQCDzG0uJWfG3oO
	c4eZDVO2z/9ip3IS5e+UL5UA8U0f4pXlPeS
X-Received: by 2002:a05:600c:810c:b0:490:47e3:929a with SMTP id 5b1f17b1804b1-490b5e7961fmr59382775e9.6.1780491989710;
        Wed, 03 Jun 2026 06:06:29 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v4 12/16] xen: implement new foreign copy hypercall
Date: Wed,  3 Jun 2026 14:05:59 +0100
Message-ID: <20260603130603.776452-13-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260603130603.776452-1-frediano.ziglio@cloud.com>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1780491990-0AD77C48-08B014AF/0/0
X-purgate-type: clean
X-purgate-size: 6426

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Add a sub hypercall to __HYPERVISOR_memory_op to allow to
read/write memory from/to a foreign domain.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 xen/common/memory.c         | 133 ++++++++++++++++++++++++++++++++++++
 xen/include/public/memory.h |  40 ++++++++++-
 2 files changed, 172 insertions(+), 1 deletion(-)

diff --git a/xen/common/memory.c b/xen/common/memory.c
index 3672bda025..6a2d9c3190 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -1545,6 +1545,132 @@ static int acquire_resource(
     return rc;
 }
 
+/*
+ * The "noinline" qualifier avoid the compiler to create a large function
+ * consuming quite a lot of stack.
+ */
+static int noinline mem_foreigncopy(
+    XEN_GUEST_HANDLE_PARAM(xen_foreigncopy_t) arg)
+{
+    struct domain *d, *const currd = current->domain;
+    xen_foreigncopy_t copy;
+    int rc, direction;
+
+    if ( !arch_acquire_resource_check(currd) )
+        return -EACCES;
+
+    if ( copy_from_guest(&copy, arg, 1) )
+        return -EFAULT;
+
+    if ( copy.flags & ~1u )
+        return -EINVAL;
+
+    direction = copy.flags & XENMEM_foreigncopy_direction;
+
+    if ( copy.nr_frames == 0 )
+        return 0;
+
+    rc = rcu_lock_remote_domain_by_id(copy.domid, &d);
+    if ( rc )
+        return rc;
+
+    /*
+     * Check we are allowed to map and access these foreign pages.
+     */
+    rc = xsm_map_gmfn_foreign(XSM_TARGET, currd, d);
+    if ( rc )
+        goto out;
+
+    do {
+        /*
+         * Arbitrary size.  Not too much stack space, and a reasonable stride
+         * for continuation checks.
+         */
+        xen_pfn_t gfn_list[32];
+        unsigned int todo = MIN(ARRAY_SIZE(gfn_list), copy.nr_frames);
+
+        rc = -EFAULT;
+        if ( copy_from_guest(gfn_list, copy.frame_list, todo) )
+            goto out;
+
+        for ( unsigned i = 0; i < todo; i++ )
+        {
+            struct page_info *foreign_page;
+            void *foreign;
+            p2m_type_t p2mt;
+
+            foreign_page = get_page_from_gfn(d, gfn_list[i], &p2mt, P2M_ALLOC);
+
+            if ( unlikely(p2mt != p2m_ram_rw
+#ifdef CONFIG_X86
+                 && p2mt != p2m_ram_logdirty
+#endif
+                 ) && foreign_page )
+            {
+                put_page(foreign_page);
+                foreign_page = NULL;
+            }
+            if ( unlikely(!foreign_page) )
+            {
+                gdprintk(XENLOG_WARNING,
+                         "Error accessing foreign mfn %" PRI_mfn "\n",
+                         gfn_list[i]);
+                rc = -EINVAL;
+                copy.nr_frames -= i;
+                guest_handle_add_offset(copy.frame_list, i);
+                goto out;
+            }
+
+            /* A page is dirtied when it's being copied to. */
+            if ( direction == XENMEM_foreigncopy_to )
+                paging_mark_dirty(d, page_to_mfn(foreign_page));
+
+            foreign = map_domain_page(page_to_mfn(foreign_page));
+            if ( direction == XENMEM_foreigncopy_from )
+                rc = copy_to_guest(copy.buffer, foreign, PAGE_SIZE);
+            else
+                rc = copy_from_guest(foreign, copy.buffer, PAGE_SIZE);
+            unmap_domain_page(foreign);
+            put_page(foreign_page);
+
+            if ( unlikely(rc) )
+            {
+                gdprintk(XENLOG_WARNING,
+                         "Error copying to mfn %" PRI_mfn "\n", gfn_list[i]);
+                copy.nr_frames -= i;
+                guest_handle_add_offset(copy.frame_list, i);
+                goto out;
+            }
+
+            guest_handle_add_offset(copy.buffer, PAGE_SIZE);
+        }
+
+        copy.nr_frames -= todo;
+        guest_handle_add_offset(copy.frame_list, todo);
+
+        if ( copy.nr_frames && hypercall_preempt_check() )
+        {
+            rc = hypercall_create_continuation(
+                __HYPERVISOR_memory_op, "lh", XENMEM_foreigncopy, arg);
+            goto out;
+        }
+    } while ( copy.nr_frames );
+
+    rc = 0;
+
+ out:
+    rcu_unlock_domain(d);
+
+    /* Update in all cases, it allows the caller to know how many
+     * frames were successfully copied and the continuation to
+     * continue correctly.
+     */
+    if ( copy_to_guest(arg, &copy, 1) )
+        rc = -EFAULT;
+
+    return rc;
+}
+
 long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
 {
     struct domain *d, *curr_d = current->domain;
@@ -2012,6 +2138,13 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
             start_extent);
         break;
 
+    case XENMEM_foreigncopy:
+        if ( unlikely(start_extent) )
+            return -EINVAL;
+
+        rc = mem_foreigncopy(guest_handle_cast(arg, xen_foreigncopy_t));
+        break;
+
     default:
         rc = arch_memory_op(cmd, arg);
         break;
diff --git a/xen/include/public/memory.h b/xen/include/public/memory.h
index bd9fc37b52..b48d1f378f 100644
--- a/xen/include/public/memory.h
+++ b/xen/include/public/memory.h
@@ -740,7 +740,45 @@ struct xen_vnuma_topology_info {
 typedef struct xen_vnuma_topology_info xen_vnuma_topology_info_t;
 DEFINE_XEN_GUEST_HANDLE(xen_vnuma_topology_info_t);
 
-/* Next available subop number is 29 */
+/*
+ * Copy memory from/to a given domain.
+ */
+#define XENMEM_foreigncopy 29
+struct xen_foreigncopy {
+    /* IN - The domain whose resource is to be copied. */
+    domid_t domid;
+
+    /* IN - Flags. */
+#define XENMEM_foreigncopy_from 0
+#define XENMEM_foreigncopy_to 1
+#define XENMEM_foreigncopy_direction 1
+    uint16_t flags;
+
+    /*
+     * IN
+     *
+     * As an IN parameter number of frames of the domain to be copied.
+     */
+    uint32_t nr_frames;
+
+    /*
+     * IN
+     *
+     * Frames to be copied.
+     */
+    XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
+
+    /*
+     * IN/OUT
+     *
+     * Userspace buffer to read/write from.
+     */
+    XEN_GUEST_HANDLE(uint8) buffer;
+};
+typedef struct xen_foreigncopy xen_foreigncopy_t;
+DEFINE_XEN_GUEST_HANDLE(xen_foreigncopy_t);
+
+/* Next available subop number is 30 */
 
 #endif /* __XEN_PUBLIC_MEMORY_H__ */
 
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:06:34 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:06:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326240.1591755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlIo-00081P-Cn; Wed, 03 Jun 2026 13:06:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326240.1591755; Wed, 03 Jun 2026 13:06: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 1wUlIo-00080a-4w; Wed, 03 Jun 2026 13:06:34 +0000
Received: by outflank-mailman (input) for mailman id 1326240;
 Wed, 03 Jun 2026 13:06:32 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wUlIm-0007UU-00
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:06:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlIl-000siy-C9
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:06:31 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026cf-e002-0a2a0a5209dd-0a2a450cc1bc-30
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:31 +0200
Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026d7-62f1-0a2a450c0019-d155dd35e4b0-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:31 +0200
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-45ef372c58aso2818198f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:06:31 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2ec711sm7254825f8f.12.2026.06.03.06.06.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 06:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780491991; x=1781096791; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wwnZlaNynVBSXMUBTGRaz5p9t0WwZCVY/lkJngWndkM=;
        b=o28oC+EssQ43Q0lbdMTetPeq6VinXKVV/lwahvhOfWcOGTqWYobjj5OMgiFDcWkmLs
         awHpPKNwiOSybJ7H7wQlupNrf1OIcdBaL7LsG+ZMknZr2iJU92KAMPtNdSlRzFxiCNfP
         tL6K1reY5Vlnu+i7VomW4vkIPo/v4FIc0adpsjGBxmNVsbAAwdzYPYFOx8OE62Q7lE6k
         ez0oEtrn4tvqqYiLIlgSSwZWmk/P2SJAbvRYHtPdsbT/EN4ELzJ9aINBhwfgu7PJpflI
         l4aJ6c8xbmqmU6ehWwXdgwaGH/W5SCSPTm1zwH9+66m6q08QIjC0+qn3PmkrQY2Lp2TB
         VeEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780491991; x=1781096791;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=wwnZlaNynVBSXMUBTGRaz5p9t0WwZCVY/lkJngWndkM=;
        b=TC4/Z8qRpU0/UznLi/okcIBXWzvoE/nQuJT9PpcHsvyGG8XWWWrtftOtMYq9rzQgl+
         Zo7zpp1t0vxyK6AZCh8MFyEfZJLZDXCY97RPImMY/1tjXcxlYyboL7MLJmkhFBACy8z6
         qrizztEED9+gUTSSdyR2lHAjVfrhG7PrTcenaDy5iLL/VrlybOr+Nl5/TpWEhXqwfSlm
         X176Lvyve5Y0JNRc2u5Uc/P6ZuMSZ3V/dGlIIKaF4dT0H+xUAsDi/FzbLyLrPkXXV1GP
         lwdgMKoudHqGJd1ulU4CBrZ63RyGYZE1BMwiDg+XySwGMhcOMRKSWas04yW56tsP7g4S
         0geQ==
X-Gm-Message-State: AOJu0YzJFZR4Wde8w8wEHxKMeXvjRlC6xerOHajF+FtCWMR6i+vLAMcA
	eY/wf72kH2Bk9dlQaateIvosMJ706Xrn9DoisMznsZp9Lv5lvRBNaw9uM4Jkt6tF
X-Gm-Gg: Acq92OHNHPIUj+srUzxJjDzWU0tzhW5vxM1oQbSd+BDmvZyr/A7TQwH6OBewOi57ceU
	ISF4j8VhPjn6y75uM47ndGlYI6xYXMDpoxZZob3tMaTTiknSgJz2aTZ/tGTdFUs6nr5ao9ztUZQ
	kJ1znG6AcyszSRJx2hNQa7Ur7yAbLfhBdxNPGl6aIXFl94KMWAFLy8zOV4HhrKy6qae8ScVPo7H
	ipH8+Mnqmu9r+PCg5lcV3aJBCAOcssZwPSBZB7weQAfsD2FWzUofa32g9DH2pBICJIJ5oIFtWmJ
	wIQnsnZ42b0VbSACjGYt2CHD52uL4lg3NAJ8XaYj5zMHtRRx3MW2EmLW9ZhJhWDlrwG9sZknf8N
	EsuuCMZKFvL9M8mAYEy8jRcf8tBpRzdgqkc/ija5/gspiZgM8prja1cK3gXPo4LpiJqu5mk4prF
	bS2Bxw6mdoMKUi19SLZgZhP+B0PiGnAdASzMKIup5MrV11CY/AYSPEw+NANiv+v70DO7SUOA1u9
	JViD9NUaEB6hjJZUonZ99FWU5zA3fOlJheRXWJYZwGCK7Q=
X-Received: by 2002:a05:600c:350c:b0:48f:e230:c3fb with SMTP id 5b1f17b1804b1-490b5e95f97mr56158965e9.33.1780491988654;
        Wed, 03 Jun 2026 06:06:28 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edwin.torok@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v4 11/16] PoC: libs/guest: use foreign copy during migration
Date: Wed,  3 Jun 2026 14:05:58 +0100
Message-ID: <20260603130603.776452-12-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260603130603.776452-1-frediano.ziglio@cloud.com>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1780491991-DBB7CCF5-220DC120/0/0
X-purgate-type: clean
X-purgate-size: 8537

From: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>

ministat confirms the improvement:

```
x baseline
+ foreigncopy
    N           Min           Max        Median           Avg        Stddev
x  20     1.1306997     1.1447931     1.1356569     1.1365742   0.003242175
+  20     0.4311504    0.44180303    0.43616705    0.43600089  0.0031094689
Difference at 95.0% confidence
	-0.700573 +/- 0.00203311
	-61.639% +/- 0.133355%
	(Student's t, pooled s = 0.00317652)
```

The tests pass too, which means that it has correctly migrated all guest
memory.

Frediano: This PoC was adapted to be included in a final series.

Signed-off-by: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/libs/guest/xg_sr_common.h  |  1 +
 tools/libs/guest/xg_sr_restore.c | 42 +++--------------
 tools/libs/guest/xg_sr_save.c    | 81 +++++++++-----------------------
 3 files changed, 30 insertions(+), 94 deletions(-)

diff --git a/tools/libs/guest/xg_sr_common.h b/tools/libs/guest/xg_sr_common.h
index 72c9511f38..0e0e279ae1 100644
--- a/tools/libs/guest/xg_sr_common.h
+++ b/tools/libs/guest/xg_sr_common.h
@@ -256,6 +256,7 @@ struct xc_sr_context
             unsigned long nr_deferred_pages;
             xc_hypercall_buffer_t dirty_bitmap_hbuf;
             struct xc_sr_context_save_buffers *buffers;
+            void *dest_buf;
         } save;
 
         struct /* Restore data. */
diff --git a/tools/libs/guest/xg_sr_restore.c b/tools/libs/guest/xg_sr_restore.c
index fb46142d87..b589f0397d 100644
--- a/tools/libs/guest/xg_sr_restore.c
+++ b/tools/libs/guest/xg_sr_restore.c
@@ -259,7 +259,6 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
     xen_pfn_t *mfns = malloc(count * sizeof(*mfns));
     int *map_errs = malloc(count * sizeof(*map_errs));
     int rc;
-    void *mapping = NULL, *guest_page = NULL;
     unsigned nr_pages;
 
     if ( !mfns || !map_errs )
@@ -295,27 +294,8 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
     if ( nr_pages == 0 )
         goto done;
 
-    mapping = guest_page = xenforeignmemory_map(
-        xch->fmem, ctx->domid, PROT_READ | PROT_WRITE,
-        nr_pages, mfns, map_errs);
-    if ( !mapping )
-    {
-        rc = -1;
-        PERROR("Unable to map %u mfns for %u pages of data",
-               nr_pages, count);
-        goto err;
-    }
-
     for ( unsigned i = 0; i < nr_pages; ++i )
     {
-        if ( map_errs[i] )
-        {
-            rc = -1;
-            ERROR("Mapping pfn %#"PRIpfn" (mfn %#"PRIpfn", type %#"PRIx32") failed with %d",
-                  pfns[i], mfns[i], types[i], map_errs[i]);
-            goto err;
-        }
-
         /* Undo page normalisation done by the saver. */
         rc = ctx->restore.ops.localise_page(ctx, types[i], page_data);
         if ( rc )
@@ -325,29 +305,19 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
             goto err;
         }
 
-        if ( ctx->restore.verify )
-        {
-            /* Verify mode - compare incoming data to what we already have. */
-            if ( memcmp(guest_page, page_data, PAGE_SIZE) )
-                ERROR("verify pfn %#"PRIpfn" failed (type %#"PRIx32")",
-                      pfns[i], types[i] >> XEN_DOMCTL_PFINFO_LTAB_SHIFT);
-        }
-        else
-        {
-            /* Regular mode - copy incoming data into place. */
-            memcpy(guest_page, page_data, PAGE_SIZE);
-        }
-
-        guest_page += PAGE_SIZE;
         page_data += PAGE_SIZE;
     }
+    if ( !ctx->restore.verify )
+    {
+        rc = xg_foreignmemory_copy_to(xch, ctx->domid, nr_pages, mfns, page_data);
+        if ( rc < 0 )
+            goto err;
+    }
 
  done:
     rc = 0;
 
  err:
-    if ( mapping )
-        xenforeignmemory_unmap(xch->fmem, mapping, nr_pages);
 
     free(map_errs);
     free(mfns);
diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index 593268f176..ae61f97a47 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -87,12 +87,10 @@ static int write_batch(struct xc_sr_context *ctx)
 {
     xc_interface *xch = ctx->xch;
     xen_pfn_t *mfns, *types;
-    void *guest_mapping = NULL;
     void **local_pages;
     int *errors, rc = -1;
-    unsigned int i, p, nr_pages = 0, nr_pages_mapped = 0;
+    unsigned int i, nr_pages = 0;
     unsigned int nr_pfns = ctx->save.nr_batch_pfns;
-    void *page, *orig_page;
     uint64_t *rec_pfns;
     struct iovec *iov; int iovcnt = 0;
     struct {
@@ -168,61 +166,18 @@ static int write_batch(struct xc_sr_context *ctx)
 
     iovcnt = 2;
 
-    if ( nr_pages > 0 )
+    rc = xg_foreignmemory_copy_from(xch, ctx->domid, nr_pages, ctx->save.dest_buf, mfns);
+    if ( rc < 0 )
     {
-        guest_mapping = xenforeignmemory_map(
-            xch->fmem, ctx->domid, PROT_READ, nr_pages, mfns, errors);
-        if ( !guest_mapping )
-        {
-            PERROR("Failed to map guest pages");
-            goto err;
-        }
-        nr_pages_mapped = nr_pages;
-
-        for ( i = 0, p = 0; i < nr_pfns; ++i )
-        {
-            if ( !page_type_has_stream_data(types[i]) )
-                continue;
-
-            if ( errors[p] )
-            {
-                ERROR("Mapping of pfn %#"PRIpfn" (mfn %#"PRIpfn") failed %d",
-                      ctx->save.batch_pfns[i], mfns[p], errors[p]);
-                goto err;
-            }
-
-            orig_page = page = guest_mapping + (p * PAGE_SIZE);
-            rc = ctx->save.ops.normalise_page(ctx, types[i], &page);
-
-            if ( orig_page != page )
-                local_pages[i] = page;
-
-            if ( rc )
-            {
-                if ( rc == -1 && errno == EAGAIN )
-                {
-                    set_bit(ctx->save.batch_pfns[i], ctx->save.deferred_pages);
-                    ++ctx->save.nr_deferred_pages;
-                    types[i] = XEN_DOMCTL_PFINFO_XTAB;
-                    --nr_pages;
-                }
-                else
-                    goto err;
-            }
-            else if ( iov[iovcnt-1].iov_base + iov[iovcnt-1].iov_len != page )
-            {
-                iov[iovcnt].iov_base = page;
-                iov[iovcnt].iov_len = PAGE_SIZE;
-                iovcnt++;
-            }
-            else
-            {
-                iov[iovcnt-1].iov_len += PAGE_SIZE;
-            }
+        ERROR("xg_foreignmemory_copy_from failed");
+        goto err;
+    }
 
-            rc = -1;
-            ++p;
-        }
+    if ( nr_pages )
+    {
+        iov[iovcnt].iov_base = ctx->save.dest_buf;
+        iov[iovcnt].iov_len = nr_pages << XC_PAGE_SHIFT;
+        iovcnt++;
     }
 
     hdrs.rec.length += nr_pages * PAGE_SIZE;
@@ -239,8 +194,6 @@ static int write_batch(struct xc_sr_context *ctx)
     rc = ctx->save.nr_batch_pfns = 0;
 
  err:
-    if ( guest_mapping )
-        xenforeignmemory_unmap(xch->fmem, guest_mapping, nr_pages_mapped);
     for ( i = 0; local_pages && i < nr_pfns; ++i )
     {
         free(local_pages[i]);
@@ -764,6 +717,7 @@ static int setup(struct xc_sr_context *ctx)
 {
     xc_interface *xch = ctx->xch;
     int rc;
+    const unsigned dest_buf_len = MAX_BATCH_SIZE * XC_PAGE_SIZE;
     DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap,
                                     &ctx->save.dirty_bitmap_hbuf);
 
@@ -775,6 +729,16 @@ static int setup(struct xc_sr_context *ctx)
         xch, dirty_bitmap, NRPAGES(bitmap_size(ctx->save.p2m_size)));
     ctx->save.deferred_pages = bitmap_alloc(ctx->save.p2m_size);
     ctx->save.buffers = calloc(1, sizeof(*ctx->save.buffers));
+    ctx->save.dest_buf = NULL;
+
+    rc = posix_memalign(&ctx->save.dest_buf, XC_PAGE_SIZE, dest_buf_len);
+    if ( rc )
+    {
+        ERROR("Unable to allocate %u bytes of buffer", dest_buf_len);
+        errno = rc;
+        rc = -1;
+        goto err;
+    }
 
     if ( !dirty_bitmap || !ctx->save.deferred_pages || !ctx->save.buffers)
     {
@@ -809,6 +773,7 @@ static void cleanup(struct xc_sr_context *ctx)
                                    NRPAGES(bitmap_size(ctx->save.p2m_size)));
     free(ctx->save.deferred_pages);
     free(ctx->save.buffers);
+    free(ctx->save.dest_buf);
 }
 
 /*
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:06:35 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:06:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326242.1591762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlIp-00086S-Cx; Wed, 03 Jun 2026 13:06:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326242.1591762; Wed, 03 Jun 2026 13: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 1wUlIo-00083x-JN; Wed, 03 Jun 2026 13:06:34 +0000
Received: by outflank-mailman (input) for mailman id 1326242;
 Wed, 03 Jun 2026 13:06:32 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wUlIm-0007ZQ-AO
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:06:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlIl-000siy-NM
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:06:31 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026cf-e002-0a2a0a5209dd-0a2a450cc1bc-34
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:31 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026d7-62f1-0a2a450c0019-d1558030a999-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:31 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-49041e84237so6558925e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:06:31 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2ec711sm7254825f8f.12.2026.06.03.06.06.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 06:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780491991; x=1781096791; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0qWQaaxuAbn2KGJsbhAAbGu8valGFsAq0ZGefI0obWI=;
        b=hICqtXaZgBdxmoN4hr9MTDgE0TnSGLWTDPJ8zGvMfuxD7OTuYsMnaySasJewnUwjll
         xQ1ajeY7xP1Xub4/8BGEBMEtkfiideKAleToVuc8eb0FhjPmFrACyWOm5zygUIGNLu9z
         8e08JsWlr1KbLxH5QVLQpzrLMylh2r/wbkf3EzPHLOksYz7DINw5GDwaRjydO3TZsP8s
         P+KAZ+cb+bWTxO80fCx9QtH5zXmqgF+PLUyIc8hE8Fh0uQfHCTNtUUJRjD8nnmzx6gPk
         M5HyEz9jK0rXfYsXOEEnbrYLKe5invGLecw7Xf3rZob2GZS+lWQKCnjwiNAWz1lC+nIZ
         la+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780491991; x=1781096791;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=0qWQaaxuAbn2KGJsbhAAbGu8valGFsAq0ZGefI0obWI=;
        b=OUWWyHf3r9Z8zvUL7paylbNpmRwyjj8wJY+R81HoeM6lBWLljWsYMipm3mjtbhAmQJ
         psb3F5Q03sxjLJnS23fuU8R8RUC9ZU/nRHE5AAeQ49gm7zWs41rkkVuADt2hTQDGHG69
         fVs6aWf02mqXHjgr7jf9fxs6UjsP+lrD02yN1mJPhq0Q8nqZey3dh7p73EGv93wUw68N
         mH3nmju8IQscaSwW8s3Gfd0kY4hNhPSHTy7vUcRZzYDm/axoUrg49J/NeNkmMm2O4ert
         OYiNP6VdR6SbB/sqV9b96T01QTujAEXokAipeEMXQ0TI1hOQAkT0x7atyrIG31GEQFa9
         QCEA==
X-Gm-Message-State: AOJu0YzCJJ41fzAK4GCfitMbkQ37WPUaOt1VTkpSmNlS1Xw9qjE1PSJr
	ullSmB7SXFR/rNbjbD4Gmg3bPwUxnbmWh8RZQBB7APjY22ivAN1tYqx8x3QSkta9
X-Gm-Gg: Acq92OGAiBhyS8LfQkU2m+pl7C5PqXII1Q0HBqgrwZYOpPLbAYpAyr5qKwXvqi5OvpJ
	EaCq++hU0VLpulOsG/zovg2uQqPDFWey6i8Znb9IOP2jzSIP7ik2q+2ZIVqAtLYwl2Zxkw9cL4F
	StVyGTlUMI/kD0mrXMtF422VvuJOyQKfAyuwLYoNzMf+UHFIY89fV6quYmidXPXchhZ5e9kLtw1
	S6EfclcgQPxZsDQSPC0i58OVDsWpWiz//D+Z0I2NO0wZO2DT/jndxoHceIR76b9D1kKBC0cPs19
	FsMKpY4RimXCVERHLIaQw/erDu5pUICKH5l5kvdf5mf+u6C7o8n2IoX5Wn5ZhhrtAzhppTsC6Tz
	wfi50oPubBFXX2sTneBIQaJ59YJW5IbBKAeJys7qXpCOajMi12A9aQct8MmoL2xVUAnU9PLLpDZ
	ht2HBQ+pvKaM5CEAcdaA9VvRx/bdW+GMsUlbzedDdEJAW3PZ47Jj92xNeHI80QzMLFjQ48kmXY8
	soYZQH7LMAhBsACDbxoVeCYJSHMG+pKGEvH
X-Received: by 2002:a05:600c:3e19:b0:490:8b0b:d3b1 with SMTP id 5b1f17b1804b1-490b614c9demr51876955e9.12.1780491990938;
        Wed, 03 Jun 2026 06:06:30 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v4 13/16] privcmd: Add definition for new Linux privcmd to access new Xen hypercall
Date: Wed,  3 Jun 2026 14:06:00 +0100
Message-ID: <20260603130603.776452-14-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260603130603.776452-1-frediano.ziglio@cloud.com>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1780491991-E0766CF5-32E95B89/0/0
X-purgate-type: clean
X-purgate-size: 1452

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Userspace should use new ioctl to access new hypercall.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/include/xen-sys/Linux/privcmd.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/tools/include/xen-sys/Linux/privcmd.h b/tools/include/xen-sys/Linux/privcmd.h
index 607dfa2287..4b80eeae06 100644
--- a/tools/include/xen-sys/Linux/privcmd.h
+++ b/tools/include/xen-sys/Linux/privcmd.h
@@ -100,6 +100,14 @@ typedef struct privcmd_pcidev_get_gsi {
 	__u32 gsi;
 } privcmd_pcidev_get_gsi_t;
 
+typedef struct privcmd_foreigncopy {
+	domid_t dom;          /* Foreign domain. */
+	__u16 dir;            /* Direction,  0 from, 1 to. */
+	__u32 num;            /* Number of pages to copy. */
+	const xen_pfn_t __user *pfns; /* Array of pfns. */
+	void __user *buffer;  /* Buffer to copy to/from, must be page aligned. */
+} privcmd_foreigncopy_t;
+
 /*
  * @cmd: IOCTL_PRIVCMD_HYPERCALL
  * @arg: &privcmd_hypercall_t
@@ -121,6 +129,8 @@ typedef struct privcmd_pcidev_get_gsi {
 	_IOC(_IOC_NONE, 'P', 7, sizeof(privcmd_mmap_resource_t))
 #define IOCTL_PRIVCMD_PCIDEV_GET_GSI			\
 	_IOC(_IOC_NONE, 'P', 10, sizeof(privcmd_pcidev_get_gsi_t))
+#define IOCTL_PRIVCMD_FOREIGNCOPY				\
+	_IOC(_IOC_NONE, 'P', 11, sizeof(privcmd_foreigncopy_t))
 #define IOCTL_PRIVCMD_UNIMPLEMENTED				\
 	_IOC(_IOC_NONE, 'P', 0xFF, 0)
 
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:06:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:06:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326243.1591767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlIq-0008PQ-Rl; Wed, 03 Jun 2026 13:06:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326243.1591767; Wed, 03 Jun 2026 13:06: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 1wUlIq-0008MC-6z; Wed, 03 Jun 2026 13:06:36 +0000
Received: by outflank-mailman (input) for mailman id 1326243;
 Wed, 03 Jun 2026 13:06:34 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wUlIo-0007zb-7M
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:06:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlIn-007IbY-KK
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:06:33 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026d5-bab6-0a2a0a5309dd-0a2a4501d2b8-20
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:33 +0200
Received: from [209.85.221.43] (helo=mail-wr1-f43.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026d9-c1f2-0a2a45010019-d155dd2bf17d-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:33 +0200
Received: by mail-wr1-f43.google.com with SMTP id
 ffacd0b85a97d-45ef616daf6so5237396f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:06:33 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2ec711sm7254825f8f.12.2026.06.03.06.06.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 06:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780491993; x=1781096793; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=D8RZoFNdKBiiJYSE0JveF3xGCWq95UHsjjlw2XdGNa0=;
        b=ntX164dlsdTP2a/qG9cLPEdns+B041zFXJ1Xk8091DZKWHG6AjeWYsQ9Dugmt1Rm8A
         LW6cmdw3sYl1sb3q0MrYJBf9cLduLmFBbgitq8mZDlGkFOLdFriF8XBwPyHZwKzzOGXp
         wEYvRX7aqcU9Dmjg22eHu+YeKfPALDx9SV5h5NwEkzvY6SksQWxGZriCT9mNVQN7L3Pe
         9p4NAmE9LbA2wrYyteooV9Wq9DsFJdSS0U+Qbjxxk41LtpGXH6935aSIGtNo25DvMdaS
         oWsCAcktDrKQ/av6r0OgPHzioiUpQs6IUZOzxqbU6/nbJbOYBa5+iJjIXWXEYzjyfM2q
         Wt6g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780491993; x=1781096793;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=D8RZoFNdKBiiJYSE0JveF3xGCWq95UHsjjlw2XdGNa0=;
        b=AmwwjCtLp0Nvk3pUOcRmh+kl0adfKYO3hre9V6Vi76sK7XwY+Y47Zgl9S894gGcULa
         dqKzT74I8v3dWGHkx2MXIFsPc0WhaoGl5FmTZWhSD2AnADxEKqYXgGCf9D1X+5oRGCgB
         NKLXNnFOEqwPw3i2zB1A+VlAgz9hYFfjhKsDAWyrT0/z+bKSE26LPEvkaEN0g2bTnn8B
         ljW4rDM42AMBnShUkAZW/dii22Wgvm9WLbC5p3xOTWXwMFdnSiIwLeHBeUMhuRlELXda
         OAZ1zMEOq+VUp4bR2ZiHMcK3kpm2a8cwrq/yUIZ4Tmh8L5xWUuOCptP6lpOtLiMkcuDx
         KGjg==
X-Gm-Message-State: AOJu0YxxJqtUSnby8yCRaBoS2kRZxYBnnn8XQ+ghz021q/hTazkbcbpB
	KcHIJsoONULjGN0iGFvtukhqopLmRGoO5b3CsZxvY0ZvVe7kRXw3dlVEGAO9koqe
X-Gm-Gg: Acq92OFQkjbCtUwoe1+da7E/aVrMnnSeCDx1DeoIDJpWCE507OqymAxVGBDfP4vzTU3
	T8MfzU9gTjAkAbVGBNlWvu52qyF6xzRmZrPlo9sZtQKOuKRUzVzxyGmT/oq8uiqLL6UY35ENKFP
	L5LZEbF4qWNbC09gLMRM3vpgBCy311Qbm+nJx6jJM2V7xT/eGrzx+FofGb0iUPfpTY5AqxhoZ/G
	LLV4yVwRXy/5r4A3HPklDAIBocWzJ1MPccQ8IqRUmuioQ/CMbpO/n2ONgqwuNZZADge1bkWmr70
	LyCq9XfRSSFGApvXUc2Q3kXz8YdGoCg1U6GDfjvi7gGipyTSf+X8PSYKptYJfeQ6h5YyE1gprbi
	9XjDKUggjHu84sk3S2MYemxy0K/Q3iwtum9/rieK0OQFKqYES8bQNzp4xXpAWiitnVCut6j9pAm
	lyHL+jczjQlSnMf0QFWJw/dy6lGd+Nvgaf9zWbvEcWTApmY8xJ6I5mbon+o6uiURtHApGdCbtGr
	kXMnz2iyiIafmdM+EMD3zCIQ7fQZi+Ky3Bx
X-Received: by 2002:a5d:624a:0:b0:45e:ce28:666a with SMTP id ffacd0b85a97d-46021781a64mr3654744f8f.1.1780491992881;
        Wed, 03 Jun 2026 06:06:32 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v4 14/16] libs/guest: use new hypercall if available
Date: Wed,  3 Jun 2026 14:06:01 +0100
Message-ID: <20260603130603.776452-15-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260603130603.776452-1-frediano.ziglio@cloud.com>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1780491993-AC851FF4-E346FA30/0/0
X-purgate-type: clean
X-purgate-size: 3587

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Use new hypercall if available, otherwise fall back to map+copy+unmap
sequence.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/libs/guest/xg_sr_common.c | 47 ++++++++++++++++++++++++++-------
 1 file changed, 38 insertions(+), 9 deletions(-)

diff --git a/tools/libs/guest/xg_sr_common.c b/tools/libs/guest/xg_sr_common.c
index a94e9dfbff..cb3e6a5658 100644
--- a/tools/libs/guest/xg_sr_common.c
+++ b/tools/libs/guest/xg_sr_common.c
@@ -156,11 +156,6 @@ static void __attribute__((unused)) build_assertions(void)
     BUILD_BUG_ON(sizeof(struct xc_sr_rec_hvm_params)        != 8);
 }
 
-enum {
-    foreigncopy_from,
-    foreigncopy_to
-};
-
 static int xg_foreignmemory_copy(xc_interface *xch, domid_t domid,
                                  int dir, size_t nr_pages, void *buffer,
                                  const xen_pfn_t foreign_pfns[nr_pages])
@@ -174,8 +169,42 @@ static int xg_foreignmemory_copy(xc_interface *xch, domid_t domid,
         return -1;
     }
 
+    /*
+     * If foreign copy is supported, -1 not initialized, 0 not supported,
+     * 1 supported.
+     */
+    static char foreign_copy_supported = -1;
+
+    if ( foreign_copy_supported )
+    {
+        int rc;
+        privcmd_foreigncopy_t copy = {
+            .dom = domid,
+            .dir = dir,
+            .num = nr_pages,
+            .buffer = buffer,
+        };
+        DECLARE_HYPERCALL_BOUNCE_IN(foreign_pfns, nr_pages * sizeof(xen_pfn_t));
+
+        if ( xc_hypercall_bounce_pre(xch, foreign_pfns) )
+            return -1;
+
+        copy.pfns = foreign_pfns;
+
+        rc = ioctl(xencall_fd(xch->xcall), IOCTL_PRIVCMD_FOREIGNCOPY, &copy);
+        if ( foreign_copy_supported < 0 )
+            foreign_copy_supported =
+                (!rc || (errno != ENOTTY && errno != ENOSYS));
+
+        xc_hypercall_bounce_post(xch, foreign_pfns);
+
+        if ( foreign_copy_supported )
+            return rc;
+    }
+
+    /* Fallback, emulate. */
     int err[nr_pages];
-    const int prot = (dir == foreigncopy_from) ? PROT_READ : PROT_READ|PROT_WRITE;
+    const int prot = (dir == XENMEM_foreigncopy_from) ? PROT_READ : PROT_READ|PROT_WRITE;
 
     void *p = xenforeignmemory_map(xch->fmem, domid, prot, nr_pages, foreign_pfns, err);
     if ( !p )
@@ -192,7 +221,7 @@ static int xg_foreignmemory_copy(xc_interface *xch, domid_t domid,
             return -1;
         }
 
-    if ( dir == foreigncopy_from )
+    if ( dir == XENMEM_foreigncopy_from )
         memcpy(buffer, p, nr_pages * XC_PAGE_SIZE);
     else
         memcpy(p, buffer, nr_pages * XC_PAGE_SIZE);
@@ -204,7 +233,7 @@ int xg_foreignmemory_copy_from(xc_interface *xch, domid_t dom,
                                size_t nr_pages, void *dest,
                                const xen_pfn_t source[nr_pages])
 {
-    return xg_foreignmemory_copy(xch, dom, foreigncopy_from,
+    return xg_foreignmemory_copy(xch, dom, XENMEM_foreigncopy_from,
                                  nr_pages, dest, source);
 }
 
@@ -212,7 +241,7 @@ int xg_foreignmemory_copy_to(xc_interface *xch, domid_t dom,
                              size_t nr_pages, const xen_pfn_t dest[nr_pages],
                              const void *source)
 {
-    return xg_foreignmemory_copy(xch, dom, foreigncopy_to,
+    return xg_foreignmemory_copy(xch, dom, XENMEM_foreigncopy_to,
                                  nr_pages, (void *) source, dest);
 }
 
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:06:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:06:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326245.1591779 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlIs-0000QC-Sg; Wed, 03 Jun 2026 13:06:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326245.1591779; Wed, 03 Jun 2026 13:06: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 1wUlIr-0000Mk-W9; Wed, 03 Jun 2026 13:06:37 +0000
Received: by outflank-mailman (input) for mailman id 1326245;
 Wed, 03 Jun 2026 13:06:35 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wUlIp-00088p-6X
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:06:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlIo-006lUv-Ib
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:06:34 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026d9-5cb7-0a2a0a5109dd-0a2a450cb872-10
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:34 +0200
Received: from [209.85.221.45] (helo=mail-wr1-f45.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026da-62f1-0a2a450c0019-d155dd2dd117-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:34 +0200
Received: by mail-wr1-f45.google.com with SMTP id
 ffacd0b85a97d-46019b190b6so1727727f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:06:34 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2ec711sm7254825f8f.12.2026.06.03.06.06.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 06:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780491994; x=1781096794; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rW1WV99Hkic2EY+4V0AfPPFzJ+ncY9UKbR4cY6w6JcU=;
        b=OobR68dVHycE5zvua5oij7gGnac7TNZr2QbBuRZE8A5vpdLo7udrk8byiNDyR2zU5W
         fc0929oSAUrDrzB9eEe/5et8M56qU1QTxdlwUUTvNwP6/7/9ic7uNALaRs1NPTSQ3rnH
         2io6ICApuy4YhRVAhnx3Dw+ubDzH1eUoXYKcwOBxlLDSEhiChKSpCIj4CddjTcO48bi1
         FDavynaN/EzTgzSuVXdFWKt/gRo2o2Nmt8a+AVjU7nTfobI+t0FEs+fLVAtphVINWbTG
         7XIsYKXA481YmOWsW0pdOackAR/wSfwEADPe1rwwp3/pOUkMgAIbgaaW5kGVOxmgcuxL
         +lhQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780491994; x=1781096794;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=rW1WV99Hkic2EY+4V0AfPPFzJ+ncY9UKbR4cY6w6JcU=;
        b=oc3eMMGZ2K8HicI9xwinpX5BehgiDKD5u9SPYU7foUMVV2pxYzyjD+2DvL2LX8RcIY
         hoGCP4CdsNe0JsdLX4Uj+9Rn7ApJH68mTIJtvpyVDnZMtdwlZtT9so7wEsHSGnAVq6XI
         6AuIwo9g6M7SEyPkmvwnQKv87obuz12LYTxMhrbSWL8JXeUVmWuKQ65/IYb8mQ8+FlmC
         leGi1pArztaJx97ORVclRcRHolcQukQ8DIMroLOOpMhG9YdYIBns3XWjD4S7BWo0krrX
         IA9zlUacVlgExj/JeCPl6iNKIBUMp6FfSyTkXgYaBU6roiSrPymMXIy4aMmGtbvdsBvy
         BLHA==
X-Gm-Message-State: AOJu0YxFQCw6lK73kjH01yJD2CotpMSTh8TJGJSaZxV4UUPRBaDeh1BK
	rP51dL8B6A+8wKGcpaxUozHGMupP2D5w8E2UfH5EhqGUf3pTBfohUdYpuQcGjkWe
X-Gm-Gg: Acq92OF/fpa7Tejv5DM0BNuneMajkEAW39mjpTOGTkgnIU7oFoAcCCa4pNj4tQVZoeF
	Ni6CMKCsy9jhWf+5msoX6TUdyjnyHn6QFVFaW9pfaN3t5yYUF8q11y1fn79Vn8M6eLmfYWk7FHw
	EjrMF+QUhNPTfN4wSTHVPkbBEcj7FusmVsMa+YQqfRZ4DUB8T1SeiaGtZvGMcAx9+CTJUSXUkKW
	To29mY6jQY0MAoop2L9OLq4gw4tJRC1lHUiMEoAzAg6tlOotCXSLLj80Rfi3CfkVYKuvf+pjyQx
	KLPUYvaAlas9X1b8GfnmB5Rw7ArYXNuy/OIcwmKtCJwb4//pHEwmpZe/6+cRdrwBLdpiFNm5yuK
	emyZyW0NzR7iXKaDMfnGZ3wkLQyTo2dZaq0RxJttedCuoom6yZ5JRX4+xmlaQ9Z0I29FeeeQBar
	FsVe0O5lhnO0jNe8+o5weNWAYvjCBtfcPph3WJIDv36QtP86IvRrhM7vTktVhZO74rTQqmx3BIf
	FxiOseyJL6L1Xv9/WwDXd7FC9jc714sBp1q
X-Received: by 2002:a05:6000:41e6:b0:45e:739b:3e43 with SMTP id ffacd0b85a97d-46021808437mr4787756f8f.0.1780491993808;
        Wed, 03 Jun 2026 06:06:33 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v4 15/16] libs/guest: finalize PoC
Date: Wed,  3 Jun 2026 14:06:02 +0100
Message-ID: <20260603130603.776452-16-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260603130603.776452-1-frediano.ziglio@cloud.com>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1780491994-F4E78CF5-98893108/0/0
X-purgate-type: clean
X-purgate-size: 10902

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Remove now unused map_errs array.
Test and restore verification code.
Report correctly errors from writev_exact.
Allocate verification buffer using hypercall buffer to avoid errors
using hypercall.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/libs/guest/xg_sr_common.h  |  4 +-
 tools/libs/guest/xg_sr_restore.c | 48 +++++++++++++++---
 tools/libs/guest/xg_sr_save.c    | 83 +++++++++++++++++++++-----------
 3 files changed, 100 insertions(+), 35 deletions(-)

diff --git a/tools/libs/guest/xg_sr_common.h b/tools/libs/guest/xg_sr_common.h
index 0e0e279ae1..cd562f028a 100644
--- a/tools/libs/guest/xg_sr_common.h
+++ b/tools/libs/guest/xg_sr_common.h
@@ -214,7 +214,6 @@ struct xc_sr_context_save_buffers
     xen_pfn_t batch_pfns[MAX_BATCH_SIZE];
     xen_pfn_t mfns[MAX_BATCH_SIZE];
     xen_pfn_t types[MAX_BATCH_SIZE];
-    int errors[MAX_BATCH_SIZE];
     void *local_pages[MAX_BATCH_SIZE];
     struct iovec iov[MAX_BATCH_SIZE + 2]; /* Headers + data. */
     uint64_t rec_pfns[MAX_BATCH_SIZE];
@@ -255,8 +254,8 @@ struct xc_sr_context
             unsigned long *deferred_pages;
             unsigned long nr_deferred_pages;
             xc_hypercall_buffer_t dirty_bitmap_hbuf;
+            xc_hypercall_buffer_t dest_buf;
             struct xc_sr_context_save_buffers *buffers;
-            void *dest_buf;
         } save;
 
         struct /* Restore data. */
@@ -267,6 +266,7 @@ struct xc_sr_context
             int send_back_fd;
             unsigned long p2m_size;
             xc_hypercall_buffer_t dirty_bitmap_hbuf;
+            xc_hypercall_buffer_t verify_buf;
 
             /* From Image Header. */
             uint32_t format_version;
diff --git a/tools/libs/guest/xg_sr_restore.c b/tools/libs/guest/xg_sr_restore.c
index b589f0397d..b2df36c6f6 100644
--- a/tools/libs/guest/xg_sr_restore.c
+++ b/tools/libs/guest/xg_sr_restore.c
@@ -257,15 +257,15 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
 {
     xc_interface *xch = ctx->xch;
     xen_pfn_t *mfns = malloc(count * sizeof(*mfns));
-    int *map_errs = malloc(count * sizeof(*map_errs));
     int rc;
     unsigned nr_pages;
+    void *const source = page_data;
 
-    if ( !mfns || !map_errs )
+    if ( !mfns )
     {
         rc = -1;
         ERROR("Failed to allocate %zu bytes to process page data",
-              count * (sizeof(*mfns) + sizeof(*map_errs)));
+              count * sizeof(*mfns));
         goto err;
     }
 
@@ -309,17 +309,37 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
     }
     if ( !ctx->restore.verify )
     {
-        rc = xg_foreignmemory_copy_to(xch, ctx->domid, nr_pages, mfns, page_data);
+        rc = xg_foreignmemory_copy_to(xch, ctx->domid, nr_pages, mfns, source);
         if ( rc < 0 )
             goto err;
     }
+    else
+    {
+        DECLARE_HYPERCALL_BUFFER_SHADOW(uint8_t, verify_buf,
+                                        &ctx->restore.verify_buf);
+
+        rc = xg_foreignmemory_copy_from(xch, ctx->domid, nr_pages, verify_buf, mfns);
+        if ( rc < 0 )
+            goto err;
+
+        void *guest_page = verify_buf;
+        page_data = source;
+        for ( unsigned i = 0; i < nr_pages; ++i )
+        {
+            /* Verify mode - compare incoming data to what we already have. */
+            if ( memcmp(guest_page, page_data, PAGE_SIZE) )
+                ERROR("verify pfn %#"PRIpfn" failed (type %#"PRIx32")",
+                      pfns[i], types[i] >> XEN_DOMCTL_PFINFO_LTAB_SHIFT);
+
+            guest_page += PAGE_SIZE;
+            page_data += PAGE_SIZE;
+        }
+    }
 
  done:
     rc = 0;
 
  err:
-
-    free(map_errs);
     free(mfns);
 
     return rc;
@@ -709,6 +729,18 @@ static int setup(struct xc_sr_context *ctx)
     int rc;
     DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap,
                                     &ctx->restore.dirty_bitmap_hbuf);
+    DECLARE_HYPERCALL_BUFFER_SHADOW(uint8_t, verify_buf,
+                                    &ctx->restore.verify_buf);
+
+    verify_buf = xc_hypercall_buffer_alloc_pages(
+        xch, verify_buf, MAX_BATCH_SIZE);
+
+    if ( !verify_buf )
+    {
+        ERROR("Unable to allocate memory for test buffer");
+        rc = -1;
+        goto err;
+    }
 
     if ( ctx->stream_type == XC_STREAM_COLO )
     {
@@ -757,6 +789,8 @@ static void cleanup(struct xc_sr_context *ctx)
     unsigned int i;
     DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap,
                                     &ctx->restore.dirty_bitmap_hbuf);
+    DECLARE_HYPERCALL_BUFFER_SHADOW(uint8_t, verify_buf,
+                                    &ctx->restore.verify_buf);
 
     for ( i = 0; i < ctx->restore.buffered_rec_num; i++ )
         free(ctx->restore.buffered_records[i].data);
@@ -765,6 +799,8 @@ static void cleanup(struct xc_sr_context *ctx)
         xc_hypercall_buffer_free_pages(
             xch, dirty_bitmap, NRPAGES(bitmap_size(ctx->restore.p2m_size)));
 
+    xc_hypercall_buffer_free_pages(xch, verify_buf, MAX_BATCH_SIZE);
+
     free(ctx->restore.buffered_records);
     free(ctx->restore.populated_pfns);
 
diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index ae61f97a47..514ca4be63 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -88,7 +88,7 @@ static int write_batch(struct xc_sr_context *ctx)
     xc_interface *xch = ctx->xch;
     xen_pfn_t *mfns, *types;
     void **local_pages;
-    int *errors, rc = -1;
+    int rc = -1;
     unsigned int i, nr_pages = 0;
     unsigned int nr_pfns = ctx->save.nr_batch_pfns;
     uint64_t *rec_pfns;
@@ -109,8 +109,6 @@ static int write_batch(struct xc_sr_context *ctx)
     mfns = ctx->save.buffers->mfns;
     /* Types of the batch pfns. */
     types = ctx->save.buffers->types;
-    /* Errors from attempting to map the gfns. */
-    errors = ctx->save.buffers->errors;
     /* Pointers to locally allocated pages.  Need freeing. */
     local_pages = ctx->save.buffers->local_pages;
     memset(local_pages, 0, sizeof(*local_pages) * nr_pfns);
@@ -166,18 +164,54 @@ static int write_batch(struct xc_sr_context *ctx)
 
     iovcnt = 2;
 
-    rc = xg_foreignmemory_copy_from(xch, ctx->domid, nr_pages, ctx->save.dest_buf, mfns);
-    if ( rc < 0 )
-    {
-        ERROR("xg_foreignmemory_copy_from failed");
-        goto err;
-    }
-
     if ( nr_pages )
     {
-        iov[iovcnt].iov_base = ctx->save.dest_buf;
-        iov[iovcnt].iov_len = nr_pages << XC_PAGE_SHIFT;
-        iovcnt++;
+        int p;
+        void *page, *orig_page;
+
+        DECLARE_HYPERCALL_BUFFER_SHADOW(uint8_t, dest_buf,
+                                        &ctx->save.dest_buf);
+
+        rc = xg_foreignmemory_copy_from(xch, ctx->domid, nr_pages, dest_buf, mfns);
+        if ( rc < 0 )
+        {
+            ERROR("xg_foreignmemory_copy_from failed");
+            goto err;
+        }
+
+        for ( i = 0, p = 0; i < nr_pfns; ++i )
+        {
+            if ( !page_type_has_stream_data(types[i]) )
+                continue;
+
+            orig_page = page = dest_buf + (p * PAGE_SIZE);
+            rc = ctx->save.ops.normalise_page(ctx, types[i], &page);
+
+            if ( orig_page != page )
+                local_pages[i] = page;
+
+            if ( rc )
+            {
+                if ( rc != -1 || errno != EAGAIN )
+                    goto err;
+
+                set_bit(ctx->save.batch_pfns[i], ctx->save.deferred_pages);
+                ++ctx->save.nr_deferred_pages;
+                types[i] = XEN_DOMCTL_PFINFO_XTAB;
+                --nr_pages;
+            }
+            else if ( iov[iovcnt-1].iov_base + iov[iovcnt-1].iov_len == page )
+            {
+                iov[iovcnt-1].iov_len += PAGE_SIZE;
+            }
+            else
+            {
+                iov[iovcnt].iov_base = page;
+                iov[iovcnt].iov_len = PAGE_SIZE;
+                iovcnt++;
+            }
+            ++p;
+        }
     }
 
     hdrs.rec.length += nr_pages * PAGE_SIZE;
@@ -188,6 +222,7 @@ static int write_batch(struct xc_sr_context *ctx)
     if ( writev_exact(ctx->fd, iov, iovcnt) )
     {
         PERROR("Failed to write page data to stream");
+        rc = -1;
         goto err;
     }
 
@@ -717,30 +752,23 @@ static int setup(struct xc_sr_context *ctx)
 {
     xc_interface *xch = ctx->xch;
     int rc;
-    const unsigned dest_buf_len = MAX_BATCH_SIZE * XC_PAGE_SIZE;
     DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap,
                                     &ctx->save.dirty_bitmap_hbuf);
+    DECLARE_HYPERCALL_BUFFER_SHADOW(uint8_t, dest_buf,
+                                    &ctx->save.dest_buf);
 
     rc = ctx->save.ops.setup(ctx);
     if ( rc )
         goto err;
 
+    dest_buf = xc_hypercall_buffer_alloc_pages(
+        xch, dest_buf, MAX_BATCH_SIZE);
     dirty_bitmap = xc_hypercall_buffer_alloc_pages(
         xch, dirty_bitmap, NRPAGES(bitmap_size(ctx->save.p2m_size)));
     ctx->save.deferred_pages = bitmap_alloc(ctx->save.p2m_size);
     ctx->save.buffers = calloc(1, sizeof(*ctx->save.buffers));
-    ctx->save.dest_buf = NULL;
-
-    rc = posix_memalign(&ctx->save.dest_buf, XC_PAGE_SIZE, dest_buf_len);
-    if ( rc )
-    {
-        ERROR("Unable to allocate %u bytes of buffer", dest_buf_len);
-        errno = rc;
-        rc = -1;
-        goto err;
-    }
 
-    if ( !dirty_bitmap || !ctx->save.deferred_pages || !ctx->save.buffers)
+    if ( !dirty_bitmap || !ctx->save.deferred_pages || !ctx->save.buffers || !dest_buf )
     {
         ERROR("Unable to allocate memory for dirty bitmaps, deferred pages"
               " and various batch buffers");
@@ -761,7 +789,8 @@ static void cleanup(struct xc_sr_context *ctx)
     xc_interface *xch = ctx->xch;
     DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap,
                                     &ctx->save.dirty_bitmap_hbuf);
-
+    DECLARE_HYPERCALL_BUFFER_SHADOW(uint8_t, dest_buf,
+                                    &ctx->save.dest_buf);
 
     xc_shadow_control(xch, ctx->domid, XEN_DOMCTL_SHADOW_OP_OFF,
                       NULL, 0);
@@ -771,9 +800,9 @@ static void cleanup(struct xc_sr_context *ctx)
 
     xc_hypercall_buffer_free_pages(xch, dirty_bitmap,
                                    NRPAGES(bitmap_size(ctx->save.p2m_size)));
+    xc_hypercall_buffer_free_pages(xch, dest_buf, MAX_BATCH_SIZE);
     free(ctx->save.deferred_pages);
     free(ctx->save.buffers);
-    free(ctx->save.dest_buf);
 }
 
 /*
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:06:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:06:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326247.1591782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlIt-0000aL-SU; Wed, 03 Jun 2026 13:06:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326247.1591782; Wed, 03 Jun 2026 13: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 1wUlIt-0000X2-1c; Wed, 03 Jun 2026 13:06:39 +0000
Received: by outflank-mailman (input) for mailman id 1326247;
 Wed, 03 Jun 2026 13:06:36 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wUlIq-0008Ok-GR
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:06:36 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlIp-006lUv-T9
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:06:35 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026d4-5cb7-0a2a0a5109dd-0a2a4507892e-46
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:35 +0200
Received: from [209.85.221.46] (helo=mail-wr1-f46.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2026db-229c-0a2a45070019-d155dd2ea5a9-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:35 +0200
Received: by mail-wr1-f46.google.com with SMTP id
 ffacd0b85a97d-4600cbb06deso435021f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:06:35 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2ec711sm7254825f8f.12.2026.06.03.06.06.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 06:06:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780491995; x=1781096795; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IwEW/VMKmm9UVqRykzUd/eww6iX340aEt+2QQIC/NsI=;
        b=rnmrL8LSOdnFSUD53twbT3zQUc9Q1d0nIhlhJzw67U4BB8VBtVGtBmLne+xiLL4v+i
         0MRKr0xpN3+46B29fyU9d1FC7WQDQhQ7Zm0Ubx8FmpJbHt/RvW4pJiKWWddxdEma3N+v
         TZdnnY6TxWZMDGJExsb9AebxdDpRXrc9KRSk2W/32C7SYYOSY4y952Pi260Vrv6LeVpd
         1JB5Jn8cg8XR1zGsUoH2okB2TbKrdbtA3Gk1jEiYtq+xifOKHxm/HxPov94sAByz3jdz
         SACQXl14+v039AHS7pl59VDxodWlNA7YNHh9fufIWKgNpuy7CKLx1KriMkSawA54roMg
         a9zg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780491995; x=1781096795;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=IwEW/VMKmm9UVqRykzUd/eww6iX340aEt+2QQIC/NsI=;
        b=LwZY+RfeQlZWNJYHLVf1FCqWI0cb/bbIm1j4HV2Dwr3ryAmNU9Od+i/i++GnFplpy/
         xnPlJyc+FT2aUT1hK7w+2Xqx575QNEB5pdYbKXWoLX8WSsGlLerTAsIIEbVGOijptbrx
         nlQouInhmeRpvCaP82SM9fGAN+vbi4hbptuv8iLUJfioSEUnj5ac0SkotNzxOIoc6Kbh
         cuiidQdod56Rj4EKPJxtB6TlMBtxmMcFkLGgNinv/HLUaevb3Y0G5lkpMj4G0A6BpcQd
         RyOqhdtNEtFbFOtAf4rqmlPYc0QioIH7KtzVA1S9k7r+ub87SuotwEPb+LnUl24DT0T3
         DtIA==
X-Gm-Message-State: AOJu0YwCN25UXAXO7DyrBfr6CXD2JWN7AZiWNQCiJPNpWru1qySwVS1R
	upDwoBK2NXheGa+tEGKJXt96rVExvxh+QUDA0956PwRor/dhjYViCFqASVsWBsLc
X-Gm-Gg: Acq92OEH7WrPnmzOopCwzt1KxqpzBelRqP+ovZwAmOMubdRGJqDLNms1Vtg4tMRbtIz
	YbzbrAD5wJU0ZU9QGOeLJ36cD6/dm2S9H43Fu4315Tvcuc7mUGcrYc3xBlSMMNYAWt5csg9igG0
	y5SUggFXnONRsEeR8Vyfl+vdR9tXdQ8SwxRELU5FZmIfiLwP74yBMLltHSPevToezqW4XQUPUzd
	UUfj41BpKVof/VMZ/DYoOlFIQQfiJ0b6A9nk3h0vmz7+55DO99rxuG4JQ2it+tb+MYZvV+ndCc9
	57bIgCB8f+fQgIdDwsHXl1LV/33eG5uuicekybj9Oqo+Jsri+P9CFM2q5Erc59uDumDGtefXc/c
	u/v3TbFRIFWdqysIvPKQVofXmaa6FEBh8GITPTGuS7k/PhRzmz0ogXhw2GYe9z+aztX3fDpaN5f
	gJH3Q81seZMjCzz33+qmGKWuG+aGJUYZwLzym+RsuwRRKXzWoqg5InpQEsJzvXEvcZWnn7GPvPo
	2zH2G7YwoIc3VGArRRRKLxfYApSOTtI6L+KPIaGE+/Z4Vo=
X-Received: by 2002:a5d:524f:0:b0:452:bc74:b129 with SMTP id ffacd0b85a97d-46021346390mr3198279f8f.16.1780491994917;
        Wed, 03 Jun 2026 06:06:34 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH Linux v4 16/16] xen/privcmd: Add new ABI to allow copying foreign memory
Date: Wed,  3 Jun 2026 14:06:03 +0100
Message-ID: <20260603130603.776452-17-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260603130603.776452-1-frediano.ziglio@cloud.com>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1780491995-0B979C48-D518846D/0/0
X-purgate-type: clean
X-purgate-size: 5352

From: Frediano Ziglio <frediano.ziglio@citrix.com>

This new ABI allows to copy foreign domain memory to/from a buffer.
This avoids having to map/copy/unmap foreign memory which is
expensive.
This operation is done particularly when migrating VMs.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 arch/x86/include/asm/xen/interface.h |  1 +
 drivers/xen/privcmd.c                | 51 ++++++++++++++++++++++++++++
 include/uapi/xen/privcmd.h           | 10 ++++++
 include/xen/interface/memory.h       | 37 ++++++++++++++++++++
 4 files changed, 99 insertions(+)

diff --git a/arch/x86/include/asm/xen/interface.h b/arch/x86/include/asm/xen/interface.h
index a078a2b0f032..bac3c3bc60fd 100644
--- a/arch/x86/include/asm/xen/interface.h
+++ b/arch/x86/include/asm/xen/interface.h
@@ -91,6 +91,7 @@ DEFINE_GUEST_HANDLE(int);
 DEFINE_GUEST_HANDLE(void);
 DEFINE_GUEST_HANDLE(uint64_t);
 DEFINE_GUEST_HANDLE(uint32_t);
+DEFINE_GUEST_HANDLE(uint8_t);
 DEFINE_GUEST_HANDLE(xen_pfn_t);
 DEFINE_GUEST_HANDLE(xen_ulong_t);
 #endif
diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
index 725a49a0eee7..4ae9138dd314 100644
--- a/drivers/xen/privcmd.c
+++ b/drivers/xen/privcmd.c
@@ -62,6 +62,10 @@ MODULE_LICENSE("GPL");
 
 #define PRIV_VMA_LOCKED ((void *)1)
 
+#ifndef UINT32_MAX
+#define UINT32_MAX ((uint32_t)~0U)
+#endif
+
 static unsigned int privcmd_dm_op_max_num = 16;
 module_param_named(dm_op_max_nr_bufs, privcmd_dm_op_max_num, uint, 0644);
 MODULE_PARM_DESC(dm_op_max_nr_bufs,
@@ -1522,6 +1526,49 @@ static inline void privcmd_ioeventfd_exit(void)
 }
 #endif /* CONFIG_XEN_PRIVCMD_EVENTFD */
 
+static long privcmd_ioctl_foreigncopy(
+	struct file *file, void __user *udata)
+{
+	const struct privcmd_data *const data = file->private_data;
+	long ret;
+	struct privcmd_foreigncopy copy;
+	struct xen_foreigncopy xcopy;
+
+	if (copy_from_user(&copy, udata, sizeof(copy)))
+		return -EFAULT;
+	if (copy.dir & ~1u)
+		return -EINVAL;
+	if (copy.num >= UINT32_MAX >> PAGE_SHIFT)
+		return -EINVAL;
+	if (!access_ok(copy.pfns, copy.num * sizeof(*copy.pfns)))
+		return -EFAULT;
+	if (!access_ok(copy.buffer, copy.num << PAGE_SHIFT))
+		return -EFAULT;
+
+	/* If restriction is in place, check the domid matches */
+	if (data->domid != DOMID_INVALID && data->domid != copy.dom)
+		return -EPERM;
+
+	xcopy.domid = copy.dom;
+	xcopy.flags = copy.dir;
+	xcopy.nr_frames = copy.num;
+	xcopy.frame_list = (void *) copy.pfns;
+	xcopy.buffer = copy.buffer;
+
+	ret = HYPERVISOR_memory_op(XENMEM_foreigncopy, &xcopy);
+
+	/* copy values back in case of error */
+	if (ret) {
+		copy.num = xcopy.nr_frames = copy.num;
+		copy.pfns = xcopy.frame_list;
+		copy.buffer = xcopy.buffer;
+		if (copy_to_user(udata, &copy, sizeof(copy)))
+			ret = -EFAULT;
+	}
+
+	return ret;
+}
+
 static long privcmd_ioctl(struct file *file,
 			  unsigned int cmd, unsigned long data)
 {
@@ -1569,6 +1616,10 @@ static long privcmd_ioctl(struct file *file,
 		ret = privcmd_ioctl_pcidev_get_gsi(file, udata);
 		break;
 
+	case IOCTL_PRIVCMD_FOREIGNCOPY:
+		ret = privcmd_ioctl_foreigncopy(file, udata);
+		break;
+
 	default:
 		break;
 	}
diff --git a/include/uapi/xen/privcmd.h b/include/uapi/xen/privcmd.h
index 8e2c8fd44764..786d769ad4f8 100644
--- a/include/uapi/xen/privcmd.h
+++ b/include/uapi/xen/privcmd.h
@@ -131,6 +131,14 @@ struct privcmd_pcidev_get_gsi {
 	__u32 gsi;
 };
 
+struct privcmd_foreigncopy {
+	domid_t dom;		/* foreign domain */
+	__u16 dir;		/* direction,  0 from, 1 to */
+	__u32 num;		/* number of pages to copy */
+	const xen_pfn_t __user *pfns;	/* array of pfns */
+	void __user *buffer;	/* buffer to copy to/from */
+};
+
 /*
  * @cmd: IOCTL_PRIVCMD_HYPERCALL
  * @arg: &privcmd_hypercall_t
@@ -164,5 +172,7 @@ struct privcmd_pcidev_get_gsi {
 	_IOW('P', 9, struct privcmd_ioeventfd)
 #define IOCTL_PRIVCMD_PCIDEV_GET_GSI				\
 	_IOC(_IOC_NONE, 'P', 10, sizeof(struct privcmd_pcidev_get_gsi))
+#define IOCTL_PRIVCMD_FOREIGNCOPY				\
+	_IOC(_IOC_NONE, 'P', 11, sizeof(struct privcmd_foreigncopy))
 
 #endif /* __LINUX_PUBLIC_PRIVCMD_H__ */
diff --git a/include/xen/interface/memory.h b/include/xen/interface/memory.h
index 1a371a825c55..5981402fccde 100644
--- a/include/xen/interface/memory.h
+++ b/include/xen/interface/memory.h
@@ -325,4 +325,41 @@ struct xen_mem_acquire_resource {
 };
 DEFINE_GUEST_HANDLE_STRUCT(xen_mem_acquire_resource);
 
+/*
+ * Copy memory from/to a given domain.
+ */
+#define XENMEM_foreigncopy 29
+struct xen_foreigncopy {
+    /* IN - The domain whose resource is to be copied */
+    domid_t domid;
+
+    /* IN - Flags */
+#define XENMEM_foreigncopy_from 0
+#define XENMEM_foreigncopy_to 1
+#define XENMEM_foreigncopy_direction 1
+    uint16_t flags;
+
+    /*
+     * IN
+     *
+     * As an IN parameter number of frames of the domain to be copied.
+     */
+    uint32_t nr_frames;
+
+    /*
+     * IN
+     *
+     * Frames to be copied.
+     */
+    GUEST_HANDLE(xen_pfn_t) frame_list;
+
+    /*
+     * IN/OUT
+     *
+     * Userspace buffer to read/write from.
+     */
+    GUEST_HANDLE(uint8_t) buffer;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_foreigncopy);
+
 #endif /* __XEN_PUBLIC_MEMORY_H__ */
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:06:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:06:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326263.1591803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlJ0-0002KH-9o; Wed, 03 Jun 2026 13:06:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326263.1591803; Wed, 03 Jun 2026 13:06: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 1wUlJ0-0002J1-3r; Wed, 03 Jun 2026 13:06:46 +0000
Received: by outflank-mailman (input) for mailman id 1326263;
 Wed, 03 Jun 2026 13:06:44 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUlIy-0001rX-7y
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:06:44 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlIx-00C2Yc-Jg
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:06:43 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2026db-2eae-0a2a0a5409dd-0a2a450bb19a-20
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:43 +0200
Received: from [209.85.221.54] (helo=mail-wr1-f54.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2026e3-212f-0a2a450b0019-d155dd36b45b-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:06:43 +0200
Received: by mail-wr1-f54.google.com with SMTP id
 ffacd0b85a97d-45fd461e4a5so3260943f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:06: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-4601f34413csm7284992f8f.21.2026.06.03.06.06.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 06:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780492003; x=1781096803; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=1MJA+2NbmVQKXujYvUSkt1kO/HT1VLx1sANxeZf3v3c=;
        b=JxkLkfnvw+1/i9VyC1p7onOV41uNFnLzc0mfOXCUDLBs0VC+o2zRSrCSGrICiD6mFj
         dhiAji6pTaF1fOJp+kTXbRPw0MwNJwvkiMiC4EdwR21yZzG620b/RoUZ3fL4DTW4fxDa
         8XYLfz3oaFThFbk9E5ojsL//ExVnb6peSmbhTaMkMQY/IYMBa2IcHYM7xGYCRsqeqS4d
         +UgPZJUC8hehMIA1Uc5ujVyr0Nxotwb0J1aRrfoptVQ1cGlorhTs8DHw2rzcNPeLpgik
         lgNlhWMro/tpcQ3NqeWSFQb/KQ9nYfKVxFkPtc2a2pv2y7uFQ4QtFJ69YEjaJ8ingmBL
         3uog==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780492003; x=1781096803;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1MJA+2NbmVQKXujYvUSkt1kO/HT1VLx1sANxeZf3v3c=;
        b=By9hBXb95MPFpG+uBf2k1+XA7bTSoDwf/1L7B6ByID/91utR5V+XNakZVoncxGfinb
         peH+RG+VzjiV0+mCWRKJ1Go8jxswqAO+tu2ZS+9gArddZsGI3oi1ln0ZQdvj2wgwri18
         cSb4oPXV2u+WPg6dRRJARpsWfIkpVuKqa+n86nNnF2dl5fIc3/FPTIHI2z8poQU5Iu77
         37peMpkLDBPxSQxLFiGJBclYAjUGeGL1mUy7RMcw+ocvPLTzApnBIDfdXgrkYnSpJKwI
         BXTz2tX19P91zkDYcmFSOcooLhK8MNRPrzJa7zjCO/qJrggHHa58jsYUQn0Ui/NickTV
         A9Ew==
X-Forwarded-Encrypted: i=1; AFNElJ/vJn1QgINfj/HxB/TOMJwVgwiwUCwmYbXKBGcqKy+t7co74WGJUtR36u1s0rekDLs/POIHAXkvYCk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwOEOKY1AxDO73Sn6yJgdgm2QNZI4iErAvlvl0of48ANP4sKVFo
	BmTwhz7sq7tpXBq766NBx72awcB5G3G5ud/7ODZuylTmbV8+xuJR1+cqBEnGAQUaMw==
X-Gm-Gg: Acq92OHexQj4LEUIrCZjvd1sawVJzyHP3Obnq47xwSV8qFWrNtM97OgCs5M1gELoKsn
	S7hr+87YnJ0UNOcO/w7XQREGCDS2deDybh11B584MEf/cKxGeCfMwZXo580+RDIAjooPyEVTLWX
	7ybI0vWzNH7X1HnufMclJOga4Zur0GuAmhUs/uiIt1FAPcOEItZLc9sC20n8wjGFpFP2vdgiykf
	u20ZymdOtNEREgzbF5plblQbDuJMF5TZA9XzYW8aeHgLEbaVoH+CWiu7OzvbmGb/2sDxQ8NUrQo
	WkOi0PGDVQY3knCngIKIQ6J7Bqc5533avfTIZ1dW1QUcrxVLJmKeBqDe+S9pUe/HzNvK7o+UtDu
	E9TvcHBdkksP5+F4iGXNahAKRXAaIaTF/AOPET54rC30W4fVYk/D0XMhFcPFWMgMWWdDQ/1dPYC
	trxRg1VwagiVW10qh2TFI532UTi08Haxkowd7EPogsSmXW+OwdpTFnxJ/HSEB2HWc1U0mgMUqsW
	GgSXlEDC8ieDYNJZbJF7/BQ4w==
X-Received: by 2002:a05:600c:1d86:b0:48a:9428:5522 with SMTP id 5b1f17b1804b1-490b60de617mr51873705e9.16.1780492002716;
        Wed, 03 Jun 2026 06:06:42 -0700 (PDT)
Message-ID: <4d52e642-c235-477b-92f8-f8d3af6db23e@suse.com>
Date: Wed, 3 Jun 2026 15:06:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 07/24] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
To: Hirokazu Takahashi <taka@valinux.co.jp>
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" <xen-devel@lists.xenproject.org>
References: <20260531224755.9481-1-taka@valinux.co.jp>
 <20260531224755.9481-8-taka@valinux.co.jp>
 <7040c58f-2d4c-48f2-854f-c874efdcefbd@suse.com>
 <OS9P286MB72221F0A5D5195C7A4CAFD4082132@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
 <OS9P286MB722241B5C3E48A93F7E0BBA782132@OS9P286MB7222.JPNP286.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: <OS9P286MB722241B5C3E48A93F7E0BBA782132@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1780492003-1BF7EF3B-195F1061/0/0
X-purgate-type: clean
X-purgate-size: 1816

On 03.06.2026 15:01, Hirokazu Takahashi wrote:
> Hello,
> 
>>>> +
>>>> +#ifdef CONFIG_DT_CPU_TOPOLOGY
>>>> +extern struct cpu_topology cpu_topology[NR_CPUS];
>>>
>>> If at all possible, no new NR_CPUS dimensioned arrays please.
>>
>> This is also part of the code imported from Linux kernel 7.0, which is used to
>> store
>> unique topology data per CPU.
>>
>> I kept it as an array to match the original Linux source, but I understand the
>> concern
>> about adding new NR_CPUS dimensioned arrays in Xen. I can refactor it to use
>> Xen's
>> per-CPU infrastructure instead.
> 
> Just a quick follow-up to my previous email:
> 
> While I was looking into moving the topology data to a per-CPU variable, 
> I remembered the ongoing effort by the team working on CPU hotplug. 
> 
> This introduces a dilemma: during the early boot phase when we parse
> the Device Tree topology, the per-CPU areas for CPUs that are not yet active
> (or yet to be hotplugged) have not been allocated yet. Therefore, we wouldn't
> have a place to record the topology information for those inactive CPUs 
> at boot time.
> 
> Should we have the hotplug team parse the Device Tree topology information
> on-demand when a CPU is hot-plugged? 
> 
> Currently, the functions used to read the topology from the Device Tree are 
> marked with '__init'. Removing '__init' to keep these functions resident in 
> memory feels like a waste of memory. 

Indeed.

> What do you think would be the best approach here?

Can you know early enough how many CPUs there are going to be? If so,
allocate the array just at the size needed. Next best option may be to
have a NR_CPUS-dimensioned array in .init.data, for the used part then
to be moved to a dynamically allocated, generally much smaller one.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:40:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:40:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326389.1591828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlp9-0004dY-2D; Wed, 03 Jun 2026 13:39:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326389.1591828; Wed, 03 Jun 2026 13: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 1wUlp8-0004dR-Ve; Wed, 03 Jun 2026 13:39:58 +0000
Received: by outflank-mailman (input) for mailman id 1326389;
 Wed, 03 Jun 2026 13:39:57 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUlp7-0004dL-Cq
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:39:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUlp6-00C9fy-HM
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:39:56 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a202e9d-5cb7-0a2a0a5109dd-0a2a4507b390-42
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:39:56 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a202eab-229c-0a2a45070019-d1558031d9dc-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:39:56 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490b3637b90so16843915e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06:39:56 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490b7a52cbesm18191795e9.3.2026.06.03.06.39.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 06:39: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780493995; x=1781098795; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=A3qY6/INWxt/kXC8UNIMg2PYuKyGVPqo3xTNaZCQoIg=;
        b=QT3COJqS9AtfdPmLHBUVyhT6XYisWVoDa9scr+W47iB5heleKNkq4e0/MZvOO0Kw3A
         sz/nYit2qOSyoTO8uDlbVOsr9dBPlIRwf9idyTrFNGP7hK9wvEQIYw7aCUCTZHYgz2Sa
         z4bVJiJyIbnQpvYS7KGfW8QidXGVavnnFgki07VXYmZjq8VGYGk1kCwQ3c1dCWHp6j4R
         vqvMop6SmpGtKubJmlrE4mbVv0uANECN+tvmCZccw7g2CeMrNfPPMO2WAcs/mdVIvt9S
         0UDkL/rLXGEgKbD4wZKqKvp/SAiRaQwa+QYj8GafeT4Yy/k/A4cfAgQ+2dW5RHNlNpj3
         GusA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780493995; x=1781098795;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=A3qY6/INWxt/kXC8UNIMg2PYuKyGVPqo3xTNaZCQoIg=;
        b=T1ELUA8EgH6sUQQogGAy2AE9Hv19VKNO67w7Mzvx6/c4HcTd7jdJI+7VqX2bVT7Fe8
         sFUWTkvBL4/714BDP6GndkWnVbKnp4m67Ycl6fZjuvtAhL6uSYWQx9C2BVTyctdU4cjz
         3FqyeTdFO1ifZTBpiGic90xvx2AVm56ZAknRFkHgVWRhUNtOd84NZyUCxddFArMeRkMv
         i7K7YyZfgKDEXlsRhfGRRfj4P1KKdhl3HK6pgv4BUx/kYYRBI48NpLjuWzQZAj2qRQcn
         OK2RIUCS7hhL3DNpqXWOwIiAtt8taizsajxR4BVFahCMngTKC1IgAkmpwE8Ohf7DWIZ/
         pG5A==
X-Forwarded-Encrypted: i=1; AFNElJ/MKe5asFv2wChXZT9foxrcWTpNEZ72VsjJlrBKMNlcgW6dIqFq4a0PhBoKXTQUA2Nc/Xxq0c1VLWo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyZ/raB/7vCyEFoh590pUP9vSzrROhha3QrG3Y7LR3dcHXcOjsQ
	MmKqOzuqi2ZMW3cFWQjXvm+alI1BRWMO428x8mnw4Awg+lE2wK3WdKd/PsvroQufxQ==
X-Gm-Gg: Acq92OHXjGBs3HH2Qaqr5Pyftb6oubLD1dyj9g3LQ6Nc4DEFhj4HSuI/V4oJ2zhTmiK
	4wtVdT9BBLl6C3K3Nx+z1uQ0pqUE7tvCaTjDHRTbZ68STtIdzv74kd8SOCpoO8Rgl9+slafjoCM
	DR0rGu+/4leIRf4cAPxH7pMd+sp2wuk5ciTEvJeWv5T4MvYR4irB7vS5Txn6wLBQwnN2OEbORfF
	0uVj1ltGn5j4FNyK4US8Wb94a+xSR1oHrSq3JWMhLiomCQMbihm9LqVaXj/Fr07vg+e4G+33zt2
	MAPCcNo/OWMfGhEUv9aQFHZsS0JIQYuBUN1Xw3hjKxcGFVb+KxF2MoyjOcE0SYgBruKT5um6hts
	hxB65g2C0JRP+V57fo3Tiui1PI8grJ4U9KCFVqdBQ15CGflxvWKRZn74XG5Q0/TWv9MpaGvClGL
	pPgG+bmXgJWeSI+HfUArzAOfvFw4Axw0ocI/1vnYbd+RUES/8R33eIjZERqiPodtI6Vbc185J75
	mKsZhSpPy4Z/Z4pp5g01101+w==
X-Received: by 2002:a05:600c:6389:b0:490:b9c3:6c62 with SMTP id 5b1f17b1804b1-490b9c36e79mr36612945e9.28.1780493995571;
        Wed, 03 Jun 2026 06:39:55 -0700 (PDT)
Message-ID: <8e71b997-a695-41bd-bfec-fac2740db142@suse.com>
Date: Wed, 3 Jun 2026 15:39:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 12/16] xen: implement new foreign copy hypercall
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
 <20260603130603.776452-13-frediano.ziglio@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: <20260603130603.776452-13-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ef75cf/1780493996-20F66C48-68D30F43/0/0
X-purgate-type: clean
X-purgate-size: 7127

On 03.06.2026 15:05, Frediano Ziglio wrote:
> --- a/xen/common/memory.c
> +++ b/xen/common/memory.c
> @@ -1545,6 +1545,132 @@ static int acquire_resource(
>      return rc;
>  }
>  
> +/*
> + * The "noinline" qualifier avoid the compiler to create a large function
> + * consuming quite a lot of stack.
> + */
> +static int noinline mem_foreigncopy(
> +    XEN_GUEST_HANDLE_PARAM(xen_foreigncopy_t) arg)
> +{
> +    struct domain *d, *const currd = current->domain;
> +    xen_foreigncopy_t copy;
> +    int rc, direction;
> +
> +    if ( !arch_acquire_resource_check(currd) )
> +        return -EACCES;

How is the new sub-op related to acquire-resource? And aren't you instead
lacking an XSM check?

> +    if ( copy_from_guest(&copy, arg, 1) )
> +        return -EFAULT;
> +
> +    if ( copy.flags & ~1u )

If a suffix is needed here in the first place, please use an upper-case one.
Misra only demands L suffixes to be upper-case, but iirc we decided that
then we want all suffixes that way.

> +        return -EINVAL;
> +
> +    direction = copy.flags & XENMEM_foreigncopy_direction;
> +
> +    if ( copy.nr_frames == 0 )
> +        return 0;
> +
> +    rc = rcu_lock_remote_domain_by_id(copy.domid, &d);

Why not rcu_lock_domain_by_any_id()? IOW why would a self-copy need
prohibiting? 

> +    if ( rc )
> +        return rc;
> +
> +    /*
> +     * Check we are allowed to map and access these foreign pages.
> +     */
> +    rc = xsm_map_gmfn_foreign(XSM_TARGET, currd, d);
> +    if ( rc )
> +        goto out;
> +
> +    do {
> +        /*
> +         * Arbitrary size.  Not too much stack space, and a reasonable stride
> +         * for continuation checks.
> +         */
> +        xen_pfn_t gfn_list[32];
> +        unsigned int todo = MIN(ARRAY_SIZE(gfn_list), copy.nr_frames);
> +
> +        rc = -EFAULT;
> +        if ( copy_from_guest(gfn_list, copy.frame_list, todo) )
> +            goto out;
> +
> +        for ( unsigned i = 0; i < todo; i++ )
> +        {
> +            struct page_info *foreign_page;
> +            void *foreign;
> +            p2m_type_t p2mt;
> +
> +            foreign_page = get_page_from_gfn(d, gfn_list[i], &p2mt, P2M_ALLOC);
> +
> +            if ( unlikely(p2mt != p2m_ram_rw
> +#ifdef CONFIG_X86
> +                 && p2mt != p2m_ram_logdirty
> +#endif
> +                 ) && foreign_page )

This is ugly formatting wise, and the use of unlikely() isn't very likely
to have the effect you intend: As long as the compiler can't translate the
&& expression to something involving only a single conditional branch,
which of the branches is it that is unlikely to be taken?

> +            {
> +                put_page(foreign_page);
> +                foreign_page = NULL;
> +            }
> +            if ( unlikely(!foreign_page) )
> +            {
> +                gdprintk(XENLOG_WARNING,
> +                         "Error accessing foreign mfn %" PRI_mfn "\n",
> +                         gfn_list[i]);

As per get_page_from_gfn() and gfn_list[] it's a GFN, not an MFN.

> +                rc = -EINVAL;
> +                copy.nr_frames -= i;
> +                guest_handle_add_offset(copy.frame_list, i);
> +                goto out;
> +            }
> +
> +            /* A page is dirtied when it's being copied to. */
> +            if ( direction == XENMEM_foreigncopy_to )
> +                paging_mark_dirty(d, page_to_mfn(foreign_page));
> +
> +            foreign = map_domain_page(page_to_mfn(foreign_page));
> +            if ( direction == XENMEM_foreigncopy_from )
> +                rc = copy_to_guest(copy.buffer, foreign, PAGE_SIZE);
> +            else
> +                rc = copy_from_guest(foreign, copy.buffer, PAGE_SIZE);
> +            unmap_domain_page(foreign);
> +            put_page(foreign_page);
> +
> +            if ( unlikely(rc) )
> +            {
> +                gdprintk(XENLOG_WARNING,
> +                         "Error copying to mfn %" PRI_mfn "\n", gfn_list[i]);

"to" isn't always correct here, and the problem wasn't with the GFN (not
MFN) anyway, but with the buffer.

> +                copy.nr_frames -= i;
> +                guest_handle_add_offset(copy.frame_list, i);
> +                goto out;
> +            }
> +
> +            guest_handle_add_offset(copy.buffer, PAGE_SIZE);
> +        }
> +
> +        copy.nr_frames -= todo;
> +        guest_handle_add_offset(copy.frame_list, todo);
> +
> +        if ( copy.nr_frames && hypercall_preempt_check() )
> +        {
> +            rc = hypercall_create_continuation(
> +                __HYPERVISOR_memory_op, "lh", XENMEM_foreigncopy, arg);
> +            goto out;
> +        }
> +    } while ( copy.nr_frames );
> +
> +    rc = 0;
> +
> + out:
> +    rcu_unlock_domain(d);
> +
> +    /* Update in all cases, it allows the caller to know how many
> +     * frames were successfully copied and the continuation to
> +     * continue correctly.
> +     */
> +    if ( copy_to_guest(arg, &copy, 1) )

Since you already used copy_from_guest() one the way in, __copy_to_guest()
will do here.

> +        rc = -EFAULT;
> +
> +    return rc;
> +}

Before looking at the implementation in yet more detail: This is quite a
bit of new code. Did you at least consider extending MMUEXT_COPY_PAGE
along the lines of what c6b8bdfe3b47 ("x86: extend mmu_update hypercall
to allow update of foreign pagetables") did, allowing two domains to be
specified in the foreigndom argument?

> @@ -2012,6 +2138,13 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>              start_extent);
>          break;
>  
> +    case XENMEM_foreigncopy:
> +        if ( unlikely(start_extent) )
> +            return -EINVAL;

Why make this different from other continuable sub-ops?

> --- a/xen/include/public/memory.h
> +++ b/xen/include/public/memory.h
> @@ -740,7 +740,45 @@ struct xen_vnuma_topology_info {
>  typedef struct xen_vnuma_topology_info xen_vnuma_topology_info_t;
>  DEFINE_XEN_GUEST_HANDLE(xen_vnuma_topology_info_t);
>  
> -/* Next available subop number is 29 */
> +/*
> + * Copy memory from/to a given domain.
> + */
> +#define XENMEM_foreigncopy 29
> +struct xen_foreigncopy {
> +    /* IN - The domain whose resource is to be copied. */
> +    domid_t domid;
> +
> +    /* IN - Flags. */
> +#define XENMEM_foreigncopy_from 0
> +#define XENMEM_foreigncopy_to 1
> +#define XENMEM_foreigncopy_direction 1
> +    uint16_t flags;
> +
> +    /*
> +     * IN
> +     *
> +     * As an IN parameter number of frames of the domain to be copied.
> +     */
> +    uint32_t nr_frames;
> +
> +    /*
> +     * IN
> +     *
> +     * Frames to be copied.
> +     */
> +    XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
> +
> +    /*
> +     * IN/OUT
> +     *
> +     * Userspace buffer to read/write from.
> +     */
> +    XEN_GUEST_HANDLE(uint8) buffer;
> +};

Seeing the two handles - what about compat_memory_op()?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:46:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:46:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326400.1591838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUlux-0006Cv-Pw; Wed, 03 Jun 2026 13:45:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326400.1591838; Wed, 03 Jun 2026 13: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 1wUlux-0006Co-M1; Wed, 03 Jun 2026 13:45:59 +0000
Received: by outflank-mailman (input) for mailman id 1326400;
 Wed, 03 Jun 2026 13:45:59 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wUluw-0006Ci-VZ
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:45:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUluw-00CAdA-94
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:45:58 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a203004-5cb7-0a2a0a5109dd-0a2a450ab2f6-32
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:45:58 +0200
Received: from [52.101.43.45]
 (helo=SJ2PR03CU001.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a203014-56b3-0a2a450a0019-34652b2dc292-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:45:57 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by CH0PR03MB6099.namprd03.prod.outlook.com (2603:10b6:610:ba::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.16; Wed, 3 Jun 2026
 13:45:53 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 13:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=pbTfgfGtPYgWGzxZ2AkLoWDir0D5ReE4N60CL3+LeOgK73fBs/Tlv6aSWzHSe0UBNb9nbAx9Ln58X/RrzML8MVDn1VIZfGh5Fdyy3dWL5QbkbH1zPJM0+Cx09MOUJn7gAHQ+6aLot1Q6h2NYhnEmEJP06WTUaV5uR+EWquFSBeV5pYJC/g1YWOhKZGNSjjq5RqSxc/GWsYwvkST+krKg92oQwbOplIA83TxTJ0XvyyVRZF461W0z8B8DANhKyBjrqxtlINE7Z5vvBv5is243QZDa7C2PhJZcaQI94OvgDseb91CKp6zLEIMYWfswWClG4tMPTQptg4epQJ8EQmvFLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=J7yhNv497TOx+GLykH9rC2Yigxk/02FKic+gK7C3HjE=;
 b=AUifN/9emtYdoTHIEc2iBDE4lPd0YwZ8sjVXhS82L6bF4Ghuk72FHpnT31KsejvPVJgbSXC7dV41fE2EX3KtlaNwFmb4+XuXqTPXo9zMhAbNWLB1HfFK8uY4zRpZ8s3RcrtyHOM9tAkvbWA8HIqoMT00Wb9Z5pBpBRwMPxB1S8TwzWQJLY/JpKiB1s8GOjtGja/tiaoYrnKC5Ma1A6raEXZ57NAl987TO4inL1UwDSNu1WVcWE0igiUowWZCdFW57hGerFdKpZPS/kQQ1fIWJ77JAVn/hH4ykcB3JtHYRTqZRJRNneydsRZ+f1IBez7ysevzDt4G/jp0E17kMAc4qQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=J7yhNv497TOx+GLykH9rC2Yigxk/02FKic+gK7C3HjE=;
 b=AGIrhtCf8E+IK9VjQTQXr1FmBC/jqNhwRC6CeQfGDV92RurEJLy35/I3cziAfdO9lYRPoqVMpvEYUh7JIYSZ+0TqcPBxAjTxSvWI/0CXNYYHZGlCo9EOxOaEksmDSnzGsEv1ILTRIrhLju+2MkeLKtiuvlJR7VWK8JoYbdAY1fs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 3 Jun 2026 15:45:50 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH for-4.22 4/5] tests/numa: add unit tests for NUMA setup
 logic
Message-ID: <aiAwDo3EWi1oghm2@macbook.local>
References: <20260601154332.30797-1-roger.pau@citrix.com>
 <20260601154332.30797-5-roger.pau@citrix.com>
 <2b1df2c6-ccbb-402c-b65a-7f3beefdeb0d@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <2b1df2c6-ccbb-402c-b65a-7f3beefdeb0d@suse.com>
X-ClientProxiedBy: MA3P292CA0035.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:46::14) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|CH0PR03MB6099:EE_
X-MS-Office365-Filtering-Correlation-Id: f86053d1-7181-4d74-18e8-08dec1766e27
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|18002099003|6133799003|22082099003|3023799007|56012099006|11063799006|4143699003;
X-Microsoft-Antispam-Message-Info:
	J3oqjspi7r2WCbb8H5V2LkVOZIfJTrJzFMaZkHbcfw2tJzLclh30HhQGVtk41bfnZTbV0fOA3bDEtyr+MhI6Q7QjfUDb/oNsSOfDMhUC2VOerNaL+/m0zzlwTy2PjwuFFnJRDdZgH2hN793fQ2WS8om9SNXWgjZ46XOUX+1qXvK93x1bzUkElaMINKAa2NKPg1xFvuXjGZ841lRq9T2r9FXGdQTt2aPNlrfW6NHV253jcrISGWuBMVS7m+AgABnGDP0B90JfPAJj/yne4OO+NdNxp9SbgkhuRmrd6LnBdIfewvKRJHKZAex3PCPaOPg1u9PITkgPYFPDpvRoBtLYOYtcY1MO6mmo9/SRlzjt1/1j++nvILMG3W71IyCLQdufIU37kR8XPz1LOAZBkVP8206u+nB0Jv0VRgEGdm14S2X8iznkYrGfC/nSjvJpaVs0h2kh2O/gUUfPvjvWmssqa1QwW5nqjYbBmc9OMCgAMvo2JnZC2l1CeXG1C05ULNrRK0uwQrW5oIJRluQyDtn4+muqp3IGZvV2/7S/zp5zqhHGpIk1rfu5MCxAh4+YAi/Psdektebgj7Q4zAy08fGF7DP1DJwuzv/eJzYz5F4ZOvNpl6tKJdjj2stoJBVFZxrpf4NLc7SQQFFlL80KTgW+7O2IP8zyTOm4AtO120hyP6YDcpuGJAAHHnS2UO70lgPU
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(18002099003)(6133799003)(22082099003)(3023799007)(56012099006)(11063799006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YklvUU9RMjF2UFVWZVFqeVNUWGZENVhQcEVzT052TUIvL25aVlp6bmJiekNx?=
 =?utf-8?B?YnlkcGh3UTc4WHdYMWZpZUtacTd4QTBUNGFvLzVGMndZRnZCdVU4anA3Kzl4?=
 =?utf-8?B?SHd4S1VwZHhmdlZ3bGk5Wnl5K3A0Rm9aMjlLRUJ2MCtoQmptejFIRnhjQkky?=
 =?utf-8?B?WW5aeWhhcEZRUzVpMENHNU05eGZuVmthWnVUYU1jemE2cnFlSkMxUWxnZ2xQ?=
 =?utf-8?B?WjN1R05paGd6azFrTGlTbGtLTWYrQTlpVGJ3Z2FWYkUvbml5anVtSkpmU1Bo?=
 =?utf-8?B?UHdLWVRKQ1FDOHVWeVAxdlpzSDZ2Z3h1dVkwSjNpeFdPdk5wOFNBaDVCbGtN?=
 =?utf-8?B?QkdxM01ESlJldmlEQXBoaE9nV1Z5RElmQUZoT0swVXlEV1NKeHhzQ25NcDIw?=
 =?utf-8?B?QmlPdjlSdGNrSk1aZ3NIUnhLT2RsZHpGMTNySnNpTlI1aEVySEVMSGFNVzBY?=
 =?utf-8?B?dlZndVcrU3pnQ0NnWWUycUx6Rm9rMFNTZjRqUFQ0a2wwYnBMRWJwaVlWeEIv?=
 =?utf-8?B?azR5a1o0WDYzdVdsSHcrNDV5TlhBbTVSczZLNjFTeVN0aHRyWjU3MkdCMkRr?=
 =?utf-8?B?eDJlazRiWG9YdXo4bVhIbzRoOU1tTzVXYmNHbXJ2c25peURxMVp4S2phUEVn?=
 =?utf-8?B?V2RTQmJXK1czdE5BOUJZUWtvR2RaL0NUZ1JFc1ZYZnhONFlxQWwwWkJFZjYw?=
 =?utf-8?B?OEN2QkJKeG00SW1qdGQrbmo1c0FqWmpoSlZFa3FvWmZUbSsyYUJOcE9IN2ls?=
 =?utf-8?B?RlBEelpmS3ZDY0VubFVHTDlvSFl5M3BLWkZPQlN0UWNIdDRvM3k5NnVYV21h?=
 =?utf-8?B?SmRkZm9iT3psZ3k0VWg4UnRCbmtsZVZqak5ULzd0S3ArRkpsYkR1bHNBSXZs?=
 =?utf-8?B?RWVhMmxrYzkycHVkY0ZMMFZEZXA2NUl4L3IvR21NUHpPVjNDdmd3YTFHN2FW?=
 =?utf-8?B?ZHpwS0pWUzc5am1zT0JQODdtL1IvNnpJaFVTUE8vUnc5L0NJeUUzZzNVdUlF?=
 =?utf-8?B?S2xPYkNBL3FsZTVZUHd2NTZaK3l4Um5JNUphZHEySjhYdzgxbW5zU2hZTFgr?=
 =?utf-8?B?L2I5YWQxWGI2RHVuU0crdmZiMTlNZEJYVTgydkwrNVA1ck1aZzBrR1I4ZDFl?=
 =?utf-8?B?QjJCN0tEMUhudzZJTmdpelA0TzFFckxjSzA1L2hpbThIam5JeE5Zem91NkI0?=
 =?utf-8?B?ZWFkOGFWMkI4RFlYSmhheTVyQTVBb29pSmZ2ZGRGak9sOGdCWFdQeGF4ZmFy?=
 =?utf-8?B?SUJlOE1UZ0RjeVFmNkhRMEZsd2pPSFB1NUJPMGVZd0pNNmdUcUdqTE02bVNl?=
 =?utf-8?B?STZ0UkhSUVl1SUo1dDVIazNxT0NKRFBhRFdNSlhKYVFOdkNReFR1UHI2SmFC?=
 =?utf-8?B?ZTh0SjdrakhXaVNGaUw3LzhLbzI0SndVVUNGM1dNVXdKOVNFdGJ4QXh0ajFa?=
 =?utf-8?B?akZlK3ZYUGxETE9zMGozUHVlR1NRQXlrN1JjQ2Eza3J4cllockFGZVRmd0Nq?=
 =?utf-8?B?d1FqNlQxZEN5QVMwVlUvNjIrRjgrcTNsbENjLzJYK0JLSW5uZWNlclg3NzZ0?=
 =?utf-8?B?WUxVS0QyU2w5bGJONkFNTGJVMHppTkcxemR6RUNWQkdzdWZERHZaWktpUTc4?=
 =?utf-8?B?M0NzVzA4REU3T1RtckV4U09UKyt6azk3NzlQNDFyOUZyY2Z3U29YMHNzWk8z?=
 =?utf-8?B?N3BNd2toOHhnYkgvUGxtN1FhWGMyM0VqY2RMQlU4L21LTDZyLzdRRWp1bGZv?=
 =?utf-8?B?Q0ZvSUFqZ1p6MDhETzltM1NoVVdVOGh0WHQvZXU2RkhaUlZSVmtyWDZJSmdo?=
 =?utf-8?B?M1R5MTZidllybmtPSmJkYTU5M205ZmxPSGZyVytBR1JOUzNWNjYraTkzNkpU?=
 =?utf-8?B?WU9tQXVBZkRRSVFlUEwwVEV1cTJuRTBwV1BTMGpReHo4cURDVG0zUm5WR2pn?=
 =?utf-8?B?ajZkY1BzT2ZPb3VJN1kwbmNzRzVoaEhDcU1XVFp5bHZYb0kvbkhVeUhTWVNF?=
 =?utf-8?B?M1JLWlh3REdkWnRBN0FNMlIrVnZweWFlSUxrUWJGREtDNlhCMURLQndMMkNw?=
 =?utf-8?B?MmhXQWl6d2VpTVh1WHlkTkt3U0NxRHphWnZlY3hRaWhwRnJLcTdZYXZPL3Zt?=
 =?utf-8?B?WEcrS1FGKzBqSlhNc1FtTmxZR0E0eURxK0xwSmkrR1FYSFp4aHFSK3I4RnVp?=
 =?utf-8?B?bFZaVTBCeExCT29IUVhaSm14UkN1MTU0YzhyajdUeEd4blpnbi95VkU0WENH?=
 =?utf-8?B?R1hqSk1NSWwwREtsbWVjOGRLNUNqcmc2ZVNhVkFwU0lRM0RRSzBHZEZVTTM2?=
 =?utf-8?B?M2g0SGdDbmR6MHhwZHZXa0xPVFpiUnJTWG9XSkdORXlpWXVVbkl5UT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f86053d1-7181-4d74-18e8-08dec1766e27
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 13:45:53.3749
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NELI+HAWJggeqpKSmoz/mdqebTV//bIAoRbMa8T36rksbQSaT/RLJvLeQcwciD8jwrXcH6GV90kb7xju6dAT7A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6099
X-purgate-ID: tlsNG-4011c0/1780494358-7FB918B7-C6E8B78B/0/0
X-purgate-type: clean
X-purgate-size: 4844

On Wed, Jun 03, 2026 at 10:38:52AM +0200, Jan Beulich wrote:
> On 01.06.2026 17:43, Roger Pau Monne wrote:
> > --- /dev/null
> > +++ b/tools/tests/numa/.gitignore
> > @@ -0,0 +1,2 @@
> > +/numa.h
> > +/test-numa
> 
> Why the leading slashes?

This is the format of the .gitignore that we use in the pdx, numa and
rengeset testing.  The slashes denote that the pattern is relative to
the particular .gitignore itself, but won't match any level below the
.gitignore.

> > --- /dev/null
> > +++ b/tools/tests/numa/Makefile
> > @@ -0,0 +1,47 @@
> > +XEN_ROOT=$(CURDIR)/../../..
> > +include $(XEN_ROOT)/tools/Rules.mk
> > +
> > +TARGETS := test-numa
> > +
> > +.PHONY: all
> > +all: $(TARGETS)
> > +
> > +.PHONY: run
> > +run: $(TARGETS)
> > +ifeq ($(CC),$(HOSTCC))
> > +	set -e;             \
> > +	for test in $? ; do \
> > +		./$$test ;  \
> > +	done
> > +else
> > +	$(warning HOSTCC != CC, will not run test)
> > +endif
> > +
> > +.PHONY: clean
> > +clean:
> > +	$(RM) -- *.o $(TARGETS) $(DEPS_RM) numa.h
> > +
> > +.PHONY: distclean
> > +distclean: clean
> > +	$(RM) -- *~
> 
> I see we remove *~ elsewhere, but not everywhere. I don't, however, know
> why we have that, and hence I wonder whether it really wants replicating.

Seems like *~ is a backup file created by some editors (Emacs or Vim
for example.  Again this is a verbatim copy of the Makefile that we
use for other unit testing (I think I copied this from the PDX
testing).

> > --- /dev/null
> > +++ b/tools/tests/numa/harness.h
> > @@ -0,0 +1,184 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +/*
> > + * Unit tests for NUMA setup.
> > + *
> > + * Copyright (C) 2026 Cloud Software Group
> > + */
> > +
> > +#ifndef _TEST_HARNESS_
> > +#define _TEST_HARNESS_
> > +
> > +#include <assert.h>
> > +#include <errno.h>
> > +#include <inttypes.h>
> > +#include <stdbool.h>
> > +#include <stdint.h>
> > +#include <stdio.h>
> > +#include <stdlib.h>
> > +#include <string.h>
> > +
> > +#include <xen-tools/bitops.h>
> > +#include <xen-tools/common-macros.h>
> > +
> > +#define CONFIG_DEBUG
> > +#define CONFIG_NUMA
> > +#define CONFIG_NR_NUMA_NODES 64
> > +#define NR_CPUS 256
> > +#define MAX_RANGES 128
> > +#define PADDR_BITS 52
> > +
> > +#define __init
> > +#define __initdata
> > +#define __ro_after_init
> > +#define __read_mostly
> > +
> > +#define printk printf
> > +#define XENLOG_INFO ""
> > +#define XENLOG_DEBUG ""
> > +#define XENLOG_WARNING ""
> > +#define KERN_INFO ""
> > +#define KERN_ERR ""
> > +#define KERN_WARNING ""
> > +#define KERN_DEBUG ""
> > +
> > +#define PAGE_SHIFT    12
> > +/* Some libcs define PAGE_SIZE in limits.h. */
> > +#undef  PAGE_SIZE
> > +#define PAGE_SIZE     (1L << PAGE_SHIFT)
> > +#define MAX_ORDER     18 /* 2 * PAGETABLE_ORDER (9) */
> > +
> > +#define PFN_DOWN(x)   ((x) >> PAGE_SHIFT)
> > +#define PFN_UP(x)     (((x) + PAGE_SIZE-1) >> PAGE_SHIFT)
> > +
> > +#define paddr_to_pfn(pa)  ((unsigned long)((pa) >> PAGE_SHIFT))
> > +#define mfn_to_pdx(mfn)   (mfn)
> > +#define paddr_to_pdx(pa)  ((pa) >> PAGE_SHIFT)
> > +#define mfn_to_maddr(mfn) ((mfn) << PAGE_SHIFT)
> > +
> > +#define ASSERT assert
> > +#define ASSERT_UNREACHABLE() assert(0)
> > +
> > +/* For the purposes of the testing assume arch NID == Xen NID. */
> > +#define numa_node_to_arch_nid(n) (n)
> > +
> > +typedef uint64_t paddr_t;
> > +#define PRIpaddr "016" PRIx64
> > +
> > +typedef unsigned long mfn_t;
> > +typedef uint8_t nodeid_t;
> > +
> > +#define __set_bit set_bit
> > +#define __clear_bit clear_bit
> > +
> > +static inline unsigned int find_next_bit(
> > +    const unsigned long *addr, unsigned int size, unsigned int off)
> > +{
> > +    unsigned int i;
> > +
> > +    ASSERT(size <= BITS_PER_LONG);
> > +
> > +    for ( i = off; i < size; i++ )
> > +        if ( !!(*addr & (1UL << i)) )
> 
> Why the !! ?

I copied this from the PDX header and simplified the function because
now it only cares about set values, and forgot to drop it.  I can
indeed drop the !!.

> 
> > +            return i;
> > +
> > +    return size;
> > +}
> > +
> > +#define find_first_bit(b, s) find_next_bit(b, s, 0)
> > +
> > +/* Minimal cpumask support. */
> > +typedef struct cpumask{ DECLARE_BITMAP(bits, NR_CPUS); } cpumask_t;
> > +
> > +#define cpumask_clear_cpu(c, m) clear_bit((c), (m)->bits)
> > +
> > +/* Define the nodemask helpers used. */
> > +typedef struct nodemask{ DECLARE_BITMAP(bits, CONFIG_NR_NUMA_NODES); } nodemask_t;
> > +
> > +#define node_set(node, dst) set_bit((node), (dst).bits)
> 
> To aid readability, omit the parentheses around "node"? (More similar cases
> further down.)

Sure, this is all copied from the nodemask.h header.  I should have
adjusted.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:52:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:52:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326409.1591847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUm1C-0008Ba-E0; Wed, 03 Jun 2026 13:52:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326409.1591847; Wed, 03 Jun 2026 13: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 1wUm1C-0008BS-AQ; Wed, 03 Jun 2026 13:52:26 +0000
Received: by outflank-mailman (input) for mailman id 1326409;
 Wed, 03 Jun 2026 13:52:25 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wUm1B-0008BM-BI
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:52:25 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUm1A-003Uvg-DL
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:52:24 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a203193-5cb7-0a2a0a5109dd-0a2a4509dd16-28
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:52:24 +0200
Received: from [52.101.46.43]
 (helo=CO1PR03CU002.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a203196-2497-0a2a45090019-34652e2b90d9-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:52:23 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by LV8PR03MB8161.namprd03.prod.outlook.com (2603:10b6:408:297::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.15; Wed, 3 Jun 2026
 13:52:19 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 13:52: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=AuMTjLE/xlNajSaKwHXH6y4i7gSDIgQvYW7fbW1dpf1egybua6pi90CgjCrRhQTq8CpeDIneRTGuXBrIf3yLYk/C8Ot12sx2Bedn3/qQbGVpXOACtPkr4BWPb091vG22D+ju3jFCUI0PD5C+Kh9NTutMbV/J7Jx1RC8n4vhfYKY5/nIopUGE25RtB4YhQjTuyOTkXWkYNuwB0MxAv3Sw0Z94dHRQJLe0RIGIEH5hgurqeG0wKHrBCedStuhodKOf4ZjjdQz4eMQb1yEC+HQJGtimtOOp94sG/m77IK2/vy0bsRJ7hkYy3hIlWxPP0uhq/QCXpTAEJkZ56j+kLwYmVg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-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+TZt0aavyBKq+KPdzXHwK1p5G/y1l89qbb2KxqbgFM=;
 b=knuAPGsgcau+X4/UMjTFJYS1qutS4dmYDihxVAQvV8mEkfDZyAe/wuMbrAyvSVCtcsA5R4+6rm62BmeCoSRyF4v8NXagWz5JGPeYLk/ghsoPzUklZeSP2Mr+JurstH9aZc96lgjTNnOFhOTv+5sNG1ZSkwQ6UYpgd1nDGQ2nTBBjBwzOkcIi2XNgLYbqLkE89FC6xVUwSzyOqDw3zgluByf+y/GJy5+AKEzFkfFzms3MlBnnsg4SRkrk1etzRb4GUnGxDchCPV8M2zI9/P5aVyiK/ufxYGx6jjiRKs3h3Ix7b8s48S9Qy5JMnhcVVRXIMGxkI2cbuUhTfu+Y1FtEfg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=A+TZt0aavyBKq+KPdzXHwK1p5G/y1l89qbb2KxqbgFM=;
 b=VhMe1bGa80YtylynYPVYN5mlYFB+hTYVaIh6+Y3dEmoCRAOTGE+tYo+euiFCBmqxFkMIMo+AQiFGc/tyLJOx9qG+pVofRMVeGtAyT6/MwYWEMUjY3iqfdTb5/jLz6merCI6fFJ+QNskYgDwXGXIDCMvdwk0R6sdhxiHSHh6AiaY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 3 Jun 2026 15:52:15 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH for-4.22 5/5] xen/numa: fix setup of non-aligned memory
 affinity ranges
Message-ID: <aiAxj4jOP5A7mRfI@macbook.local>
References: <20260601154332.30797-1-roger.pau@citrix.com>
 <20260601154332.30797-6-roger.pau@citrix.com>
 <de557b90-e5dd-468b-ac34-dcf463e95cad@suse.com>
 <d17f835b-3095-4d08-b2bd-7ab69e08db45@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <d17f835b-3095-4d08-b2bd-7ab69e08db45@suse.com>
X-ClientProxiedBy: MR1P264CA0028.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:2f::15) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|LV8PR03MB8161:EE_
X-MS-Office365-Filtering-Correlation-Id: 8023460d-6ffe-496c-ee64-08dec177545f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|4143699003|56012099006|11063799006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	xOMIohhrjuYRYFL82avTVngm/qrvxmveSqZpZn96VpC25daayoZnhskT7a0D6abZMmk/NtWd/rg2DtoADGTnZrfxOJLJPb5DEmDu1Ea8tVUCLuy/WcbU9jxTm3H2CzlHoGaBw3OrUQ32RQhctqEfQw2WDnHFoUrgXKGgn+Xhx07VVTtSZh007n/k27a02ncC9SeBUi68TLjjPcAkEGDqfmOOh8ek6fTDtW8Tc3U883desYFTHOkMBozpJMchGeI60K5MLVlX4qJ9zThMDKFmZYr8MRL0j9a2fq5RnPtySbIpaIEaT/7+VodNo6Dy5WymGjNa6Te82HDJ2rbR1SWG8WODaUFhsVl0eHnR7TB+4kMHZWPgma1pubeJULxBycVz4uPllV+SbEffbtzTPzt2mN8tEJsuad3MOGTN4VWC7VQ9r0rliz3CLEbR+Nt7vK6bxRp9HEbPq63a3awrS0RyQqs8aJw/HLmPM5wQeNwS3qxlVl9Wf7Ji5SsYRuZzEuKKYWVD8Ajr0mJJQ8B+KLKZtfgBOrNtlhRl9gLxicP8Y4yLOQupIoOC2Z71Q/QKStevNDteyOeAq8FTT8Kc49FinqJ0nn6TTdDxAbw2NkgzmsH1Leb8uqPycP6Nrmscj14xBpseN7ip+nVKW7PCSc6n/1P2+3ej5YI9k3tis74iaQ7J5+9oRNZBBSx6nIduMUEw
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(4143699003)(56012099006)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VjFsbDQwUVN5cFd3anZhUml5bEpkdjZEN29oMkE5VWR0OXpoUCtUQ2RQdXFj?=
 =?utf-8?B?VUo5Mk1pWEsrSFY2UDZBSXZ0L2k0cWU3dWVPUEorcXpTcDF6Nm5tZ0lHc0lr?=
 =?utf-8?B?dElmSzVGV2tQNjlUODlrMSt2R2tnSkZEK2NTYVdIWTNzMG45V1FndmU1Ukxz?=
 =?utf-8?B?dFIwN0NGSFl0VXlCQjBVTTlLaUpDQmZhUHVReW1OeUEvNlpERmQvSFVhc29a?=
 =?utf-8?B?S1BmNHlSK0U3Z0hqNGRwN2l5Wmd1VlZIMlJFRVFYZlF4T0JESGR3Y0x4ZUZ2?=
 =?utf-8?B?WmsxdHhGdTdLdFFQaVU1QmpGSTJuY3pzU3JzY2lSanQ5c2pBbHVjN1QzYlpp?=
 =?utf-8?B?Z1IvWVkvZWtvK25mZmI0bnZwS3p0VzNXWE5DRTJzRXp4akcwMFV4NDJaaEg3?=
 =?utf-8?B?S3FXazczVzlaOXpqbG1FaW9xaXlOREpVTHpmR09rdFM3NWtXVVdFVllSbW9a?=
 =?utf-8?B?TDZNV2Y3Y2p5cjNsNDNlazBDbWhOWk82SGc3TGU5OFUwbERUN0grdWZLMFFl?=
 =?utf-8?B?cGR1c3lmbkR1ZG5CcjZvZFJWaTZFWlNtWERaTFlGQW1NeUVoRTlKcEtPWEpP?=
 =?utf-8?B?ZGVTaS9seElnanVVTXAvRFExQmExekYxSXdIQktNYUhhZnlUMEp1Lzl5cG1H?=
 =?utf-8?B?WkgvVzQ1NC96MC9lcXFHbW4zYTJKbEU5eVc4dS9oUTN5dWVrY201S0FXOWhE?=
 =?utf-8?B?em5uWGxva3k0UEtEZENYOFk5WGhoeFNHanpzVitxZmJReEF5djQxUTFpeTNW?=
 =?utf-8?B?eW04SWp4NWJkRVNhdVFxVFB3cC9tRURtTkJwQlJPSkNBNEZwSk42TVBLejR3?=
 =?utf-8?B?aVNJdVp3RkwwWWY3V2NaU0QxZzc1bS9mMEZORmZYRDhCemE2dStyWC9CZllC?=
 =?utf-8?B?aStLL283ZzZtODZ1L3VVQXV6LzlvNUFHMWNMazlLVWZTSU9hN1BDckhtN3Zy?=
 =?utf-8?B?N01aanNReVZzMnVDVjhXUkJmZHNIR0p3bTJlN0ZKQjRXVUVzY3AyVlEwUWJ5?=
 =?utf-8?B?TVZJeElrckw5ZHMwSFBNSFdxSkdwT3A3bDJpY1Z6UUxzenBncTJxSEEvMnl6?=
 =?utf-8?B?em54blJjQjY1cDI1dlpyZ2R1eUk5SlNnMzFUTHh4OUV2QmptS29tdnFEaGNN?=
 =?utf-8?B?aWJBbkhqazltWUVpYWJ1VDZybzh3bW8xaWpETElFLzJWcXprd2dsUGExWFQ3?=
 =?utf-8?B?Z0twYXJoZHpMZHMwYkRBQjExanJkQmFyZ0Y3UWlmazBCMlNsdDNQQS83cmhy?=
 =?utf-8?B?MHdCa1dWa0Y3WEh4QVlFT2FvUjhVMEp1cURZejhQR2FKZWFCTU1RQzY0WCtF?=
 =?utf-8?B?dGJJZlBRRXlVUzkycnNLbWZGQ1BCUHRML2N1aUlScHpBTzZ1alpUYnFFMDND?=
 =?utf-8?B?OHdTN1RQNU1JV1l4LzB2YXhONG5aaTZyeDJCUnBJdGZPQ1NLTW9xNGdnckpj?=
 =?utf-8?B?emw0WUF5ajdrRTV2Z1d1eGtZQ0NEVnE1N2ZyT09tc1dYY0c5RzhERFFCT2Va?=
 =?utf-8?B?Q2ZHOTQweGFmeDFnUUtIcUhua1pPNFB1bmI0eFhac3kydVpKQ1NUK0hrdDFB?=
 =?utf-8?B?SFdYR3RGbmNqMXo3N3lwNnE5VFQvdDJhRzFKMC9HSFBodE1nZVc4NVFlWlJi?=
 =?utf-8?B?MDNHaGFNNDdLUmZrY1FkVkMxbzh0YTJJbUFxd290K20rdDJ5bFNPQUxZcUtX?=
 =?utf-8?B?aks0SEEzV3FSMkhMTmtoalVYbFJrWkdWcHlrdEE1MmFZNk9uK3QvT0tBcTh2?=
 =?utf-8?B?RVJIOVVsNndyb1RWWkt1ZWVGMjUraUlFdkZLelVIMWlGaWwzTFc2Nmx0a2o5?=
 =?utf-8?B?YlorS1hpaHN0RHJUczljdjlMK0pKOXRBb1Izc3hPbGpKNFZPY2cyRlMwektm?=
 =?utf-8?B?MkV1SU12MEZBcFhpOUROa2hPNU00VHU3VWh2RS9kbmJYbU9DZTZqUWN4SGg0?=
 =?utf-8?B?WkJQN0ZYdFdKY1ZoSVgrY1lZYzdGc21MUlRMNUdqNG1YZk1rODY5REdLVXRH?=
 =?utf-8?B?K2tYTlNpK2ZsaVRyS0h3L3pNQmlnSC9xUzdscXZ5ODZxSy9XSzQ0MnVuWncy?=
 =?utf-8?B?MVNPclBCZXZuZmtoSjZVSlRkTWliYVBQQ3ZoOWxyVlJMUTBpeTNXK0drcm5B?=
 =?utf-8?B?R1QwUDVqYXRhZm9iRnBHd1ErMDVNeGh4OWhxMmR3bWpsR2JYQ2xKNHA1aGhC?=
 =?utf-8?B?OVhmV3h0bkIzVC9vbkQrTkhDem12TzhVMGxLRjB3TU9UaUpvS1lESitwVHlT?=
 =?utf-8?B?QkIxRmxjRkpHK253UHBlY3RPUkpieGdMQWkzZVZpN0hpQWt3K3BJanNWOEx4?=
 =?utf-8?B?RUdmOXcyUnFmeVFsWWhDTGpqdGdzbXc4anJoWnAvdlV6Wk9zcjgzZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8023460d-6ffe-496c-ee64-08dec177545f
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 13:52:19.6658
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /Wwr1IFMYKUxU3z+PaaHmc9uurz4xmgeETyyLhVs9ZhebZnl/uf4nlRdYDjCrGQ/rP6BHR+cnhE1BA1Su+RwUg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR03MB8161
X-purgate-ID: tlsNG-bad1c0/1780494744-4216DA53-D72DBD63/0/0
X-purgate-type: clean
X-purgate-size: 1264

On Wed, Jun 03, 2026 at 10:54:38AM +0200, Jan Beulich wrote:
> On 03.06.2026 10:53, Jan Beulich wrote:
> > On 01.06.2026 17:43, Roger Pau Monne wrote:
> >> --- a/xen/common/numa.c
> >> +++ b/xen/common/numa.c
> >> @@ -396,7 +396,13 @@ static int __init populate_memnodemap(const struct node *nodes,
> >>  
> >>      for ( i = 0; i < numnodes; i++ )
> >>      {
> >> -        unsigned long spdx = paddr_to_pdx(nodes[i].start);
> >> +        /*
> >> +         * Round down start address: if start is not aligned to the memnodemap
> >> +         * chunk size the tail remainder might not be added.  Overlaps created
> >> +         * by rounding will fall into the same NUMA region.
> >> +         */
> >> +        unsigned long spdx = ROUNDDOWN(paddr_to_pdx(nodes[i].start),
> >> +                                       1UL << shift);
> > 
> > Imo this rounding would better be done ...
> > 
> >>          unsigned long epdx = paddr_to_pdx(nodes[i].end - 1);
> >>  
> >>          if ( spdx > epdx )
> > 
> > ... only after this check (and then perhaps also after the subsequent if()).
> 
> Oh, and: With that adjustment
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Fair enough, I will adjust the rounding placement.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 13:54:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 13:54:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326414.1591856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUm3Q-0000FF-OI; Wed, 03 Jun 2026 13:54:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326414.1591856; Wed, 03 Jun 2026 13:54: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 1wUm3Q-0000F8-Ld; Wed, 03 Jun 2026 13:54:44 +0000
Received: by outflank-mailman (input) for mailman id 1326414;
 Wed, 03 Jun 2026 13:54:43 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUm3O-0000Em-Sn
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 13:54:42 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUm3O-003VMK-8l
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:54:42 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a203210-2eae-0a2a0a5409dd-0a2a4506ca44-36
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:54:42 +0200
Received: from [209.85.221.42] (helo=mail-wr1-f42.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a203221-7371-0a2a45060019-d155dd2ad18f-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:54:41 +0200
Received: by mail-wr1-f42.google.com with SMTP id
 ffacd0b85a97d-46019b190b6so1772883f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 06: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
 ffacd0b85a97d-4601f35eff2sm7477013f8f.31.2026.06.03.06.54.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780494881; x=1781099681; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=63SsAZlzaeTgiWToXEZ0aZXJJ2mJhkL2JKLP+Q/VDbk=;
        b=UXf2lrrnIvTMO7JwqlVPLDb15Cuhoe8iBws6McOYePooGqWNGapyen3x9t256mMiT0
         RK543XTizJZGEvwIDPFixNJaF6FAY48BvpG1rTn26BbK1tQFKbjENSZfLOxxgUy4rBUg
         cbh8OU01V/ztmomF9uVNE9O+DF4F07Wzknhol7nLDPnrF8FHxOveKoSSxourTtTP4y+8
         xKGq0+t8iYum8rL9tXgeCSzBY9CF8W7j3jHGJNzmaBedtCcUsgyYkmHp0UhJz/QRySHP
         Ox92Sy5aFeQoaXMF4hjvGYc5Beog18sRrDqjdaLrKGW/V+iPSF7ISV9pHsDg62TuC74B
         OX/Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780494881; x=1781099681;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=63SsAZlzaeTgiWToXEZ0aZXJJ2mJhkL2JKLP+Q/VDbk=;
        b=XJfxZWZbvPEJDtaPGNH9mdkdsuUJZSPJfE8v/fepzflhWcx7RB2whLMMPv/yCOcw8y
         5whhvQzsd9QeUEZBaoJUnFdFVDqtehzK1Fw2cD5uUz3J+txkCK5tD025M8rzBX+uTQf4
         aye29acOWu2/ucSu+9UxaaYglWO/Rz+Ty5nus3lJbFTw09MWS8kO24l93Z3wB+ql+VMV
         5ksVOykDNJPzNd3/Zjw8e1JkoDswwJ14jz5j6kvLczpkgAG/nwPHGt6cjs1j4jrB53Gb
         y+PUJ4EsobXTcagjnjncFuAG/8I3C0HjHQlkECPTZMuVdpLbPzjJOl4JUEJsoLNpvzlH
         sNfg==
X-Forwarded-Encrypted: i=1; AFNElJ+EEXCkMaYGCCFbuE6OZG3V2Xj7Wbo1pAtF/m7XtUjg3mu2EHCk8WNxCvJZf4F2y+PrtGQxYhPPIns=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzvC/zvmeKv45WMLd5H4emQVhfcS6WecZqkPpyTdbniZdAkKH9w
	L90/SqdnD6IYetgjUgKIAHFvJysd/25Yzk/lXXBa5T0CAb2pyIdUi0sYaTIX5OeXDA==
X-Gm-Gg: Acq92OEcChd+Wg665HJM/MxeIgyWMTTlJyH2JcRM4JvEZqazuiuYkO4Ud3+g7pX/9Eg
	KGpx7SxF7GwnNrIZXrSCsOoA0P3p7E/w818lsdzf4dCwc333jCHp2FT3PMgA8/JNd159MZQvouf
	WPBIOsdhlkV2g0LLnhtT76ZRFLqAW43Agc2hPS39XP1Arn+EeBhAVfE2aZoo2eIk/n/XJskMbf0
	IEuVKCzqWjNb+OPzF2WYBVoNEkHfrQmmeDVRpQhdmUJPDANLPFTOOhzIPkcM3xc3Vx5wbMZj/gu
	PHzIBwyg53q2leAfqjE3sl1qkjewyWz59YKnKHlRAvv0/o0b67q7W3ceSCThgivhxHDRviKfYWS
	lS+w1p1pO/UdqjS6N3o9x8YAgzWodL9fBEtOQw1IzxKoA/14therE0Q43cL0j5PLjnUaSEAqCLS
	eL8EQ3Xqn2BMsnCKyiHxXaAKwak8annwfeaaz21xS663GZM59j0+3fHMJ1oyfFN+3ClJ9ebc6/D
	caD+Vmg4no5/zo1LKJ0J82fLzrdM6TtdsON
X-Received: by 2002:a5d:5c89:0:b0:45e:e95c:8106 with SMTP id ffacd0b85a97d-460218e9170mr5275856f8f.13.1780494881501;
        Wed, 03 Jun 2026 06:54:41 -0700 (PDT)
Message-ID: <75ee595a-6443-4b3f-827d-2dc4ac60866f@suse.com>
Date: Wed, 3 Jun 2026 15:54:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 4/5] tests/numa: add unit tests for NUMA setup
 logic
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Anthony PERARD <anthony.perard@vates.tech>, xen-devel@lists.xenproject.org
References: <20260601154332.30797-1-roger.pau@citrix.com>
 <20260601154332.30797-5-roger.pau@citrix.com>
 <2b1df2c6-ccbb-402c-b65a-7f3beefdeb0d@suse.com>
 <aiAwDo3EWi1oghm2@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: <aiAwDo3EWi1oghm2@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1780494881-8DD80D75-7632862A/0/0
X-purgate-type: clean
X-purgate-size: 826

On 03.06.2026 15:45, Roger Pau MonnÃ© wrote:
> On Wed, Jun 03, 2026 at 10:38:52AM +0200, Jan Beulich wrote:
>> On 01.06.2026 17:43, Roger Pau Monne wrote:
>>> --- /dev/null
>>> +++ b/tools/tests/numa/.gitignore
>>> @@ -0,0 +1,2 @@
>>> +/numa.h
>>> +/test-numa
>>
>> Why the leading slashes?
> 
> This is the format of the .gitignore that we use in the pdx, numa and
> rengeset testing.  The slashes denote that the pattern is relative to
> the particular .gitignore itself, but won't match any level below the
> .gitignore.

Hmm, before replying I checked a few other .gitignore files under tests/,
and none had leading slashes. For the purposes here either way is likely
fine, but really we'd better be consistent overall. (Which isn't a request
for you to change or do anything, merely a remark.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:00:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:00:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326427.1591865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUm8s-0002LG-Da; Wed, 03 Jun 2026 14:00:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326427.1591865; Wed, 03 Jun 2026 14: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 1wUm8s-0002L9-Ae; Wed, 03 Jun 2026 14:00:22 +0000
Received: by outflank-mailman (input) for mailman id 1326427;
 Wed, 03 Jun 2026 14:00:21 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wUm8r-0002Ky-1Y
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:00:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUm8q-00CE4l-Cz
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:00:20 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a203374-bab6-0a2a0a5309dd-0a2a4506bdbc-2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:00:20 +0200
Received: from [52.101.56.38]
 (helo=BN1PR04CU002.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a203372-7371-0a2a45060019-346538266dd2-4
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:00:19 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by MW4PR03MB7009.namprd03.prod.outlook.com (2603:10b6:303:1a4::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 14:00:15 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 14:00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=R/TtxUJqt6nAB9wy8pXQ7vhQQa66+UJyp3EqajF3LGrF2DOCgKZ7kfaOwmqg+Kcxl0H3dhL1YH0njcnqADQ7L6UQLRcmYUe0vHceA8reR4E5Vdarsnz/svmrMqK7umxxd+OIyBIfCIICGDjyzK8x89psHRVB3GPc3fGzV0kIUaXRimNX81uQz/AC7VpzXWbYbG/vFXzkHg4Rz1oBLHVw/xsUq8thBxpZqiCu/QNZe5gjD60YNRFtbzf9EUbw89pMfJ9Fo/NM9gfTsloWu7syhnmo2foLe5BrbHX9Wl2lU+nw7TI84I4ayjMRx8DwgIxe7LXp4hB1dTZTCC1fn421lg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=k62I5ao73ymlldYtGCt4PHrdalAsZ/sMJ96cXPD2vk8=;
 b=abaSLdz4fObdyq1uYYhh3K4GaHilDahLqI5oWAggmVt0NUHfLCy0Eh+yiJwMmUrKlzIclsPIUXJYNSD6W4s5sEP2SoTA5aVd4UfBWA/W8DS+Arisi/thT5Kodwil7rSgvMfTT23781fcZS6J0PDCxYpQT+B3VomuLEXDUn2c0cqzzrwhD0201DYYKnIB4T2NObRMCJAz6mnIfmI9/AWL75wYLtiu0GTWZ/2wrtQ0RPOQfTNGPSMcfvCCWpjyTNcrFLHkCmIADfAKl+q9BIH9Zb26dhdkCyczLLW+Ii/V9GLeeDrBbS7PPpbE8SfopsByO4kHJ6VhYqf8CgEYnsobNw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=k62I5ao73ymlldYtGCt4PHrdalAsZ/sMJ96cXPD2vk8=;
 b=jnXq8stVwg+/XnmkYzdOnqukYAqrFv+MqzH+XXYeK4oW/Iey9R3Pxenx7dmZ8WrxWgfgXKTSyJvw6sglmGS0fxTIDd0HRzxWS3+MSwp1A4pZqQl5M7YOTiCbrpUULzX7RCrZb5C3kdjb7N9tuxVFL8DMbsT5LJUTY6o6RrNuo0o=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <a53a9274-f52f-410a-8597-ff5a0fbeabbd@citrix.com>
Date: Wed, 3 Jun 2026 15:00:11 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Frediano Ziglio <frediano.ziglio@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [PATCH v4 12/16] xen: implement new foreign copy hypercall
To: Jan Beulich <jbeulich@suse.com>, Frediano Ziglio <freddy77@gmail.com>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
 <20260603130603.776452-13-frediano.ziglio@cloud.com>
 <8e71b997-a695-41bd-bfec-fac2740db142@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: <8e71b997-a695-41bd-bfec-fac2740db142@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0499.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1ab::18) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|MW4PR03MB7009:EE_
X-MS-Office365-Filtering-Correlation-Id: aa0f003b-49c3-49c3-549f-08dec1786fdb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|22082099003|18002099003|11063799006|4143699003|56012099006;
X-Microsoft-Antispam-Message-Info:
	BOkKEHilk4XkHwXdxGEKoQ5hD5BpsfxXxLRAlS8PqZgAzfEdHbZjX6UyZXqtC8x1M4umVRl4tS9nrvJflcDZEuQytFF+3WWMcUuuq1QNbsFHA2/OfJ/Kx/2U/uMFWVo743cWCeZtYVXKG2YUpLp0DexwiNtvJwzpnSrYFzheubJ/tbZjCO0ihSfU+NHUFoksW4IAVaS1HVe/TvUsrucsvzjXAxOwgByKFz0nujLCCn3Wcxst4+pPvFtfLwolNK2dhxTzCJdqb2Dojt1xuSOQEiPydzyPQhX+O/i6FkgU8WRmX+SzlUVyRZ8wONQOTVjsYg3oykYf/v9K2P1U4ZS1PU6WokcrQCLDEmif4hUZe22IyDYJ6OtdouOzdGsBwnCybYXpPlCLXVgl1QfaY3uXnmhOa/0XrTK/MfkA8xpduVC50WU7BquDgimCMdcJN+au9mnEBW5gNPmKSdCaL3qPA7B6qbx8NKMuc3UZCHXZVMrGGYCFhBcetOIE9SLrYXGVb7/egvzreDXAAe7g81MdxDgBWJoSoaP+UhQuBDxhZW7VKv1LaGyXdO4d4XkUPeByuPCxfjURcjcnMFcsuyT2R3i29aMvpZ1ZnJdYsgLWkaO/YECxLaAdg6ojW6v08HoPIUfNWdp8sPV/aAUd8DULCN+R8QIm3cE3CwbHS9H6+pOFdZpkJBJl3I11bgW8p1XQ
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(22082099003)(18002099003)(11063799006)(4143699003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VmRpeEpvQ1JzV1NXZmNja1lZUVZ6dXBZemN6RTdqYkt3RW5McTJaUkM3SkZi?=
 =?utf-8?B?Y1Iwc3dxRkc5SVkxRU53d1pXMFAzejlwb1RXaXlIRmlJTC9QZDRBSE5LTDFI?=
 =?utf-8?B?c2t5Q2U1eUN0SVBkOTJSN2FidlNFZDJUdmNtQm83My83bXFYZ2p1RjNEVXg5?=
 =?utf-8?B?cThnOFdVSDlrSFVjeUdLSnB2QXRwR0xqV2UwRUVDRE9HOU5xcTRmY2R4ZFl1?=
 =?utf-8?B?T2JVL2hxWTBiMmhLR093VWQzbzAzUXQzdFpoVDZXVUNLNHRuRkVJUjF2QnBs?=
 =?utf-8?B?VGo5cFZIN3NoU1VjL1pnTk03TUJEeGhIZjVWa1hyNkI5TE4rN2czL1hZcURT?=
 =?utf-8?B?cXZBSnBJeCtGQis5TDhHMVBhNW1MYkwzNFQ0MUpQWUs1QWE0V09LeTlBeXFm?=
 =?utf-8?B?L0NpL1VWU3ZzS3hVbkZCNGxzSjdLb1pCUXVGbngzVDdrcXhiYTNZSks5cCs1?=
 =?utf-8?B?WGlXcklWbTJjVFFEcnNObitxT09STDVVWnRaVmRhdFh2TGZzUlJ3L1lIcCtU?=
 =?utf-8?B?SVB1NEJuRGJsazYxOVVEUkhCUE1jRWxiZFlYSmlqNC9VK0NRT2tzclZ0QlAv?=
 =?utf-8?B?UURCYjVuV1lYM2s3V1ZqbVBOQTR3ZkUxL0RlbWdEYWk3azZDM0RiY0VXYjE1?=
 =?utf-8?B?ZXprMVVsUVZuaVJTT1Q0UWV1V2hEd2tJNHpsOGs4SXR3UDhvRi90YmxScHZo?=
 =?utf-8?B?T01SVXVxTUROQTk5U1I0MDlTNk1HTGVIamNRZ0Mvc2NqMDNzL1pUZnBVR2xY?=
 =?utf-8?B?aWV1TlVZMWxmMUxud2gycWpKQ0pyQWg5QjRWb0o2OVkwUHBGRWl2b1BYNlln?=
 =?utf-8?B?NlNhcndnSUZra0Y1NHc3NDBZUW9lN2FBbEUrMGZsSGp1UzdXU0dpVlY3Wnd6?=
 =?utf-8?B?RUNDWVpCN3hIU040TjlwUE5tODMrSWltT0NicGZCZ2R3QTl0dmV2WklXRnlk?=
 =?utf-8?B?Qkhockx4MjNOOERQK2hveUU1ZWhaeVJnMlNWd21mRjgxVEd0ZzRIUFo3OEJS?=
 =?utf-8?B?c0JXbDFoS0N4RTNvQXlkRDNpTCtoUFZrS1VaR0VwQkRLR1l5cDV4L3ROYVlB?=
 =?utf-8?B?bUh0SnBsa3Nnb1B3QVBwV0pjY295VUc3KzRCQkpvU2c1dWV3S2ViRFNyTUNy?=
 =?utf-8?B?bDB0QVoyNHJ2cklxSzRKeEFWNFloMkZWY3h0UDhRUmlxSWN6UDl6ZlFxWUxk?=
 =?utf-8?B?NUNCM1o1R1BQTEhRNUlUVlRGMEFnSVBQMlhtSlZya1pRQWFkYXRmRCtWS1JJ?=
 =?utf-8?B?VmVpclZ6QXp6bzdUT2ZwWWFCZWdmSUVONVBURGdIUFlaWXlZVmc5TWVDMGJw?=
 =?utf-8?B?TElNL2VhYzlObWNNU3R1enNQU1Z5RWtyZ21UZ0RyUGlYL0dMWWxJMDR6MjRv?=
 =?utf-8?B?alY0Y2J2L0plTHpSNXlwODVBQkdnUERkNGZSVWdpYXFvblZ2bGtNR3BBZ3J3?=
 =?utf-8?B?QTBod2ZLaHB4L1hHMTBtSnQrWkl0b0dyU0RCYzRCcmtRTHZQcys0T2xRUGFG?=
 =?utf-8?B?YmJrdmxVM0k2UE5FQU9uS2IwT3poRVNuSzV1VEFvYjhVSHUvSm92N1dWRUJB?=
 =?utf-8?B?WUx6bW5OempjbVRObkFuRVdud2piVWRUVWt6K1R5UmFwakhDTVY4bDdjMEd1?=
 =?utf-8?B?VGRScWZlME1oMWhoN3E4T2FvWFhkc3BXZG4yYk40Y25yaVBzajJoT2hIV3M2?=
 =?utf-8?B?WnV5RytpWHU0a0ZBRERuQ01qWld1akNpOGxBSFFTdDBkRXp0WGt4L1JsYUxH?=
 =?utf-8?B?SUxhY1lXVGVYMVgrNlJXYmQxOW5RMms1bjYyTVBWenJIVCt1RWxqVEdWOUtZ?=
 =?utf-8?B?b0FBbEJ3N2FSNzFESHJHeFBhcnlaNUc3TDByQzdncEw3Rk5ObWtWbERpdGty?=
 =?utf-8?B?REozRDdZT3JaUWV0R2pxcjFrL0luRmI3YnpKOE9nZ3VTSkcwVTRYWmhSMFdn?=
 =?utf-8?B?ZTFLSHA5NVJGZ1ZOaFFVRHdnQjMvN0JzUEhSZWxNOVhTSTlBclYzaWZ5NjdF?=
 =?utf-8?B?ZTQwMTE3am9sZ0FINnlJcXNhRmdiQmJyeHJsamVQejR4ZFNtZHJnR2FNZzJ0?=
 =?utf-8?B?cHBIN3VSeHJJZDY3QUZMaVU1eEZ0NG1wWFAyZ04wU1YwcWhwWkI5aWF5VDBs?=
 =?utf-8?B?aG5vdElQOXpqSjlObjFiakc3RXcvdU1iVGtQYmx1ZEdsdlBILytyYVdIb0JG?=
 =?utf-8?B?dTE0NStkbTNEZDNvUnkvQmtYSTlrbVRNaUFEWEZqcGJ2c3ZjWStXU2NVRDJM?=
 =?utf-8?B?QjhCbXpYajdEMEpUbVhFeGRJYlFGeG1UdC9wLzE2Tkc1Rld2c1FoWUhuRkRz?=
 =?utf-8?B?TTdSbkFhL3BWNnpPejdLc1dibnNaTmo1R2N6OWx4VzlOQjcyMHoxdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aa0f003b-49c3-49c3-549f-08dec1786fdb
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 14:00:15.1833
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AzdhCcoUvVWvMV/4ixfrxIovioqTVjcopyVeTn5gPghn97hqSDfEFjikMWAYbLLwntCLxYYFvlnt+ffUlmohWt48qp28JH9disCJZ4Anq0s=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB7009
X-purgate-ID: tlsNG-16d1c6/1780495220-84F63D75-2A8DB060/0/0
X-purgate-type: clean
X-purgate-size: 1631

On 03/06/2026 2:39 pm, Jan Beulich wrote:
> On 03.06.2026 15:05, Frediano Ziglio wrote:
>> +    if ( rc )
>> +        return rc;
>> +
>> +    /*
>> +     * Check we are allowed to map and access these foreign pages.
>> +     */
>> +    rc = xsm_map_gmfn_foreign(XSM_TARGET, currd, d);
>> +    if ( rc )
>> +        goto out;
>> +
>> +    do {
>> +        /*
>> +         * Arbitrary size.  Not too much stack space, and a reasonable stride
>> +         * for continuation checks.
>> +         */
>> +        xen_pfn_t gfn_list[32];
>> +        unsigned int todo = MIN(ARRAY_SIZE(gfn_list), copy.nr_frames);
>> +
>> +        rc = -EFAULT;
>> +        if ( copy_from_guest(gfn_list, copy.frame_list, todo) )
>> +            goto out;
>> +
>> +        for ( unsigned i = 0; i < todo; i++ )
>> +        {
>> +            struct page_info *foreign_page;
>> +            void *foreign;
>> +            p2m_type_t p2mt;
>> +
>> +            foreign_page = get_page_from_gfn(d, gfn_list[i], &p2mt, P2M_ALLOC);
>> +
>> +            if ( unlikely(p2mt != p2m_ram_rw
>> +#ifdef CONFIG_X86
>> +                 && p2mt != p2m_ram_logdirty
>> +#endif
>> +                 ) && foreign_page )
> This is ugly formatting wise, and the use of unlikely() isn't very likely
> to have the effect you intend: As long as the compiler can't translate the
> && expression to something involving only a single conditional branch,
> which of the branches is it that is unlikely to be taken?

Irrespective of what the compiler thinks or may do, Eclair will hard
reject it because unlikely() is a macro.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:04:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:04:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326434.1591873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmCS-0002rH-Rs; Wed, 03 Jun 2026 14:04:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326434.1591873; Wed, 03 Jun 2026 14: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 1wUmCS-0002rA-PJ; Wed, 03 Jun 2026 14:04:04 +0000
Received: by outflank-mailman (input) for mailman id 1326434;
 Wed, 03 Jun 2026 14:04:03 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wUmCR-0002r2-7j
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:04:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmCQ-00467Z-E5
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:04:02 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a20343a-5cb7-0a2a0a5109dd-0a2a4507d266-44
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:04:01 +0200
Received: from [40.93.194.55]
 (helo=SN4PR0501CU005.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a203450-229c-0a2a45070019-285dc237d65a-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:04:01 +0200
Received: from SJ0PR13CA0143.namprd13.prod.outlook.com (2603:10b6:a03:2c6::28)
 by IA1PR12MB6577.namprd12.prod.outlook.com (2603:10b6:208:3a3::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 14:03:55 +0000
Received: from BY1PEPF0001AE19.namprd04.prod.outlook.com
 (2603:10b6:a03:2c6:cafe::2a) by SJ0PR13CA0143.outlook.office365.com
 (2603:10b6:a03:2c6::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Wed, 3
 Jun 2026 14:03:54 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 BY1PEPF0001AE19.mail.protection.outlook.com (10.167.242.101) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Wed, 3 Jun 2026 14:03:54 +0000
Received: from Satlexmb09.amd.com (10.181.42.218) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Wed, 3 Jun
 2026 09:03:53 -0500
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb09.amd.com
 (10.181.42.218) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Wed, 3 Jun
 2026 07:03:53 -0700
Received: from [172.18.181.126] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Wed, 3 Jun 2026 09:03: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=EHIl9oYmS4DKY/4SzFtBhlMM8JQT47zLP+qnyFNUETUjZ6hDLqKsI0CLfpuDUC1DwYW8ldL/XgK4Bd5T6HR+PTshDxiF98Oqt39+ia8s1WG3zKJxv261WYijVrA8XaHkUEbH3Ra2trAjA9QjBX5C8ZT5IcDYP8yx3Sk8Zqa3bUmG6BXUwCgjEoBZ1H/cUnyb+6L5NwjtHL+g4vd/d1e/lBfkoH3K2aIOPaPA7o5j4rcmMwr2hgiMUJDNdqUjWPCAhUPzmjLKdVBMLDfu49POfMXnf2QACpkXkRnwhVQH91PFEYPODAAVLqcV6Uur0+RoPsA98ZdJNyHEMBY8SyLcxA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GtUQ7dI8GYYjwXRow9TBh9EOBLUJfW3qGKPhhNc4IXk=;
 b=jgi4sPUdI04BMDVV4Z2sXfo8CBUggsSXj04MFD+23oL6kNfI+orwHa67L73uLsfhjYTUQp+5WZyP2vAQig+O8M1xiVB+B0p3VU32o262u1DEoMWbqu7DOmdkim1BLP2t9a1AkUMpvLQ0c+s0idbNJIAzFoWtU3MA791qKO/mhDegOrWSu7QmBoV5qdqAqmTgp9243qQbSIPmvpIjH+fq45D7MuX6JakeSoc1XxRvlbBlE5hGILbkD+uMLiX5K68xh909MuEm1u6kfTMuAWrREKYdeTTjlyjCYVQuuqbAC+L9PlX+UNGpwVIOIMsBnEPHm5x4FVOcTFL382q1zIdjNA==
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=GtUQ7dI8GYYjwXRow9TBh9EOBLUJfW3qGKPhhNc4IXk=;
 b=vUFQu1yJ6a/mtxxtnP1G6QTMzbJnM7z/GPz5LvBN5kyMVDx9dX11jBV/bNsabe4p7N+0e1p73Tu+LzOsdV0BAsHZgB9kR3TShr4UqH9D9eHLiHfJ/GPXLo4DUpIG4FxbJWWAE1rJBQG4kT4fM5rB5YLaJvUjAZf5kjWiZNJPh+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=satlexmb08.amd.com; pr=C
Message-ID: <cf275fef-27fb-4d73-bbc8-9a75c1836608@amd.com>
Date: Wed, 3 Jun 2026 10:03:53 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/x86: Change stub page freeing to fix smt=0
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>, Teddy Astie <teddy.astie@vates.tech>
References: <20260526203114.40882-1-jason.andryuk@amd.com>
 <ah26nl95MgqhPPAi@macbook.local>
 <5cdfca65-50f8-487a-a146-86e1a68f459c@amd.com>
 <ah5_0vvipY2Wch-x@macbook.local>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <ah5_0vvipY2Wch-x@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: BY1PEPF0001AE19:EE_|IA1PR12MB6577:EE_
X-MS-Office365-Filtering-Correlation-Id: bcab0520-a2ee-422d-1b9e-08dec178f28d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|82310400026|36860700016|56012099006|5023799004|4143699003|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	6fw9MBgJdW0UpQw9BhcCsXRqq/uCd2W92gLZm5AG3RENULYG8m4FB3/KfOs15n576wO75AsNu6AvNLa7voNFpC7uyG3BUmy1ZTJL9mj/aC1dC1C1mFzTuqAt/Mq85EcqXJBxRpVcxFyGMPbM/WT0xjDCXMUF0NKFmoT1V26Y6Iob7o10QPAj/D8RAqcggqLZP9A6/nAhUyNw+FIhkvvJLYGu8jYURlVNNnFbcoGHT8EbhT+qyTsf4CV+BXnIdWJzEG0DV5nJ0xNte2rbWUl2OXizKRl2eTFvUU487zkvY5L5cjVGgaQYe1rjKbPd0brnHWB+RH1rMSTRmENH1s4D2sFLvzs5XSl6xoRP5mUu45R+nvCNuJ2H4WDYybMLvscctj/EiUV3sCTeOn13+lN9q7/rSPzmvCcvTjPVcqn3uE1KqBZ6GIT37AmhATz3gaRa50ejlr2hrWDUOBm+8l87Uf8guAfRTuT9gPM+bM/fuOBsGkuy5nXz+ARLoxUu5N3GWP3GMhgZiODSQSt1jI/Jn/xnSKsF2W7lu+H+79xbA+60YBwBma+loXRoVkCdqUu8hcsK7XwDdc+QiJPh286YilNKCUb5r3pe6HK+hjHKPtHixqrOGbNRlJn2w4/HKExRQJr8pXDxiC1aMahaT6VLpKgVyCTewlwCu3PnV3iG6MIeryvjM5peVkizinAKduqFYH6fw5nD3hegRADdqJ8yvc/TX5ZkLCOwGbfSnVkoMXQ=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(82310400026)(36860700016)(56012099006)(5023799004)(4143699003)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	sQROONdT9dtGKQvw6qwUm+1mK2I6ClZ2DPBc9TUHmeOTdegZwhUr76sj1qgxykmSuCcbZ9dD9KtbhZX3D8VDXkVYoLT5PxLPrRww/SRducU7t5FcnH+METBN9Ud5H/QVDA2ZYhR6XJPgM06lE5Hw20VB/GMzeXgTdl7fr+GcdUj/LHnJR6C/WoIVejt2J1v46wC/2/VugXpFx1qwmgoy+HeJjkO+8zVDb8mwbEjAbWD8sb3wFllTM5cjk5xCedrukByQ09RElKQNBLr1S2EieDCQTBeuYgvXeigvl9RY8EI/V9jEo86FB1cj8E9c1rhNWIJKVxytFtaASVukpG66qXGu6xLbqC7JTF6GlxkmnM9Op6VjjKQw2wrD/zIulcGIj0vYuMOdL4A3q42GUFKe/1WzcIvqOZ78zKBP/oNhaVRdOmguMC2JRIRa45oW5uBL
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 14:03:54.2103
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bcab0520-a2ee-422d-1b9e-08dec178f28d
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BY1PEPF0001AE19.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6577
X-purgate-ID: tlsNG-ef75cf/1780495441-2377AC48-23AFE7A6/0/0
X-purgate-type: clean
X-purgate-size: 5546

On 2026-06-02 03:01, Roger Pau MonnÃ© wrote:
> On Mon, Jun 01, 2026 at 05:07:52PM -0400, Jason Andryuk wrote:
>> On 2026-06-01 13:00, Roger Pau MonnÃ© wrote:
>>> On Tue, May 26, 2026 at 04:31:14PM -0400, Jason Andryuk wrote:
>>>> A single stubs page is initialized with 0xcc and re-used, with multiple
>>>> CPUs each using a portion of the shared page.  In cpu_smpboot_free(),
>>>> each stubs area is checked against 0xcc.  When all are set to 0xcc, the
>>>> page is freed.
>>>>
>>>> Booting a system with smt=0, CPU0 is initially setup, allocating the
>>>> stubs page and initializing to 0xcc.  When more CPUs are brought up,
>>>> CPU1 is initialized and then immediately brough offline as it is the
>>>> sibling of CPU0.  Since the page was initially memset with 0xcc,
>>>> cpu_smpboot_free() finds all stubs as 0xcc and frees the page.
>>>> However, the page is still assigned to CPU0 and continues to be assigned
>>>> to other CPUs.
>>>>
>>>> Meanwhile the page can be reallocated, which can lead to misbehavior.
>>>> The particular instance was the stubs page re-used as a page table which
>>>> later faulted when the entry was all 0xcc.
>>>>
>>>> Change to initializing the page as 0xd6/STUB_BUF_FREE, and initializing
>>>> individual stubs as 0xcc/STUB_BUF_USED.  0xd6 now indicates unused, and
>>>> 0xcc indicates used/assigned.  When freeing a CPU, the stub is set to
>>>> 0xd6, and the page is freed if all stubs are 0xd6.  Initializing with
>>>> STUB_BUF_FREE lets cpu_smpboot_free() a page that was only ever
>>>> partially used.
>>>>
>>>> 0xd6/UDB is a 1 byte invalid opcode, which is similar to the existing
>>>> use of 0xcc.  0xd6 is used to identify bug frames, but the stub addr
>>>> (e.g. 0xffff82d07fffe000) fails the is_active_kernel_text() check.  It
>>>> should be okay to use here.
>>>>
>>>> Fixes: 7a66ac8d1633 ("x86: move syscall trampolines off the stack")
>>>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>>>> ---
>>>> It would be nice to use get_page()/put_page() to let count_info handle
>>>> reference counting, but they require an owning domain.
>>>>
>>>> The listed Fixes introduced the use of 0xcc, but the smt commit may have
>>>> made it more problematic.
>>>> Fixes: d8f974f1a646 ("x86: command line option to avoid use of secondary hyper-threads")
>>>
>>> Speaking with Andrew, we believe it might be easier to simply forego
>>> the freeing of the page, possibly something like:
>>>
>>> diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
>>> index ff05955bae40..62c6cbf4b561 100644
>>> --- a/xen/arch/x86/smpboot.c
>>> +++ b/xen/arch/x86/smpboot.c
>>> @@ -990,19 +990,12 @@ static void cpu_smpboot_free(unsigned int cpu, bool remove)
>>>        {
>>>            mfn_t mfn = _mfn(per_cpu(stubs.mfn, cpu));
>>>            unsigned char *stub_page = map_domain_page(mfn);
>>> -        unsigned int i;
>>>            memset(stub_page + STUB_BUF_CPU_OFFS(cpu), 0xcc, STUB_BUF_SIZE);
>>> -        for ( i = 0; i < STUBS_PER_PAGE; ++i )
>>> -            if ( stub_page[i * STUB_BUF_SIZE] != 0xcc )
>>> -                break;
>>>            unmap_domain_page(stub_page);
>>>            destroy_xen_mappings(per_cpu(stubs.addr, cpu) & PAGE_MASK,
>>>                                 (per_cpu(stubs.addr, cpu) | ~PAGE_MASK) + 1);
>>>            per_cpu(stubs.addr, cpu) = 0;
>>> -        per_cpu(stubs.mfn, cpu) = 0;
>>> -        if ( i == STUBS_PER_PAGE )
>>> -            free_domheap_page(mfn_to_page(mfn));
>>>        }
>>>        if ( IS_ENABLED(CONFIG_PV32) )
> 
> I think I've made an oversight in the code above: if all 32 CPUs
> sharing the same stubs page are offlined, the reference to the stubs
> page is possibly lost (if CPUs are not parked) and a new stubs page
> would be allocated if any of those CPUs is brought back online, thus
> leaking the previous allocation.  The simplest way to solve this would
> be to introduce an array that indexes the stub pages, and replace the
> logic in cpu_smpboot_alloc() that figures out whether stubs.mfn is set
> for adjacent CPUs.

Right, but I thought Andrew's point was that offlining 32 CPUs is 
unrealistic, so don't even bother tracking.  If CPUs are offlined (and 
you somehow keep running), you can leak the page.

>>> (there might be further cleanup possible if the page is not freed, the
>>> above chunk is untested).
>>>
>>> It's a single page shared between 32 CPUs, and offlining 32 adjacent
>>> CPUs seems very unlikely.  IMO the extra complexity of having to deal
>>> with the freeing overshadows the very small memory gain we get from
>>> it.
>>
>> Hi Roger,
>>
>> Yes, I made and tested the same change locally last week.  Well, I retained:
>>       per_cpu(stubs.mfn, cpu) = 0;
>>
>> Maybe it would be good to save the mfn in case the CPU returns?  But I
>> thought per-cpu vars are cleared, so it wouldn't be available anyway?
> 
> Depends on whether the CPUs are parked or not (see park_offline_cpus).
> I think leaving stubs.mfn is fine, in the parked case we avoid part of
> the setup logic by already having the mfn cached (no big deal either
> way).

Right.

>> Also, I was waiting to see if anyone chimed in with other ideas.
> 
> Maybe you could assign the page to dom_xen and then use
> {get,put}_page(), but again it seems overly complicated.

Code-wise this doesn't look bad, but it blows up:

(XEN) d[IDLE]v0 Over-allocation for d[XEN]: 1 > 0

I don't think we should pursue that.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:07:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:07:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326444.1591883 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmFn-0003Vv-CI; Wed, 03 Jun 2026 14:07:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326444.1591883; Wed, 03 Jun 2026 14:07: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 1wUmFn-0003V3-7I; Wed, 03 Jun 2026 14:07:31 +0000
Received: by outflank-mailman (input) for mailman id 1326444;
 Wed, 03 Jun 2026 14:07:30 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wUmFm-0003UY-Ji
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:07:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmFl-0017nw-T6
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:07:29 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a203511-bab6-0a2a0a5309dd-0a2a450c834e-26
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:07:29 +0200
Received: from [40.107.200.8]
 (helo=CH5PR02CU005.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a20351d-62f1-0a2a450c0019-286bc808c716-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:07:26 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by MW4PR03MB6347.namprd03.prod.outlook.com (2603:10b6:303:11e::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.13; Wed, 3 Jun 2026
 14:07:23 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 14:07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=rX+W1x+sb9j9PLI0qUyORYarnSDFrKXVNVLHUHuPOAljcUx/uFo8mBOnCwI6+zSl234XJupSK2AKi8lb4h3CDit89f/0rjMevQx1ScSVK4+ycmF6P0whafIWC30b0WR65eQj0nx3h7NboYpk7qeBKktk51ftJEH7rhTBbNxkptn8bDprfQE0vVCBlHTZeYMh5bMn0c2RreXpNs1/13RzS1suGcc+/sdEEGd2sNjryLT4VJWDZ/8B7h5IDXGhAfSWtmXvUM7bdp1Epr8lSHH0YS1X3l2AiY3juuY4RFBv6Ogd84s0zsJMENH9/69TOxYVEApbZTBwlMW6sB1Jh15FLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CKr6ru4MsD0YxQZPKp1WKVyPj7BVm0CrpkmzwdT7r94=;
 b=Fw3XOrdKm34uw+MQ8Zi87wMwBlj75y8S2CvZ+GT9cupXzE7Xvyq3TiBboh9pPXe88TzdpqXOjVWcXvoWjLSQsApG3chKz5239LOaZN9C7GQZF7KZUCVIshSxDnHK9DpzOIwklle2k4GZsCR8skZea8LGulsZgd0jNS4eHx4mv2yX5SWr4SEJaffx/4cNc0UqKYtLFpUVw16h+tG5ZsIKjU4yqtsx7pujeZGl2L7AluZ+8dcOucDL7/+OSPrSdWQtSkVMm0sUdS6v3Y3rfmkMYXrzZoAv+FdnvhrHqPobnq2ORPb8LbYRmTUFZhltPfStxVVJnPOTfEyiIutKQm7PmA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CKr6ru4MsD0YxQZPKp1WKVyPj7BVm0CrpkmzwdT7r94=;
 b=taBoFk4JkkQShiMCfFhFMKrfhMjYSHdTGn8XZbkDCas40Ct3g8i+xpxpoXggoPlgVjCqrWnnE0d7fikmdeWUnw3YbDBoutYbMaofnlLpL9LU7FKsuw5aOvZzhM37MGd1qzhFwsDfViERegEFfV0YqGUDJF2qFWJiW3KcGdLFVT4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 3 Jun 2026 16:07:19 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH for-4.22 4/5] tests/numa: add unit tests for NUMA setup
 logic
Message-ID: <aiA1F9cBbzqVUQpR@macbook.local>
References: <20260601154332.30797-1-roger.pau@citrix.com>
 <20260601154332.30797-5-roger.pau@citrix.com>
 <2b1df2c6-ccbb-402c-b65a-7f3beefdeb0d@suse.com>
 <aiAwDo3EWi1oghm2@macbook.local>
 <75ee595a-6443-4b3f-827d-2dc4ac60866f@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <75ee595a-6443-4b3f-827d-2dc4ac60866f@suse.com>
X-ClientProxiedBy: MA4P292CA0015.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2d::8) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|MW4PR03MB6347:EE_
X-MS-Office365-Filtering-Correlation-Id: d924804e-8e26-4561-7e4a-08dec1796ee2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|6133799003|11063799006|56012099006|4143699003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	ClhX9lRvRsuTLmnGwFf7/fNGJslzQ7cUilmv7qU9t6a+cA4kVaGNOR2I/psW15RFn9KdEeaGSIDJBqVhDCCHzm0DuqberpVWvu5l35RgMR3E6tFdAS83EqeRXQXeHy5xXK74QYDN2og40KZiq+XcOG5Tt4Ndq5gq4Z4XRiC7/obpR2ZmUzdwGY/yr2xx6mTxWV+JMaPuzJ7Fo/4BM2OCEESGBY5FK8u2rZ2Zj2ST6djXIRWLuwp6rHRFvLtDJrxuxXChQyfbEUU2aYqUBuXEgeiMtMxzUt0CEVvx22USws5TwS+h3H5kZtI9GqGRcGg/wtpYvaEnKIHlVGEz9paDXPgtUv9eSWpljMJrf/p7Akzqh/alsxYZD6xVMIdZekzIzlUBkw6S3ticZdw+xGrgjmdlKwgrZzeXyIR/TSv5Q3MjjQiTQb79QKRzDgODNNLCaOU4mW5z19X7z+xuT3WAn8XNBHMmEB4Mco8P3jEF2EOsEilOs97FAivM0oZRXoNO+IUgTiayF6LBq5utniRm/Y7SmV8nkmQxp9wdPDBt+k4RQCXHGIDq70thX8H/HAn1MSXKo32BA6sxy07aumQfJ1G7zMQePItP0uAJuTIvAog8fJU+8Pyx7HReO+uZyBCZ1jcR1ud/mYl2zO6C0ybFfaYFWNBCINmf4DJRJ1UFVPLlLdggFVfTPf3SMiXBwInp
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(6133799003)(11063799006)(56012099006)(4143699003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eXhsYXNMb3ZLQTQ3ZE9tUEFVVSs3OTIrVGdrQnc1RDZmbkxZY3Z1aGk3enho?=
 =?utf-8?B?SzVmZnczeS9rUHF5dTRPMFBnRC84RDZBbkZZUmkzZFFLaTNtRFhkbXh3M0dI?=
 =?utf-8?B?bnExbFp0M2pTcW5admRmVHQxaFdLK1hPa0dwWmQxdXVYQmZOSm05QkxjMWJs?=
 =?utf-8?B?NXdjdWd5SlE4MlkvV2hKUmF2SzMraHJYRGRSdXFTMGRMQUhMdTFJMXk3ZHNP?=
 =?utf-8?B?Qk5sdWR6KzlnYUpBY21tME1mdSt0aElHR0FVb2JiTWVZcUdtcy81cUJyekFz?=
 =?utf-8?B?TUl6TVViVXFPaVVBUVdrTG42TEttUStQSmJDY0ZtSXpCVHJOTzd4U2ozZ3lk?=
 =?utf-8?B?VlVldG4vbmNhVEFldTYrTm8rY3o3QXozaEdVR3VaSEl0bExHNTVCd1JqeWQ0?=
 =?utf-8?B?Qzl2ZWdlQ3FJZU1mRG1scjY1dEFqWEp4SnZ1Y3hlVXpCaitqSHZQZ29wM2g2?=
 =?utf-8?B?eThFZExsRThKaGdPeXMvQzBIY2M4QTRwdm9PT1dpZmhVREkwOHo3WWI4azRC?=
 =?utf-8?B?YmFHUW4wUmVIOC85cEROdHdud3ZQbGc5OTltK0lrb0I1M3lGa2JwNWNqcEtq?=
 =?utf-8?B?V1AzckxNaVBnL1hubU8zcmFLYnFPdGVndDNmMnZnVnA0MUdud05LakJqMExQ?=
 =?utf-8?B?ZWJEZnJYYlBVRVJwdzB0dDJpa1AyR1RPb0hBMkpscVh3aTZYWlNnRWpuUW9z?=
 =?utf-8?B?QWxvTGtlWk9VazlVVzM3THVObWFMN2FnRHZuNFJqR0RkTjAwVkE0azBvQnR3?=
 =?utf-8?B?Zjk2Vit6UWVRUkpuOXE3QlJtbElmb08vUXoxcHRsazNGVlhqc3l0SFIyTnc5?=
 =?utf-8?B?aVBDYVpWTmpkNFhETEQ0ajhmeDVFR0tWSU5tTEFFTlpmazlyYUVxSmZQc1FN?=
 =?utf-8?B?QlMvRElxblpUYTZ1UmNHMHBBdE1xSDdoWk1xLy9OTFQ1RXBtR2oza3Y3d0N5?=
 =?utf-8?B?OHVhSlBiRmxDYkNyVkVrVHRyTU52R0txRXdtZ3pXeW55RmxtaGZVOHJLSGtO?=
 =?utf-8?B?WkVTUWk3aXhhcGZhZENvNE96Y2FmT1BkblplUmJIS1EreDdKL0ExZzlVZ2FK?=
 =?utf-8?B?ZjRWN1V6eFF3UGhva2dOaldwU1FyQWhNTEkwRkN0T2E4aERnWnNaMDVLTWFI?=
 =?utf-8?B?dlVBTWw0T3NCeWJTOG1oYWFVOWl2UXhrUjFFUHoxNXhFRjYwVS9WZHYxZ1Zn?=
 =?utf-8?B?VWJ3NlBYeENJMkxBUlgyeVVmRmgxU0JwZXpGUkhQU3FtV1NobjJIdXE1RFI4?=
 =?utf-8?B?OERGZ1ErbVRwNi9PMTJoVTMvZk5CK0JJWVdiMUE3cEVPSU5GbmpTeDloREJB?=
 =?utf-8?B?TFJUVUptVHVJUzZxaHgzSVpZMGxJTGpFV3dmVVVSZnBDVWY0NjA3OVF4YVhx?=
 =?utf-8?B?d3RRWlhCZkp0ZlZ1K0pSZFVvRzRqaW91c2FWMDZPMFBoRG9NaXY5Uks1aUxx?=
 =?utf-8?B?VUNiSzM0SWNZNWZ5NHUzODJnTURJMVBaOC9GRFFjbGMvSWF0elR2RVJiUDV0?=
 =?utf-8?B?RlJwUExaZUptOFNtZmdYejNPQnRqZEJjVE8xeHhXSW13Uk41VjFSWUpjUnB6?=
 =?utf-8?B?MG9CNzNCekU2ZTdVa3VCN3VWeW1xQ2pmUm12NVlMcXBnNDA1cmpZYjJQYnRj?=
 =?utf-8?B?Z0MvcGR4TFNBYk96MDVQcG5Oa1FzUjcvSVNGVm5ZTU81aTJIT01hRFJPNjNk?=
 =?utf-8?B?a2w3eUl5QzhBZ2ZUUFJsQ0VWNTFCSFBRNHp5U0ZvZndoelQ0TDNhM29NcEU1?=
 =?utf-8?B?dE42NnozZCs3cXZYTTByTDNSMEo0WHlxZ0o5aDhydDlLUnlTeWlBM2hWMWlR?=
 =?utf-8?B?Mk95dkJzZnJOOWtjZmRtQzlHdFVTQUlEZkFpazVlazZXSUNER3crSjd6QndX?=
 =?utf-8?B?V0RXVnB5WkRXWUtsT1RPRGE2QS93cE5sQWpGS0pYM1NhT0t2ZnVLZVZBbGpx?=
 =?utf-8?B?a1dkK0hraDF2SXhhOUdIeEY5Um9hK2ZzTi9iYUd4Rm9tRXpBeTcvY295Uk93?=
 =?utf-8?B?WDBaLzdRYUQ1NkRydnJxY0lJMVR1enMwMG9ueFFFOW5sNCtPZlIvdnVVejda?=
 =?utf-8?B?d2pEalMyNjArNjlBWEhSTEhMUk5qVjNIWEtqZm9iWlczMElqajdoNjM3S2N3?=
 =?utf-8?B?KzdISzlZZzVoTytGVVhqMzBKdUp6NFhISTdhYVJMZXJBWW1vS2NRTkRKNE5n?=
 =?utf-8?B?YUNLVXRkbTNyUWEwSFFWNkMrM3o4TzU1TkhxK0JHc1NQeWVkZE8yL2NSRllZ?=
 =?utf-8?B?V2o3ZVBVMkRpWWxQSHVMUkpaVGd5RUZtdXMrNm1TMXZ0K1NTVVZDS25HYVFu?=
 =?utf-8?B?Ti9kaUJqQWh3QWVVenlkMExDenNCamN5ZExDL01vUHVUTEEzWENQUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d924804e-8e26-4561-7e4a-08dec1796ee2
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 14:07:23.1296
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: P93Zhx4D7VJshAtvSWoT5GOC+i3czIydPXFvuVTUfpQ4xMPFAbuiaU5CqMrv9jVv5bJH0i8BmA+WZyxvf++oYw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6347
X-purgate-ID: tlsNG-d25034/1780495647-E1360CF5-60712529/0/0
X-purgate-type: clean
X-purgate-size: 1385

On Wed, Jun 03, 2026 at 03:54:39PM +0200, Jan Beulich wrote:
> On 03.06.2026 15:45, Roger Pau MonnÃ© wrote:
> > On Wed, Jun 03, 2026 at 10:38:52AM +0200, Jan Beulich wrote:
> >> On 01.06.2026 17:43, Roger Pau Monne wrote:
> >>> --- /dev/null
> >>> +++ b/tools/tests/numa/.gitignore
> >>> @@ -0,0 +1,2 @@
> >>> +/numa.h
> >>> +/test-numa
> >>
> >> Why the leading slashes?
> > 
> > This is the format of the .gitignore that we use in the pdx, numa and
> > rengeset testing.  The slashes denote that the pattern is relative to
> > the particular .gitignore itself, but won't match any level below the
> > .gitignore.
> 
> Hmm, before replying I checked a few other .gitignore files under tests/,
> and none had leading slashes. For the purposes here either way is likely
> fine, but really we'd better be consistent overall. (Which isn't a request
> for you to change or do anything, merely a remark.)

% cat tools/tests/*/.gitignore
test-cpu-policy
generated
test-domid
test-mem-claim
/numa.h
/test-numa
test-paging-mempool
/pdx.h
/test-pdx-mask
/test-pdx-offset
/list.h
/rangeset.c
/rangeset.h
/test-rangeset
test-resource
test-tsx
test-xenstore

Some have, some doesn't.  Using the slash is IMO more accurate
matching, but I'm not going to adjust the others either unless I have
to modify them for other reasons possibly.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:08:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:08:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326452.1591892 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmGm-0004NC-Oc; Wed, 03 Jun 2026 14:08:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326452.1591892; Wed, 03 Jun 2026 14:08: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 1wUmGm-0004N5-L5; Wed, 03 Jun 2026 14:08:32 +0000
Received: by outflank-mailman (input) for mailman id 1326452;
 Wed, 03 Jun 2026 14:08:31 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dfaggioli@suse.com>) id 1wUmGl-0004Mt-Mr
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:08:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmGl-003Z5w-3U
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:08:31 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dfaggioli@suse.com>)
 id 6a203551-5cb7-0a2a0a5109dd-0a2a4503e37c-36
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:08:30 +0200
Received: from [195.135.223.130] (helo=smtp-out1.suse.de)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dfaggioli@suse.com>)
 id 6a20355e-672d-0a2a45030019-c387df82e342-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:08:30 +0200
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 5DD976A9C2;
 Wed,  3 Jun 2026 14:08: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 0620B779A7;
 Wed,  3 Jun 2026 14:08: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 C8nlOV01IGqgaQAAD6G6ig
 (envelope-from <dfaggioli@suse.com>); Wed, 03 Jun 2026 14:08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=susede1 header.d=suse.com header.i="@suse.com" header.h="From:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Autocrypt"; dkim=pass header.s=susede1 header.d=suse.com header.i="@suse.com" header.h="From:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Autocrypt"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1780495710; 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=XB3Mtov/ypoI1rctFpa2QwTX42EW7mZOP0R/yaOcLec=;
	b=hDokQnvU4+IBu4h1zaFHqSyZByBqZ+l5lFDB/E6zAqeXMAXM7iYTZvSv6mbjqmVdXU4Pvz
	hYSlWCkyeV88o3zX7j3Ho2IoYCa6LoEbsulmlRRWHib8KvEFrypSD9IBtiZNi3XaZdhaJ8
	qyvGFR/t0iRa2uddxJ/W0C8HpHhlRnk=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=hDokQnvU
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1780495710; 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=XB3Mtov/ypoI1rctFpa2QwTX42EW7mZOP0R/yaOcLec=;
	b=hDokQnvU4+IBu4h1zaFHqSyZByBqZ+l5lFDB/E6zAqeXMAXM7iYTZvSv6mbjqmVdXU4Pvz
	hYSlWCkyeV88o3zX7j3Ho2IoYCa6LoEbsulmlRRWHib8KvEFrypSD9IBtiZNi3XaZdhaJ8
	qyvGFR/t0iRa2uddxJ/W0C8HpHhlRnk=
Message-ID: <0b44963bae28d08fcfc14374cfa5e9bcb7c5eaa3.camel@suse.com>
Subject: RTDS: Call for [Co]-Maintainers [was: Re: RTDS scheduler patches]
From: Dario Faggioli <dfaggioli@suse.com>
To: Jan Beulich <jbeulich@suse.com>, Meng Xu <mengxu@cis.upenn.edu>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
 Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
Date: Wed, 03 Jun 2026 16:08:28 +0200
In-Reply-To: <41d236ba-a93d-446a-b29a-449a1c5f8972@suse.com>
References: <41d236ba-a93d-446a-b29a-449a1c5f8972@suse.com>
Autocrypt: addr=dfaggioli@suse.com; prefer-encrypt=mutual;
 keydata=mQINBFcqIZ4BEADwW0E1y+J8FG0kGAA0y5UqenJaGp9B6gpm6aAAVkKYBDreeasOb/LQ7
 OqYHbJpkEjDsEwS9K1/iCTtjSO02Klk0vW4T1rlRbjgtyCevHUwINQhYnwREWOkogeTAcrT+2tq/x
 Sxl/sR73vgLtMSqYXsIY7Pqxbi9CF7irfA8A2gGvToXrQw7C6jlFJa+l1gGYclA9bc7TSJzIzTui9
 z4oA6R8Ygrl8ugf69vd9hxGavqvz4vRARAxFgucPs00Aj0WnUTzRuUAF7VHp4VZ56Z0I2gv0M2YVJ
 YjTw+5YbgjzL92T8xPnyZ8q+DjiCDP+v2h//j3BOHtOWnkBmDFpYjix+JuV5J/Ig9icyMo67WrkTG
 7sK4wI28QLQMdoaZrYVA1mkYTWBCpWNbVAjMCS5vPKQVGh32OGsZ6qSMuGiynwDu5ksIDX16kx74a
 gtF3stSM8BVOYJWaGbmMiMogd0lswYQU6Wx8Z5osMvbFLc+CQnavJqhg/UnqDvZ6TyWir5NJ3Wo+Y
 Qh22bW0zchpWeLrXelH5UxNGK/dM26/7gKzKe8T9SUIxaxpawHcpPBB35W4Xwg94bcSQeS5KN3Swb
 lj+C2FkPu40KZ2gV+STkmxyWbUamQPf0Q5M8ih1cSopOwvsG14i5V8PqFH/JBbJUlrCOD6ZDdBStI
 eTLnuwrxYMjGQARAQABtDVEYXJpbyBGYWdnaW9saSAoY29ycG9yYXRlIGVtYWlsKSA8ZGZhZ2dpb2
 xpQHN1c2UuY29tPokCUgQTAQIAPAIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AWIQRLmyw6PdW
 GvRY+c4sWQniJpbhz7gUCXHiV1gIZAQAKCRAWQniJpbhz7uX6D/oCWVhNZe7PQfLxbGIPVaf2yMQM
 1zlUA62Xegv7dA1me5NbEcbGwJ0NvwcM6DLIxnVTbSMMA5M04flSFmrvjMVO6E8a9y9N+o27WS2sn
 hZUufqj9LUf9KLWS/aRlnyWBGeg0ut9LUfLx874CEuHwJM/rjSzXTNKap2YD8zd9S1JTDZ8gUismo
 d+TTh70r6xzibgZklcupECDgp2iwRUAqoEfj3rTqDFkVyySFH1OiP4NYx5TcivwkUML3UKedzdz3Z
 eANbdV2XpNGGWMoccRlJBgIhHJURm1TNPkXSTzEHzZkNE740ygQhMUu9zM8RoyQ09sR7a/z7EESPb
 4xitPqnbYd0EoLnZOquW2qjnM1xrULNbMATW3bYmWGtpjWpl6VY2caVy9DCgEimvlQLTkj0cAF6Cz
 /ZNj7xvN26ZdOch+ji9dDoPJBzjUfNZwEYsCc4l3wXmBnLZmF8kUZEtEOEECkP7nbNc2r+HUN1Zzs
 +DOmaWjniR7b65qShIDdvI3T/jd1sG59snXGUcIDu2MuARHMY0AiHaZHAAOnUu8317oPgVHepVkff
 i9wLkZtcv++aeU/OGZkgyCcX49wCLmUdgK2z2GJnT4QIKHKzpeVl3vx4bH0uZI6Zvv7qtZbZ+3Bqd
 5c/H1C9LbK/zbJAvu+yOcLQ00VW+SMPVaE1CHRIperQ5RGFyaW8gRmFnZ2lvbGkgKHBlcnNvbmFsI
 GVtYWlsKSA8ZGFyaW8uZmFnZ2lvbGlAbGludXguaXQ+iQJOBBMBCAA4AhsDBQsJCAcCBhUKCQgLAg
 QWAgMBAh4BAheAFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAlx4ldUACgkQFkJ4iaW4c+6Z3g/+N3/
 dMZAjEEnBqhHr28Dg5OoQGxCt209zj50gTGIw09J0Dzg+tPILAC5IZzjGlEuQI4015N3bJpz56N2g
 IjT1B0Rxh+HMd+4wKz/TZ+rUHgwhIfBei9jDzlqD4Z+hSnIpPN3mqQ7as4RdBmC0WhFKY/BB4V/ED
 yZfXzCJAKvysQFIsf3i0DJo1CC8hZK588dyAbB62Qh6ookOhfdTmEapcSHFjfd0osJiHo4+3kJP53
 HxNPvIWyxrbznrfVg6cHJOKKx5yowWYe4cEJcCLYCAy9UjGmTDEl5Rwq8J9kihQpGCtA2ivEcmIpj
 59JeQ5sv1IRcwamSxgylWvJR+Om3nz2Ma3334GdaIaeyb/dR9lyxB2fiBB8V6Avo+oJQniWqXxyJ0
 HhZkRBOTX7LtSzQFOnYKXz2mWRkZpclmztX3BqctB0Z/K1cm2KIcm+MBUqjLZeprfhFS9f3WCYOOS
 SLRvYRVSwXw8ImJYHqWbePQYD8LeAJ7Hs0kqhd/CtUDyUrwtwzzKRs/8wVSRCLHLTZiSZua8N1Tqo
 5M4t6wSeENALB2kFLEmlgApTghCj51kWpTzysL9RgREoKSgdsqwfzaQlZH490H1WIu1zedsdaigeJ
 7G6UIVWjTOwK59s1pEyrtz/gZWJUOJh77MspoF/mUjSXm6W9YAQu0pahk4KdbZKW0M0RhcmlvIEZh
 Z2dpb2xpIChwZXJzb25hbCBlbWFpbCkgPHJhaXN0bGluQGxpbnV4Lml0PokCTgQTAQIAOAIbAwIeA
 QIXgAULCQgHAwUVCgkICwUWAgMBABYhBEubLDo91Ya9Fj5zixZCeImluHPuBQJceJXFAAoJEBZCeI
 mluHPuiZUQAN4FY5DlI11sTYcdG1VyLYgE76mek5ItP0ZblcSF0INr6O9jn3zWEgyr6pFzSIXu81W
 W2o6UJEeb5wJlbte00Oxlgwshg3q1/Zd5MshtAjGGcCvnnffrcyrbyi6cuj/KwvRQFGsaT3getrf5
 LqIuC/HJgd+4k+S3Y2qOjq6qPZLG3I58F/K+SjFFeoX2CJvZEKPuMf51TvrBWQMK7qAf0nCG0noyt
 Zpbm+lCcHdJmoQZozn0e+4ENLduDe8c4Fsi2Fgjvuc250mC8avBidX6M+ONJrJTW2iSiqaLrp7FzS
 5f6SzRS7hKw9USmG7p30PFP+u2eBXfcriaIttlXgRcfQWZhd6c432wcssUlW1ykiqHBeElK0W3XD5
 5RahdJwLnX2ycToXAYp1afOAk8l2WKP1euXxNAN+toXpFRZpJDoebFHVuBKzff5F9yaF6cN65FZrU
 UZeT/6UlQj7aEsRorozZpzJN2f/fa97PSR99+pOAmoAIs52tME4QTNExHCZJFvQTI2GxrFQV8qTfo
 7ZswjXDui84NbUhlYnGH3Qk/iMKWfCGt2GyGpWQFV14u2sstHIKIRIj7EmL2tEoQGaySvN9HAnNfr
 W1Sd/zkzr6Wy+sYTOABgkxOtwb/aVfVVnl1PhMiQfTXTvsX9m6e4ZXTxh+pnJgyx58PG1haeGDTGJ
 etDJEYXJpbyBGYWdnaW9saSAoZ29vZ2xlIElEKSA8cmFpc3RsaW4uZGZAZ21haWwuY29tPokCTgQT
 AQIAOAIbAwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgBYhBEubLDo91Ya9Fj5zixZCeImluHPuBQJce
 JW4AAoJEBZCeImluHPuAVUQANDzlRpfMMUtVvVQLtYIm06rJQhbjwd8UE1Yq5pwxfVUYHm5JmvDI9
 ugOl9gAo6O29Cfrmc7Om8x3ewBAjQymNCHMq+MYPNqyVZVfSMH9CEg8/btGhm4IdvjXkqTtX2uZLq
 jJ5tHGxYuUbeL7uQBIFgxEpvXuHlg6mixcpyah+pYmmt0LnCCyj2f4iTZXuGXLKvayskCO6+2s++j
 F5f2HbBGe0ZkwjNbbCvxbhnX9YdYVvWEMRxBVxEsN1+n+MlvNkWp/sfBddsS8v1FpoLg2uUvJMhxi
 RoqxZCHYK1q/Obn5dWfN5inq6GUp205MESiV8NbwFYxI5H+r3OqWhb2OcQDiBlepJ3PJzKrZEr+6M
 YwWu36/XGqFFz7rxD48+QdlUFi8CpPCw2hMAzap3e2QwmkPlSQqtANKXs89M2Gc88dkwAi+L/DX30
 aFiMx6KcJkD6Up15N2x6FZh9VT45C9xPa4/IFcNpswn9Tngyi7wR7bvY3/daeuSw6pzUARZ9IC6rR
 xVqf92gykLEfcIWGpYlKDmnKKMTSgGBycNwk6nzhfa3VLAtxrNfG6bvzwXTQE9UBOC+8Ogu+BUvbH
 lA9+B1pkThQLyo4biSYbvcUNsOqYtugWW3gy2ogAHHcRXiFxxz5hKdkVwCeQteIPaTeMiZckuktpC
 8ioAT//C1pmVpvtDxEYXJpbyBGYWdnaW9saSAoY29ycG9yYXRlIGVtYWlsKSA8ZGFyaW8uZmFnZ2l
 vbGlAY2l0cml4LmNvbT6JAjYEMAECACAFAlnqAncZHSBObyBsb25nZXIgd29ya2luZyB0aGVyZQAK
 CRAWQniJpbhz7rEeD/4s3ewT5VjgFTJGA3e3xRkh4Qz3Ri8mDZeyrwWw4dr5vZnAZMAG+NTaQMYLt
 cKg5DUsRBNGHUL5ZH70sBPYFMG2Fg4eddRVewC9cJ6sJBh97u8RXueBhu8GDinMkJZitnrCHR8mEK
 g8szWHIqM/ohsPp2FbUdsqqky1XGYNDdKHIMMQpEYVgBKWKFMDq08nzFrJrGeRgg1Gdsa9JoE9/rM
 pcwwnoy5z0Bvij0u8PoSp+aBJAgGWJPu+abJghc2V3sRR/vyZyPPNZKJyirPqXy2ZQVYrMM/jFsJs
 I2POz8uEq5v4lf5MnJZNas785F4klpzi+6LaIBVtNm6l8ANU8Ad+RKsgoMnAx46ClYYCJmC2luzIo
 4hxD5fDyCQOGSxp6S1ONbbxg5N/XsD4yuJ+ORzO/6BylBArRo7c2qHACD9qvu1VXIQn9/IbxznGOl
 CRv4xAD2mGzom/umsTpTWus4pjo3G1/f/rkK4PYI8Kxsfi+WPD986deQLScMQM5hYAb26apvjv9w0
 XYLQWY6cQKvquMVTdb5bIxddgr35PLdUd3DZUtOAmm1pdveD2EyerECOLp03MZXRO4J818to/tCCd
 XA3l2Osx6i9443aTew/QlG1qp7kWk24ZP1pgMSSuEaFmdcmeLdk0VKVevW3g5GzlS+FTdhuMz8WgV
 fkAJ0OEQQ==
Organization: SUSE Software Solutions Italy S.r.l.
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-bZp/72VNNFEfX+j+7UiA"
User-Agent: Evolution 3.60.2 (by Flathub.org) 
MIME-Version: 1.0
X-Rspamd-Action: no action
X-Rspamd-Queue-Id: 5DD976A9C2
X-Spam-Flag: NO
X-Spam-Score: -6.61
X-Spam-Level: 
X-Spamd-Result: default: False [-6.61 / 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,text/plain];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MX_GOOD(-0.01)[];
	FROM_HAS_DN(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	ARC_NA(0.00)[];
	HAS_ORG_HEADER(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	TO_DN_SOME(0.00)[];
	MIME_TRACE(0.00)[0:+,1:+,2:~];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	TO_DN_EQ_ADDR_SOME(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];
	RCPT_COUNT_THREE(0.00)[4];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:url,suse.com:mid,suse.com:dkim,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-purgate-ID: tlsNG-33051d/1780495710-36746938-D2E1DF61/0/0
X-purgate-type: clean
X-purgate-size: 2552


--=-bZp/72VNNFEfX+j+7UiA
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, 2026-05-18 at 17:08 +0200, Jan Beulich wrote:
> Hello,
>=20
Hi!

> In case of continued lack of response, I guess I'm going to commit
> the
> patches as-is towards the end of this week.
>=20
So, RTDS' maintainers are me and Meng, but I've not heard from him
since long time, and that makes me assume he's no longer active.

About me, well, I'll use this email as the chance to recognize that,
given my time allocation constraints, I'm not able to serve as the only
maintainer of this scheduler any more, especially considering that RTDS
seems to eventually be getting some interest and attention. :-)

Personally, I'd love to see this scheduler eventually out of the
experimental stage but, at the same time, I must admit that I won't be
able to lead it there myself... At least, not alone.

So, this is basically a call for anyone in the community that is
interested in RTDS: help is needed and will be much appreciated.

I'm happy to continue to try to help but, as this thread clearly
demonstrates, I can't be the single point of contact for RTDS patches
any longer.

Thanks and Regards,
--=20
Dario Faggioli, Ph.D
http://about.me/dario.faggioli
Virtualization Software Engineer
SUSE Labs, SUSE https://www.suse.com/
-------------------------------------------------------------------
<<This happens because _I_ choose it to happen!>> (Raistlin Majere)

--=-bZp/72VNNFEfX+j+7UiA
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

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

iQIzBAABCAAdFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAmogNVwACgkQFkJ4iaW4
c+6lVhAA7q4UV0nACu0e5a3PbHWXymv2/5IO8e2Fw3RRa6xqSzbINsz4px9j7QEn
EwJszCG20pgOUexDCFe9Ztv5sTiDVjUheAvo8jR2j3pOJhs61E9tkneGHb3miC6C
2zekQcZwjvn+4eHXHQ9hcrLz9pN/Q86anZ0b9/w3gOwClHrp/wVxwtePUXPGAN7e
xbsg+YcOrOPypj53WImdiHvMj2dHj+d4qrrrYhyjOwMQjWLOWuQYFtjIUQk4XWM8
QlCM9j+SNBlBoX4QmHaA5ZddtZTH2vtfbnbEbuYT4zkf1HlyypluxahnzTHqvzzB
sbhRb64Gg7Cp0VvbfJ+S02QyeF6z3n7ZsHaMWrwPv6TxgYFL+GX64A6sTNsi8y0O
LCDGfs7++wA2O3kfoATdxy2/bmSxv/D5QpolsOrr+3HcsZyI5KkVMHMs2qBo3UdG
4q4kyCCVdcj9UdnXsR5sFTZGeTGrbm9Jf7efGdJdhC2Zk+qb7dK3Zrw0hNx+UsRM
piaJtrtXWSfjDBCRhyqD84lezlHDT9KqpZrg+pZAqYNZuBBYl8RilgHoyB4g7UQg
I9aeCJroxLJEBPD7L+umxSECADdvKEEnuagIT10YFPmhCMXiYnMm6ff3FyIWizQF
cQLLK0EHZGySxfmpxe8etbOsA0NTc7ZWUQ5isrAYzcBGR0Kmmyo=
=1PlM
-----END PGP SIGNATURE-----

--=-bZp/72VNNFEfX+j+7UiA--


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:09:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:09:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326458.1591900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmHn-0004rp-3O; Wed, 03 Jun 2026 14:09:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326458.1591900; Wed, 03 Jun 2026 14:09: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 1wUmHn-0004ri-0T; Wed, 03 Jun 2026 14:09:35 +0000
Received: by outflank-mailman (input) for mailman id 1326458;
 Wed, 03 Jun 2026 14:09:33 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wUmHl-0004rZ-Q0
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:09:33 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmHl-00Fuav-6O
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:09:33 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a203594-2eae-0a2a0a5409dd-0a2a450aa656-38
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:09:33 +0200
Received: from [52.101.85.21]
 (helo=BYAPR05CU005.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a203598-56b3-0a2a450a0019-346555159c13-4
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:09:32 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by LV3PR03MB7780.namprd03.prod.outlook.com (2603:10b6:408:28d::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 14:09:27 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=OtCLJTgBzLsY/MGvB9nsXgkocJabnXUTvhRFmsSO9Yt3MpnnI8kS63+KzYcWPzR7k69vicKJuXZihnzwARxvTn+8U1JZO6jnkQoakO2DbD8T0tk5isAPlUsfFXGJ5++y+vVg0vy/pTFmWLajs6Dv8d4VKzKTWJL3wJjTooHuXs7yg9rMyudGGOlkDLVDjFL21Nz80+PE7Tsq9nRDDpHh+HliRYWzXF0uua0Y9HZChXlkF8aDr82Zwyb/5yvaEPD8DlxzGRXPGBDzkA4Oq7xPQZGgzkEedhwcOnomStlUkpirxhEcq36PQFaeseOqjgP55qivBtdNNgnE0UGu4wGAyw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pgWBbqUzXSksfQ87V4PcN2EEQwa0ggyTG32PbFywC2Q=;
 b=mdnSv9U7xLEfc1bEWk/HTtCC95qSXFxuQaC24orN/st7zHzgXyndApcWRbD1L9p0FHFOf6kaF2Wi2TZHu5bHJaKy4NtbMghq6LWDLyvyItKHFTekffdhV3/XhEM7NvVHwQfXTq/TVW1zQ3FiagmGQIVhSEFps8XKuGjBMhHwfC+SudUb8idE4FGUd2HKN+rv+5XD22ZwVhe/sZk7ulHJCMsU7EUi2YQuIJDGKGfaGRTyNWefLGYGlDSgUPAStmoMkJ2BPh+lLz6YMP2CWb0We6D4uWKanbs9JKA3J3/fvHDY3qi+cKuOdTOcTvFgpBE9eWdYiubpDBz/0NO1WbECCw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pgWBbqUzXSksfQ87V4PcN2EEQwa0ggyTG32PbFywC2Q=;
 b=TgOE/DFiih9A6xbncyfs9MKb/9JwqV3dP5U3vInPhF8Sy6TInD6JYnPQzFn85aWAIVINFT3UtpLE1ypN8XgFlOGFShZ0XD7hFQ/rNBapxOQyGlEdGPAaB6Lkc4VYuXA7oVMq8PDC51ZE/ms9W5tKApXpyu2HvhBFIkS8NuQ5V/Q=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <1bc5ffbe-6bbd-423e-a77f-f810710181b3@citrix.com>
Date: Wed, 3 Jun 2026 15:09:22 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: Re: [PATCH v4 11/16] PoC: libs/guest: use foreign copy during
 migration
To: Frediano Ziglio <freddy77@gmail.com>, xen-devel@lists.xenproject.org
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
 <20260603130603.776452-12-frediano.ziglio@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20260603130603.776452-12-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P302CA0024.GBRP302.PROD.OUTLOOK.COM
 (2603:10a6:600:2c1::10) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|LV3PR03MB7780:EE_
X-MS-Office365-Filtering-Correlation-Id: 0a139cb8-d85d-47b8-a552-08dec179b8b1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|22082099003|18002099003|56012099006|4143699003|11063799006;
X-Microsoft-Antispam-Message-Info:
	zgpj6veWER8qPyuyRiG559q/tn4xBV5iBbNA1r+rkRqIN/wQ6ARqL3tVbIxIJWY2cncKbA6Ur91G52a5iHqVw4xO5/dXwOkEVyhoIIr6EqKUShWpGzQPGjO7iUoeUjV7Djb7qd6yvRJ9I8W+caKqv3p+Bb8BRhYWeyKI9lDaxzPJ2Y6JM22jlU8sOErxnUbN2gMABTXasmgVRhdVu6GV/CFl/qvuZWLmtNjCHhQ36g7+igoiAD3giHyvp9qQu8NwtwOyisqJv5AzTfk+GQDDaORTDYDqsa+PorNZxQKF5ox9GBueBTbg39wQ7cIg5ZfwegkG6Zs2aPw0kGnTeyh58iVWylxwest5Hpp2ExGx2A6UbAEAVk+osOn7JpsR3OuqW7xY51trQ+o8KeHuuLjDL9J9cL/7YOrsvn6Er+NaCS63NFfbkqQzoeQ0kBtX1azuv9dPdi/m8wBHpb0+PnAd8mWeQowmVNZcUZoMj7u3z9Ojy1b9kxPlt9YqDrdrIp6g02s+WJIlqtaVtqTU9YnH/7jbFEB5yXegNF0Jwmu8L63kzmdEmBEQYnaWMHYDK3PFh/MrY+GqxTLaBPREVZnJExfNm+KSJmFCUloH0YVwogDPmcLoDP0eJsCfAgnWxZFGrYFPZOkVXFgFlb79F+KXVYD+QHKFYqV6pgTBbpbP3XKd/PhzR/oHnObK7S+xAaxh
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(22082099003)(18002099003)(56012099006)(4143699003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MHBjNWYyNjl1Mm1EbHJKc1RPcGYwT3VGK05DZ1crY1YwLzA3YmE3akF1bHR0?=
 =?utf-8?B?MGd2YWxoSmVCVHFNNFJrOVRSWThOcldFWXRCamZoRGhPSG9vLzRUaElwS2lH?=
 =?utf-8?B?T1AvYnhRam5mMkhNU0t6TlR2TnpOYm9qUzc3bE5DV05QVFRQalVWcVNneHdw?=
 =?utf-8?B?bTZ5QWVNdllndjNQcDZEenkzbmlDZEIxUlZiSmZuek9JYUx5NllnMnlmV3VJ?=
 =?utf-8?B?K3loUjdZMWJ2NkdDTkwvd1l2T3htNnZHQXAveWZ5UUYrczY2YllJWGpGc1RJ?=
 =?utf-8?B?TW1sL0svRU9CZkxib1pMai8xSWVxWGlENnRZUmVNM2VJMDBxWjNHdWo2MTdw?=
 =?utf-8?B?VzZRLzgrNkhYQ1B5dmpiNjI4ekNmT1k2UWZvTCtSMExDYVJpQnpTdVBBamp1?=
 =?utf-8?B?Q2pvdFZqM0JlNVQxb1BKaEp1bWhxZTRnSGk4SEpuM3g3Rm1WdXg5eHc5aU9J?=
 =?utf-8?B?WW93REVmdjA3S0RGclVlS0lyeS9RRzJKa2pXOGpUMXlxbjU1NU5ONHpPNjc3?=
 =?utf-8?B?angrSXRNYzJGL2c1cjVFWVpITWRXcndoU2hxY2VnOTU4SXlhczZvMUdmVEJ3?=
 =?utf-8?B?OVBSc1UrcUN0Y1ZBaDhQblEwT3d4WUFWc1p5czB3b2RYaDVWQTk0dE9yaXlR?=
 =?utf-8?B?T2ZrLzNqZ0FNUkRtUDdwNy9nazBmQVJ6THc5dUZSVWd0c1JUUXlJS3M2ZzBx?=
 =?utf-8?B?RzFFTHk4STVPSVJtTG9tZTJXR3dKc3FSTWZjWDVMQ2ZRd2lMa3VBUlowN0FF?=
 =?utf-8?B?a3hDeitnRFRrYTFRSGxIYW9zSWpxMnlRZWhOYXBxdTM4eU9KR1M0NTNNK1pG?=
 =?utf-8?B?eUhmMmJFUHAxVmw0cnU3aGRWRlZhd0EwdGo2dDZPaHo4V3hUa3R3ZnVTYkE3?=
 =?utf-8?B?WjgzUzgrTWRQM29CdDZkbWxNK0hSYlJHR014U3ViNm9vWkJwT2l5ZmFQWHpQ?=
 =?utf-8?B?YUdEeWllZ2pndDZSMVMvaEhydlcrcmlWZXNQUnlveVcwUU15ZFRZelR4cVBs?=
 =?utf-8?B?amdNeEIwVEV2RTE1VUMraU96VHFHditnMWE5akRVejZaaENIbFdxcmc5QVFZ?=
 =?utf-8?B?bXUwdERLZXd0UEZ4WVQrdjIydGxtTW1xV21YL2RBN1NRYmNZL0hOUUx3aEJB?=
 =?utf-8?B?RGs1djBMU3djZzdMRktQYzV5QnJuV1BkQkRoVmtjMzErN2dkYTRwZnVWajZE?=
 =?utf-8?B?VmVrRFkzM2hoaitSam1pZVZqZ05SOExnUDhKYlByaStnYUxhYlkrZXFwdkNk?=
 =?utf-8?B?ZEVWS284QjZTcm4ya1BENHFVRFhJTXcyelFEa05Fc2UzRGhUV1VjNjlIQUdQ?=
 =?utf-8?B?TEUzV1VXK3gvSGNqM0Z5bHo2dkxrOHNUVFNwRkJsV1YzbTcyVTBYdTFTT0hF?=
 =?utf-8?B?Q3JBOE95dnYvM3BLOE5IcW1SazRTUktpbitoa3hyNXR1UFFZNWhObm03Y3JR?=
 =?utf-8?B?MFlYcGVqSUprSWh1WjJxaGJnQlJ0TzdnQzdITGdBTzhpRlcwN2NnQm9JRFI5?=
 =?utf-8?B?cGhWWXVPcWhKcG9hdURjTlN1dVBVdTlQaHBSdXovTGZTMW1YTzFnd1hpZitV?=
 =?utf-8?B?NmF3N1NWcldDZ1UvYzc2TTRRUHQwd09YSlFSS094WDEvTjlMaENSVmlnTEpE?=
 =?utf-8?B?MjJoL3MrTzRJVmVwVFZNbnFwNmdJU2FUNnkxT21aNkZnczJUK0dWeGg3blkv?=
 =?utf-8?B?YktkQi9oakM1c2NnWlZrdzMzZ0J4S0pFQVVNUUErZWhWMTRkUGZlSldLL2VX?=
 =?utf-8?B?dGg5YVB4MWRKQW9FckllRmMrUkFzVk1YenhxVXd1WkhIaEZaWTFMSnYzMTZT?=
 =?utf-8?B?UGx3aEZKTVpBL1M2TDBFRUgrazlFZC9EUnZWNkQ2M0Q3eUpuVFVwd0ZWMzRi?=
 =?utf-8?B?TWlYaEQxZUM1N3hZMTB6SG85bGZkNTBSTCtKYXFHU1crcHc0Ylo3WHZXdDFJ?=
 =?utf-8?B?RHJ0UWxwb2tXbGN2TmNPRWQ4bTU4TW51Q29RdGV1cDJkWkQ5dUVxbTNMNHZK?=
 =?utf-8?B?bVJCaGxXaHpueCtFQUo3MW0zWTNhUWdkUi9xZE56a0RhdUpYSEVuQ0NaN2la?=
 =?utf-8?B?UFJ2blFVMGhYeG4rNm5DU2xGMVdHUU9EN21SbXVhc0FGTGx1akg5Q1RwMXVE?=
 =?utf-8?B?cENnNGEzVTBjNk5rYWRaNW90dHZiTnVoenN5dHJmWXJZNmdyWVJSWEsxcXNL?=
 =?utf-8?B?bG11MUlVVFhSaFBuK2lqNmJ1TkV3cnpONlBDNENUcWgxSG1aN05HVElKMnJW?=
 =?utf-8?B?dVh3RU9vUWRucGR5eHBaNGdzQXNIcjkyNnZacS9PZjE1UW9ZbUo5U2p5U2RG?=
 =?utf-8?B?TGZhMlhOcnVrMjN1WnFocWpMT0l4VkdXdkdFM1hlNEN1QVR6eTlLdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0a139cb8-d85d-47b8-a552-08dec179b8b1
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 14:09:26.8887
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DxomglauPHNPA8tso9zHytu+z911a4jjivWIPy88etjipJ+YtVwZE3AOiYOkQ59mkNoMFWeRy7EjPOEeJLWCjf216LhwQa9yUwoxDYEcHCM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7780
X-purgate-ID: tlsNG-4011c0/1780495773-7DD828B7-F9E82BF6/0/0
X-purgate-type: clean
X-purgate-size: 1681

On 03/06/2026 2:05 pm, Frediano Ziglio wrote:
> From: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>
>
> ministat confirms the improvement:
>
> ```
> x baseline
> + foreigncopy
>     N           Min           Max        Median           Avg        Stddev
> x  20     1.1306997     1.1447931     1.1356569     1.1365742   0.003242175
> +  20     0.4311504    0.44180303    0.43616705    0.43600089  0.0031094689
> Difference at 95.0% confidence
> 	-0.700573 +/- 0.00203311
> 	-61.639% +/- 0.133355%
> 	(Student's t, pooled s = 0.00317652)
> ```
>
> The tests pass too, which means that it has correctly migrated all guest
> memory.
>
> Frediano: This PoC was adapted to be included in a final series.
>
> Signed-off-by: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>

This patch is definitely out of order, seeing as you don't introduce the
new hypercall until the following patch.

But there's also absolutely no information what those stats are.Â  From
memory, I think it was wallclock time of migrating a VM, but there are
no units or sizes of the VM presented, so those are just random numbers.

It also doesn't state whether it's measured from a PV or a PVH guest.Â 
However bad PV is (and it is bad), I think the improvement will be
better in a PVH guest, because the foreign map/unmap operations being
replaced are even more expensive in PVH.

There's another area in libxenguest which would likely benefit; domain
construction.Â  Even with kernels and initrds in the MB range, foreign
copy is probalby a win, and it surely will be for e.g. the ACPI tables
which are a few kB.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:15:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:15:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326468.1591910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmNk-0006kX-LI; Wed, 03 Jun 2026 14:15:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326468.1591910; Wed, 03 Jun 2026 14:15:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmNk-0006kQ-IW; Wed, 03 Jun 2026 14:15:44 +0000
Received: by outflank-mailman (input) for mailman id 1326468;
 Wed, 03 Jun 2026 14:15:42 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUmNi-0006jz-Ep
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:15:42 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmNh-00FvgK-Jq
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:15:41 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a203704-5cb7-0a2a0a5109dd-0a2a450b8822-24
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:15:41 +0200
Received: from [209.85.221.45] (helo=mail-wr1-f45.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a20370d-212f-0a2a450b0019-d155dd2dc444-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:15:41 +0200
Received: by mail-wr1-f45.google.com with SMTP id
 ffacd0b85a97d-45ef1629ff4so4248731f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 07:15: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-490b79d90bdsm18373235e9.0.2026.06.03.07.15.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 07:15: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780496141; x=1781100941; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=GITjJpTW0bS6/UrRVON9ZOEKuvjV3lSktdyGvtG0uS0=;
        b=Iib179ACWLxMLFwV6CgR8iHvPIYEk/GCMtD8wC3ZP7XyZmtS2wF2GYpeyDMG25buye
         c0baQ1SvBFxi7drxs+4T0VEUZMjvwehwDvOgDF3HpshhQUPDep7HVa8TqI34reGiVCth
         UCgtE4PJIeAuFkUkp9C/MREWX+883/xwWMWfGAV9mV1YxCKu12qjjayY+Zrqb3+ycgBx
         1CxfbeX0kmUxb+wExFEa/jIy6PP3vSir2L2CMvzHLqR4SXTCW4/zpY7cd7KU++UPoEqj
         MRkbDBiD1u+tODMJEM5vlcP0Sl0SCkw2A92s2zrRgXeCmbsD1+hrfmEHi67bo2bT3xiU
         Pl/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780496141; x=1781100941;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GITjJpTW0bS6/UrRVON9ZOEKuvjV3lSktdyGvtG0uS0=;
        b=svnsWymVWeMMd4keYzWTirldhqRBITwmJCf1LDUEzunAHG1mlfzAaTqzPn2chuZEWJ
         dWKdfxGfo/PDJtmkr4W0qEkJXQL/r/B9Grk65uHTByrP3T84BGERANFxiX0mL7Ysd+Jl
         d0+QDAg66kNP/+PjijHpcwIKfS22nBNcYSg3THD1By1cyyQ3KnZVNC19zqgYsFrjCGtz
         wtwPu3VqLcZ3yOXO/ohoaNsmvgCymVXC/73HvhWWZXuk21Aa7GfRa898fzj9521gA7iK
         XHyVow7uDik8SXm2azoFZiGLL8WlkahEapw3pGIDxlqvK71PA8N2L3Xwr+tFzzGQiELv
         yjgw==
X-Gm-Message-State: AOJu0YxFfRuPRTec6EWuZjzvOmUjCHwqN2ldRQPnHyLu75LUn8lTvd/Y
	uukK7D03lrU+raPiL0oZBDJ7XD1GSubMhohf+IBOCRQSamkwlXKxW9lw4yVpgB/G6IoH2Oa0sVT
	auXY=
X-Gm-Gg: Acq92OHgAH/YICw0sncBMYZbrPIjoGa5d68OSBvk+PktY1krgu4q68ac156fPxLoKvr
	H0lf+sLgk5DqZk1o2WH1HDBWwJpVIGWlzmp0S//wefwW774l2YzvET9rA/vJidBIP/dAE02yXIT
	+Er+csL96+x9glXgoxwVsgpBRIc23b6FNTVFxTKBMDGPHdtkghZU+zqveS9nFrudKRgcfrbiXTq
	8SMHxVXOge0xee/Q4vxH+a6WVClGUna6bJMTO5d48zg05/dwpC1N5WvG5+fMSakXT+kxPmbKhSI
	k7bbFHOlmqH0lhXmy7/ZIivmuEX7KBKQCQlps6iZNXSpEQqPCNdStY3K2nqHmi9G2LjYHxQ7xfQ
	J4CLtnfvMpKsb0HAs1dJYdaq4CS61s06dnYN9VmeqPb/XdQiUse34nOOjelcdoyROxjxZjwsX55
	wRGt4N9Jb8oZs5LVijrX1qAOBEicZ+n+LlpQl8sArzextYU8XhThYK6Z84qFb9nwh4WgqzSXB2z
	ltWWactNLYmj7rjaKRRbfYaBStW70xaW1qC
X-Received: by 2002:a05:600c:8b6f:b0:490:bb37:9d49 with SMTP id 5b1f17b1804b1-490bb379d58mr16353185e9.11.1780496140903;
        Wed, 03 Jun 2026 07:15:40 -0700 (PDT)
Message-ID: <2d0a4c03-319f-4d29-b305-09998a516606@suse.com>
Date: Wed, 3 Jun 2026 16:15:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: RTDS: Call for [Co]-Maintainers [was: Re: RTDS scheduler patches]
To: Dario Faggioli <dfaggioli@suse.com>, Meng Xu <mengxu@cis.upenn.edu>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>,
 Juergen Gross <jgross@suse.com>
References: <41d236ba-a93d-446a-b29a-449a1c5f8972@suse.com>
 <0b44963bae28d08fcfc14374cfa5e9bcb7c5eaa3.camel@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: <0b44963bae28d08fcfc14374cfa5e9bcb7c5eaa3.camel@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1780496141-19F6EF3B-3BBAF44A/0/0
X-purgate-type: clean
X-purgate-size: 1850

On 03.06.2026 16:08, Dario Faggioli wrote:
> On Mon, 2026-05-18 at 17:08 +0200, Jan Beulich wrote:
>> In case of continued lack of response, I guess I'm going to commit
>> the
>> patches as-is towards the end of this week.
>>
> So, RTDS' maintainers are me and Meng, but I've not heard from him
> since long time, and that makes me assume he's no longer active.
> 
> About me, well, I'll use this email as the chance to recognize that,
> given my time allocation constraints, I'm not able to serve as the only
> maintainer of this scheduler any more, especially considering that RTDS
> seems to eventually be getting some interest and attention. :-)
> 
> Personally, I'd love to see this scheduler eventually out of the
> experimental stage but, at the same time, I must admit that I won't be
> able to lead it there myself... At least, not alone.
> 
> So, this is basically a call for anyone in the community that is
> interested in RTDS: help is needed and will be much appreciated.
> 
> I'm happy to continue to try to help but, as this thread clearly
> demonstrates, I can't be the single point of contact for RTDS patches
> any longer.

As to concrete action: From the above I conclude that simply removing
the "RTDS SCHEDULER" section from ./MAINTAINERS might be a fair first
step. That would still make you one of its maintainers, along with
JÃ¼rgen. Which may not be intended either, judging from what you say.
Might be best if you sent a patch updating ./MAINTAINERS to what you
think you're going to be capable of doing, in a sustainable way. Which
may be as small a change as converting the two M: to R:. Thoughts?
(Imo it's always better for people to make such adjustments for
themselves, then for somebody else to do them, possibly giving the
impression that the person is being "kicked out".)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:16:58 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:16:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326476.1591919 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmOu-0007Hj-4G; Wed, 03 Jun 2026 14:16:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326476.1591919; Wed, 03 Jun 2026 14: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 1wUmOu-0007Hc-07; Wed, 03 Jun 2026 14:16:56 +0000
Received: by outflank-mailman (input) for mailman id 1326476;
 Wed, 03 Jun 2026 14:16:55 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wUmOt-0007HS-9H
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:16:55 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmOs-0048xV-MA
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:16:54 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a20373c-2eae-0a2a0a5409dd-0a2a450b8c1c-48
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:16:54 +0200
Received: from [52.101.53.55]
 (helo=BL0PR03CU003.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a203754-212f-0a2a450b0019-34653537db18-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:16:54 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by MW4PR03MB6947.namprd03.prod.outlook.com (2603:10b6:303:1be::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.14; Wed, 3 Jun 2026
 14:16:50 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 14:16:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=w48plQxxsIBr9bgZQx36C2i8j09fM7XpiLzJorqx/qIfIvtGkPCdS2D76rJ8qsKk8MqkbFsBvEuTzRTt8yNbPspFc6+2b4x2+EtB1OT2MVHJ3Bftw/IoeyGVGKrvSWZIN8tAImbRkIprS8OZXRWptDI9S+N/Ve2OtyEQKNIRMU7N4NvS2SB/GQ1YJUsJu8/keH5tpYibQRrpRuRPzNuNtPQr5K5DoREVKrkDJ8trYpCn/gc+sBh8RbObaVTIzAIgWaGy95op0F+HgZ29qpByBXWiNW3fJHkPPwcbsJa6dgGILLzC+ohAK8CCfqpeG1MfQ2yV9Ke5KkYSZtlM2osXCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gMqwwI4Xx1eopbTzifhcDbu7vCOUBDHJO3sykFHN+H8=;
 b=YUiTolb81irzLLPv1kuHz9QiEG7D2lYYdnMf8NkNnZ04qnnrBwqVnSb/qsuZgQKtkJ+rDUjpS17paYOwxsfEZbZhMNM2IAut6NR9FanC0NGzCMHko4BQlldCvSJOeQpSFYVTfvy+QfSzTAohG0x5wd6PTI2E000l1uaSEOF/KvMITB93VHSkqONeNRYR+soU9NH1pRl8zVsSfAwZLgvHy5w/474pgcOTNQHyJMSOFTFicy3DN8aCERNXwQGSuWHYbmSVC+DGQeB7rtPMoVDA+KxhrpCXsdFxfVal5XL4j7pzHRQCD0P8teH8psChKEcsRZ/+9pxuYKEKTzp6Ljgcow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gMqwwI4Xx1eopbTzifhcDbu7vCOUBDHJO3sykFHN+H8=;
 b=cAqZCatb5h6qU9gWaklLn03yLZc0vb91ACTzPLYRRE5ZVehYeH493vE93jHOSENp9uajbMElRTD6XLXprqUt6Ln6wRb6vcCVWcQbkPmGFyBW4QrSxSTK4kU7zldgUsZTmWvykEVtidU7WaeAA9FTZ1ozn7VbCkDKKysdHsu99cY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 3 Jun 2026 16:16:47 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: Re: [PATCH] xen/x86: Change stub page freeing to fix smt=0
Message-ID: <aiA3T2DvE0v6uwoC@macbook.local>
References: <20260526203114.40882-1-jason.andryuk@amd.com>
 <ah26nl95MgqhPPAi@macbook.local>
 <5cdfca65-50f8-487a-a146-86e1a68f459c@amd.com>
 <ah5_0vvipY2Wch-x@macbook.local>
 <cf275fef-27fb-4d73-bbc8-9a75c1836608@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <cf275fef-27fb-4d73-bbc8-9a75c1836608@amd.com>
X-ClientProxiedBy: MA3P292CA0062.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:49::18) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|MW4PR03MB6947:EE_
X-MS-Office365-Filtering-Correlation-Id: 4a7dbc4f-424a-4ad4-ebce-08dec17ac0af
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|22082099003|18002099003|6133799003|5023799004|56012099006|11063799006|4143699003;
X-Microsoft-Antispam-Message-Info:
	+WARjk5pumontWFDUpdBykH89LgMYpW4knz4PPWNv1w3y8I4gbTKRmfmpfJ62btfRyukANLpmNNUWYqjEI5RJXnzwmO0ZohAWWmk7rxk09NnQExvFuMUS6I8homwMztp/tEtm4j85NFrj/bvreIl/h8o/EiiavbecfsBow9zgI+JVG6Fp5HCHxCjZ4RGBdrbLmbL8nbuWPnptj7HkTipi5racuEUHW3iRbEc4fglZQNgCFGsL7BqK1fts3Sibm2Nj9x8ELqZ6knlxQlRmzWHbKICD05slBUQ+LGxaCviH8jaoNDOBYKbRl4HCtI9+kJAb3SKaaZ8MNmljjUVOtqxDwuLAGn+dRM2o+QCCeDu9HvDv5p1cJCdSMboUmJ0eaJqsTxkjNM3wsrzOK8ha7S2lvudrTKxvlQCcpjPFed6mY0LZgtCCkNPv3+YN/5mdGbsygjdrFXkYDiGtlaBsfOqUL/NGRwVE68IUF1LrADEHcVCyodUM2O6PgZNsvA8islBWfKYZji168hplXoJVQfmQ/rbBcQVNlXmn6l9/oOshy8Spa1oII0ni/Nvs0aCPId7Jj6W25MN3ks1WphRG7h9re6BSImZA9tmmTQ9LeN20gP8930dOA44yqE9Tg2fedF25MAF+RdrD/75FXRZmmQUVz+FsW0FHbc0LYRoYCQxGBtqvAD2k1pJ4uMO6jb491O3
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(22082099003)(18002099003)(6133799003)(5023799004)(56012099006)(11063799006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MTNXS0NYYzR4NnVBNEZ6YXlYaVpIMENxdVB1WVh1cndJbGprWXFQOENMWlpE?=
 =?utf-8?B?VGhja2ExelVuZXc5YzlnbU9ya1l3Q0dnNnZWNzl2MWZ5WVk4Ty94b3czSzZl?=
 =?utf-8?B?VERYWHd5OXFLSWdFblFEQ0QvOUl2NXVDK1I3bUVBZ3ZHQ0hLMkpkc3pKV3Ra?=
 =?utf-8?B?Yy9oMDJiOHMxU0tKdXZXQ1JZTERrUGNjbGtkVXlSWFp2RUcrc242OEJCMG5H?=
 =?utf-8?B?NXJKdTRmMmNYK3k3bThNaWIrY2JPdmJCTFB6STdVUlZLTDNoc2MxbDMxVjRs?=
 =?utf-8?B?TDd0QzdLWURBUFhMVkl6UzV3Nkt2ckVlRHJKRmtLMXo2Zkh3L0tlekxmbjdG?=
 =?utf-8?B?ckJMME9MN1RRSnVpZXBveE5ITnN3SW1Wa1hkZytGaURJNGRBenExNHh1RWJD?=
 =?utf-8?B?L1pvN0tKZHNpcjJ3THFoZkZuUlBRWlFqUXNGNng5a1NtL0NkMmpJQnBKaUlw?=
 =?utf-8?B?T1pVeWNuYzRDMFZ0a2p1TFFyYnBDMU1rTmVvSU02Z05HVmdUOW1pbW1uWXEz?=
 =?utf-8?B?ejNNN0ZpQ3ZmT2NudVBjU0dmT3VTU3dtZjFRNHFqdy9Fc2hTNnIwL25rVmg4?=
 =?utf-8?B?NXh6YVVPUUpWOUxhRTkvaEpVdGpuTkV1eFVVSTUraExHOFppU0pTVE5mK1lO?=
 =?utf-8?B?RDFuTlVLL1V0YTBXS3N2ejh4N1dJaWoyMkdKU1pVSlVtNTllMXR1dzZpaFJl?=
 =?utf-8?B?alhOTUN4SW5jemtFcUhLdkx6b3ZPeERsK2tFME1INlFQSVRCTVYrTmhwNFpP?=
 =?utf-8?B?cEFZSDVpc1JUd2U2RWt2VU1SbS9rNHkxazVCUnFsZVRRMVdxT2pRb2Z0Vzhh?=
 =?utf-8?B?Q0NQanRqeEhrcTZRbzdPbklHd2tqdlhKRkFCT2JCR2s2SmZRYTRHNVJlZXlq?=
 =?utf-8?B?YklyRjcxQmF4NGt0VS9LU2E0dDN5Y3pLRjdyeXFnTzZwQkcybUs0MUhKendx?=
 =?utf-8?B?bUZwbTNROEFaQmJaWkovWlVmK2FPekhJTFhmMGZNcE1qR0RHdUpkRm1NR1l2?=
 =?utf-8?B?blBSbG1Na3ozeTUvVXpJZFBSUEh6elJ2Nk16bjF5YjBpc1E1QnhFdmVudDRH?=
 =?utf-8?B?SXVnUDQ0a2VtY0o2dEhKc3N3dHFrVGtZdDFiRGh4SW9ldWlZd3luVURzVEs1?=
 =?utf-8?B?Nnc4d3A2NlJHZE9hSnZac3NNWGVCYVNSeEFQS1gwelRhN3RsdzRyOGhvMjdP?=
 =?utf-8?B?cHFNL0VqbmZNTkNGdTBiOXpJVm44cVh6bHp2ZjdBbGV4M0N3a3crK2VyRGl1?=
 =?utf-8?B?RHBYMFdPTWdVMmpKZnpPVEU2TGNjRG4wMkppOHJBYUplakZDL1ZaMWQwaWZI?=
 =?utf-8?B?MWVETW5menlvM0trbzlYUTJtYUdpU3E1bjhobGZEaEsxQTZRMW5TNkxGY3Vp?=
 =?utf-8?B?NEg0TkNvdVpFUi9MRUNDVlJPZG9hTTBjRVdvUVBtZEFRcnFGcTQzOGFxZlM1?=
 =?utf-8?B?MklnM29VZDRORHhza0g2Z3JBNE5sYm4vc3QrbTBrbXY5Yld4cUR0Z2lGNFBy?=
 =?utf-8?B?c1RDVkJSUktobU04YU1UeG8xclZoNW1UcDZUckxXKy9IVUswMk9Va3BYMDVS?=
 =?utf-8?B?TnZ1cGVvYjIvSnJtNUNyMk55VlNDZFg3aC9zWTRsRzdFbnRKaEgzN2dYRmYz?=
 =?utf-8?B?bzM4QW4vRk9EeEpHTzFXM0VCb2hmRTYzU1dDTlVnc05uVXVXaFlKb0Q4UUly?=
 =?utf-8?B?dFg3VzNTKzBia3VGbEQra1ZvMUdxUzV0VlNNTEFVQ2xqUjBodGVTWC8veC9m?=
 =?utf-8?B?cWIra243RmJyZnZ1azV1d1JiWkU2cUN3WlI1NUtyWUhheVQyTm0rTU9tdVA1?=
 =?utf-8?B?UEVFZXdjMTR6eFN2SnVheHplUXlwRGZXdmo1ZjB2MmxGMmdwUlBIN04wdkFl?=
 =?utf-8?B?S0l0ZWZ1MXF1Q2tUVHNtaGlwb0NCSElBZEpZakxoSEY3Vng2UHNCTW1rVjVI?=
 =?utf-8?B?bHdrdko0RjNMVGVFM05KZTQyRGkwVE5CRElheU1IWVNiUW05UTVGTVQ1WFMx?=
 =?utf-8?B?Y0F4WThjd0t4M054OHF2SCsycCs3RW5qNUVka1BlV0tHQlNzUVhuRnJ3dGJW?=
 =?utf-8?B?aUduOUVUSlM2UkdnaHZQWXV2Nm5ybVVCTkc2eml5dzk1NlhQMmRhMHAzMFNH?=
 =?utf-8?B?WG01YmdRb041WEg5bVRKYlA1dGZ2MzEzOXFUbHEwY3VZOEVRUDJuS3FYMUo4?=
 =?utf-8?B?bmpob2l1cm90eHo3U3pyeWdCUVJQd0dqYVFYME5hSm0xbFNHblVLR2xjMEFw?=
 =?utf-8?B?YjYxTFR2SHhHYmRLanpiWmdUdFdsZ2ZVWW5pK0l4Mm4zOVpnVmo1NnQzRnMv?=
 =?utf-8?B?bFdHUmY0NWRHdWxqbTRWV2NtU1JNbzBCcXdzeGh3bEdxWXd3SlFaZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4a7dbc4f-424a-4ad4-ebce-08dec17ac0af
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 14:16:49.8596
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UaynNsh9sWNZgwd1ShWvTNtTgLnrGNi4lKoA/Mx1FO9c77JiBJrG5vl2OYZBw2s+KS7WQ2df+eI5nCZPB4LjNQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6947
X-purgate-ID: tlsNG-42698a/1780496214-1A16DF3B-F64DAFF5/0/0
X-purgate-type: clean
X-purgate-size: 6697

On Wed, Jun 03, 2026 at 10:03:53AM -0400, Jason Andryuk wrote:
> On 2026-06-02 03:01, Roger Pau MonnÃ© wrote:
> > On Mon, Jun 01, 2026 at 05:07:52PM -0400, Jason Andryuk wrote:
> > > On 2026-06-01 13:00, Roger Pau MonnÃ© wrote:
> > > > On Tue, May 26, 2026 at 04:31:14PM -0400, Jason Andryuk wrote:
> > > > > A single stubs page is initialized with 0xcc and re-used, with multiple
> > > > > CPUs each using a portion of the shared page.  In cpu_smpboot_free(),
> > > > > each stubs area is checked against 0xcc.  When all are set to 0xcc, the
> > > > > page is freed.
> > > > > 
> > > > > Booting a system with smt=0, CPU0 is initially setup, allocating the
> > > > > stubs page and initializing to 0xcc.  When more CPUs are brought up,
> > > > > CPU1 is initialized and then immediately brough offline as it is the
> > > > > sibling of CPU0.  Since the page was initially memset with 0xcc,
> > > > > cpu_smpboot_free() finds all stubs as 0xcc and frees the page.
> > > > > However, the page is still assigned to CPU0 and continues to be assigned
> > > > > to other CPUs.
> > > > > 
> > > > > Meanwhile the page can be reallocated, which can lead to misbehavior.
> > > > > The particular instance was the stubs page re-used as a page table which
> > > > > later faulted when the entry was all 0xcc.
> > > > > 
> > > > > Change to initializing the page as 0xd6/STUB_BUF_FREE, and initializing
> > > > > individual stubs as 0xcc/STUB_BUF_USED.  0xd6 now indicates unused, and
> > > > > 0xcc indicates used/assigned.  When freeing a CPU, the stub is set to
> > > > > 0xd6, and the page is freed if all stubs are 0xd6.  Initializing with
> > > > > STUB_BUF_FREE lets cpu_smpboot_free() a page that was only ever
> > > > > partially used.
> > > > > 
> > > > > 0xd6/UDB is a 1 byte invalid opcode, which is similar to the existing
> > > > > use of 0xcc.  0xd6 is used to identify bug frames, but the stub addr
> > > > > (e.g. 0xffff82d07fffe000) fails the is_active_kernel_text() check.  It
> > > > > should be okay to use here.
> > > > > 
> > > > > Fixes: 7a66ac8d1633 ("x86: move syscall trampolines off the stack")
> > > > > Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> > > > > ---
> > > > > It would be nice to use get_page()/put_page() to let count_info handle
> > > > > reference counting, but they require an owning domain.
> > > > > 
> > > > > The listed Fixes introduced the use of 0xcc, but the smt commit may have
> > > > > made it more problematic.
> > > > > Fixes: d8f974f1a646 ("x86: command line option to avoid use of secondary hyper-threads")
> > > > 
> > > > Speaking with Andrew, we believe it might be easier to simply forego
> > > > the freeing of the page, possibly something like:
> > > > 
> > > > diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
> > > > index ff05955bae40..62c6cbf4b561 100644
> > > > --- a/xen/arch/x86/smpboot.c
> > > > +++ b/xen/arch/x86/smpboot.c
> > > > @@ -990,19 +990,12 @@ static void cpu_smpboot_free(unsigned int cpu, bool remove)
> > > >        {
> > > >            mfn_t mfn = _mfn(per_cpu(stubs.mfn, cpu));
> > > >            unsigned char *stub_page = map_domain_page(mfn);
> > > > -        unsigned int i;
> > > >            memset(stub_page + STUB_BUF_CPU_OFFS(cpu), 0xcc, STUB_BUF_SIZE);
> > > > -        for ( i = 0; i < STUBS_PER_PAGE; ++i )
> > > > -            if ( stub_page[i * STUB_BUF_SIZE] != 0xcc )
> > > > -                break;
> > > >            unmap_domain_page(stub_page);
> > > >            destroy_xen_mappings(per_cpu(stubs.addr, cpu) & PAGE_MASK,
> > > >                                 (per_cpu(stubs.addr, cpu) | ~PAGE_MASK) + 1);
> > > >            per_cpu(stubs.addr, cpu) = 0;
> > > > -        per_cpu(stubs.mfn, cpu) = 0;
> > > > -        if ( i == STUBS_PER_PAGE )
> > > > -            free_domheap_page(mfn_to_page(mfn));
> > > >        }
> > > >        if ( IS_ENABLED(CONFIG_PV32) )
> > 
> > I think I've made an oversight in the code above: if all 32 CPUs
> > sharing the same stubs page are offlined, the reference to the stubs
> > page is possibly lost (if CPUs are not parked) and a new stubs page
> > would be allocated if any of those CPUs is brought back online, thus
> > leaking the previous allocation.  The simplest way to solve this would
> > be to introduce an array that indexes the stub pages, and replace the
> > logic in cpu_smpboot_alloc() that figures out whether stubs.mfn is set
> > for adjacent CPUs.
> 
> Right, but I thought Andrew's point was that offlining 32 CPUs is
> unrealistic, so don't even bother tracking.  If CPUs are offlined (and you
> somehow keep running), you can leak the page.

I thin we should avoid freeing the page and ensure it's always reused,
rather than possibly leaking it.  It's also possible there's a single
trailing CPU using the last stubs page alone, and offlining and
onlining it would trigger such a page leak, without requiring a block
of 32 CPUs going offline.

Entering an ACPI sleep state causes all APs to be offlined (see the
disable_nonboot_cpus() call in enter_state()), and it would be
undesirable that putting a system to sleep causes page leaking.

> > > > (there might be further cleanup possible if the page is not freed, the
> > > > above chunk is untested).
> > > > 
> > > > It's a single page shared between 32 CPUs, and offlining 32 adjacent
> > > > CPUs seems very unlikely.  IMO the extra complexity of having to deal
> > > > with the freeing overshadows the very small memory gain we get from
> > > > it.
> > > 
> > > Hi Roger,
> > > 
> > > Yes, I made and tested the same change locally last week.  Well, I retained:
> > >       per_cpu(stubs.mfn, cpu) = 0;
> > > 
> > > Maybe it would be good to save the mfn in case the CPU returns?  But I
> > > thought per-cpu vars are cleared, so it wouldn't be available anyway?
> > 
> > Depends on whether the CPUs are parked or not (see park_offline_cpus).
> > I think leaving stubs.mfn is fine, in the parked case we avoid part of
> > the setup logic by already having the mfn cached (no big deal either
> > way).
> 
> Right.
> 
> > > Also, I was waiting to see if anyone chimed in with other ideas.
> > 
> > Maybe you could assign the page to dom_xen and then use
> > {get,put}_page(), but again it seems overly complicated.
> 
> Code-wise this doesn't look bad, but it blows up:
> 
> (XEN) d[IDLE]v0 Over-allocation for d[XEN]: 1 > 0
> 
> I don't think we should pursue that.

Hm, I see, yes, you will need to use MEMF_no_refcount to skip the
domain allocation accounting, but as you say it might not be a very
wise idea.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:19:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:19:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326482.1591927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmR7-0008QY-Gl; Wed, 03 Jun 2026 14:19:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326482.1591927; Wed, 03 Jun 2026 14:19: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 1wUmR7-0008QR-Dn; Wed, 03 Jun 2026 14:19:13 +0000
Received: by outflank-mailman (input) for mailman id 1326482;
 Wed, 03 Jun 2026 14:19:12 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <bernhard.kaindl@citrix.com>) id 1wUmR6-0008QL-KA
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:19:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmR6-001A5o-0k
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:19:12 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a2037dd-5cb7-0a2a0a5109dd-0a2a4501c41c-12
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:19:11 +0200
Received: from [52.101.62.7]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a2037de-c1f2-0a2a45010019-34653e0730ab-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:19:11 +0200
Received: from LV3PR03MB7707.namprd03.prod.outlook.com (2603:10b6:408:28b::21)
 by LV1PR03MB989608.namprd03.prod.outlook.com (2603:10b6:408:3f5::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 14:19:08 +0000
Received: from LV3PR03MB7707.namprd03.prod.outlook.com
 ([fe80::97e8:ef9c:9031:e2bf]) by LV3PR03MB7707.namprd03.prod.outlook.com
 ([fe80::97e8:ef9c:9031:e2bf%4]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 14:19: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=eL1TOxBYW2XyJcp/77W4JnUyQWvlhce2tsIX2rUkrQnSsgy58v5/etbX7S+c9HpXvVsQsg78zj3huOqPArBShVV9kPQoXQO3javqyrIi2uw6h1o1Jk0qhjAFGvKb18yVUdWpZwn4McIx6SONVEXOgiwqFHVnxEtdIy/iA0KCKK2vX0N1HZTFaBW0mwuXeE62nEYJTsYAT3pm4SWYW4ORYfMWoGpi88NGbNJPV7455cPOPfE3fjRaAm62wRe3ehFvj3acq0bPaMTffGcObv3x7KQPdf7wrglAJeiIbklcY/8rMBOSmbhE7/JiF3Uiomfgo0FEaPm4o+V1Ke/gEQGqWQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4GWJXXh6iF5n49mHzoEujM6S8NjnebJCWnlFB9DM4ZU=;
 b=L/CVNvMuBbSORvnpD8z54biJmO1PIU7Vsc0FhYZEU66C1zFXirBDfQMhHfuZos/8e2LyBfpZUr5b0ptBFJ2IAWTvzMoY8YboLcdlT2nXTdaE6TtauXfV1jR1G6jVT3bsUUziI7ikNSG5VPBSUep1jFS/F9XlBL4BuVslsdzcZN+HT3EuGemNDXi41PicmuwqDfhzzSHDcMh2YIJUDSamoVs4BIhoyqKa1ocNwG4mY0Z7y5oluBx45zqYSsR41VsqZFTEOpdIcGt2ElwPFRstoF+bzN1QeBCc9D4+MBYMe4KxHz3NFVGTzmZpwpu6C1BWP4rBui2ok76ArOcBLYXzUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4GWJXXh6iF5n49mHzoEujM6S8NjnebJCWnlFB9DM4ZU=;
 b=gN3bW9/jpjyCAjoZuKovOryGLx7y/ai+8SbUju/Aa+D8OJw4RQLlCUWtLqJ4WCXL6WNj86FQzCgMdi++F+XlezehHyP/sylaEISFwNsc4HUnbItVaRt4kTwu3CmEVzsCsu5M+0Cl6LshHGVNfzYlraZFZ2iv3uGEusMb/Acxc3Q=
From: Bernhard Kaindl <bernhard.kaindl@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Anthony PERARD <anthony.perard@vates.tech>, Andrew Cooper
	<andrew.cooper@citrix.com>, Michal Orzel <michal.orzel@amd.com>, Julien Grall
	<julien@xen.org>, Roger Pau Monne <roger.pau@citrix.com>, Stefano Stabellini
	<sstabellini@kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH 2/2] xen/mm: Fix offlining pages only make aligned
 buddies, fixes Xen crash
Thread-Topic: [PATCH 2/2] xen/mm: Fix offlining pages only make aligned
 buddies, fixes Xen crash
Thread-Index: AQHc7rG97rz5vj9jlUWcOgJRfT0PHbYrXS4AgAGK/YA=
Date: Wed, 3 Jun 2026 14:19:08 +0000
Message-ID:
 <LV3PR03MB7707A881E351B37D830EB2E587132@LV3PR03MB7707.namprd03.prod.outlook.com>
References: <cover.1779979589.git.bernhard.kaindl@citrix.com>
 <cdaec995676e17f0943cb921eb5ad9f87b96526c.1779979589.git.bernhard.kaindl@citrix.com>
 <017fd1f2-d00b-45a8-b36f-945a0f42a85b@suse.com>
In-Reply-To: <017fd1f2-d00b-45a8-b36f-945a0f42a85b@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: LV3PR03MB7707:EE_|LV1PR03MB989608:EE_
x-ms-office365-filtering-correlation-id: b977e17e-e0ff-4dba-ec7c-08dec17b13a1
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|10070799003|1800799024|376014|18002099003|22082099003|4143699003|11063799006|56012099006|38070700021;
x-microsoft-antispam-message-info:
 Em/5hN3KLD6EAH3a+bchRJT08+FVFL6j8q9RGIHDZWUt+k4voE8vLEJZWQW8PFt5L6IWhinQPfFrkQVIctPMySEBeth57Z2ymJeCuKPUEcSn8ZuoJGiNTgFrKNvquIh8X7G0vw4oxTNB4p17Jt5ZtowvF6bNDEw5F5ZsZcMoEznrb8g35MkUHmvU2k+1Sq63bPMjp2tu/QhJiaFbMwbVKeYTDlj3q+a2QjZM49/ci2hsCPwEEhVlW0cmlDfRzpVH4g+W014KdUPeRytWA1jM+EDUprn5pJ2Z45RLPM0tdmHt61hrY1Uf8Bd09etP5UOpgDhcK56i+G5uiOJEhKTSLRM4uaFmRV7yaDYSYVJXrcHbnskF/8N2WPQOwMfSy9YXbbuvAWOXRHCSYoS/F0cwox1vG9oVOWHDP/Dy+EVZJ4AUuf4UbplVh9XnRN1uqilGksrlub0roI092zxornJdtu2ylyfTXpv01h1H2psC2xWgg/aLZXQ4CG1YBrokXH/2+jCHJEWL3iyUffZEXJGuxmn1wWvZm8Z8b/CsPZFzYUGJjHvKL3ZVf7FpYtXxriFtHAcs3mge2CYvM3Zp+1C2dhOHcxec1iUlic910w4ZfYiJe6Fr8NMdqtqlLASwPfvNizcNRebbm2OAdrYz5ZI8zXznjEIuRqU1ymTj/t/r11YQRRs6Bo5kagh3GU3D2obn3QB26KcGerOxSCOZG95L1ggnbuPA/O+NVsiUenFKgprvGI5IR7INY3FSOndqkXwh
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV3PR03MB7707.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(10070799003)(1800799024)(376014)(18002099003)(22082099003)(4143699003)(11063799006)(56012099006)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 2
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?VkF5QXNqRmIwMTBSWnBqLy90Tzdaelg5cTRCRDkvQjBNZ245Z1V5Y1QwRWV0?=
 =?utf-8?B?UzFYV1FCWVUvc004TXl0LzhZR21tdG1ic3lmREJjd2ZKMEN5VFJOSnZwUS9w?=
 =?utf-8?B?aGRSMWV4VWtmNTd2TWFnNXVrUWxhUGRuYlhhbnFDL1BHbTVwdGgzbHZPbnhl?=
 =?utf-8?B?QmhlbXhpSjJyNVFlZm5rN1J4clhTMnB6S3d1Y0xrczBiNnUvUWxNSFozVDNj?=
 =?utf-8?B?RmpZUDNOOGd5NDY1NkRUY2c3UGNmcnpDWC9LVW9ZVFBTSmtmZTlIRTlwM01E?=
 =?utf-8?B?WDVlaERCZ3hEcGo5TW1vNExYcTNwTWFBOEQybXdiVnorVGxCQXliZ0trL28y?=
 =?utf-8?B?a3lBVnZUWEFSL2VmRkpxb0VmZ3Vyc3dMeUROZGNJaG5KTHI0a3Y1c3hiTW5a?=
 =?utf-8?B?bUxQUU1Iblk4bWZCdjYzU09NUEpNd2lwTTRzN1JjQVIzUldMc2hScXJ1ZUpT?=
 =?utf-8?B?OTJHMkc2LzNabEZrTlZXNlFhZG41amk5NEZFUVBRZEpnR1NQSDNsZDdUY0ZP?=
 =?utf-8?B?RHFZd3FGV0FPV3FYOHBONHNvQW16S2ZrNEFPdkdVVjB5ZXhLaExheDhUM0lm?=
 =?utf-8?B?SUR5azcxRUFTZkZVdmxHd3QvM3RJLzRONCt2N0RFV3BhckNNN05IK2E4VGFy?=
 =?utf-8?B?cVI4ZEJESmtMTjlXZlFRMEQvai9ES3F1RFdQN3p3L05Ra3FsbnBDYnQzTSsz?=
 =?utf-8?B?Nm1scDBZemVvanF0azZPNktrYTNZODFOc2lkU3hWY1FzMVFoamlGamRRTDZE?=
 =?utf-8?B?eUZKYmJjNDJQaDZ4MFlhdERTeEwxSURXWkdqSjFQZEc0ZytXS080TU00TFg4?=
 =?utf-8?B?eUFGK3I1ZDFNTEsvNXVhai9OTE9mVHhtVTFZaTZocjhEUlY5SFJwSmF1RUwz?=
 =?utf-8?B?Ulc3bmhFNVpjb0hFdDFhN1QyNFpqZWV6OG1XNEZpVTl5YkJsTENjREErbVJ4?=
 =?utf-8?B?MkJTc0Y1SDNWOG5HSGRndnN4TVhEdXJrK1FXWndndzB3YjgvNFUzOFZpL3Ny?=
 =?utf-8?B?dExkS1NwemVBc04rTTNlbkxxSUpNMmp2VUVxcEU0WjJrcm5BeWpkQ2w3QlFV?=
 =?utf-8?B?OTJRNW1jVWxHYldxTHpXYUNESGRzQndkSFoxMGFHdXhScWZ5T0hGMm1VQ3A1?=
 =?utf-8?B?eXR3NWJsczhPR2lVWXQvbmhwZjZsV09UTzRuQmFxdHpzSm1wUGxDZThlZUgx?=
 =?utf-8?B?TW9vQnNaSi9GaEIvL0RKUjRjR2UxcldrK2RCQzNPVC9jc0pMeVRIQU92NlE5?=
 =?utf-8?B?Wld2TGZTYyt0ZHFJaW1BNHloZnozaDFHNTZpRTdQdVpDZkFzQUg1aTN1Q2tX?=
 =?utf-8?B?SjdUODFTRmNjOWxQZGdwWWdyNzZmUTZSSitlZjkycFVrMzBVUCtrN2hER1g5?=
 =?utf-8?B?TGVPQzhiVExiWXJGWTgxbGlZeHdqSTFaTG1uQlpQd01qbjB1ek00b3BKanha?=
 =?utf-8?B?UWh4K1pWalQ1c01ZVXhKby9qTXBHVFQ0Rkx3ZjZKeUtVMzZEdFVuaGpsdnhI?=
 =?utf-8?B?Y0hRU3RzYTVKM28vM200WEExekZVOVJQNVdQb1dVdWhqWjZOMFdFdGs4blRj?=
 =?utf-8?B?V1BDU3JjTDVZS3VsUXY4Z0M2TEtPZDN6ZTJNNndBS09EUjk0QUdaazkxTDJB?=
 =?utf-8?B?dXc3U2U1dFdvbUlvaWNVYVBjWjdKb3N0ZkdlcUgzbkZzM3FFVWZpMnlyTEhO?=
 =?utf-8?B?U3pYSm1KNlo4K2hua0xsTDVJSHVUcFk3MGpNS1ZTa3RkTktjdExSVDFKZGF2?=
 =?utf-8?B?SS8vQXBHSUs3UlNTaUhuQ3FqNVBGWlNNOEs1UGsvTFFmWlptcmZLMHVIcGJZ?=
 =?utf-8?B?cDZlcVQ3RllPT1AvZ25hNmpuM1dYaTk1bHNkdTgwUlpra3B1a0ZWMGlGOW9z?=
 =?utf-8?B?S1JTRVhKMGFRcms3RDFRSWhGSFNIdWpqY0V5TUMrdWJUNGdBaDl3UVAzbUxJ?=
 =?utf-8?B?OXNPYTV1K1BFWkRlNlg0THF4eGlSSkdwMDVyL3RJZ0NVbVUwRE5MbUMrMmtU?=
 =?utf-8?B?MG1QRWkyT2Y0Mk85UGI5UHpGM2Y3M3ZjVWhDVmhaZGIwUFFDRHg4dERCa2xT?=
 =?utf-8?B?cjIraXhGVjd3OWFLMTFnU3ZKYWp3WWhvWWVGSmJlRjc3b2w1R2d4bFdFZHpV?=
 =?utf-8?B?blFSN1FTcEJqUUI0Y0VDR2xremJvdDdOckR2TU0zL09XenNMUHc4VVBKa2RK?=
 =?utf-8?B?MFhLeDFGakd5UE96Q1paUWgxaXhDUkk5U1B2c1k2ZlhLcVVJejBmNVBlaXEy?=
 =?utf-8?B?NE56R25qRzlKaFRLODdlbVFMeldNd0lBRmozMklDenhCQkVFNGtiWjhHbXBt?=
 =?utf-8?B?RDMzTzIzeFRWb0w2K3ZMR0lna3F2aXdrNVE5Z21OdldZQ0RSd2FxRjBxbVY3?=
 =?utf-8?Q?NbeGWdiklZkvV8EspQ9G4JZixGY/SMHLi+8PwEgoAoj5m?=
x-ms-exchange-antispam-messagedata-1: 12t+iXCwTfVyCg==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: LV3PR03MB7707.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b977e17e-e0ff-4dba-ec7c-08dec17b13a1
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jun 2026 14:19:08.7654
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: sRrMfmV1fjn29eqxScyoy9wFidbtaG4MIN/mfLE6yfd/PGO4VW7JgYlXTPrB1TFsa8gJfRKwBDPjmjwjdLN7n4fMyCDs0MnAWGaxlfC06LU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV1PR03MB989608
X-purgate-ID: tlsNG-d62444/1780496351-B494FFF4-647F6403/0/0
X-purgate-type: clean
X-purgate-size: 502

DQpbLi4uXQ0KPiBXaXRoIHRoaXMgaXNvbGF0ZWQsIHdpdGggdGhlIHRpdGxlIGNoYW5nZWQgdG8g
c29tZXRoaW5nIHdoaWNoIGNhbiBiZSBwYXJzZWQNCj4gYW5kIGRvZXNuJ3QgZHVwbGljYXRlICJm
aXgiIGFzIGEgd29yZCwgYW5kIHdpdGggdGhlIGV4Y2VzcyBwYXJlbnRoZXNlcyByZW1vdmVkDQo+
IGZyb20gdGhlIGlmKCkncyBleHByZXNzaW9uOg0KPiBSZXZpZXdlZC1ieTogSmFuIEJldWxpY2gg
PGpiZXVsaWNoQHN1c2UuY29tPg0KDQpBY2ssIHRoYW5rcyBmb3IgdGhlIHJldmlldyENCg0KSSds
bCBzdWJtaXQgdjIgd2l0aCBhbGwgY2hhbmdlcyBhbmQgdGhlIHNpbXBsaWZpY2F0aW9uIG1vbWVu
dGFyaWx5Lg0KDQogICBCZXJuaGFyZA0K


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:20:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:20:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326488.1591937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmSF-0001Yo-RO; Wed, 03 Jun 2026 14:20:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326488.1591937; Wed, 03 Jun 2026 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 1wUmSF-0001Yh-Ni; Wed, 03 Jun 2026 14:20:23 +0000
Received: by outflank-mailman (input) for mailman id 1326488;
 Wed, 03 Jun 2026 14:20:22 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <bernhard.kaindl@citrix.com>) id 1wUmSE-0001YZ-JL
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:20:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmSD-007Yyr-Qh
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:20:21 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a203820-e002-0a2a0a5209dd-0a2a4502e258-18
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:20:21 +0200
Received: from [160.101.131.9] (helo=na1pdmzitismtp02.tibco.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a203824-af86-0a2a45020019-a0658309950c-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:20:21 +0200
Received: from debian.eng.citrite.net (unknown [10.113.40.46])
 by na1pdmzitismtp02.tibco.com (Postfix) with ESMTP id 0A6228244E4C;
 Wed,  3 Jun 2026 10:19:02 -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>
Authentication-Results: eu.smtp.expurgate.cloud; none
From: Bernhard Kaindl <bernhard.kaindl@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Bernhard Kaindl <bernhard.kaindl@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>
Subject: [PATCH v2 0/2] xen/mm: Ensure page offlining only creates properly aligned buddies
Date: Wed,  3 Jun 2026 15:17:25 +0100
Message-Id: <cover.1780495548.git.bernhard.kaindl@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1780496421-AA175161-32080734/0/0
X-purgate-type: clean
X-purgate-size: 3794

This series fixes a bug in reserve_offlined_page() where growing
buddies around offlined pages may create misaligned buddies and
return them to the free lists.

For example, pages may be offlined following an MCE caused by faulty RAM.
Once a misaligned buddy has been placed on a free list, a particular
sequence of allocations and frees may cause the same page to be allocated
more than once, eventually triggering a Xen BUG() in alloc_heap_pages().

As requested for backporting the fix, the first patch adds the alignment
check while the second patch now adds the regression test for this issue.

As minimal example, consider an order-2 buddy (4 pages) with this layout:

   +---------------+-----------------+-----------------+----------------+
   | head page     | tail page 1     | tail page 2     | tail page 3    |
   +---------------+-----------------+-----------------+----------------+

reserve_offline_page() then merges unaligned tail pages:

   +---------------+-----------------+-----------------+----------------+
   | offlined page |     head page with a tail page    | single page    |
   +---------------+-----------------+-----------------+----------------+

When a single page is allocated from this buddy, MFN 7 is allocated:

        MFN 4             MFN 5             MFN 6             MFN 7
  +---------------+-----------------+-----------------+----------------+
  | offlined page |    head page        tail page     | allocated page |
  +---------------+-----------------+-----------------+----------------+

If MFN 7 is freed, the predecessor merge in free_heap_pages() kicks in,
merging MFN 7 with its naturally aligned predecessor page at MFN 6:

        MFN 4             MFN 5             MFN 6            MFN 7
  +---------------+-----------------+-----------------+
  | offlined page |    head page         tail page    |
  +---------------+-----------------+-----------------+----------------+
                                    |    head page        tail page    |
                                    +-----------------+----------------+

The next allocations would allocate MFN 7 again and MFN 6 as well:

        MFN 4             MFN 5             MFN 6            MFN 7
  +---------------+-----------------+-----------------+
  | offlined page |    head page         tail page    | <- BUG() on alloc
  +---------------+-----------------+-----------------+----------------+
                                    |   in-use page   |   in-use page  |
                                    +-----------------+----------------+

When the next page from this buddy is allocated, get_free_page() returns
the buddy head MFN 5. An order-0 allocation splits page 6, or an order-1
allocation allocates the whole unaligned buddy. alloc_heap_page()
catches the attempt to allocate MFN 6 for a second time as a bug:

   pg[0] MFN 842adc c=0x4000000000000000 o=0 v=0 t=0
   Xen BUG at common/page_alloc.c:1324

You can pull this series with the regression test environment to run it:
https://lists.xen.org/archives/html/xen-devel/2026-05/msg01163.html
git pull git@gitlab.com:bernhardkaindl/xen.git offline-unaligned-buddies-v2
make -C tools/tests/native TARGETS=offline-unaligned test

Fixes: e4865c2315 ('Page offline support in Xen side')
Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>

Bernhard Kaindl (2):
  xen/page_alloc: verify buddy alignment in reserve_offlined_page()
  tools/tests: Regression test checking unaligned pages after offlining

 tools/tests/native/offline-unaligned.c | 60 ++++++++++++++++++++++++++
 xen/common/page_alloc.c                |  5 +++
 2 files changed, 65 insertions(+)
 create mode 100644 tools/tests/native/offline-unaligned.c

-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:20:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:20:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326504.1591946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmSb-00023S-92; Wed, 03 Jun 2026 14:20:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326504.1591946; Wed, 03 Jun 2026 14: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 1wUmSb-00023L-4Q; Wed, 03 Jun 2026 14:20:45 +0000
Received: by outflank-mailman (input) for mailman id 1326504;
 Wed, 03 Jun 2026 14:20:43 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <bernhard.kaindl@citrix.com>) id 1wUmSZ-00021M-6D
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:20:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmSY-007Z4T-JH
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:20:42 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a203832-e002-0a2a0a5209dd-0a2a4509a1ce-16
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:20:42 +0200
Received: from [160.101.131.9] (helo=na1pdmzitismtp02.tibco.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a203839-2497-0a2a45090019-a0658309b3f8-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:20:42 +0200
Received: from debian.eng.citrite.net (unknown [10.113.40.46])
 by na1pdmzitismtp02.tibco.com (Postfix) with ESMTP id C9F038246340;
 Wed,  3 Jun 2026 10: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>
Authentication-Results: eu.smtp.expurgate.cloud; none
From: Bernhard Kaindl <bernhard.kaindl@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Bernhard Kaindl <bernhard.kaindl@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>
Subject: [PATCH v2 1/2] xen/page_alloc: verify buddy alignment in reserve_offlined_page()
Date: Wed,  3 Jun 2026 15:17:26 +0100
Message-Id: <6eaed95df4e5cb369a91281051ca9b5a2be564f9.1780495548.git.bernhard.kaindl@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <cover.1780495548.git.bernhard.kaindl@citrix.com>
References: <cover.1780495548.git.bernhard.kaindl@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1780496442-43979A53-E9B451E9/0/0
X-purgate-type: clean
X-purgate-size: 1963

reserve_offlined_page() fails to verify alignment when growing
buddies around offlined pages. Consequently, misaligned buddies
may be constructed from non-offlined page ranges and returned to
the free lists.

After a particular sequence of allocations and frees, pages
from such a misaligned buddy may be allocated more than once,
eventually triggering a Xen BUG() in alloc_heap_pages().

Fixes: e4865c2315 ('Page offline support in Xen side')
Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
v2:
- Updated the title for clarity.
- Bugfix isolated from the test case for backporting.
- Removed excess parentheses from the alignment check if() expression.
- Simplified the alignment check to use '& (1UL << cur_order)'. Because
  the covering buddy head is size-aligned, cur_head is also aligned to
  cur_order, making this reduction safe (verified against extended tests).
- Updated the inline code comment to accurately state that only the upper
  half of the next_order range is checked for offlined pages.
---
 xen/common/page_alloc.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 2c4ff2c34c70..2767376a710b 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -1202,6 +1202,11 @@ static int reserve_offlined_page(struct page_info *head)
             if ( (cur_head + (1 << next_order)) >= (head + ( 1 << head_order)) )
                 goto merge;
 
+            /* Do not grow to next_order if cur_head is not aligned to it. */
+            if ( mfn_x(page_to_mfn(cur_head)) & (1UL << cur_order) )
+                goto merge;
+
+            /* Check for offlined pages in upper half of next_order range. */
             for ( i = (1 << cur_order), pg = cur_head + (1 << cur_order );
                   i < (1 << next_order);
                   i++, pg++ )
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:21:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:21:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326526.1591955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmSr-0002Vn-J8; Wed, 03 Jun 2026 14:21:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326526.1591955; Wed, 03 Jun 2026 14:21: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 1wUmSr-0002Vg-EV; Wed, 03 Jun 2026 14:21:01 +0000
Received: by outflank-mailman (input) for mailman id 1326526;
 Wed, 03 Jun 2026 14:21:01 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <bernhard.kaindl@citrix.com>) id 1wUmSr-0002VM-3Y
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:21:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmSq-007ZEB-G3
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:21:00 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a20384c-5cb7-0a2a0a5109dd-0a2a4507de02-2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:21:00 +0200
Received: from [160.101.131.8] (helo=na1pdmzitismtp01.tibco.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a20384b-229c-0a2a45070019-a0658308ab14-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:21:00 +0200
Received: from debian.eng.citrite.net (unknown [10.113.40.46])
 by na1pdmzitismtp01.tibco.com (Postfix) with ESMTP id CEB3A4345DCB;
 Wed,  3 Jun 2026 10:19:52 -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>
Authentication-Results: eu.smtp.expurgate.cloud; none
From: Bernhard Kaindl <bernhard.kaindl@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Bernhard Kaindl <bernhard.kaindl@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH v2 2/2] tools/tests: Regression test checking unaligned pages after offlining
Date: Wed,  3 Jun 2026 15:17:27 +0100
Message-Id: <65cdc02f719eb9a3c72c9d5905d8387479c25e51.1780495548.git.bernhard.kaindl@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <cover.1780495548.git.bernhard.kaindl@citrix.com>
References: <cover.1780495548.git.bernhard.kaindl@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1780496460-21165C48-1A858566/0/0
X-purgate-type: clean
X-purgate-size: 3766

Add a regression test to check that offlining pages does not return
a misaligned buddy like to the free lists after reseving the first
offlined sub-page from a buddy and returning the healthy  to the free list:

   +---------------+-----------------+-----------------+----------------+
   | offlined page |     head page with a tail page    | single page    |
   +---------------+-----------------+-----------------+----------------+

After a seres of allocations and frees, such an unaligned buddy would
trigger a Xen BUG if this state is reached when the tail is allocated:

  +---------------+-----------------+-----------------+
  | offlined page |    head page         tail page    |
  +---------------+-----------------+-----------------+----------------+
                                    |   in-use page   |   in-use page  |
                                    +-----------------+----------------+

Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
---
 tools/tests/native/offline-unaligned.c | 60 ++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)
 create mode 100644 tools/tests/native/offline-unaligned.c

diff --git a/tools/tests/native/offline-unaligned.c b/tools/tests/native/offline-unaligned.c
new file mode 100644
index 000000000000..198bf952ba7d
--- /dev/null
+++ b/tools/tests/native/offline-unaligned.c
@@ -0,0 +1,60 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Regression test offlining to not return misaligned buddies to free lists.
+ * Copyright (C) 2026 Cloud Software Group
+ */
+#include "harness/native.h"
+
+/*
+ * Verify that offlining the head page of an order-2 buddy does not return
+ * a misaligned buddy to the free list, and the pages returned to the free
+ * list are usable for allocations.
+ */
+static void test_unaligned_buddy_merge(int start_mfn)
+{
+    struct page_info *pg = frame_table + start_mfn;
+    uint32_t status = 0;
+
+    /*
+     * Prepare a valid order-2 buddy (4 pages) with this layout:
+     * +---------------+-----------------+-----------------+----------------+
+     * | head page     | tail page 1     | tail page 2     | tail page 3    |
+     * +---------------+-----------------+-----------------+----------------+
+     */
+    test_page_list_add_buddy(pg, order2);
+
+    /* Act */
+    offline_page(page_to_mfn(pg), 0, &status);
+    CHECK(status & PG_OFFLINE_OFFLINED, "Page should be offlined");
+
+    /*
+     * The expected free list state after offlining the buddy head is:
+     * +---------------+---------------+----------------+---------------+
+     * | offlined page |  single page  |    head page with a tail page  |
+     * +---------------+---------------+----------------+---------------+
+     */
+    CHECK(page_aligned(pg + 1), "The buddy #%lu is not aligned to order-%d",
+          mfn_x(page_to_mfn(pg + 1)), PFN_ORDER(pg + 1));
+
+    /* Allocate and free a page to trigger buddy merging on free. */
+    free_domheap_pages(alloc_domheap_pages(dom1, order0, 0), order0);
+    CHECK((pg = alloc_domheap_pages(dom1, order1, 0)), "Alloc the order-1 pg");
+
+    /* Inspect the predecessor (pg is the tail of the unaligned buddy) */
+    CHECK(page_aligned(pg - 1), "The buddy #%lu is not aligned to order-%d!",
+          mfn_x(page_to_mfn(pg - 1)), PFN_ORDER(pg - 1));
+
+    /* Test allocating the remaining page */
+    alloc_domheap_pages(dom1, order0, 0);
+}
+
+int main(int argc, char *argv[])
+{
+    if ( !parse_args(argc, argv, "Test offlining to return aligned buddies") )
+        return EXIT_FAILURE;
+
+    init_page_alloc_tests();
+    RUN_TESTCASE("TUBM", test_unaligned_buddy_merge, 4);
+
+    return test_complete();
+}
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:25:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:25:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326563.1591964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmXA-0003L6-2N; Wed, 03 Jun 2026 14:25:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326563.1591964; Wed, 03 Jun 2026 14: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 1wUmX9-0003Ky-Vl; Wed, 03 Jun 2026 14:25:27 +0000
Received: by outflank-mailman (input) for mailman id 1326563;
 Wed, 03 Jun 2026 14:25:27 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUmX8-0003Ks-Rw
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:25:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmX8-00Fxjx-8W
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:25:26 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a203940-bab6-0a2a0a5309dd-0a2a4504d000-46
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:25:26 +0200
Received: from [209.85.218.45] (helo=mail-ej1-f45.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a203956-1dec-0a2a45040019-d155da2da9fa-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:25:26 +0200
Received: by mail-ej1-f45.google.com with SMTP id
 a640c23a62f3a-befd83e0521so165278566b.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 07:25:26 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bf0517721c2sm162199766b.3.2026.06.03.07.25.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780496726; x=1781101526; 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=yo8Lt/DDIuDA5NatzvFT3jFUg8fSKHYGam9lRTcri+U=;
        b=SFz156qKqYeInY3FnXoEAhyUZa2F7I2xmEwenK9H62JymctMAC8iICtrX117SpVGqs
         U1MUSimI2LSsXxb909FQczDlL3oWPUZETeYSFXQs201McVp3R7RnRcL4FZYex9Jod2N4
         GFpXg2DLR12kf43ZbdvaIa9u2YriUHNyTS2p1X6VWOZKOtULvHNeleoAkSzyTHWeZUmm
         duvxtMb9QclfEHrWHsJGe6TsrGUlZt02aTwoVABo2lE7YhDFVVCTC4IHeepq9aUGfRxR
         aiPUUrT6FgKn3tTWUKeDvRDDF5FRk2SQqjXlBA28wyzz1yjEs4KxWgtTkPOdHBq1cOKz
         l7bQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780496726; x=1781101526;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yo8Lt/DDIuDA5NatzvFT3jFUg8fSKHYGam9lRTcri+U=;
        b=L5gm/2dQPprHlbGREinMSAJ3tJwcGO6Dt2g9wMdc3qplRZbiiq/BortYU+OeETUW1R
         8SoFu62yvuQm9jHf9MLjYfJCpKpwWdsXW3vjjVsTpF2ubOTqaXRtfwPkX/OLS1W91aFB
         GuEH2P8cWHVnJGpJpq4aK546X0Xoa0SRd8PVVkhrDOYmTwKQ4DenfxZJLXpKtqtTAwUo
         JSS8HqVKHJjrdc2Ajx9i7xAZaiBWafmIYBeLswybx6Xv3KsJKVgAL9ABM97EfP4vF/Mi
         tC10dP7SjrOda25yFAhmHAC0iuigxd0AKlfsF1c/L8pUg3op4Vmh+BrC/wy3aAgKTQ9p
         dPNg==
X-Gm-Message-State: AOJu0Yzn9zIIK3Vw2QnFbhNTzwz334f9pK3uNuvJaT1EgM1ozgNXNkuO
	R23Exexb7vnJLu76IHAtjpv6euNKmPepS7orSjtaCxJptBewkOuJmUT4SCM83A==
X-Gm-Gg: Acq92OHu8nVvCRnrq/I3gkz8vcDVtkZOk9vX1u8HKFoyVNlYH90K6KjhgZjwZtXlRHW
	2SFypdbwDSx2l77wUB0cbu8eb/GQj0Pyme7r9AYH4eVHaHzHZX6wBawkSkYgKLRppqJ8jXcVcRk
	uTSHJzQxD31JP+qeqI+jHy9gwzAoYoZ8x8QfGbZDO74GfmCX/8Ezuy7u3EUR5rNV+ufIj3ecMrK
	xTNzO/UMdK0E2QpMVHTSaRry2K2Yu3PnaSdwF6hc/Ze4Mh3hdYeM/DuL45FlOudyUQwmmZgizsu
	sn2vfm/fDaNjoT31mxO3DZfE/HMT5JnZ+tb6+qB7FqBlRF9B6hqNbK/lDCKYqEmXQboV7iPHxAm
	okoYvO4sKiGzpOBAqyoWSS/C6yy72DI9QEkyuJaJ9Y8jNoFwo/YZKFr5NqeHYBZPrfXL0ogey9N
	OT1itcMIhlurPRCFIkyDTuDjRgeJkAnuAIyZ05WLwgXzp67fkZ4kuaJ2YszGsxJkyxzpw2V35SN
	lG3NlNvnke/tqkL8Q==
X-Received: by 2002:a17:907:2d91:b0:bed:15ff:5fe2 with SMTP id a640c23a62f3a-bf09f44243bmr168592966b.17.1780496725652;
        Wed, 03 Jun 2026 07:25:25 -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>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: [PATCH v3 0/2]  UBSAN fixes
Date: Wed,  3 Jun 2026 16:25:16 +0200
Message-ID: <cover.1780494838.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ebf023/1780496726-2B3673FF-BB1FF3E7/10/73395122804
X-purgate-type: spam
X-purgate-size: 1324

During Baptiste Le Duc's work on adding CI stuff for RISC-V several UBSAN
issues were found.

This patch series resolves the found issues.

CI tests: https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/2573666715

---
Changes in v3:
 - Reorder patches in the way that ready to be merged go first.
 - Merged to upstream/staging:
   xen/riscv: fix switch_stack_and_jump() for range beyond 1M
 - Add R-by for patch "libfdt: fix UBSAN null pointer in fdt_property()".
 - Address the comments from ML.
---
Changes in v2:
 - Address comments from ML.
---

Oleksii Kurochko (2):
  libfdt: fix UBSAN null pointer in fdt_property()
  xen: introduce CONFIG_HAS_SHARED_INFO for archs without a shared page

 xen/arch/arm/Kconfig       |  1 +
 xen/arch/x86/Kconfig       |  1 +
 xen/common/Kconfig         |  3 +++
 xen/common/Makefile        |  2 +-
 xen/common/domain.c        |  6 +++---
 xen/common/domctl.c        | 11 ++++++++---
 xen/common/event_channel.c | 14 +++++++++++---
 xen/common/event_channel.h |  6 ++++++
 xen/common/event_fifo.c    | 11 ++++++++++-
 xen/common/libfdt/fdt_sw.c |  3 ++-
 xen/common/time.c          |  2 ++
 xen/include/xen/shared.h   |  7 +++++++
 xen/include/xen/time.h     |  4 ++++
 13 files changed, 59 insertions(+), 12 deletions(-)

-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:25:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:25:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326564.1591972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmXB-0003Xx-9A; Wed, 03 Jun 2026 14:25:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326564.1591972; Wed, 03 Jun 2026 14: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 1wUmXB-0003Xq-6a; Wed, 03 Jun 2026 14:25:29 +0000
Received: by outflank-mailman (input) for mailman id 1326564;
 Wed, 03 Jun 2026 14:25:28 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUmXA-0003Kz-5g
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:25:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmX9-007UC0-IU
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:25:27 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a203957-2eae-0a2a0a5409dd-0a2a45059bec-0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:25:27 +0200
Received: from [209.85.208.48] (helo=mail-ed1-f48.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a203957-aaa8-0a2a45050019-d155d030f140-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:25:27 +0200
Received: by mail-ed1-f48.google.com with SMTP id
 4fb4d7f45d1cf-68c32f3c6d6so6685238a12.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 07:25:27 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bf0517721c2sm162199766b.3.2026.06.03.07.25.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780496727; x=1781101527; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Y+x37B1+Fyus2+jQomeDFwH7emsF7fUQXicCRbEPM+E=;
        b=SIPulOqdEFRQD+bNaTkyBW5OHMxkivLLBlOpGOXDkFRS11wspIbBee7dwmr09k+VYX
         veU72ikA6a92ioK24KA1d2JT3Be2SBWELIqaguRTUkjU6B43i6gHskCyjwBxspY8YFWj
         Q33sEfmz5Liwt2Wy4IWsHbv2eMB6GO+ndaZDBn6yGJoMhuyNJo78TYMS+UaMojRuxWH0
         +ysdPgCFE+Mc3UcJTfN0B2Fx8560pdglBcoULC8ycVhvnLwDgYE0yzDFghx50Bs2r+rM
         pelqcFHD67nWH+O2tYZ7DJBmPVW0YpWaDWxq8SlNv5Vt37VAZu+rdvF8wlvyVn7vrRoH
         qyHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780496727; x=1781101527;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=Y+x37B1+Fyus2+jQomeDFwH7emsF7fUQXicCRbEPM+E=;
        b=IuZGP5jQX02cQkoZHg7DoYyooI4PZnXNN2oFcemsfDVtp6HJxbYIFKJMopTbeZbXxN
         LJj0W2V3bV53hBkIo48L86gv+KP+6SHEbDj/Rr1KzCUpL1l9vF5QA0e4V0j+2NK7QSK2
         NCi3w2cGdGRlpsxJqfAW9uG/5XLRhLsR7fl0Q0hRLSzNY5U3TWZ1/29GgLv6Qdioksl0
         lnnunq65GchkJwwyifL6fwpcBIkVXqF2Id5Hp4cVcEZYTJ7a7KVLVOmDe0RSf3MyI5dt
         L6oN4NY2SvXYAYoBB0WzrCd/heC6S5/lWy7bROQF1+dna+TZIxNTK17e1Ceq2p8oyQih
         Jqlw==
X-Gm-Message-State: AOJu0Yw9J4TWZh2ypK72F0GlqBaIYGtZyah4MrGZ4gvJRKECyeXebOOO
	8IX98ES3VX3k2ETG6dgdXlnpxVHi1YW//5x43xRrFfmkZZXyr4abtz2GQPD3JA==
X-Gm-Gg: Acq92OGPuqNzfRyoWQpmmI6dg4sZXcKVswz0rAJH/cU25rlUnoRjsYBmjc27ol9M6cc
	5LqdblEuzt1y/ZukIgEZtpikeA+TurdY/AVsC3aBEtcIWJsNB8Eg3AP394Q+kI5nmpMnQz3izbU
	MMVmy1jW/S+NPszBKqrslnRJplUbd5gTIUmJj/CNl5+NKmnDHpKAC8myL4C7cShvcscdYB2YBbG
	y6eV39kEDh/GWt2u6x8vSIdSkAaX5NtUc0JAD96yqWxclc9oHgGsjFnlmkHH+okIXsQKizFYI5F
	Ll49QgGhMq1czOKGPZCuvAmZ7TDkzU6NXD+og8S7bL0aLAqZwF0NVwFZ5roNpDMf5NKJxX9KiYB
	DKLTnJlwbf/hZ1RJFDqjmAmG/SS8zvD3sT3vCXUEUyT+G301NAGvIlMaZ59xg+JO9ZlH5Q/IdmW
	kKzV7Rw3aVnVJajcgX3QClWbaYixdRyZymTiJ/ioEjMcyqbpa1OvNi7bBz/cFbDqjuPQF16MPJB
	IYDT7w=
X-Received: by 2002:a17:907:1c1d:b0:bed:19af:f89a with SMTP id a640c23a62f3a-bf0ac40a89amr191494066b.7.1780496726722;
        Wed, 03 Jun 2026 07:25:26 -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>,
	David Gibson <david@gibson.dropbear.id.au>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>
Subject: [PATCH v3 1/2] libfdt: fix UBSAN null pointer in fdt_property()
Date: Wed,  3 Jun 2026 16:25:17 +0200
Message-ID: <a543a82e2ed03126e9fa1d9749095b13f60456c5.1780494838.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1780494838.git.oleksii.kurochko@gmail.com>
References: <cover.1780494838.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1780496727-E0C65443-A21F4550/10/73395122804
X-purgate-type: spam
X-purgate-size: 1776

fdt_property() unconditionally calls memcpy(ptr, val, len) even when
len is zero and val is NULL.  This is a legitimate calling convention
for adding empty FDT properties such as "interrupt-controller", which
carry no payload.

However, compilers that treat memcpy as nonnull on its pointer arguments
will fire UBSAN before observing that len is zero.

Guard the memcpy() with a check on len so it is skipped entirely when
there is no payload to copy, bringing the code in line with the
nonnull contract.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Origin: git://git.kernel.org/pub/scm/utils/dtc/dtc.git f57e7df35df4

Fixes: f0ea06558068 ("libfdt: add version 1.3.0")
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Baptiste Le Duc <baptiste.le-duc@vates.tech>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v3:
 - Add Reviewed-by: Michal Orzel <michal.orzel@amd.com>.
 - Add Release-Acked-by.
---
Changes in v2:
 - Backport patch from https://github.com/dgibson/dtc/commit/f57e7df35df4a301961cbbf9433ba4e85c2ee5ed
---
 xen/common/libfdt/fdt_sw.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/common/libfdt/fdt_sw.c b/xen/common/libfdt/fdt_sw.c
index 4c569ee7eb0d..96d4cf571319 100644
--- a/xen/common/libfdt/fdt_sw.c
+++ b/xen/common/libfdt/fdt_sw.c
@@ -330,7 +330,8 @@ int fdt_property(void *fdt, const char *name, const void *val, int len)
 	ret = fdt_property_placeholder(fdt, name, len, &ptr);
 	if (ret)
 		return ret;
-	memcpy(ptr, val, len);
+	if (len)
+		memcpy(ptr, val, len);
 	return 0;
 }
 
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:25:30 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:25:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326565.1591982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmXC-0003mB-H5; Wed, 03 Jun 2026 14:25:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326565.1591982; Wed, 03 Jun 2026 14:25: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 1wUmXC-0003lv-Dq; Wed, 03 Jun 2026 14:25:30 +0000
Received: by outflank-mailman (input) for mailman id 1326565;
 Wed, 03 Jun 2026 14:25:29 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUmXB-0003Xp-81
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:25:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmXA-00CIZk-L5
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:25:28 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a203954-e002-0a2a0a5209dd-0a2a45099a3e-10
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:25:28 +0200
Received: from [209.85.218.42] (helo=mail-ej1-f42.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a203958-2497-0a2a45090019-d155da2ad9e9-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:25:28 +0200
Received: by mail-ej1-f42.google.com with SMTP id
 a640c23a62f3a-bf0170c80f7so284182866b.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 07:25:28 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bf0517721c2sm162199766b.3.2026.06.03.07.25.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2026 07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780496728; x=1781101528; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=miha+RILCA7ne03eYfC+l8atexUy0yz60KL9zHv6qbE=;
        b=eWjlPz/3YLufQo9NgBRV8fG8hcLnVE2XCxOI3FbkA4rL32eX6eAerAyvGFYJnGb/HN
         jhH6DfYFktxINIz0uRjhiipdUJAfAG37bd+bf+ZV16CLak8u9U6boI7E1Mhwz9Li71Wn
         d6CPf/9adlUNHGyX5FzNiazK7ynHsDDG5Mv1eIF4eCnQTwVjfXVjRuP+scztIB9ZAzJm
         qfOIaejXTG7IEdqKV/4aAJpAWQA1UbU7DiYn5UrCf2W8O0DQoMdvpqunFSKdYpAotKnA
         bekUm5G2untxZcewRDR1yF30DlRLgjiw4kStPR5xYqwRa2b+6aFYX/YccnlGbtUw4ekT
         f77Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780496728; x=1781101528;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=miha+RILCA7ne03eYfC+l8atexUy0yz60KL9zHv6qbE=;
        b=JfC311zZshthat9WCQOrQ09OWWnALhEhGvZR+SQ4mmMv3HPqdVKS21BctQmM3QV2kW
         rH9I8+lA2NgxfpQ5BIrQtEbdgPZaBq6/GNunM+QO11WjWJnwa7YwhVBBs0W8oQLk6DSh
         X033kLJxjIqIBsJJDDv0xzo49FNfPtThRykO1csq4vF0vOxcZVumsjbrMuFNZJTNX/Ow
         FbKozahAt1RAK756jr6KTM2qmGgcoKB7z7t5HwIBg22ABMGNKVW/t6vrlYURf0z9CoCD
         HlhOkXUQ8/ijn55n+jcRwrWGNFmA4jc2T/b1zSlAh9Ao8Cbc5ss4k+JY6MZjM8Tpd/Ex
         6w+Q==
X-Gm-Message-State: AOJu0YxfZJeU07ln7RoN0qvx7XX5spHOVKlhvwY6N9H0uWpLYKlZNZlZ
	X9j0JAmd4TnDMKY28H+U54+y/psKnOpfR6zUbGmBo+RkQ1xzxu43DgAm87hw4Q==
X-Gm-Gg: Acq92OGZOgOUf1Scqo25KY/tSvpIWvCdkjidBCyyJ4f+vLH9WrrkSewHTyD/wIkvWMi
	1ptb5Shp6rMHTcmVrdOEG/irMAzMMe3dXRFFTnoJANRVjIrzlzbtjtXbV6XSqQvJ20eLFqH1lGa
	5js32jnyB7rH9v1IUs3N+zuk1XKJQUO/hEG9U/s+IKWm33er0IctmOoVr1p0AEPV2KVrwtZJruK
	2hZ3qvL/ZfxoQcj0ykHC9EFN353IsCNCQ4UX+AtekQC7BlK2Tz5kZl1AfbTy4xWBF5HyZMRcjcC
	nJABk8ext2hKNJ4+m5cvRROhLZ9BlnD9DjzGLbzj7tY1sSMIVi1DRggFcktzxLWwNZQ/bd1I85E
	Gb1t/I03fWKDWl248WP30/x5m8+KfDUVukccpdPVPIHbXjahDAs3cm8HabqjGf12yMXZ+BNFBOb
	sTSNMH3dxC8lxC1snIyCPjrwfy/ziseDShrOay8Z1LGpIzmxyKkIC+m0z5UYuV35aODsbZ6HGke
	9bq/a4=
X-Received: by 2002:a17:907:3d44:b0:bec:d077:c4e1 with SMTP id a640c23a62f3a-bf0afcf41ffmr200574566b.47.1780496727766;
        Wed, 03 Jun 2026 07:25:27 -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>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: [PATCH v3 2/2] xen: introduce CONFIG_HAS_SHARED_INFO for archs without a shared page
Date: Wed,  3 Jun 2026 16:25:18 +0200
Message-ID: <7ed7b888e203b7cc6c3a3a82b3bcc89d90b3fb48.1780494838.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1780494838.git.oleksii.kurochko@gmail.com>
References: <cover.1780494838.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1780496728-8B790A53-B3395CF4/10/73395122804
X-purgate-type: spam
X-purgate-size: 11641

On architectures that run guests in dom0less mode without the PV ABI
(currently RISC-V), no shared_info page is allocated and d->shared_info
remains NULL throughout the domain lifetime.  Several places in common
code access d->shared_info through the shared_info() macro or directly,
causing UBSAN null-pointer errors on such architectures.

Rather than adding runtime NULL guards that are logically unreachable
on x86 and Arm (where shared_info is always allocated), introduce a new
Kconfig symbol CONFIG_HAS_SHARED_INFO selected by x86 and Arm.

On !HAS_SHARED_INFO the shared_info() macro expands to a dereference
of a pointer returned by shared_info_absent(), which is declared but
intentionally never defined.  Any use of shared_info() that is not
dead-code-eliminated will therefore cause a link-time failure, making
missed guards impossible to overlook.

The 2L event-channel ops call shared_info() and must not be compiled on
architectures without a shared_info page, so event_2l.o is gated on
CONFIG_HAS_SHARED_INFO.  On such architectures evtchn_init() installs
the FIFO ops as a placeholder instead; evtchn_fifo_word_from_port() is
guarded against uninitialised d->evtchn_fifo so the FIFO ops are safe
before evtchn_fifo_init_control() is called by the guest.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
With having in Xen:
   info->shared_info_frame = INVALID_GFN_RAW;
probably we want to add at least ASSERT() in tools/libs/guest code
as xc_map_foreign_range() doesn't check if mfn arguemnt is correct or not.
---
Changes in v3:
 - Introduce CONFIG_HAS_SHARED_INFO Kconfig symbol selected by x86
   and Arm; RISC-V does not select it.
 - Gate shared_info() macro on CONFIG_HAS_SHARED_INFO; on
   !HAS_SHARED_INFO it calls shared_info_absent() (declared, never
   defined) so any unguarded use produces a link-time error.
 - Replace runtime if (!d->shared_info) guards with IS_ENABLED() at
   call sites so both branches type-check and dead code is eliminated.
 - Guard shared_info_frame assignment in domctl.c.
 - Gate event_2l.o on CONFIG_HAS_SHARED_INFO; use FIFO ops as
   placeholder on !HAS_SHARED_INFO archs instead of dedicated stub
   ops; guard evtchn_fifo_word_from_port() against uninitialised
   d->evtchn_fifo.
 - Add static inline stubs for evtchn_2l_init() (!HAS_SHARED_INFO)
   and evtchn_fifo_init_ops() (!EVTCHN_FIFO) so call sites can use
   IS_ENABLED() without #ifdef.
 - Drop inaccurate changelog entry about "only FIFO ABI" migration.
 - Update the commit message.
 - Drop R-by: Baptiste ... as some extra checks are added.
---
Changes in v2:
 - Update commit message + subject.
 - Drop Fixes tag.
---
 xen/arch/arm/Kconfig       |  1 +
 xen/arch/x86/Kconfig       |  1 +
 xen/common/Kconfig         |  3 +++
 xen/common/Makefile        |  2 +-
 xen/common/domain.c        |  6 +++---
 xen/common/domctl.c        | 11 ++++++++---
 xen/common/event_channel.c | 14 +++++++++++---
 xen/common/event_channel.h |  6 ++++++
 xen/common/event_fifo.c    | 11 ++++++++++-
 xen/common/time.c          |  2 ++
 xen/include/xen/shared.h   |  7 +++++++
 xen/include/xen/time.h     |  4 ++++
 12 files changed, 57 insertions(+), 11 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 79622b46a10d..23ff49842c90 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -20,6 +20,7 @@ config ARM
 	select HAS_DEVICE_TREE_DISCOVERY
 	select HAS_DOM0LESS
 	select HAS_GRANT_CACHE_FLUSH if GRANT_TABLE
+	select HAS_SHARED_INFO
 	select HAS_STACK_PROTECTOR
 	select HAS_UBSAN
 
diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 2ce4747f6ea7..49697b795259 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -29,6 +29,7 @@ config X86
 	select HAS_PCI_MSI
 	select HAS_PIRQ
 	select HAS_SCHED_GRANULARITY
+	select HAS_SHARED_INFO
 	imply HAS_SOFT_RESET
 	select HAS_UBSAN
 	select HAS_VMAP
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 5ff71480eebe..8b48d84c79e8 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -158,6 +158,9 @@ config HAS_PMAP
 config HAS_SCHED_GRANULARITY
 	bool
 
+config HAS_SHARED_INFO
+	bool
+
 config HAS_SOFT_RESET
 	bool
 
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 6018e256147f..f69d47d18934 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -12,7 +12,7 @@ obj-$(CONFIG_DEVICE_TREE_PARSE) += device-tree/
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
 obj-y += domain.o
 obj-y += domid.o
-obj-y += event_2l.o
+obj-$(CONFIG_HAS_SHARED_INFO) += event_2l.o
 obj-y += event_channel.o
 obj-$(CONFIG_EVTCHN_FIFO) += event_fifo.o
 obj-$(CONFIG_GRANT_TABLE) += grant_table.o
diff --git a/xen/common/domain.c b/xen/common/domain.c
index bb9e210c2895..caf3b1e1ba0b 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -320,9 +320,9 @@ void vcpu_info_reset(struct vcpu *v)
     struct domain *d = v->domain;
 
     v->vcpu_info_area.map =
-        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS)
-         ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
-         : &dummy_vcpu_info);
+        IS_ENABLED(CONFIG_HAS_SHARED_INFO) && v->vcpu_id < XEN_LEGACY_MAX_VCPUS
+        ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
+        : &dummy_vcpu_info;
 }
 
 static struct domain *alloc_domain_struct(void)
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index b969f5ada6cc..edeb8ec32b3b 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -104,9 +104,14 @@ void getdomaininfo(struct domain *d, struct xen_domctl_getdomaininfo *info)
 #ifdef CONFIG_MEM_PAGING
     info->paged_pages       = atomic_read(&d->paged_pages);
 #endif
-    info->shared_info_frame =
-        gfn_x(mfn_to_gfn(d, _mfn(virt_to_mfn(d->shared_info))));
-    BUG_ON(SHARED_M2P(info->shared_info_frame));
+    if ( IS_ENABLED(CONFIG_HAS_SHARED_INFO) )
+    {
+        info->shared_info_frame =
+            gfn_x(mfn_to_gfn(d, _mfn(virt_to_mfn(d->shared_info))));
+        BUG_ON(SHARED_M2P(info->shared_info_frame));
+    }
+    else
+        info->shared_info_frame = INVALID_GFN_RAW;
 
     info->cpupool = cpupool_get_id(d);
 
diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index a3d18bc464e8..d8ff0122e86f 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -1323,9 +1323,13 @@ int evtchn_reset(struct domain *d, bool resuming)
         rc = -EAGAIN;
     else if ( d->evtchn_fifo )
     {
-        /* Switching back to 2-level ABI. */
         evtchn_fifo_destroy(d);
-        evtchn_2l_init(d);
+
+        if ( IS_ENABLED(CONFIG_HAS_SHARED_INFO) )
+            /* Switching back to 2-level ABI. */
+            evtchn_2l_init(d);
+        else
+            evtchn_fifo_init_ops(d);
     }
 
     write_unlock(&d->event_lock);
@@ -1624,7 +1628,11 @@ void evtchn_check_pollers(struct domain *d, unsigned int port)
 
 int evtchn_init(struct domain *d, unsigned int max_port)
 {
-    evtchn_2l_init(d);
+    if ( IS_ENABLED(CONFIG_HAS_SHARED_INFO) )
+        evtchn_2l_init(d);
+    else
+        evtchn_fifo_init_ops(d);
+
     d->max_evtchn_port = min_t(unsigned int, max_port, INT_MAX);
 
     d->evtchn = alloc_evtchn_bucket(d, 0);
diff --git a/xen/common/event_channel.h b/xen/common/event_channel.h
index dc94a43cc2dd..91f6d7b3d4bf 100644
--- a/xen/common/event_channel.h
+++ b/xen/common/event_channel.h
@@ -44,7 +44,11 @@ static inline void evtchn_port_print_state(struct domain *d,
 
 /* 2-level */
 
+#ifdef CONFIG_HAS_SHARED_INFO
 void evtchn_2l_init(struct domain *d);
+#else
+static inline void evtchn_2l_init(struct domain *d) {}
+#endif
 
 /* FIFO */
 
@@ -55,6 +59,7 @@ 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);
+void evtchn_fifo_init_ops(struct domain *d);
 #else
 static inline int evtchn_fifo_init_control(struct evtchn_init_control *init_control)
 {
@@ -68,6 +73,7 @@ static inline void evtchn_fifo_destroy(struct domain *d)
 {
     return;
 }
+static inline void evtchn_fifo_init_ops(struct domain *d) {}
 #endif /* CONFIG_EVTCHN_FIFO */
 
 #endif /* EVENT_CHANNEL_H */
diff --git a/xen/common/event_fifo.c b/xen/common/event_fifo.c
index 37cba9bc4564..4aa34ca13a56 100644
--- a/xen/common/event_fifo.c
+++ b/xen/common/event_fifo.c
@@ -62,6 +62,9 @@ static inline event_word_t *evtchn_fifo_word_from_port(const struct domain *d,
      */
     smp_rmb();
 
+    if ( unlikely(!d->evtchn_fifo) )
+        return NULL;
+
     if ( unlikely(port >= d->evtchn_fifo->num_evtchns) )
         return NULL;
 
@@ -420,6 +423,11 @@ static const struct evtchn_port_ops evtchn_port_ops_fifo =
     .print_state   = evtchn_fifo_print_state,
 };
 
+void evtchn_fifo_init_ops(struct domain *d)
+{
+    d->evtchn_port_ops = &evtchn_port_ops_fifo;
+}
+
 static int map_guest_page(struct domain *d, uint64_t gfn, void **virt)
 {
     struct page_info *p;
@@ -562,7 +570,8 @@ static void setup_ports(struct domain *d, unsigned int prev_evtchns)
 
         evtchn = evtchn_from_port(d, port);
 
-        if ( guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
+        if ( IS_ENABLED(CONFIG_HAS_SHARED_INFO) &&
+             guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
             evtchn->pending = true;
 
         evtchn_fifo_set_priority(d, evtchn, EVTCHN_FIFO_PRIORITY_DEFAULT);
diff --git a/xen/common/time.c b/xen/common/time.c
index 04a65f00b35c..cdfdc53b6a17 100644
--- a/xen/common/time.c
+++ b/xen/common/time.c
@@ -89,6 +89,7 @@ struct tm gmtime(unsigned long t)
     return tbuf;
 }
 
+#ifdef CONFIG_HAS_SHARED_INFO
 void update_domain_wallclock_time(struct domain *d)
 {
     uint32_t *wc_version;
@@ -117,6 +118,7 @@ void update_domain_wallclock_time(struct domain *d)
 
     spin_unlock(&wc_lock);
 }
+#endif /* CONFIG_HAS_SHARED_INFO */
 
 /* Set clock to <secs,usecs> after 00:00:00 UTC, 1 January, 1970. */
 void do_settime(u64 secs, unsigned int nsecs, u64 system_time_base)
diff --git a/xen/include/xen/shared.h b/xen/include/xen/shared.h
index 5b71342cab32..a938312170e5 100644
--- a/xen/include/xen/shared.h
+++ b/xen/include/xen/shared.h
@@ -43,7 +43,14 @@ typedef struct vcpu_info vcpu_info_t;
 
 extern vcpu_info_t dummy_vcpu_info;
 
+#ifdef CONFIG_HAS_SHARED_INFO
 #define shared_info(d, field)      __shared_info(d, (d)->shared_info, field)
+#else
+void * shared_info_absent(void);
+#define shared_info(d, field) \
+    (*(typeof(__shared_info(d, (d)->shared_info, field)) *)shared_info_absent())
+#endif /* CONFIG_HAS_SHARED_INFO */
+
 #define vcpu_info(v, field)        \
         __vcpu_info(v, (vcpu_info_t *)(v)->vcpu_info_area.map, field)
 
diff --git a/xen/include/xen/time.h b/xen/include/xen/time.h
index e9c0822e6f31..2f872f580ffc 100644
--- a/xen/include/xen/time.h
+++ b/xen/include/xen/time.h
@@ -66,7 +66,11 @@ struct tm wallclock_time(uint64_t *ns);
 #define version_update_begin(v) (((v) + 1) | 1)
 #define version_update_end(v)   ((v) + 1)
 extern void update_vcpu_system_time(struct vcpu *v);
+#ifdef CONFIG_HAS_SHARED_INFO
 extern void update_domain_wallclock_time(struct domain *d);
+#else
+static inline void update_domain_wallclock_time(struct domain *d) {}
+#endif
 
 extern void do_settime(
     u64 secs, unsigned int nsecs, u64 system_time_base);
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:25:59 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:25:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326578.1591991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmXd-0004go-U9; Wed, 03 Jun 2026 14:25:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326578.1591991; Wed, 03 Jun 2026 14: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 1wUmXd-0004gg-R4; Wed, 03 Jun 2026 14:25:57 +0000
Received: by outflank-mailman (input) for mailman id 1326578;
 Wed, 03 Jun 2026 14:25:55 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <bernhard.kaindl@citrix.com>) id 1wUmXb-0004bd-NJ
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:25:55 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmXa-00GFcI-SM
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:25:54 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a20396b-2eae-0a2a0a5409dd-0a2a450c8092-30
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:25:54 +0200
Received: from [52.101.62.66]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a203971-62f1-0a2a450c0019-34653e421431-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:25:54 +0200
Received: from LV3PR03MB7707.namprd03.prod.outlook.com (2603:10b6:408:28b::21)
 by LV1PR03MB989608.namprd03.prod.outlook.com (2603:10b6:408:3f5::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 14:25:51 +0000
Received: from LV3PR03MB7707.namprd03.prod.outlook.com
 ([fe80::97e8:ef9c:9031:e2bf]) by LV3PR03MB7707.namprd03.prod.outlook.com
 ([fe80::97e8:ef9c:9031:e2bf%4]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=lTVEu08hWrlQI0Vr/HKROsxqeWbcHi03GJQI/P1fsqm7QOEHV5KiwMVUiScynwlN+co6KidTpeimKhJI0/ZRZyIcwXOBCMyKEqMnsbCzUSXmQuaV2I4QUnPDOKv1KnmNcLydpGQssTjOqsllpEWTUES3t17dirIzzITT63pfB4d4OfMNRqEj5Go4AcoUoXiX6AtmRM/trNtztSUzzJ83qCCO2zq0RINNTnNynLGsqY8j7gMxU1nbHx6QtVp43/oXQeoBO6gQ6HgWFqKIZIUue5oADkhsO37fTm93qJnHO/JfxwxsfyCTEzSgremiyxsE+BATbm9dgEIKrvd/j8sltg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uTzEC9YnJUSm335s/FAurfidP0Px5xZwFO3J7JzfFlk=;
 b=CWNpbnGUfS9MY12K/woVxEAtfFYV3JbB1rxYhsg4DGhqNL+5FJ4Q0/7/A1iWqy/ttUgK4R3XcPjZoThkV22ZDbPNWdXVxRJzPveO/4bsbM0S7z0YzSmgmnlFrn6sEPfg/JSxNhxDAsrsZ1AXFtpsQG+/R1QEgLyJJrMCYwu5C8aNdIVyWv9b3Ti9Z+HH5IgyRJDrA47Yt0ytxamtf5B9n5YNVSy1YJS1SnaUF33EuaPoT0BY8dpKx6HlTdAmlL1Bd+DU/BhOISQaIy8rygwestINzW/PD29zQ303S/NYAOWsWDodbFe3erN0tRU1D6UE6OTXtSWeCa4ad5HlwyPgAA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uTzEC9YnJUSm335s/FAurfidP0Px5xZwFO3J7JzfFlk=;
 b=xAH3jPQNC6KLH62a9TsrzEjEefcGQTnjc6cEZjDxFjW3FFxsUUzO+cfRsZXg0IO2xdO38uwQRZkQ0ATYJn5wPZQAcbw77Yvlv1cyDrgl43TWa4alYJCC9cckxQarf531qzY2BkN9rM8Tiz5F+TdrZM1T3ZSZwN9xsimb2PEk4bs=
From: Bernhard Kaindl <bernhard.kaindl@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Anthony PERARD <anthony.perard@vates.tech>, Andrew Cooper
	<andrew.cooper@citrix.com>, Michal Orzel <michal.orzel@amd.com>, Julien Grall
	<julien@xen.org>, Roger Pau Monne <roger.pau@citrix.com>, Stefano Stabellini
	<sstabellini@kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH 2/2] xen/mm: Fix off-by-one stopping tail merge in
 reserve_offlined_page
Thread-Topic: [PATCH 2/2] xen/mm: Fix off-by-one stopping tail merge in
 reserve_offlined_page
Thread-Index: AQHc7rJm4c7CmMD34EmD9nfdurc6wbYrXvCAgAGNBGA=
Date: Wed, 3 Jun 2026 14:25:51 +0000
Message-ID:
 <LV3PR03MB77075021D89384D783865E7687132@LV3PR03MB7707.namprd03.prod.outlook.com>
References: <cover.1779980089.git.bernhard.kaindl@citrix.com>
 <b177222a50bb11647589f3143b8ba9771535b7d9.1779980089.git.bernhard.kaindl@citrix.com>
 <1110e571-db6e-4443-aa8d-6676d5b1edef@suse.com>
In-Reply-To: <1110e571-db6e-4443-aa8d-6676d5b1edef@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: LV3PR03MB7707:EE_|LV1PR03MB989608:EE_
x-ms-office365-filtering-correlation-id: e48c19de-858c-4e8c-3597-08dec17c03d2
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|10070799003|1800799024|376014|18002099003|22082099003|4143699003|11063799006|56012099006|38070700021;
x-microsoft-antispam-message-info:
 sExu7gqTj3/MtCWMzWbT86wIeQEJYMt2uqy8i8Dacyj5jYPGL3KQGAlnvtze1ovdvAEi7IDE/SSweBwT077DpDBaAysYDhVWWtNNpyy2uJqYYayWwHl9DPSiElMbRbfDV1a0/5F6RZswD3P/5wzfWkIWwD9BEPlH3joGCfMIcfq4QTh4tpXvZlLiwwECnfmYnms7OE3PpW3goOpqLxv7foibKZdd+3BecUJwr0oWRkr/aypYQYJDF+6x4p6Ic456XBvUBZ6/gvm2e/JFKbeHY3qyrW04xy5qfq2rabBGnDVhsE9tHtJh9EiNI72vMsyRZFepl2FaTLWMl6D56qJy3jCQbgHGxOHC9HQhLvad40aVDVzwO9uct5pEJ37nMEgLOpSo2mVtaXgj8w8NCzckTbI4QmKwM5TOji5P6giJkgl3S7DvLa+CVxHdA4SjUB+jW3jT24a2ER1J85T6Yd7wGRfh6OOaNpBOg0hH/5SS8ClrBubyimpC6cpH5b4o/yCo8o/eahmk7sj9QGySLT+KOT4+we484w45B5ejMqU6Maz96BZhd0bmCCw5hCXa74gJdM2GLf42Ztk5I77b0i9enEDTbYBCktK8tT32RgfErHuVglQSLetheOVUOPoTfeikiERJenGaRXxY4rwcBUyjfu0AG3mV5e1qEuN5bjeVtnC++CDxWXKFPPtesBVhFSz/Ogc7UtAcoiy9CiguioSegmBxEgmi8Vw3pSliRFAGgDQ8dFQ2HDvLd02IyMlc34ca
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV3PR03MB7707.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(10070799003)(1800799024)(376014)(18002099003)(22082099003)(4143699003)(11063799006)(56012099006)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 2
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dnVLbFZnVEMrSjV0WElqMVE1dkdUbjBQTVJRZnltc3lZR0Z4RTVZbkxPMitr?=
 =?utf-8?B?WnVHdFkvRWh2dWVobWczNUFkV2FQdUdSa1pkbTlLZ2NQaFJSMDRFRDFBL0kr?=
 =?utf-8?B?VWFWL2ZTRFd5Ni9RWGFJZkpPV3NUUklnc3F6MGZicnlKRk9GeGN0RVEwM2Zs?=
 =?utf-8?B?VlpLMGszMlliSUcySXNTNGRVS0dkS2VISXNEUkNYazZTdlB5cnZVd3pZbVZW?=
 =?utf-8?B?Ymp0WGdjS2dJTkR3ekU3ak5oSVhaOFo1b2d0cGJtQUNoNHNxcndZOG5FUHRP?=
 =?utf-8?B?czFvMnlVdW1mdUROeDlwT2VMUjRlV2NUVk54TWRVT2pEUEhleWJkRWVVSm5x?=
 =?utf-8?B?bC9WTzQ0WWo0K1Z6SXRSV21tc1dLeGZQSzBkbHU5VG5GZTZMeVl4enpZbHN6?=
 =?utf-8?B?dHFScVJCMUFPOGdmelplQ2NtU3lJMm0zYXF2N3FXVXlpUFZORzlsUXhiY2xT?=
 =?utf-8?B?RE1wODJSWlZrTThhWmZ1TlRSQ01rSlgrZFEzQ1B5ZkJodzNMNEFGa01FUTRD?=
 =?utf-8?B?MWRVQm5KTlZRREMxR0o1TitsSE5VS2h3VG1FcW1ieERaQ1FPSytmY3E2YXBz?=
 =?utf-8?B?WkxvSlg2d2REWlRpZWQ5UmdVa1BqY0RNR3lSc1hmWGdMOTBLM3JLYmxFdzlv?=
 =?utf-8?B?dDhUNlovc1k2WktoQXp6OFZHNUw4RVkwdm11MC95M1NCMnAwUTZLR042MFB0?=
 =?utf-8?B?WjFUWHVOT2RNc2VMNUZhbDJTRzBmTE5OSlJuemJZazk5NVo5bk1WdmNldHFo?=
 =?utf-8?B?cVRUZU5FazNzZFRVNVduaE5kV202aDcwKzZqZDh4bnFTK0NXM2VuUzNvSFJB?=
 =?utf-8?B?bzQybDQ3UG94SG5vR2dDWVFuc3pSQlVqQVBoTWY2Q3h4elJTTmdrM0cvYzdM?=
 =?utf-8?B?Z2RkYlRQZHI0Rm4yVGRvd0ZxTVk0RW1WUnI2QXRsWmhaMXRnOXlXb0FhMHdz?=
 =?utf-8?B?ZmxvcjR3M0NpQkdSOEw5U2YxblNwaTJxeThES0w0dFIzWDRtbExiR2lLMjdV?=
 =?utf-8?B?WXUweFhmVDNqVXUyYnZqRys1NmdvMWIrSjRPTVBUWlk5UktyQzJuNE5CSUNs?=
 =?utf-8?B?SEl6TFp2NUhoclU1eDNGNDMzQVJ3Y1o2MnZpUlpZV3hLMHcwZ3l6SHdHTk12?=
 =?utf-8?B?Qm8rUGxqTWxnOGZrM3BWNnVWTW9YRVlPbytBR0dneWc4b0w0S2M3dWRWb20x?=
 =?utf-8?B?SUtIdFRIQjk2OGhwT3RaWVFXTFpCWThPa2tJWDNycjQrMFVhdXpoWW4rbTZ2?=
 =?utf-8?B?Tkt2eSttWEZTS3hVSWZUMk1Lb2hvM2xYVzVHTGpuQ1RaZ0FPdlFVYUhYUmVY?=
 =?utf-8?B?UVlDUGowQnR3c1JrdDIyUHdvenQ4RzVjdDZWdWhWWmhCa2hTVHJUVzJPYWR5?=
 =?utf-8?B?S0EvcTcwWWFDK2pBYWNBYk1Xc2tJTmdud0IyamtxSE9oNEROcE11SjdaV0RU?=
 =?utf-8?B?K045ZFpMUFl6Y3NJSnV2UFVkd2NncnpMcVk5WVFzL3VTWTFJVzNKWDlmRVg3?=
 =?utf-8?B?SWx2TmxjSjNBVHlPZU4zYm50Qy9iVDFMaiszRER0WFBpZW1POTZMcjdGK2lO?=
 =?utf-8?B?dzJiRDJRYUNKaG9CVnN1cW56N2tHNmh0bXhRbVpzczFEMnBjakMxL3lUMXFL?=
 =?utf-8?B?THIzWmFKck1SUmtOVG9xQTJta0oyTm5FUE5SSDI3SXNjWk9GR3lBOGJ0THIv?=
 =?utf-8?B?Nm8xc2wvWmxXcSt1bGk5Rlc0VEJBOE5LUWdEL3JzRXZhR3dEUGhHNHdOSmhN?=
 =?utf-8?B?L1lKUTVtakRpMHZkZW9uM2NCRFEzOU9vM3NDVFNuNDY4M1VGYnZvNDRZYzBs?=
 =?utf-8?B?MzNkMzZkQ1VOV3NaVEVFR3dlVjB4S3lFcFNFR2cyREczazBiOEtVTzRuT3Uz?=
 =?utf-8?B?elpNWkprQWs3YTMrVXZhSVpQOW0vdStzUzVqcFRhRlc0TWRhdmFjeDhpVXJh?=
 =?utf-8?B?dGlSVEJEQWEyRzRwSlBxb2pQdVovQ01Ra092MmNOWlFTVW9vNTI4cGtCdWFu?=
 =?utf-8?B?UEVxamg4UEYwNmtxTnVIbkNKYlBNN0JzaCt4dFNhcnh6V0lGZXZsVHdia2hs?=
 =?utf-8?B?NjJtdGVVTVFNRWtuaFFmbER0MmV5OG15a2sxQnovYmhieFVEZ2hpaDV1QWVn?=
 =?utf-8?B?TUdIdTFsY1RPTGJPa1ZIS2ZUd1ZoL2xERlpSRWpuSG1QM0V6M0dVUWlScjNv?=
 =?utf-8?B?c0ZtM2Zna2R6KzhmK0liekF3MVp5QkNlSUtBTWtOWFdIZnkxRU9MeFEwOXA0?=
 =?utf-8?B?R2dGdkk2TzFvL0hjU0pSUG9FS2hGanpRbndXcThtTVFQWFRBUldaQm44KzJQ?=
 =?utf-8?B?Nk5pYUY2d21oZFBHUXl4SlhEc2E5am9HcENYaFpScThxWmZHWVRxd1dQV3pl?=
 =?utf-8?Q?+dWsczPtadZh0X1Qr6EGYVWxwwghUN8VQWY2noTi/rQAo?=
x-ms-exchange-antispam-messagedata-1: C0E5ZQq660iXMA==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: LV3PR03MB7707.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e48c19de-858c-4e8c-3597-08dec17c03d2
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jun 2026 14:25:51.6797
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: vrplA8QmWL3m+AoW0U7EJCxigV59XTkyt6plSTxeMXJouPxs/yWegxvnGm8t7MG1rxDUKJT8CkrLQ80GgXahK5E3lxXpXI9s/e5O9VzNdGs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV1PR03MB989608
X-purgate-ID: tlsNG-d25034/1780496754-DBB7CCF5-F5FF83E4/0/0
X-purgate-type: clean
X-purgate-size: 630

Wy4uLl0NCj4gTXVjaCBsaWtlIGZvciB0aGUgb3RoZXIgc2VyaWVzOiBXaXRoIHRoaXMgY29taW5n
IGZpcnN0IChhbmQgc2VwYXJhdGUgZnJvbSB0aGUNCj4gbmV3IHRlc3QpLCB3aXRoIHRoZSBzdHJh
eSBibGFuayByZW1vdmVkIGZyb20gdGhlIGxpbmUgdGhhdCB5b3UgdG91Y2gsIGFuZCB3aXRoDQo+
IHBhcmVudGhlc2VzIGFsc28gYWRkZWQgdG8gcmVzZXJ2ZV9vZmZsaW5lZF9wYWdlKCkgaW4gdGhl
IHN1YmplY3QgKGxpa2UgeW91DQo+IGhhdmUgaXQgaW4gdGhlIGRlc2NyaXB0aW9uKToNCj4gUmV2
aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KQWNrLCB0aGFua3Mg
Zm9yIHRoZSByZXZpZXchDQoNCkknbGwgc3VibWl0IHYyIHdpdGggYWxsIGNoYW5nZXMgYW5kIHRo
ZSBzdWdnZXN0ZWQgdGl0bGUgaW1wcm92ZW1lbnQgbW9tZW50YXJpbHkuDQoNCiAgIEJlcm5oYXJk
DQo=


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:27:57 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:27:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326586.1592000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmZU-0005JW-9b; Wed, 03 Jun 2026 14:27:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326586.1592000; Wed, 03 Jun 2026 14:27: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 1wUmZU-0005JP-69; Wed, 03 Jun 2026 14:27:52 +0000
Received: by outflank-mailman (input) for mailman id 1326586;
 Wed, 03 Jun 2026 14:27:51 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUmZT-0005JJ-A9
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:27:51 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmZS-0073ug-N4
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:27:50 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2039e2-e002-0a2a0a5209dd-0a2a450695e0-2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:27:50 +0200
Received: from [209.85.221.47] (helo=mail-wr1-f47.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2039e6-7371-0a2a45060019-d155dd2fd05c-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:27:50 +0200
Received: by mail-wr1-f47.google.com with SMTP id
 ffacd0b85a97d-45ef56d9b67so4227137f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 07:27: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-4601f360bd6sm8492883f8f.36.2026.06.03.07.27.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 07:27: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780496870; x=1781101670; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=PskSbrUCnmHESNWYUNpNeSr6enLDZQdnwF1ihtcUwDc=;
        b=CUR90Gnuvrv6AIfcuACFF3rFoJ7TXE/75KyVjx+d8rpmZ6O512HhgMLhVpt1Jj/UbF
         xtVkc5gubex/r1vAbY2QZ1j9M7WFrtcR4jAKO+Jr3xtNu0T42/Q9xn3hG/22xME/4V9t
         BUDwSINj7/N5XyPl30Qp1GH5cgyLQw4MnlrASBt/jhAOMQKkcsllUl6agwZtjgVxXNWa
         4QdrXK7nkLQaqpkfGGK/BFihDfvrgv1/fik3ePZAnzy5N1FCNmRu+TQtvag4P+KpbhDD
         uSoFL04bDvTXuRCf8KMNnrX+NCWPI/VXnN1UH36FmFuKeivNq/729GftIiIQfdIbWXpv
         cbpA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780496870; x=1781101670;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PskSbrUCnmHESNWYUNpNeSr6enLDZQdnwF1ihtcUwDc=;
        b=o1gVQ798l/i7xZUK0mrzktE2In6l0FIULCiU+5cwNSYq2eD/2Lp9Le0wEZCU6R10M7
         tt1Zaqa0Up7S4VADAa+G3zeiMMCMkpxc41z/tztoQXxy/y2OYVB2pMir6aa3bQVtkp5E
         nk/nnYCYiIQ72wYeDH42SlC9eUolgJCLntH6PmLpNHu+7bk9iWa+Eu20AOtuP+KPxRie
         1Sw4BjKdUCvJA+4Szc0O5i9zF82KaiEWAN/GlAYkUIjOXRWNis6pDh/sccyS2i7iy+sf
         2iKba61FwBgval4T/svelwfnEE7rC14D4awsJUQ94spb+S3s25rt3+FU+Hc1NsB0Ruzn
         ap3A==
X-Gm-Message-State: AOJu0YyhxgBKCTgWswluxbFrstf7pO2wBoEz0bBuTRBBlzNucQmnCHOM
	UW7sBBDV7AvEeFLEKKxpIeexpbKXha1pOEmuDsN+EEN0TpJ7D7BVzmEqhLZLxo2cBg==
X-Gm-Gg: Acq92OGqLjgNcKII0zj4tn1sL0aEMBYynQdy02o3YYp+waLNIULOpqPoMtsOjc2Zh+2
	zpf9xkUiStgJSAqHQyMwBeGUVLmgBvVO4R5blwX3xR38s0/84rnNXCKd522wseZBgokvb7zD3u3
	YFKEKiOGQT3m2pExG0F0T2nG+FSYjVfev/BxDcrkbsCnsfb7MN32DvQ4Va1VDHnsNsMTW/YJdd1
	PESei6E+zm1gRNlsZW2O6NR65lYDLuefyDwvbTOZrBBYnhUQeVBhhSSi2iFD0Ko+PgEu558ldUu
	wm/JhbBZ2C+H2QtNEMtRppnc1f+NZ8wa7oq3lUI7aB/D8D++h6rvUgqhR+HQ23E8ljz9j2m0emi
	ehYcfg2ltzf+ONBUWJ8fImx827ObtxpwUKiOUfS4aOV0aBkxmcu2FsJYsnMYSK6Aig9wH9Noolk
	rt7uu62JRuzD+S34+L5Ceom+Y5SKfttkUKCQIxKEdu8b69P7t4s/9UbaIBqjpRX+aLCgYz/j/gc
	7p6g0wh/uu4U0KpywVx0NPMmA==
X-Received: by 2002:a5d:64c9:0:b0:45e:a314:ce0c with SMTP id ffacd0b85a97d-460218aae0cmr5574675f8f.1.1780496869859;
        Wed, 03 Jun 2026 07:27:49 -0700 (PDT)
Message-ID: <40e127c4-98da-41d7-b7a7-6298553d2f7d@suse.com>
Date: Wed, 3 Jun 2026 16:27:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/x86: Change stub page freeing to fix smt=0
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>, Teddy Astie <teddy.astie@vates.tech>,
 Jason Andryuk <jason.andryuk@amd.com>
References: <20260526203114.40882-1-jason.andryuk@amd.com>
 <ah26nl95MgqhPPAi@macbook.local>
 <5cdfca65-50f8-487a-a146-86e1a68f459c@amd.com>
 <ah5_0vvipY2Wch-x@macbook.local>
 <cf275fef-27fb-4d73-bbc8-9a75c1836608@amd.com>
 <aiA3T2DvE0v6uwoC@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: <aiA3T2DvE0v6uwoC@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1780496870-86369D75-61544CF5/0/0
X-purgate-type: clean
X-purgate-size: 5571

On 03.06.2026 16:16, Roger Pau MonnÃ© wrote:
> On Wed, Jun 03, 2026 at 10:03:53AM -0400, Jason Andryuk wrote:
>> On 2026-06-02 03:01, Roger Pau MonnÃ© wrote:
>>> On Mon, Jun 01, 2026 at 05:07:52PM -0400, Jason Andryuk wrote:
>>>> On 2026-06-01 13:00, Roger Pau MonnÃ© wrote:
>>>>> On Tue, May 26, 2026 at 04:31:14PM -0400, Jason Andryuk wrote:
>>>>>> A single stubs page is initialized with 0xcc and re-used, with multiple
>>>>>> CPUs each using a portion of the shared page.  In cpu_smpboot_free(),
>>>>>> each stubs area is checked against 0xcc.  When all are set to 0xcc, the
>>>>>> page is freed.
>>>>>>
>>>>>> Booting a system with smt=0, CPU0 is initially setup, allocating the
>>>>>> stubs page and initializing to 0xcc.  When more CPUs are brought up,
>>>>>> CPU1 is initialized and then immediately brough offline as it is the
>>>>>> sibling of CPU0.  Since the page was initially memset with 0xcc,
>>>>>> cpu_smpboot_free() finds all stubs as 0xcc and frees the page.
>>>>>> However, the page is still assigned to CPU0 and continues to be assigned
>>>>>> to other CPUs.
>>>>>>
>>>>>> Meanwhile the page can be reallocated, which can lead to misbehavior.
>>>>>> The particular instance was the stubs page re-used as a page table which
>>>>>> later faulted when the entry was all 0xcc.
>>>>>>
>>>>>> Change to initializing the page as 0xd6/STUB_BUF_FREE, and initializing
>>>>>> individual stubs as 0xcc/STUB_BUF_USED.  0xd6 now indicates unused, and
>>>>>> 0xcc indicates used/assigned.  When freeing a CPU, the stub is set to
>>>>>> 0xd6, and the page is freed if all stubs are 0xd6.  Initializing with
>>>>>> STUB_BUF_FREE lets cpu_smpboot_free() a page that was only ever
>>>>>> partially used.
>>>>>>
>>>>>> 0xd6/UDB is a 1 byte invalid opcode, which is similar to the existing
>>>>>> use of 0xcc.  0xd6 is used to identify bug frames, but the stub addr
>>>>>> (e.g. 0xffff82d07fffe000) fails the is_active_kernel_text() check.  It
>>>>>> should be okay to use here.
>>>>>>
>>>>>> Fixes: 7a66ac8d1633 ("x86: move syscall trampolines off the stack")
>>>>>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>>>>>> ---
>>>>>> It would be nice to use get_page()/put_page() to let count_info handle
>>>>>> reference counting, but they require an owning domain.
>>>>>>
>>>>>> The listed Fixes introduced the use of 0xcc, but the smt commit may have
>>>>>> made it more problematic.
>>>>>> Fixes: d8f974f1a646 ("x86: command line option to avoid use of secondary hyper-threads")
>>>>>
>>>>> Speaking with Andrew, we believe it might be easier to simply forego
>>>>> the freeing of the page, possibly something like:
>>>>>
>>>>> diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
>>>>> index ff05955bae40..62c6cbf4b561 100644
>>>>> --- a/xen/arch/x86/smpboot.c
>>>>> +++ b/xen/arch/x86/smpboot.c
>>>>> @@ -990,19 +990,12 @@ static void cpu_smpboot_free(unsigned int cpu, bool remove)
>>>>>        {
>>>>>            mfn_t mfn = _mfn(per_cpu(stubs.mfn, cpu));
>>>>>            unsigned char *stub_page = map_domain_page(mfn);
>>>>> -        unsigned int i;
>>>>>            memset(stub_page + STUB_BUF_CPU_OFFS(cpu), 0xcc, STUB_BUF_SIZE);
>>>>> -        for ( i = 0; i < STUBS_PER_PAGE; ++i )
>>>>> -            if ( stub_page[i * STUB_BUF_SIZE] != 0xcc )
>>>>> -                break;
>>>>>            unmap_domain_page(stub_page);
>>>>>            destroy_xen_mappings(per_cpu(stubs.addr, cpu) & PAGE_MASK,
>>>>>                                 (per_cpu(stubs.addr, cpu) | ~PAGE_MASK) + 1);
>>>>>            per_cpu(stubs.addr, cpu) = 0;
>>>>> -        per_cpu(stubs.mfn, cpu) = 0;
>>>>> -        if ( i == STUBS_PER_PAGE )
>>>>> -            free_domheap_page(mfn_to_page(mfn));
>>>>>        }
>>>>>        if ( IS_ENABLED(CONFIG_PV32) )
>>>
>>> I think I've made an oversight in the code above: if all 32 CPUs
>>> sharing the same stubs page are offlined, the reference to the stubs
>>> page is possibly lost (if CPUs are not parked) and a new stubs page
>>> would be allocated if any of those CPUs is brought back online, thus
>>> leaking the previous allocation.  The simplest way to solve this would
>>> be to introduce an array that indexes the stub pages, and replace the
>>> logic in cpu_smpboot_alloc() that figures out whether stubs.mfn is set
>>> for adjacent CPUs.
>>
>> Right, but I thought Andrew's point was that offlining 32 CPUs is
>> unrealistic, so don't even bother tracking.  If CPUs are offlined (and you
>> somehow keep running), you can leak the page.
> 
> I thin we should avoid freeing the page and ensure it's always reused,
> rather than possibly leaking it.  It's also possible there's a single
> trailing CPU using the last stubs page alone, and offlining and
> onlining it would trigger such a page leak, without requiring a block
> of 32 CPUs going offline.
> 
> Entering an ACPI sleep state causes all APs to be offlined (see the
> disable_nonboot_cpus() call in enter_state()), and it would be
> undesirable that putting a system to sleep causes page leaking.

Suspend is handled specially by some CPU notifier handlers, see in
particular common/percpu.c:cpu_percpu_callback(). That in particular
means that per-CPU data survives suspend/resume. Which may be possible
to leverage here to avoid a leak across S3 (and perhaps even across
the pretty similar parking), while still accepting a leak for "real"
CPU offlining. (Which isn't to say that avoiding leaks altogether
wouldn't be the most desirable goal.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:30:27 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:30:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326594.1592010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmbx-0007TH-Mj; Wed, 03 Jun 2026 14:30:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326594.1592010; Wed, 03 Jun 2026 14: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 1wUmbx-0007TA-Ie; Wed, 03 Jun 2026 14:30:25 +0000
Received: by outflank-mailman (input) for mailman id 1326594;
 Wed, 03 Jun 2026 14:30:24 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <bernhard.kaindl@citrix.com>) id 1wUmbw-0007T0-Ts
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:30:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmbw-007VNB-60
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:30:24 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a203a7a-bab6-0a2a0a5309dd-0a2a4507e73c-18
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:30:23 +0200
Received: from [160.101.131.9] (helo=na1pdmzitismtp02.tibco.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a203a7e-229c-0a2a45070019-a0658309e722-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:30:23 +0200
Received: from debian.eng.citrite.net (unknown [10.113.40.46])
 by na1pdmzitismtp02.tibco.com (Postfix) with ESMTP id BC50E8181B0B;
 Wed,  3 Jun 2026 10:29:04 -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>
Authentication-Results: eu.smtp.expurgate.cloud; none
From: Bernhard Kaindl <bernhard.kaindl@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Bernhard Kaindl <bernhard.kaindl@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>
Subject: [PATCH v2 0/2] xen/mm: Fix off-by-one for tail merge in reserve_offlined_page()
Date: Wed,  3 Jun 2026 15:27:20 +0100
Message-Id: <cover.1780496798.git.bernhard.kaindl@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1780497023-23175C48-2253BD39/0/0
X-purgate-type: clean
X-purgate-size: 2419

After offlining pages, reserve_offlined_page() attempts to grow larger
buddies between the offlined pages, but due to an off-by-one, this
fails at the tail end of the span of pages of the containing buddy.

As requested for backporting the fix, the first patch fixes the
issue while the second patch adds the regression test for it.

Consider an order-2 buddy (4 pages) with the following layout:
+---------------+---------------+---------------+---------------+
| head page       tail page 1,    tail page 2     tail page 3   |
| PFN_ORDER(pg)   marked as to                                  |
| == 2            be offlined                                   |
+---------------+---------------+---------------+---------------+

The expected result after removing tail page 1 and returning the
remaining healthy pages to the free list would be:

+---------------+               +---------------+---------------+
| single page   | offlined page | head page       tail page     |
| PFN_ORDER(pg) | not returned  | PFN_ORDER(pg)                 |
| == 0          | to the heap   | == 1                          |
+---------------+               +---------------+---------------+

A trivial off-by-one error in the growth loop stops the growth loop
early before the tail end of the original buddy and we end up with:

+---------------+               +---------------+---------------+
| single page   | offlined page | single page   | single page   |
| PFN_ORDER(pg) | not returned  | PFN_ORDER(pg) | PFN_ORDER(pg) |
| == 0          | to the heap   | == 0          | == 0          |
+---------------+               +---------------+---------------+

You can pull this series with the regression test environment to run it:
$ git pull git@gitlab.com:bernhardkaindl/xen.git offline-merge-tail-v2
$ make -C tools/tests/native TARGETS=offline-merge-tail test

Fixes: e4865c2315 ('Page offline support in Xen side')
Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>

Bernhard Kaindl (2):
  xen/mm: Fix off-by-one preventing tail merge in
    reserve_offlined_page()
  tools/tests: Add regression test for tail buddy growth

 tools/tests/native/offline-merge-tail.c | 81 +++++++++++++++++++++++++
 xen/common/page_alloc.c                 |  4 +-
 2 files changed, 84 insertions(+), 1 deletion(-)
 create mode 100644 tools/tests/native/offline-merge-tail.c

-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:30:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:30:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326597.1592017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmcA-0007r2-Sd; Wed, 03 Jun 2026 14:30:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326597.1592017; Wed, 03 Jun 2026 14: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 1wUmcA-0007qv-Pl; Wed, 03 Jun 2026 14:30:38 +0000
Received: by outflank-mailman (input) for mailman id 1326597;
 Wed, 03 Jun 2026 14:30:37 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dfaggioli@suse.com>) id 1wUmc9-0007q8-HF
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:30:37 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmc8-00Fz3M-Tf
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:30:36 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dfaggioli@suse.com>)
 id 6a203a7a-2eae-0a2a0a5409dd-0a2a450aadfe-44
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:30:36 +0200
Received: from [195.135.223.130] (helo=smtp-out1.suse.de)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dfaggioli@suse.com>)
 id 6a203a8c-56b3-0a2a450a0019-c387df8283de-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:30:36 +0200
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 215966A9E1;
 Wed,  3 Jun 2026 14:30: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 ABC02779A7;
 Wed,  3 Jun 2026 14:30: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 /jNuJos6IGoBfwAAD6G6ig
 (envelope-from <dfaggioli@suse.com>); Wed, 03 Jun 2026 14:30: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=susede1 header.d=suse.com header.i="@suse.com" header.h="From:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Autocrypt"; dkim=pass header.s=susede1 header.d=suse.com header.i="@suse.com" header.h="From:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Autocrypt"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1780497036; 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=Z0OvZLNNBmokUTPLQlQHbQ4dxDW6UtzIgIUujF3UrKg=;
	b=Ysh6PN2Q5PckRn95B9B7mL3fZUjWS3kiiG9kTTGC3Av/Vx1xSmbWNLea3HnK7ENIMgbqPm
	K4c5iYUQzFkpch+bkMluWeQIJEdxjSq9l66uMDrhNVUoRXoyVMNuJC9U9pST6yxeRGb2SV
	w3G5wmfrl1rBjJgAsdMAf+J7xuaNW04=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1780497036; 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=Z0OvZLNNBmokUTPLQlQHbQ4dxDW6UtzIgIUujF3UrKg=;
	b=Ysh6PN2Q5PckRn95B9B7mL3fZUjWS3kiiG9kTTGC3Av/Vx1xSmbWNLea3HnK7ENIMgbqPm
	K4c5iYUQzFkpch+bkMluWeQIJEdxjSq9l66uMDrhNVUoRXoyVMNuJC9U9pST6yxeRGb2SV
	w3G5wmfrl1rBjJgAsdMAf+J7xuaNW04=
Message-ID: <456c856e66ed7e481b1bc93051a4535d767efa9b.camel@suse.com>
Subject: Re: RTDS: Call for [Co]-Maintainers [was: Re: RTDS scheduler
 patches]
From: Dario Faggioli <dfaggioli@suse.com>
To: Jan Beulich <jbeulich@suse.com>, Meng Xu <mengxu@cis.upenn.edu>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
 Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>, Juergen Gross
 <jgross@suse.com>
Date: Wed, 03 Jun 2026 16:30:26 +0200
In-Reply-To: <2d0a4c03-319f-4d29-b305-09998a516606@suse.com>
References: <41d236ba-a93d-446a-b29a-449a1c5f8972@suse.com>
	 <0b44963bae28d08fcfc14374cfa5e9bcb7c5eaa3.camel@suse.com>
	 <2d0a4c03-319f-4d29-b305-09998a516606@suse.com>
Autocrypt: addr=dfaggioli@suse.com; prefer-encrypt=mutual;
 keydata=mQINBFcqIZ4BEADwW0E1y+J8FG0kGAA0y5UqenJaGp9B6gpm6aAAVkKYBDreeasOb/LQ7
 OqYHbJpkEjDsEwS9K1/iCTtjSO02Klk0vW4T1rlRbjgtyCevHUwINQhYnwREWOkogeTAcrT+2tq/x
 Sxl/sR73vgLtMSqYXsIY7Pqxbi9CF7irfA8A2gGvToXrQw7C6jlFJa+l1gGYclA9bc7TSJzIzTui9
 z4oA6R8Ygrl8ugf69vd9hxGavqvz4vRARAxFgucPs00Aj0WnUTzRuUAF7VHp4VZ56Z0I2gv0M2YVJ
 YjTw+5YbgjzL92T8xPnyZ8q+DjiCDP+v2h//j3BOHtOWnkBmDFpYjix+JuV5J/Ig9icyMo67WrkTG
 7sK4wI28QLQMdoaZrYVA1mkYTWBCpWNbVAjMCS5vPKQVGh32OGsZ6qSMuGiynwDu5ksIDX16kx74a
 gtF3stSM8BVOYJWaGbmMiMogd0lswYQU6Wx8Z5osMvbFLc+CQnavJqhg/UnqDvZ6TyWir5NJ3Wo+Y
 Qh22bW0zchpWeLrXelH5UxNGK/dM26/7gKzKe8T9SUIxaxpawHcpPBB35W4Xwg94bcSQeS5KN3Swb
 lj+C2FkPu40KZ2gV+STkmxyWbUamQPf0Q5M8ih1cSopOwvsG14i5V8PqFH/JBbJUlrCOD6ZDdBStI
 eTLnuwrxYMjGQARAQABtDVEYXJpbyBGYWdnaW9saSAoY29ycG9yYXRlIGVtYWlsKSA8ZGZhZ2dpb2
 xpQHN1c2UuY29tPokCUgQTAQIAPAIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AWIQRLmyw6PdW
 GvRY+c4sWQniJpbhz7gUCXHiV1gIZAQAKCRAWQniJpbhz7uX6D/oCWVhNZe7PQfLxbGIPVaf2yMQM
 1zlUA62Xegv7dA1me5NbEcbGwJ0NvwcM6DLIxnVTbSMMA5M04flSFmrvjMVO6E8a9y9N+o27WS2sn
 hZUufqj9LUf9KLWS/aRlnyWBGeg0ut9LUfLx874CEuHwJM/rjSzXTNKap2YD8zd9S1JTDZ8gUismo
 d+TTh70r6xzibgZklcupECDgp2iwRUAqoEfj3rTqDFkVyySFH1OiP4NYx5TcivwkUML3UKedzdz3Z
 eANbdV2XpNGGWMoccRlJBgIhHJURm1TNPkXSTzEHzZkNE740ygQhMUu9zM8RoyQ09sR7a/z7EESPb
 4xitPqnbYd0EoLnZOquW2qjnM1xrULNbMATW3bYmWGtpjWpl6VY2caVy9DCgEimvlQLTkj0cAF6Cz
 /ZNj7xvN26ZdOch+ji9dDoPJBzjUfNZwEYsCc4l3wXmBnLZmF8kUZEtEOEECkP7nbNc2r+HUN1Zzs
 +DOmaWjniR7b65qShIDdvI3T/jd1sG59snXGUcIDu2MuARHMY0AiHaZHAAOnUu8317oPgVHepVkff
 i9wLkZtcv++aeU/OGZkgyCcX49wCLmUdgK2z2GJnT4QIKHKzpeVl3vx4bH0uZI6Zvv7qtZbZ+3Bqd
 5c/H1C9LbK/zbJAvu+yOcLQ00VW+SMPVaE1CHRIperQ5RGFyaW8gRmFnZ2lvbGkgKHBlcnNvbmFsI
 GVtYWlsKSA8ZGFyaW8uZmFnZ2lvbGlAbGludXguaXQ+iQJOBBMBCAA4AhsDBQsJCAcCBhUKCQgLAg
 QWAgMBAh4BAheAFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAlx4ldUACgkQFkJ4iaW4c+6Z3g/+N3/
 dMZAjEEnBqhHr28Dg5OoQGxCt209zj50gTGIw09J0Dzg+tPILAC5IZzjGlEuQI4015N3bJpz56N2g
 IjT1B0Rxh+HMd+4wKz/TZ+rUHgwhIfBei9jDzlqD4Z+hSnIpPN3mqQ7as4RdBmC0WhFKY/BB4V/ED
 yZfXzCJAKvysQFIsf3i0DJo1CC8hZK588dyAbB62Qh6ookOhfdTmEapcSHFjfd0osJiHo4+3kJP53
 HxNPvIWyxrbznrfVg6cHJOKKx5yowWYe4cEJcCLYCAy9UjGmTDEl5Rwq8J9kihQpGCtA2ivEcmIpj
 59JeQ5sv1IRcwamSxgylWvJR+Om3nz2Ma3334GdaIaeyb/dR9lyxB2fiBB8V6Avo+oJQniWqXxyJ0
 HhZkRBOTX7LtSzQFOnYKXz2mWRkZpclmztX3BqctB0Z/K1cm2KIcm+MBUqjLZeprfhFS9f3WCYOOS
 SLRvYRVSwXw8ImJYHqWbePQYD8LeAJ7Hs0kqhd/CtUDyUrwtwzzKRs/8wVSRCLHLTZiSZua8N1Tqo
 5M4t6wSeENALB2kFLEmlgApTghCj51kWpTzysL9RgREoKSgdsqwfzaQlZH490H1WIu1zedsdaigeJ
 7G6UIVWjTOwK59s1pEyrtz/gZWJUOJh77MspoF/mUjSXm6W9YAQu0pahk4KdbZKW0M0RhcmlvIEZh
 Z2dpb2xpIChwZXJzb25hbCBlbWFpbCkgPHJhaXN0bGluQGxpbnV4Lml0PokCTgQTAQIAOAIbAwIeA
 QIXgAULCQgHAwUVCgkICwUWAgMBABYhBEubLDo91Ya9Fj5zixZCeImluHPuBQJceJXFAAoJEBZCeI
 mluHPuiZUQAN4FY5DlI11sTYcdG1VyLYgE76mek5ItP0ZblcSF0INr6O9jn3zWEgyr6pFzSIXu81W
 W2o6UJEeb5wJlbte00Oxlgwshg3q1/Zd5MshtAjGGcCvnnffrcyrbyi6cuj/KwvRQFGsaT3getrf5
 LqIuC/HJgd+4k+S3Y2qOjq6qPZLG3I58F/K+SjFFeoX2CJvZEKPuMf51TvrBWQMK7qAf0nCG0noyt
 Zpbm+lCcHdJmoQZozn0e+4ENLduDe8c4Fsi2Fgjvuc250mC8avBidX6M+ONJrJTW2iSiqaLrp7FzS
 5f6SzRS7hKw9USmG7p30PFP+u2eBXfcriaIttlXgRcfQWZhd6c432wcssUlW1ykiqHBeElK0W3XD5
 5RahdJwLnX2ycToXAYp1afOAk8l2WKP1euXxNAN+toXpFRZpJDoebFHVuBKzff5F9yaF6cN65FZrU
 UZeT/6UlQj7aEsRorozZpzJN2f/fa97PSR99+pOAmoAIs52tME4QTNExHCZJFvQTI2GxrFQV8qTfo
 7ZswjXDui84NbUhlYnGH3Qk/iMKWfCGt2GyGpWQFV14u2sstHIKIRIj7EmL2tEoQGaySvN9HAnNfr
 W1Sd/zkzr6Wy+sYTOABgkxOtwb/aVfVVnl1PhMiQfTXTvsX9m6e4ZXTxh+pnJgyx58PG1haeGDTGJ
 etDJEYXJpbyBGYWdnaW9saSAoZ29vZ2xlIElEKSA8cmFpc3RsaW4uZGZAZ21haWwuY29tPokCTgQT
 AQIAOAIbAwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgBYhBEubLDo91Ya9Fj5zixZCeImluHPuBQJce
 JW4AAoJEBZCeImluHPuAVUQANDzlRpfMMUtVvVQLtYIm06rJQhbjwd8UE1Yq5pwxfVUYHm5JmvDI9
 ugOl9gAo6O29Cfrmc7Om8x3ewBAjQymNCHMq+MYPNqyVZVfSMH9CEg8/btGhm4IdvjXkqTtX2uZLq
 jJ5tHGxYuUbeL7uQBIFgxEpvXuHlg6mixcpyah+pYmmt0LnCCyj2f4iTZXuGXLKvayskCO6+2s++j
 F5f2HbBGe0ZkwjNbbCvxbhnX9YdYVvWEMRxBVxEsN1+n+MlvNkWp/sfBddsS8v1FpoLg2uUvJMhxi
 RoqxZCHYK1q/Obn5dWfN5inq6GUp205MESiV8NbwFYxI5H+r3OqWhb2OcQDiBlepJ3PJzKrZEr+6M
 YwWu36/XGqFFz7rxD48+QdlUFi8CpPCw2hMAzap3e2QwmkPlSQqtANKXs89M2Gc88dkwAi+L/DX30
 aFiMx6KcJkD6Up15N2x6FZh9VT45C9xPa4/IFcNpswn9Tngyi7wR7bvY3/daeuSw6pzUARZ9IC6rR
 xVqf92gykLEfcIWGpYlKDmnKKMTSgGBycNwk6nzhfa3VLAtxrNfG6bvzwXTQE9UBOC+8Ogu+BUvbH
 lA9+B1pkThQLyo4biSYbvcUNsOqYtugWW3gy2ogAHHcRXiFxxz5hKdkVwCeQteIPaTeMiZckuktpC
 8ioAT//C1pmVpvtDxEYXJpbyBGYWdnaW9saSAoY29ycG9yYXRlIGVtYWlsKSA8ZGFyaW8uZmFnZ2l
 vbGlAY2l0cml4LmNvbT6JAjYEMAECACAFAlnqAncZHSBObyBsb25nZXIgd29ya2luZyB0aGVyZQAK
 CRAWQniJpbhz7rEeD/4s3ewT5VjgFTJGA3e3xRkh4Qz3Ri8mDZeyrwWw4dr5vZnAZMAG+NTaQMYLt
 cKg5DUsRBNGHUL5ZH70sBPYFMG2Fg4eddRVewC9cJ6sJBh97u8RXueBhu8GDinMkJZitnrCHR8mEK
 g8szWHIqM/ohsPp2FbUdsqqky1XGYNDdKHIMMQpEYVgBKWKFMDq08nzFrJrGeRgg1Gdsa9JoE9/rM
 pcwwnoy5z0Bvij0u8PoSp+aBJAgGWJPu+abJghc2V3sRR/vyZyPPNZKJyirPqXy2ZQVYrMM/jFsJs
 I2POz8uEq5v4lf5MnJZNas785F4klpzi+6LaIBVtNm6l8ANU8Ad+RKsgoMnAx46ClYYCJmC2luzIo
 4hxD5fDyCQOGSxp6S1ONbbxg5N/XsD4yuJ+ORzO/6BylBArRo7c2qHACD9qvu1VXIQn9/IbxznGOl
 CRv4xAD2mGzom/umsTpTWus4pjo3G1/f/rkK4PYI8Kxsfi+WPD986deQLScMQM5hYAb26apvjv9w0
 XYLQWY6cQKvquMVTdb5bIxddgr35PLdUd3DZUtOAmm1pdveD2EyerECOLp03MZXRO4J818to/tCCd
 XA3l2Osx6i9443aTew/QlG1qp7kWk24ZP1pgMSSuEaFmdcmeLdk0VKVevW3g5GzlS+FTdhuMz8WgV
 fkAJ0OEQQ==
Organization: SUSE Software Solutions Italy S.r.l.
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-Y6lmYPkgczP+GTGlg3cg"
User-Agent: Evolution 3.60.2 (by Flathub.org) 
MIME-Version: 1.0
X-Spam-Flag: NO
X-Spam-Score: -6.40
X-Spamd-Result: default: False [-6.40 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	SIGNED_PGP(-2.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MIME_GOOD(-0.20)[multipart/signed,text/plain];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	HAS_ORG_HEADER(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	MIME_TRACE(0.00)[0:+,1:+,2:~];
	ARC_NA(0.00)[];
	TO_DN_EQ_ADDR_SOME(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	RCPT_COUNT_FIVE(0.00)[5];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	RCVD_COUNT_TWO(0.00)[2];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:mid,suse.com:url]
X-Spam-Level: 
X-purgate-ID: tlsNG-4011c0/1780497036-70D608B7-2BAB68BB/0/0
X-purgate-type: clean
X-purgate-size: 2971


--=-Y6lmYPkgczP+GTGlg3cg
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2026-06-03 at 16:15 +0200, Jan Beulich wrote:
> On 03.06.2026 16:08, Dario Faggioli wrote:
> > I'm happy to continue to try to help but, as this thread clearly
> > demonstrates, I can't be the single point of contact for RTDS
> > patches
> > any longer.
>=20
> As to concrete action: From the above I conclude that simply removing
> the "RTDS SCHEDULER" section from ./MAINTAINERS might be a fair first
> step.
>  That would still make you one of its maintainers, along with
> J=C3=BCrgen. Which may not be intended either, judging from what you say.
>
That would be fine for me, but I believe it would, at least
potentially, increase the burden on Juergen.

I mean, he's already reviewing the RTDS patches anyway, so maybe it's
fine... But I'd like to hear from him whether it actually is. :-)

> Might be best if you sent a patch updating ./MAINTAINERS to what you
> think you're going to be capable of doing, in a sustainable way.
> Which
> may be as small a change as converting the two M: to R:. Thoughts?
>
Yeah, so, the alternatives I see are:
- the one you suggest above, if Juergen is fine with it
- leave RTDS separate (with me either as M: or R:, probably the
latter), if someone else steps up.

> (Imo it's always better for people to make such adjustments for
> themselves, then for somebody else to do them, possibly giving the
> impression that the person is being "kicked out".)
>=20
Sure, I'm find doing the change myself, as soon as we decide which path
we take.

Thanks and Regards,
--=20
Dario Faggioli, Ph.D
http://about.me/dario.faggioli
Virtualization Software Engineer
SUSE Labs, SUSE https://www.suse.com/
-------------------------------------------------------------------
<<This happens because _I_ choose it to happen!>> (Raistlin Majere)

--=-Y6lmYPkgczP+GTGlg3cg
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

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

iQIzBAABCAAdFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAmogOoIACgkQFkJ4iaW4
c+684g//TdV5dqPaknyRmQsfv7qSFXyahMzqfx7E4zkjKKCn6iHagLD3Z0NB3nNx
utJ1v8p5Y9hAE+4ZcJl4OaAK0YB4Ba/TlH+q2mepbINS4KKxMo3Ih/taMIT/ABjw
UJ/KRRrQ+E2QrJPQZrRg5KhxcACWU27P5bTM+Eg4C3GMdtewXhEBIFWyQePgpd5p
Zn/zV/MjBeYYGYqMerxA/G5dLnqqKP7RAezAVadkmdv9A0YfU1aIpV3R6CTxJmVB
/hiXipSeyDftYBRvSg+n00JlHLjOEL5osC987L7urDZ7kt8jfBDGqb4MSNop7z6B
qkI4MSSODZ3RUDO+LKYmjLZVXXuE56SwmxPaA0okmG16Xghmn8tgghdCsOdj7Mim
e8MtHBSdypjp/2ZAVKldUfjPFcUDQmPD6gOTAd+kmkizHdCfVqe8XFuQEqR3hgCX
4GraMvLHhokhOUas6ojvqclmCOSLf2mCfFCpYpAk7asa4Xh/lQdS1WXobT6VdQ+d
aY2QzsAM3nT3ep/oWbALrAg3NJ/JgRFLQqJqdVbnGr/4JjLDesIhBqrl8rMlo71G
2C7fBfUv/A7EGHanvp6vgtxWai26p5Oz+8gtsUlQofQFl6Qd2YQhpNoa7nUledR0
h9xvaY5LiW3idQVVy8y+FKnVMpKG05WE5gRNzYy3j31hAj08UQs=
=L0ZI
-----END PGP SIGNATURE-----

--=-Y6lmYPkgczP+GTGlg3cg--


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:31:00 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:31:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326614.1592027 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmcW-0008Q8-6U; Wed, 03 Jun 2026 14:31:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326614.1592027; Wed, 03 Jun 2026 14:31: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 1wUmcW-0008Q1-3u; Wed, 03 Jun 2026 14:31:00 +0000
Received: by outflank-mailman (input) for mailman id 1326614;
 Wed, 03 Jun 2026 14:30:59 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <bernhard.kaindl@citrix.com>) id 1wUmcU-0008PZ-V8
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:30:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmcU-007Vco-Bw
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:30:58 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a203a97-bab6-0a2a0a5309dd-0a2a4504c2c2-32
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:30:57 +0200
Received: from [160.101.131.8] (helo=na1pdmzitismtp01.tibco.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a203a9f-1dec-0a2a45040019-a0658308bfce-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:30:56 +0200
Received: from debian.eng.citrite.net (unknown [10.113.40.46])
 by na1pdmzitismtp01.tibco.com (Postfix) with ESMTP id E5E0A4346021;
 Wed,  3 Jun 2026 10:29:47 -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>
Authentication-Results: eu.smtp.expurgate.cloud; none
From: Bernhard Kaindl <bernhard.kaindl@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Bernhard Kaindl <bernhard.kaindl@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>
Subject: [PATCH v2 1/2] xen/mm: Fix off-by-one preventing tail merge in reserve_offlined_page()
Date: Wed,  3 Jun 2026 15:27:21 +0100
Message-Id: <f2ed440fa3d2ca62c77868a60061168630d9fb6d.1780496798.git.bernhard.kaindl@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <cover.1780496798.git.bernhard.kaindl@citrix.com>
References: <cover.1780496798.git.bernhard.kaindl@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ebf023/1780497056-2AB633FF-665CB41B/0/0
X-purgate-type: clean
X-purgate-size: 3140

reserve_offlined_page() reserves pages marked for offlining and
returns free buddies from the remaining healthy tail pages back
to the free list.

Consider an order-2 buddy (4 pages) with the following layout:
+---------------+---------------+---------------+---------------+
| head page       tail page 1,    tail page 2     tail page 3   |
| PFN_ORDER(pg)   marked as to                                  |
| == 2            be offlined                                   |
+---------------+---------------+---------------+---------------+

The expected result after removing tail page 1 and returning the
remaining healthy pages to the free list would be:

+---------------+               +---------------+---------------+
| single page   | offlined page | head page       tail page     |
| PFN_ORDER(pg) | not returned  | PFN_ORDER(pg)                 |
| == 0          | to the heap   | == 1                          |
+---------------+               +---------------+---------------+

A trivial off-by-one error in the growth loop stops the growth loop
early before the tail end of the original buddy and we end up with:

+---------------+               +---------------+---------------+
| single page   | offlined page | single page   | single page   |
| PFN_ORDER(pg) | not returned  | PFN_ORDER(pg) | PFN_ORDER(pg) |
| == 0          | to the heap   | == 0          | == 0          |
+---------------+               +---------------+---------------+

If the offlined page was in a much larger buddy, this would lead
to much more memory not available for higher order allocations
requiring the full tail end of the original buddy for allocation.

Fix the growth loop to correctly grow the buddy to the tail end
to make the full allocation unit available for future allocation.

Fixes: e4865c2315 ('Page offline support in Xen side')
Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
v2:
- Bugfix isolated from the test case for backporting.
- Removed stray blank from the line that I touch.
- Title: Replaced stopping with preventing.
- Title: Added parentheses after reserve_offlined_page().
---
 xen/common/page_alloc.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 2767376a710b..e01ac3e99c72 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -1195,11 +1195,13 @@ static int reserve_offlined_page(struct page_info *head)
 
         next_order = cur_order = 0;
 
+        /* Attempt to grow the order (size) of the buddy as much as possible. */
         while ( cur_order < head_order )
         {
             next_order = cur_order + 1;
 
-            if ( (cur_head + (1 << next_order)) >= (head + ( 1 << head_order)) )
+            /* Do not grow to next_order if it would go beyond the buddy. */
+            if ( (cur_head + (1 << next_order)) > (head + (1 << head_order)) )
                 goto merge;
 
             /* Do not grow to next_order if cur_head is not aligned to it. */
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:31:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:31:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326633.1592036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmcz-0000ck-Dd; Wed, 03 Jun 2026 14:31:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326633.1592036; Wed, 03 Jun 2026 14: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 1wUmcz-0000cd-Av; Wed, 03 Jun 2026 14:31:29 +0000
Received: by outflank-mailman (input) for mailman id 1326633;
 Wed, 03 Jun 2026 14:31:28 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <bernhard.kaindl@citrix.com>) id 1wUmcy-0000cL-3G
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:31:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmcx-00GGcV-G6
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:31:27 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a203abf-2eae-0a2a0a5409dd-0a2a45098992-0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:31:27 +0200
Received: from [160.101.131.8] (helo=na1pdmzitismtp01.tibco.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a203abe-2497-0a2a45090019-a0658308e88c-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:31:27 +0200
Received: from debian.eng.citrite.net (unknown [10.113.40.46])
 by na1pdmzitismtp01.tibco.com (Postfix) with ESMTP id CB9E14346019;
 Wed,  3 Jun 2026 10:30: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>
Authentication-Results: eu.smtp.expurgate.cloud; none
From: Bernhard Kaindl <bernhard.kaindl@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Bernhard Kaindl <bernhard.kaindl@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH v2 2/2] tools/tests: Add regression test for tail buddy growth
Date: Wed,  3 Jun 2026 15:27:22 +0100
Message-Id: <5a6cbf1024f39ac625309009564dbda8f8adb43f.1780496798.git.bernhard.kaindl@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <cover.1780496798.git.bernhard.kaindl@citrix.com>
References: <cover.1780496798.git.bernhard.kaindl@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1780497087-88F71A53-216DF101/0/0
X-purgate-type: clean
X-purgate-size: 4134

Add a regression test covering reserve_offlined_page() to verify
that, when composing healthy buddies between offlined pages,
healthy spans at the tail of the containing buddy are promoted to
larger-order buddies as expected.

Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
---
 tools/tests/native/offline-merge-tail.c | 81 +++++++++++++++++++++++++
 1 file changed, 81 insertions(+)
 create mode 100644 tools/tests/native/offline-merge-tail.c

diff --git a/tools/tests/native/offline-merge-tail.c b/tools/tests/native/offline-merge-tail.c
new file mode 100644
index 000000000000..217595e70ece
--- /dev/null
+++ b/tools/tests/native/offline-merge-tail.c
@@ -0,0 +1,81 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Test merging a surviving tail pair into an order-1 buddy.
+ *
+ * The workflow tested here is offlining a free page:
+ *
+ * 1. offline_page() calls mark_page_offlined() to mark the page.
+ * 2. It calls reserve_heap_page() to find the containing buddy.
+ * 3. It calls reserve_offlined_page() to reserve the marked pages within
+ *    that buddy.
+ *
+ * reserve_offlined_page() then:
+ *
+ * 1. Removes the buddy, a 2^order group of pages, from the free list.
+ * 2. Finds size-aligned spans of healthy pages within it.
+ * 3. Rebuilds healthy buddies from those spans and
+ *    adds them back to the free list via page_list_add_scrub().
+ * 4. Moves offlined subpages to the offlined page lists.
+ *
+ * Copyright (C) 2026 Cloud Software Group
+ */
+#include "harness/native.h"
+
+/* Test merging a surviving tail pair into an order-1 buddy. */
+static void test_merge_tail_pair(int start_mfn)
+{
+    struct page_info *pages = frame_table + start_mfn;
+    uint32_t status = 0;
+
+    /*
+     * Prepare a valid order-2 buddy (4 pages) with this layout:
+     * +-------------+-------------+-------------+-------------+
+     * |  head page  | tail page 1 | tail page 2 | tail page 3 |
+     * +-------------+-------------+-------------+-------------+
+     */
+    test_page_list_add_buddy(pages, order2);
+
+    /* Mark the tail page 3 dirty to verify dirty-state preservation. */
+    pages[3].count_info |= PGC_need_scrub;
+    pages[0].u.free.first_dirty = 3;
+
+    /* Act: Offline the second page. */
+    ASSERT(offline_page(page_to_mfn(pages + 1), 0, &status) == 0);
+    ASSERT(status & PG_OFFLINE_OFFLINED);
+    ASSERT(FREE_PAGES == 3);
+
+    /*
+     * Offlining page 1 results in splitting the original order-2 buddy into:
+     * - pages[0] as an order-0 buddy
+     * - pages[1] is the offlined page, removed from the free list
+     * Tail 2 & 3 are aligned, so they should be merged into an order-1 buddy:
+     * +-------------+               +-------------+--------------+
+     * | single page | offlined page | head page with a tail page |
+     * +-------------+               +-------------+--------------+
+     */
+    CHECK(PFN_ORDER(&pages[0]) == 0, "Former head page, now order-0");
+    CHECK(PFN_ORDER(&pages[1]) == 0, "Offlined page should be order-0");
+    /* pages[0] and pages[1] were prepared as clean pages and still are. */
+    ASSERT(pages[0].u.free.first_dirty == INVALID_DIRTY_IDX);
+    ASSERT(pages[1].u.free.first_dirty == INVALID_DIRTY_IDX);
+
+    /* The tail pair is expected to be merged into one order-1 buddy. */
+    CHECK(PFN_ORDER(&pages[2]) == 1,
+          "The pair of tail pages should be merged into an order-1 buddy");
+    CHECK(pages[2].u.free.first_dirty == 1, "In tail buddy, the 2nd is dirty");
+    /* The tail page of the merged buddy does not use first_dirty. */
+    CHECK(pages[3].u.free.first_dirty == INVALID_DIRTY_IDX,
+          "Tail page of the merged buddy should not set first_dirty");
+}
+
+int main(int argc, char *argv[])
+{
+    const char *topic = "Test offlining to merge tails into an order-1 buddy";
+
+    if ( !parse_args(argc, argv, topic) )
+        return EXIT_FAILURE;
+
+    init_page_alloc_tests();
+    RUN_TESTCASE("TMTP", test_merge_tail_pair, 4);
+    return test_complete();
+}
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:31:58 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:31:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326654.1592044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmdS-0001BO-M8; Wed, 03 Jun 2026 14:31:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326654.1592044; Wed, 03 Jun 2026 14: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 1wUmdS-0001BH-J8; Wed, 03 Jun 2026 14:31:58 +0000
Received: by outflank-mailman (input) for mailman id 1326654;
 Wed, 03 Jun 2026 14:31:57 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUmdR-00019s-8v
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:31:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmdQ-00CJWQ-Ls
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:31:56 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a203acb-5cb7-0a2a0a5109dd-0a2a450b86bc-44
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:31:56 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a203aa0-212f-0a2a450b0019-d1558030c5fa-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:30:56 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-490ae94a89eso28479645e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 07:30:56 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490b616fdffsm58568535e9.8.2026.06.03.07.30.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 07:30: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780497056; x=1781101856; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=YJWtmxlv09eF3pWX3Lg7bfl7CpBG9bFw23A2sksY0vc=;
        b=F9WIsfpf8fprHDA1Hqo2VGasR03t/ZSyQRnbpKrdzB94f97FDJ3Zu5JRx1G4ptjDAN
         VcmJBaw1fp6JpzYKjmWCw8q9HFgm9edcDQJVsVerb+XJ9l6PXHf7C/Dw+fQHkvOB5cAw
         XzS6HVXuVFA4crK3cpvGzXwLbhyfrVMlQd6wTNDtLeHH9I6b8sRuN8E0mr1Ogg4nafim
         HZl5tI2MiUbuVPolbKn4cgCh7HEcAv++eWIfdFy61jZUdbzonRbd7Y/ge6tbqmdx8/8e
         uqjTgaPh/rbfglylTk76OZpvTD96/uYTF4X40ZwQQna+hmJnfZ+a5oX7lfe2NhIZezZ2
         iIzw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780497056; x=1781101856;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=YJWtmxlv09eF3pWX3Lg7bfl7CpBG9bFw23A2sksY0vc=;
        b=Xw0RJuBIZiRlvkb5SLeAV4Hoa1+08d4JMlI2tZ9rjTYlidpsMZuLSL3lBryjWAQ+Yf
         TswIXhswQwNOPgaSVLDBQMso5Tw9VtMpxUApRCwRHWfbcJ97994MhNLcrKKQxjgSF1Mt
         QRMoJFHssnTcwnpAJiPvYRdOPhqkfb8bFB2Yh/dVYb9sCKIUhyN4feQy2uUXR1Tf3i3g
         LzKsURkGTKew0aSgdEbf8gVjQ9KgliyKykAe1AZCoEp3pcA5tJA91BCMBjvG1XF2CJmK
         EqQ4BmeZOeWCcf+p7mwzQ7shegDXaZEmoRor/3b2SztBJjVTO0N3vdJnP8BEwfcxQX4K
         umjw==
X-Forwarded-Encrypted: i=1; AFNElJ+HswaSUrlIXrXeMLjA9OPw88VjwOepypKYHxAqwF3L0fwjIysSEDz6zKKXatbzEEjtLlA/yBZdfUc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx6BOFLV+sgvxiAZNsvVkyDkU8y5DP+cBLjQ0Y4cAKVZqeUgKhm
	pSooK5WVzbwFUMJXTVxiDBHA1LjKaZmW5EgMV4lwxEUCW/twAq+DAYp1F+daWRkZJA==
X-Gm-Gg: Acq92OH18t17ubjWVh5NlVXQRV50UJeXPUzcZ4oFNSZ8h+mICztCmdwNg3oCegJzBLV
	NbdMf9b8MqVc07qWmLOzSWeAmKkZ1ctkw0wbqNvZ9a/MRbE5zVOrE75CUWzQCB+wzDHjFIej0r9
	fO3mZWNHdsQnIz7+uwSOjFlagVjx+BkBqiHIpz3urj+9n7WmwSnlJvcNJpYcVFmgcAAg6lb7FoD
	r8sOEK3W513Ve6rFS2PQrPEqK2Lc4+dcAqVuFZObYOsjnzjRdh7m6q4eFOLT/xsZHoROLmZtpfH
	ZFi9JQq1K3LwWlUcnWbE35wUzB5OXYoy1IOkTG+LjRmUo8u/rjOp34uYcYx7wYs4D/lWCmmKw7e
	xykzgFoAMjG11T04H1fYzipYdiG+ynC/MGOaM6jIe05J95N79jF/rA5EH1LV1sCTaxN4Rbr6/zN
	31dJJCvOOwYM9CxEi0HwYX/dh7Xn/Q8IqHaG8intk8YIxveMMyHWeSvHDXNfsm3M6gK3nBJ/ocT
	wmJBWj844sCIXaEcfo8qnvDHWVLP/XgQn66
X-Received: by 2002:a05:600c:5394:b0:490:b0e0:3de2 with SMTP id 5b1f17b1804b1-490b60f9e98mr64242305e9.33.1780497055981;
        Wed, 03 Jun 2026 07:30:55 -0700 (PDT)
Message-ID: <a78c20d0-e894-467e-9eb8-4486bbdd1ac9@suse.com>
Date: Wed, 3 Jun 2026 16:30:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/page_alloc: verify buddy alignment in
 reserve_offlined_page()
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,
 Bernhard Kaindl <bernhard.kaindl@citrix.com>
References: <cover.1780495548.git.bernhard.kaindl@citrix.com>
 <6eaed95df4e5cb369a91281051ca9b5a2be564f9.1780495548.git.bernhard.kaindl@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: <6eaed95df4e5cb369a91281051ca9b5a2be564f9.1780495548.git.bernhard.kaindl@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1780497056-13374F3B-E0635D49/13/0
X-purgate-type: clean
X-purgate-size: 2123

On 03.06.2026 16:17, Bernhard Kaindl wrote:
> reserve_offlined_page() fails to verify alignment when growing
> buddies around offlined pages. Consequently, misaligned buddies
> may be constructed from non-offlined page ranges and returned to
> the free lists.
> 
> After a particular sequence of allocations and frees, pages
> from such a misaligned buddy may be allocated more than once,
> eventually triggering a Xen BUG() in alloc_heap_pages().
> 
> Fixes: e4865c2315 ('Page offline support in Xen side')
> Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Oleksii, thoughts towards 4.22?

Jan

> ---
> v2:
> - Updated the title for clarity.
> - Bugfix isolated from the test case for backporting.
> - Removed excess parentheses from the alignment check if() expression.
> - Simplified the alignment check to use '& (1UL << cur_order)'. Because
>   the covering buddy head is size-aligned, cur_head is also aligned to
>   cur_order, making this reduction safe (verified against extended tests).
> - Updated the inline code comment to accurately state that only the upper
>   half of the next_order range is checked for offlined pages.
> ---
>  xen/common/page_alloc.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> index 2c4ff2c34c70..2767376a710b 100644
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -1202,6 +1202,11 @@ static int reserve_offlined_page(struct page_info *head)
>              if ( (cur_head + (1 << next_order)) >= (head + ( 1 << head_order)) )
>                  goto merge;
>  
> +            /* Do not grow to next_order if cur_head is not aligned to it. */
> +            if ( mfn_x(page_to_mfn(cur_head)) & (1UL << cur_order) )
> +                goto merge;
> +
> +            /* Check for offlined pages in upper half of next_order range. */
>              for ( i = (1 << cur_order), pg = cur_head + (1 << cur_order );
>                    i < (1 << next_order);
>                    i++, pg++ )



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:33:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:33:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326702.1592053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmfC-0001pF-0x; Wed, 03 Jun 2026 14:33:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326702.1592053; Wed, 03 Jun 2026 14:33: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 1wUmfB-0001p8-UK; Wed, 03 Jun 2026 14:33:45 +0000
Received: by outflank-mailman (input) for mailman id 1326702;
 Wed, 03 Jun 2026 14:33:45 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wUmfB-0001p0-5E
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:33:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmfA-007WFv-Hr
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:33:44 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a203b2b-5cb7-0a2a0a5109dd-0a2a45039098-48
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:33:44 +0200
Received: from [52.101.48.13]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a203b46-672d-0a2a45030019-3465300d076b-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:33:44 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by LV3PR03MB7408.namprd03.prod.outlook.com (2603:10b6:408:19b::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 14:33:40 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=J+8xdWTkYjhqR1psIUbMfss7OF5TdnpU9+dwo9rmi9dleZEWCGlXMKypZY+xrDvsyqQsslDRxuXKz5wZI6vj2CgtXTFzhn9FNl84We9IDeHt3cVEMNkK54TNOcGqIsQldc00naX7GmBqxOocoe3kBgmsZyhhV84bR93Hazqi94GT/cQzVdw3nbIPznKAqTE1I2U6rJRjc7xYAcaq+IzuXrH6iTIUcz0krkcI5zyhItN2gH+5l02zXW0De9if1KYMUOXZIKXbGUcjChfZVdqnU8zsNx5fNV/PVGAKz9jj8BxlV70TowpD+uYYkLn4vr7sHaIptF4rl8QCIuzh99AAhQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=koL+iUKKKz6cAzajbrY1sFHO4/L2u/l4dLA1R9g1DgI=;
 b=IokgsUY6aSUxKy/K4TueYWmZWvQZu2UQ8fXWuZkryk0nhH5vmRGkKfh+S9xtyo9nDC8hodPQK6dl8T6qThpYjiBzCka0lmH3NeiIZgEEcL8ZKJL3ifkKjy0RHfE9T7oRiUTb3UOEkQhpCGH60yo35sHrD14P/hs71Q0QiVisBKEwMa3z1Ey7YgCF06n3F1yYza7BlsouFd0yTPVIYySo0m0E9QY3HWZfUy4ND8OrR9epk+XMqX47gBSMges3D9bNkUW/WbzdwTd+S/SBpuQVir7u/EmZjadDL0C2OeUhQvOKzW5C3Yureq09FS8iw0t0UDHIc8zvBb36335zfaJjKQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=koL+iUKKKz6cAzajbrY1sFHO4/L2u/l4dLA1R9g1DgI=;
 b=mGtzoZoXsaD87zBKECMekJ4hGUtl3Z51K08T65Z6BcCNQNbSBQqtm+Uga5LnQG6Wc8tQCwNMJZN+iBM22N3ScG6uLelDxBo3xrmqLx9diaLlMxFQrComr6rPRRhknAObn5+jzwezSKToHKnBU9E8OE6QD4geAapYdd0FI+O/nlw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <69f3075f-0daf-40d2-bedc-3d8b441199fc@citrix.com>
Date: Wed, 3 Jun 2026 15:33:37 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
 Teddy Astie <teddy.astie@vates.tech>
Subject: Re: [PATCH] xen/x86: Change stub page freeing to fix smt=0
To: Jason Andryuk <jason.andryuk@amd.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20260526203114.40882-1-jason.andryuk@amd.com>
 <ah26nl95MgqhPPAi@macbook.local>
 <5cdfca65-50f8-487a-a146-86e1a68f459c@amd.com>
 <ah5_0vvipY2Wch-x@macbook.local>
 <cf275fef-27fb-4d73-bbc8-9a75c1836608@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: <cf275fef-27fb-4d73-bbc8-9a75c1836608@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0133.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:193::12) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|LV3PR03MB7408:EE_
X-MS-Office365-Filtering-Correlation-Id: 870db995-9b41-48ba-b497-08dec17d1b55
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|56012099006|18002099003|22082099003|4143699003|11063799006;
X-Microsoft-Antispam-Message-Info:
	B8Qd8hWSL0DVkELrwxC8JA/oed1OxX7UoZ8bEJFI0N7MFQnd+uKqFvI3MXAEakTJ/UCtQLsbQsYIpg8ZJ7GSCPX+dzDhz4qpc6rOGdrhcrZGPjbuWdhiP6mSzyI7Zm5i6t8BFW9KOcROi8i6sjybMzmv+/sIWrSP+ycuDAEXXK0Hzf7sm7ITKrf0VDDqXEn/Ri4EYsWJgeNzsh4pXKjMX8L10EikXe4aGdQPsCpXbTO6bi2CJJFUIHHPZ9jb/TJ1UwaExIICjlvFFZJN3htVA5o64iGVuvplTIsg9nRFhUxquAKlBTVQ/9aZvjvh6p5YRk3+kul0Wwrpxi5BdV977Ceh50lhMVSZVKdm4Du469V14Gnr8gA5KKMgIqVWWT9DdPG/Sk6qYx7AUqYC7nemD9IM08mbgDX5qvRpEZjHr4MP/F3TbEe+c+RxkziXJoeQNtSKBJHkmoQp7iaR5T18BGcKG9DaJF4jJWBI8ce5krco1Wwoy4r66vylxAXD61rh4NmlW2LlIU7cqnuVqxIgS8JvL1OL3tkJ6QFfwQ0XsD28KcZWrmu2sXBUfs0VnRr3u2tpIOaLTQDq1dwZ8P30DFPKuDmmnzrPDi8KOMHvTQBuuiRA2a6opYyI8l/fVOSyYz/9FNX25BWt+D/fFm+r4ktXsrG7t+lqpv+a1iVL75+6Sk3gk6Q7KsXN/5bjnZyP
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(56012099006)(18002099003)(22082099003)(4143699003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VUVmUnpnaXpuRHN1eFRWQkF0ZkV4d3pPVzJYUDdLd2N4eEEwQnkzNHY2c2dk?=
 =?utf-8?B?bCt6U0tyV2EvZDN3QmdVYURqNGZkK25vUFpVdUptWlVSTDJUUHkxRDBER2N6?=
 =?utf-8?B?cWZkVkRreUFQVndCVmZ1TlBHM3hpY2J5cEtnODdWNk1xSFJqZHNaeHRMWGFj?=
 =?utf-8?B?U0J3Y0hxUGcwbzJEcmdTd0VxMHJGSmNOcVdrMnlWNDgzNTdySDdYOGlvQkNM?=
 =?utf-8?B?MUtWQWhkRUh5SVZnaVNkYVhoUmcvSzg3YjdoSDVybkpoRGpHUDl2d0FEQlR2?=
 =?utf-8?B?QjhtU25obGxYeFNnYzVoczlxMUlQb3p6SWFQZkpYdHowY0lKRFpkYmkzenVi?=
 =?utf-8?B?bloxUDBwNzhUdGFXcGlFWDZNR2ZmUUplZEljZERSVzlrc2c3RDVza2V6cDNh?=
 =?utf-8?B?QnluY28zbStyTDJWMmhmdWpqVlNwSVhSWHU3OCtJTzdkREs2blR5Z0pIaU0z?=
 =?utf-8?B?QW1xWmRQZXl1ZGhWU1gyN3VqZ09yeW5XMGdyZ0o2REZSOUFnU21wSFZhdGlv?=
 =?utf-8?B?NlpTeEdIbC9pQTJMTVNoYXpvMkQ5WVVEK0Z1RDhwNW5oTWRFYVlSWnk3dWJv?=
 =?utf-8?B?NGRzYnhoUWd3RnRKdGRnd1NzK3ZKL3ZWRWpyZ3ZnVVBCRmxvL2pybmNzSnVq?=
 =?utf-8?B?RGh2cnR0SkxRMlZycFErU0ZEZHh2V0F2TkszWVByTGlVdktyT0UzSXFQbGlj?=
 =?utf-8?B?UHlwVUQrOGhzemxheS9LZytndjhyV0tqVVFWTkNnS3FxbThWbWc1QlJscFBF?=
 =?utf-8?B?cXVzSWZzNjZqejFJaU05VTVRRjdPTC9qczZpTm5WUHNKYjJYWnFGUlZFWlow?=
 =?utf-8?B?MnhjZzhmeWJNMWNLOHNIVU91cDB0Qm1xM1JXNWUzTVk5dU5RTU1wc0JWczhI?=
 =?utf-8?B?dWdLbzNBK1k1b0pjdDE4VmNaa3NvekovR01QY3Z6ekR4enlBYkZVK05sZkha?=
 =?utf-8?B?SStHRzVocWhaUU9ETTdpL09JK2lnSmtHeHVKT2RQU2RBQkp5WkNMR0lweXJz?=
 =?utf-8?B?NGE3Y3g1b2hjODI2NmRYaGxnd2hGYTNXNjlyYzduZnlzMjF5YmQzQ3B4MFQ3?=
 =?utf-8?B?V3BteERSZVZEKytaaHk1RlJ6MnA0emxPVU9FMUV5SFQwbHVRdmc1ZHpyVGhk?=
 =?utf-8?B?UmNvY3Zpc3VlSW1DWFFid2tZWnNiTWtsRnVhVzFodFEyRERLKzV5NWl1T2hx?=
 =?utf-8?B?bkp5Z0V1Z3h3NDN2dHRtLzNwanF3em5KamVPSUNKSlRrUEYrN1RkR1d6cTU0?=
 =?utf-8?B?OVl5L2hGbW9IcE9QYVR3ald6L0w4emRvTmlhTTJQS1cvaGhqUUx4bHZhenhI?=
 =?utf-8?B?K29OZzBuTXVxTXlUcHpFNnNVR2NTVVpEdnJ0dVVWY2E2N2NMSG5Xb0RoSlVK?=
 =?utf-8?B?ZG0xUm1wL1VFem9Hd25ZZFBVN1R3T0M3bDV1MlJmNkRQZmZ5OFdQaWt1Zlc0?=
 =?utf-8?B?Z0NpNzIwbG1BdFFmUVZhTmg4aVhZWkl4azlubk5idXg2US9ZYVNFNFJtQ09x?=
 =?utf-8?B?RjJNdHVOSGFOS3hhQUk0Sk9MRmRDdVB3YUlqZjhzeXdhN2NDZ3ByOXRaMXhX?=
 =?utf-8?B?S2dBYVlJTk5SR0FhNjRMNjFFVytlaVpFSjZEYXVoQlhPMjlrVHMzMGVlOHV2?=
 =?utf-8?B?Y2VTYXFiWGtIN1p3YldMcDJvKzhCVmdPdW5xbW9XWW1MMUJUb0lmZENITU16?=
 =?utf-8?B?TUNTZ09jSEJpbjVtQ3BvRlprSDA5VHZUYTQwRkEzNGxGNm1WOVRnckx5YVhK?=
 =?utf-8?B?NzNrcW5hcXFqOEt0RFBVQzMxbWxWL2VETlVzd0VzdWhjQmRuK3RadUJSL2ht?=
 =?utf-8?B?U255TC9lNWxhUkR4K1hGMVBHcndma05peHBqL3FHaGduMVhkREVpQmhpMStS?=
 =?utf-8?B?NHpMelA0Y3dweUpuVW1ZU3BRK1Y3Z25MODZvb0VjREtySElkYWZSWDRKa1dT?=
 =?utf-8?B?VGxOSENTT25XOEUrKzgxdmRMbHNnQUwvT2tGMTlzb2tEdDc3dzN4UjdJLzZn?=
 =?utf-8?B?bUlWekF5UWpVbExxK0VDZ242R0pGZkFtMVhKTlFXbktxMEJVb3BVTGVtYzd5?=
 =?utf-8?B?dGZkZkh2ZGhvWUgwdm1rY3Vydld2SFEwckVHSEJuQXBCREQyRmo5SVBjbWFI?=
 =?utf-8?B?dlQySFVUSE5jeVBIakI3Ni9CYXgvbDVINHYyN3RWSXZvck4rNHNCM1JxWUFk?=
 =?utf-8?B?UC9oRlo5c2hGRk1zSW5mVzZpd29zSkZOc1JJcm9WMkN3OUk1NnFOaFlGVGE2?=
 =?utf-8?B?MDl2V1ZORmV0dlZUTVdrSDE3ZFVoNFhBVzVZcnI3bDRSVTdPaTZka3d0UFV2?=
 =?utf-8?B?djJkM295eHhZZGhRWHJHOWsybFBaTC9KcXVBVmR0ZlQ1cnZwRTZlZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 870db995-9b41-48ba-b497-08dec17d1b55
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 14:33:40.7726
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OYdNcBWYXMnIlN3em9B4DKWRoT2Wc5vXhiVbNa18rahlmVdHIxy/OgvVPrXQnGc1WCFD9SrUB75dHWzgAWdYzoYo6mPSTWFz4vkhBLe/Ehs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7408
X-purgate-ID: tlsNG-33051d/1780497224-42F62938-80763875/0/0
X-purgate-type: clean
X-purgate-size: 5307

On 03/06/2026 3:03 pm, Jason Andryuk wrote:
> On 2026-06-02 03:01, Roger Pau MonnÃ© wrote:
>> On Mon, Jun 01, 2026 at 05:07:52PM -0400, Jason Andryuk wrote:
>>> On 2026-06-01 13:00, Roger Pau MonnÃ© wrote:
>>>> On Tue, May 26, 2026 at 04:31:14PM -0400, Jason Andryuk wrote:
>>>>> A single stubs page is initialized with 0xcc and re-used, with
>>>>> multiple
>>>>> CPUs each using a portion of the shared page.Â  In cpu_smpboot_free(),
>>>>> each stubs area is checked against 0xcc.Â  When all are set to
>>>>> 0xcc, the
>>>>> page is freed.
>>>>>
>>>>> Booting a system with smt=0, CPU0 is initially setup, allocating the
>>>>> stubs page and initializing to 0xcc.Â  When more CPUs are brought up,
>>>>> CPU1 is initialized and then immediately brough offline as it is the
>>>>> sibling of CPU0.Â  Since the page was initially memset with 0xcc,
>>>>> cpu_smpboot_free() finds all stubs as 0xcc and frees the page.
>>>>> However, the page is still assigned to CPU0 and continues to be
>>>>> assigned
>>>>> to other CPUs.
>>>>>
>>>>> Meanwhile the page can be reallocated, which can lead to misbehavior.
>>>>> The particular instance was the stubs page re-used as a page table
>>>>> which
>>>>> later faulted when the entry was all 0xcc.
>>>>>
>>>>> Change to initializing the page as 0xd6/STUB_BUF_FREE, and
>>>>> initializing
>>>>> individual stubs as 0xcc/STUB_BUF_USED.Â  0xd6 now indicates
>>>>> unused, and
>>>>> 0xcc indicates used/assigned.Â  When freeing a CPU, the stub is set to
>>>>> 0xd6, and the page is freed if all stubs are 0xd6.Â  Initializing with
>>>>> STUB_BUF_FREE lets cpu_smpboot_free() a page that was only ever
>>>>> partially used.
>>>>>
>>>>> 0xd6/UDB is a 1 byte invalid opcode, which is similar to the existing
>>>>> use of 0xcc.Â  0xd6 is used to identify bug frames, but the stub addr
>>>>> (e.g. 0xffff82d07fffe000) fails the is_active_kernel_text()
>>>>> check.Â  It
>>>>> should be okay to use here.
>>>>>
>>>>> Fixes: 7a66ac8d1633 ("x86: move syscall trampolines off the stack")
>>>>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>>>>> ---
>>>>> It would be nice to use get_page()/put_page() to let count_info
>>>>> handle
>>>>> reference counting, but they require an owning domain.
>>>>>
>>>>> The listed Fixes introduced the use of 0xcc, but the smt commit
>>>>> may have
>>>>> made it more problematic.
>>>>> Fixes: d8f974f1a646 ("x86: command line option to avoid use of
>>>>> secondary hyper-threads")
>>>>
>>>> Speaking with Andrew, we believe it might be easier to simply forego
>>>> the freeing of the page, possibly something like:
>>>>
>>>> diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
>>>> index ff05955bae40..62c6cbf4b561 100644
>>>> --- a/xen/arch/x86/smpboot.c
>>>> +++ b/xen/arch/x86/smpboot.c
>>>> @@ -990,19 +990,12 @@ static void cpu_smpboot_free(unsigned int
>>>> cpu, bool remove)
>>>> Â Â Â Â Â Â  {
>>>> Â Â Â Â Â Â Â Â Â Â  mfn_t mfn = _mfn(per_cpu(stubs.mfn, cpu));
>>>> Â Â Â Â Â Â Â Â Â Â  unsigned char *stub_page = map_domain_page(mfn);
>>>> -Â Â Â Â Â Â Â  unsigned int i;
>>>> Â Â Â Â Â Â Â Â Â Â  memset(stub_page + STUB_BUF_CPU_OFFS(cpu), 0xcc,
>>>> STUB_BUF_SIZE);
>>>> -Â Â Â Â Â Â Â  for ( i = 0; i < STUBS_PER_PAGE; ++i )
>>>> -Â Â Â Â Â Â Â Â Â Â Â  if ( stub_page[i * STUB_BUF_SIZE] != 0xcc )
>>>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  break;
>>>> Â Â Â Â Â Â Â Â Â Â  unmap_domain_page(stub_page);
>>>> Â Â Â Â Â Â Â Â Â Â  destroy_xen_mappings(per_cpu(stubs.addr, cpu) & PAGE_MASK,
>>>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  (per_cpu(stubs.addr, cpu) |
>>>> ~PAGE_MASK) + 1);
>>>> Â Â Â Â Â Â Â Â Â Â  per_cpu(stubs.addr, cpu) = 0;
>>>> -Â Â Â Â Â Â Â  per_cpu(stubs.mfn, cpu) = 0;
>>>> -Â Â Â Â Â Â Â  if ( i == STUBS_PER_PAGE )
>>>> -Â Â Â Â Â Â Â Â Â Â Â  free_domheap_page(mfn_to_page(mfn));
>>>> Â Â Â Â Â Â  }
>>>> Â Â Â Â Â Â  if ( IS_ENABLED(CONFIG_PV32) )
>>
>> I think I've made an oversight in the code above: if all 32 CPUs
>> sharing the same stubs page are offlined, the reference to the stubs
>> page is possibly lost (if CPUs are not parked) and a new stubs page
>> would be allocated if any of those CPUs is brought back online, thus
>> leaking the previous allocation.Â  The simplest way to solve this would
>> be to introduce an array that indexes the stub pages, and replace the
>> logic in cpu_smpboot_alloc() that figures out whether stubs.mfn is set
>> for adjacent CPUs.
>
> Right, but I thought Andrew's point was that offlining 32 CPUs is
> unrealistic, so don't even bother tracking.Â  If CPUs are offlined (and
> you somehow keep running), you can leak the page.

Perhaps I should rephrase that slightly.

I don't think we want to fully leak the page (after all, there *is* a
reference to it staying in l2_xenmap[]), but I also think we should
bother having logic attempting to free it.Â  Software-offlining 32
adjacent threads is unrealistic, and not worth the effort (particularly
when the result is this).

Rework the code to use l2_xenmap[] as the source of truth, and allocate
a new ownerless page if the pagetables say one doesn't exist.Â  When a
CPU comes up, it can derive addr from its CPU number, and pull MFN out
of the pagetable.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:34:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:34:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326711.1592063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmfn-0002Lo-CS; Wed, 03 Jun 2026 14:34:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326711.1592063; Wed, 03 Jun 2026 14:34: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 1wUmfn-0002Lh-9T; Wed, 03 Jun 2026 14:34:23 +0000
Received: by outflank-mailman (input) for mailman id 1326711;
 Wed, 03 Jun 2026 14:34:22 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUmfm-0002LT-4P
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:34:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmfl-007WSV-HO
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:34:21 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a203b5c-e002-0a2a0a5209dd-0a2a4508ab80-36
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:34:21 +0200
Received: from [209.85.128.41] (helo=mail-wm1-f41.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a203b31-63b5-0a2a45080019-d1558029c81e-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:33:21 +0200
Received: by mail-wm1-f41.google.com with SMTP id
 5b1f17b1804b1-490a76757e5so29768475e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 07:33: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-490b0e20a76sm137761225e9.4.2026.06.03.07.33.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 07:33: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780497200; x=1781102000; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Emg804SF/gp3/DzB2tkNPg8yYliOXOTCUq4HoXo/ByY=;
        b=RikzQp5kaLLJUDsQtLNyoW8ycKIS7SBLeSOgHh8T5jrWeUF0PAj3JAjQD1OlrdM+JX
         Ta3u4QTqz6f8/BMeHn9xswdSZRTntzTGwonRPql8BV8zXj0DVKTD/3dSwoF525btuHxo
         sRHOCtg5aE/iRVCyp4zW6ogOWBovthpqjjDZkI8ehydANocGhiS8JTZYHPYj4hjfnrfI
         msSLIGMLRvJO5dMCDf4S/GVxePUV4/KTMpOVTd1q8GNyNF6e/JF9fdQ/Ut8vu7cNsDJG
         Nu8Cv8SCtuMRhXFZreV1Y6n5h1ZpvNvFO/e80kbqi9PSuTG2U4Ctkk16J79IoXUuAQ0d
         YdKw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780497200; x=1781102000;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Emg804SF/gp3/DzB2tkNPg8yYliOXOTCUq4HoXo/ByY=;
        b=A8PHnRqxMh+m53FLyqPL098yalLN3xfsbV2oZ1mSXGVvtIok0HTpgijr5d5sn2Za5b
         WTO+4+YpSGQaotsroBkZRqW0BcYu8uvE0ZqgwsPNko8NRyHJ/iSazgKl664o7cWLsVKC
         xR09OV2ELEWj7aDyS6ohWvSnxxBF7TQQtjak5xGMW42CXJuOeXEeNtmxbhpe2+6hdMsf
         2zl15RbkNbOa3L7LbU/z/0D04sEipaW+julpXf4iiRFK2wHHqc3emKKXhgz43p/XweSU
         nF1yTFx2gSKUCSHftM8TFrvnTpxXGD+5ANXa2/jY5b82qglcMKY6b5wmx3+udGHr5oaA
         H8mA==
X-Forwarded-Encrypted: i=1; AFNElJ/6V8HWW3gwQfGQO5xPOiAMTAKIZhHTQvIQ/nCC6FlX0mXSv6GvVAs6lorVRQhb7sXkPV1tGJBv6GY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz5r8stvWMTWHRTm0NC6YK3i4pVJ0fUg7TAe8lE9rgCRSYm+Nm6
	8u1UzGNNg5Ds2uaP9gg0V/b1Enh8nG0RX3ci5eIk56rrlVfvJdiNEd8RqPbZns7qCg==
X-Gm-Gg: Acq92OHXlPn4BfrrBQFNJnAZxV96qk6LbQM84z4JGamGOkN0dK/d7+zQ52WE3n1SB49
	R9MBP7YbukjW2FZXmMQScMm4kiifyGDWLJc6/tQ8FkENM8VGObj97Z6RL2PuPJIWhYpGVKInVvs
	NT4Ql76MzcCqwPMHzTH9IdaYZ4i5IFTm7p0ijaepBGijRS+6LpytZ+Si3ShQNfD3XiVviKFd/0r
	Z9dk5aX0G546vrjoZ7FrzK2GrFe0PnQOfcDKSzI/qF0VUotdld+K9OU6PiBG1dsLp+aSUOIM5H5
	Y/oCqFnULAHGq5szQFcnvZBtpT0aMaDO7C257gV8hxmPFsdRE4r6dVBHRWes7mFyTbz3yNJsMHU
	qsg/F+B+jmFCtnbWoUUGHmS8Tl/g1ouXtg5a/MphVe1JW8MXcYf7iKbJGnuxh2j2M6OZqjOPRE5
	5N0Bn+TJFOf5jeJbWuxtVkA4ap1SLNXGY6U8ZoD2zbLKC+BZ1vqZv+Yn8EzXhzz9PcUtBmshiFC
	gEWhURQnoIMMbLOyYSCPzeN4Q==
X-Received: by 2002:a05:600c:a44:b0:490:688b:ece5 with SMTP id 5b1f17b1804b1-490b60edf0cmr65930285e9.30.1780497200628;
        Wed, 03 Jun 2026 07:33:20 -0700 (PDT)
Message-ID: <3f81a6e6-0c14-42de-9386-7820e68b16c8@suse.com>
Date: Wed, 3 Jun 2026 16:33:19 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/mm: Fix off-by-one preventing tail merge in
 reserve_offlined_page()
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>,
 Bernhard Kaindl <bernhard.kaindl@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1780496798.git.bernhard.kaindl@citrix.com>
 <f2ed440fa3d2ca62c77868a60061168630d9fb6d.1780496798.git.bernhard.kaindl@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: <f2ed440fa3d2ca62c77868a60061168630d9fb6d.1780496798.git.bernhard.kaindl@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c1860d/1780497201-BC766DB1-008F3A2D/13/0
X-purgate-type: clean
X-purgate-size: 3355

On 03.06.2026 16:27, Bernhard Kaindl wrote:
> reserve_offlined_page() reserves pages marked for offlining and
> returns free buddies from the remaining healthy tail pages back
> to the free list.
> 
> Consider an order-2 buddy (4 pages) with the following layout:
> +---------------+---------------+---------------+---------------+
> | head page       tail page 1,    tail page 2     tail page 3   |
> | PFN_ORDER(pg)   marked as to                                  |
> | == 2            be offlined                                   |
> +---------------+---------------+---------------+---------------+
> 
> The expected result after removing tail page 1 and returning the
> remaining healthy pages to the free list would be:
> 
> +---------------+               +---------------+---------------+
> | single page   | offlined page | head page       tail page     |
> | PFN_ORDER(pg) | not returned  | PFN_ORDER(pg)                 |
> | == 0          | to the heap   | == 1                          |
> +---------------+               +---------------+---------------+
> 
> A trivial off-by-one error in the growth loop stops the growth loop
> early before the tail end of the original buddy and we end up with:
> 
> +---------------+               +---------------+---------------+
> | single page   | offlined page | single page   | single page   |
> | PFN_ORDER(pg) | not returned  | PFN_ORDER(pg) | PFN_ORDER(pg) |
> | == 0          | to the heap   | == 0          | == 0          |
> +---------------+               +---------------+---------------+
> 
> If the offlined page was in a much larger buddy, this would lead
> to much more memory not available for higher order allocations
> requiring the full tail end of the original buddy for allocation.
> 
> Fix the growth loop to correctly grow the buddy to the tail end
> to make the full allocation unit available for future allocation.
> 
> Fixes: e4865c2315 ('Page offline support in Xen side')
> Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Oleksii, same question again here.

Jan

> ---
> v2:
> - Bugfix isolated from the test case for backporting.
> - Removed stray blank from the line that I touch.
> - Title: Replaced stopping with preventing.
> - Title: Added parentheses after reserve_offlined_page().
> ---
>  xen/common/page_alloc.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> index 2767376a710b..e01ac3e99c72 100644
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -1195,11 +1195,13 @@ static int reserve_offlined_page(struct page_info *head)
>  
>          next_order = cur_order = 0;
>  
> +        /* Attempt to grow the order (size) of the buddy as much as possible. */
>          while ( cur_order < head_order )
>          {
>              next_order = cur_order + 1;
>  
> -            if ( (cur_head + (1 << next_order)) >= (head + ( 1 << head_order)) )
> +            /* Do not grow to next_order if it would go beyond the buddy. */
> +            if ( (cur_head + (1 << next_order)) > (head + (1 << head_order)) )
>                  goto merge;
>  
>              /* Do not grow to next_order if cur_head is not aligned to it. */



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:34:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:34:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326714.1592072 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmg1-0002fa-JC; Wed, 03 Jun 2026 14:34:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326714.1592072; Wed, 03 Jun 2026 14: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 1wUmg1-0002fT-G4; Wed, 03 Jun 2026 14:34:37 +0000
Received: by outflank-mailman (input) for mailman id 1326714;
 Wed, 03 Jun 2026 14:34:35 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19e8de8523b000701b@swg.vates.tech>)
 id 1wUmfz-0002eT-Ak
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:34:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmfy-007WWC-Nb
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:34:34 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19e8de8523b000701b@swg.vates.tech>)
 id 6a203b74-e002-0a2a0a5209dd-0a2a4506e34a-32
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:34:34 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19e8de8523b000701b@swg.vates.tech>)
 id 6a203b7a-7371-0a2a45060019-b9ff1c129d3d-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:34:34 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19e8de8523b000701b.003 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Wed, 03 Jun 2026 14:34:33 +0000
Received: from l14 (lfbn-lyo-1-414-55.w2-7.abo.wanadoo.fr [2.7.24.55])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id B903C86424;
 Wed,  3 Jun 2026 16:34:32 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=TRFtJO2nUl94J9pR7VWBP9pjT2Ps2p72CoHMHWKg0d8=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=YjPpao1o7qiEVzkoOnQhKX1Xm1xfQvJom3RCX1gAxGy8vHt9YFSIsjVLaNWP5RuIU+2sJtCt7
 x4tRLtJQmJBHwD6teNXP3+3DbqekCdzKQUcJxjiCHDITQAJQ3CMBCr3gwX9My1HueU72Ye4clJ8
 vtoYjWAZkxvXZJ0Imh3ISpeVwspABy2FHLWlAMduCBO4O9dzURB/V93DRaU6fgEbk+vLJfAm1QP
 5lD8N1eLI1PPcR1wrK8Yx6gBxEJ70b4+2pz/Viec5cQFuAJolGJmIYxIvbDqKfnsBA3PaUomrXL
 NneXJZ4BVOQU2BttxHqQ2bJuMmhoKNnO2kZRHeoB1VUA==
X-Zone-Loop: 423ae6d5c8cc08c07f492112f0ad2784e238765453d5
x-campaign-type: default
x-transaction-id: f62b2fea-8726-4f0c-848d-d05b2c21da14
x-swg-uid: 01-0f22dd8a-6acd-4dbf-834e-752f46539bb6
X-Mailer: Sweego
Message-ID:
 <1780497273.8631fc262581453bbf619ec5b2062170.19e8de8523b000701b@vates.tech>
x-swg-bid: 1780497273.8631fc262581453bbf619ec5b2062170.19e8de8523b000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Wed, 3 Jun 2026 16:34:32 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH for-4.22 1/5] tools/bitops: adjust bitmap_or() interface
 to match hypervisor
References: <20260601154332.30797-1-roger.pau@citrix.com>
 <20260601154332.30797-2-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20260601154332.30797-2-roger.pau@citrix.com>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.1cde.b2a7aa1e3bef5db3.19e8de85014.522a6210ce23f63e=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1780497272853
X-purgate-ID: tlsNG-16d1c6/1780497274-85D6AD75-216511CA/0/0
X-purgate-type: clean
X-purgate-size: 964

---=Part.1cde.b2a7aa1e3bef5db3.19e8de85014.522a6210ce23f63e=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Mon, Jun 01, 2026 at 05:43:28PM +0200, Roger Pau Monne wrote:
> Adjust the only toolstack caller to use the new interface=2E  No functio=
nal
> change intended=2E
>=20
> Signed-off-by: Roger Pau Monn=C3=A9 <roger=2Epau@citrix=2Ecom>

Acked-by: Anthony PERARD <anthony=2Eperard@vates=2Etech>

> ---
> I'm tempted to rewrite bitmap_or() to use unsigned long (just like the
> hypervisor side), but that's outside the scope of this change=2E

You mean revert 11d0044a1689 ("tools/libxc: Modify bitmap operations to
take void pointers") ? Or maybe the hypervisor code when trough the same
path=2E

Thanks,


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vate=
s solutions

web: https://vates=2Etech
---=Part.1cde.b2a7aa1e3bef5db3.19e8de85014.522a6210ce23f63e=---


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:48:27 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:48:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326745.1592081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmtD-0007RI-Pz; Wed, 03 Jun 2026 14:48:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326745.1592081; Wed, 03 Jun 2026 14:48: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 1wUmtD-0007RB-N1; Wed, 03 Jun 2026 14:48:15 +0000
Received: by outflank-mailman (input) for mailman id 1326745;
 Wed, 03 Jun 2026 14:48:13 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wUmtB-0007Pd-Jz
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:48:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmtA-0077nv-Ih
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:48:12 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a203ea2-e002-0a2a0a5209dd-0a2a4506d6a2-26
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:48:12 +0200
Received: from [209.85.208.44] (helo=mail-ed1-f44.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgross@suse.com>)
 id 6a203eaa-7371-0a2a45060019-d155d02cacc3-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:48:10 +0200
Received: by mail-ed1-f44.google.com with SMTP id
 4fb4d7f45d1cf-68bfcf11050so9834735a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 07:48:10 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-68e64c2f358sm1376083a12.6.2026.06.03.07.48.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780498090; x=1781102890; 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=slIvjWFtk6DA3b/dF/KvIqlbJFJS9SHoGcWrVmDiXYA=;
        b=B63QKayeWPaEpD+UYFP3oNqI5+UibBnhXNyVKzYKKXnWQRM3Y85W4davg2l4qCb7LP
         K1FtI5f0Q4343BWv93IdpK9CIggOm8jyYK2B3/28K4MRtxd9ORauYaEokRdmLJER3RND
         /3CrIyK9IBHi7Qvq6FRBmNZfHEtUCiok63NBlqbdLZXztk4mGur2mUIOHePRMnCJQ++X
         Cn41WOL/v/IQODA65juEv7+8GVFVqD6QgIJqRZnckvdFPxEQIp9b5azrEPfYRRw13cAr
         iy30v2aTd0LZSGRqYuPjFqnIa6ci2jn89xgXflC2261kxgHydLaD0KWBXr13/M+dVCLF
         EbTg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780498090; x=1781102890;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=slIvjWFtk6DA3b/dF/KvIqlbJFJS9SHoGcWrVmDiXYA=;
        b=GzRwbbHaQc96KBo2HddxL7HP+P0f1z8Akp6i2giu5rSPNhTGfxZTY1UDBnT3J9OPpi
         TwI7/e2sHtl8QgM28kkqPUkKoGnuuHX2Y35wG7aeNcfYOY1gtR+v6z7fPbtbIc1kT7Ct
         A/eV3+D28O8j4HqeLvfAZPgOPq3TcU1z/YM4JqOi3UDT726MGeC/TDI16L3g4jvUQ88X
         nYhnhcO8rCX9rLV3AaAb/2pkp/0TRAVOG7k89HntnLFe2vXQjPhuGR1f44gq+uq3mK8a
         kzYDuTkx2RtCXU0xnCfKe+isfoHHxkAzur8AqtcKgxPK23Gd36RZD6tag5Bjn5KH1Ylp
         gxRA==
X-Gm-Message-State: AOJu0YzX3raGb4TcGNVjNPGnFz8D3NlEb0S/Q/qD28TudviabkNgD8iz
	z85noe5YCXcZdtycAlT8mgvGNRgfShZVWs/kMWBV2C8EhJH0cthSeAcvSy48mcXF5v0=
X-Gm-Gg: Acq92OE3DrQiYxCbVA7RaSc2nFK4I8fdfNZIGsCJLo9XAW+W15orccbbyQT+TDnAJkX
	T3bdphc75vR2qMVHYS5RbJiP5MZOYPdGE5DpGrKjNtTnFeCwAfS6ac6rLo6phNAaj+nHhxadCJo
	L3djeU8VqXYR+m94mEIuAKOHzWcREnYNB/AbrJMuWP1wXhTwyYoi9TdCFg65gHwArByDDjROlhD
	ao4PTgDVNzCwuq7Ts/qiiBo55Sdv6XofmYR1W7c/4WkbTXChALAmAOqhcGLzY6e2vW3OsLYQ3X+
	c+X3CC3gNTgIqB7x8cY0OjH/mukOyNZYA7inYOZn9PzkHVB0V6X7FdkTrKJAeOovIWVUkRwvyNw
	LnkBzbBlbLr0T1xTJakF0UvRwEz1zirFarcliYsI0+aJlW8+UGf5lfuiwNVhlVAYGZYhIlvkctl
	jS0lzHELwKF8J9c5IpvEivvC5hmodu+qmBCd/Wc1tsko5OK653ebTiOwdFHYXFnSrm1bq8kuFdd
	VCyepX/dTyiVFBIXWDchOn8yTd9nzwjuWf/VYurVh+61ENCsR/vRQrXFRTKvasq
X-Received: by 2002:a05:6402:27ce:b0:68b:d97:f449 with SMTP id 4fb4d7f45d1cf-68e714da6c7mr1865014a12.15.1780498090132;
        Wed, 03 Jun 2026 07:48:10 -0700 (PDT)
Message-ID: <34695de7-95a1-4ba6-8459-358e26e1f234@suse.com>
Date: Wed, 3 Jun 2026 16:48:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: RTDS: Call for [Co]-Maintainers [was: Re: RTDS scheduler patches]
To: Dario Faggioli <dfaggioli@suse.com>, Jan Beulich <jbeulich@suse.com>,
 Meng Xu <mengxu@cis.upenn.edu>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
References: <41d236ba-a93d-446a-b29a-449a1c5f8972@suse.com>
 <0b44963bae28d08fcfc14374cfa5e9bcb7c5eaa3.camel@suse.com>
 <2d0a4c03-319f-4d29-b305-09998a516606@suse.com>
 <456c856e66ed7e481b1bc93051a4535d767efa9b.camel@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: <456c856e66ed7e481b1bc93051a4535d767efa9b.camel@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------J6ulQ69lBtA9QoGH43ENOtmH"
X-purgate-ID: tlsNG-16d1c6/1780498090-84767D75-57D17518/0/0
X-purgate-type: clean
X-purgate-size: 9027

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------J6ulQ69lBtA9QoGH43ENOtmH
Content-Type: multipart/mixed; boundary="------------4swwVv1qHHdTvN0LXB02RQGx";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Dario Faggioli <dfaggioli@suse.com>, Jan Beulich <jbeulich@suse.com>,
 Meng Xu <mengxu@cis.upenn.edu>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
Message-ID: <34695de7-95a1-4ba6-8459-358e26e1f234@suse.com>
Subject: Re: RTDS: Call for [Co]-Maintainers [was: Re: RTDS scheduler patches]
References: <41d236ba-a93d-446a-b29a-449a1c5f8972@suse.com>
 <0b44963bae28d08fcfc14374cfa5e9bcb7c5eaa3.camel@suse.com>
 <2d0a4c03-319f-4d29-b305-09998a516606@suse.com>
 <456c856e66ed7e481b1bc93051a4535d767efa9b.camel@suse.com>
In-Reply-To: <456c856e66ed7e481b1bc93051a4535d767efa9b.camel@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=

--------------4swwVv1qHHdTvN0LXB02RQGx
Content-Type: multipart/mixed; boundary="------------xCU3rLnSia0EFjZO9XoAqbLm"

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

T24gMDMuMDYuMjYgMTY6MzAsIERhcmlvIEZhZ2dpb2xpIHdyb3RlOg0KPiBPbiBXZWQsIDIw
MjYtMDYtMDMgYXQgMTY6MTUgKzAyMDAsIEphbiBCZXVsaWNoIHdyb3RlOg0KPj4gT24gMDMu
MDYuMjAyNiAxNjowOCwgRGFyaW8gRmFnZ2lvbGkgd3JvdGU6DQo+Pj4gSSdtIGhhcHB5IHRv
IGNvbnRpbnVlIHRvIHRyeSB0byBoZWxwIGJ1dCwgYXMgdGhpcyB0aHJlYWQgY2xlYXJseQ0K
Pj4+IGRlbW9uc3RyYXRlcywgSSBjYW4ndCBiZSB0aGUgc2luZ2xlIHBvaW50IG9mIGNvbnRh
Y3QgZm9yIFJURFMNCj4+PiBwYXRjaGVzDQo+Pj4gYW55IGxvbmdlci4NCj4+DQo+PiBBcyB0
byBjb25jcmV0ZSBhY3Rpb246IEZyb20gdGhlIGFib3ZlIEkgY29uY2x1ZGUgdGhhdCBzaW1w
bHkgcmVtb3ZpbmcNCj4+IHRoZSAiUlREUyBTQ0hFRFVMRVIiIHNlY3Rpb24gZnJvbSAuL01B
SU5UQUlORVJTIG1pZ2h0IGJlIGEgZmFpciBmaXJzdA0KPj4gc3RlcC4NCj4+ICAgVGhhdCB3
b3VsZCBzdGlsbCBtYWtlIHlvdSBvbmUgb2YgaXRzIG1haW50YWluZXJzLCBhbG9uZyB3aXRo
DQo+PiBKw7xyZ2VuLiBXaGljaCBtYXkgbm90IGJlIGludGVuZGVkIGVpdGhlciwganVkZ2lu
ZyBmcm9tIHdoYXQgeW91IHNheS4NCj4+DQo+IFRoYXQgd291bGQgYmUgZmluZSBmb3IgbWUs
IGJ1dCBJIGJlbGlldmUgaXQgd291bGQsIGF0IGxlYXN0DQo+IHBvdGVudGlhbGx5LCBpbmNy
ZWFzZSB0aGUgYnVyZGVuIG9uIEp1ZXJnZW4uDQo+IA0KPiBJIG1lYW4sIGhlJ3MgYWxyZWFk
eSByZXZpZXdpbmcgdGhlIFJURFMgcGF0Y2hlcyBhbnl3YXksIHNvIG1heWJlIGl0J3MNCj4g
ZmluZS4uLiBCdXQgSSdkIGxpa2UgdG8gaGVhciBmcm9tIGhpbSB3aGV0aGVyIGl0IGFjdHVh
bGx5IGlzLiA6LSkNCg0KWWVhaCwgdGhhdCdzIGZpbmUuDQoNCg0KSnVlcmdlbg0K
--------------xCU3rLnSia0EFjZO9XoAqbLm
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-----

--------------xCU3rLnSia0EFjZO9XoAqbLm--

--------------4swwVv1qHHdTvN0LXB02RQGx--

--------------J6ulQ69lBtA9QoGH43ENOtmH
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/Ey8FAmogPqkFAwAAAAAACgkQsN6d1ii/Ey+m
TwgAnfWMD+T/J++44F7uLnkeMyiy4DOQR3XKUEX91wsCD2jO1BgSIqzhBsk79BcoyTUGdGuM4lJ5
iYT0BMFU8ayjS2t/+Es8zu9WdFS7C2IzoAx3NMViEju382fcIeDLNKQcgJX1BFAtpLGgsJI2Z/nG
2YatqtDGZ4F4BelRX71Zxg44ilrV+2WQpbfi7ykDjf6vBUMvpkSh/207SB9ipI6jiaKhaVaxcSu+
DLDF0KrT40M5tlreLt+iNcmSLERTmRd708UwipVteKBummAj5m6qaeNfLAWHhnvtYvPcQeYmJ/OL
XP9AMy337z6OhnV81kWQaGLkzhj7DwJktDqca8D53Q==
=kdRL
-----END PGP SIGNATURE-----

--------------J6ulQ69lBtA9QoGH43ENOtmH--


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 14:55:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 14:55:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326759.1592089 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUmzl-0001ph-LK; Wed, 03 Jun 2026 14:55:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326759.1592089; Wed, 03 Jun 2026 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 1wUmzl-0001pa-IG; Wed, 03 Jun 2026 14:55:01 +0000
Received: by outflank-mailman (input) for mailman id 1326759;
 Wed, 03 Jun 2026 14:55:00 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUmzk-0001pS-JI
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 14:55:00 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUmzj-00GKrf-Vu
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:54:59 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a204035-2eae-0a2a0a5409dd-0a2a4504de10-26
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:54:59 +0200
Received: from [209.85.128.41] (helo=mail-wm1-f41.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a204043-1dec-0a2a45040019-d1558029d8b2-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 16:54:59 +0200
Received: by mail-wm1-f41.google.com with SMTP id
 5b1f17b1804b1-490b9318997so6216945e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 07: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-4601f2e4004sm8149044f8f.9.2026.06.03.07.54.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 07:54: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780498499; x=1781103299; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=qj+PwHHlGq/ImfDVyjeim+1I3WXkpQ4SAfsILTiGNVI=;
        b=gM79nS8Yre/nkB7G8X2UYSslz+FchfxjKfAWsC6JBr43UQ6SKWwUNi63osiMCqIGtr
         ILwyNBi6xZfq+CrcMdobLquZEoAkCbGtL4+qtgLmDzvOq2H8+qQnFk2T7YddizZcxv9S
         HA2CqTN1V7VEPkz6E7vvMdJOeDDWfxrePFTgK+jDZ+7OtaAscwCKhdCw0QjlcMO/Qyox
         T7yY1sKvLCk0bdMJ152dMtfE1thvcJZ29CV4x3EWFbBD2Ce8ZCtfRC8cfiJrUWVqvscp
         noWZ5Qrj3Szb8fY8hSXXowxeOcJl7HlrlQiWbL3chdgdc/p4gSaaGQuBr5KZ41+F+p5b
         3a5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780498499; x=1781103299;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qj+PwHHlGq/ImfDVyjeim+1I3WXkpQ4SAfsILTiGNVI=;
        b=GpuX1pZkrvj4LOFxMdy7Poa8EcYksNOZydoxKyHszzuMIPL/ki1epKw7eFHb+CxQgv
         MYl9r/koVebHbhH115tFhK6ArH3IDLpzX6+ljlun1cjUlCFYMhHIrP5twpIU+8UL8Muw
         GIYn1dqAdXdkPnE09L7CKrViU/fY/rfIqbVp1ARJlDsm+u70tlP5gzGuSCbHb+CpX18l
         adSoj7oqfkmF5L+aRaqH3yoK/kvHxfcIK0QK9dx4+GKHqSptK0rXf2kr2hJ3mu1Sct99
         dJ+bKOsOjgsFZotTeCTg8w7QWDwPr/uuIG2PDprcC9VIpGNPFNbKDbbwx/vK85BqzS9i
         Aejg==
X-Forwarded-Encrypted: i=1; AFNElJ/5NgPrDEaFX0zx/q/txeC2BbL4SJqcRVl4ULQl/N4W3AWhQSjhk/GcscRkFvEBjqwEW97kZDEPyD4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzFKT9lbVKJbY8r92zPm4d+8mJ84lck+IPpLw4X6RL9UB0qjNtz
	FwbG2xh8vr/etkiHmczoYS5gSZe4s4TZyKgnQeekO66OWzuG2E99KTX1KgseWrQ5ew==
X-Gm-Gg: Acq92OEzsc+/AIAdbKzBR+W8/Nfr8B39LJhONJuXxGs/3DAugwXvA3aofM9/4wgqLym
	n8jLNDkUneNYw/uwD/AqlhhMhvcSj0IDimuElpYaJxk2w5horKFL2mEMDrDfWLa4J4bxurHhsHy
	4KjVWXRQQdKsbw/YP3Ufcg0ZvihODxxJK68KSrgbUtZoMo/K3B9+jRfty6thIuMHxjB7hGP+dQ2
	avwkh2AEKYIaAednFCalt1Zb1DidGmTcd7xPNuvqTxSycHaWCjgHsl1z6e0LDI7H+FmLh/wn9hK
	hrBuDImGyCqYrpkwiUgl7VsK3edHKFl/50ND4zTmTooiXF08cqIcUC9mW1MvB687Y9oeIZ4rn1L
	p9J/9gCru6j/HCnCJ1ZV1C3VaCw0QXv3kKnxJ0reiwq4NlaloSuMaHhuw7wKgqk8lrE/j07neVi
	S2RVJVz+MLkuRbiF727hrhzEZNB/ypkXCquQO8EDJYokMH14as5IQ8QFxI12Gi7ravrtPdqU9io
	UXVWS4hsPFf4zJpojYfNGMkwQ==
X-Received: by 2002:a05:600c:c4b8:b0:490:b591:b5a3 with SMTP id 5b1f17b1804b1-490b60e9af0mr63964635e9.32.1780498499219;
        Wed, 03 Jun 2026 07:54:59 -0700 (PDT)
Message-ID: <6ec9620d-7224-49d4-860c-6e447e0534e3@suse.com>
Date: Wed, 3 Jun 2026 16:54:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 14/26] xen/riscv: add very early virtual APLIC (vAPLIC)
 initialization support
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <220cf09814744b8b8136b1e3c35ab982226d3f6f.1778250616.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: <220cf09814744b8b8136b1e3c35ab982226d3f6f.1778250616.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1780498499-409723FF-EFC66997/0/0
X-purgate-type: clean
X-purgate-size: 5534

On 08.05.2026 16:43, Oleksii Kurochko wrote:
> --- a/xen/arch/riscv/aplic.c
> +++ b/xen/arch/riscv/aplic.c
> @@ -295,6 +295,11 @@ static void cf_check aplic_set_irq_type(struct irq_desc *desc,
>      spin_unlock(&aplic.lock);
>  }
>  
> +static unsigned int cf_check aplic_irq_num(void)
> +{
> +    return aplic_info.num_irqs;
> +}
> +
>  static const hw_irq_controller aplic_xen_irq_type = {
>      .typename     = "aplic",
>      .startup      = aplic_irq_startup,
> @@ -309,6 +314,7 @@ static const struct intc_hw_operations aplic_ops = {
>      .host_irq_type       = &aplic_xen_irq_type,
>      .handle_interrupt    = aplic_handle_interrupt,
>      .set_irq_type        = aplic_set_irq_type,
> +    .irq_nums            = aplic_irq_num,

Hook handler names and respective field names would preferably match up. It's
unclear why the field uses some kind of plural(?), while the function uses
singular.

> --- a/xen/arch/riscv/domain.c
> +++ b/xen/arch/riscv/domain.c
> @@ -11,6 +11,7 @@
>  #include <asm/bitops.h>
>  #include <asm/cpufeature.h>
>  #include <asm/csr.h>
> +#include <asm/intc.h>
>  #include <asm/riscv_encoding.h>
>  #include <asm/vtimer.h>
>  
> @@ -155,14 +156,10 @@ int arch_vcpu_create(struct vcpu *v)
>      if ( (rc = vcpu_vtimer_init(v)) )
>          goto fail;
>  
> -    /*
> -     * As interrupt controller (IC) is not yet implemented,
> -     * return an error.
> -     *
> -     * TODO: Drop this once IC is implemented.
> -     */
> -    rc = -EOPNOTSUPP;
> -    goto fail;
> +    ASSERT(v->domain->arch.vintc->ops->vcpu_init);
> +
> +    if ( (rc = v->domain->arch.vintc->ops->vcpu_init(v)) )

I don't understand this model of the use of ASSERT(). As previously said
(more than once) - you'll crash anyway if any of the involved pointers is
NULL. If you really think an up-front check is better, then why would you
check only the leaf of the pointer chain, and not also vintc and ops?
(Once you do you'll then likely notice that there are more assertions
than actual code.)

> --- /dev/null
> +++ b/xen/arch/riscv/include/asm/vaplic.h
> @@ -0,0 +1,34 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * xen/arch/riscv/vaplic.c
> + *
> + * Virtual RISC-V Advanced Platform-Level Interrupt Controller support
> + *
> + * Copyright (c) Microchip.
> + */
> +
> +#ifndef ASM__RISCV__VAPLIC_H
> +#define ASM__RISCV__VAPLIC_H
> +
> +#include <xen/kernel.h>
> +#include <xen/types.h>
> +
> +#include <asm/intc.h>
> +
> +struct domain;
> +
> +#define to_vaplic(d) container_of(d->arch.vintc, struct vaplic, vintc)

d wants parenthesizing here.

> --- a/xen/arch/riscv/intc.c
> +++ b/xen/arch/riscv/intc.c
> @@ -78,6 +78,13 @@ void intc_route_irq_to_xen(struct irq_desc *desc, unsigned int priority)
>      intc_set_irq_priority(desc, priority);
>  }
>  
> +unsigned int intc_irq_nums(void)
> +{
> +    ASSERT(intc_hw_ops && intc_hw_ops->irq_nums);
> +
> +    return intc_hw_ops->irq_nums();
> +}

You use this to set domains' properties. As indicated before, I view it as
wrong to do so for any domain, besides perhaps Dom0 / hwdom. If you want to
do so nevertheless, at the very least I'd expect something to be said about
such a decision in the description.

> --- /dev/null
> +++ b/xen/arch/riscv/vaplic.c
> @@ -0,0 +1,78 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * xen/arch/riscv/vaplic.c
> + *
> + * Virtual RISC-V Advanced Platform-Level Interrupt Controller support
> + *
> + * Copyright (c) Microchip.
> + * Copyright (c) Vates
> + */
> +
> +#include <xen/errno.h>
> +#include <xen/sched.h>
> +#include <xen/xvmalloc.h>
> +
> +#include <asm/aia.h>
> +#include <asm/imsic.h>
> +#include <asm/intc.h>
> +#include <asm/vaplic.h>
> +
> +#include "aplic-priv.h"
> +
> +#define VAPLIC_NUM_SOURCES 96
> +
> +static int cf_check vcpu_vaplic_init(struct vcpu *v)
> +{
> +    int rc = 0;

Nit: Pointless initializer.

> +    unsigned int vgein_id;
> +
> +    rc = vcpu_imsic_init(v);
> +    if ( rc )
> +        return rc;
> +
> +    if ( !(vgein_id = vgein_assign(v)) )
> +    {
> +        printk("Software interrupt files aren't supported\n");
> +        rc = -EOPNOTSUPP;
> +        goto fail;
> +    }
> +
> +    imsic_set_guest_file_id(v, vgein_id);
> +
> +    return rc;
> +
> + fail:
> +    vcpu_imsic_deinit(v);
> +
> +    return rc;
> +}
> +
> +static const struct vintc_ops vintc_ops = {
> +    .vcpu_init = vcpu_vaplic_init,
> +};
> +
> +int __init domain_vaplic_init(struct domain *d)

Why __init, and why is there no caller? Plus why is the vCPU-init a hook,
but the domain init is not? Either you mean to allow for other ICs, or
you you don't.

> +{
> +    struct vaplic *vaplic = xvzalloc(struct vaplic);
> +
> +    if ( !vaplic )
> +        return -ENOMEM;
> +
> +    d->arch.vintc = &vaplic->vintc;
> +    d->arch.vintc->ops = &vintc_ops;
> +
> +    vaplic->regs.domaincfg = APLIC_DOMAINCFG_IE | APLIC_DOMAINCFG_DM;
> +
> +    d->arch.vintc->irq_nums = min(intc_irq_nums(),
> +                                  VAPLIC_NUM_SOURCES + 0U);
> +
> +
> +    return 0;
> +}
> +
> +void __init domain_vaplic_deinit(struct domain *d)
> +{
> +    struct vaplic *vaplic = to_vaplic(d);
> +
> +    xvfree(vaplic);
> +}

And d->arch.vintc turns into a dangling pointer. The way you arrange data
types, you can't use XVFREE() here, but imo you really want to make sure
the function is idempotent.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 15:00:16 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 15:00:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326765.1592098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUn4k-0003tD-B0; Wed, 03 Jun 2026 15:00:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326765.1592098; Wed, 03 Jun 2026 15: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 1wUn4k-0003t8-5l; Wed, 03 Jun 2026 15:00:10 +0000
Received: by outflank-mailman (input) for mailman id 1326765;
 Wed, 03 Jun 2026 15:00:08 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUn4i-0003o4-L5
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:00:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUn4i-001HYX-1Y
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 17:00:08 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a204177-2eae-0a2a0a5409dd-0a2a450ac452-2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:00:07 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a204177-56b3-0a2a450a0019-d155802ce0cb-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:00:07 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-49050ff7cbdso120095745e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:00: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-490b6162289sm64593715e9.6.2026.06.03.08.00.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 08:00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780498807; x=1781103607; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=h4qiwD+fIY+UkkXj6tpEfx9hA8Hx1mkSUF/YM6TkV7I=;
        b=OoPHmPNRVNS2oDg6TNXjAzH/pGYznsap3LHI76cB8a6vyO1FiF24Cxap/XTdzxsPQv
         TLqkRfLLZcd1IJsRQl/7rMaV5rYgp6LDmeidNTAIo3IFZiP5LjGDCbUtrk7F8Kg+S5O/
         xGs9qOMzL3Pmf58oi/yHMVg1AyrbaLR5ez11Cl+xmA3qf4quV2XvtaLO+pIDAMFnaYZk
         AFkSiqhOi7GIEb6kzI7mmhYu19vHuNc3s2w22cV0r6CQVLk4NFLsx7D0ZZY/B4Wxx4W7
         ipBe+LZCJep02bUqE0tVUyB484I5rLHws94PM1n1tQlAzCyHi9yt7cwiYrQ/TqZ8DwJw
         de8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780498807; x=1781103607;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=h4qiwD+fIY+UkkXj6tpEfx9hA8Hx1mkSUF/YM6TkV7I=;
        b=IB94thvjadpCIxJLKBw/zZwlP+zX3RfEyJUrVeY5JfxaVoSBw27NtOsDkIYB3GBYBm
         6e+j2na01kmd2apSk98XFeRiAfsBxj1b8gBG6b2GwkFaeXP2xB2g/a9sfYix/ZIQ2CPq
         X8Gp0OlV0dwZsoF3Yeyif4zvzySnxXzps9ClXsGyL2SmCVNPuFr1oheBQzVecm/IO7+s
         7gr2hgm0fDZN+s5pazCisC95sMX/St4+FtzQXIpfgclPGdQ5KGAHQh3BPzZph/lsqGct
         N3vlQ1O8msQeq7t/vxb98wy5PdBjj6/EvCAyObWUH8YzBdSwprJCSBinCoScNOC8Dz7v
         GTGw==
X-Forwarded-Encrypted: i=1; AFNElJ/CH9mtFMT1EUMXjlYXRXVKybPfsAJhEuSzeUXQrLrgyVjsMe2jUH8LJALaKAfrWn2lDCTeAHvE7HM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyuZZFjZWEvMJz2Ih+ow13T5361Sc8bXyk/XHmFO4vNbKZHwAYN
	hw+M9IuAddkjtGqkPWGMQ31Hq091cJGYNBXFP6vKnPc56vfkBOQ8WEcDfcnBzOzOqQ==
X-Gm-Gg: Acq92OEKDTmGxpxFYM3wQFAlxyUFarUOH05kim8mO8OYdpZ6035NKaLeymON+9fojjj
	mSwoZh79AhnQRoEZVEF2pQJLw9Z54tUVTbqDylCtovQ2C2APHBKLStEr7+0Q3oUySpQlrbjXu8O
	mTPz/U7YElTFEia0fViHkit+g3Evjnzp/f+m+WSPwPaNclXRiFTdnPDLtoHt8OtzcTIhKZZE03p
	Bpj7uGFByq7BZW/PtXNY4KSR71/i9KeRDrLlXb1HXL0hmAMkPG6WUA5gVdYQkGuG+hUEErrBssm
	utPyaubHpl9Dal9JidLtgzmL7FBfdG6yOJ7aIjFFCFUE3Un8ylBTnOIyZatIVtBBC9v/PvY0fXd
	SrwzGfLsubFI5J2Y0gGXudo07yqrHfJ1zlN5FcCnyWp+ppgaJ6wkdktFYw4uI8zpoHiXJ57fGt9
	Y3zCSAs5DPOJ4pTq+9yoNB6VQh7zq9hVMKUeeClm2DImpjfwc+GSZUBSvZiBt8Ai/kQFczoZdJK
	hARsXZ16h8jQWwSqfxq9tipGw==
X-Received: by 2002:a05:600c:46ce:b0:490:abef:dae6 with SMTP id 5b1f17b1804b1-490b5eb0aeemr58045555e9.19.1780498807322;
        Wed, 03 Jun 2026 08:00:07 -0700 (PDT)
Message-ID: <b95f7093-9ae8-4461-95d5-3c4b8a69c62d@suse.com>
Date: Wed, 3 Jun 2026 17:00:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 15/26] xen/riscv: introduce (de)initialization helpers
 for vINTC
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <fc5560cd49a2b952ce7724c23e41da3368833d9f.1778250616.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: <fc5560cd49a2b952ce7724c23e41da3368833d9f.1778250616.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-4011c0/1780498807-71F698B7-C0E631B9/0/0
X-purgate-type: clean
X-purgate-size: 1459

On 08.05.2026 16:43, Oleksii Kurochko wrote:
> --- a/xen/arch/riscv/intc.c
> +++ b/xen/arch/riscv/intc.c
> @@ -11,6 +11,7 @@
>  
>  #include <asm/aia.h>
>  #include <asm/intc.h>
> +#include <asm/vaplic.h>
>  
>  static const struct intc_hw_operations *__ro_after_init intc_hw_ops;
>  
> @@ -94,3 +95,38 @@ int __init make_intc_domU_node(struct kernel_info *kinfo)
>  
>      return -EOPNOTSUPP;
>  }
> +
> +int domain_vintc_init(struct domain *d)
> +{
> +    int ret = -EOPNOTSUPP;
> +    const enum intc_version ver = intc_hw_ops->info->hw_version;

Again - why would what the underlying hardware has control what all domains
get?

> +    switch ( ver )
> +    {
> +    case INTC_APLIC:
> +        ret = domain_vaplic_init(d);
> +        break;
> +
> +    default:
> +        printk("vintc (ver:%d) isn't implemented\n", ver);

If we take this path for whatever reason, ...

> +        break;
> +    }
> +
> +    return ret;
> +}
> +
> +void domain_vintc_deinit(struct domain *d)
> +{
> +    const enum intc_version ver = intc_hw_ops->info->hw_version;
> +
> +    switch ( ver )
> +    {
> +    case INTC_APLIC:
> +        domain_vaplic_deinit(d);
> +        break;
> +
> +    default:
> +        printk("vintc (ver:%d) isn't implemented\n", ver);

... we're also going to take this path (very quickly afterwards), just to
get the same message twice without it being clear why it appears twice.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 15:10:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 15:10:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326774.1592108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUnEa-00078e-8Y; Wed, 03 Jun 2026 15:10:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326774.1592108; Wed, 03 Jun 2026 15:10:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUnEa-00078X-3e; Wed, 03 Jun 2026 15:10:20 +0000
Received: by outflank-mailman (input) for mailman id 1326774;
 Wed, 03 Jun 2026 15:10:18 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <bernhard.kaindl@citrix.com>) id 1wUnEY-00078R-Er
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:10:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUnEX-003lKh-D1
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 17:10:17 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a2043d1-5cb7-0a2a0a5109dd-0a2a4502932a-28
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:10:17 +0200
Received: from [52.101.85.33]
 (helo=BYAPR05CU005.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a2043d5-af86-0a2a45020019-34655521515a-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:10:15 +0200
Received: from LV3PR03MB7707.namprd03.prod.outlook.com (2603:10b6:408:28b::21)
 by CH3PR03MB7315.namprd03.prod.outlook.com (2603:10b6:610:1a1::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 15:10:11 +0000
Received: from LV3PR03MB7707.namprd03.prod.outlook.com
 ([fe80::97e8:ef9c:9031:e2bf]) by LV3PR03MB7707.namprd03.prod.outlook.com
 ([fe80::97e8:ef9c:9031:e2bf%4]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 15:10: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=LHVX0raYosYzKRJvkuJLDj8ObmSU02Qtg+TASlck58UkzfTicuqeqE6F5mKdOgXMy18N2yJuLTNtH1HD6yztzRLuUXji0GVUR0TEUTlxQI+0gH4GXwPwOVb8YSpQyJiujUSoSfrspRHwXRHCQ42J05gtHsDhAnfeODwxvafSfOXVqO3URuUO5byXgBGTrttGYDxL/wVJ4lJbqhkJJfzY0xni2Khue5zHyT7sy/gJmgPkk/Tbyp4K3EQCmpI1qcFCSgg9OziQOF5o2ymlh0gPf3P8zRbMCYZSVpD+fkyMNLK0nJCD2hv4DWV6157IRtI4CYySm2vcA37GKX5ArcD5Jw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iSbnSA9m+kS1M57IBUPBBLOQqunbSfWY6mjuPHpdsGk=;
 b=Jd9VdpLfXrkfCMsWGzUiB8+xOo0PaYUSHTgs3+RawVy1TvRaSUNAWyW5aD/eVb/vH2j1mdYjGO7gZZo6s6wgbyvpjGcFpQhflGsnopmjK8IXscSiJYTG/JdpQx4aMYEQEIc/qRobg7dRRU2X60x98+aThMWxCI2qSY8c7iC/WQd+MxeHlWX7eNhZ4tKE/6ET3HaJnOdJBA1qZd0bRKi/yzbXabBn9THF3lDqFHJHROqOhHYgV92xKq3NuMGXV1f0WCu6gRVEXjIDnzRPR5A27lbn5XJ5prCtgSd662519AbS7BzAdG6KhFb+3Mv33ImoCqk41+Y0ybCP0Wi3WM3M2w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iSbnSA9m+kS1M57IBUPBBLOQqunbSfWY6mjuPHpdsGk=;
 b=dybpI2aZ4fJxHDR8rL9J6NzS1qDsta3X2cClbXII7HAq8T/iOs9I9FkMiYuDlEG3EDtyS4f/m4pzyMY7fOVZyP87YO+18U4SumZ8lQTdtqcs9dYbYQmekA57o/GHIAusV94eHF/U5byBUxU2x8YyGBRZ48RsC+uxC9fW5vEzD3Y=
From: Bernhard Kaindl <bernhard.kaindl@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Anthony PERARD <anthony.perard@vates.tech>, Andrew Cooper
	<andrew.cooper@citrix.com>, Michal Orzel <michal.orzel@amd.com>, Julien Grall
	<julien@xen.org>, Roger Pau Monne <roger.pau@citrix.com>, Stefano Stabellini
	<sstabellini@kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH 2/2] xen/mm: reset PFN_ORDER for offlined buddy heads
Thread-Topic: [PATCH 2/2] xen/mm: reset PFN_ORDER for offlined buddy heads
Thread-Index: AQHc7rLUQyi7qO4hw0W6XhkhVW8evbYrc6cAgAF7bZA=
Date: Wed, 3 Jun 2026 15:10:11 +0000
Message-ID:
 <LV3PR03MB7707736F964A13CE51AD06D587132@LV3PR03MB7707.namprd03.prod.outlook.com>
References: <cover.1779980244.git.bernhard.kaindl@citrix.com>
 <9ffee13184b4499218fc80544bd3ee1a06aa2898.1779980244.git.bernhard.kaindl@citrix.com>
 <528ca4ba-7b3d-4cff-b05a-5b9307f5604a@suse.com>
In-Reply-To: <528ca4ba-7b3d-4cff-b05a-5b9307f5604a@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: LV3PR03MB7707:EE_|CH3PR03MB7315:EE_
x-ms-office365-filtering-correlation-id: 57118aba-9847-49a2-a117-08dec182352f
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|10070799003|366016|376014|38070700021|18002099003|22082099003|4143699003|11063799006|56012099006;
x-microsoft-antispam-message-info:
 a5uaDMipy1Kep8gQ92tDdjlUMb42zJo4rFpp9bv2uwGNwCUUqAmpJs1fCrobX8vBfezJ1Opx/dGdiY6Kg280ZXnxijPBxgeK+LVUNI24uQzygw10FHEAkTKhVmECJTSJACtoDCR5DatKZ/4dNFXV6fo8Oyr6ATq5LMjc715Iq1e8MR57UhAIUC+Q6rcF5CYsBQDdA4JIsgvEyx3XkRDaanswR/hJJFjVIpwTNM3qwvaT+6nS/wKZy2gD51xbc5ORnknt6ZEZ2m45cCdkBj9AHwlggmAvD4YyAP1+S3PjoWQUa6dPn1gtPSwUMhZ7Qntbwnf0zQz+JnfMmj+Uyjiiaqc/jRcv43FZJpMFs9aV3MUQCe2RC6mAXV4/PN5IA/I7XHw+jjIH/oB/sWbDvMVvSAeWOL7R0RBBeu+wA1CSG792Kb5h4cfcy7lSMtxDHIa5E2cne7Fy2OKYQRADVWHYk4QlC1+IBIe19R6Kn+8h27DDOXfg1qybc0KCDqM/eG/cLJkSHsnnOCmS8GcI2s+8np0M6nxITuXc3jTwWWwg+f7De3FzhRIodKHIsWSKhHkJb3FR3DJy+R5HwWzqxpOpeZJzJI/aS3L/9jR2RmtbT1G7xE8S9TJYqzcUo3djOHrYJLoYXNTJEVmEG+FgivHAEFph39k9Cl84E9VUyQQnUzICk0qnuoCu6DQRcpHMCuNMUYSO9axdtsY9zqBwNETxDyH+68Vm5OlCd7Q8JmR2rhYav7gvNEmaoOjGNP2YHAlK
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV3PR03MB7707.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(10070799003)(366016)(376014)(38070700021)(18002099003)(22082099003)(4143699003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 2
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?OEI3T0ZUbU9LQWJ5ZmZZK3ZJUmFrWENFVXFDa3d0b293SDJLeWVtQXdkRkRR?=
 =?utf-8?B?ZGllcmJkc0p1cGtMTmlCTkVHRXRrWDZibi9OSHVBMEJ2Z0hHeXZaakNQVDNI?=
 =?utf-8?B?d3RXaWJkS3llVG1jZ1NDVllEUW5GTnZ2aU56ZVhGOXNwV1YzVUxsN0lrLytn?=
 =?utf-8?B?blEwZkZqMXc3bWNUeUoxV21pV0UwMXdxcXgwbDFVWk5UT2xOeWppanhzU0R5?=
 =?utf-8?B?eExvS3dsWHpKUy9QTTRndjRVaTdXcytyWmxkY1hGWmN2T09Cck9ET1hmQk9z?=
 =?utf-8?B?cTBkelU5aTFQVUJRam5wU3kzdmkzUlBKZUxEandSajNuVWtOYnQvaHVrSlA1?=
 =?utf-8?B?VHJkT0FYZHRINi81VDB3aEFkVkNKd3VMVThCMEZqbnM2TGdYc25RRzV3OWEz?=
 =?utf-8?B?bUhkY1RFVUJVSXY5ZWZYcHM1Yk9nQ0Vxdm4xN0RNVGZvRGhTTG5EMHM3ZDVn?=
 =?utf-8?B?Z1krZDFyTHd6ZkZsek9sRDZVMjcyZzNORWlqK3NqZXNrb1NLeXVhUWdlb2tl?=
 =?utf-8?B?YjlQaEVTUlE3RS9NRHpqNi83RnFKcTAwZU41UnYvWDljaTFzUC9JZWNPVkhN?=
 =?utf-8?B?Z21GUlZCaXhod1ROOTF4TUV0MU1EQlVkN0tCNUdZdnFWMXJFSkZuWHo2ejFX?=
 =?utf-8?B?dWhEZGFQQ0hIVDRnVjlkS1phSTdBUDRFcWh0a2NCcGk2WnQ1d3NzekZ5QjNy?=
 =?utf-8?B?RzdnSWNiaDlwTERzSmNDQTYyZlVDeXRrekhEYzZ4eXVxT085M3ROWGhtZkpY?=
 =?utf-8?B?N2NrN1cvTXM2NUYyWHAwc2w4OHRnLzJyS0ZDeWF0M29YM2Q3aHBOeW95UURa?=
 =?utf-8?B?R0l1anB3TTVrcGp1eFJYODhwSnF4Q2ZWQmZkNGNUenZDbzFqRWNpM2RzYzdw?=
 =?utf-8?B?eUdyRGg5TE1ZR05wM1B1bUlNQ1YwUzVqM2owdTNpcC9UaW55MUZOZVlmeTRY?=
 =?utf-8?B?eEZKVVFGQlRIdzRUYi9XK2ZGZ1IwdEE1ZHY1V2hwM1pEU2RTNEsvbHNUR2d6?=
 =?utf-8?B?elZGOVJxNUFVYXZLVnF2Nnl1cytmNjZSS20vMkN5WVFac1pRUkJEY0l3cVRG?=
 =?utf-8?B?VXFYQWIvSmtxNzA3TUFJK21CV3V3NUUwN1Z5TFJEMkhUKytKRGJQZ2t1c3hs?=
 =?utf-8?B?T3U2TDErd2F4MlRhSUZJTjd6S0ZycnF1TlAzSUxva1h2OGNUaWo4bVhvYmgz?=
 =?utf-8?B?MEYvTjJSR3pCR1VmVVNyKzdvQWpwdm9uQVhBZzlGT0JzUVU2bjFiMmJaQVl4?=
 =?utf-8?B?RTBsVldvYTFOa1hmYitTTmRnVkNpSTZZQ0Y1VGI1UE42YlNRaTBxWmk3RDV5?=
 =?utf-8?B?THdSK20vZUIzVVd0UmdlN3BaMWVoZHBFRk03d3EwcHhKdDNYYU5vTVN4WUMz?=
 =?utf-8?B?QjBZelg3SldtVGU5bGVCRE5TdWs0TVM4NUdYZjBxUkRDcVk5cHVOWDM2b0RP?=
 =?utf-8?B?YlJpTEpxdVpOMm9FcjRLSnBtdnZrNUJYcXdjaVN3M01FUWZBQXVRMDJkU2lw?=
 =?utf-8?B?dXpuOXBIOHBtdENJb2gvWXYwVVU0VkVuNTNmemlBbUgvMXZjVEtvay9TcDdD?=
 =?utf-8?B?YXFnVHFnU1V2bk9WNlA4SEUxVk04Kzd5eEM3d1ZqZk42MjZtZVpEZjNwY29S?=
 =?utf-8?B?RFJXYkE1dm1ETnpObTlQTnRrVHkyRHBqWTFwMzhmVUdlblEzWEI0SWxwcjI1?=
 =?utf-8?B?bnZHbzZic0JaMlZrS3JIU3ZEeWxaR3BwZ2RUd05hcm04ZEVsaE4wN3NsVXhl?=
 =?utf-8?B?cEo4N0dNdks5dlcxMnlubDZtSDY1WGJ1M3JEVnN4RGphVGFMcXc0d1MxQUZW?=
 =?utf-8?B?MldvcXpiWXVoWXYzQ3BrV1JkVTV3N21WV0hMS0x6dTVUc0lqZzFZcExvenlM?=
 =?utf-8?B?QnZrUHBrNVQ3R1BoQ1hMN0FxN1VqSjg0cW1LeTRDUks1aGNUZHVJeXlGN29p?=
 =?utf-8?B?MTIwUG5PdnBXcDhTaGR0aU5OZXhyMlh5c201M2ZKK1o2MVhwZXNHRnJXcEpy?=
 =?utf-8?B?RWxCNzF4dzJSb2JCMmwwR2hxTFI1UEFySHNrZnBvVGdwa0pROTRYd2xQVGY3?=
 =?utf-8?B?a2FuQ0VHd0dyWmswbnQvQnVkc3hXdFhUZE82cFRBQXlscHpUR2FhVWZkay9N?=
 =?utf-8?B?SXhjb2NLaEN6ZXhPTUEwSGRNcE1SRWk3RU5HRVZ2MjY3VnVzVGtQMkhiTDJB?=
 =?utf-8?B?UjNiUElCRmlZclpiZnVKYWt2MnVVckJOa1ZtUzYrT1FCWFBYWlhibHQyamRR?=
 =?utf-8?B?N0JsYmNYejZoZkIrZ0tCa2YwUk81NVAybGV4K3gwYnRscE1MVWJTeUU2WnVO?=
 =?utf-8?B?ODZJcmpreG05dnhsTHdYb3dTT1BhMVB2QnVrTDhYNHZXR0YwN2NodlRpd3dM?=
 =?utf-8?Q?Aga98XGI/nmUaQD8cI1MfWR8Xj8eT2/KV84aEMmemXC+z?=
x-ms-exchange-antispam-messagedata-1: BCny49XRG1Judg==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: LV3PR03MB7707.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 57118aba-9847-49a2-a117-08dec182352f
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jun 2026 15:10:11.4873
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: iu2pK240xhDe+uycvEcmveM+paNU0A3F6ToQfQ4N3BIn6n8Gsl3ce99nlST2/A/Y+IrYMvaGoiA61Jv+9gD7jf20pTvpbSJdNQ4ZyxFOohQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR03MB7315
X-purgate-ID: tlsNG-720697/1780499415-81D77161-C536C786/0/0
X-purgate-type: clean
X-purgate-size: 424

Wy4uLl0NCj4gQWdhaW4sIHdpdGggdGhpcyBzZXBhcmF0ZWQgZnJvbSBhbmQgbW92ZWQgYWhlYWQg
b2YgdGhlIG5ldyB0ZXN0Og0KPiBSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPg0KDQpBY2ssIHRoYW5rcyBmb3IgdGhlIHJldmlldyENCg0KTGlrZSBiZWZvcmUsIEkn
bGwgc3VibWl0IHYyIHdpdGggdGhlIHNhbWUgY2hhbmdlcyBtb21lbnRhcmlseS4NCg0KQWxzbyBh
cHBsaWVkIHNldHRpbmcgJ1BGTl9PUkRFUihwZykgPSAwJyB1bmNvbmRpdGlvbmFsbHkgYXMgc3Vn
Z2VzdGVkLg0KDQogICBCZXJuaGFyZA0K


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 15:10:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 15:10:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326776.1592117 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUnEr-0007S4-VN; Wed, 03 Jun 2026 15:10:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326776.1592117; Wed, 03 Jun 2026 15: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 1wUnEr-0007Rv-Pr; Wed, 03 Jun 2026 15:10:37 +0000
Received: by outflank-mailman (input) for mailman id 1326776;
 Wed, 03 Jun 2026 15:10:37 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUnEq-0007Rb-U7
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:10:37 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUnEq-007dpr-AN
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 17:10:36 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2043e3-e002-0a2a0a5209dd-0a2a450c9fbc-26
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:10:36 +0200
Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2043eb-62f1-0a2a450c0019-d155dd35c584-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:10:35 +0200
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-45e9f4a3510so7474560f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08: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
 ffacd0b85a97d-4601f360bd6sm8756809f8f.36.2026.06.03.08.10.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780499435; x=1781104235; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=UKinLmeRL3GcJdjPQdNL/9sDY+GkddPkQfLIcJad4MM=;
        b=EFupOphnhoEteIkCtursp8OHTUo44ExHT8DuF0Yx7ToBauQ7cgLqvJjOY9/QXHH2m1
         D6tCUfgz7spmznEMdPn3/YnUN+L8ygXg59UDb5Ans7YAXzeWq620oU1n/DUKSB42H2Yh
         2W6Po7QhXE+b1RKnT9+ijW4eidGn2xAnsx/dlXfS3OlsrnujH5gahPfqQbgV7iwP4B+v
         qOgyDx6iwOfSDOqnj7CvZjNiREEDwi+dYJFcWHJq1fb2V/6HICrkAOePcQhPhdjdYnQ4
         E1O9bR8N/8H91leQX6cxpNKwEhyWBaHZleqI5BTRC345hU69L/13mJyKBi/uZSfzoh4N
         zqPg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780499435; x=1781104235;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=UKinLmeRL3GcJdjPQdNL/9sDY+GkddPkQfLIcJad4MM=;
        b=Ofa7Dqo/iWL8SfX0KUDLidj0nF8nlms6SaJsbZSZnOabacxq6+69J3/iiGolaTVytE
         oxP8F5NS8FgfxrpFwQGJtschFv038u58zlFmYLHQfyGLu/7pcTLQJeCf2OizUx0VRqqI
         AjBcHdP+xZ5MQMRzycIAnRng2v9KvipsOC8pszFFRZVNkGcxYhpP0k7zB5rkA3vgLF95
         BqLr9/Jc0KOACb2lt0fgUzemiY4hAvRLzoGggKplUKIIdj67TTKfcbnfPLRz94VjabHY
         zclysAtqCGQRxlZlhJbYOYfpAGcYD05BDMpKy/IEdvI4h2hbLiJriXDUE8QMPyLZXJsU
         Opww==
X-Forwarded-Encrypted: i=1; AFNElJ9ci41EJVQVb+DzLDCmJI52xw9J95HEMtFYRXkUi1feZqorOt9YJa4Q2QF/tZ7WcoW15OxUpAvbuZ0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxXKO37EAM7avrHkmenGWoSCETNLYKA9y473zg+Eqj1lPNEXj89
	0Q0QE0DTQce/aC8kagJ7+AfYjmj/SjQuGKb2oHlmP0lBnDm7qBOpd0YnRgys9+sT/w==
X-Gm-Gg: Acq92OFm6YnvwUPlLQRs96HQuPWLjuNOoLqzdsYXfWZigU5ODXWV53L+/J6lvXnH1wO
	LBIaQoSGpckxIcLfN6eSX4zNjoFwz5Ii7j4ME3dztvFFZZrQOpDF/3oxQaNUBybopsFTMumVz7Y
	S6ehModPVi70Vuef3Mr3Vb6uNaQh5znSJ7E0ymvvwm2aqs0PB2SceCIM9smNJE8T4FPqgAO5Nyk
	hO2/n0cqT/D4bhYvMiz8nvQmksqWCBSn1f87z2xJKDH8dMBfqOdUhOn4P3iLQrk/11tFrsAEPuv
	mDiOYMasS77ByRFNz8JMOoVnnBKtuIh1+Pta4IQlFu+K3tKQmvExjQh2coVLzRRHzd1caZOLUoZ
	UaL7a7MGXituMdgcQVlmgFc0Cgw52hobo/nKBhydTS27Y5i9MMBzENvf2Owq7GdSBQmn4sv4gKi
	Re6fPmt1/od3qoAPYj4xCVMieS93PNbTYG0xi9UWMAKMOuVKY8/IFmhVpzW5i8WC5u+0OPRR2Af
	x1M2l49JQ24vtlq7DcbwS2DEg==
X-Received: by 2002:adf:f58f:0:b0:45d:3cb0:5ab1 with SMTP id ffacd0b85a97d-46021873b26mr3991423f8f.38.1780499435285;
        Wed, 03 Jun 2026 08:10:35 -0700 (PDT)
Message-ID: <76856d69-2f52-4804-92bf-ee9343230c2c@suse.com>
Date: Wed, 3 Jun 2026 17:10:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 16/26] xen/riscv: create APLIC DT node for guest
 domains
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <d1377f3e2381a6428b558b54f47db342d0cd5503.1778250616.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: <d1377f3e2381a6428b558b54f47db342d0cd5503.1778250616.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1780499435-F407FCF5-1B25AF43/0/0
X-purgate-type: clean
X-purgate-size: 4173

On 08.05.2026 16:43, Oleksii Kurochko wrote:
> --- a/xen/arch/riscv/imsic.c
> +++ b/xen/arch/riscv/imsic.c
> @@ -14,6 +14,7 @@
>  #include <xen/cpumask.h>
>  #include <xen/device_tree.h>
>  #include <xen/errno.h>
> +#include <xen/fdt-kernel.h>
>  #include <xen/init.h>
>  #include <xen/macros.h>
>  #include <xen/sched.h>
> @@ -522,3 +523,9 @@ int __init imsic_init(const struct dt_device_node *node)
>  
>      return rc;
>  }
> +
> +int __init vimsic_make_domu_dt_node(struct kernel_info *kinfo,
> +                                    unsigned int *phandle)
> +{
> +    return -EOPNOTSUPP;
> +}

This, I assume, is going to be filled properly by the next patch.

> --- a/xen/arch/riscv/vaplic.c
> +++ b/xen/arch/riscv/vaplic.c
> @@ -9,6 +9,8 @@
>   */
>  
>  #include <xen/errno.h>
> +#include <xen/fdt-kernel.h>
> +#include <xen/libfdt/libfdt.h>
>  #include <xen/sched.h>
>  #include <xen/xvmalloc.h>
>  
> @@ -19,8 +21,11 @@
>  
>  #include "aplic-priv.h"
>  
> +#define VAPLIC_COMPATIBLE "riscv,aplic"
>  #define VAPLIC_NUM_SOURCES 96
>  
> +#define FDT_VAPLIC_INT_CELLS 2
> +
>  static int cf_check vcpu_vaplic_init(struct vcpu *v)
>  {
>      int rc = 0;
> @@ -47,6 +52,73 @@ static int cf_check vcpu_vaplic_init(struct vcpu *v)
>      return rc;
>  }
>  
> +static int __init cf_check vaplic_make_domu_dt_node(struct kernel_info *kinfo)

Again - why __init here and ...

> +{
> +    int res = 0;
> +    void *fdt = kinfo->fdt;
> +    unsigned int msi_parent_phandle;
> +    char vaplic_name[128];
> +    paddr_t aplic_addr = GUEST_APLIC_S_BASE;
> +    paddr_t aplic_size = APLIC_SIZE(kinfo->bd.d->max_vcpus);
> +    const __be32 reg[] = {
> +        cpu_to_be32(aplic_addr >> 32),
> +        cpu_to_be32(aplic_addr),
> +        cpu_to_be32(aplic_size >> 32),
> +        cpu_to_be32(aplic_size),
> +    };
> +    struct vintc *vintc = kinfo->bd.d->arch.vintc;
> +
> +    res = snprintf(vaplic_name, sizeof(vaplic_name), "/soc/aplic@%x",
> +                   GUEST_APLIC_S_BASE);
> +    if ( res >= sizeof(vaplic_name) )
> +    {
> +        dprintk(XENLOG_DEBUG, "vaplic name is truncated\n");
> +        return -ENOBUFS;
> +    }
> +
> +    res = vimsic_make_domu_dt_node(kinfo, &msi_parent_phandle);
> +    if ( res )
> +        return res;
> +
> +    res = fdt_begin_node(fdt, vaplic_name);
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property_cell(fdt, "#interrupt-cells", FDT_VAPLIC_INT_CELLS);
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property(fdt, "reg", reg, sizeof(reg));
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property_cell(fdt, "riscv,num-sources", vintc->irq_nums);
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property_string(fdt, "compatible", VAPLIC_COMPATIBLE);
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property_cell(fdt, "msi-parent", msi_parent_phandle);
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_intc);
> +    if ( res )
> +        return res;
> +
> +    return fdt_end_node(fdt);
> +}
> +
> +static const struct vintc_init_ops __initdata init_ops = {

... __initdata here? If you really want to have the option of moving
domain creation stuff to .init.* when only dom0less is configured,
then a proper abstraction is needed, along the lines of
init_or_livepatch.

> @@ -60,13 +132,14 @@ int __init domain_vaplic_init(struct domain *d)
>  
>      d->arch.vintc = &vaplic->vintc;
>      d->arch.vintc->ops = &vintc_ops;
> +    d->arch.vintc->init_ops = &init_ops;
>  
> -    vaplic->regs.domaincfg = APLIC_DOMAINCFG_IE | APLIC_DOMAINCFG_DM;
> +    vaplic->regs.domaincfg = APLIC_DOMAINCFG_IE | APLIC_DOMAINCFG_DM |
> +                             APLIC_DOMAINCFG_RO80;

This looks unrelated. I don't mind it being done here, but then it
wants mentioning in the description. Or maybe I simply don't understand
what this is about.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 15:14:13 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 15:14:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326793.1592126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUnIJ-0000CF-Mz; Wed, 03 Jun 2026 15:14:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326793.1592126; Wed, 03 Jun 2026 15:14: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 1wUnIJ-0000C8-Ir; Wed, 03 Jun 2026 15:14:11 +0000
Received: by outflank-mailman (input) for mailman id 1326793;
 Wed, 03 Jun 2026 15:14:10 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <bernhard.kaindl@citrix.com>) id 1wUnII-0000C2-46
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:14:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUnIH-007eE2-DG
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 17:14:09 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a2044be-bab6-0a2a0a5309dd-0a2a4506d0d8-2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:14:09 +0200
Received: from [160.101.131.8] (helo=na1pdmzitismtp01.tibco.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a2044c0-7371-0a2a45060019-a0658308a554-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:14:09 +0200
Received: from debian.eng.citrite.net (unknown [10.113.40.46])
 by na1pdmzitismtp01.tibco.com (Postfix) with ESMTP id 03B2B43469ED;
 Wed,  3 Jun 2026 11:13:00 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; none
From: Bernhard Kaindl <bernhard.kaindl@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Bernhard Kaindl <bernhard.kaindl@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>
Subject: [PATCH v2 0/2] xen/mm: Reset PFN_ORDER for offlined buddy heads
Date: Wed,  3 Jun 2026 16:11:42 +0100
Message-Id: <cover.1780499500.git.bernhard.kaindl@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1780499649-7FB7DD75-BF5CEB94/0/0
X-purgate-type: clean
X-purgate-size: 1065

This series fixes an inconsistency in the PFN_ORDER annotation for
pages that are offlined when they are the head of a free buddy.

When reserve_offlined_page() splits a buddy and moves offlined
sub-pages to the offlined lists, the former buddy head would be
left annotated with its original order even though it is now a
single page. While this does not cause functional regressions,
it is misleading.

You can pull this series with the regression test environment to run it:
$ git pull git@gitlab.com:bernhardkaindl/xen.git offline-head-order-v2
$ make -C tools/tests/native TARGETS=offline-head-order test

Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>

Bernhard Kaindl (2):
  xen/mm: reset PFN_ORDER for offlined buddy heads
  tools/tests/native: Add test for offlined buddy head PFN_ORDER

 tools/tests/native/offline-head-order.c | 74 +++++++++++++++++++++++++
 xen/common/page_alloc.c                 |  6 ++
 2 files changed, 80 insertions(+)
 create mode 100644 tools/tests/native/offline-head-order.c

-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 15:14:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 15:14:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326804.1592135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUnIb-0000bf-9A; Wed, 03 Jun 2026 15:14:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326804.1592135; Wed, 03 Jun 2026 15:14: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 1wUnIb-0000aw-1R; Wed, 03 Jun 2026 15:14:29 +0000
Received: by outflank-mailman (input) for mailman id 1326804;
 Wed, 03 Jun 2026 15:14:28 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <bernhard.kaindl@citrix.com>) id 1wUnIa-0000Z2-Is
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:14:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUnIZ-00GNhc-Vf
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 17:14:27 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a2044bf-e002-0a2a0a5209dd-0a2a450bc17e-44
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:14:27 +0200
Received: from [160.101.131.8] (helo=na1pdmzitismtp01.tibco.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a2044d2-212f-0a2a450b0019-a065830894fe-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:14:27 +0200
Received: from debian.eng.citrite.net (unknown [10.113.40.46])
 by na1pdmzitismtp01.tibco.com (Postfix) with ESMTP id CDAC843469EE;
 Wed,  3 Jun 2026 11:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; none
From: Bernhard Kaindl <bernhard.kaindl@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Bernhard Kaindl <bernhard.kaindl@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>
Subject: [PATCH v2 1/2] xen/mm: reset PFN_ORDER for offlined buddy heads
Date: Wed,  3 Jun 2026 16:11:43 +0100
Message-Id: <3d899d52c26e4ff6a45ff33864b355651ce5d081.1780499500.git.bernhard.kaindl@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <cover.1780499500.git.bernhard.kaindl@citrix.com>
References: <cover.1780499500.git.bernhard.kaindl@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1780499667-2007BF3B-226DD58A/0/0
X-purgate-type: clean
X-purgate-size: 1872

Ensure offlined buddy head pages are annotated as order-0 pages.

When a buddy containing pages marked for offlining is processed,
reserve_offlined_page() rebuilds any surviving healthy buddies
and moves the offlined subpages onto the offlined lists.

If the buddy head itself is offlined it was previously left
annotated with the original buddy order even though it has
been split into a single page.

This has no functional impact as the order of an offlined
page is not used for any decision making and onlining, but
it is misleading when inspecting the page's metadata.

Set PFN_ORDER(cur_head) to 0 for all pages moved to the
lists of offlined and broken pages so the page's stored
order reflects its actual size.

Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
v2:
- Fix isolated from the new test and moved it ahead of the test.
- Unconditionally store 0 as the PFN_ORDER() of the offlined
  pages to make the code more robust against future changes.
---
 xen/common/page_alloc.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index e01ac3e99c72..6c4e26004b2a 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -1251,6 +1251,12 @@ static int reserve_offlined_page(struct page_info *head)
         ASSERT(total_avail_pages > 0);
         total_avail_pages--;
 
+        /*
+         * All offlined pages are standalone pages: If this offlined page was
+         * the head of a higher-order buddy, we need to reset its order to 0:
+         */
+        PFN_ORDER(cur_head) = 0;
+
         page_list_add_tail(cur_head,
                            test_bit(_PGC_broken, &cur_head->count_info) ?
                            &page_broken_list : &page_offlined_list);
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 15:14:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 15:14:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326812.1592144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUnIn-00010h-Mp; Wed, 03 Jun 2026 15:14:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326812.1592144; Wed, 03 Jun 2026 15:14:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUnIn-00010V-I0; Wed, 03 Jun 2026 15:14:41 +0000
Received: by outflank-mailman (input) for mailman id 1326812;
 Wed, 03 Jun 2026 15:14:40 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <bernhard.kaindl@citrix.com>) id 1wUnIm-0000ya-1a
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:14:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUnIl-007eN6-EX
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 17:14:39 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a2044dd-bab6-0a2a0a5309dd-0a2a4505e5f2-8
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:14:39 +0200
Received: from [160.101.131.8] (helo=na1pdmzitismtp01.tibco.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a2044de-aaa8-0a2a45050019-a065830897c8-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:14:39 +0200
Received: from debian.eng.citrite.net (unknown [10.113.40.46])
 by na1pdmzitismtp01.tibco.com (Postfix) with ESMTP id BBE3243469EE;
 Wed,  3 Jun 2026 11:13:31 -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>
Authentication-Results: eu.smtp.expurgate.cloud; none
From: Bernhard Kaindl <bernhard.kaindl@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Bernhard Kaindl <bernhard.kaindl@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH v2 2/2] tools/tests/native: Add test for offlined buddy head PFN_ORDER
Date: Wed,  3 Jun 2026 16:11:44 +0100
Message-Id: <0e10a54c715e01fd4d2fb54a70668f0cc52d9f8e.1780499500.git.bernhard.kaindl@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <cover.1780499500.git.bernhard.kaindl@citrix.com>
References: <cover.1780499500.git.bernhard.kaindl@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1780499679-E1F9C443-B509243E/0/0
X-purgate-type: clean
X-purgate-size: 3487

Add a regression test to check that the PFN_ORDER(pg) of buddy heads
is reset to 0 when they become offline single pages which have been
moved of the offlined page lists.

Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
---
 tools/tests/native/offline-head-order.c | 74 +++++++++++++++++++++++++
 1 file changed, 74 insertions(+)
 create mode 100644 tools/tests/native/offline-head-order.c

diff --git a/tools/tests/native/offline-head-order.c b/tools/tests/native/offline-head-order.c
new file mode 100644
index 000000000000..20c4f36526c1
--- /dev/null
+++ b/tools/tests/native/offline-head-order.c
@@ -0,0 +1,74 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Tests using offline_page() to verify reserve_offlined_page()
+ *
+ * The workflow tested here is offlining a free page:
+ *
+ * 1. offline_page() calls mark_page_offlined() to mark the page.
+ * 2. It calls reserve_heap_page() to find the containing buddy.
+ * 3. It calls reserve_offlined_page() to reserve the marked pages within
+ *    that buddy.
+ *
+ * reserve_offlined_page() then:
+ *
+ * 1. Removes the buddy, a 2^order group of pages, from the free list.
+ * 2. Finds size-aligned spans of healthy pages within it.
+ * 3. Rebuilds healthy buddies from those spans and
+ *    adds them back to the free list via page_list_add_scrub().
+ * 4. Moves offlined subpages to the offlined page lists.
+ *
+ * Copyright (C) 2026 Cloud Software Group
+ */
+#define CONFIG_SYSCTL
+#include "harness/native.h"
+
+static void test_offline_head_order(int start_mfn)
+{
+    struct page_info *page = frame_table + start_mfn;
+    uint32_t status = 0;
+
+    /* Seed a single order-1 buddy onto the heap. */
+    test_page_list_add_buddy(page, order1);
+    ASSERT(PFN_ORDER(page) == 1);
+    /* Offline the head page. */
+    ASSERT(offline_page(page_to_mfn(page), 0, &status) == 0);
+    ASSERT(status == PG_OFFLINE_OFFLINED);
+
+    /* Check the order of the offlined head page. */
+    ASSERT(PFN_ORDER(page) == 0);
+
+    /*
+     * Allocate the successor page of the offlined page. This prevents
+     * the normal successor page merge when the page is re-onlined below.
+     */
+    struct page_info *pg = alloc_domheap_pages(dom1, order0, 0);
+    ASSERT(pg == page + 1);
+    ASSERT(FREE_PAGES == 0);
+
+    /* Online the offlined former head page. */
+    ASSERT(online_page(page_to_mfn(page), &status) == 0);
+    ASSERT(status & PG_ONLINE_ONLINED);
+    ASSERT(FREE_PAGES == 1);
+
+    /*
+     * Confirm the order of the onlined former head page is 0, independently
+     * of the order returned by PFN_ORDER() for the offlined page. This should
+     * always be successful because page_offlined_list only contains single
+     * pages and online_page() ignores PFN_ORDER(pg) of the page. It calls
+     * free_heap_pages() passing the order hardcoded to 0. This causes it to
+     * pass the given order 0 to page_list_add_scrub(). This causes it to set
+     * the order of the page to 0 before it adds the page to the free list.
+     */
+    ASSERT(PFN_ORDER(page) == 0);
+}
+
+int main(int argc, char *argv[])
+{
+    const char *topic = "Test offlined head page to be updated to PFN_ORDER 0";
+    if ( !parse_args(argc, argv, topic) )
+        return EXIT_FAILURE;
+
+    init_page_alloc_tests();
+    RUN_TESTCASE("TOHP", test_offline_head_order, 2);
+    return test_complete();
+}
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 15:16:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 15:16:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326862.1592153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUnK5-0001lM-55; Wed, 03 Jun 2026 15:16:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326862.1592153; Wed, 03 Jun 2026 15: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 1wUnK5-0001lF-1f; Wed, 03 Jun 2026 15:16:01 +0000
Received: by outflank-mailman (input) for mailman id 1326862;
 Wed, 03 Jun 2026 15:15:59 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19e8e0e398b000701b@swg.vates.tech>)
 id 1wUnK3-0001kx-Gg
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:15:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUnK2-007jWN-QC
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 17:15:58 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19e8e0e398b000701b@swg.vates.tech>)
 id 6a204525-2eae-0a2a0a5409dd-0a2a450ae33c-16
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:15:58 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19e8e0e398b000701b@swg.vates.tech>)
 id 6a20452e-56b3-0a2a450a0019-b9ff1c1294dd-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:15:58 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19e8e0e398b000701b.004 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Wed, 03 Jun 2026 15:15:57 +0000
Received: from l14 (lfbn-lyo-1-414-55.w2-7.abo.wanadoo.fr [2.7.24.55])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id B8D8286DD5;
 Wed,  3 Jun 2026 17:15:56 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=j4KNTRu5Y3mgkM5VaS+1XPXGAw/9UaccVHJWw7S8y5M=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=Ew+arfamLrjIXNIZQRhiKyxkNRurAbotrIS4ZG0QFbu8jYh7Um+GLiZ3fgS1jlS/sUBcgVaYW
 BlOyoRM/XgCjbUIr5lslhfKycu4GFSXkTBt1wsG7bUn34YOVjddpHso3bhxb9W1BN7+0ONAaUCt
 mdCNctqqyhP2fWegcBRv4lnoqpLRKCNgNP78/aBsuMJgZo939Kmj1vAAP67+shhQxgTcXlmORA8
 ZgZqe9RCyPo17/c4K2SBoo46SDab6kqfWaqNaMBxLYXR/jLWHY31UvSHsB3ClHhxN3Mx4Mt3Lkf
 WqgaJlZ0RTnfdcdsIc8PxFSriY3/89W0BA+O8/sFPoqw==
X-Zone-Loop: ac732d6e1bbe6720caf5827f165ad6b47fdca3996164
x-campaign-type: default
x-transaction-id: ca74d823-a30e-43ad-a506-272abe92b23d
x-swg-uid: 01-cfc6ffab-e29d-4b18-9d04-2bce3dee48d3
X-Mailer: Sweego
Message-ID:
 <1780499757.8631fc262581453bbf619ec5b2062170.19e8e0e398b000701b@vates.tech>
x-swg-bid: 1780499757.8631fc262581453bbf619ec5b2062170.19e8e0e398b000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Wed, 3 Jun 2026 17:15:56 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Juergen Gross <jgross@suse.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>, Julien Grall <julien@xen.org>
Subject: Re: [PATCH for-4.22 2/5] tools/macros: adjust ROUNDUP() interface to
 match hypervisor
References: <20260601154332.30797-1-roger.pau@citrix.com>
 <20260601154332.30797-3-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20260601154332.30797-3-roger.pau@citrix.com>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.1cf4.e81e5d4cb6a0dfdf.19e8e0e3763.df6aaf93657816b6=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1780499756900
X-purgate-ID: tlsNG-4011c0/1780499758-7D5868B7-35FE2464/0/0
X-purgate-type: clean
X-purgate-size: 651

---=Part.1cf4.e81e5d4cb6a0dfdf.19e8e0e3763.df6aaf93657816b6=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Mon, Jun 01, 2026 at 05:43:29PM +0200, Roger Pau Monne wrote:
> Adjust user-space callers to use the new interface=2E  No functional cha=
nge
> intended=2E
>=20
> Signed-off-by: Roger Pau Monn=C3=A9 <roger=2Epau@citrix=2Ecom>

Reviewed-by: Anthony PERARD <anthony=2Eperard@vates=2Etech>

Thanks,


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vate=
s solutions

web: https://vates=2Etech
---=Part.1cf4.e81e5d4cb6a0dfdf.19e8e0e3763.df6aaf93657816b6=---


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 15:21:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 15:21:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326883.1592161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUnP6-0003z6-SA; Wed, 03 Jun 2026 15:21:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326883.1592161; Wed, 03 Jun 2026 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 1wUnP6-0003yz-PP; Wed, 03 Jun 2026 15:21:12 +0000
Received: by outflank-mailman (input) for mailman id 1326883;
 Wed, 03 Jun 2026 15:21:12 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wUnP5-0003ys-S2
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:21:11 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUnP4-004MOB-Ok
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 17:21:10 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a204656-5cb7-0a2a0a5109dd-0a2a450bd9c0-42
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:21:10 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a204666-212f-0a2a450b0019-d155802bd06e-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:21:10 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-4903d730b1fso117569525e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:21: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-490bc23394asm412355e9.0.2026.06.03.08.21.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780500070; x=1781104870; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=PvxM07sqjaEJH3eRQ4iM6WjkpZsLfP2/5/ebD2uOcJ4=;
        b=V7mgEuJOcT6qdcT3Awe4AK6XioBW0txqy0Pn6PdXZ1jk6yWEBlxBjFFmllu3dMLVMp
         nXZs5Q0CrCVq5liVqCSBRu01hGeBZ6rsP4WALmXnXKUO7u+N7/pE/IeudLEUWVJkUyq7
         oLFfmYAxDdb34aHf0PSFs5nrJHxV7OkI93lsow/2QY6NTz8Iu5hSz59fqf+1WZc3kbqj
         j8dUNm8ceOvwLyaAS9+AG8q1Vc7qEWi9MBMzy3WTm7eI5RbFrZwu4SX3wals8dot/cNI
         8/Toi0CCTayyYNbAs69tNu1OefkNGxsCDnlMwE5v3gI9Ly2mZVY9nkp8EjVcZ/D4wShq
         MCUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780500070; x=1781104870;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PvxM07sqjaEJH3eRQ4iM6WjkpZsLfP2/5/ebD2uOcJ4=;
        b=g3iSX7k9TxjiuIBpJqqvglrFphwknxhgCpDpRq+V6WviVtVMOeQtHi8TAivANtVq+E
         ua9FanXgSaetiJcmWNTpSpZ4QFTX3wYub1HAUSmG7boOkNGu0O8D+GfS5pfTZ6idNtyD
         wgQmSoU8gZ79HZirOZuGItaUM8Yi6k0Cgha5MrxIRQls1dQ/IZz3l3ErkM4xnijVH6GZ
         eZIQC+nmNhI2gAyCc7FOieSEhSB9Fk1vMoS6W5EiSbUBZeoi++X5MNX7Hp2HnqE9UlYP
         jrb+gwd7gzYLsyvDxajE8FwjQVnCj2YddYiLjasD1uOat7UsDF6sELi2+ZHCI9Njj2uw
         RKFw==
X-Forwarded-Encrypted: i=1; AFNElJ8ru8XyIir3S+Gx3ZtfyxD6XQd4n5QPrC+4d9aOffolIWbQ8MBd9afBHuh/ZLBe52SUTrSVRlpND3c=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwmQgn8+huQjir+D/3iis90cMYfjdKTkqHOu+WxUesy/jnMVX4X
	/AFzY2tETGj4tRu6/tBRJZY9x6BbDpslsCGqAzC5YewaVqCz3//yVConcs0+sRGT0w==
X-Gm-Gg: Acq92OE5/a8DGhRjZaXGjpFU2vfqTEYRPrfkfhflViAtW/1DWD+Knfnh8VBel3sMflM
	NvR5TDOKQa01W3kng2HD9VsTkcHBEyhkcFAtkUZbFHpwhpuS4+mYkyGRlc5jS+ryCITTpcNn64m
	gTy7Z6P7Rc8hFZnmMlCiRoI/1VB0c0l/IzvkbdjdkB7BmLlZhZUFVvz9mNZDjzHXgGwQAwczdoY
	Pc48FWen0RZ6aY34AYZ2qR1q4V4LAbezFFA/6TK4GHeme2OVHs2K/dZX9D1D+xaVSj2bLYWs4mP
	wrOhK+1hQcjcyxFulMqFZFzX63xqY7KJEpAOKtP9nQAMdStHQ7c2gfj8nElKBQPt0wVhdDuKVVs
	rVmPTwxU3zzknxyor7C2D20tD42QdyBChcRXve7wyxfWWjhtvXSwA3lK7qTJeI+/ZGBwpTvYnUW
	sev4kmKpx7zpJceaxk98P2LLqvGPBDjy2s00ltBAwBFAkMEgXC93qvyBBwvkL9qXgOpAc62mncT
	xRuvEH6VM4hVrOT1tugxSkctw==
X-Received: by 2002:a05:600c:3552:b0:48a:563c:c8e2 with SMTP id 5b1f17b1804b1-490b5e73ef3mr58249925e9.3.1780500070003;
        Wed, 03 Jun 2026 08:21:10 -0700 (PDT)
Message-ID: <3da2f796-4dc7-408a-9ec9-f0e8bb02b1a9@suse.com>
Date: Wed, 3 Jun 2026 17:21:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 17/26] xen/riscv: generate IMSIC DT node for guest
 domains
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <19d30d3c34a6ac9aeb668e1fc56301620b177db0.1778250616.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: <19d30d3c34a6ac9aeb668e1fc56301620b177db0.1778250616.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1780500070-13F7EF3B-3117D490/10/73395122804
X-purgate-type: spam
X-purgate-size: 4512

On 08.05.2026 16:43, Oleksii Kurochko wrote:
> Guests using the IMSIC interrupt controller require a corresponding
> Device Tree description.
> 
> Add support for generating an IMSIC node when building the guest DT.
> This allows guests to discover and use the IMSIC interrupt controller.
> 
> Co-developed-by: Romain Caritey <Romain.Caritey@microchip.com>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in v2:
>  - s/imsic_make_reg_property/guest_imsic_make_reg_property.
>  - s/imsic_set_interrupt_extended_prop/guest_imsic_set_interrupt_extended_prop.
>  - Use initalizer for regs[] array in imsic_make_reg_property().
>  - Move buf[] insde the for() loop.
>  - Correct check of returned phandle.
>  - Drop local variable len.
>  - /s/XVFREE/xvfree in imsic_set_interrupt_extended_prop().
>  - Drop initializer for local variable data.
>  - s/uint32_t/unsinged int for pos and cpu in imsic_set_interrupt_extended_prop().
>  - Drop next_phandle as it is now in common code.
>  - Introduce vcpu_imsic_deinit.
>  - Refactor vimsic_make_domu_dt_node() to avoid usage of host IMSIC dt node.
> ---
>  xen/arch/riscv/imsic.c                    | 127 +++++++++++++++++++++-
>  xen/arch/riscv/include/asm/guest-layout.h |   2 +
>  2 files changed, 128 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/riscv/imsic.c b/xen/arch/riscv/imsic.c
> index ceea6778d9dc..19cbacdf96e1 100644
> --- a/xen/arch/riscv/imsic.c
> +++ b/xen/arch/riscv/imsic.c
> @@ -13,9 +13,12 @@
>  #include <xen/const.h>
>  #include <xen/cpumask.h>
>  #include <xen/device_tree.h>
> +#include <xen/domain.h>
>  #include <xen/errno.h>
> +#include <xen/fdt-domain-build.h>
>  #include <xen/fdt-kernel.h>
>  #include <xen/init.h>
> +#include <xen/libfdt/libfdt.h>
>  #include <xen/macros.h>
>  #include <xen/sched.h>
>  #include <xen/smp.h>
> @@ -35,6 +38,11 @@ static struct imsic_config imsic_cfg = {
>      .lock = SPIN_LOCK_UNLOCKED,
>  };
>  
> +static unsigned int __ro_after_init guest_num_msis;

How come this is __ro_after_init, when it's ...

> @@ -291,6 +299,11 @@ static int imsic_parse_node(const struct dt_device_node *node,
>          return -ENOENT;
>      }
>  
> +    if ( dt_property_read_u32(node, "riscv,num-guest-ids", &tmp) )
> +        guest_num_msis = tmp;
> +    else
> +        guest_num_msis = imsic_cfg.nr_ids;

... written by a non-__init function? Plus are you again inheriting a host
property into guests without saying why?

> @@ -524,8 +537,120 @@ int __init imsic_init(const struct dt_device_node *node)
>      return rc;
>  }
>  
> +static int __init guest_imsic_make_reg_property(struct domain *d, void *fdt)

Same question again as to __init throughout here.

> +{
> +    paddr_t base_addr = GUEST_IMSIC_S_BASE;

So you make a local variable for a constant, ...

> +    __be32 regs[4] = {
> +        cpu_to_be32(base_addr >> 32),
> +        cpu_to_be32(base_addr),
> +        cpu_to_be32((IMSIC_MMIO_PAGE_SZ * d->max_vcpus) >> 32),
> +        cpu_to_be32(IMSIC_MMIO_PAGE_SZ * d->max_vcpus),

... but this non-constant expression is spelled out twice.

> +static int __init guest_imsic_set_interrupt_extended_prop(struct domain *d,
> +                                                          void *fdt)
> +{
> +    unsigned int cpu, pos = 0;
> +    uint32_t phandle;
> +    uint32_t *irq_ext;

Doesn't this want to be __be32, seeing ...

> +    int res;
> +
> +    irq_ext = xvzalloc_array(uint32_t, d->max_vcpus * 2);
> +    if ( !irq_ext )
> +        return -ENOMEM;
> +
> +    for ( cpu = 0; cpu < d->max_vcpus; cpu++ )
> +    {
> +        char buf[64];
> +
> +        snprintf(buf, sizeof(buf), "/cpus/cpu@%u/interrupt-controller", cpu);
> +        phandle = fdt_get_phandle(fdt, fdt_path_offset(fdt, buf));
> +
> +        if ( !phandle )
> +        {
> +            res = -ENODEV;
> +            goto out;
> +        }
> +
> +        irq_ext[pos++] = cpu_to_be32(phandle);
> +        irq_ext[pos++] = cpu_to_be32(IRQ_S_EXT);

... this?

Also, just like "buf", "phandle" can be local to this loop's body.

> --- a/xen/arch/riscv/include/asm/guest-layout.h
> +++ b/xen/arch/riscv/include/asm/guest-layout.h
> @@ -5,6 +5,8 @@
>  
>  #define GUEST_APLIC_S_BASE 0xd000000
>  
> +#define GUEST_IMSIC_S_BASE 0x28000000
> +
>  #define GUEST_RAM_BANKS   2

Is this going to become an unannotated collection of (seemingly) random
numbers?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 15:25:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 15:25:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326894.1592172 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUnT2-0004k9-CO; Wed, 03 Jun 2026 15:25:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326894.1592172; Wed, 03 Jun 2026 15:25: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 1wUnT2-0004k2-8f; Wed, 03 Jun 2026 15:25:16 +0000
Received: by outflank-mailman (input) for mailman id 1326894;
 Wed, 03 Jun 2026 15:25:15 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUnT0-0004jw-S1
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:25:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUnT0-003nrO-8f
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 17:25:14 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a20474f-bab6-0a2a0a5309dd-0a2a450ca9a4-30
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:25:14 +0200
Received: from [209.85.221.42] (helo=mail-wr1-f42.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a204759-62f1-0a2a450c0019-d155dd2ae0e3-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:25:14 +0200
Received: by mail-wr1-f42.google.com with SMTP id
 ffacd0b85a97d-46015dc517aso2652537f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:25: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-490b63d8205sm54417155e9.11.2026.06.03.08.25.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 08:25: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780500313; x=1781105113; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=tzhWlKGsmVyS07p71rfdMQtoS7qSPKhuJEEt1TuL1Oo=;
        b=gk6MD6qHQ7iq1NpbiQN9EIlo+3I1iTBYbu3C8Hc1pTJ8XzHnbEpkKma/I1STVOshUn
         ksIpWk+qJWNH3bKcVska/V9WqFUHTRylVLlLuxomqmjNRfC58qlT18XXvULgdDLps6Se
         iKOf7RYaH55BSsyjmOpDbJzziE29CotgN0RwSgcI8/hUX3ndQN6jtOeuJ5HH9DcWAYWr
         nk2qO5m5m631JhUvriy0jrLxhHPdbuSWmpvH5JXkmL9FIZVmKnjPhehUGHNbzopXv2G3
         pgT1rA+2K3POTjepDi723YgHTn3p1y4F4agElVGQL2HAvH/Cd1nhFtCO+366jq01NtaP
         386g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780500313; x=1781105113;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tzhWlKGsmVyS07p71rfdMQtoS7qSPKhuJEEt1TuL1Oo=;
        b=r83HeMCiuiovA3BZ94s5on5el4rLQ1dx1AC6Bu5CD6/oE6If+J3o3hdPsGdE/bHG1X
         V8Gy0ngQvLT2eBHdmA1n2DqowlPdaznvYETIAuxjezgkww3WogPpRwe8fTfjzsCHfYCP
         A0Fn0g0cnGra3u/LyrZO4yKD1ZQ+Al0rvHQ+NQuLuwQ8YSP9V1uSAi5mbRZrirqrDX2a
         R63LOnttBNdKUXVHM5weHdZzHREg1c9BzqyclWGAVYu0L9FyveNl58nQqn3s3C/3T7PV
         9YGvs1RUJHnRoYEBSi9o+5g8F3e8CU41AmDMULqLASkoEA2yZ5uvKWpXpGkZDzrS/EVs
         ejjw==
X-Forwarded-Encrypted: i=1; AFNElJ/xZfU+gP02NotWJe3CC+sKIhI2NeJGvOFnh2CWP40ab88LCRyl9KKVK74MDpkTE78qy3Clr8/qfMI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzDquJbNO7jaWmO7YTaK8zafmybMXS6NRcxpOj4ZTF7YXhRtemJ
	gT/9JJtppsXp5SQh0y0zqyn2ZzS8/HEMad678KlsI209wrS3uDmIal0oZPaunTOuFg==
X-Gm-Gg: Acq92OGV7QThfssmFYo6BI1P3ITCZJPHIQ0wSG7Uofj6bQ5w+OqSt4I6AAeu1qIB5t/
	KrwsE3F8V8iNKOh+sb7R30/FbGwXBtOZmCYzV30tlLtH6bdxryfBIZxYH1YkBvgEm5JZlfO/Syc
	lorgeQYzvVr3lEryqV5eW5YOYQKFNY1Qh0W/x0w6PSWseeOXjq3chkG8sJcQ9+qLStYreNfAa5I
	sFsQk4MJtMQpkBhACISKwEOpCiZpKFN1Ugqw5mbxtZPu3Nl6viRzkevVtVVQhyNe4in3X47qsyH
	o/rmECi3Fvx8QuVE1FzKJHGKwcvyKwpf26aK3CRTR0LGmHb/ZTod9tLsKnVyH7jJUthnBRz3oJc
	U1njhyiCp9tD9GCio6DFg45OcLf34ghQoy3gzYxsMO4dHSrNAEJDMwTDE2moJL70f9B44Pluehd
	7LNtHQalXgS7NJqX7m717HaGLfq6qT64TcLKW6ypyvKWaeI1eSJRKppu8bAgKlxkF6UvwMOjwIt
	5xATIdRFdAs2KIaTe1FGc4ACQ==
X-Received: by 2002:a05:600c:3103:b0:48f:d612:3c4a with SMTP id 5b1f17b1804b1-490b5e645ddmr65646995e9.1.1780500313470;
        Wed, 03 Jun 2026 08:25:13 -0700 (PDT)
Message-ID: <5472f497-8071-4e30-9919-72106122d4ca@suse.com>
Date: Wed, 3 Jun 2026 17:25:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/mm: reset PFN_ORDER for offlined buddy heads
To: Bernhard Kaindl <bernhard.kaindl@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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1780499500.git.bernhard.kaindl@citrix.com>
 <3d899d52c26e4ff6a45ff33864b355651ce5d081.1780499500.git.bernhard.kaindl@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: <3d899d52c26e4ff6a45ff33864b355651ce5d081.1780499500.git.bernhard.kaindl@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1780500314-F4C79CF5-56B47B88/0/0
X-purgate-type: clean
X-purgate-size: 1314

On 03.06.2026 17:11, Bernhard Kaindl wrote:
> Ensure offlined buddy head pages are annotated as order-0 pages.
> 
> When a buddy containing pages marked for offlining is processed,
> reserve_offlined_page() rebuilds any surviving healthy buddies
> and moves the offlined subpages onto the offlined lists.
> 
> If the buddy head itself is offlined it was previously left
> annotated with the original buddy order even though it has
> been split into a single page.
> 
> This has no functional impact as the order of an offlined
> page is not used for any decision making and onlining, but
> it is misleading when inspecting the page's metadata.

As per this, ...

> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -1251,6 +1251,12 @@ static int reserve_offlined_page(struct page_info *head)
>          ASSERT(total_avail_pages > 0);
>          total_avail_pages--;
>  
> +        /*
> +         * All offlined pages are standalone pages: If this offlined page was
> +         * the head of a higher-order buddy, we need to reset its order to 0:

... is it really "need to"? I'd suggest simply dropping "we need to". Also
unless there's really a good reason, comments better wouldn't end in colons.
Can make adjustments while committing, as long as you agree.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 15:29:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 15:29:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326903.1592180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUnWk-0005vc-Qv; Wed, 03 Jun 2026 15:29:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326903.1592180; Wed, 03 Jun 2026 15: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 1wUnWk-0005uQ-Ng; Wed, 03 Jun 2026 15:29:06 +0000
Received: by outflank-mailman (input) for mailman id 1326903;
 Wed, 03 Jun 2026 15:29:05 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <bernhard.kaindl@citrix.com>) id 1wUnWj-0005uK-Ne
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:29:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUnWj-007gTe-3Y
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 17:29:05 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a204836-5cb7-0a2a0a5109dd-0a2a45029938-8
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:29:04 +0200
Received: from [40.107.200.6]
 (helo=CH5PR02CU005.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a20483f-af86-0a2a45020019-286bc806cf0e-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:29:04 +0200
Received: from LV3PR03MB7707.namprd03.prod.outlook.com (2603:10b6:408:28b::21)
 by LV3PR03MB7430.namprd03.prod.outlook.com (2603:10b6:408:1a4::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 15:29:01 +0000
Received: from LV3PR03MB7707.namprd03.prod.outlook.com
 ([fe80::97e8:ef9c:9031:e2bf]) by LV3PR03MB7707.namprd03.prod.outlook.com
 ([fe80::97e8:ef9c:9031:e2bf%4]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 15:29: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=D8oUIcj+opwPxC2lacEv5Oh8nNHQjPZx7ympdc2Me9Zjl6oJtx+A8aZo/S1MuumGM9eVPoh2vBwum337k8oov8Tkb3Duyd26dICFH251SGiMI+1BiqtJyqjGbXauWJa2/WRoOMvJnrwEbCYVM25nIzZMF9mVkHSNmdTU5WwAInf+LEk8RE39uxRIA0IDQaSJjXKEnuHz0DSuxBh8+u8W4BD70NwNykxEpstUUqAil9bz5vy57TvZkI0/2iWvwlgBOJMF0/4gXQzgDku9k0ylMBHvtfrlmVfpv0EOVO+zSgqHiw9eF4QpRpRhczySq9EPx1CqXwP5o/MvdYFKqZp36A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D4XJIvKxr0Z31TG9GpCfxmWuA9vCJix2e126sYKyKeM=;
 b=ipGCSX5FDUw8Sy0x/DogKYrM7ArEq+N82PCdoS6vYbyoDYnpX1lIBgmwbgMOdP0EYY58crZCl4S2MNwTNgyH5lPvXw4p3r/iSiwGKlFUOZxukrk1mDPMC8pW0F1EYTabHRtx8tv5TitQK65cIgsV6f+7aG9m7aG0JJLCRJJJVIcbhmM0PTyiD7UrZQE8/vrjQSFpUMlx+Er7Ayopw2hgtov9gWc/gVhAiZo/cfpAsyb1NLzYIbhhnAiXQ71rT7CvhnkUDNEOoQxwtoElb5UFk9Ss92KIYuMe9Rj7L3gK2F4YExGJgMPJ+LKJ3GDoeuRkZVViEqn+G03sITjI0HrqYw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=D4XJIvKxr0Z31TG9GpCfxmWuA9vCJix2e126sYKyKeM=;
 b=q0nRz9sJECFfKVOdzV7ySgNQEXBe1bJhIUdEoedoKU1RXDsJwQyBZ0KfTauQsARC/QZPCOq2vZnFAgoeN1Ng/ligVXYj/Duv9+QzTJPIFv6oOKLT3CGGJj/Ohni2i63g4fnGGO6fWXd/+qkA1svM46+o38xNhvlqw1Pw3UIYAbE=
From: Bernhard Kaindl <bernhard.kaindl@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v2 1/2] xen/mm: reset PFN_ORDER for offlined buddy heads
Thread-Topic: [PATCH v2 1/2] xen/mm: reset PFN_ORDER for offlined buddy heads
Thread-Index: AQHc82uuqs/PL4CJokeLBKpHrSQtSrYs838AgAAAflA=
Date: Wed, 3 Jun 2026 15:29:01 +0000
Message-ID:
 <LV3PR03MB7707F1D1DFE3DE6ABEB9BD3587132@LV3PR03MB7707.namprd03.prod.outlook.com>
References: <cover.1780499500.git.bernhard.kaindl@citrix.com>
 <3d899d52c26e4ff6a45ff33864b355651ce5d081.1780499500.git.bernhard.kaindl@citrix.com>
 <5472f497-8071-4e30-9919-72106122d4ca@suse.com>
In-Reply-To: <5472f497-8071-4e30-9919-72106122d4ca@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: LV3PR03MB7707:EE_|LV3PR03MB7430:EE_
x-ms-office365-filtering-correlation-id: 7222aa28-088e-41c1-30a5-08dec184d6c3
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|366016|376014|10070799003|38070700021|56012099006|11063799006|4143699003|18002099003|22082099003;
x-microsoft-antispam-message-info:
 ql4ylhiFZPI2fiM1mFc4BBNfxJkU9d2KWQ6Jar9g+xaSUuoPRAI9Lt8S6mlBEARUoDgvHdfzgVnevcag/oYE37kFodJEKjD0LZDTS34EjGUKMdpe0xEaqTdiu2W4FQg+1pdIGMYErwh8R544nZEQVHp6d68WsURD1lndE0FW5zxwaTOyKRBbiQvSpEs0KuE2Yy+H89CcrwkQfYFEYGvB+9Dv18jm80Xx4sMqoH9YZl90dlGMVxxKoSvhHFwE/WnB0r30rcTlehNRfJ74pyIu2nKMY/KWpXRJ0+v6/BJT//Db8VZVuwtKvmjgTw81xwpgp52KLHuFUm6RC45XoFG5KmI3WXkNaPsjyrmjsoRgq50EtMtyjxNKDOxt/gINwxoFsBzKpuzoh+/NZ1bevGlbcSI3Q8fUNC8PCqTKjJKJ7yCCmRhrJ0f/+AI3gbd5x+S3leNe4DjolB+9cDIKQSolA4u3fx/v5Uk0Znzr0blrCKD31XgcsGw8zqRILwZ8WQIEKuc44G6tx9B3NwQPwC5JK/ftWlbA/w3Kx6bz2eE5FzOwezFq5KmTe6kyirvdaYwOx+gS2JVj5bFwb8z7nNZaTOwDaqrxOq7tr/5BbCYdLlJ6zhyycnFGxID5ZPQoslbb2HMNkWLJukKnH6jEe0jGiLGb/YGS5b8lalvabSXHPPaeou/pmWMKpvk41TzmptLmDq0JgeL+4LLweejZT92zYm6OaxpSf0cKcarjfSFXIIkodbxJbs2dWc5BRXUkbd2k
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV3PR03MB7707.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(10070799003)(38070700021)(56012099006)(11063799006)(4143699003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 2
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?eW5JdXZIbklpbmNzWEtsVDNCVU5mNGdBT1J6MWo4bUduVFIzL0psaldIREYy?=
 =?utf-8?B?Y3NTeldqV0FIdjhUbFk0djRkY2ZaaEpUaDNRTDA3K003SzliNzFCNTFDR0RG?=
 =?utf-8?B?RS8vNVQ0d1gxVFRBa0NpSlROY1NlZ3RQMWQ5MWJVc3lxdmYreWhaeGFBeTFO?=
 =?utf-8?B?NTBsWDZWeXBFZzdSSklOdTRpaytGTXY3M0p0TEpVODdTQm1ZMjdtdmFlRW9T?=
 =?utf-8?B?dVRVeFFkMkNQdmtkYlpQbkpiRzAxemduTCsvbGovMTBzWld1SE9lbFNkcmV4?=
 =?utf-8?B?WmtGWjJoZkxRTFBMQ1NQUkR6NTVpRG5HcnF4ZjJ2WGEyQ3h1QUFuNnBuZnZR?=
 =?utf-8?B?MDRSNGZXVlJLYVI1QjNoN0ZqcnpoSDJyT3huY1NsYnE0LzhmeFljOWo5MXVF?=
 =?utf-8?B?WmR2VVN4ZkFqd2pzS3NTZ3VpQ2FBSTFxSDEwdnZXT3hMck8yNGVPVVFPai9m?=
 =?utf-8?B?NURERVY4bjI4T3RlUGJ5VW55cEphR0JsdGJzQ0tGcndOUWFiV0NIUmJFSytw?=
 =?utf-8?B?dXcvbUxGeDJXNkE5c2x5Z2xROXU0TXVaVmJjS21BVVlNRE42ZWN1MGFvb0Rr?=
 =?utf-8?B?MEF5V0FxL3FUYVkwdWYzbnVETTQyemFRYmZFZDd6TTNDYVkyL3FEQ1BmbjA5?=
 =?utf-8?B?aEdQbExXUzQwMEN0aFRYSTMvZitFV3lIVExrcC9nelg4QW9TcGx0cCtxcldV?=
 =?utf-8?B?SktETm9PUU9SVGhFa3N0TWlZU1RQcHVhYXlZRnF2VGFEcDJVc2h0Mk1Na2dE?=
 =?utf-8?B?RXRjaWFnbVlEYkFONjgzeW5aMUsrb0p2dVZXLzIvbExWcGloSWZKS25PMUt3?=
 =?utf-8?B?aC9MdUVOMCsyeDBTQ296MmF6emxHSnJJSVpUVlRGYmp2T3EyTEtsRWFINFpH?=
 =?utf-8?B?QXZqKzc0ODQrTU4ydzFhYktrS2JDZ1dhWi8xM0hVUVB2OVZDMm5ZMnBabVVo?=
 =?utf-8?B?SEIwMXRvQXRzMzhEOVdCSmJEbEI3TUROdFlmUGJBS2N5Mmk0Nm5RRzJxek5T?=
 =?utf-8?B?RjFPbGhvQ3VDcDFKUStWR0phRFBuS24vZWxtbG1lRzZJMnFjS2lWMHYwRWpz?=
 =?utf-8?B?bUt0SnQvcTFpbzNla3VBd3ZVcWdmL3NjcFAzV3E0RzRpdnNkb0loeHdMR0l2?=
 =?utf-8?B?OHFWY2podGFsbXV5TzZia05RcW9PN21iK2wrRGZCUjZWVWd3alFVQkJpQXNi?=
 =?utf-8?B?SVR0c21WUTdTeXYzMW9DdklYNUpranVocHJBd2lXOGZkeWpVYThwaDVrZjBC?=
 =?utf-8?B?cFg5WkJBMFgrY0U3UkxIUktpOUNMdi9oSVlkZnFTT0FGSWZudzkwUWo1bFBo?=
 =?utf-8?B?NEYyRjlkc1pNRm9qeHZRMlhiZHJneEZyMWlKb0w2amQvSFRoSDdsRTMzUlpp?=
 =?utf-8?B?VUVIM1llZ3NpRjRoZit2NnFnUWxtNXpnT0lxQ24yNXNXTEIwdnI5ajRNVDJt?=
 =?utf-8?B?WlRzVnNadTM0NFRPSHIybElsV1QyUUFNWkphdkpXTXVNRHVEYmp1dFlsdnc2?=
 =?utf-8?B?dWJrcE1Zb0FYTlVPWm5mbTgvQktlZTRTWjFtMENMb2IrZTJVL2wzUjVHeGcy?=
 =?utf-8?B?Z24rUDBpMElKajF3WE15aVNoTmJMVmpXNlhnT3BXaTVyRm9UanVYN0hTaDJZ?=
 =?utf-8?B?NXdMUjNCVFFRc2d4OVhLUEo4U3VQZjZZNVZMVzlLZXZ1djRsZ29NTnBjZE5B?=
 =?utf-8?B?ZGxEZVBQQTA5WnpaaFlsK1Yyek5sWk5wRms0VUVZQ1o4L3lISVpnSEhVcVV1?=
 =?utf-8?B?VVJSbThwZkJvc3QxTmVwc1J2YzBPY3g3eVFSSE1aNU1yNmJpSVhQcjhQUWl6?=
 =?utf-8?B?WkFGMUdoaW9nWnJIdVdsZHd0dU96bWlkc0RNekJoMVNFaHlGdk50UjFHaHlR?=
 =?utf-8?B?KzhPYVp1ZktqdkJIcE9PcjFuVm1jK1pPZk9STWVseU5yMkFrZUx3SFVHa0gy?=
 =?utf-8?B?aEQ1bWtvL2o0WXJScFBDWi81TTlIUkw1TGJRV3UwRWtTMVVWdDJiZVNvN3lD?=
 =?utf-8?B?aHZQU2J3dVM4Q2Z4M3JUYjIyOTBFOHpnelpyZjEwWmI0RmVTM0FFSHJ5OHFZ?=
 =?utf-8?B?WEgzM3Z0ajdCUE5BSTExQUduaXZ1MSsxM3Fsb2h5YjZNeEJ0bGhVSkEyVVNE?=
 =?utf-8?B?K0grNDRLVHJKaGRSWTVTSXphOXRuTG0yNXphYXBVRVJkcnVuM1pGS3pXdzZ3?=
 =?utf-8?B?MFN0S0FtckhiWkM2bEloNWpneHE4SEdROU9Jajl4QzFuSWNhdmpuUHVsYjQw?=
 =?utf-8?B?alVMYXd3MUpsNGhqL0VXVFdUNlF3VG1aMll0bzMzOEdOTEdZWHNwOEpNNFNI?=
 =?utf-8?B?OXNkd3llSmYrZElDZm9sSVFuR2R6UU91bzJsdWtMMHF3ZXRyK1htRlNZRWcv?=
 =?utf-8?Q?hKVKueKULyPGX3nrW5XVo6dGWPB8UeLa1lqZ+njNjWtWq?=
x-ms-exchange-antispam-messagedata-1: VoiHhNJSwanxzQ==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: LV3PR03MB7707.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7222aa28-088e-41c1-30a5-08dec184d6c3
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jun 2026 15:29:01.5966
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Mc+eA4zewuyBAfJWqAAhcgZoMcvHiQaJ7KU4RAf20eRGF347/OaabeO0yaW4vJwV0yT/HxqAPuvM84YXYQuKRSzAPcMrxCwuuCCfKwQMNLw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7430
X-purgate-ID: tlsNG-720697/1780500544-7BF66161-CCBD8DD4/0/0
X-purgate-type: clean
X-purgate-size: 350

PiAuLi4gaXMgaXQgcmVhbGx5ICJuZWVkIHRvIj8gSSdkIHN1Z2dlc3Qgc2ltcGx5IGRyb3BwaW5n
ICJ3ZSBuZWVkIHRvIi4gQWxzbw0KPiB1bmxlc3MgdGhlcmUncyByZWFsbHkgYSBnb29kIHJlYXNv
biwgY29tbWVudHMgYmV0dGVyIHdvdWxkbid0IGVuZCBpbiBjb2xvbnMuDQo+IENhbiBtYWtlIGFk
anVzdG1lbnRzIHdoaWxlIGNvbW1pdHRpbmcsIGFzIGxvbmcgYXMgeW91IGFncmVlLg0KDQpPZiBj
b3Vyc2UsIGNvcnJlY3QhDQpCZXJuaGFyZA0K


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 15:36:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 15:36:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326915.1592189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUndV-0000NL-Km; Wed, 03 Jun 2026 15:36:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326915.1592189; Wed, 03 Jun 2026 15:36: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 1wUndV-0000NE-Hr; Wed, 03 Jun 2026 15:36:05 +0000
Received: by outflank-mailman (input) for mailman id 1326915;
 Wed, 03 Jun 2026 15:36:04 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUndU-0000Mm-8n
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:36:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUndT-00GQaI-Lb
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 17:36:03 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2049d9-5cb7-0a2a0a5109dd-0a2a4502e24c-24
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:36:03 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2049e3-af86-0a2a45020019-d155802eb932-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:36:03 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-490b915ded5so6844255e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 08:36: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-4601f34413csm8102478f8f.21.2026.06.03.08.36.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 08:36:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780500963; x=1781105763; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=98fnc1vhwMEe+rZvTvy6V6aeU/h6wI6BUHNXZumn3FM=;
        b=a8QevXZaJW4K/c+jEqIebuwieqnesWGNOkQB6bC3LLG9VVvrZZEUKaYj6ZPRdVYRTn
         hDvSsZ8kW2EznvsPU8QzNeeMsW42y5tDMIzn+bc1nFulfQOKCnZmBL/i9sYmRqJkoRgJ
         A9uRFI5rYlrn2J+X65Iqd37a8gx7amrtDM9WESpQA/NZPs/6dhVITYc1gyvhSc2uvP0U
         oCKWbrGmPU8FiDiRXEdRokHnzYD5icuZHUoUBSB2CmLPJ1ApAZd3IVIOmh4RgxV0YsGZ
         qXZISuNm3aGXeCDTZmE/M5orDnrmPDG4bx9rfYth5Y5I9bavbey0ULNOTG5B5OOv+Sdz
         Qo/Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780500963; x=1781105763;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=98fnc1vhwMEe+rZvTvy6V6aeU/h6wI6BUHNXZumn3FM=;
        b=hZDlDlRuVGrQY6ug1kwKLZhGIerVdl5vRP94f7HcvPE1Z8bd9aD//WYtDIs1Tkw0UE
         IDV7kzBf2Y8D1G6MAXkZ/LsRO+MvPvaDej9pG67NKAmtmqWDqO7AeXdTDr9XHgHUJ13g
         wqFlUeYj4UiEv0JQaZXzMpaCZ6It5BCpmINrxL4X6piWPnlKeLFsXWf/bnz1u7g6lz3t
         waw0wZMvwTrdjH6KsgCcH7cS0qcSJwX4oIpv8tImPgHTQ84WfFZxGlOJEyJT4rIZMd6o
         KiPbyBDF9rwAB5w0HBv5ETltdHihB6v0IZZOLY1iEI+rcySdQFwvcQieit0P1rCbCxN3
         kt8g==
X-Forwarded-Encrypted: i=1; AFNElJ+F1liGP1++sAoolp/YDkV6na0fBGwNuyoWLxhSFodK5NsuDkz4S0320CjTAjTp2tEzbfuQKHf0fVk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwX092krM1vONmXXdYHtj++9OfRW/w05NDBMFtOT6/zIXEgsv9+
	jQmre6UmWe1dwyGC2a7Q0VXraw8d+L4/0KMH+Ws1EjTVp05g7DiS+Su0DeeSYucUyQ==
X-Gm-Gg: Acq92OFik+VfQ2ggh+228drdH7Q/ybJIq8J/OclkyQmj/+vP1KK4EeIk5hw2rOo9dSS
	CzWXHViDkVIsucObfFV2phxoVa3JfuUxfPAjpKT+wwkE01b9QUwPtof052cv3fqg+tOg/JGWz48
	bnS4kEerf27m+REDQnHphIDaRns7eSeMMEjfPT2cY5yUwzfyVP+k+uksgPgKCtcC9yVNj4h1qbX
	dLVTDqNH3u//RU/cUqrxK+cX9gBPDL+24xlMyqMR4Wnh+cQUNuyQZaq1ppCATF+VF5dfG/SmKdO
	CZQUHUje/bLpwsH/n9sPOSQmHLUSpwrz+m5lkurXxmGf0bT7JvZCjnkkQQF8XAuH9yDATFHRLOW
	djo+S8iMiEvN9+aev9X8QzoNe4GgTg/HZUh0fNDqcXKcO7uO8cM073EUH/1bkWmP5K3w5uREFXE
	jiSDbFj8iCQXRUDKPuC+LPK0/xdMyfAu6o7d3U+dhbhjYDKW4K8d1LSbT8mYqvqE4IWwY9a90lW
	azEcSYo4czEfG/ApwqUQK1ROQ==
X-Received: by 2002:a05:600c:64c9:b0:490:bb20:de64 with SMTP id 5b1f17b1804b1-490bb20deadmr24854465e9.5.1780500962764;
        Wed, 03 Jun 2026 08:36:02 -0700 (PDT)
Message-ID: <efeb7cd6-e66c-47bb-8497-d695e19dffa2@suse.com>
Date: Wed, 3 Jun 2026 17:36:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 20/26] xen/riscv: add missing APLIC register offsets,
 masks to asm/aplic.h.
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <736349477470f316da7020c4c1c7e92e37470d31.1778250616.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: <736349477470f316da7020c4c1c7e92e37470d31.1778250616.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-720697/1780500963-81D77161-35F3E688/0/0
X-purgate-type: clean
X-purgate-size: 1836

On 08.05.2026 16:43, Oleksii Kurochko wrote:
> --- a/xen/arch/riscv/include/asm/aplic.h
> +++ b/xen/arch/riscv/include/asm/aplic.h
> @@ -15,6 +15,11 @@
>  
>  #include <asm/imsic.h>
>  
> +#define APLIC_REG_OFFSET_MASK   0x3fff

This I can see this as wanting to live separately. Yet ...

> +#define APLIC_TARGET_IPRIO_MASK 0xff
> +#define APLIC_TARGET_GUEST_IDX_SHIFT 12
> +#define APLIC_TARGET_EIID_MASK  0x7ff

... what (set of) register(s) do these apply to? Perhaps ...

> @@ -26,6 +31,36 @@
>  #define APLIC_SOURCECFG_SM_LEVEL_HIGH   0x6
>  #define APLIC_SOURCECFG_SM_LEVEL_LOW    0x7
>  
> +#define APLIC_DOMAINCFG         0x0000
> +#define APLIC_SOURCECFG_BASE    0x0004
> +#define APLIC_SOURCECFG_LAST    0x0ffc
> +
> +#define APLIC_SMSICFGADDR       0x1bc8
> +#define APLIC_SMSICFGADDRH      0x1bcc
> +
> +#define APLIC_SETIP_BASE        0x1c00
> +#define APLIC_SETIP_LAST        0x1c7c
> +#define APLIC_SETIPNUM          0x1cdc
> +
> +#define APLIC_CLRIP_BASE        0x1d00
> +#define APLIC_CLRIP_LAST        0x1d7c
> +#define APLIC_CLRIPNUM          0x1ddc
> +
> +#define APLIC_SETIE_BASE        0x1e00
> +#define APLIC_SETIE_LAST        0x1e7c
> +#define APLIC_SETIENUM          0x1edc
> +
> +#define APLIC_CLRIE_BASE        0x1f00
> +#define APLIC_CLRIE_LAST        0x1f7c
> +#define APLIC_CLRIENUM          0x1fdc
> +
> +#define APLIC_SETIPNUM_LE       0x2000
> +
> +#define APLIC_GENMSI            0x3000
> +
> +#define APLIC_TARGET_BASE       0x3004
> +#define APLIC_TARGET_LAST       0x3ffc

... these? And then is ...

>  #define APLIC_TARGET_HART_IDX_SHIFT 18

... this also covering some part of them? Can't they (a) live together and (b)
have some kind of connection to what they apply to?

And then why is there again a mix of *_SHIFT and *_MASK?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 15:53:19 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 15:53:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326926.1592198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUnty-0003S0-WE; Wed, 03 Jun 2026 15:53:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326926.1592198; Wed, 03 Jun 2026 15:53:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUnty-0003Rt-TH; Wed, 03 Jun 2026 15:53:06 +0000
Received: by outflank-mailman (input) for mailman id 1326926;
 Wed, 03 Jun 2026 15:53:04 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wUntw-0003Rn-OF
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 15:53:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUntu-004SWf-TT
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 17:53:02 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a204dd0-2eae-0a2a0a5409dd-0a2a4501b64e-30
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:53:02 +0200
Received: from [52.101.52.3]
 (helo=BL2PR02CU003.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a204ddd-c1f2-0a2a45010019-346534033c1b-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 17:53:02 +0200
Received: from SJ0PR03CA0040.namprd03.prod.outlook.com (2603:10b6:a03:33e::15)
 by DS7PR12MB8345.namprd12.prod.outlook.com (2603:10b6:8:d8::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 15:52:58 +0000
Received: from SJ1PEPF00001CE1.namprd05.prod.outlook.com
 (2603:10b6:a03:33e:cafe::af) by SJ0PR03CA0040.outlook.office365.com
 (2603:10b6:a03:33e::15) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Wed, 3
 Jun 2026 15:52:58 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ1PEPF00001CE1.mail.protection.outlook.com (10.167.242.9) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Wed, 3 Jun 2026 15:52:57 +0000
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Wed, 3 Jun
 2026 10:52:57 -0500
Received: from [172.18.181.126] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Wed, 3 Jun 2026 10:52:56 -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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cqBpdoPHrA3Ji7Xk6Z+W9WOERyNI403QjawCRBbupDKri37nSXjnE+FGzDiYrKhY0olN2a1BEDWrNPcjKBcNmJG27ObNbRAaHSnSW9r/YP8A8x2thvhW8ysgwwgS4sDw07YpiKgqCrmrGtdNafasIlmFKYh/V3mSNwUexVORzdtnLQlcy2oUvdUsyRS8rr+1eJxAndCJDW2CF7iWNI6kir5f621uuSfKiEyPgKzMEGzFqH0Af/OHV6vEEzmA55L+thJkueF/qnfoDIzz0qqtj4aYwpscJkSUe5pfJSGrZqGKdCDyfmTiKrBcwZeM/I79NUxPHk5HdjOd/5z/uaGZHg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hYxQsyzgO3G/SOmXhY9eloCKV3BTbp4sn16HVgECMvM=;
 b=Svy/BYxIeMbg9CxU7fFqtHJe3lNdC9Bb7GOxyJ8qw7QUnhVlHQgL1JP6FY8XZ2q68+SwyvhM8wC8Mur3nADoslWP5CfwGgbOxcxhwe0cXhBDzPlPeteySQ5nOpxr6zrC/6mCxCQHH/hKmk64h1UZeDhNwymYbPCyoy7qcqx0ZxzgfGaSc7d38Kvc11CToabaelp+Q9Tf0JVz4bpedSoPOimZ4KltRfZfLSFt5hc2wbSBg3dzucHZVsHKhjTCF2WgAOXRszBRK06m1UlmNdJmqco84mPjS1eYeQS2aWaKF2St0bbK7diY02EPbTAMC32G6SGtzztSu5Hd4jxaN8txKA==
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=hYxQsyzgO3G/SOmXhY9eloCKV3BTbp4sn16HVgECMvM=;
 b=ALIigEkzMWt8nx872BHTJLDgzbxfxKHzkk1xrJzVdwWpEn3flYTUkBImmrn8cT/MQh1jv5hFMrLW9kWVXLzJNS6ohez+ziru197N2Q5dIZZ2PgItmsZ6ZnVrcA3Gvt2VLNF89HALfjGH9GyY1xFJMW+hL1sp/a83zk98WRyg0is=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <476fbe14-b86d-4bd4-bebf-81f8504516e0@amd.com>
Date: Wed, 3 Jun 2026 11:52:55 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v10] x86: use / "support" UDB
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>, Teddy Astie
	<teddy.astie@vates.tech>
References: <deb26054-ec00-483c-bc18-1edc1b4599b3@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <deb26054-ec00-483c-bc18-1edc1b4599b3@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: SJ1PEPF00001CE1:EE_|DS7PR12MB8345:EE_
X-MS-Office365-Filtering-Correlation-Id: 85003ea8-2f1d-4534-2132-08dec1882eea
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700016|376014|82310400026|1800799024|11063799006|56012099006|3023799007|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	+l4rmepQDjxFKEeb1cSxK29965APA0kGqyiJ5TVCcnpKA94o7aVrADjA9o9dwQKXZf7pGQCsnNhGl4dzo1XdwmZwFIdqzIlfVYCf6StdV0V7a15SvYDdtpTtSSvEFmP0wiEqzxT8wA4mo8nRCCGCyU9r2CEauFU3v3QNn1HxZdFxCpRmXEPeK2/a6XS5ywBbMkplvfN1Mcau+m4LLaB33Seq840lcdAqplh2NEllGJiHPTPhpgIutVrlbxyFgT5wC/dhaYhbZSdugVzAGN66XGeUwipsnYEZI+fhzA11gQ5o1TzLCzjEEsjuBedO/EMsbjyzdm5RgsDs/ULVqfu5waGys/Qmu49lHceHCmrJGF8npKXKRtNK2ksDLaPRV3YB1Elqgq2h+0V5fkVd8mP8DgzMw9w4bY3QipyiOpnGp3tIpnbFX4ZveRdtD1+9hDdHScZrZKV3L9NZisvD0YnptZhXc7pPAzFElTaY/k/Mp9DiEwxqNHB9kaBI5GPfnTyxC64Q6WsQd8JOqoruSiIJQSg2dTRNN9OXZSXcnotzv0jwFqsa9FBDl5DDS1zpoSMji2pVjuuNnBU6lkwMRfdQmeH8+GcO2dy5tOc6Klq9FvW9n4bgm4VlRQNuAAwKHoB/i1w+GjYUkCmCSXp61ABYSdlFEjpIQlfoEy8DwDW50SqoD53+67p/PxNX2AcYrkSPUX+7VJT766wb7ANqSe3g8gVo2E40Z+gEx7nl3hfDPpo=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(376014)(82310400026)(1800799024)(11063799006)(56012099006)(3023799007)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	XSFTs8PQUvbNlEhIcnHHTf0GeRZg7BNJ8i9JW4UVGGbfkw4UlPspMK774CApBLpB653bUL8Vhy/mYz0zOrZHWk4OLGrKkAmewUw5+BNL+vUYBYMXVxtma4H5atJU+dLdkbJ0HC0aqMBopAa3ynkj/I/McNbdogiQ4YZzMCRS0lPymNNKQuYqCbAQ6xawPxzptq9/lqzfdkKoWAd7eAPcxOm6dyzDxDJZoawia6TPcxs3FrUfnGEHSpMOPXxJ++MnrD6CogFpzH0E0yZDVAWk9HG9Gf8xZr4EeqD6Edh+hDcAjN1ENKOfkzHb/Hf/czVpqw6qrvhbMBPTk24lqSoMqoTmOlRlVDsfQhUllI61QQAkBdAXpdAaYBt34vxQBVbjNM6Zm433rrtxrZEomZZ7B4xFPrcjsvQlibj+j1vyjhSgiMtm2ZWXJOyn6yKsNTgg
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 15:52:57.9160
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 85003ea8-2f1d-4534-2132-08dec1882eea
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CE1.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8345
X-purgate-ID: tlsNG-d62444/1780501982-AF35AFF4-99EDAE1A/0/0
X-purgate-type: clean
X-purgate-size: 839

On 2026-04-08 08:12, Jan Beulich wrote:
> With opcode D6h now firmly reserved as another #UD-raising one in 64-bit
> mode, use that instead of the two-byte UD2 for bug frame marking.
> 
> While there also make a minor adjustment to the emulator.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Just a heads up.  I was testing Xen with Fedora 44 QEMU 10.2.2 TCG, and 
a BUG() did not fire as expected.  Single stepping over UDB I did not 
see any registers change and execution continued.

QEMU 11.0 does emulate UDB properly - the change was:

commit a71706fc116d263c6661b5c7176150dfe0298d29
Author: Paolo Bonzini <pbonzini@redhat.com>
Date:   Wed Dec 10 09:42:01 2025 +0100

     target/i386/tcg: mark more instructions that are invalid in 64-bit mode

I didn't check earlier version of QEMU.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 16:02:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 16:02:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326934.1592207 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUo2W-000696-Qq; Wed, 03 Jun 2026 16:01:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326934.1592207; Wed, 03 Jun 2026 16:01: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 1wUo2W-00068z-Nr; Wed, 03 Jun 2026 16:01:56 +0000
Received: by outflank-mailman (input) for mailman id 1326934;
 Wed, 03 Jun 2026 16:01:55 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wUo2V-00068t-O2
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 16:01:55 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUo2V-003tZD-3N
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 18:01:55 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a204fe1-bab6-0a2a0a5309dd-0a2a4507b364-34
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 18:01:54 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a204ff2-229c-0a2a45070019-d155802ad0ae-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 18:01:54 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-4903d730b1fso118114185e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 09:01: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-4601f3444fesm9448957f8f.20.2026.06.03.09.01.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2026 09:01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780502514; x=1781107314; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=+X2syB7cYzbZ3ZlszoIoK0HC1F6Fr8wnmNl87zYjKVQ=;
        b=Ho90vXnb1LTCfUneL2gEzEjNVQDrx51qHlvF4CkHAppy8TSR7HG2uv1JPnz43rwLWV
         Xb1UD3VN20Q3LvSwpRt6MNEcEs2IYXSLzYgocMVUhqtci8RNuwXwCSMvj2XME/Nh3PNU
         5TfgrfjRgmoMyPuVvlt9FPFSFVY9vE9bHJ2UlphE6MMhsqbI8p7vJBPNPuwLQkv1w5ZK
         s5FlUu2NALRQXDKG9Ee/546ifAZ9ZnqkrCGu+O65C249LgohAjAAn7bF85BbkY/L8tmv
         pjhq2J+X3yw/GvHWxAVNrJ5DwecNHZ7Ligr1i/jtkprEsQzkteA9nOCIY+nc3wiCCKs7
         Gg8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780502514; x=1781107314;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+X2syB7cYzbZ3ZlszoIoK0HC1F6Fr8wnmNl87zYjKVQ=;
        b=F9aS0hD3kjhek86tNOk5HgRGAKCivbpi5g/nAwOAlQryAS4I2gaYICpvIBPZLPz1aw
         83v7g/9W9Y4cdiKOZL2ofSy9DjehVqLVhemFh9KYXR60tWSymdbR09HtFzm2Kc4bIPdw
         R3YEk8K3mF/Q6Ff+JOUzzprybapHarmNl3oru5wB5UlIivTB12ahk11ItfFrOh5oIqhg
         y2cVRlZjLSi0Mz1GMQTkrcIbVS0A7cmVx05WZpvy+A4a9/JIt0IKjcjC0KDX26x9XHB/
         WV81cHptFG4POWmqaYtXPe+Jp2MvOahfWzxNn96zGqywzM61Wbn2ttK2WqVElm0sjv5U
         DrnA==
X-Forwarded-Encrypted: i=1; AFNElJ/DkhK5/rsoGvt/b4iscASiJs9+0iKV8HnxZSeeFYN/+/PJjD5IXKyrEJ+Jh+uvEvtKxaGLg95BIEo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxVwSu4OdA0dk/EkKqd/f14paopxXOU/1mE17Evxbi/jRv9t34O
	0H+Sl9yEJTWzBoywWsWZ49b8UFSBBxyqSCpdrGj4QUvtwwUoh5mLhTvSvksIt5XS6Q==
X-Gm-Gg: Acq92OFdkP7dfdHo68c7i1vw27T3zIWk+kyd6Mhr4SL8yTrgw9mNn/5ambmQ+He2+Wb
	nwIxW6Xd2sqlz7ZWr57BMFmZlkJsPaJ/gTObKTL/84wAk16c6j6QXKn6F/gHw5XYijRbUGSq/6z
	8J2gOpvw3SUTTwckJ0IsZTs7GwIzejmN76ygEv7XtUOerKL77ZzvMpvpG3Vt8c9nT5M+/To+DSM
	0+DHC9gy1RZrZ+GaOeqEYUcaVUuv6e5LV+jabkEMKtMp9b9Lb1S5IzA3Xl+oqY6n09jWWTjhQKh
	88828pu4Z5pudyObD/kJtTQWJrzSq8tDPXP7zuHmXgaa2HeFZj0P6JjGU4G5UD2o3pMBge80emx
	5fXO274A2Jq9CvaoGlSEKaO1FTNxJcqh0yBMBwLongKT72zdUqTUFFrh6D2bH4kKNVqQ63OXcMz
	Yhx0YqbPDKWfrWkpiB9onnKiEumx0xIP2GWOQBrnXB+NajJvuIUP24VaBdllmNiX455DqUHB6v2
	dSptJsywO2BTS0ZXU9GtjS0BiWeuexn60Vh
X-Received: by 2002:a05:600c:46ce:b0:490:b4e5:ce7e with SMTP id 5b1f17b1804b1-490b5edcbe3mr60334435e9.25.1780502514216;
        Wed, 03 Jun 2026 09:01:54 -0700 (PDT)
Message-ID: <1941ee36-cbfd-4d7f-a15b-e74843371f3b@suse.com>
Date: Wed, 3 Jun 2026 18:01:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 19/26] xen/riscv: implement IRQ routing for device
 passthrough
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <ed5218e94790ff8de36af12852605454606a6d80.1778250616.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: <ed5218e94790ff8de36af12852605454606a6d80.1778250616.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ef75cf/1780502514-0BB78C48-C93811CC/0/0
X-purgate-type: clean
X-purgate-size: 10819

On 08.05.2026 16:43, Oleksii Kurochko wrote:
> --- /dev/null
> +++ b/xen/arch/riscv/device.c
> @@ -0,0 +1,108 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +
> +#include <xen/device_tree.h>
> +#include <xen/errno.h>
> +#include <xen/iocap.h>
> +#include <xen/rangeset.h>
> +#include <xen/sched.h>
> +
> +#include <asm/intc.h>
> +
> +int map_irq_to_domain(struct domain *d, unsigned int irq,
> +                      bool need_mapping, const char *devname)
> +{
> +    int res;
> +
> +    res = irq_permit_access(d, irq);
> +    if ( res )
> +    {
> +        printk(XENLOG_ERR "Unable to permit to %pd access to IRQ %u\n", d, irq);

Nit: Drop the first "to"?

> +        return res;
> +    }
> +
> +    if ( need_mapping )
> +    {
> +        /*
> +         * Checking the return of vintc_reserve_virq is not
> +         * necessary. It should not fail except when we try to map
> +         * the IRQ twice. This can legitimately happen if the IRQ is shared.
> +         */
> +        vintc_reserve_virq(d, irq);
> +
> +        res = route_irq_to_guest(d, irq, irq, devname);
> +        if ( res < 0 )
> +        {
> +            printk(XENLOG_ERR "Unable to map IRQ%u to %pd\n", irq, d);
> +            return res;
> +        }
> +    }
> +
> +    dt_dprintk("  - IRQ: %u\n", irq);
> +
> +    return 0;
> +}
> +
> +/*
> + * map_device_irqs_to_domain retrieves the interrupts configuration from
> + * a device tree node and maps those interrupts to the target domain.
> + *
> + * Returns:
> + *   < 0 error
> + *   0   success
> + */
> +int map_device_irqs_to_domain(struct domain *d,
> +                              struct dt_device_node *dev,
> +                              bool need_mapping,
> +                              struct rangeset *irq_ranges)
> +{
> +    unsigned int i, nirq;
> +    int res, irq;
> +    struct dt_raw_irq rirq;

Move the latter three variables to the loop's scope and ...

> +    nirq = dt_number_of_irq(dev);

... make this the variable's initializer?

> +    /* Give permission and map IRQs */
> +    for ( i = 0; i < nirq; i++ )
> +    {
> +        res = dt_device_get_raw_irq(dev, i, &rirq);
> +        if ( res )
> +        {
> +            printk(XENLOG_ERR "Unable to retrieve irq %u for %s\n",
> +                   i, dt_node_full_name(dev));
> +            return res;
> +        }
> +
> +        /*
> +         * Don't map IRQ that have no physical meaning
> +         * ie: IRQ whose controller is not APLIC/IMSIC/PLIC.
> +         */
> +        if ( rirq.controller != dt_interrupt_controller )
> +        {
> +            dt_dprintk("irq %u not connected to primary controller."
> +                       "Connected to %s\n", i,
> +                       dt_node_full_name(rirq.controller));
> +            continue;
> +        }
> +
> +        irq = platform_get_irq(dev, i);
> +        if ( irq < 0 )
> +        {
> +            printk("Unable to get irq %u for %s\n", i, dt_node_full_name(dev));
> +            return irq;
> +        }
> +
> +        res = map_irq_to_domain(d, irq, need_mapping, dt_node_name(dev));
> +        if ( res )
> +            return res;
> +
> +
> +        /*
> +         * At the moment there is only one user of map_device_irqs_to_domain()
> +         * for RISC-V which calls it irq_ranges == NULL.
> +         */
> +        if ( irq_ranges )
> +            return -EOPNOTSUPP;

Why is this checked last, and inside the loop (when it's loop invariant)?

> --- a/xen/arch/riscv/include/asm/intc.h
> +++ b/xen/arch/riscv/include/asm/intc.h
> @@ -13,8 +13,11 @@ enum intc_version {
>  };
>  
>  struct cpu_user_regs;
> +struct domain;

I can spot why this is needed, but ...

> +struct dt_device_node;
>  struct irq_desc;
>  struct kernel_info;
> +struct rangeset;
>  struct vcpu;

... I'm at a loss to explain the need for these two additions.

> --- a/xen/arch/riscv/include/asm/setup.h
> +++ b/xen/arch/riscv/include/asm/setup.h
> @@ -5,6 +5,10 @@
>  
>  #include <xen/types.h>
>  
> +struct domain;
> +struct dt_device_node;
> +struct rangeset;

Same here - why would they be needed when you make no other changes
to this header?

> --- a/xen/arch/riscv/intc.c
> +++ b/xen/arch/riscv/intc.c
> @@ -7,7 +7,9 @@
>  #include <xen/init.h>
>  #include <xen/irq.h>
>  #include <xen/lib.h>
> +#include <xen/sched.h>
>  #include <xen/spinlock.h>
> +#include <xen/xvmalloc.h>
>  
>  #include <asm/aia.h>
>  #include <asm/intc.h>
> @@ -86,6 +88,22 @@ unsigned int intc_irq_nums(void)
>      return intc_hw_ops->irq_nums();
>  }
>  
> +int intc_route_irq_to_guest(struct irq_desc *desc,
> +                            unsigned int priority)
> +{
> +    ASSERT(spin_is_locked(&desc->lock));
> +
> +    ASSERT(intc_hw_ops->guest_irq_type);
> +
> +    desc->handler = intc_hw_ops->guest_irq_type;
> +    set_bit(_IRQ_GUEST, &desc->status);

Is desc->status accessed anywhere without holding desc->lock? If not,
__set_bit() or simply |= ?

> @@ -112,6 +130,14 @@ int domain_vintc_init(struct domain *d)
>          break;
>      }
>  
> +    if ( !ret )
> +    {
> +        d->arch.vintc->allocated_irqs =
> +            xvzalloc_array(unsigned long, BITS_TO_LONGS(d->arch.vintc->irq_nums));
> +        if ( !d->arch.vintc->allocated_irqs )
> +            ret = -ENOMEM;
> +    }
> +
>      return ret;
>  }
>  
> @@ -129,4 +155,14 @@ void domain_vintc_deinit(struct domain *d)
>          printk("vintc (ver:%d) isn't implemented\n", ver);
>          break;
>      }
> +
> +    xvfree(d->arch.vintc->allocated_irqs);
> +}

XVFREE()

> +bool vintc_reserve_virq(const struct domain *d, unsigned int virq)
> +{
> +    if ( virq >= d->arch.vintc->irq_nums )
> +        return false;
> +
> +    return !test_and_set_bit(virq, d->arch.vintc->allocated_irqs);
>  }

As to function / field naming: You don't look to be allocating IRQs. So
is there a reason the field name gives the impression of allocation?
Simply s/allocated/used/ or some such?

> @@ -221,3 +239,160 @@ void do_IRQ(struct cpu_user_regs *regs, unsigned int irq)
>      spin_unlock(&desc->lock);
>      irq_exit();
>  }
> +
> +static inline struct irq_guest *irq_get_guest_info(struct irq_desc *desc)
> +{
> +    ASSERT(spin_is_locked(&desc->lock));
> +    ASSERT(test_bit(_IRQ_GUEST, &desc->status));
> +    ASSERT(desc->action != NULL);
> +
> +    return desc->action->dev_id;
> +}
> +
> +static inline struct domain *irq_get_domain(struct irq_desc *desc)
> +{
> +    return irq_get_guest_info(desc)->d;
> +}
> +
> +void release_irq(unsigned int irq, const void *dev_id)
> +{
> +    struct irq_desc *desc;
> +    unsigned long flags;
> +    struct irqaction *action, **action_ptr;
> +
> +    desc = irq_to_desc(irq);
> +
> +    spin_lock_irqsave(&desc->lock,flags);
> +
> +    action_ptr = &desc->action;
> +#ifdef CONFIG_IRQ_HAS_MULTIPLE_ACTION
> +    for ( ;; )
> +    {
> +        action = *action_ptr;
> +        if ( !action )
> +        {
> +            printk(XENLOG_WARNING "Trying to free already-free IRQ %u\n", irq);
> +            spin_unlock_irqrestore(&desc->lock, flags);
> +            return;
> +        }
> +
> +        if ( action->dev_id == dev_id )
> +            break;
> +
> +        action_ptr = &action->next;
> +    }
> +
> +    /* Found it - remove it from the action list */
> +    *action_ptr = action->next;
> +#else
> +    action = *action_ptr;
> +#endif
> +
> +    /* If this was the last action, shut down the IRQ */
> +    if ( !desc->action )
> +    {
> +        desc->handler->shutdown(desc);
> +        clear_bit(_IRQ_GUEST, &desc->status);
> +    }
> +
> +    spin_unlock_irqrestore(&desc->lock,flags);
> +
> +    /* Wait to make sure it's not being used on another CPU */
> +    do { smp_mb(); } while ( test_bit(_IRQ_INPROGRESS, &desc->status) );
> +
> +    if ( action->free_on_release )
> +        xvfree(action);

When !IRQ_HAS_MULTIPLE_ACTION desc->action becomes a dangling pointer here.

> +/* Route an IRQ to a specific guest */
> +int route_irq_to_guest(struct domain *d, unsigned int virq,
> +                       unsigned int irq, const char *devname)
> +{
> +    struct irqaction *action;
> +    struct irq_guest *info;
> +    struct irq_desc *desc;
> +    unsigned long flags;
> +    int retval = 0;
> +
> +    desc = irq_to_desc(irq);
> +
> +    action = xvmalloc(struct irqaction);
> +    if ( !action )
> +        return -ENOMEM;

This is freed by release_irq(), but ...

> +    info = xvmalloc(struct irq_guest);
> +    if ( !info )

... where is the (non-error-path) freeing of this?

> +    {
> +        xvfree(action);
> +        return -ENOMEM;
> +    }
> +
> +    info->d = d;
> +    info->virq = virq;
> +
> +    action->dev_id = info;
> +    action->name = devname;
> +    action->free_on_release = 1;

true

> +    spin_lock_irqsave(&desc->lock, flags);
> +
> +    /*
> +     * If the IRQ is already used by someone
> +     *  - If it's the same domain -> Xen doesn't need to update the IRQ desc.
> +     *  For safety check if we are not trying to assign the IRQ to a
> +     *  different vIRQ.
> +     *  - Otherwise -> For now, don't allow the IRQ to be shared between
> +     *  Xen and domains.
> +     */
> +    if ( desc->action != NULL )
> +    {
> +        if ( test_bit(_IRQ_GUEST, &desc->status) )
> +        {
> +            struct domain *ad = irq_get_domain(desc);
> +
> +            if ( d != ad )
> +            {
> +                printk(XENLOG_G_ERR "IRQ %u is already used by domain %u\n",
> +                       irq, ad->domain_id);
> +                retval = -EBUSY;
> +            }
> +            else if ( irq_get_guest_info(desc)->virq != virq )
> +            {
> +                printk(XENLOG_G_ERR
> +                       "d%u: IRQ %u is already assigned to vIRQ %u\n",
> +                       d->domain_id, irq, irq_get_guest_info(desc)->virq);

Please can you get used to using %pd?

> +                retval = -EBUSY;
> +            }
> +        }
> +        else
> +        {
> +            printk(XENLOG_G_ERR "IRQ %u is already used by Xen\n", irq);
> +            retval = -EBUSY;
> +        }
> +        goto out;
> +    }
> +
> +    retval = _setup_irq(desc, 0, action);
> +    if ( retval )
> +        goto out;
> +
> +    retval = intc_route_irq_to_guest(desc, IRQ_NO_PRIORITY);
> +
> +    spin_unlock_irqrestore(&desc->lock, flags);
> +
> +    if ( retval )
> +    {
> +        release_irq(desc->irq, info);

Is de-referencing desc legitimate / race free with desc->lock not held?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 17:06:03 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 17:06:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1326978.1592215 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUp2L-0006pg-CE; Wed, 03 Jun 2026 17:05:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1326978.1592215; Wed, 03 Jun 2026 17: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 1wUp2L-0006pZ-9R; Wed, 03 Jun 2026 17:05:49 +0000
Received: by outflank-mailman (input) for mailman id 1326978;
 Wed, 03 Jun 2026 17:05:47 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wUp2J-0006pT-FE
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 17:05:47 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUp2I-004epY-GE
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 19:05:46 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a205ed3-5cb7-0a2a0a5109dd-0a2a4501a154-24
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 19:05:46 +0200
Received: from [40.107.208.3]
 (helo=PH0PR06CU001.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a205ee8-c1f2-0a2a45010019-286bd00306fe-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 19:05:46 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SJ0PR03MB5712.namprd03.prod.outlook.com (2603:10b6:a03:2dd::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.16; Wed, 3 Jun 2026
 17:05:42 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 17:05:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Bv7JZNBaUpJR6QqyR25jW/BnBCtGhu7Sa6d5WsR3n8EM92BsVpv8XlD7kpw+JzCVxAp/NCoqYBS7WHdeEacotEyZGdT5Y7AxZ4X5b1oru/nfxM1ge9PkBQf8RDBaJ+P5fd1Ikvto81ZNSr4T2Nm0qkg/XBSR47jJk2qApdt5gUjy+IeoQ98PysVXbwsOxp8Xf7E8iVFuaunluWdBa1EjD6Sj27i4vcuKULHAeU+1YdXnXXnnaoAHWJ8LN/NJR3WCszO2mtClTHcXdm1+iQ37KkuqomDSyneckLmtn4nSAFiwu68Tt6PA3hhhGaYGrtD9IkR9aGlf+jJv9/Suol5HGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+nDpXmVoR4BN0PF1WWMpgQ24wVwGpnWPKVDgU9bu2PA=;
 b=fq3328OFyI8Y/ndSHcopI2pl6cvX8OloHmyadnPxiXjX5RxIsEUMIxyjCeeEexyJkJmvs5bBe+phzFz72B9mvf7WfurpDCU68MPT/nhWKnESeB3LQhtLMAaeeSu1xa428BScFVS9lCj1WqKfMVM7g+mhRLiH6thnvAMyIhO5IVWHHJ46vrbUSuRUrDwzi/F/6731myyV3i17P437YI/3NlqHLb33ex5KcSPLzp6W0b84cyrE+HfVbjRcwMFaK5detAbF7MTKmutGoVzurWddsA8byiooCpqzZHEfswgGIacdELsNe2B8LY29YBMEi6J5sksNk1mabd6iOaAEttDhSA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+nDpXmVoR4BN0PF1WWMpgQ24wVwGpnWPKVDgU9bu2PA=;
 b=dPD30g1I0Ca5Nt0ILHBpj5YDe+xu9NULUzO643lYb53H9TgVlSNL0mkBWew+q9Mu7kXk7JXPbivCqr2LkrYQEb8cpuDeyEz1wYwRfwasXriAR/GIwQwjgHHZZKkae1N2KWAl2X+lWH7xIazzlHXujPSHiBaYjZvPxoz7XtrFalo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <0ec4527f-ca97-477c-94ef-81f430e1e98c@citrix.com>
Date: Wed, 3 Jun 2026 18:05:38 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, jbeulich@suse.com,
 roger.pau@citrix.com
Subject: Re: [PATCH 0/2] x86/kexec: Implement crash kexec for Secure Boot
To: Kevin Lampis <kevin.lampis@citrix.com>, xen-devel@lists.xenproject.org
References: <20260602164911.2684471-1-kevin.lampis@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: <20260602164911.2684471-1-kevin.lampis@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0236.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a7::7) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SJ0PR03MB5712:EE_
X-MS-Office365-Filtering-Correlation-Id: 003faac1-9ac1-4524-dc9d-08dec19257f3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|6133799003|11063799006|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	aZEf1/9oAf0CjF7BJBTq4i6UFyogoevsnp6UfT2Df+tuEI4uEx9zYnYHRomQHl3xezC+DbnaMq1vmDILhPevRj8Bg9Qtsl3ap97FRU1afdH4NdwdaPt56qgJ2YhOKXR60ZBmkOrSQZR98eIflb5pkX3Ga9R7zxEpvgmM9Eh45B3iRyLuu6aygAikLl1H8XyyDdLwF5qcssJ+WVsDfpX0gWJILqEsFrrp0+DKGQlYrFm136QSFQM+2/kIIaboCoQCnDitx/Qv9nyp4Z9A4QetFkG7E8Z9ZWbXQPf+MuFj/I2ASa+RA0q+x4R4iLb1gXQTOFD5jehVbCLzBEOwGTIj0trdqEQKH6JytZnVN8Ya9NYi1hkaR5aYkOpwLebtLJ7tSjRxXTYq+SRWk3O9QBv+m8S9vKTnGUdPRYsHnVIamIHy+lGqoUe5PAmQcGEWadhG8Cs7NZ1LreFPfY4QtP0BXlshtvq3jQ997CWwyJF3ckIajUoXPphagsmf5uA1iSLNBVXkoZmucoqZFgxIx8f/CtedTWbjCYxNaezfZ9f+TT9U5gXDFyVlaxhjuep7q1uQjLgG05sTFMJ4EeN2L4JPDZOVZ5rNLCF7ZwbaMjV5vDEUHDh6RgDogBRwj8ZbE5bjb+Y7hMwJD1wTWT8NsiHfbNPpRun08TP2VRaTghoZtqWkeUe8QEUfNEikSAi5jqdNLtCxjiRdxLzcJQJnYsihPQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(6133799003)(11063799006)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UGN2OGRwSDdZcUYyTmIvL243R2lLaGVWU0g4aGh4dTJZc2srN1UyMG1OQnVK?=
 =?utf-8?B?U0NidS8wdjBCOXVYWVBHZy82NzRuejNFNHJtdEl5WHVyV1hlaVVvRGJRbzFj?=
 =?utf-8?B?QnlzMCtXMGl5V3lzV0ErT0V2c2NFdnZpNGROOEZWSFBVWEdlSUdZUGw0UmE5?=
 =?utf-8?B?YkV1cWRJeTlNb2pDNk5SMTJYWVRIcytOOTh1Z1ZrZUNDNUplMFVlbjl3RGp1?=
 =?utf-8?B?NCs4Q1R6M3F2dW9vdU5NQkYwZ3JQQXIxRUZqYjlkS1FqeWsrdG1MYzdXOXli?=
 =?utf-8?B?aW1nTk9ZMndIcVp1Sk5rWDdoS283a1lTV0FQbGp1OWtHVFZMT2t2cFBqUUxq?=
 =?utf-8?B?Y1VIRDloQ1EvNk4waEg0S3AxM2NSWjYyWUlibllablpwZG4zempvOFJoaEdh?=
 =?utf-8?B?T0FlRjF0TytydXFZdzZvZzRGTy9EZ2lZRWFYU21iMUx5Sm9kMzBPZUsxeVVI?=
 =?utf-8?B?NHFnSUVPb25SQXZ5NzNJYnZNdHltLzQ4QVJFLy92eXhuM1dJdTZyNm5kME9n?=
 =?utf-8?B?UzR0OTk2MDRMS01JZFkySDcyRWtiK2g1SXl0eEV1S21ORFl3Q0ovMTNhekF3?=
 =?utf-8?B?MVJNQTNmUzlZUk96SUtlWUtNZ1BvUG1xNjluTlJncVVXcHZzYm1QSWFmSjBm?=
 =?utf-8?B?dFBmMlZBdnBEbVJCcTExT3VpNDdTS254WDZHQWZZbDhENTZyZHIxTkZpdW9l?=
 =?utf-8?B?Y3R2QWNHQ0tXTHk1Z1J5Z3BxMnJoNEQ5SmV0Z2IvZDI1Q3g1TXZwcXUxN3Jy?=
 =?utf-8?B?Q25aODJrZWtZckRHdTRHUThOT0lCdXJmVUR3SklBcmx3Z3NnUGFLSW1icllw?=
 =?utf-8?B?ZTF1a01weDZsRnp0STRETnBhUHllUFR1azFHVU9VUXBadk0vY2hWelEvcE5E?=
 =?utf-8?B?N2g2Z2FreUUzZnJvb0xpeWZDTkNjZmliS054cHdqME51WGNaU1AvRU1rVWEx?=
 =?utf-8?B?UWpMSkZqbTljZ25NV2N4ZnRFVWRaR1YxY2xkMlRQZmhtejl5dEdveEdqMWw0?=
 =?utf-8?B?LzFXMEliRHhGcVNqdmRUbmVWNGF6MDNQQ3diQlNiVklEd1AzVk5xMHNTR1R1?=
 =?utf-8?B?dFRCUG12aTk5cU5na2VlVTVlbE5TcDN4dVlQaG90WXZ1aVR5U0N3ZFNFWUZN?=
 =?utf-8?B?NVBCVkVBd3p0Nm5kMi9NTkhkZENPQmVlaGFiNGJRc2hhWlVLMEYvTDNlY21p?=
 =?utf-8?B?UTBSSFh3RXlJSEpUODN2K284OUw4WlhRL21RY1RTdk1aZTJKS2s5eitpTWsw?=
 =?utf-8?B?RGlFL2dVU25vWmJZb1pFakNaOHYzUkdrUUE2WEYxMUNuYzNCOTZ3dHBuaXZD?=
 =?utf-8?B?dWlDd2hMRmo1Sm1uWlJzRk1nWGM2Rk5XNWY1WW5oQWFiNlB6cUUvNHZLa3Jp?=
 =?utf-8?B?N05aS3JOcDlpU0hvZmo0U1JlcURZTU5XTVRNQklhU215Z0lMTXVYa0g4dUho?=
 =?utf-8?B?SnMvRldZbDEzaDc3UFQ1MHBvalZQSE9acUgxRCtBMytaT0t2M25ENUNRRjZt?=
 =?utf-8?B?ZmdtbXg1S2dWeE5uVGc5YU5mSmxtOGhGL3ZycExyMm81NDdsT01KRWJHaVF4?=
 =?utf-8?B?M2VIT0NqQldRZlYrazY5bk5neHFSQ0NzTElZV1NnbjBFUXFJR3ZSWWNHaTNr?=
 =?utf-8?B?R2ptMjBUb2Qxenp5YWd5MUdWSlVYSnZJQnFsc1FGS0VHWSt3UkhOY2JESFIw?=
 =?utf-8?B?VC9IS3pqNzI3ZWcwVHhPMWdpN2JzSWk3OFVLN2t3aGREcEdnR2tScy9BdXoz?=
 =?utf-8?B?a3lHdTYyTmIvejRxM1BESng2U3plT1BqSlBNWDlGS2hrYlVOY1QvMHBGbG9v?=
 =?utf-8?B?MTVoWDltaGY1cXBGYkRZSG8xVDZFeGtUMWcxdXVTbXkrRFR5cmdqOVY3c2ZU?=
 =?utf-8?B?bVJEVmRwVDBXQm56OHFkTk5tZmJobjNVRGRncEx5NFlRaEJQcTlzSmlURFVE?=
 =?utf-8?B?WHdkVzdLcityS3g1N3JLck5ZaHZZS2t5R2x1WW5RbGovSkhIcHNKQmc2K1BU?=
 =?utf-8?B?eWFXRU5obFA0ZE9yeGxNQVRwVlBod1R3WThQcFNPSVU4bHZ4VFNycDVwc2U1?=
 =?utf-8?B?TEhzTmJLc21CV2o3UnI5V0RzZVlpZkVpYm5RUklCTHlIRCtuYlNoNUxkWVZs?=
 =?utf-8?B?c2pYcFk3Vnd0L3N4STNvNkFKelZNYVVOeUhqZEU4L2dPOE9WTzg3eTA4SVJC?=
 =?utf-8?B?MCt0djhBMnNRbk9uWFd0QWZMd0d3eDU4bGxQUU9XcUdleHI1UjFmVVU4OGlq?=
 =?utf-8?B?YitCU2hYTi9nL1VBNlV1N0dlY0pQc3FZcDF2WjlxWmQzOWNiTnJILytUUms5?=
 =?utf-8?B?dHVkQ1B4blBWUWFMZGxxbVpqQzhVeU93ZEZvN05URFFZdmpTekFUQT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 003faac1-9ac1-4524-dc9d-08dec19257f3
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 17:05:42.1587
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: F2eHIzX2X3CO0oRvtv3wd7AHywppflXiZzcWal5M8Ww3npSuu3Bz1AkdN0VoT1DK50VnURKc/90exaINUqIM3rYjd1cyfq2pg3chWXhsqf4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5712
X-purgate-ID: tlsNG-d62444/1780506346-B4D49FF4-484D8E72/0/0
X-purgate-type: clean
X-purgate-size: 4242

On 02/06/2026 5:49 pm, Kevin Lampis wrote:
> This replaces the previous series
> [PATCH v2 0/4] Allows Secure Boot for Kexec
> https://lore.kernel.org/xen-devel/20250507094253.10395-1-freddy77@gmail.com/
>
> The main feedback last time was that almost all the purgatory code could
> be removed.
> - The digest check is now done in machine_kexec() instead of purgatory
> - GPRs are cleared in kexec_reloc.S which shouldn't affect non-EFI kexec
>
> Kevin Lampis (1):
>   x86: Implement crash kexec for EFI
>
> Ross Lagerwall (1):
>   Add lockdown mode
>
>  xen/arch/x86/bzimage.c                   |  40 +---
>  xen/arch/x86/include/asm/machine_kexec.h |   2 +-
>  xen/arch/x86/machine_kexec.c             |  10 +-
>  xen/arch/x86/setup.c                     |   1 +
>  xen/arch/x86/x86_64/kexec_reloc.S        |  16 ++
>  xen/common/Kconfig                       |   8 +
>  xen/common/Makefile                      |   1 +
>  xen/common/kernel.c                      |   4 +
>  xen/common/kexec.c                       |  41 +++-
>  xen/common/kimage.c                      | 264 +++++++++++++++++++----
>  xen/common/lockdown.c                    |  56 +++++
>  xen/include/public/kexec.h               |  23 +-
>  xen/include/xen/kimage.h                 |  23 +-
>  xen/include/xen/lockdown.h               |   9 +
>  xen/include/xen/x86-linux.h              |  62 ++++++
>  15 files changed, 460 insertions(+), 100 deletions(-)
>  create mode 100644 xen/common/lockdown.c
>  create mode 100644 xen/include/xen/lockdown.h
>  create mode 100644 xen/include/xen/x86-linux.h

Thankyou for doing this work.Â  This is a far more palatable diff-stat
than adding all of Purgatory.

But, the lockdown work is still blocked on some open questions and (in
practice) the security statement.Â  It only matters for the -EPERMs in
the top levels of the hypercall, and that comes from a bad split of
patches in the XenServer patchqueue.Â  You'll want to drop it from this
series.

The rest of the work (just patch 2) needs splitting into several.

First, moving the thing called setup_header wants to be it's own patch.Â 
It wants to move into the existing bzimage.h (itself fixing a bug with
the copyright header) and probably wants to be renamed to bzimage_header
because, despite that being it's Linux name, "setup" is far too generic.

You have identified that bzimage is x86 specific, and for that reason it
should not be included in common/kexec.c.Â  We are going to need an
architecture specific way of figuring out the alignment, but looking at
kimage_find_kernel_entry_maddr(), why can't we just use the EFI header?


Doing the digest checks should be its own patch.Â  Why is it tied to
KEXEC_TYPE_CRASH_EFI?Â  It's applicable to all kexec types.Â  This ought
to be first first in the series so it's not tied to EFI.

As to performing and failing the digest checks, it probably wants to be
a little earlier.Â  Functions like kexec_crash() want to return rather
than hanging, so hwdom_shutdown() can fall through into
reboot_or_halt().Â  kexec_exec() wants to return propagate an error back
into the hypercall to identify that the image appears to be corrupt.

Failing the digest check should print both the expected and obtained
values.Â  See check_xen_buildid() for a related example that you should
follow.


Swapping xen_kexec_segment_t to struct kimage_segment wants to be it's
own patch too.Â  It's mechanical but needs to not be mixed in with
logical changes.


For the %rsi/boot_params pointer, that wants to be a separate patch
too.Â  I wouldn't label it as EFI-only, nor as rsi.Â  Maybe just "arg"?Â 
It should be wired up on the 32bit path where it's %esi too, so really
you just need to move it out of %r9 before the 32bit split.

Zeroing the other registers is fine, but again wants to be a separate
patch.Â  It's unrelated to the rest of the content, and wants to happen
on both paths.Â  Also, when zeroing registers, always use the 32bit
register form even in 64bit code.Â  See PUSH_AND_CLEAR_GPRS; there are
some 64bit CPUs which care.

There are a bunch of style issues too, but lets focus on getting the
structure right first.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 19:03:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 19:03:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327027.1592225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUqs0-00076P-DH; Wed, 03 Jun 2026 19:03:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327027.1592225; Wed, 03 Jun 2026 19:03: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 1wUqs0-00076I-97; Wed, 03 Jun 2026 19:03:16 +0000
Received: by outflank-mailman (input) for mailman id 1327027;
 Wed, 03 Jun 2026 19:03:14 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wUqry-00076C-6z
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 19:03:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUqrx-008EJv-K4
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 21:03:13 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a207a48-e002-0a2a0a5209dd-0a2a4502c796-16
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:03:13 +0200
Received: from [52.101.62.52]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a207a70-af86-0a2a45020019-34653e34046b-4
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:03:13 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by DSVPR03MB989241.namprd03.prod.outlook.com (2603:10b6:8:3ab::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 19:03:10 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 19:03: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ifWlxIOAQm/dL2htjRvCDVfpsM68I0y2AOtnBESquI0u9QwIsTFk5cUnI8VJUtpL0dlmOc7le2j8R0vjF+aguperZs2THe7v3jT/auAs4rtep60M+tAmdBk7wa4r7AK1J1nKMZZKgM1/3occjK1lz9cY/q8zjq+WcpKENMRvlgyNjSqXPzag5WsHQdkO9CYMVo6aRWwOITgUfFL5hnempJO4rXbMWL4vVk8kLu8wwstAUYV2l/nDJYX2Rdm2jIYmPgMyKK2+X00dzUAaTksEDuYAI9dNCj4DIMJZj8l0yn6LBPKT6VJqaF8pbQygO7qP6DdeV1KXF8LcFD7bEXzLlw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SalFx0HE0KXFJI8Hh84m0f5kI0bFpmmWHZ6RrIYJKis=;
 b=ukjzPHz9hRMPtNz3ZEqSkTrwGH2hTUdp+rDyiiKSchUFX84YsWj9zD0XTEL4bgig6ZgESCNKGd2D9+ezN7cinpelO773G7NJIZXBRDczhmUoyJI1jbbGrPLp+2Sm6t6dpOGVwn9JDJo8hgOsE3KjX9LH2j5tufYB4WcV56G0Tjhni9XeAybnOTU4+y7bLU9fhkl/H8D+Cch5AM5zYWYa2SsqANMzZ0guw7dCdMOUbYzXJP9fLOFCGb64VLrv9Qv8HTxVSYDUF0QVOerCxTiv996fk9nWdntOUlc3TqEDtG2NfPgkP/H2e510InVsj7sKD4VFj6bEu1LWxpbDV+HJ4A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SalFx0HE0KXFJI8Hh84m0f5kI0bFpmmWHZ6RrIYJKis=;
 b=BldVub59qbw6hwT34RUs2MlwxbfCLzxxUt7oUG+NWmLfWrWQg+RP9RS4J8PYjjOnU7PGB/PZanRQAys5oggeh8IO8OI9y8oLFvVqAi8Hy2mhIB/CPJrXhVM6TByHcCaNN7wytCQ9ElMQPz02kcxgGmfp6BCYynsAQXQM2uyNVO4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 3 Jun 2026 21:03:07 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH for-4.22 1/5] tools/bitops: adjust bitmap_or() interface
 to match hypervisor
Message-ID: <aiB6a52SnU7BO6rN@macbook.local>
References: <20260601154332.30797-1-roger.pau@citrix.com>
 <20260601154332.30797-2-roger.pau@citrix.com>
 <1780497273.8631fc262581453bbf619ec5b2062170.19e8de8523b000701b@vates.tech>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <1780497273.8631fc262581453bbf619ec5b2062170.19e8de8523b000701b@vates.tech>
X-ClientProxiedBy: MR1P264CA0176.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:58::10) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|DSVPR03MB989241:EE_
X-MS-Office365-Filtering-Correlation-Id: db6d38d1-17d9-4a6b-f38d-08dec1a2c0f5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|56012099006|11063799006|6133799003|4143699003|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	rPc82d1lEm9OlDIClWC9eCUc939v2+BSIxzsfZXn6ANaWbLZAa774Aodpo9lYOgnnfLGMPUAvM2JWQpcRWB7Nub9APw28/9V44S0o1c95QC9ZfppdGz5ftRcMxZZoN2AwQJG8sDkU/L86D9fw6o7/YmZYq4GD/dpBMAzW5Zf7rZUQKZaTQ6dL1mvIk8JsCWysm1UFI61TDPI5NiE7jHIQOGkIcJjlUoqeIvkBTA1Fbr+WohLi12xOmrGeb3rNI1FvljVV+Zo+hcMeR6DqWuf7s5tkSMfFzbhjz043scYXs9FRx2jrdn9ewkRSrJ37SjHEL4wgp+Ud+CEfO34x00hx4u5KyFWdYi3kW56nMJwZntlqNFysg+OJLlNz/G7hrFqV1QXusEC8PgqS3vBtJndFlCLkEHt09RvfazRBnQ/kCrXDRuNA/82yGtfriHoBNd0agnoIpD2J3/yjOBe9xryCBZSI3WwfLIhJ2CNCU0X351kPWYlJeE0cjMxEd0TqgnuRpmHounEsof0KOnmJxruG/YAugBlboCE4HsxZ/XtLifZOk5qi33UhwfAjEDeTeds2wcK6pNNiZCuqoHjrfSVDvjljOw72Cpngud8vrtk6Uk+pINKePiggrt1PhSXqHbwBCSeoJPhn7g7Ypzd9uxAlRKtqJgagASmZp5O7fcBowgSEhycjSwvtNVO7BqqYpj2
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(56012099006)(11063799006)(6133799003)(4143699003)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R3lKekdwemJ6ZVJDRnVkTjJYQmlPYkxINEpyNExxZEpZbzlCV0NBUi9IRjdP?=
 =?utf-8?B?UmU0clFaaTNMS3MrQ1BMTEowM2gxYit2R2pkZkpqVjNPZEROeVdiSkdGUFBJ?=
 =?utf-8?B?ZDNHSFJIMzBnZ1RmUkFnajlzcmxyQ2E4TVJIR2FwT0QrTGtYY3lwOGF4akNw?=
 =?utf-8?B?THJnaVR1Q2F6TDRkR3l3YWhMSE1INmJaaG9UMVVrLys0VFlPaUg2RjF2TU41?=
 =?utf-8?B?ZTBnclJybmJCbWorY0tNa3I4Y0M0SFhuUGhyYzhvS21RQytXYXlPZ1JYTjJ3?=
 =?utf-8?B?V1VxYXp4Q01MdEVJRk5tY3NGUDVLSlBaV3RLYXJzbG9lUFJNd2RYZkRic3Nl?=
 =?utf-8?B?MHNtakgzOG1SV3RXM1dEaGpZSkppbmtMclUrYzV1VVRwTlM4elo5R3BBN1dG?=
 =?utf-8?B?Ykx5bDFSSEZMMTEvWEp2VGo1TldQVUphNEVMRFZrb2R6cy9xTjJPcG1yOXhT?=
 =?utf-8?B?ZXM3S1JqbkJLbzNxSkxoQ0xrS1g0ZEhDSDB3bTd4clR4Y2xrb0xQUWFrRmpi?=
 =?utf-8?B?VTR5Rkkrc1BXRGFiYk9WdGd2SzdOK205VGovamZEaUhaU0tBMkVvbmMydXA5?=
 =?utf-8?B?RERRc2NNN2VMdzRoTVgxd2tVRzlidDVzd3lyQlkxeGMxWHJ5azA2T3VpRHY3?=
 =?utf-8?B?UEsrT04yQUNXcEN0cEJDZGxLZzlDbjBQQUtPWStvbHhpVFZYakYwWnhmMnQr?=
 =?utf-8?B?bUc0ZkUvVFFaNS9KWWEwMVREUG5NaVlIeVd6V3pnbm9ZY1RVTDMrSmlYYXR4?=
 =?utf-8?B?UnFHTzJ5RU5laEYxTHVFWktINHNoWTlRVVRNSWxpQy9pSFlmcU85WkRNL2Ny?=
 =?utf-8?B?YWx0VFcvcnlJZFEwNGh0QVhkdkxvUXpoNmpTZ3pyOC9BdXovengzS2ZKcmZW?=
 =?utf-8?B?NHl3L0FvSm55VjQxUGhhcG9hQ0FMME4rYnFaZFhra3FzVVFUVjV3QjNhZXd0?=
 =?utf-8?B?bG1wQUNYRGhQTFhyTGsyL1BDM2FyMzBuVC9JZGJESkppN3pvUnFXMjdPUzVG?=
 =?utf-8?B?aXNHUFI4aThrVzE2M3dSSTRmb253NHRWWENXdzNMWCtqZXhpT2RsSmJheWho?=
 =?utf-8?B?M0dpVVVoazVIQ3ZOUlZFTUU5cTk1azlDNnVlMFJ4d0g4Z2hTRHVzZ0dTWkY0?=
 =?utf-8?B?a1JNU085K09rTUoyWEo0MGp3SHpscXBNS1lOUnZHdU82ayt5N3o2UDZVSjBG?=
 =?utf-8?B?K2lKUWpMcDdyS0J3VzhXSEVuSTZUQVIyd0NObXB5elZ4N1REajJ1bkJRakNL?=
 =?utf-8?B?VUNqVkRkRWdSamptMFBIcnlMb1NaK2hsS3E5Qm1KbWZwRGVBUVF6a01sNEJ5?=
 =?utf-8?B?YW9XTlJhemFQSVk0SXRZdXFqOExKK3V0RWNLRTFIb1BzL08xb2t2dXAvMysx?=
 =?utf-8?B?akpFc3I1VDlkd2Z4Mkx1TklaY2ZkY3RWbnkrSFltWWtzVHNZTXpZUExFdjZl?=
 =?utf-8?B?Q2RKZ0ZDemIwYW1xZWtranFuaStoazFYTTZ4emVZZDBwaytEUGEyYlRtTGxt?=
 =?utf-8?B?ZlhvU0tBUjJHYlJOb1owQ3pxbHIwbDhMdk16bytVU3pCY0M4SFU3c2t6dVg3?=
 =?utf-8?B?dEhEU1dHcTJyY3p5ME15ajZLYVBWSWgwNVg1MlFkekRtVUdld1dKZTUvY2pD?=
 =?utf-8?B?MEFHOEpja3RqamwvOUptOFVHcTJqMnJwalVPTFlhSlhxMXVQQmlnRlFsQjdX?=
 =?utf-8?B?di9mazlrL1hWano4cGkrY2ttRUVqbTlGcXk2NUlST0hzZDVPS0VhTDlDQk5k?=
 =?utf-8?B?Um4xczZCUmZRRVpyZk9IZEdNcHNKRzJYbTI1cVRUdnJpMlN5YjFZN0p2bWM5?=
 =?utf-8?B?QzFpaVBDZFg4V1d3WGovYWVJR01xY3h0RzJHWWlpNlNUb0ZvMmJtbW9XQ2J3?=
 =?utf-8?B?T09WWGtiWExrdTllMmkvWlI3ZyszWE8yY3owQmlkSkI1Qkd4MnFCMHBXS01M?=
 =?utf-8?B?RHZXL2wxdVdPemtwQ1B3Q1RYbnJzL0cxazJmL2VDbUgvRlVQb3VqVkRncHB5?=
 =?utf-8?B?Ly9pRjVySW9vZ0w1Mk5SdGVqRFVlS2xaRTJIcENNRlNPbTB0d01pd293VnI5?=
 =?utf-8?B?K2xiRFFHeWtieTlySS9HV2E2cThFTHRBWmhGQzFnTDV4SlRULzJ1R2cyRVY2?=
 =?utf-8?B?SHdBbm00K0J3R0pRSmJJZWhNdEkxNnhBRE80OENhemZWdCtoS1pUanhmWWNZ?=
 =?utf-8?B?ZzZsMTJMSzFVWnBtVDZQMHgzK0lBVDdPUVR1aHZGdFljRW5JMUZSVGpDd1pR?=
 =?utf-8?B?YUhoQnZtSVlsUVZucS9wQythVzRHdUhNVjlQK0M3SDIxS21wZ2dnZnpiZGRq?=
 =?utf-8?B?YUpDeWNKcHVhR1FiS010YzhZRFQ0R3BUWnVZcGdYb1dFS1FZMzNxZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: db6d38d1-17d9-4a6b-f38d-08dec1a2c0f5
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 19:03:10.2490
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: e0zdMbzJDsIdnewBxfXafDR/o8fMvz7JIIL+aIQ+GVCUJ9ya1kspXSjdkMCUblJ+R4jpAv2AdyuCtLuUapJmKQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DSVPR03MB989241
X-purgate-ID: tlsNG-720697/1780513393-A9B70161-D26C7BE3/0/0
X-purgate-type: clean
X-purgate-size: 825

On Wed, Jun 03, 2026 at 04:34:32PM +0200, Anthony PERARD wrote:
> On Mon, Jun 01, 2026 at 05:43:28PM +0200, Roger Pau Monne wrote:
> > Adjust the only toolstack caller to use the new interface.  No functional
> > change intended.
> > 
> > Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> 
> Acked-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks.

> > ---
> > I'm tempted to rewrite bitmap_or() to use unsigned long (just like the
> > hypervisor side), but that's outside the scope of this change.
> 
> You mean revert 11d0044a1689 ("tools/libxc: Modify bitmap operations to
> take void pointers") ? Or maybe the hypervisor code when trough the same
> path.

Kind of yes, so that it matches more closely the hypervisor interface.
Anyway, not going to do that now either.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 19:19:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 19:19:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327044.1592253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUr7O-0001VF-7W; Wed, 03 Jun 2026 19:19:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327044.1592253; Wed, 03 Jun 2026 19: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 1wUr7O-0001V8-3C; Wed, 03 Jun 2026 19:19:10 +0000
Received: by outflank-mailman (input) for mailman id 1327044;
 Wed, 03 Jun 2026 19:19:08 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wUr7M-0001Tw-Mx
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 19:19:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUr7M-00Gsxh-3c
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 21:19:08 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a207e26-5cb7-0a2a0a5109dd-0a2a4509b786-8
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:19:08 +0200
Received: from [52.101.53.11]
 (helo=BL0PR03CU003.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a207e2a-2497-0a2a45090019-3465350b80a9-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:19:07 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by SJ2PR03MB7094.namprd03.prod.outlook.com (2603:10b6:a03:4ff::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 19:19:03 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 19:19: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=OD7XmglC3P6kS853OTtrSpjJ8lyV8HhvdgPAbj08epprZw+oaI+fowBuR/CBl0P490pSe2Abh4XBATEaaQ1qxsqGZhAYDx2o4KleUFBum0A3HPI9f7efBTyOik2RBWFMcAG9/mS6poWYqLm0E30m+SUoyFBuWT0WvV2IO0OIvXHSr9OvBu40WwbbVeprP8AoKwlZjXJtJtP9ahXpdXtS+7JrsdDGVI4/aANfQLfafaqnzssfgFy0XWcaRoFUhhOqWkAE5cLu16yf8fMhTu5FCIQcev9JqMo8M17TVpska7rV48eQx4DDZAccANPkhSOTVbyEcB3Kuho1jE6eGvRUdA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cIp3eQ8U9IHMHb2OBI91GP/BpRgkqybmO025NwKTRr4=;
 b=o/yFym/1QF1nG/ZS48rDjH5Xp7aS/PHd0LgIifyljMDME2Jppjl0y7LR+dIjuIJqQrrTw5ASYUP9/nHv0MePYJoy3sU68VZQzdEgHJREaAMIIG8XizvX2jkE/mfWY7iuNcosh+IGc4FadScnD6Igp1GlCmqHaVQ2pHVl2W7McOIi/sGDw4VzI6UnfStQYxVYxBA6GfLCjiqN7Q52/1ZN4W648arZoisd0onwiHgmQpOfX3tuYyJAtEzJoJ8JT6noq7K27eClkmd9fhoUMfo//SmD3Cwox5iJhBPziUFzhhfqE6wAKyZzkw/Dfm39MA4+LnqnXZ3TBr9rvH5YATUHfw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cIp3eQ8U9IHMHb2OBI91GP/BpRgkqybmO025NwKTRr4=;
 b=XRFpkV/cmVWQBxAKbOFwr/b8qhnqW5S8B084ZEV2iZVp5TVriWVioxHro9Hud4XqM1jFLH45qgxO8R0sImsEKHPpHZrf6jiuiyOFX+QfBXx+3H5gE0KexX0Qe7rbIyiqkM6OvBrAqcUCON50aFK5hMCPUm4nk23a7eCVn91y/Bk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	Julien Grall <julien@xen.org>
Subject: [PATCH for-4.22 v2 2/5] tools/macros: adjust ROUNDUP() interface to match hypervisor
Date: Wed,  3 Jun 2026 21:18:33 +0200
Message-ID: <20260603191836.77955-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260603191836.77955-1-roger.pau@citrix.com>
References: <20260603191836.77955-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: BN0PR02CA0027.namprd02.prod.outlook.com
 (2603:10b6:408:e4::32) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|SJ2PR03MB7094:EE_
X-MS-Office365-Filtering-Correlation-Id: f47b0da4-0b3b-4984-a3b7-08dec1a4f8f9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|56012099006|18002099003|22082099003|11063799006|6133799003;
X-Microsoft-Antispam-Message-Info:
	GyQUDYJCWSds0MRF+LA1qgBftfEjbaCHhxZAPgSdQchcHtJjbOGWaVaOLkeuj4asYZ12aS7IMoW34IjJZX7DkDfkJb87kP2Y8CiG0fO5XSY2ygU433v2uNaeWxOxO1IIAp7JC1KDnen7VLWV43L9vDV/L3JFvqj+6+3bzuEjjqAOSbkbVc7uU+uHv6OSY4/p5DEibWUW6KjJxjLg+7S4/5Wt29703niyjRqhd5slzdPJdC0YqrfPQpunoXHXW/1uUJcSDGh3Mzf47BstVjOGCTN2uCoGJhAUUcmBwanreYmr+2tL+PkL4LpmVpBChGgBPu8CCAEl0iVLinQ4nm+Giw08Bn14aXjY1L3TNWPaD5BdwCNNMOQATNQov/ftVo6sigGYJXxbBBK7/CKThRmWZj6FLu6ymcwKeGjys4qsnz6amfAxTpsUR8OHknDXXhkikkj1HXduy6EzZnvUNiGy46ijbfGZYu/ctwV+B6bF0RbUQ4R6yHPU5/teH+SB4dlJbtFQBb4vrA5juYq4kFaGbCw51R8S146VUFiB62CTzJyJ2RAOEbUBXa+0c+EzxE9YtSeQguYtAVlp8bbUjUdOA5EueMfG0tDoZsTPE1+FoKYHBXAFOYR1KoC20eRQB4gtv5fgCQ9UYiTZQnsuG9FzXxq538nYKuqCSFoOI2eLy2zWsyXzPK423lblaDhyBPkw
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(56012099006)(18002099003)(22082099003)(11063799006)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c2lkU05rNnQrYXhlbUloV0ZPUFYrUVJLRHFacE1mZDFqbFIrNFdCRC9CZTdx?=
 =?utf-8?B?QWR2QVpDVUxoeUtiNk9tSlhBYnJMSmdLSVhweHVRMFYxN3NxQW1BL1FLVGJv?=
 =?utf-8?B?RUVEL3BmRUpXbkFVdFV1RndENWUwVGFGNUNyK3I5bmlxQUgrb0tGcXJheFB0?=
 =?utf-8?B?MWxUYzVIZnFSZ0JramN5MWpOQXJNU3M1c0lhcVFwWUpWLzV4Yk5sY3BMNFlz?=
 =?utf-8?B?UDdoQXJZOHMxMWNsN21zSWdkQnozdStOQzZYUUtXandBV1JDWVQrS203amha?=
 =?utf-8?B?QW0xekdSbmRsWWcwaUVKTXFjNUFyaFRjNjRMT0MzVUh2a0t4RGdBeU1reVlj?=
 =?utf-8?B?WXBDMCswTWhnakhOQmtQTFkvZTNtNUxvUFcwU1o2Vi9xVTF6UUFSbFVXbloz?=
 =?utf-8?B?VzZRQ3RlUlFLbk9kWm5SS0FaRm40K01pUWdNeFNTMEUwNGlUR1FSS1ZPWjNK?=
 =?utf-8?B?Uk9Wc29yeklKbndjRlhwK3lTWXRZWWxUODZpc3B5VW1vS1NYNTRVUXFlZ2h1?=
 =?utf-8?B?bmZITTh2c2l6bUh0czlvREkzcGNUSTdGL1ZDREs4U0ZGMk9VQmEyK25jL0c3?=
 =?utf-8?B?M21OZzVaVklaMmpqVmZIa3p6Mkhid0NtTk5kVFhXeW9ZMkV3OHNxdUZKMVR2?=
 =?utf-8?B?L0dibG5WQXJwSUpXNDhoSm00OTJzTnYxV0wrTSs3YytKc0NzMEowN0dRSWhD?=
 =?utf-8?B?NXZhTVpMY29tQzlrZk4zVGRaNmNIWGhjQ3puQ1c4WWFGLzBiSCtMRXRxOXNC?=
 =?utf-8?B?R2pqU3JtQlVTUmI1cCtWZmJWK3JZMHY5YnVsb25oLzVkcmE5MVZDVEFOWmtT?=
 =?utf-8?B?K291dXVaOHBabU9IWWZ5QnBPenRDRDZPMkl6K1pkNXBsSmNoOW9qT2xEV29I?=
 =?utf-8?B?bkJLR3dKWUZZR05ZZm1HNnowQUhXNEh3OGVPT0hmSmtLY1NYamZZOUZsMXIr?=
 =?utf-8?B?RXNtVyt1V01zVEpqbkpwamVqL2wxT2ZzelBCdGVWenlSNnNxM0Q2c0RFNzZ2?=
 =?utf-8?B?cGtFQ1dtMlU0Z1NTVG8rV01mMUczTk81Mk1NL3hCYTM5bFdZQ2hKR0F3TXVR?=
 =?utf-8?B?dWFUVkVueU1WUlgvMFc0WVFvOWtGQk5QUGhvWWcrQjlQRFpLc1V1RHRueFpV?=
 =?utf-8?B?RFlBSzVXM2dLcEl4QlFMZTFOMHNHRmNXUFJxVXFTdW5tTHllS3NwN1pad2lY?=
 =?utf-8?B?TmtXL1NWUmYzRHFGVFkzZFI1ekhTWW1qRE1oenpLOXpmblRsbFVVQlZ6V0w2?=
 =?utf-8?B?Szlxd2swdmFjZTlZcWVBc3dXTnBaMGpDQnp3U0NvcGR0Zk4yVXBENnBtVnY1?=
 =?utf-8?B?UkcwTytQNDk1UHErRlVnbVNKSjlTUzhBeGNPNzdjZFJGVmRGUUFZZ0trOW52?=
 =?utf-8?B?REFHNVN5Y2U0UU9nYkJvQ0RGdFc5aDNVVnZYS09mbmhEaGs2ams4Q0JSakM0?=
 =?utf-8?B?bW5uL2x6WHVDT0s4c2pEZzZNeVUzQWxERTdRdnUzVkp5SHMvWUlhejRLUEV3?=
 =?utf-8?B?eUc3MU5PR2V0VVYrTVYxWkZIT1J1cDlLQlMzT1B0S2NvSU9YeXRyY2VpZW5G?=
 =?utf-8?B?cWt2cEFhelBtQklRdUdLbzhvZjVaaW9Mc1VBTnVrcHovZGg3a3E1ZU1DTTho?=
 =?utf-8?B?UWs3d0JuTXVTb1ZpTkgwajYybmJSMmtaUlp3V3ZPMDBoc1FZbDhQaUxXd25n?=
 =?utf-8?B?UE0yZm5KckxWWjNGeEU4RjZLRCtkQUpEaGN1aGd3Z1lRNSs3MmxrYTQ3Yjdh?=
 =?utf-8?B?MC84NUpCYjlIUUthTWIzUnY5QWxrWkhNaCtsYzN0RVJkZmMwa05CQTFkYjNl?=
 =?utf-8?B?M0xrTVk4aFg5RmxCS0krcFMrL0NoUURqNThVc2lvWVd6UHovczQ3VDcwWXlv?=
 =?utf-8?B?TCszZys3emJSYkNoc0FWNnpZVjAySHZqajdxQ25CQUVjYzhVZTFLRmJNekhx?=
 =?utf-8?B?cnZYOTNjaGkxMC9GMEpnOC9xamRCYlI1bXBuMUtieHFtRlE1UkNhTmN1cDda?=
 =?utf-8?B?REF3M0pYOXZEWnJpRTBUT2s3S2h5dGVDNmc3OVV1djh6bXZ1dk1MYmRzbmQ2?=
 =?utf-8?B?ZFBpbU8ySmFNbVJLdGpscWYvUDg3ZmRRQnFmS08wT3EzczFOVnVZaWF0UTRh?=
 =?utf-8?B?bjk0WmxlcGxDN2dVTlpUR2xzcG5DZFB6MVI0Rm1mNWg4OGtySEFBdnZNdkJK?=
 =?utf-8?B?QzFjQTdWa0ZUK0tIMFRxbUVEbFBxbWRlWTVVSEVuZ1E1R0pOTjBSdll4cVJu?=
 =?utf-8?B?bEQ2eEtJMjJSbUNRancrRDROUjhxekNHeHVUcWQ5WHhuSHRRM0RZdjRXTURO?=
 =?utf-8?B?RGlkT21EeVp3ZkpxRHNNaW1pUHNUdnZqZllNaDVMd2o4eVlFcjMwdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f47b0da4-0b3b-4984-a3b7-08dec1a4f8f9
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 19:19:03.0862
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EUmSzYo3S4EhuPd4ZsPP1QC0glnZ110MJv2GTqtqTkZFJUFtzIXH2SVdhK78XcowKZuzYUBaB5oCo3iXN64nAw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7094
X-purgate-ID: tlsNG-bad1c0/1780514348-4216DA53-6D54EDB6/0/0
X-purgate-type: clean
X-purgate-size: 19730

Adjust user-space callers to use the new interface.  No functional change
intended.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
---
 tools/console/daemon/io.c                 |  2 +-
 tools/include/xen-tools/common-macros.h   |  4 +---
 tools/libs/call/buffer.c                  |  3 ++-
 tools/libs/foreignmemory/linux.c          |  2 +-
 tools/libs/gnttab/freebsd.c               |  2 +-
 tools/libs/gnttab/linux.c                 |  2 +-
 tools/libs/guest/xg_core.c                |  2 +-
 tools/libs/guest/xg_dom_arm.c             |  6 +++---
 tools/libs/guest/xg_dom_x86.c             |  2 +-
 tools/libs/guest/xg_private.h             |  4 ++--
 tools/libs/guest/xg_sr_common.c           |  6 +++---
 tools/libs/guest/xg_sr_stream_format.h    |  2 +-
 tools/libs/light/libxl_arm_acpi.c         | 24 +++++++++++------------
 tools/libs/light/libxl_create.c           |  2 +-
 tools/libs/light/libxl_sr_stream_format.h |  2 +-
 tools/libs/light/libxl_stream_read.c      |  2 +-
 tools/libs/light/libxl_stream_write.c     |  4 ++--
 tools/misc/xen-mfndump.c                  |  2 +-
 tools/ocaml/libs/xc/xenctrl_stubs.c       |  2 +-
 tools/xenstored/core.c                    |  4 ++--
 tools/xenstored/domain.c                  |  9 +++++----
 tools/xenstored/watch.c                   |  2 +-
 22 files changed, 45 insertions(+), 45 deletions(-)

diff --git a/tools/console/daemon/io.c b/tools/console/daemon/io.c
index 43d4973c247c..b6c46d11dea7 100644
--- a/tools/console/daemon/io.c
+++ b/tools/console/daemon/io.c
@@ -1233,7 +1233,7 @@ static int set_fds(int fd, short events)
 		/* Round up to 2^8 boundary, in practice this just
 		 * make newsize larger than current_array_size.
 		 */
-		newsize = ROUNDUP(nr_fds + 1, 8);
+		newsize = ROUNDUP(nr_fds + 1, 1U << 8);
 
 		new_fds = realloc(fds, sizeof(struct pollfd)*newsize);
 		if (!new_fds)
diff --git a/tools/include/xen-tools/common-macros.h b/tools/include/xen-tools/common-macros.h
index 9838a108aaea..9e2799178235 100644
--- a/tools/include/xen-tools/common-macros.h
+++ b/tools/include/xen-tools/common-macros.h
@@ -68,9 +68,7 @@
     })
 #endif
 
-#ifndef ROUNDUP
-#define ROUNDUP(_x,_w) (((unsigned long)(_x)+(1UL<<(_w))-1) & ~((1UL<<(_w))-1))
-#endif
+#define ROUNDUP(x, a) (((x) + (a) - 1) & ~((a) - 1))
 
 #define MASK_EXTR(v, m) (((v) & (m)) / ((m) & -(m)))
 #define MASK_INSR(v, m) (((v) * ((m) & -(m))) & (m))
diff --git a/tools/libs/call/buffer.c b/tools/libs/call/buffer.c
index 2579b8c71986..155e4f9d43eb 100644
--- a/tools/libs/call/buffer.c
+++ b/tools/libs/call/buffer.c
@@ -155,7 +155,8 @@ struct allocation_header {
 
 void *xencall_alloc_buffer(xencall_handle *xcall, size_t size)
 {
-    size_t actual_size = ROUNDUP(size + sizeof(struct allocation_header), PAGE_SHIFT);
+    size_t actual_size = ROUNDUP(size + sizeof(struct allocation_header),
+                                 PAGE_SIZE);
     int nr_pages = actual_size >> PAGE_SHIFT;
     struct allocation_header *hdr;
 
diff --git a/tools/libs/foreignmemory/linux.c b/tools/libs/foreignmemory/linux.c
index 12f959765abd..6d2f30cdf1b6 100644
--- a/tools/libs/foreignmemory/linux.c
+++ b/tools/libs/foreignmemory/linux.c
@@ -198,7 +198,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_handle *fmem,
          */
         privcmd_mmapbatch_t ioctlx;
         xen_pfn_t *pfn;
-        unsigned int pfn_arr_size = ROUNDUP((num * sizeof(*pfn)), XC_PAGE_SHIFT);
+        unsigned int pfn_arr_size = ROUNDUP(num * sizeof(*pfn), XC_PAGE_SIZE);
         int os_page_size = sysconf(_SC_PAGESIZE);
 
         if ( pfn_arr_size <= os_page_size )
diff --git a/tools/libs/gnttab/freebsd.c b/tools/libs/gnttab/freebsd.c
index d69d928a165e..801274478217 100644
--- a/tools/libs/gnttab/freebsd.c
+++ b/tools/libs/gnttab/freebsd.c
@@ -74,7 +74,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
     int domids_stride;
     unsigned int refs_size = ROUNDUP(count *
                                      sizeof(struct ioctl_gntdev_grant_ref),
-                                     XC_PAGE_SHIFT);
+                                     XC_PAGE_SIZE);
     int os_page_size = getpagesize();
 
     domids_stride = (flags & XENGNTTAB_GRANT_MAP_SINGLE_DOMAIN) ? 0 : 1;
diff --git a/tools/libs/gnttab/linux.c b/tools/libs/gnttab/linux.c
index 7286c1d4fe83..829877e64baa 100644
--- a/tools/libs/gnttab/linux.c
+++ b/tools/libs/gnttab/linux.c
@@ -101,7 +101,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
         map = alloca(map_size);
     else
     {
-        map_size = ROUNDUP(map_size, XC_PAGE_SHIFT);
+        map_size = ROUNDUP(map_size, XC_PAGE_SIZE);
         map = mmap(NULL, map_size, PROT_READ | PROT_WRITE,
                    MAP_PRIVATE | MAP_ANON | MAP_POPULATE, -1, 0);
         if ( map == MAP_FAILED )
diff --git a/tools/libs/guest/xg_core.c b/tools/libs/guest/xg_core.c
index f83436d6cbf8..d3640f0ef891 100644
--- a/tools/libs/guest/xg_core.c
+++ b/tools/libs/guest/xg_core.c
@@ -696,7 +696,7 @@ xc_domain_dumpcore_via_callback(xc_interface *xch,
     for ( i = 1; i < sheaders->num; i++ )
         sheaders->shdrs[i].sh_offset += fixup;
     offset += fixup;
-    dummy_len = ROUNDUP(offset, PAGE_SHIFT) - offset; /* padding length */
+    dummy_len = ROUNDUP(offset, PAGE_SIZE) - offset; /* padding length */
     offset += dummy_len;
 
     /* pages */
diff --git a/tools/libs/guest/xg_dom_arm.c b/tools/libs/guest/xg_dom_arm.c
index c8d091850622..739ec1c33837 100644
--- a/tools/libs/guest/xg_dom_arm.c
+++ b/tools/libs/guest/xg_dom_arm.c
@@ -364,12 +364,12 @@ static int meminit(struct xc_dom_image *dom)
 
     /* Convenient */
     const uint64_t kernbase = dom->kernel_seg.vstart;
-    const uint64_t kernend = ROUNDUP(dom->kernel_seg.vend, 21/*2MB*/);
+    const uint64_t kernend = ROUNDUP(dom->kernel_seg.vend, MB(2));
     const uint64_t kernsize = kernend - kernbase;
     const uint64_t dtb_size = dom->devicetree_blob ?
-        ROUNDUP(dom->devicetree_size, XC_PAGE_SHIFT) : 0;
+        ROUNDUP(dom->devicetree_size, XC_PAGE_SIZE) : 0;
     const uint64_t ramdisk_size = dom->modules[0].blob ?
-        ROUNDUP(dom->modules[0].size, XC_PAGE_SHIFT) : 0;
+        ROUNDUP(dom->modules[0].size, XC_PAGE_SIZE) : 0;
     const uint64_t modsize = dtb_size + ramdisk_size;
     const uint64_t ram128mb = bankbase[0] + (128<<20);
 
diff --git a/tools/libs/guest/xg_dom_x86.c b/tools/libs/guest/xg_dom_x86.c
index 268936efe25b..9af83535944a 100644
--- a/tools/libs/guest/xg_dom_x86.c
+++ b/tools/libs/guest/xg_dom_x86.c
@@ -678,7 +678,7 @@ static int alloc_magic_pages_hvm(struct xc_dom_image *dom)
     {
         if ( dom->cmdline )
         {
-            dom->cmdline_size = ROUNDUP(strlen(dom->cmdline) + 1, 3);
+            dom->cmdline_size = ROUNDUP(strlen(dom->cmdline) + 1, 1U << 3);
             start_info_size += dom->cmdline_size;
         }
     }
diff --git a/tools/libs/guest/xg_private.h b/tools/libs/guest/xg_private.h
index 285229cf82a3..31a79bccf75e 100644
--- a/tools/libs/guest/xg_private.h
+++ b/tools/libs/guest/xg_private.h
@@ -135,7 +135,7 @@ typedef uint64_t x86_pgentry_t;
 #define PAGE_SIZE_X86           (1UL << PAGE_SHIFT_X86)
 #define PAGE_MASK_X86           (~(PAGE_SIZE_X86-1))
 
-#define NRPAGES(x) (ROUNDUP(x, PAGE_SHIFT) >> PAGE_SHIFT)
+#define NRPAGES(x) (ROUNDUP(x, PAGE_SIZE) >> PAGE_SHIFT)
 
 static inline xen_pfn_t xc_pfn_to_mfn(xen_pfn_t pfn, xen_pfn_t *p2m,
                                       unsigned gwidth)
@@ -167,7 +167,7 @@ int pin_table(xc_interface *xch, unsigned int type, unsigned long mfn,
  */
 #define M2P_SHIFT       L2_PAGETABLE_SHIFT_PAE
 #define M2P_CHUNK_SIZE  (1 << M2P_SHIFT)
-#define M2P_SIZE(_m)    ROUNDUP(((_m) * sizeof(xen_pfn_t)), M2P_SHIFT)
+#define M2P_SIZE(_m)    ROUNDUP(((_m) * sizeof(xen_pfn_t)), M2P_CHUNK_SIZE)
 #define M2P_CHUNKS(_m)  (M2P_SIZE((_m)) >> M2P_SHIFT)
 
 #if defined(__x86_64__) || defined(__i386__)
diff --git a/tools/libs/guest/xg_sr_common.c b/tools/libs/guest/xg_sr_common.c
index 7ccdc3b1f6aa..54dde924a7c0 100644
--- a/tools/libs/guest/xg_sr_common.c
+++ b/tools/libs/guest/xg_sr_common.c
@@ -56,11 +56,11 @@ const char *rec_type_to_str(uint32_t type)
 int write_split_record(struct xc_sr_context *ctx, struct xc_sr_record *rec,
                        void *buf, size_t sz)
 {
-    static const char zeroes[(1u << REC_ALIGN_ORDER) - 1] = { 0 };
+    static const char zeroes[REC_ALIGN - 1] = { 0 };
 
     xc_interface *xch = ctx->xch;
     typeof(rec->length) combined_length = rec->length + sz;
-    size_t record_length = ROUNDUP(combined_length, REC_ALIGN_ORDER);
+    size_t record_length = ROUNDUP(combined_length, REC_ALIGN);
     struct iovec parts[] = {
         { &rec->type,       sizeof(rec->type) },
         { &combined_length, sizeof(combined_length) },
@@ -110,7 +110,7 @@ int read_record(struct xc_sr_context *ctx, int fd, struct xc_sr_record *rec)
         return -1;
     }
 
-    datasz = ROUNDUP(rhdr.length, REC_ALIGN_ORDER);
+    datasz = ROUNDUP(rhdr.length, REC_ALIGN);
 
     if ( datasz )
     {
diff --git a/tools/libs/guest/xg_sr_stream_format.h b/tools/libs/guest/xg_sr_stream_format.h
index 8a0da26f7543..4310f4311e65 100644
--- a/tools/libs/guest/xg_sr_stream_format.h
+++ b/tools/libs/guest/xg_sr_stream_format.h
@@ -53,7 +53,7 @@ struct xc_sr_rhdr
 };
 
 /* All records must be aligned up to an 8 octet boundary */
-#define REC_ALIGN_ORDER               (3U)
+#define REC_ALIGN                     (1U << 3)
 /* Somewhat arbitrary - 128MB */
 #define REC_LENGTH_MAX                (128U << 20)
 
diff --git a/tools/libs/light/libxl_arm_acpi.c b/tools/libs/light/libxl_arm_acpi.c
index ba874c3d3224..ac8165de15b6 100644
--- a/tools/libs/light/libxl_arm_acpi.c
+++ b/tools/libs/light/libxl_arm_acpi.c
@@ -107,12 +107,12 @@ int libxl__get_acpi_size(libxl__gc *gc,
     if (rc < 0)
         goto out;
 
-    *out = ROUNDUP(size, 3) +
-           ROUNDUP(sizeof(struct acpi_table_rsdp), 3) +
-           ROUNDUP(sizeof(struct acpi_table_xsdt), 3) +
-           ROUNDUP(sizeof(struct acpi_table_gtdt), 3) +
-           ROUNDUP(sizeof(struct acpi_table_fadt), 3) +
-           ROUNDUP(sizeof(dsdt_anycpu_arm_len), 3);
+    *out = ROUNDUP(size, 1U << 3) +
+           ROUNDUP(sizeof(struct acpi_table_rsdp), 1U << 3) +
+           ROUNDUP(sizeof(struct acpi_table_xsdt), 1U << 3) +
+           ROUNDUP(sizeof(struct acpi_table_gtdt), 1U << 3) +
+           ROUNDUP(sizeof(struct acpi_table_fadt), 1U << 3) +
+           ROUNDUP(sizeof(dsdt_anycpu_arm_len), 1U << 3);
 
 out:
     return rc;
@@ -128,7 +128,7 @@ static int libxl__allocate_acpi_tables(libxl__gc *gc,
 
     acpitables[RSDP].addr = GUEST_ACPI_BASE;
     acpitables[RSDP].size = sizeof(struct acpi_table_rsdp);
-    dom->acpi_modules[0].length += ROUNDUP(acpitables[RSDP].size, 3);
+    dom->acpi_modules[0].length += ROUNDUP(acpitables[RSDP].size, 1U << 3);
 
     acpitables[XSDT].addr = GUEST_ACPI_BASE + dom->acpi_modules[0].length;
     /*
@@ -137,11 +137,11 @@ static int libxl__allocate_acpi_tables(libxl__gc *gc,
      */
     acpitables[XSDT].size = sizeof(struct acpi_table_xsdt) +
                             sizeof(uint64_t) * 2;
-    dom->acpi_modules[0].length += ROUNDUP(acpitables[XSDT].size, 3);
+    dom->acpi_modules[0].length += ROUNDUP(acpitables[XSDT].size, 1U << 3);
 
     acpitables[GTDT].addr = GUEST_ACPI_BASE + dom->acpi_modules[0].length;
     acpitables[GTDT].size = sizeof(struct acpi_table_gtdt);
-    dom->acpi_modules[0].length += ROUNDUP(acpitables[GTDT].size, 3);
+    dom->acpi_modules[0].length += ROUNDUP(acpitables[GTDT].size, 1U << 3);
 
     acpitables[MADT].addr = GUEST_ACPI_BASE + dom->acpi_modules[0].length;
 
@@ -150,15 +150,15 @@ static int libxl__allocate_acpi_tables(libxl__gc *gc,
         goto out;
 
     acpitables[MADT].size = size;
-    dom->acpi_modules[0].length += ROUNDUP(acpitables[MADT].size, 3);
+    dom->acpi_modules[0].length += ROUNDUP(acpitables[MADT].size, 1U << 3);
 
     acpitables[FADT].addr = GUEST_ACPI_BASE + dom->acpi_modules[0].length;
     acpitables[FADT].size = sizeof(struct acpi_table_fadt);
-    dom->acpi_modules[0].length += ROUNDUP(acpitables[FADT].size, 3);
+    dom->acpi_modules[0].length += ROUNDUP(acpitables[FADT].size, 1U << 3);
 
     acpitables[DSDT].addr = GUEST_ACPI_BASE + dom->acpi_modules[0].length;
     acpitables[DSDT].size = dsdt_anycpu_arm_len;
-    dom->acpi_modules[0].length += ROUNDUP(acpitables[DSDT].size, 3);
+    dom->acpi_modules[0].length += ROUNDUP(acpitables[DSDT].size, 1U << 3);
 
     assert(dom->acpi_modules[0].length <= GUEST_ACPI_SIZE);
     dom->acpi_modules[0].data = libxl__zalloc(gc, dom->acpi_modules[0].length);
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index 6fd62d140389..a8b0c8c50070 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -600,7 +600,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_config *d_config,
                 .opts = 0, /* .opts will be set below */
                 .nr = b_info->altp2m_count,
             },
-            .vmtrace_size = ROUNDUP(b_info->vmtrace_buf_kb << 10, XC_PAGE_SHIFT),
+            .vmtrace_size = ROUNDUP(b_info->vmtrace_buf_kb << 10, XC_PAGE_SIZE),
             .cpupool_id = info->poolid,
         };
 
diff --git a/tools/libs/light/libxl_sr_stream_format.h b/tools/libs/light/libxl_sr_stream_format.h
index f8f4723c2e91..b02c954a388e 100644
--- a/tools/libs/light/libxl_sr_stream_format.h
+++ b/tools/libs/light/libxl_sr_stream_format.h
@@ -29,7 +29,7 @@ typedef struct libxl__sr_rec_hdr
 } libxl__sr_rec_hdr;
 
 /* All records must be aligned up to an 8 octet boundary */
-#define REC_ALIGN_ORDER              3U
+#define REC_ALIGN                    (1U << 3)
 
 #define REC_TYPE_END                    0x00000000U
 #define REC_TYPE_LIBXC_CONTEXT          0x00000001U
diff --git a/tools/libs/light/libxl_stream_read.c b/tools/libs/light/libxl_stream_read.c
index e64e8f0eadec..99c7607b6c54 100644
--- a/tools/libs/light/libxl_stream_read.c
+++ b/tools/libs/light/libxl_stream_read.c
@@ -511,7 +511,7 @@ static void record_header_done(libxl__egc *egc,
         return;
     }
 
-    size_t bytes_to_read = ROUNDUP(rec->hdr.length, REC_ALIGN_ORDER);
+    size_t bytes_to_read = ROUNDUP(rec->hdr.length, REC_ALIGN);
     rec->body = libxl__malloc(NOGC, bytes_to_read);
 
     rc = setup_read(stream, "record body",
diff --git a/tools/libs/light/libxl_stream_write.c b/tools/libs/light/libxl_stream_write.c
index 98d44597a732..9ea64369352f 100644
--- a/tools/libs/light/libxl_stream_write.c
+++ b/tools/libs/light/libxl_stream_write.c
@@ -119,7 +119,7 @@ static void setup_generic_write(libxl__egc *egc,
                                 void *body,
                                 sws_record_done_cb cb)
 {
-    static const uint8_t zero_padding[1U << REC_ALIGN_ORDER] = { 0 };
+    static const uint8_t zero_padding[REC_ALIGN] = { 0 };
 
     libxl__datacopier_state *dc = &stream->dc;
     int rc;
@@ -136,7 +136,7 @@ static void setup_generic_write(libxl__egc *egc,
         return;
     }
 
-    size_t padsz = ROUNDUP(hdr->length, REC_ALIGN_ORDER) - hdr->length;
+    size_t padsz = ROUNDUP(hdr->length, REC_ALIGN) - hdr->length;
     uint32_t length = hdr->length;
 
     /* Insert header */
diff --git a/tools/misc/xen-mfndump.c b/tools/misc/xen-mfndump.c
index 28687afbf01a..99a0b1d3b5c0 100644
--- a/tools/misc/xen-mfndump.c
+++ b/tools/misc/xen-mfndump.c
@@ -10,7 +10,7 @@
 
 #include <xen-tools/common-macros.h>
 
-#define M2P_SIZE(_m)    ROUNDUP(((_m) * sizeof(xen_pfn_t)), 21)
+#define M2P_SIZE(_m)    ROUNDUP(((_m) * sizeof(xen_pfn_t)), MB(2))
 #define is_mapped(pfn_type) (!((pfn_type) & 0x80000000UL))
 
 #define ERROR(msg, args...) fprintf(stderr, msg, ## args)
diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c b/tools/ocaml/libs/xc/xenctrl_stubs.c
index c55f73b265b2..7f6381cdd2fe 100644
--- a/tools/ocaml/libs/xc/xenctrl_stubs.c
+++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
@@ -221,7 +221,7 @@ CAMLprim value stub_xc_domain_create(value xch_val, value wanted_domid, value co
 	if ( altp2m_nr != (uint16_t)altp2m_nr )
 		caml_invalid_argument("altp2m_count");
 
-	vmtrace_size = ROUNDUP(vmtrace_size << 10, XC_PAGE_SHIFT);
+	vmtrace_size = ROUNDUP(vmtrace_size << 10, XC_PAGE_SIZE);
 	if ( vmtrace_size != (uint32_t)vmtrace_size )
 		caml_invalid_argument("vmtrace_buf_kb");
 
diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index d6d462b7bc82..86c86b3e9a77 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -466,7 +466,7 @@ int set_fd(int fd, short events)
 		/* Round up to 2^8 boundary, in practice this just
 		 * make newsize larger than current_array_size.
 		 */
-		newsize = ROUNDUP(nr_fds + 1, 8);
+		newsize = ROUNDUP(nr_fds + 1, 1U << 8);
 
 		new_fds = realloc(poll_fds, sizeof(struct pollfd)*newsize);
 		if (!new_fds)
@@ -3067,7 +3067,7 @@ static int dump_state_node(const void *ctx, struct connection *conn,
 	head.length += node->hdr.num_perms * sizeof(*sn.perms);
 	head.length += pathlen;
 	head.length += node->hdr.datalen;
-	head.length = ROUNDUP(head.length, 3);
+	head.length = ROUNDUP(head.length, 1U << 3);
 
 	if (fwrite(&head, sizeof(head), 1, fp) != 1)
 		return dump_state_node_err(data, "Dump node head error");
diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
index 2db452144dd4..a880ff678ef9 100644
--- a/tools/xenstored/domain.c
+++ b/tools/xenstored/domain.c
@@ -2159,7 +2159,7 @@ const char *dump_state_connections(FILE *fp)
 		if (ret)
 			return ret;
 		head.length += sc.data_in_len + sc.data_out_len;
-		head.length = ROUNDUP(head.length, 3);
+		head.length = ROUNDUP(head.length, 1U << 3);
 		if (c->domain) {
 			sc.fields |= XS_STATE_CONN_FIELDS_UNIQ_ID;
 			head.length += sizeof(uint64_t);
@@ -2232,7 +2232,8 @@ void read_state_connection(const void *ctx, const void *state)
 		unsigned long off;
 
 		off = sizeof(*sc) + sc->data_in_len + sc->data_out_len;
-		domain->unique_id = *(uint64_t *)(state + ROUNDUP(off, 3));
+		domain->unique_id =
+		    *(uint64_t *)(state + ROUNDUP(off, 1U << 3));
 	}
 }
 
@@ -2308,7 +2309,7 @@ static int dump_state_domain(const void *k, void *v, void *arg)
 	n_quota = get_quota_size(domain->acc, &rec_len);
 	rec_len += n_quota * sizeof(sd->quota_val[0]);
 	rec_len += sizeof(*sd);
-	rec_len = ROUNDUP(rec_len, 3);
+	rec_len = ROUNDUP(rec_len, 1U << 3);
 
 	record = talloc_size(NULL, rec_len + sizeof(*head));
 	if (!record)
@@ -2372,7 +2373,7 @@ const char *dump_state_glb_quota(FILE *fp)
 	n_quota = get_quota_size(quotas, &rec_len);
 	rec_len += n_quota * sizeof(glb->quota_val[0]);
 	rec_len += sizeof(*glb);
-	rec_len = ROUNDUP(rec_len, 3);
+	rec_len = ROUNDUP(rec_len, 1U << 3);
 
 	record = talloc_size(NULL, rec_len + sizeof(*head));
 	if (!record)
diff --git a/tools/xenstored/watch.c b/tools/xenstored/watch.c
index a9a06e9e4816..309c5bb66bef 100644
--- a/tools/xenstored/watch.c
+++ b/tools/xenstored/watch.c
@@ -349,7 +349,7 @@ const char *dump_state_watches(FILE *fp, struct connection *conn,
 		}
 
 		head.length += path_len + token_len;
-		head.length = ROUNDUP(head.length, 3);
+		head.length = ROUNDUP(head.length, 1U << 3);
 		if (fwrite(&head, sizeof(head), 1, fp) != 1)
 			return "Dump watch state error";
 
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 19:19:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 19:19:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327042.1592234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUr7J-00013e-KP; Wed, 03 Jun 2026 19:19:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327042.1592234; Wed, 03 Jun 2026 19:19: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 1wUr7J-00013X-Hb; Wed, 03 Jun 2026 19:19:05 +0000
Received: by outflank-mailman (input) for mailman id 1327042;
 Wed, 03 Jun 2026 19:19:03 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wUr7H-00013L-EB
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 19:19:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUr7G-00Gsxh-R2
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 21:19:02 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a207e26-5cb7-0a2a0a5109dd-0a2a4509b786-0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:19:02 +0200
Received: from [40.93.198.17]
 (helo=CY7PR03CU001.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a207e23-2497-0a2a45090019-285dc61193eb-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:19:00 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by CH5PR03MB7886.namprd03.prod.outlook.com (2603:10b6:610:215::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 19:18:57 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 19: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=AhH2iMXXlAxDIkrfqhKg8/Gp2c+Ch/8uWZ7A6CQiY6pIEyl4oZvhimgyGffO92rO3wSq9n1cawoTDPZ5rrsRa9CP36xOeepMbrtEzhbH5jSCaKjRYfeaCFp2NUhfiFTNkTkof4/VxyCYqMUBKre39Jd4rc3bi3L28LdVffgqE1fZb2WLDR2LLWl8hejn8HEhJv67CfeO1bk13vqFhehExEG1Yd1vBaxl0hr/r5olsSbI8jDVNtj2H582t0WiHNmt27orIV5odyESgvwsS6H6ugy+gBRitD5Lf6SMgwRcVc41d9TFzNmVifL/fs8XmnXZljDTtlfBQ0r3mHcxVXhOwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IpQZ7LMJgYkSTB2ULpsle/Dl0pjfw6r9H2SKsbbNlzI=;
 b=l423yJzzY5Rm+osh3QqpdXiBTyFk/7DcNG25gWODdbp1y4oXAytYSgCFAMHScQt8Trx29s1eMqSIim14viTrSLStj+QpYgJ+eWKPjuMJe6JEht2GvSlTLS2db8N3qlHiEqVsvCldkImYp4UW3tu5p8qxLdoFQBr17B0D3gW9n1IOCrq2GcAX6CrtBelhvp8JaC0zQyFcfdGeIEodRlgwKxNQZlD7T/af5tHcTqlfmmJ1zQBAHr+80hQm+NLmzVOiW4MCqoMdGDuFFaOYCS2YuFZ5fJD8qw1i3gyrekJ2iLeNESLHkp4yJRR0500hIWDz8XscXxuOmXu2DRo8qI8ESQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IpQZ7LMJgYkSTB2ULpsle/Dl0pjfw6r9H2SKsbbNlzI=;
 b=aKeVsp5SgHGJKYeAiXOsessCxEb4D01bEGmu/0GZhOBU55O+5M4YD4ForBHADd8dJYbU4yJQr11jch6kVeWlxx6VabjPM8hT4m3mMMrwET4M1drllwrh33y0BmNZulK7NhsGDxZbHI1YgZkYi+pMXYoJ2dxraKrx9JILEiqDOxg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	Julien Grall <julien@xen.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH for-4.22 v2 0/5] numa: add unit testing plus fix regression
Date: Wed,  3 Jun 2026 21:18:31 +0200
Message-ID: <20260603191836.77955-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: BN0PR10CA0025.namprd10.prod.outlook.com
 (2603:10b6:408:143::22) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|CH5PR03MB7886:EE_
X-MS-Office365-Filtering-Correlation-Id: 733747d8-38af-4547-43fa-08dec1a4f53a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|366016|6133799003|56012099006|11063799006|18002099003;
X-Microsoft-Antispam-Message-Info:
	llTMGMInnjNf5tNvs+TDZIFRQ461pgyUMGDeljMQ8ugwcT3J4391jdMiD7BFTuvE3GJwAeajjWYzMJJn0h7OgEepnsZqz99kr4Nx4CYUUxvgEVfbeBfynAeX8RC7xRka0SiRUodzbxHtDvbZy16VPawig8lSQSp98KUWpoThfd4iX+tyMQL3qBmH+aK3i89s2nZR4vCsk+3ZMq5kMJpCUn6cUa9FbcL+kq61FtBymqrUi8Yjnz3tvR/5mXaylRx2NYtInFtZOtWwGJnt6n6WNp2UxV6cKIpV28qw6l8Luyf/4WqbzVSv5Z+znTn0OGGmZORkO4SsfQxL8/7wVOOfgaAulPsG7UpmPGVyjD15EaA0iBHvQEgDQdwa6Ba0hPzHYg4Gp9bZcdnl9VwK83m5HSklleoucsg3zMZBfPkXx7jMvt7/Vuck1tPqb3JrLCwcactTQU6fLiMtTcnmP0xXDvW6bOiI0KkTvXBAChqNQ+MxLaGp2phO0IukR0Tdr9yGfqH9G96osPFhUz69dUw+5iUgNxFdZUr33bXtZJa9Y/LI5yLKijxPQl8X1hs+IIlSb2fl9gwJiGOZdMBUCGFrb87ell9qo6R2Dg45QTiiXrrrUSVpXSji+GBWCpK+Dsr8Z4B8t9V4vKrU5ARXtPBhVSvyWyGJaA0o5eFq4P2Y09mvhuEm2nHczyAVpm7M9iBG
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(6133799003)(56012099006)(11063799006)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MFpnUFh4cnVYL2FNMGpYalo1L3Y4NTBOaWc1UDRkdFVnenNMOGJQcGh3UlJv?=
 =?utf-8?B?UGhuNEZ1K09maE0rczFDa1pxUWc0NmtYM2Y1SEtLT25UT1BHSWovMEJXYU9R?=
 =?utf-8?B?ZGg5Wjc4ZHdDT1RScXJJbUdQUnU1K0xwUXJDWStpWEROZVBJNktPRmxMMitM?=
 =?utf-8?B?SWt0OWNCQjRKTlFoYjJDcENmU2J6UG5TekhzSU55eTVEdmQvUFh5VW5HWFU5?=
 =?utf-8?B?UUh6Rkx5T05ublVROVE2bFhyZUVtbHUrNDRleFp1aE9mdkVMYmM0cWNhVHds?=
 =?utf-8?B?VGhrUFVCMXZrOUFnYW1XSEd6bnV1cG90dnZaR3NCdm5nSVNNdjBuQkU3Z2Yz?=
 =?utf-8?B?V0NFK2pKZTM3Z0R2OXBEZjB2TVJ5c0tkRU9HV2doKzd3WFVacXJ0S3AxQTlt?=
 =?utf-8?B?UlFDQjUrclBMT2sva1YxbHJiRnA0Wk1HZnZmeThMaUFjRjVia2VPUHNCdHRD?=
 =?utf-8?B?bDU1d3VCa0dzQnJlTUlRWFlKcDk5d3Y2cm1NMkVlT3R1Q1ZPNVlzMGtvWHNs?=
 =?utf-8?B?N2hFMnlPQVpPUFpBd1lTbzJVZm5tQW5wTXFVeG1uenFvcXhNc2tDSWhlcG9B?=
 =?utf-8?B?SVltdGVOSHNtc2R1VFowcFdNZlJlZXRUbDh4M2RzbzNPR3BORWlTd3FCQWJ0?=
 =?utf-8?B?bzcxOHZpd0xTZWI0bzhiUzcySGNrN0lScUdZV2xiTitaNjFEb2FpL0kwcndV?=
 =?utf-8?B?VmsvajVMekltcVY3ckliTFFSbnlURkZqS05WNndNSGhIczB4ZUxVVjVJenY1?=
 =?utf-8?B?ci9QYkRSMG9McFVqT29mYXdUY3A0R0tzeGQ2L1lwZ3NIZTFCcEVQZHlURjVW?=
 =?utf-8?B?Mk8yZnpvRHZvYXRlbHBQN3dCQXVBZERGYUNJQXZocnUzQXE5YlBOamt4ZmdF?=
 =?utf-8?B?WWJiZ3MrUzg5Mjh2NUNaWmxSZTdEMGFVcStqbmdnWjlJa3BuWGJ3Z1hkME5x?=
 =?utf-8?B?S3FMQ2RzbGt2dU9VS2xWM0E5SDlMYldLR2pFOHc0OEc1OXFwRXRMLytkb3I4?=
 =?utf-8?B?ZlNlNm1MVUdrNmlyU3hlOGZsS0ZVbGdkc0R3cFExUmVEcjhHSkZIeG45bmth?=
 =?utf-8?B?cU1zbjV1VC80Nkx2b2VteFMwdTlaZnRwUHdyclRXYVJPT2pMY0szbTZ1WThl?=
 =?utf-8?B?K3BVMXJrSzBkUzRZNFlSTVkrVGdPMm5IdWxSTlBGWnRxN2RHcGFVYTh4dHVL?=
 =?utf-8?B?MGR4bkhFWVdiU21ZZlJXREE3L3phNC9lbGpob2x3MTFZMjVaMXZ5RWpTOVlQ?=
 =?utf-8?B?MWw0YUJweVB5NTNWanpvUmFuaUZJQXF1YjlIZFBQQW85VHd4NGs4UU1MRDJt?=
 =?utf-8?B?S1M4RnIrQitRdkZqVEg5YTJMeG5OWlRITlY0QndrZHdZL01idGs1Z1FnbXRn?=
 =?utf-8?B?Qk9lU0lvM2lmUjg1RHIyS0lQN1Q3Q2pQUW40T2w3QnovcksxTFRuNFc2YlBY?=
 =?utf-8?B?N01rbWRFZkhlZ3FLTVY4dGw5bzRJR2kzbmR1SDExQ1VEV1J4YnRhRjNLY1gy?=
 =?utf-8?B?RnMvVURzaENLYjQxTitSTk5RREpjcG9LL0JaYjBLQmJiL2JxL29rSW8yOU5p?=
 =?utf-8?B?Q09Nelp5c0hsc0pyUndvbGgrT3pRZ05TQzJDbUVZQ1dlRUljQVhJM2ZDQUdq?=
 =?utf-8?B?WXBnWUorVlNsVzM2NENlNDl2TGJQMnhrbFpxVTZBME5vYjArdExzdjdpQ1U5?=
 =?utf-8?B?Z1dsR1JzM1NBVjlsbkswQ3FNaDkycWVQSktITDZkUkdTK0d2Rmd3NlNXV3Zt?=
 =?utf-8?B?M3BJSnB6eHFWRm85M0ZkOThMbzhXRUZEVUF2Z1UreXFTSXhFRGhsaGMybFpi?=
 =?utf-8?B?djhGa0dVUE1HYlhueFBRZHhzaUVCMklJK1dlSE5sYS9VQXRDWjEyc1Z5SUIr?=
 =?utf-8?B?eGM3WWZIaHhyNjZTK25GNXpMdFpkeEkzUkg1LzNMK09hUktOVlRnNEtKWS9w?=
 =?utf-8?B?TURVc0V4TlUrTmlxV2dta2VzWVRxMVBMQk5UZTlvMlBmQkpPOXQxSGN4RlN2?=
 =?utf-8?B?WXk1cU1UUWxoU2QyUVBIZ0xTQUtkMXIxMmJGVGxocW5ScXFGdUJxVWRZdHRY?=
 =?utf-8?B?UFJtTFg3ek5keWEzZHVFbnB2SVAxZUJiSnV5ekcvS1kzcVhwWmpQZklWN3Qv?=
 =?utf-8?B?K01VY3dxM3N2UmJrLzl4cmo3RkFGR0hWWThBTiswQnFnQ3hvMkVwSzBiQkNu?=
 =?utf-8?B?ZlFySGZUbnpIb2Y3WGtnY0FlTUFINDVjeUxOd281N1gwWitRbm5PR0lBd0Nr?=
 =?utf-8?B?TjlnRlE3MnVacUNsaVoxL0l1UUlUZVN6eDYwRmE3NGVMaG5OMTNVRHI3RHRQ?=
 =?utf-8?B?QUJQS0RSRU5lcTJ2NzMzOFN6MVVrWVYxZWMralgvTU8yZnozTUpYZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 733747d8-38af-4547-43fa-08dec1a4f53a
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 19:18:56.9037
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: C9l1M8jUyZZ54QbebObY7cNISKhCtXyprQFqcsvPKQWlAd/L2l3lIrcKh/zKiE4oYYWNEYjnxy0PBECl/reQ7Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH5PR03MB7886
X-purgate-ID: tlsNG-bad1c0/1780514342-41969A53-E4035CE7/0/0
X-purgate-type: clean
X-purgate-size: 2468

Hello,

The first 4 patches add some basic unit testing for the NUMA setup
logic.  The last patch expands the test cases and fixes an issue the new
test-cases would otherwise trigger.

Only patch 4 is missing an Ack or Reviewed by.

Thanks, Roger.

Roger Pau Monne (5):
  tools/bitops: adjust bitmap_or() interface to match hypervisor
  tools/macros: adjust ROUNDUP() interface to match hypervisor
  xen/numa: prepare NUMA setup code for unit testing
  tests/numa: add unit tests for NUMA setup logic
  xen/numa: fix setup of non-aligned memory affinity ranges

 tools/console/daemon/io.c                 |   2 +-
 tools/include/xen-tools/bitops.h          |   7 +-
 tools/include/xen-tools/common-macros.h   |   5 +-
 tools/libs/call/buffer.c                  |   3 +-
 tools/libs/foreignmemory/linux.c          |   2 +-
 tools/libs/gnttab/freebsd.c               |   2 +-
 tools/libs/gnttab/linux.c                 |   2 +-
 tools/libs/guest/xg_core.c                |   2 +-
 tools/libs/guest/xg_dom_arm.c             |   6 +-
 tools/libs/guest/xg_dom_x86.c             |   2 +-
 tools/libs/guest/xg_private.h             |   4 +-
 tools/libs/guest/xg_sr_common.c           |   6 +-
 tools/libs/guest/xg_sr_save.c             |   3 +-
 tools/libs/guest/xg_sr_stream_format.h    |   2 +-
 tools/libs/light/libxl_arm_acpi.c         |  24 +-
 tools/libs/light/libxl_create.c           |   2 +-
 tools/libs/light/libxl_sr_stream_format.h |   2 +-
 tools/libs/light/libxl_stream_read.c      |   2 +-
 tools/libs/light/libxl_stream_write.c     |   4 +-
 tools/misc/xen-mfndump.c                  |   2 +-
 tools/ocaml/libs/xc/xenctrl_stubs.c       |   2 +-
 tools/tests/Makefile                      |   1 +
 tools/tests/numa/.gitignore               |   2 +
 tools/tests/numa/Makefile                 |  47 ++++
 tools/tests/numa/harness.h                | 184 +++++++++++++++
 tools/tests/numa/test-numa.c              | 267 ++++++++++++++++++++++
 tools/xenstored/core.c                    |   4 +-
 tools/xenstored/domain.c                  |   9 +-
 tools/xenstored/watch.c                   |   2 +-
 xen/common/numa.c                         |  20 +-
 30 files changed, 568 insertions(+), 54 deletions(-)
 create mode 100644 tools/tests/numa/.gitignore
 create mode 100644 tools/tests/numa/Makefile
 create mode 100644 tools/tests/numa/harness.h
 create mode 100644 tools/tests/numa/test-numa.c

-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 19:19:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 19:19:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327043.1592238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUr7J-00016U-Qq; Wed, 03 Jun 2026 19:19:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327043.1592238; Wed, 03 Jun 2026 19:19: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 1wUr7J-00015U-Ng; Wed, 03 Jun 2026 19:19:05 +0000
Received: by outflank-mailman (input) for mailman id 1327043;
 Wed, 03 Jun 2026 19:19:04 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wUr7I-00013R-6g
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 19:19:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUr7H-00Gsxh-JS
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 21:19:03 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a207e26-5cb7-0a2a0a5109dd-0a2a4509b786-2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:19:03 +0200
Received: from [40.93.198.17]
 (helo=CY7PR03CU001.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a207e23-2497-0a2a45090019-285dc61193eb-4
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:19:03 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by CH5PR03MB7886.namprd03.prod.outlook.com (2603:10b6:610:215::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 19:18:59 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 19:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=nzDGl4RZgDk/XhVwMQx6C3h98B6SmdF5Hnb8/+wgDVdmhOGeqtBazxqAaBnJxXQauE/jPuAIK7PTRVsjgvz99Kl/pLMxa5j7a8vdS0OTSD+nKMuAZqDWrI2zjpUDfNVvRkkkTpjEls3G3jACYZXnlf/7C9qMo23ul7Fi/jPhXYF+VyiJxXNTOB2IoFiQOdT7t4nb1Ajkq01o63O4G0bU3O0LPzqzrMKpQYpcdKNkJdAfBZhHR4VBU2iW9CsRt7jEv5qhTFsCH8noXiFgBA4IA6LxCqWRx96donu7LcT3+Ce/Cmn+itLQjed0CrqwJzWjzp9LhnJkEaCefehMxPIdXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=R1wJ9H+HlV1Wc4owYx/eZP6Kj5pXUK2qFLHUPDz0i2Q=;
 b=k4pMP1HYdLZh5ntm07OOphIKTU34aG08Vz8wE0qkhrCOfvphc5ln+4ft+2C02ZjXIKJ1Y93lW9rGBKYc5r2Rpgtxe6ZEFuJUprc+43JLnLEzdW2fZ7VlldUMGideP/VBE+KOvJ6n/kex5sFVwBv/xTYnWGE+cYbhl9iFIStGBsXHV/qqpg4eEF8AuhRjIXWmuKclRC56r+YYw5H0kgtYnc5lONdaPg5Nhc6ekmtWa1Ahdcu0IOl//1WJY88vt7wUXqTDy2TVXZyFZZcuSu0jhdayphiZxGtyJ+fGeEhH1P8qTkDzK6ovvEJjcA8813ChO3u2dj/QgtgS9PabP/laPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=R1wJ9H+HlV1Wc4owYx/eZP6Kj5pXUK2qFLHUPDz0i2Q=;
 b=fbFycBGIpPF8cTqe6xzbM0S7G6kLO2IzjQeAChapbDjy7w/m9Skb3jhgI7Ie9XcpdaJHPZF27wgMFcRwPpe4LH+zmdRHuJNA9gMXmoyPk6We13b2Rs2utxBxeUMRBAXerw9VEu9Kg8ncCAT8mlQt9KHP1wp4SdZmAEAV9G2OC/o=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH for-4.22 v2 1/5] tools/bitops: adjust bitmap_or() interface to match hypervisor
Date: Wed,  3 Jun 2026 21:18:32 +0200
Message-ID: <20260603191836.77955-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260603191836.77955-1-roger.pau@citrix.com>
References: <20260603191836.77955-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: BN1PR13CA0016.namprd13.prod.outlook.com
 (2603:10b6:408:e2::21) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|CH5PR03MB7886:EE_
X-MS-Office365-Filtering-Correlation-Id: a33c16ea-c592-4513-e90a-08dec1a4f6fe
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|366016|6133799003|56012099006|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	UoxPdt7VKOVk8sKTjPjv9x2jkAG/mxb8S0k8p+mPZY3P5EMbbGvAHoy+Ft+OOqPCyKXV/Oh4e43/eN65dYLEv92yE+955KORQhrjxF2bbc30a6oxFZAIrmc8FghPShDSQcBt/1Lg/LA6FDbseb10qcvMh2vzQ9cGp73ogj+LCym5QCSmjB20GUCCnmjMSu43qQPlFXhtcZJRbpu3AeHIjkmtRvFBekWOwnJ/tbo3Cr2MKHC1m8mtlWQjbtjqkuxnx61KVSYTC5TAQu8lMpbgY83Z1/poXcvRBKu9eUaHgZwrwmzlO++yfaEAOkuToi5gqms4+xxO6mZtC1nWFC+0ZiUgDg0HuIb2OS8iqF7Jm6Spd0HllxjSOxr5uhzhuOneVIymdJIT1w0GfBwskRBJW50o5WwmfxIuGXs9m8rDb9u3zl777C/XNSfLN+U095W8nkU+B0qhJkJtZkaLMIVkjkJ2hPJ7xjEwweWpgSn8YzdXBf7Y8jbVJ2iXqrzLwIqoH23gNVmeA1ZG0FmzLDG1UN/zXOMSiOO+cupGHlM12UdlpPBZ721d2ro8Ea22z/ORjQ5nvh5H2speB5DJCP28Pplt+jDFUeS15rHmw8pl0inyk/fDU+3S4mLOx/FPT6WaBEu4HHFsg3oO24BAZZkWRxuGvQIDibN9ruhUukLdzaJOSlDe3t66xo6Bgc3IR+Mj
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(6133799003)(56012099006)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TlVNcFhGeWM3L2FXOE10N3haZlVCbjJ6SVIvOGFtTTFZZUJlemVGRjhGWjJV?=
 =?utf-8?B?UnBXd0ZnZHd1bzB0NVNTSzMwZVhQSW11UlRYL3BxWUtoSzRRSVZIN25oZDNx?=
 =?utf-8?B?V3NzZXhjK1J0TTNLVTFudjdpUE5vV1IySWpyZ3dpTXlQUXVJVXUvN1lpNUJV?=
 =?utf-8?B?OGVpaUpDZlJTZGVlKzQxbFc0NVpFVU8rZjVpV1RkQ3Qvd0ZsOXhBQjNuS3J1?=
 =?utf-8?B?aThlcVZwVmUrWWR2OVc0elR0c1dJNmpDeWhlb2RBdytqblZISkd1bmJPMTh1?=
 =?utf-8?B?UHpuazVuVGFGcFZjRWRqK3g1U29RYlhCbk5qYjhabHcxU3FUOTBWUHpwWVhp?=
 =?utf-8?B?aWd6dm9FWTdMckU2RW1IYjM3WFU5YnV5NnRkRmlibm92YXhGS2FxNXUxZldw?=
 =?utf-8?B?QXRyK0xlMFpRb2tVd0N0VHc3RWxxcnpCZUVXM2dGOU5CVjQvOFhOM2VGYmZm?=
 =?utf-8?B?STJmd3RpNGpUL004U01MYlM2WFMvQ3ZmOUVBckk5MTZkZnkxamtjQWMreVRq?=
 =?utf-8?B?am8remg5TGRwN1M5OU5vdTV5NjdaVEtlNjhDN01KU1ZuRkZYdkZhbkJTcG51?=
 =?utf-8?B?ajNueGc3YkdsdHpwY2FSRFhGT2h5RGRObmdQR0lCZk5lSklGaytLTktTNVZQ?=
 =?utf-8?B?ZTZiQm8xY0E4Q2diWTVyaUVpNnVLYUo3Mi9jOUlJUTNMelBqU2tSdW9pMUZu?=
 =?utf-8?B?U2hrMVVtQmtNL1JNOE5WK2hCK0M3TUhzcnZjZlJmaFczL0pqN01KeDZ0Q2xz?=
 =?utf-8?B?M3B4bU5IeEU4QVNiWFM4SHV4TE9zdFB1bnVRUmNobU1EQnV2YmZSQ2NMNGlF?=
 =?utf-8?B?Q3poVlR5MFpZbS90dTZkU2JXZVlMM20vOEs4Y0hwNkVGQWVLYWlENVFmNTVK?=
 =?utf-8?B?SWRNd3pLR2tMYm9vbE9rOW5BVE9PZ0lZNGxjVS92NXJsL241d0lXcGpCQXpX?=
 =?utf-8?B?VTF4cGZxVHpXM3dLZmMreWtaOGhZaUJwN05rMjBrWnc0Y1BKbkFVS0xXMTZN?=
 =?utf-8?B?d1F6SXh3NjlDUVRwTWxidXc3eEpoNlIrUkRNa251cDArcFowb3RYaERnUGxX?=
 =?utf-8?B?YkJJSDQ4ejRmcnQ1bitQTUpLUjMvUWNteERDN3Z5R2p2akpMcjJEVGR4NWVO?=
 =?utf-8?B?bTZIWnpXMnNsdk8wSncxTldraGZQbTdPNytZQ0kwZnFLR0ZWL0VHcWlMWlpJ?=
 =?utf-8?B?TzdFVW5wNkdXWWF0Wmg5MmlIZjhhMEd1L05yMDNaSnJhVldxV3ZiUlF1bnJW?=
 =?utf-8?B?WCs5RTVMOFY1Q2l2UEo0NlpwMjBJWEVaVC80TllpTytCZmFnaDhOUWRValJX?=
 =?utf-8?B?UE5rMTFHVXkxRFR3UDl0VG9CZ3hzOCtveGpCZ0lBZGdlV05IWU1rWDBkTExi?=
 =?utf-8?B?ejEzSmpRSi84Y0pQbkZjNHpCdlRRYzdsQThiVVpWeG9EYnZqNjFodndZajdp?=
 =?utf-8?B?QjBacnZ3bHYrN0s5Y3UrckhWZzV3RDE5RWJlNkpFSUpYUzNUTDRHYnhNVHBX?=
 =?utf-8?B?RFRsUy9OK3NkREFYY2VXS1F3YlYvODlBWjgwTWpicVhWK3hUN1ZIODRxdjBK?=
 =?utf-8?B?VlNHZlJ0cFB5OEhyQ1pXcFJ6WkJuNmkva0dUVDBRSWU5VEFBZUNNTDhxOEFk?=
 =?utf-8?B?UEowTmlQNDdpWlYyOHFIUFg1emJSUm5HcWUrRjdvOVl0THY1MjJKT3VuNElN?=
 =?utf-8?B?RnYxNGpvR0djTC9pSlcvNHkxME9YUTJTelJXeDJ3RUFRR3VkYzlYejA0eVdD?=
 =?utf-8?B?NTgyakFTNFNManBKbFoxSmJsZ1FFZFU2VHpybjh1NmR3K2Ixa1NvTVhaOUZt?=
 =?utf-8?B?WGxoK2FLVzdIUWliRlhRZDB4N1ppNW90R1YyZE5BQmgxN0FCL2srNXM5S0J2?=
 =?utf-8?B?aDQvNHExOFJ6RUZ4dEd4dkM4cFlXbERjRzlBNlFLbWJlWFlPYXRRYXFOamRX?=
 =?utf-8?B?Z2Y2VVVQcmFpYXRxd05STk9NN040U2ZuWktxNHFVZW9EeTNkK0xuSndNQnYw?=
 =?utf-8?B?NGNMcUhoU1pGSDQyS2JDWUJtYjdsMWtmSXF4MWxSY2E1VE9ieVE1WEtPWnQr?=
 =?utf-8?B?eXR6NldEeW9FNlhHR0lSSGF0SGFDMlEvby9yeWxzOGJadlJBT1RCcmR5OElH?=
 =?utf-8?B?WGI0REpuZ2xtSWxWLzVLZTVqSVdQd3lUQ0VsTnQ0M2hqTG56UVNWVmxRQmM3?=
 =?utf-8?B?bEJtdWo2ZU5SL0JiR3dUOFB4V2dDOHdlQUt5bDIxTnZHQWU5NHJ0WG9vb2dh?=
 =?utf-8?B?NzVkUHYrRURaWjdHS2VQTlNRbmdFME9mZ3BJMnREK2JtcnozNk05RTBJSmRK?=
 =?utf-8?B?V3pWSEF4K0dpNVJXUkphMmYrRnNhbzczRW9tYW84QnNTbVBlM2E5UT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a33c16ea-c592-4513-e90a-08dec1a4f6fe
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 19:18:59.7551
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kT76ydqrhkTauoAV0pLj3sP4bgrGkYAe3wP1ezg+ikauMHKc3UpxaI/NQZeckVU18gpaSlqaDgjCh2TqQcVYBQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH5PR03MB7886
X-purgate-ID: tlsNG-bad1c0/1780514343-41F6EA53-361116E2/0/0
X-purgate-type: clean
X-purgate-size: 1792

Adjust the only toolstack caller to use the new interface.  No functional
change intended.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Acked-by: Anthony PERARD <anthony.perard@vates.tech>
---
 tools/include/xen-tools/bitops.h | 7 ++++---
 tools/libs/guest/xg_sr_save.c    | 3 ++-
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/tools/include/xen-tools/bitops.h b/tools/include/xen-tools/bitops.h
index 3b98fba6d74c..29587e89fa6d 100644
--- a/tools/include/xen-tools/bitops.h
+++ b/tools/include/xen-tools/bitops.h
@@ -81,14 +81,15 @@ static inline int test_and_set_bit(unsigned long nr, void *addr)
     return oldbit;
 }
 
-static inline void bitmap_or(void *_dst, const void *_other,
+static inline void bitmap_or(void *_dst, const void *_src1, const void *_src2,
                              unsigned long nr_bits)
 {
     char *dst = _dst;
-    const char *other = _other;
+    const char *src1 = _src1, *src2 = _src2;
     unsigned long i;
+
     for ( i = 0; i < bitmap_size(nr_bits); ++i )
-        dst[i] |= other[i];
+        dst[i] = src1[i] | src2[i];
 }
 
 #endif  /* __XEN_TOOLS_BITOPS_H__ */
diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index 3b2c5222e429..fdbceab52e46 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -668,7 +668,8 @@ static int suspend_and_send_dirty(struct xc_sr_context *ctx)
     else
         xc_set_progress_prefix(xch, "Checkpointed save");
 
-    bitmap_or(dirty_bitmap, ctx->save.deferred_pages, ctx->save.p2m_size);
+    bitmap_or(dirty_bitmap, dirty_bitmap, ctx->save.deferred_pages,
+              ctx->save.p2m_size);
 
     if ( !ctx->save.live && ctx->stream_type == XC_STREAM_COLO )
     {
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 19:19:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 19:19:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327045.1592262 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUr7P-0001k3-Kf; Wed, 03 Jun 2026 19:19:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327045.1592262; Wed, 03 Jun 2026 19:19:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUr7P-0001jt-Ee; Wed, 03 Jun 2026 19:19:11 +0000
Received: by outflank-mailman (input) for mailman id 1327045;
 Wed, 03 Jun 2026 19:19:09 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wUr7N-0001Ue-G8
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 19:19:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUr7M-00Gsxh-Sk
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 21:19:08 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a207e26-5cb7-0a2a0a5109dd-0a2a4509b786-10
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:19:08 +0200
Received: from [52.101.53.11]
 (helo=BL0PR03CU003.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a207e2a-2497-0a2a45090019-3465350b80a9-4
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:19:08 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by SJ2PR03MB7094.namprd03.prod.outlook.com (2603:10b6:a03:4ff::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 19:19:05 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 19:19: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=wIpoNdjtSYPqpDU6OFisPUvCUqXuB9Uc0t47MwIqKigkVC71v7RmY9N1sQ+MtrTqWM6p6oTmIpPSAtXb7WSPFDNhAqrjCOJ1Qdg2yU7nAGOs/A5Rh8DK4bg6QNiM0UI1DL+Tsbo48yc4jFpEIwVA6OmwX8SJoyIW+4CaafogUda0+w22vqN0PTxwh/8X2Gzk/MvFl7eY5rPQOibcCdTTMt7KLOqDZcGbxWIi3rvktGxBk3A9HF7IdRtPHM8efYJU2yf4C8UoB03Vkj4rpLGllB5YyNiEYP4mGOKDI0l1EgZoumJIDA4ryrD/ruc/DgGj23UkE976agxy9Ri3xTMlqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PAog/pzcyLlB711VQLeJLXsjxkMQopNDsvcdKsXahBg=;
 b=sWaj9vhFJwpS8iCicbu4t2OJ2G49JFCdDmO0gljajEQUdGZzJA5w0cu/lABXo+wu3Pk1meGm+lOala/Ap1vZr8XC3PGNUbqgt/ert9VaACdTwrS9w+80I4fRuWXkkqa3QTVvzHhmQOXTFGGm8Be0DtrhpzHMSPF+t+13PsEiJTQyUKJFA7646O/S+HiE6cONBHBBQngNKMan4eKoEDvjz1gsoSufkEKYK4f7skm3aXT1+ESFs20hP6iKiNVthaLckIjS6oxhmb8/oUBZuBaRT+IQEjhn99MXlaeOLUYdfTHn04oNkeWjGKc09OZtjvtiquzSEXrNG/BZKbnwj8sW9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PAog/pzcyLlB711VQLeJLXsjxkMQopNDsvcdKsXahBg=;
 b=w9NnyLLtb64mLk7jlWiePtvXUmFaplpwbVP41388thVh5ENvxDWUmYHJf3HbRjN8BEzsJwDgYJ8x7zipX8rtji+p+DbKk6ad2SxiarFHKDFTgD6FGKAjBTU1fP29vzjn2/l/LF+7Zg/H+2VsYRK7nejqXdkd29YTgNmeSFoV8zc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH for-4.22 v2 3/5] xen/numa: prepare NUMA setup code for unit testing
Date: Wed,  3 Jun 2026 21:18:34 +0200
Message-ID: <20260603191836.77955-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260603191836.77955-1-roger.pau@citrix.com>
References: <20260603191836.77955-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: BN0PR04CA0070.namprd04.prod.outlook.com
 (2603:10b6:408:ea::15) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|SJ2PR03MB7094:EE_
X-MS-Office365-Filtering-Correlation-Id: 39054209-7e11-4659-9295-08dec1a4fa81
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|56012099006|18002099003|22082099003|11063799006|6133799003;
X-Microsoft-Antispam-Message-Info:
	iwZ/M8SRSbp5VbGB6oArYMClXsg8UZqcobsR6ajneb+Ccv+mnRorUDjQ7XCQPeVNPhVx6Ehlu8NTELwBJljhFz0rofDdrqdB8RPbHm1j0DlqYRKVCoRjZDx5OttOmb7XrzZbcdHgsYTwCjk2otT/R8OoTlFiT8TgGx9VmGQEHZxcQdKoBFis+fTArabqb53tcawlyAu2ooyrDk/LreLdCFq0KU/9yGEAPlpRmUrKqeOvz9xmZ91Ud9gbcBdPbKrIRH68gdWHK2VxZMf7FrFuuIemRhwII8Z+2LMyZ2BL9KerNdv/Qegrs7jjCYfgOohlK2AWjHgJ1ajYr3P1iMHUzQFWl/7T6yDB3cJ+DIPxhmQCoQjfcuv679cfi1oYu9tnsGJGlGaw91W7MQKE7paNNoVwzRwu+cjxZxcE8nwhr+9fHuX19s5gtMyJA0WGVD+J+ah0gImPBY6WEGDLLAxGmv1iGcciuBiK2NBaPxz0ojgN34MXROHurBphJWtvHBQY2DShJcxI0fmnn2LiaqqpH/N3FQ11Pe7l0xvksuyGb+jToGHnGDurh0F+GUFo9FFGCHeXcbDY5FbG8shMpC14uSCO8F20bpMNzoCiP0DAMYnUC+uqmgL8CLnjjpW7aRIsaIJUpXWaHh/ParNoVLcH9n4VjD4zjTNPjvcekhnrphx5m+2shDKcRcuVEuIhnS8a
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(56012099006)(18002099003)(22082099003)(11063799006)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bVhwNDVzZU9pbTNramN2dVhzRG9ueUNUQ1pLU21QQXNoZFYzTDF1cDFGNWJB?=
 =?utf-8?B?S1cvUFRZUmRXVkxRczZqM0RzQktDWUV4dmY3ZEhVWk5JcXlTVEplaDlCTGZ1?=
 =?utf-8?B?Q0tVT0pqY0hzMExVWmREWVhwMzNWSlRBL01FU0JJSFFFeFo5TTF3Z2ZzU0kr?=
 =?utf-8?B?ZDZ6NXIrNjlDWXEyVGZwUnF2c3pTY2kwREhHOGMrYUIyNE8raVVmVjFmZkQ3?=
 =?utf-8?B?VzVRMFVKem9XU1hvZXk0QUtaQkhRc0xuYWNBdG9kRXZUZkEvY1FCTEhZZkw5?=
 =?utf-8?B?QlBmc1F1K2NPMmd6MGhJczBYKzQ3T3V2ZjhFZktxeWtIcUJyNU4yd2hNQS94?=
 =?utf-8?B?QVUzVm1MdG0ydGlkL2JxZFVvdElyYWJyNTBpZHNBcjU2SlZPNnJ5S1h0Zkt0?=
 =?utf-8?B?aWJYYUo0cHFqd0xNdTNDNXZ3c1RjM0lNekswSWUwUGVyekJBa21oN0o0dE5V?=
 =?utf-8?B?eCtvYkxnMVhhb0hYRkRFSm1zZjhqRmoxT3QwSnBMSE9kK1Q4VnlzeGEyRVMz?=
 =?utf-8?B?cWdMeC9iTFQ1WTc1SFhSNXNESUZiYytoa21yY3BCNjJyWHdtSElpQXYzTUc1?=
 =?utf-8?B?Qjl0OXZ6UExUSGZscXBaN3l1eFhvaUhIZ0FuTEk1Rm5lR2UrZDhIeEZhY1U2?=
 =?utf-8?B?My83cHBiY1phLytuTUp4aVk0a0U0cDZaR2tLdEEvUXlXOXA0Mm9vajFqNkp5?=
 =?utf-8?B?MGx3MWlTb0tmYW1xM3BNdkpjUjA2MlFpaFdyMVByaUQrVHA4djA5NkNQY0s4?=
 =?utf-8?B?ZGY5RnZoV1U4bmw1Y1NaMDdhQm5qaTd4QTY3YU5Zd3AySlFGaFZGRHZnK1Yx?=
 =?utf-8?B?eHpUZXNHUzR0SDlDY0pVSWU1VmJweEVZb0NFeUkzczJrQmMwanVVelhXS1lE?=
 =?utf-8?B?cTZ2c3ROUnVhN2l2NVN6R3E5Tm52b3psdTl2ZHB2TmIyWEVTUnhSVVNpNnJS?=
 =?utf-8?B?RnlSeEtSL1l2NWpPVUtJWHZlOUFua0d4alI1YXRrYXZMZ1IzL0txZGhaS0hT?=
 =?utf-8?B?bGRMNVhKa1RMR3cwcVpvODAwc3RvOE9LZUhwL0NJUTdKemY0WExDdFlkdEJn?=
 =?utf-8?B?ODVYMlFjWEFIcGdkZWFhT2J4ejNEV0MxaGVaZjA0YjdzelJPV0NyejY1a0JK?=
 =?utf-8?B?WVZaTXFIaS81VzM2RnE4M3YwYiszNzhvZ2VpemdyYVMyZGtNY2NicklGaStQ?=
 =?utf-8?B?TnlJR2Vua3QxRGdZN0ZKTUp3Q0dVZnFaVk9MdHFUbnBCNWVnSVlhRDUxUjhs?=
 =?utf-8?B?dDVYZnFoMDFOSWhyT25mQlRqZlJwMlpwdHlNNGtQWkU0YzBBSjVGZFYxbUEr?=
 =?utf-8?B?M1RxamVhOFZFOTNUNXlucVozcy83a29Gbkd0dVpUYVgwMFVBQWNCd21EbDA2?=
 =?utf-8?B?b0h1a3NnaHQzN2hzdFBMVmpJaG5CNkdyekFGd2dzKzA3bVRnM05WSkw2WlV1?=
 =?utf-8?B?UVBJQmt6YzZGaVdnaWRKN3FrT2ZOMStHbjQrSUl4a3Ryd2NQUmxPdVhmaHli?=
 =?utf-8?B?YisrdG95R284SzlpN0RYREU2L25RRGpLeW13YmlMVWFzU3ZTY2dkSC9FZWNS?=
 =?utf-8?B?Z3pmYmNnMmwvYmxrcGtWZ0kxMy9WVW5DdVo2WEwzMkRaSC8yTEhKRmUrajZH?=
 =?utf-8?B?QTM0VmJicG4xZU42V1JFdFZsa0UzaiszRHlOQzVoY2x2bzViMkV3blhiZWR3?=
 =?utf-8?B?MXlzRTdDbEFYbEFNSU1PdFFXQ0lQVlJNSXpGeS85dTltWmE4eDNRZklEOGJp?=
 =?utf-8?B?b2s1UGErdjFpZllteGl2RnVLbjI3b3J6UjVqNTNQRE9rYyt2eDRuaWpENE1t?=
 =?utf-8?B?QThoTmU1MndQdmdkczA5YWtQcVFsNXZ6OE1JZnJMemNQRnJNMGVaVUhLTHZ2?=
 =?utf-8?B?dzdEZDBLNFRGTytHdlNFRUFEVzVGNS9Gb0NkQmRHZ0ptR0F6NmVzeW5MT2ZY?=
 =?utf-8?B?WG1uWGJxU2poY0M1MC9vVlR0MDZ4TUFDSmtYekQ1SUI1Wm1Wc0pCaUliekpM?=
 =?utf-8?B?b1kzR2hyM2ZRVkdKVmJKa3VuWFQrVTQ5VnJGYzFZQ2NBeWdielZlZnRacmhQ?=
 =?utf-8?B?QWIwS0VEclZOUlNCb244MGUzVW5kU3NDemh0N2psSTVYTUllYU5Wb1ZjYndi?=
 =?utf-8?B?d0lkdXF5TXAzNEhUWUlpbFRlNEhRbkR3NWRTMTAxbnpsOEFpeFpNckVtZ3RM?=
 =?utf-8?B?eFhqMEFoeTNQTk1mRDZrY0JoT3dERmZ1YnE3UlVrNHByM3dpR2dzYzdWN2h5?=
 =?utf-8?B?cXY2SHRrV0RiRmg4VnF2eFI2dHdSUGdCOGNUTTh0ZkdjS28rTFZ5RXhvOFBn?=
 =?utf-8?B?YkxNWUhjQ3F2RU5Sd1MxRnhkcUVXWVk1b1gxYWdpN2lzamh6Uk5BQT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 39054209-7e11-4659-9295-08dec1a4fa81
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 19:19:05.6578
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dTLceQpyQExzpQNasPPBzdw9roPPmeT/BJ29MXR8meROf3P0NrFjjIywMSaq8V/wwCDRk8YCZdAAQjKwtQN97A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7094
X-purgate-ID: tlsNG-bad1c0/1780514348-43D7FA53-75B02161/0/0
X-purgate-type: clean
X-purgate-size: 1652

Introduce __XEN__ guards to differentiate between hypervisor vs unit test
builds.  Also move numa_set_node() so it's outside the __XEN__ guards.  No
functional change intended.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/common/numa.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/xen/common/numa.c b/xen/common/numa.c
index ad75955a1622..8544a1598218 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -4,6 +4,7 @@
  * Adapted for Xen: Ryan Harper <ryanh@us.ibm.com>
  */
 
+#ifdef __XEN__
 #include <xen/init.h>
 #include <xen/keyhandler.h>
 #include <xen/mm.h>
@@ -13,6 +14,7 @@
 #include <xen/pfn.h>
 #include <xen/sched.h>
 #include <xen/softirq.h>
+#endif /* __XEN__ */
 
 static nodemask_t __initdata processor_nodes_parsed;
 static nodemask_t __initdata memory_nodes_parsed;
@@ -561,6 +563,12 @@ void __init numa_init_array(void)
     }
 }
 
+void numa_set_node(unsigned int cpu, nodeid_t node)
+{
+    cpu_to_node[cpu] = node;
+}
+
+#ifdef __XEN__
 #ifdef CONFIG_NUMA_EMU
 static unsigned int __initdata numa_fake;
 
@@ -661,11 +669,6 @@ void numa_add_cpu(unsigned int cpu)
     cpumask_set_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
 }
 
-void numa_set_node(unsigned int cpu, nodeid_t node)
-{
-    cpu_to_node[cpu] = node;
-}
-
 /* [numa=off] */
 static int __init cf_check numa_setup(const char *opt)
 {
@@ -830,3 +833,4 @@ static int __init cf_check register_numa_trigger(void)
     return 0;
 }
 __initcall(register_numa_trigger);
+#endif /* __XEN__ */
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 19:19:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 19:19:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327046.1592270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUr7S-00021s-QW; Wed, 03 Jun 2026 19:19:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327046.1592270; Wed, 03 Jun 2026 19: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 1wUr7S-00021h-N5; Wed, 03 Jun 2026 19:19:14 +0000
Received: by outflank-mailman (input) for mailman id 1327046;
 Wed, 03 Jun 2026 19:19:13 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wUr7Q-0001wN-Pb
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 19:19:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUr7P-007kOj-Vh
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 21:19:11 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a207e29-bab6-0a2a0a5309dd-0a2a450ad478-6
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:19:11 +0200
Received: from [52.101.53.18]
 (helo=BL0PR03CU003.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a207e2e-56b3-0a2a450a0019-346535124934-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:19:11 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by SJ2PR03MB7094.namprd03.prod.outlook.com (2603:10b6:a03:4ff::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 19:19:08 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 19:19: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=OgPNrW3fh37fRVfqPM9bw1v0ZazMTT8MzgKTJDkdTyxLRLTGOguWovPR0EKbq+AQBor2wFoR39FdS5jYqtGwWCfWPDLJY5SI1sPThRNbNiQsfeMhNs7uhoxgO2+TvhcojmI5lY+TLn1GxdMTwIpskmUViE17pVc0eznBVvxbT3Ii81Xi00dVAmzaxQtN9l8BHqPJb00tFU50NnviXAYoOfBQxEbV2gvEBh5STrv4iRlnutDAhGNK0BpS74LQpdlHrwFIXkkf5dd/BOvjrK/463cqRrxxkX8uwm1MzDemqGsOeDxKkhLkG9G4CayQhyUjxkGFFC8N/wR+D5dSBrrdcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VuMPM2yNgxJicMCMIIbVUagdOfGTRG/5BFsSd0BCNKg=;
 b=Gkkxr94AHjoDFdlzalVpxss+3kHqonPQ+ZiXMVHchXWxt7/opcqB7XlO46WwZDbHYGq69G6Nk7OMsgRqc6EVlrLaZqCdBrnJXnxSnYXjMV84i/qDGicQng9NksSos9ohSesGr2/KqU0ydTPYf+Nz10Cpu9G9GpfS60y9OHFY7TRyXvMlP6I2ynpP9u2ft0CoP4p1KISEFe/m8Pd+hR5/SmaDK8HrEdzN3kfVOVwEDPGVO9spo8bOI82H5k5kVoDjpCk/4ldw/8VYX2oLP1B31Bj86MV3zTiGroYPqWXQ+6mBTV7bI0i9EjCHbGyGTPItbcg7nMJGx9x8eeLewyyAoQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VuMPM2yNgxJicMCMIIbVUagdOfGTRG/5BFsSd0BCNKg=;
 b=UT0EIdRjOtbuSdGt2KTkkzWc3XFKPq8MFc65EG/oc8BCkFHfCFLiOw5d5nENeP+RYKXdiXNOwEZ6auN9+ED9BzUQIwpp5LKkADAqVq9/ADDrzt8ye7SvXnZkqNnFR0bry/LC8/IZSnUpy7UnLPvjbXOQjaPa5TUnW2nOX4wFFy0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH for-4.22 v2 4/5] tests/numa: add unit tests for NUMA setup logic
Date: Wed,  3 Jun 2026 21:18:35 +0200
Message-ID: <20260603191836.77955-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260603191836.77955-1-roger.pau@citrix.com>
References: <20260603191836.77955-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: BN9PR03CA0037.namprd03.prod.outlook.com
 (2603:10b6:408:fb::12) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|SJ2PR03MB7094:EE_
X-MS-Office365-Filtering-Correlation-Id: 0ac1ba9f-26b6-4088-bea2-08dec1a4fc16
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|56012099006|18002099003|22082099003|3023799007|11063799006|6133799003;
X-Microsoft-Antispam-Message-Info:
	3LQJLQD+lvT7LAfm/F82uXPbRSvmYghscyp12gH7OuijuvH621ApJeRkOtq4ulzAHuJ4Bc3CNa+t6jzZQFvkmYYiln5pYPQD0JwDpUJtouv866xNJpF5XO6PTafI3T8M6JWJZtIij8/ur+Qf1Sq/W8MJLJxqDyXJzfON/HkDYfjposXC2xZOvaYKZmKqGd2anoX1eBDZ9O4NWBX/ZNNHwNpxRFyFb5uAzk1e5idqI+lpGyu2FOYoQDlH8VXRzO6ulPj6EzJypcxeaARLmSd/MazjDh9V4gOYqdBGInROZUN7oII+w52BBP+rf7WrGIxpcD41lYZlPJW+TsIFPsiUhxD01RRUyfJ8nJupp23J6KqsLJSic8BsSspEMfOqTjbj+f7X6aMAntbeUbQV0Ve49pv66upiIqxel/V97tB0OUZ4S+1Qn2WWntTNHbqkoqVJ1OvV21CQxntv61PUz1gCKRUjIMD7FED8Q9Ayisj7XFJzmkEywTojiuUgl8NqmrzrWA7tFiuPcVBSijWqQFm6bIC3xXbSEG9HJCsDfHqC2nbEcRuCVL4cWHDBZai9Ip9sYfClAi6nqOVi6Fprzo12b5/4zrLa+24dk/aENKA3SSPu82HPvANddWe4XnqX3uQ3VodKSEtdPv+/slIPuLDkEECvi3r4fS4+ZTJnC/GrQUIzY68MqrYwkvlEawX81reI
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(56012099006)(18002099003)(22082099003)(3023799007)(11063799006)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cEQvdCtBM3NxWnMzRmNwbTlUR21vVndWOVhoT3VjQ1ZVR2FBK0pONHhUZkhX?=
 =?utf-8?B?WTUyTE1BRU5mUzBUL1BpaDFPNTFSV0RyNkVZeVJwa004TDNTemM0anpHR0Vq?=
 =?utf-8?B?ZjJRVjhpV0RRQXlpR3N4ODhPSTFZMkR1cWFGdTAvMkN2NHMvTWRjdElmZGtS?=
 =?utf-8?B?UUJTU0krWWZCK3FKOEpQUllheFdGQjhQeWt5SUdpRXVpSlZJSFhrc3BYV3p5?=
 =?utf-8?B?cWovdUJKOUtlQ2g4eUwrSVdkQUo0eFUzbjZPRFB5eHp3S2JPM1ljUWJXSndL?=
 =?utf-8?B?N1FzU0I0a3FnamNDZWZKQ0tBa1ZPeUhIenllK1I0RGF2VmczSk1MWmdKb0hT?=
 =?utf-8?B?bVVPV1lCdHFqMlEyclA3WTIxdkdOUk9JaUI5MmJhalMwWnZxN0wzMDFVV21M?=
 =?utf-8?B?UCtWWnNnQ1BQNnZIbUJpaTVSREpNNUQwbjZBRS92RGs4STNkZE5YSXBOVUxm?=
 =?utf-8?B?SU5paE4rVUE2Qm9RQVg5Mi9TTlJDdnNVUVdoMHhXb3lsa2dDUXE5czduQ3Y4?=
 =?utf-8?B?elEyTFNHS0hzNFJpUngxSmQyRXd4bmJoRXhnUkF3dStPc3ZoUi9ER1Q1djlv?=
 =?utf-8?B?MUFEQ3VsdVRVQXVJV29qSUZPY3lFbDc3UlRsSWY2KzRUeWZpaHJNaTcyMnQy?=
 =?utf-8?B?cjcyb2h1eE03THMySjg1VGJJZTZaVGFFT3NxbkJmWE1VL2drSnZIa2V3MENv?=
 =?utf-8?B?WVNPU1ArbkdDcTA2MjNCVmhJbnJMbFU3aURoZjRSZzZyb2pobnN6K3ZuSEl5?=
 =?utf-8?B?UGVZSU9vaThNRGs5alZVWUpIc2NZcU5FaW9iRFQ3SVhTSm9ETGxjSThtUjlY?=
 =?utf-8?B?MEJOK3JZTlM3a3cxWFdpRmxNOG9ieXpvVEYzVEl6Y3lFVisxTHpjd0NJQmFi?=
 =?utf-8?B?M0kvWm9aZ2dsUTI1ZysrelZuK3ZJV0JjQzg3cDZJYmpFa0lpY3FWRkZRZ3lK?=
 =?utf-8?B?dUpaTm1vZXBFZHZrUnFic3FXc3VpR2pOYVhHaDI5TDlGbHEzOEkwWGJ6dVhN?=
 =?utf-8?B?VFhuUEJwT2dJY241Sm95ZVp4V1NucTEyU2xRWCs2MHpCSXNnL1RKVWpZUzdR?=
 =?utf-8?B?U29lT1J4TjQ0MFlBMUNCbVBHeWZkUmcya3hzWWx4Sll4TVc0OVk1U2ZKa3No?=
 =?utf-8?B?NmlwR1U1cFlmRXlrOGhXanNTQUZ3MDYrR3dVQ1BiVHE3RDdPczhNN3hpR0c1?=
 =?utf-8?B?eitGczl6NTJCUW5QeUxFazNDYlNVL2JmQ1NydGtldCtuNmpBSXdhZ1E0Ykp6?=
 =?utf-8?B?NzBmZ2ZIWk1sbzZPdHNlMjIzUkU2WE8yb2IxYjFUM0VKd3B0MHBHKzFKZzBk?=
 =?utf-8?B?NUIwK3FvZGcrTTZBaVR0OFJXSTB3THZIL2NtZGxYYkREaWdKbHRWU3ZURDVj?=
 =?utf-8?B?dXlOSlhhVjhhMEFDUStZdUJSL3cvNTd6ZWljWVNLWm5QMXpXQUh5ckRXd1hn?=
 =?utf-8?B?YmsyR1J2cTY2TTRtbkIvbGV4L0hIaGE5SmhlTmpyMlFzS2pqYmdpN0JNNWwr?=
 =?utf-8?B?KzVPZGNIVFB3QjBhQlByWWtsMnI5YmJLMXJNQWJmUjlzS2ZhQWswdDdZMVlM?=
 =?utf-8?B?NDR0ODZ3V1J5WHdPbVJlNFB4T01aajRiNTZhZjljZE5nSDNnUi9IejBVdTBR?=
 =?utf-8?B?cFM3bmFtcXVMWGFZT2dEeHc5QjNtWjVMV3BJdUdGZWdSbjg1WHNycGgrcTlu?=
 =?utf-8?B?NTM1S0NTdWtoTjdkU3VGWE5OOGxnQ2poTk81ckRvRGdhT000US9EWlV5T0l4?=
 =?utf-8?B?ZDFlSU4wVWpNRjN3YnQwUE50eGgvcTdhb2RKRm42Wm1udGcyYkVFOGcvRWNO?=
 =?utf-8?B?K2VPVHlnYVk3SlRIMHdGaDRmTkVmdGtvbXJOVTd1VHpNYW9XazNPNEJtL0g3?=
 =?utf-8?B?TkQwbTZhUU9OY252eTIvcXV0aWxkaWRUaW55M2h6YWNKc2pyanlVTmMrOS9R?=
 =?utf-8?B?M1V2bUJ3MURsRXFiSnZDQVJlNGlEKzJkVFJ1OTF3cTYvZHVOcU9LY3lGREFP?=
 =?utf-8?B?UzYxVnN6blduTXpVSVF6QXRWTWwvSTJ1WkVFOHpuRTdRTWM1RzVtWWhDcWtE?=
 =?utf-8?B?c2toZ3ZYSVNidG9MVjBsQnJiRW9CejFIb1RHWk00ai9oS2xYNEN6SFNOMjFS?=
 =?utf-8?B?c2t5Mm1hTXNyM2NTRGxOd1dtcFVjdldHL3NKbVpBUzdscXo1UVNVdnNLbU5l?=
 =?utf-8?B?V3VVZzlJM1ByTURselRCYnhrWmQ2RlZzMk9zaFBQTllHVFVzMFVKcktRMVAv?=
 =?utf-8?B?MmVmbDFVY2lVdkpEalh4VzJaSXFMbmIwWU4rc3JxTGhGZkxEbmJhZ1VXdHBp?=
 =?utf-8?B?QkYwcXkvS3JGWk54WlVLdUpBU1lNZ3dpajh2eDNkZ0tMSnl2MGd3QT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0ac1ba9f-26b6-4088-bea2-08dec1a4fc16
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 19:19:08.3106
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: E0rVSEKBYoBdHELM5d47b/JRg/1qcsAbdSFBOl9+b38VZUlmk7O9N6MjqLtER/dxwqXPgp8Yiow3K22EeY+7cA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7094
X-purgate-ID: tlsNG-4011c0/1780514351-70F618B7-807E16BB/0/0
X-purgate-type: clean
X-purgate-size: 15063

NUMA setup, like PDX, requires certain amount of logic to configure the
internal structures and parameters for NUMA operation.  Introduce some very
basic testing that allows building and testing NUMA setup logic in as a
user-space unit test.  This allows feeding synthetic memory affinity and
map to the logic, allowing to reproduce bugs that would otherwise need
access to real systems with such a configuration.

For the time being introduce a single test case, based on a known working
NUMA setup for an AMD Turin system.  Also the testing after setup is
currently limited to ensuring the start and end RAM region addresses fall
into a correctly setup memory block.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
Changes since v1:
 - Remove unneeded !!.
 - Remove redundant parentheses around macro parameters.
---
 tools/tests/Makefile         |   1 +
 tools/tests/numa/.gitignore  |   2 +
 tools/tests/numa/Makefile    |  47 ++++++++
 tools/tests/numa/harness.h   | 184 +++++++++++++++++++++++++++++
 tools/tests/numa/test-numa.c | 222 +++++++++++++++++++++++++++++++++++
 5 files changed, 456 insertions(+)
 create mode 100644 tools/tests/numa/.gitignore
 create mode 100644 tools/tests/numa/Makefile
 create mode 100644 tools/tests/numa/harness.h
 create mode 100644 tools/tests/numa/test-numa.c

diff --git a/tools/tests/Makefile b/tools/tests/Makefile
index 6477a4386dda..fc0ed8091510 100644
--- a/tools/tests/Makefile
+++ b/tools/tests/Makefile
@@ -4,6 +4,7 @@ include $(XEN_ROOT)/tools/Rules.mk
 SUBDIRS-y :=
 SUBDIRS-y += domid
 SUBDIRS-y += mem-claim
+SUBDIRS-y += numa
 SUBDIRS-y += paging-mempool
 SUBDIRS-y += pdx
 SUBDIRS-y += rangeset
diff --git a/tools/tests/numa/.gitignore b/tools/tests/numa/.gitignore
new file mode 100644
index 000000000000..0710a767f400
--- /dev/null
+++ b/tools/tests/numa/.gitignore
@@ -0,0 +1,2 @@
+/numa.h
+/test-numa
diff --git a/tools/tests/numa/Makefile b/tools/tests/numa/Makefile
new file mode 100644
index 000000000000..5235f9d6297f
--- /dev/null
+++ b/tools/tests/numa/Makefile
@@ -0,0 +1,47 @@
+XEN_ROOT=$(CURDIR)/../../..
+include $(XEN_ROOT)/tools/Rules.mk
+
+TARGETS := test-numa
+
+.PHONY: all
+all: $(TARGETS)
+
+.PHONY: run
+run: $(TARGETS)
+ifeq ($(CC),$(HOSTCC))
+	set -e;             \
+	for test in $? ; do \
+		./$$test ;  \
+	done
+else
+	$(warning HOSTCC != CC, will not run test)
+endif
+
+.PHONY: clean
+clean:
+	$(RM) -- *.o $(TARGETS) $(DEPS_RM) numa.h
+
+.PHONY: distclean
+distclean: clean
+	$(RM) -- *~
+
+.PHONY: install
+install: all
+	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC)/tests
+	$(INSTALL_PROG) $(TARGETS) $(DESTDIR)$(LIBEXEC)/tests
+
+.PHONY: uninstall
+uninstall:
+	$(RM) -- $(patsubst %,$(DESTDIR)$(LIBEXEC)/tests/%,$(TARGETS))
+
+numa.h: $(XEN_ROOT)/xen/include/xen/numa.h
+	sed -e '/^#[[:space:]]*include/d' <$< >$@
+
+CFLAGS += -D__XEN_TOOLS__
+CFLAGS += $(APPEND_CFLAGS)
+CFLAGS += $(CFLAGS_xeninclude)
+
+test-numa: test-numa.c numa.h
+	$(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$*.o) -o $@ $< $(APPEND_CFLAGS)
+
+-include $(DEPS_INCLUDE)
diff --git a/tools/tests/numa/harness.h b/tools/tests/numa/harness.h
new file mode 100644
index 000000000000..9eec77f31402
--- /dev/null
+++ b/tools/tests/numa/harness.h
@@ -0,0 +1,184 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Unit tests for NUMA setup.
+ *
+ * Copyright (C) 2026 Cloud Software Group
+ */
+
+#ifndef _TEST_HARNESS_
+#define _TEST_HARNESS_
+
+#include <assert.h>
+#include <errno.h>
+#include <inttypes.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <xen-tools/bitops.h>
+#include <xen-tools/common-macros.h>
+
+#define CONFIG_DEBUG
+#define CONFIG_NUMA
+#define CONFIG_NR_NUMA_NODES 64
+#define NR_CPUS 256
+#define MAX_RANGES 128
+#define PADDR_BITS 52
+
+#define __init
+#define __initdata
+#define __ro_after_init
+#define __read_mostly
+
+#define printk printf
+#define XENLOG_INFO ""
+#define XENLOG_DEBUG ""
+#define XENLOG_WARNING ""
+#define KERN_INFO ""
+#define KERN_ERR ""
+#define KERN_WARNING ""
+#define KERN_DEBUG ""
+
+#define PAGE_SHIFT    12
+/* Some libcs define PAGE_SIZE in limits.h. */
+#undef  PAGE_SIZE
+#define PAGE_SIZE     (1L << PAGE_SHIFT)
+#define MAX_ORDER     18 /* 2 * PAGETABLE_ORDER (9) */
+
+#define PFN_DOWN(x)   ((x) >> PAGE_SHIFT)
+#define PFN_UP(x)     (((x) + PAGE_SIZE-1) >> PAGE_SHIFT)
+
+#define paddr_to_pfn(pa)  ((unsigned long)((pa) >> PAGE_SHIFT))
+#define mfn_to_pdx(mfn)   (mfn)
+#define paddr_to_pdx(pa)  ((pa) >> PAGE_SHIFT)
+#define mfn_to_maddr(mfn) ((mfn) << PAGE_SHIFT)
+
+#define ASSERT assert
+#define ASSERT_UNREACHABLE() assert(0)
+
+/* For the purposes of the testing assume arch NID == Xen NID. */
+#define numa_node_to_arch_nid(n) (n)
+
+typedef uint64_t paddr_t;
+#define PRIpaddr "016" PRIx64
+
+typedef unsigned long mfn_t;
+typedef uint8_t nodeid_t;
+
+#define __set_bit set_bit
+#define __clear_bit clear_bit
+
+static inline unsigned int find_next_bit(
+    const unsigned long *addr, unsigned int size, unsigned int off)
+{
+    unsigned int i;
+
+    ASSERT(size <= BITS_PER_LONG);
+
+    for ( i = off; i < size; i++ )
+        if ( *addr & (1UL << i) )
+            return i;
+
+    return size;
+}
+
+#define find_first_bit(b, s) find_next_bit(b, s, 0)
+
+/* Minimal cpumask support. */
+typedef struct cpumask{ DECLARE_BITMAP(bits, NR_CPUS); } cpumask_t;
+
+#define cpumask_clear_cpu(c, m) clear_bit(c, (m)->bits)
+
+/* Define the nodemask helpers used. */
+typedef struct nodemask{ DECLARE_BITMAP(bits, CONFIG_NR_NUMA_NODES); } nodemask_t;
+
+#define node_set(node, dst) set_bit(node, (dst).bits)
+
+#define first_node(n) __first_node(&(n), CONFIG_NR_NUMA_NODES)
+static inline int __first_node(const nodemask_t *srcp, unsigned int s)
+{
+    return min(s, find_next_bit(srcp->bits, s, 0));
+}
+
+#define next_node(n, m) __next_node(n, &(m), CONFIG_NR_NUMA_NODES)
+static inline int __next_node(unsigned int n, const nodemask_t *srcp,
+                              unsigned int s)
+{
+    return min(s, find_next_bit(srcp->bits, s, n + 1));
+}
+
+#define nodes_or(dst, src1, src2) \
+    bitmap_or((dst).bits, (src1).bits, (src2).bits, CONFIG_NR_NUMA_NODES)
+
+static inline bool nodemask_test(unsigned int node, const nodemask_t *dst)
+{
+    return test_bit(node, dst->bits);
+}
+
+#define node_set_online(node)	   set_bit(node, node_online_map.bits)
+
+#define cycle_node(n, src) __cycle_node(n, &(src), MAX_NUMNODES)
+static inline int __cycle_node(int n, const nodemask_t *maskp,
+                               unsigned int nbits)
+{
+    unsigned int nxt = __next_node(n, maskp, nbits);
+
+    if ( nxt == nbits )
+        nxt = __first_node(maskp, nbits);
+
+    return nxt;
+}
+
+#define for_each_node_mask(node, mask)                  \
+    for ( (node) = first_node(mask);                    \
+          (node) < MAX_NUMNODES;                        \
+          (node) = next_node(node, mask) )
+
+/*
+ * Dummy helper to satisfy allocate_cachealigned_memnodemap(), the memory
+ * allocation is instead done in vmap_contig().
+ */
+static inline mfn_t alloc_boot_pages(unsigned long nr, unsigned long align)
+{
+    return 0;
+}
+
+static inline void *vmap_contig(mfn_t mfn, unsigned int nr)
+{
+    assert(!mfn);
+    return calloc(PAGE_SIZE, nr);
+}
+
+static inline void panic(const char *msg)
+{
+    printf("%s\n", msg);
+    abort();
+}
+
+/* Dummy implementations to satisfy the build. */
+static inline bool arch_numa_disabled(void)
+{
+    return false;
+}
+
+static inline void numa_fw_bad(void) { }
+
+static inline bool arch_numa_unavailable(void)
+{
+    return false;
+}
+
+#include "numa.h"
+
+#endif
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/tests/numa/test-numa.c b/tools/tests/numa/test-numa.c
new file mode 100644
index 000000000000..bced68d4d7f1
--- /dev/null
+++ b/tools/tests/numa/test-numa.c
@@ -0,0 +1,222 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Unit tests for NUMA setup.
+ *
+ * Copyright (C) 2026 Cloud Software Group
+ */
+
+#include "harness.h"
+
+static paddr_t mem_hotplug;
+unsigned int __read_mostly nr_cpu_ids = NR_CPUS;
+
+#include "../../xen/common/numa.c"
+
+static void numa_reset_state(void)
+{
+    bitmap_clear(processor_nodes_parsed.bits, CONFIG_NR_NUMA_NODES);
+    bitmap_clear(memory_nodes_parsed.bits, CONFIG_NR_NUMA_NODES);
+    bitmap_clear(memblk_hotplug, NR_NODE_MEMBLKS);
+    memset(numa_nodes, 0, sizeof(numa_nodes));
+    memset(node_memblk_range, 0, sizeof(node_memblk_range));
+    memset(memblk_nodeid, 0, sizeof(memblk_nodeid));
+    memset(node_data, 0, sizeof(node_data));
+    memset(node_to_cpumask, 0, sizeof(node_to_cpumask));
+    memset(cpu_to_node, NUMA_NO_NODE, sizeof(cpu_to_node));
+    num_node_memblks = 0;
+    memnode_shift = 0;
+    memnodemapsize = 0;
+    if ( memnodemap != _memnodemap )
+        free(memnodemap);
+    memnodemap = NULL;
+    bitmap_clear(node_online_map.bits, CONFIG_NR_NUMA_NODES);
+    node_set(1, node_online_map);
+}
+
+struct mem_affinity {
+    /* Ranges are defined as [start, end]. */
+    paddr_t start, end;
+    unsigned int nid;
+};
+
+struct mem_range {
+    /* Ranges are defined as [start, end]. */
+    paddr_t start, end;
+};
+
+const static struct mem_range *ram;
+
+int arch_get_ram_range(unsigned int idx, paddr_t *start, paddr_t *end)
+{
+    if ( idx >= MAX_RANGES || !ram[idx].end )
+        return -ENOENT;
+
+    *start = ram[idx].start;
+    *end = ram[idx].end + 1;
+
+    return 0;
+}
+
+static void print_ranges(const struct mem_affinity *r)
+{
+    unsigned int i;
+
+    printf("Affinity ranges:\n");
+    for ( i = 0; i < MAX_RANGES; i++ )
+    {
+        if ( !r[i].end )
+            break;
+
+        printf(" NID %u [%" PRIpaddr ", %" PRIpaddr "]\n",
+               r[i].nid, r[i].start, r[i].end);
+    }
+
+    printf("RAM ranges:\n");
+    for ( i = 0; i < MAX_RANGES; i++ )
+    {
+        if ( !ram[i].end )
+            break;
+
+        printf(" [%" PRIpaddr ", %" PRIpaddr "]\n",
+               ram[i].start, ram[i].end);
+    }
+}
+
+static bool test_paddr(paddr_t addr)
+{
+    mfn_t mfn = PFN_DOWN(addr);
+    unsigned int idx = mfn >> memnode_shift;
+    unsigned int nid;
+
+    if ( idx >= memnodemapsize )
+    {
+        printf("Fail: MFN %lx -> IDX %u outside of memnodemap range\n",
+               mfn, idx);
+        return false;
+    }
+
+    nid = memnodemap[idx];
+    if ( nid >= MAX_NUMNODES )
+    {
+        printf("Fail: MFN %lx -> NID %u >= MAX_NUMNODES (%u)\n",
+               mfn, nid, MAX_NUMNODES);
+        return false;
+    }
+
+    if ( !node_data[nid].node_spanned_pages )
+    {
+        printf("Fail: MFN %lx -> NID %u without spanned pages\n",
+               mfn, nid);
+        return false;
+
+    }
+
+    if ( !node_data[nid].node_spanned_pages )
+    {
+        printf("Fail: MFN %lx -> NID %u without spanned pages\n",
+               mfn, nid);
+        return false;
+
+    }
+
+    if ( !node_data[nid].node_spanned_pages )
+    {
+        printf("Fail: MFN %lx outside NID range [%013lx, %013lx]\n",
+               mfn, node_data[nid].node_start_pfn,
+               node_data[nid].node_start_pfn +
+               node_data[nid].node_spanned_pages - 1);
+        return false;
+    }
+
+    return true;
+}
+
+int main(int argc, char **argv)
+{
+    static const struct {
+        struct mem_affinity affinity[MAX_RANGES];
+        struct mem_range ram[MAX_RANGES];
+    } tests[] = {
+        /* AMD Turin system. */
+        {
+            .affinity = {
+                { .nid = 0, .start = 0x00000000000ULL, .end = 0x0000009ffffULL },
+                { .nid = 0, .start = 0x000000c0000ULL, .end = 0x000afffffffULL },
+                { .nid = 0, .start = 0x00100000000ULL, .end = 0x0c04fffffffULL },
+                { .nid = 1, .start = 0x0c050000000ULL, .end = 0x0fc4fffffffULL },
+                { .nid = 1, .start = 0x10000000000ULL, .end = 0x183ffffffffULL },
+            },
+            .ram = {
+                { .start = 0x00000000000ULL, .end = 0x0000009ffffULL },
+                { .start = 0x00000100000ULL, .end = 0x0007590ffffULL },
+                { .start = 0x000759d1000ULL, .end = 0x00075a0ffffULL },
+                { .start = 0x00076000000ULL, .end = 0x00094c73fffULL },
+                { .start = 0x0009b5ff000ULL, .end = 0x0009fff9fffULL },
+                { .start = 0x0009ffff000ULL, .end = 0x0009fffffffULL },
+                { .start = 0x00100010000ULL, .end = 0x0fc4fffffffULL },
+                { .start = 0x10000000000ULL, .end = 0x183f7ffffffULL },
+                { .start = 0x183f8800000ULL, .end = 0x183faabffffULL },
+            },
+        },
+    };
+    int ret_code = EXIT_SUCCESS;
+
+    /* Dummy firmware interface provider name, use TST for TEST. */
+    numa_fw_nid_name = "TST";
+
+    for ( unsigned int i = 0 ; i < ARRAY_SIZE(tests); i++ )
+    {
+        paddr_t min = ~(paddr_t)0, max = 0;
+        unsigned int j;
+
+        numa_reset_state();
+
+        ram = tests[i].ram;
+
+        for ( j = 0;
+              j < ARRAY_SIZE(tests[i].affinity) && tests[i].affinity[j].end;
+              j++ )
+        {
+            const struct mem_affinity *affinity = &tests[i].affinity[j];
+            paddr_t length = affinity->end - affinity->start + 1;
+
+            if ( !numa_update_node_memblks(affinity->nid, affinity->nid,
+                                           affinity->start, length, false) )
+            {
+                printf("Fail to add NID %u [%" PRIpaddr ", %" PRIpaddr "]\n",
+                        affinity->nid, affinity->start, affinity->end);
+                ret_code = EXIT_FAILURE;
+                continue;
+            }
+
+            min = min(min, affinity->start);
+            max = max(max, affinity->end);
+        }
+
+        if ( !numa_process_nodes(min, max + 1) )
+        {
+                printf("Unable to process nodes\n");
+                print_ranges(tests[i].affinity);
+                ret_code = EXIT_FAILURE;
+                continue;
+        }
+
+        for ( j = 0;
+              j < ARRAY_SIZE(tests[i].ram) && tests[i].ram[j].end;
+              j++ )
+            if ( !test_paddr(tests[i].ram[j].start) ||
+                 !test_paddr(tests[i].ram[j].end) )
+                ret_code = EXIT_FAILURE;
+    }
+
+    return ret_code;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 19:19:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 19:19:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327048.1592279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUr7V-0002Jh-8W; Wed, 03 Jun 2026 19:19:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327048.1592279; Wed, 03 Jun 2026 19:19: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 1wUr7V-0002JM-4H; Wed, 03 Jun 2026 19:19:17 +0000
Received: by outflank-mailman (input) for mailman id 1327048;
 Wed, 03 Jun 2026 19:19:16 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wUr7U-0002FY-0M
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 19:19:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUr7T-00GtBE-DM
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 21:19:15 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a207e30-5cb7-0a2a0a5109dd-0a2a4505df40-4
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:19:15 +0200
Received: from [52.101.43.51]
 (helo=SJ2PR03CU001.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a207e31-aaa8-0a2a45050019-34652b33fb25-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:19:15 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by SJ2PR03MB7094.namprd03.prod.outlook.com (2603:10b6:a03:4ff::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 19:19:11 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026
 19:19: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=kYqvcQg2khEAWcwVjHgNAdxMFyRUsF65euyJgbVeM3j4STQt/Z9AYt6CdlSlzMQTyqh5ktgKNUBFd2x44Vk4xJcjTuaM+c6mgfjeT2dSe1lYRIT+toH+NGhJnmPn3IGoXKwSbLCfJL8OX+y+FTYzJ9Kspqn3a+O/YeM0owW99/9ORZjSDUzz7AQi42Z1F0UDQZqy29rKV1foLnpV95gL/GDO7YMnUko/BhauB161e2TzUerwt7DThw51t/Tsv9DHNuaa7m/AnqyzS4uBPsLqyjy8nIyo0ph8CHgx3A3y+fSOj7aCyNJjEMODAPq2JTkgeu/7w+DHw+t8eeUp1zIt6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OlBDS5/WxilHHnMTim1lkP8xSg+HVEVyGvnZB+I2/d0=;
 b=W9vdbhHHHv2ym89bKDsVbqFj/37gFLYWJvGMdO4W/mWccBoqzSv7+4CeuXFAUON8t/Z/ad84EFqCxfzZ/0dPscimJv0LfPPH5+XOd7Brtj68NSI2WJz4mKSiWBfxikB09pz9pOxth45mZGwzVmvUZgdgqqgILoiF3tYiWw5mSxTl9ZqdblGhuzJbeBD5KisIudr9hHYcZ31IXmEVZFsR/voMWSaBQZyXfqbOG+n1A535NwgEeXl8XH/qKj8jLW2aZLSbxBGGuXzApN2E7c0+lB2altbGXiO+zR+AM4JAqQmsa/vDBwpeguddcySta49UeRScZDqnfb2N7D+33Fjv8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OlBDS5/WxilHHnMTim1lkP8xSg+HVEVyGvnZB+I2/d0=;
 b=dkBwB/UF2ZhwMIiSAe2y7kLo8ou59mWbQV4XnWh6o5jXWQC9JT5vuplO7QpGjvnFiEJQXJJk4EoZqlKnm/lND5C4tdKU9VrY2y5v+xswSWs0zA6G6fyAe/h3Fyiv6tVa14Q0GH+K+nyafWA+oabNs7z1FCF3KAdTxSedVHKQFjA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	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>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH for-4.22 v2 5/5] xen/numa: fix setup of non-aligned memory affinity ranges
Date: Wed,  3 Jun 2026 21:18:36 +0200
Message-ID: <20260603191836.77955-6-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260603191836.77955-1-roger.pau@citrix.com>
References: <20260603191836.77955-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: BN9PR03CA0220.namprd03.prod.outlook.com
 (2603:10b6:408:f8::15) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|SJ2PR03MB7094:EE_
X-MS-Office365-Filtering-Correlation-Id: b3906853-c3df-48b3-e92d-08dec1a4fe0b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|56012099006|18002099003|22082099003|11063799006|6133799003;
X-Microsoft-Antispam-Message-Info:
	95HHjkClq7DlH8/4DAOCo3TneutDI2dTh2K2XA4jkMGT6KsMYxxac6iRgBocDs5RDS+8xN5B4OMxejmYWG4AdnyZCJJBqDj8nehAYoU26jpHKfXcaCbv3Hoojtg9mqrgdpSSCVxOeRDHbv+wQWXESm3FMsKENYj3mEvgC3eZOgyACpAmKFX3Fa7WobE2Z2AJQdI3OYoOzRg4ApI/gvWI+dgowYCmWvurcGg9V7ef7kDfkEcfsr5MWdo4lz8QgXl+dXAwRpHEeGpr0ebZhv7aCYUaxP0Gqx7AfZJI8NW19ORkw4ykS+y1wLiDx9dVkhhN5USMpqtf93OiTSKwVtVB5weB3jpDAVGAUXlN7X4Z5VZT+PCuu/aKXdMufAZvTByBqEdM6SLKjzQX2NnL7Il1SDEeg4hY9kWjpgY9remCZ4Ftg/Q+MLrlTxElJFY57D4dk1hoCZXHwV6vaYS0xoTMw/jT1iNo5U+7Dx1m/Qx4sg5u5MEImyqlyMDmMfLJuz07plxhcGvZM2q9GMWqQo1UWa9Rqk5RvQJw5zG5li3rnGv7JECuEr/WRc3IySuDWDCsjWlO0dqJdrcEbDPQowalIS7V0oPmvHwk2PCCEiMlCYfroNI7z9MsrRzIXX2GMCbXNJ+c/lmfpsyyoP07FNPjxOfCny5YZ7R5O3vVBfC4XRkwS/420vqcg2Ow/fLlzJ3e
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(56012099006)(18002099003)(22082099003)(11063799006)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N29uQlowbExpTGpOZVBuaTIwWFJlbGxvV0wrUGtFbkluRW5GWUQwRWgycys5?=
 =?utf-8?B?RVFHZWU3SlNYNGdPSjltN3lTQ0RKRzF5Q1VuVGdlSldGYXFDRFVuWmc2K2hj?=
 =?utf-8?B?a1hxM1RwWW5ZeWVMeUxPblk2OGU4KzhFQ1ZncHFQU3FDSHk4NjdQT1pjMzhi?=
 =?utf-8?B?QWJwcVI3emthcGwxcFNRaWt0OUZaVFVvNXNUaHkzU1dkWUJNL2wrU29vVXc3?=
 =?utf-8?B?UDAzejBYU0g4OE1iTWc3QWZvazNDUG5PMi9EdTV3QTlaanB4NjVVNGgxWnZK?=
 =?utf-8?B?NnR2QWdnSzVVaXRXM1ZKazRTQTZiK0FOUkFhTGNqaWtlRWU4ZmhDSlVaT2kv?=
 =?utf-8?B?b0dUQzdyZWFMVmE0b0lTd1p1R0tDcExSZmZvdE1kcHpaNzVqTFFnMnpOUUJH?=
 =?utf-8?B?bHpNY0dhK1U2aTcvUk1ZYkMvVnQyYTlZOVlhRUExejlheWVlS3o0VWtHTWJL?=
 =?utf-8?B?cENUTzRBUDh0NEJWRDJvNXJEd21RZHUrMTVoSU1KTGNVMkRQT25pN080cnV3?=
 =?utf-8?B?dUFjSngwemRMeVh6ZGg5UFVYekNVTG1IdGx4dDNHUXZ5VnVrNU45SVZLM0Vi?=
 =?utf-8?B?TFRWZDVqbnhiTVk4bjYrK1RZdTBDOW4zNW80U0lndWdNSVFkcnB4b2poWTE5?=
 =?utf-8?B?Smw0cVZOc2VGcW5oOHFJeTMvUDRrZXFTMGRGMmpNNmQyR2tvRE5kL1BkbTUz?=
 =?utf-8?B?ek9WRFVwTEZ3MzhGK09wZ0ZRRG9OVHFZYy9CWE0yTGJxdXB4dkVvZDI0bys5?=
 =?utf-8?B?dWkyamhDbzhqNGdNT1JYNmljMDJaS2lCVHBHZVRHMXhhOU5YTEVUTEFxMDdB?=
 =?utf-8?B?VStlcUx3ZEFYTVlicWFNUmVnQWp3K1BaT3V0S05VblRlSTZwVGxqN2kwdUlr?=
 =?utf-8?B?cUJlcXpxMmx5cVJzWXpjdSt0elVkMDA1bDU0ZEkxdm91R1R4VnpDTmZZU091?=
 =?utf-8?B?TEp4b3VleE95RE83TmNDbnE3RjZHY1JmMDl5MWh2akFWdkxvWnI3MzcxLzlX?=
 =?utf-8?B?OTgvaWhoRng5S3BqaUo0SlZXbkFOUDI0V3ZSYWM0eEJNMEpiS3Vkam93TXYw?=
 =?utf-8?B?eU1obzRhMVJjclZncUgycnFycFRzWHgyNDNzdGJtT0NUQzJiZXRoVHBPZ1Nk?=
 =?utf-8?B?MmlBM3ZRUTJsWmZSbUwrVkRSSENmODlmY3J6MjRvZmhXNnJ0N0dnb012Wnd6?=
 =?utf-8?B?UytWWTVpOGdiUlJWWHhGY3dWbVZXS2p2UkkrRzNqUHl6clFheW9Zak5GSWNX?=
 =?utf-8?B?OVN3TEZ5NWVVSzNjYThxRUs1cmlzTTRoNVNOTUp0Q2FlVEp5MWFIcytFRzZ6?=
 =?utf-8?B?WUVndjRMOUY0YnNCNVJSWWJkL2tNb3BydEJMMDdCL2ZnSnowVzhaYkFlYlFq?=
 =?utf-8?B?NFFhemRHWUlMTHp6UXI1UG1aQmVPTnFUZzJyZitYRVhjNGdGbUxtWEdQbklz?=
 =?utf-8?B?VVVLV2xybnV0cVF6Z1NBWm5nQUZvZG5yWndYSk5iNnFyZmh3UnpFazd6ZVk3?=
 =?utf-8?B?OGdkU0FHc1hLNG9FTFdRd2M4YU44WTdkTjErSW55SW54bWRDRHV1YWloaTZz?=
 =?utf-8?B?TjhSSFk0MG9VRWVDd3VSSGZkZVc3Q0s1OForVUI1L2hxaFhna25FQ3FySU44?=
 =?utf-8?B?bFhQanA2R1JYWjFSVDRDVHBJcGRrUjVweDlKNURvT0hvUzJXR0diMUJIcjlC?=
 =?utf-8?B?ODk0cHUrM2VEcHJybUpseDRCa1kxeXkyVzFNQ3kxQmF5R01jOFQ0dks3bHpG?=
 =?utf-8?B?Sk9vekdzM05URXJ5S1l0Y1I1cTdpT3B2eUZGNXJQajdlSEhHeTFGSmQyeWpZ?=
 =?utf-8?B?ZHBET2hQVEd0UmN1YnNnaURnTE1IV2tLOHMvR1RaMkpqTVJJVXhyeTJqMTBt?=
 =?utf-8?B?MkJqdks0N2UyZ0loamoyblM0RDdVcERaOVo3V1FVUC9pa1hlb2NQSlpqY3o1?=
 =?utf-8?B?b2xrd0lUTWNLL3hMN2FicWc0QU0zdkFJSm9rMjZIMk4vNDUxM1pwRDF3d25q?=
 =?utf-8?B?enBCVkRPZ2M5aU1XamRvRW9uYXJNa3I4Z21vdzZ5TE1XUmYvRjhEVUgvRFky?=
 =?utf-8?B?V256aVEvTWpDM3lvT0lEYXZLT2hWMkFMbXdhajlCN2hXTkZJQkVualdmd1Fa?=
 =?utf-8?B?TVQvaTlGalEvV0VYaHpHZmxuU2tVdW55VXg3bW83WFBWN3hmY2s1cnJyOXpz?=
 =?utf-8?B?Z0RMWkU4c3FCTHdoOVk1MXNzb21DaDBWNFFIVDFKQVVJRHQxaWI2VStxTHNJ?=
 =?utf-8?B?cVgyb3Fza3NxQnFpWmowY2w3YlAwWk5Td20zT1krQkVaMmpkaEdxMjlEYzR3?=
 =?utf-8?B?R1NoTlRad0w4aTk2Y21KWHQ2ejZSZ0UvVTBiVXhRM3d0YnVSYTBTQT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b3906853-c3df-48b3-e92d-08dec1a4fe0b
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 19:19:11.6237
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6ijBlQAtEkp6dHK4AxrGlNrf+2CDKSXmiwWjo8xcXH0fE8xWy7U7hj5jK8Xk8SH/XP+iv5HDEQxcxsbS+5zNPQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7094
X-purgate-ID: tlsNG-c201ff/1780514355-E338A443-D7E8248B/0/0
X-purgate-type: clean
X-purgate-size: 5490

The logic to populate memnodemap in populate_memnodemap() assumes that all
ranges are aligned to the hash shift, this however is only true for the
first address in a memory affinity node.  Any subsequent ranges belonging
to the same node might not be aligned to the hash shift value.

Such lack of alignment causes issues to the logic in populate_memnodemap(),
as then the tail of the range might not be properly accounted for and setup
in memnodemap.  Fix this by forcing the start address of all regions to
be aligned to the hash shift; if such alignment causes a region overlap it
would always be between regions on the same node, and hence will never
cause setup issues of the memnodemap array.

Introduce two additional test cases to the user-space NUMA setup unit
testing, first test case is the native memory affinity and memory map of
the system where this issue was found, second test case is a simplification
to demonstrate the original problem more clearly.

Fixes: 1666086b0044 ("x86/NUMA: improve memnode_shift calculation for multi node system")
Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes since v1:
 - Do the rounding after the checking.
---
 tools/include/xen-tools/common-macros.h |  1 +
 tools/tests/numa/test-numa.c            | 45 +++++++++++++++++++++++++
 xen/common/numa.c                       |  6 ++++
 3 files changed, 52 insertions(+)

diff --git a/tools/include/xen-tools/common-macros.h b/tools/include/xen-tools/common-macros.h
index 9e2799178235..88b4a0e5a693 100644
--- a/tools/include/xen-tools/common-macros.h
+++ b/tools/include/xen-tools/common-macros.h
@@ -69,6 +69,7 @@
 #endif
 
 #define ROUNDUP(x, a) (((x) + (a) - 1) & ~((a) - 1))
+#define ROUNDDOWN(x, a) ((x) & ~((a) - 1))
 
 #define MASK_EXTR(v, m) (((v) & (m)) / ((m) & -(m)))
 #define MASK_INSR(v, m) (((v) * ((m) & -(m))) & (m))
diff --git a/tools/tests/numa/test-numa.c b/tools/tests/numa/test-numa.c
index bced68d4d7f1..8122e63a88ed 100644
--- a/tools/tests/numa/test-numa.c
+++ b/tools/tests/numa/test-numa.c
@@ -158,6 +158,51 @@ int main(int argc, char **argv)
                 { .start = 0x183f8800000ULL, .end = 0x183faabffffULL },
             },
         },
+        /* System with unaligned affinity memblock. */
+        {
+            .affinity = {
+                { .nid = 0, .start = 0x00000000000ULL, .end = 0x000afffffffULL },
+                { .nid = 0, .start = 0x00100000000ULL, .end = 0x0fc4fffffffULL },
+                { .nid = 0, .start = 0x10000000000ULL, .end = 0x103ffffffffULL },
+                { .nid = 1, .start = 0x10400000000ULL, .end = 0x203ffffffffULL },
+            },
+            .ram = {
+                { .start = 0x00000000000ULL, .end = 0x0000009ffffULL },
+                { .start = 0x00000100000ULL, .end = 0x000165bffffULL },
+                { .start = 0x00016600000ULL, .end = 0x0001aa1dfffULL },
+                { .start = 0x0001aa1f000ULL, .end = 0x0001aa53fffULL },
+                { .start = 0x0001aab8000ULL, .end = 0x0001aac6fffULL },
+                { .start = 0x0001aacc000ULL, .end = 0x0006f3fefffULL },
+                { .start = 0x00075dff000ULL, .end = 0x00075dfffffULL },
+                { .start = 0x00076000000ULL, .end = 0x000a7ffffffULL },
+                { .start = 0x00100010000ULL, .end = 0x0fc43ffffffULL },
+                { .start = 0x0fc45000000ULL, .end = 0x0fc47ffffffULL },
+                { .start = 0x0fc49000000ULL, .end = 0x0fc4bffffffULL },
+                { .start = 0x0fc4d000000ULL, .end = 0x0fc4d3bffffULL },
+                { .start = 0x0fc4f000000ULL, .end = 0x0fc4f0fffffULL },
+                { .start = 0x10000000000ULL, .end = 0x203fd7fffffULL },
+            },
+        },
+        /*
+         * Reduction of the issue above: introduce an unaligned middle region
+         * with regards to the hash shift.
+         */
+        {
+            .affinity = {
+                { .nid = 0, .start = 0x00000ULL, .end = 0x00fffULL },
+                /*
+                 * The offset of the region below is not aligned with the hash
+                 * shift: the shift calculation only takes into account the
+                 * start of node address.
+                 */
+                { .nid = 0, .start = 0x01000ULL, .end = 0x04fffULL },
+                { .nid = 1, .start = 0x14000ULL, .end = 0x14fffULL },
+            },
+            .ram = {
+                { .start = 0x00000ULL, .end = 0x04fffULL },
+                { .start = 0x14000ULL, .end = 0x14fffULL },
+            },
+        },
     };
     int ret_code = EXIT_SUCCESS;
 
diff --git a/xen/common/numa.c b/xen/common/numa.c
index 8544a1598218..92f8f1cedce1 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -405,6 +405,12 @@ static int __init populate_memnodemap(const struct node *nodes,
         if ( (epdx >> shift) >= memnodemapsize )
             return 0;
 
+        /*
+         * Round down start address: if start is not aligned to the memnodemap
+         * chunk size the tail remainder might not be added.  Overlaps created
+         * by rounding will fall into the same NUMA region.
+         */
+        spdx = ROUNDDOWN(spdx, 1UL << shift);
         do {
             if ( memnodemap[spdx >> shift] != NUMA_NO_NODE &&
                  (!nodeids || memnodemap[spdx >> shift] != nodeids[i]) )
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 19:36:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 19:36:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327091.1592287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUrOF-0006jf-L9; Wed, 03 Jun 2026 19:36:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327091.1592287; Wed, 03 Jun 2026 19: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 1wUrOF-0006jY-IL; Wed, 03 Jun 2026 19:36:35 +0000
Received: by outflank-mailman (input) for mailman id 1327091;
 Wed, 03 Jun 2026 19:36:34 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wUrOC-0006jS-RG
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 19:36:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUrOC-008Ddh-7h
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 21:36:32 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a2081dc-2eae-0a2a0a5409dd-0a2a450992e6-48
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:36:26 +0200
Received: from [148.163.143.241] (helo=mx0b-00498f03.pphosted.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a208238-2497-0a2a45090019-94a38ff1113a-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:36:25 +0200
Received: from pps.filterd (m0367130.ppops.net [127.0.0.1])
 by mx0b-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 653I5x7V1079037
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 19:36:24 GMT
Received: from sn4pr0501cu005.outbound.protection.outlook.com
 (mail-southcentralusazon11011030.outbound.protection.outlook.com
 [40.93.194.30])
 by mx0b-00498f03.pphosted.com (PPS) with ESMTPS id 4ejq6xtkms-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 19:36:23 +0000 (GMT)
Received: from SJ2PR07CA0003.namprd07.prod.outlook.com (2603:10b6:a03:505::26)
 by SA1PR16MB5486.namprd16.prod.outlook.com (2603:10b6:806:379::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 19:36:21 +0000
Received: from MWH0EPF000A672E.namprd04.prod.outlook.com
 (2603:10b6:a03:505:cafe::8d) by SJ2PR07CA0003.outlook.office365.com
 (2603:10b6:a03:505::26) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Wed, 3
 Jun 2026 19:36:21 +0000
Received: from mx0a-00498f04.pphosted.com (205.220.161.53) by
 MWH0EPF000A672E.mail.protection.outlook.com (10.167.249.20) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Wed, 3 Jun 2026 19:36:20 +0000
Received: from pps.filterd (m0373460.ppops.net [127.0.0.1])
 by mx0a-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 653J0Rp6913785
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 15:36:20 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-use.ser.proofpoint.com
 [3.215.31.156])
 by mx0a-00498f04.pphosted.com (PPS) with ESMTPS id 4eggrxycbg-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:36:20 -0400 (EDT)
Received: from localhost ([19.12.76.221]) by cmsmtp with ESMTPSA
 id UrNxwVl1l8Hc9UrNywotKk; Wed, 03 Jun 2026 19:36: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppford; bh=amhyky4sbxekiDoBkvBl0VDlkKA
	Rtj/xZxmTLbhregc=; b=B/EdX3n2rnINqAdl9BPMrNLV/bGQwlFnOFX10+LbIG3
	A//3S51yWMQIWjQQuz8zEkewZJevqFMGwz3Q2Rl1RywWFmzrlyeaJGVI0iiegLaI
	VE9zf0tv5HtawDY3ImBponcfIEbH52PJxMpZpYbcLA2ph+RgICvTVaDOLYxwsxMi
	oaLTolbRsq54+wPHpOLWQdRpBrdpwQJaL/nMQMtZB9cCHsGFz0domxGRzWjEoj6i
	teM5S0sjjdE4KgghHUtBqRKxsRCAuTMe7W34ujhu5wENB1naicTu9aC7MoOqf672
	v4lIAMHM5EYj/cwyt/ztG7anAwmmArO6uhJzmXRgtcQ==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=vC/eRp15kt1HUB10m/m+rZem0vdWcTrge451NBTsSbU+4H6/oiZ/iQpvsn45HnqobgLXGaMqJBJrU999ZD4VneVvAePeltKqZKwGqmK7BkiiHMhqA+LqAC/rPA70YPAh19l7Kz2Rds5FY4EgAkaupsp93N++mw/P+L8hR87schejzopkK6H12o02lzwmSDrsdbOd9EOdvdmizWkMOJRXKsHXYxDpl8NkHUC4kU8E+PSCy/2D9B+keSJGH6CIEZQI7y+zwiTStJc7y/huQjw4vXGOjN4jTMZIeHBWYF2GBNuFm0QGBKgCGFOIrq3/FOCIpZBvehadXqUNxKxGyoMXcw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=amhyky4sbxekiDoBkvBl0VDlkKARtj/xZxmTLbhregc=;
 b=vy1REXv5etWUpoN8GKKZwjvQTIogTKKOFDCNxoeU0JXxJuk07/3H45Zijb8J2auok9eJkCLHvG0qByHck62g/7+AcAB2iXmqam6iLi1NUSm/c1puLGemdF9fmU+JK7Q49P3FP/xHNVHvE/E4EQvvZIQdP0b3o6Aq90T5X6tgR7d7QSnBl1KaHOh1MWwh4XFE8FSPYs3XqH+AQw/w9g+pDNcEyT8J/TOjbZyeqxEDXYkQnFAUNxA1oNGORjC9S8IKSd3bVIY9bF/IUqET2AUlegZo6NGsqMOLCv/lEWQy62fcXTu66Fx3atxgt8MWmHU6NBFJexoDyOMcCqoimPV6WQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 205.220.161.53) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=amhyky4sbxekiDoBkvBl0VDlkKARtj/xZxmTLbhregc=;
 b=Zx7i+b+vWPhRpj1Gtlw+Y0NoeFc3hV1x+AQoILEgi8r46udrGGrv6IOzZ8S1fdzGm9RPyxXhkLpTKCDWPz0FfNOvyP5DoCe58wMy6WjeGTFAh/2H5Zcrp7UEoPIo3nUePDXDmyTNZQU5Mr1fXQmzbDEVo36fsD9njChkjvyXHPQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 205.220.161.53)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 205.220.161.53 as permitted sender) receiver=protection.outlook.com;
 client-ip=205.220.161.53; helo=mx0a-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppserprodsaar;
	 bh=amhyky4sbxekiDoBkvBl0VDlkKARtj/xZxmTLbhregc=; b=eMqmqZqi0Cax
	Ja6d6CX/d+TBsUlGrv/tYgrYKGJRUbfQElR2zXXUMGHPm5yv7QotSgNaC6YurRGq
	WZRonRGUug4GhsRlZaeAHGZAMJahi8Sqnkb6GfPplDbmBoC6KbVTmxq4zu3Y0Wc6
	k76BjeefrTs8X98/PjOdy0NNTnCk9BvQ1yVJZARUSC1tuKW5zZDQMIn7xDu9bL5u
	9R2bulWvpBSvJH376sd/FCqhDtK76WfgVS9xrXuOjuIe5All4evY0VJvsbiCCrEE
	58OeWXDyjVeLxJKVFVt/T/Rfx+LBBs3pfbdL7kpS1q6R4chHT/OZ83I2GjGfLuC6
	drc4RVmxcA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppfserpocford; bh=amhyky4sbxekiDoBkvBl
	0VDlkKARtj/xZxmTLbhregc=; b=pvon7zFP+c2ew0AJ0qbl4NrancjnKZ7v/9SB
	0TfrgzkHqfwO/j/bcGQHVug1Hygd+PuiYq9gApfLWZBfIL4cYg4LgFetRAOuZe/T
	kQqfntaF4JgevfYuafyS+M50DZMXJ4ddUvgfZ6iXfHaaGQNyOaIKxLSCmMg1DkFY
	8QzhBggdjnxvo3+rZIJ4cvFIebAtpPRDyI+5L3B7Y7HDCv5bl8/UdFaZBYqbJrzz
	hooVkJzcieb+nP/IDyTQD4UipN6ooAZ+LGJHa38TxPusEvlPepJq1LueU3mB1ZH+
	1OfK3lp2CN8t42c674VviiHELQSo1mqoXEyIjBYb8M+tGtPrxQ==
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: UrNxwVl1l8Hc9UrNywotKk
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
Date: Wed, 3 Jun 2026 12:36:16 -0700
To: Jan Beulich <jbeulich@suse.com>
Cc: dmukhin@ford.com, andrew.cooper3@citrix.com, anthony.perard@vates.tech,
        julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com,
        sstabellini@kernel.org, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v4 5/6] argo: introduce CONFIG_ARGO_DEBUG
Message-ID: <aiCCMGV1zsOzpZ34@kraken>
References: <20260603060539.1181809-1-dmukhin@ford.com>
 <20260603060539.1181809-6-dmukhin@ford.com>
 <1511b245-fb6a-412c-bd9a-32ea341e983a@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <1511b245-fb6a-412c-bd9a-32ea341e983a@suse.com>
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_05,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0
 lowpriorityscore=0 bulkscore=0 malwarescore=0 adultscore=0 phishscore=0
 suspectscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc=
 route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606030190
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000A672E:EE_|SA1PR16MB5486:EE_
X-MS-Office365-Filtering-Correlation-Id: 1ea0353d-ff33-42c3-6d81-08dec1a763bb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700016|376014|82310400026|1800799024|56012099006|11063799006|4143699003|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	zoo7nvsBdAKX+dsUIf6q/l+MRrlRV7CCgY08ImBZRrJg8R6JqC1mkvz51dGNxpmBkTCwZuMZXvh1h7yggZicv/XaKQBcIqLeGj2ukGLnJ/wgdOvJHEd7pMpcSi4V9GO+4hb7DBK32m/ZHItZ8+9K5zRtAwbrFPJDNU3fLvS43vynYsjvtQ8N3y/SjEGrJzRVoX7iFfk40HOYDURhVBuQtgR8j0srDrhwxTk2cVgh6wia4/FgWZfUD8l/SF6DFfBj6EbRG1fPfnRQbzEH5wHmthU2ltPtUF5i2+tu1TkzfIWkv3wjxzUJT5pm7504SRrh/UwaLy+wvdeLYA4xVedDkrYycmVbXvwo/bGcTkCdrtqE9KGDtjes1G2stMexj2CZ1y9Z+LlANbZ7w5XxlvRGGL5UGKUsyy0mmnUT5Ou898okfXXbRNhEqLlDOpINo0MAs4x5nswQtu/wJD55cJ7roAkg6hJ9AHJgkcTrAfIYy+tBE/z0N5v5cGWkJMDYQ4Nh+Hds52y09P18tRwEZUGELB3DJqw6wCRs2wxWuxUooClM6jbgj15aAB/T32ZXWaGiwJcS17IYOiVPnP5SZunQnhXPGmFUmazu4oE2uCwVKE2QafgVSY7PtsOCo9IE466owsp/qsrSH0HLaXJBduKoR5NL8AUc1dnR10G6JeLMiuoMV7nsDcOXJiMib75Rgm2FHtPztugmO9eGpLu8NkNIbDf9YfMgdLIUohWThBFcA3A=
X-Forefront-Antispam-Report:
	CIP:205.220.161.53;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0a-00498f04.pphosted.com;PTR:mx0a-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(36860700016)(376014)(82310400026)(1800799024)(56012099006)(11063799006)(4143699003)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	PefGajyum6lltGd0kxhKmXuevGf/ImNf/D4JwsEygvLKpD6vWd7zVucpSdo3wO5mUAUqTwNTzXQUjgUcLu0lMZu9ZyuJUhslnT7Sc9GDrReiqiIvEWpVOmrxOLurnPlwPprcIyAI2n7xwISB/Cwk1yEm864YPh8heb9zkacH37jASZBV0fqKB6Ww5Eoe4xrEXMiIIxGZ9Id9/o7sKg1PV3rQQk6QoVSvI556hJd9AazW+H4PXGITBSJS92vmj50e7fO07q23vIkO2nQNast3L3FvOJSzGxUWgrH46QIlW1mS3z2kzBDFMrHi1zaR+qh2o6PYc5aM6TkBhi9/mahPCeV+mn3Vmuk2+2LaXPkmoWOb7aWtqWbQucBm0TyHQO65fSVDKHyUUOapyVw8opQkUe6iryfPMX7r4YTcuTeLgX7uIa2+Ws5xAJhNlp5qLWxH
X-Exchange-RoutingPolicyChecked:
	TArlPHxz8jquFGk5fzibNf//o5sbY7Lw+TG0wAGVpCd/iWWlg7zu2lb+KcLAol4qnHfBWJRdlc6AhPpc2S7nDl21JpZfO1nYWMtSh8n1vWo1VhU2hBmkUqj+M+gxs6bW+OEeX1i+nGhXvJK9SBILCQIgX2nJmBW0qmD8/Np0miwpTR+qWQQ7UwTe78G++Cy8SN+c/sGExmaHmMo0hR2UQlzeiWvkmFnATaDj8C7Hg8UPGb23ohYeSbtVwQ1a/5qFV6UsU+wJH2Otow3ZuJNxFCzwPXvDB1OM8FAF/2DkK5Q5Wr9S3pFhNPVZ4y7t4mJAJW4q6jfrBq34HGypfoObjA==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	6VsUbVQFSRF2lu/4AQJ9KMELyVX6avZlIndXsap64f3z1IkLdgT1xAd2tO/zrAvbKkQF9WxgGdGniseFar3tGvfGf1ntVBB4Uyr4kDpXvBRXha0uiBXlG6B2YSusnZonqy04fNRmilhSF/DebxApfaAR3YrZ95BG9izk4rUP8WhUanwfPn5Gy2giPFMM33BlGuxKBm12RWnCY+do+urr5Gpz/ySaw9W0zaRGPFAG0Bsjg9PtHSnzPLEY5CNiXkfXAXUfE0QNjHCNRqexy293R0TXmQTm0jf7FvmXLuuqfLURqaXjKi6Fr+R35dz131gbyT9qf+hBPixcX6NWZgsYzaP9ySB8t6YiJh45SUI70WY1/A+vGQOsvPYlJc5quOZXtopxQyRrQeC1KxHIIydhyuVaYdADTNN+DEaLNGvHKGJi6fbBzt9dij352fr+2/7rZuFfyX5wQ5xNIkNVtvH2XrohoqJqbxoZEqUOGUOts+6xQCXvWbkG8WDbUmBr2HpI1ASYz6a8eoGfma7s2yyHL6LeBqnxwzHqr7qYijsNyDqGrTcuEUOyw/aqXWSyBPP+QfO+SKg1zQpoIIwnRAbl9lVhZdURgcPWwEThsm5NOfWFWhKn9/PaWFeTCIaituoQ
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 19:36:20.8805
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ea0353d-ff33-42c3-6d81-08dec1a763bb
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[205.220.161.53];Helo=[mx0a-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MWH0EPF000A672E.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR16MB5486
X-Proofpoint-GUID: xsEwE4QTeKKBivrqYJWIBbHG5UZXj2wa
X-Authority-Analysis: v=2.4 cv=Vf/H+lp9 c=1 sm=1 tr=0 ts=6a208237 cx=c_pps
 a=e/sPstj0vE6DIEdYTBOJlw==:117 a=lOEMawUel/sSvQipkIvNbg==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=kj9zAlcOel0A:10 a=FelO9ux0wxsA:10
 a=3PXLN80vpJUA:10 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=P_n1zlmtWsCQbjROFjcg:22 a=vnUQfov-gS4s1L7hHvr-:22
 a=cbNQJ9GKAAAA:8 a=Lv5HXhxlOMfwyqDyKVUA:9 a=CjuIK1q_8ugA:10
 a=G69WFyCBNqGPyalROSdv:22
X-Proofpoint-ORIG-GUID: xsEwE4QTeKKBivrqYJWIBbHG5UZXj2wa
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAzMDE5MCBTYWx0ZWRfX7QX60Bcwzmx+
 SPrv9pF93Y/PR5Wvv9F8f+HORQn4tD8faL5sFMYvYKVVNXxQBA3AQ33HgClQlyzixz27rodwP2U
 2dZXoo721vUR+RKJVvJNy2NLzCfSDMo3QiEuCC3lfrJtXz8CNRmAh6l/Lgpnr0NKMIiE7tTpYfQ
 EwNnysCpQRMOiNfo51jV7bL2m5ZUw0OU5i2wjllGfvLihBtoyQQzBCRbH8b2tIGPhkftikmZn3b
 tFWcAWfwv8UTU1zq2b3NKcOElv3TkVBXvgyNneaDYqmEWa3r2O5pKnOzStmJFb32QByCdENkTdA
 OurT1GUalGkQl4TNdrJKLFT6lh9ZiUz7yE3zGbSj7u9AlvTEL4pZ5Kq+qJu2ISDvkdKblVQRXKR
 nh+E8QYe/jvleXDmmTcAjV9BaLi6Lw59JdOn5KpapUb5Wcc9CXwx4GTKKuljD7EuCdcvEyItLwT
 RNVh93gwrLPnEAPhxiQ==
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_05,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0
 clxscore=1015 phishscore=0 bulkscore=0 lowpriorityscore=0 adultscore=0
 priorityscore=1501 impostorscore=0 suspectscore=0 malwarescore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606030190
X-purgate-ID: tlsNG-bad1c0/1780515386-41364A53-2722BCA2/0/0
X-purgate-type: clean
X-purgate-size: 737

On Wed, Jun 03, 2026 at 08:10:48AM +0200, Jan Beulich wrote:
> On 03.06.2026 08:05, dmukhin@ford.com wrote:
> > --- a/xen/common/Kconfig
> > +++ b/xen/common/Kconfig
> > @@ -491,6 +491,11 @@ config ARGO
> >  
> >  	  If unsure, say N.
> >  
> > +config ARGO_DEBUG
> > +	bool "Argo: enable debug traces (UNSUPPORTED)" if ARGO
> 
> I'm sorry, I should have spotted this in v3 already: This wants to be
> "depends on ARGO". The way you have it you only suppress the prompt,
> but not the option. Which has certain unwanted (here) effects. Can
> surely be sorted while committing (once 4.23 is open and once proper
> ARGO acks have arrived for the series).

Thanks for catching this.
Will update and re-send.

--
Denis


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 19:41:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 19:41:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327100.1592297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUrTF-0000If-Ay; Wed, 03 Jun 2026 19:41:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327100.1592297; Wed, 03 Jun 2026 19:41: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 1wUrTF-0000IY-7S; Wed, 03 Jun 2026 19:41:45 +0000
Received: by outflank-mailman (input) for mailman id 1327100;
 Wed, 03 Jun 2026 19:41:43 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wUrTD-0000IK-QP
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 19:41:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUrTC-0050SH-OF
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 21:41:42 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a20834b-2eae-0a2a0a5409dd-0a2a45078a60-48
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:41:42 +0200
Received: from [148.163.146.23] (helo=mx0a-00498f03.pphosted.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a208374-229c-0a2a45070019-94a3921779da-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:41:42 +0200
Received: from pps.filterd (m0367124.ppops.net [127.0.0.1])
 by mx0a-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 653I6AaP780209
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 19:41:40 GMT
Received: from ph7pr06cu001.outbound.protection.outlook.com
 (mail-westus3azon11010031.outbound.protection.outlook.com [52.101.201.31])
 by mx0a-00498f03.pphosted.com (PPS) with ESMTPS id 4ejs621bgr-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 19:41:40 +0000 (GMT)
Received: from BN9PR03CA0980.namprd03.prod.outlook.com (2603:10b6:408:109::25)
 by LV8PR16MB6008.namprd16.prod.outlook.com (2603:10b6:408:1f0::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 19:41:36 +0000
Received: from BN2PEPF000044A0.namprd02.prod.outlook.com
 (2603:10b6:408:109:cafe::35) by BN9PR03CA0980.outlook.office365.com
 (2603:10b6:408:109::25) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.18 via Frontend Transport; Wed, 3
 Jun 2026 19:41:36 +0000
Received: from mx0b-00498f04.pphosted.com (148.163.138.245) by
 BN2PEPF000044A0.mail.protection.outlook.com (10.167.243.151) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Wed, 3 Jun 2026 19:41:36 +0000
Received: from pps.filterd (m0426315.ppops.net [127.0.0.1])
 by mx0b-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 653HT3Io035301
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 15:41:36 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-usw.ser.proofpoint.com
 [50.112.124.217])
 by mx0b-00498f04.pphosted.com (PPS) with ESMTPS id 4eghss7bg0-2
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:41:35 -0400 (EDT)
Received: from localhost ([19.12.76.221]) by cmsmtp with ESMTPSA
 id UrT3wpEOnYPuRUrT4w1GhJ; Wed, 03 Jun 2026 19:41: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:Message-ID:MIME-Version:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:Message-ID:MIME-Version:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:Message-ID:MIME-Version:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:message-id
	:mime-version:subject:to; s=ppford; bh=oXK4YLeYPlx8RqSQHW/nFu+SC
	L/43fQ4XpPfyii78Bw=; b=QylM0xdqnRo1wTna5oaE9AE6zx+5a6QQDqjQJVlpK
	v6AkkctBDgGrdJs/FzKEl230a91cMN7KffzD2GrCuamFr7EfpZDLLSFmjdrFLphl
	BlN5YUt+W+UKhrBWIYYjw4xL4WyCvVXrDIkohYtsPn3V2r/xE1wjvKk1LfunZk0O
	afC+BOeeglYKAfUv3LrpybzaqhjEwucM2XXG9Axyg3h2r1qzlUTQqYSK59T+X3Eu
	zFJWNvPtb1F3gu19jToSACqktls3XKfwCzGnNvFkRYmj3FMyaZfr5VBDcAuOy+kG
	Oy0YxwtwlB0rgjOyIcVXzyUJEvnxRyq8b+3bCwF4AzhVQ==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=wxY+4R7SNFmzzzoFvcLZ16fSrjw3Q94CxV3XWcEXt/3NwIB3/66IEmHhhCsiCdMgLD6gUx9/YGAjYjPPy9shzTdKBJNsPWKYRaMO+K1eGA5Oug0wbyt5UQ00nMqTFciIt6efmRpe9Hof0yWQTHOng74ZN3dJ3zCtpY4dZtmcVhqnIgV6kSxoKM6FKn36lhY87Bc2RtKYgBmsERduC5mn4LD1TsOSVquWSL3vv/5MrIv6+Op7ZOGe19HnK3bjpQATZbWl64oAgTq7lcGQcG//jEGe2jpTt75XsVcWEzxyGdYvlKyXcTW9/j8Dcsy3oYKSAACnUuQi40So9tAEXGsvwg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oXK4YLeYPlx8RqSQHW/nFu+SCL/43fQ4XpPfyii78Bw=;
 b=mhmo6OJ26CrMpOyJ4Xafnx2d9SfzxFwPt+RWMmyt/Nta2IMqAQ347gHNagxxAGoGuzGUM1QlocwQQVkvQ3DrRT8em4nsJi51TI4axXmwT9xuaXmtIhy3Wz+NCr7aTw7vJw2/jxfKP+ntT9TBmHTZdypz0ImMbd40u8ekmzSRVI4EANFAccMhD3nk1lW7pHA8amsoplKpDC568ZJDMzoTbFhK/QdKUL/dJKNP5naLG2iyO5+e3jrrQ7xRnz6yBpsp27xN0Ve+glISk+Nesm1OnSMFJc4l6BDwzv+Xe81KdP8aS4Qnjxl9810QOvOtQrr88xvqbZaixYUnY0oywcUS0g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 148.163.138.245) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oXK4YLeYPlx8RqSQHW/nFu+SCL/43fQ4XpPfyii78Bw=;
 b=d18BcK45T8OKk7PztdwvMCG2YvpWG8JSVV1VxAl6V3zbWG79y0dPsK5d+KgCn9NcRF7rg3zOsFoJKzTnKEbTWBo+NwnJ36W31AdJ1qLLX8yMXQIMwFEukL2d3ruDDsbkdaZt8FtIntl5Y7gtDTxinNRJrofL673NEtscsBbA8X8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 148.163.138.245)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 148.163.138.245 as permitted sender) receiver=protection.outlook.com;
 client-ip=148.163.138.245; helo=mx0b-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:date:from
	:message-id:mime-version:subject:to; s=ppserprodsaar; bh=oXK4YLe
	YPlx8RqSQHW/nFu+SCL/43fQ4XpPfyii78Bw=; b=ULB3yy3HeaRTkd8lb/tZTqt
	gVgS45Qy7/ptPAyDS2n1I3IJCSOxFAtYT4pk567YtnYLAeGdvBdKf2x4lUbGyYvq
	KL+sdDIJ03iqQkwGTgYo+7V1PUpPMkoWA7lCZJzLisJ+AI5v6jKZyRNwsW+dN8rq
	AS8UTr7NvyZR4SlgXa7bug4Z7RKjey4n0qHdGzlUIew5SGLAlE7nVu+jkFCelm+S
	iY4aim3kWIbJYb5m8737wsXkYkwWKGEA+/JCy7qE5IHfNURyezhCjNm8rA5Vcq2F
	0tMENCyZ+X361A6OAPviLpmLhBh6LVWXR1TJxRK8EH8PcEE2xHKD6HPmxepbCag=
	=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:date:from:message-id:mime-version
	:subject:to; s=ppfserpocford; bh=oXK4YLeYPlx8RqSQHW/nFu+SCL/43fQ
	4XpPfyii78Bw=; b=OzdT5XEJ888vyowAtIoxX0cy5edUhtmRxxg0YomPN74+ysj
	XpRDyCdi9nfipGijnzHOx6tCj6JYXwownxrKBensQhUvD97Ya9SUInYPl6hHUKYe
	cA3FNV+44S1hzh97jvEgCVL9mC1Ul8BzmqSVvTIy1BZqRAfktgAwFNbzXVO+SiBL
	CsYHJ1w1+WswdgRvZt5FyMpfhpfb9IYFFnpQMpWGhe2ySOHq3J8/UPRrVjrXEvWy
	ddYJzzdi4NidYAJF61fJgWJyFbn3aIZw95rRStGKcJVrhSFE94xVymjYscvELTQx
	j9Ocirzx+lPO/72GnSJVyyE9JpxaHDiIBx2Keug==
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: UrT3wpEOnYPuRUrT4w1GhJ
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
To: 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
Subject: [PATCH v5 0/6] argo: few log fixes
Date: Wed,  3 Jun 2026 12:41:25 -0700
Message-ID: <20260603194131.1468654-1-dmukhin@ford.com>
X-Mailer: git-send-email 2.54.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_05,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0
 adultscore=0 phishscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0
 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606030191
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000044A0:EE_|LV8PR16MB6008:EE_
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: c23e752b-8148-488a-a692-08dec1a81fea
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|36860700016|376014|13003099007|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	TuvfqH/yiMWKSvRcAJkhlQXYm5CToXRAvkJc/TgMxUMCRI8gqRwFKqSfBjRE9P38/XwkugElYbxBr/huStbtjC1klmqfEbLNxgI7guNlrzisl5BSJtCeOEq5vXV1w4N59q3ZprfyODV1RfEA4eGWlIXQRNabd7Ua/iZKFrTcuLa/3a0kF+ZfsZ6P1TvkhZaex1oR9ZXuBJfdgcOOvMxiRwfO9vzmbOR7JPMHeWGxotfifvf5jn7OU6apPZLMaN3FHndqWjxMDuC6YBDWPbmEb4zdyjEH6bO7hOmzAPMMbPJ6VaR8nyuJMtrO974g24TEXdIF1pkyyDdf77Gk9LV7ghRTM2PrPdSRpG+xXGweRq/6A5fAcMLMmjLk/r02/wKbJ3Wdn2S0ITaQ1IQf5z30f4dofakHnpc1pMaFeeA/DpL2s6loZDzWsv6gk+2u+Ee7lhY4WOezkMz2THjBtpNaOeuD64LiMfVtLSmLCcqq4XyQpAz7zKGO06ptifKAZ+D62j5d3xn6lqdolE5cuRDUwe5YKEHHOwyBV88aAZv7CEcpdd8VYWSAelacUHUPXLJ6aMkzY99n80zvtR5m6OLpvx/cbc2xNTAJrv/BQ8lViihW5+kp8NQefttrUkzssgF5CisrScOef3Wl3z1ajCZUtKrqFHL1CTN9h9znv54PG+szYBtNE6VdhYRphnVEXDWOBI47URg7sZ8MJ8ZwdKC7fhamm2j5pegsWlpmLArSB4o=
X-Forefront-Antispam-Report:
	CIP:148.163.138.245;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0b-00498f04.pphosted.com;PTR:mx0b-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700016)(376014)(13003099007)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	bmiwbGZqCX5YRdcf42NkMi0YAhCWr0Qa2Ww8HMbH/2+Dkk4YhkNj5+fbDByhNLgr/bdPIUDyhUhTcW7lka6MThoPMmITefI3WXeeg0Zz1iuFxZzwzNzkQy/X5seDnppDiEsqK0mAcL6ZiQFKW1wMfXIV+l3JJulxfqAGeyQaixMIN4T1vJ876jcu6ANuSIPj4xKuZcK1Enkuw5J/7lZgYHuBVknVOl+YWSJu2QbCj8XGTr2Ql8uIdRa9OXCdktYuneHbXuJ9rfaRMsnX4rbKitUpbybnf0wOca1DZ2IFpqc466y6GySeGqj2h4evEa11ZW2nbvPodJLqHAeVEDXyM1WnLyF3LuYX7PwtRAf5pSXs/exXJI3tJxCqESBo8yj/aa+l/bjT841n/E2mZ2Ppy3xn6KsQT08HhLvRBq+BBXYWYdJORUhXTpXVBg3qjjvv
X-Exchange-RoutingPolicyChecked:
	dOB8wjuRlS3pXHDGThik13oPT8KuIrfQwEqk5zzrqs2sSvYnSQEWoP+1z9ldKXL2/Us65Zv+7JYcNPrVkaWetZAF5eYQPBKGrlPA0yvBEEXwq/o/ncQnXW1TWXIOSEMsJN6N7D+r1mU36ELO0AHBIZar8VVEcA2F5oGxpWyDrG0hwxu6lgnVinO94+lHVu4bFIf0Y7O7TWeKrr8+u41TEoq2MJ+jwj0oj1SkJNs73JxvKv2NidhF7eebJeKXAPdgfdE2dkRx1HD//2Lj98erFJvh4ump7a20OOWQ1uzxUltl2sSXa9pXB6kcAEn9AMauLEHnnMUXlTzEpliajhmMQA==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	mYa/mSHI/jtoSavqUMIa9e9uKJBBx8acfCn9VSYMqVggwbayTMiWZ7OG6rMSFR/ID1yi2Z+tLiBgVWg0dKl1Cn1eczoIu0f5kVyc/bUAzRExTSjoRSPjXG3hQ2SFdsDKS7IWlcFNRQuRLb2Ooc3BSizlwc6ddWfZOe5J2W9grSVTOPAjK2mvuLN6E6bca45LTZWEtwmOGoDYTBvJJTJqXGeMtbnykusxPMVvY658R+AJp/4HlgahWb88MkGpkOO5uOVsXj5hBeAQRJ8fKE8hX5EbKRnWkB9gQp0z5t0NoZzRAcb9038Q4MB6e7eLb1E48h0M2qAd7gI7RECpfmASY7K+GRIqJMpiSHvEdfoUxrwUtR3jT3yets5z9Qcvzg+8t2yPT5hsl40REO1fKKHHX13OKzERAdutSxL/LbBY0H0Vwknqtt/RS6a6xbY8BOU7ReZDd+el6Zr4FiUi9VR/we0vEs4/3O/UZ9Le2mM3hLn/7bweaL28CBYzgWQboe01PhpQqNzK5c4buh7ooisUmVMcoWpVLrnXKq/GY5jSYBhSoITvUxjy3A5BC5nlLJhTfC294lQMh49OcYB9nnwTdCg8VuJmIaysCK2DoFaQnhkOQOxedQdWZog11CjDmfHC
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 19:41:36.6453
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c23e752b-8148-488a-a692-08dec1a81fea
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[148.163.138.245];Helo=[mx0b-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000044A0.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR16MB6008
X-Proofpoint-ORIG-GUID: HQwF9KMOKF8kkeXEX89VWQwWcxRujgnO
X-Authority-Analysis: v=2.4 cv=bJIm5v+Z c=1 sm=1 tr=0 ts=6a208374 cx=c_pps
 a=FTqHLmxhk7TnHmysD/QBZQ==:117 a=b7IhknPlfT0FN1EembXvig==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=FelO9ux0wxsA:10 a=3PXLN80vpJUA:10
 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=P_n1zlmtWsCQbjROFjcg:22 a=YJXg7OVxOWrJwj3yZo-i:22 a=p0WdMEafAAAA:8
 a=VwQbUJbxAAAA:8 a=cbNQJ9GKAAAA:8 a=9Rjklcs_zL7GqLz8L0MA:9
 a=DqJYxgmhk6moR-_7_KoZ:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAzMDE5MSBTYWx0ZWRfX5v9VyRT51b67
 UEcAif0oAd8RBCzxQcWJnY+7MU/y6WTdWrFz9eJCj4PVuKSrBX78g+SlDY+cGhwPlggFLIvAnSd
 54R3FxT5U6S/g4h7Ubexa6+1PGsdTXLSW/BsjeTPc9VL3rc9TZ/bDMHZ37Uvr8xN7rbiJPdfAWk
 7VCzOsspi7I9pVcCym2neZrC0MQFbLCjBXmUr9CGQ9iCLj2I0b97oDKneMw9Z6LOLg5PQB4MJMW
 TQrOe44DiA2288KD6sC93aDjRGyx4V33+ePxFK/MAGM5W6IG9rcepx4KYFhnPh8Wa9dTu47eYOP
 UoP39ojr18/DZ+lXz6b3W252N/f3s2q+HJZuXtqtSXQuA4t0gxhYIY5kmWCZATFkKtxSSMG4WwQ
 wm5A1xPD/Fie+ph0eIq1uzzo8U2RGr0yug5A1xt2mXMFimRM3Adbi36bu0fKrI+Sg/Ph8kgGzD1
 kQ7I0BC1P0BNY+NmZxw==
X-Proofpoint-GUID: HQwF9KMOKF8kkeXEX89VWQwWcxRujgnO
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_05,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0
 priorityscore=1501 suspectscore=0 lowpriorityscore=0 clxscore=1015
 spamscore=0 malwarescore=0 impostorscore=0 phishscore=0 adultscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606030191
X-purgate-ID: tlsNG-ef75cf/1780515702-0A573C48-FA8AA4FC/0/0
X-purgate-type: clean
X-purgate-size: 1185

This series corrects Argo module tracing.

Patch 1 lowers the verbosity of a spammy log message.
Patch 2 corrects the debug logline.
Patch 3 cleans up existing loglines by dropping duplicate prefixes.
Patch 4 re-wires argo_dprintk() to gprintk() to include mode debugging
        context.
Patch 5 adds new Kconfig for short-circuiting extra verbose Argo traces.
Patch 6 enables extra verbose Argo traces in CI for ease of catching
        potential issues.

CI: https://gitlab.com/xen-project/people/dmukhin/xen/-/pipelines/2574255630
Link to v4: https://lore.kernel.org/xen-devel/20260603060539.1181809-1-dmukhin@ford.com/

Denis Mukhin (6):
  argo: lower level of noisy connection-refused log
  argo: correct logline in ring_unmap()
  argo: drop argo prefix from argo_dprintk() calls
  argo: fixup argo_dprintk()
  argo: introduce CONFIG_ARGO_DEBUG
  automation: enable Argo debugging in CI

 automation/gitlab-ci/analyze.yaml |  2 ++
 automation/gitlab-ci/build.yaml   |  1 +
 xen/common/Kconfig                |  6 ++++++
 xen/common/argo.c                 | 22 ++++++++++------------
 4 files changed, 19 insertions(+), 12 deletions(-)

-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 19:41:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 19:41:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327102.1592311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUrTJ-0000Zs-PH; Wed, 03 Jun 2026 19:41:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327102.1592311; Wed, 03 Jun 2026 19:41: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 1wUrTJ-0000Zg-Kl; Wed, 03 Jun 2026 19:41:49 +0000
Received: by outflank-mailman (input) for mailman id 1327102;
 Wed, 03 Jun 2026 19:41:48 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wUrTH-0000Vw-WD
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 19:41:48 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUrTH-0050SH-Cx
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 21:41:47 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a20835c-2eae-0a2a0a5409dd-0a2a450cbb80-30
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:41:47 +0200
Received: from [148.163.143.241] (helo=mx0b-00498f03.pphosted.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a20837a-62f1-0a2a450c0019-94a38ff15f6a-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:41:47 +0200
Received: from pps.filterd (m0367130.ppops.net [127.0.0.1])
 by mx0b-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 653I5xgI1079095
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 19:41:45 GMT
Received: from bl2pr02cu003.outbound.protection.outlook.com
 (mail-eastusazon11011018.outbound.protection.outlook.com [52.101.52.18])
 by mx0b-00498f03.pphosted.com (PPS) with ESMTPS id 4ejq6xtnsm-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 19:41:45 +0000 (GMT)
Received: from SJ0PR03CA0275.namprd03.prod.outlook.com (2603:10b6:a03:39e::10)
 by LV8PR16MB6710.namprd16.prod.outlook.com (2603:10b6:408:25c::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 19:41:42 +0000
Received: from SJ1PEPF000026C9.namprd04.prod.outlook.com
 (2603:10b6:a03:39e:cafe::20) by SJ0PR03CA0275.outlook.office365.com
 (2603:10b6:a03:39e::10) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Wed, 3
 Jun 2026 19:41:42 +0000
Received: from mx0b-00498f04.pphosted.com (148.163.138.245) by
 SJ1PEPF000026C9.mail.protection.outlook.com (10.167.244.106) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Wed, 3 Jun 2026 19:41:41 +0000
Received: from pps.filterd (m0373461.ppops.net [127.0.0.1])
 by mx0b-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 653JZLYC096985
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 15:41:40 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-use.ser.proofpoint.com
 [44.208.76.22])
 by mx0b-00498f04.pphosted.com (PPS) with ESMTPS id 4egeh8ff3u-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:41:40 -0400 (EDT)
Received: from localhost ([19.12.76.221]) by cmsmtp with ESMTPSA
 id UrT8wKhOjpgi7UrT9wGCqS; Wed, 03 Jun 2026 19:41: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppford; bh=HO4
	sgrYM85q5WDp6iJsWaYcI3Dejh0UmrUwZL5tEu44=; b=h4WdodqxDcJP4C0a66Z
	YljC+ZqfoHV3HXkunS0moY8rtki9yBl9b1vsVVOqaRYilOonUW9UnRAJzf0X/kDM
	ORcpsAkAEccABw8OXQJPsGqbI24F4KbF4GqENlSENFTgjytoN1U5P4F22sJCaSCS
	3yyD/KAEqJKUBDMFdOe9jFz5gRwBVGAAEy9mVc5qI8prHf95v93hMQ10vlqjZuMk
	WVSzFXoKfg3nvc0xJGhPjRNB4g2EURTo43spYa2aoHjDT2xxMcxDuyOeXM7pZdwP
	WdhQpcvwrup/DvCGVPvKUvJvzMMiK6l++qx5qlZa4u5YB3xry5LVLvc5VSyVB0WL
	rkQ==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Fi7C6mq+Svn/YsgbILdZamvpEhe6+ejgFEFkBcw0jO3BOuQ0TkDyQVYmjXzLAapHm0HQjLfxBeUocfJPI/Yq4YP6at//Am/8Fxpc2n5gH3JfIaNx4+oQ42Lkz1EZJ6enlA57QH6JJrthVBpAtUYDoZ7dhIrCvVMSiqglz1WiHOKnkX5/rNeGGgv9eel+O7qGNbeHGgXbiIuYNPCRaVdk216tCasiQaU4CNr3Uata4xKG4I/v6TjecwypDPnWOp/FIs6sWaoSmwOSjGZSxITOIFNeyuCQLxNUvMmDd0pNtDKKz+F0y4oMnQN3jwlZsx8iyFndQbP0JHy+YxkNDyLZvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HO4sgrYM85q5WDp6iJsWaYcI3Dejh0UmrUwZL5tEu44=;
 b=SlnqE3x6azHiKnMOXk0JXNaxHF650/kmXbZtx543bNNo24HoT116aySPsRuL4VMWZ3FH/mak0Te/p20eShTQfQxgOrmcn+LyqC/P1dSghV7gDLNj4E935kLOb1pG7K6LHopdsBnen9wDGwZKUIWt4CvJLsboHVPfhSq6MSqE6WJJd/LdRVDK5HBb/hjewZODo3sNWOODh0XOhCL6zFmIjoD3JJZmTAzoYjzPSkmUgQpSAkQIuWqrRjNMQFjyH59MELuTn+17/zZrl2H5wUzbp9iQxlybAFy0qwvdQLXqyLv4EdJzcCmweabLwPtUP78C3TpWwdojeWnDh9vIJ7xHDA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 148.163.138.245) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HO4sgrYM85q5WDp6iJsWaYcI3Dejh0UmrUwZL5tEu44=;
 b=iLU8GoO2GkgyG0816H7iTmMdrEkP5kM1beau5drLGpKWH6oubDs5AMlkGAOodylITLBJ3V8R7+Lytv7oo8dQRuAsyFCo8bGPRNv03ND+bydvr4GQsjGk3jeqq1b1qSclwt4txoXG0L/ah5viE02n4wZNivAwkQxlUjnZWmJI0a0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 148.163.138.245)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 148.163.138.245 as permitted sender) receiver=protection.outlook.com;
 client-ip=148.163.138.245; helo=mx0b-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:date:from
	:in-reply-to:message-id:mime-version:references:subject:to; s=
	ppserprodsaar; bh=HO4sgrYM85q5WDp6iJsWaYcI3Dejh0UmrUwZL5tEu44=; b=
	YEQbOatN2xO9n27gfgMHrNDsekdQsu5x9CzVI6JOCLupp+A8462xSi2Go3pBBogU
	AdHAckZJ0b2UGMQ3myu0s0OagT3j60mx0q5ir5yHMzOE5KlvLI4vEHVey3IPwjLh
	M0aifiU9ssIP4AQB6uIz8o1f4qnqqP5HjnVYjeGG0g1oDGM4CiRHL8PGP+kOBDLE
	i7ux4znY96dwuh+5mdop2lA14K7jDp+XLskY4kmfDMZnu+ylqGBdNhZJnPm3EnjT
	SO0hhgxKE13NHxsUBwOoZDxmE9KB4lnbcgJb3eq1+v7uUSp8rV2Y8GJm7somBytM
	b8aGpwd34hwjo4u8n0RYXQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:date:from:in-reply-to:message-id
	:mime-version:references:subject:to; s=ppfserpocford; bh=HO4sgrY
	M85q5WDp6iJsWaYcI3Dejh0UmrUwZL5tEu44=; b=hbPjwiOA9Oj/EtTxJ7ZctYh
	WZSBETJQ3LNePQ4Rl3jMhOXMd3YlF7ixJLOF9gb3OEvIT0BbUqor6jVo+mPvU2Tu
	ZGgkA4ketAtyI4E6s3ZqQ26zeYgUpKZejFNWmQRpWdUeCAdyE+KcnQjf7ZoCfjA5
	QeDk0Xw90ejKafyTEQ4VNDngkU4REVhr3upKsRklSWiE0GTFZ6Kfnh6hszWprJ9o
	utWpmvHLU0QTeIdG8fCZlguZRIClabPMGFgu7Cmza+3rfGECQ7u5x+Bdgfljwr4E
	Y26rjJurfmNJ0OhFR/9M161qidtgGDPtStwjrKlefgTbyrnilnsCTSSUeykA7/A=
	=
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: UrT8wKhOjpgi7UrT9wGCqS
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
To: 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,
        Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH v5 2/6] argo: correct logline in ring_unmap()
Date: Wed,  3 Jun 2026 12:41:27 -0700
Message-ID: <20260603194131.1468654-3-dmukhin@ford.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260603194131.1468654-1-dmukhin@ford.com>
References: <20260603194131.1468654-1-dmukhin@ford.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_05,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0
 spamscore=0 suspectscore=0 lowpriorityscore=0 adultscore=0 malwarescore=0
 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc=
 route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606030191
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF000026C9:EE_|LV8PR16MB6710:EE_
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: 6eea661e-27f9-41fb-1980-08dec1a82326
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700016|82310400026|376014|56012099006|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	Ukb7nehosVTHfSs1irg24N72ukD4iAuGjqGjs9lcYVacqeGXAsF6RgFQJYe1eGmxTkeHasd9+35VuXiSmSybzKiZ2UH52NtbC6AleQtZlGyOPimCUBQoPdNiJ8vwXtXpT98AzRQ/bVRr7FX2WHfP4Q1i/yetiVS5mRy7iFh8DA7JdwHI2AsTAAShOuDVsGVUeLBOCYBCTGhrqNeYYrIPGBcN8jlTVUzgJfoYaR5NVTJMcd8NDmEewUP/7EqTJSnLfyipNv60aHibROs609X1KkTfrp077vrt/Wiu0brPCVebRNvC2WiFJQaLuLBF6DYcaR6Uj/0Kp/AuVLPPJ7wmRc8ZL/QqaPCRa5MKkGsUQ3ub2LxfLV3VjlkgvtSPKe7UihN1TC8g0LxQVwGQtP4EoBeAc5JKQg2jMTftIJ3zAmi5PJ+0xQZxjx+jX7xQXkdSWbWEqO6D3XmtOKP9U7jgCUFY+fTCRPmELEFaQKN5bWUc+uqrDEG9ALsU7fisLwR2N1xb71Ann4Kyz8yI6sVhl2HfB5J0PARNPe5/nQ6uiESTytn8CH9Kh2SFL8UbdwSk8lzs9E3I4YW+3hMtn4ZTFik72lhXHoXl/mVGWrcd/afg94ynKSS2DoLpuY5CfaYEwjzAOrWQ2rXlA5JRNLFyT4bfq/DD4dWn8+rBOj5bHLy+sGdwUrCqoP22xlojSyo5vpRrVPy5u1H96v6YnZUw2m0kLP6O6g0fl5E5KVnOC8s=
X-Forefront-Antispam-Report:
	CIP:148.163.138.245;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0b-00498f04.pphosted.com;PTR:mx0b-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(1800799024)(36860700016)(82310400026)(376014)(56012099006)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	+D3LljrH92Dtl8UOyy3conh1o4QQF4RTbS75NeYrlRqfOZLfz8X1kv+DDoC9rUYBq3XBel3Y/MCSyyuI5WwIzGS2fUx/2TtWowELd591+bBiVu6EIQ6omdmutyTA3Kauf1snmqRG020xBuNa1e9iwzxtyhILUA/ofaIHoHyTZmQ6bad41pvF9fLZ+Gxm9YmIU/rCwQxkjOTJYjwjPITLReg3dIyMjs7duYfOzqhQCMBGlrLQ2z31dY/EeDsNnaXq1tRZXYSPgAkicb+B19AvcFDtw4oIeB16CFo4dBxTDsS+ij3XUK1D47FTtYeZkhVAIB5cbJuxFo5WA7dv/PR/+5maP/NeVZPBj6jHOSrj8lMNwsWMOT3ynt17jouAU0WNwjoxzxQEV+1P8x3ynCKtBHCJTRdqA3cSRVeKGSjkUFbSHhk8etw/e+0Y9u5cRa1J
X-Exchange-RoutingPolicyChecked:
	dtp1j1Y503sI2E16mVE+V5qk7U1z7+gs68YJN+l+HhvDnjR5ghocTKLRV4kXb3YodFDM/eRRl/RR3AMygn34UfNgpAIh/I72uxGulc8+NVrq8NBJ+H7vkKH8HlxbOGXCspM5JTyHFqcUx8qjcloeR/ybEhoqutLXocwrZFa41CWla4WvD+4Sx6/2ntXsyf5hFAC09svpRqoc8pUgrv+wvzDcJ6UlN27wrwgJoiYROW7DOTAGAzf3P1ZLpHuTaV8CIQUx6wUM2/CHqcXODQrqPxKPHcK9yQ8dIr4EE9wMgN4A2PTB2PzjENW5uzagEu4ezSVc0pOAIQKA5wgPCMBrEA==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	AJEIMLr8mpqMmBg6MZzP8QdmeB2iz4RaxPz2blvyF7l0xVJCuvzu8U5RBUR37Lp7UrrI2ep1zsZ8iI0w3gLf5aSuIUgLjigfowmRmHRTZbnbJAtH6dfCKEo+fJJNpa15xZLMIdOesxokJAM3NaNWyOoJP2plpAY8mpIJKqp6Vg1WCj4d5qU34bHX2t6tyEHxraCv9gjHSJHt6TTqFmOhdoEdaqWari4CASghRFHr9FRMNbRx84JZ95tyNvMOw6Z98MgM7RP+/J3VPrRsMEflxkyqA+acN/O32d7GNLgrMR2eD9Wbvb+P3YdIGPVb/sloDEJJ8+lwTUgV2mBevmkn0hcuSCh6XwG+3F56f5AgwhAgLa5K1nk/9ybKnUeQtgy3hJxvCd1pUlgxIEXMWu6gNP/0kYYsKcgC6wApAntOogsz9KgGR7hcqdyliB+bKOe2xU/JPy14400yUNvpzNfDoEdZGbChgE0mPFzmtMYV6kJQ1w453v26gH4hcshzmuzlwzaSBQjuSPt//xxNjiTxECaVJPTBNTFWiFnYFPlcTArs8tGwo94IXVUPc7/KN8FBASKtoF8zVmHAq4p5IQYB1C9u4J6UExDJztZ6OuHTHXTH8vgOEs3JfMsJ465ObQc1
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 19:41:41.8147
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6eea661e-27f9-41fb-1980-08dec1a82326
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[148.163.138.245];Helo=[mx0b-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF000026C9.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR16MB6710
X-Proofpoint-GUID: agRrfR7lLK4P5IsO3Bg7GuyC3uG1Pafp
X-Authority-Analysis: v=2.4 cv=Vf/H+lp9 c=1 sm=1 tr=0 ts=6a208379 cx=c_pps
 a=gE6CMw9pMCRGQsgsFAL45Q==:117 a=b7IhknPlfT0FN1EembXvig==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=FelO9ux0wxsA:10 a=3PXLN80vpJUA:10
 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=P_n1zlmtWsCQbjROFjcg:22 a=vnUQfov-gS4s1L7hHvr-:22 a=cbNQJ9GKAAAA:8
 a=DBfv99YmAAAA:8 a=VwQbUJbxAAAA:8 a=Pq0mfAL3NuNqQaD0pm4A:9
 a=3whSkbs7g9Me0DR5EJEX:22
X-Proofpoint-ORIG-GUID: agRrfR7lLK4P5IsO3Bg7GuyC3uG1Pafp
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAzMDE5MSBTYWx0ZWRfX1fUQB6CK09Ca
 eyFHl/Ha3ul4z5FIWOUdc3phxmFApvhnHjgZKaode3u1k9cAVqTMDP6EbafqzKU7vAmowPObw8r
 YG6Rs29mqoYuh0t4rEZssNfErI0yeyAOHzf1/iiiRK/GTCRt2qsqmTlwk3fTozLGDgyJHc8ZJ4I
 V94IM8a61v62fnhlILCJDsvNtR60irbKDSSeLZURZgY1G6Zy8T2LFh956YQRrZhr+8WwnVSvQmR
 EQZSXyY6Z4IUgj7r1D3I/WvvKiupbTlA82sBJbFU6UXipZgy62g8ZlZ+OYGhlN7p5oFjm2Xp3a0
 82k/fjWMUfIR1lupBBzxz7rNdKFrg/Kt58x1X5uFwJ0rMPJCjFhx9+GrOJoeq7Mjp9bAT2SglMt
 1O5U/FUSUWhkUI7Yx2OoCupoDafPXQdXC3JPBkmAKZ7FvmMLlTpoPZO9RdqQ5OUYel/y2OjxkIW
 cSoYfcLhZBmxFgyUTJA==
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_05,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0
 clxscore=1015 phishscore=0 bulkscore=0 lowpriorityscore=0 adultscore=0
 priorityscore=1501 impostorscore=0 suspectscore=0 malwarescore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606030191
X-purgate-ID: tlsNG-d25034/1780515707-DBB7CCF5-42BAFD19/0/0
X-purgate-type: clean
X-purgate-size: 1071

Drop XENLOG_ERR from the logline since argo_dprintk() already injects
the proper log level indicator.

Also, drop "argo: " prefix, since it is also injected by argo_dprintk()

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes since v4:
- n/a
---
 xen/common/argo.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/argo.c b/xen/common/argo.c
index 98a3db7fd070..5da14c929e14 100644
--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -474,7 +474,7 @@ ring_unmap(const struct domain *d, struct argo_ring_info *ring_info)
             continue;
 
         ASSERT(!mfn_eq(ring_info->mfns[i], INVALID_MFN));
-        argo_dprintk(XENLOG_ERR "argo: unmapping page %"PRI_mfn" from %p\n",
+        argo_dprintk("unmapping page %"PRI_mfn" from %p\n",
                      mfn_x(ring_info->mfns[i]), ring_info->mfn_mapping[i]);
 
         unmap_domain_page_global(ring_info->mfn_mapping[i]);
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 19:41:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 19:41:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327101.1592305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUrTJ-0000Wn-Ga; Wed, 03 Jun 2026 19:41:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327101.1592305; Wed, 03 Jun 2026 19:41: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 1wUrTJ-0000Wg-E1; Wed, 03 Jun 2026 19:41:49 +0000
Received: by outflank-mailman (input) for mailman id 1327101;
 Wed, 03 Jun 2026 19:41:48 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wUrTH-0000Vq-SQ
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 19:41:47 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUrTH-008IPe-9C
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 21:41:47 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a208353-bab6-0a2a0a5309dd-0a2a4506d40e-42
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:41:47 +0200
Received: from [148.163.143.241] (helo=mx0b-00498f03.pphosted.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a208379-7371-0a2a45060019-94a38ff15e6c-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:41:47 +0200
Received: from pps.filterd (m0367128.ppops.net [127.0.0.1])
 by mx0b-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 653I5vtp3789886
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 19:41:45 GMT
Received: from bn8pr05cu002.outbound.protection.outlook.com
 (mail-eastus2azon11011033.outbound.protection.outlook.com [52.101.57.33])
 by mx0b-00498f03.pphosted.com (PPS) with ESMTPS id 4ejs88s9wb-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 19:41:45 +0000 (GMT)
Received: from BN0PR04CA0198.namprd04.prod.outlook.com (2603:10b6:408:e9::23)
 by PH7PR16MB4852.namprd16.prod.outlook.com (2603:10b6:510:135::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.15; Wed, 3 Jun 2026
 19:41:40 +0000
Received: from BN2PEPF00004FBB.namprd04.prod.outlook.com
 (2603:10b6:408:e9:cafe::9f) by BN0PR04CA0198.outlook.office365.com
 (2603:10b6:408:e9::23) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Wed, 3
 Jun 2026 19:41:40 +0000
Received: from mx0a-00498f04.pphosted.com (205.220.161.53) by
 BN2PEPF00004FBB.mail.protection.outlook.com (10.167.243.181) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Wed, 3 Jun 2026 19:41:39 +0000
Received: from pps.filterd (m0426318.ppops.net [127.0.0.1])
 by mx0a-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 653J87im474902
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 15:41:39 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-use.ser.proofpoint.com
 [3.215.31.156])
 by mx0a-00498f04.pphosted.com (PPS) with ESMTPS id 4egeb8yh77-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:41:38 -0400 (EDT)
Received: from localhost ([19.12.76.221]) by cmsmtp with ESMTPSA
 id UrT6wbYly5kHRUrT6w8BB6; Wed, 03 Jun 2026 19: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppford; bh=B43
	lHuIo7p6VqcOj4/y3UZ98f8R+62xafP4mWlj8Tek=; b=GQsd3Cm3Al3V4Vifcqo
	zFyeTCcVfc7DOBha+CemNKP1Slxk8rCDHQdRfe+9WUdzv6HHLiDDTbyh6yukVWmS
	QO751bAwb2eqSuUTv1N2ruc3NzZp6lzaBmGRDdptVpWL+EEQoKg7nmaLZe302oSk
	ByRN8Bzn4G1QzH2BsiBeaT3RAeol/cd+VQJ+LT1NVHoDmUkp1FGeDAPuLHojKtU0
	8x37ji1hlZvi9Bwew7H6l+LmMrYEKg29GRqHzvBPHkVVdzOJnJIuWW9ibE6ZyvI2
	F4eejlhg+xpWi2sV8sDSoh6URWbds8qg4cIISKVg9s+rmy+1S7YI5Nh5Om1+eK48
	yjw==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=sTMihRNmX3BbTngR3RdjOdE+W3FuosnP9vLdnHr8VHy1WUQaNvX4c8lCcWbfq4GIxx0YJLePUPu9tHsTuNEzCAHp4OllK3bZ0E6QvOmOHcNQSnbzGEcBUy2k+sQjhKYwKbXW/nJaOd/XIJH3f0J5PuER4MTo7a095lLWcTuXygH2PFK1HEPkIOYk3/CQETVvKnJKmvJe5LeA+MNEdHIEuKG4SBJUWyCDyFfRL/BX/yTSIrYSrPLz7SolQjWliVlym2adwNwZIJrTONLcVfG09iHog0/DZzzhOt3mx/a2m0MUsOibKp3+z1AkVcoDRKZekdMCSRAUwE0WPMa1ze7T6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=B43lHuIo7p6VqcOj4/y3UZ98f8R+62xafP4mWlj8Tek=;
 b=WcWfjMtNQIUzu+k4D6YbZIX5R5g36xXSRMXuqRbfwex5ZivKB14cMkIgxn+sS1LjF+xymdKMMI/k/cPyvbmDLOqRy4DV81sW5nDkXtiPQC/Kg4no0SkRXxjbM4GH2nAl8YVS0AUcUnzukPSunZ6rsmrEJ4StrCBsMrxQHbvJpaCQrVXvZcZyVTi42wY73TXCfcOz8WmClxGw7mN2YP91z8P/ZxLcS8gY+CFEZ/ivaD5hxzmlnT8410+/E8KvzzxjT09hjQOoRMKBucuX2qBMdmnrm21bVoaofKyb+ActFujrtyuidYaiuyqe+9KRNsCsLQFOoxEYRXmy0UrPTepf9A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 205.220.161.53) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=B43lHuIo7p6VqcOj4/y3UZ98f8R+62xafP4mWlj8Tek=;
 b=YS/S3zGFa6WwcxYG2EL4jUk3Vefowqw85EVkjfFHmXuFb6HZF/feZBwUAUDkVxEFy2abkaBiShQcWxQjBYmg6v/MhRYRbIxpdv29xoRSLC7afqGM4Mr5Kcnt5z/6XyFArMgJaIMydH3TzG0gV2cYNoX2hFylHYY9h4aeAXludUg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 205.220.161.53)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 205.220.161.53 as permitted sender) receiver=protection.outlook.com;
 client-ip=205.220.161.53; helo=mx0a-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:date:from
	:in-reply-to:message-id:mime-version:references:subject:to; s=
	ppserprodsaar; bh=B43lHuIo7p6VqcOj4/y3UZ98f8R+62xafP4mWlj8Tek=; b=
	YDr0CZGAyJbtrQXPZzD6FmdAmq1XR/JiMUuE46cEkERyPKxJ2tJ91TuMcbZrwyRM
	823Wm5lU66A8aF4iNkDmY4HHtOd+iWnOf4skEAA1r1noZ1C75utCcvxc8Ikj8y91
	YV6Omotrhi7PWIezWZPP4y6SWl42hclurtyUvex2WkvmE1v88x0q60qJFfY4KKpG
	0rpdveEG7Qa9ktEQDPWNhAvzQZL8PDmm5dCZ6jGkp8T4c2zFAuVD8e31/jarqYga
	WBWP2xzj1ErhA27oghwximP/0IsWAiKXeovoph1l2FhHg2OJJBX4RS7UO5+i9nOT
	rUx0MQ+AHszyBYnktE98zg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:date:from:in-reply-to:message-id
	:mime-version:references:subject:to; s=ppfserpocford; bh=B43lHuI
	o7p6VqcOj4/y3UZ98f8R+62xafP4mWlj8Tek=; b=qstb1nEOXmBc3LZXodYk7fp
	+aUp5ev4citjuBsiZloN1olTi8PKVVpab748k5Po79cpUS6lYD1PhrrL4MpOTpW7
	O4Y5r9eu6KwuCSBHrM2xKWJ1EQRRj9LFY/yromvLUjP2AAY3SuFppFS4UhEQ1EHk
	d1yiWt0pS4PPo/wGkHoQU9JrpVxJab4u4Lp+Dv4NeeNLujxxQ2uEZuBY4Q0etZb5
	sn8EDDdYbc8Dn0WNBXYPi2zs1nNPn4r/RAgyVmUBQywEWcBkRbwkA1cOBzVONIBW
	YKiOBodq5lHBK6+5PsRVoo4zmUOGHrnopFBv02eG32aLENgKRxHzoEzcWj33n0w=
	=
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: UrT6wbYly5kHRUrT6w8BB6
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
To: 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,
        Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH v5 1/6] argo: lower level of noisy connection-refused log
Date: Wed,  3 Jun 2026 12:41:26 -0700
Message-ID: <20260603194131.1468654-2-dmukhin@ford.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260603194131.1468654-1-dmukhin@ford.com>
References: <20260603194131.1468654-1-dmukhin@ford.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_05,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0
 malwarescore=0 suspectscore=0 spamscore=0 bulkscore=0 adultscore=0
 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc=
 route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606030191
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF00004FBB:EE_|PH7PR16MB4852:EE_
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: a6f70066-96c2-4d81-be66-08dec1a82204
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|36860700016|1800799024|22082099003|11063799006|56012099006|18002099003;
X-Microsoft-Antispam-Message-Info:
	gJGpCG4fwf+eJ/kJbnGqPA2y5tIoaaa01rh7Jv4sVSCUwsSQXwFdpeKR7DJxyEHg3RXZoXvAu7TcMoObY6EIC4hIQbXcrXBIuItT/YMC+fdcmRAwlKMgHTl7opjubmLeuk7bTgjsD0wHN8K+XJKIZqHbFUsOZyyfJfXxgwbiGDySKERqZbwqKaFW2HiuG2wzFdoM2Jia4c+G4ALN4OOtA/o4eM8ajy/jPk3OGTQY5RxJI1rg4xl/mh5SP2C/f5wjzNpO5kSpluYInOyPYxEU1KeSCLaH1Fdu6nHrCbzsw8x5rtK5HwPIhUotCXXa/jlJvpJcZ4Z2VGB16Z08KfmhqS0aSSKj8leMTpA6anMl1wC438+B4m38+9lNJBSqua0PosdafxxFC+hAqhVNxS5ikGpPoPouqnz9ynIBbhQHHFioOCYrJ9wsUjDWpk5M7ymgmjmwOA90rnVd+4K+9rKh/ADn2sgGFp1v7LF4sq8QQCmPT9hqohT3Ym6XLEA2NgXLRKlD2XoaA2KkRxZm9ZUEqI9YpYAFozEoUw/uzyNCwdXtHq68tNS3/d0fnfgdOKBmdz4LZQqXkdJifis+pmFadWPrkQ92gpmYYEuBRRQfFBzqjDy7rbGWIza1HoZAkAuKwurs0dUhGFu91qojutVn0/Ws9179IqqlMWLvZTBn86O/Xdo2Oaa22cW1T2p82pcx3Gh9ak/6GlagNiK0hOUDpMEuFck7wB8cwPX0BB7qsms=
X-Forefront-Antispam-Report:
	CIP:205.220.161.53;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0a-00498f04.pphosted.com;PTR:mx0a-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700016)(1800799024)(22082099003)(11063799006)(56012099006)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	NgfzUWsKyGEHsefSmd7WsxWRq7UIQ3gfu1/4m5SZms3WfixDUAa679TSLIB5bqdu2ZS8OSQxUibugpBtZhIhcoP6zYGjvnY2ei87NeameDG23QQPjLRWzxok3T4rrJSTpdu7cFb2ewsGDOs7cpzseUNXKQSWj6nTb4P+FG4HbTQQr5zE2lzVDTOzttJg8WWbYlqCM+mCMWFPA84ZjJ1ZwBhhVqfOM4qufsAlkqgc+PhtKYzoa9Pl1+hC5U06fXUmiVFIp52ecrYoPLI5dc2ORHYDRXgGSdZolFa4YBm31rqYrRCw3NUqEvqc0dNSD2j2eDQ/prsoYjp2eL4t9uiyu5T1n+e95X3UbAj3DhazNUi3poaYew0UKwOlAokoqPv+dpAOk8tjU6hVbrlmilD59xuZmeS+/rLBxbRJd3UYSFE4Z6DlsQtCpPDJf2zsa3NF
X-Exchange-RoutingPolicyChecked:
	kZATyKkFnoA88EVIVfU61kg1Ya+m3Y/ccct/wrJb+QPUWmyU6AdEMMy0madipk1uZVk5liqlKxG9jQN2FOcVxzYR1u13h9ShOeSpubJYaS3hi2lsn70X+BIcY9Sn0se0DSJsi+OX7hBobbEt/gwe0J9HCqj6cbDNBKXHqrvIx76FNyYRbKAaFMFtjJ+6zvME+zOBBM/yCDuqa2RajBFKiSimuXZ7jpi3MbEz1isF+8JlvAh3hH/OS9t2U7zVe1lykc4uUKgTk5tipadYb32f5q+ckxTebo3Ze/LO047N0AeB/sq/PB7GKw9fuKtNBWJTGU94SI74iPZfVRIsrr67Jw==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	NJFQ51b07BXrhSAYhb5GEziCCwxybs7EIvB8IY4z0pwJKPOzrOlTZKw7PGl506yI+S+O2aMjrvjyx7EvIcVcCNXYonTHu8PfXfyr0QyvFircslnem3AZHtLcr/gnn+ita82y6J3dAYPNPCCbpTcomXawroszKU20Pg4QjGO96BKX58KCaE9UQiYBz7G1e/Wg5+G6e8vU4PJRoOeGpSgfSBFpFa0RzDASRuZ0Yu6VE3eUMWBr6RgndoeP17qG/QCRlcfLVZXCTI6aC4/t1MDjuhvk8gmjaJZCrR+OE6mO/2KKR/IfpGWJwEZRrTo+TjcTiK72MjgNENtoUH76Ua2ERCkQj0MGvZKyy9gMCVMPuVJwBSVTxGfWKVNL+bpOcD1kOAaegO96jJ+3OjreiesA30nSA1db5CdIo2QEfn+4N4yudt2ZdlPFHlaUrbrRfoMKdxWzWU+Y1Lhe1vSBAX6GEHTFS+C2142/233YzyLEoMwyNyh0ApYVwFBGswNWJpdAbczOnbro+ISZIC5D0w46POnDkT1sYFncJlfpcGv+QyDaae24hp5N3G5C3ccyJUQ8eSZcsLh7xWzdN/kz3HIxH8ug5DafShhHbfjhImgQDrkpxHDXhE535ZIESHDDzBA9
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 19:41:39.9206
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a6f70066-96c2-4d81-be66-08dec1a82204
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[205.220.161.53];Helo=[mx0a-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF00004FBB.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR16MB4852
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAzMDE5MSBTYWx0ZWRfX/9NVpARscK0G
 vCZYvURTDD/RJtLMRJ66Ijo8eiK6DV9d1ra5kH/iDHYxKudzvavG/ocAG73WqpVtcgA2020+wgO
 flcji25MDFRH/hEpGF0Vf7TlFVggqiiVLcA8Nf0SIrylrdURP+M834VmByw6n1sKQ0QJcg6pvf+
 iVNx5XbkQmmAoboN0tgqatD2RWaRH4HqYc32opJF4k4AL4nmj5E0oGMVQUj3Tn+AXh17bbYnHAK
 deiMQeE1EYR+w0pV9y2N9rJ0/gs4uZaAzX5QTDm27c+pad5Rql+5QrQBxzz11HKGTL/0jumfPyr
 hzRFzhBly2SPaz6guhOJIUs3mk1ArknTpGMguT0dMyEKYEg9vVLQwbkN5CBPYaw6Ah7DyU31y/C
 1mZkOt7gxAmLMw8zbJT7gmBaZ4fdpFZcvuIRQy/qNI6GYvtI81IuRJLQLh03WVuByEUNIXNarwa
 Ke6wRXn/JCh/sKx6fXg==
X-Proofpoint-ORIG-GUID: dFoyAUzRHAkAGXCIoNzmmp-QWeXP5-Zs
X-Authority-Analysis: v=2.4 cv=Iv4utr/g c=1 sm=1 tr=0 ts=6a208379 cx=c_pps
 a=G7eB82wliUXyOHlZhtkITg==:117 a=lOEMawUel/sSvQipkIvNbg==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=FelO9ux0wxsA:10 a=3PXLN80vpJUA:10
 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=P_n1zlmtWsCQbjROFjcg:22 a=WER9OelvoqQQjwJToBYG:22 a=cbNQJ9GKAAAA:8
 a=DBfv99YmAAAA:8 a=VwQbUJbxAAAA:8 a=Pq0mfAL3NuNqQaD0pm4A:9
 a=G69WFyCBNqGPyalROSdv:22
X-Proofpoint-GUID: dFoyAUzRHAkAGXCIoNzmmp-QWeXP5-Zs
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_05,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0
 phishscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 bulkscore=0
 impostorscore=0 suspectscore=0 spamscore=0 clxscore=1015
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606030191
X-purgate-ID: tlsNG-16d1c6/1780515707-84D62D75-C75678D4/0/0
X-purgate-type: clean
X-purgate-size: 1440

Switch the log line to argo_dprintk() so it is enabled only in debug
environments, as it can spam the logs when a dom0 service using the Argo
hypercall tries to communicate with a domain that is still starting up.

Note that this also lowers the log level to debug when the argo_dprintk()
facility is enabled.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes since v4:
- n/a
---
 xen/common/argo.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/xen/common/argo.c b/xen/common/argo.c
index 28626e00a8cb..98a3db7fd070 100644
--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -2034,10 +2034,9 @@ sendv(struct domain *src_d, xen_argo_addr_t *src_addr,
                                         src_id.domain_id);
     if ( !ring_info )
     {
-        gprintk(XENLOG_ERR,
-                "argo: vm%u connection refused, src (vm%u:%x) dst (vm%u:%x)\n",
-                current->domain->domain_id, src_id.domain_id, src_id.aport,
-                dst_addr->domain_id, dst_addr->aport);
+        argo_dprintk("vm%u connection refused, src (vm%u:%x) dst (vm%u:%x)\n",
+                     current->domain->domain_id, src_id.domain_id, src_id.aport,
+                     dst_addr->domain_id, dst_addr->aport);
 
         ret = -ECONNREFUSED;
     }
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 19:41:54 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 19:41:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327103.1592324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUrTO-000129-4O; Wed, 03 Jun 2026 19:41:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327103.1592324; Wed, 03 Jun 2026 19: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 1wUrTO-000122-0q; Wed, 03 Jun 2026 19:41:54 +0000
Received: by outflank-mailman (input) for mailman id 1327103;
 Wed, 03 Jun 2026 19:41:52 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wUrTM-0000zw-IT
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 19:41:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUrTL-0050SH-VE
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 21:41:51 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a208352-2eae-0a2a0a5409dd-0a2a4504e472-44
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:41:51 +0200
Received: from [148.163.143.241] (helo=mx0b-00498f03.pphosted.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a20837e-1dec-0a2a45040019-94a38ff18e80-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:41:51 +0200
Received: from pps.filterd (m0367128.ppops.net [127.0.0.1])
 by mx0b-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 653I67vM3791116
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 19:41:50 GMT
Received: from bl0pr03cu003.outbound.protection.outlook.com
 (mail-eastusazon11012067.outbound.protection.outlook.com [52.101.53.67])
 by mx0b-00498f03.pphosted.com (PPS) with ESMTPS id 4ejs88s9x2-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 19:41:50 +0000 (GMT)
Received: from PH5P220CA0006.NAMP220.PROD.OUTLOOK.COM (2603:10b6:510:34a::7)
 by MN0PR16MB6474.namprd16.prod.outlook.com (2603:10b6:208:4ca::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 19:41:47 +0000
Received: from CY4PEPF0000EE33.namprd05.prod.outlook.com
 (2603:10b6:510:34a:cafe::5a) by PH5P220CA0006.outlook.office365.com
 (2603:10b6:510:34a::7) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Wed, 3
 Jun 2026 19:41:46 +0000
Received: from mx0a-00498f04.pphosted.com (205.220.161.53) by
 CY4PEPF0000EE33.mail.protection.outlook.com (10.167.242.39) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Wed, 3 Jun 2026 19:41:46 +0000
Received: from pps.filterd (m0373460.ppops.net [127.0.0.1])
 by mx0a-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 653HiJpR912828
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 15:41:45 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-usw.ser.proofpoint.com
 [34.209.42.160])
 by mx0a-00498f04.pphosted.com (PPS) with ESMTPS id 4eggrxycfr-16
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:41:45 -0400 (EDT)
Received: from localhost ([19.12.92.221]) by cmsmtp with ESMTPSA
 id UrTCwy44ZbrKTUrTDw0Yzc; Wed, 03 Jun 2026 19:41: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppford; bh=kkU
	OyJY1LbcdgYZnCI7pAXvD6QE+RD6OVyTm47+DbO4=; b=R72UkA/Iz1VY9WSO4/n
	Sp8ul0U0QxDg6BquF+LLgYub/32bnKVkMlWG2VLNconaEqDsPXJGOVaqmSDO4D0D
	ygKpXUD0HEy26SNCBxq7Oh5f7PRCNVH/9tFaZssYBFZK5Mwv7q7Sie82AIICISyr
	9/8tBOdiZxQ3VNkZVToBjvoO4f8W53rA8nGjiPw/GHI55D/UJnPjZ2OGtdE/tJ5k
	4NAO5gcjYwMMHp3k4MlPA+pCAcI3eLM1NFIZfa+nL5fwqUyM/paIpBQkP/x77zWB
	V8RuUmmLCGmNthw2Ep9H+1IEgZKLPM9LN4lCbYu+bi+wtzsZ3MmDk6L924TLA+9n
	pCw==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=CeVPDbONnyDgSjGG8bLRZzX4U6oGpLoQUGW1iGJDb5R7EM6IfOo4tbrO3qJTcC5ibf93hQ03kpa8oLkEw9VLfaF8Z4rGNm57DLX/EJs6ZDJ11RKLrrdPp9biXVQiae5A2kyklezlZD2+lVe0YLo+3k3EJsC8oQqo0fX4+hhtmGSZkQxqFmnbTlrtQzNt+JF3PcHiliOyzjfYI52jHu5jnacabPdf2T+Uo37kIv+MhzQW6L0QIoL346qgCnukoRfWG7f5PsK5b50h6lwESAfmgp9+CW+FKGQEIQjMSIn+xu9Q1pQtDQju2vOz6RK0rIU3vqTUJfXEfhXxNR12glhDRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kkUOyJY1LbcdgYZnCI7pAXvD6QE+RD6OVyTm47+DbO4=;
 b=sKusjbwEpGlIj1q5o25eKwie0TYAvIMVqKVw/NZxPwLyD6ecmni7ciat7Qa2fNRqUmaMFWPycbElpWbPYOTYS56MmG3Px9WG8wHsfsCYaWRveIoWdhODbqxQAGdKStvj778fuRkZwybpwfEWaLmiG8qpLgGmalrmhWjP/I9vPu+c1uwJ/sGyqOncErVWT3KtZHIrrvAkSsN3oRPf19oBDWY9AvYj/Ojd8AEmcoH14yXy43Z66MN9wBLn1fkvVJc7t9taJ9HSFMsPLxV2fd8cLX1lSbxeCbn967q01d843yn/0bshLwfHwfGlJBqHlFb3jVKevncM7HWqRdDYAQZJkg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 205.220.161.53) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kkUOyJY1LbcdgYZnCI7pAXvD6QE+RD6OVyTm47+DbO4=;
 b=PssV5tj8DHkpPT/PsYmd64kGIjKTp+aKIypb5irMypg1SM+PxZEldMlq8mh0g02PG04uQ2HH+W+ngKH2NgLIPIVcrxtCSY+Oq7mDEGLeRU2IRumwR6vPjnftPECs/gQV5E3ibYMHJ6b3VLm0aMaXC/MKwcYspyrGzMOIgiuEFfY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 205.220.161.53)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 205.220.161.53 as permitted sender) receiver=protection.outlook.com;
 client-ip=205.220.161.53; helo=mx0a-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:date:from
	:in-reply-to:message-id:mime-version:references:subject:to; s=
	ppserprodsaar; bh=kkUOyJY1LbcdgYZnCI7pAXvD6QE+RD6OVyTm47+DbO4=; b=
	Z/W0MlorFxP7pWBStXTXk74MVxsoWJN+uJmS5LZqufKq+gERByf/tdGZjnlFTuUi
	B66qtiFjvZ9jkpYNxlGzlcUeJPSCbdeJEpCx9Vwvr39BrhxXbLXKkI3HrpzwNg0o
	FGBFTQcLLhej+xn+agL2JsET6lylyHIUjjEGY2184BkphjqDQ0rxgwoHmAeP/uHQ
	xiMf/zsFguJx8zIsLBMFVjdp7sGG/pHIhOghDJwDutvBOQwLh0/+UrbBMwv8H7OO
	zUJdI9ShNP/zu/BLc9Jvun3UBsRawPVlhcovPk3TuBvZ7lwxGK+ZuwRtSQrPsDXh
	iTkK4lXfKMS3AmN1C2RIMw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:date:from:in-reply-to:message-id
	:mime-version:references:subject:to; s=ppfserpocford; bh=kkUOyJY
	1LbcdgYZnCI7pAXvD6QE+RD6OVyTm47+DbO4=; b=C1LVPiFhue1wfIiHFKbGthd
	BURoSZBNymsPYTq1eJK3XoyUWfZskeFmGlz/ym1m+ZozzdMXaNLOk8ikHoqWaTEs
	6NcBKtsXZj6Q/JMFgn38GFqEMOjPYNM3zGEzxtH0ViBm5h7OjucVr7hBu1zlSp49
	8GSpVqNEOzVWUqqcByxPbThy8TlVcne5BCf9VxQLw6YTGmAzoI9mfxaZqgUUtij9
	TaF8OfMciHyS6lUVa2HIe2vD16TI5FcIwRKgBTeuS1nMb42+nIhlFasidBWCNeC8
	Q5fBjZfyfv3HNI4+ZRA4N0CTp7iT78oVtPY1UFv+zZ4CtztXIWNK5vRxRAqtdaQ=
	=
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: UrTCwy44ZbrKTUrTDw0Yzc
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
To: 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
Subject: [PATCH v5 4/6] argo: fixup argo_dprintk()
Date: Wed,  3 Jun 2026 12:41:29 -0700
Message-ID: <20260603194131.1468654-5-dmukhin@ford.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260603194131.1468654-1-dmukhin@ford.com>
References: <20260603194131.1468654-1-dmukhin@ford.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_05,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0
 lowpriorityscore=0 bulkscore=0 malwarescore=0 adultscore=0 phishscore=0
 suspectscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc=
 route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606030191
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE33:EE_|MN0PR16MB6474:EE_
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: d48d06f0-10c1-4ff4-9501-08dec1a825ad
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700016|376014|82310400026|1800799024|22082099003|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	m5kmXhcSS9vfZR2y/vtAY3HnsW4zWUqpXBetNYzTgjKx8g85xAunfT03rRphDGXRhUAImCG5l26C6t+XUUYDcpv58Xc4l2I+oIDbTIEjpoUG5qoUK4MN4QhJkPhYMkMgxAP3R7V24YTgtITjcu86s+b3Jn99pelZZ2cit7AZRE/n088tUu9FhwHIsuH20GtG2FoktLot1hdmilGaDP05SitmqxHwKcdrJamxZubVa5oGQFbCbX1KLp0Uu7H7P7EsI86LUX0sRd5zLD3HW1jQswQafoG9kMRX8vLduZfql6JE5ZLbt/kDMnFuf9pFlreazF6g+JMOMlNhuzr+4aR4C91OEE2eo268ZtKLW2TBI3GRMEANZKD2Mm5fCCj6cpm+rR2+vqHpQb8bZURRMyuv/B7tfbTnu4J153LTdbe0GBe9q6THcTUJbpldRvwfNIdz5o5icnhZw6Zzahq7B8J/bkCDnsjzaigG3ApaMXTH5iaiypNgBAjMjMUMk1Z+kFmZ04QQOjrGpq0pX9AM8pn2PhEHTw4NRYIQC5vzpX90ms42Xu03EuxZ7FHM4w8kAHAkmJS0hds372ZoGUks36VGdVw3n652ojAS+0n9RNuEZ3kAELli0ODNEz8pXSBeJoKjNIRr3oMCqFuaFvTSVh2TiO/SCIy6LxVbAY10zIiU7YICWnVY81t7vLl7ghqVkPMthyQszK+fze0k8XCf0wV6KS62K3Gc30QZa1GU3rsuNuk=
X-Forefront-Antispam-Report:
	CIP:205.220.161.53;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0a-00498f04.pphosted.com;PTR:mx0a-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(36860700016)(376014)(82310400026)(1800799024)(22082099003)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	yiCYX8LfHRVcNNBrEtvOVNJ2JfAT8lyYgyGMA3ul+qACsLAS/bzuKsCsZZWV3mpygdNAkI2bz3s8oxkTicsr92oV2R9eaZBEQv9xEhgcYathkAzih7DiPL47RFqNePocUfXiVpkehh7tBqEEDQ8i+El9vWbYYEFQYjsgczHf52ooSO56NElLidpp+S4MC3bAs83brPOJMaMnkxBY/h8Ut1FcVhIKyBXvaAQuBXLTDDzLrmBUnPamwQjrPc3LVlPbfO9CCgXHkdQ0P3PN1MJhyat0Q/k9TQjonzO7M5RO8q6H/Oxa19jgyS4jnc9ObkEa/P+TVXFiKGJJmA0ibDamCf9TbN+RmUMvYPmYHXJdaf40VpMbhAOdiOUOf4xrl9TvZvvrouhOApQxBmqsk2Nhf/wDMLsEwMr/SnIB4bE1dyG9hCEH++4cJv966hjrAT+U
X-Exchange-RoutingPolicyChecked:
	jUTnbMf09R/YXdlLzyJILOM6/GN0xexM9LQCeNoq9qg256wIX71dwk/9NRgke/Icjnozc4NPoq7sZX7YObuxnqjJsiDRjVPhOkqOMj39XpSovpUAdXflgT1VoP9peajIKKpQvRiwDLKDpES6466b228ZXfGTPVRJZKzQ7qrmcRsL95QeaM0adDzKaQyjJfh4Ns/gWeYhnSX+oc6PKZntpXLyyw2OEhRKWGP+0DxerzQPkJjemEwENlzd7zbIog6jz2pbigJoeq3Byr9BhJ95x0PJuI+bKlNE2CpUA8g4yQfuaGQH+S0kY2naTJlaD3AESALeGABIGhVl/3Bm7oOtTg==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	ZhOyfzwD16/Fg5d8IZNC0H9WtJ1605Us7Sf/TVZATLdQ9VZDE2eson8B+LN/VakT1Q5yeOQXa3k2ZwJVubUsCYHhS5Z8rfCdI/vT815CK3igK+IB0VcziJGl94o4sb42hpeKdY+Z82714IeDAThejHJRf9yWtsLJ/R0lC1Zry/5hHiIqKvn0ZZogeyXEc6LyfB3AYB5iy3JZweXdUNt608ggq49ceTwVp2ORJSLIFOmL78P8G/YlcrRNzF+62ESF04eOlAQ73va6Pz7WDqF6K7J+kg9p/TA8YypisRA3lvq3kMM4GBRhzugYDoSAML6BW2zrJHsIVF4uvqzD7pLaJZof/rwONtMIkThAy6eFovd0cEPJPyPiFCtGWC05c0ChjzHwI8CZoJn3OmivdYvZGDPv4S7C1l/RLhIJV4Bbzp1xcDn4smsghCOn4ztyyIrRfDRK4RDC9mIn8uV4/qArxFNaKY1mnDBNtvgS2r1gJwcayGaaqmUGeijjXtDbRRrzMOU347/f5SoYmwMUdZ68wo/rlYdBB3gr00ncg1U2hK/zJOYrWCOoNRIlWJu3vp79T0njs/IhXUATb+tRR2jKdOyx1fzOusLiHHvqJglCgxcoq4wLs1hQ4ksZRaldvBWO
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 19:41:46.2532
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d48d06f0-10c1-4ff4-9501-08dec1a825ad
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[205.220.161.53];Helo=[mx0a-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000EE33.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR16MB6474
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAzMDE5MSBTYWx0ZWRfX1/xeUFfNr56k
 JGHwsuBub9sQLLR1mRz/xB1JyjQrCC35kaO/n79m3DKjFZT1rhe5IM934zA88G6RPa7p93yR5j7
 OhBIs8DHcyuQ70PRL8HoDer1PYUnXbOeKompjVYM3L3MAKcehSivuXVel0JPg1JZDJmV/Fis8PX
 PBXHUKrr4dAAGgcbXSFInzpYFsF9p3354eKWN39rE/b/7CQwSXRqwFXXGY1oQkba96IWmUmuzlr
 jHFukGfmln6Xiuy4l3HIuXjixUSZxSWZJnHabo7552sPaAhrctw+E5snuCv+XkNuN4Ker7VcbPK
 kReqVUS2I7lOWW1Om5dFv8ELCmwy4j/gsBPK3QRC/31Krbau9E6Qu7Io+DlsXtoVN1S7DanQwKB
 3//95oaud9dzinwlov0aT4Wtu6jhEJRUslvnWxD6zMl4XbZLfyqfmeS5K9TJxVUrIi3mWcWBcl2
 rjOD8nGGlbpZ083jTzA==
X-Proofpoint-ORIG-GUID: AKoQTx5sZqu3xNEpRVvwDvKJyhIaj1-8
X-Authority-Analysis: v=2.4 cv=Iv4utr/g c=1 sm=1 tr=0 ts=6a20837e cx=c_pps
 a=2WPJyM168hjBdVADO68ohQ==:117 a=lOEMawUel/sSvQipkIvNbg==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=FelO9ux0wxsA:10 a=3PXLN80vpJUA:10
 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=P_n1zlmtWsCQbjROFjcg:22 a=WER9OelvoqQQjwJToBYG:22 a=cbNQJ9GKAAAA:8
 a=VwQbUJbxAAAA:8 a=pEvCPAv3zxDdP9UjV28A:9 a=P0bj-C3X3jJDpopQwM1U:22
X-Proofpoint-GUID: AKoQTx5sZqu3xNEpRVvwDvKJyhIaj1-8
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_05,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0
 phishscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 bulkscore=0
 impostorscore=0 suspectscore=0 spamscore=0 clxscore=1015
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606030191
X-purgate-ID: tlsNG-ebf023/1780515711-2AF653FF-7341D548/0/0
X-purgate-type: clean
X-purgate-size: 946

Current argo_dprintk() implementation is a wrapper around raw printk().

Rewire it through gprintk() to allow for better debugging context
(such as domain ID).

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes since v4:
- n/a
---
 xen/common/argo.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/argo.c b/xen/common/argo.c
index ffa1f43437ab..3c38a51d09a2 100644
--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -322,7 +322,7 @@ static DEFINE_RWLOCK(L1_global_argo_rwlock); /* L1 */
 #define argo_dprintk(fmt, args...)                      \
     do {                                                \
         if ( ARGO_DEBUG )                               \
-            printk(XENLOG_DEBUG "argo: " fmt, ##args);  \
+            gprintk(XENLOG_DEBUG, "argo: " fmt, ##args);\
     } while ( 0 )
 
 /*
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 19:41:54 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 19:41:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327104.1592330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUrTO-00015V-GC; Wed, 03 Jun 2026 19:41:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327104.1592330; Wed, 03 Jun 2026 19: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 1wUrTO-00015E-9T; Wed, 03 Jun 2026 19:41:54 +0000
Received: by outflank-mailman (input) for mailman id 1327104;
 Wed, 03 Jun 2026 19:41:53 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wUrTM-00010E-OY
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 19:41:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUrTM-0050SH-57
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 21:41:52 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a208352-2eae-0a2a0a5409dd-0a2a4504e472-46
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:41:52 +0200
Received: from [148.163.146.23] (helo=mx0a-00498f03.pphosted.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a20837e-1dec-0a2a45040019-94a39217e510-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:41:51 +0200
Received: from pps.filterd (m0384718.ppops.net [127.0.0.1])
 by mx0a-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 653I65bT2842805
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 19:41:50 GMT
Received: from cy7pr03cu001.outbound.protection.outlook.com
 (mail-westcentralusazon11010012.outbound.protection.outlook.com
 [40.93.198.12])
 by mx0a-00498f03.pphosted.com (PPS) with ESMTPS id 4ejp35kg8f-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 19:41:49 +0000 (GMT)
Received: from SJ0PR03CA0028.namprd03.prod.outlook.com (2603:10b6:a03:33a::33)
 by BL3PR16MB4394.namprd16.prod.outlook.com (2603:10b6:208:339::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.22; Wed, 3 Jun
 2026 19:41:44 +0000
Received: from SJ1PEPF00002319.namprd03.prod.outlook.com
 (2603:10b6:a03:33a:cafe::13) by SJ0PR03CA0028.outlook.office365.com
 (2603:10b6:a03:33a::33) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Wed, 3
 Jun 2026 19:41:44 +0000
Received: from mx0b-00498f04.pphosted.com (148.163.138.245) by
 SJ1PEPF00002319.mail.protection.outlook.com (10.167.242.229) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Wed, 3 Jun 2026 19:41:43 +0000
Received: from pps.filterd (m0426315.ppops.net [127.0.0.1])
 by mx0b-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 653JCAq0035079
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 15:41:42 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-use.ser.proofpoint.com
 [3.215.31.156])
 by mx0b-00498f04.pphosted.com (PPS) with ESMTPS id 4eghss7bg8-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:41:42 -0400 (EDT)
Received: from localhost ([19.12.92.221]) by cmsmtp with ESMTPSA
 id UrTAwW62g8Hc9UrTBwpUVs; Wed, 03 Jun 2026 19:41: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppford; bh=qIm
	sTviORXUZipzsL/9ak61cQEum4Pv9cghsd2aYr38=; b=uafiZPL9XavAIc8agiL
	buNxTe/0Yh/+DuKX4odcg800Vq1cfd+XLTr6/VSwTJc1YYrLXn7kbOACAhmCZTcT
	xc+cS4K9MWGXnLgtKE7JLyuQIoFOeyaNVgbT5kRuJfgkNfR68CRN0MfNKTK4APvA
	b0Cht2dmW8sz701EzQKvOHu9JJLhClmi83AfIFAxstDTrhA6pijYsD2l1TQE5zSl
	jMbwtu188lubAuYkJHo8F7/AEdB4eaX9j7vIj0yOPMtKNzsuipD6qz2xzB2OUQWm
	10c7oXi9kSLELO9f6BVKa//3GoXcM2Kq1z2uSIM92LpB6NNn+wZZSxG6ma2ksdYk
	ZeA==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=w8N8Sm9yC4Xj0VfYPpPvI6Q8B580TBcooDo5w0Zjusq7jZLIg1s06NxDPXv5k+fVfW+4r6uh6qOmnMKQm42+MEI8o0mAmJHwt8Z0gEVAcxeqaTY+vwZ+pr6fd9Vx3vTos4UgDLwoDhxkla91PaPd98oA0qD0VLfC8VGdVLehprxuxjb7jdGWujA7SDy/Zxwj5tbM9NzyailkwbMmj10It6ncRgN92a4SXpH8nxaHC71umjRqR219S4czsDjoHOWhgsgddqOd7HbrMUfloTBUgPmPySoxtNS3p/GXza/lc6Fq0vimboDbLfSiYyqrsa8olhfwqGoAUdlOrkiivfXO2g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qImsTviORXUZipzsL/9ak61cQEum4Pv9cghsd2aYr38=;
 b=FL1BRC+qucsqSLidAzBa37si6hH4UBwL/2PX0cSW2Wnmu49tu8gX/TyJCyeB0apXZcGyDJUZptXz9gjAJ6Y1OFJ/Rmk1u8C3YwyJN9CK/3rmi2OMFXq99thrnuw9kx877VuWt3AbKcm+NEm8edxQugDvq+k/vDqdHfzxTnSwVPPILbYTYgXEXfjLlsYpC7oDqD8RV5SmY0Zk9sdf3Vtvj+jtxs9VSvv60nlSUX9yHymmlfuMcUzkr56ngzh5Yu1A/rjDCZ3wJQ8Oi79gLZiWyYVDmJnYmS/qEZzHHUAO90ByHjXxMGp1lBGa0rD9YoqfkjTFDaQZ9wiFnCLPMLdejA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 148.163.138.245) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qImsTviORXUZipzsL/9ak61cQEum4Pv9cghsd2aYr38=;
 b=ddgCzY5hHWl3xTzjdMk+XG37zafVZcNfUJPKyXgS35BXW1dr5E85knqRgZJVVPhGjqnL4lVMtj8QnXhozWB0gMfV4zbG2PI4I63cVPQgVL7ZCaLcWzsVa6iJq/c/MLsbMkG3JrM2UMeja2bI9XRy9su/H9Q4pCj0NGDnjL5u5bA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 148.163.138.245)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 148.163.138.245 as permitted sender) receiver=protection.outlook.com;
 client-ip=148.163.138.245; helo=mx0b-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:date:from
	:in-reply-to:message-id:mime-version:references:subject:to; s=
	ppserprodsaar; bh=qImsTviORXUZipzsL/9ak61cQEum4Pv9cghsd2aYr38=; b=
	oGFV2087wMek6u6WdSw/GFB1w5khe6Xy0GQ3zHOI6tC9ZpTC5jK+zNcjyhE2T52h
	i7NNng76ld6V8sjLIsY3gizeXxx7T2b/T5mC6HDt+H9QlEd85lIjpjovp7Nd1RpS
	NNHpkM+2pqEzeVQODRo4XgOUAHZz+GEFrRi5YV2g8PAE7IBsqvs4yNp0HIC5526e
	D4JgKHEFu6rytt2vU9N25VeyOR0F5KTIBMTYOWS+77g9IYM4dAcM/yaPUkuU3NF1
	UGFTRGbPNf5B24J1uWmYb2z2/Ljdz8Yrqtt0KNt9MbPQaOKuNX7f0JDqtN38J5nk
	DDQXkYjWKvPO5nUcWhOoRA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:date:from:in-reply-to:message-id
	:mime-version:references:subject:to; s=ppfserpocford; bh=qImsTvi
	ORXUZipzsL/9ak61cQEum4Pv9cghsd2aYr38=; b=KJuCMfXbVfQYqqeZ/zGt993
	3wAE1I/Qi+AcvAz9vDTXEY9bwsO45RBKKhhxU+CSwlMQ5L/rZ4N4olFY5OpVqRiS
	V4X1SYVBFHag85EVdrJRyhHvI8SWhS1fJp9u+MIN8HNu6+gl6q42qxBC5DBuBuAg
	INpusJZgATIppwdMWqVL2fnrlsJIQ4IeEI9wbK+biqFl6Ktc36/D1/Eji9kWb85I
	0NakVca+cMoajnyWX2yrUg0sq7N111g93WUGZ+e0hNh9EycrdaKizw91v4pOrqIo
	8bSmak7r4NkXO2ipWEr1+jscPNjwFg8XEvLUr2P6aF9xJLnpXfVa5D6RK43ykRQ=
	=
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: UrTAwW62g8Hc9UrTBwpUVs
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
To: 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,
        Mykola Kvach <mykola_kvach@epam.com>
Subject: [PATCH v5 3/6] argo: drop argo prefix from argo_dprintk() calls
Date: Wed,  3 Jun 2026 12:41:28 -0700
Message-ID: <20260603194131.1468654-4-dmukhin@ford.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260603194131.1468654-1-dmukhin@ford.com>
References: <20260603194131.1468654-1-dmukhin@ford.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_05,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0
 adultscore=0 phishscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0
 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606030191
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00002319:EE_|BL3PR16MB4394:EE_
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: bc672c73-0032-493e-7e16-08dec1a82406
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|36860700016|82310400026|56012099006|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	O0QWr43i20GsBxkTR8qoeEe53fYaxKk/L9vpo0gUGKfANGLhsNYUybaYmGK7+l45AeKdx37/TMqV3hhn8wyQXuL3XmwO0JRTBYoXUP7Ycy8h/O7XQIxKAc1QWXnupTCF3u1rxnlSZ5lER5XF/+6brpqqSz5FPK1rCBvcEMcPfoGbhRq+9tbth7kIZG4hz4o+AamwhZNCtqpBKl3NceOP1SxZkN/dLRX5cMfcRowJZHJOXBEZk+SL7vqO7nozYexFEtqpqxI/ZvPpjTEth2GNS50c5jCFr2ffWIx2yYWjV1rlMlT4+rRjbR4JwAvNtxnKHwHkIyBOg9B6+SXz7u9uaPdF0vRmsqH1mYwoSgiXdAZ+3DlMauz8o3HNmZtTwHi9q3zJdWF4rug3b7wLbVh6cKsQALHyH3dcNiP3sYXieVVbuQuKNm/kjGl1B0lhc7ZPwJl3JAX80enEYDpOyus56hucCUTZ3Ok0xH5JzWJv1qrRsyapPOIvyNeZ6EYHmMfX+V0z1WM0950AGgkAMjQ5EQ2udydwII62H7PwrgGewiisz5a6R4/SVEDTCtX0LuBlHxasAZ4bYAqb3Gva+L5sDu9Sgl0o3hCHcmz4l33Z3xRNlFgZ94xyufzMwijd59PinseuzsV6ehPdj9RWCxdoLo22Pk6pUU5MQ73QnAe3mzaltNxUbx8dEV5nMssc0VmVT5PZIe54K31tFd/bh891gu85kg17kzK5eSbRNc30A9U=
X-Forefront-Antispam-Report:
	CIP:148.163.138.245;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0b-00498f04.pphosted.com;PTR:mx0b-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(376014)(1800799024)(36860700016)(82310400026)(56012099006)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	eD7kfx4v12fhBpZMD+uCQYRBOA+5/nj22K9e2abF36nqFZfr2Bewui/ZsF8QydcYgDNzXcIILfOso64H1ZJaaeKUlMORpW9z9kirjkRDRFpqvFE0aR/oaH4SHu5xAGR5uYhY+zv2NnWDZzw9yn9XIB64Nf/Is9EDssjdsC2o/jqNSMOCWI+FOEG2DMMhZDr1N7pfOjsU4Q/9FSKEkBBUCHVG6lNHkvv8or5rjYOnlItnH1804JILYTXADaCXHwGpHkI8Zbgrqbve8JHJsIuNr21OI9VPDMJ4vgj1OkKrrKNMcsa24LeTcXkTXinLIZq510e1OZezUd8/+zC45kmrZ8g/9VTaXBl8F5vSOLZWBzlOkd6GSMgDAScILLIR60gSuBntU4eZdRe/UNKbbB0tr60vnSvSd5NOjBSrzrTxsLSilqhMlK0rpeonQa06cJsK
X-Exchange-RoutingPolicyChecked:
	UpQnovDwLusJMIpdjVrd1lL4651bz98KGHRa+HeEX+PxfKnOWRo+esUQoAe72mmjOvYRkoeK6GtzErYt+p1Z43rNZV4J0287yz4ZvKEWw7BAXWqMT0if436v0/HVF/O6jMIEqjNF4Vfm0RoCBFRC5171cnZM/tBRjCfzZYu6IzSmUsoVqi87V5cuxAHnsBAMBjr9pHbijkTkI/tuZeRubpVTKoGcWIB3sMA8xMgPI6Lc55/kdxJMOH7u0xJB4kQOQnSYCgZ1TbAjNYWY2emtQuEjTgrv7OYp0ACe5Vu1rr675E4Pc9nnh0rOIgt9N6i5a20qo/9mY8KJTzMaKlfsHg==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	/S6jOBho7fTYzxekXYn1YqmtWlsoql44hWQUDeRrYt/f5mCfT9p/jiPT1+xpKOAnspyuMWYyOUilQUlfzR8EUHzURLHbXMBDschFbxLgROBEL3XiFDBPSs178eOJu761G5Ejn1wkjPywekY+KChLopc05vHHHU7g3xZCbkDLQV32qiLY9lvLBQwkte0FoR9RSC76QAKP1T+CKfXASzQzAMHFVq4KwCf6qMcTB5yBFzSF1V00WJq0S/eS1+vNGxuJIkHev+QHAP2jfTiwO0yciacBhbQUSbLpk58NT0uARWYL05nuLvvfTHLX5xAc40939wruKQuHHaMETC2TIdQ7LwkqdiCMbvdBp8oF9+ChkS2wP+3ld4SXilFBy50iwuRmThuH+n9+oce6N4gifAgR+HfuJycgQxyDjkAswYAU90zhcnNi2F5rLLp9M3pGpnKxIR4nEdpzkUrL5tRDmPwFseclzsvpMjRYqIfGtL1ggwA+tTNy3ks8AJE0TiWdKjPsxu7ZSfmqYNr5Vs2ceOW2s/F3gpI4Dod0EhcdZ/YoZ7Gzk05zjPeUzKO6ygI+lq6ntXl4g6e+cTN1dbruZVbY/Yzrm+QnR1SdGw7IfLoozefG+mjfoa021ekRzf+qo+Cv
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 19:41:43.3455
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bc672c73-0032-493e-7e16-08dec1a82406
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[148.163.138.245];Helo=[mx0b-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00002319.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR16MB4394
X-Authority-Analysis: v=2.4 cv=e442j6p/ c=1 sm=1 tr=0 ts=6a20837d cx=c_pps
 a=Ho/Krdd5x/ljPkV1+9yTnA==:117 a=b7IhknPlfT0FN1EembXvig==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=FelO9ux0wxsA:10 a=3PXLN80vpJUA:10
 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=P_n1zlmtWsCQbjROFjcg:22 a=ARvDHhclS48edyKYUbLB:22 a=cbNQJ9GKAAAA:8
 a=DBfv99YmAAAA:8 a=VwQbUJbxAAAA:8 a=TweWIa6zg6WzoLAQ39YA:9
 a=G69WFyCBNqGPyalROSdv:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAzMDE5MSBTYWx0ZWRfX3kDojk8avYys
 DGfJVPwomoOGPuC8NaFouiy9mR8ONiiXd5YsfZatcmKe+qwMv0BGUhPOH5qlAi7H1nEc4rk7cKW
 VikRrP0Cib3QNyoVXTMNXqodMC+O06qYJoJRqr+MyX3PPGxCd+qUykJVh6lntdO9ls19WC306nq
 7u0I097DPbV6OUzn845jbfn5oLhqw7dcBVMysT9FbOyrtGuQOp1H0xZABsyvdGhmYpOgS/lGJyv
 mtJv9ozFyNYRH2hspv/CcE2XBXPrnF1NoxLLgDfaXHM1Uc9++bUMnz6cF+fkOZy2Qae+gds9bOJ
 nLtOgsBD6LXlQDnGJ74i6qJebac0OFQp5eKGUT9pFaI/qSuU+wPkeRkFS+voxQ60Y9UtyjUzxjV
 EnWCu82x8suP6IAK1xQKfdFjK5lzR/uisDyK/K8yJdOsQYKM5AznKDq+Tq67IroR8ZZFo+o8FjG
 /d9ZYaTFSLnxb6DSBOw==
X-Proofpoint-ORIG-GUID: Ec4SyGj_g7QhDia13tps7JxJWZwe_djH
X-Proofpoint-GUID: Ec4SyGj_g7QhDia13tps7JxJWZwe_djH
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_05,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0
 malwarescore=0 priorityscore=1501 phishscore=0 impostorscore=0 bulkscore=0
 clxscore=1015 spamscore=0 suspectscore=0 lowpriorityscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606030191
X-purgate-ID: tlsNG-ebf023/1780515712-4014E3FF-33CFC7D9/0/0
X-purgate-type: clean
X-purgate-size: 2395

argo_dprintk() prefixes all log lines with "argo: " automatically.

Remove duplicate prefixes from log messages in the Argo module where
applicable.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes since v4:
- n/a
---
 xen/common/argo.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/common/argo.c b/xen/common/argo.c
index 5da14c929e14..ffa1f43437ab 100644
--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -1467,7 +1467,7 @@ find_ring_mfns(struct domain *d, struct argo_ring_info *ring_info,
     if ( ring_info->mfns )
     {
         /* Ring already existed: drop the previous mapping. */
-        argo_dprintk("argo: vm%u re-register existing ring "
+        argo_dprintk("vm%u re-register existing ring "
                      "(vm%u:%x vm%u) clears mapping\n",
                      d->domain_id, ring_info->id.domain_id,
                      ring_info->id.aport, ring_info->id.partner_id);
@@ -1527,7 +1527,7 @@ find_ring_mfns(struct domain *d, struct argo_ring_info *ring_info,
     {
         ASSERT(ring_info->nmfns == NPAGES_RING(len));
 
-        argo_dprintk("argo: vm%u ring (vm%u:%x vm%u) %p "
+        argo_dprintk("vm%u ring (vm%u:%x vm%u) %p "
                      "mfn_mapping %p len %u nmfns %u\n",
                      d->domain_id, ring_info->id.domain_id,
                      ring_info->id.aport, ring_info->id.partner_id, ring_info,
@@ -1741,7 +1741,7 @@ register_ring(struct domain *currd,
         list_add(&ring_info->node,
                  &currd->argo->ring_hash[hash_index(&ring_info->id)]);
 
-        argo_dprintk("argo: vm%u registering ring (vm%u:%x vm%u)\n",
+        argo_dprintk("vm%u registering ring (vm%u:%x vm%u)\n",
                      currd->domain_id, ring_id.domain_id, ring_id.aport,
                      ring_id.partner_id);
     }
@@ -1781,7 +1781,7 @@ register_ring(struct domain *currd,
             goto out_unlock2;
         }
 
-        argo_dprintk("argo: vm%u re-registering existing ring (vm%u:%x vm%u)\n",
+        argo_dprintk("vm%u re-registering existing ring (vm%u:%x vm%u)\n",
                      currd->domain_id, ring_id.domain_id, ring_id.aport,
                      ring_id.partner_id);
     }
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 19:41:57 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 19:41:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327106.1592342 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUrTQ-0001XM-UN; Wed, 03 Jun 2026 19:41:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327106.1592342; Wed, 03 Jun 2026 19: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 1wUrTQ-0001X7-Pl; Wed, 03 Jun 2026 19:41:56 +0000
Received: by outflank-mailman (input) for mailman id 1327106;
 Wed, 03 Jun 2026 19:41:56 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wUrTP-0001Ud-TR
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 19:41:56 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUrTP-00D1nw-9S
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 21:41:55 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a208378-e002-0a2a0a5209dd-0a2a450aad20-16
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:41:55 +0200
Received: from [148.163.143.241] (helo=mx0b-00498f03.pphosted.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a208381-56b3-0a2a450a0019-94a38ff1ac78-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:41:55 +0200
Received: from pps.filterd (m0384717.ppops.net [127.0.0.1])
 by mx0b-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 653IeCwK1827087
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 19:41:53 GMT
Received: from bl0pr03cu003.outbound.protection.outlook.com
 (mail-eastusazon11012032.outbound.protection.outlook.com [52.101.53.32])
 by mx0b-00498f03.pphosted.com (PPS) with ESMTPS id 4ejsrfry0a-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 19:41:53 +0000 (GMT)
Received: from BN0PR08CA0011.namprd08.prod.outlook.com (2603:10b6:408:142::33)
 by SA0PR16MB3679.namprd16.prod.outlook.com (2603:10b6:806:8c::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.15; Wed, 3 Jun 2026
 19:41:49 +0000
Received: from BN1PEPF00004681.namprd03.prod.outlook.com
 (2603:10b6:408:142:cafe::94) by BN0PR08CA0011.outlook.office365.com
 (2603:10b6:408:142::33) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Wed, 3
 Jun 2026 19:41:49 +0000
Received: from mx0a-00498f04.pphosted.com (205.220.161.53) by
 BN1PEPF00004681.mail.protection.outlook.com (10.167.243.87) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Wed, 3 Jun 2026 19:41:48 +0000
Received: from pps.filterd (m0426317.ppops.net [127.0.0.1])
 by mx0a-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 653ITCLP3759945
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 15:41:47 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-use.ser.proofpoint.com
 [3.215.31.156])
 by mx0a-00498f04.pphosted.com (PPS) with ESMTPS id 4egeypqdm4-2
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:41:47 -0400 (EDT)
Received: from localhost ([19.12.92.221]) by cmsmtp with ESMTPSA
 id UrTFwW6NN8Hc9UrTGwpV8O; Wed, 03 Jun 2026 19: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppford; bh=VAw
	TPK3851+ipE1vB+B7ZFUXoesngUJZjSVt4SHBm4U=; b=p7V8dRoc2V3n51+EXK9
	dC+0Lzbk+zsCdKiSlF4ECF8q9n0Q/10Gnlg0/bcr82Q7VvvU97b0WnvCZFt+P2eg
	vE6TPRpCmQvw0Sj4pE3PUtDKDhMxpqh3lcFsyXPeQI4MWCulolOf0CUrlfQ4Y2Mj
	8wkF6fdFGBAB7F5wphOpyeB5bseOjXpnPCcO7HeX/xKTnmxagujUEbkSDwiTzRu/
	31S/OpSwdJ2zDgyc4qrJrlN1pCB8cbPIIf/xbiU0L1lkoo+ErEvGVGy86ulsbuh3
	y8pY1+F1DGhVvQIwMM34mxoA/LzRk5uCPj1dqjhxhaKCkOI7Q0z2LKeX7a17WiHt
	WjA==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bDY6hFNrFZozNoiDEmYr8+pAJwSVmNER/ZSrhcqM8VCkyzZj92IZ7GkIv9n1DJFA3UHm6b0wV4if7ZoAbMX0WBwu8SG1rw3hQTGK7MFLlvTiROQeMlGyTkx0XbY/q7ZGKU83uAV3VfIpTNEs5FgUcyytfjxJuY7dWAiTKZAxYeSfVwi/hFy5QOLG2WvSaDXqYt2c4BvIH1MNudddcFlOVxCzqheH7qvLFmmzOL/3sadSsQvrygeBQ9c15a6VT7FaYnSBk1csnIhWY+HN29AtBX5/1FY3+k49wPAE5s7Vxvj7tBW4R3ItybZfbD2ALM0hKiKQV/WRFYGp6MpuO+TrdA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VAwTPK3851+ipE1vB+B7ZFUXoesngUJZjSVt4SHBm4U=;
 b=camajsVQANp1dBUxVYPu7v6mF/OJ0/pbvCkvsp8RovoLvxYrOcY4JON7gPnMW1X357S2DLZq4GBVgBrgVMXheVsNfXS6dUbl/pO/NG3P4VDrgR+VbLzkFdMH0UZZqIb/bBiPiLQL1ywT5Iwqdv6df4l6vfpae2Ui4oWwWBwYpQDjWZNuV9yi5RAOBCKPYY8JDssQ/L9zd1YBegsZhboFWh/5Pqj3WJokKOwHZ03+Jjf97A1+44BuZ0hYkF/ExU6dv1tRnqbkILGj5NBJn5bm6JtFtyiTqK+1yvQqK8fKUcu9gAVglCKUsCD34dIYUknF+/crtuXC5I6FJcu9ox2LWw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 205.220.161.53) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VAwTPK3851+ipE1vB+B7ZFUXoesngUJZjSVt4SHBm4U=;
 b=C0/7wvD+cvJ7qor65Lbrkfs8onOhf0uVCIF8F/VWlsBnGQE7abxwp+dmajtf/S5O1cNHqa5od4EuXqHnX5qDl/uAsdYg1oiW2EVaNDm9EKHMUhJfQiGMTfGfaZdF8SCdA6Ug+e21w+NaJDTniPIlQPP9HsoY/NIs/zsDrOo8R6g=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 205.220.161.53)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 205.220.161.53 as permitted sender) receiver=protection.outlook.com;
 client-ip=205.220.161.53; helo=mx0a-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:date:from
	:in-reply-to:message-id:mime-version:references:subject:to; s=
	ppserprodsaar; bh=VAwTPK3851+ipE1vB+B7ZFUXoesngUJZjSVt4SHBm4U=; b=
	YWGK5M1MPUsBy5xS/FplOZgZ4VKfWI/AfGpteGKYTGmoDlOhnj8fOPfnrrzHb+Lz
	9+PbEucm//0P4RlAc+e7QP9TRCQElfEf6GUOJet/D5EHGpkifRg3wResaK+1iK0P
	VmrpESZUfOOrtSyvUYlq9j3hez2AAamc5Ak4p48Y/IHfXlmGvX12LzMgw3lFIKb8
	1BAMeFkfnc9MFPk0fIHZDcJXJcGZQ6f2Aj28MwFO+GbyNbA+6Nw8gIfUDm1uMw8v
	dqlQxNDyk7fulZdpYGXXDX8rWPDrTmuixhgOr8adwhmzGvf1fAXZGjuoYZUVBG0k
	ZwDadHWrpwv7SVWvPw11sw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:date:from:in-reply-to:message-id
	:mime-version:references:subject:to; s=ppfserpocford; bh=VAwTPK3
	851+ipE1vB+B7ZFUXoesngUJZjSVt4SHBm4U=; b=qZtaKlRKwdecB0/Kxsh2EMs
	CmTcrnj/Yl/uzfgsiju1E5BFMAOHuwI1bbCkGsvfqR1VIcnpi9TifH5uoMawcksv
	InfQoQ6pvYBNQ1E9zV6QFfX4VPGVF+zld39+AkpZM8GB97OhnXH5hazgJMtLgGOg
	HTIHixzjzkReg1r4fXZHjSrOQlXtgfX/LBv7QRma5EQ94X/XuDxo2g8QGOS5yYlx
	qqZmUk4Enf4rShGOrSaGIAlRVd7jMov5YBxMRfq44DoEjrDCT9kaiRT+GV4NH+86
	syf1poSD9ibnLB6/zp4XRcPVsZlFLL8QghNeA5V04AySPjPgKUPJGCqin34ClEQ=
	=
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: UrTFwW6NN8Hc9UrTGwpV8O
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
To: 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
Subject: [PATCH v5 5/6] argo: introduce CONFIG_ARGO_DEBUG
Date: Wed,  3 Jun 2026 12:41:30 -0700
Message-ID: <20260603194131.1468654-6-dmukhin@ford.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260603194131.1468654-1-dmukhin@ford.com>
References: <20260603194131.1468654-1-dmukhin@ford.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_05,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0
 adultscore=0 lowpriorityscore=0 malwarescore=0 spamscore=0 suspectscore=0
 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606030191
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00004681:EE_|SA0PR16MB3679:EE_
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: 20212114-5a9d-45fb-11d7-08dec1a8273d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|82310400026|36860700016|11063799006|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	K+cwJ9h/8GuPu5K1iG2NksYv8oMNQFDYW7AF5w94TC5nqHC+STef4MyRqfjkwMjpzZMwIsKxBZdFGXyutTxasUv0Fv5iuHYFKH1X9gzLjMJroEz+snbvhGbryP/vvN1PfjLVX/uxvpLnVguskgSC+rp0QAnrcLUNtVZoyqhIzpBSQD+JIzT3bWhH9fNKfCEsEKigqFUDRh/qJzziH1GRqZAiSTHRz1oBo0ddY1Qwhfw+pJObQGTOFijWPnNJeEzQzr/UiSPUsupvas/Id9juMDzxUJqGdZCXY8aXmrov57PcYoOoHGGYqFCfUi71zFFo+hQ79OSxK/Z54x8ReXb7qbfNzTf05W6ySP19WmwX4XBoSWTNmbl93zPbe2/YPVRwgly63ThwjX4WePN/I5XkulEdE34FJ9XrRI9+64nTAznKlSGHZ+Sk2sjSsytFJ85pN+vx7Yv0Kboxtigd/j9y1gDiOtTpmD6y4gpj6mWHLB46ApKuerhTQF/fjINxpJ5/jBFxPpOO2GKtmnV1E8y9x2ZrOVNdJcIkLgoj7xwbktKgJcTImvgRNDOffaV1Z2O3bgkq9hl0niqNFAQY76NkpI80jGB3jH0nx/QyALF1aQtbeVYm4GgSBEwswcYfRsJNoFWXBPTqaBXDFvzklYsfRm3D54ARuvy2U0bQ6noekfwYGFLRpjrUhD1Zzhg8Ck7HRexir1R+ief39F5fA13uq52PMyrHMPQYmJV3bWz+198=
X-Forefront-Antispam-Report:
	CIP:205.220.161.53;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0a-00498f04.pphosted.com;PTR:mx0a-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(1800799024)(376014)(82310400026)(36860700016)(11063799006)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	Auo1wfmU+1Klmj+3qlXoCdwFUQN1QqMBVTbOs6oAM574PYWlIXvB7btC/omkzIzisURILajDj5RINDFadpe91YyAG3jh2SA8u3q7le3ND+1pGq+Hnsu34+xtcqnJEleckby9MwdQE1xOXjZDkWmoRIWHTyurLZmiqib6SU4iMuOAPuSeVk+rCSZeBmcF/zrX4sMXmDaVVBgu4uPgG6b1Uq2x2ryWwjunof4yQPNjkia6A69U4112dZj/ELXWyLIxynC1nroRNnPzLXfYLp4A3UGj7DTdAHWKZzHj9wdrAAg5kC+3n3osZOnURpIht6BgxpzRMFDleUN2FPhI6Rwxl66JlEyBTCRT6E6jTWnYutUSum6mJoaocVh2H+fgBkssEqZn4QgvbCZQCr8OMmSv9flHXU+iLRlB1r8h424j6Cp7ZSv4WIEefu8eBEGutfj8
X-Exchange-RoutingPolicyChecked:
	oXS9HjsLtkQOqzA/SB9dS1Yh2CLFEZc807vetfvCvnbiK1QqfWaZTEXa85lB2khRJ+YYWlN9ZgU4OKyOAZElmmMOuNZ9E+Oc8eoBzCmfcp5yORBbEfjbeMz/PKeIiIhGz1u9vHuBB5GHVtlgAD0/Sprqrd7rh4+uw4my0GRsKUYZHPcnIiBgy2m6SBOlD+NxMC/nr+vxrYNdVllgaVDVxHH0ENG/Jmw2djRT+OCuAkabNrwuMb2iXNZKn3IGW94vf9Rmqy2aEjaAkWGbT91qC1atpS24hhLL9iKkG/4AQu96GquC3KnEKVflYnJ4d8EsYbfAA6iMHtLVH4urAQvswA==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	XYj2of3ymUVkLzrJiFk/2fPF8Zl87kOCXIkpEV7WKKpfPTUZlJWTWOGJimXzRrztnAv3PfvMRRT7qJruycx3C2kb6/Xz5+x0mT8KaG/GxEA9B45peyL5TQoCvQybHQyhY1zXB+OrNfCcDQ7/gHqSSVceGjkQDBn0P+rtAVsPjn7JfXgSlI9CgJuH6SO3/n2A+5JnyO8ZfvWb88CGO7VXDsFkN0GLtgXb3R23NfHQlBXnPZynX06tRnWKq5G7SUlhjJBjv6X2udT/K+cdZFiI0KU8N+6a71XB+74nOM4+oMI2Wvq+DfeaWqS264hcfghwsgjq8U3nNK6UYmCfV7xPoJpvRlRubgtbY8ivDLmkcY89fGAQFq+Jhlwrjik7tQOBvU7FMwixGJUkknOJHOy07tiFimQKCCvBFCYFGb6kBf2A2K/frGwQliWdFXX5K8ompSpJv7Q4GjlePCQop0EOtur38H/qBvxi4HFFWla2luf2UPStFe2eBLfh8dL3Zzahk4aRkxx2Bt0ZVeoXyfjexjJmYicL6hpOQ7bjZVn6rPXJL5zQrVCsX0HkofrmLeRaTPKLs4eLSFAiB2hNzRIUVCIv9MQ353Q0MOn1Tif+6/R4llMDbidpcjf1/dMWcDCR
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 19:41:48.6831
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 20212114-5a9d-45fb-11d7-08dec1a8273d
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[205.220.161.53];Helo=[mx0a-00498f04.pphosted.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: SA0PR16MB3679
X-Authority-Analysis: v=2.4 cv=Wag8rUhX c=1 sm=1 tr=0 ts=6a208381 cx=c_pps
 a=9n5CQ2h0WC+XkeHDVU/11Q==:117 a=lOEMawUel/sSvQipkIvNbg==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=FelO9ux0wxsA:10 a=3PXLN80vpJUA:10
 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=P_n1zlmtWsCQbjROFjcg:22 a=AHe91QgOk3R4nFVtG5At:22 a=cbNQJ9GKAAAA:8
 a=Q-jbZ8zFL_rIPxRkYqEA:9 a=G69WFyCBNqGPyalROSdv:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAzMDE5MSBTYWx0ZWRfX53gQnXbP+HJW
 PPXTNJYNCvSCepb7eSSZ53p2sBUHakAJQxXhJSmeYxUYSOkNI0LWEcRVKV6Ft9gRnoswbQt5LCJ
 uwE16uBfqx1pF/Nq2uvEwgcam4x9CIP+KI+/i3vqZVPSdlbzn7dWQQf6GVJMWCP6rD3/R+I6wWs
 56+xYB6sDkBdrmSWoFKZc/uis98xN3Pdfhf/WUjLr0Kj7tJBh0kEr0Wj7KmU76X+Jyvw+lTmNg1
 y2kodu9ttcMDRZmM+jiOctutrornGA1brhPOnTl33Dq9Ck7LDzz9iK2/fHkI4Ld/iStXzyI4vbX
 ekSPbh0A666y3O/u6Vr6Dh88q5WfqAmXOpl1Ih/1v2vV++kqBZ85HhoGjQU58O00zlkDs3JJy+E
 lmk9hYAhMC/GBZCgKL+Wgi4f2LBnXm5Y3XNWI+ey06ui02wkeW6S7Nsn00bAmhL1X45TlJHtmfw
 jXOE9Tr1U/PkFhrA+vw==
X-Proofpoint-GUID: Kw_x_6g87_AcBdg3ZdEwd4DQrm2BHHkc
X-Proofpoint-ORIG-GUID: Kw_x_6g87_AcBdg3ZdEwd4DQrm2BHHkc
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_05,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0
 lowpriorityscore=0 bulkscore=0 impostorscore=0 suspectscore=0 clxscore=1015
 priorityscore=1501 malwarescore=0 adultscore=0 phishscore=0 spamscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606030191
X-purgate-ID: tlsNG-4011c0/1780515715-6FB5F8B7-B514C7D7/0/0
X-purgate-type: clean
X-purgate-size: 1490

Add Kconfig knob to enable traces for Argo debugging.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
Changes since v4:
- fixed dependency on a new Kconfig knob on ARGO

Changes since v3:
- dropped uneeded "If unsure, say N." from new Kconfig description
---
 xen/common/Kconfig | 6 ++++++
 xen/common/argo.c  | 3 +--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 5ff71480eebe..7676a78dca71 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -491,6 +491,12 @@ config ARGO
 
 	  If unsure, say N.
 
+config ARGO_DEBUG
+	bool "Argo: enable debug traces (UNSUPPORTED)" if ARGO
+	depends on ARGO
+	help
+	  Enables extra debug traces for Argo debugging.
+
 source "common/sched/Kconfig"
 
 config CRYPTO
diff --git a/xen/common/argo.c b/xen/common/argo.c
index 3c38a51d09a2..b9b362064e7e 100644
--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -318,10 +318,9 @@ static DEFINE_RWLOCK(L1_global_argo_rwlock); /* L1 */
     ((LOCKING_Read_L1 && spin_is_locked(&(d)->argo->send_L2_lock)) || \
      LOCKING_Write_L1)
 
-#define ARGO_DEBUG 0
 #define argo_dprintk(fmt, args...)                      \
     do {                                                \
-        if ( ARGO_DEBUG )                               \
+        if ( IS_ENABLED(CONFIG_ARGO_DEBUG) )            \
             gprintk(XENLOG_DEBUG, "argo: " fmt, ##args);\
     } while ( 0 )
 
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 19:42:03 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 19:42:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327111.1592351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUrTX-00023D-9U; Wed, 03 Jun 2026 19:42:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327111.1592351; Wed, 03 Jun 2026 19:42: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 1wUrTX-00022w-4r; Wed, 03 Jun 2026 19:42:03 +0000
Received: by outflank-mailman (input) for mailman id 1327111;
 Wed, 03 Jun 2026 19:42:02 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wUrTW-0001y9-1J
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 19:42:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUrTV-00D1nw-Du
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 21:42:01 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a208382-e002-0a2a0a5209dd-0a2a4505e0e4-6
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:42:01 +0200
Received: from [148.163.143.241] (helo=mx0b-00498f03.pphosted.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a208388-aaa8-0a2a45050019-94a38ff1edf4-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 21:42:01 +0200
Received: from pps.filterd (m0367127.ppops.net [127.0.0.1])
 by mx0b-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 653I6Ah93488837
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 19:41:59 GMT
Received: from bl2pr02cu003.outbound.protection.outlook.com
 (mail-eastusazon11011018.outbound.protection.outlook.com [52.101.52.18])
 by mx0b-00498f03.pphosted.com (PPS) with ESMTPS id 4ejpk3u5rs-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 19:41:59 +0000 (GMT)
Received: from BN0PR08CA0026.namprd08.prod.outlook.com (2603:10b6:408:142::28)
 by SA1PR16MB5824.namprd16.prod.outlook.com (2603:10b6:806:3ad::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 19:41:52 +0000
Received: from BN1PEPF00004681.namprd03.prod.outlook.com
 (2603:10b6:408:142:cafe::7a) by BN0PR08CA0026.outlook.office365.com
 (2603:10b6:408:142::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Wed, 3
 Jun 2026 19:41:52 +0000
Received: from mx0a-00498f04.pphosted.com (205.220.161.53) by
 BN1PEPF00004681.mail.protection.outlook.com (10.167.243.87) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Wed, 3 Jun 2026 19:41:51 +0000
Received: from pps.filterd (m0426317.ppops.net [127.0.0.1])
 by mx0a-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 653JOESG3761781
 for <xen-devel@lists.xenproject.org>; Wed, 3 Jun 2026 15:41:50 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-use.ser.proofpoint.com
 [44.208.76.22])
 by mx0a-00498f04.pphosted.com (PPS) with ESMTPS id 4egeypqdm5-3
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 15:41:50 -0400 (EDT)
Received: from localhost ([19.12.92.221]) by cmsmtp with ESMTPSA
 id UrTHw53NuonD5UrTJwXpu0; Wed, 03 Jun 2026 19: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppford; bh=Lae
	zkBWZO6R96hcVi8Lk0+Msj51J7WGL0wLGQbrEmAA=; b=NqcAFT8iohOz5bSQvpZ
	BsFtn9e9H3AQozsgG/fegDV2KgUUfdkLsM6xQR4kuydauklv+EFhxbVoHzeKJEM6
	3lR1Dh3pV4+ZEhDGvR5uBtMRfi+l11OGV0WVN9MVMZWBvP8y8gsrayiO5oT21b0U
	p6UszY1E7U67kb8HULmTt8abwaPFf0zrMk2PFFKEWCYwF+AR7oKn31XlFHBWG/2X
	2/yIle5UqWHSJeQuI9AW+idVAx44pArQ/z9W2tVDK+1toX5MpCmxiu9zIVxigMye
	Ry3/wt8lmtmG0zMXosvBR67JCgDjyWuz63q5CW++RhuiMG76f+tIfa2/Puou7B7J
	1uw==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=C29J/rbzqMf+RsGvqUyUmlqym4fqUXFiPKksppcYVTNha1DDXo31YhGUQH3FDwr9BLdUuHvfEkRxet0aeSpTIBrjYAUErEsWSHJooJD22HbR/i3Jmu9RFZkHgcCpdyTan3G/2jlkOnbDhmPnqZOHDZ1yD1sHtkRYlFOEB2IPHrO+BXvzVYpFTfxFydXiNaYdw4QwFMGGWBPpML/Xv7Gx8hynsDCpwqS4a40WhMeCYx08aBrXAbcc2dPfmjbOuLkZDdiiOQG71totatCuPElzFtet8sONtKRe4vv91VpKD0RNJl0ConouXeS/6a5dhMBHJrD2Y4MtlbruUn41Accv+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=LaezkBWZO6R96hcVi8Lk0+Msj51J7WGL0wLGQbrEmAA=;
 b=qWdMM0YH8S5f6PBA/FsroUMlR7BT04gD8A2DypAeQ5bc/hOJPvvTfi+GvdYi5RseUWELFJZIPLMVQoRHoZqRbhPFwN+FHM26ASc1tvD6Dk6GtAgqBs3pQkAd03WMnqovAxadV7z4dXv1JYUOCQ7KJCpiW4kqK6TBzNNnhsynUiOCgymy+Tm9bWLBAu6LIX0k2At8htAGwyZk8ERuTLRKfpVw8GOMqMndAhYlbYoKzMxiZe+rweVF/mEnfO0ttlzpzSK5NmVzTYsCCUKksxPI4Oi4TJzg6V90Iqe8tkDtLZZFCsWJ6p2y7CUeFsosu1C0KUln9VoJelbCn8dN8ahnHQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 205.220.161.53) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LaezkBWZO6R96hcVi8Lk0+Msj51J7WGL0wLGQbrEmAA=;
 b=X9lSMfliIihAO75xAfPAKhwDnbbS48BvfW72edLLl/HBwBHoKj2SmjkgCthKLuEfP2Mh3ahRKnBtpkLseyVpwkcBqzfYZkLk8hej1BBpIMaqlZLeBTQdjzmh+wLtwwLAmJe6J3jx4NG+/ufMgbrw0B6Z5MlePJODcD1t/KpMvt0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 205.220.161.53)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 205.220.161.53 as permitted sender) receiver=protection.outlook.com;
 client-ip=205.220.161.53; helo=mx0a-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:date:from
	:in-reply-to:message-id:mime-version:references:subject:to; s=
	ppserprodsaar; bh=LaezkBWZO6R96hcVi8Lk0+Msj51J7WGL0wLGQbrEmAA=; b=
	PfeyaT6wL2Rk1h30ijrBWHbMTOwu5tBGbrqQ9OeShA2kTxE5VsR7PCw21cVK5dd6
	g9ufR04Ghk2Drvxediy3VgYQ5QTsq9e0OayBuRBt9AfDVJcAahIfcjnPJSve+5Mu
	EBTttarOryI1RbLpV1Ts1jdohyE00f/KZx4KhDsC/5kOUCD1o733111eRB1KfU4e
	8KRuq/dD5I+83W85crVYEo4KAikJdLR3zE06tfqE16EbZRhMTtyS3wRcfWdJXaM8
	0pHwrL5OhNTmUudA0Fyqe34Qiv2cWTOqYAv/owkOLXQFq0HB2zMeeYi8IukUbdYR
	j3K0EQAZk7JtF0xftB6lHA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:date:from:in-reply-to:message-id
	:mime-version:references:subject:to; s=ppfserpocford; bh=LaezkBW
	ZO6R96hcVi8Lk0+Msj51J7WGL0wLGQbrEmAA=; b=nuY1DYytuAtcdyRixPWlrTV
	laCVc3jkMQBJ/VQK7iYvfdrT3+l6AIqvdeODcD3dTaHaDTjF3RZ2fMADFm+PzU4M
	T8Q1nqCvdC5Wj09rZh1Gk5QsSMzPlF8I90zMWAmJaqX4zxg5ZdQBKn1Un7mSFWDB
	9v/zR7tByZzyN8etDHedJ2R10zkImq7VvJaev+ecV3TArFCynVCOuLqqMP35Tmh4
	Wza74lb+4TymlMfdwqFvwif+/ZQ8+IXNxgsamxrM4oAdgdo6Li8EOqYG2CYErk2L
	qwAf/N2hx0GTDbiPfvcb57AYSPUM0ILROE0qv6lI3rDXNPu5DjfrkYeT+lXjkaQ=
	=
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: UrTHw53NuonD5UrTJwXpu0
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
To: 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
Subject: [PATCH v5 6/6] automation: enable Argo debugging in CI
Date: Wed,  3 Jun 2026 12:41:31 -0700
Message-ID: <20260603194131.1468654-7-dmukhin@ford.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260603194131.1468654-1-dmukhin@ford.com>
References: <20260603194131.1468654-1-dmukhin@ford.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_05,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0
 adultscore=0 lowpriorityscore=0 malwarescore=0 spamscore=0 suspectscore=0
 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606030191
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00004681:EE_|SA1PR16MB5824:EE_
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: fe47bbfb-ca0b-4e3a-2165-08dec1a82910
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|36860700016|376014|13003099007|22082099003|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	NyPuD9xIImTskrPwSFMZCuKVIrLB7EWMPBtVaP0zIIkdtXj1O91FPVkXUKqmaUqxBthhadJ9bU3qBWWgvvHFJ8Pc8NCgtHa6pLoJRKSrgfQJ9LV8Opf9DmY0tGE+K8uJsi9zHeyHoCNEfyY4CViyWomFegAjCW7TtLBHWJ5t43Nzcld+0YuxgnIIdjt3kjn9Eh04sbfXk6lx9a8VuX2lFVSxSFZ86hL+Yss+DuXSFKlxfL7O1EWdk9Dcmve8hyDJwypvbF8LfzR7/Gu2I9KP9GRDovQ9o7VCB+iBP97N171uo+4wM+WFSiGvjx4fUDQjZ2DuuwN8dXfz5yIOoTF6Wth9JnW7BCLRbAnDsnMpIvwa2tVZwW6anbStzYY2rqqZGF4DLC+Zn8h+JuqQPDfZgYNIuYzPoau9ryjUwlWB0TZ4nQ+mvM9tDvyZ8nbSoBnNd27KXEqoGFb5co3Q7iSYXHCm+06Xn2h6QemNmmEj5Dlndj5Kc1UBHgNpQw24CnBg0jS5ScMk9GKcSY6xguj5Ub0TsK6f5c5mvycwoC0npoyoxij3OVjnlLuAOuHu6wzU/OeMWqvGGX8Prn5O9y4WwLqGRaM3kOtYl42ggFtuUoMJBnvOXrkC1S3EG0BlFHQehFvffJM2hTcuTVNW0QEPw3EPBxLoL+mz/WV+LFdD8NWHDijCdn1s6yifeR09oANWy//6FYVR1JPZtbCm91HGG0L3rO+sKqTTKxk/cbIRohg=
X-Forefront-Antispam-Report:
	CIP:205.220.161.53;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0a-00498f04.pphosted.com;PTR:mx0a-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700016)(376014)(13003099007)(22082099003)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	yJFdJ/wXHYKYQdJvGOPG7lWfIOrDqAaHLTyoflvY3UyH4w8gx+WbyLOZR80DaSNeXT9vLeArnCjCLCPOgwZ7u6fILK7J30SKrRtfmYtvWMFSL6u/BVsXc/VjM0W/1VV16ZzshzVxBFJuohvJylD+BI/11LxGPyVgvLc160crAb1drmr2sT37PzPbAjzh2FPLqUpR7TAsKWnAHIcM4hTztv358FNdDIoJRdsbRHeEBTjOy0bxcC+6Chhe8Sfp89HSpP/ej526CVddprJgBN/8F1DSxyKVEljZC63Ozt22gHvGfbxOAhdy61vv2HozrW2xEGKC/ihH3Ah/L9hkWx3zdI1XqahfVPs5wCcvTk0b5e20BefO5vg47gRYY+HzLYGJM4I3QL5bOBOXufM9HZG+fk5rFOSVyKxjfbkb+Wqq5TNsV9/UQPAKlqfR7lbOjY+u
X-Exchange-RoutingPolicyChecked:
	T2KiyugyYcT5U5ZE/TfIQ0DP80SwcxVPPY3ODi3iF86VVRo5Bq4arKIhgHZ8JAnpwtXa/1XXziJ5KIqh0WbpHD1k32DrPrFRYmelfmbpY1nNzcZetX6rS6bPneKwHb1+uQ1gYiXPg92eAKpIgqhKwuIYcD4gOotSQyGxXD8NoQulr87nAIrs7kD04GFXLSFBYZezdqTQBCd/hvrLsRcppMUvqiQilhzsWCSepnhVu4XIBAvSGNpoeXfOHgglnbMTSLi9lEkmrbM7Nf1tlpBYuBADnzHqW+/n+2cGb0aNPaoysyTdXbkeAX7k8XQ/AehYrpO5FX07wthmRbsieuAk+A==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	6TuNQy1wNsqZkbpb4l0BATEz/Iv9/IrYwwdkpcZOPpV4OP5PeoO+k/WLUVcQG3Hjee6jyA0ktQZxRrJkGtVJP13y1ci3SJUFEAQf++XZzIYcEiEEVE9YqBcrwGRq+7xo6ebU4KSkjnDTL/HhLBbQz3ORNxB6w3fVdItnbygCMVcpSwB+CijNNMrWTT9K19S9DQJ06I7qFubrNVP+Gmse2YzAqtwiCFBulJTU3sYnrddLzZJ2qjuhfzYm6vM+vMXe1+Ri2YFQL5v1wrAAwKfS9DO0qPQAI2E8RxqHZVR9uJSaAjHPt3bVwMizM2ZbuEnBFYyLM9/0leXaN+8e04ztLNpQz3zPVo7t70Ni52xgWNF3IJ1ssXnPCsQrBRvwofe1vgnsLpBQ+5X1X9cj9hLLU802ICAuJMwAdD4zwHzGQ27KjDnpn4oLiuMIc0UusswWXhLgAmq2n+BDkfN16tthAebeWOG/nbk5ujiOeeWFmw8Xa7ri7PX7DKXw6L21lyC0q1JBvSDAz8sZIDLCcK+mhfz0thXD8Fy/IYb35JZsGY8yqwXUzpG4GLV5VrdTslJ9QmCS8W/dfTTx9tUTZBjsq8uu4EUolJCtIHCdXQ7LO1mrjb/brSNx8XptaDx6mhdR
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 19:41:51.7433
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fe47bbfb-ca0b-4e3a-2165-08dec1a82910
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[205.220.161.53];Helo=[mx0a-00498f04.pphosted.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: SA1PR16MB5824
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAzMDE5MSBTYWx0ZWRfXxKpmHUqeNohz
 XiNVFy58dcEhoMm+qdF+rAkpJODSA8PGXQ+VMBHpu6zS38ruoyWG65cYnRSPjnSAxJ3IapPt60R
 pClO4GL+ojgX4Ko9FJ42iSdpoeisGZTiV5jG5niH+xARLxe1YqA4jDespB8jGsCZzUzaqOePSZe
 feIu3Tg5h0bi4wJf/VEU8xov3IgfoA9nrmO1fPDy0u9XpUxwat6GPW6fI461pCq7dwKefgx6ltt
 MVsBT/eEhY4694RNUwR5/Jh54K8T1L3pYOgBOrBKvF+ylxYDMUlCqJmYONxc5OG72NK4OKGDXr6
 rKTedHcPrGvPoiF/jOyr+5BkyoNoqJy0eCgta6JMTCNw1GpkHgxa7cmOFs0a9zs9i5ayRpIFnwh
 BijE3FkGk2sljzJG2Tj0boVcQS0mAjIcXVjR6kQriAQsZ+VVA2u3O+no7Rme3YYT8EjsCrq2IcK
 IfsHXNn/O+VXSQsh2gA==
X-Proofpoint-ORIG-GUID: utIkbHAmnE9z1LoWScG0Ao_7VvMMap8R
X-Authority-Analysis: v=2.4 cv=OJIXGyaB c=1 sm=1 tr=0 ts=6a208387 cx=c_pps
 a=gE6CMw9pMCRGQsgsFAL45Q==:117 a=lOEMawUel/sSvQipkIvNbg==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=FelO9ux0wxsA:10 a=3PXLN80vpJUA:10
 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=P_n1zlmtWsCQbjROFjcg:22 a=dw5MciS7gY-znkhJuOLE:22 a=p0WdMEafAAAA:8
 a=cbNQJ9GKAAAA:8 a=dUaVGg0NMgzJYwoUstoA:9 a=3whSkbs7g9Me0DR5EJEX:22
X-Proofpoint-GUID: utIkbHAmnE9z1LoWScG0Ao_7VvMMap8R
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-03_05,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0
 clxscore=1015 phishscore=0 malwarescore=0 priorityscore=1501
 lowpriorityscore=0 spamscore=0 bulkscore=0 impostorscore=0 suspectscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606030191
X-purgate-ID: tlsNG-c201ff/1780515721-D9B70443-E9C193F5/0/0
X-purgate-type: clean
X-purgate-size: 1904

Enable extra Argo traces in CI to help analyze any potential Argo issues.

That covers eclair-*-allcode and alpine-3.18-gcc-debug jobs.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
---
Changes since v4:
- n/a
- elcair-x86_64-allcode is green:
  https://gitlab.com/xen-project/people/dmukhin/xen/-/jobs/14680426572

Changes since v3:
- enabled CONFIG_ARGO_DEBUG for eclair-*-allcode jobs
  Note, eclair-x86_64-allcode is failing on staging (known):
  https://gitlab.com/xen-project/hardware/xen/-/pipelines/2567857238
- example of extra argo traces in CI:
  https://gitlab.com/xen-project/people/dmukhin/xen/-/jobs/14661834468
---
 automation/gitlab-ci/analyze.yaml | 2 ++
 automation/gitlab-ci/build.yaml   | 1 +
 2 files changed, 3 insertions(+)

diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
index 3f7532ee1d25..ae0929d13565 100644
--- a/automation/gitlab-ci/analyze.yaml
+++ b/automation/gitlab-ci/analyze.yaml
@@ -47,6 +47,7 @@ eclair-x86_64-allcode:
     RULESET: "monitored"
     EXTRA_XEN_CONFIG: |
       CONFIG_ARGO=y
+      CONFIG_ARGO_DEBUG=y
       CONFIG_DEBUG_INFO=n
       CONFIG_DEBUG_LOCK_PROFILE=y
       CONFIG_DEBUG_TRACE=y
@@ -127,6 +128,7 @@ eclair-ARM64-allcode:
     EXTRA_XEN_CONFIG: |
       CONFIG_ACPI=y
       CONFIG_ARGO=y
+      CONFIG_ARGO_DEBUG=y
       CONFIG_ARM64_SVE=y
       CONFIG_ARM_SMMU_V3=y
       CONFIG_BOOT_TIME_CPUPOOLS=y
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 0e5fb26c853e..b864443d0243 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -286,6 +286,7 @@ alpine-3.18-gcc-debug:
       CONFIG_EXPERT=y
       CONFIG_UNSUPPORTED=y
       CONFIG_ARGO=y
+      CONFIG_ARGO_DEBUG=y
       CONFIG_UBSAN=y
       CONFIG_UBSAN_FATAL=y
       CONFIG_MICROCODE_SCAN_DEFAULT=y
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 03 20:44:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 20:44:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327179.1592360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUsRZ-0004t4-K2; Wed, 03 Jun 2026 20:44:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327179.1592360; Wed, 03 Jun 2026 20:44: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 1wUsRZ-0004sx-Gv; Wed, 03 Jun 2026 20:44:05 +0000
Received: by outflank-mailman (input) for mailman id 1327179;
 Wed, 03 Jun 2026 20:44:04 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sstabellini@kernel.org>) id 1wUsRY-0004sr-5y
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 20:44:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUsRX-00H3eD-Bj
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 22:44:03 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a20920f-bab6-0a2a0a5309dd-0a2a45028798-6
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 22:44:03 +0200
Received: from [172.105.4.254] (helo=tor.source.kernel.org)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a209211-af86-0a2a45020019-ac6904fed7c6-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 22:44:02 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by tor.source.kernel.org (Postfix) with ESMTP id 431166008A;
 Wed,  3 Jun 2026 20:44:01 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 649101F00898;
 Wed,  3 Jun 2026 20:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:From:To:cc:Subject:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780519441;
	bh=hLwOhjndZi4XUFfYF6Al89pghpWx+o7Heg2jFizAGYY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References;
	b=jugmqWphCzLKLQtWuqGUlnDMSGL1HA3i/gvzEbohrwzo2gWrSLy5cNqGsYcwJ46OE
	 2zZzTQQpr+spj02JTs6kk/e7Kn8HdMVzEi9zARjswS+wzDHrMdaxrKLhTepuNka5FA
	 cynhKQdCaP2caaMH0gJWfWFRO3dSnLQZfkm6mEW6ZLjqo/lKB/7U0geT89v7kePcQ3
	 DuAy5EG0nXyn7mAlM2FKgtFpZ4sCUTTEevHf3xZUrW4ER58btlxf4v8iJVF4PLjZa9
	 ZxM+kI9P6DBqY4p4Kx4YKrvQxurprxkaS7Nv6Oe3e/OUuE/uqlQh+VfraMgJW/GgnX
	 dEYcZOYuU9UOw==
Date: Wed, 3 Jun 2026 13:43:56 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, 
    Anthony PERARD <anthony.perard@vates.tech>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Stewart Hildebrand <stewart.hildebrand@amd.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] vPCI: resolve MISRA R10.1 boolean arithmetic type
 violation
In-Reply-To: <616db16e-3c3e-4000-b6ea-d2703f5a848b@suse.com>
Message-ID: <alpine.DEB.2.22.394.2606031341070.1200252@ubuntu-linux-20-04-desktop>
References: <e23266191a366abe66d8104783d97578aa8734a4.1779428826.git.dmytro_prokopchuk1@epam.com> <984c91b8-3d2c-4431-bdf1-4a333ac341d1@suse.com> <alpine.DEB.2.22.394.2605261508390.182011@ubuntu-linux-20-04-desktop> <62abdafd-a49c-46e0-b529-0646a8d2425a@suse.com>
 <alpine.DEB.2.22.394.2606021840110.550703@ubuntu-linux-20-04-desktop> <b443469b-01fe-4196-a79f-811bfb6e17d8@suse.com> <aiAj7duOGUAkbB05@macbook.local> <616db16e-3c3e-4000-b6ea-d2703f5a848b@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-662625314-1780519440=:1200252"
X-purgate-ID: tlsNG-720697/1780519443-AB762161-76CEADF3/0/0
X-purgate-type: clean
X-purgate-size: 5380

  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-662625314-1780519440=:1200252
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 3 Jun 2026, Jan Beulich wrote:
> On 03.06.2026 14:54, Roger Pau MonnÃ© wrote:
> > On Wed, Jun 03, 2026 at 08:04:25AM +0200, Jan Beulich wrote:
> >> On 03.06.2026 03:41, Stefano Stabellini wrote:
> >>> On Tue, 2 Jun 2026, Jan Beulich wrote:
> >>>> On 27.05.2026 00:12, Stefano Stabellini wrote:
> >>>>> On Fri, 22 May 2026, Jan Beulich wrote:
> >>>>>> (extending Cc list)
> >>>>>>
> >>>>>> On 22.05.2026 08:13, Dmytro Prokopchuk1 wrote:
> >>>>>>> --- a/xen/drivers/vpci/header.c
> >>>>>>> +++ b/xen/drivers/vpci/header.c
> >>>>>>> @@ -586,7 +586,7 @@ static void cf_check bar_write(
> >>>>>>>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
> >>>>>>>              gprintk(XENLOG_WARNING,
> >>>>>>>                      "%pp: ignored BAR %zu write while mapped\n",
> >>>>>>> -                    &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
> >>>>>>> +                    &pdev->sbdf, bar - pdev->vpci->header.bars + (hi ? 1 : 0));
> >>>>>>>          return;
> >>>>>>>      }
> >>>>>>>  
> >>>>>>> @@ -647,7 +647,7 @@ static void cf_check guest_mem_bar_write(const struct pci_dev *pdev,
> >>>>>>>          if ( guest_addr != bar->guest_addr )
> >>>>>>>              gprintk(XENLOG_WARNING,
> >>>>>>>                      "%pp: ignored guest BAR %zu write while mapped\n",
> >>>>>>> -                    &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
> >>>>>>> +                    &pdev->sbdf, bar - pdev->vpci->header.bars + (hi ? 1 : 0));
> >>>>>>>          return;
> >>>>>>>      }
> >>>>>>>      bar->guest_addr = guest_addr;
> >>>>>>
> >>>>>> Well. If I'm not mistaken we had discussed situations like this (long ago).
> >>>>>> Imo the added verbosity gets in the way of readability. If we absolutely
> >>>>>> cannot or don't want to deviate such constructs (of which I expect we have
> >>>>>> more), then we ought to consider alternatives (like changing the variables'
> >>>>>> types in the case here).
> >>>>>>
> >>>>>> As to deviating: rules.rst, according to my reading, says that &, |, ^, or
> >>>>>> shifts would be okay to use with a bool operand. What's wrong with also
> >>>>>> permitting this for other operators?
> >>>>>
> >>>>> In my opinion, if we are going to treat bool as its own type, it makes
> >>>>> sense not to silently mix bools into arithmetic with int types. I also
> >>>>> do not find this patch less readable -- I actually find it more
> >>>>> readable, since it makes it more obvious that hi is a bool.
> >>>>
> >>>> Well, okay, we have different opinions there. This reply of yours applies
> >>>> to the first paragraph of my earlier reply though, despite its placement.
> >>>> What about the aspect mentioned in the second paragraph?
> >>>
> >>> You mean "then we ought to consider alternatives (like changing the
> >>> variables' types in the case here)" ?
> >>
> >> That's another option, but not what I meant. I simply don't understand why
> >> some operators are okay to use with booleans while others aren't. Adding
> >> (for example) booleans can be quite helpful. Take this example from gas
> >> sources as example:
> >>
> >>       if (overlap.bitfield.imm8
> >> 	  + overlap.bitfield.imm8s
> >> 	  + overlap.bitfield.imm16
> >> 	  + overlap.bitfield.imm32
> >> 	  + overlap.bitfield.imm32s
> >> 	  + overlap.bitfield.imm64 != 1)
> >>
> >> And then see how the added verbosity would hamper readability:
> >>
> >>       if ((overlap.bitfield.imm8 ? 1 : 0)
> >> 	  + (overlap.bitfield.imm8s ? 1 : 0)
> >> 	  + (overlap.bitfield.imm16 ? 1 : 0)
> >> 	  + (overlap.bitfield.imm32 ? 1 : 0)
> >> 	  + (overlap.bitfield.imm32s ? 1 : 0)
> >> 	  + (overlap.bitfield.imm64 ? 1 : 0) != 1)
> >>
> >>> Other alternatives could be OK, but also this patch as-is is OK to me.
> >>
> >> I'm not going to veto it (not being a maintainer of the code I really
> >> can't), but as per above the transformation imo is setting a bad example.
> > 
> > What about getting the BAR index based on the register value, and
> > hence avoiding the pointer arithmetic plus the boolean type addition?
> > I think that's clear and doesn't violate any MISRA rules, it would
> > obviously not settle the discussion about boolean type abuse as
> > integers, but would be fine to solve the specific issue in vPCI IMO.
> 
> For the case here - sure, that should be fine. But I specifically
> wanted to understand (generally) why we are limiting ourselves, as
> surely other cases are going to show up.

My view on this is that booleans should be treated as booleans, and we
should not rely on implicit conversions to int types. I prefer the
second form because it makes it clear these are booleans. The added
verbosity helps me see at a glance that these are booleans and should be
treated as such. The first form is more dangerous because I might forget
they are booleans, assume they are int types, and use them in an
operation that would result in undefined or implementation-specific
behavior.

I am also fine with Roger's proposal.
--8323329-662625314-1780519440=:1200252--


From xen-devel-bounces@lists.xenproject.org Wed Jun 03 21:58:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Jun 2026 21:58:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327208.1592369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUtbL-0007N2-MF; Wed, 03 Jun 2026 21:58:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327208.1592369; Wed, 03 Jun 2026 21:58:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wUtbL-0007Mv-JP; Wed, 03 Jun 2026 21:58:15 +0000
Received: by outflank-mailman (input) for mailman id 1327208;
 Wed, 03 Jun 2026 21:58:14 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wUtbJ-0007Mp-DX
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 21:58:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wUtbI-00HAyr-QY
 for xen-devel@lists.xenproject.org; Wed, 03 Jun 2026 23:58:12 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a20a35e-e002-0a2a0a5209dd-0a2a4502a76a-20
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 23:58:12 +0200
Received: from [52.101.229.75]
 (helo=TY3P286CU002.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a20a371-af86-0a2a45020019-3465e54bd2b2-3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Jun 2026 23:58:11 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYWP286MB3823.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:442::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026
 21:58:06 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0071.015; Wed, 3 Jun 2026
 21:58: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=PMJQQjIT1+W2j6hkItZq1DEY/pcSvlwIweJW85jCRhMxFbVNSmEGrZlBrhlqN/YW3d67dhfAclBn9IJyhRT9PJIlMF6/Y/R+y0pq5q8Xb7fgIPN16PtMC7GqXt3ifSFUNWpd440W+oERHhGli3Dz3Zc6gty2rXBYwoq8LssCIIjFMPm0YfCEXk6z3Pwxymf8rCoryWoVXdwZ1wxPMNnQOfpZ67hPB1st1NLhasZ6wVKt6YedTinhh8rUSJduBPElDAOuCFa4QGWFtuXPtPT2oo6zigcf9a4f8cTCy+AcsBuMjKYCUtTme7FqXw1vaDsthal15hAuafMf1/2ZceELCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mUAGAjeXgbYmTFp6J6k89mlhonl9GGok2uTRyPTb0eQ=;
 b=YDXP5RP2sCIZEXUtZK5TX81Wk5VHmW5ABQOAhzHOT9Xzu6iSm2xpDu/KIoab3dETmqQoY3Okr79wdGAuGxRBUm3pHhPqnZUjmW9C6JtFQ2o7U6URcOwzv12XrEpxQ1oe5BhspvOIEMwL7hUigCvavwNXHi+xxiHtUsw9N8WuJA3NRmC+11mnIye/zONBM92ruS3rOPVodSW452scroVSQZ96Jl/Eqm8GzWU2WeondR6v2oIc+zFm1hZoJ2J1uW6qqff6T1qD1rsYd4LauIhunxmiAIfjqt1zovqbyp0raEP/xcQTWzKP3cDz+vz2HnCYICy2HnVP9adY8A2Fw25ICg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mUAGAjeXgbYmTFp6J6k89mlhonl9GGok2uTRyPTb0eQ=;
 b=lRSsKiywKwYii+0HZwPm/e4yO9onDD9NrhLVm/rM+Zx7hxBfoJ9Kt5kHS0KpBW8DJBaypeGB6sgrX0pMLYdrgYAPxl+hXEauitkGRsWAYyZnykS4mZgiytZhFvuSv+1yzi4f/tEln1ac3TrHOim7DgrvpHlbXE3FohHvv6F3Xy0=
From: Hirokazu Takahashi <taka@valinux.co.jp>
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>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 03/24] xen/arm: Introduce CONFIG_DEVICE_TREE_NUMA
 config option
Thread-Topic: [PATCH v2 03/24] xen/arm: Introduce CONFIG_DEVICE_TREE_NUMA
 config option
Thread-Index: AQHc8U+LMsab0l8GlEOATMpCtUjho7YrBYyAgAF1I1M=
Date: Wed, 3 Jun 2026 21:58:05 +0000
Message-ID:
 <OS9P286MB72227077B2748C869F4F762182132@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
References: <20260531224755.9481-1-taka@valinux.co.jp>
 <20260531224755.9481-4-taka@valinux.co.jp>
 <accbb6c7-3681-41ae-a712-5f481bea9a5a@suse.com>
In-Reply-To: <accbb6c7-3681-41ae-a712-5f481bea9a5a@suse.com>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: OS9P286MB7222:EE_|TYWP286MB3823:EE_
x-ms-office365-filtering-correlation-id: 95ce6204-e651-497a-3f65-08dec1bb311e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|7416014|366016|376014|38070700021|22082099003|18002099003|4143699003|8096899003|56012099006;
x-microsoft-antispam-message-info:
 6bs4XgdZktUyBijWHGLXIeF76poaj72/JaHfXbEt7NlQnbaAl6KULOgcGTHTtGtx1zp4LF6EsOeLmTUI8stsK8ymcE++Fv6ZmHpNCYoof0IqiJQ0YUWoww0B1CkuJOBhu2Zl/nv4V+OKNvjSiv7K02tcQVZgk/+Obb56Px3aN65W+STtfXUiYbl5Z6C02i5q30c5m/G5xZkSicyJk/ZjzE2JW6Qbb7G+oSSfS31kZvBiy4e5n3/KJ7Yx5z4TSCOFAZgKfi7yb6YBcmV1RWrzsECoIdixyLboX72ttgvWypbWB+MZfQu2KnOVsOZJHDQwzvgMDHP1vFUBj28G1i5K1NZ5r1eZ/GJd2jE189KCUhcBe0h/AI5NZF17fNKLxtM5L8yM/dlb3q4QMlSFTNtovScauuW6tnvim27kUenJUqtjKS40KX2Bz0SzWeiPp6Ehf7wPBpYm+x3KOApnzGeZ1NKZF6GU10bIdaMFdfhwBOQXRllaD9Hw4zYwZNu1BGQMZP+Aa0YWrPEatIQuSId5dc5PxKs5uv28rsUFQVKjUDHv66xvfSqwyriUH8a0z7/NiMe9hOENj4yYXCaHZa6HD2j+NMiNJP31Nlushf+9kdrrn79KAuN+5rOhZrHIoCA0CalYcL5xRvqUEk46EkoQ1/lZkhFCCwc0dl75tx2Bp66wWk3f/EA5V21O7VYbNrSDuRHf1avhupqwlkPAmo71o8RJJH5m6cldY8rIleZcOSiZpGIvUgldMLRazuLJ+WHg
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(366016)(376014)(38070700021)(22082099003)(18002099003)(4143699003)(8096899003)(56012099006);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?wYvpBUd4xgLLTi3iUIAxAE250nxRClwOcA5sTSlwE3Z+TpRaB2PyXO19o6?=
 =?iso-8859-1?Q?qaIyUMmsgK0vk10aSTZCTQxHJEuiIfxb9Yf3Op7YDFyVuUyl75kDH2TYJR?=
 =?iso-8859-1?Q?8vLevyDizs10+mslp82LWQ2kq1NNBgrkTloZ1bAYM+J28MZNy2DWHVJkfw?=
 =?iso-8859-1?Q?TDe9ctOsMk160hrOPFvVboiCBCxzHWNBb3wZZ0+HJo+nGMBd4HWC9MwAhb?=
 =?iso-8859-1?Q?iBSop/PiVfYuD5qYYW8S7E7FTDFDsX8uxtQvfqTEfOwmpSn0ByBQAv7ZuP?=
 =?iso-8859-1?Q?AkUUiAMhufikVYKmJJZJ8/AFex6T8Bhr1spPsoQnQJsJMUv9QqDk33PNo+?=
 =?iso-8859-1?Q?mPWzA4Jvhl/LivZlOeZHzzj8KFUgm5MCMeIP6zcz7XYhxIM67CLaScdoPa?=
 =?iso-8859-1?Q?wnGoHXSL4QopxnGDSEXBXtn1WIHfOiYJf73rPdW8fhJNNlxTOa6cK8oDmb?=
 =?iso-8859-1?Q?TFperqUea9xmLVWE04exQoPHoLKjgEqIe0bD0dOmlkc+mI/ci+gjihOnEr?=
 =?iso-8859-1?Q?g/jHqbU5Evo0Dl5XreevOO7Ob14VAkoGFPyN6IzpOXx0/4BX4jrD6Lah2f?=
 =?iso-8859-1?Q?EssdZmtVRPA+1ofsv0wTTAymbsylWQdR+YmKjar4P6CY4W4UH+WYVjxNsS?=
 =?iso-8859-1?Q?tHPiRSy5C24VlW8xbkWb0LwhMo+R6WuX+N9cFw4TvdmfI0KOOJMqugrrmC?=
 =?iso-8859-1?Q?EyvD7WA34ZoIC98dVGl0G0S8Jt7aEZ+Ct+23X2QXsS/RIfD+AveDkInOM9?=
 =?iso-8859-1?Q?Ly1pfiUchpApG0GzYy/+tXsljzmOCyXB05EBJM0B4ucNQjTMLtpeiQkoJE?=
 =?iso-8859-1?Q?9zvdyLvNymeuUF4CYtFZlgbCLlC0Kt75VH8d2OkFVJLOmDPNSi0CtB2Qm3?=
 =?iso-8859-1?Q?mOLRey0MyiBQJTEdSR1K3YF6WcDeK1QgOJmnzIaxiER4GmXmK2MH9ur2yx?=
 =?iso-8859-1?Q?xOU3dVaqBAMFUtcatObvqisA0TJKzwd7fdLsWRbMAYpVNAOTh2UIIrQ0L7?=
 =?iso-8859-1?Q?GxLSXMyMbD0QjRQaQGXhUBVuYUt1KBDfqgHKHLNdAp0huGPoPsr9F+eF3r?=
 =?iso-8859-1?Q?ePP5Mtguz4D+t6KtLOlsHHcZ3a2KV9de96gIRj4D3OiwqlaKIeZeSyJ2k/?=
 =?iso-8859-1?Q?kJpfRQHG0MJcCe2Q2XcP/Xqv27CA6w9xGM1ZfdmOQSXqJAKfackPn69hnG?=
 =?iso-8859-1?Q?/DEGfBcK5P1V/eGD3er1dzfpqo8Ny3kmjleAUc1cmXV5/pthD20HfqPkgI?=
 =?iso-8859-1?Q?kSUWrpxQbij9anX7xRg0bHBG3F/qGKk2EGXYBzcs0DEeCQau70SYUXptgO?=
 =?iso-8859-1?Q?Qnb0jFvNbkl/Kh4OFAp5h7sO+nqUGFIWzTyynqQLin7S8z+O0OID3Su3jG?=
 =?iso-8859-1?Q?tpE0248leVuWSGmxDEB9UPBnE5cJM+LDEz7WvGHo3FMiIRl7G+LGU9M+/c?=
 =?iso-8859-1?Q?Rl9i+UwRz6aibmz26L3sR+Tz2cVUyBRiAHueqKkIE8Ya8dyk14Uy3zVLMF?=
 =?iso-8859-1?Q?xDJbJ0rufVoCS8PyV49Sy933ov5VTTkh2u15Jvmgc7asZW6MSYXBT8oebw?=
 =?iso-8859-1?Q?6N44JNjjJDDhZIJ4x/nhU713RtjsJ/YTUbPNkuO4+XKI4rzJkmmmUcZbwp?=
 =?iso-8859-1?Q?nVR0ietumb9jI3NmS83zpTqZonnVV92mSKje8FYYYBuVpEKEw8kE1tQWQS?=
 =?iso-8859-1?Q?qQ30XZJPl1MfYMjb9eNxXrQKwAhVsMsy7Aej961JjPzBqdgLrtJTTmxD9K?=
 =?iso-8859-1?Q?rFWnJMWMo9Y2fYoEDEf/atr5XFjzS9RmnfF2NZhnQvb+KV?=
Content-Type: multipart/alternative;
	boundary="_000_OS9P286MB72227077B2748C869F4F762182132OS9P286MB7222JPNP_"
MIME-Version: 1.0
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 95ce6204-e651-497a-3f65-08dec1bb311e
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jun 2026 21:58:05.9701
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: VniRyjzwWpNinkhIvXg9eVLuRuyoCDjGptJg5dr8fnl01DXuSjWhmlX5wFx/z1QRxx28XwZL2Kt6EkSHXuoN7w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWP286MB3823
X-purgate-ID: tlsNG-720697/1780523891-ABF66161-DA4FF693/0/0
X-purgate-type: clean
X-purgate-size: 9032

--_000_OS9P286MB72227077B2748C869F4F762182132OS9P286MB7222JPNP_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hello,

> > --- a/xen/arch/arm/Kconfig
> > +++ b/xen/arch/arm/Kconfig
> > @@ -99,6 +99,14 @@ config MPU
> >          systems supporting EL2. (UNSUPPORTED)
> >  endchoice
> >
> > +config ARM_NUMA
> > +     bool "Device tree based NUMA support (UNSUPPORTED)" if UNSUPPORTE=
D
> > +    select DEVICE_TREE_NUMA
>
> Nit: Indentation.

ok, I wiil fix it.

> > --- a/xen/common/Kconfig
> > +++ b/xen/common/Kconfig
> > @@ -188,6 +188,10 @@ config VM_EVENT
> >  config NEEDS_LIBELF
> >        bool
> >
> > +config DEVICE_TREE_NUMA
> > +     select NUMA
> > +     bool
>
> Nit: Can we have type ("bool") first, with "select" (or "depends on") com=
ing
> afterwards?

ok. I will.

--_000_OS9P286MB72227077B2748C869F4F762182132OS9P286MB7222JPNP_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Aptos;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0mm;
	font-size:12.0pt;
	font-family:"Aptos",sans-serif;}
span.19
	{mso-style-type:personal-compose;
	font-family:"Times New Roman",serif;
	color:black;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;
	mso-ligatures:none;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:99.25pt 30.0mm 30.0mm 30.0mm;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026">
<v:textbox inset=3D"5.85pt,.7pt,5.85pt,.7pt" />
</o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"JA" link=3D"#467886" vlink=3D"#96607D" style=3D"word-wrap:bre=
ak-word">
<div class=3D"WordSection1">
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.0pt;color=
:black">Hello,<o:p></o:p></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-=
family:&quot;Calibri&quot;,sans-serif;color:black"><br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt; </s=
pan><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibr=
i&quot;,sans-serif;color:black">&gt; --- a/xen/arch/arm/Kconfig<br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt; </s=
pan><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibr=
i&quot;,sans-serif;color:black">&gt; +++ b/xen/arch/arm/Kconfig<br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt; </s=
pan><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibr=
i&quot;,sans-serif;color:black">&gt; @@ -99,6 +99,14 @@ config MPU<br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt; </s=
pan><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibr=
i&quot;,sans-serif;color:black">&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp; systems supporting EL2. (UNSUPPORTED)<br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt; </s=
pan><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibr=
i&quot;,sans-serif;color:black">&gt;&nbsp; endchoice<br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt; </s=
pan><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibr=
i&quot;,sans-serif;color:black">&gt;&nbsp;<br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt; </s=
pan><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibr=
i&quot;,sans-serif;color:black">&gt; +config ARM_NUMA<br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt; </s=
pan><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibr=
i&quot;,sans-serif;color:black">&gt; +&nbsp;&nbsp;&nbsp;&nbsp; bool &quot;D=
evice tree based NUMA support (UNSUPPORTED)&quot; if UNSUPPORTED<br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt; </s=
pan><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibr=
i&quot;,sans-serif;color:black">&gt; +&nbsp;&nbsp;&nbsp; select DEVICE_TREE=
_NUMA<br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt;&nbs=
p;</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;C=
alibri&quot;,sans-serif;color:black"><br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt; </s=
pan><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibr=
i&quot;,sans-serif;color:black">Nit: Indentation.<o:p></o:p></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-=
family:&quot;Calibri&quot;,sans-serif;color:black"><o:p>&nbsp;</o:p></span>=
</p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-=
family:&quot;Calibri&quot;,sans-serif;color:black">ok, I wiil fix it.<br>
<br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt; </s=
pan><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibr=
i&quot;,sans-serif;color:black">&gt; --- a/xen/common/Kconfig<br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt; </s=
pan><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibr=
i&quot;,sans-serif;color:black">&gt; +++ b/xen/common/Kconfig<br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt; </s=
pan><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibr=
i&quot;,sans-serif;color:black">&gt; @@ -188,6 +188,10 @@ config VM_EVENT<b=
r>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt; </s=
pan><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibr=
i&quot;,sans-serif;color:black">&gt;&nbsp; config NEEDS_LIBELF<br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt; </s=
pan><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibr=
i&quot;,sans-serif;color:black">&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp; bool<br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt; </s=
pan><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibr=
i&quot;,sans-serif;color:black">&gt;&nbsp;<br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt; </s=
pan><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibr=
i&quot;,sans-serif;color:black">&gt; +config DEVICE_TREE_NUMA<br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt; </s=
pan><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibr=
i&quot;,sans-serif;color:black">&gt; +&nbsp;&nbsp;&nbsp;&nbsp; select NUMA<=
br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt; </s=
pan><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibr=
i&quot;,sans-serif;color:black">&gt; +&nbsp;&nbsp;&nbsp;&nbsp; bool<br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt;&nbs=
p;</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;C=
alibri&quot;,sans-serif;color:black"><br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt; </s=
pan><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibr=
i&quot;,sans-serif;color:black">Nit: Can we have type (&quot;bool&quot;) fi=
rst, with &quot;select&quot; (or &quot;depends on&quot;) coming<br>
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:black">&gt; </s=
pan><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibr=
i&quot;,sans-serif;color:black">afterwards?<o:p></o:p></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-=
family:&quot;Calibri&quot;,sans-serif;color:black"><o:p>&nbsp;</o:p></span>=
</p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><span lang=3D"EN-US" =
style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:=
black">ok. I will.<o:p></o:p></span></p>
</div>
</div>
</body>
</html>

--_000_OS9P286MB72227077B2748C869F4F762182132OS9P286MB7222JPNP_--


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 06:15:34 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 06:15:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327421.1592378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV1MB-0005hw-HV; Thu, 04 Jun 2026 06:15:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327421.1592378; Thu, 04 Jun 2026 06:15: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 1wV1MB-0005hn-C3; Thu, 04 Jun 2026 06:15:07 +0000
Received: by outflank-mailman (input) for mailman id 1327421;
 Thu, 04 Jun 2026 06:15:06 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <nicola.vetrini@bugseng.com>) id 1wV1MA-0005hh-Ms
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 06:15:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV1M9-005UFi-Vg
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 08:15:05 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <nicola.vetrini@bugseng.com>)
 id 6a2117e2-2eae-0a2a0a5409dd-0a2a4506c954-26
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 08:15:05 +0200
Received: from [162.55.131.47] (helo=support.bugseng.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <nicola.vetrini@bugseng.com>)
 id 6a2117e9-7371-0a2a45060019-a237832f9dfa-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 08:15:05 +0200
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 (Authenticated sender: nicola)
 by support.bugseng.com (Postfix) with ESMTPA id 98CF84EE4078;
 Thu,  4 Jun 2026 08:15:04 +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>
Authentication-Results: eu.smtp.expurgate.cloud; none
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=1780553705;
	b=5e9FOYGq9lUc4S2ZjKxzW7ilJnVZsJkKomwLkVZZnI1Dl/WnYFQhNl0lEdZJ4CNQ5emO
	 UHXoxO446rixNd/W6ulnQGrDYnW57ZjB6B7N50jTZbpN4C6jL4PU2uz5AvOSSw9gpptVX
	 lgkveQcAafP8GHbk7Thz4yYVSk594vftriD622vii6ixqNS5VNWuJBCD+/8WvEBfinPd+
	 9FwD7MaRHtYP7XZozyzlsLLzZgWS0IR+0zvrBQBXnMfJ3C0PHqbycG+9t040oY6Wql6N1
	 OPIR8ip7VhEhHg+L2BCDoLbvxgG8P1RwbKt5iyKpa7403u31ZQ3IDcfqVJ5lLtr+hurFK
	 SdXuIj+oM49wgwNf5CER/WcbgB/mvb6yRXgxoZliuyGv0TyOGmyC4DWQlb9acCKMiBwI3
	 aYwO0hnosmkS7GnmCECOziue6t8YK0BF5Y2+wnEWSy2J7MQconEsw0c8RdCvUCn8XAKUN
	 3VAuQfPYLmzi+SFeE9ODTBlt7ayzvNmJRbbvjkvMvQmtlyzPHvcWP5x5wLjwf+Nf3uXxE
	 qvnUSy+EKRMYr48tbGPdipChlHU55XJSD/DHMU48r0K8zsW5XgTYA6pLE1YWErra81o4N
	 eaM1iRvvAqQZQV1fJnyJ53j1xDowOmJJX7CMsS2YT1Zqru2azfHpEgOHX3zem1Y=
ARC-Message-Signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256;
	c=relaxed/relaxed; t=1780553705;
	h=MIME-Version:Date:From:To:Cc:Subject:In-Reply-To:References:
	 Message-ID:X-Sender:Organization:Content-Type:
	 Content-Transfer-Encoding;
	bh=f50FscTQVCVS1vVVjIjZefggcc+1Gg2ilawB9UkV+kA=;
	b=oNgh5NVw0+zVltZWsAeR3jZPS3RZQtcIVPoibpsLHDy7zRqkwWmaB/BgRtQane+zGhp6
	 VU2cNV5Yn9UfVCI0E35RMV2E3z4Iv7Kk7q9/OZ4JwGJkd8XHS+hSd/C+p4qpkgvSjDwR5
	 r47lR/7Yc6uNrM1RGl2TVNllpIkHHhPMFgIo5BdIWjUd3azCFQ6B4DTLh5r6CFsfoEtTh
	 LqzOuvsXNcfNoPl7avuWU92WWKRjXYIWUar8bN2Y/Wg11VEeC+/FNlQ9cMZ02+HbX4w6Y
	 C9p62zA0U2payRPJbUCxdkgvH5PTqtRoK7FMk7r973H/3aK2pVzwxb5ycc4ryVJ5RaSd0
	 BcmTMeR4eFnkdDg/+hgmvnoz+0iRVXI56HMNMrF4UUrQpEVJsy/JA45J7b+EnyZQJ2xhT
	 1K3IXiDIYy30qLqDH+4zOTe6K5v/6KWoKuNHL8WOk/ul46T0Ilc5SbyadE0VljTcPrcXt
	 F3sbGZAIMaX1m/B//OxIJ5magw5RVPzs1WXXjEosSjWjcbbZvjT9AH/ZNIOIgBmQLQ7WX
	 cZFcapvfEmdch5O9U7qpNwodvJd08C/7aTPzL1nkF77myVeLt/6B3kzLbSaTjXk9CoU5z
	 Vghu9LkUHIEgTpsANDiVKEf8ggsils7C6OyepPfdn9uK4PRYlRr4MXXJCDHCQt0=
ARC-Authentication-Results: i=1; bugseng.com; arc=none smtp.remote-ip=162.55.131.47
MIME-Version: 1.0
Date: Thu, 04 Jun 2026 08:15:04 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>, Jbeulich
 <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Dmytro
 Prokopchuk1 <dmytro_prokopchuk1@epam.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Anthony PERARD
 <anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>, Stewart
 Hildebrand <stewart.hildebrand@amd.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] vPCI: resolve MISRA R10.1 boolean arithmetic type
 violation
In-Reply-To: <alpine.DEB.2.22.394.2606031341070.1200252@ubuntu-linux-20-04-desktop>
References: <e23266191a366abe66d8104783d97578aa8734a4.1779428826.git.dmytro_prokopchuk1@epam.com>
 <984c91b8-3d2c-4431-bdf1-4a333ac341d1@suse.com>
 <alpine.DEB.2.22.394.2605261508390.182011@ubuntu-linux-20-04-desktop>
 <62abdafd-a49c-46e0-b529-0646a8d2425a@suse.com>
 <alpine.DEB.2.22.394.2606021840110.550703@ubuntu-linux-20-04-desktop>
 <b443469b-01fe-4196-a79f-811bfb6e17d8@suse.com>
 <aiAj7duOGUAkbB05@macbook.local>
 <616db16e-3c3e-4000-b6ea-d2703f5a848b@suse.com>
 <alpine.DEB.2.22.394.2606031341070.1200252@ubuntu-linux-20-04-desktop>
Message-ID: <faaadd2c717694c89ac75d19e772126f@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
X-purgate-ID: tlsNG-16d1c6/1780553705-86974D75-47ADCBEA/0/0
X-purgate-type: clean
X-purgate-size: 7154

On 2026-06-03 22:43, Stefano Stabellini wrote:
> On Wed, 3 Jun 2026, Jan Beulich wrote:
>> On 03.06.2026 14:54, Roger Pau MonnÃ© wrote:
>> > On Wed, Jun 03, 2026 at 08:04:25AM +0200, Jan Beulich wrote:
>> >> On 03.06.2026 03:41, Stefano Stabellini wrote:
>> >>> On Tue, 2 Jun 2026, Jan Beulich wrote:
>> >>>> On 27.05.2026 00:12, Stefano Stabellini wrote:
>> >>>>> On Fri, 22 May 2026, Jan Beulich wrote:
>> >>>>>> (extending Cc list)
>> >>>>>>
>> >>>>>> On 22.05.2026 08:13, Dmytro Prokopchuk1 wrote:
>> >>>>>>> --- a/xen/drivers/vpci/header.c
>> >>>>>>> +++ b/xen/drivers/vpci/header.c
>> >>>>>>> @@ -586,7 +586,7 @@ static void cf_check bar_write(
>> >>>>>>>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
>> >>>>>>>              gprintk(XENLOG_WARNING,
>> >>>>>>>                      "%pp: ignored BAR %zu write while mapped\n",
>> >>>>>>> -                    &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
>> >>>>>>> +                    &pdev->sbdf, bar - pdev->vpci->header.bars + (hi ? 1 : 0));
>> >>>>>>>          return;
>> >>>>>>>      }
>> >>>>>>>
>> >>>>>>> @@ -647,7 +647,7 @@ static void cf_check guest_mem_bar_write(const struct pci_dev *pdev,
>> >>>>>>>          if ( guest_addr != bar->guest_addr )
>> >>>>>>>              gprintk(XENLOG_WARNING,
>> >>>>>>>                      "%pp: ignored guest BAR %zu write while mapped\n",
>> >>>>>>> -                    &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
>> >>>>>>> +                    &pdev->sbdf, bar - pdev->vpci->header.bars + (hi ? 1 : 0));
>> >>>>>>>          return;
>> >>>>>>>      }
>> >>>>>>>      bar->guest_addr = guest_addr;
>> >>>>>>
>> >>>>>> Well. If I'm not mistaken we had discussed situations like this (long ago).
>> >>>>>> Imo the added verbosity gets in the way of readability. If we absolutely
>> >>>>>> cannot or don't want to deviate such constructs (of which I expect we have
>> >>>>>> more), then we ought to consider alternatives (like changing the variables'
>> >>>>>> types in the case here).
>> >>>>>>
>> >>>>>> As to deviating: rules.rst, according to my reading, says that &, |, ^, or
>> >>>>>> shifts would be okay to use with a bool operand. What's wrong with also
>> >>>>>> permitting this for other operators?
>> >>>>>
>> >>>>> In my opinion, if we are going to treat bool as its own type, it makes
>> >>>>> sense not to silently mix bools into arithmetic with int types. I also
>> >>>>> do not find this patch less readable -- I actually find it more
>> >>>>> readable, since it makes it more obvious that hi is a bool.
>> >>>>
>> >>>> Well, okay, we have different opinions there. This reply of yours applies
>> >>>> to the first paragraph of my earlier reply though, despite its placement.
>> >>>> What about the aspect mentioned in the second paragraph?
>> >>>
>> >>> You mean "then we ought to consider alternatives (like changing the
>> >>> variables' types in the case here)" ?
>> >>
>> >> That's another option, but not what I meant. I simply don't understand why
>> >> some operators are okay to use with booleans while others aren't. Adding
>> >> (for example) booleans can be quite helpful. Take this example from gas
>> >> sources as example:
>> >>
>> >>       if (overlap.bitfield.imm8
>> >> 	  + overlap.bitfield.imm8s
>> >> 	  + overlap.bitfield.imm16
>> >> 	  + overlap.bitfield.imm32
>> >> 	  + overlap.bitfield.imm32s
>> >> 	  + overlap.bitfield.imm64 != 1)
>> >>
>> >> And then see how the added verbosity would hamper readability:
>> >>
>> >>       if ((overlap.bitfield.imm8 ? 1 : 0)
>> >> 	  + (overlap.bitfield.imm8s ? 1 : 0)
>> >> 	  + (overlap.bitfield.imm16 ? 1 : 0)
>> >> 	  + (overlap.bitfield.imm32 ? 1 : 0)
>> >> 	  + (overlap.bitfield.imm32s ? 1 : 0)
>> >> 	  + (overlap.bitfield.imm64 ? 1 : 0) != 1)
>> >>
>> >>> Other alternatives could be OK, but also this patch as-is is OK to me.
>> >>
>> >> I'm not going to veto it (not being a maintainer of the code I really
>> >> can't), but as per above the transformation imo is setting a bad example.
>> >
>> > What about getting the BAR index based on the register value, and
>> > hence avoiding the pointer arithmetic plus the boolean type addition?
>> > I think that's clear and doesn't violate any MISRA rules, it would
>> > obviously not settle the discussion about boolean type abuse as
>> > integers, but would be fine to solve the specific issue in vPCI IMO.
>> 
>> For the case here - sure, that should be fine. But I specifically
>> wanted to understand (generally) why we are limiting ourselves, as
>> surely other cases are going to show up.
> 
> My view on this is that booleans should be treated as booleans, and we
> should not rely on implicit conversions to int types. I prefer the
> second form because it makes it clear these are booleans. The added
> verbosity helps me see at a glance that these are booleans and should 
> be
> treated as such. The first form is more dangerous because I might 
> forget
> they are booleans, assume they are int types, and use them in an
> operation that would result in undefined or implementation-specific
> behavior.
> 
> I am also fine with Roger's proposal.

I will try to give some context on why the configuration is written in 
its current formulation. There are now about 100 violations on x86, but 
just 2 left on Arm64 with Dmytro's patch applied, from what I can see. 
So, I think the reason why a code change was proposed is because the 
actual changes to make this clean on Arm would be quite limited.

>> >>>>>> As to deviating: rules.rst, according to my reading, says that &, |, ^, or
>> >>>>>> shifts would be okay to use with a bool operand. What's wrong with also
>> >>>>>> permitting this for other operators?

well, you'd need to say that it is fine to use booleans as rhs or lhs of 
just about any operator (+, -, and their compound counterpart, as well 
as assignment come to mind). The deviation justification talks 
intentionally about the value, not the type, to avoid ambiguity, but it 
is not extended to other operators, such as addition, because we deem it 
more likely to have an unintended type mismatch there (for bitwise op 
you are already working with bits, so a boolean-valued operand is less 
surprising). Later, there is another clause for the opposite conversion 
(int-to-bool) for conditionals, which is quite natural. You are right in 
saying that (bool-to-int) conversions would be low-risk for most 
operators, and we could write a deviation with a corresponding 
justification for + or - for instance, but ultimately we decided that it 
would go too far against the spirit of the rule. Perhaps there had been 
a discussion among the maintainers when the rule was discussed for 
adoption, but I do not have notes regarding this specific aspect of the 
rule. If it is agreed upon to use booleans in arithmetic expressions, 
then I can help draft an appropriate deviation.

-- 
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 Jun 04 06:23:59 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 06:23:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327429.1592388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV1Ug-0007ZF-AE; Thu, 04 Jun 2026 06:23:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327429.1592388; Thu, 04 Jun 2026 06:23: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 1wV1Ug-0007Z7-5X; Thu, 04 Jun 2026 06:23:54 +0000
Received: by outflank-mailman (input) for mailman id 1327429;
 Thu, 04 Jun 2026 06:23:52 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <nicola.vetrini@bugseng.com>) id 1wV1Ue-0007Z1-NC
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 06:23:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV1Ud-008nzz-K1
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 08:23:51 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <nicola.vetrini@bugseng.com>)
 id 6a2119c5-2eae-0a2a0a5409dd-0a2a4506d7a6-44
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 08:23:51 +0200
Received: from [162.55.131.47] (helo=support.bugseng.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <nicola.vetrini@bugseng.com>)
 id 6a2119f7-7371-0a2a45060019-a237832fc464-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 08:23:51 +0200
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 (Authenticated sender: nicola)
 by support.bugseng.com (Postfix) with ESMTPA id EB02C4EE441E;
 Thu,  4 Jun 2026 08:23:50 +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>
Authentication-Results: eu.smtp.expurgate.cloud; none
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=1780554231;
	b=QBZADWzZfxFlRVOJgKJZfL3xmGDipvoilkebsOjT+9LFDHx/uJQgvZTEvVzmSxd/3NMk
	 UqOUkdLdvkpVs/y2z3QIbworoq59cLkw1oib1UXiUj18McQqCvNoP+gOAxFbH2bDYLTB6
	 lnUrzKwvqFKsiQ+SfcADiGWMuKhQnZwHhx0WpSe8GKFPXDbbtu5FJceZIYAtr6/r3Bygs
	 iM5Ffk/MUIrth/lmm2LF/ZntqnOYM4IUZVDyVdCSwbxy3+g8K54qmjmY80bBh7pYidtNx
	 8jFftXpdZh6SHJh1VjIIxxPWHer6VJx7Vdpigdt3OIPcxZLmgw0udwbGE9EdYYQGZrDPf
	 NhBVZ1qWSEWrN42LkhAGJquzRIRtWk7+fGutYZhF6Ogp92ALg4YHgnNMqFHYkEuHGzxO/
	 zfXDXxk0pK3ysMsxDRoJ0XQWILNPZVNjHlKrLo69P7mgStO5f57CWK0BHaGKM8NJELYVr
	 hiLEMgAPmvKNsaNwUFKS36aiwyWQukMUeAT+bUPxqx+vyHGuRB6nRseUha1XSpfyCoM+1
	 PLGBKywQNDXWb3u81duiCLvZWeOOWNtutwTGYO6t64wTmJrH/MvD/akHh9k1JtH/QUbxI
	 XbjBtiu8nb0f96nrYnXixOyn+4TEFKRiAWqM0QnrrRUyb2L3xdZDzNSmJr3MRPk=
ARC-Message-Signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256;
	c=relaxed/relaxed; t=1780554231;
	h=MIME-Version:Date:From:To:Cc:Subject:In-Reply-To:References:
	 Message-ID:X-Sender:Organization:Content-Type:
	 Content-Transfer-Encoding;
	bh=wpRW8U+4ZquNMOfcE/qcP8H4Q49TTxFxWiEPQcHVf4I=;
	b=Isf5qnWmR4D9sBE8kHCuGr3HFFGf33y6mgIn3gpWgQFeO4Z4+dGIR09+y+1zcIAmrj7r
	 y1ujjVQxPV/CDkO6zwA3JW881VxKzLyvAnVfahmHx9OjPSdKt7pzFzzTEv/BR17i2mXdW
	 FWqQmNRflqYC4kiPPlv1dVyYBidZ5M6JuwKbhv55a9vnQq4h9CEw+9Fqa/hu0eFdRgL3F
	 1dv3yom8Rl0gemg3j1ZdAIplUr5vks7jqMkxgAm7OCwnQQJe+bMW2N0TD5zmXmytFjdVJ
	 F/Wwk2CKiBAVH/qwQ8dCOSinrtWLXYDkEZ9nPhD5qSqOCvyZ9IwxtXGW5+zr6P9nrxNVq
	 gmiUvD/IwhbcDS+q3TZhoOPjXzyiEBjY4pNty0N7E0lCo+W8I6XBdmOIaA5wP/GlkIiGr
	 tRAqrWvw98BamRxWnBxc1AFUPIxC6ZU07iWrQR0xXSzYmeWjz5f5iBT7mlxJE37D78sEn
	 OV5e/sBkf95x/jQoInwCwuzuvtcoEurqD2wvpsqAdJOID8Q2v94SjtQnH0tZXq1F/nZdb
	 0PqFAgS89qsvTKj5h7CkiTnXLJrc14Pw4PIftm+lmIs9TQ/MeaR46Amk5q32vpKFXsKHJ
	 8PaI13RLaBH18gH7W66Cg7NOW2OBwHl8cWEmp8sFFqgaOJkn37VLYXONiv1w4Zk=
ARC-Authentication-Results: i=1; bugseng.com; arc=none smtp.remote-ip=162.55.131.47
MIME-Version: 1.0
Date: Thu, 04 Jun 2026 08:23:50 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>, Julien
 Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
Subject: Re: [PATCH 3/3] misra: deviate MISRA C Rule 5.5 for ARM SMMU fault
 handlers
In-Reply-To: <9a9f7757613143c1b1e9806a134df7b3afb5ca54.1779709902.git.dmytro_prokopchuk1@epam.com>
References: <cover.1779709902.git.dmytro_prokopchuk1@epam.com>
 <9a9f7757613143c1b1e9806a134df7b3afb5ca54.1779709902.git.dmytro_prokopchuk1@epam.com>
Message-ID: <6c3253f01170f436d388718b124c2340@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
X-purgate-ID: tlsNG-16d1c6/1780554231-85B6DD75-46EF229F/0/0
X-purgate-type: clean
X-purgate-size: 4402

On 2026-05-25 14:05, Dmytro Prokopchuk1 wrote:
> MISRA C Rule 5.5 states: "Identifiers shall be distinct from macro
> names".
> 
> Update ECLAIR configuration to deviate intentional identifier and
> macro name clashes by specifying the macros that should be ignored.
> This includes 'arm_smmu_global_fault' and 'arm_smmu_context_fault',
> where the original ARM SMMU handler returns irqreturn_t, while the
> same-named macro redirects later uses to a Xen wrapper with the
> void interrupt-handler signature expected by Xen 'request_irq()'.
> 
> Update deviations.rst and rules.rst accordingly.
> 
> Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
> ---
>  automation/eclair_analysis/ECLAIR/deviations.ecl | 6 ++++++
>  docs/misra/deviations.rst                        | 7 +++++++
>  docs/misra/rules.rst                             | 4 ++++
>  3 files changed, 17 insertions(+)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl 
> b/automation/eclair_analysis/ECLAIR/deviations.ecl
> index 7aa64796ba..419a23ce8e 100644
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -144,6 +144,12 @@ ARM SMMU driver calls by reordering the handler 
> and flags arguments."
>  
> -config=MC3A2.R5.5,ignored_macros+="name(request_irq)&&loc(file(^xen/drivers/passthrough/arm/smmu\\.c$))"
>  -doc_end
> 
> +-doc_begin="Clashes between ARM SMMU fault handler functions and macro 
> names in 'xen/drivers/passthrough/arm/smmu.c' are deliberate.
> +The original ARM SMMU handler returns irqreturn_t, while the macro 
> redirects later uses to a Xen wrapper with the
> +void interrupt-handler signature expected by Xen 'request_irq()'."
> +-config=MC3A2.R5.5,ignored_macros+="name(arm_smmu_global_fault||arm_smmu_context_fault)&&loc(file(^xen/drivers/passthrough/arm/smmu\\.c$))"
> +-doc_end
> +
>  -doc_begin="The type \"ret_t\" is deliberately defined multiple times,
>  depending on the guest."
>  
> -config=MC3A2.R5.6,reports+={deliberate,"any_area(any_loc(text(^.*ret_t.*$)))"}
> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
> index 01f141b73f..15c88b82f4 100644
> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -192,6 +192,13 @@ Deviations related to MISRA C:2012 Rules:
>         reordering the handler and flags arguments.
>       - ECLAIR has been configured to ignore this macro.
> 
> +   * - R5.5
> +     - Clashes between the ARM SMMU fault handler functions and macro 
> names are
> +       intentional. The original ARM SMMU handler returns irqreturn_t, 
> while
> +       the macro redirects later uses to a Xen wrapper with the void
> +       interrupt-handler signature expected by Xen 'request_irq()'.
> +     - ECLAIR has been configured to ignore these macros.
> +
>     * - R5.6
>       - The type ret_t is deliberately defined multiple times depending 
> on the
>         type of guest to service.
> diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> index 097c20432e..88d2c5fa7c 100644
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -230,6 +230,10 @@ maintainers if you want to suggest a change.
>         the macro is a local compatibility wrapper that adapts ARM SMMU 
> driver
>         call to Xen's request_irq() argument order.
> 
> +       Clashes between ARM SMMU fault handler functions and macro 
> names are
> +       allowed because the macros redirect ARM SMMU driver uses to a 
> Xen interrupt
> +       wrapper with the handler signature expected by request_irq().
> +
>     * - `Rule 5.6 
> <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_05_06.c>`_
>       - Required
>       - A typedef name shall be a unique identifier

Seeing the growing number of exceptions for R5.5 and 5.6 for one reason 
or another in deviations.ecl, I wonder whether a more structured 
approach to the configuration would be better (e.g., a JSON file that is 
then processed just before the build to produce an ECL file fragment 
evaluated in the the right place). The change itself is fine, but I 
think this would tidy up a bit the file from these targeted exceptions.

-- 
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 Jun 04 09:43:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 09:43:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327563.1592396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV4bg-0004KE-Bo; Thu, 04 Jun 2026 09:43:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327563.1592396; Thu, 04 Jun 2026 09:43: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 1wV4bg-0004K6-66; Thu, 04 Jun 2026 09:43:20 +0000
Received: by outflank-mailman (input) for mailman id 1327563;
 Thu, 04 Jun 2026 09:43:19 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wV4bf-0004K0-Dn
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 09:43:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV4be-009jD4-N3
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 11:43:18 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2148b2-5cb7-0a2a0a5109dd-0a2a4505a642-10
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 11:43:18 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2148b6-aaa8-0a2a45050019-d1558034d0c7-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 11:43:18 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-4903d730b1fso5321885e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 02:43:18 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f3529e0sm14937855f8f.28.2026.06.04.02.43.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Jun 2026 02:43:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780566198; x=1781170998; 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=RbOAcJp2nqPFni4qEom1A6eLui9QB8SNcMm42yDoNEU=;
        b=ron1bsGrLcNR7OTHqs8mED9fu5ALQH+5EMdnBhIy2FjczP/cdTIQp1k/Yq9hfJ/gDn
         xlWlDwjEJU68qoZNzq0lAh7cSlC6t/QUjlzVrGqDcONhuoUinVu/fOiOSnw+82dV7U7D
         2zGiAw9LS6lzzNQbM4SCcqWQPZyfRwczO9LLr3n3cWINvqY9VzJ0U+BO4rw/c62ZO3c3
         86YAzmsTV7qK1/aq3ZN/I072zIuSlAKRbOaO8iGEsd1TNXHcNFiUJhm5jDJNuOScSaql
         qUydICnOt8w9mSV9qzpi0SawLl6jl5qnyPzHJlntcBbWwb4bLUfg77ajQHiIdW4exXEP
         vtUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780566198; x=1781170998;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=RbOAcJp2nqPFni4qEom1A6eLui9QB8SNcMm42yDoNEU=;
        b=M0AIHfwjgZpe0MVvmtP270jAb237FsBbN4efhSOZi5106/Ap1sY1Jpb3YjA218ilLX
         bK2BWQEchRCQOHxaj9MoXGH56gmQnD11aYHgWQteMseYako1sXVVTZ1AQAG3CP1i1JAl
         3ebO7Xp0v3cBgfISxyXZhqM6iJGNPZDjQ9ZfiPyEcYNP/soDF1OvPLg0tCdWszQBs0zh
         mWwvRIoylB1s5eIuQJOGIj7LfWQSD9/raL+VVc31LoxOdEiMt/RsBahjDQpICIWT6YoS
         egKzDKoQNLD1LsYq9r58PKmjeDvTE65dIrx/cJ2CLtAaeO8lPO0ihYX/0Kzg5xOQGxrf
         M8HA==
X-Forwarded-Encrypted: i=1; AFNElJ8AZwoeygzzlZXPKkPoyVM3lKShq6A9gfJ51tcalieGz8eZmqpdzO2Mk3wfd1+pzrexeAMHdiW67zs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxSLtCFy8ciuTufCGrJuO3UOncW6G77ezu9gO/PSrhlWrorV1+7
	e1GuUIeIO4byUKB1P+QGQ0RCdwYrCxKVsYTl97uVf4vuyI3W+L32znSv
X-Gm-Gg: Acq92OFRYNOZDIwMM6+jxQ2su26LaHsCYrU4kIHQkV00MRZ4UW80j5E12mzSmErZBFh
	6g1/IBRvL4YH5b8RM1kC+vGxmo7MwZRK4l50JMUoOarusJCWhEnFTxD5oUMtcX469nI67HSKMh7
	DyiPCK9v3ahhnxuJpsnbtNkS3ZbtpfIk3M6LkgD9/1mYV0CPP9Y/Ks/eW+HG3Rxg8jKZBCFwC3a
	JJmB+9Kp3dW18E0CJN+s9ac6/vZEq9zw59kG1WUvP8vIh6KYanlbEJ9HJ1623SUZmGczh+XnXZV
	inL4g+bdFlD4zRn7vwv5V11LTDKVbhH0opjike8ZUpXhUhFyF0OE7USK22RuC5physp1F1meFUw
	lbxeOQytey9ULupFqnvIjiqoh7AzaYiPBqp7iDKv6X0XgKQjpG3gAHP3MzCS3SeKbE88IBMITYl
	zLljndcykyf7jpBf23nUvhyFpfqiWw13K7LI+ke9Mnm6HUiUprDpbhKIehKg7zhC2EqS5/RQWDC
	uUeyhJSw66urtLP
X-Received: by 2002:a05:600c:3490:b0:48a:7a10:4f17 with SMTP id 5b1f17b1804b1-490b5e732f4mr109464735e9.6.1780566197719;
        Thu, 04 Jun 2026 02:43:17 -0700 (PDT)
Message-ID: <ff4ecb07-7e97-4858-bdec-d85f25ad232d@gmail.com>
Date: Thu, 4 Jun 2026 11:43:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/page_alloc: verify buddy alignment in
 reserve_offlined_page()
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,
 Bernhard Kaindl <bernhard.kaindl@citrix.com>
References: <cover.1780495548.git.bernhard.kaindl@citrix.com>
 <6eaed95df4e5cb369a91281051ca9b5a2be564f9.1780495548.git.bernhard.kaindl@citrix.com>
 <a78c20d0-e894-467e-9eb8-4486bbdd1ac9@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <a78c20d0-e894-467e-9eb8-4486bbdd1ac9@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1780566198-DB36C443-0979016E/10/73395122804
X-purgate-type: spam
X-purgate-size: 2457



On 6/3/26 4:30 PM, Jan Beulich wrote:
> On 03.06.2026 16:17, Bernhard Kaindl wrote:
>> reserve_offlined_page() fails to verify alignment when growing
>> buddies around offlined pages. Consequently, misaligned buddies
>> may be constructed from non-offlined page ranges and returned to
>> the free lists.
>>
>> After a particular sequence of allocations and frees, pages
>> from such a misaligned buddy may be allocated more than once,
>> eventually triggering a Xen BUG() in alloc_heap_pages().
>>
>> Fixes: e4865c2315 ('Page offline support in Xen side')
>> Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
> Oleksii, thoughts towards 4.22?

I've waited for v2 of this patch series to R-Ack, I see patches 
separately but they aren't grouped into one patch series for some reason.

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

~ Oleksii

> 
> Jan
> 
>> ---
>> v2:
>> - Updated the title for clarity.
>> - Bugfix isolated from the test case for backporting.
>> - Removed excess parentheses from the alignment check if() expression.
>> - Simplified the alignment check to use '& (1UL << cur_order)'. Because
>>    the covering buddy head is size-aligned, cur_head is also aligned to
>>    cur_order, making this reduction safe (verified against extended tests).
>> - Updated the inline code comment to accurately state that only the upper
>>    half of the next_order range is checked for offlined pages.
>> ---
>>   xen/common/page_alloc.c | 5 +++++
>>   1 file changed, 5 insertions(+)
>>
>> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
>> index 2c4ff2c34c70..2767376a710b 100644
>> --- a/xen/common/page_alloc.c
>> +++ b/xen/common/page_alloc.c
>> @@ -1202,6 +1202,11 @@ static int reserve_offlined_page(struct page_info *head)
>>               if ( (cur_head + (1 << next_order)) >= (head + ( 1 << head_order)) )
>>                   goto merge;
>>   
>> +            /* Do not grow to next_order if cur_head is not aligned to it. */
>> +            if ( mfn_x(page_to_mfn(cur_head)) & (1UL << cur_order) )
>> +                goto merge;
>> +
>> +            /* Check for offlined pages in upper half of next_order range. */
>>               for ( i = (1 << cur_order), pg = cur_head + (1 << cur_order );
>>                     i < (1 << next_order);
>>                     i++, pg++ )
> 



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 09:43:51 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 09:43:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327567.1592404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV4cB-0004iI-Gb; Thu, 04 Jun 2026 09:43:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327567.1592404; Thu, 04 Jun 2026 09: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 1wV4cB-0004iB-E1; Thu, 04 Jun 2026 09:43:51 +0000
Received: by outflank-mailman (input) for mailman id 1327567;
 Thu, 04 Jun 2026 09:43:50 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wV4cA-0004i2-Go
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 09:43:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV4c9-009jPU-Tq
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 11:43:49 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2148b6-e002-0a2a0a5209dd-0a2a45018420-36
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 11:43:49 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2148d5-c1f2-0a2a45010019-d1558031a531-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 11:43:49 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490b3e03939so3926545e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 02:43:49 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4602cda363bsm2180639f8f.31.2026.06.04.02.43.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Jun 2026 02:43: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780566229; x=1781171029; 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=WsQduqihCW9isuZ/5cHmEh+xC5U5FNEQ67jyZWEZpVE=;
        b=kFLMSx5Yd62A5tBWcuIOgZ7VVpwuBvvg+5eBLqq/6QeQAJOkAVNwobIhF86iHixk3R
         I8igTv3UTjsZSVBzZ00LNqntz/bQb/jLOfjupw/gkxJRGQ8nFHChETuFby0w8k7Wgum9
         p2VYst0gHy+wvLxOdWC6yQueE2R5/xxeVpsfTfEaOKGjeT+aYQHvH1CoED9budP30DH8
         rE8pLMR6GKdlUAuR5Gf9zw6/5uE5n5vI9K8JOIaYwpI0MvaSqbM4mCuaTz+FtR3+8cTd
         4q9ar0odFkzN9MKu6+4gaGxiVwRQy7WOyuV8Gpkixs9gV/i92X7Rw0Ri5xJwOTeTIVDi
         O8gg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780566229; x=1781171029;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=WsQduqihCW9isuZ/5cHmEh+xC5U5FNEQ67jyZWEZpVE=;
        b=WnQHre27/DJ33hFtOin2i2BsSvLmP/7lm70qD7vg1gQHxW2Tq+RARAurAkUm1a23kS
         FYzVJRqhbxqh6SWLie7s9wR1NyxcM7Cd4/QLBrS/FyZMqQ7dhPrardKARbFVK3LvAB4w
         TGNNThh5izxwLfDI3uqr+jXxSkwDcY6QRf031P7fjEkzwzJnRp+B60OofF5fGhv9v4Dt
         HwYMWK353cNtb2JPE14FytqyI95pJHC2X0Sphv0XSHtEXiG6HHOFUgvgWzeMVcgOKGBR
         W3UTTI3qLCtPMqAu7h+Asst2inKxbSGtEejYBw85XgV5W+SNLqDFC1a3iuKqCfcFJJ8b
         5G9g==
X-Forwarded-Encrypted: i=1; AFNElJ/30ljyqBDd4Q3O4xl8ORmvlLvy0NMYjtJwiBkZ6Ezqpn8K58Vna1+Msu//KNHNheV8NVJrra5oCKk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzxgrF0oUl1f9aVX575XB+sRAGBybTfn1opiq+38YN8f09IWNvg
	szrRX10i5wouOXEnLgCzwgxIEPzlBKBthHClXk1N3UidVOIwhUFgm37m
X-Gm-Gg: Acq92OESk3tyDA+ME9qZlQO3YvOde3PnSGoOENqTwoc54eAtUtLra/Jkve/LImLn7N2
	jqKoBgJ3RwzABLHWcPbA/hIeJuvqddFojudCp4/ar+oxMKv5eD4rJdnW83eRVISbASVZWjWmusN
	snqzy4ZcdY+Q/igT9ysEWuk2CU2AaGGERO6+Y7j7M/GuTqSuTqrhifVlc52KbPdvW5uC7shfubT
	iu/LoVzdlppPx8fAS+KIhwD42fVAT0iAXFtwFz4NSfii6eg2HahWBwmumlW9yuP8t2+Jet/ldxQ
	eRltM0qu+fscPoA8jwMPXV75wjKfKJ+yYoaqnoQrM+U71yvI6s70X0yHMzwflAYdBajXLKAwgM7
	X6uRtNq8cjnDcjPatQyysaVMrWRyyYyatghn4Kcx3muMmjLNitBFinM6IuBQ2Yz9ismszr/znF6
	3U2Mg3TtUSljVR55eiaFpAo9oZPjMKPcQSQRoS5zE0U1s9ztAqsm4hfNWjONtKUInTLivAUG5zv
	G+PtqUpZrhMZjTE
X-Received: by 2002:a05:600c:4c19:b0:48a:5236:7f38 with SMTP id 5b1f17b1804b1-490bc5166a0mr26221185e9.14.1780566228918;
        Thu, 04 Jun 2026 02:43:48 -0700 (PDT)
Message-ID: <85270d7d-d374-4d31-ac88-d6d9aed397c9@gmail.com>
Date: Thu, 4 Jun 2026 11:43:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/mm: Fix off-by-one preventing tail merge in
 reserve_offlined_page()
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>,
 Bernhard Kaindl <bernhard.kaindl@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1780496798.git.bernhard.kaindl@citrix.com>
 <f2ed440fa3d2ca62c77868a60061168630d9fb6d.1780496798.git.bernhard.kaindl@citrix.com>
 <3f81a6e6-0c14-42de-9386-7820e68b16c8@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <3f81a6e6-0c14-42de-9386-7820e68b16c8@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1780566229-B7957FF4-F6C8F6B2/10/73395122804
X-purgate-type: spam
X-purgate-size: 2322



On 6/3/26 4:33 PM, Jan Beulich wrote:
> On 03.06.2026 16:27, Bernhard Kaindl wrote:
>> reserve_offlined_page() reserves pages marked for offlining and
>> returns free buddies from the remaining healthy tail pages back
>> to the free list.
>>
>> Consider an order-2 buddy (4 pages) with the following layout:
>> +---------------+---------------+---------------+---------------+
>> | head page       tail page 1,    tail page 2     tail page 3   |
>> | PFN_ORDER(pg)   marked as to                                  |
>> | == 2            be offlined                                   |
>> +---------------+---------------+---------------+---------------+
>>
>> The expected result after removing tail page 1 and returning the
>> remaining healthy pages to the free list would be:
>>
>> +---------------+               +---------------+---------------+
>> | single page   | offlined page | head page       tail page     |
>> | PFN_ORDER(pg) | not returned  | PFN_ORDER(pg)                 |
>> | == 0          | to the heap   | == 1                          |
>> +---------------+               +---------------+---------------+
>>
>> A trivial off-by-one error in the growth loop stops the growth loop
>> early before the tail end of the original buddy and we end up with:
>>
>> +---------------+               +---------------+---------------+
>> | single page   | offlined page | single page   | single page   |
>> | PFN_ORDER(pg) | not returned  | PFN_ORDER(pg) | PFN_ORDER(pg) |
>> | == 0          | to the heap   | == 0          | == 0          |
>> +---------------+               +---------------+---------------+
>>
>> If the offlined page was in a much larger buddy, this would lead
>> to much more memory not available for higher order allocations
>> requiring the full tail end of the original buddy for allocation.
>>
>> Fix the growth loop to correctly grow the buddy to the tail end
>> to make the full allocation unit available for future allocation.
>>
>> Fixes: e4865c2315 ('Page offline support in Xen side')
>> Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
> Oleksii, same question again here.
> 


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

Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 09:51:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 09:51:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327586.1592414 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV4jf-0006nZ-Cv; Thu, 04 Jun 2026 09:51:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327586.1592414; Thu, 04 Jun 2026 09:51:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV4jf-0006nS-AG; Thu, 04 Jun 2026 09:51:35 +0000
Received: by outflank-mailman (input) for mailman id 1327586;
 Thu, 04 Jun 2026 09:51:34 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wV4je-0006nM-78
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 09:51:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV4jd-0065sb-K1
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 11:51:33 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a214a97-5cb7-0a2a0a5109dd-0a2a450bdf50-26
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 11:51:33 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a214aa5-212f-0a2a450b0019-d1558034f141-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 11:51:33 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-490b64c8311so6286345e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 02:51:33 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490bc3b59f0sm67542505e9.2.2026.06.04.02.51.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Jun 2026 02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780566693; x=1781171493; 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=tuF8mqbgU6BDShbBCGqWxeRk1VGmEnnq0sn7JrTTZ2o=;
        b=e3UDcxHANjWDSkspsjn9bIgoEupyGlZeaqRFJV/0dh17gBcZ54VuOLezViGilXYvbn
         uH/Je66onNq8kmg2Klym60budCT8Mvx0NAKw9w5MCxANA1iok6hNnVAlVxNVMoe87pYC
         gbV23h4YtbMvDcAJBjyDy3hadrEmaEl0j41e9Fu83XB4Xwu8SnDlmz9VuXr1473JxBzv
         cswma8bLQVh+ondveaCRZ3ZycvR9pEpV1vJ9dMaZkr4wTc/bottENKeQV0BfsAc8HhET
         RQcYjvW0ZzBy54EDFZ7GEJTmYeOJQD0LJaf07pZStrt7urnOjM7AvdiIQafFFgUvH+cD
         C1pA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780566693; x=1781171493;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=tuF8mqbgU6BDShbBCGqWxeRk1VGmEnnq0sn7JrTTZ2o=;
        b=jgZK5L9XAihRLJbsuW1v0+4HAFDQyiC8cpn1AFPtgT0C3XjNdVdVN6cZwQ1LNkGvet
         q0E4RSDoBl42eTT71GDV4e/0buYlh/ZKdvGkWqO7kEdKMZa6YI9L594weqoG3OeHzCOC
         UKCVCVaERi8n1ud/BB1GBMuj9fzsIB6RL3JcMs6EqkysTHKKVVQ0XeQJHIotJu0e/hYv
         CWNrceqy5zXHUAm+NlKj4xDv4bev8vhenqAVT/dvChLVn/88QnoRWIKF4P+HlzqiX72Z
         1ENPT5h7XbOiigApLg3MjgpsK/uIE9rIlSPsHUIdsCEutohRermDhsACE2NEEcfQSG9S
         g2pg==
X-Forwarded-Encrypted: i=1; AFNElJ/bv9n8PREnp/Kixliwr801JalPw5g4u4IABKD6/pqC/HxPNXH46dz30xBmbpdo35tnXY+EIZiO5FQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwC6nWBx5lho+KT5asEVCXVo7nlqQ9weBSFR3iGeUrB3rkSU7gQ
	3o6E2jJDiETx9p1RGlyr2YKmm9yOmFcVFR80ZX3cmqi9ksF6t5hgoPFYPLvgdg==
X-Gm-Gg: Acq92OESF+lhBnKtM0zsnaKupey7xiH/OyEwsxAuRquJ2PgVp3u/eiNaFYJe48uR4UH
	inHvfkQ2TcghkO7cs5sWsCjpDnNgC/znbvEExA7MWiha0iqzi58L357votUkGxsUQ3LXOLm8rtf
	8BRF74HmPkAl+CfFLjcdnK05i6pzszGiQQePDmKLDbVAKF9V4DDQvuW2sG4a/gW3hsgwh8DFbRC
	buWTrJplVQx1Fo0uo2V+aeprhG/iX26C7zZL3Q/DGO10Y1CgXQgtah/wHLRs/3uSk6bTEp4tqXe
	31KBv+wXjPAFBLB/Nolgi/3L8Vl8iNd39gNPb5rHr86JYKdiOdSOl/FNjhhO2cZWjLDYDO6/g6O
	+AOSA6CqVONuHUg93ZdjOWDCUNx2NF3IEioIrGSwQkQblxVeGX3dpAu4btuzRcFoIKGu4MM96YP
	xgKSFaDrdlg2EYjONEDSOTOBaKI+n0fosBly1q7CVGZDpuqsOBoA1VloH72uooUEW3itTKqWjYh
	VknUyN/fKfvFLPK
X-Received: by 2002:a05:600c:3508:b0:490:5cd8:d21c with SMTP id 5b1f17b1804b1-490b5eb3310mr113676295e9.14.1780566692860;
        Thu, 04 Jun 2026 02:51:32 -0700 (PDT)
Message-ID: <b8872547-8e3d-457b-a01d-4854657bd086@gmail.com>
Date: Thu, 4 Jun 2026 11:51:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 0/6] argo: few log fixes
To: dmukhin@ford.com, 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
References: <20260603194131.1468654-1-dmukhin@ford.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260603194131.1468654-1-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1780566693-1AD77F3B-D72BD8D7/10/73395122804
X-purgate-type: spam
X-purgate-size: 1527



On 6/3/26 9:41 PM, dmukhin@ford.com wrote:
> This series corrects Argo module tracing.
> 
> Patch 1 lowers the verbosity of a spammy log message.
> Patch 2 corrects the debug logline.
> Patch 3 cleans up existing loglines by dropping duplicate prefixes.
> Patch 4 re-wires argo_dprintk() to gprintk() to include mode debugging
>          context.
> Patch 5 adds new Kconfig for short-circuiting extra verbose Argo traces.
> Patch 6 enables extra verbose Argo traces in CI for ease of catching
>          potential issues.
> 
> CI: https://gitlab.com/xen-project/people/dmukhin/xen/-/pipelines/2574255630
> Link to v4: https://lore.kernel.org/xen-devel/20260603060539.1181809-1-dmukhin@ford.com/
> 
> Denis Mukhin (6):
>    argo: lower level of noisy connection-refused log
>    argo: correct logline in ring_unmap()
>    argo: drop argo prefix from argo_dprintk() calls
>    argo: fixup argo_dprintk()
>    argo: introduce CONFIG_ARGO_DEBUG
>    automation: enable Argo debugging in CI
> 
>   automation/gitlab-ci/analyze.yaml |  2 ++
>   automation/gitlab-ci/build.yaml   |  1 +
>   xen/common/Kconfig                |  6 ++++++
>   xen/common/argo.c                 | 22 ++++++++++------------
>   4 files changed, 19 insertions(+), 12 deletions(-)
> 

Considering that changes affect only the way how ARGO messages are 
printed I will be comfortable to have this in 4.22 as it is low-risk fixes:

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

Thasnks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 09:55:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 09:55:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327593.1592422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV4nI-0007Nj-S8; Thu, 04 Jun 2026 09:55:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327593.1592422; Thu, 04 Jun 2026 09:55: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 1wV4nI-0007Nc-PE; Thu, 04 Jun 2026 09:55:20 +0000
Received: by outflank-mailman (input) for mailman id 1327593;
 Thu, 04 Jun 2026 09:55:19 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wV4nH-0007NW-Gr
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 09:55:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV4nG-009LAl-Ms
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 11:55:18 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a214b77-2eae-0a2a0a5409dd-0a2a4507d64a-42
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 11:55:18 +0200
Received: from [209.85.218.43] (helo=mail-ej1-f43.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a214b86-229c-0a2a45070019-d155da2be115-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 11:55:18 +0200
Received: by mail-ej1-f43.google.com with SMTP id
 a640c23a62f3a-bf1cdcfd6deso51194566b.3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 02:55:18 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bf051d82a31sm292292766b.19.2026.06.04.02.55.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Jun 2026 02:55: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780566918; x=1781171718; 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=3j9V65sqG9VRnw5C+XVKCgGFWn2OCgl6AaD40h7pY8s=;
        b=q1hsVQjJjrEc6Wx/vw+2T1LQXHkQFVL/BLsnmR06Ek0BqCRUFGG+PFP4nk3+AKzMVt
         GwwvvW5U49ruhLKWg+6nF/bxQ8RFBWTE2Uuja5pbEX6AnGGlgu7ydsVVhLfAJ6UAnck6
         l/96+rduzPvx6S1KFg9nJPfTXUFIVMfN/I4sTE6SgJKTBqLyvtHMtQHqMdHhgkSIKoSx
         j+LjyjQo16AxMvVOAfxqT20p2yzH2oOgamSGNF13aUDMCOGqJGMyFuW2us0vOIwSQp2Q
         /FH09HG4h+wGTNN6ifTUoh8ODBrrwvAK2M/ggIi0h6KhEe9nGEAk0sN5smJ5gF3RyNdr
         FUFw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780566918; x=1781171718;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=3j9V65sqG9VRnw5C+XVKCgGFWn2OCgl6AaD40h7pY8s=;
        b=CnFPBcM6z3QczwBCuV4a42OQ7E0lq1TJoFGIpx9/25J3P1wrhRuoTY2e3ZScqmt3X/
         ZBQl2gsDjs0TnT6+mj1sA3r00bRoTSlX9UaZfS4tJ/hIyanb1u2lebjWvYkk6LcASQ1l
         13aX+M93krw7wGkPpfwXKVRCJE8DdN0kZRHJt+402JdagYmGl+LRdfHLLf7DnZU1HC1c
         T6iKbdMDMXytLbtIsjR8V4wNngYqcjlYKoME3sNp3jexKFEMbLm5yQAwG3CN+4xWRkUJ
         yl6nWWp7lj9hUlm2sv2W9aHGdBDmexK93uyilat7syiIr3I9JzEN14Ifaeb9dXQUkQme
         Zw4A==
X-Forwarded-Encrypted: i=1; AFNElJ+fDqWV0MsK64VBEVmK2PbUPfjj5/Uz3ipGGxj/1hic+MQ/4Dk1b/RAnNeUQGvMQvdWeQbnjtnYjM0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzfXgl6wPZfrFYcbIQgNFZwqa8lF5QymkP6KqMrNz8mAlems4RP
	QN6ZpBrRYlW6PL0mKD11YpJvO10EAO+u6yw6IFPdVIZS96+zQ6VWVuMWKDshtg==
X-Gm-Gg: Acq92OH2kcFX7cFmzktsNcp/cR6qDG9DrqORoPcJNwehLzOWI0+Et069FMZHPPUpNGi
	BD3xjrPG9OSPn1jOUb8u5XSvcJg8op8HGIO+fzGP2rkqUmN8kWJZDI5cW53+N0WOv9ujWu0dSSq
	N/AkLaN/fav/i9QqAv584Rf9RwPQ9/rjCs+ITcNNeumvOg/CFCrJ9s4IJ/a+gbkiR2fDgv+0RfQ
	yp5rEgwRV288GhvOsfrWmtlP0EaUYIppWACbaTnyWJ81Ykr8t0lXUZdeN8iz6X9a1zacycraFPA
	XRQm6jp80jbXWfqslIEGh5zQh0FOToWnqEjmx+cexS27u+5AAuI9nDZs6m7U64uCdxPoe/mKKs9
	lPuX555tpvigURjiiKm+nNYgfImNS3J64qsgr9ps9A3zyCirDCxnq2U1v7NgFe3my1Q/8h0znsC
	GJkFjtAilOLrC2ik1K/xIaJLSBO9In3o268f12+bShc6SyEzeWLG0+WGMSnJNPKbGpFpWP7NYle
	dULCRsRpf55iYGumplxYlxWymg=
X-Received: by 2002:a17:907:160f:b0:bed:25a6:1c89 with SMTP id a640c23a62f3a-bf0ae5f5188mr360349466b.25.1780566917781;
        Thu, 04 Jun 2026 02:55:17 -0700 (PDT)
Message-ID: <b274cb6e-0045-488f-bfd2-211e22dbaae4@gmail.com>
Date: Thu, 4 Jun 2026 11:55:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/mm: Fix off-by-one preventing tail merge in
 reserve_offlined_page()
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>,
 Bernhard Kaindl <bernhard.kaindl@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1780496798.git.bernhard.kaindl@citrix.com>
 <f2ed440fa3d2ca62c77868a60061168630d9fb6d.1780496798.git.bernhard.kaindl@citrix.com>
 <3f81a6e6-0c14-42de-9386-7820e68b16c8@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <3f81a6e6-0c14-42de-9386-7820e68b16c8@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ef75cf/1780566918-20563C48-5D510F33/10/73395122804
X-purgate-type: spam
X-purgate-size: 2307



On 6/3/26 4:33 PM, Jan Beulich wrote:
> On 03.06.2026 16:27, Bernhard Kaindl wrote:
>> reserve_offlined_page() reserves pages marked for offlining and
>> returns free buddies from the remaining healthy tail pages back
>> to the free list.
>>
>> Consider an order-2 buddy (4 pages) with the following layout:
>> +---------------+---------------+---------------+---------------+
>> | head page       tail page 1,    tail page 2     tail page 3   |
>> | PFN_ORDER(pg)   marked as to                                  |
>> | == 2            be offlined                                   |
>> +---------------+---------------+---------------+---------------+
>>
>> The expected result after removing tail page 1 and returning the
>> remaining healthy pages to the free list would be:
>>
>> +---------------+               +---------------+---------------+
>> | single page   | offlined page | head page       tail page     |
>> | PFN_ORDER(pg) | not returned  | PFN_ORDER(pg)                 |
>> | == 0          | to the heap   | == 1                          |
>> +---------------+               +---------------+---------------+
>>
>> A trivial off-by-one error in the growth loop stops the growth loop
>> early before the tail end of the original buddy and we end up with:
>>
>> +---------------+               +---------------+---------------+
>> | single page   | offlined page | single page   | single page   |
>> | PFN_ORDER(pg) | not returned  | PFN_ORDER(pg) | PFN_ORDER(pg) |
>> | == 0          | to the heap   | == 0          | == 0          |
>> +---------------+               +---------------+---------------+
>>
>> If the offlined page was in a much larger buddy, this would lead
>> to much more memory not available for higher order allocations
>> requiring the full tail end of the original buddy for allocation.
>>
>> Fix the growth loop to correctly grow the buddy to the tail end
>> to make the full allocation unit available for future allocation.
>>
>> Fixes: e4865c2315 ('Page offline support in Xen side')
>> Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
> Oleksii, same question again here.
> 
Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 10:17:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 10:17:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327611.1592431 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV58L-0002m6-JT; Thu, 04 Jun 2026 10:17:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327611.1592431; Thu, 04 Jun 2026 10:17:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV58L-0002lz-GR; Thu, 04 Jun 2026 10:17:05 +0000
Received: by outflank-mailman (input) for mailman id 1327611;
 Thu, 04 Jun 2026 10:17:04 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wV58K-0002lt-Jc
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 10:17:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV58J-00AAq8-LT
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 12:17:03 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a215098-2eae-0a2a0a5409dd-0a2a450386e6-12
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 12:17:03 +0200
Received: from [74.125.224.45] (helo=mail-yx1-f45.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a21509e-672d-0a2a45030019-4a7de02dacce-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 12:17:03 +0200
Received: by mail-yx1-f45.google.com with SMTP id
 956f58d0204a3-6603d8697d2so587589d50.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 03:17: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780568222; cv=none;
        d=google.com; s=arc-20240605;
        b=cxwFEk645IfQidGJLOrN3n6XB37OpkmfG6qj+kvzPRCDeoEelYGl3WqYsjgzFueHen
         cYRJKCr9JIAbLftwJ3eLYY3q22jyh4L1x0+GYh8epnsy4n9O+oLlMUb9Oe8l98dUAnXJ
         JRLOl4P+PdT+OFwpcKNAFzu2CzeVxnG2mAsQXnmYNW54k9fUjH5Bukw6XzQeezLFgFZf
         0cTKOVKoKnMarcQfYKqRZkD3lXTSmOXerhXacZf0yKLjaDkHjHg/CkkmMLnthKOHVZ5w
         V/uiHPcO9/Ft6UvzidgspWPynu3Z+4V4xWg1gBIRGosly0mTQ0ZznWOY9XoGYZInJ2jG
         Fq6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature;
        bh=3g2FJuhmtw1p1grCzFRLprBtPRu9/Gw6Z11ZYhXMP/k=;
        fh=P4u/IhpfK7clP8z1s5Ol+HHE8whEXfpZ9+vnjbgCW9Q=;
        b=BSptCTgdxppBka+8r1bCBUzeGw+/6khmNmk4+hy+xuseky08aQn8a3KZhb7xzI4HqC
         bzq7L3B/ixywmK3yr9OP9IL8WRmdXvQLhbWc7laD9CIuEELRYN6pZKz7l1Xt1/gCQZ2G
         QBNuFhqMg5JA1TSB0DfDHUZsQz383PjDjAcFFtb0VBY2x9PYj6XgSjv9FzRZ+U1DhkF0
         z8LZR4CuHXDOUpnf4PhRWRM3fhyFG1mxypdrvZgtVimV6Cx0fHLlVT4Ofcp06XAAnxHO
         QTkZ5ygMsMiMoxEHAPmyuv/ew2BPnPzeyJb8wf+JX63wuPvX+lK1Oab1pgbCU3rt6xWt
         5TOQ==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780568222; x=1781173022; 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=3g2FJuhmtw1p1grCzFRLprBtPRu9/Gw6Z11ZYhXMP/k=;
        b=rNBLie98hGwz1ZmLTLreYq9n5BR57KETBGw27zMgQMxeK5ja7S/pxqAAMsiOASM3xY
         zV34mTXHIzWZ3De+qizYlxsZ5EPLGLc54jPnnt4QoJo42EFeJSMg+iD66uhErOu9JLJX
         mxwFQAr9kMTew7V11DDSiifwI19OE9/n0KsZdbw0vUyKOCugqZeZszrjZqHbNVcAw2ab
         w0apj11NSxybUsyqgv+1IGw4dKaj2ohQwAJLgt0VOcBrKz8tYRRmsQuPusWAZID6+C+V
         GYjtc58U1BKOfF93lfZqNKIzs6mEd/FC6mJvH+o9gaW7VuH+mlPNlzx472pRm+FnBERE
         Wjbg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780568222; x=1781173022;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3g2FJuhmtw1p1grCzFRLprBtPRu9/Gw6Z11ZYhXMP/k=;
        b=J3XvJ4wRBSD4d051FNNHPSeWZXtGCoBBm0fIWKdXk6OTVxAwSlO4+rIPO+aCaw5pPr
         WyBEZl54PCz84LbUnhWbUwXW1xxPleoW5dbJcMPp4ihpZ7qIXDSrGtYpGka/JgaQKud/
         QBRZcYJnSsB7qJk/jzJKiv+g4b66FSEc/6iVr51Ry6MHX0XkMyFYfOfW+P9ZqDeQEcEu
         3ISP3JocnVp1k+PxjogtJ9O88teZMT4V0/NLfJwFAW1KQ/FBj4ayZbIYs+MQ6aBZ/wjs
         WqRgMQS2m645OdDTfSgU7ueYKx98ISFcYvuQGwep7rPj+JDt4+dOBD0/1yV7j+GaNPdh
         8KbQ==
X-Forwarded-Encrypted: i=1; AFNElJ9bZ2OPhmuz+IfGoydj0w9bkFjRgdB32oyfQ1tYgxBwEfyNMqtj7CZnWIWjK3RKu5RouCo0TfDgf0k=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzd1+1clwZLDvT62Kvi5Ftvxltf6TywyxXn6RB0qCd5GnQFUiZe
	5GB6LJz8vUsDpPmLVcamScdkdiJ49ahDR+rqEawSNRyMzZYjIttEcnLxO1S0FwmVoFC/pvIZvv2
	5UkmosJHwjTvOUulKRb9KMC12qnkU3TA=
X-Gm-Gg: Acq92OFuZ4AZ9rqdzu/6sJlJqDuHOh4bNA0hpgVFfS67L+44xjXC6kGVehTD5g27XyB
	x13Owhy0wHcusH/xmGFta+up0aTm0Q763uP7Pc2e/+8owtZZWFx8cEZekBaUQfcw++LKG7H9mxC
	bnldnDtebdBvXvWXvJZKZg1ktUrj1xvNWBcQiz9PLdywhtD3oVtcuzwcd5dt12SPcggn3fBgjuQ
	1vaZZLtzi4V+PMFHsWPz2R0Evq9DASzX/7eS9tcT3+Ae0Zd/2bMd+ROtMCXFH8zgWM/ds6Vorln
	+c2u4F0MqpIpCsCtEHSpXGQiGRYb295aYy51qQpUopJeroMVydGklgU5uh4=
X-Received: by 2002:a05:690e:bcd:b0:660:eaa4:5c17 with SMTP id
 956f58d0204a3-660eaa45cc7mr4604017d50.2.1780568222039; Thu, 04 Jun 2026
 03:17:02 -0700 (PDT)
MIME-Version: 1.0
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-3-frediano.ziglio@cloud.com> <7067092e-ba18-4513-a9b1-83ba084ccbb4@suse.com>
In-Reply-To: <7067092e-ba18-4513-a9b1-83ba084ccbb4@suse.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Thu, 4 Jun 2026 11:16:49 +0100
X-Gm-Features: AVHnY4KSFS8YyALlJI_kHXlPvRsRAqaV41C6jpV-aelfAbhVk2vyTWu-Vzew3Qg
Message-ID: <CAHt6W4cP57pAPsNDKpssjYB=snLEZgOhWkYkVrJys01-NTMiRQ@mail.gmail.com>
Subject: Re: [PATCH 2/6] Align all sections to 4KB
To: Jan Beulich <jbeulich@suse.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
X-purgate-ID: tlsNG-33051d/1780568223-41396938-41C62D49/0/0
X-purgate-type: clean
X-purgate-size: 1951

On Tue, 2 Jun 2026 at 13:09, Jan Beulich <jbeulich@suse.com> wrote:
>
> On 29.05.2026 17:35, Frediano Ziglio wrote:
> > Required by UEFI CA memory mitigation.
>
> Imo this isn't enough for a description: At the very least you want to
> point at where that requirement is spelled out. Additionally: How much
> of an image growth is this going to be? Considering that elsewhere it
> was already said that xen.efi is too large for certain purposes (and
> hence e.g. debug info wants stripping there), size increase is a
> potential issue.
>

I'll integrate Andrew comment on the description.
The image will increase but if it's a problem just adding some kbytes
it would be a pretty big deal.
If I remember the issue was more if the image was not stripped and in
this case it was like 10 times bigger, not just a bit bigger.

> > --- a/xen/arch/x86/xen.lds.S
> > +++ b/xen/arch/x86/xen.lds.S
> > @@ -162,8 +162,8 @@ SECTIONS
> >         __note_gnu_build_id_end = .;
> >    } PHDR(note) PHDR(text)
> >  #elif defined(BUILD_ID_EFI)
> > -  /* Workaround bug in binutils < 2.36 */
> > -  . = ALIGN(32);
> > +  /* align to satisfy UEFI CA memory mitigation */
> > +  . = ALIGN(PAGE_SIZE);
> >    DECL_SECTION(.buildid) {
> >         __note_gnu_build_id_start = .;
> >         *(.buildid)
> > @@ -330,6 +330,7 @@ SECTIONS
> >    __2M_rwdata_end = ALIGN(SECTION_ALIGN);
> >
> >  #ifdef EFI
> > +  . = ALIGN(PAGE_SIZE);
> >    .reloc ALIGN(4) : {
> >      __base_relocs_start = .;
> >      *(.reloc)
> > @@ -355,6 +356,7 @@ SECTIONS
> >    VIRT_START &= 0;
> >    ALT_START &= 0;
> >
> > +  . = ALIGN(PAGE_SIZE);
> >    .sbat (NOLOAD) : { *(.sbat) }
> >  #elif defined(XEN_BUILD_EFI)
> >    /*
>
> You say "all sections" in the title, yet this is not covering e.g. debug
> info.
>

I will change to "all loadable sections". debug sections are not
loadable so they don't cause an issue.

> Jan

Frediano


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 10:28:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 10:28:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327622.1592441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV5JJ-0005EC-Hw; Thu, 04 Jun 2026 10:28:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327622.1592441; Thu, 04 Jun 2026 10: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 1wV5JJ-0005E5-ER; Thu, 04 Jun 2026 10:28:25 +0000
Received: by outflank-mailman (input) for mailman id 1327622;
 Thu, 04 Jun 2026 10:28:24 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wV5JI-0005Dz-QA
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 10:28:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV5JH-003q1G-W2
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 12:28:24 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a215346-5cb7-0a2a0a5109dd-0a2a450ad140-4
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 12:28:23 +0200
Received: from [74.125.224.54] (helo=mail-yx1-f54.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a215346-56b3-0a2a450a0019-4a7de036e4e0-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 12:28:23 +0200
Received: by mail-yx1-f54.google.com with SMTP id
 956f58d0204a3-65eb226b1ceso585593d50.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 03:28: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780568902; cv=none;
        d=google.com; s=arc-20240605;
        b=HFXgQ93rrQb4KmWotQTVMPr5JV0NwagbAvkOlEW4kvRVd61c1iZiAJ8+us31+XERjM
         dyPExyGTW70wVbduZwTLk4eN3cuTGwsXNXFumll96Z8FDi1z+5acR0daS7oXeJzm3d6s
         Pw/eFWMF0PKiED6yPQTWBEawsvA75BRyvoO7RfiTXRZdLeFppTzRDjOmSXWh5y8j702z
         Oc/UhslU1OJBbiIws+7Vf78BLO3BmN3VSC/a8CSU9fjhXyJG6UMya/f3+71w+3WZFIjz
         FAM2H8VLt+bDcMynE7ZY0rVfyJek6HBal/pg9y0bPVFbT2cH9ROqM/uWrmneWZsId9a+
         P7Mw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=pVMffWJhnWDz4y1GENHFYlmJvvLBHHDrwJFHR3wzWZ8=;
        fh=aTOqydVVH61A9fLIqtSJso3dR9MO//odNcGAaUB9/kQ=;
        b=dqGoiR/mHBiJS7X/B37Q2nZicdxhjNDRNjBb1h8vA+tWtzuAZ2Q4aR623XDqMD9Ulx
         6leTt6NQLOJew9syGe/WL3QkxHdO1zMsA2JcwmpkDP60cQvptH+5gxRCNFbrsRNf01Pr
         5cPjRIbr7PQpSKHDzcoTLTO6i7f0JN8YAQ1YBc7qIZ/+UDrpv69xtx7FS3UpuwPoTxpL
         KCN24s4sa94HIZwKV6rQOi6u3q5vCZ8dfQJs0y/9Hl6VuX5/mul/V6vLLHstUovib72C
         ksGUe0lwEqssSG6pU1LBGgEbb23WpE5N7aNMx1DNBRYV6trAFe5yG68MkLLGuHRu6G+f
         fL7A==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780568902; x=1781173702; 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=pVMffWJhnWDz4y1GENHFYlmJvvLBHHDrwJFHR3wzWZ8=;
        b=IbioBkqHVYmAa07sywBItlzBIFx5N4LvpcpyWqvCPBoo/r2BHAUS1V7HnLWrPc/c32
         F1s/XY5BP480n84T4mn635MWJ5bansEzs8b5k0m7Iu9egjmQ6yiIvMxUok+s/Cov8Moh
         IDFYNLxyxZPG+zc5ZWl+/77IjUYK5OjrrBg4Cx5hUjcAGvqNln0fwteNcMvYr8B8YT9R
         DlszotJKoA5VvsdAl0kDtpcLcgX+STWgGEzfKWBmeqChyKFZY9u8Q1AAMpOpMMUOlwRO
         4guXXIvNL3QwqdencnUW81f3YgzeZeaYacPIEHprhVle11g1sYgmRpLd3zZwm9v3nz+D
         ZI/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780568902; x=1781173702;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=pVMffWJhnWDz4y1GENHFYlmJvvLBHHDrwJFHR3wzWZ8=;
        b=qcYNXTZ168ujLVXQ6FYKYS4U0xKJX+dbFKCBzt68c746zKGhJgYQbRGFIs9UR/x0oa
         ATMeFDhDWYl6ZJ0GR/udJY8LViQxd/2Wu/mMWAB1hBltm5cxySwlNzYi8YIc4pW1t1UR
         pW+0ovIxgszkP/7gjEFCNaNC66jy2v4jpuDDaKsYkFFXQzlDXndHdF9+eydKAgIVFAaM
         uLWrivSQ9FXghCZhcGgFb3Dl8fGH444duYVOxtfWXFUiOw2uVf2wwY8lgT7MVp0MhIjB
         d/2FyhN9hXbeAFUufEiWqYusVslpaLpntcKD5rw5CmVOJFhgWZga4WIlvCaG+wnh8htj
         2fzg==
X-Forwarded-Encrypted: i=1; AFNElJ+JApZ13I41S7Ls/B7kER/27aiBN2dB/XhGW9zOjobou78r/EWFLHNLCbHdR9XtEdjAkq5uCEr8b40=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxvIQwoltzWNnqYlZBtM790tNaKV9cdXcS3l7LcHaZX3Mmlqpmx
	2sgF5F3qHWcoWgBRfrPexWDAgVxUPht3aZt48AhTTio4QuvhQ0UQUNEbXt6pCWt7CC2fLchKuJX
	iT+RSwReDojIPZvDqgEdO8kgbKxh1aVg=
X-Gm-Gg: Acq92OHH5UzdQXWlAHXVpb0UlCILlMbMhqfIe0R5SstPDdCjeeTNU3dS0JBfjaK5yV0
	AeoB4y5fs8IBRT29MSP7ZCZmR+i5pUYYcomMWyp36vtXRLDROy2SC9pYyCCrkyi1Ik6xSfm9bbq
	1QAfJQQNUJPvCgO3E1LpkQYcl6Z7h39k6myuEE7P7pDYTkQ/dZYKAQiR/RJ4RMvrlqCJ4d2L8Ov
	rm6LPsLb0Lrsny4lzJJC1HzxbItxhpXA80VGKQsHxut0WODMFvqgcvumeb6RIb2B1Q5pMFnQD+n
	kJh1zMnklAyGxwC/esDz60La5cp9mfPES6Df4XEWkQM636CO
X-Received: by 2002:a53:cf09:0:b0:660:34af:b504 with SMTP id
 956f58d0204a3-660dc4dda2dmr4819183d50.30.1780568902136; Thu, 04 Jun 2026
 03:28:22 -0700 (PDT)
MIME-Version: 1.0
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-4-frediano.ziglio@cloud.com> <35a67929-aaef-4b1f-8370-7dcdf096fbb1@suse.com>
In-Reply-To: <35a67929-aaef-4b1f-8370-7dcdf096fbb1@suse.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Thu, 4 Jun 2026 11:28:11 +0100
X-Gm-Features: AVHnY4IJNGX13Vu7Aybzk374iJP6gVEiIfHahDACXhbp4A5RMcwVLm6ICj75Aso
Message-ID: <CAHt6W4fXPy9o2VzO-E+PkNv+VA2FcRPTzJzH6gAyqwXuV6ytmg@mail.gmail.com>
Subject: Re: [PATCH 3/6] x86/efi: discard .text.header for PE binary
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Teddy Astie <teddy.astie@vates.tech>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-4011c0/1780568903-7DB818B7-67AC8646/0/0
X-purgate-type: clean
X-purgate-size: 1688

On Tue, 2 Jun 2026 at 13:15, Jan Beulich <jbeulich@suse.com> wrote:
>
> On 29.05.2026 17:35, Frediano Ziglio wrote:
> > From: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> >
> > The multiboot headers are not consumed in the PE binary, hence discard =
them
> > in the linker script when doing a PE build.
>
> Yet weren't there plans to allow making use of those headers even in xen.=
efi?
>

That method was replaced by different ways of loading. Using multiboot
for PE would require some extensions to multiboot as the protocol is
not designed to support PE format. There are already ways to use EFI
and configuration files that can be used. We (as Citrix) are going
(not me personally) to post changes to extend xen_hypervisor and
xen_module (used currently only by ARM) to x64. These changes are much
smaller, maintainable and coherent.

> > That removes some relocations that otherwise appear due to the usage of=
 the
> > start and __efi64_mb2_start symbols in the multiboot2 header.
> >
> > No functional change intended.
> >
> > Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> > ---
> >  xen/arch/x86/xen.lds.S | 3 +++
> >  1 file changed, 3 insertions(+)
>
> This is lacking your own S-o-b.
>
> > --- a/xen/arch/x86/xen.lds.S
> > +++ b/xen/arch/x86/xen.lds.S
> > @@ -57,6 +57,9 @@ SECTIONS
> >    __image_base__ =3D .;
> >  #else
> >    . =3D __image_base__;
> > +  /DISCARD/ : {
> > +    *(.text.header)
> > +  }
> >  #endif
>
> We already have DISCARD_SECTIONS, so I think it needs clarifying why that
> can't be used / extended.
>

Yes, this can be done that way. Roger, do you agree on this ?

> Jan

Frediano


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 10:32:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 10:32:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327631.1592450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV5NB-0006oo-2z; Thu, 04 Jun 2026 10:32:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327631.1592450; Thu, 04 Jun 2026 10:32: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 1wV5NB-0006oh-0F; Thu, 04 Jun 2026 10:32:25 +0000
Received: by outflank-mailman (input) for mailman id 1327631;
 Thu, 04 Jun 2026 10:32:23 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wV5N9-0006ob-RX
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 10:32:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV5N9-00Esx6-3o
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 12:32:23 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a215429-bab6-0a2a0a5309dd-0a2a4501afda-42
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 12:32:23 +0200
Received: from [74.125.224.49] (helo=mail-yx1-f49.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a215436-c1f2-0a2a45010019-4a7de031c17e-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 12:32:22 +0200
Received: by mail-yx1-f49.google.com with SMTP id
 956f58d0204a3-660456349d9so704550d50.3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 03:32: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780569141; cv=none;
        d=google.com; s=arc-20240605;
        b=Uy88MsEmqy8oQpAAH0neL5XVip3wFLQnfYFFUu4MeWc8wxaHTVqd8Bx858rIPox3oN
         IWwWtV5EWw4PkkVXIe46YCNywulsnVT/clqE2sm92L4jPqPtc0qeOmJKHaWXEpYDiFRY
         06g/5v5HAUyGiFXYl62GT6jA2CBgkabgZcidyYcX3VDY8W6jiBp0imwhSI1vcv1IjazH
         3Ihw9SZUvsSI3OcZPdF+qDFHKCfHR1e9Es43pvpLxloE26jDZglijt0eCkuhWAGcQwmZ
         fUHyYyzt5cNmqmeGBzTPym6mSFndRD+Ar8SQ+UsFO7QdQel7Hr0FsNXE5kxE8zeECHRb
         qr4w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=kTVs0z6F28EiA5vbr0oEiu4LOa8D6Q2SwnuB/7vzbwA=;
        fh=hLlsiwH23pAKb3EaW5nccT+0+LH92H+BDVsLIMBghTg=;
        b=TrkJitPrDcRROsCCs8vpWz0Zby/EMGoem9yAOYh15wLS6JCgbCEHOqhiycjJj4jabV
         LrfpVJWz1EUc2AfgA+SHwr0dZkHcUSBTvFUiSTzf06pBzRFyuH7hXa/ogdDNZ/W45Vj3
         MGdsF2bRDlQv88p5ThOE8I4PCVwYcHpfOkDnaXwr5Cp/Yq97YUtzNangO9PF2/CMOtyv
         2O+WyPHh5Suud/dZojvuatWjT3d9bWLJTRmyWQOyUsNCa9VC7WDQlG+Pm0e5ApCmxsL1
         mLMdG6P2FQJsdijQ3tg7WnhT5MFpm4oAt9fln75qzbGEM1/CUgHhvZGeWYGdcMUtvRfd
         oDyw==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780569141; x=1781173941; 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=kTVs0z6F28EiA5vbr0oEiu4LOa8D6Q2SwnuB/7vzbwA=;
        b=IODsIL0YyG8xpUt8O9gLkpENaqiBBPVj3+dB2Y6YwyvrKwh5rENkEcfwbayeiO9F+n
         3J5OkKBhG1ZAaJkOP597Mkit8WspVvAUp04ndZME37nIHVfDBdGzyjaQ1S73F6GqwZZe
         AejD1L0jIbhJj5rm0sTySQxweG+nAzRYMdU8PHOCBgnl6B7V2nnaPgwN3uAle+SG3CXD
         UdkNSINM3reeDzR31mzn1tzwYaURcB9+FCSkN5q9Fu400DnqblN3WjDsmSEZA6w14UxX
         FCjCCmLdUnNZ/uPJOrbB690nxX3xJu62E3nB0Qb4gnxMCumphRkyuVbj+krAeeFpmLgs
         4rkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780569141; x=1781173941;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=kTVs0z6F28EiA5vbr0oEiu4LOa8D6Q2SwnuB/7vzbwA=;
        b=VaCq1srHfW9El/3yITjTFmKgHNyZUcUFQNDUqp+k9hNO5wlkWjZ3mIle8PyZJeNNaC
         HEg/wklHBO/e3Uz0+DQ3cjhKOFxPxfD239z/zvf7NuV/Zp8IH5O9kxh7MbQJGQRG0dy8
         DUiEt7J2z9RaU5McjHZL+W9+dcoDFE8zWt2CDgMwSkP8lRexnOWRi6i0dwyXIH/er0je
         4WtcBLO+SIeZ3IJvWWL53Kgo1DOU5TpSeu4yFOh0fk3pSnuR3C2Q7Ybp8Ob8YNBDuyZD
         9Jv1iuxLmd/G/SjP8fWL4I+F6Z5/w/x0IN3ed1oFQkpDqgT0bk/ql/Nh9cXjywKmTPNJ
         hIyA==
X-Forwarded-Encrypted: i=1; AFNElJ9yes9vv5dqbLpP2M6I1HSpTIGoPnVjUFYN66b77GaMx53SXJYyTrxiSp9dA9hsff6c4Ocxsj2R38A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzRsoE9OVvEqd21+EWKAroCr0m36S1jDTG2ePAhUmIyrwrtz1uj
	EffmgfbtPK/KFyFo65WaJgGwJJTAewKtOGkDKkV7OB4/hpKDvdXp/D7PSkz6Ul+7GWHkn9FWbNJ
	gA+IEg4b3I++mrJiox/FHw2IduNFBkmY=
X-Gm-Gg: Acq92OHG5i6kRa+QjVeJsy+bTJOVBrwLxDpyHaXdraRBy6EjaMigKPxLISmjuELk2cb
	vAnNASxPeKIBSBrem2EErOSIUTZ3eZedE16L1vjBs9ofpJIUfxW7j0xFz7nE/5QZ1hDoKrGQbB+
	ebOsrsF0IcomCkJEro/zJ+TmwNK/d9GtLx4b8UpQSo0gwRs4J9NzMAx6yp4LNtKV6U2ZBmS90hW
	5h74IlpdjnC0Maa3RmjmBo5JccpV6OfFZewrMS9cViBeXElSMd+Rq9QnsmxYLWe41UvFBNYN/HW
	Itwjkjs6dPJQf9LlH3CAo36U3ch0e5LwEBCyLERWhSvlJwO8
X-Received: by 2002:a05:690e:4141:b0:660:30db:6929 with SMTP id
 956f58d0204a3-660df48116bmr6042914d50.20.1780569141489; Thu, 04 Jun 2026
 03:32:21 -0700 (PDT)
MIME-Version: 1.0
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-5-frediano.ziglio@cloud.com> <dea51228-0eaf-4e30-8ca4-fb4a5077a624@suse.com>
In-Reply-To: <dea51228-0eaf-4e30-8ca4-fb4a5077a624@suse.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Thu, 4 Jun 2026 11:32:09 +0100
X-Gm-Features: AVHnY4JJCD4rgx-E8XoPhCzki8wSqwl3wuYD-aqMZLSpCb2TB2lAytahYFYc0G0
Message-ID: <CAHt6W4cxh6bQ=zY4e13cG=nvsNVyd9cMx_T8ajNwaAT19tu1Lw@mail.gmail.com>
Subject: Re: [PATCH 4/6] x86/efi: discard multiboot related entry code for PE binary
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Teddy Astie <teddy.astie@vates.tech>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-d62444/1780569143-B6B5EFF4-7862795B/0/0
X-purgate-type: clean
X-purgate-size: 1213

On Tue, 2 Jun 2026 at 13:17, Jan Beulich <jbeulich@suse.com> wrote:
>
> On 29.05.2026 17:35, Frediano Ziglio wrote:
> > From: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> >
> > The multiboot and PVH entry points are not used in the PE binary, hence
> > discard them in the linker script when doing a PE build.
> >
> > That removes some relocations that otherwise appear due to the entry po=
int
> > code in head.S not being position independent.
> >
> > No functional change intended.
> >
> > Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> > ---
> >  xen/arch/x86/boot/head.S | 3 ++-
> >  xen/arch/x86/xen.lds.S   | 2 ++
> >  2 files changed, 4 insertions(+), 1 deletion(-)
>
> S-o-b issue again.
>

Even if I didn't make any changes to the original patch ?

> > @@ -200,6 +201,7 @@ SECTIONS
> >         _sinittext =3D .;
> >         *(.init.text)
> >         *(.text.startup)
> > +       *(.init.multiboot)
> >         _einittext =3D .;
>
> Aren't you making a needlessly big change to the final image by placing t=
his
> last rather than first?
>

Yes, I agree, .init.multiboot section should be even before
.init.test. I'll change it.

> Jan

Frediano


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 10:46:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 10:46:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327648.1592459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV5af-0000Rs-5i; Thu, 04 Jun 2026 10:46:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327648.1592459; Thu, 04 Jun 2026 10: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 1wV5af-0000Rl-2n; Thu, 04 Jun 2026 10:46:21 +0000
Received: by outflank-mailman (input) for mailman id 1327648;
 Thu, 04 Jun 2026 10:46:20 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wV5ae-0000Rf-2U
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 10:46:20 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV5ac-001AgL-GE
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 12:46:18 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a215770-2eae-0a2a0a5409dd-0a2a450cea44-24
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 12:46:17 +0200
Received: from [52.101.62.18]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a215777-62f1-0a2a450c0019-34653e125667-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 12:46:16 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by PH7PR03MB7339.namprd03.prod.outlook.com (2603:10b6:510:2f8::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Thu, 4 Jun 2026
 10:46:13 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.007; Thu, 4 Jun 2026
 10:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=gLRfSjauXqF7nc/puZZ0PEeKQAKJRPdc2zAE9zTGVc41g0/TEoh1z6i3dlmrf2UzwYAqOf69z/gaYdAvkzGwBnWltZ2VKl+CWRdZ4ads4a7t0GaQm0x3yhXdhiRHGZIllx/ftcHx01guzpFoS5r7EtqDHuLxd92nJDI2b3iIKLuBJ5ndmkB0+BOBd6yPh18MGcQDjJZlEM13qG7l4N8EndvY96JXIgNEbe4PB2aOphuC1/stKlAFLo/prJxE6m30jgvttm1Pq/3jtTgxWnUZ8r815V0NcqRlUWMM6vsCkzqXZ0IkIRbd/5e1M+bn7F86PL6r07lxOjc8AWP5hEd0MA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Lnr8BhEcduK34qnIb88n8ZCcFie+Vpe697sgTaBNwgI=;
 b=pwN3XkQiJmC422zHmz8l5DAsMBACujPqSk+qTnlpWEWV9gAeppjEuE+V38WkYE3KJjYdQBcR6PoBpT0MhuC00ic5dITlKdsGZVUqESj6aCxhV4g75jTYy8L5mo8pFTL/91RXOc97h3P3ot7ul1O/A141fHAuxlOYzS3UxmSuzBU5EcQIdvlPAIt66ySBBwhIV29wCeD6Xd0px812JV7M9+MN9lroywTRnR/xCGQ0Ysw47F/W2x+iD3KUcORZiMicHITPmK3sgX7SGSyjZw+dWzi0Jy9BN+F19E9LqsIlODY53MAN7xUJUul98OCFaQz+pjk5hwgB2cjMM1gkvChX5w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Lnr8BhEcduK34qnIb88n8ZCcFie+Vpe697sgTaBNwgI=;
 b=nnUrBSuN3f7tYAb2i7FQ5Hq4NxkRIyw6ta2NMibCe3PXoOkMmaTwaZqZflFb9yIkQbrgxDZuo2ZHaB+HF6V51Fx4FdmCiu1CSx6AIgoNgEDbhWXLt9LcMtXBAhXmVGuhUPCr43isd8kopeW83oEqvwgx3z7EFmJ+Z7ArctG3fuI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: [PATCH for-4.22 0/2] x86/mcfg: relax checking of MCFG position
Date: Thu,  4 Jun 2026 12:46:02 +0200
Message-ID: <20260604104605.92516-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MA3P292CA0062.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:49::18) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|PH7PR03MB7339:EE_
X-MS-Office365-Filtering-Correlation-Id: 9d7aac89-65bf-420b-a413-08dec2267ee1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	Hj2Pwvfo7tgm/r1Oe+iLOH+DSpAVAA0OfoQXMlAL/kzkO3TvwW3EElndq0JnHthXIV2/OUZD/2D+UJI5Mfbrl7Bk5naddV7mkk5GOgoHx5ZB4EAsMXUECcmYkUUcmlEVWBmfv0Bb9WTzyt9rzYcpF8q/VXTedAx+GREEDSxzZ4rBO3c7x1NHlYzyJIjqU/4/u5kK87Dq4e82dzNY9wlzLC8G4vBa1E+jfFTAxeiYtBuydsNP3ktaQZ5QP7/yeDhelKz5jRs+xhzJ26aF/VfnUrIToQbkjSiFC6ZdfAPZLga3w/BKPSDWMQKI0mMNgBogZHKctH2vM14LriW4DtAe3v0H3S8JQLuOXgBORbIUo2kY4FUdYlWVp+/VPS+XASPcEWy9FLH2ODG4LLVAfKEVmnHsZY0LM/iFIRkxcGOzlGn/K05iiuv4R77yKi9/cXE4sK7QVshE2+meCflyaaVhWOkpghtWlTg80zjvLegYNt6rnVWgT0k2HRhh9RAvqY4og9VXvI9eAGQWMXSDCXTBzJ7Prv3+k52I1yP1l3WAOBoIFjtwLToQPFV2N971okxEbuPkDwGwGTlRcMvvMlB+iPMzwwZsxMaoOmCBaFXHY4cXTaBJH7pAPjfZzJmoHUStDaHrPhm08IbERt9hOHONEDOZmOAhi50/TKG6+T1Zgc+3vfZsdejiDfwzOoHV9OqD
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aDY5M3NsdVNZL1NiUExtMUppNXhGbnRPY0k2eW5vb3VLYkY0Z2hSdjlNeGd1?=
 =?utf-8?B?Um9KWThRS0hkZnpxL3lLdEZ6U1Irb25ZcW9nVmNYYjFRaGpTa0dCYWg2bmU0?=
 =?utf-8?B?aGlhUHdKVnR4dU1NWHpmc0Z3SlZxYUJRTFRqMjNVVmcwUGJtSjIvYjQvaFRs?=
 =?utf-8?B?alJsdkk4b0JselFWL1NqSHQvcGFJVGl3dW1Ydy92K3ZWZTk3L2NHSTVkYkFv?=
 =?utf-8?B?d2hnWlRLMXJTWHlvcXd4R2RkdnFCUVFnY1NsNGRFQUo5N2c5MzVtNHgzRmJ2?=
 =?utf-8?B?R3hHOC9iTGZjdUIvcm1OcHFSOEs1a1hVb0pqMzBlQjFFaUpCQjhSeVlVK0Mw?=
 =?utf-8?B?b3QxU0J4N2lMdDFOSVdkdzV6OEh2MVN0TWU0RFRCRk9qWmZjeGs4MC84Q0di?=
 =?utf-8?B?Z0Y3OFlGdXIxV1A5SUMyQjl0ZlJKQUowY0pQVUpNKzNqUVh4RklYYWtTOGw0?=
 =?utf-8?B?RlgvVTRsMnlMemRUbitSd2g3U1lJQi94bE5yR1ZDSCtHMHNkd2RaMTFmUjVk?=
 =?utf-8?B?RjVWRWlmeXgrWmxSTzhETlA3YmRDUlc3M1NzOWhpdHIxMkx1T1luZGlMSnZV?=
 =?utf-8?B?Mi83VlcvRjR6Y3ExdGFzM0s4alJqeUlOSjB4YzNGQ08wZ3JXSjMyM0FwS3Yx?=
 =?utf-8?B?Q2pSWTZZdWtWUWxxUHhNMmRlZU9mTU1pdU9STThnWVA3WUpNemFuOGdpSm1B?=
 =?utf-8?B?ZXp3RnE4dEJhYVg3YVdqbEhRdi93WitmR3hTZ2htcndZaGxvL3ZjMlV3UzJy?=
 =?utf-8?B?cFNubnlkS3BkelhscVVWTzVEN1lEVWp6a2VTNVRIVDRhbWZCd1pKN3ZaZkJN?=
 =?utf-8?B?QVlOTzhvVG5lNVFsbStqRVBmbnhiamlrdHNUMHkwRFcyT2t0NjR5dkhTQyt2?=
 =?utf-8?B?dWlteTRmWDc5RGF1NXdyczcwVWNkYjU4WmpEWTJ3VjRFZkFRSnU2VExKUUxQ?=
 =?utf-8?B?MGJzWEhoMExtS2xmaUpZSmtIeWY3OUVJQUg4V1l3TmpuajhYaVBvQWpsb1ln?=
 =?utf-8?B?NWd5NFRwcXFmbWRhUk9RNWcydlpybzlVZzhhVkR3ZFlrNWd4ZThMdHhzNytj?=
 =?utf-8?B?b0hvWm9BeGFrbEM4Mm1LRllZZldhc2wyRXh3c2phaUtkdTNzdW1tOWppbFJC?=
 =?utf-8?B?dDMwTCs3OUt5RHRPcGlIOTF0ZFdqTlV0MEFNYW5wdXJkUzl0NWlRMVhsYzk4?=
 =?utf-8?B?SEE0bU1wb0wvQlZNSTNBZThlb1Iva2FpNDFOcmkwUUFET3RxSHpJZkJuK3Vp?=
 =?utf-8?B?YzhSZWdGa0RHc2cwMDlQQWNXWnJ3VmpnRUNhaXhhRTZvQTltU0tQQXUyeTRj?=
 =?utf-8?B?ZWl6ZlRJWllNNVdSZTF6M3Z6SzZ6ek5aOXVkTEZFVWY1NnZPWFErblZjWTBG?=
 =?utf-8?B?ZmV4d3I4YzJ1ZXMrL0w0TnNVdXJKT0Z3c2cxLzVxbWYrbmlUeG94VnE2MmZ3?=
 =?utf-8?B?SmtQNnpMVHpsMzNsSmVaZGR6ZUJoVXladUNMT3Y3QmVqUWNoU0N2MzB1OEJN?=
 =?utf-8?B?cWRjMXY3Y3QrMk92dFZTbVc5MmpuUDAybUNaUDMxdzd3eWtWUmx3dEJJUVBE?=
 =?utf-8?B?Q0NRdFJOS3BpV1ZaNjVnZm95V2hZQTZzS1lmdSs2ZEllNSttNVRocFlUd3pH?=
 =?utf-8?B?YVFxcHlyU3lQL2RnQmZlbGhHV1FCQkt3RlZoWlBMTE9LV2JIbkJnS1VENWdn?=
 =?utf-8?B?N3BNV2FWYUZaUmw0TmNEUXVGYVZBUDI2dUszbFMyazRmOTFiU25vSmlaYkVB?=
 =?utf-8?B?MGc0dkpYNy9xa05md1A1Ym5oOHp6aWROdzBLNjRjT1JlOGVRRldnWm14UFNK?=
 =?utf-8?B?dThRVlRiNVRHUzR4Ty9pNFg2allrWXZSSzhOZ0l5cHRab2NzbGdCSGorTjBW?=
 =?utf-8?B?M0VETUlpeEZndXRDMVpJWStIR2xYRlRVU2lnMzZtdXdvVnlkSktNN2JVK2xj?=
 =?utf-8?B?OERwOWRjK1MzZ3pmakhLd1ZYd1haK2NBTkE3UVVlOVNPN0I0WndxVTVKcmFP?=
 =?utf-8?B?MTE4SytscGhEbVZGczFjWWJJZzVPTzJ2VTk3dTNnRkQ3VG9zMWR5d1cyMXVQ?=
 =?utf-8?B?RHRFRzlmMDFlWFRIdXg5Q3pCcHNISHBiUmQ0K1p2M0NLTUNkNmVMaStDb2FG?=
 =?utf-8?B?aUQ2RGdtbEFPSWNDWitTaU9NNCtrNjJsNStqOHFzMTQ5TFlsai9rTldRUmtL?=
 =?utf-8?B?TjB3MmV3Y3l5alZmS1VYNVJDbDNINkJDdkdoS056MFZrYm9pU0ZYZ0NlSXp6?=
 =?utf-8?B?QnQ5OU5iQzRnaUpFQUhOSWR4bzJHTkFEZ2U2ZUppSFNZOVkwNzZSN1pIQzNv?=
 =?utf-8?B?Q05JUzVubWpKNzd6MkJ5RXppbjhWaXpSMU9rWlNBYmhuUUpQUEJodz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9d7aac89-65bf-420b-a413-08dec2267ee1
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 10:46:12.9305
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eQx2aSSHVXzxQ1kZgWlwfN3w2udqzluO83DqONIkIczHgYYne9QVvA3dZ/UdQWPhpmZPXfRVACPE2i0okPzl6g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7339
X-purgate-ID: tlsNG-d25034/1780569977-E0766CF5-C2D3DE5F/0/0
X-purgate-type: clean
X-purgate-size: 398

Hello,

First patch is a trivial cleanup of header sorting, second patch is the
real fix.  Possibly something to consider for inclusion in 4.22.

Roger Pau Monne (2):
  x86/mcfg: sort header includes
  x86/mcfg: relax memory map checks on newer firmware

 xen/arch/x86/x86_64/mmconfig-shared.c | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 10:46:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 10:46:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327649.1592468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV5ah-0000eo-Cw; Thu, 04 Jun 2026 10:46:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327649.1592468; Thu, 04 Jun 2026 10:46:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV5ah-0000eh-9C; Thu, 04 Jun 2026 10:46:23 +0000
Received: by outflank-mailman (input) for mailman id 1327649;
 Thu, 04 Jun 2026 10:46:21 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wV5af-0000Xo-Kt
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 10:46:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV5ae-001AiV-Vs
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 12:46:21 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a21577c-5cb7-0a2a0a5109dd-0a2a4509a5b4-2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 12:46:20 +0200
Received: from [52.101.62.25]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a21577b-2497-0a2a45090019-34653e19e821-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 12:46:20 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by PH7PR03MB7339.namprd03.prod.outlook.com (2603:10b6:510:2f8::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Thu, 4 Jun 2026
 10:46:15 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.007; Thu, 4 Jun 2026
 10:46:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=k3zZU9VneEhPasyGN+gR1zqipiipWPGIoYrfinquWkMW91qDFY9nbTLUP8XR4Uj3VsjeLjLGSSvApp0XOs6ELbeZCzjF7HWdZ/bFwviRsP1L3FYbBrQdr9aS6W+4OBgGbZ4WPVjs2Qpd2GP6tmveHEnnuYdO4raF4c4s4V72Xt6WbbL1C+HX891CIn+t5rJCcNN5/wWg2vnjhxEk1NBSXf8N1G2+ryOOXjCxhsIlQEg4XK0tC4ilgww7b5Hc/c8DUq04mXo0uya1qF4VqK/mm6oKDJ4TkAqCA+nGIe6fxrLezfaJInVEOoa0arJyjLFSjQtgzoWRMGc97O+oXRGM4Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eFVRlRzwPBZ0nZA+WC8XU2hUhfBHoeFb1LxSH2A9+As=;
 b=cSlMhgNfxeHzdwL1SIJRObff+dIYYnuR6+W8g2b+xjm6XWXLDmhn/S+BWR3k76MXSIWclqWN/cqpQVle2KA7sUqV1i6Hn4tbeKca7Rk9Gi0u9uLJ2jZIGH3avCK9uVACdPEUYMATlpAlGMbemu55Aw/GhQTZbA//9CDabZo22myFMXpl/CqUOQk1otvdMTze7X3OHgA0YYOLpJErme/hgS0RA5QA/6Ii012Hez9yD+E4AR026qjZTMBoIaD0P49gNxHvD2pl3RcDrAgDaZCdBjZwGykR9N8Pi+J9A06yp23xauDrHFSTz54s9x+25kzu6O4lIuwIc2350vQ99q8e0w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eFVRlRzwPBZ0nZA+WC8XU2hUhfBHoeFb1LxSH2A9+As=;
 b=ZZFW/2SndncTJjxvo/vwp27koMFypAyQP+Beudr/BgbJ0FHMC1PMxlVJAuN+no40Wyjxg5Fn1ndMoaeRMrvWWCwCw7/6dinslSsI2qjzGQq6LzwQP6ZQ7a8uY4K+29MDggPOW+9cMrKsG1QdYBF6tHflP8QXxzLaABBda04zQ5s=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: [PATCH for-4.22 1/2] x86/mcfg: sort header includes
Date: Thu,  4 Jun 2026 12:46:03 +0200
Message-ID: <20260604104605.92516-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260604104605.92516-1-roger.pau@citrix.com>
References: <20260604104605.92516-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MA3P292CA0014.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2c::15) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|PH7PR03MB7339:EE_
X-MS-Office365-Filtering-Correlation-Id: 57b48c9c-3730-430d-7975-08dec22680a6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|18002099003|22082099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	St5NBB4dlvObZhwxyI19Hiol3/BvSdufLnse5/R+iSGMLdD4n40PsJR9Ye0ANHyhpy2JfaZPH1qStk38LmUD+IAX5TUIlujqIh9syQcmAw5k+5/291y61q/DAGhX6euM5TFtTgOccx4h+SFZtZt6+7kXFsJHNqQ7619j26K9dDR8MBiwP8S39yXZ/ug1mxTJpszUcIPv3FPV+3GxogcS3pCdV0Jbyi4t/RBGU9SPBUxF+TXq4zOPMbBfZMPfNfLLs2QwZ98ErktmKzRw6T5RDGpbPtjfzc7oXZJzcTgzilO/bqOx70LctGwXZl1n3tuTL1XqLQtovOQIQk4s4zcrYp7TDeSucPCWpBuD7Rtu09bgnzKpWkGeim5kLbhVn7wUrCwebETwrLxlCwYr6ltvlAHL84Bu6E7q9LuF5Utn4pimXgwj3Jx9oVeQAtxHslbrD+6eGi7Q7hSd1SyWd4ckIvFjCoJafOWfKCLuUVqlUJSwt+VonhIgm059fla9yHJvsbTxNR96odVcSN6AzrGjMGgx5gvnD/1yoXM5L+KEsQrbuA6MHcU1jwuaICPbUhxH8aIukCDL/P2BBcVr9AgRkurgYZG1Mbn/vFz5CPinxQyl0r8vf1ItMHShSYpGsz353LXeUesw8SHYy6OQT88RD2R002k9xwrfsaqruoObF3bPcEMf7/z19VdW5TPZWvst
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(18002099003)(22082099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QmUwWXBaV0M2M2tmN3JBQVZPek1nYVRoN2xjQ1V0ZU04VGxCV0xjSkYzb0Ja?=
 =?utf-8?B?blBsbHJBSTFJVFNOMmM4QlVqOVF0aGNLSFY2M0VBM3cyQUljK1ZWdFllY3Rj?=
 =?utf-8?B?SG5jbVlkTXUwY0ttL2wzUWo0d0tjVnVsTWpYdm56NlNjb2REb2hUeUNOUCtY?=
 =?utf-8?B?dEpEamNZSXRhYXJuTVVVUExvT1ZBdnZpN3NucnVaT2hDeVc5S0N1a2kzSi84?=
 =?utf-8?B?K01WVGMyZjltUTlPWGlyeExQRTl0RFkyVnVJQWVyMmlZODljRWF4RHpOK2xk?=
 =?utf-8?B?OEVvU21heXIvcU5NcHhaVTJub2RKNmdNT1hUdnBHRkg5ZzlVVTgyTDAwbU5M?=
 =?utf-8?B?K0w5Q2hVRjBONWcvTzdnWGFJd1ozV00vbk1OM3ZGM3hXNmVDdFA2bU1hWFlN?=
 =?utf-8?B?Wit3a25MY1hGVkJBMXZ1SVhEdHpFZkNIVVlEQWZkRnZ4SW1aUklUelVUUlA1?=
 =?utf-8?B?TXVYajRpVDJnVlcwSjNiRXdnZTlLZlNsdHMram9sY2lyMTJNL2pPeTQ2dC82?=
 =?utf-8?B?TzVWK2Qvc1g3Rlp2SkhWWm1YWVlBdkhTd0gzbWgyYm1nSG9hampIcnFzaW5E?=
 =?utf-8?B?S21Qd3ExTUxHeGplbHdKdDEwc0VMdThnMjhETm9VeWdVRm4yV1FZZGVNYUd2?=
 =?utf-8?B?eFNpWk54TkNnRW55VEV0RERuYW9hS3kxOWF2ZUF0dURlVXZsbUlJcTNNYnJO?=
 =?utf-8?B?emduczFmTzBaRkJ2UHB1OTB5YkZvY2dtUm1zWU1MZnpUTm0rbHkzMWVBOENI?=
 =?utf-8?B?Q2t2dGh5T3dTL040MVhaTE5BSUU1MTdYMVA1OWRKRzdReDNyMlVyN0NWSWZL?=
 =?utf-8?B?dWVzYko2cEFoYXp1UEpxeDU3aFJFUXlSZkJDa2hQV3pVOHE3VkptMjlaV1Bt?=
 =?utf-8?B?WVFKWE5lZzBJY1ZJWTNhY3hlRzZ6M2FnaExTancrN0FzQ2ViNVZRRHl0UWNj?=
 =?utf-8?B?S0pwMTd5YlBaUGhrcTJHdVZtN2duSmpkZU4xaVpvbVY1U3VEeHJOb1RQMnNY?=
 =?utf-8?B?RnJBZkt0WFVkaWQ5aWZvYUt1NzFQa2hKK0lKelg3R3NpSGZVUGdUa3lMSEZM?=
 =?utf-8?B?SXR0OVZGUDFjSi95Y1RHdEtLbEZrdysyWS81cFdDS1NOemVIRzd0d0VONVBW?=
 =?utf-8?B?V2RMcnpTb3czYy9QQXJNOVJyTGNIVE04dEJEVEYwZVhjZ2lhbUhVUjViVTJ1?=
 =?utf-8?B?bWNaM2RmallJN3dmeFNqS3NPZ2ZHdS84SXVkU0FaRHhjcGhKUm5GZG9wRjNY?=
 =?utf-8?B?UFU3dWhaWStNR29rdTNjN0V4VUdCQlRjcHJuRjAvL3R3Z1didVZxTHVOUWJl?=
 =?utf-8?B?aUtJY0JOeFJsSEsxUUtreS9YK0VxLzZZNVBrYVR1dkdDZHZ2ZFh5QlpheWh1?=
 =?utf-8?B?YnNqZkRmN2xBMFJSTjJaREhDQmlHaVZib1Z6dVh6WDZhN3NGWVJ5azZZN3F5?=
 =?utf-8?B?cGhHYXNvMno3UFN6Zkp0TndHWXYxTW51eUtpbkJqQ1VPcmo0NjNSdkVJemk3?=
 =?utf-8?B?a0s0Z0szYS9XQmZKU21pRDdQbG5MUnl0c2l0ZVlUUUgydU1TbG5ZWWNLVFBN?=
 =?utf-8?B?b2g1Rkc4S004V24yUEcvR3k1QUI3cXl1NTR1NVZ6b2NqYlU5MHV0V1FZcVQv?=
 =?utf-8?B?bVZENy9yOGwvVDk2dVNhVE5EN1FVeHlJN3owc2FxRmtwa3dhblcyQ25iSEVy?=
 =?utf-8?B?RnVaZzV2cmN5NWlYZlFNOUVhTWM0Uys0R0k1UEE5TlhiSE01WE1aSmY3SnZB?=
 =?utf-8?B?bEcyVE9PYW9VMnY3UDZYbjRsT0pqM0thdjVjbTB0cHRpSzRzMDJNbGpzaEpH?=
 =?utf-8?B?ZjFSUEVxNnNLNkZlL1FIanIwYVMzb3ZiTmJ1MWxNSmFOdDJ3ZUI4WkhpOE9O?=
 =?utf-8?B?WWNYbUcvQ1VCS3pWRjE3M2tNdmc3YXhkejI4dTk0YnFWMmVkMGdxUW8ramo2?=
 =?utf-8?B?S05VVC9KMlpKS2tPOUZXZHIwYTlCOWU2TlpuWWJhS215UGk3djFhb04zaTc4?=
 =?utf-8?B?SDhDTmFsNVpoV1BBVWxGNzZFL3lkc3E5MmI1R2QxeGFrNTFXTTRKV2JNRWFj?=
 =?utf-8?B?NUNWOVQyZ2Vld0MvM1FiNmE5MDlaZ3ovQWVyYXEvVExrdnBlczU3THBMTDNy?=
 =?utf-8?B?RU0wNXA1TWZCWFlLdlNYQ2thTmR6SlFzMmVwelYwRzRJVjl2SnE3V3NkV3BT?=
 =?utf-8?B?NDYyaU5MTHMwSjVxMk85aUxiOU9hN0kwREExZXVNbVB0RFdzL3FqZU13Tm1u?=
 =?utf-8?B?YlNQYjBHS2ZPd1hjakhINU1Ja1cxeFhzVEdmWVBOcXNuZXUvam5ZQ1YxUHE2?=
 =?utf-8?B?cVBsYytqT04waUJTMVVMeVFoeEp4Z1IxZkJxSVY4MW5neE5aN2ExUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 57b48c9c-3730-430d-7975-08dec22680a6
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 10:46:15.7122
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gRgHSW8Cj4LY78+uONog8q15MjGCJNxx+Q5FlV2BpVbI26C6NlQQhzTGX1VoASC78QEMnWUgIguw/X90jZPezA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7339
X-purgate-ID: tlsNG-bad1c0/1780569980-41F6EA53-8F440D14/0/0
X-purgate-type: clean
X-purgate-size: 962

No functional change intended.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 xen/arch/x86/x86_64/mmconfig-shared.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/x86_64/mmconfig-shared.c b/xen/arch/x86/x86_64/mmconfig-shared.c
index ab082b5f5b37..d0cbc151705d 100644
--- a/xen/arch/x86/x86_64/mmconfig-shared.c
+++ b/xen/arch/x86/x86_64/mmconfig-shared.c
@@ -12,17 +12,19 @@
  * Author: Allen Kay <allen.m.kay@intel.com> -  adapted to xen from Linux
  */
 
+#include <xen/acpi.h>
 #include <xen/init.h>
 #include <xen/mm.h>
 #include <xen/param.h>
-#include <xen/acpi.h>
-#include <xen/xmalloc.h>
 #include <xen/pci.h>
-#include <xen/pci_regs.h>
 #include <xen/pci_ids.h>
+#include <xen/pci_regs.h>
+#include <xen/xmalloc.h>
+
 #include <asm/e820.h>
 #include <asm/msr.h>
 #include <asm/msr-index.h>
+
 #include <public/physdev.h>
 
 #include "mmconfig.h"
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 10:46:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 10:46:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327650.1592478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV5ai-0000rv-KT; Thu, 04 Jun 2026 10:46:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327650.1592478; Thu, 04 Jun 2026 10: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 1wV5ai-0000rj-FR; Thu, 04 Jun 2026 10:46:24 +0000
Received: by outflank-mailman (input) for mailman id 1327650;
 Thu, 04 Jun 2026 10:46:22 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wV5ag-0000eZ-FW
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 10:46:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV5af-001AiV-SA
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 12:46:21 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a21577c-5cb7-0a2a0a5109dd-0a2a4509a5b4-6
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 12:46:21 +0200
Received: from [52.101.62.25]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a21577b-2497-0a2a45090019-34653e19e821-4
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 12:46:21 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by PH7PR03MB7339.namprd03.prod.outlook.com (2603:10b6:510:2f8::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Thu, 4 Jun 2026
 10:46:19 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.007; Thu, 4 Jun 2026
 10:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=GPY2mxspc/kmNYGitFkuimCP5DhEm1AmrNdCxt3H2YRCo7vxB5qEXBAN0xacdY57jeJceHY3Xg86tkM5z+qMEUScaOpJKhNmKe3QRUdllP7p8JPGFkDKmflguDred8UUx7Ih42p7bj6tAWa7fyLCFSY/3bzBpiI4PmoVRbX94jwJOXu0JA4+U1m7TYk3DKnIWnlBixtthGeTeZaE+vgrnWedkpW/V0gjScBmsiP/jyp6Ck/evKIIXPAFPSbsIY5+ELOk6DrBN3xwK1KIfg4OxZq653nPIY9alPrKhDH3Uo37Lv6jg0SQTkol9c39nXze6JvCTbXdLwg6VqczC46Hxw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kAVeWHi2hK4nsn3NUTrNBgVlZCJB1Kkd6GoF1JGVuVw=;
 b=fONuqrgE/qI77YH9UVXppC1+BVvDGAxvfAkBLMdhlHA7Df+IS+ybqUiheSduTmqdC56z6srGJTkVyPPYzTZO3ehq33aIXUwf7y639+5xLBtZ7hdwYD3JM6jNFMFbThy5JtEa6hKbjG9bLEMZMfW8Ii90nq9JhWDoQ3zZrD9Ia5uQWW22tYy0D38ff1EcxtzsHfjSdRADD0u949ILFOHLmKWf9DRCSY5qY1PVJMjfoV8+Qh564LqoAwvqTN8PwgxHhyKGclYWSCIbcRE3jmfMTOadhHAjgHTtvonMw680JK+T00/U/XvpGIqe2sYGRgKHw3tK5QJaio2N0T8TzwvVEw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kAVeWHi2hK4nsn3NUTrNBgVlZCJB1Kkd6GoF1JGVuVw=;
 b=vKXByeB02/w5Q8mz2LFQi1LehtRB39cZ27VN/lPmpKeRe6t5+xtIY+JsvBrMlaGwW05Wms9+AuCgwapPNyEX9yqfp5aUWOpe+cxh8e+Zfaa34Xun67R6/BP1Wvb7Oj3kJJ+LBWNzXG02mAxg4MHJU3GVqPXYVmWATtCBeXtXtcw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: [PATCH for-4.22 2/2] x86/mcfg: relax memory map checks on newer firmware
Date: Thu,  4 Jun 2026 12:46:04 +0200
Message-ID: <20260604104605.92516-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260604104605.92516-1-roger.pau@citrix.com>
References: <20260604104605.92516-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MA3P292CA0053.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:48::6) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|PH7PR03MB7339:EE_
X-MS-Office365-Filtering-Correlation-Id: 8aea80a5-c548-44bc-bb42-08dec226829f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|18002099003|6133799003|22082099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	D4W8lnIKnggOYNe2beEB0+qAwopKSJCPIpD9dNZgamn3n1+ugMPqs4ewZzT0GMihjG/hETcUacHfrocZdob9Ft8UNy+9Uhcca7797Ul7W73KZyzaqtiHF1PDytntjV3QP97gPJmrCPpNO+ZHIuCF1qxpaXDTytMgpX9/oJwboqUW8yFxfbgN+y6ABcUe4XI8EyEpsZa3x45YTPvnvegh7mE3FSilDEcTABIwqZi8M/lMbS4o16wDhiP1Fd2gAlH1spQvF4G4k82o0g5MDonhY4DCbGkRE5PtUyf9pIS4mJREKC7lNsfPNqJ/ZUy3JHwyBMuIap/Gul3jm8MTqtMFxHyZmbXtGhVERl249nr6kUQO8691fqsbsIeZty6CNRBqJPdCe6noZvdZwKp9BHvO4DaCUUC/6u0NXiAV/r/i117rjZyZhunJmeityg4OZCtwteRnTpzglbQkJZvVHMxoljPFSwVvgdYgOqS6JDswa9rMiMddG8r8iOlDyuCeLmY8VVeDYuUR9fYHyNq4TopenDMqNOgnCh5vNjdZiIceM6qTaZV7ZVXJlZdWuIsJT7b25aXGALult+Ib/6FGY93jCtyC3PIColqZqb1eC+Fj3w1v8/gzQdYXwjc9zj8XXzRATafBiBrsCuLUoLUbkjgXnozIF3pFVInKX7kqNUM2FA2tZNxxlfWbckCz60o1fhJu
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(18002099003)(6133799003)(22082099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SDVqUDlackZBNEJMY1JVMGc4djZWN0IrRkhNczBMQ2xJWmhKaTNSeDkrK0F1?=
 =?utf-8?B?bENuYTMzVjJHRmZ0OGZlYnA4ZnNrN1VXN1JqVFR2VXdjd2FYRmpTNkR3SU5F?=
 =?utf-8?B?VnFtVDZTYlpvOTMyN01pNmFtYXBDK3FDMEpjWkVjTkpoNlk0eG1URm5OaXZ3?=
 =?utf-8?B?d2lVMklTdVIzWDNWcHgwSjZiMk5oakhEV2xVaUxoTENWTW1xWUlKaXFpNFdE?=
 =?utf-8?B?bFJ3enhrYmtJcHI5U1R0eG9xSk5CdmxXZi9YTVVYSndHSXA1RDRtM3ozRVJw?=
 =?utf-8?B?cjdoYUVkZHJVNGE5YXFZQzltbkprTkU1ZTFydFFoNzFDRU1aa3J0TlUvSUxh?=
 =?utf-8?B?U2xXbVk0Y3FXZVl1MnZOZ3VzWDVoci83d2oydDFtbDlOZ1h5elJYcytIZGti?=
 =?utf-8?B?STFsNjRkNG1nd21ocTZ1U0xITllsV3NKVWxEZ044TWQvUkxyY1lmQ2tDeWd5?=
 =?utf-8?B?eFJ3WjJoWEsvK0lkRnZyTWRNM3Yva1pGUE9ibWY0bWJ5ZDYycjlFT0Vsdlg1?=
 =?utf-8?B?emJ5eGsyVllkVXplK3Bjc1REUUNsVk9VeGsrZWxVdHdCaUI1a21jOG8zbXdm?=
 =?utf-8?B?R0ZjSWhRRHkyQStKQ0E4RlFqYy9yWnhEWG83Sm9uU2EwMis0dEJiUU84SFdM?=
 =?utf-8?B?cUFRZEFQWTJDV3dpMjgwamdyOVl0UUgrM1RkZ2pueFBiUTY1WWg2alpkdVhL?=
 =?utf-8?B?T21ZK2xtWTkySG9FYUttN1RIS3hLZ1Z3bTNDWXZFaHU2V2lrRFZhVUUzdW9j?=
 =?utf-8?B?M1V1MGJCWWZBTEhhQXhDUTZpeVlnRDVxVU52ZEdQOUpDRzU2TWdNcHlNRDlJ?=
 =?utf-8?B?Q1FQTU5FamlvN1ovZzhXNU5Qc0hvYmJuN0pwTForRDdZTHpiWWxoWVZFaWZh?=
 =?utf-8?B?dVd5dEdObFJvZmdNcnpYNmQyVXJlSkZUYnAvNkhUUmN2ZmFwUnpZdnVkVnUw?=
 =?utf-8?B?Mk1nbGZldXRPWm9ZTHFCU25PSFlJUzBTNDRXRXRLNXdNRTRpTjU4UG1PZTU1?=
 =?utf-8?B?U0lnVU50ZEVVVG9DcG95T0JKZS9MVkpSa1o3NzEwR3JVekVQUUZvcGNUb2Vk?=
 =?utf-8?B?eDlFRUVIMUNoQ0tOeFp0Yi9KWVVEZFhPZTZGZ3ZUWitkWTF3RnlDekgzNGJJ?=
 =?utf-8?B?b2hqdTUyanY0anI0ZDlZSU9kSmJ0N2tOYU51Y0ZkeVI5S3Q1akE2aDQ5Rlg0?=
 =?utf-8?B?Wkt3VjR5cEVsT3JjRGJGQkl3T2FqR0dtWUl4a0dGbFl2dGg2RG90bU5IOHF1?=
 =?utf-8?B?UGNwdmlqYVNXVDc1ZEc2ZnkzV2FnQS9tSFJTYTQ2VWh3cU1tMnR5bnphbUhh?=
 =?utf-8?B?eVhVY2dibnA2VnJubVdvaHIyYWtrbXFjcEFkN1BCQ2l3Rm5EakFka3JIQkpQ?=
 =?utf-8?B?aUJCdHpMdytiek8xNXNvZVhUVEFsNldmVXd1ZjFZbWVRWFR0ajMzSjVGazc2?=
 =?utf-8?B?Y3UwYy9SUEJKcVhzOFZCUHRsODFBY1dGQTJ5K2VEV3ZjR1JQNUlHNitPdkQz?=
 =?utf-8?B?TmN0dGVWWXdhclJrQjFNMHFLWEVJRldKbFl3QitjWjJMZk14UFEzVlhNOWp3?=
 =?utf-8?B?UmhiaEhPWnhkV1JVVnlJZi9XNnJtTDhLMVlBbnpXdlM3YWtxNnhFMjNySXhR?=
 =?utf-8?B?d3pwZ2c4TWhtdjhYaDhqVlhjVk94Y1V4SGtuYXZXU0RPVjVVM1pONEs1YXMx?=
 =?utf-8?B?RWQzMFl4YnQyMVVyRUR5MmZkQW5MRmtXRWRtUHlvQUcxd1MvWGxqUEowQlcv?=
 =?utf-8?B?UEZoTlVxREtFTy9lYlE1RFhrY21xUnNRQm92WityRSswRDNkRGlkMW1aeWRx?=
 =?utf-8?B?aEFpYWdqK1ZNUGdsRnhVbWVDdyt0L3hiejg2b3M5Um1EamNPeFRjN2hpUms3?=
 =?utf-8?B?akVHMUpmZjQ1dFJnYk5rd1plazI4cXU5a21aaHZiZVJvRFBrNDdXd1hzSjdO?=
 =?utf-8?B?c1JncGN3MW9lSWhjWWZqMzFxcjcyYlJNMStUc1dmRC9yc2dXZ21NbjdiSVFh?=
 =?utf-8?B?TlUwQmNYZHp1OUVJZHV4S3RzUitwTjRPMXBVUldsUjdhVG1GL2tPWWlqYkhl?=
 =?utf-8?B?UzVoVCtENjdwdWNUWkcycElQcVdrOE5USHpZMm52dVVXakh4RkV5cGpERHlq?=
 =?utf-8?B?blhRYkhQVUs1NEoxRURYMmpGZFNCdG1Xem5EV3dodW0zb21FSkVYamFYbE9U?=
 =?utf-8?B?YVF0UXpGTUF3bmJHc0I5YXRGT3hQWm5XYnJYYk4rU1FZOGc2d0FHdGV0aTY4?=
 =?utf-8?B?K1FkbWlMNnpGZ3BjTktvR1dFbXhDWVFYVW1yUkhoS2FyM2RiNTVYcGplWmdy?=
 =?utf-8?B?M1VieWZDdy95NlpDMnQvNVd2TXIxTWZEVkV6ZEJjZkJxM0gzUDRTUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8aea80a5-c548-44bc-bb42-08dec226829f
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 10:46:19.1407
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8IT90B7M3eR+I5e74sPEbT9kYEwwHwmiUPZNnIszfN4q2aYrM+0BXNJ2gkCnXAZz1jDw2MRy0SHVqk0F/Ymt2g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7339
X-purgate-ID: tlsNG-bad1c0/1780569981-41969A53-23516D9A/0/0
X-purgate-type: clean
X-purgate-size: 3313

Per PCI Firmware 3.3 specification, section 4.1.2, ECAM space must be
reserved by declaring a motherboard resource, but there's no requirement to
mention it in E820, so we shouldn't look at E820 to validate the ECAM space
described by MCFG.  The specification additionally states that: the
resources can optionally be returned in Int15 E820h or EFIGetMemoryMap as
reserved memory.

The more strict logic was introduced in Linux in 2006 as 946f2ee5c731
("[PATCH] i386/x86-64: Check that MCFG points to an e820 reserved area").
This was picked up by Xen when MCFG support was added in 3b35911d709e
("Enable pci mmcfg and ATS for x86_64").  Apply the same approach that
Linux has done in 199f968f1484 ("x86/pci: Skip early E820 check for ECAM
region") and relax the strict reserved region checking so it's only done
for firmware manufactured prior to 2016.

When dom0 is booted it can always prevent access to misconfigured MCFG
regions by using the PHYSDEVOP_pci_mmcfg_reserved hypercall.  This brings
Xen's early usage of MCFG (prior to ACPI AML parsing) in line with the
implementation in Linux.

This fixes an issue with detection of extended capabilities when running
Xen on a Lenovo system that doesn't list the MCFG area as an
EfiMemoryMappedIO region in the EFI memory map.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
I'm not sure what's the best way to attribute the logic here with the
Linux commit that introduced this, more than referencing it in the commit
message text.  The code is too different for me to attempt to label this
change as a backport of the original Linux commit.
---
 xen/arch/x86/x86_64/mmconfig-shared.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/x86_64/mmconfig-shared.c b/xen/arch/x86/x86_64/mmconfig-shared.c
index d0cbc151705d..e24a78c8d1d3 100644
--- a/xen/arch/x86/x86_64/mmconfig-shared.c
+++ b/xen/arch/x86/x86_64/mmconfig-shared.c
@@ -13,6 +13,7 @@
  */
 
 #include <xen/acpi.h>
+#include <xen/dmi.h>
 #include <xen/init.h>
 #include <xen/mm.h>
 #include <xen/param.h>
@@ -369,12 +370,15 @@ static bool __init pci_mmcfg_reject_broken(void)
     typeof(pci_mmcfg_config[0]) *cfg;
     int i;
     bool valid = true;
+    int year;
 
     if ((pci_mmcfg_config_num == 0) ||
         (pci_mmcfg_config == NULL) ||
         (pci_mmcfg_config[0].address == 0))
         return 0;
 
+    dmi_get_date(DMI_BIOS_DATE, &year, NULL, NULL);
+
     for (i = 0; i < pci_mmcfg_config_num; i++) {
         u64 addr, size;
 
@@ -390,7 +394,13 @@ static bool __init pci_mmcfg_reject_broken(void)
                (unsigned int)cfg->start_bus_number,
                (unsigned int)cfg->end_bus_number);
 
-        if ( !is_mmconf_reserved(addr, size, i, cfg) ||
+        /*
+         * For firmware from 2016 or later relax the checking and also consider
+         * MCFG regions in holes on the memory map as valid.
+         */
+        if ( ((year < 2016 || !is_memory_hole(maddr_to_mfn(addr),
+                                              maddr_to_mfn(addr + size - 1))) &&
+              !is_mmconf_reserved(addr, size, i, cfg)) ||
              pci_mmcfg_arch_enable(i) < 0 )
         {
             pci_mmcfg_arch_disable(i);
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 10:47:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 10:47:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327671.1592487 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV5bx-0002Og-2D; Thu, 04 Jun 2026 10:47:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327671.1592487; Thu, 04 Jun 2026 10: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 1wV5bw-0002OY-To; Thu, 04 Jun 2026 10:47:40 +0000
Received: by outflank-mailman (input) for mailman id 1327671;
 Thu, 04 Jun 2026 10:47:39 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wV5bv-0002NH-NV
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 10:47:39 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV5bv-00EvYc-44
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 12:47:39 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2157c8-5cb7-0a2a0a5109dd-0a2a450c9a82-8
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 12:47:39 +0200
Received: from [52.101.46.51]
 (helo=CO1PR03CU002.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2157c9-62f1-0a2a450c0019-34652e33c66f-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 12:47:38 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SJ0PR03MB5407.namprd03.prod.outlook.com (2603:10b6:a03:28f::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Thu, 4 Jun 2026
 10:47:35 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Thu, 4 Jun 2026
 10:47: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DCVYbZacVMADkLigfgQLXNJbmyi4kaFd3xEGKsJlL1wK36x8XU9O+erSUYj0NCl6qXNYBKkceOjqARIIs9UVJR7+jaQy6wuCTkqgD2lj876YJygyu3pw5UoJ2rlsBQcRDa2XIobH+Iq17lH+JDHu5FiuoCM5zLCyvdQ5z5FMC1AZ+mBcWP7CRfNstYZjLP9hrcgX17YzLBdGOFK0p3e0A7W8mf8rB7Gcyjude3OzV9DDUK/vajRhaDS87sFy1zrYubrrNZCC7enKjDx3/zUDI3PtzGvu6ITIFoenMOwPWwxk8N69ABQrdt/PRR0gBppwnKtSbX6IT5Z3qVrZ8faVHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=woSKu80EsA67nBBpL1iqFS7xKUeNOKVajEQOU21DGac=;
 b=bCoHrydC3KV5zi3Yt/v4BqcUDtRXq0WBoYvlaSNBhYJCD/lBLs2x4oK0VLhMkVh4l+rEMbNLPYeZ3E5ZYdnNvrGYmGFsv7NST/e/UVm2MFQrQw/12YyjOcpMtWdV1AMjwebhI8+YLXjE8dKooENwO+tyzOjip+e9rMCgE1AgRjZXeFz5IBvIyE4tam8CP9Vd6YYREIB28ef5sLY+uhPNiY/xchLDLaJWFkGEjw4GHJzzBUH+fC56nSdNptJKmien7gMEf/CaCpNcNTDkytzlCIYWZMoAJ1TX0CuUOyF1pAhkm3iONgiYCBzAlH7UK2CxWLKMpWpMU56CTUoSY0vl3A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=woSKu80EsA67nBBpL1iqFS7xKUeNOKVajEQOU21DGac=;
 b=Hcs07fL5tR64AC+4cC3mjF8hUThbi7c5HRFA04cwdqriEIAB11UCR1fK4fS0DR5WI15P5fjF/FHe47xadHLRlJ6rV+eGv6V6NGuvZo2ECA73zMeD3WaGodhLjN8PfJXXFW+1bAJEF0qMxg0VZcvgPYC4iDFoLUFMfRgj4UDUgAE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <553b62c5-7d01-4402-af75-cf3150e7b0e9@citrix.com>
Date: Thu, 4 Jun 2026 11:47:31 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Jan Beulich <jbeulich@suse.com>, Teddy Astie <teddy.astie@vates.tech>
Subject: Re: [PATCH for-4.22 1/2] x86/mcfg: sort header includes
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <20260604104605.92516-1-roger.pau@citrix.com>
 <20260604104605.92516-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: <20260604104605.92516-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PA7P264CA0447.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:398::11) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SJ0PR03MB5407:EE_
X-MS-Office365-Filtering-Correlation-Id: 427d0382-84de-4675-625d-08dec226afe6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|366016|4143699003|56012099006|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	aQ8XmqW6hJRyP+cBphKI+5VePuOAVzk2n4jG0M4uI6dEwHnEGoKEnWqF/N6Ye9KKVh8PMtbW5EgPWCFx80g59XqnEyJQhL+KYWfYS6q3nCT2AVtlFiMbW0ZkKQ5T027gGbfD50fADwxPVltWaGjJ1axA+KTEJsiJulpqOUNP3DH/4iX5mbL/IYjxzuAxyAch5Km7W2DRwQAIG+C08C7TKFIJea0BidB3UK5nApkIAZL/YYoMT/APjSLPcMesktQDOmWMnytq872aFWNVnSG+4/GK4MjIWgf9xwh9InCY3K7B1oS76jPJTs91AYpDJWI2PFG1wFZYVcw3GwGZ7teUd2H7GqTAeUhbW/igEs/iMm3xSAYiHbntupCpM2yPGJ1nk6o+PT4L8Q5apauiTWR88GyVdP/18cGoo098CLYhoIW/OuAP1AI7/jW5+l6Zgalap1PRD65NJkavHIjlH3kHfEmSDvfInjCCkp2G4KQiE9uFQatHe/gQMYvpPFBzIqfdSJDMnyO8o9XuQ8dcmV27L4aaTbrTRx1YbEl9gfBwYVzGos07IPSMjcJL6Q0cV39X/k3nQ9P30Iboe6+5gAFKw7bV+AOIijiiGbNAwlASZKnZ0TorxIYgJb8Zte10zMNGMvyr0jQ0MB8wWe+626xFSuDairatA3J6TX/93+hqg2tKLdEAdJM/UrFvvVtORz6S
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(4143699003)(56012099006)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aWVWR2djMXZiWDRoM2hQRzd6UWhnRTVzQU9jejBtaXF6TTM5dnJZME8rYmZK?=
 =?utf-8?B?S1NpQ0Q2SDA0eVZLQUxrZ3V3eG5CQ1pwUVpWVm82VXd2Y2V6bEljQmx6UW1U?=
 =?utf-8?B?L3ZuQU0vdzJnQjdrUWVpcFZHMThrSVFQK1k2Y2xNV0cvTHZpTTg4Q1lSZGpx?=
 =?utf-8?B?MHlhWHdPZ1hLUlp6VFlscjdZOGh5YmREam9WZEd0ek5NZ0NjTTZVcUdSR2Jh?=
 =?utf-8?B?cGY3YTJXNVpEYiszdXdmbm9CcFlOdmNvYzFtbVFXNzd3M1k5UnpmVnl4WGVj?=
 =?utf-8?B?djNZc0tLL3N4Tk1MODg1QU1EMFVWVW9YR1huYXhPb1dEZnRRNWM0K29JdUEw?=
 =?utf-8?B?aVFyKy9UQWdsRGhYYlNtUm1rZ3pHdkx2V0o0Y3BKZjdLTE5Qcnp3Zk9qU1VP?=
 =?utf-8?B?ZVdsY2s2Z3NUbkIwNGZOMG1DWjRCQnQ0SDhBL1hMMWF5d3ZmSFROenlRSWZx?=
 =?utf-8?B?S0FFTEo4WU9zTWxVNTlNTDdlTTZDQ2ZYbFJLeUowUlZleTc4S25GMEJWdW1h?=
 =?utf-8?B?TDlJZkF0WFZrYVA1OUUxMGJVdzRKbFBRSTdCVEQ2d2ZIcXprU3VKVnJhckdT?=
 =?utf-8?B?NmNtQy9RbUhIMURxeVdwQVp4K1hieUJIOXZ2ZlFCb1dIU2JTZk5uV3BoU2FH?=
 =?utf-8?B?UGxtTHRGQmpLL0tXTG91dEpPUUlYOVZIMG1CYWVrR1NEUm43Q2thMGVrUWlk?=
 =?utf-8?B?cXVEa29JSldvNTZFRnluRk5oK0g1OFdqcHV5d00rUkt3TmtrR1QyY3hmU2Vw?=
 =?utf-8?B?OVpnSTJxWFNqemswdGl0VGJSYzJ1dmpkSkFwc1psdFJNOWQwTGFma3VsWHJx?=
 =?utf-8?B?MExrSGx0akpXQlBYRWZ6bDRUU0p1dUZOYUVmaTNzcFJyMitsY1FWTzJwUnVK?=
 =?utf-8?B?UUlKQnIzeUdMdlo5aDBuQ2FYRFlMR1hQdnJaNWh6RzAzcTQ1RFVvR0ZXekt1?=
 =?utf-8?B?TElpQjkzZzFqTDJFN2pOZ3ZoTFFIdjlNV0t1dWFmbWxnN1hkVVM4NU55Q3JJ?=
 =?utf-8?B?UlY5NHBlU3Y4OU05YzhKTUxpTzZzaDRQUVpZRm14eDkzVThZT0hFYkJ0RGY5?=
 =?utf-8?B?OUR5QVc2aFZWTmZuNVRZWWdDVFlLU1I1b3dKTW1HeStpY0psSFVTSHYvM1l4?=
 =?utf-8?B?bkJJWkJRRERFa2VxdTgrdE41RXpmcCtXZ0Z4YlkwK0dPQmlRckJ0eHpaWmpt?=
 =?utf-8?B?Z2J3UERtaWwwL3B1N0wvZzdUTUtORnF2WnVVbGFWUlFCeVEvN3VuNENPM3FY?=
 =?utf-8?B?OFFpcHdrMGk4TTlLZXIzalpRZWY3dTRGeGZvaXF5Z3djSllhNHd1V3pmN0FD?=
 =?utf-8?B?RDRBTGRqOWpJQXJPeGluYTlqM211YXppZmc0V3UvZUJOZ2xLVlNaWGk4MjVq?=
 =?utf-8?B?SXNQWnNRRUs2TldqYUpxVnNyVDJyUEtpQ2tkLzhrTm1yRFN5LzFGMjFlVjRs?=
 =?utf-8?B?Vnd2R2h0cnducU1zSElDREJSSkxrQWhmZXFGUWk1RFlRWkZGRkFtUldFQVNu?=
 =?utf-8?B?TWZTd1FQcUpPWGp6QzlVTFYxTHJJbXNLdDZRRWY3WFZtbUtXeDRjOGxrOU1C?=
 =?utf-8?B?REpQS3FwRGJhVDJjU3c3dEExOWYvclRNMG5oekpoRU0raHBOZDYvVUJHTzlk?=
 =?utf-8?B?NTdERVc4blhMZmNid1FzSGFqQVY1V1NtU1JXNVN4eEU5TjdHWFllTklGNjdH?=
 =?utf-8?B?RU01b1FadnFOTFlYWXAwZEJkeFNqUStmTFk0NUdTcWFnRTYzMm81SGgxV3Jm?=
 =?utf-8?B?andxSHJ6OUE5emhySUlrb1o1OUJKVzhwNjFubmF5MnhuWEJaRFlRRUJHWVpC?=
 =?utf-8?B?aVVJUVZNZjhaSXVXR1NGWU5JVmU2RHlxTndEMitBV1JqblFwTlB4TmppTW9Z?=
 =?utf-8?B?b1lteG9pdDVRdUZDSDFCbXUxYWFmTEwwczNwbGgrVUJQakU0R3EzemhSS0cv?=
 =?utf-8?B?eEpQT0hkOHp3TG95NXI2M2IyUVdBNzkwczgyUjJPNmhDYm96cUg5RHhOc3cz?=
 =?utf-8?B?UzdZc0lIRFRWbHJKYXVTMzFQREV1U3kyeGFBbHM0MDdVZ0ROTkJGZFlGczhD?=
 =?utf-8?B?dURCdVUzbW1BeGp2VStsMFZGZlJEM1ArZmNkaGNERERlN2pmYkVXSmZvaUJn?=
 =?utf-8?B?VU94djFjOHMyeVBPendOYmg1RGREMFNiTEtOSDNPYVFZOXBqQnhwUGEyS01i?=
 =?utf-8?B?NlJmVVppSnlvY2tTU2tYclNYU0JTOWxzYWQ1Z1RJOXlWZWFFbjFTU2NpUUI0?=
 =?utf-8?B?NGttVFd0NVBYRHhaY01tem5GTnJrTE5WWnV6SUIxUzU3bFF6MzJMNEdlL3Ns?=
 =?utf-8?B?TUJLaE54M0RXTUVBTy9pYkFVaUN0ZWI0NjROM3FBYnhRK3RkSjNPTzNwbzRO?=
 =?utf-8?Q?WniAS15X5RVzICLU=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 427d0382-84de-4675-625d-08dec226afe6
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 10:47:34.9799
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JkqxXnBow1G/WQwjnrgsdjPX2DU22vV4STP8sAKCT+zw9tMXprMzIap8TKsJlJR8EUlTBNhLi+8HsAj8PTJKJI4nF8dv26c4Cbvy4PsEaMc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5407
X-purgate-ID: tlsNG-d25034/1780570059-E0D63CF5-02C4CF59/0/0
X-purgate-type: clean
X-purgate-size: 198

On 04/06/2026 11:46 am, Roger Pau Monne wrote:
> No functional change intended.
>
> 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 Thu Jun 04 11:08:48 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 11:08:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327687.1592495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV5wF-00067b-Kq; Thu, 04 Jun 2026 11:08:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327687.1592495; Thu, 04 Jun 2026 11: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 1wV5wF-00067T-Hi; Thu, 04 Jun 2026 11:08:39 +0000
Received: by outflank-mailman (input) for mailman id 1327687;
 Thu, 04 Jun 2026 11:08:38 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wV5wE-00067N-Gj
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 11:08:38 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV5wD-009xVJ-P5
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 13:08:37 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a215cb5-2eae-0a2a0a5409dd-0a2a4502d92c-0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 13:08:37 +0200
Received: from [52.101.61.34]
 (helo=DM1PR04CU001.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a215cb4-af86-0a2a45020019-34653d229639-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 13:08:37 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by IA3PR03MB8453.namprd03.prod.outlook.com (2603:10b6:208:540::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Thu, 4 Jun 2026
 11:08:34 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Thu, 4 Jun 2026
 11:08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=mR61+RZLS/CgkBZX8//CyAXSLoK7OLnHjZh38UK59JrXbpnl7nwQlzYKGtWzLZiZsxYvv+nLCGonYiqCaPrv/HwpB8oJUfCT72fkUAuInV581iO7rZ9CPtcX/2V1GBbOBocZMGwotE71M2YZv83vzyfOA7fBrLyc/7RDbWDZQLaynaotBxkxpkhP/cnu2qCHMIq1UqHiNznmLyD566fT2d1mk3uHXNOPq9r+AGDAurY1fR5apJ4KKzdZ1rFu1b09UVMg3QuxKp22Dm8/4c9hZ3pEA34SP+JM5a0FoB6ttLi+ZLmXP6L5I+u7S3PRlzgKzKbHD5X8Hok0YSl8L/Yl3w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=L+5Fkv3BNPIn3Dsc2L3UOsQ4qtsGY4Ec4uuse+XI9ig=;
 b=wnK7I/QqzyVZjlxcqK3+U6GeyhBKquHQEj7ea9AlCrRKUl5OrOrBcb6gq/MjKvWf5JWs8bbYfZKkPsdF20W8MMV6QcSIXiFFbBcBpeUzyi9hvtbq5rh5wqgU9ihb43xjjoBPNMgKSLFirub9A35FhTcvfvVGkVDHbebkm8vaaZzotPfCMtWdtTWNtXBTmorvwLKhCS6XXcY8yoV+ThQkVGIqAhZMMCMRqHI8pf55cn2aHvY4J87SOTtd0xAvDwtWzij7MnRU1o8wTak6glnUyQP0VuoIko/cTPzbnZXE5Ql4ZE1ssVc3AP3DnnkvDIJ/eumdLOpMn+HAI5V1MpoxBg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=L+5Fkv3BNPIn3Dsc2L3UOsQ4qtsGY4Ec4uuse+XI9ig=;
 b=TO9XpOOqXkZT4e11IgVBsa0YDmfXpeMFYj8KWgYv4RYwah50nX0FK5YGpKAd/d/7bgnMr+p30X4ESmvro+BeYO3ZZXRgJsbdJpFvmpFB9kuMbkcp4zFRJZMXUUYeN/oTAevB76oIroq/EXAVqSIB0OyAjgOBsQQ6w2aZ/AAkXo8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <f72e590e-0e81-4bc4-8097-fe83ab5d945b@citrix.com>
Date: Thu, 4 Jun 2026 12:08:30 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Jan Beulich <jbeulich@suse.com>, Teddy Astie <teddy.astie@vates.tech>
Subject: Re: [PATCH for-4.22 2/2] x86/mcfg: relax memory map checks on newer
 firmware
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <20260604104605.92516-1-roger.pau@citrix.com>
 <20260604104605.92516-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: <20260604104605.92516-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0236.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:315::15) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|IA3PR03MB8453:EE_
X-MS-Office365-Filtering-Correlation-Id: caa445bb-5632-4722-a033-08dec2299e4f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|56012099006|4143699003|11063799006|22082099003|18002099003|6133799003;
X-Microsoft-Antispam-Message-Info:
	nUEUOFT7YKZ324dtguZcQxvlOY0zgkWcWFGqDSJHUunLvVdw2sKcLvC7EvOUNoJoTKaSvHLHkdq+e3GX00yMRHJ5dLeYaMjqgF/s6rjx3hmj7m0gUb9VIlbFUOmKDDQ5CNWuxWqQel7UEMKQD/02/6EGirhm7Aw4xXQy4HR0VdC8mqVsxH+WL714upW8q9C80jMc6u6WOwIXfRyuD9flM/eGmVK+qncV0b608dtkh8X9k4JnaiGZ5t5wqx9dmYGQhbgAsr4wPDh43qcVAmxnWpUTImho+aGZLwZPuNglXnSXbvtnNd/svKtj4/CYpDwPai5xi17vsebofxe0dh7gDpcZj2jBRjKz0Lt7HgVUXW6CxuvTWtm92FS04Rr3OL3qh5oojUDp5is4SQg3Kk7eFVTwZnkPsL3rVyyadb82D5fOQMgnAu77Vr6V6ijr+M0oGMtSNn60EumXRLq9L3aZjd5e06tPkm3E/CfgnXAJfrKHNHOy9ZrcE08DtJ+gik/jWibt9g32TWxG54zS+o+5h/QtpF8gTUZzfePKRso9Eh3R6YLTQzM5HoUB79hxiJu0t8V9J92zbL6VzChbcN4j2yFDPfMGX+GRM+UPRy+LwcZcQnC/XHgkm0xisEa2VnEFxC6UjQxkzXdCEC6nnAS4iq0iEu9IJNw3b/rPBQFf1vIOkPZ1NT1VDnZviU1wW6P6
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(56012099006)(4143699003)(11063799006)(22082099003)(18002099003)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dW1nSXFiK1VaSm9iaGJhRDdEeTYwUDFuNHRFbjRLT0o5VWE2Nm1ycmVheEVn?=
 =?utf-8?B?ejFVc3Q2SzlzSmo1UnQvMlFJUy8vUy84eWpIaFFVa25sQ1E2Z2tRajdWdWpw?=
 =?utf-8?B?Q2tRV0tMdnV4cFFPeFVobzVOOUU3Q0duakpNMjQxdVZYWVlEK1o0Rm1aSHli?=
 =?utf-8?B?R2ppNjFEaksyM1EwZE45bkNJbzRKTHRnLzM2MHZkUVJLaEFHTi9ZTVR1N0RF?=
 =?utf-8?B?ZlVVaVdUNHZEN0dwODNzdEhDQzFHVE4zNTg1NWFaTmdJVU9JWFBQTldpSzNu?=
 =?utf-8?B?TmhJbk9Ra250eDR3MitSVjZhNUpkRE5YMGZtSWJrUklBT2F4REU2dHROZWRB?=
 =?utf-8?B?dGgzSGsvMStrZkpIa1NOT3QvRVhuN0FiMWMwYzlrY25YTnlZbDc0Q0k2WDM2?=
 =?utf-8?B?a2E3Qi9BVGxnb0lwWTZrN0t1dHJKSUxJUmpuUG5pWkRITmlId2pBZGpGcTZL?=
 =?utf-8?B?cGg2M09DYmhySU80bHNoOFBqOWdDSlF0KzNGeXFYRENESnl3V0hSeFI0MUJl?=
 =?utf-8?B?V0ZEUSt6REpJd2t2Rk1YZ3VURGNmcC8wekNtUVNVek81dWRldVAyNUlaaXNQ?=
 =?utf-8?B?dlNyUVd2ajA3Y1ltQ216UFRVTUFFeWw5T2UrY1ArNitTWno1T0N6R2dBT0RO?=
 =?utf-8?B?eUV4TE42QWJQT1d2V0UwZWZMODQyQlNsWWwrcUcyajJtT3ZqcWRDa0QxeS96?=
 =?utf-8?B?UW42SE5qbnp3MklVSzk4RmJPdk4xYUhUdHFmbUxZWGdEUGg0NjFKT3NSK3dh?=
 =?utf-8?B?d1kxdzJVY2JFTVN0TFBuZEhNMlp3Ym9JZGV2eWROY1B0Wk9qb1lGcHF1Y290?=
 =?utf-8?B?VGlnMWVCb2t1VVU0eElnNmpIR3ZxWnoyam9VZ1BHcHlqVC9UUWhHMHY5UDE1?=
 =?utf-8?B?cDRtMUs2QWw4K3lTWU9YQ1lENmIrUmNQYkhsdVBhdXBtdzVRcG91cWsveE0r?=
 =?utf-8?B?dkxxcHlMMXcyQmlmTm51TkFvdi9oeEYxSCsxUktPdW14clk2Z0pwVURtK2J2?=
 =?utf-8?B?MzZSY2k1UHZzSzJBTTVKbmJha2hFdHlXRHRsbFJkVERXOFJvd3N3QzMySzZS?=
 =?utf-8?B?VnhuQ0laK2pEOXdYVFJNdzhOdHJ3alBjTkE2RHBhZHVCWm05MzJnS3RyK2Fn?=
 =?utf-8?B?d3dmUThNeUh4U2p5ZGFnUTN4eDNwNlBiV3V0NFc0QzViYXRoaEN5KzFvU1NE?=
 =?utf-8?B?bkM2YnVUaHphU0UwUm1pVTl4R1NQSFM5N2VydlZKTTlYOXROQWl0c3VtMkdn?=
 =?utf-8?B?ZzFlSlVxRVVSb3lpckRFd3h2WnJ3NSs1bXp6NngwdnI2K0xIbnVSMUZ4YnlF?=
 =?utf-8?B?dmxIWVpzQytLY25sanVVcVlZUmdOVU0rcjZrQXpVTE1TSEk5Zjg4R21aVE5B?=
 =?utf-8?B?SWIwckFuRWJpempBUHo5TVZZSTBDY2Rnd0l0QWR3a1h0NVAwZHdFdFlhdktC?=
 =?utf-8?B?d3htRUZXNVJ2Vnp0aGRjczAydWRpNHR0ODB5aFRNRmVZN1VaeWpMSm4wR1Zx?=
 =?utf-8?B?TFRaa25HeXIzbVNKS1JXMUZ6SjlHYS93U3pYUnVDOEJTMFplMFdHS0srajZM?=
 =?utf-8?B?bWV0aG1QZk11bFdPajh5N01SK1p3RUpHd2lDaUV0Znp3dWRpalRUejRCQUJ1?=
 =?utf-8?B?UG5zR1FQWkk5MHZtMTUyMDMrZ2RwN245WmV5aXo1N2VId1EzaFd6WkkzV29w?=
 =?utf-8?B?bGtzNm9OK2VUUFhSVm5tME1LNkwraHQ0WjhWOUFQRlBqMkE5a0VkeWhSKytL?=
 =?utf-8?B?OUcxZW9KeTViMzJvdzhrNnpMK2ZvOUtUK2RQZ3MxeW8vVmdxdllvQ3k2UFYr?=
 =?utf-8?B?VnozNHJ4cjZkQm1UR2dFTEJ3V3E2TjBLSW52S0hmUDREQWIrdFJZVFYwL2xh?=
 =?utf-8?B?NHpsMWh2aWVoWGpBbmh5UEhwMU5SVFFselZ5c2I4cHNwOEg5aTJaRTVpdG5W?=
 =?utf-8?B?WVNyRnJCL0RKaExtV3NBM3ZWNWVQOFF4Y3NWOHZQNm05N21hMzZMQXltZFVN?=
 =?utf-8?B?RTVoUS9VN280bUlwYnplV09iaTF3d0ZJZG9YclJyaDc4VG4zOE1nT0U4Q2hm?=
 =?utf-8?B?UTlaSjgxNkxKaG1HeTc2TWZES2ZwVVZqTmVjS2RsRXJMOUM1K21Hc1ErWWk4?=
 =?utf-8?B?dmc3SHB1NDdOTUxPN1kybWZqL2oyMkdjZW92RUNaM0RRSWpIRmpjWVlDTWNh?=
 =?utf-8?B?eTdTOGZIN2ZES1dlakEzN1VzaHFtTWVQYkF6Z0VIK3E0cm9CNUVZbks4RmxU?=
 =?utf-8?B?N0VPdTZhNjRobEhjdTFVSlhEQ3BKeDVNVlJ1eXlZQ3BXbjRJdDZJdjhMUHBx?=
 =?utf-8?B?cjhRbytGaGF1cFp4eksrVThTNHNscFFHZWkrcFk3NG9jK2Z1SXF3ZXZ6WGpU?=
 =?utf-8?Q?Y1ZoRaPNmPboMqfk=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: caa445bb-5632-4722-a033-08dec2299e4f
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 11:08:33.9601
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: f9f1apOmGEHwWaalUQzjJ1VVwpeTphMGsuuFPh/rmNqAq1MPb9w+YzXAWNh4yTfukuFzesxCwS5yaM7tJIYaHXrBSx7AqWR1DrNWLPZmSj0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA3PR03MB8453
X-purgate-ID: tlsNG-720697/1780571317-AAF6E161-F18BCD72/0/0
X-purgate-type: clean
X-purgate-size: 4316

On 04/06/2026 11:46 am, Roger Pau Monne wrote:
> Per PCI Firmware 3.3 specification, section 4.1.2, ECAM space must be
> reserved by declaring a motherboard resource, but there's no requirement to
> mention it in E820, so we shouldn't look at E820 to validate the ECAM space
> described by MCFG.  The specification additionally states that: the
> resources can optionally be returned in Int15 E820h or EFIGetMemoryMap as
> reserved memory.

I'd take out the ", so we shouldn't ..." clause.Â  I see it came from the
Linux commit, but it wasn't great there either.Â  It's a piece of opinion
in the middle of quotes from a spec.

Then, I think you want a new paragraph between these two, saying
explicitly that some Lenvovo systems do not mark MMCFG in the memory map.

> The more strict logic was introduced in Linux in 2006 as 946f2ee5c731
> ("[PATCH] i386/x86-64: Check that MCFG points to an e820 reserved area").
> This was picked up by Xen when MCFG support was added in 3b35911d709e
> ("Enable pci mmcfg and ATS for x86_64").  Apply the same approach that
> Linux has done in 199f968f1484 ("x86/pci: Skip early E820 check for ECAM
> region") and relax the strict reserved region checking so it's only done
> for firmware manufactured prior to 2016.
>
> When dom0 is booted it can always prevent access to misconfigured MCFG
> regions by using the PHYSDEVOP_pci_mmcfg_reserved hypercall.  This brings
> Xen's early usage of MCFG (prior to ACPI AML parsing) in line with the
> implementation in Linux.
>
> This fixes an issue with detection of extended capabilities when running
> Xen on a Lenovo system that doesn't list the MCFG area as an
> EfiMemoryMappedIO region in the EFI memory map.
>
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> ---
> I'm not sure what's the best way to attribute the logic here with the
> Linux commit that introduced this, more than referencing it in the commit
> message text.  The code is too different for me to attempt to label this
> change as a backport of the original Linux commit.

I think your commit message is adequate.Â  It does provide all the reasoning.

> ---
>  xen/arch/x86/x86_64/mmconfig-shared.c | 12 +++++++++++-
>  1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/xen/arch/x86/x86_64/mmconfig-shared.c b/xen/arch/x86/x86_64/mmconfig-shared.c
> index d0cbc151705d..e24a78c8d1d3 100644
> --- a/xen/arch/x86/x86_64/mmconfig-shared.c
> +++ b/xen/arch/x86/x86_64/mmconfig-shared.c
> @@ -13,6 +13,7 @@
>   */
>  
>  #include <xen/acpi.h>
> +#include <xen/dmi.h>
>  #include <xen/init.h>
>  #include <xen/mm.h>
>  #include <xen/param.h>
> @@ -369,12 +370,15 @@ static bool __init pci_mmcfg_reject_broken(void)
>      typeof(pci_mmcfg_config[0]) *cfg;
>      int i;
>      bool valid = true;
> +    int year;
>  
>      if ((pci_mmcfg_config_num == 0) ||
>          (pci_mmcfg_config == NULL) ||
>          (pci_mmcfg_config[0].address == 0))
>          return 0;
>  
> +    dmi_get_date(DMI_BIOS_DATE, &year, NULL, NULL);
> +
>      for (i = 0; i < pci_mmcfg_config_num; i++) {
>          u64 addr, size;
>  
> @@ -390,7 +394,13 @@ static bool __init pci_mmcfg_reject_broken(void)
>                 (unsigned int)cfg->start_bus_number,
>                 (unsigned int)cfg->end_bus_number);
>  
> -        if ( !is_mmconf_reserved(addr, size, i, cfg) ||
> +        /*
> +         * For firmware from 2016 or later relax the checking and also consider
> +         * MCFG regions in holes on the memory map as valid.
> +         */
> +        if ( ((year < 2016 || !is_memory_hole(maddr_to_mfn(addr),
> +                                              maddr_to_mfn(addr + size - 1))) &&
> +              !is_mmconf_reserved(addr, size, i, cfg)) ||

This comment is half stale already, as "relax" is really only relevant
to the prior behaviour.

"For firmwares prior to 2016, confirm that MMCFG is marked as reserved.Â 
For 2016 and later, also allow MMCFG being in a hole."

It's also worth saying that this fix is different to Linux's.Â  Linux
simply ignores the E820 on anything newer than 2016.Â  Personally I
prefer the more cautious approach of saying reserved-or-hole, but this
should be called out in the commit message, I think.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 11:29:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 11:29:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327711.1592503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV6GI-0001Pk-AX; Thu, 04 Jun 2026 11:29:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327711.1592503; Thu, 04 Jun 2026 11:29: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 1wV6GI-0001Pd-7u; Thu, 04 Jun 2026 11:29:22 +0000
Received: by outflank-mailman (input) for mailman id 1327711;
 Thu, 04 Jun 2026 11:29:20 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wV6GG-0001PX-BJ
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 11:29:20 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV6GF-001IF4-OA
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 13:29:19 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a21618c-5cb7-0a2a0a5109dd-0a2a450c8532-8
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 13:29:19 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a21618f-62f1-0a2a450c0019-d155802ac5a8-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 13:29:19 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-490ae94a89eso5712585e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 04:29:19 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490bc3fcf5bsm70077435e9.9.2026.06.04.04.29.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Jun 2026 04:29: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780572559; x=1781177359; 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=ID6JKyMUNPL/ECqnymnBxx0HS8ODT4/GCXco0GdkFTE=;
        b=joR/KMsBx80QpbZ9bvXwlwBwUV2vYEslTjbRVGwAs13W7VpTyGSiIbNTSucZUBY3nF
         g/T8jMQYh4/txSingp8OTbNQ86GBHcsryJoBo31ukKtmy/GAYs1vZRou1lgGYJdD9UVM
         lUBGn/MsWX10ewjI6meLy8cU7LB50hc60qGVgf7w29quJ6J70sFCEpu49FG2HWBnOgVd
         VZAldHHD/074Sebn8/2yf2dN0v+RROrmD34Fiu2jB9F1xI3CoppJTDm6bH5334Iankjs
         i3BLieYyOBKf6EY7cD9sn6NEybXIad0RP82PhZqll3lWbitU/GUIY3r2efKTufRcQPtu
         VKuw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780572559; x=1781177359;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=ID6JKyMUNPL/ECqnymnBxx0HS8ODT4/GCXco0GdkFTE=;
        b=Gr0nA7R/7ZCsA8FOzzAj1E6dp1wQ9KSouMsWNItbXttAGm8Z1UBOGhZnU2X7XrNMeb
         6QFEcGbBFniyzeO7KVeqltcVdIcw3J50DY8KCfp8vupedJ0s4w+1FCBPwsfVcTNIf6Zj
         WyuS+7SZXxgzCGreTtlI7queukBhkSyK6IcnWmJWVXSjco5NlWI3Ye8ZJFMXob5PJi4y
         drC7mgE11nu5oWWRtu+0BlEb3AY34Mx6IrYMyabIn7D5H2F695ihgHVvH978pYhnEl56
         lfKG7XYWPZp7oSvXMp9nV8oG/N9nS/wLdyZDFtXVSOnzCFUC65AQQ5jzmC0NNjyZSI3D
         D8PA==
X-Forwarded-Encrypted: i=1; AFNElJ+0W8+6DlW25NdBfKITYM6sic5cLUUfsGHsVVg2rdIATvsdYNZG4i5jXiiewpr34VST0V95OnP4V/8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz2sssGH9Mj+nG6z9IGkfySf0TYh8NP48/JfsFBUdx3UXRctviF
	7GJv7uSvYRE/CIhO+OT3sibCClGOcv1a6xadqa3fI2/YoIM/uRSGOTXu
X-Gm-Gg: Acq92OHKUM3lP8NFb4E3kIdWOxQCOpLVxkhHsEh3XkMBeSQqvXjJFksJ3lVzjJTKv6B
	W5ZfVrZQ9rgyGGq4ayBikB5qbzUDdpkZL5cFQinqcAWNDHHx6fmqeYdiXNw4s+0T91TMgKK2Xi6
	cj5H4Gd6PI/mZcGTJpPXk79AQZmjuMkPIZofyuKZlH0B8dVEOBEoEKOUxHvyl/3NR4LTQLjFmpi
	7Gl1WpbnoresrvTt2z14pjHTPdb3ZaiyJ9m8cUU/HiRPG6bDlJc/Psm4lw8edbaffQCftVTyi6w
	XEFq/hXbuj56NxofDAIKdN0gL5tYNYpmO4QjlcfFfyk7czsWm5cxYJBvADoNzHuEgFtf8/CWKl3
	Wgcd268aQP2HCWHXMHBZ1i1U7swh4HxAf4BeYGsQEkFftKmXaa8C3x21O7cyiIC6EkRuXyRxqy9
	gBN6P6DLPMajHDBuNsWMRngcPeul2Zmz/cgcp5Jm3v/Ox13gT8TsZKPDdxzXear71vmASLeZlfI
	oef/eceYCrVJh6E
X-Received: by 2002:a05:600c:8b64:b0:490:b642:ce31 with SMTP id 5b1f17b1804b1-490b642ce7cmr131738305e9.2.1780572558820;
        Thu, 04 Jun 2026 04:29:18 -0700 (PDT)
Message-ID: <702af594-17ce-4e64-8f02-37ad5785c6a4@gmail.com>
Date: Thu, 4 Jun 2026 13:29:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 14/26] xen/riscv: add very early virtual APLIC (vAPLIC)
 initialization support
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <220cf09814744b8b8136b1e3c35ab982226d3f6f.1778250616.git.oleksii.kurochko@gmail.com>
 <6ec9620d-7224-49d4-860c-6e447e0534e3@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <6ec9620d-7224-49d4-860c-6e447e0534e3@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1780572559-E377ECF5-2192E12B/10/73395122804
X-purgate-type: spam
X-purgate-size: 8518



On 6/3/26 4:54 PM, Jan Beulich wrote:
> On 08.05.2026 16:43, Oleksii Kurochko wrote:
>> --- a/xen/arch/riscv/aplic.c
>> +++ b/xen/arch/riscv/aplic.c
>> @@ -295,6 +295,11 @@ static void cf_check aplic_set_irq_type(struct irq_desc *desc,
>>       spin_unlock(&aplic.lock);
>>   }
>>   
>> +static unsigned int cf_check aplic_irq_num(void)
>> +{
>> +    return aplic_info.num_irqs;
>> +}
>> +
>>   static const hw_irq_controller aplic_xen_irq_type = {
>>       .typename     = "aplic",
>>       .startup      = aplic_irq_startup,
>> @@ -309,6 +314,7 @@ static const struct intc_hw_operations aplic_ops = {
>>       .host_irq_type       = &aplic_xen_irq_type,
>>       .handle_interrupt    = aplic_handle_interrupt,
>>       .set_irq_type        = aplic_set_irq_type,
>> +    .irq_nums            = aplic_irq_num,
> 
> Hook handler names and respective field names would preferably match up. It's
> unclear why the field uses some kind of plural(?), while the function uses
> singular.

I will do s/aplic_irq_num/aplic_irq_nums.

> 
>> --- a/xen/arch/riscv/domain.c
>> +++ b/xen/arch/riscv/domain.c
>> @@ -11,6 +11,7 @@
>>   #include <asm/bitops.h>
>>   #include <asm/cpufeature.h>
>>   #include <asm/csr.h>
>> +#include <asm/intc.h>
>>   #include <asm/riscv_encoding.h>
>>   #include <asm/vtimer.h>
>>   
>> @@ -155,14 +156,10 @@ int arch_vcpu_create(struct vcpu *v)
>>       if ( (rc = vcpu_vtimer_init(v)) )
>>           goto fail;
>>   
>> -    /*
>> -     * As interrupt controller (IC) is not yet implemented,
>> -     * return an error.
>> -     *
>> -     * TODO: Drop this once IC is implemented.
>> -     */
>> -    rc = -EOPNOTSUPP;
>> -    goto fail;
>> +    ASSERT(v->domain->arch.vintc->ops->vcpu_init);
>> +
>> +    if ( (rc = v->domain->arch.vintc->ops->vcpu_init(v)) )
> 
> I don't understand this model of the use of ASSERT(). As previously said
> (more than once) - you'll crash anyway if any of the involved pointers is
> NULL. If you really think an up-front check is better, then why would you
> check only the leaf of the pointer chain, and not also vintc and ops?
> (Once you do you'll then likely notice that there are more assertions
> than actual code.)

Let me show an example. For the test I will comment ASSERT() here + make 
->vcpu_init = NULL. Then the following dump will be occurred because of 
NULL pointer dereference:

(XEN) scause    : 000000000000000c Unhandled exception[Instruction Page 
Fault]
(XEN) htval     : 0000000000000000 htinst    : 0000000000000000
(XEN) hedeleg   : 0000000000000000 hideleg   : 0000000000000000
(XEN) hstatus   : 0000000200000000 [ ]
(XEN) hgatp     : 0000000000000000
(XEN) hstateen0 : 0000000000000000
(XEN) stvec     : ffffffffc00397f0 vstvec    : 0000000000000000
(XEN) sepc      : 0000000000000000 vsepc     : 0000000000000000
(XEN) stval     : 0000000000000000 vstval    : 0000000000000000
(XEN) status    : 0000000200000120 vsstatus  : 0000000a00000000
(XEN) satp      : 80000000000806c5
(XEN) vscause   : 0000000000000000 [Instruction Address Misaligned]
(XEN) ra  : ffffffffc0038f92 sp  : ffffffffc00a6580
(XEN) gp  : 0000000000000000 tp  : ffffffffc005e9c0
(XEN) t0  : ffffffffc04c9f78 t1  : 0000000052464e43
(XEN) t2  : 0000000000000000 s0  : ffffffffc00a65a0
(XEN) s1  : 000000323feaa000 a0  : 000000323feaa000
(XEN) a1  : 000000321a0010a8 a2  : 0000000000000000
(XEN) a3  : ffffffffc005c978 a4  : 0000000000000000
(XEN) a5  : 0000000000000000 a6  : 0000000000000000
(XEN) a7  : 000000321a0010a0 s2  : 0000000000000000
(XEN) s3  : 0000000000000000 s4  : 0000000000000000
(XEN) s5  : 0000000000000000 s6  : ffffffffc00a6638
(XEN) s7  : ffffffffc00a6638 s8  : ffffffffc00a6658
(XEN) s9  : ffffffffffffe000 s10 : 00000032105f4328
(XEN) s11 : 0000000000000000 t3  : 0000000000000001
(XEN) t4  : 0000000000000000 t5  : 0000000000080000
(XEN) t6  : 0000000000000001

So sepc = 0x0 => the CPU attempted to fetch and execute an instruction 
at address NULL.

stval = 0x0 => Faulting address = 0x0 (confirms null fetch).

During writing of that I reliased that I have also ra register which 
will tell where the bad call came from and then using 
addr2line/nm/objdump/whatever it still could be recoverable a place 
where NULL dereference happened in this case:

$ addr2line -e xen/xen-syms 0xffffffffc0038f92
/build/xen/arch/riscv/domain.c:218

So I agree now that such ASSERT should be dropped and shouldn't be used 
in such cases. I will drop it here and in the similar places where I 
added ASSERT for the reason as it is hard to identify a place where 
fault happened.

>> +unsigned int intc_irq_nums(void)
>> +{
>> +    ASSERT(intc_hw_ops && intc_hw_ops->irq_nums);
>> +
>> +    return intc_hw_ops->irq_nums();
>> +}
> 
> You use this to set domains' properties. As indicated before, I view it as
> wrong to do so for any domain, besides perhaps Dom0 / hwdom. If you want to
> do so nevertheless, at the very least I'd expect something to be said about
> such a decision in the description.

If you could explain how this is expected to work for non-Dom0/hwdom 
domains, I would consider reworking it.

Basically, I don't understand how the following scenario is supposed to 
work. Let's say the host interrupt controller can manage 15 interrupts, 
while the guest interrupt controller supports only 7. If we want to pass 
through 8 devices to the guest, what should happen in that case? Should 
Xen simply report that the 8th device cannot be passed through because 
the guest supports only 7 IRQs?

Another concern is related to 1:1 IRQ mapping. Suppose I want to pass 
through a UART device whose IRQ number is typically greater than 10. In 
that case, it seems Xen would again have to report that the device 
cannot be passed through because its interrupt number exceeds the number 
of IRQs supported by the guest interrupt controller. This could be 
addressed by introducing a non-1:1 IRQ mapping between the host and 
guest, but the current dom0less codebase appears to assume a 1:1 IRQ 
mapping (unless I am mistaken).

Considering that virtual interrupt controllers use the maximum possible 
number of interrupts supported by the interrupt controller, the concerns 
mentioned above are unlikely to arise for a long time, if ever, unless 
support for features such as migration is introduced. Therefore, I think 
it would be reasonable to remove intc_irq_nums() and avoid using it to 
initialize virtual interrupts or domain properties.

>> +
>> +static const struct vintc_ops vintc_ops = {
>> +    .vcpu_init = vcpu_vaplic_init,
>> +};
>> +
>> +int __init domain_vaplic_init(struct domain *d)
> 
> Why __init, and why is there no caller? 

The caller is in follow-up patch. I will add that to commit message.

Considering that domain_vintc_init() isn't __init from where 
domain_vaplic_init() is called then __init should be dropped here. I 
will do that.

Plus why is the vCPU-init a hook,
> but the domain init is not? Either you mean to allow for other ICs, or
> you you don't.

IIUC your question domain_vaplic_init() ins't a hook because vaplic 
structure is allocated dynamically so vintc, vintc->ops and/or 
vintc->init_ops aren't initialized at the moment when vintc->{ops or 
init_ops}->domain_vaplic_init() is used in domain_vintc_init() (which is 
introduced in the follow up patch).

> 
>> +{
>> +    struct vaplic *vaplic = xvzalloc(struct vaplic);
>> +
>> +    if ( !vaplic )
>> +        return -ENOMEM;
>> +
>> +    d->arch.vintc = &vaplic->vintc;
>> +    d->arch.vintc->ops = &vintc_ops;
>> +
>> +    vaplic->regs.domaincfg = APLIC_DOMAINCFG_IE | APLIC_DOMAINCFG_DM;
>> +
>> +    d->arch.vintc->irq_nums = min(intc_irq_nums(),
>> +                                  VAPLIC_NUM_SOURCES + 0U);
>> +
>> +
>> +    return 0;
>> +}
>> +
>> +void __init domain_vaplic_deinit(struct domain *d)
>> +{
>> +    struct vaplic *vaplic = to_vaplic(d);
>> +
>> +    xvfree(vaplic);
>> +}
> 
> And d->arch.vintc turns into a dangling pointer. The way you arrange data
> types, you can't use XVFREE() here, but imo you really want to make sure
> the function is idempotent.

I will do then:

void domain_vaplic_deinit(struct domain *d)
{
     struct vaplic *vaplic;

     if ( !d->arch.vintc )
         return;

     vaplic = to_vaplic(d);
     d->arch.vintc = NULL;
     xvfree(vaplic);
}

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 11:33:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 11:33:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327717.1592514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV6KL-0002v0-ST; Thu, 04 Jun 2026 11:33:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327717.1592514; Thu, 04 Jun 2026 11:33: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 1wV6KL-0002ut-Nu; Thu, 04 Jun 2026 11:33:33 +0000
Received: by outflank-mailman (input) for mailman id 1327717;
 Thu, 04 Jun 2026 11:33:32 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wV6KK-0002un-IS
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 11:33:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV6KJ-006N34-Ow
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 13:33:31 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a216280-2eae-0a2a0a5409dd-0a2a450791e8-24
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 13:33:31 +0200
Received: from [209.85.221.46] (helo=mail-wr1-f46.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a21628b-229c-0a2a45070019-d155dd2eb01b-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 13:33:31 +0200
Received: by mail-wr1-f46.google.com with SMTP id
 ffacd0b85a97d-45ef4223be7so363246f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 04:33:31 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4602cda363bsm2868733f8f.31.2026.06.04.04.33.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Jun 2026 04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780572811; x=1781177611; 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=N+gjztpdbDuEQYm6BPrE2/oYBRaj5w9nj3M75JaqAe0=;
        b=gvSe6INFY/Z7O9VfYkzKORrKypix2/zVvAFEVewef/E53QhBjiwmLEm0KFO7qDinY3
         QQg2vFKdH0KenQR1XCW2Ilj1IUEcOApUbp/uojgahC9OXB4+U2wEbneU1uEz6i9BX8sK
         xPR56JzSzU9wOrFBUnOIQalzh3PIqTdxV/+3PcoRSDCdbTIWdtn3qQ5AjrMIBpyCZUuD
         1AcliKtIX66WzY28GvQC5HQGV0FZGpmiOr+ngWMcgFDwcMzw7vl/Jyx3XOMWMMjkNn9l
         YZewTPEZaOkdYUbGyu8WbwMt6URe9fhbRieOPL8aV/pYwc4q+TktwYx0jJbkhMVT8m1Z
         2Utg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780572811; x=1781177611;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=N+gjztpdbDuEQYm6BPrE2/oYBRaj5w9nj3M75JaqAe0=;
        b=EGVLdhIkeC3RoVeULzxozlIwK3NkNSJXPoHqYP241NvIV2hy/xAXiuubNwOn/KVggu
         e1yVwYAeFSSN9oroXVk75Bl7b5cbYGpZHR0L8+tDljAatLlcfvCQOZVk7uIBFoASNtun
         /Sp7Xp6bTn/aH9kY3st07j0qSUUU0+vYzHkdRDUR3ZUo4wUW6eoxyDSAoKScG8x9vzaP
         2JaDlbU+23iW785Bz5sYfd+EjwCLpiZkUrLpjbt+7B4NffgiNkdGCPEtV/5juNLj7Rk+
         n76+myaY2M35Yqruu3ney6alxePwqvLF4/1Eps5qOnOtazBBHIrU6DgyNdJ2+K+pVGxx
         IiZw==
X-Forwarded-Encrypted: i=1; AFNElJ8qCaO+7e4rBqd2318dtnBEgDqwJfIRZWXxIpGpmtTSnn3fmmEvQYXlQlrepbqklSbUloxKaGNZigc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw8gTp8eqgxIbCjGVFUKffbL9irhmJl53eHlSt1oYNsBNJAKlYX
	yWvHbBb87G1j/3R8co6/ZyXZBhQRwAxITg6ZK8QaCwbOW+aBHXRXnOKI
X-Gm-Gg: Acq92OEaW4GKsS9SFkY6w0g6kcCFCdk2VJs8XCLIuJjuRLlP5gAbtoLH/xQQnGne0wu
	bO4zSeS3axA2aPnZd+8wqEZS9Hv8PHRtjTN6/l4NAVzqrLRIeo/7ax+ArfMaRwrjekKjqSSHHZP
	yOQgx2+fMWHx0XjUca5wrv+Ufh1wo1TQ8tuSLncdwCJcj/O4ZVXHzX++hbY1ULWrv2pcpK7hUd1
	TnWbhzw0H8sSxTMLE4eej7plMEg492AR363kxJXtYyLJGk390h3BI4j3WHavrKI6KeLTRNXgt6m
	whNVS6W4UxDBXqgHmm9UL8hJrPe2r3ROszKFfQ3R1M41heaMwSi0mWXOCzmiDcuBeGwhPxJAOUD
	lc1SeQxByF5s40KXCil9Lgv1WMfOCaFj+kcWsspnHDnho4kvOqYe73I6vYrXkAuPE4h8eDgauwA
	1U5/VCvG0aS4KUQteJ1cAE18Ig42kjpA+cCqj5+8jtrPnzLIvLPzb0gXryNxNcBoFdyhFQjdqDm
	+vLcku0gtNeTt9F
X-Received: by 2002:adf:f104:0:b0:45e:edc8:d440 with SMTP id ffacd0b85a97d-46021782782mr8546681f8f.1.1780572810988;
        Thu, 04 Jun 2026 04:33:30 -0700 (PDT)
Message-ID: <003f5317-7669-484f-8095-4e48eedc102d@gmail.com>
Date: Thu, 4 Jun 2026 13:33:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 15/26] xen/riscv: introduce (de)initialization helpers
 for vINTC
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <fc5560cd49a2b952ce7724c23e41da3368833d9f.1778250616.git.oleksii.kurochko@gmail.com>
 <b95f7093-9ae8-4461-95d5-3c4b8a69c62d@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <b95f7093-9ae8-4461-95d5-3c4b8a69c62d@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ef75cf/1780572811-2976AC48-BF94D0D0/10/73395122804
X-purgate-type: spam
X-purgate-size: 1960



On 6/3/26 5:00 PM, Jan Beulich wrote:
> On 08.05.2026 16:43, Oleksii Kurochko wrote:
>> --- a/xen/arch/riscv/intc.c
>> +++ b/xen/arch/riscv/intc.c
>> @@ -11,6 +11,7 @@
>>   
>>   #include <asm/aia.h>
>>   #include <asm/intc.h>
>> +#include <asm/vaplic.h>
>>   
>>   static const struct intc_hw_operations *__ro_after_init intc_hw_ops;
>>   
>> @@ -94,3 +95,38 @@ int __init make_intc_domU_node(struct kernel_info *kinfo)
>>   
>>       return -EOPNOTSUPP;
>>   }
>> +
>> +int domain_vintc_init(struct domain *d)
>> +{
>> +    int ret = -EOPNOTSUPP;
>> +    const enum intc_version ver = intc_hw_ops->info->hw_version;
> 
> Again - why would what the underlying hardware has control what all domains
> get?

If host uses AIA (APLIC/IMSIC) compatible controller then guest should 
use virtual AIA compatible controller, shouldn't it?

I don't think that it is a case when host uses PLIC interrupt controller 
but guests are going to use virtual APLIC.

> 
>> +    switch ( ver )
>> +    {
>> +    case INTC_APLIC:
>> +        ret = domain_vaplic_init(d);
>> +        break;
>> +
>> +    default:
>> +        printk("vintc (ver:%d) isn't implemented\n", ver);
> 
> If we take this path for whatever reason, ...
> 
>> +        break;
>> +    }
>> +
>> +    return ret;
>> +}
>> +
>> +void domain_vintc_deinit(struct domain *d)
>> +{
>> +    const enum intc_version ver = intc_hw_ops->info->hw_version;
>> +
>> +    switch ( ver )
>> +    {
>> +    case INTC_APLIC:
>> +        domain_vaplic_deinit(d);
>> +        break;
>> +
>> +    default:
>> +        printk("vintc (ver:%d) isn't implemented\n", ver);
> 
> ... we're also going to take this path (very quickly afterwards), just to
> get the same message twice without it being clear why it appears twice.

I missed to add printk("%s: ...", __func__, ...). I will update 
correspondingly if we will follow this way.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 11:54:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 11:54:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327728.1592521 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV6ef-0006Kb-Cb; Thu, 04 Jun 2026 11:54:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327728.1592521; Thu, 04 Jun 2026 11:54: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 1wV6ef-0006KU-9f; Thu, 04 Jun 2026 11:54:33 +0000
Received: by outflank-mailman (input) for mailman id 1327728;
 Thu, 04 Jun 2026 11:54:32 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wV6ed-0006KO-TN
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 11:54:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV6ed-00F7Fz-20
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 13:54:31 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a216769-2eae-0a2a0a5409dd-0a2a45059cc8-16
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 13:54:31 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a216776-aaa8-0a2a45050019-d155802eb44c-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 13:54:30 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-4908b92904fso7570575e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 04:54:30 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490bc39e024sm80912185e9.4.2026.06.04.04.54.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Jun 2026 04:54: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780574070; x=1781178870; 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=wH+PrgcTcjC8s6r2oeJayBlwe/5cQcfMAXoxh6DBpfk=;
        b=tJhb37yIFw1hB6ssJpA2+FEFbGhnsisuoY3sUu9iy2ccpO98wgCWLiMDiGb4djP7N2
         +1fyaZ0msdhyXsSllms/+3lEw9ImyhRNyZtqbl8rFXXTwRTvKdkBMm/jtbyuDpGNqff6
         gEqe+JcQobRxMFmzaezNZZ3KhP8k6Fvb49UofBe08NzNG4u2b8JgaBXkOpQBfeKCpAck
         72FcOSo1jGla36HRYQk1QiEGUrpJkW2ovaK6D71zOY63hLr8PmSvNiufD9IvoXnugeUy
         cLJzZDeu3gEPV2jrmg9jJqaHJWhKJnAqyqAsLmDKbI8MdASDVmj2XbAxQdP2A0+GJd+F
         Nyrw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780574070; x=1781178870;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=wH+PrgcTcjC8s6r2oeJayBlwe/5cQcfMAXoxh6DBpfk=;
        b=gjt3OpqfDwOxX/V1LLtLzK/Qk6VXnclVvz/CtcWbq6cFKDSInRlsko2dD8x/GpmIEC
         tYnGQHhJVag475Ys0p8+Dvgg5hWpWHHcUeWW98e+24+MtggQKED9/GN2FSswoZdD23wK
         k1iLoq48TsS2vURoO3r8xCazzoBUR3AqpbKNFFGGYnhDRTlRX0wieO/1CLszlJY56Us9
         1wiiO0hGEqrvY8W1F2JdknopOU7KDJg23uXWhIDRpssCMhQ4DTuPkzwxiHEdYfkOFHIp
         +dA7VhRml3FCFu8QdXB9theWuuoTZX7CGFOl2VXXZ6MsDZLo22wSP9dTVbfvRD9lK7Sp
         qMTA==
X-Forwarded-Encrypted: i=1; AFNElJ/LdXzE6WlBxVBuTyS/iu4Vdx2VR41KRlH8p+o6QOnx4TrVYAdcdfKVwHrcPsoEfQKCEmt41WmNpB8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxK94Tbi+kvankY4OuMqwFvgsl5/2eynga0e1yBg2H5FgXbfbyt
	NrLzXpo6QcbmOvYk45QiZu8/LecaMEtGcyP+p7YaSGKx9H6D+46M1sga
X-Gm-Gg: Acq92OEfhP2LoX2/UQPpO7lgIxAHnInhaVQ+SGI3EW/YvWpdttkD6PBbCu+nPa6CA2u
	EE7/pYOU7Zfclu9Vjz8rugjxDKv7TNiguUkv9fIgi14YTnfdmNsnljt5ZjxW3+QnNpClHuwz5t1
	lKFGelN/kBX0ckCALctAC29oVLQ6Ct1sllZ5Ock03uhPE9uJ0EgBltVSbtwlu3r18g824Yt2oTl
	Y0qFBO3tkeBCWVQiaFNUSbxtJUL+hn0a5D6bpzqfNQtwFW8IwA6BcZVMtsILNALTYYWRBONDtOj
	rO3863KpCUJ3lQvhKOsbNb7g5w3bs28WZGQAaJqjVZwXwwRI6UyGg3n4UD7OGy0TUNh5nx5HVIw
	DPnU2CvgzDAGsD/vMdtMevWK0d/LIan8Z9RtmPg3z6wRvqpBkos038+0mEGcdiY/joPgKatCBZl
	eBdT5POahBTgdWrgtekOpDlrcWbVT8KcQSsLjsFyPXFn+6nmxT+ZI+0xQqjIzk5Y5UTFJNO3J1W
	MubofWxjsVl04SM
X-Received: by 2002:a05:600c:4fd5:b0:490:b02d:1529 with SMTP id 5b1f17b1804b1-490b5eb6644mr124267875e9.6.1780574070150;
        Thu, 04 Jun 2026 04:54:30 -0700 (PDT)
Message-ID: <4631cb18-d735-4494-92ec-9b06c637a2c0@gmail.com>
Date: Thu, 4 Jun 2026 13:54:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 16/26] xen/riscv: create APLIC DT node for guest
 domains
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <d1377f3e2381a6428b558b54f47db342d0cd5503.1778250616.git.oleksii.kurochko@gmail.com>
 <76856d69-2f52-4804-92bf-ee9343230c2c@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <76856d69-2f52-4804-92bf-ee9343230c2c@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1780574071-DA374443-3226CE46/10/73395122804
X-purgate-type: spam
X-purgate-size: 5493



On 6/3/26 5:10 PM, Jan Beulich wrote:
> On 08.05.2026 16:43, Oleksii Kurochko wrote:
>> --- a/xen/arch/riscv/imsic.c
>> +++ b/xen/arch/riscv/imsic.c
>> @@ -14,6 +14,7 @@
>>   #include <xen/cpumask.h>
>>   #include <xen/device_tree.h>
>>   #include <xen/errno.h>
>> +#include <xen/fdt-kernel.h>
>>   #include <xen/init.h>
>>   #include <xen/macros.h>
>>   #include <xen/sched.h>
>> @@ -522,3 +523,9 @@ int __init imsic_init(const struct dt_device_node *node)
>>   
>>       return rc;
>>   }
>> +
>> +int __init vimsic_make_domu_dt_node(struct kernel_info *kinfo,
>> +                                    unsigned int *phandle)
>> +{
>> +    return -EOPNOTSUPP;
>> +}
> 
> This, I assume, is going to be filled properly by the next patch.

Yes as it was mentioned in the commit message. Actually here considering 
that this function isn't static I can just re-order patches and drop 
part of commit message in the current patch.

> 
>> --- a/xen/arch/riscv/vaplic.c
>> +++ b/xen/arch/riscv/vaplic.c
>> @@ -9,6 +9,8 @@
>>    */
>>   
>>   #include <xen/errno.h>
>> +#include <xen/fdt-kernel.h>
>> +#include <xen/libfdt/libfdt.h>
>>   #include <xen/sched.h>
>>   #include <xen/xvmalloc.h>
>>   
>> @@ -19,8 +21,11 @@
>>   
>>   #include "aplic-priv.h"
>>   
>> +#define VAPLIC_COMPATIBLE "riscv,aplic"
>>   #define VAPLIC_NUM_SOURCES 96
>>   
>> +#define FDT_VAPLIC_INT_CELLS 2
>> +
>>   static int cf_check vcpu_vaplic_init(struct vcpu *v)
>>   {
>>       int rc = 0;
>> @@ -47,6 +52,73 @@ static int cf_check vcpu_vaplic_init(struct vcpu *v)
>>       return rc;
>>   }
>>   
>> +static int __init cf_check vaplic_make_domu_dt_node(struct kernel_info *kinfo)
> 
> Again - why __init here and ...
> 
>> +{
>> +    int res = 0;
>> +    void *fdt = kinfo->fdt;
>> +    unsigned int msi_parent_phandle;
>> +    char vaplic_name[128];
>> +    paddr_t aplic_addr = GUEST_APLIC_S_BASE;
>> +    paddr_t aplic_size = APLIC_SIZE(kinfo->bd.d->max_vcpus);
>> +    const __be32 reg[] = {
>> +        cpu_to_be32(aplic_addr >> 32),
>> +        cpu_to_be32(aplic_addr),
>> +        cpu_to_be32(aplic_size >> 32),
>> +        cpu_to_be32(aplic_size),
>> +    };
>> +    struct vintc *vintc = kinfo->bd.d->arch.vintc;
>> +
>> +    res = snprintf(vaplic_name, sizeof(vaplic_name), "/soc/aplic@%x",
>> +                   GUEST_APLIC_S_BASE);
>> +    if ( res >= sizeof(vaplic_name) )
>> +    {
>> +        dprintk(XENLOG_DEBUG, "vaplic name is truncated\n");
>> +        return -ENOBUFS;
>> +    }
>> +
>> +    res = vimsic_make_domu_dt_node(kinfo, &msi_parent_phandle);
>> +    if ( res )
>> +        return res;
>> +
>> +    res = fdt_begin_node(fdt, vaplic_name);
>> +    if ( res )
>> +        return res;
>> +
>> +    res = fdt_property_cell(fdt, "#interrupt-cells", FDT_VAPLIC_INT_CELLS);
>> +    if ( res )
>> +        return res;
>> +
>> +    res = fdt_property(fdt, "reg", reg, sizeof(reg));
>> +    if ( res )
>> +        return res;
>> +
>> +    res = fdt_property_cell(fdt, "riscv,num-sources", vintc->irq_nums);
>> +    if ( res )
>> +        return res;
>> +
>> +    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
>> +    if ( res )
>> +        return res;
>> +
>> +    res = fdt_property_string(fdt, "compatible", VAPLIC_COMPATIBLE);
>> +    if ( res )
>> +        return res;
>> +
>> +    res = fdt_property_cell(fdt, "msi-parent", msi_parent_phandle);
>> +    if ( res )
>> +        return res;
>> +
>> +    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_intc);
>> +    if ( res )
>> +        return res;
>> +
>> +    return fdt_end_node(fdt);
>> +}
>> +
>> +static const struct vintc_init_ops __initdata init_ops = {
> 
> ... __initdata here? If you really want to have the option of moving
> domain creation stuff to .init.* when only dom0less is configured,
> then a proper abstraction is needed, along the lines of
> init_or_livepatch.

It was marked as __init and __initdata, respectively, because I had the 
dom0less use case in mind, where all domains are created during boot. In 
that scenario, vaplic_make_domu_dt_node() would not be reused, so the 
associated memory could be freed afterwards.

In the case of Dom0 with the xl toolstack, I assume the toolstack will 
create the node for the guest domain. For Dom0, however, I am not sure 
whether we can reuse the current implementation as-is. As it is written 
now, I assume that properties such as aplic_addr, reg, and compatible 
should be reused from the host, right?
If that is not a requirement for Dom0, then __init and __initdata could 
be removed (and possibly init_ops as well).

> 
>> @@ -60,13 +132,14 @@ int __init domain_vaplic_init(struct domain *d)
>>   
>>       d->arch.vintc = &vaplic->vintc;
>>       d->arch.vintc->ops = &vintc_ops;
>> +    d->arch.vintc->init_ops = &init_ops;
>>   
>> -    vaplic->regs.domaincfg = APLIC_DOMAINCFG_IE | APLIC_DOMAINCFG_DM;
>> +    vaplic->regs.domaincfg = APLIC_DOMAINCFG_IE | APLIC_DOMAINCFG_DM |
>> +                             APLIC_DOMAINCFG_RO80;
> 
> This looks unrelated. I don't mind it being done here, but then it
> wants mentioning in the description. Or maybe I simply don't understand
> what this is about.

Right, it shouldn't be here. It would be better to move to [PATCH v2 
14/26] xen/riscv: add very early virtual APLIC (vAPLIC) initialization 
support.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 12:55:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 12:55:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327793.1592531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV7bj-0007kV-Ub; Thu, 04 Jun 2026 12:55:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327793.1592531; Thu, 04 Jun 2026 12:55:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV7bj-0007kO-RZ; Thu, 04 Jun 2026 12:55:35 +0000
Received: by outflank-mailman (input) for mailman id 1327793;
 Thu, 04 Jun 2026 12:55:34 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wV7bi-0007kI-Ad
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 12:55:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV7bh-009x3A-DO
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 14:55:33 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2175a8-2eae-0a2a0a5409dd-0a2a4504e80e-46
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 14:55:33 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2175c5-1dec-0a2a45040019-d155802eedd2-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 14:55:33 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-490ac357c55so8362025e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 05:55:33 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490bc3b5b06sm63302045e9.3.2026.06.04.05.55.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Jun 2026 05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1780577733; x=1781182533; 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=GOex6cUH76+5UO2A6nOut6BRNcxrNo78P3qFnuIkBHg=;
        b=RHhceAU1ZMtrmgXVZ0ZkAvhH2bI/DHDAqRI5ZOFQ+XgDcOkkWYhTfuKTg7NsSnOlmY
         8Lp4/yb3LcHsIBzA+EPXPeAcOHHBFWB4SsLg5WNtGTRbjcXnCDo37dkeQqyYlcg8iTOk
         6BcovvHYqPjHf4ZLDKDCv+UB56EZvNbg2uUyo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780577733; x=1781182533;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GOex6cUH76+5UO2A6nOut6BRNcxrNo78P3qFnuIkBHg=;
        b=caMnbOoBLqjr3XYpyPmcY8oaWCRVtKP9mUUpG3MJKtUwSn746Nj1s2U5RMcH5N60QQ
         4JT3rHqIYUem5FOsTxALv+eimiSRJsux79yjiJ4lzTHHo7WoXwBMr7l4VjT/eQt1ynuV
         Z6AeeZ21vDYp3cTCvMvzeF+tei7KMjq8eIsUFcuDqe4IkzpbnaDR8G12CKbcikDbDfZb
         x1ZhUrlwTYp9ZU0V/6KYXmDJNEigk3W1VtbubpIDeLYdc8pK2IY+j8qhtYSDdMwV6ghv
         VFNKcBrO4my447BbhtIES0v+GTQXlCQHNrBW6MWhlxvk8C9AM35/XgiwJ/pi0C2RLQlq
         LjOg==
X-Gm-Message-State: AOJu0YyV/TZcK/TtaTcHBbg+jmMKA01Y6lvwa9PzaHnViRmuJIbkmbJK
	9JvJomptQiLpWDpJnSJ7l3p+h2UliWoIGZWQiyUSlLbPDrdmeqIUl65d0Pp7TNSrdXzCFEQLXsM
	f7FEM
X-Gm-Gg: Acq92OGdbthvXP7ngQYDO1Eqf/KfdFYJJSYzkOht1AbxkIivjoHb0BBcb23rSG2ZWHB
	qIb7NV3Aj7uvoNAI+bAtfbD7Eb9VIUruf96GRjCXkxXdKMSaJDcqztJB/nwtmEeT8O3kis8pjrO
	R9TEAtJyihFkw56e3i84MrN16VCM3kjLQ0G5ziVGG59HQA/NV4jh4Sd1E63rRS3SVrQ25GnTmTp
	tO0WH4f7dLi9H9ZksYOXJtutcyLRSW8DrJ1ricyAtcxRoeI7Ld8vZjPDlmsnMYvs122LPYAEUq+
	k0/KvjrNIrH+jzD9jvaMHVUb/HT2fD1lrRHSauaznPlCIsuUwRL3agFy06Qc8SjvVY2M0OMFv3q
	8X4J1rRsz3vi8QdSZiBMDTWLKxiiHKGui9eMxZeS0+Q99fiuQWKlASO7niJGb2jW1qbj/GKK3u4
	RlEWNKMBJLT7+GWDB5NdcJhECTet8f1xig8SeFFlRa4Dt8fq6POGTAxv1arA+DPhwdrAFUC1I+7
	BXIhw0GIe9XW/w=
X-Received: by 2002:a05:600c:4ec6:b0:490:b8e2:6380 with SMTP id 5b1f17b1804b1-490b8e264c9mr116497775e9.12.1780577732485;
        Thu, 04 Jun 2026 05:55: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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH] CI: Remove .cirrus.yml now that CirrusCI has shut down
Date: Thu,  4 Jun 2026 13:55:30 +0100
Message-Id: <20260604125530.2718761-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
X-purgate-ID: tlsNG-ebf023/1780577733-28D743FF-7E33B57B/10/73395122804
X-purgate-type: spam
X-purgate-size: 6750

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 .cirrus.yml | 212 ----------------------------------------------------
 1 file changed, 212 deletions(-)
 delete mode 100644 .cirrus.yml

diff --git a/.cirrus.yml b/.cirrus.yml
deleted file mode 100644
index 839c25149c9e..000000000000
--- a/.cirrus.yml
+++ /dev/null
@@ -1,212 +0,0 @@
-## FreeBSD Build Jobs
-
-# https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
-freebsd_versions: &FREEBSD_VERSIONS
-  env:
-    FREEBSD_LEGACY:     freebsd-13-5
-    FREEBSD_PRODUCTION: freebsd-14-3
-    FREEBSD_CURRENT:    freebsd-15-0-amd64-ufs
-
-# Build jobs
-
-freebsd_template: &FREEBSD_ENV
-  environment:
-    APPEND_LIB: /usr/local/lib
-    APPEND_INCLUDES: /usr/local/include
-    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:
-      - cp xen/.config xen-config
-    config_artifacts:
-      path: xen-config
-      type: text/plain
-
-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
-                                 pkgconf bison perl5
-                                 json-c lzo2 pixman argp-standalone
-                                 libxml2 glib git python3 libinotify
-
-  configure_script:
-    - cc --version
-    - ./configure --with-system-seabios=/usr/local/share/seabios/bios.bin
-                  --with-extra-qemuu-configure-args="--extra-ldflags=-L${APPEND_LIB} --extra-cflags=-I${APPEND_INCLUDES}"
-    - gmake -j`sysctl -n hw.ncpu` -C xen clang=y defconfig
-
-  << : *FREEBSD_CONFIGURE_ARTIFACTS
-
-  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'
-
-  # 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
-
-  configure_script:
-    - cc --version
-    - gmake -j`sysctl -n hw.ncpu` -C xen clang=y \
-            KCONFIG_ALLCONFIG=tools/kconfig/allrandom.config randconfig
-
-  << : *FREEBSD_CONFIGURE_ARTIFACTS
-
-  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
-
-  xtf_artifacts:
-    path: xtf/tests/selftest/test-*-selftest
-    type: application/octet-stream
-
-## macOS Build Jobs
-
-task:
-  name: 'macOS: hypervisor build'
-
-  env:
-    matrix:
-      ARCH: x86_64
-      ARCH: aarch64
-
-  alias: macos-$ARCH
-  macos_instance:
-    image: ghcr.io/cirruslabs/macos-runner:sonoma
-
-  environment:
-    CIRRUS_CLONE_DEPTH: 1
-    CIRRUS_LOG_TIMESTAMP: true
-
-  install_script:
-    - brew install $ARCH-elf-gcc $ARCH-elf-binutils
-
-  build_script:
-    - make -j`sysctl -n hw.ncpu`
-           XEN_TARGET_ARCH=`echo $ARCH | sed -e s/aarch64/arm64/`
-           CROSS_COMPILE=$ARCH-elf- HOSTCC=clang -C xen
-
-  xen_artifacts:
-    path: xen/xen
-    type: application/octet-stream
-
-  debug_artifacts:
-    path: xen/xen-syms
-    type: application/octet-stream
-
-## Test Jobs
-
-task:
-  name: 'XTF selftest'
-
-  << : *FREEBSD_ENV_PRODUCTION
-
-  env:
-    matrix:
-      BUILD: freebsd_full_$FREEBSD_LEGACY
-      BUILD: freebsd_full_$FREEBSD_PRODUCTION
-      BUILD: freebsd_full_$FREEBSD_CURRENT
-      BUILD: macos-x86_64
-
-  depends_on:
-    - $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/$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 2>&1 | sed 's/\r\+$//'
-
-  always:
-    serial_artifacts:
-      path: serial-*.txt
-      type: text/plain

base-commit: 0b03d963730b4c3df5b4583c054e2cd0d99758c2
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 13:23:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 13:23:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327825.1592542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV82p-0004ZS-0X; Thu, 04 Jun 2026 13:23:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327825.1592542; Thu, 04 Jun 2026 13:23: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 1wV82o-0004ZL-Tt; Thu, 04 Jun 2026 13:23:34 +0000
Received: by outflank-mailman (input) for mailman id 1327825;
 Thu, 04 Jun 2026 13:23:33 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wV82n-0004ZF-No
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 13:23:33 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV82n-007TEE-4F
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:23:33 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a217c4c-5cb7-0a2a0a5109dd-0a2a45018746-34
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 15:23:33 +0200
Received: from [40.107.208.49]
 (helo=PH0PR06CU001.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a217c53-c1f2-0a2a45010019-286bd031230c-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 15:23:32 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by DM4PR03MB6032.namprd03.prod.outlook.com (2603:10b6:5:393::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.14; Thu, 4 Jun 2026
 13:23:29 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.007; Thu, 4 Jun 2026
 13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=RUmLwcSPaDkgQMc1yo45tpmhfZiGnIRutSROe6ow0e3HE8aZj20pn8afFMeJweZTSRtPr9+E+SEFN5lq+WAGxdA+aeGjey9QF3o/N2Quo2l4UAN+wu3lEdCGeLdVHKtKHH9c5pxzqvbcjVXMYg5DHaenl4RH/PUGAHmfwKBI26/S6z+mVs6XjUhl8I8cahFBoP66QGwjm6AGHF2D2wSa6St6nydnMdeQdI7EDLrtNGKRvOCZNi3xaeLIdpcuP9BnpCzMD8cg5+nHTYxXPAUWRuR9mfmWhDz+f2w0/h0LlAYWopz+DicJVjkEGW8zoVaTmOTuOt1ltJXjso7ouOe1XQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lj3ABC5OISg7ZNV7TW34OkFC8pBPXFaniSWfi9HmYbo=;
 b=nofk0IsrTEEljIHaww6RbcvVbKtA1NdgxryoVix7UqAHI3aqJrkHx0VTZYt7oE+D9uE3odL0aOQ66j7wQ2sPexmpjGEDPdjMM8u67RYRAmwNLmrvlalb/4lxlV3JhXeF35LZnANm1F/pSqLL4HWleoXuQj0SF9LEucB4zabLFxhVCfaiOatz9VnTmNJ5chtHXxo+M+JDtAVXCDy/tkieqp6XjyPnj+2G4tRi5juWRHunVWGL1q8XbLjWi0YCCbG4GFqiPtusPZNAUOvo6AvBxcKtSY6U4G645SbXHzbYMnovUBobM2wKAdNYfLpnksPaESeNU6jWp0UjR66aldxrfw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lj3ABC5OISg7ZNV7TW34OkFC8pBPXFaniSWfi9HmYbo=;
 b=nGr9nbQnGhxTib4zIn7TbD6hYDFpKselnMy7kyXsQeBOCtJzRGXQZNusPjbrLDELTGjawfyssKXzqOhbqGRUgcfYXyY5cyu766SgnbcHWsmaQAmxNqzaSeZAdavbOti9r0p8uyu8AXJcLnLWK+nsWT0jyeYiizZAOxGOanPo4D0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 4 Jun 2026 15:23:26 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: Re: [PATCH for-4.22 2/2] x86/mcfg: relax memory map checks on newer
 firmware
Message-ID: <aiF8TlCNRxuojjP0@macbook.local>
References: <20260604104605.92516-1-roger.pau@citrix.com>
 <20260604104605.92516-3-roger.pau@citrix.com>
 <f72e590e-0e81-4bc4-8097-fe83ab5d945b@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f72e590e-0e81-4bc4-8097-fe83ab5d945b@citrix.com>
X-ClientProxiedBy: BN9PR03CA0552.namprd03.prod.outlook.com
 (2603:10b6:408:138::17) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|DM4PR03MB6032:EE_
X-MS-Office365-Filtering-Correlation-Id: 05069a04-b6e0-42ad-8b7a-08dec23c7733
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|366016|6133799003|22082099003|18002099003|56012099006|4143699003|11063799006;
X-Microsoft-Antispam-Message-Info:
	x8T1cClHcoF07UnzFSKcsLVmqBky90Jlg96hwGKqsI0tFvNegtvXhO9+xKu9p3c2ar6OTKTEVPun2XqbHC/WeqawmIqunTdOOKYe09pks4+TFzaAq3dT6hWPV+YUGtz7kZPp4XJ2FgRwNYcblYp4uXxVLqNvjkU84VWtU15IAHeb93il8TIQcZo1dE2ni9oUdTyq+6dhfMslOa3qrpc4/IXOLr7IpaJkLq0NUDDVuAwbF07MP+FWVb80OralM71uyZfXjwOsl6WAOTgE2o5l45t5IrhlSUlvIq6fbjwMvzWdS//Xi5Ho3mOVe0CgXlA/KlLkDmjjNtovIcpKoeAeNNxwyc4hxCB7V0K8D/YmjzbO5b3Phld8CBELU6x6FH1UzxxGLd2wCFbT1j1WCeTMd4AS0n8mBZQZ1wZflOu4xOmzltv95MskTvvJUUpCwtaAh4OwlMc2xUBJGuiGix95780AyFTLYcAzcBrNFmqi2Uuu1ivhOZkOnuiZK2DwMVY4XIL+nBK1OotPQWh4epxaoG5KUR5YA7wsRm0L1VCnmOzh8PSlMgKEanZQ8aYW03D9C6akpHkYt3dDQzIpr5Jy5noZdLUBj48t/+8smRICk4LAMrw1LJtADO4gPMLzQych22wOcs4MEF9iydagzDGHhIN91Lx8WYMfSMeQaXN4TcnfPEHxNVS7R6pCBjVlSlVa
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(6133799003)(22082099003)(18002099003)(56012099006)(4143699003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RUVRcEgvdWMwdkxWK2loWDBpTjhLVmgrcmlxdjZJNkF1Rmo5ZXYybmpBL3U5?=
 =?utf-8?B?eWowQ1RjcGVLNmdXQVIzRUY1MmlBL2RWN25acU9qR0h0aGEyM1NPc1FzVS9N?=
 =?utf-8?B?QzE2NWdiQk5QZk4vKzlyOXZ0eXphUUVFcHVMK21rMTZaMWo0bTJDckp4NFlw?=
 =?utf-8?B?aXBBVWFGRE1BTXIyRStwUWxyQ0tsU29BZjROR0l3QzBodEg4SFUwUGJaTGY5?=
 =?utf-8?B?SkltRzlxTEZrUlhMR1hQc0ZCZ2ROajNlZXl3bmNoWVROZTl6TU04azJGN3dn?=
 =?utf-8?B?MnF1NlNTakZiM1l0MlJxYmhWejBvVU84UitYTEt5M0prRG5tOVI2WVgyMmZW?=
 =?utf-8?B?OXlmOWdaQWVzQlJHVEJKV1FJV3JwTFlJYnRHZXhDdFZ1OS9vdWNvTDJrVm9M?=
 =?utf-8?B?ZUhlUVdsalppWWNvMUpCdHI2VXVOK0VqaTBXM0M3N3RPVndTNWdIaFppNUJp?=
 =?utf-8?B?bGVhNi8wRnBObXFHRS9iUU0rbkg5anBwTk5ENWEvTlhjenZoS2p4b0QzNkVY?=
 =?utf-8?B?dWw2L3p4TS9LVnZVb0JRQytXeEN1TXMwMnMvKzVxQm9EZGlVZnpUTzV5bzVy?=
 =?utf-8?B?R3ZQY0twOUZnZlpGWkZ6eUZpazNYUmZMSDZ1cmRBQlNnTHo5Q1kzUnF0WTF5?=
 =?utf-8?B?VWtLYmpCWGFIUlUrMFZLMUNsU0FlaUF3Zm1vUEhCNG1DODBnVG1oYnRwV25u?=
 =?utf-8?B?SFpDMG5wdUh1KzBtT2MzUmZUcWpmdkVPTlA0djZFb0FFNzhVWXd5b0Rzaml1?=
 =?utf-8?B?MHBQL25NYkVEcG5meVZxWWRReElzYzFqd2llK0JhSTF1NEZEbGVqOFFldk01?=
 =?utf-8?B?bE9sL1RoUlJ0S0FvUzdMelpxZWFHeEVnZmR4eS9qMkVuVTFjVk5QMjlQTDNM?=
 =?utf-8?B?NW9kTzlGQTk1aE9VT0xCb09hT2kzQmhhTm1YRHJjOGV5RjkzandJUnRmTzJU?=
 =?utf-8?B?cms0NjNtK3hxVEozbVBURHBZSFZFY3hkYUozd2JqSVA5RjljVXR4MFRKTW14?=
 =?utf-8?B?eUM3V1hYVnJWTkpXZjlmVW84UW5OQWdpRVNSWlZkYUdsRGttTVBlNzVhMXhD?=
 =?utf-8?B?Mmd2TnBZajc5ZytpaFFyVEU1RGNDOVdJN1FrZW0xVW4zbU5lRDZyWjJLS0V0?=
 =?utf-8?B?Q2JhUW55Z1ZKVTNoSnVxUWVLY0xpSzdnM0ptbkpZZTlTc3pZclFsSFhzOGFO?=
 =?utf-8?B?ejZ1VGU3eXdaa0pqZ1o4WGVtSXJuc0xmdmY0aDRQSHVaNEpheUg2eDltd21V?=
 =?utf-8?B?bzFYNEh0M0RLaUo3NFBXVGhHQmxrczIrQi81WWV3Ti8zNlA2SUordGl1Mkds?=
 =?utf-8?B?SCtpSE9TQktiQ3FBOG05OEpYWkNGdTVraGVBUGhwaHpJaEtJK1owV1RZYmxw?=
 =?utf-8?B?NE1tRndMRWliV09GUHdKUVFtMFRQMGw3aTRocXhwR2Jzd2JLMXk5a2M5ZmRl?=
 =?utf-8?B?NHppM3Y0QmcxRUFxSXNlSk01VFVCS3V6ZWlDc1pBVTFMVW1MNHJJa25maGVz?=
 =?utf-8?B?WjBreDNJbHJyUFpaemMwQjZOSGtCQWdnYzAwajU0RGtzakgxbHpQZFpFVHZn?=
 =?utf-8?B?ZEdSalFoUXVsaGVMaHYzT0VUeHdEOU1CVFZjYVg5UklOSlBxajB6My8rSG9T?=
 =?utf-8?B?anZwaW5paFJCZ0FKOHBxU1lYWHJsTm10MkNWam5lRkYzdmxGRTNoTjhoS1lk?=
 =?utf-8?B?SHdKeFlNWGxNUEZ4KzBKUnQ0Rkx4SSs3V1JKMk1iRzlMUHhSdHp3TFNOZVhE?=
 =?utf-8?B?M3QzbEI2VU15d1ExTUI2WGE4NHQ4VERGeTQvZVJLWU0wNFo4NXdEWEVVamNX?=
 =?utf-8?B?MVZtbFdzeUNjVmxneCtXaWlTa01VL1BmaGVqUFVFR1RFSTdQRGhnTFh1c2Jz?=
 =?utf-8?B?Wm1mTnFURzliQlMyeFlBc29mUUltRnNCWEwxakxqY3hkd0RtYzU0eUJzSkdG?=
 =?utf-8?B?eXE2Tk9lLy9ISGZ0UjkzMUY1NHZiakZaNGNldElvQXJ6LzZ1K2c4VVNESUFC?=
 =?utf-8?B?WmxxOGMxbnZGUEMvbnlSZ2F1S2sva3ducXNZaHFjLzdYcWxSUFdnVWpjWDFa?=
 =?utf-8?B?a2lvRjdRSWdVdDlKUUl5OGl5NlZsRHhXR2xESU1lendBQXY4cXgvMTgyN0hK?=
 =?utf-8?B?Q1dXaHlKZFZ6b25tbkNnUHM0NVFsa1ZieS9kQWZpeC84U0l6d3NqUHc5NU8v?=
 =?utf-8?B?YjhVQlczS2JRUDZtTHJqUTBXbTV0Y25TbVRXOTVnVE8vV0lhWFZyRjVqMENj?=
 =?utf-8?B?S0F4ZFQ1a3MrN2Y5Qk8vVEdYSWxFdHVwbVJ0bGUyQmJ0SkZsOWRlbXRIdEx5?=
 =?utf-8?B?UlFLTU5nKy95aWpJWEp2ajM0b0JXUVZtcVBNb01haGV6RnJFZThwZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 05069a04-b6e0-42ad-8b7a-08dec23c7733
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 13:23:28.9636
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EC25d7/YmlIHvmbdO/1+AaEiM0m+mXH53kiWlVlrakPjFkGgUmAPahRTw5lMvkA2oQFmSTwQAj0uqm41GZD1dw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6032
X-purgate-ID: tlsNG-d62444/1780579413-AF754FF4-1A025F0D/0/0
X-purgate-type: clean
X-purgate-size: 4734

On Thu, Jun 04, 2026 at 12:08:30PM +0100, Andrew Cooper wrote:
> On 04/06/2026 11:46 am, Roger Pau Monne wrote:
> > Per PCI Firmware 3.3 specification, section 4.1.2, ECAM space must be
> > reserved by declaring a motherboard resource, but there's no requirement to
> > mention it in E820, so we shouldn't look at E820 to validate the ECAM space
> > described by MCFG.  The specification additionally states that: the
> > resources can optionally be returned in Int15 E820h or EFIGetMemoryMap as
> > reserved memory.
> 
> I'd take out the ", so we shouldn't ..." clause.Â  I see it came from the
> Linux commit, but it wasn't great there either.Â  It's a piece of opinion
> in the middle of quotes from a spec.
> 
> Then, I think you want a new paragraph between these two, saying
> explicitly that some Lenvovo systems do not mark MMCFG in the memory map.

OK, I will move the last paragraph here then.

> > The more strict logic was introduced in Linux in 2006 as 946f2ee5c731
> > ("[PATCH] i386/x86-64: Check that MCFG points to an e820 reserved area").
> > This was picked up by Xen when MCFG support was added in 3b35911d709e
> > ("Enable pci mmcfg and ATS for x86_64").  Apply the same approach that
> > Linux has done in 199f968f1484 ("x86/pci: Skip early E820 check for ECAM
> > region") and relax the strict reserved region checking so it's only done
> > for firmware manufactured prior to 2016.
> >
> > When dom0 is booted it can always prevent access to misconfigured MCFG
> > regions by using the PHYSDEVOP_pci_mmcfg_reserved hypercall.  This brings
> > Xen's early usage of MCFG (prior to ACPI AML parsing) in line with the
> > implementation in Linux.
> >
> > This fixes an issue with detection of extended capabilities when running
> > Xen on a Lenovo system that doesn't list the MCFG area as an
> > EfiMemoryMappedIO region in the EFI memory map.
> >
> > Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> > ---
> > I'm not sure what's the best way to attribute the logic here with the
> > Linux commit that introduced this, more than referencing it in the commit
> > message text.  The code is too different for me to attempt to label this
> > change as a backport of the original Linux commit.
> 
> I think your commit message is adequate.Â  It does provide all the reasoning.
> 
> > ---
> >  xen/arch/x86/x86_64/mmconfig-shared.c | 12 +++++++++++-
> >  1 file changed, 11 insertions(+), 1 deletion(-)
> >
> > diff --git a/xen/arch/x86/x86_64/mmconfig-shared.c b/xen/arch/x86/x86_64/mmconfig-shared.c
> > index d0cbc151705d..e24a78c8d1d3 100644
> > --- a/xen/arch/x86/x86_64/mmconfig-shared.c
> > +++ b/xen/arch/x86/x86_64/mmconfig-shared.c
> > @@ -13,6 +13,7 @@
> >   */
> >  
> >  #include <xen/acpi.h>
> > +#include <xen/dmi.h>
> >  #include <xen/init.h>
> >  #include <xen/mm.h>
> >  #include <xen/param.h>
> > @@ -369,12 +370,15 @@ static bool __init pci_mmcfg_reject_broken(void)
> >      typeof(pci_mmcfg_config[0]) *cfg;
> >      int i;
> >      bool valid = true;
> > +    int year;
> >  
> >      if ((pci_mmcfg_config_num == 0) ||
> >          (pci_mmcfg_config == NULL) ||
> >          (pci_mmcfg_config[0].address == 0))
> >          return 0;
> >  
> > +    dmi_get_date(DMI_BIOS_DATE, &year, NULL, NULL);
> > +
> >      for (i = 0; i < pci_mmcfg_config_num; i++) {
> >          u64 addr, size;
> >  
> > @@ -390,7 +394,13 @@ static bool __init pci_mmcfg_reject_broken(void)
> >                 (unsigned int)cfg->start_bus_number,
> >                 (unsigned int)cfg->end_bus_number);
> >  
> > -        if ( !is_mmconf_reserved(addr, size, i, cfg) ||
> > +        /*
> > +         * For firmware from 2016 or later relax the checking and also consider
> > +         * MCFG regions in holes on the memory map as valid.
> > +         */
> > +        if ( ((year < 2016 || !is_memory_hole(maddr_to_mfn(addr),
> > +                                              maddr_to_mfn(addr + size - 1))) &&
> > +              !is_mmconf_reserved(addr, size, i, cfg)) ||
> 
> This comment is half stale already, as "relax" is really only relevant
> to the prior behaviour.
> 
> "For firmwares prior to 2016, confirm that MMCFG is marked as reserved.Â 
> For 2016 and later, also allow MMCFG being in a hole."
> 
> It's also worth saying that this fix is different to Linux's.Â  Linux
> simply ignores the E820 on anything newer than 2016.Â  Personally I
> prefer the more cautious approach of saying reserved-or-hole, but this
> should be called out in the commit message, I think.

I've adjusted the in-code comment and reworded the commit message to
notice this divergence with Linux.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 13:25:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 13:25:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327830.1592552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV84T-00055y-Au; Thu, 04 Jun 2026 13:25:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327830.1592552; Thu, 04 Jun 2026 13:25: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 1wV84T-00055r-7y; Thu, 04 Jun 2026 13:25:17 +0000
Received: by outflank-mailman (input) for mailman id 1327830;
 Thu, 04 Jun 2026 13:25:15 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wV84R-00055j-JP
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 13:25:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV84Q-001bbu-WA
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:25:15 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a217cb8-2eae-0a2a0a5409dd-0a2a4503c20c-4
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 15:25:14 +0200
Received: from [40.93.194.68]
 (helo=SN4PR0501CU005.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a217cb9-672d-0a2a45030019-285dc2447010-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 15:25:14 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by DM4PR03MB6032.namprd03.prod.outlook.com (2603:10b6:5:393::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.14; Thu, 4 Jun 2026
 13:25:11 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.007; Thu, 4 Jun 2026
 13:25:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jmaahrUb9B/52iTEJxuvcViuwFPyiceS8zhELacVxCXy0gDCFIrVqCHM/QrmSjMi+bcThBE6rKlKHivmgXAC45agPfit/A/GSyon7lkGcyQhFDvZfVa1bo0/8MMQ0hFXlw7CL4SNAx7SxlkM+08+yLMee3OLZ67ftKc3sP8Mi35zmC/tGVZvhgSmPyLewHcygyjSrT4CtDHfLy4k2wMYAIX6aNnN7jY6/KI5JZb9QsL5s1Llu/e3b0tzJ6K7xM9pHmfYcVJCzXRq3+Jv4m3370WPld1OaA30kL9+iRDu3nto/EIPO7ov1ldjbHd6PT+7c21/CyuVwcszxUAqpS740g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZniSIW/Rc1/xhhcMTqlySiploY+OrdH6XCa8i6J2iGk=;
 b=tq+/hWq/xAYDHLTm/AEK+70MTWGxp4Z1/YAC4XtRnXxpnwnL6uVKfH5DWk3eqLxqR9GXw9Mf8FTQTCFF3NXkwuPGl42SBiutAScRwDTrUKTqTiyxDs+4V9VO4r98Pc5Xwp8ASB09e/JORbhRVuosWKnMNeLBT4+KVX0XB0uJbV/gCk5e8okllUolFsydkQqiR3YQFTPai8f8JZC+Xp2YOetgxGAQ7yJG90/e+E0JOPyFd4IdDyPA9RwA/QBaoRIGOip8RJ+jBAMitoME9yB7i3w28QtZdQaeF3VnmDHPKVFlUW/xBsCzOtRZQSwYxLJsuijI8e9UwYE/ju4HIwgdgQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZniSIW/Rc1/xhhcMTqlySiploY+OrdH6XCa8i6J2iGk=;
 b=yeuGvXZo+5L/Wt5/1WZIpNx5zd5eQBtSGmDz59RbVXVit4nzMS76S+igAGmqPqYxgY7j2wvcrKolAMIG8s9PwUhSfmWLBoKe6D7q4Om0bIzrlphpeqKBRjsFyHVQXSZbskAgn70t2S0HoNRx00X0CXYWWnx16Z4NRhC2EXpa0jA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 4 Jun 2026 15:25:08 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH] CI: Remove .cirrus.yml now that CirrusCI has shut down
Message-ID: <aiF8tBNVsqRa3oti@macbook.local>
References: <20260604125530.2718761-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260604125530.2718761-1-andrew.cooper3@citrix.com>
X-ClientProxiedBy: MA3P292CA0067.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:49::8) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|DM4PR03MB6032:EE_
X-MS-Office365-Filtering-Correlation-Id: 0714810d-e136-440d-d2d8-08dec23cb473
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|366016|22082099003|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	CX9xZmN27uErCohoTj4Oi7k4rIJckVQSbxONQc0vivEKfW0Q5zmj021UNigbFcHstvdYRpa2EWB3mRftDUmkKRk3TArsp/OUIXWV2vSbZTm0S3yFoP1tOfi+rl2VQOMHEfA30WmCxKD/9moGKTzEiuMceeH0Nza/DnOOLHmZg5aUw2UNDQTsfCzyVQ5gMh5dbGy+o8UgyDTrn1ofnw8MSuFSLZrk23DaPQAEWH2JRKwyw0ZGk9J2bqgZbdUB+fvHrevwGPPhBpCWXSMe/rdv+YGWqSldxDiiCJVHSvx7h2e0OQqAV19b6oGFUNm/3nFtpOEQx6ceJe9jj/+B/LWeOoPPvW0gunN61DdXIsTH3fG5oSqRhMy8DOcuwAX1T8J7JTiCtllT6oLaxTA7YFgMIQQ4yXSc1NJ8RAoRMyoekn1D8Qf0+QANtts+DFc7YjGGb5uNkg+5YnWiki4w9d20ZZGdO7PAX8tuLycY5IRreXbxY/xfM/lHEm2p1i/+Nh39slVGwjWEKrlpKK2hHDGNzpcdcigVgDp+Derres6NcWGEATxZ3aBZePyAWQbW2+bKUh3rQrBYQ5m3v5jZBfxijhxO8txUzuDOR6C5a1KSf0xhQMmrA+tj+pm+0AFI69GVaofqzcod/Uzz7OfOmenbEmXa8vFoU67epsOxktsZdfZ4lO9NWs/MrfzRFGCcExMN
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(22082099003)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R1RrT1BlLzE4WkN1ZDJJS21CSUF2a2hCOTlNZS95OUdRdXlRVVI1eHhhMEVK?=
 =?utf-8?B?dEh1Sm1Ra3EzKzEweE9KSFd4TzkwUkN4YkxhNUhDMkZjeHhwTUIxUlArV2J3?=
 =?utf-8?B?QU44MVpTQzlBUSsyc2tSK2N2SHJsdHFydGQvd05iUHJ1YVJPNFgrN1VWaDZk?=
 =?utf-8?B?SXVVT1ZQekhmQ0Ftb1crdDk0M2xKYTZyRFFiZHB0TnVYeWtZSVRVM2Z3Qnow?=
 =?utf-8?B?dTg4WFlseGJ3b3pKaWZqWnM4RmhOU3hvS3cyZFQydmFDZVY4clgweGdMSUdX?=
 =?utf-8?B?QkhsZ2Z3SjNrUjRMUUphMGlhM2pMY05jK0w5QkhaNVJ5YjBiZWVxTU85S2Z6?=
 =?utf-8?B?MmVUOStHWUJwK0pybU5NK1dpR2hJdnByRm5sL1dnSndDekhJelVaVWZmWmVy?=
 =?utf-8?B?TU5pOGxlK2JyTERrNlI1U1RWMUJCNXl3M0RUT1pSMUtZbFlwRk0xMWZONXpk?=
 =?utf-8?B?eXo1MXdIbFNWbVNDaEZRVTRkd3FYOTV6QTBSd2NuYXpCNHVCZFhOSERzMU9j?=
 =?utf-8?B?YTVJdWR1bTBTWWIzYXFoVUliN3VobHovQnY0NSszNmtpdG52bDRid2p1L01Y?=
 =?utf-8?B?Zk1xVWN4MnZGQmM3SlNBeVV3WlI5WGJla2ZPQi9JVjAzSjMveFVrYW94QmtJ?=
 =?utf-8?B?YVd6eTdnMG1oM0FKSkFJM2VhL3BsdEExUVA1K2VYdTFlaTlSSi9tdm84Rm5m?=
 =?utf-8?B?ZUhaTWNtdUxQckg3UTRkbWpHdHNBUng4NWIxaWg3dWYwSUlvNFNDWkxQNnVH?=
 =?utf-8?B?eG5xMVRFWmVOQitiQ1daWnhXR1R3YWRXSjh3RDFCanZJTk92UEE5TGFxb2Zy?=
 =?utf-8?B?UjhNcjJXRUdVSkhHaVU1TWNyOGttNUcxdHpOdXkrKzI0OG42TGR5OUk5ZWxs?=
 =?utf-8?B?MHRPclEvT3pVNGE1RjUzZ3FJT3hXS0FLWnRNbElCazBWTVd1QS9lbysycHkx?=
 =?utf-8?B?K1kySmNNSXVyL2FGdmxNM0xQdDUzS2xKczFrTzJpTzVPczZ6R2Q2NDd3RjUr?=
 =?utf-8?B?ako0UE0xbVViZVc1aUM3K2RXTVdOZU5qYWxhNTNLaVN3NTZSS25SWTNXbGlF?=
 =?utf-8?B?aXpsYmZxL25UYlhkM2xnek0vQldqSjRQZ0twRW1TNDZuM3E4WEY1SlU2dktM?=
 =?utf-8?B?NTRkNUtXOUtDTjd2L2tzeldkbllPamkrV2c3dFJnUWNWWVlnRnhxTW9XNlRM?=
 =?utf-8?B?VXRUVUVYVmxOUUlKWUMwaXBHYktrc2E1QnNYdUZwVG9LQm1zQUNXUUdiajBB?=
 =?utf-8?B?Q2JacG5EVG0xZUdMTDVTeUpLYlZ2UVR3Z2NNRk4zUUYxZFA1VktVVWhSV3JM?=
 =?utf-8?B?MzYyOHd3TWZLOGdIYTNYY0ZvQTYvQlQ3U0V1dU9lQTlmOVRvSnhISSt2NDdB?=
 =?utf-8?B?b3BheEpremUwRXVkV1hlLzMrcWVEb3ExZGc0SEJWUUxRbnorZWRqZXVvSXhQ?=
 =?utf-8?B?M3paT2xMc3lVZ3J2OWJkQ1FiYXc1cW9VdDBLcG90UnNGS0JqVVRnMTZ2ZnJv?=
 =?utf-8?B?bkFoeHFXMEd4MWNOWThadzg4RUVwTS9CZ3ZZd0pDbEVHMk5YdlNKanlSRk9V?=
 =?utf-8?B?Unp2cEgzWHBjUTVRNktVTmU0NWdBTk5aQ01tZ0RQZml3OG5zZEJtbERPakw5?=
 =?utf-8?B?bkxaME5Qd0ZET1M2aHl2QUJ3S085RjFRbzJCOGw5SERDaG50RjhLMjFsZVJP?=
 =?utf-8?B?Tm1yZDJSVGhlTEZ3eWxrd1FQRWJXOXZDbE5zN1g0c1Q2S2tBTVRmeDM4RmZX?=
 =?utf-8?B?Tzlwc1hUamgzUVh2OGYwdjQzQ0hZYTZzZmtyVFh1RlJHZkMwS0FZQ3Z2b2RH?=
 =?utf-8?B?Znp3d3pTUExuV2NvL21RejJ4Y0h2V01tbVhtS0thbXkxTnhXVGlUV2JDeita?=
 =?utf-8?B?eVRSMlkvOVBpVjlmbVZLVm5lclN4c2hGVmE0VWZaNjFTRVpBTXZHbzlqS0Ju?=
 =?utf-8?B?V0U3WGFqZTRJZERPUjRjcC9nL0hDNTZDeXdseDQyeUpIZDdYTThHM0hPeGx6?=
 =?utf-8?B?WUJ1ZnlGVTRZTXlFUTM1R1dyS0MyRnVSd3BkeXdHZDhCekd3WUtOYWdic0F3?=
 =?utf-8?B?SjVQUVFKSXpOWEEzWmcwbGcxa0xEWjg0SmkvRkVCZUhndEk3RWFIdDFVZW1n?=
 =?utf-8?B?OHpkVVIxSmtvNWoyTHR2dTNRT0NPbWgycjBsREphQ2d2MDVKVGxnWG80c1Vw?=
 =?utf-8?B?dnFVMWE3bTNGSlpQZ3I4ZDN3US84a1UzaW5FczNKQ0V2Y1UxNjQ3R09Kc3do?=
 =?utf-8?B?S3Z4V2dHVFMwbngrcU5uOW5oV2lPcUtUOVdjaXVQejU4N0ZVYWtSMUpMYWFa?=
 =?utf-8?B?ZndJNkkwWEN5Z0F6aDBOTTZkWnRDRVpaWXpYU1NMNSt4bnhjNjVIZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0714810d-e136-440d-d2d8-08dec23cb473
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 13:25:11.5652
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Oj98Pnaj9MSDdf4/1jqlXWNUeWg/ALJ9hqW6rQB6Xt4N9ngmN4JtorPY/Ptct8dp82Gt8122SYcYGIrKhkHB4Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6032
X-purgate-ID: tlsNG-33051d/1780579514-37B4C938-7270A5D5/0/0
X-purgate-type: clean
X-purgate-size: 211

On Thu, Jun 04, 2026 at 01:55:30PM +0100, Andrew Cooper wrote:
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

What a loss.

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

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 13:25:48 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 13:25:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327835.1592560 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV84x-0005bt-Nd; Thu, 04 Jun 2026 13:25:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327835.1592560; Thu, 04 Jun 2026 13:25: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 1wV84x-0005bm-Kv; Thu, 04 Jun 2026 13:25:47 +0000
Received: by outflank-mailman (input) for mailman id 1327835;
 Thu, 04 Jun 2026 13:25:47 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wV84w-0005Zy-TI
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 13:25:47 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV84v-004cwE-Uj
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:25:46 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a217cd4-5cb7-0a2a0a5109dd-0a2a4506a250-12
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 15:25:45 +0200
Received: from [52.101.48.20]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a217cd7-7371-0a2a45060019-346530147b28-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 15:25:44 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by DM6PR03MB4972.namprd03.prod.outlook.com (2603:10b6:5:1e4::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.11; Thu, 4 Jun 2026
 13:25:41 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.007; Thu, 4 Jun 2026
 13:25: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hyKruJQkKEBoceb+Ut7kHnUgunktRr4YwEj6t99REMYeTxyo6KBptgOJucych9H3eNYh5kRavVcOswm1gDJVKdTnKuO8siyeUtSRbR+qJ7prXH0uYOiQQmE1Ve1Vi61V/qLz4IrPjly4HMhESBNBvToTSZvYd+bB59j5i9nLqZk36yuNNveLPtHv3q/lS4yrwoc+aPuUGvQejjZr7gnmZO2o00HzOUXwe15Sh4ssVu90JXt56Mmjah1D8Krm+bZ7RmUW+7eYLLsyncMEvekahQLUUDcNoLPW4gI+5Z9kMpz7Ll/io7RnmLg3P0ZGVMIqyxdeqFIrApTNjDQmERVizQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mI6Gl3mQTNjJOc5YuzG73fQwjes8R0Abb4hxfnCCHaQ=;
 b=gP/GkWKxuntaLVZkmjPd5xqlN8B4Gi+4uYQ7/mT8vY6HUB0JZwTzdE0xKZ5T1zF88s1LBt4UjbACXfsY1KxM+5bGxsFrCvY1OopXRFjAsMi/15w1OR+bZQ1tMBOZL7ScYvVmjuuy3wI/K7oeMB/6DTeiM2q0KUENwXlLGYyl9RfVhNFJS7wsPXkppx93138rPXSb1XLZtCtg1UFhkm94XOCjfd+iggEZeuuJP3ZWoQ+w3Ah1dUJM8pmQQ9NqMsgN+hOtZ7RdJgwyQBCzw+vETbzUjKvcEgK3PlkE8y2hOClnWy9NjS6LEV7AoYswHJ4GNsKcQ6o7HnLzHVcbj1Bh9Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mI6Gl3mQTNjJOc5YuzG73fQwjes8R0Abb4hxfnCCHaQ=;
 b=PWx3q38utwSgGYjuTlashUhayDwqUo3D8cJp1TrnLW8hDtpKT7TLGOtchlJehyzdcKOcJfubjo1up9TZrBSbolwOZ2vaCg4K+VISJ/XAR+mI1FQ//BJ0HbWIX31W4BvHy8B/31KLaEQombKXwNpOSnqXJCjONEyioBnPxJ6CIUQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: [PATCH for-4.22 v2 0/2] x86/mcfg: relax checking of MCFG position
Date: Thu,  4 Jun 2026 15:25:21 +0200
Message-ID: <20260604132523.95125-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MA3P292CA0039.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:46::8) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|DM6PR03MB4972:EE_
X-MS-Office365-Filtering-Correlation-Id: 205faf25-0382-492e-43ea-08dec23cc607
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|11063799006|18002099003|56012099006;
X-Microsoft-Antispam-Message-Info:
	nK4UqjqbgH30LW1d2AT3q0sTKiPC5Ff94wJw8LZGPSOwbkzWK0DiB3Dpkmir5lTeJpEMyZyjmlz49Ay+siXEuZCMA8PtEBsXGUd1nNYBzYyTE8D5VACokSs2lSyamxihJG5doMJr8LQ1ONFhPZqLSv41+k4RK9VcCgrX4YFgfqqclmnHdx6oBgmwaYJT3iWgosUvxbaW09Z4zFh7ElAT4nyWwj9Ge0VKc3O0R1i9sRVd1WlXwgPhyQfrgg5t91HlwbZFe3Q3WCTppBxo+Njza5QRv99NK9zQE0McmO30vVo/5r+lyGutYUwetbhUtU3swMoawmPYWh6SJEj9iV5Z3H5o+lXZReu0GASbPq0lzKlu9LzwEiy1QP3GNYh91qAreh1CuSAxV5HaZ3WlzJophcNtTU+9nXFHigi3V1wkFsNgqvM6ofic77PhEVxY8MVOCBHTOF2qNRaCvdEDtiDnSXpZrHw4m5uyr4QmqGc7Q1cpWnHpyBmrWvo4dnEXSfFyIFHoKZF2OqFaVl73txgxRydYXfJywAvck220k/xaSqDvi/Lw46dsd9UCumjOmL2y3GGeHDiLTr7sZ2AUod4eN2cc8nAiM4Mkv1ryxtQzZqdumzFRbLoI+4N6HcwQYPXFWxJvXwPq4I6OKae2fD6hR77nEmfQUSQ2iDCuy3Acjl9ZfNYE4W051XA3PwlKQ+7P
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(11063799006)(18002099003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RVpGbGprWWpkcWx1V1lidzV5cW85azl4aFdlejEyUWIvT3JVVUgzMjVIZ2FI?=
 =?utf-8?B?SWQybU1XL3BSb2pEVjVjVE1lMHh6TXlKWC9DWjFzNUJVcUtLdTBmY20vekJ4?=
 =?utf-8?B?YmUzYlpBT0FXdDJRMHJ0bGtYWDR6aVZBTzFjS25VbGI3Y2FwMG43RHFvL3Qv?=
 =?utf-8?B?Z05DaDF4R1ArRFNKUE1CQTJHWS82MHJzclZqRmdqL0hJU2Yzckh4TnpKcFg1?=
 =?utf-8?B?cWRPU01JaWt0b09OOXlBN1JuaW8yajBzS2Y1WXNyTGtwemxKbkpUUDNJVlZZ?=
 =?utf-8?B?SUNueDNiMTl4NUpRbHg3aUhTc1dXcitreFh0RFBtdWpKYWV4Y2hiV1d1RFc4?=
 =?utf-8?B?ZnhBM2luRDBmcDV5SG40TFFOTS9nYWc5aFI4NVZPWG1hT0hqdzNRNTFwNGZU?=
 =?utf-8?B?VWh0YjhLemNFWGorVnZ1dmFYYVFTVll1RERkc1FJNEU1VHlrUUQzSENsSHpM?=
 =?utf-8?B?aElNL3JRckNGTzJSVm5HOEdJcmhwVUpIZHVUTm5JM1IzcUNaaUJwWFRZTkFZ?=
 =?utf-8?B?YWpidVErNS9ZYmNzbENpNjEybzNKQzVXYmdpNVhWditEbE9zOUt2M2thWHNV?=
 =?utf-8?B?b0plMU5ORGdEZU0vOEhnak04ZzY2ck8xb2liYzV3WnN5TU5vQXVucVV3N1Fa?=
 =?utf-8?B?dmh6R3Q1TG80UWx5OFhzSnVwNG10UXFoQktPUVJ4U0NiSUhFYk1DUFZnTFl6?=
 =?utf-8?B?aHdaNi9GY05nZndNNVdvc2FvanRzVXdVUUltakRKR2d5QUhiQXRPTzZXejNC?=
 =?utf-8?B?QVROaUNRMUQvREdRdlg0THNRMlk1U1V3SFBSOTF0Rkh2QmgrenNxdVVLWEtR?=
 =?utf-8?B?Zm9MUEdndW5rcGRJMFFuMVA1Umh1MlpBdGFLbURzRlJBZVJpU1QyckZkcVhG?=
 =?utf-8?B?UG1sTXpLeVdnWGtza0E4bG5scGdXVHBPNm5WLzdIUFNFVDlTMUUzWUxhQzMv?=
 =?utf-8?B?Tkx1ZFRidzNwM3VMb3NPRXRuM2hSVHhsYnR6Z3Q2NjkvcCtyMitRb1FkWE1v?=
 =?utf-8?B?b0JabVNwOTZqdGRJRG5PSExYRXBMYzhrdm85ZEFGb2Erc2VwUHJRWFJlWkFh?=
 =?utf-8?B?SFg1Ym1INjZSbkVMaUVqR3JBNkJjeHhFTXFRdDJVWnkxWDB2dWNDOXJpRm40?=
 =?utf-8?B?V1lXWXZkbThWazBtUzJzRDlwS2ozOFpqVnYxejBnU2J5QlN0d2ExSVp5cDQ4?=
 =?utf-8?B?UTkveVFJTExCOGpNK3VKWmorTHZuTzA5ZWphNG5pMmNGVTkrUVRGakt1dDRK?=
 =?utf-8?B?b3ZnNURYWThvMW9INGd4R3ZxRFhTalhRVjA0VnJ6ZndEUCtsWUlaUjRDRFA4?=
 =?utf-8?B?b01QK2NkYWtNOHBUVmhXMlFualVZYWIwaDcxVU85djErQisyUHdOV0t5Ti9O?=
 =?utf-8?B?L2hzR3lnUUNjMzBQeVRoMzBtWFkyazVDYTJWdjI1alVoRHlYUFVESkQ2TGdk?=
 =?utf-8?B?b2dsaS80K2g5bW9tTFZCMXhOa25ZV0hqUklMWVpKYk10a3E5bUNYMUdGaXl4?=
 =?utf-8?B?TFNHZ3F3aWpNNW5GLytwY0NrSWZyc0E2cHNqSStNRE9mY25FM2NVTyt6bGdO?=
 =?utf-8?B?S0MvbE92SUxKdUhXeWpyVzNwc3IxeEJSRkFOS1RuUk5hLzFOQWR2U29IcThz?=
 =?utf-8?B?T0puUVBNZzk4a0J0UTV3czl2V3AwNlNrMi9RbFhKLzI0OXFhUWc5M0Y3VDVN?=
 =?utf-8?B?WTNCRStKTlRCZFVRQ0xoRmhKZXRteDlXQ3d0RVlKcmFEcEpla1lGY2ZKd2Fp?=
 =?utf-8?B?bDlCY0hVYWdVZ3BKbkZkWWVjYmZsa0UwQjFpRzhtNm14aGY4aWxWbXN4UWpJ?=
 =?utf-8?B?YjhvRmZtTThUYVVoOWliaFlyeUhaVENnSGgrbjdCRHg4R3RTT0xBb2R0cUdo?=
 =?utf-8?B?WUl5d2J4d0JuYVJjT21NOW9QUDJUUUJDWDVCVTE1REt0ZnFhUE5xb0hYUUxY?=
 =?utf-8?B?RTRRekM4blFsWUZFQmwrQXJTdHU2ZkRyL0xZYzVEWW1FWVZXSndQZHpaRlJJ?=
 =?utf-8?B?NkVZRFhvMmMvZlVzMkFwZkxYSFVpV3cyeStEVDg3YnlPZ1d2RVlzUVByOWVQ?=
 =?utf-8?B?Z0pQVEorTWtlT0QrRkNnbWN6dVRFQmgxNkZMZ1RFRUw0RFFGRFZGcVBzUlRR?=
 =?utf-8?B?blhFY04vWXN4emUvYk1DSDlrZjEzOU10VzdZSS9ReDhvelVvL2hqZzg2cUgz?=
 =?utf-8?B?WWl6OFkxR1lUU3RLZVBRajVGR0NxWXhXUGowZDF6bi9XZy92QU9xcWJhd0ZK?=
 =?utf-8?B?SzFzeW5keTRQWTRvNmZJOGo1ZWgxVW5CZWhadW9aSFlDSHhsNEpYMVlheEU3?=
 =?utf-8?B?MW0rOFBMaEVKWmsvcEVxVnp6cE9sb0piUXVyY0RHRTU1L2RXMUhJZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 205faf25-0382-492e-43ea-08dec23cc607
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 13:25:41.1930
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xEx44s5T1cKYK9jVwygjR+CPHR3lPI7Cj+PmYSRKNj8kbyLXJ8bvGyjXRZZXCwlV3cJv5eSzFkNlY/axrhuRsg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4972
X-purgate-ID: tlsNG-16d1c6/1780579544-8777FD75-5361C7B9/0/0
X-purgate-type: clean
X-purgate-size: 416

Hello,

First patch is a trivial cleanup of header sorting, second patch is the
real fix.  Possibly something to consider for inclusion in 4.22.

Thanks, Roger.

Roger Pau Monne (2):
  x86/mcfg: sort header includes
  x86/mcfg: relax memory map checks on newer firmware

 xen/arch/x86/x86_64/mmconfig-shared.c | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 13:25:48 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 13:25:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327836.1592570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV84y-0005pm-UU; Thu, 04 Jun 2026 13:25:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327836.1592570; Thu, 04 Jun 2026 13: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 1wV84y-0005pd-Rq; Thu, 04 Jun 2026 13:25:48 +0000
Received: by outflank-mailman (input) for mailman id 1327836;
 Thu, 04 Jun 2026 13:25:47 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wV84x-0005a9-Jv
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 13:25:47 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV84x-004cwE-0B
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:25:47 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a217cd4-5cb7-0a2a0a5109dd-0a2a4506a250-16
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 15:25:46 +0200
Received: from [52.101.48.20]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a217cd7-7371-0a2a45060019-346530147b28-4
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 15:25:46 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by DM6PR03MB4972.namprd03.prod.outlook.com (2603:10b6:5:1e4::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.11; Thu, 4 Jun 2026
 13:25:44 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.007; Thu, 4 Jun 2026
 13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=tpC417O+ykgtCZo2iFwWmikIHRa34NdQDH6fDvacp8brJ1k/tebJG9V+RfPh/z1JG5tnMPMBf39uF5witpma7qKX+b/Xviy5MtFvyVSmjr8k+9xtZjmqxZEZX5gqb4/Za7QKhFEbT/YBmhYOv/NsosbtcvDNAmKui9Rej/ab51jQXyxkNXT4mFUNJD9Ocj0zqn/GdCnHC7VkFFnVXkQgvh0IA+ukeXsDrfq/ka3XHIDOEyQgIvBZp1MNWDbbaR4ISpNVdQ6dkRcny82t/lhdupG582lDaP9THzP8SAZd8oWa0y20tSpoOIu4/XpHAzfnm+43yzSYBAnSGYi0O2T+Sg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mSlZ/VR4yAILyuWXrXM17N42F/2bZkIvcHpebi1yLzY=;
 b=SJL/0iS4uxIEwCDcnjHiiEhhcQtC0Z810nm6uQY0z1B/EoPySAQYug3W7ypJUdpx+aGadimvFYcun98s3Ryrh3qUucrKvYZ27dXreelMov6B0IPggrZzYnfRopT11lmJt9ZPm+7lXWVPXrq/DiBrXMEvMmkDR0NMo9lTGjZHPnnnb+W2mUgMdF0YzA7hHzOpzaJZhawbZVz7KCKvaTB9GXSvPQxFGswwOICAflka2ig3B7vwQ+UbDdCRSzlnLvG7IqLx+4m/fCjF00LxStvKokwm9WP8pxM6+VP3uuNSSPhWDrbiZZ9AO5fa1GJDTmVHvWmcWAkdyjf0pzBy9O3h6g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mSlZ/VR4yAILyuWXrXM17N42F/2bZkIvcHpebi1yLzY=;
 b=ALiX7/9nBOFNn/c4DunHtTu26BVKO/ht9ZtCO7YKM5XAU+8sFRktGsDx9UWzTe1wbF7+q18QUrkt4QLfs7dTIIZ856vDgM1v53w0elgjUD1foCvISCj7yiHSj4mf6mgQb1VdEKMZJdgc+Ls+5SKxinrGYvYJiMwc3cOvaUoDPtM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: [PATCH for-4.22 v2 1/2] x86/mcfg: sort header includes
Date: Thu,  4 Jun 2026 15:25:22 +0200
Message-ID: <20260604132523.95125-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260604132523.95125-1-roger.pau@citrix.com>
References: <20260604132523.95125-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MA2P292CA0011.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:1::15) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|DM6PR03MB4972:EE_
X-MS-Office365-Filtering-Correlation-Id: f15ae204-d5d1-4b33-3f5a-08dec23cc7f8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|22082099003|11063799006|18002099003|56012099006;
X-Microsoft-Antispam-Message-Info:
	JXkiDeopSXlb4IZzPpYRhSyZargxRxOMT2g+7ViKwlZrlAHJaqrfvw/Ot2VrkE6XIpGtg2yrBdFEbKUwIaTLnga0zVsPKWGZ6cB3KSxEetfefrZHWAjnM4ggOx7sFLaKUxFNwcq2/IUUnrWVtjU7K4d9RyLgsYE4bKn+rCKmdPvVtxLGLaSerOz1Ink4axnquiD3OhjuEj5TZYOaMGOZX9O1/gi3IpFadvHL6Kh123ZiDizJ9tXCjWQCr1eitdqXyo7iuP3g6K/vaF/HmG7vvJESOi9YRpSg7x9FJ7W2uy0J0OsMTSFU2ENjdX1JmPjlG3ddW6MkTMhdKpqoReAN2FyBcrftQOjs+3huLdhv+zVB09As5WCzr/Ody92mlijUgFBZVo5HT0j84tG/fgeRHIYNQmxhmd//8R8RnXsjmthBLJ5DIJTx0oFhvOHatWzrZ3iMkC35zRVlfbbIG7djnQU699tBkmwZKyzDf2P1YWQYlcnsJBfgSLWvd2mqXZPVPwmg1heYdBmQcsUoKPJM5Z3hFgGYD27Hazz/kzz+K4TC0n/GXifIUgVTwV5j1h8qFSg4Jvt9Orv6IM6c87GrHhQauzrUpsKifpfTlCOxgfCTdDTbb2sRItttAzmhnzGBsGrGmw5uqdQHvYzHwCqIETIpUApburZ2vk8kUstuZrWSBvnMNGvAhhwVv5+nbx6R
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(22082099003)(11063799006)(18002099003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?akhHbU5Kc25ZRTNweDhYbDVMNFZBYUhoeDdHYlNnQy8wRXpEbTUrcm9FVnpQ?=
 =?utf-8?B?dDI5c3Z5dEN3dzI2K2JuTGdob05xZ2Zlc1JHTVNodVhXbGlIcnJBL0tuT2FM?=
 =?utf-8?B?d3JrR2w3c3kxV0g3bDk0TW83RmZyOXBFTHBhTS9QTjFZZW0wcG51QzRxVmZi?=
 =?utf-8?B?bHRCUmFRbkdSZGFONjhQdEFKdE0wZFJOZ2VCREcwUzhuU0tPK0FhNDR3TXBF?=
 =?utf-8?B?YWxjUnFhTnd6d1hRVHdKd1Q4ajVaaFdNblg3eStlOVgrYmdkOEQ1TlN6b3Qv?=
 =?utf-8?B?VUNpOFBYazdCL3BIOGxGYlJFZ2tTKzBUZFgrUU5QT1B6QU9oVXNQcmxFSUZp?=
 =?utf-8?B?R2J3b2xKMXBjODBKdnNFN244VDh4dVBkNmFXZEZnYm9tMWpha0V5ekUzY3hB?=
 =?utf-8?B?ODZDcjBVdkk5NkNXRkpmUFNEckVLaGhvYjF0b1dzbWQ3VVp0NFRZT0hVS2Fo?=
 =?utf-8?B?U0E1Z0lVQUJ6L0VFYmVrRGUxcTN6NVJ5eWJBdDVEYWoyV295MWNZNUtObFI2?=
 =?utf-8?B?UXpuVXVkcmZCdnRUd0FvQ2FVMmJJRitUdko4Qm9aQU9oRlF5ejVsT1JZK1hQ?=
 =?utf-8?B?a2Voc29Bc2FuUjNrVlZLbmNOTXJ2amNHS2FjVWJwVG85MForcXk5VzQrRnlX?=
 =?utf-8?B?cGtVUlYzMUVpWDMvZGc2NllXTnp4YzhobEliTTNtN1pMTjFFVE1SZk02NUhW?=
 =?utf-8?B?TEJMUklDcHQ5YWx0SjAvSU1hSEdJSWZ4TmNhYnp6enROUnAvWGV2ejY1WVBi?=
 =?utf-8?B?S2pMOUlMb3NnRFpud2xuSlJwdTNLV1FIVHZwN1dlcnh5clJRZkRvNjJuMzIx?=
 =?utf-8?B?QXp5eTRXV0RCdk4yYVdlRUJyTnFialhHZWxnRzk5ODM1clFBSFhIWU9VK2dw?=
 =?utf-8?B?TTh1VDYycVp5YVJ6Z3RJbEkycHJKVjdFQ0cvVGQ3RWNsOENtRlRjcGwwNTRF?=
 =?utf-8?B?R0xtM201QTNUcnIvazVHZ0JXOWdFTGxFbGxKMSt0dS9mRTVKWHk4NStkODQr?=
 =?utf-8?B?OXdXV3F1SUNHNEM5bzJQOUIyNklaWXNtZG0zZVVrSnBBYWQ5Ymt2YVdCTDd5?=
 =?utf-8?B?T2J2cDMveGhsYjZCYjZBcUtxbmExT2lHcHFlVVFGV0ZkdlNvWFBtd0pNRWZy?=
 =?utf-8?B?WE5zY3A1dXc3Rkd0OVFHbm5hbGJ2ZUlmZGlhTmR0eFRscmd6MUNRckRqWUti?=
 =?utf-8?B?TnBHeGVFb3dGSXpoV0c5c0MwM011R05nc1BBY21kMnZxT2U0d2hyYVVHa3NZ?=
 =?utf-8?B?YU9telRiSXNuZ0h5TG94T0ltWEhmRHVkVWJNczZUbC91QVk1a2tEalV0SWpX?=
 =?utf-8?B?QjhSNHBRaW53TU9RdVd0K3dKNGlTTloyMU10M2huaFV2ZFJmR1ovem5QVVNz?=
 =?utf-8?B?L1Z0OGlnNCtXUEljMGdjREpweXJhQlVpQW9pK3J4VEZPS2dSY1pxbUQ4VkVG?=
 =?utf-8?B?Y1o5UDZ1ZEdsUjd2aTFxQVlJTEZtZHlBb0UybHR5UXVUUE1GVmN0dnhiN3BP?=
 =?utf-8?B?SlpJbVpYSWFpd0dGTXdVTTdzbk9PNzRzd1RUQkpyRkRkbjFkNnhvY1V4TUR3?=
 =?utf-8?B?aWE2RzJFVURUNHArWU9OSm1OMkQxR2FqWExVNUNjbTlQOG5BdGprSFRBRnZa?=
 =?utf-8?B?Q2JheW5JT2Uza3BxSEpkQjhoTnZvcnRpWWNPWEY2YVF1aFBKUDVPalVMVVRL?=
 =?utf-8?B?dDRLZDFGaWE0ZXJ1eXlWU1ZrMzl5a3BZUmlYYzhvTlNLVXFpcmczR1VwUzRY?=
 =?utf-8?B?VmlmdFIyYnZhZFFOZ2liTFdvZGpleUFmUW1jYXdDeGVIY0dsVVFwbEE2K1FV?=
 =?utf-8?B?S1JhZ2NscDNRV3BxVVVNemVSSjZiTnZwUnQvTmMxQnZodGx3TFZoZ3poUFJ0?=
 =?utf-8?B?N2hOMlVQUkhYVHZDQ3Rka1FCV1lzekRNUzQwT2pLTnd0djdkRFV3YkYrZFov?=
 =?utf-8?B?cEFqSVkxaHUvMEgyL0s1cjdDRE10Z0Q3ZXE0SVFUZFdpUng1VWxSdVNpUncz?=
 =?utf-8?B?T2hKNFRnZUlqVlBGeTVPMXl5WlQrVzA5am9RVHUrZ3VvQTFHRGhaeGZLSHl5?=
 =?utf-8?B?MHduQUFKcFVsTGorU1RPT0NsT1hnZGRsNmZwNWVxa3pYTlN0TkhUSVdTQ2t5?=
 =?utf-8?B?aTlrNmZhdkF2eEVaM3ZWSnZ3SmllMzRGTWZtcVF5Y0kvbGFXeHlKOGRYbVpa?=
 =?utf-8?B?UjFQRmM4UDB2R2h5UVFkYnBoVHJoMkdCWXpESFdYWVYrSnlSYmI1UTdrbjZy?=
 =?utf-8?B?N2F5STRVNlZod2J3SW53UVdGcW5XVUh4dnZGYjhWL3gzUFdRVjBudFNvTGpI?=
 =?utf-8?B?TExuNzRwcGIxRkZwUmZqRzV6dmtyN05XQ1dBbnNvT3FpWW4ydW0wUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f15ae204-d5d1-4b33-3f5a-08dec23cc7f8
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 13:25:44.4372
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UbvdCQmQwt29UmtMowUROR5oDMf4+d+gln9IxpOOC3CF5hIgRn2Y34hilweXGk4cD9IUf7D2h87aGJzdJsfSuQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4972
X-purgate-ID: tlsNG-16d1c6/1780579546-86D72D75-C3397AE4/0/0
X-purgate-type: clean
X-purgate-size: 1015

No functional change intended.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/x86_64/mmconfig-shared.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/x86_64/mmconfig-shared.c b/xen/arch/x86/x86_64/mmconfig-shared.c
index ab082b5f5b37..d0cbc151705d 100644
--- a/xen/arch/x86/x86_64/mmconfig-shared.c
+++ b/xen/arch/x86/x86_64/mmconfig-shared.c
@@ -12,17 +12,19 @@
  * Author: Allen Kay <allen.m.kay@intel.com> -  adapted to xen from Linux
  */
 
+#include <xen/acpi.h>
 #include <xen/init.h>
 #include <xen/mm.h>
 #include <xen/param.h>
-#include <xen/acpi.h>
-#include <xen/xmalloc.h>
 #include <xen/pci.h>
-#include <xen/pci_regs.h>
 #include <xen/pci_ids.h>
+#include <xen/pci_regs.h>
+#include <xen/xmalloc.h>
+
 #include <asm/e820.h>
 #include <asm/msr.h>
 #include <asm/msr-index.h>
+
 #include <public/physdev.h>
 
 #include "mmconfig.h"
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 13:25:53 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 13:25:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327839.1592579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV853-00065s-4t; Thu, 04 Jun 2026 13:25:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327839.1592579; Thu, 04 Jun 2026 13: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 1wV853-00065l-2B; Thu, 04 Jun 2026 13:25:53 +0000
Received: by outflank-mailman (input) for mailman id 1327839;
 Thu, 04 Jun 2026 13:25:52 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wV851-00064l-Vj
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 13:25:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV851-00A3Zl-Bj
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:25:51 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a217cd6-e002-0a2a0a5209dd-0a2a450bba08-24
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 15:25:51 +0200
Received: from [40.107.201.21]
 (helo=CH4PR04CU002.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a217cde-212f-0a2a450b0019-286bc915a553-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 15:25:51 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by DM6PR03MB4972.namprd03.prod.outlook.com (2603:10b6:5:1e4::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.11; Thu, 4 Jun 2026
 13:25:48 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.007; Thu, 4 Jun 2026
 13:25: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=VCE/yoP+rh9H1nPYbHAQD9ux20m/LkXIOB3eFIuRf4GTEYJzXMJvYYaqXOGR1wEgtfDLO+hSCTc/AJ+DB8ICwKc3iFgbej4nhMAhA5kjb1VWdecS8WpEVm0SqclZq6p79KSHmckQnpROlHLGI5FdcNvBC/5XA9fMRATeMAxjya8LNiLohjBkF3dl2FRmUzvNWNIsiuO7eSGEiM2fYAFYJvxyK/DwCYQzKudtTRIzl7DuC2TPOh0yri/EohUKq+EKIFoPocH23isvZv7+GhvcvslihKmlcukrhppEZbMszMpGlW82OI17mPBfGBBdYHv2JFqEeWD15JUdo6SByuGevQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JAhp5e9/Pg2Ay82YyiRcMlxQ42HcEVFGd+mBCeZpWEo=;
 b=WvLRyWMNWC4QX/I6RRS3WC3HWVB0RuL78v8MMYqX9PnN/wfBpRCFxpCoJnEDs6xVBHf7XRuJx64AEnCFzneH05D71rb4eFD7jKzAfvpqojYP2DEEX5vP4mqbHuGiRYVmeQ3N13PEOLA+J/yh5Ruq5CzO9Y3gZ3ZjCXymOsI+4x3siMGNEKy3h+rb2bhy6n4pRGxvpeEbc86J+OC51+NBABNSeZMyTplVu9XzY3gfovCegJ5d90e4T8D716myljeproyvj+zJVnjNMxzoNkxp3OIPsovk1pVOwMjmwy7Io7N2EMjajiAbOgw3y2+HodtdedRY/ZZluZIfqwhpn8O6fg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JAhp5e9/Pg2Ay82YyiRcMlxQ42HcEVFGd+mBCeZpWEo=;
 b=zSY6jQLwQz+SoedADyPU+XDcUj+OKolTl01bciMn1DnpUka2DgBf3yaWenNdZH3gQD6YCCWaup7pnWki3g65i7oeSetbmcFG7NE5h8pTzj2N5bqzMVUD7KByHO6lKO/RRY1evbpCN2AhRRvikYbuSHdizdB5HbUqdq/U2poIJdE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: [PATCH for-4.22 v2 2/2] x86/mcfg: relax memory map checks on newer firmware
Date: Thu,  4 Jun 2026 15:25:23 +0200
Message-ID: <20260604132523.95125-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260604132523.95125-1-roger.pau@citrix.com>
References: <20260604132523.95125-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MA3P292CA0025.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:47::15) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|DM6PR03MB4972:EE_
X-MS-Office365-Filtering-Correlation-Id: cd74b709-2e99-41d6-5a5b-08dec23cca39
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|22082099003|6133799003|11063799006|18002099003|56012099006;
X-Microsoft-Antispam-Message-Info:
	NAqGTpC80Y54uZb4k+Z9q/HV7Ann3PP402QrV2JsBT26uacSeebO68ftmO7+Wf8HmC8kboHrOtGM//WomJme7Zbvq6P+Paoqmo3oQ2wdgvj803IJ4sF5Z366aKfarVch9Vy+H3gy//2svDbiuS3DydPwxQ1R006/mGpbJoRP+yCHLAw6i8Rs/kmuUa4AlqyKnBwSPp6ZnaSpg3mOSNPPA0JeIMJsWv6nFs4+ISo2i2sXmca9pniYBBmADgt/vx8WvhCnFWQkuDGteXIZWycBxDRriyqVEZqtcMWbJ0Ro0PCuQI2B4FFlTMkNWBL6I4vX/UFnyxTMx6LZiTXyRdJmeEwNkXDWLFDcMlXZs837AWZWohvkjb2rU5+xfPFffMY/eExDU4Eovfg6T8alw9BWMQ+9nCjXAkhQD8GW8mKfZwp6n9/QnHb0mOrq5Mp7jno4fnkb+c3bVRaIhAYDuZzY7gcwTBPcZiRMJtCu3Z+oPJQ5TFtPKJ3rkdyXWhr9jY9We5x0Ta5uYJ3OI1SA92eJ9pbwwGiyxupbLoZPxgUNhDQF5mwCBraPYhnGy63805Lrmr0dolUHjklFVFrlOEtomqHs9WJ3d89r5kJ34VKbICINpBZdvHqlVoOVBTm3bfzblxXY9XJTfe0t6OPA4+r1Qr0mIXV4oaJbd8mJ6GvsyQ+/J1gMu6JuownITbK/ZIWs
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(22082099003)(6133799003)(11063799006)(18002099003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UFBCcUI3M2RueUJncGU0MWlnQ3lwb0c2TmpsWm9rM3M2OGFzbEE2emVSczRx?=
 =?utf-8?B?NW9VZzFqcmkrbmM2MDErTCtCeXc5ZjhwZEdvVWhmdGZVSjNTREMwRjB6Z1Fo?=
 =?utf-8?B?bjMzSGg3YnNRMlc5Q2dzUnJDTHJrdVZMS3cvdGw4Rkl4cEJ5TTlJcWRwcjJP?=
 =?utf-8?B?dGZZWmNGOWd6OUJpNDJ1RFVUL1VWQm5PdERnbVVYOFAySVRZckxHYTJHbGtB?=
 =?utf-8?B?T3Z4b2p5Mld4T2s5c3pWNWtPK1R2MVl6enMxS09saGtwT2ZyUlJ2RmxTb1gx?=
 =?utf-8?B?K0ZLd2w2Y2g4NkQyS1F1UVl2SFR4UEllUXpBUVlleHJTSGdmMGJadUx3NnFi?=
 =?utf-8?B?bGoyR0E4bCttcFlxZnk2SEI1bzMzNjNVN2JDemNyWDFlMUd3MFlkNGtCMDJj?=
 =?utf-8?B?UXVFaGNRNVROQkp4bGEvankvOU04SmNDK3R6YzF3TFFuam5oRlllZVgvV3Zi?=
 =?utf-8?B?SjJSamVvRHA4Tzk4Yk8vN3d1bzJyaDFXOERhdzZIZTl2TEtZWStROUx2Z1o2?=
 =?utf-8?B?UElIN05LYUx0dkF4VXNZSkEwaDh0VWEvZkhVQmNWU1Jlb3pyOXUwQW5QRGdI?=
 =?utf-8?B?UjJvbjlBSm0ranl5alFMYVQ5cVZIdSsvcnVzaEwxL2tXcDZpTmpreCtUckNK?=
 =?utf-8?B?MFNmcTA0S3E5WXFjRXYwalJENGtxK29UU0N6TnJwdjhOOElhR1FTQXZuRDF0?=
 =?utf-8?B?T2kzZzdzTTlDNEJVU0VZNU1KV1JlQ3F5TzNSbE92VGNwa1JJSnBqMnlkK1BZ?=
 =?utf-8?B?aHpYdVQwZVRqZjhiM25zT1ZEQlhCTlpnUDNmYWtmMTUzZ0pPbXlvamp3N1B5?=
 =?utf-8?B?K2RUVXAwK2hUYWZMNStkaVFWdUpSMjcyK3JjVnZSREJIZHYxbTd3bHJjYlBx?=
 =?utf-8?B?OFl0UUxmRUxRNlJTSy94K2xCRGptaUhNSXozTmFpWDl3aks0Y0lhd2ZFV2NV?=
 =?utf-8?B?RTdCMk1ZTWlJcUNDMjlGTHV0SlhHM3VNSHRhWW51VW5hSVdrMmtqRFZBSzBu?=
 =?utf-8?B?UWJjS2s2eWlxVjVqVEgzcDhwUFpZTE5wK2g4b2tId1k3SURydW5JQnZJWVlG?=
 =?utf-8?B?SHg1VkM3cDU0OUJ3WEhnajBYeXk1SlhUa1RsQ29aY21URHlmYS96RkQwdVli?=
 =?utf-8?B?WnpGTUlpbHRDWEJyOHp1OU9JcER3clBKcG1IbXZQcDZaU3ErQWxucisyMnJB?=
 =?utf-8?B?elhmTTNOSW9pckROUVVJMUJPOTMwU2ZRT1I1RkRjR0xsUFV5c3JJek0zUWlZ?=
 =?utf-8?B?V1RzMWtBZW9mdWhVa0k1aUh3aEVRZHNid2lVQTgyUFcrVG9GYVdrMDhMZDR4?=
 =?utf-8?B?bmpRTFRsb0pyd0JGQmZ6N09VTGtBaFVIbjFkNWhQZ2lXTXlwMkZ1K01meTg1?=
 =?utf-8?B?MW5sUWxtWXBrdGd2d3l0UjJWWW4vWXBYT04wVDNpdkhoVEtoZUp6Q3NBMzZx?=
 =?utf-8?B?bjZ0aDdCZjhNbmhwTktnMTBtNHF6SGxheTR4djh3akN2c2h0eVEyY2FVTFpD?=
 =?utf-8?B?VDdFMm5vWUNiS2ZrMkppbS9QalN5VWlQQld2U3A5Rm1vcDcrTVZLaVZoWkJu?=
 =?utf-8?B?MzBBMjk3QW1ZUE9zc1B1Um9yRVkvazJ6anVQOVBTNzBoQ0ZVMEwvMWNoZXNi?=
 =?utf-8?B?RGZNZ3NCYjZ1cXZIZWVHa3hXWUlnZWkyM2ErTzEyUWRWVFV6T3NYR2xzNjdF?=
 =?utf-8?B?RnBqeVpIT1hNSUNhZk1TYTZiY0dSQmRmaGJwT1RKb0VPNkIzVzF2VkY4RVNx?=
 =?utf-8?B?VGlnMldYRDRhNmZiQVJsTHg3bVhaOE1NSDhFRTRjVDBJU2tUN09KdWlzOGpJ?=
 =?utf-8?B?dWQwdEt0UWVHV2F5Tm90RVBqUjc2dWs4aVIydHRkbFNZbmIvRERLcjBIZUZZ?=
 =?utf-8?B?TDE1aEwxWGphSURyVHloUUVicEt2MzNreTA2STFrdDZVS2FxeFhGMkdMcy9a?=
 =?utf-8?B?RUdQVHdNcmIvRUYwV1hQV01GZ1UveXFuc1RQajRtLzFFUGpoQXlYcldhV3JC?=
 =?utf-8?B?YnBzLzMxRWdlMlNMMllWNzR0OXhHdGd2YnBMR1k5VU5EaDJvQ1B6WHVVa0dj?=
 =?utf-8?B?Y3Z3V3cxZmtqcjJoUW1ibDZNM3pRTlh0bWREemVHZ2UweEc5VnhITWthUTEy?=
 =?utf-8?B?WFhFVXI3TW5XWEhpc3o2M3hMcHBoa3NPa2ROaG42c0FKN2Q5REZPY001MUYr?=
 =?utf-8?B?QkZTVGtoNzBOUXUzN0NSYytZOGJvdElaWTFDZDNKKzBqZGluT2tDUDFsVjZE?=
 =?utf-8?B?NitWemtkUFFUV1ZtR0lGaWlWVDMvUTBWMEFrd3JRVFVoUzI3dEVEK1VjUlh1?=
 =?utf-8?B?citsd1RIUlZyWjVod21CK2VoQ05sUW9ralg5bytNd2dGQU9VUmxqQT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cd74b709-2e99-41d6-5a5b-08dec23cca39
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 13:25:48.1571
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 04AgIwYlwyfBEEgo4TA4Zf5+NC2bPTqBiVIDFPJ0n7CJaDyN628J4uIG4ubHncFZ+8GddUgPd+5MsUmQTv/Ojw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4972
X-purgate-ID: tlsNG-42698a/1780579551-1B175F3B-90F398FF/0/0
X-purgate-type: clean
X-purgate-size: 3318

Per PCI Firmware 3.3 specification, section 4.1.2, ECAM space must be
reserved by declaring a motherboard resource, but there's no requirement to
mention it in E820.  The specification additionally states that: the
resources can optionally be returned in Int15 E820h or EFIGetMemoryMap as
reserved memory.

This fixes an issue with detection of extended capabilities when running
Xen on a Lenovo system that doesn't list the MCFG area as an
EfiMemoryMappedIO region (or as any other type) in the EFI memory map.

The more strict logic was introduced in Linux in 2006 as 946f2ee5c731
("[PATCH] i386/x86-64: Check that MCFG points to an e820 reserved area").
This was picked up by Xen when MCFG support was added in 3b35911d709e
("Enable pci mmcfg and ATS for x86_64").  Apply an approach similar to
what Linux has done in 199f968f1484 ("x86/pci: Skip early E820 check for
ECAM region") and relax the strict reserved region checking so it's only
done for firmware manufactured prior to 2016.  For firmware from 2016 and
newer allow MCFG region to reside in holes on the memory map.  Note Xen is
still more strict than Linux however, as it will refuse to use MCFG regions
that overlap with memory map regions different than reserved.

When dom0 boots it can prevent access to misconfigured MCFG regions by
using the PHYSDEVOP_pci_mmcfg_reserved hypercall.  This brings Xen's early
usage of MCFG (prior to ACPI AML parsing) more in line with the
implementation in Linux.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
Changes since v1:
 - Shift/adjust commit message.
 - Reword in-code comment.
---
 xen/arch/x86/x86_64/mmconfig-shared.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/x86_64/mmconfig-shared.c b/xen/arch/x86/x86_64/mmconfig-shared.c
index d0cbc151705d..b33e2f56e6e3 100644
--- a/xen/arch/x86/x86_64/mmconfig-shared.c
+++ b/xen/arch/x86/x86_64/mmconfig-shared.c
@@ -13,6 +13,7 @@
  */
 
 #include <xen/acpi.h>
+#include <xen/dmi.h>
 #include <xen/init.h>
 #include <xen/mm.h>
 #include <xen/param.h>
@@ -369,12 +370,15 @@ static bool __init pci_mmcfg_reject_broken(void)
     typeof(pci_mmcfg_config[0]) *cfg;
     int i;
     bool valid = true;
+    int year;
 
     if ((pci_mmcfg_config_num == 0) ||
         (pci_mmcfg_config == NULL) ||
         (pci_mmcfg_config[0].address == 0))
         return 0;
 
+    dmi_get_date(DMI_BIOS_DATE, &year, NULL, NULL);
+
     for (i = 0; i < pci_mmcfg_config_num; i++) {
         u64 addr, size;
 
@@ -390,7 +394,13 @@ static bool __init pci_mmcfg_reject_broken(void)
                (unsigned int)cfg->start_bus_number,
                (unsigned int)cfg->end_bus_number);
 
-        if ( !is_mmconf_reserved(addr, size, i, cfg) ||
+        /*
+         * For firmwares prior to 2016, confirm that MMCFG is marked as
+         * reserved.  For 2016 and later, also allow MMCFG being in a hole.
+         */
+        if ( ((year < 2016 || !is_memory_hole(maddr_to_mfn(addr),
+                                              maddr_to_mfn(addr + size - 1))) &&
+              !is_mmconf_reserved(addr, size, i, cfg)) ||
              pci_mmcfg_arch_enable(i) < 0 )
         {
             pci_mmcfg_arch_disable(i);
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 13:42:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 13:42:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327875.1592589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV8LE-0001zU-Ic; Thu, 04 Jun 2026 13:42:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327875.1592589; Thu, 04 Jun 2026 13:42: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 1wV8LE-0001zN-F3; Thu, 04 Jun 2026 13:42:36 +0000
Received: by outflank-mailman (input) for mailman id 1327875;
 Thu, 04 Jun 2026 13:42:35 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wV8LD-0001zB-Bm
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 13:42:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV8LC-00FQIh-NL
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:42:34 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2180b6-5cb7-0a2a0a5109dd-0a2a4501c1e0-46
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 15:42:34 +0200
Received: from [209.85.221.44] (helo=mail-wr1-f44.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2180ca-c1f2-0a2a45010019-d155dd2ce1f0-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 15:42:34 +0200
Received: by mail-wr1-f44.google.com with SMTP id
 ffacd0b85a97d-45eedcdaeaaso506212f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 06:42:34 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f35133csm16674070f8f.25.2026.06.04.06.42.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Jun 2026 06:42:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780580554; x=1781185354; 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=4Ewh0DZvXzqlRLQq/MQs2pLBQPsdlEdEe9QdmPtct9A=;
        b=koe4YYfZBNoSc+hWzCYzz+fY/MZgR6zsW9rfy7LY/pFrpH54TfdbAjdP0jrpnghfO3
         ui6Ktz8fPRK0hfShN4SCcyubW25o7JlBVDJPoOUGTfLygh6kM54vBYDRgS0DHE3o0lie
         HCaMik0cZ/Kjys/GyBmPJ135pNW4f9LhTZONv9b+Sip+YcA0hZ5poH4rUNKjgq2laubi
         IMMamFxpQSZib4KixMjv+Tw27pFtABOvJyBeBYvdo4pLThGPuDjOMIL4oGCFWG2ulRqR
         S32S7CTaeoRheGm0nJanpYvI9JzN7uKwC6y0HkDnbZT+49vCle9zvSMeAxYnWjDNql/U
         Xemw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780580554; x=1781185354;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=4Ewh0DZvXzqlRLQq/MQs2pLBQPsdlEdEe9QdmPtct9A=;
        b=czxY3kOy6zk0kFuOSN/SAk3qY1qQqnLPodU05w8u4z6m1vUpnR/SjfCouKdp3nJv9K
         VOnlbWY7WYrl6d8vW1wSlkc+0p1Zfco9SQSCgabL0u3/cPxnkGVu424axYtH6eCJnSGW
         0NiiDpdH73/NfH24sDi2I6T8yua/pCHIJ71fp3J0FLSYRC6WWx7QfycYRIPF07C6j5Ou
         t9L8H0yNVZQZlChlKtzVfZqaPAbWSZu0NWpm+zEOsULQCrKKjdwrWWxSQHAUl4GHgBwU
         8pTrDYZg44S7UXQIbAR+YTJmkfLiL4785AVK3Vwv+HYWy3lW8pL1OWz6BEdtAv/kMsfP
         afYg==
X-Forwarded-Encrypted: i=1; AFNElJ84OxrapsUrM+W2mRo0WgfHStont0cS+145+0qHAQO9PpzNcIhor1B0hIWzOje7MzYLPo545OyZids=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyjUEGwRG2FqCTCEjW7M3+aN/Xv0mkMZ86OFnqZwn++/fuyNonQ
	044Brf9G3ghTAijYvLDGWg8KdiQpl+/7+TIzQtatyYcTYu+6kz0xa4Fe
X-Gm-Gg: Acq92OFpbhF84SoXPHlLQ8SNcxIPyVKxRpAkTzU4DpzqvYl4CbNWmd5Slrwx0HuGBXd
	+LwJSEapjFFEQbSJnrbA0LtC1WIdEuSbxwwS+9O76s5yoseyVhFkXy5/Y5ws4ugds3mgsMh6GNG
	AWZxrjCANf0aufgQbCnQ+xMjRB2k3kn0p2Dy3Us8S1v7l6QJlrplG9EGMM8Mf3erbPbTDWXcl2X
	fJqOn5msdBjejmeVwo/em3TsM3v48zZTayTjrxLLpS8BXk34Ar/CAiPyK8KC/6zEZQXMBzeLdXt
	QbmSgGqREVgzgT8Y2DPXT3rk5gXw3eANsY55VWFOOyklzs4uSidhKaascbHsh/252zVjWurNeN1
	FS//dSb2ZoDjaQoMFXGQOfDpCKjdMFpvBcfGM6ZI7bdjrhcdbsmAahu/UMQQOB0xctBYXC+vAWo
	puOTLwrnxV+lunRnJBnacUzPQ6qgQnKJCvlc0GeQyS8DQw8upWWnrTQnQ1V+TgWPwhQwdu+OPWL
	uGOUWnBNVt5A6nIjqjyemNa4fk=
X-Received: by 2002:a5d:4589:0:b0:44e:d7f8:3945 with SMTP id ffacd0b85a97d-460217b5692mr9164326f8f.13.1780580553964;
        Thu, 04 Jun 2026 06:42:33 -0700 (PDT)
Message-ID: <786391dd-f5c1-4a56-8632-1e5f7a15acd9@gmail.com>
Date: Thu, 4 Jun 2026 15:42:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v2 1/2] x86/mcfg: sort header includes
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Teddy Astie <teddy.astie@vates.tech>
References: <20260604132523.95125-1-roger.pau@citrix.com>
 <20260604132523.95125-2-roger.pau@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260604132523.95125-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1780580554-B5947FF4-CE0CD0C0/10/73395122804
X-purgate-type: spam
X-purgate-size: 289



On 6/4/26 3:25 PM, Roger Pau Monne wrote:
> No functional change intended.
> 
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 13:50:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 13:50:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327887.1592597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV8Sv-0003vr-8O; Thu, 04 Jun 2026 13:50:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327887.1592597; Thu, 04 Jun 2026 13:50: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 1wV8Sv-0003vk-5h; Thu, 04 Jun 2026 13:50:33 +0000
Received: by outflank-mailman (input) for mailman id 1327887;
 Thu, 04 Jun 2026 13:50:31 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wV8St-0003ve-Ku
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 13:50:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV8St-001fjt-1b
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:50:31 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a21828f-2eae-0a2a0a5409dd-0a2a4503ac36-48
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 15:50:31 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2182a6-672d-0a2a45030019-d155802eb407-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 15:50:30 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-4908b92904fso9108865e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 06:50:30 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490bc3fcf5bsm80627255e9.9.2026.06.04.06.50.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Jun 2026 06:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780581030; x=1781185830; 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=MpbXt0xmlzmISHwgO9YMjCOHtj/ZaG29S1Be+UMwgiE=;
        b=ptkHdYvtKZyb20YhiLu/u7ijwXHXkaZD0TuBW24vr0UFCdESpMFP/EW57Ii67E507K
         hJ7OBg9iBl0FPhH26Loh/LeYrzkjnD50IY+MU1vs+4XdLzQIHtS9+Us9EWej/7pC10Bt
         bOBKmasjOqwiyVaQEi00aQymcR04iNijlelinam5nRwI9lla742ceL9LY0fd1GZeqYXA
         cHmj0pQ3OTwnsn16248J//X+ygei24Wbt20pNg71+MZL63Ms8nSWz2zzyKpNJ/zZ6AQI
         9vsXIcyJb/QQX0QILXO/18CX5IyvIAwFfs9umhIf1YNgMdo2/FWikbK2Lv+Iv6fK8nX4
         vTQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780581030; x=1781185830;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=MpbXt0xmlzmISHwgO9YMjCOHtj/ZaG29S1Be+UMwgiE=;
        b=YJNsH7kjhoRWci6FUJgsB8w8kr7SK0J6kutUXbqZyg9VvxIl+KOOkpiCF74crSertz
         H8iXJUhWp2EXYV78ORhMZUiCySEC32hK577eDg47lHHWI9fNtl1KG/ARNpJhxKmVBaT2
         UR9l3AL+lg9a3ftPf26YgRII6xJx46ecoRzeJk3QkA3rOV1n6kpO/u61QPd4yaSdfL5q
         dETfob0pO5LL2A7Yp7hSipfH5d3yEvf0HIxNZEHRlSx4C1uNmcpntI38kH+W20Cob4mr
         cKWqbtE5JvLSSEzwkO/ljDKioLNHNUkVqWPwQ14qC7Rci92qkou+1g69MRzQNmLv5kl9
         VVOg==
X-Forwarded-Encrypted: i=1; AFNElJ89VzBs6dk+T0aGDAaz+/g1NqFjPiMA0+0NorvFiQhHCl3BkDqnzhmUpzzK2qoiDdBNcKUSj0pKY68=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzLEBrdhqS+PG+vEbK5FpXAxBjc7n2sUMh4/uCzCrU7vCBxefv3
	o7bErJCH+NRT0nBWZCbzu/tSzhNxUhmYQggDy57k5nCFIF6Jeb/wlczw
X-Gm-Gg: Acq92OEzX8+ALBrJu8i2zV6zWPeHtkfZWEbgq1+2R5dJpICBcKBT4RV697lBAvBSiNR
	7t7YTLDF48zpT6LZpymCMPbzpXM6Sow+29Mlb8wSjpVCaDWPTFQOwJWNbylmdcEyCDsEfUbALfi
	NzimvAA5ljp0ldyfd0vafcUWnm4RuXZywTHstWCQ+CN1oZL/CnwQl1sEGaVdoRQPtZZoJa+hex/
	UgzakswHEI0s1ioMiehDiuxBdNI2uYTyZxzdKz3mSHAUISlGXaYPzQSr6ZSKDhfUze6aZqWuBo2
	FepRCH+u9SFSN3itLhCEHWl/hKf9a2SZAiqaER+Q1tfuetcPNv6r1KJqRMFjuGvaxrp5dDZD2xs
	L5AXG9RdxdEoYVlG4DNRFiXE3B9eOVYADFwDKc1teWDO6iwFXGjvrCW/VHwnhqi6jdJJKOq6hBi
	BTm+BCojPpDGGgAwYN3BrKBmzZtnSsKmNdSffp0KfHvYjJq+7tGryVxCSuJfnwrYn/JVCnVSXvp
	rlTGUnxZzpSqgqW
X-Received: by 2002:a05:600c:8184:b0:490:688b:f10d with SMTP id 5b1f17b1804b1-490b5eb64c9mr116713735e9.7.1780581030120;
        Thu, 04 Jun 2026 06:50:30 -0700 (PDT)
Message-ID: <0bfa979f-f69c-44ce-8a29-4c92876c7fca@gmail.com>
Date: Thu, 4 Jun 2026 15:50:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v2 2/2] x86/mcfg: relax memory map checks on
 newer firmware
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Teddy Astie <teddy.astie@vates.tech>
References: <20260604132523.95125-1-roger.pau@citrix.com>
 <20260604132523.95125-3-roger.pau@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260604132523.95125-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1780581031-39B7C938-9885788A/10/73395122804
X-purgate-type: spam
X-purgate-size: 1832



On 6/4/26 3:25 PM, Roger Pau Monne wrote:
> Per PCI Firmware 3.3 specification, section 4.1.2, ECAM space must be
> reserved by declaring a motherboard resource, but there's no requirement to
> mention it in E820.  The specification additionally states that: the
> resources can optionally be returned in Int15 E820h or EFIGetMemoryMap as
> reserved memory.
> 
> This fixes an issue with detection of extended capabilities when running
> Xen on a Lenovo system that doesn't list the MCFG area as an
> EfiMemoryMappedIO region (or as any other type) in the EFI memory map.
> 
> The more strict logic was introduced in Linux in 2006 as 946f2ee5c731
> ("[PATCH] i386/x86-64: Check that MCFG points to an e820 reserved area").
> This was picked up by Xen when MCFG support was added in 3b35911d709e
> ("Enable pci mmcfg and ATS for x86_64").  Apply an approach similar to
> what Linux has done in 199f968f1484 ("x86/pci: Skip early E820 check for
> ECAM region") and relax the strict reserved region checking so it's only
> done for firmware manufactured prior to 2016.  For firmware from 2016 and
> newer allow MCFG region to reside in holes on the memory map.  Note Xen is
> still more strict than Linux however, as it will refuse to use MCFG regions
> that overlap with memory map regions different than reserved.
> 
> When dom0 boots it can prevent access to misconfigured MCFG regions by
> using the PHYSDEVOP_pci_mmcfg_reserved hypercall.  This brings Xen's early
> usage of MCFG (prior to ACPI AML parsing) more in line with the
> implementation in Linux.

Don't we want to add Fixes: or Ammends: here?

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

Generally it looks low-risk patch so:
  Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 13:51:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 13:51:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327893.1592606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV8Tp-0004PT-Gx; Thu, 04 Jun 2026 13:51:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327893.1592606; Thu, 04 Jun 2026 13: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 1wV8Tp-0004PM-E8; Thu, 04 Jun 2026 13:51:29 +0000
Received: by outflank-mailman (input) for mailman id 1327893;
 Thu, 04 Jun 2026 13:51:29 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wV8Tp-0004P9-3t
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 13:51:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV8To-00A7kK-Gx
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:51:28 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2182d9-bab6-0a2a0a5309dd-0a2a4503e99a-8
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 15:51:28 +0200
Received: from [209.85.221.43] (helo=mail-wr1-f43.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2182e0-672d-0a2a45030019-d155dd2be5aa-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 15:51:28 +0200
Received: by mail-wr1-f43.google.com with SMTP id
 ffacd0b85a97d-45ee6d32402so420650f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 06:51:28 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f344558sm16657209f8f.18.2026.06.04.06.51.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780581088; x=1781185888; 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=6cV/OkCq+wO7XFriYcUZuzONnaq62fDanSpEqmPtTuM=;
        b=Tz7M3Ctu334drVeFZe2tehCY4SB/zsIJvXNShAr9FdlA4WgOR+zqwJXd/pLqHrrl6C
         0VAkmKU/k0XLKPWy/j7hTYIRlaB1LpQR+5Fek2a4/Q5Ca6IFpPoJ9ooKuXdjvHILu1N+
         kWbLyaOIKGH3tP64VpG8vwLsgcyfIPsaV43uGdcZdXRJ9EEmvGBqCEAvoBrqamzBOAWo
         CwbtydohbaIBS9YANKpxfLcgvrQplfsqq9Zu+8bPO64pc1QfVO6rzczi2Cl3eoTAkntr
         AahzmbTy//w0xoIr3QyHGgEdYcEC/fsHTWpab7QjZR5gCrkVkON7qmGMbQekvZbsH2K3
         1gqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780581088; x=1781185888;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=6cV/OkCq+wO7XFriYcUZuzONnaq62fDanSpEqmPtTuM=;
        b=h08t2Q0aBdPZhb7TxV9NxzZqgp8xn4caWk0gf0FXNhvmFKDdmVTdCsfX0rzHiULCNr
         0hN1l1rQToaCox095Pmw3jo2yaLl+OUF3arprkn3W3RBQWOwZQKKtI4ft6ILQkqqL/xj
         X3EOzU2xkmZR4KC/FTjZ3jqqSjF561l349HTlcV4cyc782JYWk27tpVsjFE+nAMTE5GZ
         lZ13RBALlQ9N2ZYQpf/9RO/ORsyinnxNWiDYL+N/vlXPm3LKv5MrdHQKrmOHp0ZBu/vg
         hFCDZSnE1E6vevWn5h/lC6xhZeCyYKiL5UnNbnTMYnJZojxj/2M7ACSYyvLtbgsi3eQO
         Rw2g==
X-Forwarded-Encrypted: i=1; AFNElJ/mvSelplqA93rcZlacWt+RHawHC2gefNae7h15WyHicxXuTI9tw5iIp2I0v44lzL4AcmDPca0W/XY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzEPp21BREcPWmvedzwPs0rg1ILV0YtpWRG7mXYmPdDw/+kWJIL
	I9qdlpOoKHEqz/P/ETIuRajqaiO2en+9KdCJbmLwgoOrGUQ/EASmOzjO
X-Gm-Gg: Acq92OEYTtXQvLJl5M4pcy1HBjVpJmJ2RZCXb36sCKvsyfSrxIc5PN03rIIs/oF1LyU
	W3wKAypNTVq7edmTJO9nhm50Ww3k5Ug51192E8PPlMqDBh3C+nCXLdHe41VDbiEfFQM1YwStpgC
	67k/Y1ly1Fnbi6UnkMc3TyPj67Z0W4Gsjf4l+bn/QYGZ5WYFvxU1lrvtsIcOjUjM12T9tlradTv
	Dt75AriRaCrOoiIQkvFY6OEhIRMQnJph/JteHm7CIFKi2t1B49raWTzeIpq7fOckJoh139tuXnT
	RAUqMS4kpjBihIZ3m1dIQKVGcl0lDQB9HA5F6tTeBHl1hhXdaBq4uCOszxWtkGWE9rW80EP1Fz7
	zM1xWzfzZaS2604srPU4Jwk/h3bki92qfsYB1BhaGAIrhjkd4DMo+zHQrZqA9LTuH7+W/2TDwLK
	XgOJLVHi/xR90c8yR+c7F+jCUjo88s8+Pm9PHcixd8IAooKyJEz8HNh+a6AvjFjxg3irP7ups+j
	eeoU58Mp+sG3WhBIY8vuIcvXKg=
X-Received: by 2002:a5d:5989:0:b0:45e:eef5:b51e with SMTP id ffacd0b85a97d-4602181fafdmr12774960f8f.23.1780581087831;
        Thu, 04 Jun 2026 06:51:27 -0700 (PDT)
Message-ID: <f5cacd49-0647-4e92-8cbd-3ed058bebd70@gmail.com>
Date: Thu, 4 Jun 2026 15:51:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] CI: Remove .cirrus.yml now that CirrusCI has shut down
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>
References: <20260604125530.2718761-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260604125530.2718761-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1780581088-4066C938-C46D95A6/10/73395122804
X-purgate-type: spam
X-purgate-size: 196



On 6/4/26 2:55 PM, Andrew Cooper wrote:
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 14:21:30 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 14:21:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327933.1592616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV8wb-0001JX-Oq; Thu, 04 Jun 2026 14:21:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327933.1592616; Thu, 04 Jun 2026 14: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 1wV8wb-0001JQ-K8; Thu, 04 Jun 2026 14:21:13 +0000
Received: by outflank-mailman (input) for mailman id 1327933;
 Thu, 04 Jun 2026 14:21:13 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wV8wa-0001JK-UA
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 14:21:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV8wa-001lIp-0v
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 16:21:12 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2189cb-5cb7-0a2a0a5109dd-0a2a450bc5b4-24
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 16:21:11 +0200
Received: from [209.85.221.52] (helo=mail-wr1-f52.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2189d7-212f-0a2a450b0019-d155dd34d14c-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 16:21:11 +0200
Received: by mail-wr1-f52.google.com with SMTP id
 ffacd0b85a97d-46019b190b6so617840f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 07:21:11 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f34413csm16365680f8f.21.2026.06.04.07.21.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Jun 2026 07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780582871; x=1781187671; 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=FcH4qN9D31BjNUk/uOBK+MmqYSc/pf9UxEHjvzOWjcs=;
        b=PKna+1K45Qcgg+b3FCvYtb/sZUArlDxfjsyLvSFLH4G30DLYH2R4I1LtfI9oL1faAa
         cUI03IGNM7FOWtWAAbg0uy8mbK+pU8hNZsPCvd9Y4pihsgQQyl5JB2gOy2WFLc/GkInb
         VrVRB0gYWIM4tVPI5jlKL3Aw3aXpwx88P1ie5rttepDY25uaGH2Oq3wIpm572Saczzsm
         b752aBrKaDOpAoRiicBzvu2pORu58GiJwg4FHWbka4+OQYKxLHmAalbPDqQSeuKuahte
         wt+cvXRozwQEX3GWyz00t1m9KCnndCaspAL6mHwu86xQkjcU+8572WGKpSVnFtAbIbFw
         /ijg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780582871; x=1781187671;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=FcH4qN9D31BjNUk/uOBK+MmqYSc/pf9UxEHjvzOWjcs=;
        b=RknpMnuQ/j1esaY1ZSKy/CMdzBUvRXP4jDLPRPqnbHBaD3RPgMQqrxZJ4lfg4kLFP0
         gmcY4ALj1YkFlwfTAez+arPSHWXwWU4ZcraCMNpaKJ/+KaHrh1zwQfhPLtH4wg08tViO
         fg74y5qvbGyZjWBSK+sOGLMoI7tH1V/NlOn3dS2Abeze3XbXYSzO6qypZKtLKfk726+U
         hiXY3h4tbe86cr/bRPkL9IJNG+UDMv5Wk1u/iS6jxR3NwLuO7xAEvTtl4AsVsImTZoHJ
         Qj6HJF8eDlGXaURqkvdclfyfuBlgz6BewbYDM/0VzWxhPXqLZqhYBcuoJ9nU3BWLNzzB
         6tgQ==
X-Forwarded-Encrypted: i=1; AFNElJ+9OibzxHS8j/arHS/f747bwshEM/z4StiIYL+poJDbcnWxeOeD7z4AY5QSLhhAtN952Tx4o8izZyk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyG1k0PRda4nzoZERah389hePC3JO3AwH0rNNC10MVAIr6/j3Lu
	59w42s6SLKzCEoCRGFimWL4tPLjtunivDSnNa7bmVRtQpNUtLMtLsNEL
X-Gm-Gg: Acq92OGYiFIjMcafNS2EcMIy1qz4vG7XgsQyiXBcnWNzin2cC1BUZvLh5hpfbDvV675
	HCmfH1d8DFbKg9aSse6arlPDi66BZQDZfLAEFMRQD0LXTkmnKsw6+6Vv/1cxlN9rd6gwqq5/XWj
	WPveJRremGrBgxnz4CYnDhtJzI7fpk72Yb3HFRaQp9E6ZC9R+q0SfqM/R86gWIAr+eNYBv60VWC
	bGADp2JOI3j5CHOz9Wne/u3uoyOBZ3TfPNj35AoPqSOZU4a/hE5KzR4yY6JgEUetgRHtZWaagfu
	/b87XwbCrviaDnQ+MAV+sbxC5m6nc2W6cMTy61tC5AQE/O4TYf+pfOhOMC1AqS7tfMBm0gIh2x6
	D9xEvmscl2soS1ueVF1R8ptsKE7WiFrGZBAFSDfmyoDqL3kIikwsS8buOMQH+mxLSbRt3E6eGOp
	NcCL3L8yiN+DG4gVsVLbpIELOBq3zM+A6EkiM2qnsJW+ym6WDFmymCvDyo/3I/rKwOBK+IxYlC9
	eBz1RvriXrAh7X1
X-Received: by 2002:adf:ffcb:0:b0:45e:f381:cd8c with SMTP id ffacd0b85a97d-46021959c5bmr9419907f8f.30.1780582871128;
        Thu, 04 Jun 2026 07:21:11 -0700 (PDT)
Message-ID: <f4d899ba-8a27-48dd-a724-55557b345647@gmail.com>
Date: Thu, 4 Jun 2026 16:21:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 17/26] xen/riscv: generate IMSIC DT node for guest
 domains
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <19d30d3c34a6ac9aeb668e1fc56301620b177db0.1778250616.git.oleksii.kurochko@gmail.com>
 <3da2f796-4dc7-408a-9ec9-f0e8bb02b1a9@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <3da2f796-4dc7-408a-9ec9-f0e8bb02b1a9@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1780582871-20A7EF3B-11003ED1/10/73395122804
X-purgate-type: spam
X-purgate-size: 6086



On 6/3/26 5:21 PM, Jan Beulich wrote:
> On 08.05.2026 16:43, Oleksii Kurochko wrote:
>> Guests using the IMSIC interrupt controller require a corresponding
>> Device Tree description.
>>
>> Add support for generating an IMSIC node when building the guest DT.
>> This allows guests to discover and use the IMSIC interrupt controller.
>>
>> Co-developed-by: Romain Caritey <Romain.Caritey@microchip.com>
>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> ---
>> Changes in v2:
>>   - s/imsic_make_reg_property/guest_imsic_make_reg_property.
>>   - s/imsic_set_interrupt_extended_prop/guest_imsic_set_interrupt_extended_prop.
>>   - Use initalizer for regs[] array in imsic_make_reg_property().
>>   - Move buf[] insde the for() loop.
>>   - Correct check of returned phandle.
>>   - Drop local variable len.
>>   - /s/XVFREE/xvfree in imsic_set_interrupt_extended_prop().
>>   - Drop initializer for local variable data.
>>   - s/uint32_t/unsinged int for pos and cpu in imsic_set_interrupt_extended_prop().
>>   - Drop next_phandle as it is now in common code.
>>   - Introduce vcpu_imsic_deinit.
>>   - Refactor vimsic_make_domu_dt_node() to avoid usage of host IMSIC dt node.
>> ---
>>   xen/arch/riscv/imsic.c                    | 127 +++++++++++++++++++++-
>>   xen/arch/riscv/include/asm/guest-layout.h |   2 +
>>   2 files changed, 128 insertions(+), 1 deletion(-)
>>
>> diff --git a/xen/arch/riscv/imsic.c b/xen/arch/riscv/imsic.c
>> index ceea6778d9dc..19cbacdf96e1 100644
>> --- a/xen/arch/riscv/imsic.c
>> +++ b/xen/arch/riscv/imsic.c
>> @@ -13,9 +13,12 @@
>>   #include <xen/const.h>
>>   #include <xen/cpumask.h>
>>   #include <xen/device_tree.h>
>> +#include <xen/domain.h>
>>   #include <xen/errno.h>
>> +#include <xen/fdt-domain-build.h>
>>   #include <xen/fdt-kernel.h>
>>   #include <xen/init.h>
>> +#include <xen/libfdt/libfdt.h>
>>   #include <xen/macros.h>
>>   #include <xen/sched.h>
>>   #include <xen/smp.h>
>> @@ -35,6 +38,11 @@ static struct imsic_config imsic_cfg = {
>>       .lock = SPIN_LOCK_UNLOCKED,
>>   };
>>   
>> +static unsigned int __ro_after_init guest_num_msis;
> 
> How come this is __ro_after_init, when it's ...
> 
>> @@ -291,6 +299,11 @@ static int imsic_parse_node(const struct dt_device_node *node,
>>           return -ENOENT;
>>       }
>>   
>> +    if ( dt_property_read_u32(node, "riscv,num-guest-ids", &tmp) )
>> +        guest_num_msis = tmp;
>> +    else
>> +        guest_num_msis = imsic_cfg.nr_ids;
> 
> ... written by a non-__init function?

__ro_after_init should be dropped. I will use __read_mostly instead.

  Plus are you again inheriting a host
> property into guests without saying why?

Based on the discussion for similar place around vAPLIC code in the 
previous patch I will add here or the comment why or introduce 
VIMISC_NR_IDS and use it instead.

> 
>> @@ -524,8 +537,120 @@ int __init imsic_init(const struct dt_device_node *node)
>>       return rc;
>>   }
>>   
>> +static int __init guest_imsic_make_reg_property(struct domain *d, void *fdt)
> 
> Same question again as to __init throughout here.

 From Arm code I understood that libxl creates the interrupt controller 
node in userspace before handing the FDT to Xen so this and related 
functions won't be called by userspace.

And for dom0's it is a separate *_make_hdwom_dt_node() (took it from Arm 
code base) which can expose the real hardware MMIO regions to dom0 
(since dom0 may need direct hardware access - if it isn't strict 
requirement then the current one way to create node could be re-used).

So if for dom0/hwdom it should be created separate node then we will 
have similar separate function for IMSIC node here and then it looks 
fine to keep __init.

> 
>> +{
>> +    paddr_t base_addr = GUEST_IMSIC_S_BASE;
> 
> So you make a local variable for a constant, ...
> 
>> +    __be32 regs[4] = {
>> +        cpu_to_be32(base_addr >> 32),
>> +        cpu_to_be32(base_addr),
>> +        cpu_to_be32((IMSIC_MMIO_PAGE_SZ * d->max_vcpus) >> 32),
>> +        cpu_to_be32(IMSIC_MMIO_PAGE_SZ * d->max_vcpus),
> 
> ... but this non-constant expression is spelled out twice.

I will use instead of base_addr GUEST_IMSIC_S_BASE directly and 
introduce local variable for:
   paddr_t size = IMSIC_MMIO_PAGE_SZ * d->max_vcpus;

> 
>> +static int __init guest_imsic_set_interrupt_extended_prop(struct domain *d,
>> +                                                          void *fdt)
>> +{
>> +    unsigned int cpu, pos = 0;
>> +    uint32_t phandle;
>> +    uint32_t *irq_ext;
> 
> Doesn't this want to be __be32, seeing ...
> 
>> +    int res;
>> +
>> +    irq_ext = xvzalloc_array(uint32_t, d->max_vcpus * 2);
>> +    if ( !irq_ext )
>> +        return -ENOMEM;
>> +
>> +    for ( cpu = 0; cpu < d->max_vcpus; cpu++ )
>> +    {
>> +        char buf[64];
>> +
>> +        snprintf(buf, sizeof(buf), "/cpus/cpu@%u/interrupt-controller", cpu);
>> +        phandle = fdt_get_phandle(fdt, fdt_path_offset(fdt, buf));
>> +
>> +        if ( !phandle )
>> +        {
>> +            res = -ENODEV;
>> +            goto out;
>> +        }
>> +
>> +        irq_ext[pos++] = cpu_to_be32(phandle);
>> +        irq_ext[pos++] = cpu_to_be32(IRQ_S_EXT);
> 
> ... this?

Agree, __be32 should be added for definition of irq_ext.

> 
> Also, just like "buf", "phandle" can be local to this loop's body.
> 
>> --- a/xen/arch/riscv/include/asm/guest-layout.h
>> +++ b/xen/arch/riscv/include/asm/guest-layout.h
>> @@ -5,6 +5,8 @@
>>   
>>   #define GUEST_APLIC_S_BASE 0xd000000
>>   
>> +#define GUEST_IMSIC_S_BASE 0x28000000
>> +
>>   #define GUEST_RAM_BANKS   2
> 
> Is this going to become an unannotated collection of (seemingly) random
> numbers?

Could you please clarify what kind of annotation you would expect to see 
here? It's just an address, which is typically used for IMSIC by QEMU, 
so I chose the same notation for the guest address as well.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 14:31:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 14:31:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327945.1592623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV967-0003Te-Mb; Thu, 04 Jun 2026 14:31:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327945.1592623; Thu, 04 Jun 2026 14: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 1wV967-0003TX-JU; Thu, 04 Jun 2026 14:31:03 +0000
Received: by outflank-mailman (input) for mailman id 1327945;
 Thu, 04 Jun 2026 14:31:02 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wV966-0003TP-CL
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 14:31:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV965-001muy-Dt
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 16:31:01 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a218c17-5cb7-0a2a0a5109dd-0a2a4508821c-24
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 16:31:01 +0200
Received: from [40.107.200.52]
 (helo=CH5PR02CU005.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a218c23-63b5-0a2a45080019-286bc8343b72-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 16:31:00 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by PH7PR03MB7161.namprd03.prod.outlook.com (2603:10b6:510:2b7::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Thu, 4 Jun 2026
 14:30:53 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Thu, 4 Jun 2026
 14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cKWg/7WK+/nDHQzWkVh8J+0Uyj3kH8Tr7OiCv+AOV7LyoJT9+tsWG+psGiTQf41RReR3KmGNksVy2HJa+r3fFPnERpdo04DyiRT+o3tJ0kmzRyIfKrPx2BQUazpLgEoQ97n5zJJQ7i0EHwyE3DnxprHwTsAEt9L8AoJWRmoP6Fp8vZw6SNgXBVdGbyQOX+2t/zTTDuBCwfg6eGuto1bKtywDsDfijKlexCKIu5gyR6x8YpGEVMuKIzYDB3FWOVEjvRwxxjBd70gY2wbO3nPZkxtZkRB1+6ooooHf9wANkX2T0uc/6zQvuSNZMTcVJI0gRqQi6e6joeMbsx8iokf9DQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BphbvABJUryfPhCaykGoNgNi+Q/lBSliHIJosekGqJY=;
 b=v638Dd35g3Y4iCGhcF9E45nAT8Oajp8LVlQdo0GAofarSUaYKlUCpatLyMjh6PP8oBn0a43qpd18EfqkKul4srOhoeuYm2nuOy54/G9RAE0VzBGnsK+bsQ/nCMAlorN3FNkcNjZr/ZpTrsnC2w/Gi49UrljIEXJ5IOZGpMEGRz9jTYgqwcMA1Ae61huEX4gT+FhN/VYev8TYXVZULuTJK30o3MCUlLH31CQv7Q7xaMI1Db7mVMECTeGwVkxGgRq4adl4dYPBYt0ew2y3Q6TbUoA3RllGCAnt4DwJZ064KON3B1EFTb60qdmVH3//RULVAcG3yzu+J+QVskec5RJcAA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BphbvABJUryfPhCaykGoNgNi+Q/lBSliHIJosekGqJY=;
 b=joJjcUMl4CF7NOR9Ol23RPNPX44a5OFshqDEmns9+C6lvwkxRfUUefXtcG1KYZxlktZmtoJTnWGjx3AY0lEwd4IMJwh+5oCj2AOqLc0J7EwwCmBFwhbJTLGQlzFwOMCaEmzwOOEqThYBgnjr5cQK9Ycr9AyIIXnYPt5x3OKKyzI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <9859bb92-d532-4169-9b0d-1d7543491d6c@citrix.com>
Date: Thu, 4 Jun 2026 15:30:49 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 3/6] x86/efi: discard .text.header for PE binary
To: Frediano Ziglio <freddy77@gmail.com>, Jan Beulich <jbeulich@suse.com>
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-4-frediano.ziglio@cloud.com>
 <35a67929-aaef-4b1f-8370-7dcdf096fbb1@suse.com>
 <CAHt6W4fXPy9o2VzO-E+PkNv+VA2FcRPTzJzH6gAyqwXuV6ytmg@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: <CAHt6W4fXPy9o2VzO-E+PkNv+VA2FcRPTzJzH6gAyqwXuV6ytmg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PA7P264CA0279.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:373::20) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|PH7PR03MB7161:EE_
X-MS-Office365-Filtering-Correlation-Id: 92707fff-6f7a-45d7-6e6d-08dec245e1a7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|56012099006|4143699003|3023799007|5023799004|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	aikCUGI73vu5RO/diMHBHAvhW/1GNMD7qu+d5Uo/B5ZTV6c0Ffo4ZcWsHFkpoiQggQHag5FFCCe667RFJgAqqTolmrZSfzjG39KqHDqgEtddsb3QVvfgPWmjNYr674lATuVSAygZnAx2dtz3vEUQdSKf09J3Oker3GPu6USHxG3HuL20+C1Zt79AUFrifcza9tOv3iWDLPHf5beLyratkTLfPZGNH0ivKrYA6EOIYLPXjDoSgKkp7ZkAHkHgl789ItqjuSkg7uDfcgEclkGf+vg28DBYE/5WJf0iyvu99fo3r9Ptu9Vm/OmM7J4HrOM+xmY6YD6RyBTmztUG71cJxKQqDNG5bKwFQrAuMvFpAQrdm15FYP6PesYs1TCe/AyWYNxQW7i6YuRkzkwaPl216vFdtLX8+CZJDiZgiVYBXWgox5zl7gzI8AGfuOMJQH6nVRyDIHHgvH0g6G6OHciqdW0zDJcEESG4sttORLlrve9Cr5Pgw6DTZZwn0qWN+S0wKtCFL6oHQweArRdPL+Izq4yCNdXEUucz6oAVbyVOTlOHiq+U5yt+VgL1lh4MUkTSolg9YCj2ZuPWnpedrHq1L7hKBF1ecZTMQjBB1juOS58Q2pjJQWue8poVVFcbv06cTB67Uq2gdSgRoGa2cI49AZ44CL8//ZU4RaVRUTOmRfCIb92eOoxCUrBuhYxIB/tu
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(56012099006)(4143699003)(3023799007)(5023799004)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OVd3YXFDSlg5enFTVERKdS9wL3VOVXIralZJZVNrRTlSajFETkU2WnZTYkJV?=
 =?utf-8?B?dDJTL0haam03eTVFdzJjQWN3anNZdnBBcnJzMVRRRW1YaVQ3VUsrTVZkbHBL?=
 =?utf-8?B?RndITjltUVAxN1lyMUYrQ2lQSmt3dGxISGIvUEtOMVJvb2svSVoxZDFRbHlR?=
 =?utf-8?B?SE44QnRubzRyN09DRGc5aWJYMndOWVhXRnhxR3U0RWpiK0RLNG13b0V4bGlJ?=
 =?utf-8?B?RHJvaVJvUFdaNFRQaHBuOTZJOHJCVVFVbmtOaEVqZkpIYThVTWUvelRCcEZ0?=
 =?utf-8?B?YVMvRHBLazhIenBjcHZnMWxvZHJrWnFzQUhVTmVwVFhBL3g4UkhVUWFvVXFJ?=
 =?utf-8?B?RldteFBlTnFtUVVIU1RjOXhVYmZ2Q1ZGVlJKV3czWUVyZnYwT2o2NGJabTNm?=
 =?utf-8?B?ODgxbjhublREQXhCV21JMWlXL3NkSjRHRVdNTUU3elNqNVU1Z09JWjFLaVFT?=
 =?utf-8?B?Y3FqTTlZQ2d5VFY4ZG4rOFJhTG8zNUVCbW5kWmdFeERPMDZyeCtNTGNwdEY5?=
 =?utf-8?B?V2h1Z09CdTRIZTNaMDZBTEJ3cGxZZ21KcEtjUVpySEtqa2lKQXN6V1lVRm85?=
 =?utf-8?B?Nm1KOXMyZVlqL0lJbk1OVENtOFlrbE8xdi9QWVBnWnEreHFCUXd0UlRyZDBw?=
 =?utf-8?B?TU1pMHVxL040bDNnb1Izdnh1c1d2YVdLc09zam5rL3BQV0dVblhoWDB4Ylk4?=
 =?utf-8?B?dlZybWRTeEFla1kxNmNlUVJZVFpCREFXRW9ubTR0cjd5VUJPSlVoeTBIaVZk?=
 =?utf-8?B?QXpwSjRJcC9RWnU1NUFOZHZUZnNKRThxbnBReWpUbU9tS1pkNk9TK1JvWTl2?=
 =?utf-8?B?eTlmbDRiYlZGbG9BVkk2V24wbU9ONW55aVBnTG9BRGNhNmVFRmp0RXRQYk8z?=
 =?utf-8?B?bFRFbkY0SFhteVZZQnN3Z1lUZmJZcnFLd2lzellDK2JzTlZxQUpPUndDaVRS?=
 =?utf-8?B?Y3A3VDg0V0N6S1ZwWGlQN05zQXF3eVNHNzRtOWhKNUJUYWkzd1F6UUdZcEZL?=
 =?utf-8?B?WXplUHR4N1htd3U4VG1sWkp2Z1E3SXpjZGY5dS9KVjAvSzVPcFhZL3dUaVp2?=
 =?utf-8?B?N1o5Rk01VVVaeG9PSG43WFk0NVJkb1RuQlVBNE1EdXg3Tkg1UDZRVGg0OGxN?=
 =?utf-8?B?cXZ4OXZEM1h3MUcrWk91VTFHVzhCblVIbHhzT0lCUmlyV1N4SEN6RjNoajVI?=
 =?utf-8?B?c0NzTnZGeHljalhweTYrRXZMS2s4VXVzcEQrVXRzLzIxUWxaMjFTcXhoWWNM?=
 =?utf-8?B?ZHZlMkk1OFY5WkN0ZmNjNmY4N1ZmUFJCSk9tbU1QRUJKY0NmN3JLdnM5RTdE?=
 =?utf-8?B?aTc2WW8yOFRTVkxmWUpxdXFQMlduOUJ4Lzl3VDBCdG55VWgzNnVBdUFxWXZ2?=
 =?utf-8?B?NW9vWGQzUEkwek54M3RxRmROYnRxdFE5UEgwQ0d4SmxyYUF6SGMxT3p6dEdz?=
 =?utf-8?B?OXIvUTBTU1A0QzBSZldYdHJ1aGpjK1pLdEo2MUluQ2MyNGdNaEd3NHlGWGtB?=
 =?utf-8?B?a0RsRWpJdG5QMW03TzVZNDY5VWdkY0gxNGEzQWRaVnhEOWh5MWtRZ2ZQdEJm?=
 =?utf-8?B?VkdYSjY4OW8yMHpabkpxdSsyNFo0Y2xOVDduNEFTeVY0eVgzams4WFplZnZM?=
 =?utf-8?B?bnZkQ1doMldoNGFYR3F5TmhUOTM0ZUtRNEFIUndOY0NxeUJnbGFoQkFwcjdn?=
 =?utf-8?B?SjI1QW1KVlZvaWJBSGppS0J1RlBGQnZUaTFZOXdwOGxiQzdObC9QN09hYkR0?=
 =?utf-8?B?OXFXeW9acEIzb2J5ZlpxUmJXUzY3ZUFURWlHYm9nSEdVMHdBWDBOeWFuYW40?=
 =?utf-8?B?azFPY0F3YW5ub25PZVNhakkyK0RDRzl6L3RFMHFFQ1NPaEpBci9SL0ZRdWVY?=
 =?utf-8?B?V3VpR1RxTHl3YWIxZEVCYm9ZdFd4WmljUTJZSWhtVEN2UmJJNW9sRjJRNXFa?=
 =?utf-8?B?Z2xWYWgxbFJzaVI4b2NCVVdqajZ6MS90MVMreTJoNm5MN1RveGp2aWVhK25a?=
 =?utf-8?B?V1gydUx5RFpRV1NuTzBwWVRNS05hTjF5RHdjREY2bEhYNjk2MmJUTTRub1VP?=
 =?utf-8?B?anp2ZENFUkZYMGF1MWV2bUNHL2hZZlZLNXBPTEdieHl4KzdyMjFJb2J2R1F3?=
 =?utf-8?B?SmhGODcybmsyK05tRXkvMERoZXhHc0YyNVJwNU41OXRYbmR2T2NQVWxJdnBl?=
 =?utf-8?B?OFdxNTVlUkY2L0NJNnB1WHNrYzV6NG5SeThEU3M4cW9VNjNNNnBmLzBEV0N3?=
 =?utf-8?B?VGhLTm1ycGFJQVhFWjdlTW9SZGVaU0ZwZWlpazFkakNqUTdvWFVRRktCaFR3?=
 =?utf-8?B?ZUEwcHh6ZDU5a0Jha05pVHV2bjhMbUJBdkhBYkVxSXJTRzFGUFRVbmVhcTVN?=
 =?utf-8?Q?DzjXcoD4QUvKVaFo=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 92707fff-6f7a-45d7-6e6d-08dec245e1a7
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 14:30:52.8520
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PTD7+L46UwhdyJmXm4TIzYT159R4auY8CjdPZhjolO4MaDYjdI76/APBoPsJzU6KwqxMKzbJYul9BhnTguPJOfpdwSyCh3TedHOh6CnIk18=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7161
X-purgate-ID: tlsNG-c1860d/1780583461-BE169DB1-8F913A40/0/0
X-purgate-type: clean
X-purgate-size: 1402

On 04/06/2026 11:28 am, Frediano Ziglio wrote:
> On Tue, 2 Jun 2026 at 13:15, Jan Beulich <jbeulich@suse.com> wrote:
>>> --- a/xen/arch/x86/xen.lds.S
>>> +++ b/xen/arch/x86/xen.lds.S
>>> @@ -57,6 +57,9 @@ SECTIONS
>>>    __image_base__ = .;
>>>  #else
>>>    . = __image_base__;
>>> +  /DISCARD/ : {
>>> +    *(.text.header)
>>> +  }
>>>  #endif
>> We already have DISCARD_SECTIONS, so I think it needs clarifying why that
>> can't be used / extended.
>>
> Yes, this can be done that way. Roger, do you agree on this ?

You'll need to add a general ARCH_DISCARD_SECTIONS, and have x86 fill in
{ELF,EFI}_DISCARD_SECTIONS conditionally.

Also you need to fold this hunk.

diff --git a/docs/hypervisor-guide/x86/how-xen-boots.rst b/docs/hypervisor-guide/x86/how-xen-boots.rst
index 8b3229005cca..b6d852050a0c 100644
--- a/docs/hypervisor-guide/x86/how-xen-boots.rst
+++ b/docs/hypervisor-guide/x86/how-xen-boots.rst
@@ -82,12 +82,6 @@ When a PEI-capable toolchain is found, the objects are linked together and a
Â PE32+ binary is created.Â  It can be run directly from the EFI shell, and has
Â ``efi_start`` as its entry symbol.
Â 
-.. note::
-
-Â  Â xen.efi does contain all MB1/MB2/PVH tags included in the rest of the
-Â  Â build.Â  However, entry via anything other than the EFI64 protocol is
-Â  Â unsupported, and won't work.
-
Â 
Â Boot
Â ----



~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 14:33:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 14:33:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327959.1592632 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV98d-00045N-2K; Thu, 04 Jun 2026 14:33:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327959.1592632; Thu, 04 Jun 2026 14:33:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV98c-00045G-Vt; Thu, 04 Jun 2026 14:33:38 +0000
Received: by outflank-mailman (input) for mailman id 1327959;
 Thu, 04 Jun 2026 14:33:38 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wV98c-000458-0S
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 14:33:38 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV98b-00AUbE-DN
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 16:33:37 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a218c73-bab6-0a2a0a5309dd-0a2a45069744-46
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 16:33:37 +0200
Received: from [52.101.61.63]
 (helo=DM1PR04CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a218cbf-7371-0a2a45060019-34653d3f2b52-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 16:33:37 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SA6PR03MB7567.namprd03.prod.outlook.com (2603:10b6:806:43e::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Thu, 4 Jun 2026
 14:33:33 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Thu, 4 Jun 2026
 14:33: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dstMBRxZ5Wt/VokSM1ZYCdJq5yzVT/xyjeoRBQBS1UAhdUNrxkW1s74p+0eLEMvlM771M4I0E0vGIXOSnR1keDlCqqDfFFExVJuxv1xSSpaIQc+BOjER20Jk1iyPI5ujfC7Nmm7nMXZuceDUR1ahtrI7rrovzazTNLRgWx8pY8A3qZD1DoiZ+vQFu9dUvY7FXulG+O3P/PeLeDLxR0jsgRlQIdEXz+XwZwDXNNVnQOQ30FlP6cOojGgDedApyIVWxoyoapPCHS3keIdDrsyqoiY013WNKpKmYH4fVtQV3UfH9zPgkzfKJdPgsXu08xlW4nR22giJmD6dxpLD+5dqmQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cmH+XJsS2FbEJhkNmrc5TcFfyQP3UCxdJaPWlgpUQH0=;
 b=fX5mJr7sVD7tFQzt6SYOb26rs2NkQOHS2MVbUzbe9yjy1jSkWp+DEvgkH4XCIDX/AwFvqPPbFbI/xlfR0woptvn33BrAoZ2zx4rJwUUST5GkdfA2hbq4DGmEccW+W6qf2Gryt1A6Wd1Qu4gzzLvicuBTsV8Cp5eo9UB5JF0adzFt46HAQysJK4f2ifxBy0vACaZbp12g8YlnJnCT4NapS4DpUEii8kEKjb9PlbWaU0E8k8vLvHPB/hwk2wqCzlbE2MnurJ69AZe6DhNnmApLAMy4rKDT4cX6d+HPrsV74/+2fkj+DDTsS2dc2wMmu2Rb6qkPUaoaq8GZtXq4PlbDRg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cmH+XJsS2FbEJhkNmrc5TcFfyQP3UCxdJaPWlgpUQH0=;
 b=eXNYS8KFWxacwnWSUIGUN4UimSp3JwbQMrAkajRdqJmqOxwr7OLFIgDcQLH3xVZGNGr6I8OmimArB8IoSyMCv3LAdCJsqfF+3C+IR7PnXTV2tB+IrDzW8uUU6h8qskB+CE7H9GEXjEaYqQgFBx6DXy3xxhIuAoC/qvGPthfozmQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <f975ad88-522a-4e0f-98b8-28d2ae25afb1@citrix.com>
Date: Thu, 4 Jun 2026 15:33:30 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 4/6] x86/efi: discard multiboot related entry code for PE
 binary
To: Frediano Ziglio <freddy77@gmail.com>, Jan Beulich <jbeulich@suse.com>
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-5-frediano.ziglio@cloud.com>
 <dea51228-0eaf-4e30-8ca4-fb4a5077a624@suse.com>
 <CAHt6W4cxh6bQ=zY4e13cG=nvsNVyd9cMx_T8ajNwaAT19tu1Lw@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: <CAHt6W4cxh6bQ=zY4e13cG=nvsNVyd9cMx_T8ajNwaAT19tu1Lw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0431.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18b::22) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SA6PR03MB7567:EE_
X-MS-Office365-Filtering-Correlation-Id: fd2aff4b-36e2-4743-f3f7-08dec246417c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|18002099003|22082099003|4143699003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	kWrOrAS2DZ5+EcdBLTbivMJL1VCvI44Vu+vxBzgxuk2pHdb575+Au54vL0zS7MhQgnPqmKKisoQ2ngk0YCu5LjHlR+aNei28s+yHqqagAINC5kQ/YJmvufPofEhcBBfJk7B0a4FUfyWeCf7O/yKnYlAG1CD3PXZ8Ogh2CeHP/sMSbvl+WTSZlcfTiTYqUoTgZoKokW2xzftkrdmm+U0O89yu9B7yP4O7vftwXt4nZ1p44uFN/iV13aD8+rnWrR5G+YwBewQX2MnIrm3bJgKdGn1KCdvd6GgyuhkdXTuiOllXUz3d48pEwabJvH1cA2pcjm5Nw36UGoBG4FqHK55e8xf1x0idBlsj0cdn3U54k4p27rICCk3Qkl/iaDuOxksKazTgapAFdXJ0v1SMPcBqd27Ugf8hGW/nYsvuqBDRNoaYg7qckSEyeltG0cv4nY74fjn1gd8vwCL9uZeNe4HDhgzZk5XvkQCW9sEYskpourJZ17CVbs4spCZh9FVx5dkdVYv62QBTUJIozYCzWsDaADeS//7zRvXA+FDJI7tk2T68xCP/rk10fibarun2KzfI172o8dym/00BxyacKSyNReLF7BK+hSgov5S1cbTGyshLD+hVHEY+2N/uWCGm6Q+BAfSIrDTrtkAYg5GNSeNRuPcOQWFkAokp78SG4K36kWsN995hpRlmH/1COX7RuXOt
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(18002099003)(22082099003)(4143699003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bU4vWm1wQWEwSURMdzhrc2lUUnBnMlQ3TmxTOXo0OStUSXcxa3pETWkyaDZW?=
 =?utf-8?B?NVIrOHlKUGNqTEhWcG1Mc0F5VityTUtHNXp6c21mVmJ0MnFWeTRGZkIzODJI?=
 =?utf-8?B?Q2I4SmVQcWpMYjVRdXZUMXNRTUNNVUxac1FodzZVemUwaEpUQ2daS215b0pS?=
 =?utf-8?B?aUFPMEtoQnZFYnpYY0o4OTRBSTU2TytITWsxU2RkMHZkWnhlNjJOK0lxM0pH?=
 =?utf-8?B?dExESElIL3Zud3hqM292alBiQ0E0eE5vTjU1a2laZ0lXZ3pPTzZ0TEd0bmJv?=
 =?utf-8?B?cHV4MlQ3NXNLZEkxejEzRHpJaDNaenJ0NzZSYVpCbXJFMUoya1NzQzN1VThw?=
 =?utf-8?B?dWpxbFkzbnNLYk1WdDhxYmtRd244ZzhvdmxabkU1TGJMNlRUNndObW1DbjJ1?=
 =?utf-8?B?ZnZEUG1lQmZ2SVpLYjFTYWJOMUFwckZzelE3VGdSVzA0VlR2eHI0WGJKSGpU?=
 =?utf-8?B?aDhIR1hJbXJyZDhtYmNObS82dEJ2WXNRUW5sTlZLWWEyeW9WaE5HbCtVMUIx?=
 =?utf-8?B?S0ExRlo5U3NDOFZveGRaMS94SmRnS0FFY1pOOE55VVZoVlFHT2hLMHJ2ODBr?=
 =?utf-8?B?QnVSV3V5SHg0Nm1YWjFEMUZpckc0c2dyb1lFWUxzbEV3b2dJVzdTdjFNbkRS?=
 =?utf-8?B?UG5kVXRHOE1WRzNHR0VHaVJ2OWRTUkkzRVFyS1o3TXVXQm53OGdrdkt4TVBY?=
 =?utf-8?B?OHNWSWFuZ1A5ZjVNRVRkV1pxR2c5WEhnT1MzTzdyUUxOM3JmWGJYd3ovSEhy?=
 =?utf-8?B?dXg5Z2JId1BpT2tMbWZxTjNIdjFVeENlSEF4bzkzN2l6cHcrQ1FtZXQ2MHZt?=
 =?utf-8?B?Ymw2eG0xVHpVejI3dmdrMi8yMFNDenZJVW1tVVlwYWVQZHFBUXYraWgwb1Fi?=
 =?utf-8?B?WFlGcUJEamhsaHpYc0lIWXB3OTUwVHEraWVoajhHZ0JQSUtLMlpXYXJ4bm14?=
 =?utf-8?B?a0s1VHVQeXUrTG8wcnNmT09IMFlBVzhFT01kMGtKMXdESXBSVEc5OFZwUUlq?=
 =?utf-8?B?MWdqR1Q5N3gyV2F2dVF1NS9jRmI0cUl2dFIrTEtub3Z5Yk03ek5xSGhabEFZ?=
 =?utf-8?B?OWlkU2RDRVAvRWdLMWk3K0ptNUpwa3Zwa2h2QWd2SlVydFV2dGtjR2UwNnZ1?=
 =?utf-8?B?MVoxL3RqV0JveUdmaXVUeUxNMy9FWEhRcGZvK0p5RWRXdlZ1N01FbEQyVEpi?=
 =?utf-8?B?N3dwODcrYmVUNFRtZTNQWHNCY3JZZVVXRHlZaTIzNzV5dTJnZVpZdU51SmJI?=
 =?utf-8?B?RTBYWTgyUC9Hb1BKSmZDUS9GMGsxWmlLZ3htL1p5QXJXTWljRUJ6Q01lVWZn?=
 =?utf-8?B?bUNtc2o2T0hKM0ZFS1p5S1drWVJNSTZHT2p0Q2RscEZsUTE3Y3ZMdVM3TlJM?=
 =?utf-8?B?QWJRM3hkeDBHb3FTeVg4Ykl1Vm93SkhZenZ0a1BtUHZWS1JWMGIxRS9kbHF5?=
 =?utf-8?B?VTRxNzU2NXU0Z0hob2gwaEFrVnJjdmdPWEo3MEk4L3VxQVpFeS9ZbDl0clJm?=
 =?utf-8?B?czhWSjM1ZURLQnk1amt5ZFRxdkt4VWNNbzRjME9uemkyZ0dTdWJGUzNUY3Js?=
 =?utf-8?B?Q21MQ0gvNmd5TDl4VFJGQkR0b0FNaStqamVFaGZiK2Fkd2RRTENzMXljVE5l?=
 =?utf-8?B?Qk1kMHZMLzNPMyt5Q1M0K0JqQTJYaHg2emhia251Qyt3b1lRN2ZxSlJYeU9Q?=
 =?utf-8?B?aHI3cThncGYxdFNBa2ZQQzROcTd4MXpPY2J5QkIxNzVWaUs0dzZSUG1PQ0U3?=
 =?utf-8?B?NG5aT2U3M0dxRzFJamFvM0hGMzhhblNxZGo0akVhWEl0aU4rWXNJRmxFUDFW?=
 =?utf-8?B?WGVTYWxSV2JCcFNMbDM0UTdMYzZPbG1DRS80NFJYN29JSFkxYlp4ZnZZcE8r?=
 =?utf-8?B?aVYzVkk3bElBUEpRVVI5aGEyU1Z5c1c5WHA0UG0zdXVFMDZTL3lVQ2Z0TUts?=
 =?utf-8?B?QkxvdHhBRTZuSzY4ZHJETWRRcitvR0JvekFlbHJ3MjlpUy9XTERrM3Jhcnly?=
 =?utf-8?B?WGpqeGpVdHg0U2RrRHM4d1U4ZG00eEc1NWp5MEcrUWxMK1NVbVhaWUVrRUVZ?=
 =?utf-8?B?YmxhNHBzeEVuZmYyQTE4S0ZuNlBxeStjUXRTVURiUCtCRU00Ykh1YTRBVEVL?=
 =?utf-8?B?Y2xXMVJ5ZzNJVUh6Ymdia3B3ZHZxNHlGRkp3aGZyUlBOZG0vM2ZheEZYdHFz?=
 =?utf-8?B?YTE4cHdtWVJkR1VjZi9KdTFKV21ZUE1TNUM3U3lXN29VNEhMNHlSYmdWVDNt?=
 =?utf-8?B?cFJla1Q3aCtLdzNWOUtZTGVSeWtzUFNLQy9CTytiaG0xOVBVOWZaZ2l6cWRI?=
 =?utf-8?B?UTBYWGYxRjdOQVNEWWxHOTVjS0xScmMxOUhKUUM2dlJ4RkJTRUExYnlnUlNa?=
 =?utf-8?Q?A4QRiSlPM6bRD3Ms=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fd2aff4b-36e2-4743-f3f7-08dec246417c
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 14:33:33.6040
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JP1LvOhRaAS3o2l2odrekdqsL0OEIV4O+8jsWrLrVYrFIYIKDrcL+/MvAW3/qjv3BcXrxeIftvc7mttQOyAHt3cTlx/KfUKksK0CJgdTKNU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR03MB7567
X-purgate-ID: tlsNG-16d1c6/1780583617-8C87AD75-FDE261B8/0/0
X-purgate-type: clean
X-purgate-size: 1113

On 04/06/2026 11:32 am, Frediano Ziglio wrote:
> On Tue, 2 Jun 2026 at 13:17, Jan Beulich <jbeulich@suse.com> wrote:
>> On 29.05.2026 17:35, Frediano Ziglio wrote:
>>> From: Roger Pau MonnÃ© <roger.pau@citrix.com>
>>>
>>> The multiboot and PVH entry points are not used in the PE binary, hence
>>> discard them in the linker script when doing a PE build.
>>>
>>> That removes some relocations that otherwise appear due to the entry point
>>> code in head.S not being position independent.
>>>
>>> No functional change intended.
>>>
>>> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
>>> ---
>>>  xen/arch/x86/boot/head.S | 3 ++-
>>>  xen/arch/x86/xen.lds.S   | 2 ++
>>>  2 files changed, 4 insertions(+), 1 deletion(-)
>> S-o-b issue again.
>>
> Even if I didn't make any changes to the original patch ?

Yes.Â  Everything you submit must have your SoB, per the DOC.Â  It is a
declaration that, to the best of your knowledge, the license is compatible.

Honestly, I think this patch would be better merged with the prior one.Â 
Both are taking out multiboot content.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 14:49:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 14:49:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327984.1592641 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9Nc-0006bL-AQ; Thu, 04 Jun 2026 14:49:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327984.1592641; Thu, 04 Jun 2026 14:49: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 1wV9Nc-0006bE-7r; Thu, 04 Jun 2026 14:49:08 +0000
Received: by outflank-mailman (input) for mailman id 1327984;
 Thu, 04 Jun 2026 14:49:07 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wV9Na-0006b8-TK
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 14:49:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV9Na-00AImT-A8
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 16:49:06 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a219062-5cb7-0a2a0a5109dd-0a2a450994e2-0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 16:49:06 +0200
Received: from [40.107.208.2]
 (helo=PH0PR06CU001.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a219060-2497-0a2a45090019-286bd002c3ed-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 16:49:05 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by IA5PR03MB989652.namprd03.prod.outlook.com (2603:10b6:208:607::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Thu, 4 Jun 2026
 14:49:02 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Thu, 4 Jun 2026
 14:49: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=XJQqXFTjfDUHBrZrtaUl9kAW77PsBf8u9VipYVu2LjZJegiaCHIAvdp5CbDNAyamgnqjZH7kqRRxlGx+Nonq8CdlqHDLNZ4uvSpdYlQgnmJbFJ/EP45HaD3AjEnY3Ch+HeGueiOWdBYyr/g+bDJo4WTKzmhZEieDDUWw0O9CBZDG1OblUjbUFbEZwT/FdPWHjVaRGsNAh/CWhPKU7pRnpMI0jWc+LjDnikOxXKe+RQsB94GDTAR5HgJ2CrC09zHoI5g6/vuR/eW66Knn+Oc1LedCFx3eYajmciNNzzssX6ROzDxWAkHm5/oRudSpeNL6tuxjgXtd2yIV1k2pY8MXmQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=75F+wvI3uleLS476YuQiRyedW4gR9Iw/GsiZex6jug8=;
 b=TnsHz22YuNbzZXbBvQHKVSLxH8nfAa8NtjfE2aoSb1nK5CUd1OC1z5Gv6V+FSxYilAfeFuJh/d2DfAM+0tLe4hZai8OVEDUzR2wKj369+0ZVp5LpwwzUexhCmsHCBLmnrUBPRlHzLNBVRi+W739WU152HEeVeKeKDwk9OxGpTqVyYVEjQ0ndNZA7u828FX5y9p2gx6m0wA3+wy+9zJ+znupO0QocSE1kBwCQH7lbX8i8F1DZHfZz+2eiVekLrIciFAxK4GA/9RN7k0NnLH+NZ7jVh5TJi09Dfva2SjEMSOme/a07gKV8PgOj8CsTVjUH6RVcbkfbk0d7PSV5B/LwRQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=75F+wvI3uleLS476YuQiRyedW4gR9Iw/GsiZex6jug8=;
 b=WWpKr3EAQNommz82htEb+BIhTUXHhlp3MbyKrw/HjnH4uo6kRyAuX2U8HaBY91EZp2gLDTXoT3t52wpXVcFQWTlW3jxhc4jvzdK+/KO4QdTwcpQQXcWuybCjaa4gL8AoxWzgYDu97IGqTOm34nMv8gU3dF1nc3eScQq2n0ruXA8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <86898787-9b59-4976-ad8b-5dbe681e34d3@citrix.com>
Date: Thu, 4 Jun 2026 15:48:57 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Teddy Astie <teddy.astie@vates.tech>,
 xen-devel@lists.xenproject.org
Subject: Re: [PATCH 5/6] x86/efi: avoid a relocation in
 efi_arch_post_exit_boot()
To: Jan Beulich <jbeulich@suse.com>, Frediano Ziglio <freddy77@gmail.com>
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-6-frediano.ziglio@cloud.com>
 <ddf972f5-fab2-4833-99a7-d008f4d2c7e4@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: <ddf972f5-fab2-4833-99a7-d008f4d2c7e4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PA7P264CA0300.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:370::12) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|IA5PR03MB989652:EE_
X-MS-Office365-Filtering-Correlation-Id: 20fb7228-3ad4-4545-1fde-08dec2486a5c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|22082099003|18002099003|6133799003|3023799007|11063799006|56012099006|4143699003;
X-Microsoft-Antispam-Message-Info:
	ulAmnKWzcM0G+IJ3/a/fb/UbZ1nLmKQbcL6iPYh6n9rgKR2ZtDnWRg9+11YAGM/Y5EYbQF9wWM6by0xMnXLwi26o151BZ2v8v6BJcfUjJYuDklkczsXSl5Tw6quQJFiUgrE7CXD4W5jd31km0ySulPwK5WwhpeVEytE6sQeQP6nkCA36ilzh3S6nlZr0VWEHcB+PX27pfGnDonzKfmZoSpVj1qKttkPN+v/pDQAei8fNbOkxADzX48gjZJWxJF+5D6iZOTjdSMFd2G5fbD1BB7OWCBiBYb+JnTThwHKuuaquWwcx1EsQKQj9L1dMA9ZUNesxk2V01h7mEzzZhPGdemzLAB3rHTTYB7pVzVxdchrHcSMGBd/jpgxtby7ujTb4m97P0AFQbFdEZDLyC7MTb0R/1t48WPzVf275qC1hqHhsmPLeag5/vkyjSuk0WorRWRzNJzjIX6yuZ4ttcibKXVce8jM6ktkN7nPbD7lfQVZciwUQO0MNWOAz3ZgjlsnCUF6loeEj2kAZzf/er5UUZqexCbkpO1wxFUNHMSG+NwfcCgmpVY+qpJgi4Z7gInLIR3RIOVy2a0yd95SPdHW33NZ2jzEEwOXHvE5sXN4iT3six77msgzBgZgQd0NSyPC2a1cxuxTaJ1q7hqcM9yJ6zoK07iR4m40CDeMeA/uyFr9oOsQsqlD29FZATGQg7YQE
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(22082099003)(18002099003)(6133799003)(3023799007)(11063799006)(56012099006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MVYyNjNNVVdVMWY3ckFzcW90K1pZRkNOOWliSTQvMGZsbU55WWZqMVNOQUVR?=
 =?utf-8?B?TkNiYVZHUlY2cGRyTG96WUxIS1h4bThnMjNzbVZsNFhuNXgzUVZwbjBrMVNM?=
 =?utf-8?B?S2VnSHhORnkrSmh1TDlZS29KLzVIQWFjaUNsUGxxak5zWmlxWm5VTUhMdHoz?=
 =?utf-8?B?MkNaMTlDTzZvZk15WUZMd1JtTEVRYXBpcE9MTVYzcUpKd3NlNmNlam1ZM0xj?=
 =?utf-8?B?RndQUThsTFUxRkVIaDZDeGdaZ1BvQXAyeGt4ZXFTY1dFSGlwL3FPQTgxT1ZM?=
 =?utf-8?B?UWxqUUFBdmhsT1lZZmVXUFl3SUNZN0N1ZlVuMEd0NWtPZ2VZaVJOVEVrNmhx?=
 =?utf-8?B?NjhrbWFYM1RqRGEyYkhCK08wKzlBQnhwalhnemVhdU9SQjk2TDVRTXlZTmZx?=
 =?utf-8?B?SlRIc2pnUGJVNG11dU9iMGVWWnBYeEsrUkFOb2plS2dPM29IdFd0dHZKRUZj?=
 =?utf-8?B?Y0wwZkVFajZVaXNGRDV6THdjbjJhRWIvQm5hNjhTTHhtdWFFRm9FMHNlZFVz?=
 =?utf-8?B?QnY2b0JxV3NuaWVOTEZoRzZTd2NXQnNIZGRuZmVUcHc4Q0ZuZWFFcWQreWNp?=
 =?utf-8?B?emlxT1NmSnJvMm1WWXlLRTJqK0ZSSzJNUjJsblVUMmgrSVp4K3RFTU5QTmpy?=
 =?utf-8?B?L1JVaFgxYnloL09WZExuQ1ZUM3VGcjVzY1Zqbkk0cWtvYlpNTUwvY1UxS2pl?=
 =?utf-8?B?c3RDQ2VIcFBNdFkzR2JIYTR5emd1Q3V0WktMZ0VTKzNiYWZSUzFpVkY1OExD?=
 =?utf-8?B?YUR0R0FFWEIrYlkyWkg4QWc3bHdQWGo0ZXhhQkVPeW02UmFvK2xpbEljVW90?=
 =?utf-8?B?cWVkMkE3cUkxSEZhVkJQUVlnWWNaSHFPQWF5dGgyQXd4SmZ2OHRoaXc1dEF3?=
 =?utf-8?B?L3I4ZmFTNC8wLzhHZU1JcVhVeERaUFRteUNNbGZGQjhqMFdRdythc0pXUGFm?=
 =?utf-8?B?a0RQZEZQcjZiSlZkRm13SWFlNDNHSE53cmE3WGVZbFZTV0tQYUorb1JKdHZi?=
 =?utf-8?B?Q0RTZE4wNVZzdE5aTUJITlcvUmxGRkhWZHVjblFrZVMranpSd3BoR2NpcEN6?=
 =?utf-8?B?elo0T0YvWUorMVpmdmNzdm1iTkxYc241VlJwYU1IN3JmdFFTMFB6am1obklw?=
 =?utf-8?B?R1JCVTFIaTF4akxPUEdQS3JaUkRLWi9ZcEZVMW50cFBlYWRmbUlPa28rd1JX?=
 =?utf-8?B?bEpxYjkwWVF3dFdhbjN2NnpzdnJPWk1qWVNGaExIS0poOGpMd3JxUXo0QUJK?=
 =?utf-8?B?bW0wbXFvY0U2SXNQQWVCUzVLekpudVJmdVpVQWs0cmFWeU8zdjVIUmtPenJs?=
 =?utf-8?B?SWJDVDQvQVQ1Yk1Vb2ZtY2s4L1phK2hNTFpsQnEzSitiSmdwSnNGTk1DRkMv?=
 =?utf-8?B?RHpCT3hyMVdJTWFvTWp4RU8xVk15d3c1c3RUWU5YZis1SEdZNVhEbS8zNmF2?=
 =?utf-8?B?OWxjMlNvWXVpRklJd2RFSDdoVXRBem9LMEN1a2FtTjlVMW9BcFF2NzhkeVh3?=
 =?utf-8?B?czJscVdjSkpLeXZCK2Rzdy94Y1I1dlFVS1ZtMjlvUFVXb3JTTGJNbnY2OHg2?=
 =?utf-8?B?Mjd2YW9MUGtEaXVDMSs2ZCttdFp3dGhwemxFRjVRSTVrdXRBQklSZDBIT0ZF?=
 =?utf-8?B?YWFTemxqNkN0NFNkR2NXcFg3L3Voc1E3bkxFMEFrWXdUYzhCZnZzMUdNVTBU?=
 =?utf-8?B?d2FEQmZLV2k3MXRJVVdLY3EwanBlOGdGVWphYk8zQmRZb3d0OG1GV1ArNUE2?=
 =?utf-8?B?NEpqRk9rOW1veVRBc1J5enJwNnFkd2lweS95TjB3S1BFTUF2M2hQc053SENU?=
 =?utf-8?B?UzdEb3ZINGIwcTZiVU40OXVlVlBXQzVDSGladDZJL2wyUEYwMjc0MTB5WWh1?=
 =?utf-8?B?MW5VUm1GYmtNUzlUZTQ3cExuc1Y3ZFZVcFczMjJRMHF6R3VxWXpBVWdrWmQ3?=
 =?utf-8?B?OW1ma01Bd1d1QnJMNG1aVTg0RFZ4M0doV3o3TDdkZHZQOVNPLzN2a0I4Wkp5?=
 =?utf-8?B?dnVRTnhNU2gvMmhGRzFGeWI4a3JXbU1TajhzS2V2amhUTXhLUHI3NG5mcDFM?=
 =?utf-8?B?a3pHaUlZenRYUThnUGtWaXozY29CUFdNUG5NVU9jK2hmUDZSVnIyT0MvVGtn?=
 =?utf-8?B?VTFFTHYzbytPWFY0dlBGR0pVMFB1WkNmbUZYd25qK0YrbTA2YklDMFBhakI5?=
 =?utf-8?B?ejNueW1IVlpSVjJmV1F6ekpOSHNPeGZUTTJIV25hM2M0NklxTDMvNVRGamU1?=
 =?utf-8?B?TzF3b3ZxemdCRmtXTDRFWEM1ODZFYXhQWFZFUjRlV0ZETjlYdVdpc1drUWRE?=
 =?utf-8?B?UTBjS21pd2JFbzV1SE1VTTZ0TGd2aU9CN2Z3WkJHNzNhRGY2eVM3eWpIakIv?=
 =?utf-8?Q?WDRw+/zTv889y2xA=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 20fb7228-3ad4-4545-1fde-08dec2486a5c
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 14:49:01.1920
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lwB/hSnv8D9gSYWjr/wdBhndsPerJuDdU6bvOqYvgDZj78HDg+3ubL0vLCHLgo9FTCnPIPi8Pm9O6d5+4v5CJTQCk8exenxYo1OQmHqq3J8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA5PR03MB989652
X-purgate-ID: tlsNG-bad1c0/1780584545-40B60A53-8E833C09/0/0
X-purgate-type: clean
X-purgate-size: 833

On 02/06/2026 1:23 pm, Jan Beulich wrote:
> On 29.05.2026 17:35, Frediano Ziglio wrote:
>> From: Roger Pau MonnÃ© <roger.pau@citrix.com>
>>
>> Instead of using the absolute __start_xen address, calculate it as an
>> offset from the current instruction pointer.  The relocation would be
>> problematic if the loader has acknowledged the Xen image section
>> attributes, and mapped .init.text with just read and execute permissions.
> How can the loader respect what .init.text wants when it sees only .init,
> prior to the subsequent patch? Was the series meant to be ordered
> differently?

No.Â  Xen explodes if you split .init and this relocation is present.

It's the part where Xen undoes the relocation that the UEFI loader did.

Removing this relocation is necessary to make it safe to split .init.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 14:52:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 14:52:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327992.1592651 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9Qd-0000A5-Am; Thu, 04 Jun 2026 14:52:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327992.1592651; Thu, 04 Jun 2026 14:52:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9Qd-00009u-5v; Thu, 04 Jun 2026 14:52:15 +0000
Received: by outflank-mailman (input) for mailman id 1327992;
 Thu, 04 Jun 2026 14:51:43 +0000
Received: from [194.145.224.10] (helo=mx.expurgate.net)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wV9Q6-00005x-UV
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 14:51:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV9Q3-004pm0-9u
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 16:51:39 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2190ed-bab6-0a2a0a5309dd-0a2a450cb0be-16
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 16:51:39 +0200
Received: from [74.125.224.45] (helo=mail-yx1-f45.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2190fa-62f1-0a2a450c0019-4a7de02dc578-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 16:51:39 +0200
Received: by mail-yx1-f45.google.com with SMTP id
 956f58d0204a3-6605c3453f2so936343d50.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780584698; cv=none;
        d=google.com; s=arc-20240605;
        b=NNSpuyi3TirAZhchCQyKVzlKn8C0R3526ubpVim2RmpAXjHijGacLHgnxwJBZnUOOc
         M+SezsI2C3sn6PVBBOGWK4g6FVaqu+kC1x33uOlha0g814ZhSLfqYM712IiFP92QQFfv
         mm2Atmx5qcE9kH9nJY+xgh+mJhoKfBAaCBLT3M28ADHBhvsUa58pY/f5gFOuQrm2OinB
         6D+AM8bFyHCtSP9bzBsw7/xdNSNxxRB+IT51VvfKKFeuEPhpYfggpFljozjGOBLxf0KB
         YGw8jZ3V+tKvBhEQ0dB5DfSrZWLFFJhY2gCK00q1ugJDo+ig8v+bHyeQaFM40XsPH/Ra
         N80w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=0zEUd0XlamqIYnkUv7mQ37REhnYyl5NfHmJhFAJoMCY=;
        fh=YXyOrzbbuBMjB1laPSTTaglkJ9ItuXSXF5B6orWbM3Y=;
        b=CnhCyMSZkPYQ5Q1URbhrR3ccgNr2kdWygsJmUWMz4BQjUSojYgo2CrDoXKp5ZTZCUK
         Zx/rl6EwuPqnXlBGoqdwoJ2XNeorqeAGhd8C/CJG9Ahrs5LGYjCbAMnACKVtx3nd44sb
         OHfc7XcjseQz93O+uWFbQH4MUEGCnDPPsNsNrxTqdKtGSBrRsBXTQ4yzofZe20GaMYgh
         tnKCInQ3DRGE1ZyV+5GfvIOoZjQ6kASbLdGInpDpFVmysQdHnh1UmLsqy+E8fpOUMV5y
         lPQ1ORrnbdH2NVS5P5mPRHzQBU3Ay97w4gHyzmU8SSzDQLmErtKamP0j4Lcj6w4CqaLd
         CzAQ==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780584698; x=1781189498; 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=0zEUd0XlamqIYnkUv7mQ37REhnYyl5NfHmJhFAJoMCY=;
        b=BAYjgPa7DwLP/EoCkaQvuGcUoiKd3EXcCE4E+qIrT/zw6gF6zllzO84RQNqCpQ7UHY
         Bv9MN6fIKXMtSEThY5SQRnE1rkc8gtR4grjPLjIGOCKVkXqcTO4jZYhf/4vVHud1N/gU
         17Ifx+85lRYYNyLJblMPhf72vFr8SfAmWfb7a3uWXjCJhSQmswi2b/Yp6a1CumGudiUO
         66VObMH7ZJGwsS2siuXCugNPAMSCgz9BfZk+Dw8uVOFwCSu//zL5u8RDnj8GZP1OMkoX
         wOea7WcnQPm/0C4t1bT+Ucj5bAue2yNQiXRP+du/cHnylEwaIwZwBrVwu7S2bBXlk3OO
         xWcQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780584698; x=1781189498;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=0zEUd0XlamqIYnkUv7mQ37REhnYyl5NfHmJhFAJoMCY=;
        b=jtCvBFGdP98dC4xM2FD9kQydSNPUExXtSbY+FBYg/zoCkxOMPgUr2AvQKxOX0r0fMo
         N9+VO46Qj26bJna8R7gfNAXixwxOnKz2A1ONh8ISQrIzlthkJQ9cBi2aXmcwIv2BVbXR
         EJgVwYsUk65wiSQKNqjrQeypT1k6MEAShyApv50JCHmehKpfP9K65GgBB4xMw0kUUQg1
         lS1/SN8d1pMg8UBiCEBLsrmeuEBcEP4iAAWaLhpGwFPNbJj1jApscVUicpTAVNQByIAU
         TWQLv3HnKIEPNto0TFo4R3N66ZZTkcP+TETKhxFjzSsKzs8ts0oTPsH4h+r7JCtg9wXV
         jbbA==
X-Gm-Message-State: AOJu0Yxru2GDvk3l/+ME7D/V5DpmncdZ8/VLa33PVsrCqFw8VnnZfVY7
	D4Cvs5wKiHmSekzmXXL6kn0X89gC4xPsD5c6uN6DGZqv1213HKPNOoG55NRmYQuwO7TP7MvRUQL
	7NpbsgnK5CZYE2P/D8kMToLA9cV6dc8E=
X-Gm-Gg: Acq92OF82bTu0eROPpce2/oJGF0rqEye1ZkggZpuVjGTYIzUhoZ09vk38IEmjv9i3v0
	4rQr6zVQidLkHoQNKHZQ67lfmjqlY3/EkRS5VYdZPwnbJzv0F1AAjQVxe13sQTYxPDRUuQhePHS
	Dfj8rmhUbr0+tJFL0bmn/nC7dBriBttthGQVvavK5duTbdlPoFVI5QN6K7Ov4r0AMb6X24Vac1Y
	ReYoi33FdjPJKKWVsRhEO3PrCsPZBTxU4L5FzPsB0GvTRmVHnDkN1ot+659EANNo0xEvZhRmnJI
	4bJYa8SxKsFrwY9WXZPvpxHiB0XUp/SAGAIR1k04Moilzu3u
X-Received: by 2002:a05:690e:4144:b0:660:580f:6a3 with SMTP id
 956f58d0204a3-660de5e1aaamr7412854d50.32.1780584697659; Thu, 04 Jun 2026
 07:51:37 -0700 (PDT)
MIME-Version: 1.0
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
 <20260603130603.776452-12-frediano.ziglio@cloud.com> <1bc5ffbe-6bbd-423e-a77f-f810710181b3@citrix.com>
In-Reply-To: <1bc5ffbe-6bbd-423e-a77f-f810710181b3@citrix.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Thu, 4 Jun 2026 15:51:26 +0100
X-Gm-Features: AVHnY4KXmybUOZbZpy2YuHIVVxqN7aIp6ek4FNQunpEdk7aZJND_1kcberjV1yc
Message-ID: <CAHt6W4fx-_9-RXXdchewkwP1NBA9TZkG=broBt3_p=xpJvxgRA@mail.gmail.com>
Subject: Re: [PATCH v4 11/16] PoC: libs/guest: use foreign copy during migration
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, =?UTF-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@citrix.com>, 
	Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, Anthony PERARD <anthony.perard@vates.tech>, 
	Juergen Gross <jgross@suse.com>, Frediano Ziglio <frediano.ziglio@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-d25034/1780584699-D9F6ACF5-86449E8F/0/0
X-purgate-type: clean
X-purgate-size: 2454

On Wed, 3 Jun 2026 at 15:09, Andrew Cooper <andrew.cooper3@citrix.com> wrot=
e:
>
> On 03/06/2026 2:05 pm, Frediano Ziglio wrote:
> > From: Edwin T=C3=B6r=C3=B6k <edwin.torok@citrix.com>
> >
> > ministat confirms the improvement:
> >
> > ```
> > x baseline
> > + foreigncopy
> >     N           Min           Max        Median           Avg        St=
ddev
> > x  20     1.1306997     1.1447931     1.1356569     1.1365742   0.00324=
2175
> > +  20     0.4311504    0.44180303    0.43616705    0.43600089  0.003109=
4689
> > Difference at 95.0% confidence
> >       -0.700573 +/- 0.00203311
> >       -61.639% +/- 0.133355%
> >       (Student's t, pooled s =3D 0.00317652)
> > ```
> >
> > The tests pass too, which means that it has correctly migrated all gues=
t
> > memory.
> >
> > Frediano: This PoC was adapted to be included in a final series.
> >
> > Signed-off-by: Edwin T=C3=B6r=C3=B6k <edwin.torok@citrix.com>
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
>
> This patch is definitely out of order, seeing as you don't introduce the
> new hypercall until the following patch.
>

Yes and no. In the original PoC it was, as it was trying to check
performance difference using the new hypercall. But to prove that code
was working the new hypercalls were "emulated" using functions doing
map/copy/unmap. This also makes sure no performance regressions using
the new wrappers. So the code works with or without the new
hypercalls.

> But there's also absolutely no information what those stats are.  From
> memory, I think it was wallclock time of migrating a VM, but there are
> no units or sizes of the VM presented, so those are just random numbers.
>

I had the same though. I quickly searched if Edwin reappeared on ML
but it seems not at the moment.

> It also doesn't state whether it's measured from a PV or a PVH guest.
> However bad PV is (and it is bad), I think the improvement will be
> better in a PVH guest, because the foreign map/unmap operations being
> replaced are even more expensive in PVH.
>

The PoC was simply stripping out PV support so surely they were
PVH/HVM statistics.

> There's another area in libxenguest which would likely benefit; domain
> construction.  Even with kernels and initrds in the MB range, foreign
> copy is probalby a win, and it surely will be for e.g. the ACPI tables
> which are a few kB.
>
> ~Andrew

Frediano


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 14:54:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 14:54:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1327998.1592659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9Sh-000117-Eg; Thu, 04 Jun 2026 14:54:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1327998.1592659; Thu, 04 Jun 2026 14: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 1wV9Sh-000110-5b; Thu, 04 Jun 2026 14:54:23 +0000
Received: by outflank-mailman (input) for mailman id 1327998;
 Thu, 04 Jun 2026 14:53:50 +0000
Received: from [195.190.135.10] (helo=mx.expurgate.net)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wV9SA-0000xw-8S
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 14:53:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV9S8-00207V-Kd
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 16:53:48 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a219173-5cb7-0a2a0a5109dd-0a2a4508ae86-20
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 16:53:48 +0200
Received: from [74.125.224.43] (helo=mail-yx1-f43.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a21917b-63b5-0a2a45080019-4a7de02be523-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 16:53:48 +0200
Received: by mail-yx1-f43.google.com with SMTP id
 956f58d0204a3-66077c46c5cso829861d50.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780584827; cv=none;
        d=google.com; s=arc-20240605;
        b=QDFhCY6zO8w5A80Yu7eOs9ZuHM2MwJ2Ae4rI5QIkcD16tKaFpesXoenBd2cQT8iaKO
         P5WZZQqlENodxlAqraE21rkXfS0e+BE5BUnYKwn4+gkKc5QUxGL756+d8KQGPUHH/a1Y
         wwp1z4d3LULqUlbfqL67ogTp/hj3gciMHv7h1PCpDqG3h+oHUs1pIMRbpwH0I5tSbrbp
         VOKIx/ReAbOwleoFggV7KVOaAO18Qv3TE7zUMlrTr28ojsgMpCtg64iA/VflXOXgjEHa
         wHIvsM+6Dc+UheJZmp1JNw8pnbEI+aIiVST+reslXT4mh8HnMPtKvjb4FfYVS7f+qe6O
         sZ0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature;
        bh=IkBbANetMCxqghNRXbWF8j+PjDLKAZbWvRSqS5GrfpU=;
        fh=38FPawrv/CpM0hOVM3+pacaNsP8K3Kcq1eyRmzZWXeE=;
        b=FqEeFb/gdzsuldwviqmjpCTENFQNOkJC3bngwGJII69tPVg77wKEnHcJ8XzUmSw/ak
         pvbUSmueZRutaDakiCqWoe9LP+SBQcqv2yMhcDrZhj4W4bZLPpi/RQHlpIOsSUmHtPhK
         NFDchcXaprqfa6NKXJ+UfJrLeiQTWXDJH87kRoaXMR+jiFguloh83ZatqxgUUD3sqAr5
         hZEyCuFYQYNTNPGr8FI9tt5jSKuJwCocv/+2r0imZRnBUN5SoZ1tdSp/66nkKMOYnB0n
         AxoLqmYzFt5hwC+2ujDCvMpPQYOjRT0gIuSdsgdpt0hbPq8gIMqA0rQ3qUtN9HrQbjHb
         YEqg==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780584827; x=1781189627; 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=IkBbANetMCxqghNRXbWF8j+PjDLKAZbWvRSqS5GrfpU=;
        b=UjmZdMyNU+7sA+PBzs2vVgHiCNfpXEM2R8qexP3qomGhuBGod9PP3yxMqHcQYKOuOM
         PkcpXP6cG9AuakKnktNdc1IyzU0G3uIO2JaBZ//e9PRnh7CYYi+TtRA9FF6W/smOxaI1
         6/5NlIZDMd3Nbv+35S2WAoU37AonQJB4TnjdxJZ6TIw0WzgvDkPYDgIyAD0RsoXYYoln
         DUfFXkh2pW/7LBjKYTHWINLy5XT66kuTqSB2nKwdiye8bOkjdiKXscahYGcJz9Fizvs7
         d7jrFR4CHSEz4DqiMfmQGixCdpNOSvYo0ZK+Ban8aMEvte/MkcOTPPH13SRBPXa5t/Ss
         AAbA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780584827; x=1781189627;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IkBbANetMCxqghNRXbWF8j+PjDLKAZbWvRSqS5GrfpU=;
        b=Ycja+rBYAAzahLXExRQ+Gyr362Pen1ZtX6tHIHlQtyR0XtkmBgwYYbXtpGMMQWtySJ
         rtr0egK3BCUGdkcy/E53t66soTkx/rUAldIvrW7u3vsDNvzU63jBtMeCq89hglSmD4Sh
         wcjDMW17y4ikJ1332gBypTvk1SOYD7TdN4hyq7ugyYDcqMTdQEbhILlBI9gwzpSiLW5e
         Dvgi3jAF55Rzhgd5Dm/iU2igRe4wKPqWgxvvNL85GMxYTjdSbxcVJpkOW5Z1a0fPZ/Gd
         FM4AdHaezgdS0INtBhtAhCI4UjYdw+1/2FZ9s5AV75X5OivtFTcpRSsv7MgfYo0ORenT
         Xbfw==
X-Forwarded-Encrypted: i=1; AFNElJ+e2UgQ+w5DAOdY23QX3Faiktgt61tv4QbHkYzF6wusWSXkY2LoZZg/u2WF0KBDneNacGvTi3P6L3A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxTEZ0Ow+TATujPiOXfbFOi0fWidaUR+NVg0hNMG33YGy5G0582
	0aSIevbUyYQUrSEj97XpA1eM9KoAGis9cl8faFPcCbteS8wUHmXABDR25onq0AI/2Obifcv6Y0+
	C8Yh7ZjTgVwTgh6zOdN/K1K60MxYonK4=
X-Gm-Gg: Acq92OEHZEdgXgSta32JcTswwRQwyRfKjBBMNyAMPTQIAsuXB0LZCHXVOc8u+odN219
	7zQFiPbk8CGx7WyCapcpc59evRUdZAKQlALuVFXIAQIEgBSqcbb6f5Md2QI7BnUY8SOjDvLeWaJ
	Fwc6XX2+OGemMZATgg86H5uGEKxfUpJOmtJ439en7i1ZHnpmVuujUjgeYS/AhdkzBy6QvS/PrHy
	J/b/FnG35niJ5BmoI1j2KHikJufyK1iYJ+fyXDtEtZ+JjD86a9cVy2YWqbviw3cC4Kq7VgN1YFQ
	+ir9dVQqDKHw9hjis826Qb2ISG4MXxifLotRBgkhIr1cViS9
X-Received: by 2002:a05:690e:2c1:b0:65e:40ef:dc8f with SMTP id
 956f58d0204a3-660dc561a19mr5663973d50.51.1780584826590; Thu, 04 Jun 2026
 07:53:46 -0700 (PDT)
MIME-Version: 1.0
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-4-frediano.ziglio@cloud.com> <35a67929-aaef-4b1f-8370-7dcdf096fbb1@suse.com>
 <CAHt6W4fXPy9o2VzO-E+PkNv+VA2FcRPTzJzH6gAyqwXuV6ytmg@mail.gmail.com> <9859bb92-d532-4169-9b0d-1d7543491d6c@citrix.com>
In-Reply-To: <9859bb92-d532-4169-9b0d-1d7543491d6c@citrix.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Thu, 4 Jun 2026 15:53:35 +0100
X-Gm-Features: AVHnY4J1C9YtvvpEyl4N1MJZBOQYY659UZlZ_wmMOY92l3JaYb1trP4K5b1CeX0
Message-ID: <CAHt6W4eojHTfRU8mmLDn=c2USXt4_=seRtu08wCvanUQ5O0oog@mail.gmail.com>
Subject: Re: [PATCH 3/6] x86/efi: discard .text.header for PE binary
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
X-purgate-ID: tlsNG-c1860d/1780584828-BD76EDB1-F4D3F243/0/0
X-purgate-type: clean
X-purgate-size: 1674

On Thu, 4 Jun 2026 at 15:31, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>
> On 04/06/2026 11:28 am, Frediano Ziglio wrote:
> > On Tue, 2 Jun 2026 at 13:15, Jan Beulich <jbeulich@suse.com> wrote:
> >>> --- a/xen/arch/x86/xen.lds.S
> >>> +++ b/xen/arch/x86/xen.lds.S
> >>> @@ -57,6 +57,9 @@ SECTIONS
> >>>    __image_base__ = .;
> >>>  #else
> >>>    . = __image_base__;
> >>> +  /DISCARD/ : {
> >>> +    *(.text.header)
> >>> +  }
> >>>  #endif
> >> We already have DISCARD_SECTIONS, so I think it needs clarifying why that
> >> can't be used / extended.
> >>
> > Yes, this can be done that way. Roger, do you agree on this ?
>
> You'll need to add a general ARCH_DISCARD_SECTIONS, and have x86 fill in
> {ELF,EFI}_DISCARD_SECTIONS conditionally.
>

I think binutils simply ignore sections not present so this is not
necessary. I'll test it.

> Also you need to fold this hunk.
>
> diff --git a/docs/hypervisor-guide/x86/how-xen-boots.rst b/docs/hypervisor-guide/x86/how-xen-boots.rst
> index 8b3229005cca..b6d852050a0c 100644
> --- a/docs/hypervisor-guide/x86/how-xen-boots.rst
> +++ b/docs/hypervisor-guide/x86/how-xen-boots.rst
> @@ -82,12 +82,6 @@ When a PEI-capable toolchain is found, the objects are linked together and a
>  PE32+ binary is created.  It can be run directly from the EFI shell, and has
>  ``efi_start`` as its entry symbol.
>
> -.. note::
> -
> -   xen.efi does contain all MB1/MB2/PVH tags included in the rest of the
> -   build.  However, entry via anything other than the EFI64 protocol is
> -   unsupported, and won't work.
> -
>
>  Boot
>  ----
>

Sure, thanks

>
>
> ~Andrew

Frediano


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 15:00:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 15:00:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328009.1592669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9Yl-0003Xs-AV; Thu, 04 Jun 2026 15:00:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328009.1592669; Thu, 04 Jun 2026 15:00: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 1wV9Yl-0003Xl-7S; Thu, 04 Jun 2026 15:00:39 +0000
Received: by outflank-mailman (input) for mailman id 1328009;
 Thu, 04 Jun 2026 15:00:37 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wV9Yj-0003Xf-6N
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:00:37 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV9Yi-0021ed-BO
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 17:00:36 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a21930e-5cb7-0a2a0a5109dd-0a2a4502e954-22
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:00:36 +0200
Received: from [40.93.195.28]
 (helo=SN4PR2101CU001.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a219312-af86-0a2a45020019-285dc31c5a8b-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:00:35 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DS0PR03MB7584.namprd03.prod.outlook.com (2603:10b6:8:204::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Thu, 4 Jun 2026
 15:00:31 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Thu, 4 Jun 2026
 15:00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ZHOdJSrAyyloto9JXNbgwIv8Y2XGCXbiNe8V1C1gRYbAEMqUTH5Bh1XTJFDxHjwTj4nWjzsNLyIm5ZD7fXiB0I3P5h1WVrF94B9wnnfpoKprm6xtpaRWbUbqEJ4uwEt8uJ9OsHyuLDNi1fCxHvhqJH2FpsFg+ps0suLkPFXilSqQ67u/zI1H8gRTXNFmnrK72mGmSm6ICmSvv7g2rhfPsPi9nWbL2bFaGG8bTBwvv+xYduDmbJppoZ0SWiMnpLKrVFYzge5wgM7Sxf2awi7Z3o59Ho24PimkAlFas426V7ewRUN808O+OaSfk3gZ9uG/qI8gzK1c7PplX6pLK3mq1g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hXmpbheSmskeH9lGm817+N7HqFK3kltSc6OGz9297+U=;
 b=voxWlT3GW+qEVURIpY/OwhqWrUeRHS4Z9hRkxsL3L8HFehg5fGw9BOc6kFYeqY1XoczolXtYzmiBugETYkdz40qBPV0y5lp2rqgZWXsDhh+LzbNbtNEtv1BIHZyXPDEN/PIPNt8qhAz1VtyVzBnspHJC225V2cmp1282AUn627OiiSptUFvV2T0Tez9Bjhu9UfA3mg3lI47bnupVATGpveDQVD7djfH1ijCCNhHkIi0KKiAOl5qfBKj46/tQ2EC842V03Z6Wb65kOHEvP+yw89wT971QBOpYHUBciHBacZxt+5fWZp3uzaqT92+IPzu/J0Tck4bqdq+8Z+hmUvppTQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hXmpbheSmskeH9lGm817+N7HqFK3kltSc6OGz9297+U=;
 b=EseEUCzbrDgtzys8nuX6mUZTxCq+A5VvHIhFkgh3yY2VBaT8B7JRnLFgUd7tvfI7v5oFQ/a2lenJrNjho8v+t6lEqeJrglEyOR+5SKYsqwOGtGWfWcAO80g1vSIgULa6TT7dRLWxOZda8lPeSWPYQJA6R04aon5js+F7Xy0RTgE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <474b6698-e620-4785-b3e6-698059748d89@citrix.com>
Date: Thu, 4 Jun 2026 16:00:26 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Jan Beulich <jbeulich@suse.com>, Teddy Astie <teddy.astie@vates.tech>
Subject: Re: [PATCH for-4.22 v2 2/2] x86/mcfg: relax memory map checks on
 newer firmware
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <20260604132523.95125-1-roger.pau@citrix.com>
 <20260604132523.95125-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: <20260604132523.95125-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO6P123CA0009.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:338::12) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DS0PR03MB7584:EE_
X-MS-Office365-Filtering-Correlation-Id: 5a7f920e-3463-49e3-5675-08dec24a0510
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|56012099006|4143699003|11063799006|6133799003|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	9WNwMGuNKD9xdyheLnARFIWInYGC2w7sEN3R296SaCq+hTu4BWDyZceQwWixK3n7kKOaF7DYGcMHgGEXK7PonYBXqt7WS7Xefpz6rcjcjvojnUYDGMdfghP05arrTrZJmJ3JPLJ/P96B1Mfy40rDmZxBfy+t0+wIoQjV+TcXDnWNY8yeU3x0Gw/laF4iMpu/a72qabLjKXWM9TAyWx+8ho1tz/WJdgEAklOV2F9AZzMzvjnvcBMLGRwBlDfuAJ/xtEOKbmRmXshx07PsNsGw2W+Ye9ayUaoKJdm5OC/PORgL5M1SqRiH7CyeHfmLCEOsiOOlm0YHfBI7fbzPXXAF/969+TPUF1Oaio3+JA5FpCj5ZhNKC8+tFxN3wMNo4EfHedA55AorqpMMJWHFRvNrLS0DBRp5iDA0RoRhMqVMlRoCsrAQ0q3euunVQeMVGvgU2TGkuNZZpMIDs+L/cnINzfa31eWxIOZDWJ8JKWDe/Kra3SAqxVH4lvI5LbKHbKuBOvlATanFobIKmP17AGUuQGWL48j2+IxI22MO65kzn7mKWJDNkJvid9LoHl4qMpHB4xOayS08HqSiGs06jiKnBjFymPxCUw80S1JeT81xkOSBUd4nkS6W2zQ+rlojhUwQYPgurn+cTCFFHTYyoC6QdGtJ3bWtCanYxb9ZAY4tT/Hbdg28j6gqxgRA4vW4hQKd
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(56012099006)(4143699003)(11063799006)(6133799003)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YmQ2QmdzaDllU0QwcFljbFRnS1VLMWJvT0JWZlhrdFRJZUQxMWl0V3pDMFZ2?=
 =?utf-8?B?dmp5SFhYdGM1bk1GUnY1aWd6clI3TFJGWktMa1NxeTVDeWRzeThyUHNJVERM?=
 =?utf-8?B?V1dXSVJXeUppU3psS1NOZTZWT3l2d0djY254WXptd0Erai91eFBQcFhiVWdq?=
 =?utf-8?B?UTNsSFRKZnEzUkNmV0tuOXUybkl4a1VrVWF6QS9tQ2lFV1VzaWRrbWpFaVRr?=
 =?utf-8?B?aDZtWXIvck5ONkk4b1k1Y0thdU5JanMxb1BQWGI4SmlxR0N4enBPZm9VRmsv?=
 =?utf-8?B?ZUV0T0dpWGp1NUFuMkZ6U3lMVE1Ib1lHbTY2MURuNitKQ0IvMDZza24yVmF0?=
 =?utf-8?B?bWtGYlI4WGhrK1hYRTVneFYycDJRRW5samxOUjlseWVCamRSU3R4ZEVJRGRZ?=
 =?utf-8?B?S2FoYVdsYXZxWU84bnFXMzVhMVlBUVJQaEtKZUJhYmhNa0hjVlRIUmtvUzRB?=
 =?utf-8?B?dUd3dUZxS3VrLzd4QnZSN05MQnI0dnZnbnQvb29Xb0Y5RE81cDlEVW94eTFQ?=
 =?utf-8?B?eFhRbVlMYk9oWDdVZnVKb1c4cThKSzBFbXJYT3NqeEFnb2h6d1B6SFpqU1FW?=
 =?utf-8?B?UXQ0djBLTlA2akoxNTVhek1qNjNiWVJZZi9wakEyVm9paWl0UlhqYy9wM3FS?=
 =?utf-8?B?R2NaMkttM3Q1VFppd1JERDEyN0RxNXI4cGpiQ2Fuc0RkZk9kbXdBeTBKUDNh?=
 =?utf-8?B?MHdKbndYRXM3Um1Jb2VRbFN3clpBc0s0bTJ1QUdqR0h1TEV6Y2RQMUdZalhq?=
 =?utf-8?B?YjhrTkpLa3RuU3Q0bGtheitZREdPOHhZOFNiMjNlOFlJbXgydTNBV1NZQnhy?=
 =?utf-8?B?clgxY3ZuTnRhd1F4Sk5lb3kxRzAyQWdOYTdrbUQxVE05UFkrelJjSTc4U01O?=
 =?utf-8?B?VFZSVmI4NjhFYVNRbXhYR1MxZnJET250ZDZvZG1uYy83bnhYdUZLZllDUlNr?=
 =?utf-8?B?aUF5SXpYYjJzd0RPSzNncnFUOE9VS01YZDg3ZDVXMXRPV0NySnBzNURkeS9j?=
 =?utf-8?B?NzZ6MXdQblExQ3VlMUU1NHdQa25paWp3SEdDMDUyRlVrdXI4aU1DM2lNRmRE?=
 =?utf-8?B?eStDNG85QlBSaDFiaVBFai9EeG03dFVEK05Ka1hZVjltUUdLNW5uQVN5Nndw?=
 =?utf-8?B?akkxL1RGN0N0Nms0d1l4Y2RXS1E2Zjd6eDEzdFRVNUdRbVVGNjJFazlrbFkx?=
 =?utf-8?B?a1Zxby9wQ1RSbVFSc0NBUkJSdndGOFZmS3hiTmxRb3VUU3ArdFFyM3luV2pJ?=
 =?utf-8?B?c2FwYTBYSFRLQTFDZDZVdXpLTEdCRFQwcG44eTJFZjF0OGtTUHNUUU1pZnkz?=
 =?utf-8?B?Q1JVNTI5cHJDTXg0MitQUjVUMHhSNUNsdnk3S0FZU3FoVVNnMWhVbGI0NFdn?=
 =?utf-8?B?QkFwenF0ckh4K0dDQ0xzZnZETDR5NFdDUG9KdFI4M1BGR2g3RHlWZlpQUG1y?=
 =?utf-8?B?dkc1bi9jbnNQZWNXa0tpWVFZbE1nZkhlMm4xZmtaSmlhTW4wVzFIQXd1SHVN?=
 =?utf-8?B?QUV2NlYzZjhDY0RZd0VIZkZ0T2szM0JObjAzWkMzYTY2MnlGYmhhL3MzRmV1?=
 =?utf-8?B?RmUxck1lWUNjV01DL2lYb3RoR0pNaWRWYVIrbXJBbmFPL0RuYWZSWk41ZEl2?=
 =?utf-8?B?ODFPOXdVeUNJNThPUFBwa3EzSGVoWE9DSCs4NkhXMVUvR05pajhzdjVUSXdS?=
 =?utf-8?B?MlVld0wzcWRUZUNmSVBVRnF4NG1NeTVWd05LcU8yQ2xXdUtSZFRmVzgzRlJU?=
 =?utf-8?B?VzhmRm90RUxJaktKUitvWVN0UG1ha3pwRHZ0ekxiMXFJcXhUZUdlLzhNbUZn?=
 =?utf-8?B?a2l1UFJRdE5Kc3NVUmh2M3NhNG9DSzEvUXl6RzFZeFRsWTVqQ1U4a2RNMENN?=
 =?utf-8?B?NGVMOWZMVjh2dVZkalhrMGNuYk9LT2N6VDZQQjAreDhsRHBXKzRjaGx1Zmxk?=
 =?utf-8?B?aEFSdXZYZ0ZuWVNQWXNNa2MvN204bWo3OHpGaE1RUWxTZUZkZGtBZVBFNC9L?=
 =?utf-8?B?eVFlWDBKa0ppQmsvMi9XSDhMNDZXOGdDZzN6TUhvUTFaRDRIWlBOS0xOZW5v?=
 =?utf-8?B?TVFJRjIzckhlL2l6OWRSVTBLNVFqQTdSb2FsdTJSVnBlR01lS3dVbnd4N3Fm?=
 =?utf-8?B?NDU2Q1dBRWlGRURnK3k3MEtOWDJVOTVnQzR4amtPdmFPUXV4NlIrMWV0UVZs?=
 =?utf-8?B?NHI2YWZpQ29jTlB1bUVnSnlpN3NqMWJuYkFtMEtIMEJtaUNveEJWRWt1OWlo?=
 =?utf-8?B?all2S2RSOW1ZcFYyT1Zpb0JMK25rdHBvMkZZdkg5YkpvcFRoSmlQNjVPU0s5?=
 =?utf-8?B?ZmJxRzRkU2ZlR0dZQXZXamlIK2pIbllDbFZ2U1FUZHpXaFFJYmFaeGRFNFV1?=
 =?utf-8?Q?9BjIi7miLV9RLKqA=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5a7f920e-3463-49e3-5675-08dec24a0510
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 15:00:30.2396
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6oi0r4i9SmVqgM1wQ48I9V49idQODIcoUEM0nvWwLK/F6+rn/aZDey/6nOmFaDXhvbCGMUpG2DIjXWR3Dsnh2GCxwWNr5RhyTPAFoIzD04U=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR03MB7584
X-purgate-ID: tlsNG-720697/1780585236-8316D161-DF6818D2/0/0
X-purgate-type: clean
X-purgate-size: 2001

On 04/06/2026 2:25 pm, Roger Pau Monne wrote:
> Per PCI Firmware 3.3 specification, section 4.1.2, ECAM space must be
> reserved by declaring a motherboard resource, but there's no requirement to
> mention it in E820.  The specification additionally states that: the
> resources can optionally be returned in Int15 E820h or EFIGetMemoryMap as
> reserved memory.
>
> This fixes an issue with detection of extended capabilities when running
> Xen on a Lenovo system that doesn't list the MCFG area as an
> EfiMemoryMappedIO region (or as any other type) in the EFI memory map.

This still doesn't quite track properly.

"Recent Lenovo systems have been found to have the MMCFG region in an
E820 hole, which looks to be technically spec compliant, but is rejected
by Xen."

That then bridges nicely into the subsequent paragraph, perhaps dropping
"more strict" too.

> The more strict logic was introduced in Linux in 2006 as 946f2ee5c731
> ("[PATCH] i386/x86-64: Check that MCFG points to an e820 reserved area").
> This was picked up by Xen when MCFG support was added in 3b35911d709e
> ("Enable pci mmcfg and ATS for x86_64").  Apply an approach similar to
> what Linux has done in 199f968f1484 ("x86/pci: Skip early E820 check for
> ECAM region") and relax the strict reserved region checking so it's only
> done for firmware manufactured prior to 2016.  For firmware from 2016 and
> newer allow MCFG region to reside in holes on the memory map.  Note Xen is
> still more strict than Linux however, as it will refuse to use MCFG regions
> that overlap with memory map regions different than reserved.
>
> When dom0 boots it can prevent access to misconfigured MCFG regions by
> using the PHYSDEVOP_pci_mmcfg_reserved hypercall.  This brings Xen's early
> usage of MCFG (prior to ACPI AML parsing) more in line with the
> implementation in Linux.
>
> 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 Jun 04 15:08:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 15:08:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328015.1592679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9gA-0004rl-4R; Thu, 04 Jun 2026 15:08:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328015.1592679; Thu, 04 Jun 2026 15:08:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9gA-0004rd-0M; Thu, 04 Jun 2026 15:08:18 +0000
Received: by outflank-mailman (input) for mailman id 1328015;
 Thu, 04 Jun 2026 15:01:59 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dimitri.daskalakis1@gmail.com>) id 1wV9a3-00042W-0H
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:01:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV9a2-00ALZ2-DF
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 17:01:58 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a219365-bab6-0a2a0a5309dd-0a2a4505a566-6
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:01:58 +0200
Received: from [209.85.216.52] (helo=mail-pj1-f52.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a219364-aaa8-0a2a45050019-d155d834c995-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:01:58 +0200
Received: by mail-pj1-f52.google.com with SMTP id
 98e67ed59e1d1-36bcf3d2565so604999a91.3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 08:01:57 -0700 (PDT)
Received: from localhost ([2a03:2880:7ff:4f::])
 by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-c85df0be0f0sm5020782a12.30.2026.06.04.08.01.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Jun 2026 08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780585316; x=1781190116; 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=u02hzxNTDDgX0UOR1yiCb+UilA+qxlSoulScblTnv2M=;
        b=c7vlIbEdefR3eVVIufGH5S57IaIjxpD1U9uLlnByTqxUZA5iprams9w+uYbXocJO8N
         BP3c2CH+jBOgrnY4qzvV2gRvb7omXOhsm3mVpUcYObn/VTvgUa1pjQwuTokPhwdDaRg4
         SZ6KivmiBYg54Cs0fGcxF0edre0bxB44QB9LqSVJjHACiEsJaR1d4AVWlC24/ABWUpyK
         wb1b27tQbcgASOCa7vbcyrOXlo/vZbq87G/rXUPum2YjDYRqtX4/Q6LkzxA/NxhJrHuN
         WYA+MD/R8ktvY++HG86bITLsLbMUq/htVLBK7FqN+W7c08TtbB2T3UHK7l1KRk1R3DyP
         MJKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780585316; x=1781190116;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=u02hzxNTDDgX0UOR1yiCb+UilA+qxlSoulScblTnv2M=;
        b=ca4OG+tJwYD5J5qgtcgB8meqDYGNeM1+DUJsiX7WNBfAmmaIQke5Kgk+ydVCIFYVPl
         Wbt/GDsmQFy0Nimr5MPgufNL6FB9suiL41JBggRPEUB22/PDZp8cmhiYB+u7h0JhCibn
         kFGr6SgQO28gHEITe9cIHJEtwRIRtuPVZMaNz0asVV1nS9u7I09Y9fyrkFAYyZie+Q6R
         ktKUSsz0Ciac5a5qmd69EpISXXW5y0YiyAqakwUdbKUqy6Cn5753CC9WHtywrwEFyT9k
         ampHS/d09q/PoMa2b4YyoRezAIFvra8aMLqmeDXaktwYN92/3QCHV+/LrXRHznpD0e7J
         rbrA==
X-Forwarded-Encrypted: i=1; AFNElJ+zkGrqUD6RS5GH6cP187gKsaDPrtuvRU5APVZKlmrcEv29pIWz6wfIXQ3b0qjhLMs1LG51sHmz1eY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyhiPi04aAO5OxU2NT8UWh+no/zU2ULm/Z9iyzDV1z0qhfFrY9N
	hNE5S42MO9aauMNFDhbCLW9GJGc1UPGCJsKQwYNWmPOUPjlZhKjun1gM
X-Gm-Gg: Acq92OH0OP/s1BO9Wcacv99pFQqX9spayB0FFGEvmc3AKbi1iPXstpSIiXKUUzDcFmD
	LziwkPP0EEe9Vvx4YKvaTJjvYonhE2Q8W5cQWIpW0fL4OGEpWake8f3PEirO4ejFlPooSePRXtv
	bKpsZFt/U18v1B5Y+oL5RmzjV4IxL8e641+H2Jk/L72WI2rAOVKWnYCNiN0JylZrqEeTtcLF1K7
	4eEzgY/J4imvQHKecZpPfNTzRRa4tplTxD1xUzfY8HdU4nFDQ+AgK2qEUrB2bEWhkbc75QUT7Qh
	fjh5whcO0p2cT8Cp5ap10o7CmlT/y3FO2g4zJ5f7w29Xy3y65F6pH/IIz8MzHsgDSLxJtLCmLaK
	0giAs5yvepirOXCM/fKOp1jLDO80DxkOgvf6BzMJeN10zwTWyH1vaesZejtwtIul1hJdwsIntEL
	Ar3rQVk9VjAG5P2nf2udYeoX9DThcx7FUdz7TxowKeRtEtZgyG
X-Received: by 2002:a17:90b:2d8d:b0:36b:e8b9:46a4 with SMTP id 98e67ed59e1d1-36e32285cf3mr8241830a91.14.1780585315438;
        Thu, 04 Jun 2026 08:01:55 -0700 (PDT)
From: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Alex Williamson <alex@shazbot.org>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Kevin Tian <kevin.tian@intel.com>,
	Ankit Agrawal <ankita@nvidia.com>,
	Leon Romanovsky <leon@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Keith Busch <kbusch@kernel.org>,
	Alexander Duyck <alexanderduyck@fb.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Dimitri Daskalakis <daskald@meta.com>,
	linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC 00/12] PCI: Add support for Scalable I/O Virtualization
Date: Thu,  4 Jun 2026 08:01:41 -0700
Message-ID: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
X-Mailer: git-send-email 2.52.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1780585318-D9D77443-BF657CB7/0/0
X-purgate-type: clean
X-purgate-size: 4170

From: Dimitri Daskalakis <daskald@meta.com>

Scalable I/O Virtualization (SIOV) is the next-generation alternative
to SR-IOV. The goal of SIOV is to support more virtual devices than SR-IOV
can currently support, while relaxing many of the HW requirements of SR-IOV.

SIOV VFs are referred to as Scalable Device Interfaces (SDI). An SDI has
a unique PCIe Routing ID (RID), but has no configuration space, BAR,
or MSI-X table.

An overview can be found here:
https://pcisig.com/PCIExpress/ECN/Base/ScalableIOVirtualization

Since SDIs lack HW support, the complexity will fall on software
(hypervisors, vmms, drivers, and/or firmware) to provide the same isolation
guarantees for SIOV that SR-IOV has today.

This patch series is one step in that direction, allowing the PCI subsystem
to discover the SIOV capability during enumeration. This was the minimum set
of changes needed so I could test the SIOV feature of developmental HW in
emulation. I have not tested a device that supports both SR-IOV and SIOV,
but this combination is allowed per the spec.

SIOV has two ways to assign RIDs, strided (like SR-IOV) or software assigned.
To support software RID assignment, you need to compute the RID allowlist
after all PCI devices have been enumerated. I've deferred this complexity
for now and only implemented strided RID assignment.

Patch 1 adds helpers to identify if a PF/VF is a SR-IOV PF/VF. The PF and
VF bits within struct pci_dev should be agnostic of virtualization type.
The helper uses the current logic which assumes any PF/VF is SR-IOV.

Patch 2-7 uses the new helpers throughout core. I didn't convert certain
device drivers (drivers/net, drivers/gpu) because the devices will not
suddenly start advertising the SIOV capability. These can be updated in
the future if desired.

Patch 8 tightens the helpers introduced in patch 1 with a new is_sriov bit.

Patch 9 is a small refactor for computing VF RID which can be shared
between SR-IOV and SIOV.

Patch 10-12 add SIOV definitions, capability detection, and bus reservation.

With this patchset core enumarates the SIOV capability and can identify
SIOV PFs. But there is no central mechanism to allocate/manage SIOV VFs.
To support device pass through, devices will need to add a vfio-mdev
driver with IOMMUFD support (or something similar).

Dimitri Daskalakis (12):
  PCI: Add helpers to identify SR-IOV PFs/VFs.
  PCI: Convert iov.c to pci_is_sriov_* helpers
  PCI: Convert pci.h to pci_is_sriov_* helpers
  PCI: Convert arch/powerpc to pci_is_sriov_* helpers
  PCI: Convert s390/pci/pci.c to pci_is_sriov_* helpers
  PCI: Convert vfio_pci_core.c to pci_is_sriov_* helpers
  PCI: Convert xen-pciback and pci-driver to pci_is_sriov_* helpers
  PCI: Add is_sriov bit to struct pci_dev
  PCI: Add helper to compute VF Routing ID to pci.h
  PCI: Add Scalable I/O Virtualization data structure definitions
  PCI: Initialize and release SIOV capability
  PCI: Reserve bus range for SIOV devices

 arch/powerpc/kernel/pci_dn.c                 |   4 +-
 arch/powerpc/platforms/powernv/pci-ioda.c    |   6 +-
 arch/powerpc/platforms/powernv/pci-sriov.c   |  10 +-
 arch/powerpc/platforms/pseries/eeh_pseries.c |   8 +-
 arch/powerpc/platforms/pseries/setup.c       |   4 +-
 arch/s390/pci/pci.c                          |   2 +-
 arch/s390/pci/pci_iov.c                      |   1 +
 drivers/pci/Kconfig                          |  11 ++
 drivers/pci/Makefile                         |   1 +
 drivers/pci/iov.c                            |  58 ++++----
 drivers/pci/pci-driver.c                     |   4 +-
 drivers/pci/pci.h                            |  43 +++++-
 drivers/pci/probe.c                          |   6 +-
 drivers/pci/siov.c                           | 134 +++++++++++++++++++
 drivers/vfio/pci/vfio_pci_core.c             |  12 +-
 drivers/xen/xen-pciback/pci_stub.c           |   2 +-
 include/linux/pci.h                          |  29 +++-
 include/uapi/linux/pci_regs.h                |  12 +-
 18 files changed, 289 insertions(+), 58 deletions(-)
 create mode 100644 drivers/pci/siov.c

-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 15:08:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 15:08:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328034.1592733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9gD-0005qX-8R; Thu, 04 Jun 2026 15:08:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328034.1592733; Thu, 04 Jun 2026 15:08: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 1wV9gC-0005ni-Pw; Thu, 04 Jun 2026 15:08:20 +0000
Received: by outflank-mailman (input) for mailman id 1328034;
 Thu, 04 Jun 2026 15:02:10 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dimitri.daskalakis1@gmail.com>) id 1wV9aE-00047V-OO
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:02:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV9aE-00B95r-4e
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 17:02:10 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a219364-2eae-0a2a0a5409dd-0a2a4509e686-44
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:10 +0200
Received: from [209.85.214.174] (helo=mail-pl1-f174.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a219370-2497-0a2a45090019-d155d6aea9d5-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:09 +0200
Received: by mail-pl1-f174.google.com with SMTP id
 d9443c01a7336-2bf77d4a4e2so11468985ad.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 08:02:09 -0700 (PDT)
Received: from localhost ([2a03:2880:7ff:4d::])
 by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-2c16629d042sm63879855ad.60.2026.06.04.08.02.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Jun 2026 08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780585328; x=1781190128; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WoqDAswymnFuDctzAHclbYUv6AH/JbUjYrzVeObwiVA=;
        b=jkGzUa7ya6kz419ZUmzAcQIQT2qYhnJm39MSBBSVdNsrHhfrpm/6gX3HqwQ+oUKgLw
         NNvjJXjASYCZdR+AHlAyhQhQG8r448Lh/TKF/TFUa8Hg8kH2SjR6WH67iXrb+yHrY1Io
         leATirggYiDe0BQU05MdXCeIGOxtlVjvR1yaYOkp9MMauAPqxf00PeEpIA7nx2jhPxIR
         Md88EqqKVKkdzMmosWaJDW44b07gF8UkNaVkbnBmGzqx0g3tGdqoAn+HDsHCwEMIeD8U
         moRemDlkaeWPGHH/9E4bz0rTickyh7nM/qjoIo0efqn9m84t0T6H/4hh74bixP3GWIvU
         9bfw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780585328; x=1781190128;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=WoqDAswymnFuDctzAHclbYUv6AH/JbUjYrzVeObwiVA=;
        b=ZQkiUBZ0/bN1+BXZbDPkURIoyGjrVqinAM6XpBeFywpceqgWSdkUHt2UufT5F6K6rP
         zdrBsuDZj4/3Dc6y0SDykdYw2zjEjhrRxlbnn1HCdGyFAn+FhYWv+zXp56aRZ2BQYNJq
         1+CRSHb5yOZSYcYri0eRFiQj7l5+Q2cAJaZnqHOjFLBwIbIIZZuVoGD/edPyixFS4fnt
         bahNfuust7Lx5ilfodHwW/6KzLJZdMBTAOwKYICVpU+mjQ0KtUPOQNcqtGZ/M/AIXnPF
         sW6lOHwNIFHE415TziSHtIHjiM6mNJcXRN4OwfgE4IFhdwTTePD5iSdeYVuX0PHXF9Yt
         oMJA==
X-Forwarded-Encrypted: i=1; AFNElJ9F2TGTk0Ob9G3f9d9AZbPKfA1qA+Q9FZvpcHx+jursVZtyCCj54Ppw+3W9NPOirL96dh6JBaY2/kY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyNe8l4Kzc7drv5/PDgps0Z7dkBtPtJtdCbQuVnuzcT/jVQJei2
	pW0ZIatkBuXZQHznoKrWM40uxm0LlPFKFMaWeOxniAQOMLSAaX8kQz6m
X-Gm-Gg: Acq92OGjvF4lW960fGlhRq+nLBAp1Nj2J04KcTBl8IT//p2bRiURZJ2ANIPTh7tFi3u
	ivUuzM1JtNRePcJjUZQI+imSDrrl6QleTAwuz5D1j5Njtn49uaca6NIMaUirCy4G9grZ1K7XARD
	ddObmNd/LmNBkFk36JDhKSBRzHAg9jlKSnhkFsfL+ZWAwAidJyTMau3MeWjjfIxiHofXRSXCfeX
	VBKwSTwx+713rFq0SdabhTDFtUfQMkUVKOPPbg5T8A4WjG7CtByAiMrRae+7/adCsGl7LEyZpwJ
	hhOBTGaH2BjXNZYnStF18qr8+fRjJds1dQrQiiz6SHsQUVbV9CRW5WFhMnjwyl4mkpV/s/EZv3C
	ST8DeCBUyHAZEeL0LIg/x3mDbFLDM8rs+BZKsXkGjPIUMa3PbUb/OVOQffOcUb3Fu3MLUE5X6ej
	2bOk0Ir96TcUO7ytNhMRqVKIlYzk6aIZLlF7AbCJo=
X-Received: by 2002:a17:902:820e:b0:2c0:a858:8128 with SMTP id d9443c01a7336-2c197b1805fmr25629535ad.1.1780585327615;
        Thu, 04 Jun 2026 08:02:07 -0700 (PDT)
From: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Alex Williamson <alex@shazbot.org>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Kevin Tian <kevin.tian@intel.com>,
	Ankit Agrawal <ankita@nvidia.com>,
	Leon Romanovsky <leon@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Keith Busch <kbusch@kernel.org>,
	Alexander Duyck <alexanderduyck@fb.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Dimitri Daskalakis <daskald@meta.com>,
	linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC 08/12] PCI: Add is_sriov bit to struct pci_dev
Date: Thu,  4 Jun 2026 08:01:49 -0700
Message-ID: <20260604150153.3619662-9-dimitri.daskalakis1@gmail.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
References: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1780585330-40F66A53-11CEE0FF/0/0
X-purgate-type: clean
X-purgate-size: 3084

From: Dimitri Daskalakis <daskald@meta.com>

We need a way to disambiguate the virtualization type of a PF/VF.
PFs may support multiple types of virtualization, while a VF should
only support one.

Tighten pci_is_sriov_physfn() / pci_is_sriov_virtfn() to ensure the
is_sriov bit is set. This allows the existing is_physfn/is_virtfn
bits to be agnostic of virtualization type.

No functional changes for SR-IOV.

Assisted-by: Claude:claude-opus-4.7
Signed-off-by: Dimitri Daskalakis <daskald@meta.com>
---
 arch/s390/pci/pci_iov.c | 1 +
 drivers/pci/iov.c       | 4 ++++
 include/linux/pci.h     | 5 +++--
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/arch/s390/pci/pci_iov.c b/arch/s390/pci/pci_iov.c
index 13050ce5c3e9..82e9ef1f132f 100644
--- a/arch/s390/pci/pci_iov.c
+++ b/arch/s390/pci/pci_iov.c
@@ -53,6 +53,7 @@ static int zpci_iov_link_virtfn(struct pci_dev *pdev, struct pci_dev *virtfn, in
 		return rc;
 
 	virtfn->is_virtfn = 1;
+	virtfn->is_sriov = 1;
 	virtfn->multifunction = 0;
 	virtfn->physfn = pci_dev_get(pdev);
 
diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
index 5de26057b99a..4aed4f6a42c3 100644
--- a/drivers/pci/iov.c
+++ b/drivers/pci/iov.c
@@ -326,6 +326,7 @@ static struct pci_dev *pci_iov_scan_device(struct pci_dev *dev, int id,
 	virtfn->vendor = dev->vendor;
 	virtfn->device = iov->vf_device;
 	virtfn->is_virtfn = 1;
+	virtfn->is_sriov = 1;
 	virtfn->physfn = pci_dev_get(dev);
 	virtfn->no_command_memory = 1;
 
@@ -897,6 +898,7 @@ static int sriov_init(struct pci_dev *dev, int pos)
 		iov->dev = dev;
 
 	dev->sriov = iov;
+	dev->is_sriov = 1;
 	dev->is_physfn = 1;
 	rc = compute_max_vf_buses(dev);
 	if (rc)
@@ -906,6 +908,7 @@ static int sriov_init(struct pci_dev *dev, int pos)
 
 fail_max_buses:
 	dev->sriov = NULL;
+	dev->is_sriov = 0;
 	dev->is_physfn = 0;
 failed:
 	for (i = 0; i < PCI_SRIOV_NUM_BARS; i++) {
@@ -926,6 +929,7 @@ static void sriov_release(struct pci_dev *dev)
 
 	kfree(dev->sriov);
 	dev->sriov = NULL;
+	dev->is_sriov = 0;
 }
 
 static void sriov_restore_vf_rebar_state(struct pci_dev *dev)
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 28892243f49f..ca84f66425b2 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -479,6 +479,7 @@ struct pci_dev {
 	unsigned int	state_saved:1;
 	unsigned int	is_physfn:1;
 	unsigned int	is_virtfn:1;
+	unsigned int	is_sriov:1;		/* SR-IOV is enabled on this device (PF or VF) */
 	unsigned int	is_hotplug_bridge:1;
 	unsigned int	is_pciehp:1;
 	unsigned int	shpc_managed:1;		/* SHPC owned by shpchp */
@@ -606,12 +607,12 @@ static inline struct pci_dev *pci_physfn(struct pci_dev *dev)
 
 static inline bool pci_is_sriov_physfn(const struct pci_dev *dev)
 {
-	return dev->is_physfn;
+	return dev->is_physfn && dev->is_sriov;
 }
 
 static inline bool pci_is_sriov_virtfn(const struct pci_dev *dev)
 {
-	return dev->is_virtfn;
+	return dev->is_virtfn && dev->is_sriov;
 }
 
 struct pci_dev *pci_alloc_dev(struct pci_bus *bus);
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 15:08:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 15:08:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328027.1592717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9gC-0005XE-6o; Thu, 04 Jun 2026 15:08:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328027.1592717; Thu, 04 Jun 2026 15:08: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 1wV9gB-0005U4-TA; Thu, 04 Jun 2026 15:08:19 +0000
Received: by outflank-mailman (input) for mailman id 1328027;
 Thu, 04 Jun 2026 15:02:08 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dimitri.daskalakis1@gmail.com>) id 1wV9aB-00046h-T0
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:02:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV9aB-00ALcc-9a
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 17:02:07 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a219360-bab6-0a2a0a5309dd-0a2a4504ca5a-42
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:07 +0200
Received: from [209.85.216.54] (helo=mail-pj1-f54.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a21936d-1dec-0a2a45040019-d155d836c520-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:07 +0200
Received: by mail-pj1-f54.google.com with SMTP id
 98e67ed59e1d1-36ab8816a35so480701a91.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 08:02:06 -0700 (PDT)
Received: from localhost ([2a03:2880:7ff:41::])
 by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-36f6d109dcdsm4398717a91.9.2026.06.04.08.02.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Jun 2026 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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780585325; x=1781190125; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xaX3iBh5aQ6ieP4wRDACjZGRgQdbq9tB2uoE6aInkl8=;
        b=Ifx0RzeWY15z2I60MHVeDWX1r9Erb4zYyBD1EA3U3TzXlRkObNYRfhkA7sIqKFO4CI
         YObzC0ygy/8KNYyR4ofNwYjCoO6zJebsIMmXQChIyK/DyNuJ47X6VYMxLCOtl4ygVyJy
         gUBRdTnKH/mu1/+523z/nyRYNyhujAN/0cghjaXMQ6YvgHqh0RaTeVsrVgn+1YhgGQ+9
         Pxccshm0Lpog5dqId8Vf90P++p6kBwyedU1pgFrnvXIXfeNZn3FF2PNWin0B83F+ZMlN
         Bv/go44szf5O/VlEmY9it+WWFLiqpYhchsJ0dn8h0ft00mMnuh4iZidEucB5mK2+cYXr
         Y5+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780585325; x=1781190125;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=xaX3iBh5aQ6ieP4wRDACjZGRgQdbq9tB2uoE6aInkl8=;
        b=OOWTmtc1+vyi2vVRL4SYD5jc+FxKs1S8IUDtM7YGv2iK0hi35SDf/23CvWxOKkoR7i
         jioeevqyfBeWqh5s+8AR6AbOUBs66x96eueU4nSgSFhPVe+Wv+Y+k12l4mhSJfB+bZXr
         SHcFumRBs9hDmhW7TFkZYtOrgNsD04plEIa/59szr4e6gfVn5jzhQc+1ZZWLjzT4Jx28
         M+vT08Umhenc1EXol0k1IwhvTmHG+laNQp3G9RqZXDXSxyHcy3V+vL0KAkbII4YrQF0h
         w7bKYe44ymwSp5tKDTZ85nKok7rdPGuGpEqKzLhgZpLzVVBS2frmxEnyyvt/gQH+bxSI
         wrPQ==
X-Forwarded-Encrypted: i=1; AFNElJ9YM2DYyTqIyJJC6FVOIggBmbpHrOWIBpbs+cmwtvjhDIRYGjT7pKKyOh2DqxIZiCkrleI0LHL0aas=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyxUAawBvuJ/n5rfNO1l5+7HkVXB679WgUpVTkTOryQaB9SDtSI
	UHeknSyJhtS0N5jDKgRle3Jc1X8ecoxaSOijOxWuKlvJ4mMfHV5xrvGx
X-Gm-Gg: Acq92OEjg8oY09oRUjdHFCyaGYrkO7hVkw/gudfDb8X8sG95F60Ip3mdrrCkTcpVWOH
	zGmEQQxvT4REVo2iLw2mw3Lf4t0qyADuPP3zEQQDee8ec528Rv8XaaLvNxAKlClk1wwIzfvtetN
	f7Vaa2AYIqnW1aXsFWeXhOldUMyYb6x3AZg6dqO5m4Fyz7RXBvtNtOmyDwzJX6CIoa2NU+ek5bL
	TjwbLubjew4ZSGbswSgOlHpigIS10v0aC/pYy3UOIeBqI347Y9d8nOtUgPjqONeGsDqHj8Y618H
	ST/VX/5PmvLqpv7Jwm3PvcXEuKYG4Rhi7YTYRp2hJ0Yqd0rPblEsufrM2bo3PTAd6Xjf+ZzrpKQ
	oAdupAxfK5G81DMIy1KsZbHnCwKwMIE548MhmY9GpisJ0F1jKiwuXRh6Zakuq9TXkP7XfjfSaFq
	z4IwytLrMOyyfLM1KTqp77jcSSxYYidadpmu1FzdI=
X-Received: by 2002:a17:90b:3bc4:b0:36a:1ed8:6fe6 with SMTP id 98e67ed59e1d1-36e332f7e45mr8166646a91.24.1780585324132;
        Thu, 04 Jun 2026 08:02:04 -0700 (PDT)
From: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Alex Williamson <alex@shazbot.org>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Kevin Tian <kevin.tian@intel.com>,
	Ankit Agrawal <ankita@nvidia.com>,
	Leon Romanovsky <leon@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Keith Busch <kbusch@kernel.org>,
	Alexander Duyck <alexanderduyck@fb.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Dimitri Daskalakis <daskald@meta.com>,
	linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC 06/12] PCI: Convert vfio_pci_core.c to pci_is_sriov_* helpers
Date: Thu,  4 Jun 2026 08:01:47 -0700
Message-ID: <20260604150153.3619662-7-dimitri.daskalakis1@gmail.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
References: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ebf023/1780585327-4197A3FF-2626D5A3/0/0
X-purgate-type: clean
X-purgate-size: 2535

From: Dimitri Daskalakis <daskald@meta.com>

No functional changes.

Assisted-by: Claude:claude-opus-4.7
Signed-off-by: Dimitri Daskalakis <daskald@meta.com>
---
 drivers/vfio/pci/vfio_pci_core.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/vfio/pci/vfio_pci_core.c b/drivers/vfio/pci/vfio_pci_core.c
index 3f8d093aacf8..ad8069612cb2 100644
--- a/drivers/vfio/pci/vfio_pci_core.c
+++ b/drivers/vfio/pci/vfio_pci_core.c
@@ -1856,7 +1856,7 @@ int vfio_pci_core_match_token_uuid(struct vfio_device *core_vdev,
 	 *
 	 * If the VF token is provided but unused, an error is generated.
 	 */
-	if (vdev->pdev->is_virtfn) {
+	if (pci_is_sriov_virtfn(vdev->pdev)) {
 		struct vfio_pci_core_device *pf_vdev = vdev->sriov_pf_core_dev;
 		bool match;
 
@@ -1979,13 +1979,13 @@ static int vfio_pci_bus_notifier(struct notifier_block *nb,
 	struct pci_dev *physfn = pci_physfn(pdev);
 
 	if (action == BUS_NOTIFY_ADD_DEVICE &&
-	    pdev->is_virtfn && physfn == vdev->pdev) {
+	    pci_is_sriov_virtfn(pdev) && physfn == vdev->pdev) {
 		pci_info(vdev->pdev, "Captured SR-IOV VF %s driver_override\n",
 			 pci_name(pdev));
 		WARN_ON(device_set_driver_override(&pdev->dev,
 						   vdev->vdev.ops->name));
 	} else if (action == BUS_NOTIFY_BOUND_DRIVER &&
-		   pdev->is_virtfn && physfn == vdev->pdev) {
+		   pci_is_sriov_virtfn(pdev) && physfn == vdev->pdev) {
 		struct pci_driver *drv = pci_dev_driver(pdev);
 
 		if (drv && drv != pci_dev_driver(vdev->pdev))
@@ -2005,7 +2005,7 @@ static int vfio_pci_vf_init(struct vfio_pci_core_device *vdev)
 	struct pci_dev *physfn;
 	int ret;
 
-	if (pdev->is_virtfn) {
+	if (pci_is_sriov_virtfn(pdev)) {
 		/*
 		 * If this VF was created by our vfio_pci_core_sriov_configure()
 		 * then we can find the PF vfio_pci_core_device now, and due to
@@ -2025,7 +2025,7 @@ static int vfio_pci_vf_init(struct vfio_pci_core_device *vdev)
 	}
 
 	/* Not a SRIOV PF */
-	if (!pdev->is_physfn)
+	if (!pci_is_sriov_physfn(pdev))
 		return 0;
 
 	vdev->vf_token = kzalloc_obj(*vdev->vf_token);
@@ -2166,7 +2166,7 @@ int vfio_pci_core_register_device(struct vfio_pci_core_device *vdev)
 		return -EBUSY;
 	}
 
-	if (pci_is_root_bus(pdev->bus) || pdev->is_virtfn) {
+	if (pci_is_root_bus(pdev->bus) || pci_is_sriov_virtfn(pdev)) {
 		ret = vfio_assign_device_set(&vdev->vdev, vdev);
 	} else if (!pci_probe_reset_slot(pdev->slot)) {
 		ret = vfio_assign_device_set(&vdev->vdev, pdev->slot);
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 15:08:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 15:08:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328024.1592700 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9gB-0005FL-BE; Thu, 04 Jun 2026 15:08:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328024.1592700; Thu, 04 Jun 2026 15:08: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 1wV9gB-0005C8-65; Thu, 04 Jun 2026 15:08:19 +0000
Received: by outflank-mailman (input) for mailman id 1328024;
 Thu, 04 Jun 2026 15:02:05 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dimitri.daskalakis1@gmail.com>) id 1wV9a9-00044l-Ki
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:02:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV9a9-006uM5-17
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 17:02:05 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a219363-e002-0a2a0a5209dd-0a2a4506817e-36
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:04 +0200
Received: from [209.85.214.172] (helo=mail-pl1-f172.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a21936b-7371-0a2a45060019-d155d6acf1c7-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:04 +0200
Received: by mail-pl1-f172.google.com with SMTP id
 d9443c01a7336-2bf20f6be6bso6277965ad.3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 08:02:04 -0700 (PDT)
Received: from localhost ([2a03:2880:7ff:55::])
 by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-2c164f6e2adsm67111415ad.5.2026.06.04.08.02.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Jun 2026 08:02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780585323; x=1781190123; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4avmxi/DteAkFA5/0YsT4Z/7bVnyoihvSIvhh9yQxIo=;
        b=cE6Bedm2o6seYAG5XfrBq3hH2snEQqxY5cfDfRjqIxyrPSLqLgmKjcEUy/x9sLUqAM
         LsWaXQ6cDb+TF9yyWzNPd/MI9S4seCHOAt+8T4z3g8PWoHTZekfFwGKT3W+wW9pQNbnu
         4ByelU2pisFovSvX22e/h1vkQJxE5aGhOCfBsrO+M3g/e7mHUYK0ywKNXBYQpzISZ489
         rCfXkSE7030eRHZrTXbvDe0lFrpv1whRtu81ycaO7nDsSWJhyFhW4vsNCW+VOjjnNGB7
         AzMCrr7mOXu2oP0xwvNuxPOdjMB614DpRrYBRgxFXsHX0etwy3zo9g7ZBFSB1gCtQDcF
         C7jQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780585323; x=1781190123;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=4avmxi/DteAkFA5/0YsT4Z/7bVnyoihvSIvhh9yQxIo=;
        b=ZmteGknRbopsMuOFpF3wutaMh45HiZmk6wZqRHY0a34YlUjXELsrhIaaNI6dat1EcP
         sDiyfGsOeJdGejQQHvxId8hmRaeVPSjg9QtQ63wNP8ml25EsuFzNOKvzZp4MM5GqgGdR
         Ki0h38ghsjci4h4LJhgLwOcKNT28A0SUZGOi8tm1Ge0eVXPesl8MtP2HvpkEkkBstuEQ
         QKplUlYd05lkaTAAFS4eHfie8eoQb/LfqLmEvI9zDO+ZoKHR6mTvqMnuwpSg5HbSD7Bl
         vPPJGezvsRHkSqBuAeR84QD8f+6lmm2p08dVMrdX+FSy4lGh/o0TK2+mgbbm3Hsyy3ut
         lUWA==
X-Forwarded-Encrypted: i=1; AFNElJ++/Km0CEe6+nE0lwqFelz1ouRStaX0kB6Ax1V2sjsL2OS4xkzwVPNar4IXI9xjXJdEj7rO71qtzkY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyC+f/eyqC81qD5eg09dm22Cx4vZG+rEOMBcVlQ1tlvcnRxb5FF
	TH3kesfOtqNcnoFvAnNLDLnCbA1OVwzpDWm8oNCBOm/XhslJXqSfKU8g
X-Gm-Gg: Acq92OGDdrn0h1b1HTknda33Lf3crNvzaEOtTesplfIQzeXIRUGjhfPxO0i9hoWf3QP
	3RlrkT7eD1UPLnKU/tvy6fJw4PVK9S/TlynCmGl6VRZq8g00FWqot4VnTsVM7bOGHTWjY36FrtO
	YZzd+Ku0q4KrP6rXhs6Enzimso9CWDuQ9AXNESJX8YkiidAhS1vAjnqf2JInM5IhfyXf/Fv9Xyn
	z4wYqIrzDLdoU3IG8VIXteYpGQhRn4OfaCoCPGDenox6g7bOEM1uZ2NfEYzGoJ/D+dxG6C3zL42
	d9EgD0qwZxHpnPMJha4yF3B/+mq7zC8dpbBtGmtI3DmRLhWX9wvwOcYMtoej1GHGKqNzwd4h724
	i0TxPp+oJ3dth7s7cG+Wz3TrOkULolWHkVr9v6N0Z5cGJaCXZuOkk7W46Z7JqcEKaumtYT3gaUc
	RAT4x6zC2pkiwRIv0PbSvitN7ZdfOAj8JJElkWEo0=
X-Received: by 2002:a17:903:37c4:b0:2b4:59bf:5728 with SMTP id d9443c01a7336-2c1644ca7bfmr89624145ad.25.1780585321320;
        Thu, 04 Jun 2026 08:02:01 -0700 (PDT)
From: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Alex Williamson <alex@shazbot.org>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Kevin Tian <kevin.tian@intel.com>,
	Ankit Agrawal <ankita@nvidia.com>,
	Leon Romanovsky <leon@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Keith Busch <kbusch@kernel.org>,
	Alexander Duyck <alexanderduyck@fb.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Dimitri Daskalakis <daskald@meta.com>,
	linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC 04/12] PCI: Convert arch/powerpc to pci_is_sriov_* helpers
Date: Thu,  4 Jun 2026 08:01:45 -0700
Message-ID: <20260604150153.3619662-5-dimitri.daskalakis1@gmail.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
References: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1780585324-8D584D75-705C585F/0/0
X-purgate-type: clean
X-purgate-size: 7215

From: Dimitri Daskalakis <daskald@meta.com>

Convert SR-IOV-specific is_physfn / is_virtfn reads in the PowerPC
PCI code to use pci_is_sriov_physfn() / pci_is_sriov_virtfn(). These
call sites are all SR-IOV-specific: they guard SR-IOV state
dereferences, VF PE management, or sit inside #ifdef CONFIG_PCI_IOV
blocks. Converting them keeps SR-IOV semantics intact once is_physfn
and is_virtfn widen to cover any virtualization type.

Files touched:
  arch/powerpc/kernel/pci_dn.c
  arch/powerpc/platforms/powernv/pci-ioda.c
  arch/powerpc/platforms/powernv/pci-sriov.c
  arch/powerpc/platforms/pseries/eeh_pseries.c
  arch/powerpc/platforms/pseries/setup.c

No functional changes.

Assisted-by: Claude:claude-opus-4.7
Signed-off-by: Dimitri Daskalakis <daskald@meta.com>
---
 arch/powerpc/kernel/pci_dn.c                 |  4 ++--
 arch/powerpc/platforms/powernv/pci-ioda.c    |  6 +++---
 arch/powerpc/platforms/powernv/pci-sriov.c   | 10 +++++-----
 arch/powerpc/platforms/pseries/eeh_pseries.c |  8 ++++----
 arch/powerpc/platforms/pseries/setup.c       |  4 ++--
 5 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/arch/powerpc/kernel/pci_dn.c b/arch/powerpc/kernel/pci_dn.c
index a7b664befed2..cf44ec368a36 100644
--- a/arch/powerpc/kernel/pci_dn.c
+++ b/arch/powerpc/kernel/pci_dn.c
@@ -176,7 +176,7 @@ struct pci_dn *add_sriov_vf_pdns(struct pci_dev *pdev)
 	int i;
 
 	/* Only support IOV for now */
-	if (WARN_ON(!pdev->is_physfn))
+	if (WARN_ON(!pci_is_sriov_physfn(pdev)))
 		return NULL;
 
 	/* Check if VFs have been populated */
@@ -221,7 +221,7 @@ void remove_sriov_vf_pdns(struct pci_dev *pdev)
 	int i;
 
 	/* Only support IOV PF for now */
-	if (WARN_ON(!pdev->is_physfn))
+	if (WARN_ON(!pci_is_sriov_physfn(pdev)))
 		return;
 
 	/* Check if VFs have been populated */
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c b/arch/powerpc/platforms/powernv/pci-ioda.c
index 32ecbc46e74b..63eacc8001fe 100644
--- a/arch/powerpc/platforms/powernv/pci-ioda.c
+++ b/arch/powerpc/platforms/powernv/pci-ioda.c
@@ -987,7 +987,7 @@ static void pnv_pci_ioda_dma_dev_setup(struct pci_dev *pdev)
 	pe = pnv_pci_bdfn_to_pe(phb, pci_dev_id(pdev));
 	if (!pe) {
 		/* VF PEs should be pre-configured in pnv_pci_sriov_enable() */
-		if (WARN_ON(pdev->is_virtfn))
+		if (WARN_ON(pci_is_sriov_virtfn(pdev)))
 			return;
 
 		pnv_pci_configure_bus(pdev->bus);
@@ -2379,7 +2379,7 @@ static void pnv_pci_release_device(struct pci_dev *pdev)
 	struct pnv_ioda_pe *pe;
 
 	/* The VF PE state is torn down when sriov_disable() is called */
-	if (pdev->is_virtfn)
+	if (pci_is_sriov_virtfn(pdev))
 		return;
 
 	if (!pdn || pdn->pe_number == IODA_INVALID_PE)
@@ -2391,7 +2391,7 @@ static void pnv_pci_release_device(struct pci_dev *pdev)
 	 * the iov state at probe time since we need to fiddle with the IOV
 	 * resources.
 	 */
-	if (pdev->is_physfn)
+	if (pci_is_sriov_physfn(pdev))
 		kfree(pdev->dev.archdata.iov_data);
 #endif
 
diff --git a/arch/powerpc/platforms/powernv/pci-sriov.c b/arch/powerpc/platforms/powernv/pci-sriov.c
index 7105a573aec4..1113488f4372 100644
--- a/arch/powerpc/platforms/powernv/pci-sriov.c
+++ b/arch/powerpc/platforms/powernv/pci-sriov.c
@@ -225,7 +225,7 @@ static void pnv_pci_ioda_fixup_iov_resources(struct pci_dev *pdev)
 
 void pnv_pci_ioda_fixup_iov(struct pci_dev *pdev)
 {
-	if (pdev->is_virtfn) {
+	if (pci_is_sriov_virtfn(pdev)) {
 		struct pnv_ioda_pe *pe = pnv_ioda_get_pe(pdev);
 
 		/*
@@ -235,7 +235,7 @@ void pnv_pci_ioda_fixup_iov(struct pci_dev *pdev)
 		 */
 		pe->pdev = pdev;
 		WARN_ON(!(pe->flags & PNV_IODA_PE_VF));
-	} else if (pdev->is_physfn) {
+	} else if (pci_is_sriov_physfn(pdev)) {
 		/*
 		 * For PFs adjust their allocated IOV resources to match what
 		 * the PHB can support using its M64 BAR table.
@@ -479,7 +479,7 @@ static void pnv_ioda_release_vf_PE(struct pci_dev *pdev)
 
 	phb = pci_bus_to_pnvhb(pdev->bus);
 
-	if (!pdev->is_physfn)
+	if (!pci_is_sriov_physfn(pdev))
 		return;
 
 	/* FIXME: Use pnv_ioda_release_pe()? */
@@ -508,7 +508,7 @@ static int pnv_pci_vf_resource_shift(struct pci_dev *dev, int offset)
 	u16 num_vfs;
 	int i;
 
-	if (!dev->is_physfn)
+	if (!pci_is_sriov_physfn(dev))
 		return -EINVAL;
 	iov = pnv_iov_get(dev);
 
@@ -620,7 +620,7 @@ static void pnv_ioda_setup_vf_PE(struct pci_dev *pdev, u16 num_vfs)
 	struct pnv_iov_data   *iov;
 	struct pci_dn         *pdn;
 
-	if (!pdev->is_physfn)
+	if (!pci_is_sriov_physfn(pdev))
 		return;
 
 	phb = pci_bus_to_pnvhb(pdev->bus);
diff --git a/arch/powerpc/platforms/pseries/eeh_pseries.c b/arch/powerpc/platforms/pseries/eeh_pseries.c
index b12ef382fec7..32030ac9be51 100644
--- a/arch/powerpc/platforms/pseries/eeh_pseries.c
+++ b/arch/powerpc/platforms/pseries/eeh_pseries.c
@@ -54,7 +54,7 @@ static void pseries_pcibios_bus_add_device(struct pci_dev *pdev)
 
 	dev_dbg(&pdev->dev, "EEH: Setting up device\n");
 #ifdef CONFIG_PCI_IOV
-	if (pdev->is_virtfn) {
+	if (pci_is_sriov_virtfn(pdev)) {
 		pdn->device_id  =  pdev->device;
 		pdn->vendor_id  =  pdev->vendor;
 		pdn->class_code =  pdev->class;
@@ -68,7 +68,7 @@ static void pseries_pcibios_bus_add_device(struct pci_dev *pdev)
 #endif
 	pseries_eeh_init_edev(pdn);
 #ifdef CONFIG_PCI_IOV
-	if (pdev->is_virtfn) {
+	if (pci_is_sriov_virtfn(pdev)) {
 		/*
 		 * FIXME: This really should be handled by choosing the right
 		 *        parent PE in pseries_eeh_init_edev().
@@ -731,7 +731,7 @@ static int pseries_call_allow_unfreeze(struct eeh_dev *edev)
 	if (!vf_pe_array)
 		return -ENOMEM;
 	if (pci_num_vf(edev->physfn ? edev->physfn : edev->pdev)) {
-		if (edev->pdev->is_physfn) {
+		if (pci_is_sriov_physfn(edev->pdev)) {
 			cur_vfs = pci_num_vf(edev->pdev);
 			pdn = eeh_dev_to_pdn(edev);
 			parent = pdn->parent;
@@ -779,7 +779,7 @@ static int pseries_notify_resume(struct eeh_dev *edev)
 	if (rtas_function_token(RTAS_FN_IBM_OPEN_SRIOV_ALLOW_UNFREEZE) == RTAS_UNKNOWN_SERVICE)
 		return -EINVAL;
 
-	if (edev->pdev->is_physfn || edev->pdev->is_virtfn)
+	if (pci_is_sriov_physfn(edev->pdev) || pci_is_sriov_virtfn(edev->pdev))
 		return pseries_call_allow_unfreeze(edev);
 
 	return 0;
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
index 50b26ed8432d..8165ae9adbd6 100644
--- a/arch/powerpc/platforms/pseries/setup.c
+++ b/arch/powerpc/platforms/pseries/setup.c
@@ -778,7 +778,7 @@ static void pseries_pci_fixup_iov_resources(struct pci_dev *pdev)
 	const int *indexes;
 	struct device_node *dn = pci_device_to_OF_node(pdev);
 
-	if (!pdev->is_physfn)
+	if (!pci_is_sriov_physfn(pdev))
 		return;
 	/*Firmware must support open sriov otherwise don't configure*/
 	indexes = of_get_property(dn, "ibm,open-sriov-vf-bar-info", NULL);
@@ -799,7 +799,7 @@ static resource_size_t pseries_pci_iov_resource_alignment(struct pci_dev *pdev,
 	if (!reg)
 		return pci_iov_resource_size(pdev, resno);
 
-	if (!pdev->is_physfn)
+	if (!pci_is_sriov_physfn(pdev))
 		return 0;
 	return pseries_get_iov_fw_value(pdev,
 					resno - PCI_IOV_RESOURCES,
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 15:08:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 15:08:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328016.1592683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9gA-0004ub-DE; Thu, 04 Jun 2026 15:08:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328016.1592683; Thu, 04 Jun 2026 15:08:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9gA-0004u3-7s; Thu, 04 Jun 2026 15:08:18 +0000
Received: by outflank-mailman (input) for mailman id 1328016;
 Thu, 04 Jun 2026 15:02:00 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dimitri.daskalakis1@gmail.com>) id 1wV9a4-00042c-BJ
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:02:00 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV9a3-001rSt-OC
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 17:01:59 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a219360-2eae-0a2a0a5409dd-0a2a4507c166-22
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:01:59 +0200
Received: from [209.85.215.175] (helo=mail-pg1-f175.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a219365-229c-0a2a45070019-d155d7afc424-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:01:59 +0200
Received: by mail-pg1-f175.google.com with SMTP id
 41be03b00d2f7-c85ba774551so327339a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 08:01:58 -0700 (PDT)
Received: from localhost ([2a03:2880:7ff:5e::])
 by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-c85df0bdbe4sm5661594a12.32.2026.06.04.08.01.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Jun 2026 08:01:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780585317; x=1781190117; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jnSLmeLJV6kE0iVS5+3SJmFGhHsRiD3c0F7TGZf1V5w=;
        b=iJ1YGbqoa8QOMwaWUrkdZORVJR6dj/LiNaQRp8CVVAEzaHuNhmZiPE3z1Mmk0/Hjgi
         E/p+xnWqmcJ5/o2YExAjA7nMYPPyk7SZGqqPhaLLfyK9ULrwec6b3USG8tewMeuxkVcN
         92hXBlUmqDx/lU6LekzhC3Utn+vkn8LTujDJx3j98TD5tJk+ABnhNJcvlfc0Hk6XgSqs
         Hk9+iuhzlkO2Sutk1FlGdBnPtp7A/89TrzTqasfwF7VqCixbxJkL9AEl0Bci/eg6sFIq
         C4c/9NcRx6nRDS2C0xK96SnFJ87o0P9Hm40TRmICbJXCxf+7R1m2OOIKATgyIFEvvXa2
         f5gg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780585317; x=1781190117;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=jnSLmeLJV6kE0iVS5+3SJmFGhHsRiD3c0F7TGZf1V5w=;
        b=BJHTgApGjPvDQNPlNWEjXZ5aPrYUIkoFiOSaEkVo3yXtlgTaFbMqQEdGzGC/dGaDFA
         ZfUsdbO14JA8AsnG+FLjuhXSHCSfN3AXMK6h7A1O7v4y3MzPwKqa/O+wPEJ96GIiPGr/
         +YT4v0GwQybvg5v+4wu99B9lZFv1Crx2mSqZ01tAJHdtOq4bZHl324wneNYp/WqGxM6r
         aNzQ+isFWlWXdsSuINuV4k9LLzHPPvYXhdn6MnuFvKp8fBw1eDTihtLjmsqkIzcb5RuQ
         E08nkzeXyIROQTIMd1lCz7bryh6hYcH6dHnviSGTJO6Ya9jzrLsHAR5oo5C9xPzXWgV2
         DYxQ==
X-Forwarded-Encrypted: i=1; AFNElJ+pYb4iQNvEq2MHtsOe7/bcn2orHzEmpMMyTtL8Hltlib8jgpBlgmhfTbR3gmuUdaDkAZKcQV51/hE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyDYvERzjmYJrPDsBtaeSi5MFguahb/p9SVL6Fv3J6MQoJwtOuw
	izVR52maVsURVC97hF06Z/4QzhZ9nBlhkSAIaFmfPFMbUu49/KF7XC3l
X-Gm-Gg: Acq92OGLsChzySuSyABvpeF7cNdZVgQk3o87GxWjQBq95Ofh0KYNXpgsUGkDGL7zEtq
	wB6olwUlDyVvfV4ZcyJKR/LyZn9yPX9fz0+GHq894RXEyDm5Q4f3yf5KDYGoIl0VHyC1cAJJxLm
	R0Dc28M8hGmaO+Kolh5Ej6X3YIRfjTwkWNPJi94fGRGtLCsoe3x9EO6nKlzRQ3L92GRu9sMpTJ6
	vx7txiFhFVMcV4DDf0PKEBML0cVKK4veqb5Fw6YlFAFiAW6VrSiLHbuJkAVbekKAPU+saBXKnjk
	YoshaSsPpsmeHZV4eGCBH5OVvilyj0yeIDNuH877pjGaiLvRb3ES+h3o0U0RDWyYgzvpFLbPOrX
	byPihT6pXtobVh38V3nM3RRzDNSLMU+4KEEqKKGRKgvMEWAyqikihTcRP/Iqz0v4uCpjad1FnuM
	inRhN+0Khcbaa3GAW1lsQBIy4C56DW3xk4nDRVpPI=
X-Received: by 2002:a05:6a21:6083:b0:3a3:a9c4:3d60 with SMTP id adf61e73a8af0-3b4975cdbe8mr9228482637.27.1780585316708;
        Thu, 04 Jun 2026 08:01:56 -0700 (PDT)
From: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Alex Williamson <alex@shazbot.org>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Kevin Tian <kevin.tian@intel.com>,
	Ankit Agrawal <ankita@nvidia.com>,
	Leon Romanovsky <leon@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Keith Busch <kbusch@kernel.org>,
	Alexander Duyck <alexanderduyck@fb.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Dimitri Daskalakis <daskald@meta.com>,
	linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC 01/12] PCI: Add helpers to identify SR-IOV PFs/VFs.
Date: Thu,  4 Jun 2026 08:01:42 -0700
Message-ID: <20260604150153.3619662-2-dimitri.daskalakis1@gmail.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
References: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1780585319-0956BC48-CEA36D05/0/0
X-purgate-type: clean
X-purgate-size: 1975

From: Dimitri Daskalakis <daskald@meta.com>

Throughout core the pci_dev attribute is_physfn is used to determine
whether or not a PF has SR-IOV active. And is_virtfn is used to check
if a device is a SR-IOV VF.

These attributes should be generalized to represent PFs/VFs for any type
of virtualization. So in preparation, wrap the existing usage in
helpers and use helpers in subsequent patches to ease the transition.

Assisted-by: Claude:claude-opus-4.7
Signed-off-by: Dimitri Daskalakis <daskald@meta.com>
---
 include/linux/pci.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/include/linux/pci.h b/include/linux/pci.h
index 2c4454583c11..28892243f49f 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -604,6 +604,16 @@ static inline struct pci_dev *pci_physfn(struct pci_dev *dev)
 	return dev;
 }
 
+static inline bool pci_is_sriov_physfn(const struct pci_dev *dev)
+{
+	return dev->is_physfn;
+}
+
+static inline bool pci_is_sriov_virtfn(const struct pci_dev *dev)
+{
+	return dev->is_virtfn;
+}
+
 struct pci_dev *pci_alloc_dev(struct pci_bus *bus);
 
 #define	to_pci_dev(n) container_of(n, struct pci_dev, dev)
@@ -1277,6 +1287,7 @@ void pcibios_setup_bridge(struct pci_bus *bus, unsigned long type);
 void pci_sort_breadthfirst(void);
 #define dev_is_pci(d) ((d)->bus == &pci_bus_type)
 #define dev_is_pf(d) ((dev_is_pci(d) ? to_pci_dev(d)->is_physfn : false))
+#define dev_is_sriov_pf(d) ((dev_is_pci(d) ? pci_is_sriov_physfn(to_pci_dev(d)) : false))
 
 /* Generic PCI functions exported to card drivers */
 
@@ -2207,6 +2218,7 @@ static inline struct pci_dev *pci_dev_get(struct pci_dev *dev) { return NULL; }
 
 #define dev_is_pci(d) (false)
 #define dev_is_pf(d) (false)
+#define dev_is_sriov_pf(d) (false)
 static inline bool pci_acs_enabled(struct pci_dev *pdev, u16 acs_flags)
 { return false; }
 static inline int pci_irqd_intx_xlate(struct irq_domain *d,
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 15:08:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 15:08:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328026.1592708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9gB-0005Mm-N3; Thu, 04 Jun 2026 15:08:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328026.1592708; Thu, 04 Jun 2026 15:08: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 1wV9gB-0005Jr-Gj; Thu, 04 Jun 2026 15:08:19 +0000
Received: by outflank-mailman (input) for mailman id 1328026;
 Thu, 04 Jun 2026 15:02:06 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dimitri.daskalakis1@gmail.com>) id 1wV9aA-00046U-Ab
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:02:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV9a9-006uM5-Mr
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 17:02:05 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a21935e-e002-0a2a0a5209dd-0a2a45039cb0-40
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:05 +0200
Received: from [209.85.214.179] (helo=mail-pl1-f179.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a21936b-672d-0a2a45030019-d155d6b3b402-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:05 +0200
Received: by mail-pl1-f179.google.com with SMTP id
 d9443c01a7336-2c0c1e0b0faso6076555ad.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 08:02:04 -0700 (PDT)
Received: from localhost ([2a03:2880:7ff:54::])
 by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-2c1664ad138sm64224585ad.82.2026.06.04.08.02.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Jun 2026 08:02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780585323; x=1781190123; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NZHMOC3ymQk/hCIs6rXv5bV3psfV3xxIvT+fp4eN0Hg=;
        b=nyECiIZ45IWCH0BLwdIqlmN6oi3dOD3IoKtqDWooalKi0uYdUpKNUIkFIzqjDeDt34
         Yjpmkys8y5N4NPBTMtFOY+4fdMj4ZDBrKaFlO12MN4dx8UuJFw6SaP982q1FUYvYa0ti
         GVMpARFGNFe2EaBe5p6vM9/n+sTvXwzc+8xTFvD1QQFGvFnHRxbpD687gcGIWaN1o6RV
         hmzmgOrk5VyGb4ViRsVBjnDtZ2rME+GcpCIsv4kjvBd6tRw3gxWeI6IZi4tWrfS5R8TQ
         hsR9O2by9T3MJ12bH5S+5b7VLhpRnGtClaV+0VvvYDhqKDWj8RU+DefmwzuxWLSknCh+
         fEYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780585323; x=1781190123;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=NZHMOC3ymQk/hCIs6rXv5bV3psfV3xxIvT+fp4eN0Hg=;
        b=PEn1YlV311Ra47dwOR0byAykv6hIqoRVfL/GYF4lFM3yIxupMB5hNnB3VjB+tBCxde
         AmFHm+u09DpHcR0H2hyL+R9Afe/dPpysHWeij5iDNC+NpVzgEAGvkPZ7eu2sQPFyPYvF
         gTOOlu/6RPqbQtf0QwL1QqKCtChgO86LgO/SGkSi98Jy+BumEgO2iYcdNErmgYBQMbba
         ol8bwqcze/Wku/wCI5LECHqJbjg9xeC/dcf/6v8hG+GxRz/b4Hd3tkf9shyKKCVg93ZS
         eKV0PheQs7hMNOkUVZL8e7Wjt6sKGPODudUtlWAx+6f/R8FAFuEjKcR/9pAXl0u5SOmi
         //mQ==
X-Forwarded-Encrypted: i=1; AFNElJ/qtcvhO3Iexg1tnlL4tOGmyMHq0P7UTYHGrPegH7lw42oIK8i8LMLlR8vgSKq545k9WVEFOudta6Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxEY/k3lJMUECZ13d/rDwGZV+O+tDU71uziVbIKla8vznGFBWXd
	EAtDaWE6gIIVqb/omwPlbt1OgFVXytKsJ1MyA5OhD4aHipjFeWHkESQE
X-Gm-Gg: Acq92OELgK1FNuvwOqpwirYZ2B8avQX3hjQFkd5zC+Z+bas4F43lgxxsBpAhl3bcmam
	jqot6LcOn9JDlheODzJ6wlBJb1Tloq7I15+DCNx6iomZkwXujklzZHDovabo8cpLm9ga1o8gy/d
	Ki5TAr3MCPp6Jkpv8XuhdBDmpUvRvh4SIMq8zv9TyjXsRfYSgfNVgCZVfFdnK8isccOEsAdITfI
	YV0DZF1exuMYZ9B12gVACQ6EZesHqJs1WOw0PIpgb8kv0KMvLEkpyK7Wm5/eabB81YnzETAVVHA
	sc5qcI2Rjczg/ZyGuXgRuVDJfMu193KyrsLKniik4Kbg+X0+UHwHfoUpU2VPrWu4p1HS37RG7CF
	znHz1hDco56KThS0qEPC0crnUZXk1B4vdeFE3+712ZAtjXkGxlHnrLjfMH0nlrXey6kXzji0O9p
	erUAqbhiXVBNmRrNFbHiJzvGX76Xi+kVqpke+nMbI=
X-Received: by 2002:a17:902:be03:b0:2bf:13b0:f8ed with SMTP id d9443c01a7336-2c163a28b4dmr55201165ad.3.1780585322733;
        Thu, 04 Jun 2026 08:02:02 -0700 (PDT)
From: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Alex Williamson <alex@shazbot.org>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Kevin Tian <kevin.tian@intel.com>,
	Ankit Agrawal <ankita@nvidia.com>,
	Leon Romanovsky <leon@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Keith Busch <kbusch@kernel.org>,
	Alexander Duyck <alexanderduyck@fb.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Dimitri Daskalakis <daskald@meta.com>,
	linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC 05/12] PCI: Convert s390/pci/pci.c to pci_is_sriov_* helpers
Date: Thu,  4 Jun 2026 08:01:46 -0700
Message-ID: <20260604150153.3619662-6-dimitri.daskalakis1@gmail.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
References: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1780585325-37141938-5AD061F5/0/0
X-purgate-type: clean
X-purgate-size: 681

From: Dimitri Daskalakis <daskald@meta.com>

No functional changes.

Assisted-by: Claude:claude-opus-4.7
Signed-off-by: Dimitri Daskalakis <daskald@meta.com>
---
 arch/s390/pci/pci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c
index 39bd2adfc240..5e6f600bf60b 100644
--- a/arch/s390/pci/pci.c
+++ b/arch/s390/pci/pci.c
@@ -611,7 +611,7 @@ int pcibios_device_add(struct pci_dev *pdev)
 
 	/* The pdev has a reference to the zdev via its bus */
 	zpci_zdev_get(zdev);
-	if (pdev->is_physfn)
+	if (pci_is_sriov_physfn(pdev))
 		pdev->no_vf_scan = 1;
 
 	zpci_map_resources(pdev);
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 15:08:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 15:08:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328028.1592725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9gC-0005eL-Kv; Thu, 04 Jun 2026 15:08:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328028.1592725; Thu, 04 Jun 2026 15:08: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 1wV9gC-0005ci-B6; Thu, 04 Jun 2026 15:08:20 +0000
Received: by outflank-mailman (input) for mailman id 1328028;
 Thu, 04 Jun 2026 15:02:08 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dimitri.daskalakis1@gmail.com>) id 1wV9aC-00046q-Pk
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:02:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV9aB-00B95r-Vi
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 17:02:07 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a219364-2eae-0a2a0a5409dd-0a2a4509e686-34
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:07 +0200
Received: from [209.85.216.51] (helo=mail-pj1-f51.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a21936e-2497-0a2a45090019-d155d833a85c-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:07 +0200
Received: by mail-pj1-f51.google.com with SMTP id
 98e67ed59e1d1-36baec934b6so1175763a91.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 08:02:07 -0700 (PDT)
Received: from localhost ([2a03:2880:7ff:55::])
 by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-36f711e7b53sm3448820a91.14.2026.06.04.08.02.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Jun 2026 08:02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780585326; x=1781190126; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2hIFtvWihjq2T5uRD8ilA/smzXwEZg9tgf7CPYlO5lE=;
        b=NSxFMYAXMKWId4jjaXoN4ue9mkvh4bNKpdQopMJ6FFTWSGB5s1T4wjzYIT1cA2mFWZ
         n21CAw7OwiLvfK4OS0jahvIjLJUpltr6TnYoHuBz7Id41ndYrqIXvSqL2ocsYRgupUFZ
         tSVNNdQ26uFlDPvdqzdhKI1JsRanAfIVTju0QDpX6Sb8YzFap6f2neFHQ9A0t8uPenoe
         bfa9DmgKoR9xCmCdIDa6zhgI0gXmGi1pxCQbWBsdcV4xb/cK07ArUP0uGAwP4/9VXAO+
         eZ2FBd68T5zduRefSL70pzrhFEuFPq0EioYR+XmP2j44cXBRDuSOEBqi4QEad5AK34+C
         BWfw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780585326; x=1781190126;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=2hIFtvWihjq2T5uRD8ilA/smzXwEZg9tgf7CPYlO5lE=;
        b=Y6vjAZJp3CHcaJ2ShmvH6kOHouhOL9YJTrhgb66KXMWj8PrJ7XTtZFM0cv6pVe2JCL
         0shI0ekX0Y+j45tNPHcpb5HIzRZ2rPTf9kwRfnk0D7Y0bOeZ4fvoaBgyqAKbmK67uLJ1
         oYh8CGoeWu82+ykztu07wHI908VrzXYqh3L5rbnc0kQ7S1ZdOrdvqdRJp5KS6pbLrGbO
         qrFgCfeZrJ3dP9Rc9DrrxBOK82/x6z++IJ/t1PjHrF/yMjyiDGCi1b/O9jnhAFKFXNGa
         8zwc+qpAkuufFIQf8mmge+vl+CwCPNCHGhZwnl3dPaJBa6fn30phk1nVqL8OCX4fDXoH
         ffFg==
X-Forwarded-Encrypted: i=1; AFNElJ8UBUvXgLehRY7Iuylm/HetSPLVGbz3xkqIyApzzALQcDgfWD052F09VJY9/qVNP+n9QfVWgA1CKNs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxhr70cnO4o0yvWO0A5XBy/FS2Ihs6Uo1UxIoTcHB5HApOdh6Uu
	VxLTRhNt42LKq/ca3fKDi7dhmVKbpWcBOeLN05zZOuSqxOseP5AI1oc8
X-Gm-Gg: Acq92OHjJtTyK9eBGGjFybpDtoNDmtZZJ9M7j1rtGME4bWAu0hKiCx33w3owZF1TWwt
	iSwZ2mNfYCq3q1k3e0ZRIer/rkItYCwugKxiV9AqmfLepw39WhwWUs+fAvycI236H8VxqRWsHB2
	tk4Zc0fLRUVnWPvxBY4kOUa/pKNpD9Bq/0Pg2zZpTcFTsu/LY9t2W8r0sC/0GEPRsr7bSDemi+Y
	T91HXC9ZqmgPwYAaDa+bX1f708ismCvWHGAa7cBr92M25zwJ7l5CP5UZAXDdBWLbn53T5aY/X4N
	RCkxIuXm6chu81JN2liIFhm3KBmj0wf4sFO8STzP9kKRv+mRK7xyLouxYxGUsM3nBjf145OpQ5y
	Gn+8vOQZWRCr2EQYKjTBxcP1NaxcuIGlGrptJobi29nDhN/AjDsDYpGEsgVibIRAyY/L7p8W2
X-Received: by 2002:a17:90b:2b8c:b0:36a:8519:a4e9 with SMTP id 98e67ed59e1d1-36f7898e08dmr3643368a91.18.1780585325710;
        Thu, 04 Jun 2026 08:02:05 -0700 (PDT)
From: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Alex Williamson <alex@shazbot.org>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Kevin Tian <kevin.tian@intel.com>,
	Ankit Agrawal <ankita@nvidia.com>,
	Leon Romanovsky <leon@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Keith Busch <kbusch@kernel.org>,
	Alexander Duyck <alexanderduyck@fb.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Dimitri Daskalakis <daskald@meta.com>,
	linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC 07/12] PCI: Convert xen-pciback and pci-driver to pci_is_sriov_* helpers
Date: Thu,  4 Jun 2026 08:01:48 -0700
Message-ID: <20260604150153.3619662-8-dimitri.daskalakis1@gmail.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
References: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1780585327-89174A53-2C063857/0/0
X-purgate-type: clean
X-purgate-size: 1680

From: Dimitri Daskalakis <daskald@meta.com>

No functional changes.

Assisted-by: Claude:claude-opus-4.7
Signed-off-by: Dimitri Daskalakis <daskald@meta.com>
---
 drivers/pci/pci-driver.c           | 4 ++--
 drivers/xen/xen-pciback/pci_stub.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
index d10ece0889f0..926f80bccd70 100644
--- a/drivers/pci/pci-driver.c
+++ b/drivers/pci/pci-driver.c
@@ -357,7 +357,7 @@ static void local_pci_probe_callback(struct work_struct *work)
 static bool pci_physfn_is_probed(struct pci_dev *dev)
 {
 #ifdef CONFIG_PCI_IOV
-	return dev->is_virtfn && dev->physfn->is_probed;
+	return pci_is_sriov_virtfn(dev) && dev->physfn->is_probed;
 #else
 	return false;
 #endif
@@ -453,7 +453,7 @@ static int __pci_device_probe(struct pci_driver *drv, struct pci_dev *pci_dev)
 #ifdef CONFIG_PCI_IOV
 static inline bool pci_device_can_probe(struct pci_dev *pdev)
 {
-	return (!pdev->is_virtfn || pdev->physfn->sriov->drivers_autoprobe ||
+	return (!pci_is_sriov_virtfn(pdev) || pdev->physfn->sriov->drivers_autoprobe ||
 		device_has_driver_override(&pdev->dev));
 }
 #else
diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
index 79a2b5dfd694..fd5a13f79fcf 100644
--- a/drivers/xen/xen-pciback/pci_stub.c
+++ b/drivers/xen/xen-pciback/pci_stub.c
@@ -1695,7 +1695,7 @@ static int pci_stub_notifier(struct notifier_block *nb,
 	if (action != BUS_NOTIFY_UNBIND_DRIVER)
 		return NOTIFY_DONE;
 
-	if (!pdev->is_physfn)
+	if (!pci_is_sriov_physfn(pdev))
 		return NOTIFY_DONE;
 
 	for (;;) {
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 15:08:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 15:08:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328018.1592688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9gA-0004zz-MK; Thu, 04 Jun 2026 15:08:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328018.1592688; Thu, 04 Jun 2026 15:08:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9gA-0004z2-Gi; Thu, 04 Jun 2026 15:08:18 +0000
Received: by outflank-mailman (input) for mailman id 1328018;
 Thu, 04 Jun 2026 15:02:01 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dimitri.daskalakis1@gmail.com>) id 1wV9a4-000436-S0
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:02:00 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV9a4-00ALZ2-8f
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 17:02:00 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a219365-bab6-0a2a0a5309dd-0a2a4505a566-12
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:00 +0200
Received: from [209.85.214.180] (helo=mail-pl1-f180.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a219366-aaa8-0a2a45050019-d155d6b4dd9e-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:01:59 +0200
Received: by mail-pl1-f180.google.com with SMTP id
 d9443c01a7336-2c0c2d792c8so6017765ad.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 08:01:59 -0700 (PDT)
Received: from localhost ([2a03:2880:7ff::]) by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-2c16629d40asm57714915ad.64.2026.06.04.08.01.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Jun 2026 08:01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780585318; x=1781190118; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7P+ek6ocV5HFyMB6++Nc5HRt5X7Za6z5O1aRcqqwv/w=;
        b=a/9weNhtqAutJYRA1AzyWuD1LJNdfYLP2LniIkAG8SOCBrEQPsEJ3+6ZF/jam3HN0y
         +/VYqVrSqPtEKxTm+xT31keqjgS5HpFpBx0H//lzo4yhX6oBmvg/5aKpjidUWNG6Rcs8
         F36gTp1YA3arOaCkbo+xpYfRO/5NfAxs++/y/2EYmULPkIyenbXefK0+o6mitjGrYMCA
         gBivLZcqnI8gIcSpqj/DAwkc6h5+Me+PkwdjpTzlTt5D5aK2Pndrj6oRrY5GYX0OhWR5
         TMTg+jPLNtTPaqYGVcFSlA0BLkJk4YkFRF2H7KWTGh/WTJpgQ76T69F+1Qnf7573IQ3O
         jojw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780585318; x=1781190118;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=7P+ek6ocV5HFyMB6++Nc5HRt5X7Za6z5O1aRcqqwv/w=;
        b=Swhbq6BHBMtnRS81z1PN7EmYzsu1gx3KrpAVXyZ0Y8D4w9SAKVy6NJcb8Rx4EcxmtJ
         M1gJhGoVPiEMq+V7nI4fDpXzQgYmVPFbKodEu/wPzT1YM/Jez0wOh3Ox35bqW2jziuT0
         9Wf8JVJCfMyRW0KEymRxKdGdZ0OPAhK7RobuWoMvXSVv+IFsUb5ESUopXofeB49gp7IF
         sd7VkFpcARUc8JoANl/Ah1G7AbxVKTbxhceC02/smGzahKAp27Jo4A5+/IJO3UyYOFvP
         T6OFUkWDPaLKDRwird9azHHFyDDAOkfTyBPndkJhqGsLv+x1nQFfg99EVB4qJDsaItYq
         BHBQ==
X-Forwarded-Encrypted: i=1; AFNElJ+2CNEwLjsmPgMCFkQ86yBB6jwu3hZPmaN7Ig+dfoM/HGJcaZZDaWsV+ymA/6JxFHzURExliLt+iMU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxoh1b1WDwYrgBERrfIaGBn4MXMnkUz2QXgF245sUDv+Awrmexv
	2DlRNoGue2fnZXmzfCugL0mY/HrsQ84ja2l7+4pceMh2zMYJbprHua+Q
X-Gm-Gg: Acq92OHlxzbUjeYSWS5TLrmh2Z3WyL88HFrYyT2jpq3Rs/t6NGInxpK1VtQ6cN+YA4w
	BBwJw8NM2B1aLFScN98PDafqNMsFYpghuC7/+L+cJl/ENzLfIB+NDuIqhed1qfZJNH0vFyXb5ye
	yRD32/gmovzYk0n/OPayVoZZgm4U/a9eUnpGxtVXYK5j+vzUwhvOfygoQ/Hx1Hv9npnskgJJAcM
	XNKetOnXw+vL7i6ljRC5je4UL4mcraof+E7iivgpLX2wFRwPnWzAvoNo5PAWjQg4Cv/hQRvyRso
	wqubVeU0rWMv5yubqLzV3Ss3hOT/SEiH9RV7oUlYeIzViy/+w0oe46sn6s9Uw2cszCKTZ0yqci/
	2mlT7lexl1lUii2IM0jHaihnZn+j2BBDf/8U24IW8kW7A422zjA5ELpO5pyoiZG8BWSnw
X-Received: by 2002:a17:903:948:b0:2bf:305a:310b with SMTP id d9443c01a7336-2c1639edf93mr84099595ad.1.1780585318015;
        Thu, 04 Jun 2026 08:01:58 -0700 (PDT)
From: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Alex Williamson <alex@shazbot.org>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Kevin Tian <kevin.tian@intel.com>,
	Ankit Agrawal <ankita@nvidia.com>,
	Leon Romanovsky <leon@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Keith Busch <kbusch@kernel.org>,
	Alexander Duyck <alexanderduyck@fb.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Dimitri Daskalakis <daskald@meta.com>,
	linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC 02/12] PCI: Convert iov.c to pci_is_sriov_* helpers
Date: Thu,  4 Jun 2026 08:01:43 -0700
Message-ID: <20260604150153.3619662-3-dimitri.daskalakis1@gmail.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
References: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1780585320-D937C443-51D6EFCE/0/0
X-purgate-type: clean
X-purgate-size: 6430

From: Dimitri Daskalakis <daskald@meta.com>

No functional changes.

Assisted-by: Claude:claude-opus-4.7
Signed-off-by: Dimitri Daskalakis <daskald@meta.com>
---
 drivers/pci/iov.c | 46 +++++++++++++++++++++++-----------------------
 1 file changed, 23 insertions(+), 23 deletions(-)

diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
index 91ac4e37ecb9..5de26057b99a 100644
--- a/drivers/pci/iov.c
+++ b/drivers/pci/iov.c
@@ -23,7 +23,7 @@
 
 int pci_iov_virtfn_bus(struct pci_dev *dev, int vf_id)
 {
-	if (!dev->is_physfn)
+	if (!pci_is_sriov_physfn(dev))
 		return -EINVAL;
 	return dev->bus->number + ((dev->devfn + dev->sriov->offset +
 				    dev->sriov->stride * vf_id) >> 8);
@@ -31,7 +31,7 @@ int pci_iov_virtfn_bus(struct pci_dev *dev, int vf_id)
 
 int pci_iov_virtfn_devfn(struct pci_dev *dev, int vf_id)
 {
-	if (!dev->is_physfn)
+	if (!pci_is_sriov_physfn(dev))
 		return -EINVAL;
 	return (dev->devfn + dev->sriov->offset +
 		dev->sriov->stride * vf_id) & 0xff;
@@ -42,7 +42,7 @@ int pci_iov_vf_id(struct pci_dev *dev)
 {
 	struct pci_dev *pf;
 
-	if (!dev->is_virtfn)
+	if (!pci_is_sriov_virtfn(dev))
 		return -EINVAL;
 
 	pf = pci_physfn(dev);
@@ -71,7 +71,7 @@ void *pci_iov_get_pf_drvdata(struct pci_dev *dev, struct pci_driver *pf_driver)
 {
 	struct pci_dev *pf_dev;
 
-	if (!dev->is_virtfn)
+	if (!pci_is_sriov_virtfn(dev))
 		return ERR_PTR(-EINVAL);
 	pf_dev = dev->physfn;
 	if (pf_dev->driver != pf_driver)
@@ -152,7 +152,7 @@ static void virtfn_remove_bus(struct pci_bus *physbus, struct pci_bus *virtbus)
 
 resource_size_t pci_iov_resource_size(struct pci_dev *dev, int resno)
 {
-	if (!dev->is_physfn)
+	if (!pci_is_sriov_physfn(dev))
 		return 0;
 
 	return dev->sriov->barsz[pci_resource_num_to_vf_bar(resno)];
@@ -300,7 +300,7 @@ static umode_t sriov_vf_attrs_are_visible(struct kobject *kobj,
 	struct device *dev = kobj_to_dev(kobj);
 	struct pci_dev *pdev = to_pci_dev(dev);
 
-	if (!pdev->is_virtfn)
+	if (!pci_is_sriov_virtfn(pdev))
 		return 0;
 
 	return a->mode;
@@ -604,7 +604,7 @@ static umode_t sriov_pf_attrs_are_visible(struct kobject *kobj,
 {
 	struct device *dev = kobj_to_dev(kobj);
 
-	if (!dev_is_pf(dev))
+	if (!dev_is_sriov_pf(dev))
 		return 0;
 
 	return a->mode;
@@ -707,7 +707,7 @@ static int sriov_enable(struct pci_dev *dev, int nr_virtfn)
 		if (!pdev)
 			return -ENODEV;
 
-		if (!pdev->is_physfn) {
+		if (!pci_is_sriov_physfn(pdev)) {
 			pci_dev_put(pdev);
 			return -ENOSYS;
 		}
@@ -814,7 +814,7 @@ static int sriov_init(struct pci_dev *dev, int pos)
 
 	ctrl = 0;
 	list_for_each_entry(pdev, &dev->bus->devices, bus_list)
-		if (pdev->is_physfn)
+		if (pci_is_sriov_physfn(pdev))
 			goto found;
 
 	pdev = NULL;
@@ -1006,7 +1006,7 @@ int pci_iov_init(struct pci_dev *dev)
  */
 void pci_iov_release(struct pci_dev *dev)
 {
-	if (dev->is_physfn)
+	if (pci_is_sriov_physfn(dev))
 		sriov_release(dev);
 }
 
@@ -1018,7 +1018,7 @@ void pci_iov_remove(struct pci_dev *dev)
 {
 	struct pci_sriov *iov = dev->sriov;
 
-	if (!dev->is_physfn)
+	if (!pci_is_sriov_physfn(dev))
 		return;
 
 	iov->driver_max_VFs = iov->total_VFs;
@@ -1035,7 +1035,7 @@ void pci_iov_remove(struct pci_dev *dev)
  */
 void pci_iov_update_resource(struct pci_dev *dev, int resno)
 {
-	struct pci_sriov *iov = dev->is_physfn ? dev->sriov : NULL;
+	struct pci_sriov *iov = pci_is_sriov_physfn(dev) ? dev->sriov : NULL;
 	struct resource *res = pci_resource_n(dev, resno);
 	int vf_bar = pci_resource_num_to_vf_bar(resno);
 	struct pci_bus_region region;
@@ -1111,7 +1111,7 @@ resource_size_t pci_sriov_resource_alignment(struct pci_dev *dev, int resno)
  */
 void pci_restore_iov_state(struct pci_dev *dev)
 {
-	if (dev->is_physfn) {
+	if (pci_is_sriov_physfn(dev)) {
 		sriov_restore_vf_rebar_state(dev);
 		sriov_restore_state(dev);
 	}
@@ -1124,7 +1124,7 @@ void pci_restore_iov_state(struct pci_dev *dev)
  */
 void pci_vf_drivers_autoprobe(struct pci_dev *dev, bool auto_probe)
 {
-	if (dev->is_physfn)
+	if (pci_is_sriov_physfn(dev))
 		dev->sriov->drivers_autoprobe = auto_probe;
 }
 
@@ -1141,7 +1141,7 @@ int pci_iov_bus_range(struct pci_bus *bus)
 	struct pci_dev *dev;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
-		if (!dev->is_physfn)
+		if (!pci_is_sriov_physfn(dev))
 			continue;
 		if (dev->sriov->max_VF_buses > max)
 			max = dev->sriov->max_VF_buses;
@@ -1161,7 +1161,7 @@ int pci_enable_sriov(struct pci_dev *dev, int nr_virtfn)
 {
 	might_sleep();
 
-	if (!dev->is_physfn)
+	if (!pci_is_sriov_physfn(dev))
 		return -ENOSYS;
 
 	return sriov_enable(dev, nr_virtfn);
@@ -1176,7 +1176,7 @@ void pci_disable_sriov(struct pci_dev *dev)
 {
 	might_sleep();
 
-	if (!dev->is_physfn)
+	if (!pci_is_sriov_physfn(dev))
 		return;
 
 	sriov_disable(dev);
@@ -1191,7 +1191,7 @@ EXPORT_SYMBOL_GPL(pci_disable_sriov);
  */
 int pci_num_vf(struct pci_dev *dev)
 {
-	if (!dev->is_physfn)
+	if (!pci_is_sriov_physfn(dev))
 		return 0;
 
 	return dev->sriov->num_VFs;
@@ -1212,7 +1212,7 @@ int pci_vfs_assigned(struct pci_dev *dev)
 	unsigned short dev_id;
 
 	/* only search if we are a PF */
-	if (!dev->is_physfn)
+	if (!pci_is_sriov_physfn(dev))
 		return 0;
 
 	/*
@@ -1228,7 +1228,7 @@ int pci_vfs_assigned(struct pci_dev *dev)
 		 * It is considered assigned if it is a virtual function with
 		 * our dev as the physical function and the assigned bit is set
 		 */
-		if (vfdev->is_virtfn && (vfdev->physfn == dev) &&
+		if (pci_is_sriov_virtfn(vfdev) && (vfdev->physfn == dev) &&
 			pci_is_dev_assigned(vfdev))
 			vfs_assigned++;
 
@@ -1254,7 +1254,7 @@ EXPORT_SYMBOL_GPL(pci_vfs_assigned);
  */
 int pci_sriov_set_totalvfs(struct pci_dev *dev, u16 numvfs)
 {
-	if (!dev->is_physfn)
+	if (!pci_is_sriov_physfn(dev))
 		return -ENOSYS;
 
 	if (numvfs > dev->sriov->total_VFs)
@@ -1279,7 +1279,7 @@ EXPORT_SYMBOL_GPL(pci_sriov_set_totalvfs);
  */
 int pci_sriov_get_totalvfs(struct pci_dev *dev)
 {
-	if (!dev->is_physfn)
+	if (!pci_is_sriov_physfn(dev))
 		return 0;
 
 	return dev->sriov->driver_max_VFs;
@@ -1301,7 +1301,7 @@ int pci_sriov_configure_simple(struct pci_dev *dev, int nr_virtfn)
 
 	might_sleep();
 
-	if (!dev->is_physfn)
+	if (!pci_is_sriov_physfn(dev))
 		return -ENODEV;
 
 	if (pci_vfs_assigned(dev)) {
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 15:08:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 15:08:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328021.1592696 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9gB-00055O-3O; Thu, 04 Jun 2026 15:08:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328021.1592696; Thu, 04 Jun 2026 15:08: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 1wV9gA-00053p-Qw; Thu, 04 Jun 2026 15:08:18 +0000
Received: by outflank-mailman (input) for mailman id 1328021;
 Thu, 04 Jun 2026 15:02:04 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dimitri.daskalakis1@gmail.com>) id 1wV9a8-00044O-DL
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:02:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV9a7-001rSt-Nd
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 17:02:03 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a219360-2eae-0a2a0a5409dd-0a2a4507c166-44
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:03 +0200
Received: from [209.85.210.173] (helo=mail-pf1-f173.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a21936a-229c-0a2a45070019-d155d2ada9e9-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:03 +0200
Received: by mail-pf1-f173.google.com with SMTP id
 d2e1a72fcca58-84275887a3fso1160425b3a.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 08:02:03 -0700 (PDT)
Received: from localhost ([2a03:2880:7ff:8::])
 by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-84282882156sm6223764b3a.33.2026.06.04.08.01.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Jun 2026 08:01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780585321; x=1781190121; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xxHR67fZ2aTWHsPIWuXVLfBkGwXwQ/JLm/nLvvGQPDw=;
        b=rzK/aNZwPdwwPB6KVEaZmrrxFUanV95qRJzDxeHQ1l1Am8D9a7t/weorJE5zTTsaSi
         2Bso3wVBcK4ytRWSg1mGd/HzNLdvx3JdV1KtlvG73V7pD6E0kxmvRhhW/ZkqzNJL5NVQ
         zKpddnfKhfrWoQw4vQ9RcRfFFoQi8tuw9RwBegUclR1AyNqFwjQWIJZXfhIm8idlgZo0
         2VVFT2rJ+SKLIHPUIGDtp+wpGOeGKiSXtzsAY8iV3EwXDu5EuD5mHibKR/jyT0DDqW1g
         7vr+OMohh+YkwMN6Er6MWkCL8KYDTrpWjcg2y0w/ak015jLbNn4YTgO552xl6c2Ck7/9
         CrFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780585321; x=1781190121;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=xxHR67fZ2aTWHsPIWuXVLfBkGwXwQ/JLm/nLvvGQPDw=;
        b=LBEOaLVTeLZX9y69/QiwiuN6tUsUBvStFeqOHe1cGfCipGcmlJDfVT3846VhNgMy2j
         LSRrGMAUu61GZFGGQ84v4oai+Q7AYulLm5KIJE01mx5ARxVqmnBoX7Vai7Gb4EkRR5a1
         XsHQeQZzwXBbuuBQcFujeYG/ASC3GCwOGlhVhjsahUFHvgEG03cvkWq/cVssa6T3EhMm
         +PzlUknSm5CDLj8tPHSW7dNzs5vS3ms8Hsuh3D/dfekTq9A9wPANvKdVdpfMmldKE7mx
         HvCssKy3HQ30ybblLyckBlghR72FUaHLK2u7lwyjbvuA1NwGyBtgfBWrJ1DTVOGgrq5S
         vJ5Q==
X-Forwarded-Encrypted: i=1; AFNElJ+e2wN6OcB8aNQ4lEc1qqLn8a0IH5FmSWtYXvzk7tt0ZitCkb/FMS61j2QZEduvVm/mxwM14YL1mVg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxT68UiI4jxAy6VWw5bkFY/gdF8tHyqWzEV4MdIVBdRIAwqbjwT
	Y6818jPO6LgbrPKRFIAEhMcfFtNxb86SLtd+PdiJQck+nIusb/6A6Y+R
X-Gm-Gg: Acq92OFFDF5pkXrvGsrrWpdy+qeYvqQmwdaxpJwg+ILmWQEwJ+M2CjdxXecEB9N4Rjm
	2co6hZ0zLJGUMVORfF+I7jWJbnFbLVXTAqm6VnkFqMrOE42R1JiWDaDKzi1+zwKuBTe2zUe6iOL
	+Q7cO2RAKpBknkaqJmGux7EG1DCY/AsOq++7t/W4DPw2O7pHV5+iVBp6etuwhk/P9fYjpmKKF/G
	2DA02yzYbDzt/JUgZH1XBKJerYHmLAjheO6SKGzHuB0bNDmSMkWLXDGiNjcDK6E5q3XNxklPwEj
	nSFD9QwF0oBZ+B8ZBbCEfn21oPLZFdH0AxIIA9jzShEptjlbf3k3v5NErH/HwINDIObJMhnWfKD
	7CJsP4FhClXAlOlgrAEqImgoFXRqpQJ+0lOEw3ovKXtXRjXfHP0HhfjlpSrBie/tJ9Ik+TXQ/qB
	c1LPnmT4mFnQL/QEDRJlyvpPpD57LesV3s0w1bfg==
X-Received: by 2002:a05:6a00:6c8d:b0:842:47f7:5f1 with SMTP id d2e1a72fcca58-8429b73c68cmr3210028b3a.28.1780585319505;
        Thu, 04 Jun 2026 08:01:59 -0700 (PDT)
From: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Alex Williamson <alex@shazbot.org>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Kevin Tian <kevin.tian@intel.com>,
	Ankit Agrawal <ankita@nvidia.com>,
	Leon Romanovsky <leon@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Keith Busch <kbusch@kernel.org>,
	Alexander Duyck <alexanderduyck@fb.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Dimitri Daskalakis <daskald@meta.com>,
	linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC 03/12] PCI: Convert pci.h to pci_is_sriov_* helpers
Date: Thu,  4 Jun 2026 08:01:44 -0700
Message-ID: <20260604150153.3619662-4-dimitri.daskalakis1@gmail.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
References: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1780585323-23979C48-32A9187A/0/0
X-purgate-type: clean
X-purgate-size: 740

From: Dimitri Daskalakis <daskald@meta.com>

No functional changes.

Assisted-by: Claude:claude-opus-4.7
Signed-off-by: Dimitri Daskalakis <daskald@meta.com>
---
 drivers/pci/pci.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
index 4a14f88e543a..73b913bcb87a 100644
--- a/drivers/pci/pci.h
+++ b/drivers/pci/pci.h
@@ -954,7 +954,7 @@ void pci_iov_resource_set_size(struct pci_dev *dev, int resno, int size);
 bool pci_iov_is_memory_decoding_enabled(struct pci_dev *dev);
 static inline u16 pci_iov_vf_rebar_cap(struct pci_dev *dev)
 {
-	if (!dev->is_physfn)
+	if (!pci_is_sriov_physfn(dev))
 		return 0;
 
 	return dev->sriov->vf_rebar_cap;
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 15:08:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 15:08:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328041.1592742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9gD-00061X-U3; Thu, 04 Jun 2026 15:08:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328041.1592742; Thu, 04 Jun 2026 15:08: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 1wV9gD-0005zn-7U; Thu, 04 Jun 2026 15:08:21 +0000
Received: by outflank-mailman (input) for mailman id 1328041;
 Thu, 04 Jun 2026 15:02:13 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dimitri.daskalakis1@gmail.com>) id 1wV9aH-0004B2-32
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:02:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV9aG-00ALgh-Fd
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 17:02:12 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a21936d-bab6-0a2a0a5309dd-0a2a45078eda-38
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:12 +0200
Received: from [209.85.214.172] (helo=mail-pl1-f172.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a219373-229c-0a2a45070019-d155d6acb425-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:12 +0200
Received: by mail-pl1-f172.google.com with SMTP id
 d9443c01a7336-2c0c1e0b0faso6078675ad.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 08:02:11 -0700 (PDT)
Received: from localhost ([2a03:2880:7ff:1::])
 by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-2c16609df79sm62219485ad.42.2026.06.04.08.02.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Jun 2026 08:02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780585330; x=1781190130; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DQ5QlRlqJf2BWfjEpgZtMhqYoBzzggdHeyuHigzWBDQ=;
        b=IOcZNkdmJQuDr7JHH+JExjDNRdKXBZJ6jbrpGw6VSMmEYZ95rilPkA7twiDZBzhxW+
         Xbom02EC93Xf2KvYEGvMUnzHzqKZ/LY43Ea9RhNfVAZAon2U0Iz51kp6Mx4UamRNi94Y
         7c37Fdxtwb4bVPo3NrNRiaDfnc062M1DPeOk2V6yInMIEKaSUePGKiNYinFRljjsqrtf
         xyPurDnKkZX8be1piPqCOFg+TCqc+fiJfuj5gU0RGrnivuX7xgHvJRzL8AzwzVNNliqn
         9dXOSBNllP856xNPmc9TNN85E86sLHXmUdti2RUx+DgHEO52PXPqNwwK0VsFR1bzCOgM
         TnVA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780585330; x=1781190130;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=DQ5QlRlqJf2BWfjEpgZtMhqYoBzzggdHeyuHigzWBDQ=;
        b=rvWqdHz6AM8hLj+zo/L0mM65sLKbaRX8CiL1pYkyyxBPM1Y679XlfogLDubRQ3Nk56
         pwg5nQb/oGUJjo+4zGNzuhJ/vJhTIqdJqZvZx8d3F3qKchdLbJf7YOqoSXwD7l+QzajE
         XGNgOpfWBBIpKek42HsenG/A2mL16aE9iLTiEHfjJDyJMsCrGqIIXzWzcXZN3bnvdGc1
         qIpwka+3PqgJzD0Y2F+CeiFeeHKPp8O8Vl8T3vXu5tt9Inyk/SYTuqc1ew0vdreMSYxX
         UHKhys5QSGXlbRkk1iQQcOVuZWDnBaGc/0rMwGHvpRb3XomxYx376Jik7LaEhzic96wO
         l2Qg==
X-Forwarded-Encrypted: i=1; AFNElJ+hA32efAg5hUUQrcvCCO3eZwtgh6N+vFmJN3C2tBdN1iB+ak/6e2658Wvr5PmPg2XSehEIBJNUgyo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywc3HEGkPRKCPZHYxHugyddPnajmE4TnqbSiaNo1CX4xVHgAjNQ
	6PtYHzQGvA4iHr2kI2XCrTB72LlfmnhMAZUHRJWg/hZljdcO/J3ZqoQU
X-Gm-Gg: Acq92OEbBq5gP+3o7aJwYhYB5AFyBN5NT7ZgAFPTTMOXEKKT5iIMN9DzWuVBFMZze98
	RRDw9dmsMSLqol07/sNl08Lq4pJEVvi+g+W4EwZuCVfst5o10ETpNeqJrlITnpf+9zB3/AcDm8g
	z+BcXY7+6m/atICO4bcvrj6S6ggN86zVpXRcAPAN255AlxtUsMXqDyelgsQhq9aDORwZY09LEpU
	a9VHD7j9+Uw8YvbexftAthsyY0f1mY9aGezBfb/yzx9bJOokBSHK9BafTXOStnzO5MOJ14IgF7p
	UfW9WHEt16WJwyxDH1/1eFBnv9PvyXMBnuWQ7krEb/lSTd4xpR1p7yMXn+uC9MF60RCv7R9xf5Z
	6n8kH0DJtT/KmPpaao+tV1aQqZ7i9tAzWRCHTWB8AhQNTLIiiR1Ej8f2fjbAo8Eqi9o8wrw1qn2
	kgM6lJEuCGSuvudBcHIDAwORhPwGuTuyWudqVtvIpnL/aSKxYQ
X-Received: by 2002:a17:903:1b07:b0:2c0:eee2:fc45 with SMTP id d9443c01a7336-2c163a28b9fmr86640905ad.4.1780585329440;
        Thu, 04 Jun 2026 08:02:09 -0700 (PDT)
From: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Alex Williamson <alex@shazbot.org>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Kevin Tian <kevin.tian@intel.com>,
	Ankit Agrawal <ankita@nvidia.com>,
	Leon Romanovsky <leon@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Keith Busch <kbusch@kernel.org>,
	Alexander Duyck <alexanderduyck@fb.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Dimitri Daskalakis <daskald@meta.com>,
	linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC 09/12] PCI: Add helper to compute VF Routing ID to pci.h
Date: Thu,  4 Jun 2026 08:01:50 -0700
Message-ID: <20260604150153.3619662-10-dimitri.daskalakis1@gmail.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
References: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1780585332-08F66C48-6AC9C3F4/0/0
X-purgate-type: clean
X-purgate-size: 2035

From: Dimitri Daskalakis <daskald@meta.com>

The VF RID computation is identical for SR-IOV and SIOV. Add a common
helper so we can share the logic across both.

No functional changes.

Assisted-by: Claude:claude-opus-4.7
Signed-off-by: Dimitri Daskalakis <daskald@meta.com>
---
 drivers/pci/iov.c |  8 ++++----
 drivers/pci/pci.h | 12 ++++++++++++
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
index 4aed4f6a42c3..5d65413ce98d 100644
--- a/drivers/pci/iov.c
+++ b/drivers/pci/iov.c
@@ -25,16 +25,16 @@ int pci_iov_virtfn_bus(struct pci_dev *dev, int vf_id)
 {
 	if (!pci_is_sriov_physfn(dev))
 		return -EINVAL;
-	return dev->bus->number + ((dev->devfn + dev->sriov->offset +
-				    dev->sriov->stride * vf_id) >> 8);
+	return pci_virtfn_routing_id(dev, dev->sriov->offset,
+				  dev->sriov->stride, vf_id) >> 8;
 }
 
 int pci_iov_virtfn_devfn(struct pci_dev *dev, int vf_id)
 {
 	if (!pci_is_sriov_physfn(dev))
 		return -EINVAL;
-	return (dev->devfn + dev->sriov->offset +
-		dev->sriov->stride * vf_id) & 0xff;
+	return pci_virtfn_routing_id(dev, dev->sriov->offset,
+				  dev->sriov->stride, vf_id) & 0xff;
 }
 EXPORT_SYMBOL_GPL(pci_iov_virtfn_devfn);
 
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
index 73b913bcb87a..45411960fd2e 100644
--- a/drivers/pci/pci.h
+++ b/drivers/pci/pci.h
@@ -1017,6 +1017,18 @@ static inline int pci_resource_num_to_vf_bar(int resno)
 }
 #endif /* CONFIG_PCI_IOV */
 
+#if defined(CONFIG_PCI_IOV) || defined(CONFIG_PCI_SIOV)
+/*
+ * Compute the Routing ID (bus/devfn) for a VF or SDI under @pf, given the
+ * capability's offset and stride.
+ */
+static inline u16 pci_virtfn_routing_id(struct pci_dev *pf, u16 offset,
+				     u16 stride, int id)
+{
+	return (pf->bus->number << 8) + pf->devfn + offset + stride * id;
+}
+#endif
+
 #ifdef CONFIG_PCIE_TPH
 void pci_restore_tph_state(struct pci_dev *dev);
 void pci_save_tph_state(struct pci_dev *dev);
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 15:08:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 15:08:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328043.1592745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9gE-0006AP-Cm; Thu, 04 Jun 2026 15:08:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328043.1592745; Thu, 04 Jun 2026 15: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 1wV9gD-00065O-Nc; Thu, 04 Jun 2026 15:08:21 +0000
Received: by outflank-mailman (input) for mailman id 1328043;
 Thu, 04 Jun 2026 15:02:15 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dimitri.daskalakis1@gmail.com>) id 1wV9aJ-0004Cn-4y
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:02:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV9aI-00AZZ2-Hf
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 17:02:14 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a21936e-e002-0a2a0a5209dd-0a2a4502ae98-10
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:14 +0200
Received: from [209.85.214.176] (helo=mail-pl1-f176.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a219375-af86-0a2a45020019-d155d6b0d44d-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:14 +0200
Received: by mail-pl1-f176.google.com with SMTP id
 d9443c01a7336-2bf3781ca51so9119965ad.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 08:02:13 -0700 (PDT)
Received: from localhost ([2a03:2880:7ff:5::])
 by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-2c16609df79sm62220215ad.42.2026.06.04.08.02.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Jun 2026 08:02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780585332; x=1781190132; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2Bo6bv9IyO26QNTtP+PpQ5foOOUKiHlTonbwk1FrZVg=;
        b=NGs/1A+cs2sIyLFDBz5fnQuvhzOYCo5ovnsB2+GRjMpsCskoXh5zthUxygX84zxquI
         TKq99qxiX+eOrRSmHLmbOaD2fnufyXXCHkgiy0Vrr8cNU3skBsXhOhozMa7Y9zC/SDwO
         PWmAMMYnTNAMXFCxJScwmzSOYQrsmlQMltnhsq5HAkKVedFhXeBQXyvaQoyPk/qKrfoN
         DP1ppDRlARPVFBFerxGqrjNw6X0XGuvefWXtMiVCXY71VXWjHP27YTvAv1DS4MpEoBWH
         uYIm0JqB7qjDGWw46aQVDMMY4dK+80CSQjTLNt7Lvn/AZ1WTRJD7sZ9sU8nyg7cdHs5f
         AlAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780585332; x=1781190132;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=2Bo6bv9IyO26QNTtP+PpQ5foOOUKiHlTonbwk1FrZVg=;
        b=Ii6U0L7RYo2Z88crszAgSB3Hj4hXm68KNfJHlo8nTuqkpcn/hTx+0d0hD7VTICF+00
         TTzfSxKXDJ1xio4+VsHS3yEjhVO+3dS/lrOqJWQCIJOxsAHmXfYxo6IkjLxOfHa+Vs83
         OxOpxEb+ewjFjYjLDkOVORU/HqilUuMRw8gVzdiGgyW40RfWukDUzCcL4DNUW8x77zs/
         97f26WWnaPpJL+phwqFZCIBWuYnTI5jcQk8BmZxLDnsA5vullclpCjAWauf2ZUXeCsv/
         wMVlxLKhNNjnWE+qIu5J4jN7v9WOtkA5SK1xeIqaDJCOjJS/52r+4peQtqUad0vvmhEv
         /p2Q==
X-Forwarded-Encrypted: i=1; AFNElJ/IquKsMnZvNLbchlROiQ7uH0D516U8p8sIQ4eSuW96P8vsR4R1m9akMdfiB4TlqSXGPNlaquHDJkc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzjZ7VrLYCTajLs1NJOrsBPaCPmS1DtkuhFjS5cDX2GTzOqfgXj
	VLMnkTODa/mXCXuccq/QDhDubwvD1/R5mLKO67b7+jGvTtUiTR3r64BI
X-Gm-Gg: Acq92OF8E+WthHsVKST1npNG0nfJ2twhQlhLJkYWkMWujn8ZIU7h+sJ7BFKvc8Vox7U
	iLkEOCdpNE43lPXpHC0kCi4jcMKYsq2wsrCrzi98+8F9UiQPrqBIWTmw/hmXQ9gQF8UmhBMOtuU
	8onPxAeBJoQ93C2ICLgOFKRghdC0OYah2oEhOwdABj3Mfvr3teTdejpMDZtHEB+jfa33OuDR4DD
	7eXADouGlLtb55nfdfZaHEHl+oLmr01YvVIJSp7Bz50RZ7XXB/vt6xSYnI+hD76a/h/oaSCR3/O
	MKtfT+EPOUP9/OpwfZ9XfNPXKYvDHRCP64kdWV681M4/RWzKNtnqEiv4DLC/3XvvqN4qlAcO1NQ
	Ma1F33qwAOIM+pfUZVNBZC84nApVxnt5QKuvYsxv1dLPW2AtjQtH3cG0VYpmZNpgR66W5NBtVqv
	KQu2d/RRiniKgf6hbr7YDLfcLM3hoD7fMwwkYoQNJyf32JfUlX
X-Received: by 2002:a17:902:ced1:b0:2bd:5ab:af95 with SMTP id d9443c01a7336-2c1634f9212mr84880605ad.0.1780585331912;
        Thu, 04 Jun 2026 08:02:11 -0700 (PDT)
From: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Alex Williamson <alex@shazbot.org>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Kevin Tian <kevin.tian@intel.com>,
	Ankit Agrawal <ankita@nvidia.com>,
	Leon Romanovsky <leon@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Keith Busch <kbusch@kernel.org>,
	Alexander Duyck <alexanderduyck@fb.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Dimitri Daskalakis <daskald@meta.com>,
	linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC 10/12] PCI: Add Scalable I/O Virtualization data structure definitions
Date: Thu,  4 Jun 2026 08:01:51 -0700
Message-ID: <20260604150153.3619662-11-dimitri.daskalakis1@gmail.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
References: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1780585334-83563161-2F912A0A/0/0
X-purgate-type: clean
X-purgate-size: 5705

From: Dimitri Daskalakis <daskald@meta.com>

Define the PCIe SIOV extended capability registers per the PCIe 7.0
spec, and introduce the kernel-internal data structures needed to track
SIOV state on a Physical Function. PCI-SIG members can access the spec
here https://members.pcisig.com/wg/PCI-SIG/document/previewpdf/22464.

The PCI_SIOV kconfig selects PCI_ATS rather than attempting to decouple
the sriov/physfn union within struct pci_dev from CONFIG_PCI_ATS. If
desired this can be done in the future, since ATS is optional
for SR-IOV and SIOV.

Inspired by struct pci_sriov, struct pci_siov records the
capability position, total SDI count, routing ID offset/stride, and
driver-configurable limits.

Add an is_siov bit to struct pci_dev along with helpers to identify
SIOV PFs/VFs.

Assisted-by: Claude:claude-opus-4.7
Signed-off-by: Dimitri Daskalakis <daskald@meta.com>
---
 drivers/pci/Kconfig           | 11 +++++++++++
 drivers/pci/pci.h             | 13 +++++++++++++
 include/linux/pci.h           | 16 +++++++++++++++-
 include/uapi/linux/pci_regs.h | 12 +++++++++++-
 4 files changed, 50 insertions(+), 2 deletions(-)

diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
index 33c88432b728..930231835c40 100644
--- a/drivers/pci/Kconfig
+++ b/drivers/pci/Kconfig
@@ -164,6 +164,17 @@ config PCI_IOV
 
 	  If unsure, say N.
 
+config PCI_SIOV
+	bool "PCI Scalable IOV support"
+	select PCI_ATS
+	help
+	  Scalable I/O Virtualization is a PCIe feature that allows devices
+	  to expose lightweight Scalable Device Interfaces (SDIs). Unlike
+	  SR-IOV Virtual Functions, SDIs have no config space or BARs and
+	  rely on software to compose the control path.
+
+	  If unsure, say N.
+
 config PCI_NPEM
 	bool "Native PCIe Enclosure Management"
 	depends on LEDS_CLASS=y
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
index 45411960fd2e..fd7c04e26c16 100644
--- a/drivers/pci/pci.h
+++ b/drivers/pci/pci.h
@@ -683,6 +683,19 @@ struct pci_sriov {
 	bool		drivers_autoprobe; /* Auto probing of VFs by driver */
 };
 
+/* Scalable I/O Virtualization */
+struct pci_siov {
+	struct pci_dev	*self;		/* This PF */
+	u32		cap;		/* SIOV Capabilities */
+	u16		pos;		/* Capability position */
+	u16		total_SDIs;	/* Total SDIs associated with the PF */
+	u16		num_SDIs;	/* Number of SDIs currently enabled */
+	u16		offset;		/* First SDI Routing ID offset */
+	u16		stride;		/* Following SDI stride */
+	u16		driver_max_SDIs;/* Max num SDIs driver supports */
+	u8		max_SDI_buses;	/* Max buses consumed by SDIs */
+};
+
 #ifdef CONFIG_PCI_DOE
 void pci_doe_init(struct pci_dev *pdev);
 void pci_doe_destroy(struct pci_dev *pdev);
diff --git a/include/linux/pci.h b/include/linux/pci.h
index ca84f66425b2..eba562474017 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -480,6 +480,7 @@ struct pci_dev {
 	unsigned int	is_physfn:1;
 	unsigned int	is_virtfn:1;
 	unsigned int	is_sriov:1;		/* SR-IOV is enabled on this device (PF or VF) */
+	unsigned int	is_siov:1;		/* SIOV is enabled on this device (PF or VF/SDI) */
 	unsigned int	is_hotplug_bridge:1;
 	unsigned int	is_pciehp:1;
 	unsigned int	shpc_managed:1;		/* SHPC owned by shpchp */
@@ -549,6 +550,9 @@ struct pci_dev {
 	u16		ats_cap;	/* ATS Capability offset */
 	u8		ats_stu;	/* ATS Smallest Translation Unit */
 #endif
+#ifdef CONFIG_PCI_SIOV
+	struct pci_siov	*siov;		/* PF: Scalable IOV info */
+#endif
 #ifdef CONFIG_PCI_PRI
 	u16		pri_cap;	/* PRI Capability offset */
 	u32		pri_reqs_alloc; /* Number of PRI requests allocated */
@@ -598,7 +602,7 @@ struct pci_dev {
 
 static inline struct pci_dev *pci_physfn(struct pci_dev *dev)
 {
-#ifdef CONFIG_PCI_IOV
+#if defined(CONFIG_PCI_IOV) || defined(CONFIG_PCI_SIOV)
 	if (dev->is_virtfn)
 		dev = dev->physfn;
 #endif
@@ -615,6 +619,16 @@ static inline bool pci_is_sriov_virtfn(const struct pci_dev *dev)
 	return dev->is_virtfn && dev->is_sriov;
 }
 
+static inline bool pci_is_siov_physfn(const struct pci_dev *dev)
+{
+	return dev->is_physfn && dev->is_siov;
+}
+
+static inline bool pci_is_siov_virtfn(const struct pci_dev *dev)
+{
+	return dev->is_virtfn && dev->is_siov;
+}
+
 struct pci_dev *pci_alloc_dev(struct pci_bus *bus);
 
 #define	to_pci_dev(n) container_of(n, struct pci_dev, dev)
diff --git a/include/uapi/linux/pci_regs.h b/include/uapi/linux/pci_regs.h
index 14f634ab9350..0f81c8c72b05 100644
--- a/include/uapi/linux/pci_regs.h
+++ b/include/uapi/linux/pci_regs.h
@@ -763,7 +763,8 @@
 #define PCI_EXT_CAP_ID_DEV3	0x2F	/* Device 3 Capability/Control/Status */
 #define PCI_EXT_CAP_ID_IDE	0x30    /* Integrity and Data Encryption */
 #define PCI_EXT_CAP_ID_PL_64GT	0x31	/* Physical Layer 64.0 GT/s */
-#define PCI_EXT_CAP_ID_MAX	PCI_EXT_CAP_ID_PL_64GT
+#define PCI_EXT_CAP_ID_SIOV	0x38	/* Scalable I/O Virtualization */
+#define PCI_EXT_CAP_ID_MAX	PCI_EXT_CAP_ID_SIOV
 
 #define PCI_EXT_CAP_DSN_SIZEOF	12
 #define PCI_EXT_CAP_MCAST_ENDPOINT_SIZEOF 40
@@ -1005,6 +1006,15 @@
 #define  PCI_SRIOV_VFM_AV	0x3	/* Active.Available */
 #define PCI_EXT_CAP_SRIOV_SIZEOF 0x40
 
+/* Scalable I/O Virtualization */
+#define PCI_SIOV_CAP		0x04	/* SIOV Capabilities */
+#define PCI_SIOV_TOTAL_SDI	0x08	/* Total SDIs */
+#define PCI_SIOV_STATUS		0x0B	/* SIOV Status */
+#define PCI_SIOV_STATUS_ENABLED 0x01	/* At least one SDI is enabled */
+#define PCI_SIOV_SDI_OFFSET	0x0C	/* First SDI Offset */
+#define PCI_SIOV_SDI_STRIDE	0x0E	/* SDI Stride */
+#define PCI_EXT_CAP_SIOV_SIZEOF	0x10
+
 #define PCI_LTR_MAX_SNOOP_LAT	0x4
 #define PCI_LTR_MAX_NOSNOOP_LAT	0x6
 #define  PCI_LTR_VALUE_MASK	0x000003ff
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 15:08:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 15:08:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328045.1592753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9gE-0006JG-TQ; Thu, 04 Jun 2026 15:08:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328045.1592753; Thu, 04 Jun 2026 15: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 1wV9gE-0006G2-Ak; Thu, 04 Jun 2026 15:08:22 +0000
Received: by outflank-mailman (input) for mailman id 1328045;
 Thu, 04 Jun 2026 15:02:19 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dimitri.daskalakis1@gmail.com>) id 1wV9aM-0004Dh-VW
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:02:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV9aM-007kvE-C1
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 17:02:18 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a219376-5cb7-0a2a0a5109dd-0a2a450bacc4-24
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:18 +0200
Received: from [209.85.214.182] (helo=mail-pl1-f182.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a219378-212f-0a2a450b0019-d155d6b6c9cd-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:18 +0200
Received: by mail-pl1-f182.google.com with SMTP id
 d9443c01a7336-2c0c3546924so5635035ad.3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 08:02:17 -0700 (PDT)
Received: from localhost ([2a03:2880:7ff:4a::])
 by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-2c16609e05fsm64303575ad.54.2026.06.04.08.02.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Jun 2026 08:02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780585336; x=1781190136; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PAIcBy7MNrXi3sYH0OZZ5XdCzjkRdcl8LnKIR3KqnsI=;
        b=cV7sIslnzACQGmr1CjmlTFzTpG8lbNMQxIN+0d/Ue8iX1DEjH9HHUYFpDklRFgCMTA
         WFsbFqkltvv1FIKdB4Bkh4tmCTcdxGNkp8dWr384dnjJT6C+HtZ1ogXPi8Nu724Y6c7a
         JHz1wf+t7T1kVj1AMVJmlzNNjCc4T3ZvyCj8fur+W3QjYPDAVynvj6+S8sHNQVcR4lvT
         RAS49qEe1XVoH4yVKn1PNgM57/5QqrM3mpF208NhrPKmfJG6VnpnFI+BeA2K+cc8himx
         0VickAoHJ4IW6SuC94jREbjiAr5i3uVs8RHSLeScEOX2nvGwOtSgdu6S5qKdIvPXI8++
         R2QQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780585336; x=1781190136;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=PAIcBy7MNrXi3sYH0OZZ5XdCzjkRdcl8LnKIR3KqnsI=;
        b=cewqeAWzE51NzXpDAekYXVL72uvaPI/Te4LIgL43SCBvdew4hEwvzRe/7KDnB2XJNN
         QtGnKwBhBnUDGOLA/IVqBo7zpsSeClli7atFZsXTIjZcS8F3Hd9azDlh/DDBFjfy5Gl2
         xn05Af/dRr/FeitsaVuyKzoc4UGdElwcVwCqYWE2MrTxWyvySyScKmKNT85WStsEFD6L
         zorRh1s97/V/i4VK5B4KJYlsTZV+Nwbr8HDKCbjoBID8TIocwaFQyejL0ljvqWLLW+af
         wIZb0o+X1azklGDrY852OlIvsrCokhRGiovylllBozkvYgGLmBrcWn3uY2ds+oXwO8Fs
         C6PA==
X-Forwarded-Encrypted: i=1; AFNElJ8jQqEhO2K6SkP3yfk/aJv8c//0cDhLw8sO/18BPt7rXA9ju3GEqzpqkZvChJqlbbl/+pAK4cYN2Ak=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx/V7f5SlaYc5bugdv9MCCvdDnyoh8eYAUi6trWAc9CNlUJBGIk
	8byPFMfI5/52Eh9oVWy6V3b7x2GSGYNgBZFHWTDgCyOz9iuAPW2QKLa4
X-Gm-Gg: Acq92OE6ruOTDoCPStM7zhNyaK6OgyMSiCbTBWhH9beCSustoQOxdo41GnXI/ULJllY
	K7aPWHYlilkRm+Jn9GtC7nloaPyyEYbXQVN8mjkmpcosWby7hRODOcE6HDxo/w+9NV7jCtHmty+
	wbQ8O2Wtu9M/6Y9rt1X8aWjVyjSKoij85FlRmzk/0PQc30AFZSMsq8Rm0fPg3bg8cBXsXxxCnUg
	dagyLzkFGmQfBqiMMRJCQyEktOJW4NnxrHZ1sZH3O/A4n86RBC6horWSJ76wjV5mpN57/q8HtyL
	95sbdz4G+kDLuf3WebrAWI9zo1z6HZKLzM1qKFnG/kmRvzrzD8u1YU+da0LDeeY/qqsUV4EjyT6
	yjdCQJvhnCXboWVUFhZ21gw8xjvmiFnfOB0UG1jO77n67+smBYYf1+cprkmGrIusZM0cdOZMAbJ
	uc0HNxNs8VC0sf9Lpzykh7XTslTV6F1AOSnR7i+Sc=
X-Received: by 2002:a17:903:3c45:b0:2c0:bb2d:a30b with SMTP id d9443c01a7336-2c1644ae17fmr84740035ad.32.1780585333563;
        Thu, 04 Jun 2026 08:02:13 -0700 (PDT)
From: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Alex Williamson <alex@shazbot.org>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Kevin Tian <kevin.tian@intel.com>,
	Ankit Agrawal <ankita@nvidia.com>,
	Leon Romanovsky <leon@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Keith Busch <kbusch@kernel.org>,
	Alexander Duyck <alexanderduyck@fb.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Dimitri Daskalakis <daskald@meta.com>,
	linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC 11/12] PCI: Initialize and release SIOV capability
Date: Thu,  4 Jun 2026 08:01:52 -0700
Message-ID: <20260604150153.3619662-12-dimitri.daskalakis1@gmail.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
References: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1780585338-1B374F3B-71B85F5E/0/0
X-purgate-type: clean
X-purgate-size: 6040

From: Dimitri Daskalakis <daskald@meta.com>

Modify pci_init_capabilities() to discover the SIOV extended capability
(cap ID 0x38). When present, allocate struct pci_siov that records the
capability position, total SDI count, routing ID offset and stride, and
the maximum bus range the SDIs can span.

The init path mirrors sriov_init(): read the capability registers,
compute the worst-case bus consumption from total_SDIs, and stash the
result in the PF's pci_dev. Release frees the structure on teardown.

If is_physfn was already set (by sriov_init), it will not be cleared if
siov_init() fails. This prevents clobbering the flag for devices that
enable both virtualization types.

The SR-IOV code does not unset the is_physfn bit of a pci device
when disabled, and the SIOV code follows that pattern.

Assisted-by: Claude:claude-opus-4.7
Signed-off-by: Dimitri Daskalakis <daskald@meta.com>
---
 drivers/pci/Makefile |   1 +
 drivers/pci/pci.h    |  16 ++++++
 drivers/pci/probe.c  |   2 +
 drivers/pci/siov.c   | 113 +++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 132 insertions(+)
 create mode 100644 drivers/pci/siov.c

diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile
index 41ebc3b9a518..a584cd1bf08a 100644
--- a/drivers/pci/Makefile
+++ b/drivers/pci/Makefile
@@ -23,6 +23,7 @@ obj-$(CONFIG_PCI_QUIRKS)	+= quirks.o
 obj-$(CONFIG_HOTPLUG_PCI)	+= hotplug/
 obj-$(CONFIG_PCI_ATS)		+= ats.o
 obj-$(CONFIG_PCI_IOV)		+= iov.o
+obj-$(CONFIG_PCI_SIOV)		+= siov.o
 obj-$(CONFIG_PCI_BRIDGE_EMUL)	+= pci-bridge-emul.o
 obj-$(CONFIG_PCI_LABEL)		+= pci-label.o
 obj-$(CONFIG_X86_INTEL_MID)	+= pci-mid.o
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
index fd7c04e26c16..a516db996aab 100644
--- a/drivers/pci/pci.h
+++ b/drivers/pci/pci.h
@@ -1042,6 +1042,22 @@ static inline u16 pci_virtfn_routing_id(struct pci_dev *pf, u16 offset,
 }
 #endif
 
+#ifdef CONFIG_PCI_SIOV
+int pci_siov_init(struct pci_dev *dev);
+void pci_siov_release(struct pci_dev *dev);
+int pci_siov_bus_range(struct pci_bus *bus);
+#else
+static inline int pci_siov_init(struct pci_dev *dev)
+{
+	return -ENODEV;
+}
+static inline void pci_siov_release(struct pci_dev *dev) { }
+static inline int pci_siov_bus_range(struct pci_bus *bus)
+{
+	return 0;
+}
+#endif
+
 #ifdef CONFIG_PCIE_TPH
 void pci_restore_tph_state(struct pci_dev *dev);
 void pci_save_tph_state(struct pci_dev *dev);
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index b63cd0c310bc..bebc32c8d374 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -2473,6 +2473,7 @@ static void pci_release_capabilities(struct pci_dev *dev)
 	pci_aer_exit(dev);
 	pci_rcec_exit(dev);
 	pci_iov_release(dev);
+	pci_siov_release(dev);
 	pci_free_cap_save_buffers(dev);
 }
 
@@ -2666,6 +2667,7 @@ static void pci_init_capabilities(struct pci_dev *dev)
 	pci_vpd_init(dev);		/* Vital Product Data */
 	pci_configure_ari(dev);		/* Alternative Routing-ID Forwarding */
 	pci_iov_init(dev);		/* Single Root I/O Virtualization */
+	pci_siov_init(dev);		/* Scalable I/O Virtualization */
 	pci_ats_init(dev);		/* Address Translation Services */
 	pci_pri_init(dev);		/* Page Request Interface */
 	pci_pasid_init(dev);		/* Process Address Space ID */
diff --git a/drivers/pci/siov.c b/drivers/pci/siov.c
new file mode 100644
index 000000000000..7372ce95714b
--- /dev/null
+++ b/drivers/pci/siov.c
@@ -0,0 +1,113 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * PCI Express Scalable I/O Virtualization (SIOV) support
+ */
+
+#include <linux/pci.h>
+#include <linux/slab.h>
+#include <linux/export.h>
+#include "pci.h"
+
+static int pci_siov_sdi_bus(struct pci_dev *dev, int sdi_id)
+{
+	if (!dev->siov)
+		return -EINVAL;
+	return pci_virtfn_routing_id(dev, dev->siov->offset,
+				  dev->siov->stride, sdi_id) >> 8;
+}
+
+static int compute_max_sdi_buses(struct pci_dev *dev)
+{
+	struct pci_siov *siov = dev->siov;
+
+	if (!siov->offset || (siov->total_SDIs > 1 && !siov->stride))
+		return -EIO;
+
+	siov->max_SDI_buses = pci_siov_sdi_bus(dev, siov->total_SDIs - 1);
+	return 0;
+}
+
+static int siov_init(struct pci_dev *dev, int pos)
+{
+	struct pci_siov *siov;
+	bool was_physfn;
+	u16 total;
+	u8 status;
+	int rc;
+
+	pci_read_config_byte(dev, pos + PCI_SIOV_STATUS, &status);
+	if (status & PCI_SIOV_STATUS_ENABLED)
+		pci_warn(dev, "SIOV: SDIs active at init, FLR may be required\n");
+
+	pci_read_config_word(dev, pos + PCI_SIOV_TOTAL_SDI, &total);
+	if (!total)
+		return 0;
+
+	siov = kzalloc_obj(*siov);
+	if (!siov)
+		return -ENOMEM;
+
+	siov->pos = pos;
+	siov->total_SDIs = total;
+	siov->driver_max_SDIs = total;
+	siov->self = dev;
+	pci_read_config_dword(dev, pos + PCI_SIOV_CAP, &siov->cap);
+	pci_read_config_word(dev, pos + PCI_SIOV_SDI_OFFSET, &siov->offset);
+	pci_read_config_word(dev, pos + PCI_SIOV_SDI_STRIDE, &siov->stride);
+
+	was_physfn = dev->is_physfn;
+
+	dev->siov = siov;
+	dev->is_physfn = 1;
+	dev->is_siov = 1;
+	rc = compute_max_sdi_buses(dev);
+	if (rc) {
+		dev->siov = NULL;
+		dev->is_siov = 0;
+		if (!was_physfn)
+			dev->is_physfn = 0;
+		kfree(siov);
+		return rc;
+	}
+
+	return 0;
+}
+
+static void siov_release(struct pci_dev *dev)
+{
+	WARN_ON_ONCE(dev->siov->num_SDIs);
+
+	kfree(dev->siov);
+	dev->siov = NULL;
+	dev->is_siov = 0;
+}
+
+/**
+ * pci_siov_init - initialize the Scalable IOV capability
+ * @dev: the PCI device
+ *
+ * Returns 0 on success, or negative on failure.
+ */
+int pci_siov_init(struct pci_dev *dev)
+{
+	int pos;
+
+	if (!pci_is_pcie(dev))
+		return -ENODEV;
+
+	pos = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_SIOV);
+	if (pos)
+		return siov_init(dev, pos);
+
+	return -ENODEV;
+}
+
+/**
+ * pci_siov_release - release resources used by the SIOV capability
+ * @dev: the PCI device
+ */
+void pci_siov_release(struct pci_dev *dev)
+{
+	if (dev->siov)
+		siov_release(dev);
+}
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 15:08:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 15:08:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328049.1592761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9gF-0006bN-Tu; Thu, 04 Jun 2026 15:08:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328049.1592761; Thu, 04 Jun 2026 15:08:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9gF-0006XT-9s; Thu, 04 Jun 2026 15:08:23 +0000
Received: by outflank-mailman (input) for mailman id 1328049;
 Thu, 04 Jun 2026 15:02:28 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dimitri.daskalakis1@gmail.com>) id 1wV9aW-0004Ef-C4
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:02:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV9aV-00226c-Oy
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 17:02:27 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a219379-e002-0a2a0a5209dd-0a2a4503ab38-46
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:27 +0200
Received: from [209.85.210.176] (helo=mail-pf1-f176.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a219382-672d-0a2a45030019-d155d2b0dc37-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:27 +0200
Received: by mail-pf1-f176.google.com with SMTP id
 d2e1a72fcca58-8423efad617so455198b3a.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 08:02:27 -0700 (PDT)
Received: from localhost ([2a03:2880:7ff:51::])
 by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-8428291a837sm6331464b3a.60.2026.06.04.08.02.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Jun 2026 08:02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780585344; x=1781190144; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xRdDzAJ66h/qKzlMtNZ7QYJac4Hlkm37yqxsR8KWCKU=;
        b=PV1D9kLEVa1a0aZ5/QwKDLXHRYxM18P8DLf9q/TeeQKCwwibt+q/wMwwwWEbJw0bat
         vKwPWTi1AK4/Rzwu5cIP5aQo7xcnXaAaq0ERsjSRf6ax4boVpIx0Bl8ufQdxNI+BA0og
         gJ8MnjzB9Ze2+1pGDyUhFG33W84kIgLXZMxZWcPiAaatueeicb9g7awIJydMe9eBQouI
         altx9v/18q+goRIflDo0ysQUq0zfjUhN448i2/1TqVwCt2LmRFl2So9yQ6OVIg0UsiDw
         FUoo/UjwcxqHjTpE8XwAT4BPw6x1k6hZoXzkEZyAMzQXHNSkfb+RlzG7vwkw2brd+IQM
         HK2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780585344; x=1781190144;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=xRdDzAJ66h/qKzlMtNZ7QYJac4Hlkm37yqxsR8KWCKU=;
        b=ive/sUWcUaMybrBIHF9XC/VwiExML8Mog4xwSVELgbuvc+SZ+WdF6iTnV50m5SN6Vc
         bGA1Y/cChhmwR5UtjsOuSOOwHU4CcpMl38VMp5+xTib53EgREdz72G1l3OwhscJHL5uH
         YYTpCC5aegiMlngambGcuIoyN6SQ2nMHaBulXjFK8XsU6IP2c5H1evMDFaMoueu0t9CD
         30+RuFq9z8ENifl+o0oht1ubJrAfX9x0duCDbesdBNBQGYRO8ZJXwl14rgVw88w4LNU6
         JzwGQlfqt0LY6vrEbI51A8KfC8C5GafGUzJZZH7wymZ+We8TgHMPwcaW3yc78uk9IXr3
         q/bw==
X-Forwarded-Encrypted: i=1; AFNElJ/HHSn0X8KNgML5oIaP9BbFsfvg6ui+Mew63EpMrCrim8SIT7khnT3cRaRRaxJQG8WdJtED0iE8AXU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxg8F7frwd2mPqSjiX3t1fkzwhUrd/7m/3BW5Yt7Nb+GN2ZSBf2
	e8E3oFP90ljbTKjq6H0Qjki4C7t6eucZn/2tavFqaSPsmf2Y9DiqHkRn
X-Gm-Gg: Acq92OGn1T8eqKpKFFmcyiHNXVz6nhWNITG0ZJJ7hU2P4/W+lPGaEtMEwWR95dUm8th
	zPHi/ViM8uIyW4CzCLy47eA0ntqXqzfhbDGEEE/jfWkKqOn23S2EqbqDJ2jPndSDRhgl9KuKZ2H
	/Tf0ha8VMTUrnNwxY7CeKLp2JqA6WAYXG/89EQ3RNl7A+NV0s2vU8Qjrix4OdEGTAQgjGylqSuv
	7IoS/k2Ohikqp8wWyCYB6R846sela4/lJ9LvCjahtSlVRnkMfVbIFKRCaY72BO7J0UB0t7MbWAT
	Ik8/yaulD+mYWLLPGF0LdqtTmbpn3+AlSVPoq7z2ZpGmIZTqT2vhal1/ztXhCMTHgUS+N4wrI1l
	Zbh6tGsdaRS4wTXdEVx7yeddrW2t39clmJkE7qwEFlMzvNJ4+dlelosKj5OIPaE9fo/gLWGthBv
	cmQ6He5s66f4Y5mrzCzifULDp8m17YFw1lkCkPu9U3nw+sg7bfkQ==
X-Received: by 2002:a05:6a00:218e:b0:842:5ad6:2d3 with SMTP id d2e1a72fcca58-84284ef2c41mr8159937b3a.38.1780585335784;
        Thu, 04 Jun 2026 08:02:15 -0700 (PDT)
From: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Alex Williamson <alex@shazbot.org>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Kevin Tian <kevin.tian@intel.com>,
	Ankit Agrawal <ankita@nvidia.com>,
	Leon Romanovsky <leon@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Keith Busch <kbusch@kernel.org>,
	Alexander Duyck <alexanderduyck@fb.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Dimitri Daskalakis <daskald@meta.com>,
	linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC 12/12] PCI: Reserve bus range for SIOV devices
Date: Thu,  4 Jun 2026 08:01:53 -0700
Message-ID: <20260604150153.3619662-13-dimitri.daskalakis1@gmail.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
References: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1780585347-3977E938-F3BE14D3/0/0
X-purgate-type: clean
X-purgate-size: 2550

From: Dimitri Daskalakis <daskald@meta.com>

SDI routing IDs are computed from the PF's devfn plus an offset and
stride, exactly like SR-IOV VFs. When the stride pushes routing IDs
past the current bus number, additional bus numbers must be reserved
during PCI bus scanning to ensure the SDIs can be enumerated.

Add pci_siov_bus_range(), which walks all SIOV-capable PFs on a bus
and returns the maximum number of additional buses required. This
parallels pci_iov_bus_range() for SR-IOV.

The bus range is pre-computed during siov_init() by computing the bus
number of the last valid SDI.

Note: The PCIe 7.0 spec outlines an alternative RID assignment
algorithm for SDIs. The spec states a Virtualization Intermediary
(likely a hypervisor) after boot can compute the set of RIDs that are
valid for SDIs. There is a six step algorithm to compute this
RID allowlist. To keep things simple, we are only adding support for
strided RID assignments.

Assisted-by: Claude:claude-opus-4.7
Signed-off-by: Dimitri Daskalakis <daskald@meta.com>
---
 drivers/pci/probe.c |  4 ++--
 drivers/pci/siov.c  | 21 +++++++++++++++++++++
 2 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index bebc32c8d374..9ef6827ab345 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -3100,8 +3100,8 @@ static unsigned int pci_scan_child_bus_extend(struct pci_bus *bus,
 	for (devnr = 0; devnr < PCI_MAX_NR_DEVS; devnr++)
 		pci_scan_slot(bus, PCI_DEVFN(devnr, 0));
 
-	/* Reserve buses for SR-IOV capability */
-	used_buses = pci_iov_bus_range(bus);
+	/* Reserve buses for SR-IOV and SIOV capability */
+	used_buses = max(pci_iov_bus_range(bus), pci_siov_bus_range(bus));
 	max += used_buses;
 
 	/*
diff --git a/drivers/pci/siov.c b/drivers/pci/siov.c
index 7372ce95714b..6405a8830052 100644
--- a/drivers/pci/siov.c
+++ b/drivers/pci/siov.c
@@ -111,3 +111,24 @@ void pci_siov_release(struct pci_dev *dev)
 	if (dev->siov)
 		siov_release(dev);
 }
+
+/**
+ * pci_siov_bus_range - find the max bus number consumed by SDIs
+ * @bus: the PCI bus
+ *
+ * Returns max additional buses consumed across all SIOV PFs on this bus.
+ */
+int pci_siov_bus_range(struct pci_bus *bus)
+{
+	int max = 0;
+	struct pci_dev *dev;
+
+	list_for_each_entry(dev, &bus->devices, bus_list) {
+		if (!dev->siov)
+			continue;
+		if (dev->siov->max_SDI_buses > max)
+			max = dev->siov->max_SDI_buses;
+	}
+
+	return max ? max - bus->number : 0;
+}
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 15:08:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 15:08:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328054.1592772 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9gH-0006sG-18; Thu, 04 Jun 2026 15:08:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328054.1592772; Thu, 04 Jun 2026 15:08: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 1wV9gG-0006ou-Bg; Thu, 04 Jun 2026 15:08:24 +0000
Received: by outflank-mailman (input) for mailman id 1328054;
 Thu, 04 Jun 2026 15:02:58 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dimitri.daskalakis1@gmail.com>) id 1wV9b0-0004G8-Qj
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:02:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV9b0-007lC5-7F
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 17:02:58 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a21939b-bab6-0a2a0a5309dd-0a2a4505d594-24
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:58 +0200
Received: from [209.85.221.171] (helo=mail-vk1-f171.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a2193a1-aaa8-0a2a45050019-d155ddabe126-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:02:58 +0200
Received: by mail-vk1-f171.google.com with SMTP id
 71dfb90a1353d-59c9b666822so552106e0c.3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 08:02:57 -0700 (PDT)
Received: from localhost ([2a03:2880:7ff:51::])
 by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-8428291a837sm6331464b3a.60.2026.06.04.08.02.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Jun 2026 08:02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780585377; x=1781190177; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xRdDzAJ66h/qKzlMtNZ7QYJac4Hlkm37yqxsR8KWCKU=;
        b=oUfZtYvKlpaVeaaEzGPr5Z5k9SglbnrqSdw0ipnhKlBApyFVl2MUGcu2F5K4jSpSug
         6PEbkxcbUxOE+6DvX23RKjqh0Hx+pOHgBw9fjMpsqHoUw35Cs4/pr4dY9oQMo3iP3AP8
         9X86AH7aJuAvX2q+BqmNN59e8TFAm7xOeagjaeTq/xTJhgrH9giDLpZFx0xH9CszJUni
         EJVL5U6GWCpRL7gj3aQYKSmoV+cHZ6qsemX+M3S+nBX2NQGkqNeh3e9lZH4KTf/tHxVc
         AQHiTpdyUUTr3lma23X/pQqzo5bLKCC3PJGMLlxgMSnKmAylGnh8sX+PBOxIBnV0hX9i
         EtXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780585377; x=1781190177;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=xRdDzAJ66h/qKzlMtNZ7QYJac4Hlkm37yqxsR8KWCKU=;
        b=UR6FMUYn3QvgLbWfs9cLmIRPM8BihqpFXUJ6k4++iTutVz/25+yhXVvllt7V8bpETR
         FA8DcN6NNXk41kUwo+jcWaJ6YcfXor9I73xSHjm0OzzDZFJdOhusnRK3T36EONH2v7YE
         XewBQjLKf3iuYHUTZ8OtySgQj4MJzkNgTiDtvRDs3Fd2xpLZurPMA7veRGHENmTtXzzr
         MJaN6ehMPjUDfOB+zGmSdHCi+RI4wqnQL+kgf0JgvQuK4O2Hi8p0dOgsHE5LfhfM4MV2
         4RHISHsfLk+27Wps66QGqhkMUZvsY/BWLYZ2twMyqNPt/2yXAIbHc6XzKPwP1PBXVjsj
         pOcA==
X-Forwarded-Encrypted: i=1; AFNElJ+Bj0he9nrjQAT1Zrn9DO8liukS2lS1efS4DacKACjT81dZAqqZWqIOk4wifONAJZoLmyr+Bj+xsik=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywxk0VFkllnSbUAEsyc600O/0xfwQNeM2NQXh9RQNfhyAxiaBqq
	h8TALIthS4tAp9pq9AHiBG+k2+BgOgJJiCOtm1uhTyixDz3014CI9/p90G2zkg==
X-Gm-Gg: Acq92OFnAYgCrHmcdAw/51KgRbScroToyS1QlSKIp4+zb/hfByMaB4AvrXtjfvXhOvP
	UQu1KymD9uHbseKLRj9iV2D/8wH87CNc6yRJpSdjbdxaxz1RNUDoJB/B5+pddOhraWGAnvrzp/1
	dRAYS2D/BwlmiaG8i8ML0/hffsV3z5Mqx7bQCKuBETdJ6/wG0oxFyclZTGlNRo1Hj9dGe9yDGFE
	xFlQM1pMENAH0cZTEZNz+arqbbzrRtDdlgSsA6bMTfHJoAP7xX1jpL7SJBj+d9jB4GVGGqb9UaR
	eqgbYiSpz4r2WFny0GtkbmAj0vAznWiwQEhxMb7zfu7cTyqfMCj/WrgVAB7OjbIHjg4uyXxsyRO
	VrGYulVPF/EkgJLtTWnGppuZPjvBguAsNVYWuVrzcJQp58meGEdJ6llP7Yh8FoAPEDXDSJipO7D
	wfMpBemskkxBGKcD3eNK0xv/lR/2pg8euYNeTxcKY=
X-Received: by 2002:a05:6a00:218e:b0:842:5ad6:2d3 with SMTP id d2e1a72fcca58-84284ef2c41mr8159937b3a.38.1780585335784;
        Thu, 04 Jun 2026 08:02:15 -0700 (PDT)
From: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Alex Williamson <alex@shazbot.org>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Kevin Tian <kevin.tian@intel.com>,
	Ankit Agrawal <ankita@nvidia.com>,
	Leon Romanovsky <leon@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Keith Busch <kbusch@kernel.org>,
	Alexander Duyck <alexanderduyck@fb.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Dimitri Daskalakis <daskald@meta.com>,
	linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC 12/12] PCI: Reserve bus range for SIOV devices
Date: Thu,  4 Jun 2026 08:01:53 -0700
Message-ID: <20260604150153.3619662-13-dimitri.daskalakis1@gmail.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
References: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1780585378-D8F7E443-070AF77C/0/0
X-purgate-type: clean
X-purgate-size: 2550

From: Dimitri Daskalakis <daskald@meta.com>

SDI routing IDs are computed from the PF's devfn plus an offset and
stride, exactly like SR-IOV VFs. When the stride pushes routing IDs
past the current bus number, additional bus numbers must be reserved
during PCI bus scanning to ensure the SDIs can be enumerated.

Add pci_siov_bus_range(), which walks all SIOV-capable PFs on a bus
and returns the maximum number of additional buses required. This
parallels pci_iov_bus_range() for SR-IOV.

The bus range is pre-computed during siov_init() by computing the bus
number of the last valid SDI.

Note: The PCIe 7.0 spec outlines an alternative RID assignment
algorithm for SDIs. The spec states a Virtualization Intermediary
(likely a hypervisor) after boot can compute the set of RIDs that are
valid for SDIs. There is a six step algorithm to compute this
RID allowlist. To keep things simple, we are only adding support for
strided RID assignments.

Assisted-by: Claude:claude-opus-4.7
Signed-off-by: Dimitri Daskalakis <daskald@meta.com>
---
 drivers/pci/probe.c |  4 ++--
 drivers/pci/siov.c  | 21 +++++++++++++++++++++
 2 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index bebc32c8d374..9ef6827ab345 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -3100,8 +3100,8 @@ static unsigned int pci_scan_child_bus_extend(struct pci_bus *bus,
 	for (devnr = 0; devnr < PCI_MAX_NR_DEVS; devnr++)
 		pci_scan_slot(bus, PCI_DEVFN(devnr, 0));
 
-	/* Reserve buses for SR-IOV capability */
-	used_buses = pci_iov_bus_range(bus);
+	/* Reserve buses for SR-IOV and SIOV capability */
+	used_buses = max(pci_iov_bus_range(bus), pci_siov_bus_range(bus));
 	max += used_buses;
 
 	/*
diff --git a/drivers/pci/siov.c b/drivers/pci/siov.c
index 7372ce95714b..6405a8830052 100644
--- a/drivers/pci/siov.c
+++ b/drivers/pci/siov.c
@@ -111,3 +111,24 @@ void pci_siov_release(struct pci_dev *dev)
 	if (dev->siov)
 		siov_release(dev);
 }
+
+/**
+ * pci_siov_bus_range - find the max bus number consumed by SDIs
+ * @bus: the PCI bus
+ *
+ * Returns max additional buses consumed across all SIOV PFs on this bus.
+ */
+int pci_siov_bus_range(struct pci_bus *bus)
+{
+	int max = 0;
+	struct pci_dev *dev;
+
+	list_for_each_entry(dev, &bus->devices, bus_list) {
+		if (!dev->siov)
+			continue;
+		if (dev->siov->max_SDI_buses > max)
+			max = dev->siov->max_SDI_buses;
+	}
+
+	return max ? max - bus->number : 0;
+}
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 15:11:55 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 15:11:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328144.1592804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9jc-0004JY-7g; Thu, 04 Jun 2026 15:11:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328144.1592804; Thu, 04 Jun 2026 15:11: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 1wV9jc-0004JR-4Z; Thu, 04 Jun 2026 15:11:52 +0000
Received: by outflank-mailman (input) for mailman id 1328144;
 Thu, 04 Jun 2026 15:11:50 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wV9ja-0004JL-MR
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:11:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV9jZ-0024QN-VC
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 17:11:49 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a2195b4-5cb7-0a2a0a5109dd-0a2a450cc5f6-10
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:11:49 +0200
Received: from [209.85.218.48] (helo=mail-ej1-f48.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgross@suse.com>)
 id 6a2195b5-62f1-0a2a450c0019-d155da30c542-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:11:49 +0200
Received: by mail-ej1-f48.google.com with SMTP id
 a640c23a62f3a-bed2b9bfa02so119300466b.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 08:11:49 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bf051e9b1fasm324775966b.23.2026.06.04.08.11.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Jun 2026 08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780585909; x=1781190709; 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=SmKzBru82MXbWfMD6jBKCeYD6cZ596fFD1Rlxx5mYrs=;
        b=Zidbev4EE8uHYD8BSLk43S364zpIo5vR3CQ7JiMspCWkGsb5ejpZIlPRfqYHEn6RA3
         bmkUqYMcZpy2LQ4HLZY0B/kBVdPYeZKD/VzJ/zSPjpZW5N8inFmcn1WMK702EGaskNHO
         j8xs5T2IXKLBzeBQ0xzmkOiC+7RQDdZFB18YyNZxSbP8XVw3SNwz/FXZun1uBkNqw0Uf
         LaI71vnDXdWDE5+3wGHFYVNLSET/aN40ns3jsTWXl76LoqpQemTeDfjWlPAWuSJDUeW9
         2leiOmy8deiQOL4LIVLBZKPi8Vyhqq7kCntnXHhmxlgVElCjug1IGltcLkWkBbQ4Q3vJ
         iIFw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780585909; x=1781190709;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=SmKzBru82MXbWfMD6jBKCeYD6cZ596fFD1Rlxx5mYrs=;
        b=ILYe2506ngeQGSXaWZr823t4cucj/FNIlcMlpUE8WAzS9HR1Mgc8OTnJwbUp6yjrOj
         gYi8qf/JMsSDckxNrKLobBhPgLv6jWLjIEZEGFucNPDjlvpf9QHtiSs2L4VGMXXL8pxl
         8c/BRD4nx1fmFMpqpzVK0akaODt9nmRKczqmU33+YGuFf4IgQiHl3vm31e68gTPoUWiO
         BgD7t0xFmFuFrvlAN33iT+090eliHTKplxMgmz7LwojlIOIO8eY05gowiHYuOkj8COwS
         fLaswnXia7tx3RvN653vXD7bOdt4i5NNZiqiU1qmmLtgSnVsVbajMM8rz5bIwjqChc8Y
         eOfw==
X-Forwarded-Encrypted: i=1; AFNElJ8UBsRPNWGF9VgEVR6Fw0aWgY2GMp71ulq8nVy5LXbUmWXIesrhR6udIDemeMFm5DcuI7kj6NiaatI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzCUxrI1vQzJOhxNqg6DpBZ0rLczLmWpIaIn9te32zpEPoUhme0
	NfTWX9BXy9bXBOSlA8Nm9cae8wJy3exzZo0lgUq7FETxEp946IGv7N4pMqvFcD4az8Q=
X-Gm-Gg: Acq92OGh8yRb1EU38DxBv+Dp3wy+YEgG0gJFV8ari3F/zpx1mozcJsLLi4+0J8yw2H9
	RHFrq4LUpyY6G96wVd5t96uPiJZ7FYha3o4kXP5aCNyW7AxRTRf47r9wspubPHZ86byfLZ6WJJZ
	ze9ZqqC1yOD5ZOixLq7J8E+Es7MubJiJ4ERVhGiRqtURttA2XCb3zPDIudSG/k7vH3itib7TSxs
	9Q6WodJ3Tw3DAjHnCq+YKivTb9QkgBHBus91KV6sJtgBtS42KzQ2uSpvYSSGBiOFTGjQ/3jJu9n
	NITmW2Wrb4sE85KjJegCIQy7N9NdVj3FDrFMA1vDoucMjnkl3NpSMyb1MqqLqNJ6YSDaU97q74d
	U36F6vsfPrv661kFBIMjXdZi+qId3HnXCbyjVNQ3Au5nx0P4cerJ2UZVSe/egKIA15a/lnZfWTu
	bfQu8k8nqVCNkxgwtON+oWLob5IpT8vUTPzOh8JAshWuUrHP/qIfNIaWEzBE7rmtEGPrajpMGwO
	IRWlofndlJVAGx7Ly4yX8k63BKNqn8exDRnqMNY9ely3sTVscw0UA1F/rcpddjF
X-Received: by 2002:a17:907:cbc5:b0:bd4:f3e2:f1b with SMTP id a640c23a62f3a-bf0b2bd07e2mr457906866b.32.1780585908739;
        Thu, 04 Jun 2026 08:11:48 -0700 (PDT)
Message-ID: <ce60e4dd-aedd-4376-9af1-cdae2f0d674b@suse.com>
Date: Thu, 4 Jun 2026 17:11:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC 07/12] PCI: Convert xen-pciback and pci-driver to
 pci_is_sriov_* helpers
To: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>,
 Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org, Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <chleroy@kernel.org>,
 Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
 Oliver O'Halloran <oohall@gmail.com>,
 Niklas Schnelle <schnelle@linux.ibm.com>,
 Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
 Heiko Carstens <hca@linux.ibm.com>, Vasily Gorbik <gor@linux.ibm.com>,
 Alexander Gordeev <agordeev@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Sven Schnelle <svens@linux.ibm.com>, Alex Williamson <alex@shazbot.org>,
 Jason Gunthorpe <jgg@ziepe.ca>, Kevin Tian <kevin.tian@intel.com>,
 Ankit Agrawal <ankita@nvidia.com>, Leon Romanovsky <leon@kernel.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Keith Busch <kbusch@kernel.org>, Alexander Duyck <alexanderduyck@fb.com>,
 Jakub Kicinski <kuba@kernel.org>, Dimitri Daskalakis <daskald@meta.com>,
 linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
 kvm@vger.kernel.org, xen-devel@lists.xenproject.org
References: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
 <20260604150153.3619662-8-dimitri.daskalakis1@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: <20260604150153.3619662-8-dimitri.daskalakis1@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------fDgbKYEUhquRvAN6UrfLuZuh"
X-purgate-ID: tlsNG-d25034/1780585909-E176ECF5-709C968E/0/0
X-purgate-type: clean
X-purgate-size: 7369

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------fDgbKYEUhquRvAN6UrfLuZuh
Content-Type: multipart/mixed; boundary="------------30t203kwaL3N2wp8gES1yCvp";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>,
 Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org, Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <chleroy@kernel.org>,
 Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
 Oliver O'Halloran <oohall@gmail.com>,
 Niklas Schnelle <schnelle@linux.ibm.com>,
 Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
 Heiko Carstens <hca@linux.ibm.com>, Vasily Gorbik <gor@linux.ibm.com>,
 Alexander Gordeev <agordeev@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Sven Schnelle <svens@linux.ibm.com>, Alex Williamson <alex@shazbot.org>,
 Jason Gunthorpe <jgg@ziepe.ca>, Kevin Tian <kevin.tian@intel.com>,
 Ankit Agrawal <ankita@nvidia.com>, Leon Romanovsky <leon@kernel.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Keith Busch <kbusch@kernel.org>, Alexander Duyck <alexanderduyck@fb.com>,
 Jakub Kicinski <kuba@kernel.org>, Dimitri Daskalakis <daskald@meta.com>,
 linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
 kvm@vger.kernel.org, xen-devel@lists.xenproject.org
Message-ID: <ce60e4dd-aedd-4376-9af1-cdae2f0d674b@suse.com>
Subject: Re: [RFC 07/12] PCI: Convert xen-pciback and pci-driver to
 pci_is_sriov_* helpers
References: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
 <20260604150153.3619662-8-dimitri.daskalakis1@gmail.com>
In-Reply-To: <20260604150153.3619662-8-dimitri.daskalakis1@gmail.com>

--------------30t203kwaL3N2wp8gES1yCvp
Content-Type: multipart/mixed; boundary="------------3qkLssp3MHU7hgnhd2uP8TB0"

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

T24gMDQuMDYuMjYgMTc6MDEsIERpbWl0cmkgRGFza2FsYWtpcyB3cm90ZToNCj4gRnJvbTog
RGltaXRyaSBEYXNrYWxha2lzIDxkYXNrYWxkQG1ldGEuY29tPg0KPiANCj4gTm8gZnVuY3Rp
b25hbCBjaGFuZ2VzLg0KPiANCj4gQXNzaXN0ZWQtYnk6IENsYXVkZTpjbGF1ZGUtb3B1cy00
LjcNCj4gU2lnbmVkLW9mZi1ieTogRGltaXRyaSBEYXNrYWxha2lzIDxkYXNrYWxkQG1ldGEu
Y29tPg0KDQpSZXZpZXdlZC1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0K
DQoNCkp1ZXJnZW4NCg==
--------------3qkLssp3MHU7hgnhd2uP8TB0
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-----

--------------3qkLssp3MHU7hgnhd2uP8TB0--

--------------30t203kwaL3N2wp8gES1yCvp--

--------------fDgbKYEUhquRvAN6UrfLuZuh
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/Ey8FAmohlbMFAwAAAAAACgkQsN6d1ii/Ey/z
Gwf+I6PwL/5jb3ILq2SuV4tHfCxc0VmbrFbnMM5EOsQMcaWg2dP5NKldVbe/9YglVn5+Q5ye46vE
XWXGZO9zQwiZMhRcifnpcvOVrr8qkwJP/VMylckq5xoql5M1BUAHjlOhZ4wjFz+Wvpxj/fAAXbNT
KXh52eS0zX0nLAOf6ZRstfv/HHNQv2rvD7EnS6xApQMbKtzalH2DDHU9TNN4oTpLPwt4mhak+XqC
kY9uwtTRokCL5nZ2en1gTbsheVKCe185MbBsv5lJlm3VovgSNFTtkeId1Vx10tBQ9H/hLcNCAToO
ihpK541tDD5nYCbj+fTEuEG4sW+f2H735xkmbz4oyw==
=ZQpm
-----END PGP SIGNATURE-----

--------------fDgbKYEUhquRvAN6UrfLuZuh--


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 15:13:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 15:13:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328151.1592813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9kq-0004sE-KQ; Thu, 04 Jun 2026 15:13:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328151.1592813; Thu, 04 Jun 2026 15:13: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 1wV9kq-0004s7-Hl; Thu, 04 Jun 2026 15:13:08 +0000
Received: by outflank-mailman (input) for mailman id 1328151;
 Thu, 04 Jun 2026 15:13:07 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wV9kp-0004s1-IY
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:13:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV9ko-007nFN-Rq
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 17:13:06 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a219602-e002-0a2a0a5209dd-0a2a4509e2c6-2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:13:06 +0200
Received: from [209.85.221.51] (helo=mail-wr1-f51.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a219602-2497-0a2a45090019-d155dd33e567-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:13:06 +0200
Received: by mail-wr1-f51.google.com with SMTP id
 ffacd0b85a97d-45ee6d32402so481292f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 08:13:06 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4602cda3651sm4117900f8f.32.2026.06.04.08.13.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Jun 2026 08:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1780585986; x=1781190786; 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=2MrUCA4DtmIf5qrWOuvr6vRjR70qr9YV5sreznrg2BQ=;
        b=DSPpmNGPLamN8vpJ0FAPy9ViRQy4oR20pdeo/xhoT0/1nIJ8MiglW1DcYnjuq/XSJ/
         /aXFY4oWt+7wnyxFkYCPwdimX5k2wgoHeEoS2gOXEzXDIdLbZXe9+t9k2QRr/cRETJxt
         y5ZlTweVOu1OULlqhmJ2DHhb4GmB4AtpBe/Gw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780585986; x=1781190786;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2MrUCA4DtmIf5qrWOuvr6vRjR70qr9YV5sreznrg2BQ=;
        b=RDc/RcQAqeVJfM2+pP0kzq/uhOr8Vn9QCEWo2G7pPozGuE5esoLa0chKVDAYB42vXL
         ltBuw+RbgqBMOX+1y/Caa5qRP7yreIbwffEk6ydzmDBv0f0ndApjQOWdvDS6NL1ST9Mp
         hsW6jfhd5vcsV2Ro3T2SKFVyeg0+GPYqEBdw1hC4QM5XKeuKQ3TMlVkmNBgfha/8y73V
         MBtnnPc/7UiwMow5Aii4E/6mjZwtTgJQEbrDX2fDEA6FME+7X6D3HKRKd1CY4vKX2mO7
         lqSmSYpsblgkDBzebQFDVeRPTUYfPvRIarCiRjX/dmMQ+ccVD9+4JYXpCgzsENquahJW
         rxeg==
X-Gm-Message-State: AOJu0YwHu9atgxWaPZ931a+mjGZ9rUvAMLkL7CpnA9FGQZjfzZEsZCoR
	x86cQaT09OoTzrXqNGtz6vAFwFpL4W/ZyUFptkZMGA8iBddWd4WoGtpRdwPLtVAkmtkiDZP2QHg
	z6QSO
X-Gm-Gg: Acq92OEOztNRWlzeY0wi9AQxKNgJ8fdmH/NeHJclLzv+2jUMSgzi9fleY3Dc6LyYYA/
	JJzOVV/VwiIP7oi0a8S6zII1KrXOeyVVpzIcIBdaCcIgGzVYHhmGfYXSk4qTLnhNxgUwd/GhH2y
	PGHccd6EmUoI7pdowcqoeg5Gvl2ba5S2WjyI4xoETnK5NsJZCX69hwD3xMmCnb+eQcc0ddQBuB2
	Gp922/n5dMfUzNFCksF0hnl14xVryllfgGpcq4JbYoAuBFhah1IGRCRQDMJjU687Bf1jwlkWBuX
	RB28QxrS0E7AveUOwL+lwuOO/c2g/OQhk4w4AtwSA0YwPSnJggfsfZT1r3t/nulI54+Yq/2G+iS
	ct5WGiK+IN6xKRmg7e4KvClX0/04nBXE2zgS/mCfOZJ8aSuu8uzL3u1+yBoqCoyB6pZJpAjIx/p
	b6h+zy+uLnrMSUetXCyfSAMZMKwLa3S1y1y8hBMvOBn7OY/4C11S5dVPXMQNDVYhMlAHoyCaD83
	hkIItYM7E7oL7AwZCoZNH1Fhg==
X-Received: by 2002:a05:600c:698c:b0:48e:6db3:ff33 with SMTP id 5b1f17b1804b1-490b5d41d43mr150474815e9.14.1780585985920;
        Thu, 04 Jun 2026 08:13:05 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Andrii Sultanov <andriy.sultanov@vates.tech>,
	Guillaume Thouvenin <guillaume.thouvenin@vates.tech>,
	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] MAINTAINERS: Update Ocaml maintainers
Date: Thu,  4 Jun 2026 16:13:03 +0100
Message-Id: <20260604151303.2720636-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
X-purgate-ID: tlsNG-bad1c0/1780585986-4015DA53-0A99EA23/10/73395122804
X-purgate-type: spam
X-purgate-size: 1443

Christian has just left Citrix, and Dave almost a decade ago.

Andrii (a XAPI committer) has worked on oxenstored before and has agreed to
step up as a maintainer, and Guillaume wishes to get involved and learn too.
In practice I do a lot of the bindings work, so lets make things official.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Andrii Sultanov <andriy.sultanov@vates.tech>
CC: Guillaume Thouvenin <guillaume.thouvenin@vates.tech>
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>
---
 MAINTAINERS | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 77f72e52f46d..b62ea7c47753 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -453,8 +453,9 @@ F:	xen/arch/arm/include/asm/linflex-uart.h
 F:	xen/drivers/char/linflex-uart.c
 
 OCAML TOOLS
-M:	Christian Lindig <christian.lindig@citrix.com>
-M:	David Scott <dave@recoil.org>
+M:	Andrii Sultanov <andriy.sultanov@vates.tech>
+M:	Andrew Cooper <andrew.cooper3@citrix.com>
+R:	Guillaume Thouvenin <guillaume.thouvenin@vates.tech>
 S:	Supported
 F:	tools/ocaml/
 

base-commit: 0b03d963730b4c3df5b4583c054e2cd0d99758c2
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 15:16:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 15:16:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328162.1592822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wV9o8-0005QT-4d; Thu, 04 Jun 2026 15:16:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328162.1592822; Thu, 04 Jun 2026 15:16: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 1wV9o8-0005QM-0z; Thu, 04 Jun 2026 15:16:32 +0000
Received: by outflank-mailman (input) for mailman id 1328162;
 Thu, 04 Jun 2026 15:16:30 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wV9o5-0005PB-Hz
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:16:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wV9o4-00Abfi-Ub
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 17:16:28 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19e9334fd34000701b@swg.vates.tech>)
 id 6a2196b0-e002-0a2a0a5209dd-0a2a4503a70e-46
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:16:28 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19e9334fd34000701b@swg.vates.tech>)
 id 6a2196cc-672d-0a2a45030019-b9ff1c12b177-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:16:28 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19e9334fd34000701b.006 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 04 Jun 2026 15:16:23 +0000
Received: from [192.168.0.158]
 (cpc92322-cmbg19-2-0-cust1759.5-4.cable.virginm.net [86.26.38.224])
 (Authenticated sender: andriy.sultanov)
 by mail2.vates.fr (Postfix) with ESMTPSA id 21F6486F09;
 Thu,  4 Jun 2026 17:16: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=meok2LmgGXDlovvPVNiotix9Lf62VF1tzS0Nyj+HvXI=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=Z6RSvDg+Hy3nTfoZpwzy3Rt7VRXkgtrSIPk2HASdrB/O0bO+j3HhOA82fUUb7x+cUy4CN+sWF
 QpfD11yFN52z/+4BFzH+rQ2KIrftD0dlfcPkY3Vcu1BUwoZsGMy4iy51PYbdN053oYu7BPrP8vC
 aiqKBH6uMS/75Hb4rYpBc87mWqrIb7fFibbvUoz91cFg8Wft9PDLZ18wgy9+yEOS5Jjmstu7HpX
 0e1L3j9TywWfyveJSdDW+M3idNP/ktmH99mFKCsheH7yRi8DwjQ9GAhRoR8wOtLQc0Cgd9Tz9vp
 UvlSp8qxjFNLiuVnNqxIcUzKsbNMDr5sHPnsYWyFaH/A==
X-Zone-Loop: 255deee48cb4ba2c5f341e638fb7b76cf5910d610e85
x-campaign-type: default
x-transaction-id: b809b82a-0df2-4c2d-bcc8-f43a0d789b1b
x-swg-uid: 01-85b784c6-cdc5-48ba-89ab-557ca831a6e1
X-Mailer: Sweego
Message-ID:
 <1780586184.8631fc262581453bbf619ec5b2062170.19e9334fd34000701b@vates.tech>
x-swg-bid: 1780586184.8631fc262581453bbf619ec5b2062170.19e9334fd34000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Thu, 4 Jun 2026 16:16:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] MAINTAINERS: Update Ocaml maintainers
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Guillaume Thouvenin <guillaume.thouvenin@vates.tech>,
 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: <20260604151303.2720636-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Andrii Sultanov <andriy.sultanov@vates.tech>
In-Reply-To: <20260604151303.2720636-1-andrew.cooper3@citrix.com>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="------------baT20wMkHDqweF7A3hDnYGdt"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1780586183519
X-purgate-ID: tlsNG-33051d/1780586188-4066C938-73ED391A/10/73395122804
X-purgate-type: spam
X-purgate-size: 51421

This is a multi-part message in MIME format.
--------------baT20wMkHDqweF7A3hDnYGdt
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Acked-by: Andrii Sultanov<andriy=2Esultanov@vates=2Etech>

On 6/4/26 16:13, Andrew Cooper wrote:
> Christian has just left Citrix, and Dave almost a decade ago=2E
>
> Andrii (a XAPI committer) has worked on oxenstored before and has agreed=
 to
> step up as a maintainer, and Guillaume wishes to get involved and learn =
too=2E
> In practice I do a lot of the bindings work, so lets make things officia=
l=2E
>
> Signed-off-by: Andrew Cooper<andrew=2Ecooper3@citrix=2Ecom>
> ---
> CC: Andrii Sultanov<andriy=2Esultanov@vates=2Etech>
> CC: Guillaume Thouvenin<guillaume=2Ethouvenin@vates=2Etech>
> CC: Anthony PERARD<anthony=2Eperard@vates=2Etech>
> CC: Michal Orzel<michal=2Eorzel@amd=2Ecom>
> CC: Jan Beulich<jbeulich@suse=2Ecom>
> CC: Julien Grall<julien@xen=2Eorg>
> CC: Roger Pau Monn=C3=A9<roger=2Epau@citrix=2Ecom>
> CC: Stefano Stabellini<sstabellini@kernel=2Eorg>
> CC: Oleksii Kurochko<oleksii=2Ekurochko@gmail=2Ecom>
> ---
>   MAINTAINERS | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 77f72e52f46d=2E=2Eb62ea7c47753 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -453,8 +453,9 @@ F:	xen/arch/arm/include/asm/linflex-uart=2Eh
>   F:	xen/drivers/char/linflex-uart=2Ec
>  =20
>   OCAML TOOLS
> -M:	Christian Lindig<christian=2Elindig@citrix=2Ecom>
> -M:	David Scott<dave@recoil=2Eorg>
> +M:	Andrii Sultanov<andriy=2Esultanov@vates=2Etech>
> +M:	Andrew Cooper<andrew=2Ecooper3@citrix=2Ecom>
> +R:	Guillaume Thouvenin<guillaume=2Ethouvenin@vates=2Etech>
>   S:	Supported
>   F:	tools/ocaml/
>  =20
>
> base-commit: 0b03d963730b4c3df5b4583c054e2cd0d99758c2

-- 
Andriy Sultanov | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
--------------baT20wMkHDqweF7A3hDnYGdt
Content-Type: multipart/related;
 boundary="-=Part.1e56.a5e15e548b7a6796.19e9334fb5f.59ecbfaaffb2aa64=-"

---=Part.1e56.a5e15e548b7a6796.19e9334fb5f.59ecbfaaffb2aa64=-
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<!doctype html>
<html>
 <head>
  <meta http-equiv=3D"Content-Type" content=
=3D"text/html; charset=3DUTF-8">
 </head>
 <body>
  <pre id=3D"b">Acked-by:=
 Andrii Sultanov <a class=3D"moz-txt-link-rfc2396E" href=3D"mailto:andriy=
=2Esultanov@vates=2Etech">&lt;andriy=2Esultanov@vates=2Etech&gt;</a>
</pre>
  <div class=3D"moz-cite-prefix">
   On 6/4/26 16:13, Andrew Cooper=
 wrote:
   <br>
  </div>
  <blockquote type=3D"cite" cite=3D"mid:2026060415=
1303=2E2720636-1-andrew=2Ecooper3@citrix=2Ecom">
   <pre wrap=3D"" class=3D=
"moz-quote-pre">Christian has just left Citrix, and Dave almost a decade ag=
o=2E

Andrii (a XAPI committer) has worked on oxenstored before and has agreed t=
o
step up as a maintainer, and Guillaume wishes to get involved and learn to=
o=2E
In practice I do a lot of the bindings work, so lets make things official=
=2E

Signed-off-by: Andrew Cooper <a class=3D"moz-txt-link-rfc2396E" href=3D"ma=
ilto:andrew=2Ecooper3@citrix=2Ecom">&lt;andrew=2Ecooper3@citrix=2Ecom&gt;</=
a>
---
CC: Andrii Sultanov <a class=3D"moz-txt-link-rfc2396E" href=3D"mailto:andr=
iy=2Esultanov@vates=2Etech">&lt;andriy=2Esultanov@vates=2Etech&gt;</a>
CC: Guillaume Thouvenin <a class=3D"moz-txt-link-rfc2396E" href=3D"mailto:=
guillaume=2Ethouvenin@vates=2Etech">&lt;guillaume=2Ethouvenin@vates=2Etech&=
gt;</a>
CC: Anthony PERARD <a class=3D"moz-txt-link-rfc2396E" href=3D"mailto:antho=
ny=2Eperard@vates=2Etech">&lt;anthony=2Eperard@vates=2Etech&gt;</a>
CC: Michal Orzel <a class=3D"moz-txt-link-rfc2396E" href=3D"mailto:michal=
=2Eorzel@amd=2Ecom">&lt;michal=2Eorzel@amd=2Ecom&gt;</a>
CC: Jan Beulich <a class=3D"moz-txt-link-rfc2396E" href=3D"mailto:jbeulich=
@suse=2Ecom">&lt;jbeulich@suse=2Ecom&gt;</a>
CC: Julien Grall <a class=3D"moz-txt-link-rfc2396E" href=3D"mailto:julien@=
xen=2Eorg">&lt;julien@xen=2Eorg&gt;</a>
CC: Roger Pau Monn=C3=A9 <a class=3D"moz-txt-link-rfc2396E" href=3D"mailto=
:roger=2Epau@citrix=2Ecom">&lt;roger=2Epau@citrix=2Ecom&gt;</a>
CC: Stefano Stabellini <a class=3D"moz-txt-link-rfc2396E" href=3D"mailto:s=
stabellini@kernel=2Eorg">&lt;sstabellini@kernel=2Eorg&gt;</a>
CC: Oleksii Kurochko <a class=3D"moz-txt-link-rfc2396E" href=3D"mailto:ole=
ksii=2Ekurochko@gmail=2Ecom">&lt;oleksii=2Ekurochko@gmail=2Ecom&gt;</a>
---
 MAINTAINERS | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 77f72e52f46d=2E=2Eb62ea7c47753 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -453,8 +453,9 @@ F:	xen/arch/arm/include/asm/linflex-uart=2Eh
 F:	xen/drivers/char/linflex-uart=2Ec
=20
 OCAML TOOLS
-M:	Christian Lindig <a class=3D"moz-txt-link-rfc2396E" href=3D"mailto:chr=
istian=2Elindig@citrix=2Ecom">&lt;christian=2Elindig@citrix=2Ecom&gt;</a>
-M:	David Scott <a class=3D"moz-txt-link-rfc2396E" href=3D"mailto:dave@rec=
oil=2Eorg">&lt;dave@recoil=2Eorg&gt;</a>
+M:	Andrii Sultanov <a class=3D"moz-txt-link-rfc2396E" href=3D"mailto:andr=
iy=2Esultanov@vates=2Etech">&lt;andriy=2Esultanov@vates=2Etech&gt;</a>
+M:	Andrew Cooper <a class=3D"moz-txt-link-rfc2396E" href=3D"mailto:andrew=
=2Ecooper3@citrix=2Ecom">&lt;andrew=2Ecooper3@citrix=2Ecom&gt;</a>
+R:	Guillaume Thouvenin <a class=3D"moz-txt-link-rfc2396E" href=3D"mailto:=
guillaume=2Ethouvenin@vates=2Etech">&lt;guillaume=2Ethouvenin@vates=2Etech&=
gt;</a>
 S:	Supported
 F:	tools/ocaml/
=20

base-commit: 0b03d963730b4c3df5b4583c054e2cd0d99758c2
</pre>
  </blockquote>
  <div class=3D"x-disclaimer-68254132">
   <div>&nb=
sp;</div>
   <div>
    --
    <br>
    <table>
     <tbody>
      <tr>
    =
   <td style=3D"font-size: 10pt;">&nbsp;</td>
       <td style=3D"font-size=
: 10pt; padding-left: 20px; border-left-color: #b42626; border-left-style: =
solid; border-left-width: 1px;">
        <div>
         <strong> Andriy Sul=
tanov | Vates XCP-ng Developer</strong>
        </div>
        <div>
      =
   <strong></strong>
        </div>
        <div>
         <div>
          =
<strong></strong>
         </div>
        </div>
        <div>
         <st=
rong>XCP-ng &amp; Xen Orchestra - </strong>Vates solutions
        </div>
 =
       <div>
         <strong> 
          <br> web: 
         </strong> htt=
ps://vates=2Etech
        </div>
        <div>
         <img style=3D"float=
: left;" src=3D"cid:x-disclaimer-68254132-1780586183519=2Epng@bm-disclaimer=
" alt=3D"" width=3D"174" height=3D"159">
        </div>
       </td>
      =
</tr>
     </tbody>
    </table>
   </div>
  </div>
 </body>
</html>
---=Part.1e56.a5e15e548b7a6796.19e9334fb5f.59ecbfaaffb2aa64=-
Content-Type: image/png; charset=utf-8;
 name="x-disclaimer-68254132-1780586183519.png"
Content-Transfer-Encoding: base64
Content-ID: <x-disclaimer-68254132-1780586183519.png@bm-disclaimer>
Content-Disposition: inline;
 filename="x-disclaimer-68254132-1780586183519.png"
Content-Description: x-disclaimer-68254132-1780586183519.png

iVBORw0KGgoAAAANSUhEUgAAAK4AAACfCAYAAABgKuLmAAAm4XpUWHRSYXcgcHJvZmlsZSB0eXBl
IGV4aWYAAHjatZxpkmSpcoX/swotgXlYDuBgph1o+foOkVmva2jZa8lU1VWZFRlxL+DuZ3C47c5/
/ed1/8GvEYZ3ubReR62eX3nkESffdP/5Nd/fwef39+el8/Wz8PPrbtyvH0ReSnxNn3/2+vX+79fD
jwt8vky+K3+5UN9fP1g//2Dkr+v3Xy70daOkEUW+se8RfV0oxc8PwtcF5mdavo7e/jqF9TW1r89/
loE/Tn/dHYdeK+vzs1//nRurZ4X7pBhPCsnzd0pfA0j6E12afFP5O6YU30vvlc7fIcWvkbAgf1qn
H7+4rbsaav7jm36Kyo/vfonWGV9r9Gu0cvx6S/plkeuPr3983YXy56i8pf/LnXP/+i7+/ProMX5G
9Mvqv8W/1u+bM7OYubLU9WtS31N83/E+wpF16+4YWvWNP4VLtPd78LuT1ZtUML/94vcOI0TCdUMO
Fma44byvO2yGmONxsfFNjDum92JPLY64iVtIWb/DjS2NZMQxpv3CnlP8MZbwbjv8du9unTtb4K0x
cLHwkuAf/nb/9AP3qhRC0FoS+vCJb4xabIahyOlv3kZEwv1a1PIW+Pv3r78U10QEi1ZZJTJY2PW5
xCrhX0iQXqATbyx8/dRgaPZ1AZaIWxcGExIRIGohlVCDbzG2EFjIToAmQ48px0UEQinRGGTMKVVi
06NuzUdaeG+NJfKy43XAjEgUKq4Rm5Emwcq5kD8td3JollRyKaWWVnoZZdZUcy211lYFirOlll0r
rbbWehtt9tRzL7321nsffY44EqBZRh1t9DHGnNxzcuXJpydvmHPFlVZexa262uprrLlJn5132XW3
3ffY06IlAz+sWrNuw+YJh1Q6+ZRTTzv9jDMvqXaTu/mWW2+7/Y47f0TtK6y//f4HUQtfUYsvUnpj
+xE1Xm3t+xJBcFIUMwIWXQ5EvCkEJHRUzHwPOUdFTjHzA8RLJTLIophZUMSIYD4hlhu+Y+fiJ6KK
3P8pbq7ln+IW/7eRcwrdP4zc73H7U9RMNLRfxD5VqEX1ierj56fP2KfI7revTjNvjRUI8HbqXrdv
xdvlv139mjVY7qcXSmjvnE4bo8XF2Po+56wzNhTXorNcILFSOrVFGe7A9LnFNK3KmL3OuveqQXFo
dY9uQGIfkzocZ0Cv8/S0/XDHjzVuYJly3SeNUl+5pphZwnA2ydC5/Gms3vWbhUrjhH59OqOcMI3q
tTTNBUi/7wWM2upzkzUk28nDkwibpeRNfVeuOYkcWVEWoyHtrJzdejkdFUJybDcy60sGdOZf9xzr
7tVPLgZWA7unpRuJQj8ELu92/SHFjDBxrTEZXWplj7tcjiRQ4D5UgmkAhMlaKocx7HLjJAQl9VJO
mYvI1pLi7gW+inX1OEsjy85pbl7+BXiFxSL5wj8LObqCTULGAjEO1rnnwFVOKo0ViBEtRMFsS6GX
mk+2c1ybjIVsz7WWXfhA8jt3VrhNhlQHFGQzHX4eZjUS/aSpW55k96xiSA/L0ABTG6msQIjyQvgR
07amtR6O1VNaM4TSYvixPq0RQ0zGHM3yu8WsA54kRg4as3LTaiSL7RbO1PULaxupwhzbYriRYgtj
o35KhXszeTLrqYUs3Zv5Uj9uz7vJCkpxmU+FYDZbKIZUQN6Qx76gQSdpxs0I0VlJRj9O7kq+ESja
3fKmRM4l+FVE0ts+FR0WSvOdwJ05zt61BMqn8P6sb3KROvzDV/d3P+ArI2aAo+Vl5PoF2pjz7GUZ
f3ZpixEAFndYSd5ZbHu3g7q4hXRf5cRrYeUMqhAAgn8LRDbvzMHbmoHwGtULYwdAYuUWNffgiHnb
CcCpfiRIgpvCkk0IC5MCdjESpKS45mPpSOM23fU0tA24Vcoq2cCj0ljOvraFsVoKBygJaezT7LbG
ZftNdsqezHCWvfxRvjLwPQjcpNiJ0J7AyDk1jNJCzGVITzWSgMQPdw6GulgkQwyRPLycbZGTzOSm
aicBIevmmMO8w92FvlpzFWp5VIubWS9KCtSKB4IrI5L2fs9FnXrrZyYwoTAR4MoD3iFQ9WE4BCJz
WaQh6bqbNaqMer0l2WAGm8iV2QLVEU05xLhPBy9yIFFLPZpF4JaOpSX5gfmRbh8xqzJnaCWBCZV/
8zFKB73YMCswBIgcy5lb8Y+xGtzVUlzH7eZBm7JT2tQxeQBjWa2HdbwR7iqwwRi5Ax/oGWNGK+qe
4ChoR2neDKzG5YI/lfWf5Sq+eofFAEN11Bs1ukG6OOPRrM5B5RbgASIjWTpkOS4/7cPyJPyeRG7x
xA0MrlJmznPtjQFsZfrT4csNvEYSgjFwXVYXSjA+yNioPXHFudRaXBQjl5IZYI2qRqLAHq7YrYLg
c3cIm5QmkKx0hUJUfavDYmQVP9zmJnFBSPcKas+sFIaCFuIkGFkcdqvkk5HNKz9p3jdTj3B6k468
jPV4gAOoLQR6Znj9dooOfjjiNIqBP/bFpQav+Pm+93/z1f32A+gH4Ukq1JOgssPStw3JwfynwhyQ
iGpvyfDNS6Ch2WTRLdsKR4+3mp04YMjSSbs4Ka8hCaw4g4Z8CJHEihCJQt1INC0iFkMfTMhRY/Mu
JnzJbjyHl3Bi8XoX1gP6jZrwECpaqwrtKA1WhUEbvL+mJAjyaTsqdiC1oqgFLO+oPZUQtE3ZiZt4
6xqinw2tJt6VVRKFNIROU7G28cD+uLoo2YFCGIb4AfP6nO1Ax8BvTJXc6wYHpKbvblGt7ZA6tcB4
pKuQGMze3DWMV52icGOw7aiwmrLukCtzCh9JP8ogGQxb6pOFYPm9naWRAVeSXqf0K8U3iCsY6nKf
VW/KAhNgp4IRtc7LgA/xKtQF9YegPNVSrHyu8SKpXtwDcEgEyqIe9uNXBIJW1b9kgs9IZ2iHeW3k
QkbropKAJ+IY4KZMAiC0CBdsM1rjSowX7fnUBzIuAohIyQbYIQ1hi0l2AyJA4eKGAAGhYLnCEaQ4
FEJBb4vNIWgYRPKKu8omwWngQLKnFA6ITpUjdsXB6Yqtqb0pcRML3M8FVwuQBrIIgASuO/V19R+R
Qoyg0akfOB+/la7ZZml5F682FBXw5jsy10Hz2QgSq9tJbCKU14K20MOpUR2dSuk7XH1EQ5/Q/RVm
iwFQ28dmb5J+YNlAId7Hrghw6NI/lkZ6/DtfixlubSy3rQAEudThFyrPp3Q8UoSlHcd4A3oe1YyE
R6rHhQIuZGEn6nBDUQZy45VGdSREAR6JBapWqnTiWU7D45jaIEgVrdtl+CdU2ADjeUVeyw4fWDs+
n1SSO6jHLc24Qfk6FqxNjlNVLXnk32DJK1oYyQuKAHukDjA8MAPoGeCXOidbNwRJmkGfUAicRf3o
dnJESUKZ+k8d82Faki0rSGitzzVwC/sywE61wVitOxZ4oyqhn0SUIAwQDnc0QAHAjgxgTRa5jtZj
han0+qXUScl+SRR0xOGaLgEhr6GAEQifCt8jI0P0flJkngQQHWWxJFtH6zLe4tX3qipkxL8oxkFS
TAqWQ9kcALxJBMaSVfckL1kzfTGPifK3UPbob0IC65JJwCjv405ze8cIPD4EYAC9kK8suFJW/pRy
0GXhfOCIT7CCYy6KuU4KH7GLx9hG9clqOIwliQmeLtQw+W31bhCJoXX4dEaWmTVgqEVYB/YAZ6An
Sh0J6GMhqTBUq1IiCMBja9cDTUEHU7MghUBUqTmsgkHYT1QDi4hHJAGQvTEkvuYkj5V2yehsNAkL
FAwEmRNjsQX4oSL3A54OjbcQa7gh3tQRAbFQ3qTG9lsgenApESnmgB+jGKAkcAbtjZ6BLzHCAN6B
mpBCcwSiTQIrTZFOqaNWD+gHDuaKo+x2p7N7UVpeFKGhBRyTbkj+XgkzxsK/GDp/GCJmA1RA5EdW
Ti2wSg4RNKY27t4SaKgqUtTjkRYpl0UAOxEk4Phc3M5ZCV1MwTI1ZMNDNDIuiJTAsoCIIGNmarfy
XvlRrB0431hcFPcqCETCeNOtuGUuBm2thX5BmB0YGECmGOSy/85+v68Lw4p5Yf2O76iggwZOMD1q
RTl1JbDD83WIURg6S5PB1QaMI94lfMBYCX442cslSY61K/6naDCuBY6TkDywKdIAJKZo0eFEGQ6R
7BURjryANggvspKA9UEyIyhYXMQ1ohBEgRzJu1wzMgq9TzGSkMOEQWTERMPAsbAQlA7q9+UX6IFF
24lsBluJt+QVLoscQKHhQQnG1IQdeOszYoOy2RDpwNvqDhQWVjo3y0gguMEQTohoZJtxV+JUKOw4
kCDUKF44uowWRMDkhiGW9qDExF19nxmBm2tCIPVgUBcCt8uSzLlQWih3ro3iAHgzVhQM52OsCT/E
z6IN+WHHQCw0PDWIcztNmrPydkqJIhJ7YgrxMxdyRwaPUzHHeeM8wIvbgqwimabmNZ4b6s7PsJJD
8ckXiEshRXQPVp2AdRYiV3WXnDy/YTNPqjgASLmAs9gx8jExJEAUEGhwA4DP2mK8WN9B3cIyov/G
RRaGyQW0RCXeaPCLiwloClz+JSlQORQvNQqg14TyQFpPBA0IBuGRKig0hY2cmym7NVJsSKfI20gB
TNWD4y9oHZVgQEa4INaBYbTMbTqItzCcBulQJLiNlNwHfEFJ7Gc4H6kUYUIYAlEzkFn5brIfTbdA
IuXRAIqPyK2Qm9hww8dRIgnp2ja4UyWu0IHrUDuIFwgLJ4Ptq6fLE+A9D9mHlInPZmCU0KRSLI14
uziWBdAQn0PS5IjlQUMhVHfWssaGbS/6GzLinixuxloP6PYCc4/Gr3yQw7zjGLH2IBGrsaXKKOYO
JEGRh0msAS+q0plegcRZNwQNkSBdq4WI2kNmOO02NRINR0tCJzCIZV9kPwUInB2P7CUCFKotNQeh
4N0lTTe1g7a+CRoAtR3FRI01WIc0Gr2jeFkhxBWuEQoCwLpnkkudJNQ6OI7p4q8h9Sr7nkhlVsNR
kGgttKIZ3MuNMGUJ6WuMOIA93bxQOG4AFoAC+NXOeZ5g7CfOUPOM1pHxH/3V/w4m40SAqB1rPe8p
lGBuaAemi+CeRNTIK0cJTYUlHwQhSQ50Y/AoRji5W2bs0MVFOIBGhHKA+SsI7QZVFlHDi3RqsTks
FmOlPvAdkXStYcJ82BByMQYSrNaGYasIGQo43ZZVyVXMBWMEQKKX68sh/AE1UlId8ELfDK1FDCPr
FpkJH5sUASwEBsBTSPuQZeD2JrS2YahANTFV11dQq1rtWFhWbYUnUkORrggIYnQoVplspLCxL/29
CFKkco8ujBrAXxyHNAasmIZym8TPZig66mdGqQA0a2pVPr0QZ8gy+MDMcH0kKAqg4DqYUVtgdvKo
ctBTzVNwgJzSTJFt2Fo8LbxV1RGs6k8EFU6mHGHfirzLwBI4hKpy6jUuxhGylGC9KH302FNwWtyg
pUC78FG01lI3ed7LMnbKcUrhCR+gBzfxH5qSqbHNZxF6XVm2qGx1eOS7jFXrSZtF8v94P0TTaZTQ
ZVA9YGMlIvAp8J7QSXR4tdU7q2oSJAOXh5jSh8kyMqJUgfRIpC2xEGojxyEN5IubFZ84iXeEp9XO
1FrbyqqrCDyk68FXYEwdAZAtlWcRDnx8yGN0cJKV9w7MuaoyqRRxlzQPQILqgehKUNMG9G5kE5AP
SVR5YGMF8VsgyJYPiLfgRRAH2I09qV34HSETRaymlkhDYvFFu5hhJUA5xtrk1DtUAHKR1vV5TbV9
UOVzHaCWyr3Q7dj26YUaVNn/fcPlfnohyLfhFagX5Bwq69ELyR4gl9s2KvBOuSVMh3wCmv+1JvZM
z/dDBd4aa/xAnSJE4oC461G3evlj1jjJf6z6IH+xikLGim9eQ9uEbZhrYBgCg7RJmHojSXANmK0K
u3p7TgJjLd6H1Ej4HUuPBAxUJR0hogL7UmYsNl4ablQXrcqO1NI2iYeO56LIeaRUVa8nT5BB9hFp
jNEbZCQKSY3xJlvsbIbYnjNCi6NDQFJCPZVNGWinvJN6CKR9R0/h1kS0Er8YaDW2N8KQFPausAo4
yIDNmCQ3ghZUIK9kvckR9D2wF1Di0COvRxRxU2NQzc+k3l4lwcq6rsULUWGWo5SfkR/oMNxAr0n7
PkQnq1OKwmVlgW+GAhYgpyBuxMDBc0nBZMclcBlUGWasCH1UJ0gSbp7UlED8seLYCcww9R+Upw+P
YBKApG2UYvLpOioc2JLBWTcAH1tdcQQ/YWuRIp0kNuDdwUG5r7f5xDxx6gk9S1HUFRrY6IKOUeCU
cScJfoMpKFuo72ovK4YQqUSkCQlPfjGbpL2HQaYhliCMpZ2GQ5Y6lhjYR6p5eAiUQnyrpQDqkFP3
IFNRM/ACYY/DTGZmdDzF7p4yQlCpFQ4jY2pwayjb+LZSKytzyAybS1s4B505IcY91KuBEwFIct7u
oZBQN4CTIaMPueuGZ/mo5whtUNdloSNImaBtUAwLfN1RXyhkBDWwzFi7NBtRB5kRW9pNBRDMaRPv
U+65pf5P2it/LfbVULWvCYrI1/bDSqQ92CajeVrVvugFGZFHmbXqFQ5Gj7PMRBaQRmcsVD946d3O
R0UMQrxtR5wbpAS0gqirk7QocPDtykVi4utOkCE2Mowzj0dxTmQBybS40BWBQfpgJ1pD+yiwONhH
ul3BpxQWV8JaET/lpNcqErTI2jV5/w4Quartko6/yIFvhDmUSlj19WJR0WrIs9Rkt1o0VLB62JAg
2B8W2hOdbDBMcHVBMoxUO942t4eb4OKpVl2QImC2FZZWYyyomcEPXjc7elQhxgeZEMHE7ZL21du1
myVqsHOYFxg0IoQQP9R4er0W8iOJ0OJuW0PC9sWtPlqhNFnW46gjZrcZT8eoQj1F2nDlcnBh2jBg
GIFJYg+RX1fdeXmdzkxmNJjEUOZlNtcRktSwr9ryPt2QEqDIwKYgw+L0alDBT0kVTWaC+7vfpcxG
iwUyb6nHv7bLGw+HMtM2b/u0WFGjQAFy+YBfSELlBqZ9HFOLjvIoSwiGTzyIi6RdsX2dUBobL8k3
UQ6oNSCLqio7yVdgqNDUiMaKlg/YaOC3GrBP0EdCg1UqDlaCjpp6HIhwFE/QnimevXtJPRAcFYdn
I/B4CGzb8VQ9ohGoqjDSYiqVG2hbfrhYtTnpXzhNHrYQUpQiA99cs8L7UTsGUoJTWyjaxIckVsBP
5nfYqWMx8P1UCDAGtKyFoJi1AkMF5whVJg3F1OzH+XkIlNWO+Af4lAVFpvQ7lyQYes/BweCcNiju
XmDn7b5AIMSHrK3AQcfzR6/0yyzr1g5qRGTierT3BU5CX0Cdo+jxORtSUwMfQgNjKobiG1uq/x93
VX98df7ffOP/z4XQrKyQQe24MASGuL9bQst6ZDlvWoAz5SIRTf2zMAAzYFIR92qkqpWFVcLeC6BY
66kyjHh93532mfldIDxpvxi4FgrAi/77EwLqgQF0acSOBLAV8a6FN5BSaD+kYdJxBKkRtPqtHbjH
aSbuRjUBABkfGwgtMgLO9/XsMUgo8VLxfQ2xLsiXIl4M7+PUw4xxC6j35rMYn/vzvXQraoK5XB2J
IR1JUvRSBdxwtQlzTKI6rx2XEnFDCCYk1YaE0WPYT4EkN3y5LF4Hc3NX7xHEu1jv65EuU3vTOsvj
Sn0HTeTqAfqo4zddR4d8ax4PAUYh7aDfO+4AsaI2DMoEC2vdhnAh4wZwW1xSK5DRMYpf1lAnaj4z
67+PmjBCL0YxHCijtusiwhmKxxvKgejzBHVzOXwnqgFwWSh7BgXnqJrRWVvdfaH2jbkkUMUvHKRw
Sy6SKUXs5lIcYGSS5vdJ/Wm0o32G5ub32H4fmv91cJtcAuFFnB7c53MFAQ1krG5O27m1fgXi9AKx
kYdSZ9BqeTs12LjXisZNI68Qs0AIvJyLyoSgwm9tYI7JhC3KEhgHtbPByXwYDByIsJfbswVc6+wW
CYOivdQS9ApjlSu1GFbxUv4IuJs17iniVpS4vQ2QT4QGCU6ENfxsgDkMTrlUMQb0aSwdGaNWA1YU
AvubvVxkHJUGqOOAQt7kDk5c7RJAq01UA7qfq09yMLhGNDN1NZP29PuldqeteWPVdjJWMlydNJQ0
FpVh/UhezJjISBvjOjekNj/h10kPyWOsH6uHGMaisgQNAeELYQ77Y3XebjIAoqNA2BsEEIFicXXc
B99vmOVV1TNIF3ZBUuaKsjlSAVtNY+0s4pyRgQSyjXEE32iaDglFirYbFHbx/RdLAkuetpg0fiYG
dCRrq+0rhdNQce0oXnBwgG5ginN5h5zmJhIduV+TEyZqI6ohEQ5Wh2EddcQKLk0t3ZKQ3QDOEjX1
Vv3FgUBZpjNRI1MJB60dUP6wok6ZHJgT+Yvqw4lR+ls722h9fF7QDmel0iNqg4zUDFjsxji6OggH
l41fUwdVR0ZC6aQGJIp+EiIDc0ZVNrVEESpk/2Itr3aRieVQMxoTUkSXMm/uuY/8zAlFofPhgixE
ltqB1xBShJJ6azqigp5JF62PHmf28qP5deR4xYHyx9SOydJsQy2UygLwxhGokbMl83LD6peFYfSG
BYBRMKM2Vq7aeqEcC4Ids3TV6H6ZTuBwFPgJmJlvQHxisuCC8bbb9/DaVB0Zrtbukc5ewQJqjjow
t7HWE2hEENi9KKqqTRrZ0hVxZUJF7Pc6W0Lr6Him2nZZh1/iOwGjVXSBkWBGn6QkSwGZpO4/yhY0
0XYNCffGCiSkDMChgs8A+yqGHRxSg9/OTk7aBi80BIdGXiL+qHDmiuNbG76ksMhOLR+ufhMaGVQs
KsoOuESzsZpm4+33+23etBPGL92UpcDCBWU3mNzVtUcbbb1AWeaedbwGB77RqEO9bjjYRaEXF21S
VQxmzBKoc9uwDWt4DiIO2QCJgAng/y6gLZndN+UYcBJN5zDII+BK4hL3bzgOcsKrWYnuy20NbCXY
RrCKtoPgLTweinn7VXVDzBO5qfM8YzgSGsOoYyZFB6LgBKCIdDdDbWBzQPLwPDf8XNQZTSA3L/SJ
zZj8UA3esZf7CLODbdPB3D8roqr9Udm3pZ0M+MNQj8MbzN4wFxcnvJyaq0wy6+Rjxv9g8KunsifW
FA/BmIz4Q4TzpIOgzV1nNxEtpWG3prQzAyzDeeqEPMLzok1b40YHiY+kx6NXQsi15Wcg6aWhg5yI
4FGOfCx1wlC1SiM64lyLjpBpgzm8bT7tg8TedCIRmFrvVCDABIri+JZ6+OqdtBhuQrlrR+dYd4h7
yLcEHSTd6GhVPUU6dIIdc32W6JB5KhBQChiVcNkrUXTW0ntoIBD46+5YF/jBqlPOSAbgAT4qmExy
biIQKSivwwUZ/wSzUCtXA4euhU4VUCaWKTjA4mR1sK8xsL2eqhusynk9owPwogPTQWZ1vGPQCcDd
IU7eFhg6NYOmKur5o7goq463YDhXx1gM/MIaa8fXIxp0/C9REs9HRX6rNwThJWEAljiJ7xw0Cp00
xG1TPwfFAHLpKQl/dI6YcL8tacPiwHEnJ4zPq8/4OrxendSGhXHEEMEAmHudF8bQaopKMfgPfTl0
Bkgf2TqdnpG+Jplzs863JTFjWAcI6w6ppJ0SxHyGjHVqGL4qwiF4DZgD2YAGzF0lsOgwon/1oAjI
fjC2nRxXUzg40jKMoX8sIicHpP5Xwt+9k3VeUT1oAcHgVoePMRSNFGZ6W1GA3/S47L11GnRfaYqE
xmG5UtKR8gdlVGsj/4GloazLDAj6YbaxemTdODqkuxMG0M0MFqu2SIwTtWfqBRAJrwUyzopVrl6H
jRpRIEKv8wE2wKWrHgTJAPsEtfNo0/hFAC3ADd6esVEb2lssgzlSYHCgR4Uj+6oIXk6vMo5oBiji
8XGQxLWqr6oqyaYjZxVRON5OiLW+0HpDMafgxI2FSIOSeppGbSkdgQw6NlGhbAxreMeaO9WMpNGZ
0QAJAcctHnUVECpqEIfLaMT8XQeug69wUQvomoa9cGkfpRy0HgSo2gdeRY3apOkOomIKNkoI4Djq
j4mLQH6IMenmOg+FRHRfm1YXkiTN/nZHC1WDBtisLtLLr0Taa/9rCWYBA234LrUukVZd54x76L7q
yaG+Gf+R1D0oCqAJB6LKRyVoPxysQanOgXyJ0seGzZIgSO9MDzGjng0loxNuL46eGh1oOu1yIowB
pV58IwA2H4ztuhjeojhcifs2ryOIhqeaLOEcOquBqx3ECqbhR+BMzWhHKf6zVmaE2rHWUUuSCWDG
HWXtCZMDSU0BHX+N8EBWGwpNzdB6DFldWk2qFykdMgs80UEFPV4RElS6VnALo1d03EQa0MAc9Ymp
RcJraHxyBeGIEGZygQVbr5BAjl+XwWkd3mkcTd7rMFrLVZ6yaN80KuSAdWuJggb+NCOdVLMpYmJA
SKikkqZEdDbD5DtAiKhUnV+7EcA1LItsaBfd7N/h9AZxdHinvTsl9RPPtNvMReU+agY/jhQbRB8h
7SW1PseQgYC/QcYI4arJJ6+UcZADR5CRdlHaDv9AxWR1RcVi0XMPUl590KTm45MAY/WlE8Y1Te0J
o5W0CbVsoF7xjy0Z1oWrl/IFaTDeB9ISiPRGQ3VM1vo+VMQ6Bgz3BelRcU5OJQ17khIVgoZBXQ1j
/vgp4jJMx60PAg0FopFXHSSHvX/BUfcTkJazovrrADeVeXwt1BdXguOTpChFKoG+u55+MnRgkmMr
rIK5ObAAynVZaBKRUbfzJrKOL0qRv8znzWYPqQ+qAk5d2u7FVq2rJ1h0ejXorNzU0SOdxUchfNr2
k4T34zW3oZyQ/3U379/9dDdEiNSIHnlBA189VVR1RgM8itPrgRLteQ30DTaEbNE5Edwe0TAdTAe+
HrqC76yfd6QsBMfoyHc+CBSqs7LUISAD9pT3bu1PuLAAhKLTVwlUOq69XUDyyriYWlIr6qDYVOcB
8CezqqaFatDO7tQzEg2hijCLIyxLrFXW6VY1NKtcjI7HnWY68IPa1uPDUYVXtUcjh4cy0qnTI+Ir
/etRC1Dp+0Cn037hMZ3HBWh6fudXoQ2DjZAgEABGtqFetSGQZPt1bkb9IeEaK7tX0IFFlL8ekEG/
qpmvapOOkAJfcELSqalS9QSOdm6pTuqaCUfspajcK+6EHVGfdR7yneE22SB8xL8yqGJeH5PgpNsn
hYoO0vDm9jmAMtunb4Oiso8XyThe7S/r5HlSH2ZVrPJRSwQxKfV+f7qX7pTePljXoYwE1zqv1rYe
22lBp+fOmDGKei7CVU/qaIOx+dfVwG1or1znqV+3cSMATMdaqEamtq72unb13evgWJL1U/97+Pf4
VxVibz0uhmYkJUERzAq6O8hg6/kHaGLrFKueWwHM/e46fagng8DrY6anGfaV4FDL8zA+dC6qwN+q
xpT8MchedXwKh39c0JNoF87ziMrxtcJ/WV/yoSFu4LQGsthmHjAy6by1PYfW06FrH7MjrlsgtbxB
uLpQ1YXa94Xi8xAe5sWLBsKuh7tC8Tr7dpCNkJ2O/Ban58Z+D3R+GdF+itJVH4zqgEYoJ27WdTRC
J4sA5ekgXC9/iO3QU9wqzS6JjKFHFCDRCxoFhAgvcXw0dZd0EpbYlxqwhjrjMrHrkyqbpdg7mzY1
h+/xa1PqGNZFzxOyKKbVxfLrUbKLdiHZHy7BVEkPntSHuwnB8g0QQ8ckGqrkarfyqeyLtAJNsMNa
XD2F0CAK7VagxKEj70LQI5RepwcwzGLtGrInq/bRc80jk/aoBPQs5I7OCP6CmTfFrtPwwDmSTeN0
fx7oH8fZPuP8HA75daSSfnok1mIEzScJl7yIcckVYt/6x6v9SIsf+RXV+s/Wi/inJu+yTvvoZKwO
MGRI8Wh3HJcHStX/cYFr1OltnVsPlLjTg+AYvPQNEXt9rfBn1GGzolx+NsGDrqPNdj1yMdfrISRI
XgF3wi0ddQnv2EGbOYK0oANiE7/3+R8ElKwjOkYt6fzJ1rFFCAiunF0n8UH105x6u/2ds6CueC8a
ZWLowSdqyy/R6aDGk/oeOvgdYNzp/5L48QOFTl2ydzud290hYIn1UDbqdH5qoiblpU72j6ND5qHg
S1Fs1D1LGEkhYgOLpLXD3GCQThoWSBHmRymqlaltPcjToi549PRbVAcpyhz0jiGfgUigglie5CKU
ixIbb1cQw6fI7qXnPYcUNCUStU/lwxZSEr4aV44WMWnLrg5FA8iIdxfWMp20g5HnV3+PNfru7wVp
GSbX1HUrUpZVR9JT1qF9eHRR2k197eFsjIYi9NrllvhHNlxtwUG5V8dZcfWsfHzNvoSEfE8x1iZn
hvOyZ9DWTlf7/QxnUjMIh4iIZL5JZ1dJEGgCOga3buO1Tm1VPYnbSSevTTu15hIXJufV0QLS9Thx
gVWv/tcEEF97nRLtRkxZS/8auuTMfhpCF23Ub1ZTOWtnlDjqqOd7qIvKQ4aOT6niuD+F8Kb5Cpzw
4z4/Wxlo3vg6pNpyYbV0cMnFsHgbUqYundrX8TcdhD9BnZC3Al/X/1z9c23/dfWmq+M8qCLtZcNw
aBltgOgJwaRBH1YTL+vzeyQiqxdWt9ScpZOzMr8h8VLX/75BveU+HHX1lqEhCFG4lpCG2p0ZMLE0
vp7mJXVhx04IR2N9vY6XHD07YnpuRKSxigNXq8zX2xH+vmrQFnkXk34vw4hSNDuCpkl2IOg5Gj1l
gfE8A3PiekNB6Fk+VgJHTnVsMbSaFd+XlXq1PpYdibF1SalsH/qa5VOy+SLYS9HxFfWlNtUBs+p8
BUyCDvRBZk9tMSipvP8XRg7azQhJj1kyzLNg213PdTCeTlJTE72mlMZ77GzrkRXBjXb71ipd55a2
Glx6diuj9H1epWHCxJuqvUr4jzr1yKKES1xYftMeI4HzehSydmEette/p41SVtWwGClRy9pe1lnz
BMAyIrTJ0mGLIypX6Lok8ce4EDxdtr3LAgXaTBp64Kd1oq4d/2PKkFrRR11PAp7wykec4aGTqFVO
611svYfQ9NTppzxIO6FMHDJk/bwD8Se497gOfF3L0YYBWBBkipUwOuZetBuvDa5P1akzrII4uF21
OLWptgZO6TidysQmyAlcM+0X6lQQmhEIkGBtepZ963jC1tEZkinO9lkJPTvyulkarvtYAkYshwUp
H4nHV0B6qF3PFyQ9w9yE0jonpHOJeuzWH6G8nod4hd0cNbY//SPUivS52PKsqh/DhTZQhbdKLSMr
9RzK0D4j2ZIMnNl6eNSTqdXpiT+CgEfpLHuTavpEuuAFlKY6Y+kTSLBAfjSf9uY/R7DexlQNldie
5ChkcdeM7+i72nY23H8DuWZ05wi91FUAAAGEaUNDUElDQyBwcm9maWxlAAB4nH2RPUjDQBzFX1O1
IhUHC4o4ZKhOFqSKOGoVilAh1AqtOphc+iE0aUhSXBwF14KDH4tVBxdnXR1cBUHwA8TRyUnRRUr8
X1JoEePBcT/e3XvcvQOEeplpVsc4oOm2mU4mxGxuRQy9ogsDiCCEuMwsY1aSUvAdX/cI8PUuxrP8
z/05etW8xYCASDzDDNMmXiee2rQNzvvEEVaSVeJz4jGTLkj8yHXF4zfORZcFnhkxM+k54gixWGxj
pY1ZydSIJ4mjqqZTvpD1WOW8xVkrV1nznvyF4by+vMR1msNIYgGLkCBCQRUbKMNGjFadFAtp2k/4
+Idcv0QuhVwbYOSYRwUaZNcP/ge/u7UKE3EvKZwAOl8c52MECO0CjZrjfB87TuMECD4DV3rLX6kD
05+k11pa9Ajo2wYurluasgdc7gCDT4Zsyq4UpCkUCsD7GX1TDui/BXpWvd6a+zh9ADLUVeoGODgE
RouUvebz7u723v490+zvB3gHcqkloKXxAAAN/WlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94
cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1w
bWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAtRXhp
djIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJk
Zi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6
eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICB4bWxuczpzdEV2dD0i
aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgeG1s
bnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6R0lNUD0i
aHR0cDovL3d3dy5naW1wLm9yZy94bXAvIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2Jl
LmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu
MC8iCiAgIHhtcE1NOkRvY3VtZW50SUQ9ImdpbXA6ZG9jaWQ6Z2ltcDo5NmE3ZjI0MS1lMjNjLTRi
MWEtOTdjZS1kNmU2NjliOTk4ZTIiCiAgIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MGNlZmJj
NjYtNjFiMy00ZDZkLWExYzgtMTg5M2QwNWFjOTg5IgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50
SUQ9InhtcC5kaWQ6NDIyZDdlNTItOGE2Ny00NmExLWI5MjYtNTJiOGEzMGIxOGIwIgogICBkYzpG
b3JtYXQ9ImltYWdlL3BuZyIKICAgR0lNUDpBUEk9IjIuMCIKICAgR0lNUDpQbGF0Zm9ybT0iTGlu
dXgiCiAgIEdJTVA6VGltZVN0YW1wPSIxNjU2MDE0ODk0NDU0Mjg5IgogICBHSU1QOlZlcnNpb249
IjIuMTAuMzAiCiAgIHRpZmY6T3JpZW50YXRpb249IjEiCiAgIHhtcDpDcmVhdG9yVG9vbD0iR0lN
UCAyLjEwIj4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAg
ICAgIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii8iCiAgICAgIHN0
RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YTY0MGI4MmMtMDg0My00MjYwLTk3NmMtYTg1ZjA3MDc5
ZjcwIgogICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJHaW1wIDIuMTAgKExpbnV4KSIKICAgICAg
c3RFdnQ6d2hlbj0iMjAyMi0wNC0yOVQxMzoyMzo1NCswMjowMCIvPgogICAgIDxyZGY6bGkKICAg
ICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RF
dnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDozYTUyMDNkNS04NGRiLTQzNDMtOWZhYy03NjFmZDZmZmFh
YjgiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoTGludXgpIgogICAgICBz
dEV2dDp3aGVuPSIyMDIyLTA2LTIzVDIyOjA4OjE0KzAyOjAwIi8+CiAgICA8L3JkZjpTZXE+CiAg
IDwveG1wTU06SGlzdG9yeT4KICA8L3JkZjpEZXNjcmlwdGlvbj4KIDwvcmRmOlJERj4KPC94Onht
cG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAKPD94cGFja2V0IGVuZD0idyI/PlmiVpAAAAAGYktHRADwAKIAftw2PhcAAAAJcEhZcwAALiMA
AC4jAXilP3YAAAAHdElNRQfmBhcUCA56CWQaAAAgAElEQVR42ux9Z5gkV3X2e+6tqk4Td3d2epN2
tUlhJRSQQEKABpFE/ggm2SAMxmBbtjA2/uwPJ2wwGNs8BBuDbTAyOdnYGIEtECMhhISQYIXianOc
2Z3diR2r7j3fj3sqdO/M7Ehik9TneXq3p7u6uvrWe8894T3nEjrymOWnT79UFdaUledrUoFPBADW
AgzYRoio3rTR2CQfuW/UPuPgdu6M2GMX6gzBI5MvAuqiN7+8N9/f1Uta94C5xzbCZQCWE/MSUqoL
zAFZVrAccWRqNoomOTIj1vIBT6uDNjTTptqYmtkxOnHR5ntqnVHtAPe4yAcA9aprX3O231N6ktJ6
E0AbCLyWmc8gYFApBTADlsHWAswgZsAwYC3YMmAsODKwYVSHtXs4srvYmK22GT1ga817p3cdvOei
n9871hntDnAfs4x95DeWB+XBl0S18MW1feMbibEUhD4AgAXADGYGCVhhOXkNNn7YBMDuISCOH5Fp
IjKH2JgDpt78cWOy+vWoEd1y/o/ujDp3oAPcBcn0z79O/uKlJZ6aXG12bX0bwuYvAeiv7DgYmJka
gWXAmMEWABxQs6CNwcqMFKjt/xsHYjY2AbH73xgY2zC18CFTb36Cm9G3olrz0Dk/vqvZuTsd4M4q
tT3f61G54tNA9FoeP/wqs3NLCcagfmgS9f3jIM4CFSBmB073T6phGQDbDHjbtW1sPlhQon3NUSBG
ZGEb4RbbjK63jehbY7f85L7LEHa0cAe4Tr4P0OUjt7xA5XK/CqWv4kp1UfTQPUCjhqjWRGXHKLhp
kNW2DsDynMkBVQCdALXNdKDY/s2YDWwtyLADa6yBI3kexQA2sI3oAW5G/9mcqn7irLt+uqsD2ycw
cOt7vqOY9BqVL/wx+cGLoPQAIkPhQ/eCx8cAZtT2HUHzyLSAVAZMNC/Hmje2d5E1F6zYuQCxPE+c
tVbTIQYtotgeNmDDgDUpkCMLhKZpm9HOqFr/a2v4c9GRmfDcrQ89YUNr+gkJ2t3f7qEg9xKVy3+a
fP/ZINUFIjIj+2EO7AGshak00Dg04bReLC3gjac9y1NuUwecqoW246ntfOCMCiH3lI5WK5qIFmtP
X03Aucr3HvytpUsP//3IKHeA+0QA7Y5vbaRC/t0IgveS5y0FiKAItlJFtO0hoFEDW0ZjbApmun70
CZgyiJsNgTHwSMwKyiA9A0aOj6UW0B6FYzpqUfSUUptI0ZUKmH7TpHrgk80p0zEVHqdSve/LSnV1
PY3y+Q/C858KpRVIAUoDDITbt8Ls3ApSCrYRorL9oFu6E13q7AViyuCWW7VwxmEjMR1iBy0xGVqi
D3GEIXXYkHHYkvdixy1yNm9sPnAzGjfN8PP1w5U/O3fLA0c6wD3JwibSbK0GW5+NLbCNjA2bDQ6b
hqPQchRZNpEtrjlrQctk9YEv+6pQeBHlCx8nzyuz0gTScMBVsJUaGrffArIWpBTqByfRHJvODBCJ
kkyXf7KZEUwiDXL9MTiRcdjaw2aZBEUK3NjObQ2XJeCNDDhiUGQcsCMLNE1omtE3o0b4e8pXu9bd
cfcTwnTwTrULMmFjEVuzni0vh4lK1kTEJiKOIsCaBlszzdZMsAkPTz949xSHYQXM1Z4nXTbrclm9
9/NFlcu9SeVzH4BW3dmVGaI8w507wI0moBWstQgnKslSziCQ876S5Z8TwLZaDUycrPMxnlODFanZ
EL+usrpDOa1MBCiV2gwxyBWBtQLYgKHSL2b4CniF76mSZf59APd2NO4Jlqg6vQTAZTCmLwYsoojY
RMaayMJEPhujOQVzncNwkk1z3IbRITbRyOJnvHAyNQ8+X9CFwrWUy70bnt8LJaYBacTPbb2J6i03
A40aSGuYWhO1fUdafKv5BooZIMqALLZtmVvBl9W0nIn5xq+bWTSvbYvtGuPeiyMNJmM6GAbl9O3N
6fp163545487wD1B0jh4gMjXl7C1Z7GJFKLIMts9BGxja2esiRgmUjYMCxw2+zkKl9owLLOJijAR
WRMZNlEdUTRmw+jhXF80mh/w30aF4l+S9rqgtQNt/CD3f3PvftTvuhPEBqQ1wqkqmmMzqe161GAd
7Zy1BA1sm/0bZ9CQPncWRzZpkUkNcxa8DDbGxXqtgDR+L5S/TQpgHXgMojubk9W3nXnrnT/rmAon
xK5tehzaIluj2Rpma7eTUncWVp8Vth06PrX5tgNs7QMwkeJmY4BNuMZG0UpEUcma6EzYaD1pfR4F
/luIkBPPqQ1qTqWaI0fAjRBQnNqnQkkEEZjIEWbiMxBnIJzGcuNvOEr7QlQy24y1EM+KTMRBUaqB
KY6JMUgpMDsnEZ4CIoBgwR5l7Q2AGTay5HcFTwl68h/ceeVT3r7m5h9v7wD3OItt1tlGIWCMYhM1
2PK+nk2XhLMd23PB0xJdBuAAgAOj//VZn61ZbqNwdXFQvTS3uPBGIsq1hKJa9KN7bmZmwGEIaAcA
HXiIFDkPPrED2j5Oqf3bEpeNTYckOpaJAVNGUyukSQvKfI2iVr3ODsCkyH0LE6Al2MYK7AGAkRMy
2DAsA7rgP5eZ37v1souuXX/7T490gHscpbj6rGjq53dU2BogipS19hF5x4MvfUMIYFf17n9eqoq5
FytPdR29zvNRhhKDYKMISkLa5Cn4/UUXVbAupcs0Wyx3lvPNYnsxZ4E9WzzXARNWJgQh0bgOsCxu
oYA30bAWBAX24vnrZoM1FirnQxf81+RQOnQj8M7nOnQ/rkSdUhGFWvWgqVUiU6/6tl7pfcSx2js/
PkC++jPy6KzUPIhVIKcevizDYED39jizMjJgE4EjA5UPECzpBnn66Ngrs3ATRCPDgpH+zVnGWBwB
ludHWcYUTx52c4FE9SqAldPApMhpYqXccy1/a3ccKeVWC3m4cxEo5yld8N941vOe9pbHo8Y9pYDL
YWO/rVWnTK0amGqlPPrNzwcL/ez4v/+5B/BvkadelLC42jJaRyk+ZgTLlwF+DhxGCXhhDXQxQH55
H4LFJaiCB/KUA1qW6WWt8HIFfAkrjJNH1gim9vgZ0tBZelnueCKn6V14jEQLKwE2pWBVAGnKAFdW
CN+DCrw+rxhct+s5l118/8aN1AHucZJFV1wd2Ub9XlurwNSqK2zYGFjoZ/0l3c9Xvn6HI7s4NDHz
LIt5JjEAhtffi/yTNsGGkQNvaMCRAUcRQIygv4TCikXIr+hHfkU/gmX9CAZ64C8qwesrQHcF8IoB
dM6HCjyQryWRHpNonOfPcTQgq30zThqJicCKkjgxqRSryGpgUqlJodwBDrwO1GzZTTRfQ+W8c3Uh
+N2uM5eUOjbu8XTSarVdNmruYWPWsok27f3sRw6ufMN14Xyfmfzvv1iuct4fgdADy26pzWhVZLQf
tdu7xCiesxGILGp33gmERixG9zkLgDwNnfOAonJLM1HCMcjGGBJeQRLGlZBW5GxPjgw4NOBGCNuM
YKoNl/iw6bUloeBsAE4ULospQYpdEoKNHJwlO5D7Lq3Er2RoBK82kfnOtisv+cK6m3/CHeAeBym/
/E3R3s999CdsomUcmY0cRTsBbJnr+MOffZf2unJvIOJLnBtunbPCFiS2KLNuATC1k2ICH8WLNsFb
sgi1n26GnZ4Em2YmicCwrKEYYM/ZlaQAaOXASgJaUuJXCdJiGyFW8vH5LCdEdI4MTK0JU2nAzFQR
zdQltSuJB2KXvYudNY41NLtMGqwYxNYBWJGjRSoCPC+2PAK/K/eeqBF+F8BoB7jHS+vWa4c5Mvew
NU+xxlyx7UPvPrLune+btZDQX1TaCMIbAeQSMncc0FcshYtWNJQAxrLEbV1CF2CQVsiduQrByuUI
Rw8hGhmFnZ4G12tAWAfCJtiGQDNyqWGtQUwg0oCWeC9ZsCzj1OIJphExzsRsiQHyPZCn4ZXywJIe
sImBXIep1GBrTZhq08WaORMyY7lyFcfW4siDcpPVMpSvwYEnsQhenesr/h6AP3g8APeUNdh3fPQ9
RRs1n8/GnAFjdrAx393w7g9VW0yEb/yxTznv3bpU+DOVCwDfB3nuAc8HPA+kPEDLQ2lAe+CWtK9y
z4lApNyQKPc/hyG4EYKbTQhXQlKwkctagUHW2cQEYX+5WDQoioCoCYQNcLPuPgvKmDApo6w98ZFl
idlmCFMPHZCnazCTVXBkMsWYklXLknUiC10K4PcUHYssioBmBNsItzanar+0+pu3/qwD3OMoD3/g
XQNszP+BMUU25ic2Mnec875/TOquxr/yByu9ntLdqpgfoMAD+YGA1nP/ax+kNaB9uJSvgFd5gFIO
wEqlXpBSmWVeZZIPqjUR0ZIZQyvN0XJS/ZDSFg240QDqVXB1GlyZBlcmgXpVQmwSTrOcOHDcUuLj
+Ak2isDNCNFkBeGRGdh6U0p9suAFYCzIU8gN9gChTZxNbhhj6s0PTNy7/z2bfn5/2AHucZSH/vTa
jWzM89gazZG5ka19YNPf/SsDwOTX//B9urv4R5TziQK/ReOS5wlgZ9G6ygMrBVKO2ug0MBBTHSle
jikT8CeAWbUl0lqdojTjlbFrM5oxKWM3wjlo1MEzU+DpCfDMBNCog8M6OGwCRiaAkfhwzMmNARoa
hNM1B+BqA7YRyXnTmrf8qkXuPKERu9nA1sKfR9Xmq1Z99aYtHRv3eCYlKpWtUKqPjbkCxj7LGtME
sPXwP//mMqXptWBLR3NdnZYisgBZMImjJsTw2CYErLMZrQWRcl67smCbAShJViqpfKC20FqWdBOH
stLXKE4oAGAoB17tJgrl84CfA/UtdsCqVYDqDOzMJLgyBcxMgK2rTI/TvkkGzdPwe4vwSjmYSgPR
VBXRZBW21kiiDCyZwGxZkcrx+RSZK3a87BnbzvzPH5y2GbVTvnTnH370M/7NS590iKOwyCZayZFZ
/mtnrR9dvGnJy1TOfwV52leeLPOkkqWf4r/lQXFgNKMhCRLgByVJqzRcRq00B8qEuxJiubx+lPZF
i2kRg7m9Lo3bExGeD8oXobp6QaV+UM8iUL4AGGcvE7ddV3zNnoZXyMEr5qACDxxGYGuhSzmoQCe8
oCTRYblP+frLH7pnW9gB7nGUj9+x2fzGxecesM1oKYxZpjXO6FrV/Xqd99c7G1biq0olYak4ch+H
qwAl2ah2AGa8/hhaTKm2nM26mqWSkaid7hh/dyuYqf08NJsmJ5DWYD8AFbug+5aAuvqE+hhJ6CtT
jZEkLBR0zoPXlQdpBXgaKtCZ0qPkWlc2p6r/+eH7dx7oAPc4yz/+5L7oN87fuIejqKzz6ik67w35
3UFR5XxQFrixxo0B2wJeJGGjJKqfZNFUGxYpA+A58EuUwSQfrXUFnDQLIz3W+URHfwFTWyElKVCQ
g+pdBOruA5QHshZswgT0JMmU2KzQ+QC6qwjl+RLL5qzWJQDVD/1s6/90gHsC5BObH2q+/bz1I7m+
4GkEfpYJDfndOajAl4ySSp0rSvP7FCcDkvwpzfL/LG5rsiRTK7E8k5WjozTzLDbwUeDN2MDyeUos
ZEoATekMSTW254FK3VClXqhc0dn1Yf1oCgQBKshBFQsg7WK5HEWp4if0vW5L/dP/1JiMOsA9AfIX
b7lC5RcVXmItPzmsNhHVQ/jdeSjfazUXlErDWImNmzUP6JEHVtiRZx3uCG053xatfrSKbbOFidqO
EB1MbYVqbXZ3ch6tnT1c6gEK3UDYAKIo07OBQYEPFQRuRfI8kOc57oS1IEU6WNXzgw/fs/207Izj
nXYXnNNd5HuXeqUcZkam0RyvYGr7QfSsL8Pv1s4OJAkjkcRBYR14LYNhj4Zqu8mb7dihtDtPrAI5
Trva1AyJqxYSnZkloGcKexTJNcQvKYl6xH4jAVaBlAWzAhQjtYA55T+wc7gckTwPpT1QsRt2/BB4
bASoVR2NR2vAc+X35DOU2M5mega2Wiv6/T1PN8w/auzewsrzTX7FWu4A9zgJG7uYPD7Xy2t0repF
Zf8UGocmMcWM7vXL4fd7SdM5F+aKg/tGaCyUhMISZRnnYpXYiUoSCETp/6QkR6tS+1ecvZTdZVu1
aYsTlzEbIARxJba1UCIpS9Zjm8SQKWPJZvluBBbwimmwuAyUemCOHALGD4GUA2pMu4yvxOvuhvG8
HFTXUOWhzbfrXK5mrZ2sHdg1rTx/mrQ3HSxaajrA/QXJyJ++kmy1cb7KeQEsw8/76DqjHzN7J9A4
NAUbWXSftRK5xb2upFy0LZEFWwLYIOvXJ0kCBZCSrBepjEWhWioSQKJR4wSFOhrAiPmwMZOrxXrg
pM6MbOoTAgAsuetwvLS2OHEavyXWLcVChEjAy04L5wvQS5eDu3qByjQQ1Y6uygBDI09EXtkcPniW
GlxWBxETUZ1J1UipSnPy8GGl/f1Q6pBX7LId4D6WZMRMhWDNxV5vIUmRenkf3WuWYGr7ITSPTGPy
vl3oPXcNckt6QUYIKCZmTikwmTT5QNwKYEmUOWXHDszK1X7F3j8RA5bSpEQM7qTVAWcAzWn4jdEa
KFZZ8Aq0bEpddCnoWfxFHWvgNJjrXvdSzjoDVCwBQQnUqMPOjIG4hpTX7swOCuu56P6fPOQtecFe
gAYYWAqgZIEuApYyaKNSQcU0ajtIeztJ6xqRsh3gPkKhyBDXG5tsvQnKec4UsAwv56F34zJMbT2I
xuFpTPxsG3rOX4vC4CLJiMXsKSN+i3GVtko7jaycxkvWZPk74RwoSstqSIl2zfQHI5VoXmTrx5iO
tpvjyshY8yYJihjAbrJRsrirWYMdaVxCZ173Ms9ZEjAeSPvgyjioNikmkgb5AFvbT4e2e91nXbQF
wJbK9vsVrOmDCcsglC3QA3AvcXARSJ1FpLYx824AE0TEHeAuUKofvRHF33nuRlttQHcX0nZFiqE9
B97pXR6qe49g4qdbYM45E12ry0k4LE6Zoi3k77DHwlXgFFxKA2SkYLLdUROerEo5sQzleoslwITU
oVHatSaxh9MHIcMFV7H1qqSDjqSiMwBuddg4S6dw3GMwCB7IKHFGA6BrMeDlgMo4UJ8Rh832kfUW
xectrT3XAjgC4Eh9ZPeDMKafQWUAZwC82ILPI/JXEaktzLydiE5aKE2d6mCtj+wmU68pZu454/Ch
jWxoma00HLWPWUpiXIBdeRo9Z5ZRWj0A2wgxde82TG7ZA9NoCgHFpMebTG9aeR3WZB629WEMEEUJ
QSb5XKY0B2zSjjNx07qWjuUp26u9lCcFc1pjxkpJuY6W+jJKqJiucFI75yumZyr5W7KJ8IQdJ6Ew
5EugnqWgYj/geyBf++Tp/u/NEhPMl8+wuaUrDoP5frb2BxyFP+dmI+Sw2cvWXAjgHGb2Ohq3TQ7f
8i3f6+3LcxQus1FztQqC/nD8cDcA31ZqsPUmKPBBSgBnlHOstEbP2mWA1qjsHMX0vdthGyF6zl4D
r5AXe9ZzlQJJVEol/RJIcRKidT27MrRHZIokk9dj8nhWEzvSOif9QFKOr1DGEo3M1JYuTmzgWJGn
kQ1SGnEfBafHZdlvSWcwCNqNhfFSsyK2bQFQrH2nx4BGtGj1W1/o4Z9vmJW3ECwpM4CZcGLsHhuF
oQI/Ccw+PP9cUmoMrq9FB7h7PvN3XbqrZ9A2aitto7AympnMgygkoolo/15CFDEzw0xWoUt5p1mM
Y3WRNQ4QWqPnzGXQ+RymH96HmQd2IqrU0XveOgS9Pc7WZRcPTcrPFYOUdpW6BJAWABpOQ2TZzBuz
A6tSmWVfpd1pSDmQsZgolh0IkwqJ1AZmUm3ZOk4dPpuaGe7w2AZWAkorZkWbzeuyFK02MWXjwl0A
aSiV6+49R2kA8xJu/L4l3Dw8+qC19gyydoli9qG9VTZsjio/sE9Y4G75y+uKKpc/N6rW1kB7i0l7
PkAVADtJe7t1d+/YzA1fOIejkEEa5vAU7KJuKK0daA07+qJQGYkIpWWLofM5TN63A7U9I4iqdfRd
sBGFgcWAjp0rKdmKPW4BYtJuKY7f8izghQLX6+BmE5TLg/J5cdxUxplL7WsYAbXKkH2Yjo7/zpZh
E83rSnWkT69SaTwXypUlJXRKlZCGkigC0kY87u8CYFA0hYVlUIPFg7Y+sntGWX/AMoM8308Zd08g
4N71yueRLuY93du1KZqaebIu2S4QMYFnCPgZaW+LLhQrpjIdBj2Ledfbn+trYwmKwI0Q0dgk/Hzg
Mk1khP1lQWQcMJRCYVEP9JPPxpHNWxEensDh2+5B30Vno7RyEPDS+C10ppkHuYJKluLHuEmH075W
ogiM6MgRmIlxhwat4JWXQ/f1Sz1bHCZTqQdGkoY2nPYlUxkvjV34LO3B0BZPSIIMEus1ovFZzAat
UnOA/JaohQO1zoBYIO55HuuFZf4rW+/N22ZjKVtLyu3vNkpK8xMKuHe8aEhxZFayMU+31foqMAwI
h0F0P4Cfr/nNP6ke9aHIGBibcGjDg5PQfV1Aj4YiI0ATEDMljeGCUh5LLjkbE/fvQn3/IRz50WZE
561H9/rV0PmcgNJhkiV+y1IUxsSiGeNqWwJHDYSjo7DTk5msmkK0fx9UoQgKgrRwkjNxWbKpJo4N
3JYoBGUa6FFbq9NMnzIid26F1N5uy7ARuwhJkiaG16px43N52ir/2DCY3HxbzkbhJYrQBWay4P1k
ov358hlPHODePnSZ5mrjEpP3LwNRD1ueAeFuAPec+8FPjc8Zx52oTHOOmIzk90Mg3D+OIJ+DVQpk
LEAuO8baOltWu2Xa830sOm8tprqLmHloN6bueRjhZBW9m9Yh6OlKa9BYpYWMkgJ2HRstQBqm0UQ4
sh92ZsaxupQSLe+0oJ2cgF4y4MrgW2K/3NqNJsmypbxdjsNlSrWnupJgbxrG4zQC0RYqAynAatcz
V6d8iTRtnIJc53I1v6s0r406fsf3ejiKLmRqrLVsFTGPKvDdhdVnVZ8wUYVbNp1P0Uz9WSrnXUqE
AMxjIHybiHZf8Kl/nzcuSFqFkF4DiBzXwEzMIDo0Bb/cLzHPuDRHHDUYuUOA0ho9Zy6HXypgYvPD
qO3ch2hyGr0XnIVieUmijuLtnYhbkw62XkNz3z7YatWV0iglpB6VEHpsZQZ60aKjQJlUWyT9wVRi
w7JQL51il++nTOOR2Gywadw53RSFUs5DvKsPeTKRbBpliM0FnfkbDPJ0FRqzAvfQ/35Vkx9ssGFz
kwL3WdfgabtS6q7i+vOnnlgJCLYXcZMutYhyxDwBa79JRHsu+Y/vHnPJMX1do/rIhE2864jBHCHc
NwZVykP36gSsTrM4jetuvnFaUGkUBxfBu/xJGN/8MMIjUzh822aE561H95krHbdXmoiwZUdUIYat
1dDYsxdcr2dirKKNlYDRWlfNa0wCPBaqolvaM8mNtgyaOy4u1HTZvcQkQIZUzi29+49uGKk0iL2M
2REbHpyGzrImSRhNHL73wURh7PviPyjy/EAFuaUcRReBaEDmzIxi3AOih7ufdPlJL/k5ocAdPnNj
F4f2AlguANrA8j0M7HnK8B0LspOoUpuC5SqMKba0V66FaO4YQbB+JXR3UZwXkwEsUuaxmAFBdwGL
Lz4bkw/vQW33CCbufgDhVBW9Z62B310UXDGYCaYyjXDvPthaVSqD40SAaOM4ARD3YoiipFVTmiLm
Nns21pay1EtLUbKZqg1QUrnAnNbJtdQxcFsimAiSz209JGMmIILQHS0oFxze8Kf/YHZ/6oMead3P
JhokpddzFC2XfOA4gD0A7ut/+gsmTpUo1InVuIZ7mE0vrCIwmhzZQ0+/e/OCjXuaqVkGdhBjietF
ALDnNv2wk1U0tx9AsHY5dHdJbpLcPM7cPEq3dPLyAfrOWYOgtwuT9+9A5aHtCCen0XvOWhTKSwBi
RGMTiA4cADcbzg6OTYOEtG7FPnbFmSzZtaTal9itDnEoDUga1aUZCE4IO6wy5TxCoYwrLDiJCLTt
5scZaJKX2LwsHc2zh1A8gyOANU+bah07Pvae820YrlTAEhD1WgqhgEMgPMxEexpTM2OrXvvrpxRX
94QClw1HZGHY9ZLNwdCiR3YCZgAPwfClSHxsm9h4dmIGzW37E/DGFbGsKWmRy4pb9iRTWqFr1VJ4
3UVM/HwrmiNjODI1g9KG1SiUcrCHD8vSLyaBirNaUspOSl6XaIcx7hEDVykJswmIFSXhsKOcNQGw
40BQ6nMlnF+VDAOhrchSCA+kc+67rDOLkkN00sAM1kaIqlWEU9Nh9cDoJjZRFwiaQREYuwG6j5U+
gCiqD77iLaccpfHEa1zGEWbeSeABZtLQ6sKb1569B0Q7rtz2wLFnNBNg7T2OdB0bacq11xQNbMen
0XxoN4K1K6D6ul2TEKSUAdKZ1rmWJdevke/rweJLzsXkfdtR33sQ48N3odKVQ/eKRfAKOZehk33Q
XBIh5g64PgxxNIAj2Vw6abEYmwQqWfIpm2WLaZCU6ZZDShJznKmfUxmHk9JO57GpwORqy5SW3mga
MBGsNa59aqOOaHoG0cw0bK3mtHdopqNqbYKNGQeww4IeVkqNn3HN756SYD1pwH3W/q3R95etu5Ut
dRPzuYBdykq9jBTfdvP6s++/cuuD0/N93uYDpnrzTmoaZw9qm4Z5JIwFTbDTNTTu3wlvxQD0kj5n
OgSUtP+MebbQygFJAyALbS26l/SARw+hVm+iPlWDma6juGoRCv1daYdyss4WTXqP2dSMEIJO0ksh
BmQmRew0asbGNZlSdZJMWmJFxHTJjA17VK2RVPAqH6bRhKnXYWo12FoFplqFqVRgmw0Qu4mqcwWo
fA4Atk/v3Ptl02ju3vjuD51WRZMnpQXT95et6wFwKRRdTory0NQkrQ5Aq/tJ0z3PfOC+OQG8+wUX
roGxPwZhAFq5BsaZDt0JoUU7WqIq5qC6S9CLeqB6SlCFAijnWjOBXeWrrTZgp2Zgq1Vwo+k27as2
MbN/EmG1AeVr5Ad60LW8HzoXuMWBFjYAACAASURBVEgFpWwtQuqs6cUDCDZuyPR3oJYGzNmWpMja
si2vZ96LqZMJ+SYO+QE2jGCqNZhKFabWAIcM2wydgxiGieZXngevuwdeVze8gtSoKQrZmo/lNz33
93AayknrHfb9Zes0QMtBeCYpWgOPfNKKyVMNeGoHaXU/ebSbfN0gX0Xkeeby4dt599UXLoYxnwXz
CxzVT2VayTuwZvdNgFauylUKB0kraYCXlrFztl2SjhvguQbJ0yNTaIxX3X4RpQA9Zw4g6CpAaS39
aSk5DykFPbAUwYb1rYBUWQBniDbZluM0W6k8JfYxRxGiag1RtYpopoJoesZ1kYwpFX4Oygsc1VFp
6FIXgr5+B9hiwX2XS9O6lcHYKRs235rf9OyvdID7aEG8Yv0qUnQ+NK0irfrJUyV4isjXNeWrA+Tr
feTrEQq8qXxem77m9LXUDN/lUv8OmKwFQPHeCEQOpKJ9Y1AmGlll3lMZjSjAJa0S6mF1oobqwWmY
egTyFEor+lEc6IHO+SkoBZB66VLkNm5odb5UpkGJoqTJM0tTvJSfa2EjA9towDQaMLWG06bVKrjZ
TDQ3KQXyPei8W/J1Vw+83n54XT3wu7rhlbqgfD9pPcpxv2B2HGTXTMTuCyvTl5cuuHpPB7iPNc57
xsZuaCqTokHy1HJ4qky+WqwCrSnQlgK/pgJvqqjt2XkTvlUp5EiRUGMpaTCXhJPYiK8Ta2OVaGPK
AjUBcgbEif1KIAWEDYPqoRnUj1QArRD0FVEq9yHfV0z6OTAAtXgJ/HVrXWdEk5LWbRRJO/1I3pPW
n6GBDSPYZhMcNh1BPjMRSBFUEEB3d8Pr6oIuFaG7itCFAnQuD10swF+0FCqXd90kkwaASJoAMrfv
0G4BE30rWPf0F+M0lVOKjzu0e8s0gOmb1529FZbzsJyD5SJHdjmDliuOBi3z4kbOa2hShxRhpdIe
yHcNL5QfPzTI90Gedg9p0USedtmpRLPS0VNYgArpnRtHHXylUFgH1KbrmNz8AJpHKogqDVSKubRN
LgOq+zD03jHJvkmaldM0MmSXSHdeSlYAUgoUBPAX9cLr6YLuKsHv6oJXKkDl8/I7PChPqhxiTV7s
AgW5tEslZ6riJWyX7V/ivo/YRvgiTmM5JSsgrtz2IAOoyWPiBxddcICY7wYzgaGbTP19pjlAxv4y
e55m4wG+LLWc8lFVzJpSGgh8IPBBfgDlyw45nvTLFQ2XdHSMCxez8VN57i8l5JcuwfjmB1DfvR/N
8UrGPiZopUHVmpgqGqw1yNdQMglUPgddLMArFqCLBac5i3nnNOVybS2ksi2lkFybc7oAeD5UroCE
6xXveJlllVG6fatLO1uwwQFrzXc6wD3O8oyfbs5uEGYAjO55yaWf5cPVl4LRFwOPfQ34ngOp74F9
B1Yb+KDAAwUBOPBhfR8UOACTp8WRa3XYjuqpgLR5niagf8MqTHOI6t5RmHrkqt89heKKJShu2gAV
BK4tlO9DBb5bCYKg1d4las2mxRuryH4kJCQZNrFpY1OWmKegC6WY/wG0tFHN0BaTymVytq17+4sq
CKY7wD0Zxvmqvlt4qnYP18NnxuVg1Ixca/lGmEQZWMjcnN2hUWvA11JsmLFvdVqU2AoupFqZKFl2
CznAW9mP6lgFjYkabNOgcWQahcggN9CVmANJijjuRB6H0qAc9VGlapLjY1m1lANxhpRDWkEVSm67
AGtTk4dtS+untFNPTNIgEHicib9hGrXTupW+Pl0v/EN3bjfvuGDNjD1SfSURWnrcU0t3xex+uEiN
Ues2HoGxbiMS49rNI4qAMBInKkpTuFLpy9akLfEBaE3Ideeh8x6iaghTa6IxOY2w3oDfU3ImQmLf
Zri0nCmOjCmU8ZoS794eX2uyH7B7UeWL0F09LaZAAk7O7AecCarFf7O1/83G/Gth3TNrHeCeJHn7
isFd0Ux4lTnSWJX2MUhvcKJogKSbdwKGJGXMKcvMWnBoYBoGptqEqYsGR6YSlzOfSzrDEPy8j6A3
7wiESiGcmELtwBgoF0DnA+d8MbcCMbPrTgIym6F5Z/cEjr8rl4fX15+QZ+bKrbc4nXG9mbVTUa3x
4fyZV9yB01y803rWDXTVTGQ+HI03nhztreeooKALChQoaF+BAg0VKChfupbDAFaWabaJA2aMgY0s
TCOCqUWw9QgxQZs0Qffk4C8qwe/JZ4g2Cqw4Q75R8JRCz7I+2CVLUBufRmP0CCZ+ch9qK5aia80K
FJb0O7ILK+ETuMoJZDgJ2XKflO/gbCFVKMLr6XPfHfdjiHuXcXsTXm7Rxszg+sTUgfv++pPTNwLB
c4Hm6XzvT/uNibe87PKBaNvYv/C+6kuTpVM8fPIJ5JELl+WU2w9BkhEMcrFUw8nOOGzRatNm9tBV
nkawrAtBXzHT+Ty2mymJCZPvIzhnA6irhOrBI5h+eA9sowlVLKCwfAA968+AVypKdYRqidei5bVM
Jk0pqHwe3pIBUC7naJIUGwFtfX+pNfOWtEY1trnzhps/t+dX37+bBnr/F8AdVx3abk9bpXW6A/dj
D+2t/s75a+pcbV6Fui0l4GW4ComIXQ6/bmBqBqZqYGoRTCWCrRlw0+0pxnHD5vYVl1MurK00oUsB
lG6rxM1uJmIMqKcHXm83gp4u5JcuggkNzEwVzcMTqI2MAbLZCGXolmCb9iKLTZt4c5QggL94idul
J7aTk7BfVg1lgy+ZPdgIgDGfffBPPvYJnmluBGEdgJHrq+NjHeCeRHn3bz9vW2PHofU83rgw6cGZ
2RAa3L64tFYSUNZxi6P1LQ2eKXHa2Vj4pVwG3PHewKlzRYEP1dvlSDe+j+LSRdClAjgyCCdnUN93
EM3pGSjPh8r5LusnoE3sYDm3yufhDQxA5fMttiu1zJg0htvSjze2+a3dwlH0tt0f++oWNCIPwBkA
zrym1L/7+ur41Ol4zwmPE3n4FU87I9py6Aa7p7qplSKY+aUxOVujdfsnTUmrT7e5dDYEhpYlmHyN
wooeeKWglTij0nAZFYsILjgHqpDLxIYVTDNC/fAEZrbvQzRThcoFyJWXoLR6OfJL+jMpZve/7umG
v3QAFOTld7SxxmKnsn0Xobjw0iF3mg1fx6H5bG71M6KbBtaWALwcwFkAtgH4j6sObZ/sAPdk2rtX
X/qc6KGxb/CRZgnZJnLZkFGchdJJ+vMo8EK4Dy3HxzFUBfiLCigs6ZIYcab+LGObBudthF68SEg8
6W5AIIIJI8zsOYjKrv1gY6ByAfLlJejesBp+VxHwPHh9vfCXLgX5Hlo2giDV+nd7x5tMlx0iGLb2
86bZvDa/5llJwuGmgbWLAPwqgH4AwwBuvurQ9tMqrqsfT8C97qK1+8HW2Knm0xGxbp2eWV5C2y46
oKT0uyX+Ge+G094aiQFd8DO75WTf42QjaW9xb2a5To9TWiG/qAe5gX5YY2GqdTTHxlHbdxBMQLBs
KfIryiBf4WhDti3cNVcozPVZ2myb0bX5Nc8ayR5xfXW8dk2p/wiAcwGsArD7+ur4eAe4J0k+ev/u
6LqL1z1oTbQaU81zwS196Y/aLK/1ZWpxspKAvXQXz8b02TB0zoP2VGrnirOWJD9qDVBvN1QuSE8q
AI7juDoXoDDQB18akphGA83KNMJaDdZa6MCHzgetAVmeJU47K355Dxvz9tzqoZ/O9vY1pf4pAAUA
awEMXFPqf+D66vhpo3UfV6ZCYu++9LLV4cNjX7L7ak+N98BLQlvZJTW2eQkZjkImjKTJTW2NdGMR
iYL5fXnk+gqOxK4yfcJUthqiD/65awHPS7ZsJZWpcohplL4Pb3ARjCJMPrQDtV17HaGnvw/FNavQ
s2Et/O5uHL0vG6V2b8tmajTOlt8WVutfL539gjlDXjcNrC0DeDWAATEXvtsB7skG7yuv2Bj+fOTf
7Wj93KxSTR2uzHNFGcpfZlhiuzUGL6UtRVWgUBjscjRDIbS3OmsK5GvotavgLR9ICeoZGiM8Dd3b
hdwZg1DFHECupq16cByTP38IzUOHwcZCFQvo2rgePRvWwSvmQdpDa1tzuVb39xQYf2Ii+4n82ucc
M8lw08Da5wO4AsAEgM9ddWj7wY6pcBLlnetXHuFA/QhhdBnXTRktMfl5NtDLOnNx909u3x2SwJah
fZWYC9QWz4VUHXC1DirmHTNMlnnSCrqrAH/5YgTLF4kD5sJqpBSCniK6Vq+Av6gfzAwzNY3qjl2o
7NoDYwzI86DjDQkJ2VDcNJj/xkT8kfy65y4oM3ZNqb8GYBOAbgAz15T6d11fHe8A92TJR7bsxR+/
4YrR5tjM3WDzZK5Gy1oC8nR0PDcFL9DCfYj9nbb9OthaeHk/w1nIOGixNCOgUgOKeahCDrqvBL/c
h2BpP3RXrpX3kLGFSRGC3m4Uly9FbnAAqlBAc+wwarv2oLp3P5pTFfn+HKTb4gyAP42a9iOF9c9f
cDr3mlL/DIDzAPTJVN12fXW82QHuSZS/veUBvPuFF+83im9GM7qYq9EKJC0PqSVJQUeBN8OyijNo
3KZ1DaA95TJpQGtbUM7MkjACGjUEq5YgWD0IHVdN2CzZBhnyDSeZOVIEv6uIwuASlM5cBVXIIzx0
BI3Rg6jvO4DKnv2I6o2KtfjjmYMTn7rjkl+qf+4RjNH11XFcU+o/B8ASAD6AB6+vjp/yXF3CE0S2
XX3JoBmb+ajZPfNS27D5JGLQFv6CJCCo3ZlL+hu4piIuSUHw8hqF/rw4ZM7WJU+KMD0FlfNAOSH5
5H34mzYgWLcKqpRPS3B0WiKUlOTEpUUtSQkNgBDVm5jeuReVnXvRGB07MLNz7Lbp23Y9wJVwOxib
4Xp9VUCoXXVwOx/DxtUA3iphMQbw6asObd/eAe4pJHtfdXlfuG/qOnOgcq0day6xyoGXhRye7Bop
iYW4gXhL+liliQhogDyFfF8OftFH3OeBPAUEGsrPRBmIQNrtA6xXLIW/cTW88mKokpSOJ7vmqKQa
I67MyBJ6EgArbcJ68zu7v3Hzp/b98TeZBoI1cBvsEYBJALsB7AVwEG4LqMmrDm1vtIG2COBiAFcB
yImp8OmrDm3f0QHuKSb7fv25+fDBg8/kidp77c7KpWziPRkgtEJhESaZMAdQViTWQxxWEAWpCbrL
R7Ck4BIGnk7Da0l1sTDHVCZ0FnjwBpdAryrDX1WG6iqkIE22hFItFcdJtQbpcfaCD8HPfyq35oUH
biqv82F4EYAyXCp3A4CSTLWq2L9VABV5biSGuxjAoIAWcDvofOmqQ9vHOsA9FTXvm5+jzP6JMlea
77K7Jt/Ik1E/DChJ+WbSxUnzOdVmF6us2aDgDxagu4LEXEhitNn4bty4JC4N0uSqkQs5eKtXwD9z
OVRPt9sGy0tAmikvUg1o/x7ki+8C0W25DS9vSRjctHQtgeEDyANYDeAc+b+AlKWRvffx/bcC6Buh
6KdXjW7jDnBPYal84To19oUfPdfunXwnjzeeyhNRLyxad30kauUraMwKXspp+INFqECnnIWYeKPR
ymeINXEyMTK1ZINL4K9eDjXQD10qgAp5kO8beP6DCILPcan/44UNL1kwo+umgbU+gGUAlosp0Sca
No5mNwGMArjnqkPb93YSEKeRHPi/r+xr3rXzRXam+Toeqz6PRxp+mmnLgFcBRzHPVFopoUoa/qI8
KNAtO0Qm5kJG06avq8z5UzYb5XPQ5QF4a1c9EKw740tU6vpa/uI33v+L+L03DazNifZlEDWuOrjt
tCOUd4ArMva3b6bqj7cuhu892R6uvs3uPPICHqkFrj3MHODNpoYVQB5BFTX8/pyzd7OtneL2ULEJ
ojMApqwNTAxPR7Sof6saGPgEafVtb9PZu3pfdF2zc5c6wJ1TRt/7RgoPVQLS+qxo3+E3m4dHrsZE
Y4Aj20PVyGtJYChKCTnCayCPoHIKXl8OKqdaTQTp8sjZFLMmKZVX0+QHk7S49261fPCz3hkrv2PG
J2uLf+NvTOeudID7iOXI1/6yv/K9u59p9h6+gierm9A0a2HsGXy4UsRkoxW8RIBPIA8gX8HrDaAK
4lwRUq2qFVDMMbTeC0/vpEJ+K/UWf6RXL7958Tv+fktn1DvA/YXKwY++Y3Hjvp0reaK6DL5eg2a4
kWcaa2CilVxtLEY+txTVRhGaFGmX+lWeangF7zAF3gQU7UHg7abA3wZjtqCQO6CXLdnvv/iZ+3ov
eUtHs3aAe/xl/N//Sjfu2RZEe8Z8rtV8O1HRKOQ1pisq0azWAgD7pcBQITDkqwg9pVAtH2gO/MEn
w84odqQjHelIRzrSkY50pCMd6UhHOtKRjnSkIx3pSEc60pGOdKQjHelIRzrSkY50pCMd6UhHOtKR
jnSkIx3pSEc60pGOdKQjHelIRzry2OW4FksOD5bVPN9hh0ZH+GScc3iwTMf47bzQaxseLB+PHsM8
2zXIdavHeu6h0RG7wN8Wf58H1xyvC67P2BSIDsqGwo/qPj5W8Y4jaPMAPgy3l1a7GACfA3DDIzpn
eVkJzB+D60Q4283+RwA3L+BUlwG4fB7w7gLwtQX8xhyATx+HcawA+CiAn7W9fg2A5+GxNeSeGh4s
v3dodGTXMe7dagBXA3gJgIvgGuel21YyjwO4C8B/DQ+WbwRwYGh0pHnaA1ekBLery2ySf6TABfOz
AfwKXOfsdpkG8EcL1Nh/LgCYS3YND5ZvGxod2X+M02n5fb/ocZyUidMO3Ivl+x4LcMcA/INMztnG
Zy3c5n1vgWuWN5cU4BrpvQTAdgCfGB4sf2ZodOTQiQCuOo7nbgL4+jzvnz88WF7/CM/5ynlu2o1w
/V2PJRfB7XkwnywG8MIFXtPxaBiX3U16Ia//Is6N4cHyebJqvfsYoG2XtQDeB+CTw4Pllac1cMWO
uh/AfXMcshTA0x+B6bEcwCXzXPNXZbIcS64WYB5rpXjO8GC58ERxdoYHy4MA/hLAcx6l7+MDeCmA
jw4PlntOZ40LAPsA/HCO93oAXC524kLkcnEQZpOHAfzsWE6H3JxnIO3APZ/TejFcY+STMYbH02k+
yjEV8+n5AP7PPL/HOWXO/p7PdHougF+Rc56eNu7Q6EhleLD8QwCvFaC2y5MBrITbxXs+wHkAnjaH
owcAt8kkOZZslO9ciKwDcMnwYHnz0OjIXH29DID/Fm3DswBkBYAL5/jsNgAPzOOcPdKN8u6Ea9B8
LNBOiA3dri3fNs/nDosTeq9M+mcCeAWA4izHdsHtzv4fCzTdTknnDKJx980B3PMBrB8eLG8/Rkhl
2TxmwgyAW4dGR6aPAf4AwBDctkgLXY1eCuArcrPnsuPfNs/nXwng7+ewM28A8Bdz/CaeBVzHko8B
+J8F2uQTs9j0F88zOT8K4P1DoyOhjOXXANQAvHkOn+MyUUinL3CHRke2DQ+Wfwa3qUb7TQoAPBtu
6/nGPKc5U5yqucyR2xZwKT0CpNmkMYf58Gy5ARNz/DaeSzPKUjk1j4NUHRod+UVuEjI5NDryaLcz
XTZHpCYG+v/EoJXfPT48WP4C3G49g3Pgas3wYPmuhcaMT0WNGztOL5cQWLu8BMD75wLu8GDZFyeu
e45BvW9odGQhLeYvBHDBHO99GsCvzXLz8gBeI0vk41n0McyLFbO8fheA/zfHSqrEKT9uiYkTBdzv
ybJx5izvnSWAGp7js3kAL5tnqf76Aq/hrXO8flCW8wvFAWyX1w0Plj94LFPkNJfRY4D6ncOD5fuH
RkcezGjdaTGjToqcKOBOi7H+zjlm9GvmAe66eeyvIwC+tYBQz5kAnjXH2/8DYD+Ab8wB3BUSQvvq
aRDSOmY0Yg5f4hBcEmHDHPfnMgBfGx4sfxzAF+V+mpOR6j1R4bDsYH0ZQDTHIVcPD5a753jvl+aZ
YN+Yx47MyivnWNIsgG/LOX4AYLZtwwPMnf07leQ88fbne1wyR2y6KYCcT+tuEgfwHgDvhQtlLjtO
XI1TA7giWwH8eI73Fosj1K5BcuLZz+U0fOlYs354sNwF4AUCwHZ5CMDPxYHYKSGl2cboQskqncry
Plm15nt8Hi5N265YIgD/BuDuBeBlJYD/C+C7cr53DQ+WL5WQ5eMSuDNwMc/ZpCjgapfL4TZHnk3u
xtxx0KxcKnb0bMvoT2WJBIARmVizxWxXArjycWDLRvO8t0MAudANqAtifr0PwJfg0r1nPe6AK8yh
2+cIH2kAF8yS534hZg9yQ2zbY8VuPYlILJ9jIt0yNDpSzZgzt4i9N5uD+MzhwfKix6t3JqvOTeJv
3A639y8vEENr4ZhrNw4Pll9+IswHdYLH54F5QkvrsuEqAcllmD2+OA6XdGgc4/uWwsUaZ9O2YwC+
3/ba7QD2zHGuZ8BR/U5noWOBd2h05CdwfIXflWjQyALPrWV1/EcALzne4FUneFaPALgDwGw7ziwR
5yG2RS+QmTyb3ANH4DmWh71ewN8uDMdt2NJ2fdNys2ZbUpcBuPJE23KPUCn88BiPuwDUF3CfKkOj
I/8kjvE14ozdfgxTI5ZBONromsdDOCwr/wsX7B+Y5b0r4XidYxICm22JDwH8eAFcWQ9zJz2MRDlm
ky8DuG6OsXk9gH9e4A080fJBGdtj2biHH4GimQDwv8OD5WHRpBsB/LIAumceDX6BaN2/F8fvcQHc
H8pyPBtwLxOwRrI0zzYwk1hYTr57njDWYQDfmeO9ewFsnkNTPxku9XzrKQjcIwuYzI/FP9k/PFg+
IPfvQ3DZzhdi7lTxCwF88nhN8hMO3KHRkVBIGhfOYqoU4IL9/425ubq7sTBuwksAlOd47z/FOcMc
2vgLcwBXwVUGnIrAfdQyXF7mg7k8h6JgAKNDoyNNcWBDAA8MD5bfKtGEZ83xuXPx2Co1TinnLJav
zGNrvVpMhtnI3hbAfw2NjtTmvRFnrCYAb5xnKfvqHGGvOLrwXczNCLvqRLH8T6B0i4n01VkeX5pt
EkuJzn/Po1GXHE98nSzg7p3Fo4/lfMyeGgZchucLxzx7o3GpzPjZgLsZwEPHSFyMYO4U9GIAL35c
wZa5LhGTp8zyuAyOTz3Xij2XcpjE44BkM5uD9RUAL5ojrHLmXMpUTIVjyQsxN+n8pgU4KFMSXXjZ
LDemCOD5w4Pl64+l+U+wLJLypmOJBXA4S1MUrTkszudsyu2Vw4Pl7wO4YWh0pCJRmzXi/M5lDjw4
16p22gJ3aHTEDg+W7xAQnvEIPvplzB5Ky4bB5ivPmQJwW5x0mOf6zPBg+W65vvbYLcmqcB5mTxGf
LLlOPP5jyQSAP0Rr1UkIx1V4FWZPjS+FY9B9e3iwvANpFcSl82jcb2FhNYCnlcaNl+ObAbxhgcfv
AXDHAojJ52Fu3u02uDTvQuRe0RqzJR3WAnjq8GD57nnKek60XLjA48bQxm0eGh3h4cHybXCkpbki
MUvhYrp2ASbmVgDfPl6hsJNp42JodGQSjpFVX+BHbsYxSkGElPPMORw7A2Dz0OjItgVe39Q810di
jvSdjhbtbLbn0OjIEQAfAPCTY9imx8LMtGjn+4/nj1AneRDvWKDNWodL8U4c47heuErV2aSGBXB3
2+QGzB02u/IRmjmnvAyNjvwUwNvh4uThozjFGFyM95+O90p0soF7HxbG8NorID+WXArgSfMM6o2P
8Po2z6M5igB+6VGWYc/X/2w+ITz20vV5zzE0OnIXXCebd8CliBcSGYgE7G8B8Fcnwmn1TvIMN8OD
5X+CY4z58xz6EIjuPYaZQBJJuH6Owb5DzJNH6kR+SGxjmsP8mG9J3gbHc7WzvPeTR7lCFfHYAvvT
cJUj8/3uEbkvXxVF8Hy4FPxaAIuQlrnvgOMwfBuOPzJxoqoiCCdZFtA5EVhg98RjnIsfZXfIR33O
X/T1LHCs8IsYy3m+lzKT71GPa0c60pGOdKQjHelIRzrSkY50pCMd6UhHOtKRjnTk8S3UGYKOPBaR
quc+KHV46MD+E5aI8DIXkIOr4rwIjrd6B4CDx5MsIe2RngzH2pqY57gyXIn0UwA89bHmwuW3FuF6
ytpf0G/Jwe0dMX66ZJKGB8sb4Squ/+bR7JYjGbWXAfhtWPt2OBroY72mM+B2T/rAfFtaeXJwNxy5
+GVwvIECHBHkT4cHy9+V5xpaN2BML4AwZsJnvrBXNPjk0OgIDy9bTrC2AKI6mLsBqKHRkfamcmcA
+ASAa4YHy3cB8KFUE9b2A2gMjY7MDJeXebJN1DMBvAdAODxYjs/bBaAuBZgFue4JSGv7odGRppBg
egFEQ6Mj0zLYr5XBed7wYHmfHG/h0pjxcxvv2yU9ehWImkMjB1i0TC+AytDoSEx7fBVcO6JLhwfL
R+AI2SZzjpyMTwNAfP25+Jjh8jIN5l4AtfaJKb8hB6XqsLZXXp4UHm3LuGcA1QsgglIVWFuQ87K8
1wdH8u6D69n2D5nP9QAJ7XQ2YHULbiaFyxEXru6T/dFivm6XTGIjr3fL39FweRmBuQDH+ssDyEHr
iaH9+1i+/2oAH2/DFgBMxb+R5I3Xy418J4i+LwP4DqQbtJ0LR7LwATwVjqjxKTi+agGOef9sOd+t
AK4HUQjm98NtLHIFHGv+63CN6iL53nPh9vN6k1zYs+U7LhEAfgRuP4TPwxGZbwXw+wB+A66n68UA
/lpu0lvlmB/IwO6EK+a7RlYRgiNKPwxHvXsaXB+C98BVqhblRj4omvPw0OjIl6Ujy9Uyyf4VrlvL
tXCdd8bk2rbJOZ8j3/ERuLKkzUOjI/8hv/UaOJ7w9aIk7pLf+8+iLH4HjsQyKWP07cyNWya/eULG
EnDNqON95DwAnwXwXzLOvwxHjKnLeGwA8Fcyad4k3zsNx3x7hUy6MRmrIRmrHwC4Pgvg4cHyi+V4
wJFqPgXXTuD1cO32r5HvXwbXjOVOGY83y98/gev4GME1DblLvq8fwI/gejecAeCbcM0Ot8Ix1a6S
7/whgE8OjY5UlcyyV8P1Zht5LAAABqlJREFU0bpxaORANDQ6clgGOA9XLLcObu+rQG7QDBxZuCxf
8DoZyE+K1n4NmEtwNLcNcDtM3i6TYy7a4SoAvwdHFv9rGYA/guPR/hBuQ7mvyOu/Jtf8kMzkv8pc
WwjgtwSsa+B6YX1NburvC8h/CNfG6Xq4yoohAU6fAP4ypK37SSbuFQKUj8P1zP0buL6674fr3nKb
gOEzMjmubvutl8r3lOA4w++S756Qm9kHtyfEjwH89fBgOdsTuEdAcbaM5VbRklfLZx+AI4EPyHe8
C65m7tNwZf7Xyji9EK7E5wa4nT0vFpBpuPqxV8tnPgHXmvV1cSul4cHyYri2TLfJuL1IxqQsz7sE
YL8s3/0ZuU8fkM98Uu7F6wRXr5fnXxWF9lbBS0LegavUfp0A+pMyad40PFimmEvah6PLsadkxg7I
zbsHjiB8C4C/E4A8Ha7i9Udw3NotctFPF018BK6c/HY4el8Vs7dljwFyH4BvDo2O/FDAtlau4QHR
SrfAUQlnBKx/I8vSMnl+swx8XJ7TkKXrQgHJtXC7NW6Ta7ldNIoF8CMQXSugtjiaGhmfZwOADw6N
jtws2vpv4cqQtsu1/ihjr7efI/7byCT7SwHl+QKGg0ib+V02y/34N1l1viTn+qRcx+dl6V8Pt13T
dwF8BkTfk1ViXFayF8n5PyOrzafkmj1RQHfClSxtg+MuXyaAhBx3CK6DpoLr7HgnWisqrIzpfwoY
bxXz4IsyWW6QyReIQvq3odGRG+Dq3T4DVysYV5X0yiT8X7me+2VSPx9IieQPAtjQtufYWjlJvMFe
Dek+DVUBblE04JNktr5G1H7cZypE2lExks/PF8mYRFpg15zlhnPmuCPiOMa/oS72Tw1puc0eAH8m
N+YPAfwBWjfbsJn/DwyNHDDynNBaNBjvHRzvZ+uKLbVuCmCnM9eXPWeWY5xv+z3xTkOBPK6W8XuV
KIltbZO6nvmNkTwqmbEyojkDub7m0MgBztwryL2qZZp7VDP3tARXr/dquBZL8X0MM8B9L1x711+R
lWbTLBNzKvP7K3I/4r9n5BqVHFsRezqSz/lIucZK/r5Iruc18trtEIeJZeadB+DPhwfLTx0eLL9I
LvLHSLsrXgLg9cOD5U1idyyVyMOtcsJvy2NV22Adr5BbfN4xGZy3SPPl18qyDLG/3gjXxv/34Dbc
O0eAVoIreJytQ/ceAE8bHizHG55cLQP9M1mZfn14sHw2jHmr2LPL5abk4NqRFgV4Vw4Pls8ZHiw/
DbN3xoGM734B0OfEJDobR3dJXMg4hnLPXgjXu+si+f0DAvRb5fUXDw+Wnyz3sU9Af5N8xw2Z+9jM
ALsgy/k4gN8W5XEFHhmpPfsbCgDeMDxYfsrwYPnZYgrdn1n5p2QCB2Lz3ij271hW4/5UbJ+nidr+
sCz7fyQgJFkWLhFj+w2yzG2VZWqLLA1fkxt4Y0bbRpnZWEFr55N42TdyfCWjVUN5j2UAq5llaSZz
nu1iR70IwL/LcnOPDPiorCZfkCXyftEYPxAQflhmdDXW0hIe+7RMhv+QSMEd8v6E2M9PlvNdB+Bf
BHxxR8S/kwjI+5FutP0O+b5qRvMY+b4pAL8JV8N2qzgtX0brVrLZcUL7OTLvN+Umf09Mp8/IdT8k
4/lV0VgfFafwiEywUCbNw/Kbvy7A+Z84HDo0OjIjy/Z1goUV8tsa8t2xhs0Wl9ba/q7LayzPd8q1
/Ivcxw9ncBOKP7EbrmXW12X8/2todIRbt8ZctlzB2mUApmVAIcb5r4nH/OsxqOSHZMMk/fIDk5DX
cHmZD6IoDkwPl5d5AOzQyAELAMPLVxCs9UjriI0hENTQgQMu4rBsmQJDATAgIjCroZEDLpQCaBCZ
bMB7uLwsB+ZeaH0I1moALEt/HC8uktaHrnQhFyTnAQwICgzEx8tnAgCLoNRhABbMyJzPB9AHosmh
kQPNzDXE57RDIwfscHlZAOZ+AEegFIMZ0NrAGA9KRRL+yQby+0E0PTRyoKWyWM7rAYiGRg64UCNz
+reMI7SKhvbt45tXriIOw0UA6iCqtnx2+QqCMYtBVBHQKQBmaORA/Lk+AdbkbPFoCU8uhivTaQyv
WKlgjIJSBtZqEHjogIzTsuWejJvc0+VOOzuM3Sq4+qFo3/Gh0REeXrGSsuMjwYMuAB6Umojv+TGX
HwHuW8Xof8sCKm070pFjYWqlOPS/OjQ68t3HlDmbR1iWLfP/x0DDk0lGwYgCX6AjJE8o7eAQU+oy
0vJkklEwokpcRuiIwR9yp9wBBiwyY5u0u3MAAAAASUVORK5CYII=

---=Part.1e56.a5e15e548b7a6796.19e9334fb5f.59ecbfaaffb2aa64=---

--------------baT20wMkHDqweF7A3hDnYGdt--


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 15:35:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 15:35:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328183.1592831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVA5m-0001mi-NM; Thu, 04 Jun 2026 15:34:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328183.1592831; Thu, 04 Jun 2026 15:34: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 1wVA5m-0001mb-KV; Thu, 04 Jun 2026 15:34:46 +0000
Received: by outflank-mailman (input) for mailman id 1328183;
 Thu, 04 Jun 2026 15:32:58 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wVA41-0001lH-MU
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:32:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVA40-0029Mz-W4
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 17:32:57 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19e93441eed000701b@swg.vates.tech>)
 id 6a219aa2-2eae-0a2a0a5409dd-0a2a4508d140-14
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:32:56 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19e93441eed000701b@swg.vates.tech>)
 id 6a219aa8-63b5-0a2a45080019-b9ff1c12ae69-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:32:56 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19e93441eed000701b.006 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 04 Jun 2026 15:32:55 +0000
Received: from [37.26.189.201] (mail2.vates.fr [37.26.189.201])
 (Authenticated sender: guillaume.thouvenin@835de637.internal)
 by mail2.vates.fr (Postfix) with ESMTPSA id B16E286E9D;
 Thu,  4 Jun 2026 17:32:54 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=gmMKWYZN6y0dHOpnTpuxaFTG46NwN0zLmynpQTw5JJ4=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=p7igQWnlEmFvRN5E1zTHPKGwKPJxKvP45Ra9/P3naNkyr7IXLYAAptTPPXMFcLQ8mWekbAnDG
 kfinFv8SgmORtfOiyP1e0GOOXIGIuCuyeIcrb1MhmW4UNBuULENUu6znLfWZUCwzkAHqY3JHmTe
 OY4sL7DA6E+NH/QNODrhhU1zzHHQdO9GMWpRCKbbcXzMez2ogvcEdl374vxEIrVBxSsXn0BI5o/
 hQP8JAtdw4fYhKBrj/ZvH8ZYWc/C5G5DO+RS7WW2/n0ow/e/zSvOYkDmBrg62ilCx1CTKLZZenL
 rSNIIeofcEOn8cqWkGDAcdCww+OtYnDQHz1J+LjKDrtA==
X-Zone-Loop: 40cc344d7873651c4338097d2fa277e43b58eb3f5734
x-campaign-type: default
x-transaction-id: bca2d859-8c40-4a2e-8bc5-a8a7a50a3435
x-swg-uid: 01-c9f69e16-092e-466e-8226-ad97247c86b6
X-Mailer: Sweego
Message-ID:
 <1780587175.8631fc262581453bbf619ec5b2062170.19e93441eed000701b@vates.tech>
x-swg-bid: 1780587175.8631fc262581453bbf619ec5b2062170.19e93441eed000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
MIME-Version: 1.0
Date: Thu, 4 Jun 2026 15:32:28 +0000
Subject: Re: [PATCH] MAINTAINERS: Update Ocaml maintainers
In-Reply-To: <20260604151303.2720636-1-andrew.cooper3@citrix.com>
References: <20260604151303.2720636-1-andrew.cooper3@citrix.com>
From: Guillaume Thouvenin <guillaume.thouvenin@vates.tech>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Andrii Sultanov
 <andriy.sultanov@vates.tech>, 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>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
X-Bm-Parsing-Options: encoded-parts
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.1221c.89a0c9d2a71c5e86.19e9343b4ee.d8bd75ef67866f83=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1780587175196
X-purgate-ID: tlsNG-c1860d/1780587176-BF370DB1-046DDB2B/10/73395122804
X-purgate-type: spam
X-purgate-size: 53536

---=Part.1221c.89a0c9d2a71c5e86.19e9343b4ee.d8bd75ef67866f83=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Acked-by: Guillaume Thouvenin <guillaume=2Ethouvenin@vates=2Etech>


-- 
Guillaume Thouvenin | Vates XCP-ng Developer

XCP-ng & Xen Orchestra -=
 Vates solutions

web: https://vates=2Etech
Le jeudi 04/06/2026 17:13, Andrew Cooper <andrew=2Ecooper3@citrix=2Ecom> a=
 =C3=A9crit :

De : Andrew Cooper <andrew=2Ecooper3@citrix=2Ecom>
Envoy=C3=A9 le : jeudi 04/06/2026 17:13
=C3=80 : Xen-devel <xen-devel@lists=2Exenproject=2Eorg>
Cc : Andrew Cooper <andrew=2Ecooper3@citrix=2Ecom>, Andrii Sultanov <andri=
y=2Esultanov@vates=2Etech>, Guillaume Thouvenin <guillaume=2Ethouvenin@vate=
s=2Etech>, Anthony PERARD <anthony=2Eperard@vates=2Etech>, Michal Orzel <mi=
chal=2Eorzel@amd=2Ecom>, Jan Beulich <jbeulich@suse=2Ecom>, Julien Grall <j=
ulien@xen=2Eorg>, Roger Pau Monn=C3=A9 <roger=2Epau@citrix=2Ecom>, Stefano =
Stabellini <sstabellini@kernel=2Eorg>, Oleksii Kurochko <oleksii=2Ekurochko=
@gmail=2Ecom>
Objet : [PATCH] MAINTAINERS: Update Ocaml maintainers
Christian has just left Citrix, and Dave almost a decade ago=2E

Andrii (a XAPI committer) has worked on oxenstored before and has agreed t=
o
step up as a maintainer, and Guillaume wishes to get involved and learn to=
o=2E
In practice I do a lot of the bindings work, so lets make things official=
=2E

Signed-off-by: Andrew Cooper <andrew=2Ecooper3@citrix=2Ecom>
---
CC: Andrii Sultanov <andriy=2Esultanov@vates=2Etech>
CC: Guillaume Thouvenin <guillaume=2Ethouvenin@vates=2Etech>
CC: Anthony PERARD <anthony=2Eperard@vates=2Etech>
CC: Michal Orzel <michal=2Eorzel@amd=2Ecom>
CC: Jan Beulich <jbeulich@suse=2Ecom>
CC: Julien Grall <julien@xen=2Eorg>
CC: Roger Pau Monn=C3=A9 <roger=2Epau@citrix=2Ecom>
CC: Stefano Stabellini <sstabellini@kernel=2Eorg>
CC: Oleksii Kurochko <oleksii=2Ekurochko@gmail=2Ecom>
---
 MAINTAINERS | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 77f72e52f46d=2E=2Eb62ea7c47753 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -453,8 +453,9 @@ F:	xen/arch/arm/include/asm/linflex-uart=2Eh
 F:	xen/drivers/char/linflex-uart=2Ec
=20
 OCAML TOOLS
-M:	Christian Lindig <christian=2Elindig@citrix=2Ecom>
-M:	David Scott <dave@recoil=2Eorg>
+M:	Andrii Sultanov <andriy=2Esultanov@vates=2Etech>
+M:	Andrew Cooper <andrew=2Ecooper3@citrix=2Ecom>
+R:	Guillaume Thouvenin <guillaume=2Ethouvenin@vates=2Etech>
 S:	Supported
 F:	tools/ocaml/
=20

base-commit: 0b03d963730b4c3df5b4583c054e2cd0d99758c2
--=20
2=2E39=2E5



---=Part.1221c.89a0c9d2a71c5e86.19e9343b4ee.d8bd75ef67866f83=-
Content-Type: multipart/related;
 boundary="-=Part.1e69.9986927cd8889097.19e93441d1c.570d6dadc58ac7ee=-"

---=Part.1e69.9986927cd8889097.19e93441d1c.570d6dadc58ac7ee=-
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html>
 <head></head>
 <body>
  <div>
   <br>
   <span style=3D"font-family=
: Montserrat, montserrat, Source Sans, Helvetica Neue, Helvetica, Arial, sa=
ns-serif; font-size: 10pt; color: rgb(0, 0, 0);">Acked-by: Guillaume Thouve=
nin &lt;guillaume=2Ethouvenin@vates=2Etech&gt;</span>
  </div>
  <div>
   <=
br>
  </div>
  <div class=3D"x-disclaimer57043178">
   <div>&nbsp;</div>
  =
 <div>
    --
    <br>
    <table>
     <tbody>
      <tr>
       <td style=
=3D"font-size: 10pt;">&nbsp;</td>
       <td style=3D"font-size: 10pt; padd=
ing-left: 20px; border-left-color: #b42626; border-left-style: solid; borde=
r-left-width: 1px;">
        <div>
         <strong> Guillaume Thouvenin | =
Vates XCP-ng Developer</strong>
        </div>
        <div>
         <stro=
ng></strong>
        </div>
        <div>
         <div>
          <strong>=
</strong>
         </div>
        </div>
        <div>
         <strong>XCP=
-ng &amp; Xen Orchestra - </strong>Vates solutions
        </div>
        <=
div>
         <strong> 
          <br> web: 
         </strong> https://vat=
es=2Etech
        </div>
        <div>
         <img style=3D"float: left;"=
 src=3D"cid:x-disclaimer57043178-1780587175195=2Epng@bm-disclaimer" alt=3D"=
" width=3D"174" height=3D"159">
        </div>
       </td>
      </tr>
   =
  </tbody>
    </table>
   </div>
  </div>
  <div>
   <br>
  </div>
  <div =
class=3D"data-bm-reply-separator collapsed" data-bm-content-name=3D"previou=
s_message" contenteditable=3D"false">
   <p>Le jeudi 04/06/2026 17:13, Andr=
ew Cooper &lt;andrew=2Ecooper3@citrix=2Ecom&gt; a =C3=A9crit :</p>
   <bloc=
kquote style=3D"margin-left: 1rem; padding-left: 1rem;">
    <span style=3D=
"font-weight: 600;">De &nbsp;: </span>Andrew Cooper &lt;andrew=2Ecooper3@ci=
trix=2Ecom&gt;
    <br>
    <span style=3D"font-weight: 600;">Envoy=C3=A9 l=
e &nbsp;: </span>jeudi 04/06/2026 17:13
    <br>
    <span style=3D"font-we=
ight: 600;">=C3=80&nbsp;: </span>Xen-devel &lt;xen-devel@lists=2Exenproject=
=2Eorg&gt;
    <br>
    <span style=3D"font-weight: 600;">Cc&nbsp;: </span>=
Andrew Cooper &lt;andrew=2Ecooper3@citrix=2Ecom&gt;, Andrii Sultanov &lt;an=
driy=2Esultanov@vates=2Etech&gt;, Guillaume Thouvenin &lt;guillaume=2Ethouv=
enin@vates=2Etech&gt;, Anthony PERARD &lt;anthony=2Eperard@vates=2Etech&gt;=
, Michal Orzel &lt;michal=2Eorzel@amd=2Ecom&gt;, Jan Beulich &lt;jbeulich@s=
use=2Ecom&gt;, Julien Grall &lt;julien@xen=2Eorg&gt;, Roger Pau Monn=C3=A9 =
&lt;roger=2Epau@citrix=2Ecom&gt;, Stefano Stabellini &lt;sstabellini@kernel=
=2Eorg&gt;, Oleksii Kurochko &lt;oleksii=2Ekurochko@gmail=2Ecom&gt;
    <br=
>
    <span style=3D"font-weight: 600;">Objet&nbsp;: </span>[PATCH] MAINTAI=
NERS: Update Ocaml maintainers
    <br>
    <br>
    <pre><div>Christian ha=
s just left Citrix, and Dave almost a decade ago=2E

Andrii (a XAPI committer) has worked on oxenstored before and has agreed t=
o
step up as a maintainer, and Guillaume wishes to get involved and learn to=
o=2E
In practice I do a lot of the bindings work, so lets make things official=
=2E

Signed-off-by: Andrew Cooper &lt;<a href=3D"mailto:andrew=2Ecooper3@citrix=
=2Ecom" target=3D"_blank" class=3D"linkified">andrew=2Ecooper3@citrix=2Ecom=
</a>&gt;
---
CC: Andrii Sultanov &lt;<a href=3D"mailto:andriy=2Esultanov@vates=2Etech" =
target=3D"_blank" class=3D"linkified">andriy=2Esultanov@vates=2Etech</a>&gt=
;
CC: Guillaume Thouvenin &lt;<a href=3D"mailto:guillaume=2Ethouvenin@vates=
=2Etech" target=3D"_blank" class=3D"linkified">guillaume=2Ethouvenin@vates=
=2Etech</a>&gt;
CC: Anthony PERARD &lt;<a href=3D"mailto:anthony=2Eperard@vates=2Etech" ta=
rget=3D"_blank" class=3D"linkified">anthony=2Eperard@vates=2Etech</a>&gt;
CC: Michal Orzel &lt;<a href=3D"mailto:michal=2Eorzel@amd=2Ecom" target=3D=
"_blank" class=3D"linkified">michal=2Eorzel@amd=2Ecom</a>&gt;
CC: Jan Beulich &lt;<a href=3D"mailto:jbeulich@suse=2Ecom" target=3D"_blan=
k" class=3D"linkified">jbeulich@suse=2Ecom</a>&gt;
CC: Julien Grall &lt;<a href=3D"mailto:julien@xen=2Eorg" target=3D"_blank"=
 class=3D"linkified">julien@xen=2Eorg</a>&gt;
CC: Roger Pau Monn=C3=A9 &lt;<a href=3D"mailto:roger=2Epau@citrix=2Ecom" t=
arget=3D"_blank" class=3D"linkified">roger=2Epau@citrix=2Ecom</a>&gt;
CC: Stefano Stabellini &lt;<a href=3D"mailto:sstabellini@kernel=2Eorg" tar=
get=3D"_blank" class=3D"linkified">sstabellini@kernel=2Eorg</a>&gt;
CC: Oleksii Kurochko &lt;<a href=3D"mailto:oleksii=2Ekurochko@gmail=2Ecom"=
 target=3D"_blank" class=3D"linkified">oleksii=2Ekurochko@gmail=2Ecom</a>&g=
t;
---
 MAINTAINERS | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 77f72e52f46d=2E=2Eb62ea7c47753 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -453,8 +453,9 @@ F:	xen/arch/arm/include/asm/linflex-uart=2Eh
 F:	xen/drivers/char/linflex-uart=2Ec

 OCAML TOOLS
-M:	Christian Lindig &lt;<a href=3D"mailto:christian=2Elindig@citrix=2Ecom=
" target=3D"_blank" class=3D"linkified">christian=2Elindig@citrix=2Ecom</a>=
&gt;
-M:	David Scott &lt;<a href=3D"mailto:dave@recoil=2Eorg" target=3D"_blank"=
 class=3D"linkified">dave@recoil=2Eorg</a>&gt;
+M:	Andrii Sultanov &lt;<a href=3D"mailto:andriy=2Esultanov@vates=2Etech" =
target=3D"_blank" class=3D"linkified">andriy=2Esultanov@vates=2Etech</a>&gt=
;
+M:	Andrew Cooper &lt;<a href=3D"mailto:andrew=2Ecooper3@citrix=2Ecom" tar=
get=3D"_blank" class=3D"linkified">andrew=2Ecooper3@citrix=2Ecom</a>&gt;
+R:	Guillaume Thouvenin &lt;<a href=3D"mailto:guillaume=2Ethouvenin@vates=
=2Etech" target=3D"_blank" class=3D"linkified">guillaume=2Ethouvenin@vates=
=2Etech</a>&gt;
 S:	Supported
 F:	tools/ocaml/


base-commit: 0b03d963730b4c3df5b4583c054e2cd0d99758c2
--
2=2E39=2E5

</div></pre>
   </blockquote>
  </div>
  <div>
   <br>
  </div>
 </body>
<=
/html>
---=Part.1e69.9986927cd8889097.19e93441d1c.570d6dadc58ac7ee=-
Content-Type: image/png; charset=utf-8;
 name="x-disclaimer57043178-1780587175195.png"
Content-Transfer-Encoding: base64
Content-ID: <x-disclaimer57043178-1780587175195.png@bm-disclaimer>
Content-Disposition: inline;
 filename="x-disclaimer57043178-1780587175195.png"
Content-Description: x-disclaimer57043178-1780587175195.png

iVBORw0KGgoAAAANSUhEUgAAAK4AAACfCAYAAABgKuLmAAAm4XpUWHRSYXcgcHJvZmlsZSB0eXBl
IGV4aWYAAHjatZxpkmSpcoX/swotgXlYDuBgph1o+foOkVmva2jZa8lU1VWZFRlxL+DuZ3C47c5/
/ed1/8GvEYZ3ubReR62eX3nkESffdP/5Nd/fwef39+el8/Wz8PPrbtyvH0ReSnxNn3/2+vX+79fD
jwt8vky+K3+5UN9fP1g//2Dkr+v3Xy70daOkEUW+se8RfV0oxc8PwtcF5mdavo7e/jqF9TW1r89/
loE/Tn/dHYdeK+vzs1//nRurZ4X7pBhPCsnzd0pfA0j6E12afFP5O6YU30vvlc7fIcWvkbAgf1qn
H7+4rbsaav7jm36Kyo/vfonWGV9r9Gu0cvx6S/plkeuPr3983YXy56i8pf/LnXP/+i7+/ProMX5G
9Mvqv8W/1u+bM7OYubLU9WtS31N83/E+wpF16+4YWvWNP4VLtPd78LuT1ZtUML/94vcOI0TCdUMO
Fma44byvO2yGmONxsfFNjDum92JPLY64iVtIWb/DjS2NZMQxpv3CnlP8MZbwbjv8du9unTtb4K0x
cLHwkuAf/nb/9AP3qhRC0FoS+vCJb4xabIahyOlv3kZEwv1a1PIW+Pv3r78U10QEi1ZZJTJY2PW5
xCrhX0iQXqATbyx8/dRgaPZ1AZaIWxcGExIRIGohlVCDbzG2EFjIToAmQ48px0UEQinRGGTMKVVi
06NuzUdaeG+NJfKy43XAjEgUKq4Rm5Emwcq5kD8td3JollRyKaWWVnoZZdZUcy211lYFirOlll0r
rbbWehtt9tRzL7321nsffY44EqBZRh1t9DHGnNxzcuXJpydvmHPFlVZexa262uprrLlJn5132XW3
3ffY06IlAz+sWrNuw+YJh1Q6+ZRTTzv9jDMvqXaTu/mWW2+7/Y47f0TtK6y//f4HUQtfUYsvUnpj
+xE1Xm3t+xJBcFIUMwIWXQ5EvCkEJHRUzHwPOUdFTjHzA8RLJTLIophZUMSIYD4hlhu+Y+fiJ6KK
3P8pbq7ln+IW/7eRcwrdP4zc73H7U9RMNLRfxD5VqEX1ierj56fP2KfI7revTjNvjRUI8HbqXrdv
xdvlv139mjVY7qcXSmjvnE4bo8XF2Po+56wzNhTXorNcILFSOrVFGe7A9LnFNK3KmL3OuveqQXFo
dY9uQGIfkzocZ0Cv8/S0/XDHjzVuYJly3SeNUl+5pphZwnA2ydC5/Gms3vWbhUrjhH59OqOcMI3q
tTTNBUi/7wWM2upzkzUk28nDkwibpeRNfVeuOYkcWVEWoyHtrJzdejkdFUJybDcy60sGdOZf9xzr
7tVPLgZWA7unpRuJQj8ELu92/SHFjDBxrTEZXWplj7tcjiRQ4D5UgmkAhMlaKocx7HLjJAQl9VJO
mYvI1pLi7gW+inX1OEsjy85pbl7+BXiFxSL5wj8LObqCTULGAjEO1rnnwFVOKo0ViBEtRMFsS6GX
mk+2c1ybjIVsz7WWXfhA8jt3VrhNhlQHFGQzHX4eZjUS/aSpW55k96xiSA/L0ABTG6msQIjyQvgR
07amtR6O1VNaM4TSYvixPq0RQ0zGHM3yu8WsA54kRg4as3LTaiSL7RbO1PULaxupwhzbYriRYgtj
o35KhXszeTLrqYUs3Zv5Uj9uz7vJCkpxmU+FYDZbKIZUQN6Qx76gQSdpxs0I0VlJRj9O7kq+ESja
3fKmRM4l+FVE0ts+FR0WSvOdwJ05zt61BMqn8P6sb3KROvzDV/d3P+ArI2aAo+Vl5PoF2pjz7GUZ
f3ZpixEAFndYSd5ZbHu3g7q4hXRf5cRrYeUMqhAAgn8LRDbvzMHbmoHwGtULYwdAYuUWNffgiHnb
CcCpfiRIgpvCkk0IC5MCdjESpKS45mPpSOM23fU0tA24Vcoq2cCj0ljOvraFsVoKBygJaezT7LbG
ZftNdsqezHCWvfxRvjLwPQjcpNiJ0J7AyDk1jNJCzGVITzWSgMQPdw6GulgkQwyRPLycbZGTzOSm
aicBIevmmMO8w92FvlpzFWp5VIubWS9KCtSKB4IrI5L2fs9FnXrrZyYwoTAR4MoD3iFQ9WE4BCJz
WaQh6bqbNaqMer0l2WAGm8iV2QLVEU05xLhPBy9yIFFLPZpF4JaOpSX5gfmRbh8xqzJnaCWBCZV/
8zFKB73YMCswBIgcy5lb8Y+xGtzVUlzH7eZBm7JT2tQxeQBjWa2HdbwR7iqwwRi5Ax/oGWNGK+qe
4ChoR2neDKzG5YI/lfWf5Sq+eofFAEN11Bs1ukG6OOPRrM5B5RbgASIjWTpkOS4/7cPyJPyeRG7x
xA0MrlJmznPtjQFsZfrT4csNvEYSgjFwXVYXSjA+yNioPXHFudRaXBQjl5IZYI2qRqLAHq7YrYLg
c3cIm5QmkKx0hUJUfavDYmQVP9zmJnFBSPcKas+sFIaCFuIkGFkcdqvkk5HNKz9p3jdTj3B6k468
jPV4gAOoLQR6Znj9dooOfjjiNIqBP/bFpQav+Pm+93/z1f32A+gH4Ukq1JOgssPStw3JwfynwhyQ
iGpvyfDNS6Ch2WTRLdsKR4+3mp04YMjSSbs4Ka8hCaw4g4Z8CJHEihCJQt1INC0iFkMfTMhRY/Mu
JnzJbjyHl3Bi8XoX1gP6jZrwECpaqwrtKA1WhUEbvL+mJAjyaTsqdiC1oqgFLO+oPZUQtE3ZiZt4
6xqinw2tJt6VVRKFNIROU7G28cD+uLoo2YFCGIb4AfP6nO1Ax8BvTJXc6wYHpKbvblGt7ZA6tcB4
pKuQGMze3DWMV52icGOw7aiwmrLukCtzCh9JP8ogGQxb6pOFYPm9naWRAVeSXqf0K8U3iCsY6nKf
VW/KAhNgp4IRtc7LgA/xKtQF9YegPNVSrHyu8SKpXtwDcEgEyqIe9uNXBIJW1b9kgs9IZ2iHeW3k
QkbropKAJ+IY4KZMAiC0CBdsM1rjSowX7fnUBzIuAohIyQbYIQ1hi0l2AyJA4eKGAAGhYLnCEaQ4
FEJBb4vNIWgYRPKKu8omwWngQLKnFA6ITpUjdsXB6Yqtqb0pcRML3M8FVwuQBrIIgASuO/V19R+R
Qoyg0akfOB+/la7ZZml5F682FBXw5jsy10Hz2QgSq9tJbCKU14K20MOpUR2dSuk7XH1EQ5/Q/RVm
iwFQ28dmb5J+YNlAId7Hrghw6NI/lkZ6/DtfixlubSy3rQAEudThFyrPp3Q8UoSlHcd4A3oe1YyE
R6rHhQIuZGEn6nBDUQZy45VGdSREAR6JBapWqnTiWU7D45jaIEgVrdtl+CdU2ADjeUVeyw4fWDs+
n1SSO6jHLc24Qfk6FqxNjlNVLXnk32DJK1oYyQuKAHukDjA8MAPoGeCXOidbNwRJmkGfUAicRf3o
dnJESUKZ+k8d82Faki0rSGitzzVwC/sywE61wVitOxZ4oyqhn0SUIAwQDnc0QAHAjgxgTRa5jtZj
han0+qXUScl+SRR0xOGaLgEhr6GAEQifCt8jI0P0flJkngQQHWWxJFtH6zLe4tX3qipkxL8oxkFS
TAqWQ9kcALxJBMaSVfckL1kzfTGPifK3UPbob0IC65JJwCjv405ze8cIPD4EYAC9kK8suFJW/pRy
0GXhfOCIT7CCYy6KuU4KH7GLx9hG9clqOIwliQmeLtQw+W31bhCJoXX4dEaWmTVgqEVYB/YAZ6An
Sh0J6GMhqTBUq1IiCMBja9cDTUEHU7MghUBUqTmsgkHYT1QDi4hHJAGQvTEkvuYkj5V2yehsNAkL
FAwEmRNjsQX4oSL3A54OjbcQa7gh3tQRAbFQ3qTG9lsgenApESnmgB+jGKAkcAbtjZ6BLzHCAN6B
mpBCcwSiTQIrTZFOqaNWD+gHDuaKo+x2p7N7UVpeFKGhBRyTbkj+XgkzxsK/GDp/GCJmA1RA5EdW
Ti2wSg4RNKY27t4SaKgqUtTjkRYpl0UAOxEk4Phc3M5ZCV1MwTI1ZMNDNDIuiJTAsoCIIGNmarfy
XvlRrB0431hcFPcqCETCeNOtuGUuBm2thX5BmB0YGECmGOSy/85+v68Lw4p5Yf2O76iggwZOMD1q
RTl1JbDD83WIURg6S5PB1QaMI94lfMBYCX442cslSY61K/6naDCuBY6TkDywKdIAJKZo0eFEGQ6R
7BURjryANggvspKA9UEyIyhYXMQ1ohBEgRzJu1wzMgq9TzGSkMOEQWTERMPAsbAQlA7q9+UX6IFF
24lsBluJt+QVLoscQKHhQQnG1IQdeOszYoOy2RDpwNvqDhQWVjo3y0gguMEQTohoZJtxV+JUKOw4
kCDUKF44uowWRMDkhiGW9qDExF19nxmBm2tCIPVgUBcCt8uSzLlQWih3ro3iAHgzVhQM52OsCT/E
z6IN+WHHQCw0PDWIcztNmrPydkqJIhJ7YgrxMxdyRwaPUzHHeeM8wIvbgqwimabmNZ4b6s7PsJJD
8ckXiEshRXQPVp2AdRYiV3WXnDy/YTNPqjgASLmAs9gx8jExJEAUEGhwA4DP2mK8WN9B3cIyov/G
RRaGyQW0RCXeaPCLiwloClz+JSlQORQvNQqg14TyQFpPBA0IBuGRKig0hY2cmym7NVJsSKfI20gB
TNWD4y9oHZVgQEa4INaBYbTMbTqItzCcBulQJLiNlNwHfEFJ7Gc4H6kUYUIYAlEzkFn5brIfTbdA
IuXRAIqPyK2Qm9hww8dRIgnp2ja4UyWu0IHrUDuIFwgLJ4Ptq6fLE+A9D9mHlInPZmCU0KRSLI14
uziWBdAQn0PS5IjlQUMhVHfWssaGbS/6GzLinixuxloP6PYCc4/Gr3yQw7zjGLH2IBGrsaXKKOYO
JEGRh0msAS+q0plegcRZNwQNkSBdq4WI2kNmOO02NRINR0tCJzCIZV9kPwUInB2P7CUCFKotNQeh
4N0lTTe1g7a+CRoAtR3FRI01WIc0Gr2jeFkhxBWuEQoCwLpnkkudJNQ6OI7p4q8h9Sr7nkhlVsNR
kGgttKIZ3MuNMGUJ6WuMOIA93bxQOG4AFoAC+NXOeZ5g7CfOUPOM1pHxH/3V/w4m40SAqB1rPe8p
lGBuaAemi+CeRNTIK0cJTYUlHwQhSQ50Y/AoRji5W2bs0MVFOIBGhHKA+SsI7QZVFlHDi3RqsTks
FmOlPvAdkXStYcJ82BByMQYSrNaGYasIGQo43ZZVyVXMBWMEQKKX68sh/AE1UlId8ELfDK1FDCPr
FpkJH5sUASwEBsBTSPuQZeD2JrS2YahANTFV11dQq1rtWFhWbYUnUkORrggIYnQoVplspLCxL/29
CFKkco8ujBrAXxyHNAasmIZym8TPZig66mdGqQA0a2pVPr0QZ8gy+MDMcH0kKAqg4DqYUVtgdvKo
ctBTzVNwgJzSTJFt2Fo8LbxV1RGs6k8EFU6mHGHfirzLwBI4hKpy6jUuxhGylGC9KH302FNwWtyg
pUC78FG01lI3ed7LMnbKcUrhCR+gBzfxH5qSqbHNZxF6XVm2qGx1eOS7jFXrSZtF8v94P0TTaZTQ
ZVA9YGMlIvAp8J7QSXR4tdU7q2oSJAOXh5jSh8kyMqJUgfRIpC2xEGojxyEN5IubFZ84iXeEp9XO
1FrbyqqrCDyk68FXYEwdAZAtlWcRDnx8yGN0cJKV9w7MuaoyqRRxlzQPQILqgehKUNMG9G5kE5AP
SVR5YGMF8VsgyJYPiLfgRRAH2I09qV34HSETRaymlkhDYvFFu5hhJUA5xtrk1DtUAHKR1vV5TbV9
UOVzHaCWyr3Q7dj26YUaVNn/fcPlfnohyLfhFagX5Bwq69ELyR4gl9s2KvBOuSVMh3wCmv+1JvZM
z/dDBd4aa/xAnSJE4oC461G3evlj1jjJf6z6IH+xikLGim9eQ9uEbZhrYBgCg7RJmHojSXANmK0K
u3p7TgJjLd6H1Ej4HUuPBAxUJR0hogL7UmYsNl4ablQXrcqO1NI2iYeO56LIeaRUVa8nT5BB9hFp
jNEbZCQKSY3xJlvsbIbYnjNCi6NDQFJCPZVNGWinvJN6CKR9R0/h1kS0Er8YaDW2N8KQFPausAo4
yIDNmCQ3ghZUIK9kvckR9D2wF1Di0COvRxRxU2NQzc+k3l4lwcq6rsULUWGWo5SfkR/oMNxAr0n7
PkQnq1OKwmVlgW+GAhYgpyBuxMDBc0nBZMclcBlUGWasCH1UJ0gSbp7UlED8seLYCcww9R+Upw+P
YBKApG2UYvLpOioc2JLBWTcAH1tdcQQ/YWuRIp0kNuDdwUG5r7f5xDxx6gk9S1HUFRrY6IKOUeCU
cScJfoMpKFuo72ovK4YQqUSkCQlPfjGbpL2HQaYhliCMpZ2GQ5Y6lhjYR6p5eAiUQnyrpQDqkFP3
IFNRM/ACYY/DTGZmdDzF7p4yQlCpFQ4jY2pwayjb+LZSKytzyAybS1s4B505IcY91KuBEwFIct7u
oZBQN4CTIaMPueuGZ/mo5whtUNdloSNImaBtUAwLfN1RXyhkBDWwzFi7NBtRB5kRW9pNBRDMaRPv
U+65pf5P2it/LfbVULWvCYrI1/bDSqQ92CajeVrVvugFGZFHmbXqFQ5Gj7PMRBaQRmcsVD946d3O
R0UMQrxtR5wbpAS0gqirk7QocPDtykVi4utOkCE2Mowzj0dxTmQBybS40BWBQfpgJ1pD+yiwONhH
ul3BpxQWV8JaET/lpNcqErTI2jV5/w4Quartko6/yIFvhDmUSlj19WJR0WrIs9Rkt1o0VLB62JAg
2B8W2hOdbDBMcHVBMoxUO942t4eb4OKpVl2QImC2FZZWYyyomcEPXjc7elQhxgeZEMHE7ZL21du1
myVqsHOYFxg0IoQQP9R4er0W8iOJ0OJuW0PC9sWtPlqhNFnW46gjZrcZT8eoQj1F2nDlcnBh2jBg
GIFJYg+RX1fdeXmdzkxmNJjEUOZlNtcRktSwr9ryPt2QEqDIwKYgw+L0alDBT0kVTWaC+7vfpcxG
iwUyb6nHv7bLGw+HMtM2b/u0WFGjQAFy+YBfSELlBqZ9HFOLjvIoSwiGTzyIi6RdsX2dUBobL8k3
UQ6oNSCLqio7yVdgqNDUiMaKlg/YaOC3GrBP0EdCg1UqDlaCjpp6HIhwFE/QnimevXtJPRAcFYdn
I/B4CGzb8VQ9ohGoqjDSYiqVG2hbfrhYtTnpXzhNHrYQUpQiA99cs8L7UTsGUoJTWyjaxIckVsBP
5nfYqWMx8P1UCDAGtKyFoJi1AkMF5whVJg3F1OzH+XkIlNWO+Af4lAVFpvQ7lyQYes/BweCcNiju
XmDn7b5AIMSHrK3AQcfzR6/0yyzr1g5qRGTierT3BU5CX0Cdo+jxORtSUwMfQgNjKobiG1uq/x93
VX98df7ffOP/z4XQrKyQQe24MASGuL9bQst6ZDlvWoAz5SIRTf2zMAAzYFIR92qkqpWFVcLeC6BY
66kyjHh93532mfldIDxpvxi4FgrAi/77EwLqgQF0acSOBLAV8a6FN5BSaD+kYdJxBKkRtPqtHbjH
aSbuRjUBABkfGwgtMgLO9/XsMUgo8VLxfQ2xLsiXIl4M7+PUw4xxC6j35rMYn/vzvXQraoK5XB2J
IR1JUvRSBdxwtQlzTKI6rx2XEnFDCCYk1YaE0WPYT4EkN3y5LF4Hc3NX7xHEu1jv65EuU3vTOsvj
Sn0HTeTqAfqo4zddR4d8ax4PAUYh7aDfO+4AsaI2DMoEC2vdhnAh4wZwW1xSK5DRMYpf1lAnaj4z
67+PmjBCL0YxHCijtusiwhmKxxvKgejzBHVzOXwnqgFwWSh7BgXnqJrRWVvdfaH2jbkkUMUvHKRw
Sy6SKUXs5lIcYGSS5vdJ/Wm0o32G5ub32H4fmv91cJtcAuFFnB7c53MFAQ1krG5O27m1fgXi9AKx
kYdSZ9BqeTs12LjXisZNI68Qs0AIvJyLyoSgwm9tYI7JhC3KEhgHtbPByXwYDByIsJfbswVc6+wW
CYOivdQS9ApjlSu1GFbxUv4IuJs17iniVpS4vQ2QT4QGCU6ENfxsgDkMTrlUMQb0aSwdGaNWA1YU
AvubvVxkHJUGqOOAQt7kDk5c7RJAq01UA7qfq09yMLhGNDN1NZP29PuldqeteWPVdjJWMlydNJQ0
FpVh/UhezJjISBvjOjekNj/h10kPyWOsH6uHGMaisgQNAeELYQ77Y3XebjIAoqNA2BsEEIFicXXc
B99vmOVV1TNIF3ZBUuaKsjlSAVtNY+0s4pyRgQSyjXEE32iaDglFirYbFHbx/RdLAkuetpg0fiYG
dCRrq+0rhdNQce0oXnBwgG5ginN5h5zmJhIduV+TEyZqI6ohEQ5Wh2EddcQKLk0t3ZKQ3QDOEjX1
Vv3FgUBZpjNRI1MJB60dUP6wok6ZHJgT+Yvqw4lR+ls722h9fF7QDmel0iNqg4zUDFjsxji6OggH
l41fUwdVR0ZC6aQGJIp+EiIDc0ZVNrVEESpk/2Itr3aRieVQMxoTUkSXMm/uuY/8zAlFofPhgixE
ltqB1xBShJJ6azqigp5JF62PHmf28qP5deR4xYHyx9SOydJsQy2UygLwxhGokbMl83LD6peFYfSG
BYBRMKM2Vq7aeqEcC4Ids3TV6H6ZTuBwFPgJmJlvQHxisuCC8bbb9/DaVB0Zrtbukc5ewQJqjjow
t7HWE2hEENi9KKqqTRrZ0hVxZUJF7Pc6W0Lr6Him2nZZh1/iOwGjVXSBkWBGn6QkSwGZpO4/yhY0
0XYNCffGCiSkDMChgs8A+yqGHRxSg9/OTk7aBi80BIdGXiL+qHDmiuNbG76ksMhOLR+ufhMaGVQs
KsoOuESzsZpm4+33+23etBPGL92UpcDCBWU3mNzVtUcbbb1AWeaedbwGB77RqEO9bjjYRaEXF21S
VQxmzBKoc9uwDWt4DiIO2QCJgAng/y6gLZndN+UYcBJN5zDII+BK4hL3bzgOcsKrWYnuy20NbCXY
RrCKtoPgLTweinn7VXVDzBO5qfM8YzgSGsOoYyZFB6LgBKCIdDdDbWBzQPLwPDf8XNQZTSA3L/SJ
zZj8UA3esZf7CLODbdPB3D8roqr9Udm3pZ0M+MNQj8MbzN4wFxcnvJyaq0wy6+Rjxv9g8KunsifW
FA/BmIz4Q4TzpIOgzV1nNxEtpWG3prQzAyzDeeqEPMLzok1b40YHiY+kx6NXQsi15Wcg6aWhg5yI
4FGOfCx1wlC1SiM64lyLjpBpgzm8bT7tg8TedCIRmFrvVCDABIri+JZ6+OqdtBhuQrlrR+dYd4h7
yLcEHSTd6GhVPUU6dIIdc32W6JB5KhBQChiVcNkrUXTW0ntoIBD46+5YF/jBqlPOSAbgAT4qmExy
biIQKSivwwUZ/wSzUCtXA4euhU4VUCaWKTjA4mR1sK8xsL2eqhusynk9owPwogPTQWZ1vGPQCcDd
IU7eFhg6NYOmKur5o7goq463YDhXx1gM/MIaa8fXIxp0/C9REs9HRX6rNwThJWEAljiJ7xw0Cp00
xG1TPwfFAHLpKQl/dI6YcL8tacPiwHEnJ4zPq8/4OrxendSGhXHEEMEAmHudF8bQaopKMfgPfTl0
Bkgf2TqdnpG+Jplzs863JTFjWAcI6w6ppJ0SxHyGjHVqGL4qwiF4DZgD2YAGzF0lsOgwon/1oAjI
fjC2nRxXUzg40jKMoX8sIicHpP5Xwt+9k3VeUT1oAcHgVoePMRSNFGZ6W1GA3/S47L11GnRfaYqE
xmG5UtKR8gdlVGsj/4GloazLDAj6YbaxemTdODqkuxMG0M0MFqu2SIwTtWfqBRAJrwUyzopVrl6H
jRpRIEKv8wE2wKWrHgTJAPsEtfNo0/hFAC3ADd6esVEb2lssgzlSYHCgR4Uj+6oIXk6vMo5oBiji
8XGQxLWqr6oqyaYjZxVRON5OiLW+0HpDMafgxI2FSIOSeppGbSkdgQw6NlGhbAxreMeaO9WMpNGZ
0QAJAcctHnUVECpqEIfLaMT8XQeug69wUQvomoa9cGkfpRy0HgSo2gdeRY3apOkOomIKNkoI4Djq
j4mLQH6IMenmOg+FRHRfm1YXkiTN/nZHC1WDBtisLtLLr0Taa/9rCWYBA234LrUukVZd54x76L7q
yaG+Gf+R1D0oCqAJB6LKRyVoPxysQanOgXyJ0seGzZIgSO9MDzGjng0loxNuL46eGh1oOu1yIowB
pV58IwA2H4ztuhjeojhcifs2ryOIhqeaLOEcOquBqx3ECqbhR+BMzWhHKf6zVmaE2rHWUUuSCWDG
HWXtCZMDSU0BHX+N8EBWGwpNzdB6DFldWk2qFykdMgs80UEFPV4RElS6VnALo1d03EQa0MAc9Ymp
RcJraHxyBeGIEGZygQVbr5BAjl+XwWkd3mkcTd7rMFrLVZ6yaN80KuSAdWuJggb+NCOdVLMpYmJA
SKikkqZEdDbD5DtAiKhUnV+7EcA1LItsaBfd7N/h9AZxdHinvTsl9RPPtNvMReU+agY/jhQbRB8h
7SW1PseQgYC/QcYI4arJJ6+UcZADR5CRdlHaDv9AxWR1RcVi0XMPUl590KTm45MAY/WlE8Y1Te0J
o5W0CbVsoF7xjy0Z1oWrl/IFaTDeB9ISiPRGQ3VM1vo+VMQ6Bgz3BelRcU5OJQ17khIVgoZBXQ1j
/vgp4jJMx60PAg0FopFXHSSHvX/BUfcTkJazovrrADeVeXwt1BdXguOTpChFKoG+u55+MnRgkmMr
rIK5ObAAynVZaBKRUbfzJrKOL0qRv8znzWYPqQ+qAk5d2u7FVq2rJ1h0ejXorNzU0SOdxUchfNr2
k4T34zW3oZyQ/3U379/9dDdEiNSIHnlBA189VVR1RgM8itPrgRLteQ30DTaEbNE5Edwe0TAdTAe+
HrqC76yfd6QsBMfoyHc+CBSqs7LUISAD9pT3bu1PuLAAhKLTVwlUOq69XUDyyriYWlIr6qDYVOcB
8CezqqaFatDO7tQzEg2hijCLIyxLrFXW6VY1NKtcjI7HnWY68IPa1uPDUYVXtUcjh4cy0qnTI+Ir
/etRC1Dp+0Cn037hMZ3HBWh6fudXoQ2DjZAgEABGtqFetSGQZPt1bkb9IeEaK7tX0IFFlL8ekEG/
qpmvapOOkAJfcELSqalS9QSOdm6pTuqaCUfspajcK+6EHVGfdR7yneE22SB8xL8yqGJeH5PgpNsn
hYoO0vDm9jmAMtunb4Oiso8XyThe7S/r5HlSH2ZVrPJRSwQxKfV+f7qX7pTePljXoYwE1zqv1rYe
22lBp+fOmDGKei7CVU/qaIOx+dfVwG1or1znqV+3cSMATMdaqEamtq72unb13evgWJL1U/97+Pf4
VxVibz0uhmYkJUERzAq6O8hg6/kHaGLrFKueWwHM/e46fagng8DrY6anGfaV4FDL8zA+dC6qwN+q
xpT8MchedXwKh39c0JNoF87ziMrxtcJ/WV/yoSFu4LQGsthmHjAy6by1PYfW06FrH7MjrlsgtbxB
uLpQ1YXa94Xi8xAe5sWLBsKuh7tC8Tr7dpCNkJ2O/Ban58Z+D3R+GdF+itJVH4zqgEYoJ27WdTRC
J4sA5ekgXC9/iO3QU9wqzS6JjKFHFCDRCxoFhAgvcXw0dZd0EpbYlxqwhjrjMrHrkyqbpdg7mzY1
h+/xa1PqGNZFzxOyKKbVxfLrUbKLdiHZHy7BVEkPntSHuwnB8g0QQ8ckGqrkarfyqeyLtAJNsMNa
XD2F0CAK7VagxKEj70LQI5RepwcwzGLtGrInq/bRc80jk/aoBPQs5I7OCP6CmTfFrtPwwDmSTeN0
fx7oH8fZPuP8HA75daSSfnok1mIEzScJl7yIcckVYt/6x6v9SIsf+RXV+s/Wi/inJu+yTvvoZKwO
MGRI8Wh3HJcHStX/cYFr1OltnVsPlLjTg+AYvPQNEXt9rfBn1GGzolx+NsGDrqPNdj1yMdfrISRI
XgF3wi0ddQnv2EGbOYK0oANiE7/3+R8ElKwjOkYt6fzJ1rFFCAiunF0n8UH105x6u/2ds6CueC8a
ZWLowSdqyy/R6aDGk/oeOvgdYNzp/5L48QOFTl2ydzud290hYIn1UDbqdH5qoiblpU72j6ND5qHg
S1Fs1D1LGEkhYgOLpLXD3GCQThoWSBHmRymqlaltPcjToi549PRbVAcpyhz0jiGfgUigglie5CKU
ixIbb1cQw6fI7qXnPYcUNCUStU/lwxZSEr4aV44WMWnLrg5FA8iIdxfWMp20g5HnV3+PNfru7wVp
GSbX1HUrUpZVR9JT1qF9eHRR2k197eFsjIYi9NrllvhHNlxtwUG5V8dZcfWsfHzNvoSEfE8x1iZn
hvOyZ9DWTlf7/QxnUjMIh4iIZL5JZ1dJEGgCOga3buO1Tm1VPYnbSSevTTu15hIXJufV0QLS9Thx
gVWv/tcEEF97nRLtRkxZS/8auuTMfhpCF23Ub1ZTOWtnlDjqqOd7qIvKQ4aOT6niuD+F8Kb5Cpzw
4z4/Wxlo3vg6pNpyYbV0cMnFsHgbUqYundrX8TcdhD9BnZC3Al/X/1z9c23/dfWmq+M8qCLtZcNw
aBltgOgJwaRBH1YTL+vzeyQiqxdWt9ScpZOzMr8h8VLX/75BveU+HHX1lqEhCFG4lpCG2p0ZMLE0
vp7mJXVhx04IR2N9vY6XHD07YnpuRKSxigNXq8zX2xH+vmrQFnkXk34vw4hSNDuCpkl2IOg5Gj1l
gfE8A3PiekNB6Fk+VgJHTnVsMbSaFd+XlXq1PpYdibF1SalsH/qa5VOy+SLYS9HxFfWlNtUBs+p8
BUyCDvRBZk9tMSipvP8XRg7azQhJj1kyzLNg213PdTCeTlJTE72mlMZ77GzrkRXBjXb71ipd55a2
Glx6diuj9H1epWHCxJuqvUr4jzr1yKKES1xYftMeI4HzehSydmEette/p41SVtWwGClRy9pe1lnz
BMAyIrTJ0mGLIypX6Lok8ce4EDxdtr3LAgXaTBp64Kd1oq4d/2PKkFrRR11PAp7wykec4aGTqFVO
611svYfQ9NTppzxIO6FMHDJk/bwD8Se497gOfF3L0YYBWBBkipUwOuZetBuvDa5P1akzrII4uF21
OLWptgZO6TidysQmyAlcM+0X6lQQmhEIkGBtepZ963jC1tEZkinO9lkJPTvyulkarvtYAkYshwUp
H4nHV0B6qF3PFyQ9w9yE0jonpHOJeuzWH6G8nod4hd0cNbY//SPUivS52PKsqh/DhTZQhbdKLSMr
9RzK0D4j2ZIMnNl6eNSTqdXpiT+CgEfpLHuTavpEuuAFlKY6Y+kTSLBAfjSf9uY/R7DexlQNldie
5ChkcdeM7+i72nY23H8DuWZ05wi91FUAAAGEaUNDUElDQyBwcm9maWxlAAB4nH2RPUjDQBzFX1O1
IhUHC4o4ZKhOFqSKOGoVilAh1AqtOphc+iE0aUhSXBwF14KDH4tVBxdnXR1cBUHwA8TRyUnRRUr8
X1JoEePBcT/e3XvcvQOEeplpVsc4oOm2mU4mxGxuRQy9ogsDiCCEuMwsY1aSUvAdX/cI8PUuxrP8
z/05etW8xYCASDzDDNMmXiee2rQNzvvEEVaSVeJz4jGTLkj8yHXF4zfORZcFnhkxM+k54gixWGxj
pY1ZydSIJ4mjqqZTvpD1WOW8xVkrV1nznvyF4by+vMR1msNIYgGLkCBCQRUbKMNGjFadFAtp2k/4
+Idcv0QuhVwbYOSYRwUaZNcP/ge/u7UKE3EvKZwAOl8c52MECO0CjZrjfB87TuMECD4DV3rLX6kD
05+k11pa9Ajo2wYurluasgdc7gCDT4Zsyq4UpCkUCsD7GX1TDui/BXpWvd6a+zh9ADLUVeoGODgE
RouUvebz7u723v490+zvB3gHcqkloKXxAAAN/WlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94
cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1w
bWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAtRXhp
djIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJk
Zi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6
eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICB4bWxuczpzdEV2dD0i
aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgeG1s
bnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6R0lNUD0i
aHR0cDovL3d3dy5naW1wLm9yZy94bXAvIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2Jl
LmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu
MC8iCiAgIHhtcE1NOkRvY3VtZW50SUQ9ImdpbXA6ZG9jaWQ6Z2ltcDo5NmE3ZjI0MS1lMjNjLTRi
MWEtOTdjZS1kNmU2NjliOTk4ZTIiCiAgIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MGNlZmJj
NjYtNjFiMy00ZDZkLWExYzgtMTg5M2QwNWFjOTg5IgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50
SUQ9InhtcC5kaWQ6NDIyZDdlNTItOGE2Ny00NmExLWI5MjYtNTJiOGEzMGIxOGIwIgogICBkYzpG
b3JtYXQ9ImltYWdlL3BuZyIKICAgR0lNUDpBUEk9IjIuMCIKICAgR0lNUDpQbGF0Zm9ybT0iTGlu
dXgiCiAgIEdJTVA6VGltZVN0YW1wPSIxNjU2MDE0ODk0NDU0Mjg5IgogICBHSU1QOlZlcnNpb249
IjIuMTAuMzAiCiAgIHRpZmY6T3JpZW50YXRpb249IjEiCiAgIHhtcDpDcmVhdG9yVG9vbD0iR0lN
UCAyLjEwIj4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAg
ICAgIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii8iCiAgICAgIHN0
RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YTY0MGI4MmMtMDg0My00MjYwLTk3NmMtYTg1ZjA3MDc5
ZjcwIgogICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJHaW1wIDIuMTAgKExpbnV4KSIKICAgICAg
c3RFdnQ6d2hlbj0iMjAyMi0wNC0yOVQxMzoyMzo1NCswMjowMCIvPgogICAgIDxyZGY6bGkKICAg
ICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RF
dnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDozYTUyMDNkNS04NGRiLTQzNDMtOWZhYy03NjFmZDZmZmFh
YjgiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoTGludXgpIgogICAgICBz
dEV2dDp3aGVuPSIyMDIyLTA2LTIzVDIyOjA4OjE0KzAyOjAwIi8+CiAgICA8L3JkZjpTZXE+CiAg
IDwveG1wTU06SGlzdG9yeT4KICA8L3JkZjpEZXNjcmlwdGlvbj4KIDwvcmRmOlJERj4KPC94Onht
cG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAKPD94cGFja2V0IGVuZD0idyI/PlmiVpAAAAAGYktHRADwAKIAftw2PhcAAAAJcEhZcwAALiMA
AC4jAXilP3YAAAAHdElNRQfmBhcUCA56CWQaAAAgAElEQVR42ux9Z5gkV3X2e+6tqk4Td3d2epN2
tUlhJRSQQEKABpFE/ggm2SAMxmBbtjA2/uwPJ2wwGNs8BBuDbTAyOdnYGIEtECMhhISQYIXianOc
2Z3diR2r7j3fj3sqdO/M7Ehik9TneXq3p7u6uvrWe8894T3nEjrymOWnT79UFdaUledrUoFPBADW
AgzYRoio3rTR2CQfuW/UPuPgdu6M2GMX6gzBI5MvAuqiN7+8N9/f1Uta94C5xzbCZQCWE/MSUqoL
zAFZVrAccWRqNoomOTIj1vIBT6uDNjTTptqYmtkxOnHR5ntqnVHtAPe4yAcA9aprX3O231N6ktJ6
E0AbCLyWmc8gYFApBTADlsHWAswgZsAwYC3YMmAsODKwYVSHtXs4srvYmK22GT1ga817p3cdvOei
n9871hntDnAfs4x95DeWB+XBl0S18MW1feMbibEUhD4AgAXADGYGCVhhOXkNNn7YBMDuISCOH5Fp
IjKH2JgDpt78cWOy+vWoEd1y/o/ujDp3oAPcBcn0z79O/uKlJZ6aXG12bX0bwuYvAeiv7DgYmJka
gWXAmMEWABxQs6CNwcqMFKjt/xsHYjY2AbH73xgY2zC18CFTb36Cm9G3olrz0Dk/vqvZuTsd4M4q
tT3f61G54tNA9FoeP/wqs3NLCcagfmgS9f3jIM4CFSBmB073T6phGQDbDHjbtW1sPlhQon3NUSBG
ZGEb4RbbjK63jehbY7f85L7LEHa0cAe4Tr4P0OUjt7xA5XK/CqWv4kp1UfTQPUCjhqjWRGXHKLhp
kNW2DsDynMkBVQCdALXNdKDY/s2YDWwtyLADa6yBI3kexQA2sI3oAW5G/9mcqn7irLt+uqsD2ycw
cOt7vqOY9BqVL/wx+cGLoPQAIkPhQ/eCx8cAZtT2HUHzyLSAVAZMNC/Hmje2d5E1F6zYuQCxPE+c
tVbTIQYtotgeNmDDgDUpkCMLhKZpm9HOqFr/a2v4c9GRmfDcrQ89YUNr+gkJ2t3f7qEg9xKVy3+a
fP/ZINUFIjIj+2EO7AGshak00Dg04bReLC3gjac9y1NuUwecqoW246ntfOCMCiH3lI5WK5qIFmtP
X03Aucr3HvytpUsP//3IKHeA+0QA7Y5vbaRC/t0IgveS5y0FiKAItlJFtO0hoFEDW0ZjbApmun70
CZgyiJsNgTHwSMwKyiA9A0aOj6UW0B6FYzpqUfSUUptI0ZUKmH7TpHrgk80p0zEVHqdSve/LSnV1
PY3y+Q/C858KpRVIAUoDDITbt8Ls3ApSCrYRorL9oFu6E13q7AViyuCWW7VwxmEjMR1iBy0xGVqi
D3GEIXXYkHHYkvdixy1yNm9sPnAzGjfN8PP1w5U/O3fLA0c6wD3JwibSbK0GW5+NLbCNjA2bDQ6b
hqPQchRZNpEtrjlrQctk9YEv+6pQeBHlCx8nzyuz0gTScMBVsJUaGrffArIWpBTqByfRHJvODBCJ
kkyXf7KZEUwiDXL9MTiRcdjaw2aZBEUK3NjObQ2XJeCNDDhiUGQcsCMLNE1omtE3o0b4e8pXu9bd
cfcTwnTwTrULMmFjEVuzni0vh4lK1kTEJiKOIsCaBlszzdZMsAkPTz949xSHYQXM1Z4nXTbrclm9
9/NFlcu9SeVzH4BW3dmVGaI8w507wI0moBWstQgnKslSziCQ876S5Z8TwLZaDUycrPMxnlODFanZ
EL+usrpDOa1MBCiV2gwxyBWBtQLYgKHSL2b4CniF76mSZf59APd2NO4Jlqg6vQTAZTCmLwYsoojY
RMaayMJEPhujOQVzncNwkk1z3IbRITbRyOJnvHAyNQ8+X9CFwrWUy70bnt8LJaYBacTPbb2J6i03
A40aSGuYWhO1fUdafKv5BooZIMqALLZtmVvBl9W0nIn5xq+bWTSvbYvtGuPeiyMNJmM6GAbl9O3N
6fp163545487wD1B0jh4gMjXl7C1Z7GJFKLIMts9BGxja2esiRgmUjYMCxw2+zkKl9owLLOJijAR
WRMZNlEdUTRmw+jhXF80mh/w30aF4l+S9rqgtQNt/CD3f3PvftTvuhPEBqQ1wqkqmmMzqe161GAd
7Zy1BA1sm/0bZ9CQPncWRzZpkUkNcxa8DDbGxXqtgDR+L5S/TQpgHXgMojubk9W3nXnrnT/rmAon
xK5tehzaIluj2Rpma7eTUncWVp8Vth06PrX5tgNs7QMwkeJmY4BNuMZG0UpEUcma6EzYaD1pfR4F
/luIkBPPqQ1qTqWaI0fAjRBQnNqnQkkEEZjIEWbiMxBnIJzGcuNvOEr7QlQy24y1EM+KTMRBUaqB
KY6JMUgpMDsnEZ4CIoBgwR5l7Q2AGTay5HcFTwl68h/ceeVT3r7m5h9v7wD3OItt1tlGIWCMYhM1
2PK+nk2XhLMd23PB0xJdBuAAgAOj//VZn61ZbqNwdXFQvTS3uPBGIsq1hKJa9KN7bmZmwGEIaAcA
HXiIFDkPPrED2j5Oqf3bEpeNTYckOpaJAVNGUyukSQvKfI2iVr3ODsCkyH0LE6Al2MYK7AGAkRMy
2DAsA7rgP5eZ37v1souuXX/7T490gHscpbj6rGjq53dU2BogipS19hF5x4MvfUMIYFf17n9eqoq5
FytPdR29zvNRhhKDYKMISkLa5Cn4/UUXVbAupcs0Wyx3lvPNYnsxZ4E9WzzXARNWJgQh0bgOsCxu
oYA30bAWBAX24vnrZoM1FirnQxf81+RQOnQj8M7nOnQ/rkSdUhGFWvWgqVUiU6/6tl7pfcSx2js/
PkC++jPy6KzUPIhVIKcevizDYED39jizMjJgE4EjA5UPECzpBnn66Ngrs3ATRCPDgpH+zVnGWBwB
ludHWcYUTx52c4FE9SqAldPApMhpYqXccy1/a3ccKeVWC3m4cxEo5yld8N941vOe9pbHo8Y9pYDL
YWO/rVWnTK0amGqlPPrNzwcL/ez4v/+5B/BvkadelLC42jJaRyk+ZgTLlwF+DhxGCXhhDXQxQH55
H4LFJaiCB/KUA1qW6WWt8HIFfAkrjJNH1gim9vgZ0tBZelnueCKn6V14jEQLKwE2pWBVAGnKAFdW
CN+DCrw+rxhct+s5l118/8aN1AHucZJFV1wd2Ub9XlurwNSqK2zYGFjoZ/0l3c9Xvn6HI7s4NDHz
LIt5JjEAhtffi/yTNsGGkQNvaMCRAUcRQIygv4TCikXIr+hHfkU/gmX9CAZ64C8qwesrQHcF8IoB
dM6HCjyQryWRHpNonOfPcTQgq30zThqJicCKkjgxqRSryGpgUqlJodwBDrwO1GzZTTRfQ+W8c3Uh
+N2uM5eUOjbu8XTSarVdNmruYWPWsok27f3sRw6ufMN14Xyfmfzvv1iuct4fgdADy26pzWhVZLQf
tdu7xCiesxGILGp33gmERixG9zkLgDwNnfOAonJLM1HCMcjGGBJeQRLGlZBW5GxPjgw4NOBGCNuM
YKoNl/iw6bUloeBsAE4ULospQYpdEoKNHJwlO5D7Lq3Er2RoBK82kfnOtisv+cK6m3/CHeAeBym/
/E3R3s999CdsomUcmY0cRTsBbJnr+MOffZf2unJvIOJLnBtunbPCFiS2KLNuATC1k2ICH8WLNsFb
sgi1n26GnZ4Em2YmicCwrKEYYM/ZlaQAaOXASgJaUuJXCdJiGyFW8vH5LCdEdI4MTK0JU2nAzFQR
zdQltSuJB2KXvYudNY41NLtMGqwYxNYBWJGjRSoCPC+2PAK/K/eeqBF+F8BoB7jHS+vWa4c5Mvew
NU+xxlyx7UPvPrLune+btZDQX1TaCMIbAeQSMncc0FcshYtWNJQAxrLEbV1CF2CQVsiduQrByuUI
Rw8hGhmFnZ4G12tAWAfCJtiGQDNyqWGtQUwg0oCWeC9ZsCzj1OIJphExzsRsiQHyPZCn4ZXywJIe
sImBXIep1GBrTZhq08WaORMyY7lyFcfW4siDcpPVMpSvwYEnsQhenesr/h6AP3g8APeUNdh3fPQ9
RRs1n8/GnAFjdrAx393w7g9VW0yEb/yxTznv3bpU+DOVCwDfB3nuAc8HPA+kPEDLQ2lAe+CWtK9y
z4lApNyQKPc/hyG4EYKbTQhXQlKwkctagUHW2cQEYX+5WDQoioCoCYQNcLPuPgvKmDApo6w98ZFl
idlmCFMPHZCnazCTVXBkMsWYklXLknUiC10K4PcUHYssioBmBNsItzanar+0+pu3/qwD3OMoD3/g
XQNszP+BMUU25ic2Mnec875/TOquxr/yByu9ntLdqpgfoMAD+YGA1nP/ax+kNaB9uJSvgFd5gFIO
wEqlXpBSmWVeZZIPqjUR0ZIZQyvN0XJS/ZDSFg240QDqVXB1GlyZBlcmgXpVQmwSTrOcOHDcUuLj
+Ak2isDNCNFkBeGRGdh6U0p9suAFYCzIU8gN9gChTZxNbhhj6s0PTNy7/z2bfn5/2AHucZSH/vTa
jWzM89gazZG5ka19YNPf/SsDwOTX//B9urv4R5TziQK/ReOS5wlgZ9G6ygMrBVKO2ug0MBBTHSle
jikT8CeAWbUl0lqdojTjlbFrM5oxKWM3wjlo1MEzU+DpCfDMBNCog8M6OGwCRiaAkfhwzMmNARoa
hNM1B+BqA7YRyXnTmrf8qkXuPKERu9nA1sKfR9Xmq1Z99aYtHRv3eCYlKpWtUKqPjbkCxj7LGtME
sPXwP//mMqXptWBLR3NdnZYisgBZMImjJsTw2CYErLMZrQWRcl67smCbAShJViqpfKC20FqWdBOH
stLXKE4oAGAoB17tJgrl84CfA/UtdsCqVYDqDOzMJLgyBcxMgK2rTI/TvkkGzdPwe4vwSjmYSgPR
VBXRZBW21kiiDCyZwGxZkcrx+RSZK3a87BnbzvzPH5y2GbVTvnTnH370M/7NS590iKOwyCZayZFZ
/mtnrR9dvGnJy1TOfwV52leeLPOkkqWf4r/lQXFgNKMhCRLgByVJqzRcRq00B8qEuxJiubx+lPZF
i2kRg7m9Lo3bExGeD8oXobp6QaV+UM8iUL4AGGcvE7ddV3zNnoZXyMEr5qACDxxGYGuhSzmoQCe8
oCTRYblP+frLH7pnW9gB7nGUj9+x2fzGxecesM1oKYxZpjXO6FrV/Xqd99c7G1biq0olYak4ch+H
qwAl2ah2AGa8/hhaTKm2nM26mqWSkaid7hh/dyuYqf08NJsmJ5DWYD8AFbug+5aAuvqE+hhJ6CtT
jZEkLBR0zoPXlQdpBXgaKtCZ0qPkWlc2p6r/+eH7dx7oAPc4yz/+5L7oN87fuIejqKzz6ik67w35
3UFR5XxQFrixxo0B2wJeJGGjJKqfZNFUGxYpA+A58EuUwSQfrXUFnDQLIz3W+URHfwFTWyElKVCQ
g+pdBOruA5QHshZswgT0JMmU2KzQ+QC6qwjl+RLL5qzWJQDVD/1s6/90gHsC5BObH2q+/bz1I7m+
4GkEfpYJDfndOajAl4ySSp0rSvP7FCcDkvwpzfL/LG5rsiRTK7E8k5WjozTzLDbwUeDN2MDyeUos
ZEoATekMSTW254FK3VClXqhc0dn1Yf1oCgQBKshBFQsg7WK5HEWp4if0vW5L/dP/1JiMOsA9AfIX
b7lC5RcVXmItPzmsNhHVQ/jdeSjfazUXlErDWImNmzUP6JEHVtiRZx3uCG053xatfrSKbbOFidqO
EB1MbYVqbXZ3ch6tnT1c6gEK3UDYAKIo07OBQYEPFQRuRfI8kOc57oS1IEU6WNXzgw/fs/207Izj
nXYXnNNd5HuXeqUcZkam0RyvYGr7QfSsL8Pv1s4OJAkjkcRBYR14LYNhj4Zqu8mb7dihtDtPrAI5
Trva1AyJqxYSnZkloGcKexTJNcQvKYl6xH4jAVaBlAWzAhQjtYA55T+wc7gckTwPpT1QsRt2/BB4
bASoVR2NR2vAc+X35DOU2M5mega2Wiv6/T1PN8w/auzewsrzTX7FWu4A9zgJG7uYPD7Xy2t0repF
Zf8UGocmMcWM7vXL4fd7SdM5F+aKg/tGaCyUhMISZRnnYpXYiUoSCETp/6QkR6tS+1ecvZTdZVu1
aYsTlzEbIARxJba1UCIpS9Zjm8SQKWPJZvluBBbwimmwuAyUemCOHALGD4GUA2pMu4yvxOvuhvG8
HFTXUOWhzbfrXK5mrZ2sHdg1rTx/mrQ3HSxaajrA/QXJyJ++kmy1cb7KeQEsw8/76DqjHzN7J9A4
NAUbWXSftRK5xb2upFy0LZEFWwLYIOvXJ0kCBZCSrBepjEWhWioSQKJR4wSFOhrAiPmwMZOrxXrg
pM6MbOoTAgAsuetwvLS2OHEavyXWLcVChEjAy04L5wvQS5eDu3qByjQQ1Y6uygBDI09EXtkcPniW
GlxWBxETUZ1J1UipSnPy8GGl/f1Q6pBX7LId4D6WZMRMhWDNxV5vIUmRenkf3WuWYGr7ITSPTGPy
vl3oPXcNckt6QUYIKCZmTikwmTT5QNwKYEmUOWXHDszK1X7F3j8RA5bSpEQM7qTVAWcAzWn4jdEa
KFZZ8Aq0bEpddCnoWfxFHWvgNJjrXvdSzjoDVCwBQQnUqMPOjIG4hpTX7swOCuu56P6fPOQtecFe
gAYYWAqgZIEuApYyaKNSQcU0ajtIeztJ6xqRsh3gPkKhyBDXG5tsvQnKec4UsAwv56F34zJMbT2I
xuFpTPxsG3rOX4vC4CLJiMXsKSN+i3GVtko7jaycxkvWZPk74RwoSstqSIl2zfQHI5VoXmTrx5iO
tpvjyshY8yYJihjAbrJRsrirWYMdaVxCZ173Ms9ZEjAeSPvgyjioNikmkgb5AFvbT4e2e91nXbQF
wJbK9vsVrOmDCcsglC3QA3AvcXARSJ1FpLYx824AE0TEHeAuUKofvRHF33nuRlttQHcX0nZFiqE9
B97pXR6qe49g4qdbYM45E12ry0k4LE6Zoi3k77DHwlXgFFxKA2SkYLLdUROerEo5sQzleoslwITU
oVHatSaxh9MHIcMFV7H1qqSDjqSiMwBuddg4S6dw3GMwCB7IKHFGA6BrMeDlgMo4UJ8Rh832kfUW
xectrT3XAjgC4Eh9ZPeDMKafQWUAZwC82ILPI/JXEaktzLydiE5aKE2d6mCtj+wmU68pZu454/Ch
jWxoma00HLWPWUpiXIBdeRo9Z5ZRWj0A2wgxde82TG7ZA9NoCgHFpMebTG9aeR3WZB629WEMEEUJ
QSb5XKY0B2zSjjNx07qWjuUp26u9lCcFc1pjxkpJuY6W+jJKqJiucFI75yumZyr5W7KJ8IQdJ6Ew
5EugnqWgYj/geyBf++Tp/u/NEhPMl8+wuaUrDoP5frb2BxyFP+dmI+Sw2cvWXAjgHGb2Ohq3TQ7f
8i3f6+3LcxQus1FztQqC/nD8cDcA31ZqsPUmKPBBSgBnlHOstEbP2mWA1qjsHMX0vdthGyF6zl4D
r5AXe9ZzlQJJVEol/RJIcRKidT27MrRHZIokk9dj8nhWEzvSOif9QFKOr1DGEo3M1JYuTmzgWJGn
kQ1SGnEfBafHZdlvSWcwCNqNhfFSsyK2bQFQrH2nx4BGtGj1W1/o4Z9vmJW3ECwpM4CZcGLsHhuF
oQI/Ccw+PP9cUmoMrq9FB7h7PvN3XbqrZ9A2aitto7AympnMgygkoolo/15CFDEzw0xWoUt5p1mM
Y3WRNQ4QWqPnzGXQ+RymH96HmQd2IqrU0XveOgS9Pc7WZRcPTcrPFYOUdpW6BJAWABpOQ2TZzBuz
A6tSmWVfpd1pSDmQsZgolh0IkwqJ1AZmUm3ZOk4dPpuaGe7w2AZWAkorZkWbzeuyFK02MWXjwl0A
aSiV6+49R2kA8xJu/L4l3Dw8+qC19gyydoli9qG9VTZsjio/sE9Y4G75y+uKKpc/N6rW1kB7i0l7
PkAVADtJe7t1d+/YzA1fOIejkEEa5vAU7KJuKK0daA07+qJQGYkIpWWLofM5TN63A7U9I4iqdfRd
sBGFgcWAjp0rKdmKPW4BYtJuKY7f8izghQLX6+BmE5TLg/J5cdxUxplL7WsYAbXKkH2Yjo7/zpZh
E83rSnWkT69SaTwXypUlJXRKlZCGkigC0kY87u8CYFA0hYVlUIPFg7Y+sntGWX/AMoM8308Zd08g
4N71yueRLuY93du1KZqaebIu2S4QMYFnCPgZaW+LLhQrpjIdBj2Ledfbn+trYwmKwI0Q0dgk/Hzg
Mk1khP1lQWQcMJRCYVEP9JPPxpHNWxEensDh2+5B30Vno7RyEPDS+C10ppkHuYJKluLHuEmH075W
ogiM6MgRmIlxhwat4JWXQ/f1Sz1bHCZTqQdGkoY2nPYlUxkvjV34LO3B0BZPSIIMEus1ovFZzAat
UnOA/JaohQO1zoBYIO55HuuFZf4rW+/N22ZjKVtLyu3vNkpK8xMKuHe8aEhxZFayMU+31foqMAwI
h0F0P4Cfr/nNP6ke9aHIGBibcGjDg5PQfV1Aj4YiI0ATEDMljeGCUh5LLjkbE/fvQn3/IRz50WZE
561H9/rV0PmcgNJhkiV+y1IUxsSiGeNqWwJHDYSjo7DTk5msmkK0fx9UoQgKgrRwkjNxWbKpJo4N
3JYoBGUa6FFbq9NMnzIid26F1N5uy7ARuwhJkiaG16px43N52ir/2DCY3HxbzkbhJYrQBWay4P1k
ov358hlPHODePnSZ5mrjEpP3LwNRD1ueAeFuAPec+8FPjc8Zx52oTHOOmIzk90Mg3D+OIJ+DVQpk
LEAuO8baOltWu2Xa830sOm8tprqLmHloN6bueRjhZBW9m9Yh6OlKa9BYpYWMkgJ2HRstQBqm0UQ4
sh92ZsaxupQSLe+0oJ2cgF4y4MrgW2K/3NqNJsmypbxdjsNlSrWnupJgbxrG4zQC0RYqAynAatcz
V6d8iTRtnIJc53I1v6s0r406fsf3ejiKLmRqrLVsFTGPKvDdhdVnVZ8wUYVbNp1P0Uz9WSrnXUqE
AMxjIHybiHZf8Kl/nzcuSFqFkF4DiBzXwEzMIDo0Bb/cLzHPuDRHHDUYuUOA0ho9Zy6HXypgYvPD
qO3ch2hyGr0XnIVieUmijuLtnYhbkw62XkNz3z7YatWV0iglpB6VEHpsZQZ60aKjQJlUWyT9wVRi
w7JQL51il++nTOOR2Gywadw53RSFUs5DvKsPeTKRbBpliM0FnfkbDPJ0FRqzAvfQ/35Vkx9ssGFz
kwL3WdfgabtS6q7i+vOnnlgJCLYXcZMutYhyxDwBa79JRHsu+Y/vHnPJMX1do/rIhE2864jBHCHc
NwZVykP36gSsTrM4jetuvnFaUGkUBxfBu/xJGN/8MMIjUzh822aE561H95krHbdXmoiwZUdUIYat
1dDYsxdcr2dirKKNlYDRWlfNa0wCPBaqolvaM8mNtgyaOy4u1HTZvcQkQIZUzi29+49uGKk0iL2M
2REbHpyGzrImSRhNHL73wURh7PviPyjy/EAFuaUcRReBaEDmzIxi3AOih7ufdPlJL/k5ocAdPnNj
F4f2AlguANrA8j0M7HnK8B0LspOoUpuC5SqMKba0V66FaO4YQbB+JXR3UZwXkwEsUuaxmAFBdwGL
Lz4bkw/vQW33CCbufgDhVBW9Z62B310UXDGYCaYyjXDvPthaVSqD40SAaOM4ARD3YoiipFVTmiLm
Nns21pay1EtLUbKZqg1QUrnAnNbJtdQxcFsimAiSz209JGMmIILQHS0oFxze8Kf/YHZ/6oMead3P
JhokpddzFC2XfOA4gD0A7ut/+gsmTpUo1InVuIZ7mE0vrCIwmhzZQ0+/e/OCjXuaqVkGdhBjietF
ALDnNv2wk1U0tx9AsHY5dHdJbpLcPM7cPEq3dPLyAfrOWYOgtwuT9+9A5aHtCCen0XvOWhTKSwBi
RGMTiA4cADcbzg6OTYOEtG7FPnbFmSzZtaTal9itDnEoDUga1aUZCE4IO6wy5TxCoYwrLDiJCLTt
5scZaJKX2LwsHc2zh1A8gyOANU+bah07Pvae820YrlTAEhD1WgqhgEMgPMxEexpTM2OrXvvrpxRX
94QClw1HZGHY9ZLNwdCiR3YCZgAPwfClSHxsm9h4dmIGzW37E/DGFbGsKWmRy4pb9iRTWqFr1VJ4
3UVM/HwrmiNjODI1g9KG1SiUcrCHD8vSLyaBirNaUspOSl6XaIcx7hEDVykJswmIFSXhsKOcNQGw
40BQ6nMlnF+VDAOhrchSCA+kc+67rDOLkkN00sAM1kaIqlWEU9Nh9cDoJjZRFwiaQREYuwG6j5U+
gCiqD77iLaccpfHEa1zGEWbeSeABZtLQ6sKb1569B0Q7rtz2wLFnNBNg7T2OdB0bacq11xQNbMen
0XxoN4K1K6D6ul2TEKSUAdKZ1rmWJdevke/rweJLzsXkfdtR33sQ48N3odKVQ/eKRfAKOZehk33Q
XBIh5g64PgxxNIAj2Vw6abEYmwQqWfIpm2WLaZCU6ZZDShJznKmfUxmHk9JO57GpwORqy5SW3mga
MBGsNa59aqOOaHoG0cw0bK3mtHdopqNqbYKNGQeww4IeVkqNn3HN756SYD1pwH3W/q3R95etu5Ut
dRPzuYBdykq9jBTfdvP6s++/cuuD0/N93uYDpnrzTmoaZw9qm4Z5JIwFTbDTNTTu3wlvxQD0kj5n
OgSUtP+MebbQygFJAyALbS26l/SARw+hVm+iPlWDma6juGoRCv1daYdyss4WTXqP2dSMEIJO0ksh
BmQmRew0asbGNZlSdZJMWmJFxHTJjA17VK2RVPAqH6bRhKnXYWo12FoFplqFqVRgmw0Qu4mqcwWo
fA4Atk/v3Ptl02ju3vjuD51WRZMnpQXT95et6wFwKRRdTory0NQkrQ5Aq/tJ0z3PfOC+OQG8+wUX
roGxPwZhAFq5BsaZDt0JoUU7WqIq5qC6S9CLeqB6SlCFAijnWjOBXeWrrTZgp2Zgq1Vwo+k27as2
MbN/EmG1AeVr5Ad60LW8HzoXuMWBFjYAACAASURBVEgFpWwtQuqs6cUDCDZuyPR3oJYGzNmWpMja
si2vZ96LqZMJ+SYO+QE2jGCqNZhKFabWAIcM2wydgxiGieZXngevuwdeVze8gtSoKQrZmo/lNz33
93AayknrHfb9Zes0QMtBeCYpWgOPfNKKyVMNeGoHaXU/ebSbfN0gX0Xkeeby4dt599UXLoYxnwXz
CxzVT2VayTuwZvdNgFauylUKB0kraYCXlrFztl2SjhvguQbJ0yNTaIxX3X4RpQA9Zw4g6CpAaS39
aSk5DykFPbAUwYb1rYBUWQBniDbZluM0W6k8JfYxRxGiag1RtYpopoJoesZ1kYwpFX4Oygsc1VFp
6FIXgr5+B9hiwX2XS9O6lcHYKRs235rf9OyvdID7aEG8Yv0qUnQ+NK0irfrJUyV4isjXNeWrA+Tr
feTrEQq8qXxem77m9LXUDN/lUv8OmKwFQPHeCEQOpKJ9Y1AmGlll3lMZjSjAJa0S6mF1oobqwWmY
egTyFEor+lEc6IHO+SkoBZB66VLkNm5odb5UpkGJoqTJM0tTvJSfa2EjA9towDQaMLWG06bVKrjZ
TDQ3KQXyPei8W/J1Vw+83n54XT3wu7rhlbqgfD9pPcpxv2B2HGTXTMTuCyvTl5cuuHpPB7iPNc57
xsZuaCqTokHy1HJ4qky+WqwCrSnQlgK/pgJvqqjt2XkTvlUp5EiRUGMpaTCXhJPYiK8Ta2OVaGPK
AjUBcgbEif1KIAWEDYPqoRnUj1QArRD0FVEq9yHfV0z6OTAAtXgJ/HVrXWdEk5LWbRRJO/1I3pPW
n6GBDSPYZhMcNh1BPjMRSBFUEEB3d8Pr6oIuFaG7itCFAnQuD10swF+0FCqXd90kkwaASJoAMrfv
0G4BE30rWPf0F+M0lVOKjzu0e8s0gOmb1529FZbzsJyD5SJHdjmDliuOBi3z4kbOa2hShxRhpdIe
yHcNL5QfPzTI90Gedg9p0USedtmpRLPS0VNYgArpnRtHHXylUFgH1KbrmNz8AJpHKogqDVSKubRN
LgOq+zD03jHJvkmaldM0MmSXSHdeSlYAUgoUBPAX9cLr6YLuKsHv6oJXKkDl8/I7PChPqhxiTV7s
AgW5tEslZ6riJWyX7V/ivo/YRvgiTmM5JSsgrtz2IAOoyWPiBxddcICY7wYzgaGbTP19pjlAxv4y
e55m4wG+LLWc8lFVzJpSGgh8IPBBfgDlyw45nvTLFQ2XdHSMCxez8VN57i8l5JcuwfjmB1DfvR/N
8UrGPiZopUHVmpgqGqw1yNdQMglUPgddLMArFqCLBac5i3nnNOVybS2ksi2lkFybc7oAeD5UroCE
6xXveJlllVG6fatLO1uwwQFrzXc6wD3O8oyfbs5uEGYAjO55yaWf5cPVl4LRFwOPfQ34ngOp74F9
B1Yb+KDAAwUBOPBhfR8UOACTp8WRa3XYjuqpgLR5niagf8MqTHOI6t5RmHrkqt89heKKJShu2gAV
BK4tlO9DBb5bCYKg1d4las2mxRuryH4kJCQZNrFpY1OWmKegC6WY/wG0tFHN0BaTymVytq17+4sq
CKY7wD0Zxvmqvlt4qnYP18NnxuVg1Ixca/lGmEQZWMjcnN2hUWvA11JsmLFvdVqU2AoupFqZKFl2
CznAW9mP6lgFjYkabNOgcWQahcggN9CVmANJijjuRB6H0qAc9VGlapLjY1m1lANxhpRDWkEVSm67
AGtTk4dtS+untFNPTNIgEHicib9hGrXTupW+Pl0v/EN3bjfvuGDNjD1SfSURWnrcU0t3xex+uEiN
Ues2HoGxbiMS49rNI4qAMBInKkpTuFLpy9akLfEBaE3Ideeh8x6iaghTa6IxOY2w3oDfU3ImQmLf
Zri0nCmOjCmU8ZoS794eX2uyH7B7UeWL0F09LaZAAk7O7AecCarFf7O1/83G/Gth3TNrHeCeJHn7
isFd0Ux4lTnSWJX2MUhvcKJogKSbdwKGJGXMKcvMWnBoYBoGptqEqYsGR6YSlzOfSzrDEPy8j6A3
7wiESiGcmELtwBgoF0DnA+d8MbcCMbPrTgIym6F5Z/cEjr8rl4fX15+QZ+bKrbc4nXG9mbVTUa3x
4fyZV9yB01y803rWDXTVTGQ+HI03nhztreeooKALChQoaF+BAg0VKChfupbDAFaWabaJA2aMgY0s
TCOCqUWw9QgxQZs0Qffk4C8qwe/JZ4g2Cqw4Q75R8JRCz7I+2CVLUBufRmP0CCZ+ch9qK5aia80K
FJb0O7ILK+ETuMoJZDgJ2XKflO/gbCFVKMLr6XPfHfdjiHuXcXsTXm7Rxszg+sTUgfv++pPTNwLB
c4Hm6XzvT/uNibe87PKBaNvYv/C+6kuTpVM8fPIJ5JELl+WU2w9BkhEMcrFUw8nOOGzRatNm9tBV
nkawrAtBXzHT+Ty2mymJCZPvIzhnA6irhOrBI5h+eA9sowlVLKCwfAA968+AVypKdYRqidei5bVM
Jk0pqHwe3pIBUC7naJIUGwFtfX+pNfOWtEY1trnzhps/t+dX37+bBnr/F8AdVx3abk9bpXW6A/dj
D+2t/s75a+pcbV6Fui0l4GW4ComIXQ6/bmBqBqZqYGoRTCWCrRlw0+0pxnHD5vYVl1MurK00oUsB
lG6rxM1uJmIMqKcHXm83gp4u5JcuggkNzEwVzcMTqI2MAbLZCGXolmCb9iKLTZt4c5QggL94idul
J7aTk7BfVg1lgy+ZPdgIgDGfffBPPvYJnmluBGEdgJHrq+NjHeCeRHn3bz9vW2PHofU83rgw6cGZ
2RAa3L64tFYSUNZxi6P1LQ2eKXHa2Vj4pVwG3PHewKlzRYEP1dvlSDe+j+LSRdClAjgyCCdnUN93
EM3pGSjPh8r5LusnoE3sYDm3yufhDQxA5fMttiu1zJg0htvSjze2+a3dwlH0tt0f++oWNCIPwBkA
zrym1L/7+ur41Ol4zwmPE3n4FU87I9py6Aa7p7qplSKY+aUxOVujdfsnTUmrT7e5dDYEhpYlmHyN
wooeeKWglTij0nAZFYsILjgHqpDLxIYVTDNC/fAEZrbvQzRThcoFyJWXoLR6OfJL+jMpZve/7umG
v3QAFOTld7SxxmKnsn0Xobjw0iF3mg1fx6H5bG71M6KbBtaWALwcwFkAtgH4j6sObZ/sAPdk2rtX
X/qc6KGxb/CRZgnZJnLZkFGchdJJ+vMo8EK4Dy3HxzFUBfiLCigs6ZIYcab+LGObBudthF68SEg8
6W5AIIIJI8zsOYjKrv1gY6ByAfLlJejesBp+VxHwPHh9vfCXLgX5Hlo2giDV+nd7x5tMlx0iGLb2
86bZvDa/5llJwuGmgbWLAPwqgH4AwwBuvurQ9tMqrqsfT8C97qK1+8HW2Knm0xGxbp2eWV5C2y46
oKT0uyX+Ge+G094aiQFd8DO75WTf42QjaW9xb2a5To9TWiG/qAe5gX5YY2GqdTTHxlHbdxBMQLBs
KfIryiBf4WhDti3cNVcozPVZ2myb0bX5Nc8ayR5xfXW8dk2p/wiAcwGsArD7+ur4eAe4J0k+ev/u
6LqL1z1oTbQaU81zwS196Y/aLK/1ZWpxspKAvXQXz8b02TB0zoP2VGrnirOWJD9qDVBvN1QuSE8q
AI7juDoXoDDQB18akphGA83KNMJaDdZa6MCHzgetAVmeJU47K355Dxvz9tzqoZ/O9vY1pf4pAAUA
awEMXFPqf+D66vhpo3UfV6ZCYu++9LLV4cNjX7L7ak+N98BLQlvZJTW2eQkZjkImjKTJTW2NdGMR
iYL5fXnk+gqOxK4yfcJUthqiD/65awHPS7ZsJZWpcohplL4Pb3ARjCJMPrQDtV17HaGnvw/FNavQ
s2Et/O5uHL0vG6V2b8tmajTOlt8WVutfL539gjlDXjcNrC0DeDWAATEXvtsB7skG7yuv2Bj+fOTf
7Wj93KxSTR2uzHNFGcpfZlhiuzUGL6UtRVWgUBjscjRDIbS3OmsK5GvotavgLR9ICeoZGiM8Dd3b
hdwZg1DFHECupq16cByTP38IzUOHwcZCFQvo2rgePRvWwSvmQdpDa1tzuVb39xQYf2Ii+4n82ucc
M8lw08Da5wO4AsAEgM9ddWj7wY6pcBLlnetXHuFA/QhhdBnXTRktMfl5NtDLOnNx909u3x2SwJah
fZWYC9QWz4VUHXC1DirmHTNMlnnSCrqrAH/5YgTLF4kD5sJqpBSCniK6Vq+Av6gfzAwzNY3qjl2o
7NoDYwzI86DjDQkJ2VDcNJj/xkT8kfy65y4oM3ZNqb8GYBOAbgAz15T6d11fHe8A92TJR7bsxR+/
4YrR5tjM3WDzZK5Gy1oC8nR0PDcFL9DCfYj9nbb9OthaeHk/w1nIOGixNCOgUgOKeahCDrqvBL/c
h2BpP3RXrpX3kLGFSRGC3m4Uly9FbnAAqlBAc+wwarv2oLp3P5pTFfn+HKTb4gyAP42a9iOF9c9f
cDr3mlL/DIDzAPTJVN12fXW82QHuSZS/veUBvPuFF+83im9GM7qYq9EKJC0PqSVJQUeBN8OyijNo
3KZ1DaA95TJpQGtbUM7MkjACGjUEq5YgWD0IHVdN2CzZBhnyDSeZOVIEv6uIwuASlM5cBVXIIzx0
BI3Rg6jvO4DKnv2I6o2KtfjjmYMTn7rjkl+qf+4RjNH11XFcU+o/B8ASAD6AB6+vjp/yXF3CE0S2
XX3JoBmb+ajZPfNS27D5JGLQFv6CJCCo3ZlL+hu4piIuSUHw8hqF/rw4ZM7WJU+KMD0FlfNAOSH5
5H34mzYgWLcKqpRPS3B0WiKUlOTEpUUtSQkNgBDVm5jeuReVnXvRGB07MLNz7Lbp23Y9wJVwOxib
4Xp9VUCoXXVwOx/DxtUA3iphMQbw6asObd/eAe4pJHtfdXlfuG/qOnOgcq0day6xyoGXhRye7Bop
iYW4gXhL+liliQhogDyFfF8OftFH3OeBPAUEGsrPRBmIQNrtA6xXLIW/cTW88mKokpSOJ7vmqKQa
I67MyBJ6EgArbcJ68zu7v3Hzp/b98TeZBoI1cBvsEYBJALsB7AVwEG4LqMmrDm1vtIG2COBiAFcB
yImp8OmrDm3f0QHuKSb7fv25+fDBg8/kidp77c7KpWziPRkgtEJhESaZMAdQViTWQxxWEAWpCbrL
R7Ck4BIGnk7Da0l1sTDHVCZ0FnjwBpdAryrDX1WG6iqkIE22hFItFcdJtQbpcfaCD8HPfyq35oUH
biqv82F4EYAyXCp3A4CSTLWq2L9VABV5biSGuxjAoIAWcDvofOmqQ9vHOsA9FTXvm5+jzP6JMlea
77K7Jt/Ik1E/DChJ+WbSxUnzOdVmF6us2aDgDxagu4LEXEhitNn4bty4JC4N0uSqkQs5eKtXwD9z
OVRPt9sGy0tAmikvUg1o/x7ki+8C0W25DS9vSRjctHQtgeEDyANYDeAc+b+AlKWRvffx/bcC6Buh
6KdXjW7jDnBPYal84To19oUfPdfunXwnjzeeyhNRLyxad30kauUraMwKXspp+INFqECnnIWYeKPR
ymeINXEyMTK1ZINL4K9eDjXQD10qgAp5kO8beP6DCILPcan/44UNL1kwo+umgbU+gGUAlosp0Sca
No5mNwGMArjnqkPb93YSEKeRHPi/r+xr3rXzRXam+Toeqz6PRxp+mmnLgFcBRzHPVFopoUoa/qI8
KNAtO0Qm5kJG06avq8z5UzYb5XPQ5QF4a1c9EKw740tU6vpa/uI33v+L+L03DazNifZlEDWuOrjt
tCOUd4ArMva3b6bqj7cuhu892R6uvs3uPPICHqkFrj3MHODNpoYVQB5BFTX8/pyzd7OtneL2ULEJ
ojMApqwNTAxPR7Sof6saGPgEafVtb9PZu3pfdF2zc5c6wJ1TRt/7RgoPVQLS+qxo3+E3m4dHrsZE
Y4Aj20PVyGtJYChKCTnCayCPoHIKXl8OKqdaTQTp8sjZFLMmKZVX0+QHk7S49261fPCz3hkrv2PG
J2uLf+NvTOeudID7iOXI1/6yv/K9u59p9h6+gierm9A0a2HsGXy4UsRkoxW8RIBPIA8gX8HrDaAK
4lwRUq2qFVDMMbTeC0/vpEJ+K/UWf6RXL7958Tv+fktn1DvA/YXKwY++Y3Hjvp0reaK6DL5eg2a4
kWcaa2CilVxtLEY+txTVRhGaFGmX+lWeangF7zAF3gQU7UHg7abA3wZjtqCQO6CXLdnvv/iZ+3ov
eUtHs3aAe/xl/N//Sjfu2RZEe8Z8rtV8O1HRKOQ1pisq0azWAgD7pcBQITDkqwg9pVAtH2gO/MEn
w84odqQjHelIRzrSkY50pCMd6UhHOtKRjnSkIx3pSEc60pGOdKQjHelIRzrSkY50pCMd6UhHOtKR
jnSkIx3pSEc60pGOdKQjHelIRzry2OW4FksOD5bVPN9hh0ZH+GScc3iwTMf47bzQaxseLB+PHsM8
2zXIdavHeu6h0RG7wN8Wf58H1xyvC67P2BSIDsqGwo/qPj5W8Y4jaPMAPgy3l1a7GACfA3DDIzpn
eVkJzB+D60Q4283+RwA3L+BUlwG4fB7w7gLwtQX8xhyATx+HcawA+CiAn7W9fg2A5+GxNeSeGh4s
v3dodGTXMe7dagBXA3gJgIvgGuel21YyjwO4C8B/DQ+WbwRwYGh0pHnaA1ekBLery2ySf6TABfOz
AfwKXOfsdpkG8EcL1Nh/LgCYS3YND5ZvGxod2X+M02n5fb/ocZyUidMO3Ivl+x4LcMcA/INMztnG
Zy3c5n1vgWuWN5cU4BrpvQTAdgCfGB4sf2ZodOTQiQCuOo7nbgL4+jzvnz88WF7/CM/5ynlu2o1w
/V2PJRfB7XkwnywG8MIFXtPxaBiX3U16Ia//Is6N4cHyebJqvfsYoG2XtQDeB+CTw4Pllac1cMWO
uh/AfXMcshTA0x+B6bEcwCXzXPNXZbIcS64WYB5rpXjO8GC58ERxdoYHy4MA/hLAcx6l7+MDeCmA
jw4PlntOZ40LAPsA/HCO93oAXC524kLkcnEQZpOHAfzsWE6H3JxnIO3APZ/TejFcY+STMYbH02k+
yjEV8+n5AP7PPL/HOWXO/p7PdHougF+Rc56eNu7Q6EhleLD8QwCvFaC2y5MBrITbxXs+wHkAnjaH
owcAt8kkOZZslO9ciKwDcMnwYHnz0OjIXH29DID/Fm3DswBkBYAL5/jsNgAPzOOcPdKN8u6Ea9B8
LNBOiA3dri3fNs/nDosTeq9M+mcCeAWA4izHdsHtzv4fCzTdTknnDKJx980B3PMBrB8eLG8/Rkhl
2TxmwgyAW4dGR6aPAf4AwBDctkgLXY1eCuArcrPnsuPfNs/nXwng7+ewM28A8Bdz/CaeBVzHko8B
+J8F2uQTs9j0F88zOT8K4P1DoyOhjOXXANQAvHkOn+MyUUinL3CHRke2DQ+Wfwa3qUb7TQoAPBtu
6/nGPKc5U5yqucyR2xZwKT0CpNmkMYf58Gy5ARNz/DaeSzPKUjk1j4NUHRod+UVuEjI5NDryaLcz
XTZHpCYG+v/EoJXfPT48WP4C3G49g3Pgas3wYPmuhcaMT0WNGztOL5cQWLu8BMD75wLu8GDZFyeu
e45BvW9odGQhLeYvBHDBHO99GsCvzXLz8gBeI0vk41n0McyLFbO8fheA/zfHSqrEKT9uiYkTBdzv
ybJx5izvnSWAGp7js3kAL5tnqf76Aq/hrXO8flCW8wvFAWyX1w0Plj94LFPkNJfRY4D6ncOD5fuH
RkcezGjdaTGjToqcKOBOi7H+zjlm9GvmAe66eeyvIwC+tYBQz5kAnjXH2/8DYD+Ab8wB3BUSQvvq
aRDSOmY0Yg5f4hBcEmHDHPfnMgBfGx4sfxzAF+V+mpOR6j1R4bDsYH0ZQDTHIVcPD5a753jvl+aZ
YN+Yx47MyivnWNIsgG/LOX4AYLZtwwPMnf07leQ88fbne1wyR2y6KYCcT+tuEgfwHgDvhQtlLjtO
XI1TA7giWwH8eI73Fosj1K5BcuLZz+U0fOlYs354sNwF4AUCwHZ5CMDPxYHYKSGl2cboQskqncry
Plm15nt8Hi5N265YIgD/BuDuBeBlJYD/C+C7cr53DQ+WL5WQ5eMSuDNwMc/ZpCjgapfL4TZHnk3u
xtxx0KxcKnb0bMvoT2WJBIARmVizxWxXArjycWDLRvO8t0MAudANqAtifr0PwJfg0r1nPe6AK8yh
2+cIH2kAF8yS534hZg9yQ2zbY8VuPYlILJ9jIt0yNDpSzZgzt4i9N5uD+MzhwfKix6t3JqvOTeJv
3A639y8vEENr4ZhrNw4Pll9+IswHdYLH54F5QkvrsuEqAcllmD2+OA6XdGgc4/uWwsUaZ9O2YwC+
3/ba7QD2zHGuZ8BR/U5noWOBd2h05CdwfIXflWjQyALPrWV1/EcALzne4FUneFaPALgDwGw7ziwR
5yG2RS+QmTyb3ANH4DmWh71ewN8uDMdt2NJ2fdNys2ZbUpcBuPJE23KPUCn88BiPuwDUF3CfKkOj
I/8kjvE14ozdfgxTI5ZBONromsdDOCwr/wsX7B+Y5b0r4XidYxICm22JDwH8eAFcWQ9zJz2MRDlm
ky8DuG6OsXk9gH9e4A080fJBGdtj2biHH4GimQDwv8OD5WHRpBsB/LIAumceDX6BaN2/F8fvcQHc
H8pyPBtwLxOwRrI0zzYwk1hYTr57njDWYQDfmeO9ewFsnkNTPxku9XzrKQjcIwuYzI/FP9k/PFg+
IPfvQ3DZzhdi7lTxCwF88nhN8hMO3KHRkVBIGhfOYqoU4IL9/425ubq7sTBuwksAlOd47z/FOcMc
2vgLcwBXwVUGnIrAfdQyXF7mg7k8h6JgAKNDoyNNcWBDAA8MD5bfKtGEZ83xuXPx2Co1TinnLJav
zGNrvVpMhtnI3hbAfw2NjtTmvRFnrCYAb5xnKfvqHGGvOLrwXczNCLvqRLH8T6B0i4n01VkeX5pt
EkuJzn/Po1GXHE98nSzg7p3Fo4/lfMyeGgZchucLxzx7o3GpzPjZgLsZwEPHSFyMYO4U9GIAL35c
wZa5LhGTp8zyuAyOTz3Xij2XcpjE44BkM5uD9RUAL5ojrHLmXMpUTIVjyQsxN+n8pgU4KFMSXXjZ
LDemCOD5w4Pl64+l+U+wLJLypmOJBXA4S1MUrTkszudsyu2Vw4Pl7wO4YWh0pCJRmzXi/M5lDjw4
16p22gJ3aHTEDg+W7xAQnvEIPvplzB5Ky4bB5ivPmQJwW5x0mOf6zPBg+W65vvbYLcmqcB5mTxGf
LLlOPP5jyQSAP0Rr1UkIx1V4FWZPjS+FY9B9e3iwvANpFcSl82jcb2FhNYCnlcaNl+ObAbxhgcfv
AXDHAojJ52Fu3u02uDTvQuRe0RqzJR3WAnjq8GD57nnKek60XLjA48bQxm0eGh3h4cHybXCkpbki
MUvhYrp2ASbmVgDfPl6hsJNp42JodGQSjpFVX+BHbsYxSkGElPPMORw7A2Dz0OjItgVe39Q810di
jvSdjhbtbLbn0OjIEQAfAPCTY9imx8LMtGjn+4/nj1AneRDvWKDNWodL8U4c47heuErV2aSGBXB3
2+QGzB02u/IRmjmnvAyNjvwUwNvh4uThozjFGFyM95+O90p0soF7HxbG8NorID+WXArgSfMM6o2P
8Po2z6M5igB+6VGWYc/X/2w+ITz20vV5zzE0OnIXXCebd8CliBcSGYgE7G8B8Fcnwmn1TvIMN8OD
5X+CY4z58xz6EIjuPYaZQBJJuH6Owb5DzJNH6kR+SGxjmsP8mG9J3gbHc7WzvPeTR7lCFfHYAvvT
cJUj8/3uEbkvXxVF8Hy4FPxaAIuQlrnvgOMwfBuOPzJxoqoiCCdZFtA5EVhg98RjnIsfZXfIR33O
X/T1LHCs8IsYy3m+lzKT71GPa0c60pGOdKQjHelIRzrSkY50pCMd6UhHOtKRjnTk8S3UGYKOPBaR
quc+KHV46MD+E5aI8DIXkIOr4rwIjrd6B4CDx5MsIe2RngzH2pqY57gyXIn0UwA89bHmwuW3FuF6
ytpf0G/Jwe0dMX66ZJKGB8sb4Squ/+bR7JYjGbWXAfhtWPt2OBroY72mM+B2T/rAfFtaeXJwNxy5
+GVwvIECHBHkT4cHy9+V5xpaN2BML4AwZsJnvrBXNPjk0OgIDy9bTrC2AKI6mLsBqKHRkfamcmcA
+ASAa4YHy3cB8KFUE9b2A2gMjY7MDJeXebJN1DMBvAdAODxYjs/bBaAuBZgFue4JSGv7odGRppBg
egFEQ6Mj0zLYr5XBed7wYHmfHG/h0pjxcxvv2yU9ehWImkMjB1i0TC+AytDoSEx7fBVcO6JLhwfL
R+AI2SZzjpyMTwNAfP25+Jjh8jIN5l4AtfaJKb8hB6XqsLZXXp4UHm3LuGcA1QsgglIVWFuQ87K8
1wdH8u6D69n2D5nP9QAJ7XQ2YHULbiaFyxEXru6T/dFivm6XTGIjr3fL39FweRmBuQDH+ssDyEHr
iaH9+1i+/2oAH2/DFgBMxb+R5I3Xy418J4i+LwP4DqQbtJ0LR7LwATwVjqjxKTi+agGOef9sOd+t
AK4HUQjm98NtLHIFHGv+63CN6iL53nPh9vN6k1zYs+U7LhEAfgRuP4TPwxGZbwXw+wB+A66n68UA
/lpu0lvlmB/IwO6EK+a7RlYRgiNKPwxHvXsaXB+C98BVqhblRj4omvPw0OjIl6Ujy9Uyyf4VrlvL
tXCdd8bk2rbJOZ8j3/ERuLKkzUOjI/8hv/UaOJ7w9aIk7pLf+8+iLH4HjsQyKWP07cyNWya/eULG
EnDNqON95DwAnwXwXzLOvwxHjKnLeGwA8Fcyad4k3zsNx3x7hUy6MRmrIRmrHwC4Pgvg4cHyi+V4
wJFqPgXXTuD1cO32r5HvXwbXjOVOGY83y98/gev4GME1DblLvq8fwI/gejecAeCbcM0Ot8Ix1a6S
7/whgE8OjY5UlcyyV8P1Zht5LAAABqlJREFU0bpxaORANDQ6clgGOA9XLLcObu+rQG7QDBxZuCxf
8DoZyE+K1n4NmEtwNLcNcDtM3i6TYy7a4SoAvwdHFv9rGYA/guPR/hBuQ7mvyOu/Jtf8kMzkv8pc
WwjgtwSsa+B6YX1NburvC8h/CNfG6Xq4yoohAU6fAP4ypK37SSbuFQKUj8P1zP0buL6674fr3nKb
gOEzMjmubvutl8r3lOA4w++S756Qm9kHtyfEjwH89fBgOdsTuEdAcbaM5VbRklfLZx+AI4EPyHe8
C65m7tNwZf7Xyji9EK7E5wa4nT0vFpBpuPqxV8tnPgHXmvV1cSul4cHyYri2TLfJuL1IxqQsz7sE
YL8s3/0ZuU8fkM98Uu7F6wRXr5fnXxWF9lbBS0LegavUfp0A+pMyad40PFimmEvah6PLsadkxg7I
zbsHjiB8C4C/E4A8Ha7i9Udw3NotctFPF018BK6c/HY4el8Vs7dljwFyH4BvDo2O/FDAtlau4QHR
SrfAUQlnBKx/I8vSMnl+swx8XJ7TkKXrQgHJtXC7NW6Ta7ldNIoF8CMQXSugtjiaGhmfZwOADw6N
jtws2vpv4cqQtsu1/ihjr7efI/7byCT7SwHl+QKGg0ib+V02y/34N1l1viTn+qRcx+dl6V8Pt13T
dwF8BkTfk1ViXFayF8n5PyOrzafkmj1RQHfClSxtg+MuXyaAhBx3CK6DpoLr7HgnWisqrIzpfwoY
bxXz4IsyWW6QyReIQvq3odGRG+Dq3T4DVysYV5X0yiT8X7me+2VSPx9IieQPAtjQtufYWjlJvMFe
Dek+DVUBblE04JNktr5G1H7cZypE2lExks/PF8mYRFpg15zlhnPmuCPiOMa/oS72Tw1puc0eAH8m
N+YPAfwBWjfbsJn/DwyNHDDynNBaNBjvHRzvZ+uKLbVuCmCnM9eXPWeWY5xv+z3xTkOBPK6W8XuV
KIltbZO6nvmNkTwqmbEyojkDub7m0MgBztwryL2qZZp7VDP3tARXr/dquBZL8X0MM8B9L1x711+R
lWbTLBNzKvP7K3I/4r9n5BqVHFsRezqSz/lIucZK/r5Iruc18trtEIeJZeadB+DPhwfLTx0eLL9I
LvLHSLsrXgLg9cOD5U1idyyVyMOtcsJvy2NV22Adr5BbfN4xGZy3SPPl18qyDLG/3gjXxv/34Dbc
O0eAVoIreJytQ/ceAE8bHizHG55cLQP9M1mZfn14sHw2jHmr2LPL5abk4NqRFgV4Vw4Pls8ZHiw/
DbN3xoGM734B0OfEJDobR3dJXMg4hnLPXgjXu+si+f0DAvRb5fUXDw+Wnyz3sU9Af5N8xw2Z+9jM
ALsgy/k4gN8W5XEFHhmpPfsbCgDeMDxYfsrwYPnZYgrdn1n5p2QCB2Lz3ij271hW4/5UbJ+nidr+
sCz7fyQgJFkWLhFj+w2yzG2VZWqLLA1fkxt4Y0bbRpnZWEFr55N42TdyfCWjVUN5j2UAq5llaSZz
nu1iR70IwL/LcnOPDPiorCZfkCXyftEYPxAQflhmdDXW0hIe+7RMhv+QSMEd8v6E2M9PlvNdB+Bf
BHxxR8S/kwjI+5FutP0O+b5qRvMY+b4pAL8JV8N2qzgtX0brVrLZcUL7OTLvN+Umf09Mp8/IdT8k
4/lV0VgfFafwiEywUCbNw/Kbvy7A+Z84HDo0OjIjy/Z1goUV8tsa8t2xhs0Wl9ba/q7LayzPd8q1
/Ivcxw9ncBOKP7EbrmXW12X8/2todIRbt8ZctlzB2mUApmVAIcb5r4nH/OsxqOSHZMMk/fIDk5DX
cHmZD6IoDkwPl5d5AOzQyAELAMPLVxCs9UjriI0hENTQgQMu4rBsmQJDATAgIjCroZEDLpQCaBCZ
bMB7uLwsB+ZeaH0I1moALEt/HC8uktaHrnQhFyTnAQwICgzEx8tnAgCLoNRhABbMyJzPB9AHosmh
kQPNzDXE57RDIwfscHlZAOZ+AEegFIMZ0NrAGA9KRRL+yQby+0E0PTRyoKWyWM7rAYiGRg64UCNz
+reMI7SKhvbt45tXriIOw0UA6iCqtnx2+QqCMYtBVBHQKQBmaORA/Lk+AdbkbPFoCU8uhivTaQyv
WKlgjIJSBtZqEHjogIzTsuWejJvc0+VOOzuM3Sq4+qFo3/Gh0REeXrGSsuMjwYMuAB6Umojv+TGX
HwHuW8Xof8sCKm070pFjYWqlOPS/OjQ68t3HlDmbR1iWLfP/x0DDk0lGwYgCX6AjJE8o7eAQU+oy
0vJkklEwokpcRuiIwR9yp9wBBiwyY5u0u3MAAAAASUVORK5CYII=

---=Part.1e69.9986927cd8889097.19e93441d1c.570d6dadc58ac7ee=---

---=Part.1221c.89a0c9d2a71c5e86.19e9343b4ee.d8bd75ef67866f83=---



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 15:35:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 15:35:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328196.1592840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVA6W-0002Gy-3Q; Thu, 04 Jun 2026 15:35:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328196.1592840; Thu, 04 Jun 2026 15: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 1wVA6W-0002Go-0d; Thu, 04 Jun 2026 15:35:32 +0000
Received: by outflank-mailman (input) for mailman id 1328196;
 Thu, 04 Jun 2026 15:35:30 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wVA6U-0002Ga-NN
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 15:35:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVA6U-00Fh6H-44
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 17:35:30 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a219b27-bab6-0a2a0a5309dd-0a2a4509d596-48
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:35:30 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a219b41-2497-0a2a45090019-d1558032c430-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:35:30 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-490b09e4cccso7251735e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 08:35:30 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490bc4082c3sm76178275e9.13.2026.06.04.08.35.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Jun 2026 08:35: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780587329; x=1781192129; 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=vAFgSdHqn9nMXN9IuMgQEpnnNZ0L/N0eRJ75D9QFA1Y=;
        b=OKXCYBHEyipVPGrv1QAWzF+qnO9iRL5zNHQlUih0WpK/NYwif8tphFq+WTXIot9WLt
         1JgWcn6S+4qY9yk0XQupZEzTQy8Vibnqyhy3Wp6Eeny/xAGarhGnADL5LpsrNQKsFrCG
         WfCx3fv1D76FqpO/bQ/Hfoq37P/euN5wwlF1Y0gprR0OgVQU8mdSHyqo+7beCK/5Mk5Q
         ilktkI3ZvNBVb9hocisXLAys7JM+9tCbeQPut2w2dUa/7Ga3pRBM1kXagyOGWF3qjpzs
         hV+Wt/icSve0EYJHtAFe2yna4gNm9OyKhtLKXxPrOuh1bCjizLsfzgPAp5OaTzuNFe2q
         U4Xg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780587329; x=1781192129;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=vAFgSdHqn9nMXN9IuMgQEpnnNZ0L/N0eRJ75D9QFA1Y=;
        b=mRMCOArPiTzi6TWaKYAxxq7bzrzOAFLgV9n5D//YexrPy69nvyFdJM4aaTM+C0vGCQ
         MKRpXYSPdz2NA8RFGSyNf24O0k+J/otBMjgAefSMI9tuUy7QyjiDi9kayxLXYj8IwvlW
         luyKBn4grL6nuY9iKL7qu9Uy0sPtX+foHqetY44bO7Pxtj/kODiuplwGqbVgj5Uv0NUz
         Bn4gBMltvX9I60Oe6DCjHL4kTDbtBYk3Zzr6tl5Oyf7M/Zv7cIcfdoPY5AcOcphcUVe/
         wBYJKflo6BFiupm8vio345hXuh5/u4dyNFfwtHXKKa9PONLxuKALTepW+y6CHgRU3HTy
         Uc3w==
X-Forwarded-Encrypted: i=1; AFNElJ8RETbw2HmidUn+YgkIIrinEUf3k/uQtyFnAL5hkRBdOZGe6T9D3TqJNkINkBCI5rlMNCMmw16hS+U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwuFSpWtqU5XYk4nTSnu1ynPLrxit2AnstUu1fy63Jeo1Ej57AN
	yPn5/i6WXQ9sLIJdAOFoxlQ7cU29x0NaBWtAQVMBXNXsn9tqYamjLd/Q
X-Gm-Gg: Acq92OFnDYb4ggnhYGx/gBo6rt1aTQtRxIlpFhtJK/viNu7mQqYvJ8qvNf1tCvHknZ5
	A5qAnFd3G9LwWg9/6hPdQMZJCxGqxM5oh7SLgvB73QXfMLu3WTCBZcBONKIe1m0kfJCl/P9HWzR
	Nx1I9Kn/SPtVD6ozQbqVjthN9q2HUONNs6YAyocQTo1Cczen0DMIBbpQ08jV76Usu71dx0o/W9H
	h19lCyAQf9o7uCq+de3nF7r5z6aaDg87T5jUJ8h92Hi0JbGV+3nkzZjvl2wKUvdTzMODsfSn+Ap
	dsgdYvBO7MWfsWtIcKO4s2UTlYZzBVKwA14hGsSoNkB5nyD13gH9kAfh0LsDtluyQnBAmLjKe17
	VyvXx9ZcqReppYbyObrC22yG4AeHIXU6zF8oIlmmP9xCtOqk+rUJ96E8tK3ZLWA9s7By9CYnLfY
	gsw0gUD/iycQNJ23uAHcWS88kzhLbjVk2z1h9suFj2Ez6YeqYOj2MODf649OB4pX6p9Up8Ca9+K
	iOdhZKHS+BfOmniRVUqMrOKlUI=
X-Received: by 2002:a05:600c:348b:b0:490:be9e:fd07 with SMTP id 5b1f17b1804b1-490be9eff47mr48596805e9.10.1780587329226;
        Thu, 04 Jun 2026 08:35:29 -0700 (PDT)
Message-ID: <60ad843e-3fc0-4f99-bbff-0a2f84679274@gmail.com>
Date: Thu, 4 Jun 2026 17:35:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 19/26] xen/riscv: implement IRQ routing for device
 passthrough
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <ed5218e94790ff8de36af12852605454606a6d80.1778250616.git.oleksii.kurochko@gmail.com>
 <1941ee36-cbfd-4d7f-a15b-e74843371f3b@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <1941ee36-cbfd-4d7f-a15b-e74843371f3b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1780587330-8A589A53-B68258A8/10/73395122804
X-purgate-type: spam
X-purgate-size: 13601



On 6/3/26 6:01 PM, Jan Beulich wrote:
> On 08.05.2026 16:43, Oleksii Kurochko wrote:
>> --- /dev/null
>> +++ b/xen/arch/riscv/device.c
>> @@ -0,0 +1,108 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +
>> +#include <xen/device_tree.h>
>> +#include <xen/errno.h>
>> +#include <xen/iocap.h>
>> +#include <xen/rangeset.h>
>> +#include <xen/sched.h>
>> +
>> +#include <asm/intc.h>
>> +
>> +int map_irq_to_domain(struct domain *d, unsigned int irq,
>> +                      bool need_mapping, const char *devname)
>> +{
>> +    int res;
>> +
>> +    res = irq_permit_access(d, irq);
>> +    if ( res )
>> +    {
>> +        printk(XENLOG_ERR "Unable to permit to %pd access to IRQ %u\n", d, irq);
> 
> Nit: Drop the first "to"?

Sure, I will drop that.

> 
>> +        return res;
>> +    }
>> +
>> +    if ( need_mapping )
>> +    {
>> +        /*
>> +         * Checking the return of vintc_reserve_virq is not
>> +         * necessary. It should not fail except when we try to map
>> +         * the IRQ twice. This can legitimately happen if the IRQ is shared.
>> +         */
>> +        vintc_reserve_virq(d, irq);
>> +
>> +        res = route_irq_to_guest(d, irq, irq, devname);
>> +        if ( res < 0 )
>> +        {
>> +            printk(XENLOG_ERR "Unable to map IRQ%u to %pd\n", irq, d);
>> +            return res;
>> +        }
>> +    }
>> +
>> +    dt_dprintk("  - IRQ: %u\n", irq);
>> +
>> +    return 0;
>> +}
>> +
>> +/*
>> + * map_device_irqs_to_domain retrieves the interrupts configuration from
>> + * a device tree node and maps those interrupts to the target domain.
>> + *
>> + * Returns:
>> + *   < 0 error
>> + *   0   success
>> + */
>> +int map_device_irqs_to_domain(struct domain *d,
>> +                              struct dt_device_node *dev,
>> +                              bool need_mapping,
>> +                              struct rangeset *irq_ranges)
>> +{
>> +    unsigned int i, nirq;
>> +    int res, irq;
>> +    struct dt_raw_irq rirq;
> 
> Move the latter three variables to the loop's scope and ...
> 
>> +    nirq = dt_number_of_irq(dev);
> 
> ... make this the variable's initializer?

It makes sense. I will do that.

> 
>> +    /* Give permission and map IRQs */
>> +    for ( i = 0; i < nirq; i++ )
>> +    {
>> +        res = dt_device_get_raw_irq(dev, i, &rirq);
>> +        if ( res )
>> +        {
>> +            printk(XENLOG_ERR "Unable to retrieve irq %u for %s\n",
>> +                   i, dt_node_full_name(dev));
>> +            return res;
>> +        }
>> +
>> +        /*
>> +         * Don't map IRQ that have no physical meaning
>> +         * ie: IRQ whose controller is not APLIC/IMSIC/PLIC.
>> +         */
>> +        if ( rirq.controller != dt_interrupt_controller )
>> +        {
>> +            dt_dprintk("irq %u not connected to primary controller."
>> +                       "Connected to %s\n", i,
>> +                       dt_node_full_name(rirq.controller));
>> +            continue;
>> +        }
>> +
>> +        irq = platform_get_irq(dev, i);
>> +        if ( irq < 0 )
>> +        {
>> +            printk("Unable to get irq %u for %s\n", i, dt_node_full_name(dev));
>> +            return irq;
>> +        }
>> +
>> +        res = map_irq_to_domain(d, irq, need_mapping, dt_node_name(dev));
>> +        if ( res )
>> +            return res;
>> +
>> +
>> +        /*
>> +         * At the moment there is only one user of map_device_irqs_to_domain()
>> +         * for RISC-V which calls it irq_ranges == NULL.
>> +         */
>> +        if ( irq_ranges )
>> +            return -EOPNOTSUPP;
> 
> Why is this checked last, and inside the loop (when it's loop invariant)?

Just to show the place where irq_ranges will be handled. But currently I 
agree it would be better just move outside the loop.

> 
>> --- a/xen/arch/riscv/include/asm/intc.h
>> +++ b/xen/arch/riscv/include/asm/intc.h
>> @@ -13,8 +13,11 @@ enum intc_version {
>>   };
>>   
>>   struct cpu_user_regs;
>> +struct domain;
> 
> I can spot why this is needed, but ...
> 
>> +struct dt_device_node;
>>   struct irq_desc;
>>   struct kernel_info;
>> +struct rangeset;
>>   struct vcpu;
> 
> ... I'm at a loss to explain the need for these two additions.

Rudements from previous version of this patch series. I will drop them.
The same below ...

> 
>> --- a/xen/arch/riscv/include/asm/setup.h
>> +++ b/xen/arch/riscv/include/asm/setup.h
>> @@ -5,6 +5,10 @@
>>   
>>   #include <xen/types.h>
>>   
>> +struct domain;
>> +struct dt_device_node;
>> +struct rangeset;
> 
> Same here - why would they be needed when you make no other changes
> to this header?

... here.

> 
>> --- a/xen/arch/riscv/intc.c
>> +++ b/xen/arch/riscv/intc.c
>> @@ -7,7 +7,9 @@
>>   #include <xen/init.h>
>>   #include <xen/irq.h>
>>   #include <xen/lib.h>
>> +#include <xen/sched.h>
>>   #include <xen/spinlock.h>
>> +#include <xen/xvmalloc.h>
>>   
>>   #include <asm/aia.h>
>>   #include <asm/intc.h>
>> @@ -86,6 +88,22 @@ unsigned int intc_irq_nums(void)
>>       return intc_hw_ops->irq_nums();
>>   }
>>   
>> +int intc_route_irq_to_guest(struct irq_desc *desc,
>> +                            unsigned int priority)
>> +{
>> +    ASSERT(spin_is_locked(&desc->lock));
>> +
>> +    ASSERT(intc_hw_ops->guest_irq_type);
>> +
>> +    desc->handler = intc_hw_ops->guest_irq_type;
>> +    set_bit(_IRQ_GUEST, &desc->status);
> 
> Is desc->status accessed anywhere without holding desc->lock? If not,
> __set_bit() or simply |= ?

In release_irq() it could be used without lock:
...
     /* Wait to make sure it's not being used on another CPU */
     do { smp_mb(); } while ( test_bit(_IRQ_INPROGRESS, &desc->status) );

> 
>> @@ -112,6 +130,14 @@ int domain_vintc_init(struct domain *d)
>>           break;
>>       }
>>   
>> +    if ( !ret )
>> +    {
>> +        d->arch.vintc->allocated_irqs =
>> +            xvzalloc_array(unsigned long, BITS_TO_LONGS(d->arch.vintc->irq_nums));
>> +        if ( !d->arch.vintc->allocated_irqs )
>> +            ret = -ENOMEM;
>> +    }
>> +
>>       return ret;
>>   }
>>   
>> @@ -129,4 +155,14 @@ void domain_vintc_deinit(struct domain *d)
>>           printk("vintc (ver:%d) isn't implemented\n", ver);
>>           break;
>>       }
>> +
>> +    xvfree(d->arch.vintc->allocated_irqs);
>> +}
> 
> XVFREE()
> 
>> +bool vintc_reserve_virq(const struct domain *d, unsigned int virq)
>> +{
>> +    if ( virq >= d->arch.vintc->irq_nums )
>> +        return false;
>> +
>> +    return !test_and_set_bit(virq, d->arch.vintc->allocated_irqs);
>>   }
> 
> As to function / field naming: You don't look to be allocating IRQs. So
> is there a reason the field name gives the impression of allocation?
> Simply s/allocated/used/ or some such?

I am okay to rename to 'used' instead of 'allocated'.

> 
>> @@ -221,3 +239,160 @@ void do_IRQ(struct cpu_user_regs *regs, unsigned int irq)
>>       spin_unlock(&desc->lock);
>>       irq_exit();
>>   }
>> +
>> +static inline struct irq_guest *irq_get_guest_info(struct irq_desc *desc)
>> +{
>> +    ASSERT(spin_is_locked(&desc->lock));
>> +    ASSERT(test_bit(_IRQ_GUEST, &desc->status));
>> +    ASSERT(desc->action != NULL);
>> +
>> +    return desc->action->dev_id;
>> +}
>> +
>> +static inline struct domain *irq_get_domain(struct irq_desc *desc)
>> +{
>> +    return irq_get_guest_info(desc)->d;
>> +}
>> +
>> +void release_irq(unsigned int irq, const void *dev_id)
>> +{
>> +    struct irq_desc *desc;
>> +    unsigned long flags;
>> +    struct irqaction *action, **action_ptr;
>> +
>> +    desc = irq_to_desc(irq);
>> +
>> +    spin_lock_irqsave(&desc->lock,flags);
>> +
>> +    action_ptr = &desc->action;
>> +#ifdef CONFIG_IRQ_HAS_MULTIPLE_ACTION
>> +    for ( ;; )
>> +    {
>> +        action = *action_ptr;
>> +        if ( !action )
>> +        {
>> +            printk(XENLOG_WARNING "Trying to free already-free IRQ %u\n", irq);
>> +            spin_unlock_irqrestore(&desc->lock, flags);
>> +            return;
>> +        }
>> +
>> +        if ( action->dev_id == dev_id )
>> +            break;
>> +
>> +        action_ptr = &action->next;
>> +    }
>> +
>> +    /* Found it - remove it from the action list */
>> +    *action_ptr = action->next;
>> +#else
>> +    action = *action_ptr;

It is needed to add *action_ptr = NULL here to deal with ...

>> +#endif
>> +
>> +    /* If this was the last action, shut down the IRQ */
>> +    if ( !desc->action )
>> +    {
>> +        desc->handler->shutdown(desc);
>> +        clear_bit(_IRQ_GUEST, &desc->status);
>> +    }
>> +
>> +    spin_unlock_irqrestore(&desc->lock,flags);
>> +
>> +    /* Wait to make sure it's not being used on another CPU */
>> +    do { smp_mb(); } while ( test_bit(_IRQ_INPROGRESS, &desc->status) );
>> +
>> +    if ( action->free_on_release )
>> +        xvfree(action);
> 
> When !IRQ_HAS_MULTIPLE_ACTION desc->action becomes a dangling pointer here.

... it could be xvfree here as action is local variable.

> 
>> +/* Route an IRQ to a specific guest */
>> +int route_irq_to_guest(struct domain *d, unsigned int virq,
>> +                       unsigned int irq, const char *devname)
>> +{
>> +    struct irqaction *action;
>> +    struct irq_guest *info;
>> +    struct irq_desc *desc;
>> +    unsigned long flags;
>> +    int retval = 0;
>> +
>> +    desc = irq_to_desc(irq);
>> +
>> +    action = xvmalloc(struct irqaction);
>> +    if ( !action )
>> +        return -ENOMEM;
> 
> This is freed by release_irq(), but ...
> 
>> +    info = xvmalloc(struct irq_guest);
>> +    if ( !info )
> 
> ... where is the (non-error-path) freeing of this?
> 

Agree it should be freed.

I am thing about just to update release_irq():

if ( action->free_on_release )
{
     xvfree(action->dev_id);
     xvfree(action);
}

But I think it is conceptually is incorrect as owner of ->dev_id in this 
case is guest so it would be better if guest will do that. So I think it 
would be better to intoduce now release_guest_irq():

int release_guest_irq(struct domain *d, unsigned int virq)
{
     struct irq_desc *desc;
     struct irq_guest *info;
     unsigned long flags;

     desc = irq_to_desc(virq);

     spin_lock_irqsave(&desc->lock, flags);

     if ( !test_bit(_IRQ_GUEST, &desc->status) )
         goto unlock_err;

     info = irq_get_guest_info(desc);
     if ( d != info->d )
         goto unlock_err;

     spin_unlock_irqrestore(&desc->lock, flags);

     release_irq(desc->irq, info);
     xvfree(info);

     return 0;

  unlock_err:
     spin_unlock_irqrestore(&desc->lock, flags);
     return -EINVAL;
}

and then call it in domain_vintc_deinit() for all virqs of a domain.

>> +    {
>> +        xvfree(action);
>> +        return -ENOMEM;
>> +    }
>> +
>> +    info->d = d;
>> +    info->virq = virq;
>> +
>> +    action->dev_id = info;
>> +    action->name = devname;
>> +    action->free_on_release = 1;
> 
> true
> 
>> +    spin_lock_irqsave(&desc->lock, flags);
>> +
>> +    /*
>> +     * If the IRQ is already used by someone
>> +     *  - If it's the same domain -> Xen doesn't need to update the IRQ desc.
>> +     *  For safety check if we are not trying to assign the IRQ to a
>> +     *  different vIRQ.
>> +     *  - Otherwise -> For now, don't allow the IRQ to be shared between
>> +     *  Xen and domains.
>> +     */
>> +    if ( desc->action != NULL )
>> +    {
>> +        if ( test_bit(_IRQ_GUEST, &desc->status) )
>> +        {
>> +            struct domain *ad = irq_get_domain(desc);
>> +
>> +            if ( d != ad )
>> +            {
>> +                printk(XENLOG_G_ERR "IRQ %u is already used by domain %u\n",
>> +                       irq, ad->domain_id);
>> +                retval = -EBUSY;
>> +            }
>> +            else if ( irq_get_guest_info(desc)->virq != virq )
>> +            {
>> +                printk(XENLOG_G_ERR
>> +                       "d%u: IRQ %u is already assigned to vIRQ %u\n",
>> +                       d->domain_id, irq, irq_get_guest_info(desc)->virq);
> 
> Please can you get used to using %pd?

I'll do my best. Thanks for consistently pointing that out. I appreciate it.


> 
>> +                retval = -EBUSY;
>> +            }
>> +        }
>> +        else
>> +        {
>> +            printk(XENLOG_G_ERR "IRQ %u is already used by Xen\n", irq);
>> +            retval = -EBUSY;
>> +        }
>> +        goto out;
>> +    }
>> +
>> +    retval = _setup_irq(desc, 0, action);
>> +    if ( retval )
>> +        goto out;
>> +
>> +    retval = intc_route_irq_to_guest(desc, IRQ_NO_PRIORITY);
>> +
>> +    spin_unlock_irqrestore(&desc->lock, flags);
>> +
>> +    if ( retval )
>> +    {
>> +        release_irq(desc->irq, info);
> 
> Is de-referencing desc legitimate / race free with desc->lock not held?

desc itself cannot be freed, it's a pointer into the statically 
allocated array irq_desc[NR_IRQS] (riscv/irq.c:29). The descriptor 
object lives for the lifetime of the system.

desc->irq is write-once, it's set during init_irq_data() at boot 
(riscv/irq.c:172) and never modified again. It's effectively an 
immutable field after initialization, so reading it without the lock 
held is safe.

Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 17:37:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 17:37:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328323.1592849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVC0b-0006tq-LU; Thu, 04 Jun 2026 17:37:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328323.1592849; Thu, 04 Jun 2026 17: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 1wVC0b-0006tj-IV; Thu, 04 Jun 2026 17:37:33 +0000
Received: by outflank-mailman (input) for mailman id 1328323;
 Thu, 04 Jun 2026 17:37:32 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wVC0a-0006td-3e
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 17:37:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVC0Z-00AsAf-GU
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 19:37:31 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a21b7ce-2eae-0a2a0a5409dd-0a2a4507e370-26
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 19:37:31 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a21b7da-229c-0a2a45070019-d155802ad877-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 19:37:30 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-490b9318997so7531015e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 10:37:30 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70d:308e:3155:8a4b:4216:92be?
 (p200300cab70d308e31558a4b421692be.dip0.t-ipconnect.de.
 [2003:ca:b70d:308e:3155:8a4b:4216:92be])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f35eae5sm18347851f8f.33.2026.06.04.10.37.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Jun 2026 10:37: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780594650; x=1781199450; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=MdP50khVa6wThE2mHxlZaqZqL9TAV0Eh8bSJD0Kp4JQ=;
        b=VVmaNpgeP+zBNrXrd3GXOd5uNOzGz+VqQphQ5KCZQVo5jhdIHfbd70mDgp2cKjiTc7
         /kkC7q9fLbmsG3+isyU5HUmSdV62x77F6Y8SHq1g77njARRMbQkJueXBnUygR4qKImn5
         irnQbqh6sU3aApoFak0e+NqaoaeFnE3t3blRr5Cb4Dr+D517ezyG6lITXaofx24ZhOPO
         Lvl/zpSPpiqHQSyVB9cJfrhGAIzQkaIUaVaG3zMKrO3IDA5MlAO//i+THVa8nt+Psvfr
         2iomklw89YAfarDxP0A/j5/tW2pZE7XZuGtcqX52AQU3J/Mlac0ICRsO3pMs1g3MAK50
         c9Ng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780594650; x=1781199450;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MdP50khVa6wThE2mHxlZaqZqL9TAV0Eh8bSJD0Kp4JQ=;
        b=mDC763IEzUJFCVih+58EDnCb4seUbHZjmQmRU9UaJKwYt8FuiSixC1Ip2R8MZt8P9I
         JxouHiyp6a/9LSL8YPgfebXzQNCQMyv4vx0P1RnOnI+h8LEUKzIfVPKJE7hW5U0HRoCu
         psslXhl869mA0p00w+CU2OoBQo7PbCnEFDTll8dOfBe6y2TEU3/6YOw20qZ7Mi5GLnfF
         yx+X5Ai8KjbkgXJomzW+cJ8c7pwnRe9KoCbLo4VRLO5JRmh+vQt7L76Gr+he2OaOuEdw
         CiWFXkrQCBud3OWlojeIe/1EwkgAT2Ja6tQMB/O/ZmOUV641WZiRWdMT0wx2vCek7hyG
         apNg==
X-Forwarded-Encrypted: i=1; AFNElJ/p3GcugAT+c7Ahi1LPhm1aJUeLjvv0Ai3FtUQfrcfYbjw1tl0XNVt+5/6P6BjYhf2OZY9Ka+4ybS0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxoxZnpHin6CpY4MEGA51ixZA69BDhNnXAXtGArcB3YHvD3YOz1
	6pk3jbfusbZeGYC6fWfdALjv1Q87PzmDRwCWP/x3zakwxROTuqXtEyweJhmiVq6XCw==
X-Gm-Gg: Acq92OH+em/TKPwncttVteo31sQx/UawrOPiKzdD7EcJMMxj1aZrcVfPTko7Kv6R2cS
	PSZYjy/CzooPLHZvQyRupobWxihnWv3g4rbNE5rOWmSGYL6Dwvzc73UPOlBuJZa/M474CyiKk19
	SKXFYzagFuXHmcthWR/xsYPtD43WloCIWCo68K7Ueu54jRLx4wWA+c2qrSI5RMHRGX3NmjIGJcf
	5s1W/ydLJbEsWmv/jDpPFrYu4sqjC38ixdsQ1DESBtAP4miHuRuaPSoU6qRkKu3+q9ve9/tXjrG
	2cufQFEXerzxwq+l4wKeOPBUn/d0l10trdEMOHOIydkhmT83hDtrlDi7oNomJtbwOT+0oh4KRiQ
	+bT45po5zKnS56VN9rQa94V9dlwlm6hJMhNFD3OY77TT5noTMpHnvH5YjdwtlOkKs9fyciAfSE1
	sVxlKvg04ct+Ajv0ZJgBR1bKoiv03qGmxlmYTqitX+TeRUlubW4yVyKMifoo0gUKVY7nFvJ2S/M
	a0LpOpVjNWjUw5qRdgwlUZI6u1h47+IS7kOUu2f9oFabpOrlZduh2PSOEDuEg1t9Aj5+pM=
X-Received: by 2002:a05:600c:458b:b0:490:9804:afdc with SMTP id 5b1f17b1804b1-490b5fda3c3mr160175635e9.23.1780594650203;
        Thu, 04 Jun 2026 10:37:30 -0700 (PDT)
Message-ID: <34ddb2d2-d3ec-4042-a57c-7095513c099c@suse.com>
Date: Thu, 4 Jun 2026 19:37:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 5/6] argo: introduce CONFIG_ARGO_DEBUG
To: dmukhin@ford.com
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 xen-devel@lists.xenproject.org
References: <20260603194131.1468654-1-dmukhin@ford.com>
 <20260603194131.1468654-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: <20260603194131.1468654-6-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ef75cf/1780594651-23F7EC48-A832AA0C/0/0
X-purgate-type: clean
X-purgate-size: 1039

On 03.06.2026 21:41, dmukhin@ford.com wrote:
> Add Kconfig knob to enable traces for Argo debugging.
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> ---
> Changes since v4:
> - fixed dependency on a new Kconfig knob on ARGO
> 
> Changes since v3:
> - dropped uneeded "If unsure, say N." from new Kconfig description
> ---
>  xen/common/Kconfig | 6 ++++++
>  xen/common/argo.c  | 3 +--
>  2 files changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/common/Kconfig b/xen/common/Kconfig
> index 5ff71480eebe..7676a78dca71 100644
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -491,6 +491,12 @@ config ARGO
>  
>  	  If unsure, say N.
>  
> +config ARGO_DEBUG
> +	bool "Argo: enable debug traces (UNSUPPORTED)" if ARGO

Why is the "if ARGO" still there? That's fully redundant with ...

> +	depends on ARGO

... this. I said the v4 issue could be fixed while committing. Now you've
posted another version (adding to overall mail volume) and an adjustment
still needs doing.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 18:20:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 18:20:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328354.1592858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVCgH-0004iQ-On; Thu, 04 Jun 2026 18:20:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328354.1592858; Thu, 04 Jun 2026 18: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 1wVCgH-0004iJ-It; Thu, 04 Jun 2026 18:20:37 +0000
Received: by outflank-mailman (input) for mailman id 1328354;
 Thu, 04 Jun 2026 18:20:35 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgg@ziepe.ca>) id 1wVCgF-0004iD-BU
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 18:20:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVCgE-002iDj-OM
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 20:20:34 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgg@ziepe.ca>)
 id 6a21c1e1-5cb7-0a2a0a5109dd-0a2a45048300-30
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 20:20:34 +0200
Received: from [209.85.222.177] (helo=mail-qk1-f177.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgg@ziepe.ca>)
 id 6a21c1f1-1dec-0a2a45040019-d155deb1ecc3-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 20:20:34 +0200
Received: by mail-qk1-f177.google.com with SMTP id
 af79cd13be357-91563382bcfso124984485a.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 11:20:34 -0700 (PDT)
Received: from ziepe.ca
 (crbknf0213w-47-54-130-67.pppoe-dynamic.high-speed.nl.bellaliant.net.
 [47.54.130.67]) by smtp.gmail.com with ESMTPSA id
 6a1803df08f44-8cecd051d61sm58430626d6.29.2026.06.04.11.20.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Jun 2026 11:20:32 -0700 (PDT)
Received: from jgg by wakko with local (Exim 4.97)
 (envelope-from <jgg@ziepe.ca>) id 1wVCgB-00000008erz-2jW4;
 Thu, 04 Jun 2026 15:20:31 -0300
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=ziepe.ca header.i="@ziepe.ca" header.h="In-Reply-To:Content-Disposition:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=ziepe.ca; s=google; t=1780597233; x=1781202033; 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=cznawapF5vO4PWrDdsZF/fc6qNY58JTcnmMkw1TddjY=;
        b=RIkbs3JlXWvNKahtggVwuLugifk325yJCv3HC09LzZA7G2nLFk4I/kxKm5npS+I+zn
         J+8SL686ba6b4NJGKao7HTyxFNpjCmK0xk3re6m/G31RzywpmTmJebtJarARZkG3jJi1
         jvQ7koo9WfUSfNwHV/6JL2UqTJlXU/OzhpnOfvEBROo0+4b2CZAABgSvum78WXc2D0R8
         +XdH6iQJcd3UivKroUbrhJOyHghxh8pXQbIoLtfLJy3X9kQJFtECG0ti94RnzZ1lxnEe
         E1GR8bNcQ4IH82HD8kdrDim6X+xGdXUy1GwY++aNint79PZQaEunH+TyHg+26CPW9dCB
         UqUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780597233; x=1781202033;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=cznawapF5vO4PWrDdsZF/fc6qNY58JTcnmMkw1TddjY=;
        b=QB9q2vObIsApwAdc3bsTswKZTnzquR/l6Rmx13blUifcBh/WJM5u+796eh06dzEXBO
         tfqvyOt9dLFF9O9x3F78pHkkQ6pN0xWEeQsHuTOkN922jyFdwciYK1qdEmQtwEeC0g9Q
         Qn99NvBtwDGecyco/Gy7QXi1jBV9xHCcYsDow5Q81/aqP6GKEtkwnU+EKG9besnKxh+8
         krbsu/wEtdG8rGmYtcXxnW5LD0Sc4RXnaLriHwsoVAtOBmvaXA1ET0qnUvbhC4bFnnnm
         02XElf66RKQAED4pnrK9ppKew4/JeYbUsUT5sKELY6uDqHec/mHXmfpYrr/cgU4Op15S
         PjCw==
X-Forwarded-Encrypted: i=1; AFNElJ9Yi8RUANcQOWn5Bx7b1+fcWSKpRhKsy/BVJ+euYYfK2Kb4jvMgsxf7zBIBpg9J7WFqyaGCaOeSRow=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyUlKP+TVu7DInCqTMmp8eKlj24EJEqvy2guCKg+2BzjH5LdnRY
	JDGjnzcmVpwZVT2/ksKOBpqDJbROO2+OO1skTWP5rpAQq/kkg4pIjwQV9Mw+fCmOYAY=
X-Gm-Gg: Acq92OE267bFDiILvD1VLrVImC0QxQTHQajG42feIxoFuEFoKJf3qJSjcWEYJDx2Mdw
	GQWUmhbsUPEx6y2XkcHHxAnJmVm+q8zLdNPs3NBt+vwc/s2yq1E+dLMhL77WYKS/nmda9Fk/bb9
	+jnukd9oocPZXcWtqxGHSX4iaO9kEZHFH+BiH81++eiJphH/FsHCAMB4Nyx40M1tYxnY3hBjETR
	uWXe1u/N8q09/jvoH6UJIWZgMI5sOBOA674DRSWAR38cLFSJkBb8soigVVfLKK7O8Zaf9ipamv3
	BuamvBbPSK8LWgsA6VwzG+9DYHQMosIXOM9WAzWt2dgz7Y+uACDAtiM+8LWknsZRqqpa8akhy1f
	v6+WlVpNSSNYDAgh0hp/3PzfhiuaIAFui2c0nyjfqOiH/OnAi1cI2NvF8WiEjGiMG/2HLOllLvh
	aR+TVQrBEO5KTW4qJPung1/jnADNert7YHf+RuGuBDJIpty+s3gPyNh+OgpVMKYeg5PJkk4Xw/J
	HRQgW6LYq54f0eX
X-Received: by 2002:a05:620a:a414:20b0:914:afc1:c66d with SMTP id af79cd13be357-915a9c75c96mr40356185a.11.1780597232897;
        Thu, 04 Jun 2026 11:20:32 -0700 (PDT)
Date: Thu, 4 Jun 2026 15:20:31 -0300
From: Jason Gunthorpe <jgg@ziepe.ca>
To: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Alex Williamson <alex@shazbot.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Ankit Agrawal <ankita@nvidia.com>,
	Leon Romanovsky <leon@kernel.org>, Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Keith Busch <kbusch@kernel.org>,
	Alexander Duyck <alexanderduyck@fb.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Dimitri Daskalakis <daskald@meta.com>,
	linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org
Subject: Re: [RFC 00/12] PCI: Add support for Scalable I/O Virtualization
Message-ID: <20260604182031.GB2487554@ziepe.ca>
References: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
X-purgate-ID: tlsNG-ebf023/1780597234-411763FF-FF99618F/0/0
X-purgate-type: clean
X-purgate-size: 1273

On Thu, Jun 04, 2026 at 08:01:41AM -0700, Dimitri Daskalakis wrote:
> With this patchset core enumarates the SIOV capability and can identify
> SIOV PFs. But there is no central mechanism to allocate/manage SIOV VFs.
> To support device pass through, devices will need to add a vfio-mdev
> driver with IOMMUFD support (or something similar).

There is an enormous amount of missing work to do something useful
with the SIOVr2 stuff. IIRC there is even supposed to be BIOS
components in this plan and there are some missing PCI SIG topics too
IIRC.

So, I'm not sure how much value there is in merging just the cap
discovery without a roadmap for the missing parts..

Also, I'm quite surprised to see this out of the blue, there is an OCP
workstream that was building out a standard that outlines how all the
different components have to act to successfully implement it.  What
is in PCI SIG was just some minor foundational adjustments without any
context on how to form them into a solution.

I think it is extremely premature to merge anything related to SIOV to
the kernel. Join the OCP work stream if you are interested. I think
the general feeling was there is not sufficient interest in the
industry to do this and it has gone quiet.

Jason


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 18:44:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 18:44:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328365.1592867 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVD3O-0000D7-Tt; Thu, 04 Jun 2026 18:44:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328365.1592867; Thu, 04 Jun 2026 18:44: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 1wVD3O-0000Cz-Qc; Thu, 04 Jun 2026 18:44:30 +0000
Received: by outflank-mailman (input) for mailman id 1328365;
 Thu, 04 Jun 2026 18:44:29 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wVD3M-0000Ct-Mw
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 18:44:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVD3L-002Ks0-M6
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 20:44:27 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a21c77a-5cb7-0a2a0a5109dd-0a2a4503d1a4-8
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 20:44:27 +0200
Received: from [52.101.53.65]
 (helo=BL0PR03CU003.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a21c789-672d-0a2a45030019-346535411f70-4
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 20:44:26 +0200
Received: from BL1PR13CA0250.namprd13.prod.outlook.com (2603:10b6:208:2ba::15)
 by DM4PR12MB9070.namprd12.prod.outlook.com (2603:10b6:8:bc::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.14; Thu, 4 Jun 2026
 18:44:22 +0000
Received: from BL02EPF0001A0FB.namprd03.prod.outlook.com
 (2603:10b6:208:2ba::4) by BL1PR13CA0250.outlook.office365.com
 (2603:10b6:208:2ba::15) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Thu, 4
 Jun 2026 18:44:22 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 BL02EPF0001A0FB.mail.protection.outlook.com (10.167.242.102) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Thu, 4 Jun 2026 18:44:21 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 4 Jun
 2026 13:44:21 -0500
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 4 Jun
 2026 13:44:21 -0500
Received: from fedora.mshome.net (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Thu, 4 Jun 2026 13:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=kVvT8ekMT9ibvOBKoz8nQ+PQcphqCKgronx00tfgrTduJN0a9qvhringc9RLDF2nf3lF0jaowSDDzFPnWztD+OrYyvPjg8Wz64Q/l+Ug0vna62QcJ1+DgUfc/umabb+o+q3NPSDe1OhjrSyuks8WBqcJ+3bCAAexSZT43haEEUR9iqU+082hnkpOuN1LqbGyJEt2TbyqlM3TBlaDdjL9PUILOCFVcUVxYAu77GKSv1Fh95VheTuGiwbPK0yE6MbBajzLQiZ+Y2R7dr/wla+KGl+vwRKUpEAskj5pYbqskqqB6gcGzpjDEJ1t2JjkakU61bbX2dpE4hP5sPH3sobeuQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=T05BAHbXJoUUxyLi9HwBzgDewcCQqsV6oDq9ZSW7PyM=;
 b=qDeUS6/5/+eyNMfBRluLh5Zms8N1O2VoKIYCHVIBmVE5wl58elzLz2PdXUx5rp5tDkcOqKSLj2c3QLYqKNDXf2QvtewpJulQ3aRvWd2uF8gJt2S/0dXnAerHEd1t7uhH3TM4w4Njih2HBDtpG9Y/0GHfgtJ+AijzabHzDxIhoS6mERVeh2s6tNCr2HXscUrYewXxc3F76OGWfwZ0/EX82J9V++F4+AFPYILLXnNjLFd37udoUsvhwZ1sBmNfl9BeMIxN/DAisjtSpPS4m9n0DE4ZLfdzid//L7KpjI/PbIl4r0WS0tSWFgqGZ0Rg7ET3RRNfRCuiY+evrrUHN+tcRw==
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=T05BAHbXJoUUxyLi9HwBzgDewcCQqsV6oDq9ZSW7PyM=;
 b=rROKI7EOhaHElHqj9wX0hoz5GGzMV9w0pVNqDPgNaWHtMw+KiGGbPCFH+8vUx7LwkmIWB67DZOyBn0wkIzDyjFFaJOtw/8Fhmo6nelWa8+7YDPmWETRig8eJZJywD1K8wSWe78QPWSMZYNqqUBRTHj74lWbA8ok7vq8fXKUJJwo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Christopher Clark <christopher.w.clark@gmail.com>, "Daniel P . Smith"
	<dpsmith@apertussolutions.com>, Jason Andryuk <jason.andryuk@amd.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>, Jan Beulich
	<jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [PATCH] MAINTAINERS: Add myself as an Argo reviewer
Date: Thu, 4 Jun 2026 14:44:13 -0400
Message-ID: <20260604184413.788910-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.54.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0001A0FB:EE_|DM4PR12MB9070:EE_
X-MS-Office365-Filtering-Correlation-Id: de6bda60-f8b1-4b5c-b6b0-08dec2694afd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|1800799024|36860700016|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	oowxnLxBqGkttMllmIbmsHUuz4PnlDnF3WJqMDt1TR8SpBiHi1RSymglbj6RIxKxLA6fKiE4VG0vnv9qjVS0+W8zQae0SJK5AVLM/kC37nu3bNRHiY/zgP44FnCtdAucQkdJoZuGQ3bG69b+1S1Hvo6JkCUeCJbCgHprvk+UGbMDg0MVe3+Yp/ol8uyJe3TpsZ7f5eAiRuQ1CTZFqnJrinZ8Uz663xB65QMsbDhLsn9TAiNcwS+rcLND9nKIMUw6ua6hJEi3loLQtnAMVYCxSkbE4jZVo5jOVZue0hLD7ZuiCoqxDiH30xhhW0wCk4+alQsFT8qyzagejJtbfLBLtKFyoavrH5UbpvJXY6wiMY29Fj/aPGkhkpBzaV9nRproDKjcyBzxg+MTAb2sk7Hfjyw6OXkk/YNL1A+mbTTihBLFbxU3mWElVOMtE1F730yNaAwWAK5E2272spYGtjZ6ptO6+Q5iWq00Ph2QsJ20CG+8if/zGr3fMJjFgHmubqW6emtPNPDcrGK+1a79mxl7/M0l9+8PAIK+MpYbYuHsvykJiDH41V5W4Cvlv4A07MVqFHha1TZefDFJdgABQoq0gYhaA3c2ZfLmrr4ROw5D3/bQXrAVxK/i5E4CimNQ4LV4R3uVddRjbiz/kojC4YZqwB3ytwbcj/BCAvMoT5YYawTw1RiNBpdO2KPpxuW2WXszo/Z0gc1kCW4fMMS6XqbP2260e6uQ7vz0uJzuigc1Drc=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(1800799024)(36860700016)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	AcazFXKaTZSTbUAWbwl9R420w4Jwhxp0sqi8pBNSXnX5DYXHbx6pckrQdTlAhfNEshsnNN92TMahbXvMwwmLiDW3dbwEkqp4iaBwIFidsG0X2ed1FVgtQznD20BGzUMC0QGo0ajHODJ8RPKmFTRziWR8R3lMtgolA6tieiCiuyQGPJ7Vmahi9GU70GRrVMSEhsgJaVL1XJerYEshR27QJR0X35CkjJn/N45LY+eRVl1GC30JI1G+52aRICNBIdIay6iNeegfMHgx4CD0tbcWU+4/YnSKlj7g8NZO5aRgmt8YcJy4ccBpLOHUQvAAyniE3LuzY4BYislY3WaCyCdHDTwKrhz7aZIcyQV/Q6Nv10b1KjLlnfo10Qqzjm598QWfvVQUkGumvL93IfVlX40P18OJFaRvSIDmUr0fBgVfkq+DhltJxMzdlEGZd5rJ057m
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 18:44:21.8250
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: de6bda60-f8b1-4b5c-b6b0-08dec2694afd
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0001A0FB.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB9070
X-purgate-ID: tlsNG-33051d/1780598667-4279C938-876F7E6A/0/0
X-purgate-type: clean
X-purgate-size: 551

I'd like to help with reviews of Argo.

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

diff --git a/MAINTAINERS b/MAINTAINERS
index 77f72e52f4..b3c33317d9 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -242,6 +242,7 @@ F:	xen/arch/x86/include/asm/hvm/svm/
 
 ARGO
 M:	Christopher Clark <christopher.w.clark@gmail.com>
+R:	Jason Andryuk <jason.andryuk@amd.com>
 R:	Daniel P. Smith <dpsmith@apertussolutions.com>
 S:	Maintained
 F:	xen/include/public/argo.h
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 18:48:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 18:48:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328372.1592876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVD7H-0000jt-CF; Thu, 04 Jun 2026 18:48:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328372.1592876; Thu, 04 Jun 2026 18: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 1wVD7H-0000jm-8t; Thu, 04 Jun 2026 18:48:31 +0000
Received: by outflank-mailman (input) for mailman id 1328372;
 Thu, 04 Jun 2026 18:48:29 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wVD7F-0000jg-BU
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 18:48:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVD7E-00B034-HM
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 20:48:28 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a21c86d-e002-0a2a0a5209dd-0a2a4502c088-12
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 20:48:28 +0200
Received: from [52.101.46.55]
 (helo=CO1PR03CU002.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a21c879-af86-0a2a45020019-34652e375eb0-4
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 20:48:27 +0200
Received: from BL0PR0102CA0026.prod.exchangelabs.com (2603:10b6:207:18::39) 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.21.92.7; Thu, 4 Jun 2026 18:48:21 +0000
Received: from BL02EPF0001A0FD.namprd03.prod.outlook.com
 (2603:10b6:207:18:cafe::24) by BL0PR0102CA0026.outlook.office365.com
 (2603:10b6:207:18::39) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.8 via Frontend Transport; Thu, 4
 Jun 2026 18:48:19 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 BL02EPF0001A0FD.mail.protection.outlook.com (10.167.242.104) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Thu, 4 Jun 2026 18:48:19 +0000
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 4 Jun
 2026 13:48:14 -0500
Received: from [172.18.181.126] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Thu, 4 Jun 2026 13:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=D1/inizJKZfeDT/JuF4IBRwupK8o0hXUmlGUC10dlFY+qpz7J7oLyakB23Rd4iz7oE2cIyHpEIdf+AVB5KSeumx/OyuyD6eaO+uhpF7pAudaGuFzYeW2Xi/LiM6yaGqAgSZPqY129wx9MKosvUflDeEBSW/qyZGTjLWk4nNNRGtsYjkDF5UXERKur2EHhd988M+6ivhFvrzn2EpbTOPV1Hk8JnbbN23UolEksBnK0JgBnIxVRhuPiGIZXUkDiQPt7SoxFIA+VwjtY7/BJdieB3C/TDBiGay0u98XzMn9/OjWqDnxeioMfDrCwp3dj69lKQf3vOZww9AX3yNrYxxwFQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1zFpOqM9+eOSPJDt7W/rGDCzXqRj/mENuJ2i7bDt32c=;
 b=D2E4/RlzN8SEYHy6WClpHOWX4McYtHskpl8MDi3n0/WrCw32YHByx3VgJgfLE1Y7gluz/gtVZOGJ2QWlX+vD9YwjbwW0RCMjBRtXnn85VzYY6a3Aem9MTXiH81YyldcRQCf8ziqasGKGwNv6uW8ZqUJwCnXaNbtA1YgYDYT5inFdyA7NiVH786n7UCCndYUFQ9aEirnh/aDLCsTC3I1s2MDeS64DzuwXUNVI4bilI9CXclJrqHJ3vK1hgXK2pKKwiGXro6MZQBvxCLKtZfA8NvjdWtrW+YEU8Uh+KJeREhFjLKGOPHrMbUfb0gU9UMMc0xzdoUYOfGhN2ebnFNerTw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=ford.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=1zFpOqM9+eOSPJDt7W/rGDCzXqRj/mENuJ2i7bDt32c=;
 b=Ry+31EkbvFOWPjlvDpOr/Nc3/1YaDCxhZ4cdjltshLzp6S8xz8QmY/xcoKoAjjq3JEnzLRsB4fL/ioSYSm6TrImKhmeWQ2ZaPv4r0I5zibmYWvqaH3CjknvJTX3BS8KxRKIaF+7A11ggAV63L7xCU0gwbFnnnPbfKbO1syMaBfY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <c6979a2e-397c-4089-9790-503652a1ac2a@amd.com>
Date: Thu, 4 Jun 2026 14:48:08 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/6] argo: lower level of noisy connection-refused log
To: <dmukhin@ford.com>, <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>, Mykola Kvach
	<mykola_kvach@epam.com>
References: <20260603060539.1181809-1-dmukhin@ford.com>
 <20260603060539.1181809-2-dmukhin@ford.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20260603060539.1181809-2-dmukhin@ford.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0001A0FD:EE_|CY8PR12MB7097:EE_
X-MS-Office365-Filtering-Correlation-Id: 5704f7c1-a30a-4666-2f2b-08dec269d883
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|376014|36860700016|4143699003|56012099006|22082099003|18002099003|11063799006;
X-Microsoft-Antispam-Message-Info:
	jCWLu3I6whzpPl/MrhGb/uHKfbiwULn4j/4RCUFpSFT9EcSxR7IKmYxvfjIBWy6bTOiR0zjPpiPROQoZ7z/vqotZ814TWtSGpEbeaCki+MByGlib2XbuvK2UtXhZzRtnvOIXTsULzeTzuiFdAxqOjKgYLV6BD9TxzfWthv1N27CvAd385bku966fOXSqHh9WVtX+dGjlRhBnnxRyFpftsI6vCK9kJjyVru2zsLmQY8G2GIPY0r1BYa08Dc/FNSceKL6AJsgVoxbfJXjH7ZxOLldqdUTEqEBpVv/1iq8112rHrMnKujnzl7c3FlQp9SayjRXhlCyJ43S95TwxlpSfn7B8m0J1GnhfNhXhcLvnLEhl7pmnTSyQ4XT7fQybuPo3d32zpt/Mzt5ZbVMPYMW6AF/ILG+K8WfsuzKCNRSYd9RYVyNhdNpn2fOX9bMT7cKnhy3+d/QdVLTlVMAtldannEyCgYADaqpJaiEyX151ul3VEXnQ7ZOprc7BnVPuffwhfXBO9RLdmcljyrW9+IvWpg2oO8/V2uYX6cqn4DML1A9qNCW9NA+se7RmZL1HHjvPNsDb6+11oO44WQIFPtjPFXmbjCFeTEpRShY8xvmgvKD2R0CK1Q6w99ik3mIcjl46hNjyml+vX6w20MXClR7cLH3PToZNec3GtZ+9xKrIpzY1LicYN1jywzNt2/XsbSGEpfjp83H7Ivc5yOb26vBB03geJFtItP2RPM4KfhBx774=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(36860700016)(4143699003)(56012099006)(22082099003)(18002099003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	BP2bruDEAtn6G81xSzyHBa4QI1D/sU5EwJGkJXi1rMaGskrwwdqn+GCOycTq5YDiMMCegMeH62C9oE5UxPG3xqkXHFtkcG9PK/SpKVtgWEfB+Wo5aXjX+Zpq4ZfyqctA7K/sKRj2WGN9nkBg71QS0cDTH+3JxDAAyNagRNAw2G0hS8ByAmYpWLU7XEoE73gCYC7vqgoopyBqPCkVYnYamvU7QKspKudn31BPmU+3Ot5KWLyByavgmKl8pczjUkl3HCIAe9efaeWkWYDT2n5GAU9L27/D5uAvYG49lALO6h5v6vA9mLv8E6Rm4X9WXpFG6STnV3/5ypjcY4+BfToj0pafF6vDK4xHbZISRmnjpPZlbww5VQse7TKkQj3sHJRa5OJBKOSm06EHuI+lVr7IhrJbvmprfexkr0B2tTPyQLU4ScwF2WEaDlZkC/KLf4Kl
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 18:48:19.2574
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5704f7c1-a30a-4666-2f2b-08dec269d883
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0001A0FD.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7097
X-purgate-ID: tlsNG-720697/1780598908-8276A161-44902D2B/0/0
X-purgate-type: clean
X-purgate-size: 595

On 2026-06-03 02:05, dmukhin@ford.com wrote:
> Switch the log line to argo_dprintk() so it is enabled only in debug
> environments, as it can spam the logs when a dom0 service using the Argo
> hypercall tries to communicate with a domain that is still starting up.
> 
> Note that this also lowers the log level to debug when the argo_dprintk()
> facility is enabled.
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 18:48:58 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 18:48:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328376.1592884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVD7i-00018w-JL; Thu, 04 Jun 2026 18:48:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328376.1592884; Thu, 04 Jun 2026 18: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 1wVD7i-00018p-Gm; Thu, 04 Jun 2026 18:48:58 +0000
Received: by outflank-mailman (input) for mailman id 1328376;
 Thu, 04 Jun 2026 18:48:57 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wVD7h-00018W-21
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 18:48:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVD7g-005Hbh-7q
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 20:48:56 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a21c87c-2eae-0a2a0a5409dd-0a2a4504b3e2-16
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 20:48:55 +0200
Received: from [52.101.61.29]
 (helo=DM1PR04CU001.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a21c896-1dec-0a2a45040019-34653d1d5509-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 20:48:55 +0200
Received: from SA9PR13CA0136.namprd13.prod.outlook.com (2603:10b6:806:27::21)
 by SJ0PR12MB6688.namprd12.prod.outlook.com (2603:10b6:a03:47d::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Thu, 4 Jun 2026
 18:48:48 +0000
Received: from SA2PEPF00001505.namprd04.prod.outlook.com
 (2603:10b6:806:27:cafe::84) by SA9PR13CA0136.outlook.office365.com
 (2603:10b6:806:27::21) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Thu, 4
 Jun 2026 18:48:48 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SA2PEPF00001505.mail.protection.outlook.com (10.167.242.37) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Thu, 4 Jun 2026 18:48:48 +0000
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 4 Jun
 2026 13:48:46 -0500
Received: from [172.18.181.126] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Thu, 4 Jun 2026 13:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=A6uAByp2cvm7mlC+C+vECTt+ZdvGulqD6SdzEOCTjo7boNieU89M6jR/HM6K//fm9hWSVid/Glh31wmr7MAWMLJkMc5Lv1bvt+v2Lh2RZkmKDgJF6uQRliU1qkjUz1o61HpU62v5OcE6i55Ds6gS8n7B2usk9me8edouD6ZYuJ3rfacCqO4rUGw6gsXaXJl8pnJQ+sduYA47f3qZIQcr8oG8/srJjl76J88+PUoH/UcNGynv28hYV8IYNOQotCl4CeOzdqdh7MpwPUelGrj2L3CVCc326H/A5NG4roZHXVl0wYJWtJx4ywVYU+iOriM3dTcULZUI3IPvP3zQIdpO6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=J+nXwt5j300HvPYptDMgGIZU8F/Rgx+EbrH7MKnlN4M=;
 b=ByJ7rv8QpUolUJYN29UipZtpy4ozzr3faLafmwRqKO2eqEshx1u9pmESzfidun3dnP1OdCIYHg+3Mm5pmJGTm4gJd0gcymeiLSkOw3NQJTwveN/Dcj/hPdxftSfcqyJHoGJA44gupzNfUyFS4sUhCFrBLNV4IOSD5E0EVz9URlxMB7PmNssGOwlyOngvfhkRsKc5c3CEU65aNoQ55vu0Yat+vEjdcVkWkh3lKX4HLzCP4XFjot7XDvuC0WHkpW73IWjscoQlJh3XGxYsh3Xsb2+JXumrCuqICjcWThf1hkUezCbpSbqQvYy517d0IhWcu4RHtN8J2C3c8ZRQsdo7yQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=ford.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=J+nXwt5j300HvPYptDMgGIZU8F/Rgx+EbrH7MKnlN4M=;
 b=oyVByhTD9ddmM69s8ot28BryMdPEO4YYJQquHH5YevCD8EA5gTo9L1Nh6R8cbkhgjzRCYdq3ky1hhb+0QI0bHIpgpsA7tatd5G0EPwuzSrJhmFJ3g8vsGvXUThttQ/W+teLKJFppYHXmx3N6pwRcecZCNoBOU4fYpVzdqjInl5c=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <76124bf4-eebc-46cd-8154-782e9874bf1b@amd.com>
Date: Thu, 4 Jun 2026 14:48:40 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/6] argo: correct logline in ring_unmap()
To: <dmukhin@ford.com>, <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>, Mykola Kvach
	<mykola_kvach@epam.com>
References: <20260603060539.1181809-1-dmukhin@ford.com>
 <20260603060539.1181809-3-dmukhin@ford.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20260603060539.1181809-3-dmukhin@ford.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF00001505:EE_|SJ0PR12MB6688:EE_
X-MS-Office365-Filtering-Correlation-Id: 65e24aa7-4f4e-42a4-93ce-08dec269e9b0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700016|82310400026|376014|11063799006|56012099006|4143699003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	Fa1E4m5aZGUnHlmT5bccsqW/om0d698rOQXV1kvi0vQ+sk1ShwvRtFmeiYn43CLRkzb05rQEpH/e07OMOG/C50XCw/fwjQuYs1INB7qiETZCr4F4Icajh7535bXBfu4eW1Y1LgiS8uvuvn1xThgBW3z4GKIKsoEUgztPsRdVeaoGKSJx1dBzN/HdqQ8SsfwftXxCPyIz/eRLfa6ud5W8VEaCCbA7m/RMgKjeec/rrDBty1+/S2rH1eAr6Mf/YtTzKkbtisiIAlVMBX3gwTWY4xRe1+4KwL121F7EJnyvADAXHg7iDc+OhiCar8lBJo9LEOQ64KBRm5K2vXuc4YhLVn8c6mXGo/LbOYlWuzpvBjo19rJtL3SkEiR2blt69pa4yD5n4wtNcibH6EOLoLaWgaYc+I6ICrdRSfPEyXMqti/9h0Da2kiNdKUeSQTDQCyc90Rel0Ti75fVifqRpkyd4NVeuwgzCXOueTUNiBhYCbyPAygEv33AER7pl75v3xxUHY/6H4O8n8aJH7wvjSis8nbwb+gMlZaeojih+RrttwtYoWnL3nPJTdHj2kjnH8Pm/Jlf3aNqrgr0pdmQa2bXTX5rvEzg+rOoDFVhIV8FlqY1YOsvVpN4A5aiPgzVQT2YEhDeDpomrXhKzfknb5bV+V2GDtn8+hVi6u5lFMab9oWuQjy/0l5cFdstiMzYmq6vSP2IA331rMhwoC3ytcO3jNDtIs4DhELBA/sdcrfYBms=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700016)(82310400026)(376014)(11063799006)(56012099006)(4143699003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	M9UjMpPRdS3UBzdVKP4GC7Ro9xR7wq4HDGQqxYg6ZZPSV+UhyApVtYZpIGlf/mR7nIxrDJwk+IYv7zo8Au1w3TWm+uTYHQkHJVhDLAFkdyc1rifQ+ovGMK1tkbfm0AA0PoKJ1MRa1cDtwthxpFpZ271bkHlIx30L5RESrvkVOvN/Hesu6uIQxpOmOLkWKEsc7VNcAGvr3Zx5QZWzk1FpHGYDC3SjfVsABemGJnajOPaRt+ovWrD7FGrl5YetGaYAm2Vk2g3SYtgZfT4fyKGvUYMEUGQfoTTd/gmXgPwDtvD6lhLNrnoM+RiGJ9vreOuLVTrkXN7duPPJa9zD8/iAji+bZ4PJWNkbA1y3GjxVn50sw6WfekASnngmaHIeTrNAOo33ZXXJMQXGSLR9z70KbyNFYk0EOXobL98JoDFFl0Ljc/VlIjy15EXvxsRXNKNp
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 18:48:48.0550
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 65e24aa7-4f4e-42a4-93ce-08dec269e9b0
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF00001505.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6688
X-purgate-ID: tlsNG-ebf023/1780598935-417793FF-9CDC4B32/0/0
X-purgate-type: clean
X-purgate-size: 454

On 2026-06-03 02:05, dmukhin@ford.com wrote:
> Drop XENLOG_ERR from the logline since argo_dprintk() already injects
> the proper log level indicator.
> 
> Also, drop "argo: " prefix, since it is also injected by argo_dprintk()
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 18:49:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 18:49:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328380.1592893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVD7z-0001X4-Rz; Thu, 04 Jun 2026 18:49:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328380.1592893; Thu, 04 Jun 2026 18: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 1wVD7z-0001Wx-P1; Thu, 04 Jun 2026 18:49:15 +0000
Received: by outflank-mailman (input) for mailman id 1328380;
 Thu, 04 Jun 2026 18:49:14 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wVD7y-0001Wf-Hu
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 18:49:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVD7x-00AzIv-Uo
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 20:49:13 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a21c8a4-5cb7-0a2a0a5109dd-0a2a4507d1ea-10
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 20:49:13 +0200
Received: from [40.107.200.44]
 (helo=CH5PR02CU005.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a21c8a8-229c-0a2a45070019-286bc82caaa4-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 20:49:13 +0200
Received: from BY1P220CA0011.NAMP220.PROD.OUTLOOK.COM (2603:10b6:a03:59d::11)
 by IA1PR12MB6091.namprd12.prod.outlook.com (2603:10b6:208:3ed::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Thu, 4 Jun 2026
 18:49:07 +0000
Received: from SJ1PEPF000023CB.namprd02.prod.outlook.com
 (2603:10b6:a03:59d:cafe::4c) by BY1P220CA0011.outlook.office365.com
 (2603:10b6:a03:59d::11) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.8 via Frontend Transport; Thu, 4
 Jun 2026 18:49:07 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 SJ1PEPF000023CB.mail.protection.outlook.com (10.167.244.5) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Thu, 4 Jun 2026 18:49:06 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 4 Jun
 2026 13:49:06 -0500
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 4 Jun
 2026 13:49:06 -0500
Received: from [172.18.181.126] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Thu, 4 Jun 2026 13:49: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=RjezSdQK6BsVjAPFQmlxpfxKnXQkrWiCLzwdM40Ivs93YHHt1W25dJFhZVFh8w9G8SdBOthtd/kS5sHXVzSr0FhpdZINJdYfSlZVrzyWAx2Bwk78fhQ1Lkiod3jaBWmppV8CXVbj6g80aDRqXU/6uEXs1ck87YiyTjhjdb4KE4FLT+xaTetQWrDxlg9RMf8BlNA9kHkFPnjV0i6RwE+FydupBdE2us+RrJRNe/lRx8yZhm+iBazZS77DsVLJ0sZB5dl/LnzgcUU+aOPPWeGLwFHtPYJTJPBfZAJSm38PTUUrTtP1almdr0mG80IghsivbstoTYkaH9aomxFwZwxpow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wfm8y+t3+gc+rC3VuwAhb2R7ocBat+46QllxiQmo2JU=;
 b=GwBzMO57xXmIbEyCQzjizpJfww6cSPcLCSiie3SOEFRdUxTZMM+4Spmye+dFpp27LE1wvHzpicuMYGUR7j0dtMVLI3i6gzXjZBRcFaJNy7BSX6u0e/op57NYGpJOC8BMJFyBhk+EXaEihWHNWx27RyjHhyjf4fU+Xbcm09P6zJci5AjipIDAy/0XrxOsEPw//wJ1Rd8IKeFe+IylGYT2fnLsrk7woNimQi9mQb8LwXRipjM41mt4pDIot3O0Y/SJk/a3Wauavx1oNdgf2klyLKP0LKdoTgXGjuMJWwszg9Q0PSt94hnn3KL2IZTqxRLHwvtA38TVmjT7Jv5CJ+sb0g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=ford.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=wfm8y+t3+gc+rC3VuwAhb2R7ocBat+46QllxiQmo2JU=;
 b=KkrRGtb2ElnFsHjW0GM80ige9y7IfVPwv5estuHAbV2QLzzXGcwEA1kWNiFeJ5XdlOs3pe+7GhkwFmXRszIkJOhPv0brNLjjS/Yxzc8VvoBP6+Jb9DvgZFNt93NuHwt/RPfHxbcHSV8G220n0pGGrPbNJv2dP6sPrjAZc+XWVTo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <101d8354-3206-4295-8f7c-3cd897cec3ab@amd.com>
Date: Thu, 4 Jun 2026 14:49:05 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 3/6] argo: drop argo prefix from argo_dprintk() calls
To: <dmukhin@ford.com>, <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>, Mykola Kvach
	<mykola_kvach@epam.com>
References: <20260603060539.1181809-1-dmukhin@ford.com>
 <20260603060539.1181809-4-dmukhin@ford.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20260603060539.1181809-4-dmukhin@ford.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF000023CB:EE_|IA1PR12MB6091:EE_
X-MS-Office365-Filtering-Correlation-Id: cb0459c3-348d-40bf-b0a5-08dec269f4f9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700016|82310400026|376014|1800799024|18002099003|22082099003|4143699003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	f4/dR9biQBy3ALNDHxHATi9gSPazw1lQ9a0h5VwA6ylhDx67leHJkdCL8fnCT3iUQdREtx9Bj0w/xr4M4FUL7MrUJoCRC/OuVOp0/Q7jDqAl3hvIyFBcVCeKBv8OFmz0l0z2xQqlhDgG4Bccap2nTT6qXD9PGZqgLmYODiAlwlg2j95TYa+LjoHmgtYuBrbsjW311mjaeUXzKdOK5eNTOMZVvjMbCB13C4lnzYwR5yWdGd3uHHkRSBfFYdSPUloseP1pFDqBh/4lcCiakQSNr0Kp9zM2To6POL3lRh116JQeuYtvQErsmNBNB4kOJVAdWzVLqT01kVmS2hl72tAY/Q+V3+NVLoNQ1rcUzWtk6QYW5sMjbZHi+rv9gLInTLB8VG5n+0R7SXaVlsGg9WEbEIoT7fLOz2+NzN+NVHYiUgavaz+AKy4+qtv42c8NWEdf3mqr9YkDmjhdem6BlQSAyJSRcQUabl+ZALYWcZAv9ylJo1jv7AQc71obHaCJ9a1nI6hYjd61VRYc2H39lPO8Znxydl6IHKE865xej4SFfv/drnSu+CpF2Z84XD8IDFQ6hzEoa6uR2PqKpzZQzaJJc2gBlY8Hiys03tiSbakeXtfG5tAPgBg2WukuF/l5muBALFtlydP3Q/NO0UBOMfXWrA6hw58C+1Ju71JMjliKdkPpM81Zqu08scquBV+WzETkwDYFf/5DXQgo/RX9IvTx952RBDUo2B588sDkBPpJ0Vw=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(82310400026)(376014)(1800799024)(18002099003)(22082099003)(4143699003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	phGmcf+5vOWfcfmuzS5PmVAiunH6E0UCZIYNdm225i50pi6N154ilhdLEIcPRmHEgMdU0NcU1uB9mrSZVIRsOBXvVxsAfNTu4AfgNSE0d9GjV2tPPf4NakXH+uzKBU3IdvOX7hD3n8F/xcXIKXN0HKJ5twjroEhBkkYUIYUj+kJ1KydScQGVctpth8d/5KgH12ClYBB0sYmiRP4J8EC1a/+LwEpCvvDTsYOJ+JOZYguqLs0uXGN2Bi3Emj1SQXkqwlaHFiGc98v3WFdHf2bBnm58mO2QEw10U3rGS9A0QdMhKnhzy997r5B0Gl5SZQe7SIUKbWgAHunEiHlgbaynEB4jKbfAKMhsWUzn+6pnauRzbuJNV+bgHHp42ecCr+75zwtU4HGN0ZcnUhP+Do44oaHWAjHgH+nmHx53bBHkuvZQy2E2RdfBt0GE4upDjFEf
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 18:49:06.9519
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cb0459c3-348d-40bf-b0a5-08dec269f4f9
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF000023CB.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6091
X-purgate-ID: tlsNG-ef75cf/1780598953-0AD77C48-8BAE88B0/0/0
X-purgate-type: clean
X-purgate-size: 428

On 2026-06-03 02:05, dmukhin@ford.com wrote:
> argo_dprintk() prefixes all log lines with "argo: " automatically.
> 
> Remove duplicate prefixes from log messages in the Argo module where
> applicable.
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 18:52:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 18:52:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328391.1592903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVDAe-0003TQ-Cd; Thu, 04 Jun 2026 18:52:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328391.1592903; Thu, 04 Jun 2026 18: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 1wVDAe-0003TJ-9e; Thu, 04 Jun 2026 18:52:00 +0000
Received: by outflank-mailman (input) for mailman id 1328391;
 Thu, 04 Jun 2026 18:51:59 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wVDAd-0003Ol-FO
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 18:51:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVDAc-00BcqA-SV
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 20:51:58 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a21c941-e002-0a2a0a5209dd-0a2a450cbeb6-12
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 20:51:58 +0200
Received: from [52.101.61.35]
 (helo=DM1PR04CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a21c94d-62f1-0a2a450c0019-34653d2347b3-4
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 20:51:58 +0200
Received: from SA1PR03CA0012.namprd03.prod.outlook.com (2603:10b6:806:2d3::15)
 by SA3PR12MB7860.namprd12.prod.outlook.com (2603:10b6:806:307::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Thu, 4 Jun 2026
 18:51:52 +0000
Received: from SA2PEPF00001509.namprd04.prod.outlook.com
 (2603:10b6:806:2d3:cafe::97) by SA1PR03CA0012.outlook.office365.com
 (2603:10b6:806:2d3::15) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.8 via Frontend Transport; Thu, 4
 Jun 2026 18:51:52 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SA2PEPF00001509.mail.protection.outlook.com (10.167.242.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Thu, 4 Jun 2026 18:51:51 +0000
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 4 Jun
 2026 13:51:51 -0500
Received: from [172.18.181.126] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Thu, 4 Jun 2026 13:51: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=keuKY2KwcEm5PCkiXvSXUKf/mk5vAjuMPc/shSH6mEEzSRKO2ioas/SkS9y/2piiiKXlRDegEIO8Zm1JVJJtANbgjepllLJ/bFg+o1hINT3xBgxe71XCwJafKqgrORiXFBjso+fDXmmWPNO9PiWx8ShOzZ0klFc1PXcDKgsLGmpjv1tzCj8QrtRaSI3qMPfPh0MaLt8UXT4yyv9c6HbPbMfz3IngdlzDiCScWc0llA6j+hYzAlkIYH2EWhlfwXinidzx7p4ViRNlbPmK+BzIwMoDr87ijxZwBblTJf2AWX7/lqAVWQxHVAWu72TC9TqNMXPYQhrMiGmCKpoaCbyGiw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6dPmMKyUE0fo+zbJ6EfyUiCSXn9uFq/qxg96SNk5ntI=;
 b=mWuBZB/TAZ2/3Wv/dPiKh4IRUdB2z9A5B4TkVCgdnLPOg6UHBeht+M2sNcKIRB0BI6Csn1Jbaib1mBu6uiIURaZ8YK8028Z+ct5Yorl4cwz/WJcYKUKdMlPHIVS5Gxz/9OwTtkzL317MPXRGMR1kkZPw4W8tkqmiMXaFj8oSe2hsV+GgPtJkdKaSFxDYD7dt2PauUKnXTLtc+yOLiD6KfOFb6BszxRMw1iXmEaq8o0ZPY8xvFb/L21QSWbxeYQ9vJ9EdLSK3feSRRRw0qxG3Ir/CipeZOw1++ACUGv2EIrhSmkBQyPaTnVQErFvmTBnzYDbnZ3Fz5GovnDsXeaUhHQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=ford.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=6dPmMKyUE0fo+zbJ6EfyUiCSXn9uFq/qxg96SNk5ntI=;
 b=N0j7ozTvr4IK43kNaqlpgFgMVG2RrLCnIsRWlOIxTyfakyQf3eIWw3i4hBRn5gsGAUt0xzFWFMVkIBWMYAJJgIdWizmcP1ADAWT/Tyj039WZK7PPV384sXTDNNY0rBUHBJH+aNvLZuIUuBNcflUCcjxGvMY80Qf51PfSSUlqJpo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <f2007ab7-05a0-4163-b5b9-9300453fe653@amd.com>
Date: Thu, 4 Jun 2026 14:51:50 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 4/6] argo: fixup argo_dprintk()
To: <dmukhin@ford.com>, <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>
References: <20260603194131.1468654-1-dmukhin@ford.com>
 <20260603194131.1468654-5-dmukhin@ford.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20260603194131.1468654-5-dmukhin@ford.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF00001509:EE_|SA3PR12MB7860:EE_
X-MS-Office365-Filtering-Correlation-Id: 78a57924-ce1c-4479-ea2f-08dec26a572c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700016|82310400026|376014|22082099003|4143699003|18002099003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	ZFa1yl28A5ej6bgqvbU5+TMD4dK53LUu6hCscQIrtdyHmDgzA50UUhczcQ6zSjBRQTOUX8/798H/KYhYONTi2P1dka30xzaOHwUMgYlQ1ZQnWwzc9MnZERSFuEZQ78udkXOTZZdghzJOl4QqbjFXSZUdkW8rZdpymtKAPCH7l2bAftRqX5/KWtnNhd9iBbiMMYFmbhPmrDXq5Pu+1IrbdE3VSiiH8Xximk4XAgVjPBtJghOFB19ZkInfMW3uEju1efpBb/B8zkx4Z5tKCXFeOjS4vXjqRBrI+MYiK/SDiZsIKua0LASVodcW/Uvz1tVeFLSgrS07WUAUfXlTDK5HkBJF7CNa3R896q6Dx1xkTikXW3djqGOKXWaBYcdmKlwyk+8EgOz7lmiqpNsSw7UYhNxDpumrmcOeJlAnKn8HI1tASN18CXFBb5vksB6apZIN7S2yc4ykDJ6cdaMuOuF9ToDiQSTJPN1rCIjPcsmRaK/qWkPclTsKrABhUMHs+aG1739/hPavKfDMiZO+ETLhPtnSLuWlQiu9l3PLz5p7PHoMD+AH0hCcpnZ92HzOkUGKIsvRT/sC/L8GmH2MHx1T3amkImO5kwZj9UvKCwFgGfeypbRuxz3jjF2GFQhcXEJlnSlJb3KraTY0uXHNYj+tBVliPNMx6LeQU+cbkr+Ql1cBARmC6J108x4BvKuTPyPVVaiAKm4t94PsDiuN8OFVF4iVKYeoBv0+YZWWaPb+9YM=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700016)(82310400026)(376014)(22082099003)(4143699003)(18002099003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	0s8q+NcHCNJw7kmECiUm16fFB04hfcWXReSaNiJxY1ddlZEGFN6CVkwzLPtEndTQw+8Rgu5PGuTmwZu3KmQXSgh6Wbt/PT/DWVw6y547AYxIfdTw8IHXXWS7sv3cAzmC4QSqBsUhWu3ySLsF1iDLVzylhee3KXEVJoCFkKwRD4CVvLY4hqG1Cg/4XvWxazEieHmGWQ8xeVYJfYjxOBxLibFePSJVE3dg1bAOvW/EckW4DYzdhfUWO4U7T2JshVadgnF2bZVfT40g+WcmouCkBCa0UlFDRQV/o3f51p8wdRnLEx9mK74ndeCyEJsSU67DVJ/P+L7f6URpyYkvaXCuTiL98KVrzIubDWNId5yHheemsQvHR7Ci/mlELYOy3aG00dWxkrLtPgrU4Gay+PM/9HVI/SQZoEAdn5a/5NAGVhpaGwpQwkNnkauEAGfX59Vi
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 18:51:51.7692
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 78a57924-ce1c-4479-ea2f-08dec26a572c
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF00001509.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB7860
X-purgate-ID: tlsNG-d25034/1780599118-DBD7BCF5-92BDABE3/0/0
X-purgate-type: clean
X-purgate-size: 560

On 2026-06-03 15:41, dmukhin@ford.com wrote:
> Current argo_dprintk() implementation is a wrapper around raw printk().
> 
> Rewire it through gprintk() to allow for better debugging context
> (such as domain ID).
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

> Changes since v4:

Oops, sorry for replying to the v4 patches.  I'm in the correct thread 
now.  All the patches are unchanged, so the R-b stands.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 18:53:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 18:53:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328397.1592911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVDBh-00041r-LE; Thu, 04 Jun 2026 18:53:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328397.1592911; Thu, 04 Jun 2026 18: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 1wVDBh-00041k-IP; Thu, 04 Jun 2026 18:53:05 +0000
Received: by outflank-mailman (input) for mailman id 1328397;
 Thu, 04 Jun 2026 18:53:04 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wVDBg-00041a-2T
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 18:53:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVDBf-005I6k-FX
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 20:53:03 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a21c979-2eae-0a2a0a5409dd-0a2a4504ba6c-12
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 20:53:03 +0200
Received: from [40.93.195.16]
 (helo=SN4PR2101CU001.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a21c98d-1dec-0a2a45040019-285dc310aa0c-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 20:53:02 +0200
Received: from CH0PR03CA0420.namprd03.prod.outlook.com (2603:10b6:610:11b::25)
 by DS7PR12MB6072.namprd12.prod.outlook.com (2603:10b6:8:9c::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Thu, 4 Jun 2026
 18:52:57 +0000
Received: from CH1PEPF0000AD7F.namprd04.prod.outlook.com
 (2603:10b6:610:11b:cafe::8a) by CH0PR03CA0420.outlook.office365.com
 (2603:10b6:610:11b::25) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.8 via Frontend Transport; Thu, 4
 Jun 2026 18:52:57 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 CH1PEPF0000AD7F.mail.protection.outlook.com (10.167.244.88) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Thu, 4 Jun 2026 18:52:57 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 4 Jun
 2026 13:52:56 -0500
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 4 Jun
 2026 13:52:56 -0500
Received: from [172.18.181.126] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Thu, 4 Jun 2026 13:52:56 -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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=wmYcFrWqNhwwr3qmsv/gqkFuGxdDzseRCWwugsZaxXJLzq+1njMZl5Ss41RTFUL7KrHbnX/XUxZjz2bbI01rOdUf8NkmVDKmuzkO589fX8kom5umGXXr0WRkC7PjZtBhl49O+eLOG+CPIGqqtDbSF3OqkZhPFUxV7eQLaqyuKbJi3ST4WbobQHq3ijcRIhZeqcpaaEnFzbeBe/yCDuCNAoOa9/972lf/J64WxrlRS2vEWy9mbW98rtdnS1Q2LuTZXRYlqpJD2IZPTae7/9wH6aDW5hUSGNQCYeu0XvqQseCA/0qrJsypuQHfo0SQpwtUYbhA79uS7HrUnbvGh0yd4w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fGRd8gJV6vuRs7Y4iZ6npCIBh3/9cndPA+A/QSp/A0M=;
 b=fDMESzXEDyV6mvPyaRgKpqzeUyxUWw48yZYuti+nQmuLse6Ea6GDJAGizlV7YJKLHoAxjaHbVbc+2pSSXQmDFsYoXFyG+nz07v5PaLPvyBosTgHe8Uk3PL3ea0Fpywx08O6SUTaPvbouAsCRYlVWU63mq2ud9W6RyCLVu7uDFGoHFCSb89Ir4tMdhJlY/+a6L/hq/3ujG3I3Y6c6bOdi1k5vkzRyP56dQEgbX4inxHWb31aG+OA4/GbtL0QlXMr3kOy6NlzSt6WChg3OSrTqaRMEyiB0xUwPddKJD7R5jAEToWXoIhlBLCrBiFlZMeVgY/mfn9y9Xj+rsHBmT5I22Q==
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=fGRd8gJV6vuRs7Y4iZ6npCIBh3/9cndPA+A/QSp/A0M=;
 b=o20ckOOAV3Ld+OKIdxBKO1FWz4befRaIJMwTYGBMnFVBZlzseO7mqwzYEtbYVpEDgTXolXNpCa7YPepNAir1A4r3tEUu3PKO6UYNwcgif7qO3/fS9HmbxSzbvfdVNKsIbwuD2I5o8eyNgG3WUtI4k/IVvXV7iM2G0NKths39240=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <51167652-548d-48b9-a10b-872f31ea9e2b@amd.com>
Date: Thu, 4 Jun 2026 14:52:50 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 5/6] argo: introduce CONFIG_ARGO_DEBUG
To: Jan Beulich <jbeulich@suse.com>, <dmukhin@ford.com>
CC: <andrew.cooper3@citrix.com>, <anthony.perard@vates.tech>,
	<julien@xen.org>, <michal.orzel@amd.com>, <roger.pau@citrix.com>,
	<sstabellini@kernel.org>, <xen-devel@lists.xenproject.org>
References: <20260603194131.1468654-1-dmukhin@ford.com>
 <20260603194131.1468654-6-dmukhin@ford.com>
 <34ddb2d2-d3ec-4042-a57c-7095513c099c@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <34ddb2d2-d3ec-4042-a57c-7095513c099c@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: CH1PEPF0000AD7F:EE_|DS7PR12MB6072:EE_
X-MS-Office365-Filtering-Correlation-Id: 37e4e321-857a-43d9-65df-08dec26a7e32
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|82310400026|36860700016|1800799024|11063799006|4143699003|56012099006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	jDuu1pebZKq4Af6PI2FB4p4c76L1o1hjbHO+DrQ1riCZ6cFPSsmVEh2cUx/Qb+zNfp6Hco4ki1oeA+xubOKtV4TXYnBmJbwmg+kI+BEytt+NrcrK6SjICZPinYU6NVdR0Hj5Tt10EGllXn1I5/THk9f1GzsYugLjMmGM6s2kEQWh6Dve3pw/LV7XD+KajhhbZLAWN3wT/3uKSCplRirTLzkeTeKGrv7wvY2BFh5sEdOdVCV4Cf36ejkucw5ixiSXNbMfJNUVc1CCY4V4sAXY8Q4ti+hV/RgTh7CJ5kqCJKJTPaAVZbdj+Fy7hNatjEj2D7ndpvM18k+iEB8cc9p5xgMfZ1pxGSmANBZ1Rxvul88JM6UvVezWLwq31zIWld+yPB2c3HtTlSmEuTrDOaKhW4figqLn8Umy5mxt6yESI220RFaaa9Ai87BPLKnLuSvBgAhNtWfwON9/oq5G4QptvuisiyCarLMA416B+z5vikXbOlOFKfW3MXnGv6Ja4SrQNdoL7hNBqpl3syzTmUGx3xRGYBSOtFvy2OPLTq+1ygS+FAEp3c4rGKbcoGdWoeCr25Yey9q2TD6RxGRQd0TYk+4YTENsGMU3ekXsoui4Ae14fI9qNm1Cj0ggwZ7GpS8JFO51/z0kisdyugQBzZolpVDCgNLQq/voahFHJu9hWxkW2XEPAGQkZLvTGkUCnr/HilkC3WnHtu5IWUiOSida8SrMR2JH04uBl6RXt3Tpb+c=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(36860700016)(1800799024)(11063799006)(4143699003)(56012099006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	GTvfyUvy0eesfrUk5+RBC7oVQOOsqTORlTmwcP5JacOy72hOxXAwhfeE7+rmE+2WH8UjDbM0t1bRp6vnQYklFiryCiE/GGT/MiVINYNjTQq8ioP6cLl2KSH7wb/Ky8cEtAUKWPSUTrnh1v7OQrnsu63fAeP/ftH/zfPeoL35Qy7OQb1Qn7w9Xt07nXZLnzrE3CqI3dOX2EWIwm47DKjiZ5k6adq16BNPUEsz8nuqGyNUkfiM9t5myTMkDlNIDx8PUuz0jO94CIFljyPR4fbdI3M95GV0QIc44D0cb1ok3ooF6bhP6XowHucc4bf3bn4lAdalpiUqRWjm0WFGHOVOZaYHZh99YBj+RSpYgOuu9MA9wxvk4hh57OhtIWHDyRoaXhNQTBF0IBfOK2MGvYxfVMUECSh5e21YpuPNvYynr+h/Dgf040nyxV0oD7rHxGTJ
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 18:52:57.2118
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 37e4e321-857a-43d9-65df-08dec26a7e32
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD7F.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6072
X-purgate-ID: tlsNG-ebf023/1780599182-41F7D3FF-0392589E/0/0
X-purgate-type: clean
X-purgate-size: 1210

On 2026-06-04 13:37, Jan Beulich wrote:
> On 03.06.2026 21:41, dmukhin@ford.com wrote:
>> Add Kconfig knob to enable traces for Argo debugging.
>>
>> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
>> ---
>> Changes since v4:
>> - fixed dependency on a new Kconfig knob on ARGO
>>
>> Changes since v3:
>> - dropped uneeded "If unsure, say N." from new Kconfig description
>> ---
>>   xen/common/Kconfig | 6 ++++++
>>   xen/common/argo.c  | 3 +--
>>   2 files changed, 7 insertions(+), 2 deletions(-)
>>
>> diff --git a/xen/common/Kconfig b/xen/common/Kconfig
>> index 5ff71480eebe..7676a78dca71 100644
>> --- a/xen/common/Kconfig
>> +++ b/xen/common/Kconfig
>> @@ -491,6 +491,12 @@ config ARGO
>>   
>>   	  If unsure, say N.
>>   
>> +config ARGO_DEBUG
>> +	bool "Argo: enable debug traces (UNSUPPORTED)" if ARGO
> 
> Why is the "if ARGO" still there? That's fully redundant with ...
> 
>> +	depends on ARGO
> 
> ... this. I said the v4 issue could be fixed while committing. Now you've
> posted another version (adding to overall mail volume) and an adjustment
> still needs doing.

With the if ARGO removed:

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

-Jason


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 18:54:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 18:54:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328402.1592921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVDCb-0004YK-VR; Thu, 04 Jun 2026 18:54:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328402.1592921; Thu, 04 Jun 2026 18: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 1wVDCb-0004YC-S7; Thu, 04 Jun 2026 18:54:01 +0000
Received: by outflank-mailman (input) for mailman id 1328402;
 Thu, 04 Jun 2026 18:54:00 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wVDCa-0004Xu-H3
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 18:54:00 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVDCZ-00BczA-U9
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 20:53:59 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a21c9a6-e002-0a2a0a5209dd-0a2a45028e8a-28
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 20:53:59 +0200
Received: from [52.101.201.30]
 (helo=PH7PR06CU001.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a21c9c5-af86-0a2a45020019-3465c91eb690-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 20:53:59 +0200
Received: from MN2PR01CA0059.prod.exchangelabs.com (2603:10b6:208:23f::28) by
 SJ0PR12MB6966.namprd12.prod.outlook.com (2603:10b6:a03:449::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Thu, 4 Jun 2026
 18:53:49 +0000
Received: from BN3PEPF0000B072.namprd04.prod.outlook.com
 (2603:10b6:208:23f:cafe::96) by MN2PR01CA0059.outlook.office365.com
 (2603:10b6:208:23f::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Thu, 4
 Jun 2026 18:53:49 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 BN3PEPF0000B072.mail.protection.outlook.com (10.167.243.117) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Thu, 4 Jun 2026 18:53:49 +0000
Received: from Satlexmb09.amd.com (10.181.42.218) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 4 Jun
 2026 13:53:47 -0500
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb09.amd.com
 (10.181.42.218) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 4 Jun
 2026 11:53:47 -0700
Received: from [172.18.181.126] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Thu, 4 Jun 2026 13:53:46 -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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ZrNx4MmDX/xHbV9C9UWsV/DUW3cfP9HkCPlrf0vwuzo+vtHNDXwUlOHVwgYyrcnnVAnFwXlSNfOgzRAS44XIYQKv7YpLw+zn1xpFVz5POmQPYvcWfrOjtUV58Al7KzBj1TbCTxdA9V9t6KcqolRfdGSV+eDQFuZlDa8qpa/GPC3Z0oOn5WOSgq7iPxWwee5TR70w8ffIIkyvbjza92JCMueqO6cOOsQKgOysMDitOFXBQHgbAd+hvagp8E8SG9LJCvpsMgax8+gLoJAI8SB9bJLrWuNW9YXvMVZhnfAHDo1G4Te2S5fZFL3HQvbMuTPLo67k3dvrQSTEYH7H2Yq29A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=etcs+6GGJy1PdFOuY8p5PCx2K/Ai3qW4qelsyTuI7sM=;
 b=NbKgwXFwS0oWfzQENsSKMof0bjZpA1bl66a7H+4K3SDk+bZ+lizi6tUf4e2p9PNqkCDuAg0Nn8KqRAVMET3qAcbeXXIMDQYyzMy+DQwJw+LzGYbGyrWqJ+IUzcSgqAuW9/R0dA6mzyE8GaK70HDRnwyejVVl0UQIKdbQnwxqHO+uvgtdyL4QDsttFnFzILJeWtoND1zCXBkBQ87HhyGPU44ALZVkwVZDmrlEav1unWm7KztEGB6WkqyksM1v2N2jRLemJeZrPkOabIUsxLDDn535U62BbrR6F0XKF5Bhj8hLT+OgthxJcJJFSO5VRexFkIkpHHs9ZJIRId6WfQnVag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=ford.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=etcs+6GGJy1PdFOuY8p5PCx2K/Ai3qW4qelsyTuI7sM=;
 b=4GZdJmQqRutIJtNU6a9KxTrC8n5V3QvY1o81gsFodsRCj6yu0UiF9wf/JCFnGf6Rf2Za8sg2L4CKZiQS4ta6DfDXpVf9rMcLboiev4HInmrBtE81sxLl0khAk/AhW4DoyQnNt1KlN1VhtSoKsg2TUV/WBqOpojSUxYYnGUsgj/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=satlexmb08.amd.com; pr=C
Message-ID: <df57d291-eaee-4d87-a8a5-a27766a096b8@amd.com>
Date: Thu, 4 Jun 2026 14:53:44 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 6/6] automation: enable Argo debugging in CI
To: <dmukhin@ford.com>, <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>
References: <20260603194131.1468654-1-dmukhin@ford.com>
 <20260603194131.1468654-7-dmukhin@ford.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20260603194131.1468654-7-dmukhin@ford.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B072:EE_|SJ0PR12MB6966:EE_
X-MS-Office365-Filtering-Correlation-Id: ebe7ba3c-0580-446f-464e-08dec26a9d12
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700016|376014|1800799024|11063799006|56012099006|4143699003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	xlMwR+VABTaYp0hhMu/jqNbPBKShO2ri72P1yQl39SZ8JvNOT2hprDuo3iR093hgxFUPCzIHlwmUIHEVDdfzcySF6T2gjVIJu8bEm01hSNao3SOQOoqs5TQWZZ+C6RQro/XhF+7QT5ltesIcWwu5LLxnYWQEmMgMtZ1yLr6Howb7sQUyEUV37F3DiwZ5Y85S8YytEhr8/3O5Kieji9XW75drSbh27eQ5naehes33jvcUS1Jgh8PngPI1e7F5ilYX9spZl0UPwnpryuPmabC3qs8GcnzJnNcSJJR/7UsJs8ewNY2CzihWd59MsyZ3MSowDv5wIXSu3+zFM2kJIennT9ejUovAMUTrl7okW7hXjWAifBbpwVRBDrpsjXXAS7q/29pMXwHB+Te9mPBv6DIKv24wmA3WjCz7Ywu3pzgZwM+/IOZhxEXsfdOWBFMq0dK+sxyaa6ROZjUljMA0RR2FB93cWEewlrGTZPrbMw2ytRYag8X8c2DxTZZHXnWkCiibkZ7JtRNTKGP/AxdJ1doJ9gsshw1K1utmP3V71LSX4uotqjXRrZ8+sQ7577VCpqe+vkZkNYcvnk2wvYU4y7kzdSoprqhu/hDN3RxecdtqeAC1Q+3lgM/orVLVwM0b6mAS2X5bvxlSxPLZNTXM6UVM72Ss4erPJHVaqRSNZKnDFLmGF+9WmS/aOQhbeN6WTVSnI2eqEV0z+zEi6Iv3GP4KmAsAyyvtHUVzjxNdD4W+xbQ=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700016)(376014)(1800799024)(11063799006)(56012099006)(4143699003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	0Vgn8Puyg5qqj8tCoIHIyCaqYIkrj7g3KSi/4buwjRTxqTiwHNsAflz0or1zPh+yTetaJqcmBCnGw8ozwRHwKo5x5Id1pKgLVkKkkJHC7XHClqvQhIrMEZbDuZz5xx04F5vIYjveMlMtq93JBHEh8+3VYOjtM4pg7B8iJk1tVNQk0MV9JPuiQ4BZByK6OqiJ0kKhUQOmlBXX66PY05KZWfWQnQvWqRTRrGPdDX+b0RFCKescrrTnG19R3fiKPh0p9uur0hc70u1CaJPh/ioJiutiBDa9JJkCS4GzRU/1/Kb4TBAcUUFxs7NCeyQYtLZtvLTbzahpqVdvM0MhPf+rnPu7+6rShTWS7UkANwF1gG/nFzEGAVKEIxV8L3Okkd8fVfZK7nMfjTNvj5e6X0regYMFEJBe4HqyQ7vBWKyQYm1+GiX/p5Pdy1a7PaxO2wQf
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 18:53:49.0298
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ebe7ba3c-0580-446f-464e-08dec26a9d12
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B072.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6966
X-purgate-ID: tlsNG-720697/1780599239-B0B78161-C653BAB8/0/0
X-purgate-type: clean
X-purgate-size: 299

On 2026-06-03 15:41, dmukhin@ford.com wrote:
> Enable extra Argo traces in CI to help analyze any potential Argo issues.
> 
> That covers eclair-*-allcode and alpine-3.18-gcc-debug jobs.
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 19:47:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 19:47:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328461.1592929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVE1s-0005Py-NU; Thu, 04 Jun 2026 19:47:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328461.1592929; Thu, 04 Jun 2026 19:47: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 1wVE1s-0005Pr-Kn; Thu, 04 Jun 2026 19:47:00 +0000
Received: by outflank-mailman (input) for mailman id 1328461;
 Thu, 04 Jun 2026 19:46:58 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wVE1q-0005Pl-DQ
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 19:46:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVE1p-007VnM-QP
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 21:46:57 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a21d623-2eae-0a2a0a5409dd-0a2a450a8e9a-8
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 21:46:57 +0200
Received: from [52.101.62.7]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a21d630-56b3-0a2a450a0019-34653e07ecda-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 21:46:57 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by DS1PR03MB7942.namprd03.prod.outlook.com (2603:10b6:8:222::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Thu, 4 Jun 2026
 19:46:51 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0092.007; Thu, 4 Jun 2026
 19:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=YdyoZ7cDAe2aebr2LK3ayzoso6e9Yk8/yPzIfxWEEGRGUicraaOWAlNlMmHBqvNRHZydGQLdeIdg3jAznx7vsBUc2JgNUXjV9zsnuAOW5BEjlvGX1SMGHbsqBW+aA09RabaoLyXQz4eck2dy2WbNNJLz3PW2U2vykNtnZ2xtTawFjdvPAlJyk/EvQCzVvYbBJOpQT0dMruzrF/Ahb6u+JDojXz5o7ZQoLeGWq/MUQMC6YPObu2lWonkMog+UJSwpj2ZlmS56UOMI4MB7XjMtHxf+/QaY6t67EbQMPoAi1ZLso3dhkYv6Gq+8e/WVYlNH4L1W5dJ4YEXNZPUCpwcMKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=58Rwls3Zbpy0A1Dlb1Ok3I/PGVzGJzrN/n2HeoWFT+0=;
 b=R1on5QuuA63MWQqG1azZ/T/mfQWbt0NcVcEmdgEUBbA4YK9G1YUUDfwMEBykUkKzgEUwDc9Mki+4CBG6a3vsTr3Yb6s8rJaRazZolbpjeVbiDdnkDOgaPlUgxpoBR7WsotVO/Hb3C2ihssXFJdylQAp2rNJNDiQWHc5jaPsaFyv0nGEZjfpmL98agQXq6PSiI+Rc6DkQ5FoNtO+zVcGgMxmoCPib6KYqXA4VfM/7FSyL8B44omoxVtnEIuDkQ9X9HPq9Xc4lkFA4LSksctGwo+AwUE/tnvQPZqDy0SS6PzTZq+BT5UcsEeA0lgUPEM4SP3bfJmqSd0Q2eKLUrpBN9g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=58Rwls3Zbpy0A1Dlb1Ok3I/PGVzGJzrN/n2HeoWFT+0=;
 b=l/im9feE4w1Dp7UOlQ/CSGJHTmbPuGs6fqaaQiFnW24f0ntxARfSdxcdiEvT1atIZKzisXriCAWgRY0T5zjvCYZj1j3v7pf298i7dkoDHrEOtC91tNnqMdM1h5KRmcsPaB27Lb5irmjQOF4cHxei2RFIBnT5BLc9T+eE5HV5aTo=
From: Kevin Lampis <kevin.lampis@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: "jbeulich@suse.com" <jbeulich@suse.com>, Roger Pau Monne
	<roger.pau@citrix.com>
Subject: Re: [PATCH 0/2] x86/kexec: Implement crash kexec for Secure Boot
Thread-Topic: [PATCH 0/2] x86/kexec: Implement crash kexec for Secure Boot
Thread-Index: AQHc8q+VtM9vdfdFGkSSgX8o+ahXxbYtEQcAgAG9z6k=
Date: Thu, 4 Jun 2026 19:46:51 +0000
Message-ID:
 <BY1PR03MB799686D01FC998376FDB3B9FF3102@BY1PR03MB7996.namprd03.prod.outlook.com>
References: <20260602164911.2684471-1-kevin.lampis@citrix.com>
 <0ec4527f-ca97-477c-94ef-81f430e1e98c@citrix.com>
In-Reply-To: <0ec4527f-ca97-477c-94ef-81f430e1e98c@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BY1PR03MB7996:EE_|DS1PR03MB7942:EE_
x-ms-office365-filtering-correlation-id: 0879fe1d-d0ba-4204-84ce-08dec272061e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|376014|1800799024|38070700021|22082099003|18002099003|4143699003|56012099006|11063799006;
x-microsoft-antispam-message-info:
 S2s4SiDL4IT4I/asuVRJaWSp/9X0CXSqvXtmRd+WSi9iylJrMu1NiwTeGPNtS2lfCvOzX4CS4ydTvC1ANZw/xe/ty+cd9EoNklv7+xxQoP1QrrDG0ajQgqEZZ01aqzotgIP/Mwu6E9KgEdI6onIEAMwFoFS1UIiaGlaCoaBq08WeyJV+AdaaOg8+r5S7ScHpTJwyQrsjhrmRwpucAhy8RmVvSJ2l8GRMHJuzN1Fl+Nbz930FXYcGhOYR6QMyzNrXK8l3zVEgh6L4RWRq2KDWoTj6vTusoERteq/jRkAgzfbCd2el2P++9p4oH6hmqn9Q4/FBwopCLwYCRvIjxdANmgIZ6+4OrbyP0txvjQlaQ5NwaQQGAxEDo2bVBjoZCTA10Hj60STyjpUMnLGhfMQjHBKnjG7CmrTgthogq8ytGgAlukg4I8v2osjsaYTbTLIK+V27X0L681xF5cfJXUFwKDiNq9A5DacTSV4td0cruG/cnjgw+jWFn2HH7e26trUmFSZ7RUowUl1VQ0lrOV1weioUt82qWwI3B95+7EegwmDYgREfb5Qaoy8sSo0C2bnLqEwOCXHOSwt0AdpzvhkJaVrf3UOzUqYEDp1+/1+tTgxwee59GmsqDlv/oWd6059SLVI8eFS6rilKYDXJ0fiv2RDvfIHqwoemUf7wIefIJso6pVO9aj+YDkTyZ6YL/6tu4j8T5/gpDxjyxYDhMEu2C1SD6Cy33Qz/Vk01DKUaqvrxXoCkjJRdk5BWw3Fu+X5V
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(38070700021)(22082099003)(18002099003)(4143699003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?3Lg1jhePjrgbQbrhQuaBpcqfJ1mwMhJwhT0tmtMnOJnst1eQ+ZIZeY3FyF?=
 =?iso-8859-1?Q?4YoWyTCVt7k5sdjeuPH4D30nbfbzDLfoY3j3lmcci526Xg1SgnfCMqv1yz?=
 =?iso-8859-1?Q?aS1aSEJSxmD9iANIVTkdAtA+QTUxcWR9hrCHZWYje1uoR8aRJLBOY3GfSF?=
 =?iso-8859-1?Q?EHHhw6bNws936IvUREl2X8y7uiCd7CiTxM4FQntN2FEPlDenPrZt6umv6k?=
 =?iso-8859-1?Q?2GzxyM7OEUg76SvKWQj3htUkVTxoE1Q+k2bph/fDPBevjo1ghrRFwV7VvX?=
 =?iso-8859-1?Q?fmF1gC0pynauXNeVaDoQCn19N3JevWc8oyKoAeVdwZBW1wLjBWh3UMyFRl?=
 =?iso-8859-1?Q?rw+C1/aq6KhpPK/6twgOo7coGc74oDlV0VDZoaWk91riho82DVL8Eq5Ml7?=
 =?iso-8859-1?Q?AU2qcrl4s4bmHoNlWwft2t5WgfJciVcMSF1sqt7fONQqq4tr1YD7Iur3tg?=
 =?iso-8859-1?Q?eNC6i3xAEmALri2ulDPAYga9wU8Az7pTjf4xBZ8zcf9d4zzE7EDwzPw7aH?=
 =?iso-8859-1?Q?eOQqmhI12/ZSJrjj7WTbxMcq66Qfp8xeszrVUOweGCl04xtsOiYQMeSV80?=
 =?iso-8859-1?Q?hXOc03mndDlmP192eLNpbhehpdUK/Q/AWRKSooQPJsRVYzvCwZlb52c+ZA?=
 =?iso-8859-1?Q?V5vyzfb9gVSVxF4kSxP7rZke2tUj+LX/lptGpxIi4L56O8l9IelnwkfkAF?=
 =?iso-8859-1?Q?s5tviZHwiwPpNqyroUlubwkwHG3hi7WHlxfZ4pgVxFIHzmCgg6vEFsqfLY?=
 =?iso-8859-1?Q?uHPAfBcMtGSx5JuZ7HxjKZjCbY9qSk1wZmcibBSrNhgdxJMT3Q+h0Kr6ZC?=
 =?iso-8859-1?Q?FUm4UZ9/Wxsymd0skrhjYZl57zzfN3I5QkavUDvTBTSvWiL19eVDMK6T/H?=
 =?iso-8859-1?Q?TJWqLzlNpOpQ4Ycbt98EWnvl4SHZ+WruxPo8tI1HBO5wGz/PNYre92zujQ?=
 =?iso-8859-1?Q?a1WQBM5n3/WR/MasamXoG6PQlR2laeCkVCxNJZCtjhLVGAygQKOgYjnYrF?=
 =?iso-8859-1?Q?kdkuCOsgAGUKwZu8MGj98Y1c95WfChXijh7uacsAKd2HbxAe9U6I8QVwqY?=
 =?iso-8859-1?Q?RY53Xd1DNwGWFYhLJgrSZ1VmZu+bTb/5I6QwFoajvN2lyBDQQY5Cj/FSbw?=
 =?iso-8859-1?Q?QddsLKUQlexRRN6fgPLpCwMIDLwgGQShItvBj5JiXi4gg9vExNvPGgjOsm?=
 =?iso-8859-1?Q?EmjYVxw+01OhAXU1Xy4VyNjge4qIEkYU/ftHh/HPwPa9J8br90GFRUhOaq?=
 =?iso-8859-1?Q?JhUSFTvXLTRF7NWrPktRJD9Smon0i5nfMSGC9nSrwr5ni2ltoV47HPgLK1?=
 =?iso-8859-1?Q?s+4vRFxZG1h0AG8cTrVB/yN9meHCAb04Wt8NVdOm4bjCkwT/oUgJ2K73KT?=
 =?iso-8859-1?Q?wGcsQppImE+Shp9/YEb86joobILqpVwmyGp7ZvircrjcJIV6TpXwNIN6Ma?=
 =?iso-8859-1?Q?a4CLkUx1+AWRgvyOdzsnAyusQMTtEJAfqNqxbXQQ4/e/EswkgBhcEkAgSe?=
 =?iso-8859-1?Q?oLvnWV6Y5LqGrBuIo+gJ7j7haKSdiB9Z+R40mXDAmXjHrOpKAf0hv4c1f2?=
 =?iso-8859-1?Q?ZbWj8Yy1T1rK4u3SB4K3Sapw9ON2whkRUWyw7WmfTw+el8pSU/rMTdx0M1?=
 =?iso-8859-1?Q?w8FJyc+YIeZPNxcKnVyQNBkIoEFfbW4RDUzjEx2kM13Z8xlzRbFy1s1Djp?=
 =?iso-8859-1?Q?amewuyYdmbU+iVof+RzEIjAW8rakS4MrqgpnF93N9Pd4iBDxio+d//1D7P?=
 =?iso-8859-1?Q?mmqEs9NOetf1xi+QRMtzqFoLInR5z0JJ6AW6r7ayx1I2M5?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BY1PR03MB7996.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0879fe1d-d0ba-4204-84ce-08dec272061e
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jun 2026 19:46:51.7356
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: OLLjvBK5Ss1DUg/7jxUBnr3a+FLd0Uko4rMKXuPYdt2VD9bbFKDTz+LWIAOOLFa+a1CjcFJj7zR5rdXbxJELyQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS1PR03MB7942
X-purgate-ID: tlsNG-4011c0/1780602417-705648B7-069191D4/0/0
X-purgate-type: clean
X-purgate-size: 1715

>You have identified that bzimage is x86 specific, and for that reason it=
=0A=
>should not be included in common/kexec.c.=0A=
=0A=
I believe Ross moved the definition of setup_header out of kexec.c because=
=0A=
kimage.c also needs to use it now.=0A=
=0A=
>We are going to need an=0A=
>architecture specific way of figuring out the alignment, but looking at=0A=
>kimage_find_kernel_entry_maddr(), why can't we just use the EFI header?=0A=
=0A=
"Going to need" like "it would be nice" or "we absolutely can't merge this"=
? :)=0A=
I feel like I might get bludgeoned to death by a set of bagpipes if I have =
to=0A=
tell a certain someone that there's more kexec work to do...=0A=
=0A=
>Why is it [digest checks] tied to=0A=
>KEXEC_TYPE_CRASH_EFI?  It's applicable to all kexec types.  This ought=0A=
>to be first first in the series so it's not tied to EFI.=0A=
=0A=
I can do KEXEC_TYPE_CRASH_EFI and KEXEC_TYPE_CRASH but there's an extra lay=
er=0A=
of complexity with normal kexec.=0A=
=0A=
kimage_load_normal_segment() copies the segments data into temporary,=0A=
non-contiguous buffers and then sets up a relocation table which kexec_relo=
c.S=0A=
uses to copy the segments data into the correct place before jumping to the=
 new=0A=
kernel. Calculating and verifying the digest for normal kexec would mean ne=
w=0A=
code to walk the relocation table to find every temporary buffer.=0A=
=0A=
As we discussed internally I'd rather not touch the normal kexec code=0A=
unless I'm fixing all the existing issues and can actually test the changes=
.=0A=
=0A=
I've sorted out all the other things you mentioned but still in the process=
 of=0A=
splitting the patches up.=0A=


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 20:28:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 20:28:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328502.1592938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVEfW-0004RN-SH; Thu, 04 Jun 2026 20:27:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328502.1592938; Thu, 04 Jun 2026 20:27: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 1wVEfW-0004RG-PV; Thu, 04 Jun 2026 20:27:58 +0000
Received: by outflank-mailman (input) for mailman id 1328502;
 Thu, 04 Jun 2026 20:27:58 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <christopher.w.clark@gmail.com>) id 1wVEfW-0004RA-2b
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 20:27:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVEfV-007Zt8-1w
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 22:27:57 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <christopher.w.clark@gmail.com>)
 id 6a21dfb5-bab6-0a2a0a5309dd-0a2a450bd076-20
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 22:27:57 +0200
Received: from [209.85.167.49] (helo=mail-lf1-f49.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <christopher.w.clark@gmail.com>)
 id 6a21dfcc-212f-0a2a450b0019-d155a731d0cf-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 22:27:56 +0200
Received: by mail-lf1-f49.google.com with SMTP id
 2adb3069b0e04-5aa68e66128so1195078e87.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 13:27: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780604876; cv=none;
        d=google.com; s=arc-20240605;
        b=JvfH9wRxp0SDfyUmqdv+KZZkN4wtEmFLWA/8vob1ICBXoaZXNhImSWSKwKPEQXGsjH
         yhGBpW32sOr4EVurMthIOoSx6wRmmj/0IMcahdEiP1PqrFxdAydCh3cHo/TfhQimC/Ry
         jPay8OGpA5bA+FZyfqTlSiggJpyRmKqgjL5IBbbzvyG5FY+h0GrR+AC9CZ+m+zIsZ1YK
         jaaBOA1jD+lAYI3qrDkNvPyqTV/tNSEEzBhnlzMcqlO4qgdiwRF8ISH42VrZngSeqi5B
         Le/zpJb7td0uUB+xneUMPN9oyKX/1NXldC9dqDX7NnFnb/uWeULQ+CxsSHFvtgwqDYf8
         WMCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=Ru4/tFbPykkdYophb2IbPvYCEm08M5TfxMYpDRLFU38=;
        fh=tUKWqsqmNtSv8OyLozKgacW1gCbGytWM1DFVOq5CTIY=;
        b=enxleIZTd0CYoYJKjXs6bXkeH1NJf8NHkLsev7IdNR9IjY6JT0Ww7Cyobhojq/ekKG
         OSZk+AusfatGaCkHmwlR8lTXrlmk74beIiI3ivVOmxIMBLxkvAvM1QmTLivIrO0QuV+7
         hrIM1aEhoLxQSXJvzYId3sCxUxdl60apNJyGXer803aPf6jil6OUtGNYb8xqWV9nhrcW
         hrJGGXWdW0nO1nXggt3gkr8Nb69dDXAKIyWTjtjLfB1zvdmXO7VI3FV5Y1CfFx+JLV+D
         6tjeRpmjqIKxz9VEM8I7eo8bqfJL9L2kzxb4xtXEMgkZunPVb3VftYms6QGpQpkLAj8R
         rAJA==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780604876; x=1781209676; 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=Ru4/tFbPykkdYophb2IbPvYCEm08M5TfxMYpDRLFU38=;
        b=K4/USIfqBDBIPognR82E917yZJXjIVhokwQONmKeeBEWLAzxTEDD+bsZEjr26Vs9Vl
         hBMiUnpEUXGbZjawE/uF9SXF8lTH5RiIRRbSLNO9we+xcmQ0Mcd60aPUj4vLs6kE91aT
         iwIh1VHj7wLK0N1HccXuagazYYxr1grVgAs2g+KXgYdGKCaY+gydOWyszKgzxKZeDpog
         q7kXzXzIdzJJCxPW2KbihZMrtuvRj1pEoUwugUpe0HCpCv+MSwPSMhf/gVYHprJ6QA1x
         wV2sNjMIoZwqSRYycQ5b/ZjFtcEkjm6mh2fP87OQ2lNGwmiDjooGiTb86l6TrmfGiyR9
         ciZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780604876; x=1781209676;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=Ru4/tFbPykkdYophb2IbPvYCEm08M5TfxMYpDRLFU38=;
        b=YpNpKJ5HV4Qt4hjsKKHNrrNNmcO+KeRTCkCLikA6l4MGALH8OPhf1D9C5NV/K6xcbZ
         c3wiEK45QfikAVcMu1kfGaqBQSJ2O2k0SW7zNqRG//90pNtGI/SelvA+Kf347AYzTssN
         ZiEaxE4XywlWsKryHR7skGnUJjF6kI65kWPt02H0Q0J+V2cDW4Iph6wR97Vz2FNsEKm+
         1htMNwW91iR69l+YI5j+7OuslxcUvvfQ7ASqSnziGNgKEVI6QPVQVsJT1giugCM5pGr2
         ePwTQR7wN2mMssDPYWTnkgS+oOlHkioTclREONhqlqpCJsfiaarPHJFjdOHByPG6MGGU
         SnSg==
X-Gm-Message-State: AOJu0Yy4mQFYpU258bLNcMs6j1G28YXsYvUoKr+Wa1NWUe1e204mm5S7
	BBfv2H5m6NxywFv+ji4I/BuQIOt0jT38h2slspWYP4H61VY9hYmrh8jSQ+/xbjjXqMPamANMCoz
	f30LwQVT6Dg5uhVjrvSRFo1rzCszuJPo=
X-Gm-Gg: Acq92OHKwO56g2Avi9rf8ReFSyAEeCMXd2lO0Y8HaPloRBx9Dhpgr3LddEz3itiBXPR
	KVIdOXh0RYOXbHnt2sWiccPrm58EtU55qukeSiuZwEmO3r4a0qMTegEcnPVejfClqz9lCfZFCt5
	PiUWcfza690n71zejoyeTs9TjWqo0LT/qmb9ZJfpgPbk9Mz4zT6Ln+CvrG0a6Pjljy+DEgzZB3u
	KZnqmt/uT1G8mjPCKj9eimaLjajduaXlHAFoqc1LWPEvBVE0u82PTSQqYH7QKaaGu+YP9HTDcOO
	NsvJzlpptqvncFumnbf53/imU5kg9RYfl6Sq6XFArCDkvBKqtVlGuMsaR3X8XaP2kGh8Eeu7ZQ9
	B1Q==
X-Received: by 2002:a05:6512:3092:b0:5aa:6a5c:be4d with SMTP id
 2adb3069b0e04-5aa87b8a392mr139592e87.9.1780604875960; Thu, 04 Jun 2026
 13:27:55 -0700 (PDT)
MIME-Version: 1.0
References: <20260604184413.788910-1-jason.andryuk@amd.com>
In-Reply-To: <20260604184413.788910-1-jason.andryuk@amd.com>
From: Christopher Clark <christopher.w.clark@gmail.com>
Date: Thu, 4 Jun 2026 21:27:44 +0100
X-Gm-Features: AVVi8CeL-sm57SCBfaARXQs6s0IPylS-ML79iSfUl7Iddn_LitcSelm0nJ4DZzQ
Message-ID: <CACMJ4Gbi315aQZ0qE8+f3JJXyaRvva2vxmiH5-iXtiPKk+039w@mail.gmail.com>
Subject: Re: [PATCH] MAINTAINERS: Add myself as an Argo reviewer
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, 
	"Daniel P . Smith" <dpsmith@apertussolutions.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>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-42698a/1780604876-18762F3B-76344C76/0/0
X-purgate-type: clean
X-purgate-size: 802

On Thu, Jun 4, 2026 at 7:44=E2=80=AFPM Jason Andryuk <jason.andryuk@amd.com=
> wrote:
>
> I'd like to help with reviews of Argo.

Thanks, Jason, appreciated.

>
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

Reviewed-by: Christopher Clark <christopher.w.clark@gmail.com>

> ---
>  MAINTAINERS | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 77f72e52f4..b3c33317d9 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -242,6 +242,7 @@ F:  xen/arch/x86/include/asm/hvm/svm/
>
>  ARGO
>  M:     Christopher Clark <christopher.w.clark@gmail.com>
> +R:     Jason Andryuk <jason.andryuk@amd.com>
>  R:     Daniel P. Smith <dpsmith@apertussolutions.com>
>  S:     Maintained
>  F:     xen/include/public/argo.h
> --
> 2.54.0
>


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 20:37:04 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 20:37:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328508.1592948 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVEoD-00062b-MC; Thu, 04 Jun 2026 20:36:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328508.1592948; Thu, 04 Jun 2026 20:36: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 1wVEoD-00062U-Il; Thu, 04 Jun 2026 20:36:57 +0000
Received: by outflank-mailman (input) for mailman id 1328508;
 Thu, 04 Jun 2026 20:36:56 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wVEoC-00062O-D5
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 20:36:56 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVEoB-005SZU-EE
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 22:36:55 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a21e19c-bab6-0a2a0a5309dd-0a2a4505eb04-26
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 22:36:50 +0200
Received: from [52.101.48.55]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a21e1e0-aaa8-0a2a45050019-346530378691-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 22:36:49 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by CH0PR03MB6020.namprd03.prod.outlook.com (2603:10b6:610:bf::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.12; Thu, 4 Jun 2026
 20:36:44 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.006; Thu, 4 Jun 2026
 20:36: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=yK+fx7+JZ+UvFbQEvWnj9YJAYgeQMYTxJ25wWVeP6v9VzQI+PcefOp9h8khRuQWb5Xe9pWRCok0/arQRMdg5GqlwZ7up++IPljv2UmSZae3op2nahrU3dpizHJmoCXiAuaWASd+jCQZ63wxhJSnCMs/yDSmhcJGFqlDIu32FTCKZVXxTiXyajpJ4ZerrYh1tvGZDDy/nDBtiTZUHYAoj9UC52BTSaezJxih4+klFVlnhXemaJv/QuOsNG3iBTgzsKNPZ7gnX3iadctDc5bMAIe3D+SoZPEqUFlpwB370SVY2kcDXaZ57oM4WDYHN6H4kCtCv6K/ACdTheVSaF94BKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=A2Ggyc3aIEIZlS1TyWwH3yvJi6wwvZuW+jFgQ9AWNh4=;
 b=nDzoXCUo3yhSGD78L+MvweYcAdep6qQpHqhdW5DYs2QI8UX33dCPU4N+V5ED2OL50Auy7VFQmmeK9Jq11TqNexWeyMoHrzq7Q23fWVwJEr9T/ePxD2ZmTzg/FlZ/ji5U+OUU0ynA90V5lfjPwWZd4YSufkuJfmUrx7hf17imrGHuSqBsbPgqY1Wb1HULi6D5drkXeDixWK6NueLwHaPD0gdf2gqOYpskydIMIBmpATv2eRMbNqk7xDHOPRN7JKZ3AEL0u5AZgclpuNjMARWSvOaJ03W6Y+p69Cb04H+50pMWdEzJqa8nYK2GfHPMEqr45jGwfHiI7q4uEPo8gpcuIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=A2Ggyc3aIEIZlS1TyWwH3yvJi6wwvZuW+jFgQ9AWNh4=;
 b=fLo776l/i+Up0/e6qWdwIdssK5mFVoqaPmJ1GPsqWY5jrg1BSYVGPUYA8y2MuFxwfA3+EgiDuQjK+3E23wzg+0SiqykFJuSrwUou7QZXiL/+IVwNv2+A31+kQBT1OPfPkIm8e5FBnw0Kh0ZAshAqqjZ9OP7xritXgy3ZM4iy0sQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <4202324c-5b5f-4529-93fc-90a4475708cf@citrix.com>
Date: Thu, 4 Jun 2026 21:36:41 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 "jbeulich@suse.com" <jbeulich@suse.com>,
 Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH 0/2] x86/kexec: Implement crash kexec for Secure Boot
To: Kevin Lampis <kevin.lampis@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20260602164911.2684471-1-kevin.lampis@citrix.com>
 <0ec4527f-ca97-477c-94ef-81f430e1e98c@citrix.com>
 <BY1PR03MB799686D01FC998376FDB3B9FF3102@BY1PR03MB7996.namprd03.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: <BY1PR03MB799686D01FC998376FDB3B9FF3102@BY1PR03MB7996.namprd03.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0620.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:294::16) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|CH0PR03MB6020:EE_
X-MS-Office365-Filtering-Correlation-Id: 7d64ab22-f492-423d-c026-08dec278fdcd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|18002099003|22082099003|11063799006|4143699003|56012099006;
X-Microsoft-Antispam-Message-Info:
	vja8CluzfdkkSbPt4HUuzlnmB3IZlgK8gP1+SkkqE5ZowEVwfHUNSl3VSUJbKPZOJU11bNk8e6MNoqcBo88FCSHCvkJRGMkfgW57hBK4O3ME4mPF9KAcp7SVDhMoHED9fqvsDtOK1gBysJHmpw2KkrftNLfU5rw/ey8JDgxbynHseBh4kmlCSRAhHoYsu0F9onYl+2fA/3frUhdjK5FJXVhq+CT6hLVvsdJ2pmvyiuP3TBhcI/iXs9Oujl6yUn4C7LLVtyWl97aU4s0GH0R26neumWaYzD/vJ4ZSXW43SYfkVtcTj3tm9dU+CkXvixgNAYqMKGTwTcVbP7tKDLBmfrkASSyXmByK4SqgEbOrvZp1obzTW0jAiTV+isTdVBhtVHjH9xtis6Xvku2+drmbl6nNM+WEkk8Km+IZnU7CBqZQnJHi9GFMLCQnCerOX9utM5pvjDnTRTwJcWTBTdfKQFCMmvec2ggqYiMzrNmr4pWRNHOZPr3pLVpHWgs6m4W+qOkj9CJKTK4BhSF8L7hTWyleAcp0Tn8WA2VflWt4ROHLCQflKtHc5bFfiz8w1iB1lzyiVbMzOZV0/RtBm8D0AhWwvPT/0gTJrHA844mA6DjOBWlkRFXZsr8noDFFk1n28JETSr4+VEqk5VBp2E7Qi4NUGTBRDd6oFEhgTMaiGh2S5CubD3ubJaKvc70cM4FB
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(18002099003)(22082099003)(11063799006)(4143699003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aU9Ld0hTdTlWWm1rY1J3VjdscFprdzk3YUxHbTFKRmtneXJXVUZsYVd0UEZC?=
 =?utf-8?B?N1p1ZHdHQ2pzTjNna2dnejhaNlREaGM1akZUMzdic3F1cGRhc3JKUW1jcVp1?=
 =?utf-8?B?KzBzL2h2NWwvcGZnM0JLTFVibHkrMjFYV3ArU0VLZyt6ZEtPVE9ib1NYcDY1?=
 =?utf-8?B?U2JML2hWeEUxVnVCZ3JpdjBsMHRhdnpqalhBUjcyMHN1dW9XWGw3VnRhTG1t?=
 =?utf-8?B?SXU3YzJWS3RrdC81OG1UL2NnOERnd05OVFl5bGJpblpCZ0VxYlkzZVZ4R2Iv?=
 =?utf-8?B?azRzZ293cEpyMyswSjVLeW1kOTg0Z0ZXL1dDYWxvWldBdG1aMTZLUG1BVjJk?=
 =?utf-8?B?QUhvalJiVWY3aFhEVHNBQ1NVZ0R5TXVUdU41YTRHcU1uNDJ3Nm1lN0FkblZr?=
 =?utf-8?B?Uno0bDZ2VjVRK3VOM0NCSlI3aEJuY3lMR1Q1VFUyUSt6bmpIVlRrVlE3bEJy?=
 =?utf-8?B?WVFFOGFLSEZObE16MTdOVUozNDE0N1VoTVVrZytFUkRaZ0lrdks1U0EwSWhH?=
 =?utf-8?B?UU1yTCs0Y0I0T3hGNmZVYzMwd3ZpbDd2blE1eXl6bC9JSTFjL2FCcHFGNWdK?=
 =?utf-8?B?WFhEWVpXOFExZjFRQmNkM2RVcjFlTlI1aTBrdmlOUDcvajB2MzJlN1pIeDMz?=
 =?utf-8?B?OG4zN2FGemcyS0xFVjdBcTJGRVV2SyticzV2Y0MvN29lZTdZRStVTzN5UGRh?=
 =?utf-8?B?N3RkM09XbFVLQ3V1V1RabVZUYUpuMW1xSkhmTDdwVktDclMySTZNWEFlUW5E?=
 =?utf-8?B?MGFKZXFZNUN5dlI2dzgvcGJkaFZUVlgvQ1A2VjNoZ2RJbS9FV1BlOVdsQnU5?=
 =?utf-8?B?T0JtK29hb3Z4YW1zS3V2ME1NNkQrYWpLUVJLRjg0b3BmeDlELzJocFQrK0sv?=
 =?utf-8?B?OEdYYTFaRU55TWU4SWJoTW1JUmZIWm1UOUY1MFQvTGtmZUZLN3cxSXBNaHh3?=
 =?utf-8?B?T2pCOTRPR09qRFI0TWdaRzZUMTl4QnZLejdYTGhHaC9mbnVQVXNqUkc3T1Uv?=
 =?utf-8?B?VWhyTGdaYTJkTmhhNTRYVXJwMWtrdm5oeElLM3BZK3ltYnJSNjcyUEk4UVVa?=
 =?utf-8?B?YmJReVRyVDUwaDZoY0s1c0hVOTJyZngvcVZwblMyVEtDNHFtR2Y3c2pHVFJC?=
 =?utf-8?B?YkVEVGlkZXR3dXNmRHM3UlR1bTgxM0RkS2x1KzFYR0J5QkpLSkpDQ2J0ZDY3?=
 =?utf-8?B?RVN0Z1NJT2pKbkFHTEZuclpYb1NSUkJkT2QrdHI5QS9QSUhIei9sZUtYU0sw?=
 =?utf-8?B?MDlwSGNaMEJEQnppUEpLM3g0YmFQWHcrK1BJRzRMaGh3clhDUFNoZzFwUGRP?=
 =?utf-8?B?QnFxL2dzSTNrLzY4VUlnYjlpMHJjeFBLcmdCMzBaVjhkdmNlYU5TV1RTanJ6?=
 =?utf-8?B?T1E5R3NaY2hoVWhwZnkzNG9ML1J5QTRQZ01Tc0kvRzUxc0g0dlhXTG1FVlpk?=
 =?utf-8?B?OHFjWHI5VWQxVTNCdUJkM0VTZnlzRFFSc0NqV3JYN0hDZElaVCtuZlJPMFow?=
 =?utf-8?B?YStyOTZ0RXp4NkNRVDlFLzYrQUVjcjRSYTFQdWI0UU10QXlsMXZVT2hjZjRL?=
 =?utf-8?B?N3diaUFLRis4VWRua0FPck5KVEE2VGxjSXlHbjcxY0diajB5RUJXMFIrNmZR?=
 =?utf-8?B?enNMcmM0S1JnS2dUTGNJN0RSa0p5U2dFaVREaXRRM2RXTndiYWtLamJyN1kz?=
 =?utf-8?B?RTJmQ0xMaHhpcXBTNFA4alhpUjFxbHdyTHBZLzJjUHFNN0RWK1NxUlA2eG9T?=
 =?utf-8?B?K3dPZ0Q1cmpEOEcrNEVENVRrWG9kcitVSDlDZm1xSEMxTWdLeTNoZU5ESXF2?=
 =?utf-8?B?UXdSSDdwaHorQlRUSmlvTHNUSU9zYXNwN1NxZ3Z5Z0x3eU1oRXV2KzRVbjRB?=
 =?utf-8?B?dmJ6MTdnbDJKODh1ZWtsNVlYUmFqNFJIR3FCN0J6WWRqZmlFc3pQNUhVR1hP?=
 =?utf-8?B?VHZYVXJ3eVAxMndqWFZ0aUUxRmtPVGo3ODJhTlZ4U09qTVZEZUdnZXp3amh1?=
 =?utf-8?B?NmdWSEl5UldadnBMK1ZYRkZwUGFMKzZkd2g3MnNvNEhsNjY1STdxYmZ3MThs?=
 =?utf-8?B?ZERlVDgvV1BwR3lodytYVU94YnFBcHBLeWo1N3MrWUxIN1pOcDFxV0kxYlB6?=
 =?utf-8?B?MFFGSGlETzNHKzI5cFFtYUxuVVczbGJ0QkpEcWZFV1JTVnJLTDV5N3R3U3Fn?=
 =?utf-8?B?Mk5yb1haeEtTU1lhc1dXSjFvdUNmRHBFUGpERHNuSjB4UlMvdDJNMjJ1amJ6?=
 =?utf-8?B?SXFhc2RSTTBkZGpScWxxK1VqM1BSNWVkSm84cmZBSU1ETlkxWDMwb3F5VG1m?=
 =?utf-8?B?UGJSU1l6TnlJMGUzQXVUZS9iUmxtOGZLUzdxa0l0VkJqa2x6WXNhekFQQUxj?=
 =?utf-8?Q?RIoet1Qi8d6O1O4U=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7d64ab22-f492-423d-c026-08dec278fdcd
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 20:36:44.4250
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: V6rdnMD06FcrQvPVQugxx0Te3kbooUUBxuCDH9k/2XGsl8iroNlR1S5PTKGG0+pvF+SbWXU9iw0FCUqIl8JemXB0HgTHPKxdhmlRE1nkPnM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6020
X-purgate-ID: tlsNG-c201ff/1780605410-D937C443-E44AE49C/0/0
X-purgate-type: clean
X-purgate-size: 2082

On 04/06/2026 8:46 pm, Kevin Lampis wrote:
>> You have identified that bzimage is x86 specific, and for that reason it
>> should not be included in common/kexec.c.
> I believe Ross moved the definition of setup_header out of kexec.c because
> kimage.c also needs to use it now.

Moving the definition is fine.Â  But it's still x86 specific and cannot
be in common code, because you'll break ARM, RISC-V and PPC by doing so.

>
>> We are going to need an
>> architecture specific way of figuring out the alignment, but looking at
>> kimage_find_kernel_entry_maddr(), why can't we just use the EFI header?
> "Going to need" like "it would be nice" or "we absolutely can't merge this"?

The latter.Â  But really it depends on "why can't we just use the EFI
header?"

The EFI header is common across architectures, so if we can use that,
its easy.Â  If we can't use the EFI header and are forced to inspect the
bzImage header, then getting the adequate alignment needs abstracting
properly for the common <-> arch split.

>> Why is it [digest checks] tied to
>> KEXEC_TYPE_CRASH_EFI?  It's applicable to all kexec types.  This ought
>> to be first first in the series so it's not tied to EFI.
> I can do KEXEC_TYPE_CRASH_EFI and KEXEC_TYPE_CRASH but there's an extra layer
> of complexity with normal kexec.
>
> kimage_load_normal_segment() copies the segments data into temporary,
> non-contiguous buffers and then sets up a relocation table which kexec_reloc.S
> uses to copy the segments data into the correct place before jumping to the new
> kernel. Calculating and verifying the digest for normal kexec would mean new
> code to walk the relocation table to find every temporary buffer.

Oh - we can calculate the digest easily when it's loaded, but we can't
check the digest easily at kexec time while we've still got the ability
to fail the action.

In which case lets do it only for the crash types in the short term.Â 
They're the important ones to check.

It's ok to "return 0; /* TODO, non-crash types */" or equivalent.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 21:47:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 21:47:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328573.1592956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVFuD-0001EO-Kw; Thu, 04 Jun 2026 21:47:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328573.1592956; Thu, 04 Jun 2026 21: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 1wVFuD-0001EG-I9; Thu, 04 Jun 2026 21:47:13 +0000
Received: by outflank-mailman (input) for mailman id 1328573;
 Thu, 04 Jun 2026 21:47:12 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wVFuB-0001Cd-BR
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 21:47:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVFu8-00BQLk-NA
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 23:47:08 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a21f258-bab6-0a2a0a5309dd-0a2a450aa900-8
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:47:08 +0200
Received: from [148.163.143.241] (helo=mx0b-00498f03.pphosted.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a21f25a-56b3-0a2a450a0019-94a38ff110c0-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:47:07 +0200
Received: from pps.filterd (m0482515.ppops.net [127.0.0.1])
 by m0482515.ppops.net (8.18.1.11/8.18.1.11) with ESMTP id 654JnVVc440297
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 14:47:06 -0700
Received: from dm1pr04cu001.outbound.protection.outlook.com
 (mail-centralusazon11010015.outbound.protection.outlook.com [52.101.61.15])
 by m0482515.ppops.net (PPS) with ESMTPS id 4ekfv1rw24-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 14:47:06 -0700 (PDT)
Received: from CH2PR07CA0008.namprd07.prod.outlook.com (2603:10b6:610:20::21)
 by LV1PR16MB941225.namprd16.prod.outlook.com (2603:10b6:408:3f2::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Thu, 4 Jun 2026
 21:47:03 +0000
Received: from DS2PEPF000061C3.namprd02.prod.outlook.com
 (2603:10b6:610:20:cafe::86) by CH2PR07CA0008.outlook.office365.com
 (2603:10b6:610:20::21) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Thu, 4
 Jun 2026 21:47:03 +0000
Received: from mx0a-00498f04.pphosted.com (205.220.161.53) by
 DS2PEPF000061C3.mail.protection.outlook.com (10.167.23.70) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Thu, 4 Jun 2026 21:47:02 +0000
Received: from pps.filterd (m0426317.ppops.net [127.0.0.1])
 by mx0a-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 654LWUZV3759767
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 17:47:01 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-use.ser.proofpoint.com
 [3.215.31.156])
 by mx0a-00498f04.pphosted.com (PPS) with ESMTPS id 4egeyps40m-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:47:01 -0400 (EDT)
Received: from localhost ([19.12.76.222]) by cmsmtp with ESMTPSA
 id VFtywz0pCfWWnVFtzwFWLJ; Thu, 04 Jun 2026 21:47: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppford; bh=3rkXkEswGjjazpEzcRwcbtrCGdq
	lbg1ua9p2WVNs/X8=; b=HFNYdEF0kqP4XInRbeSmRPmxfCHBQn8izceF2mg/l/z
	VzOA2EmwqickWsNV+EevR4HRIW88luCa2FDGTBPZ0+FUBo7fxAmfIX63hjnhMy/z
	ES7KTXX5Z0gK1EMZjoMfkBP5D6q9uJgR0ixZp8uyIW7E3C9F0wOxc7JAjcjF4ZEk
	oBbT6ZWecgISJoH1SjgzvwhsqqqOMO8xlxYCEDjuKRn+MEfawHHV9hXo9HJCFvcl
	jb6UD8JxVm6jOC2Bzfva34aEumno8OG0bjbSaSJIe7xI0TODVikNQPmMcANxPMhE
	R8xrjUa5oOSLWqDdXltEsy6EbXh8i8QazpNsXZvbKDA==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dNGJnH2ZsgEQrz7nVeu/eTFP8vgyBHCwO1EdyR0+7pfMrI1C1WKoSJXBwSyNwtzRRoT3FdZW6+c15xhzoilH5PbpmtiRaRNrh/fZ7cPV7FUFrzzagFrtImRCgwjSqQZY+EHHFLFpa5ejmBI2gX4BJBF9zSmNxJ5OZTUIwh2olmn51RngyqXeOkgLDNBvckfC+wIPMfZH3ZUoE5zGaCQAl9sTyYnSfHgQPiu7VsCnkVq2HYLllrIyRsz0RqPfh0gymd//Oh2grDDgHwrDYzyIxPqbBo/CTvlyEZjziaJMIRq9oVu+Z/DnGHl3U9IwPMNZof9UnSalRR8gOQTwFyzDjA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3rkXkEswGjjazpEzcRwcbtrCGdqlbg1ua9p2WVNs/X8=;
 b=tOcz1Im7pcAVojHy0nc9Xnsw3vzRYv/xIuPdEhiMY+xfaMJzil+ucQA/qw3fQwkH+KZtWClzp2+YzU7bbivlIFfLy7o4nsgZOrVxmzEE9kXuaPQri8sUPQcBkX+0Fq6enewzH4ZjgLzDNNa52WSlVVh8Ok4GZcJADDsA7Mz/dNj7YtPVFvA6wAq5G7Z+hgz2LtTkIGmygwr58kdf94yKlTrfcXhY5eoDa/S1mlV6QHUyXehRTmP4yPFwkQL4oRDooJJqkM4pUMtRyAMg+VXGZuKH54xFRAcK+g7i88dNHViyaWx6J8e6c3TfiV89UFRnfiJBwsycqvkgc8AidsXxIA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 205.220.161.53) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3rkXkEswGjjazpEzcRwcbtrCGdqlbg1ua9p2WVNs/X8=;
 b=BMjdpEknuM4aZ6JMR+FHxMEncePb8pdYv3uzYQPLm3QByMVGqrh7OTZJx9qRC8ON8DjTgFofQyqR+rRtZJqlf2Mc+bowq4pJtOrwAmXIJmPYgCPmGnBTKfA9LoD/AtkBduRE//odxd+xqSm6Kf7s2l/vzLqcZV0s2cSZechP/3Y=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 205.220.161.53)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 205.220.161.53 as permitted sender) receiver=protection.outlook.com;
 client-ip=205.220.161.53; helo=mx0a-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppserprodsaar;
	 bh=3rkXkEswGjjazpEzcRwcbtrCGdqlbg1ua9p2WVNs/X8=; b=OJS9LxAKkv8K
	oQRzTMpHWxy4kwReXjM0nKarCVOOKdEWmO76ylOmlNLdlPfpA16SOmA3pMe64MxM
	p0pX9DJuUJjRpTD9qvFMy2IMa9sQq+q+2rEy1zia3s4FrtuNTzi9zre09CzYQWzw
	ZwbWlRm3YCZ1PiKGoQACBkxShatnaGMCR0htJEMHs2jsJIG2Lvp+bsE0nF1XtPTj
	3vw8c43ar7ETXvPQyx0czXK855ATbuW+VhnDdxsNlOiohBx2LQ2bzJixHlTi6Pau
	tksYvXUL48dyoyTwnG6T1+oY9iuA3UIrqAkHfFhEL66bRkNTMykbI8LbAWf8bBdn
	QLU9WYHFLA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppfserpocford; bh=3rkXkEswGjjazpEzcRwc
	btrCGdqlbg1ua9p2WVNs/X8=; b=WO6wwkd5965EIivGcoG8RI0k2DnpJxN7KZP3
	q2CTNeBsm3ZWIleJdGR0rP15MbI0Zd1S+Ld0H5UWRsXbzy0ifTYpDJcrutVQryJK
	TbsAJq1bd1KG/inaopvJLz6xQv/Ww7uvFg3JM1ZH51JXjV6RKyptIx3IEnZB6bna
	cL6lx6tlF1Vlqv3GgaWeX88UG0jzCwDmXKpoWc5JmcMSb2Ef7lmiAuZc15gSllvf
	eto5sBnw+PkyGf5zEZNhi+Xu56YoBdFnfsvYpxIhF7odnRJCJDUIXWvLL4UgQcta
	c+q/QW9daEwhdUO9vICsGmvrZniVlj2QglO0OSz+VVL60F8L/A==
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: VFtywz0pCfWWnVFtzwFWLJ
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
Date: Thu, 4 Jun 2026 14:46:58 -0700
To: Jan Beulich <jbeulich@suse.com>
Cc: dmukhin@ford.com, andrew.cooper3@citrix.com, anthony.perard@vates.tech,
        julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com,
        sstabellini@kernel.org, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 5/6] argo: introduce CONFIG_ARGO_DEBUG
Message-ID: <aiHyUuYWaT1QBI4W@kraken>
References: <20260603194131.1468654-1-dmukhin@ford.com>
 <20260603194131.1468654-6-dmukhin@ford.com>
 <34ddb2d2-d3ec-4042-a57c-7095513c099c@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <34ddb2d2-d3ec-4042-a57c-7095513c099c@suse.com>
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_06,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0
 adultscore=0 lowpriorityscore=0 malwarescore=0 spamscore=0 suspectscore=0
 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606040213
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF000061C3:EE_|LV1PR16MB941225:EE_
X-MS-Office365-Filtering-Correlation-Id: 37697b6e-eeb7-4c06-8722-08dec282d00f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700016|82310400026|1800799024|376014|18002099003|22082099003|4143699003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	TBItVnFPlQGf+2O5gl0NDYV/iBwoS6vxW+oTTB0yX29K7yvL+Nu1Xy2bgak5v9hCzip+HNQZrPK8WzS2txnjeRNq0IlHKuQG+LQNENUOqtjI4vX0xGUBGLkI9s7JMlEDgJ6xddsjMVzfFiqZBoymBZJZcgFfgFmza47gOXvfkYR6JQKCzzC3LvPe69UoOnOt1O4wybFQmXhkOBXJ6EW2tsDOH9vMelLbUeWaDnCUe33+zU7PpIFEWBeUEXuIe15eqQianNJi3AzIJwqbol45HH2CBjAhGcWonGjw1kIZvFVBDT4Ut3uJdO3dtk4W/c8FOlWCfZA/ICGy+Is04hH+thYuaHbn8itiHW6NZKvq1J8FZWQ//SJhRAUrVsi941JR+oJoU06A+imhlKh+/pf3dsoIXk45N9TzrFbhOyOE2u6uyP2tknSe8TKcZIvlIWxVPcfaNHg2/cP2MG4JezYOjO7NfWql+EAvoXG1ZUYq+u3usMVJc7twwfWIqp0A2sNdZh6DFI0WK5P9Hzd109DKkUCGhGt5x+/8NTZ6dco7YQZUBxsNAIBfT8v15M5GkURpADNGW9RSgb7GyH4H54wn8JSZD22OOSGgDaNoARPlE2ZDCh4+Tg7ThoYyHfiFcz4gAPIdYQoRXoNO5jvbtLeBwECD5G2bkti10MZ471gZlFYMsFmnghiHr2vqqAM6vgIZe74rKcf0WYBR2dNsoMmnjbn+M3+nANaYXVeVgFRxCwU=
X-Forefront-Antispam-Report:
	CIP:205.220.161.53;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0a-00498f04.pphosted.com;PTR:mx0a-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(36860700016)(82310400026)(1800799024)(376014)(18002099003)(22082099003)(4143699003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	FdzQa8tpD/5cOaDpu/U0omoX66bnHfRGAXPrZSoEYB3fEl/pCqSsMu3u3v+SM+sVA5/6WMPxIZjFAOYaGrd9kJ7tiro8UFrmVjGWf/w9dZvf/7Iro1J5eNJLutf9a1Ic2r6qzALI22A+vc/iosrQA/YCs53YDvt38tyfLozgyAvM3r0nWI2M7A3u6l0xci6L6JXR4vdfSFT1hFvzF+aECmqvAcDQMdb4HrEAGKtOjnZLrNedPLSTGNK5qLv9TwUWRQ0S33m0i6QcFFZtpBj+8yeW9LxlqNvPj3xt6ly2KSsLW6IPzq1od/QuMc+XfhSyXRr4ZJAxlx45OrgB9xketrhRIiW+GLD6ssRdhzkVhiuEkLdNNFnIaQS5cFFCZQGnt+taD5flUkNzogSHzyCCvtqh7q/itAi8RHIeUo9xIHBIOE8FJ035ZxS6m+Ng8YWx
X-Exchange-RoutingPolicyChecked:
	ZwJJSxQXk4jdnat9xvgJEyYlvAZcLjWeCMJLuIMwQNJpNSLNqHw9qw7iLMIMLXZo7uBBmi9LrNxo8bXC5GSvxuEBtAoGXjYrX+s8bQjKcADxZBP3wXY5zERHSNQ8puTvDdbNed0CEHvfTJdJNUs4lONLeIbw4DOVniC/goDPtS5UijMJ8FuAFPhqtm4n+krIpEe/lCh2ppDWwA8OLuu6cZu8ix66b99v8Z9ID3L3ijIdT7fknDjx3iOtrJm4SvW3nS80BRL/9Odh5SX+QQUT6fQnWSA+D5JaatoQ5QIjscNn2kQFZczF+2tSIPYBSXT0rN90bcwha+F78lqfj1JkGQ==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	jNWR5v6Mnq0LHGBkesNAxRANCYJXWLjI2Im2u7L+51CapYED03WUBH9MImuYOnHIAixjk70hFIV4oV1v1ud9wjmYQYG6faqnvu/ksSR5r7UVYo9h2AOCLs9kewIOYZyxOwKY5aNrdgrqeq+hqETQWVH6Bx/VaySX6IcrAER/ASU628lSrCpr23Oafjez8FT0LvTzHBpMsXJ9R6eT1jB3d4SG1EfvzmCQCIAXojIOT6ryXLlRvLNJSCc1t39voRXpVjLyVO/SLCA5Howw1TUUwpUD1CL3AYpCLMDX/kxFy4f1KnLHf+TSqWTaHPATuXLSqVk0ZkfqGDX87n3eprQKLf5QjoBGtEMAAQIRAj9Aw6hhASDMdX7fiFC7TgsFToNhKqr6dwGfgJ2TEoGGIHs1SQ2Q+Y25vjrFkmTWIQusXUdabr2piz+NujG1m5kE7wXUTSiTG0oJZenj5eyH63dphrwGh9FWiXAcvlggEC/zA/vNR34BEjxhEbrhEfitjmhUYoIf9uUNpQQ2FMaVd3iqFFgJ9w02SGBrrDfO+9qPo7HUs8EQY3UYQvhoOFGQz02ylz8V9hd4sKKUVtk13DXC/0l8MTiTH9jbUhFBdwf4kAHWsEehdkItAvK5moFFscdy
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 21:47:02.3279
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 37697b6e-eeb7-4c06-8722-08dec282d00f
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[205.220.161.53];Helo=[mx0a-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS2PEPF000061C3.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV1PR16MB941225
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA0MDIxMyBTYWx0ZWRfX49XFGjxi1cHC
 1lxaOBAOpuZPb+aEjqUKwoYKzLvIHNCzirxF74cXPGtyl+t6N64P0+bhTd7W1R/HXqPghyAnLBk
 MDJLEmr48km8GiJi7Vu7y+O16tFttwMpi9485dfkZl0jhQ0J1Et/ywNjFKI6mpXTI38onNLzIDL
 qnLSUE9QjWTK6+L/F7796vk8ChCAUgNdn9ZKnVkHJmOhNK3pSpcuRahwkukZEVWlFkxVUU+GRWS
 QXEuy7ryzXBXWT4DllcPsJdEd8+TRtb4SLqt0YBUK560o+g96eGHtrdJDI4YmhSiL/3f8i4nbh9
 cptNdkwgjijdlhheXp62GW4jFWZBKh7KYE9Dc64osG0bXkMCFoXgNigvT7m7WQ55LgKUvHWCqzg
 HQsKb6DgTdQNiRxOqslCq2UVBgWH4bn8Rb+9LuREptSovWRKJRdmDLAojc8BbFxNB1Wg1OKYAaq
 mCrQxC9h9CWAi1WjR+Q==
X-Proofpoint-GUID: tB2_DO-BVJOjilgmR4Qv2vAk6NQ6vp44
X-Authority-Analysis: v=2.4 cv=Ify3n2qa c=1 sm=1 tr=0 ts=6a21f25a cx=c_pps
 a=85i0V4ggiSMiQM2jsTwpvQ==:117 a=lOEMawUel/sSvQipkIvNbg==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=kj9zAlcOel0A:10 a=FelO9ux0wxsA:10
 a=3PXLN80vpJUA:10 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=P_n1zlmtWsCQbjROFjcg:22 a=0GA0A_IKJoUHBEAzNTkD:22
 a=cbNQJ9GKAAAA:8 a=zBuQnPAgi8yKKLfrsoQA:9 a=CjuIK1q_8ugA:10
 a=G69WFyCBNqGPyalROSdv:22
X-Proofpoint-ORIG-GUID: tB2_DO-BVJOjilgmR4Qv2vAk6NQ6vp44
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_06,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0
 lowpriorityscore=0 clxscore=1015 bulkscore=0 impostorscore=0 spamscore=0
 suspectscore=0 malwarescore=0 phishscore=0 priorityscore=1501 adultscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606040213
X-purgate-ID: tlsNG-4011c0/1780609628-7DD828B7-375086BB/0/0
X-purgate-type: clean
X-purgate-size: 1339

On Thu, Jun 04, 2026 at 07:37:28PM +0200, Jan Beulich wrote:
> On 03.06.2026 21:41, dmukhin@ford.com wrote:
> > Add Kconfig knob to enable traces for Argo debugging.
> > 
> > Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> > ---
> > Changes since v4:
> > - fixed dependency on a new Kconfig knob on ARGO
> > 
> > Changes since v3:
> > - dropped uneeded "If unsure, say N." from new Kconfig description
> > ---
> >  xen/common/Kconfig | 6 ++++++
> >  xen/common/argo.c  | 3 +--
> >  2 files changed, 7 insertions(+), 2 deletions(-)
> > 
> > diff --git a/xen/common/Kconfig b/xen/common/Kconfig
> > index 5ff71480eebe..7676a78dca71 100644
> > --- a/xen/common/Kconfig
> > +++ b/xen/common/Kconfig
> > @@ -491,6 +491,12 @@ config ARGO
> >  
> >  	  If unsure, say N.
> >  
> > +config ARGO_DEBUG
> > +	bool "Argo: enable debug traces (UNSUPPORTED)" if ARGO
> 
> Why is the "if ARGO" still there? That's fully redundant with ...
> 
> > +	depends on ARGO
> 
> ... this. I said the v4 issue could be fixed while committing. Now you've
> posted another version (adding to overall mail volume) and an adjustment
> still needs doing.

I was not expecting this series to be approved for 4.22, so decided
to send an update, supposedly so no adjustments are needed in the future.

Let me fix that.

--
Denis


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 21:47:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 21:47:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328575.1592966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVFub-0001ut-0r; Thu, 04 Jun 2026 21:47:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328575.1592966; Thu, 04 Jun 2026 21: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 1wVFua-0001um-TX; Thu, 04 Jun 2026 21:47:36 +0000
Received: by outflank-mailman (input) for mailman id 1328575;
 Thu, 04 Jun 2026 21:47:35 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wVFuZ-0001uM-I1
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 21:47:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVFuY-00BQLk-Kc
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 23:47:34 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a21f270-bab6-0a2a0a5309dd-0a2a450ba226-2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:47:34 +0200
Received: from [148.163.143.241] (helo=mx0b-00498f03.pphosted.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a21f274-212f-0a2a450b0019-94a38ff1f618-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:47:33 +0200
Received: from pps.filterd (m0367129.ppops.net [127.0.0.1])
 by mx0b-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 654IpVrk2151872
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 21:47:32 GMT
Received: from ph0pr06cu001.outbound.protection.outlook.com
 (mail-westus3azon11011046.outbound.protection.outlook.com [40.107.208.46])
 by mx0b-00498f03.pphosted.com (PPS) with ESMTPS id 4ekf0uhew1-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 21:47:31 +0000 (GMT)
Received: from PH2PEPF00003851.namprd17.prod.outlook.com (2603:10b6:518:1::76)
 by IA3PR16MB6749.namprd16.prod.outlook.com (2603:10b6:208:51f::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Thu, 4 Jun 2026
 21:47:27 +0000
Received: from CY4PEPF0000E9D5.namprd05.prod.outlook.com
 (2a01:111:f403:f912::5) by PH2PEPF00003851.outlook.office365.com
 (2603:1036:903:48::3) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Thu, 4
 Jun 2026 21:47:27 +0000
Received: from mx0a-00498f04.pphosted.com (205.220.161.53) by
 CY4PEPF0000E9D5.mail.protection.outlook.com (10.167.241.68) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Thu, 4 Jun 2026 21:47:26 +0000
Received: from pps.filterd (m0426317.ppops.net [127.0.0.1])
 by mx0a-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 654K6YO5133194
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 17:47:26 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-usw.ser.proofpoint.com
 [34.209.42.160])
 by mx0a-00498f04.pphosted.com (PPS) with ESMTPS id 4egeyps40y-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:47:26 -0400 (EDT)
Received: from localhost ([19.12.92.222]) by cmsmtp with ESMTPSA
 id VFuMw8JocKoqdVFuNwHc1p; Thu, 04 Jun 2026 21:47: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppford; bh=OKuUim0XHBTmoKqBC2L84b1tnn2
	gZJvVnuzUdKCrPwg=; b=jE2I6I2P8jdk/lc2+WyaWheU6eCrdVKhZ5jm8FJKin3
	eUh4l6OucwzXFdM5KsH5DAAM6FiM3V3q5sjRvAZ4pPYox7lDLAnf3zqQrE+eolml
	BxxQSzfo/ujFJF83zaCQzGWxCT0/Kb6dVObwgGeByetY6LC5Pt4mO2Vo5dy6vYcn
	B27pjt8SHOAPual+/ZMHf/j1LwJ9NPmkWiHDCMYG3hNnqtIR1ls6QMWcuiCmO/uc
	palaf+eufC586GsIs7tHQbe+wiR+gIQI4JpumefBzMqvb2HA8rW/befU2lGu1ZCn
	aqSl4QEzPDtn/Pv2ZIPcA1NCgF+iBRQDnFKl8lbXrdw==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ty4XNM04o8hImDJx9KUGHtYgrfHwc5u0jkcotRwDNTWhuCMDoAs6lrg9te1tnH5nlw3HOrURmfTKyrXwnO44PeFjpzfkj55S1frsQoGh5ZAj77leTkMBSr7bckZUEWbwa1M1XwMMksih1Y8IRqCU/q9m2HitZE/C7051HpXqb9SV/odwF8eNWZSzYert4sXKpBnlJH7PGMXFzsDHysw16K+H+jm7ZbBtwoH1X6UL5gZZ+aMNcbU7EmymKL6kRe3HMrNPkx5L9OEqJcYRBmKY5anBVH2J9T6yDQUQt2EjxRpJ1jz1TOpcKkqasjnnP0c+ZRau1lggUrNkH/eLpNPmww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OKuUim0XHBTmoKqBC2L84b1tnn2gZJvVnuzUdKCrPwg=;
 b=P7StWGXFKzWlh7hIFHwi5DYTyNYprb7G2zEe9hA1JeyW8wQR/XsIhgezP428TZCjDheqYRAGRW2sGFgT+7GmNBQ5115oCwONyzQXV2jvRskEnnGnOj4MdKut535Ic2c6ILigUKp0Tm11aMEJdIVCnzAwBrfEt3ubeYGjmOcd0gkIoBTk7fP9tfiTLC/ZWOFaFkvl7oDGcYBtKB3zt8HHhpbcaAnGdSZdC+k80JcUbi9I/AI+cWXPfPQuOQ+kqldVwiBnVe+w1qjUTVNQw6EknP9d0exg/6yw31sIQ6yBp5b33xscI3ZZeEs1d1M406QKkHHuT4NnC4dLInE89p1ftQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 205.220.161.53) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OKuUim0XHBTmoKqBC2L84b1tnn2gZJvVnuzUdKCrPwg=;
 b=i/Q+l3lY2v9vCem5FW4NgIIllrAOBSNTC6bFTU6ScEGGF5TF3y70nyB0tOV2rLtXcdufBVcodSwYDF3KBu66Pg5Hc/6fZsObxJ7Rjbvi6p3hJROLeeJOSuJlAtuj9KS3w4wUluZyYGmwIUIZYGX592udFCqcQiEUBYal6E+nMwg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 205.220.161.53)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 205.220.161.53 as permitted sender) receiver=protection.outlook.com;
 client-ip=205.220.161.53; helo=mx0a-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppserprodsaar;
	 bh=OKuUim0XHBTmoKqBC2L84b1tnn2gZJvVnuzUdKCrPwg=; b=dt+dh3JiLBgo
	Kb/0hWSoVbKxn6ZvyAyC8jVDNqoqnBt7Guktku/1SRccC/h7TGBgLHFyBl6KWD8j
	fBhlEoOQtoLc64196BHGnqN2uL6Pn6aSXVhv0f+ILhXvt1jVtSPV8lu2pxsy1JK5
	ncL6sIJHjFgPnqG7xv1ykm7Cs5tw4LSrAsh+9pAxlQp9WNKoBE0bc3t/u1OzLuFT
	Wj48K//9TEwqvC5JTRhuIylFYdUM4/u4/28mlnhUkbwmQCWbSTK5fRGkhdTxInUF
	tkJZ5XZga59jiopPf+mhKgkKYka6r//zeyN1P3jk1X5QiYLi73EaIKdzMQ8i6qUD
	hnlHTrrU9w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppfserpocford; bh=OKuUim0XHBTmoKqBC2L8
	4b1tnn2gZJvVnuzUdKCrPwg=; b=rhNFFd8gzSgxmL1KVx6oyeJHG2fSRHIrvC2j
	BiVUdErJRj5uuGemfWYgVwvscgTKuOie3HGH5gAaStsQhLJuIi2LEL19gR6Tgw6K
	llXw2v3EKQGr/pokqZ9JBX5LcIsZzZBzliVOdr1XBK4fNO+n6WWwFbuU4lgAheai
	fThbEVGRSXr+RihFP2A22AtdbSut/5ASRVtfyT/fqdtJU9Pp1R/kiEmi5dnb/AnX
	PrT4HZ1RHgP+mrIcsYR81P6BHH0pUIaszjQTj3uFzydm8juqz923ku0gEmDpMCZx
	XjfWpzOq90gtDV0wv2DkPgXoJEiAmHKS8kL/bwqemqkmHjKnvw==
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: VFuMw8JocKoqdVFuNwHc1p
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
Date: Thu, 4 Jun 2026 14:47:22 -0700
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Jan Beulich <jbeulich@suse.com>, dmukhin@ford.com,
        andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
        michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
        xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 5/6] argo: introduce CONFIG_ARGO_DEBUG
Message-ID: <aiHyav3G8pIN1RTu@kraken>
References: <20260603194131.1468654-1-dmukhin@ford.com>
 <20260603194131.1468654-6-dmukhin@ford.com>
 <34ddb2d2-d3ec-4042-a57c-7095513c099c@suse.com>
 <51167652-548d-48b9-a10b-872f31ea9e2b@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <51167652-548d-48b9-a10b-872f31ea9e2b@amd.com>
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_06,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0
 adultscore=0 lowpriorityscore=0 malwarescore=0 spamscore=0 suspectscore=0
 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606040213
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D5:EE_|IA3PR16MB6749:EE_
X-MS-Office365-Filtering-Correlation-Id: 80476842-b897-4468-be0b-08dec282de8d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700016|376014|1800799024|11063799006|4143699003|56012099006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	in5P0tD3mCpjHZ3jzlzGHPaiKr4SZ+nuJSdDubLm+E7zgbKUrfriFWtxHALeaRJwGMrnG3lJ2W0ea2sn22QLpUmWXHf5jWcFOpj1//zWOvcYTcLR5/Hz0zKQ0XtnKL4M1pMYLbKldx4yjLW2aJYpSxFzzWaFsfTOLbT0s6teVfshKUvg+23krGO1c6VfiInVcMCHPsMYaHWCwhN5ObK8U95g0Mzp8y8GnnFFPgEUDVYjFIGoXGnG6DnLfbr7I436GrvRYDcSisgvuH282rt9mHLhk9VPmCVJHiMlbXKAlCxxRnzI4nHkNhpnBCmVT8P3gzLPZlFYRqAR+Y+VY46QNwoC6AfnDrfd5XSXKD9wyZk0fxHTpgv2XHFCuo+7DpHcBmco4RHAKmBwjOiiTsREkQeV7BQsmM2AajNb2yQbMSUjLRq81CjCoe1yqbNyx5VQgMPezbaTrJhpgDl7xKUL484JcmHcagizJAPucjRWjnnQGURDU4r74P6i/x4BF+jA9HjrLBsVXAWCjaXkyAsWWCNIWO5wziB+HbvVPKiQIq+pLGoovBnZnb2fKeAzyXCSMi06d0KC9nnZZB+a0bEE0aptnbty4O+dOVUAIihHUvbs0z/pZdydUwuzpwRg9PDkSl0f1TXon26sLnQyq2meWpZKOjPbjHW3+/nbu9BFWRyz8k53JbObl8dQVmIwN2OsTIE3fzT8ZjzVcrQFiZBCn5OREOvNqmQSf+1TNNtBDVg=
X-Forefront-Antispam-Report:
	CIP:205.220.161.53;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0a-00498f04.pphosted.com;PTR:mx0a-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(82310400026)(36860700016)(376014)(1800799024)(11063799006)(4143699003)(56012099006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	ZlWfI+wr+yehvabXKMZZRRDqu0jG3Y/D9BoFupoeF5A902bbUp6XqUTXg3Kdm94siQ2hXy0kYaLJBM9QlHN5QICzVYc7YssdrOGvGTUDFl68rNrtkPsdbqbjlZiLid5b/ghS3+hhtqGpjFJFNfs9b9VDtj9j57YvCn1s1szb680lkkBy7yIZonZbY1AAdWGG0wV+47kPEBknIrYB4LQhbqU5DZ7l0dQWoNrQFx/WsfkXbE5qHn1cln7C72E9ZdaqOYIXa0HN/CDFCcga9BJ9WXAT67zksvrxvxJmFIDsCgQylcrqj0qIk6nibQdPO5ipC1FG4+7fo6/eceKCQ4MsakUNOXO2HM7B0mf7LpCX7mz3KejB5s5mZJxvHzVNkNgs4vruz3bG6UsdUG41oSSJ+sOdB2RcfyfLe7RWAlOA3wi+pQHAQd8M0kwQHJEWdVtv
X-Exchange-RoutingPolicyChecked:
	CzBAptPaZdO2rvK6SQts7EwrXICBMB+JGxuf/6Mv32/H8HSflzb9HwInE3HnAanMZVyu1rue2dUS1n0rkEImdLudccPqkjNK0KpXiZDNRfni+gbUts42YGfqTxRCc9+uokcutGVt89Bp4e9wfxOpepj+xeTnap56H+oy0oHus7zLegNETM/JOsh0+U1z9Xc+OVeEa2yPE5JE9DMkZERVU/y9U6Y419x0C8sycvdh/u4OvAX3JDxKV3FX2ovHmG1MTP2cmh1yn6PAODz5B00q4HWcfTXbSwsO0c7QxnDw8H14wt2DSEjSdUaj8DgM05PmoxWNGKDks/0KpVKB7F2k7Q==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	A+iAdMPJZvk+x/jBxAEhHmcdJoyR/eI67brc1A8tdbh2i+0BB8TKOVDf6R98TVbiMgHrK0iwBatVJP4yjpSI2IkbJbTLnctyuM6ofw/lViwD/0aeQ7rNelc9/EzdigZ+m9AWE44xY/WgS6+Lpz20ltBijDkFyWkO//+o/TpVRA/iaX6u99qluytTQI2aON8iL+/71j9Lr+xF1eXbxTjh/F0fhycFWC/auzXEYakG9RrEc+cNkuL0MCmYiOaVQqzYpcwrTvqF3WtcZlY6FRs18yrdijSgMv6QCPdWFXJzFzcGmecu03wE5bhU5CicQnfuFu1ZwAQIVMepmdL8H75HrUlymqETwk6ryHfaG1qtuiPcmAuPIEiBiERasRW6hdmyfi6z8/QA7fbSK+mfzEZKUrTe9ZIWBJlbquZ5+/vknDO6G7iCfTUz3B9qJCqWqCLy7rWBgIUhzzCoNfaDOzhNS91PWLoPew3MJOREpIJSadSOOZgjB4bNvWJAvf85UvjjMz2Hi50T8/vHABH89XRT5A+gkhSBBwp9hc7rjdTqwpLgTE+fHF44CTZpFRqx6g9ajcf5WjfOI5BtLxrb0u8YHwL3KpipRjE9yAV1ZgiyNLVIpM7YX0PkmgWStDxlAzKa
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 21:47:26.7090
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 80476842-b897-4468-be0b-08dec282de8d
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[205.220.161.53];Helo=[mx0a-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000E9D5.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA3PR16MB6749
X-Authority-Analysis: v=2.4 cv=bo18wkai c=1 sm=1 tr=0 ts=6a21f273 cx=c_pps
 a=U7vFK3P1qsHFYF4fogjkkw==:117 a=lOEMawUel/sSvQipkIvNbg==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=kj9zAlcOel0A:10 a=FelO9ux0wxsA:10
 a=3PXLN80vpJUA:10 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=P_n1zlmtWsCQbjROFjcg:22 a=X3KReqg2EL6A36SYCKpz:22
 a=cbNQJ9GKAAAA:8 a=zd2uoN0lAAAA:8 a=pf7PB32T8bRgVuXhqQgA:9 a=CjuIK1q_8ugA:10
 a=P0bj-C3X3jJDpopQwM1U:22
X-Proofpoint-ORIG-GUID: P4QjG8N-Hk2hzNiQ58d_bGJ7kFHHPFdp
X-Proofpoint-GUID: P4QjG8N-Hk2hzNiQ58d_bGJ7kFHHPFdp
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA0MDIxMyBTYWx0ZWRfXy6+wLVcHA2ZX
 xZJqmAJDCKdqQiLiahh5UmsAZrCOeGi1ml7DaQtLtXrIz0WXnINMeiImhG2VZJoO5tc5VnI1Otu
 PKOF76cNVNhjf62oyn24/iw/3NxTGKWiV6JzefJ7SkBBfn+B1KIeOXRfMe0dQQ4WGdnbu8CuaGL
 L7DXIxLyk/+/2Qy/LeGDKVJ8eLY2SVnI3zW7A7lkK99rD7CEjN93rwKPOgPAt8L0Xt7q4DlcQxc
 vRlsM6uK92+3s1iNyVyFo3cpdfwIY3Jz27kGzEWYEKSe7kbCu63U6B7DzsnPqOysRkchO6V6oE5
 AqhqbMnU9shsHHg9UJFqPLQfQ4PiP+6cfoiXFNVqJa1pLqa4Bcf+MsTK7Fq6dt22C+pV/gq+vqf
 W3ZV6eDb8UWW79dy833hIcNRuCDdwYH3R30EP7swLrk1mSzM0l6umJ7EGarbeRnyocz+ZwWrbkL
 QcTZrlqiKJa+L4Bo0cA==
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_06,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0
 bulkscore=0 adultscore=0 clxscore=1015 phishscore=0 suspectscore=0
 impostorscore=0 malwarescore=0 lowpriorityscore=0 priorityscore=1501
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606040213
X-purgate-ID: tlsNG-42698a/1780609654-1AF76F3B-1354C9BC/0/0
X-purgate-type: clean
X-purgate-size: 1362

On Thu, Jun 04, 2026 at 02:52:50PM -0400, Jason Andryuk wrote:
> On 2026-06-04 13:37, Jan Beulich wrote:
> > On 03.06.2026 21:41, dmukhin@ford.com wrote:
> > > Add Kconfig knob to enable traces for Argo debugging.
> > > 
> > > Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> > > ---
> > > Changes since v4:
> > > - fixed dependency on a new Kconfig knob on ARGO
> > > 
> > > Changes since v3:
> > > - dropped uneeded "If unsure, say N." from new Kconfig description
> > > ---
> > >   xen/common/Kconfig | 6 ++++++
> > >   xen/common/argo.c  | 3 +--
> > >   2 files changed, 7 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/xen/common/Kconfig b/xen/common/Kconfig
> > > index 5ff71480eebe..7676a78dca71 100644
> > > --- a/xen/common/Kconfig
> > > +++ b/xen/common/Kconfig
> > > @@ -491,6 +491,12 @@ config ARGO
> > >   	  If unsure, say N.
> > > +config ARGO_DEBUG
> > > +	bool "Argo: enable debug traces (UNSUPPORTED)" if ARGO
> > 
> > Why is the "if ARGO" still there? That's fully redundant with ...
> > 
> > > +	depends on ARGO
> > 
> > ... this. I said the v4 issue could be fixed while committing. Now you've
> > posted another version (adding to overall mail volume) and an adjustment
> > still needs doing.
> 
> With the if ARGO removed:
> 
> Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

Thank you!


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 21:48:04 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 21:48:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328583.1592975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVFv2-0002Sr-7W; Thu, 04 Jun 2026 21:48:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328583.1592975; Thu, 04 Jun 2026 21:48:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVFv2-0002Sk-4Z; Thu, 04 Jun 2026 21:48:04 +0000
Received: by outflank-mailman (input) for mailman id 1328583;
 Thu, 04 Jun 2026 21:48:03 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wVFv1-0002SH-00
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 21:48:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVFv0-00BQLk-CT
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 23:48:02 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a21f270-bab6-0a2a0a5309dd-0a2a450ba226-28
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:48:02 +0200
Received: from [148.163.146.23] (helo=mx0a-00498f03.pphosted.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a21f290-212f-0a2a450b0019-94a39217f3ca-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:48:02 +0200
Received: from pps.filterd (m0367126.ppops.net [127.0.0.1])
 by mx0a-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 654J5cSF3645821
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 21:48:00 GMT
Received: from cy7pr03cu001.outbound.protection.outlook.com
 (mail-westcentralusazon11010068.outbound.protection.outlook.com
 [40.93.198.68])
 by mx0a-00498f03.pphosted.com (PPS) with ESMTPS id 4ekbe0c9e9-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 21:47:59 +0000 (GMT)
Received: from DS1PR02CA0011.namprd02.prod.outlook.com (2603:10b6:8:452::19)
 by PH0PR16MB7109.namprd16.prod.outlook.com (2603:10b6:510:38e::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Thu, 4 Jun 2026
 21:47:57 +0000
Received: from DS1PEPF00017099.namprd05.prod.outlook.com
 (2603:10b6:8:452:cafe::7d) by DS1PR02CA0011.outlook.office365.com
 (2603:10b6:8:452::19) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.8 via Frontend Transport; Thu, 4
 Jun 2026 21:47:57 +0000
Received: from mx0a-00498f04.pphosted.com (205.220.161.53) by
 DS1PEPF00017099.mail.protection.outlook.com (10.167.18.103) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Thu, 4 Jun 2026 21:47:56 +0000
Received: from pps.filterd (m0373460.ppops.net [127.0.0.1])
 by mx0a-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 654IU0V5913785
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 17:47:56 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-usw.ser.proofpoint.com
 [50.112.124.217])
 by mx0a-00498f04.pphosted.com (PPS) with ESMTPS id 4eggry12vn-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:47:56 -0400 (EDT)
Received: from localhost ([19.12.76.221]) by cmsmtp with ESMTPSA
 id VFurwVFT0YPuRVFurw7Qfz; Thu, 04 Jun 2026 21: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppford; bh=i86LWflfbdRQYxQ8/glz7nIi8Sc
	I+Hzjd5gdA+tm5uQ=; b=V/cj+T1OqAYg050sXeyhXyMPC6tdjCRuCIZVDHgP3+J
	NWYHFgFI61ZIqNvLbJcN6ibWawEwIaKV7dbzfB1gxTM28bXKcn43pT/0gvu7XVLc
	Y5LwTzL05EkR/8X7yMRY+VblXxKehYAbGNaaXKiVG0cuh7s04pnPKlUVTETccfV/
	EJE1a3vsjdwSHw7U23h0ihjk7Nm4ydkbia38/dIBHViRqRAtX4LdW8vegqCa/mO1
	gfaxH1Ef/TKrLN86hURnCMee3HQGThT1rWrLpzvmg5wqjK6zYNtk/owks3KHwrYi
	CQyXkeaNhFIC/Afz8Za7NWMcY6QerCdle+LyOq4d4DQ==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=gO66UPrrCVK01pcWxlDrAM01oKCjEizbabVPiglISm20BqI/sLA8VUimty5/gR9E20p5yJIBoXXqhRGjXAXHixe061ORJL608G50t6XOe6kCXfB7go9cdAGLt4YT3QFfmy3KCaIEel/Xen8q4YKwPqAMbbk+7tLFQ/wLqVetnKNdCXOHnBYl2gQsGfmutfFN2DgpuBdeWNUKI5K4GD0KM8RiTjtgcWFOJvA3CdTqcHf+7h6pX4Zhsyh93XgwQp8GD8IR5WOm/GR7cFr6A0RxAIRryVKSSeGXnlZTYXOdZsIK68mkspYckY+U2GRfVlryn8ov+mN+nyyXQCCEAF1dqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i86LWflfbdRQYxQ8/glz7nIi8ScI+Hzjd5gdA+tm5uQ=;
 b=oKQb8h1jlv3Hk8nI/U7A+SrT/s96nG7+CabFDDLX59T5tqj81eTcIQ187pKDYMyzFZcW2yYvUIpjrkuA+Kr3423uNKBZvyX7GvLR9tOz76CNlGSk3VtVuqEvQAbENN79VGkiVOdz3VjXGeTG/0umJSu+YdsS+d2FfVZ143i2uwihLRRkQaSnx7nin5ZxmCewx1o1XbLw2hM4+tkp2KFCe+LJTCohyfEe30B5v2gFlXHo6TM88Sbg+uAMdMeeHJSvAq6l7mfaZEPqlGZdjN8296ugfh+i77FXsNEtXK+pkwkao1oXoevV1YoFr2sq8f5oYHkKiJxUZyKOXsmMHeOHtA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 205.220.161.53) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i86LWflfbdRQYxQ8/glz7nIi8ScI+Hzjd5gdA+tm5uQ=;
 b=I+bnvopM1M85z9nfuRjpOFi9CBeewvIBnSqcf5LOwvGdp4Xh9BmVYSdZ1lGwYqxItK4m600WYxSqy/iNxxYTiyQ3GEim+fVFLQqg1uckwPqoszzPNJGcjxOJDvWkAhuVL8+hnGvkXBCVrnL0nCKJedByu4/gNXSQ6EEmkzADQ9w=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 205.220.161.53)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 205.220.161.53 as permitted sender) receiver=protection.outlook.com;
 client-ip=205.220.161.53; helo=mx0a-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppserprodsaar;
	 bh=i86LWflfbdRQYxQ8/glz7nIi8ScI+Hzjd5gdA+tm5uQ=; b=W2QBomPGwZOu
	EyqOkMNjE69nHTpS8zvn/O+yAY77hf5cutAtQ/dDbv1ertg9qoz7ww0T/UbC3g0u
	eRb6MUwNPu50Y/2WbRTmWDh+vrrnzxyFz9ii2usepjPhV4VQgiygEtNd+VO30nT5
	NHZdg14gQC8QcF+D4n6+Tyvo1HKIngV155ODUgifvDQgYs36YRoKXAoGZ5RSRbgv
	2PvzYNigO8JPIlGlhuDUhQ0ESIoR+A0j86xoTu3lN+y9W7SM2qoAON7SZt26u07X
	OMLtuGa4Rgk5oUrQeBnITh1hN6PfXUX3blpvV6V1/uBpjxAe5/LjRYcBPbwZnGXE
	gd1QKk6pXg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppfserpocford; bh=i86LWflfbdRQYxQ8/glz
	7nIi8ScI+Hzjd5gdA+tm5uQ=; b=gIKL2b+gnOcqUSurEUbKG2xmGDUFrXcHIaEC
	zUEsGy2u7KQdEbtmA2F5fxHkGDq7E6tMQjB0hhifmdrKz9gA7w5WtVDLBJyxXczq
	HRDK7GAINQGJHxQ+n8ey7URm2xx2bHTinRr6KqMhneW4IPUUEAfp4GFDPjxThCOn
	A5N/pUl1HneVtBdnB02ehJKv/AEB99LFl52EWWIrfrgM03+N/eVoPMcm4W+QOY4V
	dwN8Y8udGx/UfdsCxmDSPPjdwMu20Q9PWFWoTucJXfA2zpPR/S9OI8CQjviQvCET
	x4+tuvDO3YKRdwWQ/i6a1oDSHBr5wuPtQHk3eQzVEim7F5iwQw==
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: VFurwVFT0YPuRVFurw7Qfz
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
Date: Thu, 4 Jun 2026 14:47:52 -0700
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: dmukhin@ford.com, 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
Subject: Re: [PATCH v5 4/6] argo: fixup argo_dprintk()
Message-ID: <aiHyiArzNCIZ4SAL@kraken>
References: <20260603194131.1468654-1-dmukhin@ford.com>
 <20260603194131.1468654-5-dmukhin@ford.com>
 <f2007ab7-05a0-4163-b5b9-9300453fe653@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <f2007ab7-05a0-4163-b5b9-9300453fe653@amd.com>
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_06,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0
 lowpriorityscore=0 bulkscore=0 malwarescore=0 adultscore=0 phishscore=0
 suspectscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc=
 route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606040213
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF00017099:EE_|PH0PR16MB7109:EE_
X-MS-Office365-Filtering-Correlation-Id: cdf0c582-c2ec-4f1a-9c0b-08dec282f09b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|36860700016|82310400026|22082099003|18002099003|4143699003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	xTUom1HbjXGJtvUINQRlvXpfgohImmhC986UyNiHTvU1N4RJKETHgPAleVYas338mHbbsVcoJuIiD6sUy1gGjGA1Nwy5mSENUuwZmBwOEp8boz36bZy3MAduKV1P9ab1BDK00HNkNMx5RtckjZSlmEyoUZ4+0YmF09mEkgh/SlX2+6+P4qLXChCXy3h4tUlTd6/6ZP3hCWdm4dx/KtROGb6z4s+ihLBssbgv5SyPRh114iGQGPanVEh5wZGywOk1Kkd9+peL/qib6Zp6nZo3cNj0W46sBAH8xQZAtkHSHH/VR0snG5sMTGbxIs/3ysUqXcYORjK3VTK/4Iq2I41gWaVfrbWBkuvY3iXFxLzWHIAQ67RNBJw5z0Pi/Mfo8kIVZxRIU/gASanTvh/Ngz6DF/0QJif7INjfuk54tj1ekno+Bnre7JY4UFmkx2I988YcrL4BBddWqLt0odvPWCR5bm8uhvW7wJMNJChhoLrj+J5vtxN1OMmlxU9JIavg/wG2nM/lrb1DTBok6q6Dw3H/xYo3i3w1zFuUgk9vXZwOpL7QwOSoQPyoSTPv7WwlFWOLYl+p5GEg/OpWGewMX6unRwc13gXQPlAZWK1ZMHAbaQI0XJwWPcYgcbA5jW6ln9Rc6+kyx0RSMRB1eKJ60geE3qLM5YrmGxvEA7jO3AGXzoByaIwcQNwWPPuHnh+c3+/l2hIN/ZOC4R543gEpVBrvQQh5ub6XUMlNe/NSWtOcKhk=
X-Forefront-Antispam-Report:
	CIP:205.220.161.53;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0a-00498f04.pphosted.com;PTR:mx0a-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(376014)(1800799024)(36860700016)(82310400026)(22082099003)(18002099003)(4143699003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	yNreJkzYohryCTJ3qyFUoggbHHa86J/bB6+e9ixEU+bzW7dDhrh7JLEVoFHfw7pE6gWikc344Vwl3ZRWAe3znGRqEpf88a7oBX6BM+nzo66tUZOuzLJn7RNKbAfasMBWbL2W07d1wPdqTLA+oXCLas6bH0ZBJAxMV03lquVLF4Hn1uJTsvJmYsu6j0cGZaMsBXdPRA3fr4UVMgVNmicJMVfj28aFKRv+oew3CTrlyvf5dLgy1DHWY7YkQvO8MwQVMmNgsdWWT/PIwu/iwZWzd/qThCbOsqajYAVNIOOYLneyIcauMpbrRSj0T4/eUpMu8NazYGIcbU2u4llf7loIT9H8N4sCVJtBBP2O8si3XneoUUXNcWjELTSWKZvB+R7hLfWM9iU308QnelvMWtoy0JOlNR+ceBegCmOc19zzoRxYvU/XTAKYT/n1qTqNMHyA
X-Exchange-RoutingPolicyChecked:
	pJ/xQ+aDwbt424hIaX+2rpDMgP6UqO98i6/xLaNjeh4n0ZqWT4whNfzgmsOT0kfdT42all63MdBlou91mS+MlgS6WMlTWD/AeyURc/Jn6Tb6Jq5CQUQ0aBV/IYBMZOIvmjxE1sYEInRk2B1z2T7ovs+c5WcHNvkIER/MRU5o5nNeuX2KuOZAnCypIElesJwm6Sc0an/sY1KhQ2iS7VMmgm0tvjeyuFjB9fjojvAKzprOQczdwo84pim0l6MTvME6rhkL8+nTmf/NjXP2ZrgblRI1LmvkCLyhK9utn3PrpAAMDUYVueZYhmihhuVARw9BjvBG9WCAk9oJg+Zrl8i+/A==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	fYOuyUfw5ImfR1kqLO2b4+EsNvvivMwYejsd0TNWyw1feNaMypmmUsu+N+BTLhOcS0pHba7lFNO2z1j8mnYyasjpj/zX+yWw8hID8tu78FmU895s4k9R6ym7K8YHUkzB3X2w9sIcef6W3pdY3UoG9QaUDHClM+UgkOZyVmIMX6eaiJYZzFSxQj2Ei0urkUL9gbWg1rs3C6W+blM4gR7LVXV7ECKhhPMIg7zvHbUuoSizIUD+swOgDbm0+GFWfYaGfzobjPANWHCbzkgUw00yCAK9+eNyKlXaE5SQvzhdoVRFweXbXNfLOh1jsU5ffYGdZAu/eV5GIiU6MufhF6sX0ckPk3FKkV4nU+bTwErwZCxt36y72394vONdMREzq4u4IOqorocd5nJq8aP7S7iYZW527wHB2ybCelkWTymva7g4/7jsC6y/x8SiaYWzc4jj4RO3LNcDuq/xHbiQsiY2OfQHexsvS2C8VcFqL4LOOie6DbjfOE5dBAwIQer90fIStn4lITKegOCJuN+Qu84FPm8rjfL3OlEGCEu1oeZ+dRXdJjGL1D9bzRPlvCG5Kua96Qu7gIcIGcu7YqyJxPtOghJiC1ciSr2AU5rubFiB2ViIym9Qkx91U0F6Ng30SWRX
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 21:47:56.9333
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cdf0c582-c2ec-4f1a-9c0b-08dec282f09b
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[205.220.161.53];Helo=[mx0a-00498f04.pphosted.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: PH0PR16MB7109
X-Proofpoint-GUID: U4sfbJ6k2J6Y2skVxeqaakB0y4ZW83ae
X-Proofpoint-ORIG-GUID: U4sfbJ6k2J6Y2skVxeqaakB0y4ZW83ae
X-Authority-Analysis: v=2.4 cv=Efj4hvmC c=1 sm=1 tr=0 ts=6a21f28f cx=c_pps
 a=48c6PaPq82/B1OY+thwv9A==:117 a=lOEMawUel/sSvQipkIvNbg==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=kj9zAlcOel0A:10 a=FelO9ux0wxsA:10
 a=3PXLN80vpJUA:10 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=P_n1zlmtWsCQbjROFjcg:22 a=-OawqTZBqJjt90xPb8wn:22
 a=cbNQJ9GKAAAA:8 a=VwQbUJbxAAAA:8 a=zd2uoN0lAAAA:8 a=JOVtEiCz2LbfareFmNoA:9
 a=CjuIK1q_8ugA:10 a=DqJYxgmhk6moR-_7_KoZ:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA0MDIxMyBTYWx0ZWRfX05WbxZSLcMCO
 BeztTFlKQO4RW+ZUNFzpwIFDhJylz2AVGDEU3dYuJUOvSQWxPL+q1UCA31usmbhTJRg179kDGYk
 2CjsG3y/+ywysSS8mR+G5vKYJET4zDHU6ej1IjV6T21+7fiAv2JVgPUipdq3wcjwX4fhHhxtaub
 YFCNQ/qd53yfELbXeTFBmIw6SnAkmBeb4b+fKaJs88Jw+/sdvDP09Kn2+MkPjeE6neDuwMSCc25
 a2xC1F0BqujDGzbdpnT3k+pxJ/RA6ysN5rWgPD2upECAH8HDBJP8oRNW3Ak3Ndt3qAojp0rs8+n
 7ld7+1R8yAZXY00Fm43ys9iG4DlB0NrLJ12hswF5pZSNF1AWqxFoXCiLOdXRyNqwpL5VSxCJCmx
 5oqCttZBZ7AAdgDqzXsC2A81xJqZNMT0gu6xT/1xh6o2FfiO08nBOKewY2tjlwXmQtbgOsUDnVp
 H3cskKUpfnKIHaD3a2Q==
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_06,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 impostorscore=0
 lowpriorityscore=0 suspectscore=0 clxscore=1015 priorityscore=1501
 bulkscore=0 malwarescore=0 phishscore=0 spamscore=0 adultscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606040213
X-purgate-ID: tlsNG-42698a/1780609682-1AF76F3B-83DC49CA/0/0
X-purgate-type: clean
X-purgate-size: 662

On Thu, Jun 04, 2026 at 02:51:50PM -0400, Jason Andryuk wrote:
> On 2026-06-03 15:41, dmukhin@ford.com wrote:
> > Current argo_dprintk() implementation is a wrapper around raw printk().
> > 
> > Rewire it through gprintk() to allow for better debugging context
> > (such as domain ID).
> > 
> > Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
> 
> > Changes since v4:
> 
> Oops, sorry for replying to the v4 patches.  I'm in the correct thread now.
> All the patches are unchanged, so the R-b stands.

Thanks for taking a look!


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 21:49:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 21:49:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328592.1592983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVFwZ-00039T-Ml; Thu, 04 Jun 2026 21:49:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328592.1592983; Thu, 04 Jun 2026 21: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 1wVFwZ-00039M-K5; Thu, 04 Jun 2026 21:49:39 +0000
Received: by outflank-mailman (input) for mailman id 1328592;
 Thu, 04 Jun 2026 21:49:38 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wVFwY-00039E-FU
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 21:49:38 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVFwX-002eHJ-SN
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 23:49:37 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a21f2f1-bab6-0a2a0a5309dd-0a2a45088f06-2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:49:37 +0200
Received: from [148.163.146.23] (helo=mx0a-00498f03.pphosted.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a21f2ef-63b5-0a2a45080019-94a39217228e-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:49:37 +0200
Received: from pps.filterd (m0482516.ppops.net [127.0.0.1])
 by m0482516.ppops.net (8.18.1.11/8.18.1.11) with ESMTP id 654Iek5f982189
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 14:49:35 -0700
Received: from cy3pr05cu001.outbound.protection.outlook.com
 (mail-westcentralusazon11013027.outbound.protection.outlook.com
 [40.93.201.27])
 by m0482516.ppops.net (PPS) with ESMTPS id 4ekeutsk5u-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 14:49:35 -0700 (PDT)
Received: from BY3PR03CA0023.namprd03.prod.outlook.com (2603:10b6:a03:39a::28)
 by DS0PR16MB6880.namprd16.prod.outlook.com (2603:10b6:8:314::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Thu, 4 Jun 2026
 21:49:32 +0000
Received: from SJ5PEPF000001D3.namprd05.prod.outlook.com
 (2603:10b6:a03:39a:cafe::12) by BY3PR03CA0023.outlook.office365.com
 (2603:10b6:a03:39a::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.8 via Frontend Transport; Thu, 4
 Jun 2026 21:49:32 +0000
Received: from mx0a-00498f04.pphosted.com (205.220.161.53) by
 SJ5PEPF000001D3.mail.protection.outlook.com (10.167.242.55) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Thu, 4 Jun 2026 21:49:31 +0000
Received: from pps.filterd (m0426317.ppops.net [127.0.0.1])
 by mx0a-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 654LWUaA3759767
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 17:49:31 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-usw.ser.proofpoint.com
 [34.209.42.160])
 by mx0a-00498f04.pphosted.com (PPS) with ESMTPS id 4egeyps42s-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:49:31 -0400 (EDT)
Received: from localhost ([19.12.92.221]) by cmsmtp with ESMTPSA
 id VFwOw8LTGKoqdVFwPwHeAS; Thu, 04 Jun 2026 21:49: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:Message-ID:MIME-Version:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:Message-ID:MIME-Version:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:Message-ID:MIME-Version:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:message-id
	:mime-version:subject:to; s=ppford; bh=Ems8YkBOb7rDG+KJX9Lw2brC6
	MfS9/quGLpPVAPPZDE=; b=X8w/KRXdD52eNBT+DYsRNTDWbOAXYc7wVWoa2hkan
	XJJrPgagNrlc3w9ntRNSq+yf8qNw6GvJ6/+EnUopY1qPx9gLQOAhfLv3wLKoTElg
	Cv7kHO0MHLTyAAwq0l3Knb2LUEfqyfeSiYyvtOSTYYxRZvFJ38zZah9xLfzegAEC
	NMwEMLKHSXzhZe30HHat/9P+8e5lBKu4HBe7ELOcs5trvYwchnX86czeP+5SuZwx
	KxMAQc3bVlv/UDRMoQ+KmJU9rBuu71BgNXLTjZE9/LTS7QGpsocGMt73fWlSHX8r
	sswByzDmJPzidNLXsF1RpJ90Nkfq+k+J5vjX+qLiEvY/A==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=m0A5Rx/6e+glO1Gq8Zv0hLp5YbppKth2qMB0VxfV5/XsVcX0eAf597ZcZnMsRJtVlD9WYByMuVXvjDaWBming1S+AE4o3A/w7A0gKWpKQj9npw6PPC4sUcKifnohgwLAsCLrnqBCCebEm0tDRafZt7/4nvY1T+sszaDNjx03dw6EtOf8ofUlQyBKSLDW4CJraF+bYxp68WBvfOE9R7nQaGsIrvuETRnx3IsfgfXfF8iO/O/S2X8kBXt5wLLtrMNQAtsr+4NzkIjcXIV7xPmCbl4NMltJCMzaYYP0V6UHBfDecQFcEk1vAOiDWSaqSHRDUtchSNTZ8zFNteq2Uxr1+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=Ems8YkBOb7rDG+KJX9Lw2brC6MfS9/quGLpPVAPPZDE=;
 b=R2vYwAzDVIw2BVxyNDa2n0Dp8BojtcU6FOOg+BKf43CILmDCKyEebjLm3Il3B7OAYEiY3OOdS99KYHfzIpi6oYE1s4cMxRUaarAe2qKaNDNJyxBYeuQOBVnzaAvgXJVJto8o2Gik/L55ptadKbKRahqBQQJd87NbNHVhQ6pSLsKgXeoI/DPZ5by2+vC/ShWHgSTmvSbqt5Yk8JMNjRQlpBYSlr9dz/Ui4psEvMrGHWrMuFr1dessdcsSWyvxcCqyzE4iLrpMh/0CvAcH6YCqswRgmpsGRbPntBRT+4vyXlTfmQLvfV0cIsHeSm9/CB0K40aes2yMdkGTg9vTsuqOPw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 205.220.161.53) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ems8YkBOb7rDG+KJX9Lw2brC6MfS9/quGLpPVAPPZDE=;
 b=Wn5uclyO8wQGD5+IPP7XgBrZpVUGYl2oF1vW1CxdsSA5CxrNTOmZdYeVd0h7b5M6tDNF83kHxIhcWBzJXGaHdVuO/Pdyy4CchLDpe+M4hLJyDH4UpbfDgxbnIYUBAQoZ3o565j/hCWGaMBCJ34Qyet6hIEWoEW5Glm4C7vBftYs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 205.220.161.53)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 205.220.161.53 as permitted sender) receiver=protection.outlook.com;
 client-ip=205.220.161.53; helo=mx0a-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:date:from
	:message-id:mime-version:subject:to; s=ppserprodsaar; bh=Ems8YkB
	Ob7rDG+KJX9Lw2brC6MfS9/quGLpPVAPPZDE=; b=fwiMuJKb7noeMAQnCJv1YAX
	FNeC4jOhx+1Wwlz0zPEbeOj03TJDl+etAUhIeC6n6Zdf8PqrAHaJB0vJInKAnKpq
	rL69FB3C6xfMBiAIhdJOhLmM4LCFlkitDKMlEXSgOMeVjge28HitaPjfXU/4cSsx
	AYrbq6F8JCVZzjep47V09U64AGNd+hPcZOVrLJ0pXzE1FZztbfESxgZAEHsUtXT5
	YpOO1ULjlTAribAaAFwKpMgkM0wPtwYu5Ly3RMdmN19wlZrk6ViIfiULZIRMGNLH
	kf1gmjY6ygm7MeCqIz4eDwAcf/Ri1C69oAAs8PydqLbJGh5FUzhEhDFIzknjvyg=
	=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:date:from:message-id:mime-version
	:subject:to; s=ppfserpocford; bh=Ems8YkBOb7rDG+KJX9Lw2brC6MfS9/q
	uGLpPVAPPZDE=; b=pPdMzuvR0xJubWJVExLeFKuRN+kJbwbd3cQd0Kn56jMg3mB
	OCTy5toXGc9fhlpba8BGOHTADkFfjQSx8ZqWTSA5NZGKcogFGMD4AahtImSz2WKK
	PD2WwapmkGi9or7W0rnaS49ZARUImKkJiDZB+U6J/diggAB2ZVkshsVcJT0hAMwU
	3mIpkA4mrT6A6sc/42YgzDRCw5JNhu564a4Sw4d4Hmu1KN4efEQmC5P5Oije2+dd
	vfxVDY7aEBa4vYXHikISC6jmdk83ftLu7G3BVUMMu1blJS5BG9acfpgGE1G1l6yw
	ZJcZGv0H83QE+hVje08G8OWwn99r1ihjIL6+Hog==
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: VFwOw8LTGKoqdVFwPwHeAS
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
To: 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
Subject: [PATCH v6 0/6] argo: few log fixes
Date: Thu,  4 Jun 2026 14:49:20 -0700
Message-ID: <20260604214926.1735194-1-dmukhin@ford.com>
X-Mailer: git-send-email 2.54.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_06,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0
 adultscore=0 lowpriorityscore=0 malwarescore=0 spamscore=0 suspectscore=0
 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606040214
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001D3:EE_|DS0PR16MB6880:EE_
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: 5c59d0e5-c34d-43ec-e2a1-08dec28328fc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700016|1800799024|376014|18002099003|11063799006|56012099006|13003099007;
X-Microsoft-Antispam-Message-Info:
	z9HpKL0qi8J4TPh6VXlrHmsaeQCytDWz2rJyBh/eQUnxHM+Ui7a4u12fcinhF0PXjuY2appoq3ABszfeutSoxxr5Bt2n03dT2QLB0ua/HYxKVegx0FVTcPLvJOE2Pn8fiihUO/JZp2iMFLHFO1j0ieV2y1AJkqDW+/12AEamUOMR+H20NWh2LvKW54T1bxQUjuexNmzCklSAGXokUqxlg5Nmawmzo+Wv3XYc6QMwCek2riuV6M4h5Xz/x/zmsPaU+i8+USzi+4GnZiBz6NSE2P0rH3Q8uhyvo6N7MUxrk9rG0PVGq6wSoksnGwh2ZSpwU+1hOAlslTHVt1CiSwi2FLu9SBDEZ7yC+L7g0ox+71oS5UZYHsB3mhZAzkESdswYSFkd1MsfLvK2kNXXoAEQWveL1h+ebjCWGCrlrw9qVK8UsVdsRv/7Uj+zO8ViKCJ+/GQZvYJ5jPFJfOC3KrLiiTxeFErXYslvQ8UL5OUXlV43+NtsMWxk7kyzl8xAcEXrs+IXS4I8ADxQwPeBdr4J/L29cvqS1vlBITNqf8fC9blsd1TdKXzXixkO3EqaiUsPkRlmkMIfQN1K9Tzx/YU5i5nLj6nVj5OUpVaz3l7j3DETz89XTvP4TtrDaGSpyBo8Kg9ysagCi4eLY32eg0iD2fe6BN4Qf2SWKHpt4uN1/yHzScPWBdpbCviKRiCHqz05XPvGEVxczyjr2KN23uIn30nviufwFMnpUZ6+MY5jBu9atNzDAGzXKu1Odg2K2LWQ
X-Forefront-Antispam-Report:
	CIP:205.220.161.53;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0a-00498f04.pphosted.com;PTR:mx0a-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(82310400026)(36860700016)(1800799024)(376014)(18002099003)(11063799006)(56012099006)(13003099007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	6hER06fH78JZyutBvQN0nXb9VpPNzT/8K/mNU20rptxaL+pOS38yPBoXcx32Vvp1+bALBSwTousLI3aXRlDCWgZybDmBkqfS065uDZanKCVVyIsqAvyjwHBxuiH5t9uHmMDtw7nfsUEO8TA9GsE1+GyR3duFDZ66aaF8JLKavic8wQPr+hVFR2ISxcGf6DawdHxmkZtAfRsvN3NhDbfhOFcL5ajDe/j6qcpDOFKSWHtme2Y3TGOZ6wG77nEcvXwxR7dxucEgKUyVCaalirpeLBufOvJBTCcRGyigK1P6UufAe77e34vDqoaLe4PhtYoRijUF/2vILjeCOMff+II/YlLCte/Dlf1DSq3WAMwqqnqOnvlUTEF7kxLewkmUPXdbmyCiboCfzkPv1jMPbMB+tLGEHz+Lres0B9rB11UwQ6+CF6GT6thJNEdPgZQ0ERDq
X-Exchange-RoutingPolicyChecked:
	J3mGEiFs+VoNlc6BGpHXOKJHBSorOuZ1bVtWnIcHgM+NeW8jaX3aufSkgz4SyyT5T/5J6hGQoDNrmEIDjh/7Vs0sKKy70cyBSKvT5R3yxfCRIm0FTkdUUOSHRYN6A9GByndRBlrrTI/inFkzq3Nkfyiwi84ZdQESlhXMN90uKCt7iBP26Sdd0TiosGZ9xZxYLVAXT9MX4d7RnnrJJgd+G64edbUq+tyGrQrwlkamGPud5zOpzhYiIuat+UXSfoKEW2iCuJ41UyrwSPPyrlQF+7S1gLoNI0BZh3vH9/hbT0GaFOQTKVr+6ZGzJZP/bcYVD/mgkdZOT/h3jI4+Uzr82w==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	NkJSf+oqFktsl4x5P+VNulPPf9rF3AUyyJzYqamfBiGJwx1z5EuaXSK2EPcVk9NTPRYhYQ5aOrj0j/Lo1ipU5qpADXo/dW3PTuhoqF3lVZjk/t4Hw9X9/+qxcWqL8Ca6y4mamR0KJagMdp0IUFFLLBiE7uOmZfhyOzCKiO44YP5tW5u9GYJpCUIyh9eqQpljHx9ddPFRYrCuN9MoczoLlRI/qkw05npI1192yzt+gtWIpxzD5iaHfdqcqgJHjf3ciyZ/unmHJ2zM15LJHNhwFVjROLcMu6bxQnKD6D0Hj/r1A6PWO49d5N+LsJiYmJAPqbIqsnjD1a0WvJ74jHU4qkIpWImGkGfrAUAQSh9vw2ckP0BeSJtzJnXllaH9AA5TAyrnSZhL1ZFq9fNkm7X9iKcW/7CYRYCG69irE2EZM0cTQ6hBAw4W3DCXbCyLFT7FMnaDfL01MCOjyLiDdLAQRAyL/fH5vKuyJ8AtYkqJx3Bomx6H9/u0dpRgRnSCrIBojGq8sw6B//9JYuc9sRE8VzaylozwUO3abKSw1t22LB1IVl88digYYXG6QOXvIbhPNKWJ93A/ZvXpb6e2rqL/Ic2DYY+IP0gepbIbdfn3PTBQ3YlGv9z5rUEUwWHLqCMA
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 21:49:31.6865
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5c59d0e5-c34d-43ec-e2a1-08dec28328fc
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[205.220.161.53];Helo=[mx0a-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001D3.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR16MB6880
X-Proofpoint-GUID: A_5c0uFKPLzH8V7HMePosDfL34J9Syzf
X-Authority-Analysis: v=2.4 cv=ffKdDUQF c=1 sm=1 tr=0 ts=6a21f2ef cx=c_pps
 a=WwHAhc24fKszT02xmrP0gg==:117 a=lOEMawUel/sSvQipkIvNbg==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=FelO9ux0wxsA:10 a=3PXLN80vpJUA:10
 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=P_n1zlmtWsCQbjROFjcg:22 a=NvsXeTrgx-CJMFV-xl94:22 a=p0WdMEafAAAA:8
 a=VwQbUJbxAAAA:8 a=cbNQJ9GKAAAA:8 a=9Rjklcs_zL7GqLz8L0MA:9
 a=P0bj-C3X3jJDpopQwM1U:22
X-Proofpoint-ORIG-GUID: A_5c0uFKPLzH8V7HMePosDfL34J9Syzf
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA0MDIxNCBTYWx0ZWRfX/0qpl3X6dXyP
 iu1sdUF0kuHd/tHwKy7ZvWAcXweQMW2ZRXuoyKnScBTpdJynRB4e6kDvyQbhjj6Oo8yrkbm2dY/
 bGjggQslQGBNIzWtk+w91I1MsJDTinJsQV2MlJOtr6srahMU752ObR0cR5OXKywd9mTlNfUMUx+
 Y9HlFO92oi9BNFHFy8ytHa2NSKUfM0VvtssImn6OWkJZ55Bl72FJ8VhUr+4NMtC8OU1aIiwmVeQ
 EAyjYMPo2ptaPCKp6+UddMHiexlcmJVNoGsKzCUahqyFf4LQ+glAF41KqCxBpKaU8qSogwBm76f
 ah8H84+6QrQzQG48QRI8TqSYwAuIRWn9tpXSzzujR61ckdOPgUBccedEWY5XUZeGPwQ0XN2Knbg
 su4j181VpupADSpxb/vQhy2CYlIk/4076eAJLnqKjhjkO01YBPVVXhecKNO9GsVtwfBZfpDRY35
 23l1oG2PJUvsZ2bTOGQ==
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_06,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0
 priorityscore=1501 phishscore=0 adultscore=0 impostorscore=0
 lowpriorityscore=0 bulkscore=0 malwarescore=0 spamscore=0 clxscore=1015
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606040214
X-purgate-ID: tlsNG-c1860d/1780609777-BDB6CDB1-23ED163F/0/0
X-purgate-type: clean
X-purgate-size: 1185

This series corrects Argo module tracing.

Patch 1 lowers the verbosity of a spammy log message.
Patch 2 corrects the debug logline.
Patch 3 cleans up existing loglines by dropping duplicate prefixes.
Patch 4 re-wires argo_dprintk() to gprintk() to include mode debugging
        context.
Patch 5 adds new Kconfig for short-circuiting extra verbose Argo traces.
Patch 6 enables extra verbose Argo traces in CI for ease of catching
        potential issues.

CI: https://gitlab.com/xen-project/people/dmukhin/xen/-/pipelines/2577682899
Link to v5: https://lore.kernel.org/xen-devel/20260603194131.1468654-1-dmukhin@ford.com/

Denis Mukhin (6):
  argo: lower level of noisy connection-refused log
  argo: correct logline in ring_unmap()
  argo: drop argo prefix from argo_dprintk() calls
  argo: fixup argo_dprintk()
  argo: introduce CONFIG_ARGO_DEBUG
  automation: enable Argo debugging in CI

 automation/gitlab-ci/analyze.yaml |  2 ++
 automation/gitlab-ci/build.yaml   |  1 +
 xen/common/Kconfig                |  6 ++++++
 xen/common/argo.c                 | 22 ++++++++++------------
 4 files changed, 19 insertions(+), 12 deletions(-)

-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 21:49:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 21:49:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328593.1592993 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVFwb-0003N3-Tr; Thu, 04 Jun 2026 21:49:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328593.1592993; Thu, 04 Jun 2026 21:49: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 1wVFwb-0003Ms-Qo; Thu, 04 Jun 2026 21:49:41 +0000
Received: by outflank-mailman (input) for mailman id 1328593;
 Thu, 04 Jun 2026 21:49:40 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wVFwa-0003Io-E4
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 21:49:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVFwZ-007iRJ-Qq
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 23:49:39 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a21f2be-2eae-0a2a0a5409dd-0a2a450ad506-38
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:49:39 +0200
Received: from [148.163.143.241] (helo=mx0b-00498f03.pphosted.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a21f2f2-56b3-0a2a450a0019-94a38ff12f76-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:49:39 +0200
Received: from pps.filterd (m0482515.ppops.net [127.0.0.1])
 by m0482515.ppops.net (8.18.1.11/8.18.1.11) with ESMTP id 654JnZMi440401
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 14:49:38 -0700
Received: from bn1pr04cu002.outbound.protection.outlook.com
 (mail-eastus2azon11010039.outbound.protection.outlook.com [52.101.56.39])
 by m0482515.ppops.net (PPS) with ESMTPS id 4ekfv1rwfs-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 14:49:37 -0700 (PDT)
Received: from PH7PR17CA0069.namprd17.prod.outlook.com (2603:10b6:510:325::29)
 by CO6PR16MB4051.namprd16.prod.outlook.com (2603:10b6:303:aa::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Thu, 4 Jun 2026
 21:49:34 +0000
Received: from CY4PEPF0000FCBF.namprd03.prod.outlook.com
 (2603:10b6:510:325:cafe::7f) by PH7PR17CA0069.outlook.office365.com
 (2603:10b6:510:325::29) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.8 via Frontend Transport; Thu, 4
 Jun 2026 21:49:34 +0000
Received: from mx0b-00498f04.pphosted.com (148.163.138.245) by
 CY4PEPF0000FCBF.mail.protection.outlook.com (10.167.242.101) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Thu, 4 Jun 2026 21:49:34 +0000
Received: from pps.filterd (m0426315.ppops.net [127.0.0.1])
 by mx0b-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 654I8Q8l034326
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 17:49:33 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-use.ser.proofpoint.com
 [44.208.76.22])
 by mx0b-00498f04.pphosted.com (PPS) with ESMTPS id 4eghss8yx3-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:49:33 -0400 (EDT)
Received: from localhost ([19.12.92.221]) by cmsmtp with ESMTPSA
 id VFwRwEQVqpgi7VFwSwnRrm; Thu, 04 Jun 2026 21: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppford; bh=GD6
	wQDucYXx3bpD8hOg2ayaGsb/wMnxUAdOoavBa/S8=; b=a4gjaJfh60NOmeh+Xj/
	75/R+wwh2Z9iizqpv/ImMR6yK9IwN3ZmLDDj6fswxNob/NlkcTCIAchNhh9jqQ6p
	pU9MG8gVIyRmSFu7C7Ku7TL6Rg/ZVYOU+/vczlsdu/hTFJQqRjckVYlprQflC6JN
	5jY9vYQjmctPCD08DpCfXVSi1lneoKxC8NDKBvNyJPym5qwpYfpOgW+IrbQ0KMsm
	6cF+x4mdLkn499OUmoXUvuroJtN94njwVKgymAlNGAoP/tK8COxCDjIDnjbEBR1L
	YcFa76/TtsCyv+RSnW1k06Sx9vkhFx4Im2t/Rhl4cea6kC6lU/oxvnCyjWbNhPZ+
	3oQ==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=kdk+pSTcoCg7S9VyST6brhkR9gHWYGF36TlLjqudQQD+hbLokwkGw/0aRsJ3r+eebQa+4ZbWlAqyxzcxbfTuu+/cKMzelGoYiA1Uv/QAUqGeSPkMymWR/YjzBHNeFoveDw8Lfm5rThPNCsyBIoBnilxAjbCwY3790J+W+CeM4Mq1UpdyYXM9M3coxABQydaTHb9yFf6zbLw/NmKWJb22BMHEMgog/53oO7CuNdTQPrNelbxD5ndUAf69+F0eb0sP6IXWXGZO+584/PdxDT450luAV5gp/Eb3Gi6qNqmGwd4LHLD2ETl+4U2ATyjZ6duMkTHGZGKZHIV0xHEJEh8qWQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GD6wQDucYXx3bpD8hOg2ayaGsb/wMnxUAdOoavBa/S8=;
 b=pheZvj7vX0QSMA1zuZcgFSpZAYAhu3VdhGC2k29Wuy69zxZr7nJc7/okcDp8i7yvciWx0NIf20RL6UpZ1U+VT45RI41f/a0MKk8jsbwDx9e7ulQn+LtDskwbKgt7ALISuoxG0h8iEtLmsFCjzy3pIWSiK209VEScDS5bXG5rG3b867JaOtyHLttaP/Wagh0Q0U2e8MQ0o3GEzl07uieGOYd5FADIr9SZC53dAq//WKZUbpMRiBYyHOjHtHD3OnyxAz7yGUxC5jBIj5prOd0Eyas7D2SPXV2qqqIF+cNALeCk2WRVsVU+cv5Bx0YdgIRNSVIG9TizF1zBs8vonJdn9g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 148.163.138.245) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GD6wQDucYXx3bpD8hOg2ayaGsb/wMnxUAdOoavBa/S8=;
 b=Ms9hcmx26yEqL0Panu6g6l6B+v4wy0bcvNUR1w91HaKPlEOaNjcFDHQE9Fgr1ar6qV4Gvr3yPU8H0TSTWGamcW/JloP+82eqLcvYAnLSrozppIUoI6GJMIrdSThE5KJSdHPh5GfNqKOwTTX3MEiJVTF/E6kMdMNOnEU97JyHz+g=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 148.163.138.245)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 148.163.138.245 as permitted sender) receiver=protection.outlook.com;
 client-ip=148.163.138.245; helo=mx0b-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:date:from
	:in-reply-to:message-id:mime-version:references:subject:to; s=
	ppserprodsaar; bh=GD6wQDucYXx3bpD8hOg2ayaGsb/wMnxUAdOoavBa/S8=; b=
	WiMjk6Wo4RGX5lk9agFBH70qGBd26qBOeYNv0t2ACYe4GhYKVrynSAEVg9G3Y3oX
	osgU7f2BxXqmiWhyYguDQfuKTgTR33HOhcVYR1/2e31pqeIZ1FfX1KKCpuQZpRBS
	1MeEnqNXhvwbjuhgq8AuqjbGz1Ha69ZxBQ9zZlRf5r4vPa2s0rkIogBaUh9ahGp1
	ArQMIAXs896w+g8D0WNsXGUQuwN7D7bKFW7/oKBx1xdHHBWPDk2y+KUombixkqxE
	8gJeoc3zujbYgr7rdQhHO3jCQAOAHJYOE/+GkRw1szUNwgR+HSmmG7fa6ES42BpS
	IaW6DYDylWI1LUx4bKxG/Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:date:from:in-reply-to:message-id
	:mime-version:references:subject:to; s=ppfserpocford; bh=GD6wQDu
	cYXx3bpD8hOg2ayaGsb/wMnxUAdOoavBa/S8=; b=Fn3uExNe3BOHjdkZUxdnQgT
	QrhjtlPt2SkZ3s95uKXZbYM3VrZs+Q0cxKElglPUkHQHGdg0575zV66LlYfcsmII
	nJbRMxm47agf4cwGKZcuMxS2seUJIE1Em2sLmFeoFhVokhwfpvtYi3vHE0zhPWAz
	Xs41nTdh6vK95StKRr2v8m+kLO0BFX9ssAdeih6J9IhA//h4h/hg9e1DwexM+qMV
	1a5+Q2QzIvsVzapZ2HQishcW5+11IHBRLzcCLxklE+gqQbmvnuDtwmd0svpapWvg
	c/nHo9sr17xoNlHaHa9zfFkzLbPbY7n2QrrxjkBo1HNirGY5zOlRuqp+QicUxng=
	=
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: VFwRwEQVqpgi7VFwSwnRrm
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
To: 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,
        Mykola Kvach <mykola_kvach@epam.com>,
        Jason Andryuk <jason.andryuk@amd.com>
Subject: [PATCH v6 1/6] argo: lower level of noisy connection-refused log
Date: Thu,  4 Jun 2026 14:49:21 -0700
Message-ID: <20260604214926.1735194-2-dmukhin@ford.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260604214926.1735194-1-dmukhin@ford.com>
References: <20260604214926.1735194-1-dmukhin@ford.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_06,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0
 adultscore=0 phishscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0
 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606040214
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000FCBF:EE_|CO6PR16MB4051:EE_
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: 60c368e4-7028-48c8-52b6-08dec2832a87
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|82310400026|1800799024|36860700016|22082099003|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	5PGknDHIO5g+xUYRi5byXCNC6o8Dw4JkoXZIUeJvAXQ4QIZgzUXFQCKr34jvNus75YH0SoSbsGkO3pRy1rooWJ3LtqAeE77ANWU8BagDwBnmQ+ugNOAnp34zG0V2dnyolbi770WtEu38OMh0HXvJF55q0bJa3dpeC6rozq/RVft8Pq1uiBqMVGdWqxZjI2PhVuwQcwU+cBW++5ZygAaWb/Tz85GjJA/RcOm34M792xTh3DJSs+57b2hpj1vcgyToCL87WGTqrmccCrHtaIgS2DfpxbrbD8rKFrw5p2zE3R/sOHFHgcpzcHoAWOedph7J2gsJUdQXXdD/iCDSQyMnpCniVeIaYtdSlw7eSJTbY7QQR8DfOBRp0sSlC68m2kL5jIxSuJQht3QkI+XhwjKQP5NSCQqhgl8LMjkAFA1PN3BqqYlF4RklmQfWejg6YN7dmnnQY9/kLFiyT+MsKZgiv8dGfOSDObzuYq4L7pmVoeA0E4NP64PWC/1RpXCi1AfJkrjosduCZCmprNsSe+qrRpSMfj+M/L/z+Dmly++rJXVlxqop3Yp4MmgtSfzBjV3mL0xfBk9YMmIoOp8+tfrK+H6fbK0OmNJuKUhUBujFm+wCjGbXd4PeIjtJjQ5PvdA4APG/ybS1DEw5lmke/yrZLN8hRtABp8vTTS24teG9fUU88O1cLf8f0OHK85oKPVfbLiDkXLD47SoXdO4381PotMGG25M4sHo5W2NJtfIkozE=
X-Forefront-Antispam-Report:
	CIP:148.163.138.245;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0b-00498f04.pphosted.com;PTR:mx0b-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(376014)(82310400026)(1800799024)(36860700016)(22082099003)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	UHBVE7GL/UzAC4IuTkh3A9RLhKYWdkDqrO4bAszyaiBXarKy8pSAlMetxnWgOBGMjtNiSWB930MGz+PHFvwpuJVYlUmCeGA3gKvGTfAF6eZbIVMiD7RmoatleNt7RKufBn520pkqEKwD9uxsasI2VM4SQ6Fqtv+mynuN+W78JmkiAj2Ro59eiQneIeFKTWY+rOtYALCHstIyAGVGiNUb4WOO3pXfmdPn0ulYx3XmberEVWxTMurUIl4uq5txdnnD4jZza6RtCNkxNcUUH/2cDJWRhjK3YagezE7ZtC02zB5yeoBjx0smmxajaBegU0BhDxuNDdrIeePlyqS2vzZESfWaM0cW9KX95fbwDenNbeZ/bM5irvpZyBRaShkvILCvwcB6Fhg62bUpaoPw9dr3TLzqc7itctLEC9ZtG209v/o1iyOwD8AGg5hsm/VP2LZu
X-Exchange-RoutingPolicyChecked:
	IaqkJK9loDJs6rR7cH6ZXinKnKLF5PSTGqwH1WNUAxxy9F3EBv1vJ9D/q69e8HtBhGz6l1Ecp94n53J1POjJWqZtWv2u2Ho/jtmOwmUdmYggqlbj79G7+/muZD8f5QZ39UbBN6gD/NADyAOc2s1E6FOngdTyUNFuK9+RzzUAqZnu4m+KiZRfGiCpEkoELLaBSpLdk5HxH3ueKtHdw36dBGOyxRlEjfOAE5yuLIJ8tL1endeMaS//p3QW6xsLxpcjU3rmp/nNX/D698R50b/2/zK57LS5omkOA3GAmSljxxIW0KCO5fXY5RCxBtLcUmTczQeR3c74hWpzwFZDytIkXA==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	ugGaDe/hXBTym57G/PC01aO586eDRJVCA9Pl41hwRstDxnMBZNnD6RvXaVqxY3FokwD7rQ45/Xs7eb6dVRFxMG5KqtWEpRouFhfCiReP07wO+m0JxJyOJsGskI19J2WvVL9IfYocs+W5hIjPjtjMDQRVqn+H22gNnAdNPXJKQvL1a3qCgi2C3v7gyte1bMib4X8wtmdBQ19D4OcodZxJn0IN/OdFBggSCezIuRS98BrIs5M8eci6rRfutQlFs0Irdxno9vfIueuwc+aXYEOa4o7ULHG7PJlo1Dc3i/kPHuOA76pS3hXlnVGEAaylpJsNqKQ+B+4mfd5sARrDggg4Ma706+OEmnsGZ+uvfeb8joc3bsGSrwwFnPhaPqjQ1tYVJD3xDDdWbOYXr5AzaD06x37yew+g6t2mFlckav7lsilpZl4YdziPfjsozAI/TINDyyfXzfPCYSp3Ibexb5+hoTAK8NzA4Zehg4b1dmDT68UGnMIQrFZLyBVTwAJ/AA1tUxmFqv2er/UWMQdDplH/KdVLM+bq30FIt0KhCSlTdQyyH4E9zcfnFgX3hwZWLeq7mSJRfHyQnytTPOm/btaL7kV5K3rYGWlN3+9Ui95kQK3ffBx2VaFEj3Cq62Rf8Qlm
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 21:49:34.1248
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 60c368e4-7028-48c8-52b6-08dec2832a87
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[148.163.138.245];Helo=[mx0b-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000FCBF.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR16MB4051
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA0MDIxNCBTYWx0ZWRfXxQud+YkW+TcW
 IqW3KwtJ94B1YOKkPU1TNE5z/o8fcCtcCrpsG3blNpXNSypJ9r6RWiK1jGC0Jp/zQu1FwuMbVyd
 0LcTB/oxfP00sFfv5fUWFj5Ki6ix1ltt0GfiTp3afy2j/G6sCp6X2xOq+oriXhSeatP38sIf7N4
 rNl9iFZ2UfjDM3CekdwKn4uaB50RU4YLT/F3hsYvT9c2wv6KgQgedx9L62N53yb9Wpbgk6NQRe4
 FMZVSd5TqSxp+fXLNfvYyDifhwNINPV9EdtHmSH0goYEjHM+EWyGBPFjRdaS50uvMVDf5Wiw8So
 C1S4Uy/NpHMhzevTulj2lPx49rCfCaQ+PNvJR+yLJdo8Lbah4ShVPGxC0me4rWs9QOPyl2MoEtC
 n5VqVHVSdZBU0kttrYgfMobyKdATRS4pPgNyiraVYTchqb3NiDuAujS9mdEZdFNG/66BhydURlw
 ewJIuM+n+tOqfkmp/WQ==
X-Proofpoint-GUID: RDgtVfrslup7-LaUinnKblSjNTGWKJa8
X-Authority-Analysis: v=2.4 cv=Ify3n2qa c=1 sm=1 tr=0 ts=6a21f2f1 cx=c_pps
 a=BlIXLFXQXelmgi4pYy3AOQ==:117 a=b7IhknPlfT0FN1EembXvig==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=FelO9ux0wxsA:10 a=3PXLN80vpJUA:10
 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=P_n1zlmtWsCQbjROFjcg:22 a=0GA0A_IKJoUHBEAzNTkD:22 a=cbNQJ9GKAAAA:8
 a=DBfv99YmAAAA:8 a=VwQbUJbxAAAA:8 a=zd2uoN0lAAAA:8 a=UgAm-RWKtkRDnoEujesA:9
 a=3whSkbs7g9Me0DR5EJEX:22
X-Proofpoint-ORIG-GUID: RDgtVfrslup7-LaUinnKblSjNTGWKJa8
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_06,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0
 lowpriorityscore=0 clxscore=1015 bulkscore=0 impostorscore=0 spamscore=0
 suspectscore=0 malwarescore=0 phishscore=0 priorityscore=1501 adultscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606040214
X-purgate-ID: tlsNG-4011c0/1780609779-7196E8B7-3BF7F652/0/0
X-purgate-type: clean
X-purgate-size: 1576

From: Denis Mukhin <dmukhin@ford.com> 

Switch the log line to argo_dprintk() so it is enabled only in debug
environments, as it can spam the logs when a dom0 service using the Argo
hypercall tries to communicate with a domain that is still starting up.

Note that this also lowers the log level to debug when the argo_dprintk()
facility is enabled.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
Changes since v5:
- added Jason's R-b

Changes since v4:
- n/a
---
 xen/common/argo.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/xen/common/argo.c b/xen/common/argo.c
index 28626e00a8cb..98a3db7fd070 100644
--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -2034,10 +2034,9 @@ sendv(struct domain *src_d, xen_argo_addr_t *src_addr,
                                         src_id.domain_id);
     if ( !ring_info )
     {
-        gprintk(XENLOG_ERR,
-                "argo: vm%u connection refused, src (vm%u:%x) dst (vm%u:%x)\n",
-                current->domain->domain_id, src_id.domain_id, src_id.aport,
-                dst_addr->domain_id, dst_addr->aport);
+        argo_dprintk("vm%u connection refused, src (vm%u:%x) dst (vm%u:%x)\n",
+                     current->domain->domain_id, src_id.domain_id, src_id.aport,
+                     dst_addr->domain_id, dst_addr->aport);
 
         ret = -ECONNREFUSED;
     }
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 21:49:47 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 21:49:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328594.1593002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVFwh-0003ef-8v; Thu, 04 Jun 2026 21:49:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328594.1593002; Thu, 04 Jun 2026 21:49: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 1wVFwh-0003eU-5Q; Thu, 04 Jun 2026 21:49:47 +0000
Received: by outflank-mailman (input) for mailman id 1328594;
 Thu, 04 Jun 2026 21:49:46 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wVFwf-0003cw-O6
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 21:49:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVFwf-00BQcJ-4V
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 23:49:45 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a21f2f2-5cb7-0a2a0a5109dd-0a2a4501e2f2-4
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:49:45 +0200
Received: from [148.163.146.23] (helo=mx0a-00498f03.pphosted.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a21f2f7-c1f2-0a2a45010019-94a392175f90-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:49:44 +0200
Received: from pps.filterd (m0367123.ppops.net [127.0.0.1])
 by mx0a-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 654L5pI62666035
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 21:49:42 GMT
Received: from mw6pr02cu001.outbound.protection.outlook.com
 (mail-westus2azon11012000.outbound.protection.outlook.com [52.101.48.0])
 by mx0a-00498f03.pphosted.com (PPS) with ESMTPS id 4ekgys88g7-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 21:49:42 +0000 (GMT)
Received: from BL1PR13CA0399.namprd13.prod.outlook.com (2603:10b6:208:2c2::14)
 by SA1PR16MB7076.namprd16.prod.outlook.com (2603:10b6:806:4b1::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Thu, 4 Jun 2026
 21:49:40 +0000
Received: from BL6PEPF0002256E.namprd02.prod.outlook.com
 (2603:10b6:208:2c2:cafe::7d) by BL1PR13CA0399.outlook.office365.com
 (2603:10b6:208:2c2::14) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.8 via Frontend Transport; Thu, 4
 Jun 2026 21:49:40 +0000
Received: from mx0b-00498f04.pphosted.com (148.163.138.245) by
 BL6PEPF0002256E.mail.protection.outlook.com (10.167.249.36) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Thu, 4 Jun 2026 21:49:39 +0000
Received: from pps.filterd (m0426316.ppops.net [127.0.0.1])
 by mx0b-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 654LiWMM1072423
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 17:49:39 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-usw.ser.proofpoint.com
 [34.209.42.160])
 by mx0b-00498f04.pphosted.com (PPS) with ESMTPS id 4egexd8rmq-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:49:39 -0400 (EDT)
Received: from localhost ([19.12.92.221]) by cmsmtp with ESMTPSA
 id VFwVwLFX1brKTVFwWwWwln; Thu, 04 Jun 2026 21: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppford; bh=427
	fQY0WC9SoNCzRxlfplx26kJaYiZXGxuZXC7/Nnaw=; b=WWcCtN4Ssb1S02XCzBC
	YUlnEnhXGldesOpNW4UHFJDnmnsNpE0wjFPJPqFE8fIashIaNAkMhFN4q3BsKrn2
	5oodHpwCoYNf/WR1YuDBn6HxjqYmDUL1S2uoKtcIP0+jm+nzkAtB2AOFKZwKESiD
	w+AHTajnwFVXuagIcc2lLTN9LNiNjN6cfNaNRK7Po6XHKlD9e08sM7EkGNXzcglB
	M66o/I7WbUO9mNxX5JTWvFuIvd21Qz1UKoYt/HE92SLcvim1Q/MxmN+xHlh2d2iy
	M0P7Hfy6M/7hGaBZuD0PMnOKCQERhGwayDKV/jhsRi8+l6GdrTDECRISXQOnf4Zn
	V/g==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=L/30FwpIYON+Fg8zXTm2cjy+6RPoBTw6i6JPoUPpVr9QGTsPBq3O27x+QyEcW7tJSNcGZHnIuPjcXlsX1EK9c1CC32OE//cZaQgQRL/ZyfLL2xRn17X3vAXCIKALyPwMmRN4tzgVWya3vse1+q6RpZ/nsU23Pb0oIv6xS0vfa9T0uCe47GHrBbybCapi5ht0zJsS9Z50uRxVFqdLMC8nS5xO2c2hBampm1eDCPRxOW4k6Bp4JExv5vFRZHkKBJ5C7YM/phlJy6qOuA85L0Nzsfdky0bUcGigGIFapcJBYyEK0UgWnYN81eSBwQFwLRCrumMW4phCeP15cATcCFEqHg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=427fQY0WC9SoNCzRxlfplx26kJaYiZXGxuZXC7/Nnaw=;
 b=p+fXmEGqsNWDCa3YxQGW7AyHmOEfTKj3Wnm05VMyHoTvutHQKg97uZs0mkl9aebByXNoTF+4/ETxgc+f4zOkNU++NIuW8omtV0EUCNnJ/vAq0jOxa0B7NDJE2kfJ5x6X+9fz5fT10AS5SEjNA03CMLNBfqzIsAJIrtz34+UCYYwqenPzhS1tZHpMVwHvyrW2IMtTsFvuYoiuciHiSHoF4bUDurgnpNPD1jg10FX0oG1InqBHPQH+zLSF1ji5+uuTdfHWBXoJcNMZ2TiJoH/GQM+a2g4oK5zkswiBdpbtTVRDI+sh1GvZFOEoPbggOn+I1kCcGPViley0RGMIeSE5Jw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 148.163.138.245) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=427fQY0WC9SoNCzRxlfplx26kJaYiZXGxuZXC7/Nnaw=;
 b=OEsXaKc89Te8nIDbzPrnr+p//cqChMM5AnLMfLPhukBKfa22TxtA12pRD81ixncVaPXEmUqxlSwnGjbJXs7MTRkXzWHMpAmIsjj7gadnm8pueRrDohSQJ0PvZmWY8l0wAFoghKXFMbf60bYVYr38tMOnqExTJP3cTwl0eHhwcNU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 148.163.138.245)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 148.163.138.245 as permitted sender) receiver=protection.outlook.com;
 client-ip=148.163.138.245; helo=mx0b-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:date:from
	:in-reply-to:message-id:mime-version:references:subject:to; s=
	ppserprodsaar; bh=427fQY0WC9SoNCzRxlfplx26kJaYiZXGxuZXC7/Nnaw=; b=
	b3hGBNN+ii507FWfMeJUHU9emq20S5gciuWyUER7M9xOkcL6JhA1DsJNGakL5U9g
	rV1VKmSam4j5jdRABht8OLjokYN2eK5gkLrEj2uTERVRJnvfT7CcdYeo/5MzG+IG
	LlKhoIiTMDW6KGqC0W4RYdv9Dugy/BcuZuOg0FLxdQIdspQh8q+Rn1R3b8onp64V
	RsAlMjfl/jEm2og22rxpZeLPwsiw7/c3oKoRMJtkSQcUlrjBZohjCOO1EWpeWJ9t
	LGRg28SxUWPQpVEAAgw63yDWWIem2c3GbVFB7BHVYzrSuWUow8wVUmnUZ4iEab80
	S6sjzy+YpkKH4f5bO8FaRw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:date:from:in-reply-to:message-id
	:mime-version:references:subject:to; s=ppfserpocford; bh=427fQY0
	WC9SoNCzRxlfplx26kJaYiZXGxuZXC7/Nnaw=; b=GalsF2sM2bj4YQpvOYh8aZi
	cE1tsCaIxPMHOaPiceCHl3AC4XALVJaCDd2/EgE7hAmsai6NrBDtIOsMixbxNzM8
	1Rj7zWJtqw3FB3H+6Av4G7v2XZlbnuwNrk3GfHKz+eAPMuDK41tpquFGOf/oYf/j
	W3uZg2LI/OB7mF2nEjfM9wTeGgF0DuozbBTQeQdF0zyf764iXatnAuwRY7axvdsl
	LijqYsjuo0M/KEX7kvDu30pmjyUdAbSc49akoUdB+bUeK7sFIv8jlJkALLLwYJX/
	J7X1v4Tp9J8yb9aqVHEFEWdTT+fiIlRTeNvDJhtn49JAzIvVCVAXHI03gSrNOzA=
	=
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: VFwVwLFX1brKTVFwWwWwln
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
To: 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,
        Mykola Kvach <mykola_kvach@epam.com>,
        Jason Andryuk <jason.andryuk@amd.com>
Subject: [PATCH v6 3/6] argo: drop argo prefix from argo_dprintk() calls
Date: Thu,  4 Jun 2026 14:49:23 -0700
Message-ID: <20260604214926.1735194-4-dmukhin@ford.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260604214926.1735194-1-dmukhin@ford.com>
References: <20260604214926.1735194-1-dmukhin@ford.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_06,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0
 adultscore=0 malwarescore=0 lowpriorityscore=0 suspectscore=0 phishscore=0
 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606040213
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0002256E:EE_|SA1PR16MB7076:EE_
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: de977452-9e4a-4677-c08c-08dec2832df7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|82310400026|36860700016|1800799024|11063799006|56012099006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	/bobLp1A2AdgD8TfG58YW7c02ijT6vlvW0GH62K7zNN/ZQicICQPi+mGt6F91Ul+0RfQq9sTXt+AW7khfok422goalKJfrWwYxsaLf4PwkYkwszbX8YXVkkAiE8GB73V4QI10iXYN8+VoHt6gYo9OZERqoq0+wOcAV3l228zTJnzBtatMSrLDD6kEPwzvxahW6zucjsm9Lc78cGJ2UdEZOkAR2Qm2EZXc2GDDMpZXT0tyddv970SRIMaTqO0OOU5jCMKGjaMdS6kZoOPd6r8D2TAz6QDfxNUXjA+aHloWuTkchP66ZPfONWOUNDrop7cEWYF0NdlFaPd3owqm16N/BVrf/ECTx2skCFawdCuTap3u/ZrGsN6uGcf8Tbs6j9ufjaA95vr0SEDvjlRCVR3cly5Nvc4pfvU4xAUOGi6iyizM4SPIEuVU5Yrm6qyvo3JIYNLA3tlExyNj6fIU7wp6Wu8RSn7loKVFYz3XW+2RgNks+S3Kp7ccPazWcDETTMIodmw58IGZJlXpb4lzHd2H+gTjgn4uFyrxypl5DQ4+uy+SGcTyNYuhTIloQdPthtFQUYGnkIShIadOl3NlGvFLUorgPzfceXfYn92dFXe55ONMcq8OWN6/KjemGNjRk8OU/+6J+XFhSkQJNCuq/kBqhV5oyg/z6nPwmJ3MpFHwm7mBgeV1gHw50w7vF++umVz85hxqNHXiJrZp3csJgnqFNyMCeyWq8EpRqKwEhiHdhw=
X-Forefront-Antispam-Report:
	CIP:148.163.138.245;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0b-00498f04.pphosted.com;PTR:mx0b-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(376014)(82310400026)(36860700016)(1800799024)(11063799006)(56012099006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	7z62auJDU5X3R/jZguQiTyNPCA3Uyb+f05Xa2ykf2KTHqp5i/kGrkbDoJ2r9IItQ+cDMM1bDZflksq2lE0WyVvji/lLyw2SJ+1iQr3tyDD2S67Kl6/g1GIaGjLDxagGYe373VYlNYOLJxmHfaMhLGDUd+8KOmqR9IyHAGSVn4vo/Dq7ZkNEErEwfIFM1j7YOKstgUNrVqHqdXTWM9SVFypAU36WcmyfOlvBS4zCZ+Kff2U3Gwe9tmvm5ny7k6uubue9hOvwLfxsTQSAgaqbzLTaS2gh1pAKKKFN51fkb4svjQgM36REQuBcbBqDtkoDaZvK4LG5AVyZSHep+FjN6L7fMbqmLWR9DoOSo0c95VfL6j5ldNW4UC5RC0MHU2kPn7XJn/WRhfHI/e9ukrEETmX5DTqaUWTqvUVVl8Bpvoj2vcRDFOa7yBWCFPBLXmXIs
X-Exchange-RoutingPolicyChecked:
	R5RBaS24kA44XXLZj3xeoLS9fGzB/wfobyqV22Kp+4Zgkvd/SlM0M9QsqTUspb2x6cza+3AtEyEZa0xLr6qHTClN7ggSROrhP4Qrvwn/6Sf5g1hHdhJXOxZ5ht9au80SqX8BQoXFvdri2Gj7woBZZx6SACr4wVR+YkQnPgVaI7nSBpUWgQbKqKxaNinDhKWAKHue2dgfb7FCa6SX2vYdJryd+eyxvA215L4fMR+Z5tudHkEaJ1yGtRl60PXrKAeNfj3OIS95KgUToRjGU8VSFALT/SsQH/pgfDTubmv/yr6rhg6V5Ceyof7H2qxz6cL67E89X3oWIkZGS5vPuK722g==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	739KJcBh9tz/Hu8ZR7H/HxNBG1rr168sVRFi5gQEZea4PQmhuB2WG1gRyrU67lawX+RPqj9M1n9q4v+ZpDHbYeW55F/z55jbWKs15b7+QBv0i9HWY1Cw5rFmdipqH5zDzX5BmtyhKuSPJFinPCIo8PZ5DSCRDf9xbD+eaca/WPFH9LMkJ0sF/GElHPqbPB3AY3+gKgI65HK6jzDtIogdPD4ebDwZDQrhCzuJndXFTBids1nX4CtR5vi/gMfEp7u8KZ57pScg3RXkRPEbg4de+UjKKwNTw4FfcK3bPj0Tj7Q6HBEX8K6I1LpC9OrxpdDNaMLMT43K4vH9XFAAEyHmJD/df/m2D/738lv53trjY5D5KrGFyjagYBUvAlMw9by2pFDKJ39oU+VkBR331RPN514tH5JOKRqrG53f13DSJ28x+XSyt6GUac3tuRaexDO3DuQlI95p/bwRlv0t+RK1nSpH2YAxzJlU4u9ZD7HtIODTppb6K2vDt9JcocMuMt7KOUhdcJmYr+EX/egUPL7uApXwUZYonzHarJH26kTMWT1EmDdrRe2v05XQyov1lfsKfrnTZoOvxOW4zxq38+eN/ypd9OTpFZLwrgdNQgAsxZ9/5tY+PHzkrdZjqxoGEzN2
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 21:49:39.9873
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: de977452-9e4a-4677-c08c-08dec2832df7
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[148.163.138.245];Helo=[mx0b-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF0002256E.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR16MB7076
X-Proofpoint-GUID: CUVICJWc_jtyGCNYLGMmtTdgoxYCRcHQ
X-Authority-Analysis: v=2.4 cv=BbjoFLt2 c=1 sm=1 tr=0 ts=6a21f2f6 cx=c_pps
 a=Ftf85+eZhIav1RrYVnHJVQ==:117 a=b7IhknPlfT0FN1EembXvig==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=FelO9ux0wxsA:10 a=3PXLN80vpJUA:10
 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=P_n1zlmtWsCQbjROFjcg:22 a=N9_n2FxmZfwfyRXvS9-E:22 a=cbNQJ9GKAAAA:8
 a=DBfv99YmAAAA:8 a=VwQbUJbxAAAA:8 a=zd2uoN0lAAAA:8 a=TweWIa6zg6WzoLAQ39YA:9
 a=P0bj-C3X3jJDpopQwM1U:22
X-Proofpoint-ORIG-GUID: CUVICJWc_jtyGCNYLGMmtTdgoxYCRcHQ
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA0MDIxNCBTYWx0ZWRfX0uqbsPbpbtLW
 dpjE/LMgq9tflyanh+3mOGQapT8ydjv7nNS7schvDNCmzJsUSa5Bt06cv/GBnnWENHZ98SGjqWj
 Mmm9SnQTEB9bQrDnUvSvnVRksbf34IdBL2cK19kJ2352gU/d9nNoqy1mYfbzCT7f4LTzRAKUbVh
 +33ftHRd8x+Y2FhtMWOtUu8QDf0bXTxohxxdS3qQIvOle0UmK2w9rFkyri2qSTuoMpDciM+U/ss
 hhV8gNdGpqjRgh4Lt19RTbuN2Jo7QirkCijmFLzGA79cOm9Y4dcBaZyxltJ+ULGf3/IBQ00QVp1
 rDldpYqubfCNdBnmqozR4ANrJ8dJ5vBjYyHVctE8d+V1wV/uCyvs81gnpllUxHX8Bx5C+cNC69c
 FTolIzCZpZChIpfVhKXQm7gQ2ejY0naADnTvdvZiaoe1eg84MEJpgPkTuSMDxQdeS5VP+g05sfc
 7Erahppu5X2LewTLbYQ==
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_06,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0
 lowpriorityscore=0 bulkscore=0 priorityscore=1501 suspectscore=0
 malwarescore=0 clxscore=1015 spamscore=0 adultscore=0 impostorscore=0
 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc=
 route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606040214
X-purgate-ID: tlsNG-d62444/1780609785-ADB46FF4-72BD8AD3/0/0
X-purgate-type: clean
X-purgate-size: 2531

From: Denis Mukhin <dmukhin@ford.com> 

argo_dprintk() prefixes all log lines with "argo: " automatically.

Remove duplicate prefixes from log messages in the Argo module where
applicable.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
Changes since v5:
- added Jason's R-b

Changes since v4:
- n/a
---
 xen/common/argo.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/common/argo.c b/xen/common/argo.c
index 5da14c929e14..ffa1f43437ab 100644
--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -1467,7 +1467,7 @@ find_ring_mfns(struct domain *d, struct argo_ring_info *ring_info,
     if ( ring_info->mfns )
     {
         /* Ring already existed: drop the previous mapping. */
-        argo_dprintk("argo: vm%u re-register existing ring "
+        argo_dprintk("vm%u re-register existing ring "
                      "(vm%u:%x vm%u) clears mapping\n",
                      d->domain_id, ring_info->id.domain_id,
                      ring_info->id.aport, ring_info->id.partner_id);
@@ -1527,7 +1527,7 @@ find_ring_mfns(struct domain *d, struct argo_ring_info *ring_info,
     {
         ASSERT(ring_info->nmfns == NPAGES_RING(len));
 
-        argo_dprintk("argo: vm%u ring (vm%u:%x vm%u) %p "
+        argo_dprintk("vm%u ring (vm%u:%x vm%u) %p "
                      "mfn_mapping %p len %u nmfns %u\n",
                      d->domain_id, ring_info->id.domain_id,
                      ring_info->id.aport, ring_info->id.partner_id, ring_info,
@@ -1741,7 +1741,7 @@ register_ring(struct domain *currd,
         list_add(&ring_info->node,
                  &currd->argo->ring_hash[hash_index(&ring_info->id)]);
 
-        argo_dprintk("argo: vm%u registering ring (vm%u:%x vm%u)\n",
+        argo_dprintk("vm%u registering ring (vm%u:%x vm%u)\n",
                      currd->domain_id, ring_id.domain_id, ring_id.aport,
                      ring_id.partner_id);
     }
@@ -1781,7 +1781,7 @@ register_ring(struct domain *currd,
             goto out_unlock2;
         }
 
-        argo_dprintk("argo: vm%u re-registering existing ring (vm%u:%x vm%u)\n",
+        argo_dprintk("vm%u re-registering existing ring (vm%u:%x vm%u)\n",
                      currd->domain_id, ring_id.domain_id, ring_id.aport,
                      ring_id.partner_id);
     }
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 21:49:48 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 21:49:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328596.1593010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVFwi-0003tF-GR; Thu, 04 Jun 2026 21:49:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328596.1593010; Thu, 04 Jun 2026 21:49: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 1wVFwi-0003t6-Dd; Thu, 04 Jun 2026 21:49:48 +0000
Received: by outflank-mailman (input) for mailman id 1328596;
 Thu, 04 Jun 2026 21:49:48 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wVFwh-0003n2-TA
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 21:49:48 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVFwh-007iRJ-9y
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 23:49:47 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a21f2dc-2eae-0a2a0a5409dd-0a2a4503898a-6
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:49:47 +0200
Received: from [148.163.146.23] (helo=mx0a-00498f03.pphosted.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a21f2f9-672d-0a2a45030019-94a3921772f6-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:49:46 +0200
Received: from pps.filterd (m0482516.ppops.net [127.0.0.1])
 by m0482516.ppops.net (8.18.1.11/8.18.1.11) with ESMTP id 654IemWQ982314
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 14:49:45 -0700
Received: from cy3pr05cu001.outbound.protection.outlook.com
 (mail-westcentralusazon11013062.outbound.protection.outlook.com
 [40.93.201.62])
 by m0482516.ppops.net (PPS) with ESMTPS id 4ekeutsk6s-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 14:49:44 -0700 (PDT)
Received: from BL1PR13CA0288.namprd13.prod.outlook.com (2603:10b6:208:2bc::23)
 by SJ0PR16MB4604.namprd16.prod.outlook.com (2603:10b6:a03:425::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Thu, 4 Jun 2026
 21:49:36 +0000
Received: from BL02EPF0001A101.namprd05.prod.outlook.com
 (2603:10b6:208:2bc:cafe::9f) by BL1PR13CA0288.outlook.office365.com
 (2603:10b6:208:2bc::23) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.8 via Frontend Transport; Thu, 4
 Jun 2026 21:49:35 +0000
Received: from mx0b-00498f04.pphosted.com (148.163.138.245) by
 BL02EPF0001A101.mail.protection.outlook.com (10.167.241.132) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Thu, 4 Jun 2026 21:49:35 +0000
Received: from pps.filterd (m0373461.ppops.net [127.0.0.1])
 by mx0b-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 654JQtxk098534
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 17:49:35 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-use.ser.proofpoint.com
 [3.215.31.156])
 by mx0b-00498f04.pphosted.com (PPS) with ESMTPS id 4egeh8h3b4-2
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:49:34 -0400 (EDT)
Received: from localhost ([19.12.92.221]) by cmsmtp with ESMTPSA
 id VFwTw0W5x5kHRVFwTwiWW3; Thu, 04 Jun 2026 21:49: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppford; bh=i1v
	fvWeM944jUV/6u1QKjPpK5OPVweNgWIEOeivkA4M=; b=r8L8i5GJRW4edbq67rw
	T8P4UKkNLhS3lNQ/zgIl+92zo6ebDkjIFAjP+YrdjR2qrPzAe9r2OilgOBJfmneG
	fTHLSFxImgmmiA16N1kZa0ekXepfUn2NuooY2cxfhM3aAMT5cp3+hnzqrbIm1q2z
	VtOVMfT6d+VBbHt6c7J/w08JAo2ZCkrtoAqmPvuUb4d7/a3TDUHpEhZ/efqPGvus
	cprpI+6Pt3oPGFedSau6K3SRcnfskP7/01EVjiM4NsqEOB8RP9V/Md60P5fzCej8
	z8ljAAXuULC0OpxXkF3aaiH6PRcphY0tEZIi3hnMqkImyyKIauSjSzS2ytHT07gR
	KFw==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=MQX/Bn7gQEdTDiF2VmvEkHdWGgUThS3pCaq8jCVrw44J9NomI8XTNTS5fHB/uI/ZulducwyKewGsF6DShBEqQvWmqTfH1O0dhmcC/1LTHglIGrvOfnYbsQJsk3gEZheSa6qMPkoCK3UzoY8vNn4Nzzv7PwJ/QGVTrd5NSJhUzxxq2t/ctQd8kPSRtcAsIvqkLN9QAvJe6wMf08aR0rF0a94oBZMr8p/RWwZjFvhb8o+roj49VDEl2y9woFRMZZ8ByNzLM/pvksQWO2839I+KcJjH916jF2pE3+joqD2wit76+tc9HqEkfgiWkqbJbde+RmyUjNcLXlPZ5d7MwdH89Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i1vfvWeM944jUV/6u1QKjPpK5OPVweNgWIEOeivkA4M=;
 b=U5227estgPK/6GLGd7x5ys8Ff5LeAoLPHhPJnVknHMoHaR70U1sG1jag6KDkLI+AGEqTM2t1FgZjX27XPl33bdiqCLRpchFV09MxHbN18Rj1ao6RLfZfnoIblc+WBOO0qkeT1b4FsPWIR4+79696IgI0JDCigAuJvyg6mzFrSDzrGedn/z7mxWnxKHekoWCoLIVOkTO4o8IvlciM7H+bSKxijHok9Dd8KSbg955vcD+1Hj+RbyZDxPsvJnzWL7VvE0i6hASB1S2Wj43Dlw+CnbZ+YftrtlSNJ1aL1exE9G16lvMcj5hLaNxxbCNN9br5AjZ+o6UkON7BVTB07W1HEA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 148.163.138.245) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i1vfvWeM944jUV/6u1QKjPpK5OPVweNgWIEOeivkA4M=;
 b=J8h50GWPekLyir5U/MIn+ee7TR0cl1IA/8Gjaa1M2tKNKuB1X7AIDYAz7UGTNFd4D3v4EuFAOAt8ULK0mWl/TtMH9EtyEau88o/iIIUZ+Oucfs7dkS+Y+iOWuwyBCoe+vyHg0/7wXQrflQN2Rli3jhMaxKZk2DUt6e+ZXLlt7Qw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 148.163.138.245)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 148.163.138.245 as permitted sender) receiver=protection.outlook.com;
 client-ip=148.163.138.245; helo=mx0b-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:date:from
	:in-reply-to:message-id:mime-version:references:subject:to; s=
	ppserprodsaar; bh=i1vfvWeM944jUV/6u1QKjPpK5OPVweNgWIEOeivkA4M=; b=
	QgkmI8jsVqZUfC4oE7pJBQODi8bg1z80doNCkjMQMfvx36SGq3gS9h8Dc2XFw6PG
	ZaPqsOsKwGzDi9REOWwnuPEFYKJpBlKNGZs3yhn0BhhH2gP/Uip7rpZOiYhLvwpt
	tKJ0g6AjWBeRfidmFnimQsht+qNjL6lCyXD5uC+325G/Y5SctnW6aOxjoqt+8b5g
	w2W58SfoVQB/nLxjlSGGtxEnHeDxQX7/UgyXt7wEOIrkOl2jEbzEkaMjIqdKcEHs
	/fVI8bP9ZOoleYb7P+LyJyGAvgYpODseWuGTkBRgk7HUXWQQhf8bdUQ/2wqbA8pG
	/FTIEldCN1V16z7bA48RUA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:date:from:in-reply-to:message-id
	:mime-version:references:subject:to; s=ppfserpocford; bh=i1vfvWe
	M944jUV/6u1QKjPpK5OPVweNgWIEOeivkA4M=; b=i4y1bNizc8fbF8RrxkeT7rX
	F/vQE841rG7vNMBLQ5dJNfG4p+WIcovnxDC0y4lM1DZCOAEWSJQQ27sNj8irZALZ
	k5+w9pXsgmByJO9MZwNDv3kESlmfMP7Ib5tsu0WR3j7wpqR8Y5r+li4DHQ/r40cB
	JK0XHW3oTLeXJZhNDgGGLvwwfcdBrEBVu2qM358PQzY/pf+4gZUaencacOUkDdIl
	rvdJm7HYezokKZyckQB1P9BB5nP98mLK6cIMwItE9aP5uUaMQO9MNlmnmiXBFZae
	UpmhCk+FNUId4xT6nZzgsZWsiAF2pfGvHlHrI7injW0VnLnSmZlXa1vZzDHV2lQ=
	=
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: VFwTw0W5x5kHRVFwTwiWW3
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
To: 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,
        Mykola Kvach <mykola_kvach@epam.com>,
        Jason Andryuk <jason.andryuk@amd.com>
Subject: [PATCH v6 2/6] argo: correct logline in ring_unmap()
Date: Thu,  4 Jun 2026 14:49:22 -0700
Message-ID: <20260604214926.1735194-3-dmukhin@ford.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260604214926.1735194-1-dmukhin@ford.com>
References: <20260604214926.1735194-1-dmukhin@ford.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_06,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0
 spamscore=0 suspectscore=0 lowpriorityscore=0 adultscore=0 malwarescore=0
 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc=
 route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606040214
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0001A101:EE_|SJ0PR16MB4604:EE_
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: cbd5e204-b8cf-49ad-fff6-08dec2832b60
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700016|1800799024|82310400026|22082099003|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	R8u4RPuqBz8oUtGCt7jVUeC/xc9FVSqbczGa0/dL60r1VpvYB5jwDDW7bvYwX7lpt52JSolIMOX9lVw7Jqzxi3KRevi2zDFwNo5D1l5ZcYZWBwwVCogPpl1+x2RmTY8wA6safGUtvFfJ/BzYkPwe02WrRhKprLSgsZbVrXq7mbbC6SJ/nREf2dNmK636/vcdkylHbJbq0xkihZII/cDcB259rfcsqG/KA609ZEMNl0gAdlkNJvwILBxrdHCHXcr0LP/OSUWXcEn7Y8U9xhJbDIU4Nua3cTKhRM1hRL/Vko6fZDuyWs7nORnMc8yKxuQLUEwbaQYL6yvfbiojwectP/MdLhOd9LZJ4JhH4AZPqzuto3Y/9WR1boIPGgJoEEuhAITT+VL+/nPMzuMGuu/gTG+dLcgO3blIihFsExJOCPjX5olsbeYlOKidNRiJtZDE+RatJ7wFINeH9QLnh9VgXlnTwykQ1iRvRAct4x7xPoprA1fiyFEzentATxD9EAkxwT7gAsYzryzlLm8Q18X4yw/IZSNvGsepzOACDRYyBxsPcxo7+XxAul0M/9nGvQWc9afV4akAXuWzyd30eLGcx6FbahOHFXj+UbrFiRmFhMPir2v1Ol5TaGCnhbM4vhdEiW7gMTmhAxgKF5uHcz3HEbvUC8tanS2amWB7wP12rvcgz4bM04pouA9mE9WTltIVcFsH3LiKVX2B9joMMauaYCV2Ei+5c9VqGR3TpzbQcKY=
X-Forefront-Antispam-Report:
	CIP:148.163.138.245;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0b-00498f04.pphosted.com;PTR:mx0b-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(376014)(36860700016)(1800799024)(82310400026)(22082099003)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	9j867Z0SGlgAhIm+1qPU6LqYMqpkkoh4Lm0WeQSBmp0gypnLK0LUA8Mc5TbWJFKnl4UoL+H09VjFoEJwrU+fxvCuK9W2OcNxu7A1fuA2lHcPU8Cms8a7FjDsqVl00x29WI0irybaHEAtqi71peItXSZXNVGCnjjMX3W4v8GJ/D+pKlrnUWHxmt4j+Uav3ktjint8UYf7wTCo5SlcX8N4t/zRRLe91Zf/qoP1fqUAwM4ZcQXxocjYdTcUuTudKlUi6yHgv+6oQMh+5+XVZL/Fv2hL2wq9i7XubzrPb+H2oRh07jdOH6VYjkPVuVQWUhqEIf8qJNCPzkmv+u+ADJsH49xgBU7qSKu/pRbmtClbRvrJT7OQr0kZq+HsgAwZg666hbjGqBV1rIRVlLiZMXS+f8pBtYgunbBZ4x/6FSFOi2M4a45hSX+Bub09EmfXjq4o
X-Exchange-RoutingPolicyChecked:
	RyPexpdg0T2yhiO84svXYgztgdbmPR1/sfVPmavoCUQT2PvCFn+4pUMXhzC6LV4+srVHDksQJ/E+eHul93ihFzZGp6k9rKfYwqnVtTJn9CyF3v3fK1yQ+r58QnMfgWbdcjC+h1LZ/Yd9um2a9Dsra7/hT4Ji5N43aN6I0vRTWyr+n4NuCo9qMs04it0qJRajrn+vL+xRfVTe6yRTj+tAyu7flZfS+o8rN6YYmj0pP+Y+RnVfPMN6RKmr6mP3RbBUzJM/Ns9rpC1X4C6Ult8fsvRRjQUyA4CHptT0nnTvsRTDhsQbABWqdZ7b8HXWdEYFDB8qXkrApMaxyq93LaUAiQ==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	NY7vK+u9DuYsKanbb54hMaUJt7xTPLrDj8MFermbcFiYBJnpeOzeslwfwSbKtB+02OgCwu9DveMzbXz7b8U9g8dJuYAbE36jyjCZ48TXD/Fe1gSC4h+quTrD1fjyi/RRmcw0l00FfxdHY1POqmxi68A/OGq4yFQ3kMImRJ1/w6PvRJlFgr+Cuj22aHbtr3IWgkBjYb0bpr46PkokoS5+1GZf8tDMXgy5VrBE2P95ZG1BP8bQZ2pumWDplcRhtE5MLFck7H9PXVjLh1EMXng7gdgLjlDx1KgONVU5YAqb2LvyWwm6kIXhUel4uzQg7Y/pYtE+JotwGHt6iHvJkLJx/r1BQj59UcHjk8fAUZfddwTmCmq0jb7be3ZuvH2Jy5EEt8LhAuZWJPOmZKTu3BXm4Ldfz1cnOrr+BSit1tBWq8bJ/0n9OJKD+5s8lpMk3VWdjZXGLuesXKZ46yH/gcgjXgVHdIkBHRv7urCUmgYc2i/C79bmerTMFlrpwJBAd22vbgxbbrOBE0xQQOSbE95UA1lwiIbeTnmGCpxHU8dW0ZN3FzwUQ/dbxW9w3k4kQChXonbNZwhhvxmfBF65OFdKErYgrnv2KFsXOO8UGCZ33W13F6bglxYC4E9XYBdLt9Cl
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 21:49:35.6442
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cbd5e204-b8cf-49ad-fff6-08dec2832b60
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[148.163.138.245];Helo=[mx0b-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0001A101.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR16MB4604
X-Proofpoint-GUID: Ix1IHtc02dYy33RcNFNOZUfei8dlWaht
X-Authority-Analysis: v=2.4 cv=ffKdDUQF c=1 sm=1 tr=0 ts=6a21f2f8 cx=c_pps
 a=RBuBYZrARuxyk0NLsDi/4w==:117 a=b7IhknPlfT0FN1EembXvig==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=FelO9ux0wxsA:10 a=3PXLN80vpJUA:10
 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=P_n1zlmtWsCQbjROFjcg:22 a=NvsXeTrgx-CJMFV-xl94:22 a=cbNQJ9GKAAAA:8
 a=DBfv99YmAAAA:8 a=VwQbUJbxAAAA:8 a=zd2uoN0lAAAA:8 a=WngjfBvNni4G5VxG9swA:9
 a=G69WFyCBNqGPyalROSdv:22
X-Proofpoint-ORIG-GUID: Ix1IHtc02dYy33RcNFNOZUfei8dlWaht
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA0MDIxNCBTYWx0ZWRfX6YG6O29eAbB1
 cyblq2Wsy/jTsNzBQGoDrbz0EPULzZvzQyk9LMeTvbMIvw9pltLo2k17uCjrdsU0QxxwpmdLMJk
 MlFIJ3MLOTrzCQoHSBQn2wwkhwYSWP6reUO5hfGt4lPa9U/J0G4pFONYJSmK3LIzdytgDcaWDyO
 Q0gR6AELqK/ZUxhfLUmuhJku9ACeofxQLMC19rKYL2YXGQogH/5aYNdywGVYOOGDXAwsHaaEKOB
 Qnqbzp9+PLZ+vgfgeGU+AHiZMSEoYoeeIm8dgz/yYJAN7Ql0Z4kYwJzLajUJLojT/97GZwCyMjN
 y8cTn5Y9JH+7aI7HfYRhsHE1NxC55+EPWbwazdpqVhnkcGubitLzxvRZh6fg4jjWG3QE6zzfIpA
 FkYEfzhZB4SaBqmD1ci697SP2SKILbatEpa0PCtVcj/99z/pfOoHmTCbgGgtTrwTLa+GCGgpgvM
 2LJoBn3hxJ6PHUwnUIQ==
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_06,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0
 priorityscore=1501 phishscore=0 adultscore=0 impostorscore=0
 lowpriorityscore=0 bulkscore=0 malwarescore=0 spamscore=0 clxscore=1015
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606040214
X-purgate-ID: tlsNG-33051d/1780609787-41D91938-26808B0A/0/0
X-purgate-type: clean
X-purgate-size: 1207

From: Denis Mukhin <dmukhin@ford.com> 

Drop XENLOG_ERR from the logline since argo_dprintk() already injects
the proper log level indicator.

Also, drop "argo: " prefix, since it is also injected by argo_dprintk()

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
Changes since v5:
- added Jason's R-b

Changes since v4:
- n/a
---
 xen/common/argo.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/argo.c b/xen/common/argo.c
index 98a3db7fd070..5da14c929e14 100644
--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -474,7 +474,7 @@ ring_unmap(const struct domain *d, struct argo_ring_info *ring_info)
             continue;
 
         ASSERT(!mfn_eq(ring_info->mfns[i], INVALID_MFN));
-        argo_dprintk(XENLOG_ERR "argo: unmapping page %"PRI_mfn" from %p\n",
+        argo_dprintk("unmapping page %"PRI_mfn" from %p\n",
                      mfn_x(ring_info->mfns[i]), ring_info->mfn_mapping[i]);
 
         unmap_domain_page_global(ring_info->mfn_mapping[i]);
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 21:49:55 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 21:49:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328598.1593020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVFwp-0004Gj-2K; Thu, 04 Jun 2026 21:49:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328598.1593020; Thu, 04 Jun 2026 21:49: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 1wVFwo-0004GW-UT; Thu, 04 Jun 2026 21:49:54 +0000
Received: by outflank-mailman (input) for mailman id 1328598;
 Thu, 04 Jun 2026 21:49:53 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wVFwn-0004Dc-CM
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 21:49:53 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVFwm-00BQcJ-P7
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 23:49:52 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a21f2b7-5cb7-0a2a0a5109dd-0a2a450bd298-32
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:49:52 +0200
Received: from [148.163.146.23] (helo=mx0a-00498f03.pphosted.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a21f2fe-212f-0a2a450b0019-94a39217a330-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:49:52 +0200
Received: from pps.filterd (m0384718.ppops.net [127.0.0.1])
 by mx0a-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 654GtRW52198044
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 21:49:50 GMT
Received: from bl0pr03cu003.outbound.protection.outlook.com
 (mail-eastusazon11012046.outbound.protection.outlook.com [52.101.53.46])
 by mx0a-00498f03.pphosted.com (PPS) with ESMTPS id 4ekdaearnm-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 21:49:50 +0000 (GMT)
Received: from PH0PR07CA0058.namprd07.prod.outlook.com (2603:10b6:510:e::33)
 by CH4PR16MB6724.namprd16.prod.outlook.com (2603:10b6:610:234::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Thu, 4 Jun 2026
 21:49:45 +0000
Received: from CY4PEPF0000EDD7.namprd03.prod.outlook.com
 (2603:10b6:510:e:cafe::a9) by PH0PR07CA0058.outlook.office365.com
 (2603:10b6:510:e::33) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9769.32 via Frontend Transport; Thu,
 4 Jun 2026 21:49:43 +0000
Received: from mx0a-00498f04.pphosted.com (205.220.161.53) by
 CY4PEPF0000EDD7.mail.protection.outlook.com (10.167.241.203) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Thu, 4 Jun 2026 21:49:43 +0000
Received: from pps.filterd (m0426317.ppops.net [127.0.0.1])
 by mx0a-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 654K6YOR133194
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 17:49:42 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-usw.ser.proofpoint.com
 [50.112.124.217])
 by mx0a-00498f04.pphosted.com (PPS) with ESMTPS id 4egeyps430-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:49:42 -0400 (EDT)
Received: from localhost ([19.12.92.221]) by cmsmtp with ESMTPSA
 id VFwZwocjeba3bVFwaw24cx; Thu, 04 Jun 2026 21:49: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppford; bh=Ss5
	se4g+2sQFyoqN3gl5a+WklaGLr7GwBQ/Lqw1hExc=; b=Y/ut44b/hhG7cGb7h4k
	MPM7TtVeOyDAiOHiI6dofwMUwakLy261LgMDafAFPyAbVXvhAd1E/iUb7prUoYEi
	3ZgaWjZQD7pGlrTp+NGsZrxdhJMhD+9VadUmf0kNC1U4RuL2inO/ADFL5obG/WT1
	rg7hsU0jIbdcBxkLCLSi2PFrFbqcQJ5U5hCfqGSoXMiqsZm9F8eeSxx0JeS45vPG
	bVmct6N5lrnpfCA8E6e1U7lcodnqsPpR3GiWfLTqjcu93WUeee6nnBvHCkx4siro
	moU+oY3jJMs7RtOYIHxt5Wd2n+lJovQL2AwKtYF25AG41SjHt56kW6ECBbgl6QFv
	QOw==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=VtLKeYIiDZBwVzwn8EgZZdDITgWAB80teN1EP8SJJpJnaeFCSZ+0mC2t95LCGqSpqB7JZQx/dd/3MYrwm4kl7kAAnDKmmXR+vOLm7DM2bCK2P3fCN9WVNklZ0a0eNo58s5dDGn87Ed96yi/awR2oUgJtsDN6MKxqcQsmTtGmiNA4V+5nTt1PVvOFR3WFckj2vUc3ELE7TjYpIo2zpWBi+gyew1Qm9v5LtcmmO66Ri5du/lBjMC0UYhjvW0OM+ULnPS5z6fyEQZY1a1cH9QYdxFGPjJAK+QEMxJhxOmTes93x4rK5O3ZLJxy2NL0RosKdONCStJN5kK/f6rUwC5jhpA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ss5se4g+2sQFyoqN3gl5a+WklaGLr7GwBQ/Lqw1hExc=;
 b=DHtnYSZNuE437NbYJnOHZJ+hVYHowCatUKFbS+/HK4LFZO/ttw5VGU01RkaZoCVOOjTDrwv+8hE4brRKq337oPMOzOFOrREpz6DcMxkMvwugBt25tzcz4+tCJtA89fySWKCh1H/Nw0+ldPEPwoNaC+TpExg3Ydhdz7rPUMx4+VaILOchuGAAdrDMSaBOplCnsYHFyU7EhHwIDoMl89QVxxCAEWJ4fLL7h4Wfqq+SyTPvJBIvzyvaleFOnDKwpaXjpltq6rckcP2UUXsW9+HhChwSQz/Z85miYLomTuRQt8Cg6yADurojYLPD8LEIXVxct+GRnele3bMVL/E1QLG6hQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 205.220.161.53) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ss5se4g+2sQFyoqN3gl5a+WklaGLr7GwBQ/Lqw1hExc=;
 b=ka/RPP4ztoDzqqZ9nRNhswuAfKJi368+AKygPUhcnRJT5i4CeXjuQyfZhjQgJACXZhaAYDzONb1S6feEj1ndKle7jQPv2Wh927PBuIBWhY4raOjUQORMntFz35lD9IXzOmJHynuIdcnPVLh30cvBL2TChCttVngMD98G99KobIs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 205.220.161.53)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 205.220.161.53 as permitted sender) receiver=protection.outlook.com;
 client-ip=205.220.161.53; helo=mx0a-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:date:from
	:in-reply-to:message-id:mime-version:references:subject:to; s=
	ppserprodsaar; bh=Ss5se4g+2sQFyoqN3gl5a+WklaGLr7GwBQ/Lqw1hExc=; b=
	DZ2jEN+2hTMnDlxKjdWVu1s0WrqdhToKrTFX4ZlHVDYuWdG8psYlFYBlODPiC8zo
	ZK9FysrQFMmDKApPlmnHG/SSDBLtYsRmjSrmz3m7mzhdViEkufb5LMguTpzRBQAC
	vwn90bpuMAi+ugtY+vaSFPY0poMfmXQgVlJb9VYicjrGj+Nz+J9yiL0UBKeSfmcj
	AOL7D+3Kw/Gu8SUXeI4+BNKQkyeojIU3W9+NuU0ubSXLyjJDGM9g7UxOqiaZP9I1
	hjY8U2XJ0mZh7ZBENJdlLnQvLADsfRN2W38c0nMo+u93JEeXWBPMWR+CV1ukJ4DU
	/v9bWqLm8ohZmD8xvEwJVA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:date:from:in-reply-to:message-id
	:mime-version:references:subject:to; s=ppfserpocford; bh=Ss5se4g
	+2sQFyoqN3gl5a+WklaGLr7GwBQ/Lqw1hExc=; b=PQbrus6BSU9V5CHsSGUribQ
	omgXNnAWvsZZJP0mHHdFugzO4kxC2EE1BsjR5V+nttTlK4VABQMtyMYSp7LEfYvb
	JfO+zkDeXPGj6NREx2YO3bRbbsRvwixVVbQmU6qI7q4NZkEvQwvdWw6Wc55+ODAi
	lSK3dH/6iyvEwfpVJkLOv+TIoqHoOSaF8c7F26nxltTY+qh9avQBPmeHvuO6kePa
	7DpXk0uNFV5E6vpxXQKG8cLfPQ40Qv5tqdHhP8evS97KvoyLWHVJ+XEfzxcpMWb+
	2kw9wdvK2LolMP98VMpy7muFSG3i/RaFqi6ITfdFaWV/r1u58ym8sMUrRdBO+eA=
	=
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: VFwZwocjeba3bVFwaw24cx
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
To: 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,
        Jason Andryuk <jason.andryuk@amd.com>
Subject: [PATCH v6 4/6] argo: fixup argo_dprintk()
Date: Thu,  4 Jun 2026 14:49:24 -0700
Message-ID: <20260604214926.1735194-5-dmukhin@ford.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260604214926.1735194-1-dmukhin@ford.com>
References: <20260604214926.1735194-1-dmukhin@ford.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_06,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0
 adultscore=0 lowpriorityscore=0 malwarescore=0 spamscore=0 suspectscore=0
 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606040214
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD7:EE_|CH4PR16MB6724:EE_
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: 56e709fb-278d-452d-41e4-08dec2832fe9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700016|82310400026|376014|1800799024|18002099003|22082099003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	4Zvv5/SF/PyCnDH1XPSIJc8ju+xYcWYeF7iyOKfb0mi8bKIUW/TDhb/w2fPvgCR/j4sA/1yjcHxJR7J/ohHUVxK7bDsCEjoJpxreVGpuUUVl+Y+3wkDaLOSSCrLiS9yCutulMlztU0vCYdd6CBL4MT3+wTzuO4HgwjyruEQUqKswbp98B+JGbHZwJFUBMqwWeeiijMDv9UFquCCTG3hcw5HkvZGIOwfX3YKZH89zrZd4d0NbDZmacUJJiQrjYejkNXRsbEIDUK4+IoCQyexXQy7dT9yq/LoPU3GqqAdSoBZjzHedG1BKFDh0yeU79KENgnhenlZ6bq/m0YeFbT5c9r0O4XzmWdeNSumuVY7X5M7nDHQYSQimqGkynC6DQFAl/dciNjKVG4smmJrOiF0fy+wYvWMJxQcnfu/JTQwMjhVUBBf4Iee95/dxP6qUJMtAWAxo5VTmHHpcfwjxIYH/mc7RoTe/8ZnFjFbege9Arw6uYs0YMx5SN9S7JUDD9/LJn0WhTPlge8pRogSDKKk4ynq0nkEwOX7HiKp1PYkAoltvXhnYtAl9f387Di0Sw8OREENECOn+ZJXNT+x/KD/d3Dd/YpGy0Mp2C9ICfg6rOYOuQfkKFj8FBBRqWkT4k4hddD4HyCOzte8ApUku5KkpPrl57ERNsPktGWqcoh2mIGAHIA/75UHS7lQf7ClGotVzKvVXVTFSiQ9JHSufw5luE7Vp9Ts9Zbk2b40m4cyAMXU=
X-Forefront-Antispam-Report:
	CIP:205.220.161.53;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0a-00498f04.pphosted.com;PTR:mx0a-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(36860700016)(82310400026)(376014)(1800799024)(18002099003)(22082099003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	CHzB+498Vk2mtrOAPLn/oC5UwBosoHpVDmr1862jouDCP33xJ6hzMpXiIkH75tPiJ2koUtSJXLcnEzdyN9xB3sLEHYdI3j8YSb8p08ExclzEHb8Od9d3eO0bdeymgvDLvjnJh2yr1j/WW7NkV1zOjB7tTSdesTv5oNyz5OsttqwZVFug800VT51oaI2w0I7cx2pUobZGAwLPXxWAzgnnd6oR2Zn6VRLE7n12hlRK7vTBi5G3YEY7NGyNrcYxovTgi6eMaU0RFi6+F7qbMO20uIs9qmg/HK/BIqfbVMQuGrKJYoxqfzSb6ksq1UWQtnas5rLPtFefftKAjX9ThREWJSVPShrW64Zp0QEuNoHFlwY9T8SL6TihodXfiJlDMkMQJhJ8H51KEJds3bj/OSR5pSgzxnEKJTWf2Lz3VZHUkzR1qGuUKAuOkGtoVlYo8EmI
X-Exchange-RoutingPolicyChecked:
	mqT9OdrD7dAp0tyl7KJz8WpQPq9nOPJ7zx3SuKEWrMDlj9Y7XCwZUocyafP73kFWWLa/4rhRWQZac5Fj4LZkpIcaI1h5S9i92WBi/0au5jh5hylp9Hs0/o+m0oBe7WU7EkFmYSgn6bhTYNMxutQMwpEo+FotDEXGONfoZZpXBbd2IlpnqIqhMBEDbTqE7qy8khx658pVsbSLRRQ8wEAEweDCKtzif2m2kR7LYcIT4snbEmuqxIMg910ZLWmlB+bgDtI+buA0Mycc5lIqoIHTKOURVJh4YlOa4aSmCQLInkeVaXJX4q4QZDpZzHXmpGgtSO4aGiu/dhGf0tJlPcZnhw==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	q8Xub4WxDQSfKRJzKERuzzgfRrkbfxJQ+q1qbzzogpSJJwpvOhajdbmSteRpxy1TVjLtLaudtJ0Yt9/7ePOwXdXtCZtlD8CWe/aHjEF2PNIRz3FNQa+uJuFiJ5HE/M3Kv+LCKklZ9HVRjcRFd3BIbldfVn2HwGgkTJsWsIPvRMcVw3kPpqske+rrIK4P7eVNNMc6IoXetCknIqGPlHIlXY40n//umzAL7qTTr6/5khO1gkHznXmEEL+60sdsS/ncTIZo03KZ38bg9yxe5mIsSUTPdSMwfJ9esIp8/lQJPc8/Kirq2YDR/j4NuzpZyzISCo2p6DXvloPr2ZQ0Hm5WOkI7Ulx75zOM37iryB8ZbkfsEeLs2sNPE6ZinJ+a71ipETAdC6Le86TzEVCQniyR7w6Usx67LGD4K+S+6MvGgL7yb2kkiLJdQ+yCCrBWTKs9sJIWVK1ydtgWzMV1uNo6Hio6q0wf9gRFjBMc6GtsUMvKKDbeackYJ5NVAjz1LQ6TaigQ1hZ/PIouhR4tI6VUWu/lk9PxpGU5MB0is+0tK1hgQv8LnJRrc4kVmLccnjN1XSPib5l6Wp2Mo123spd7792t4y0MC+v9EaMvXghQ9cxsHChBg4/UUvYhnG49VM3W
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 21:49:43.2030
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 56e709fb-278d-452d-41e4-08dec2832fe9
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[205.220.161.53];Helo=[mx0a-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000EDD7.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH4PR16MB6724
X-Proofpoint-GUID: I_dOEbkONW_b6Ee59WlO1PN35DkUImuj
X-Authority-Analysis: v=2.4 cv=Fos1OWrq c=1 sm=1 tr=0 ts=6a21f2fe cx=c_pps
 a=H8Bh8Ha9hE1t7kEFpXBZew==:117 a=lOEMawUel/sSvQipkIvNbg==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=FelO9ux0wxsA:10 a=3PXLN80vpJUA:10
 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=P_n1zlmtWsCQbjROFjcg:22 a=ARvDHhclS48edyKYUbLB:22 a=cbNQJ9GKAAAA:8
 a=VwQbUJbxAAAA:8 a=zd2uoN0lAAAA:8 a=BVF7ZLGepraehdP6dWoA:9
 a=DqJYxgmhk6moR-_7_KoZ:22
X-Proofpoint-ORIG-GUID: I_dOEbkONW_b6Ee59WlO1PN35DkUImuj
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA0MDIxNCBTYWx0ZWRfX9Pn62QPfiUSJ
 wSB3ulA/QB90Z58lvcAz31PQ1Cmc5TaAiesBrDWrRQ+bH7BnZqHydT5HyAnTUksAKd+shD4ko1B
 2PIqZsT6Z+MK5z5e+uUiXPQAepwrF2M9M4rLy7tCh0VbdxtgaKWCZzRrBjBZUCsaQB9p0LSfQUh
 NK3pma/uRYGH9GI6mylIFbw0+xE+dIkzhy9xcK9GJz6y0O5eaY0S49XB0yvET9myGOV1nxOuKjq
 YlVKirl3uEQQV28Q6+hisrOW5Cl1wqz/kjIQ8YdrsgaC4PwlGvowqVEhDdM6mJNxyGYsz3U22vC
 paI+RDe9mNGzO5oU7QLtyX/nsDblQIjPynIxpLJ2PlKKYoFqGVoH3rLxodClsh1FtgZqaFyCeGq
 nQaxdh3q8IvGm6xE8gbKtK1788dCAlUZq6+39Xdvtv7Jq//jBEOIDweVuPgJ6JfrZTgk/GN77yn
 HDZMXKy7FJw5b6MMK1Q==
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_06,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0
 adultscore=0 bulkscore=0 impostorscore=0 priorityscore=1501
 lowpriorityscore=0 clxscore=1015 malwarescore=0 phishscore=0 suspectscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606040214
X-purgate-ID: tlsNG-42698a/1780609792-2238AF3B-004CCB88/0/0
X-purgate-type: clean
X-purgate-size: 1082

From: Denis Mukhin <dmukhin@ford.com> 

Current argo_dprintk() implementation is a wrapper around raw printk().

Rewire it through gprintk() to allow for better debugging context
(such as domain ID).

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
Changes since v5:
- added Jason's R-b

Changes since v4:
- n/a
---
 xen/common/argo.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/argo.c b/xen/common/argo.c
index ffa1f43437ab..3c38a51d09a2 100644
--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -322,7 +322,7 @@ static DEFINE_RWLOCK(L1_global_argo_rwlock); /* L1 */
 #define argo_dprintk(fmt, args...)                      \
     do {                                                \
         if ( ARGO_DEBUG )                               \
-            printk(XENLOG_DEBUG "argo: " fmt, ##args);  \
+            gprintk(XENLOG_DEBUG, "argo: " fmt, ##args);\
     } while ( 0 )
 
 /*
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 21:49:56 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 21:49:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328599.1593028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVFwq-0004Wp-8X; Thu, 04 Jun 2026 21:49:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328599.1593028; Thu, 04 Jun 2026 21:49:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVFwq-0004Wi-4v; Thu, 04 Jun 2026 21:49:56 +0000
Received: by outflank-mailman (input) for mailman id 1328599;
 Thu, 04 Jun 2026 21:49:54 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wVFwo-0004FJ-Ca
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 21:49:54 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVFwn-00BQcJ-P5
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 23:49:53 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a21f2db-5cb7-0a2a0a5109dd-0a2a45028e0a-18
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:49:53 +0200
Received: from [148.163.143.241] (helo=mx0b-00498f03.pphosted.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a21f300-af86-0a2a45020019-94a38ff1a648-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:49:53 +0200
Received: from pps.filterd (m0367129.ppops.net [127.0.0.1])
 by mx0b-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 654IpTmS2151826
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 21:49:52 GMT
Received: from dm1pr04cu001.outbound.protection.outlook.com
 (mail-centralusazon11010008.outbound.protection.outlook.com [52.101.61.8])
 by mx0b-00498f03.pphosted.com (PPS) with ESMTPS id 4ekf0uhf9k-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 21:49:51 +0000 (GMT)
Received: from MN2PR22CA0026.namprd22.prod.outlook.com (2603:10b6:208:238::31)
 by IA1PR16MB5335.namprd16.prod.outlook.com (2603:10b6:208:455::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Thu, 4 Jun 2026
 21:49:45 +0000
Received: from BL02EPF0002992D.namprd02.prod.outlook.com
 (2603:10b6:208:238:cafe::55) by MN2PR22CA0026.outlook.office365.com
 (2603:10b6:208:238::31) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Thu, 4
 Jun 2026 21:49:45 +0000
Received: from mx0b-00498f04.pphosted.com (148.163.138.245) by
 BL02EPF0002992D.mail.protection.outlook.com (10.167.249.58) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Thu, 4 Jun 2026 21:49:44 +0000
Received: from pps.filterd (m0426316.ppops.net [127.0.0.1])
 by mx0b-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 654LFBE51071552
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 17:49:44 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-use.ser.proofpoint.com
 [3.215.31.156])
 by mx0b-00498f04.pphosted.com (PPS) with ESMTPS id 4egexd8rmc-11
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:49:44 -0400 (EDT)
Received: from localhost ([19.12.92.221]) by cmsmtp with ESMTPSA
 id VFwcwOZOJ8Hc9VFwdwKuqs; Thu, 04 Jun 2026 21:49: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppford; bh=vfm
	A5iZLMRx4x7ZS+yIsMU51DJF8y7i9uOOCwAxLLDg=; b=ry4M2PPXG9He0DOrMk5
	41mxsHLHBfgtfPsmtGFIE6JwQh36I362qkTCQ4VUvH7ipFManJhzVrZEPCT4zTey
	LK2XI0fAicNjTz+dgAetn5eE0XK7nfa3SMK/nIGHsICMoxYYv10BdIjTmmmazmdq
	z9B2FUEEcR3oYrgKV2gGpAxEMjARPT2mAkdFxMdegn6eVDjVOLS0HBpTbdt1cbaw
	jiXfjtjdk5yR1QyXUtX32jAU5dBcKfXBTsBFEGRV2nK6U9yBGLWbfuo5FPT44cPN
	eXC9D08yiwGBz8wCjHzsmIt987dnqPok4ZdSP/Iw9+qyTPpQk0WS+aRfsSwBCFP8
	Ufw==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=K5EM0bqXYsurP/FJAuC4irD7xQDnOhamy06YBkM6BnGmkMhs2oUcwe3DcGqXAAkc5rIUiq1KbyP5bwvHqfm9vgkg1UYlGThTwZ+LcZjNItrYSd2LfdSthbZNOxLAEH9qZVkJGusfXUTQsGiqs3A/z04SEuaISTq/Uf6EgpwTC0r/WBL3xbz+NshTNyIx1hLCNqQjfxNv0D+GLPMFHuTqDPLIqWpxVz4YJBdbWw5bXDQduWjaLXSvLxOZU1smHsVArHJCN6L5nT/wxhMemkIviKjxvTaMAez1OC6roYdO7PvSdu4urZrII5DA/xXlyCQSuuLlvbq+61mh88/m0TkdDg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vfmA5iZLMRx4x7ZS+yIsMU51DJF8y7i9uOOCwAxLLDg=;
 b=Xm2qUOX3McwHMUXS4rxRH4w667EGg2o6IbK/wphB5RGFMdYmPF4m6UQa7PET81oi8RnzhFPNbBxy3AKBhiIQboEa6yZipOfJKh7G9wAF6y81xHVIDl4e0jU/dyYXLcb9Qpo4paOX1UV8stWuBkcxOBcU0ItqK8zXku2rgqOKz8ALzNoIbU9xPfiJgz8IyE4s45pItmLWkP1X0IioGxEniknLpeRs32vBLczQdkPJqwDCEvwbjdF7cs2zJPcZj1z9LNEyDUcXE9lj5uM6xgl7RsDiIHDSfUTsDQchxHJuIBWKGHIncQvAfEemOh0FEnR9Ypb+81P/u7xfeHZLK1K60A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 148.163.138.245) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vfmA5iZLMRx4x7ZS+yIsMU51DJF8y7i9uOOCwAxLLDg=;
 b=LP/20d/G/8wDtcDx2gJ0iMqIvXdR/KrH6MsNCzl2EkV3s/iCw+pMLVkyubEBcyI8tcTp/xB6HJCM6sbHUGluSTcDk8lRq28bZZhDH38BenGAQyg1EskCsOOcWCqjDTzHqbY3W7xz+r+hivSF5tlRN8S7eHyNH8AStSdwBF6zhBY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 148.163.138.245)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 148.163.138.245 as permitted sender) receiver=protection.outlook.com;
 client-ip=148.163.138.245; helo=mx0b-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:date:from
	:in-reply-to:message-id:mime-version:references:subject:to; s=
	ppserprodsaar; bh=vfmA5iZLMRx4x7ZS+yIsMU51DJF8y7i9uOOCwAxLLDg=; b=
	REsVnYq45Wd/SH63nGlHsWG6dTxyxsjwa84E1AExkky+NHfkPMZ8gKq+/3hH8FYF
	na/wlDGRWRqcJhBNVgWg7ErG+y4XRnBibKqW1R0o1UgMx/rbP96HWE0hT+Un5pK5
	57RRNWReQdbleZNCMa2N+rdEMK3xBRzGANpRbhTwpw5zCV91ryhu1SPTv1GELVMB
	BG0zAm7J+S/Rs5R150LzOnncKirswy/84VcIN7wAV/64KhX16wCiuWznZHcfSiOk
	Vhed76vIX847PLwQ1UZGg30VI5Ryo9dbuSK9b2PnB8yvXrOIKxdSuWqdiywrIi6X
	8N1YnPur87/32W7adEF0pQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:date:from:in-reply-to:message-id
	:mime-version:references:subject:to; s=ppfserpocford; bh=vfmA5iZ
	LMRx4x7ZS+yIsMU51DJF8y7i9uOOCwAxLLDg=; b=UH4qxJRFGdm92cYsdm/bZla
	Rh/DTuJgdOg9c8Dx/aEQEcn+VwTeVcrrAOIotitswLwdMA2h2VNmoo7l1C1ModeU
	pWniuieNUcODY2KOyPwVeOA2LDksJlvdnKjyxkPa8DluOd9trVZ147JbNKgP3lN+
	2N1bNf4OctII+KfnoDpzAZ9uVeUVQthSZeCodu4W1LrepWBvlPzaCmJKZm4xn7g2
	3GG5AaZC6rR3JvmjavrySWtpdZDtApQHSMYdU3G4tmtLsAlmpo+aiddTr0bHcqmv
	PIBksRHLYEz4Dnt1ldWmiaDp4mpFpi9RFYg+uBpJEe3/WHUkjFNnCuTPCFFdUkA=
	=
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: VFwcwOZOJ8Hc9VFwdwKuqs
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
To: 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,
        Jason Andryuk <jason.andryuk@amd.com>
Subject: [PATCH v6 5/6] argo: introduce CONFIG_ARGO_DEBUG
Date: Thu,  4 Jun 2026 14:49:25 -0700
Message-ID: <20260604214926.1735194-6-dmukhin@ford.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260604214926.1735194-1-dmukhin@ford.com>
References: <20260604214926.1735194-1-dmukhin@ford.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_06,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0
 adultscore=0 malwarescore=0 lowpriorityscore=0 suspectscore=0 phishscore=0
 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606040213
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0002992D:EE_|IA1PR16MB5335:EE_
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: cd4b225a-2254-42ef-b158-08dec28330d9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|376014|36860700016|56012099006|22082099003|18002099003|11063799006;
X-Microsoft-Antispam-Message-Info:
	v363vlcOYqKKFYg1oeX2U5sNIGmxNOuefOHDIzOu8VexAJ5QghvF81F8ATBck3o5sjLfK14QndSSSojjdJv2DUawbGIfMDxD9dbcwd0LPupnJvoNHN8Wefr0CEII6mRTOeBy849pFYL+SKPktQhxA0oEwGggVSYrOrlYRbrdtRLSynME2JrVtWizXiBzwKpgNG6Zon2iO6md+FlKnfMp+1+CIBctTatECTmGIBR60p+t0yy+2IJ/O+utnjsjgBH7PjLMs9cXZXrLSkaKSZitOr8HxPvmDAZJqdP2SeLD0C9PmV2kVbp6vkhdCIdOJfcxwWOT+Ojs7SPS7VVGTW6Gh6b+cK97wODYNiztoYRb+rLbUzEaEt0wu9vkEfWt2OOcAlogqMBdKsG7EdZVbiydhEx33PoHZPoHKw+b0kDCo3eCuGPV/KQGwmkYvxD6VURW3r+EsfXDez7YJIT6S6w716/LA1Tnk0cotMp/+C3MF9c+oqxTzUdCmSls9zFgFe9GY2qBMRxCiLo+nmwTQHrBQ+gPo+N+suTjSmGeiegat36I6t3rGQnW7Uzs19y7Wtd9+XOoA+b6q5b8Mio5AigUaujbnH1c+3H7wn2qptAxLavKppmaaAlMkGWpUPqp9iLy+1gR0gPSR3PUcZ1Oe5ox++nBQI7hsv9xI0MymevAC3eXfscPkhqhuT/wi8tviIN+XH1qH4X5sE4XMwaNReed3KTJa6KHxGOpcj4PE8NT85s=
X-Forefront-Antispam-Report:
	CIP:148.163.138.245;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0b-00498f04.pphosted.com;PTR:mx0b-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(36860700016)(56012099006)(22082099003)(18002099003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	JxdbPlHqsmh9sK7XxWvjooSscRnfmMf6pOwEkvjpACe28TmoWTiihuX3tq6CsTrZvTaXDPSAQnD1qiyglj4zKpw701kg/T3L+WglTIcaJc3xY5HAb/oH9rqI6iVR7jEvOoQD5O5Ee/E76agmqHOR2LL+Oc4tldGrL86jsXfxdydPqhjDIDVASruELqYdnkx2kLLxZDJDwrJNxEhIDTdBjbajDhAZSnwZGI1HBjQ+54U7baJShJk631ikjni4r1VkeZ+6fsjf7T5w0iYrlx74BFoFERsyVrmpkwVWQpKWFaP/NyMaXhG/bG/7D23yJt08KN3xdpkJ5uO92wnJg2ZaFjr+mzeu7KJUXPQ1UEkVTc3iSkT9pHHBtnWc0qwmNn/0okEZDbhcdpsuLhJKCFmEtVZzSIRuyKam5H938Vnmeit8LXLHGdQdTlGNnClEgO/X
X-Exchange-RoutingPolicyChecked:
	L6CgNIxz+HVOaU9J5h2CUE8mm9pYLegQ18bCne9MdYOt4y+P7bs+A6Rh+gUBeelJihQB+Syx20Y8u/PPo1g6I2HO2v7zF5kP9fYKQ40xg6JgClhX4bYJaOCfe7CXdS+xSzS7oV2kny1jGWU/hqBBEoXxX9qfmsPqG7fPsBq1xGfiQ5EPxnGZ7juZBAfWNG8koWRs92T1b1HbJTOLA+ohZZMeeIN7XSnPhmmPpeRrODS5axk+CIKcPneY7Ct7Lnym3E4fA4HA+TrKrUoBX5+eliGaa/Em22t0SsRRpxL/aOwcbyz2Ud6Wj72yHx2K8UydSCOFUiqy4HUkeDust2necA==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	2p2f0NyI3jRWaY+yCB5e2aA+yYMPsBilWMvCaECvxS/qf9TMWuRc7AEqLGGSW+oIIoERpIYE0/ts3R3X6UVUb/xfO0Y11V27lfzpzYePW9ls7Vs4xxs9+GFtEQLrVSf89n92gdCUrr52gFpXSLGnoN8675CPGFaiuzGtHmia7RO5PrtpewrVSlPs2L7EVKV7Rk8/Irx5CczLScg3b4HYwIZz3XHx4zSLjfiYpIczP3l8DxgWpD41eTcvfU7btYv+CST2nx5RhKOGCJ70He7g0nrrDUR1L3ipUg6iPbIUlvsn4tHH1+RHLbNgvtbuW+7MRsR50b9290xKjPLgcXhXNG7BYfNcy0nJrnTFI5nQZcv3ZmykmlZziZsgNfOaZ+e4K6qLy8hpEmPkxxwWBJ6Rm5pJ77P2FrxNBDUyJ/Usj4XCGViCnVLFmGTbVwxXfVkfpKJf5mXFXRIjGHzIoNofhgAt720dt1QzI9i5M7j1zkpGcqxur148XlZ75I5OhmK0K9SXEej/kSl2RkWBk3Kmzs6ARn6lSWUCzVdN9YemOyyLcP5XPpkHeU7sKISQpRX3WsCTP/cxnL3/JBkFVR0sMPgbukp9Z9NfQNCyqtFwdbfUC0gHFyyN/7sTZ9ZfEZNs
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 21:49:44.8262
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cd4b225a-2254-42ef-b158-08dec28330d9
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[148.163.138.245];Helo=[mx0b-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0002992D.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR16MB5335
X-Authority-Analysis: v=2.4 cv=bo18wkai c=1 sm=1 tr=0 ts=6a21f300 cx=c_pps
 a=E1AkXC+xFF28g4y6WI75Xg==:117 a=b7IhknPlfT0FN1EembXvig==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=FelO9ux0wxsA:10 a=3PXLN80vpJUA:10
 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=P_n1zlmtWsCQbjROFjcg:22 a=X3KReqg2EL6A36SYCKpz:22 a=cbNQJ9GKAAAA:8
 a=zd2uoN0lAAAA:8 a=Q-jbZ8zFL_rIPxRkYqEA:9 a=G69WFyCBNqGPyalROSdv:22
X-Proofpoint-ORIG-GUID: mghsW2deCc3ZwvqxRdp5klvdvMWS02aj
X-Proofpoint-GUID: mghsW2deCc3ZwvqxRdp5klvdvMWS02aj
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA0MDIxNCBTYWx0ZWRfX9X0uUYPeOBhL
 PPokMbv7JOnH4M4duwUvCgo2aJqrKvxUofGtPyKg10njPc4yoXggm1B5F7ybxN9A7tDLLIK5jgs
 nh0pe3MWmtH6p9XjJq87sbDTNsG7fkzybd4j0LfV5j36b2RimuqIIsXmNCA6rjdjav3y5Yxyo3y
 MBdilc2gZbHtsJzOYQyUYCa9FDmEeGl6aYv66FHSf4qpshKmL//QLjxmPCfGbZC28slAL1pGo/P
 LnHO4+VnfhcDLlcxXSy8xeMpN94fYQ03JpXABX6QPJRRX+dAaYgT1T6ncpAu0PCh+lBs5rEHCZJ
 L1h07FkumfMDiEcDoDI1ybF2sAl3AyQTx0WXJC1nHTkvEilvJB+e/vKEC8CHnhGzd9yD3S4hML0
 pegyn4lg7GNoonOddMaZdYS1eYAwsl5ZTfPESM6ny6vdN7S9280XvD9Bhswj6urK9F9Hl6NsuNP
 pLkZqDVelGc8d32irgw==
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_06,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0
 bulkscore=0 adultscore=0 clxscore=1015 phishscore=0 suspectscore=0
 impostorscore=0 malwarescore=0 lowpriorityscore=0 priorityscore=1501
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606040214
X-purgate-ID: tlsNG-720697/1780609793-81772161-4839C4AE/0/0
X-purgate-type: clean
X-purgate-size: 1663

From: Denis Mukhin <dmukhin@ford.com> 

Add Kconfig knob to enable traces for Argo debugging.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
Changes since v5:
- dropped 'if ARGO' from the Kconfig change
- added Jason's R-b

Changes since v4:
- fixed dependency on a new Kconfig knob on ARGO

Changes since v3:
- dropped uneeded "If unsure, say N." from new Kconfig description
---
 xen/common/Kconfig | 6 ++++++
 xen/common/argo.c  | 3 +--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 5ff71480eebe..79b7fa62e713 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -491,6 +491,12 @@ config ARGO
 
 	  If unsure, say N.
 
+config ARGO_DEBUG
+	bool "Argo: enable debug traces (UNSUPPORTED)"
+	depends on ARGO
+	help
+	  Enables extra debug traces for Argo debugging.
+
 source "common/sched/Kconfig"
 
 config CRYPTO
diff --git a/xen/common/argo.c b/xen/common/argo.c
index 3c38a51d09a2..b9b362064e7e 100644
--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -318,10 +318,9 @@ static DEFINE_RWLOCK(L1_global_argo_rwlock); /* L1 */
     ((LOCKING_Read_L1 && spin_is_locked(&(d)->argo->send_L2_lock)) || \
      LOCKING_Write_L1)
 
-#define ARGO_DEBUG 0
 #define argo_dprintk(fmt, args...)                      \
     do {                                                \
-        if ( ARGO_DEBUG )                               \
+        if ( IS_ENABLED(CONFIG_ARGO_DEBUG) )            \
             gprintk(XENLOG_DEBUG, "argo: " fmt, ##args);\
     } while ( 0 )
 
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 21:49:57 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 21:49:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328602.1593037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVFwr-0004pG-MS; Thu, 04 Jun 2026 21:49:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328602.1593037; Thu, 04 Jun 2026 21:49: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 1wVFwr-0004p8-JD; Thu, 04 Jun 2026 21:49:57 +0000
Received: by outflank-mailman (input) for mailman id 1328602;
 Thu, 04 Jun 2026 21:49:57 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wVFwq-0004e0-Qg
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 21:49:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVFwq-00BQhY-7d
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 23:49:56 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a21f2db-5cb7-0a2a0a5109dd-0a2a45028e0a-22
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:49:56 +0200
Received: from [148.163.143.241] (helo=mx0b-00498f03.pphosted.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a21f302-af86-0a2a45020019-94a38ff1bc50-3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:49:55 +0200
Received: from pps.filterd (m0367130.ppops.net [127.0.0.1])
 by mx0b-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 654Jq0i8981709
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 21:49:54 GMT
Received: from ph0pr06cu001.outbound.protection.outlook.com
 (mail-westus3azon11011035.outbound.protection.outlook.com [40.107.208.35])
 by mx0b-00498f03.pphosted.com (PPS) with ESMTPS id 4ekfw6gvu1-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 21:49:54 +0000 (GMT)
Received: from BN9PR03CA0708.namprd03.prod.outlook.com (2603:10b6:408:ef::23)
 by PH0PR16MB7153.namprd16.prod.outlook.com (2603:10b6:510:390::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Thu, 4 Jun 2026
 21:49:50 +0000
Received: from BN1PEPF00006003.namprd05.prod.outlook.com
 (2603:10b6:408:ef:cafe::6f) by BN9PR03CA0708.outlook.office365.com
 (2603:10b6:408:ef::23) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.8 via Frontend Transport; Thu, 4
 Jun 2026 21:49:49 +0000
Received: from mx0b-00498f04.pphosted.com (148.163.138.245) by
 BN1PEPF00006003.mail.protection.outlook.com (10.167.243.235) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Thu, 4 Jun 2026 21:49:48 +0000
Received: from pps.filterd (m0426315.ppops.net [127.0.0.1])
 by mx0b-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 654I8Q8r034326
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 17:49:48 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-usw.ser.proofpoint.com
 [50.112.124.217])
 by mx0b-00498f04.pphosted.com (PPS) with ESMTPS id 4eghss8yxe-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 17:49:48 -0400 (EDT)
Received: from localhost ([19.12.92.221]) by cmsmtp with ESMTPSA
 id VFwewVJCxYPuRVFwfw7WxE; Thu, 04 Jun 2026 21:49: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppford; bh=dek
	cxd484B/EtXjB9WQgam9+JhpbvJo8k2v8ywhETos=; b=jEdORuWNPgJWaAXYbOX
	8BxqgLWv5v/uRG23pXJswp2E/XucxxSCT/Zvu1hQvTCiJx3LPc2+uw1xWZxkEnF+
	nWEzXUqzVggmHK6eNRACtoB+mVtXgQE0llrJe4eS/TNCnQlhSls5NB4iKplgWr0u
	3BEzWQXwQdPgg0Z4mIiwVn5SOQB0w5//fNkUtEmgnQWkQfQiweX3FbvmPMVePqyY
	oXfKZguXuBZe1VbM/tJZwEU34oOppcnBDfh2cnNa+Q0HMMKTJAhKa0uPrEACZ3xm
	/V1cQz6hPAHkKaf4G5mLlFfnRUKbr6Y3coJoCyIEuuki82DpN+Wkl5H4KHvvqIGO
	b4w==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=rVkhAjNZWm1s21DVY13gh4ebiqf7+b2NYrv//qbCCBbucsh9dG6jw5zns30vJ9GS/90O+zfYQkvu9ckAaljyNtK9SQNNCtaE78TJ+mxLytlhJrdt0eUdXRjwFYZYsmWUguUX1LZMHbIEHj6ogLOnmRw7/F9iPLJdV3ge+WtdSqRYHyu5f6IUa5ZkpNEjEpUvEMEn1NXuOV7imT6Yb43nmGpWFZPEH5ERTIMJCrYHLkGDJPvuCrBTrX/UHB4BFIikmCOV5f5oK06wKqky0W+C8d/ER3B+hBUac8OeZCftTJtThekq2y+Sh5YVbrzRPPU+Unzucx3thXKDFeOJZnlQ0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dekcxd484B/EtXjB9WQgam9+JhpbvJo8k2v8ywhETos=;
 b=EtUOaG9ZgO9gm/KahpxbgvY+XbkoXk4AjkZjFkmesVS+oz8j5kmzI/Bj0SQt8onMRbhO7raZvRvVab2PuuUNdvyBdYz9NNTRyBjWgKLfnH6AZOYdEpbQeYxtDU2BeUunZ5hDkFfewAcNmLYiccjZ5h3qP1zWQiffp6g3FN5iykkr4f98c6NRL1MIJEUulVsFFArprgrusSnvC5dPMKgPdo/0JaZeMNiR4CAyH/M7dNHDPzH5bZczayWkiszqjOOFu8ovRwbDrX0ahy3ktQKHaaL4aN03qHdnrqgBacAlptSdCSjdQQY9Wl0yd9meakNTdO4miHiHPsTiOh0+FVIqqA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 148.163.138.245) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dekcxd484B/EtXjB9WQgam9+JhpbvJo8k2v8ywhETos=;
 b=F8hxl4xwKWbmqEFqMfvYBgO3qCRwYoAO4j4pByaAeGqwKbg5uE3jzrbKVKomklAdd0IYCwJuS8mkS2QZC/FTsPAgB4GR6HP0UwLtSwZFG/zhaxS0jt78yTCxEazI2/8OQAEsUoUuahEtus/t1DyBxJFpeLkmEikzC+I5bQG5j7A=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 148.163.138.245)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 148.163.138.245 as permitted sender) receiver=protection.outlook.com;
 client-ip=148.163.138.245; helo=mx0b-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:date:from
	:in-reply-to:message-id:mime-version:references:subject:to; s=
	ppserprodsaar; bh=dekcxd484B/EtXjB9WQgam9+JhpbvJo8k2v8ywhETos=; b=
	mAPvuBDdJEWE60ujbGu5egK7m3tBsLtysKP0EEEl+9pJa9wI/pnqGgkfffK40LXu
	UZ5+tbvxVNOxSLB89RO70VGkkKY4sVzqXobaXF+HRfIuD006h/DGlAi77ME1Lf6G
	M/AK+GG2Bpkxtcx/aAp1AflBAvjoO8M6bvD8LPQSv4jM4Ka8qegFazVJjmj9toYp
	jkBcG2352gxsOACndZ5ybda0kCfERyqL7gBGH2Xz/KOp8F45+D9xKCuxYR4D8I2z
	U28NCHRw7jpDRKolR7IWeM+ypC3WhPo1p2DRc6fCn4AcGsAjR0UyvUy5+2vPc+8+
	scbYUMTLyTzr3WlUdw2utA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:date:from:in-reply-to:message-id
	:mime-version:references:subject:to; s=ppfserpocford; bh=dekcxd4
	84B/EtXjB9WQgam9+JhpbvJo8k2v8ywhETos=; b=Bhh6znJPBz5VPz/nrkMlMlS
	jDvK9phIPTZHygvXXsiVbesaJCD/myANREjVk9TGpOdnaigqLa8sv5oetPgGxVSe
	/YRHL9Nr7tKeG0Rm9fBNKfbIW/rdCJqjRQOsXveOA+VHusdQ7nGOJzXG/RCYu3Tx
	mRwTeBB0cx4znJ6gemW2MuRtrkVPRHgP35YoG9cUtXYP7vVYBDBOYtYUPi18WI0L
	o7PDtPvsas/EH6F4q007t80/LMfByBs4hITOMuqPTyU88pnvB8pCnIs9K0vORA/d
	i1omrZzyyAaEAtxNUXAKxNf2m243qgib32jHw5zOh9PJNd/bumq9iph2hzhl43g=
	=
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: VFwewVJCxYPuRVFwfw7WxE
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
To: 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,
        Jason Andryuk <jason.andryuk@amd.com>
Subject: [PATCH v6 6/6] automation: enable Argo debugging in CI
Date: Thu,  4 Jun 2026 14:49:26 -0700
Message-ID: <20260604214926.1735194-7-dmukhin@ford.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260604214926.1735194-1-dmukhin@ford.com>
References: <20260604214926.1735194-1-dmukhin@ford.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_06,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0
 adultscore=0 phishscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0
 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606040214
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00006003:EE_|PH0PR16MB7153:EE_
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: f97c1794-807e-4fe2-6e44-08dec283334c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|376014|36860700016|13003099007|18002099003|22082099003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	CcOghBCdbg8VFc4/uC8lCVxHJhx0RSc+5CTkidyuLLlI2VFY4OnwRPUUPGkEvYmG2yMQfJCW0IBQ77+ZBYxoivBZry1omiQhkvmPK8m5k8hboj5FcrTM2S/vm5XDLpW0G5VPoRoWnXuP2ZwDzq+GnCeAm5WpWtpFZPt/28fUJPKJi41Kt7MQjNEzQ1joG0XeZzKu1smvCK9HA1L5troD3iTppB56d3EM9evqo/25tclg0hR+3l3OOQo8jNpOSIdzJs5hctpd/+mSq5ucWsLUYS9H7e8T4FQzSf2FxTmnH2Av9nnJDrZrdfBZdbeyL4CB66qxxpFTompvEQTM1iE8KEm2a2/BXGP2aLHoGUAlQuI57c44kMwwkEuEiyTxT2kdIoAGLZMMYEulgI2YrjRMLYQKPLtC6FuBEUCV1frotW8+zuggbozE3LLEmK6JXWRcelI5ejRlUtEcXKw3lJYDVKzRbXIHf81FliVfk475AFDQhJgBakJr4OgqKiy3UPldeS4qQPm2DpQvzyybtcJ3heb8K975e7AgNh9/6y9Ljy4oqSrsC8C45O82Drqfc3v83c+62KFPelZ0TQpzaCy6y0Q0aAaIT5cbybIrBFSoRC1XJq+vi/J0kUtQ32qwGcc8aM38GyPB0DlW41n09IIAu08Lt92vW7u9QE1rUHzmMi+IZcxcmjfud4faF19c7PkqBsW2c0ItEMX9AZmOQvfcgvbkpAylWlh8m1+K3wvFM/4=
X-Forefront-Antispam-Report:
	CIP:148.163.138.245;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0b-00498f04.pphosted.com;PTR:mx0b-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(36860700016)(13003099007)(18002099003)(22082099003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	hxjrZtVGA7CPUaDMa9WoC/kROFvb4pnOiupP2kcwSSSExE7xNBb1S5oqR88/6iomsZT4oP64i6JiVPFhbxa1+K9lw/Xy9077F1BWd9OgGT8YCzdyTb+vtdKKZNSOKHdTYeYG1q8iBhBLoQytU0/ArDzqJ1IJ6RR7WFH9cBzbE7QILj1F3rBmLDSg3UkxD9nrgJ9yUliXOnlJp34YH69mNY/HX+CpcwhW1clFT1sdSomBxa1NCTnBtcJxDOb38oLNxro+fU4R8ddz85lF46tWjQrDLSg7TmG4lNIbrCHKK5ahZqx9zAm+9zrtGUmGyNoof/Q9U4wIjV9gEnYI2B99s8sus2stbjSAMHXkMBtkF6gBI6GwIsC7ptbaurS0iTf6vACy2IrSFzxBbeo7OKtuGD5rumfMMTQcYxiYutq5kwV1bsy11IFCD2SyO2zSy/A0
X-Exchange-RoutingPolicyChecked:
	FeiNf0UVxZrn1U5cJJbF0/bYyYiIiTIcJKnMldcCHnQDkxPDD9NOrpZxWue6/yZFeuC5bXkMvpDJ4bzcuu5UUlzHUS0HF2eUEYwLYkV94GxPvHNMg1JjbUsk/7fhdL4X4xxrQnxFTQ2oLQ446Vg33pjcNrUA3QMhGpbTO96ZIrJ1K1UAqZrLhmHGd5srZfjLjox3a9QoXEibWiVWMxvu95ey3KyjYmXAmbCCYa3gc3CGaCOzbMMIXcI9BhDnzUjk0Y+Whd9pDQRqm+gTOWrIrilg1sBYgnJrBzx+Uw0fG2dkRJOd5/03E7aJa7mLrwEkpexxjw9PutUugxN6GIg2WA==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	V2OpyIx+x+OvgLI3qmdhm7zPsv+3HCR6MOsCRr1cS/btzF3Gqb05mNiVJsh2FT2xpa1DcuLRn/+kVE0BQp6IfnIIldRt7giVTIP3q+SpFI6N/0Is5YjlQ7XWYZwN4KbsgQmz+9/r2fZXCkHWwvMhLjN8/l/C0RjSZKtgiAtol8KkcjTrW7v3sn4qR3n4wuf82QZNazj/QnvqkmhZ2oMQNMhamEq3Jhqyc8HN2/fCWAHSZWa6luF0fzXl+nkU5n3707QIWIwbLprXyzAFFveQV+Bq02itVpZiZzXKXYQ+TZ9xaS3hKJg6CCMhOhJcFwqc5ZehPzn+DhdYHwUduWAE0BVvYKGiyhxYSaje7JYkVLYRWxmybczzlPRlz80hvWMC5q0IzazHpuPcYTtqA2XaDOVjkQNkZjNUjpwkyet4wBLjSZenGleTnnBObXAQ9dOZo2AtNrCKJh+Xf7y73lPaZ88RSyhwlwVmYhrXZ02/7ckGe9Eiycmh4pUA8342IiD2qNbTPXwzSKHjkuROBXdmx51JNkLxg0UGoe2WGdiaUTlzKepWBhTTMi6DGZhi7ZtOAwD4le3yAF+Wkuze0KCkNErKDzi09+sSUFH4cBumA4ehcFwCdrNDmxQCn+1Pomlp
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 21:49:48.9344
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f97c1794-807e-4fe2-6e44-08dec283334c
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[148.163.138.245];Helo=[mx0b-00498f04.pphosted.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: PH0PR16MB7153
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA0MDIxNCBTYWx0ZWRfX2BB6WkD7xs04
 lOcu9lZTiNxIu9luV2W3ngxkeF/X5D8ehBEpnkRBqfrBLrq1ncOcyx5xsQ8+DaIuZtYxQ/UdSx6
 CuyZZAvAGc/avUkN4odNAYILbX1RfkpnjvFUDnNq2ZX85e1Vrr0MjEJjzdqF1/d6+ShnrDhspIw
 QUiCZLO+fHakrES+PRNyTfmzkl160LoPzM6vqn6WwnXltuT94lkReRVv6mPy6wh7q7dH5XcnyWh
 iHG0aCXr9nq49QG2HkdTq5y9bSGSmO3ktWKYvPQjP/a3OTKA/QRCJqnEgirb7bV/Z5r28OnqJ98
 wQBr1ZuHTyNmHpI0bQjKJEBF6v1qxOh1FUMsb87ZXPKcjcymORyyeyYzOHGc5Z/JHwbWNGfAn4c
 IIgO7+XjqRtHQS49AcCj8YPy3JFns/RvNu87j7KHyfs3uKRzLKiWWKXrtgdvvwPa83JqBr+sdVw
 NOQUvkgZGARXZKXO/FQ==
X-Authority-Analysis: v=2.4 cv=A41c+aWG c=1 sm=1 tr=0 ts=6a21f302 cx=c_pps
 a=pKPYWX2mfyrwmcKrUbCwIA==:117 a=b7IhknPlfT0FN1EembXvig==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=FelO9ux0wxsA:10 a=3PXLN80vpJUA:10
 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=P_n1zlmtWsCQbjROFjcg:22 a=vnUQfov-gS4s1L7hHvr-:22 a=p0WdMEafAAAA:8
 a=cbNQJ9GKAAAA:8 a=zd2uoN0lAAAA:8 a=2dKu_0XMzK5_71BGg0AA:9
 a=DqJYxgmhk6moR-_7_KoZ:22
X-Proofpoint-GUID: CaSTTHeROny1uwLgJ6Z5RL3_NEOh32-Y
X-Proofpoint-ORIG-GUID: CaSTTHeROny1uwLgJ6Z5RL3_NEOh32-Y
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_06,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0
 bulkscore=0 priorityscore=1501 lowpriorityscore=0 phishscore=0 suspectscore=0
 clxscore=1015 spamscore=0 impostorscore=0 adultscore=0 classifier=typeunknown
 authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1
 engine=8.22.0-2605210000 definitions=main-2606040214
X-purgate-ID: tlsNG-720697/1780609796-8077A161-1A88D911/0/0
X-purgate-type: clean
X-purgate-size: 1933

From: Denis Mukhin <dmukhin@ford.com> 

Enable extra Argo traces in CI to help analyze any potential Argo issues.

That covers eclair-*-allcode and alpine-3.18-gcc-debug jobs.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
Changes since v5:
- added Jason's R-b

Changes since v4:
- n/a

Changes since v3:
- enabled CONFIG_ARGO_DEBUG for eclair-*-allcode jobs
  Note, eclair-x86_64-allcode is failing on staging (known):
  https://gitlab.com/xen-project/hardware/xen/-/pipelines/2567857238
- example of extra argo traces in CI:
  https://gitlab.com/xen-project/people/dmukhin/xen/-/jobs/14661834468
---
 automation/gitlab-ci/analyze.yaml | 2 ++
 automation/gitlab-ci/build.yaml   | 1 +
 2 files changed, 3 insertions(+)

diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
index 3f7532ee1d25..ae0929d13565 100644
--- a/automation/gitlab-ci/analyze.yaml
+++ b/automation/gitlab-ci/analyze.yaml
@@ -47,6 +47,7 @@ eclair-x86_64-allcode:
     RULESET: "monitored"
     EXTRA_XEN_CONFIG: |
       CONFIG_ARGO=y
+      CONFIG_ARGO_DEBUG=y
       CONFIG_DEBUG_INFO=n
       CONFIG_DEBUG_LOCK_PROFILE=y
       CONFIG_DEBUG_TRACE=y
@@ -127,6 +128,7 @@ eclair-ARM64-allcode:
     EXTRA_XEN_CONFIG: |
       CONFIG_ACPI=y
       CONFIG_ARGO=y
+      CONFIG_ARGO_DEBUG=y
       CONFIG_ARM64_SVE=y
       CONFIG_ARM_SMMU_V3=y
       CONFIG_BOOT_TIME_CPUPOOLS=y
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 0e5fb26c853e..b864443d0243 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -286,6 +286,7 @@ alpine-3.18-gcc-debug:
       CONFIG_EXPERT=y
       CONFIG_UNSUPPORTED=y
       CONFIG_ARGO=y
+      CONFIG_ARGO_DEBUG=y
       CONFIG_UBSAN=y
       CONFIG_UBSAN_FATAL=y
       CONFIG_MICROCODE_SCAN_DEFAULT=y
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 22:04:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 22:04:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328660.1593047 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVGBD-0001II-24; Thu, 04 Jun 2026 22:04:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328660.1593047; Thu, 04 Jun 2026 22:04: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 1wVGBC-0001IB-VQ; Thu, 04 Jun 2026 22:04:46 +0000
Received: by outflank-mailman (input) for mailman id 1328660;
 Thu, 04 Jun 2026 22:04:46 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <christopher.w.clark@gmail.com>) id 1wVGBC-0001I5-1T
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 22:04:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVGBB-003JJp-Dh
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 00:04:45 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <christopher.w.clark@gmail.com>)
 id 6a21f670-e002-0a2a0a5209dd-0a2a450bea08-38
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 00:04:45 +0200
Received: from [209.85.167.50] (helo=mail-lf1-f50.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <christopher.w.clark@gmail.com>)
 id 6a21f67c-212f-0a2a450b0019-d155a732a81d-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 00:04:45 +0200
Received: by mail-lf1-f50.google.com with SMTP id
 2adb3069b0e04-5aa61503fdaso2161049e87.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 15:04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780610684; cv=none;
        d=google.com; s=arc-20240605;
        b=fg8YVng29D/Tl8bJQxbP1YDjhF2RzZwh9yl+QoMcSGN/FrSy3PrXiuB5voho7KNNgG
         TBp+wabulxXHbI43O6NOGgCMYext7u7f7C4eGdj32Qj/dlmgfYiBxdJGs8xYc/0aLcao
         w0n2UOqOGLQrJPOO1DYX6A3wR0uIvXKU6LJpqXpXpzHroBAOpBPe+HrCB6x7wYE55/7a
         393LdqQ4no0O587YFflwyvclEVZbDKomq7+VJJ/McJnD51iIjeSZJPKVeUoCViZxT+55
         BcOtewG1pmLzpmtezXi8D3JQlE3PvGlf65TZ5hVcANOp+nX9mE+3YC2fazX/Yc8oDM/L
         GZoQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=XBv515/o5XBlXGitxyzSRBG8sCnIDZmroU4UUfJ8o08=;
        fh=tUKWqsqmNtSv8OyLozKgacW1gCbGytWM1DFVOq5CTIY=;
        b=VusqAzJFRlHWY4yOTAHRw6At4+AefulCdzozIMXlXQ0MtdXMnD2UagJc+cT+4dZqA5
         rVhNZz8xU7fCG1O9mX0S9ysO0hG6HU/30y+icm2cEs9feAzPGEvl9G9lHoh4HaScZ4C7
         rf7LdmUresVaXwFO4VX+9ogD0uBgSrtulxloi9FvUvtocdSbEPnodZmMVl2/eAoM60ti
         tTjnoSQSwrdjDf9VEJpYXxgdB+QRPVDF7VYdOld66frO5tKuSrRybYY54yFNzM+WbVI4
         Gbdki1vPSoZpuRCdExAkl1SLrXaEFjAifCwUG956ZnPaXXFL/OCuFNZShZ2zfZ9/M19I
         Zdxw==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780610684; x=1781215484; 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=XBv515/o5XBlXGitxyzSRBG8sCnIDZmroU4UUfJ8o08=;
        b=cHg66BtY142E9kyy0oWFBlykfN6SleX2LQCLR5Ekpg9MBeHH/a1B/SpMfzE+R9fnAv
         YpVqH+Z3igYSUQoGd8XqzWX9fJAebiegZBCOetcnn4Ci5H2cJnoWdARtrctHTBux4QQK
         98lZxJ6XeSGRYaK1UKhbmsutEVjvDmamPjRDFqwOfRjcabk9xrToFKnRCjgiFKKBqM05
         tBcROxl0jSkKGt5Txak+f+Lv6O5vxiE19RLg+r02fncvKp6znAENphK+U3Y5kTYz+AWG
         1Nf4XW34XVTFx6Q1xp+QWakNhIw8YDPSh+dq4I4Qc4Hv8YsVR7jLuLzFb4Nq6PYoGr1I
         kmtA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780610684; x=1781215484;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=XBv515/o5XBlXGitxyzSRBG8sCnIDZmroU4UUfJ8o08=;
        b=IRmHvsQ616ESCkq7fVIrCiiFjSaBnWvs51+ib8+GibaZDNWWnTzvHe63aB9sMuJY1j
         qY1o1t0XJPOHvRD9jpHZB2TXStwI1xfwBDnhFvLu5MqCzpoYNVFd7P972Hi8Ku4n+x9b
         rdIgePoTGv/ObRjBm8XeDGSmraJPzLVx7qwzFXCqCHRK+AdRV4PnOUcWqABShUbqX4cp
         JMuH5dUMJLnwXU/stYpb6E/xhE6Z5QSmtllFjItbvLoIZP6Rfz2mb1cQO4FAI/UVM09j
         LBXTK97fEDgTDyIz5CycHydmYxcU/J4a3Hx4SyLUFMqCO9MMK1Xyyq/fxZH+iZ9kVkzU
         8VOQ==
X-Gm-Message-State: AOJu0YxDPN55hE++nVeC8mANLAiaDt/iUG1kOv6f4vQD8sS3A3sAhAcQ
	BE6car9eYYFLIeHPRVxV09MrlfTAyF3iZ3ZO9hovDperOHH9Pe9MtjBE65wJfvHSsnkDNoVM531
	d8ThH4Euz2Okh4sZ19F4b6aR8rXsfTNs=
X-Gm-Gg: Acq92OHIEB+Y1NVh2YG1szWtm/Ab4PQ0fdz6+gZtty5dV100N5nImxEAygfQTg6uWIR
	7s6Or2/c2pckBlCtQ+n48YPQWqtvPVoIFJ3PrF9JQGxerAuwqdcz+mTjww6OcMdmYZRbJCv+anW
	E23nsMCPpL9vFnuEfSjh1Bt7NRKNDDxFpQ3yj1tcKMMtlsVfjLJkVzQqoNtScptUrS5PkCD8tAe
	4c7tFsXkmlkNK7nl6v9OxZui5KV3GBp1ZSUDc8P7N2lW6rZwH+AGFcF+VZmvxcO0TahJ5j39W9c
	iJ6jAMxhkuUak14mUXOpkKEpzsoggG7CGmtMuTHbmA2qc5Grlm9UEOqFreletGYy1kMVCfjs+QK
	bGg==
X-Received: by 2002:a05:6512:3090:b0:5aa:65a3:468c with SMTP id
 2adb3069b0e04-5aa87d9519bmr79774e87.7.1780610684136; Thu, 04 Jun 2026
 15:04:44 -0700 (PDT)
MIME-Version: 1.0
References: <20260604184413.788910-1-jason.andryuk@amd.com> <CACMJ4Gbi315aQZ0qE8+f3JJXyaRvva2vxmiH5-iXtiPKk+039w@mail.gmail.com>
In-Reply-To: <CACMJ4Gbi315aQZ0qE8+f3JJXyaRvva2vxmiH5-iXtiPKk+039w@mail.gmail.com>
From: Christopher Clark <christopher.w.clark@gmail.com>
Date: Thu, 4 Jun 2026 23:04:32 +0100
X-Gm-Features: AVVi8Cf4AGpffPPolLIEb2Chdmx6W64CvVAJxpmJzu0bcx4iz9Mazqr60raR3NM
Message-ID: <CACMJ4GaZ843wx4J+GL8i=p-thg7jGgR57=JUEUHVuZ_N3Q8zMg@mail.gmail.com>
Subject: Re: [PATCH] MAINTAINERS: Add myself as an Argo reviewer
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, 
	"Daniel P . Smith" <dpsmith@apertussolutions.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>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-42698a/1780610685-13D7FF3B-079CBC4E/0/0
X-purgate-type: clean
X-purgate-size: 565

On Thu, Jun 4, 2026 at 9:27=E2=80=AFPM Christopher Clark
<christopher.w.clark@gmail.com> wrote:
>
> On Thu, Jun 4, 2026 at 7:44=E2=80=AFPM Jason Andryuk <jason.andryuk@amd.c=
om> wrote:
> >
> > I'd like to help with reviews of Argo.
>
> Thanks, Jason, appreciated.

Sorry to do this - I am grateful for the offer, I just need to consult
before making a change here.

> > Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

I'm asking for my (previous message) R-by tag to be held for just now
- sorry for the earlier rushed reply.

Christopher


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 23:47:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 23:47:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328744.1593065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVHm7-0001PT-Gd; Thu, 04 Jun 2026 23:46:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328744.1593065; Thu, 04 Jun 2026 23:46: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 1wVHm7-0001PM-DG; Thu, 04 Jun 2026 23:46:59 +0000
Received: by outflank-mailman (input) for mailman id 1328744;
 Thu, 04 Jun 2026 23:46:58 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wVHm6-0001P6-Mv
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 23:46:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVHm6-00Biis-3j
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 01:46:58 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a220e44-5cb7-0a2a0a5109dd-0a2a4505a1a0-16
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 01:46:57 +0200
Received: from [52.101.201.8]
 (helo=PH7PR06CU001.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a220e6d-aaa8-0a2a45050019-3465c9080b28-4
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 01:46:57 +0200
Received: from BY3PR04CA0009.namprd04.prod.outlook.com (2603:10b6:a03:217::14)
 by IA0PR12MB7676.namprd12.prod.outlook.com (2603:10b6:208:432::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Thu, 4 Jun 2026
 23:46:49 +0000
Received: from CO1PEPF00012E64.namprd05.prod.outlook.com
 (2603:10b6:a03:217:cafe::14) by BY3PR04CA0009.outlook.office365.com
 (2603:10b6:a03:217::14) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.8 via Frontend Transport; Thu, 4
 Jun 2026 23:46:48 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 CO1PEPF00012E64.mail.protection.outlook.com (10.167.249.73) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Thu, 4 Jun 2026 23:46:48 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 4 Jun
 2026 18:46:46 -0500
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 4 Jun
 2026 18:46:46 -0500
Received: from fedora.mshome.net (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Thu, 4 Jun 2026 18:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=beMpzYk4BI7eulFjYHWel2XpVSAhjCvZzVlnOh8LrisyDA+IVCWsV2W6nie7BvsT6QMcTZoMI0BXxqj904XKmT8CUyLU+0bJVxhopKMuZBSHxxGGxdb7E7ULw0k49t2/jER6/qI8ZGF3H8SyYilfSPb22/O9jLPHkuRxnNYfOUxSU5OlbnEhs71VHBiw4xX8bsRu3NwqUM/T7XnpTv6n4YNHbTjCQZQMEtp7NTuif6nmsBlGXYx2HSdR/ymuxHLvKfLaRRKd/WAdjHDeZMBksR+pydWzj8f6m+eZ6jeIpBhrBrr77ZyfmtSKS9WEJh3wxxYvzes0b+3p6w2Zl+UwcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-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/K276bWRhEK1HjFm+MjFQzRZlMZ7rWNjT0GqIZRCag=;
 b=j1Wc8WLJ1F5UFf19dT9G4l9upk+VYynKOXU0fMWFZqkalFXBnLUKhuK+x75YZea3vJVNysFxfUnzejB6MmNoaWv9332aY5cUGIUIPg7TKCv7r/epI2VctET07WCbonrJiwC2srhKgDKzUc3N9GlP2FCqx87thyCuZ9apd/LgFHKdkvcUjIUMimiGjxxU77Oss9Iqo7yuhJ/PLUqNPhKsDPy+ggpRBeymJQ/NdVoDVSvVsTF8VQaPLTjKPCFvmkNrma9Ul27ehexS96IAsAviM5IaAp4sful9eI2OfdfaQUhKUSh/iHecAxfdFECoJoxd4eoSf9QJKDQ1YSx/bYce1Q==
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=N/K276bWRhEK1HjFm+MjFQzRZlMZ7rWNjT0GqIZRCag=;
 b=zj2X3jfAuLFLbQ4Lia/yqhldc+tapSuSgpTTv5LV9s0Gme1ikhQZBXV8uv4cWEhvUDsPK4mjaJLm2l8NMl5h9nEBE+tN8urSH07xBMlnfspYmO18Z8+IhEuMr11cEVYkkfjD8IKUzWuWdrDt5aXM6dQgNcXWB+cVKgVY/4SD0wo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Teddy Astie
	<teddy.astie@vates.tech>
Subject: [PATCH v2 2/3] xen/x86: Split out page_walk_mfn() helper
Date: Thu, 4 Jun 2026 19:18:36 -0400
Message-ID: <20260604231837.804560-3-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260604231837.804560-1-jason.andryuk@amd.com>
References: <20260604231837.804560-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: CO1PEPF00012E64:EE_|IA0PR12MB7676:EE_
X-MS-Office365-Filtering-Correlation-Id: 3daf67a8-94bd-4328-83b9-08dec2938b16
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700016|1800799024|376014|22082099003|18002099003|6133799003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	1GzPG10W9udahPG7+IIKmBkWwdmcR4/EpwuW5VdPBxA7r3nK1pOtDUQIt/pMWSMvd48fzSMHpk563fSKSSmlqlN48g/6dBZ197kcRUfHy5tyhLmvt/iNG51OWM9SYrnFh5WN6Cm4NdngWQPZxvia2rl3wtaFm+Ou2Tnls6BLDKEnIn3fqAmT74r13/Xc+QK+f/sZ6+e7wpF5YjfqOy7zNAxmtTfYrrCqFDmmsKWIfCVhe/bXmBp30BG9TfldZyLHStMz0Y3iX60GqiBIkKh9yzcxvWk8V2x9XFNHZJzBYAGtmHTV1WYH6neMO21lOGoysqdtr440G64p/J0sVdbwe4p2PjnU0Ph3e6PvV1RCjSsscQ8v2G40j6pkDASffoBlQ4VEmFvFt3iJilgd3nNe3Q1dPuyZwh17DmMbFCHtxzIC+UceFV7PGKT661ywBbAvUNR06L8ndzcaqjxV4Bxoprm/LNSdYOT4iok9GIPwrzqjdDTgOOeRPGhgantEmIJISYHpgz2mqr80sr+asymaPSuZ1TfyZ5S6Fm5DXK02LRjVbeUZq0lmS5eA9kKV8+YWZwUI6zbCPfZSZWFadDXFTKP0iubJqNO41p9ZhskfmezhC20ojgzvljBZxzHJUYLAfV0frVgyKnWgPv5Yy/5iykFaAHVAI1CkzE8+h3bw0KNpscnbcuz5Ob1g3TCPRmsJL6ESqswUmVLu9bPmscKi2l7qU/jQJd3DKvb0FLK7wbs=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700016)(1800799024)(376014)(22082099003)(18002099003)(6133799003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	V5q3+SvOcLlyRD62FvFNBNBs2Sy5KNRLr6VLUhZjn3AV+mdJU3zbtpXLlO5mNpOxygVvu5pY2Lv3RjrmF2jfpn7dDERHNeZpeIEDUDmszpr/Y/KSGDVNX9Rng/fiTfgwU/ZhmwHM4XOw9Mgff1oHydd48OhIy1uf+3K3boulKZedpAlZiBlzgw2kxoRe8X0d+TSv+M/zq5DcJtTKnREy6NnweZKPNoB7QQkXOykiWZaeRMs9FscMK057aihOb48fMGMU/gcy+dLG2XmTANf+37BbI8/V1RnSte7ne4uaNJHcuF47tV288ig9b/sbfxb9Lt++Si5aMYC+6lA9j45DdLbvWWe56N7n91QketJHmK8A8/OeyhyhWy4fWYaHVCIIIGfV2JMISuT0BxEdDzOuEaf9AuzN2rKzm5h/Oqqn1GH4S6fI1h1xeUtUiMkn4C5O
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 23:46:48.1335
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3daf67a8-94bd-4328-83b9-08dec2938b16
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF00012E64.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7676
X-purgate-ID: tlsNG-c201ff/1780616817-D9971443-86B4A269/0/0
X-purgate-type: clean
X-purgate-size: 3566

do_page_walk() returns a mapping of the underlying address.  Split out
page_walk_mfn() which returns the mfn_ti, and have do_page_walk() use
that.

The new standalone page_walk_mfn() is generally useful for looking up the
MFN pointed to by an a virtual address.  It will be used in the x86 CPU
stub logic to determine if a stub page is already populated.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/arch/x86/include/asm/mm.h |  1 +
 xen/arch/x86/x86_64/mm.c      | 31 +++++++++++++++++++++----------
 2 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/include/asm/mm.h b/xen/arch/x86/include/asm/mm.h
index 06c20ab8de..6dc5115093 100644
--- a/xen/arch/x86/include/asm/mm.h
+++ b/xen/arch/x86/include/asm/mm.h
@@ -587,6 +587,7 @@ void audit_domains(void);
 void make_cr3(struct vcpu *v, mfn_t mfn);
 pagetable_t update_cr3(struct vcpu *v);
 int vcpu_destroy_pagetables(struct vcpu *v);
+mfn_t page_walk_mfn(unsigned long cr3, unsigned long addr);
 void *do_page_walk(struct vcpu *v, unsigned long addr);
 
 /* Allocator functions for Xen pagetables. */
diff --git a/xen/arch/x86/x86_64/mm.c b/xen/arch/x86/x86_64/mm.c
index 8eadab7933..d197dce9f8 100644
--- a/xen/arch/x86/x86_64/mm.c
+++ b/xen/arch/x86/x86_64/mm.c
@@ -59,29 +59,26 @@ extern unsigned int compat_machine_to_phys_mapping[];
 
 #endif /* CONFIG_PV32 */
 
-void *do_page_walk(struct vcpu *v, unsigned long addr)
+mfn_t page_walk_mfn(unsigned long cr3, unsigned long addr)
 {
-    unsigned long mfn = pagetable_get_pfn(v->arch.guest_table);
+    unsigned long mfn = cr3;
     l4_pgentry_t l4e, *l4t;
     l3_pgentry_t l3e, *l3t;
     l2_pgentry_t l2e, *l2t;
     l1_pgentry_t l1e, *l1t;
 
-    if ( !is_pv_vcpu(v) || !is_canonical_address(addr) )
-        return NULL;
-
     l4t = map_domain_page(_mfn(mfn));
     l4e = l4t[l4_table_offset(addr)];
     unmap_domain_page(l4t);
     if ( !(l4e_get_flags(l4e) & _PAGE_PRESENT) )
-        return NULL;
+        return INVALID_MFN;
 
     l3t = map_l3t_from_l4e(l4e);
     l3e = l3t[l3_table_offset(addr)];
     unmap_domain_page(l3t);
     mfn = l3e_get_pfn(l3e);
     if ( !(l3e_get_flags(l3e) & _PAGE_PRESENT) || !mfn_valid(_mfn(mfn)) )
-        return NULL;
+        return INVALID_MFN;
     if ( (l3e_get_flags(l3e) & _PAGE_PSE) )
     {
         mfn += PFN_DOWN(addr & ((1UL << L3_PAGETABLE_SHIFT) - 1));
@@ -93,7 +90,7 @@ void *do_page_walk(struct vcpu *v, unsigned long addr)
     unmap_domain_page(l2t);
     mfn = l2e_get_pfn(l2e);
     if ( !(l2e_get_flags(l2e) & _PAGE_PRESENT) || !mfn_valid(_mfn(mfn)) )
-        return NULL;
+        return INVALID_MFN;
     if ( (l2e_get_flags(l2e) & _PAGE_PSE) )
     {
         mfn += PFN_DOWN(addr & ((1UL << L2_PAGETABLE_SHIFT) - 1));
@@ -105,10 +102,24 @@ void *do_page_walk(struct vcpu *v, unsigned long addr)
     unmap_domain_page(l1t);
     mfn = l1e_get_pfn(l1e);
     if ( !(l1e_get_flags(l1e) & _PAGE_PRESENT) || !mfn_valid(_mfn(mfn)) )
-        return NULL;
+        return INVALID_MFN;
 
  ret:
-    return map_domain_page(_mfn(mfn)) + (addr & ~PAGE_MASK);
+    return _mfn(mfn);
+}
+
+void *do_page_walk(struct vcpu *v, unsigned long addr)
+{
+    mfn_t mfn;
+
+    if ( !is_pv_vcpu(v) || !is_canonical_address(addr) )
+        return NULL;
+
+    mfn = page_walk_mfn(pagetable_get_pfn(v->arch.guest_table), addr);
+    if ( !mfn_valid(mfn) )
+        return NULL;
+
+    return map_domain_page(mfn) + (addr & ~PAGE_MASK);
 }
 
 /*
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 23:47:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 23:47:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328743.1593056 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVHm3-0001C1-4Q; Thu, 04 Jun 2026 23:46:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328743.1593056; Thu, 04 Jun 2026 23:46:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVHm3-0001Bu-0l; Thu, 04 Jun 2026 23:46:55 +0000
Received: by outflank-mailman (input) for mailman id 1328743;
 Thu, 04 Jun 2026 23:46:53 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wVHm1-0001Bo-I2
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 23:46:53 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVHm0-00Biis-GZ
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 01:46:52 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a220e1f-5cb7-0a2a0a5109dd-0a2a4504cb40-28
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 01:46:51 +0200
Received: from [52.101.62.26]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a220e6a-1dec-0a2a45040019-34653e1a393b-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 01:46:51 +0200
Received: from MN0PR05CA0017.namprd05.prod.outlook.com (2603:10b6:208:52c::21)
 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.21.92.8; Thu, 4 Jun 2026
 23:46:43 +0000
Received: from BL6PEPF00020E60.namprd04.prod.outlook.com
 (2603:10b6:208:52c:cafe::1e) by MN0PR05CA0017.outlook.office365.com
 (2603:10b6:208:52c::21) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.8 via Frontend Transport; Thu, 4
 Jun 2026 23:46:43 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BL6PEPF00020E60.mail.protection.outlook.com (10.167.249.21) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Thu, 4 Jun 2026 23:46:43 +0000
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 4 Jun
 2026 18:46:43 -0500
Received: from fedora.mshome.net (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Thu, 4 Jun 2026 18:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=b6JQg1YUgLSWV/9UsBg9gTuGQO0kg45Jj9+e37RXAbYF1vSTmT85D3bH4J8g6EeGymD98kF8EKwAb1MQzAdMAKKgU7Qj9Ru2VaeXakG3VAf8CI+u6BWRh0cvHWkCH4pCMM/uQPviOM2Bfs3kSyo2bbAsVaPeM/HYXk3U+/t5LEGAEi2r0dcgVVEusO0ddMBLysPE/vqeFd4cOHiQCiSWZuUZSsJmLlhimR850kLosiTLjsmgHzDTPJLp3np/JNj50ss8+0xA32tbE74qbqRnCF3+wraOkRnirUBY47ezrKgl9MUxcl/GVcq20/sQNkqYcjeuSiCMddVE3fZqfN5QiA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZwCksKfILv1JCX2VIL7HBGHWudnziVFXLEMwV2cvdo4=;
 b=Dw1uakKTDqrRijGnhU7KxcvAM2QwqnRpN5nwUSI3Ch5pLdvXXTb8V90tLCWrqEclYPBgTpqAiPeGgEYC1qrnpG9qX114GFC8v8v6J6Dr7BDq3qgdOEqGPaPjWoxww//PV07Ml9t4sGv8dfbwaYdREnFWvfuDKDEZTmpAcs/k+0EPmqhDspsJn0TpqHE3Ws6C9hJPtmg3mMSqSugeAGfoFdx65o3uB5fvPvK5wIaiTRgx9EVAHAP/0lb9clknVQ4CQAzeh7VegjZrkerhd+es8Dp+xgX/pomYVhnPxoXoThuqfemVl0/HzCT1H54ncopwmPSP5byr7kYCe1+CgV6PKQ==
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=ZwCksKfILv1JCX2VIL7HBGHWudnziVFXLEMwV2cvdo4=;
 b=3di9JRgmoR4euCnMNIWqkOrXi1Fld1FqgRBu3cMkiwTgS+6ZsXmVjGgTdrl3sZHpNF0BuFQ/N/qCeFObi8Nmt+6jvuEtKfr/Pgk/Q/mV9CgaCc4NfgNHcOUpGGrixqFFejcuYZqC5FozTmWzo4d/UA10xGrAF4ftzPxqg9UT1cA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Teddy Astie
	<teddy.astie@vates.tech>
Subject: [PATCH v2 0/3] xen/x86: Change stub page freeing to fix smt=0
Date: Thu, 4 Jun 2026 19:18:34 -0400
Message-ID: <20260604231837.804560-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.54.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF00020E60:EE_|DM4PR12MB5819:EE_
X-MS-Office365-Filtering-Correlation-Id: 2383ccb5-1c39-43c7-7065-08dec2938846
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|376014|36860700016|56012099006|18002099003|11063799006;
X-Microsoft-Antispam-Message-Info:
	GwjszNfZLqlEz0PxIWpyoHHPhxYC7tFRqEnfjz/Wbru+Yq/7UKlOTumGVjZeo24zQ5tQqRn22ejZJdc6l6glwHFSDlwc/hbnwBL38aSkhtbPkpWK+H587o2grmzNhRyg+Exj+PjOED5zoI9UEq459NVsrKCxbJX4iAmPS6ostuiUsDwroGuuM67rC0Hu/YWRIgcIuOXqdZp/OgwdChaIQnt0bpYc/31zqqwfqOTYCHtptSKpMCyXU/+PWGIzqhn5RzyN+qpbASyowA1/bnKmIYkRH8Wofrkvb6bUaHtxqUrfjcCiXDrwlFZyRmBU+FZQf5CFxWD/QwTeFa3Sx5xQdKXd1cIMUnEp5A8RVXmAfDT90b3tGTNGEn2FT2G9H4TGtD3Orx3NT8tSCw2L6eUM7X6HseOQGaVV71cE7zhCJyU2pT1YRogIZniO6YXePOl+4yubB/zvmexy6B3xstS2/zP0MJnyXQwKb/3gSPOkv3eFrO4LSpJ4K4jnnlDjQIQWwgknOd7lnRZ0iAW3Bjsev2NhbCEWdXOy2rNAXsrd2GsNci4F1gYehl1VRI+38QeeiJAn8uw9Sk209iYxolEkYjBC1wwGjoFiXW8yt7wPNmaTVcCumTe9TYdygzXK0Ef4eyrLVkUyuIK2kyYE3sWcB10SVPN5FP2ZJUZb7UFaejf59FKUD93hDTOB17GbC1iiwffZ6BdXj5lkkL30Doe1zj2TI1U8E/qPnJ0/teX04S8=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(36860700016)(56012099006)(18002099003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	dKlyG4vMytzekext18+S5oTy2RJcx48T8G1XqlPkDm2kqeiA3/cp7ePuPYcT3vkzjOynMOq/BZ8U3x5ywgVOjHsUiO3f0CHw27Rpk6jqghKgLTBpc4FItIWLy48ynRa6908JEVfeZEwR0v1W8p1F7Jv0lS6qDh7K+DdgmQn7j/j0nlqC/Vgzj/CZwniJb9tZrlFpwjb4oGrMcJhwa8MqCjwPcdOmqQFI4ashiogUUbGVfDCItgfO/ctFzinNBOCZaOjxTKskW+/gjbLPFzUyIPZCt+BjF4O9G5I12W/RsFnmDxbM7sIq6+2rm6MT4Eo9b62Z07G8QpOz9JGpTe7jYoWKHYPeUpR05+VhjNDnu99NrEK+iAjySQ6nTjDEwBXBnqzaFaVBZ8cDlcH+ktZKs8azXPObIq5xjeHoYKWNQZzwRBgFqEcro6AuGMalvFRA
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 23:46:43.5039
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2383ccb5-1c39-43c7-7065-08dec2938846
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF00020E60.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5819
X-purgate-ID: tlsNG-ebf023/1780616811-43F6D3FF-FFAABADA/0/0
X-purgate-type: clean
X-purgate-size: 520

This is a different approach to fixing the stub page handling that is
broken with !CONFIG_PV and smt=0.

Jason Andryuk (3):
  xen/x86: Remove unneeded stub_page setting
  xen/x86: Split out page_walk_mfn() helper
  xen/x86: Change stub page allocation/free logic

 xen/arch/x86/include/asm/mm.h |  1 +
 xen/arch/x86/smpboot.c        | 32 ++++++++++++++++++++------------
 xen/arch/x86/x86_64/mm.c      | 31 +++++++++++++++++++++----------
 3 files changed, 42 insertions(+), 22 deletions(-)

-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 23:47:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 23:47:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328745.1593074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVHmA-0001eH-OZ; Thu, 04 Jun 2026 23:47:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328745.1593074; Thu, 04 Jun 2026 23: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 1wVHmA-0001eA-L5; Thu, 04 Jun 2026 23:47:02 +0000
Received: by outflank-mailman (input) for mailman id 1328745;
 Thu, 04 Jun 2026 23:47:01 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wVHm9-0001d4-4K
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 23:47:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVHm8-00Biis-HD
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 01:47:00 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a220e44-5cb7-0a2a0a5109dd-0a2a4505a1a0-20
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 01:46:59 +0200
Received: from [52.101.53.25]
 (helo=BL0PR03CU003.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a220e72-aaa8-0a2a45050019-346535190fa7-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 01:46:59 +0200
Received: from BL1PR13CA0432.namprd13.prod.outlook.com (2603:10b6:208:2c3::17)
 by PH7PR12MB7967.namprd12.prod.outlook.com (2603:10b6:510:273::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Thu, 4 Jun 2026
 23:46:50 +0000
Received: from BL6PEPF00020E64.namprd04.prod.outlook.com
 (2603:10b6:208:2c3:cafe::5e) by BL1PR13CA0432.outlook.office365.com
 (2603:10b6:208:2c3::17) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Thu, 4
 Jun 2026 23:46:49 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BL6PEPF00020E64.mail.protection.outlook.com (10.167.249.25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Thu, 4 Jun 2026 23:46:49 +0000
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 4 Jun
 2026 18:46:47 -0500
Received: from fedora.mshome.net (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Thu, 4 Jun 2026 18:46:46 -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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DjOyVFw2/QVWNFLjXHaF6j+8H+X0sF6WJ5mXvqdeS1bmpo3EnssE3I60+rwa0bjyXUFTEhyUAFIk/P6y8gZkP2ffhiTI/e5n0Yfp6ggbed+iVRGUwAB1o/5otyL7I/4r9AixlfmbAyiHjxDqKWWG2jocUVItF23S04XrmQ2pcti80UUPWsyA+vSMD/35JiV5bfXE6WSAFcx9H7jabNRXXmGDRwXQcneC/L6tXdkmxfl8wDd+ms+eM/LDYhaKpmsR3JHtdTCgASA0XZTi5Vs0/zB99HA+JXxgzCzCmp2CK8qSHTSlSJ48dHp4A2Mv2wjiJNGOBXxXF82dpe5n9FPWZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=culTp5npElJ0EQCOehNU8q2yQwTQyvCCP0XUiLS9xBE=;
 b=mSKaooZ3gqYoBiHPajhtKWDi1nbAxT6nBKdEhuaNM/rEoCzzOch5RHEaXqwxbIgwI96PTh9QbRxe/v/aEfNyxuVqJi9ml8bux61IWr6UuIeDV/nvPvswAHBd4BHGVenD+PhsKExygSCkb2Db4wZGJTvtMVyJrm9IcZQF2ELyami2SLVvEHqIW9WOImbI60ZVp9iSHOE2MAyPeeu/raw81cXUf4IvvQ9OeQJN7eejexsV7wYxZoIMb4NOv3iw7lrgb7gmWpzZF1dBDBWgjXgsX8VvxajqWpwTQr4yJaVHgY6iFFUGwFjobRt9tylwxlWlb1/mP/oGvdry6VgXJfMNVA==
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=culTp5npElJ0EQCOehNU8q2yQwTQyvCCP0XUiLS9xBE=;
 b=nBA2nMKBcre1GUFqrK1iO486e6YpiEqpshMX5r4cbMrPXJCLg9sl/MuCY09XBfhQEDYU+abNJwg5HIf3ezjgCaaHGg5W4WuKm38eeDGPXPsTrvLX7/Dres6TH2Fo+GfWcOhhOHVdqlD+8Ux5h/9b2SuAJYo3Nh0Llr3lQ9k0B2s=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Teddy Astie
	<teddy.astie@vates.tech>
Subject: [PATCH v2 3/3] xen/x86: Change stub page allocation/free logic
Date: Thu, 4 Jun 2026 19:18:37 -0400
Message-ID: <20260604231837.804560-4-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260604231837.804560-1-jason.andryuk@amd.com>
References: <20260604231837.804560-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: BL6PEPF00020E64:EE_|PH7PR12MB7967:EE_
X-MS-Office365-Filtering-Correlation-Id: 81cef292-8943-40d1-98e1-08dec2938bc4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|36860700016|1800799024|22082099003|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	DtCqgdskuSN4ag7qf6YcMx3DJReKpHSfDIfI0zz+9yeH9/MZ3WJ8ZGKwnQNLwUkwPrOEG5CfQvMMvRYoqUaiOJ4KmV59M2COjs9Utq7oLy5G6vJJzpNU7Zaax9SHa2AqRJO0gc0OvrBYzPcH04AQOiLEgpzVETEavv684nMGWZxwUmBCLQq9Y2yy1SsLVOx3GRrD8ywdAq5fyEDbvo8JuDDEoh7DTfCxKGRusHEvA2LUUjCDB9bK1uCh/NhRaKZI67GDM1PmtgRQwQcKRc9t1l/Yyso0HkgtvpSP1hyVBnk83FsXw2ZIcaufht8zRkYdJwro3msKiLfrTAaRZAQAySzN7klV8PSQ/4vfehAmy7leMuBjf+A+tQDjEojgCELNH03wL0xqZOdSleEa2H06ju4fJhjStSRxcZXaYWMyDU4F56uSoyH9i2TME2hbF6SbsSy5v2RBxjdFjOi1WjBmkOq1+OhU0Nql586dmGTHD0con0BYz+/8heESUWF9CDHCTKeASQAWg+tKIuqLhQi+a6h7cYG3r4JNPgmg0ng3h3N/+FcyhJpGk9E3KQRYQdepLKgWggikExcgYcdt56r/IeEAFXj5jb+U5jkwSj3nHz2MEwbntzpLRQkdb8n/tzXEKEdjwEla7ltH0ZpFMXy3PkaEOoxNGXvUEk8HV63Kn+Yql/xLvCh/Cb4WWuAui7AsZbiNkKNYKqlLH1bBuExwUUV82ZuJL92hnEoHchTnOLo=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700016)(1800799024)(22082099003)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	56uhjYu24TXiQJw2BVkKUmWlV6fjHtfzGgvsxzxYnRaH2Vvt+IbOHYRAWLFSiGaTv9mvlrACqolMwwk6BMR38YCyk9HGwog4YLntgrHu8xY0c5sWTzdXChqrC3uFm55Ww5qSnpNUutFXfdYQhPIkqumdqtL1Tvc5OV8CAwLKVe7hgsYXjyPyCMPBFPtA5arHzg27bTG+iXMMGA6OZ7CjVl1aG1EAYg3JGqqo5QiLtbCIS0tJk+tyqzn7uRmm37q2LtEeXYnofHx0jf+O/L/FPTSbOwYMi/xADcU5guDC6mKqO77i3erPcCXC36fgbbi26M0mJStoVgIs6P3VSWWQfMrpIIEGSpb6J5g7v3jzjnTpEXGUFWGQm3KEaAC//Yb+Ktm0/2Qk4HZsBdvIo5uoHY77KwQ2kKg58cXJQOaEhIOLfYLyhGOOOlGygEzigx1l
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 23:46:49.3630
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 81cef292-8943-40d1-98e1-08dec2938bc4
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF00020E64.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7967
X-purgate-ID: tlsNG-c201ff/1780616819-D9B70443-D0A78CEA/0/0
X-purgate-type: clean
X-purgate-size: 3846

Today the inine tracking of the stub page is problematic.  0xcc is used
to indicate unused, but it is also a "clear value."  A !CONFIG_PV build
with smt=0 will bring up CPU0, bring up CPU1, bring down CPU1, and free
the in-use stub page.  Subsequent CPU onlining can write to the re-used
page.

Each stub page accomodates 32 stub regions, and each CPU uses an offset
into its portion of the page.  Each CPU used a CPU-specific mapping of
the whole page.  The virtual address of the CPU-specific mapping is
fixed, so it can be used to track the stub page.

Remove the actual free-ing from cpu_smpboot_free().  Use the stub_va PTE
to track the underlying page.  destroy_xen_mapping() would clear the
mapping, so replace it with modify_xen_mappings() to retain the PFN in
the PTE (with NX set).

In alloc_stub_page(), check for a valid PFN in the stub_va PTE.  When
found, it will be used.  This handles re-onlining a CPU.  Otherwise the
existing logic is retained to use a passed in mfn or allocate one.
These paths handle to bringing up new CPUs.

If all CPUs for a stub page are offlined, the page will be dangling and
unusable.  But it will be re-used if CPUs are re-onlined.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/arch/x86/smpboot.c | 30 +++++++++++++++++++-----------
 1 file changed, 19 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 7241dba621..11937175a9 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -647,11 +647,21 @@ unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn)
 {
     unsigned long stub_va;
     struct page_info *pg;
+    mfn_t stub_mfn;
 
     BUILD_BUG_ON(STUBS_PER_PAGE & (STUBS_PER_PAGE - 1));
 
-    if ( *mfn )
+    stub_va = XEN_VIRT_END - FIXADDR_X_SIZE - (cpu + 1) * PAGE_SIZE;
+    stub_mfn = page_walk_mfn(virt_to_mfn(idle_pg_table), stub_va);
+    if ( mfn_valid(stub_mfn) )
+    {
+        *mfn = mfn_x(stub_mfn);
+        pg = mfn_to_page(stub_mfn);
+    }
+    else if ( *mfn )
+    {
         pg = mfn_to_page(_mfn(*mfn));
+    }
     else
     {
         nodeid_t node = cpu_to_node(cpu);
@@ -664,7 +674,6 @@ unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn)
         unmap_domain_page(memset(__map_domain_page(pg), 0xcc, PAGE_SIZE));
     }
 
-    stub_va = XEN_VIRT_END - FIXADDR_X_SIZE - (cpu + 1) * PAGE_SIZE;
     if ( map_pages_to_xen(stub_va, page_to_mfn(pg), 1,
                           PAGE_HYPERVISOR_RX | MAP_SMALL_PAGES) )
     {
@@ -990,19 +999,18 @@ static void cpu_smpboot_free(unsigned int cpu, bool remove)
     {
         mfn_t mfn = _mfn(per_cpu(stubs.mfn, cpu));
         unsigned char *stub_page = map_domain_page(mfn);
-        unsigned int i;
 
         memset(stub_page + STUB_BUF_CPU_OFFS(cpu), 0xcc, STUB_BUF_SIZE);
-        for ( i = 0; i < STUBS_PER_PAGE; ++i )
-            if ( stub_page[i * STUB_BUF_SIZE] != 0xcc )
-                break;
         unmap_domain_page(stub_page);
-        destroy_xen_mappings(per_cpu(stubs.addr, cpu) & PAGE_MASK,
-                             (per_cpu(stubs.addr, cpu) | ~PAGE_MASK) + 1);
+        /*
+         * destroy_xen_mappings() clears the PFN from the PTE, but we want to
+         * keep it for potential reuse if re-onlined.  Pass _PAGE_PRESENT to
+         * retain the PFN.
+         */
+        modify_xen_mappings(per_cpu(stubs.addr, cpu) & PAGE_MASK,
+                            (per_cpu(stubs.addr, cpu) | ~PAGE_MASK) + 1,
+                            _PAGE_PRESENT | _PAGE_NX);
         per_cpu(stubs.addr, cpu) = 0;
-        per_cpu(stubs.mfn, cpu) = 0;
-        if ( i == STUBS_PER_PAGE )
-            free_domheap_page(mfn_to_page(mfn));
     }
 
     if ( IS_ENABLED(CONFIG_PV32) )
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 23:49:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 23:49:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328761.1593084 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVHoO-0003Ad-6B; Thu, 04 Jun 2026 23:49:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328761.1593084; Thu, 04 Jun 2026 23: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 1wVHoO-0003AW-2U; Thu, 04 Jun 2026 23:49:20 +0000
Received: by outflank-mailman (input) for mailman id 1328761;
 Thu, 04 Jun 2026 23:49:18 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dimitri.daskalakis1@gmail.com>) id 1wVHoM-0003AM-Kx
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 23:49:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVHoL-002qJl-RB
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 01:49:17 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a220e78-2eae-0a2a0a5409dd-0a2a4502c2bc-46
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 01:49:17 +0200
Received: from [209.85.128.169] (helo=mail-yw1-f169.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dimitri.daskalakis1@gmail.com>)
 id 6a220efc-af86-0a2a45020019-d15580a9ac5a-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 01:49:17 +0200
Received: by mail-yw1-f169.google.com with SMTP id
 00721157ae682-7dee6b76a73so12931017b3.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 16:49:17 -0700 (PDT)
Received: from [192.168.4.45] (76-224-22-216.lightspeed.sntcca.sbcglobal.net.
 [76.224.22.216]) by smtp.gmail.com with ESMTPSA id
 00721157ae682-7ea23492a24sm42082017b3.27.2026.06.04.16.49.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Jun 2026 16:49:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780616956; x=1781221756; 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=FnTnrGN1rDoPr2XWYDmMjIU6l0/cMGNmMp999cHq+3Y=;
        b=VA9MU6tIOCNaW80oMKrwTuOgz5Q/ZNSHJVVu2Ss7BSl1ztntWtK+A0Ttz1Ta0ML4ez
         77QTW4BHpphTETHHpw6CXHgxl3QK9O3lH8kf/k4deQhoLhYrv0dB1XMl00NZVDoEyZ42
         YbtNer8AYbNP3cUG0LvRURepMwNfAJd1k1aHca9iJXZDx0Z9LPVv7EW9exKJTmunICQC
         Q5rIostjMYw5v3GR+m8ubxv4EzTaQV85smrASvJFG+ACsTNYmEoQ4dKC7hXxfFBfYWWb
         l9Qulgkb+nOMb/3gKOImiAi/HZcdQrMM1XxyOnBk2NSRheeULaX0WQZ3XeypOv08JYU9
         uiag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780616956; x=1781221756;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=FnTnrGN1rDoPr2XWYDmMjIU6l0/cMGNmMp999cHq+3Y=;
        b=eXP+eHAU28b6/LdpgfgBOXtEaYm8W2Ueb3yljP27BsmpyupJLl58N0GUQsXenuXBip
         e6Irjn2t2qHewf4JAhi/LTeLOdpvsdUXCVIGubkZ8qHDbEaAr2FOow0NkLZvWPnlupLM
         oyb1svExDH3aTM8mmlIYB4cXApmPPS6WA08VwTvsTet/CLr+1NHdk11V7QeAH8EGnVaA
         7bFd+xCkyxYQY0YtgFa+kE7DkPEesqujSjx3PHCMLd/MiK3CyhIKTu6a/dAWK5PLqjzR
         apRKuPeD9YVGul59W8Tt9QZuBDcnZQCbDXxFXrVE0i3vNz8KG4MJHPDW3BadsVbPXnjd
         dp6w==
X-Forwarded-Encrypted: i=1; AFNElJ8WINk/44DFyu43kc71j8EISSe3QMxY5d0aVKjt54Xc7qp8rWssdEncCUB6p2q3fZ0INDG5mTk+0II=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwYjAc93FZXlx3+dtwJrWv39TtH3gVNwm9SfYIjsjSqTfZkBrUU
	tAZ3SMXlXIglz59v1Hel18uZeHwMp2E3tg5Ri/lnRHvISkP8u9Ly/KfZ
X-Gm-Gg: Acq92OFJLi1BtckCb5ykS4yjbJOSuApAEMy347Vreu51iAai+dEhkpP6oKGXpp/QlQI
	gAIBnMiFzlo+fSjscFi/bge4l+csYIARQM7u2ulgc8Pfl4c1UU7hosobfhtS1acNUPt4mVypGLA
	L+8FdjzMReN8IkPZMqbAdKUpueZCDiukEteJHeEyGUVihNFyg+6AGQxUNpjGzovnJ2gggk1XBhL
	M5JrLgjR+MM39D1q5rRq63EzfYZgD1Riv1NGS8gVmFl73VoR5Q6gLvqY8+IsgYwkBINuXlw2P9N
	oaj+2sYfoDdweMyV5WVyTP+OMxvF6nkD7nyP22MNNbYmSoEn0ghdY6MRVZ1xxtKx7RQrm4HHsD4
	OWyvDl7WP646mLufPkYDgvy/7fgbKFuDJF5DZdPRns1Kx9wM6Oohf6R6nAkWdIQoBCBaqG9BZTL
	qv7drAtQ5fNwsB81lgdjnOCYpjCO+TFHVwB5GOSgZ5VfYOWXhe8KKuGPysyxvDVUsp0UN/e88Ai
	WSyoKO5hGGlNY6PFvXJjpM70W7qes8qdUcIHrZvXAEE
X-Received: by 2002:a05:690c:c4e6:b0:7ec:5c2c:1d27 with SMTP id 00721157ae682-7ed0afadc30mr12160017b3.15.1780616956146;
        Thu, 04 Jun 2026 16:49:16 -0700 (PDT)
Message-ID: <a07763e2-aff3-4468-83c2-d50a9e1605c8@gmail.com>
Date: Thu, 4 Jun 2026 16:49:05 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC 00/12] PCI: Add support for Scalable I/O Virtualization
To: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <chleroy@kernel.org>,
 Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
 Oliver O'Halloran <oohall@gmail.com>,
 Niklas Schnelle <schnelle@linux.ibm.com>,
 Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
 Heiko Carstens <hca@linux.ibm.com>, Vasily Gorbik <gor@linux.ibm.com>,
 Alexander Gordeev <agordeev@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Sven Schnelle <svens@linux.ibm.com>, Alex Williamson <alex@shazbot.org>,
 Kevin Tian <kevin.tian@intel.com>, Ankit Agrawal <ankita@nvidia.com>,
 Leon Romanovsky <leon@kernel.org>, Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Keith Busch <kbusch@kernel.org>, Alexander Duyck <alexanderduyck@fb.com>,
 Jakub Kicinski <kuba@kernel.org>, Dimitri Daskalakis <daskald@meta.com>,
 linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
 kvm@vger.kernel.org, xen-devel@lists.xenproject.org
References: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
 <20260604182031.GB2487554@ziepe.ca>
Content-Language: en-US
From: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>
In-Reply-To: <20260604182031.GB2487554@ziepe.ca>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-720697/1780616957-82B68161-72CD5EEF/0/0
X-purgate-type: clean
X-purgate-size: 1842


On 6/4/26 11:20 AM, Jason Gunthorpe wrote:
> On Thu, Jun 04, 2026 at 08:01:41AM -0700, Dimitri Daskalakis wrote:
>> With this patchset core enumarates the SIOV capability and can identify
>> SIOV PFs. But there is no central mechanism to allocate/manage SIOV VFs.
>> To support device pass through, devices will need to add a vfio-mdev
>> driver with IOMMUFD support (or something similar).
> 
> There is an enormous amount of missing work to do something useful
> with the SIOVr2 stuff. IIRC there is even supposed to be BIOS
> components in this plan and there are some missing PCI SIG topics too
> IIRC.
> 
> So, I'm not sure how much value there is in merging just the cap
> discovery without a roadmap for the missing parts..
> 
> Also, I'm quite surprised to see this out of the blue, there is an OCP
> workstream that was building out a standard that outlines how all the
> different components have to act to successfully implement it.  What
> is in PCI SIG was just some minor foundational adjustments without any
> context on how to form them into a solution.
> 
> I think it is extremely premature to merge anything related to SIOV to
> the kernel. Join the OCP work stream if you are interested. I think
> the general feeling was there is not sufficient interest in the
> industry to do this and it has gone quiet.
> 
> Jason

Hey Jason, thanks for the feedback. We (at Meta) are definitely
interested in SIOV-like capabilities for device passthrough to containers.

For those scenarios, having PCIe transactions per RID plus IOMMU
isolation is enough, but I can imagine hypervisors/VMs requiring more
platform support.

I hear you on the broader support story being premature. But on the
other hand, this series unblocks experimentation at the driver level
for basic data path validation.


From xen-devel-bounces@lists.xenproject.org Thu Jun 04 23:52:13 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 23:52:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328772.1593092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVHr6-0004lp-Kl; Thu, 04 Jun 2026 23:52:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328772.1593092; Thu, 04 Jun 2026 23: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 1wVHr6-0004li-Hv; Thu, 04 Jun 2026 23:52:08 +0000
Received: by outflank-mailman (input) for mailman id 1328772;
 Thu, 04 Jun 2026 23:52:06 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wVHr4-0004lJ-Ie
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 23:52:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVHr3-002qWp-SJ
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 01:52:05 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a220f39-e002-0a2a0a5209dd-0a2a450ba2b8-48
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 01:52:05 +0200
Received: from [52.101.53.0]
 (helo=BL0PR03CU003.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a220fa3-212f-0a2a450b0019-346535007c5f-4
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 01:52:05 +0200
Received: from BL1PR13CA0362.namprd13.prod.outlook.com (2603:10b6:208:2c0::7)
 by SJ1PR12MB6363.namprd12.prod.outlook.com (2603:10b6:a03:453::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Thu, 4 Jun 2026
 23:46:45 +0000
Received: from BL6PEPF00020E66.namprd04.prod.outlook.com
 (2603:10b6:208:2c0:cafe::29) by BL1PR13CA0362.outlook.office365.com
 (2603:10b6:208:2c0::7) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Thu, 4
 Jun 2026 23:46:45 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BL6PEPF00020E66.mail.protection.outlook.com (10.167.249.27) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Thu, 4 Jun 2026 23:46:44 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 4 Jun
 2026 18:46:44 -0500
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 4 Jun
 2026 18:46:44 -0500
Received: from fedora.mshome.net (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Thu, 4 Jun 2026 18:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=osmmaSnh/GWPUxySpk2Ml6g9LOoMBKN7JRiTPSkdWkPJuqf0PL8TjAXljE1ZFVcLZF1VgIvmzLmJE8sitd6+DvE+OmYN/hYI78PQxtl9+WFGIdQn2CKXgmOXrVsn93UQaQ8nm9BsiOdoIf9JwjfnmV8G5BhM+Ge//q+Fira9sgPbcFddhcVgDUYATkvoc5OudHXgDrkIR5nW72iqPtI5y1au3ZHDcLmRbUpKXL2SGHYOUQ75OIidjc/bs+W8jEIzHAyyK9bONKlDRhfH9VGeMBdMtI8j9t175lPik4DKTyMSisRVxP9o+AyENn3sCqR80MPIPUY6KFPUMNpzwB5i2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=W9jLJUo0KRF9a1Emi4WUAg1Yr2QpnkFjH6PBbQy5L6w=;
 b=Ge7CgrQ6jue31mAuWpzWS/UGifhhb3sFtb4f8XMOZV9bkyF296dUbyxgBAtDanMUddghx93kM23DeQYGz+eDqFZW4ulKqVSCh/MbHnxLI1LtQ/5ld8GovNjms/cds1vc2azsSOs0OszYMntKtuM60TNrrdfeqesyxCIBSLt02Vj6tgJkKotLVb2k7e/S52cHWSalJX+Z3q0HtR4qTAtx0ArlllFEiTD9D/iSUrNgs9yTnFgidsoGPd1Z2WO6LSl6YFYcIGcZfwijmpSq6p39xbMRVGLQdUsPAdWk9bKIza+ld0cR5LNnBE9wK3+GhKlDMiexfTwVspYbLunBlrmeWQ==
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=W9jLJUo0KRF9a1Emi4WUAg1Yr2QpnkFjH6PBbQy5L6w=;
 b=27OlE5Hy7RIhd1K5y71gHSoDwx0gqupKyZGwLoilM9bIaXg3Y+ZB9fNkwC3zYbftvnsLm5QFq3BL1vR2DgeZ+vA4Z/6fbZCQanExuz0dE7NhC/OaQBD1yBbkaIi0OKvcwZGtzY+/WQJcOnmgQPK83QWd6bChkLkLdAQkJys6H1o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Teddy Astie
	<teddy.astie@vates.tech>
Subject: [PATCH v2 1/3] xen/x86: Remove unneeded stub_page setting
Date: Thu, 4 Jun 2026 19:18:35 -0400
Message-ID: <20260604231837.804560-2-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260604231837.804560-1-jason.andryuk@amd.com>
References: <20260604231837.804560-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: BL6PEPF00020E66:EE_|SJ1PR12MB6363:EE_
X-MS-Office365-Filtering-Correlation-Id: 08101000-98b8-425c-8693-08dec293891d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|82310400026|36860700016|56012099006|22082099003|18002099003|11063799006;
X-Microsoft-Antispam-Message-Info:
	MKIBCR/mnf+KLLMkFFtuKThY2HXm7LveOtSpHrtcK1550TI2TdTcbGeV7n57pHzNhsD0KcT3cLKNkaGtxVihjRTgMhnaRm1KiVRW/x8kSaLkQB65t4yLjM6u3ohEbra79bt6Jg2RdgYb54E1sLMipfO+AngyDUAECWUwgmc/lHJqY8Afu5gK430J1R+N2T6tfWWZdzGVtQy+/JTx9vrghP+kWMGOA44EL6fxU6vgyQTIwSBO5mzypoqZJZM59fgprvgQMUop+zK1aVIYKa/GL58MCq9CAHiNV2MUOTRFDfrRmAwHhrE1Il5XdO1s+MMiYKyCQb3rT9qNPckj4mY+4ShjZvK60iDOMDqoK3JhJ8YQ29AkEZmTpTKiXlO6+50ri7aJOoRQUzXZEcePLfhcEqIkKaM5XlXpMJQFPQeSHAM4ZNPZPf4uUm9FHtYdT2yzcZdRR7L8AXYUUXc68R1lfHKTblc+CEL7rMVmFhC6l+f2OwEwNRziIpNIqYhKc2xdfP5lye/7NOuxIOoG/LSWfO/B9mhCPWWzqWKr4jYenBX4qwnSEIMmitZ/7f7lX4wTKyYsAKjSpmUY0gVJ0xTJxgfSLfeZbBphUsJK3IN9pgRACtTW6q2B5xm0rUAXxCOFehoftFN0pSic6AQpIUm8CWbqnjG+pXQAurLOdLz6apTOda5q/djGe2E5TwUVNIQ0WE61f8KkBWBxjvLcUh6Kc/obtCRT+RJQgOv/HxkXD1M=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(82310400026)(36860700016)(56012099006)(22082099003)(18002099003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	wkabyFOyKczcE8u9AaSo1lTcyML1wU/ynJ48jO/AYLvwraWOFAJl02A6+uWpK+DmliuszNcdWl2YY2C1nl7C7HJMiHP5uKwVlWkuu5bQoKkNrCNk6rB95y83BE0dqmtlMmQOCmEBqR5pVyRJqRGyCLI8TuumQ77L6RJOl5PMdV/RgJigCaz7JP1IgklsWseaq0fJDhy8xL8lAKuHyvEu3Pc5IooPzTuKNVjVkJPbukvOKtDODsIv0G3k8RfPtGnGFX9ImYNhFVka3N7zjImpp7Uc084Xy57zVsyQpV12HX+231UAVB9XVlipbXq4eumy9jBFy48AVgWQ/P0/yqDjfc2Ot7+u5l/9sPEJ2wZ/AYhyqQozKOp8wSNZep++7gkS1t9EEvf1Dlg5D+8RpYZgjmKaHM2VuyQ6RVeAiJk/q1J6SEFNvBWK2Wp4Yju0ev1W
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 23:46:44.9221
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 08101000-98b8-425c-8693-08dec293891d
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF00020E66.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6363
X-purgate-ID: tlsNG-42698a/1780617125-21183F3B-39CF961C/0/0
X-purgate-type: clean
X-purgate-size: 927

stub_page is not used in the for loop, and it unconditionally set below
just outside the patch context with:
    stub_page = alloc_stub_page(cpu, &per_cpu(stubs.mfn, cpu));

Remove it.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/arch/x86/smpboot.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index ff05955bae..7241dba621 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -1091,7 +1091,7 @@ static int cpu_smpboot_alloc(unsigned int 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);
+    for ( i = cpu & ~(STUBS_PER_PAGE - 1);
           i < nr_cpu_ids && i <= (cpu | (STUBS_PER_PAGE - 1)); ++i )
         if ( cpu_online(i) && cpu_to_node(i) == node )
         {
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 04 23:53:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Jun 2026 23:53:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328777.1593102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVHse-0005H5-WA; Thu, 04 Jun 2026 23:53:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328777.1593102; Thu, 04 Jun 2026 23:53: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 1wVHse-0005Gy-SU; Thu, 04 Jun 2026 23:53:44 +0000
Received: by outflank-mailman (input) for mailman id 1328777;
 Thu, 04 Jun 2026 23:53:43 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgg@ziepe.ca>) id 1wVHsc-0005Gn-K2
 for xen-devel@lists.xenproject.org; Thu, 04 Jun 2026 23:53:42 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVHsc-002qi2-0p
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 01:53:42 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgg@ziepe.ca>)
 id 6a220fee-e002-0a2a0a5209dd-0a2a4509db16-4
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 01:53:41 +0200
Received: from [209.85.219.47] (helo=mail-qv1-f47.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgg@ziepe.ca>)
 id 6a221004-2497-0a2a45090019-d155db2fcc8a-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 01:53:41 +0200
Received: by mail-qv1-f47.google.com with SMTP id
 6a1803df08f44-8ce3876a50cso12686016d6.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 16:53:41 -0700 (PDT)
Received: from ziepe.ca
 (crbknf0213w-47-54-130-67.pppoe-dynamic.high-speed.nl.bellaliant.net.
 [47.54.130.67]) by smtp.gmail.com with ESMTPSA id
 6a1803df08f44-8cecd051facsm64970176d6.32.2026.06.04.16.53.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Jun 2026 16:53:39 -0700 (PDT)
Received: from jgg by wakko with local (Exim 4.97)
 (envelope-from <jgg@ziepe.ca>) id 1wVHsZ-0000000A3UP-0kpK;
 Thu, 04 Jun 2026 20:53:39 -0300
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=ziepe.ca header.i="@ziepe.ca" header.h="In-Reply-To:Content-Disposition:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=ziepe.ca; s=google; t=1780617220; x=1781222020; 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=pmt/JkLWWliz/NxTk163pbkZkRgDeZpSMIwPpktcw8U=;
        b=UljWAXkCCRjZWaAwBsM9jdxodxongKnkm8mszssCxvrV+t6zIav2sYrk44WgEtdhza
         3v+V2G+rKUS1ged8UIDh57LNNkjfCYf88hGlFOHEOsGzkNUXNNBgX+ZWd3C8p3WHKxrd
         Ylj4dpJ6oMJxKPrb/7iv+VtmKS5Is6KsZmRmWfrrXzxpLXq2wc8bCZnqBcLpp+gmOPnn
         187a/+PWPnYfQDRAAmO4T/tQWXlegi91GgUEnkgTB7HFM0vH8cOC7mKVEpN97i1+kD80
         kFzjsrV6I5KV1rurwIqqx2SxCamlTVciZZwdHhGj+MqkY63Hx40gQw1etQpngxumH+HB
         ZW3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780617220; x=1781222020;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=pmt/JkLWWliz/NxTk163pbkZkRgDeZpSMIwPpktcw8U=;
        b=BnklsfHHuVEmZjKzqcN2IMxEguW4Mjh9mJM7KvwFTcu7bJtM89GOcW/J5R5AKiCX2f
         xS3zf1G8HO+/POeSW42eCruDsNdTTabL9DG2Le2qn1cdPoD9tYiK+aFSERzHXLTlidZn
         u+wGQI/nyekyzCY7lpRU2YZ7Ei1bPslq/2UgQMVYoAfh/8t1aWACBM4OvQmC5Swg38SL
         zxPt2DZU0qUwpmsIvg2t9TNNrrXHyHtVs1ubiH81rfYqX/Tagmw2wCOBX2VGff9udJco
         VGH94S8u52/ZiTHbebaNAjx/X0k9g0oBl2F8MoOoT9GPdYuCe7IzVrTpkrUIswiZY4Ag
         0JxA==
X-Forwarded-Encrypted: i=1; AFNElJ9MEBiQ+oW86cmrY6wmL35UntUfdjVbOwqMtpv0RcJ/NVekbGdL+lgmS3Hrm7W4rm7/8DzguoFQLiQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YziBsrljr45AleO3zjFnm6EsTZHAN2FDoYRGV+HxTr6RTlp6ol0
	JPPoZzuZe9jtb/37zcv4OPepK8L6FKyYZpxB8gjne9NRfS+R8e4rycUwCk8Tv6uVTrc=
X-Gm-Gg: Acq92OFTc/TjnC/9Z5PKIpZwUwkgzSHJjrKpleaffajr4Vx55MvfJBKFGCy6OchUWt+
	s0J3jSMd2kYOb3cDnKHB5aGSCG23tk5YyBLKVm2Nl4QMe9oMOvpS6dOwjU6xceUChrJWdGXTXLl
	Te8MTDsmcwc7SOlNuNBeREXRiYb2a1L4kCHNj1e3yheOgY4tDRM4ut+ITHoXL23bH9hPKIO9Vj4
	pV1GPwINjARvk10XfZi/OMmxDb7nx3qD2uVEl2BoORbE+FnGOwgjZual1GfyAI4GO/VkaSNAexA
	mUjcXSgkeIc7gdXDl33jflo5dD0at8F5IL/M0UK+foVAGoWW53CLYkMUgssBTDxbrSkAda3tEwU
	M7cs7AnkooUYj4MUQhLfbj0KohuavPg5/zFnAbMv020XCBukY/ok7eXQyhA0mMO70tljzT5ZYzc
	IQUXMWODIyDTF9YFFQZedcxVsy7/WJKpFbl4NcO4LX6WoHHjh7r2qw03pQD8kSFlF3lmi3BEYbe
	iTF2iIjax9V+RD/
X-Received: by 2002:a05:622a:6187:b0:517:6b31:8048 with SMTP id d75a77b69052e-51795bccda6mr17320401cf.35.1780617220214;
        Thu, 04 Jun 2026 16:53:40 -0700 (PDT)
Date: Thu, 4 Jun 2026 20:53:39 -0300
From: Jason Gunthorpe <jgg@ziepe.ca>
To: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Alex Williamson <alex@shazbot.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Ankit Agrawal <ankita@nvidia.com>,
	Leon Romanovsky <leon@kernel.org>, Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Keith Busch <kbusch@kernel.org>,
	Alexander Duyck <alexanderduyck@fb.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Dimitri Daskalakis <daskald@meta.com>,
	linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org
Subject: Re: [RFC 00/12] PCI: Add support for Scalable I/O Virtualization
Message-ID: <20260604235339.GE2487554@ziepe.ca>
References: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
 <20260604182031.GB2487554@ziepe.ca>
 <a07763e2-aff3-4468-83c2-d50a9e1605c8@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <a07763e2-aff3-4468-83c2-d50a9e1605c8@gmail.com>
X-purgate-ID: tlsNG-bad1c0/1780617221-41D6FA53-9EF946ED/0/0
X-purgate-type: clean
X-purgate-size: 2255

On Thu, Jun 04, 2026 at 04:49:05PM -0700, Dimitri Daskalakis wrote:
> 
> On 6/4/26 11:20 AM, Jason Gunthorpe wrote:
> > On Thu, Jun 04, 2026 at 08:01:41AM -0700, Dimitri Daskalakis wrote:
> >> With this patchset core enumarates the SIOV capability and can identify
> >> SIOV PFs. But there is no central mechanism to allocate/manage SIOV VFs.
> >> To support device pass through, devices will need to add a vfio-mdev
> >> driver with IOMMUFD support (or something similar).
> > 
> > There is an enormous amount of missing work to do something useful
> > with the SIOVr2 stuff. IIRC there is even supposed to be BIOS
> > components in this plan and there are some missing PCI SIG topics too
> > IIRC.
> > 
> > So, I'm not sure how much value there is in merging just the cap
> > discovery without a roadmap for the missing parts..
> > 
> > Also, I'm quite surprised to see this out of the blue, there is an OCP
> > workstream that was building out a standard that outlines how all the
> > different components have to act to successfully implement it.  What
> > is in PCI SIG was just some minor foundational adjustments without any
> > context on how to form them into a solution.
> > 
> > I think it is extremely premature to merge anything related to SIOV to
> > the kernel. Join the OCP work stream if you are interested. I think
> > the general feeling was there is not sufficient interest in the
> > industry to do this and it has gone quiet.
> > 
> > Jason
> 
> Hey Jason, thanks for the feedback. We (at Meta) are definitely
> interested in SIOV-like capabilities for device passthrough to containers.
> 
> For those scenarios, having PCIe transactions per RID plus IOMMU
> isolation is enough, but I can imagine hypervisors/VMs requiring more
> platform support.
> 
> I hear you on the broader support story being premature. But on the
> other hand, this series unblocks experimentation at the driver level
> for basic data path validation.

And you can do your experimentation OOT :)

Go to the OCP workstream and finish the standard if you want to get
something merged.

There is zero need for SIOV if all you want is containers. containers
do not require iommu isolation or unique RIDs.

Jason


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 00:00:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 00:00:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328786.1593109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVHzK-0008Au-8T; Fri, 05 Jun 2026 00:00:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328786.1593109; Fri, 05 Jun 2026 00:00: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 1wVHzK-0008An-5f; Fri, 05 Jun 2026 00:00:38 +0000
Received: by outflank-mailman (input) for mailman id 1328786;
 Fri, 05 Jun 2026 00:00:36 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wVHzI-0008Ah-N8
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 00:00:36 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVHzI-005jwN-3j
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 02:00:36 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a22118a-5cb7-0a2a0a5109dd-0a2a450ae7ce-48
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 02:00:35 +0200
Received: from [52.101.48.71]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a2211a1-56b3-0a2a450a0019-3465304704a8-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 02:00:35 +0200
Received: from MW4P220CA0019.NAMP220.PROD.OUTLOOK.COM (2603:10b6:303:115::24)
 by PH8PR12MB6794.namprd12.prod.outlook.com (2603:10b6:510:1c5::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Fri, 5 Jun 2026
 00:00:26 +0000
Received: from MWH0EPF000C618B.namprd02.prod.outlook.com
 (2603:10b6:303:115:cafe::a4) by MW4P220CA0019.outlook.office365.com
 (2603:10b6:303:115::24) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.8 via Frontend Transport; Fri, 5
 Jun 2026 00:00:25 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 MWH0EPF000C618B.mail.protection.outlook.com (10.167.249.123) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Fri, 5 Jun 2026 00:00:25 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 4 Jun
 2026 19:00:24 -0500
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 4 Jun
 2026 19:00:24 -0500
Received: from fedora.mshome.net (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Thu, 4 Jun 2026 19:00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=D3gyqK7Xmw7Y32add8NOPcpJPD+yTaGRSuBa2Ml5a6drXLg+ZKa8C1zIB40c1TTtixdKU0rN074pQhrZtmxy6V0l6HlUCjrVuswpcofAQrhGG7rEF7gl72/AZyxg1yK+tCW9FKwkwrD6CYVtCfPGp5sKVl3dFAnQ1LHjUlk21hVu+7i688XrrYJl+EMydRwgCeMWLBp4uy5OqRK8AiCRZa2+woXbEjBGS/zEKWxzHZ7F08JWR6Xtc1J3YdURCyLw790AJZCV3y7dsno7sG9knC2T1LzfWuECZLBfKyVIiU9HugCJRce2MPu4m6vlFRE9MeJEfSrGS+pJZNzpYSIyXg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q3ZAX5zHzltcsneFLuRK9xQYApH/8L0XRz3ExNJ6YiI=;
 b=rhXGIff6dnj1JlXaRDdPR+kj2RTwgYX97keRE9FRurlFQMUnh1L14I1sNSKcY1/WljlXRqqYnUAmJpxlZpfZwxNwgQTvV9v8D91hl+acV3fVxKoYbnAAF+ILxV6Y/UUozT6c3yO4HHGDYxQFifbvLj+23LtlBfCNbdw0VcSh5QlfHmVWnm9pmGkenNDhg05BqZRdQVPsvoLEFElxVSTkAkfsabTrIfRCuWbFU+uJE5uvjR7PhyCUXlnAMRwPKCx6S9cLxs100pgReuBANi6Jg02bAn8xxMHCLeEXmmfcDA6dL1jze7J/q0PzL6tLfi+KajZ6wHIrG8pGBozkABFDCA==
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=q3ZAX5zHzltcsneFLuRK9xQYApH/8L0XRz3ExNJ6YiI=;
 b=oBUDndcLuJvTKF013+T+nGf4jBWCFnoPe+ZjL2nhFHbmdWVvAS3fWaHNk81XI6emPIrASKJ8A+ea9D7xi7EJ3pcDwvCHB6ltH0EVwlLJKaKGiEGZY7yYpCMto1HafIEYorB4b3lZtcGcUyAa6JY9GDJRFMTag5KqgdJY9xQIf+U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] automation: Add C xenstored and stubdom tests
Date: Thu, 4 Jun 2026 19:33:28 -0400
Message-ID: <20260604233328.805829-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.54.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000C618B:EE_|PH8PR12MB6794:EE_
X-MS-Office365-Filtering-Correlation-Id: cfb72e32-d7fc-442f-66b5-08dec2957258
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700016|1800799024|82310400026|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	Z0bTijIZe8vd0sdWXr12r2iBm4W/GxVIcENLsZof155H0jlcuqdriBsYCRWog6Yoc0BjlZND+md3tnpHHKaQf5RiA4TGgw6wXlYe9jQR5nHk/7VdEUARyPE8G2svuiBkGBLvj3sZhMeXADKazCUXCaMZ7pRKV13zaNE8sc7jjIGZYT20j15Xo649iPFbylG7DzRlEvuspFMeKnrW5eCSfTcqGiBg5YeL/t4XVcpQqeQnRlkrsPdlZB1Ir/KrU533feGiFcE4Yk0YFhYsFi7kFxwH1opc+N5tcicyao6hhz7zEkHg5hlk7PyxtwN2qlHTOqiL2v9Fx/4V6pmmu/BwJPDVw0b03Gxm7m8W6pnteaFuYCBYoZ21u4ANF/5w4dPDBbfNW2qoXdaCeaQL9lEXYpa0mSuBGzYUWwcgGDjgCDfQN9vCFjW/+kLcYqxmtDTlTvxZv1ysOS31ldGn7wYC5Bvcii9JZ7JGAo2XHBYhGq02J+pdRgC9afTFP92nvWafU+PpJg853lNZ2g8b72pNPuklymEGRMeKS7jOPnTizRYYuQJLrpLlaq8F0C7t26LyFOWM/rapLqMtZB11bzzYrK2pKNP/KMtIq8Ok8K81Z8qhIBsQQ0cU7F6jb6AIdYSKZt7hkXb+iayx9nHZlV4bCYHWfSkCeIYGw1imkmVT7Rar/oC6KwTR3KwSUnFvsYvQk5NsH2vfyaLysN6HqBBfU6XQRqX6eeiUm0/NTVinPbY=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700016)(1800799024)(82310400026)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	M3gyea7wQCaTSd2F99AoUlbNtVcO4TRlaye8eEcgK9Y49wQC0J72yul+Ghv+6X3OVAWLppQKWn069ceD8C83SlQPVwhpWzW+qpWJSVEZ7fqfilcP0T7xzbA//yWkUDK0KfVNHOBZIzjThJk8ojzusGBaPbzvQrRPhAG64quDLqJNEcUkVhmgkDQlnJV6Cg+fqY1kArlnFzCKHnd8g2DHjUcSVZY9n+M7ZoWuTgWGkwpGQE2Rn252hu9R4HcUHyEHrYhXSY5Fbbu8vPDcv9sJjU/TPnOTd76EwiQgI0YN3EaSG211Ep8gH8q4apvJmN6PzWA/wTHNciQh8yi1VqgjropZ/leWIG7a//QBpsBMbr736hGgCmssY+qVSYwewVKLSjwZDQT6qXeJnUoZKu9buvLtczwy/Yy92fyDi3M7Fx1BdnoKCDPnGwETb/QwmuiR
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 00:00:25.6173
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cfb72e32-d7fc-442f-66b5-08dec2957258
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MWH0EPF000C618B.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6794
X-purgate-ID: tlsNG-4011c0/1780617635-7C67F8B7-09FBC061/0/0
X-purgate-type: clean
X-purgate-size: 2352

Expand testing to include C xenstored and xenstore stubdom tests.  OCaml
oxenstored is run by default.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
Pipeline
https://gitlab.com/xen-project/people/jandryuk-amd/xen/-/pipelines/2577925467
C Xenstored job
https://gitlab.com/xen-project/people/jandryuk-amd/xen/-/jobs/14704763517
Stubdom job
https://gitlab.com/xen-project/people/jandryuk-amd/xen/-/jobs/14704763518

 automation/gitlab-ci/test.yaml           | 16 ++++++++++++++++
 automation/scripts/qemu-alpine-x86_64.sh | 20 ++++++++++++++++++++
 2 files changed, 36 insertions(+)

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 1722800c15..dfe5555154 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -656,6 +656,22 @@ qemu-alpine-x86_64-gcc:
     - *x86-64-test-needs
     - alpine-3.18-gcc
 
+qemu-alpine-x86_64-gcc-cxenstored:
+  extends: .qemu-x86-64
+  script:
+    - ./automation/scripts/qemu-alpine-x86_64.sh cxenstored 2>&1 | tee ${LOGFILE}
+  needs:
+    - *x86-64-test-needs
+    - alpine-3.18-gcc
+
+qemu-alpine-x86_64-gcc-xenstore-stubdom:
+  extends: .qemu-x86-64
+  script:
+    - ./automation/scripts/qemu-alpine-x86_64.sh xenstore-stubdom 2>&1 | tee ${LOGFILE}
+  needs:
+    - *x86-64-test-needs
+    - alpine-3.18-gcc
+
 qemu-smoke-x86-64-gcc:
   extends: .qemu-smoke-x86-64
   script:
diff --git a/automation/scripts/qemu-alpine-x86_64.sh b/automation/scripts/qemu-alpine-x86_64.sh
index 242ffca693..0105a3b001 100755
--- a/automation/scripts/qemu-alpine-x86_64.sh
+++ b/automation/scripts/qemu-alpine-x86_64.sh
@@ -2,6 +2,25 @@
 
 set -ex -o pipefail
 
+test_variant=$1
+
+xenstore_selection=""
+
+case "${test_variant}" in
+    xenstore-stubdom)
+        xenstore_selection='echo "XENSTORETYPE=domain" > /etc/default/xencommons'
+        ;;
+    cxenstored)
+        xenstore_selection='echo "XENSTORED=/usr/sbin/xenstored" > /etc/default/xencommons'
+        ;;
+    "")
+        ;;
+    *)
+        echo "Unrecognised test_variant '${test_variant}'" >&2
+        exit 1
+        ;;
+esac
+
 # DomU Busybox
 cd binaries
 mkdir -p initrd
@@ -49,6 +68,7 @@ echo "#!/bin/bash
 
 set -x
 
+$xenstore_selection
 bash /etc/init.d/xencommons start
 
 xl list
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 01:00:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 01:00:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328827.1593119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVIun-0001Ap-EQ; Fri, 05 Jun 2026 01:00:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328827.1593119; Fri, 05 Jun 2026 01: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 1wVIun-0001A6-B4; Fri, 05 Jun 2026 01:00:01 +0000
Received: by outflank-mailman (input) for mailman id 1328827;
 Fri, 05 Jun 2026 01:00:00 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kuba@kernel.org>) id 1wVIum-00013g-Pf
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 01:00:00 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVIul-0091UY-W9
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 03:00:00 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kuba@kernel.org>)
 id 6a221f5b-2eae-0a2a0a5409dd-0a2a450aa222-44
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 02:59:59 +0200
Received: from [172.105.4.254] (helo=tor.source.kernel.org)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <kuba@kernel.org>)
 id 6a221f8e-56b3-0a2a450a0019-ac6904feae1e-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 02:59:59 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by tor.source.kernel.org (Postfix) with ESMTP id 158FB6001A;
 Fri,  5 Jun 2026 00:59:58 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7EEDF1F00893;
 Fri,  5 Jun 2026 00:59: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:From:To:Cc:Subject:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780621197;
	bh=uvxQ8m/0FnjSq2hX2DJ7JY5O6ptuAhKyFcmM0+SqdDI=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References;
	b=FV7UuTIA9nXYCTQdrZZfkYLPla7MfXoMk9JBQGXD8E6O3JeVZ8noXFwAiRTcGSkiG
	 W1E6UfVYL1zDmwogaVZj3DwZpjueen+dGCzKQo0ke5ZCdkt5y4s6jQvB3vcBr0q2k/
	 5zMUf1gXU4yYCb9VaqZ1FpKBYaxlJRzL8seAwf8I1EV3xbsR5RzcirVhuu+7mcYerp
	 2iHf8scUUAf0UGYnrFlhzWpP25WM1cMsSOLI91OeLkt8yMjFwVNEf8x7lNB0JkDCVX
	 FA7XptQIIQkiVR9RNrq6zyb+w3n9rtX2CXGMXtneI5zgxSgBjxNGwz6mh+H34odnWw
	 kP5OoFOiPLZYg==
Date: Thu, 4 Jun 2026 17:59:55 -0700
From: Jakub Kicinski <kuba@kernel.org>
To: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>, Bjorn Helgaas <bhelgaas@google.com>,
 linux-pci@vger.kernel.org, Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <chleroy@kernel.org>, Mahesh J Salgaonkar
 <mahesh@linux.ibm.com>, Oliver O'Halloran <oohall@gmail.com>, Niklas
 Schnelle <schnelle@linux.ibm.com>, Gerald Schaefer
 <gerald.schaefer@linux.ibm.com>, Heiko Carstens <hca@linux.ibm.com>, Vasily
 Gorbik <gor@linux.ibm.com>, Alexander Gordeev <agordeev@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>, Sven Schnelle
 <svens@linux.ibm.com>, Alex Williamson <alex@shazbot.org>, Kevin Tian
 <kevin.tian@intel.com>, Ankit Agrawal <ankita@nvidia.com>, Leon Romanovsky
 <leon@kernel.org>, Juergen Gross <jgross@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Oleksandr Tyshchenko
 <oleksandr_tyshchenko@epam.com>, Keith Busch <kbusch@kernel.org>, Alexander
 Duyck <alexanderduyck@fb.com>, Dimitri Daskalakis <daskald@meta.com>,
 linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
 kvm@vger.kernel.org, xen-devel@lists.xenproject.org
Subject: Re: [RFC 00/12] PCI: Add support for Scalable I/O Virtualization
Message-ID: <20260604175955.56ca1406@kernel.org>
In-Reply-To: <a07763e2-aff3-4468-83c2-d50a9e1605c8@gmail.com>
References: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
	<20260604182031.GB2487554@ziepe.ca>
	<a07763e2-aff3-4468-83c2-d50a9e1605c8@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-4011c0/1780621199-7CA798B7-0C95DE28/0/0
X-purgate-type: clean
X-purgate-size: 441

On Thu, 4 Jun 2026 16:49:05 -0700 Dimitri Daskalakis wrote:
> Hey Jason, thanks for the feedback. We (at Meta) are definitely
> interested in SIOV-like capabilities for device passthrough to containers.

I think "definitely interested" is quite an exaggeration.
More importantly, which big company is interested in what
tech should be irrelevant upstream. Please don't make these
sort of arguments. The code has to stand on its own.


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 02:02:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 02:02:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328857.1593127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVJtM-0003h7-VE; Fri, 05 Jun 2026 02:02:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328857.1593127; Fri, 05 Jun 2026 02:02: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 1wVJtM-0003h0-Sc; Fri, 05 Jun 2026 02:02:36 +0000
Received: by outflank-mailman (input) for mailman id 1328857;
 Fri, 05 Jun 2026 02:02:35 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wVJtL-0003go-Cf
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 02:02:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVJtK-00GwAg-9B
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 04:02:34 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a222e1b-5cb7-0a2a0a5109dd-0a2a4506b55a-16
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 04:02:30 +0200
Received: from [148.163.146.23] (helo=mx0a-00498f03.pphosted.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a222e33-7371-0a2a45060019-94a392179b9a-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 04:02:28 +0200
Received: from pps.filterd (m0482517.ppops.net [127.0.0.1])
 by m0482517.ppops.net (8.18.1.11/8.18.1.11) with ESMTP id 654L3ECi1364243
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 19:02:27 -0700
Received: from bl0pr03cu003.outbound.protection.outlook.com
 (mail-eastusazon11012070.outbound.protection.outlook.com [52.101.53.70])
 by m0482517.ppops.net (PPS) with ESMTPS id 4ekgxg9dsv-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 19:02:26 -0700 (PDT)
Received: from SN7PR04CA0053.namprd04.prod.outlook.com (2603:10b6:806:120::28)
 by LV3PR16MB6234.namprd16.prod.outlook.com (2603:10b6:408:1d0::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Fri, 5 Jun 2026
 02:02:23 +0000
Received: from SN1PEPF0002636C.namprd02.prod.outlook.com
 (2603:10b6:806:120:cafe::a1) by SN7PR04CA0053.outlook.office365.com
 (2603:10b6:806:120::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.8 via Frontend Transport; Fri, 5
 Jun 2026 02:02:23 +0000
Received: from mx0b-00498f04.pphosted.com (148.163.138.245) by
 SN1PEPF0002636C.mail.protection.outlook.com (10.167.241.137) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Fri, 5 Jun 2026 02:02:23 +0000
Received: from pps.filterd (m0426316.ppops.net [127.0.0.1])
 by mx0b-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 6551BucS1074460
 for <xen-devel@lists.xenproject.org>; Thu, 4 Jun 2026 22:02:22 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-usw.ser.proofpoint.com
 [34.209.42.160])
 by mx0b-00498f04.pphosted.com (PPS) with ESMTPS id 4egexd8ycw-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 22:02:22 -0400 (EDT)
Received: from localhost ([19.12.76.222]) by cmsmtp with ESMTPSA
 id VJt5wBZaVKoqdVJt6wLwzq; Fri, 05 Jun 2026 02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppford; bh=DHW93lWYDfAHc/I0EskrkTFx0mB
	ulBjH5qZoxJvkX7I=; b=NSW4LMhNwPOPm9F90Rng2Vc9sXJMCvJF+8r7jkk1hXq
	gH9Xs+ncugb6FK0TeHdj+LW4UMW1VFzaDhUV0Ul7wDSEHq9qkwzIu4pFDKppWyL2
	yzjJl5v+gi5z9sSc59s67ln4soGVLMdEHNfZ/QbnHW/bwmC3/PY4LKt0kDkQ5eCo
	kw+wyTv0945U4I/8Il6+hXcB5wmFo/rUPbTx46jw+YN+E9g1Az9XzkjCOKhkRvq9
	xaOF2ZGI8AXjyVAen/WaM+u1HQGvilz0fdKx+rYrD3hg982MwHZ7hZE6jDU1tJ8M
	EWCG/CCHSEYvR7lGLfplrmQB6nHsoaJBriB7jwnKyCw==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=A85IWlQs1VG7i230NYEPrc99k5uG5cKEiHDMN0hb12G/ST8ax/l194YqjNWbgdbO7VV7H3Z03ygfnD9fPPQoZD1p1m+GX4CbOmor5Q0yudC5V+WIFU7O0WQJB258hBNMS6L50CM1uHjRDvh7KhKpTLx6xd8qr2FDaSnpTGIlPkmfSlZOfLRRsGwNtC59GIiw3hbEHLG34AUfsAR/TeJCK7xnjhTvHlflyyAlucMEV0wGXzEd7B6F7MZzFZpdoF27K9q7gS43l+l0AdraR/bSAwkkFg7nHnCPSSp+TnafEyi3Hgp+9XOVxZtS+UI/FSYq6YeqyFoMm+v4v6IjqozUpA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DHW93lWYDfAHc/I0EskrkTFx0mBulBjH5qZoxJvkX7I=;
 b=FfSsoEd1+lMAnXjFbJYoRs9F9yHavWq/E4TwWAtMnk1enWEKc8woUCnWdtMcygLT+XC8arMubYK4ceoaNSGRotTIbUlsAinasNY9EUw1jyMuza8QrF6/ndVg6iRvAdS+nwOqSJEqiJ2CrkBOKKm68AfXoR12ozrAaX34ZHOIlIwevf6zRwZI2UANWGs4YXOvxpGB7aESAvSdWcAm7x5uNIDo7ePUErPRgfYuTguoVRmbWCJVQnc/RrvJ58Ar/uuhQEjUZptUPISGc+72KnfbFDLrp/fp2iPnTEXiHeWOLzvaBvuXdpvBoGHwD4vaFiP7nfDyBtHvRsDBatea3WHGFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 148.163.138.245) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DHW93lWYDfAHc/I0EskrkTFx0mBulBjH5qZoxJvkX7I=;
 b=g67DRy58Gud9ltZ1kasEWjNuw55vnRZA3ovyFzMcv6WuF0K5NmDg9gz/t8zVShe5Uj9atxJVuinLUf4EGah76j4YpsCX9FBBgX6qBAaOy96okeQMqNMP84NfDwGyFJJx7l2AVuFRF/s+fvVb8+sJAECLLnyYTcGf5PgMAMScSdw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 148.163.138.245)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 148.163.138.245 as permitted sender) receiver=protection.outlook.com;
 client-ip=148.163.138.245; helo=mx0b-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppserprodsaar;
	 bh=DHW93lWYDfAHc/I0EskrkTFx0mBulBjH5qZoxJvkX7I=; b=IRbl3IvT9x2l
	13BeZfRMRWruPfqxRcYnVfcw/XT4njZOHYFbAoJKarlMNYky1MLd8/bCtDcXfXjj
	yU7++b8Sp+lovm7WsIXa5YNSuOdu33o2i5hEDNLMUZyTsdM5Z8NNk4kMQABQ4/kZ
	wJuXRt2l+GLBjPY+UJOeYSITBqSrSGg9g4uFyZNhNXq+Ewh6xrTLpl1EOnIpdBlh
	2u3BKnfzxLXBa9g+CIuPpfW3D0eJ8rRJD1u9vidHezYRvApsZPHlK53k1U09ZNry
	idP5MlACGKvsdHpnScXvSn5SjjKA86lgZOVJr62KxCTdBiHlrmDW2WT9B5yOOp50
	ngw6xZe5ZQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppfserpocford; bh=DHW93lWYDfAHc/I0Eskr
	kTFx0mBulBjH5qZoxJvkX7I=; b=l6HouTsWLnI1M+R8Inqiq3chaowpciMF7wsj
	ISB/IC2jPCnbB4kwRmJVLwnJ243bhRQ5yDFOiBYyKUeLq1qsuuuED98KBzuNv9CM
	y4/FvDtj7Yf80gvGgd15HTe94xMyNL8jTHNuUG9TgklGQDoYTeHiQPhBSnQ4VcFh
	fzijNxMMF1B3UZIbTvn+LUszg50vC3yz+K+NTY+mW90zOkcmgFACXFHdnDd1MtHH
	fPPF14XjmBZWyu06P9aBw+kBJ+uUHfcBkcgDxvdsSXFR6zWxmnYru1AVplm9NFQU
	hjMFis+4mtBsySluUv+sPdeOkLrJOfQ4Jb6bnywyD/OL4kzhkw==
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: VJt5wBZaVKoqdVJt6wLwzq
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
Date: Thu, 4 Jun 2026 19:02:19 -0700
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>,
        Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH] automation: Add C xenstored and stubdom tests
Message-ID: <aiIuKwFcv2y5KtKd@kraken>
References: <20260604233328.805829-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20260604233328.805829-1-jason.andryuk@amd.com>
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_07,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0
 adultscore=0 malwarescore=0 lowpriorityscore=0 suspectscore=0 phishscore=0
 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606050017
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF0002636C:EE_|LV3PR16MB6234:EE_
X-MS-Office365-Filtering-Correlation-Id: b2c6af16-9e84-4372-1eed-08dec2a67be1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|376014|36860700016|22082099003|18002099003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	dez4SxrSesgSPZyKy+ceEzWUmVnKpYxNw6ez/WYhr88E99RXtcjBSpCxq4Xsi6wmxF0cm1BseMea6oJ7zaqy1YXoHow4vaeazQAoo2tNTHMhxrgFQ7iBly/5VzEiiHy73A1Egty6osFSOle9q0BRc3nSnjb9/n9SrZxPw0+9eTHsczvrnCCzb7LW3EEIYYUDPv+Qtd3IuQWlnXrNtVM/mQKzn+w/uzU7F50ZSwKmDe1Gh+o7RCkEv6NQPG9zhoc3VB2ChR+6ti3jOnWPI2Xd6g4SvRt4mxKc7LGhYJGrhA726VWLB5kTErYmbRJ62d/6cc/O+Se8sjN5YvwI/KieoHnS52G/C6KInbnaKZ373uHS47mHVHKREd603QJdoVBLzdEOd4o++DfA/H3FBhXIf5HCOALDSGENRW/shSG+2DKej5weKzuSnv3owakr/yA5xVT8EoK1Xe/nWRznIbUde1mga4PR/81I9EiyRIgbU8LYXyD2Q+KC6ahlzcVOt7vaDHmSMGIRHi9BseOEjbjNMuh9jhKtd9195xlvSc5c+VssSFacFd5SuRufKBMsfe4qvdGXD6tLDKHJpW6ei7RCYZ4hR2dBVMrXW3cW+ogfwCaGi6NwdAU8FAPn7C9gtkw3LQHfK5lobHmJqMQoJUsd3dxZtnSv+A4ku01D0dZGqYtKRxRSKJ8rnTEPgtpdjxiX7Ez7Ztl7DYcQo9LhSHgDxoMrL673ai43UX2jwHqj2q0=
X-Forefront-Antispam-Report:
	CIP:148.163.138.245;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0b-00498f04.pphosted.com;PTR:mx0b-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(376014)(36860700016)(22082099003)(18002099003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	bNW5fLLsFAmFczUUrZWOJBkRXLxCSBk0u0ChyIihwB57O8677R6gbyHqgYiaI/95tQAWvCyCkLl3WZ0HalFF9kaCiUC10Gk2Ja8PS5zWDid/FNsmBof7fZc+CxML7HvROT9uQ7Kd0dhYqUcmfm/xqC1plp4blek67Gax4c7JAPkeM44yyALeI+tiwKyd0q7ipH6Srqia16g9zWl1FWlO8INPyCFrW7cDtniQ9LeZvzNArZG1i7xrihgYsVy0VKiQERtuEHsQX3i3RQuzVHrdWTl5jUcb8IG+jMLCudg1zc/jCeJXdN7Z0zYRT7KR7T+nX5enOCwkibnhZh4rHR2fCQAcWEz63dI9ViK4fnLKlHsjGFdZKOvmYcmQU19FQxSyzLm/jOxDtHBIQg3Oycenk3s+b+VTMtiArguY4d8tBLoHy2keLVc3NUhIr+ZS/kG+
X-Exchange-RoutingPolicyChecked:
	PtPBVBrxrFtZM8xW0PQzsJuVTq3gwXxFvdrBQ0Jb+13GT019LW+sAMnpBCUX1Kjk/bVx/4ECJCi9OybhaxxTtrf3N0KwuyK+W1Lo/R9owyEJi9PcmROfG98yWV3eklgyqYTRFQnRmviD1g5gpfTSIdJCJ15c8/VgPHfM6F4gTlDK/wB3bfjlmJXrQA5nU9Kt9AGxlnrf403/8sK1KRbuIw/TUUVnZ5/P56UQLqWJDuGF1mqX6aj0IW+bdcKfGXO7HPgWAhRYgA2JIIy4bYpXwc0isT+IwZyBQvAR+a73OK9rImDlG8E9EmEU+pvAzdO2/XWBOSLshbRvCMABE2OrUw==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	I25eVOHw/1bYe5WHGLIciohlQTWgFICrxq+MVg2QZMW92xZqEN0+5Lk6MC6dgE7zfty3Y9h/LOkXfiEsio/JBDLS980GrekQr44vHfIOTVg5dSyjwUV7tGLs49uZXX8ILQBoiqhmHxOGzu7kUk826Cnect1fORVOzo1K/H7rKskmPrdQUk0Z/EG6cRe2O9NSb0Lfdw006MBWBNuPE/5/Gk/lb1aO/PfcOZWeSiNvBIq0b8aYJLatLflhY7HK6Q7rMTJKO99BM+K0eyjodtOtjlja6C1qKks/xWHbYgruq2q0S9tHSuMCPaON9ekACR7XUBHS89A1/0ckh+7g+8JgXGo6Tew5Cawbc+zOslIzeRAbu61Jfwc572uFZnR4IsBPn6HaNXnyWtNRXu9WD3sI1JWwaJPs9brjbuk+b3gjKeusEUfkQIXkbz0pcc6imq0tJKXjCHSBrPGNSnWR4h8z4CvLKZs+mNd2Yge1SNaPfDFYxxHC723o/7yJ/VSqFDZDd0+v0wF5pcN/NwFPUKhOZe7LyTW/lXsoD2wGjmRdJE4zbbOArNqeNe/1uJTsgxJxlazP+/gdqNGxc0WGIybd5Q3SN02AxXJk/+e/1zrHjfJ/RWiinWhgJ73wh6Gj9NfG
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 02:02:23.0730
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b2c6af16-9e84-4372-1eed-08dec2a67be1
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[148.163.138.245];Helo=[mx0b-00498f04.pphosted.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: LV3PR16MB6234
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA1MDAxNiBTYWx0ZWRfX8A9e33F0q+/9
 SAQrS3Ska638hZLI5ypv7/EC/4CbfhIGZXP9UrWzVtra0H9yySSI06Iyx/Lf6jhSqitJG8wUFPN
 c3vcl0pCotOqjfTh1EHHXbedxypiVga1lA9B18Ox2RQMnV9OVpq7gbB3YsAFLTwSddOa2o8krGO
 JkmUMcdr59FRC519JCDdvq5ygWeR2qJfxHKcmq2Jrnju1hycqqxucfVPWXGo/5kTqf1Zx5CjrOZ
 eMGetjo/ErCWR8dd3iiwinbLbnPQo7kfQdxRpREI5Uq2Z1b6oXF1c5O30qreKkwbVE5ZHnHvQsJ
 BmrFDEZho8OFt+UXTJj80g4N7Jherg895yiCkyL/nI1rWQPy3w3QOVkjqAGO2iI2djKKk1GQ3+V
 7NkMx4UhxWFDrPX9+ta6X+cLP3DdCXIJW0DT0dePB8Dbmhmg3gsehukZD4ga2SfYFTQFvYE6vaR
 UgKSSdGBwYKKTesyzqw==
X-Authority-Analysis: v=2.4 cv=XIUAjwhE c=1 sm=1 tr=0 ts=6a222e32 cx=c_pps
 a=beY4+7vfl+OHeoikwBMclQ==:117 a=b7IhknPlfT0FN1EembXvig==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=kj9zAlcOel0A:10 a=FelO9ux0wxsA:10
 a=3PXLN80vpJUA:10 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=P_n1zlmtWsCQbjROFjcg:22 a=MLwXIh1eZMowsRZfVxRb:22
 a=zd2uoN0lAAAA:8 a=cbNQJ9GKAAAA:8 a=lcodDjlxucsrHAyZpscA:9 a=CjuIK1q_8ugA:10
 a=tHM1YVGr_7IA:10 a=P0bj-C3X3jJDpopQwM1U:22
X-Proofpoint-ORIG-GUID: 1A0zDa4W1lxnMrIGWPlHuUamFFevnP-A
X-Proofpoint-GUID: 1A0zDa4W1lxnMrIGWPlHuUamFFevnP-A
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-04_07,2026-05-28_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 clxscore=1015
 impostorscore=0 phishscore=0 malwarescore=0 suspectscore=0 priorityscore=1501
 lowpriorityscore=0 spamscore=0 adultscore=0 bulkscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606050016
X-purgate-ID: tlsNG-16d1c6/1780624950-8556ED75-4A89F2BF/0/0
X-purgate-type: clean
X-purgate-size: 282

On Thu, Jun 04, 2026 at 07:33:28PM -0400, Jason Andryuk wrote:
> Expand testing to include C xenstored and xenstore stubdom tests.  OCaml
> oxenstored is run by default.
> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

Reviewed-by: Denis Mukhin <dmukhin@ford.com> 


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 04:15:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 04:15:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328907.1593137 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVLxJ-0007Ga-0i; Fri, 05 Jun 2026 04:14:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328907.1593137; Fri, 05 Jun 2026 04: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 1wVLxI-0007GT-Te; Fri, 05 Jun 2026 04:14:48 +0000
Received: by outflank-mailman (input) for mailman id 1328907;
 Fri, 05 Jun 2026 04:14:47 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+25760b9178a0880d3e7d+8321+infradead.org+hch@bombadil.srs.infradead.org>)
 id 1wVLxF-0007GN-Fx
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 04:14:47 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVLxE-00CPB1-3B
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 06:14:44 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+25760b9178a0880d3e7d+8321+infradead.org+hch@bombadil.srs.infradead.org>)
 id 6a224cfa-5cb7-0a2a0a5109dd-0a2a4508e4d8-32
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 06:14:43 +0200
Received: from [198.137.202.133] (helo=bombadil.infradead.org)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+25760b9178a0880d3e7d+8321+infradead.org+hch@bombadil.srs.infradead.org>)
 id 6a224d31-63b5-0a2a45080019-c689ca85a07c-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 06:14:42 +0200
Received: from hch by bombadil.infradead.org with local (Exim 4.99.1 #2 (Red
 Hat Linux)) id 1wVLx1-000000004Gb-1FHI;
 Fri, 05 Jun 2026 04:14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=bombadil.20210309 header.d=infradead.org header.i="@infradead.org" header.h="In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=In-Reply-To:Content-Type:MIME-Version
	:References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=LJ7z4fiMTAZ7fAzEyfiZAHwdxVS2Jyf7F7sA34zhgfk=; b=SA0RTFbtw7++xeqM4/TBi2XyHl
	OsNHxj9gdfi0UgM2EebSZZ5pP6ZD20zBkoA1aRnOH1iKaGBpFvTFyAA6LA9t4HDaVEdA7kTTbx1N3
	UC9hF8blJBELprFrQ3F0S6pjYGlbCpJnJERQ5XapS7co2zJQCzPJZukheGd7mSzvM+9W2g1fNkurp
	s9n+QHKcf2b02WissFhhCZMd8QUsS4UOjeN/RYUWc1PPTNQF2fENqoiFet+BZXyy+T5KAY5KkP7ix
	Sy0Jy0Z9FTKpx0xD56IQ30IR1Y43bLhYMCck7lQouY6AJ7p8xjxiJ1odiPKjhItw8K+cdyeNIydU8
	epqVkWfQ==;
Date: Thu, 4 Jun 2026 21:14:31 -0700
From: Christoph Hellwig <hch@infradead.org>
To: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Alex Williamson <alex@shazbot.org>, Jason Gunthorpe <jgg@ziepe.ca>,
	Kevin Tian <kevin.tian@intel.com>,
	Ankit Agrawal <ankita@nvidia.com>,
	Leon Romanovsky <leon@kernel.org>, Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Keith Busch <kbusch@kernel.org>,
	Alexander Duyck <alexanderduyck@fb.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Dimitri Daskalakis <daskald@meta.com>,
	linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org
Subject: Re: [RFC 00/12] PCI: Add support for Scalable I/O Virtualization
Message-ID: <aiJNJ0zP5BocG-Yy@infradead.org>
References: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20260604150153.3619662-1-dimitri.daskalakis1@gmail.com>
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-c1860d/1780632883-BFF7ADB1-27899243/0/0
X-purgate-type: clean
X-purgate-size: 268

On Thu, Jun 04, 2026 at 08:01:41AM -0700, Dimitri Daskalakis wrote:
> From: Dimitri Daskalakis <daskald@meta.com>
> 
> Scalable I/O Virtualization (SIOV) is the next-generation alternative
> to SR-IOV.

It's not.  It is a yet another very different technology.


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 05:21:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 05:21:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328925.1593146 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVMzr-00021H-MQ; Fri, 05 Jun 2026 05:21:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328925.1593146; Fri, 05 Jun 2026 05: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 1wVMzr-00021A-JM; Fri, 05 Jun 2026 05:21:31 +0000
Received: by outflank-mailman (input) for mailman id 1328925;
 Fri, 05 Jun 2026 05:21:30 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <xakep.amatop@gmail.com>) id 1wVMzq-000213-4h
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 05:21:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVMzp-006Ddi-3d
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 07:21:29 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a225cb0-bab6-0a2a0a5309dd-0a2a450697ca-48
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 07:21:28 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a225cd8-7371-0a2a45060019-d155802be5eb-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 07:21:28 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-490b4a8e28bso12167305e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 22:21:28 -0700 (PDT)
Received: from EPUAKYIW02F7.. ([45.12.26.204])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490c2c9ea37sm31922435e9.0.2026.06.04.22.21.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Jun 2026 22: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780636888; x=1781241688; 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=O1mQfU8nVubaPNeVbtqSYXyI1fcXaMwz8rsvcS3hlZ4=;
        b=Wtk3PwK9C4TLsHvkaqP/7Pa/eQhYko/uCEo893Bo1XSywWRBGyZDKCl8bW8HJfKTjn
         wNwxMkhf30m55uiUK++aGxVmE4hfk7IhYBx6guMk/e4ioKbRLDjqxD6/dOqjo9LyQCIx
         SOyy6e8tQ4I86wUvtxe45cWZwkP1eaIqr5RuBfRTpxBtvOW7x65QUBBYpHa9+K6R+F5l
         vQqR+SlOD2LKukXnuJmonpBpdL0/n84cvacmCFCd8SbRTApFSgmLnqfvCNjryq36UHVv
         mpGb7/H/ey1l2pxKLBOxZt1aEEKD0yn42qG+a2cLCcD6lYUWOGmQ9QTyx0CMSJOf6Hc8
         DyxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780636888; x=1781241688;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=O1mQfU8nVubaPNeVbtqSYXyI1fcXaMwz8rsvcS3hlZ4=;
        b=BgpZtMTeY8FsFT7b3rjDEct9O+UXHngbA9ZOwru94De/Xs3dSsqwPN5YDxfJSYdckN
         WggCRmNF5jEeAs1bPaLygOgXwNJ+V+Yu8eggHQhRUPg/hkVFLQk1TtlWlEF9b207DFcz
         kqm/cQbUt+t22D9RcfJkiv+/Y3Ztzxmp7zrhhxGc1+sloT8L0Xlt3ksnmXs+iNjAKAxT
         no9K67KLvZxiZYtH2Q9ZwB8ANApXFEVEe3DafMZtZ+skOHW7c78/MSJa1vBP5tS5T/hD
         xwwn7o7Aqp/z5aFM52W5ANOzq/gf//g026IWhX38vVzoyzWxImP6r1T5fwN6bQA4a1Xb
         HC2g==
X-Gm-Message-State: AOJu0YyVFr08QKfRWWOqCsnINXjm5u65A1M66xDlfhg0h7W8pMMVubyb
	7as78iYxFoCpsL7G6eVgJs5hZcYxSbtzlxB8OlHl+cyg0z5CLFeq7kmo8sUxeg==
X-Gm-Gg: Acq92OGiDxvb6vgQzYtdwKzi4kk5ASQfXWuIdqOMXR7p2gd5jn4hfHNlFCjf4+bwzyW
	Re9sFV+jzCm1wQzlEIIl8nE4sHdiOmlJUe2qpe7cc/ZmAvqL0aQ1hR9MnAzFztziUIc8xl/J+0p
	loK2ZoQq9ZiKbeyt2JYJQR9znkS7BRyxou+qrM3OiRKzHuwEkfICGCb6lys5YOd8t9bZ6dNz87a
	FOvsFcsWsfCsysw1uuK7RmSuOmUUb7u3XsY4SG6N4BcTweKCOM9A3nJC9arvXaIs0O77wotUj0G
	BwjapK2noyuuFoJVdpUDtQdXSSwgdHp/Eui/8wWPghlg5zlc9SxVFdThtbk+TwlJzNB6XLusozT
	6x3JCN/lo5mHhDk4lOqNkLM47MywXVTZZvzi9vM9tIzPLFmM/NzjrenuJPSVcd05q6m73D6cuK7
	HxG341+4RGYUzIxIBnLOAufzn8dD6BHfnJy9fOqg==
X-Received: by 2002:a05:600c:19d2:b0:490:bb45:79da with SMTP id 5b1f17b1804b1-490c25af9a3mr23949615e9.13.1780636888119;
        Thu, 04 Jun 2026 22:21:28 -0700 (PDT)
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>,
	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 for-4.22 v2 0/2] xen/arm: validate hwdom first bank boot placement
Date: Fri,  5 Jun 2026 08:19:06 +0300
Message-ID: <cover.1780602987.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1780636888-85361D75-EDA92A00/0/0
X-purgate-type: clean
X-purgate-size: 1731

From: Mykola Kvach <mykola_kvach@epam.com>

With LLC coloring enabled, the hardware domain memory is allocated by
allocate_hwdom_memory() instead of relying on the fixed direct-map
layout. Since de99f3263555 ("device-tree: Improve hwdom memory
allocation for DMA"), the allocator prefers lower host regions, but the
first-bank filter still only enforces the old 128MB heuristic.

A low candidate bank can satisfy that heuristic while still being
unsuitable for the Arm kernel/DTB/initrd placement rules. Split the Arm
placement logic into reusable helpers first, then validate the candidate
hardware-domain bank 0 against those helpers before allocating it.

Changes in v2:
- Split the previous single patch into a behavior-preserving Arm
  placement refactoring and a separate hardware-domain first-bank fix.
- Rename find_module_placement() and place_modules() to use DTB/initrd
  terminology.
- Pass ramend to find_dtb_initrd_placement().
- Update the stale tools/libs/guest/xg_dom_arm.c reference.

Link to v1:
  https://patchew.org/Xen/4f862bb2dc323914b8120b0f16af7516140cf42b.1780065103.git.mykola._5Fkvach@epam.com/

Mykola Kvach (2):
  xen/arm: split DTB/initrd placement helpers
  device-tree: device-tree: validate hwdom bank 0 boot placement

 xen/arch/arm/acpi/domain_build.c        |   2 -
 xen/arch/arm/domain_build.c             |   8 +
 xen/arch/arm/include/asm/domain_build.h |   4 +
 xen/arch/arm/include/asm/kernel.h       |   9 ++
 xen/arch/arm/kernel.c                   | 190 ++++++++++++++++++------
 xen/common/device-tree/domain-build.c   |  30 ++--
 xen/include/xen/fdt-kernel.h            |   9 ++
 7 files changed, 192 insertions(+), 60 deletions(-)

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 05:21:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 05:21:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328926.1593154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVMzs-0002E9-Sn; Fri, 05 Jun 2026 05:21:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328926.1593154; Fri, 05 Jun 2026 05: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 1wVMzs-0002E2-QA; Fri, 05 Jun 2026 05:21:32 +0000
Received: by outflank-mailman (input) for mailman id 1328926;
 Fri, 05 Jun 2026 05:21:31 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <xakep.amatop@gmail.com>) id 1wVMzr-000219-JL
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 05:21:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVMzq-00HJSo-P1
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 07:21:30 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a225ccc-e002-0a2a0a5209dd-0a2a4502a4c8-16
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 07:21:30 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a225cd9-af86-0a2a45020019-d1558031e0df-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 07:21:30 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490be29c1c5so18109435e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 22:21:30 -0700 (PDT)
Received: from EPUAKYIW02F7.. ([45.12.26.204])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490c2c9ea37sm31922435e9.0.2026.06.04.22.21.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Jun 2026 22:21: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780636889; x=1781241689; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=AHWDeiNA+imJX8eeXdwKA190eQAUDsJXyCufUuF7d40=;
        b=CNfdyksGwx/eDjIbaWsQxgj+RBU546QukOWMhpXhENg0ZemHnGOM0rZTyu6SMFLBws
         IdQW3JxQrswr3Lf4qTWcp9K98chyFZiLzliLLb0mphnn0zOCr73BXbSixk4PVpp0EWA0
         ksMxdPO9pCCjWheP6HXOoK1XycCkAH1nz5e86TcOu0UWPl0w9HBjyqqRBxg2HCSF/jrZ
         U7cgZcuhhuBk9RHGklrKGwIgV/aaG6NrN+i+IWVAMPTB7fwVxDuTXYr4VZEmH4UzD4Ko
         D+iym05LjAajhiyNC8srkZ7ExD/a6lbAYCnFvcILpfki7ce9WW0e6zpo+FiTCOkGn0I/
         CpeQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780636889; x=1781241689;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=AHWDeiNA+imJX8eeXdwKA190eQAUDsJXyCufUuF7d40=;
        b=AOR8FTcxOQq9DKvqNyIQSqWD7HrfTyomLEWtmoLPnspmLR94RKbFZurg2BNqnJU7w2
         Bx669ZY+7sFrllLTUWPCPBb3bulcr85zgwFdsdmKTpaTuW4oluyzsNir1gQMrdmAKbi4
         kBn+qK5Z6W2vXjJmFDl4xkqDG3ZMUxb7gQlBAmiSoYuLoA2tZjzlwEJ6Bub8TF72Y78M
         5n0oxgts7OG/lYjMg68jNnRJcdwAU6Nn1CVBDsOb7YwhgbexAtc7JihjYeaTRwLudBEq
         U5QxluJEw2aQOEQpYjejVLy/ILYaoEmQfni+zmrQ/LPo0u7myBprwzUXRz9C82wURboz
         wZfg==
X-Gm-Message-State: AOJu0YwRvXQF6nslO71Eyz4AKIjf2ce9uCPNt7QiUQDHy2fEt3sQNVYi
	pPc110Y3u6hgD3UYa0MTKQA889cmprLHGR9Ln54RSHeiHCLmEgzNknbGc89qCg==
X-Gm-Gg: Acq92OEKeG7DvErlbwF7ZA8MteTup9Q0JwTc/jApXwlKWnfMTQx6bzPz2O2+RhgPbxR
	Ysk1321j65kQdbZK3aIZ1wwRlbxNoUILzobIwQt78gWcPPR0RcKND5LBlylWw2y8rIa7FsB3V0n
	4O+lMmP3KszcCaJaCN3ZtPYM5fIBaEM94+X9niM7hSlGwKT5ydxQtXKgi6+asbc+lluiyMVkBaa
	aXqgASSzuoKXL2g4DA6RnQ8uTdZr7uEm8INz/mp+kgjKGzFKwmtjuuzhS8zwrVNVb8aeN/BjMdn
	rXKugSaENdrcsTYCpoiTPqTmJdXjCZJyu/mKK7xTLLk4phHpdDp/vm6ubu6OCSKidTJFPMB+ecM
	BJauLTI5dZBwMcLgQXtyMAUbCwTWyBIt1O5RPhZtZJBDgEGiDSAkZCxvnplkLGCKlnSLah8XNET
	Q3i0PVhF+V+W/jhhEFSOfB9/i+BFC90NLw0TUG1A==
X-Received: by 2002:a05:600c:524a:b0:490:b11f:2560 with SMTP id 5b1f17b1804b1-490c256f131mr27988045e9.9.1780636889273;
        Thu, 04 Jun 2026 22:21:29 -0700 (PDT)
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>
Subject: [PATCH for-4.22 v2 1/2] xen/arm: split DTB/initrd placement helpers
Date: Fri,  5 Jun 2026 08:19:07 +0300
Message-ID: <11537d2b05a6c36d4ba0d852efadeba91d9f6225.1780602987.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1780602987.git.mykola_kvach@epam.com>
References: <cover.1780602987.git.mykola_kvach@epam.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1780636890-A917D161-7B1E564F/0/0
X-purgate-type: clean
X-purgate-size: 10019

From: Mykola Kvach <mykola_kvach@epam.com>

The Arm zImage loader currently computes the kernel load address and
places the DTB/initrd in one local flow. The hardware-domain memory
allocator needs to reuse those placement rules before it chooses bank 0,
but open-coding the same calculations there would make the fix harder to
audit.

Split the existing logic into small helpers:
- kernel_zimage_place_in_bank() computes the zImage load address for a
  given bank.
- first_bank_can_fit_modules() checks the aggregate first-bank
  footprint.
- find_dtb_initrd_placement() chooses the DTB/initrd location within a
  known bank and kernel range.

Rename place_modules() to place_dtb_initrd() so the code distinguishes
the kernel image from the DTB/initrd placement area. Also update the
stale xg_dom_arm.c path in the placement comment.

The caller still panics in the same cases as before, so this is intended
to be behavior preserving.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
Changes in v2:
- New patch split out from the hardware-domain first-bank fix.
- Rename the DTB/initrd placement helpers to avoid treating the kernel
  and DTB/initrd as the same kind of module.
- Pass the RAM end address to find_dtb_initrd_placement() instead of
  recomputing it from the RAM size.
- Update the stale xg_dom_arm.c reference in the placement comment.
---
 xen/arch/arm/kernel.c                 | 147 ++++++++++++++++----------
 xen/common/device-tree/domain-build.c |   6 +-
 2 files changed, 97 insertions(+), 56 deletions(-)

diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index b72585b7fe..d1be4d8074 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -40,27 +40,59 @@ struct minimal_dtb_header {
     /* There are other fields but we don't use them yet. */
 };
 
-static void __init place_modules(struct kernel_info *info,
-                                 paddr_t kernbase, paddr_t kernend)
+static paddr_t __init
+kernel_zimage_place_in_bank(const struct kernel_info *info,
+                            paddr_t bank_start, paddr_t bank_size)
 {
-    /* Align DTB and initrd size to 2Mb. Linux only requires 4 byte alignment */
-    const struct boot_module *mod = info->bd.initrd;
-    const struct membanks *mem = kernel_info_get_mem(info);
-    const paddr_t initrd_len = ROUNDUP(mod ? mod->size : 0, MB(2));
-    const paddr_t dtb_len = ROUNDUP(fdt_totalsize(info->fdt), MB(2));
-    const paddr_t modsize = initrd_len + dtb_len;
+    paddr_t load_addr;
 
-    /* Convenient */
-    const paddr_t rambase = mem->bank[0].start;
-    const paddr_t ramsize = mem->bank[0].size;
-    const paddr_t ramend = rambase + ramsize;
+#ifdef CONFIG_HAS_DOMAIN_TYPE
+    if ( (info->type == DOMAIN_64BIT) && (info->image.start == 0) )
+        return bank_start + info->image.text_offset;
+#endif
+
+    /*
+     * If start is zero, the zImage is position independent, in this
+     * case Documentation/arm/Booting recommends loading below 128MiB
+     * and above 32MiB. Load it as high as possible within these
+     * constraints, while also avoiding the DTB.
+     */
+    if ( info->image.start == 0 )
+    {
+        paddr_t load_end;
+
+        load_end = bank_start + bank_size;
+        load_end = MIN(bank_start + MB(128), load_end);
+
+        load_addr = load_end - info->image.len;
+        /* Align to 2MB */
+        load_addr &= ~(MB(2) - 1);
+    }
+    else
+        load_addr = info->image.start;
+
+    return load_addr;
+}
+
+static bool __init first_bank_can_fit_modules(paddr_t ramsize,
+                                              paddr_t kernbase, paddr_t kernend,
+                                              paddr_t dtb_initrd_size)
+{
     const paddr_t kernsize = ROUNDUP(kernend, MB(2)) - kernbase;
-    const paddr_t ram128mb = rambase + MB(128);
 
-    paddr_t modbase;
+    /*
+     * Check only the aggregate kernel + DTB/initrd footprint. The actual
+     * DTB/initrd location is selected by find_dtb_initrd_placement().
+     */
+    return dtb_initrd_size + kernsize <= ramsize;
+}
 
-    if ( modsize + kernsize > ramsize )
-        panic("Not enough memory in the first bank for the kernel+dtb+initrd\n");
+static bool __init find_dtb_initrd_placement(paddr_t rambase, paddr_t ramend,
+                                             paddr_t kernbase, paddr_t kernend,
+                                             paddr_t dtb_initrd_size,
+                                             paddr_t *dtb_base)
+{
+    const paddr_t ram128mb = rambase + MB(128);
 
     /*
      * DTB must be loaded such that it does not conflict with the
@@ -77,55 +109,64 @@ static void __init place_modules(struct kernel_info *info,
      * just before the kernel.
      *
      * If changing this then consider
-     * tools/libxc/xc_dom_arm.c:arch_setup_meminit as well.
+     * tools/libs/guest/xg_dom_arm.c:meminit as well.
      */
-    if ( ramend >= ram128mb + modsize && kernend < ram128mb )
-        modbase = ram128mb;
-    else if ( ramend - modsize > ROUNDUP(kernend, MB(2)) )
-        modbase = ramend - modsize;
-    else if ( kernbase - rambase > modsize )
-        modbase = kernbase - modsize;
-    else
+    if ( ramend >= ram128mb + dtb_initrd_size && kernend < ram128mb )
     {
-        panic("Unable to find suitable location for dtb+initrd\n");
-        return;
+        *dtb_base = ram128mb;
+        return true;
     }
 
-    info->dtb_paddr = modbase;
-    info->initrd_paddr = info->dtb_paddr + dtb_len;
+    if ( ramend - dtb_initrd_size > ROUNDUP(kernend, MB(2)) )
+    {
+        *dtb_base = ramend - dtb_initrd_size;
+        return true;
+    }
+
+    if ( kernbase - rambase > dtb_initrd_size )
+    {
+        *dtb_base = kernbase - dtb_initrd_size;
+        return true;
+    }
+
+    return false;
 }
 
-static paddr_t __init kernel_zimage_place(struct kernel_info *info)
+static void __init place_dtb_initrd(struct kernel_info *info,
+                                    paddr_t kernbase, paddr_t kernend)
 {
+    /* Align DTB and initrd size to 2Mb. Linux only requires 4 byte alignment */
+    const struct boot_module *initrd = info->bd.initrd;
     const struct membanks *mem = kernel_info_get_mem(info);
-    paddr_t load_addr;
+    const paddr_t initrd_len = ROUNDUP(initrd ? initrd->size : 0, MB(2));
+    const paddr_t dtb_len = ROUNDUP(fdt_totalsize(info->fdt), MB(2));
+    const paddr_t dtb_initrd_size = initrd_len + dtb_len;
 
-#ifdef CONFIG_HAS_DOMAIN_TYPE
-    if ( (info->type == DOMAIN_64BIT) && (info->image.start == 0) )
-        return mem->bank[0].start + info->image.text_offset;
-#endif
+    /* Convenient */
+    const paddr_t rambase = mem->bank[0].start;
+    const paddr_t ramsize = mem->bank[0].size;
+    const paddr_t ramend = rambase + ramsize;
 
-    /*
-     * If start is zero, the zImage is position independent, in this
-     * case Documentation/arm/Booting recommends loading below 128MiB
-     * and above 32MiB. Load it as high as possible within these
-     * constraints, while also avoiding the DTB.
-     */
-    if ( info->image.start == 0 )
-    {
-        paddr_t load_end;
+    paddr_t dtb_base;
 
-        load_end = mem->bank[0].start + mem->bank[0].size;
-        load_end = MIN(mem->bank[0].start + MB(128), load_end);
+    if ( !first_bank_can_fit_modules(ramsize, kernbase, kernend,
+                                     dtb_initrd_size) )
+        panic("Not enough memory in the first bank for the kernel+dtb+initrd\n");
 
-        load_addr = load_end - info->image.len;
-        /* Align to 2MB */
-        load_addr &= ~((2 << 20) - 1);
-    }
-    else
-        load_addr = info->image.start;
+    if ( !find_dtb_initrd_placement(rambase, ramend, kernbase, kernend,
+                                    dtb_initrd_size, &dtb_base) )
+        panic("Unable to find suitable location for dtb+initrd\n");
 
-    return load_addr;
+    info->dtb_paddr = dtb_base;
+    info->initrd_paddr = info->dtb_paddr + dtb_len;
+}
+
+static paddr_t __init kernel_zimage_place(struct kernel_info *info)
+{
+    const struct membanks *mem = kernel_info_get_mem(info);
+
+    return kernel_zimage_place_in_bank(info, mem->bank[0].start,
+                                       mem->bank[0].size);
 }
 
 static void __init kernel_zimage_load(struct kernel_info *info)
@@ -143,7 +184,7 @@ static void __init kernel_zimage_load(struct kernel_info *info)
     if ( info->entry == 0 )
         info->entry = load_addr;
 
-    place_modules(info, load_addr, load_addr + len);
+    place_dtb_initrd(info, load_addr, load_addr + len);
 
     printk("Loading zImage from %"PRIpaddr" to %"PRIpaddr"-%"PRIpaddr"\n",
            paddr, load_addr, load_addr + len);
diff --git a/xen/common/device-tree/domain-build.c b/xen/common/device-tree/domain-build.c
index 2a760b007b..f3ba496f1e 100644
--- a/xen/common/device-tree/domain-build.c
+++ b/xen/common/device-tree/domain-build.c
@@ -245,8 +245,8 @@ out:
  * hardware domain to have memory reachable by devices with limited DMA address
  * capabilities (e.g. 32-bit DMA).
  *
- * The first bank allocated must be large enough for place_modules() to fit
- * the kernel, DTB and initrd.
+ * The first bank allocated must be large enough for place_dtb_initrd() to
+ * fit the kernel, DTB and initrd.
  */
 static bool __init allocate_hwdom_memory(struct kernel_info *kinfo)
 {
@@ -302,7 +302,7 @@ static bool __init allocate_hwdom_memory(struct kernel_info *kinfo)
         paddr_t bank_size;
 
         /*
-         * The first bank must be large enough for place_modules() to
+         * The first bank must be large enough for place_dtb_initrd() to
          * fit the kernel, DTB and initrd.  Skip small regions to avoid
          * ending up with a tiny first bank.
          */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 05:21:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 05:21:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328927.1593165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVMzu-0002RA-89; Fri, 05 Jun 2026 05:21:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328927.1593165; Fri, 05 Jun 2026 05:21:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVMzu-0002R3-49; Fri, 05 Jun 2026 05:21:34 +0000
Received: by outflank-mailman (input) for mailman id 1328927;
 Fri, 05 Jun 2026 05:21:32 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <xakep.amatop@gmail.com>) id 1wVMzs-000244-0f
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 05:21:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVMzr-00HJSo-DJ
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 07:21:31 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a225cd3-e002-0a2a0a5209dd-0a2a4508a7be-6
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 07:21:31 +0200
Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a225cdb-63b5-0a2a45080019-d1558036f133-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 07:21:31 +0200
Received: by mail-wm1-f54.google.com with SMTP id
 5b1f17b1804b1-490b64c8311so16943955e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 22:21:31 -0700 (PDT)
Received: from EPUAKYIW02F7.. ([45.12.26.204])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490c2c9ea37sm31922435e9.0.2026.06.04.22.21.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Jun 2026 22:21: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780636891; x=1781241691; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ET6rfyTADhmkVbxMEn1N5DcgOf1gJoNvcXXSPP2THsg=;
        b=HTGBF0x5GjhyfSxVPhn2QXJB+2CGuK5rkaPg/dWCQJXw+ialJ/PQKzWBHhkp6CCrev
         CRwuyevYd/U3NkAkv9ohwU56+2MeqFtmYmE/dE+vXaqnlx+kp0AXaigWbmAiDSkLVQs7
         kVZDph9NodW9ny2imOgE6+VZTlZX4Qnm8Jchfb7NG70LoRCk6lwHpJxWcQj2FF7xT4u/
         0H2SA9zhBmv/F9MT5Pa+gcgtAVan8KgJy4SCrMKvS8rK3rcqZNXuko3jnuhCL1igjMho
         5umNDwyA71t6MmqSExHFcmGOJYPVL2i9jIhA90rmVYpdbqFTwXNFVNc308pYQ09UU+YH
         Ll9g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780636891; x=1781241691;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=ET6rfyTADhmkVbxMEn1N5DcgOf1gJoNvcXXSPP2THsg=;
        b=DS5pkuFzU9U6luyFgeCoAXLuiXqbHjqzk1Vvsdvtg78a7RhvufzB6yOf2LpTt60hLr
         V46dFFJ9sqVSK5m7WFOn3Jjkv/ejLcluMQ7m47kj2Q/d6mGcsUbp3VODAzl8aM9M1OL6
         XOWTnLfI7ijF+Wjt3R64RNWWW8p56T2aVKDC2WHXtTJrytPmCJCpa/M8KAIp4ZH2Dw+J
         XjeWlofkIkAActsVi/nx/J96+JfAlu5sAoUFHOHWYaU0yrUd+yH6shQfNiyi4dmfYYjb
         vs+jcyBJseCVLc4iy6DPntXFBYy7uY8HXPEOmrLy6d88ZP8toDSSoPCUC3VmDVFxy7xZ
         eczQ==
X-Gm-Message-State: AOJu0Yxn3/w8Fc3vbmDLap+rkV7HROivayngQgUZbKfeVHKAEN5J+7FQ
	p9zPL3g5hPQ8BgRnF8k8725HEY+W8B+UNjuV9qtzm4f57SdUJNVNydl40Msx5A==
X-Gm-Gg: Acq92OG7Ux7zeSsllDY6CBiGRV3NvBbPWwvAQvxXf/mnAawCnUgbQKRigTxshAJ8bcu
	/0J/TfcFS7P1xky3cOD2UZjzcvPGw4+tr2B6cXZNBBcRFzocG4Dbpx9OHkdhP829JEvrR1qA4MT
	sCSGW2VfKXJxD9ilGOCMK5LILQgNLEPJuOvk1svd35X+nPPOqkTpwPFU7hvW+cwPRR7eFCy8YpN
	KGvIiqB+CnNrsoTa/1y2T7VlCnjJ1hfWDBmsx3mDlDW2DvBdvEwJLeUlDLRtrkEZOVg9RE92B2Y
	S+NK0K3buwVj+Cvt1SWeclHdGBUeDZmnHN1FIMQOn7CfWuX3HBeaz6T9+SS0+RS8ck+h/RZtnGh
	P/9sDQW0FglYkGWi56oD8Rpcr7lOHcQg2D12qVEY1lhLMVE77kk1XA5K4yp2eLE7WAS38jrVSBS
	NWZ4d8Op5c1YlShk95yXORZ/Ks4mZrbRSgNN+leg==
X-Received: by 2002:a05:600c:82c3:b0:490:9782:3eb8 with SMTP id 5b1f17b1804b1-490c25f4963mr24058725e9.25.1780636890607;
        Thu, 04 Jun 2026 22:21:30 -0700 (PDT)
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>,
	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 for-4.22 v2 2/2] device-tree: validate hwdom bank 0 boot placement
Date: Fri,  5 Jun 2026 08:19:08 +0300
Message-ID: <e21cd3c7274eac76607b551134f3f23665a31d7c.1780602987.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1780602987.git.mykola_kvach@epam.com>
References: <cover.1780602987.git.mykola_kvach@epam.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c1860d/1780636891-B7171DB1-F13DF6DD/0/0
X-purgate-type: clean
X-purgate-size: 11838

From: Mykola Kvach <mykola_kvach@epam.com>

With LLC coloring enabled, the hardware domain memory is allocated by
allocate_hwdom_memory() rather than by using the fixed direct-map layout.

Commit de99f3263555 ("device-tree: Improve hwdom memory allocation for
DMA") made that allocator prefer lower host regions. The first-bank
filter, however, still only checked the old 128MB heuristic. A low region
can satisfy that heuristic but still be too small, or otherwise
unsuitable, for the hardware-domain kernel and the DTB/initrd area to fit
in bank 0 according to the Arm placement rules.

Keep the existing first-bank size policy and add an architecture-specific
candidate check. On Arm, compute the kernel load address for the
candidate bank using the same logic as kernel_zimage_place(), verify that
the kernel range is covered by that bank, and then reuse the same
DTB/initrd placement helper as place_dtb_initrd(). The FDT is generated
later, so use the hardware-domain FDT allocation size as a conservative
upper bound for the final DTB size.

Check the candidate after capping the host region by the remaining
unassigned hardware-domain memory, so the validation is performed against
the size that would actually become bank 0.

This keeps the DMA-oriented allocation policy from de99f3263555 while
preventing a too-small bank 0 from reaching place_dtb_initrd().

Make kernel_zimage_place_in_bank() return INVALID_PADDR when a
position-independent zImage cannot be placed in the supplied bank; the
real load path turns this into a panic, while the hwdom candidate check
uses it to reject the bank.

Fixes: de99f3263555 ("device-tree: Improve hwdom memory allocation for DMA")
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
Changes in v2:
- Split the behavior-preserving placement refactoring into the previous
  patch.
- Reuse the refactored Arm kernel and DTB/initrd placement helpers for
  the first-bank candidate check.

Link to v1:
  https://patchew.org/Xen/4f862bb2dc323914b8120b0f16af7516140cf42b.1780065103.git.mykola._5Fkvach@epam.com/

Changes since RFC:
- Do not keep the RFC scalar minimum-size check.  It can both reject valid
  layouts and accept layouts which still fail later.  Instead, validate
  the candidate bank using the same kernel and DTB/initrd placement rules
  as the load path.
- Replace the scalar minimum-size check with arch_hwdom_first_bank_ok().
- Validate fixed-address and AArch32 start == 0 kernel placement against
  the candidate bank.
- Check the candidate after capping the host region by the remaining
  unassigned hardware-domain memory.
- Treat the hardware-domain FDT allocation size as a conservative upper
  bound because the final FDT is generated later.

Link to RFC: https://patchew.org/Xen/9ae4f7dd49f5b1f761193adae573c2675c92e883.1779051035.git.mykola._5Fkvach@epam.com/

Why the RFC scalar approach was not kept:

A simple minimum-size check is not sufficient here because the validity
of the first bank depends on the actual Arm placement rules, not only on
the aggregate size of the kernel, DTB and initrd. The DTB/initrd area may
fit before a 64-bit Image loaded with a text offset, while an AArch32
position-independent kernel may leave no valid module location even when
the aggregate size appears to fit. Fixed-address kernels also need the
candidate bank start to be considered.
---
 xen/arch/arm/acpi/domain_build.c        |  2 -
 xen/arch/arm/domain_build.c             |  8 ++++
 xen/arch/arm/include/asm/domain_build.h |  4 ++
 xen/arch/arm/include/asm/kernel.h       |  9 ++++
 xen/arch/arm/kernel.c                   | 57 ++++++++++++++++++++++++-
 xen/common/device-tree/domain-build.c   | 24 ++++++++---
 xen/include/xen/fdt-kernel.h            |  9 ++++
 7 files changed, 102 insertions(+), 11 deletions(-)

diff --git a/xen/arch/arm/acpi/domain_build.c b/xen/arch/arm/acpi/domain_build.c
index 249d899c33..db16f7fa94 100644
--- a/xen/arch/arm/acpi/domain_build.c
+++ b/xen/arch/arm/acpi/domain_build.c
@@ -26,8 +26,6 @@
 #undef virt_to_mfn
 #define virt_to_mfn(va) _mfn(__virt_to_mfn(va))
 
-#define ACPI_DOM0_FDT_MIN_SIZE 4096
-
 static int __init acpi_iomem_deny_access(struct domain *d)
 {
     acpi_status status;
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 1efddc60ef..550617f152 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -115,6 +115,14 @@ int __init parse_arch_dom0_param(const char *s, const char *e)
                              (IS_ENABLED(CONFIG_STATIC_SHM) ?         \
                               (NR_SHMEM_BANKS * (160 + 16)) : 0))
 
+paddr_t __init hwdom_get_fdt_alloc_size(void)
+{
+    if ( acpi_disabled )
+        return fdt_totalsize(device_tree_flattened) + DOM0_FDT_EXTRA_SIZE;
+
+    return ACPI_DOM0_FDT_MIN_SIZE;
+}
+
 unsigned int __init dom0_max_vcpus(void)
 {
     if ( opt_dom0_max_vcpus == 0 )
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index df8b361b3d..85cf46a958 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -19,6 +19,10 @@ int prepare_acpi(struct domain *d, struct kernel_info *kinfo);
 
 int add_ext_regions(unsigned long s_gfn, unsigned long e_gfn, void *data);
 
+#define ACPI_DOM0_FDT_MIN_SIZE 4096
+
+paddr_t hwdom_get_fdt_alloc_size(void);
+
 #if defined(CONFIG_MPU) && defined(CONFIG_ARM_64)
 /* Utility function to determine if an Armv8-R processor supports VMSA. */
 bool has_v8r_vmsa_support(void);
diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index 21f4273fa1..bf14fb208a 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -8,12 +8,21 @@
 
 #include <asm/domain.h>
 
+#include <xen/types.h>
+
+struct kernel_info;
+
 struct arch_kernel_info
 {
     /* Enable pl011 emulation */
     bool vpl011;
 };
 
+#define arch_hwdom_first_bank_ok arch_hwdom_first_bank_ok
+bool arch_hwdom_first_bank_ok(const struct kernel_info *info,
+                              paddr_t bank_start,
+                              paddr_t bank_size);
+
 #endif /* #ifdef __ARCH_ARM_KERNEL_H__ */
 
 /*
diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index d1be4d8074..ecea2822a1 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -64,9 +64,15 @@ kernel_zimage_place_in_bank(const struct kernel_info *info,
         load_end = bank_start + bank_size;
         load_end = MIN(bank_start + MB(128), load_end);
 
+        if ( load_end - bank_start < info->image.len )
+            return INVALID_PADDR;
+
         load_addr = load_end - info->image.len;
         /* Align to 2MB */
         load_addr &= ~(MB(2) - 1);
+
+        if ( load_addr < bank_start )
+            return INVALID_PADDR;
     }
     else
         load_addr = info->image.start;
@@ -164,9 +170,56 @@ static void __init place_dtb_initrd(struct kernel_info *info,
 static paddr_t __init kernel_zimage_place(struct kernel_info *info)
 {
     const struct membanks *mem = kernel_info_get_mem(info);
+    paddr_t load_addr;
+
+    load_addr = kernel_zimage_place_in_bank(info, mem->bank[0].start,
+                                            mem->bank[0].size);
+    if ( load_addr == INVALID_PADDR )
+        panic("Unable to find suitable location for the kernel\n");
+
+    return load_addr;
+}
+
+bool __init arch_hwdom_first_bank_ok(const struct kernel_info *info,
+                                     paddr_t bank_start,
+                                     paddr_t bank_size)
+{
+    const struct boot_module *initrd = info->bd.initrd;
+    /*
+     * place_dtb_initrd() rounds the DTB and initrd placement to 2MB boundaries;
+     * use the same granularity when checking whether the first bank can hold
+     * them.
+     */
+    const paddr_t initrd_len = ROUNDUP(initrd ? initrd->size : 0, MB(2));
+    /*
+     * The hardware domain FDT has not been generated yet. Use the allocation
+     * size as a conservative upper bound for the final DTB size.
+     */
+    const paddr_t dtb_len = ROUNDUP(hwdom_get_fdt_alloc_size(), MB(2));
+    const paddr_t rambase = bank_start;
+    const paddr_t ramsize = bank_size;
+    const paddr_t dtb_initrd_size = initrd_len + dtb_len;
+    const paddr_t ramend = rambase + ramsize;
+    paddr_t kernbase;
+    paddr_t kernend;
+    paddr_t dtb_base;
+
+    kernbase = kernel_zimage_place_in_bank(info, bank_start, bank_size);
+    if ( kernbase == INVALID_PADDR ||
+         info->image.len > INVALID_PADDR - kernbase )
+        return false;
+
+    kernend = kernbase + info->image.len;
+
+    if ( kernbase < rambase || kernend > ramend )
+        return false;
+
+    if ( !first_bank_can_fit_modules(ramsize, kernbase, kernend,
+                                     dtb_initrd_size) )
+        return false;
 
-    return kernel_zimage_place_in_bank(info, mem->bank[0].start,
-                                       mem->bank[0].size);
+    return find_dtb_initrd_placement(rambase, ramend, kernbase, kernend,
+                                     dtb_initrd_size, &dtb_base);
 }
 
 static void __init kernel_zimage_load(struct kernel_info *info)
diff --git a/xen/common/device-tree/domain-build.c b/xen/common/device-tree/domain-build.c
index f3ba496f1e..2e806c1b09 100644
--- a/xen/common/device-tree/domain-build.c
+++ b/xen/common/device-tree/domain-build.c
@@ -299,20 +299,30 @@ static bool __init allocate_hwdom_memory(struct kernel_info *kinfo)
 
     for ( i = 0; (kinfo->unassigned_mem > 0) && (i < nr_banks); i++ )
     {
-        paddr_t bank_size;
+        const paddr_t bank_start = hwdom_free_mem->bank[i].start;
+        paddr_t bank_size = hwdom_free_mem->bank[i].size;
+
+        /*
+         * Check the size that would actually be assigned, not just the size
+         * of the host region.
+         */
+        bank_size = min(bank_size, kinfo->unassigned_mem);
 
         /*
          * The first bank must be large enough for place_dtb_initrd() to
          * fit the kernel, DTB and initrd.  Skip small regions to avoid
          * ending up with a tiny first bank.
          */
-        if ( !mem->nr_banks && (hwdom_free_mem->bank[i].size < min_bank_size) )
-            continue;
+        if ( !mem->nr_banks )
+        {
+            if ( bank_size < min_bank_size )
+                continue;
+
+            if ( !arch_hwdom_first_bank_ok(kinfo, bank_start, bank_size) )
+                continue;
+        }
 
-        bank_size = MIN(hwdom_free_mem->bank[i].size, kinfo->unassigned_mem);
-        if ( !allocate_bank_memory(kinfo,
-                                   gaddr_to_gfn(hwdom_free_mem->bank[i].start),
-                                   bank_size) )
+        if ( !allocate_bank_memory(kinfo, gaddr_to_gfn(bank_start), bank_size) )
         {
             xfree(hwdom_free_mem);
             return false;
diff --git a/xen/include/xen/fdt-kernel.h b/xen/include/xen/fdt-kernel.h
index 00c37be101..71e2344b97 100644
--- a/xen/include/xen/fdt-kernel.h
+++ b/xen/include/xen/fdt-kernel.h
@@ -93,6 +93,15 @@ kernel_info_get_mem_const(const struct kernel_info *kinfo)
     return container_of(&kinfo->mem.common, const struct membanks, common);
 }
 
+#ifndef arch_hwdom_first_bank_ok
+static inline bool arch_hwdom_first_bank_ok(const struct kernel_info *info,
+                                            paddr_t bank_start,
+                                            paddr_t bank_size)
+{
+    return true;
+}
+#endif
+
 #ifndef KERNEL_INFO_SHM_MEM_INIT
 
 #ifdef CONFIG_STATIC_SHM
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 06:23:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 06:23:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328966.1593173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVNxi-0004Rq-HJ; Fri, 05 Jun 2026 06:23:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328966.1593173; Fri, 05 Jun 2026 06:23: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 1wVNxi-0004Rj-Dk; Fri, 05 Jun 2026 06:23:22 +0000
Received: by outflank-mailman (input) for mailman id 1328966;
 Fri, 05 Jun 2026 06:23:21 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wVNxg-0004Rd-Va
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 06:23:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVNxf-00Ce26-Tu
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 08:23:19 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a226b47-2eae-0a2a0a5409dd-0a2a4508d2e4-48
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 08:23:19 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a226b56-63b5-0a2a45080019-d155802cbccb-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 08:23:18 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-490b4e1ade7so15952005e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:23: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-490bc3cc140sm154524065e9.9.2026.06.04.23.23.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Jun 2026 23:23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780640598; x=1781245398; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=nf9yLnrBFeNuKKQQGzkZUzGc6CQEd4uHWzs2/C+fjgQ=;
        b=W8ZJfIeTNrN2Tl5E0o5xJv1BAKAQNMD4lou322tZHpoNT/O23Xs6Lf0K3L2K67zkgR
         mMuPloi2icz36uRzbkBypGsiHtJbCXSGd8/4PiSqVgRLa9asIn+H6K9amHXqfatcDa0Y
         G9HgiuhiPTUPoQRMAZe3WVX4iOijSscLgkHoIvsSn85FUQxMSJ8Awe302PSY71Y2fUdW
         AUUB9b3kX8seUUREekw2aBswl3sTAaXpQ/WTf6P4rJCeiGEa33Qt10WU4miMfLqh6XLh
         tivKF5HqdFYJ16mJB+oSgrwwIOBpQrkpwI/uJ8IHNLt1JIcZVtfarlrrlZAJAC/LiUrm
         1Ntw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780640598; x=1781245398;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nf9yLnrBFeNuKKQQGzkZUzGc6CQEd4uHWzs2/C+fjgQ=;
        b=pKty+kaKYGX2d5fW2Aa6dt5jDoCQhZeg6wFRVQvpi1Tjc0erDNrDsKMOGP6OLIDqx2
         Tk94G7Rr0V5h/Hj7f6mRoz+cbl5nZBzNk4lrlLY1XIDAZQggaJ0STpf+gtugDh1dAvgM
         HzDYxLwsvpfdhUAaESWI8zs70lVxJ1eCuEmoCvIlg9uyaF1RdbjGpIh+klu2gucF0DSJ
         K0GfTxEsGQOglsvSQY2IkVqx06fOMjj72Z/mS8rUbbQCmyyQJX37MxoujNvUOoGsHznQ
         fGIP/7lDdqlGFfxtwUArouackuE6dl7wbCBWk240aUi5tLo2Vq/iXqGWowsKY0LQcPoF
         WOIw==
X-Forwarded-Encrypted: i=1; AFNElJ9STkBnGHIhhpcIiOwPNgtlshXBPT8iZg1KEUXaajiA94RIvMuEEvKAJkNIQ9gMonsvuNhV8/N1LBU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxsm9ljSr7Hqn6y9+tfXlymelbnVU/XxJg6+ijNTiiNw7n8fwuv
	kDsovcT0TSSQiczXPRSYGXvLcl/C7eqwAH9OZsMKyfTr6zL0zkSnP+jPTeuvIwKNKg==
X-Gm-Gg: Acq92OEDrEuHu7T89Rn4h70Pt4NqZqeyoVq2I75TPPEIe2hJPxbYQRZahm7qbVNw89M
	iU0ugYgmPAELnH9VNM8GXdOzQCl5A/xJu4P6uRhoEDidG9Ew7a+XBCfw8sFtWY04+ZraSIjwL0E
	hs08vdCZvq9xiQHT5kRK/swOv0B/PsVTQtPe6iaYVy+a0g+HVsAW9yJN5v24NBt1gYPpxAqW+/S
	gF5eQENa2REEOmVxTzyLRz1kdkUJHYDKahEbobDlmBgSr2+RFB8KaKkF3GVuvPJyIX3hY+Quizb
	Vqd0y0Vmw+M05gV2ZRjQeyHCkT1Xc27G0YaYgQXT2lcPRkjNCOPhxDitVQyk1Htd/gSUwOiyTUP
	N59+Up/qU34ozmwW+S+hQVHAY0J76ffFyhbLBTTtsUQ3YaKYTIyp6UeIvTeVQokjO13hJiXsD4l
	RUAOK2H/Zl/qKXMLbNKE0bL4rZPaDzbSdR/KuXYMewd8OWjncwUiMyZPUzMwwJnhreXLPXKInZS
	GyOdxpVMAlAdt++H2wQ5zJfAA==
X-Received: by 2002:a05:600c:c491:b0:490:bb44:3f8b with SMTP id 5b1f17b1804b1-490c2605385mr26470945e9.17.1780640598087;
        Thu, 04 Jun 2026 23:23:18 -0700 (PDT)
Message-ID: <029a2474-775b-4846-90b5-26509c2bb655@suse.com>
Date: Fri, 5 Jun 2026 08:23:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 0/6] argo: few log fixes
To: dmukhin@ford.com
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org,
 xen-devel@lists.xenproject.org
References: <20260604214926.1735194-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: <20260604214926.1735194-1-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c1860d/1780640598-BEB74DB1-53344103/0/0
X-purgate-type: clean
X-purgate-size: 1332

On 04.06.2026 23:49, dmukhin@ford.com wrote:
> This series corrects Argo module tracing.
> 
> Patch 1 lowers the verbosity of a spammy log message.
> Patch 2 corrects the debug logline.
> Patch 3 cleans up existing loglines by dropping duplicate prefixes.
> Patch 4 re-wires argo_dprintk() to gprintk() to include mode debugging
>         context.
> Patch 5 adds new Kconfig for short-circuiting extra verbose Argo traces.
> Patch 6 enables extra verbose Argo traces in CI for ease of catching
>         potential issues.
> 
> CI: https://gitlab.com/xen-project/people/dmukhin/xen/-/pipelines/2577682899
> Link to v5: https://lore.kernel.org/xen-devel/20260603194131.1468654-1-dmukhin@ford.com/
> 
> Denis Mukhin (6):
>   argo: lower level of noisy connection-refused log
>   argo: correct logline in ring_unmap()
>   argo: drop argo prefix from argo_dprintk() calls
>   argo: fixup argo_dprintk()
>   argo: introduce CONFIG_ARGO_DEBUG
>   automation: enable Argo debugging in CI

I understand you want to be helpful with sending these updates in rapid succession.
Yet as (attempted to) hint(ed) at before, please either do it properly or leave it
at "committer can do minor adjustments", when that was offered. This time round you
lost Oleksii's R-a-b. But no, please _do not_ send a v7 for that.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 06:27:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 06:27:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328978.1593181 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVO1v-0005QP-0X; Fri, 05 Jun 2026 06:27:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328978.1593181; Fri, 05 Jun 2026 06: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 1wVO1u-0005QI-U0; Fri, 05 Jun 2026 06:27:42 +0000
Received: by outflank-mailman (input) for mailman id 1328978;
 Fri, 05 Jun 2026 06:27:41 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wVO1t-0005QC-QE
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 06:27:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVO1t-00HUJk-6w
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 08:27:41 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a226c54-bab6-0a2a0a5309dd-0a2a4502e81c-26
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 08:27:41 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a226c5c-af86-0a2a45020019-d155802ac59c-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 08:27:41 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-490ae94a89eso12884415e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:27: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-490bc23394asm127474535e9.0.2026.06.04.23.27.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Jun 2026 23:27: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780640860; x=1781245660; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=3rZfdlS7fSzq382SRlUw/Dg6cNT9KtppY8c17+2RtIU=;
        b=EVW1VYJGIyVyMkbSE/YOr4PyfS2X9igC3ysBvK6VFhBXGw0Ko5g4ctnqrqdxrylRvJ
         Jum9fjDeRf99/4MOdowHX26ggxYE8z6hSo8zKlrOsc1UDgwc89lt+C08n+2h49mHihAZ
         XsRYHB7RWUTz9Yvov+4/C2wvHsO+/4BfAG4VwGyuZKJaWWTEgO5pUSvFVcpbtYtMV3+W
         b3cBh48a89cdQeGWXOTqA/2TIj3843E7smGuDCgqLpzdBnUKizOE1dgtqkK7VBndXHxV
         ECH5NaZ/qi7dxE2uUM6woF9eGykopucTt7BfcjVp23v4RcycgeTJRapRijP1wV9yulci
         9wxg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780640860; x=1781245660;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3rZfdlS7fSzq382SRlUw/Dg6cNT9KtppY8c17+2RtIU=;
        b=bIZEnmjHvAlWFL4UrOzwLZiENbmRnqHT8CayWBfZleY5q/rIfzV8WHKR14F4ebNqse
         c4Rh37GbPLxeU33JMnKr8tRlO3Td9f/xm/3MAz8/NUvTCOudGcuti6mniPX90GtlX/RE
         m3cHWxEhhUi1AoXb+t2byXgsy9DSdz3qK+G8nPU8xtrEgByyfSu+WwY1hSNCCx1npEBV
         xHpnaiEeiE5gSLFhho6EtzJ0wFyIXXFbt1FNywA+NvI4vEKQPQoFcIgTbBhg995aRb7m
         g2AR2ncFS0AgGDqfjvnOySA9WoUoff3foh6AjZpHK40QqJ8QE5zyXhQFBpbt7MEinwcR
         WLEA==
X-Gm-Message-State: AOJu0YwMdZXPE3qzb0Faa+oPYNA8UAX+CxtdwvGcOwDymYIEFbKpKMGB
	OBmPP/eks+w9CZg27HxWmkurmYgK1UKNnNrNa3zv5SZH78mA9/g9NLoQ7beq0P+gQQ==
X-Gm-Gg: Acq92OGym+whIqYWMKVPbk0oImNhV9aDyJk+Rskyav9q2PlCGjhqaHdA+t8hRuxDQuL
	UV1kIqO/u6MuRXv+sEKpe0R2JCY3O9IslAgMveseDpMezlpDewJ1YciGBo/g447PB6asXkCSiSF
	IUP9DZV08yEsZy2P2TrN66DAmOwPzriD9n2yeeXsnetAlcAwK6xzVaL1CZ+MI0dR6UZ+Zgz3qNe
	a4RpBT3/5EQQb+37/i/m3477lryA4kMGqu1aODW6964odvupuariVFVNRbTjmW3odUgZ2zwRJsD
	p2mhNy9o3SfDU1AAhGmuUpzNNvjf3tcQoMbXPAariQIJOv1u/q7D4n3yQbr0P8BBwFxyTe9ZWE4
	qk4yubW2kevjWS/79QZBo1+Ae9nVs60QYbqksCyxHyNIreDKDM6CJkpAjWp39P+sU2hxJKZlJYI
	TeGq8JTC5nkEweOZYhDJvjW4t87+esaS3tb0jauljg7v0bQuCbgi4Rec0IfiWlJsXPaX/OEJmr6
	ajsz9h06UFswkOOMxeBv2bsMQ==
X-Received: by 2002:a05:600c:628c:b0:48f:e26a:1744 with SMTP id 5b1f17b1804b1-490c25a87f5mr26115385e9.9.1780640860463;
        Thu, 04 Jun 2026 23:27:40 -0700 (PDT)
Message-ID: <586a6225-e68a-4f84-b4c3-0b0a780946ed@suse.com>
Date: Fri, 5 Jun 2026 08:27:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] MAINTAINERS: Add myself as an Argo reviewer
To: Christopher Clark <christopher.w.clark@gmail.com>
Cc: xen-devel@lists.xenproject.org,
 "Daniel P . Smith" <dpsmith@apertussolutions.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>,
 Jason Andryuk <jason.andryuk@amd.com>
References: <20260604184413.788910-1-jason.andryuk@amd.com>
 <CACMJ4Gbi315aQZ0qE8+f3JJXyaRvva2vxmiH5-iXtiPKk+039w@mail.gmail.com>
 <CACMJ4GaZ843wx4J+GL8i=p-thg7jGgR57=JUEUHVuZ_N3Q8zMg@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: <CACMJ4GaZ843wx4J+GL8i=p-thg7jGgR57=JUEUHVuZ_N3Q8zMg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1780640861-83B60161-BA498A0D/0/0
X-purgate-type: clean
X-purgate-size: 825

On 05.06.2026 00:04, Christopher Clark wrote:
> On Thu, Jun 4, 2026 at 9:27â€¯PM Christopher Clark
> <christopher.w.clark@gmail.com> wrote:
>>
>> On Thu, Jun 4, 2026 at 7:44â€¯PM Jason Andryuk <jason.andryuk@amd.com> wrote:
>>>
>>> I'd like to help with reviews of Argo.
>>
>> Thanks, Jason, appreciated.
> 
> Sorry to do this - I am grateful for the offer, I just need to consult
> before making a change here.
> 
>>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> 
> I'm asking for my (previous message) R-by tag to be held for just now
> - sorry for the earlier rushed reply.

I'm irritated: Jason adds himself as R:, not M:. I'm having a hard time seeing
what issues could arise from about anybody wanting to be added as R:, let alone
people well known to the project. Please clarify.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 06:28:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 06:28:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1328984.1593191 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVO2Z-0005vv-D0; Fri, 05 Jun 2026 06:28:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1328984.1593191; Fri, 05 Jun 2026 06: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 1wVO2Z-0005vo-8z; Fri, 05 Jun 2026 06:28:23 +0000
Received: by outflank-mailman (input) for mailman id 1328984;
 Fri, 05 Jun 2026 06:28:21 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <xakep.amatop@gmail.com>) id 1wVO2X-0005vU-LZ
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 06:28:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVO2W-00CCT4-Ta
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 08:28:20 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a226c7a-5cb7-0a2a0a5109dd-0a2a4508919e-18
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 08:28:20 +0200
Received: from [209.85.208.175] (helo=mail-lj1-f175.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a226c84-63b5-0a2a45080019-d155d0afe577-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 08:28:20 +0200
Received: by mail-lj1-f175.google.com with SMTP id
 38308e7fff4ca-3965adfd75fso15359801fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Jun 2026 23:28:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780640900; cv=none;
        d=google.com; s=arc-20240605;
        b=QzTZTWkiYMsLwYhs9nRTXiQOn4XImw3bridaKpC5Ek8yOtV9Dbq/0bGeq+2Tvf8J3P
         4UbTmUJqkorS+5xKCoBzmQ2wCip1FZEdhpd9vQCSeWruuZwGmMDkQRasp7syq5kNxHr4
         jyyyDqN3NutVXIVEmcCtiC9X+Iy99sGar5yWRfMTuLEp3IVVc9aWExBHvdzESPvtcL/6
         apgRjpfGQyje2yumLD1KjRmobH11xLil0rC1ydKsEqMbTw5hw/UHrWILXf3+8Mvbq8uu
         XUxPl1Bv1SnOgunOoMFS9fbywfF2lP5zCANkbCQ23Sdo18NUJsDzSeqUZ/LedEX35bw6
         wmPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=/oCNZLE/K3U6qPejGN84fuk45IouiDXzR/jwLXvlg8o=;
        fh=/pLqMcdRjf/dorfJRN20J2cLl73oSdosS5LwTck84O4=;
        b=C0XLyXGWi6tIbTlNoNLWjMocSbcjw71+JXBBLi9xIBn1f4UzbEL+KcvHR120Tyqma7
         r86gLXF3brnXk1YyMdmw01/MfHL+pSo+LqGh454OmoKm/ymJjaxyJQQCdUJNWDUDgFta
         oStQr0Nl4Uld2rXPp/dZOURaLbxrGuv5oaCt5NkKc4T1Rq/5YNZAZYX27WDNhs5ni9Q5
         kGcj1j1e/l1vJCawYwHSW3KNitWpsCFGxD4P6kSXkbG4OebyDr2MSo8B1sAPA+7hWqM0
         0McKZJHl6UYyxuJJXQiT8ZU4HMCzPjjEUjUV6Ge6m4H894tRYLmk0S1peLOgdNFeapZZ
         rMjw==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780640900; x=1781245700; 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=/oCNZLE/K3U6qPejGN84fuk45IouiDXzR/jwLXvlg8o=;
        b=h74l046ZRE589/P3nixyqO0HdgIAhOqfY6Cka2mufncPOM4Q+HewXvQsFwIvrhV2NY
         hf57Zcms2Pd74j2Tj5c1SbFgsvcX8+QP6cwfF/7clzRnxBi28ziVkXeSUuuWFD9YdWyU
         /xw7NfwmiicwOO4ko3O8D2kw3stgDwOUbIAVshUt1Hb/Q+BdRwdaaRFUaxeuiAXHssJN
         +EVeDOAdVyLVEJRV2VQ1BC5Gvj7DJB12kj1BiUp4fClBdpf0U1evmgf4SdxvmsZpnQmz
         ZP+Yor+/+rzMZxQKAdA+941EWB1tixlk1CZIK9NxKnSap77k+QB14qPD607DnuMqV/Dx
         tAtg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780640900; x=1781245700;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=/oCNZLE/K3U6qPejGN84fuk45IouiDXzR/jwLXvlg8o=;
        b=NEWeiE0FkhLmqIsBcvkCSBCYyNUPs8L+99pv1HtziQFjOwZee6pSpuso7gGKSCmXgo
         Sq0bXC2db7RFPZ8L3QRBgAjOsUi8XTVg/UGvTe6yNSmwFGXT8tAULk0K108PeFpLG2yO
         HpEW4SeW+2UFLAJMZurXRPEgzE7GyniaVAWCMEl3xpgegN2gbH1yG2uRyaVvAAlacMhE
         7JfsfKD/WRhyvy4VMv1LzJkVxadq2s/NYnuLYizwpZjx96x/Q+7f6iPsiL4VX9RiMdU3
         CH4VvgOsWmD0UU85hUdWMtTh80VbBXn2vVe99gyGoW49jLYWW1hNJY+Z0qwxnnC3axmR
         maGQ==
X-Gm-Message-State: AOJu0YxzS+AZsJs2JvEEt95BIlHupkzLxXs2ocLhzUSFtiKkmF9/n3t8
	g3yZNHxUqnASHMA1LBp56qhU9m+jEBlYzBPlqeTfQxLQwDmJs7KxhtMMHfFz1Uw79Acq+aB1c7h
	xehIHkAJQXOFh1f+GWBIyURYe5A2ybfE=
X-Gm-Gg: Acq92OFrbkR1T6TO1cAxd+Ru5Q0IDRdiOTC3fdmNubQMRbzMtvo7z6x83DDB6uE0mYv
	rKq7+3a97ClpPV8+jfi9sz/yNX6Jhoe4EIUDgcjhTf1PiCBeMmDkFnotGdpKrBJ6JoXnNa45ADE
	VMZukd1pf4cabdUolATrBIreNdJHb23w4S1CxmkKfYQs8HcdKZz5YYHAZtHNgO47VQNl0EfKxsm
	INz7r6xtb61ixPhWBTVxbbZxkFe55NUMw6vJIbVnui4cgE7tuQKOTf5dgGh1odQT70XRDQaaR2Y
	CBjk44zOiVWwwSnj
X-Received: by 2002:a2e:9a16:0:b0:396:a6d3:f04d with SMTP id
 38308e7fff4ca-396d0895474mr5404621fa.14.1780640899332; Thu, 04 Jun 2026
 23:28:19 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1779922874.git.mykola_kvach@epam.com> <112419d3ea48ca328849c8f6647909d3eb667b40.1779922874.git.mykola_kvach@epam.com>
 <a2f1164d-ade6-4355-95da-f8c246613e9f@gmail.com>
In-Reply-To: <a2f1164d-ade6-4355-95da-f8c246613e9f@gmail.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Fri, 5 Jun 2026 09:28:07 +0300
X-Gm-Features: AVHnY4KrmWUg65ssLuGVAd4qOpuB1dKMGoxvQbkjqbTZeMvyAxUiMs4R4MeCAeg
Message-ID: <CAGeoDV9PfXYNDCOWv7HYUi8-C-27rwFOXxZVcsG3UvKdLt0FHA@mail.gmail.com>
Subject: Re: [PATCH for-4.22 v2 1/4] xen/arm: gic: defer host LPI allocation
 until after ITS init
To: Oleksandr Tyshchenko <olekstysh@gmail.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>, Luca Fancellu <luca.fancellu@arm.com>, 
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-c1860d/1780640900-BCB64DB1-D31C0D3F/0/0
X-purgate-type: clean
X-purgate-size: 6795

Hi Oleksandr,

Thanks for the review.

On Wed, Jun 3, 2026 at 2:19=E2=80=AFPM Oleksandr Tyshchenko <olekstysh@gmai=
l.com> wrote:
>
>
>
> On 5/28/26 03:25, Mykola Kvach wrote:
>
> Hello Mykola
>
> > From: Mykola Kvach <mykola_kvach@epam.com>
> >
> > gicv3_lpi_init_host_lpis() allocates host LPI state, including the
> > host LPI lookup table, CPU notifier state and the boot CPU pending tabl=
e.
> > Those allocations use gicv3_its_get_memflags().
> >
> > ITS workarounds are discovered from gicv3_its_init(), so allocating hos=
t
> > LPI state from gicv3_dist_init() can happen before the memory restricti=
ons
> > required by the ITS are known. On affected systems this can leave
> > Redistributor LPI state allocated and programmed with the default memor=
y
> > policy.
> >
> > Move host LPI initialization after gicv3_its_init(), and only run it wh=
en
> > a host ITS was found. The old call ignored the return value. Now that t=
he
> > call is made from gicv3_init(), check it and panic on failure because
> > Redistributor LPI initialization relies on that state being available.
> >
> > Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> > ---
> > Changes in v2:
> > - Replace the v1 ITS pre-initialization hook with the less invasive
> >    approach suggested during review: move the existing host LPI
> >    initialization after gicv3_its_init().
>
>
> Just for the context: The original review suggestion [1] was to consider
> splitting gicv3_lpi_init_host_lpis() and defer only the portions that
> depend on ITS quirks being known, specifically the allocation of the
> per-CPU pending table for the boot CPU (gicv3_lpi_allocate_pendtable),
> which is the actual consumer of gicv3_its_get_memflags(). But here, the
> whole gicv3_lpi_init_host_lpis() is moved, so the scope of the deferral
> is broader.
>
> [1]
> https://patchew.org/Xen/cover.1774431310.git.mykola._5Fkvach@epam.com/a77=
32487959e777ff1de318cb28c588db69fbaa1.1774431311.git.mykola._5Fkvach@epam.c=
om/
>
> > - Check gicv3_lpi_init_host_lpis() and panic on failure, matching the f=
atal
> >    nature of host LPI setup once ITS initialization succeeded.
>
> So, this patch appears to fix two distinct issues:
>
> - ordering issue (LPI init occurring before ITS quirks are known)
> - unchecked return value from gicv3_lpi_init_host_lpis()
>
> Should these warrant Fixes: tag(s)?

Yes, I agree that the patch should carry Fixes tags.

For the ordering issue, I think the relevant tag is:

Fixes: 751ec850ec1d ("ARM: ITS: implement quirks and add support for
Renesas Gen4 ITS")

For the ignored return value, I think the first commit where this became
observable is:

Fixes: dcb6cb263689 ("ARM: GICv3 ITS: introduce host LPI array")

The original call site already ignored the return value, but at that
point gicv3_lpi_init_host_lpis() could not fail in practice.
dcb6cb263689 introduced the host LPI array allocation and made the
function return -ENOMEM, so the ignored return value became meaningful
there. Later, 69589c374a92 added another meaningful failure path through
the boot CPU pending-table allocation, but dcb6cb263689 seems to be the
earliest commit where the return value became relevant.

>
>
> > ---
> >   xen/arch/arm/gic-v3.c | 14 +++++++++++---
> >   1 file changed, 11 insertions(+), 3 deletions(-)
> >
> > diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
> > index 17ff85ef5d..acdac22953 100644
> > --- a/xen/arch/arm/gic-v3.c
> > +++ b/xen/arch/arm/gic-v3.c
> > @@ -764,9 +764,6 @@ static void __init gicv3_dist_init(void)
> >       type =3D readl_relaxed(GICD + GICD_TYPER);
> >       nr_lines =3D 32 * ((type & GICD_TYPE_LINES) + 1);
> >
> > -    if ( type & GICD_TYPE_LPIS )
> > -        gicv3_lpi_init_host_lpis(GICD_TYPE_ID_BITS(type));
> > -
> >       /* Only 1020 interrupts are supported */
> >       nr_lines =3D min(1020U, nr_lines);
> >       gicv3_info.nr_lines =3D nr_lines;
> > @@ -1990,6 +1987,17 @@ static int __init gicv3_init(void)
> >           res =3D gicv3_its_init();
> >           if ( res )
> >               panic("GICv3: ITS: initialization failed: %d\n", res);
> > +
> > +        /*
> > +         * Host LPI allocation uses ITS-derived memory attributes, so =
defer it
> > +         * until after gicv3_its_init() has discovered ITS workarounds=
.
> > +         */
> > +        if ( gicv3_its_host_has_its() )
>
> This looks like a behaviour change. The condition is narrowed from "GICD
> advertises LPI support" to "host ITS is present". As a result, on a
> system where GICD_TYPE_LPIS is set but no ITS is present, LPI-specific
> variables and data structures will no longer be initialized or
> allocated. If I am not mistaken, software-generated LPIs without ITS
> involvement are currently unsupported, so this change might be safe.
> However, I think the commit message should explicitly document this
> behaviour change and explain why it is safe.

Regarding the behaviour change: yes, it is intentional, and I agree that
it should be documented in the commit message.

The patch narrows the condition from "GICD advertises LPIs" to "a host
ITS was discovered". Xen currently has no supported LPI path without a
host ITS: gicv3_lpi_init_rdist() already rejects that case with
-ENODEV. Therefore, on systems where GICD_TYPE_LPIS is set but no host
ITS is present, deferring and gating gicv3_lpi_init_host_lpis() only
avoids allocating host LPI state which cannot be used by a supported Xen
LPI path.

The CPU notifier is registered from gicv3_lpi_init_host_lpis() itself, so
when host LPI initialization is skipped for the no-host-ITS case, the
secondary-CPU pending-table allocation path is not enabled either.

I kept the whole gicv3_lpi_init_host_lpis() deferral in one piece to
keep the 4.22 release fix small. Splitting out only the boot CPU
pending-table allocation would be possible, but it would make the fix
more invasive.

If the patch is otherwise acceptable, could the Fixes tags and the
clarification below be folded into the commit message when applying it?
Otherwise I can send a v3 of patch 1 only with just commit-message and
trailer updates.

Suggested commit-message fold-in:

This also narrows the condition for host LPI initialization from
"GICD advertises LPIs" to "a host ITS was discovered". This is
intentional: Xen currently has no supported LPI path without a host ITS,
and gicv3_lpi_init_rdist() already rejects that case with -ENODEV.
Therefore, on systems where GICD_TYPE_LPIS is set but no host ITS is
present, skipping gicv3_lpi_init_host_lpis() only avoids allocating host
LPI state that cannot be used by a supported Xen LPI path.

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 07:12:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 07:12:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329005.1593208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVOj2-0005dr-JL; Fri, 05 Jun 2026 07:12:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329005.1593208; Fri, 05 Jun 2026 07:12: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 1wVOj2-0005dk-Gf; Fri, 05 Jun 2026 07:12:16 +0000
Received: by outflank-mailman (input) for mailman id 1329005;
 Fri, 05 Jun 2026 07:12:15 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <xakep.amatop@gmail.com>) id 1wVOj1-0005de-9M
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 07:12:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVOj0-006VXF-AW
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:12:14 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a2276cb-e002-0a2a0a5209dd-0a2a4502831e-14
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:12:14 +0200
Received: from [209.85.208.171] (helo=mail-lj1-f171.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a2276cd-af86-0a2a45020019-d155d0abb42d-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:12:14 +0200
Received: by mail-lj1-f171.google.com with SMTP id
 38308e7fff4ca-396771119c4so16608941fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 00:12: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780643533; cv=none;
        d=google.com; s=arc-20240605;
        b=iDKpB43PG3eG5VZ+/mIrtmoBG5ec3C30Q49t+EUhZ38tpR/w52jo5G+DbPM4t2G1nR
         Qoknf6FsWgPjVymsPxpVpjiQOtGeLXtXlFOuVgREur3bKQtMZBGPfvHE2H9CHew+qKyd
         /QBCwwKjw1J6JyTw7ksz0dwhB3LOBeudrMqPo39wauTxmNoUs1WnsuC89NoaUOSpx+gg
         GwZN/c9hHT0f60q50VFNOY19fr7pe4BxqLTvrQYr+9u+n0oU8EAHTvoZwnxmGVWmchWB
         KGufwMNPesZbenq5TqfC3tMA8BUQpMiB1vTly+R+qVu/vreU3062wFoSs/NFkeD+GRo1
         1L6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=mYFbb7C6u57y5axG8xnN/AuKPSXpj2CSm8obC7VqplY=;
        fh=SpUAnj1XB8QFKdJ6Rvxlh85+C2bUr+7pUalEaLFIf8I=;
        b=CDxPAB2cYPuOJZuugeI/HU6G8cDC0NnQc7TcaAXpwUjHdG46JlK4EjXHanqTva8Ykp
         7WQ4MFp1qZmCcU54fGMXDn27+xgpj2uKp9HeJF0plZ34FwL94bBkqFte7hPWe52JfnaC
         jlWGGGntdTzKPc1Zy36ou1KN/WR+jEgAgoggRgIIPtdiqS5Z/+izPPc7kIjS9yJavXFC
         OGJo4hJP/DCSwPgwTC+53AF7XIgBRrtfhlcKueP9exBZKW4b9i09N5S6SAlQHl5LKMTn
         mO6TIHMAaPbiGYpDftoLCTzsbDFbyLRCORIycx4mnp+l9+s8/Rvi2VQfVHs/mOlhv+ls
         iy8A==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780643533; x=1781248333; 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=mYFbb7C6u57y5axG8xnN/AuKPSXpj2CSm8obC7VqplY=;
        b=IaZ4EN6DPw7oXXOMg6YEdiDQwfBPAgnGqscAgcNip8iWr3J4ZvMysZDQ6LHQvFdRq4
         izeHIlCGi5HqQZNywIPy/BxFwH1X34Nnmn7Fw25Ktx88Lz4dNdWn9egi3Qto0czYMJYA
         hV/x8PyG6/b0Gel37O8ovqg5b9yDQnhjxKovQLfqjFA5U2ylkVOe3hCfLBqvHeWsv3wM
         3ogP1jQVGkvUFCkMbXiejc6+gX00Pzkjh98/jg6n7xIeDXkiRhhX/WNXfx/eYAXw0DFb
         CkIdQuf/II5XXHECw3iqlSEbWgZlXvr1JPEJNBFy0W7wM9vBOK6JThAtICZPKnLneit9
         qSoQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780643533; x=1781248333;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=mYFbb7C6u57y5axG8xnN/AuKPSXpj2CSm8obC7VqplY=;
        b=q5vSvlbJX+HulyudeKjVsLsijORqBskGCVor37vadWhjNq22EbbzujDjn9tQd0ruVT
         U18zbuVSJlgt7vxMNvnjHPaJOei6vNwSE7QjDuYyqEY5RhbHIQlpJ3T66syKOB9yw0ay
         cZUocxLo+B/si0TYqOcyzWAdCaUZ2bTDOGSxUmcOvMSyEuN9nds+4B6IwskBzosLs63/
         Afb0W9ZMxZ4Vyv8V4A5J4dRt5jBkYkGbV6qjCzzxSfLJXwdRuM8PIkRxdjrk8ButbPvt
         eoRCKqhMSEbe9YKn7GJDR3xPcXCsC94frmVZCbwWI0BcuPvwwelHwE4bAPnGahTc35vr
         uEYw==
X-Forwarded-Encrypted: i=1; AFNElJ90gjYPIc9DqzoiW+EHg4XmYgcQ74IufyMtPmCR+b9he4/UdfHkWpY+3ObKjrYEn+YghUnxyFe7nlU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxey4qgAnEMzm/49x0G1BT+bMhoQWxMELD85/iRbAyeGwgEq6yP
	8JgMAUEUi2ZjudE3Xv1XQT3y4UXwRbljpnKzjb70K4jSRyeAlE9Q4CCqmnWLMe9zlcyPaWKibev
	yMA6Ru2LW4Kn6/y7LiXU2J6jd/02hTdo=
X-Gm-Gg: Acq92OESOU2jEWrgaVtA8yzR4KrFTn8GAm2vm0GIRwpQuMiY/7Xe5WhCbdOUVe6ey+/
	NMK0VsMb16t+1iPnNP457td64vOP9piYTQrItEX0GHzByXAPUBvdRpjG3bl0VKm6YFW+Sh1KFKx
	vhi/V25B9OFL4J8sBhsnqHVHF9DKhBKjW4TqthBeDbCJ3jsASKW+buhR8YZvKuxom2kydUv73oG
	OTEPybJv5lU+rasDli2U9ojOsY/FwuwBnSvwoJxXdxA613Q1TBSyrhIFzkyeKBbbpxSOgZrIacK
	N24KL0+viaN2gsh0jTGwATQtWM8=
X-Received: by 2002:a05:651c:2229:b0:396:881d:ef32 with SMTP id
 38308e7fff4ca-396d095ac03mr7577581fa.10.1780643533126; Fri, 05 Jun 2026
 00:12:13 -0700 (PDT)
MIME-Version: 1.0
References: <a32975d6d5a565690ec9b9f3619a98c4362da95b.1780124807.git.mykola_kvach@epam.com>
 <621305bb-1df5-4185-8690-da7b05548817@suse.com>
In-Reply-To: <621305bb-1df5-4185-8690-da7b05548817@suse.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Fri, 5 Jun 2026 10:12:01 +0300
X-Gm-Features: AVHnY4J9fGKyEgoB_svKYrNQA4idNpRm2BuAY3DeUGZMn3la1NnCX5abIfvVNcs
Message-ID: <CAGeoDV8bivtEKDJVgmsxbodEgn=SzJ=wR+bdzf6S7MfFh8jmCA@mail.gmail.com>
Subject: Re: [PATCH v3] xen/domain: make shutdown state explicit
To: Jan Beulich <jbeulich@suse.com>
Cc: Mykola Kvach <mykola_kvach@epam.com>, Paul Durrant <paul@xen.org>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, Anthony PERARD <anthony.perard@vates.tech>, 
	Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Tim Deegan <tim@xen.org>, 
	Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>, George Dunlap <gwd@xenproject.org>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-720697/1780643534-A917D161-730599B6/0/0
X-purgate-type: clean
X-purgate-size: 4548

Hi Jan,

Thank you for the review.

On Wed, Jun 3, 2026 at 3:46=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wrot=
e:
>
> On 30.05.2026 09:23, Mykola Kvach wrote:
> > From: Mykola Kvach <mykola_kvach@epam.com>
> >
> > The shutdown flow currently uses is_shutting_down and is_shut_down to
> > represent the domain shutdown lifecycle. The two flags are not mutually
> > exclusive: after shutdown completion is_shutting_down remains set until
> > domain_resume() clears both flags.
> >
> > Replace the two booleans with an enum domain_shutdown_state. Keep
> > domain_shutting_down() as the direct replacement for the old
> > is_shutting_down flag: it is true once shutdown has been initiated and
> > remains true after completion, until domain_resume(). Add
> > domain_shutdown_completed() for users that need the final completed
> > state.
> >
> > This makes the state transition explicit while avoiding a semantic spli=
t
> > between "in progress" and "completed" at call sites where the old code
> > only cared that shutdown had started and had not yet been reset by
> > domain_resume().
> >
> > Suggested-by: Jan Beulich <jbeulich@suse.com>
> > Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> > ---
> > Changes in v3:
> > - Keep domain_shutting_down() as a direct replacement for
> >   is_shutting_down: true from shutdown start until domain_resume(),
> >   including after shutdown completion.
> > - Drop domain_in_shutdown_state().
> > - Make old is_shutting_down conversions mechanical again; use
> >   domain_shutdown_completed() only for old is_shut_down users.
>
> And indeed this is now much easier to reason about, correctness-wise.
>
> > @@ -442,7 +442,8 @@ bool shadow_prealloc(struct domain *d, unsigned int=
 type, unsigned int count)
> >          count +=3D paging_logdirty_levels();
> >
> >      ret =3D _shadow_prealloc(d, count);
> > -    if ( !ret && (!d->is_shutting_down || d->shutdown_code !=3D SHUTDO=
WN_crash) )
> > +    if ( !ret && (!domain_shutting_down(d) ||
> > +                  d->shutdown_code !=3D SHUTDOWN_crash) )
>
> Please can this be
>
>     if ( !ret &&
>          (!domain_shutting_down(d) || d->shutdown_code !=3D SHUTDOWN_cras=
h) )
>
> ? Overall less indentation and fewer pending open parentheses at line end=
s.

Ack.

>
> > --- a/xen/arch/x86/mm/shadow/multi.c
> > +++ b/xen/arch/x86/mm/shadow/multi.c
> > @@ -2370,7 +2370,8 @@ static int cf_check sh_page_fault(
> >       * already used for some special purpose (ioreq pages, or granted =
pages).
> >       * If that happens we'll have killed the guest already but it's st=
ill not
> >       * safe to propagate entries out of the guest PT so get out now. *=
/
> > -    if ( unlikely(d->is_shutting_down && d->shutdown_code =3D=3D SHUTD=
OWN_crash) )
> > +    if ( unlikely(domain_shutting_down(d) &&
> > +                  d->shutdown_code =3D=3D SHUTDOWN_crash) )
>
> While at it please correct the bogus use of unlikely() as well:
>
>     if ( unlikely(domain_shutting_down(d)) &&
>          d->shutdown_code =3D=3D SHUTDOWN_crash )
>

Ack.

> > @@ -2494,7 +2495,8 @@ static int cf_check sh_page_fault(
> >           && ft =3D=3D ft_demand_write )
> >          sh_unsync(v, gmfn);
> >
> > -    if ( unlikely(d->is_shutting_down && d->shutdown_code =3D=3D SHUTD=
OWN_crash) )
> > +    if ( unlikely(domain_shutting_down(d) &&
> > +                  d->shutdown_code =3D=3D SHUTDOWN_crash) )
>
> Same here then.

Ack.

>
> > @@ -382,6 +382,12 @@ struct domain_console {
> >      char buf[256];
> >  };
> >
> > +enum domain_shutdown_state {
> > +    DOMSHUTDOWN_none,
>
> This likely deserves a comment, as it has to remain first (with value 0).

Ack.

>
> > +    DOMSHUTDOWN_in_progress,
> > +    DOMSHUTDOWN_complete,
> > +};
>
> We further may want to make this a packed enum, such that ...
>
> > @@ -552,10 +558,9 @@ struct domain
> >      struct rangeset *iomem_caps;
> >      struct rangeset *irq_caps;
> >
> > -    /* Guest has shut down (inc. reason code)? */
> > +    /* Guest shutdown state and associated reason code. */
> >      spinlock_t       shutdown_lock;
> > -    bool             is_shutting_down; /* in process of shutting down?=
 */
> > -    bool             is_shut_down;     /* fully shut down? */
> > +    enum domain_shutdown_state shutdown_state;
>
> ... it occupies only a single byte here. We could then fit three other
> booleans (or alike) next to it.

Ack.

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 07:13:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 07:13:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329009.1593217 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVOk7-00069p-ST; Fri, 05 Jun 2026 07:13:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329009.1593217; Fri, 05 Jun 2026 07: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 1wVOk7-00069i-Pa; Fri, 05 Jun 2026 07:13:23 +0000
Received: by outflank-mailman (input) for mailman id 1329009;
 Fri, 05 Jun 2026 07:13:22 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wVOk6-00069U-7U
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 07:13:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVOk5-00CqJi-8R
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:13:21 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2276f7-2eae-0a2a0a5409dd-0a2a4506cca8-46
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:13:21 +0200
Received: from [52.101.46.48]
 (helo=CO1PR03CU002.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a22770f-7371-0a2a45060019-34652e30b9f0-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:13:20 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by SA0PR03MB5497.namprd03.prod.outlook.com (2603:10b6:806:b5::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Fri, 5 Jun 2026
 07:13:17 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.007; Fri, 5 Jun 2026
 07:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=p6K9JXkftu1+Yp9ZjIedFvwoDe7yShhcVl+EMkQ1ptRV3RVXfakmhltFiGP9EPgvNaATb6y6Hs8b+Licgpc0zI3eyrVCtDjHW9ouSYmwP+B+kkODCFWd7uKGIzhL6BPlC6z9FHQK3FzICQzlfN7F1uunjaajjpDxpSIB47Gg6ByI4hiH/eRKVit15jXU5/d8s+IMfq8my1RrVsYplgRY37eHP2ot/4h7UnAMYmXPBUKJ74NBNCcTKMb5dlYfos5M1QobpqTAGu8Xyvu3Qn2u4M1LyCXYSmW+VgnBR7RcpSEsyx9F3hjAmIjJJzuSTiyOEhr7TYfxU2LSov13SNbKBA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pWUxhTPz3dkRlP+8PB5PHjU80RAgWr4k7/yeKPtup3s=;
 b=oOCANq40JswT3b4xXz0oDrVhK+nCjfz5YemAsDyY8doZdI3HYi9DsOCmc5ag1VX4N42asUfZpbhPNmkRQoXaUhPLAVrFObCLG3atG+evbrFtIBquBlBC1OKByHWfvKgCa/GIN3VDGAIbcU04VsSS+/3nRJCKXduz5TpxmAawYNt/eYNA9xNpMtR32X2yNRYm1zi1u84TXTWnuBw/0GOQK1OyXo4y3ZZBCp0lfvBkqBBdz55HWMEtF/8khRXcxB3XofOO0XzjbpvPiIkASO9Ezd3/mx8VG3VkpGMBEclWZyhvEd9mko29YX1N1A+3DyyLoVILypkg9J175HpNq2PdTA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pWUxhTPz3dkRlP+8PB5PHjU80RAgWr4k7/yeKPtup3s=;
 b=xyOLsPE5IPT7lxK6ExlGEZmdP/zipMXlueWLjiMY6BuAEGabeei1AEB0jOM9W3GkWzZQ4evjCe6fD2Wtr8Pp0oN9TW+Zm6s3Z2B5hGVxI7HlZX1UkRS4rs9obSJwjD9q9I59QIDzhj4d3SqYsNU2ugHhTGNf8061DdH0PutJDoc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 5 Jun 2026 09:13:13 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: Re: [PATCH for-4.22 v2 2/2] x86/mcfg: relax memory map checks on
 newer firmware
Message-ID: <aiJ3CRdO0y2cGZu3@macbook.local>
References: <20260604132523.95125-1-roger.pau@citrix.com>
 <20260604132523.95125-3-roger.pau@citrix.com>
 <0bfa979f-f69c-44ce-8a29-4c92876c7fca@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <0bfa979f-f69c-44ce-8a29-4c92876c7fca@gmail.com>
X-ClientProxiedBy: MR1P264CA0147.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:54::9) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|SA0PR03MB5497:EE_
X-MS-Office365-Filtering-Correlation-Id: 245e36e6-6f99-4caa-09dd-08dec2d1ea68
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|18002099003|22082099003|6133799003|4143699003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	vm20yJfpR8BuVnf/Oi/9GyGs3NtsUJPlLyiLxRnrnat4g/OukE5qTdf3AbTUI6ENRwMtrwp1Ql531Y1Y2udLNfD5NzsjLuDpbEXr94VrFZef2Zx+nwti/36sX3USFbiXyQjqeHBsQ1FwD+JOwVsKPnjWvc+2qDAPM5oxnYnH3w0RUOYwpDGZNnV+1QVEZ+CowlAoIWVseM04rArQCAQYZKSs+MOXdjaFYF8wqGZZ3TpSFMX2gt5/b6z5OE9IjxrvHC6znX76l1pBh42328pXYDyXK7jwLjmKWQYyGPKoc1UVoDgAPvV7RwQO7brO2biAJCll2ARF9RNdTvfPnNvAq4diQn0LIsQETqtcBCmsJuCoCMKeXxNLVFGkHKKblRo8Qf3Rk3p3h8T2TU3SXUUZzjWge0jtbUAmIcSCEGwsC/XWa9RHAeqeqIXQ9G2O3LiSISIQ+cNlkHGvU7+RbdeLucpcSeO/VOXTzecoh+NZ88Y1vM6C04GzLFYB/FVr+QAENbgbDt5cv4mlX1ANCvrs4yQVHWYeUKp/SNze2128o8CGpDTrxRADv3efSO/YVq6x0PlOtC+jwKbyRe+FlbaQhgqT3GlcbS4mJ8plcBBQXLGKKJKoWi17Z2GMxuLGiaG9V5wPXgg5yhcPOy7g3vbOqbTxpv5qLx10M8hcfO0pojOJejkI4SIgbZSv2zEKyTCg
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(18002099003)(22082099003)(6133799003)(4143699003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U1c3S3RDYkw3K2VlTExaRG5wK3JPVXE5VFBmV25YbEx3bGIzK3FYc2JaQU5v?=
 =?utf-8?B?czNTME5RTUF2VDZwdXVUa3o0VkFBR0t2by80Y2wwc1dsRXhNUTYrU01iUzdX?=
 =?utf-8?B?S2NDNFdxRWlYRnozdnYydjJSUzN0cVBRRmEzd0ZKVGFBYjAwODcxejFYZzdj?=
 =?utf-8?B?cjV6d243OFVYK2RCVHNaa3g3MnE1Y1d1ekNFOTIwNDRhTGF6UGZtZHBMbE9Y?=
 =?utf-8?B?di9Walg0cm9EWXZnakE0TUFaTXBlcWYrQVAySXN1YkZGTHVCblU0MEdwZkEz?=
 =?utf-8?B?bnBQVmdqenhQV0pvZGViZEJqODlGOGg3RXgzT1A4aUFqSmUxMzdwNEloVmpL?=
 =?utf-8?B?c0JCa0hibFRZcDZIOEJQVGtXVzZmWFR0aGJibEhwOTR5SHdxYkNhWGx4RnBp?=
 =?utf-8?B?TFhHd0RZaVhyM0U1WDhMUllvaE9Fak1KK1BEb2VBbVg3b1lVcHNxT1I5U3Ex?=
 =?utf-8?B?dGw2enBHOHNwMHBGSWc3clBtYTRHdVFZM0tZcnF6eGwzNkpHQThpUkVKMDYr?=
 =?utf-8?B?NWlyMEZISUgrQmFhUEJ6UEplM2hEczJKdDVHRmVpT3B0N24vbktrMDRpZDNz?=
 =?utf-8?B?L0Z2TTRTem5FY21tKzVKSUtNMFVGNEVIREtZV1dmWmpraWJOdmt5RW1GbjZ1?=
 =?utf-8?B?cHZLL1VrTmQ3K3VYS3FsajZEL3R3ZTdFN2xrL0VTK2s3ekN0TDJBaEF1Tmdx?=
 =?utf-8?B?ZkRXSDFwenJSajFJTTZJNFF0c2t2YTkxZTY1K2o1c0lsVXpoSSt1NkxYSmZo?=
 =?utf-8?B?UkI1QTRTaXBvMksxbWkrYTh1WjFwL1lRazkyQkVabEtjUjNkSUtCTlorMHZk?=
 =?utf-8?B?V296bnNyVDNNVlFlRUJCWWNlRnp4cVJLYlU0aHgxZDBsczU2RkYveG5ld1Yr?=
 =?utf-8?B?dlFpM0kxbXVuSEpVU1BQaVdReVZ0SWRYQ2Ezem11cmZ5dnpOYlVzR0ZLMS9k?=
 =?utf-8?B?Mnk2MEtjSzJVZzd3L3RmU1owQkJqb0VtenhxVlRPbkYrUkpNVmRUV2wzTnNR?=
 =?utf-8?B?Vm45QnVWektNQXA2cU15N0Z4bHltVW9CY2RXcENaS1Zic3JwTlNWVUN5ODhS?=
 =?utf-8?B?TXBMWFR2TFhWTGRXNVQyU1YwdDNmWVpRN01nT1IrYVFpaCtJanlYYnYwcXEv?=
 =?utf-8?B?U2NkS1BBcHNjOG9sZVQ5UW1iNkZwUGNpdm8vWDBUTlVaOTRZT2QyR3N6SXpk?=
 =?utf-8?B?S2REanVtTlBhRCt4VXBqdGFneXNWS1R5Wm9nUkNReUpRYmJJQllOVWFxRjdY?=
 =?utf-8?B?dmNwMGJxdklVSVFpdkRaZmcyM0lIa1UyN25YOE0wV3FobFlGdjRjNHpvNHV3?=
 =?utf-8?B?SWhqUHhDRU5HQ1JCeEpXZjk0UFRRZnI3M3JsaVl1ZG9rQlNtYitCSlFCU3Fo?=
 =?utf-8?B?LzB0Vi9WT3FZRWkrdTVDWTlBM00xNDYrVmVDUlozbS90NytYV0xmYW4zc003?=
 =?utf-8?B?VWpKSHdEWlRDY21RWTJKQ0M4azJuU05tNXo2SWxRZTh1WTdiVHhoSnZWVXJo?=
 =?utf-8?B?aGVEamUzR0tiMnZSL0FSVEFzTElpb2cyc1VJMnA2cGVzMmREdUlmclV2MFR0?=
 =?utf-8?B?a0t1cHhSeUFQcmdhK25CUGN0K2VyME53aWZMMUlUcStyZ3QvSEdUNVM5TTR5?=
 =?utf-8?B?b2o2c1FmVlZFbmkrWDJ5NGtmbXpIRVFjdVRxa3U3d3BaSXVWVytsZWJUKzdB?=
 =?utf-8?B?ZWQxWXRBc1Nud25Mdno1VWMrZ1VPM2xaV01mdGFac2NFNXNQZ1hhMXVkR3Fq?=
 =?utf-8?B?S2ZBdW8yQU1aU3NxQUlMU3phTkRROXQ0SWhmanVsbGVTbFlzdVlrVGJVRHB3?=
 =?utf-8?B?bkg1MmpLcUQ4VjNGV1lkSU9rTWNEdHZ5KzNXVjBMVkFRaU0vUmVmMEo3Tndv?=
 =?utf-8?B?VzR6MlBaL0wreWRHL01kdTFVVzRUOHdJNmtYS0Fta21yb3BLZ1M1S3UvSU9L?=
 =?utf-8?B?aXV2UGJFb3pHcjdDL3JzOUZXRVR5OVI4Y2sxWEZYbDJsSWZicUpMbXVLdzJG?=
 =?utf-8?B?eDRCeTcwVzN5UDd6MTZNMFVkb0hwRVZiOXppNGJBeDhUYmIya2Rid3V3RDVI?=
 =?utf-8?B?K2VZOE1vbVNRSnJSU0c0OFZFYjlpeTF4UEp6UFBEKzdYNEh1WkM4U1B1TkxH?=
 =?utf-8?B?M1ZGaWZ2UjlETDhwODRDS2pRVlB2U3BDbjgzTW9ZQjRMRFRoN2hyekNuR0hx?=
 =?utf-8?B?SFFKVFBtOW9OcUJhTzlCS0FTMWNqNTRlU3VnNndEdllIZkZsUVVYTXFEN3Vp?=
 =?utf-8?B?N0VZczJyRDBDamFwaGlwenNYRHZnWVdLczlVUS94OFpOYVo3OU4xR2FLRzJJ?=
 =?utf-8?B?SEE4cVZ6WHRjdSsweDc1dy84Zm1vSWRtQzRocXE1MVg1b0tuTnNBQT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 245e36e6-6f99-4caa-09dd-08dec2d1ea68
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 07:13:17.1628
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9/fvcT5z/QRJ9mn+BsnXqa/+x0yNplgzxHj8ryOLYVG4zN4TDvYn2dfti9JVsCuMGhbL3W0HQaWdmNJMUWs9YQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5497
X-purgate-ID: tlsNG-16d1c6/1780643601-8C67DD75-BD2F14FA/10/73395122804
X-purgate-type: spam
X-purgate-size: 2264

On Thu, Jun 04, 2026 at 03:50:28PM +0200, Oleksii Kurochko wrote:
> 
> 
> On 6/4/26 3:25 PM, Roger Pau Monne wrote:
> > Per PCI Firmware 3.3 specification, section 4.1.2, ECAM space must be
> > reserved by declaring a motherboard resource, but there's no requirement to
> > mention it in E820.  The specification additionally states that: the
> > resources can optionally be returned in Int15 E820h or EFIGetMemoryMap as
> > reserved memory.
> > 
> > This fixes an issue with detection of extended capabilities when running
> > Xen on a Lenovo system that doesn't list the MCFG area as an
> > EfiMemoryMappedIO region (or as any other type) in the EFI memory map.
> > 
> > The more strict logic was introduced in Linux in 2006 as 946f2ee5c731
> > ("[PATCH] i386/x86-64: Check that MCFG points to an e820 reserved area").
> > This was picked up by Xen when MCFG support was added in 3b35911d709e
> > ("Enable pci mmcfg and ATS for x86_64").  Apply an approach similar to
> > what Linux has done in 199f968f1484 ("x86/pci: Skip early E820 check for
> > ECAM region") and relax the strict reserved region checking so it's only
> > done for firmware manufactured prior to 2016.  For firmware from 2016 and
> > newer allow MCFG region to reside in holes on the memory map.  Note Xen is
> > still more strict than Linux however, as it will refuse to use MCFG regions
> > that overlap with memory map regions different than reserved.
> > 
> > When dom0 boots it can prevent access to misconfigured MCFG regions by
> > using the PHYSDEVOP_pci_mmcfg_reserved hypercall.  This brings Xen's early
> > usage of MCFG (prior to ACPI AML parsing) more in line with the
> > implementation in Linux.
> 
> Don't we want to add Fixes: or Ammends: here?

Hm, when the code was added to Xen the checks were fine, that's why we
keep the existing behavior for firmware < 2016.  The change here is to
cope with new firmware behavior, so I'm not sure we can reference a
commit from 2009 with a fixes tag when the new behavior only applies
to firmware > 2015.

> > Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> 
> Generally it looks low-risk patch so:
>  Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 07:15:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 07:15:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329017.1593227 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVOmB-0006nL-CO; Fri, 05 Jun 2026 07:15:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329017.1593227; Fri, 05 Jun 2026 07:15: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 1wVOmB-0006nE-7Z; Fri, 05 Jun 2026 07:15:31 +0000
Received: by outflank-mailman (input) for mailman id 1329017;
 Fri, 05 Jun 2026 07:15:30 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wVOm9-0006n6-Rg
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 07:15:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVOm9-00CluL-8O
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:15:29 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a22778d-bab6-0a2a0a5309dd-0a2a4505b7f8-12
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:15:29 +0200
Received: from [52.101.48.47]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a22778f-aaa8-0a2a45050019-3465302fc119-4
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:15:28 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by SA0PR03MB5497.namprd03.prod.outlook.com (2603:10b6:806:b5::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Fri, 5 Jun 2026
 07:15:25 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.007; Fri, 5 Jun 2026
 07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Js9naY11l5p/bjnsG27HQadEwItKZo29VLIqqqbCWLVNG5S3LI2KyXSmi1FPOCoaM0ZFMg30+FaKcuCV+UBI1nRWjWgqFgrAKOETECaixjmVMKYzE35+vQgbSh/8+z+4dGkuUhUh0dGDLdCFoq4gGoQ0P72q/JchYEqQKSToRKGwAdXHiyBbnif9tzpv4oJ4dp18qw3kfEoDU5ivS8esU8Mi0iA8xF6l9+3812PBdEasrJAv8hwVCMY5lWp+E0nSx8QlQuhglAQPf8f7EhebKU1uxNhj/AWDxxywGS1P3ZF700VwzSPJ6LItryoAp9mx9f1U1OD1XURo1ZwR5zWsog==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=30fozm6A/bKyQinnVzT7x3JnIMxf65qcUB9fnk3kPWc=;
 b=emUkrR+jmg2IF7ps1G+mlRQcemCS1KvxuyAozgEDugaIbmxA9DBkUU1Ax0rbq+2FdaX8NwmFmQKSlUbFoI1gLi3mZRTJOAWEnZzQKokIA4u4MKPe4FlG2D2mwkbe8U44jE9c23wrgK5FE/baWekDpVHcNxzSFBxv+xSKzZnLoPVBEq1YLn60rqDD1pwRMpSN3pnKxQ7hJDV5o4rYHWtjFc4snYt1urRb0KvLoj8nWLm093FvPYIM0pDe2LIUV+//GAmZX00Km3FtcWC3WN+TEUAdZ2TO+2Ii/g66KXs3SJFpygGcKuJiHikNvjxFSkf8JxnCOUP0Tg2W5TeMbrUarA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=30fozm6A/bKyQinnVzT7x3JnIMxf65qcUB9fnk3kPWc=;
 b=WAiNuWtvhdU3kc6d32AWCupJnaoQp4SgQrx9Jb3HBg+hGD+SzdM3B4OnftwZy1WKblGC4Jn9u72BIwNeD1Y8R8e4gHWjAmGK+JqEOyn2BKYWzvMjU9yhuenXprYSHsG7N7aFoGyxmx8rNLxFuzzFdTJqLMrjUZiDN/cgembzhOA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 5 Jun 2026 09:15:22 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Andrii Sultanov <andriy.sultanov@vates.tech>,
	Guillaume Thouvenin <guillaume.thouvenin@vates.tech>,
	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] MAINTAINERS: Update Ocaml maintainers
Message-ID: <aiJ3iqJLTSxifA52@macbook.local>
References: <20260604151303.2720636-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260604151303.2720636-1-andrew.cooper3@citrix.com>
X-ClientProxiedBy: MA3P292CA0050.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:48::17) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|SA0PR03MB5497:EE_
X-MS-Office365-Filtering-Correlation-Id: 9bb6e0e0-5d44-4e7f-4aaa-08dec2d236cf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|18002099003|22082099003|6133799003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	73vkecBtT+JpdCPrQE9Pwo8TYsgUhOskRfnSQejsjLIh0isl4N+QpSyn8FnUyONhAXsvtbbc3Q0RrpStON8Y9oxiFrhsyo1RklZD3Mac9BUEfYdGB5uGNBgOlzVXe/VMUi/4u2KgY8yRdvRr82BYEI+fN4Sj/gTip96jz6xDeelBjwgO6ZgSpMBmYcXKAxIPr6iLo8VcdS8iNAUb4WuWGjQlMJERQb4JZ/wixjDma4U1T3mgq4ln7h7JQMrAfxjhb25CU/D87SlsgOjvcdcE4ejfel8jtU/4xRCMlTH3iz6AQuKXg0G8qDXujm8CV+o233d6h1DeE2pz8BxsFlMLgivpQyapxuB5d8UUhXkDWwHlKYU3cKgAhmm1HgofOyKzq4ZdhIIWp7yKwmydJY8hEM+qGg6g38tW1QY4VRXOQSHSdSjhU7GETMwxgyua5HD7mnOKFamAJhcabqXp7v3v2sChPqlDC0s4ps+Pr7ahwc8JvRHanFTK9luRbVEUu6j0goJmmTZcKIPKgq7Gk4Az1Slw1B4WdFFANcWftQ20yEXpR6yfKzqGYjGWd2JKivrrFFstxqOZZVLEhW7C+O9XD/CC9qaxY0ZeyRhHw1C37YfX5a2N877StiJkFDJODH1B0tdrgJCghfJfRWUhUlKqnD+vz+bEI8u9MteQtH90G+WwcRgVUpxjTGBSXWg5Grvu
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(18002099003)(22082099003)(6133799003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QUhJaWswVG5vN3pNdEpwZnVNMW5QbjcwU2xKdUpUdFNxb0FyVjIzUDcyNVFa?=
 =?utf-8?B?ZkR5bnB4TVdGa3cvdS9jaTZtUG1kQkUrbjhmamEyL3BDMGgxbTVGOVRoOWl2?=
 =?utf-8?B?TzBxOVQ3WXRaY1JhU0Q3MnZxbHZKMnVzUjZ1M214Mk1Dckc2N0JLNW45cDht?=
 =?utf-8?B?UXJGMVpzM0R1OTRBbmdNbXgrWnU4MGVYL281Z2ltV0xwcmRDcmU3SklNYUFG?=
 =?utf-8?B?cXhkanNoTno2d1p4TFBIZHp4WDBLOFNFbmVtWDFSbUIvVlhMZ1h6eFFGVDJm?=
 =?utf-8?B?bG0xN2trKzJEeWZzQlVxVEZyMXBrekV0WEFReThxcy9MNW9lL1hVSWg1L25I?=
 =?utf-8?B?a1pqWjMxR3V5TFpzREVYSnVrNnowRHgzUzRBdU01VDhFQlVEK3RDcmVtZGFR?=
 =?utf-8?B?bFJQMlBXUTMrVi9ocTVJNEhlakZKWWNidUtVN3Z0SVJZSS9JMEVZWjVqU2k0?=
 =?utf-8?B?a2ZPTVAvVVRxYm5iNHhydWJVTWgyMGh3LzY5UVJJc3BGUjhvSWtKV0JVWEw5?=
 =?utf-8?B?L0lOdWkrYWdTMCthNjI1ZGEzR2FTQzNSazRFYSt1OFJHUXFxcUhFOUR0MDNj?=
 =?utf-8?B?aXpyeE1aZlhOKy9XeGI4WktRTjh2TGxDektLS3poamRYNlNzMFVDQnFlZ055?=
 =?utf-8?B?dGZpSngvOUg4bUJDMjJhN1JnVDJpY0pUalA2MnV5bXN5ZUFXNk0veHRVMnB4?=
 =?utf-8?B?eFdzVGlOMzhja0J5OGxUeFNyQWpQYTdsQlM2U0RyR2VrNXVjVFRCSUlwSFJ2?=
 =?utf-8?B?eFE0R2o3RUtuemxCbDhNTCs5Sk8rN0xELzNLc1VXTjdPSkRJOTljT1NHamg1?=
 =?utf-8?B?OXhhRTBPRzF6ZUVHUWVmQkpiOHVsNkNsNitzTjFkQ3ZKelR6ekhZZVpXMG9h?=
 =?utf-8?B?a3E2akVZSUFCTFZGL0dSM3V1RlpyT3A5MWN2WVIzVnFlRU5QNmpzUnplbXVr?=
 =?utf-8?B?WDZmcU52bWpsTjkrbEdReHZPYjdJVkJmZXQ1cU50VzBJbldkbGU1VFMyUklQ?=
 =?utf-8?B?NDZMZFhHakVFN0MwUytWeUdYSTllcUl4cEIzOUFQaDBqZ1JWTTNEWkoyYTE3?=
 =?utf-8?B?Zkd3akFXQkJFUC84emVkdDBFUGp6WHRiQ1EvcTdKVWVWL0ZXYW1naUxxNERh?=
 =?utf-8?B?V1cwSlJtUTNSVENNZnJnT1h6WHMvMGtwYW9CSWNldGFod0lVdmJqbTNlemF1?=
 =?utf-8?B?QVlzMHFDL1Z1QWVxUXk0c2dZYkFpTFMwQi9QR1RNdTJPYThaVVJ2NlV4VWg0?=
 =?utf-8?B?WWtvOHF6VmFZMGJFOE5RdU5KNEVUbDJYeXZHV1dXdTZUQVo3bERBd1o5dmFt?=
 =?utf-8?B?Vk1nRXdVUVI3Nml3ai9UY0dOVlRPdXR2NVlMVk9vQXJJWGQ3ejNqSWF1YTQx?=
 =?utf-8?B?enF6Y0JOa3ZhSDlnblM5VkVuMFIwYUF6MFBzUkg2OG4yKzJEMk91ZTNUYjRR?=
 =?utf-8?B?aVBwN2Q2MlpxakUvMjlIZDFkYjFLM0srR2NVQk1CZytCRFQrUzlrdVM1NGpy?=
 =?utf-8?B?OXpXc0NVVnFXSTBhbndEY3BxRktOdE8yN0drTUNiSW1hbGJJaVJWRjRkaDFj?=
 =?utf-8?B?Z1hKSVErdnlpOFpRSkpHYVNmbUNvQ2kyR0syWE1WY0lvSUF2c0RjSmthNTNn?=
 =?utf-8?B?T3loODh0MmUxMVI0TVpjcGNyTktZOWhKVU1NdkhBZjVuMEhabWh5TUZmcFdu?=
 =?utf-8?B?b0czMTF4clJWRXJUYVFBb0lUU1BXSVkxbUFqOXZ1dzZUQ0l1UHhJS3d6KzZH?=
 =?utf-8?B?eURObFJlOFdHdDZVcXgxS1RuaEFIa2tFSCtnSU9ZUnVNYzFjN0hLWnRvSnd1?=
 =?utf-8?B?RUwzTjZ4d2ZWek9BaU00Yk02ckZjSktBVWM4Uk56aklMN21QKzFBeUR0Vjhn?=
 =?utf-8?B?MVFuU3hpbFg3MFV2Tzc3TjVJUm43L090MFVqNnFpVkNkTU9IZG1sVG9tQ3Az?=
 =?utf-8?B?MlZWODhLZDJqKzZ1UFFFNTE1NnM0V0ZGWE1TNDV1YVhEczdaSVBUTDRYWUgz?=
 =?utf-8?B?cm1vMWY1UkhOeEZlSFBTT2tUZ3BHZEtJMldJaTl0MngyeDAzODNBSkx3dmsz?=
 =?utf-8?B?ZzIxc2t6N2NHMGZlcTZXU3RPU0FRRXlMVEJ2SHlHVkZ5MHlkUzZnYkIyZ2tD?=
 =?utf-8?B?cUtUMXppOTFFdWQ0WHBOZ00xTGlRZTJsTjN1enpCdXJBcFZuU3dTU2huY3M0?=
 =?utf-8?B?b2lDMWU5NnkwdkRmL0pTaUlwQ1lnK2F6ckNoekI0eDJROFFvelI4Ry83OHFC?=
 =?utf-8?B?ejRRZkUxRGcxLzlYcDNKZGkzWjdzOWY5c0FtYjlQRlBsM0h3VXEvOW14MmQ1?=
 =?utf-8?B?MWdwbzJYN3RxYUFnbUc3bU9FL3llRUdJaHlzS3hra2E3R1o2RWs0UT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9bb6e0e0-5d44-4e7f-4aaa-08dec2d236cf
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 07:15:25.3909
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rXOGqAzKPXpDNuxP70oaQEZmvad4lGjdafJrOoDbqa67xlgq1HRZG76Gd8Ki/JyP7AM1pqpUYJN/DGtfXFRgVQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5497
X-purgate-ID: tlsNG-c201ff/1780643729-E3788443-CA8B35DE/10/73395122804
X-purgate-type: spam
X-purgate-size: 1568

On Thu, Jun 04, 2026 at 04:13:03PM +0100, Andrew Cooper wrote:
> Christian has just left Citrix, and Dave almost a decade ago.
> 
> Andrii (a XAPI committer) has worked on oxenstored before and has agreed to
> step up as a maintainer, and Guillaume wishes to get involved and learn too.
> In practice I do a lot of the bindings work, so lets make things official.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Andrii Sultanov <andriy.sultanov@vates.tech>
> CC: Guillaume Thouvenin <guillaume.thouvenin@vates.tech>
> 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>
> ---
>  MAINTAINERS | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 77f72e52f46d..b62ea7c47753 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -453,8 +453,9 @@ F:	xen/arch/arm/include/asm/linflex-uart.h
>  F:	xen/drivers/char/linflex-uart.c
>  
>  OCAML TOOLS
> -M:	Christian Lindig <christian.lindig@citrix.com>
> -M:	David Scott <dave@recoil.org>
> +M:	Andrii Sultanov <andriy.sultanov@vates.tech>
> +M:	Andrew Cooper <andrew.cooper3@citrix.com>

I think you want the inverse order here, so it's sorted
alphabetically?

Otherwise:

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

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 07:20:16 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 07:20:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329030.1593236 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVOqi-0000Tx-SY; Fri, 05 Jun 2026 07:20:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329030.1593236; Fri, 05 Jun 2026 07:20: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 1wVOqi-0000Tq-OS; Fri, 05 Jun 2026 07:20:12 +0000
Received: by outflank-mailman (input) for mailman id 1329030;
 Fri, 05 Jun 2026 07:20:12 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <olekstysh@gmail.com>) id 1wVOqi-0000Tk-0K
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 07:20:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVOqh-006XI7-Cs
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:20:11 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <olekstysh@gmail.com>)
 id 6a22789c-bab6-0a2a0a5309dd-0a2a4502c0fa-36
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:20:11 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <olekstysh@gmail.com>)
 id 6a2278a9-af86-0a2a45020019-d155802ed8ce-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:20:10 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-490b9318997so11162685e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 00:20:10 -0700 (PDT)
Received: from [192.168.0.112] ([91.123.151.42])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f360bd6sm25182125f8f.36.2026.06.05.00.20.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Jun 2026 00:20: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780644009; x=1781248809; 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=UeclX51Ov2Cs3NN2W7lnINiU79hjaTEGpDH2kL6sC7c=;
        b=Gkr1FKbgbK6iUaRZW0XHpM1B0k9gTeEkips0jkNGqH5Hq3Z0imDQmTR0il+LcczkiI
         AIICkdbczM7KdieJfCpbrHp0CJi41PMJmtCSYHuK6+2hDpN8CBBBHTt/htWu37+4tCGf
         n6h8JJ+QFs0i4jZFBZ/uNeGo1voiDMREEQUXf4lIJdjyd9/c9f82C8d3o9JcgrvzXq74
         P5Ygj98yvQKi/1dxtclSSPRa9pRHZYqKnbCpD/laYJs1LUhd1rRMuk1nZEauaJ0rwRff
         CbYQQRLvN4paZEQgFVoHJGE38GjLDvNadP1mf/1mfL78cyCJy0XdI/DAo6d5K7sPQ3ng
         UKug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780644009; x=1781248809;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=UeclX51Ov2Cs3NN2W7lnINiU79hjaTEGpDH2kL6sC7c=;
        b=VMWnyvpsGgCPfT425b3Fz4ydX31WQq1OM919Hmd8z02daFnS+Mrt0OTBw8s+3WYEKY
         Xeq1pNm5FWTYWnrbuqpKYWjP3Wt+3DaS19k1mMFPHZYhr+hZU1v3B1HBN7gSor3cfyYP
         7TMAePAVpb02xN45cIlzMjoOzpw6iO1lQRCePkieQi+CHf9OKiDDoOSnWEDFRWhg2gEf
         rCrzwFp9Knpy7iYJQW6g1RD15gcr9MSzcEvpsMnKhvNlhUsCi9XnMKtp7KFOu1BwWjCi
         /9ACqQ+iJNWzsegD1NrsdNYgEvYZF2rnzYtAYTaAa0sJGPmL2LgtEMRP0a8/D7STbj3/
         3sKQ==
X-Gm-Message-State: AOJu0YxKChlIiMXVcRvMS3xJdoqbSeCp8t3w78hOwCyWNBNAkj1CeyKc
	h7DpcmsF8Mi4g/fVAI5gS2YZ21gce3p+DBghBkZIyOVeptdaswfan13J
X-Gm-Gg: Acq92OG/3MzY9GbE9iyK2KvpQVsrHRSbKFbQdSngehV3JZeRiD5ZxREprU5Pkv2KqUc
	HQfbYUflE4Rr2UqxPcUtcQB84ky2BCB6h4T2FeFOdHN1A2YdCvSexsAjWHl73dFzZ7ib3JMhNKE
	p3YuosXHsoMB2IHQirTQZzHo3VYxIkMkTA8H/4wP2iXIe3bSa0F9xPYySxJbB1mOJz5F5XEWDNA
	FxUjHiWpBQYwus3J3irBa1kUcqzQc2y1DRBhUyltzNxNF3y9JkksZF7X0JquI1mLiikMXH5L1BQ
	f0+/+eKFwGfZGY5ssPNsbB1EAS6kBGyFo6fZS6tB57JOzVKDfxdFxByvyG2kDIm0w5UV2Qmnqgw
	dSpmay/kWuasCidn2lAKL5Sqj1hxXl3v0nZahLFIE286bDLwV8nTR9Ut9yPAcSNY8AtNfISz+KM
	TvyJGGADcbTIVxBTAhNkyqTuRhl2Od58awMtHDfLj3HbuT+HQ=
X-Received: by 2002:a05:600c:6087:b0:48a:8b02:ae91 with SMTP id 5b1f17b1804b1-490c25b0231mr31282105e9.11.1780644009217;
        Fri, 05 Jun 2026 00:20:09 -0700 (PDT)
Message-ID: <255cd553-a519-42e8-a28a-9e4b08fb245a@gmail.com>
Date: Fri, 5 Jun 2026 10:20:07 +0300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v2 1/4] xen/arm: gic: defer host LPI allocation
 until after ITS init
To: Mykola Kvach <xakep.amatop@gmail.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>,
 Luca Fancellu <luca.fancellu@arm.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <cover.1779922874.git.mykola_kvach@epam.com>
 <112419d3ea48ca328849c8f6647909d3eb667b40.1779922874.git.mykola_kvach@epam.com>
 <a2f1164d-ade6-4355-95da-f8c246613e9f@gmail.com>
 <CAGeoDV9PfXYNDCOWv7HYUi8-C-27rwFOXxZVcsG3UvKdLt0FHA@mail.gmail.com>
Content-Language: en-US
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
In-Reply-To: <CAGeoDV9PfXYNDCOWv7HYUi8-C-27rwFOXxZVcsG3UvKdLt0FHA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1780644010-82F6E161-19A3425B/0/0
X-purgate-type: clean
X-purgate-size: 7455



On 6/5/26 09:28, Mykola Kvach wrote:
> Hi Oleksandr,

Hello Mykola

> 
> Thanks for the review.
> 
> On Wed, Jun 3, 2026 at 2:19â€¯PM Oleksandr Tyshchenko <olekstysh@gmail.com> wrote:
>>
>>
>>
>> On 5/28/26 03:25, Mykola Kvach wrote:
>>
>> Hello Mykola
>>
>>> From: Mykola Kvach <mykola_kvach@epam.com>
>>>
>>> gicv3_lpi_init_host_lpis() allocates host LPI state, including the
>>> host LPI lookup table, CPU notifier state and the boot CPU pending table.
>>> Those allocations use gicv3_its_get_memflags().
>>>
>>> ITS workarounds are discovered from gicv3_its_init(), so allocating host
>>> LPI state from gicv3_dist_init() can happen before the memory restrictions
>>> required by the ITS are known. On affected systems this can leave
>>> Redistributor LPI state allocated and programmed with the default memory
>>> policy.
>>>
>>> Move host LPI initialization after gicv3_its_init(), and only run it when
>>> a host ITS was found. The old call ignored the return value. Now that the
>>> call is made from gicv3_init(), check it and panic on failure because
>>> Redistributor LPI initialization relies on that state being available.
>>>
>>> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
>>> ---
>>> Changes in v2:
>>> - Replace the v1 ITS pre-initialization hook with the less invasive
>>>     approach suggested during review: move the existing host LPI
>>>     initialization after gicv3_its_init().
>>
>>
>> Just for the context: The original review suggestion [1] was to consider
>> splitting gicv3_lpi_init_host_lpis() and defer only the portions that
>> depend on ITS quirks being known, specifically the allocation of the
>> per-CPU pending table for the boot CPU (gicv3_lpi_allocate_pendtable),
>> which is the actual consumer of gicv3_its_get_memflags(). But here, the
>> whole gicv3_lpi_init_host_lpis() is moved, so the scope of the deferral
>> is broader.
>>
>> [1]
>> https://patchew.org/Xen/cover.1774431310.git.mykola._5Fkvach@epam.com/a7732487959e777ff1de318cb28c588db69fbaa1.1774431311.git.mykola._5Fkvach@epam.com/
>>
>>> - Check gicv3_lpi_init_host_lpis() and panic on failure, matching the fatal
>>>     nature of host LPI setup once ITS initialization succeeded.
>>
>> So, this patch appears to fix two distinct issues:
>>
>> - ordering issue (LPI init occurring before ITS quirks are known)
>> - unchecked return value from gicv3_lpi_init_host_lpis()
>>
>> Should these warrant Fixes: tag(s)?
> 
> Yes, I agree that the patch should carry Fixes tags.
> 
> For the ordering issue, I think the relevant tag is:
> 
> Fixes: 751ec850ec1d ("ARM: ITS: implement quirks and add support for
> Renesas Gen4 ITS")
> 
> For the ignored return value, I think the first commit where this became
> observable is:
> 
> Fixes: dcb6cb263689 ("ARM: GICv3 ITS: introduce host LPI array")
> 
> The original call site already ignored the return value, but at that
> point gicv3_lpi_init_host_lpis() could not fail in practice.
> dcb6cb263689 introduced the host LPI array allocation and made the
> function return -ENOMEM, so the ignored return value became meaningful
> there. Later, 69589c374a92 added another meaningful failure path through
> the boot CPU pending-table allocation, but dcb6cb263689 seems to be the
> earliest commit where the return value became relevant.
> 
>>
>>
>>> ---
>>>    xen/arch/arm/gic-v3.c | 14 +++++++++++---
>>>    1 file changed, 11 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
>>> index 17ff85ef5d..acdac22953 100644
>>> --- a/xen/arch/arm/gic-v3.c
>>> +++ b/xen/arch/arm/gic-v3.c
>>> @@ -764,9 +764,6 @@ static void __init gicv3_dist_init(void)
>>>        type = readl_relaxed(GICD + GICD_TYPER);
>>>        nr_lines = 32 * ((type & GICD_TYPE_LINES) + 1);
>>>
>>> -    if ( type & GICD_TYPE_LPIS )
>>> -        gicv3_lpi_init_host_lpis(GICD_TYPE_ID_BITS(type));
>>> -
>>>        /* Only 1020 interrupts are supported */
>>>        nr_lines = min(1020U, nr_lines);
>>>        gicv3_info.nr_lines = nr_lines;
>>> @@ -1990,6 +1987,17 @@ static int __init gicv3_init(void)
>>>            res = gicv3_its_init();
>>>            if ( res )
>>>                panic("GICv3: ITS: initialization failed: %d\n", res);
>>> +
>>> +        /*
>>> +         * Host LPI allocation uses ITS-derived memory attributes, so defer it
>>> +         * until after gicv3_its_init() has discovered ITS workarounds.
>>> +         */
>>> +        if ( gicv3_its_host_has_its() )
>>
>> This looks like a behaviour change. The condition is narrowed from "GICD
>> advertises LPI support" to "host ITS is present". As a result, on a
>> system where GICD_TYPE_LPIS is set but no ITS is present, LPI-specific
>> variables and data structures will no longer be initialized or
>> allocated. If I am not mistaken, software-generated LPIs without ITS
>> involvement are currently unsupported, so this change might be safe.
>> However, I think the commit message should explicitly document this
>> behaviour change and explain why it is safe.
> 
> Regarding the behaviour change: yes, it is intentional, and I agree that
> it should be documented in the commit message.
> 
> The patch narrows the condition from "GICD advertises LPIs" to "a host
> ITS was discovered". Xen currently has no supported LPI path without a
> host ITS: gicv3_lpi_init_rdist() already rejects that case with
> -ENODEV. Therefore, on systems where GICD_TYPE_LPIS is set but no host
> ITS is present, deferring and gating gicv3_lpi_init_host_lpis() only
> avoids allocating host LPI state which cannot be used by a supported Xen
> LPI path.
> 
> The CPU notifier is registered from gicv3_lpi_init_host_lpis() itself, so
> when host LPI initialization is skipped for the no-host-ITS case, the
> secondary-CPU pending-table allocation path is not enabled either.
> 
> I kept the whole gicv3_lpi_init_host_lpis() deferral in one piece to
> keep the 4.22 release fix small. Splitting out only the boot CPU
> pending-table allocation would be possible, but it would make the fix
> more invasive.
> 
> If the patch is otherwise acceptable, could the Fixes tags and the
> clarification below be folded into the commit message when applying it?
> Otherwise I can send a v3 of patch 1 only with just commit-message and
> trailer updates.
> 
> Suggested commit-message fold-in:
> 
> This also narrows the condition for host LPI initialization from
> "GICD advertises LPIs" to "a host ITS was discovered". This is
> intentional: Xen currently has no supported LPI path without a host ITS,
> and gicv3_lpi_init_rdist() already rejects that case with -ENODEV.
> Therefore, on systems where GICD_TYPE_LPIS is set but no host ITS is
> present, skipping gicv3_lpi_init_host_lpis() only avoids allocating host
> LPI state that cannot be used by a supported Xen LPI path.

Thanks, the justification is reasonable to me.

With the Fixes tags added and the suggested commit-message paragraph 
folded in:
Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Regarding fold-in vs v3:
That is a maintainer preference question. Since only the commit message 
and trailers need updating, a fold-in at apply time might be efficient. 
However, I think that you still need the Arm maintainer's approval on 
the patch itself.

> 
> Best regards,
> Mykola



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 07:23:00 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 07:23:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329036.1593244 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVOtO-00010J-7m; Fri, 05 Jun 2026 07:22:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329036.1593244; Fri, 05 Jun 2026 07: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 1wVOtO-00010C-5B; Fri, 05 Jun 2026 07:22:58 +0000
Received: by outflank-mailman (input) for mailman id 1329036;
 Fri, 05 Jun 2026 07:22:57 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wVOtN-000106-4J
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 07:22:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVOtM-0003Z9-H5
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:22:56 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a227950-e002-0a2a0a5209dd-0a2a4504b6e0-0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:22:56 +0200
Received: from [209.85.221.49] (helo=mail-wr1-f49.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a227950-1dec-0a2a45040019-d155dd31a48d-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:22:56 +0200
Received: by mail-wr1-f49.google.com with SMTP id
 ffacd0b85a97d-45ef1198766so857167f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 00:22:56 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f351ac0sm38602363f8f.27.2026.06.05.00.22.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Jun 2026 00:22:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780644176; x=1781248976; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=uF2cVAyCKdz2kwoIp774Vd7DRPiZizpaYby1xrmUAd8=;
        b=F8gAlmH5HVhC2aIMHgj3gxJhaFNVmTnrXIcD5L6icTzFSuyYF2q1Tq5M9ZHqsaqyoV
         vLAzVwq6V7fuj42xa9lQONJM3WNedvpUbBpeDEY7fKL1o+91zpm6Vr/cR5m1QCiK9iyi
         N9MUNb9Zj9MZmbVNkt8nyYHPr4Yp+dQSY1nDtS+FXpuQN5fsRMizUYkKotEuwUEBKRjD
         v8BtxCwZh379vx6btIKkvUkpMLRR4t+hht+smK1pIOGzF+AeDxx/KDaY3y2h5f6Qt7La
         u885BQgADdqk3rInp/m4cwUhfkf6SWKdVchz2GwnyUKcHOTtYQvylBHttyDKq1+RM8Jk
         iRYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780644176; x=1781248976;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uF2cVAyCKdz2kwoIp774Vd7DRPiZizpaYby1xrmUAd8=;
        b=fgK2C3zYapJVkQsPpHZuEN7CGHw9j+2YR3sIccvilQ8WAjaHtIbnBnqCqCVUDbtDQp
         /pqnPoXV9IiDHmKiTBXN8nVtb2acNN01lh3Pp6AN945cT+GWnZeniOjiop87Rtf4BXb/
         OfVTG9c75denZoTnRJ9Wzn9XkYm0s71+TIT+eEoJsN08d+KL1QZMJ9tUjobZDRuLDPhk
         BBE2VCHD7Bufupa/xx66I2/eW01LTfp1YE8efj6+D2w0/2LfuhYycjC9QIVSla4+Hvaq
         7WKPGTj+kWaS3mTTHu7nQhBdHjbT4+sx9uU1Ql0k3IkfloVyeb//PraPxqQ0obcbfgPs
         GWeg==
X-Forwarded-Encrypted: i=1; AFNElJ+Yx9sidehOJ8UZ0RTV85K7MSA8KnEsaRy+M/2ztwWrKIuqYRps7ZXaIsF6XjApooPIPUkZlM4JsYU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyYB3Erb38wGk0rWDOGc7Cir/rR+ejQuBzMOjUqCAhgYcTyOrYb
	AV8kne5rZnheDQgoMLg2QBELFPc+dNcYN/xUjux89xmsgQ7i1VRN/oBhG+qzPOfc3Q==
X-Gm-Gg: Acq92OF2DzWrG4n0GzbemVfIaTJ128/1WMeUEtNOVSd1ApXyn+zwz262kvc5D1Wt2NP
	eEyL7FxtT05fI9H7ujS7P4i9EJ+onD9K/ZEm2RPVP7GIrSpouRCwMdOXlWpgeZVZVEuATEY33yo
	aicyVXy8qn28FtW7VSHOwaa+vM7SiQ0w3RqFJorrFAVXAhjdVP6SHMqhyrlIM40t6MyXOAoSqNl
	Orferaz1u2itCTUdkZTnIgm5X8mkb50rEhONZMzjbAknZWBHxClQlTFVxwdqlX4sKr0YpsSkSZz
	my+i+vN9DV/dreZCarfdwwMNul1Y33VyLUt/j2xsyQvntG3q7tctgzlPUopyBkr4+QQj7ugZAeK
	MuLkibAf/X0fJ4rHga8fKtKMre1yQfT2XanwjiWqryiLhTaWpEYYY4hWAk1HFRD3wrI1n7crn50
	2gTfq1aHMt6Th4f0gonp2LmLlz7WL6g1omlMn9pAxQtbQgdayJNeOqt36k9StjOJFX3neHp8ZYT
	ioyCSvEu2wZUzXOzU9cFJfhYg==
X-Received: by 2002:a05:6000:4b07:b0:460:21e7:330e with SMTP id ffacd0b85a97d-46032b8164fmr1883942f8f.10.1780644175697;
        Fri, 05 Jun 2026 00:22:55 -0700 (PDT)
Message-ID: <d84d1022-55a5-4848-a92e-30c78af62443@suse.com>
Date: Fri, 5 Jun 2026 09:22:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 14/26] xen/riscv: add very early virtual APLIC (vAPLIC)
 initialization support
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <220cf09814744b8b8136b1e3c35ab982226d3f6f.1778250616.git.oleksii.kurochko@gmail.com>
 <6ec9620d-7224-49d4-860c-6e447e0534e3@suse.com>
 <702af594-17ce-4e64-8f02-37ad5785c6a4@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: <702af594-17ce-4e64-8f02-37ad5785c6a4@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1780644176-2BD6C3FF-8EF6B33E/0/0
X-purgate-type: clean
X-purgate-size: 3342

On 04.06.2026 13:29, Oleksii Kurochko wrote:
> On 6/3/26 4:54 PM, Jan Beulich wrote:
>> On 08.05.2026 16:43, Oleksii Kurochko wrote:
>>> --- a/xen/arch/riscv/aplic.c
>>> +++ b/xen/arch/riscv/aplic.c
>>> @@ -295,6 +295,11 @@ static void cf_check aplic_set_irq_type(struct irq_desc *desc,
>>>       spin_unlock(&aplic.lock);
>>>   }
>>>   
>>> +static unsigned int cf_check aplic_irq_num(void)
>>> +{
>>> +    return aplic_info.num_irqs;
>>> +}
>>> +
>>>   static const hw_irq_controller aplic_xen_irq_type = {
>>>       .typename     = "aplic",
>>>       .startup      = aplic_irq_startup,
>>> @@ -309,6 +314,7 @@ static const struct intc_hw_operations aplic_ops = {
>>>       .host_irq_type       = &aplic_xen_irq_type,
>>>       .handle_interrupt    = aplic_handle_interrupt,
>>>       .set_irq_type        = aplic_set_irq_type,
>>> +    .irq_nums            = aplic_irq_num,
>>
>> Hook handler names and respective field names would preferably match up. It's
>> unclear why the field uses some kind of plural(?), while the function uses
>> singular.
> 
> I will do s/aplic_irq_num/aplic_irq_nums.

Well. What "nums"? Isn't it "number of IRQs" that the hook returns? That would
call for .nr_irqs and aplic_nr_irqs(), for example.

>>> +unsigned int intc_irq_nums(void)
>>> +{
>>> +    ASSERT(intc_hw_ops && intc_hw_ops->irq_nums);
>>> +
>>> +    return intc_hw_ops->irq_nums();
>>> +}
>>
>> You use this to set domains' properties. As indicated before, I view it as
>> wrong to do so for any domain, besides perhaps Dom0 / hwdom. If you want to
>> do so nevertheless, at the very least I'd expect something to be said about
>> such a decision in the description.
> 
> If you could explain how this is expected to work for non-Dom0/hwdom 
> domains, I would consider reworking it.
> 
> Basically, I don't understand how the following scenario is supposed to 
> work. Let's say the host interrupt controller can manage 15 interrupts, 
> while the guest interrupt controller supports only 7. If we want to pass 
> through 8 devices to the guest, what should happen in that case? Should 
> Xen simply report that the 8th device cannot be passed through because 
> the guest supports only 7 IRQs?

If IRQs cannot be shared - yes.

> Another concern is related to 1:1 IRQ mapping. Suppose I want to pass 
> through a UART device whose IRQ number is typically greater than 10. In 
> that case, it seems Xen would again have to report that the device 
> cannot be passed through because its interrupt number exceeds the number 
> of IRQs supported by the guest interrupt controller. This could be 
> addressed by introducing a non-1:1 IRQ mapping between the host and 
> guest, but the current dom0less codebase appears to assume a 1:1 IRQ 
> mapping (unless I am mistaken).

Sounds like a (perhaps significant) shortcoming to me.

> Considering that virtual interrupt controllers use the maximum possible 
> number of interrupts supported by the interrupt controller, the concerns 
> mentioned above are unlikely to arise for a long time, if ever, unless 
> support for features such as migration is introduced. Therefore, I think 
> it would be reasonable to remove intc_irq_nums() and avoid using it to 
> initialize virtual interrupts or domain properties.

Yes.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 07:26:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 07:26:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329048.1593254 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVOwM-0001iA-RZ; Fri, 05 Jun 2026 07:26:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329048.1593254; Fri, 05 Jun 2026 07:26: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 1wVOwM-0001i3-MU; Fri, 05 Jun 2026 07:26:02 +0000
Received: by outflank-mailman (input) for mailman id 1329048;
 Fri, 05 Jun 2026 07:26:01 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wVOwL-0001hm-Bm
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 07:26:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVOwK-004uJv-Om
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:26:00 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a227a01-2eae-0a2a0a5409dd-0a2a4506ab6e-6
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:26:00 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a227a08-7371-0a2a45060019-d155802cc881-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:26:00 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-490a76757e5so10623975e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 00:26: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-490bc3cc140sm159201625e9.9.2026.06.05.00.25.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Jun 2026 00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780644360; x=1781249160; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=4rEVsM+ReYfK3RdkhMqIdEKJm4BV0zcJgPss6/u52HU=;
        b=XEm9Nx1MNYwwGYda8YpnfBlG0JnZUJv6gTcPd/y7DhqOCVsPjLP74vtFvjYjN0YKw5
         zzoA6V1ha0WrXyjRZz3IkOYyiDFHkEmcIuYJNMpToUc8hdJbxAOBcVvptCtg3m/9AoX0
         BDV45l2TcKFw3A1/21TnLUHlKdQn9PfbNXVVg+FpjF4BRJolEIE7r08f/DBhty1JgyvZ
         g+Zbm6OVtl3SZQgIctHCd/W4uwxypgiO/Aj9Iy6jByYJ6wp+C4FBfHZErclFTLNY0gUc
         bSGrwllvO37Ke335dXkfPZGoRTf//A6NiT61Soy0tta4MoNnzFwzEeAGXhiwLahdbF/8
         miYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780644360; x=1781249160;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4rEVsM+ReYfK3RdkhMqIdEKJm4BV0zcJgPss6/u52HU=;
        b=fvdmOw3nK6KVHGZyXR4JFTJrm4LDf+NZTkFxnnSNrrj2bt1uaNcqjqKqHmKov//cmR
         9XBW/i4qGhGeUNs+SUEq3rwMhH7JSHEPFMimTvO9ZrioBz3XV/z4AG8gja7Y9Ez9IZoU
         yZ03+h4pxSVgbovj52wNw2gwo53cwB/snhMsIi50wPYPrfUFe/uqulvvc5nrz3WcVjXE
         Rvm4i0fBmOU0peIk4VWttq1pQO6ZK5Em+9+GXsUWbtkJsTeQwpYgQhZuJ0bQaz05ltDH
         YYlLkemIqELrWUUv/Fd1Q6BxCvssKjgJ2qfye66ZJpvbwD0/pLVf9OuJwTfFMZOvBHsy
         TuHA==
X-Forwarded-Encrypted: i=1; AFNElJ8afOWrScpSaSY7UQj3OByLplZrKHj3fdX4LSNZnjcHWWndC3qypAavj5Obq0IXAeaZWFK2lOiuM2g=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwrMrLO+d6nQcgaglBz93QEjPjE7eeLVf0JFAPSFR+l8F6Vn6Hq
	wUwKePj9Mxt0stSgZr7i/9G0OU4xZPIRShl/RWUhQp/4NQWBBctKw/zm9m5Kxf8ZyQ==
X-Gm-Gg: Acq92OHxyW4zLXvufHCv+oNm/I97cFK98I+byPTdddIZDy+ANjuKxOMuj2XK+6+qh4T
	uqzirDmElXPEwthg8Bksap7LhPLydZVTEiuql+wyi9QXFo85bkMREoXbaGgP3Yr6p2tFvHCfqYn
	nUhTjME5jEBlo3rr9+A4GdMgp6xq9IWLOEJrJ5erWOctZpFnUrQdD6/GPMLSV/KO4KhpMzfBCAh
	rPRxN9H0Ng5sttl0tcJgbm2XvY1LGqQdtRIrZLiLkLp7UJntI4Jl2aMEBtFHaY4li4PPBlVYOgY
	YMAd61wpMv2j12iWa7i0qoFIdUruOk58Xwnau6lCrfDg6hLOTU6pE3NTyZB/BXwJeFeasRtUTUE
	qDDRpPtmx5fWAGDyTAP8GqsH/WXmD07TfPUey1vVGeoUWOu+FCa4nqWjNMSL1W5n8JnXLqiPQEe
	WviwaXyCtIVgcz2cXJ58V5LXKDzd0kZqiAboEApdXqiKRhCgOrukirIqRxkYALDOr4ttBJGP6/G
	eapIX/1A2hnqQ3iy3hu9P+1gg==
X-Received: by 2002:a05:600c:c3dc:20b0:490:c2a2:b1d4 with SMTP id 5b1f17b1804b1-490c2a2b3d1mr17539105e9.35.1780644360062;
        Fri, 05 Jun 2026 00:26:00 -0700 (PDT)
Message-ID: <9236d2d8-a553-4d2e-a924-42a454346620@suse.com>
Date: Fri, 5 Jun 2026 09:26:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 15/26] xen/riscv: introduce (de)initialization helpers
 for vINTC
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <fc5560cd49a2b952ce7724c23e41da3368833d9f.1778250616.git.oleksii.kurochko@gmail.com>
 <b95f7093-9ae8-4461-95d5-3c4b8a69c62d@suse.com>
 <003f5317-7669-484f-8095-4e48eedc102d@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: <003f5317-7669-484f-8095-4e48eedc102d@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1780644360-84F63D75-3BF59685/0/0
X-purgate-type: clean
X-purgate-size: 2290

On 04.06.2026 13:33, Oleksii Kurochko wrote:
> On 6/3/26 5:00 PM, Jan Beulich wrote:
>> On 08.05.2026 16:43, Oleksii Kurochko wrote:
>>> --- a/xen/arch/riscv/intc.c
>>> +++ b/xen/arch/riscv/intc.c
>>> @@ -11,6 +11,7 @@
>>>   
>>>   #include <asm/aia.h>
>>>   #include <asm/intc.h>
>>> +#include <asm/vaplic.h>
>>>   
>>>   static const struct intc_hw_operations *__ro_after_init intc_hw_ops;
>>>   
>>> @@ -94,3 +95,38 @@ int __init make_intc_domU_node(struct kernel_info *kinfo)
>>>   
>>>       return -EOPNOTSUPP;
>>>   }
>>> +
>>> +int domain_vintc_init(struct domain *d)
>>> +{
>>> +    int ret = -EOPNOTSUPP;
>>> +    const enum intc_version ver = intc_hw_ops->info->hw_version;
>>
>> Again - why would what the underlying hardware has control what all domains
>> get?
> 
> If host uses AIA (APLIC/IMSIC) compatible controller then guest should 
> use virtual AIA compatible controller, shouldn't it?
> 
> I don't think that it is a case when host uses PLIC interrupt controller 
> but guests are going to use virtual APLIC.

Well, this may be a present restriction, but once you want to support migration
(and different IC models), I guess you won't get around such.

>>> +    switch ( ver )
>>> +    {
>>> +    case INTC_APLIC:
>>> +        ret = domain_vaplic_init(d);
>>> +        break;
>>> +
>>> +    default:
>>> +        printk("vintc (ver:%d) isn't implemented\n", ver);
>>
>> If we take this path for whatever reason, ...
>>
>>> +        break;
>>> +    }
>>> +
>>> +    return ret;
>>> +}
>>> +
>>> +void domain_vintc_deinit(struct domain *d)
>>> +{
>>> +    const enum intc_version ver = intc_hw_ops->info->hw_version;
>>> +
>>> +    switch ( ver )
>>> +    {
>>> +    case INTC_APLIC:
>>> +        domain_vaplic_deinit(d);
>>> +        break;
>>> +
>>> +    default:
>>> +        printk("vintc (ver:%d) isn't implemented\n", ver);
>>
>> ... we're also going to take this path (very quickly afterwards), just to
>> get the same message twice without it being clear why it appears twice.
> 
> I missed to add printk("%s: ...", __func__, ...). I will update 
> correspondingly if we will follow this way.

That's not quite what I was after, though. I question the need for this latter
message.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 07:31:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 07:31:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329062.1593261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVP1S-0003of-AU; Fri, 05 Jun 2026 07:31:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329062.1593261; Fri, 05 Jun 2026 07:31:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVP1S-0003oY-7i; Fri, 05 Jun 2026 07:31:18 +0000
Received: by outflank-mailman (input) for mailman id 1329062;
 Fri, 05 Jun 2026 07:31:17 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wVP1R-0003oS-Ig
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 07:31:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVP1Q-003ny5-OR
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:31:16 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a227b3f-bab6-0a2a0a5309dd-0a2a4505a170-8
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:31:16 +0200
Received: from [52.101.56.51]
 (helo=BN1PR04CU002.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a227b43-aaa8-0a2a45050019-34653833187b-4
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:31:16 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by DM4PR03MB6062.namprd03.prod.outlook.com (2603:10b6:5:391::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.12; Fri, 5 Jun 2026
 07:31:12 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.007; Fri, 5 Jun 2026
 07:31: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NdzIDlsEJ8Q411c6Si2Gh9lzKbaiV7glEZuMhg7l9VV2I23VSVEj+9cwhpk8eqiO2gNY14zXww3sPtc7y1/YRFErDs2q5Kj766yqNLs8Uf4jWpWkQPpNRfT74D3vXeIhSJl1NUXkig7xSFTEmVZU+d9XW5LRGABIxU55XHrdjD8LO1Y+q5P2ZtwFoZfSk+7nj0osOxC6tc5TtRbSgir4HBiA06EOv1GUevXch6Lphz5sEPF57SSF8rbr506Df9ZdiSOC1Djr6b7bKetDTRSybnRrZJoR1jC43qq9z67v2K2Gwis4n7/q9e0MxwzfDn6eMkUX1gqo76ueXF/roGJWvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vEWMervWil5/lmsySHiCXcMsh/pGu6g4ybWWQMz97ws=;
 b=oOgMGN2z7HQBiECfE1eU/3HaygsXcz9HcODZyg7rhuGNhLMyBA2Nbxnv3AhZV4K4Oxr6vMtdFNT8xhHDl4n1/MR0zh7cduofm7EU3YchByCKkjYVbCOcJ+7Zdx5ETcyKyABtnd4x9wczaPbJYK9yO+04FSBV8DcJtlw9cMjGHG/xOrkalHSWWcGsz1aCtR+834odLSoMW6I8XFNML+YcpBohvblqj5PN8su5Eprwr8hy4dxgC7ByQcoG4VTk0LmqCRHJ5Ni/Azqxj5P4D5V/ZWaep/Qejwd6ZRWFyAZyEzPikAM4AuZITDdKdD/VzEAHeI3O4MwPeppDKzy3/H0lIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vEWMervWil5/lmsySHiCXcMsh/pGu6g4ybWWQMz97ws=;
 b=F0v+IsvyPfCbX3FKkUvzoduVEy7R1tKIOsaqObY7YMT0yl6ZYPL1yUqWIeYyno7tcTPYNwgzXOAoe6yqFXCLEGTybKlNeOTeeWDytuGxssyMcZ3lCo+M5Mq463AQ4w3uEuhc+aKgdi6yDr8HrPMXmBqKVDd3ebO38GVSarbDxHQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 5 Jun 2026 09:31:09 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: Re: [PATCH v2 1/3] xen/x86: Remove unneeded stub_page setting
Message-ID: <aiJ7Pe7o7t47rxqR@macbook.local>
References: <20260604231837.804560-1-jason.andryuk@amd.com>
 <20260604231837.804560-2-jason.andryuk@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260604231837.804560-2-jason.andryuk@amd.com>
X-ClientProxiedBy: MA3P292CA0067.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:49::8) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|DM4PR03MB6062:EE_
X-MS-Office365-Filtering-Correlation-Id: cf958d12-0259-4728-8d3e-08dec2d46b71
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|366016|4143699003|11063799006|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	z0TljaFdCV9l8HM2GzVUC+S3wt3Fz052D1CiFtaku7IEhX2zl11F7OTOtMXHPKfVA7l8g1bQT+4pYt6rF6dPOgurEr5oLTHGOLXO0oSfuOU5eAhQKfElI4OJylNYozNvIp9DIGU6fOhtDRTtUmXBYi1VQl9nK1SZqYoDgLKeCA3BJQOalPw5G45LO3wfTFP/ixQ4xnKl51MtJGuULN0I8HQ+bfHNPoRU2cG3ZMGuTlL5q5G4cmPi5Ojug7DbkI14UdStZwHyj4Ncwjo6xQ80+CNc/bTE1f7qrtUf0dPIySeK2BXYQf4FPU7Ya8xc2qTv7tQag51bJvwvXANFuQQGZxQmdoR69us0n8litX0gFwgTkRRLaWrb7J3F9tGZ6nXjBDRKQsesNCdw26in2wrKBctUf/NxdzvVNSpXiRFUePeroQGfucGmKRPJ3gb+li6n5GmVDodSAtbx9o1dfg2wrmwuSQQBwzD2g4QqXEvH8ilvHAn8FM0dAiWf+eazlgMc6IZ3i3oLPVXkB9KRInWRp+sBKw3w+N8+8UgELyuSihUFhewQgLp/O3aHaSpI4qvk7Osho0oWv1ra+T4jmwVZTxu6pc+VQfGcF82sZVVR1Z/vwVr5v8TPO3r87ncd+/wFEvl7cvYbYTc4r8FPRb0b6HuRb47lULB+iV4w0FTl89W0EBmDXEEXw4HVZSWQxi2l
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(4143699003)(11063799006)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Yk96RExMUXQ1akhESUJ1QlN3RGNGOTExY3RaK0tPbWVRaDhzUWJ5Yk5CUXVq?=
 =?utf-8?B?RkRPUE5CUnZaR1hpdmM2ZVRFQTZ3Tk5RRWRoNGRaYURMcCtnRzdra2c5SCtT?=
 =?utf-8?B?OWJBTElOeEtoZWh6VFZSNlB5dFJ5ZzRaWnFEZW9FWWVia1JWK0dXblJMRkp4?=
 =?utf-8?B?SS9KWGxwQUs0QlVDeHhvc2hwdjVTSDN3QnYwaUdOZEd2OEh6eTF4OTBiczdD?=
 =?utf-8?B?NFk1M2VqcjFmTWFyR3Z2U05xUVdxQWllZFZjWFVJOXBFaGMvekk5ZndmYWI4?=
 =?utf-8?B?RFVQK1dUTjJVZVRPVWM3bExGQmNsQlErbWxjMGV6MnZRcHkrS0RlSkdTVlcr?=
 =?utf-8?B?N29odGZka0tFWXQ4aUFrNFk3VFlmbkRSOHFoTURmRG11SHNmMkhDU0hZOS9w?=
 =?utf-8?B?SnY2cTRaZXA0dmcyTHF1YW03NGdSQ3dYa1hTRUFZUjVhU3BCNkZiVjlGUnc5?=
 =?utf-8?B?ZURFNUwyV1VKTGtPcTJ6OTU2RitKSkJBMEJMQ0RTazZCV0R3S1Zxa3dzZW85?=
 =?utf-8?B?TFNhU2lMODg2Z0oyZy9NT0FXelJyQ2N2dEZZVFJTZGNzQUpJd2RHR0N6SGNt?=
 =?utf-8?B?anRzWmZ1bzRta2NpcmNCUWZXRlMwUDlsTUtvY0lMWGpLM2Z6bXM0eldHakFI?=
 =?utf-8?B?S0VmUzJtYkFlNUlLMmZpU2JLZnJzYXNXcXNPZkZIK3FaRFhaMUhYZi9ZdEZT?=
 =?utf-8?B?U3V6QjBOemZDMjVGSjVYb2h0UTJFd2pTODFvcjZKTysxcEZsNitjd0RnU0xj?=
 =?utf-8?B?dGVxMWhBeWNFMDRYKzFjMEtWV1k1Y2hHWTNHcmZGK3R5YlpudTdFSVRXM3FE?=
 =?utf-8?B?UEtaQ0o2N3AvWjlKa0dmaUV5b053UGpsY2c0MVQ4K05HZjRFWWVtZzhxVHRH?=
 =?utf-8?B?YzM5ZmFtNE5Vd2JpZ3VxUEg2cGp3VjBzWVEwU3h1YURvckx5bFV3cUJCUEV0?=
 =?utf-8?B?L1dJZDFxNS9GR2xsOHB4dm5QdW0vcUxQVktwYW85TmMrUFN2M2ZjRzhaQ0w5?=
 =?utf-8?B?RHdCT3B2dTl3dFZsN1pDSWw0NDVwUGQzN092b3RzcnJwODVMbVlYZXpuRkY3?=
 =?utf-8?B?d1lETGtsbDkzZ2lIVmJpcGRqRDVXelBraS9aZXF4Z2dnemFCcmI5a0dqVzda?=
 =?utf-8?B?aUZFRVNYcjRHK0VPYzZxWXZuUkd3c3RHdlAxcnhuMWVOT21MNmp2TG9SMGZB?=
 =?utf-8?B?bE9lSXZFNjVFQ0dqWFdxeFFXYUJDUGlUdUZ0a2VmVTc2T3I3MzhxZmNEMEtN?=
 =?utf-8?B?Rk5yUFlWUjlCUkVGZWVBVHg5aFk1dnFTalQ5dXA3WUQ5YXdjZFFvQ01QcnNy?=
 =?utf-8?B?M0pBMlk0R25CRklOUFkzU0w5dVB2NDQyRDJOUWdHcHdDVVJJQlNjaVF3Tmp5?=
 =?utf-8?B?dEhMa1QzS0E1RWxIaWFJMXNaME9PbUZuKzB3UHN3ZlpzbW5YTExWU0FJWENN?=
 =?utf-8?B?UGdJRHFvUFkyTzBTY2M3QW9sQ09oajlJeDBtRkV1L2hrY2RobFFlVHorZU9J?=
 =?utf-8?B?aVhkSEV5OVhjT0xoUVNxZ0FjUTE4VEpabUZKMVI1S01GRUVYenorQUxOdkZX?=
 =?utf-8?B?eFRGSHFNM1VTbDlMR3dwUTYvS1NiNUc2dE9NVGY4ZlFqVi9XTTJxNVA4aGNM?=
 =?utf-8?B?V0tLZU13bW9vZFBDUmZGUEl1akF4TjE3Tm9aclNaWHdJbURQTnV4bDdhczFR?=
 =?utf-8?B?NHNmRkRMT1Q4TXljdGVvUzNwNktNSXRBL3NRMGViYXZrc0tuYW5DcXpNZWM3?=
 =?utf-8?B?MjRSQUNDUmJXejZmSlJhdmZHTU1OcDNsMndhcm91dWpha1dpNUpSVytEM096?=
 =?utf-8?B?czgyWExqQlEyOEIwbHlWQ1M2bVZ6VU5VMlNIMVRVcVAwTEdsSVNKQkhVdjN2?=
 =?utf-8?B?cTh5cmtETUxFL09FS1JSMG9aTFF0bTVPSWpEN3pYU0VQd0g3SHBqWmFpaXRV?=
 =?utf-8?B?R3hpSkpkU2tTeFAxK1JGNkRuS3I0a0NMWUNWaTMzSi9FaCtyYnowVU1lb2Nr?=
 =?utf-8?B?azNmb092RWhYZnlvSU5aZms2KzNEZTI1K3ZZWVlSYzVTUW1hUEF1b3JZVkxu?=
 =?utf-8?B?aWRoOGVFd2JyNzJJNU53UVR2M3U5UFpmMjBLbG9Wb2Iza0xKMHRoU2hqNkNL?=
 =?utf-8?B?aTlPMjY1enRTSll4Q2Erc3greGJVZkxYejc4bVNyNis2TU9iaVZhdFVKVk9I?=
 =?utf-8?B?R1ZEMWtxeVB2c1VXWTNSNTZyc3BHTnMvRWdBZE5DMEZOVjBBTDA0SGFubCtK?=
 =?utf-8?B?WndBZ1FPNDlyaisxaGJQVDZoSGdaSDhtYzBaY0lTYVhSVmdHU2JLMWNJYndW?=
 =?utf-8?B?VzArUGRHUy9TNDRtYjVXYmU4NnEyWFY2aVhjQnI4Q3VoUURmeW1Hdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cf958d12-0259-4728-8d3e-08dec2d46b71
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 07:31:12.5936
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ueXPunXBMlk8r8S6rw6FUJAznsPs5icQI5i+96efeVI3RF3CM4uAwPPTIT0dxzL2odRbSYBNrCxT3A2k0wj1Cw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6062
X-purgate-ID: tlsNG-c201ff/1780644676-DA969443-EC329B36/0/0
X-purgate-type: clean
X-purgate-size: 395

On Thu, Jun 04, 2026 at 07:18:35PM -0400, Jason Andryuk wrote:
> stub_page is not used in the for loop, and it unconditionally set below
> just outside the patch context with:
>     stub_page = alloc_stub_page(cpu, &per_cpu(stubs.mfn, cpu));
> 
> Remove it.
> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

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

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 07:31:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 07:31:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329065.1593271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVP1y-0004FP-JP; Fri, 05 Jun 2026 07:31:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329065.1593271; Fri, 05 Jun 2026 07: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 1wVP1y-0004FI-GJ; Fri, 05 Jun 2026 07:31:50 +0000
Received: by outflank-mailman (input) for mailman id 1329065;
 Fri, 05 Jun 2026 07:31:49 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wVP1x-0004F6-4s
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 07:31:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVP1w-004voC-Hb
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:31:48 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a227b62-5cb7-0a2a0a5109dd-0a2a4502c408-6
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:31:48 +0200
Received: from [209.85.221.47] (helo=mail-wr1-f47.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a227b64-af86-0a2a45020019-d155dd2fe4ad-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:31:48 +0200
Received: by mail-wr1-f47.google.com with SMTP id
 ffacd0b85a97d-45ef372c58aso911560f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 00:31: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-4601f2f2710sm18175800f8f.14.2026.06.05.00.31.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Jun 2026 00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780644708; x=1781249508; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=TkT1yuUnaOpkAgQd6/ok2I+qDGODhgBRws+6q5K4/DM=;
        b=Yzt6G4D315IPX6hdx2H7CsP4vFs+H+wAElvuQTo3FdhA8BZLwKbUYel/6rdgdAYl6n
         SMzmLeSO16UF+i/4gzuOAjd9nmkZFu2llHsMhx9y63Oy4kez1jB/QUjAyO+WjRRL0nPN
         vhbOsGLRUgjNZ/qY7tV5IdbLqG0CcNSK33iXS9ShuqnWSZbQ53idiIShMJzhJ9fDIeNN
         DtwNrLR2gMoPyW2rZjmSl+eIeJAHjlGQISUUJx+qTbT1A6FbDTwQ1E+dtDdhGbvTsbip
         7AhRS3Lg7EdhopCD0r1JOIGs1xDNUQaa00GSHkw8JA7XIR8S3s9cOwHdvW0N0gWg2AOy
         YfRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780644708; x=1781249508;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TkT1yuUnaOpkAgQd6/ok2I+qDGODhgBRws+6q5K4/DM=;
        b=mDqzfscBF0C1MeuW9v6zGAFEKjr+iOnU3HlYBojzQQdWPVK1U5q3w4ELc17+ngx7Hk
         6V9UP76CytJKQP1sgMzHMlImQdpGreW+6X1V3s+8zF/PHhoHItAJLL7VRI0uju+Ll+F3
         D7az8hMq0SmV1EqY4v8VGi7IPre04g+Uysl4fURezHuCBSNonTftWF6XypyWJxAtlI9o
         k5qgjiPxI3I1uulx4apWm5qzIb56RUfyWPxze5ynrFXSm3ae/MfvXeH+aI6khaRCXZS7
         NwAiBk39HCilO4CoLFlK5mEvVrYN3qG8tRQukhiY4gT7/Jr8HczVsiOUTiBPiAaq7fGs
         YdKQ==
X-Forwarded-Encrypted: i=1; AFNElJ+UmtyaY5wxpbWs3zy5qzpZEA8PMt0OM4HyV6fu98HP1Pwnmj/f0a17xyBkSRIm1A5y0NiT5jSSdbU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy4ooITh2jwEupp8e+jINMB9CAFcknXBfsyo8jUvCI24Ld2q/qw
	p2sVZNPbcSbIpHqdUKF25qsMxvNyViWtAMXMAlBzWaF1+CKoG/wX8PIz1c6P/mSa9JmAhtnpX0Y
	bHOg=
X-Gm-Gg: Acq92OGdHjc89DOP5oofRmkuipA96lyrVZnnVRS/eQN+z3MWYWhJwdgEia3/8egUZzy
	FlpmeEwLq+GMuwwVf1p46UvB8IXVWgM169f7B31lHGnVSdFR0BuQ/nTXvFRMBJABisT9qCHTFSZ
	AgExeymezzdirLKrVDTEQoBTCEQkraVXHhM+grkBk8UA3DDLQ4dxgWI4JM9go/DVMcStvooxCe6
	TOK7lT7ukc2ivonVI6jD08O/L2RM2qxS1r/OQXyavMeylT/D9bIsgqIqTT/8JjXzUsWlMKnV1Es
	IkcSniEhQpym2ga/rCE2ZRmu45e3G9vhpAhxUu2NDJPCpWHULGAXaTggeyF+AqoaSr5u2mRTbkv
	Xe6gNES1URVsjoscwXyXEAJqGxRoiHRs+UAl1qXDvjunjqj/gCLvoCfnIpy09qFyTZVnG63PyI6
	g6CslSeCh4AajhUCjN1w+FQl22nrC4QElaGWmdz9sY2v8IKCuMKUSU70Ee8zhUMTLfQYnHp2d96
	tEnAH6GPuD2Cs2aP8CnRWSK/rQLdaXjOxds
X-Received: by 2002:a5d:4647:0:b0:460:1a36:deac with SMTP id ffacd0b85a97d-460306320cemr2980619f8f.24.1780644707208;
        Fri, 05 Jun 2026 00:31:47 -0700 (PDT)
Message-ID: <88c0f573-087b-4f66-9045-1f480e4aa83c@suse.com>
Date: Fri, 5 Jun 2026 09:31:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 17/26] xen/riscv: generate IMSIC DT node for guest
 domains
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <19d30d3c34a6ac9aeb668e1fc56301620b177db0.1778250616.git.oleksii.kurochko@gmail.com>
 <3da2f796-4dc7-408a-9ec9-f0e8bb02b1a9@suse.com>
 <f4d899ba-8a27-48dd-a724-55557b345647@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: <f4d899ba-8a27-48dd-a724-55557b345647@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-720697/1780644708-82F6E161-235404E3/10/73395122804
X-purgate-type: spam
X-purgate-size: 4471

On 04.06.2026 16:21, Oleksii Kurochko wrote:
> 
> 
> On 6/3/26 5:21 PM, Jan Beulich wrote:
>> On 08.05.2026 16:43, Oleksii Kurochko wrote:
>>> Guests using the IMSIC interrupt controller require a corresponding
>>> Device Tree description.
>>>
>>> Add support for generating an IMSIC node when building the guest DT.
>>> This allows guests to discover and use the IMSIC interrupt controller.
>>>
>>> Co-developed-by: Romain Caritey <Romain.Caritey@microchip.com>
>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>> ---
>>> Changes in v2:
>>>   - s/imsic_make_reg_property/guest_imsic_make_reg_property.
>>>   - s/imsic_set_interrupt_extended_prop/guest_imsic_set_interrupt_extended_prop.
>>>   - Use initalizer for regs[] array in imsic_make_reg_property().
>>>   - Move buf[] insde the for() loop.
>>>   - Correct check of returned phandle.
>>>   - Drop local variable len.
>>>   - /s/XVFREE/xvfree in imsic_set_interrupt_extended_prop().
>>>   - Drop initializer for local variable data.
>>>   - s/uint32_t/unsinged int for pos and cpu in imsic_set_interrupt_extended_prop().
>>>   - Drop next_phandle as it is now in common code.
>>>   - Introduce vcpu_imsic_deinit.
>>>   - Refactor vimsic_make_domu_dt_node() to avoid usage of host IMSIC dt node.
>>> ---
>>>   xen/arch/riscv/imsic.c                    | 127 +++++++++++++++++++++-
>>>   xen/arch/riscv/include/asm/guest-layout.h |   2 +
>>>   2 files changed, 128 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/xen/arch/riscv/imsic.c b/xen/arch/riscv/imsic.c
>>> index ceea6778d9dc..19cbacdf96e1 100644
>>> --- a/xen/arch/riscv/imsic.c
>>> +++ b/xen/arch/riscv/imsic.c
>>> @@ -13,9 +13,12 @@
>>>   #include <xen/const.h>
>>>   #include <xen/cpumask.h>
>>>   #include <xen/device_tree.h>
>>> +#include <xen/domain.h>
>>>   #include <xen/errno.h>
>>> +#include <xen/fdt-domain-build.h>
>>>   #include <xen/fdt-kernel.h>
>>>   #include <xen/init.h>
>>> +#include <xen/libfdt/libfdt.h>
>>>   #include <xen/macros.h>
>>>   #include <xen/sched.h>
>>>   #include <xen/smp.h>
>>> @@ -35,6 +38,11 @@ static struct imsic_config imsic_cfg = {
>>>       .lock = SPIN_LOCK_UNLOCKED,
>>>   };
>>>   
>>> +static unsigned int __ro_after_init guest_num_msis;
>>
>> How come this is __ro_after_init, when it's ...
>>
>>> @@ -291,6 +299,11 @@ static int imsic_parse_node(const struct dt_device_node *node,
>>>           return -ENOENT;
>>>       }
>>>   
>>> +    if ( dt_property_read_u32(node, "riscv,num-guest-ids", &tmp) )
>>> +        guest_num_msis = tmp;
>>> +    else
>>> +        guest_num_msis = imsic_cfg.nr_ids;
>>
>> ... written by a non-__init function?
> 
> __ro_after_init should be dropped. I will use __read_mostly instead.
> 
>   Plus are you again inheriting a host
>> property into guests without saying why?
> 
> Based on the discussion for similar place around vAPLIC code in the 
> previous patch I will add here or the comment why or introduce 
> VIMISC_NR_IDS and use it instead.
> 
>>
>>> @@ -524,8 +537,120 @@ int __init imsic_init(const struct dt_device_node *node)
>>>       return rc;
>>>   }
>>>   
>>> +static int __init guest_imsic_make_reg_property(struct domain *d, void *fdt)
>>
>> Same question again as to __init throughout here.
> 
>  From Arm code I understood that libxl creates the interrupt controller 
> node in userspace before handing the FDT to Xen so this and related 
> functions won't be called by userspace.

Hmm, okay, on the v3 submission I'll have to keep that in mind, and call
paths will need checking accordingly.

>>> --- a/xen/arch/riscv/include/asm/guest-layout.h
>>> +++ b/xen/arch/riscv/include/asm/guest-layout.h
>>> @@ -5,6 +5,8 @@
>>>   
>>>   #define GUEST_APLIC_S_BASE 0xd000000
>>>   
>>> +#define GUEST_IMSIC_S_BASE 0x28000000
>>> +
>>>   #define GUEST_RAM_BANKS   2
>>
>> Is this going to become an unannotated collection of (seemingly) random
>> numbers?
> 
> Could you please clarify what kind of annotation you would expect to see 
> here? It's just an address, which is typically used for IMSIC by QEMU, 
> so I chose the same notation for the guest address as well.

Well, how could I have known? The description says nothing, and there are
also no comments. The numbers here look entirely arbitrary, and if someone
wanted to change them, it wouldn't be clear at all what constraints need
taking into consideration.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 07:32:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 07:32:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329071.1593280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVP2W-0004pA-Un; Fri, 05 Jun 2026 07:32:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329071.1593280; Fri, 05 Jun 2026 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 1wVP2W-0004p1-Rv; Fri, 05 Jun 2026 07:32:24 +0000
Received: by outflank-mailman (input) for mailman id 1329071;
 Fri, 05 Jun 2026 07:32:23 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Michal.Orzel@amd.com>) id 1wVP2V-0004n7-1K
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 07:32:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVP2U-00CoGH-EO
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:32:22 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a227b79-5cb7-0a2a0a5109dd-0a2a4507bbe4-26
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:32:22 +0200
Received: from [52.101.61.2]
 (helo=DM1PR04CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a227b84-229c-0a2a45070019-34653d02e47b-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:32:21 +0200
Received: from SA0PR11CA0158.namprd11.prod.outlook.com (2603:10b6:806:1bb::13)
 by SN7PR12MB6862.namprd12.prod.outlook.com (2603:10b6:806:265::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Fri, 5 Jun 2026
 07:32:14 +0000
Received: from SN1PEPF000252A0.namprd05.prod.outlook.com
 (2603:10b6:806:1bb:cafe::7d) by SA0PR11CA0158.outlook.office365.com
 (2603:10b6:806:1bb::13) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.8 via Frontend Transport; Fri, 5
 Jun 2026 07:32:14 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 SN1PEPF000252A0.mail.protection.outlook.com (10.167.242.7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Fri, 5 Jun 2026 07:32:14 +0000
Received: from Satlexmb09.amd.com (10.181.42.218) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Fri, 5 Jun
 2026 02:32:14 -0500
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb09.amd.com
 (10.181.42.218) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Fri, 5 Jun
 2026 00:32:14 -0700
Received: from [10.71.196.80] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Fri, 5 Jun 2026 02:32: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ElwSKkuIAAdYHrY0zRS3enFI61eAJVV6mzLfcSPvgwwlvXAuxn3WkPHSiY4lPBcpAJxh3HghJP7J2n43ueaA2kpYbQTD6X8BFIA5hVMrT7XGrj7r+ocBu8FMJpqoiclsbQcRPUgvkxPq2E3vWHjX9plzDcDiueFAw1AN9Jh1/FB879P1Ziw1k46iFxj2DiWU2fRCMr0zNocaOMY20UQOKKNKml+COw5rucgXqAjXtmLhqurhQPxoytuByUbiLGzNZTmbiqjLsjxfdBAJ9Btq4A88dy/SA+bwo9DYwmnrziAexkEgqIkthOhOrJHQRmw18zS0+sVI5HBKkBcHW28QtA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oYbuIrUeTrWLgxY5yQau4n0OkZqTKlc1wIVppU03Gts=;
 b=JwKHpumdn/SV8DMkuJz0Npq6wExCh8UxmT8g0qiDHZnX9qiWzz0qOColUV5TrGXg2icUSdK/lBnp/Ms9j1iO/MWvKgTWIc8IvVj2uDnVGAKG5Sg+5KUAQlh6nOBsu8nBICcx6k1MD1BJXSDUSa0iNEkK7/8hnAdVApzTssW4uPp3Ed6nVarNmyTtwJrgVn8a1O2JubhiG/vM3Vzi8dzRLTinVF/80yJVIcw0ShiUQJOIEDCjosyVAmgxV10KhK1/G+r2A8g1Uuzb1jGHqruVMMab0P4X0L5h4CkXv72LdI3BEmMVpBVGCQvoacI4Xxm7qmS38wOx3zqjNsEaGwRDkA==
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=oYbuIrUeTrWLgxY5yQau4n0OkZqTKlc1wIVppU03Gts=;
 b=WCAhOsPghH5jONB9LoOsF4DC//EgJm84wYSU0Cpvq7/POApNEqUkHxAWdE85KvMuI8RyzsCdXO4iEmwFKADbev6k99KRHEF5QEk7YGg30oYPFhAOzQT9QnD+slPJIGpXapp8nuJ0/TxrqjXxDS2zpFhTmCMzb2/UdPYSie6KpTE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <a026d572-f0f7-4797-819a-ff3490ba14c8@amd.com>
Date: Fri, 5 Jun 2026 09:32:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v2 1/2] xen/arm: split DTB/initrd placement
 helpers
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>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <cover.1780602987.git.mykola_kvach@epam.com>
 <11537d2b05a6c36d4ba0d852efadeba91d9f6225.1780602987.git.mykola_kvach@epam.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <11537d2b05a6c36d4ba0d852efadeba91d9f6225.1780602987.git.mykola_kvach@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF000252A0:EE_|SN7PR12MB6862:EE_
X-MS-Office365-Filtering-Correlation-Id: a4f40174-761d-455f-2151-08dec2d49099
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700016|1800799024|82310400026|376014|3023799007|22082099003|18002099003|6133799003|56012099006|11063799006|4143699003;
X-Microsoft-Antispam-Message-Info:
	J4H0Oy22TThe4qActUmwlNDW9vVc5PsjlU1N1N6hLgeHDUwKa9Gps+ztgejfVZPQEi+EWv4cyOM/sCi8w1LdvDdeQQZWlrASUpJToqsRcvMl20kFTb+T4XwR/38qf0h0iwhYnPH07fkl+/mZbd//tFGw7WdMWomvfuq0f5e/0GSygvrKQY0Ekj42LIAiCHLTajKObmv9nso2qW4c/luqrF0b3lqCxjrNCDs3piNxLxqatwLcKjCi62Qn4iQ+bPwGOHe21rz/+oK1OGD6DddkKh0pQIyh414CRpbhSVzGDNQyZoYEUiNstd1tlPJtYCEIUUgbCOJ20r77QqyRtYPBwO6q/n/WfBvBsiZVDc22y68VPm/amuTtnx6inM/D5iwbZMpbjTBaRwCnr62ru1duytr2MQLz7udV8NYLLPQ6EvX3q+WR++EW2nsN5B0tzpfBsPU4eDkaYixsvruFz3unJhPY1Mp1JfRHKHlxTn75Il5YrGt6Dr47DGV/u+p6xFfB9+FG7YNKpANSdSrPdfdnYE46XW5Fu4L6kzCCWnx3pBhEWZ2SUCokcKyD5EjOjCGC2A6XbcX+nEdb1ERbf7XmeLLxBvnxb4IJegeabTay4QMXQuaZVoc6lN6kVi1/KYZUFr7AV9XwUT27Y8EvhUm7VpEK+CeEfnhSgRgOPmI1O9Y2Jj5+FdH80WiBTtvRQLU8RKgJZzGbSH35I1hwl9BqaYFMdeC28pe4zrLV2auLMDE=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(1800799024)(82310400026)(376014)(3023799007)(22082099003)(18002099003)(6133799003)(56012099006)(11063799006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	MwAb7dMUMR8Kiu1Ef0VTLJ258c9gonrMzimdp0wweMG58B4egweqFaDjPXBylbnk+LfSU7Edd9nmwLJOLR69cfGNnTXyV9qB2OtldFO0hSh5ED5+swlMZAJ5r1IcNJqPnMu0Y3+aa0iEwnyeoNzixv6X0ivLzepSG0fOR45lbLE68C07gWEe+mcx8d1XOJP7+jUUCfM6FTWnOlKJGQ7PT/bh2oFxtTJ8QPRiWbZZ7bkE54ywCqvypbXpppjLl4iBDRciCOUHaGkrxXagI3VeMPy0qHciV3ndwmycuCksixHCXFhmRgzKYrdb8tvGQl4PQcU2FsYMVQi4WZXMsr+F/u3hRZ/w4HXUYYJ93ULhlhsjFu1NXj77DfcrPEbJf0t/bzhDuhOSHAUVE5cE76q7H9TvtxYhVvvqaDRgM8n1v8Fk7IfcRQ2FL8nY6zPlEEf9
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 07:32:14.7584
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a4f40174-761d-455f-2151-08dec2d49099
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF000252A0.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6862
X-purgate-ID: tlsNG-ef75cf/1780644741-22772C48-655F04F2/0/0
X-purgate-type: clean
X-purgate-size: 5836

We are in the RC phase, so please CC Oleksii (release manager) as we need his
tags for fixes. Adding him now.

On 05-Jun-26 07:19, Mykola Kvach wrote:
> From: Mykola Kvach <mykola_kvach@epam.com>
> 
> The Arm zImage loader currently computes the kernel load address and
> places the DTB/initrd in one local flow. The hardware-domain memory
> allocator needs to reuse those placement rules before it chooses bank 0,
> but open-coding the same calculations there would make the fix harder to
> audit.
> 
> Split the existing logic into small helpers:
> - kernel_zimage_place_in_bank() computes the zImage load address for a
>   given bank.
> - first_bank_can_fit_modules() checks the aggregate first-bank
>   footprint.
> - find_dtb_initrd_placement() chooses the DTB/initrd location within a
>   known bank and kernel range.
> 
> Rename place_modules() to place_dtb_initrd() so the code distinguishes
> the kernel image from the DTB/initrd placement area. Also update the
> stale xg_dom_arm.c path in the placement comment.
> 
> The caller still panics in the same cases as before, so this is intended
> to be behavior preserving.
> 
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> ---
> Changes in v2:
> - New patch split out from the hardware-domain first-bank fix.
> - Rename the DTB/initrd placement helpers to avoid treating the kernel
>   and DTB/initrd as the same kind of module.
> - Pass the RAM end address to find_dtb_initrd_placement() instead of
>   recomputing it from the RAM size.
> - Update the stale xg_dom_arm.c reference in the placement comment.
> ---
>  xen/arch/arm/kernel.c                 | 147 ++++++++++++++++----------
>  xen/common/device-tree/domain-build.c |   6 +-
>  2 files changed, 97 insertions(+), 56 deletions(-)
> 
> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
> index b72585b7fe..d1be4d8074 100644
> --- a/xen/arch/arm/kernel.c
> +++ b/xen/arch/arm/kernel.c
> @@ -40,27 +40,59 @@ struct minimal_dtb_header {
>      /* There are other fields but we don't use them yet. */
>  };
>  
> -static void __init place_modules(struct kernel_info *info,
> -                                 paddr_t kernbase, paddr_t kernend)
> +static paddr_t __init
> +kernel_zimage_place_in_bank(const struct kernel_info *info,
> +                            paddr_t bank_start, paddr_t bank_size)
>  {
> -    /* Align DTB and initrd size to 2Mb. Linux only requires 4 byte alignment */
> -    const struct boot_module *mod = info->bd.initrd;
> -    const struct membanks *mem = kernel_info_get_mem(info);
> -    const paddr_t initrd_len = ROUNDUP(mod ? mod->size : 0, MB(2));
> -    const paddr_t dtb_len = ROUNDUP(fdt_totalsize(info->fdt), MB(2));
> -    const paddr_t modsize = initrd_len + dtb_len;
> +    paddr_t load_addr;
>  
> -    /* Convenient */
> -    const paddr_t rambase = mem->bank[0].start;
> -    const paddr_t ramsize = mem->bank[0].size;
> -    const paddr_t ramend = rambase + ramsize;
> +#ifdef CONFIG_HAS_DOMAIN_TYPE
> +    if ( (info->type == DOMAIN_64BIT) && (info->image.start == 0) )
> +        return bank_start + info->image.text_offset;
> +#endif
> +
> +    /*
> +     * If start is zero, the zImage is position independent, in this
> +     * case Documentation/arm/Booting recommends loading below 128MiB
> +     * and above 32MiB. Load it as high as possible within these
> +     * constraints, while also avoiding the DTB.
> +     */
> +    if ( info->image.start == 0 )
> +    {
> +        paddr_t load_end;
> +
> +        load_end = bank_start + bank_size;
> +        load_end = MIN(bank_start + MB(128), load_end);
> +
> +        load_addr = load_end - info->image.len;
> +        /* Align to 2MB */
> +        load_addr &= ~(MB(2) - 1);
For the future mechanical changes, you should not be making even such tiny
changes like s/(2 << 20)/MB(2) without mentioning them in commit msg. For today,
it's ok.

> +    }
> +    else
> +        load_addr = info->image.start;
> +
> +    return load_addr;
> +}
> +
> +static bool __init first_bank_can_fit_modules(paddr_t ramsize,
> +                                              paddr_t kernbase, paddr_t kernend,
> +                                              paddr_t dtb_initrd_size)
> +{
>      const paddr_t kernsize = ROUNDUP(kernend, MB(2)) - kernbase;
> -    const paddr_t ram128mb = rambase + MB(128);
>  
> -    paddr_t modbase;
> +    /*
> +     * Check only the aggregate kernel + DTB/initrd footprint. The actual
> +     * DTB/initrd location is selected by find_dtb_initrd_placement().
> +     */
> +    return dtb_initrd_size + kernsize <= ramsize;
> +}
>  
> -    if ( modsize + kernsize > ramsize )
> -        panic("Not enough memory in the first bank for the kernel+dtb+initrd\n");
> +static bool __init find_dtb_initrd_placement(paddr_t rambase, paddr_t ramend,
> +                                             paddr_t kernbase, paddr_t kernend,
> +                                             paddr_t dtb_initrd_size,
> +                                             paddr_t *dtb_base)
> +{
> +    const paddr_t ram128mb = rambase + MB(128);
>  
>      /*
>       * DTB must be loaded such that it does not conflict with the
> @@ -77,55 +109,64 @@ static void __init place_modules(struct kernel_info *info,
>       * just before the kernel.
>       *
>       * If changing this then consider
> -     * tools/libxc/xc_dom_arm.c:arch_setup_meminit as well.
> +     * tools/libs/guest/xg_dom_arm.c:meminit as well.
This fixes the kernel.c -> tools pointer, but the reverse comment in
xg_dom_arm.c:meminit still points at place_modules. This needs to be fixed.

I think this can be done on commit, therefore:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 07:32:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 07:32:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329075.1593288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVP2p-0005At-6o; Fri, 05 Jun 2026 07:32:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329075.1593288; Fri, 05 Jun 2026 07: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 1wVP2p-0005Am-3p; Fri, 05 Jun 2026 07:32:43 +0000
Received: by outflank-mailman (input) for mailman id 1329075;
 Fri, 05 Jun 2026 07:32:41 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wVP2n-000596-L6
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 07:32:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVP2n-0005ti-1g
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:32:41 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a227b92-bab6-0a2a0a5309dd-0a2a4505c164-44
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:32:40 +0200
Received: from [52.101.48.25]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a227b97-aaa8-0a2a45050019-34653019a56b-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:32:40 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by DM4PR03MB6062.namprd03.prod.outlook.com (2603:10b6:5:391::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.12; Fri, 5 Jun 2026
 07:32:37 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.007; Fri, 5 Jun 2026
 07:32: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=SXXhghop2KS1V/0oRL4xskh5mMWtdkYpFCvq6+G/nfuDSPbIweiNsTqdnvzdD8OyC3S+sV7eGftjSLYL6a8YeN31ZRWDqo8gqmUKfRxH0x5s7VsGWIIhErqKmmYcKokaCzp1FzFxiynM7eNh4aEf02+fn+ax2SJJ2CuPZy2m2s688xrGeJgy6FlQl25BxcMGn4bAhkV3B2NljcvL8HPncjGsogzSioF7blcVVCWyaxbtqWdlCZ2l+jk5M05E/B+S5jHUqGXVy4cEYPQsjs1Y0IECfJS13dPfW98maC/qCQl+47896Suva6tGxFVCMS392ZtJYGTwebjbH7KItjvDaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nNsMsB8giOxuzXS+KnQoaYlk9xNl1w2DzXclUzTWedM=;
 b=gUwi7fu7Tam8TmoBAiMxyPEo2tKN9aUz499wFJv/6uTQfX/oTIKvkLmxtHKqAB14paLA+xAc8Ypau5WE3CKnt1vmGMHksSEzaKpwduQvuofCurh5ORSsgdxCmr/w4zE1/3678fCwuxFyjWDkmGQDeZeHagUAe3QEkTTdVoHuC4w/pgxzhhdNETL2waUHJnxzS2VqVx17QsiGaKy7QuHaRSm1a+bzty0jNmQ7eG+TVfkmH4uq9H64172+lRyfUZ0SeP0CRNlEWvNYrpgHFV9CjFJONjNEgvtElS7xhoHERIdrU45egvSzHcL4dCwje8Nve5ojuV+QlIxEBagGyHBqag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nNsMsB8giOxuzXS+KnQoaYlk9xNl1w2DzXclUzTWedM=;
 b=YYOpN5ug3clOoWdOFZWh/NGMQCFB3Thcda5+zbhQDexs+osOzzqk4SorWGuSvlXLFaC5iSe6XsvvlbBewrUo/jHkiyTBXGmzXGKyJvXXRyxXdQ/2lGkcHXIv+C44vkEijmAkbclcM9wovYdFm5iEKZ9JSyun02/Xq0X9teRBSMQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 5 Jun 2026 09:32:34 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jason Andryuk <jason.andryuk@amd.com>, oleksii.kurochko@gmail.com
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: Re: [PATCH v2 0/3] xen/x86: Change stub page freeing to fix smt=0
Message-ID: <aiJ7kglbv50TnDGu@macbook.local>
References: <20260604231837.804560-1-jason.andryuk@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20260604231837.804560-1-jason.andryuk@amd.com>
X-ClientProxiedBy: MR1P264CA0207.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:56::7) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|DM4PR03MB6062:EE_
X-MS-Office365-Filtering-Correlation-Id: 767a1811-79f2-4dba-0d61-08dec2d49de8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|366016|11063799006|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	inFc2KtJcr5qEK4qOFUZPiW1/nJyLntiaujGqmO8xPZxjnciIVP0px7OtT3YKF0MSveVatMBeMX6No+TiXg/6E3LiAZ8Dh2qBCc0jaL1ypP8wu9jFs9HbfoXfOqPtNAj+GtJurSRno7I0glxAE2GPVEbZHo0v23FuY0cu0jUmJpz5Fg6Os/BGWJn6PeGDvraRYWPkV3/Uzl5u0cUdfj0C15/4MITLFwplgeAuap0icM3YymflE2++QnJNdsEdeO7uLZ12Nc7PPsBcifIvZdMrQJhJUKr0jaIa+GlGvjupoC/mLp1fVrT+1Sg564cOot6H8NM4yfOLoOdNJc2NK9ajhlHSXc1Fgnlrd98AbUjx1ufhAOFNR8QI9UoHuKBg99fNd0hgFZXjTozIh/oUXIZaLNwQ+VjhyTsdM5kkwWg3F/o+jR+b4xBAu6H/cOP2mqbOoHjwWVskxTsBVzKW47mZcTp1AOGBjoSewk1EtBXJ2JqAUorybPBIDfyFmjk2qKrR0v/kCF+hUzOCQLMAPJEfoPNtfTj8GcySJBu6wooV+Y4auo2yitXCAYkMP/cqpYX9eBKee+AztPfkudKM7j/8HkIVW11t5dEDtxBgEtBzR5Pp+fTjRjkb9Xk8Yw/u7r7Os6JxgnHAf9xexfBhLnTduPXwdeGGhZyJn5Xu2BW+6O/1MY4f+zg0gzBNc2rKrbS
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(11063799006)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aVR1eFI5Y1hONDJLNG5MRitsM1dXYUc0QXRlTzg3UVdOc29CaXdKU25xWWVW?=
 =?utf-8?B?OWJ3TDltODdRb0pJalRKL2ROQVMwSWY4RmcvVW9XWG9jdndUVWJMdHBYcFRC?=
 =?utf-8?B?dUFXaFBxaHZEcUIvdng2Umg3MXQ2czVIRXIvMUl6RVZka0xPdzBMKzcySFUz?=
 =?utf-8?B?OGJoUS9DZFdRcnZROUNlaHRMZFJGNEcwWFlZVVhkSlV5M2o4UFJUcnEweDU5?=
 =?utf-8?B?c0lZRG5vekVQUlBhQU1sVTNXdzljNjFhUmIzb2pnWm1lM0c1Tm16SWVPR3ll?=
 =?utf-8?B?RnZOTURta1hYc1MxUUprNTJNQmF2MWdDQWUrL092Y09NQUZIbUplNGQvN2dz?=
 =?utf-8?B?Zk9laDV2WVQ4cXBPR3ZZWVNpTi9ESnpibEV4Qk5ScHlrZFEwK3FJWmxid2VO?=
 =?utf-8?B?YVQyRHpMWkV6MG1JTlh4NHUxNkNMdC9JeUttb3M4TFhyamRLN3k0UkVUOElJ?=
 =?utf-8?B?OUt0azNnSDZ6ck1SNXgyVmFPVXprYjc1OFdKd1FITVBDQVo3dWJZdlhlTFF3?=
 =?utf-8?B?NDRkOGdsQUNtdWdVejJMTFRLYUFoWnNKcDdlOTVtaDZVcGkrVlZDZmtPQm9w?=
 =?utf-8?B?dno0cnhQcjBlSzNtVW1FbXNmaXZpSTJuaks4Q09aT05KWml3RUk0Z0wvZG1G?=
 =?utf-8?B?WWpZcnJ0Q3R3cTlTUEdIY3NMOG5ITWtuSHA3UWNHeUNwK2svdjhvbzRBbTZp?=
 =?utf-8?B?NlJobC9mUVAyQmNLdzhMSnc2SUV4SEkvS25QVmVJNHZZdmdwbkdyUnZNQ2JK?=
 =?utf-8?B?SW54L2dxS1c3dTZIazBTOVo4QXFBbDJySC9JT0tMODNkY3AyNDV0eHlwdm92?=
 =?utf-8?B?Z0prOUxTZm93NTFzZDY2Ums4RG5tSDZCZmN0NzZybmJQenpnU2UwWnhkWTFF?=
 =?utf-8?B?YXlva3ZRajNIRDVDNDdnYm45VWsvTVRqVHlFTHZRZjZpZTZPdDNaeTdrVjJB?=
 =?utf-8?B?ZEJ4VWJPWEo4d0FJZ0laYUdXbkh1QUtxSEg1cXltUzNiN3RJUkpTUGNXMWlo?=
 =?utf-8?B?bEJreXZHZ2d0SjU0TWs5dDBDa2JsZGRFL0d0VzlxdHM3QUxTY0tabTFrcjBH?=
 =?utf-8?B?RnF4aTV1SVdia2k2TDcvTVg4QVJWalZrU1VVRlRXdFgrc1FxZ1VIQ1JQSFVQ?=
 =?utf-8?B?WWc3dUY3NE0zc29MeFc0OHNjcmZBNGs2MmhvdGE3Y1FHY2h5cTkxNHRRa1Jr?=
 =?utf-8?B?bG4wa2ZiYzh3bmtkay83Z04wU0tXa2E3UkJRWHVJbG84NHFOMnc5akdkUCsr?=
 =?utf-8?B?ZXhGRnhXeW9INzdPaGUwWmVjMDhKcERSamF0VUlXOTlkSE5LOXB6WFZad0JR?=
 =?utf-8?B?L3lSaS9FNHljU3B1RUFrZWZVaGgzR3NBQ2x3aDBSOEpLYk9ZSzhUK0tHMTU5?=
 =?utf-8?B?dCtyUy9LbUVLVkZ6TzRtSDZZbFFGNmJBV1dDM0NQcXBzcFlELzg2KzhMR0pp?=
 =?utf-8?B?M0p4dXo3UXUwa3FHaThBaGczTnV0REVoZjJ3RnRyd2RoRU1xZU5GelFJNFZ0?=
 =?utf-8?B?dWMwcU5RRnVOVWhOM1NiY3RNMlpoeGpYVXl4SjNSRWIxTk1jRWhpY2NMcnAz?=
 =?utf-8?B?L0cxQ1NNSGp0dzdXNzR6UUFteC95SmtUMzVCUnBBRE10UWpRUWVxaDdubzlo?=
 =?utf-8?B?T2lrTXIwRlhsUkUrenkvL2Q0eE1KWGwrRXRRTWFtNzFmU3Y2aHM3NC9NcmJR?=
 =?utf-8?B?N29Kd2dpZHJnQkdPdDN4QXJHbmNtcGNVV3FiVWg5UGxKZ0NObFI4amNvRUkw?=
 =?utf-8?B?UC84VGJ5UllJQnZKS3VodzMyY0NyQjVqUVExUjBGWVhwNXRTVkhjR2JtUlRJ?=
 =?utf-8?B?YWJvUFpXL3FTNFlKczcwaVZzUXdSdlhhTThnMmVybDdkMXZTSFp0aWhldjIy?=
 =?utf-8?B?REFGdGpVb2pYaTNvVVMwRFFvUUV5aHYrc2RkeXU5VVgvRXQzaDV1aExxamJa?=
 =?utf-8?B?WXh1dEhOcEhIVTVoSkZGQVpUNlo3WnZEMC9yUTkyOUxvWnJBSnZwQU44UXNm?=
 =?utf-8?B?NGxROGFsaG1DcHlPZEhteFhrVEMybGl1QXhXNng2UHRaQTF3c21LTnk2TmRv?=
 =?utf-8?B?NW5JYjdxMkxwdTY4RmErNDcxWUNNbGViK2pXWkxOME13SlNLdDRPL3VtMktT?=
 =?utf-8?B?YWNRUnJOS0t3WnRhdzUvRW9PajJFTWltRC9LbjBWaW9YWkVYbE5Ic0MvcDB2?=
 =?utf-8?B?S2h1bmhDakJ1eG9NYWJ1U052Z3JZWjVoYjhGWXIyYm1VWGh3UzFkemE0c2s2?=
 =?utf-8?B?cDE3QXU3MVRIY3M4ZzdKZmZuSDVtSFEvdXdFUjgrSjgya1p5eVZ6T0pnWitj?=
 =?utf-8?B?aDVjUC9HOSs3YVFSQVRtcG9CUXN2ZDZHYkp2Sk8yeDI5SEw0L2Z6dz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 767a1811-79f2-4dba-0d61-08dec2d49de8
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 07:32:37.4093
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Buu54ZexjeS8Pk/twaJS04NvY5ccu4lFbQv/eoR/jJ1ij9keLEVWT8ZtcCJSMjYLw2WyxDinVOQQYJ1JVphFFw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6062
X-purgate-ID: tlsNG-c201ff/1780644760-D8D7F443-5163D26D/0/0
X-purgate-type: clean
X-purgate-size: 765

You want to Cc Oleksii for those, as we would like to get them into
4.22.  I've added him to the cover letter so he is aware.

Regards, Roger.

On Thu, Jun 04, 2026 at 07:18:34PM -0400, Jason Andryuk wrote:
> This is a different approach to fixing the stub page handling that is
> broken with !CONFIG_PV and smt=0.
> 
> Jason Andryuk (3):
>   xen/x86: Remove unneeded stub_page setting
>   xen/x86: Split out page_walk_mfn() helper
>   xen/x86: Change stub page allocation/free logic
> 
>  xen/arch/x86/include/asm/mm.h |  1 +
>  xen/arch/x86/smpboot.c        | 32 ++++++++++++++++++++------------
>  xen/arch/x86/x86_64/mm.c      | 31 +++++++++++++++++++++----------
>  3 files changed, 42 insertions(+), 22 deletions(-)
> 
> -- 
> 2.54.0
> 


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 07:37:13 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 07:37:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329090.1593299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVP75-0005sN-OC; Fri, 05 Jun 2026 07:37:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329090.1593299; Fri, 05 Jun 2026 07: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 1wVP75-0005sG-Jm; Fri, 05 Jun 2026 07:37:07 +0000
Received: by outflank-mailman (input) for mailman id 1329090;
 Fri, 05 Jun 2026 07:37:05 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wVP73-0005sA-NZ
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 07:37:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVP72-00Cp2f-PZ
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:37:04 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a227c9b-e002-0a2a0a5209dd-0a2a4506d4a8-32
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:37:04 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a227ca0-7371-0a2a45060019-d155802eb9e0-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:37:04 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-490b915ded5so12500175e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 00:37:04 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490c2cbb4cbsm20934525e9.0.2026.06.05.00.37.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Jun 2026 00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780645024; x=1781249824; 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=6UuTHdJ68LDqDTSzGdt/QIrLv7XZ+NPn0k1StmZlx0M=;
        b=s0Gos6gDi+h0ris2tnGsWiXFbtezcFtGlffQPqRJkZxyL+btjN8FQpBzpdaZfiMC+4
         xsBDsEbUITZU3ohkkNkSOhuIVhn+S6JLJAMZb5vwiKrKp9FsLGthMtijB4ojp4onj9ev
         qLrBOoqzbDbtfO+JE9ALyvlRcfp532PRQ14msYIGNq9afDoxQaruJL82EjF3ZrnB6Cuu
         w9o8qTU+6Lr7re/7MjPgwHii0z8aYUsruXnaNtUIsIk7h1OgZfAl4kBMk4AFYbrZRHSK
         RVk5K8AgkDU5aQsj5bCO1RbgnAMqT57pUYKnWy0Shy8Zxk1c9bGQXVZL9RSzMJGipF3S
         zfVA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780645024; x=1781249824;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=6UuTHdJ68LDqDTSzGdt/QIrLv7XZ+NPn0k1StmZlx0M=;
        b=YCrN6s+OlBwRnGQUQ4XOprHSLhGgYO8lCwfD4DtL+oZEh5BbfJlYzJ3sBqoG3Aa4t0
         40aIfBC55/bGOICFSx6JLWMZ0eg/nHeqK6ddmLQXSVyFD4/uOiBx/lKMH3VMxZWu/8BP
         QN1XVT9J2YbbOj426lQX5rs/R7/2t+KT9A1NRN7xWTIH1Xqe2FlFogigurTeWmV+fbk8
         ZIJJm2pRDCJaDPreBvOHWT7ArLPnJsZHPNVpJBSpWGnX6rMDk6Z1hMrksQpPvnEhhQ2v
         kuSmSS2IQZ3bHwGS8TAyzh/kdvyphA6Lkrf7qolAFRRcOCN4YRTU7mSf8pDvmgD5MStx
         g68Q==
X-Forwarded-Encrypted: i=1; AFNElJ/4xi8TIJC4vTq/OmUmIiBTBQb0HhFro8Q8od2i62X7FVHuJkASwibaWZrw+NFaMgbOSfxfcOKVtG0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxg06u83PtvwVYdWHKdhIfVpdPAuZHKWBAAAgHcKuslfHe+4n2p
	QyQsO3Cbkah0wNY7HAIDdmIfeCIMTU60RXTHhh5pQOFjIIcTUkt1dddjT3vGYQ==
X-Gm-Gg: Acq92OHqI4BzNh8WCITIUYzna1S2wiRK4Cnf+i1v07Oe+AxVAOcKWkXiNQOCMS89Onh
	wzU27cqdfQDEv/Vl3aNiyodHw6b46l8ZCVPfBNzhNpKPuOiKleWpb9QdXiYUAMctR+MzARre6Em
	MgqFqQFqihUfhYxH/JLAP+Em7g33tekCvRasN9XiqLEN9WRANQXOSidoUBtdGLCHLJHbt2iyshQ
	Yo5a/YnfKRO6L/JHwbKDA2uWcvGaes66Iu9Q3xj5pRF0rRl4iZsbhdNaJkub/gcYqwV0Hv25Vlj
	l4irGERqTRXP6HbCJUp6mC+LlgQuDYwouojSKqjcaFJ1vbzjN/d/Rw/1Kg0SXZ2VQAfzZxwmILU
	SJLdpHTO3lQt7EF6Imfx2O+bcw11bJV0iuYCcAi2c/MF2vcMUc3cDed9VtZyWH+Eq2/eqP4lxsF
	qjjCd4vmT48WJ+3o0tbhVsEw+lLwzpLZkeMY1qYZCKxNZPWJgSV65SYhwy977cJQxHoAa5qXxS8
	FwCmLgdlmgEEKrPVDRpgWlpTCg=
X-Received: by 2002:a05:600c:3551:b0:490:4b89:535f with SMTP id 5b1f17b1804b1-490c25c818cmr34326405e9.8.1780645023772;
        Fri, 05 Jun 2026 00:37:03 -0700 (PDT)
Message-ID: <b1493255-429f-463c-9c3f-901417b992e2@gmail.com>
Date: Fri, 5 Jun 2026 09:37:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] automation: Add C xenstored and stubdom tests
To: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org
Cc: Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20260604233328.805829-1-jason.andryuk@amd.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260604233328.805829-1-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1780645024-7FF7BD75-DB177C36/10/73395122804
X-purgate-type: spam
X-purgate-size: 305



On 6/5/26 1:33 AM, Jason Andryuk wrote:
> Expand testing to include C xenstored and xenstore stubdom tests.  OCaml
> oxenstored is run by default.
> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 07:38:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 07:38:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329098.1593307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVP84-0006ZA-4M; Fri, 05 Jun 2026 07:38:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329098.1593307; Fri, 05 Jun 2026 07:38: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 1wVP84-0006Z3-1O; Fri, 05 Jun 2026 07:38:08 +0000
Received: by outflank-mailman (input) for mailman id 1329098;
 Fri, 05 Jun 2026 07:38:06 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wVP82-0006Yx-Tp
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 07:38:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVP82-003pHN-A8
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:38:06 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a227cd0-5cb7-0a2a0a5109dd-0a2a4508806c-48
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:38:06 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a227cdd-63b5-0a2a45080019-d1558035a8ab-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:38:06 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-490b8ac62baso18006365e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 00:38: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-490c2d2d11asm34783715e9.1.2026.06.05.00.38.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Jun 2026 00:38: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780645085; x=1781249885; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=p4L0/Zh7iLA+43rU0ptXpe9fMnt8lujr+imsnjE6Y1M=;
        b=I3KplxBWpYiaFI8du2oH7tMB9wZm83sD4SlQUTPhNc0tRwMF/YveS8sa2CCI1IkFt7
         FYc+vAvlUw2IWtlgiDGJsv/hABMg7XPIz6GjfYfEDlsNrUmn924Y27PpzIe2ihM5Cu5J
         uczls9/53pvD+oFWRp7grGUUN3uFlFsbAVYFjqX9npxdhH51yQcW99Djz0qNzfTm+7yL
         eeckoR/6R4qhYI9I4aJWKCSoSoDVxMeOgBgEF7q4oNUikGY/vK1Fnyir4+53UEKkeW30
         53bFIrqhV3OUtNkGjr42vdwzH0MsYo5X6dmxnynK1kp+xYjUpdd3tZdupNfb6hjyh9xR
         KaWA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780645085; x=1781249885;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=p4L0/Zh7iLA+43rU0ptXpe9fMnt8lujr+imsnjE6Y1M=;
        b=mgqeCqNgtzoNINnk90zRlyPbVd+CsiykYjf5+wn9xJyqb/jemcG/L9csYys/fMw5nE
         frQdwI63/9BPKU1QfAml5xIn+IeMhs40bPpP3YrlrvACLeHegi4oRe51jh+HU+w/AMpn
         DrMcRjoriSIS5xwoPRLbntKXiQZdTdAVwzxm9IGJTWRnPWdwd7xbxrT2xKePc/cbxrGN
         7NYGilsxX8P2Ran1xgBrLVGGUY628EannODd/8wMwS44RnxGH10jVZV/B4hFSYFjckM3
         9B+yH0hTZXgRi17Z6MV+ZpUZnwRV4D1RfoRvKpVgBTmDUCXWXDBaZIbX0qy1uX2hgs23
         jc/w==
X-Forwarded-Encrypted: i=1; AFNElJ8QCLgEPUZWAgQjTUse+UkCzjrN7vgCSHsng+/YOnYQPq0fApxBKNA5IVsUYfkRjA83CGMMDNPGnV8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzPiBk1SWr55fvMzN2EmFCJMeXO6rNO9se6/EhBxuMH1HrIczwQ
	6+TbeJViyTR4+PVidC8KU8ueM2ufGVbDQX0RbhwTefTI3bu/TUEGcB96EgEIgh5q1g==
X-Gm-Gg: Acq92OEzOyd4GN6VgBX7xEPebiQ/SSQ+tOd77e+vvwDofBcpXroRKH0RERqjVBAWvml
	QEmUgJH9Zlk2WnzU3MyIkISX2q9VQrxL873DyijmzQ+vl/FYVIp5iTnjSivHi39/oTWzwrXdFrS
	kCCh9c8gYvQf8VjRoVoIgxzdWTtzAO5eYV21QMaqKG37HXudtnILOd4Atk780JFVjdtGAUElZaj
	R+Qy/6VeTkTQunbwHwX1D6FVg0w+yNYh9NrZ7LNRL0hLy8vjM5C0JKZQcmRIpNyD5/b8bCccN0H
	WFesQRmZcvsXVj9cNQxIJgCATYJnZX8zlawwkrVqBybWlBP3+m94qeYCvNph3rV8igXVzWUTWUb
	Kto0Yf5KM2HNyR8XMBt5GOs5G+3jV+DIs3XMcbhoVdYH4Cwi9npHj1EsKjI8o1YH2v8AakVR6ku
	+jOQTupgJpoWoQKSejfxAUCG8z8SCqiQ3EDbFDJ1i/e1Zsr2/WimL+X01eIIPFrSts4/Ftt3xCK
	WGtAIqcEc2foeIWtqjLGTKnQfxYwZ9SMJWx
X-Received: by 2002:a05:600c:3b04:b0:490:af63:2cb1 with SMTP id 5b1f17b1804b1-490c2cdd2bemr20385805e9.7.1780645085561;
        Fri, 05 Jun 2026 00:38:05 -0700 (PDT)
Message-ID: <c0ee1938-a098-4d95-a1de-a9ad4a1887a0@suse.com>
Date: Fri, 5 Jun 2026 09:38:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 19/26] xen/riscv: implement IRQ routing for device
 passthrough
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <ed5218e94790ff8de36af12852605454606a6d80.1778250616.git.oleksii.kurochko@gmail.com>
 <1941ee36-cbfd-4d7f-a15b-e74843371f3b@suse.com>
 <60ad843e-3fc0-4f99-bbff-0a2f84679274@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: <60ad843e-3fc0-4f99-bbff-0a2f84679274@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c1860d/1780645086-C407FDB1-60D6A784/0/0
X-purgate-type: clean
X-purgate-size: 1018

On 04.06.2026 17:35, Oleksii Kurochko wrote:
> On 6/3/26 6:01 PM, Jan Beulich wrote:
>> On 08.05.2026 16:43, Oleksii Kurochko wrote:
>>> @@ -86,6 +88,22 @@ unsigned int intc_irq_nums(void)
>>>       return intc_hw_ops->irq_nums();
>>>   }
>>>   
>>> +int intc_route_irq_to_guest(struct irq_desc *desc,
>>> +                            unsigned int priority)
>>> +{
>>> +    ASSERT(spin_is_locked(&desc->lock));
>>> +
>>> +    ASSERT(intc_hw_ops->guest_irq_type);
>>> +
>>> +    desc->handler = intc_hw_ops->guest_irq_type;
>>> +    set_bit(_IRQ_GUEST, &desc->status);
>>
>> Is desc->status accessed anywhere without holding desc->lock? If not,
>> __set_bit() or simply |= ?
> 
> In release_irq() it could be used without lock:
> ...
>      /* Wait to make sure it's not being used on another CPU */
>      do { smp_mb(); } while ( test_bit(_IRQ_INPROGRESS, &desc->status) );

That's fine with the update being non-atomic. I probably should have said
"modified" instead of "accessed".

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 07:41:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 07:41:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329108.1593317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVPBR-0000Bq-Ko; Fri, 05 Jun 2026 07:41:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329108.1593317; Fri, 05 Jun 2026 07:41: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 1wVPBR-0000Bj-Ft; Fri, 05 Jun 2026 07:41:37 +0000
Received: by outflank-mailman (input) for mailman id 1329108;
 Fri, 05 Jun 2026 07:41:36 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <xakep.amatop@gmail.com>) id 1wVPBQ-0000Bd-8N
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 07:41:36 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVPBP-008vKo-ET
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:41:35 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a227dac-bab6-0a2a0a5309dd-0a2a450a95da-18
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:41:35 +0200
Received: from [209.85.208.50] (helo=mail-ed1-f50.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a227daf-56b3-0a2a450a0019-d155d032cdb6-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:41:35 +0200
Received: by mail-ed1-f50.google.com with SMTP id
 4fb4d7f45d1cf-68bac6e24fdso2241673a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 00:41:35 -0700 (PDT)
Received: from EPUAKYIW02F7.. ([45.12.26.204])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bf0517714c5sm421455066b.2.2026.06.05.00.41.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Jun 2026 00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780645295; x=1781250095; 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=6eTxtuQ0Z5jBLuIlgZQKo02sLvYXSyHoneAsghrD09k=;
        b=EdiX99IisMbXiVgSBPcY89QjwG+0g/zKt3X7PZ6lae9+1yX+bwj6Ytf8ixTcBTsCk5
         lP2OfcQXf1WtBUouxnQJDhg306p+1XyuNyzZezrJEmbqPMaM5GAFdW0eY1Opir7dSKgu
         3BLHFOeQ26VJc+pVr7pHNsNhpQtuv1rxD/k8YOV2dbBk8y1/a1SniLead+SVw2gXG2hn
         /jTnrwpgf8jNxZx6JtOL/YIAgjXUdft36kRGdJWorJ4ZoXaXz9y68yUk5Iy/2EW8Uxdt
         DeWuYzOcIhhz1doh+pX9G6h3ICNayVKsp9RMKGIxY1qSCeENE60uDXLy4Xi/Yr67A7Wq
         hhRw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780645295; x=1781250095;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6eTxtuQ0Z5jBLuIlgZQKo02sLvYXSyHoneAsghrD09k=;
        b=lDR+5mmcgYFn3JvlXl52ldOwoCB6dti9dzIqo7RLGj64XfvM/+iQeqjHIY+EOgYVOs
         sJAjW69FVaN5Xsux2MJPJ9DYoKIr3ohaxDBukNXiKfD1SLK4HipwIy7NCjxMv5PSvZcR
         aPNmyOtLl1pPTdUQd4ghRmCTxYVps5MROr8ueXnjx04+vuWanKdFCz6x5BGd/dW0JU2V
         N2N6XocbVOdYaoXr234nBmV7Qz/Tq4m6IIaDlGihjhExqlfrmVud5pP9S1FB0L2pQA6G
         o33qgTjzryL2GONYvJQqcEG1Xewb7ufnvZxkXx7BGbdXg4KQAr0rWKCie/0c/J//X1Ed
         x0RQ==
X-Gm-Message-State: AOJu0Yw1SYm266Cg37Ey+CLkFSaug3Y/Cz5l2nWTHpSrFmnS6jzVX1BN
	y7svRvJ9pc8rhoRrR2PTOmaIZR7+fzGK4X8afkSmItVLbgn6Mx1b0iIi9gXHPw==
X-Gm-Gg: Acq92OGzu2yJRqCE9qABmeKEAB9eUqiJ2FkvKR0c0qL0UIgH+EACrdOTkz9hR0wBQMw
	gcGIdTtGnDsQBZAqOVpkBLp2Td3VZqWSzP6pEjsMeii+EgTdQUKSurVRdT6SVjLA1/vjfvp3Vyd
	P9DbTRWmqIeRCRKGifunrO5rTkWqc7K79vqYM5CZ2q84BK4tuv/d0KFsIThVIauwe27Zjf2vUmL
	MLAtm0mArwp0uKoZprmm122EgksSGbDM9Cg5DkzZmfzhYvsrmY95d8Kc6ccVUPv2xxE21BFMpzy
	fZVrqjKE3njsGNssrUvYe9mCgZusXkuIuE4jAkUTwK/bRFno2EOpdXh68nMmO5Zhmxw7xi6se3u
	7cCXZYuprDjtER8FsVwj33BJWkyIcpj5DBWUPClV++MpXucqndafHaKdkYeSuQOcG7zNVl+excN
	90vVBd5jH1JKBI8ibiO+zyp0+juS8OXLiusdMK0Kr2ZwkSMCdJ
X-Received: by 2002:a17:907:8686:b0:bef:89d9:9f08 with SMTP id a640c23a62f3a-bf370b5fd4fmr102471366b.19.1780645294473;
        Fri, 05 Jun 2026 00:41:34 -0700 (PDT)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@epam.com>,
	Paul Durrant <paul@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Tim Deegan <tim@xen.org>,
	Dario Faggioli <dfaggioli@suse.com>,
	Juergen Gross <jgross@suse.com>,
	George Dunlap <gwd@xenproject.org>
Subject: [PATCH v4] xen/domain: make shutdown state explicit
Date: Fri,  5 Jun 2026 10:39:06 +0300
Message-ID: <accc9b61dc46281289a303155653d48d5fde2084.1780643643.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1780645295-7FD788B7-77E27536/0/0
X-purgate-type: clean
X-purgate-size: 17158

From: Mykola Kvach <mykola_kvach@epam.com>

The shutdown flow currently uses is_shutting_down and is_shut_down to
represent the domain shutdown lifecycle. The two flags are not mutually
exclusive: after shutdown completion is_shutting_down remains set until
domain_resume() clears both flags.

Replace the two booleans with an enum domain_shutdown_state. Keep
domain_shutting_down() as the direct replacement for the old
is_shutting_down flag: it is true once shutdown has been initiated and
remains true after completion, until domain_resume(). Add
domain_shutdown_completed() for users that need the final completed
state.

This makes the state transition explicit while avoiding a semantic split
between "in progress" and "completed" at call sites where the old code
only cared that shutdown had started and had not yet been reset by
domain_resume().

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
Changes in v4:
- Adjust shadow_prealloc() condition formatting.
- Apply unlikely() only to the domain_shutting_down() predicate in shadow
  page fault checks.
- Add a comment documenting that DOMSHUTDOWN_none must remain first.
- Make enum domain_shutdown_state packed.

Changes in v3:
- Keep domain_shutting_down() as a direct replacement for
  is_shutting_down: true from shutdown start until domain_resume(),
  including after shutdown completion.
- Drop domain_in_shutdown_state().
- Make old is_shutting_down conversions mechanical again; use
  domain_shutdown_completed() only for old is_shut_down users.
- Keep domain_resume() returning void and leave callers unchanged.
- Drop resume-state validation and the related invalid-resume
  diagnostic, including the cached shutdown_state/shutdown_code values.
- Reword the commit message to avoid describing
  domain_shutting_down() as only the transient shutdown phase.

Changes in v2:
- Drop the shutdown reason restrictions from domain_resume(), so the
  validation remains compatible with the existing soft-reset flow.
- Use clearer helper naming for the three shutdown-state predicates.
- Document in the commit message how old is_shutting_down/is_shut_down
  users map to the new shutdown-state helpers.
- Fix label indentation noted during review.

Link to discussion:
  https://patchew.org/Xen/cover.1756392094.git.mykola._5Fkvach@epam.com/bb53d9911b00879c7b25f5258d0e3e48005671f9.1756392094.git.mykola._5Fkvach@epam.com/#a64cff9f-df5f-467b-a944-74e803c64ab9@suse.com
---
 xen/arch/x86/hvm/viridian/time.c |  2 +-
 xen/arch/x86/mm.c                |  2 +-
 xen/arch/x86/mm/hap/hap.c        |  2 +-
 xen/arch/x86/mm/shadow/common.c  |  5 +++--
 xen/arch/x86/mm/shadow/multi.c   | 12 +++++++-----
 xen/common/domain.c              | 20 ++++++++++----------
 xen/common/domctl.c              |  2 +-
 xen/common/sched/core.c          |  2 +-
 xen/drivers/passthrough/iommu.c  |  8 ++++----
 xen/drivers/passthrough/pci.c    |  2 +-
 xen/include/xen/sched.h          | 23 +++++++++++++++++++----
 11 files changed, 49 insertions(+), 31 deletions(-)

diff --git a/xen/arch/x86/hvm/viridian/time.c b/xen/arch/x86/hvm/viridian/time.c
index 9311858d63..cf57af263a 100644
--- a/xen/arch/x86/hvm/viridian/time.c
+++ b/xen/arch/x86/hvm/viridian/time.c
@@ -102,7 +102,7 @@ static void time_ref_count_thaw(const struct domain *d)
     struct viridian_domain *vd = d->arch.hvm.viridian;
     struct viridian_time_ref_count *trc = &vd->time_ref_count;
 
-    if ( d->is_shutting_down ||
+    if ( domain_shutting_down(d) ||
          test_and_set_bit(_TRC_running, &trc->flags) )
         return;
 
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index a158379e77..c8ce166d6e 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -1219,7 +1219,7 @@ void put_page_from_l1e(l1_pgentry_t l1e, struct domain *l1e_owner)
      */
 #if _PAGE_GNTTAB
     if ( (l1e_get_flags(l1e) & _PAGE_GNTTAB) &&
-         !l1e_owner->is_shutting_down && !l1e_owner->is_dying )
+         !domain_shutting_down(l1e_owner) && !l1e_owner->is_dying )
     {
         gprintk(XENLOG_WARNING,
                 "Attempt to implicitly unmap %pd's grant PTE %" PRIpte "\n",
diff --git a/xen/arch/x86/mm/hap/hap.c b/xen/arch/x86/mm/hap/hap.c
index 5ccb80bda5..0ede4181a0 100644
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -414,7 +414,7 @@ static mfn_t hap_make_monitor_table(struct vcpu *v)
 
  oom:
     if ( !d->is_dying &&
-         (!d->is_shutting_down || d->shutdown_code != SHUTDOWN_crash) )
+         (!domain_shutting_down(d) || d->shutdown_code != SHUTDOWN_crash) )
     {
         printk(XENLOG_G_ERR "%pd: out of memory building monitor pagetable\n",
                d);
diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c
index ed698fa90b..f777224539 100644
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -164,7 +164,7 @@ void shadow_promote(struct domain *d, mfn_t gmfn, unsigned int type)
     /* We should never try to promote a gmfn that has writeable mappings */
     ASSERT((page->u.inuse.type_info & PGT_type_mask) != PGT_writable_page
            || (page->u.inuse.type_info & PGT_count_mask) == 0
-           || d->is_shutting_down);
+           || domain_shutting_down(d));
 
     /* Is the page already shadowed? */
     if ( !test_and_set_bit(_PGC_shadowed_pt, &page->count_info) )
@@ -442,7 +442,8 @@ bool shadow_prealloc(struct domain *d, unsigned int type, unsigned int count)
         count += paging_logdirty_levels();
 
     ret = _shadow_prealloc(d, count);
-    if ( !ret && (!d->is_shutting_down || d->shutdown_code != SHUTDOWN_crash) )
+    if ( !ret &&
+         (!domain_shutting_down(d) || d->shutdown_code != SHUTDOWN_crash) )
         /*
          * Failing to allocate memory required for shadow usage can only result in
          * a domain crash, do it here rather that relying on every caller to do it.
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 2990cee869..2662ee2c27 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -2370,7 +2370,8 @@ static int cf_check sh_page_fault(
      * already used for some special purpose (ioreq pages, or granted pages).
      * If that happens we'll have killed the guest already but it's still not
      * safe to propagate entries out of the guest PT so get out now. */
-    if ( unlikely(d->is_shutting_down && d->shutdown_code == SHUTDOWN_crash) )
+    if ( unlikely(domain_shutting_down(d)) &&
+         d->shutdown_code == SHUTDOWN_crash )
     {
         SHADOW_PRINTK("guest is shutting down\n");
         goto propagate;
@@ -2480,7 +2481,7 @@ static int cf_check sh_page_fault(
 #if GUEST_PAGING_LEVELS == 3
         sh_update_cr3(v, false);
 #else
-        ASSERT(d->is_shutting_down);
+        ASSERT(domain_shutting_down(d));
         sh_trace_va(TRC_SHADOW_DOMF_DYING, va);
 #endif
         paging_unlock(d);
@@ -2494,7 +2495,8 @@ static int cf_check sh_page_fault(
          && ft == ft_demand_write )
         sh_unsync(v, gmfn);
 
-    if ( unlikely(d->is_shutting_down && d->shutdown_code == SHUTDOWN_crash) )
+    if ( unlikely(domain_shutting_down(d)) &&
+         d->shutdown_code == SHUTDOWN_crash )
     {
         /* We might end up with a crashed domain here if
          * sh_remove_shadows() in a previous sh_resync() call has
@@ -3265,7 +3267,7 @@ static pagetable_t cf_check sh_update_cr3(struct vcpu *v, bool noflush)
                                        sh_make_shadow);
     if ( unlikely(pagetable_is_null(v->arch.paging.shadow.shadow_table[0])) )
     {
-        ASSERT(d->is_dying || d->is_shutting_down);
+        ASSERT(d->is_dying || domain_shutting_down(d));
         return old_entry;
     }
     if ( !paging_mode_external(d) && !is_pv_32bit_domain(d) )
@@ -3332,7 +3334,7 @@ static pagetable_t cf_check sh_update_cr3(struct vcpu *v, bool noflush)
     ASSERT(pagetable_is_null(old_entry));
     if ( unlikely(pagetable_is_null(v->arch.paging.shadow.shadow_table[0])) )
     {
-        ASSERT(d->is_dying || d->is_shutting_down);
+        ASSERT(d->is_dying || domain_shutting_down(d));
         return old_entry;
     }
 #else
diff --git a/xen/common/domain.c b/xen/common/domain.c
index bb9e210c28..473b7f8e3f 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -191,7 +191,7 @@ static void set_domain_state_info(struct xen_domctl_get_domain_state *info,
                                   const struct domain *d)
 {
     info->state = XEN_DOMCTL_GETDOMSTATE_STATE_EXIST;
-    if ( d->is_shut_down )
+    if ( domain_shutdown_completed(d) )
         info->state |= XEN_DOMCTL_GETDOMSTATE_STATE_SHUTDOWN;
     if ( d->is_dying == DOMDYING_dying )
         info->state |= XEN_DOMCTL_GETDOMSTATE_STATE_DYING;
@@ -282,14 +282,14 @@ static void __domain_finalise_shutdown(struct domain *d)
 
     BUG_ON(!spin_is_locked(&d->shutdown_lock));
 
-    if ( d->is_shut_down )
+    if ( domain_shutdown_completed(d) )
         return;
 
     for_each_vcpu ( d, v )
         if ( !v->paused_for_shutdown )
             return;
 
-    d->is_shut_down = 1;
+    d->shutdown_state = DOMSHUTDOWN_complete;
     domain_changed_state(d);
     if ( (d->shutdown_code == SHUTDOWN_suspend) && d->suspend_evtchn )
         evtchn_send(d, d->suspend_evtchn);
@@ -303,7 +303,7 @@ static void vcpu_check_shutdown(struct vcpu *v)
 
     spin_lock(&d->shutdown_lock);
 
-    if ( d->is_shutting_down )
+    if ( domain_shutting_down(d) )
     {
         if ( !v->paused_for_shutdown )
             vcpu_pause_nosync(v);
@@ -1356,7 +1356,7 @@ int domain_kill(struct domain *d)
 
 void __domain_crash(struct domain *d)
 {
-    if ( d->is_shutting_down )
+    if ( domain_shutting_down(d) )
     {
         /* Print nothing: the domain is already shutting down. */
     }
@@ -1394,13 +1394,13 @@ int domain_shutdown(struct domain *d, u8 reason)
     if ( is_hardware_domain(d) )
         hwdom_shutdown(reason);
 
-    if ( d->is_shutting_down )
+    if ( domain_shutting_down(d) )
     {
         spin_unlock(&d->shutdown_lock);
         return 0;
     }
 
-    d->is_shutting_down = 1;
+    d->shutdown_state = DOMSHUTDOWN_in_progress;
 
     smp_mb(); /* set shutdown status /then/ check for per-cpu deferrals */
 
@@ -1435,7 +1435,7 @@ void domain_resume(struct domain *d)
 
     spin_lock(&d->shutdown_lock);
 
-    d->is_shutting_down = d->is_shut_down = 0;
+    d->shutdown_state = DOMSHUTDOWN_none;
 
     arch_domain_resume(d);
 
@@ -1460,7 +1460,7 @@ int vcpu_start_shutdown_deferral(struct vcpu *v)
 
     v->defer_shutdown = 1;
     smp_mb(); /* set deferral status /then/ check for shutdown */
-    if ( unlikely(v->domain->is_shutting_down) )
+    if ( unlikely(domain_shutting_down(v->domain)) )
         vcpu_check_shutdown(v);
 
     return v->defer_shutdown;
@@ -1470,7 +1470,7 @@ void vcpu_end_shutdown_deferral(struct vcpu *v)
 {
     v->defer_shutdown = 0;
     smp_mb(); /* clear deferral status /then/ check for shutdown */
-    if ( unlikely(v->domain->is_shutting_down) )
+    if ( unlikely(domain_shutting_down(v->domain)) )
         vcpu_check_shutdown(v);
 }
 
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index b969f5ada6..5594fc72d8 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -86,7 +86,7 @@ void getdomaininfo(struct domain *d, struct xen_domctl_getdomaininfo *info)
 
     info->flags = (info->nr_online_vcpus ? flags : 0) |
         ((d->is_dying == DOMDYING_dead) ? XEN_DOMINF_dying     : 0) |
-        (d->is_shut_down                ? XEN_DOMINF_shutdown  : 0) |
+        (domain_shutdown_completed(d)   ? XEN_DOMINF_shutdown  : 0) |
         (d->controller_pause_count > 0  ? XEN_DOMINF_paused    : 0) |
         (d->debugger_attached           ? XEN_DOMINF_debugged  : 0) |
         (is_xenstore_domain(d)          ? XEN_DOMINF_xs_domain : 0) |
diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 8e2b75bc35..9ac00e4c0d 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -1539,7 +1539,7 @@ static void cf_check domain_watchdog_timeout(void *data)
 
     BUILD_BUG_ON(alignof(*d) < PAGE_SIZE);
 
-    if ( d->is_shutting_down || d->is_dying )
+    if ( domain_shutting_down(d) || d->is_dying )
         return;
 
     printk("Watchdog timer %u fired for %pd\n", id, d);
diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c
index c9425d6971..4b22ecfe65 100644
--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -355,7 +355,7 @@ long iommu_map(struct domain *d, dfn_t dfn0, mfn_t mfn0,
         if ( likely(!rc) )
             continue;
 
-        if ( !d->is_shutting_down && printk_ratelimit() )
+        if ( !domain_shutting_down(d) && printk_ratelimit() )
             printk(XENLOG_ERR
                    "d%d: IOMMU mapping dfn %"PRI_dfn" to mfn %"PRI_mfn" failed: %d\n",
                    d->domain_id, dfn_x(dfn), mfn_x(mfn), rc);
@@ -427,7 +427,7 @@ long iommu_unmap(struct domain *d, dfn_t dfn0, unsigned long page_count,
         if ( likely(!err) )
             continue;
 
-        if ( !d->is_shutting_down && printk_ratelimit() )
+        if ( !domain_shutting_down(d) && printk_ratelimit() )
             printk(XENLOG_ERR
                    "d%d: IOMMU unmapping dfn %"PRI_dfn" failed: %d\n",
                    d->domain_id, dfn_x(dfn), err);
@@ -492,7 +492,7 @@ int iommu_iotlb_flush(struct domain *d, dfn_t dfn, unsigned long page_count,
                     flush_flags);
     if ( unlikely(rc) )
     {
-        if ( !d->is_shutting_down && printk_ratelimit() )
+        if ( !domain_shutting_down(d) && printk_ratelimit() )
             printk(XENLOG_ERR
                    "d%d: IOMMU IOTLB flush failed: %d, dfn %"PRI_dfn", page count %lu flags %x\n",
                    d->domain_id, rc, dfn_x(dfn), page_count, flush_flags);
@@ -517,7 +517,7 @@ int iommu_iotlb_flush_all(struct domain *d, unsigned int flush_flags)
                     flush_flags | IOMMU_FLUSHF_all);
     if ( unlikely(rc) )
     {
-        if ( !d->is_shutting_down && printk_ratelimit() )
+        if ( !domain_shutting_down(d) && printk_ratelimit() )
             printk(XENLOG_ERR
                    "d%d: IOMMU IOTLB flush all failed: %d\n",
                    d->domain_id, rc);
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 464bb0fee4..5dbee61900 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -1746,7 +1746,7 @@ void iommu_dev_iotlb_flush_timeout(struct domain *d, struct pci_dev *pdev)
 
     pdev->broken = true;
 
-    if ( !d->is_shutting_down && printk_ratelimit() )
+    if ( !domain_shutting_down(d) && printk_ratelimit() )
         printk(XENLOG_ERR "dom%d: ATS device %pp flush failed\n",
                d->domain_id, &pdev->sbdf);
     if ( !is_hardware_domain(d) )
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 00db1da12f..7426e6f9bc 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -222,7 +222,7 @@ struct vcpu
     bool             force_context_switch;
     /* Require shutdown to be deferred for some asynchronous operation? */
     bool             defer_shutdown;
-    /* VCPU is paused following shutdown request (d->is_shutting_down)? */
+    /* VCPU is paused following a domain shutdown request? */
     bool             paused_for_shutdown;
     /* VCPU need affinity restored */
     uint8_t          affinity_broken;
@@ -382,6 +382,12 @@ struct domain_console {
     char buf[256];
 };
 
+enum __packed domain_shutdown_state {
+    DOMSHUTDOWN_none, /* Must remain first, as domains are zero-initialized. */
+    DOMSHUTDOWN_in_progress,
+    DOMSHUTDOWN_complete,
+};
+
 struct domain
 {
     domid_t          domain_id;
@@ -552,10 +558,9 @@ struct domain
     struct rangeset *iomem_caps;
     struct rangeset *irq_caps;
 
-    /* Guest has shut down (inc. reason code)? */
+    /* Guest shutdown state and associated reason code. */
     spinlock_t       shutdown_lock;
-    bool             is_shutting_down; /* in process of shutting down? */
-    bool             is_shut_down;     /* fully shut down? */
+    enum domain_shutdown_state shutdown_state;
 #define SHUTDOWN_CODE_INVALID ~0u
     unsigned int     shutdown_code;
 
@@ -674,6 +679,16 @@ struct domain
     unsigned int pending_scrub_index;
 } __aligned(PAGE_SIZE);
 
+static inline bool domain_shutting_down(const struct domain *d)
+{
+    return d->shutdown_state != DOMSHUTDOWN_none;
+}
+
+static inline bool domain_shutdown_completed(const struct domain *d)
+{
+    return d->shutdown_state == DOMSHUTDOWN_complete;
+}
+
 static inline struct page_list_head *page_to_list(
     struct domain *d, const struct page_info *pg)
 {
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 07:42:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 07:42:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329114.1593324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVPCE-0000kj-Ve; Fri, 05 Jun 2026 07:42:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329114.1593324; Fri, 05 Jun 2026 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 1wVPCE-0000kc-T3; Fri, 05 Jun 2026 07:42:26 +0000
Received: by outflank-mailman (input) for mailman id 1329114;
 Fri, 05 Jun 2026 07:42:25 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wVPCD-0000ig-FP
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 07:42:25 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVPCC-006bR5-SK
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:42:24 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a227dc4-5cb7-0a2a0a5109dd-0a2a4502b096-46
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:42:24 +0200
Received: from [209.85.221.54] (helo=mail-wr1-f54.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a227de0-af86-0a2a45020019-d155dd36b90a-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:42:24 +0200
Received: by mail-wr1-f54.google.com with SMTP id
 ffacd0b85a97d-4602e2a0372so871590f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 00:42:24 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f344558sm23245333f8f.18.2026.06.05.00.42.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Jun 2026 00:42:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780645344; x=1781250144; 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=DvryGODgbOzgXS1AfKF5gbmQJHahukzlKpGhtIDkmUo=;
        b=SLa3KqF+aPX2lcAqf9GBnPcah4hhCMLwKQ2cm2kWFNTMElgd9plEjGpR9PT6PRg5+2
         7ZUYE6osiQlHdtPpE6yBG79rEyxctttxNr+CW2ltRU6vhgfjnmpQk0L6R5/HQ753bv03
         rllc0ygvBN3STN0tufQQLBk0uGOMT3t0X8xzjId7iZ1r1lhg6qA538BRYrDsYV3R7G0p
         /JoZlAl2jyApUA6rb2dNBZ9NFXYDPWJxu0Yo609uGl7wOngmT5RRqAcIU2N/mzytU9gs
         i6WxsJsP4CdGTZaqYw8nlNYRIXj164E88ftbXjESJ5RWnzNTRIGzbk7eQ7gwUS0DHsbJ
         YDuA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780645344; x=1781250144;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=DvryGODgbOzgXS1AfKF5gbmQJHahukzlKpGhtIDkmUo=;
        b=heFFthfrpT79tmxjAH6wYgaWI48MteOlN3+dePWcmX8FlUhWen9lsWwQT/vdta5S7l
         eDmpWLnveezPYeXacSM0R9D6ebe8gZnX+v3vGfTpDw+Lp0AKnTB0hU9VQmXhIRPSpgPU
         EkToFvAipRF3YV/kyrvJpNDI3nuQTTjDkbT24AUpmGY78geLGn2m7A0VKmsn1n7ev0Kh
         ZLd2OgIz7gLe+w8XWBq1VfcRZgx63Ey58fNUObHBnfOiz3SPbKNXe6uQXsaGGgVx5LiN
         nKzIKe6QBW84YNQ6koYIND13vjDenirrEsdcYDr0GHuzZx9BVKm1FO2qB6QQ+79fhREe
         du0g==
X-Forwarded-Encrypted: i=1; AFNElJ8iYEcod9GO5rnG/M4YOLJzP/ONALzz4OZem2ldvrAOQfvy5SuCXbwtERDeUYLw9C+nKZHalgjuznE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywsyf7taIF6hi4hLmp3qsA8C7RM5J1s8ual6DZb6GfoIV6wLYTy
	meNUZxALSNiUqukvd4At6dBQ2TBE9BJDmtzEtOn42RHMM4oV1RBkhdk+
X-Gm-Gg: Acq92OGdQGBMJ/scPwuEOkmKsS4RKfnieIHu86DuhCGOceatm7Zwym3tnhzyR79LEEd
	pHoF4vy2Jut9jk+6C8hvQwejZA2WGxY6C2XAJsVZGN81NkN8bDfNRs93CjQ4Oj/W0rD4QC3El3y
	niW4CIWKlKZcXThxBZpIckzIIQxZKWw0VFrsIbhCp7Zol2gmghwR08OooiO4DX9SQzVxKliSC7G
	1dKas3dWOPex/bSBnpT268WCj9n3cHa967GojdHFDVixsXqXQIja99HHSumP0F6pRUrQttHSnjw
	OmSH89f1nWWu3WZg96bnEOXvbwcjr0P7G1ANWMKHe4pJio0iJ6QwkeRGbL/C4H0EYJt6dwrpc87
	Z62vbOBuyzyU9+k8wcK0bItiaWh6ManMFBmqGQwVuEynfxXjqFV+URclgaJNmq0NNRW4n9a22FU
	HHCpsB1rRLZSM5FD9i090ufEMfXByFfDprM3MGlT3i36yW4sKuTOl+vmDnyUCaUy7q2g+vKbU5U
	L/KOQQcfoDSOlSz
X-Received: by 2002:adf:f24d:0:b0:45e:ed7f:1d9 with SMTP id ffacd0b85a97d-46030615ab8mr2928224f8f.17.1780645344024;
        Fri, 05 Jun 2026 00:42:24 -0700 (PDT)
Message-ID: <b189d8f2-ef56-483c-a9e9-c0f961d1fdf9@gmail.com>
Date: Fri, 5 Jun 2026 09:42:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] MAINTAINERS: Update Ocaml maintainers
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrii Sultanov <andriy.sultanov@vates.tech>,
 Guillaume Thouvenin <guillaume.thouvenin@vates.tech>,
 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: <20260604151303.2720636-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260604151303.2720636-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1780645344-8336C161-C8A00473/10/73395122804
X-purgate-type: spam
X-purgate-size: 892



On 6/4/26 5:13 PM, Andrew Cooper wrote:
> Christian has just left Citrix, and Dave almost a decade ago.
> 
> Andrii (a XAPI committer) has worked on oxenstored before and has agreed to
> step up as a maintainer, and Guillaume wishes to get involved and learn too.
> In practice I do a lot of the bindings work, so lets make things official.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Andrii Sultanov <andriy.sultanov@vates.tech>
> CC: Guillaume Thouvenin <guillaume.thouvenin@vates.tech>
> 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>

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 07:45:34 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 07:45:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329132.1593334 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVPFF-0001IW-DG; Fri, 05 Jun 2026 07:45:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329132.1593334; Fri, 05 Jun 2026 07:45: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 1wVPFF-0001IP-9t; Fri, 05 Jun 2026 07:45:33 +0000
Received: by outflank-mailman (input) for mailman id 1329132;
 Fri, 05 Jun 2026 07:45:31 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wVPFD-0001IF-6k
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 07:45:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVPFC-008w8Q-G4
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:45:30 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a227e81-e002-0a2a0a5209dd-0a2a45059530-48
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:45:30 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a227e99-aaa8-0a2a45050019-d1558030a988-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:45:30 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-490bc6a7958so15540545e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 00:45: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-490bc4082c3sm128222235e9.13.2026.06.05.00.45.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Jun 2026 00:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780645529; x=1781250329; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Q8SeIiky47HYOBTBO4E6X5nDTDvMKndnIgnKQ6nfrwQ=;
        b=bra+++CCMWgfv2Pe4CkEHn63PPyEgpAOXlhQtSQRf3iDYzzsaM0nGrfm3UaY4ET4SZ
         QfAjGShG83n/TtH6/vN6lk9pR4OxdFQ+GBe3qHAj3X4etw5vtAMZIsXo62GurY/7JK2H
         ICTxLZAf6BAgCrf5EX/WMRWyBERsl+aSf5vN4x+njaYQMapZxkJWqQw2gadRXL59cpsA
         UIhde9BuIzF85vez69GM4+qHQYfNQGSE+SLxs4qr9zEeBevWB+K9Ip2BeUM+0DaKuXIu
         o7MqTRe7/JTtCiYDqTW10m7PVDDEwK5IcR1+5XFjy7b5ELEQg4xPfzVXC8KwaZIkfJaR
         s3hQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780645529; x=1781250329;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Q8SeIiky47HYOBTBO4E6X5nDTDvMKndnIgnKQ6nfrwQ=;
        b=DTBumqiyiT8ZQxT0qjN91M2NN4XEwqSVpHqhZBqCckYKf230WZ8qsnC/TZecpK09CF
         mTd11ar1d3B/isgV52Q20T5Has6ySKymRSR7h7jBjRLspwvZEwBc5Yua/EMXeEhP/WiO
         rkhCCLIRUzmfg++OFyYEXZ8ZzOdu8rcYfFPBj3ql0/boJ13FpGY++Vb4XCihlXFOPGG7
         1o5anA8Ybmz9Lj9fcf0uNx+YOeI8T1F2RW0BV9EU+crZxRhofFtDkuOWnxryCjJEy/UP
         cmoMK/8WoSqtZHT8tB2UI3YzJtJHvrNbzp24npCA/vL8UoNe3KX9L8FwDorb7Qv9SaDd
         Qe0g==
X-Forwarded-Encrypted: i=1; AFNElJ+S7l70wWSwC+0QXa5isWIXZ4w/q7gmLJPPv04+MG1kt1zR6jB9CDEOVt5/1f7XgdTTuGzyW4HI44o=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz2gUgg5puS4xLy2faBuXy7wahTcDhh+wuoi6Wuh/520ZE2oyRb
	2Xs8X/LkfLiAVZD2Alz1ebiH9erAfgGyBVdSKt4wRbLbA61q7d4rNwiy318fgHvXmw==
X-Gm-Gg: Acq92OG3i4T6EMqo3QD8e/AnJLRGrFh2rMOvG1HQZ4H/iOaboSW/3miVBlgQuY6yRo9
	E4Y/7AF5Ix4BTOQvsuRqKiUJL2h5EMD6ijoo9tft8LtmuMAthGlJGQ9sR0/8FQ3hv35RWWwOdSA
	/vy9FX+fajAb0udcB+s2xS8AMMgt9BFtvQ9J4Pv8x7HNeRPRzmiQXGzpvl9PNNl7Pin1kCBsNIQ
	FoqKC+JrNVBFBn7pPgOBsAm02JYMTSGu5NXhtxc3EEg/VRXcbo+cBjm1RaTqax0PZo6PkdcXaU/
	qBT37TvZI4A3HaLz5O3BNzXci8dC9IztXWrP08NxbCTNtQkm7KJHVhYZj9wY/nA6AgIBmLYqdl5
	KKb8KVpI57NSb0ikYlQ3q4S31THf6/XbFemcpL9snon7x04ywdr8ge9fbnZiA0FbQUn4njL6gxr
	+2Fr2JhCQ6PSkmJUZD/oEX2HhHI1kENVbEudwwoEviEj0O4XJIQlMwsawh+XsvINqc/GAOeKqMv
	6QU1yN/MpOagoe/ziI7iCJN7w==
X-Received: by 2002:a05:600c:34d2:b0:48f:e230:29f4 with SMTP id 5b1f17b1804b1-490c2d1fb35mr21882585e9.15.1780645529494;
        Fri, 05 Jun 2026 00:45:29 -0700 (PDT)
Message-ID: <75e86d74-9fa1-4090-bea7-332ec31ffb90@suse.com>
Date: Fri, 5 Jun 2026 09:45:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/6] Align all sections to 4KB
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-3-frediano.ziglio@cloud.com>
 <7067092e-ba18-4513-a9b1-83ba084ccbb4@suse.com>
 <CAHt6W4cP57pAPsNDKpssjYB=snLEZgOhWkYkVrJys01-NTMiRQ@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: <CAHt6W4cP57pAPsNDKpssjYB=snLEZgOhWkYkVrJys01-NTMiRQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1780645530-E2193443-A342A1CD/0/0
X-purgate-type: clean
X-purgate-size: 1587

On 04.06.2026 12:16, Frediano Ziglio wrote:
> On Tue, 2 Jun 2026 at 13:09, Jan Beulich <jbeulich@suse.com> wrote:
>> On 29.05.2026 17:35, Frediano Ziglio wrote:
>>> --- a/xen/arch/x86/xen.lds.S
>>> +++ b/xen/arch/x86/xen.lds.S
>>> @@ -162,8 +162,8 @@ SECTIONS
>>>         __note_gnu_build_id_end = .;
>>>    } PHDR(note) PHDR(text)
>>>  #elif defined(BUILD_ID_EFI)
>>> -  /* Workaround bug in binutils < 2.36 */
>>> -  . = ALIGN(32);
>>> +  /* align to satisfy UEFI CA memory mitigation */
>>> +  . = ALIGN(PAGE_SIZE);
>>>    DECL_SECTION(.buildid) {
>>>         __note_gnu_build_id_start = .;
>>>         *(.buildid)
>>> @@ -330,6 +330,7 @@ SECTIONS
>>>    __2M_rwdata_end = ALIGN(SECTION_ALIGN);
>>>
>>>  #ifdef EFI
>>> +  . = ALIGN(PAGE_SIZE);
>>>    .reloc ALIGN(4) : {
>>>      __base_relocs_start = .;
>>>      *(.reloc)
>>> @@ -355,6 +356,7 @@ SECTIONS
>>>    VIRT_START &= 0;
>>>    ALT_START &= 0;
>>>
>>> +  . = ALIGN(PAGE_SIZE);
>>>    .sbat (NOLOAD) : { *(.sbat) }
>>>  #elif defined(XEN_BUILD_EFI)
>>>    /*
>>
>> You say "all sections" in the title, yet this is not covering e.g. debug
>> info.
> 
> I will change to "all loadable sections". debug sections are not
> loadable so they don't cause an issue.

Please try to be precise there, as some aspects are subtle. As per my
understanding, like .reloc all .debug_* are loadable (and may be loaded).
The IMAGE_SCN_MEM_DISCARDABLE flag merely means they can be discarded at
a certain point after image loading (for .reloc in particular: after
relocations were processed).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 07:55:27 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 07:55:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329139.1593343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVPOg-0003Yr-7m; Fri, 05 Jun 2026 07:55:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329139.1593343; Fri, 05 Jun 2026 07:55: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 1wVPOg-0003Yk-4S; Fri, 05 Jun 2026 07:55:18 +0000
Received: by outflank-mailman (input) for mailman id 1329139;
 Fri, 05 Jun 2026 07:55:17 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wVPOe-0003Ye-RL
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 07:55:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVPOd-0050jw-RD
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:55:15 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2280d2-bab6-0a2a0a5309dd-0a2a45088938-44
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:55:15 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2280e3-63b5-0a2a45080019-d1558033b480-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:55:15 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-4908b92904fso18408035e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 00:55: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-490bc413541sm139258255e9.14.2026.06.05.00.55.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Jun 2026 00:55: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780646115; x=1781250915; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=xemTQrjJIL7wnMPSHNgom6Eq+r4qH97OnpIubMDnK48=;
        b=BgI0i2lz6ttuQhs+0EA3VkjzxTL76/xY7RF/lp+rR3Hks1Plw5jztuoB6iMZMZpfZG
         9q80EAwJcxmoLYRDQqgn5DYxIUhlkeuFyiIRN4Me1Cw/Bpp6OzZmrDUTKuE94Wdc6xqf
         DBR2kKGKLtw20Sd/XzjRPPvUwh2g19h2gX0zWkipa0bFtUxsHBmLqtVd/D97iGvQgtdb
         ytyHJRz1TrjVK/a/39VT6bMzdzgEx5kvw+ZEFYFBOu1KI4qs/7lugFzBNp0ys5UVx8Iy
         Bp3oyDP9z5zvy12xGZzNHzWDkydKWVp427jjQusB5WZNYEIkAju2n4IfUK5X0nmNN/QM
         8/BQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780646115; x=1781250915;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xemTQrjJIL7wnMPSHNgom6Eq+r4qH97OnpIubMDnK48=;
        b=o/BsDxmlBr+0444vzugIfzes+Oh8vhO5towKXuZSpLBkDViE+p+AbvTUEabHyHrPDx
         KA4yJNKyuJ+iwN5ULtZPmCARNbnCW3FujETyFuT1mJntg8bn03kKm1s5MicDlx7OncDr
         +MxIHSEFOXSlQJAVItQlmk9nguF8araQLtsfuGHC11zltNFj25BCuH4qHnVSOaV/QYXi
         8QdlcdMAXPQGUKlZ2hZ9xX3DtUM7TxbTMS6Fp1kwgQsjj9Bd/noAHjT7CdSMnRScRPGC
         MeOZEWKlm/oa8hAqkXOwSF0IhjSUlb489CzXxCTUrwM94VZzEpHKsKlX6L81u5aRPLG0
         BAdw==
X-Forwarded-Encrypted: i=1; AFNElJ+vX4iY93oOXV+75fRuXtLsmm9PstI5PZQQ7edA9aKb5vSu5MMIbDhACWhytZ++DlnZjej1po4FD2I=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxu7//i5WP2bAVjAoC3yX5RwkDeMmhmDo6U8MpUgTHI7lHVX1FD
	an+Fgidt/o0eV/d8JWqpo5pWkLtPJ/0GIgyWU6E4cQE+eL5EwBKVqiZVjEMK0iqVLQ==
X-Gm-Gg: Acq92OHsYDMkUE/9iE88shl1YCwKAQGvzrgzfIPrWg7KKM2CVKI2TouxfyHc4NzJ7bG
	X/TjnV/82xlDlRSzHaJxZFOyoEyvV2/Gyg8m2epS3Il+T0OWPaO9EyUtwkLT6P0R5yGmLfaRQRb
	/bNWyjVXkLsEj1vTvqVFlZQC3u7qc6iZVEY1orkuib1prL6RtHQiBGLJ5nIuyOwIPKzTKnfoKSy
	GD1nZx+J+9m1zWBPjaLunGZp9NUgv8jNvJkByA1F9xX3ZzTjgdiJMawb8ISgt3Sstf/TwIwRW3T
	5Zx8489y2axNy0gDDqdUZWsLjdO4AfgfAm6ne37HNHWsvMx8e1zGmeUa2AnaGRRaIPCmHCRTEq0
	nHo1kQPYL7vafQ1M0nkDasT/sWbzdn8GZKXwtVB6UMMqy9zOLyhhIeRsP+vpi9VDXFXzI5ba4Pn
	g9Tk5UME0feCgbx+pxiBtYGRwKm2ZrPJ2qevlcfvEg7dnJIFu4L5JS3KbeGJjSSJAZbDC6o6Sts
	cT6nft0tlSfKtX/eICHoOPO7w==
X-Received: by 2002:a05:600c:83c8:b0:490:40f1:5314 with SMTP id 5b1f17b1804b1-490c25b2b7bmr35185985e9.1.1780646115050;
        Fri, 05 Jun 2026 00:55:15 -0700 (PDT)
Message-ID: <7bb9c344-e23b-4f74-ac68-ea813afb5c35@suse.com>
Date: Fri, 5 Jun 2026 09:55:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/6] x86/efi: discard .text.header for PE binary
To: Frediano Ziglio <freddy77@gmail.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-4-frediano.ziglio@cloud.com>
 <35a67929-aaef-4b1f-8370-7dcdf096fbb1@suse.com>
 <CAHt6W4fXPy9o2VzO-E+PkNv+VA2FcRPTzJzH6gAyqwXuV6ytmg@mail.gmail.com>
 <9859bb92-d532-4169-9b0d-1d7543491d6c@citrix.com>
 <CAHt6W4eojHTfRU8mmLDn=c2USXt4_=seRtu08wCvanUQ5O0oog@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: <CAHt6W4eojHTfRU8mmLDn=c2USXt4_=seRtu08wCvanUQ5O0oog@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c1860d/1780646115-B6368DB1-28BDDD9A/0/0
X-purgate-type: clean
X-purgate-size: 1280

On 04.06.2026 16:53, Frediano Ziglio wrote:
> On Thu, 4 Jun 2026 at 15:31, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> On 04/06/2026 11:28 am, Frediano Ziglio wrote:
>>> On Tue, 2 Jun 2026 at 13:15, Jan Beulich <jbeulich@suse.com> wrote:
>>>>> --- a/xen/arch/x86/xen.lds.S
>>>>> +++ b/xen/arch/x86/xen.lds.S
>>>>> @@ -57,6 +57,9 @@ SECTIONS
>>>>>    __image_base__ = .;
>>>>>  #else
>>>>>    . = __image_base__;
>>>>> +  /DISCARD/ : {
>>>>> +    *(.text.header)
>>>>> +  }
>>>>>  #endif
>>>> We already have DISCARD_SECTIONS, so I think it needs clarifying why that
>>>> can't be used / extended.
>>>>
>>> Yes, this can be done that way. Roger, do you agree on this ?

FTOAD: I did _not_ suggest to make use of DISCARD_SECTIONS, as that
won't work. Instead I did ask that it be clarified in the description
why DISCARD_SECTIONS cannot be extended for the purpose here.

>> You'll need to add a general ARCH_DISCARD_SECTIONS, and have x86 fill in
>> {ELF,EFI}_DISCARD_SECTIONS conditionally.
> 
> I think binutils simply ignore sections not present so this is not
> necessary. I'll test it.

But you can't discard .text.header blindly everywhere. The reason it can
be discarded on x86, and only for xen.efi, is very much x86-specific.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 07:57:01 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 07:57:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329144.1593352 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVPQJ-00042Q-I6; Fri, 05 Jun 2026 07:56:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329144.1593352; Fri, 05 Jun 2026 07:56:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVPQJ-00042J-Ei; Fri, 05 Jun 2026 07:56:59 +0000
Received: by outflank-mailman (input) for mailman id 1329144;
 Fri, 05 Jun 2026 07:56:58 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Michal.Orzel@amd.com>) id 1wVPQI-00042B-MM
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 07:56:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVPQH-00D1Pa-Kz
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:56:57 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a228138-2eae-0a2a0a5409dd-0a2a4507952a-22
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:56:57 +0200
Received: from [40.107.200.31]
 (helo=CH5PR02CU005.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a228147-229c-0a2a45070019-286bc81f0c65-4
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:56:56 +0200
Received: from DS7PR03CA0018.namprd03.prod.outlook.com (2603:10b6:5:3b8::23)
 by SJ1PR12MB6315.namprd12.prod.outlook.com (2603:10b6:a03:456::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Fri, 5 Jun 2026
 07:56:49 +0000
Received: from DS2PEPF00003445.namprd04.prod.outlook.com
 (2603:10b6:5:3b8:cafe::4) by DS7PR03CA0018.outlook.office365.com
 (2603:10b6:5:3b8::23) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.8 via Frontend Transport; Fri, 5
 Jun 2026 07:56:48 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 DS2PEPF00003445.mail.protection.outlook.com (10.167.17.72) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Fri, 5 Jun 2026 07:56:48 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Fri, 5 Jun
 2026 02:56:47 -0500
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Fri, 5 Jun
 2026 02:56:47 -0500
Received: from [10.71.196.80] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Fri, 5 Jun 2026 02:56: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=J3maC6EL3Hntau8hVZMdaiucmLfoFRZpemSKUU4u1l2WAge9Z1DtDOWxwQ+CceWz/B9W/5yQovoH8Zvp8Mjd/4EyHFOdlOKbhLD+6v4MswMPMAdtDf47ubj6K2i3AzkkuOPoPgXI6ytVzASkCneo3Dun8RftbR0nFCJ19p/4WNeSIVfF6/hEkO+W3moActA3A4c/VzjHoRn2wdvelCSFO96sXfhKiInmGkLELyFJeJmxpv6Xic2AusRXiwTxPNOMNhBJaQTGnVtT9AotAwgGgNcUQluG9GJ0+pIa8zhCLhW8psGL8MZtaFMw5i61y1szKPc/0pdyzP4Z6ose7Xe7cA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KQcV+P1ejzC8u8T+voQc03sY1/oaEoTHIFElxOM54vU=;
 b=JR2fNFfJirqxWdq0KH8e7LnUG3a+T8Rz9eVSOdtikN/DwmxPVdJNkySQU8aDWgMdyxwFiaRnoFjzZdyogGX+DXXDENPT9WLJnaKHAis1EX+/qUSmeJ6GNTB5OjZHluLnWEhCryl8t/LoYL5SAtQN8bzqNEvYiY+QKX+U5cr3Ttto2ReT0gsFp+K4k+wnv3r2C/EqHGQnMt2t4oWnJNstau54cAI2mcSO9iKYbTQg0Vm+in7teoplLC1bbSDFXqYUkTFtgA6uDK/PUb3R+P0cCvaRMjCRNy8FwB6rG5IH6gUaNLenf1qojAjo1Aryo3iulo95+bNSaz4Sp5NhcRZwag==
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=KQcV+P1ejzC8u8T+voQc03sY1/oaEoTHIFElxOM54vU=;
 b=2El8IEqjinySTBQI5yWrEDv2HVToWnNMZF+ijYXHt71gpCQFOok01yPpW51BA9vitQc8Nly4Jg9OOEmtmAImVJUfo2yyS1oRIZeowBoQVV+dXEspX9/sibVIoRZwcZgnM/2KjKaQwbZhRF+JgnMNNXn6V6bmtSafJNTwA20B7CA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <f4ec4ef1-9051-4dea-a1ae-0966ec46296e@amd.com>
Date: Fri, 5 Jun 2026 09:56:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v2 2/2] device-tree: validate hwdom bank 0 boot
 placement
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>, 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>, Oleksii Kurochko
	<oleksii.kurochko@gmail.com>
References: <cover.1780602987.git.mykola_kvach@epam.com>
 <e21cd3c7274eac76607b551134f3f23665a31d7c.1780602987.git.mykola_kvach@epam.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <e21cd3c7274eac76607b551134f3f23665a31d7c.1780602987.git.mykola_kvach@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003445:EE_|SJ1PR12MB6315:EE_
X-MS-Office365-Filtering-Correlation-Id: e79bc4ae-072c-47ba-d901-08dec2d7ff3e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700016|376014|7416014|1800799024|82310400026|56012099006|4143699003|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	NIZ3SJ8xauPCzF3mVmnjunR8lU2FXzijTqRFEWXBa5zDh9RCZo29+iFFAC5u3I6/zIjsJJd7J9HcCBU2cfh5XpEtM7N2dBfZnsQanoLiXz//3eR6vb8QnWTWpb4IxfK5AOsOHpEQPdciQYN4LcE8u0Z3efQyMfPd4DqKkgdmukCi1R5ZyGRtyW9cEiDxgHIHmNZgp2iy2pfXm14RL8LlbGC+RdAjJgYu518yNM/m11sIR8aWZlHdMbohQTYvYwk9hzjfVfaA5KlPCh1CSUtIMVXtClaLxXVqRZ3CmWD/dYVinV0UO4DSWhZOFT3XMDIaalLCh4/JFLJBvyVQvsKtYqmP2+SHKApCJ5+46iXCuwH9o7PWPWh7rmIoeNgnG5aY2Cot5NxFP63WZLH+9/DO/etjDVhR8B9wTAJ9ZDt5CTWLlsqGZeLYrKPgfyIQ37hWtilZg04fX+CmAmNFkI1+Xri+C2i+hs7+TDzHc+WFMXIIMdXLHjgWCffoiVgkErfGzcr18gzyIrWPdhmH0+2ny6Zv/0aHbII/L1JrjPjtBWAfKLLrTWqJpFxSWHlISzxh74a+Hq5OLNzgSa/ZDBYLO5VZt7/5IcnCMuoKJkeKzmPNXC7TNoIvMXtHGudj6IoqZMaRLWPWr87xQBiEsYU7TL0qdYY/UtY4pXdahKKc4DzQ8UtSmJLLK8Xa7jzTxUbX
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(376014)(7416014)(1800799024)(82310400026)(56012099006)(4143699003)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	iilBAEJviaIxzAyW7Dqf4VEjb0SoMcwElddDKwbEZMCtF3c/xYUd1r1WbMgEwQcNZ5WRHK85IgcMZr6I9Yp4zTHF43ZmyY0SzD5nfvne/8ogaJ1Za0deUkjLifBdLEu333O+nY5b6M3qtnDAKIIs+piGPmOJyOUlKiHTCkzdQnKsbXGrQA7jVvv/LInQpxs6C1IFUVjMcH7eZCPtu2aUKcMrTpfQNdrtflgdNQ9keirmqx2LQe1+tXmmxUC+KBffhZp0gOUJlH2ZNl16UkN0FJ9RDoCVqVhz88R+SsWPpSjnwmF6k25jyFQsS5nWt7zAdcCehmcriBJSAhgUPhMAdP4+nHTsteN2KDJ5KYKsZQK97C6GxxSa5GKUS7GGEKHwAVzNVd/0WzmulcK8IqTo8erFDnu53rFcTKpSBpBtLCJJPFNJWziqAY3IkZzDkpoR
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 07:56:48.8500
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e79bc4ae-072c-47ba-d901-08dec2d7ff3e
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS2PEPF00003445.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6315
X-purgate-ID: tlsNG-ef75cf/1780646217-0B57BC48-1EAF5F57/0/0
X-purgate-type: clean
X-purgate-size: 12672



On 05-Jun-26 07:19, Mykola Kvach wrote:
> From: Mykola Kvach <mykola_kvach@epam.com>
> 
> With LLC coloring enabled, the hardware domain memory is allocated by
> allocate_hwdom_memory() rather than by using the fixed direct-map layout.
> 
> Commit de99f3263555 ("device-tree: Improve hwdom memory allocation for
> DMA") made that allocator prefer lower host regions. The first-bank
> filter, however, still only checked the old 128MB heuristic. A low region
> can satisfy that heuristic but still be too small, or otherwise
> unsuitable, for the hardware-domain kernel and the DTB/initrd area to fit
> in bank 0 according to the Arm placement rules.
> 
> Keep the existing first-bank size policy and add an architecture-specific
> candidate check. On Arm, compute the kernel load address for the
> candidate bank using the same logic as kernel_zimage_place(), verify that
> the kernel range is covered by that bank, and then reuse the same
> DTB/initrd placement helper as place_dtb_initrd(). The FDT is generated
> later, so use the hardware-domain FDT allocation size as a conservative
> upper bound for the final DTB size.
> 
> Check the candidate after capping the host region by the remaining
> unassigned hardware-domain memory, so the validation is performed against
> the size that would actually become bank 0.
> 
> This keeps the DMA-oriented allocation policy from de99f3263555 while
> preventing a too-small bank 0 from reaching place_dtb_initrd().
> 
> Make kernel_zimage_place_in_bank() return INVALID_PADDR when a
> position-independent zImage cannot be placed in the supplied bank; the
> real load path turns this into a panic, while the hwdom candidate check
> uses it to reject the bank.
> 
> Fixes: de99f3263555 ("device-tree: Improve hwdom memory allocation for DMA")
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> ---
> Changes in v2:
> - Split the behavior-preserving placement refactoring into the previous
>   patch.
> - Reuse the refactored Arm kernel and DTB/initrd placement helpers for
>   the first-bank candidate check.
> 
> Link to v1:
>   https://patchew.org/Xen/4f862bb2dc323914b8120b0f16af7516140cf42b.1780065103.git.mykola._5Fkvach@epam.com/
> 
> Changes since RFC:
> - Do not keep the RFC scalar minimum-size check.  It can both reject valid
>   layouts and accept layouts which still fail later.  Instead, validate
>   the candidate bank using the same kernel and DTB/initrd placement rules
>   as the load path.
> - Replace the scalar minimum-size check with arch_hwdom_first_bank_ok().
> - Validate fixed-address and AArch32 start == 0 kernel placement against
>   the candidate bank.
> - Check the candidate after capping the host region by the remaining
>   unassigned hardware-domain memory.
> - Treat the hardware-domain FDT allocation size as a conservative upper
>   bound because the final FDT is generated later.
> 
> Link to RFC: https://patchew.org/Xen/9ae4f7dd49f5b1f761193adae573c2675c92e883.1779051035.git.mykola._5Fkvach@epam.com/
> 
> Why the RFC scalar approach was not kept:
> 
> A simple minimum-size check is not sufficient here because the validity
> of the first bank depends on the actual Arm placement rules, not only on
> the aggregate size of the kernel, DTB and initrd. The DTB/initrd area may
> fit before a 64-bit Image loaded with a text offset, while an AArch32
> position-independent kernel may leave no valid module location even when
> the aggregate size appears to fit. Fixed-address kernels also need the
> candidate bank start to be considered.
> ---
>  xen/arch/arm/acpi/domain_build.c        |  2 -
>  xen/arch/arm/domain_build.c             |  8 ++++
>  xen/arch/arm/include/asm/domain_build.h |  4 ++
>  xen/arch/arm/include/asm/kernel.h       |  9 ++++
>  xen/arch/arm/kernel.c                   | 57 ++++++++++++++++++++++++-
>  xen/common/device-tree/domain-build.c   | 24 ++++++++---
>  xen/include/xen/fdt-kernel.h            |  9 ++++
>  7 files changed, 102 insertions(+), 11 deletions(-)
> 
> diff --git a/xen/arch/arm/acpi/domain_build.c b/xen/arch/arm/acpi/domain_build.c
> index 249d899c33..db16f7fa94 100644
> --- a/xen/arch/arm/acpi/domain_build.c
> +++ b/xen/arch/arm/acpi/domain_build.c
> @@ -26,8 +26,6 @@
>  #undef virt_to_mfn
>  #define virt_to_mfn(va) _mfn(__virt_to_mfn(va))
>  
> -#define ACPI_DOM0_FDT_MIN_SIZE 4096
> -
>  static int __init acpi_iomem_deny_access(struct domain *d)
>  {
>      acpi_status status;
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 1efddc60ef..550617f152 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -115,6 +115,14 @@ int __init parse_arch_dom0_param(const char *s, const char *e)
>                               (IS_ENABLED(CONFIG_STATIC_SHM) ?         \
>                                (NR_SHMEM_BANKS * (160 + 16)) : 0))
>  
> +paddr_t __init hwdom_get_fdt_alloc_size(void)
> +{
> +    if ( acpi_disabled )
> +        return fdt_totalsize(device_tree_flattened) + DOM0_FDT_EXTRA_SIZE;
> +
> +    return ACPI_DOM0_FDT_MIN_SIZE;
> +}
> +
>  unsigned int __init dom0_max_vcpus(void)
>  {
>      if ( opt_dom0_max_vcpus == 0 )
> diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
> index df8b361b3d..85cf46a958 100644
> --- a/xen/arch/arm/include/asm/domain_build.h
> +++ b/xen/arch/arm/include/asm/domain_build.h
> @@ -19,6 +19,10 @@ int prepare_acpi(struct domain *d, struct kernel_info *kinfo);
>  
>  int add_ext_regions(unsigned long s_gfn, unsigned long e_gfn, void *data);
>  
> +#define ACPI_DOM0_FDT_MIN_SIZE 4096
> +
> +paddr_t hwdom_get_fdt_alloc_size(void);
> +
>  #if defined(CONFIG_MPU) && defined(CONFIG_ARM_64)
>  /* Utility function to determine if an Armv8-R processor supports VMSA. */
>  bool has_v8r_vmsa_support(void);
> diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
> index 21f4273fa1..bf14fb208a 100644
> --- a/xen/arch/arm/include/asm/kernel.h
> +++ b/xen/arch/arm/include/asm/kernel.h
> @@ -8,12 +8,21 @@
>  
>  #include <asm/domain.h>
>  
> +#include <xen/types.h>
> +
> +struct kernel_info;
> +
>  struct arch_kernel_info
>  {
>      /* Enable pl011 emulation */
>      bool vpl011;
>  };
>  
> +#define arch_hwdom_first_bank_ok arch_hwdom_first_bank_ok
> +bool arch_hwdom_first_bank_ok(const struct kernel_info *info,
> +                              paddr_t bank_start,
> +                              paddr_t bank_size);
> +
>  #endif /* #ifdef __ARCH_ARM_KERNEL_H__ */
>  
>  /*
> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
> index d1be4d8074..ecea2822a1 100644
> --- a/xen/arch/arm/kernel.c
> +++ b/xen/arch/arm/kernel.c
> @@ -64,9 +64,15 @@ kernel_zimage_place_in_bank(const struct kernel_info *info,
>          load_end = bank_start + bank_size;
>          load_end = MIN(bank_start + MB(128), load_end);
>  
> +        if ( load_end - bank_start < info->image.len )
> +            return INVALID_PADDR;
> +
>          load_addr = load_end - info->image.len;
>          /* Align to 2MB */
>          load_addr &= ~(MB(2) - 1);
> +
> +        if ( load_addr < bank_start )
> +            return INVALID_PADDR;
>      }
>      else
>          load_addr = info->image.start;
> @@ -164,9 +170,56 @@ static void __init place_dtb_initrd(struct kernel_info *info,
>  static paddr_t __init kernel_zimage_place(struct kernel_info *info)
>  {
>      const struct membanks *mem = kernel_info_get_mem(info);
> +    paddr_t load_addr;
> +
> +    load_addr = kernel_zimage_place_in_bank(info, mem->bank[0].start,
> +                                            mem->bank[0].size);
> +    if ( load_addr == INVALID_PADDR )
> +        panic("Unable to find suitable location for the kernel\n");
> +
> +    return load_addr;
> +}
> +
> +bool __init arch_hwdom_first_bank_ok(const struct kernel_info *info,
> +                                     paddr_t bank_start,
> +                                     paddr_t bank_size)
> +{
> +    const struct boot_module *initrd = info->bd.initrd;
> +    /*
> +     * place_dtb_initrd() rounds the DTB and initrd placement to 2MB boundaries;
> +     * use the same granularity when checking whether the first bank can hold
> +     * them.
> +     */
> +    const paddr_t initrd_len = ROUNDUP(initrd ? initrd->size : 0, MB(2));
> +    /*
> +     * The hardware domain FDT has not been generated yet. Use the allocation
> +     * size as a conservative upper bound for the final DTB size.
> +     */
> +    const paddr_t dtb_len = ROUNDUP(hwdom_get_fdt_alloc_size(), MB(2));
> +    const paddr_t rambase = bank_start;
> +    const paddr_t ramsize = bank_size;
> +    const paddr_t dtb_initrd_size = initrd_len + dtb_len;
> +    const paddr_t ramend = rambase + ramsize;
> +    paddr_t kernbase;
> +    paddr_t kernend;
> +    paddr_t dtb_base;
> +
> +    kernbase = kernel_zimage_place_in_bank(info, bank_start, bank_size);
> +    if ( kernbase == INVALID_PADDR ||
> +         info->image.len > INVALID_PADDR - kernbase )
Max IPA is 48bit, far from 64bit, where the arch max is 52bit and image.len is a
kernel image size, so kernbase + image.len cannot wrap a 64-bit paddr_t, so this
check is dead. Drop it.

> +        return false;
> +
> +    kernend = kernbase + info->image.len;
> +
> +    if ( kernbase < rambase || kernend > ramend )
Please add braces around individual expressions.

> +        return false;
> +
> +    if ( !first_bank_can_fit_modules(ramsize, kernbase, kernend,
> +                                     dtb_initrd_size) )
> +        return false;
>  
> -    return kernel_zimage_place_in_bank(info, mem->bank[0].start,
> -                                       mem->bank[0].size);
> +    return find_dtb_initrd_placement(rambase, ramend, kernbase, kernend,
> +                                     dtb_initrd_size, &dtb_base);
>  }
>  
>  static void __init kernel_zimage_load(struct kernel_info *info)
> diff --git a/xen/common/device-tree/domain-build.c b/xen/common/device-tree/domain-build.c
> index f3ba496f1e..2e806c1b09 100644
> --- a/xen/common/device-tree/domain-build.c
> +++ b/xen/common/device-tree/domain-build.c
> @@ -299,20 +299,30 @@ static bool __init allocate_hwdom_memory(struct kernel_info *kinfo)
>  
>      for ( i = 0; (kinfo->unassigned_mem > 0) && (i < nr_banks); i++ )
>      {
> -        paddr_t bank_size;
> +        const paddr_t bank_start = hwdom_free_mem->bank[i].start;
> +        paddr_t bank_size = hwdom_free_mem->bank[i].size;
> +
> +        /*
> +         * Check the size that would actually be assigned, not just the size
> +         * of the host region.
> +         */
> +        bank_size = min(bank_size, kinfo->unassigned_mem);
>  
>          /*
>           * The first bank must be large enough for place_dtb_initrd() to
>           * fit the kernel, DTB and initrd.  Skip small regions to avoid
>           * ending up with a tiny first bank.
>           */
> -        if ( !mem->nr_banks && (hwdom_free_mem->bank[i].size < min_bank_size) )
> -            continue;
> +        if ( !mem->nr_banks )
> +        {
> +            if ( bank_size < min_bank_size )
> +                continue;
> +
> +            if ( !arch_hwdom_first_bank_ok(kinfo, bank_start, bank_size) )
> +                continue;
> +        }
>  
> -        bank_size = MIN(hwdom_free_mem->bank[i].size, kinfo->unassigned_mem);
> -        if ( !allocate_bank_memory(kinfo,
> -                                   gaddr_to_gfn(hwdom_free_mem->bank[i].start),
> -                                   bank_size) )
> +        if ( !allocate_bank_memory(kinfo, gaddr_to_gfn(bank_start), bank_size) )
>          {
>              xfree(hwdom_free_mem);
>              return false;
> diff --git a/xen/include/xen/fdt-kernel.h b/xen/include/xen/fdt-kernel.h
> index 00c37be101..71e2344b97 100644
> --- a/xen/include/xen/fdt-kernel.h
> +++ b/xen/include/xen/fdt-kernel.h
> @@ -93,6 +93,15 @@ kernel_info_get_mem_const(const struct kernel_info *kinfo)
>      return container_of(&kinfo->mem.common, const struct membanks, common);
>  }
>  
> +#ifndef arch_hwdom_first_bank_ok
> +static inline bool arch_hwdom_first_bank_ok(const struct kernel_info *info,
This should deserve a comment describing its contract.
Also, the name is not very descriptive: how about
arch_hwdom_first_bank_can_fit_modules() similar to generic Arm's
first_bank_can_fit_modules()?

Rest is ok.

~Michal



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 07:57:59 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 07:57:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329152.1593360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVPRH-0005Hw-St; Fri, 05 Jun 2026 07:57:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329152.1593360; Fri, 05 Jun 2026 07: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 1wVPRH-0005Hp-Q3; Fri, 05 Jun 2026 07:57:59 +0000
Received: by outflank-mailman (input) for mailman id 1329152;
 Fri, 05 Jun 2026 07:57:58 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wVPRG-0005Hj-LL
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 07:57:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVPRG-0051Sq-20
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:57:58 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a228183-2eae-0a2a0a5409dd-0a2a4502c354-8
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:57:57 +0200
Received: from [209.85.221.43] (helo=mail-wr1-f43.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a228185-af86-0a2a45020019-d155dd2bb1e5-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 09:57:57 +0200
Received: by mail-wr1-f43.google.com with SMTP id
 ffacd0b85a97d-45eedc94d37so815205f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 00:57: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-4601f3444fesm25425454f8f.20.2026.06.05.00.57.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Jun 2026 00:57: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780646277; x=1781251077; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=NaCtTAlYf+/WaB56QXbIgCKeygtkBJg2DTm8XmNCI8g=;
        b=UKXlH27ouveNdqV3fK5AlDHbNaq8xb0lcmz5qlaQUTaLxCgCpBGQYoIZHvE4GV7IEm
         +WIu1/z9eClnmG0rWceXICaLJCMzxpfv/jCZIrv3o/kjEVVf/YwAGQ1T+COpQ4KUm3kX
         dbaIFpB3x6sUc6Zx2UTiCRNbNHLccdRetThU4gPOgqJjkgoTnzuo6Ndp2bknsCljqujO
         sUlsdqk/N7Y3NTsmgczQ/M8c5zLPVOwV4NWpZfslUQX6J+InnEdW5pNXd7ybTrHXE+pC
         lduxInjST6UmfNPoDmPsGFCrgHhqBR5iYhfSZtoNwIKj45MWUtPDqx5IHyvfZ79VCYFN
         W/Ng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780646277; x=1781251077;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NaCtTAlYf+/WaB56QXbIgCKeygtkBJg2DTm8XmNCI8g=;
        b=sxZBgOSUG/gJcZEWTuRNsDVXCL97s9pxt5ncgi5KcqhpG4HOZ/K1h5xjnsJu84CXMb
         DaGloXK6KHr1a3dd3bOxZAlXjuil8OyeHmOXjzZMXJxjPQE3dlMhuoXCihJT5as5eQkD
         Q289vTvVOpBlruKRzCdi6gMZzvHSuBKG0ulNhkweDD+l0ms0H+WM8y+gqqK9F+CW/GwS
         gl27/UXNpbrEqavvzuxe77NuH5Y32ZdU+ORsu0TuyDabQTkijHtlslZK5FO4pwzgNmVV
         RJpfMUY50uBMx2ndsha3ZMmpJt0xz+4VXkPeScxFx5ZlVKHggvYYH2vuDfRGhrB1YM3k
         KTcQ==
X-Forwarded-Encrypted: i=1; AFNElJ9opBZfA2pE5FPqTcoLT+qVm8pOyuYf+Qu/b1p1DvoQ2WESnJbKgg040MwsA4julG98nioVrxEq8tw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy9MuBpV0w/mQgrxXNCqY+YBDFVDHf34df5jxypbLEhrSHFZoXL
	+9DgFfu1wFATv/zMSBrwU1rWeHbycqbKLkRfSvb2l0nS8a6ioMiC2LRTTDAP+3wMKQ==
X-Gm-Gg: Acq92OEL2yUc/aKWo3IjgbyMVRlLmZenX00AuWJ0ms5qRAAVgVzq6EHuF3DSLyvD/vr
	TQuwOaJcqStl19ES/NDvDY62LWQE1q6nK/DBxvh3MXYuX88QIB4pyTEmircyTIK7q6s7qsPJyIY
	W+YBoL+mH8P8YoIzYOOb8RGzkacoJLX8IxmhvTs4qgTNLjwOZuZk7X/vM0pUEsGX2RipXQn9FSa
	XZn8m1VAcrSXiX7sDuLUuRw7kxrZbKRHrV58A4OKX+Cz5TX0U+Jh3/zHbzGUEhkn6yVmrbhbhif
	zdU9BPFFqrJvJGnhX4i4Ya+1l97xeF+nxpAisLDM479lcygMSIgIQt3oxTYCqmtWoOg4LBpJhn7
	a7nR/U0W8/RYpysqW459ArpNrKL+pR67efs0NgxT70zvRqFgQkvbh0FuAZ8O46SE+yfdAKoJb7e
	xfWoncYnYoL12tA03Znm4aJWWPc0js6PrAdjh/OqWLCwGZ+XPfmvHXrn3YjFT5AJ0/VkHnq5Dee
	CHcP3TgCJFCR3h04VkIsNxaLw==
X-Received: by 2002:a5d:5584:0:b0:45e:ed7f:1dd with SMTP id ffacd0b85a97d-46030645e65mr2572317f8f.25.1780646277227;
        Fri, 05 Jun 2026 00:57:57 -0700 (PDT)
Message-ID: <a95fc402-bc12-431f-b4a4-8506f4d6702b@suse.com>
Date: Fri, 5 Jun 2026 09:57:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/6] x86/efi: avoid a relocation in
 efi_arch_post_exit_boot()
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Frediano Ziglio <freddy77@gmail.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Teddy Astie <teddy.astie@vates.tech>,
 xen-devel@lists.xenproject.org
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-6-frediano.ziglio@cloud.com>
 <ddf972f5-fab2-4833-99a7-d008f4d2c7e4@suse.com>
 <86898787-9b59-4976-ad8b-5dbe681e34d3@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: <86898787-9b59-4976-ad8b-5dbe681e34d3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1780646277-A8145161-B81C2159/0/0
X-purgate-type: clean
X-purgate-size: 993

On 04.06.2026 16:48, Andrew Cooper wrote:
> On 02/06/2026 1:23 pm, Jan Beulich wrote:
>> On 29.05.2026 17:35, Frediano Ziglio wrote:
>>> From: Roger Pau MonnÃ© <roger.pau@citrix.com>
>>>
>>> Instead of using the absolute __start_xen address, calculate it as an
>>> offset from the current instruction pointer.  The relocation would be
>>> problematic if the loader has acknowledged the Xen image section
>>> attributes, and mapped .init.text with just read and execute permissions.
>> How can the loader respect what .init.text wants when it sees only .init,
>> prior to the subsequent patch? Was the series meant to be ordered
>> differently?
> 
> No.Â  Xen explodes if you split .init and this relocation is present.
> 
> It's the part where Xen undoes the relocation that the UEFI loader did.
> 
> Removing this relocation is necessary to make it safe to split .init.

Okay, so ordering of the series is intentional as is, but the description
here is imprecise.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 08:00:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 08:00:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329170.1593370 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVPTl-0007Kx-Lf; Fri, 05 Jun 2026 08:00:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329170.1593370; Fri, 05 Jun 2026 08: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 1wVPTl-0007KH-J3; Fri, 05 Jun 2026 08:00:33 +0000
Received: by outflank-mailman (input) for mailman id 1329170;
 Fri, 05 Jun 2026 08:00:31 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wVPTj-0007Iu-HD
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 08:00:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVPTi-009xqs-OL
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 10:00:30 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a22821e-bab6-0a2a0a5309dd-0a2a450b8a28-2
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 10:00:30 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a22821d-212f-0a2a450b0019-d1558032ed7c-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 10:00:29 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-490ac357c55so18812455e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 01:00:29 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490c2cbb4cbsm22050565e9.0.2026.06.05.01.00.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Jun 2026 01:00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780646429; x=1781251229; 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=UUIgKMdJzZjG8nMM46/RRL/F98krsFxVeLEZOnvM3aM=;
        b=cqA6eSNVNP3MF7i8EC03xTaknXx9413Dctq+3GnEgM82mo7yVTEXlxLMQm8KNV6yOF
         /XM6UPcpMe3I0Z6iNuAvccHvyGl0YSQf6PN/i9PBgc5KSOcOJKzlGMkSOmMzQ6L3vZLK
         pZQCxMWFXddl95gRSJC706gEu38A7dKOFmBauSYzZt5m1aOK8xfettek9XB6HfDbG3wn
         FAlyVktjjvNzlG1Fflp9zpBAcmtaDaWwJjoHNyi+P9EIJ1jTbu48p7sc91Fr3xdZqL4r
         gXNJCS5EMTaDWZeGgZPitN5oRv2moMqfv+HZxHJTAZXtbqsuhbf7lIyiooNFwDg3aII8
         BwwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780646429; x=1781251229;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=UUIgKMdJzZjG8nMM46/RRL/F98krsFxVeLEZOnvM3aM=;
        b=dQ33tvtTwzqfNfDizNa0sCEEPVodW6IASHNduzM5Xv8tKBNznx+H8XEPPUl0gVAkGe
         WvrYM34WlZMTCe5d51mR8/ctCOwgSgiO50wUDbR8u/qgQIeEszqkMGoCyvJIpstxmYTz
         xTqYIuYoDCeKSWwNFXnyXX6Fm9qoPNdAtW08BxOTobHBD7EUI9dmWxd+wb+H67JP0RyX
         ufkuk2SmyghPdum7TCnkzpd24l4L8WdWlBm+Fnf+05kgxZbKOdgjy/cBeI5N1+Eu8LP1
         PNIiOPAbZZa+ZwLeA1HzjO/WG55JFNXRSM+1HNrQngPs/dOIKayK49JXwh5RH3wvnIht
         KH+g==
X-Forwarded-Encrypted: i=1; AFNElJ/VsxwuUxp1MjwUJ07clFXpY4+H8LWvVomPb/HNkgoYijFxhZUndDEP5DkkfvbjR9/LfmZYdidxphE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyJMBjmZemmImrGHqBpheEx1mMtYgkPLDwtWOZ9kJ57Tf44XNRZ
	kUqA8N5AVIbWzkjgD3fBRduO8IpipT7vF9w0iTSynYgjgo/YNf1AJeSw
X-Gm-Gg: Acq92OGDMoZeU7tQL/XL6h1yPMO0H/FVFqw8uS5Ov0wAgSZMOksE9arY+A18XwbEJdP
	jFLxSlJEXCSA1hP9CI7umExH8T0b9PEkIbdPfQ4ZvivD/fYyWdNMCXdwz9GxTFGXQFjWN6tYKDJ
	nLJ7mjLayZ8m3xGoq4nsmgPjWC5Ev0l3aK2D38g4u3qaJw2fQ4MgVkWKqIqpUdNdcbaPTv0GI0B
	CrjPYvKJCjaSTPsdoH0e7UgbV7wNSJ3O87Tnu62xs5IY3/dobyh4ihgzTmqvG8JzqIGuQfTV42Z
	Fs429l38+2U4AlFWvoVzwX73Q0zm9L+k3qEMH8PmunHUjiVPMq/Le6L7GrMEs63RGtm9xzHBpDA
	Yu7TSweDQ9tBdkmhakYXWESH10ZeIwa8kNj8nBG/JwsbnhrJvk+AfTH4AKOQ2ntoFEdCnTYLLQB
	8X1TyqyA7tmGghxRagt6apWxKdQIYG+q788PkiMXXG+Y4VEwrZQTkbTUVBtsxDJGGPfr3KAwbxE
	6l6Uqhhf8uUqqsY
X-Received: by 2002:a05:600c:3e15:b0:490:adb6:793d with SMTP id 5b1f17b1804b1-490c25f67d9mr34868665e9.26.1780646428303;
        Fri, 05 Jun 2026 01:00:28 -0700 (PDT)
Message-ID: <6e35fc10-5281-4015-a5ad-78f8697aee95@gmail.com>
Date: Fri, 5 Jun 2026 10:00:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v2 0/2] xen/arm: validate hwdom first bank boot
 placement
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>,
 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: <cover.1780602987.git.mykola_kvach@epam.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <cover.1780602987.git.mykola_kvach@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1780646429-2007BF3B-9AF86386/10/73395122804
X-purgate-type: spam
X-purgate-size: 1867

Hello Mykola,

On 6/5/26 7:19 AM, Mykola Kvach wrote:
> From: Mykola Kvach <mykola_kvach@epam.com>

Just out of curiosity, is it okay that the email address listed here 
differs from the one you're using to send patches? (By the way, nice 
email address ;))

> 
> With LLC coloring enabled, the hardware domain memory is allocated by
> allocate_hwdom_memory() instead of relying on the fixed direct-map
> layout. Since de99f3263555 ("device-tree: Improve hwdom memory
> allocation for DMA"), the allocator prefers lower host regions, but the
> first-bank filter still only enforces the old 128MB heuristic.
> 
> A low candidate bank can satisfy that heuristic while still being
> unsuitable for the Arm kernel/DTB/initrd placement rules. Split the Arm
> placement logic into reusable helpers first, then validate the candidate
> hardware-domain bank 0 against those helpers before allocating it.
> 
> Changes in v2:
> - Split the previous single patch into a behavior-preserving Arm
>    placement refactoring and a separate hardware-domain first-bank fix.
> - Rename find_module_placement() and place_modules() to use DTB/initrd
>    terminology.
> - Pass ramend to find_dtb_initrd_placement().
> - Update the stale tools/libs/guest/xg_dom_arm.c reference.
> 
> Link to v1:
>    https://patchew.org/Xen/4f862bb2dc323914b8120b0f16af7516140cf42b.1780065103.git.mykola._5Fkvach@epam.com/
> 

I would like to clarify whether my understanding is correct.

With LLC coloring enabled on ARM, the allocator could assign the 
hardware domain a bank 0 that passes the size check but is unsuitable 
for kernel/DTB/initrd placement. As a result, the hardware domain may 
fail to boot or could silently corrupt memory if the images are placed 
in an incorrect location.

Is my understanding correct?

Thanks in advance.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 08:03:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 08:03:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329175.1593378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVPWu-0007we-33; Fri, 05 Jun 2026 08:03:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329175.1593378; Fri, 05 Jun 2026 08: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 1wVPWu-0007wX-0N; Fri, 05 Jun 2026 08:03:48 +0000
Received: by outflank-mailman (input) for mailman id 1329175;
 Fri, 05 Jun 2026 08:03:47 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Michal.Orzel@amd.com>) id 1wVPWt-0007wR-F5
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 08:03:47 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVPWs-00CSgC-Rh
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 10:03:46 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a2282de-bab6-0a2a0a5309dd-0a2a45078d86-4
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 10:03:46 +0200
Received: from [40.93.201.26]
 (helo=CY3PR05CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a2282e0-229c-0a2a45070019-285dc91afc3d-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 10:03:46 +0200
Received: from MN2PR05CA0053.namprd05.prod.outlook.com (2603:10b6:208:236::22)
 by SA1PR12MB7245.namprd12.prod.outlook.com (2603:10b6:806:2bf::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Fri, 5 Jun 2026
 08:03:40 +0000
Received: from BL6PEPF00022575.namprd02.prod.outlook.com
 (2603:10b6:208:236:cafe::5) by MN2PR05CA0053.outlook.office365.com
 (2603:10b6:208:236::22) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.9 via Frontend Transport; Fri, 5
 Jun 2026 08:03:40 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 BL6PEPF00022575.mail.protection.outlook.com (10.167.249.43) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Fri, 5 Jun 2026 08:03:39 +0000
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Fri, 5 Jun
 2026 03:03:39 -0500
Received: from [10.71.196.80] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Fri, 5 Jun 2026 03:03: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ig19ez+LbOANdHb8o3llFONJizPls2lRucvPAwMlcC9s4o/c7rD64PoLFhq3PSjsHP5yzuyLJCYkZDp/82jQaSU8Ng+0hB0gRRag872CAH2J00YDbr1wYuYCnMgK6n2qFFqX48QzjYrSyTptnDE6kzG3TXYA5br/4OBOMCltEZnQj9ppfekXeFe5LZk+u4lIn7Tg+6CqF0tzDrZA8ss1poKBL9HlqF/IhbnPp3Ljz+9uWSspr8wWWYEtwSJ4uqgnnplOSiQd26awzlcWU3SnXLvouyR+5xrpRCYLSNtUObqzNWl1Qyni73Qd3qVItSgeIhs7wy3D5+duRSZIzX8hNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=crIk/1Ug3tHz/diqOfhC37MRtOb+gvk7Qt5G5LamFD0=;
 b=y98feWvCJ92s+JRVAw0h5kBdGyjxOTmRxDf0Y26nSqYuAPZPOboxeuYKvC5I4x4/9YrbNa6i8pr5sHulvUNnzG/bAf8smeR7c4xnSTyEuZrPuopmmBN07iFw2CfqIvoGUjogJC5Bpy5t1TKdBlnez7lfZ3sJOihDPYYcbwWj4nOFbyUaQ+XuQbfydi/o59etJNljFKsGquG878sZbX9WgFTLFYHQwHK78gCT65T262WU753GqbFrM0JweRZFqnEg/K0D15Up19AyUjC4A18lUJn3JDMuNd/I2f+J8F+owfuyo2yOhV2lrVLuPTI0UD3Mw+lf+eFt0JaTSNSuPBW25g==
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=crIk/1Ug3tHz/diqOfhC37MRtOb+gvk7Qt5G5LamFD0=;
 b=fK/pCzo9Q6gu2A3FwUySkTe6rCNT1lRYH/HsSTKbBgyFIGpC/0vV985vfGM8bBwLCufShTafH4Tmy/2r9DbmraC9TVu3JatO7/lyFI97jxH3qdpsbUI6o+qSKCifyxWBrVXe9AnznJgqq7XuGYPyaXgH7TJJrZXYUpZpvJ8U2bc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <f9be2a2a-451a-47d3-9273-7cf5f242ad93@amd.com>
Date: Fri, 5 Jun 2026 10:03:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v2 0/2] xen/arm: validate hwdom first bank boot
 placement
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>, 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>, 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: <cover.1780602987.git.mykola_kvach@epam.com>
 <6e35fc10-5281-4015-a5ad-78f8697aee95@gmail.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <6e35fc10-5281-4015-a5ad-78f8697aee95@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF00022575:EE_|SA1PR12MB7245:EE_
X-MS-Office365-Filtering-Correlation-Id: 262c7192-25d6-439e-92c9-08dec2d8f446
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|82310400026|1800799024|7416014|36860700016|4143699003|18002099003|22082099003|56012099006|11063799006|6133799003;
X-Microsoft-Antispam-Message-Info:
	kSWCg4Gl8dnRi/vBrR/nsNQpuwqpfTOS26yiwhRPAmI7l3CM043gcSQbrCjgoQxrNWVQzQ/Rqk/RY+0xVm9SCiscIA3EXrH8lAKLN3IEtHtIXdWYIP0htXyZMXGp9clPuzrAQBRAsgA41SEQWnR/fpSArvpu23FWOZUwIL7M2FBEbqGII+mSkbApCUTV/Rcwwwq6DuVCZdpHKd9JgO4WMVA//+1dLAIlO3oqHBoqp8gGwglYTXo780SFYDk6DinoDBzxykr/csGIKRFBH9Ze8zWosR5gw/bRPaFULaRjSg11/tgLUhE18JNbBFESutHXRNzV02HLg26Ry7+0mXuxsJqwVE2dTWvDroLaw/h6q6KaugHsrVEfd4sk1SYzbQtwY/OeKnlKgptwsly1t/vtaouQcht7mOPta6hi8GR3zCVaUwLijRNNpWID+phzEE9/V5IWD1OSob8/3WEjkSIkPLndURb/zA7i7b4KREg6wLGTouqSBH80+CjFvBMvVZxm62AgkwRDjWg5pcaeynOU+6z5GgDRnk1b5dzl6xhJ+0YDVU2IvtTr+CaqpxXE0BRFitD0jxl8ZBRXq3p9iTqtUSrAUEVvsi3s5XBTlgKqU7dEb2SvdQ8AveuAobNt+KMPtHcWGM0NrDph2yUGqauN9a/s2BNu9agPlXiyiZrKs7ji9eJLOIOZfGeD9vSgieJH
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(1800799024)(7416014)(36860700016)(4143699003)(18002099003)(22082099003)(56012099006)(11063799006)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	9jOmZN1Ts1NSfywoj/QOhT/89NkbcZqRVXNevjmpKPdnGqf3bLJDlIKRFv0wzUDFpeX1SjaTcc4EbUDxzYLmkAUJP89jRKHAyON7eehqXwUUZqzUW+F38Gr8MOECVI+PYjUtkapQPQilpyknd507fUk9dVTjsShPJuvv2ghKZfJ6Q1oVRB/LNpQ0sMs+vh+SjiLLUAWsr/rFS5ljIZFQ3EgdYyPflujY9vE7rFab4kDw74E2CMiP4n05V3lTVn8e11OJJ4LaUT39090aPzKxrO3+UPuHD4DcquWRY4D1U1X2Ll2YiekkXsyo29qJtFVqIphXdPVkbIFnGvW85jMR1AVDk9R0lcaQnV5OL7V7KV0pQQLOXUo0cXs5iE4avrz08p0JoyfrFnPoQUyXWUR2YVzlc1aHb5ENIbTkIrHo4Z/ASx1FAjQo2uunTH06HGAf
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 08:03:39.9822
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 262c7192-25d6-439e-92c9-08dec2d8f446
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF00022575.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7245
X-purgate-ID: tlsNG-ef75cf/1780646626-22573C48-DFC7FC95/0/0
X-purgate-type: clean
X-purgate-size: 2055



On 05-Jun-26 10:00, Oleksii Kurochko wrote:
> Hello Mykola,
> 
> On 6/5/26 7:19 AM, Mykola Kvach wrote:
>> From: Mykola Kvach <mykola_kvach@epam.com>
> 
> Just out of curiosity, is it okay that the email address listed here 
> differs from the one you're using to send patches? (By the way, nice 
> email address ;))
> 
>>
>> With LLC coloring enabled, the hardware domain memory is allocated by
>> allocate_hwdom_memory() instead of relying on the fixed direct-map
>> layout. Since de99f3263555 ("device-tree: Improve hwdom memory
>> allocation for DMA"), the allocator prefers lower host regions, but the
>> first-bank filter still only enforces the old 128MB heuristic.
>>
>> A low candidate bank can satisfy that heuristic while still being
>> unsuitable for the Arm kernel/DTB/initrd placement rules. Split the Arm
>> placement logic into reusable helpers first, then validate the candidate
>> hardware-domain bank 0 against those helpers before allocating it.
>>
>> Changes in v2:
>> - Split the previous single patch into a behavior-preserving Arm
>>    placement refactoring and a separate hardware-domain first-bank fix.
>> - Rename find_module_placement() and place_modules() to use DTB/initrd
>>    terminology.
>> - Pass ramend to find_dtb_initrd_placement().
>> - Update the stale tools/libs/guest/xg_dom_arm.c reference.
>>
>> Link to v1:
>>    https://patchew.org/Xen/4f862bb2dc323914b8120b0f16af7516140cf42b.1780065103.git.mykola._5Fkvach@epam.com/
>>
> 
> I would like to clarify whether my understanding is correct.
> 
> With LLC coloring enabled on ARM, the allocator could assign the 
> hardware domain a bank 0 that passes the size check but is unsuitable 
> for kernel/DTB/initrd placement. As a result, the hardware domain may 
> fail to boot or could silently corrupt memory if the images are placed 
> in an incorrect location.
> 
> Is my understanding correct?
Yes, Xen would fail to boot such domain. On Arm we carry a lot of placement
logic we need to deal with...

~Michal



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 08:21:01 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 08:21:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329184.1593389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVPnR-0003gI-FF; Fri, 05 Jun 2026 08:20:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329184.1593389; Fri, 05 Jun 2026 08: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 1wVPnR-0003gB-Aw; Fri, 05 Jun 2026 08:20:53 +0000
Received: by outflank-mailman (input) for mailman id 1329184;
 Fri, 05 Jun 2026 08:20:52 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wVPnP-0003g5-Vx
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 08:20:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVPnP-00D87V-5W
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 10:20:51 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2286d1-e002-0a2a0a5209dd-0a2a4509e5d8-48
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 10:20:51 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2286e2-2497-0a2a45090019-d155802ef00e-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 10:20:51 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-490af320e2aso18921805e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 01:20: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-4601f0a43e9sm23684624f8f.0.2026.06.05.01.20.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Jun 2026 01:20: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780647650; x=1781252450; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=M9IpzdkwkHfJE5qDuN0Vfq+eW0x5cRaS0RwCFOoxuPE=;
        b=emVikud85IVfOvI/upcBZnmToUcM+QBK4K7uk8NkyUI+u0y9kK8qUyRmu57PgSdtGu
         HdKyZdvd+Wyn+XKEyQfXFDj0NisXeM1dCfIUSB2TtAOLAHy5jGyVkLxGNaQxds15qsih
         73A5gLdArq4T0zrgMRWrzZxRT/tGhr+IKZX15xMnpIFReK6kFUd9SIc97zMpL/xLASXc
         DDB1dorSohWiMv8tDnSVkvC78UZur5uqb0uGvfK6UExjVz5EijEeuQrCe9u0HSY+rj0+
         WslWwzJXXE414QaRouxHeH/cXijd/SZOormo++O7i1LF2ukg/ym1Pwr7gSkvC6YN3BEK
         SynA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780647650; x=1781252450;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=M9IpzdkwkHfJE5qDuN0Vfq+eW0x5cRaS0RwCFOoxuPE=;
        b=axd7GidbubWNBc2BEv5XxKDK+AAp8GUihGpybXTR0XFF9u+fhW/gFJ6eZnpo2coHJI
         Mvf5mwQ2kxdY/MTtH12H/pWGMnfLyQuWMX9f79WT+IAPQt1NI4evHhzvjxZ6Uox/gmLG
         iTc1Co0zHShNgabDhaCbrmqa1OM5ppXDDADvjmAwPW+vaZ0AyFmVCraBrXWBOcWCrAPv
         L7QdSlodrgtlWCt17Ke0kYiI1ay+ZFMzd6XzacyAar+9BZJV4pi9XrQrRcVLSLaCDJfD
         XgwQOA2Uso4WFRck67pVTRIJJ5lqoiAf26+c6BhUnBfp3VfazIX87jqbwlIk3vnFZ33f
         kNcA==
X-Forwarded-Encrypted: i=1; AFNElJ+YpFi1tcrKQQQIhfX2XtkZAxlgLErhm8c+qC8cRFjaBbBBiWfQr3spVfrdvC2Ltk0R0l/ZoAIyS4w=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz7VEYOA6Z/GLVMlHRISiBf0JY3GsICRUEdq6Vtq9YeBrTfPr9X
	M2EDIfSr8OFkMOyYGnSXN8u/H5nDDMaMm0sU6Bt4ESX9MonnReuyANkZCc8xRetbcg==
X-Gm-Gg: Acq92OFmb1jwxvRwjZSzOm0Nbmx3pDHeutiYCILm2yaSFelIdiRaCut4Z/FOe3zA14B
	/lSUbEfNzZ/D12aYbSHwD3QZMGrRKe5q/IjEnVbo+aV29W94rZzLE45omnwyaH6f/DIBICVX2kc
	FpW/y+y7gZ9tnNNwKcZRjZkp1AAueyZmvyYKA+T109UrbGAHrfDGBvx270b1hozM4SnnzPdmso7
	ASpdi9kgU5WlIMOw591bKGjajCVvEG+Te18Z3dkfmnX/S/jWj+wYcu7gy7RtcTpvBHYwQ+wTmJ9
	Nta/f5MhfzfKl2Hp4ciYxOe57HzlYduJHquwZ+2Uxr9EXSZr6z5gWW9NFM18MuGNJOc7mJtEqvx
	dyHJkHRw7K/Zzmaw4xKNERWkNt+geTKHXPQr8PXEc1OrIG8Pt/7ApybCytLnEEEjO7MQv6v0MkV
	NHZc1+IPMUJOrxfRs7Dn8rNHxmpCg4y/TQGallRckvsQpeYuWac/quYGRodhE1PCIV3nPHesB1b
	pe3G6XStbycMJABoKpKIDAW3zIn8eFnCp5i
X-Received: by 2002:a05:600c:83c3:b0:48f:d612:3c59 with SMTP id 5b1f17b1804b1-490c25a21a9mr40291635e9.9.1780647650394;
        Fri, 05 Jun 2026 01:20:50 -0700 (PDT)
Message-ID: <f4d1b7a0-2e5e-4a63-ae82-f765d2743334@suse.com>
Date: Fri, 5 Jun 2026 10:20:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] vPCI: resolve MISRA R10.1 boolean arithmetic type
 violation
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>,
 Stewart Hildebrand <stewart.hildebrand@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e23266191a366abe66d8104783d97578aa8734a4.1779428826.git.dmytro_prokopchuk1@epam.com>
 <984c91b8-3d2c-4431-bdf1-4a333ac341d1@suse.com>
 <alpine.DEB.2.22.394.2605261508390.182011@ubuntu-linux-20-04-desktop>
 <62abdafd-a49c-46e0-b529-0646a8d2425a@suse.com>
 <alpine.DEB.2.22.394.2606021840110.550703@ubuntu-linux-20-04-desktop>
 <b443469b-01fe-4196-a79f-811bfb6e17d8@suse.com>
 <aiAj7duOGUAkbB05@macbook.local>
 <616db16e-3c3e-4000-b6ea-d2703f5a848b@suse.com>
 <alpine.DEB.2.22.394.2606031341070.1200252@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.2606031341070.1200252@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1780647651-88F71A53-401C4413/0/0
X-purgate-type: clean
X-purgate-size: 5431

On 03.06.2026 22:43, Stefano Stabellini wrote:
> On Wed, 3 Jun 2026, Jan Beulich wrote:
>> On 03.06.2026 14:54, Roger Pau MonnÃ© wrote:
>>> On Wed, Jun 03, 2026 at 08:04:25AM +0200, Jan Beulich wrote:
>>>> On 03.06.2026 03:41, Stefano Stabellini wrote:
>>>>> On Tue, 2 Jun 2026, Jan Beulich wrote:
>>>>>> On 27.05.2026 00:12, Stefano Stabellini wrote:
>>>>>>> On Fri, 22 May 2026, Jan Beulich wrote:
>>>>>>>> (extending Cc list)
>>>>>>>>
>>>>>>>> On 22.05.2026 08:13, Dmytro Prokopchuk1 wrote:
>>>>>>>>> --- a/xen/drivers/vpci/header.c
>>>>>>>>> +++ b/xen/drivers/vpci/header.c
>>>>>>>>> @@ -586,7 +586,7 @@ static void cf_check bar_write(
>>>>>>>>>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
>>>>>>>>>              gprintk(XENLOG_WARNING,
>>>>>>>>>                      "%pp: ignored BAR %zu write while mapped\n",
>>>>>>>>> -                    &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
>>>>>>>>> +                    &pdev->sbdf, bar - pdev->vpci->header.bars + (hi ? 1 : 0));
>>>>>>>>>          return;
>>>>>>>>>      }
>>>>>>>>>  
>>>>>>>>> @@ -647,7 +647,7 @@ static void cf_check guest_mem_bar_write(const struct pci_dev *pdev,
>>>>>>>>>          if ( guest_addr != bar->guest_addr )
>>>>>>>>>              gprintk(XENLOG_WARNING,
>>>>>>>>>                      "%pp: ignored guest BAR %zu write while mapped\n",
>>>>>>>>> -                    &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
>>>>>>>>> +                    &pdev->sbdf, bar - pdev->vpci->header.bars + (hi ? 1 : 0));
>>>>>>>>>          return;
>>>>>>>>>      }
>>>>>>>>>      bar->guest_addr = guest_addr;
>>>>>>>>
>>>>>>>> Well. If I'm not mistaken we had discussed situations like this (long ago).
>>>>>>>> Imo the added verbosity gets in the way of readability. If we absolutely
>>>>>>>> cannot or don't want to deviate such constructs (of which I expect we have
>>>>>>>> more), then we ought to consider alternatives (like changing the variables'
>>>>>>>> types in the case here).
>>>>>>>>
>>>>>>>> As to deviating: rules.rst, according to my reading, says that &, |, ^, or
>>>>>>>> shifts would be okay to use with a bool operand. What's wrong with also
>>>>>>>> permitting this for other operators?
>>>>>>>
>>>>>>> In my opinion, if we are going to treat bool as its own type, it makes
>>>>>>> sense not to silently mix bools into arithmetic with int types. I also
>>>>>>> do not find this patch less readable -- I actually find it more
>>>>>>> readable, since it makes it more obvious that hi is a bool.
>>>>>>
>>>>>> Well, okay, we have different opinions there. This reply of yours applies
>>>>>> to the first paragraph of my earlier reply though, despite its placement.
>>>>>> What about the aspect mentioned in the second paragraph?
>>>>>
>>>>> You mean "then we ought to consider alternatives (like changing the
>>>>> variables' types in the case here)" ?
>>>>
>>>> That's another option, but not what I meant. I simply don't understand why
>>>> some operators are okay to use with booleans while others aren't. Adding
>>>> (for example) booleans can be quite helpful. Take this example from gas
>>>> sources as example:
>>>>
>>>>       if (overlap.bitfield.imm8
>>>> 	  + overlap.bitfield.imm8s
>>>> 	  + overlap.bitfield.imm16
>>>> 	  + overlap.bitfield.imm32
>>>> 	  + overlap.bitfield.imm32s
>>>> 	  + overlap.bitfield.imm64 != 1)
>>>>
>>>> And then see how the added verbosity would hamper readability:
>>>>
>>>>       if ((overlap.bitfield.imm8 ? 1 : 0)
>>>> 	  + (overlap.bitfield.imm8s ? 1 : 0)
>>>> 	  + (overlap.bitfield.imm16 ? 1 : 0)
>>>> 	  + (overlap.bitfield.imm32 ? 1 : 0)
>>>> 	  + (overlap.bitfield.imm32s ? 1 : 0)
>>>> 	  + (overlap.bitfield.imm64 ? 1 : 0) != 1)
>>>>
>>>>> Other alternatives could be OK, but also this patch as-is is OK to me.
>>>>
>>>> I'm not going to veto it (not being a maintainer of the code I really
>>>> can't), but as per above the transformation imo is setting a bad example.
>>>
>>> What about getting the BAR index based on the register value, and
>>> hence avoiding the pointer arithmetic plus the boolean type addition?
>>> I think that's clear and doesn't violate any MISRA rules, it would
>>> obviously not settle the discussion about boolean type abuse as
>>> integers, but would be fine to solve the specific issue in vPCI IMO.
>>
>> For the case here - sure, that should be fine. But I specifically
>> wanted to understand (generally) why we are limiting ourselves, as
>> surely other cases are going to show up.
> 
> My view on this is that booleans should be treated as booleans, and we
> should not rely on implicit conversions to int types. I prefer the
> second form because it makes it clear these are booleans. The added
> verbosity helps me see at a glance that these are booleans and should be
> treated as such. The first form is more dangerous because I might forget
> they are booleans, assume they are int types, and use them in an
> operation that would result in undefined or implementation-specific
> behavior.

Can you give a realistic example of such? Default conversion (to int,
with well-known false => 0, true => 1 values) should take care of most
if not all issues. Oddities I can think of are ++ or -- on boolean
variables (perhaps similarly += etc with the lhs being boolean), but
those we could indeed exclude if so desired.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 08:23:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 08:23:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329194.1593397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVPpz-0004P2-WC; Fri, 05 Jun 2026 08:23:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329194.1593397; Fri, 05 Jun 2026 08:23:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVPpz-0004Ov-TG; Fri, 05 Jun 2026 08:23:31 +0000
Received: by outflank-mailman (input) for mailman id 1329194;
 Fri, 05 Jun 2026 08:23:30 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <xakep.amatop@gmail.com>) id 1wVPpy-0004Op-LH
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 08:23:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVPpy-003zIc-1e
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 10:23:30 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a22877e-e002-0a2a0a5209dd-0a2a4507a53a-16
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 10:23:29 +0200
Received: from [209.85.208.173] (helo=mail-lj1-f173.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a228781-229c-0a2a45070019-d155d0ade454-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 10:23:29 +0200
Received: by mail-lj1-f173.google.com with SMTP id
 38308e7fff4ca-396770cdcfdso16808521fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 01:23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780647809; cv=none;
        d=google.com; s=arc-20240605;
        b=gFYJsy/vWxt3K7J0q48JGLvkf9D0hfDWx6eRGDESQcijqp9k8XKKs7zEjXCmJd065h
         ZN9fDS4Nz/3Sot61Isn8lYEES31+XrZI1+85oRy0BamwaxcRCm8hvivGjy0Qph2SdgYh
         EJ5Ou7k6tCQzWelCfwm1g5OHz9SU+ieoy6yyqDxQbHtYxzHyXvlThSGHHJv4iWZcyjTf
         YF2eArTuIrusuhqoQfGhTAjHdfNt3Z++Wxa4/zA5sfV3rigpTH8eZ7v/bgx0Pp4fgl3o
         igaTGPXZF00wxTwR0JVQEVzjbsIVO8t7X5MvTd4WTdOtMUVm9WkHUbBy6egJJ1dXFRFW
         zpmA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=tMDJNO+H26meIgoJlkClBW7xpC2Ar2hog1WpEgzBnsg=;
        fh=Y5QS2FhfJ5DVfRnDS0fbDMy8TA07saVqHmV0gu+ovF0=;
        b=bg2Bwyhspz0uzx1Qnx0utIf+sP7q8bCZVgwbM8ap4p5LCLJfz9da0S60cLKEFqjhiz
         ggaQZvQtMt0BTQ608kHFl+TyhJEj4cE0GXk3F89+xYTdOyYdTjA7wC8dtHpbNQJbCFbv
         rxE47O2XHnbnzm7yfr96a0bOjFXECyrXTXHhjxRVmMxE/HEqg+wyCr7RejagqWZia20v
         GrIwYoyOrcqUZnELFt611Rhv6EEDEfcKy2ctYH5H+uBXsKL9lDdgEIaK181NM7DXOnl2
         t9F8OIi8lIDKXrwYXmqPL4dFyCsqAmFsVS4NZDjZu7k058KmpL32nlgVNn6MQp5/BsNY
         eNLw==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780647809; x=1781252609; 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=tMDJNO+H26meIgoJlkClBW7xpC2Ar2hog1WpEgzBnsg=;
        b=WXZ+EhFKd2KTxRo70Y/zhGMlDkCOW07HrKqm3JY8ms0VUrFpeYecP//VUMc9fowIRe
         qveLNpiLqGjz/kd9qccqrUED58ZMWPkS02C0+sYELElT+vFFyXHnWZ5SZ7J+rihIk6CW
         VWW7wl4vJzaA/at4MJH+vzVBYa7b2GCaO0Qj4rTP0U9SrkoZK2tZ4IVGmfMvxqRBPIw4
         k+KTxnEm5H3248yke2jvKOx9jdvo3YVO1dPDEpj6B/nyvz3fBqIPQ22ZhNXxvBK0GhSu
         tIh40oQrV46g3C07i2TKBkDETvRYTFLDUvzLZ/4DOElnrEibi/+nFw0var1AyNt13zN0
         GkTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780647809; x=1781252609;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=tMDJNO+H26meIgoJlkClBW7xpC2Ar2hog1WpEgzBnsg=;
        b=EWHK37wwFtKXJNXTf+JG5N4LUL0didUtcyKSh3vVII45CHXx06EYoQwMmyu6cR/Con
         As+PFINrkAVYBCBhBNCV3SlQ/mScC+7zhYZ9xCdPZ5TrlQusZDm22e9c1m/V59FboX9u
         Kp3XroSIaRczCVR3OQzY/rQsWh3XFVD0bLGQhVpFMAr/RjlW6pub6n84r8kmlJf+INzm
         2c5ASKv9MoAN8xIBDjWM7BSEzSwHIqgO//xrc7fv0+ehUjiIQGZhSKNPwMxFFDtbbhf6
         viQjNBhOa5tPJq5TV9wDekxNJstjFX/oZhB0bo/dZdCYZhqlWM5UXdOs2B+/TrqyxHCl
         wgEw==
X-Gm-Message-State: AOJu0Ywp6B572Xile1dEbMdVqM12in7OXG9UalHXZKdrzHszKwP7OzDX
	C65cuTvZFFq57ue5F3z7dw/N2ukf1x8nM3/fuJsXesbnm1dfL/VvwhmJItzokBUHcJqnL+GJD/E
	PduAxZiVKLb2RGscqG4wxvUIfIcAMBpo=
X-Gm-Gg: Acq92OFBk6yF+JC1g5f7qmbQ2KH9LEWk/xi7x+zfQ6lKeDG7c8dHDKIR9XEcwNeYGET
	IiCavuQg9lEZed18cvh8vdVAc9dAv4ECDZ1nzDsFhHcl0VPudoQYqdAvJO8NuROJ/PLEddyCW23
	DV+CnwkTXx5jgemahE5CM97WkvsDazdnj0avhSDwmc3Nw7nhAVo2jxPEs3Oyd5Sj0fmyjaAGvCt
	WuRGNHEYFJjXJZxBu03nrjQ+LJBHfb8JhqSdOj21dmgFJGFU+hKXts1Lk8KSKaESqAqeIprwQil
	g23DJB7yG0rz98ez
X-Received: by 2002:a05:6512:3347:b0:5a8:9f6f:3212 with SMTP id
 2adb3069b0e04-5aa87b88f32mr737887e87.34.1780647808680; Fri, 05 Jun 2026
 01:23:28 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1780602987.git.mykola_kvach@epam.com> <11537d2b05a6c36d4ba0d852efadeba91d9f6225.1780602987.git.mykola_kvach@epam.com>
 <a026d572-f0f7-4797-819a-ff3490ba14c8@amd.com>
In-Reply-To: <a026d572-f0f7-4797-819a-ff3490ba14c8@amd.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Fri, 5 Jun 2026 11:23:17 +0300
X-Gm-Features: AVHnY4KEUDUVtnkdurNARgnu0aRXt7TBlFVmL0kJYtvvJtgIAWDc80WW-3-r35M
Message-ID: <CAGeoDV_oHtY9VPN13UHwRtPd36LruAv740=op6iYXgPah8DBeA@mail.gmail.com>
Subject: Re: [PATCH for-4.22 v2 1/2] xen/arm: split DTB/initrd placement helpers
To: "Orzel, Michal" <michal.orzel@amd.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>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-ef75cf/1780647809-20F66C48-891C9F1E/0/0
X-purgate-type: clean
X-purgate-size: 6640

Hi Michal,

Thanks for the review.

On Fri, Jun 5, 2026 at 10:32=E2=80=AFAM Orzel, Michal <michal.orzel@amd.com=
> wrote:
>
> We are in the RC phase, so please CC Oleksii (release manager) as we need=
 his
> tags for fixes. Adding him now.

Ack, I will keep Oleksii Cc'ed for this series.

>
> On 05-Jun-26 07:19, Mykola Kvach wrote:
> > From: Mykola Kvach <mykola_kvach@epam.com>
> >
> > The Arm zImage loader currently computes the kernel load address and
> > places the DTB/initrd in one local flow. The hardware-domain memory
> > allocator needs to reuse those placement rules before it chooses bank 0=
,
> > but open-coding the same calculations there would make the fix harder t=
o
> > audit.
> >
> > Split the existing logic into small helpers:
> > - kernel_zimage_place_in_bank() computes the zImage load address for a
> >   given bank.
> > - first_bank_can_fit_modules() checks the aggregate first-bank
> >   footprint.
> > - find_dtb_initrd_placement() chooses the DTB/initrd location within a
> >   known bank and kernel range.
> >
> > Rename place_modules() to place_dtb_initrd() so the code distinguishes
> > the kernel image from the DTB/initrd placement area. Also update the
> > stale xg_dom_arm.c path in the placement comment.
> >
> > The caller still panics in the same cases as before, so this is intende=
d
> > to be behavior preserving.
> >
> > Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> > ---
> > Changes in v2:
> > - New patch split out from the hardware-domain first-bank fix.
> > - Rename the DTB/initrd placement helpers to avoid treating the kernel
> >   and DTB/initrd as the same kind of module.
> > - Pass the RAM end address to find_dtb_initrd_placement() instead of
> >   recomputing it from the RAM size.
> > - Update the stale xg_dom_arm.c reference in the placement comment.
> > ---
> >  xen/arch/arm/kernel.c                 | 147 ++++++++++++++++----------
> >  xen/common/device-tree/domain-build.c |   6 +-
> >  2 files changed, 97 insertions(+), 56 deletions(-)
> >
> > diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
> > index b72585b7fe..d1be4d8074 100644
> > --- a/xen/arch/arm/kernel.c
> > +++ b/xen/arch/arm/kernel.c
> > @@ -40,27 +40,59 @@ struct minimal_dtb_header {
> >      /* There are other fields but we don't use them yet. */
> >  };
> >
> > -static void __init place_modules(struct kernel_info *info,
> > -                                 paddr_t kernbase, paddr_t kernend)
> > +static paddr_t __init
> > +kernel_zimage_place_in_bank(const struct kernel_info *info,
> > +                            paddr_t bank_start, paddr_t bank_size)
> >  {
> > -    /* Align DTB and initrd size to 2Mb. Linux only requires 4 byte al=
ignment */
> > -    const struct boot_module *mod =3D info->bd.initrd;
> > -    const struct membanks *mem =3D kernel_info_get_mem(info);
> > -    const paddr_t initrd_len =3D ROUNDUP(mod ? mod->size : 0, MB(2));
> > -    const paddr_t dtb_len =3D ROUNDUP(fdt_totalsize(info->fdt), MB(2))=
;
> > -    const paddr_t modsize =3D initrd_len + dtb_len;
> > +    paddr_t load_addr;
> >
> > -    /* Convenient */
> > -    const paddr_t rambase =3D mem->bank[0].start;
> > -    const paddr_t ramsize =3D mem->bank[0].size;
> > -    const paddr_t ramend =3D rambase + ramsize;
> > +#ifdef CONFIG_HAS_DOMAIN_TYPE
> > +    if ( (info->type =3D=3D DOMAIN_64BIT) && (info->image.start =3D=3D=
 0) )
> > +        return bank_start + info->image.text_offset;
> > +#endif
> > +
> > +    /*
> > +     * If start is zero, the zImage is position independent, in this
> > +     * case Documentation/arm/Booting recommends loading below 128MiB
> > +     * and above 32MiB. Load it as high as possible within these
> > +     * constraints, while also avoiding the DTB.
> > +     */
> > +    if ( info->image.start =3D=3D 0 )
> > +    {
> > +        paddr_t load_end;
> > +
> > +        load_end =3D bank_start + bank_size;
> > +        load_end =3D MIN(bank_start + MB(128), load_end);
> > +
> > +        load_addr =3D load_end - info->image.len;
> > +        /* Align to 2MB */
> > +        load_addr &=3D ~(MB(2) - 1);
> For the future mechanical changes, you should not be making even such tin=
y
> changes like s/(2 << 20)/MB(2) without mentioning them in commit msg. For=
 today,
> it's ok.

Got it.

>
> > +    }
> > +    else
> > +        load_addr =3D info->image.start;
> > +
> > +    return load_addr;
> > +}
> > +
> > +static bool __init first_bank_can_fit_modules(paddr_t ramsize,
> > +                                              paddr_t kernbase, paddr_=
t kernend,
> > +                                              paddr_t dtb_initrd_size)
> > +{
> >      const paddr_t kernsize =3D ROUNDUP(kernend, MB(2)) - kernbase;
> > -    const paddr_t ram128mb =3D rambase + MB(128);
> >
> > -    paddr_t modbase;
> > +    /*
> > +     * Check only the aggregate kernel + DTB/initrd footprint. The act=
ual
> > +     * DTB/initrd location is selected by find_dtb_initrd_placement().
> > +     */
> > +    return dtb_initrd_size + kernsize <=3D ramsize;
> > +}
> >
> > -    if ( modsize + kernsize > ramsize )
> > -        panic("Not enough memory in the first bank for the kernel+dtb+=
initrd\n");
> > +static bool __init find_dtb_initrd_placement(paddr_t rambase, paddr_t =
ramend,
> > +                                             paddr_t kernbase, paddr_t=
 kernend,
> > +                                             paddr_t dtb_initrd_size,
> > +                                             paddr_t *dtb_base)
> > +{
> > +    const paddr_t ram128mb =3D rambase + MB(128);
> >
> >      /*
> >       * DTB must be loaded such that it does not conflict with the
> > @@ -77,55 +109,64 @@ static void __init place_modules(struct kernel_inf=
o *info,
> >       * just before the kernel.
> >       *
> >       * If changing this then consider
> > -     * tools/libxc/xc_dom_arm.c:arch_setup_meminit as well.
> > +     * tools/libs/guest/xg_dom_arm.c:meminit as well.
> This fixes the kernel.c -> tools pointer, but the reverse comment in
> xg_dom_arm.c:meminit still points at place_modules. This needs to be fixe=
d.
>
> I think this can be done on commit, therefore:
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

Ack on the reverse pointer in xg_dom_arm.c. It should point at
place_dtb_initrd() now. I am fine with this being fixed on commit, but
since I will send a new revision for the comments on patch 2, I will
fold this update into patch 1 as well.

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 08:26:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 08:26:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329200.1593407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVPsw-0004wH-Cp; Fri, 05 Jun 2026 08:26:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329200.1593407; Fri, 05 Jun 2026 08: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 1wVPsw-0004wA-8X; Fri, 05 Jun 2026 08:26:34 +0000
Received: by outflank-mailman (input) for mailman id 1329200;
 Fri, 05 Jun 2026 08:26:32 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wVPsu-0004w3-Nz
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 08:26:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVPst-00D9vt-RI
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 10:26:31 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a228806-2eae-0a2a0a5409dd-0a2a450692d8-36
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 10:26:31 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a228837-7371-0a2a45060019-d155802eedbd-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 10:26:31 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-490ac357c55so19126155e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 01:26:31 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490bc3cc0f8sm139243495e9.8.2026.06.05.01.26.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Jun 2026 01:26:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780647991; x=1781252791; 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=2Qf2S8gr1WzOZZmkQqFOkBbOz1n4djtz5G90Rmnx0Zo=;
        b=IspYfcSetgOOGQLKxawMCJTWsOvrTgCl3SFLw2YIoDJ0wqP1Stm5JcqzBDPJqwIKVL
         KUzJ3bx/26cjuwDIDOyPxz3Ib9rMdIyajxj3CC5+Ai+6+yibym0hox1+8AZkMY7fXd9R
         SGxOuKoQ22H/yw5jUD9D3VTXM9LZmXaheNy5e2U3OS307QOLSLsmKdeEMBpwksV4HiM6
         xoCrAL2ZcfDySs4T1nVP1BQlghQ6ty0ozzvjqu0dbtZsGagnUfAWsTH7qbzNNXQBHFSM
         xDs8smwN5ArbclRLM++i+sESZB122wvVNgc9bYuINU/uP8wW79orgOjwmHuwo+JI9Z/v
         zq0w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780647991; x=1781252791;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=2Qf2S8gr1WzOZZmkQqFOkBbOz1n4djtz5G90Rmnx0Zo=;
        b=mqIHB+m9kC7cZe4oVcH5KRXOvLWeT43fYPSgecYJM1KOaEvQh1PXTc8ejrH9GPoTii
         R7DIdxa12WEd+8h9BGzfWBDfu1r0BDtY1Yazuox/lJtTxsV8eRP8IdGyWTDIzCrtdkp2
         0+0rrFQ+kxdg09CMfLhJ7UFJnSAKir4le9b0+0WEvuDCWN/fqcntp9ePo0FhTMwpTVPT
         VmqEUJErpwIAQz7oMJCqL2mmebgqsYcCKuBPzWIDVFyAGoWAhiIs3nh56SSX63dUndMp
         Xo/80+hh75mQGkbWTE4y57Ij8whopc1RRpivZkAnrur1wqYdeH6pHv01gkMF4NSeEj5t
         V7MA==
X-Forwarded-Encrypted: i=1; AFNElJ8mIcBaFL9kAt5e5Rp6Vc+S1MZjxgrL5LquyHpjrr7/YvMpR8r9dHyL1TQdyFEYM6GSGj8hGe0bLF4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw6fUmQK1YXVoiNluzUWbuyt1dc+2W8xNldHClLNaHwh12U75Ad
	oL9wpA6ugIJfuZENoybggnvvX7+16NW1x+zHIRR3wd+ktM2YkhbGNyp/
X-Gm-Gg: Acq92OHrwoP/nrBs+S8WC6IpOkWR136kl8MUHpFKUTYm0ni9XwpfSJOzvomU0xnDomG
	5Csu9nFzDM4rQgMdVjc1GR19bC9+BMEcdbIKY1IhSjdFRdDrPzNmaNTIwPqKsqu0vnrrttJWCNH
	dbd4jXCLnRr0/QbwWS2LriosRMm4JWHeTTOr1mDYu/XSjq+GTMlkGhfXAhW2Kui8/Y3fVRILWo7
	7ZaF6amUX0a+A3CoUk9iM1eiSqKAouVAtxJ95eawXRtyLhyIQQNILK+erWT8+gTSA5I7mV/hFr5
	Q1SZ0XSydA3U0iuvssdW4IyHCZjXA1qG+62WoSBXOJ+i9VGW2n2st3bjb5Pa6GsKWHrO3JVmIfi
	JZ7ao9sn/iyBqE1PJw7TKmjSRwtjI4IRjcGhrDSyU1W76kI7qNDW2mPgBgpLVGRMzcVoeUSnMd3
	nDoSSKMKFxHRbPju8zXUk0hOe0EEOv7Bio7yPOlbDFUb7S+rvTCVivQpSObHbcDtRtV6mlvurc5
	yXoFwBU9S5qOZit
X-Received: by 2002:a05:600c:5246:b0:489:c57:7836 with SMTP id 5b1f17b1804b1-490c25ff39amr34236195e9.27.1780647991038;
        Fri, 05 Jun 2026 01:26:31 -0700 (PDT)
Message-ID: <b6e74456-c97e-469a-9d79-a387042a1b5e@gmail.com>
Date: Fri, 5 Jun 2026 10:26:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v2 0/2] xen/arm: validate hwdom first bank boot
 placement
To: "Orzel, Michal" <michal.orzel@amd.com>,
 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>,
 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: <cover.1780602987.git.mykola_kvach@epam.com>
 <6e35fc10-5281-4015-a5ad-78f8697aee95@gmail.com>
 <f9be2a2a-451a-47d3-9273-7cf5f242ad93@amd.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <f9be2a2a-451a-47d3-9273-7cf5f242ad93@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1780647991-86D72D75-7CBA1F60/10/73395122804
X-purgate-type: spam
X-purgate-size: 2267



On 6/5/26 10:03 AM, Orzel, Michal wrote:
> 
> 
> On 05-Jun-26 10:00, Oleksii Kurochko wrote:
>> Hello Mykola,
>>
>> On 6/5/26 7:19 AM, Mykola Kvach wrote:
>>> From: Mykola Kvach <mykola_kvach@epam.com>
>>
>> Just out of curiosity, is it okay that the email address listed here
>> differs from the one you're using to send patches? (By the way, nice
>> email address ;))
>>
>>>
>>> With LLC coloring enabled, the hardware domain memory is allocated by
>>> allocate_hwdom_memory() instead of relying on the fixed direct-map
>>> layout. Since de99f3263555 ("device-tree: Improve hwdom memory
>>> allocation for DMA"), the allocator prefers lower host regions, but the
>>> first-bank filter still only enforces the old 128MB heuristic.
>>>
>>> A low candidate bank can satisfy that heuristic while still being
>>> unsuitable for the Arm kernel/DTB/initrd placement rules. Split the Arm
>>> placement logic into reusable helpers first, then validate the candidate
>>> hardware-domain bank 0 against those helpers before allocating it.
>>>
>>> Changes in v2:
>>> - Split the previous single patch into a behavior-preserving Arm
>>>     placement refactoring and a separate hardware-domain first-bank fix.
>>> - Rename find_module_placement() and place_modules() to use DTB/initrd
>>>     terminology.
>>> - Pass ramend to find_dtb_initrd_placement().
>>> - Update the stale tools/libs/guest/xg_dom_arm.c reference.
>>>
>>> Link to v1:
>>>     https://patchew.org/Xen/4f862bb2dc323914b8120b0f16af7516140cf42b.1780065103.git.mykola._5Fkvach@epam.com/
>>>
>>
>> I would like to clarify whether my understanding is correct.
>>
>> With LLC coloring enabled on ARM, the allocator could assign the
>> hardware domain a bank 0 that passes the size check but is unsuitable
>> for kernel/DTB/initrd placement. As a result, the hardware domain may
>> fail to boot or could silently corrupt memory if the images are placed
>> in an incorrect location.
>>
>> Is my understanding correct?
> Yes, Xen would fail to boot such domain. On Arm we carry a lot of placement
> logic we need to deal with...

Thanks for confirming. Then for this patch series:

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

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 08:32:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 08:32:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329212.1593415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVPya-000792-Vu; Fri, 05 Jun 2026 08:32:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329212.1593415; Fri, 05 Jun 2026 08: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 1wVPya-00078v-S7; Fri, 05 Jun 2026 08:32:24 +0000
Received: by outflank-mailman (input) for mailman id 1329212;
 Fri, 05 Jun 2026 08:32:23 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wVPyZ-00078p-8z
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 08:32:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVPyY-0096zq-6k
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 10:32:22 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a228988-2eae-0a2a0a5409dd-0a2a45029614-48
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 10:32:22 +0200
Received: from [40.107.201.60]
 (helo=CH4PR04CU002.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a228994-af86-0a2a45020019-286bc93c84d2-4
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 10:32:21 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by CO1PR03MB5697.namprd03.prod.outlook.com (2603:10b6:303:94::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.9; Fri, 5 Jun 2026
 08:32:16 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.007; Fri, 5 Jun 2026
 08:32: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=OITYHYDSWi/9WM/mV28F9kkAokfff96ShNMnSwtisiYofwp/lf+AP+bzPy4UQmOetkBKbxRBS0q9oxDw/PSPEIf3JxhRsrQEAAXbXpCAoiXUWD41yepvOfHT8/xuLuOxOaAFNfgwIAFziaE20bdg5KWfN8o4rJqY+1dJqflfprrPXqvgRwZwpZBk/qlf4BE6vXUJbr4RNbGlnUzbJ7VFscvSgX3It2dZF1ykLpb5wkj9ZqkmlMzrniVzM5WA2ZcR1KBH3NILnApQrYbKIWXkSAPxbBJG0wrpMuv2tzulJqA7dzG9mK6IrxkwC5G4LXjSNIgqEvTSQMncc6AvIXjfWQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iR4xP4P/PRWHxitKppZb1+vFEpuzqABCx2Sk+djoYIk=;
 b=uIwK9AOG62eSH18fCzpHW5dpiYq0cUo3hLSN86Dzd9zTS+KLfmYig/18QQR2hDtmKLQ37z0sH/0K32Lj2uTKPMWfPPzmFMXvuzwQjjjOo8PfiEq4NTmUNjG7d8+zlYMRCXi9gtwKnFAaVsVTpmWGcRgWovXL4Mcc/gaxkl+DdNASPP4JyJkasXqGMhQshWAzX941/vBBIR3qqOhpbeHJ2seVGVGvp7Bc6Wv2x4ziZANQ6NHjJMzL0AW8S5VAwelN4P2HzAb+JDB5/9sSdCofe1e2dLigoLiZziysbm60faV4CoNKXmVCuIMpWza9XuRuK7ipX7ss2RWssDmDlvi0pQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iR4xP4P/PRWHxitKppZb1+vFEpuzqABCx2Sk+djoYIk=;
 b=mKoPQ7wYysiU/i2Zw89RweZMhN/foxo4RR0SxbeFsKgoFTcmfAgOVYaqn2WvDNRz/AHAt8L3g8METj8QVLUQohuLmKFOd2iCrnOGiYImdp9wryP1GlUmFZQyA5ROmzdVr7n4gA4VSBpgs3mAyTVOLxtl5umFkbofTUka4F8FPTs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 5 Jun 2026 10:32:13 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: Re: [PATCH v2 3/3] xen/x86: Change stub page allocation/free logic
Message-ID: <aiKJjdzjlUs_WpVs@macbook.local>
References: <20260604231837.804560-1-jason.andryuk@amd.com>
 <20260604231837.804560-4-jason.andryuk@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260604231837.804560-4-jason.andryuk@amd.com>
X-ClientProxiedBy: BN9PR03CA0624.namprd03.prod.outlook.com
 (2603:10b6:408:106::29) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|CO1PR03MB5697:EE_
X-MS-Office365-Filtering-Correlation-Id: c1e2d58e-50e5-464b-ad38-08dec2dcf2f7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|18002099003|22082099003|4143699003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	9Mx7M5/Mmemnwjr390ObEcMUwqLbn3mkC1mr4OSfOegfcM1ZM1m1L1tlNnAxgvOmJWeCzhWRil6fVbyMPl4bRfUpuq1f4dueBSYpgefF4jwxfPPvm0WASaw3A809r/Fi1ws2oQjaQ8MZbHqxDcqT2xN5xcy0FgAwCWBqay0eTxj2M4rwgOHI2Nk8uzaDm1W/9DemrHYifrHS2hyLZnsE3GxNsTAoQEqN9SWE26DB3ey2/1CXT3pbndNbR+oVy9gkF49npIoqha3R+7UKEU5pcHUHbfWfPcra+bNSYf6TJZYbkKQb1QPnagLqPu07f1qTztD+17TphkL6ASaKP5IpDthAJG5bVJ+RrYsYtC7Vp6KKd1iifwmx9h+c4QqJLZqUQ2ZEvpmDetfocWDLmIw2XGaweFIOWax/KmBL3y9iepZLziYSD8ebV3SNjUmbwfLIEUKOhD6cshuaGJFj/N7h/lthUrlNpQUkjpOJMdPEWnebpWN5Ia2uQxUw7KLJovn7pERq+euZYBXlCRqaD5iEesAZp+kQLw0P9im7Mrlq187zJpblrIn+nuXVWIV7+wPwxP3OncYSnGPFShsefotAADrctE4qs0gQh5pyTvsYmFXNPyyJc2KL/9+DGwZ/E2JRKD43urPI1oSH/0cesRAPXjY9k4oZ/W/FoSKdqBGqu6tDh43sO/OZKhiJDRBgBEkD
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(18002099003)(22082099003)(4143699003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eE8vN3l2bnpzYnpFQ2R2NE4xd0EyOHBIQUl1S2c2eWhPTWV3UEtWeW5LenZw?=
 =?utf-8?B?bmgvejN4RlR2d2VnOUQwR2RLd1BSVWd3U2pJUi80VkJRVFM1QmtzSFVFQzQr?=
 =?utf-8?B?UHM3d05ZRS9GcDdRVXpmN1I2MFQxNURDZWJvZkJyVGdKOFhGaTcxMFZWQUho?=
 =?utf-8?B?ZXZDektwcW9VWHlSbG0weVIrbGhRMlQ1cUo1RTA0QmZRdlJ4YVovZ3VBR3FJ?=
 =?utf-8?B?QitYaXg5RkxRdVdpWk1JbmRxQk5DbDZLTDIzdm9MYmJ6VS9GMWVYMS9qWjFJ?=
 =?utf-8?B?U1Y0cW9JbUdIaTFnZ0UvSW1FL3NGVXdlOGxsSlJoaDVPTi9pZDlPL01LbVhx?=
 =?utf-8?B?YmQwTnpZNXcvSUZjbEQ4bFpNd2hMQnpDVTRBRjFEb0ZaWmg1dVdkQzhYUy9W?=
 =?utf-8?B?dnVmN01vaVNzOFpOWUhoYWR1WWxFUnNXSFpISTBBRFBwZE14UFNmWXBQdk15?=
 =?utf-8?B?c0pTZkZ4TGtpR0NybFdjcnNKVHVobWp6UDd1L1hFQjVTZmpHdGRvWE9oWTA4?=
 =?utf-8?B?ZlljSTI5YlA3aVNRUzJRTEh2REhMNGtZRTJiN2VmWUY1Wkl3YTJDR0hMcU56?=
 =?utf-8?B?T1hwMmRsNmVRNVJyVzNNT2tSeFRCeVJhT1hhUTFNMThraHRCZE1HcHFaUlJW?=
 =?utf-8?B?amQ2bEsyOCt2YVZENnppVUxyRnVBZjVnVDIzT2tMZ0p2TWJPZ0U5K2FFdjhY?=
 =?utf-8?B?akQ3VlNIcmlOMEhLMzdDWmtaMndiaUlrMUFvaWFQT3B1SFBNSGQ4VVhNWGhO?=
 =?utf-8?B?NEcySHRkbk4xTzU4anJkaUVyYkxOYTMxUkcyMFUrN1RpdkFTYWx3OHQ5T1lt?=
 =?utf-8?B?UWtnektRam9RNUhIZXVaMHRFa3g3Uks0bjZMc2JBd2hqTDZrSWxyUkxiRlNZ?=
 =?utf-8?B?WkFsUHF5U3VEWWlIQ0xhQkhmZVZrcVJsU0d4S3Y0K0JFQmUvb2pJRm5NdDJi?=
 =?utf-8?B?M2ZKMTNjdUd5c252L2QvdERuUjBuUkN6b3hjZ1RxSVcwTWZmYjZPcGhUTGhZ?=
 =?utf-8?B?U2ZsclhmUFZHb0UzMFZWc3ZoU0lqQnlhTlMrdFJEd3E3bGY5M3dCMDFoOEF2?=
 =?utf-8?B?azlQZGdCeEtORTdiY0VvRUNidU41ZnIzc2lRU0FYYVFCSUJXL0NWZjZhSkQv?=
 =?utf-8?B?YmFkZCsvYXFndGI1K0JXZTdNM2RVWnlMcUdZMTZQdWVRMTJlZjBhQ3U2czJV?=
 =?utf-8?B?SnF6SDZCTGRCUzQ2WUhVZ05wdWZMbkFQdmpFcm04UDZWdHZOTXgxUE5WVUp3?=
 =?utf-8?B?bllPWUcvcHdSSUkzZ1F3LzVDd3BvOVdjb3RNRk5SaWpOaHlPdllUQ1lsaldo?=
 =?utf-8?B?cjBPbG1ENHNkaFErVjlTVFhXdmJvaTYzdGRMZmVVVGxnUFQ2VzFQMWw0YTRW?=
 =?utf-8?B?cC9HU1lYLzByMnovNXFtYzFCM3FiQWF6Y3VoQ1Z6MVFyT0Q3ckU5QTY2ckg2?=
 =?utf-8?B?YVhBalltZks4YkpLUTczVmZDL0dvSm1Ud0ptTmhGWG5sbGtEYXNDN2RwbGM4?=
 =?utf-8?B?d3FDZWdwVW1zalE0KzdocFUxL0dOYmZscGZnc0xXdkt4UTZFNWhXWnpCTWF5?=
 =?utf-8?B?QlNZeHlKR2U1YUVCL2wzVndSVG1DcWlPQ3dPMFZaWEhMYnBmS1NlNTl6eFBQ?=
 =?utf-8?B?b05maFUxR05LVTM5bFRuT2lrcEhvdDcwdXQ1bXNIL0Q0Nk1WOU5RN2x3QVJ4?=
 =?utf-8?B?VmlnTWl4S1hFWGhFYUYwZWQ2NmpoV3NWamV1Q0xMQ1ZOcWd3UC82LzJFSmhZ?=
 =?utf-8?B?bEhldzk4YStqd1RWaExHekZZdlhTRVorV2s3WFZLTXZBb0RwNmZmWmNsK0wx?=
 =?utf-8?B?NmtvWGJuRTFqazc4a3hmZXBCcWN2enV5NEVNTDFNWXROcXZsSUhUNjJrQkpn?=
 =?utf-8?B?MHk5T1FRRUhTS1hjUzA0Wjc0cDhiVTJMSnNRTExkWlV6cTVQMFhZWW5NWG05?=
 =?utf-8?B?aVdmMUtvTzByWjhTb1BxSDkxZUk5MVEzN3lrZkN0eG5ndkR5MlF5Y2JiQzNO?=
 =?utf-8?B?d0xKVEhscXpOcXg0eXdaSlFzMHhIYm5yeTNXZWVJOXlyaXVkK1hTVU5VdE5o?=
 =?utf-8?B?TDRjQU9pWFJkZ2Q0U1c5dFRqMGs5TmRlYUN3M3kyYU1kYWwyQ3dhUVUyVHM4?=
 =?utf-8?B?TWNjaE9pblN0ZTVKQkNqVWFsR3VmUXFqNUwyM0dBSVlGQUxQVHNuRTByL2pv?=
 =?utf-8?B?RzhGUHA2NDB4K3RSV25leVFRUnEvUXJxZ29ZTmpuUFdSZ2VOY29WZkpKd1E4?=
 =?utf-8?B?disyS2ZTWFRzWGNNWWd0TWVibEV0d0kyakEzZUg3ZGlVd0F4U08zeUhNVFBv?=
 =?utf-8?B?WEMyekttaDZYMjBLL3Vkcm5YeGxNRWhnYmRMQ1NhODZDYndwbzdOdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c1e2d58e-50e5-464b-ad38-08dec2dcf2f7
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 08:32:15.9478
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DvGB+5QMCCfPNwn5FnYWQKSVnigzGVscl6sLIhEIcUNwqscwTEOBywILWKMkrkG/qFPk1hc3Rld0vrk6E9eN+g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5697
X-purgate-ID: tlsNG-720697/1780648342-A9772161-452C2DB6/0/0
X-purgate-type: clean
X-purgate-size: 3243

On Thu, Jun 04, 2026 at 07:18:37PM -0400, Jason Andryuk wrote:
> Today the inine tracking of the stub page is problematic.  0xcc is used
> to indicate unused, but it is also a "clear value."  A !CONFIG_PV build
> with smt=0 will bring up CPU0, bring up CPU1, bring down CPU1, and free
> the in-use stub page.  Subsequent CPU onlining can write to the re-used
> page.
> 
> Each stub page accomodates 32 stub regions, and each CPU uses an offset
> into its portion of the page.  Each CPU used a CPU-specific mapping of
> the whole page.  The virtual address of the CPU-specific mapping is
> fixed, so it can be used to track the stub page.
> 
> Remove the actual free-ing from cpu_smpboot_free().  Use the stub_va PTE
> to track the underlying page.  destroy_xen_mapping() would clear the
> mapping, so replace it with modify_xen_mappings() to retain the PFN in
> the PTE (with NX set).
> 
> In alloc_stub_page(), check for a valid PFN in the stub_va PTE.  When
> found, it will be used.  This handles re-onlining a CPU.  Otherwise the
> existing logic is retained to use a passed in mfn or allocate one.
> These paths handle to bringing up new CPUs.
> 
> If all CPUs for a stub page are offlined, the page will be dangling and
> unusable.  But it will be re-used if CPUs are re-onlined.

I think there's a corner case with this approach where Xen will end up
allocating multiple pages for a chunk of 32 CPUs: consider the first
CPU of a stub page is onlined and then offlined, and afterwards the
second CPU of the same chunk is onlined.  That second CPU would see
stubs.mfn as 0 from its sibling if the first CPU is not parked, and
hence allocate a new stubs page when there's already one allocated for
the chunk.

FWIW, I would take a way more simple approach and allocate all stub
pages (using possible cpus as the max number) in smp_prepare_cpus()
and store them in an array.  Then from cpu_smpboot_alloc() the
to-be-onlined AP can gets the page to use and map it.  We could also
remove stubs.mfn at that point, since the mfns will be immutable for
the lifetime of Xen, and stored in a global array.

> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

You want to add a Fixes: tag above the SoB.

> ---
>  xen/arch/x86/smpboot.c | 30 +++++++++++++++++++-----------
>  1 file changed, 19 insertions(+), 11 deletions(-)
> 
> diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
> index 7241dba621..11937175a9 100644
> --- a/xen/arch/x86/smpboot.c
> +++ b/xen/arch/x86/smpboot.c
> @@ -647,11 +647,21 @@ unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn)
>  {
>      unsigned long stub_va;
>      struct page_info *pg;
> +    mfn_t stub_mfn;
>  
>      BUILD_BUG_ON(STUBS_PER_PAGE & (STUBS_PER_PAGE - 1));
>  
> -    if ( *mfn )
> +    stub_va = XEN_VIRT_END - FIXADDR_X_SIZE - (cpu + 1) * PAGE_SIZE;
> +    stub_mfn = page_walk_mfn(virt_to_mfn(idle_pg_table), stub_va);
> +    if ( mfn_valid(stub_mfn) )
> +    {
> +        *mfn = mfn_x(stub_mfn);

Before overwriting what's possibly in mfn, we might want to sanity
check it matches the mfn recovered from the page-tables, ie:

ASSERT(!*mfn ||Â *mfn == mfn_x(stub_mfn));

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 08:37:55 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 08:37:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329222.1593423 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVQ3q-0007kQ-L7; Fri, 05 Jun 2026 08:37:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329222.1593423; Fri, 05 Jun 2026 08:37: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 1wVQ3q-0007kJ-Hy; Fri, 05 Jun 2026 08:37:50 +0000
Received: by outflank-mailman (input) for mailman id 1329222;
 Fri, 05 Jun 2026 08:37:49 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <xakep.amatop@gmail.com>) id 1wVQ3p-0007kD-HD
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 08:37:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVQ3o-0098PX-PC
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 10:37:48 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a228adc-5cb7-0a2a0a5109dd-0a2a45079054-0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 10:37:48 +0200
Received: from [209.85.208.174] (helo=mail-lj1-f174.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a228adc-229c-0a2a45070019-d155d0aed05d-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 10:37:48 +0200
Received: by mail-lj1-f174.google.com with SMTP id
 38308e7fff4ca-3965d76090bso14813231fa.2
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 01:37: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780648668; cv=none;
        d=google.com; s=arc-20240605;
        b=Y6QoVLdpNtTM44CvvnsOIvbsNSw5XdSPQtGn1MJhMMLFJos+drlG4XxHCrrpgzOtzp
         IMjMrBAcYGp4JBm5767Rlhx0a4JRMhpwdQbpgaiQeQ7DTE5x702nDvCr2L7QOjfit4V4
         5QF5uYWGffn6SvLICqiOBgRZ7KG5WcfKF0PT8efoO8fk45mSH9cvXVuhmsUzUS7eabFI
         bSe/YHBW+LEeeLH4dJxPrxeDNIc7YfQ01H7h9u4ikIWqAjmvvybaY8bZzfDD60wUgtKt
         oMM3tzmeADp8t8Od976l9OLDIUDnZxwPMv3/N86HpSbBfWOqh1/ZSGI3Ps8eZz3dMcxn
         cUBA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=bVEOXCHy3A2WmkL4IGAYJZTNs+To7768HArndhiBNT0=;
        fh=zk+JGOYQjpPuYyxRR8v3OZOsXfYFHag6LUjq1VldQ2M=;
        b=B6l1V0zEUpfBLZxcyzqAlUmM9RTAtix3o4mlezVvA6fGS5hfS4KTqSoYn40veCB6ew
         N9Bau/W5yzo/rl/lTfmXWaBCb51/gyKYPTXJuHmm+eZSiRAiaVk6vODKGMHbo7q9tZgl
         LabHuHmqCInWuQoCyem2xihSTCIOrrx5D0INb3R4iJHa55EiqufbSCmDdNm572b1VgmK
         LrBTQihNXEnB4+med4W+X4WCQ+hk3Rq56s8HuGYRwyidNe9EmoWkWY6c4qJ9TE5+18/5
         LS8tWtGtp64avaZFRHPq9WlbXgKY2dgtBhUegV31tn82ROEF1Z4q9DNyckZnpAG/feOW
         b2EA==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780648668; x=1781253468; 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=bVEOXCHy3A2WmkL4IGAYJZTNs+To7768HArndhiBNT0=;
        b=aCElWtHb9MQLXnxSSpYJCxfNeETWPUxrgG5HJNKdMp++p2G+MXoDlhWI6jxbEklIfT
         OdzZbwHwIHZRSFb9i4XZAvAgWwUFcetXeZ5Tzb2LTrNCoxNYIK9bXh747mnLUsuSyYtz
         OUXOc28REhFp424E738RgI2EA4PrWl04wW+nDt7X8LoQMBLLxhJ2wOCCkdEZNpQui0NY
         TLZb2M87VOu+xxqlpsSNLWORud0icCXOfLxY4n3+LUmr/FE18qEOsm3MQS4ZDRW6zsCa
         Fpr4epasH9fhX9thk6B7bZYQSaea4kGe0NUACwRGLbzGgpg9vp5CwNbW3i76re63N4Id
         K1nQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780648668; x=1781253468;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=bVEOXCHy3A2WmkL4IGAYJZTNs+To7768HArndhiBNT0=;
        b=Q/DDjx+VoHplbNDKxJDGE+719plJ2f9a9dBt9ul3hQZIQ9yphZMohnrNmLSejUeWpd
         Yypg+DRVywcO6Twy2KnOvbccXePOj2kQCE8mTacvPVvq4F1Mbiar+N4vHBXgNU9Ctyjb
         F9EsJNCnPvlhyx+Q8lVhLac/2XTBeA8WuwuonKl1f5MJxXFnrTuQz9blkznq/RUNljlz
         OfQpflc4N/zFDxElfD5GGU9Pcq3k48X/Qf6RrGm6P7rl8ANbfTVey6LuaJQZRsIdRPv/
         CxyWCGNOgb7BXQS9Xi9F99wIkgHrD8ekE6tS3SRbHUAeHxAHEqe1W1/GwY57CvmRGdlO
         3o2w==
X-Gm-Message-State: AOJu0YxPv/n8jA4cKfFOA+sezwZSD3NnVzzf7OjnKLCzy9DKHm2jXC2e
	Td//kKIfWTmPcoLpB1EMeCgV/dl+j9OKERvt6WApj92EVOw9wUJrpBBXmVR03Zjq17MgAD6gan3
	0tpPf7efImNUMMVmwCbI3CFC1KmSLErY=
X-Gm-Gg: Acq92OHZ0x1ge7ntnhCgTNgUYw9rENN3AJmyC/Ip1lpLtakjnFGKXRnpNDheWXYatCU
	PS9hwetvG/QRvEPR6fvJLCTEGltAebnZ6W+sqMXVCeQKfjan67plbWBknz7cULfxug8vlolyE5f
	2+o2Jb1rUaxwHfeKKxJx7OTkucbFbKAZEVClXbBKKDLW/AjCP0fDrM1kSatx6PksiQ7YV+GxepV
	yDauK66QUfdvCpekrsWklmUyPA35foIsQTuoimAaqKOQMAjApSYt5+2W5tHcX0V5z/qh4PLVe9p
	1+XC8ZLx6PfUpsq0
X-Received: by 2002:a2e:a813:0:b0:394:5c9a:f31b with SMTP id
 38308e7fff4ca-396d08e4aa3mr6989261fa.17.1780648667487; Fri, 05 Jun 2026
 01:37:47 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1780602987.git.mykola_kvach@epam.com> <e21cd3c7274eac76607b551134f3f23665a31d7c.1780602987.git.mykola_kvach@epam.com>
 <f4ec4ef1-9051-4dea-a1ae-0966ec46296e@amd.com>
In-Reply-To: <f4ec4ef1-9051-4dea-a1ae-0966ec46296e@amd.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Fri, 5 Jun 2026 11:37:36 +0300
X-Gm-Features: AVHnY4I-X1bZ9id-LuGYwsVWMR5VWEqZBoFVZh2JcNXSejKBC6RDJ0ZRWRuDkbY
Message-ID: <CAGeoDV-HMo8Uqwh3pYOYbzJsUqud8KDJSwFuXbt9f5_mNFbQ3Q@mail.gmail.com>
Subject: Re: [PATCH for-4.22 v2 2/2] device-tree: validate hwdom bank 0 boot placement
To: "Orzel, Michal" <michal.orzel@amd.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>, 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>, 
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-ef75cf/1780648668-28678C48-64D2CDE0/0/0
X-purgate-type: clean
X-purgate-size: 14135

On Fri, Jun 5, 2026 at 10:56=E2=80=AFAM Orzel, Michal <michal.orzel@amd.com=
> wrote:
>
>
>
> On 05-Jun-26 07:19, Mykola Kvach wrote:
> > From: Mykola Kvach <mykola_kvach@epam.com>
> >
> > With LLC coloring enabled, the hardware domain memory is allocated by
> > allocate_hwdom_memory() rather than by using the fixed direct-map layou=
t.
> >
> > Commit de99f3263555 ("device-tree: Improve hwdom memory allocation for
> > DMA") made that allocator prefer lower host regions. The first-bank
> > filter, however, still only checked the old 128MB heuristic. A low regi=
on
> > can satisfy that heuristic but still be too small, or otherwise
> > unsuitable, for the hardware-domain kernel and the DTB/initrd area to f=
it
> > in bank 0 according to the Arm placement rules.
> >
> > Keep the existing first-bank size policy and add an architecture-specif=
ic
> > candidate check. On Arm, compute the kernel load address for the
> > candidate bank using the same logic as kernel_zimage_place(), verify th=
at
> > the kernel range is covered by that bank, and then reuse the same
> > DTB/initrd placement helper as place_dtb_initrd(). The FDT is generated
> > later, so use the hardware-domain FDT allocation size as a conservative
> > upper bound for the final DTB size.
> >
> > Check the candidate after capping the host region by the remaining
> > unassigned hardware-domain memory, so the validation is performed again=
st
> > the size that would actually become bank 0.
> >
> > This keeps the DMA-oriented allocation policy from de99f3263555 while
> > preventing a too-small bank 0 from reaching place_dtb_initrd().
> >
> > Make kernel_zimage_place_in_bank() return INVALID_PADDR when a
> > position-independent zImage cannot be placed in the supplied bank; the
> > real load path turns this into a panic, while the hwdom candidate check
> > uses it to reject the bank.
> >
> > Fixes: de99f3263555 ("device-tree: Improve hwdom memory allocation for =
DMA")
> > Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> > ---
> > Changes in v2:
> > - Split the behavior-preserving placement refactoring into the previous
> >   patch.
> > - Reuse the refactored Arm kernel and DTB/initrd placement helpers for
> >   the first-bank candidate check.
> >
> > Link to v1:
> >   https://patchew.org/Xen/4f862bb2dc323914b8120b0f16af7516140cf42b.1780=
065103.git.mykola._5Fkvach@epam.com/
> >
> > Changes since RFC:
> > - Do not keep the RFC scalar minimum-size check.  It can both reject va=
lid
> >   layouts and accept layouts which still fail later.  Instead, validate
> >   the candidate bank using the same kernel and DTB/initrd placement rul=
es
> >   as the load path.
> > - Replace the scalar minimum-size check with arch_hwdom_first_bank_ok()=
.
> > - Validate fixed-address and AArch32 start =3D=3D 0 kernel placement ag=
ainst
> >   the candidate bank.
> > - Check the candidate after capping the host region by the remaining
> >   unassigned hardware-domain memory.
> > - Treat the hardware-domain FDT allocation size as a conservative upper
> >   bound because the final FDT is generated later.
> >
> > Link to RFC: https://patchew.org/Xen/9ae4f7dd49f5b1f761193adae573c2675c=
92e883.1779051035.git.mykola._5Fkvach@epam.com/
> >
> > Why the RFC scalar approach was not kept:
> >
> > A simple minimum-size check is not sufficient here because the validity
> > of the first bank depends on the actual Arm placement rules, not only o=
n
> > the aggregate size of the kernel, DTB and initrd. The DTB/initrd area m=
ay
> > fit before a 64-bit Image loaded with a text offset, while an AArch32
> > position-independent kernel may leave no valid module location even whe=
n
> > the aggregate size appears to fit. Fixed-address kernels also need the
> > candidate bank start to be considered.
> > ---
> >  xen/arch/arm/acpi/domain_build.c        |  2 -
> >  xen/arch/arm/domain_build.c             |  8 ++++
> >  xen/arch/arm/include/asm/domain_build.h |  4 ++
> >  xen/arch/arm/include/asm/kernel.h       |  9 ++++
> >  xen/arch/arm/kernel.c                   | 57 ++++++++++++++++++++++++-
> >  xen/common/device-tree/domain-build.c   | 24 ++++++++---
> >  xen/include/xen/fdt-kernel.h            |  9 ++++
> >  7 files changed, 102 insertions(+), 11 deletions(-)
> >
> > diff --git a/xen/arch/arm/acpi/domain_build.c b/xen/arch/arm/acpi/domai=
n_build.c
> > index 249d899c33..db16f7fa94 100644
> > --- a/xen/arch/arm/acpi/domain_build.c
> > +++ b/xen/arch/arm/acpi/domain_build.c
> > @@ -26,8 +26,6 @@
> >  #undef virt_to_mfn
> >  #define virt_to_mfn(va) _mfn(__virt_to_mfn(va))
> >
> > -#define ACPI_DOM0_FDT_MIN_SIZE 4096
> > -
> >  static int __init acpi_iomem_deny_access(struct domain *d)
> >  {
> >      acpi_status status;
> > diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> > index 1efddc60ef..550617f152 100644
> > --- a/xen/arch/arm/domain_build.c
> > +++ b/xen/arch/arm/domain_build.c
> > @@ -115,6 +115,14 @@ int __init parse_arch_dom0_param(const char *s, co=
nst char *e)
> >                               (IS_ENABLED(CONFIG_STATIC_SHM) ?         =
\
> >                                (NR_SHMEM_BANKS * (160 + 16)) : 0))
> >
> > +paddr_t __init hwdom_get_fdt_alloc_size(void)
> > +{
> > +    if ( acpi_disabled )
> > +        return fdt_totalsize(device_tree_flattened) + DOM0_FDT_EXTRA_S=
IZE;
> > +
> > +    return ACPI_DOM0_FDT_MIN_SIZE;
> > +}
> > +
> >  unsigned int __init dom0_max_vcpus(void)
> >  {
> >      if ( opt_dom0_max_vcpus =3D=3D 0 )
> > diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/inc=
lude/asm/domain_build.h
> > index df8b361b3d..85cf46a958 100644
> > --- a/xen/arch/arm/include/asm/domain_build.h
> > +++ b/xen/arch/arm/include/asm/domain_build.h
> > @@ -19,6 +19,10 @@ int prepare_acpi(struct domain *d, struct kernel_inf=
o *kinfo);
> >
> >  int add_ext_regions(unsigned long s_gfn, unsigned long e_gfn, void *da=
ta);
> >
> > +#define ACPI_DOM0_FDT_MIN_SIZE 4096
> > +
> > +paddr_t hwdom_get_fdt_alloc_size(void);
> > +
> >  #if defined(CONFIG_MPU) && defined(CONFIG_ARM_64)
> >  /* Utility function to determine if an Armv8-R processor supports VMSA=
. */
> >  bool has_v8r_vmsa_support(void);
> > diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/a=
sm/kernel.h
> > index 21f4273fa1..bf14fb208a 100644
> > --- a/xen/arch/arm/include/asm/kernel.h
> > +++ b/xen/arch/arm/include/asm/kernel.h
> > @@ -8,12 +8,21 @@
> >
> >  #include <asm/domain.h>
> >
> > +#include <xen/types.h>
> > +
> > +struct kernel_info;
> > +
> >  struct arch_kernel_info
> >  {
> >      /* Enable pl011 emulation */
> >      bool vpl011;
> >  };
> >
> > +#define arch_hwdom_first_bank_ok arch_hwdom_first_bank_ok
> > +bool arch_hwdom_first_bank_ok(const struct kernel_info *info,
> > +                              paddr_t bank_start,
> > +                              paddr_t bank_size);
> > +
> >  #endif /* #ifdef __ARCH_ARM_KERNEL_H__ */
> >
> >  /*
> > diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
> > index d1be4d8074..ecea2822a1 100644
> > --- a/xen/arch/arm/kernel.c
> > +++ b/xen/arch/arm/kernel.c
> > @@ -64,9 +64,15 @@ kernel_zimage_place_in_bank(const struct kernel_info=
 *info,
> >          load_end =3D bank_start + bank_size;
> >          load_end =3D MIN(bank_start + MB(128), load_end);
> >
> > +        if ( load_end - bank_start < info->image.len )
> > +            return INVALID_PADDR;
> > +
> >          load_addr =3D load_end - info->image.len;
> >          /* Align to 2MB */
> >          load_addr &=3D ~(MB(2) - 1);
> > +
> > +        if ( load_addr < bank_start )
> > +            return INVALID_PADDR;

After re-checking the hwdom allocation path, this post-alignment check
looks redundant. Candidate bank starts come from the hwdom free-region
list, where regions are already 2MB-aligned. The check before
subtracting image.len already ensures that the computed load address does
not go below bank_start, so aligning it down to 2MB cannot move it below
bank_start for this path.

I will drop this check in the next revision.

> >      }
> >      else
> >          load_addr =3D info->image.start;
> > @@ -164,9 +170,56 @@ static void __init place_dtb_initrd(struct kernel_=
info *info,
> >  static paddr_t __init kernel_zimage_place(struct kernel_info *info)
> >  {
> >      const struct membanks *mem =3D kernel_info_get_mem(info);
> > +    paddr_t load_addr;
> > +
> > +    load_addr =3D kernel_zimage_place_in_bank(info, mem->bank[0].start=
,
> > +                                            mem->bank[0].size);
> > +    if ( load_addr =3D=3D INVALID_PADDR )
> > +        panic("Unable to find suitable location for the kernel\n");
> > +
> > +    return load_addr;
> > +}
> > +
> > +bool __init arch_hwdom_first_bank_ok(const struct kernel_info *info,
> > +                                     paddr_t bank_start,
> > +                                     paddr_t bank_size)
> > +{
> > +    const struct boot_module *initrd =3D info->bd.initrd;
> > +    /*
> > +     * place_dtb_initrd() rounds the DTB and initrd placement to 2MB b=
oundaries;
> > +     * use the same granularity when checking whether the first bank c=
an hold
> > +     * them.
> > +     */
> > +    const paddr_t initrd_len =3D ROUNDUP(initrd ? initrd->size : 0, MB=
(2));
> > +    /*
> > +     * The hardware domain FDT has not been generated yet. Use the all=
ocation
> > +     * size as a conservative upper bound for the final DTB size.
> > +     */
> > +    const paddr_t dtb_len =3D ROUNDUP(hwdom_get_fdt_alloc_size(), MB(2=
));
> > +    const paddr_t rambase =3D bank_start;
> > +    const paddr_t ramsize =3D bank_size;
> > +    const paddr_t dtb_initrd_size =3D initrd_len + dtb_len;
> > +    const paddr_t ramend =3D rambase + ramsize;
> > +    paddr_t kernbase;
> > +    paddr_t kernend;
> > +    paddr_t dtb_base;
> > +
> > +    kernbase =3D kernel_zimage_place_in_bank(info, bank_start, bank_si=
ze);
> > +    if ( kernbase =3D=3D INVALID_PADDR ||
> > +         info->image.len > INVALID_PADDR - kernbase )
> Max IPA is 48bit, far from 64bit, where the arch max is 52bit and image.l=
en is a
> kernel image size, so kernbase + image.len cannot wrap a 64-bit paddr_t, =
so this
> check is dead. Drop it.

Ack, I will drop this check.

>
> > +        return false;
> > +
> > +    kernend =3D kernbase + info->image.len;
> > +
> > +    if ( kernbase < rambase || kernend > ramend )
> Please add braces around individual expressions.

Ack, I will make the condition explicit.

>
> > +        return false;
> > +
> > +    if ( !first_bank_can_fit_modules(ramsize, kernbase, kernend,
> > +                                     dtb_initrd_size) )
> > +        return false;
> >
> > -    return kernel_zimage_place_in_bank(info, mem->bank[0].start,
> > -                                       mem->bank[0].size);
> > +    return find_dtb_initrd_placement(rambase, ramend, kernbase, kernen=
d,
> > +                                     dtb_initrd_size, &dtb_base);
> >  }
> >
> >  static void __init kernel_zimage_load(struct kernel_info *info)
> > diff --git a/xen/common/device-tree/domain-build.c b/xen/common/device-=
tree/domain-build.c
> > index f3ba496f1e..2e806c1b09 100644
> > --- a/xen/common/device-tree/domain-build.c
> > +++ b/xen/common/device-tree/domain-build.c
> > @@ -299,20 +299,30 @@ static bool __init allocate_hwdom_memory(struct k=
ernel_info *kinfo)
> >
> >      for ( i =3D 0; (kinfo->unassigned_mem > 0) && (i < nr_banks); i++ =
)
> >      {
> > -        paddr_t bank_size;
> > +        const paddr_t bank_start =3D hwdom_free_mem->bank[i].start;
> > +        paddr_t bank_size =3D hwdom_free_mem->bank[i].size;
> > +
> > +        /*
> > +         * Check the size that would actually be assigned, not just th=
e size
> > +         * of the host region.
> > +         */
> > +        bank_size =3D min(bank_size, kinfo->unassigned_mem);
> >
> >          /*
> >           * The first bank must be large enough for place_dtb_initrd() =
to
> >           * fit the kernel, DTB and initrd.  Skip small regions to avoi=
d
> >           * ending up with a tiny first bank.
> >           */
> > -        if ( !mem->nr_banks && (hwdom_free_mem->bank[i].size < min_ban=
k_size) )
> > -            continue;
> > +        if ( !mem->nr_banks )
> > +        {
> > +            if ( bank_size < min_bank_size )
> > +                continue;
> > +
> > +            if ( !arch_hwdom_first_bank_ok(kinfo, bank_start, bank_siz=
e) )
> > +                continue;
> > +        }
> >
> > -        bank_size =3D MIN(hwdom_free_mem->bank[i].size, kinfo->unassig=
ned_mem);
> > -        if ( !allocate_bank_memory(kinfo,
> > -                                   gaddr_to_gfn(hwdom_free_mem->bank[i=
].start),
> > -                                   bank_size) )
> > +        if ( !allocate_bank_memory(kinfo, gaddr_to_gfn(bank_start), ba=
nk_size) )
> >          {
> >              xfree(hwdom_free_mem);
> >              return false;
> > diff --git a/xen/include/xen/fdt-kernel.h b/xen/include/xen/fdt-kernel.=
h
> > index 00c37be101..71e2344b97 100644
> > --- a/xen/include/xen/fdt-kernel.h
> > +++ b/xen/include/xen/fdt-kernel.h
> > @@ -93,6 +93,15 @@ kernel_info_get_mem_const(const struct kernel_info *=
kinfo)
> >      return container_of(&kinfo->mem.common, const struct membanks, com=
mon);
> >  }
> >
> > +#ifndef arch_hwdom_first_bank_ok
> > +static inline bool arch_hwdom_first_bank_ok(const struct kernel_info *=
info,
> This should deserve a comment describing its contract.
> Also, the name is not very descriptive: how about
> arch_hwdom_first_bank_can_fit_modules() similar to generic Arm's
> first_bank_can_fit_modules()?

Ack, I will add a contract comment and rename the hook to
arch_hwdom_first_bank_can_fit_modules().

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 08:48:48 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 08:48:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329232.1593433 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVQEL-0001WX-Hq; Fri, 05 Jun 2026 08:48:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329232.1593433; Fri, 05 Jun 2026 08: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 1wVQEL-0001WQ-FG; Fri, 05 Jun 2026 08:48:41 +0000
Received: by outflank-mailman (input) for mailman id 1329232;
 Fri, 05 Jun 2026 08:48:40 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wVQEK-0001WK-0v
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 08:48:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVQEJ-00A8ka-DJ
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 10:48:39 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a228d67-5cb7-0a2a0a5109dd-0a2a450893fc-2
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 10:48:39 +0200
Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a228d66-63b5-0a2a45080019-d155dd35a843-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 10:48:39 +0200
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-45ef5146b56so1755409f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 01:48:39 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490bc3cc0f8sm140552815e9.8.2026.06.05.01.48.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Jun 2026 01:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780649318; x=1781254118; 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=fFFMkiV3OpdVx4/iAhK/+ENDZ6duH2ourMHbDBTLvAo=;
        b=GG58tRBBPaQeqtxc6seFYLGPZwzOqNDCWhVo8FC/o10Ova9UVvXNIJTqkXt1HCH02b
         uaGcGdMcGDlrwGikdpVsvlhvoLi86JO+E/Vif/x9tjSyvPfVzXso06j9Kg1cQ00zUHIQ
         yVA3WLOnx3lx4xT7ZkNwfkMPUMqKNyLYgbrFVtloqCpw0JlBKGYJKW0XK/qB0Ei119M5
         LJH5uZ1ztQKh4x0aMHJKOG/NAbVkI3w/X/y6QTQRDKAXL8OgC1MR+zio3rXjBsT+642f
         rgxmkueMMUzLkiRmZTQZHFpGXiDVfxCLMgBSAnUqsUX7dg8XkgqygPQa/lrrYYXH5VK2
         +ozw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780649318; x=1781254118;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=fFFMkiV3OpdVx4/iAhK/+ENDZ6duH2ourMHbDBTLvAo=;
        b=iE1NnvSkl0P0LAuMWTeCvytqZZg2+tvFNASw7moUPoET3QwQrA5sMQqOsRQvoC1n55
         y25leHYsJCsqYh97iXZxwirfGGL+TIyW3AdHxAmVqq1rS6l8pw9R4ATp1UtAWW7eTx+A
         DPa5XpJJxRydeKI0BZcRQOvrD/v9js5uNoHEhNtiztraBxQKgCosZmNxBqRzLoDTGT4x
         KrEhcrX33N81YJkrqyYVxddI9Kpy7oYapC22UmIgW3wSmINBWoGu1ALEUPWxGUSYnCBH
         MhVnHZNxDQMpjcZUtdVPbdLmBpDKc9wJ6b4ewRWEzADPyxEWpmKZouw3G4VggevPJdLo
         q5Rw==
X-Forwarded-Encrypted: i=1; AFNElJ9uHHDKXzO7iw3KQ7N90VPu4g1ae2KKidlNYf12+6WBfYluTS8EHuSqGdwzZjY4uTGFmJskZTcVQEY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx3h0tzxqEvZpmf8/Nv+60MfIwdpssHbVrYGY8Yu8qsyHLdpgWL
	R64cAhXfx1WaG/8Yy4j1rsmzn58aQb05gDEi8K9e30a/xgGwIH1n4aqO
X-Gm-Gg: Acq92OFZAKs2S85EXplrJD/HrEzIkOtwQ0HNRInm+ciOflGNyflqfm/0V6puYpy7/ex
	xPeS9ZHqSsuGEiMPZrdHFgT+uQnFoYP/LshMkCIxlV4n/TVdBUAp10i99YN0tLuBQe/pERnNBha
	KBLj+FOajISO92iNX8IUro4+1bGPaA/bCNr8DzntUzfhgkDz5/rwVILnxO6wkti+t67mz1NwWdf
	Zqf119IZSLjXzMduzua9vS+Fp02BgDTT9nIHeKfiBTEZX0nu7v9nfUVoCxW5+/mhnwBLvv2FoDo
	D2SUvFgYA0OpAxHGPoUWAYnOOxa+tfKIFiqeBJ8k7YPSW5atB1NdZh05PdzRxkXketz2iFkOhv9
	/hFjXhBS0lUXIwHTw7WXdkNInu+dB/fV1llecbai4dtScWJi5dkIZZ7TL8EGHsJwOoz2zAyHXAN
	43FvCtFynSEyD+Kq+7b7w3yRCq+QBJxkeoWFdytTu5QsVItWZGV9YJC4n2nlirxNpvVrO3YgGW2
	v8u6bkMDtNc/7SK
X-Received: by 2002:a05:600c:4509:b0:490:c28c:e077 with SMTP id 5b1f17b1804b1-490c2d33c0fmr21095135e9.17.1780649318365;
        Fri, 05 Jun 2026 01:48:38 -0700 (PDT)
Message-ID: <aa3053d4-692b-49cd-8e61-40db808e6a8b@gmail.com>
Date: Fri, 5 Jun 2026 10:48:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 20/26] xen/riscv: add missing APLIC register offsets,
 masks to asm/aplic.h.
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <736349477470f316da7020c4c1c7e92e37470d31.1778250616.git.oleksii.kurochko@gmail.com>
 <efeb7cd6-e66c-47bb-8497-d695e19dffa2@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <efeb7cd6-e66c-47bb-8497-d695e19dffa2@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c1860d/1780649319-C5F80DB1-F6D99D79/10/73395122804
X-purgate-type: spam
X-purgate-size: 2779



On 6/3/26 5:36 PM, Jan Beulich wrote:
> On 08.05.2026 16:43, Oleksii Kurochko wrote:
>> --- a/xen/arch/riscv/include/asm/aplic.h
>> +++ b/xen/arch/riscv/include/asm/aplic.h
>> @@ -15,6 +15,11 @@
>>   
>>   #include <asm/imsic.h>
>>   
>> +#define APLIC_REG_OFFSET_MASK   0x3fff
> 
> This I can see this as wanting to live separately. Yet ...
> 
>> +#define APLIC_TARGET_IPRIO_MASK 0xff

This could be dropped as I don't use this mask anymore.

>> +#define APLIC_TARGET_GUEST_IDX_SHIFT 12
>> +#define APLIC_TARGET_EIID_MASK  0x7ff
> 
> ... what (set of) register(s) do these apply to? Perhaps ...
> 
>> @@ -26,6 +31,36 @@
>>   #define APLIC_SOURCECFG_SM_LEVEL_HIGH   0x6
>>   #define APLIC_SOURCECFG_SM_LEVEL_LOW    0x7
>>   
>> +#define APLIC_DOMAINCFG         0x0000
>> +#define APLIC_SOURCECFG_BASE    0x0004
>> +#define APLIC_SOURCECFG_LAST    0x0ffc
>> +
>> +#define APLIC_SMSICFGADDR       0x1bc8
>> +#define APLIC_SMSICFGADDRH      0x1bcc
>> +
>> +#define APLIC_SETIP_BASE        0x1c00
>> +#define APLIC_SETIP_LAST        0x1c7c
>> +#define APLIC_SETIPNUM          0x1cdc
>> +
>> +#define APLIC_CLRIP_BASE        0x1d00
>> +#define APLIC_CLRIP_LAST        0x1d7c
>> +#define APLIC_CLRIPNUM          0x1ddc
>> +
>> +#define APLIC_SETIE_BASE        0x1e00
>> +#define APLIC_SETIE_LAST        0x1e7c
>> +#define APLIC_SETIENUM          0x1edc
>> +
>> +#define APLIC_CLRIE_BASE        0x1f00
>> +#define APLIC_CLRIE_LAST        0x1f7c
>> +#define APLIC_CLRIENUM          0x1fdc
>> +
>> +#define APLIC_SETIPNUM_LE       0x2000
>> +
>> +#define APLIC_GENMSI            0x3000
>> +
>> +#define APLIC_TARGET_BASE       0x3004
>> +#define APLIC_TARGET_LAST       0x3ffc
> 
> ... these? And then is ...

Yes, it is applied to target register.

> 
>>   #define APLIC_TARGET_HART_IDX_SHIFT 18
> 
> ... this also covering some part of them? Can't they (a) live together and (b)
> have some kind of connection to what they apply to?

Agreed, they could live together. The intent was simply to keep all MMIO 
definitions in sequence, but I'm okay with grouping macros related to a 
specific register together.

> 
> And then why is there again a mix of *_SHIFT and *_MASK?

This APLIC_TARGET_GUEST_IDX_SHIFT - could be dropped I've already 
reworked that in different branch and use *_MASK instead so I will 
re-apply that changes in this patch. But APLIC_TARGET_HART_IDX_SHIFT is 
used in to not open-code 12 in calculation of shift value for group_index:

static void cf_check aplic_set_irq_affinity(struct irq_desc *desc, const 
cpumask_t *mask)
{
...
     value |= cpu << APLIC_TARGET_HART_IDX_SHIFT;
     value |= group_index << (lhxw + APLIC_TARGET_HART_IDX_SHIFT);

Thanks.

~ Oleksii




From xen-devel-bounces@lists.xenproject.org Fri Jun 05 09:07:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 09:07:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329243.1593442 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVQWQ-0005ZX-Vr; Fri, 05 Jun 2026 09:07:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329243.1593442; Fri, 05 Jun 2026 09: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 1wVQWQ-0005ZQ-SU; Fri, 05 Jun 2026 09:07:22 +0000
Received: by outflank-mailman (input) for mailman id 1329243;
 Fri, 05 Jun 2026 09:07:22 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wVQWP-0005ZK-W9
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:07:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVQWP-00ADDE-Cg
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 11:07:21 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2291bf-e002-0a2a0a5209dd-0a2a450681c4-34
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 11:07:21 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2291c8-7371-0a2a45060019-d1558031ad34-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 11:07:21 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490b1bbcf3aso13186815e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 02:07: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-490bc3cbfe4sm139609345e9.7.2026.06.05.02.07.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Jun 2026 02:07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780650440; x=1781255240; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=MlIKbjTr565sibBp653JfGTAsuJxQFinncMXO3YrjCY=;
        b=V6tbeqWY3TXDkdYST4wRlUiNV9o205c80Fsx+x03lxSAAOgUOzc7bpE27FZYRycKZ3
         A+E27yqodg+XZ9sERyzs44MpKXiKLYG5hOa8DXMSW/1qqbhf/1CM4saQJGC8jSPESe1H
         ZEwSNyGqINE1oPDlgQrUW5J+NWK13P4yntpWHWJBDSo6fsa9HJtH8aPNG3nypQFLX0Ho
         Q+k5HgCq0DJYtqv6JI4fJfv/p14sW99EKSfmYUDcd74Oq4NQGDfHdKl8wKnOI0AETqLB
         GSLnbGSD+IDvM3xYtqnlh/aCQuLq4dDwv2b4k55BPWrFlcljXfccCQfCy0i0JWm7XYFB
         RoOg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780650440; x=1781255240;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MlIKbjTr565sibBp653JfGTAsuJxQFinncMXO3YrjCY=;
        b=CvpfrIQy1LIRVylhkE4o1pyQ2+hpsh9ohVoss+wTVrkc9akxU1+QrxLQK3iEv+z/u0
         jMRPVmxwCd8V5yY9y36KKxORJfz0ZfwS9AM0ToKJd07xhttHw6ZSofPQl4CLyQDpEwxe
         i+pxxaId1KMxkL9EcsQc2XAn03bZEkll8EKap49DW1UU67O60vOWCKJPzudK9nQEWam4
         Rz+UZ2LGNCWIuYoMJ79PT4LKzE5T9x9JDZq6aZqNS2jQtTHUP6NWkUCKfwOQypQgdV3u
         Z/5EO0ePVkA/Z9GLVka1GKK8pT1QK+kcJDzjjm8ViqYh328VUNbvhW0l7G3wps9mDdsq
         VUhA==
X-Forwarded-Encrypted: i=1; AFNElJ/OoprXcyK/GszjS6yiLSZk1b2ORhZwPFCUdoqx5kP5NOQ5xKJfHOXXD4zUGXf4/iqsYCLDLDvURlE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxAjwLReazJ7cKGpEelMohJPsyNs0OGDzjR/gv70KNoI9bHyRN7
	BSWsOd3O75cQtHR8u8rfPlX3nIUEc47SFTZhJf4tBBPlTcTFZHq8Xh/S5JMSZqh47A==
X-Gm-Gg: Acq92OGQCzQNSvWA5RF/FuP4suvciEqmxVf94lyvwR+cQ8UpQBLSxBs0QkgmFeOcZzm
	dggFbk5lTaqXIa/vEhqi7DdJEhNW8KDgkw7+qfVB6btrjEhX2oHB9RIQd4/2+NQ8TUlDmfco+4x
	IPIg2jI6DsQx4zotAemD5P+VZn/0D9bK254RZRKckYKrQNTSdeplk2zxZGjzaRMr9CdsELpQN5/
	6ooFqT7Oh6MGNiz+K3XVQYgo/44eJbd/74HsyF+n7nA8UURhdx0ODyON/QyZmFbV/hAD21TrOfs
	NczyAEMdonWBlCproqgMei1mui8ad/gBljvGaqopxs8YbqfOsotdYYAx1nZKhyeMmxsSDkTUhB3
	DAzJjMA6/rKRQl2qln803vnBgtxjsaMdUXXw/4Zs2S+aa2Pg0/SdK27EwwraOTysrbvNWBaBgtR
	vPUUYvO0kA8Xp8Yh34T1tqpQmjWxnaoi42BVgq6+6yW4dcug6ClC82IZf+e4zcR7dE8+ZlNpIHq
	Hyt/K62Pa67zlJEkbu4/xxTQ7jB1VUGhuJh
X-Received: by 2002:a05:600c:4e43:b0:490:b9c3:6c69 with SMTP id 5b1f17b1804b1-490c2622cf7mr38582885e9.30.1780650440431;
        Fri, 05 Jun 2026 02:07:20 -0700 (PDT)
Message-ID: <e6eb62ce-e4ea-4621-8ab4-cb986ece275d@suse.com>
Date: Fri, 5 Jun 2026 11:07:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 20/26] xen/riscv: add missing APLIC register offsets,
 masks to asm/aplic.h.
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <736349477470f316da7020c4c1c7e92e37470d31.1778250616.git.oleksii.kurochko@gmail.com>
 <efeb7cd6-e66c-47bb-8497-d695e19dffa2@suse.com>
 <aa3053d4-692b-49cd-8e61-40db808e6a8b@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: <aa3053d4-692b-49cd-8e61-40db808e6a8b@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1780650441-8556ED75-660B15AF/0/0
X-purgate-type: clean
X-purgate-size: 2400

On 05.06.2026 10:48, Oleksii Kurochko wrote:
> On 6/3/26 5:36 PM, Jan Beulich wrote:
>> On 08.05.2026 16:43, Oleksii Kurochko wrote:
>>> --- a/xen/arch/riscv/include/asm/aplic.h
>>> +++ b/xen/arch/riscv/include/asm/aplic.h
>>> @@ -15,6 +15,11 @@
>>>   
>>>   #include <asm/imsic.h>
>>>   
>>> +#define APLIC_REG_OFFSET_MASK   0x3fff
>>
>> This I can see this as wanting to live separately. Yet ...
>>
>>> +#define APLIC_TARGET_IPRIO_MASK 0xff
> 
> This could be dropped as I don't use this mask anymore.
> 
>>> +#define APLIC_TARGET_GUEST_IDX_SHIFT 12
>>> +#define APLIC_TARGET_EIID_MASK  0x7ff
>>
>> ... what (set of) register(s) do these apply to? Perhaps ...
>>
>>> @@ -26,6 +31,36 @@
>>>   #define APLIC_SOURCECFG_SM_LEVEL_HIGH   0x6
>>>   #define APLIC_SOURCECFG_SM_LEVEL_LOW    0x7
>>>   
>>> +#define APLIC_DOMAINCFG         0x0000
>>> +#define APLIC_SOURCECFG_BASE    0x0004
>>> +#define APLIC_SOURCECFG_LAST    0x0ffc
>>> +
>>> +#define APLIC_SMSICFGADDR       0x1bc8
>>> +#define APLIC_SMSICFGADDRH      0x1bcc
>>> +
>>> +#define APLIC_SETIP_BASE        0x1c00
>>> +#define APLIC_SETIP_LAST        0x1c7c
>>> +#define APLIC_SETIPNUM          0x1cdc
>>> +
>>> +#define APLIC_CLRIP_BASE        0x1d00
>>> +#define APLIC_CLRIP_LAST        0x1d7c
>>> +#define APLIC_CLRIPNUM          0x1ddc
>>> +
>>> +#define APLIC_SETIE_BASE        0x1e00
>>> +#define APLIC_SETIE_LAST        0x1e7c
>>> +#define APLIC_SETIENUM          0x1edc
>>> +
>>> +#define APLIC_CLRIE_BASE        0x1f00
>>> +#define APLIC_CLRIE_LAST        0x1f7c
>>> +#define APLIC_CLRIENUM          0x1fdc
>>> +
>>> +#define APLIC_SETIPNUM_LE       0x2000
>>> +
>>> +#define APLIC_GENMSI            0x3000
>>> +
>>> +#define APLIC_TARGET_BASE       0x3004
>>> +#define APLIC_TARGET_LAST       0x3ffc
>>
>> ... these? And then is ...
> 
> Yes, it is applied to target register.
> 
>>
>>>   #define APLIC_TARGET_HART_IDX_SHIFT 18
>>
>> ... this also covering some part of them? Can't they (a) live together and (b)
>> have some kind of connection to what they apply to?
> 
> Agreed, they could live together. The intent was simply to keep all MMIO 
> definitions in sequence,

That would also be fine, but then please add a comment to the register field
definition groups.

Jan

> but I'm okay with grouping macros related to a 
> specific register together.


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 09:16:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 09:16:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329256.1593450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVQfD-0007m2-RB; Fri, 05 Jun 2026 09:16:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329256.1593450; Fri, 05 Jun 2026 09:16:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVQfD-0007lv-Oh; Fri, 05 Jun 2026 09:16:27 +0000
Received: by outflank-mailman (input) for mailman id 1329256;
 Fri, 05 Jun 2026 09:16:26 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wVQfC-0007lp-8k
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:16:26 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVQfB-000SMm-Lb
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 11:16:25 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2293e2-e002-0a2a0a5209dd-0a2a4501a808-26
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 11:16:25 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2293e9-c1f2-0a2a45010019-d1558031d115-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 11:16:25 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490ace40f4bso19851655e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 02:16:25 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2dcad5sm26154012f8f.5.2026.06.05.02.16.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Jun 2026 02:16: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780650985; x=1781255785; 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=JPK2z2QR2RqSKAe912EFG+nrh8B9U4S7Qo4maNc9ZBw=;
        b=Lz0jfExKztZCypgpENyyzovV9e547s2j1KQ49D/CChju80W34YIcXVaAyb/mFDC3EF
         Vu2ROJKQ06HuLB1GYDthMd5AJHvG3Oy7OqsjtJ6HxCvnAXMx+KDu8HWhagYJ1a3TM0nh
         G+BhCH6KNLOPQ8qKVJ/FrxC7H+Wz16NPm+0VwVQJrQkf+TmSjDtodOY7v/GvCMqEsJ3q
         lbvoH1DAiU3z2eZk5VtLFhTRG3iOX0bxec4jgsoukYDCeflrins8NxWojLKtcFTvkk1K
         bdNxE7Iohm2sDUKIkHdjrkLMQN4SGE3bUNBDoakdThk46aORqT4+G4oEfh+CKpQMSAvi
         x9ww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780650985; x=1781255785;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=JPK2z2QR2RqSKAe912EFG+nrh8B9U4S7Qo4maNc9ZBw=;
        b=rP+a6PqnaPUmlGJ+0hFuEUHZZpI56OCuw0QBVEeivp48tl21+UlW9L1CCGED5PZmAD
         odjlDVaWeV8nseQaHR62MW2AtlJd2kysbjUgf8qYiXNuPJqnYQRklGZC8BurW02+6HFQ
         wRdKWG27J57kVQ9Fdc2NwyjOvmESLQkkSFYLoFbPdbzawVwEeOSzymOT6KYPMyDYM3oe
         tBkeHdawgfkYKDcBuiFLWd5O+feSOfBTWDJc0VIuVxdX0iu8Swex72jc1+vZ1vVxQ1S2
         8qCGwUz3X0wMgJtQ61G9eKx03BNs3SQTegKgWR7gvcc8XDMboE6+3pgKW1oX+r5zXNsd
         ma4A==
X-Gm-Message-State: AOJu0YziHZNj87e5HEP1TLQrMW/GqJU7OPF4znwxfxz3GXebwlCRm5M9
	ZAxos/WO+GQx5+drcY0Bu+QkI97t8iutQmG5IY1xLRvoCyTJWk7FoO2uZ41JKA==
X-Gm-Gg: Acq92OHrVZsXRcWpYjP0JMTVSnI/9YdOT/dzp4vpTq5r13xKaGXAAejdhaMsSDCXz6b
	In1zkWG7PFjcYi3e7CJc13mCrXfIrIBVvX7P5zpwd1ztxzg80LWWA4EFoQjvmC3iLfpkIOINViC
	zwZmOpXxPDn4BeeKtvimdPF9/oUFiGMY66SspM+i4dyLvBVEe5eKVS+TWRvXKLnUkLJN7ccBkKQ
	i/1isfxxo/2Ep5Kzdy4QC5InSLaL3+cnPykiYwUc/umW2sTKSmmsOqPsp+r6e4tJ2Hswc6ZDpK3
	qbBgBne0nzokicBaM7vIXhcs+aV+y3XhIYPI8NY/ND6hQm/8UQN/xl4tdWJwjk7hJZyXVnPb6ZH
	bG/gyMxbByUqd8FzudIIvVuUnEzcCA/WXOxdD3XARRNACxZO5BP3jqCnpEI2QwU+LWeOhY+w0Bg
	ofM+NVq05McoNfllKTV8+Lb02V2RwvShlehzochlnO3rf08HQ2QXf4A67LOiRGOnlHINZyo9S0i
	Z1B3CtlTI6chBsVdR53h/F6aGs=
X-Received: by 2002:a05:600c:37c9:b0:490:b629:286c with SMTP id 5b1f17b1804b1-490c259ec1cmr42587675e9.12.1780650984987;
        Fri, 05 Jun 2026 02:16:24 -0700 (PDT)
Message-ID: <b881f46f-6e2d-4a5c-a522-76141ef1093b@gmail.com>
Date: Fri, 5 Jun 2026 11:16:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v2 0/2] xen/arm: validate hwdom first bank boot
 placement
To: Mykola Kvach <xakep.amatop@gmail.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>,
 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: <cover.1780602987.git.mykola_kvach@epam.com>
 <6e35fc10-5281-4015-a5ad-78f8697aee95@gmail.com>
 <CAGeoDV_RRjMm7dHa4VJ4AwUypUg4kUx7kPYjM6Sg5_NafHQX1A@mail.gmail.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <CAGeoDV_RRjMm7dHa4VJ4AwUypUg4kUx7kPYjM6Sg5_NafHQX1A@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1780650985-ADF40FF4-960B656D/10/73395122804
X-purgate-type: spam
X-purgate-size: 825



On 6/5/26 10:42 AM, Mykola Kvach wrote:
> Hi Oleksii,
> 
> On Fri, Jun 5, 2026 at 11:00â€¯AM Oleksii Kurochko
> <oleksii.kurochko@gmail.com> wrote:
>>
>> Hello Mykola,
>>
>> On 6/5/26 7:19 AM, Mykola Kvach wrote:
>>> From: Mykola Kvach <mykola_kvach@epam.com>
>>
>> Just out of curiosity, is it okay that the email address listed here
>> differs from the one you're using to send patches? (By the way, nice
>> email address ;))
> 
> Yes, this is intentional. The patch author and Signed-off-by use my work
> address, while I send patches through another account because that is the
> mailing-list setup I currently have configured.
> 
> Please let me know if this is a problem for Xen submissions.

No, I donâ€™t think itâ€™s a problem. I was just curious whether it was 
intentional.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 09:25:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 09:25:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329274.1593488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVQo6-0001kE-Tl; Fri, 05 Jun 2026 09:25:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329274.1593488; Fri, 05 Jun 2026 09: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 1wVQo6-0001k7-QD; Fri, 05 Jun 2026 09:25:38 +0000
Received: by outflank-mailman (input) for mailman id 1329274;
 Fri, 05 Jun 2026 09:25:37 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wVQo5-0001k1-Oe
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:25:37 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVQo4-00DQY4-Qk
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 11:25:36 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a229605-5cb7-0a2a0a5109dd-0a2a4509b266-30
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 11:25:36 +0200
Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a229610-2497-0a2a45090019-d155dd35a50a-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 11:25:36 +0200
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-4600cbb06deso919282f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 02:25:36 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4602cda363bsm10864856f8f.31.2026.06.05.02.25.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Jun 2026 02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780651536; x=1781256336; 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=i6jSEezpTfw4Nd/UPjuW83pGs9vMCI9cQiKOJdCdNOo=;
        b=qGL1M5ILQuEDsgw0Vvr+hExbakUeJSbtC0y3KAYvHk6CFARlVQxJJKYtTVs0bR/+Cx
         xe6FbJLNxGk29iR7niUG3bKQbVZUhaVWBncY0MS2GD5zLFetuVQWnA/4u1UpkE+yZxwC
         nZ1Y6QjtnwipP6FAtTIAESr6zFy9A8yS+r7ALdsSW/0SXKmcXSkgenqdyx/ZDrO5Cg7p
         saB9Mcf3Uuk+BUgDyz3Y+6wNjrmrOkN6d2e4eD8YxOpOMtgRZQOjgPymLAmJTEWtz3vi
         Gtovt49815yAmUB8Pc4+6lHpMh7nr6Ss8johSYk/NDId7kaFNIigH/7AP2uyYssCcXVk
         dfFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780651536; x=1781256336;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=i6jSEezpTfw4Nd/UPjuW83pGs9vMCI9cQiKOJdCdNOo=;
        b=TIFi5uvM7+Av2OrZXop5xabgiODhaanDH2rZO8ohj2XTunuk9D5Bl2KkJ7Z0j/IAzK
         /7n/O4BUJRzmunz+lqqKv9MzgRNRMcxh6CJbZwJu2l7STpFQaoXY0tT3ATkotJnogPTP
         bCbZxra0eTUa09srRM5YW6Zng7rIFYvDZ/hXYwMW4TLZwf/7yxl0CnqB4T9iDywyGJyb
         fooaYAubBZeEdzwKY1DLDIxb7SgYe1maIB/4awLSRrX8r7GquRvLHejXm05Wyq5zf3M9
         Bt7v4qEricTvXS4XHPCSTaPz+9CjvuGIfG4cYOyVe7CRI3WEq/aPIwNKBvYZvMcWJILF
         jeBg==
X-Forwarded-Encrypted: i=1; AFNElJ+wLE6KlfiKmyMbCYbJ62ndplYU/45eU7MyIhu5xM1EsGhicckap5hPOtGzv2kslbHP3Qdf6E9Thjo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwKvvNHUw7JD7WtuXx4Cnmug18d/z3zTNPrjw2DYKypQF4MLLgG
	QnEbz9m9zaPswYGTyDHiD1gr56MeUyWLzp6MDBSjFRkB9wB44eu2NxqPuUhSeQ==
X-Gm-Gg: Acq92OERmpVICVFRXz48ZI9bZKC6hYHOxfniMoVksjcnubz+7upYCAkPGVYoPKiMtN8
	LHDZO0JhM5E1uDcxOj7lUyp9ruYS71++WfEfLdWePBtRl4YodiwXJZUoZOmNQI/tL/A9EKBWTOs
	K3U9JUk0Ydyp1ew7Kdriz6F0zgkj0bWDzM59uDgy8UMJl5QyCYHLlnLYsGmiHeGLc3xG71M6VfM
	FJXYwlMKkmBHRzvhXxsI4FoPpBWh7hlbJ8W44xivmHem2AvRLDCouuRPxDEasYy58mE8Ird4RlU
	bn90r7qmcspz7lCXF6fMuXGol33sQ8YVaGXByI9Q62wlK2WbYMzkWavS/V6PWQhk64cYPt9Mnej
	qMl0dy0zSgtQLf+2gYVxLgkOStaRFPNpcink+onAPYWbr6zU3CtMltqlC0kNKHs7B7pVc3p2alN
	4wlIXGDXv55U4bjBrYquEZEpus/n5zHLidDKiDxhzvfT+SMp2rFt4SobbLmjZPAKF3P5I8rqMeU
	cXKM092Q90Od/bf
X-Received: by 2002:a05:6000:4b01:b0:45e:739b:2750 with SMTP id ffacd0b85a97d-46032b82296mr2959164f8f.9.1780651536043;
        Fri, 05 Jun 2026 02:25:36 -0700 (PDT)
Message-ID: <1593d9df-5835-44dc-a33f-0dcd3348075c@gmail.com>
Date: Fri, 5 Jun 2026 11:25:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 15/26] xen/riscv: introduce (de)initialization helpers
 for vINTC
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <fc5560cd49a2b952ce7724c23e41da3368833d9f.1778250616.git.oleksii.kurochko@gmail.com>
 <b95f7093-9ae8-4461-95d5-3c4b8a69c62d@suse.com>
 <003f5317-7669-484f-8095-4e48eedc102d@gmail.com>
 <9236d2d8-a553-4d2e-a924-42a454346620@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <9236d2d8-a553-4d2e-a924-42a454346620@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1780651536-89775A53-F485C9F6/10/73395122804
X-purgate-type: spam
X-purgate-size: 1499



On 6/5/26 9:26 AM, Jan Beulich wrote:
>>>> +    switch ( ver )
>>>> +    {
>>>> +    case INTC_APLIC:
>>>> +        ret = domain_vaplic_init(d);
>>>> +        break;
>>>> +
>>>> +    default:
>>>> +        printk("vintc (ver:%d) isn't implemented\n", ver);
>>> If we take this path for whatever reason, ...
>>>
>>>> +        break;
>>>> +    }
>>>> +
>>>> +    return ret;
>>>> +}
>>>> +
>>>> +void domain_vintc_deinit(struct domain *d)
>>>> +{
>>>> +    const enum intc_version ver = intc_hw_ops->info->hw_version;
>>>> +
>>>> +    switch ( ver )
>>>> +    {
>>>> +    case INTC_APLIC:
>>>> +        domain_vaplic_deinit(d);
>>>> +        break;
>>>> +
>>>> +    default:
>>>> +        printk("vintc (ver:%d) isn't implemented\n", ver);
>>> ... we're also going to take this path (very quickly afterwards), just to
>>> get the same message twice without it being clear why it appears twice.
>> I missed to add printk("%s: ...", __func__, ...). I will update
>> correspondingly if we will follow this way.
> That's not quite what I was after, though. I question the need for this latter
> message.

I think I got you, and I agree that when someone decides to add support 
for a new IC to domain_vintc_init(), it is expected that 
domain_vintc_deinit() will be updated as well. So there is no real need 
to have the same or a very similar message in domain_vintc_deinit().

I will remove the message from domain_vintc_deinit().

Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 09:29:35 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 09:29:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329281.1593496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVQrn-0002wX-AC; Fri, 05 Jun 2026 09:29:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329281.1593496; Fri, 05 Jun 2026 09: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 1wVQrn-0002wQ-7d; Fri, 05 Jun 2026 09:29:27 +0000
Received: by outflank-mailman (input) for mailman id 1329281;
 Fri, 05 Jun 2026 09:29:26 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wVQrl-0002wK-Vb
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 09:29:26 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVQrl-00AHg9-1e
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 11:29:25 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2296ea-bab6-0a2a0a5309dd-0a2a450590e4-20
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 11:29:25 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2296f4-aaa8-0a2a45050019-d1558035b840-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 11:29:24 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-490b7866869so19873245e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 02:29:24 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2f5612sm23045297f8f.15.2026.06.05.02.29.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Jun 2026 02:29: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780651764; x=1781256564; 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=IiPdAtVLe52MfyJeeBoTlx6ayAoGl070v+c9t4vP7R8=;
        b=bXbHj+37opfn4tpOskVkyACd5MRTwak433Vf/xZlVbGKFy3qE4jyChhhD/WD8rNga5
         lJHiZ3E3jKrTPegYU8dl8alrHYWaXC4NG2woJfXE9XY4oodReRyZ/x4fD7yMPEOvi5Tr
         +JatoL3G6sp9EzqmbZdDjI0dZ+isgwnVVuafKyGxle0QUZZDJNpe/3Z9XEnw2QCmRPDG
         CmETdqyIAkURfRtkGNmZJQxL5F1FQlQM45B69g7A+pZ09f+rdki03iaFCaRhrd6b9Bie
         Okv8D4BtpjnI7aXdbDiRpUwLa3FhjQHbVlQB1LUNl/wYvyWp0RQjNApDIZnzbjwlPhbj
         WQrQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780651764; x=1781256564;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=IiPdAtVLe52MfyJeeBoTlx6ayAoGl070v+c9t4vP7R8=;
        b=LOcYTf34fG1ddwxhtnGEQmvEAaWss9MdQ8xJX0W4OybGNycPwTaDQF6t3rlURoytY6
         MgUiMRTVWMyhYiJ1XjykAk2an+IaykcX2fV/mVFjZwcPaeqvRRqzU9oSCzLz/gQg5k11
         cMlHJ+7MK/HBMBnAzXNcTJSl9JVmRfLmiXaplqURXJNHS7QxJshgjPTB2PYVHinK7GI8
         E02MtT7KFXpNEkUjO7ZrAfWY37HgkdnPVIer0TANr5ssKTw9FCNplRUBNBCQhX9AvrD5
         eqvu+KpG4w2zsU503YJRmZ0Xfp+3Ha06YUNc5BLGA2irPlH4HeoCpyvLKKUB56A96aW3
         GHsw==
X-Forwarded-Encrypted: i=1; AFNElJ/N3A76NLPZQkPvfqU6TzVI8gup5DFD7jW3y6dl0j2BjNGnjZ8aC5MZNiLmG6rWsxdEeZF+qRb6DMo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzPDFy4fUP80WXhfnsitYI07aNDQXGIufH6G3/cc0KiSTCPHaUe
	4x50qQYfETQNKO/AB6D2/D1MP6R2Wpa/FrTwO0Dmq07khseLZQYva4Wm
X-Gm-Gg: Acq92OFD9tz2NJWVNHPdovABbCCgrg+EdQ3Hn2ZlUsC5MRzFJ7R6745bwcHBaMokkTX
	d7OflzpwVhEgMaHQcrMjV2CzQpNKie/QfqiGko9LICWoJYukPmHaLcszAbGkVZ6/nW7WJOe9sxv
	WhZyTw4vjC2HEqbL4VgZHVF0kejbqSHY2zUOH+VFgqooLYZfaqiZy6e3KxlCstPw3iacRWiM84Y
	CyK98waZAKMZIxpYWlk9B7r+eKEH1YOYeCWvKM3fD5xkugJ2NFSy+PKPWeqPNCURZDQcXHOl134
	2T8qfgPr7EdabjgeyFnBNNtiuY5cJT2FDZGJikJY+ufDIaXd66fwSFDsxqy+FBZemOSsnorGoL1
	URUhLnQmHzlwbjL53Fi6dRtIo6F1k1i+1IhTKcUoNsbVyX6r9wZwGDctydVItyGdLsSsZNNigfC
	q45tz6ofeJZUzHg5qBrO7v4ZJ77G0Ec2DbWP6PegyGoBgbHcKq7wSuqLavWnwQj6+DWrSMyDJpB
	OzZV3dOQ+46/jXJ
X-Received: by 2002:a05:600c:674f:b0:490:6e11:c303 with SMTP id 5b1f17b1804b1-490c25ed266mr45063825e9.13.1780651763794;
        Fri, 05 Jun 2026 02:29:23 -0700 (PDT)
Message-ID: <eef6f785-7a9c-452b-aae6-9e1986227c7b@gmail.com>
Date: Fri, 5 Jun 2026 11:29:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 17/26] xen/riscv: generate IMSIC DT node for guest
 domains
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <19d30d3c34a6ac9aeb668e1fc56301620b177db0.1778250616.git.oleksii.kurochko@gmail.com>
 <3da2f796-4dc7-408a-9ec9-f0e8bb02b1a9@suse.com>
 <f4d899ba-8a27-48dd-a724-55557b345647@gmail.com>
 <88c0f573-087b-4f66-9045-1f480e4aa83c@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <88c0f573-087b-4f66-9045-1f480e4aa83c@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1780651764-DAF6E443-A091AEFA/10/73395122804
X-purgate-type: spam
X-purgate-size: 4895



On 6/5/26 9:31 AM, Jan Beulich wrote:
> On 04.06.2026 16:21, Oleksii Kurochko wrote:
>>
>>
>> On 6/3/26 5:21 PM, Jan Beulich wrote:
>>> On 08.05.2026 16:43, Oleksii Kurochko wrote:
>>>> Guests using the IMSIC interrupt controller require a corresponding
>>>> Device Tree description.
>>>>
>>>> Add support for generating an IMSIC node when building the guest DT.
>>>> This allows guests to discover and use the IMSIC interrupt controller.
>>>>
>>>> Co-developed-by: Romain Caritey <Romain.Caritey@microchip.com>
>>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>>> ---
>>>> Changes in v2:
>>>>    - s/imsic_make_reg_property/guest_imsic_make_reg_property.
>>>>    - s/imsic_set_interrupt_extended_prop/guest_imsic_set_interrupt_extended_prop.
>>>>    - Use initalizer for regs[] array in imsic_make_reg_property().
>>>>    - Move buf[] insde the for() loop.
>>>>    - Correct check of returned phandle.
>>>>    - Drop local variable len.
>>>>    - /s/XVFREE/xvfree in imsic_set_interrupt_extended_prop().
>>>>    - Drop initializer for local variable data.
>>>>    - s/uint32_t/unsinged int for pos and cpu in imsic_set_interrupt_extended_prop().
>>>>    - Drop next_phandle as it is now in common code.
>>>>    - Introduce vcpu_imsic_deinit.
>>>>    - Refactor vimsic_make_domu_dt_node() to avoid usage of host IMSIC dt node.
>>>> ---
>>>>    xen/arch/riscv/imsic.c                    | 127 +++++++++++++++++++++-
>>>>    xen/arch/riscv/include/asm/guest-layout.h |   2 +
>>>>    2 files changed, 128 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/xen/arch/riscv/imsic.c b/xen/arch/riscv/imsic.c
>>>> index ceea6778d9dc..19cbacdf96e1 100644
>>>> --- a/xen/arch/riscv/imsic.c
>>>> +++ b/xen/arch/riscv/imsic.c
>>>> @@ -13,9 +13,12 @@
>>>>    #include <xen/const.h>
>>>>    #include <xen/cpumask.h>
>>>>    #include <xen/device_tree.h>
>>>> +#include <xen/domain.h>
>>>>    #include <xen/errno.h>
>>>> +#include <xen/fdt-domain-build.h>
>>>>    #include <xen/fdt-kernel.h>
>>>>    #include <xen/init.h>
>>>> +#include <xen/libfdt/libfdt.h>
>>>>    #include <xen/macros.h>
>>>>    #include <xen/sched.h>
>>>>    #include <xen/smp.h>
>>>> @@ -35,6 +38,11 @@ static struct imsic_config imsic_cfg = {
>>>>        .lock = SPIN_LOCK_UNLOCKED,
>>>>    };
>>>>    
>>>> +static unsigned int __ro_after_init guest_num_msis;
>>>
>>> How come this is __ro_after_init, when it's ...
>>>
>>>> @@ -291,6 +299,11 @@ static int imsic_parse_node(const struct dt_device_node *node,
>>>>            return -ENOENT;
>>>>        }
>>>>    
>>>> +    if ( dt_property_read_u32(node, "riscv,num-guest-ids", &tmp) )
>>>> +        guest_num_msis = tmp;
>>>> +    else
>>>> +        guest_num_msis = imsic_cfg.nr_ids;
>>>
>>> ... written by a non-__init function?
>>
>> __ro_after_init should be dropped. I will use __read_mostly instead.
>>
>>    Plus are you again inheriting a host
>>> property into guests without saying why?
>>
>> Based on the discussion for similar place around vAPLIC code in the
>> previous patch I will add here or the comment why or introduce
>> VIMISC_NR_IDS and use it instead.
>>
>>>
>>>> @@ -524,8 +537,120 @@ int __init imsic_init(const struct dt_device_node *node)
>>>>        return rc;
>>>>    }
>>>>    
>>>> +static int __init guest_imsic_make_reg_property(struct domain *d, void *fdt)
>>>
>>> Same question again as to __init throughout here.
>>
>>   From Arm code I understood that libxl creates the interrupt controller
>> node in userspace before handing the FDT to Xen so this and related
>> functions won't be called by userspace.
> 
> Hmm, okay, on the v3 submission I'll have to keep that in mind, and call
> paths will need checking accordingly.
> 

I will update the commit message with clarification why __init is used 
here and connected functions.

>>>> --- a/xen/arch/riscv/include/asm/guest-layout.h
>>>> +++ b/xen/arch/riscv/include/asm/guest-layout.h
>>>> @@ -5,6 +5,8 @@
>>>>    
>>>>    #define GUEST_APLIC_S_BASE 0xd000000
>>>>    
>>>> +#define GUEST_IMSIC_S_BASE 0x28000000
>>>> +
>>>>    #define GUEST_RAM_BANKS   2
>>>
>>> Is this going to become an unannotated collection of (seemingly) random
>>> numbers?
>>
>> Could you please clarify what kind of annotation you would expect to see
>> here? It's just an address, which is typically used for IMSIC by QEMU,
>> so I chose the same notation for the guest address as well.
> 
> Well, how could I have known? The description says nothing, and there are
> also no comments. The numbers here look entirely arbitrary, and if someone
> wanted to change them, it wouldn't be clear at all what constraints need
> taking into consideration.

I will add the comment or update the commit message with information why 
this numbers were choosen.

Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 12:00:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 12:00:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329408.1593539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVTDR-0003jL-4Z; Fri, 05 Jun 2026 11:59:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329408.1593539; Fri, 05 Jun 2026 11: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 1wVTDR-0003jE-1h; Fri, 05 Jun 2026 11:59:57 +0000
Received: by outflank-mailman (input) for mailman id 1329408;
 Fri, 05 Jun 2026 11:59:55 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wVTDP-0003j8-4v
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 11:59:55 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVTDO-000yNw-He
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 13:59:54 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a22ba3a-2eae-0a2a0a5409dd-0a2a450ae8b6-0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 13:59:54 +0200
Received: from [209.85.128.41] (helo=mail-wm1-f41.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a22ba3a-56b3-0a2a450a0019-d1558029edd5-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 13:59:54 +0200
Received: by mail-wm1-f41.google.com with SMTP id
 5b1f17b1804b1-490ac357c55so21944905e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 04:59:54 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490c2d2d11asm55053615e9.1.2026.06.05.04.59.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Jun 2026 04:59: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780660794; x=1781265594; 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=byFSVQPBQ/QVGNq8s+HFMCrkPcMypMsF1o4JUjiEn3I=;
        b=ZnMST6cmErFAvgYna3R+dxCGveU9kyLMzSMiDfyyWYDd35+VQ6NiPoom3iiyroSPEH
         r45oZS3uhREI2d6xm7il+zIXTQTfUmjARBiJyqWNUyV8asebnNI6FINtc8dTxq/TAaD/
         IZa5y5m/6pxwDReScjjJCWUF4b3YSgQt8iYNh0JTMjIJmn2sMwU3aMafhJ5YMeGCZtt1
         jv+I6GD3Hxu+ri+pCJqs3Ws3p+ECCnV+3oReVnh8NojnylnghgFqIIAUYSFIhDuVsNxB
         MAxsNGIbS6HQ3QnzCP98Nkhct6HOB1sDCruv5zphXmpLoCTTvdcfH+Uny0IB6W72SxlU
         NKkw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780660794; x=1781265594;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:to:from:subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=byFSVQPBQ/QVGNq8s+HFMCrkPcMypMsF1o4JUjiEn3I=;
        b=saCwt6tkw8wYM6MfsGOL2qoApdwELxKco4f5ntmcajRrDdfEks3mBwNOwWQ5qFhRTN
         +hQvi6BUKEwgg5N8suKeMzUAHacWbQAMetleky9+ilkaJ1dBaVlds1+AUzJSLkGxasKS
         dogeFI0XFV2Zek+pB3Neh5urK8d1L0w+SSjR3zjgsYlXBtOSZ/3jYTG/OxSXCdECM5u2
         Li57cwISjOr5UdKC2W8lIu1sTQp9qzad9kh9ldC27NQMPlawtbqaY1d9HkNkdAR0bJ5t
         m7BKdoy4wjvRoZF6yrN0jRevo+Bhn68yxoeu0G7dqMDqaIT/HgVzzmuchEc8in/0iBu+
         +x2Q==
X-Forwarded-Encrypted: i=1; AFNElJ+rByUyUnna4QErO3hxIM4sVibCTzip4jfaLZmJA0Zgl2ThXXHA1VL4AVgga4gfTgxPRVycl/lOblo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwBTKDIUeQG3jiihKp1L3SgqXzFKGthgawlVNyQbuDuQHwnbWMX
	rbo4gYgZqlGDaJUJqV0f6/XC30c7wtHH151Q8I7GOnkWXnXAiAV66WL/
X-Gm-Gg: Acq92OGMrMt3bYR24/de3tRAPg31T5QN7a/qTrnLgfZDRyhChlcMEFyJ4Sav2FS6sW/
	CwrgWOC9Z8RElKitZ5NauZw0jft//0BsxyRA+v8o9GyLiX82JB7gkFN3rp6c6gTLWyyYh33pP5J
	4U/kq0GYTufldOCrGzMF12AbO/XnllAVdYpXYw1fqDT3uw2N5H0CEvCvr/oLxYry+qyqpb2Aizp
	wd57CGMfI8yal7E+OugZXRsFQHWsT6s90oO0X0BKRHkKPEOxIucLSmfGpYPCcipTwKFj+6QiHVN
	QeamSK6ggFZ35W7DGCCvNwDS/6D26T2X7xUdRMBdOaRkf+IU2VH1unX/riyVNL2MFkuux6G4Yo0
	2nyMSMK8rGDbCIe8T1osf9289Dfs4zvd7//V4bGB9Vw9WzV0XNSHUr9Q+9rn6RZflXbTkb5Yr8f
	1vnQ+Dn9JuiXv9ARGFEYO8fCVdTGfSUMRISFk9yEObPls+V0BZxWKXX+wHm6Igy4Oke2aMilNht
	qo+keG3gZ/3Zt8w
X-Received: by 2002:a05:600c:4e94:b0:490:9588:bdae with SMTP id 5b1f17b1804b1-490c25e30e0mr48829735e9.18.1780660793658;
        Fri, 05 Jun 2026 04:59:53 -0700 (PDT)
Message-ID: <8803731b-ae65-4ff9-a94a-d0670cb8b132@gmail.com>
Date: Fri, 5 Jun 2026 13:59:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 14/26] xen/riscv: add very early virtual APLIC (vAPLIC)
 initialization support
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <220cf09814744b8b8136b1e3c35ab982226d3f6f.1778250616.git.oleksii.kurochko@gmail.com>
 <6ec9620d-7224-49d4-860c-6e447e0534e3@suse.com>
 <702af594-17ce-4e64-8f02-37ad5785c6a4@gmail.com>
Content-Language: en-US
In-Reply-To: <702af594-17ce-4e64-8f02-37ad5785c6a4@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1780660794-70D608B7-DA3FEE04/10/73395122804
X-purgate-type: spam
X-purgate-size: 7314



On 6/4/26 1:29 PM, Oleksii Kurochko wrote:
>>> +
>>> +static const struct vintc_ops vintc_ops = {
>>> +Â Â Â  .vcpu_init = vcpu_vaplic_init,
>>> +};
>>> +
>>> +int __init domain_vaplic_init(struct domain *d)
>>
>> Why __init, and why is there no caller? 
> 
> The caller is in follow-up patch. I will add that to commit message.
> 
> Considering that domain_vintc_init() isn't __init from where 
> domain_vaplic_init() is called then __init should be dropped here. I 
> will do that.
> 
> Plus why is the vCPU-init a hook,
>> but the domain init is not? Either you mean to allow for other ICs, or
>> you you don't.
> 
> IIUC your question domain_vaplic_init() ins't a hook because vaplic 
> structure is allocated dynamically so vintc, vintc->ops and/or vintc- 
>  >init_ops aren't initialized at the moment when vintc->{ops or 
> init_ops}->domain_vaplic_init() is used in domain_vintc_init() (which is 
> introduced in the follow up patch).

As an alternative it could be that vintc->init_ops are moved as a 
variable to int.c and then domain_vaplic_(de)init will be just a hook. 
Something like:

$ git diff
diff --git a/xen/arch/riscv/aplic.c b/xen/arch/riscv/aplic.c
index 86d0a247ef3d..4c4f777f7e1b 100644
--- a/xen/arch/riscv/aplic.c
+++ b/xen/arch/riscv/aplic.c
@@ -28,6 +28,7 @@
  #include <asm/imsic.h>
  #include <asm/intc.h>
  #include <asm/io.h>
+#include <asm/vaplic.h>
  #include <asm/riscv_encoding.h>

  #define APLIC_DEFAULT_PRIORITY  1
@@ -394,6 +395,7 @@ static int __init aplic_preinit(struct 
dt_device_node *node, const void *dat)
      dt_irq_xlate = aplic_irq_xlate;

      register_intc_ops(&aplic_init_ops);
+    register_vintc_init_ops(&vaplic_vintc_init_ops);

      /* Enable supervisor external interrupt */
      csr_set(CSR_SIE, BIT(IRQ_S_EXT, UL));
diff --git a/xen/arch/riscv/include/asm/intc.h 
b/xen/arch/riscv/include/asm/intc.h
index 4842ca08aa54..84b97d6c56f9 100644
--- a/xen/arch/riscv/include/asm/intc.h
+++ b/xen/arch/riscv/include/asm/intc.h
@@ -56,6 +56,8 @@ struct intc_hw_init_ops {
  };

  struct vintc_init_ops {
+    int (*init)(struct domain *d);
+    void (*deinit)(struct domain *d);
      /* Create interrupt controller node for domain */
      int (*make_domu_dt_node)(struct kernel_info *kinfo);
  };
@@ -79,13 +81,13 @@ struct vintc_ops {
  struct vintc {
      unsigned int irq_nums;
      unsigned long *allocated_irqs;
-    const struct vintc_init_ops *init_ops;
      const struct vintc_ops *ops;
  };

  void intc_preinit(void);

  void register_intc_ops(const struct intc_hw_init_ops *init_ops);
+void register_vintc_init_ops(const struct vintc_init_ops *ops);

  void intc_init(void);

diff --git a/xen/arch/riscv/include/asm/vaplic.h 
b/xen/arch/riscv/include/asm/vaplic.h
index 0fa690fcb2d7..7720e6556fcb 100644
--- a/xen/arch/riscv/include/asm/vaplic.h
+++ b/xen/arch/riscv/include/asm/vaplic.h
@@ -15,8 +15,6 @@

  #include <asm/intc.h>

-struct domain;
-
  #define to_vaplic(d) container_of(d->arch.vintc, struct vaplic, vintc)

  struct vaplic_regs {
@@ -31,7 +29,6 @@ struct vaplic {
      paddr_t regs_size;
  };

-int domain_vaplic_init(struct domain *d);
-void domain_vaplic_deinit(struct domain *d);
+extern const struct vintc_init_ops vaplic_vintc_init_ops;

  #endif /* ASM__RISCV__VAPLIC_H */
diff --git a/xen/arch/riscv/intc.c b/xen/arch/riscv/intc.c
index 0934bce3f2f8..304d4def7a4b 100644
--- a/xen/arch/riscv/intc.c
+++ b/xen/arch/riscv/intc.c
@@ -13,18 +13,24 @@

  #include <asm/aia.h>
  #include <asm/intc.h>
-#include <asm/vaplic.h>

  static const struct intc_hw_operations *__ro_after_init intc_hw_ops;

  static const struct intc_hw_init_ops *__initdata intc_hw_init_ops;

+static const struct vintc_init_ops *__ro_after_init vintc_init_ops;
+
  void __init register_intc_ops(const struct intc_hw_init_ops *init_ops)
  {
      intc_hw_ops = init_ops->ops;
      intc_hw_init_ops = init_ops;
  }

+void __init register_vintc_init_ops(const struct vintc_init_ops *ops)
+{
+    vintc_init_ops = ops;
+}
+
  void __init intc_preinit(void)
  {
      if ( acpi_disabled )
@@ -105,29 +111,18 @@ int intc_route_irq_to_guest(struct irq_desc *desc,

  int __init make_intc_domU_node(struct kernel_info *kinfo)
  {
-    struct vintc *vintc = kinfo->bd.d->arch.vintc;
-
-    ASSERT(vintc->init_ops && vintc->init_ops->make_domu_dt_node);

-    return vintc->init_ops->make_domu_dt_node(kinfo);
+    return vintc_init_ops->make_domu_dt_node(kinfo);
  }

  int domain_vintc_init(struct domain *d)
  {
-    int ret = -EOPNOTSUPP;
-    const enum intc_version ver = intc_hw_ops->info->hw_version;
-
-    switch ( ver )
-    {
-    case INTC_APLIC:
-        ret = domain_vaplic_init(d);
-        break;
+    int ret;

-    default:
-        printk("vintc (ver:%d) isn't implemented\n", ver);
-        break;
-    }

+    ret = vintc_init_ops->init(d);
      if ( !ret )
      {
          d->arch.vintc->allocated_irqs =
@@ -141,19 +136,9 @@ int domain_vintc_init(struct domain *d)

  void domain_vintc_deinit(struct domain *d)
  {
-    const enum intc_version ver = intc_hw_ops->info->hw_version;
-
-    switch ( ver )
-    {
-    case INTC_APLIC:
-        domain_vaplic_deinit(d);
-        break;
-
-    default:
-        printk("vintc (ver:%d) isn't implemented\n", ver);
-        break;
-    }
+    ASSERT(vintc_init_ops && vintc_init_ops->deinit);

+    vintc_init_ops->deinit(d);
      xvfree(d->arch.vintc->allocated_irqs);
  }

diff --git a/xen/arch/riscv/vaplic.c b/xen/arch/riscv/vaplic.c
index 57c3433ba03b..301078b8639e 100644
--- a/xen/arch/riscv/vaplic.c
+++ b/xen/arch/riscv/vaplic.c
@@ -397,7 +397,12 @@ static int __init cf_check 
vaplic_make_domu_dt_node(struct kernel_info *kinfo)
      return fdt_end_node(fdt);
  }

-static const struct vintc_init_ops __initdata init_ops = {
+static int domain_vaplic_init(struct domain *d);
+static void domain_vaplic_deinit(struct domain *d);
+
+const struct vintc_init_ops vaplic_vintc_init_ops = {
+    .init              = domain_vaplic_init,
+    .deinit            = domain_vaplic_deinit,
      .make_domu_dt_node = vaplic_make_domu_dt_node,
  };

@@ -408,7 +413,7 @@ static const struct vintc_ops vintc_ops = {
      .emulate_load = vaplic_emulate_load,
  };

-int __init domain_vaplic_init(struct domain *d)
+static int domain_vaplic_init(struct domain *d)
  {
      struct vaplic *vaplic = xvzalloc(struct vaplic);

@@ -417,7 +422,6 @@ int __init domain_vaplic_init(struct domain *d)

      d->arch.vintc = &vaplic->vintc;
      d->arch.vintc->ops = &vintc_ops;
-    d->arch.vintc->init_ops = &init_ops;

      vaplic->regs.domaincfg = APLIC_DOMAINCFG_IE | APLIC_DOMAINCFG_DM |
                               APLIC_DOMAINCFG_RO80;
@@ -428,7 +432,7 @@ int __init domain_vaplic_init(struct domain *d)
      return 0;
  }

-void __init domain_vaplic_deinit(struct domain *d)
+static void domain_vaplic_deinit(struct domain *d)
  {
      struct vaplic *vaplic = to_vaplic(d);


The downside is that we still need register_vintc_init_ops() which will 
called from real interrupt controller code.

Would it be better solution?

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 12:05:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 12:05:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329417.1593549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVTIz-0005Ss-Tn; Fri, 05 Jun 2026 12:05:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329417.1593549; Fri, 05 Jun 2026 12: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 1wVTIz-0005Sl-R2; Fri, 05 Jun 2026 12:05:41 +0000
Received: by outflank-mailman (input) for mailman id 1329417;
 Fri, 05 Jun 2026 12:05:41 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wVTIz-0005Sf-5M
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 12:05:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVTIy-00664B-E1
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 14:05:40 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a22bb90-bab6-0a2a0a5309dd-0a2a450cbade-16
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 14:05:40 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a22bb93-62f1-0a2a450c0019-d1558032c9bb-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 14:05:40 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-490ac10e337so14967595e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 05: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
 5b1f17b1804b1-490bc4082c3sm144487075e9.13.2026.06.05.05.05.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Jun 2026 05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780661139; x=1781265939; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=DrItdZBOFahsUEB510Z29KG8BB5YtjsoL5D4StZRNpA=;
        b=araHZlQ/mZraO9eqmlYXlzAoAc3debBQDHREqU8pMGh6urEeG+2TisiqCC7BbTNOny
         Cvm5vdZ01DVaVRFiJkJyl5fl9GmX52ue1e7gae4yh8KQ2+W3Mpj2wmgVRacdGgz3p5Q0
         aVkzub3sebCK3/sqYYtAMLWLQqq7VIJSOtjzehzbh0Ifvmz3wdbsUAIDcFe6/+fu1ZMk
         PRSs4O962eX327Rxt4l1QCvtf//L1WV0l6UBiJrXJ7KvFAzo2WMB5yOUTj4FHi9YUEn+
         ifzMRF2NCrKfEROo5cGrPu56hxS9UdefdZ7tOw3B9OOndpreILCf3l6SaihvVartvOr2
         dYmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780661139; x=1781265939;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DrItdZBOFahsUEB510Z29KG8BB5YtjsoL5D4StZRNpA=;
        b=bRXAgrE+W2eHVKNEvsF4ijT3jxg9Y55ybFhEY12sogXqsSjI4keytCwrT9Un9mHKw2
         fsXjumG9B5u2tx7nMlqDs1h1FVX6CVM2QA5PcmPHZT2Zg8Kgc6Ae3Iq037QGmbtPJdi5
         U2TiM8bAgxD3kPyARnx7s1YcTdJ/2G6+HI1N5ptaKljPJa3Acow5sO8oPScxWIgqYuPE
         wAyufxvuBFx6aLcYje5yqpVwpuFFBkzZK6caeP7+qe6y+95ICHeUWSvrg13QKB5v1t+q
         0LtBp8nML3YtwZp4zN8lVBIfrvgYLw4caczlAFi49z8b+Bxnq2FYHzWPmB43gNRalGyl
         Ti6w==
X-Forwarded-Encrypted: i=1; AFNElJ/AY5oD2V2/1SnlbdbcnaiRwdfW/cWWPadKSMnjckVgWhWJatU8vTXm9T/ilS6l3XnRezUhqNXO5PM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwW6juNLSxz/FxdattrojYL6e1v1YNpuxv3mO3RXM3EYvVPT0cJ
	hv+rd2Wh5CoPmzKGuwVZp7DFIbLqzSrW/8AbeN54sobq6csuA1sNGTiXiw8EtjZ3iA==
X-Gm-Gg: Acq92OEK1nKUwUdgqhwkjhY3KBZlxNxG4vwYReR3ua/LRbpqzmV8X4waLXyEHlIv6dT
	KoSgKSuYlXue+67S5iLZl8rwgzngXayp1043HBCVBoWCjaJPLZi4hX4kIDej0tFLW/eM82OmERp
	bueQumw+Ss2p8rn53HFp2E0HoExhY0qNNsHdXzSPuPUo4VlBLXVTrB2oNuFL4WcziV7hP2t6eVn
	k0aHKJIVwchncaGfIyqRC3I/gspXtlUrXvizYmKdgTjP9JZR251bhIM4gHUVn7ezTdzrWhA31X+
	FGcZC+f468jVbHTIaaCiZWBxxn2h0Fi1RhhHYMvCRne2p655Psajia0Pz1MjC+nL27lz3TL5IbM
	bnJ3tvQO5naQxJsk9L/tm7qUPcS6jl+p2DEousOu41EPg4MgzqXUVEY5ZtGmIoLKahklsrepI0r
	8v6ZHU6vb59SVmAG41Fpmi0ZkXbymhUel1G2Hm3kryPtDW7yzKEkxFEqO3l5b/Mb0uQuHCoPOTk
	HjbHs58CeLCiB0okT24qynxCA==
X-Received: by 2002:a05:600c:3492:b0:490:aeae:1eea with SMTP id 5b1f17b1804b1-490c2597362mr51849125e9.7.1780661139611;
        Fri, 05 Jun 2026 05:05:39 -0700 (PDT)
Message-ID: <69311087-ff1c-4b30-b8e5-2eacaf099756@suse.com>
Date: Fri, 5 Jun 2026 14:05:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 14/26] xen/riscv: add very early virtual APLIC (vAPLIC)
 initialization support
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <220cf09814744b8b8136b1e3c35ab982226d3f6f.1778250616.git.oleksii.kurochko@gmail.com>
 <6ec9620d-7224-49d4-860c-6e447e0534e3@suse.com>
 <702af594-17ce-4e64-8f02-37ad5785c6a4@gmail.com>
 <8803731b-ae65-4ff9-a94a-d0670cb8b132@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: <8803731b-ae65-4ff9-a94a-d0670cb8b132@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1780661140-DA368CF5-B6653E2B/0/0
X-purgate-type: clean
X-purgate-size: 1243

On 05.06.2026 13:59, Oleksii Kurochko wrote:
> On 6/4/26 1:29 PM, Oleksii Kurochko wrote:
> @@ -105,29 +111,18 @@ int intc_route_irq_to_guest(struct irq_desc *desc,
> 
>   int __init make_intc_domU_node(struct kernel_info *kinfo)
>   {
> -    struct vintc *vintc = kinfo->bd.d->arch.vintc;
> -
> -    ASSERT(vintc->init_ops && vintc->init_ops->make_domu_dt_node);
> 
> -    return vintc->init_ops->make_domu_dt_node(kinfo);
> +    return vintc_init_ops->make_domu_dt_node(kinfo);
>   }
> 
>   int domain_vintc_init(struct domain *d)
>   {
> -    int ret = -EOPNOTSUPP;
> -    const enum intc_version ver = intc_hw_ops->info->hw_version;
> -
> -    switch ( ver )
> -    {
> -    case INTC_APLIC:
> -        ret = domain_vaplic_init(d);
> -        break;
> +    int ret;
> 
> -    default:
> -        printk("vintc (ver:%d) isn't implemented\n", ver);
> -        break;
> -    }
> 
> +    ret = vintc_init_ops->init(d);
>       if ( !ret )
>       {
>           d->arch.vintc->allocated_irqs =

Thinking about it some more, in particular the longer term case of domains
not inheriting HW properties may end up better without this change, i.e.
keeping the switch() that you had (and a direct call).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 12:34:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 12:34:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329442.1593570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVTks-0002nI-6k; Fri, 05 Jun 2026 12:34:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329442.1593570; Fri, 05 Jun 2026 12: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 1wVTks-0002nB-3Y; Fri, 05 Jun 2026 12:34:30 +0000
Received: by outflank-mailman (input) for mailman id 1329442;
 Fri, 05 Jun 2026 12:33:40 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <tglx@kernel.org>) id 1wVTk4-0002k3-Fr
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 12:33:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVTk3-00DBbS-Lo
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 14:33:39 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <tglx@kernel.org>)
 id 6a22c1fc-5cb7-0a2a0a5109dd-0a2a4507af4a-48
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 14:33:39 +0200
Received: from [172.234.252.31] (helo=sea.source.kernel.org)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <tglx@kernel.org>)
 id 6a22c221-229c-0a2a45070019-aceafc1fd0cc-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 14:33:39 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by sea.source.kernel.org (Postfix) with ESMTP id 380E6435B4;
 Fri,  5 Jun 2026 12:33:37 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4C3511F00898;
 Fri,  5 Jun 2026 12:33: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="From:To:Cc:Subject:In-Reply-To:References:Date"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780662817;
	bh=Bt6OT0/VKhphh3HzvyFQdhPrJoF2vdMvqgs31u2+MPI=;
	h=From:To:Cc:Subject:In-Reply-To:References:Date;
	b=biVHvO6L31ky0DbhkuxtmImICmlXKP2o3OOF5xVHa1tc098wBX1/8D0U6NRSAf9rU
	 UlsP63nvrDyBlVYwUJcuAnujyoNQ95whuvY+bxaawMtNzpCnwEgWQG9+8u42DTkSSe
	 9hyPT7fEUrW04s8KALcwsFNNMbFDLxDgZq1Nb08Kj94hN23fq7QZ7Y7h9I6l9dbKdO
	 8bFYyDz3BH1KgWZzgZlBp9yzM5NPcwaf0meH8bgEH3e2pkctUJ/aFFBRVz2loNKWNl
	 BrCqWfY0ReG2TSOUagWxFiBQP66Fg2udQzTY+TxTNPa5tbV+j0qLaLI1k8ShJ/LI0K
	 XOACtKWJ8Suxw==
From: Thomas Gleixner <tglx@kernel.org>
To: Sean Christopherson <seanjc@google.com>, Paolo Bonzini
 <pbonzini@redhat.com>, Ingo Molnar <mingo@redhat.com>, Borislav Petkov
 <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
 Kiryl Shutsemau <kas@kernel.org>, Sean Christopherson <seanjc@google.com>,
 "K. Y. Srinivasan" <kys@microsoft.com>, Haiyang Zhang
 <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, Dexuan Cui
 <decui@microsoft.com>, Long Li <longli@microsoft.com>, Ajay Kaher
 <ajay.kaher@broadcom.com>, Alexey Makhalov <alexey.makhalov@broadcom.com>,
 Jan Kiszka <jan.kiszka@siemens.com>, Andy Lutomirski <luto@kernel.org>,
 Peter Zijlstra <peterz@infradead.org>, Juergen Gross <jgross@suse.com>,
 Daniel Lezcano <daniel.lezcano@kernel.org>, John Stultz
 <jstultz@google.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>, Rick Edgecombe
 <rick.p.edgecombe@intel.com>, Vitaly Kuznetsov <vkuznets@redhat.com>,
 Broadcom internal kernel review list
 <bcm-kernel-feedback-list@broadcom.com>, Boris Ostrovsky
 <boris.ostrovsky@oracle.com>, Stephen Boyd <sboyd@kernel.org>,
 kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-coco@lists.linux.dev, linux-hyperv@vger.kernel.org,
 virtualization@lists.linux.dev, xen-devel@lists.xenproject.org, David
 Woodhouse <dwmw@amazon.co.uk>, Tom Lendacky <thomas.lendacky@amd.com>,
 Nikunj A Dadhania <nikunj@amd.com>, David Woodhouse <dwmw2@infradead.org>,
 Michael Kelley <mhklinux@outlook.com>
Subject: Re: [PATCH v4 01/47] x86/tsc: Never re-calibrate TSC frequency if
 its exact timing is known
In-Reply-To: <20260529144435.704127-2-seanjc@google.com>
References: <20260529144435.704127-1-seanjc@google.com>
 <20260529144435.704127-2-seanjc@google.com>
Date: Fri, 05 Jun 2026 14:33:34 +0200
Message-ID: <87fr315fq9.ffs@fw13>
MIME-Version: 1.0
Content-Type: text/plain
X-purgate-ID: tlsNG-ef75cf/1780662819-0A573C48-91A172F9/0/0
X-purgate-type: clean
X-purgate-size: 883

On Fri, May 29 2026 at 07:43, Sean Christopherson wrote:
> Don't re-calibrate the TSC frequency if the TSC is known to run at a fixed
> frequency.

That's misleading because fixed frequency means that the frequency does
not change, i.e. X86_FEATURE_CONSTANT_TSC is set. But
X86_FEATURE_CONSTANT_TSC does not imply that the frequency can be read
from CPUID/MSRs.

> In practice, this is likely one big nop, as re-calibration is
> used only for SMP=n kernels, and only for hardware that is 20+ years old,
> i.e. is extremely unlikely to collide with TSC_KNOWN_FREQ.

recalibrate_cpu_khz() is only invoked from Intel P4 and AMD K7 CPU
frequency drivers, which means that's absolutely not interesting and
neither X86_FEATURE_CONSTANT_TSC nor X86_FEATURE_TSC_KNOWN_FREQ can be
set on those systems.

IOW, this patch is pointless voodoo ware.

Thanks,

        tglx


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 12:37:19 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 12:37:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329452.1593579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVTna-0003Me-KI; Fri, 05 Jun 2026 12:37:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329452.1593579; Fri, 05 Jun 2026 12: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 1wVTna-0003MW-H6; Fri, 05 Jun 2026 12:37:18 +0000
Received: by outflank-mailman (input) for mailman id 1329452;
 Fri, 05 Jun 2026 12:37:16 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <tglx@kernel.org>) id 1wVTnY-0003MG-Uc
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 12:37:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVTnW-009rQn-Ky
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 14:37:14 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <tglx@kernel.org>)
 id 6a22c2de-5cb7-0a2a0a5109dd-0a2a450b9c38-42
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 14:37:14 +0200
Received: from [172.105.4.254] (helo=tor.source.kernel.org)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <tglx@kernel.org>)
 id 6a22c2f9-212f-0a2a450b0019-ac6904fecc5e-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 14:37:14 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by tor.source.kernel.org (Postfix) with ESMTP id 529DF601F5;
 Fri,  5 Jun 2026 12:37:12 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 17B0B1F00893;
 Fri,  5 Jun 2026 12:37: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="From:To:Cc:Subject:In-Reply-To:References:Date"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780663032;
	bh=5W6FiCPw6sX6Mb9wMs7Y8uennTDZr6e1xX3L0BW5MJY=;
	h=From:To:Cc:Subject:In-Reply-To:References:Date;
	b=YEmTZWq3dmUMH12jc/DFu/P4OzcULMgWKzk+y8GZ2rhlb8n7qhyCDBCHw3xHKlFm9
	 KVFiUJuI8WqYf4gVlg0KIfDVESYWvU9coOvSXxaaEpQGfqw86+RrMazwrYVG7phoWz
	 8ULdotuRnveudrTehApXe/p3rsX97IhOHfDklWPuNSP8QP7jgjeqf9ReklwS9qgISR
	 s6UYCikKByY1nzH3/pR4dS8lA5/wXlDQiziSmJdE2KUBdAvlGGUFeSOJ/pgA9SUGOA
	 QKppWOWpDZWGMhV4kceQk+T/u8V6Uy/xLJZAj2+XZUEShBrRSDpJ+Eq5uMTH3UgVmT
	 lWqJi0DUTsDgQ==
From: Thomas Gleixner <tglx@kernel.org>
To: Sean Christopherson <seanjc@google.com>, Paolo Bonzini
 <pbonzini@redhat.com>, Ingo Molnar <mingo@redhat.com>, Borislav Petkov
 <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
 Kiryl Shutsemau <kas@kernel.org>, Sean Christopherson <seanjc@google.com>,
 "K. Y. Srinivasan" <kys@microsoft.com>, Haiyang Zhang
 <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, Dexuan Cui
 <decui@microsoft.com>, Long Li <longli@microsoft.com>, Ajay Kaher
 <ajay.kaher@broadcom.com>, Alexey Makhalov <alexey.makhalov@broadcom.com>,
 Jan Kiszka <jan.kiszka@siemens.com>, Andy Lutomirski <luto@kernel.org>,
 Peter Zijlstra <peterz@infradead.org>, Juergen Gross <jgross@suse.com>,
 Daniel Lezcano <daniel.lezcano@kernel.org>, John Stultz
 <jstultz@google.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>, Rick Edgecombe
 <rick.p.edgecombe@intel.com>, Vitaly Kuznetsov <vkuznets@redhat.com>,
 Broadcom internal kernel review list
 <bcm-kernel-feedback-list@broadcom.com>, Boris Ostrovsky
 <boris.ostrovsky@oracle.com>, Stephen Boyd <sboyd@kernel.org>,
 kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-coco@lists.linux.dev, linux-hyperv@vger.kernel.org,
 virtualization@lists.linux.dev, xen-devel@lists.xenproject.org, David
 Woodhouse <dwmw@amazon.co.uk>, Tom Lendacky <thomas.lendacky@amd.com>,
 Nikunj A Dadhania <nikunj@amd.com>, David Woodhouse <dwmw2@infradead.org>,
 Michael Kelley <mhklinux@outlook.com>
Subject: Re: [PATCH v4 02/47] x86/tsc: Add a standalone helpers for getting
 TSC info from CPUID.0x15
In-Reply-To: <20260529144435.704127-3-seanjc@google.com>
References: <20260529144435.704127-1-seanjc@google.com>
 <20260529144435.704127-3-seanjc@google.com>
Date: Fri, 05 Jun 2026 14:37:09 +0200
Message-ID: <87cxy55fka.ffs@fw13>
MIME-Version: 1.0
Content-Type: text/plain
X-purgate-ID: tlsNG-42698a/1780663034-22D77F3B-0CF458A2/0/0
X-purgate-type: clean
X-purgate-size: 362

On Fri, May 29 2026 at 07:43, Sean Christopherson wrote:
>  		cpuid(CPUID_LEAF_FREQ, &eax_base_mhz, &ebx, &ecx, &edx);
> -		crystal_khz = eax_base_mhz * 1000 *
> -			eax_denominator / ebx_numerator;
> +		info.crystal_khz = eax_base_mhz * 1000 *
> +			info.denominator / info.numerator;

Please get rid of this ugly line break. You have 100 characters.



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 14:42:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 14:42:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329558.1593648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVVkg-0001RA-GE; Fri, 05 Jun 2026 14:42:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329558.1593648; Fri, 05 Jun 2026 14: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 1wVVkg-0001QS-Bi; Fri, 05 Jun 2026 14:42:26 +0000
Received: by outflank-mailman (input) for mailman id 1329558;
 Fri, 05 Jun 2026 14:42:25 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wVVkf-0000zx-1R
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 14:42:25 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVVke-00E0r2-An
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 16:42:24 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a22e03d-2eae-0a2a0a5409dd-0a2a450c8d14-30
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 16:42:24 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a22e050-62f1-0a2a450c0019-d1558035bcf2-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 16:42:24 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-490b4e1ade7so21898635e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 07:42:24 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f3444fesm27983183f8f.20.2026.06.05.07.42.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Jun 2026 07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1780670544; x=1781275344; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Imr40tIWzjtp7/WEsCHL96//Q/hvgqYPNPpF2o2oPkk=;
        b=PPL3yOFCkFZS3u8DJCYH4jpSd9dQy7PGMVWgUVah3U/tH/eLdgkwuAUUU9bF/8yDEZ
         kDKi8BC5scvBW1UNSXkSgNWT9ZHKYGNC+dmveVhWYlS999drf8u2O7HawG0kTLtaLUqm
         lG3omwq/BFsa+cxGueGYZq2zWw3/1gxcuFeTU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780670544; x=1781275344;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=Imr40tIWzjtp7/WEsCHL96//Q/hvgqYPNPpF2o2oPkk=;
        b=k6dllhz/J9IqEMkI6IQSUmFawJLPfl5Npa4tntGMOJh70CBdAirEP5/835NNe3qKIB
         RwDqmAWEJQluCnlXHxvsR0GrmzRZl9FhtSqBT3d3LIhhY6vwYcqwZFx+JzksjF4XYyIt
         jc68fOzoWmR3yqTtrk0smJD+5kM234yZwEXQ444nu2/ccSm7OwLzeoyN3j0I/wpnOWM9
         40M6JlVkEqkmSqROIbApxTbfV4kAqPlwQN7/59isLAuvyuAxhFIhwoNLPbfaNIy2P0WL
         d/Wk4ZuScy3PWjDMGkoSavxNwcu6YSMqHfXxmkMQgXhztIKt/eQxkhot+8VVvNI446nM
         bk+g==
X-Gm-Message-State: AOJu0YylGi7vyCZJ+TLX412Q3zP7CSeMvhMCh91ZPvOWdJo5OP+GNu3G
	rzuH9REQTyKYFHRzzL7T80WDABx/PNKjFOtVbjXyJjTe5M4mJ53qXFXUBxxftoafimD02ZSGoxq
	iLfJG
X-Gm-Gg: Acq92OEpZ05d6a3qfS/Fzqke33LB5o/UcBzz79S4sZIN68D/DvWtG2pc8DvJZe0fSoY
	4gIX8g+9wec41zqgGaSqcx3O9uHsQ8sEtDRl2zpyxHRBjgL93thDHVBxflGcJ3lBMOiWhLqHPkJ
	LLNqg/MDEhKYqvtKFUStM/oPzHCZZLjwZPVrdfGoqCzo59K/kokm6oxiFEZ9j18cPAU8X1fMc+w
	ADJLViJZorcE2KZjMBBOy/TFVYN0iRVX4tAnKL65ZrE/gJFZ/vYnjHOWy2MD7QDWaa+DxVROPy3
	gWi6a8dMIprg6qmv6o7BQyPJN7sIhvOp8vzWny9TkqRQp+o/WCl5YhtzmAPqkKp8DqYv+IjWqMy
	q29Yhcw9LeJrhOIT0TleTBYI5dO21Y1w+/yofT9T+8EkMtYUTSKfc2XNCd9KCuO9ZuRnJYx6+kB
	/MDg/ZrXlcvuzWQsxVldGYzowqSEbGDNWGmUBBWZoSIkrUm7rcHLIDfvxWncGB1XabYa2n4xAHQ
	0ffQO84Db1v/fjuUTBBAB6/zg==
X-Received: by 2002:a05:600c:3153:b0:490:b8c0:d46a with SMTP id 5b1f17b1804b1-490c2604790mr63419865e9.22.1780670543616;
        Fri, 05 Jun 2026 07:42: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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 5/6] CI: Update Fedora to 43
Date: Fri,  5 Jun 2026 15:42:12 +0100
Message-Id: <20260605144213.2749656-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260605144213.2749656-1-andrew.cooper3@citrix.com>
References: <20260605144213.2749656-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1780670544-E3F7ACF5-F76269E8/10/63158204843
X-purgate-type: spam
X-purgate-size: 2265

Swap yajl for json-c, given the deprecation of the former.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Juergen Gross <jgross@suse.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 .../fedora/{41-x86_64.dockerfile => 43-x86_64.dockerfile} | 4 ++--
 automation/gitlab-ci/build.yaml                           | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)
 rename automation/build/fedora/{41-x86_64.dockerfile => 43-x86_64.dockerfile} (95%)

diff --git a/automation/build/fedora/41-x86_64.dockerfile b/automation/build/fedora/43-x86_64.dockerfile
similarity index 95%
rename from automation/build/fedora/41-x86_64.dockerfile
rename to automation/build/fedora/43-x86_64.dockerfile
index e33329aedc9e..b748ef09cf3c 100644
--- a/automation/build/fedora/41-x86_64.dockerfile
+++ b/automation/build/fedora/43-x86_64.dockerfile
@@ -1,5 +1,5 @@
 # syntax=docker/dockerfile:1
-FROM --platform=linux/amd64 fedora:41
+FROM --platform=linux/amd64 fedora:43
 LABEL maintainer.name="The Xen Project"
 LABEL maintainer.email="xen-devel@lists.xenproject.org"
 
@@ -41,7 +41,7 @@ RUN <<EOF
         acpica-tools
         # libxl
         libuuid-devel
-        yajl-devel
+        json-c-devel
         # xen-foreign
         diffutils
         # RomBIOS
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 6d27cc8eb613..061977872f5b 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -607,15 +607,15 @@ debian-13-x86_32-gcc-debug:
   variables:
     CONTAINER: debian:13-x86_32
 
-fedora-41-x86_64-gcc:
+fedora-43-x86_64-gcc:
   extends: .gcc-x86-64-build
   variables:
-    CONTAINER: fedora:41-x86_64
+    CONTAINER: fedora:43-x86_64
 
-fedora-41-x86_64-gcc-debug:
+fedora-43-x86_64-gcc-debug:
   extends: .gcc-x86-64-build-debug
   variables:
-    CONTAINER: fedora:41-x86_64
+    CONTAINER: fedora:43-x86_64
 
 ubuntu-18.04-x86_64-gcc:
   extends: .gcc-x86-64-build
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 14:42:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 14:42:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329554.1593612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVVkb-0000YX-D6; Fri, 05 Jun 2026 14:42:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329554.1593612; Fri, 05 Jun 2026 14:42: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 1wVVkb-0000YQ-9q; Fri, 05 Jun 2026 14:42:21 +0000
Received: by outflank-mailman (input) for mailman id 1329554;
 Fri, 05 Jun 2026 14:42:20 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wVVka-0000LL-Al
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 14:42:20 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVVkY-00BGpY-OE
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 16:42:18 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a22e02e-bab6-0a2a0a5309dd-0a2a4509b374-46
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 16:42:18 +0200
Received: from [209.85.221.47] (helo=mail-wr1-f47.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a22e04a-2497-0a2a45090019-d155dd2fb9d9-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 16:42:18 +0200
Received: by mail-wr1-f47.google.com with SMTP id
 ffacd0b85a97d-4602e2a0372so1216938f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 07:42:18 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f3444fesm27983183f8f.20.2026.06.05.07.42.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Jun 2026 07:42: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1780670538; x=1781275338; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rWAhmwQucWE34LfQRYW6OuBb9le+XJUC1EZpZR1/Wv0=;
        b=naW08YQ9dEJ+hNki4bY8PvpiptF3U4SoURXxDGRb342ukoH5TlKmEe6oUuvE8BGClR
         6v0joYhUN0nUajaMO8YLxaD+oMej3UhQwHg/TqW7l7Kh3V9Tqua9EGIPLFCZyw9PnLzt
         YEZbE+YT+esyNxyEImXlo5zz3Dw4PAasQT8M8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780670538; x=1781275338;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=rWAhmwQucWE34LfQRYW6OuBb9le+XJUC1EZpZR1/Wv0=;
        b=S+JyD2zmch8DzqvekEZsQ0epOshFQgfjNHIQ9pNkXnGTag+YPZcEX1if5lXWkmpcLU
         HqWt7Y/2hHqAYnw2RzYWR+L678KF9QE39XvLVjOpG+Adf+9Vj6IFQvkoUKfpzqkFEt1n
         jorMbwoUf0NN2smyJL7AouY8r/VA1MqVZZ0clLlfIv6ah7NATOQf4u00UXNep4XBnfxc
         fMESOOBv5kCc6pbwF+ajMgVB2I+fCQkh9OdddH4AAMLZmb5r9AjAYCFdy6tsM9xv7mzX
         cm1j3gEDyn9mEShaw4U4m5GrS5vbmkWjhTxTBC+D3aLTEkonG3inYK6pne2y53Ip2szt
         uUBg==
X-Gm-Message-State: AOJu0Yz/IU4MM1H9CZHySKtGNKilphYJ8gRGZgjEg0XRumSvaZ7vXMz2
	zAqmmeBUoN08FaZ78758Kb3hIt/tWGeFXWVzyS0GkB2QPNBdG5cSTIfr7yeVX0w77Dq3VdXFHbI
	iJXFc
X-Gm-Gg: Acq92OFLhDz2VcHgQRAVhpTe/M1iB80HoE0Lq4SP+o+yO6XTRQ/99nv/N9puDYIoGfq
	njTcmA9bpoV4v22/apNWLlIC8MEPU0JmmYg7N4RMpcnYuAPjvTF3CnO0HPcenetiuN05kuqRtMl
	pxHDFyGcs0ICNRh6IDrb2CZ/jYJ6L1gIPRBppA33XxcOEGE6mey0H+j9kJh7aEk5fPL3wxpCjFI
	q4XgltS/C5hX1WYfmZgklUtswtUVguOaFJBDv4svTDK3oBGKqJEVq692KTjc4UMjwfv/yTH+O1n
	bl2kiGUYxjmF04rHVy0tKxkTwrc8EoMcdXJ/Q1Qgx8wH0EOcKvjAuRVAlNppjWiQ8s49h5Sk2sm
	peinW9BjCKkdKozcmOJv34fL/3GBJQVF3Xx+snFILAGCAsgnnYOKQhWwqW+hoZerA+d3KTdN4+N
	+iUgjgX5NGbJeh8R7DRcOAhHNxttsmquG6YnFOCLhcdsbMK+vvf6CDWhGRse+WbtqIuhUS2HKyZ
	+XEWxTCcbUGSSk=
X-Received: by 2002:adf:f78b:0:b0:460:1957:1b33 with SMTP id ffacd0b85a97d-460304ec1b8mr4748520f8f.3.1780670537824;
        Fri, 05 Jun 2026 07:42: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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 1/6] CI: Drop test-artefacts/Makefile
Date: Fri,  5 Jun 2026 15:42:08 +0100
Message-Id: <20260605144213.2749656-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260605144213.2749656-1-andrew.cooper3@citrix.com>
References: <20260605144213.2749656-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1780670538-88B73A53-68F8B845/10/73395122804
X-purgate-type: spam
X-purgate-size: 1594

This is unused since commit 3c0c177ff904 ("CI: Switch qemu-arm* jobs to using
the distro provided QEMU"), and wants never to return.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Juergen Gross <jgross@suse.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 automation/tests-artifacts/Makefile | 19 -------------------
 1 file changed, 19 deletions(-)
 delete mode 100644 automation/tests-artifacts/Makefile

diff --git a/automation/tests-artifacts/Makefile b/automation/tests-artifacts/Makefile
deleted file mode 100644
index 80a60a94f3f7..000000000000
--- a/automation/tests-artifacts/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-
-# the base of where these containers will appear
-REGISTRY := registry.gitlab.com/xen-project/xen/tests-artifacts
-CONTAINERS = $(subst .dockerfile,,$(wildcard */*.dockerfile))
-
-help:
-	@echo "Containers to build and export tests artifacts."
-	@echo "To build one run 'make ARTIFACT/VERSION'. Available containers:"
-	@$(foreach file,$(sort $(CONTAINERS)),echo ${file};)
-	@echo "To push container builds, set the env var PUSH"
-
-%: %.dockerfile ## Builds containers
-	$(DOCKER_CMD) build --pull -t $(REGISTRY)/$(@D):$(@F) -f $< $(<D)
-	@if [ ! -z $${PUSH+x} ]; then \
-		$(DOCKER_CMD) push $(REGISTRY)/$(@D):$(@F); \
-	fi
-
-.PHONY: all
-all: $(CONTAINERS)
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 14:42:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 14:42:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329557.1593636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVVkf-000136-8G; Fri, 05 Jun 2026 14:42:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329557.1593636; Fri, 05 Jun 2026 14:42:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVVkf-00012l-2R; Fri, 05 Jun 2026 14:42:25 +0000
Received: by outflank-mailman (input) for mailman id 1329557;
 Fri, 05 Jun 2026 14:42:23 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wVVkd-0000m1-FT
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 14:42:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVVkc-00BGpY-SC
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 16:42:22 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a22e03f-bab6-0a2a0a5309dd-0a2a450baf3c-24
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 16:42:22 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a22e04e-212f-0a2a450b0019-d155802ef124-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 16:42:22 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-490b64c8311so23289905e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 07:42:22 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f3444fesm27983183f8f.20.2026.06.05.07.42.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Jun 2026 07:42: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1780670542; x=1781275342; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WHSitOhb+fGyBshbpHWrYGdo1A/rKyctL6BP8wXOLww=;
        b=jK6edHwLtF0f7Pjs7ecdI4SOe+gtBNR37yQB6VR9QfyqAzPB/m+WBhKk5VF2mDf6BO
         Pa9VdeJmIm9WLuEL/PYefidu8eQ2idKsD0rwm0OldRgiYu1PT8Qs4wJ/I5U/PbStud9I
         oPaRlaMJPmVy78kOcIYTpqirM6hPuf6zH0xZs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780670542; x=1781275342;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=WHSitOhb+fGyBshbpHWrYGdo1A/rKyctL6BP8wXOLww=;
        b=duu6m2tBlYV26BKK52a3zULTkTTrgM8vW88mq71nYqmcnCae9nXFw3nRp9/51k+qr2
         0E2WFBCFSVnZ5ZeznFkXc+S9o+lqb+Z1TarftFduwksCoY2gCF8vrhbF6Z9t7rjDUmJ6
         Lnpjbj2k1YKR2CXpd+kJ/ih9eOhImtTIQbCGnKeRYzBymks2xOEHJUAuJvb/B9v+/stj
         cIec4/GsY7+5U7I76wdEmZkW3zUkosEIeNaLKmpTJ/qgcdTevQOHfcWW1wAeUqVVdLlh
         xLgTkO4owhtkpbQ6U0VqIgjncZ8yu6rKg1Ew2aM0Tb4l09Dj7LEZviB1o3UE7Dfy5wb5
         +hDA==
X-Gm-Message-State: AOJu0YzB4uR8tPx2m4NViTHL68nMBvh1Sj2rHaOyj4XzG4nUKPQcA1hE
	ppm6duFmvqUvpPeT1ebejZAlcV1T8TOMXNzO0eFo5Qq+YsqsIJdKkIolIuXurUn9vbpC+9uxltx
	c7fFO
X-Gm-Gg: Acq92OHwHiiTlZkMNzqFu9e4tZchvOXN4ZSVSSVUWs9X7Dbi1I7EdukcJQc8uyl9hfb
	JPeckRcOh8dub3N6RJlddMFFTd56sxCAwgsB0C/yIjrO+3aYD1Gy+Rti+7JlamUsSAMHAIapZM7
	/l/528MwrTHKMvpakLJ/oqmls9poW+9XpW3xlPtWttzZ9tAF+b2+5bSjBFfka3M8OvteICjxi+a
	ywvSw5btxjqkd/cdn2j2qMVtDkIewm4xN+w4j5O8N47VmB+BPpVdMpItC7qhOxzxLGmkLS9VHwA
	+CUcCMvpJ/qjpjwpxvqoF2P9bG8UCUlVFaNr97b/WO8bx7VSphnRk4sxfpHvlQ/xsZY5+/ZnRri
	D9JwtR+iReEnfSrsdiDk+sxEVKirn8wZLe02HrDR6VyRP4HA03yVtx5xnzFkWKUf5E4wVCSnGZh
	RWrMnDh/aDaT6sPLgebXT2qqvOXata5AGbNA+a87/4+tc8gcbrQx0Ov12XMSJvZzc4bvs9ld1vl
	xxlLuqXUXPaIwzK4/WRfUxfEw==
X-Received: by 2002:a05:600c:3e0a:b0:490:b724:dbe3 with SMTP id 5b1f17b1804b1-490c25a07c4mr60870635e9.8.1780670542117;
        Fri, 05 Jun 2026 07:42: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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 4/6] CI: Add Ubuntu 26.04
Date: Fri,  5 Jun 2026 15:42:11 +0100
Message-Id: <20260605144213.2749656-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260605144213.2749656-1-andrew.cooper3@citrix.com>
References: <20260605144213.2749656-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1780670542-2087FF3B-9655E4F8/10/63158204843
X-purgate-type: spam
X-purgate-size: 3755

Swap yajl for json-c, given the deprecation of the former.

Add 26.04 GCC/Clang debug/non-debug jobs.  Drop the 24.04 debug jobs to keep
the overall job count down.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Juergen Gross <jgross@suse.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 .../build/ubuntu/26.04-x86_64.dockerfile      | 74 +++++++++++++++++++
 automation/gitlab-ci/build.yaml               | 22 ++++--
 2 files changed, 90 insertions(+), 6 deletions(-)
 create mode 100644 automation/build/ubuntu/26.04-x86_64.dockerfile

diff --git a/automation/build/ubuntu/26.04-x86_64.dockerfile b/automation/build/ubuntu/26.04-x86_64.dockerfile
new file mode 100644
index 000000000000..64729c00f2a6
--- /dev/null
+++ b/automation/build/ubuntu/26.04-x86_64.dockerfile
@@ -0,0 +1,74 @@
+# syntax=docker/dockerfile:1
+FROM --platform=linux/amd64 ubuntu:26.04
+LABEL maintainer.name="The Xen Project"
+LABEL maintainer.email="xen-devel@lists.xenproject.org"
+
+ENV DEBIAN_FRONTEND=noninteractive
+
+RUN <<EOF
+#!/bin/bash
+    set -e
+
+    useradd --create-home user
+
+    apt-get update
+
+    DEPS=(
+        # Xen
+        bison
+        build-essential
+        checkpolicy
+        clang
+        flex
+        python3-minimal
+
+        # Tools (general)
+        ca-certificates
+        cpio
+        git-core
+        gzip
+        patch
+        perl
+        pkg-config
+        wget
+        # libxenguest dombuilder
+        libbz2-dev
+        libzstd-dev
+        liblzo2-dev
+        liblzma-dev
+        zlib1g-dev
+        # libacpi
+        acpica-tools
+        # libxl
+        uuid-dev
+        libjson-c-dev
+        # RomBIOS
+        bcc
+        bin86
+        # xentop
+        libncurses5-dev
+        # Python bindings
+        python3-dev
+        python3-setuptools
+        # Ocaml bindings/oxenstored
+        ocaml
+        ocaml-findlib
+
+        # Stubdom download/extract
+        bzip2
+
+        # Qemu build
+        libglib2.0-dev
+        libpixman-1-dev
+        meson
+        ninja-build
+        python3-packaging
+        python3-venv
+    )
+
+    apt-get -y --no-install-recommends install "${DEPS[@]}"
+    rm -rf /var/lib/apt/lists/*
+EOF
+
+USER user
+WORKDIR /build
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 5a933e42f1ab..6d27cc8eb613 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -652,20 +652,30 @@ ubuntu-24.04-x86_64-clang:
   variables:
     CONTAINER: ubuntu:24.04-x86_64
 
-ubuntu-24.04-x86_64-clang-debug:
-  extends: .clang-x86-64-build-debug
+ubuntu-24.04-x86_64-gcc:
+  extends: .gcc-x86-64-build
   variables:
     CONTAINER: ubuntu:24.04-x86_64
 
-ubuntu-24.04-x86_64-gcc:
+ubuntu-26.04-x86_64-clang:
+  extends: .clang-x86-64-build
+  variables:
+    CONTAINER: ubuntu:26.04-x86_64
+
+ubuntu-26.04-x86_64-clang-debug:
+  extends: .clang-x86-64-build-debug
+  variables:
+    CONTAINER: ubuntu:26.04-x86_64
+
+ubuntu-26.04-x86_64-gcc:
   extends: .gcc-x86-64-build
   variables:
-    CONTAINER: ubuntu:24.04-x86_64
+    CONTAINER: ubuntu:26.04-x86_64
 
-ubuntu-24.04-x86_64-gcc-debug:
+ubuntu-26.04-x86_64-gcc-debug:
   extends: .gcc-x86-64-build-debug
   variables:
-    CONTAINER: ubuntu:24.04-x86_64
+    CONTAINER: ubuntu:26.04-x86_64
 
 opensuse-leap-15.6-clang:
   extends: .clang-x86-64-build
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 14:42:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 14:42:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329556.1593631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVVke-000105-Uw; Fri, 05 Jun 2026 14:42:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329556.1593631; Fri, 05 Jun 2026 14:42: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 1wVVke-0000zy-Rs; Fri, 05 Jun 2026 14:42:24 +0000
Received: by outflank-mailman (input) for mailman id 1329556;
 Fri, 05 Jun 2026 14:42:22 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wVVkc-0000la-Rj
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 14:42:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVVkc-00BGpY-8C
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 16:42:22 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a22e03f-bab6-0a2a0a5309dd-0a2a450baf3c-22
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 16:42:22 +0200
Received: from [209.85.221.42] (helo=mail-wr1-f42.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a22e04d-212f-0a2a450b0019-d155dd2accbe-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 16:42:22 +0200
Received: by mail-wr1-f42.google.com with SMTP id
 ffacd0b85a97d-45ef41adbc1so1548441f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 07:42:22 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f3444fesm27983183f8f.20.2026.06.05.07.42.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Jun 2026 07:42: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1780670541; x=1781275341; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=559iRiXpZww5JkKU3CYk9jpFBrwpL8p7P+3OMcMAmEw=;
        b=vq/1X13Y0RmhePpJONdpmDg6o7k9Lr+eQRxxbZMeyHEza7o94LDsbMvdUEGoszXRmg
         0N6LWzG2mBiLkQkCPDgWMa/ia6NwCgPLGz0ijNEOSNw8mnWed6vl+LrWNOhnRf4O9hgz
         aYMsuit3U45B9SNUSU2bm3CboiBL8m7xG6ggo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780670541; x=1781275341;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=559iRiXpZww5JkKU3CYk9jpFBrwpL8p7P+3OMcMAmEw=;
        b=C99c/KIA0DV82KMYCsjDDcdOyrPkZhfLNs1ExDjXsRfx1d7qs9BCdqVp/VO2rfEsfj
         6+9FrGUhbK8WZBod4+1oILzWok8/G9hqU57yMdxiO+qecmjf5Bi9VaQj71BC1Ix0Bmxf
         Aq1c9ojWXVlAnPFoFlajDjzve6LHMBhAhbLJ3APVub7IYjt2y1jGwj8AyLo537ZoC9Dx
         0F78wczp6aOo7iixYLPylGQ+w43go/oqJxQppmQRholk5PnuFY8N7Xo3IXv+HR/rFqWA
         u1ymPPsWr6EdAenU9KmRx+tj7/+accpwYZwxIvkq5SK+lgk/KfHE2zHsIeX7QISI4Rdr
         GbBQ==
X-Gm-Message-State: AOJu0YwhxjYDswEf0gTOqWozWM0X6OvzSCyqp8uigsyIXYX35QmnoRor
	xnd61lkludH4cXo7mSRqn0rxE7szFWp5BkAVBfFro9B1gYZlxJcn0M5ANGIzn6aFKMXzzWLAMdt
	SN0YQ
X-Gm-Gg: Acq92OFIk0zeWg+m2otseeEuGU7IxU8mYwVXrf6VKGl0yYPCHlsd5EorAs+NP2YGBEo
	FMIHYaSALOdvEqE2RTmdW3dlNEMxm4O0/9WPP4HHIW1bS+7qp2dy8rlbXqhPelASVlTbGGUJwN9
	tG64vDYjpUGpv5YbnTi8SdJ6/9FNCjwf3q9qNclc0hWXnYRpgPDkr+eYSc9yE6IatpQTCLhv0kJ
	nbVd6gg8bLyiYiSiZSIztNmf01WAfdkvT5uPHvFODU0oph8NH13X0o0tdABAwP5tjS6tER71yKN
	RKUieWxEG+r3gMwZtN5taz/m3DG8vU14NCudf3L5WZfXFY9aVgeQaCLMWrRCObCcd0k1e5HkCY8
	7JkVyUBmFgwwTEGxp035HvScrPcVPxdOTKWRBgrGxVT3lHypnLpZx7imjPOOL+FFaRH33K9FVmA
	RB0Pl+edS7vmk+2oToHYbE9Ccm5TFKPqDz1m+xZmzxIn6aeyG7eEYFfv7Eql/V4r1x8ftIlJtT2
	Wla69TcWeBPdQc=
X-Received: by 2002:a05:6000:4697:b0:45e:739b:3e43 with SMTP id ffacd0b85a97d-46030186d90mr4525912f8f.0.1780670541140;
        Fri, 05 Jun 2026 07:42: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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 3/6] CI: Drop Ubuntu 16.04
Date: Fri,  5 Jun 2026 15:42:10 +0100
Message-Id: <20260605144213.2749656-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260605144213.2749656-1-andrew.cooper3@citrix.com>
References: <20260605144213.2749656-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1780670542-19165F3B-CD4048D6/10/63158204843
X-purgate-type: spam
X-purgate-size: 3087

Ubuntu 16.04 is now fully out of support.

Introduce an 18.04 GCC Debug job in lieu of losing the 16.04 job.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Juergen Gross <jgross@suse.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 .../build/ubuntu/16.04-x86_64.dockerfile      | 65 -------------------
 automation/gitlab-ci/build.yaml               | 11 +---
 2 files changed, 3 insertions(+), 73 deletions(-)
 delete mode 100644 automation/build/ubuntu/16.04-x86_64.dockerfile

diff --git a/automation/build/ubuntu/16.04-x86_64.dockerfile b/automation/build/ubuntu/16.04-x86_64.dockerfile
deleted file mode 100644
index 72a46389fa0d..000000000000
--- a/automation/build/ubuntu/16.04-x86_64.dockerfile
+++ /dev/null
@@ -1,65 +0,0 @@
-# syntax=docker/dockerfile:1
-FROM --platform=linux/amd64 ubuntu:16.04
-LABEL maintainer.name="The Xen Project"
-LABEL maintainer.email="xen-devel@lists.xenproject.org"
-
-ENV DEBIAN_FRONTEND=noninteractive
-
-RUN <<EOF
-#!/bin/bash
-    set -e
-
-    useradd --create-home user
-
-    apt-get update
-
-    DEPS=(
-        # Xen
-        bison
-        build-essential
-        checkpolicy
-        clang
-        flex
-        python3-minimal
-
-        # Tools (general)
-        ca-certificates
-        cpio
-        git-core
-        gzip
-        patch
-        perl
-        pkg-config
-        wget
-        # libxenguest dombuilder
-        libbz2-dev
-        libzstd-dev
-        liblzo2-dev
-        liblzma-dev
-        zlib1g-dev
-        # libacpi
-        acpica-tools
-        # libxl
-        uuid-dev
-        libyajl-dev
-        # RomBIOS
-        bcc
-        bin86
-        # xentop
-        libncurses5-dev
-        # Python bindings
-        python3-dev
-        # Ocaml bindings/oxenstored
-        ocaml-nox
-        ocaml-findlib
-
-        # Stubdom download/extract
-        bzip2
-    )
-
-    apt-get -y --no-install-recommends install "${DEPS[@]}"
-    rm -rf /var/lib/apt/lists/*
-EOF
-
-USER user
-WORKDIR /build
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 0e5fb26c853e..5a933e42f1ab 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -617,18 +617,13 @@ fedora-41-x86_64-gcc-debug:
   variables:
     CONTAINER: fedora:41-x86_64
 
-ubuntu-16.04-x86_64-gcc:
+ubuntu-18.04-x86_64-gcc:
   extends: .gcc-x86-64-build
   variables:
-    CONTAINER: ubuntu:16.04-x86_64
+    CONTAINER: ubuntu:18.04-x86_64
 
-ubuntu-16.04-x86_64-gcc-debug:
+ubuntu-18.04-x86_64-gcc-debug:
   extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: ubuntu:16.04-x86_64
-
-ubuntu-18.04-x86_64-gcc:
-  extends: .gcc-x86-64-build
   variables:
     CONTAINER: ubuntu:18.04-x86_64
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 14:42:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 14:42:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329555.1593622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVVkd-0000mO-Oa; Fri, 05 Jun 2026 14:42:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329555.1593622; Fri, 05 Jun 2026 14:42:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVVkd-0000mG-KP; Fri, 05 Jun 2026 14:42:23 +0000
Received: by outflank-mailman (input) for mailman id 1329555;
 Fri, 05 Jun 2026 14:42:21 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wVVkb-0000ca-Q1
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 14:42:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVVkb-007rPg-6g
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 16:42:21 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a22e044-5cb7-0a2a0a5109dd-0a2a450ac698-20
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 16:42:21 +0200
Received: from [209.85.128.41] (helo=mail-wm1-f41.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a22e04c-56b3-0a2a450a0019-d1558029ed4b-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 16:42:20 +0200
Received: by mail-wm1-f41.google.com with SMTP id
 5b1f17b1804b1-490ac357c55so24191315e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 07:42:20 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f3444fesm27983183f8f.20.2026.06.05.07.42.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Jun 2026 07:42:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1780670540; x=1781275340; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mQEQfqBsSeliopGBCIw5LmeQFTkv0Y/GgRDYWXBZgps=;
        b=MZdTXcHeukN/N/iRasFwrXSfUyuJc2HUspQHYAwQ8lCrpfvdPio3F3n5knpt/zNpq4
         TbwflCj3MTU76CDZLv8NDPynpSLWUloZRuTR1X4SZw2R2vFz31DzducnjzRVqyGIQiZV
         uGStxtJIjbVjPCpDv4uOtKSGknhc6NF62OtYM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780670540; x=1781275340;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=mQEQfqBsSeliopGBCIw5LmeQFTkv0Y/GgRDYWXBZgps=;
        b=E6FiBSvGDOJc1+E3BgfxWjoGjoFs9MMW0fUx6dcZ7WFlLqNe7Ltl+EOh2CBp0nOR4Q
         NkeK86SZRldvaTl0/iVM9Wg+8/OnOCAN7svYJrDzZgCWw8cViF4CFXGqQK2FlZYpS8CD
         MR1JdovEZx0D0f5OwnilpDb0i44K529x+3Z0O3d+985qNkRmqVIC4koE5uFoBEVs/KlI
         E0LvwqatLf84YIEdd2APsoiXwxB2F1CJ3omkvBDw5niCmsoWsx2eDCOcFfQ10eWRAmlE
         Rn+0B/9hxZgEYkRig8GZm7ffchHuZWE4hQc0SnkS5cTC8F89fhzIG5CzvHQGDElk+OgU
         rD6w==
X-Gm-Message-State: AOJu0Yw3iRfer/xgSNtlyqvUGiNgrfgQYlKYP7iUY3kHlh1+xLIP0NK9
	Ut8PiA+lfmYDqr5djtU+VjfrnwQqTUWtb/57Y/+0W4zhbHSp6alGPs9x1uMZbw5As3TbB+IfRot
	/u2kA
X-Gm-Gg: Acq92OFKJa2mkwseMzYicXGZQQubPCob2xV2GpgbY1ipPhyTw0FB+plfj/RMWP1jFH+
	MYWXI0hEzIlToGvbZJazWo0qywXLzKw2UAfShQRM3Ft+/1fC+D2KStslRdM+Oqr9Ut9/mIWvxXI
	Q7Yx2ShhZkWul8xdM7NkqyVMbXV7RxTOrIvhzyG0fBSKJ0lgOhUqTQZN5XwsDtrPQwbMFSf3Q5g
	IfjYfLF9vvjObxOle5HEJVbd+fRmPISdZzw50hRVPGnA5wqvNAc3HUauMDO9Y/+qRmOutKXgIDM
	U4usSrYQ6yFl0obwL+Wo+1AB5fEqf0P+HlDMIB0ey+p/ygip23HxZ4edPIDiYyoJUdRnYMZczfx
	o9ltHfyk/laRaSEMvGjzosSfcfhwHSsk7S0A781HG2DUB/UuBPiKqaXrDOr8VVfUPcN6A41BVv9
	irkfU8fkiVOI3dzsS29xBHgqDDnefloXKe6xY7JXZXnbXh0h0eX0qg3SHpuqwvaUWebC1hMdq7V
	0U4mMD4ll8FwFs=
X-Received: by 2002:a05:600c:358d:b0:490:958f:2a5e with SMTP id 5b1f17b1804b1-490c25b22d7mr71221475e9.13.1780670539833;
        Fri, 05 Jun 2026 07:42: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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 2/6] CI: Swap ocaml-nox for ocaml in newer Debian/Ubuntu
Date: Fri,  5 Jun 2026 15:42:09 +0100
Message-Id: <20260605144213.2749656-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260605144213.2749656-1-andrew.cooper3@citrix.com>
References: <20260605144213.2749656-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1780670540-7D1848B7-51E8B651/10/73395122804
X-purgate-type: spam
X-purgate-size: 5304

Ocaml 4.08 and earlier had the compiler package depend on graphics, and
therefore on X.  Ocaml 4.09 and later dropped this dependency.

Debian and Ubuntu versions with Ocaml 4.08 and earlier (which are Debian
Bullseye/11, and Ubuntu Focal/20.04 and earlier) had ocaml-nox packages with
this dependency stripped, which we use to keep the size of the containers
down.

In newer versions of Debian and Ubuntu, ocaml-nox is just a transitional
package referring back to ocaml.  Ubuntu Resolute/26.04 has finally removed
this transitional package.  For all versions where ocaml-nox is just a
transitional package, swap to the ocaml package.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Juergen Gross <jgross@suse.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 automation/build/debian/12-arm64v8.dockerfile   | 2 +-
 automation/build/debian/12-x86_32.dockerfile    | 2 +-
 automation/build/debian/12-x86_64.dockerfile    | 2 +-
 automation/build/debian/13-arm64v8.dockerfile   | 2 +-
 automation/build/debian/13-x86_32.dockerfile    | 2 +-
 automation/build/debian/13-x86_64.dockerfile    | 2 +-
 automation/build/ubuntu/22.04-x86_64.dockerfile | 2 +-
 automation/build/ubuntu/24.04-x86_64.dockerfile | 2 +-
 8 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/automation/build/debian/12-arm64v8.dockerfile b/automation/build/debian/12-arm64v8.dockerfile
index c0e08a010f6a..5cc4de822cc6 100644
--- a/automation/build/debian/12-arm64v8.dockerfile
+++ b/automation/build/debian/12-arm64v8.dockerfile
@@ -46,7 +46,7 @@ RUN <<EOF
         # Golang bindings
         golang-go
         # Ocaml bindings/oxenstored
-        ocaml-nox
+        ocaml
         ocaml-findlib
 
         # for test phase, qemu-* jobs
diff --git a/automation/build/debian/12-x86_32.dockerfile b/automation/build/debian/12-x86_32.dockerfile
index 447152d7e5e4..3457eca78203 100644
--- a/automation/build/debian/12-x86_32.dockerfile
+++ b/automation/build/debian/12-x86_32.dockerfile
@@ -38,7 +38,7 @@ RUN <<EOF
         python3-dev
         python3-setuptools
         # Ocaml bindings/oxenstored
-        ocaml-nox
+        ocaml
         ocaml-findlib
     )
 
diff --git a/automation/build/debian/12-x86_64.dockerfile b/automation/build/debian/12-x86_64.dockerfile
index 4e533ee879fd..afb16f371126 100644
--- a/automation/build/debian/12-x86_64.dockerfile
+++ b/automation/build/debian/12-x86_64.dockerfile
@@ -50,7 +50,7 @@ RUN <<EOF
         # Golang bindings
         golang-go
         # Ocaml bindings/oxenstored
-        ocaml-nox
+        ocaml
         ocaml-findlib
 
         # for test phase, qemu-* jobs
diff --git a/automation/build/debian/13-arm64v8.dockerfile b/automation/build/debian/13-arm64v8.dockerfile
index b9062ee8b443..1a29ad153cea 100644
--- a/automation/build/debian/13-arm64v8.dockerfile
+++ b/automation/build/debian/13-arm64v8.dockerfile
@@ -46,7 +46,7 @@ RUN <<EOF
         # Golang bindings
         golang-go
         # Ocaml bindings/oxenstored
-        ocaml-nox
+        ocaml
         ocaml-findlib
 
         # for test phase, qemu-* jobs
diff --git a/automation/build/debian/13-x86_32.dockerfile b/automation/build/debian/13-x86_32.dockerfile
index 464b4fc55e38..204d3c1e6dd0 100644
--- a/automation/build/debian/13-x86_32.dockerfile
+++ b/automation/build/debian/13-x86_32.dockerfile
@@ -38,7 +38,7 @@ RUN <<EOF
         python3-dev
         python3-setuptools
         # Ocaml bindings/oxenstored
-        ocaml-nox
+        ocaml
         ocaml-findlib
     )
 
diff --git a/automation/build/debian/13-x86_64.dockerfile b/automation/build/debian/13-x86_64.dockerfile
index 2c6c9d4a5098..ebf28a69e278 100644
--- a/automation/build/debian/13-x86_64.dockerfile
+++ b/automation/build/debian/13-x86_64.dockerfile
@@ -50,7 +50,7 @@ RUN <<EOF
         # Golang bindings
         golang-go
         # Ocaml bindings/oxenstored
-        ocaml-nox
+        ocaml
         ocaml-findlib
 
         # for test phase, qemu-* jobs
diff --git a/automation/build/ubuntu/22.04-x86_64.dockerfile b/automation/build/ubuntu/22.04-x86_64.dockerfile
index 6ae7f4faa859..47aadc0548ab 100644
--- a/automation/build/ubuntu/22.04-x86_64.dockerfile
+++ b/automation/build/ubuntu/22.04-x86_64.dockerfile
@@ -51,7 +51,7 @@ RUN <<EOF
         python3-dev
         python3-setuptools
         # Ocaml bindings/oxenstored
-        ocaml-nox
+        ocaml
         ocaml-findlib
 
         # Stubdom download/extract
diff --git a/automation/build/ubuntu/24.04-x86_64.dockerfile b/automation/build/ubuntu/24.04-x86_64.dockerfile
index 84777d188c0d..a41632d5cf6c 100644
--- a/automation/build/ubuntu/24.04-x86_64.dockerfile
+++ b/automation/build/ubuntu/24.04-x86_64.dockerfile
@@ -51,7 +51,7 @@ RUN <<EOF
         python3-dev
         python3-setuptools
         # Ocaml bindings/oxenstored
-        ocaml-nox
+        ocaml
         ocaml-findlib
 
         # Stubdom download/extract
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 14:42:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 14:42:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329553.1593604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVVka-0000LU-6S; Fri, 05 Jun 2026 14:42:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329553.1593604; Fri, 05 Jun 2026 14:42:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVVka-0000LN-3a; Fri, 05 Jun 2026 14:42:20 +0000
Received: by outflank-mailman (input) for mailman id 1329553;
 Fri, 05 Jun 2026 14:42:19 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper3@citrix.com>) id 1wVVkZ-0000LD-15
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 14:42:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVVkY-007rPg-11
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 16:42:18 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a22e03a-5cb7-0a2a0a5109dd-0a2a4505b646-28
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 16:42:17 +0200
Received: from [209.85.221.46] (helo=mail-wr1-f46.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a22e049-aaa8-0a2a45050019-d155dd2eede9-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 16:42:17 +0200
Received: by mail-wr1-f46.google.com with SMTP id
 ffacd0b85a97d-45eeba68948so1318226f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 07:42:17 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f3444fesm27983183f8f.20.2026.06.05.07.42.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Jun 2026 07:42: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1780670537; x=1781275337; 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=h5vYZ/rkpgKfFpxFCKmaZZBwe24StYh9tUaWXPqFAVM=;
        b=lEbEqnhHhFFb+jWS1E09Q8U3bvIYkbGM0JGdIjNrkv7vl0fWiAztI/dLhKyv22CkT4
         J0UbZEArfyl+rAgXcskgtWayzaco2E2Knxqy5wz01AdzWruNSM6RnwKy8uxvWEmI4oYP
         uVQ2hTiWnNeUTF9pSXRi9v3SNY8zVAV2uea4U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780670537; x=1781275337;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=h5vYZ/rkpgKfFpxFCKmaZZBwe24StYh9tUaWXPqFAVM=;
        b=FP9ev5zjNL8DjuXD8OeJKWNd4nv1zEYypMwtkK39QJ/1ucunkPo2ctweqCCX5r6cbN
         UnFTAK/g2AZzf6NR+4O3CY35ZCcbSH5PGPepBtDYf08Hs3YN+4vCbZC4Iqj7VUcbghfb
         BfNOXoBguALGXWglu294QS3F/IXmcWVlN0XYckvTJbsiDWcOPO478B2oAdoN08czGRlq
         Axtq65/lsibkBeFNaDbp/KJ3B4J8nOCeox8PnyLYfrJXBbB7DJXzpKkdZ9xETgieknm3
         E44mGi48eq0MJ3KCxVr5A1A74WSYkCW4nDWNWfDn7Ln/aJZjnrJLGMLg25VhXLEbEkOv
         oXhg==
X-Gm-Message-State: AOJu0YzDOpdfx2n71oMc0+9YxFyXDzZG0zBjWxWhDgQW3yUT1HESIOti
	lU2ZEl6ZRnunuct8mnqcZ+kwCSGCV8K/+mj3/iQXl+JlcAdFwbUHtc0pUSDkCvDz2jDl/ZCxGdn
	JuN5k
X-Gm-Gg: Acq92OHLqEtDBR7a2jEjRUIpjaHEU2qY7SIk4f6Hvmvql2RbetxEgL7AXBf0Oe/QkpT
	yt4ChQJzG7Yfr4tyZH3qw/hf4CE0WR9XlgYAG1yk5LKMQcNaVjoBg9Gif9kzpNcHTceXFnVT/QW
	qo2cyrgd9kcTSHVk+dnP0qCjZu1i+Wx1R1oOVaCOL6K8y0na9Q/PhbMhJBrJ3XIVeio+x/gLbXu
	vTdGf7EnXOuQVjx9V28msfSmFp/MmITj65IoRwz8bKcB0eMjVtSOfr6jMJgpvMs9tIqwVsnvz2q
	Ft5sqHqHcdcc3mjNz+1KKxohSanSpgN3HZ+UDC3bVE6SPpwPS1L8EuOm8Hrn66rPXm1t8RCMN+u
	Ac1yrxnHTVOz3XajCxpVdzlcZtS40nTkY+PnZK5f+EfNr5J5z/YI1IzPWYJhDBpq4+PmM7Dk4qQ
	sb3drde6ZaGGXM9qDZtCijLQ9CxuX+opw+J52TaURmEjZm5lgwYS08D6A9PA1Q2k0nsaeYilKEh
	W2OUgBlYJznAjY=
X-Received: by 2002:a05:6000:468e:b0:460:2477:2284 with SMTP id ffacd0b85a97d-46030630b07mr4204560f8f.39.1780670536811;
        Fri, 05 Jun 2026 07:42: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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH for-4.22 0/6] CI: Update distros for build tests
Date: Fri,  5 Jun 2026 15:42:07 +0100
Message-Id: <20260605144213.2749656-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
X-purgate-ID: tlsNG-c201ff/1780670537-D9772443-3F6BB843/0/0
X-purgate-type: clean
X-purgate-size: 1518

Refresh which distros we do build testing with

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

Andrew Cooper (6):
  CI: Drop test-artefacts/Makefile
  CI: Swap ocaml-nox for ocaml in newer Debian/Ubuntu
  CI: Drop Ubuntu 16.04
  CI: Add Ubuntu 26.04
  CI: Update Fedora to 43
  CI: Update Opensuse 15.6 to 16.0

 automation/build/debian/12-arm64v8.dockerfile |  2 +-
 automation/build/debian/12-x86_32.dockerfile  |  2 +-
 automation/build/debian/12-x86_64.dockerfile  |  2 +-
 automation/build/debian/13-arm64v8.dockerfile |  2 +-
 automation/build/debian/13-x86_32.dockerfile  |  2 +-
 automation/build/debian/13-x86_64.dockerfile  |  2 +-
 ...x86_64.dockerfile => 43-x86_64.dockerfile} |  4 +-
 ...dockerfile => leap-16.0-x86_64.dockerfile} | 16 ++----
 .../build/ubuntu/22.04-x86_64.dockerfile      |  2 +-
 .../build/ubuntu/24.04-x86_64.dockerfile      |  2 +-
 ..._64.dockerfile => 26.04-x86_64.dockerfile} | 15 ++++-
 automation/gitlab-ci/build.yaml               | 57 ++++++++++---------
 automation/tests-artifacts/Makefile           | 19 -------
 13 files changed, 59 insertions(+), 68 deletions(-)
 rename automation/build/fedora/{41-x86_64.dockerfile => 43-x86_64.dockerfile} (95%)
 rename automation/build/opensuse/{leap-15.6-x86_64.dockerfile => leap-16.0-x86_64.dockerfile} (84%)
 rename automation/build/ubuntu/{16.04-x86_64.dockerfile => 26.04-x86_64.dockerfile} (81%)
 delete mode 100644 automation/tests-artifacts/Makefile

-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 14:42:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 14:42:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329559.1593658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVVki-0001j6-Uq; Fri, 05 Jun 2026 14:42:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329559.1593658; Fri, 05 Jun 2026 14:42:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVVki-0001id-PG; Fri, 05 Jun 2026 14:42:28 +0000
Received: by outflank-mailman (input) for mailman id 1329559;
 Fri, 05 Jun 2026 14:42:27 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wVVkh-0001Xd-7A
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 14:42:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVVkg-00DUvd-D4
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 16:42:26 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a22e02e-5cb7-0a2a0a5109dd-0a2a4506a73e-48
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 16:42:26 +0200
Received: from [209.85.221.44] (helo=mail-wr1-f44.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a22e052-7371-0a2a45060019-d155dd2ca9fa-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 16:42:26 +0200
Received: by mail-wr1-f44.google.com with SMTP id
 ffacd0b85a97d-45ee5cdbd28so1931761f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 07:42:26 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f3444fesm27983183f8f.20.2026.06.05.07.42.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Jun 2026 07:42:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1780670546; x=1781275346; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LZlz51O0t73OlCkZ0qZkry3ZqTRl8BuEeVV/fnWcWO4=;
        b=NbI0fW+KuHBa177EAHlWfoXH9ZKzXB52JROWW0ycVHVC2xwVAEJizizkTubvWcl5R3
         SsizimqGl4tviz3+61HjJpHlA8hIlH1zzjPOKEGlTjS/C4lr6z3EjIPeVD6GjXE9LBd0
         6y/8V/HnmTbckODi1sg//EqVsgSgc/ckWDtiE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780670546; x=1781275346;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=LZlz51O0t73OlCkZ0qZkry3ZqTRl8BuEeVV/fnWcWO4=;
        b=Tlef6lfQBHH4244VOlM8NHPeY+d+c9fwpADjAjzE7ItGOeNrcwH63BFLxr90hguojZ
         T++9sK8xDJWMCJa35l242Pm3EtgJOx+ZotGHW/5et05Dl5FIDTzQSzNIN3WVS7Eh1r8Q
         kdM/UNCxQEx+jl1LIINdI7XTtJFDDEZaRctfDfbAJjYPFQ4MrsyCqqvW7rszANufF5rc
         ZnEJLWEUED25ieiA887xdTwSlPywYbarD0TJ/I+ne5Kb/YXqhicLousajwmHUWyDK/c6
         MQWl0KD8zFa1YH7/cKPbfrTgrCJFHzMEKORjoj3S5cFgrqjRBM0XULN251IwLytD4G+m
         jx7g==
X-Gm-Message-State: AOJu0Yz8enwoQcQDPRZ3OIgVLmo/MtYlcXziPNtCJQqXRVu2dfTchaV4
	cmmm6M0AFdVo3BKoLmxi07yBk9aPVnHfUvrktuPkDfOnHINei/HXH1jlsUgoXVuG6UCjP48NEYV
	GW7IO
X-Gm-Gg: Acq92OFgoY200nrz5V6JoTQ2/GSsyEv3+/L0U/x4hnW+hz7iE3vlxUxQ3DU5AzKcqOr
	cgYKt1HKpHxKkPHZE0pxdfrWpUVn6GRoUPI2IMk+A+HQt+WmI5aMVjehieJcOL5dqIaOGMeaZxC
	Y+VfqlKnVFSLDkM/zFlEdX3LQu4HL3Prq7FeQb9pAGtAt4AGpLNdUOXoWBF+BAiTW28yd7xUH+B
	jgwhC0R6ufeHJOPxzwtJJLqV7gJnDwOfF16tMJ6j0h8h121GWQPUiNh6NfcRB6vKfTSjp+CkAT6
	dorMjS4qhvU0Fu/pxjuMm2p33O/WUzyrPWWYpN6JNJXPckbLUF5VvA8jeK1daziRCZbS7/675V2
	2W3Z46eSYhq6S9z+i/u2wpLGNiZpUjPZIqtxHz7NYuQNCFrhHcheGiWNaIK7jlAIdnVpNldpUsL
	TqdAEyowOs/MvrNsdNkUnKGa2IV/3u4M6IlgwRxCXoHgt2tK8l+2DeAs95c89feYTGdU1B3lnLX
	bdtwf9IPvI9fNpsGIIoARPnHw==
X-Received: by 2002:a05:6000:2994:10b0:45e:8edc:dacc with SMTP id ffacd0b85a97d-46032dcf608mr3670650f8f.27.1780670545208;
        Fri, 05 Jun 2026 07:42: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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 6/6] CI: Update Opensuse 15.6 to 16.0
Date: Fri,  5 Jun 2026 15:42:13 +0100
Message-Id: <20260605144213.2749656-7-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260605144213.2749656-1-andrew.cooper3@citrix.com>
References: <20260605144213.2749656-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1780670546-8576FD75-42794E0E/10/63158204843
X-purgate-type: spam
X-purgate-size: 3694

The default version of python is 3.13, so drop the 3.11 overrides.

Swap yajl for json-c, given the deprecation of the former.

bin86/dev86 are no longer available.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Juergen Gross <jgross@suse.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 ...64.dockerfile => leap-16.0-x86_64.dockerfile} | 16 ++++++----------
 automation/gitlab-ci/build.yaml                  | 16 ++++++++--------
 2 files changed, 14 insertions(+), 18 deletions(-)
 rename automation/build/opensuse/{leap-15.6-x86_64.dockerfile => leap-16.0-x86_64.dockerfile} (84%)

diff --git a/automation/build/opensuse/leap-15.6-x86_64.dockerfile b/automation/build/opensuse/leap-16.0-x86_64.dockerfile
similarity index 84%
rename from automation/build/opensuse/leap-15.6-x86_64.dockerfile
rename to automation/build/opensuse/leap-16.0-x86_64.dockerfile
index 33db3ecd634b..f88866bb8740 100644
--- a/automation/build/opensuse/leap-15.6-x86_64.dockerfile
+++ b/automation/build/opensuse/leap-16.0-x86_64.dockerfile
@@ -1,9 +1,8 @@
 # syntax=docker/dockerfile:1
-FROM --platform=linux/amd64 opensuse/leap:15.6
+FROM --platform=linux/amd64 opensuse/leap:16.0
 LABEL maintainer.name="The Xen Project"
 LABEL maintainer.email="xen-devel@lists.xenproject.org"
 
-ENV PYTHON=python3.11
 ENV XEN_TARGET_ARCH=x86_64
 
 RUN <<EOF
@@ -26,7 +25,7 @@ RUN <<EOF
         gawk
         gcc
         make
-        python311
+        python3
 
         # Tools (general)
         cpio
@@ -46,17 +45,14 @@ RUN <<EOF
         acpica
         # libxl
         'pkgconfig(uuid)'
-        'pkgconfig(yajl)'
-        # RomBIOS
-        bin86
-        dev86
+        'pkgconfig(json-c)'
         # Header Check
         gcc-c++
         # xentop
         'pkgconfig(ncurses)'
         # Python bindings
-        python311-devel
-        python311-setuptools
+        python3-devel
+        python3-setuptools
         # Ocaml bindings/oxenstored
         ocaml
         ocaml-findlib
@@ -70,7 +66,7 @@ RUN <<EOF
         ninja
         'pkgconfig(glib-2.0)'
         'pkgconfig(pixman-1)'
-        python311-packaging
+        python3-packaging
     )
 
     zypper install -y --no-recommends "${DEPS[@]}"
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 061977872f5b..acd4acf13138 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -677,25 +677,25 @@ ubuntu-26.04-x86_64-gcc-debug:
   variables:
     CONTAINER: ubuntu:26.04-x86_64
 
-opensuse-leap-15.6-clang:
+opensuse-leap-16.0-clang:
   extends: .clang-x86-64-build
   variables:
-    CONTAINER: opensuse:leap-15.6-x86_64
+    CONTAINER: opensuse:leap-16.0-x86_64
 
-opensuse-leap-15.6-clang-debug:
+opensuse-leap-16.0-clang-debug:
   extends: .clang-x86-64-build-debug
   variables:
-    CONTAINER: opensuse:leap-15.6-x86_64
+    CONTAINER: opensuse:leap-16.0-x86_64
 
-opensuse-leap-15.6-gcc:
+opensuse-leap-16.0-gcc:
   extends: .gcc-x86-64-build
   variables:
-    CONTAINER: opensuse:leap-15.6-x86_64
+    CONTAINER: opensuse:leap-16.0-x86_64
 
-opensuse-leap-15.6-gcc-debug:
+opensuse-leap-16.0-gcc-debug:
   extends: .gcc-x86-64-build-debug
   variables:
-    CONTAINER: opensuse:leap-15.6-x86_64
+    CONTAINER: opensuse:leap-16.0-x86_64
 
 opensuse-tumbleweed-clang:
   extends: .clang-x86-64-build
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 15:10:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 15:10:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329626.1593667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVWBq-0000bZ-W6; Fri, 05 Jun 2026 15:10:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329626.1593667; Fri, 05 Jun 2026 15:10: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 1wVWBq-0000bS-TM; Fri, 05 Jun 2026 15:10:30 +0000
Received: by outflank-mailman (input) for mailman id 1329626;
 Fri, 05 Jun 2026 15:10:29 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19e9855de55000701b@swg.vates.tech>)
 id 1wVWBp-0000bM-EG
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 15:10:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVWBo-007ull-Q3
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 17:10:28 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19e9855de55000701b@swg.vates.tech>)
 id 6a22e6d2-e002-0a2a0a5209dd-0a2a4502e84a-30
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 17:10:28 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19e9855de55000701b@swg.vates.tech>)
 id 6a22e6e4-af86-0a2a45020019-b9ff1c1299b9-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 17:10:28 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19e9855de55000701b.002 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 05 Jun 2026 15:10:24 +0000
Received: from l14 (unknown [82.67.99.167])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id 343D586F95;
 Fri,  5 Jun 2026 17:10:24 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=3Gd497NwynVuYnx1wxip5K73NBAkHHiDcX66soXhUVw=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=Fd0qw+LDYsDs5SCATEPcuBYUAae+e2SSMK7l3zAdlWjs3Mb30RULWiSuyrQICnx7h54oupsZx
 FyKpyEBzHXI1FtFkolywQFn2lrgLEZnuVj8fvYSaazCZmjJSvN1OE2kPA8PEa4M2YNn11Mg/r1w
 SQolgJ4F+uwAqPIdN3ewxrn29IGI7ufpMtVJPiVt1/QeDQVhdR9M6I4jJTnJTV2s8K+t24/pS+e
 a6YTTpkm1c/ziTcL4Mj3SmbdrxhRuFlAmPxIefau4TIGOzwZiDibWDFzzaRIbgX/HAZ5g5/EUVE
 mfVZZOYH3U+ZYV2dwqanKOFVh8kLmZtEN9TMOYcGCFuw==
X-Zone-Loop: 346f52ea2103883e3466676fddd0429c59b79abdaea0
x-campaign-type: default
x-transaction-id: 8f41960a-1bf4-498d-9654-3883c0dce58a
x-swg-uid: 01-b9569bf7-a03f-410c-969e-c80de46f7c59
X-Mailer: Sweego
Message-ID:
 <1780672224.8631fc262581453bbf619ec5b2062170.19e9855de55000701b@vates.tech>
x-swg-bid: 1780672224.8631fc262581453bbf619ec5b2062170.19e9855de55000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 5 Jun 2026 17:10:23 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [PATCH for-4.22 v2 4/5] tests/numa: add unit tests for NUMA
 setup logic
References: <20260603191836.77955-1-roger.pau@citrix.com>
 <20260603191836.77955-5-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20260603191836.77955-5-roger.pau@citrix.com>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.20a1.395280c869809a50.19e9855dc1d.df5c4d7d81352596=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1780672224286
X-purgate-ID: tlsNG-720697/1780672228-81B70161-0B45548D/0/0
X-purgate-type: clean
X-purgate-size: 2068

---=Part.20a1.395280c869809a50.19e9855dc1d.df5c4d7d81352596=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Wed, Jun 03, 2026 at 09:18:35PM +0200, Roger Pau Monne wrote:
> diff --git a/tools/tests/numa/Makefile b/tools/tests/numa/Makefile
> new file mode 100644
> index 000000000000=2E=2E5235f9d6297f
> --- /dev/null
> +++ b/tools/tests/numa/Makefile
> +
> +=2EPHONY: uninstall
> +uninstall:
> +	$(RM) -- $(patsubst %,$(DESTDIR)$(LIBEXEC)/tests/%,$(TARGETS))

There's a simpler way to write this, with
    $(addprefix $(DESTDIR)$(LIBEXEC)/tests/,$(TARGETS))
But that's ok to=2E

> +
> +numa=2Eh: $(XEN_ROOT)/xen/include/xen/numa=2Eh
> +	sed -e '/^#[[:space:]]*include/d' <$< >$@
> +
> +CFLAGS +=3D -D__XEN_TOOLS__
> +CFLAGS +=3D $(APPEND_CFLAGS)
> +CFLAGS +=3D $(CFLAGS_xeninclude)
> +
> +test-numa: test-numa=2Ec numa=2Eh
> +	$(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$*=2Eo) -o $@ $< $(APPEND_CFLAGS)

$* should be undefined here=2E
So we have $(CFLAGS_=2Eo), but that variable doesn't exit either=2E
You could remove $(CFLAGS_$*=2Eo), it's not use here=2E

Also, $(APPEND_CFLAGS) is added twice, once via $(CFLAGS) and a second
time on the command line=2E I think the one added to $(CFLAGS) should be
removed=2E

> diff --git a/tools/tests/numa/test-numa=2Ec b/tools/tests/numa/test-numa=
=2Ec
> new file mode 100644
> index 000000000000=2E=2Ebced68d4d7f1
> --- /dev/null
> +++ b/tools/tests/numa/test-numa=2Ec
> +
> +        for ( j =3D 0;
> +              j < ARRAY_SIZE(tests[i]=2Eaffinity) && tests[i]=2Eaffinit=
y[j]=2Eend;

Why do you test the value `=2Eend` ? ARRAY_SIZE is likely enough as the
test array is static=2E Same thing later, with the `ram` array=2E


Anyway, it's all look good enough to me:
Reviewed-by: Anthony PERARD <anthony=2Eperard@vates=2Etech>

Thanks,


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vate=
s solutions

web: https://vates=2Etech
---=Part.20a1.395280c869809a50.19e9855dc1d.df5c4d7d81352596=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 15:23:01 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 15:23:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329654.1593680 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVWNq-0002zU-0a; Fri, 05 Jun 2026 15:22:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329654.1593680; Fri, 05 Jun 2026 15:22: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 1wVWNp-0002zN-UB; Fri, 05 Jun 2026 15:22:53 +0000
Received: by outflank-mailman (input) for mailman id 1329654;
 Fri, 05 Jun 2026 15:22:52 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wVWNo-0002zH-Bx
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 15:22:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVWNn-00BMlu-LA
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 17:22:51 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a22e9c3-bab6-0a2a0a5309dd-0a2a4505e332-14
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 17:22:51 +0200
Received: from [40.93.196.16]
 (helo=SA9PR02CU001.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a22e9ca-aaa8-0a2a45050019-285dc4102a72-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 17:22:51 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by LV3PR03MB7564.namprd03.prod.outlook.com (2603:10b6:408:28d::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Fri, 5 Jun 2026
 15:22:48 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.007; Fri, 5 Jun 2026
 15:22: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=H7IhFcF3oj5fbJqxYYR1ojea7nT5ZfdJWqi0MwXDkq4iU4XPxNOC0lAwOiejBnssiHZffDnE1DaInDEKilXm4e22hK0qGyFLCPihvpENNdEuwcLpQ838E8kPihK8FlIT69YReZ1blfkcms8j29OEWXGVu/UlahXyD9uFN8skySIDDXL4YSgnouCfVNQS3jcldsJEAg4x2l1RLfl2rKrybkcVtMFgXOcQcrKdcVTiF4UkHQjdr4+f4tS9yfyIwA6Fy/zEyYBKmS669wv1f4ZRP2O+Hfa9P+pAxIsFWWmEZgNIbsVITLv4lOvVMIkxnilAHsWNUWSbURNW7MDdC+epHg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=k5933RkXps1DxWL9uFpl/G5QCQvGCrfzQWg1COmW+dc=;
 b=HQoiKT2ZjI5JKQZPZgxs+N0KkfRWBV2ZbPfB4n7EGaFYrllePDCTs0lTb5Yffi793NT/cQJPjCjNAvbXFFwP1v9f14i9hHcLqQ6BqUJwGP0q9LeQAbacG5lFUGr43hNXSiXz415a8Qz2IzizCR35Aq0IHtqmClyyVLHzgemFhD5CLmTb/lOHfPxq1qL70bHDIEX/2p2mHeNO8EC7ipVLaWfi5P0G8vfDo6FGX7EQ1rerm1tzc8uHxNR4fIXYXz3Y63bikOeqc+rnJgJ8mes81qOx5r+hMXnxadAHLJ3hrrqPt4dNOxVSlq8vYrA3uSjupobBt/NnfaQpm4icCYlzqA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=k5933RkXps1DxWL9uFpl/G5QCQvGCrfzQWg1COmW+dc=;
 b=N28ZA6L6jVaQkJTh0qSu6rVHLEem6l4gm+wrqzOOLwl4jpV9T07rrmKPslvYytw4wGQzyr9URoMZ4ScJE0aw9+GO/6F0vRDtWkUzhvOto+dkyccaSdR6r4gkCKyfJNNSCf6bOMdtdU705tWlsKcLfdTclTSd1o75nEU+vNfkIAc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 5 Jun 2026 17:22:44 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [PATCH for-4.22 v2 4/5] tests/numa: add unit tests for NUMA
 setup logic
Message-ID: <aiLpxA__rzSCQQn1@macbook.local>
References: <20260603191836.77955-1-roger.pau@citrix.com>
 <20260603191836.77955-5-roger.pau@citrix.com>
 <1780672224.8631fc262581453bbf619ec5b2062170.19e9855de55000701b@vates.tech>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <1780672224.8631fc262581453bbf619ec5b2062170.19e9855de55000701b@vates.tech>
X-ClientProxiedBy: MR1P264CA0021.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:2f::8) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|LV3PR03MB7564:EE_
X-MS-Office365-Filtering-Correlation-Id: ee7836eb-5911-4535-503f-08dec3164cbb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|22082099003|6133799003|18002099003|4143699003|5023799004|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	2LQvq/xoeQTJ9g/ORq+g2k6yRyc3bDTKNKxGjVAnFlIkI8Dc86c3XrLJ2yTIKGFTEQw4e182YUbxqkPsv4fwemfXWW1tt0eTGtjccuPuXqUZrTXgWzwIKyKMRJtx/CsGIZ2Bw0wAu92ciHSjBlxyiwKv75jNqzWtbGbySK/kM0YYjgJdXE0LTaOAvIcUiLVuTBvJcY9fa/ajwbd8ueNzgp0RpsZ2+pSIz7lS8i5GLoJ2JNUlQeYLATBSAALhW6F1hN1q6ef8ujDjQO9akD2DXLxmfuR11NnsRgcXx87o2X33yiEtzudlmsDpP+DuQn3HWtpIwVX6FyuC0c8lAV/prH89n7VHdXivelvjRvZALmEXXe0dzN0j6d12cIjrgQfY1tQ4fS08ETZ1jm4I9cZrP5glKl/h93wD/9VVUHvPzQRseFijgjZx2I4ewpaqFDmDZ0X2dg5biEinShCgkoreZR5seAQhbvXiUsOWQvdgrbaJlZh5J26aNoNGqgMlX2XKB72TYl0NYsdFe1OPmbBlrzGTUTpHtvZNV+fKqmfpbtZ0z4homczzAPWjeVfGHr8lQ8QHdX86GDqB7wlOWU3SZJNFwEsIdsTpO0cFwrkfSrtKCEScmJF6QIpFnEaW7VGV4eptvqv949ZyRVY/DfwqUhh1WMTiWG9nrAuaz97QT4StKOAx85Swraz7AJALX5ll
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(22082099003)(6133799003)(18002099003)(4143699003)(5023799004)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S1ppWEpvWmtrT2JFYjlGYTZQbHF5cVhlUXh5eUs0WEpYbUk5YmUwQXp3Y244?=
 =?utf-8?B?cGhEMmQramMvdDErcUVWME8xWXQ5SkRSMnRySUlhUkZVTW5hbzZrcm9DMzdX?=
 =?utf-8?B?aFFZQjcxSlhXM3hudU55NXV1MzJmMlpYSTM5UVV6OFdUb1JrSDJPRVpjNHA1?=
 =?utf-8?B?WFFBeFlWaG5mR21FK3JzdXloOEc2UDNLWE5hVnJxclA4eTVrTDhIQ05mRGZB?=
 =?utf-8?B?YkVoa3Z3bmVmQnp3T3Y1RFkvZjV5aTNsOHlEWFJxMDRud1VkRURXSlJYWjdT?=
 =?utf-8?B?dWRua3EyeStGeEw0Q0hucUFySTFKaHEwZzdGT2JYVTBWQUtxM0hBNURvTWNx?=
 =?utf-8?B?bHFVWnBRQzlpZVFXa1JGVjFSdXpUVTBrNmVvemlaTytwdmRBNVBIOHp2elRr?=
 =?utf-8?B?bVI1djhCU2VSbkIzZThUSkdzRmhyMktoT0k4aG4zc2x3Zm91TnZ4U055RHhE?=
 =?utf-8?B?cXIwcEJTdzQ1YjVGeHFqYkc1ZDY0S1l1cHZDOXMwUTVWKy9wQXdESStrNDRl?=
 =?utf-8?B?Y3VFRVFBRlRiSnJIa25udU10SGdRL0x6M1pOM255OEx2OGNSek9zK2I1K1lu?=
 =?utf-8?B?bFJENVFyV0tPK1BSaVVXWW5pNHZBNGEreVhQc2srVDQwZ3dkS2JzYlgzMHJ2?=
 =?utf-8?B?OFVjbDFrSXZoOXkrSitzU0dxWjZSamVIUFJHUkdhdDBLUEVrSGc3ZjI5L0c4?=
 =?utf-8?B?ZWFHSzNMSFEreXl1SHVsSlk1ZEJGRW9NcFBzRldob2FNaXpXcTVDbmpCdVN6?=
 =?utf-8?B?dWhVSnpkaXEzTmZRWkxvb2d1d3FQQXZlLzUyck5vcFBHQ0huWXdscnUvWHRF?=
 =?utf-8?B?YllZb0JqVTlqcERWQ2V2L3JRdFRLaCs3QnhRZE1rQndWMHhCazVPaVhSelh3?=
 =?utf-8?B?YUVZb0dHNmRVS0hsV2hkRDFwZWJoRlNFOTVHd1pEK2VzUWV2ZzYwRXpZbWNP?=
 =?utf-8?B?ZHpaRDdKNXNMbjVZeGhNVys0WGF0VUJOOHFXb2VFYlExbmIrMEdpTm9FeTJq?=
 =?utf-8?B?U2hYNWJlc3RIV3RJeC9zc2lNcDI2T0FsR0ZMZEttVTZWaHNDZzFQRTVDWDcz?=
 =?utf-8?B?Yks2QUovT2xXTUxzdGQ3RS82dlAwdGRHS2J3UU1sNjZlR1cyTWd4UEZPVkUv?=
 =?utf-8?B?N1diWDJ4Vi80MWNKQUpnaG8vNldZZXdhYWRvaHFUdzJQaWZTeE9rZE5kM1dk?=
 =?utf-8?B?NWJOTndtMENyaHJLSmVza0JpR050bkRZWDBYOWlKRExMSWxlMjRpQjF5ZGRR?=
 =?utf-8?B?UGthZy9zam0rbjJGbHNIbzNrYnN1UEw3ME55aUxrMEVTK2hRcHVyN2x2bzk3?=
 =?utf-8?B?bWQ4cFRLc1ZhRWFJL2V0c2oweVFZZUdCM0xQUEE3YmJkckJJME5RcmtBNFN5?=
 =?utf-8?B?R0psalNjQXJmcGFkYmxFUEM2NmZjZVpQVVZUZDdabTViT01FZkMxNnh3YnVw?=
 =?utf-8?B?VE9YUGM2a2V4NHdaUmljK0FWdkl4aXpiNWN1NmJZeFA5YXB6WUt5cUk2dTdM?=
 =?utf-8?B?bCtvZEpJVEh4aUs3bDJZVitWd1pKdlVMR3IwNTV4TFJxQWd1N1dOSXV0eHlE?=
 =?utf-8?B?M2l5TDFjUmFwRmcrZHBUUnZlS1RVOStFRm4wVU9hSkNEdzljM1lUN2EvNC8v?=
 =?utf-8?B?L1V6MG85b0R1Vm9Xb0NQSm9tNEtPZ2hmSHRmYi9BSzRJNzU5N2pzQlNreGx0?=
 =?utf-8?B?TGVrTTdMRDlIQzdlZVpBc3BhUFR3TXFCb3FOcGNRTHFjTzE2N3k0b1Z4UlF3?=
 =?utf-8?B?WUd3NWZERnJieXZZSjR4NURqNGVJdWp6TUF6WW5Db1F4My9PUU4rT09kZjNh?=
 =?utf-8?B?RTJnS2ZFRlgxaDdNU2pBQkpEWkRnY01wMTcrNk9YUGVpc0xFaE8zMmZYbHZi?=
 =?utf-8?B?S01SUW5uV01IckIrbjJ1MWQxa2k5eEVSWlpNenY1Ti9VSWF2TXJJOW80djN0?=
 =?utf-8?B?UVVpUnFOUGpLZWhtSUhQc3VORWxyaUthZVV3bE9peFVHcHJjL0ZSYnJEUHRi?=
 =?utf-8?B?L3BHYVFjdmdkdjltWTVPRG5VUGtNRWtXOUV1UmpNSktEdHE0YkI4N2hiZXN0?=
 =?utf-8?B?aUNsKzJDM3hPV3dwcTBPdGhoRWhWdWxXSm96aWVBYUhHTGVhc3JkVHh2SEhh?=
 =?utf-8?B?VUNqbERhczM2TVNwaElxYllyc0h3clBQMjlhWlJZb2Y0dHR6a0ZqOXdJNTdi?=
 =?utf-8?B?czdOU1A5UVVkdE5nWkYrREZZRGFqZnFPbEMyMHpxWDA1cjdMK0RHNTV6RmhC?=
 =?utf-8?B?RkhIT3A2YWdjS0RjMTF2bWhlenNOWXVQMElyblN6ekZBSGV6MEk1SEZNZUYv?=
 =?utf-8?B?dy9XUFRxakQvRHBmYmpETlR2T21NYkhLSFRXMzNjR2t4bmJZU0JHQT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ee7836eb-5911-4535-503f-08dec3164cbb
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 15:22:47.9798
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DSb80KDE5z9UFZIhrNiO6X/TlbbyUH/I7QOFhrNXhbKH8ksPOPCa7UX6rlMhtypVSMmExyEX4iWG6QUbq25fhw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7564
X-purgate-ID: tlsNG-c201ff/1780672971-D3563443-0F82997C/0/0
X-purgate-type: clean
X-purgate-size: 2236

On Fri, Jun 05, 2026 at 05:10:23PM +0200, Anthony PERARD wrote:
> On Wed, Jun 03, 2026 at 09:18:35PM +0200, Roger Pau Monne wrote:
> > diff --git a/tools/tests/numa/Makefile b/tools/tests/numa/Makefile
> > new file mode 100644
> > index 000000000000..5235f9d6297f
> > --- /dev/null
> > +++ b/tools/tests/numa/Makefile
> > +
> > +.PHONY: uninstall
> > +uninstall:
> > +	$(RM) -- $(patsubst %,$(DESTDIR)$(LIBEXEC)/tests/%,$(TARGETS))
> 
> There's a simpler way to write this, with
>     $(addprefix $(DESTDIR)$(LIBEXEC)/tests/,$(TARGETS))
> But that's ok to.

I've merely c&p what we had in other Makefiles, and didn't think much
about the specific runes.  I will leave that one alone if you don't
mind, we could always do a sweep change of this pattern in
tools/tests.

> > +
> > +numa.h: $(XEN_ROOT)/xen/include/xen/numa.h
> > +	sed -e '/^#[[:space:]]*include/d' <$< >$@
> > +
> > +CFLAGS += -D__XEN_TOOLS__
> > +CFLAGS += $(APPEND_CFLAGS)
> > +CFLAGS += $(CFLAGS_xeninclude)
> > +
> > +test-numa: test-numa.c numa.h
> > +	$(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$*.o) -o $@ $< $(APPEND_CFLAGS)
> 
> $* should be undefined here.
> So we have $(CFLAGS_.o), but that variable doesn't exit either.
> You could remove $(CFLAGS_$*.o), it's not use here.

Ack.

> Also, $(APPEND_CFLAGS) is added twice, once via $(CFLAGS) and a second
> time on the command line. I think the one added to $(CFLAGS) should be
> removed.

Done, will remove that from CLFAGS then.

> > diff --git a/tools/tests/numa/test-numa.c b/tools/tests/numa/test-numa.c
> > new file mode 100644
> > index 000000000000..bced68d4d7f1
> > --- /dev/null
> > +++ b/tools/tests/numa/test-numa.c
> > +
> > +        for ( j = 0;
> > +              j < ARRAY_SIZE(tests[i].affinity) && tests[i].affinity[j].end;
> 
> Why do you test the value `.end` ? ARRAY_SIZE is likely enough as the
> test array is static. Same thing later, with the `ram` array.

To skip processing empty/uninitialized entries (ie: ones with start
== end == 0).

> 
> 
> Anyway, it's all look good enough to me:
> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks, will do the above changes and do one last pre-push CI run.

Roger.


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 15:24:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 15:24:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329659.1593689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVWPV-0003T9-Bl; Fri, 05 Jun 2026 15:24:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329659.1593689; Fri, 05 Jun 2026 15: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 1wVWPV-0003T2-7p; Fri, 05 Jun 2026 15:24:37 +0000
Received: by outflank-mailman (input) for mailman id 1329659;
 Fri, 05 Jun 2026 15:24:36 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wVWPU-0003Su-EE
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 15:24:36 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVWPT-00AKiE-Mu
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 17:24:35 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a22ea10-2eae-0a2a0a5409dd-0a2a4507dfc6-30
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 17:24:35 +0200
Received: from [40.93.194.55]
 (helo=SN4PR0501CU005.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a22ea31-229c-0a2a45070019-285dc2379169-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 17:24:35 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SJ0PR03MB5567.namprd03.prod.outlook.com (2603:10b6:a03:28d::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.9; Fri, 5 Jun 2026
 15:24:31 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.007; Fri, 5 Jun 2026
 15: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bHuwD6/ISEaFaddhFz2iNmgBzfXlNtA+Y05ee4i3Q8725Xh648kqsvmoZjUXKnH5IRgbVgWDE6Uij72y41dsDYHaSSqEAVfXc00bUki8NLCFPG8FXPGVdV2YcgCZCR157gU3VYxBXzPc9s0gxY3a78bk2leiuf/N05dfemPsoShtcwcmf6uOas2sQ9enZRvuOKN9N0a4mwIqZTbRVE+aoQywTDwKx8Z9ijpzOUQrBJ7dhKs7aGN3FFiYQ8BVl5aH1cbSJaKyppAPzr6ol63lCfgWHbcZBuu/Q2WC659am9Rgbx8fZum4pCrs2wMMZyziSJCwOAc75+9dZyDqFp8aRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=na8l7212p//wRHMekjmsrpv0pViG9B6bmFyVzEzPd9c=;
 b=PCXL5NwPBnobwZc4e7YlI2/KAhZOrIyd/rhbwqYk3wx81lFz5VmYHGq60XoqWRsYQQAX45v29JDChad6IlHFFc1eA0NhYP+41kcuc0p/9sJvMZntV4YvV9mw8lXtbSbbk96KYivoxlrkTCR3n2uhv97cpbHnDCCQA+nM6XYMJtvp8ejRQG9xbmAJG8lzWkCroC51kbQV3nLa5zmT4zdGlitrMXHB6gCZpPePhNaNtLBE77QIc6CI8IsJ/YSqyrPGwRC86ncCp8DHFi2uJTgZJip77V+9SS0apwNSK3/3U/LAexojRdQpJZnFCV2YTwQJCMFktJioAOTtnddVGiKwQw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=na8l7212p//wRHMekjmsrpv0pViG9B6bmFyVzEzPd9c=;
 b=lx0CgTGW0yfXs1SPW/6UXnGs64JxVhjWxGOYIaFboMcBJZs26niw2CmRJrhRvUfS1aubzY+p87P6cqezo91umMQ2dnBOX8srLHsyjOmhllQ1zbEmHqOtbeACTWMVkosQzdfbYf1G/fzJ71+qgnhV4UHAOz31MscfUuI8OP/Nuhg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <e102162e-6845-43a5-b615-01d91959883e@citrix.com>
Date: Fri, 5 Jun 2026 16:24:27 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 Julien Grall <julien@xen.org>
Subject: Re: [PATCH for-4.22 v2 2/5] tools/macros: adjust ROUNDUP() interface
 to match hypervisor
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <20260603191836.77955-1-roger.pau@citrix.com>
 <20260603191836.77955-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: <20260603191836.77955-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PA7P264CA0262.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:375::13) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SJ0PR03MB5567:EE_
X-MS-Office365-Filtering-Correlation-Id: 33f85d99-9dfb-4697-cae9-08dec3168aa0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|18002099003|56012099006|6133799003|22082099003|11063799006|4143699003;
X-Microsoft-Antispam-Message-Info:
	1kjRHfdV8uNO7eMsB3E45vG2/65RMzoQzlnU2PpN1WD4DqH0z2757pLm0v550i5XtjM0VUbbHqmfr4BQ+22lF3qMvgyMn2NWaSMS3i9cEm/RCrKJrMwnJM3XswhhINQ7qGtWioNw0t/Syjz75zuJGKiVDMunih9QLukEXGtkB4VM4KUPYJ+I/JDaP5h/rQwvYIwd0+KCBDwCxdsFOCtGnjitYcY9470mYRsAt8mvYWPgp+iiKQjVVDK0OyXtO0vh/rIlTDugRyyswu8PYZf7Y1R3Lq3FYj2S+X7CExBQSopf7c/3QbkCom8nOioHAub7PNXT6Fu5C6DzYUbGbRmc16IVyxp7ZvQqZSHVtMoEVMVguY7XktCDFbhDZeC+5bL8mpX8gki+5WsQVSFfElnOT/RAgXOTveR8iBNvdhBTl30uQXxGjc9FGEWPURJFU5S+BVD3UrX3VXWmZ6K3wxoeOPo/KVKgQO2X9Bd6lqpMxXdi8ZwN3A9gQARFsW90D7t6H9bhDRFcmOdLQ2cIDwFOuPySxj3kpo3skw7SKxoJrUN2bsBs0DfqcJ9fUrC0mBKxuf7hjd7NJ00qOgiz729AAWUq2rDeniMMLu9osFdnilWEjjR1glTTZbN34allqbcHgaokOyKbWAuJ0vYj/rpbXQMISyRH8JF3HbLaD12zZxhmaGFkbMRaJnHKqUrFA+3w
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(18002099003)(56012099006)(6133799003)(22082099003)(11063799006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZVFROGZOcDJsOWhWSjVTcTROZEpaYUk1QU0yNVp4ZnUrNWh6NVNRT21XNmpL?=
 =?utf-8?B?aDIrYUpUSHBLdGN4VGVVem54MHAxLzZOUWlNeDA1bXdIaDRROFlFOUJYVXJ6?=
 =?utf-8?B?NGN4SE9xcTRnU1JiMjhPVXVGaHVzbXlZVzUwWkxrT1IrUXZrVmRnVHZPdGJE?=
 =?utf-8?B?M2ZWK3ZhZ1d6VlBrcmtNZHBPd2ZyVUZVdmlsUTIxT0RyUHJBVGtXRlIyTFgr?=
 =?utf-8?B?WHFOMnJJb3NoeThrOVdrSmNJWVBJM2JoVC8wdU1CUTdBMTl3WXhVRUlmZXNM?=
 =?utf-8?B?ZjBBS3VpYWt4KzAybjF6QlEreU95a2U1SVNTNkhMMEZQT1E5V3BJY1g2MGR2?=
 =?utf-8?B?azZJU0FRZEkwZEpneTlzdlZQVHFLYWRUZHdIdTF6bENZT3lkN0J1b05YQzhC?=
 =?utf-8?B?NjdsV1RCaXpHbTNSby9GM3JSVkJWYWVMMW1VSkN1dUszVDB0YzhIRVpYOEI5?=
 =?utf-8?B?eGFVSnZYMFVIQnloSTZGVHZjd1g4cG9VVWs1eGhWY1ZMYkx1bUdYcGNIYXpM?=
 =?utf-8?B?S3l5WXNZVHZSbHFpRm9sVkozK3NBNzUvR1FocFc1V1FSYnc2MGo3VHhJcER4?=
 =?utf-8?B?UmZGcXFaRlhzTWJ3K2x5WEgzcDdHUE9sS2xkN3BZN2xmRlFlWDloenNGdHdr?=
 =?utf-8?B?L0RZOHJhUW5uQVg5Wi9DYXF4Ujk3MURud1FpVHhsY1BXT3FVQzA4OWhobytX?=
 =?utf-8?B?QWVtUEViQm5XNUxwYVF5VlhsTnNRM1dBc1YzdFRlaGhzZ1JsNjF4RUdXYmVh?=
 =?utf-8?B?VFliWWw5Y092T21UWFUyS3REUW5TOGJnVzBEbWUzTXFCVVVYc29YRXpBVUU5?=
 =?utf-8?B?c0o1THNoUHZ4ZmlIcHBlNTJXdjlsZGVJYy84MXo3cjlpcHI2YUU5WlNMZUIw?=
 =?utf-8?B?amhGNWlFY1V4VG0vRTFRV3F0eUZ5NThPZlh0TFhOVXlYb0pnZk82MVRkaDFu?=
 =?utf-8?B?elpMYkdMSzM1MW9pOXorUER3NmlrSWlwbVFJc1YzVDRWbmoyOGVmZ1RFU01x?=
 =?utf-8?B?QjdxcVg4ejYrK0FBMDBJSTBxZ3FZRzhsWnI0T1JwYnQxclpQdzMvdGVmQlJU?=
 =?utf-8?B?M2tISzFHRitybGVYOXp3V29CZmQ1ZTk5YzZvL2srRWlnemZBWk5JaENvUTND?=
 =?utf-8?B?ZTNOd0FIOE9zTzFTbGxnL3dlU1FrU0ZPNjBiaDBBRmRXU29veUl0R01oMEd4?=
 =?utf-8?B?VTVzaXduUnlnWDNYWk81cUN1VjdRT1lTYjBsbnZUWkVUWDB0ZFYvcEpEWXl4?=
 =?utf-8?B?alhNeVBhMU5MRmNmK1VLWHVSQlJsb1ppUlNqa3k4anlzRytJb0FmTmdqcXdS?=
 =?utf-8?B?OUdqOUl0dlpqZUpEaGFmZTluL0ZyR1FCcUFUb0ozU2l5R3d1TmhQRDRZWnhU?=
 =?utf-8?B?Z2VXUUhxUzlPeFJOY25GRTVHR1J4WlZseEg0MndTWHRjYlU4WkowRWs4cTVk?=
 =?utf-8?B?RmQ4UkF4ZGlvMjJGdnZDSHliVWxJR1dKb01VY0xROUF1bWJQeEtZNTJYajQ1?=
 =?utf-8?B?NlJJTUwyMzZQaVlCbWo2QTJuQi9wTTZxZ3l3OTU0dG1LOUFNbmV0dHlTSXp5?=
 =?utf-8?B?YmpDUFRuWGoyV09nRFVwcEdvbWtsWGhnM05qNEpCYkQxUVJHR1hpb0grRzd5?=
 =?utf-8?B?WkdiRGUzQmtyMHNzQXpoU1VtY25wT0ZMbEJiQWxGajJiQzVFSjQzd2ViWW5z?=
 =?utf-8?B?ZS8vUTNpWTRudk1sbVgrY1RCaXhGQ2k2M3k1dFRGL0F5RzA3RlY1TXl6R2V1?=
 =?utf-8?B?RVlPeXgwSTdhVENwTmNDdzRVUXZsVTFlQ09BOGJWT0p6bE5JZkpBMElsS0pz?=
 =?utf-8?B?Yk5PTkVsOXVlYUo4a0JVNEYxNEI1dlVGNXgxRXJOaHdYOTNtTjZhOXhyeWZ1?=
 =?utf-8?B?blZ2VGRwblJ6cmg5ZGlJWncycEYwTHRhenpRWFk0dXhuaGxkME9nMnZua2dv?=
 =?utf-8?B?cEhxRDc5Zi9NbVVNQUJxbVpnMFBUMnViYzJtZnB2emdRRFY0WCtNdStEY2E5?=
 =?utf-8?B?WnFMN1JNZEYwK2NXRlZuSHZUdlpHbUFJR2RGZDRON2ZnbVFRcG0rdzVycWs4?=
 =?utf-8?B?N21LRjNWTTk3MnkxZnh4R1ZNRjBhQ01FSTIxY0Y1YnZNa1JvV0xoeWJ6NlN1?=
 =?utf-8?B?TU8vQTF5RERIOVJoTjY0WWE0b1ZaeUc1WXBjbVBuMGhsejk2VXptaFV3K2p4?=
 =?utf-8?B?Y3BjQ0UzelpyZEhBVjZZaG9iUlEwL1FEOWdKanJ0eUpjSllvb25vcXlORGpq?=
 =?utf-8?B?R3hLOEtYMW9PUHdPdzFvRi9mRUk1ZnVac2RtQktUR0JHUUhiZXdYVU1Lek0v?=
 =?utf-8?B?OGNMOUhDQTV1dCtwenhHT0cyZWZ5aThkYk5sZHJZMzl6cXlkZ2E1ZTdCdHBQ?=
 =?utf-8?Q?MpQ2Cj9FW8TdgWOY=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 33f85d99-9dfb-4697-cae9-08dec3168aa0
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 15:24:31.7377
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gEofyi0M8mtKHjcClDa+8jo47ncSE0qzpuYIyssBeRTrZfktIeQTsDAYbfE3lHf6VQf8iDjFA+MVWhvqPAoypJv9AxQlVHEuHIfHs7usIZw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5567
X-purgate-ID: tlsNG-ef75cf/1780673075-22573C48-DB8645B6/0/0
X-purgate-type: clean
X-purgate-size: 9596

On 03/06/2026 8:18 pm, Roger Pau Monne wrote:
> Adjust user-space callers to use the new interface.  No functional change
> intended.
>
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Yeah, libxl's choice to use order was always bizarre...Â  I'm glad we're
getting rid of this.

> diff --git a/tools/libs/guest/xg_dom_x86.c b/tools/libs/guest/xg_dom_x86.c
> index 268936efe25b..9af83535944a 100644
> --- a/tools/libs/guest/xg_dom_x86.c
> +++ b/tools/libs/guest/xg_dom_x86.c
> @@ -678,7 +678,7 @@ static int alloc_magic_pages_hvm(struct xc_dom_image *dom)
>      {
>          if ( dom->cmdline )
>          {
> -            dom->cmdline_size = ROUNDUP(strlen(dom->cmdline) + 1, 3);
> +            dom->cmdline_size = ROUNDUP(strlen(dom->cmdline) + 1, 1U << 3);
>              start_info_size += dom->cmdline_size;
>          }
>      }

I think this would be better as a literal 8.

> diff --git a/tools/libs/guest/xg_sr_common.c b/tools/libs/guest/xg_sr_common.c
> index 7ccdc3b1f6aa..54dde924a7c0 100644
> --- a/tools/libs/guest/xg_sr_common.c
> +++ b/tools/libs/guest/xg_sr_common.c
> @@ -56,11 +56,11 @@ const char *rec_type_to_str(uint32_t type)
>  int write_split_record(struct xc_sr_context *ctx, struct xc_sr_record *rec,
>                         void *buf, size_t sz)
>  {
> -    static const char zeroes[(1u << REC_ALIGN_ORDER) - 1] = { 0 };
> +    static const char zeroes[REC_ALIGN - 1] = { 0 };

= {} as you're editing the line.

I have no idea why this is 7 in libxg, but 8 in libxl, but dropping the
-1 here is probably wise.

> diff --git a/tools/libs/guest/xg_sr_stream_format.h b/tools/libs/guest/xg_sr_stream_format.h
> index 8a0da26f7543..4310f4311e65 100644
> --- a/tools/libs/guest/xg_sr_stream_format.h
> +++ b/tools/libs/guest/xg_sr_stream_format.h
> @@ -53,7 +53,7 @@ struct xc_sr_rhdr
>  };
>  
>  /* All records must be aligned up to an 8 octet boundary */
> -#define REC_ALIGN_ORDER               (3U)
> +#define REC_ALIGN                     (1U << 3)

This really does want to be 8 rather than a shift.

>  /* Somewhat arbitrary - 128MB */
>  #define REC_LENGTH_MAX                (128U << 20)
>  
> diff --git a/tools/libs/light/libxl_arm_acpi.c b/tools/libs/light/libxl_arm_acpi.c
> index ba874c3d3224..ac8165de15b6 100644
> --- a/tools/libs/light/libxl_arm_acpi.c
> +++ b/tools/libs/light/libxl_arm_acpi.c
> @@ -107,12 +107,12 @@ int libxl__get_acpi_size(libxl__gc *gc,
>      if (rc < 0)
>          goto out;
>  
> -    *out = ROUNDUP(size, 3) +
> -           ROUNDUP(sizeof(struct acpi_table_rsdp), 3) +
> -           ROUNDUP(sizeof(struct acpi_table_xsdt), 3) +
> -           ROUNDUP(sizeof(struct acpi_table_gtdt), 3) +
> -           ROUNDUP(sizeof(struct acpi_table_fadt), 3) +
> -           ROUNDUP(sizeof(dsdt_anycpu_arm_len), 3);
> +    *out = ROUNDUP(size, 1U << 3) +
> +           ROUNDUP(sizeof(struct acpi_table_rsdp), 1U << 3) +
> +           ROUNDUP(sizeof(struct acpi_table_xsdt), 1U << 3) +
> +           ROUNDUP(sizeof(struct acpi_table_gtdt), 1U << 3) +
> +           ROUNDUP(sizeof(struct acpi_table_fadt), 1U << 3) +
> +           ROUNDUP(sizeof(dsdt_anycpu_arm_len), 1U << 3);
>  
>  out:
>      return rc;
> @@ -128,7 +128,7 @@ static int libxl__allocate_acpi_tables(libxl__gc *gc,
>  
>      acpitables[RSDP].addr = GUEST_ACPI_BASE;
>      acpitables[RSDP].size = sizeof(struct acpi_table_rsdp);
> -    dom->acpi_modules[0].length += ROUNDUP(acpitables[RSDP].size, 3);
> +    dom->acpi_modules[0].length += ROUNDUP(acpitables[RSDP].size, 1U << 3);
>  
>      acpitables[XSDT].addr = GUEST_ACPI_BASE + dom->acpi_modules[0].length;
>      /*
> @@ -137,11 +137,11 @@ static int libxl__allocate_acpi_tables(libxl__gc *gc,
>       */
>      acpitables[XSDT].size = sizeof(struct acpi_table_xsdt) +
>                              sizeof(uint64_t) * 2;
> -    dom->acpi_modules[0].length += ROUNDUP(acpitables[XSDT].size, 3);
> +    dom->acpi_modules[0].length += ROUNDUP(acpitables[XSDT].size, 1U << 3);
>  
>      acpitables[GTDT].addr = GUEST_ACPI_BASE + dom->acpi_modules[0].length;
>      acpitables[GTDT].size = sizeof(struct acpi_table_gtdt);
> -    dom->acpi_modules[0].length += ROUNDUP(acpitables[GTDT].size, 3);
> +    dom->acpi_modules[0].length += ROUNDUP(acpitables[GTDT].size, 1U << 3);
>  
>      acpitables[MADT].addr = GUEST_ACPI_BASE + dom->acpi_modules[0].length;
>  
> @@ -150,15 +150,15 @@ static int libxl__allocate_acpi_tables(libxl__gc *gc,
>          goto out;
>  
>      acpitables[MADT].size = size;
> -    dom->acpi_modules[0].length += ROUNDUP(acpitables[MADT].size, 3);
> +    dom->acpi_modules[0].length += ROUNDUP(acpitables[MADT].size, 1U << 3);
>  
>      acpitables[FADT].addr = GUEST_ACPI_BASE + dom->acpi_modules[0].length;
>      acpitables[FADT].size = sizeof(struct acpi_table_fadt);
> -    dom->acpi_modules[0].length += ROUNDUP(acpitables[FADT].size, 3);
> +    dom->acpi_modules[0].length += ROUNDUP(acpitables[FADT].size, 1U << 3);
>  
>      acpitables[DSDT].addr = GUEST_ACPI_BASE + dom->acpi_modules[0].length;
>      acpitables[DSDT].size = dsdt_anycpu_arm_len;
> -    dom->acpi_modules[0].length += ROUNDUP(acpitables[DSDT].size, 3);
> +    dom->acpi_modules[0].length += ROUNDUP(acpitables[DSDT].size, 1U << 3);

And all of these.

> diff --git a/tools/libs/light/libxl_sr_stream_format.h b/tools/libs/light/libxl_sr_stream_format.h
> index f8f4723c2e91..b02c954a388e 100644
> --- a/tools/libs/light/libxl_sr_stream_format.h
> +++ b/tools/libs/light/libxl_sr_stream_format.h
> @@ -29,7 +29,7 @@ typedef struct libxl__sr_rec_hdr
>  } libxl__sr_rec_hdr;
>  
>  /* All records must be aligned up to an 8 octet boundary */
> -#define REC_ALIGN_ORDER              3U
> +#define REC_ALIGN                    (1U << 3)
>  
>  #define REC_TYPE_END                    0x00000000U
>  #define REC_TYPE_LIBXC_CONTEXT          0x00000001U
> diff --git a/tools/libs/light/libxl_stream_write.c b/tools/libs/light/libxl_stream_write.c
> index 98d44597a732..9ea64369352f 100644
> --- a/tools/libs/light/libxl_stream_write.c
> +++ b/tools/libs/light/libxl_stream_write.c
> @@ -119,7 +119,7 @@ static void setup_generic_write(libxl__egc *egc,
>                                  void *body,
>                                  sws_record_done_cb cb)
>  {
> -    static const uint8_t zero_padding[1U << REC_ALIGN_ORDER] = { 0 };
> +    static const uint8_t zero_padding[REC_ALIGN] = { 0 };

These want the same adjustments as the libxg side.

> diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
> index d6d462b7bc82..86c86b3e9a77 100644
> --- a/tools/xenstored/core.c
> +++ b/tools/xenstored/core.c
> @@ -3067,7 +3067,7 @@ static int dump_state_node(const void *ctx, struct connection *conn,
>  	head.length += node->hdr.num_perms * sizeof(*sn.perms);
>  	head.length += pathlen;
>  	head.length += node->hdr.datalen;
> -	head.length = ROUNDUP(head.length, 3);
> +	head.length = ROUNDUP(head.length, 1U << 3);
>  
>  	if (fwrite(&head, sizeof(head), 1, fp) != 1)
>  		return dump_state_node_err(data, "Dump node head error");
> diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
> index 2db452144dd4..a880ff678ef9 100644
> --- a/tools/xenstored/domain.c
> +++ b/tools/xenstored/domain.c
> @@ -2159,7 +2159,7 @@ const char *dump_state_connections(FILE *fp)
>  		if (ret)
>  			return ret;
>  		head.length += sc.data_in_len + sc.data_out_len;
> -		head.length = ROUNDUP(head.length, 3);
> +		head.length = ROUNDUP(head.length, 1U << 3);
>  		if (c->domain) {
>  			sc.fields |= XS_STATE_CONN_FIELDS_UNIQ_ID;
>  			head.length += sizeof(uint64_t);
> @@ -2232,7 +2232,8 @@ void read_state_connection(const void *ctx, const void *state)
>  		unsigned long off;
>  
>  		off = sizeof(*sc) + sc->data_in_len + sc->data_out_len;
> -		domain->unique_id = *(uint64_t *)(state + ROUNDUP(off, 3));
> +		domain->unique_id =
> +		    *(uint64_t *)(state + ROUNDUP(off, 1U << 3));
>  	}
>  }
>  
> @@ -2308,7 +2309,7 @@ static int dump_state_domain(const void *k, void *v, void *arg)
>  	n_quota = get_quota_size(domain->acc, &rec_len);
>  	rec_len += n_quota * sizeof(sd->quota_val[0]);
>  	rec_len += sizeof(*sd);
> -	rec_len = ROUNDUP(rec_len, 3);
> +	rec_len = ROUNDUP(rec_len, 1U << 3);
>  
>  	record = talloc_size(NULL, rec_len + sizeof(*head));
>  	if (!record)
> @@ -2372,7 +2373,7 @@ const char *dump_state_glb_quota(FILE *fp)
>  	n_quota = get_quota_size(quotas, &rec_len);
>  	rec_len += n_quota * sizeof(glb->quota_val[0]);
>  	rec_len += sizeof(*glb);
> -	rec_len = ROUNDUP(rec_len, 3);
> +	rec_len = ROUNDUP(rec_len, 1U << 3);
>  
>  	record = talloc_size(NULL, rec_len + sizeof(*head));
>  	if (!record)
> diff --git a/tools/xenstored/watch.c b/tools/xenstored/watch.c
> index a9a06e9e4816..309c5bb66bef 100644
> --- a/tools/xenstored/watch.c
> +++ b/tools/xenstored/watch.c
> @@ -349,7 +349,7 @@ const char *dump_state_watches(FILE *fp, struct connection *conn,
>  		}
>  
>  		head.length += path_len + token_len;
> -		head.length = ROUNDUP(head.length, 3);
> +		head.length = ROUNDUP(head.length, 1U << 3);
>  		if (fwrite(&head, sizeof(head), 1, fp) != 1)
>  			return "Dump watch state error";
>  

And these want to be 8 as well I think.

Definitely with the migration formation adjustments, and preferably with
the others too, Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

~Andrew



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 15:38:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 15:38:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329700.1593708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVWd3-0006Ym-MM; Fri, 05 Jun 2026 15:38:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329700.1593708; Fri, 05 Jun 2026 15:38: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 1wVWd3-0006Yf-JN; Fri, 05 Jun 2026 15:38:37 +0000
Received: by outflank-mailman (input) for mailman id 1329700;
 Fri, 05 Jun 2026 15:38:36 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wVWd1-0006YZ-U3
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 15:38:36 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVWd1-00Eof1-06
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 17:38:35 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a22ed70-e002-0a2a0a5209dd-0a2a450cbed8-26
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 17:38:34 +0200
Received: from [52.101.62.10]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a22ed79-62f1-0a2a450c0019-34653e0a2d09-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 17:38:34 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by MW5PR03MB6959.namprd03.prod.outlook.com (2603:10b6:303:1aa::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Fri, 5 Jun 2026
 15:38:31 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.007; Fri, 5 Jun 2026
 15:38:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=gWbOKgVHwDGDXZtkpv2SGglJgeB/e1riRi+48ZzbbsKsmjC2EFIN9wRD34gleh+GdJEsqD1gGtstC/2d47Xl/Ms3MCgryCpy2RwLf4Iv8y/jOEgIwXl5Ex7jMnYkJNgJ0WtulFGpI40icAwjWpENDKCkddibPJpsh7+PMQ3AHLJ0LGweZ5Wv2yj3gh4lKr0IprMaxjfWWircRYiPv+eMRKPr14xzSuwo9BTy+N/tNzE5xelqOEKwpX+dTSJhcXlc4iJ/HLzcuHuzt6w++6ChJFU5dAF+2U1FzL03kyjUB2U5CItGaZAPY6J6CqOmpsEyU19c5DHUasWQJGjIYLTvbA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+PGVV9U+zysbOTQjOgeQumWu5m47aboUeJSvnOGH1P0=;
 b=b23vAvLUVCqHqrwLX0LFghnzA3sShD9q+St66c0mFoWTXtUY6p6CHbpWO+kKXslqANjzj+glXn2XbXBvxNwtdCxlkSYq4gtqsXoJe9B77cJHjrlTfIJqiaJz/GYoXik0FSJNWMzhb5lof5LrOkWN9iaIntyC0k7fEa1XdLeEsZHmHQthGkRl1SP8VqTFGfkM6C2l7qOcYzZqQkJDk+FZ1jj4PYRjrWAIX4Q24/sd8mo9JYUBTQvlmFcvxxQpQurBSKNMpSfZAO0T4lqLk4JkXBuT22ITiOwuSl6niVtBY+Nu+WR1a6bTcRbEi0/fIOG8Et9W2x7g8Lk7m4YDJD3AXQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+PGVV9U+zysbOTQjOgeQumWu5m47aboUeJSvnOGH1P0=;
 b=DyQETBmjqwGzU6CK4tlZzAWPdeIasASLUKFQcVG0Ygh6K9NSmwWRyHbpqZ5a4ceLoBOviy/TM7g0GG0aEaiXa65v6UrcEIvy1Ki7Upy4vLwfGMITiJpXOEXaj4CUj353I4hDXkgV8+W0XIOQAYojSja/OH1nBZrVIV88+mAvCyA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 5 Jun 2026 17:38:27 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.org>
Subject: Re: [PATCH for-4.22 v2 2/5] tools/macros: adjust ROUNDUP() interface
 to match hypervisor
Message-ID: <aiLtc2YChTAZktRM@macbook.local>
References: <20260603191836.77955-1-roger.pau@citrix.com>
 <20260603191836.77955-3-roger.pau@citrix.com>
 <e102162e-6845-43a5-b615-01d91959883e@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <e102162e-6845-43a5-b615-01d91959883e@citrix.com>
X-ClientProxiedBy: MR1P264CA0046.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:3e::28) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|MW5PR03MB6959:EE_
X-MS-Office365-Filtering-Correlation-Id: 7bb7b63f-9a89-489c-a9ca-08dec3187ecc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|18002099003|22082099003|56012099006|4143699003|11063799006|6133799003;
X-Microsoft-Antispam-Message-Info:
	5h1lXoyPp/7muHWkIl9dvg9qeUeaHulQe4YatWZGu41ir7fo7hwcdrVpDR0lYmJ/VR1If6GavDijgSG0gIekvJASc/yE1Rs9wSJK1Lt5uGkTKmjufO6JDM65pXd7J+mC8z07gkchHgFRNEzTC2YyUsca7GeVgE5+5r5fiBil0ITsPiabVayZlr7oi4pM/PKwNhscJcXgbSa+f5TQRgo0fihDIxA3JEIu02mkzqn28f3byhSYKhkVkiV5/hd7B0xtkMpgS8SxbVttO9dxV1YdaV8j+CWvaUPSQvgP1sXNr8c0Kklz0jTtorurQ5LV4O68PoyXPGECWExu3MmxWHjB03AMbibm5wEfkx3att14DjjeoG1wdvXR/uZDCBi8evJ6/MritY6nxjNOALiGbJ7v49J7EZ34CmNAHKw7uMXwZg/S9ACJ0ehKgqlkqQOLB9RkWxsU3nxU/FQapqHaMjgVsx4Uc0VXsbssqcIUyzSs52aaPCxhOlPm42gjUW9i2pNRnEcqP5gYX57OoIaCTBwAxpOUoC1ILbClEo8gNlwqMBRMvQSMhPl2yJDFp1+YSiVO7rErS3C7YvHVa5m7P6JoClnakoXFgxtsobauJ3FpTWdBv2KMlgI6IiOnOeeEC0qIkqi19B6Am4hrxBrBzYL8s0dZfXALPMkp1qkZH/FBKNjM8OpcQAEMSKs4ttSUhJiD
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(18002099003)(22082099003)(56012099006)(4143699003)(11063799006)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UVpxWWZOVUlTWjVraVhJN0FvREd4SzZkdGJ4VzlEMTdHQmdBbmtJKzRxN3NX?=
 =?utf-8?B?TVJadEN5VEVvQzlBVnBzMkF2VEdrOWVlc2tvYkIvNUhxWjVzV3ErZ2tyWW93?=
 =?utf-8?B?b3RYQXlURmpIaVBVWkJuZm1yWnQvR1ljYjJoTG54MWtVRzV2aXBtTzF5OTh0?=
 =?utf-8?B?Um1RUXliMFlKRTFTcUZYWnpnbjhkcTRyS3A0bmlreEUzS0l1WlFnL1lwaFNK?=
 =?utf-8?B?Lzg3VzdvMVpIOHhOc1NTNko1ZktRRHZGNlB1K0owUmQrOE9HbE0xMXI1Zndv?=
 =?utf-8?B?clhsdE5mbkx3YzFjYnA3dHZKSU1qbEhUeEFZQnZaNGVLR05oWlB0UkVBUnFQ?=
 =?utf-8?B?TGdiK2trQWJKSU9hZG5oWmNJbGZNaFJtYk5yTmNsK0VqaW9wSWlxOWRLdXRW?=
 =?utf-8?B?KzlKRS9GcndTTnphMVkwUERINTNsMUttUys5OTVWc3JVMmxic2hGT2cwUndK?=
 =?utf-8?B?OGJSeDFpWnBxME0xSnVFcllzQS9xdEdUZnAwZU8wVjc3aUh6ak5LMmRqMXBP?=
 =?utf-8?B?eUtGN25ZM2RiRFgyRUlOY1lmcEZ5Ym50SlZCSTJLRnd5ZG9QcEs1SW40V3VJ?=
 =?utf-8?B?YmdJS1RVK3B5OGtzU1VNUVU5UHE3WWYxN1g0eHpnODExRllxOVMzdkZFbHRy?=
 =?utf-8?B?bm5XaU5zMDREL2FnRTJDdlZpWVV1QkM1VUtMSFMweDZ6ODhhMzJtTkswSHVW?=
 =?utf-8?B?MWRtY1ZIRHVKalZmR3Nxam5aNVplRzR5eUxYdTlQT1hoSnBtTTNGZnVyQU9y?=
 =?utf-8?B?UCsvNXF1OXovalVWWC9nTUUrZVFwR1dvcTVseHJNSzhlWU4xb2lJUktrUHdo?=
 =?utf-8?B?dVRoUVJPYlR1OXIvdDFVdDJxRmtHODM0OUppMko5dW5lYzdMY3EyRXpJQVYw?=
 =?utf-8?B?T28xR3VSZFJ3THhnZHg0TDhaVFc5QXI0QWVsREQ5VlEzRGlvMk4wK040NDZw?=
 =?utf-8?B?dFFHcGM1Uy9hN2dQMThSMVQ3K0ZmcFpnMTY1L0ttVWRGc0F3b2Y3eDVxdENp?=
 =?utf-8?B?WTVoWDFLdkk5REJMWm9KMEJaWWtETEdOcDBYMUdUQjFITWt6L012R01CSDY4?=
 =?utf-8?B?NnZNYXZhVlp2aDVUQ2Y3aFNsQ1drc0h1U0tYdjRneVZMSEVha0RXMk9ScWU4?=
 =?utf-8?B?QnNEVUpsSlNaYkhRSnc1YTJPRk41enc2Z1czaXlIS2Rna0RSRFN5UU5UQ2Yy?=
 =?utf-8?B?WW90azlXMnV1ZUV6SnB4ajA2QU5UcjY5emo4SWZ0SVNYZzV6N1V2SEYwZ3NS?=
 =?utf-8?B?UHNoNHQ3Z1ZOaURONEs0MEZWdW5ybXQwWnJ5cW9WZjRWY2NpTi9UQlNYSlpo?=
 =?utf-8?B?UzU2US92Ui8wVSt4cExYWitjc0dhK1hld0hXR0R4Q0tRRjJJbkVWZlZqVmg2?=
 =?utf-8?B?dndJV2FLbDJYQzFaTkF2OG5jbGg4V05mWHBlK2ZWVFM5VlZrNGhjUzVIRXpQ?=
 =?utf-8?B?TE05Z3ZBTzFMb0FTWFpMbnk1L2V3U2tuTm9UZEhEQjhxMlZ6RGJXMkRFMi9J?=
 =?utf-8?B?UkdJcFhzQmwyYW1hREp2V2pyV3pxU3ZoWkExNE9ROEwrRUFBUHJ5bHZOdEx5?=
 =?utf-8?B?Zy94R3lIL0tldWpIQlpmeVNySERES2tVUTJsNmExOTBoeW1QZk1CNkNGYzNp?=
 =?utf-8?B?ZGZ6a2cyb3ZqTHBwdWxvc1M2SUZ2Y1BWU1R4S095SHNVcXU2anlLRDc2b0cx?=
 =?utf-8?B?Yk1jYktsSFR6bDdZVmNIL3FDYk1uSmx5SnowYnF0K0FRbWdPcWR4R1IvVU5k?=
 =?utf-8?B?MEtEMVREQ3hxT3RvaUtuc3dyREFTSUpsL2hMNUlXS1d4MGtNd09pa0dYV0Z4?=
 =?utf-8?B?M3c2dmhJaCtPdWhxdjgrL1hTR1RON1NsbWtmVENTMGUxSVpoVnpPcTgvQWhm?=
 =?utf-8?B?bzlZYUtGR0gxT1FNM1FMamFrUkY1cmFHU05SQ0tBcjJIU3Q0TjNuZ3dTOUZo?=
 =?utf-8?B?WWJCUEt3eGlVVHdmbGR2Tk1Kcm1JeVkvc2lSYlhhS2hSSDllTFA2bXpUVXlq?=
 =?utf-8?B?NklCcXFsN0NwQjJNNkErZHE4VCtxRENwcmQ3enFqYWliMDd6citXbUIrN0Ew?=
 =?utf-8?B?KzFGZzYwS0dUVXhuRnN6U25VQVM0SzgraFV5L3BLQXBNY3RUdGk3eHpWT0VX?=
 =?utf-8?B?SEYyaTVrNkhDMXVwTFFRRnVzcDExUzZseStjczErQVpQeHNOemgveVd1dWNn?=
 =?utf-8?B?bXZhUzZMdGtScENRbG9zSTd3Ly8zbW9ENW1SMk15V2lOdi9mVUJnYmhWdGwx?=
 =?utf-8?B?YUlRbS9WaW9TeWVyV01FUzFQSFJyWTlnTVpGR2w0NlpuOGdVYzVldEhDVUZw?=
 =?utf-8?B?bTJMUGtvaUhZTUhzTjB3SXd1TlkxMGw1c0liL1AyZ2VSR0FCMXp1QT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7bb7b63f-9a89-489c-a9ca-08dec3187ecc
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 15:38:30.8226
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3t09u44N7Eo9bulLTGvEWtEQkm9W3gONTx9oX8x0PrpDhlNIFcWARIvp1KMvwW6a2FyCLcp8djwg5T7FJasYOw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR03MB6959
X-purgate-ID: tlsNG-d25034/1780673914-E176ECF5-05DC42A2/0/0
X-purgate-type: clean
X-purgate-size: 10271

On Fri, Jun 05, 2026 at 04:24:27PM +0100, Andrew Cooper wrote:
> On 03/06/2026 8:18 pm, Roger Pau Monne wrote:
> > Adjust user-space callers to use the new interface.  No functional change
> > intended.
> >
> > Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> > Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
> 
> Yeah, libxl's choice to use order was always bizarre...Â  I'm glad we're
> getting rid of this.
> 
> > diff --git a/tools/libs/guest/xg_dom_x86.c b/tools/libs/guest/xg_dom_x86.c
> > index 268936efe25b..9af83535944a 100644
> > --- a/tools/libs/guest/xg_dom_x86.c
> > +++ b/tools/libs/guest/xg_dom_x86.c
> > @@ -678,7 +678,7 @@ static int alloc_magic_pages_hvm(struct xc_dom_image *dom)
> >      {
> >          if ( dom->cmdline )
> >          {
> > -            dom->cmdline_size = ROUNDUP(strlen(dom->cmdline) + 1, 3);
> > +            dom->cmdline_size = ROUNDUP(strlen(dom->cmdline) + 1, 1U << 3);
> >              start_info_size += dom->cmdline_size;
> >          }
> >      }
> 
> I think this would be better as a literal 8.
> 
> > diff --git a/tools/libs/guest/xg_sr_common.c b/tools/libs/guest/xg_sr_common.c
> > index 7ccdc3b1f6aa..54dde924a7c0 100644
> > --- a/tools/libs/guest/xg_sr_common.c
> > +++ b/tools/libs/guest/xg_sr_common.c
> > @@ -56,11 +56,11 @@ const char *rec_type_to_str(uint32_t type)
> >  int write_split_record(struct xc_sr_context *ctx, struct xc_sr_record *rec,
> >                         void *buf, size_t sz)
> >  {
> > -    static const char zeroes[(1u << REC_ALIGN_ORDER) - 1] = { 0 };
> > +    static const char zeroes[REC_ALIGN - 1] = { 0 };
> 
> = {} as you're editing the line.
> 
> I have no idea why this is 7 in libxg, but 8 in libxl, but dropping the
> -1 here is probably wise.

I've noticed this oddity, but was cautious with doing any change
there, given the code freeze status.  I can do the adjustment.

> > diff --git a/tools/libs/guest/xg_sr_stream_format.h b/tools/libs/guest/xg_sr_stream_format.h
> > index 8a0da26f7543..4310f4311e65 100644
> > --- a/tools/libs/guest/xg_sr_stream_format.h
> > +++ b/tools/libs/guest/xg_sr_stream_format.h
> > @@ -53,7 +53,7 @@ struct xc_sr_rhdr
> >  };
> >  
> >  /* All records must be aligned up to an 8 octet boundary */
> > -#define REC_ALIGN_ORDER               (3U)
> > +#define REC_ALIGN                     (1U << 3)
> 
> This really does want to be 8 rather than a shift.
> 
> >  /* Somewhat arbitrary - 128MB */
> >  #define REC_LENGTH_MAX                (128U << 20)
> >  
> > diff --git a/tools/libs/light/libxl_arm_acpi.c b/tools/libs/light/libxl_arm_acpi.c
> > index ba874c3d3224..ac8165de15b6 100644
> > --- a/tools/libs/light/libxl_arm_acpi.c
> > +++ b/tools/libs/light/libxl_arm_acpi.c
> > @@ -107,12 +107,12 @@ int libxl__get_acpi_size(libxl__gc *gc,
> >      if (rc < 0)
> >          goto out;
> >  
> > -    *out = ROUNDUP(size, 3) +
> > -           ROUNDUP(sizeof(struct acpi_table_rsdp), 3) +
> > -           ROUNDUP(sizeof(struct acpi_table_xsdt), 3) +
> > -           ROUNDUP(sizeof(struct acpi_table_gtdt), 3) +
> > -           ROUNDUP(sizeof(struct acpi_table_fadt), 3) +
> > -           ROUNDUP(sizeof(dsdt_anycpu_arm_len), 3);
> > +    *out = ROUNDUP(size, 1U << 3) +
> > +           ROUNDUP(sizeof(struct acpi_table_rsdp), 1U << 3) +
> > +           ROUNDUP(sizeof(struct acpi_table_xsdt), 1U << 3) +
> > +           ROUNDUP(sizeof(struct acpi_table_gtdt), 1U << 3) +
> > +           ROUNDUP(sizeof(struct acpi_table_fadt), 1U << 3) +
> > +           ROUNDUP(sizeof(dsdt_anycpu_arm_len), 1U << 3);
> >  
> >  out:
> >      return rc;
> > @@ -128,7 +128,7 @@ static int libxl__allocate_acpi_tables(libxl__gc *gc,
> >  
> >      acpitables[RSDP].addr = GUEST_ACPI_BASE;
> >      acpitables[RSDP].size = sizeof(struct acpi_table_rsdp);
> > -    dom->acpi_modules[0].length += ROUNDUP(acpitables[RSDP].size, 3);
> > +    dom->acpi_modules[0].length += ROUNDUP(acpitables[RSDP].size, 1U << 3);
> >  
> >      acpitables[XSDT].addr = GUEST_ACPI_BASE + dom->acpi_modules[0].length;
> >      /*
> > @@ -137,11 +137,11 @@ static int libxl__allocate_acpi_tables(libxl__gc *gc,
> >       */
> >      acpitables[XSDT].size = sizeof(struct acpi_table_xsdt) +
> >                              sizeof(uint64_t) * 2;
> > -    dom->acpi_modules[0].length += ROUNDUP(acpitables[XSDT].size, 3);
> > +    dom->acpi_modules[0].length += ROUNDUP(acpitables[XSDT].size, 1U << 3);
> >  
> >      acpitables[GTDT].addr = GUEST_ACPI_BASE + dom->acpi_modules[0].length;
> >      acpitables[GTDT].size = sizeof(struct acpi_table_gtdt);
> > -    dom->acpi_modules[0].length += ROUNDUP(acpitables[GTDT].size, 3);
> > +    dom->acpi_modules[0].length += ROUNDUP(acpitables[GTDT].size, 1U << 3);
> >  
> >      acpitables[MADT].addr = GUEST_ACPI_BASE + dom->acpi_modules[0].length;
> >  
> > @@ -150,15 +150,15 @@ static int libxl__allocate_acpi_tables(libxl__gc *gc,
> >          goto out;
> >  
> >      acpitables[MADT].size = size;
> > -    dom->acpi_modules[0].length += ROUNDUP(acpitables[MADT].size, 3);
> > +    dom->acpi_modules[0].length += ROUNDUP(acpitables[MADT].size, 1U << 3);
> >  
> >      acpitables[FADT].addr = GUEST_ACPI_BASE + dom->acpi_modules[0].length;
> >      acpitables[FADT].size = sizeof(struct acpi_table_fadt);
> > -    dom->acpi_modules[0].length += ROUNDUP(acpitables[FADT].size, 3);
> > +    dom->acpi_modules[0].length += ROUNDUP(acpitables[FADT].size, 1U << 3);
> >  
> >      acpitables[DSDT].addr = GUEST_ACPI_BASE + dom->acpi_modules[0].length;
> >      acpitables[DSDT].size = dsdt_anycpu_arm_len;
> > -    dom->acpi_modules[0].length += ROUNDUP(acpitables[DSDT].size, 3);
> > +    dom->acpi_modules[0].length += ROUNDUP(acpitables[DSDT].size, 1U << 3);
> 
> And all of these.
> 
> > diff --git a/tools/libs/light/libxl_sr_stream_format.h b/tools/libs/light/libxl_sr_stream_format.h
> > index f8f4723c2e91..b02c954a388e 100644
> > --- a/tools/libs/light/libxl_sr_stream_format.h
> > +++ b/tools/libs/light/libxl_sr_stream_format.h
> > @@ -29,7 +29,7 @@ typedef struct libxl__sr_rec_hdr
> >  } libxl__sr_rec_hdr;
> >  
> >  /* All records must be aligned up to an 8 octet boundary */
> > -#define REC_ALIGN_ORDER              3U
> > +#define REC_ALIGN                    (1U << 3)
> >  
> >  #define REC_TYPE_END                    0x00000000U
> >  #define REC_TYPE_LIBXC_CONTEXT          0x00000001U
> > diff --git a/tools/libs/light/libxl_stream_write.c b/tools/libs/light/libxl_stream_write.c
> > index 98d44597a732..9ea64369352f 100644
> > --- a/tools/libs/light/libxl_stream_write.c
> > +++ b/tools/libs/light/libxl_stream_write.c
> > @@ -119,7 +119,7 @@ static void setup_generic_write(libxl__egc *egc,
> >                                  void *body,
> >                                  sws_record_done_cb cb)
> >  {
> > -    static const uint8_t zero_padding[1U << REC_ALIGN_ORDER] = { 0 };
> > +    static const uint8_t zero_padding[REC_ALIGN] = { 0 };
> 
> These want the same adjustments as the libxg side.
> 
> > diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
> > index d6d462b7bc82..86c86b3e9a77 100644
> > --- a/tools/xenstored/core.c
> > +++ b/tools/xenstored/core.c
> > @@ -3067,7 +3067,7 @@ static int dump_state_node(const void *ctx, struct connection *conn,
> >  	head.length += node->hdr.num_perms * sizeof(*sn.perms);
> >  	head.length += pathlen;
> >  	head.length += node->hdr.datalen;
> > -	head.length = ROUNDUP(head.length, 3);
> > +	head.length = ROUNDUP(head.length, 1U << 3);
> >  
> >  	if (fwrite(&head, sizeof(head), 1, fp) != 1)
> >  		return dump_state_node_err(data, "Dump node head error");
> > diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
> > index 2db452144dd4..a880ff678ef9 100644
> > --- a/tools/xenstored/domain.c
> > +++ b/tools/xenstored/domain.c
> > @@ -2159,7 +2159,7 @@ const char *dump_state_connections(FILE *fp)
> >  		if (ret)
> >  			return ret;
> >  		head.length += sc.data_in_len + sc.data_out_len;
> > -		head.length = ROUNDUP(head.length, 3);
> > +		head.length = ROUNDUP(head.length, 1U << 3);
> >  		if (c->domain) {
> >  			sc.fields |= XS_STATE_CONN_FIELDS_UNIQ_ID;
> >  			head.length += sizeof(uint64_t);
> > @@ -2232,7 +2232,8 @@ void read_state_connection(const void *ctx, const void *state)
> >  		unsigned long off;
> >  
> >  		off = sizeof(*sc) + sc->data_in_len + sc->data_out_len;
> > -		domain->unique_id = *(uint64_t *)(state + ROUNDUP(off, 3));
> > +		domain->unique_id =
> > +		    *(uint64_t *)(state + ROUNDUP(off, 1U << 3));
> >  	}
> >  }
> >  
> > @@ -2308,7 +2309,7 @@ static int dump_state_domain(const void *k, void *v, void *arg)
> >  	n_quota = get_quota_size(domain->acc, &rec_len);
> >  	rec_len += n_quota * sizeof(sd->quota_val[0]);
> >  	rec_len += sizeof(*sd);
> > -	rec_len = ROUNDUP(rec_len, 3);
> > +	rec_len = ROUNDUP(rec_len, 1U << 3);
> >  
> >  	record = talloc_size(NULL, rec_len + sizeof(*head));
> >  	if (!record)
> > @@ -2372,7 +2373,7 @@ const char *dump_state_glb_quota(FILE *fp)
> >  	n_quota = get_quota_size(quotas, &rec_len);
> >  	rec_len += n_quota * sizeof(glb->quota_val[0]);
> >  	rec_len += sizeof(*glb);
> > -	rec_len = ROUNDUP(rec_len, 3);
> > +	rec_len = ROUNDUP(rec_len, 1U << 3);
> >  
> >  	record = talloc_size(NULL, rec_len + sizeof(*head));
> >  	if (!record)
> > diff --git a/tools/xenstored/watch.c b/tools/xenstored/watch.c
> > index a9a06e9e4816..309c5bb66bef 100644
> > --- a/tools/xenstored/watch.c
> > +++ b/tools/xenstored/watch.c
> > @@ -349,7 +349,7 @@ const char *dump_state_watches(FILE *fp, struct connection *conn,
> >  		}
> >  
> >  		head.length += path_len + token_len;
> > -		head.length = ROUNDUP(head.length, 3);
> > +		head.length = ROUNDUP(head.length, 1U << 3);
> >  		if (fwrite(&head, sizeof(head), 1, fp) != 1)
> >  			return "Dump watch state error";
> >  
> 
> And these want to be 8 as well I think.
> 
> Definitely with the migration formation adjustments, and preferably with
> the others too, Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks, I've done all the adjustments.

Roger.


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 15:42:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 15:42:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329711.1593718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVWgU-000827-4c; Fri, 05 Jun 2026 15:42:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329711.1593718; Fri, 05 Jun 2026 15:42: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 1wVWgU-00081z-1I; Fri, 05 Jun 2026 15:42:10 +0000
Received: by outflank-mailman (input) for mailman id 1329711;
 Fri, 05 Jun 2026 15:42:08 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wVWgS-00081t-Ju
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 15:42:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVWgS-007zJO-0j
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 17:42:08 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a22ee45-5cb7-0a2a0a5109dd-0a2a450cc544-28
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 17:42:07 +0200
Received: from [40.107.200.49]
 (helo=CH5PR02CU005.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a22ee4e-62f1-0a2a450c0019-286bc8312c3b-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 17:42:07 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SA1PR03MB7123.namprd03.prod.outlook.com (2603:10b6:806:330::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.9; Fri, 5 Jun 2026
 15:42:01 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.007; Fri, 5 Jun 2026
 15:42: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=nqlypOX4BXBkFsqGZTQk5b3BGxhXfn/LaMdXAfjOiE0r6fGLvAWkcYFBtg6mZQC6V2yn1ypafkq2XmvyiYdJwHmAlmH9z/S6W/hCPzt1IgcSuNsRWxQPd5e5qyZbeT2nFNnTjg05ghI6f4Q0VctahykDE8etziQUvk0JGqpECSxGDarAX8AVNVstToQKWtQ5/YQi/DajkyXOPY7VOHUIDAABa/EkWE/XQCZF93LJRUPWep95gmA0/j1tGtmYxiHhHWKFc7aoHo0m5VWf8LFjG0CIbofhPlnzG3SWnBfcwRa7oJp3wHfT9DIiaoY8NpAz6oHF6+4NG5gYe0mWRi2h9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=s6HtdCKQcnFEB1ytwfrWFEV5UAXDGaQYhQvEEm4Wz18=;
 b=eyvWXHEvcybey+JWjs1T3TaOMjwoAzAdlKUxkt6GF5yLo/vTnOlW/aLIa8QXXzSKyYQJYcgzEnuYTq8q2PlGPyL5E+mXD1s92H5o5S30wGgCYbZZ64s4YaIr2K2QwlLokIDpCyPA1fyMsVkF6ockdMpThi99aoQ2t6wS9X/uCq1kIA5rglIx/HtiwLX9jdTsNirhPGcnnq4ptAH2enkzTZw0VUK0i3sZBmHxDrDGHvUzk10cZDlCpDlR9Bd1brxsmNkrYRnpIVOi4j3bfvoH1Q5Tcag53VFVSQRmpnyolgPDsVd54bk2uS8XyIleaOb4sELZxNWJSm9KX6ZBAOdcqg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=s6HtdCKQcnFEB1ytwfrWFEV5UAXDGaQYhQvEEm4Wz18=;
 b=Tb3EwW0NGfHWUCCpyjKO4cwf+QauDoHUiQz4WFF2AQtahCBKwjTTpJ4ILRqvD4bcW3ze8ZPK0YzK+8ahmqdi/Zn/z3GbtPPMtRDq5WDEBJfsT0nRsw97rs45vI1pPEryD9Iaj6I4fgSX41KlOyzQR/dnTV1zccQwQThZ2rJv3Cs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <ff3d8693-3357-4d64-8306-fb1378bc41a8@citrix.com>
Date: Fri, 5 Jun 2026 16:41:58 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>
Subject: Re: [PATCH for-4.22 v2 4/5] tests/numa: add unit tests for NUMA setup
 logic
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <20260603191836.77955-1-roger.pau@citrix.com>
 <20260603191836.77955-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: <20260603191836.77955-5-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0484.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:13a::9) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SA1PR03MB7123:EE_
X-MS-Office365-Filtering-Correlation-Id: 6f545d59-0bbd-457a-2ce9-08dec318fc5b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|11063799006|4143699003|22082099003|18002099003|6133799003|56012099006;
X-Microsoft-Antispam-Message-Info:
	ZjC0rZnqb2aQ6B48pOz1sPyqEPjRWnlCFqNNQxvF4tQQnskxQeOdtPEuuLK3rU6IPyQWmwC3DnWWv9xr1IytIxrQ8wAt7/9yDZOY4hF1dIDKpJ+cNUo6k54nEcraa8GUfPBbNpXq8eCOgVGC9U+VRgkuVtEwrP25iMiBKxYJC0aKVahxtTJBXcM2sH4PaCM6KWBHVZI4qO2aHpY/qW+qjsPeSEwyfv288lkOkFIpB7+82PqcnC8V6u3BmivgEDvmZ2hCx6MR1OiDCXtglFajmDVJMukhAKfrwi0MHXDgovPXjdfssVzpGdO1YVLyltg3u3EFEKU3hvON3wtcnCs7ILnoLR1eCHAXi49WsWsEz6lGZUEjJRw4N94Z9XtTO7to7JV3s6vDUgYoDzsLb7oRge2vI7tZch95Q+Ac0zwpVKpU0E9IZP64311MSCQ0gV+pekXZySyoXD3v+v5scwCnbd+YbX29A64g36o/jXeA5B2iyA7UbbEpZHfggOomSHE2hQy1rsL9J/58P3N4vsTzzSrUxovMIYhSU/xQB4UO5ojoQAZnLiNp4uRwla/h5nn88Ys9J/QGaLLagPo/a9dccO11quLTAjBL3NvxBhuCP9CI9UKBFeKlSGRruHanFQCOBIhP4x11AaRBiiNgNPiz8KxxFxVkBovyHUu5aGh3tKhISoOiMrcz41wurj+ZVW5n
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(11063799006)(4143699003)(22082099003)(18002099003)(6133799003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L3pkcFBETTcwZUFUeDYzWlZKUUhLazFIOFd4cDVCTXBja0tySVF2REVXNW84?=
 =?utf-8?B?aHJxYWJlYUg5SEpycmowd1FtVnNGWDM1aDN4TWdxUWoydkhQbkVxVHMxV0Vp?=
 =?utf-8?B?MzlzdG1ZelI2YWhCU05XWWxFK3MrK3RWWTBzOEtMeHp6Ni83cEIwak5DQ3Ni?=
 =?utf-8?B?SG5YcXpkM0JKZXpWNWk5Rnh2enI4RENRTFpKZFNUbjg3TDQ4Ymg3b3I4Qi9x?=
 =?utf-8?B?UWdmMUR4MUVmeEFzL1N0SEh4dEduNUlvd3hpeU05a0Y5NWNuVk1MNkJ0REV5?=
 =?utf-8?B?aUxjV29uK1BNTkgxTzJ6VFhTdUxYc3A2eE0rNjNQeFRUU0FYenpHNHBvVjVR?=
 =?utf-8?B?ejlMdHJmVG5qcCs2Qm1QRlR0QmhBejBtcUE1NXRzRDRCM1JwQit3bzV2Qk81?=
 =?utf-8?B?NEExamZ5YWEyTmRveGtIWHlCbXZqUlc4WFhYNlNhNFZkMC9VOGlUVlJsVXZ0?=
 =?utf-8?B?MzNqN29zUkJidFU1QzRWZUp0eFl2ZzQ2UCtoNCt1bDNMNFh5TnRCeklTRW1n?=
 =?utf-8?B?SnZ1R0x1WjAyMno5YUlZbitNTmcrTTVSVEVadVJrRXdDUWdVWlluSE5aSEJW?=
 =?utf-8?B?L241eDh4K2xoeTFaZDZrT0N3Z3crYXZ0UUN1dXZvbWxPeDNTbktlOXc4M3Bw?=
 =?utf-8?B?WkFjdkVIcmFUYlFxRzM4MUFRV1NVWDg2NXg5S0FTakpqTlo5aDByQTdHOGNy?=
 =?utf-8?B?bVRlNzFoQlRHTFBSeFBHM2pLY2QvWHZWV0Y0bXpjVG4ycXFDbUV5NnNua2Zj?=
 =?utf-8?B?Mm5UM3Q5Z1ZSUk11S2tqNks2VHJ0VkN2Q3dSNEp0QUxNNkQ4SFNNZkY1NEV0?=
 =?utf-8?B?TDAzTXVYOEZOM3l3RmEvTy92ZU41NkxhZW9rZEtHTGVXdGVHVjNhVmJ0Q28y?=
 =?utf-8?B?RHVQQnBHOGJseDM0ajNUV1hzY0FYNGZoN2dmdkRRbGVSVUE2QTVCZWZJbnJ6?=
 =?utf-8?B?VldRM2VSZUVnYWhSR2tsYTZBK0pqZC9WeDBtcnRwZkNKU3BSU1haWkc4TE43?=
 =?utf-8?B?V1ZXUFZmMnpIS0x5ZGRaYlFUQ0lQZDFoa3BjMVBRUzdiS2k2NTcxRlM0eFR1?=
 =?utf-8?B?aVhZeFNTNTdQV241ejJmeklWbU9Nc1lMV2lKOHVnSDQ0WkE5Z0F5S0tuaGR6?=
 =?utf-8?B?S1ZGOHBGYS9RTzVCWHp6bUJNbW5TbXBNeGoxV2FSMkp6QysyYld6L2g4M012?=
 =?utf-8?B?TW53UGdtNnVhYW9TaFh2cEVrWmMvRlBKSzlUMjZZK2pIRTMyWG9yR0RoaUln?=
 =?utf-8?B?SytFN0hsclV2ZlNKWFFsTDh1Wm43QmRnUitrcmcrL1p2dDhpOVRUYm1JTU5t?=
 =?utf-8?B?Sno4emVhVXBuVzFDbXNib2UycEM1MkRubmtSU21NeXBxdHA4L0lxYmJjME1k?=
 =?utf-8?B?SDhHYTFwdGZWMkUrd29FZDBuVDBrSHJIV2N5SnlVK29CbTYva3BZdGZsYjRK?=
 =?utf-8?B?ak9RTlhmcldnTnpFKyt6SkJDL2VGTUZsZEFXWFNsOVVNVSt4T1NselRHVjk3?=
 =?utf-8?B?Z3E2T1Z4WUpwVEZhRWt4ampuQW9KOHF6ZHhaZmtOeUFOU3Y1QlNxTGZzM1lt?=
 =?utf-8?B?YmY1NjdYYUp1WCtXalNlVmxkTm0xWDhDZGs1TTJJemNlaUZYKzBnc3BqVHBL?=
 =?utf-8?B?cVhhV0ZVQ3dhUURaNkNzTVdVSmllV0lsZXFSTlQ3MEJ3cm1PclJGNkNPbk1k?=
 =?utf-8?B?MEhTZmJTYk5uK1NUb2VhTm1xaU96TVg3MkVxb1lvVURTTEVQNzM5M3JycXFG?=
 =?utf-8?B?dmNpRVFteUdrOGJaN29HdW9Ddnh6ZjJCSmNKMlhwSUpIR1J1bmRER29GVy9P?=
 =?utf-8?B?S0x0dnMyRDBsRS9IRFQ4RER2RE1sUlRjQnc2RWhvN05Id3UwaFA2Q3l0NnR5?=
 =?utf-8?B?dkhjb3ZhcW1pZzJTSDRCeUJMZGpYUFgxT3VKYVVJOVUzd1B6MmhuZ0o1Y2E5?=
 =?utf-8?B?cmVSVTl0S1lvZzM0eVowTDhUVzM5SXZYQVA1aTUya0NwUFQ1eHhDMmVZdXNl?=
 =?utf-8?B?eXZUU2xzSmc0QytSNEREUWxuV2s1UVB0VlVOV0Eva3NEQjExaVRmTENLT1ds?=
 =?utf-8?B?Z3RpbzgwQVJSNVdVakJrUWJYM094Tlk3OXhlbVNCTVBWVFVTUkV1SjlycjM4?=
 =?utf-8?B?RVIwTFJxK2xXYTM2UnV2NllXOWZ2ckpyVGxIU3daVXowUG9PRnVqYTRwVlJi?=
 =?utf-8?B?eS8rVTk5OEEzelBNTGJVdzFRRnQvS1g4R2RnSG0xaXdQSU1qbUQwNDRkdWFM?=
 =?utf-8?B?NUMxQ2xGVTRic3FNVzhVYVdsQW9nNU0yQWUzWXByblp1UXFsQ3IvTWNtQlR0?=
 =?utf-8?B?WHpqQUsyK1dvVnpIVytYZFB3Z1VnUlRNVmVaY3V3VWZQc1V6OEJLc0FFek9I?=
 =?utf-8?Q?mA3wpbiNua3fE1dc=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6f545d59-0bbd-457a-2ce9-08dec318fc5b
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 15:42:01.4736
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: x80hSIdGkItZDaUG5zFJjVhydrw0TtYMyellqMXhB/jByrbqzZ3pYcUGZwd2FdrRZF1+eG/kYICstaRHnIvHvaukAkQkXjfxmQ8Ybbc7GWQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB7123
X-purgate-ID: tlsNG-d25034/1780674127-E2577CF5-0994DE29/0/0
X-purgate-type: clean
X-purgate-size: 5336

On 03/06/2026 8:18 pm, Roger Pau Monne wrote:
> diff --git a/tools/tests/numa/harness.h b/tools/tests/numa/harness.h
> new file mode 100644
> index 000000000000..9eec77f31402
> --- /dev/null
> +++ b/tools/tests/numa/harness.h
> @@ -0,0 +1,184 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * Unit tests for NUMA setup.
> + *
> + * Copyright (C) 2026 Cloud Software Group
> + */
> +
> +#ifndef _TEST_HARNESS_
> +#define _TEST_HARNESS_

This is overly generic, and liable to break if anyone copies it.Â  Maybe
NUMA_HARNESS, or WRAP_XEN_NUMA because ...

Looking below, how about naming it wrapped-xen-numa.h, so ...

> <snip>
>
> +
> +static inline bool arch_numa_unavailable(void)
> +{
> +    return false;
> +}
> +
> +#include "numa.h"

I presume this is the real xen/numa.h ?

> +
> +#endif
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/tools/tests/numa/test-numa.c b/tools/tests/numa/test-numa.c
> new file mode 100644
> index 000000000000..bced68d4d7f1
> --- /dev/null
> +++ b/tools/tests/numa/test-numa.c
> @@ -0,0 +1,222 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * Unit tests for NUMA setup.
> + *
> + * Copyright (C) 2026 Cloud Software Group
> + */
> +
> +#include "harness.h"
> +
> +static paddr_t mem_hotplug;
> +unsigned int __read_mostly nr_cpu_ids = NR_CPUS;
> +
> +#include "../../xen/common/numa.c"

... this hasÂ 

#include "wrapped-xen-numa.h"
#include "../../xen/common/numa.c"

which I think is clearer to follow.

> <snip>
>
> +int main(int argc, char **argv)
> +{
> +    static const struct {
> +        struct mem_affinity affinity[MAX_RANGES];
> +        struct mem_range ram[MAX_RANGES];
> +    } tests[] = {
> +        /* AMD Turin system. */

I'd suggest /* From an arbitrary AMD Turin system */

Just "AMD Turin system" feels a little as if all systems are like this,
which is absolutely not the case.

> +        {
> +            .affinity = {
> +                { .nid = 0, .start = 0x00000000000ULL, .end = 0x0000009ffffULL },
> +                { .nid = 0, .start = 0x000000c0000ULL, .end = 0x000afffffffULL },
> +                { .nid = 0, .start = 0x00100000000ULL, .end = 0x0c04fffffffULL },
> +                { .nid = 1, .start = 0x0c050000000ULL, .end = 0x0fc4fffffffULL },
> +                { .nid = 1, .start = 0x10000000000ULL, .end = 0x183ffffffffULL },
> +            },
> +            .ram = {
> +                { .start = 0x00000000000ULL, .end = 0x0000009ffffULL },
> +                { .start = 0x00000100000ULL, .end = 0x0007590ffffULL },
> +                { .start = 0x000759d1000ULL, .end = 0x00075a0ffffULL },
> +                { .start = 0x00076000000ULL, .end = 0x00094c73fffULL },
> +                { .start = 0x0009b5ff000ULL, .end = 0x0009fff9fffULL },
> +                { .start = 0x0009ffff000ULL, .end = 0x0009fffffffULL },
> +                { .start = 0x00100010000ULL, .end = 0x0fc4fffffffULL },
> +                { .start = 0x10000000000ULL, .end = 0x183f7ffffffULL },
> +                { .start = 0x183f8800000ULL, .end = 0x183faabffffULL },
> +            },
> +        },
> +    };
> +    int ret_code = EXIT_SUCCESS;
> +
> +    /* Dummy firmware interface provider name, use TST for TEST. */
> +    numa_fw_nid_name = "TST";
> +
> +    for ( unsigned int i = 0 ; i < ARRAY_SIZE(tests); i++ )
> +    {
> +        paddr_t min = ~(paddr_t)0, max = 0;
> +        unsigned int j;
> +
> +        numa_reset_state();
> +
> +        ram = tests[i].ram;
> +
> +        for ( j = 0;
> +              j < ARRAY_SIZE(tests[i].affinity) && tests[i].affinity[j].end;
> +              j++ )
> +        {
> +            const struct mem_affinity *affinity = &tests[i].affinity[j];
> +            paddr_t length = affinity->end - affinity->start + 1;
> +
> +            if ( !numa_update_node_memblks(affinity->nid, affinity->nid,
> +                                           affinity->start, length, false) )
> +            {
> +                printf("Fail to add NID %u [%" PRIpaddr ", %" PRIpaddr "]\n",
> +                        affinity->nid, affinity->start, affinity->end);
> +                ret_code = EXIT_FAILURE;
> +                continue;
> +            }
> +
> +            min = min(min, affinity->start);
> +            max = max(max, affinity->end);
> +        }
> +
> +        if ( !numa_process_nodes(min, max + 1) )
> +        {
> +                printf("Unable to process nodes\n");
> +                print_ranges(tests[i].affinity);
> +                ret_code = EXIT_FAILURE;
> +                continue;

This is mis-indented.Â  Best double check the whole file.

> +        }
> +
> +        for ( j = 0;
> +              j < ARRAY_SIZE(tests[i].ram) && tests[i].ram[j].end;
> +              j++ )
> +            if ( !test_paddr(tests[i].ram[j].start) ||
> +                 !test_paddr(tests[i].ram[j].end) )
> +                ret_code = EXIT_FAILURE;
> +    }
> +
> +    return ret_code;

This is fine for now, but we're going to have to consolidate the
patterns eventually.

Do you have a Gitlab CI run with this passing?

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 15:49:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 15:49:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329733.1593737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVWna-00017k-4u; Fri, 05 Jun 2026 15:49:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329733.1593737; Fri, 05 Jun 2026 15: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 1wVWna-00017d-0E; Fri, 05 Jun 2026 15:49:30 +0000
Received: by outflank-mailman (input) for mailman id 1329733;
 Fri, 05 Jun 2026 15:49:28 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wVWnY-00017B-F5
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 15:49:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVWnX-0080al-LB
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 17:49:27 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a22efe0-5cb7-0a2a0a5109dd-0a2a450cec0e-48
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 17:49:27 +0200
Received: from [52.101.201.49]
 (helo=PH7PR06CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a22f005-62f1-0a2a450c0019-3465c9318b1a-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 17:49:27 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SA1PR03MB6545.namprd03.prod.outlook.com (2603:10b6:806:1c4::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Fri, 5 Jun 2026
 15:49:21 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.007; Fri, 5 Jun 2026
 15:49: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=yr5b5TSeAkuww0wax+YIzV9uV7BUXcbaRHZDO3qLDK9cXNVZzrZfH7NJKrF6IsGigsc5x4Otwu4C7kn+TU9zhntml3MKsal/tn04YqQkXrEcoRE2n2qll/0b1rsrmM5dhcNIzmbzZhOP7bwuMlp/VbUtpuV5OYeYEOVkqXOMPYoM+jt6gzCMEZ7Nk8CY+j+sMAN3XQfS34lZxRPgaLcLZB5HVxwvpU6lWH/yTOu8xnKVFWwQopyq4Au+nSa0HRprBt7tMZBJ3E5mk+ksTW/OoQkwn82OuVI+AF/IdHqWJ2eAelaS1nHjCNsaVAXpUclYqd0U4acwlVgbGr5Pjm47Mg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dU5IK68VRrBIdRKWLruhVRnCMVD7OzGT7aNJKBoHBkw=;
 b=T/AGjJmvUWioyr+AMKqGDnLqrbC7WmhluSfdB9n6k01t3WlMC2Rx5kMz0GBJURGEX0yMPuv6tAqU6pqIGfr8mk0+06i2ma3XRo13LEMqzqYUFBScV+Zkp60JGR6p8qB8N0i2Ndi+LAF9b47o/J/d5oodibb23r0Uf5I1Io/Tbf4Bd7VgGmFbjzujCDNID7gsb9b0nL5kmdz9hBBmGCsYpcjlzmTgNSzl41Wp29dFi5mS7qdik6U7Iki4FKixRgaQP2fEPvaC5+TucYKFSW/rBwTXKCoeXbSiaxf/77jOpEISR5FjVAs/HmOuePSo08IDvrh1e47pd1fpqMkoMQuqCQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dU5IK68VRrBIdRKWLruhVRnCMVD7OzGT7aNJKBoHBkw=;
 b=cFXfqOH2Xxj+tYp5+GNylp56EN/Q3dxbgApFFG92O3BWbX8pWy2CQQxpBrOr3QRdU0EqysW81cfh9diZWQS1ahAQIunEt16iuFXuiUTdiIw0waxrPDRoJnhvdc86mFUeTs8ySJlC+KRXte4lSG4rBGziYPZX2ABOsXeeYMzmPrE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <bb53f14d-0d84-4805-9bf3-868a8441a289@citrix.com>
Date: Fri, 5 Jun 2026 16:49:16 +0100
User-Agent: Mozilla Thunderbird
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>
Subject: Re: [PATCH for-4.22 v2 5/5] xen/numa: fix setup of non-aligned memory
 affinity ranges
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <20260603191836.77955-1-roger.pau@citrix.com>
 <20260603191836.77955-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: <20260603191836.77955-6-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PR3P250CA0028.EURP250.PROD.OUTLOOK.COM
 (2603:10a6:102:57::33) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SA1PR03MB6545:EE_
X-MS-Office365-Filtering-Correlation-Id: 565d6920-eb43-4457-2e63-08dec31a0251
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|4143699003|11063799006|56012099006|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	4BhBnI9811UrrDdeRjLYHNPTA4+HdaAJRwUmDOGOZhC78+XaN8usG8LxWERIwwMXiEVjAlET9kP1Jlcvu2GbcJZOBnIOmgHNdN/kplaRPMM1SDp3dPswoteqZun7oSbtciKoHMpS9D4kl1PGaPF5Fz5RWsMpyps04MLkvVAmGwCDccXXUnBXS5ZKePyNySBwZpnFyq2xDAbZJ/TZKK0zaI2IMksrlPnwt8/EyNtVv/uCcAgbR25Z0aUK6WDA+JfzyeToEjzHcgceBtL9hc7tztXcrPU8eMrVvksfiPrgXeGWzufMlxHzGT5VULPfcGvaRjEmTXqmp9aQ/X3lfhzQm52sXPjrPFh6NOPCBTwvDgDefsujtWWvND9S3YbiYAnjnwK9yweFyr7nenZVyyJoMO91Vm61ORqrKTHvzNCEv9z3K/A/XxPnuPGXZF7V9Hf87wCGhltYqZEdIcH89t8YQC1jxnQ9a33s3Csk60F8jpMsqcffjfz7i/UxU3AuZLComYvh8Ye9inmNOKCtprygUEkmRo9U5Sz80i5eGLF2G4PL0iftVnSbkazCVHPUB780tZn/+U0OeaYy25jvSs/9K8wfV6wdYzIpaQXLmXrYa2XvFdEtSVlf9dW3Tei9xkZLJzA4ifSJ4Kn35Mx8WVf3yICFC8oUdbAzKlfshcPrz6E9DUT/I/fMisr23wG9Ss9o
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(4143699003)(11063799006)(56012099006)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Sk9WM25mWTFOL0d4YmZyay93bnpCa2wxR0tLWUI3ZUwxV0pJcHpLTVlLYVU0?=
 =?utf-8?B?Y3ZBSVhYbFc3S0M5SGJOU2xtS1VBRXQwWFdNN3crc3lzMFRCRGp5MnUzM2Ux?=
 =?utf-8?B?TFZSVThqeHRvUWJLZy9kYlZjMnJHazdPSzRwOVVCVkR5VWZlYTI1d0dyZ29s?=
 =?utf-8?B?OUo1S1k4c1FwUEtjbVV1b3l5akxsYTlWTHgrak12YUU2UVdXTXBoVVNUL2xW?=
 =?utf-8?B?NE4xUWJRM1lNY3h6bE9qcmJDbUdRa2RtdHJNTHR1UGsxWUpiaFhUOVJPb2dw?=
 =?utf-8?B?d0tPQWhDbTZEaDh6UnZCbDhtbStJNFdmeW91MDhQcE5QMXNITkZYWnBKMUd0?=
 =?utf-8?B?c0ZjZCtqODhmRnE3Mlp2dnJaWS9LT2drc0RaKzJuTTBCVC8xbVNEcndyMUN5?=
 =?utf-8?B?OEErTkpLZkFqMWF0MUJMYUZ2Q3ppTVNUVFdlcWRQTzZ5YzhFZEpGUTZsZmtt?=
 =?utf-8?B?YTB6ZEd2T2ZESVRzMGtzcThDSmRaNVBadDZ3MVpBeitDSDNGWkV5eVU5ZzhT?=
 =?utf-8?B?Ykh1UVk0ZVhlRlplY01PbndQOVBYek9UMlQ1Wm1YS1Z6VUhkc2lVNks3dDR4?=
 =?utf-8?B?RE9MKy9OY2VpMDYxU2NuZmltUWRGWExRY0xsL0Q3K0x2MkF2SDRYd3ZzRHVr?=
 =?utf-8?B?N2lwU1Bhd1dKRlYvcGdJWjUzZDl6VTVZZElBaTNRdGhKNUlYOTVxWFlMT2hz?=
 =?utf-8?B?K2MzY1Z4T1FWSWVkQkRWdWZHZHZFWHpYMWx0THE4VkVQVHluRFAxWUdnaFBm?=
 =?utf-8?B?K2QwczZRVTJkSGd6MDRwTXpTNElGd29MZUdtRzArZ0l3bGpNaE1ZNFl2eUdI?=
 =?utf-8?B?bEdpa0pwb29XZ1BTYW9DaGVTRWRtNVlRQVcxZitleDJvUzlrb3FQa1V1RzRP?=
 =?utf-8?B?djV5M3dITTY1UlA0UE9nQ3V6M0R5bHpYVTV4eldDL0VJTnVxd2paOXJ2ZDNi?=
 =?utf-8?B?NitkZ2VaTi9haWFnNHlzTzl4SjhZUVdBRVZmNmFobWJidWxsU2h4K1p0MWVV?=
 =?utf-8?B?RjYyNnNWNU1HN1RoZGFJZWJNTUk2M3FycHdBTEhLd2FtOWhuVDVKM1FyL1Za?=
 =?utf-8?B?SnE5SXFxMzIwVXgwekpRa3RjZks5WHl0RWEzb005b2tzb2xOQjhPUlhYVG1u?=
 =?utf-8?B?cmNDTmhOL1hCRE9YL1NSQ3I4NzA1VHhMN3dzaUNCVWRiNXFZamMycUNNTGFr?=
 =?utf-8?B?WmMxU1NJU1FjdE40UnBtbjY1WDUvS3V0TkRQTS9HNjJQL1dEbUd5WXpUbWE1?=
 =?utf-8?B?dHBuZGErQmRleEpRSitUL2dyNFN6Yi93K2YzNVhHSTgwampFMHBYUFpuZEx1?=
 =?utf-8?B?OU51QVVVVHZZa3F3R0E4YlB2ZWpTUkVLbWNITXNWTGY2bTRhb1VFRUpBREdM?=
 =?utf-8?B?SkN2a2h5S0RQbVF2TnFqM01JNFhSSEFSZTJqRWZRVFNyMDh2MW45R2dXeXFl?=
 =?utf-8?B?Lzd1OUxJS3F3NjlQWmVzUzlRU2RNY1phK2l0Rm5DaXZvcHdyeW5mb1JvbVp0?=
 =?utf-8?B?amRHZmtHWjNEaEdvZlJYVFVFR3VpemRVZUMzeDV5ay9zNFlWaExBUnFEQ1dE?=
 =?utf-8?B?NnRjUGFSTmJMalNRcGs2eXZ2M0dhVHpnQlUvcEdCeVMrTUxpT1poSWVOZXFW?=
 =?utf-8?B?Rlo3eHdrRTdlUlJ4VHRsbGhLaTBDL3BLVFFMUTJyQW5nMDNmQktjcHBEQ2Za?=
 =?utf-8?B?clVVYlFlR3JaMU15QU56akJ5TDJaYUJScWZvSDduL0pJR1h3b0xINzU3dFpa?=
 =?utf-8?B?QlVoeWwxbmxhdWdaeUkxbHYrVWNqWUFCUFg1NWt0dlpLZ0lxNnkrN1RQczEw?=
 =?utf-8?B?WFovYkQ4eTZnYzFDSEd4K2ZRYTFIVWZKQ1kyVTNYemtDQkI0dU5ZZTJKRk5M?=
 =?utf-8?B?Q3FNZ0gvb2h1WUZuY1ZwaVNueVZnd2RaTCtwcHVGUHBuT21uTDk4ZnF3NVhN?=
 =?utf-8?B?cDAzZ3hrZDduRzF6TVVlRHNXbzBPNStDTHcwUld4dHg1bU5zOFdXRHRocU04?=
 =?utf-8?B?STJyRFBnNmtaSVlGaTdXbEZ6QWhuWGJRODB5bFlYZjQyR3dEd3BPQ3FEY2RC?=
 =?utf-8?B?cEEzUUFaSHhnMnV5YTJTTHlWNHpYSE1CcGhkQXFaR2EvUjdHVlZSNXBTVWlt?=
 =?utf-8?B?aWdMSUNhdEwwNlpmcVdmdHp0aS9jOVpYaHRzTlhSU0I0a2xEZ3Y5RDBtMkU1?=
 =?utf-8?B?b0RCRThqMEpWRmdPL3d5SkFDeTZMbm5mQTNJY2xnUExkbVppbkFPYU84Sm9G?=
 =?utf-8?B?SU1oTmhPRTBLb1REanlxSS81Z1hQVjZnRlBuMzU0QUJ1TzdHM0xjVVBtVkh2?=
 =?utf-8?B?TGpySjhSWHQxVVBRZE5SMkV6TllPV1ZKT2FPSnZhZ2gvcmFkZG1ZRFZ4MVNv?=
 =?utf-8?Q?0Br6fPYz148rDWtM=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 565d6920-eb43-4457-2e63-08dec31a0251
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 15:49:20.9251
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /Qx4HGXxgjIa5VfxIjpnLmbpl5+dMZRbzoFex0rI1DBM1skC9CB0qqx/oZJfBJr2QonvOa1OGLXIOzj4PgDcg0xbtjKwCObAxgHzcniggU4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6545
X-purgate-ID: tlsNG-d25034/1780674567-F5386CF5-F4B36863/0/0
X-purgate-type: clean
X-purgate-size: 704

On 03/06/2026 8:18 pm, Roger Pau Monne wrote:
> diff --git a/tools/tests/numa/test-numa.c b/tools/tests/numa/test-numa.c
> index bced68d4d7f1..8122e63a88ed 100644
> --- a/tools/tests/numa/test-numa.c
> +++ b/tools/tests/numa/test-numa.c
> @@ -158,6 +158,51 @@ int main(int argc, char **argv)
>                  { .start = 0x183f8800000ULL, .end = 0x183faabffffULL },
>              },
>          },
> +        /* System with unaligned affinity memblock. */

This probably wants to say "Found on a pre-production system", rather
than just something we invented.Â  The reader can make the implication
given the Zen5 above.

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


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 15:49:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 15:49:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329732.1593726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVWnS-0000tz-Sf; Fri, 05 Jun 2026 15:49:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329732.1593726; Fri, 05 Jun 2026 15: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 1wVWnS-0000ts-Q3; Fri, 05 Jun 2026 15:49:22 +0000
Received: by outflank-mailman (input) for mailman id 1329732;
 Fri, 05 Jun 2026 15:49:21 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wVWnR-0000tm-46
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 15:49:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVWnQ-00DfSV-6X
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 17:49:20 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a22effb-2eae-0a2a0a5409dd-0a2a450bd0a4-8
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 17:49:20 +0200
Received: from [40.93.201.52]
 (helo=CY3PR05CU001.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a22effe-212f-0a2a450b0019-285dc934a5b6-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 17:49:19 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by DS7PR03MB8095.namprd03.prod.outlook.com (2603:10b6:8:250::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.9; Fri, 5 Jun 2026
 15:49:14 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.007; Fri, 5 Jun 2026
 15:49: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hucU2PSDry7UeHtgUQyLDGUfxmw+NqyX0IH7GUgNsUkQ8KwqqzRYTz+V6JdCyFcr7RljoKhtgbyzYWRWwXURVw6QrD18tb6LZwGPL+112nMeHiTSE8olHcG1uFdHMjlB1FAyNevigbMu+TiB7+8nnoYxeSUiiRSW0CL+pt/cTOS0RKzEKvye8OFIJHyckEeVn8PUDAKOtXcOmqCBQTreZaQ4l5rcWjMXvB3fy7OGM3VfEzIdUqoeC2FeMpS/rtiJFpPaUXviw5qvd6AaHOlKa1jZQ6zizQyEdsOYEQKLOHhUPiIk47jjYngeoGw8Wst4bRC+tORscrQMA3DHchV49g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5ReSoGxPjMJduMYPwbpV/XFS5jYYCI7aDIhsfPTO1hE=;
 b=BxeVHVnPjG5J53kKSqagVdh83rYZBHsLVXmBM5bslE7PMhHc3TdRwmwQ1/KlAUpfjZ9vn+SodXcvE8Nwx0KgSFEZuQZNZXjQiXvNYB/zVkoSyn2VuKN7SeTN5LTIz2ZZFfxDjRpOcxA4VBC5jRzzasTLZSA1e6wi9Bdm6CdIC/UiT8vxv3MIWW6xhg5UD0FzGL1+Ak6WGXjo0pyWrk0OwUmWWcxKjvRuAS+zKevd2GU1Z5yXmMQTuRt41OdKo2EAD++0n1ooR5AjooLeb8gZf7HNKmFRBwAMkbMZCUKFIfgQ4OoCWqlCEt/Pa5izmFGGUV8s+l7vuGrmDdnl6pNudw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5ReSoGxPjMJduMYPwbpV/XFS5jYYCI7aDIhsfPTO1hE=;
 b=AEKAiB3vQRYiwn0qGH3JLwc1Esk2vYaMpsiOjQoE1x4xv2S+0nQpc4qseSHI7go5TywGla/NcZa9FYzbXfYQqBDhZaFW3TWYIQ6cVzP7quYXho8r0yDgJAQl6E277Mre5VCgSad1rrQFKZiVFggrD8LbZv8L4q05LeIIu9ZfY0w=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 5 Jun 2026 17:49:11 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: Re: [PATCH for-4.22 v2 4/5] tests/numa: add unit tests for NUMA
 setup logic
Message-ID: <aiLv97hjEbG5PQAu@macbook.local>
References: <20260603191836.77955-1-roger.pau@citrix.com>
 <20260603191836.77955-5-roger.pau@citrix.com>
 <ff3d8693-3357-4d64-8306-fb1378bc41a8@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ff3d8693-3357-4d64-8306-fb1378bc41a8@citrix.com>
X-ClientProxiedBy: BN9PR03CA0363.namprd03.prod.outlook.com
 (2603:10b6:408:f7::8) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|DS7PR03MB8095:EE_
X-MS-Office365-Filtering-Correlation-Id: 8de38f96-2b1e-4057-c613-08dec319fe32
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|56012099006|4143699003|11063799006|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	kS76ed9suS+CcBnlErnzSL+KPDjf9Pjjuc4INUx2GTaQUZadSKR1aFyJ6SUysnTEb1XH5Y6XI7Sow13bsIfdy0ROuWKJ6nfhVPXTKkfdu3Jp3fGBc2ZhGI4a0oL2D0GSaQ6QZXusQFw7dOIhEAPfp4HZNIRn23dsUwWWskhboQvlUPHm5Gno4Z37NM96lCdrIaxgGNtRnKUmahaFIUPgkQQsLENNxKmsdAYvioD/EqT/OJa735Jamei8zIjupU3p9VsVBOD7A7vIk6Buv+JwxC0OoFhs1qKX0aaKRS4h9mu5B/n2yASZr27mjVufnIjRgMHXJkovkAjuC6buIQTBA0guqpinztyrQ/ROKDyvu6kEtjJor4PKAkHfbpinFFsMNFUpZE5ZPdmGsIXLYwJoJMR+QxWTKI7GV+6V39XQdcuorVuRFM+OlBsszHh3OViDC6i4TWQZgR+8ssBkVNkmUsgVwoqVwvdol/QjZoN3Zy3QIwZ/DerbPlKnclJ3+7mMr52wdG9UZGkBGFUmtO6WwXNWthSNkzj4jRQI63Gv8rC2JEud8z07bSeT++CBE0gEkuCjBtoUQx0O2R91ELHo6bRpCVAgh94kdaDRuin34xUr+T2Imv6STusr/16VTaCyamNO/KQ80DU2vAOLHZ+lUIFxkIDXcWARpyWijzpgsQL0FtonoO8/ESQ2BHPiZ4zvQ2gk0igeuhpmbvs0rYW4Yw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(56012099006)(4143699003)(11063799006)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bm84R0VUenVjYk1KTTRyTHIrTTgrMFJiZUZMdXBCSVcyWkdudlJkZjBuS1dn?=
 =?utf-8?B?OXZkdkNZWnNhM29pZ1NzSW5WQXJ0K0p5QUdEbzZ2QmVyQUMrSTdsNWt4aUIv?=
 =?utf-8?B?cTJNNHk4N1pUZ3FJcXpBdnE5UUMzczdhMDlDWGp5QVZhKzNYVVZVdjFySGpO?=
 =?utf-8?B?eUZ6SXE4YlRaNVU1UHY0YWREVThtZU1Yb25tZW1EYllZY01DM1RpNkw3dU5Q?=
 =?utf-8?B?KzFHbEpTb1BkY1VQNTZBeGdDVFhuRXpST3pxVjFpTWtUaURvSDAvc09LRFVC?=
 =?utf-8?B?SDludzMyakhCSHFPNXVmWGJ1cjdPSmxieTByb0FVNnpuL1NQWWdtdGNYbW15?=
 =?utf-8?B?dXJRQmVENzk4bC9hRW5MeEMxUCtwTU9FRXNrK3pQR01SeTdadklXRHgvbmZM?=
 =?utf-8?B?YkFkK0g3cWhNK2NBcWRmcy9pL2Vhbm5TbTJWcm5ENE92L1E1M0JHOTlOTFRn?=
 =?utf-8?B?OGhmdk9BNkdQN3YyQkdRUGVJb1FmSlZmVVRkbVBDOEt2SkIvbkxpMnU5Y25Y?=
 =?utf-8?B?aTJEY3ZReStVV0ZtNDdOd09mUkxRN2N4a1hDdDcwYzc4ODhFemk3T0lLTWZJ?=
 =?utf-8?B?SDI1c2F6emVCb3dGQU9DdEt0d1BBaVdRdDFBSEZRbEZzRG9ncUNOWGpHMkZy?=
 =?utf-8?B?azNNblh1bzlSdUk3L0puaktCMmdDN2ZCOGFtbk5TRE96RHV1Slp2OUFxS2Vr?=
 =?utf-8?B?TUw3b09hOXVKSTMzWVNrY3lwNVFDcG5FLysvYWhvdHBmTWcra2pCN0tzWVNk?=
 =?utf-8?B?RzBUcFhBSkJtUzBVZ2xOWWRWcWozanFJRFFGbG8xUGpDSXdDRjljYkhaNTVS?=
 =?utf-8?B?TTBrVTN3L1hQUFNONEhvdzBwSEpWa2FvbFVvVC9KOHR2a1hzMkJVQStFUTZl?=
 =?utf-8?B?c240dFdJdkVDSFFmYTFseW9kaEtnbk9HWm01d01mSkxISzUxdk5GUmhyNjl1?=
 =?utf-8?B?dVF0SkhHZDQ4NE1pck56ZnNlaUIrY2VPbTdWWEZULzVnL0VhbVc1cjNvRi8x?=
 =?utf-8?B?NTFrdWNEYTMwUFRsSkoyeDZyZm9IbW1kbGVHQ1NSejJSS1BRdVMra2dkNVJ0?=
 =?utf-8?B?OHBnemhOaGJQZ2RqYldyTVVoS0R4ZFFWU0JpM05aSjRzYW1qdlRIc3dBVzd2?=
 =?utf-8?B?Lyt5NDBobVo5cEtzOUlCa2lVaDhVTjhHOGtlVENXNGlDeUV0VXhzOHRtUXJV?=
 =?utf-8?B?bEJZWmN2WTFFRkhMcmhtZzRQUWErQWcvRGlmM01ja3Z1Z3pteHVralUxRGtB?=
 =?utf-8?B?d2U1MEQ4RGkySVdzUzU5dTZNeHZTL3ZYc0pGN2hvT2pqUUJtK0JOREpuYXN2?=
 =?utf-8?B?aStXMmtiaEFLcEVXLzdIY0J4NEZuNFpERkdGSG95eTU0amtoRHl1dVNTSkJM?=
 =?utf-8?B?WTA2bW8xK0NqR2pnWHJXcWtYQTB0YXV3TnFrMTdvTmlEMUc3TGVEaFhVRGZY?=
 =?utf-8?B?anNDa2VRL25ZTDNhWG1BV2hnbDFwUy96SWZFSngxYXlrOUNNL25lTEwxZm0y?=
 =?utf-8?B?L0dUWHN5eWR6MUlPOUJneGdWTTBERHpBeEx0d0UyT2pxa0lseVFudzZ3YXNw?=
 =?utf-8?B?MldXNDE2THVWaTJwUE1YQUxqdGM1Y0NXVGRubFJkckd0S2pFR3A2di9yNCsy?=
 =?utf-8?B?dnFNUWovSHVVTFkwZXN0VG1VSnZTSlZOM1puVXphbWZDVHh4SUErZmo2QXpU?=
 =?utf-8?B?eHRrMEJlVUpac08wZHhrWVV2R3ZGYk5pa1Y1aVNBV2FlazFUL1dWVFk5OHo1?=
 =?utf-8?B?QXZTN21ZSGxlMnc4bnlWR2tGU1FaRnNidGs1VlgwbFJhSnozUmQrUWJnMGll?=
 =?utf-8?B?dDIzcG5zREN6djNTT3F5Znh2WkpGNEM4Z3JEZm9HVzlRR0U4VUdub1ltUlVD?=
 =?utf-8?B?MmtMcWVIeGt3UnFoUkhLYzNVWDZkSHkwUUxoMStHdG5LbUltbGFldHdvSDVi?=
 =?utf-8?B?SGd0TkVuMDlXMi9GeUlTbE1YbnVWaUdFK0VicFl2K3JNRkZNNDg3Q1NaMEVP?=
 =?utf-8?B?MVo1MzJmQXE4b1dXWGNGUytnK2N5N2hLRGhBVlJ0T05xd1IxUWFtNWQ3U29L?=
 =?utf-8?B?d2RoRXJ2aXl0QlNXTWhCeVgybytmV2VOS0tmS2Ztc0dYcmZ3V29DZjgwZXRy?=
 =?utf-8?B?SmhVdENYRHBYc1hSVmU0VjRlR1h6bDVheHVyRjVETGIvazE0TGp6QVh6WnNx?=
 =?utf-8?B?bCtLUE05ZVkxK01Cb1dmNUVuNDVvRUpYdld6ODZQNjA4TCt3dUJuTVlXZEMx?=
 =?utf-8?B?d3VobjB1Z2JPNHFnTnFkQ0RTWkRyZlBnMnlSWmk5VUQ5UnBIZWFQMC9JTkx4?=
 =?utf-8?B?YTBWVjlEbnFFRXpacDJtNE5DbDhYa2tZc24rWXBBR2lGdW5nWVIwUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8de38f96-2b1e-4057-c613-08dec319fe32
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 15:49:14.1261
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CJb427S7C/kvVcThHeF5pcs1RNuivHjTbFKDVhpKogBrV7YtoZv9Cm3CaFubuVzcp5I3qRH4J4v6YO6GIBCQnw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB8095
X-purgate-ID: tlsNG-42698a/1780674560-18762F3B-690CBB14/0/0
X-purgate-type: clean
X-purgate-size: 5841

On Fri, Jun 05, 2026 at 04:41:58PM +0100, Andrew Cooper wrote:
> On 03/06/2026 8:18 pm, Roger Pau Monne wrote:
> > diff --git a/tools/tests/numa/harness.h b/tools/tests/numa/harness.h
> > new file mode 100644
> > index 000000000000..9eec77f31402
> > --- /dev/null
> > +++ b/tools/tests/numa/harness.h
> > @@ -0,0 +1,184 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +/*
> > + * Unit tests for NUMA setup.
> > + *
> > + * Copyright (C) 2026 Cloud Software Group
> > + */
> > +
> > +#ifndef _TEST_HARNESS_
> > +#define _TEST_HARNESS_
> 
> This is overly generic, and liable to break if anyone copies it.Â  Maybe
> NUMA_HARNESS, or WRAP_XEN_NUMA because ...
> 
> Looking below, how about naming it wrapped-xen-numa.h, so ...
> 
> > <snip>
> >
> > +
> > +static inline bool arch_numa_unavailable(void)
> > +{
> > +    return false;
> > +}
> > +
> > +#include "numa.h"
> 
> I presume this is the real xen/numa.h ?
> 
> > +
> > +#endif
> > +
> > +/*
> > + * Local variables:
> > + * mode: C
> > + * c-file-style: "BSD"
> > + * c-basic-offset: 4
> > + * indent-tabs-mode: nil
> > + * End:
> > + */
> > diff --git a/tools/tests/numa/test-numa.c b/tools/tests/numa/test-numa.c
> > new file mode 100644
> > index 000000000000..bced68d4d7f1
> > --- /dev/null
> > +++ b/tools/tests/numa/test-numa.c
> > @@ -0,0 +1,222 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +/*
> > + * Unit tests for NUMA setup.
> > + *
> > + * Copyright (C) 2026 Cloud Software Group
> > + */
> > +
> > +#include "harness.h"
> > +
> > +static paddr_t mem_hotplug;
> > +unsigned int __read_mostly nr_cpu_ids = NR_CPUS;
> > +
> > +#include "../../xen/common/numa.c"
> 
> ... this hasÂ 
> 
> #include "wrapped-xen-numa.h"
> #include "../../xen/common/numa.c"
> 
> which I think is clearer to follow.
> 
> > <snip>
> >
> > +int main(int argc, char **argv)
> > +{
> > +    static const struct {
> > +        struct mem_affinity affinity[MAX_RANGES];
> > +        struct mem_range ram[MAX_RANGES];
> > +    } tests[] = {
> > +        /* AMD Turin system. */
> 
> I'd suggest /* From an arbitrary AMD Turin system */
> 
> Just "AMD Turin system" feels a little as if all systems are like this,
> which is absolutely not the case.
> 
> > +        {
> > +            .affinity = {
> > +                { .nid = 0, .start = 0x00000000000ULL, .end = 0x0000009ffffULL },
> > +                { .nid = 0, .start = 0x000000c0000ULL, .end = 0x000afffffffULL },
> > +                { .nid = 0, .start = 0x00100000000ULL, .end = 0x0c04fffffffULL },
> > +                { .nid = 1, .start = 0x0c050000000ULL, .end = 0x0fc4fffffffULL },
> > +                { .nid = 1, .start = 0x10000000000ULL, .end = 0x183ffffffffULL },
> > +            },
> > +            .ram = {
> > +                { .start = 0x00000000000ULL, .end = 0x0000009ffffULL },
> > +                { .start = 0x00000100000ULL, .end = 0x0007590ffffULL },
> > +                { .start = 0x000759d1000ULL, .end = 0x00075a0ffffULL },
> > +                { .start = 0x00076000000ULL, .end = 0x00094c73fffULL },
> > +                { .start = 0x0009b5ff000ULL, .end = 0x0009fff9fffULL },
> > +                { .start = 0x0009ffff000ULL, .end = 0x0009fffffffULL },
> > +                { .start = 0x00100010000ULL, .end = 0x0fc4fffffffULL },
> > +                { .start = 0x10000000000ULL, .end = 0x183f7ffffffULL },
> > +                { .start = 0x183f8800000ULL, .end = 0x183faabffffULL },
> > +            },
> > +        },
> > +    };
> > +    int ret_code = EXIT_SUCCESS;
> > +
> > +    /* Dummy firmware interface provider name, use TST for TEST. */
> > +    numa_fw_nid_name = "TST";
> > +
> > +    for ( unsigned int i = 0 ; i < ARRAY_SIZE(tests); i++ )
> > +    {
> > +        paddr_t min = ~(paddr_t)0, max = 0;
> > +        unsigned int j;
> > +
> > +        numa_reset_state();
> > +
> > +        ram = tests[i].ram;
> > +
> > +        for ( j = 0;
> > +              j < ARRAY_SIZE(tests[i].affinity) && tests[i].affinity[j].end;
> > +              j++ )
> > +        {
> > +            const struct mem_affinity *affinity = &tests[i].affinity[j];
> > +            paddr_t length = affinity->end - affinity->start + 1;
> > +
> > +            if ( !numa_update_node_memblks(affinity->nid, affinity->nid,
> > +                                           affinity->start, length, false) )
> > +            {
> > +                printf("Fail to add NID %u [%" PRIpaddr ", %" PRIpaddr "]\n",
> > +                        affinity->nid, affinity->start, affinity->end);
> > +                ret_code = EXIT_FAILURE;
> > +                continue;
> > +            }
> > +
> > +            min = min(min, affinity->start);
> > +            max = max(max, affinity->end);
> > +        }
> > +
> > +        if ( !numa_process_nodes(min, max + 1) )
> > +        {
> > +                printf("Unable to process nodes\n");
> > +                print_ranges(tests[i].affinity);
> > +                ret_code = EXIT_FAILURE;
> > +                continue;
> 
> This is mis-indented.Â  Best double check the whole file.
> 
> > +        }
> > +
> > +        for ( j = 0;
> > +              j < ARRAY_SIZE(tests[i].ram) && tests[i].ram[j].end;
> > +              j++ )
> > +            if ( !test_paddr(tests[i].ram[j].start) ||
> > +                 !test_paddr(tests[i].ram[j].end) )
> > +                ret_code = EXIT_FAILURE;
> > +    }
> > +
> > +    return ret_code;
> 
> This is fine for now, but we're going to have to consolidate the
> patterns eventually.
> 
> Do you have a Gitlab CI run with this passing?

Yes, this for example:

https://gitlab.com/xen-project/hardware/xen-staging/-/jobs/14693648817

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 15:54:01 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 15:54:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329744.1593745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVWru-0002ue-Ki; Fri, 05 Jun 2026 15:53:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329744.1593745; Fri, 05 Jun 2026 15: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 1wVWru-0002uX-I3; Fri, 05 Jun 2026 15:53:58 +0000
Received: by outflank-mailman (input) for mailman id 1329744;
 Fri, 05 Jun 2026 15:53:58 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wVWrt-0002uQ-T5
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 15:53:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVWrr-001cdz-HP
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 17:53:55 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a22f0fc-2eae-0a2a0a5409dd-0a2a4504b2f6-22
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 17:53:55 +0200
Received: from [52.101.48.58]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a22f111-1dec-0a2a45040019-3465303a18b8-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 17:53:55 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SA1PR03MB6545.namprd03.prod.outlook.com (2603:10b6:806:1c4::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Fri, 5 Jun 2026
 15:53:51 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.007; Fri, 5 Jun 2026
 15:53: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NQ1/56cVOsZoUaF04XUzBTHuHnPZuTPQGOyg19KN6o9UKecbPYpS/VOQiMZUkxPj4hXakVqt1D2Z+1r6GemHz8B5q8zxgTU4ijw2vFzREGck6aH4m1gV22pns0DBhWH0wEBbC2CDIH0fikOXnE+Dl74rZ9Ic9aXhlvcngCjhYeLA0rkPOL1EzYgs/htPqtbEVKkMjW+x9dVKmUqTliLqYhz8cf1jn86vQlxLyOhV/qkDZZtNXQAFj3spSCg+uGr+rSO9CsKBhHoIBn+hXsuniGjB8awGFfNevMTd7OfXoC+ntK2X3PwQN5tE5aCsKB7XUy0gZA7/mc2kXg4qfLJLsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QcfU634S+PKybxdDqSJuwCFzJjKF6da2VNhhC5xtBj8=;
 b=BD/lQ/CCzyUM3jt2c++zEn2wDEFHUT38zFzzVffVog+Nxr4TDq+VIg1FFPC63o56hnp06fQe+TBgWLFAbZkoFtonxtBkzChJZJEvFfOffnyppP64zy1wRjpMO0M6V1wnRHfxsAVBHYnAAXXSmzNrRTgwLaz0LhAJRjzw2rhmTKrJZeP2qmCgCKRVZivBOmLC4yRSBIGeE/qb8RdPTE38ktrNmxzWPhM/E2ni59O54Q1mO2zd4hYyx6kg8oNK8VlLpnLDZJwzGY5bbxIIDLH9ukffrnMQw2gr/nPBj2dH+O30I9nJbOT44ocnZjBv0mxAWfpvojMX6QuY1zucaj0pMA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QcfU634S+PKybxdDqSJuwCFzJjKF6da2VNhhC5xtBj8=;
 b=YPbnZ0MUo7bBOz/0jFdziumUkH+Pl4d93kTYs8m0TLi59TCwRe+Tj80at6DXL4ErsJTAHHqPMs8kKaF4bdUtvLRnMkeuqavQrbkzSuok8+PXQ7vTjnZ3euLpbpWC+kgcR52Tbyoa9fyaMSXzQSyOYGLa1SD5Pl4scSxw5IDRlN0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <f4e8d445-2679-41a5-8966-bf36fcfa2568@citrix.com>
Date: Fri, 5 Jun 2026 16:53:48 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org, Anthony PERARD <anthony.perard@vates.tech>
Subject: Re: [PATCH for-4.22 v2 4/5] tests/numa: add unit tests for NUMA setup
 logic
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20260603191836.77955-1-roger.pau@citrix.com>
 <20260603191836.77955-5-roger.pau@citrix.com>
 <ff3d8693-3357-4d64-8306-fb1378bc41a8@citrix.com>
 <aiLv97hjEbG5PQAu@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: <aiLv97hjEbG5PQAu@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P302CA0014.GBRP302.PROD.OUTLOOK.COM
 (2603:10a6:600:2c2::15) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SA1PR03MB6545:EE_
X-MS-Office365-Filtering-Correlation-Id: 6741cd4d-7a4f-4338-59a9-08dec31aa3b2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|4143699003|11063799006|56012099006|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	9FUpsOze1Lvnam+vAoTbYvNtt0xhZVdeLp0gpMOvp4ou7E+SR/L/FECEV5NWdilcsYvZ6mPSWP2TEJiBOwQqVtZLCKe5IrDAvckrPJoC7H5ExBEmWr11K5V8fYjp89edW30+WY6R8IRbkIo10K1/wCykcFpwUmwqjnQfRUGWP0n9E9qawUEn/IJNVGWWMJqKlCxb+J6XTaBya1ouIiui+lsRj9rdPNa730Gu5TRmPiBAD8t/a2jjWUVcm0ObrYBJ2p77n1vezi8JDKokx0SRBS9OOwK5qJr9NA78Tu0UlKpKDn/Vr5+2Ul6Y8Ax3dCvprWP0rNiIOKCbIftw0QtyUcDuMcGpjlwFAL3jtFIncnrYYI8FRbKaCuuc8H/ohe49eqT92YD3AnJChY/roIaLZSmrPlBJUop96qT5uc1yr8n97YlzKyBDMYARmWS5eiyPt4Ry8cWy9PD6lADZ43xmanPR1nfQUkRisD5JhDY5kd6JigXcXuCNXIbIELwuOAf1bliER2YOax/E6k19SdDHjLJBP826FjcBZtHfgadKc/ETp+DTQy4EBs91v2X30AKINnTTc5X41MM/R2/VuChBNJI9BIuVS0oZoP+xF/gX/EnUbFvmT04g8MjZ3u2jdjGcyaEdAmmDjtPiWL/oy1zOvC7hkbDFq1J5GfReFPJnV+qToTKtBuEOWgSNEI91PZpGX1ka9FqZINP8hQhCCUdJeg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(4143699003)(11063799006)(56012099006)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M3cwbzVJaUJ2Z3ZxQm90SUR1cjNaRjJRamFTZTVPRUFjREZ0UWxvVksvMThD?=
 =?utf-8?B?MDArTzk5RVNkWStoZUNDdjh2eFB5NFlJWmpTMVdyNHNKOTlIcnVsUHpyRHM2?=
 =?utf-8?B?RGxJd3pxa3ZtalBSVnhDMGlncUpHbkpWUC9aRXRKVlU2MjdGR3Z3K0FGNk9P?=
 =?utf-8?B?UXlCZm1YSjNmd3Vyd2JKa1BjQldxK0crRVpUS2d5YWdzc1gxSTJNSDdDMlgw?=
 =?utf-8?B?cDJDU0NiaFJLb290VUdKRHI0bFBNNzRzc1cvbCtJMzRuK1N3MjdVbU12d1JN?=
 =?utf-8?B?aDkyKzA3Y2lSaU9nT211NDcwZnl0TmN1Z2ptWTBSKytaTUd4RTJFUTZQNGlx?=
 =?utf-8?B?WWN1bEVseS9kaWh6cmNhTVBtWnExbHAweG1PeVlTODNBaXRMQzFzeG5KTVJB?=
 =?utf-8?B?ckF5WFpiSnFuOWdpNU44L3JkNFdlaGZBWU8zZ2treG53M3ZGcXdWS0JKL2cx?=
 =?utf-8?B?bU9MQlIvSXhsWVJKR0pOenlwbW1UcWd6bWptbzJxOXNFQStHeFd1N2liVEha?=
 =?utf-8?B?ajhBZ20rQTZ2aG9GSDZnaEp6NjFtVU90dGNqaG1jYkVrRU1URGNBYTE4Nmhs?=
 =?utf-8?B?aEQ1bHlVa1RiTjFROVA1djZLaSs5SEpVNDhYUmh0V2EzS1JicEtpQTVvWUhH?=
 =?utf-8?B?dVVka2hNVnU2Ky9uTkIveHJRc21iSGR6ZlVqQXJUNVRpdXdxejhHOGtPYWln?=
 =?utf-8?B?VnNIVkZUNkc4K3pTcFAxMEpGb2VHM05GN3o0MkxSZG5ra2EveVBOcytVVVVa?=
 =?utf-8?B?ZTB3MC96eEJLRVIrVk9nUDhRS0pGT1Bpb1BiaUphUGo1Z2ljOFhpeXlka0Za?=
 =?utf-8?B?MWU0REIrZTBCS0lReUZZNms5azJKalhUSkxMRHd4eXF6QmhzTWY4RTEvdTQ0?=
 =?utf-8?B?ekZ3cXErSlJwdWRoTkRrSWVXZElJYzdkRmJHSHhCVEJYeGRWS2M3dkQ5enpi?=
 =?utf-8?B?SE5XcEYrY0hEWHNQeGRoK3hvL2xqNm9XMUN6dUpOSVRSWXVoTklDR0dKcFFz?=
 =?utf-8?B?ay9YcWczM05TZmFwNEV6RGZTblRrSlRjWTlrenJMWmZ6YkVUMHZ6ZURITDhW?=
 =?utf-8?B?UVVvN2NsUkJ6QWxOVjJxMHJGS0JJdEVUcEdTU0xFNWNZS0QwQ1RsQndwUHBj?=
 =?utf-8?B?RmU1aEN0OTZlMHY2Z0xQQ0ppdzArdVNhQ3BaVCt0SHFEc3J2RG04cExFaTlU?=
 =?utf-8?B?NGY4MEY2NkdiZmdCTDlDZ2Q3b1c2MVhROTlnWHl1L25vdzArTFExajBCcTU5?=
 =?utf-8?B?ckJTREhvZzc3c0dYQW93R053MjFDOWZDdXJ5OSs3dll1OVhSZlh1c0g1VnE2?=
 =?utf-8?B?MHViZ2U1ckVhOW8veks0akJwMzh5dVJ3TTFjVTM2dE50VXdiZ1JBdWRteHYw?=
 =?utf-8?B?UmdObTM4dTZTdVZwLzRyNzgxNlJvU1Z0Z0Z6bXR3dUdVbWI1SEpUN0V4dEoz?=
 =?utf-8?B?eXhJdU5DV3BXZTdEMUJ0SHg0T1l2VUtVWmRGYXhZMUV6Z2liekZPcE9vMURR?=
 =?utf-8?B?Unplb2hJY0o1ZEk5VGNaQTNmTVNwd012WGlsTXB4TkdScEVUMENscENIazBE?=
 =?utf-8?B?SlpWdlBsZE93U1FzOENoWGpoL1JrL2dLTnVSU2JLbXRzeFloeGJ1dlo5Vnpm?=
 =?utf-8?B?cllqVTAvTVY2aSszcDRCN0x2eS9BZ093dml1bGpLQkZjT2k1aCt0UnJoNUYv?=
 =?utf-8?B?MFh5RS9wTzA1UmxmSTAwSmpRSVFnS0tFc0Z1TWFBU2VoMjF2RzhtLzF6NXh6?=
 =?utf-8?B?Z0MyUThGSEYvekdxdlhGUzBTUlpNT3QrTWpLR29GcFpNb1RrOWlvUTJYbzVl?=
 =?utf-8?B?Y05YVGp0OFFHa3RLNzlxV1RibExYTENQQmhDaTk2RGJtaFZEUDNWcExnQXZw?=
 =?utf-8?B?V2EwMTd5enpSM3dvcVE4Vlp1YXRmL2ZOaGk0dmJLeENnK1hjRzZmNVF6VXpE?=
 =?utf-8?B?YWhZaDhoRTAreU0xdXpwaXhmci9oQi9VejltbFNNMS8xVVIyellYWkEwZGZv?=
 =?utf-8?B?OXhDK3ZYenB3TzBSZCt6cEZOMVhvb0hHRWtHb001QmNUeFRhNDY3QzVpanZU?=
 =?utf-8?B?aERLYXY5ME53dDNmTkt6WTliOVlTckFOaDdEcXAxRXFQWERMRmtxS2hpZXdp?=
 =?utf-8?B?QW1ZWWsyaEkzTktxdGJNeCt3cHUvcm01Uk9Id3JjUEpWOTV0dUJiUUVzRWFO?=
 =?utf-8?B?T2h4QUxYNXVYTEdoK1J0TUtHTUg4ZVF5TVR3VlYxTGo3OWdXZmh5TGFCYUlF?=
 =?utf-8?B?ZExTbDJqSi8yRFlpSTZOR3plU3RJN1RlUTRJSkUwZ1Y3dUtBNGRXYmplU09H?=
 =?utf-8?B?ckNJek85dUlCazAxYjF0dE04QnZjUStiWHJhZ1hpNFdBejJXdU1YdFkrak12?=
 =?utf-8?Q?EIresvhv+4Fazvdw=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6741cd4d-7a4f-4338-59a9-08dec31aa3b2
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 15:53:51.7035
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: W5siuXyDTo2C1RlGbS6F+DpLN84DbU18RUVSXvw3SGYyeDeU9LjsGtQ5TQM0gPm7dDY3NIUUKz6TOyaWU+AZecBhmoZmg4X5UDhUCyyUXVU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6545
X-purgate-ID: tlsNG-ebf023/1780674835-40F753FF-FF4EF19F/0/0
X-purgate-type: clean
X-purgate-size: 5973

On 05/06/2026 4:49 pm, Roger Pau MonnÃ© wrote:
> On Fri, Jun 05, 2026 at 04:41:58PM +0100, Andrew Cooper wrote:
>> On 03/06/2026 8:18 pm, Roger Pau Monne wrote:
>>> diff --git a/tools/tests/numa/harness.h b/tools/tests/numa/harness.h
>>> new file mode 100644
>>> index 000000000000..9eec77f31402
>>> --- /dev/null
>>> +++ b/tools/tests/numa/harness.h
>>> @@ -0,0 +1,184 @@
>>> +/* SPDX-License-Identifier: GPL-2.0-only */
>>> +/*
>>> + * Unit tests for NUMA setup.
>>> + *
>>> + * Copyright (C) 2026 Cloud Software Group
>>> + */
>>> +
>>> +#ifndef _TEST_HARNESS_
>>> +#define _TEST_HARNESS_
>> This is overly generic, and liable to break if anyone copies it.Â  Maybe
>> NUMA_HARNESS, or WRAP_XEN_NUMA because ...
>>
>> Looking below, how about naming it wrapped-xen-numa.h, so ...
>>
>>> <snip>
>>>
>>> +
>>> +static inline bool arch_numa_unavailable(void)
>>> +{
>>> +    return false;
>>> +}
>>> +
>>> +#include "numa.h"
>> I presume this is the real xen/numa.h ?
>>
>>> +
>>> +#endif
>>> +
>>> +/*
>>> + * Local variables:
>>> + * mode: C
>>> + * c-file-style: "BSD"
>>> + * c-basic-offset: 4
>>> + * indent-tabs-mode: nil
>>> + * End:
>>> + */
>>> diff --git a/tools/tests/numa/test-numa.c b/tools/tests/numa/test-numa.c
>>> new file mode 100644
>>> index 000000000000..bced68d4d7f1
>>> --- /dev/null
>>> +++ b/tools/tests/numa/test-numa.c
>>> @@ -0,0 +1,222 @@
>>> +/* SPDX-License-Identifier: GPL-2.0-only */
>>> +/*
>>> + * Unit tests for NUMA setup.
>>> + *
>>> + * Copyright (C) 2026 Cloud Software Group
>>> + */
>>> +
>>> +#include "harness.h"
>>> +
>>> +static paddr_t mem_hotplug;
>>> +unsigned int __read_mostly nr_cpu_ids = NR_CPUS;
>>> +
>>> +#include "../../xen/common/numa.c"
>> ... this hasÂ 
>>
>> #include "wrapped-xen-numa.h"
>> #include "../../xen/common/numa.c"
>>
>> which I think is clearer to follow.
>>
>>> <snip>
>>>
>>> +int main(int argc, char **argv)
>>> +{
>>> +    static const struct {
>>> +        struct mem_affinity affinity[MAX_RANGES];
>>> +        struct mem_range ram[MAX_RANGES];
>>> +    } tests[] = {
>>> +        /* AMD Turin system. */
>> I'd suggest /* From an arbitrary AMD Turin system */
>>
>> Just "AMD Turin system" feels a little as if all systems are like this,
>> which is absolutely not the case.
>>
>>> +        {
>>> +            .affinity = {
>>> +                { .nid = 0, .start = 0x00000000000ULL, .end = 0x0000009ffffULL },
>>> +                { .nid = 0, .start = 0x000000c0000ULL, .end = 0x000afffffffULL },
>>> +                { .nid = 0, .start = 0x00100000000ULL, .end = 0x0c04fffffffULL },
>>> +                { .nid = 1, .start = 0x0c050000000ULL, .end = 0x0fc4fffffffULL },
>>> +                { .nid = 1, .start = 0x10000000000ULL, .end = 0x183ffffffffULL },
>>> +            },
>>> +            .ram = {
>>> +                { .start = 0x00000000000ULL, .end = 0x0000009ffffULL },
>>> +                { .start = 0x00000100000ULL, .end = 0x0007590ffffULL },
>>> +                { .start = 0x000759d1000ULL, .end = 0x00075a0ffffULL },
>>> +                { .start = 0x00076000000ULL, .end = 0x00094c73fffULL },
>>> +                { .start = 0x0009b5ff000ULL, .end = 0x0009fff9fffULL },
>>> +                { .start = 0x0009ffff000ULL, .end = 0x0009fffffffULL },
>>> +                { .start = 0x00100010000ULL, .end = 0x0fc4fffffffULL },
>>> +                { .start = 0x10000000000ULL, .end = 0x183f7ffffffULL },
>>> +                { .start = 0x183f8800000ULL, .end = 0x183faabffffULL },
>>> +            },
>>> +        },
>>> +    };
>>> +    int ret_code = EXIT_SUCCESS;
>>> +
>>> +    /* Dummy firmware interface provider name, use TST for TEST. */
>>> +    numa_fw_nid_name = "TST";
>>> +
>>> +    for ( unsigned int i = 0 ; i < ARRAY_SIZE(tests); i++ )
>>> +    {
>>> +        paddr_t min = ~(paddr_t)0, max = 0;
>>> +        unsigned int j;
>>> +
>>> +        numa_reset_state();
>>> +
>>> +        ram = tests[i].ram;
>>> +
>>> +        for ( j = 0;
>>> +              j < ARRAY_SIZE(tests[i].affinity) && tests[i].affinity[j].end;
>>> +              j++ )
>>> +        {
>>> +            const struct mem_affinity *affinity = &tests[i].affinity[j];
>>> +            paddr_t length = affinity->end - affinity->start + 1;
>>> +
>>> +            if ( !numa_update_node_memblks(affinity->nid, affinity->nid,
>>> +                                           affinity->start, length, false) )
>>> +            {
>>> +                printf("Fail to add NID %u [%" PRIpaddr ", %" PRIpaddr "]\n",
>>> +                        affinity->nid, affinity->start, affinity->end);
>>> +                ret_code = EXIT_FAILURE;
>>> +                continue;
>>> +            }
>>> +
>>> +            min = min(min, affinity->start);
>>> +            max = max(max, affinity->end);
>>> +        }
>>> +
>>> +        if ( !numa_process_nodes(min, max + 1) )
>>> +        {
>>> +                printf("Unable to process nodes\n");
>>> +                print_ranges(tests[i].affinity);
>>> +                ret_code = EXIT_FAILURE;
>>> +                continue;
>> This is mis-indented.Â  Best double check the whole file.
>>
>>> +        }
>>> +
>>> +        for ( j = 0;
>>> +              j < ARRAY_SIZE(tests[i].ram) && tests[i].ram[j].end;
>>> +              j++ )
>>> +            if ( !test_paddr(tests[i].ram[j].start) ||
>>> +                 !test_paddr(tests[i].ram[j].end) )
>>> +                ret_code = EXIT_FAILURE;
>>> +    }
>>> +
>>> +    return ret_code;
>> This is fine for now, but we're going to have to consolidate the
>> patterns eventually.
>>
>> Do you have a Gitlab CI run with this passing?
> Yes, this for example:
>
> https://gitlab.com/xen-project/hardware/xen-staging/-/jobs/14693648817

Ok.Â  Acked-by: Andrew Cooper <andrew.cooper3@citrix.com> preferably with
the suggested adjustments.


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 17:25:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 17:25:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329868.1593753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVYHp-0002pj-W1; Fri, 05 Jun 2026 17:24:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329868.1593753; Fri, 05 Jun 2026 17:24: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 1wVYHp-0002pc-TA; Fri, 05 Jun 2026 17:24:49 +0000
Received: by outflank-mailman (input) for mailman id 1329868;
 Fri, 05 Jun 2026 17:24:48 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wVYHm-0002pW-Vu
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 17:24:48 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVYHm-008EjS-Bx
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 19:24:46 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a230655-2eae-0a2a0a5409dd-0a2a450be09a-24
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 19:24:46 +0200
Received: from [148.163.143.241] (helo=mx0b-00498f03.pphosted.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a23065c-212f-0a2a450b0019-94a38ff1b3f8-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 19:24:45 +0200
Received: from pps.filterd (m0367129.ppops.net [127.0.0.1])
 by mx0b-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 655EJwum868537
 for <xen-devel@lists.xenproject.org>; Fri, 5 Jun 2026 17:24:44 GMT
Received: from sn4pr0501cu005.outbound.protection.outlook.com
 (mail-southcentralusazon11011021.outbound.protection.outlook.com
 [40.93.194.21])
 by mx0b-00498f03.pphosted.com (PPS) with ESMTPS id 4em04h23t6-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 17:24:44 +0000 (GMT)
Received: from BN0PR10CA0029.namprd10.prod.outlook.com (2603:10b6:408:143::7)
 by PH0PR16MB5110.namprd16.prod.outlook.com (2603:10b6:510:295::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.9; Fri, 5 Jun 2026
 17:24:41 +0000
Received: from BN3PEPF0000B06D.namprd21.prod.outlook.com
 (2603:10b6:408:143:cafe::6c) by BN0PR10CA0029.outlook.office365.com
 (2603:10b6:408:143::7) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.9 via Frontend Transport; Fri, 5
 Jun 2026 17:24:40 +0000
Received: from mx0a-00498f04.pphosted.com (205.220.161.53) by
 BN3PEPF0000B06D.mail.protection.outlook.com (10.167.243.72) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.113.2
 via Frontend Transport; Fri, 5 Jun 2026 17:24:40 +0000
Received: from pps.filterd (m0426317.ppops.net [127.0.0.1])
 by mx0a-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 655HDn6F3759945
 for <xen-devel@lists.xenproject.org>; Fri, 5 Jun 2026 13:24:39 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-use.ser.proofpoint.com
 [3.215.31.156])
 by mx0a-00498f04.pphosted.com (PPS) with ESMTPS id 4egeyptbtv-5
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 13:24:39 -0400 (EDT)
Received: from localhost ([19.12.92.221]) by cmsmtp with ESMTPSA
 id VYHdwczNKfWWnVYHewN274; Fri, 05 Jun 2026 17:24:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppford; bh=w9aI1eSfG4UUnfqQcZmCpgTVs3c
	Du7Fon9xzFxTJSUM=; b=eKALd3B+yWQkPJmhh7YxS2e1XLe7WSgc+/CRnUnPAz3
	a++jaVAFVnL9Amu6xZjSyEOIWlkiAXg+8jQqTM5AyEVmkfupMVb8YcupGli9zmLV
	W3E7OVC8kqknkABHi6z5WnJmD0niXDCwVQraetjJhPrOgxI+QPXsRS9BFG+/zeiP
	LXPSb1N5n7B0c1G1wI9jbP6Ymnw/tPGqnVbQHWwMRjzpl4MuhsXRJ05+MRKqXjGp
	UrsmvU6hassUY3SZR8Ae0qkmfmGVQH4mF71EeR2Te9i2lCa49MJtMGFExUcYmOyE
	j6rI43ZE8h13pd+vcCK11/Um7yx+VbKL0gyn0otjmqA==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=WihX7uGltcmxfKdK30mloIK8GqX7eQxW+FOxaMzOmMK6DGs8y/jFL36OQn3UiPWosyTe69/2VftJ0epMBzV5ttnULx2vIsD+wfTZ0VsOttHjuzxk7HQh0pxdcrM5TfOL6bZ23QK1Jso+Cb0d+0JXIAq0mvqgrLz7H0Zy2vdoJV+G+5u8314dYl1oMKkYf009gtG6SKfX8WS13I2iLbwO/s45HOh9YuUC998bmkPQaeX5fHgnvnLSCsuD8hXx8Q9ZfWJrIz29dEcWdLNa8S2mbE+wjknUkTC+zZ+mhweja6bo9jj+en2Ww5k9VIThv/PAMhep1T8oP3Hlw9bafuaRFg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=w9aI1eSfG4UUnfqQcZmCpgTVs3cDu7Fon9xzFxTJSUM=;
 b=eAuYQuCu7TKy1y34vy9MCcIqGy2kxQV8t1cgHTvno8UdjBrStqXyRFZ5KUmLgOvl7swIFgGSpD56MR0VvDv3p/7YR5ogUjNwWJUQLKXmHglrL3DxjPwh1LEigjqZ0PReBUbQiPgQ1V1ZDs4dAcdBqiFfMbRc4DlDTw55O3nep3SoHT4RzaGexSiIMbowfROQMmgcPbtUalx329RCyimJx/aE8dJ3gUTESTpA/FPPDTVrx9B0gKfk0z0hLyS9lhJwNQ2n97Pdusgy7wqn+imEMg5aY5NjMeKwCn41IZl003o+VvJPqccF58O4XdVi1xRDAAr7YNQVRLKPVeKiQ6J2gw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 205.220.161.53) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=w9aI1eSfG4UUnfqQcZmCpgTVs3cDu7Fon9xzFxTJSUM=;
 b=ZLuSrRA3XyS1PmyftYACGDOI7UQkuy2yTcAButNWHC3e6vKi+mXuWMf7AiFAtnkYazpRSVDqOM/WCqDsmpHLa56ljPcUf7xRBVGQgdo+QT129YD86ZPA54O80YayE57M0JBA7nkhQuaIEfUFumRcve7UYKJcP/ecT87RGR31qDQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 205.220.161.53)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 205.220.161.53 as permitted sender) receiver=protection.outlook.com;
 client-ip=205.220.161.53; helo=mx0a-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppserprodsaar;
	 bh=w9aI1eSfG4UUnfqQcZmCpgTVs3cDu7Fon9xzFxTJSUM=; b=gZEx2h9wMoDh
	/nQHHGWcQv4K6s1Yt1s/6S58uBYQO++8WftaWGT3a+bps6PT+CLAJBLQyNpQnDyI
	OWKRXpUE/5UdO1jg6tZ9hfbCVGF5IQXvir6iHMnHxoTygxjP4XoPiMCP3gq09ZuZ
	w9pGPVpGjlmsLGQindTXUdHlzjkq3XlLloMBB+S6kdg9hI9+y84iVfdpDvRHjiVA
	xXYAVF9+A0njLtUxpR0jhARhOQ9wCz12fppz3y8oljQoWmXfBayw2Usql5SJVY52
	m+ZspX3tUrsLguNdOZ+sDajbxPbDqZ4E1BN5dLDHrALFUYNLpNFsFIqarhAeYo1D
	qBGWrE7jDA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppfserpocford; bh=w9aI1eSfG4UUnfqQcZmC
	pgTVs3cDu7Fon9xzFxTJSUM=; b=Fv8Ip7+vkEpLfyRBE735CJJiSx1ruol08c+c
	JehIWl3LtObADYaNbBiuRSNj0d4WRc8oAUJLov2jM4h6a3uciJgnq/J2Ihci43IE
	lix4VFNk2E1ya0OEYB3DfpCnm/N5G3BNlLPcMgwEFaWBsCCJJb59ZsOgJQXjKuID
	Fw4Db3tL5kQtaRhLn4ech0Jc6csywvVDuKbwflj87vFceXpRoB8NIs2WPvCdOJZy
	wXLY4ZF1TFObqFqukOIivc8L47XAJrTdoEH+0mm79+ctn7vWfmlRj+73+odAz8tx
	IljAcfXPKwJAxrDkEBDRtTRjPYopFcmtMOcWP678JYGwphPhpQ==
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: VYHdwczNKfWWnVYHewN274
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
Date: Fri, 5 Jun 2026 10:24:36 -0700
To: Jan Beulich <jbeulich@suse.com>
Cc: dmukhin@ford.com, andrew.cooper3@citrix.com, anthony.perard@vates.tech,
        julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com,
        sstabellini@kernel.org, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v6 0/6] argo: few log fixes
Message-ID: <aiMGVAl7TvVnRcTX@kraken>
References: <20260604214926.1735194-1-dmukhin@ford.com>
 <029a2474-775b-4846-90b5-26509c2bb655@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <029a2474-775b-4846-90b5-26509c2bb655@suse.com>
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-05_03,2026-06-05_02,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0
 adultscore=0 lowpriorityscore=0 malwarescore=0 spamscore=0 suspectscore=0
 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606050171
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B06D:EE_|PH0PR16MB5110:EE_
X-MS-Office365-Filtering-Correlation-Id: 3733078b-9f4e-49d0-5a06-08dec32753bd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|36860700016|376014|4143699003|11063799006|56012099006|22082099003|18002099003|13003099007;
X-Microsoft-Antispam-Message-Info:
	D07xhmAvQ/A68Fh28iA671rDPK40I0+deuMK9yyHFTeI+NVYF8LkNihX6AuiQrKAuMGSUPoP6LUHqwjaQWo9lPvV0Lh5yHEdw3+JOAwiwXPlJxNRIzHnIyskm/04kSTRc4RoeFS/G+zx3fGxIHf9/Oz3qEJbe73Wf/aHEibQRFiLq5MrGdQMGd3Yd6caIr1lQzGNpb+DadpSZeCCq6sq+R+nrVQ/h3rP0efRFBC9ECCnOnzpLIaC+MagbEFSmkMzqtKKOGcDXw2qFIB9JcT4Dwc6/fxm3RZj/xH0T3j4Rwrnpaty5uMCAhy7ecTurun/rtXkbduDzvAXtVl9wcrNt99ghbR/4d9Pg77bdegMAiSyiYMWT89kxbiRJa0TMwuni0R7HeWv7ThnBnqqSlPPFJwP5+P7VonfZdJePNXXOoUM3Ia9A1xf5Oybxql43+iiugeM9bpCQRunGJ+EYXLetWcVTxivGP4jfqT0/s9WTCO7hd9qmb3v7jbxR+wXz3VC3ZSfzdlOAP/6KNfSMy8X18nLm8IMYI0oxG7lGnzXc54U9RiF9YWrb3nfvJL6Mc6evAQkgdUIfGGmTK1sY41E6kfqY+f5C34ucjWzLZch/kTUrIukDCPb7p0fxA/CpWbu2lx0oQ54QUWKShbF6CKmca4G1xn9VlFBvM2Bfhk5tPnKWb54HPbUDk+VPmBlR3dgTyORMAhF+3AK7xkpMMjqoFL2L/Rdqyqv7UxUrGO1eZZMZkNUyyU2i9M9VniVSTUx
X-Forefront-Antispam-Report:
	CIP:205.220.161.53;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0a-00498f04.pphosted.com;PTR:mx0a-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700016)(376014)(4143699003)(11063799006)(56012099006)(22082099003)(18002099003)(13003099007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	KiHUg0Yopc7en0X2ytCamGx1E3ZhWsrwkoTgiBaZCjStaAtHUU3xkUrDUEKCyA62I5jg3FqjPpxIYfFmCa/m9BxSxdMzcV7jWHSwQ5z5XutDXrcGHIIEpjBS6kX65zBofLlOVfGNKqiCA795SKxumnGMRmjg4zEQ67iDd0v+LxF90VYMdhrF/lakZjZeioFf+G9oSCaL0WXNBDAupAGmFn2msAyQamksBRLk7x5uUVbUx2kCdyDsHDjzkXKWqwmw0DLsPSy5BmIxzIBmzDKUIkP1w9lsZFVqwaJsiimQhiCHsljJ1CAQklM2c8FfobQ2Ipg7I8jRjKCy9SsBJFCmoBaY8petcBuLITfYh1BjHEpH+hGVRuIKB+lnVb66kPK1zEp0gYtumIAGqW9rAzlPocKBTieYoCakHHtRkrdtih+FsQhbiGZ8UrQfvWNssKyw
X-Exchange-RoutingPolicyChecked:
	gbqRJv2s0PJg6UDflHmyXmGVsfuw9eBUqz3nZng++j30xFbjvCIbV67zW86lFWd0xB//2BHOuyXlbagZmVW5c6SMX003z56DVMhomBhtg31xFEEq7JdYHWo0DPzIai26lfAdd0eg9Utjm83soNqWqjfOiiPkrioUfUVbwtQmLp3j0mrocDJhiBCgSkGTOzNPvhhlafH2H4+hzSCAJyEeKtwyMUnHDOcLsBJBGVYBwyxhAN82Ffd3uyVMsxK5ZmgPdBe0R5s7yb7hSC0ITfWz/kGT1CenEgDM1H7r0U/CG3LK6nPggISzryNFiosDa4Ho1pjWN5tSgRMMU0g5ip8Vdw==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	msguyMfSSnsi9i+8AwSVYThLQy6Z5ZszVd+nKwQGbzKaYJXces8qS7jAAkLzNZEBdlTgE7Vc50EKSsM7jzZVggKKEyRP+gMgVx3K7vTLg7UrmESPEqYEUK7sTpwD5RBAm51mRgyag+EnyG+NvD2HGEpG7Ro17mbhWhIRivi/6OX848qOBnEfEFZvEZcQN3bOMamcAfV9HiXxNSDT4jirV5WweX8xOndso4kvK6E8J50vmno/KNApZO5FyDSREwcK2COq+ausbnMTq5spjNSimFF4om6KPjC8pdwMwDo2QH3yaznHldDmL9P/tT7R4tnIB6ns03PFhvFzn3t2Fw4RL4Qpz1JjhSPyfMScgWZtfnU5zwLMWuZihW9ttpACXRCXnF/oTBZq1mGhPzEQUds6FwTMlxUD4KE1wMBbeTxxm2SJ2BBMnNNfQh3Wmfe5VomTpoH4rhDfpmAFgkX0KCTFTDFkpQwrORzfsMJAsszhhGBOie3SIxp7On5nhRt8VisGFpgd2QnobRDVSu1qyw3Hg92eYUL73b9tnZWDBFgzMhSX7eqPLLk765ldadvlHz/bfJlJtxa2geQr7cjRDzGX5Um7uaS8y6wQI4oFCWs8/lHQrSnOOUaLuphJlvMp8JtM
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 17:24:40.5945
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3733078b-9f4e-49d0-5a06-08dec32753bd
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[205.220.161.53];Helo=[mx0a-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B06D.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR16MB5110
X-Authority-Analysis: v=2.4 cv=QKBYgALL c=1 sm=1 tr=0 ts=6a23065c cx=c_pps
 a=2plZotBPgSoI6Rnih3N6KA==:117 a=lOEMawUel/sSvQipkIvNbg==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=kj9zAlcOel0A:10 a=FelO9ux0wxsA:10
 a=3PXLN80vpJUA:10 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=P_n1zlmtWsCQbjROFjcg:22 a=X3KReqg2EL6A36SYCKpz:22
 a=p0WdMEafAAAA:8 a=VwQbUJbxAAAA:8 a=cbNQJ9GKAAAA:8 a=ff7NaItP40EVMNSKKJAA:9
 a=CjuIK1q_8ugA:10 a=G69WFyCBNqGPyalROSdv:22
X-Proofpoint-GUID: WQhpozjK27d85E1Y0FpTAGGBv6zlALvS
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA1MDE3MSBTYWx0ZWRfX4TSRxAQsvn3g
 0M5IKIglWGrbr8E+St5OMZEhOoi0YI8QZySN+uh1lWGf/rsIl3n+7ie/Do/COLca6LRLVmFhR8k
 LtwJ/HWhpibhipj6nNgGGkVQaZYAWoOM+WCvu6y5bi2DKldLMLMVrcz4zmvY+B7PsevO8t227z7
 7IOhq0c9kbwBI9/VgQJLFcG8iGIJQsvcwM3PB0Jwib6Es/9JV9imLtGxh2mijKvy7A7Opl8JgsC
 JSSuS9XhbgCn7yiBIRotErv6mnMNzKCjxPmFH0zI8KTECGmsyLQVzlKTmDH4iWezdr0rr/l3xqu
 9EhMPFpvk3Wp0rgtBGa2XOLFhOcKEI4VSnG3bKVYX55+ZHJUbW0c392ngbmH4XBvSFzZyiAJKME
 N8Yzw7gOZX/7ggs0WneCuNnkm4B35ffP34wcjxDjutXhI3Sq5zv8Bmh7HDXt75QjEg4GNhq5uK5
 UmCLvbi23zItmo9Bigg==
X-Proofpoint-ORIG-GUID: WQhpozjK27d85E1Y0FpTAGGBv6zlALvS
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-05_03,2026-06-05_02,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0
 priorityscore=1501 lowpriorityscore=0 phishscore=0 spamscore=0 suspectscore=0
 impostorscore=0 malwarescore=0 clxscore=1015 adultscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606050171
X-purgate-ID: tlsNG-42698a/1780680286-12D77F3B-0811CB0B/0/0
X-purgate-type: clean
X-purgate-size: 1490

On Fri, Jun 05, 2026 at 08:23:18AM +0200, Jan Beulich wrote:
> On 04.06.2026 23:49, dmukhin@ford.com wrote:
> > This series corrects Argo module tracing.
> > 
> > Patch 1 lowers the verbosity of a spammy log message.
> > Patch 2 corrects the debug logline.
> > Patch 3 cleans up existing loglines by dropping duplicate prefixes.
> > Patch 4 re-wires argo_dprintk() to gprintk() to include mode debugging
> >         context.
> > Patch 5 adds new Kconfig for short-circuiting extra verbose Argo traces.
> > Patch 6 enables extra verbose Argo traces in CI for ease of catching
> >         potential issues.
> > 
> > CI: https://gitlab.com/xen-project/people/dmukhin/xen/-/pipelines/2577682899
> > Link to v5: https://lore.kernel.org/xen-devel/20260603194131.1468654-1-dmukhin@ford.com/
> > 
> > Denis Mukhin (6):
> >   argo: lower level of noisy connection-refused log
> >   argo: correct logline in ring_unmap()
> >   argo: drop argo prefix from argo_dprintk() calls
> >   argo: fixup argo_dprintk()
> >   argo: introduce CONFIG_ARGO_DEBUG
> >   automation: enable Argo debugging in CI
> 
> I understand you want to be helpful with sending these updates in rapid succession.
> Yet as (attempted to) hint(ed) at before, please either do it properly or leave it
> at "committer can do minor adjustments", when that was offered. This time round you
> lost Oleksii's R-a-b. But no, please _do not_ send a v7 for that.

Thanks for help with the series!

--
Denis


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 18:04:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 18:04:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329902.1593763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVYuP-0001fK-S2; Fri, 05 Jun 2026 18:04:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329902.1593763; Fri, 05 Jun 2026 18:04:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVYuP-0001fD-Oj; Fri, 05 Jun 2026 18:04:41 +0000
Received: by outflank-mailman (input) for mailman id 1329902;
 Fri, 05 Jun 2026 18:04:39 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wVYuM-0001f7-4O
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 18:04:39 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVYuK-001zDS-1d
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 20:04:36 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a230f99-2eae-0a2a0a5409dd-0a2a450bc3ca-10
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 20:04:35 +0200
Received: from [148.163.143.241] (helo=mx0b-00498f03.pphosted.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a230fb2-212f-0a2a450b0019-94a38ff1c148-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 20:04:35 +0200
Received: from pps.filterd (m0367128.ppops.net [127.0.0.1])
 by mx0b-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 655GdtsM2672913
 for <xen-devel@lists.xenproject.org>; Fri, 5 Jun 2026 18:04:34 GMT
Received: from ph0pr06cu001.outbound.protection.outlook.com
 (mail-westus3azon11011005.outbound.protection.outlook.com [40.107.208.5])
 by mx0b-00498f03.pphosted.com (PPS) with ESMTPS id 4em265rtfj-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 18:04:34 +0000 (GMT)
Received: from MN2PR14CA0028.namprd14.prod.outlook.com (2603:10b6:208:23e::33)
 by DM4PR16MB5387.namprd16.prod.outlook.com (2603:10b6:8:185::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.9; Fri, 5 Jun 2026
 18:04:31 +0000
Received: from BL6PEPF00020E5F.namprd04.prod.outlook.com
 (2603:10b6:208:23e:cafe::3f) by MN2PR14CA0028.outlook.office365.com
 (2603:10b6:208:23e::33) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.10 via Frontend Transport; Fri, 5
 Jun 2026 18:04:31 +0000
Received: from mx0a-00498f04.pphosted.com (205.220.161.53) by
 BL6PEPF00020E5F.mail.protection.outlook.com (10.167.249.20) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via
 Frontend Transport; Fri, 5 Jun 2026 18:04:30 +0000
Received: from pps.filterd (m0373460.ppops.net [127.0.0.1])
 by mx0a-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 655GWGVN913026
 for <xen-devel@lists.xenproject.org>; Fri, 5 Jun 2026 14:04:29 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-use.ser.proofpoint.com
 [44.208.76.22])
 by mx0a-00498f04.pphosted.com (PPS) with ESMTPS id 4eggry2eju-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 14:04:29 -0400 (EDT)
Received: from localhost ([19.12.76.222]) by cmsmtp with ESMTPSA
 id VYuAwv6Lbpgi7VYuBw0DLy; Fri, 05 Jun 2026 18:04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppford; bh=+gXG3e88Uw6zWaw8ucqlkQXZkzn
	itqT4UT/zCyF0dOU=; b=AFGWVxlK3mub6BuGWu2AvmER4sv0A2/LwJJNr2RlkaO
	6tc28UXENsKGJF+0y5kyAfCY8M7nzZ8vGNwILdBM09QDgOnxIV2F1wek1R3K3IZj
	RY97TNxjWLbN6g6m7xTupTKDcQup8Z08SnxJm2v+RfLsqYz7Wll1qRD1GoyNa0U4
	mTzB6et5b6WZ1o30QdVvJIRf8u4tx6hDcJc//s+8Uw+nvty8QQVP9SemcRp2jv24
	AAkeF/za2a8j6awrw1ricjeyB58PCjaZZaqdczwUYDVHBtYBsodFaGvzLCM3695W
	zlHL7ZQyWS4gHBZ6VM1fnSC0VoFnobhAf2XiBnRfHBQ==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=x+Ytp39l1DhRVP5pyrMIry17++6K7x8bYhG7TdYZTsaz75FlnqMBc4nQVhTURMMxgCXYwMYjGkFDUEZvUaGST4jHQoJX8XWmft/eVhVu4xQXRdqZFyJcFYfYKf8Y3lxGq6zooPh+33WkSMA0dnacTudW+yfs7WiFQOP82sTakMThMtv7b7PDw/BYLfguzgJ6ldCRHX2ykMYMFd560JtvyBxwjXf9rKMHgnbowFHfHWC0kuOiyJdDOUGC5B8ADxJq+tp8gRK/PtQgLyG56+l1HTCVC1wIKwxGnHQYrHB/jhnVYI5GcPwv22iB/A4ujwl66vaZCTJiJKn+gh+wPfFaVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+gXG3e88Uw6zWaw8ucqlkQXZkznitqT4UT/zCyF0dOU=;
 b=qW7yrXUlblsjDgcIgaBsu67Uenm5qx2tEJvhMgZMDMJJI3fB8j8cou0j3I/uFK+dUvfOnrHOvq1rbOJO5yukyyoxCsaFlIEWzGD7BbQmih68XVt5KLft1S+3EJBOjw2DrJJ+5UnK4AaSSwgoHurFUdPj/OviWdwnCSDBBDvAi461qX2IPJjUOEd2svLFP5wZb3uQ5TROzo9gBptFOMW1tf8HZ5aeDT2BZRe4Ml/coBEv0vhN27SbaDGaC5JVGPC0SwqeQ6QAUJf9QvIkTijPolwnQ3dXPLdYHbx2O4Pufcb0L+4ZUlZlR4MnKJKzbm6BeGBEuoEgxXGD9aAWYEZk9Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 205.220.161.53) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+gXG3e88Uw6zWaw8ucqlkQXZkznitqT4UT/zCyF0dOU=;
 b=iCO/oPIgZ+Gsi2B1T4KxfabduhTKNz8WZ8laHI2lXeTTwXtSdB7SIZA1BmpHxfx25ksv/hlgUCWNGa5qifjVct0UeNl2WPK8MjamdtWKD5NV8j8Q/topsz45IefiOHbri0xDOMT8Eln2byXTmJBL7dTm8Ax5uRdXN6SNIFq/uNM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 205.220.161.53)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 205.220.161.53 as permitted sender) receiver=protection.outlook.com;
 client-ip=205.220.161.53; helo=mx0a-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppserprodsaar;
	 bh=+gXG3e88Uw6zWaw8ucqlkQXZkznitqT4UT/zCyF0dOU=; b=XWjEq5E2A5eq
	3TaZ45AyW7xPzFnLm8GuYqxaHmTgiiFmtwv5cJURFzaIDt913m7vdmFJmXDktwHk
	9ocpsXCEmyGkJ9b9sKlbmNYxYsodrQtmj4WyHOWnbf7z8SAHo04UaxONexLqo0n9
	cgm9iumP8rW2SDDpUo3wzmpFn+lYMQonSFTzvHst4AUf3u7n2bgLOqtDBqAna+1D
	LEbVdo6CoBpSTjiPgemyE8Dmc+c8BaOxi8LULkv+di4w+KMCKlqlYhgDzL2p8JV1
	mMASHt/hLZ+V7GD6KBr8lhLma1GmG3S2FFweIqURjxRSexakuVAG2delow3Q+pS4
	4SJX7tY9dQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppfserpocford; bh=+gXG3e88Uw6zWaw8ucql
	kQXZkznitqT4UT/zCyF0dOU=; b=PsTAuqFDx7paBpiROG9eZEVQoDwlFTGwJinP
	RnHLFJ1PCRhJC4DUwF+KtDbGJo9Hug1WMmHTlNae4Xip/MNsLsq0EZRYD3AooD39
	s1xQ4tEJF2/5rL1lhmRgjl7VvwfFjYkoF8jom/KPwTC1e/yYUhw0q1uFm3jq+eut
	NmiKCeVXqCoxfAqhVWlVOnRPiocwFXNk2y7j7zQayV3aXDnREPraILm+96s4BTj3
	DBBR2HOZrD3eoZDLhm979u9bWUI4v1EP+u2pntvxFF3rmSQ4iN4jSk6/YQWxa8Qs
	BaxzpSBAD+alHP7auaImdBbEEHygXbzQ5oRkjSVGxJP4eXafMg==
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: VYuAwv6Lbpgi7VYuBw0DLy
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
Date: Fri, 5 Jun 2026 11:04:26 -0700
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
        Anthony PERARD <anthony.perard@vates.tech>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Michal Orzel <michal.orzel@amd.com>,
        Doug Goldstein <cardoe@cardoe.com>,
        Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
        Juergen Gross <jgross@suse.com>,
        Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22 0/6] CI: Update distros for build tests
Message-ID: <aiMPqmCphM3RW8ol@kraken>
References: <20260605144213.2749656-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20260605144213.2749656-1-andrew.cooper3@citrix.com>
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-05_03,2026-06-05_02,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0
 lowpriorityscore=0 bulkscore=0 malwarescore=0 adultscore=0 phishscore=0
 suspectscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc=
 route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606050178
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF00020E5F:EE_|DM4PR16MB5387:EE_
X-MS-Office365-Filtering-Correlation-Id: 9d08cbc2-a836-4e69-f66a-08dec32ce445
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|376014|36860700016|56012099006|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	0/FbI3cbNIEG8rG+zYYr3P7jERqzjk+qPAZKInyitF/LfDGMrDGip/x5Oi44GR+senthlIjzXGx7jwcieHye/C6LNeBIl2VXYf7UCMkic+NNNi8g2vS0vnOGq/Mkn81gtiWUXP475fpkLrcH4ahkF7tpGl9tZprNCc1pVaBY/A4ZTnyUGPTiYJFwb7jOGD8HCqrBglg/3HbqwcOtBwBP3tl0rfKxiupu+z/4l6EL+by0s0CwQsXRbJga4NsD2J3Sow/CpFPE8nemxUww+RPXkdFhWLRC8KlU/MPyP/wwpctr0TUL6UMMGE+CArkUHpw+mw1PjRmenqCn2Oiiy7C9zRIPb+Uc6ZAs9ThmiCAQxH4jFN4QpipXkgrU7l59X9/sGDum2ZCy9DdS9yt1lFkXtrKqckBUxE/bGCkmEpFuaS0eyMj+764dLOJdPtVXH0zoozrJQfIHtVKdX0bq2OTrZOGjYiNpVwaS4SwYCSHSOD0OJcZwuaAqV+Vu5PesUuVMS4iDyMnqkpslOfpadoXHB+rCRcvxyvXqrDKit7yyPPir2Nu9XXK8haWkrfw1CvOAANrUSc734MIeJg1DvH9i38f+htE24pSKzWCUM+524x5bIrhBhi1RhqE4lhM81KjWqP0QAnrfZR5td8+Sz4l+0z5qORzrQBVSoP3C3v+BKvMJIFKzxozIhSX2nRc8hZum3uv0xyqy5i1/qTn701mbOJ3mDIeliSi6QzSbk4FmtB7e4Sv7GD0LbixhDkSosxka
X-Forefront-Antispam-Report:
	CIP:205.220.161.53;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0a-00498f04.pphosted.com;PTR:mx0a-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(376014)(36860700016)(56012099006)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	Fe7bwl0skHGhglMKSMlAApLrITK5HNlv+57JFxjlujOeExRhv83yyrjWvXIhUeG76rYts4mnl/7TYzKOXyhiyplxpjRrerqrpYEiy6k6Tyz8+cJuGNkIO14aOnStZpwbA4M8S0vFgYis9rR/J9cft0R1fI7036tZ9KA60Dq/pV+NCbzWQqUkMIZdCe6bW0lcLtVGnsql148zgp8nlgSdtolIum/dxELId0cpFX/OoPEoYnXCLsFeVQ+idLhtdRPCSQtEz5YcXQGvoUm/Qs1r5kyRvFomeXUZ7HPM50fJhzjtB1IPTlKqVJ4rCKdxfbgZRdIwT5IP70xwUufU+ahIBDTNer/isaDpYAdAHFu+pjfv4Yo0H14giyO71AOtPF1qFeTO65VC+lJZ1Fx+2zEh158kIGnIHBEuDqWEy7rPuXNZhTo2WFezNNUPqw+1uoYG
X-Exchange-RoutingPolicyChecked:
	YmKDgI3WZH8AYUqvOXCdz+49J6jGa4PnBYFtYpDiHje3E0h/joCB/KrgaEKg3+3R/lldxE+fy9wVdQpKfluaTiE7n4kvmMizkPaCg+oFcrFUIzZkqmkTVsF0zM/U7LRyDQWZaNXAzI/6C5KlZQKuFnDfbnQOZNmfmwAD9rdrGtRN7y4SfDJeFB1lxZmihHL7fzUeVUZHMBbRiyFcutROUCQKoSwLOi4nwI4/aE/SEcjdVs0oQ2dWMwskxuh7MYH+6QIWZqCbXC/q/GndIrIjfYaBJOGCiUczGAV9EmR7Q0kTBrYC3hcIAovBpr9ntVdIh8abwmX8v4V5THs/0aEpDQ==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	eHvPICrCm582W2NbKGeFPkP61yKGHln913WVLc0efX71Og2u+zTD1W1BAHkoJmVMGKWMD+7cbX8nala/vrkxbqh5YO0Aqbad1Aevk4cOk0SiSUGmYvdM/OBm/VdLrNE3+GiAni1om/XDcPYG++ok/1ZBTJBP23JacJsvOzPE2TSAt1I9eY85hYoBmSdNIvp4aFhxrLORAPUyKL2GTUNTkPDi77EyTQP8kZp88Uwu8d+k+XyjTBuSa6x31EcLUdD2FzL9TQs618AC6KZ6ou511D+t/v6YiivkTcUwrmhJVnKsL/CP0nwypAOt2bn+lyGxSOQFWX1mj9YzqlrFyv5hX3drxP0O6lKScAsu+nqhmR0GPmnFc1MznS6x53O1pIV4HukWCYD2Y2aatbAJnzYHOjCDgB9zILRS+B49LqyzkROjVSRUn8005Mlc5uGigeWLYEJWngyNFe97Iv12gZq8S0NBHCgLSx3G6fbQDOIidDT/Dp25m5wf+p6Z3JnQxOL/fUSKjF023We9qKtNCLeYZ5CXak+2h9EuPfnrnhLV8BcOpCVT33cJukYazP5E9t2kdUXjXTYNz1w4BU1/+v8bP9OEekza0UoZNKvMXK7kfSXB0G5qMubsFtVxI8hI/VD7
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 18:04:30.5594
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9d08cbc2-a836-4e69-f66a-08dec32ce445
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[205.220.161.53];Helo=[mx0a-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF00020E5F.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR16MB5387
X-Authority-Analysis: v=2.4 cv=YYiNIQRf c=1 sm=1 tr=0 ts=6a230fb2 cx=c_pps
 a=yinnKzpnBJ+MbdtTFrOrGg==:117 a=lOEMawUel/sSvQipkIvNbg==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=kj9zAlcOel0A:10 a=FelO9ux0wxsA:10
 a=3PXLN80vpJUA:10 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=P_n1zlmtWsCQbjROFjcg:22 a=WER9OelvoqQQjwJToBYG:22
 a=p0WdMEafAAAA:8 a=cbNQJ9GKAAAA:8 a=jHmAWONDw_5HHNalCEkA:9 a=CjuIK1q_8ugA:10
 a=3whSkbs7g9Me0DR5EJEX:22
X-Proofpoint-ORIG-GUID: 7QPdFiRU8169EXYHF-0LX0SepJaE4k3T
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA1MDE3OCBTYWx0ZWRfX+LARozbVwEu7
 BqkDgLe99qkKXftY5maKWj/cVLsziwFjNFuTKaMlvRpC+JI9FBx8XeVS7bEu3HguHPi+x87spf7
 wNA8I+McPXuaXuwnf/VKy5AqylpF0yB7xOrVcAj0/ccpPNLsnZdUDVywzorUQYGvKbbL9BV8atI
 uthv+eaaJ1Y6nJorKDa+fAfUBOjNiP/E1T/ym0udXg6CV0YJ+ArbLT5b1pVOyvAOckkw186fmXF
 oLA/YotaWRia33xHp9hCVCajHFd5DbsA4C6Skaf5pHNoASebK+ZtrEPEofpaB1LB+JNGce2+ymx
 /PjI2skdBC5nbt5O7eBObAVMdCROTxqErvbBz3xiKVAd5kDiS4NnTnXEUMeNHhCjmlxMVjmnvH1
 xcKuldWn/DJjcepeQjalZx7G+MDh8P1OCCLTd+3kiFUqDuPwJ+59QKxGeE5v1f/CGnIr20F8kzt
 BtAAeAqVcF0L4k9ux8w==
X-Proofpoint-GUID: 7QPdFiRU8169EXYHF-0LX0SepJaE4k3T
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-05_03,2026-06-05_02,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0
 lowpriorityscore=0 adultscore=0 priorityscore=1501 bulkscore=0 malwarescore=0
 phishscore=0 clxscore=1015 suspectscore=0 impostorscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606050178
X-purgate-ID: tlsNG-42698a/1780682675-1976AF3B-538C7F8F/0/0
X-purgate-type: clean
X-purgate-size: 1751

On Fri, Jun 05, 2026 at 03:42:07PM +0100, Andrew Cooper wrote:
> Refresh which distros we do build testing with
> 
> https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2579549654
> 
> Andrew Cooper (6):
>   CI: Drop test-artefacts/Makefile
>   CI: Swap ocaml-nox for ocaml in newer Debian/Ubuntu
>   CI: Drop Ubuntu 16.04
>   CI: Add Ubuntu 26.04
>   CI: Update Fedora to 43
>   CI: Update Opensuse 15.6 to 16.0

Please consider:

Reviewed-by: Denis Mukhin <dmukhin@ford.com> 

for the entire series.

> 
>  automation/build/debian/12-arm64v8.dockerfile |  2 +-
>  automation/build/debian/12-x86_32.dockerfile  |  2 +-
>  automation/build/debian/12-x86_64.dockerfile  |  2 +-
>  automation/build/debian/13-arm64v8.dockerfile |  2 +-
>  automation/build/debian/13-x86_32.dockerfile  |  2 +-
>  automation/build/debian/13-x86_64.dockerfile  |  2 +-
>  ...x86_64.dockerfile => 43-x86_64.dockerfile} |  4 +-
>  ...dockerfile => leap-16.0-x86_64.dockerfile} | 16 ++----
>  .../build/ubuntu/22.04-x86_64.dockerfile      |  2 +-
>  .../build/ubuntu/24.04-x86_64.dockerfile      |  2 +-
>  ..._64.dockerfile => 26.04-x86_64.dockerfile} | 15 ++++-
>  automation/gitlab-ci/build.yaml               | 57 ++++++++++---------
>  automation/tests-artifacts/Makefile           | 19 -------
>  13 files changed, 59 insertions(+), 68 deletions(-)
>  rename automation/build/fedora/{41-x86_64.dockerfile => 43-x86_64.dockerfile} (95%)
>  rename automation/build/opensuse/{leap-15.6-x86_64.dockerfile => leap-16.0-x86_64.dockerfile} (84%)
>  rename automation/build/ubuntu/{16.04-x86_64.dockerfile => 26.04-x86_64.dockerfile} (81%)
>  delete mode 100644 automation/tests-artifacts/Makefile
> 
> -- 
> 2.39.5
> 
> 


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 18:05:00 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 18:05:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329903.1593772 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVYui-0001x9-7E; Fri, 05 Jun 2026 18:05:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329903.1593772; Fri, 05 Jun 2026 18: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 1wVYui-0001x2-4c; Fri, 05 Jun 2026 18:05:00 +0000
Received: by outflank-mailman (input) for mailman id 1329903;
 Fri, 05 Jun 2026 18:04:58 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <3xw8jagYKCco8uq3zsw44w1u.s42Du3-tuBu11y898.Du3574zus9.47w@flex--seanjc.bounces.google.com>)
 id 1wVYug-0001wU-T0
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 18:04:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVYug-00FOio-9n
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 20:04:58 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <3xw8jagYKCco8uq3zsw44w1u.s42Du3-tuBu11y898.Du3574zus9.47w@flex--seanjc.bounces.google.com>)
 id 6a230fb9-5cb7-0a2a0a5109dd-0a2a4504bb32-22
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 20:04:58 +0200
Received: from [209.85.210.202] (helo=mail-pf1-f202.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <3xw8jagYKCco8uq3zsw44w1u.s42Du3-tuBu11y898.Du3574zus9.47w@flex--seanjc.bounces.google.com>)
 id 6a230fc8-1dec-0a2a45040019-d155d2cac848-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 20:04:58 +0200
Received: by mail-pf1-f202.google.com with SMTP id
 d2e1a72fcca58-8421f5d76aaso1429486b3a.2
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 11: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=google.com header.i="@google.com" header.h="Cc:To:From:Subject:Message-ID:References:Mime-Version:In-Reply-To:Date"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20251104; t=1780682696; x=1781287496; 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=zOxp1hSLKBpPLL80bFuxK8SsL52R5IjTb2Bqqq35EAY=;
        b=MswAC1rYxQrSVJsjF7ImymeriXfJ8IudBsyPTOdul6UqK9a0x5muNQM3SNDqikiq+L
         ZYiA/VRVRFiTB/+Do9W9CwaKXLc6R66uVqTvd6m3mmItTnGOtX5aHvrF4poHa40WShVA
         TOITWo7fmVNdb6/PY1XbZJjIpC1pYmuwdzqhjpAt/Ca8uMzNwK/NeDwGNBQN14ZPouHY
         tPcwCaui98wrl0fBzSfMiIXN585OrUusksp0+FexeEt/7rJcRhcLPsXrlXMwbJnaHrDc
         tnkiG46SUvhFYDWLbkMp6030vAktxJS+Qv9XG8sP8VanARQutSvMY7vUj/pGhF9FdvpI
         JXxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780682696; x=1781287496;
        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=zOxp1hSLKBpPLL80bFuxK8SsL52R5IjTb2Bqqq35EAY=;
        b=DNuaUhWkW5XFTW77BMmrTPAKt5Ja31S/FnJtZ0T1nUQw5959txqj5jG6yPosW+5yJK
         +6gMc0HjIEmXDvJY0Pktw36zxDGL7E+/f2SlxUxahGD4+0ZsO3+2iJPivymj3tHq0Iyk
         i+feEbcNQQm4LEB9FY62s+fNBuZl4bg0SgBvzsgsxYT/zGogKKilArWCW7xlwxx38TRJ
         n4NtmJ+lbFt5POOyihVFf54s/lBQ2q+AxnUPAcQA/JMuiBIeSoOfDW+j5QmqtcIwYq3X
         DkQNvPjsGWcvrrTBAXVngO62F8ZHFrfqNOjM41AHjEHJ1CVnQYX+SE8bG/VzCEXKH8yF
         IBwQ==
X-Forwarded-Encrypted: i=1; AFNElJ99Ay5/4vWhK3b1FE4vWvlx9kVikfcPvPXnx4mWT1ud097BSDiJt7YbHh+hd0qi+dgFlG0C2BZ7ID0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwOgXVq0P50eEDzTQ0omXfE67jLn4jDkLs6wYwOoNAMfE2KIp8v
	POKpNAQ8Cp+5MUfwSX72SWfnAcPtIdH8EeEZ5spt4UQOFd8mE4hO2X7jnyMPs084tAKiEqKZ2by
	PUYPYIA==
X-Received: from pfjq2.prod.google.com ([2002:a05:6a00:882:b0:842:1f0e:d24c])
 (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a00:218e:b0:842:4e43:6f6c
 with SMTP id d2e1a72fcca58-842b0fb60bfmr4509683b3a.39.1780682695567; Fri, 05
 Jun 2026 11:04:55 -0700 (PDT)
Date: Fri, 5 Jun 2026 11:04:54 -0700
In-Reply-To: <87fr315fq9.ffs@fw13>
Mime-Version: 1.0
References: <20260529144435.704127-1-seanjc@google.com> <20260529144435.704127-2-seanjc@google.com>
 <87fr315fq9.ffs@fw13>
Message-ID: <aiMPxl5vkvJDldi9@google.com>
Subject: Re: [PATCH v4 01/47] x86/tsc: Never re-calibrate TSC frequency if its
 exact timing is known
From: Sean Christopherson <seanjc@google.com>
To: Thomas Gleixner <tglx@kernel.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>, Ingo Molnar <mingo@redhat.com>, 
	Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org, 
	Kiryl Shutsemau <kas@kernel.org>, "K. Y. Srinivasan" <kys@microsoft.com>, 
	Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, 
	Dexuan Cui <decui@microsoft.com>, Long Li <longli@microsoft.com>, 
	Ajay Kaher <ajay.kaher@broadcom.com>, Alexey Makhalov <alexey.makhalov@broadcom.com>, 
	Jan Kiszka <jan.kiszka@siemens.com>, Andy Lutomirski <luto@kernel.org>, 
	Peter Zijlstra <peterz@infradead.org>, Juergen Gross <jgross@suse.com>, 
	Daniel Lezcano <daniel.lezcano@kernel.org>, John Stultz <jstultz@google.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Rick Edgecombe <rick.p.edgecombe@intel.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, 
	Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Stephen Boyd <sboyd@kernel.org>, kvm@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-coco@lists.linux.dev, 
	linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev, 
	xen-devel@lists.xenproject.org, David Woodhouse <dwmw@amazon.co.uk>, 
	Tom Lendacky <thomas.lendacky@amd.com>, Nikunj A Dadhania <nikunj@amd.com>, 
	David Woodhouse <dwmw2@infradead.org>, Michael Kelley <mhklinux@outlook.com>
Content-Type: text/plain; charset="us-ascii"
X-purgate-ID: tlsNG-ebf023/1780682698-493773FF-49C64960/0/0
X-purgate-type: clean
X-purgate-size: 1551

On Fri, Jun 05, 2026, Thomas Gleixner wrote:
> On Fri, May 29 2026 at 07:43, Sean Christopherson wrote:
> > Don't re-calibrate the TSC frequency if the TSC is known to run at a fixed
> > frequency.
> 
> That's misleading because fixed frequency means that the frequency does
> not change, i.e. X86_FEATURE_CONSTANT_TSC is set. But
> X86_FEATURE_CONSTANT_TSC does not imply that the frequency can be read
> from CPUID/MSRs.

Sorry, "if the TSC runs at a known, fixed frequency" would be a better way to
phrase this.

> > In practice, this is likely one big nop, as re-calibration is
> > used only for SMP=n kernels, and only for hardware that is 20+ years old,
> > i.e. is extremely unlikely to collide with TSC_KNOWN_FREQ.
> 
> recalibrate_cpu_khz() is only invoked from Intel P4 and AMD K7 CPU
> frequency drivers, which means that's absolutely not interesting and
> neither X86_FEATURE_CONSTANT_TSC nor X86_FEATURE_TSC_KNOWN_FREQ can be
> set on those systems.

It _shouldn't_ be set on those systems, but in the world of virtualization it's
not completely impossible.

> IOW, this patch is pointless voodoo ware.

Would y'all be opposed to adding a WARN?  I don't actually care about P4 or K7
CPUs, but without any reference to X86_FEATURE_TSC_KNOWN_FREQ in
recalibrate_cpu_khz(), the code _looks_ wrong, and so is very confusing for
readers that don't already know that in practice, it's limited to ancient CPUs.

In other words, the point is to document expectations and mutual exclusion, not
to "fix" anything.


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 19:27:53 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 19:27:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1329983.1593837 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVaCe-0008D3-9u; Fri, 05 Jun 2026 19:27:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1329983.1593837; Fri, 05 Jun 2026 19: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 1wVaCe-0008Cw-7A; Fri, 05 Jun 2026 19:27:36 +0000
Received: by outflank-mailman (input) for mailman id 1329983;
 Fri, 05 Jun 2026 19:27:34 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wVaCc-0008Ck-94
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 19:27:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVaCb-008RiO-Bh
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 21:27:33 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2322f6-bab6-0a2a0a5309dd-0a2a4507a81a-38
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 21:27:33 +0200
Received: from [52.101.48.52]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a232323-229c-0a2a45070019-34653034b262-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 21:27:32 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by MW4PR03MB6475.namprd03.prod.outlook.com (2603:10b6:303:122::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.9; Fri, 5 Jun 2026
 19:27:29 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.007; Fri, 5 Jun 2026
 19:27: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=EFuoMtJT1nMkZDPIVTqF8M1EqVP2FcTJ7z2mpqJ3Qyer+rCtHi43ZzknmLQm0AWM9ip2GGNM7k2F2NPPJo6u3vQUcYbSLZfue8K/FMpheWZDm0PlwyoQDbFmIvFiKnPldT3BZGw6Tz2dg12V75u1cSpeNLd9LL4wa3GZ1WP/KKHaJ7VJhsuJdgkSiIEkcSDQfGsn4IFMFDwpWj0bXDykl4ZRy9iMubsVaDjI1RICWqa2DnfaALKx1VynXy/IqnjdjOOCLNiAHwcS0GAeN9VfobydabHBSM67tDrU/Xs09TbpyBsfv+CxfUoibnVVFYxS+wYB1bpzfn823mT3CV2cZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2F9udTxQCo/S5c/QN5O2BclfqJ39ARxvLcXHsOvQixU=;
 b=kBWgtJEEXGdc8C5bwjXqncEI6fPNQ5b+gnv6BlWpwl3quWqJY5eVPjEpTGY8HXiy+/nCCBcMIlz1E/LGBYtBMhONGXwimkJ/+z54rWkAzNeoA+ayNBgygORxuEh4un21I3izdwigd8q3oxheJKPAzOx4IF+elygTtpXlg93AEexD/i7xqqxFPtaP4mvHOwoPbJ9RUNHOVC8MKyBhS4VVNY/GbzPPk/Kc+hmyU1c8aTx/YrVH3kf8f/Gp4PzNacewJQQm3bycBErZPjCb23BlwttdAWXX9p+MUbNxgOnF6PGT1432mtQ66WuTmqO5NGnms84JrZFZTFOzG1hYQfVMQA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2F9udTxQCo/S5c/QN5O2BclfqJ39ARxvLcXHsOvQixU=;
 b=UfrNH+UA2trY4f/y1fC8A7+K1Fax/Ol5wW+W9BKhEmtcWXDBwozHqLpiAg2tr6HBCm6JHzIJBvMPd3WNrp4I2xSE1VF6uin5o94fxJVILiH13zBAQI4f29O4qPxyY27P/Bffr55nHe/ANHG6cy/JMs3+IT0cQrxeyzGa1Zb9IRk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <a0c5f98e-239e-44a0-a2ba-486a5b7f84d4@citrix.com>
Date: Fri, 5 Jun 2026 20:27:25 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, ray.huang@amd.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Tamas K Lengyel <tamas@tklengyel.com>,
 hadyazzam@protonmail.com
Subject: [4.22 BLOCKER] Re: [PATCH v4 5/6] xen/mem_access: wrap memory access
 when VM_EVENT=n
To: Penny Zheng <Penny.Zheng@amd.com>, xen-devel@lists.xenproject.org,
 jason.andryuk@amd.com
References: <20260115092841.2651224-1-Penny.Zheng@amd.com>
 <20260115092841.2651224-6-Penny.Zheng@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: <20260115092841.2651224-6-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0237.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:315::20) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|MW4PR03MB6475:EE_
X-MS-Office365-Filtering-Correlation-Id: f474757e-e141-412b-e5eb-08dec3387bbe
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|18002099003|22082099003|4143699003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	/g6sVnJv4oLuBQRU0HUMqFsPwEBMcpQl9LW5Atb2mU6W30dutMR4RcEIlWzvxJhepKW64iMo0DBl7PcVuoCPybAmN6u1VR/oZmmjTzEuauxVWUJt2VuYo3/C0FSsedGmSCjqe3JmnLdRlWPpvgrrSAQYJsvBw0A0JBpfLplAhTC3MxCf/4IhFh3B++++BXvOmBbtClJZhi8DGiaCs4XXq6pZTcBzH0J0xUg5dpVuojn+2NGhoARZ0vJIiJP05NUbRCzd9svRBEMhNzpLfKTd3nwoTNk94lYcNQtYiUJjvP7mnsNOo6A0B69Xk87yrcNBFZ1wYFd0lX2MWR9rjQiCmKPHfFl9XTDdpi42DdECi0k7UW6N20TeYUwq7ciyyce+RoxQJXS9cVpKmslRSlT0q+GjNtnAXd2gw7etNSYCCfi3NqFnpttnOmwy+wEPVDUTDUvAvRew2bTOFNfVNPpjH2D36/A5L5epRCof4RMZxuE/3oTZZsc8Enn0jY5elOqQVu14AgfdzISzygKl/yuzKsTGbHSq3OZxIcV+cNVgDRtGN44jqEMGWdI4lLY0e5QQpg0uvtZ1o8Igwf9E1XPH1lClAcnIEirlVI9m5JfpVn3abRF14zJUZ4Tk5YCrCe3f3YxQc/QaIMOITvJm0wF2D1uzR4SYVKTdakZfJ3KEOLllQzPUQucxM3mjjDdCcawE
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(18002099003)(22082099003)(4143699003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QkpTbm90STRDaFRwTzd6UWRsL2oxOXUra2FmS1h1V01sMTJETlZPUVNYZUUw?=
 =?utf-8?B?d0t4cWlmSmJiNHFmaDQ5akVQS2xOdUF5S3dWTWNicnpSbml4Tk90K0FhNHJS?=
 =?utf-8?B?Q1lVN2lQSGREcEJFUEJJblNoOTllaGJoSFRzT2t3SWNtbml0K3pnekUzV2Yw?=
 =?utf-8?B?TnBaMEw2aVVROFg2SmFoVXlxb29sL1RxOUlWTU5tTVdMMnN5QUFFM0VWYzhE?=
 =?utf-8?B?dVA1OXFrRWszUkcwMlNFSEpnNWdlVkhCcFpZYUR1VHpqcGV0clVSOEJEVFI5?=
 =?utf-8?B?UzBTZ3JGdHAvZHBScVkxeVp6ZFpEVkZqMDdMRW0vR0tHa0NjVTVQZTAwZ0Mz?=
 =?utf-8?B?eGlIOXMzcGlmbmhtcUt6aHF4S1NBTHRXNTVrSGRXaHc1WFh2b0tQWUdNZWZW?=
 =?utf-8?B?MUhsalF6bjkxOFZWb3JvWUJML3k0M0tSVnIxOHNWcDdHVDlEZWZ4UnYzdXlv?=
 =?utf-8?B?WUFXTVVGaE5KMmhPajJHUGE3K1BUcW91MkNsVmo3S01JSXdYWUFzZTh1eWZp?=
 =?utf-8?B?d0VKK0tMR1hMdFR4NUpHWXdBOHl1bVdqU3g4NHJjTDA5Wkh1dHhMK25DNC80?=
 =?utf-8?B?RUZURFVYN1U1eWNtYlFvNCs2UEVPWmdhK0FOc3NGeWZsektpYy81Z2ZmT2Mz?=
 =?utf-8?B?b3pnUUZjNFZldEJxWlk4VHdCeDNUZy9XZm9nUHhxSVZ1U09XZkJSc0Y3c01x?=
 =?utf-8?B?eTVVQ2g4MUprMmNpVzlUd2Q3UFEyZVJZZTh0WWJYQWJ1SDJLQktxbFhZdmdE?=
 =?utf-8?B?YUdNSk9FWDhaa3c5OVdob0E1QmhRSHE0N1VqVEdGQlZ4ck5KVGkrTm0zK3Jz?=
 =?utf-8?B?SmxINUVidG9PUncyWWYwaFBqcGhabEVlM28zQ1lFeGQyODM5NDU4YTJFQXUr?=
 =?utf-8?B?c1ZkMExFc2o3V1VyWXBpYkozaVlrOHk1QWJ1eVpOb0FUS1Bpb0cweFZoczAr?=
 =?utf-8?B?dkFMVDM3UEM1ZEpjOURUV3pKMUJ0anByUldqNUZoelRGcVRMMkRMR3RENlp1?=
 =?utf-8?B?LzdJaVRvc0wvSnhLdU80c21LWWk5QmJ2bjRkZG40U2oyRC8wNXpJWDNsUkpi?=
 =?utf-8?B?MEkzTGdnL2thalF6d00wQ2tpc3ZFNEIwNVBNbG05UVAzdk1mTmlrNlp5V0VP?=
 =?utf-8?B?MVFFd2IxY3dvUkJDRXd5QzlGclhwc3FhdEZHTnVyUm9nNVYyeVdieDkvYThq?=
 =?utf-8?B?YzFUSnhhaVFUaFZlN0VnbWNxdjJhdTBVZG9QbHpxd0p6UlV2OTBPRUpram5Y?=
 =?utf-8?B?YU9RVHhlM3MwRUlsdjFxRHljTkYrc3FTcU5GR2xnZGQwaUU2STl6K20vdk1O?=
 =?utf-8?B?U2lWS2g5SVJLaGhINFhLb1M4ZFNTTFpvT3MwaElxd000QlFTKzdMREhtYUpD?=
 =?utf-8?B?T2MwZmZSQThkMHBTSzRwbUtBYXY4UW0zRG8vUE5sOVVud2Q5Y1hndFAva1hF?=
 =?utf-8?B?N282dUZFVFZqUEZpVUFrc0tXcjZhV095OExTWGJTd0hWSXBoeDlwSmJZTms4?=
 =?utf-8?B?WGFzeU1FZzJ2VnRIZThtUkZMWkhLY0wvWXh3TDZPbHkvTC91RkluS0FiNlM4?=
 =?utf-8?B?eGVoeExiZlBtbGtubk9jaTRzQU1HMVdNNnYyclpMajJCWW01aHJXY3U0bm1u?=
 =?utf-8?B?SUVMVHZWVmVpMUtRVTlKcVhoYldDOFBwUk1mQS9jazhGWk5kdDJMbzZDbkNK?=
 =?utf-8?B?bC95VWR6YWIvMlhjMXN5RG15bW5kUGIzYUk3U3ovdnhrNzVsQm5RRzVkeUNX?=
 =?utf-8?B?aDdxZ1RnamI1UmVLZENSZkZJdDRLejNjQTU5N3MvUTJpdGU3ZXpFY1dVeGN5?=
 =?utf-8?B?c3ljVlplV25MQURSYlVCMXJ2NFFXRk5vRXVudmo0cjNlKzVzallkK3JTTmd5?=
 =?utf-8?B?TC91d0ZDSWxGYWsreW9ZZzZtNk9DVEQ1WTlRQjdPU0lSUW5XU3MxQlgwdkdt?=
 =?utf-8?B?ZzYzaXdZVnJXUTNQcm55cFBJQ3l2cmw5Vk52b21NaDllNE9FU3hRUzhqakt5?=
 =?utf-8?B?NW93VTNHNXVTR2xwZGEzeisvczZZNy85VTd2U2pHdlF1US9QTlhoSlovV3NC?=
 =?utf-8?B?L0k3ZnpCemU5ZFJWalhwWEV1VmRRTlh4cDZ4UE1kQ3M5Z1B0S1U3OFJ2OVBH?=
 =?utf-8?B?RnBRK21VWU1ZdTAzaDlwbU16YURRa1AzajdhNXJNelBxTis2TTZQbnU2UjMy?=
 =?utf-8?B?aHpBMWN3andtcmFURU5KUmNFaWJXLzhiaW5tTlBra2ErNWZhWEczYndBakh6?=
 =?utf-8?B?VnphNkdVU1dJajQrT3NsS1pxNTJXRjdsSjdCNDh1VG9hT1JOaUJUNmxwNnoy?=
 =?utf-8?B?NGR2VlVqeFJxRll4UkpVWC85bFE0cXNEcVI5UG5VaHBWMzYzcTBBak0vZ0gv?=
 =?utf-8?Q?+3dW93lxrBEiDKv8=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f474757e-e141-412b-e5eb-08dec3387bbe
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 19:27:29.5749
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2QqBXD/95/9Hp/1usaxWTQKLkCIESggYuAwnbNFs2Ki1yU0NGNu1/+0THg0jymg6iQ8CvUi2J4zncj7NxVsENxc/ZFHf2eZSHwHbeih/62Q=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6475
X-purgate-ID: tlsNG-ef75cf/1780687653-2176AC48-D554BE79/0/0
X-purgate-type: clean
X-purgate-size: 1774

On 15/01/2026 9:28 am, Penny Zheng wrote:
> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> index 07e54890d9..b34cd29629 100644
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -4804,6 +4810,12 @@ static int do_altp2m_op(
>          break;
>  
>      case HVMOP_altp2m_set_mem_access:
> +        if ( !vm_event_is_enabled(current) )
> +        {
> +            rc = -EOPNOTSUPP;
> +            break;
> +        }
> +
>          if ( a.u.mem_access.pad )
>              rc = -EINVAL;
>          else
> @@ -4813,6 +4825,12 @@ static int do_altp2m_op(
>          break;
>  
>      case HVMOP_altp2m_set_mem_access_multi:
> +        if ( !vm_event_is_enabled(current) )
> +        {
> +            rc = -EOPNOTSUPP;
> +            break;
> +        }
> +
>          if ( a.u.set_mem_access_multi.pad ||
>               a.u.set_mem_access_multi.opaque > a.u.set_mem_access_multi.nr )
>          {
> @@ -4844,6 +4862,12 @@ static int do_altp2m_op(
>          break;
>  
>      case HVMOP_altp2m_get_mem_access:
> +        if ( !vm_event_is_enabled(current) )
> +        {
> +            rc = -EOPNOTSUPP;
> +            break;
> +        }
> +
>          if ( a.u.mem_access.pad )
>              rc = -EINVAL;
>          else

(Forwarding a report from Hady Azzam, CC'd).

This breaks introspection generally.Â  It is (mostly) erroneous to check
current like this; it's checking dom0's vm_event-ness, not the target of
the altp2m op.

P2M changes are also inherently domain-scope, not vcpu scope, further
calling into question the use of a vcpu-oriented check.

As far as I can tell, the misuse of vm_event_is_enabled() is just to
wrap the IS_ENABLED(CONFIG_VM_EVENT) condition.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 19:42:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 19:42:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1330004.1593846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVaQc-0002us-Gf; Fri, 05 Jun 2026 19:42:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1330004.1593846; Fri, 05 Jun 2026 19: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 1wVaQc-0002ul-DQ; Fri, 05 Jun 2026 19:42:02 +0000
Received: by outflank-mailman (input) for mailman id 1330004;
 Fri, 05 Jun 2026 19:42:01 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wVaQb-0002uf-Hf
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 19:42:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVaQa-00EeIU-Uq
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 21:42:00 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a232688-e002-0a2a0a5209dd-0a2a45079678-0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 21:42:00 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a232688-229c-0a2a45070019-d1558030e0ba-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 21:42:00 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-490be29c1c5so27978425e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 12:42:00 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490bc3d6c65sm172706495e9.12.2026.06.05.12.41.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Jun 2026 12: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1780688520; x=1781293320; 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=q6oiapKsV+cY2nYjZA9ZlhILCfHHCwea7VA5eY2aWGs=;
        b=SoUuEzhsx4S3c2aDq+Ov/ADE/uWQq/Jcds7vWPTzQjaEtu0Eos8xFqoJl6P4ktrylE
         GSvf85qTQUxiYJyT9zK7yl0QP1NsjAOoRp/g+h2MulU5PupDfT3eIwcpCzR/OHbAyGC3
         gvLPg+QqYTZJ3zfl5r9inHJQvkqpoOiSRcpiM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780688520; x=1781293320;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=q6oiapKsV+cY2nYjZA9ZlhILCfHHCwea7VA5eY2aWGs=;
        b=TaKDkKc0g9TBQIgr+oYFcARKBr6NnpzzPvYECQ6xsAZdWGL6plEn3wTQy0BpbEYYny
         8XPYzyTcEzFUlaW2KF3osGJ+mqL1ucfbg4kBTik4donkFHljRo9JUBzIwVzkpaV+EHPn
         L0fpJE3mrwXEAPmK37C4pHo4cZDho36gAWszoC6P4yyOPP1twNTnZIWaQREFxZct/DAo
         lgnFeT+F8l/r3CHxJ+4WXt1wTDaNtOjA2b3F1aQs+w4WG4oMDSYgd7DTVzNnAeaSQK21
         LKZUEjUPqx5pfig+cm8x6R8FFkF8Ysh0wlsjHkxS+FLvn9szNZGJcQp0OucwhYMHaULV
         9Iqg==
X-Gm-Message-State: AOJu0Yxy0q1/b3y3xEB2V4hHBlwe4mv3G5sdB09buuhRIU7UytCpCN1a
	XAN2Lm79rDhMzd5pzg0KnSpN6JuIrUdAjY8OHJ85vQjFEooXaOCFLQCLXpzgqGSNoV36Vga2z3I
	VqO33
X-Gm-Gg: Acq92OEW2toCSUStNPsyAnpCZBAXj9V5PxTBwKK6QTNNHkydEgI2AgnvM+iRdnrnGD0
	23syXBpBjpZzwbIXHlvBD/70AfOQom8A0GRug+vY7Yj17fka3kglbULuuiV5r9yyTCh0eq7zqwF
	hwIe3Liq8uTwWPLOXBQa+jXqPeqdmJxX6HjkwF85wGVJuARvlIpq+IkbMoLgfO6EcAzbnMZxFqE
	CAFNZrgZaUwyZW7YJU2mXtbtvlWmwUwvGwtAoyOCDYUaqUCnl8gp+0hnN6QyflyP97w3KHfdWGd
	V1u+zKZBRp9bSt2g5s2dcO88NfGMFqNelnUf58mKibV/QSoYHRpjXJKpCDtJP2NtFWLmNWCBqrA
	dZHoRAOipQmZVrjm1ZnkL2N5a8qU1sxvUoTY1gWnvGwpLpeEWTdaqBpY/2i85WJXrfCTULAPZfO
	tK2udRbDFHGcBTTMAilILpzylgJp4Q5eOFAWLcTLYjQwviaW9Pg51ae/VpzvAEzqrej0g2ltDIA
	yz3MJRv/hDtQuM=
X-Received: by 2002:a05:600c:34c1:b0:485:4388:3492 with SMTP id 5b1f17b1804b1-490c25716dcmr79832775e9.11.1780688520099;
        Fri, 05 Jun 2026 12:42: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>,
	Hady Azzam <hadyazzam@protonmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Jason Andryuk <jason.andryuk@amd.com>,
	Penny Zheng <Penny.Zheng@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH for-4.22] x86/hvm: Partially revert ("xen/mem_access: wrap memory access when VM_EVENT=n")
Date: Fri,  5 Jun 2026 20:41:57 +0100
Message-Id: <20260605194157.2762581-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
X-purgate-ID: tlsNG-ef75cf/1780688520-2176AC48-4119BEAA/10/73395122804
X-purgate-type: spam
X-purgate-size: 1976

It is erroneous to check current like this.  e.g. Dom0 does not have VM_EVENT
active when it's introspecting domUs.

The use of vm_event_is_enabled() is only for the IS_ENABLED(CONFIG_VM_EVENT)
short circut, so just use that directly.

Reported-by: Hady Azzam <hadyazzam@protonmail.com>
Fixes: b18e38e42da6 ("xen/mem_access: wrap memory access when VM_EVENT=n")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Teddy Astie <teddy.astie@vates.tech>
CC: Hady Azzam <hadyazzam@protonmail.com>
CC: Tamas K Lengyel <tamas@tklengyel.com>
CC: Jason Andryuk <jason.andryuk@amd.com>
CC: Penny Zheng <Penny.Zheng@amd.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

For 4.22.  This is a regression vs 4.21.

Only compile tested.
---
 xen/arch/x86/hvm/hvm.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index f759a397c557..cbcef18449ee 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4789,7 +4789,7 @@ static int do_altp2m_op(
         break;
 
     case HVMOP_altp2m_set_mem_access:
-        if ( !vm_event_is_enabled(current) )
+        if ( !IS_ENABLED(CONFIG_VM_EVENT) )
         {
             rc = -EOPNOTSUPP;
             break;
@@ -4804,7 +4804,7 @@ static int do_altp2m_op(
         break;
 
     case HVMOP_altp2m_set_mem_access_multi:
-        if ( !vm_event_is_enabled(current) )
+        if ( !IS_ENABLED(CONFIG_VM_EVENT) )
         {
             rc = -EOPNOTSUPP;
             break;
@@ -4841,7 +4841,7 @@ static int do_altp2m_op(
         break;
 
     case HVMOP_altp2m_get_mem_access:
-        if ( !vm_event_is_enabled(current) )
+        if ( !IS_ENABLED(CONFIG_VM_EVENT) )
         {
             rc = -EOPNOTSUPP;
             break;

base-commit: 3c4e804607a5a1254b168d88572cb9ec311543a9
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Jun 05 19:45:59 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 19:45:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1330013.1593854 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVaUP-0003oG-Vd; Fri, 05 Jun 2026 19:45:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1330013.1593854; Fri, 05 Jun 2026 19:45:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVaUP-0003o9-Sq; Fri, 05 Jun 2026 19:45:57 +0000
Received: by outflank-mailman (input) for mailman id 1330013;
 Fri, 05 Jun 2026 19:45:56 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sstabellini@kernel.org>) id 1wVaUO-0003o3-Sl
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 19:45:56 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVaUO-00Eegb-5h
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 21:45:56 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a232756-e002-0a2a0a5209dd-0a2a4502bcce-6
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 21:45:56 +0200
Received: from [172.105.4.254] (helo=tor.source.kernel.org)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a232772-af86-0a2a45020019-ac6904fea748-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 21:45:55 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by tor.source.kernel.org (Postfix) with ESMTP id 4A2FB600AE;
 Fri,  5 Jun 2026 19:45:54 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A62451F00893;
 Fri,  5 Jun 2026 19:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:From:To:cc:Subject:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780688754;
	bh=Kk3yalXw/Zjb+ZFxw7VyA8/YZvJpX/XMO+CbkVa4MW8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References;
	b=hQzNKRhrYkIKGwVWxP8KBbVVeKwG1UYVcZBgzB6nkPWe+hmvpt6mK9xl4bF3K+ciM
	 5p5coh1vIRnHhtFBy6X0YNncfXAvPcsyCQbbSZsxaS8hOHtz2Cy1MCaeecHXr5YGG4
	 rlS4JLiPu824H+0XMEVeAkcjp5ECI6DkMRUfWh3pEYgj4GWd4HwQux3BF7v4gL6pgB
	 /mRpyG4IWLJpqKTkkFXAsjZKkNf/4Myv0q7M8jmHxVyDdPUdbVhMaGa1faAjGNAIr5
	 DaYZ4zALLGtI9vUNH6pXBp9ZXPZnO6pE/cobXGCNYBsYQ+1MklhK2t0BllgLApbUor
	 qoFFJg14DML0Q==
Date: Fri, 5 Jun 2026 12:45:52 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: dmukhin@ford.com
cc: Andrew Cooper <andrew.cooper3@citrix.com>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Anthony PERARD <anthony.perard@vates.tech>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Juergen Gross <jgross@suse.com>, 
    Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22 0/6] CI: Update distros for build tests
In-Reply-To: <aiMPqmCphM3RW8ol@kraken>
Message-ID: <alpine.DEB.2.22.394.2606051245450.3299@ubuntu-linux-20-04-desktop>
References: <20260605144213.2749656-1-andrew.cooper3@citrix.com> <aiMPqmCphM3RW8ol@kraken>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
X-purgate-ID: tlsNG-720697/1780688756-80D7F161-2842E4E8/0/0
X-purgate-type: clean
X-purgate-size: 670

On Fri, 5 Jun 2026, dmukhin@ford.com wrote:
> On Fri, Jun 05, 2026 at 03:42:07PM +0100, Andrew Cooper wrote:
> > Refresh which distros we do build testing with
> > 
> > https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2579549654
> > 
> > Andrew Cooper (6):
> >   CI: Drop test-artefacts/Makefile
> >   CI: Swap ocaml-nox for ocaml in newer Debian/Ubuntu
> >   CI: Drop Ubuntu 16.04
> >   CI: Add Ubuntu 26.04
> >   CI: Update Fedora to 43
> >   CI: Update Opensuse 15.6 to 16.0
> 
> Please consider:
> 
> Reviewed-by: Denis Mukhin <dmukhin@ford.com> 
> 
> for the entire series.

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


From xen-devel-bounces@lists.xenproject.org Fri Jun 05 19:51:51 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Jun 2026 19:51:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1330026.1593863 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVaa2-0005mA-Lk; Fri, 05 Jun 2026 19:51:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1330026.1593863; Fri, 05 Jun 2026 19:51:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVaa2-0005m3-J8; Fri, 05 Jun 2026 19:51:46 +0000
Received: by outflank-mailman (input) for mailman id 1330026;
 Fri, 05 Jun 2026 19:51:45 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <tglx@kernel.org>) id 1wVaa1-0005lx-14
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 19:51:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVaa0-005jEd-73
 for xen-devel@lists.xenproject.org; Fri, 05 Jun 2026 21:51:44 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <tglx@kernel.org>)
 id 6a2328cf-5cb7-0a2a0a5109dd-0a2a4501912c-0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 21:51:43 +0200
Received: from [172.234.252.31] (helo=sea.source.kernel.org)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <tglx@kernel.org>)
 id 6a2328ce-c1f2-0a2a45010019-aceafc1fb3f2-3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Jun 2026 21:51:43 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by sea.source.kernel.org (Postfix) with ESMTP id 92DF3444D2;
 Fri,  5 Jun 2026 19:51:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 96AE31F00893;
 Fri,  5 Jun 2026 19:51: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="From:To:Cc:Subject:In-Reply-To:References:Date"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780689101;
	bh=/4/R21/fqtDVS3dMxk8YUcZsiYIZNFflJGsvUsdqCpw=;
	h=From:To:Cc:Subject:In-Reply-To:References:Date;
	b=HJKk9HX+g5UPbatALcVIkf0hR4ph+0Wx8iYP9GEhI83XdOxXt7ZFz/GyAcdNSqC3b
	 59tx5s2p8e97ACe09fjCrUGDsFH0mUGYy6hjREF82KGE5tE3NRoM2KruI4GtHlI4zf
	 9JzxtgHFG+ngZyRIRnCNTlILcrBvBhmuDuMhpklDDYDJvC7XRvgVA6xfP46bUmOz7Q
	 DvD8utVSK+xnYsPP5vFZO758kEbbdtewrTCb2MLyAHXLoJqapxPvfVQRwAWSsiuX7l
	 5hn4/v5jowzGbNQzjCTmK+bZEv5FiaP+Dh9Aalw1jf8a8vDBqU3s5PlzLhytckiQry
	 oZh4Oqjmh3P1Q==
From: Thomas Gleixner <tglx@kernel.org>
To: Sean Christopherson <seanjc@google.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, Kiryl Shutsemau <kas@kernel.org>, "K. Y. Srinivasan"
 <kys@microsoft.com>, Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu
 <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>, Long Li
 <longli@microsoft.com>, Ajay Kaher <ajay.kaher@broadcom.com>, Alexey
 Makhalov <alexey.makhalov@broadcom.com>, Jan Kiszka
 <jan.kiszka@siemens.com>, Andy Lutomirski <luto@kernel.org>, Peter
 Zijlstra <peterz@infradead.org>, Juergen Gross <jgross@suse.com>, Daniel
 Lezcano <daniel.lezcano@kernel.org>, John Stultz <jstultz@google.com>, "H.
 Peter Anvin" <hpa@zytor.com>, Rick Edgecombe <rick.p.edgecombe@intel.com>,
 Vitaly Kuznetsov <vkuznets@redhat.com>, Broadcom internal kernel review
 list <bcm-kernel-feedback-list@broadcom.com>, Boris Ostrovsky
 <boris.ostrovsky@oracle.com>, Stephen Boyd <sboyd@kernel.org>,
 kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-coco@lists.linux.dev, linux-hyperv@vger.kernel.org,
 virtualization@lists.linux.dev, xen-devel@lists.xenproject.org, David
 Woodhouse <dwmw@amazon.co.uk>, Tom Lendacky <thomas.lendacky@amd.com>,
 Nikunj A Dadhania <nikunj@amd.com>, David Woodhouse <dwmw2@infradead.org>,
 Michael Kelley <mhklinux@outlook.com>
Subject: Re: [PATCH v4 01/47] x86/tsc: Never re-calibrate TSC frequency if
 its exact timing is known
In-Reply-To: <aiMPxl5vkvJDldi9@google.com>
References: <20260529144435.704127-1-seanjc@google.com>
 <20260529144435.704127-2-seanjc@google.com> <87fr315fq9.ffs@fw13>
 <aiMPxl5vkvJDldi9@google.com>
Date: Fri, 05 Jun 2026 21:51:38 +0200
Message-ID: <87a4t86a0l.ffs@fw13>
MIME-Version: 1.0
Content-Type: text/plain
X-purgate-ID: tlsNG-d62444/1780689103-AD5AFFF4-E14302E1/0/0
X-purgate-type: clean
X-purgate-size: 2124

On Fri, Jun 05 2026 at 11:04, Sean Christopherson wrote:
> On Fri, Jun 05, 2026, Thomas Gleixner wrote:
>> On Fri, May 29 2026 at 07:43, Sean Christopherson wrote:
>> > Don't re-calibrate the TSC frequency if the TSC is known to run at a fixed
>> > frequency.
>> 
>> That's misleading because fixed frequency means that the frequency does
>> not change, i.e. X86_FEATURE_CONSTANT_TSC is set. But
>> X86_FEATURE_CONSTANT_TSC does not imply that the frequency can be read
>> from CPUID/MSRs.
>
> Sorry, "if the TSC runs at a known, fixed frequency" would be a better way to
> phrase this.
>
>> > In practice, this is likely one big nop, as re-calibration is
>> > used only for SMP=n kernels, and only for hardware that is 20+ years old,
>> > i.e. is extremely unlikely to collide with TSC_KNOWN_FREQ.
>> 
>> recalibrate_cpu_khz() is only invoked from Intel P4 and AMD K7 CPU
>> frequency drivers, which means that's absolutely not interesting and
>> neither X86_FEATURE_CONSTANT_TSC nor X86_FEATURE_TSC_KNOWN_FREQ can be
>> set on those systems.
>
> It _shouldn't_ be set on those systems, but in the world of virtualization it's
> not completely impossible.
>
>> IOW, this patch is pointless voodoo ware.
>
> Would y'all be opposed to adding a WARN?  I don't actually care about P4 or K7
> CPUs, but without any reference to X86_FEATURE_TSC_KNOWN_FREQ in
> recalibrate_cpu_khz(), the code _looks_ wrong, and so is very confusing for
> readers that don't already know that in practice, it's limited to ancient CPUs.
>
> In other words, the point is to document expectations and mutual exclusion, not
> to "fix" anything.

Fair enough.

So yes, having a check there for actually X86_FEATURE_CONSTANT_TSC
(X86_FEATURE_CONSTANT_TSC is not interesting) and emitting a warning and
returning early is the right thing to do there.

But we also should have a check in the TSC init code somewhere which
validates that X86_FEATURE_CONSTANT_TSC is set when
X86_FEATURE_TSC_KNOWN_FREQ is set. X86_FEATURE_TSC_KNOWN_FREQ is useless
w/o X86_FEATURE_CONSTANT_TSC.

Thanks,

        tglx




From xen-devel-bounces@lists.xenproject.org Sat Jun 06 01:14:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Jun 2026 01:14:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1330210.1593885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVfbm-0002VQ-Ri; Sat, 06 Jun 2026 01:13:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1330210.1593885; Sat, 06 Jun 2026 01: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 1wVfbm-0002VI-Ln; Sat, 06 Jun 2026 01:13:54 +0000
Received: by outflank-mailman (input) for mailman id 1330210;
 Sat, 06 Jun 2026 01:13:53 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wVfbl-0002VA-9X
 for xen-devel@lists.xenproject.org; Sat, 06 Jun 2026 01:13:53 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVfbk-006GYF-8V
 for xen-devel@lists.xenproject.org; Sat, 06 Jun 2026 03:13:52 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a23744f-e002-0a2a0a5209dd-0a2a450bd468-0
 for <xen-devel@lists.xenproject.org>; Sat, 06 Jun 2026 03:13:51 +0200
Received: from [40.107.200.15]
 (helo=CH5PR02CU005.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a23744e-212f-0a2a450b0019-286bc80fa637-3
 for <xen-devel@lists.xenproject.org>; Sat, 06 Jun 2026 03:13:51 +0200
Received: from BL0PR05CA0022.namprd05.prod.outlook.com (2603:10b6:208:91::32)
 by CH1PPF2EB7CF87B.namprd12.prod.outlook.com
 (2603:10b6:61f:fc00::60b) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Sat, 6 Jun 2026
 01:13:46 +0000
Received: from BL02EPF0002992C.namprd02.prod.outlook.com
 (2603:10b6:208:91:cafe::9f) by BL0PR05CA0022.outlook.office365.com
 (2603:10b6:208:91::32) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.9 via Frontend Transport; Sat, 6
 Jun 2026 01:13:46 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BL02EPF0002992C.mail.protection.outlook.com (10.167.249.57) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.92.5 via Frontend Transport; Sat, 6 Jun 2026 01:13:46 +0000
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Fri, 5 Jun
 2026 20:13:46 -0500
Received: from [172.18.181.126] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Fri, 5 Jun 2026 20:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=MOM5gpdVh6BCd2il7J8VoG8Gk1hiiCXWV0tuE/Joa6oip4X34VioZbtRsELzlIWZ/tYGLiSDNPp4uPobetIfcw4OV/n+FZY0m6QPs/Mn3PekAlH1iAUljl4xUXK7WmDPBLjMca37Ja6H667MLXIac6VPqBP9LPIvogS+IocCZ8XskD0L30zL7OfBAQfC1M8RsaBQFZ4cV3sCqJ62q4ob+/sWCHy2g3qi+6D/IkhnX9UoySM5nhllTuhnsCh4wdmMsqR8x33IxL5f6sNDGUB3BNfLvow71+PYdD/JBttm6ciyf5BwrInuw0K89OQje3hHvJjFg9Kup/N8603N4m6itQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NljL38Gi4X+C7yIEC/9vfZVXxPAfHVT51ATgJVI9ums=;
 b=YnTgRvcNoC41qfd7STIm747F5RL2y2U86/DIHqCbbdfTJLLwVLXXuLXv/go88mWi9VGRmSRREgF+hTdXcF8Hnr2a2pUb5XaiLzcVlQVxaktT6Bvn/QVFf620HqJ/7JQCDdYSQxl7DB8BXt4YLs6VeD1GUwDn9pA+Hwoo1F6bTZwkRnLy6K9bUQxXQ4h7lNjEG1F09Yq1Hj92v40Y7DIj2yLgqJ4jad4yoIhEiz+OkA/J6ve7NIoGrcEZiJW/8jyKupWTwv/brp03DdO7UBbF2NaxCjLvMrlXYkD6DgcO/63Dp1NEGfyAPK9I/EjaMXnV03TCc4shrdn/mP06y6taKA==
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=NljL38Gi4X+C7yIEC/9vfZVXxPAfHVT51ATgJVI9ums=;
 b=CLouhke50XJdc8/AvO2SJL5/IUyIgLIRxg4T0xFBCV2Wt0JwzRd4xpwubmLGIlAfsvAuB2psH5UHS4d14bP2MwXBcRdD4D/HVgwjFhCxx4Q0NOhglUnkgO10QEdh7Myk6Xut35j6fr81lvE3zuoO/eNgJwc3deb0tKisBCsTUfY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <8dc5f6be-0276-4b12-ba1d-22682c4350cf@amd.com>
Date: Fri, 5 Jun 2026 21:02:43 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] x86/hvm: Partially revert ("xen/mem_access: wrap
 memory access when VM_EVENT=n")
To: Andrew Cooper <andrew.cooper3@citrix.com>, Xen-devel
	<xen-devel@lists.xenproject.org>
CC: Hady Azzam <hadyazzam@protonmail.com>, Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Teddy Astie
	<teddy.astie@vates.tech>, Tamas K Lengyel <tamas@tklengyel.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20260605194157.2762581-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20260605194157.2762581-1-andrew.cooper3@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: BL02EPF0002992C:EE_|CH1PPF2EB7CF87B:EE_
X-MS-Office365-Filtering-Correlation-Id: ec07d74f-cd40-46bd-1b4b-08dec368dbdb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700016|82310400026|376014|22082099003|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	/ZJhsKCOx9mSL5etTq4DbkenFOk7F0XTdJXAoEe9iINBA1Bcm1u4wM1y4YQrn5pcY/aj1UpvB4ouOWuY2+R4DY4eIbkrCS8KrYy1c7Ah4nIuG1xk+58VAdxP3R34ttSoxgILa6nmyz27TMtC38hTL5e+vqQ5Cre7GMHIlOuXRPgbZLRDVyXaXt/hufp2v2X1Unh/E2/v47CJTH7oVI6MHIQq8aE6CzKyTbPkUAIKNCT8n9cBQ7/jy6MuYrmfr2L2wstu5B8Ml7LvEIS9GmWEUz8mll+RSmRit/OEikhuksnpvzBJ8ttfXpm9d+4jMnc89FQNw7sfqHCXoaE7b948elATchMJ1DxQcZuiDnVCirw/8qTaMO5ws54JflfxzMw+qgaiyH82U830be2ULkUCdLKmP3PDjVZfu9E5StoZc6fK9wcWtdkkwm+ANxpHw+OBvAA+dLNNx+07FcdmrgmDeVGwwlcVHRc/ShId5BOzJSdjnpI47rybyV10dvIdwdo+/+uRGc23vbNkPyrFKboX9qAZSZ1gRDJAtGSPHIK0cZfTJOY4+vZsA7e3eaXgfMVg8OxYi/vJPH4nkXj1gQthGYsJAFRYKFUDyPZ2k5xPA3q3eOlHiVsvbMphdbbQp6ewUxsFOMlxrVfX034I+H7QYLWLoq0YD7uaZcmzUrN/X0YtWPAghVuXROSByvPuaa3YIxo77SCweFhCK0GmoWvBSOP4JlB0Ie/XYmoR0a+zkrs=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700016)(82310400026)(376014)(22082099003)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	ceTBzNlA6mZgi+5EbSGFXLeOlLLjW0ae/oVlEfZ4ve1xxA21rdXMjP8vlQBTkjZqsfzroGnMxfgLt2uCngeaULfpk9AUWhkWxTdlgm+xNUdB5C7MSlv5+W6l7yKzHH0I6RXcmnFk9xpONKyLsbpANi9LpnHvf8bVxQF3KvqaVP7BbQrsqmfeHyfTWq0Ed/Venyl4n363zbLPZSG5oqsatmJYTn5KN51h1wF6C5dzgwwN18dNxBM44VDarlYKKmwQEWuBvhc4aNRivivvsPBr4stBf+JybSI8VBJ4G4GuWS0co/AlNZsSHOBQXV1FYHM/DhbEXWfcDLM6SeLzmY1trXL5HjFnGwJP66QqKBbg96xhRhobtbP5BsVkE7lxfwwoV7zLhDp7kivzzHnVxe+NvK/nJqj9XLqQYyTUuOvx3et/f7EOIIkPlWgYEF0b4FCE
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2026 01:13:46.5329
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ec07d74f-cd40-46bd-1b4b-08dec368dbdb
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0002992C.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH1PPF2EB7CF87B
X-purgate-ID: tlsNG-42698a/1780708431-1AD77F3B-5D206BFE/0/0
X-purgate-type: clean
X-purgate-size: 543

On 2026-06-05 15:41, Andrew Cooper wrote:
> It is erroneous to check current like this.  e.g. Dom0 does not have VM_EVENT
> active when it's introspecting domUs.
> 
> The use of vm_event_is_enabled() is only for the IS_ENABLED(CONFIG_VM_EVENT)
> short circut, so just use that directly.
> 
> Reported-by: Hady Azzam <hadyazzam@protonmail.com>
> Fixes: b18e38e42da6 ("xen/mem_access: wrap memory access when VM_EVENT=n")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From xen-devel-bounces@lists.xenproject.org Sat Jun 06 10:35:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Jun 2026 10:35:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1330486.1593894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVoMk-000825-R7; Sat, 06 Jun 2026 10:34:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1330486.1593894; Sat, 06 Jun 2026 10: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 1wVoMk-00081x-M8; Sat, 06 Jun 2026 10:34:58 +0000
Received: by outflank-mailman (input) for mailman id 1330486;
 Sat, 06 Jun 2026 10:34:56 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <tglx@kernel.org>) id 1wVoMi-00081r-Sd
 for xen-devel@lists.xenproject.org; Sat, 06 Jun 2026 10:34:56 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVoMi-000DMF-9U
 for xen-devel@lists.xenproject.org; Sat, 06 Jun 2026 12:34:56 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <tglx@kernel.org>)
 id 6a23f7a3-e002-0a2a0a5209dd-0a2a450cdaec-24
 for <xen-devel@lists.xenproject.org>; Sat, 06 Jun 2026 12:34:56 +0200
Received: from [172.234.252.31] (helo=sea.source.kernel.org)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <tglx@kernel.org>)
 id 6a23f7ce-62f1-0a2a450c0019-aceafc1fe712-3
 for <xen-devel@lists.xenproject.org>; Sat, 06 Jun 2026 12:34:55 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by sea.source.kernel.org (Postfix) with ESMTP id 7ED85443A0;
 Sat,  6 Jun 2026 10:34:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8EDCD1F00898;
 Sat,  6 Jun 2026 10:34: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="From:To:Cc:Subject:In-Reply-To:References:Date"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780742093;
	bh=NtWrycsv8R2U43lwkz14BzyHb4n6w50k0ikzyF9jV3E=;
	h=From:To:Cc:Subject:In-Reply-To:References:Date;
	b=IXyU/D8264eSLC2QDbXcAcYtJaBaXZQFhc3eMNaexij+8rWkr00hLcCxbU8sE+dyX
	 mA+0vh4jhmQewxXtcNgNlHzXYQxy3xltXkTXAvckzwoIzIHRe33MgJj8Z/eoKIZg7/
	 OS3AcAdgYKZfgsMlvmrE9ixBzNG2b9ZZdmXOqeb5AoGkbbvWGXnmwwu7r9FDGH7MPJ
	 /ags4E/71IJXIaZDB2vgU6XhD0IfqTYGjQGdAaEMrOXXRxdiQY3pri70AgZucTGyCC
	 26QCAArNsLQlKTvztPntE64Lex8sfSLNWgTTXMw3c1CK7vs7qdGaoXt7ZZuAKprlo6
	 2CEQuUIqJnPEA==
From: Thomas Gleixner <tglx@kernel.org>
To: Sean Christopherson <seanjc@google.com>, Paolo Bonzini
 <pbonzini@redhat.com>, Ingo Molnar <mingo@redhat.com>, Borislav Petkov
 <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
 Kiryl Shutsemau <kas@kernel.org>, Sean Christopherson <seanjc@google.com>,
 "K. Y. Srinivasan" <kys@microsoft.com>, Haiyang Zhang
 <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, Dexuan Cui
 <decui@microsoft.com>, Long Li <longli@microsoft.com>, Ajay Kaher
 <ajay.kaher@broadcom.com>, Alexey Makhalov <alexey.makhalov@broadcom.com>,
 Jan Kiszka <jan.kiszka@siemens.com>, Andy Lutomirski <luto@kernel.org>,
 Peter Zijlstra <peterz@infradead.org>, Juergen Gross <jgross@suse.com>,
 Daniel Lezcano <daniel.lezcano@kernel.org>, John Stultz
 <jstultz@google.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>, Rick Edgecombe
 <rick.p.edgecombe@intel.com>, Vitaly Kuznetsov <vkuznets@redhat.com>,
 Broadcom internal kernel review list
 <bcm-kernel-feedback-list@broadcom.com>, Boris Ostrovsky
 <boris.ostrovsky@oracle.com>, Stephen Boyd <sboyd@kernel.org>,
 kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-coco@lists.linux.dev, linux-hyperv@vger.kernel.org,
 virtualization@lists.linux.dev, xen-devel@lists.xenproject.org, David
 Woodhouse <dwmw@amazon.co.uk>, Tom Lendacky <thomas.lendacky@amd.com>,
 Nikunj A Dadhania <nikunj@amd.com>, David Woodhouse <dwmw2@infradead.org>,
 Michael Kelley <mhklinux@outlook.com>
Subject: Re: [PATCH v4 10/47] x86/tsc: Consolidate forcing of
 X86_FEATURE_TSC_KNOWN_FREQ for PV code
In-Reply-To: <20260529144435.704127-11-seanjc@google.com>
References: <20260529144435.704127-1-seanjc@google.com>
 <20260529144435.704127-11-seanjc@google.com>
Date: Sat, 06 Jun 2026 12:34:50 +0200
Message-ID: <877boc554l.ffs@fw13>
MIME-Version: 1.0
Content-Type: text/plain
X-purgate-ID: tlsNG-d25034/1780742096-DA975CF5-EFE19639/0/0
X-purgate-type: clean
X-purgate-size: 2956

On Fri, May 29 2026 at 07:43, Sean Christopherson wrote:

> Now that all paravirt code that explicitly specifies the TSC frequency
> also sets X86_FEATURE_TSC_KNOWN_FREQ, replace all of the one-off code
> and simply set X86_FEATURE_TSC_KNOWN_FREQ if the TSC frequency is known.
>
> Do NOT force set TSC_KNOWN_FREQ if the "known" TSC frequency was provided
> by the user.  Per commit bd35c77e32e4 ("x86/tsc: Add tsc_early_khz command
> line parameter"), one of the goals of the param is to allow the refined
> calibration work "to do meaningful error checking".
>
> Note, preferring the user-provided TSC frequency over the frequency from
> the hypervisor or trusted firmware, while simultaneously not treating the
> user-provided frequency as gospel, is obviously incongruous.  Sweep the
> problem under the rug for now to avoid opening a big can of worms that
> likely doesn't have a great answer.

There is a good answer I think.

early_tsc_khz exists to cater for the overclocking crowd. On their
modded systems the firmware supplied TSC frequency (CPUID/MSR) is not
matching reality anymore. So they work around that by supplying a close
enough tsc_early_khz and then they let the refined calibration work
figure it out.

Arguably that's only relevant for bare metal systems and what's worse is
that in virtual environments the refined calibration work can fail,
which renders the TSC unstable.

So I'd rather say we change this logic to:

   if (!hypervisor_is_type(X86_HYPER_NATIVE)) {
      tsc_khz = x86_init.....();
      force(X86_FEATURE_TSC_KNOWN_FREQ);
   } else if (tsc_khz_early) {
      ....
   } else {
      ...
   }

Along with:

   if (!hypervisor_is_type(X86_HYPER_NATIVE)) {
      if (tsc_khz_early)
         pr_warn("Ignoring non-sensical tsc_early_khz command line argument\n");

or something daft like that.

The kernel has for various reasons always tried to cater for the needs
of users who are plagued by bonkers firmware, but we have to stop to
prioritize or treating equal ancient and modded out of spec hardware.

TBH, I consider that whole KVM clock nonsense to fall into the modded
out of spec hardware realm. Do a reality check:

   How many production systems are out there still which run VMs on CPUs
   with a broken TSC and the lack of VM TSC scaling?

I'm not saying that we should not support the few remaining systems
anymore, but our tendency to pretend that we can keep all of this
nonsense working and at the same time making progress is just a fallacy.

I rather want to have a more fine grained differentiation and
prioritization of:

  1) The actual real world relevant use cases which run on contemporary
     hardware.

  2) Still relevant use cases on slightly older hardware with less
     capabilities

  3) Broken firmware

  4) Modded out of spec nonsense

  5) Support for ancient museums pieces

Thanks,

        tglx



From xen-devel-bounces@lists.xenproject.org Sat Jun 06 10:53:04 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Jun 2026 10:53:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1330508.1593902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVoeA-0002ti-4P; Sat, 06 Jun 2026 10:52:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1330508.1593902; Sat, 06 Jun 2026 10: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 1wVoeA-0002tb-1X; Sat, 06 Jun 2026 10:52:58 +0000
Received: by outflank-mailman (input) for mailman id 1330508;
 Sat, 06 Jun 2026 10:52:56 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+5f94dc927c466778897c+8322+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wVoe7-0002tV-40
 for xen-devel@lists.xenproject.org; Sat, 06 Jun 2026 10:52:56 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVoe6-00Fr0j-HG
 for xen-devel@lists.xenproject.org; Sat, 06 Jun 2026 12:52:54 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+5f94dc927c466778897c+8322+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a23fbf4-e002-0a2a0a5209dd-0a2a4505eb98-10
 for <xen-devel@lists.xenproject.org>; Sat, 06 Jun 2026 12:52:53 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+5f94dc927c466778897c+8322+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a23fc04-aaa8-0a2a45050019-5a9b3222a5f4-3
 for <xen-devel@lists.xenproject.org>; Sat, 06 Jun 2026 12:52:53 +0200
Received: from [2001:8b0:10b:5:e135:8c80:b1ce:3f2f]
 (helo=u09cd745991455d.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wVodl-00000009dTM-3Nod; Sat, 06 Jun 2026 10:52: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="MIME-Version:Content-Type:References:In-Reply-To:Date:Cc:To:From:Subject:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=aMAeNZMNgr7i7Pp78hkFlqy0BHv1TcuoYaKZcq0aBj0=; b=gy8xYWhq+iEEcOAe0U8T8T73tP
	mnmXEjaJy4pXwcIriTPsYmGkRTj04zRwvvO2NXwk9wARpilN0jKSNKX83uyoZnkUl1WBxq3l7US7o
	rq1zjxI/Yhym86KytfQwUllqI+yPotv449qs5gjOPOOfzX3+190w5Dvwhir/tJpXWFZpWBLVO2C7c
	WvGdGohvDXRFMp0J8e/4ERmMYQxjDST1mO+xq/AmftcJzhqYuolcbLGdJU+ezbVFPj2yHJ2sFDuQZ
	XcoZXNy75qYC2SMjQj9M8lNIoqvWalepMiL2SYQgr6yPzevGwSgYXAmAqY47/p9QMsXgBkMoVW7p4
	m+rOXjOg==;
Message-ID: <eef867eae15e30d08482ba16a1a32159745b64a7.camel@infradead.org>
Subject: Re: [PATCH v4 10/47] x86/tsc: Consolidate forcing of
 X86_FEATURE_TSC_KNOWN_FREQ for PV code
From: David Woodhouse <dwmw2@infradead.org>
To: Thomas Gleixner <tglx@kernel.org>, Sean Christopherson
 <seanjc@google.com>,  Paolo Bonzini <pbonzini@redhat.com>, Ingo Molnar
 <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>, Dave Hansen
 <dave.hansen@linux.intel.com>, x86@kernel.org, Kiryl Shutsemau
 <kas@kernel.org>, "K. Y. Srinivasan" <kys@microsoft.com>, Haiyang Zhang
 <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>,  Dexuan Cui
 <decui@microsoft.com>, Long Li <longli@microsoft.com>, Ajay Kaher
 <ajay.kaher@broadcom.com>,  Alexey Makhalov <alexey.makhalov@broadcom.com>,
 Jan Kiszka <jan.kiszka@siemens.com>, Andy Lutomirski	 <luto@kernel.org>,
 Peter Zijlstra <peterz@infradead.org>, Juergen Gross	 <jgross@suse.com>,
 Daniel Lezcano <daniel.lezcano@kernel.org>, John Stultz	
 <jstultz@google.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>, Rick Edgecombe	
 <rick.p.edgecombe@intel.com>, Vitaly Kuznetsov <vkuznets@redhat.com>, 
 Broadcom internal kernel review list	
 <bcm-kernel-feedback-list@broadcom.com>, Boris Ostrovsky	
 <boris.ostrovsky@oracle.com>, Stephen Boyd <sboyd@kernel.org>, 
	kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-coco@lists.linux.dev, 	linux-hyperv@vger.kernel.org,
 virtualization@lists.linux.dev, 	xen-devel@lists.xenproject.org, Tom
 Lendacky <thomas.lendacky@amd.com>,  Nikunj A Dadhania	 <nikunj@amd.com>,
 Michael Kelley <mhklinux@outlook.com>
Date: Sat, 06 Jun 2026 11:52:33 +0100
In-Reply-To: <877boc554l.ffs@fw13>
References: <20260529144435.704127-1-seanjc@google.com>
	 <20260529144435.704127-11-seanjc@google.com> <877boc554l.ffs@fw13>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-+zEII74NtADjQ1WcGTb7"
User-Agent: Evolution 3.60.3 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-c201ff/1780743173-D9971443-4A264845/0/0
X-purgate-type: clean
X-purgate-size: 11017


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

On Sat, 2026-06-06 at 12:34 +0200, Thomas Gleixner wrote:
> On Fri, May 29 2026 at 07:43, Sean Christopherson wrote:
>=20
> > Now that all paravirt code that explicitly specifies the TSC frequency
> > also sets X86_FEATURE_TSC_KNOWN_FREQ, replace all of the one-off code
> > and simply set X86_FEATURE_TSC_KNOWN_FREQ if the TSC frequency is known=
.
> >=20
> > Do NOT force set TSC_KNOWN_FREQ if the "known" TSC frequency was provid=
ed
> > by the user.=C2=A0 Per commit bd35c77e32e4 ("x86/tsc: Add tsc_early_khz=
 command
> > line parameter"), one of the goals of the param is to allow the refined
> > calibration work "to do meaningful error checking".
> >=20
> > Note, preferring the user-provided TSC frequency over the frequency fro=
m
> > the hypervisor or trusted firmware, while simultaneously not treating t=
he
> > user-provided frequency as gospel, is obviously incongruous.=C2=A0 Swee=
p the
> > problem under the rug for now to avoid opening a big can of worms that
> > likely doesn't have a great answer.
>=20
> There is a good answer I think.
>=20
> early_tsc_khz exists to cater for the overclocking crowd. On their
> modded systems the firmware supplied TSC frequency (CPUID/MSR) is not
> matching reality anymore. So they work around that by supplying a close
> enough tsc_early_khz and then they let the refined calibration work
> figure it out.
>=20
> Arguably that's only relevant for bare metal systems and what's worse is
> that in virtual environments the refined calibration work can fail,
> which renders the TSC unstable.
>=20
> So I'd rather say we change this logic to:
>=20
> =C2=A0=C2=A0 if (!hypervisor_is_type(X86_HYPER_NATIVE)) {
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tsc_khz =3D x86_init.....();
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 force(X86_FEATURE_TSC_KNOWN_FREQ);
> =C2=A0=C2=A0 } else if (tsc_khz_early) {
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ....
> =C2=A0=C2=A0 } else {
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ...
> =C2=A0=C2=A0 }
>=20
> Along with:
>=20
> =C2=A0=C2=A0 if (!hypervisor_is_type(X86_HYPER_NATIVE)) {
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (tsc_khz_early)
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pr_warn("Ignoring non-se=
nsical tsc_early_khz command line argument\n");
>=20
> or something daft like that.
>=20
> The kernel has for various reasons always tried to cater for the needs
> of users who are plagued by bonkers firmware, but we have to stop to
> prioritize or treating equal ancient and modded out of spec hardware.
>=20
> TBH, I consider that whole KVM clock nonsense to fall into the modded
> out of spec hardware realm. Do a reality check:
>=20
> =C2=A0=C2=A0 How many production systems are out there still which run VM=
s on CPUs
> =C2=A0=C2=A0 with a broken TSC and the lack of VM TSC scaling?
>=20
> I'm not saying that we should not support the few remaining systems
> anymore, but our tendency to pretend that we can keep all of this
> nonsense working and at the same time making progress is just a fallacy.

I don't know that we can take the KVM (and Xen) clock away from guests,
but all of the *horrid* part about it is the way it attempts to cope
with the possibility that the *host* timekeeping might flip away from
TSC-based mode at any point in time. By the end of my outstanding
cleanup series, that is the *only* thing the gtod_notifier remains for.

If we can trust the hardware *and* the host kernel, then KVM could
theoretically hardwire the kvmclock into 'master clock mode' where it
basically just advertises the TSC=E2=86=92kvmclock relationship *once* to a=
ll
CPUs and it never changes.

All the nonsense about updating it every time we enter a CPU could just
go away completely.


--=-+zEII74NtADjQ1WcGTb7
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
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI2MDYwNjEwNTIz
M1owLwYJKoZIhvcNAQkEMSIEIEhVSloFuhqMBmE9MWMnRL+4glXcavjBsj6htTNioZ48MGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIAD2spFgvCf31F
C1uDR0BxwsoCE8WWD65unLAZn1GMby4630Yrry6rafto1Wg7+RLrqgV1fzMYICLpfPSJQjhOny+v
K2C8ySckNmhkJnxRMQ5TlJxZt1nRqXtcRYRI58+Q0EgDqCVpmUumYy4/kn6c3pnS2zC0bOqWh3f/
24c+NmInRr2zAnghE54ohxiQlUhqlM5XjZnot/VGeLeJ2Obzm0ULz4MD+nasaHlXPODBE9ourWdy
2DDHv9SAmrKJENz1+Hnqfq7hTfYiLdDfXJlTnrGXbgldFy9mv8qp65JhSyP+bmWbcTjposWld74Z
YaoDme7wOF+bXraVmTDQ9fKmCYdTuPTwbGOyL27w1bBsIXG0n550XANkQSDr936+Vmt3GZCcZ+i9
BSIGCkJExetIEo4AdTIkTtrmJppr/5aRSzwSihp6hu+BaKE4pdpSSJcv5AJSBg0L59kXRLZDUZNH
dX21IFjahVLB9f+6g86puYeNVuYo+YojXCzk7W3r1DRztRD4U4c8c7LKZhjCdqJhlszRANV1b34u
fGJh4Gf36lg2+9h03GXeG83sA2uR1fdlEkCE+sFdqg8yqMDcp8dsxTBb6DhXpTtPhF/2MIjBa6Xq
md+jy/QnNmI4SL8Wh59o1ukoeL2lIGQ/TuHS07hT6K8mJejoOVVRLrPzccs5QKEAAAAAAAA=


--=-+zEII74NtADjQ1WcGTb7--


From xen-devel-bounces@lists.xenproject.org Sat Jun 06 16:02:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Jun 2026 16:02:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1330718.1593928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wVtTi-00071B-7i; Sat, 06 Jun 2026 16:02:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1330718.1593928; Sat, 06 Jun 2026 16:02: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 1wVtTi-000712-3O; Sat, 06 Jun 2026 16:02:30 +0000
Received: by outflank-mailman (input) for mailman id 1330718;
 Sat, 06 Jun 2026 16:02:29 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wVtTg-00070w-UN
 for xen-devel@lists.xenproject.org; Sat, 06 Jun 2026 16:02:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wVtTg-00D2LK-BK
 for xen-devel@lists.xenproject.org; Sat, 06 Jun 2026 18:02:28 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a244469-2eae-0a2a0a5409dd-0a2a450cbb3c-30
 for <xen-devel@lists.xenproject.org>; Sat, 06 Jun 2026 18:02:28 +0200
Received: from [209.85.128.179] (helo=mail-yw1-f179.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a244493-62f1-0a2a450c0019-d15580b3c1a1-3
 for <xen-devel@lists.xenproject.org>; Sat, 06 Jun 2026 18:02:28 +0200
Received: by mail-yw1-f179.google.com with SMTP id
 00721157ae682-7e8833c99fcso33522007b3.3
 for <xen-devel@lists.xenproject.org>; Sat, 06 Jun 2026 09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780761747; cv=none;
        d=google.com; s=arc-20240605;
        b=ZUwxPIR1wcE7PN6cteWYFt2Qrx3FvJ92lfVUuxe78TJJFakoNeUoKUoE/9g8LJIm39
         CKx+TNf1ih3wM2Jhj3zRwcUHBzIvbTNYrrxdCWlJWkxuqm1RRSFsQHkrlOEKF91Jfs/W
         4HN0c82tK0K9fEPRuFU4/4ZdSFaTogrYzaWJS+Lrb5FP5Gsy43MC78i9c5cgEL3K7IPX
         RWEd076cQUGYDbedXClSRKsj/yndMsUDLBznSbbuJ/C6VHfcwnClffX+uoGz8NDvoebo
         Cia1dvk6lxxGz5e1R2YHKez805nWthOjg7bCN3Mp2gTC1FmE9I0AaP9lugxXiIgWKeWT
         kqTA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature;
        bh=yV120SJkaXOhDJ3ht7+zQUfjiEG91MP1CShsdkCq8DE=;
        fh=xSXpILpZGcC0b6sYdroUP2Mv8Ud1opSGb2BtbE0ZumE=;
        b=RTMlEsfLDS/AYJIMSfN9YsxPzufndqQRVcUse5Ds12JvkgDO8LWarBF379i8ai3EJW
         ps9qh6jbAzoW2swQAYo5K4Jgg0rWNnpd/oUYwKJ+uBXm6zenHJEJV7N3Jx0LRsYMtYvw
         iNnLhztVQcd9WYmvoKodHifHfiO76UqgJcoiL/jE0tlOk3KdfIDSMHdPcNTK3O2CVuth
         Vw8b+LIOUjOOULb4oHNqTCSaPTWl5mp/cJfGr+thb1snwN0jY7lTOWQcAf5NpgLq0v1E
         aghZOMiJmMM5I2KTZdLuIJ+Dupav6j9PPyJLn4GRxXQKL6+IybAjOrVgNtibxR0KNuRS
         8wLg==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780761747; x=1781366547; 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=yV120SJkaXOhDJ3ht7+zQUfjiEG91MP1CShsdkCq8DE=;
        b=XaLu5LOZ3XsUjXn37GLWRZ+4L5BzQsrhqfhMV/Twhu207cXqTjb7LwN0e0v/LghiRb
         v+a51OJkLV4mH6XKdNHvtOEDGNq56RsVDiiYjYHUejHWTthHiLFeV5v9Kh0NT0uG2GHZ
         +f1P1TsgR6tI5xSJP33ndRr5Oee0zU/+VLD0n087+lVWZBs8Bnwq9AiWVt/51OKZewpD
         4Gq5o1yyPrhWt34aUpTEeO/qTOT/O3a744/NZIv5xApicdiWfuxH9tn3YxRL4oOukbMi
         HD3N9F6NLhx2ttI8r6npf7M1zqIrWulTrkaF+RSAfxMmpSLtofnE4UgKk/J7dUzE/3u7
         msJw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780761747; x=1781366547;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yV120SJkaXOhDJ3ht7+zQUfjiEG91MP1CShsdkCq8DE=;
        b=oCB4gtfftyhvcX3PVJymKu8XB8TjZISm5oIjprI2rWa1AOaXz8qevmLSIINYduSXG8
         DkTQKeb90BNhlrPwYH4UUE5TD+eNsR03qK7aVrsqiQDyEmhpOsA9wl1hicWBDObjk8/Q
         ByfDuynVJBOsZbLRGlyrdPoMf5fhhDVBnBttXflqS53HoZ7YLlcQfdjglAHjCDLPmU3g
         +G0gegWNg+K+1pa7pY+aGe6DX997d1iZxBe9Uru7K7JD0jr/3kqlfcxdP8Rf3YkdQ/54
         /4Wzro4QxKhtIEHii4T5wtR0lgF15wbQXydLTrrhHhmI/XSAfdM/o3YWaXIr57GRrSSy
         jxvA==
X-Forwarded-Encrypted: i=1; AFNElJ8UqQMogEO8ZGVTXGiWv3GdoBTZD4DF2UXf7fXTRnOYET7sU/XHm41otyMMm2LvK+JjhCHa66/l/90=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwdXrpdJRfZn3DQZDvqqi3okuXcaoVajX4dtRp6N+6D2o06kRIC
	gK4a5yk7j68MKTHhh0dSpcndI3JbD+miAGV2Mslj+q+2fZfHvo7R+lnRGbNAMnpbp/NLNIGxAsK
	lah+XLH6gsKjf3Aqi6XvgwrFpPLu4lkE=
X-Gm-Gg: Acq92OHc+ByENO3N0PWBYlbbyKC4ivCrrkU1r3Wh3za3oGL1RSfHhS1d9L5b4+OgNTt
	wYXOZt6R5WoS9BnX1/GUtp0mT+XEO8Vvxqw+3jmHUtv3L7g2WBoofdPGrUEbKO07++R92Jmd4XL
	I+qoVGP5P0gpwowxlHLig/niGtWBoDhuYp36+LzpgXDp4J3U6dC1LnXsGGRKYakG0fK+JWtzX1d
	T/WdBpxEs0cWI+oLwpj3XNIR8XWd+aiIHWu6GgprEf1sA9zbb3rqZtc8khr6qRYikye4KWQS8Sc
	/UkqsaJyGt+oxq7x/aJCnszKRJISilZiy9uIFuT8FBFDMvc3
X-Received: by 2002:a05:690e:418d:b0:660:7865:9bc6 with SMTP id
 956f58d0204a3-661070738aamr6408065d50.51.1780761746573; Sat, 06 Jun 2026
 09:02:26 -0700 (PDT)
MIME-Version: 1.0
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-3-frediano.ziglio@cloud.com> <7067092e-ba18-4513-a9b1-83ba084ccbb4@suse.com>
 <CAHt6W4cP57pAPsNDKpssjYB=snLEZgOhWkYkVrJys01-NTMiRQ@mail.gmail.com> <75e86d74-9fa1-4090-bea7-332ec31ffb90@suse.com>
In-Reply-To: <75e86d74-9fa1-4090-bea7-332ec31ffb90@suse.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Sat, 6 Jun 2026 17:02:13 +0100
X-Gm-Features: AVVi8Ccw4XyblFSYD4YDnmecfREs8BzexydNVrB5Y2iAMkBnfUWvDPlEEH5EAmE
Message-ID: <CAHt6W4dfXdyw4dOkqoQzo0x4XRmLsHXkhhznov+KvanKBi9bWw@mail.gmail.com>
Subject: Re: [PATCH 2/6] Align all sections to 4KB
To: Jan Beulich <jbeulich@suse.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
X-purgate-ID: tlsNG-d25034/1780761748-E2776CF5-82B8FF14/0/0
X-purgate-type: clean
X-purgate-size: 4466

Frediano

On Fri, 5 Jun 2026 at 08:45, Jan Beulich <jbeulich@suse.com> wrote:
>
> On 04.06.2026 12:16, Frediano Ziglio wrote:
> > On Tue, 2 Jun 2026 at 13:09, Jan Beulich <jbeulich@suse.com> wrote:
> >> On 29.05.2026 17:35, Frediano Ziglio wrote:
> >>> --- a/xen/arch/x86/xen.lds.S
> >>> +++ b/xen/arch/x86/xen.lds.S
> >>> @@ -162,8 +162,8 @@ SECTIONS
> >>>         __note_gnu_build_id_end = .;
> >>>    } PHDR(note) PHDR(text)
> >>>  #elif defined(BUILD_ID_EFI)
> >>> -  /* Workaround bug in binutils < 2.36 */
> >>> -  . = ALIGN(32);
> >>> +  /* align to satisfy UEFI CA memory mitigation */
> >>> +  . = ALIGN(PAGE_SIZE);
> >>>    DECL_SECTION(.buildid) {
> >>>         __note_gnu_build_id_start = .;
> >>>         *(.buildid)
> >>> @@ -330,6 +330,7 @@ SECTIONS
> >>>    __2M_rwdata_end = ALIGN(SECTION_ALIGN);
> >>>
> >>>  #ifdef EFI
> >>> +  . = ALIGN(PAGE_SIZE);
> >>>    .reloc ALIGN(4) : {
> >>>      __base_relocs_start = .;
> >>>      *(.reloc)
> >>> @@ -355,6 +356,7 @@ SECTIONS
> >>>    VIRT_START &= 0;
> >>>    ALT_START &= 0;
> >>>
> >>> +  . = ALIGN(PAGE_SIZE);
> >>>    .sbat (NOLOAD) : { *(.sbat) }
> >>>  #elif defined(XEN_BUILD_EFI)
> >>>    /*
> >>
> >> You say "all sections" in the title, yet this is not covering e.g. debug
> >> info.
> >
> > I will change to "all loadable sections". debug sections are not
> > loadable so they don't cause an issue.
>
> Please try to be precise there, as some aspects are subtle. As per my
> understanding, like .reloc all .debug_* are loadable (and may be loaded).
> The IMAGE_SCN_MEM_DISCARDABLE flag merely means they can be discarded at
> a certain point after image loading (for .reloc in particular: after
> relocations were processed).
>
> Jan

No, debug sections are not loadable, for instance, in a random
executable I found:

Sections:
Idx Name          Size      VMA               LMA               File off  Algn
  0 .text         0000c7f8  0000000140001000  0000000140001000  00000600  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, CODE, DATA
  1 .data         00000250  000000014000e000  000000014000e000  0000ce00  2**4
                  CONTENTS, ALLOC, LOAD, DATA
  2 .rdata        00002c70  000000014000f000  000000014000f000  0000d200  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  3 .pdata        00000654  0000000140012000  0000000140012000  00010000  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  4 .xdata        00000630  0000000140013000  0000000140013000  00010800  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  5 .bss          00001ec0  0000000140014000  0000000140014000  00000000  2**4
                  ALLOC
  6 .idata        00000c88  0000000140016000  0000000140016000  00011000  2**2
                  CONTENTS, ALLOC, LOAD, DATA
  7 .CRT          00000060  0000000140017000  0000000140017000  00011e00  2**2
                  CONTENTS, ALLOC, LOAD, DATA
  8 .tls          00000010  0000000140018000  0000000140018000  00012000  2**2
                  CONTENTS, ALLOC, LOAD, DATA
  9 .reloc        0000009c  0000000140019000  0000000140019000  00012200  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 10 .debug_aranges 00000150  000000014001a000  000000014001a000  00012400  2**0
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_info   0000d5e4  000000014001b000  000000014001b000  00012600  2**0
                  CONTENTS, READONLY, DEBUGGING
 12 .debug_abbrev 000014de  0000000140029000  0000000140029000  0001fc00  2**0
                  CONTENTS, READONLY, DEBUGGING
 13 .debug_line   00001a36  000000014002b000  000000014002b000  00021200  2**0
                  CONTENTS, READONLY, DEBUGGING
 14 .debug_frame  00000f40  000000014002d000  000000014002d000  00022e00  2**0
                  CONTENTS, READONLY, DEBUGGING
 15 .debug_str    000003a0  000000014002e000  000000014002e000  00023e00  2**0
                  CONTENTS, READONLY, DEBUGGING
 16 .debug_line_str 00000a76  000000014002f000  000000014002f000  00024200  2**0
                  CONTENTS, READONLY, DEBUGGING
 17 .debug_loclists 0000174a  0000000140030000  0000000140030000  00024e00  2**0
                  CONTENTS, READONLY, DEBUGGING
 18 .debug_rnglists 0000039c  0000000140032000  0000000140032000  00026600  2**0
                  CONTENTS, READONLY, DEBUGGING

Maybe "loaded" instead of "loadable" ?

Frediano


From xen-devel-bounces@lists.xenproject.org Sun Jun 07 15:10:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Jun 2026 15:10:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331172.1593937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWF8j-0003ez-WB; Sun, 07 Jun 2026 15:10:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331172.1593937; Sun, 07 Jun 2026 15: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 1wWF8j-0003er-RJ; Sun, 07 Jun 2026 15:10:17 +0000
Received: by outflank-mailman (input) for mailman id 1331172;
 Sun, 07 Jun 2026 13:55:49 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <hadyazzam@protonmail.com>) id 1wWDyf-0000Uk-Dz
 for xen-devel@lists.xenproject.org; Sun, 07 Jun 2026 13:55:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWDye-00BnEx-R4
 for xen-devel@lists.xenproject.org; Sun, 07 Jun 2026 15:55:48 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <hadyazzam@protonmail.com>)
 id 6a257834-bab6-0a2a0a5309dd-0a2a4504a950-30
 for <xen-devel@lists.xenproject.org>; Sun, 07 Jun 2026 15:55:48 +0200
Received: from [185.70.43.25] (helo=mail-4325.protonmail.ch)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <hadyazzam@protonmail.com>)
 id 6a257864-1dec-0a2a45040019-b9462b19422b-3
 for <xen-devel@lists.xenproject.org>; Sun, 07 Jun 2026 15:55:48 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=protonmail3 header.d=protonmail.com header.i="@protonmail.com" header.h="Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
	s=protonmail3; t=1780840547; x=1781099747;
	bh=UPIyQ8IH94iSyDkaYG7f3JXf4+wK/TuMBsoPkpscB1Q=;
	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;
	b=Ka4wvcA3vJz9tuaVn0ztXpcbJ2Z4SsRU1SAyQRu51z4vn2k9ABnIE2MRbmdB131As
	 Ub5ZrrubY1+sBOZvLhKsSoNe1T2LJ+DjzZyreGlzxlYjmRpnXSfExBe1OQs7Ze9JcV
	 Fu1WiELv28x6EFPFDZopPvdBNAXKd/9Ab5mrmbvRuIDZdCJKIow2HuL/6P1XQ9MFcA
	 0HjsQ/MjWdVLylWqcdhD6BwHEF5oFxIUxEtlAjgCNl+OtSDyGOHiD07MaUHmclNtil
	 8Fx/uoCwNS6MiPhVaPZtZGm2AaMgKkZZPsUCqqMmfcFbkiGcTcv0fGlJ7/5hYdbwCB
	 +5savUyx8Gzfw==
Date: Sun, 07 Jun 2026 13:55:42 +0000
To: Jason Andryuk <jason.andryuk@amd.com>
From: Hady <hadyazzam@protonmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>, =?utf-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Teddy Astie <teddy.astie@vates.tech>, Tamas K Lengyel <tamas@tklengyel.com>, Penny Zheng <Penny.Zheng@amd.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22] x86/hvm: Partially revert ("xen/mem_access: wrap memory access when VM_EVENT=n")
Message-ID: <bCSTKqH-4KCc_vTLQ3_v6uoGozik8YS3qncdJLURVRlcQIRer_dPiNjEs70H0tq1FiTfl_8NeDtpsxK9FI38TC3HuttN235sSteXigGE26w=@protonmail.com>
In-Reply-To: <8dc5f6be-0276-4b12-ba1d-22682c4350cf@amd.com>
References: <20260605194157.2762581-1-andrew.cooper3@citrix.com> <8dc5f6be-0276-4b12-ba1d-22682c4350cf@amd.com>
Feedback-ID: 21433940:user:proton
X-Pm-Message-ID: 5d8aab2ddcea2b850b30d1b574d329aba12508b9
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-ebf023/1780840548-2A17E3FF-1485C1C4/0/0
X-purgate-type: clean
X-purgate-size: 724

On Saturday, June 6th, 2026 at 4:13 AM, Jason Andryuk jason.andryuk@amd.com=
 wrote:

> On 2026-06-05 15:41, Andrew Cooper wrote:
>=20
> > It is erroneous to check current like this. e.g. Dom0 does not have VM_=
EVENT
> > active when it's introspecting domUs.
> >=20
> > The use of vm_event_is_enabled() is only for the IS_ENABLED(CONFIG_VM_E=
VENT)
> > short circut, so just use that directly.
> >=20
> > Reported-by: Hady Azzam hadyazzam@protonmail.com
> > Fixes: b18e38e42da6 ("xen/mem_access: wrap memory access when VM_EVENT=
=3Dn")
> > Signed-off-by: Andrew Cooper andrew.cooper3@citrix.com
>=20
> Reviewed-by: Jason Andryuk jason.andryuk@amd.com

Tested-by: Hady Azzam <hadyazzam@protonmail.com>


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 04:29:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 04:29:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331380.1593946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWRc1-0003vD-72; Mon, 08 Jun 2026 04:29:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331380.1593946; Mon, 08 Jun 2026 04:29: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 1wWRc1-0003v5-1K; Mon, 08 Jun 2026 04:29:21 +0000
Received: by outflank-mailman (input) for mailman id 1331380;
 Mon, 08 Jun 2026 04:29:19 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wWRby-0003uz-AE
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 04:29:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWRbw-00CqvJ-A4
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 06:29:16 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a264508-2eae-0a2a0a5409dd-0a2a4506df0e-8
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 06:29:15 +0200
Received: from [52.101.229.93]
 (helo=TY3P286CU002.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a264518-7371-0a2a45060019-3465e55d1e57-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 06:29:14 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by OS7P286MB7051.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:430::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Mon, 8 Jun 2026
 04:29:09 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0092.011; Mon, 8 Jun 2026
 04:29: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=uuSuHHg18A+uY04w7O+JwdlBkypS3CGqDqsct7HbqNA272ZVXn+Bd5gm24YXC20JpZUSTbUIDXdMmtAp7WhjXJgLee1d3wrn//YO1toV4GVCHvqcUEgIU+9Ey2sHYVDljG/wNK+6nfvn2G4y8L85NBpbTpiDkRDifbPsoVVjGgM1WU0eNY2W4VPAhKbSkvemGUCspKQF3d69WcgmGB2cXP0Eie0EWmOltNuEq+xlbQJUpXVivzC8hIMDoRUw/6hvnCqyMDrWfAo9Wzd1J2PQKGPsihAi4FZ9RDNHPhW0Uk/sjejsJSYcCLQpBUVxh0YCzTJYddkaMfkH+a/5vTSPwQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=H7WXOu4c6g1XYn8ts0jOO/F3hUDL48Mqd3nfgigfKd8=;
 b=MIS0yaOrQhN3VnEqokZ0Cgvn4k0tlfy76nPHiwJ0dcEW0S69w6+STEBwXOJ2zhPTyOywfmw0NNnHlpYn6wI5OfJusV7DNVUb3AUJD8Wsn7Emx1VTDapt/9blkF+IgarT4EI3DFRU3WZsYLR2rvPnash/ZtovHmtWC5qOEIgaqFQcxLnyGUtZnMSMmhbigvKG5D5OBn7BZ+NMutbIvuOsTwcg4J+z/yPkIDZ/Pp3ReY6YYwMfvuvzji6iUq76/pM2IrmGwKfhVJU4JXBrdiwKVUuEIWPXnDYrEFok2/bvDVIXy1k2XxQoBH4db5vkLkex3n8XcSVV2uncJi9Y7F87mQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=H7WXOu4c6g1XYn8ts0jOO/F3hUDL48Mqd3nfgigfKd8=;
 b=JS9FytL7xieTGWTCIYTtkVcOqp0ZnjBfglOMg/ROOJ/HD6hlSXm4yzMAndxE7Z6gqE4L/QDhYpWYoPoX5413Zrg3Wmvfs7uPp2d/uQxXHeKHclcMc9+6lIs39fPOIU7yglCkFYKsS1qi0btCEk4TW9oZvOaZIF7AJDpnmjGaDY0=
From: Hirokazu Takahashi <taka@valinux.co.jp>
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?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v2 07/24] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
Thread-Topic: [PATCH v2 07/24] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
Thread-Index: AQHc8U+PsZhvkHY9vEqKRtt8NHnfGrYrBomAgAF93dCAADBuAIAHZqKQ
Date: Mon, 8 Jun 2026 04:29:09 +0000
Message-ID:
 <OS9P286MB722248146D5D4ED0DB17DC5A821C2@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
References: <20260531224755.9481-1-taka@valinux.co.jp>
 <20260531224755.9481-8-taka@valinux.co.jp>
 <7040c58f-2d4c-48f2-854f-c874efdcefbd@suse.com>
 <OS9P286MB72221F0A5D5195C7A4CAFD4082132@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
 <2de402eb-fc62-44ec-bf2d-73db4afbc0f7@suse.com>
In-Reply-To: <2de402eb-fc62-44ec-bf2d-73db4afbc0f7@suse.com>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: OS9P286MB7222:EE_|OS7P286MB7051:EE_
x-ms-office365-filtering-correlation-id: 9317925a-6ac7-4eb7-dd9d-08dec5167c38
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|1800799024|7416014|376014|4143699003|56012099006|38070700021|18002099003|22082099003;
x-microsoft-antispam-message-info:
 +fFjx5jTcedArMFsZ1wVGyNGbQpgo/yOelhNMowON7Zr+VBeUqpBI7FLTXkDMjvwjf6M1Eh8pRnOImKxQmgXBDqfvNYG3bGKxm8ZfEJ4SCVfMLCfrcTDXNstGaUxniZnktZ+thqpiMJ2Gs2hO8o8oKX3iox89Z8sE/3SIkFBt9foQUfo9qEPmNtLjfvUBsYSYNVmkbfUzdeJ2ae9GlrDlVCBFli637H5EgdP6E7giPrYsTV57loUmefJTCH5TRvcBMDBwsaBiZ4tsOnWI6GXtUjXay47YkdxY6jpqhQyMLNKPz9bDvocvm8RhCr0eQeWXvpiGTT1Hr4AoWsZOqSlypLHL1shVd9MtCKEZ5D3YSVLu2gPbwuLQCMsL9u5bobtMCnx77upYwR+J0chsaqxMESA7tfce61/2oUT9SSdqs3FciCgNgRpWdDbZKvSTnMf1pIv473FaCtKQ97hUN9VsfrPHQIe3avX3CK/ZDvOx5nyIZZKwGXDR/ue0MQkRZCsmSrE5KQjAMQPTs8P2JJEjrEaI9h2MI0dbjBKN5eyPYw/pT3HQPw4eWcDYBicWQUd5yJN7yTQB9uPyCJPfDiLN34A8pat2HGLHJmK+8VzULkvPFIb1rCu14A+rXHnlgTsIv5FkA4XvaqOd+HGukSktbM1EmOuBsNXrcgapvVirjFoGNqHG5Xqmc0VulfO4kYmzhL0b9S0YOH0vCg406kN+KVBY4V05tgTiV88wdzMQl5MhfFA4HPWELaGwsBxIqjz
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014)(4143699003)(56012099006)(38070700021)(18002099003)(22082099003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?S1JMWG8xeTMrUHZiSDFBYVNvdkpnNUtpek5wczNJTCtpQlVBYiswSnBVcWc5?=
 =?utf-8?B?c2hEaTByM0h1blVGY0kyTnNyejB5NlB3YlZKZGkvTUlQUkdrS292K0liamZT?=
 =?utf-8?B?b0xrYzNSQTNMQ1M3dGg4Ym13Z1RLdUpOS05ZUUV5bHljREloUVJGWGQycEMv?=
 =?utf-8?B?SXBCcWVHZHpDNmF2TVNrTU5DR0c5QWZUY3NLQmdCYk5hVUFlSmQrdjIrQXhX?=
 =?utf-8?B?RytDVnlrVTlmb054WUFLc1hIRWdqZUZHSTVUcmRuNStueXl1UjdkTGdZOUVw?=
 =?utf-8?B?aWoxU1RVNjlDUTZNektRYW1MbHVkREw3YzRhNTFUTWMrSVZvRGxDQkxrKzdv?=
 =?utf-8?B?VWF1aW1LanIxdWFDelRmS1BtOW13alowUzcxQURzejlrcTYxbHQ1Vm5rS2lG?=
 =?utf-8?B?QXFERHVDYnBuUk03YmFyRFBqRkI0bXM2Zno3eXRiVGZMdlphRjh4bHlBaUZF?=
 =?utf-8?B?WHN4ZytRa0k2NjFCd3NobnQ3Sk5zZmNNbEJTMi9wYmhSNDlOUCtIbXlwOWFC?=
 =?utf-8?B?bXVxQ1BPUHMySUNNQk4zSTdUMUo1Vy9ISXhOM0h0clNYS1NBU3Z1TVJEUG01?=
 =?utf-8?B?RzliNUMvSTgxVnFBTzdSZkswYThGN2k1TUQxNW5CaUpvd2kzNHk5VXh5NU9n?=
 =?utf-8?B?NU1rWW5CUkZvQlFqc083ZlozN3loSEJRcFFWbFd1aWlGRE1hcEVTVXJZRVlY?=
 =?utf-8?B?QVFITERsTHJGRExldEFuTEp4WmNWVVRHMCs0TEZ5VGtCWXFiVXA1eU0yZ29r?=
 =?utf-8?B?cDlZUmFyWWpSWkFtVzBSVS9lMno1Tk1IVDRMUHBGWWNnRzluVlRyeWhPa2Zr?=
 =?utf-8?B?R3dYaytTeHI1VVBMbWxXYTJwOEVNTHJjRzlaa3piY2w1M3hzajNpWXZ0S3l2?=
 =?utf-8?B?c25IQUNiQjdERXVmTnlWQW44dFhLYXZMZzc1MDJJR09LRmVQTit1L2R2N2pG?=
 =?utf-8?B?anFXY2xJVEloVEtoS1V2QWR5QUdnQmVLckdaNlpyVmd4Ukw5alJtTUVvQ01Q?=
 =?utf-8?B?SS9jd0VjQjd0V0Qvd1BOYlpMeGFML2lWRFN0QkJENzJsZHZGUk5USlhSbitv?=
 =?utf-8?B?bnJXU0padVNvRlVPTURhUFJnL0NxS1h1NVFSZjkyWHBjL1lIRnRwOVJlMURr?=
 =?utf-8?B?SE5LWDJOQmlOK1FLUFZITWQ3YnljVmhQL0xCdDVZQ3pnNFhnUmhadzUvdHN2?=
 =?utf-8?B?NS8xdll0c3l4Z3h0Nkw5ZkYxamN0emF1bFoxN1lobU1aUG5UcFJJK0xBb2Jm?=
 =?utf-8?B?WHZGNHFHdjY1RTk3YUU4eUo5SERXZVhrMDRHdFRHUXJNODUzeEpJYVUwajNZ?=
 =?utf-8?B?TmpNTkk2blBZQUppQ2tUWjBlOEgwYUpRVC84SU1QTUFnS2tySk9ralRrSlA5?=
 =?utf-8?B?NDRETTh2bGM0UVkyMFhlWGVjdTk3VFkvb1NZU0ROV2pLTUpqTm5XcFdDa0lO?=
 =?utf-8?B?cmsvWHJaNVgvdm9sd1JRM1hJeisxZW1JVVBwb1g4cjJKZmdkSWdEVEZVRUZG?=
 =?utf-8?B?aWVjVCs0TlE2ZzcrMEFST2ViVTdMNXZoYmc2ZDQ2RkNrQjR2M3V6VU5xQnFu?=
 =?utf-8?B?eThMMGdTOEJsUEdqdC9RRUNRazRnTk1vcjltZmEzamN0c2d3bW5GbVdYS2dt?=
 =?utf-8?B?S3M4ellwTitERS8yczcrSHhBMDZtTnRvTHozbWoyUEFGZjVYUlVleGxBWDJR?=
 =?utf-8?B?NXM5ZjNIMTMwdk02MmZyK2RRVUJyd0x4QmNYRzRQbzU0eFhXQVhYWXYrdlEv?=
 =?utf-8?B?Y2VabTF3VCtpWlh4Mk10ZGVBTWRWWXFKa3NEcHNTR09vR2UxSXMvaE00d0dY?=
 =?utf-8?B?R3Z5bzlSVm1LZlU5N1dkSDV1ZXV0NlRwSzFoTktIaXhWV2JRT1Jhc1NBUDN6?=
 =?utf-8?B?cEpFMEg3U0pEV3ZWVFdXSG1yNGhhNjZOdlZ1YVdTZGtYeUJhOXR2TE1ERUpa?=
 =?utf-8?B?TG1mUUN4OWk5YUROT2haNVl5eTBVcEIrRGlsbVVUVDFkeDZ2S1dlVjFWUExs?=
 =?utf-8?B?cVhKMWE3UG9uSkxIWlFmcUdxOWU2YU13VWdueHNZQ0dTajhFUUVJck13djFp?=
 =?utf-8?B?ZFJLTmxPNEhiYWZmSWsvZVFXZVMrU0RmRDZ4L24yR3JxeURVa1d2Q0tocXV6?=
 =?utf-8?B?UkV2bml1b29XYldnemswWEltcXhycjNUalRFbWlrZFU3MjNNV2pkcnZKZmlW?=
 =?utf-8?B?THVOTktONU9HYjlZbUpRUzdvSkJVdllaZFliQXhNY2Z0QVNYSENpLytOSTNF?=
 =?utf-8?B?YlBTaXV5OElNUnA1enlDVXJlK05JQkhSNjhVR00wRDdMNmJ5VWhSK0ZIb0VL?=
 =?utf-8?Q?KsWG3kzRJFE0e4duFf?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 9317925a-6ac7-4eb7-dd9d-08dec5167c38
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jun 2026 04:29:09.7192
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: AJz7D25NGSwMarOQmQUk+XCciYvpbt02DoeXA+yTUNw8tEoajV/9NCOOhBNtku+NZYeplu4R6Cv0yN4ijVBJ6w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS7P286MB7051
X-purgate-ID: tlsNG-16d1c6/1780892955-87D7AD75-5202DA16/0/0
X-purgate-type: clean
X-purgate-size: 1512

SGVsbG8sDQoNCj4gPj4+ICsjaW5jbHVkZSA8eGVuL3R5cGVzLmg+DQo+ID4+PiArI2luY2x1ZGUg
PHhlbi9kZXZpY2VfdHJlZS5oPg0KPiA+Pj4gKw0KPiA+Pj4gK3N0cnVjdCBjcHVfdG9wb2xvZ3kg
ew0KPiA+Pj4gKyAgICBpbnQgdGhyZWFkX2lkOw0KPiA+Pj4gKyAgICBpbnQgY29yZV9pZDsNCj4g
Pj4+ICsgICAgaW50IGNsdXN0ZXJfaWQ7DQo+ID4+PiArICAgIGludCBwYWNrYWdlX2lkOw0KPiA+
Pg0KPiA+PiBDYW4gYW55IG9mIHRoZXNlIGdvIG5lZ2F0aXZlPyBJZiBub3QsICJ1bnNpZ25lZCBp
bnQiIHBsZWFzZS4gSWlyYyBJIHNhaWQgdGhlDQo+ID4+IHNhbWUgZWxzZXdoZXJlIG9uIHYxLiBQ
bGVhc2UgYXBwbHkgc3VjaCBjb21tZW50cyB0aHJvdWdob3V0IHRoZSBzZXJpZXMuDQo+ID4NCj4g
PiBUaGVzZSBtZW1iZXJzIGNhbiBhY3R1YWxseSBiZSAnLTEnIHRvIHJlcHJlc2VudCBhIG1pc3Np
bmcgZW50cnkgd2hlbg0KPiBwYXJzaW5nIHRoZSBEZXZpY2UgVHJlZSdzDQo+ID4gJ2NwdS1tYXAn
IG5vZGUuDQo+IA0KPiBZZXQgdGhhdCBzZW50aW5lbCBkb2Vzbid0IG5lZWQgdG8gYmUgLTEsIGRv
ZXMgaXQ/IEFueSB1bnNpZ25lZCB2YWx1ZSBncmVhdGVyIG9yDQo+IGVxdWFsIHRvIE5SX0NQVVMg
d2lsbCBkbywgSSBzdXBwb3NlLg0KDQpPaywgSSB3aWxsIG1ha2UgdGhlbiB1bnNpZ25lZCBpbnQu
DQoNCj4gPiBTaW5jZSBJIGltcG9ydGVkIHRoaXMgZGlyZWN0bHkgZnJvbSBMaW51eCBrZXJuZWwg
Ny4wIChzcGVjaWZpY2FsbHkgZnJvbQ0KPiBpbmNsdWRlL2xpbnV4L2FyY2hfdG9wb2xvZ3kuaA0K
PiA+IGFuZCBkcml2ZXJzL2Jhc2UvYXJjaF90b3BvbG9neS5jKSwgSSB3b3VsZCBsZWFuIHRvd2Fy
ZCBrZWVwaW5nIHRoZW0gYXMgJ2ludCcNCj4gdG8gbWluaW1pemUNCj4gPiBhbnkgZGl2ZXJnZW5j
ZSBmcm9tIHRoZSBvcmlnaW5hbCBMaW51eCBpbXBsZW1lbnRhdGlvbi4NCj4gDQo+IExpbnV4IGlz
IHF1aXRlIGEgYml0IG1vcmUgbGF4IHRob3VnaCB3aXRoIHVzZSBvZiAoYXBwcm9wcmlhdGUpIHR5
cGVzLg0KDQpJIGFncmVlIHdpdGggeW91IGF0IHRoaXMgcG9pbnQuDQoNClRoYW5rIHlvdSwNCkhp
cm9rYXp1IFRha2FoYXNoaS4NCg==


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 04:38:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 04:38:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331386.1593955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWRkT-0005iO-Vd; Mon, 08 Jun 2026 04:38:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331386.1593955; Mon, 08 Jun 2026 04:38: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 1wWRkT-0005iH-R6; Mon, 08 Jun 2026 04:38:05 +0000
Received: by outflank-mailman (input) for mailman id 1331386;
 Mon, 08 Jun 2026 04:38:04 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wWRkR-0005i9-Ic
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 04:38:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWRkQ-000jYf-Gy
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 06:38:02 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a2646e6-5cb7-0a2a0a5109dd-0a2a4505973a-22
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 06:38:02 +0200
Received: from [52.101.229.104]
 (helo=TY3P286CU002.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a264727-aaa8-0a2a45050019-3465e56818a3-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 06:38:01 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TY7P286MB7668.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:38b::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Mon, 8 Jun 2026
 04:37:57 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0092.011; Mon, 8 Jun 2026
 04:37: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=eFZTHNQVR4bM6EFOVDseAaMbT/lVDztP80wakxJanoprye3Kqu6GEuNtA/2LJRXwc+XZKHdjLGJrQVDX2b4nUyHDBusleEufqUEYehVwpdWyiZapd2ed0zIFh6j26qgLsx4LzzUBFk97s+IUuKXiWgCxqP3OYzEcq36ZShNu60K9ZAo9fOI52SgznuDtYfUlptLCvIE5RDpy5kZE9eturY4oOG5NNKfML33chEPzhVYluFHS9w2wZU9DyT7C/wKfpee6JPybUPq6FgcwB6qzEffwW5BQHrJiSamifZjK60z7Lbp/92VOOwKEMsB5/FSHrB8vjrHfMZkIx5g/IeU5Qw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r/cuMG8nOimg2HUJXyvzjdNtaNyN9qEWk//NCJZQmeY=;
 b=fHvxPbXP/oxtIp8xDox7+BdfFr10QRRnlUh7gKVqMItGF9qEgyLxEWkVAJLTPhpQpXFz4f0BFRHkYZWVdMKTq9FXufMvgivTobApTrhreqh3Fofc2/YoI2O+xCwDFjzyK94mp0u/BMZfGAvjcsGFUVG0o0al4mv/WwIYeeBFdizb7DV6OTm4akAGeOMpBFIE3UnYK3kp4cggwULvUeGRqp0EZOiDAXDVrJ9zwb+H8eUcg6Cp/uzTBvh5TQopIns+tuM0Opm7y5+w36RFLMq2+SIwe/j9303Np+QRbgIYLVwYBw0QbMwl6YtN5VDArzRtRHtCuW6qQn2dS7fZBp+pOQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=r/cuMG8nOimg2HUJXyvzjdNtaNyN9qEWk//NCJZQmeY=;
 b=krZU5GvwPvxfgocno8MDlBUDPoiXuOWQDjcr7LO1JnZRBvP6Rpj/P6UQZbjkxstuKincXyEvjkX2H6tDHopEKwbG4euqXZHCeuKbBmtgY4mnnjI6Lnc6YGkL5nKEufX9rAR6OG0/1XCl5BS/5ed9F+FIFtapbBxcCGTfK+d3W1w=
From: Hirokazu Takahashi <taka@valinux.co.jp>
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?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v2 07/24] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
Thread-Topic: [PATCH v2 07/24] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
Thread-Index: AQHc8U+PsZhvkHY9vEqKRtt8NHnfGrYrBomAgAF93dCAAEeY4IAABQUAgAdLQwA=
Date: Mon, 8 Jun 2026 04:37:57 +0000
Message-ID:
 <OS9P286MB7222F6BFFEACE09A7D2C296E821C2@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
References: <20260531224755.9481-1-taka@valinux.co.jp>
 <20260531224755.9481-8-taka@valinux.co.jp>
 <7040c58f-2d4c-48f2-854f-c874efdcefbd@suse.com>
 <OS9P286MB72221F0A5D5195C7A4CAFD4082132@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
 <OS9P286MB722241B5C3E48A93F7E0BBA782132@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
 <4d52e642-c235-477b-92f8-f8d3af6db23e@suse.com>
In-Reply-To: <4d52e642-c235-477b-92f8-f8d3af6db23e@suse.com>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: OS9P286MB7222:EE_|TY7P286MB7668:EE_
x-ms-office365-filtering-correlation-id: 75cfb301-07de-4e93-a19d-08dec517b6b1
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|366016|7416014|376014|56012099006|4143699003|6133799003|18002099003|22082099003|38070700021;
x-microsoft-antispam-message-info:
 9/l4eo0NfgXkRLDQiNsseymR9qcmonrSndePjL/+FAaVtm8rUOpUCtMJkP+lZCwPqkuNUbqT/e5FvRYLwLkMIxpwRCjwGT28hORVAOyAvQVDNcDBqslnBNO2xHozu3XnGqsqR/l7aH7Hg8CiVJnoWayuJfLfljf5cUTqAM+nM5ebpL4RgsOsStoJYF9U1oatwmtOQKAMxC0p0QNPTK0tcbRxmpkjJkD4L4guOIPIX2AAv889JvrTzSmp+5jzr2K/Ymti0lQOrtACciFyBhTKMNamk7OLiHD+yK/baH3QhYKQzCfzaz6bt+xF5KNQfOAgUtm33n5X2NGd6jsA2k7HVBMhvlYY9S1PKBLCJ1kJvtwPPgdU0IhQbY4GDl5IEZQzyw/kJoAHQecwYP9ssyiJBe+S1P+AFzSGFEI+4T0QnwWt4sg6OSt03iqIY5xTwpiq0tquMSZnxPxNqBz/zqtEULIDNw31rBhFcVvnc7MdtCetNd0bbiX+1rCpRWsLb0i6pYhOr6//PUASeecBO8xu7uHo1Um4Ry5o/rHMTTmp74hOy1IkNKbcyBclta/Td9xC048zQmM0Dwu1tzK2zmOBpudtsTNu1wx9bdx1IJfd1LXwIP/KdsDWXpFR2UTnTTrxSvsD/oUyxJecyCK/AEeJvLwPuUjObcPAEsrLgXZPmJmQWSt0PBM681ArXRiFnG3TFy7snszIOJ4UUGbxwLxcOkAcK/rhR8t8s/ULNH6uguR5jYsHjuryzomkNEbk7s6K
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014)(56012099006)(4143699003)(6133799003)(18002099003)(22082099003)(38070700021);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?WGF3dE1RY0U4ZzVsY3NJN2tFYmpsMWZraW83SHZsU2d1UytIWHo3bnUyREV6?=
 =?utf-8?B?MC9oUDdmUFlWSDhycTZyL0tvYUgrZnczRmdWTDV1TmlYRUZOZnVUeHFrYW4z?=
 =?utf-8?B?RnZYd081eTdKU0dkZnVGSmErNWdPcS9sL3RGd29ISGl2bXVINWJPMXBZbTYx?=
 =?utf-8?B?NDFUN1NYOVd6aVRzQkFVVmc5dGZnbU1TVFdxcm9WLzZyaXRCR1Jmb2FhaDY4?=
 =?utf-8?B?Y2NHOWFrZkZFdmNrUjRma3FYblNRTzdndmtzVmNOZ0M5SkFMN1IzRTI5KzdX?=
 =?utf-8?B?aEFveXdsWmtINlE5QzEyZW9SU3pqVmpONFU0eEJ2cnNSM2l0SFFkK1FFbHRj?=
 =?utf-8?B?aXFCUlRXYzBPMDFnNzBtNk5jaUdiQ3UzM2dsTHl0ajdoSDN5UXF2WmhQeGQ3?=
 =?utf-8?B?QkYyYmVuWVoya0FOMUlhRkV5TFRyTmlpQ0hHUVplMjRKeXE3dFRNUU9FOFAr?=
 =?utf-8?B?ajF4bUlocmQrUWtVUUdJeEpSVzl0MGtPOFdneDRERFRUblNCMW9oeTJvb3Vv?=
 =?utf-8?B?Yk9zYVpPMStwcnRiamI1Y2ZSOU10NFBtL2lNSnlHemVHUTNORll5WTZUR1hE?=
 =?utf-8?B?d0lkajZFS3BLZndZcDl6MTdGT2NicW02VHhRcjRIZ05HN2V4SnE0STFHRS9u?=
 =?utf-8?B?eEVoV1Z5T2lLbU9DNlBpaEp2aWVQVkRBVGRPalYwRG9SVldUV0c1bkNNUERt?=
 =?utf-8?B?YWdhKzFxMnY1SDdlblVUUFhNeVFHdVE5azh0L05aTjlRc2lVeE90ZHhIdVAr?=
 =?utf-8?B?T1dqMGpTQjhxMXI3WVhjN1RwVEpVNTRmK0dnZjc1QW83ZG9HVVpwT09wOE9k?=
 =?utf-8?B?VXNySGFSYjZ0ZnRtUDdiZXdUSk9xV3p1N0lXYjNKNmtScldjZndxdUxzd2dT?=
 =?utf-8?B?bGo2Y28rSlljMnArdjU1eDBKTHhTY0hmWXZuTDZFWXhPdGZkODZ6SC8xU01R?=
 =?utf-8?B?K3N4K01kSTNEQzVKYk9ENy9hNDlKbEVDUTMyYUpva0hZSGx0VWt0dG81OFVT?=
 =?utf-8?B?YmlGeXVncTlsRkUxSWZXQnJXeDIvbDJZUEdFdG1ma0pmRE1NK2F6dEhVcVRz?=
 =?utf-8?B?MHhlVHo5R1JGMVYyZnRNQ0VyY0toaStkWS9Fd2hxTGdzVVNuZGZ3NEMvemth?=
 =?utf-8?B?WSszOWpVeHJlSS9YVlhSUkdOSU4wVGRKZUZ3Z3VWVXRNYnRzZ2ZEbWdvQ2VL?=
 =?utf-8?B?cDFaSEZEWlRISmZXL0d0SWZ1VmNDa0NXTmxxZUVFN3l2QUFGSzVXRVZuSVNN?=
 =?utf-8?B?VUUxQ3J0am5DVTVHcnNZUjJUNGtYT2Qzc1JXVVA2cFBLRG1oZXQyZEpmVXp0?=
 =?utf-8?B?Z3BBWEFGeGU1N1RwVVJwRldKTi9aa2d4eXh3YndWRFM1dkVuaExsWlMydHVa?=
 =?utf-8?B?bjdvcG84TlpOb1dQR0JSVHBGamxSNkgxZEVxMjVKZU45SzhvYkhNQ1hTa2ZP?=
 =?utf-8?B?cDlmeWJuSmxZaWVUdE51TE5pQy9obG9yZ2xIOHFIU2tqMVlYT0IvdnFaZUZE?=
 =?utf-8?B?WGgwUzVmV2gyNi85cHBrR3JXb2JCanFFY3FpVDBFVnZmU1pUTzU1am5kU1cw?=
 =?utf-8?B?Nkx3YmNENkVDODRPN1ZYREJDRmVHL3BxcU9td2VCTjFlbit0cStSR2NycVgz?=
 =?utf-8?B?a09wMjRNQ2h5NXkvajd3c3lGTVBCUHFrOTNoaVBlSFpWSEhnaDlabEZvdXVh?=
 =?utf-8?B?QllHTHR1N1lCWUxreFJwVE44SFFNbGk1THZnREVRd2xhQkltUU5BV25yOWpl?=
 =?utf-8?B?ZVRBRjZsSnA4V1BET3pHRzFlWklnam1QbzUzMjJZaGFlK1hNTVYrS3hneUlJ?=
 =?utf-8?B?ci9rR1E3eGdFQnUrWERIY1hxcExkb0Jwb3dPSkZqS0F0YjFEMGpIS2FjdXVv?=
 =?utf-8?B?YmgwVEJ6enZOMVlyMldabU50YWpDU3Q4aEo1ZHhhc0lScTVMNFNYVkpHTi9I?=
 =?utf-8?B?SHJxa3NENnRkcFBtRW5GL3VCUWdzSm41bEdTeW1zMkZUM1kwbWZrQlZnMTdi?=
 =?utf-8?B?ZVlYaysyWHluM0tQcUs4Vk4rV0drcFUreVMwKytsb2R5S2U4ZXdMd1dydTdD?=
 =?utf-8?B?a0ZXQ3d0dk9FbWpRdFZEdUdDZW1CemlMRjI4L0dhRVFXZnVFV1FGVjEyVE9R?=
 =?utf-8?B?QzVBdXBpcnJ6ZVF5TkhOSXBER3N2dDFXdWg3RlcvWmNKS1F5N3l0dWNPYVRH?=
 =?utf-8?B?MGJkb0tSYk94a2wrcmZ3SWVreFhYZXhLZkhUTGxSYktHamh0MXRieEprV1lS?=
 =?utf-8?B?dW90ZnFiTEEvZkNTcGhkWjBmQm5iZk5VWmRjdmkrbkE3RU9TMzUxSWFqaUEr?=
 =?utf-8?Q?hTmXfbCyeTkK8y6ER6?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 75cfb301-07de-4e93-a19d-08dec517b6b1
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jun 2026 04:37:57.3139
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 3h5mMISSJAKSKjUQFrYvtARegB/jTpAaQDoSfS3CbTKhiuGchcZfUAOhZsiB6HYAg2zh3hDjPA5QpS/gsPxW6g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY7P286MB7668
X-purgate-ID: tlsNG-c201ff/1780893482-E0A66443-74F5FF3F/0/0
X-purgate-type: clean
X-purgate-size: 2632

SGVsbG8sDQoNCj4gPj4+PiArI2lmZGVmIENPTkZJR19EVF9DUFVfVE9QT0xPR1kNCj4gPj4+PiAr
ZXh0ZXJuIHN0cnVjdCBjcHVfdG9wb2xvZ3kgY3B1X3RvcG9sb2d5W05SX0NQVVNdOw0KPiA+Pj4N
Cj4gPj4+IElmIGF0IGFsbCBwb3NzaWJsZSwgbm8gbmV3IE5SX0NQVVMgZGltZW5zaW9uZWQgYXJy
YXlzIHBsZWFzZS4NCj4gPj4NCj4gPj4gVGhpcyBpcyBhbHNvIHBhcnQgb2YgdGhlIGNvZGUgaW1w
b3J0ZWQgZnJvbSBMaW51eCBrZXJuZWwgNy4wLCB3aGljaCBpcyB1c2VkIHRvDQo+ID4+IHN0b3Jl
DQo+ID4+IHVuaXF1ZSB0b3BvbG9neSBkYXRhIHBlciBDUFUuDQo+ID4+DQo+ID4+IEkga2VwdCBp
dCBhcyBhbiBhcnJheSB0byBtYXRjaCB0aGUgb3JpZ2luYWwgTGludXggc291cmNlLCBidXQgSSB1
bmRlcnN0YW5kIHRoZQ0KPiA+PiBjb25jZXJuDQo+ID4+IGFib3V0IGFkZGluZyBuZXcgTlJfQ1BV
UyBkaW1lbnNpb25lZCBhcnJheXMgaW4gWGVuLiBJIGNhbiByZWZhY3RvciBpdCB0bw0KPiB1c2UN
Cj4gPj4gWGVuJ3MNCj4gPj4gcGVyLUNQVSBpbmZyYXN0cnVjdHVyZSBpbnN0ZWFkLg0KPiA+DQo+
ID4gSnVzdCBhIHF1aWNrIGZvbGxvdy11cCB0byBteSBwcmV2aW91cyBlbWFpbDoNCj4gPg0KPiA+
IFdoaWxlIEkgd2FzIGxvb2tpbmcgaW50byBtb3ZpbmcgdGhlIHRvcG9sb2d5IGRhdGEgdG8gYSBw
ZXItQ1BVIHZhcmlhYmxlLA0KPiA+IEkgcmVtZW1iZXJlZCB0aGUgb25nb2luZyBlZmZvcnQgYnkg
dGhlIHRlYW0gd29ya2luZyBvbiBDUFUgaG90cGx1Zy4NCj4gPg0KPiA+IFRoaXMgaW50cm9kdWNl
cyBhIGRpbGVtbWE6IGR1cmluZyB0aGUgZWFybHkgYm9vdCBwaGFzZSB3aGVuIHdlIHBhcnNlDQo+
ID4gdGhlIERldmljZSBUcmVlIHRvcG9sb2d5LCB0aGUgcGVyLUNQVSBhcmVhcyBmb3IgQ1BVcyB0
aGF0IGFyZSBub3QgeWV0IGFjdGl2ZQ0KPiA+IChvciB5ZXQgdG8gYmUgaG90cGx1Z2dlZCkgaGF2
ZSBub3QgYmVlbiBhbGxvY2F0ZWQgeWV0LiBUaGVyZWZvcmUsIHdlIHdvdWxkbid0DQo+ID4gaGF2
ZSBhIHBsYWNlIHRvIHJlY29yZCB0aGUgdG9wb2xvZ3kgaW5mb3JtYXRpb24gZm9yIHRob3NlIGlu
YWN0aXZlIENQVXMNCj4gPiBhdCBib290IHRpbWUuDQo+ID4NCj4gPiBTaG91bGQgd2UgaGF2ZSB0
aGUgaG90cGx1ZyB0ZWFtIHBhcnNlIHRoZSBEZXZpY2UgVHJlZSB0b3BvbG9neSBpbmZvcm1hdGlv
bg0KPiA+IG9uLWRlbWFuZCB3aGVuIGEgQ1BVIGlzIGhvdC1wbHVnZ2VkPw0KPiA+DQo+ID4gQ3Vy
cmVudGx5LCB0aGUgZnVuY3Rpb25zIHVzZWQgdG8gcmVhZCB0aGUgdG9wb2xvZ3kgZnJvbSB0aGUg
RGV2aWNlIFRyZWUgYXJlDQo+ID4gbWFya2VkIHdpdGggJ19faW5pdCcuIFJlbW92aW5nICdfX2lu
aXQnIHRvIGtlZXAgdGhlc2UgZnVuY3Rpb25zIHJlc2lkZW50IGluDQo+ID4gbWVtb3J5IGZlZWxz
IGxpa2UgYSB3YXN0ZSBvZiBtZW1vcnkuDQo+IA0KPiBJbmRlZWQuDQo+IA0KPiA+IFdoYXQgZG8g
eW91IHRoaW5rIHdvdWxkIGJlIHRoZSBiZXN0IGFwcHJvYWNoIGhlcmU/DQo+IA0KPiBDYW4geW91
IGtub3cgZWFybHkgZW5vdWdoIGhvdyBtYW55IENQVXMgdGhlcmUgYXJlIGdvaW5nIHRvIGJlPyBJ
ZiBzbywNCj4gYWxsb2NhdGUgdGhlIGFycmF5IGp1c3QgYXQgdGhlIHNpemUgbmVlZGVkLiBOZXh0
IGJlc3Qgb3B0aW9uIG1heSBiZSB0bw0KPiBoYXZlIGEgTlJfQ1BVUy1kaW1lbnNpb25lZCBhcnJh
eSBpbiAuaW5pdC5kYXRhLCBmb3IgdGhlIHVzZWQgcGFydCB0aGVuDQo+IHRvIGJlIG1vdmVkIHRv
IGEgZHluYW1pY2FsbHkgYWxsb2NhdGVkLCBnZW5lcmFsbHkgbXVjaCBzbWFsbGVyIG9uZS4NCg0K
T2theSwgSSBjYW4gdXNlIG51bV9wb3NzaWJsZV9jcHVzKCkgZm9yIHRoZSBzaXplIG9mIHRoZSBh
cnJheS4NCg0KVGhhbmsgeW91LA0KSGlyb2thenUgVGFrYWhhc2hpLg0K


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 06:44:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 06:44:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331401.1593963 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWTis-0002Fd-EG; Mon, 08 Jun 2026 06:44:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331401.1593963; Mon, 08 Jun 2026 06:44: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 1wWTis-0002FW-BE; Mon, 08 Jun 2026 06:44:34 +0000
Received: by outflank-mailman (input) for mailman id 1331401;
 Mon, 08 Jun 2026 06:44:32 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <xakep.amatop@gmail.com>) id 1wWTiq-0002FQ-NJ
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 06:44:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWTip-008cA7-LW
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 08:44:31 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a2664c3-bab6-0a2a0a5309dd-0a2a4508c7be-26
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 08:44:31 +0200
Received: from [209.85.218.49] (helo=mail-ej1-f49.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a2664cf-63b5-0a2a45080019-d155da31b8c9-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 08:44:31 +0200
Received: by mail-ej1-f49.google.com with SMTP id
 a640c23a62f3a-bec450b950dso543451666b.2
 for <xen-devel@lists.xenproject.org>; Sun, 07 Jun 2026 23:44:31 -0700 (PDT)
Received: from EPUAKYIW02F7.. ([45.12.26.204])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bf051e9aa33sm815061566b.24.2026.06.07.23.44.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 07 Jun 2026 23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780901071; x=1781505871; 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=6S7JrmdgSdxCu8BfAjbSToCwMHMLi8JebgsSdsEiakI=;
        b=NVm6BicMBMBTKrQ+HM6oTN43Qh9sQNhaawYWIwmhStqJBkDo/UC/EyJ4iqYiUOS0/Y
         zEoRzdksTF1moTAxt/ialzkk07jrXbtzrElm4pMnSmLyn+d0DEODBDypWS+e0Lq4eKzu
         1z5lsftt5XoMdzmO9U6XBpvURlyU1MzgRk18f4rWPaZMI8n9NaSeHFk2V2V3/s3II9Fh
         F2gbYnK55q2904qx81csV5GmfCEi3iMfvg4+qKfQmCm6p6n5R7TlceWkP4dujCmGePlQ
         LWDaGnFZM2gkhQJudD6YyPgW+BkjPawrF7d51BCylWIYGlE4i8CEYI9xGJPGSwXr315A
         /jtw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780901071; x=1781505871;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6S7JrmdgSdxCu8BfAjbSToCwMHMLi8JebgsSdsEiakI=;
        b=H9s8DyUmQb9Gx9QJmLWjr+lKuL5A8Os56aXx+m456Y9RayG6G8rA7tswTWwDC+ajsV
         oMWExmtwi8ad9tR6dyL+TaMbJyZObcUA7NxvVpNN8hxDvrr0vtl11xjJQxNeoxA4RQk4
         +IJFEdwQUD3LkqnS6ED8zoY3W1TsYzyARFwn9Q93PJmZ90cTBQQPJDJnpWfa4hJ6fdhv
         Gh6PIkdw2UwiTK6itWD5+gPigRFkXkAVqu2zYiMrIcJgQLSgm9BcjghYGdt9sE/AtnoR
         sL95Pyar4QRyz3A5yNHhQR+vU9gRn+AdVreqAn1iNTnknC0jiPlX6XaphdtZ2rBnpnRT
         WX3g==
X-Gm-Message-State: AOJu0Yya4KH54y7Xt1/YVtjw9R3QQDaIgSM5Cc3JtyeDlEuOJJH5Vfwg
	duyrNlmmOMg6oBc3hvSLXI3ZtUv3wXbWNEDL/GWgLt+fOZzQ21trRgufg2ue9g==
X-Gm-Gg: Acq92OHETQBHTdmQ8Fjm14+4LGFtaL1H+bsnRL6ycn+qfbM07Z9mxmXob67MJNOK5Oc
	7n/WeKZm234ox4yKrnYtBuSnpSdx/OV0/nGb0YQXe/LLYzw7iWqVjYHot1E0aLaR8JvXTtMsStD
	XdsLbgL3P6J3K1CCu7anKZRoqjkz2cIEBgI8ht/k3oCHEBVabLQzhyOA1NeqQtWqCi2O6JerK8i
	M9Q2l5UCn/OqN9Q33niTlgN6I5DrCCoNyp59Z5x7FJD/db2bwNpibBxLBRX4pUBobER0gpJAoaB
	BEGPSee7cYNCO/JOnqh22Ez3rwikJI/GOeKQjCI32Cf+6CE5swCca7rJRarsb/euFMFy6dYycrp
	0jtU4NrU8fqMnwhLcV/vpztaZtFN/V7lMYNTD9ACQ+qarJzQEqaaPeQlj6ortqYXCn+0WDCmHpj
	JRGn5VqhRcl/w5r+Skh7YFP6hv/WhnQr9Z2uzZFg==
X-Received: by 2002:a17:907:2d20:b0:baa:1db1:ef9b with SMTP id a640c23a62f3a-bf370c61ff0mr703376866b.18.1780901070785;
        Sun, 07 Jun 2026 23:44:30 -0700 (PDT)
From: Mykola Kvach <xakep.amatop@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@epam.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>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH for-4.22 v3 0/2] xen/arm: validate hwdom first bank boot placement
Date: Mon,  8 Jun 2026 09:39:17 +0300
Message-ID: <cover.1780896733.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c1860d/1780901071-BFD7BDB1-9DEBF4DD/0/0
X-purgate-type: clean
X-purgate-size: 2288

From: Mykola Kvach <mykola_kvach@epam.com>

With LLC coloring enabled, the hardware domain memory is allocated by
allocate_hwdom_memory() instead of relying on the fixed direct-map
layout. Since de99f3263555 ("device-tree: Improve hwdom memory
allocation for DMA"), the allocator prefers lower host regions, but the
first-bank filter still only enforces the old 128MB heuristic.

A low candidate bank can satisfy that heuristic while still being
unsuitable for the Arm kernel/DTB/initrd placement rules. Split the Arm
placement logic into reusable helpers first, then validate the candidate
hardware-domain bank 0 against those helpers before allocating it.

Link to CI tests:
  https://gitlab.com/xen-project/people/mykola_kvach/xen/-/pipelines/2583876433

Changes in v3:
- Add Oleksii's Release-Acked-by tag.
- Patch 1: update the reverse xg_dom_arm.c placement comment and mention
  the MB(2) mechanical cleanup in the commit message.
- Patch 2: rename the arch hook to
  arch_hwdom_first_bank_can_fit_modules(), document its contract, and
  drop the redundant placement checks noted during review.
- Fix the duplicated "device-tree:" subject prefix in patch 2.

Changes in v2:
- Split the previous single patch into a behavior-preserving Arm
  placement refactoring and a separate hardware-domain first-bank fix.
- Rename find_module_placement() and place_modules() to use DTB/initrd
  terminology.
- Pass ramend to find_dtb_initrd_placement().
- Update the stale tools/libs/guest/xg_dom_arm.c reference.

Link to v1:
  https://patchew.org/Xen/4f862bb2dc323914b8120b0f16af7516140cf42b.1780065103.git.mykola._5Fkvach@epam.com/

Mykola Kvach (2):
  xen/arm: split DTB/initrd placement helpers
  device-tree: validate hwdom bank 0 boot placement

 tools/libs/guest/xg_dom_arm.c           |   2 +-
 xen/arch/arm/acpi/domain_build.c        |   2 -
 xen/arch/arm/domain_build.c             |   8 +
 xen/arch/arm/include/asm/domain_build.h |   4 +
 xen/arch/arm/include/asm/kernel.h       |  10 ++
 xen/arch/arm/kernel.c                   | 186 ++++++++++++++++++------
 xen/common/device-tree/domain-build.c   |  31 ++--
 xen/include/xen/fdt-kernel.h            |  14 ++
 8 files changed, 196 insertions(+), 61 deletions(-)

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 07:39:55 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 07:39:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331415.1593980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWUaK-00033x-Fc; Mon, 08 Jun 2026 07:39:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331415.1593980; Mon, 08 Jun 2026 07:39: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 1wWUaK-00033p-CT; Mon, 08 Jun 2026 07:39:48 +0000
Received: by outflank-mailman (input) for mailman id 1331415;
 Mon, 08 Jun 2026 07:39:47 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wWUaJ-00033h-GZ
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 07:39:47 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWUaI-001tLm-TR
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 09:39:46 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2671c0-bab6-0a2a0a5309dd-0a2a450bc538-6
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 09:39:46 +0200
Received: from [209.85.221.44] (helo=mail-wr1-f44.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2671c2-212f-0a2a450b0019-d155dd2ce42d-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 09:39:46 +0200
Received: by mail-wr1-f44.google.com with SMTP id
 ffacd0b85a97d-45ef372c58aso2106961f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 00:39:46 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f35eae5sm50715486f8f.33.2026.06.08.00.39.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Jun 2026 00:39: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780904386; x=1781509186; 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=23qm0d5KWCx6MFl1bXlqgbt7P2zuyGRtoJlUPBkMhKE=;
        b=hUURcQ2nXDi6DEG+dvGDdw3KiH3Cox/lqQiCl1f+hWIvgm9zSaCBM32nA11MqIsl3M
         BoQTkSFOPiTWnyT4oDgrpylx2MwZvmqaiaBSSZAd8vXt4kzTdHn7wyEhS18HTaAVWkjX
         DZK8k9P0TU3FANLHDPPqxgkezR/ivL6qGwgkNlXJXGB3nG4Z3SniwgKCTcD0zttx4nhA
         xYRm9xA6dhcaFih4zzXwBeKSEbP32dEXKN9R+b1MjYgva5zp8HnwLCdEyA8rK2inbqy1
         hZeR7wYjzl0BtCHBeT/bLziRtBiMfe+Q010GXwvLkFZd9JlFRWEBlsvOcxT12kx/Ns/L
         trfw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780904386; x=1781509186;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=23qm0d5KWCx6MFl1bXlqgbt7P2zuyGRtoJlUPBkMhKE=;
        b=gbBidteC/x9ywwBVI6rmMuPMS/VXCCzpP3XLVL3lKNM/52joBG1/NrFbrWz+yBwwCq
         /cqOC1VvWYje1IWxbLfcdUeAzVA7VD8/VoUNRAW1VstEOBK5rTKTpSiyro9XvQ/6VvE0
         SGRrTXDgcct3ZUxT/rLcHVJ3e0fu9ONRTS1T+uNkFB854f8o5cVBLw70J3uqPuK3vQVg
         7DPxkAdqWUSV3/GjVSTS5OpFoyvgry5ecAHQUG+lX/GAowu7AR5J/A+Y3/n/VmkM0oOQ
         ntC6OS9lXG6PPLlqXXHUJK26Mxr5ZNjn6T3xn4aX4sSdZCa/HgxuJTZQEkawaiExt5E3
         FbJg==
X-Forwarded-Encrypted: i=1; AFNElJ9xk5MEbIHcc57kJnSURZGu5a/9ioI+87M+FIceOLX5MYUTg5lpKd6oBS0Woe5EzIrviq7ELfBj4Lg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyjPFypGg9pngtrBQaMBiG2Hlk6GTZ4ksrf4hRsC5cutYevkDmH
	DNX6GsJ+JnRiz5OHVvI+YffmYCNOXZaBTp71b8w37srvOWz/2UL10TAw
X-Gm-Gg: Acq92OGDemI5wA6s7jvMWUxRLx8VE5UwbiX72WBfVgA40YDMmxpz7A/kwe3NJRAOY0L
	+CWrT01rNADaLT7l8ashLGmUmqtMSxDP1kVk5IeO0r+Q4RLrcEpd+Wg2/U8uqWMEqd5XSJkExC9
	nvDmt4le+9hr2cSFeIevw0pWSzKHK302m3yvoT/JG0/YRYM6dte1M48Oo+eFJb3AaMdBgAa6eYY
	nvNYoeIpruv03HNi+bBI1+GIUVcDJv7mSGvH1JGRMS3j9wsvbzQmf+6RzSUnJNGUYG9N0ede6++
	LAa/VGUZK8XgRYNllheEop+KPXMpv/qHMNe3IQgUdatR+VskMAAlbqyO4iGv3EuY02fA1rJynOB
	ppgaEEGnIqbLzbK+fhIh/ucLTHKfWnWlNPz7EOnwll9PQFv5Y00hENhWHi5dYQ+JJdtyxqE/DCt
	ALGP1FA7TaxnaBGzMQN/QV8tP83CtZYMJH0o28hk+Gh18uSWCCn15Ftb+2pJn4yL8ktTCXVL2JB
	zGV8PMQHa6sgeNG
X-Received: by 2002:adf:f250:0:b0:45e:f271:5019 with SMTP id ffacd0b85a97d-46030506f41mr16119794f8f.14.1780904385580;
        Mon, 08 Jun 2026 00:39:45 -0700 (PDT)
Message-ID: <3afc034e-f44f-4cb0-b915-ab0f846cde88@gmail.com>
Date: Mon, 8 Jun 2026 09:39:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] x86/hvm: Partially revert ("xen/mem_access: wrap
 memory access when VM_EVENT=n")
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Hady Azzam <hadyazzam@protonmail.com>, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>, Tamas K Lengyel <tamas@tklengyel.com>,
 Jason Andryuk <jason.andryuk@amd.com>, Penny Zheng <Penny.Zheng@amd.com>
References: <20260605194157.2762581-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260605194157.2762581-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1780904386-18F66F3B-0AF3F249/10/73395122804
X-purgate-type: spam
X-purgate-size: 971



On 6/5/26 9:41 PM, Andrew Cooper wrote:
> It is erroneous to check current like this.  e.g. Dom0 does not have VM_EVENT
> active when it's introspecting domUs.
> 
> The use of vm_event_is_enabled() is only for the IS_ENABLED(CONFIG_VM_EVENT)
> short circut, so just use that directly.
> 
> Reported-by: Hady Azzam <hadyazzam@protonmail.com>
> Fixes: b18e38e42da6 ("xen/mem_access: wrap memory access when VM_EVENT=n")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <jbeulich@suse.com>
> CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
> CC: Teddy Astie <teddy.astie@vates.tech>
> CC: Hady Azzam <hadyazzam@protonmail.com>
> CC: Tamas K Lengyel <tamas@tklengyel.com>
> CC: Jason Andryuk <jason.andryuk@amd.com>
> CC: Penny Zheng <Penny.Zheng@amd.com>
> 
> For 4.22.  This is a regression vs 4.21.
> 
> Only compile tested.

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 08:25:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 08:25:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331440.1593995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWVI4-0001xi-1B; Mon, 08 Jun 2026 08:25:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331440.1593995; Mon, 08 Jun 2026 08:24: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 1wWVI3-0001xb-T8; Mon, 08 Jun 2026 08:24:59 +0000
Received: by outflank-mailman (input) for mailman id 1331440;
 Mon, 08 Jun 2026 08:24:58 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wWVI2-0001xC-4W
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 08:24:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWVI1-0037KM-AF
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 10:24:57 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a267c59-5cb7-0a2a0a5109dd-0a2a4505cc3a-0
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 10:24:57 +0200
Received: from [52.101.53.26]
 (helo=BL0PR03CU003.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a267c57-aaa8-0a2a45050019-3465351a4cda-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 10:24:56 +0200
Received: from BY1PR03MB7875.namprd03.prod.outlook.com (2603:10b6:a03:5b1::10)
 by SA3PR03MB8352.namprd03.prod.outlook.com (2603:10b6:806:466::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Mon, 8 Jun 2026
 08:24:54 +0000
Received: from BY1PR03MB7875.namprd03.prod.outlook.com
 ([fe80::20d8:6571:d4aa:166c]) by BY1PR03MB7875.namprd03.prod.outlook.com
 ([fe80::20d8:6571:d4aa:166c%6]) with mapi id 15.21.0092.011; Mon, 8 Jun 2026
 08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=CAp2OwKXo3iGUqCDKhLclnYdqeAR7xFhbGpIVRBEpkaZKbYkJvgTFkcwYrAzy+kXk6l02j/WUXXPL0q/X9y4mkJcqhGlHcsh//mbEw0H/zeH1AfTK3QQ4BjiamycZB6by4UaJQ/e3r9rlhMVCUcBx7GMEaIPiP/byWXntCG3jQ//Mr8cRR+Cd2BFVunxbwGV4S2gtO0BtGx2PBdRu0dLdl+sWfY7vbgOmBDX012qoYi73oo0ebszHxssy9A/8j32YCe0ojk8RUGiwVAntpKC0kKy+Vb8vQmvttEgbPMLRmmQ68zD22a20TxaIMmuJiuVq5AyeN6AHuUp7xdCt87s5w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Wq3w8rflGScmxqel0yU37w/AwtiHB/aonOMjWLqmc/4=;
 b=Ig5Kmw0M0XmMcVxjllriEIJE2Pas8axlZQZ5fG806XqHWvJYRMRE+hUQJRL4lJaDI3cDgXVFqvZdl1Q+OtnpQoeAWMM0eKHP25XPQVLslq3JO/Fi6XIL4uLGgfUdbO8Pu/XHLLOyel9Kgg8rQ2zMseYUPyRVV5lJcaETTtBPEQ+2bZTEdFtIorwdz8q+E0YgdS9lr7LHH3FsPzjlxd6okxe9eCP+iI7CD3fpAwb2fvaRKn+hWGy+1Bww/gobbrEwhsX5PmOwWjYjHR7xp1pHx5r/r84PWWwtJxN+oUoSQgDI7o3yR/+cmft6efXSgM2YoeAjyFI0H5xskFz1sx0uow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Wq3w8rflGScmxqel0yU37w/AwtiHB/aonOMjWLqmc/4=;
 b=G67LWOVRmLS68ZJp/pivpuJmlT78BeE7gwEVzwlsurSYcaF5AJfqSpJunEDRsyzw8RH7QpLtAGXxiAcXCo3rCPhCBGeNGxExSG/KdylcDWqxI8HeYs60QHyzyMBcE8Sq6EKdRrykevQsFAFpvvU1oHQYNYu4lFrL67SocfB7bKQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH for-4.22] docs: remove non-breaking space from xen-command-line
Date: Mon,  8 Jun 2026 10:24:40 +0200
Message-ID: <20260608082440.73415-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MA3P292CA0070.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:49::7) To BY1PR03MB7875.namprd03.prod.outlook.com
 (2603:10b6:a03:5b1::10)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PR03MB7875:EE_|SA3PR03MB8352:EE_
X-MS-Office365-Filtering-Correlation-Id: 9f590127-865f-410a-5c5a-08dec5376ad3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	vvkVZdTM+hoYVOoHcRuodHtga9ZsHBl9w3sGh7NMhEoTAB/s9fpf9IMv3KB68I4PKtL3eW3D38mWPWkvyVGiDapbjzAUbO2ExXerNlwMCQRvQBatOzcdAjQRsGatYrAG16NOY8yN1BawUp1/OVNwPocz17ki7/5X61um28DSODhODarRbCjQxNI60d0Umrya2bCcCFvfzWMr1oetkBXSwwe+ZMlGguBz+mPqhFCXVQrvgvspkjbAZy5WT81tvVrn9cKTs0yiV1L1zwbOcY4GqyENZQQQKNX1hBb9A3cz2v3c6EL6rAVijtKunz66GlY3PYzzOqykVxgmfhZjf0kuM7q63R4rc7TFckncnogBu5uS1i30rmchcyKqCMUA3KeSBvlyCwVRFSKSxw6ngchbhUWdyrcDAx0wrz20zCFzF/TQ+noJV8jTXm70cBilZCUGfVAdQkayw72dOqVCYY2JnkjZf9vLG9TszymzrvjBtIdLZAg98Uoec/ldGxIWVzHMU7rMr3HkmqdrOQxSKw90AQJ4Kp3pr+JHGF8MoOtNRXWbCnwXdwFSuZM3YxpN7deRoxaWnT814SyOHIvkhMF8HKSv9s26aKZB4EM2gyr7EqmEimkHQmVceRRuHO1+K7zRWYvYDaRHbhmuIcc6bRVUFXojCstRJO7Mrll2qoic+WiSdH9VL4JTP7aEg2+e13lJ
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7875.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?emZsVDBETkFQd2Q5OHFXN3NKM3FEbUxrdDg5akFTMk82d0x6M2JvNmVXZ2JP?=
 =?utf-8?B?L1Z5dzh6WlA5YjQ2VEhMSGkraWpPZmxDUkhVOVVjOFhRY1lnNko5ZTJBVytL?=
 =?utf-8?B?T2xoZThVWmI5bHRZVGZwV1RvZFhMSjJEem1nWVIyOWJkZ0Y0MGk4aytLL0V2?=
 =?utf-8?B?ZzlqUldJMTRaMHgwSGsyalJPRjh6NkIrREF4ZnlQU09KUGRiLytuT0xHS3dL?=
 =?utf-8?B?T29vRFJuR256QnFWdklVclpKQzRGUlp2Qm1aV3I4ZHdqOHZDVnF3WFJ5NEF6?=
 =?utf-8?B?SXRXNk1pM0VhckNJSENGVUFubWlwQ0pYaHp4OG4zRVdRM1dBaFQvQTVIK0ZW?=
 =?utf-8?B?L0x0T0ZwMlNrbXdnREFpSkV5YXFwaHo0NmdieFkycG4wMkF0d0YzRUs4R2h2?=
 =?utf-8?B?NkxoNTFwSWUxRE40eWlHRXA2a2RSeDhha2oyaEFSL3V0M1dmZDdVN2tSYk42?=
 =?utf-8?B?cWswcFJPV3dka0hLb1pRQW51R0JrSzlMNkE3MGtqWmpMMjBCUEVWaFczS3hK?=
 =?utf-8?B?VElDWVI5ZHBZaG94VVJPUHN3R1FXTWpHUUtvNWptcUtheU9LaDBNV1R2Skk0?=
 =?utf-8?B?Z3RKdjFPUW1uRmNvT1FQYnVVMENLZTUvS3F0VGpqV3ZFYUpDMy9vUmtWVFZK?=
 =?utf-8?B?ZFB2T0plSFo4M3VxVFArZ0E1V2VkTnNzYnFIOUNYamt3VFdYUzhTdGZhWmw3?=
 =?utf-8?B?WkZ3QzR6R1ZWQ2RNVThLcElhek1pN2gwekk2cWdmUWJSQ2dqWTA1QmorNVo0?=
 =?utf-8?B?MElyVXVvak1sSjZvM1hSZ0xBbENnb09sZkhpdTdmWThpcWZEZndmTjFiV2du?=
 =?utf-8?B?eGZmdHdoRDRCUVJYSTAwU01ZbmRmTkZDS2dHNG9jRE9zUlQzMU5QTXdNd1pZ?=
 =?utf-8?B?VzgzQVBnRVZQVVZuek9GaWpPaDlwbGJUQUg1VWJ0MDBUcDduS2JkK2NTQ0pH?=
 =?utf-8?B?Q1NpaFZ6ZG9oeXU4M1RsNzhtczh1UjkyVTVlOEtBYk5Uck1WUnN4U3VFQ2M3?=
 =?utf-8?B?bEZkZ1U1RERoRVVzRjRFM05Rb1krODZ2dEFpeUFmbHhTeUQrME5RVUI3aTZU?=
 =?utf-8?B?QUZUVURDMVJzcUVLS0Y5UWo2Y2NnQTFzKzByb3p6Y2ZOQ01rRThrVmpXWkxO?=
 =?utf-8?B?am40MlNqWll2QWRBOVlRWEJEendZbnY4NC9hd3FXamFpSktYb2lDckVLVWF2?=
 =?utf-8?B?eW8rM3JaNWZEcnRZczB6bzRzNGNLWTRVMjgvRUZIV2VqUGNITi9kNmVJdEJw?=
 =?utf-8?B?UDZaUnN6bnJGUWdPSDFlZk1KNkMrMjU5RTA5TFQvSjUzcUZQcExRdTNJbEtI?=
 =?utf-8?B?RVFsTGxuOWxiVEoyanFEYk1ONkE4eHplQWVubzZPdlhjKzRhUHlQdTZlREs5?=
 =?utf-8?B?V2Q4cHZkQlpjeFllTW5kbXNWODBnbVJDQUR0MFRYNHdNMzMzNjJVZHE4TjVN?=
 =?utf-8?B?cDEwdHNCWTZxZUJmbnJhKzF3a0kyRXBEVjROQjYvQjVpL1Z4aVo1NGlnZ1Fa?=
 =?utf-8?B?V0ZQbEplWjFRaUIybGdBZWNjOTRFSHNzRUU5R1RwZ2VINk5oR0lVa01QdnpL?=
 =?utf-8?B?bkZlcDVub2FkUVE2R0pzNWRaUm1Mam4xZDh1OTdFUVhyc1FpdFhGU0t2UHBM?=
 =?utf-8?B?VHIvWUJobHN5MytBTUpFSmNwWGUrVVllTE9aVXN4dWFCQTRyZSs5T1FrelY4?=
 =?utf-8?B?eFM2T2lFQ3JGc3N4NjB5YWNIYjI0andPM1VnMUJZcTdzQlBHNGpsNnZCZmli?=
 =?utf-8?B?cVVVbXRSV3NHRStIOTQ1aW1ETWl5VlpiYVB4b0NXcUR4NlNzK0FQTjZab3hj?=
 =?utf-8?B?TWFsYWh1Qm01ZUgvcHRHbm56ODRqWnV0N05UMlU3d2J3WFhxQnUyMFc0WU1S?=
 =?utf-8?B?eG42blVRYlR4Um1BbUxUM1dJbWpZcGZyYWJ2US8vbTVTWU1CT09hMXFXNHIv?=
 =?utf-8?B?R1paWTh2NDh6TWJEOVY2WTJCeTdwdXdObE5ydHNDdUZkeHRiamxKSHV6UEJM?=
 =?utf-8?B?Skl0cjVGZ2llSzRiS1NFZmVzMUFpSDB6RkRYYzNMWHdxUUZDWEY5QTM1T0NK?=
 =?utf-8?B?eDlnTGJjcEp4Tnk2Y0NwcGdlMDYydGJiQXdXMEJ3YzZtNUFFSnU4RkF5VVBh?=
 =?utf-8?B?QmF3dGo4VnVyR1dTM1VocmVBVjBrd2VBMENXRXRJcjBTQmFmQ05KdmhWc2FB?=
 =?utf-8?B?bTZneXQvY3ladHJMODdyczRtYzllOG9wN0VzbTE0WVhHajFLOEl2OUwydS9s?=
 =?utf-8?B?OXZHRC9OZ0NzNmFIYkNGV09ydU9SZGt5ZEY1S0RFUWorSzhlaTkyRkhob083?=
 =?utf-8?B?VVJFSmR3QlhrYjdJNzFDaWNtVHE5SEtzWlNpQ0VBV2FobE5QbzMwdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9f590127-865f-410a-5c5a-08dec5376ad3
X-MS-Exchange-CrossTenant-AuthSource: BY1PR03MB7875.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2026 08:24:54.2002
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Bc7VUK/DN+zwFrIa4eYQTjtdG5F7Uns0jryQvRxBmtWeTsAxeoX0IuBDuYYm/XkHxG5K79jtRHU6u/6C6Sg4AA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR03MB8352
X-purgate-ID: tlsNG-c201ff/1780907097-E139A443-92D2E418/0/0
X-purgate-type: clean
X-purgate-size: 831

Fixes rendering of the generated html.

Fixes: 31d9c88a3857 ("pdx: introduce command line compression toggle")
Signed-of-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 docs/misc/xen-command-line.pandoc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 93c2a73f4ade..1c711fa98086 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -2082,7 +2082,7 @@ for all of them (`true`), only for those subject to XPTI (`xpti`) or for
 those not subject to XPTI (`no-xpti`). The feature is used only in case
 INVPCID is supported and not disabled via `invpcid=false`.
 
-###Â pdx-compress
+### pdx-compress
 > `= <boolean>`
 
 > Default: `true` if CONFIG_PDX_NONE is unset
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 08:34:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 08:34:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331446.1594003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWVR9-0003hR-Rr; Mon, 08 Jun 2026 08:34:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331446.1594003; Mon, 08 Jun 2026 08:34: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 1wWVR9-0003hK-Oc; Mon, 08 Jun 2026 08:34:23 +0000
Received: by outflank-mailman (input) for mailman id 1331446;
 Mon, 08 Jun 2026 08:34:22 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wWVR8-0003hB-1u
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 08:34:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWVR6-008zLO-TR
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 10:34:20 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a267e87-2eae-0a2a0a5409dd-0a2a4502c60e-24
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 10:34:20 +0200
Received: from [52.101.85.33]
 (helo=BYAPR05CU005.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a267e8a-af86-0a2a45020019-346555214127-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 10:34:20 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DS0PR03MB7290.namprd03.prod.outlook.com (2603:10b6:8:12a::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Mon, 8 Jun 2026
 08:34:15 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.011; Mon, 8 Jun 2026
 08:34: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=U7WasXtvEQEf64nUiSNCRbemeDKMFD6w7UyKcxI+YKOiP2a1VkSTMAcpQqZarIwj+DhwexWsgkrQ6eCZPAx/XM9kjmFUAJyaF5D78W0hY0TcRobekcF8lxyRaj9PZzaYiev6BQgLCwf9kS20fqasAAmJwzMLvHo6eBidEtJx5QxV4+uX9pl8tR6dRLgXhQOxm5EqqGohn7+gP6n7oAE5QHXAm4S+7xkxlX5ReIkjn2FmDl8FRVTQ84bf66W9v/iFGq9YinNFIRuzsYF4x2KA1o9k0WwxsYN9N87srHB+FydL/Y9VhxufwdWmgtLJCYtEWze+rUFinbhyoAqDuHf+QA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4k5g8zUmb/z14zj49djEo162KiUKiTLA7m7LYTuSalE=;
 b=cE9m/Aapq4nOtwhZhccdordBGhGRjG27+wEkFVkubmVeQ9cXvUx7dyzkvqfK4uS7E0Wa6bnCtszZNqAF02Ym1DN3mJob/JuYSevHRcyjP3Rez1ekbvL6J2Uo4Uy8CBYgBl3c9CJBQ8eDFwAl2V4xY4cjUbDAa3wtJciWCDASr5vrw30SefySdC2++dW8RCJy/kuqLu1ENmFJCgTfco+At5w/4HFCCJH9DVN10UgsDIQPPnR0ZZSIDwtGVolTUcST/saNkQThwVr8KtvONln+ZXxeiEQisMg2xf6OnUTpeKBtEb9pgbss81NyfQSIwKiUrHvZ0A08hl0UVsfZm9RaDg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4k5g8zUmb/z14zj49djEo162KiUKiTLA7m7LYTuSalE=;
 b=Qc1tllTkN23x5xKrceoPC3DglcxmcDACYv/+lIjecGRx2oYb7smXJdKtyuqx0npj1TaKg/Wz+lCqWisfCRxhbYvNZGGShAC/zhzETuWoAipucd6RQktJB9kGb2QWzTWJF21P384O/grw3z+HqrzvCXP2CRYHQnFa7ZtImFYN6jE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <d16b8962-a4af-4b9f-bfb8-f075cfba2f1f@citrix.com>
Date: Mon, 8 Jun 2026 09:34:11 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH for-4.22] docs: remove non-breaking space from
 xen-command-line
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <20260608082440.73415-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: <20260608082440.73415-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P123CA0076.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:138::9) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DS0PR03MB7290:EE_
X-MS-Office365-Filtering-Correlation-Id: f93d8c05-8e6c-4f6c-d6ad-08dec538b953
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|22082099003|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	IM5TtfxZrlUq86Z2CPJ1PBr2C+dsRnV8J03HOTYWdm8j7NJXsmxJuBJSHOBblAueTX/c871m6pKRsYT740SAaZ79mw1iv2OIewV7dZqYJAUPhmtk4ajHq4S8KrZGy8Rf7EmnMrAiHyjerxk7umoBbaD17KDbhJUMFIOemneBSbYYZDa6ux6pHjp87d/l27BMOhjU03a5Xa8X1yZaB0Zd6YwM02m9uMo36tgS5GidxoFor3QlLQQjo3nYXN7IrsmMVlfJskE3xnsBlTBqdItlmJCT586IgT+flq1WNnJAbKOUFzBeIzbU3tkcGjVTEdOaDBdow1R2S/k4GttemygsbFm+/FYR+8lFsw2bo0l93RaU6q7v9DN64zCh0QrfJvmYiARNq+3xOzWGBx3H0+KQ2UfFH/6ckx7rV9MHrwcpD2JltQcpc02q6kIvRoiw++ji1z+9w1L4rh90asDTv0+23hp6AkA0Qp4+pkiCHyz51rGlYFOWmrXOrgzUvXnKVHRerpvsJ3w/KLIzhMkLza2TUnCw0wqFFqDC1jVE1z3X+lhxOb593xJShKxxKq1zr9uO6rIEJzW6iQVM3lfdAeZ5H9qFIf5u7MSE/+Sx0OIlLupi8/3DrGPhRJnVP34q7BbrPYjXSvSOEaTRdOIIRy3g2lHii4IvwgoH2i4qkjutBVVpuaH9/xbD27+lJ+WhYluU
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(22082099003)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y2F4Q0JEVVlrZkpxdnk0djJkbmxhai9PVUE4OUp3eHhPTjQ4TExFRW9PUmdH?=
 =?utf-8?B?R0tGM2ZkZmNsaStFa2JFWTloK2xLK1FETC9wZWYzckNYd3NvRWw2bkxJNnY5?=
 =?utf-8?B?Z3hqZllsUGFtR2VVVlNXS3J2RVJVMW9maUhwcnhYSHpHRTB1dGNqbzRIM2Yz?=
 =?utf-8?B?MXVJTXZXVUhpeTZQc3cyUTNrRi9TeHB6eDA0R1MrT0NERDhBd2N3NmJxOGs3?=
 =?utf-8?B?TjhwMCs5eStmeG5FSFViYzZhdGUwVW9qTmpaa1MrUGxKSk5XNW10My8zY2Yv?=
 =?utf-8?B?MURyWXhhYlRtZDVoYVNJQzVySjRqbFMwSFNqVnFoakRUV2t6bXdGTDdCdUpP?=
 =?utf-8?B?MVgzcExmWUh3Rm1tN3pOMVg2S3RhWldncFRMM2F2TEhsS3lPME5vdlljNEY4?=
 =?utf-8?B?cnBtOGxHNHlvODJ3MTNjRU91YjVJUEcwbXlDdC9MelpVZkhKcmhIUlBEVzZ4?=
 =?utf-8?B?YmREa05KbjJLNExyaVNYaGgrV0dISFAyMUpEM0dNeXNpSFRXdm9qdk5OWG5O?=
 =?utf-8?B?bStoSE10K0IyM1BleHhCWlJQOXVNZTJCUDFZYTkwMUI0UG9FSDBicXdMTW0y?=
 =?utf-8?B?Y0FOVzBLRzRxMDZ3TStQK1JSNVJkN2VnYlRVbXpQMCtHdnJBYlFEKzdNWnkz?=
 =?utf-8?B?RXBuOE1wOWlMOUU3OW1PZHNxUnZmNUhuTVozLzJ4WmtvT1VlK1JYSjFuMDdJ?=
 =?utf-8?B?UW5DUEpJbi8wdEpRWVBVaW5BWHlSMlVDTnVVVE9xa0dYZzN4aytWMjVMQ0c4?=
 =?utf-8?B?dXZ6QkpHaWlDcHAwc3duMURiSjV1azJRQWdodmc1dEU0Q0lGbGxnNXl4UG5Z?=
 =?utf-8?B?UkpsUFZFdHF0TFB4a004WDQyRjJzT0g1QkRWVkNGcGsyWlJ0eC9zQlA2enRV?=
 =?utf-8?B?NkFnSE4rYlR0TEVWQlBaenlWZzJiZzRHeDF0TDAvakxjNVk4M3lXdm43TzdR?=
 =?utf-8?B?YTdvckEyamZiR0JUZU1wRlQzMm1Wb09VUFRBc2U0MnYxbnVkdGljcVhRMDZB?=
 =?utf-8?B?TGRDZTlzUHlFYWZ0YStURS9PWkRjZ0YvSmdIcnVCdGR5cDRGYzlqa0F5WkRG?=
 =?utf-8?B?elphd3hkcEF6ekdORWFOaWNlK28vVjhCRHBOZE5reFMyMTVZWU9yWUpNZjlF?=
 =?utf-8?B?NlNxd2R4aTYvem4yMXlSNnRqbFRQaHlBWWF0WTRZWUJ6QTd3UGJIck15VjRJ?=
 =?utf-8?B?SW9wazQxenJKRUFJaGs0WU5qb1pvbHQ4VUQ3SExhRWNNUktWT0xnK0R1Mmlk?=
 =?utf-8?B?RmxkbDR4eGdVaFhnUXpOd2ZXWlZadkQ0TnM3K3czODdLSS9LT0tZOGxjMk1q?=
 =?utf-8?B?QjNhZFZCRVo2UzN3cFZyWDlBTGx0aFQvcUpFa3JxY3VZZnk2UXFHV0puTTdz?=
 =?utf-8?B?ZTdUZi9sMjNqZTlmMGlUbTRIZWZhY0pKOC9ST3JRV0k2RFhwd2F1YldLMXBj?=
 =?utf-8?B?T21yVWpNUnB1MFhlalN2V2FlVzloTkszSVRRRHhhbGRLQ3FUOHpyS05qVkZT?=
 =?utf-8?B?Ni9xZEZmMmF3T2VBb1FTZXEwQUJmWW1LY1A2MnN4dkxqeXc0T0g3Sm9yWU5k?=
 =?utf-8?B?eXE4djY5akxVT2VqdmJpK3VQbXd2WWJjYnV0L05BamVCbmRZeEtaaC9VS1JK?=
 =?utf-8?B?c2tLNVQwRzErTEhPTjFZU2lNTkxLYUxhbUJzb0lWNjBMNm9hZHZiMXhvRkpw?=
 =?utf-8?B?ai9Fd05nall4eXgyZGVmQVNrNC94eUx0cGMrbnF3YjhXRG5SQW5PcEZCMDlo?=
 =?utf-8?B?WnVVQnFQeExKa2dNQlc4SkZrZHc2WHFBYUx2cm5CZnIybVV5VXIrSmtKKzJh?=
 =?utf-8?B?dmFnSUNGdlBtSTN0dWIzOHZJUTRlMk9MTGkwQkpJV0NSUFdDOTQydlUranBQ?=
 =?utf-8?B?Z3dES3k4dGNPd3pLNDFJZG5mWkErZXhGNy9xOGRZMnRiOG9uaHJrMno3d3Zp?=
 =?utf-8?B?MWVzbDIreVNTU1J0N0pkd3FWOFRSSEp0ZjBwSmgvZEY0MWFibEFZVzV2L3dv?=
 =?utf-8?B?TGU0UTluVy9tdzArVDVkbXBuc3ZHcWxxaGg1dEVjT0pkblErMEpXUDRkZ3ZS?=
 =?utf-8?B?bGh5SnJ1c3h3Q09CWTc0U3U0VzI3UGJjQ2c3N1pzQU14TE15WW5vSnBTTkNU?=
 =?utf-8?B?WG5ScEh5cXU5TzFqZ290aUlNOGdyaXhOQWhZdFpYVEQ0TnNWQzhtTjNQdlVH?=
 =?utf-8?B?T0p5USs0VkdTeG9Rc1c5REU1R2YxK0pVb2ZuZ0pxNGRzVmJodmRaak9OWWFW?=
 =?utf-8?B?R2VibXVUeXluSHFLc0JQb3pUV1NqZ2xIR0FuNnZzS1NNaHVndmlIQTVMSkRs?=
 =?utf-8?B?Ukk5RlhPSlU2TTNQdjd3OUhWRUJLZE13N0trbjNRNG15WEtRM2MxUVpUL3lI?=
 =?utf-8?Q?z94PY0LGtqaTCXzM=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f93d8c05-8e6c-4f6c-d6ad-08dec538b953
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2026 08:34:15.2366
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0uNDtGVxvy5l/m85r6AyaXyAx/GzNXKdECSBTgJWj1ldCjtwlNujSwTYW17WVV5godnmF08BwaMqJSsbkbfzO3l/XUZCu193gW95QgOXvDw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR03MB7290
X-purgate-ID: tlsNG-720697/1780907660-A8D7F161-33775145/0/0
X-purgate-type: clean
X-purgate-size: 278

On 08/06/2026 9:24 am, Roger Pau Monne wrote:
> Fixes rendering of the generated html.
>
> Fixes: 31d9c88a3857 ("pdx: introduce command line compression toggle")
> Signed-of-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

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


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 09:25:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 09:25:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331482.1594040 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWWEZ-0002YV-Sh; Mon, 08 Jun 2026 09:25:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331482.1594040; Mon, 08 Jun 2026 09:25: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 1wWWEZ-0002YO-OS; Mon, 08 Jun 2026 09:25:27 +0000
Received: by outflank-mailman (input) for mailman id 1331482;
 Mon, 08 Jun 2026 09:25:26 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <milan_djokic@epam.com>) id 1wWWEX-0002YI-Sn
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 09:25:26 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWWEW-00H1Fq-Uv
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 11:25:24 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <milan_djokic@epam.com>)
 id 6a268a77-bab6-0a2a0a5309dd-0a2a4508869c-42
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 11:25:24 +0200
Received: from [52.101.83.135]
 (helo=GVXPR05CU001.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <milan_djokic@epam.com>)
 id 6a268a84-63b5-0a2a45080019-346553876b4b-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 11:25:24 +0200
Received: from AS2PR03MB9587.eurprd03.prod.outlook.com (2603:10a6:20b:595::7)
 by PAXPR03MB7665.eurprd03.prod.outlook.com (2603:10a6:102:200::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Mon, 8 Jun 2026
 09:25:21 +0000
Received: from AS2PR03MB9587.eurprd03.prod.outlook.com
 ([fe80::daa7:3b97:acb3:67d5]) by AS2PR03MB9587.eurprd03.prod.outlook.com
 ([fe80::daa7:3b97:acb3:67d5%4]) with mapi id 15.21.0092.011; Mon, 8 Jun 2026
 09:25: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=uvXtUC/SdJxYSs1g3SXBRUpgZmHBXEgGcCUpBD3oKj9/53/x5FQw2J1k5GB3AohGaeSN4keedaDBobyvU48romkp5zYKRscjGKcluj7GKpvMVdI0n0vhGZhgnx1jQF+PjrImY8qhfehmtIeyRvqgaYjNDbeD0rAzaYCkab26dIm1UMR+OfBFkXNazSyzmOdkIpYIDG/HdvxYqeJ3WmUWsdQ4ekll0gHmE/LIUDPcOeFbPX9WuBMl/h21q4s17IBZ4Z8IpOdUMXIBow5ncJhahbMfjig3JtSBQ3Yya3TqiQSg5hNfnHWbzmB0Cgj/smgVtrEU61/KyJB7zHYK2WqRGw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=apLdSircczYnTWe9zXrJPb7nc9E74AgPYo3ia4U+13o=;
 b=l5VyjrjW7cFKk6AIq36DF9Lmy009tof+jNJkEXbqhhHnVzEyvumauv1zgnK4FPjkp6iIwYE2c5cZrvUdRgf9wNfNCnRpE9qsaaE80AFb96/bTODZzxVhkaSTbS8AAT7g3AMV0a/uD4pFuvECltFYoTVChhGLYstRuUf7UKhrY5E6vLf4XWFArCVHR+vNWzA0KMcpRgzSFp1c/KA1oaMHjtjVtD3YUNLRxzEFrNGN+RNQKxeWoERr9qIyrOOjwgAF/oq0lKkCkMgtr5VDky1NIfZu/zlDZUDiMbK+l2qbwmlu0g66CVCfYK/nUhKK5s80VzNKbbuHEE9D/hTdRcQRAw==
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=apLdSircczYnTWe9zXrJPb7nc9E74AgPYo3ia4U+13o=;
 b=KL3hCmivRf3Grhzlfwm/RP9irbibi/EBv5CgNo8ToxsmOIp6e4b28h/q3EbTQlJXpNSb8ZRrRuPq/HINK8Ray3LU+7gP96bncxednhFxT/MgBlIiieL2GyQeaU1jY85f5iSns5RHLwsKLft3abP1MTP3qhQCYH+LcIj1xd8HYFfBcBFU5BNe15hgDM4EztpvU/qR7yeqD1zy9Z+1d+DpJBugZFOCGC6CMFkdrQDhfkof7cCTb493Nqco8akNFjcoCR33/MEJJ38JVc9DJXPJhcxtLOZL1hHj+wfGE3w0uNTbFP3zoMRwFRdqRsjFfgJrwC9EixBskNuFt2dfapM2UA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <f258e2e5-f7ba-4183-8b33-c3a169dc1d7c@epam.com>
Date: Mon, 8 Jun 2026 11:25:19 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 02/23] xen/arm: smmuv3: Add support for stage-1 and
 nested stage translation
To: Julien Grall <julien@xen.org>,
 "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>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1774305918.git.milan_djokic@epam.com>
 <cb8a2cb5df50128f4c49d34a7ab8faa4e73f83c6.1774305918.git.milan_djokic@epam.com>
 <56a7c116-4ecb-4dfc-a7dd-774d53041fe9@xen.org>
 <87a04781-5765-43b6-8b21-cb993609bd91@epam.com>
 <cd2c76a2-7a13-4bbf-9c29-5dcf3ae06fc0@xen.org>
 <4c96c478-aeb5-443c-a6ca-f23caf7d5430@epam.com>
 <e489f44e-ef61-425c-bd0e-0a992c32f7cf@xen.org>
Content-Language: en-US
From: Milan Djokic <milan_djokic@epam.com>
In-Reply-To: <e489f44e-ef61-425c-bd0e-0a992c32f7cf@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: BE1P281CA0383.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:b10:80::25) To AS2PR03MB9587.eurprd03.prod.outlook.com
 (2603:10a6:20b:595::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB9587:EE_|PAXPR03MB7665:EE_
X-MS-Office365-Filtering-Correlation-Id: 729ee785-c413-4a14-b6ab-08dec53fdc85
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|5023799004|11063799006|4143699003|56012099006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	P5WWFt5zCwrAcGgtlij0DDOnLIoPQbEcL9gWEe4EU7PNk6sEefxWFA29aFeSMiJxXjWlJ4an77l5ind3tIxOqG/A/KUPK3N0StWkg4P4q2ibGUCc6Tq4D4csOqX3rE8smR3ImwdKV0tjvRCdivM+6cwzeO6bUfKHMe/9PQA+8vk/ubAcGI2x02SaWaZ9i1w98uo1EypBeVCMor0TkBMSr9STn/wHzMykb8AZBcvLcB7eDKz0pQA0a4og8CatxsslwOERYj3uUadDs/UMpXV9ji0RdLjHb6WiwiSrqb6SBExLyhougO6EiEDIsF6gw0Mp3EizosCvRLvQgGEmgopePVMxJ8c8iS6lrT9IvMS9C9wCcIN9LDKsmacFtOjQ/G3CuR0q9GzPpYgXbz2zbRKRKAMe+kg5+LBYWY/UG8jrJ1LglLC/d/fIqE+i3WQMs0U1apHniZj0msBQe+3bBFNoiGIQvc6U3GaE3T05BfI6832tE8wjHgp9KfMc//Oi0syIcIZuOBJ2BWJNqTU++CHRhx1ty5S072PssDXF6RUGBIZ6bElp46xYa4RZW/tt5Dh6JzYYcIdmGojDplI64XZtf40BslSHuJoFNnkNWbUsXy94dbXG5a/SjLbBROrKQ1JA/w0FH2DMHIW7elskiBCbkVuMj7mdanszYbo6WG6qNWUb6SDIL/WkTWoAzO0pKiJt
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB9587.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(5023799004)(11063799006)(4143699003)(56012099006)(22082099003)(18002099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cDJwLzcvUHljc0l2NXV4bjJHeUhQMWwwT3NYZ0RQUk9HOWRZd1Q5b3ppNzNh?=
 =?utf-8?B?VWhBRDhZaHdJR2VPWVNvcmhZNlJiUWxrdlVYZmZCVHMwWUxwcjdFWU9UaGNB?=
 =?utf-8?B?TndSSUtjVmc5dkZiZDRRMG4wLy9pVzZkUnJTemVieE11dXFva0RzWDZjUkFJ?=
 =?utf-8?B?WXlScmdIbFQ4QXNqMmM3R3JUb2RWZDlZcEROWHZBR283UkVlUW5FQXo1c2Fs?=
 =?utf-8?B?UVNDTnVRcXl4K1lIOG5xVm9LWWdhZ1ZiZ09uemE2dFFWemtyUXBya3RFSnFJ?=
 =?utf-8?B?bFFtdHZIckhscHVQZVJkeGtmQmNNY0haaXg4bnA4L0NuMkRFWGJmOWczOTRQ?=
 =?utf-8?B?d2txam1Oa0pFSnZQZG1FWkhza29Dc0htZCtORS9ndUtIQmZFZkJBRHRBcnY2?=
 =?utf-8?B?OWo4a3I4QzJZWkJvUGxnN25nakVGdEMrK00zQVA1MzhiSkZveCsxajVjTFhj?=
 =?utf-8?B?SitaL05MRlp4MDYrdVJUSk5oRTZHSHhqS3RMa1pjL3dKSi9ZZUJFSWVjalFR?=
 =?utf-8?B?RDNhbWxOQjZIeUVmUnVhQkM0LzJJTVZGbURZbFJoYWhSSmNGNkJucUNFR0xG?=
 =?utf-8?B?T24rL2tHbmFyN2FhanBGdEdYZGQ3ZkczZTE0RUhZbFV6ZU9ualljejc4T2h2?=
 =?utf-8?B?SkNJU0l1VThmZlA5dEwyaGQ1eThEVDVoOXlWeThISW1xWEZqWHcrbGVYbWpZ?=
 =?utf-8?B?aC94d3VxN0ZteFd0dmFJWGhWRExEY3RUWVIrTGFKU3hKSXVYVWl5a1NhenR1?=
 =?utf-8?B?cjhMMU80aVJEZjh6Y2grc25iOGhLcTVKSzZrKzRNU3AvL0JMcmRSajUrYWhR?=
 =?utf-8?B?QkRoVGUxcUpFbWl6RS9tMmlZcUFweE5NUFFqVnA2Z2RJKzZtNHhXUzl5Mm8x?=
 =?utf-8?B?QmFud2M2dzdXRGI0YlFhOUs4emxHeU9Hd1Z4Z2d2aUlaM2pJdTJrSHg1ZjdT?=
 =?utf-8?B?dk9OeXg1SC95cHRWNXRMYlo4Vyt3Z2R3VFVPajdFMjlPYkluRFdQaElxbGUv?=
 =?utf-8?B?Y21lcllGL3VsMjlOdGZhZDY0ZU5WdkVyOTdUcysvZkpuMHNISFdSU1N4TWxX?=
 =?utf-8?B?TVF2b216d01LdjZKSkVtWURjTGVTSzJ3K2JTVDdqeEo5Mjl1dE9sa2UvWUVX?=
 =?utf-8?B?clVqYkZqSjhpZisrUVdNeUNNN1hNL3dEMy9oV29vZWhvZU9aQStybWhTVUJx?=
 =?utf-8?B?QXEreHRvcFBJb3REbjFZNzlqblF5Um9Wcy9JYzdPMndEUkxEZk5TbTdrK0lw?=
 =?utf-8?B?dGdoajNjeW4zVGF5ZjBPSHpyR2VUZ2piVXFVcDRGUWNBVjQvTXlmM2I5Tjdz?=
 =?utf-8?B?Nk5EZjFLeVRRdlNWUDlFdXhtQ1J1bVpEZFFJamwzQ0hsenFRWnkvQUllVUhv?=
 =?utf-8?B?SFdMTDdySEV1a1RPYTl2UHdQRnAzYU0yMFl3REptQ2ZyOEY4NU5haFdhVTRy?=
 =?utf-8?B?Q0c3dU8wMU1mZCtuUDR2bSt3VGY2cjc1dnNvRGE5WUlWL3lvN2lBa2R3Qm9v?=
 =?utf-8?B?NmNDOUphRitQaFExZ2NBeWdXcml2d0pmZG54Zk4venpJcVFqeFJab2hmRFVU?=
 =?utf-8?B?UTJNc3dOS3gra3l1M1FsbXFzak95U2FjMk5GZSs0Z280RlowRUlXQzE3Z1lJ?=
 =?utf-8?B?Zk92b1hUZkFHbFltRjRzN1NyeWc0UFRieFZkRElvenFWaStaNUVpdzkwS0lI?=
 =?utf-8?B?VFVBWEJ0L24rN0ZnRzh0K0txYjJMcHk2cktBY1VRczBjb25ma2R4WHVJQXE1?=
 =?utf-8?B?cnlUZVR6a1RNQlZhaEdFaGtsYjZZWUpWOGdMdUJiVXFOWnc1R1pFWnpvSHI1?=
 =?utf-8?B?K3ZQR2FFKzIrb1hTeklYbkxNSTF6ZFhkSW1zTDlKT1NRUkd1UWxOT2hQNlhv?=
 =?utf-8?B?bDhiQ1RLZ0ZoaDJ4Y1V6L05lNG5EeXpSUkdrOWFTeHNLWlRMakJpUEcraTQz?=
 =?utf-8?B?b1JYRVVRNmNKZjVoWWhBNmRaUitDUGRmdjVsNkd4eXllNjBPUlNKVm5DbjNS?=
 =?utf-8?B?U3lhTWhWQzRaZ012bmRrYWh4S1pMYTYwejE3RVBMNEFZWVEveFU2SEtIS2Ns?=
 =?utf-8?B?M3pCcUJ1MmdMR1J1TnBhMVp4WEYxVmdOMkVNT2tNZkRGVlBnUWk5bkJWMlJN?=
 =?utf-8?B?S01kVTEzZlA0Z3o0Z0JIVGJFS2VXMVBzNThFUVhTUk5DUmUrZGI4ejg2NUtJ?=
 =?utf-8?B?MTl3SlM2VTVtV25FaS9renRNdDRON05lb0wvOVo4eXBURUdLR0NCenZ6Znpy?=
 =?utf-8?B?OWFBd1pPOVhiSG0yblZMKzBhMkFkZzhGcmRyT3Vka2I1Uit5RURxNjRHNHZV?=
 =?utf-8?B?UWRYSVdnWDhZclZGVGQvblpUcXFuU2dRZURIUDBoUjd6UGorWG9sZz09?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 729ee785-c413-4a14-b6ab-08dec53fdc85
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB9587.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2026 09:25:20.8736
 (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: rgZgkTMbGtZ1/WHXketTe73QJSVE6ROXVcgFvJuN7U/8L2urUMak7B2LGqkNzD4YH0xxEquRMIFOUYx7BVODPA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7665
X-purgate-ID: tlsNG-c1860d/1780910724-B7171DB1-CFAAB880/0/0
X-purgate-type: clean
X-purgate-size: 2163

Hi Julien,

On 5/24/26 13:00, Julien Grall wrote:
> Hi Milan,
> 
> On 28/04/2026 11:16, Milan Djokic wrote:
>>>> The original idea was to also allow stage-1-only support. But I'm not
>>>> sure if stage-1-only usecase is useful or even valid for Xen.. I will
>>>> update the patch series with the missing parts for stage-1-only support,
>>>> pointed out by Luca, but the question remains if this is needed at all.
>>>> If not, I can revert to original state where stage-2 was always
>>>> required.
>>>
>>> By "stage-1 only" support, do you mean Xen would use the stage-1 in
>>> replacement of the stage-2? Or do you mean the guest will use the
>>> stage-1 page-table and there will be no isolation from Xen?
>>>
>>> If the former, then I believe the page tables don't have the exact same
>>> format. Today, the page-tables are shared between the CPU and IOMMU, so
>>> this would need to be duplicated. For now, I am not sure this is worth
>>> to do.
>>>
>>> If the latter, this would require the guest to be directly mapped (i.e.
>>> IPA == PA) but it would also open a big hole. So I would want to
>>> understand the exact use case first.
>>>
>>
>> The latter. In this case, the guest would configure stage-1 while
>> stage-2 translation is not used, so there is no additional isolation
>> enforced by Xen. This would only be intended for specific usecases with
>> trusted domains. But yes, this opens a significant hole if used with
>> untrusted guests. If there is no strong usecase, we could restrict the
>> implementation to always require stage-2.
> 
> It is still unclear what would be the exact use-case. Is it a system
> where the SMMU doesn't support stage-2? Performance reason?
> 

This primarily targets systems where the SMMU does not support Stage-2 
translation.
If we decide to keep this code, I will address the associated security 
considerations and document the corresponding AoU in the design. 
Otherwise, we can fall back to supporting only the "nested" translation 
case.

> Overall, I would rather not add any extra code in Xen without any strong
> use case.
> 
> Cheers,
> 

BR,
Milan


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 09:49:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 09:49:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331491.1594048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWWbw-0006bo-Ko; Mon, 08 Jun 2026 09:49:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331491.1594048; Mon, 08 Jun 2026 09:49: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 1wWWbw-0006bh-Hi; Mon, 08 Jun 2026 09:49:36 +0000
Received: by outflank-mailman (input) for mailman id 1331491;
 Mon, 08 Jun 2026 09:49:35 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ea6a32f2f000701b@swg.vates.tech>)
 id 1wWWbv-0006bb-EU
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 09:49:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWWbu-009GpO-QE
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 11:49:34 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ea6a32f2f000701b@swg.vates.tech>)
 id 6a269026-2eae-0a2a0a5409dd-0a2a4501b1be-20
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 11:49:34 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ea6a32f2f000701b@swg.vates.tech>)
 id 6a26902e-c1f2-0a2a45010019-b9ff1c1289cb-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 11:49:34 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ea6a32f2f000701b.005 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 08 Jun 2026 09:49:32 +0000
Received: from localhost.localdomain (155.223.66.37.rev.sfr.net
 [37.66.223.155]) (Authenticated sender: ngoc-tu.dinh@vates.tech)
 by mail2.vates.fr (Postfix) with ESMTPSA id 0EC9F8715F;
 Mon,  8 Jun 2026 11:49:32 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=AA6ZP9nacQNAsA0OGoYJeAZW8ns1H5oXUGMHhpO+UBQ=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:feedback-id;
 b=b+RqEuAhX3eB1NVxZyyRyDknHcR8ySbHDnL9agl6s1q1JUK2jP/tKBEKmWKYbCm3STO+nZsle
 mmCfHGyXu8CU5gXJiZjjlDHmnln1+Sy3pE9+ufKg/cXD3J5fuJCORU7YCZDPk5rJuupGv0LIvEg
 XoTTx2XDyIQOmRJRh+wcr6Jc7KWNXqr5RWlurKcqyBwPhgNw439vWIGZnoFWNeid026vJdQJpa3
 LpDzO6ZATcJ83FHR7+MDixjVvB3bphoGiPpcSj0nNuX7AFw5hkSLM3wCgY0lfU22gHepQ02KjYa
 UGXVJGC9pHXpWI0nDyaKyKzK4RH9HTmTU1SPJ/Gt4Z6A==
X-Zone-Loop: 3b785a30037eed4a803e5b9a2486161aa8cf3f5a48d9
x-campaign-type: default
x-transaction-id: 4f4dc8b2-9646-420c-a27d-6031c07a969c
x-swg-uid: 01-42578ae4-5d5d-42ec-bfe2-e5e88ec3ecca
X-Mailer: Sweego
Message-ID:
 <1780912172.8631fc262581453bbf619ec5b2062170.19ea6a32f2f000701b@vates.tech>
x-swg-bid: 1780912172.8631fc262581453bbf619ec5b2062170.19ea6a32f2f000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
From: Tu Dinh <ngoc-tu.dinh@vates.tech>
To: xen-devel@lists.xenproject.org
Cc: Tu Dinh <ngoc-tu.dinh@vates.tech>,
	Andrew Cooper <andrew.cooper3@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] xenstore-paths: Allow subnet prefix in IP address
Date: Mon,  8 Jun 2026 11:49:08 +0200
MIME-Version: 1.0
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.2214.db5f07a27187bb49.19ea6a32cbd.b115045ea227afa2=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1780912172222
X-purgate-ID: tlsNG-d62444/1780912174-ADBA8FF4-6257B28F/0/0
X-purgate-type: clean
X-purgate-size: 2224

---=Part.2214.db5f07a27187bb49.19ea6a32cbd.b115045ea227afa2=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

In the guest-reported IP address in xenstore, it's useful to know which
subnet it belongs to=2E

Add a specification for the IPv6 host address/prefix format specified by
RFC 4291=2E

For the IPv4 address/prefix notation, as there seems to be no equivalent
RFC specifying the host address/prefix format, specify it ourselves=2E

Signed-off-by: Tu Dinh <ngoc-tu=2Edinh@vates=2Etech>
---
 docs/misc/xenstore-paths=2Epandoc | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/docs/misc/xenstore-paths=2Epandoc b/docs/misc/xenstore-paths=
=2Epandoc
index 4994194=2E=2E1fab3bf 100644
--- a/docs/misc/xenstore-paths=2Epandoc
+++ b/docs/misc/xenstore-paths=2Epandoc
@@ -78,12 +78,12 @@ VALUES are strings and can take the following forms:
=20
 * MAC_ADDRESS -- 6 integers, in hexadecimal form, separated by ':',
                  specifying an IEEE 802=2E3 ethernet MAC address=2E
-* IPV4_ADDRESS -- 4 integers, in decimal form, separated by '=2E',
-                  specifying an IP version 4 address as described
-                  IETF RFC 791=2E
-* IPV6_ADDRESS -- Up to 8 integers, in hexadecimal form, separated
-                  by ':', specifying an IP version 6 address as
-                  described in IETF RFC 4291=2E
+* IPV4_ADDRESS -- An IP version 4 address as specified by IETF RFC 791,
+                  optionally appended with a "/prefix" value representing=
 the
+                  prefix length of the host address's subnet, with "prefi=
x"
+                  being a decimal integer in the range of 0 to 32=2E
+* IPV6_ADDRESS -- An IP version 6 address or abbreviated "address/prefix"
+                  combination as specified by IETF RFC 4291 and RFC 5952=
=2E
=20
 Additional TAGS may follow as a comma separated set of the following
 tags enclosed in square brackets=2E
--=20
2=2E54=2E0



-- 
Ngoc Tu Dinh | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates =
solutions

web: https://vates=2Etech
---=Part.2214.db5f07a27187bb49.19ea6a32cbd.b115045ea227afa2=---


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 10:14:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 10:14:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331506.1594057 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWWzt-00043Y-Eg; Mon, 08 Jun 2026 10:14:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331506.1594057; Mon, 08 Jun 2026 10:14: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 1wWWzt-00043R-BU; Mon, 08 Jun 2026 10:14:21 +0000
Received: by outflank-mailman (input) for mailman id 1331506;
 Mon, 08 Jun 2026 10:14:19 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wWWzr-00043L-A7
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 10:14:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWWzq-001ohM-FQ
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 12:14:18 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a2695ec-5cb7-0a2a0a5109dd-0a2a450cb818-48
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:14:18 +0200
Received: from [209.85.218.49] (helo=mail-ej1-f49.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgross@suse.com>)
 id 6a2695f9-62f1-0a2a450c0019-d155da31a509-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:14:18 +0200
Received: by mail-ej1-f49.google.com with SMTP id
 a640c23a62f3a-bec43ee8ff0so584414766b.1
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 03:14:18 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bf0559f1f62sm862110466b.57.2026.06.08.03.14.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Jun 2026 03:14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780913657; x=1781518457; 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=ICUYmzYvi3Npp7Z3gMsJhlNCaTZ1S0P4tdLevTu8olY=;
        b=KZ799ucvf0jCvBuaZjAPT8kU5Bx7NTDxQdfK0o99soPbpGe/IBCTnqS3qohgwheGXA
         N9rmros7WRQm/UYUIfD+QjoUiHanALIAKkvnjuxMGRBCd5V4wR6xvLcTH8qK1vGyJVqx
         NpZwusWJoxgxjpjur2S7ebRInCS/Wr4ZLpCk8fFZc3+tEOPhHWAcwsFoc7nL7gvwj4gk
         RDb71MRO8pujXjtZnvQU9Mkb9JMU4CqryXKGIVCJ7Kg4DWiTGn8mLL7/CbO+QU88vIK9
         e5XgkCXLOdLLbr2sYVOLD9Ho2dBTEVN/Vki6sYwCGd7HhAd5dtcrmXb2vG4QHSmSQajU
         c+Fw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780913657; x=1781518457;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ICUYmzYvi3Npp7Z3gMsJhlNCaTZ1S0P4tdLevTu8olY=;
        b=qC6paUEUDicL3AgXDZBGLdUuexW7ozInY0d+YkvFL3b560XkzX2/Vm/PX2AqiTmVcn
         3i9RKKDLy7Ms9AIriGp/p7V4lQh7oDkjxNAcZbJdednMIXIYYQR85e/a4C3wd7bQ8YVK
         /6pELPwOUtlxOXBRX0QgVm33MIr21VcO6iRWezVmYOQ8Y7vtIeyQAAQpwrIU26fC1OIj
         lZg4hdsxUIlYleR81X64MAuK+U/uWxrIsNH8sa+WH9Y/6iDRZIkONNOetQ/TysT5UKT9
         Prjcora4PX49RfgaqAKuJdumNYNHg/7rWYGEFqnpYubw5Kp072yNk6tnsufW9vtipVuV
         PuWQ==
X-Forwarded-Encrypted: i=1; AFNElJ/2/pjP3ZSgnLVQqC91vEszyTFksaoaaHIgoX95+SjV2v+BdMFwMYgq7fm5vnEIly/ORLgOM9nq4Uo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw/w8qcFwJs45LCd/CVxQE9uIVECUZQI2VDWyQb2jiHi5wUPMWU
	jvPVm3T9r9ZN+sFRpM1xYEK42bZn2/eJEnY+PsVCC7e7hlOsJKIT0EiDQ7DSQCK+inc=
X-Gm-Gg: Acq92OEpnitH03838jWOYtUvtmme8bMMJYN4XNlYEBR04c4TcUuvGGk9QiIvtWEmXWt
	Bi3BpOr7owlJUmiNIxiIGOKn1rTDHN2B0xh9oQwj8/qndf8wBtSHBn1clPInwWKZ+pM4JkgL8IP
	Mfe3ooQjSxgz44Z33Cm9r07AkGmu4ULC6cazkHLgvZT0UTf8UQwlc3/HXqDynRvgWcDGT2218Zl
	uUbTNWxM1iwN8CsjQXBgpn29tlh+ABwHLwVwh8O14gUZ5mFKoISbVgGCuI0m0BRBWGOXUyFRYkn
	eWdA84R3YGk+Uvyu4KlK+8QhxUO6FgMUe6pMvdz4RBk3TORAWrfC/7v4U33MxIUT3n4vB17L20c
	V90hks7Uai2LOu5MB37My+LnorboB8XOUSRCjIM5CA31PFXA5nsmfI3xMp7E1NaWuDgRmgW1xXh
	e0YSMPj7yUMHGN9Mq1Wn1RHkdNFYB5qdXpAWjB2r33NDo4oEGA6jTMosdeEVcRZxP/s8k/tBwGz
	2m9nGrgXF8WSz39xfFX9FUCV5RYW6ofDfpD3porT7FbD2Zn80QxQPW9n7PNqzez
X-Received: by 2002:a17:907:60d1:b0:bd8:fc89:cda0 with SMTP id a640c23a62f3a-bf3a8a0cdbamr553511066b.24.1780913657464;
        Mon, 08 Jun 2026 03:14:17 -0700 (PDT)
Message-ID: <af7a7a96-c1f9-47bb-9c4c-c83fe6a9f70b@suse.com>
Date: Mon, 8 Jun 2026 12:14:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 8/9] x86/xen: Convert xen_mm_pin_all() to ptdescs
To: Vishal Moola <vishal.moola@gmail.com>, Dave Hansen
 <dave.hansen@intel.com>, linux-mm@kvack.org, linux-kernel@vger.kernel.org,
 x86@kernel.org
Cc: Mike Rapoport <rppt@kernel.org>, Lu Baolu <baolu.lu@linux.intel.com>,
 xen-devel@lists.xenproject.org, Thomas Gleixner <tglx@kernel.org>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 "H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>,
 Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
References: <20260527140316.294621-1-vishal.moola@gmail.com>
 <20260527140316.294621-9-vishal.moola@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: <20260527140316.294621-9-vishal.moola@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------mqeEDAX0jgEctDcOkQ0EDxdK"
X-purgate-ID: tlsNG-d25034/1780913658-F487BCF5-6BAD46A2/0/0
X-purgate-type: clean
X-purgate-size: 6762

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------mqeEDAX0jgEctDcOkQ0EDxdK
Content-Type: multipart/mixed; boundary="------------uCZRBKwpO9lYtVcfTExo30um";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Vishal Moola <vishal.moola@gmail.com>, Dave Hansen
 <dave.hansen@intel.com>, linux-mm@kvack.org, linux-kernel@vger.kernel.org,
 x86@kernel.org
Cc: Mike Rapoport <rppt@kernel.org>, Lu Baolu <baolu.lu@linux.intel.com>,
 xen-devel@lists.xenproject.org, Thomas Gleixner <tglx@kernel.org>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 "H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>,
 Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Message-ID: <af7a7a96-c1f9-47bb-9c4c-c83fe6a9f70b@suse.com>
Subject: Re: [PATCH 8/9] x86/xen: Convert xen_mm_pin_all() to ptdescs
References: <20260527140316.294621-1-vishal.moola@gmail.com>
 <20260527140316.294621-9-vishal.moola@gmail.com>
In-Reply-To: <20260527140316.294621-9-vishal.moola@gmail.com>

--------------uCZRBKwpO9lYtVcfTExo30um
Content-Type: multipart/mixed; boundary="------------moBdeYGjNrSgg2fuugMy79vf"

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

T24gMjcuMDUuMjYgMTY6MDMsIFZpc2hhbCBNb29sYSB3cm90ZToNCj4gQ29udmVydCB4ZW5f
bW1fcGluX2FsbCgpIHRvIHB0ZGVzY3MgaW4gcHJlcGFyYXRpb24gZm9yIHRoZSBldmVudHVh
bA0KPiBzcGxpdHRpbmcgb2YgcHRkZXNjcyBmcm9tIHN0cnVjdCBwYWdlLiBDb250aW51ZSBj
aGVja2luZyBQYWdlUGlubmVkDQo+IHRocm91Z2ggdGhlIHVuZGVybHlpbmcgcGFnZSBhcyB3
ZSBkbyBub3QgaGF2ZSBhIHBlci1tZW1kZXNjIGFwaSBmb3INCj4gcGFnZSBmbGFncyB5ZXQu
DQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBWaXNoYWwgTW9vbGEgPHZpc2hhbC5tb29sYUBnbWFp
bC5jb20+DQoNClJldmlld2VkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+
DQoNCg0KSnVlcmdlbg0K
--------------moBdeYGjNrSgg2fuugMy79vf
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-----

--------------moBdeYGjNrSgg2fuugMy79vf--

--------------uCZRBKwpO9lYtVcfTExo30um--

--------------mqeEDAX0jgEctDcOkQ0EDxdK
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/Ey8FAmomlfgFAwAAAAAACgkQsN6d1ii/Ey/+
BQf+MrwoMszO2YF1wyc7UFe2jjUkzG3MxLz8ZDDIfPq5GevYLm96pwvTy1Crl6gEPPPB22CGlJiY
D641+JUpZt9XtdJ23t+p885R7nOtDj6mj6F2vt1kgutnvAf5ez+b/WbzuZh7X9zoN4aSPwJdkVsJ
6b0VXBizvpnOvxGs5U6AfEpRP99o3JpTc37aT6ksuzLtrYLH/xb78OHiI28Pxffau7lZsZDNIAWn
1/SlT86cYVBxgiG4WusRDrjBpFwGKzEsJblea4zdOtmCJEWLF6Xt9+5ZdYdD2HIO6j8ZdxLVlhTO
At8V2crdTjvp9nKmf59yq5rAC7QoRfcgMUgqwT1FwQ==
=Q4h9
-----END PGP SIGNATURE-----

--------------mqeEDAX0jgEctDcOkQ0EDxdK--


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 10:14:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 10:14:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331509.1594067 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWX0I-0004U6-SW; Mon, 08 Jun 2026 10:14:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331509.1594067; Mon, 08 Jun 2026 10:14: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 1wWX0I-0004Tt-OU; Mon, 08 Jun 2026 10:14:46 +0000
Received: by outflank-mailman (input) for mailman id 1331509;
 Mon, 08 Jun 2026 10:14:46 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wWX0I-0004Tc-4Q
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 10:14:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWX0H-003Vey-H7
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 12:14:45 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a269601-2eae-0a2a0a5409dd-0a2a45048706-42
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:14:45 +0200
Received: from [209.85.218.46] (helo=mail-ej1-f46.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgross@suse.com>)
 id 6a269615-1dec-0a2a45040019-d155da2ed501-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:14:45 +0200
Received: by mail-ej1-f46.google.com with SMTP id
 a640c23a62f3a-becfa735b9aso567374766b.1
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 03:14:45 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bf0517721c2sm820999866b.3.2026.06.08.03.14.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Jun 2026 03:14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780913685; x=1781518485; 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=nxBQAWC7FUeGTJNBfhWbQ+ZfQbJdlJJx+tZ9LegFXV0=;
        b=Yjb5f6DhqlAYqjEbQLzf0qO4uO/4aPeBB90YCh0SJMlv6mhXChY79XW/8/Vt9xfqNl
         iRIx/9zZWv00FCVTq3WT9XS1PA7vojuAig+QHZ1UXThgER3CmB9tEAXccRH45RFHSt3i
         ndcG6gsTv80ck/1HO4KTtA9NI0c4rYv21cC+EdogY0B33MfOr3dQ7FNNlW7nxlj1byhJ
         lh4Qu5POgBfj8WJhpQu8q4MXG0GoycvMyudAWBeyNhRbu2YOxqq7bTixdyWDQFhzK3+U
         aLX29q5Gjwpem55tDZ0AzCRwDh0DeCy8B9nu5LyeIBQNZpfmGv9MMLoGk9iq3pwK0Ab1
         dqTw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780913685; x=1781518485;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=nxBQAWC7FUeGTJNBfhWbQ+ZfQbJdlJJx+tZ9LegFXV0=;
        b=cD3MTpCowLhFujBw0zVjyXyWJx+chKIlagd9iFiOYj2t5K1KsJqePPZwTes4RAy7TO
         AWmm275By4nqInuACt9KBUqMyFYlGeel9kLwOaJN3PcnAYmVBHn5ltyAbk6oCMaBcMsI
         niYrUN+P3djC0V5LkSEw+Q5+Z3EMw6KAs1x9f4kUkCY27YnzV5uDDNJbP6IgTuF1iWet
         9dWYwrcyUWOx+OGLnzWqbxLEWwB52CcF/EPD0Y3m7qhvMhqFVci7fdo9M9241INQJQU4
         479HLgZld/ZLzVM1TWIdgQe024OV9K34W984Co60IH9JqI9qUhsqiAgyq+qVci2QJkat
         HqbA==
X-Forwarded-Encrypted: i=1; AFNElJ9eSF0A3vfVjVHTifqTik5q1+O8fPR0Y++z2cF3zBwOjvLmD/gbLucpmY+e4Ig9UX970SeKddRJ13o=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzfAjfJ6mJB+j1LcK7a1rxFsqpW5t/O4YHythtq0tu+W969vKiT
	Bi1TqanDw0za3G5ppcsAUpEFDqzdXzW6LkSORfg6gliREyrzm0Gj/nPKnpY958YwcDc=
X-Gm-Gg: Acq92OEh+tL8aFRweh+o2r29SbL9P+8STLj1RFBVFWTSY0FSJiPAnoVlewJhU7/8lSL
	itRKJ5M+7H5VJb2LtjIERGtoqGYgaYMF4vU2ZotW0A/ADXq8hnhWxqP7Yuh3CtSZuf8nZ3jjgSh
	Q+6mMzaKQ5eK/w9Y4Q7xBU2XYMs2tWBVLnHiCA3P+TU5H4rI3ACo+cAfZPu8uy0qVgUkR9FHUlA
	CDkoEd6NOvN04vLRkSdIuPijT12hiFFiMZuk55SrLRRToxrNykRfKdOce3qwl1ESydRO9dwdvrP
	h3lMLxExnnAAQ3e5rGFAA/JHOVi2uNXQdzaHkJ3VwhBr+QMBGq76Y4zSj0f/kdjZTOAg18kqVhq
	C91oWa2aGLjGoUajbTLXxVk8KQ4k8RkXkd7q+qp55f0zwOsnqjPGO736C3u2iyvkydsHi3Is9KG
	HrEGPNfSyI6ylayR2a3OSyiDUBTikckgo79CnJaN7cK7lmMvE41zy3DH9NQzPqkM8PrrLcjtqg2
	YNoFMxMLFXmm9zeJG9P4lteHEK9gVdTALQC+Mi9gCcL+EYZJ31P9ET5lOBGbegX
X-Received: by 2002:a17:907:2803:b0:bec:228e:26e5 with SMTP id a640c23a62f3a-bf36fba1ed3mr502078366b.7.1780913684833;
        Mon, 08 Jun 2026 03:14:44 -0700 (PDT)
Message-ID: <0c1b9be8-258a-4f2f-bcdd-e8594ddc1aec@suse.com>
Date: Mon, 8 Jun 2026 12:14:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 9/9] x86/xen: Convert xen_mm_unpin_all() to ptdescs
To: Vishal Moola <vishal.moola@gmail.com>, Dave Hansen
 <dave.hansen@intel.com>, linux-mm@kvack.org, linux-kernel@vger.kernel.org,
 x86@kernel.org
Cc: Mike Rapoport <rppt@kernel.org>, Lu Baolu <baolu.lu@linux.intel.com>,
 xen-devel@lists.xenproject.org, Thomas Gleixner <tglx@kernel.org>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 "H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>,
 Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
References: <20260527140316.294621-1-vishal.moola@gmail.com>
 <20260527140316.294621-10-vishal.moola@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: <20260527140316.294621-10-vishal.moola@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------15uZ9BCclmHdokGRSdMRESv0"
X-purgate-ID: tlsNG-ebf023/1780913685-2BB6B3FF-FCB31C79/0/0
X-purgate-type: clean
X-purgate-size: 6746

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------15uZ9BCclmHdokGRSdMRESv0
Content-Type: multipart/mixed; boundary="------------0PH114zVSoGpQ4tBm8RXhOwi";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Vishal Moola <vishal.moola@gmail.com>, Dave Hansen
 <dave.hansen@intel.com>, linux-mm@kvack.org, linux-kernel@vger.kernel.org,
 x86@kernel.org
Cc: Mike Rapoport <rppt@kernel.org>, Lu Baolu <baolu.lu@linux.intel.com>,
 xen-devel@lists.xenproject.org, Thomas Gleixner <tglx@kernel.org>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 "H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>,
 Peter Zijlstra <peterz@infradead.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Message-ID: <0c1b9be8-258a-4f2f-bcdd-e8594ddc1aec@suse.com>
Subject: Re: [PATCH 9/9] x86/xen: Convert xen_mm_unpin_all() to ptdescs
References: <20260527140316.294621-1-vishal.moola@gmail.com>
 <20260527140316.294621-10-vishal.moola@gmail.com>
In-Reply-To: <20260527140316.294621-10-vishal.moola@gmail.com>

--------------0PH114zVSoGpQ4tBm8RXhOwi
Content-Type: multipart/mixed; boundary="------------cXBNXfou8d7pbxhXUj79ph7U"

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

T24gMjcuMDUuMjYgMTY6MDMsIFZpc2hhbCBNb29sYSB3cm90ZToNCj4gQ29udmVydCB4ZW5f
bW1fdW5waW5fYWxsKCkgdG8gcHRkZXNjcyBpbiBwcmVwYXJhdGlvbiBmb3IgdGhlIGV2ZW50
dWFsDQo+IHNwbGl0dGluZyBvZiBwdGRlc2NzIGZyb20gc3RydWN0IHBhZ2UuIENvbnRpbnVl
IGNoZWNraW5nIFBhZ2VQaW5uZWQNCj4gdGhyb3VnaCB0aGUgdW5kZXJseWluZyBwYWdlIGFz
IHdlIGRvIG5vdCBoYXZlIGEgcGVyLW1lbWRlc2MgYXBpIHlldC4NCj4gDQo+IFNpZ25lZC1v
ZmYtYnk6IFZpc2hhbCBNb29sYSA8dmlzaGFsLm1vb2xhQGdtYWlsLmNvbT4NCg0KUmV2aWV3
ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCg0KDQpKdWVyZ2VuDQo=

--------------cXBNXfou8d7pbxhXUj79ph7U
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-----

--------------cXBNXfou8d7pbxhXUj79ph7U--

--------------0PH114zVSoGpQ4tBm8RXhOwi--

--------------15uZ9BCclmHdokGRSdMRESv0
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/Ey8FAmomlhQFAwAAAAAACgkQsN6d1ii/Ey+c
nggAiU7PaHe2GWgjkyU+bQ5XYfd8d3Vprzu2LSpdmXgf4mmpk8UqYrmnLF0AFoEDjbaWslVHE1g+
xDBDEVsmCV/vGoUc+3sGJTHTRq7VsAsLz/Gd4DxgZ2e2NeZpyqCAf9IhKimVZotTrYsP40ddDcAd
9YAxZkuc4oXiIvI0zqF76HzMExAMOkgfw3Vwsm9jT8fJDm/8DjvqFzFdR6aPjZidujNczaNrI611
6dpvLXmptPUhx5DlMh5ivijpquwYyBYmnGMPbccba7WuVAiCRyvVIO0Sj5k1tYcP+IEiHTvEu98X
6U7WslxT3SgqOowiWGAe9Jf8+QZLJ/+kGjnju8ODag==
=r6p4
-----END PGP SIGNATURE-----

--------------15uZ9BCclmHdokGRSdMRESv0--


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 10:16:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 10:16:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331519.1594076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWX1d-0005HS-6I; Mon, 08 Jun 2026 10:16:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331519.1594076; Mon, 08 Jun 2026 10:16: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 1wWX1d-0005HL-2A; Mon, 08 Jun 2026 10:16:09 +0000
Received: by outflank-mailman (input) for mailman id 1331519;
 Mon, 08 Jun 2026 10:16:07 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wWX1b-0005HB-Nt
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 10:16:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWX1b-002Px0-10
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 12:16:07 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a269661-bab6-0a2a0a5309dd-0a2a45068580-14
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:16:06 +0200
Received: from [52.101.62.68]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a269664-7371-0a2a45060019-34653e442dea-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:16:05 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by IA1PR03MB8062.namprd03.prod.outlook.com (2603:10b6:208:595::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Mon, 8 Jun 2026
 10:16:02 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.011; Mon, 8 Jun 2026
 10:16: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=pm34FWFFvnyY0rkhY/2xk9PX78dbuQnj7wAp5B6yf4A4hLWewcCL91QFSqxzbyYUDbUNlM1Wfh2VoGDPTCZW2LIjZP4qzbjZwEz6HWX3rFkHnm+ljrXOHSOpj+tvFr6wHzbeHpcYgQd1pNRgtusKtZ4nEi6qaI2wkm4GZpnG56TYPlTVQkaqVyBKk1B+vaJZ+oWJ0hqCwLUwgAwLEWgP/ATMquCQSrLDEr2dI6TxaoUoFeGrOA586yUIiCqFVPyCKpDId4mi6IQSEWy7IMrn6VlCCkVyy/s0DOjQH+O/ke3WPEgRHFeVxpQMlMSVA+1NJqV+0fSQhbR6u1f7/AtVEQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EVSMMMfe2nen8k+tzs5Nukj7RJ5fSKWkQe2efcBeotQ=;
 b=OvflprWq0gd+2cfhnFiBnmYMxVGzo/2oRZMJ2saVXN+09S7bb1L0YdVtmpmFyM8f0OT3jTCzZkmmkNE/y1Xsi7x4Cqgudmixutu1s6Bqvk/21eea6zyu/DvN7DehshYym6Xai9AMmwQlK+Ca2r4WfT0DiZ2NQSvXDBEccL75cNPTPBVhRsUlY7q5uRrkqrFTiHCwTLTYrVoWGQ6ajcN/kwFSpJ51UnOsQt5ISaacVmyQ2xDFx1bzIdlmVuRjh0OkzLi9hLhs1ZYVb9l9YwX6K0cQKhG8skRGSV4h+YFpRZzQwPwN0bdHMmZ0160DMbXFLBweQ155PvB2gSipm4tAbg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EVSMMMfe2nen8k+tzs5Nukj7RJ5fSKWkQe2efcBeotQ=;
 b=uoPnDs/jxCw8a9Q8bO0n8mu3rwIHMfOCpH3Az7Q3dpz0tLUQqMM1i7KIkekbZl0Rqo6zkNNvaUQ5LMtGcvHtn0TfRNf7pPnQx7PK/qCxU/B5uDiG5UTVi2WiqmrVHa/IrlO7e0/DRHhx5u+BCHQl8w33CehP0zBx3vXzLZAB+nE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 8 Jun 2026 12:15:58 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH 1/2] tools/configure: Detect the presence of liblz4
Message-ID: <aiaWXkYQlNpXs51s@macbook.local>
References: <20260603085331.2704108-1-andrew.cooper3@citrix.com>
 <20260603085331.2704108-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260603085331.2704108-2-andrew.cooper3@citrix.com>
X-ClientProxiedBy: MA3P292CA0029.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:47::16) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|IA1PR03MB8062:EE_
X-MS-Office365-Filtering-Correlation-Id: 6d95ad58-ff4a-4455-3658-08dec546f13b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|11063799006|4143699003|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	BxOmIGqwq21mKRt36nWtir9VEIC/1lyACB2R6Fs0LcAf/EGFXt1ETSsWGlFKa55fD3FL/J+45Q/xueWztgi8r2cMwGG03Fbu7DCM9lySKmew2g5VADxIh6oHWx9aIjEk7ln3YKyrSbPAkGBAn/9Ms/ZIeJ65ROYUmqKFHFo/qfyNT6IavZAZ8fNYv4VZpUJxWwSj8VoTRfD6b+tLYeXB1Yzx4TTselL/lATYX01RqE1aCTeKj+yYG2QJYJrMJtFD7oiATQ2aThUH0zzRH9FcdPuy7zDlTyP0+R+r4wBxLFNKL2YQTFyCsPgWkREHellm8lY251GXIRLgd5HC0aKpBAzMgQYogEppMWFRyleoj56LkXnutpScFIfDyQNn/BEYwoKUTF+9Ty2ZoNlDT6EvwHQyPYwOj8Yj1xWHHRcJ0RIoDnit3K6mxoDK07Xntx5Mu5hbqg/4jhtQ/RzlbnrSeo/SuCD6EwHETmx5x+1/X+7obw7yL0h9Cc4yxFlLytBHlqA7gqnCeWwLjtmap/cQsBUV77BhO171r3+alt7P8TdPOlt+AJXy0DOU2fFt85PMAA0CRN4S8+BE9aE7xnYJE4Xi/CtNVNNVqDVfvwHKFoGmqZX4ETbHJfkm9/YiH/W4WdaAyZYfPUKAZd+gnidF1s2U9ZIalYr61uXTi0zcGytqTK8MOcOxHteFqVmlQf3j
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(11063799006)(4143699003)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VVZPQUloVmNWTlZIM2xLNVJrcUx2ZXFzVkVrMis5RzIxQUJHQ0dkT3lSZVIr?=
 =?utf-8?B?ZUw0NjVSdzdmQ2tBVVZhOW0wYTJHL2Q0bHlHZ2FYN25US0VrOHFKdjJacVYy?=
 =?utf-8?B?QUN0TzRRdm8rdlRRNURZd1luN0RxcXBWWEJtMW9zRXhpdk5XUUpJU2c5N2J1?=
 =?utf-8?B?TC8yY0lQdlhPaXNneDMwK1ZxWlR5N0MxME5mbWp4SEZmbVhwaWdOUDRSeGQz?=
 =?utf-8?B?T0s4aklMY2xLVklwR2pVRW1Pa21KeVpyT3R5TmM4bnRMRDBFTUVCalNmcFIv?=
 =?utf-8?B?MnRmQmZqUWVjbHAyWWVIL3YrMHBsamlRTElhamVzRHI0WnZhdXZjdTVISmFE?=
 =?utf-8?B?RnZ6MkJvOVZGUzRUWm5vc0JEQ0Q0VldmeG5uVWV1SzVodmdiTm4yT3hrREhE?=
 =?utf-8?B?VUtBRG5Ld0lPWko3aG9nREtOMnFKelh4Skp6K25nbGNCeU5CNDIwNjI1bkFC?=
 =?utf-8?B?djY4S3o4UHdDTzRPeTBRVUx3V2ZLM01kVERqNEs0MktQeTVWaU5CcmZwL3VB?=
 =?utf-8?B?b3FXeUYwbXZnUFVDVVdhTmNmNFFpRjJING5ZM0lGYU04bDFvazZVdW1FVzFW?=
 =?utf-8?B?K2l5WVlHL1EyaXlWRUxjU0prRkl4WU02dXFPeExPdUJGbFI2UHNPUm45Wmtj?=
 =?utf-8?B?VjZBZVpiUU9uckY1cUFMeVRuSE9GYjAyVFdlODF3UWw2SHF2Y2ZqWXR4dUFP?=
 =?utf-8?B?cjVua20zOFVJMzhYVlkrTy9kN2cxL0RudU1vSGQ4akkxT0MzZmFYUEQ4T2wx?=
 =?utf-8?B?RzhhVktUaWluVHQrRVRaMjdKTmZ6SndPSzhFWHkxbzdzN0ZxVmczUTBpN21v?=
 =?utf-8?B?YUZnaUxiUEpTUWZCa2hEQnU5bkdENXM1N2hycks5R3VNa1lGdEovMUg1YW5a?=
 =?utf-8?B?TGpOMjlLa056WGNkRW1tTUlpR0xiSk41aHFhUGhYVzBTY01MdXFabEp2OVcw?=
 =?utf-8?B?VTEwR3hBVmpLUDN4UWlxQWJlSStVanVncnBFY0V0ck43S0VidHBTRExjYzdh?=
 =?utf-8?B?K2sxOVArMjJ4em5BQ3BYemNWdUZ2OWF4ODRVVmdPNFo1OEc2Y21vL1R4QVZ0?=
 =?utf-8?B?Vk5zM3JYM2NiSXFnSUJMWnNIQkV0cG9BbjBBSkMxL3N4bkphUzZscTF5dHVi?=
 =?utf-8?B?bHhrQy9uQzJOQllBT2t3WjVDZ0QyN1hKdTJQSkU1NWcrTW42WVBEYzQrRGh4?=
 =?utf-8?B?K2hOUmNJV21MeWZWMUtVS2hPcm5TSFY4TGllcFhueU4xcWdaUVpOY1hNT3Zo?=
 =?utf-8?B?VTVKNERvcjFlUWF0N3ZSQlcwbkJRVTJMaUVuK2Fnc1pvOEhhOHNiQ1JoWDBZ?=
 =?utf-8?B?U1NoTWFOMWpYL2l3WGVYV1NzN25tWUdIai9nKzZVcFgyRXdCZS8zMW1HZ2ZW?=
 =?utf-8?B?Q0tiZDBEd25uQ1ZwK1JoWS9haDlqd2g4b29FZzZDZjFid0JwdWZFNnNyUWlv?=
 =?utf-8?B?WlIrUy95SlB3Z3NzMTkxanZQcWZDYjU1VlFyN2lQZmNrdWtaa2tpYzdkY3Vo?=
 =?utf-8?B?M1UweVFta0RTVnhsYW5YOVpTZ3hvS25QTFJuaG1ra3k1QXBhYjNoc2ZHdW9z?=
 =?utf-8?B?VVdqNFVGVFZ2YlBORmszdnkxc1JyaGJmSFc2T2hFVEQ4TlNESkxEQk1wTXg0?=
 =?utf-8?B?TUkwWC9XVldtaGZTc3lxa2Uza0ZXK2VsbnVwdEY2cFFrZDRNZFErYjNFRm03?=
 =?utf-8?B?U3RPWWRGUFo2TDMwRUU5aDN4ZnBDZGZlV0FwdjN1UHRnN3lsbjR0c1cwdTk2?=
 =?utf-8?B?Ukk5eTEwd2pGYU9PSXZ6dnNWRkpPb000OWhUL2svYnZHRVlUVWdXV3ROWkUr?=
 =?utf-8?B?RGw3R2ZyU0NGWkJZOFdlc3VrcEVldnplaG9PckFoYnJWNjdXSXNRM1lQeExK?=
 =?utf-8?B?QVcyeld2N2NkTWJGQVVBOGlKR2t2MVppNUdrZVBqdVk0UG9pREI2SU9tRnNB?=
 =?utf-8?B?WXhqd3M3R2FHZ2NwUmg5SFNxckkxVkhmYVJ2ZS9yQ1BmL2g1bXZwNWNORHNs?=
 =?utf-8?B?Vjd5eDBGY2oxSitSa1NQcmpCa0ZyZEdScVJrV2tzakNzQTVFK1poYnc5RlN0?=
 =?utf-8?B?UEZuaE02SGJaZnVyc3pES1N0Vk5aSS9Dcjg3dVFYY1FZcE9ybU1pZkg5V1hy?=
 =?utf-8?B?VXFXRDEvRzQzdTJZdDJtb3VSTWlUb3NLalMxaDg0WE8xQjJRL0NaNDhMMzJx?=
 =?utf-8?B?eDJxZEZqTVRaa2QvMStwNGRwOWtZdDVnRVdkN3A5d01sWFcrZi9TVldraVY3?=
 =?utf-8?B?UHBPM2ZVdHdZMnZlZzNWb0RtQVdSMmVMaVl0NVZNSmZISWhlKzJtMlpwbi9O?=
 =?utf-8?B?UzBhVC9nMlZsNW5TVDlpSUd5NkdiVjRZNDJDQnNLREF2MUUzNXJJUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6d95ad58-ff4a-4455-3658-08dec546f13b
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2026 10:16:01.9964
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aUXTdBqTCTwFspiiEkyPN1ovs5Ks5DoqCqrIBs47CqiGcseA2zRRIB5iQH25swriDRayMkT/8Uf7sKr+8ejmqA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR03MB8062
X-purgate-ID: tlsNG-16d1c6/1780913765-8D785D75-4AC5D4F4/0/0
X-purgate-type: clean
X-purgate-size: 356

On Wed, Jun 03, 2026 at 09:53:30AM +0100, Andrew Cooper wrote:
> As with other compression libraries, group liblz4 into ZLIB_{CFLAGS,LIBS}.
> 
> Add the packages to the Debian Trixie build containers for coverage.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 10:17:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 10:17:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331524.1594084 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWX2X-0005sQ-F2; Mon, 08 Jun 2026 10:17:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331524.1594084; Mon, 08 Jun 2026 10:17:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWX2X-0005sJ-BJ; Mon, 08 Jun 2026 10:17:05 +0000
Received: by outflank-mailman (input) for mailman id 1331524;
 Mon, 08 Jun 2026 10:17:03 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wWX2V-0005sB-FW
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 10:17:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWX2U-000LUX-ST
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 12:17:02 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a269690-e002-0a2a0a5209dd-0a2a4503b0f8-24
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:17:02 +0200
Received: from [209.85.208.47] (helo=mail-ed1-f47.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgross@suse.com>)
 id 6a26969e-672d-0a2a45030019-d155d02fcdc8-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:17:02 +0200
Received: by mail-ed1-f47.google.com with SMTP id
 4fb4d7f45d1cf-68bac6e24fdso5535264a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 03:17:02 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-691afe82416sm1522726a12.13.2026.06.08.03.17.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Jun 2026 03:17: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780913822; x=1781518622; 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=7kKDrJvPOXUQph16a5amwfMxSxiUiuqOTZqrOLfD2/I=;
        b=fvhLnihUQwhQ44cpYquB1bdjJuAmXJBVEtkg3fM5nY/Hh+CI/B9JwTkwm3DlcJ1XAZ
         lqITbCJrQjH9GqwCvxn+GBNOSLLbStQQC4Z1iokDB6g2O66g+qxtMNcXnH7kJe+Z4qMs
         EEAu6OT713qtGatbnnIAwl1ukuFgm43z/ECND0r6la66q+TSOqwRNb7xDjehvtVVKS9+
         DHDH/oO1aa2KKCXIMH3uwJXrX+kf4ZDqTOM/IwFvW1TH+abtRCQIykMrojKR9LYWHvVu
         rSKqs27CUL3i4vHS9+p+FI9vKT2C/KMQFphr4wRH1yrDUzhSzCZw5VugnG5zQgUveMMK
         mwdg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780913822; x=1781518622;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=7kKDrJvPOXUQph16a5amwfMxSxiUiuqOTZqrOLfD2/I=;
        b=YnV92Cu1/OEmCvSdaRS0DySaLC5rwAcTX3JzyLyCdMdy2dopeOCRXQuIhSmc95DwAc
         Ust+fkPDSlS4/sv+Bcham/qBTuHKovVWiyPZz83d2BJfRi16vjyUI5lxFsRjGsBBIM7R
         MnsMCG+i1JoqN78sC98IJThYTK9SyhQh8WK/V8/iQkppi231zRRdOUdEdkvRgMmDLVv8
         7Eft/xFG2Hu5cTe5Uzl03XL7YgEjqAF1GS9JwPfkiyQpZq8dLXiaHvoHs6ooi64WTSX9
         AatIxTcFs7voupRGRdE7Qexk5PHd+i5PewOMKb6Uyq2uCNlFSXJ6YZwmLhSlCYNUGYNo
         3kPg==
X-Forwarded-Encrypted: i=1; AFNElJ//6qyOrGKMbDhXhiEVlrvCPrlXiqi0Ol89SYfxMCOGa2F3hvzB5YLi4LBG5ftZhMfvDEsZaTZyU40=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyxpLnMleEJLM1bW3cjObOplgfC4OLTxO4SHqsdCiyQFfgvRTYJ
	qOuOE3aXR/IF+2gIhmWETU68jOofF0ETwlNuiXEE5L2EexQQwl/AG7xM4ysnN5F5sWY=
X-Gm-Gg: Acq92OFNtXoe6ioMHd7sHWMChQLQO8uGCJ7znXeYJCwaluT8lRX8ogYxsk1Z+t0CdUT
	qSgOaUzu+R4cI5mi9f8lfWL4Panrp7tu2aMKkKrlQ1FpIMktVNsFEritVTlo6eLB3iWa0w7/B7Q
	3ymLewQjwkRrAvtBleICDTbWYjeNyQyOL7EvAVsZq9TsLOrYpgRar2PZKJKHmINO/OnAl4OeoVp
	cqfPys0regelhz+SEAmePZJ7lZn8iCOBPlOYOegIt9dz6mhekxyfDSmtzMzjDLZRoZJUuLWL/Yi
	apsckFRYMpK6TrjEGEAtrhs/RF1B/yaX1HwsJmj61USacZB0fTbwx6FGVJSD6zjjqaLeZxpLSNE
	3cYFPy568uwN9BBD7uK31ir6xPZvxRBClGuYbAaxPvSBph3jrSdo/rCDwvT+tpiiVwJT+/N5WaK
	0eDOZtc3IOK2SmcLqcWsuUSIMDlz3M/HjsVQMCrgMHUytIB878MSejAo8X5EJSNXyAYEm+ErxJB
	tCIjUNpt4migyBoGsa61SwTPp+TvWBdT65TJCDvMzQIEtePOZAQBpINt+oylntg
X-Received: by 2002:a05:6402:35cd:b0:687:50d3:d9d7 with SMTP id 4fb4d7f45d1cf-68fa4c00bddmr6730387a12.4.1780913822044;
        Mon, 08 Jun 2026 03:17:02 -0700 (PDT)
Message-ID: <b2ccf3cb-f9d6-43fa-a4cd-2c8438625a78@suse.com>
Date: Mon, 8 Jun 2026 12:17:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/sched: remove duplicate trace.h include
To: Furkan Caliskan <frn1furkan10@gmail.com>, xen-devel@lists.xenproject.org
Cc: roger.pau@citrix.com, dfaggioli@suse.com, gwd@xenproject.org,
 stewart.hildebrand@amd.com, jbeulich@suse.com, andrew.cooper3@citrix.com
References: <20260531140819.73467-1-frn1furkan10@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: <20260531140819.73467-1-frn1furkan10@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------py8iQMD0GIOXwSWBikgmac6y"
X-purgate-ID: tlsNG-33051d/1780913822-3774E938-52BA053A/0/0
X-purgate-type: clean
X-purgate-size: 8391

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------py8iQMD0GIOXwSWBikgmac6y
Content-Type: multipart/mixed; boundary="------------mD50KklDudR6rdMJ2DTgQesx";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Furkan Caliskan <frn1furkan10@gmail.com>, xen-devel@lists.xenproject.org
Cc: roger.pau@citrix.com, dfaggioli@suse.com, gwd@xenproject.org,
 stewart.hildebrand@amd.com, jbeulich@suse.com, andrew.cooper3@citrix.com
Message-ID: <b2ccf3cb-f9d6-43fa-a4cd-2c8438625a78@suse.com>
Subject: Re: [PATCH] xen/sched: remove duplicate trace.h include
References: <20260531140819.73467-1-frn1furkan10@gmail.com>
In-Reply-To: <20260531140819.73467-1-frn1furkan10@gmail.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=

--------------mD50KklDudR6rdMJ2DTgQesx
Content-Type: multipart/mixed; boundary="------------c00a8KeyU5VR0udaG8NWm80P"

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

T24gMzEuMDUuMjYgMTY6MDgsIEZ1cmthbiBDYWxpc2thbiB3cm90ZToNCj4gU2lnbmVkLW9m
Zi1ieTogRnVya2FuIENhbGlza2FuIDxmcm4xZnVya2FuMTBAZ21haWwuY29tPg0KPiAtLS0N
Cj4gICB4ZW4vY29tbW9uL3NjaGVkL3J0LmMgfCAxIC0NCj4gICAxIGZpbGUgY2hhbmdlZCwg
MSBkZWxldGlvbigtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2NoZWQvcnQu
YyBiL3hlbi9jb21tb24vc2NoZWQvcnQuYw0KPiBpbmRleCA0YjYzN2FhOWRiLi5iOWEzZTc3
MjBlIDEwMDY0NA0KPiAtLS0gYS94ZW4vY29tbW9uL3NjaGVkL3J0LmMNCj4gKysrIGIveGVu
L2NvbW1vbi9zY2hlZC9ydC5jDQo+IEBAIC0yNiw3ICsyNiw2IEBADQo+ICAgI2luY2x1ZGUg
PHhlbi90cmFjZS5oPg0KPiAgICNpbmNsdWRlIDx4ZW4vY3B1Lmg+DQo+ICAgI2luY2x1ZGUg
PHhlbi9rZXloYW5kbGVyLmg+DQo+IC0jaW5jbHVkZSA8eGVuL3RyYWNlLmg+DQo+ICAgI2lu
Y2x1ZGUgPHhlbi9lcnIuaD4NCj4gICAjaW5jbHVkZSA8eGVuL2d1ZXN0X2FjY2Vzcy5oPg0K
PiAgIA0KDQpSZXZpZXdlZC1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0K
DQoNCkp1ZXJnZW4NCg==
--------------c00a8KeyU5VR0udaG8NWm80P
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-----

--------------c00a8KeyU5VR0udaG8NWm80P--

--------------mD50KklDudR6rdMJ2DTgQesx--

--------------py8iQMD0GIOXwSWBikgmac6y
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/Ey8FAmomlp0FAwAAAAAACgkQsN6d1ii/Ey+T
PQf9HrULCflkDD1fMTKTxqCjZbC7ZrOi+ulTCP+w1CyPnfBsXPzv5N9jITLbbgoJijA4xvKOVpg0
/YUbizUund5G3CsGiKP2AM7HIPOTtQqkm+nRDm786eLiwdeNUON+eB39qoTsTYVzKduykmSLyFvJ
Ln8RFZXGcpoNKRybA4dbphIR5z28+xl8W/MinrcDBC2rEo/VEgMU3Ir8kKR1kJi4AfYC8Qa0baNT
pQBtlEFoBO8Sw22kn6LwQcMMJHkPCFX5o1Jvu2oQreubA5I9W4u50kl5Lz20ggXbMKOE9N79s9L8
/AAFEn6X2JuNg1TZGdrnn3iTdtfprQ81iUMTi/gH+Q==
=DHmT
-----END PGP SIGNATURE-----

--------------py8iQMD0GIOXwSWBikgmac6y--


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 10:30:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 10:30:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331541.1594097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWXF2-0008R4-Mu; Mon, 08 Jun 2026 10:30:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331541.1594097; Mon, 08 Jun 2026 10:30: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 1wWXF2-0008Qx-KO; Mon, 08 Jun 2026 10:30:00 +0000
Received: by outflank-mailman (input) for mailman id 1331541;
 Mon, 08 Jun 2026 10:29:58 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ea6c8227b000701b@swg.vates.tech>)
 id 1wWXF0-0008Qr-AR
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 10:29:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWXEz-00CTVX-JM
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 12:29:57 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ea6c8227b000701b@swg.vates.tech>)
 id 6a26999b-bab6-0a2a0a5309dd-0a2a4501ed36-22
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:29:57 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ea6c8227b000701b@swg.vates.tech>)
 id 6a2699a5-c1f2-0a2a45010019-b9ff1c12a367-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:29:57 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ea6c8227b000701b.002 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 08 Jun 2026 10:29:54 +0000
Received: from [192.168.1.18] (88-188-240-210.subs.proxad.net [88.188.240.210])
 (Authenticated sender: teddy.astie)
 by mail2.vates.fr (Postfix) with ESMTPSA id B54E6870A8;
 Mon,  8 Jun 2026 12:29:53 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=KSdZgsdA0CVUjmOdg4lEpKebdC7WFt+gNkCOZ0X8Bdk=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:feedback-id;
 b=IqmC/qQuDyy9NJS65m5lW6nkBdUwA0mrwdyL99f1lZScLq5dLczntXbkJcUcCU3818dF+V/zr
 GlxpLt7PSTWDfpKMiBccyN8VQQX999sguH73uvK6HfC4X0TNi9+ZMLm37eEIti9UHVdSHbo4VR0
 TSpoxKOJtNiIOSA95JMlJDP+G5X/IgNpChEcygtQvYQXLHvnGFbHRSXhv6VhQ0swFD8mE3FhnWn
 5lv+KpdBkDhQDozEdvLZ4D2L76XwWXfDoJ/wfTyqFXjRJuP/h42aWqYRIlbch4zXNDB0cUL35nP
 nYTQm1axrObFuI5s0cesO5HBbfM/XaWlGfsc8o2mPVUg==
X-Zone-Loop: c46bc4f346dd075216d50b5569cad0cc0fd41e747af9
x-campaign-type: default
x-transaction-id: 645de423-a0c8-4d61-a3e2-bb190f95e0cc
x-swg-uid: 01-4463f8a4-de7a-4b14-8c7a-7daaf8a4d604
X-Mailer: Sweego
Message-ID:
 <1780914594.8631fc262581453bbf619ec5b2062170.19ea6c8227b000701b@vates.tech>
x-swg-bid: 1780914594.8631fc262581453bbf619ec5b2062170.19ea6c8227b000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Mon, 8 Jun 2026 12:29:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 regressions@lists.linux.dev
From: Teddy Astie <teddy.astie@vates.tech>
Subject: [REGRESSION][BISECTED] Long boot time with Xen HVM guests during PV
 spinlock initialization
Autocrypt: addr=teddy.astie@vates.tech; keydata=
 xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7LTBVHV/XO
 Zw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJT4ny+OGntnJntUoR
 KRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJAWicutjkkUgd28Bh6HV9EIumH
 tCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaT
 VqMdqul07o72m3eA2mf+LMu9a04FX/d4wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/
 EoucejoZ5SH49ksmVAmKOLktOaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+S
 PhHar7TPKjFz0G3DPNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89
 MXfQXZ3qt1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
 LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWjmoACGwME
 CwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNzuyOVCskwfUZPla6Z
 pd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp0x0HfuhcYfAYPR46XHTvjaJE
 v99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuROxdK8G+YHccJY8PvWSq2K2yiae2KGiAv
 1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhP
 eP3IdpfWc8cyRLXF06Rk46YMYCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcT
 UwgnYlFRk2FLq0QeKEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9
 Egr/Wmu3MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
 f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEMAKiQiZa3
 yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ3DbVf+en3/FvdVZg
 2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTmetSG5/52AjtmPFtlXAk0NmLv
 fJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0s3109sJeXT5ImVdphFs9cvyZyBT9t1Pb
 Rowv58EgV0zE4hbAeVkULAbxFV5b/ExTjjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKb
 Yu6NCfiHfEyB3Xyg9hfdrRgjMRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ov
 XoK4jm+Py0FiUGUaA6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/
 eVtR2Q1wZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
 IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWjmoACGwwA
 CgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiVoUiHYN5QwhnbZnsa
 JDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764QxyX6rld2f2RcWkDuBHun55ZWXj
 by8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk/dS0XTOQi2wVUb17sW/+ybCEokdVacZG
 zOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fuoGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+
 lOWSvdNHgoEkWR0RXBPQjnGmLKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/Off
 O485NOTKwGOxyWb006cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR
 8ULR9nX0LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
 x9fhaZEsniw8/bYgC3igkk5YJiOa
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Olivier Lambert <olivier.lambert@vates.tech>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------WKkEUcsBQ7WSRW0erHybh9j2"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1780914593833
X-purgate-ID: tlsNG-d62444/1780914597-AF15BFF4-8D12063D/0/0
X-purgate-type: clean
X-purgate-size: 6537

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------WKkEUcsBQ7WSRW0erHybh9j2
Content-Type: multipart/mixed; boundary="------------hWRCOMaiMnlf1PnELWG0Gg0i";
 protected-headers="v1"
From: Teddy Astie <teddy.astie@vates.tech>
To: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 regressions@lists.linux.dev
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Olivier Lambert <olivier.lambert@vates.tech>
Message-ID: <fcb0b8c3-fe08-445a-86f9-2691cb77fe90@vates.tech>
Subject: [REGRESSION][BISECTED] Long boot time with Xen HVM guests during PV
 spinlock initialization

--------------hWRCOMaiMnlf1PnELWG0Gg0i
Content-Type: multipart/mixed; boundary="------------LW1wKyaS2NsA5yXw7Q8geKiB"

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

SGVsbG8sDQoNCkluIDYuMTIuNSsga2VybmVscyBvbiBBTUQgQ1BVcywgd2Ugb2JzZXJ2ZSBh
Ym5vcm1hbGx5IGxvbmcgYm9vdCB0aW1lcyANCndoZXJlIHRoZSBndWVzdCBpcyBzdHJ1Z2ds
aW5nIG9uIFBWIHNwaW5sb2NrIGluaXRpYWxpemF0aW9uLg0KDQpUaGlzIG9jY3VycyBzdGFy
dGluZyB3aXRoIDYuMTIuNSwgYW5kIGFsc28gb24gbW9yZSByZWNlbnQga2VybmVscyBvbiAN
CkludGVsIHBsYXRmb3JtcywgYnV0IHRoYXQgaGFzbid0IGJlZW4gZnVsbHkgaW52ZXN0aWdh
dGVkIGF0IHRoaXMgdGltZSANCihidXQgSSBhc3N1bWUgaXQncyBhIHZhcmlhbnQgb2YgdGhl
IHNhbWUgaXNzdWUpLg0KDQpUaGlzIG9jY3VycyBzaW5jZSBhIGJhY2twb3J0IG9mIDc2MDMx
ZDkgKCJjbG9ja3NvdXJjZTogTWFrZSBuZWdhdGl2ZSANCm1vdGlvbiBkZXRlY3Rpb24gbW9y
ZSByb2J1c3QiKS4NCg0KU29tZSAoY2xhdWRlLWJhc2VkKSBhbmFseXNpcyBtYWRlIGFwcGVh
cnMgdG8gcmVsYXRlIHRoYXQgdG8gdGhlIGxhY2sgb2YgDQpwcm9wZXIgbWF4X3Jhd19kZWx0
YSBpbiB0aGUgamlmZmllcyBjbG9ja3NvdXJjZSB3aGljaCBhcHBlYXJzIHRvIG1ha2UgDQp0
aGUgY2xvY2sgZmFpbCB0byBwcm9ncmVzcyBtZWFuaW5nZnVsbHkuDQoNCkhlcmUgaXMgYSBy
YXcgc3VtbWFyeSBvZiB0aGUgYW5hbHlzaXMNCiA+IFdlIHRyYWNrZWQgaXQgZG93biB0byBh
IHNpbmdsZSBzdGFibGUgYmFja3BvcnQgaW4gNi4xMi41OiBjb21taXQgDQoxYTY3OGY2ODI5
YTggKCJjbG9ja3NvdXJjZTogTWFrZSBuZWdhdGl2ZSBtb3Rpb24gZGV0ZWN0aW9uIG1vcmUg
cm9idXN0IiwgDQp1cHN0cmVhbSA3NjAzMWQ5NTM2YTApLiBJdCBpbnRyb2R1Y2VzIGEgbWF4
X3Jhd19kZWx0YSBmaWVsZCBvbiBzdHJ1Y3QgDQpjbG9ja3NvdXJjZSBidXQgbmV2ZXIgaW5p
dGlhbGl6ZXMgaXQgZm9yIHRoZSBkZWZhdWx0IGJvb3QgdGltZWtlZXBlciANCih0aGUgamlm
ZmllcyBjbG9ja3NvdXJjZSksIHNvIGNsb2Nrc291cmNlX2RlbHRhKCkgY2xhbXBzIGV2ZXJ5
IGRlbHRhIHRvIA0KMCBhbmQgQ0xPQ0tfTU9OT1RPTklDIGZyZWV6ZXMgd2hpbGUgdGhhdCBj
bG9ja3NvdXJjZSBpcyBhY3RpdmUuIE9uIHRoaXMgDQpIVk0gZ3Vlc3QsIFNNUCBicmluZy11
cCBydW5zIHdoaWxlIHRoZSBqaWZmaWVzIGNsb2Nrc291cmNlIGlzIHN0aWxsIHRoZSANCnRp
bWVrZWVwZXIsIGFuZCB0aGUgWGVuIHNpbmdsZSBzaG90IChoaWdoIHJlc29sdXRpb24pIHRp
Y2sgdGhlbiBhZHZhbmNlcyANCmppZmZpZXMgZmFyIHRvbyBzbG93bHksIHNvIHRoZSBzZWNv
bmRhcnkgQ1BVcyBidXJuIHNlY29uZHMgaW4gDQpjYWxpYnJhdGVfZGVsYXkoKS4NCg0KVGVk
ZHkNCg==
--------------LW1wKyaS2NsA5yXw7Q8geKiB
Content-Type: application/pgp-keys; name="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Disposition: attachment; filename="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7L
TBVHV/XOZw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJ
T4ny+OGntnJntUoRKRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJA
WicutjkkUgd28Bh6HV9EIumHtCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO
8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaTVqMdqul07o72m3eA2mf+LMu9a04FX/d4
wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/EoucejoZ5SH49ksmVAmKOLkt
OaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+SPhHar7TPKjFz0G3D
PNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89MXfQXZ3q
t1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWj
moACGwMECwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNz
uyOVCskwfUZPla6Zpd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp
0x0HfuhcYfAYPR46XHTvjaJEv99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuR
OxdK8G+YHccJY8PvWSq2K2yiae2KGiAv1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50
wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhPeP3IdpfWc8cyRLXF06Rk46YM
YCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcTUwgnYlFRk2FLq0Qe
KEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9Egr/Wmu3
MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEM
AKiQiZa3yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ
3DbVf+en3/FvdVZg2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTm
etSG5/52AjtmPFtlXAk0NmLvfJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0
s3109sJeXT5ImVdphFs9cvyZyBT9t1PbRowv58EgV0zE4hbAeVkULAbxFV5b/ExT
jjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKbYu6NCfiHfEyB3Xyg9hfdrRgj
MRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ovXoK4jm+Py0FiUGUa
A6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/eVtR2Q1w
ZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWj
moACGwwACgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiV
oUiHYN5QwhnbZnsaJDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764Qxy
X6rld2f2RcWkDuBHun55ZWXjby8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk
/dS0XTOQi2wVUb17sW/+ybCEokdVacZGzOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fu
oGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+lOWSvdNHgoEkWR0RXBPQjnGm
LKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/OffO485NOTKwGOxyWb0
06cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR8ULR9nX0
LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
x9fhaZEsniw8/bYgC3igkk5YJiOa
=3DlUIA
-----END PGP PUBLIC KEY BLOCK-----

--------------LW1wKyaS2NsA5yXw7Q8geKiB--

--------------hWRCOMaiMnlf1PnELWG0Gg0i--

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

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

wsD5BAABCAAjFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmommaEFAwAAAAAACgkQZg+p0QLLz9Dp
KQwAoMrJWZgNTP6C30II34gUK3f+q1u+It7m5LrXITvEAWiJKvyNOBIyy/RiLrqoVXvA8juoYVL5
k9Qp/A/2IJxDgiIDHOW2/GrnDWbOIpdmc6Ct8mCLH4ZNn5bGnqslFLFwrbCDqVamAv/rEZ5mkdpI
5XBfqxTOQVr7L0jKg/3nKGhqsYZAg9DvorJ+69wNhaGDH2lMpTdtRWIXf5IEP8kv+T1F0HRs5tsR
ZSqNisOIw9JrMGGMoaLVtvAvWDQn/Yl8whrgZ8p/BTwS6VzlySpryepBFGpvGYDG/ej2BjHqCWIa
kGqDAsqIFY7OBNLvoV+Teo2/rjD80ILZjP/GXC1zjPd+Z8M0k5vtMAtNoBPyACWVdviW9tflAwc4
ZE0ay+QvC2vvuBtvhNEk/ngtiSfLf60+E/jJubc/Jrzbm+OkCse/9N109/IgnOK1/coGnubC5GxK
DmdY1eVQRfifngzc5QZL0WR/6d13oO9klxMJRxA+5n+RPDv7RAzhI9ZBV2IP
=cR7M
-----END PGP SIGNATURE-----

--------------WKkEUcsBQ7WSRW0erHybh9j2--


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 10:44:58 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 10:44:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331550.1594106 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWXTQ-00034x-TR; Mon, 08 Jun 2026 10:44:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331550.1594106; Mon, 08 Jun 2026 10:44: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 1wWXTQ-00034q-Qa; Mon, 08 Jun 2026 10:44:52 +0000
Received: by outflank-mailman (input) for mailman id 1331550;
 Mon, 08 Jun 2026 10:44:52 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wWXTP-00034k-Tg
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 10:44:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWXTP-000QdW-6e
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 12:44:51 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a269d1e-bab6-0a2a0a5309dd-0a2a4504b0cc-16
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:44:51 +0200
Received: from [209.85.221.43] (helo=mail-wr1-f43.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a269d22-1dec-0a2a45040019-d155dd2bacf3-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:44:51 +0200
Received: by mail-wr1-f43.google.com with SMTP id
 ffacd0b85a97d-45ef6565cfdso1873268f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 03:44:51 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2dc412sm53294874f8f.4.2026.06.08.03.44.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Jun 2026 03:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780915490; x=1781520290; 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=KKDQ2wv/rgCHv6dV+M56u6EmX6fs+Ff7nO8dvPP8YO0=;
        b=UCyIA4gQ83q8Mzb7fMJSqjebNtFEG47U6Mlj5/GzaIwrCKAhSHxmemQJoMBmx7xmnP
         3MA7GAICUJ42PY2M+178AjPQTxV6KRPwtpZrOtRGHYtTYbJBSCgt2PuWP3W/ES2AX239
         1k2pKYeHnP+QmvrMJEGx1CU0e7PyivKmyWQmZHM4pFBlFiXaXfsv26sGJ0DFH0nfHSzV
         G4EFUYIw7ZCDuJrXH+R4b1fr8AK/rdj6OZ/rS0ieKt/rd5ibzWYjokw+Sql0n8KNU4yL
         IH4mN7ESqgtdjrUNXeUJYeJgC7jQMdouWGuwBxXjzPojX0kbWUuLtgAJnE1UNR0PGayn
         Cp1w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780915490; x=1781520290;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=KKDQ2wv/rgCHv6dV+M56u6EmX6fs+Ff7nO8dvPP8YO0=;
        b=poKmC30dfwMaE/JJSOzs1o6eaWrEbxT73XviyjhU4nQ6nGbU/K0rkP33af5rl6Fd+G
         OWCwMq9sfOcKG6kpChsB8pfZwNgZld51VQIOKhx1y5szmd291H1Q2au6auLgy+6JQGWU
         BdEY90uHq0BRBMYGQNx2pc7sMCxsVEmd9YYeYSOk9/Vq2ZBQT/ItBanIeTVi3deJyMcB
         RUasAhb9+RfhJqIf37Bkn4g17S+tNy7BiQWZWqUAr+3opld3BGlSNuTT24a+Dx8gYRuo
         bRVtbqjGkP6gCke0da77CTQWsFrL/g4zZxq7+HVwgtEPGcSZeaw2WEswQGVKRoOwX4xI
         3UDQ==
X-Forwarded-Encrypted: i=1; AFNElJ+7OnzoShugyzSc9ZT6dPdPY+90HUHQ2Dh2dVU7wnm/R507FjbVAvRmLEvzSkChnbxpkNxR1TV7eek=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyGRpgFN5+yGFxJ8laM201KpL6tAdf+KHYpvn3UAipFMShzoRxx
	RI/JQ/B7NGWOfU+i8rk6onYaBEJ0f2NlZO526gEhS81pKDVgZkxtbhpR
X-Gm-Gg: Acq92OEDmmv0+norMWWPpZbMYhUDItLte0AEVVAl+UJn1KOvnX/9bydRFG4XIfj+9NT
	cL+blTG7GTa8GPehU/9Olb3AQpMYl5I67pFwd1/5VfAsudrJzanI8k+RKfq38b/AxMVtoP/R4K6
	clCwC/cQcFGOkwjbibEmhpWn+1Bq9A2OT1lz3hLX9yJ/PrvQj93Yf9hWovQj5I6BdQHDS8+yyiW
	s4+vOk9bPa0ujAtDc9AvZxNzIaCqSZcryUozrVU/7e0cr5LYFUUTmcCoJkraHEM29xLi6JWOO6l
	rYeKVEpwzzb2yz5TspIIGGi6sewa6cuecIK9F2DL6LYI72+nq1WyYJjMHf4xLvLmJS07WDNu1cf
	02JuXPHtWoACpBfq9VutXNPFvInMkSkplVdtAkTNmIZUqRvdmAtRs0SZRHER9N7aN/rEyXXWZwT
	KvSyma9HMOQgrRysolRZ9iA5zc3cPzHY+18aMBDqj8n6yWbGB4n2zibAsUvDNAZVHS4+L4W8HhY
	3ej/vYECsbM4nwB
X-Received: by 2002:a05:6000:299c:20b0:441:2aee:d561 with SMTP id ffacd0b85a97d-460306578aemr16093022f8f.28.1780915490349;
        Mon, 08 Jun 2026 03:44:50 -0700 (PDT)
Message-ID: <62df450f-9b1b-4075-8e4d-5a43786d4709@gmail.com>
Date: Mon, 8 Jun 2026 12:44:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 0/6] CI: Update distros for build tests
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Juergen Gross <jgross@suse.com>
References: <20260605144213.2749656-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260605144213.2749656-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1780915491-431663FF-A05297BF/10/73395122804
X-purgate-type: spam
X-purgate-size: 1742



On 6/5/26 4:42 PM, Andrew Cooper wrote:
> Refresh which distros we do build testing with
> 
> https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2579549654
> 
> Andrew Cooper (6):
>    CI: Drop test-artefacts/Makefile
>    CI: Swap ocaml-nox for ocaml in newer Debian/Ubuntu
>    CI: Drop Ubuntu 16.04
>    CI: Add Ubuntu 26.04
>    CI: Update Fedora to 43
>    CI: Update Opensuse 15.6 to 16.0
> 
>   automation/build/debian/12-arm64v8.dockerfile |  2 +-
>   automation/build/debian/12-x86_32.dockerfile  |  2 +-
>   automation/build/debian/12-x86_64.dockerfile  |  2 +-
>   automation/build/debian/13-arm64v8.dockerfile |  2 +-
>   automation/build/debian/13-x86_32.dockerfile  |  2 +-
>   automation/build/debian/13-x86_64.dockerfile  |  2 +-
>   ...x86_64.dockerfile => 43-x86_64.dockerfile} |  4 +-
>   ...dockerfile => leap-16.0-x86_64.dockerfile} | 16 ++----
>   .../build/ubuntu/22.04-x86_64.dockerfile      |  2 +-
>   .../build/ubuntu/24.04-x86_64.dockerfile      |  2 +-
>   ..._64.dockerfile => 26.04-x86_64.dockerfile} | 15 ++++-
>   automation/gitlab-ci/build.yaml               | 57 ++++++++++---------
>   automation/tests-artifacts/Makefile           | 19 -------
>   13 files changed, 59 insertions(+), 68 deletions(-)
>   rename automation/build/fedora/{41-x86_64.dockerfile => 43-x86_64.dockerfile} (95%)
>   rename automation/build/opensuse/{leap-15.6-x86_64.dockerfile => leap-16.0-x86_64.dockerfile} (84%)
>   rename automation/build/ubuntu/{16.04-x86_64.dockerfile => 26.04-x86_64.dockerfile} (81%)
>   delete mode 100644 automation/tests-artifacts/Makefile

For the entire patch series:

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

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 10:46:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 10:46:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331555.1594116 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWXUk-0003Ye-7G; Mon, 08 Jun 2026 10:46:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331555.1594116; Mon, 08 Jun 2026 10:46:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWXUk-0003YX-3h; Mon, 08 Jun 2026 10:46:14 +0000
Received: by outflank-mailman (input) for mailman id 1331555;
 Mon, 08 Jun 2026 10:46:13 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wWXUj-0003YP-5X
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 10:46:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWXUi-00HL1v-IP
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 12:46:12 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a269d6f-5cb7-0a2a0a5109dd-0a2a450cb5cc-24
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:46:12 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a269d74-62f1-0a2a450c0019-d1558034f176-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:46:12 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-490b64c8311so46596815e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 03:46:12 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f3444fesm52068213f8f.20.2026.06.08.03.46.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Jun 2026 03:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780915572; x=1781520372; 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=VR6azSEsXCfN6MUjLTKF44FYAxiY7DmiqwjQ51RGI3Y=;
        b=r/IsVbRlSCX7pHA/R+TEIiM7p8F1YvfkKW3MA4y7PkIbI/Xfec9a1NI+JrqeZVd64T
         d6uTJe+YJ5WCU81USYYAeVSyn2/pHt7+oDzjrPqPfoxS+hP2zByk6NTvaun/QMHEgYgR
         7bBIqz0cYK1K0ReoiATuOTu6HL8YWLNBxIjCdp7U6uvtgsHsqM7O4Js13F5lKT2gbbiu
         pmH/rC+JkkQ2wu1iuog351VsqRuYtMvmCzSbbCj/i8loMvRN7mf80q8RIYc77jeeYGqz
         x/+SoZL0jTgATcFUoKd5ght3JPr9+TBlCgetr/PRl4MA+fFNKsn9vgJWoe+DcH+1EoNa
         4cjg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780915572; x=1781520372;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=VR6azSEsXCfN6MUjLTKF44FYAxiY7DmiqwjQ51RGI3Y=;
        b=dsvHEHNT9zoO6oKCK33anaxuzGlBdov4iOwfiX0/Ct9YqoSGaEMIh7wT4WN481IL0F
         AmnOgRjUnBivl1HN49szrcMy4POBkt8KejJttMa45S6kB87DR1jdNNWB9bixITCMEnJx
         EjspQWCMEbLk6g2ZnhvGE81YdH+EyqTdmCHwPZwmutmRlGZzGrXYLf9UpwE0GDa1qCMq
         sWmS51gu8nTX4K16t3d6NmwfNpj6W8+L0jr4Q0c/L/R5K1zKhMGTuRB4AoqQ+NvIHTYB
         0FUYo6mHb9Zz89sviGk7OQRRaOme0SNqxzxes1nyCx9hIGuUmOzEQHl9Z9yk16AUYRzx
         /Y1Q==
X-Forwarded-Encrypted: i=1; AFNElJ/bnvISfcB5u4evE5is1ednoqYrrKQptMmIqnlG7iAFe+9+YZX6cDuZNo0XJbribB1S5OdMkBhcoJo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxgksXg+rCnXQFvZIhRnaQvhX9FwMcP3BO5U9rBqaboceZw7oUr
	xq32kWKds3SnAsIUR+LVLocbUgy2zpuZZuLoxQ9h08FGZeSK3tmIp/9I
X-Gm-Gg: Acq92OGv6kJ09lZFkS5vXG3wwFAzEWgscWLUxiv58y5C0cUqVLq1i4sGEZsxUuLEoxb
	5YI+4rqEZFZe69R3JHWFVpdhSB8VsvRruVnV8B9dxwVDffppm2LEPn7VY+/JF3IiOtDPwlx9+Kw
	RNPNVwJIMeDBHpXmlG20aGXyayEV/7b6qy3ZgXCjxyANEOLuovQ3QCfckz7Yp5iw3P1IX4aEI1G
	oRilkBK1NFZtK7H/cfkul7rq+72dZV4+/6O1j1X7tHY//Bd5hVHPrNKS76BhecVGTIg5DrQ8d8g
	9D9YQkjwOa3btvBqFh3wk7RCwUaUzwbCfxLEhKa5tEAg/qnx9PWoBcQQfOu5aadvTQSq68HdNUf
	9F14jJJq7XLp2svaowjs2AEouAI+cJmlmzf8qPLilB1VXZzWKhOKRT6W37+qmXnDx5ZeMaE6Whv
	KFjxkJLnHRe3v+1K4I807MUdYsWAVUI/V/4V9Ey7yuBm7AiT0zvslar7ZbMiTXcGpMR1KYmZ7+7
	K5gEN1KrIsgevY3
X-Received: by 2002:a05:600c:5246:b0:489:c57:7836 with SMTP id 5b1f17b1804b1-490c25ff39amr249485435e9.27.1780915571730;
        Mon, 08 Jun 2026 03:46:11 -0700 (PDT)
Message-ID: <863d76e9-ec5e-479e-8d8c-ee43fdb5e5b7@gmail.com>
Date: Mon, 8 Jun 2026 12:46:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] docs: remove non-breaking space from
 xen-command-line
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20260608082440.73415-1-roger.pau@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260608082440.73415-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1780915572-E0766CF5-791E328E/10/73395122804
X-purgate-type: spam
X-purgate-size: 1007



On 6/8/26 10:24 AM, Roger Pau Monne wrote:
> Fixes rendering of the generated html.
> 
> Fixes: 31d9c88a3857 ("pdx: introduce command line compression toggle")
> Signed-of-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> ---
>   docs/misc/xen-command-line.pandoc | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
> index 93c2a73f4ade..1c711fa98086 100644
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -2082,7 +2082,7 @@ for all of them (`true`), only for those subject to XPTI (`xpti`) or for
>   those not subject to XPTI (`no-xpti`). The feature is used only in case
>   INVPCID is supported and not disabled via `invpcid=false`.
>   
> -###Â pdx-compress
> +### pdx-compress
>   > `= <boolean>`
>   
>   > Default: `true` if CONFIG_PDX_NONE is unset

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

Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 10:47:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 10:47:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331559.1594124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWXVa-000415-FC; Mon, 08 Jun 2026 10:47:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331559.1594124; Mon, 08 Jun 2026 10:47: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 1wWXVa-00040y-Bt; Mon, 08 Jun 2026 10:47:06 +0000
Received: by outflank-mailman (input) for mailman id 1331559;
 Mon, 08 Jun 2026 10:47:05 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wWXVY-00040f-UQ
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 10:47:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWXVY-003cmh-3P
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 12:47:04 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a269da2-5cb7-0a2a0a5109dd-0a2a450a9828-18
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:47:03 +0200
Received: from [40.107.201.59]
 (helo=CH4PR04CU002.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a269da5-56b3-0a2a450a0019-286bc93b69f1-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:47:03 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by CO1PR03MB5875.namprd03.prod.outlook.com (2603:10b6:303:90::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Mon, 8 Jun 2026
 10:46:58 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.011; Mon, 8 Jun 2026
 10:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=B4D5q8Qb6eshsmkfeLK4zCBaTzMway4GMxWZycTyjI4zH5ctGKN8zMkFGvlFzG2l0ozy+3/7iuamYH/dTA4S33QVDkitaSrh4lSnSMekYB9NQ/Z01iYlneM3oX2cu9OBoVuQQUoNcrvWS9hIyXjMYW3vknSH/8PSnHBqVdXnbz3bfE6CtocYmQWlzE1vuZC9bEtpvk1iPcP/W/fDqk5ftnEKnomuo9qHYiWTTVBch1a1wKqvMQSzGjZdedOxxU6rExMmJTK6p/RVY4CkwFmOz6yVDYy1fCBAEIch2BoTUQ81B9Y+lFMmAx8eRVxN9nacE7ZPSBFcQKWEvS3nB6OMbg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qPtM5S/75X63cQbTUUUI8cGLXi5Cl4Dz+M5yCPendeU=;
 b=wmvTSM9fvvWra8ywxP5ep8RD/EwhCRQogqPlDAXLK4uOhfqMT+Gf4KDfV0r3mT4dxl3S2tI5xUtIcsEaFZ7QOZgx/+8Kd7jknBBMjENhMFnzcyokWiHk8vmxlVUkACZgT0pARGIKsTOEG/aKn8difyBY3csMXSIxqHGq1mlsHAtk5iYkWJAGJEgdDbQcQZSgVF70EmzGYPXtQrGbTBWshStBSev63ZBPcG+fTGDOdHR4X8WmxgGFpW16KdO0VNowGGE2vvIMKoSJm1PffcqT9k9yXBaSS1rYAHllZItp0YJm2hxMB52n8dseE1KPKLrM9oxsBNH6BydkGVIrWCJSdg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qPtM5S/75X63cQbTUUUI8cGLXi5Cl4Dz+M5yCPendeU=;
 b=fX9d4d1xC36Rk/rPRTq30j8Dp075bcwJ0gzTNhz+9EYHowqHOUkmgrUPYy/BKS074kiGX80kM9tVpBwu86282JkezaVCUuO9UjG24BvVbjs8bt100doyXZGNW0+sxe/XatX7f8QPBbRbOVUkZxhJsz3RKVvZiJbtzsD84ciIMiE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 8 Jun 2026 12:46:55 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH 2/2] tools/libs/guest: Use the system liblz4 in the
 bzimage loader
Message-ID: <aiadn_Gaf9IfkrUu@macbook.local>
References: <20260603085331.2704108-1-andrew.cooper3@citrix.com>
 <20260603085331.2704108-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260603085331.2704108-3-andrew.cooper3@citrix.com>
X-ClientProxiedBy: MA4P292CA0012.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2d::9) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|CO1PR03MB5875:EE_
X-MS-Office365-Filtering-Correlation-Id: a69f919a-61ca-4d60-3b40-08dec54b43ca
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|6133799003|3023799007|18002099003|22082099003|4143699003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	HRhMk/JihfrbFC0Qyh8VC3WY8ZV7p2EzbkylwokEalkOGwN9zIbHHqQIetWFsInk+kL/FJfg7PTJGDZWV1d2f3yd7iDQ+8YpuRpaVoiMt7xmC80LJe0QWazOa9StC1UuAahguRPg4wN//PUE4gtQaw8YYVXZWLfb0+B2wDLkj06GxjYb7Gh4gkNpboGN2jpFU5vg1F7E8cYpQVcf8FPLcoYSwCMIZ4WytCtRbHuPtvXrvVakXB4hjxFVkl2YQwiAJWbPq/V7HfEKSV6hkA4INjLZl3mB5cnh9hDPTdQLh4NGy22669OEMyUPikL8/4tRzUnyUwkJfWtnbiKacTMPovCsy8empoGgTKjgtWiNcCnlNUtjWvcfWXTKu+RT37nytRIlUVqzSGacpuFfjWLIAWJzbO0klb3GKjfmLsO0pTxvYBEknQ/KV3dX0u8uyu5oKVd83rRFzzEowmj0QwRlAytgCyoKCdArnS5yF2iltsBZfvFCEAdt+B85062T28ECOqC/yKuOhQ9aJ1i3OsLyEeyPW0YM8o6OELhIlMIyW+CjiR/ktbDww5L3uXoNhOXeIGKm/mfxopaYf6hhnpqJBgq3nn6I7x3ysDVpoIxmCNrdkUiUpPZ5rcH0fb9O9K4LkSilnHmrj+sbuUUcIS9tnx4mZjvZiQyaoUW1GQh0HZ0bpD9xCAD1Ccxt12tW6IQu
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(6133799003)(3023799007)(18002099003)(22082099003)(4143699003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZUxYS2dWbEtaeU5oYXBSNE1XWStSU2kwei9qM0VURlcxZk8wVmFZUEo1RWJ3?=
 =?utf-8?B?MzZHSHVQM21tV1VCYkt6b2lwT0xEYzlUVXlYT3FYLzRkYnJPc29hYnh4cCtR?=
 =?utf-8?B?Tkx5K3owVnBtSUN0eEZQUFh2WFZJTmF6NjVhRmZqUVBGY0N3eU96TFNzdjVR?=
 =?utf-8?B?RmFjc2VuNEEvcjRqeS9Id2M4bVg4QVM1UkptYUlQbGZVRXo4TWlVWUtPYm1X?=
 =?utf-8?B?b3FPcnJsNGFtdUNCVGdEK3ZnM0ZZZDNyWEtHSlN5T2tXUWJJaTZzZ3QwbVlC?=
 =?utf-8?B?YnpaWjF3QWRnbE9CQmtZNTVUcGdhbDB2c0NqYXZSdFFhNytZQjBIRzNvSFB4?=
 =?utf-8?B?NkJtazV4bXoxRkx4MTJRdnZ5ZzJ3ZEs3YndSY25tQkNYd1Y3Wm5ZVG01Zity?=
 =?utf-8?B?MXV4c2wxKzlZQzE4aFdjUUJITG15Q3dMR0RTajFFVlA0UHA3TVdDV0tTWThz?=
 =?utf-8?B?Nklpa3YxZUFYdzA5UHk2ZWRTUldBWVdYQ2U2dkd0dlBXdmpGSlNEOCtYcWhh?=
 =?utf-8?B?bTljRWM1SGZKazZaLysxTHFwWDN3WHFDSWd4NGdUOG1vVm5XZDdpS3kwK2hG?=
 =?utf-8?B?VWUxcThzNVdydHVULys1NDBIa1RUWVBNTFhRTU9CcGY2dkc5RUQ0VDZUeW42?=
 =?utf-8?B?VVpUVDNJOFpJZUFldWJFYTE4MWR1dzNNZEh3VzM2a29OU0JTRWpFR0I3anNl?=
 =?utf-8?B?WS9vWGZURE0wTjN0Y0UyblA3dzhKRnh5M0NlTlV1aXBaZTgvdFdlU05wQ3RJ?=
 =?utf-8?B?YzNkaGp1MWI4MUtwai9xQWYvQzBmaU5MOVRYRWFUZE5KYmoxWFkzMEhwR21Q?=
 =?utf-8?B?U3haUFlrc2FJWldhdmtFUnRITGRidCt2OEptVzFHUHhkclIxbVJlMlY4eHNX?=
 =?utf-8?B?WFRPUElLcTNVOTBQYjI0QkZGUEx2TmVRZUJWZW9QeWNlNlRvamI5VG1mSm9C?=
 =?utf-8?B?THZqbTl5c1BTK3hnYlFMTUVTY011RWlxRkwzd0J5K2dqVWg4d3Vzb2dDSmw4?=
 =?utf-8?B?VWlBUnY4Ui9yRlJkOHB1T0ZCakxURU5RNzJ5b0VIODhmUzRpTU1raU03azdP?=
 =?utf-8?B?VVpGQ3piL2hqWm5zbDFVU3pQM2dvUmNHTXRxWUFnanJwWmJSUmtHMi84b3By?=
 =?utf-8?B?OCsxNU9STnJpVUxBcTRXdnpmV1NYWVlpMG1zSU9LSlo0SmxubDdycWRlVExC?=
 =?utf-8?B?TVhuL2VlYXVFZjBxN2J4Skl5eXpqTzl2c2RxbDU1bFFZWDgzSlUyYUtwaVBC?=
 =?utf-8?B?a0VGREpucFFXRlFGNkgzSHBjRVZQM0U4SmdsVXZTd0kzaStCeGg5dFlPcjht?=
 =?utf-8?B?STlBcWNIamgwSFdhSko1QXY3bkhxdGVjSjlVZ2ZPcUtsSy9MTHEyQTFaM0Nx?=
 =?utf-8?B?YXR1YTBlWjBVSzZhM2p0K1hVSElQN1FleXdZeFhTQkc3TkdlQ3V3eXVPZ0pS?=
 =?utf-8?B?Q00zTC85cXYyczBYd0pjbVZlMlYxSWtlR2s0SHh4eUREK0NxNVd5OEYvNkto?=
 =?utf-8?B?bEs3SURiRGxzSDE4V3lSOUpNUmhocTdoakRPdmhNSXRwOUpYczRncGpkb0FK?=
 =?utf-8?B?dG02OWF4eE9nRFJKRFBFZ0IzNk1NK0pjSDc4czJ4ZFlkYXg1aHFYWlJobVJT?=
 =?utf-8?B?L1YzenlQNnpUd2VSU2dkOHhoS2FhRkIxbWxjMUdyM1lqZmVpaU9SWXltQ2NS?=
 =?utf-8?B?Z1ZXckcyZmVwL0JpcUp2VzRwRFVIVjZtOGl1S3F2a1RHR2xPemdWVG11emww?=
 =?utf-8?B?azhKUURnVHJ0dzF6c2pSTEFYdVMvR1RPRkhaRHBDN1B6WEFERm5zdDZxd2lj?=
 =?utf-8?B?MmlobWI3MGlDSFgxV1ArdVArYXRzWUpRMGdGRElIZDhKcjh5M3NhKzU0WmJa?=
 =?utf-8?B?dm1sek8vS2lpdGVTWHJOaG44VzRablVaMUxXSDJxUkVsWTAxK1RoVTZlNG41?=
 =?utf-8?B?TmV2UnZXSjY5b1VGVGIzOW03aUZZQ0xqWmlKTkZtdHhmcllPeTBuKzlZaWcw?=
 =?utf-8?B?M3Z2bHFFaXVZQXV1T0ZRaFJ0LzRZYUttWDdBb0dxUGdVQ0wrSW1nalR5V2Ni?=
 =?utf-8?B?VktLZVVacEt1VGNjMERWTk5UVWlJbjdWN3FRb0Y4YW96L2lyR3NJODJRSlIr?=
 =?utf-8?B?c3FwUVlOcjFzQ0UveFVqaysreDJ5bEJ1Vm1mWFIrNzYydVlDQVA1NGk1NEwv?=
 =?utf-8?B?Z1YvNHcweUx4VW9OSS8xYmZSZTNBZ3dKNndnOTJZbUtWMThJWnllQUkxQm52?=
 =?utf-8?B?dE9UUkNxbXJTOXIvMUEvNmhFdmpJRm9ma0ZHYWRZUzRNY3NvS0ZLcUk2MytF?=
 =?utf-8?B?RUIrL2tINEZXZER6cnVSb1VjVkJWR2JqQXo0SzZncERpc1Bkd2ZGQT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a69f919a-61ca-4d60-3b40-08dec54b43ca
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2026 10:46:58.5462
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JVaYhVZ2X+p+xrck35O+Gcnazhak2BcWHuir/PySfLGEUdRGvz3x4PSE3o4xVCCzuG3eD+qtymdfCv7zw65LPg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5875
X-purgate-ID: tlsNG-4011c0/1780915623-7DD828B7-7C2C2226/10/73395122804
X-purgate-type: spam
X-purgate-size: 3941

On Wed, Jun 03, 2026 at 09:53:31AM +0100, Andrew Cooper wrote:
> Right now lz4, unlike every other compression scheme, unconditionally uses
> Xen's unsafe decompressor.  Make it consistent with all other compression
> schemes by using liblz4.
> 
> The unsafe decompression is still required for the MiniOS build, so rename
> xg_dom_decompress_lz4.c to xg_dom_decompress_unsafe_lz4.c and drop the
> non-MiniOS content.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

> ---
> CC: Anthony PERARD <anthony.perard@vates.tech>
> CC: Juergen Gross <jgross@suse.com>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
>  tools/libs/guest/Makefile.common              |   2 +-
>  tools/libs/guest/xg_dom_bzimageloader.c       | 128 +++++++++++++++-
>  tools/libs/guest/xg_dom_decompress.h          |   6 -
>  tools/libs/guest/xg_dom_decompress_lz4.c      | 143 ------------------
>  tools/libs/guest/xg_dom_decompress_unsafe.h   |   2 +
>  .../libs/guest/xg_dom_decompress_unsafe_lz4.c |  39 +++++
>  6 files changed, 169 insertions(+), 151 deletions(-)
>  delete mode 100644 tools/libs/guest/xg_dom_decompress.h
>  delete mode 100644 tools/libs/guest/xg_dom_decompress_lz4.c
>  create mode 100644 tools/libs/guest/xg_dom_decompress_unsafe_lz4.c
> 
> diff --git a/tools/libs/guest/Makefile.common b/tools/libs/guest/Makefile.common
> index b928a4a246a9..86b1f160e536 100644
> --- a/tools/libs/guest/Makefile.common
> +++ b/tools/libs/guest/Makefile.common
> @@ -46,7 +46,6 @@ OBJS-y                 += xg_dom_core.o
>  OBJS-y                 += xg_dom_boot.o
>  OBJS-y                 += xg_dom_elfloader.o
>  OBJS-$(CONFIG_X86)     += xg_dom_bzimageloader.o
> -OBJS-$(CONFIG_X86)     += xg_dom_decompress_lz4.o
>  OBJS-$(CONFIG_X86)     += xg_dom_hvmloader.o
>  OBJS-$(CONFIG_ARM)     += xg_dom_armzimageloader.o
>  OBJS-y                 += xg_dom_binloader.o
> @@ -59,6 +58,7 @@ OBJS-$(CONFIG_ARM)     += xg_dom_arm.o
>  ifeq ($(CONFIG_LIBXC_MINIOS),y)
>  OBJS-y                 += xg_dom_decompress_unsafe.o
>  OBJS-y                 += xg_dom_decompress_unsafe_bzip2.o
> +OBJS-y                 += xg_dom_decompress_unsafe_lz4.o
>  OBJS-y                 += xg_dom_decompress_unsafe_lzma.o
>  OBJS-y                 += xg_dom_decompress_unsafe_lzo1x.o
>  OBJS-y                 += xg_dom_decompress_unsafe_xz.o
> diff --git a/tools/libs/guest/xg_dom_bzimageloader.c b/tools/libs/guest/xg_dom_bzimageloader.c
> index 1fb4e5a1f728..32b3c682a447 100644
> --- a/tools/libs/guest/xg_dom_bzimageloader.c
> +++ b/tools/libs/guest/xg_dom_bzimageloader.c
> @@ -32,7 +32,6 @@
>  #include <inttypes.h>
>  
>  #include "xg_private.h"
> -#include "xg_dom_decompress.h"
>  
>  #include <xen-tools/common-macros.h>
>  
> @@ -623,6 +622,133 @@ static int xc_try_zstd_decode(
>  
>  #endif
>  
> +#if defined(HAVE_LZ4)
> +
> +#include <lz4.h>
> +
> +#define ARCHIVE_MAGICNUMBER 0x184C2102
> +
> +static int xc_try_lz4_decode(struct xc_dom_image *dom, void **blob, size_t *size)
> +{
> +    size_t outsize, insize;
> +    unsigned char *outbuf = NULL, *inp = *blob, *outp;
> +    uint32_t chunksize;
> +
> +    /* Magic, descriptor byte, and trailing size field. */
> +    if ( *size <= 8 )
> +    {
> +        DOMPRINTF("LZ4: insufficient input data");
> +        goto err;
> +    }
> +
> +    insize = *size - 4;
> +    outsize = get_unaligned_le32(*blob + insize);
> +
> +    if ( xc_dom_kernel_check_size(dom, outsize) )
> +    {
> +        DOMPRINTF("LZ4: output too large");
> +        goto err;
> +    }
> +
> +    outbuf = malloc(outsize);

I would use calloc() or memset() the buffer, just in case part of it
is (wrongly) left uninitialized, as this is copied into guest memory.

I see this is code moment, so possibly better to adjust afterwards if
anything.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 10:51:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 10:51:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331575.1594134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWXZQ-00063q-2N; Mon, 08 Jun 2026 10:51:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331575.1594134; Mon, 08 Jun 2026 10:51: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 1wWXZP-00063j-V1; Mon, 08 Jun 2026 10:51:03 +0000
Received: by outflank-mailman (input) for mailman id 1331575;
 Mon, 08 Jun 2026 10:51:02 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wWXZO-00063d-HD
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 10:51:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWXZN-003dfJ-UC
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 12:51:01 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a269e94-e002-0a2a0a5209dd-0a2a45059ace-2
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:51:01 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a269e95-aaa8-0a2a45050019-d1558030e0a9-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:51:01 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-490be29c1c5so53402015e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 03:51:01 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490bc3c183asm388884985e9.6.2026.06.08.03.51.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Jun 2026 03:51: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780915861; x=1781520661; 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=u/Xqfhlw+w9rTAfqBhZvGTdz1oijNj+H86PttYjTp0c=;
        b=C11PE+77N6jwKUY0MC6LYg41GbnabUtVjxCukLDoCC8eo54QKuqdnblNH9dzka5V6q
         9g/0PQzdSh3WbxYMgqQZBfyLr5HoFnl9GIYAMbropH0Y7i/HCkj5fh6ifOfIAKQuKZ8L
         ByzRx3qbdt3JTsWwor8dmYM326bnPPAX0a1BgmpOCYsy/PpYlVeT5zDBAxsjjTkzTOjY
         uUpf6JvbNDni1s8GkGrfNC+CFlQGR+E7P1jCLtvsEzF0biQp2YXgbfAHU4yIlyIt5g0Z
         ASkHfNCM6eHDw/7Ef04UAMBS2NCL5mmWb2jjeS82CVbDZoBc1e0NkVgsnJwEFBXIRI1O
         3gww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780915861; x=1781520661;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:to:from:subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=u/Xqfhlw+w9rTAfqBhZvGTdz1oijNj+H86PttYjTp0c=;
        b=J+7E3wRRpnZ7bBIMIOLlEJLMhtK55NOxW90HtKcaMn6gxsG1BWjCs8hHlGsH9a02Cx
         TBPpgSd3ah9J0Ogim+GZi3UpZL6JTdE/zOSp8D1K34ZRQ/k7+RPNw15L5VJI+e2ZuYNf
         UphTiCTiNP1RZMIwO7/kUnfj5opVYK/J+csBluBsAEVUIx6/jAaRMUfHPQmw0o7YvEvC
         n3bwjoYiMIThbVV0SplMEywdkzJEn/CEA6hYPzUgpKR0zp9oKmLXBOgsVtKeUmhhIC3v
         rVBzDu9wmhdKm29tEytfNDaovPLkYXXwQnJpj7xxP2A/BeVhc0eU88URH3ZN4rUl4cg9
         op9w==
X-Forwarded-Encrypted: i=1; AFNElJ/sp5iJFt9cwdifs1uoAcztUtCglWsY5ZPBPMr3P+buF1FzwqTTk+lDxX784vAw6W4fp22FmVqXX4U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxswnrZ9bubEQ0MwVQqxSk3cgmtnCJBZ5lsMkOtVumIsUPSDDuU
	c4PHbFpkNaxA2kbtp2cXlSr8S0+DCjPiwRycNBheTSy65WvIEFDwET+mNOa1AA==
X-Gm-Gg: Acq92OEKWS/qqnnoKJI9bmEw4AfmQJiHWqwN+QY+IDd0Oc53broUya787sjramtDimF
	Dtbz8oJNix4RDskPoFVl7DJRAMJFNGhZC8TCtkWhrgfIEVMWIutSee/I6QGMWoG6FdMq5+Q/DqX
	v1nfoGJCznn0pcxgT3urs8tnIDEMijkhQEsVexgNW2cYQw6yWU2fom353f+LXzDkx6IZFNO2UUa
	w1goyBo9Tt4xy1VAZQ9oksbpn5eSjGZGit33BRdzFcfLbLC94oBJFVV01xdI4mr3zCnEPJLKlVL
	2kYCofzAk14nkXI8HyvV/QrOaF9hcA2dFrrNn1v0i8IguBVQaz+sTcyqu17YhMrxcAodL9fBSJO
	ssm16lMU1m1LUtvYK9kT1Y11Od0+kKbHNqmJEPLCCyGj+0WW/cjiC+gTx/TPjgNY/8/wHMgLXCy
	PY9NCjWiavdI2bvkLuHL2dsEzNIVJhzDhsX77TXPAhh7aFa07jEg3e1c3AcuCLAw968Ldsyux6P
	KAez+yusOYUfQ8J
X-Received: by 2002:a05:600c:8183:b0:490:958c:46dc with SMTP id 5b1f17b1804b1-490c25b0a60mr226035785e9.17.1780915861004;
        Mon, 08 Jun 2026 03:51:01 -0700 (PDT)
Message-ID: <2e6bc1ba-72d6-4b4d-ba1a-226eb74fab0f@gmail.com>
Date: Mon, 8 Jun 2026 12:51:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22(?) 0/2] tools: Use the system liblz4 package
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20260603085331.2704108-1-andrew.cooper3@citrix.com>
 <4818e5b8-21e9-4f2b-9977-8fc4c9a4889b@suse.com>
 <23167e00-685b-4033-aa8c-6c44c705448c@gmail.com>
Content-Language: en-US
In-Reply-To: <23167e00-685b-4033-aa8c-6c44c705448c@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1780915861-D9F76443-89BE72F4/10/73395122804
X-purgate-type: spam
X-purgate-size: 1404



On 6/3/26 3:01 PM, Oleksii Kurochko wrote:
> 
> 
> On 6/3/26 11:16 AM, Jan Beulich wrote:
>> On 03.06.2026 10:53, Andrew Cooper wrote:
>>> Switch to using the system liblz4.
>>>
>>> This brings libxenguest's lz4 decompression in line all the others, 
>>> rather
>>> than using the unsafe decompressor from Xen (itself a port of Linux's 
>>> unsafe
>>> decompressor).
> 
> Generally, the patch series looks straightforward and low risk, so I am 
> comfortable taking it for this release. Considering that...
> 
>>
>> As stated in 84f04d8f0dbf ("libxc: add LZ4 decompression support"), 
>> there was
>> no shared library available at the time (and on the SLES versions I 
>> worked
>> with). Later a shared library appeared, but the -devel package still 
>> wasn't
>> there. On my main dev system (intentionally a relatively old SLES 
>> version) I
>> therefore wouldn't be able to build/test LZ4 anymore if we went this 
>> route.
>> (FTAOD this isn't an outright objection, as the goal of the series is
>> certainly good. It is mainly a data point to consider.)
> 
> ...does not consider this an outright objection. While this may become 
> an issue sooner or later on older dev systems, if the change is accepted 
> into staging, we could switch to the shared library approach in 4.22.

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

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 10:52:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 10:52:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331579.1594142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWXaR-0006WH-9V; Mon, 08 Jun 2026 10:52:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331579.1594142; Mon, 08 Jun 2026 10: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 1wWXaR-0006WA-6m; Mon, 08 Jun 2026 10:52:07 +0000
Received: by outflank-mailman (input) for mailman id 1331579;
 Mon, 08 Jun 2026 10:52:05 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wWXaP-0006Vu-EB
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 10:52:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWXaO-007XLC-R2
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 12:52:04 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a269ec9-5cb7-0a2a0a5109dd-0a2a45059a0a-32
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:52:04 +0200
Received: from [52.101.48.40]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a269ed2-aaa8-0a2a45050019-3465302875d7-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:52:04 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DS7PR03MB5544.namprd03.prod.outlook.com (2603:10b6:5:2d3::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Mon, 8 Jun 2026
 10:52:00 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.011; Mon, 8 Jun 2026
 10:52: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ZJcVbBi0tTuWwSZcZXhfv0oiS0yY6lf17L/A9qvXLMjkI+hjtNS6Glqm+aOd0kyRPWnOrqt/rlW1PXNCkEYzCmRt/ZZkSZL27KZ7e9gqyHvk2n1T7sx1dIukZeYHHb/oRFeCO04pcexGPFwddso/lGTKAD6sbUNUAAYIdPyKerwj8cR4mqp/8Sd4QMhNlPtsGC5osZR0bSCqK4WdQ/60m8YSm85a3uGXnnVvd4sU5i9CR5PukT2w3eURjYh6iu7CGXeBLzkMmhyenr1MwCmdbAnH2PyVOc+1wDPtFmTcedlkQq4b+9vI+X5mp0fsFIAalS0S2ajCzgKJp13T6wulqA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sIIYEXMk3J6YnSEASVkcwEsGOy2H4xJ/eDGUo78h4l4=;
 b=AZPBV+G3qBpB6iRGwXIZC3f18ngL4y6W7pygbJzKT1n6phIkkr73UvZZUp0Jp1ERi+EJApprkuNV2wX2/h8cazw8l9ZXaEmDIRfMJkC2zduYkwpNe1AZKcMIvozX89A3xVG3U4j+CekVBMr+Gg4VbmbjbFfZJX8gvAtB1wNRAcrF0Wt3xwD43ilZ8MqwuG7fXEMxwbu0jMr7QjB8Dj45Vuc3PlwaavXr8zkmuBb4HnIvVslS7Jjn6IptL4MadWUL6NwURiVp5hiNzKIbb78j4EW7nd68PlJotpZmw0YLwquRPgkaPlT69WtVLBaBm+9L2PrG3h1C8wUvkHznrAVglg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sIIYEXMk3J6YnSEASVkcwEsGOy2H4xJ/eDGUo78h4l4=;
 b=fH1ln9U9+SCowTlLOqR3QR6waQyLlIHWmwE2LuHmrFx5Jamhf7ghxIGo3JS7Mpu76sdoDuJAdLb5+hMIgvcmoY34yoFJk+OvqRsjK2Bxpl9DtpNKktnhu0CZTgwwBJJiVp4WUdsjr/Gtiq21sC75VTexkzif2tPJNTouzJnQSVE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <0d90ac80-940a-416a-a3f2-51b94d60baf6@citrix.com>
Date: Mon, 8 Jun 2026 11:51:56 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH 2/2] tools/libs/guest: Use the system liblz4 in the
 bzimage loader
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20260603085331.2704108-1-andrew.cooper3@citrix.com>
 <20260603085331.2704108-3-andrew.cooper3@citrix.com>
 <aiadn_Gaf9IfkrUu@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: <aiadn_Gaf9IfkrUu@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO3P123CA0012.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:ba::17) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DS7PR03MB5544:EE_
X-MS-Office365-Filtering-Correlation-Id: 55a0dab2-483f-47b9-8bca-08dec54bf7b3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|6133799003|3023799007|18002099003|22082099003|5023799004|4143699003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	HKQ06sZQ7+v/P9O0P6cWbovyrJDsC4LKA/IT0BEwtoP4aWh908/9eo0vrvwkXsniOLeDLfO6/tBUN3jFXKVhy6ZIvSg75KUmuL8gQo3ictffIIRF8Ret4WgXFlyh8Vvyxo8AXxe6mQgnbA3yoabf6Ccfov9pH4dYLP/3/0vk54/+VS6Ml+RTqz9pSSO7xr9V1alSSGiEGl0GGahNeSj6NTOOt+mdlZ3S0KiKPeItBFCjhRFSwvMeDPJhlZpJ64mcEFAdwhjG4ElamuUZgUxsufBHGxNnCz1QaL5MRwm6TKwDCoY+5dj0lYSmNXjdcn5bG4Fp+HadOqGRQc61o61vFh+D0KkKZ9IWb+ZjaQLNX2I7+d/50U6DuJcFv2qX2bo0X9HSODUTBe5/E00HnjAPraZ+gOmYqBdPRn9dzdTg/ZmUJ+gLLuXN4PrtpEc367J1A9dW7ec487bvNPwlVL2FBSHKbTvM/BnRUcAms59XUQqjiIJ3uwNrC5u2MUt4EszrcUQYDYF9O1vdbx3Ucza6HUU6SIYBNLidFpKfK1zk+qBY4A0uAz2f8ENGue5ddAqVvwF6/A7THinWRzXPb6B7jwVvtx4Fgujwt7whf3+BW53r0oWmHg67OKVqoSZ9xLZVtd1YuuwMJlDqlS4qAfxG2NFgsO2b7IFIMHnmAEt8/Ge5uVVZ9gEVWnvBUCC3YymB
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(6133799003)(3023799007)(18002099003)(22082099003)(5023799004)(4143699003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ckU0QW1ncnlXb05UaCswN0l5bSt0eW15YnhvbmlHWE9tak5rZzdwT2xHdy9Z?=
 =?utf-8?B?VEs4bVRvVjZ2TGxZbVhoVjJvK1Naby9KUHRPQVk5a05YWUxjVFg0bXZ0YXJ6?=
 =?utf-8?B?TE9uNncwclFhNXhPZzNPWE1oUTcwd1VPUFJNUWNWZVRhS0o4clQ3TEs1NkdU?=
 =?utf-8?B?NzZQNkRFZFBRY2tRUlU2MWx5KzVablU2RXRnTmZrbFlObkpCbTNlM2l5Z0RY?=
 =?utf-8?B?T1FiUkhZeEVkSDhUSXlVS0phM2U0R2oxSW9jc3lkL3djT2pYZDJJVlg1ODR6?=
 =?utf-8?B?RHVwUGNIZnI2OE5VU3Y5T2VyYlJHLzI3dGRsT3FqTVFseGlPRjU3VXE1eS9B?=
 =?utf-8?B?Sm5Qa29TeU1hZVZNM3hHQlk1ZGZ2eDNYTkQ2dVlEbzZjMFZvUG51OGpYKzdM?=
 =?utf-8?B?RllicS9BTEtKeEJ6K2lnNFZ2ZnpXRmtkZlVsVTFxU2xaN2t6My9xUGJITnB4?=
 =?utf-8?B?UCtjYm9KeGQrT1F2bXBuUmV5L21kSEx6T0xzaE5HS0xUdVhnQ0hVTXI2aDhL?=
 =?utf-8?B?WExjR0lJbC80T2tXRWRYL2puMEQ3TWRXaVdjcGh1Y1F5VVluc1lYR05TMDdj?=
 =?utf-8?B?Ym5qdjlVWXBTSnBwYmUwWVRSYjFMNEJRZkJQY0tndmk1R3pCeTIxemFBSVNS?=
 =?utf-8?B?ODZiajczVUpNSGRtZTBnWkFLNVlJK0JHK053VXBUUDY4bnFqQURidkhsM2tY?=
 =?utf-8?B?NDgrU093YnpQVkxKVWo4STJ3UHFZdURzSVYwZHpNSmNnSWJTdlF1UU1QWkdJ?=
 =?utf-8?B?NjdnVVVRVHpqcWpJa04xUVhpYmFFRUUyaTJnUDhzWTZHUjRGNm9LV21VTURI?=
 =?utf-8?B?dFZIMUxrUUFHa3RNV3U4b3JRZWpSS2xkdWdFdGh0R3ZVSU5LcncraFEvdkRP?=
 =?utf-8?B?TW1WaWJSNjdJQXVydkE1NHZaQktMcm1PelZ3dS93SDhBMjJ5R2JuNEIwRGRh?=
 =?utf-8?B?SitjazU4YlhFKy82N3hqQktjT2RyeEMzWnBkSXlLSXoySHcvTE4zNkZiQWtQ?=
 =?utf-8?B?WlRKVzFHZUZIM2NYRmJtaFhQdjBjR054eHZIcnYzOXZGM2lwZ0gzc3BLcmdV?=
 =?utf-8?B?RW5xays3UGdYbGxudW0vZTJybFVTQXAycnlJL29ycTR5SXFtc2d4dzcwSHpR?=
 =?utf-8?B?TWJUUEJRSXhCVDlGc09SODFsOCtJYWljdUxoRFVyTUFvQlVPV0kxNUZDa080?=
 =?utf-8?B?Q0tMV0p5bTByVG1qeGRtN0IwcHNJckh5Ryt6czE4UXpTY2prWUF5eWpScU9n?=
 =?utf-8?B?UEx0TEVHaU9DVW1odmQwWk1yYzRsK09RQ2V3WVJKQXZQVjJMNUFJSlBDWmVE?=
 =?utf-8?B?L1U0ZXRTZlhaY0JkaTdmVWkydWEzSlM2RFJVN2ZwUG9tTlpJdW1MM1JVMEQw?=
 =?utf-8?B?U0dHb2Q3RE1KTTNtK2xzcDNDQ1VnbXNOTGxpcWM4dGhGR2c0eVVrcWtXVnlK?=
 =?utf-8?B?dFhEMGhRdy9xSDFiaVZLV3BZZGtqSzJycU55SDJpbW1jUEZKcXBycWRSS2xH?=
 =?utf-8?B?ZWw2QWFsSDZueXF6YUMrTEdCNGdNTXkzZUtPNkpVUFRkOWtvbEpPbHZYQ1g5?=
 =?utf-8?B?OEl0c2lDS0NEb1hqSytDK3gxazFHd1J2RTcvajRDNkd6T3Q2UTBaMTRVZHRO?=
 =?utf-8?B?Z0MvRDBVN2IvcFYydVpVZEFodXNIZGVZMXc1aEFyYVdSMnBVcFVCeWJ1bnM0?=
 =?utf-8?B?YklFeVg1Z2FHY2s1T1pHOXBtYVl3UnRmQ255R05GbGFxQ2ZackhsSUdEY0cx?=
 =?utf-8?B?OWpxeXQxNXorZHRmTWVRdXNGaWc5ZzIwa1kvL3RKamhleEd4VW45YldqUVlG?=
 =?utf-8?B?WTlNc3AzYjhyYzF1Q0VXZ2JWMzZwT2l2S2NVNUlnK1hYRncrWTRlTVR6ZHV0?=
 =?utf-8?B?aTllOW15SnArRmFPU1EyT1hENWVCeUN6amxBZjAyY0FtRWFsaytka1N1SWtw?=
 =?utf-8?B?c0xYZmp0M1NOVXFER253Nml3WjdTWi9Yb0pKSjJjbml3REQ2NG9rN1ZibVY4?=
 =?utf-8?B?RnR6cVovdFFYekJEM2MxZTdaMlFhaWtjZ3VibE5RcmhXejlnZ3hZaEJ2REVn?=
 =?utf-8?B?RGhrZFIrMWVmZEFkWGVYamo0b0VtWmRHTW1YaFJwcEd3UStCM2wyR0F4d2o3?=
 =?utf-8?B?RmRJZmcvMG1MUDZpNmZwaDZkeUJ2L2I2ZWZwWUVydTNXQ0YxL0ZsRzFZWWdu?=
 =?utf-8?B?aExxcldMWmxwWVdFZy9TRS9mVkFhMm9sU3QzaFowTFZwN0JPQjMyK3lIZjVX?=
 =?utf-8?B?SWZwOUU3Q2MzRHg4V0FGVm9uUTBhZnNPQ1MvQWZURWhXdHZMRG5leUNva3I4?=
 =?utf-8?B?Wi9lTkhRTUEyRENQdEJyTWl2TGIyQ1JtVUdwbFZ3aVY4ZXRCaGNhTkhWTXFw?=
 =?utf-8?Q?BGsORrc1/wltQRvk=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 55a0dab2-483f-47b9-8bca-08dec54bf7b3
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2026 10:52:00.3038
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nKBD09jqMLyInvh+clnM21cV0kAljXTeMX3mlwGE/34oo80vyCh/CI2ndDnU8295SADI9FJUrE7GbIBeHDknf1J5PiSxnqxZuxvhhg8pH4Q=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5544
X-purgate-ID: tlsNG-c201ff/1780915924-D857B443-6128E4CB/10/73395122804
X-purgate-type: spam
X-purgate-size: 4431

On 08/06/2026 11:46 am, Roger Pau MonnÃ© wrote:
> On Wed, Jun 03, 2026 at 09:53:31AM +0100, Andrew Cooper wrote:
>> Right now lz4, unlike every other compression scheme, unconditionally uses
>> Xen's unsafe decompressor.  Make it consistent with all other compression
>> schemes by using liblz4.
>>
>> The unsafe decompression is still required for the MiniOS build, so rename
>> xg_dom_decompress_lz4.c to xg_dom_decompress_unsafe_lz4.c and drop the
>> non-MiniOS content.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
>
>> ---
>> CC: Anthony PERARD <anthony.perard@vates.tech>
>> CC: Juergen Gross <jgross@suse.com>
>> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> ---
>>  tools/libs/guest/Makefile.common              |   2 +-
>>  tools/libs/guest/xg_dom_bzimageloader.c       | 128 +++++++++++++++-
>>  tools/libs/guest/xg_dom_decompress.h          |   6 -
>>  tools/libs/guest/xg_dom_decompress_lz4.c      | 143 ------------------
>>  tools/libs/guest/xg_dom_decompress_unsafe.h   |   2 +
>>  .../libs/guest/xg_dom_decompress_unsafe_lz4.c |  39 +++++
>>  6 files changed, 169 insertions(+), 151 deletions(-)
>>  delete mode 100644 tools/libs/guest/xg_dom_decompress.h
>>  delete mode 100644 tools/libs/guest/xg_dom_decompress_lz4.c
>>  create mode 100644 tools/libs/guest/xg_dom_decompress_unsafe_lz4.c
>>
>> diff --git a/tools/libs/guest/Makefile.common b/tools/libs/guest/Makefile.common
>> index b928a4a246a9..86b1f160e536 100644
>> --- a/tools/libs/guest/Makefile.common
>> +++ b/tools/libs/guest/Makefile.common
>> @@ -46,7 +46,6 @@ OBJS-y                 += xg_dom_core.o
>>  OBJS-y                 += xg_dom_boot.o
>>  OBJS-y                 += xg_dom_elfloader.o
>>  OBJS-$(CONFIG_X86)     += xg_dom_bzimageloader.o
>> -OBJS-$(CONFIG_X86)     += xg_dom_decompress_lz4.o
>>  OBJS-$(CONFIG_X86)     += xg_dom_hvmloader.o
>>  OBJS-$(CONFIG_ARM)     += xg_dom_armzimageloader.o
>>  OBJS-y                 += xg_dom_binloader.o
>> @@ -59,6 +58,7 @@ OBJS-$(CONFIG_ARM)     += xg_dom_arm.o
>>  ifeq ($(CONFIG_LIBXC_MINIOS),y)
>>  OBJS-y                 += xg_dom_decompress_unsafe.o
>>  OBJS-y                 += xg_dom_decompress_unsafe_bzip2.o
>> +OBJS-y                 += xg_dom_decompress_unsafe_lz4.o
>>  OBJS-y                 += xg_dom_decompress_unsafe_lzma.o
>>  OBJS-y                 += xg_dom_decompress_unsafe_lzo1x.o
>>  OBJS-y                 += xg_dom_decompress_unsafe_xz.o
>> diff --git a/tools/libs/guest/xg_dom_bzimageloader.c b/tools/libs/guest/xg_dom_bzimageloader.c
>> index 1fb4e5a1f728..32b3c682a447 100644
>> --- a/tools/libs/guest/xg_dom_bzimageloader.c
>> +++ b/tools/libs/guest/xg_dom_bzimageloader.c
>> @@ -32,7 +32,6 @@
>>  #include <inttypes.h>
>>  
>>  #include "xg_private.h"
>> -#include "xg_dom_decompress.h"
>>  
>>  #include <xen-tools/common-macros.h>
>>  
>> @@ -623,6 +622,133 @@ static int xc_try_zstd_decode(
>>  
>>  #endif
>>  
>> +#if defined(HAVE_LZ4)
>> +
>> +#include <lz4.h>
>> +
>> +#define ARCHIVE_MAGICNUMBER 0x184C2102
>> +
>> +static int xc_try_lz4_decode(struct xc_dom_image *dom, void **blob, size_t *size)
>> +{
>> +    size_t outsize, insize;
>> +    unsigned char *outbuf = NULL, *inp = *blob, *outp;
>> +    uint32_t chunksize;
>> +
>> +    /* Magic, descriptor byte, and trailing size field. */
>> +    if ( *size <= 8 )
>> +    {
>> +        DOMPRINTF("LZ4: insufficient input data");
>> +        goto err;
>> +    }
>> +
>> +    insize = *size - 4;
>> +    outsize = get_unaligned_le32(*blob + insize);
>> +
>> +    if ( xc_dom_kernel_check_size(dom, outsize) )
>> +    {
>> +        DOMPRINTF("LZ4: output too large");
>> +        goto err;
>> +    }
>> +
>> +    outbuf = malloc(outsize);
> I would use calloc() or memset() the buffer, just in case part of it
> is (wrongly) left uninitialized, as this is copied into guest memory.
>
> I see this is code moment, so possibly better to adjust afterwards if
> anything.

There's a later check:

Â  Â  if ( (outp - outbuf) != outsize )

which will fail and free the buffer if the output length isn't exactly
as expected.

This code is all manner of horrible, including the fact that liblz4
doesn't actually have a function to decompress a full stream; only
chunk-by-chunk with the caller providing the framing.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 10:57:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 10:57:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331591.1594154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWXfX-00078W-Sh; Mon, 08 Jun 2026 10:57:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331591.1594154; Mon, 08 Jun 2026 10: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 1wWXfX-00078P-PF; Mon, 08 Jun 2026 10:57:23 +0000
Received: by outflank-mailman (input) for mailman id 1331591;
 Mon, 08 Jun 2026 10:57:23 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wWXfX-00078J-5p
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 10:57:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWXfW-00HNvQ-H7
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 12:57:22 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a26a005-5cb7-0a2a0a5109dd-0a2a45098ea2-30
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:57:22 +0200
Received: from [52.101.57.8]
 (helo=BN8PR05CU002.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a26a011-2497-0a2a45090019-34653908bcbb-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:57:22 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by PH0PR03MB6477.namprd03.prod.outlook.com (2603:10b6:510:be::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Mon, 8 Jun 2026
 10:57:17 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.011; Mon, 8 Jun 2026
 10:57: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ikbs90yQ0RtEnFiR41YFrltCMcdhpm5OGa71ZT/32sVA+DQMh3knjnHn+ZYxQkQ5l1c2p8azg0eFTG6pMtCQmdWBL9+qhslx0oRDf6e0pBpBeYFH3uu3+gGcl0XHRHha7EdZHf4FxiIl0BphQLmHuosD9bzQOKpPJpnrluG5sJZKkTYNg24GoIYQ7o5KE30RXYKz4PRClS0b/BnrKC9Ikmd9lK21FGazmSsWdwdxXU9SOf8refdEBTcEjD2cRlmU+kWLTlGGgXHm1tQje8wP0m8oP+MYKqIJE3fi1hjHyFkyW0XRiccY1bYp/nOr54Ufb1y01PXc2ymn0ZSe5JLvjQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jz+ucGBYpoODR0sefRRf75M5nsQQgesV3gAsSYUpPNM=;
 b=ea5IMLjQ5WhQMUfyFj/iTh7bMNHcpg1zbTQXHBSspi7FvBdfDXwfDktu58QQIWndeKTLJhdHkIfFxgbB/fXMk6rzDEXY32tMrhW9+538RQJd+T1AHbjPCiXzHzBsG7g7t8WKv0X4CxQLRGP9MEUsVEJZ5OAPZ8w1BY61nJQcxO1hKxGwhBUSsi2pBDrY1qid9AwikBoud+k6HwCB/yNdVm2eIBwAL8REMLvzAabY0OYHI8NwehcMwW5pEbCnjciEHQ3AcYy43DsOBgLY0Ty/dcoXQVe8T19Pu5OeIaho9i8oQansBa0odbgwsuao/2j4G6mySnJp5NQjPTBWRHdkXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jz+ucGBYpoODR0sefRRf75M5nsQQgesV3gAsSYUpPNM=;
 b=wDU7j6rRbRdAyXprCxldpZVTQAeKL1yXoeknEeDwZOvd3QWerAIK4wng7M0Ae0rJLd6stKbys9v+iKWJTLN7mWak+8M0dTnaBOwXFzd37r/u6OqONYIL/HIrCG2yXm37+UPkcJi88B/JtoMdfm9kD/DfzAdh4pbZ/8QtCZq+VJk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <34bef293-0929-47c8-9dab-7570be2483fc@citrix.com>
Date: Mon, 8 Jun 2026 11:57:14 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH for-4.22(?) 0/2] tools: Use the system liblz4 package
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Jan Beulich <jbeulich@suse.com>
References: <20260603085331.2704108-1-andrew.cooper3@citrix.com>
 <4818e5b8-21e9-4f2b-9977-8fc4c9a4889b@suse.com>
 <23167e00-685b-4033-aa8c-6c44c705448c@gmail.com>
 <2e6bc1ba-72d6-4b4d-ba1a-226eb74fab0f@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: <2e6bc1ba-72d6-4b4d-ba1a-226eb74fab0f@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0112.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c3::15) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|PH0PR03MB6477:EE_
X-MS-Office365-Filtering-Correlation-Id: 95e9efd2-0ae5-4283-828a-08dec54cb496
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|22082099003|18002099003|56012099006|11063799006|4143699003;
X-Microsoft-Antispam-Message-Info:
	ja5/Ak0X3cQbi/ZdzVFDPSdwaFrf8yRgW0p8VsG/2RJBT/XgbByaoLcrxVOp4hFU6T8UunGpTHuyxkmBK9sbVY+QpnUOP5YAsHWSAwYntiOR4xQ5ZTBb3B8nX14SNrCn8KDWJjGNEKxEYLFOvBPTxILeN5VBMWTD6sKwql0GuIGvQz2MbbZB6MIRCeDFkws0CRFVNucCKB1RIIv8DNduYN1TTLLq75YxbqIvbcz3RWHjmwoY8+bZDGEe9ERlSw5VePX3Poc/hq4yEDPpd0e5JUxJQTEMXlpX4SK/zHf00aUleq7vssLGESACUMdrbW74WZ2arpvSU5enfLa7z15Z/01auIr3pVVhKD6IXzX+QlRMrE+w23hWo6enXEm3DSthx/q1gGdxtohOabwaiPSPAY2KSYXXR8LQu5C+nSPS1zuBKlbrYlLlM9XOeHbPao83IriDkbx+sfX/U4B178TiWRcqX8fj90Jh0llX2zOMhuqLQVVMOmTZfVARtwPwMRCPJy8aSLV552EwBC5HoX+6JF8Kp5OSc258cuK0paeW9vAGAPN5F8GWT87HC9bXO0YNmfocspoxxsxlMrL6kXa6FqPA5aQ9Luo9dm55vyxMQikyxmNtUxsjcGGD1kw2vZsMX4hNGOpXYoM61V8pes1Zcw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(22082099003)(18002099003)(56012099006)(11063799006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N2Q4b1ZRdnV1Uk8vZEZYc2ZwTUgzbEhKTE1BVWloZTRWcmRoVWZTSHFvUzBC?=
 =?utf-8?B?aGZyTlkyd2VXSktETHByaEJEMjJiMEM3N01jZWRLTkVieUErQkRXRE1mRlVD?=
 =?utf-8?B?akZJZzF0RkhnOUlDNXhPSjMxL3pTQ2VSVENDWVBGS2ZEN0VObUhPRGpQZWtQ?=
 =?utf-8?B?djQ1Q1IvQktSN01ZSEhkcnZtaUlLRzl4T21aNzNsU24wQTBpTzJ0UXRPaHpF?=
 =?utf-8?B?WlBIczhNRVpQN2dCblVtbi9lVzZNUk8xRmNva09HTDZ0RmIyYnk3NFdicmJk?=
 =?utf-8?B?U2dtRU9wblg4NDhOYXBRWUtoMkF6S1AyY05XTXpDcVZHdFgrMzZPZ3BIMm95?=
 =?utf-8?B?MzBUcFMrbURHeHAzaHZQS2ZpbzlzWDJJK0tuLzZ6Tk1qQ3ZXcDQ2WE1KYzhT?=
 =?utf-8?B?MXgyWllnY1dhbm0wbkc2NEh6MkZJdFVTUnB5SGlwUnIrdngzWlRqcWVjNElD?=
 =?utf-8?B?NDFKMGVHTkVkNHZXTjJHWk5uazgrOXdDYUk4TzRjZmI1WmRJT2F4aHJ4ejBL?=
 =?utf-8?B?dGdML2F6MjF6UnU5ZnFCbVRpT0VoUFcxZ1NRZnJLa2lnd2VnM3pMa2pIa1l3?=
 =?utf-8?B?TjI5QTl1QUZxUkZPRDFOU1VaYm9YVTNJNVhIZ1p1ZllYc1Q1Q0R6VEUvTmJG?=
 =?utf-8?B?NW9ldnUwREp3VXhaR3hSY3Fla21LR2x2TzdJMGZiRTE2dEhtTHRvRXJ1UENu?=
 =?utf-8?B?VmlrSUFGVUNxeHlBQzA0aElQL3ZqVGZIOHZYY0NGd1JoUUN6T0RCRUdXU3hQ?=
 =?utf-8?B?QmdDeFA5dkJtTHJkRUEzUnVOd1BiUG56R3h3aWVpWEtYTEdlQ3E2MXJ4VGZk?=
 =?utf-8?B?ZHBFTUhOeENNLzc2ajc2d1VrQkhPd21oV3k5U0JyQTBFU2VOc1ZPZTFvUFp1?=
 =?utf-8?B?SDJJMDdmanlVZk5pODJGVjBSdTBQS3hvV0srVExnTDBmWG4yMU9xaXAwc2l2?=
 =?utf-8?B?V0JlOWNZV3MwVjZPWnhiQjVMT1dsRkxKeTU0RDRmTWJ2enF6YUQ4alBYYnB4?=
 =?utf-8?B?Ky9wdjh5TDdXQjVKSHQzSm9SVGNRLzI4RjRZQUpBakV5T1l3VTVHTjZsT0hN?=
 =?utf-8?B?bUJ4ZGVkSGE2RE5uWDI5emdsdEZwZzlHaGl2ZHV0aWczL09QL2JGMWpqN2dP?=
 =?utf-8?B?emJycWhXN3NqZ3pNK2VGZ1Q2ZkJFdElvZDlRa0dHTjBybHkzY0R6V3Q0UlVU?=
 =?utf-8?B?cnBoM0xBZkhxNDlFb0ovR0JGcGpXUnpBeHNtUzNvaTlhRkVVbXFmalhWdDls?=
 =?utf-8?B?eHUvMDJNT3UvRHpyK3puQ0NlNlkrMjFmSG53MFVsdm5DUEM5RlJ1UGpuUk5q?=
 =?utf-8?B?dm1veU1vN09KTDJqT1RodTZ1dHpySEx3YzRiVmhObGVwY3RyNGJHWWhCc2R2?=
 =?utf-8?B?YWZSdEpHcUJzQ2M1Q25rTzA0c09UNGRWRnluNTdIOCtDNVJLWG8vTEcvLzRM?=
 =?utf-8?B?emdReEd3RmFaTWxwL3BkQUNFZEVrQmx3enlRR3FCVmlVWjArRkovRkRtZlI5?=
 =?utf-8?B?d3NRS3l5QS9WM0dYalZmbmh5L2c3OUc4S2I4b1lxZUs5cXdRMk9wRDloU1Iz?=
 =?utf-8?B?a3c0L0tNSHZuTVJJUVdGNCsyeGszVk9WdEU0T2gwR1A2d05qNU1aWGhOR2hx?=
 =?utf-8?B?TE9kd3JxelNRRko4R2VhemVTYXVOZFJFU1BEdVNDM1NYejdiT0w5S2Y0Slg0?=
 =?utf-8?B?VFM5QlBZY1hiRjVaNlFZcGdKc2xUczBkRUw0VVR5dy9tODVLL3pGM3R2aFpq?=
 =?utf-8?B?V2Y2WE1nSTYrQ0lNSUVGeUtLZzNDQm9WZVJtTWQrTWY0N3hwM0NKMzM2NlRH?=
 =?utf-8?B?VkExdjJ2RzF6empHdlQvOTErZXRLM3pxZHZXUUVqWXVtanNxRHRsTGJLQXlV?=
 =?utf-8?B?dU5FZy9tWnMxMVc2V29yM2JMQnhMRklTN0tPQ2FQcXkrWmREOXZOcmtYUUdh?=
 =?utf-8?B?MDNyUUg5OWFEZHZhOVF6amc2Slp2VkZGbThvMVU1M0tGc0JoS0FJVERlU2tp?=
 =?utf-8?B?Y1cvNEtRYndYYVprQmN2T3lNeGs3dkh3ZlMzUUk0YU0yL1d4Mnc5K1A5TmUz?=
 =?utf-8?B?Qi8rRlZ0R0dXUFh0eHJuUmd1RmxkbFdSUlBzdVBRRGVSbjV0WHBSckxUZEFq?=
 =?utf-8?B?QmlGUTU1K21IT1NoWkxsNitWdjZ0N0FmL3V4aVNqNjROY25VZVhscytMWkpn?=
 =?utf-8?B?L2xUN1NGLzdHcFF2M0pXUC9wcGp0d3BaSzJaak5xRDhvYWJ0cnFNUlB4cVFy?=
 =?utf-8?B?Y3BXSWpmVDRSUzZySXM0QmZ6aUlqa2V4R3FzcnY0VHVNcTI5ZDl1QzUwREFv?=
 =?utf-8?B?K25PUHhJMzRpZTI4SjZ5ZzNubnBzRVQ1S0xOSWNJZkdLMnJROWlla2grbjhy?=
 =?utf-8?Q?VjFi71WGrKSd6CEE=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 95e9efd2-0ae5-4283-828a-08dec54cb496
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2026 10:57:17.1956
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jzyMr+jiWcS8sO0KSulBIQgBAq/dVqbCBQLcMYncZfQIJRhR6Bj+ezfIDjRCsalDEs5xzeNE6hU85QL4P/v1BAvmCgOAtK1MtRC95Rxnttw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6477
X-purgate-ID: tlsNG-bad1c0/1780916242-4377AA53-862317A4/10/73395122804
X-purgate-type: spam
X-purgate-size: 2029

On 08/06/2026 11:51 am, Oleksii Kurochko wrote:
>
>
> On 6/3/26 3:01 PM, Oleksii Kurochko wrote:
>>
>>
>> On 6/3/26 11:16 AM, Jan Beulich wrote:
>>> On 03.06.2026 10:53, Andrew Cooper wrote:
>>>> Switch to using the system liblz4.
>>>>
>>>> This brings libxenguest's lz4 decompression in line all the others,
>>>> rather
>>>> than using the unsafe decompressor from Xen (itself a port of
>>>> Linux's unsafe
>>>> decompressor).
>>
>> Generally, the patch series looks straightforward and low risk, so I
>> am comfortable taking it for this release. Considering that...
>>
>>>
>>> As stated in 84f04d8f0dbf ("libxc: add LZ4 decompression support"),
>>> there was
>>> no shared library available at the time (and on the SLES versions I
>>> worked
>>> with). Later a shared library appeared, but the -devel package still
>>> wasn't
>>> there. On my main dev system (intentionally a relatively old SLES
>>> version) I
>>> therefore wouldn't be able to build/test LZ4 anymore if we went this
>>> route.
>>> (FTAOD this isn't an outright objection, as the goal of the series is
>>> certainly good. It is mainly a data point to consider.)
>>
>> ...does not consider this an outright objection. While this may
>> become an issue sooner or later on older dev systems, if the change
>> is accepted into staging, we could switch to the shared library
>> approach in 4.22.
>
> Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>Â 

I've included this incremental diff for CHANGELOG.

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1db3efc4864c..5cf19372a361 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,6 +13,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
Â  Â  represent a wildcard input.
Â  - On x86:
Â  Â  - Enable pf-fixup option by default for PVH dom0.
+Â  Â - The libxenguest bzImage loader now uses the system liblz4 library.
Â 
Â ### Added
Â  - Support for per-domain Xenstore quota in C xenstored (includes


~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 10:57:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 10:57:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331595.1594164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWXfx-0007vm-7a; Mon, 08 Jun 2026 10:57:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331595.1594164; Mon, 08 Jun 2026 10:57: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 1wWXfx-0007vf-3a; Mon, 08 Jun 2026 10:57:49 +0000
Received: by outflank-mailman (input) for mailman id 1331595;
 Mon, 08 Jun 2026 10:57:48 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wWXfw-0007rl-DJ
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 10:57:48 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWXfv-00CYoi-QE
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 12:57:47 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a26a02a-e002-0a2a0a5209dd-0a2a4507d2c4-6
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:57:47 +0200
Received: from [209.85.218.42] (helo=mail-ej1-f42.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgross@suse.com>)
 id 6a26a02b-229c-0a2a45070019-d155da2ac12f-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 12:57:47 +0200
Received: by mail-ej1-f42.google.com with SMTP id
 a640c23a62f3a-bec2ddee9bbso838203066b.3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 03:57:47 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bf055308063sm854822966b.48.2026.06.08.03.57.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Jun 2026 03:57: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1780916267; x=1781521067; 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=H9DOL/o9aLea2pHg1OX70F3vZ4vsfjUSxkft6MXXC5U=;
        b=RhxdykECBjvQcbgkqeDDQg0QIifaYEKOS7qkCuRgJqZ9GwQCpChIoGwNfZOd8WruzD
         qpaB5s5uzW++2fxRShnMNFwHFkAa79xEzCgHcIOgv2IF4AXJuPrEZuBrBVyTpsQrbdYK
         Hgg7LdQxpMCE3z0KxwOegnYsF4nnHJpe/ex0+XMMmXcnnwLrvPVr/T6rSC5Dkh2zrQJu
         J89nKXnX3uzYDWSubEZXacq4vyT8DJsPKoRXQBMvreE7+Mls6e4j2kki1CSXyve04e5/
         FyeVI9IhMrLidsWyPQINhreXv232XPaobZsWS9O2SCrMkLLnXeKoMsHdNxYxAlAKywlN
         qrng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780916267; x=1781521067;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=H9DOL/o9aLea2pHg1OX70F3vZ4vsfjUSxkft6MXXC5U=;
        b=JVVbf4wxiP4Tobp0BRstI3TVpIiI2QpHcOgJdLLxSjais5qVtd1zdo4w8wk4i4d+Z5
         zhym4N/1rhDdkpYDcFzXH9AMxKUEjOyJPc7MYZVO4vVNjQvCBR/hCcEI/u4W4zpuDsr5
         R+Fr/tgKJlwfWMR47C13CCgJDbLfuAZ71vOyFCbgi8gWwcjNzXIzNyhY/Ji9KgORApDw
         6B1FLQnTTI53Xeyz7XbLgU7KTaZftSEnUzoC86L1oBrNiq7EcHSj4JMc44IrHFH9AB0n
         pmWeAcGT8wmK9MIW+A9yc7ks/2HyvpQBjQId5Ujvw2c8KZ2+QlbbhwfYvJIFOErnoLjM
         5GKQ==
X-Gm-Message-State: AOJu0YwZfTX41NUdpndPV01pHqbsYdNTdNNC+vjHoDROju5yjdQ52TDr
	+Fbb1GVnS/Fmuh9w+eLAxogrjEA/C0lbIwsjoYGiO1kctsKFRIBQfrHzpOKUzYFfN04=
X-Gm-Gg: Acq92OExm+lP6r92FPsaH2PcHUassFtIEukubzrTe0nve9yU16TYiDF89b811eU+6k1
	gpXp83aQBkV56sl9N3DbhFnJDKazn9GIcBG3NBq0qu7jNUL7Sd8Pi2ZvuFxBQD7eJlhWVcRAdt2
	X4Wrw2HzXXclNzcMO8XUfkrsO3kSlPkotQbMi373GtlVtzpMOjT1tW+Ze7Pq41vyM/ZcgdNOiRd
	mLRoflWklmEiE5XLbLIA9sLFvCU5DfjN4/IItEe8jxKBBz8ygaGS75ike/kab9fiIvPD+SjtA0G
	C8micDMi4qaSN77nZQ0cZGBUvqtksFT3rugevr9sLTdosZE4od5edvTbEJxSyBJsorJ8rdXdN2K
	pEExZPW0CtRxzRTo9dAQdhO3xWaYqwKKPwZ4a+rAeETROtgY8fi9ubXUdOmopWK4DLbUrC3QdcY
	78FX7pHd4nKTEKTtur7Iigamb/YNOisZgGjL7qsuMQ2IcJ8xUJCBjM/UJ15PMvywi+kHJsOIx9e
	vH54FfcUWyfol2xCSupXNCqLU3B7U/6bJJaqusVN96s0vg2s3/Fi0a0mMbjvA7F
X-Received: by 2002:a17:907:7f89:b0:bb8:fd88:f400 with SMTP id a640c23a62f3a-bf370f6b0b1mr732997666b.21.1780916267018;
        Mon, 08 Jun 2026 03:57:47 -0700 (PDT)
Message-ID: <8d17788d-c7cf-47ff-9216-41f920eea621@suse.com>
Date: Mon, 8 Jun 2026 12:57:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [REGRESSION][BISECTED] Long boot time with Xen HVM guests during
 PV spinlock initialization
To: Teddy Astie <teddy.astie@vates.tech>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 regressions@lists.linux.dev, Thomas Gleixner <tglx@linutronix.de>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Olivier Lambert <olivier.lambert@vates.tech>
References: <1780914594.8631fc262581453bbf619ec5b2062170.19ea6c8227b000701b@vates.tech>
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: <1780914594.8631fc262581453bbf619ec5b2062170.19ea6c8227b000701b@vates.tech>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------EJhgzHWGeNJ9mz6vTP1C080x"
X-purgate-ID: tlsNG-ef75cf/1780916267-0B979C48-3F911089/0/0
X-purgate-type: clean
X-purgate-size: 8121

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------EJhgzHWGeNJ9mz6vTP1C080x
Content-Type: multipart/mixed; boundary="------------tsXtAwWUSZsZg0hsalyZJhEB";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Teddy Astie <teddy.astie@vates.tech>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 regressions@lists.linux.dev, Thomas Gleixner <tglx@linutronix.de>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Olivier Lambert <olivier.lambert@vates.tech>
Message-ID: <8d17788d-c7cf-47ff-9216-41f920eea621@suse.com>
Subject: Re: [REGRESSION][BISECTED] Long boot time with Xen HVM guests during
 PV spinlock initialization
References: <1780914594.8631fc262581453bbf619ec5b2062170.19ea6c8227b000701b@vates.tech>
In-Reply-To: <1780914594.8631fc262581453bbf619ec5b2062170.19ea6c8227b000701b@vates.tech>

--------------tsXtAwWUSZsZg0hsalyZJhEB
Content-Type: multipart/mixed; boundary="------------L6wly7QKGkrOWKkKyWHkEh4X"

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

QWRkIFRob21hcyBHbGVpeG5lciAoYXV0aG9yIG9mIHRoZSBwYXRjaCBpbnRyb2R1Y2luZyB0
aGUgcmVncmVzc2lvbikuDQoNCg0KSnVlcmdlbg0KDQpPbiAwOC4wNi4yNiAxMjoyOSwgVGVk
ZHkgQXN0aWUgd3JvdGU6DQo+IEhlbGxvLA0KPiANCj4gSW4gNi4xMi41KyBrZXJuZWxzIG9u
IEFNRCBDUFVzLCB3ZSBvYnNlcnZlIGFibm9ybWFsbHkgbG9uZyBib290IHRpbWVzIHdoZXJl
IHRoZSANCj4gZ3Vlc3QgaXMgc3RydWdnbGluZyBvbiBQViBzcGlubG9jayBpbml0aWFsaXph
dGlvbi4NCj4gDQo+IFRoaXMgb2NjdXJzIHN0YXJ0aW5nIHdpdGggNi4xMi41LCBhbmQgYWxz
byBvbiBtb3JlIHJlY2VudCBrZXJuZWxzIG9uIEludGVsIA0KPiBwbGF0Zm9ybXMsIGJ1dCB0
aGF0IGhhc24ndCBiZWVuIGZ1bGx5IGludmVzdGlnYXRlZCBhdCB0aGlzIHRpbWUgKGJ1dCBJ
IGFzc3VtZSANCj4gaXQncyBhIHZhcmlhbnQgb2YgdGhlIHNhbWUgaXNzdWUpLg0KPiANCj4g
VGhpcyBvY2N1cnMgc2luY2UgYSBiYWNrcG9ydCBvZiA3NjAzMWQ5ICgiY2xvY2tzb3VyY2U6
IE1ha2UgbmVnYXRpdmUgbW90aW9uIA0KPiBkZXRlY3Rpb24gbW9yZSByb2J1c3QiKS4NCj4g
DQo+IFNvbWUgKGNsYXVkZS1iYXNlZCkgYW5hbHlzaXMgbWFkZSBhcHBlYXJzIHRvIHJlbGF0
ZSB0aGF0IHRvIHRoZSBsYWNrIG9mIHByb3BlciANCj4gbWF4X3Jhd19kZWx0YSBpbiB0aGUg
amlmZmllcyBjbG9ja3NvdXJjZSB3aGljaCBhcHBlYXJzIHRvIG1ha2UgdGhlIGNsb2NrIGZh
aWwgdG8gDQo+IHByb2dyZXNzIG1lYW5pbmdmdWxseS4NCj4gDQo+IEhlcmUgaXMgYSByYXcg
c3VtbWFyeSBvZiB0aGUgYW5hbHlzaXMNCj4gID4gV2UgdHJhY2tlZCBpdCBkb3duIHRvIGEg
c2luZ2xlIHN0YWJsZSBiYWNrcG9ydCBpbiA2LjEyLjU6IGNvbW1pdCAxYTY3OGY2ODI5YTgg
DQo+ICgiY2xvY2tzb3VyY2U6IE1ha2UgbmVnYXRpdmUgbW90aW9uIGRldGVjdGlvbiBtb3Jl
IHJvYnVzdCIsIHVwc3RyZWFtIA0KPiA3NjAzMWQ5NTM2YTApLiBJdCBpbnRyb2R1Y2VzIGEg
bWF4X3Jhd19kZWx0YSBmaWVsZCBvbiBzdHJ1Y3QgY2xvY2tzb3VyY2UgYnV0IA0KPiBuZXZl
ciBpbml0aWFsaXplcyBpdCBmb3IgdGhlIGRlZmF1bHQgYm9vdCB0aW1la2VlcGVyICh0aGUg
amlmZmllcyBjbG9ja3NvdXJjZSksIA0KPiBzbyBjbG9ja3NvdXJjZV9kZWx0YSgpIGNsYW1w
cyBldmVyeSBkZWx0YSB0byAwIGFuZCBDTE9DS19NT05PVE9OSUMgZnJlZXplcyB3aGlsZSAN
Cj4gdGhhdCBjbG9ja3NvdXJjZSBpcyBhY3RpdmUuIE9uIHRoaXMgSFZNIGd1ZXN0LCBTTVAg
YnJpbmctdXAgcnVucyB3aGlsZSB0aGUgDQo+IGppZmZpZXMgY2xvY2tzb3VyY2UgaXMgc3Rp
bGwgdGhlIHRpbWVrZWVwZXIsIGFuZCB0aGUgWGVuIHNpbmdsZSBzaG90IChoaWdoIA0KPiBy
ZXNvbHV0aW9uKSB0aWNrIHRoZW4gYWR2YW5jZXMgamlmZmllcyBmYXIgdG9vIHNsb3dseSwg
c28gdGhlIHNlY29uZGFyeSBDUFVzIA0KPiBidXJuIHNlY29uZHMgaW4gY2FsaWJyYXRlX2Rl
bGF5KCkuDQo+IA0KPiBUZWRkeQ0KDQo=
--------------L6wly7QKGkrOWKkKyWHkEh4X
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-----

--------------L6wly7QKGkrOWKkKyWHkEh4X--

--------------tsXtAwWUSZsZg0hsalyZJhEB--

--------------EJhgzHWGeNJ9mz6vTP1C080x
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/Ey8FAmomoCoFAwAAAAAACgkQsN6d1ii/Ey8y
6wf+OG96gAV1ZcRnq8/dlt9Jje0fZQEXvS3qKFdnHSXZuE7J2l/hCL8Mmsu/0zrLOofq+OqzH/5P
eVcZU7/To0S7vr/W21V7u2DooWhAX7jdKtZzcaTY8KMFhnay6ySi7CakSgD8IOEaqbgAfjD2rRfs
cIe5jvQ5IarH+wtyEM0tb47YaOB8YI1KaAFbcvHlAaDxMVp2NyeN7NbwC1/y+4TJmLrKX4MqoSiB
Mj47/Em8mkKhPI5bCvVoxR1qy0lzcRWx/9oUNtVMYdOdiBDzh9ZMOBgSb+lvSuHlleVSWhUZJu4J
It+jwYi9R1vftcBufTT8sPGJhzYgyuvp7IFS+pHBhQ==
=h4Ky
-----END PGP SIGNATURE-----

--------------EJhgzHWGeNJ9mz6vTP1C080x--


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 11:30:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 11:30:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331611.1594173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWYBM-0005g5-Ir; Mon, 08 Jun 2026 11:30:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331611.1594173; Mon, 08 Jun 2026 11:30: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 1wWYBM-0005fy-E5; Mon, 08 Jun 2026 11:30:16 +0000
Received: by outflank-mailman (input) for mailman id 1331611;
 Mon, 08 Jun 2026 11:30:14 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wWYBK-0005fq-Po
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 11:30:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWYBJ-007gy8-NQ
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 13:30:13 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a26a7b0-5cb7-0a2a0a5109dd-0a2a4507971e-38
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 13:30:13 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a26a7c4-229c-0a2a45070019-d155802de4e0-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 13:30:13 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-490be03d47bso34722955e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 04:30:12 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f344558sm49688085f8f.18.2026.06.08.04.30.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Jun 2026 04:30: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780918212; x=1781523012; 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=6waQIJaa39CAh4dYYbApd4Y2fy9w7Y/ws0RJBzzpW/A=;
        b=kmc75udPS9hP9wfNWqJgE9TPzIVQ1d/pah1qLuCnTMXrLOaahE8hyk5RX1C6HhZxcm
         FR5BFE4iHftp4vWrDxHb90JtiIZbbZA+eBwlBlbGV4qAZ+Ko8w9MgfrATTA476AsWYx2
         6FY3Mrvv27So4t1xJQmfwPGrAmgybRRjCit7vhgH6CNASAGePApm1Er6k6b8G2nVuVVW
         x9S/uL5HEI1q5XJux2XFxrrRhmDOzy6PeKVEcgnhcjIa49brxXiUuF3aKVyorpiySKel
         guFgiY6IS8BkcbutaWzP05SxV98HD5e7chGNflMZvb923Fi+A5TODUe80sHPLYY2j6np
         5GMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780918212; x=1781523012;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=6waQIJaa39CAh4dYYbApd4Y2fy9w7Y/ws0RJBzzpW/A=;
        b=W/a/IhgV/X5n1Ho8uJ/QvTmGA/ipOh+zFKSin/3gl8NBaNQMaWxcuqD6uWU0I5wFxx
         Ck0IocuC9pmlq1MhnNaWKIG8hADSk7CmLPiKminiZ/oTlXDjSvq5RB5Isvsl35DKL3X7
         qY6PyszqtHIrEN0CKaAxBwha/FWWRarlDr90EFTKxQYkwSzetFtDWm6eZkTSxXSJ4IhB
         sAxxAfRbCK6/rW8ReEckUl+olw1J9jnxagOQLXaUQ5zXXegSDvEWYAxy0wvjjiKkEqB3
         uPG5sOvCyjFqavZe3zhp+qOke8j1WKkb6aRgH5ZBha1+glNHyjp+utb1ZMNJju0QJcai
         SiFQ==
X-Forwarded-Encrypted: i=1; AFNElJ+X/Y/xiLy6MirTyHy8sS3YyMnW9ZiSAkJsbPiaB94hXEv5gf2Lo8krcGVQwrZQkDJ13Kqc7b/xMn0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxzvY1EjqXXjRFVo6kfYFWhaP5i8M5YF+fqNpHouG1e6H8FYhwf
	0NU45G7mppVBCqoipcxZOEwKDUVE3nXhasFdOLGjkxW1uzkzX50dc6Ab
X-Gm-Gg: Acq92OGxgc2tbdYaum5k/0lIwVlxww3L8BLk/axdvdAf9785ebnAH6ewPGBg0qJ1hav
	Lq2DU75CaE8M57JEB8mIzZciK8ntQt+FARXIM3j9Y3AlOMByAiF2X8EEmTjuqw1Z9IRn5blUzDO
	a/OI6DUJ5ATIqzzrimPEMO+5qLZeNaOPIhAKzyfOhwCJt/OSbRM8+c+hHD3H5oDka/eiwYV1E+o
	k3RHx1fFI+/hUBuU/tURHE3Coto4GFVYPeYVuLJvGduRMP5U/Xlj0PBQmvvHvKf6TSMFY2YWPPh
	Qaz/Nufw/eScqGoOquHwEokEKovtr+RlKNsQxsixUbT08GvzeG6DR9UQXKUATiIf01xGvONRSjw
	1ShHEfacF66GhucUTMmFxp/JlCxbmI4tMmS4eCPKuwOTDJTzCLWqZybeptnk/dkII/6laAgi3U7
	QCfc/aoeRIRUmIVGp3ckzy+BOObM+tJ3PEY3VqEYU/+zk+eP0pdM2Ood4V0U6A7Zz/FJiRYt+k6
	IlAEGX3n5DsvZF/
X-Received: by 2002:a05:600c:1c20:b0:490:6237:5200 with SMTP id 5b1f17b1804b1-490c259eaccmr236459235e9.10.1780918212021;
        Mon, 08 Jun 2026 04:30:12 -0700 (PDT)
Message-ID: <63141a14-c2f4-43a2-a325-8cf87ae1bd97@gmail.com>
Date: Mon, 8 Jun 2026 13:30:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22(?) 0/2] tools: Use the system liblz4 package
To: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20260603085331.2704108-1-andrew.cooper3@citrix.com>
 <4818e5b8-21e9-4f2b-9977-8fc4c9a4889b@suse.com>
 <23167e00-685b-4033-aa8c-6c44c705448c@gmail.com>
 <2e6bc1ba-72d6-4b4d-ba1a-226eb74fab0f@gmail.com>
 <34bef293-0929-47c8-9dab-7570be2483fc@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <34bef293-0929-47c8-9dab-7570be2483fc@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1780918213-21969C48-53040428/10/73395122804
X-purgate-type: spam
X-purgate-size: 2086



On 6/8/26 12:57 PM, Andrew Cooper wrote:
> On 08/06/2026 11:51 am, Oleksii Kurochko wrote:
>>
>>
>> On 6/3/26 3:01 PM, Oleksii Kurochko wrote:
>>>
>>>
>>> On 6/3/26 11:16 AM, Jan Beulich wrote:
>>>> On 03.06.2026 10:53, Andrew Cooper wrote:
>>>>> Switch to using the system liblz4.
>>>>>
>>>>> This brings libxenguest's lz4 decompression in line all the others,
>>>>> rather
>>>>> than using the unsafe decompressor from Xen (itself a port of
>>>>> Linux's unsafe
>>>>> decompressor).
>>>
>>> Generally, the patch series looks straightforward and low risk, so I
>>> am comfortable taking it for this release. Considering that...
>>>
>>>>
>>>> As stated in 84f04d8f0dbf ("libxc: add LZ4 decompression support"),
>>>> there was
>>>> no shared library available at the time (and on the SLES versions I
>>>> worked
>>>> with). Later a shared library appeared, but the -devel package still
>>>> wasn't
>>>> there. On my main dev system (intentionally a relatively old SLES
>>>> version) I
>>>> therefore wouldn't be able to build/test LZ4 anymore if we went this
>>>> route.
>>>> (FTAOD this isn't an outright objection, as the goal of the series is
>>>> certainly good. It is mainly a data point to consider.)
>>>
>>> ...does not consider this an outright objection. While this may
>>> become an issue sooner or later on older dev systems, if the change
>>> is accepted into staging, we could switch to the shared library
>>> approach in 4.22.
>>
>> Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> 
> I've included this incremental diff for CHANGELOG.
> 
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 1db3efc4864c..5cf19372a361 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -13,6 +13,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>  Â  Â  represent a wildcard input.
>  Â  - On x86:
>  Â  Â  - Enable pf-fixup option by default for PVH dom0.
> +Â  Â - The libxenguest bzImage loader now uses the system liblz4 library.

Looks good to me.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 13:01:54 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 13:01:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331636.1594184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWZbm-0001KN-2P; Mon, 08 Jun 2026 13:01:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331636.1594184; Mon, 08 Jun 2026 13: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 1wWZbl-0001KG-W0; Mon, 08 Jun 2026 13:01:37 +0000
Received: by outflank-mailman (input) for mailman id 1331636;
 Mon, 08 Jun 2026 13:01:36 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wWZbk-0001KA-OE
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 13:01:36 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWZbj-000HUb-PH
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 15:01:35 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a26bd29-5cb7-0a2a0a5109dd-0a2a4504db36-38
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 15:01:35 +0200
Received: from [40.107.208.32]
 (helo=PH0PR06CU001.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a26bd2d-1dec-0a2a45040019-286bd02050c6-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 15:01:35 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by IA1PR03MB8192.namprd03.prod.outlook.com (2603:10b6:208:59c::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Mon, 8 Jun 2026
 13:01:32 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.011; Mon, 8 Jun 2026
 13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=b5fpBqz98P8jU2FC/+8xvQeiK6i2PpmwUMWjC8+2PYM2GzAZcBDXd9h/lJn+jD+HdhrcWNnsvNn6OrfmMk4U5ucKQGijIvUI7vmQH3wQiDIC3h84g7eeqHH9JyrqO8vVY985zYEJzdbXZcplAGrQ55YHANM6UUEv9fO5tLWLMzuDSlJqciJ6263EMze6+/vFu9GTEEoU+AcQ04jlj4xLqb8dbPQsiFviduZPLRRTFucH67boTx3nrto/8rIft5XdMvVIZo6OI1cs1N19KsBZEUylvo64dHVMUvTHpfjnwA4WEbqV9qpOsHN4kJdG29ilsgy0WAjKTEcBYVJ6SXZ//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=srDP+9dqUSQAs2nFA27JviZecC10Uy/I7iwWVG+cqW8=;
 b=UdttyT8R4gz7p0W96FZs4D/UIQO0PS8F0ZADrSAcMgFuKikJc8R7y9sBFhdS8lit1ecNs5M1y5d0ElwPW/bfkya0tqWgmjNhoByyWO/2OogvS96DVQt40HpHhVJ45C1Fp6SMqN2+xFcO1S2jJ1nyYUSe6pBOK9XXxVA2jDyZGM0WdLcOns1+NDp6qIii+g9Id1/SMZL2fAP00/pkY2bkV7gspvDslvlzAakN8jTvKNRghyVucPVpsRkgWnonprfPyWevwVvdkh4Fm9DkHnvGqtKYGoovzHJN/IWXYoYHJlQ8uMxVT8mlIOBO+sj6wUyItahIPIL9qfdjM/ieiR3etA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=srDP+9dqUSQAs2nFA27JviZecC10Uy/I7iwWVG+cqW8=;
 b=QmL7ShN1joZqcAYsrGB5+HN9rz9a1XofP/HjnHwVHwvZ7KF3YGQSuRTjbBm3EOyyCv2eiQyZY88dsArDDq6SC2/1JZmUDDZwX5YayGV2aEMBHrn/xjaFcV3VS3cogqSQlC60gOAI3cILlSGu8Rzs38BeSxQ1zw1KUHsubM+FLuA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 8 Jun 2026 15:01:28 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Furkan Caliskan <frn1furkan10@gmail.com>, oleksii.kurochko@gmail.com
Cc: xen-devel@lists.xenproject.org, jgross@suse.com, dfaggioli@suse.com,
	gwd@xenproject.org, stewart.hildebrand@amd.com, jbeulich@suse.com,
	andrew.cooper3@citrix.com
Subject: Re: [PATCH for-4.22?] xen/sched: remove duplicate trace.h include
Message-ID: <aia9KAdYMxbZsihD@macbook.local>
References: <20260531140819.73467-1-frn1furkan10@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20260531140819.73467-1-frn1furkan10@gmail.com>
X-ClientProxiedBy: MR2P264CA0165.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:1::28) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|IA1PR03MB8192:EE_
X-MS-Office365-Filtering-Correlation-Id: 32b184c1-64ed-4196-941c-08dec55e0fe5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|366016|56012099006|11063799006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	DA7l+GhKDCjhULSJ/bmfB0zgiWEkaquKqNW1fLR517FKqtEmT4LokSVVa6/mclmeRo7pNkXysJptoUgG+RCj6mJCciJsb97Za3w50uHvvROm0jUuVKdVPxn7xi45G1mB+HBlgeR+WfgmUr35M8kg+bh+QJ1R36inxXYmuxFo509roorZUFuIqURuWI+1+8BN9n3gi1wyPQLOmbE8pdnj2L0npOI/cEqnsV1PKVvxlSYRrDyVr/OvO43cDzdreI1Yp5+o1Zr9cuMfG8rcwrNRayt9/ndjccIK9LhOR9pxaqRApEw6g1+3Ip77GrSYRPvd35hGeroo7vN2Fea/mnhi8LqGUPxmKB3gRpLWUF60gBqIiezzoLAwJPMlVovOkRIkPO9ICioIDx5kiZhFJgbpT87GujW2FdXOsUECp787AdnN70N9yWZpSzVS/wi0XIqTtLg6s+U1UuMJfFmKdaKiNKBhpbkggn6T2HtrzyHNAF2QRYlhK94PoD7TJxISyFDUfJv2BEMH2wUFZmVQqIePXF+TTcFqTxWG52HJJqKeJ4Mq+a+4Frb0K4tg/yTZsbmvIp+BuGOZ+KFdd0P5tFXFP+YVHrQfypk3ngtjhpZ1KyDEE/nfb9h4YCJmPtfiZJ1SDMG/71rBOQzkkmzW0CPMScetO5A+IxS4TDiE0P9qjeZj4PkUjuoJRobw8p7QXlgB
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(56012099006)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VTRxZ29EUndoS3hncU5nc0hPWFFiTXl0Zm9iY3pabHFxbU9UU1lGbVpXWDQx?=
 =?utf-8?B?NWVzRm5HV3Y1akFMeGJLNzhreGFsVlFHeHRld0Nkem9pWVlWdWxOemJCUWdZ?=
 =?utf-8?B?cno0cFhOWlA3U2lKcFZZK2s4NW14dmYzcUh0SnpmTFJvaHpFbmdpZ2pOOElV?=
 =?utf-8?B?cVB0eFFyQlMwRTBNR3JPSFI3dFdGVnBDYXpjRG52WlhuUFFPQVdpd0Q1Umdn?=
 =?utf-8?B?L0ZTTGFmc3F0SlhSR0Z4eWV5KzF5U0tycWh5UnNXbzBrQmtYVWdxMVZtTktU?=
 =?utf-8?B?VlM2eXlBc1EwN28rYnBBU3NaUFJlT1Y4OWpXOHdsMHhKZ0Z3UmtmbDc1QWpO?=
 =?utf-8?B?eUZqOEZneG01Q1Z1UXNxbFUwcEplQkYvUHJaenhyUmZrQXdXZDNLdDB5c052?=
 =?utf-8?B?a2xDd2sxQVozUWV6ZHN6UmdDVmg4a0FPNlB5Y0NuZXp4Ymp4alRwVEsxOTV6?=
 =?utf-8?B?VXhxZ2lSK2ZxKysyWEE4UFRxMEhWcDhrbUt2TUN3Z0NtUWFNcjh2TGNDYUg1?=
 =?utf-8?B?bGxFOFZNay9CRWNNTVo3cVpsZmFiRDNxRHZmb295YkV5RWU0RlJwSWt5ZWx3?=
 =?utf-8?B?SGdFYzY1Z3BseXhNSU9pUkZPejJxVFlFYWEvbWJjemtVWmhHdFlxcFhSZDRN?=
 =?utf-8?B?U0FMdGJWcXhMQzIrUEZiNlZocUFoWDU1Rm1xVEFDZGVMM0V3ajBZaEFCS3dX?=
 =?utf-8?B?Mm4zVEo2N1ZEYzhQVDMxdG1hajNkNnhMcjdkM0tzWThGVjBabWlweTU3cXFq?=
 =?utf-8?B?c2FMTVFyQmErZ3kvdHhKUjdpMEZHc3psbVE4ODRBSFA1aXNyT2tXUndkeSt6?=
 =?utf-8?B?SUkwTTd1OTBIYU9sV3FyUjFzTjlxUGllams1M2twUmMvTnloL2NhUXE4amEx?=
 =?utf-8?B?WVZTTzk1NnFDRHNIUlM5NUJ1NTcwL0hSMVkzYU5LbE1Wa1pXN3VSVE96QURz?=
 =?utf-8?B?ZjJzZWlvYmQyZVJNT25weVdyVWZQYjlpdm4wa204ZFpFNkhwaElMdVVwdkZQ?=
 =?utf-8?B?SGlKM2ZjdldOS0RvOGhnc2VUZGFQOEhYenN0eURVSUgzalMxYVVyc0EzZ3pT?=
 =?utf-8?B?L1dvSzF3RWVCRWtwZStTYnNPVWV3dWxxVndvb0FMV3VwMUI3cFVUMG5SY0ZT?=
 =?utf-8?B?RXR4YUFyS3c3WUVaYW13SDVmdTk1eXM4VE1YZUhpdEpnYVl3YXFhaFB3Vi82?=
 =?utf-8?B?VFRDR2FJak11UkttNjErTm0rRjIzUEFBTHdHaXBjSE5TSkYyVTgrTWlJd0c2?=
 =?utf-8?B?Y0xsMmFHVkFUU0J0SmFFMUY2bHBBOUh5bW9UT3BiNDBGTktlWCtzNmh0WkJW?=
 =?utf-8?B?WDA3ZVpxZ1hxSTUxYWVhd0EwQ00wOHJHWWlOYlNNd09PK3llUk5RZy94VEhH?=
 =?utf-8?B?YlZqSHZBOGVoNUE2REZYUG9jSnBrNzBvWmRRN3NsbDlSNEJ4eVErZm9XcHMv?=
 =?utf-8?B?ZC9WaXNwbDN4WkEwT2JBUWhpRUZyUWJ6Z1dSK2lUTUVRTTlyZVBzYWsvRk1U?=
 =?utf-8?B?Mit0eXlxWHp0bVRoVG1YWVl0SUtMeUhYbFl5QlYvNk8zUFZXL0h2d0g3VGdZ?=
 =?utf-8?B?emUveVhnbVp4SzJJY2JvSjhJQWhIbitHdFo5SnVuNmd6dXdIeXNyOHdCd1J4?=
 =?utf-8?B?WXpnMDBwekFRWEtKWllXTFMyTkgyR3FhWG11V28xalBSdHdRY0c1akJ2b0Uy?=
 =?utf-8?B?ODVIVTFjeUxZRi9oUWFiRENTU3hPQ2x6RUsxTStSc0hubzJuR29XUGlJby8x?=
 =?utf-8?B?SDFYQVVZN3ordWZtWTFMTmZmNzQ0MVd4Q1kxMEJsbzJJcTBvYmJmcmczS3R4?=
 =?utf-8?B?cW0zMWQ1V3NzZE1JMmF5d05JOHgzZGZCeGtBWXpsWjFDL3V0a1JlOFo2TW1U?=
 =?utf-8?B?dGR5ekZkYkNoVDNuSkl1N3VYVzJ0OThuNzFPSlJSNjB6aDRObWFLSFM5UU5E?=
 =?utf-8?B?d0l5YjgxWDdOM1ppRUNvZUdvditMSWNiaktDT3lpajhkNU5EY01yM1RjbkhO?=
 =?utf-8?B?TTdZeXYramlJREhiRkZReW1HUEZZRU1GZndqOENzVWJ3MnBRTXowakJIZ2Nk?=
 =?utf-8?B?M3dXM3FyL3BuOXdaZDZjOGV6TWIvNy9wWFMxWmlLODI1NFduY0lzZWMvc3Yv?=
 =?utf-8?B?V0xGd3V2K2RxQzJpVjJWT1RIazExOFV5V0grelhZQlBua1RSMHlUYkVnb2tw?=
 =?utf-8?B?Q2FNcHNwUWN2UkNZNXdrSnBVZU1KVmNSSFR3UHZTV1RublZNcTNoOVUwUmFi?=
 =?utf-8?B?K0kxUTNvdi9vdFRHR2hUMTI3elVnZ2FLN3Z3WS9ST1dzZXdOdXNsRllyclZM?=
 =?utf-8?B?LzhNUXlCbGJlcVVsSVRVN3lpZUtpTG04azROYmdkTUcrWEE1ZW1xQT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 32b184c1-64ed-4196-941c-08dec55e0fe5
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2026 13:01:31.9523
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GiIvJPhoIIBtscWropnGZ1lmh0Ei8R0/+xL5znFk71F6Ci7aB9qXf+DZ6crn+rfbEmfJRcfEbFFK1w+m+3Ognw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR03MB8192
X-purgate-ID: tlsNG-ebf023/1780923695-29B7B3FF-7B9C6FC0/0/0
X-purgate-type: clean
X-purgate-size: 327

On Sun, May 31, 2026 at 05:08:19PM +0300, Furkan Caliskan wrote:

Fixes: 8726c0557752 ("xen: add real time scheduler rtds")

> Signed-off-by: Furkan Caliskan <frn1furkan10@gmail.com>

Given this is non-functional change, and has a reviewed-by, what do
you think Oleksii, should be commit it for 4.22?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:23:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:23:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331670.1594229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWasZ-0004dn-2r; Mon, 08 Jun 2026 14:23:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331670.1594229; Mon, 08 Jun 2026 14: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 1wWasZ-0004dg-0F; Mon, 08 Jun 2026 14:23:03 +0000
Received: by outflank-mailman (input) for mailman id 1331670;
 Mon, 08 Jun 2026 14:23:01 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wWasX-0004da-C2
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:23:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWasW-004MTR-Ou
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 16:23:00 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a26d038-5cb7-0a2a0a5109dd-0a2a4501ddb6-42
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 16:23:00 +0200
Received: from [52.101.57.46]
 (helo=BN8PR05CU002.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a26d043-c1f2-0a2a45010019-3465392e9f63-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 16:23:00 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by CH3PR03MB7361.namprd03.prod.outlook.com (2603:10b6:610:1a6::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Mon, 8 Jun 2026
 14:22:57 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.011; Mon, 8 Jun 2026
 14:22: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=gRg2BaerpBxbfktoj+aFqs0XobiMIi/HqcS6cxlq5vrkTUlFsuatPp+waFEmr+mAgwa90FLPOvVF2W8cLPfxXNKPtPUBuobxpO+nUjpna9inTtU3TYcl21AmZcMx8Qh3fBF8KnL9po8LL96mO4hi6KT+xJeIQSwPujPHevwtFEIKq6ylx4jEUWtcyRTR1KcWg62HKHJ4ZkFJ/wHBC+5JxAqCTFAsEPAGy2JhHqlWad35VdDd53yrx7MTbhpIp3ob0lFa+ak9YvqrIPv9k4Y+e5wV6ss+RUxqCxPi5nycj+jauhD6J+7FzttDWEg2I1iQHiQBKQY5+VKKXGxDnknQ7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Gf9FbH3sawEqfVJhCcjgRsUN7h1KXfkMtsmcB52mMs4=;
 b=Ma1QH0Rv3KXMiIg4YqUz4aXwd8S8jscK1DoMSim+MMXQmxg23fHxEAvon7qJGDvJTBhe5lFuNvNHENRgdRflEGmpt+1H5oE+2o9nbDz4CPzjV+zN9+Z76bZbnQZvooms60P0aQDaNV8VViZXS4WBGPy0ZJClTEMKgjmEJ0ZcInT+USOFsEgau8ps4AXsb5GlR1+cULP/Tv8bWWG/oBfqdTaAnm+ZC33lezu2hqz7lKUehmcb85V3E1l1g1JZ3Z4FZNUu136pLgzBrXmKu+9ytoWetE95LvMAMZ+buLYPNGOt/tX2QfHFXHBqBvRR/z/a9C1M5DRnhbcK9KCJYTYBQg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Gf9FbH3sawEqfVJhCcjgRsUN7h1KXfkMtsmcB52mMs4=;
 b=SQS1c/+Yr/0umK8Ia3l71fGDm2Xcqk+OitovagTJ8cdmRNBHwzMyAS81cnkCg3ULDzo5FZMMJJGzgatZR/qiK7JLX/YRCKJDOo9uZywqJEZ5wTP20VSBlXjc1yJcdQeuj6NUXUCdPEZMwxhrupNzwJD3jLgmYPN7T7dYFMiPHMg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 8 Jun 2026 16:22:52 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Frediano Ziglio <freddy77@gmail.com>
Cc: xen-devel@lists.xenproject.org,
	Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v4 01/16] libs/guest: Reduce number of parts in
 write_split_record
Message-ID: <aibQPLHlV6-fNtLO@macbook.local>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
 <20260603130603.776452-2-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260603130603.776452-2-frediano.ziglio@cloud.com>
X-ClientProxiedBy: MA3P292CA0037.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:46::19) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|CH3PR03MB7361:EE_
X-MS-Office365-Filtering-Correlation-Id: 96eb734b-32df-4640-8cf3-08dec5696e66
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|11063799006|4143699003|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	ahslcXqaF4UtMJ1bKDBVsDIW0mTzYrb2Q34Qz8FtX+Q9GA+pCuIwnjBJq9RHxBnATYDFOb0FL49iD8lvvc/yt0O3ldMc7hBB4UnuuASn2dbG0DTfSbzqHDzgHeTM7P2ZrYnCZBiC1aU9yK/j4wO7w6VaT0qt+CblxRT2vQTVCQ/+W5W+7fxAvihGiQ6k/J3eERkorooccRlYUTgaWNUAZGGz5G+vmUv9f9hSEmm2JTYxJAe/wyEzNl8L6XsoI1zHc5jESiBdL+TMDqHZxwleMrT/Cc4Tp+lqnZfj7YK/ZBITrsZjIcBop6vJV+qp6UcjKIxJ0+GqogA1RFON2UN7HCzZAI/0z7aw8OrJeLC9CVYqi1gGipXw8NGixgs6VtH78f8irLywfnB/umqQ7Xo/c02JEn08vYhgMny0uAYmqV05X1KQPI+66Ep6vbN5cwJvaE14j2aiNOgCsL1R+RJRFPBzb6QrZBceZcrqH33vPtnrDCb+W4XHSzqIaJzbiElSjS8wSm/GMr/UF39MpwHJgHM3oDza7tgbpaR/m75meOIF6HQ0CEMqosQB/iXZeFFI2SI8idkqFmOIlppSDyne+wYExrV+z8xlHVCzg8LemY+48eAabJYziDbO4xZzum41SpDFl70jTu+W8piOIkZU8VTnbNZuI92i0DKYrU24dDTRoof6rHj5/TWmHo4WGR1F
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(11063799006)(4143699003)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Wjc1WUViMWwxdXgvOUZmRUJwN1h1Z0lSNEh6bWhyWG9RVWJmLzJZc3JnZThX?=
 =?utf-8?B?ZVJRZi9qRHEyOXZ3bGxSbWh5L3BCVE5XSFBjeW1RM2p6bHRENEVwc09LWWZB?=
 =?utf-8?B?Mzh3eFRKa3hNYThRWmRqZkROcFZTQ1d3QjVrT0pLbUI3T0UzRkVKZitaUnlO?=
 =?utf-8?B?ZmlYVndaRi9KT1VUcEhTdzUvcWRhNFJvOFpseHpPK2UwVWJzb1N1UG9pMWgv?=
 =?utf-8?B?WXQ4UVJGM1ZHQ2greTZUYURPNEx4Q0M0b2N6ek9IZGFnNmxtSEp4ZnJKT1lU?=
 =?utf-8?B?YnkrQWZyaXNZd0Q0V1NJK3E4T2kwZFJRZ0Y3Z0oxRkNDMm1jeUlQeEVuazla?=
 =?utf-8?B?SUhoSXM5dlEwVTZZeWVpbXJuSm4wQWsvdkUwdno0a3REam9IM0I2aHFwdENE?=
 =?utf-8?B?ZndNZFlOQ2UraHB1eGJSRUhvTERhYjgwMnRZMUY2dW9BN3NOSzk5VkpHUkk4?=
 =?utf-8?B?QXhMWDlmTkN4NlpoQVpyTnc3STRMTjVZWWpwY0J5MzJNL2Jpd1FwV04yRDRC?=
 =?utf-8?B?T0U5d3JCVUhKUldtMjIzSlhqYnhsMkpsY2owTE1lTjlOWWJjdXJoeTZscC9U?=
 =?utf-8?B?VXJ3Ui92NmZ0bHhCRVBJTE5ObHhWNEpQMHc4dEdLSHdUKzIxMDJld3JUTGM5?=
 =?utf-8?B?NklwRytxemtFRnNjSkg2a0MzeWFzM2FFWVgwM2Y2U3FjNFozZUpER2xuKzVQ?=
 =?utf-8?B?Zk1iWWJLdU9nbGhEeGNvVTlNbmY0SXlyZGtjT044dytjWktPSW9rU2ZYZ1ZR?=
 =?utf-8?B?UHlqRThzRHdycjdIbjlEeGRoMHlHLzhZeDRUMEJSeXZQdVZqL1lyTW51QW9P?=
 =?utf-8?B?M0w3ZGg2aWdHZG5DOFRWamlBbUNPMVhYM3ZJUkhDM3FIWUNkZkkrcWE5QWdn?=
 =?utf-8?B?SHhBYmJndlhpZG9USlNHeVM4TFJINXlDZ2VDdHkweVhjZTMvY0dlQzZqSmpq?=
 =?utf-8?B?SXlJbGJZaURFay90M01vbTh2NjB0a2VkQ3dTYWJEVy82ZHdLd1R1MUN5VHBQ?=
 =?utf-8?B?VnkwdHl4ZFovcklSbTVFMFVQOCtSbnM3TVpmaXdLNnNBMFkxUUZNYVdZVmZ1?=
 =?utf-8?B?cXlIckhUeWxYWmVmN2dpWWtyL2hkRTJKRVZOSEdoNERObFVZUUpzWXZ2VGg1?=
 =?utf-8?B?OTBkMkR2SHhiWnFYZ3l4S0NwNDRNZXBjVlJQQ0tuejYxOW1mcXRNSHp6SGJm?=
 =?utf-8?B?bTN2dC9rcXVYRmRmaEpUeGJqNUtiY01JaEd0cERWM3RTSjdzMDRLRHlLeGFu?=
 =?utf-8?B?SUFSVzJGdS9NWjJSSGZ6WUVYRFlMbEpBWk9pR0IxK3Q2OTRxcFlFN0VDZVcy?=
 =?utf-8?B?TitvaTkzQUpLemRLSk5hRjREN05aQm5TOFU3d2s1K2k3NDdmTDVobk9BNDMr?=
 =?utf-8?B?MDR6SjN0dzJXSEVPUXpURllCTWZrS1dndzRUNXlPU2JvUlNLUGhyeVpMeGFF?=
 =?utf-8?B?MXVRQURmU0NKdW0yRzRxakxseHR2c3dXNWZ4R09NTjM5enhaWGlQVmtzSjhL?=
 =?utf-8?B?YlJZdDdtaFRlb0QveDFhdGt0WUZLK2Q0bm10ZjdDdnQ5T296NjdjblBmKzJh?=
 =?utf-8?B?NmJyWGxjcWMwSHFhK2FCMGE5VVdaSDRlNUJYcDBHeHZPemV6ajZBeEdVS1pU?=
 =?utf-8?B?TFJLb0tNbnByRis2TWtZQ0pjUmZxcVRiZjQxRTdoRFFSRS9QMGNYZW1vQzRh?=
 =?utf-8?B?TVJtVmUxYkZ3Wlh5UEcrb3JEUlFzYjVaang0cGNpZ0dVdDdLZXlCN1h3dFp3?=
 =?utf-8?B?Zjd6czZ4dU1oVDZFMlZwd0dIelhMNlh0Ti9TSlJVN1RLVEdwQUcyMlFCeGRB?=
 =?utf-8?B?M2ZDTzByVENjRE9YczBiSG96M3laQmZRRVV1bjdnaGZjL2NrRFcvMUFEWFBw?=
 =?utf-8?B?VlFjcjhzcmtzaVhLNllGWXY2NlloZXlCVkpxSFRYUjhHUHVpa0dQdmhMMmVQ?=
 =?utf-8?B?bVJSYVZNQUE1dDhYWTJJekZxUEdGMm5zRDhzUFFMU1R4RG9IWWxPS2s4WEd1?=
 =?utf-8?B?ck5pTHVRTUdmbUxJUkJ6TklEVEhqM0lSM21sdXI5RWtlV3pQNXlLaXI5UFB6?=
 =?utf-8?B?dzM0bWVGYncybCtsTzRhbVZOZmRwbGJLZ3orOXI2RzRlZzdFcDlmYnlrb3U2?=
 =?utf-8?B?aExnYSt6WjI5ZkRQK29zcXhjL0ZwUUlZb01GcERXVHB1RDFMZGRFckg1YnBN?=
 =?utf-8?B?YzdUSWoxMzIwRldQSEYvbnhXM0pzUnNTR05qRGVqc3psSk1LYmlWc0R3U1lm?=
 =?utf-8?B?OVhlSEJmSkZVT1JLUDBKUVhDcENSOUxqekdqTXAvS2lBOWd5Y2VDZGMyRXcr?=
 =?utf-8?B?MklTVzJzenoyMkxtYXFEYkt0Y3dxUG5EWFFaVHhRWXJ5NUdIcm5MZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 96eb734b-32df-4640-8cf3-08dec5696e66
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2026 14:22:55.0090
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: s7xcXHlUblx24ULDZmG8nsLfRZIVBFcZgNgL5A39yXMfZHyoT+D6u57eUlXroaWwJpcFni/RjT97EutDEVV9AA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR03MB7361
X-purgate-ID: tlsNG-d62444/1780928580-B6342FF4-CF305AB7/0/0
X-purgate-type: clean
X-purgate-size: 1063

On Wed, Jun 03, 2026 at 02:05:48PM +0100, Frediano Ziglio wrote:
> From: Frediano Ziglio <frediano.ziglio@citrix.com>
> 
> Small optimization.
> There's no much sense to split the header in 2 pieces, it will
> just take more time and space to reassemble them in the final
> buffer.
> This also avoids truncating combined_length to 32 bit in case of
> 64 bit machines potentially avoiding following record_length check

I'm not sure I understand the sentence above: rec->length is a fixed
width type uint32_t, and hence it will always be 32bit, regardless of
whether it's build in 32 or 64 bit modes.

I do get the truncation part, and that using size_t is indeed better.

> (it could still be truncated writing it in xc_sr_rhdr structure
> but the following check will catch it).
> The function become more coherent with following read_record
> function.
> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>

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

With the commit message possibly clarified.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:43:16 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:43:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331679.1594239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbC2-0007oQ-Ij; Mon, 08 Jun 2026 14:43:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331679.1594239; Mon, 08 Jun 2026 14: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 1wWbC2-0007oJ-FY; Mon, 08 Jun 2026 14:43:10 +0000
Received: by outflank-mailman (input) for mailman id 1331679;
 Mon, 08 Jun 2026 14:43:09 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wWbC1-0007oD-7W
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:43:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbC0-003DrR-05
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 16:43:08 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a26d4e8-bab6-0a2a0a5309dd-0a2a45018b00-14
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 16:43:07 +0200
Received: from [40.93.201.55]
 (helo=CY3PR05CU001.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a26d4fa-c1f2-0a2a45010019-285dc937376e-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 16:43:07 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by CH5PR03MB7959.namprd03.prod.outlook.com (2603:10b6:610:20f::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Mon, 8 Jun 2026
 14:43:03 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.011; Mon, 8 Jun 2026
 14:43: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ndmgXiJvwzl1lpRJXoFURez1eslBe0BxI2ra72KJcYKnzhSGkS1FGINE1JGKmaZgRpfJZHceaJ+FCWOD+eC92BvuM0uddPTo/axlE1/JR8uSDpHZWlwe1AiLudL/fQ/VKWaO9Hb6ayA+BmJYHTNJGeJ2y+sED/Yz2kSUv5DtnY2z2nrpBpx9iUiFb2NBgMbEDbQZTWdYrs2kEO+Q6KwZgp9tNikPZe6ObbXAU3RzaCoWQe39mm+GEtfSoTxSGQ2u9JUgWEvzeB6NBCNVJYWoLBH9ZFYpTnoaiKDXIkcrp34ssexcvrswxHIECZsPdiG4iLmrJTBUUV1je4A3jG15Fw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pbl95lkjS0V1HHhBKlA8uuMnCJLdQI5AjAf0srsGBfw=;
 b=yoNwlxG9SRXuZ8TtiEwzHX4kZjau48g491psy7U9/2Md3xztoVXMyBJrugTBm+yBt2z2R242YZSEFh2QBnevjpuVUG2uCxUV7oVxUrlHq1dxPv+3qODw2X1t38tjTc/SqHUAr3fkMmOZvc9tpCxVeSNea96ZjECKT+QvMYKRrvunz23RAHnds/uKvivkebgfesYLvi4evA8euR6qoSnEQnnApo6nWlUzg1YMExInCUikFOoFWGOMcTFq4IerEqqph56fk0436S+/ZgSD6ecU+vybXwBK5y+DoMd5Brib7n9AXkprffpKu52XW6bBcAGLtwEwSRdc5XJBD7sc6MmoeA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pbl95lkjS0V1HHhBKlA8uuMnCJLdQI5AjAf0srsGBfw=;
 b=kqXEUHsh3qHtKV4gf4pD7+MaZ0mhnMsQq6TgmEbet9udPmxUmmCghaeDyWyJqAg0l+96qFutQD/3f6QKogi7AHVt/W0fitG1Y87ZDTEfL5Tv8eK69HIDIpiU9cwOvqwV3yLSzepBqwUoIoVDDJOccO3GsVPJYORyo/BzV6MsLIg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 8 Jun 2026 16:42:58 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Frediano Ziglio <freddy77@gmail.com>
Cc: xen-devel@lists.xenproject.org,
	Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v4 02/16] libs/guest: Reduce number of I/O vectors in
 write_batch
Message-ID: <aibU8lzNpMQme0kr@macbook.local>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
 <20260603130603.776452-3-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260603130603.776452-3-frediano.ziglio@cloud.com>
X-ClientProxiedBy: MR1P264CA0095.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:3f::34) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|CH5PR03MB7959:EE_
X-MS-Office365-Filtering-Correlation-Id: 207aad51-3421-4dc1-5a71-08dec56c3e56
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|11063799006|4143699003|56012099006|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	hsxihSv38FLKw8EOs6Mt+zQrusP05slXFSEVZix1ectw3zoADVyGygPeHVncC9QoifnlsNEVxzGElDTIKz3mi1sWrlO4ESk1baO9Fy+9SfW/MpPn3hQMYn4/c4BuvgbUL0ZDTdxYSw84RF3Ht/1Qp/OTrKSk1jW7aggR3zGraflyu4818ZoauJ2PvGBiRIlEafWW8stdChQQPuVpsp2WbloJwzJFrbZSvBdESSydBpqfoXT3mMkPfwqPjuMF1zVvsrvHLKZeFZ1eCdp6Fk0hXQzI0bMlZRUd1k97mNKdPrZnuKowERwWOj++ECypG2GNQFx+2zR8joy7cILaFsUA8qqndnzqoOjrchmtk98Fewd/iq2yK242OOie4uRp2qsGyY2ozuRiW4V0NBWiUNMhOCPC1HvcsQ2yYA3f8WkeUiumC7SHLmw/5Ff8KkaghJmdJTqT+4ysPEw3jPFlOHSDupi91qRnAv9i0Zyf0a4q6V42KHM8pLrfjRmetoAv+ejjkfcIbM+DZQUVvFRdtwyo1HHiu7bVbWJVNnmXrfNwKnyexL7CKIGduV7gN62uLYOZssp07yMfIXD6aGhLmBrTIXUKGpR0xOQ7o9eu8+fPovqEbuvZ1ssbL8DpH9UcB2NOqC44w/8xNXsCEMz/otz2cd0rJtGTThoJy3I6tcUrsMzX2CBgIJT3gPjLitvMZvEs
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(11063799006)(4143699003)(56012099006)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aHJxNDh4TFkxL1d4N3E3azlzQVJYTWpSMkRTM1pNbENodm9zYlA0OFFRczB3?=
 =?utf-8?B?bDQ0MnZGY3lCNDRpU2x2NEY4N3hEWFdwb2xlek80WVEzNmI2elVnSXdiTmdz?=
 =?utf-8?B?dFoxTlZ6c2dOZjFpbm1MdlNsaDRQUUpBazVjWUhZc25nYWhDSjV5YVQxS01t?=
 =?utf-8?B?eCtzenVzK25mRktrTE9JTmNFYVkraFp2VVNjeUVkVDRTVDlNOVNwa29sVlVS?=
 =?utf-8?B?ZTM1SFQ1WXozWnZBd3EzYTdWakhya2pkbU5aVDl0QXh5amRQWkd3UExRSEg5?=
 =?utf-8?B?WVY5eVFsS3dSV3ZVUlBDN1hrNk54U2kwWnJUMGVqQU5JUTVjbjJvUnlTZ1hl?=
 =?utf-8?B?ajk4cG1RRWZSTG5SdDJ1N2JHeW8rUFFzRmpDb3lqV3hPSGxuc2pJUUR0Y1Ew?=
 =?utf-8?B?bFBYTCtUdDV2SHB1NmxqOVlXQTBackNQQlNWcEtDSUk1d0E4ZG1MNEZaOGhh?=
 =?utf-8?B?QXZOTzlDVnRYWmg0Zm02aVMwRFYvUnZBeEVsQlp6Y3hvYk1Xa1B3a3l1Zy96?=
 =?utf-8?B?OXlFejkrcDJpUU5GZWxOYzR3T2lRQmlscUEzSGhpekdEUVppcUwyRzBKVDJJ?=
 =?utf-8?B?N3huUXgzaitIcUw3NEpZYXdXVjNpdVYvKzQ4Q0VVVHh2czNwaC84N0tPM1l6?=
 =?utf-8?B?Y2REcVIvSWlYTE41dXNPQXBGZDg4YzBVd0grcHlQNjhwR0QwVis3b0MydmtS?=
 =?utf-8?B?YXdpWDBMSjdiSnZSSkprOU9POWdQT0d0MUttQzBGZkxHTkZsL3hPUlhreWFo?=
 =?utf-8?B?WStEUnp1MlBncXZSb09Ta0NObkUxbUF5dUZ0OUswVm8xRi96TktSQ00vcVFt?=
 =?utf-8?B?TUNTVGJqTkFCWWh4MFN0b09hZE92cnVqbi95SFZVb3dTVmIyUlpwQ2NmdS9v?=
 =?utf-8?B?MkkzYVR3UnNLSmllSHpPby9PSmF3YVQ2aVViUXhwQitUcmNqeDBpaE4vREhm?=
 =?utf-8?B?dG1ySkNoVExJNnN0aW9CcmQrWGNrRi9MNk1FYmx0SFo4cHlSSVBRc3JEQUFF?=
 =?utf-8?B?aDhQdjhiakxaa0hYR3RzM0FEb3lGVmZjS2xwOTNCL0lsWFd2VlN1TklPU1U3?=
 =?utf-8?B?MWVRV0FJbmZnT1dxSnJ0a0RGSVV4WUdNeWtGZVdJMWN2cjdiWmNBRkNoMERW?=
 =?utf-8?B?TDRZZkRhVUYxb3JEclh2eXoyZG0xZTJ1b0h5QnpkdVhITUhIZVFFbWsyWnMr?=
 =?utf-8?B?WW1KK2Y5cWhwdmd0M3FxVFRwc2JZZGFVZVpQMjJkWkp0MGN0MTgzVzlVbzdH?=
 =?utf-8?B?M2FzckVGU2RmSDMvS1NhQ2krYTA0bC9tekJYZmdvSUQ1NHVCV2RlbDAvUGhT?=
 =?utf-8?B?eHA1Y1hwOUQwVm9aTlpBVlk5RmVXNm9QMEhRbHFFODdZcE40aXZrbm9CSHB4?=
 =?utf-8?B?ZWZ2b0tJd1htQzBWVis1d203VWtQNmt3bWp4M0o1UkVvaDQxcEw0cGEzNDQz?=
 =?utf-8?B?Z29NVGdqL1FaaURVWjh6dVdvdkM3MkUwTFdCSlp3Q3UzVHkyUE1qV00vTmZ3?=
 =?utf-8?B?Uzk2RG9CWUpyUS9jS1hWVFROdVQ4M3FIdG5XbDFCZVZXRVFjMUxuaWhCRHFM?=
 =?utf-8?B?Yk82L1pZNktlOE9oWWdnNE1aMGhPMStDU2lLVVpRTVlsZWY2bjZMUFdxRGNn?=
 =?utf-8?B?S0NYOExxYzJmUXluNFR3NzExdDduQkdYNXc1S1JoT01PQW1jYmpBMWg2eFhC?=
 =?utf-8?B?Z3NKVldvejJ5eURuWURaU1JlS3V4dGhGNHQzTUREVnpFWE8vN2JLbjV5ZGhL?=
 =?utf-8?B?bVF0TVQ3VHhaY2x2cXRiRk1zQ0RoSkJQYWtFK05NKzJDTWJEcHM4TXhvdUt4?=
 =?utf-8?B?NmN0ZGhlbFlDakRmQXdwR1lwM2ZxUVNIVTczVnNDNWtWanE4bmVNVk1xMmdh?=
 =?utf-8?B?eEcrVDdDUVg1K01tMEJVMXdQRTE1VGJTME5KWnJTekhYZmVpT0dhOTFHN1RC?=
 =?utf-8?B?SG1RK3hucHl2VmYzZDltTXhYSm80a2s0VjZZYmVDWGswZEI3WCtkQmxpd0E2?=
 =?utf-8?B?T0c3d0V6Snp2N1A3c2l6MSt0WStMVGNXcEtheW9EcXJ3dTcvTmNHbDdhRkpv?=
 =?utf-8?B?YmNjMWN6MmlhY2RLU3AydWlCOUFMYWcwc2YydDB6SEJnQ3NzL0RjMHdDOE5r?=
 =?utf-8?B?WEdOamdBa3BXWnErc3Rwd1lJOUFoZmVhamd5c2ttZEFPL0sxTlVaTFFRTlJ4?=
 =?utf-8?B?cDhES3FCa3VNamhWQklhWUdJRHFBZjROSkdlNXNVMjNwUUJFbzdUd2hXZkZx?=
 =?utf-8?B?UEt4aWFEODhnZk5EWWVsMS9EdVpSM0d4QXFDUmh6RTRtUjl1aldhT25FdzVR?=
 =?utf-8?B?SzFqZzBTMHVSYWR4M2M1U0JwdXJTSGQ1VmNYKzVTbURBenJQdHdQZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 207aad51-3421-4dc1-5a71-08dec56c3e56
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2026 14:43:02.9017
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: k/xvgoDPe81FXGejF/5+gGInNbZls3rqFyLf9hnrm4Ze/T81MCits09LMkBsselQvKj+df62CuOMUKeriM14Xg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH5PR03MB7959
X-purgate-ID: tlsNG-d62444/1780929787-B7754FF4-0299BD7F/0/0
X-purgate-type: clean
X-purgate-size: 1994

On Wed, Jun 03, 2026 at 02:05:49PM +0100, Frediano Ziglio wrote:
> From: Frediano Ziglio <frediano.ziglio@citrix.com>
> 
> Small optimization.
> Reduce number of pieces passed to writev.
> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>

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

> --
> Changes since v2:
> - change prefix in subject.
> ---
>  tools/libs/guest/xg_sr_save.c | 35 ++++++++++++++++-------------------
>  1 file changed, 16 insertions(+), 19 deletions(-)
> 
> diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
> index 3b2c5222e4..1700d81905 100644
> --- a/tools/libs/guest/xg_sr_save.c
> +++ b/tools/libs/guest/xg_sr_save.c
> @@ -97,9 +97,12 @@ static int write_batch(struct xc_sr_context *ctx)
>      void *page, *orig_page;
>      uint64_t *rec_pfns = NULL;
>      struct iovec *iov = NULL; int iovcnt = 0;
> -    struct xc_sr_rec_page_data_header hdr = { 0 };
> -    struct xc_sr_record rec = {
> -        .type = REC_TYPE_PAGE_DATA,
> +    struct {
> +        struct xc_sr_rhdr rec;
> +        struct xc_sr_rec_page_data_header page_data;

Is there a possible worry that the compiler (for another
architecture) will introduce non-zero padding between those two structs?

> +    } hdrs = {
> +        { .type = REC_TYPE_PAGE_DATA },
> +        { 0 },

Do you need the explicit initialization to 0 here?  All unspecified
fields in the initialization will already be set to 0.

>      };
>  
>      assert(nr_pfns != 0);
> @@ -115,7 +118,7 @@ static int write_batch(struct xc_sr_context *ctx)
>      /* Pointers to locally allocated pages.  Need freeing. */
>      local_pages = calloc(nr_pfns, sizeof(*local_pages));
>      /* iovec[] for writev(). */
> -    iov = malloc((nr_pfns + 4) * sizeof(*iov));
> +    iov = malloc((nr_pfns + 2) * sizeof(*iov));

It would seem more natural to use calloc() here, but it would also do
a zeroing that we don't care.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331705.1594289 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNj-00020Z-VK; Mon, 08 Jun 2026 14:55:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331705.1594289; Mon, 08 Jun 2026 14:55: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 1wWbNj-0001ws-LD; Mon, 08 Jun 2026 14:55:15 +0000
Received: by outflank-mailman (input) for mailman id 1331705;
 Mon, 08 Jun 2026 14:55:13 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wWbNg-0001Oa-7Z
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNf-008Slm-Cr; Mon, 08 Jun 2026 16:55:11 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7b4-e002-0a2a0a5209dd-0a2a45078958-44
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:11 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7cf-229c-0a2a45070019-5a9b3222bea8-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:11 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wWbNR-0000000DtxB-31cT; Mon, 08 Jun 2026 14:54:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNR-00000000NF2-3o2K;
 Mon, 08 Jun 2026 15:54:57 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=/6X9NkkXJGBiIJZgksWE6pM8oGLkNoBdJss2eJyo+jo=; b=Tp+yi1Wz3jymBuLeW82uMZjkkH
	mfqyw7ZDqC/8GrxtdY31F4JRU7e64yb4mB12cJAMtCttaRAuGjqefJGL28TwWLMkXP5k0NW0xrRRq
	s80I4Gz0M1yRY6f45AXMEBasj8k2qWYOYhg8TKDw0ImF6oIV131Xba564m6wHw6Sl8NQvlVSZwcU0
	nloZja3Puek11Uc2jm7xj3EXGyokyIKzEwLvYm7whYJ0X4fk46wZlxuZ2r4CX5IL+X2BGHTRsjDzm
	c0zz+zTVRjCTvhiC74DHbmZp7dEt5jz39JMAgwVzsoeuHYOWFvURgNKcrrCBOUhL+g3O1pMTyRuqO
	mxY/IyLw==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 11/34] KVM: x86: Restructure get_kvmclock()
Date: Mon,  8 Jun 2026 15:47:52 +0100
Message-ID: <20260608145455.89187-12-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-ef75cf/1780930511-20D67C48-1E85E82A/0/0
X-purgate-type: clean
X-purgate-size: 2715

From: David Woodhouse <dwmw@amazon.co.uk>

Move get/put_cpu inside the use_master_clock branch since they are only
needed there (for RDTSC and get_cpu_tsc_khz() to be on the same CPU).

Simplify the use_master_clock condition: the open-coded CONSTANT_TSC ||
cpu_tsc_khz check is unnecessary since use_master_clock can only be true
when the TSC is usable.

Wrap the entire use_master_clock block in #ifdef CONFIG_X86_64, since
use_master_clock is never true on 32-bit (host_tsc_clocksource is only
set under CONFIG_X86_64).

When the clock read fails (e.g. clocksource transitioning away from
TSC), fall back to the non-master-clock path (get_kvmclock_base_ns)
rather than proceeding with uninitialised data or spinning in the
seqcount loop.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 arch/x86/kvm/x86.c | 34 +++++++++++++++++++++++-----------
 1 file changed, 23 insertions(+), 11 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index fce898811fe7..6983a7494fcd 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -3209,21 +3209,30 @@ static void get_kvmclock(struct kvm *kvm, struct kvm_clock_data *data)
 	do {
 		seq = read_seqcount_begin(&ka->pvclock_sc);
 
-		/* both __this_cpu_read() and rdtsc() should be on the same cpu */
-		get_cpu();
-
 		data->flags = 0;
-		if (ka->use_master_clock &&
-		    (static_cpu_has(X86_FEATURE_CONSTANT_TSC) || __this_cpu_read(cpu_tsc_khz))) {
 #ifdef CONFIG_X86_64
+		if (ka->use_master_clock) {
 			struct timespec64 ts;
 
+			/*
+			 * The RDTSC and get_cpu_tsc_khz() must happen on
+			 * the same CPU.
+			 */
+			get_cpu();
+
 			if (kvm_get_walltime_and_clockread(&ts, &data->host_tsc)) {
 				data->realtime = ts.tv_nsec + NSEC_PER_SEC * ts.tv_sec;
 				data->flags |= KVM_CLOCK_REALTIME | KVM_CLOCK_HOST_TSC;
-			} else
-#endif
-			data->host_tsc = rdtsc();
+			} else {
+				/*
+				 * Clock read failed (e.g. clocksource is
+				 * transitioning away from TSC). Fall back to
+				 * the non-master-clock path rather than
+				 * spinning.
+				 */
+				put_cpu();
+				goto fallback;
+			}
 
 			data->flags |= KVM_CLOCK_TSC_STABLE;
 			hv_clock.tsc_timestamp = ka->master_cycle_now;
@@ -3232,11 +3241,14 @@ static void get_kvmclock(struct kvm *kvm, struct kvm_clock_data *data)
 					   &hv_clock.tsc_shift,
 					   &hv_clock.tsc_to_system_mul);
 			data->clock = __pvclock_read_cycles(&hv_clock, data->host_tsc);
-		} else {
+
+			put_cpu();
+		} else
+#endif
+		{
+fallback:
 			data->clock = get_kvmclock_base_ns() + ka->kvmclock_offset;
 		}
-
-		put_cpu();
 	} while (read_seqcount_retry(&ka->pvclock_sc, seq));
 }
 
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331701.1594260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNi-0001QM-7A; Mon, 08 Jun 2026 14:55:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331701.1594260; Mon, 08 Jun 2026 14: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 1wWbNh-0001Pv-UI; Mon, 08 Jun 2026 14:55:13 +0000
Received: by outflank-mailman (input) for mailman id 1331701;
 Mon, 08 Jun 2026 14:55:13 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wWbNh-0001Of-D7
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNg-00EcHE-Q0; Mon, 08 Jun 2026 16:55:12 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7c5-5cb7-0a2a0a5109dd-0a2a4504aa90-36
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:12 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7d0-1dec-0a2a45040019-5a9b3222a71a-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:12 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wWbNS-0000000Dtxo-3N7M; Mon, 08 Jun 2026 14:54:59 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNS-00000000NGd-3xVq;
 Mon, 08 Jun 2026 15:54:58 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=s86e1eDk7JwzlpKJ6Et1TYCYwI2LU3hCrdoVI9vRngc=; b=rELP0pPshxo9UwZ5syelAnSKO6
	4cfW8H6uBn/Zf/P0TiJzkdhGO+CwQJuVJ1hnrK2PiO+YODU7eRwQQ9U0yAKSEfyEvh/5xs4UNG2kn
	+v9PB4fL/k9dKigWNx3dlMJnggVrVGZf0qAsQb8kfP3eJ8BEJA+ahjTIyHp2dRMjxWRNJSY2ptm2B
	SEp+3poR4nnttJ92rVtigJ2l024kUzYMQSO61fQrwDR86js32ZvlkN2dNVL/BcDq4LQ51TBunnw8Y
	ZCtUTxz76ATt+jri2NqK539eYVH1wZMP0lXqVNOlqeX2U5+2ij2e9cZSDy+MJzWgPGsBMFESKwxnq
	+P/Ylngg==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 31/34] KVM: x86: Use ktime_get_snapshot_id() for master clock
Date: Mon,  8 Jun 2026 15:48:12 +0100
Message-ID: <20260608145455.89187-32-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-ebf023/1780930512-433673FF-713DFB6D/0/0
X-purgate-type: clean
X-purgate-size: 3751

From: David Woodhouse <dwmw@amazon.co.uk>

Replace the KVM-private vgettsc()/do_kvmclock_base()/do_monotonic()/
do_realtime() timekeeping reimplementation with calls to the generic
ktime_get_snapshot_id() interface.

The snapshot provides both the system time and the raw_cycles (TSC)
atomically paired. When raw_cycles is zero, the clocksource could not
provide a raw hardware counter value, which is equivalent to the
previous vgettsc() returning VDSO_CLOCKMODE_NONE.

For kvm_get_time_and_clockread(), the kvmclock base time is
CLOCK_MONOTONIC_RAW + offs_boot. The snapshot provides the raw time
atomically paired with the TSC; offs_boot is added separately as it
only changes at suspend/resume boundaries.

This is a step towards eliminating the pvclock_gtod_data private copy
of timekeeping state and the associated notifier callback.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Assisted-by: Kiro:claude-opus-4.6-1m
---
 arch/x86/kvm/x86.c | 46 +++++++++++++++++++++++++++++++++++-----------
 1 file changed, 35 insertions(+), 11 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 96250264d403..2713aebb96ae 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -35,6 +35,7 @@
 #include "smm.h"
 
 #include <linux/clocksource.h>
+#include <linux/timekeeping.h>
 #include <linux/interrupt.h>
 #include <linux/kvm.h>
 #include <linux/fs.h>
@@ -3162,14 +3163,32 @@ static int do_realtime(struct timespec64 *ts, u64 *tsc_timestamp)
  * reports the TSC value from which it do so. Returns true if host is
  * using TSC based clocksource.
  */
+static bool kvm_snapshot_has_tsc(struct system_time_snapshot *snap,
+				u64 *tsc_timestamp)
+{
+	if (snap->cs_id == CSID_X86_TSC) {
+		*tsc_timestamp = snap->cycles;
+		return true;
+	}
+
+	if (snap->hw_csid == CSID_X86_TSC && snap->hw_cycles) {
+		*tsc_timestamp = snap->hw_cycles;
+		return true;
+	}
+
+	return false;
+}
+
 static bool kvm_get_time_and_clockread(s64 *kernel_ns, u64 *tsc_timestamp)
 {
-	/* checked again under seqlock below */
-	if (!gtod_is_based_on_tsc(pvclock_gtod_data.clock.vclock_mode))
+	struct system_time_snapshot snap;
+
+	ktime_get_snapshot_id(CLOCK_MONOTONIC_RAW, &snap);
+	if (!kvm_snapshot_has_tsc(&snap, tsc_timestamp))
 		return false;
 
-	return gtod_is_based_on_tsc(do_kvmclock_base(kernel_ns,
-						     tsc_timestamp));
+	*kernel_ns = ktime_to_ns(ktime_mono_to_any(snap.systime, TK_OFFS_BOOT));
+	return true;
 }
 
 /*
@@ -3178,12 +3197,14 @@ static bool kvm_get_time_and_clockread(s64 *kernel_ns, u64 *tsc_timestamp)
  */
 bool kvm_get_monotonic_and_clockread(s64 *kernel_ns, u64 *tsc_timestamp)
 {
-	/* checked again under seqlock below */
-	if (!gtod_is_based_on_tsc(pvclock_gtod_data.clock.vclock_mode))
+	struct system_time_snapshot snap;
+
+	ktime_get_snapshot_id(CLOCK_MONOTONIC, &snap);
+	if (!kvm_snapshot_has_tsc(&snap, tsc_timestamp))
 		return false;
 
-	return gtod_is_based_on_tsc(do_monotonic(kernel_ns,
-						 tsc_timestamp));
+	*kernel_ns = ktime_to_ns(snap.systime);
+	return true;
 }
 
 /*
@@ -3196,11 +3217,14 @@ bool kvm_get_monotonic_and_clockread(s64 *kernel_ns, u64 *tsc_timestamp)
 static bool kvm_get_walltime_and_clockread(struct timespec64 *ts,
 					   u64 *tsc_timestamp)
 {
-	/* checked again under seqlock below */
-	if (!gtod_is_based_on_tsc(pvclock_gtod_data.clock.vclock_mode))
+	struct system_time_snapshot snap;
+
+	ktime_get_snapshot_id(CLOCK_REALTIME, &snap);
+	if (!kvm_snapshot_has_tsc(&snap, tsc_timestamp))
 		return false;
 
-	return gtod_is_based_on_tsc(do_realtime(ts, tsc_timestamp));
+	*ts = ktime_to_timespec64(snap.systime);
+	return true;
 }
 #endif
 
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331704.1594276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNj-0001i4-3G; Mon, 08 Jun 2026 14:55:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331704.1594276; Mon, 08 Jun 2026 14:55: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 1wWbNi-0001gQ-T7; Mon, 08 Jun 2026 14:55:14 +0000
Received: by outflank-mailman (input) for mailman id 1331704;
 Mon, 08 Jun 2026 14:55:13 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wWbNh-0001Ok-IK
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNg-008Slm-VL; Mon, 08 Jun 2026 16:55:12 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7c3-e002-0a2a0a5209dd-0a2a4508bf20-22
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:12 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7d0-63b5-0a2a45080019-5a9b3222c400-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:12 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wWbNR-0000000DtxG-4BPF; Mon, 08 Jun 2026 14:54:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNS-00000000NFa-0ldF;
 Mon, 08 Jun 2026 15:54:58 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=mXbhskdA++vhUDI1oas++LQ6MKrW1eT7EmECWvGk1MU=; b=kld3KJEKyVhgHwNB9MXsgtFGHM
	NRk8kDLq4sjWFPSiEYCazB3mLYrvTTJPUeVyZ8Adpmnt0NNFfaZoiBsBTHBZiMcMB/VwcWUxwxy7g
	lNILHXZ/Blw5vKOImjaz2dxZqvHuPxZKmZfM2mAtOIsTRmAupSROxT8IOZPNFf5YWr8Aqcjni3HSu
	Tm5dD4wjccOy5vGXBPeqCifw70AHNUqkba5MbwYlq1/G6tBhhz1sBC19DaWllKo9KdUR/kDGv0bZD
	UP7MppcYr9VAmJQO2gCb91fWtWdSBSqhI7QLwJi8L+i/vREiicZBMMi+ceG/pcLoDUSrhXoBZt8ha
	9XciMkyw==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 17/34] KVM: x86: Remove implicit rdtsc() from kvm_compute_l1_tsc_offset()
Date: Mon,  8 Jun 2026 15:47:58 +0100
Message-ID: <20260608145455.89187-18-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-c1860d/1780930512-BF171DB1-E00BEBBE/0/0
X-purgate-type: clean
X-purgate-size: 2890

From: David Woodhouse <dwmw@amazon.co.uk>

Let the callers pass the host TSC value in as an explicit parameter.
This leaves some fairly obviously stupid code, which is using this
function to compare the guest TSC at some *other* time, with the
newly-minted TSC value from rdtsc(). Unless it's being used to measure
*elapsed* time, that isn't very sensible.

In this case, "obviously stupid" is an improvement over being
non-obviously so.

No functional change intended.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 arch/x86/kvm/x86.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index a6c31a0d9955..bce4c7a6a6fe 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -2693,11 +2693,12 @@ u64 kvm_scale_tsc(u64 tsc, u64 ratio)
 	return _tsc;
 }
 
-static u64 kvm_compute_l1_tsc_offset(struct kvm_vcpu *vcpu, u64 target_tsc)
+static u64 kvm_compute_l1_tsc_offset(struct kvm_vcpu *vcpu, u64 host_tsc,
+				     u64 target_tsc)
 {
 	u64 tsc;
 
-	tsc = kvm_scale_tsc(rdtsc(), vcpu->arch.l1_tsc_scaling_ratio);
+	tsc = kvm_scale_tsc(host_tsc, vcpu->arch.l1_tsc_scaling_ratio);
 
 	return target_tsc - tsc;
 }
@@ -2859,7 +2860,7 @@ static void kvm_synchronize_tsc(struct kvm_vcpu *vcpu, u64 *user_value)
 	bool synchronizing = false;
 
 	raw_spin_lock_irqsave(&kvm->arch.tsc_write_lock, flags);
-	offset = kvm_compute_l1_tsc_offset(vcpu, data);
+	offset = kvm_compute_l1_tsc_offset(vcpu, rdtsc(), data);
 	ns = get_kvmclock_base_ns();
 	elapsed = ns - kvm->arch.last_tsc_nsec;
 
@@ -2908,7 +2909,7 @@ static void kvm_synchronize_tsc(struct kvm_vcpu *vcpu, u64 *user_value)
 		} else {
 			u64 delta = nsec_to_cycles(vcpu, elapsed);
 			data += delta;
-			offset = kvm_compute_l1_tsc_offset(vcpu, data);
+			offset = kvm_compute_l1_tsc_offset(vcpu, rdtsc(), data);
 		}
 		matched = true;
 	}
@@ -4155,7 +4156,8 @@ int kvm_set_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
 		if (msr_info->host_initiated) {
 			kvm_synchronize_tsc(vcpu, &data);
 		} else if (!vcpu->arch.guest_tsc_protected) {
-			u64 adj = kvm_compute_l1_tsc_offset(vcpu, data) - vcpu->arch.l1_tsc_offset;
+			u64 adj = kvm_compute_l1_tsc_offset(vcpu, rdtsc(), data) -
+				  vcpu->arch.l1_tsc_offset;
 			adjust_tsc_offset_guest(vcpu, adj);
 			vcpu->arch.ia32_tsc_adjust_msr += adj;
 		}
@@ -5279,7 +5281,7 @@ void kvm_arch_vcpu_load(struct kvm_vcpu *vcpu, int cpu)
 			mark_tsc_unstable("KVM discovered backwards TSC");
 
 		if (kvm_check_tsc_unstable()) {
-			u64 offset = kvm_compute_l1_tsc_offset(vcpu,
+			u64 offset = kvm_compute_l1_tsc_offset(vcpu, rdtsc(),
 						vcpu->arch.last_guest_tsc);
 			kvm_vcpu_write_tsc_offset(vcpu, offset);
 			if (!vcpu->arch.guest_tsc_protected)
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331702.1594266 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNi-0001TY-Eg; Mon, 08 Jun 2026 14:55:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331702.1594266; Mon, 08 Jun 2026 14: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 1wWbNi-0001T1-8N; Mon, 08 Jun 2026 14:55:14 +0000
Received: by outflank-mailman (input) for mailman id 1331702;
 Mon, 08 Jun 2026 14:55:13 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wWbNh-0001Oe-BQ
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNg-00EcHE-O7; Mon, 08 Jun 2026 16:55:12 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7b4-5cb7-0a2a0a5109dd-0a2a450aa392-34
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:12 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7d0-56b3-0a2a450a0019-5a9b322293c2-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:12 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wWbNS-0000000Dtxp-3tSE; Mon, 08 Jun 2026 14:54:59 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNT-00000000NGv-0Yy9;
 Mon, 08 Jun 2026 15:54:59 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=6Oiy0XgmrdblbNNhRhh9uvWEqZS/fcG3BHbMB9gqe6c=; b=MSZfuWqiZiqALtY1MLC6v0WbvH
	cpxENKVttZkGvUcUnfH3cmXTyHF3n/98pkcgu7CvfrdZYKiuL6WuWY0AZcqinMnfKB+/Rg9Yt95g3
	yaATLRg4awYZ0QThmGe6xgS2YzYF+UYyqEwCEPwExEhXVXmzZmBTD3aFHGyMiygVIGd7INsNPIXZB
	HodVYABRpzYthI/nQjlXg9LBoL4JsE/P04Lx7m0sGPt/WKsEAFrYugZyax7C14LGzIuV9ltqZ0Co5
	htE40im31t6H9LcfAt3wwZLgv0lDLBGf6rVZiWaAiQ0wEjqbxzkg4SJ9PTo72VNEt8wbX4RaIDYD9
	4qnXWU6Q==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 34/34] KVM: x86: Remove pvclock_gtod_data and private timekeeping code
Date: Mon,  8 Jun 2026 15:48:15 +0100
Message-ID: <20260608145455.89187-35-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-4011c0/1780930512-733738B7-BC741CEE/0/0
X-purgate-type: clean
X-purgate-size: 9071

From: David Woodhouse <dwmw@amazon.co.uk>

Remove the now-unused KVM-private timekeeping infrastructure:

 - struct pvclock_clock and struct pvclock_gtod_data
 - update_pvclock_gtod() and its seqcount-protected state copy
 - read_tsc() (KVM's private TSC reader with cycle_last clamping)
 - vgettsc() (KVM's private clocksource interpolation)
 - do_kvmclock_base(), do_monotonic(), do_realtime()

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Assisted-by: Kiro:claude-opus-4.6-1m
---
 Documentation/virt/kvm/devices/vcpu.rst       |   4 +-
 arch/x86/kvm/vmx/vmx.c                        |   2 +
 arch/x86/kvm/x86.c                            | 177 +-----------------
 .../testing/selftests/kvm/x86/pvclock_test.c  |   7 +-
 4 files changed, 9 insertions(+), 181 deletions(-)

diff --git a/Documentation/virt/kvm/devices/vcpu.rst b/Documentation/virt/kvm/devices/vcpu.rst
index 167aa4140d30..3d1a89c2b4f7 100644
--- a/Documentation/virt/kvm/devices/vcpu.rst
+++ b/Documentation/virt/kvm/devices/vcpu.rst
@@ -243,9 +243,9 @@ Returns:
 Specifies the guest's TSC offset relative to the host's TSC. The guest's
 TSC is then derived by the following equation:
 
-  guest_tsc = ((host_tsc * tsc_scale_ratio) >> tsc_scale_bits) + KVM_VCPU_TSC_OFFSET
+  guest_tsc = ((host_tsc * tsc_ratio) >> tsc_frac_bits) + KVM_VCPU_TSC_OFFSET
 
-The values of tsc_scale_ratio and tsc_scale_bits can be obtained using
+The values of tsc_ratio and tsc_frac_bits can be obtained using
 the KVM_VCPU_TSC_SCALE attribute.
 
 This attribute is useful to adjust the guest's TSC on live migration,
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index ed207cc7692d..1aaf3924a799 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -8674,6 +8674,8 @@ __init int vmx_hardware_setup(void)
 
 	if (cpu_has_vmx_tsc_scaling() && boot_cpu_has(X86_FEATURE_CONSTANT_TSC))
 		kvm_caps.has_tsc_control = true;
+	else
+		vmcs_config.cpu_based_2nd_exec_ctrl &= ~SECONDARY_EXEC_TSC_SCALING;
 
 	kvm_caps.max_tsc_scaling_ratio = KVM_VMX_TSC_MULTIPLIER_MAX;
 	kvm_caps.tsc_scaling_ratio_frac_bits = 48;
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 93a428c37847..966057913366 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -2347,58 +2347,6 @@ static int do_set_msr(struct kvm_vcpu *vcpu, unsigned index, u64 *data)
 	return kvm_set_msr_ignored_check(vcpu, index, *data, true);
 }
 
-struct pvclock_clock {
-	int vclock_mode;
-	u64 cycle_last;
-	u64 mask;
-	u32 mult;
-	u32 shift;
-	u64 base_cycles;
-	u64 offset;
-};
-
-struct pvclock_gtod_data {
-	seqcount_t	seq;
-
-	struct pvclock_clock clock; /* extract of a clocksource struct */
-	struct pvclock_clock raw_clock; /* extract of a clocksource struct */
-
-	ktime_t		offs_boot;
-	u64		wall_time_sec;
-};
-
-static struct pvclock_gtod_data pvclock_gtod_data;
-
-static void update_pvclock_gtod(struct timekeeper *tk)
-{
-	struct pvclock_gtod_data *vdata = &pvclock_gtod_data;
-
-	write_seqcount_begin(&vdata->seq);
-
-	/* copy pvclock gtod data */
-	vdata->clock.vclock_mode	= tk->tkr_mono.clock->vdso_clock_mode;
-	vdata->clock.cycle_last		= tk->tkr_mono.cycle_last;
-	vdata->clock.mask		= tk->tkr_mono.mask;
-	vdata->clock.mult		= tk->tkr_mono.mult;
-	vdata->clock.shift		= tk->tkr_mono.shift;
-	vdata->clock.base_cycles	= tk->tkr_mono.xtime_nsec;
-	vdata->clock.offset		= tk->tkr_mono.base;
-
-	vdata->raw_clock.vclock_mode	= tk->tkr_raw.clock->vdso_clock_mode;
-	vdata->raw_clock.cycle_last	= tk->tkr_raw.cycle_last;
-	vdata->raw_clock.mask		= tk->tkr_raw.mask;
-	vdata->raw_clock.mult		= tk->tkr_raw.mult;
-	vdata->raw_clock.shift		= tk->tkr_raw.shift;
-	vdata->raw_clock.base_cycles	= tk->tkr_raw.xtime_nsec;
-	vdata->raw_clock.offset		= tk->tkr_raw.base;
-
-	vdata->wall_time_sec            = tk->xtime_sec;
-
-	vdata->offs_boot		= tk->offs_boot;
-
-	write_seqcount_end(&vdata->seq);
-}
-
 static s64 get_kvmclock_base_ns(void)
 {
 	/* Count up from boot time, but with the frequency of the raw clock.  */
@@ -3037,128 +2985,6 @@ static inline void adjust_tsc_offset_host(struct kvm_vcpu *vcpu, s64 adjustment)
 
 #ifdef CONFIG_X86_64
 
-static u64 read_tsc(void)
-{
-	u64 ret = (u64)rdtsc_ordered();
-	u64 last = pvclock_gtod_data.clock.cycle_last;
-
-	if (likely(ret >= last))
-		return ret;
-
-	/*
-	 * GCC likes to generate cmov here, but this branch is extremely
-	 * predictable (it's just a function of time and the likely is
-	 * very likely) and there's a data dependence, so force GCC
-	 * to generate a branch instead.  I don't barrier() because
-	 * we don't actually need a barrier, and if this function
-	 * ever gets inlined it will generate worse code.
-	 */
-	asm volatile ("");
-	return last;
-}
-
-static inline u64 vgettsc(struct pvclock_clock *clock, u64 *tsc_timestamp,
-			  int *mode)
-{
-	u64 tsc_pg_val;
-	long v;
-
-	switch (clock->vclock_mode) {
-	case VDSO_CLOCKMODE_HVCLOCK:
-		if (hv_read_tsc_page_tsc(hv_get_tsc_page(),
-					 tsc_timestamp, &tsc_pg_val)) {
-			/* TSC page valid */
-			*mode = VDSO_CLOCKMODE_HVCLOCK;
-			v = (tsc_pg_val - clock->cycle_last) &
-				clock->mask;
-		} else {
-			/* TSC page invalid */
-			*mode = VDSO_CLOCKMODE_NONE;
-		}
-		break;
-	case VDSO_CLOCKMODE_TSC:
-		*mode = VDSO_CLOCKMODE_TSC;
-		*tsc_timestamp = read_tsc();
-		v = (*tsc_timestamp - clock->cycle_last) &
-			clock->mask;
-		break;
-	default:
-		*mode = VDSO_CLOCKMODE_NONE;
-	}
-
-	if (*mode == VDSO_CLOCKMODE_NONE)
-		*tsc_timestamp = v = 0;
-
-	return v * clock->mult;
-}
-
-/*
- * As with get_kvmclock_base_ns(), this counts from boot time, at the
- * frequency of CLOCK_MONOTONIC_RAW (hence adding gtos->offs_boot).
- */
-static int do_kvmclock_base(s64 *t, u64 *tsc_timestamp)
-{
-	struct pvclock_gtod_data *gtod = &pvclock_gtod_data;
-	unsigned long seq;
-	int mode;
-	u64 ns;
-
-	do {
-		seq = read_seqcount_begin(&gtod->seq);
-		ns = gtod->raw_clock.base_cycles;
-		ns += vgettsc(&gtod->raw_clock, tsc_timestamp, &mode);
-		ns >>= gtod->raw_clock.shift;
-		ns += ktime_to_ns(ktime_add(gtod->raw_clock.offset, gtod->offs_boot));
-	} while (unlikely(read_seqcount_retry(&gtod->seq, seq)));
-	*t = ns;
-
-	return mode;
-}
-
-/*
- * This calculates CLOCK_MONOTONIC at the time of the TSC snapshot, with
- * no boot time offset.
- */
-static int do_monotonic(s64 *t, u64 *tsc_timestamp)
-{
-	struct pvclock_gtod_data *gtod = &pvclock_gtod_data;
-	unsigned long seq;
-	int mode;
-	u64 ns;
-
-	do {
-		seq = read_seqcount_begin(&gtod->seq);
-		ns = gtod->clock.base_cycles;
-		ns += vgettsc(&gtod->clock, tsc_timestamp, &mode);
-		ns >>= gtod->clock.shift;
-		ns += ktime_to_ns(gtod->clock.offset);
-	} while (unlikely(read_seqcount_retry(&gtod->seq, seq)));
-	*t = ns;
-
-	return mode;
-}
-
-static int do_realtime(struct timespec64 *ts, u64 *tsc_timestamp)
-{
-	struct pvclock_gtod_data *gtod = &pvclock_gtod_data;
-	unsigned long seq;
-	int mode;
-	u64 ns;
-
-	do {
-		seq = read_seqcount_begin(&gtod->seq);
-		ts->tv_sec = gtod->wall_time_sec;
-		ns = gtod->clock.base_cycles;
-		ns += vgettsc(&gtod->clock, tsc_timestamp, &mode);
-		ns >>= gtod->clock.shift;
-	} while (unlikely(read_seqcount_retry(&gtod->seq, seq)));
-
-	ts->tv_sec += __iter_div_u64_rem(ns, NSEC_PER_SEC, &ns);
-	ts->tv_nsec = ns;
-
-	return mode;
-}
-
 /*
  * Calculates the kvmclock_base_ns (CLOCK_MONOTONIC_RAW + boot time) and
  * reports the TSC value from which it do so. Returns true if host is
@@ -6231,7 +6057,7 @@ static int kvm_arch_tsc_set_attr(struct kvm_vcpu *vcpu,
 		break;
 	}
 	case KVM_VCPU_TSC_SCALE:
-		r = -EINVAL; /* Read only */
+		r = kvm_caps.has_tsc_control ? -EINVAL : -ENXIO;
 		break;
 	default:
 		r = -ENXIO;
@@ -10405,7 +10231,6 @@ static int pvclock_gtod_notify(struct notifier_block *nb, unsigned long unused,
 {
 	struct timekeeper *tk = priv;
 
-	update_pvclock_gtod(tk);
 
 #ifdef CONFIG_X86_64
 	kvm_host_has_tsc_clocksource =
diff --git a/tools/testing/selftests/kvm/x86/pvclock_test.c b/tools/testing/selftests/kvm/x86/pvclock_test.c
index aecd62fc8a93..4c1869fa482e 100644
--- a/tools/testing/selftests/kvm/x86/pvclock_test.c
+++ b/tools/testing/selftests/kvm/x86/pvclock_test.c
@@ -14,7 +14,6 @@
 #include "test_util.h"
 #include "kvm_util.h"
 #include "processor.h"
-#include "apic.h"
 
 #include <asm/pvclock-abi.h>
 
@@ -262,10 +261,12 @@ int main(int argc, char *argv[])
 	return 0;
 }
 
+static volatile uint32_t vcpu_counter;
+
 static void guest_code_stable_bit(void)
 {
-	uint32_t apic_id = GET_APIC_ID_FIELD(xapic_read_reg(APIC_ID));
-	uint64_t gpa = KVMCLOCK_GPA + apic_id * sizeof(struct pvclock_vcpu_time_info);
+	uint32_t idx = __atomic_fetch_add(&vcpu_counter, 1, __ATOMIC_SEQ_CST);
+	uint64_t gpa = KVMCLOCK_GPA + idx * sizeof(struct pvclock_vcpu_time_info);
 
 	wrmsr(MSR_KVM_SYSTEM_TIME_NEW, gpa | KVM_MSR_ENABLED);
 	GUEST_SYNC(0);
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331700.1594255 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNh-0001PE-RZ; Mon, 08 Jun 2026 14:55:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331700.1594255; Mon, 08 Jun 2026 14:55:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNh-0001P5-My; Mon, 08 Jun 2026 14:55:13 +0000
Received: by outflank-mailman (input) for mailman id 1331700;
 Mon, 08 Jun 2026 14:55:13 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wWbNg-0001OZ-9f
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNe-00EcD6-Jx; Mon, 08 Jun 2026 16:55:11 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7bc-5cb7-0a2a0a5109dd-0a2a4509e8d2-14
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:10 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7cd-2497-0a2a45090019-5a9b3222cd2a-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:09 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wWbNR-0000000Dtx8-31m6; Mon, 08 Jun 2026 14:54:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNR-00000000NEn-2XC4;
 Mon, 08 Jun 2026 15:54:57 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=kmXiitnSRUwEV6tPjvXxCrsAzGUuV+8SMjnRuSsAfbI=; b=upKvM4mru9iTXS4LtuodoQr3O7
	eH8eJEEzfTSmKawhDNYywuN5Fc+EhdCFOZOLZN41PAS1m/7o4wybNoX2pVIq00YYgtNjOdpjNk/bT
	w6xZK5J20UhUOGa4ConrVw5wGP3C2HNrg4KzW9s2aLdaFB7Khb7b8kLJWIF9+0wHXhd/TZVw9H8eh
	jkdEWjp9iKK4RBFT0WMlVBBzUK9zEglvNDtbkGVBwAdqHWIbYxuFk/wrCP/Zk9Siw0RrGEMps/jDV
	LoyxYP549CTgy3caIpf36/2b9QoFEhgSAgOMVLGyR8f22DTiCK1aZ7z8BFlOEyRcYetYtTNrRQviN
	21Ox5wOw==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 06/34] KVM: x86: Explicitly disable TSC scaling without CONSTANT_TSC
Date: Mon,  8 Jun 2026 15:47:47 +0100
Message-ID: <20260608145455.89187-7-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-bad1c0/1780930510-89174A53-6F72A377/0/0
X-purgate-type: clean
X-purgate-size: 1884

From: David Woodhouse <dwmw@amazon.co.uk>

KVM does make an attempt to cope with non-constant TSC, and has
notifiers to handle host TSC frequency changes. However, it *only*
adjusts the KVM clock, and doesn't adjust TSC frequency scaling when
the host changes.

This is presumably because non-constant TSCs were fixed in hardware
long before TSC scaling was implemented, so there should never be real
CPUs which have TSC scaling but *not* CONSTANT_TSC.

Such a combination could potentially happen in some odd L1 nesting
environment, but it isn't worth trying to support it. Just make the
dependency explicit.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 arch/x86/kvm/svm/svm.c | 3 ++-
 arch/x86/kvm/vmx/vmx.c | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
index e7fdd7a9c280..7817752533fe 100644
--- a/arch/x86/kvm/svm/svm.c
+++ b/arch/x86/kvm/svm/svm.c
@@ -5546,7 +5546,8 @@ static __init int svm_hardware_setup(void)
 				     XFEATURE_MASK_BNDCSR);
 
 	if (tsc_scaling) {
-		if (!boot_cpu_has(X86_FEATURE_TSCRATEMSR)) {
+		if (!boot_cpu_has(X86_FEATURE_TSCRATEMSR) ||
+		    !boot_cpu_has(X86_FEATURE_CONSTANT_TSC)) {
 			tsc_scaling = false;
 		} else {
 			pr_info("TSC scaling supported\n");
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index a29896a9ef14..ed207cc7692d 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -8672,7 +8672,7 @@ __init int vmx_hardware_setup(void)
 	if (!enable_apicv || !cpu_has_vmx_ipiv())
 		enable_ipiv = false;
 
-	if (cpu_has_vmx_tsc_scaling())
+	if (cpu_has_vmx_tsc_scaling() && boot_cpu_has(X86_FEATURE_CONSTANT_TSC))
 		kvm_caps.has_tsc_control = true;
 
 	kvm_caps.max_tsc_scaling_ratio = KVM_VMX_TSC_MULTIPLIER_MAX;
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331706.1594303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNk-0002Hp-SZ; Mon, 08 Jun 2026 14:55:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331706.1594303; Mon, 08 Jun 2026 14: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 1wWbNk-0002FT-Hn; Mon, 08 Jun 2026 14:55:16 +0000
Received: by outflank-mailman (input) for mailman id 1331706;
 Mon, 08 Jun 2026 14:55:13 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wWbNh-0001Oc-0i
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNg-00EcD6-Cr; Mon, 08 Jun 2026 16:55:12 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7bc-5cb7-0a2a0a5109dd-0a2a4509e8d2-20
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:12 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7d0-2497-0a2a45090019-5a9b3222d5a4-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:12 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wWbNR-0000000Dtx6-2v57; Mon, 08 Jun 2026 14:54:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNR-00000000NEq-2rr6;
 Mon, 08 Jun 2026 15:54:57 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=PQH1s5X/ubTmj6TSpsud5d3OFm7dGCk1M0UtxMvyZFE=; b=aZGcqpzLCQbJf47VRT2oCaHI5o
	SbAvKu7kWlyBGUrmA+/l18vVNr3QdBHfahIrcZfQJkGAVGs3o38KJEBbjYKPlOT3SLqiUCtvrsFsJ
	+bQDvjqz5fKj7TDGjjosEQDQqsLwzFAVCtk3kq5eQJU1TTq5ZjeuuUKmfbEl1JbB7LBj0yjstTGmr
	tD875uYDxfNpnbgVQ2IwPqLHLrPWnwCTEwaW/6RAh1iJBiyO5Lvjt+V1kVbQq4RmF4JOOqDu7vCzO
	0ECh92S0tDag2AlJwALLBG0Hyx5dV5NF5QRVf4QBmHvn8D7AQZAomwzKdDDH4Cv38nEnOl12amZgA
	4srQhWTQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 07/34] KVM: x86: Activate master clock immediately on vCPU creation
Date: Mon,  8 Jun 2026 15:47:48 +0100
Message-ID: <20260608145455.89187-8-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-bad1c0/1780930512-88D76A53-648BE953/0/0
X-purgate-type: clean
X-purgate-size: 1254

From: David Woodhouse <dwmw@amazon.co.uk>

Previously, the master clock was only activated when the first vCPU
processed KVM_REQ_MASTERCLOCK_UPDATE during KVM_RUN. This meant that
KVM_GET_CLOCK could not return the host_tsc field until after the
first KVM_RUN, making it impossible for userspace to follow the
documented TSC migration procedure without a dummy vCPU run.

Fix this by calling kvm_update_masterclock() directly from
kvm_arch_vcpu_postcreate(), after kvm_synchronize_tsc() has already
set all_vcpus_matched_freq. This ensures the master clock is active
immediately, and KVM_GET_CLOCK returns a valid {host_tsc, realtime}
pair as soon as a vCPU exists.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 arch/x86/kvm/x86.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index b7e5f6e3dc6c..c1897d939da9 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -13098,6 +13098,8 @@ void kvm_arch_vcpu_postcreate(struct kvm_vcpu *vcpu)
 		return;
 	vcpu_load(vcpu);
 	kvm_synchronize_tsc(vcpu, NULL);
+	if (!vcpu->kvm->arch.use_master_clock)
+		kvm_update_masterclock(vcpu->kvm);
 	vcpu_put(vcpu);
 
 	/* poll control enabled by default */
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331707.1594293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNk-00027x-AB; Mon, 08 Jun 2026 14:55:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331707.1594293; Mon, 08 Jun 2026 14: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 1wWbNk-00025i-1o; Mon, 08 Jun 2026 14:55:16 +0000
Received: by outflank-mailman (input) for mailman id 1331707;
 Mon, 08 Jun 2026 14:55:14 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wWbNh-0001P6-TP
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNh-00EcHH-95; Mon, 08 Jun 2026 16:55:13 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7c9-bab6-0a2a0a5309dd-0a2a4503be90-16
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:13 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7d0-672d-0a2a45030019-5a9b3222d954-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:13 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wWbNS-0000000DtxR-0or9; Mon, 08 Jun 2026 14:54:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNS-00000000NFq-1gTE;
 Mon, 08 Jun 2026 15:54:58 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:
	From:Reply-To:Cc:Content-ID:Content-Description;
	bh=cmBqqtGJwbuFFzQ3xL4KAIBfESZHairUslQqBI77Ze0=; b=dB1mnmM67CSlPJ6qjMZQQjgdYG
	Wvrfg4w3dEFSg2McKUMLj7rJRsW2heHp4o5GCCWuu7n8rYuEJbnowfNdy8nwZZEECFDzCuY1rFpeI
	tTHDpGf+o6xNA2jP69ahEanmXVrPb/JeZd1tefKD11xaBN6l9FLgluxY4zEqEFAhJ2EFpIRBQPGig
	R6VZDpVufIAjpY1rbFjXr+woncXFvfV6Jrc1PGg/gZoh4b8QZkmL4RJQZgSuPO6Y4WpUSRmKeGUpa
	GQgB0qyhndvUYvNOeBQs0vTz/R805XKvXREXqgPNbSllBj2QKpXgaOSasLbcdLxFhYlbqVHB01qy9
	xmXunmwg==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 21/34] KVM: x86: Allow KVM master clock mode when TSCs are offset from each other
Date: Mon,  8 Jun 2026 15:48:02 +0100
Message-ID: <20260608145455.89187-22-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-33051d/1780930513-37340938-D226680D/0/0
X-purgate-type: clean
X-purgate-size: 8693

From: David Woodhouse <dwmw@amazon.co.uk>

Previously, a guest writing different TSC values on different vCPUs could
force KVM out of master clock mode. With this change, only a frequency
mismatch disables master clock. The only ways for non-master-clock mode
to happen now are archaic hardware without a TSC-based clocksource, or a
VMM that sets different TSC frequencies across vCPUs.

Running at a different frequency would lead to a systemic skew between
the clock(s) as observed by different vCPUs due to arithmetic precision
in the scaling. So that should indeed force the clock to be based on the
host's CLOCK_MONOTONIC_RAW instead of being in masterclock mode where it
is defined by the guest TSC.

But when the vCPUs merely have a different TSC *offset*, that's not a
problem. The offset is applied to that vCPU's kvmclock->tsc_timestamp
field, and it all comes out in the wash.

Track frequency matching separately from offset matching using a
dedicated freq generation counter (cur_tsc_freq_generation) that only
bumps on actual frequency changes. Each vCPU is counted exactly once per
freq generation via a per-vCPU this_tsc_freq_generation field, preventing
repeated syncs of the same vCPU from falsely re-enabling master clock.

Note that the generation-based counting has a known limitation: if all
vCPUs are in sync and one changes away and then back again, the other
vCPUs are still at the old generation and won't be counted until they
sync again (which may never happen). This was always the case for the
offset tracking and isn't expected VMM behaviour â€” although it is the
scenario that the VM-wide KVM_SET_TSC_KHZ ioctl was introduced to handle
cleanly.

While at it, restructure the existing TSC offset generation tracking to
use the same pattern: reset counter to zero on new generation, then
unconditionally count vCPUs that haven't been seen in this generation.
Both counters now use a consistent >= online_vcpus threshold (1-based
counting where the reference vCPU is included in the count).

Use frequency match for master clock eligibility, and full TSC match
(including offset) only for PVCLOCK_TSC_STABLE_BIT, which tells the
guest it is safe to skip cross-vCPU monotonicity enforcement.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 arch/x86/include/asm/kvm_host.h |  4 ++
 arch/x86/kvm/x86.c              | 68 ++++++++++++++++++++++++++-------
 2 files changed, 58 insertions(+), 14 deletions(-)

diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index eb81f90284ba..699a1a197194 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -970,6 +970,7 @@ struct kvm_vcpu_arch {
 	u64 this_tsc_nsec;
 	u64 this_tsc_write;
 	u64 this_tsc_generation;
+	u64 this_tsc_freq_generation;
 	bool tsc_catchup;
 	bool tsc_always_catchup;
 	s8 virtual_tsc_shift;
@@ -1493,6 +1494,9 @@ struct kvm_arch {
 	u64 cur_tsc_offset;
 	u64 cur_tsc_generation;
 	bool all_vcpus_matched_tsc;
+	bool all_vcpus_matched_freq;
+	int nr_vcpus_matched_freq;
+	u64 cur_tsc_freq_generation;
 	int nr_vcpus_matched_tsc;
 
 	u32 default_tsc_khz;
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index ac66f8e7116f..86c30be4c5d2 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -2647,14 +2647,37 @@ static void kvm_track_tsc_matching(struct kvm_vcpu *vcpu, bool new_generation)
 	struct pvclock_gtod_data *gtod = &pvclock_gtod_data;
 
 	/*
-	 * To use the masterclock, the host clocksource must be based on TSC
-	 * and all vCPUs must have matching TSCs.  Note, the count for matching
-	 * vCPUs doesn't include the reference vCPU, hence "+1".
+	 * Track whether all vCPUs have matching TSC offsets (for
+	 * PVCLOCK_TSC_STABLE_BIT) and matching frequencies (for
+	 * master clock eligibility).
+	 */
+
+	/*
+	 * A new vCPU might already have incremented ->online_vcpus
+	 * and cause a temporary false negative here. But will then
+	 * call kvm_synchronize_tsc() from kvm_arch_vcpu_postcreate()
+	 * and finish the job.
 	 */
-	ka->all_vcpus_matched_tsc = (ka->nr_vcpus_matched_tsc + 1 ==
-				     atomic_read(&vcpu->kvm->online_vcpus));
+	int online = atomic_read(&vcpu->kvm->online_vcpus);
 
-	bool use_master_clock = ka->all_vcpus_matched_tsc &&
+	ka->all_vcpus_matched_tsc = (ka->nr_vcpus_matched_tsc >= online);
+	/*
+	 * all_vcpus_matched_freq starts true and is cleared when
+	 * __kvm_synchronize_tsc() detects a frequency mismatch.
+	 * Re-enable when all vCPUs have synced with matching frequency.
+	 * If all offsets also match, that implies frequencies match too.
+	 */
+	if (ka->all_vcpus_matched_tsc ||
+	    ka->nr_vcpus_matched_freq >= online)
+		ka->all_vcpus_matched_freq = true;
+
+	/*
+	 * To use the masterclock, the host clocksource must be based on TSC
+	 * and all vCPUs must have matching TSC *frequency*. Different offsets
+	 * are fine â€” each vCPU's pvclock has its own tsc_timestamp that
+	 * accounts for its offset.
+	 */
+	bool use_master_clock = ka->all_vcpus_matched_freq &&
 				gtod_is_based_on_tsc(gtod->clock.vclock_mode);
 
 	/*
@@ -2818,7 +2841,22 @@ static void __kvm_synchronize_tsc(struct kvm_vcpu *vcpu, u64 offset, u64 tsc,
 	 * Track the TSC frequency, scaling ratio, and offset for the current
 	 * generation. These are used to detect matching TSC writes and to
 	 * compute the guest TSC from the host clock.
+	 *
+	 * If the frequency changed, master clock mode can no longer be used
+	 * since the kvmclock scaling factors differ between vCPUs.
 	 */
+	if (vcpu->arch.virtual_tsc_khz != kvm->arch.cur_tsc_khz) {
+		kvm->arch.cur_tsc_freq_generation++;
+		kvm->arch.all_vcpus_matched_freq = false;
+		kvm->arch.nr_vcpus_matched_freq = 0;
+	}
+
+	/* Count each vCPU once per freq generation */
+	if (vcpu->arch.this_tsc_freq_generation != kvm->arch.cur_tsc_freq_generation) {
+		vcpu->arch.this_tsc_freq_generation = kvm->arch.cur_tsc_freq_generation;
+		kvm->arch.nr_vcpus_matched_freq++;
+	}
+
 	kvm->arch.cur_tsc_khz = vcpu->arch.virtual_tsc_khz;
 	kvm->arch.cur_tsc_scaling_ratio = vcpu->arch.l1_tsc_scaling_ratio;
 
@@ -2835,17 +2873,18 @@ static void __kvm_synchronize_tsc(struct kvm_vcpu *vcpu, u64 offset, u64 tsc,
 		 * exact software computation in compute_guest_tsc()
 		 */
 		kvm->arch.cur_tsc_generation++;
+		kvm->arch.all_vcpus_matched_tsc = false;
+		kvm->arch.nr_vcpus_matched_tsc = 0;
 		kvm->arch.cur_tsc_nsec = ns;
 		kvm->arch.cur_tsc_write = tsc;
 		kvm->arch.cur_tsc_offset = offset;
-		kvm->arch.nr_vcpus_matched_tsc = 0;
-		kvm->arch.all_vcpus_matched_tsc = false;
-	} else if (vcpu->arch.this_tsc_generation != kvm->arch.cur_tsc_generation) {
+	}
+
+	if (vcpu->arch.this_tsc_generation != kvm->arch.cur_tsc_generation) {
+		vcpu->arch.this_tsc_generation = kvm->arch.cur_tsc_generation;
 		kvm->arch.nr_vcpus_matched_tsc++;
 	}
 
-	/* Keep track of which generation this VCPU has synchronized to */
-	vcpu->arch.this_tsc_generation = kvm->arch.cur_tsc_generation;
 	vcpu->arch.this_tsc_nsec = kvm->arch.cur_tsc_nsec;
 	vcpu->arch.this_tsc_write = kvm->arch.cur_tsc_write;
 
@@ -3180,7 +3219,7 @@ static void pvclock_update_vm_gtod_copy(struct kvm *kvm)
 	bool host_tsc_clocksource, vcpus_matched;
 
 	lockdep_assert_held(&kvm->arch.tsc_write_lock);
-	vcpus_matched = ka->all_vcpus_matched_tsc;
+	vcpus_matched = ka->all_vcpus_matched_freq;
 
 	/*
 	 * If the host uses TSC clock, then passthrough TSC as stable
@@ -3527,7 +3566,7 @@ int kvm_guest_time_update(struct kvm_vcpu *v)
 
 	/* If the host uses TSC clocksource, then it is stable */
 	hv_clock.flags = 0;
-	if (use_master_clock)
+	if (use_master_clock && ka->all_vcpus_matched_tsc)
 		hv_clock.flags |= PVCLOCK_TSC_STABLE_BIT;
 
 	if (vcpu->pv_time.active) {
@@ -6354,7 +6393,7 @@ static int kvm_vcpu_ioctl_get_clock_guest(struct kvm_vcpu *v, void __user *argp)
 
 	hv_clock.tsc_shift = vcpu->pvclock_tsc_shift;
 	hv_clock.tsc_to_system_mul = vcpu->pvclock_tsc_mul;
-	hv_clock.flags = PVCLOCK_TSC_STABLE_BIT;
+	hv_clock.flags = ka->all_vcpus_matched_tsc ? PVCLOCK_TSC_STABLE_BIT : 0;
 
 	if (copy_to_user(argp, &hv_clock, sizeof(hv_clock)))
 		return -EFAULT;
@@ -13649,6 +13688,7 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
 	mutex_init(&kvm->arch.apic_map_lock);
 	seqcount_raw_spinlock_init(&kvm->arch.pvclock_sc, &kvm->arch.tsc_write_lock);
 	kvm->arch.kvmclock_offset = -get_kvmclock_base_ns();
+	kvm->arch.all_vcpus_matched_freq = true;
 
 	raw_spin_lock_irqsave(&kvm->arch.tsc_write_lock, flags);
 	pvclock_update_vm_gtod_copy(kvm);
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331703.1594270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNi-0001ak-Pa; Mon, 08 Jun 2026 14:55:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331703.1594270; Mon, 08 Jun 2026 14: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 1wWbNi-0001Xr-HO; Mon, 08 Jun 2026 14:55:14 +0000
Received: by outflank-mailman (input) for mailman id 1331703;
 Mon, 08 Jun 2026 14:55:13 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wWbNh-0001Od-0o
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNg-00AKPU-D0; Mon, 08 Jun 2026 16:55:12 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7c9-bab6-0a2a0a5309dd-0a2a4503be90-8
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:11 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7cf-672d-0a2a45030019-5a9b32229a98-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:11 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wWbNR-0000000DtxD-3A0L; Mon, 08 Jun 2026 14:54:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNR-00000000NFC-3xeb;
 Mon, 08 Jun 2026 15:54:57 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=GYIPkApXjqdmWDUs+uq5FjcmUtBEQ1pISKw6Z2UaRCo=; b=gV/ATQV+Z//gzR/mu9S2cXp5NR
	ySggUKBa6gNNOlXNF45eMUlAhuW2gom1CLZgCwjQxHRcP/vcTVxwTR0jL7OihAU5/M4aAzRdbkkQ7
	mB/1csf6TB/7Fb759BnTDKJ5XmQz2m0zdVXzCHbqxtWnVTBFUlP0s73BFu2wF/n/7D/mlhSDi+Oj3
	ASAZ7bO1d5bEwDPF7buZyBilAd1UvwIIt7dhGmCg4484OJ4N3r5I0OIrVAoIRVllZaDOCSEmr0dIw
	I1A+KIdfueRdB1XrOslA8Bsj5phPoKiL5LZCdXg9hLxLcvl5vbJpdPZ2PyixH5YCU5bC1Q/WJbaeV
	/ogJWSFw==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 12/34] KVM: x86: Fix KVM clock precision in get_kvmclock() with TSC scaling
Date: Mon,  8 Jun 2026 15:47:53 +0100
Message-ID: <20260608145455.89187-13-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-33051d/1780930511-4046D938-2BFFCB9A/0/0
X-purgate-type: clean
X-purgate-size: 4618

From: David Woodhouse <dwmw@amazon.co.uk>

When in master clock mode, the KVM clock is defined in terms of the
guest TSC. But get_kvmclock() was computing it from the host TSC
without applying TSC scaling, leading to a systemic drift from the
values the guest computes from its own TSC.

Store the VM's TSC scaling ratio in kvm_arch and precompute the
guest-TSC-based mul/shift in pvclock_update_vm_gtod_copy(). Use these
in get_kvmclock() to scale the host TSC delta to guest TSC before
converting to nanoseconds.

This avoids "definition C" of the KVM clock described in the
earlier commit "KVM: x86/xen: Do not corrupt KVM clock in
kvm_xen_shared_info_init()".

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 arch/x86/include/asm/kvm_host.h |  4 +++
 arch/x86/kvm/x86.c              | 52 +++++++++++++++++++++++++++++----
 2 files changed, 51 insertions(+), 5 deletions(-)

diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 37264212c7df..5348fd5ea3f3 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -1490,6 +1490,7 @@ struct kvm_arch {
 	u64 last_tsc_write;
 	u32 last_tsc_khz;
 	u64 last_tsc_offset;
+	u64 last_tsc_scaling_ratio;
 	u64 cur_tsc_nsec;
 	u64 cur_tsc_write;
 	u64 cur_tsc_offset;
@@ -1504,6 +1505,9 @@ struct kvm_arch {
 	bool use_master_clock;
 	u64 master_kernel_ns;
 	u64 master_cycle_now;
+	u64 master_tsc_scaling_ratio;
+	s8  master_tsc_shift;
+	u32 master_tsc_mul;
 
 #ifdef CONFIG_KVM_HYPERV
 	struct kvm_hv hyperv;
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 6983a7494fcd..7ae6a7705353 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -2781,6 +2781,7 @@ static void __kvm_synchronize_tsc(struct kvm_vcpu *vcpu, u64 offset, u64 tsc,
 	kvm->arch.last_tsc_write = tsc;
 	kvm->arch.last_tsc_khz = vcpu->arch.virtual_tsc_khz;
 	kvm->arch.last_tsc_offset = offset;
+	kvm->arch.last_tsc_scaling_ratio = vcpu->arch.l1_tsc_scaling_ratio;
 
 	vcpu->arch.last_guest_tsc = tsc;
 
@@ -3109,6 +3110,8 @@ static bool kvm_get_walltime_and_clockread(struct timespec64 *ts,
  *
  */
 
+static unsigned long get_cpu_tsc_khz(void);
+
 static void pvclock_update_vm_gtod_copy(struct kvm *kvm)
 {
 #ifdef CONFIG_X86_64
@@ -3132,9 +3135,30 @@ static void pvclock_update_vm_gtod_copy(struct kvm *kvm)
 				&& !ka->backwards_tsc_observed
 				&& !ka->boot_vcpu_runs_old_kvmclock;
 
-	if (ka->use_master_clock)
+	if (ka->use_master_clock) {
+		u64 tsc_hz;
+
 		atomic_set(&kvm_guest_has_master_clock, 1);
 
+		/*
+		 * Copy the scaling ratio and precompute the mul/shift for
+		 * converting guest TSC to nanoseconds. These are used by
+		 * get_kvmclock() to compute kvmclock from the host TSC
+		 * without needing a vCPU reference.
+		 */
+		ka->master_tsc_scaling_ratio = ka->last_tsc_scaling_ratio;
+		tsc_hz = (u64)get_cpu_tsc_khz() * 1000;
+		if (tsc_hz && kvm_caps.has_tsc_control)
+			tsc_hz = kvm_scale_tsc(tsc_hz,
+					       ka->master_tsc_scaling_ratio);
+		if (tsc_hz)
+			kvm_get_time_scale(NSEC_PER_SEC, tsc_hz,
+					   &ka->master_tsc_shift,
+					   &ka->master_tsc_mul);
+		else
+			ka->use_master_clock = false;
+	}
+
 	vclock_mode = pvclock_gtod_data.clock.vclock_mode;
 	trace_kvm_update_master_clock(ka->use_master_clock, vclock_mode,
 					vcpus_matched);
@@ -3237,10 +3261,28 @@ static void get_kvmclock(struct kvm *kvm, struct kvm_clock_data *data)
 			data->flags |= KVM_CLOCK_TSC_STABLE;
 			hv_clock.tsc_timestamp = ka->master_cycle_now;
 			hv_clock.system_time = ka->master_kernel_ns + ka->kvmclock_offset;
-			kvm_get_time_scale(NSEC_PER_SEC, get_cpu_tsc_khz() * 1000LL,
-					   &hv_clock.tsc_shift,
-					   &hv_clock.tsc_to_system_mul);
-			data->clock = __pvclock_read_cycles(&hv_clock, data->host_tsc);
+
+			/*
+			 * Use the precomputed guest-TSC-based mul/shift
+			 * so that the kvmclock value matches what the
+			 * guest computes from its own TSC.
+			 */
+			hv_clock.tsc_shift = ka->master_tsc_shift;
+			hv_clock.tsc_to_system_mul = ka->master_tsc_mul;
+
+			if (kvm_caps.has_tsc_control) {
+				u64 tsc_delta = data->host_tsc - ka->master_cycle_now;
+
+				tsc_delta = kvm_scale_tsc(tsc_delta,
+							  ka->master_tsc_scaling_ratio);
+				data->clock = hv_clock.system_time +
+					pvclock_scale_delta(tsc_delta,
+							    hv_clock.tsc_to_system_mul,
+							    hv_clock.tsc_shift);
+			} else {
+				data->clock = __pvclock_read_cycles(&hv_clock,
+								    data->host_tsc);
+			}
 
 			put_cpu();
 		} else
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331709.1594310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNl-0002PD-CK; Mon, 08 Jun 2026 14:55:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331709.1594310; Mon, 08 Jun 2026 14:55: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 1wWbNk-0002NJ-UU; Mon, 08 Jun 2026 14:55:16 +0000
Received: by outflank-mailman (input) for mailman id 1331709;
 Mon, 08 Jun 2026 14:55:14 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wWbNi-0001Ph-2z
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNh-00EcHE-FG; Mon, 08 Jun 2026 16:55:13 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7d0-5cb7-0a2a0a5109dd-0a2a45018424-2
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:13 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7d1-c1f2-0a2a45010019-5a9b3222c232-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:13 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wWbNS-0000000DtxU-1Yju; Mon, 08 Jun 2026 14:54:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNS-00000000NG6-2Q2u;
 Mon, 08 Jun 2026 15:54:58 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=V5hQ2fJb27QK5yOdBL7f7A818+T1JNBNilH2QwnYDyE=; b=FHfGEEkE15rW8ab6qOQyAKlwTq
	pwCb1E2xyKsfKkqAwcMbzw4od+T/RbLOlnkmrIWtidUE9eb7eeSxAWvIhRJrtQLoKXeeQynN5nz/p
	gLGH5CAUgBbkHX6sHVqcpPU8UIL571t8dTRpztLKdRuwKCRC9on//sgzOz8v5Wqpkkvp6q+iD5ETQ
	LA0vcVq6M6X0DYXNzh7nmKV4u/AhACeTIsNV5hfGqylri2ibABEtThIwGzPN10/jOjmb0Iyqc32Dm
	RETe84ke6DhvwyKjFwRzLBQa3yxJVHAh4/64jiGi0LKnUcV9IcIngDBG7U2jn0p5djfzY6rPtSc3W
	NbmR32Pg==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 25/34] KVM: x86/xen: Prevent runstate times from becoming negative
Date: Mon,  8 Jun 2026 15:48:06 +0100
Message-ID: <20260608145455.89187-26-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-d62444/1780930513-ACC53FF4-DDA337D4/0/0
X-purgate-type: clean
X-purgate-size: 3262

From: David Woodhouse <dwmw@amazon.co.uk>

When kvm_xen_update_runstate() is invoked to set a vCPU's runstate, the
time spent in the previous runstate is accounted. This is based on the
delta between the current KVM clock time, and the previous value stored
in vcpu->arch.xen.runstate_entry_time.

If the KVM clock goes backwards, that delta will be negative. Or, since
it's an unsigned 64-bit integer, very *large*. Linux guests deal with
that particularly badly, reporting 100% steal time for ever more (well,
for *centuries* at least, until the delta has been consumed).

So when a negative delta is detected, just refrain from updating the
runstate times until the KVM clock catches up with runstate_entry_time
again.

Also clamp steal_ns to delta_ns to prevent steal time from exceeding
the total elapsed time, and handle negative steal_ns (which can happen
if run_delay goes backwards across a scheduler update).

The userspace APIs for setting the runstate times do not allow them to
be set past the current KVM clock, but userspace can still adjust the
KVM clock *after* setting the runstate times, which would cause this
situation to occur.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 arch/x86/kvm/xen.c | 28 ++++++++++++++++++++++------
 1 file changed, 22 insertions(+), 6 deletions(-)

diff --git a/arch/x86/kvm/xen.c b/arch/x86/kvm/xen.c
index 82e34edbfdbd..b1d67ece5db3 100644
--- a/arch/x86/kvm/xen.c
+++ b/arch/x86/kvm/xen.c
@@ -586,29 +586,45 @@ void kvm_xen_update_runstate(struct kvm_vcpu *v, int state)
 {
 	struct kvm_vcpu_xen *vx = &v->arch.xen;
 	u64 now = get_kvmclock_ns(v->kvm);
-	u64 delta_ns = now - vx->runstate_entry_time;
 	u64 run_delay = current->sched_info.run_delay;
+	s64 delta_ns = now - vx->runstate_entry_time;
+	s64 steal_ns = run_delay - vx->last_steal;
 
+	/*
+	 * If the vCPU was never run before, its prior state should
+	 * be considered RUNSTATE_offline.
+	 */
 	if (unlikely(!vx->runstate_entry_time))
 		vx->current_runstate = RUNSTATE_offline;
 
+	/*
+	 * If KVM clock went backwards, just update the current runstate
+	 * but don't account any time. Leave entry_time unchanged so the
+	 * next positive delta covers the full period once the clock
+	 * catches up. Update last_steal every time so stolen time only
+	 * reflects the interval since the most recent call.
+	 */
+	if (delta_ns < 0)
+		goto update_guest;
+
 	/*
 	 * Time waiting for the scheduler isn't "stolen" if the
 	 * vCPU wasn't running anyway.
 	 */
-	if (vx->current_runstate == RUNSTATE_running) {
-		u64 steal_ns = run_delay - vx->last_steal;
+	if (vx->current_runstate == RUNSTATE_running && steal_ns > 0) {
+		if (steal_ns > delta_ns)
+			steal_ns = delta_ns;
 
 		delta_ns -= steal_ns;
-
 		vx->runstate_times[RUNSTATE_runnable] += steal_ns;
 	}
-	vx->last_steal = run_delay;
 
 	vx->runstate_times[vx->current_runstate] += delta_ns;
-	vx->current_runstate = state;
 	vx->runstate_entry_time = now;
 
+ update_guest:
+	vx->current_runstate = state;
+	vx->last_steal = run_delay;
 	if (vx->runstate_cache.active)
 		kvm_xen_update_runstate_guest(v, state == RUNSTATE_runnable);
 }
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331708.1594315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNm-0002ZP-2h; Mon, 08 Jun 2026 14:55:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331708.1594315; Mon, 08 Jun 2026 14:55: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 1wWbNl-0002VL-IU; Mon, 08 Jun 2026 14:55:17 +0000
Received: by outflank-mailman (input) for mailman id 1331708;
 Mon, 08 Jun 2026 14:55:14 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wWbNg-0001Ob-GY
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNf-00EcD6-TP; Mon, 08 Jun 2026 16:55:11 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7c5-5cb7-0a2a0a5109dd-0a2a4504aa90-26
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:11 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7ce-1dec-0a2a45040019-5a9b32229a8c-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:10 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wWbNR-0000000DtxF-3M66; Mon, 08 Jun 2026 14:54:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNR-00000000NFK-45z6;
 Mon, 08 Jun 2026 15:54:57 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=kzo7us9axLE6O2exw0Cl6U5WHgHBbewVPWCB3bErZOE=; b=RGeLi7GjoSXYplCK7Jkv0M+NUZ
	d3RESPAK3OJqd9O/Y6CBJzjRWyo+LmbRbYXU17ZRiNIF5jRN/1AelT3Pp7TCUWDm2bDspYBdl8om3
	K5LV2Wpn+lijtTE0bITDN+lqpHd8EGL9BOTxPTq0oHdwHicvt6BAUUIY8oE4emduAdzw1OFQ4x7YQ
	Pe7emlltLqC6oNqj+gHa2Ex8FZ2suXd+M4Yo5H3xQUFch1KSl8iFV/oRtJO0+igNGXiPQ63poo9UT
	0+em0x8c/zUkuqgc+gKdNziudceC23aF8P+fHaZHRCFsOTBdkmb9hsvqPKzYnchYajaEz0ZrhRJya
	q4GZk7fA==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 13/34] KVM: x86: Use get_kvmclock() in kvm_get_wall_clock_epoch()
Date: Mon,  8 Jun 2026 15:47:54 +0100
Message-ID: <20260608145455.89187-14-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-ebf023/1780930511-427613FF-7D56AF36/0/0
X-purgate-type: clean
X-purgate-size: 3112

From: David Woodhouse <dwmw@amazon.co.uk>

Now that get_kvmclock() correctly handles TSC scaling and captures both
wallclock and kvmclock from the same TSC reading,
kvm_get_wall_clock_epoch() can simply call it instead of duplicating
the pvclock computation.

This eliminates the last instance of the "definition C" kvmclock
calculation that computed nanoseconds directly from the host TSC
without accounting for guest TSC scaling.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 arch/x86/kvm/x86.c | 59 +++++++---------------------------------------
 1 file changed, 9 insertions(+), 50 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 7ae6a7705353..fc9366b83912 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -3494,63 +3494,22 @@ int kvm_guest_time_update(struct kvm_vcpu *v)
  * wallclock and kvmclock times, and subtracting one from the other.
  *
  * Fall back to using their values at slightly different moments by
- * calling ktime_get_real_ns() and get_kvmclock_ns() separately.
+ * calling ktime_get_real_ns() and get_kvmclock() separately.
  */
 uint64_t kvm_get_wall_clock_epoch(struct kvm *kvm)
 {
-#ifdef CONFIG_X86_64
-	struct pvclock_vcpu_time_info hv_clock;
-	struct kvm_arch *ka = &kvm->arch;
-	unsigned long seq, local_tsc_khz;
-	struct timespec64 ts;
-	uint64_t host_tsc;
-
-	do {
-		seq = read_seqcount_begin(&ka->pvclock_sc);
-
-		local_tsc_khz = 0;
-		if (!ka->use_master_clock)
-			break;
-
-		/*
-		 * The TSC read and the call to get_cpu_tsc_khz() must happen
-		 * on the same CPU.
-		 */
-		get_cpu();
-
-		local_tsc_khz = get_cpu_tsc_khz();
-
-		if (local_tsc_khz &&
-		    !kvm_get_walltime_and_clockread(&ts, &host_tsc))
-			local_tsc_khz = 0; /* Fall back to old method */
-
-		put_cpu();
-
-		/*
-		 * These values must be snapshotted within the seqcount loop.
-		 * After that, it's just mathematics which can happen on any
-		 * CPU at any time.
-		 */
-		hv_clock.tsc_timestamp = ka->master_cycle_now;
-		hv_clock.system_time = ka->master_kernel_ns + ka->kvmclock_offset;
+	struct kvm_clock_data data;
 
-	} while (read_seqcount_retry(&ka->pvclock_sc, seq));
+	get_kvmclock(kvm, &data);
 
 	/*
-	 * If the conditions were right, and obtaining the wallclock+TSC was
-	 * successful, calculate the KVM clock at the corresponding time and
-	 * subtract one from the other to get the guest's epoch in nanoseconds
-	 * since 1970-01-01.
+	 * If get_kvmclock() captured both wallclock and kvmclock from the
+	 * same TSC reading, use them for a precise epoch calculation.
 	 */
-	if (local_tsc_khz) {
-		kvm_get_time_scale(NSEC_PER_SEC, local_tsc_khz * NSEC_PER_USEC,
-				   &hv_clock.tsc_shift,
-				   &hv_clock.tsc_to_system_mul);
-		return ts.tv_nsec + NSEC_PER_SEC * ts.tv_sec -
-			__pvclock_read_cycles(&hv_clock, host_tsc);
-	}
-#endif
-	return ktime_get_real_ns() - get_kvmclock_ns(kvm);
+	if (data.flags & KVM_CLOCK_REALTIME)
+		return data.realtime - data.clock;
+
+	return ktime_get_real_ns() - data.clock;
 }
 
 /*
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:19 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331710.1594325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNn-0002qb-B1; Mon, 08 Jun 2026 14:55:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331710.1594325; Mon, 08 Jun 2026 14:55:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNm-0002o8-T6; Mon, 08 Jun 2026 14:55:18 +0000
Received: by outflank-mailman (input) for mailman id 1331710;
 Mon, 08 Jun 2026 14:55:15 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wWbNi-0001VG-LX
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNi-00EcHE-1W; Mon, 08 Jun 2026 16:55:14 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7bc-5cb7-0a2a0a5109dd-0a2a4509e8d2-30
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:14 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7d1-2497-0a2a45090019-5a9b3222d95e-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:13 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wWbNS-0000000Dtxe-2Jxv; Mon, 08 Jun 2026 14:54:59 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNS-00000000NGJ-2vCG;
 Mon, 08 Jun 2026 15:54:58 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:
	From:Reply-To:Cc:Content-ID:Content-Description;
	bh=c78r7FHx129wTlE8duPzxp93qTvHafKXfP1ElOAPp+s=; b=Hu0bnb2gTJzqaczociH1Gd9yU6
	V9F3FDAt6H9lJWrBbnepBHzF5cFtAwyfJufteJNkcYd7UmwJbVGSeJ+PiYe0Vw0mWwyt2PtQNq3Ys
	G7eVdSyuNjH+ehZf6PZmwQMYuoeaP7zSEecwrM4Ociadp0YNirqwZJ21WOR1Qak1GJNdNr7fs16YS
	0UexfmoAAfxWHoBgrDH7yMnjXk1n9VGZnCC8pnXSrYtUfv6zhMG5gN9jiUO5B3LQN/lsVl/G1vDSS
	WrhQctlyxYmEHa/EArSepdj0dRkq3whg/6n5LQFQPzAAI1+yWZmjnueJ59D3BOJBY2M+2nv8FXsSl
	p4XpDtjQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 28/34] KVM: selftests: Add Xen/generic CPUID timing leaf test
Date: Mon,  8 Jun 2026 15:48:09 +0100
Message-ID: <20260608145455.89187-29-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-bad1c0/1780930513-8A18BA53-D5E908E8/0/0
X-purgate-type: clean
X-purgate-size: 8839

From: David Woodhouse <dwmw@amazon.co.uk>

Verify that userspace can correctly populate Xen and generic CPUID
timing leaves using the KVM_VCPU_TSC_SCALE and
KVM_VCPU_TSC_SCALE attributes.

This validates that the removal of KVM's runtime Xen CPUID modification
doesn't break guests: userspace queries the effective TSC and bus
frequencies, computes the pvclock mul/shift, populates the CPUID leaves,
and the guest verifies the values match.

The test exercises:
 - KVM_VCPU_TSC_SCALE at native and scaled frequencies
 - KVM_VCPU_TSC_SCALE ratio verification against effective frequency
 - Generic timing leaf 0x40000010 (EAX=tsc_khz, EBX=bus_khz)
 - Xen leaf 3 sub-leaf 0 (ECX=guest TSC kHz)
 - Xen leaf 3 sub-leaf 1 (ECX=mul, EDX=shift)

Gracefully skips TSC scaling tests on hardware without support.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 tools/testing/selftests/kvm/Makefile.kvm      |   1 +
 .../selftests/kvm/x86/xen_cpuid_timing_test.c | 230 ++++++++++++++++++
 2 files changed, 231 insertions(+)
 create mode 100644 tools/testing/selftests/kvm/x86/xen_cpuid_timing_test.c

diff --git a/tools/testing/selftests/kvm/Makefile.kvm b/tools/testing/selftests/kvm/Makefile.kvm
index 7ecaaf82056e..58aac2980cdf 100644
--- a/tools/testing/selftests/kvm/Makefile.kvm
+++ b/tools/testing/selftests/kvm/Makefile.kvm
@@ -141,6 +141,7 @@ TEST_GEN_PROGS_x86 += x86/xss_msr_test
 TEST_GEN_PROGS_x86 += x86/debug_regs
 TEST_GEN_PROGS_x86 += x86/tsc_msrs_test
 TEST_GEN_PROGS_x86 += x86/vmx_pmu_caps_test
+TEST_GEN_PROGS_x86 += x86/xen_cpuid_timing_test
 TEST_GEN_PROGS_x86 += x86/xen_shinfo_test
 TEST_GEN_PROGS_x86 += x86/xen_vmcall_test
 TEST_GEN_PROGS_x86 += x86/sev_init2_tests
diff --git a/tools/testing/selftests/kvm/x86/xen_cpuid_timing_test.c b/tools/testing/selftests/kvm/x86/xen_cpuid_timing_test.c
new file mode 100644
index 000000000000..a0c262b8db89
--- /dev/null
+++ b/tools/testing/selftests/kvm/x86/xen_cpuid_timing_test.c
@@ -0,0 +1,230 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Test that userspace can correctly populate Xen and generic CPUID
+ * timing leaves using KVM_GET_TSC_KHZ and KVM_VCPU_TSC_SCALE.
+ *
+ * This validates that the removal of KVM's runtime Xen CPUID modification
+ * doesn't break guests, because userspace has all the information needed.
+ */
+#include <stdint.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "test_util.h"
+#include "kvm_util.h"
+#include "processor.h"
+
+#include <asm/pvclock-abi.h>
+
+#define XEN_CPUID_BASE		0x40000100
+#define XEN_CPUID_LEAF(n)	(XEN_CPUID_BASE + (n))
+#define GENERIC_TIMING_LEAF	0x40000010
+
+/* Values set by host, verified by guest */
+static uint32_t expected_tsc_khz;
+static uint32_t expected_bus_khz;
+static uint32_t expected_tsc_mul;
+static int8_t   expected_tsc_shift;
+static uint64_t host_khz;
+
+static void guest_code(void)
+{
+	uint32_t eax, ebx, ecx, edx;
+
+	/* Check generic timing leaf 0x40000010 */
+	__cpuid(GENERIC_TIMING_LEAF, 0, &eax, &ebx, &ecx, &edx);
+	GUEST_ASSERT_EQ(eax, expected_tsc_khz);
+	GUEST_ASSERT_EQ(ebx, expected_bus_khz);
+
+	/* Check Xen leaf 3, sub-leaf 0: ECX = guest TSC frequency */
+	__cpuid(XEN_CPUID_LEAF(3), 0, &eax, &ebx, &ecx, &edx);
+	GUEST_ASSERT_EQ(ecx, expected_tsc_khz);
+
+	/* Check Xen leaf 3, sub-leaf 1: ECX = mul, EDX = shift */
+	__cpuid(XEN_CPUID_LEAF(3), 1, &eax, &ebx, &ecx, &edx);
+	GUEST_ASSERT_EQ(ecx, expected_tsc_mul);
+	GUEST_ASSERT_EQ((int8_t)edx, expected_tsc_shift);
+
+	GUEST_SYNC(0);
+}
+
+static void add_cpuid_entry(struct kvm_vcpu *vcpu, uint32_t function,
+			    uint32_t index, uint32_t eax, uint32_t ebx,
+			    uint32_t ecx, uint32_t edx)
+{
+	struct kvm_cpuid2 *cpuid = vcpu->cpuid;
+	struct kvm_cpuid_entry2 *entry;
+	int n = cpuid->nent;
+
+	vcpu->cpuid = realloc(vcpu->cpuid,
+			      sizeof(*cpuid) + (n + 1) * sizeof(*entry));
+	cpuid = vcpu->cpuid;
+	cpuid->nent = n + 1;
+
+	entry = &cpuid->entries[n];
+	memset(entry, 0, sizeof(*entry));
+	entry->function = function;
+	entry->index = index;
+	entry->flags = KVM_CPUID_FLAG_SIGNIFCANT_INDEX;
+	entry->eax = eax;
+	entry->ebx = ebx;
+	entry->ecx = ecx;
+	entry->edx = edx;
+}
+
+/*
+ * Compute pvclock mul/shift from frequency, matching kvm_get_time_scale().
+ */
+static void compute_tsc_mul_shift(uint64_t tsc_hz, uint32_t *mul, int8_t *shift)
+{
+	uint64_t scaled = 1000000000ULL;
+	uint64_t base = tsc_hz;
+	int32_t s = 0;
+	uint32_t base32;
+
+	while (base > scaled * 2 || base >> 32) {
+		base >>= 1;
+		s--;
+	}
+	base32 = (uint32_t)base;
+	while (base32 <= scaled || scaled >> 32) {
+		if (scaled >> 32 || base32 & (1U << 31))
+			scaled >>= 1;
+		else
+			base32 <<= 1;
+		s++;
+	}
+	*mul = (uint32_t)((scaled << 32) / base32);
+	*shift = (int8_t)s;
+}
+
+static void run_test(uint64_t tsc_khz)
+{
+	struct kvm_vcpu *vcpu;
+	struct kvm_vm *vm;
+	struct ucall uc;
+	uint32_t effective_tsc_khz, effective_bus_khz;
+	int bus_cycle_ns;
+
+	vm = vm_create_with_one_vcpu(&vcpu, guest_code);
+
+	if (tsc_khz) {
+		pr_info("Testing at TSC frequency %lu kHz\n", tsc_khz);
+		vcpu_ioctl(vcpu, KVM_SET_TSC_KHZ, (void *)(unsigned long)tsc_khz);
+	} else {
+		pr_info("Testing at native TSC frequency\n");
+	}
+
+	effective_tsc_khz = __vcpu_ioctl(vcpu, KVM_GET_TSC_KHZ, NULL);
+	bus_cycle_ns = vm_check_cap(vm, KVM_CAP_X86_APIC_BUS_CYCLES_NS);
+	effective_bus_khz = bus_cycle_ns > 0 ? 1000000 / bus_cycle_ns : 1000000;
+
+	/* If scaling wasn't applied, skip this frequency */
+	if (tsc_khz && effective_tsc_khz == host_khz) {
+		pr_info("  TSC scaling not available, skipping\n");
+		kvm_vm_release(vm);
+		return;
+	}
+
+	pr_info("  Effective TSC: %u kHz, Bus: %u kHz\n", effective_tsc_khz, effective_bus_khz);
+
+	/* Also exercise KVM_VCPU_TSC_SCALE if available */
+	{
+		struct { uint64_t ratio; uint64_t frac_bits; } scale;
+		struct kvm_device_attr scale_attr = {
+			.group = KVM_VCPU_TSC_CTRL,
+			.attr = 1, /* KVM_VCPU_TSC_SCALE */
+			.addr = (uint64_t)(uintptr_t)&scale,
+		};
+
+		if (!__vcpu_ioctl(vcpu, KVM_HAS_DEVICE_ATTR, &scale_attr)) {
+			vcpu_ioctl(vcpu, KVM_GET_DEVICE_ATTR, &scale_attr);
+			pr_info("  TSC scale: ratio=%lu frac_bits=%lu\n",
+				scale.ratio, scale.frac_bits);
+
+			/*
+			 * Verify: applying the ratio to the host TSC frequency
+			 * should give approximately the effective frequency.
+			 */
+			if (tsc_khz) {
+				uint64_t computed = ((__uint128_t)host_khz * scale.ratio) >> scale.frac_bits;
+				int64_t diff = (int64_t)computed - (int64_t)effective_tsc_khz;
+
+				TEST_ASSERT(diff >= -1 && diff <= 1,
+					    "TSC_SCALE ratio mismatch: computed %lu vs effective %u (diff %ld)",
+					    computed, effective_tsc_khz, diff);
+			}
+		}
+	}
+
+	compute_tsc_mul_shift((uint64_t)effective_tsc_khz * 1000,
+			      &expected_tsc_mul, &expected_tsc_shift);
+
+	expected_tsc_khz = effective_tsc_khz;
+	expected_bus_khz = effective_bus_khz;
+
+	sync_global_to_guest(vm, expected_tsc_khz);
+	sync_global_to_guest(vm, expected_bus_khz);
+	sync_global_to_guest(vm, expected_tsc_mul);
+	sync_global_to_guest(vm, expected_tsc_shift);
+
+	/* Populate CPUID leaves as a VMM would */
+	add_cpuid_entry(vcpu, GENERIC_TIMING_LEAF, 0,
+			effective_tsc_khz, effective_bus_khz, 0, 0);
+	add_cpuid_entry(vcpu, XEN_CPUID_LEAF(3), 0,
+			0, 0, effective_tsc_khz, 0);
+	add_cpuid_entry(vcpu, XEN_CPUID_LEAF(3), 1,
+			0, 0, expected_tsc_mul,
+			(uint32_t)(uint8_t)expected_tsc_shift);
+
+	vcpu_set_cpuid(vcpu);
+
+	pr_info("  pvclock mul=%u shift=%d\n", expected_tsc_mul, expected_tsc_shift);
+
+	vcpu_run(vcpu);
+	TEST_ASSERT_KVM_EXIT_REASON(vcpu, KVM_EXIT_IO);
+
+	switch (get_ucall(vcpu, &uc)) {
+	case UCALL_ABORT:
+		REPORT_GUEST_ASSERT(uc);
+		break;
+	case UCALL_SYNC:
+		break;
+	default:
+		TEST_FAIL("Unexpected ucall");
+	}
+
+	kvm_vm_release(vm);
+}
+
+int main(void)
+{
+	uint64_t freq;
+	struct kvm_vcpu *vcpu;
+	struct kvm_vm *vm;
+	struct kvm_device_attr attr = {
+		.group = KVM_VCPU_TSC_CTRL,
+		.attr = KVM_VCPU_TSC_SCALE,
+	};
+
+	TEST_REQUIRE(sys_clocksource_is_based_on_tsc());
+
+	/* Check KVM_VCPU_TSC_SCALE is supported (implies TSC scaling) */
+	vm = vm_create_with_one_vcpu(&vcpu, guest_code);
+	TEST_REQUIRE(!__vcpu_ioctl(vcpu, KVM_HAS_DEVICE_ATTR, &attr));
+	host_khz = __vcpu_ioctl(vcpu, KVM_GET_TSC_KHZ, NULL);
+	kvm_vm_release(vm);
+
+	/* Native frequency */
+	run_test(0);
+
+	/* Scaled frequencies â€” skip if TSC scaling not available */
+	for (freq = 1000000; freq <= 4000000; freq += 1000000) {
+		if (freq == host_khz)
+			continue;
+		run_test(freq);
+	}
+
+	pr_info("PASS: All CPUID timing leaf tests passed\n");
+	return 0;
+}
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331711.1594336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNo-0003E5-O3; Mon, 08 Jun 2026 14:55:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331711.1594336; Mon, 08 Jun 2026 14:55: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 1wWbNo-0003Bm-4U; Mon, 08 Jun 2026 14:55:20 +0000
Received: by outflank-mailman (input) for mailman id 1331711;
 Mon, 08 Jun 2026 14:55:15 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wWbNj-0001tW-KR
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNj-00EcHH-0k; Mon, 08 Jun 2026 16:55:15 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7bb-bab6-0a2a0a5309dd-0a2a450bae1a-44
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:14 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7d2-212f-0a2a450b0019-5a9b3222ea8c-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:14 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wWbNS-0000000DtxP-0Uh1; Mon, 08 Jun 2026 14:54:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNS-00000000NFi-1I3p;
 Mon, 08 Jun 2026 15:54:58 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=Z11TCooN3o79fGtJQIRZglBTEce9tdBf389vknMfIOQ=; b=cynKPFl8GgekA9SKrwFXVB9r9J
	WAbFVCHdiWGH0CeOokQFuPCsXJ5o3iDL2cPV9hIMKQxr1N7MXHK6yEk9iJjsb9GAWXZOHgTi0DsXj
	JzQ+Nkq02WPUfyO9KNXEhSze7KlpaKZOXEG2oJjzfevRTF18SPRZ1yBRI8hEftHxaDX+zmpufV/QS
	pzA0W4c7cG6cx+ReYdtKYBmjJnHYRBJBqQeLcoh/2sc7BaFdzsuH2Xs71Xgo66vPsfPFQqbgY1cjp
	2Ssmi5qG4wR/HkVXxhTRcfvPypwbpq2lU6dJxpPrNxctwK779aMrXdCeYKsaCKu079gHZ/Lr2+gJO
	ADa0uoTA==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 19/34] KVM: x86: Kill last_tsc_{nsec,write,offset} fields
Date: Mon,  8 Jun 2026 15:48:00 +0100
Message-ID: <20260608145455.89187-20-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-42698a/1780930514-2007BF3B-9E42E192/0/0
X-purgate-type: clean
X-purgate-size: 5887

From: David Woodhouse <dwmw@amazon.co.uk>

These pointlessly duplicate the cur_tsc_{nsec,write,offset} values.
The only place they were used was where the TSC is stable and a new
vCPU is being synchronized to the previous setting, in which case the
cur_tsc_* value is definitely identical.

Rename last_tsc_khz and last_tsc_scaling_ratio to cur_tsc_khz and
cur_tsc_scaling_ratio respectively, since they are properties of the
current TSC generation.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 arch/x86/include/asm/kvm_host.h |  7 ++----
 arch/x86/kvm/x86.c              | 42 ++++++++++++++++-----------------
 2 files changed, 22 insertions(+), 27 deletions(-)

diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 5348fd5ea3f3..59298a8f78eb 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -1486,11 +1486,8 @@ struct kvm_arch {
 	 * preemption-disabled region, so it must be a raw spinlock.
 	 */
 	raw_spinlock_t tsc_write_lock;
-	u64 last_tsc_nsec;
-	u64 last_tsc_write;
-	u32 last_tsc_khz;
-	u64 last_tsc_offset;
-	u64 last_tsc_scaling_ratio;
+	u32 cur_tsc_khz;
+	u64 cur_tsc_scaling_ratio;
 	u64 cur_tsc_nsec;
 	u64 cur_tsc_write;
 	u64 cur_tsc_offset;
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index c8c0633263fb..bbd642e0dc54 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -2813,14 +2813,12 @@ static void __kvm_synchronize_tsc(struct kvm_vcpu *vcpu, u64 offset, u64 tsc,
 		vcpu->kvm->arch.user_set_tsc = true;
 
 	/*
-	 * We also track th most recent recorded KHZ, write and time to
-	 * allow the matching interval to be extended at each write.
+	 * Track the TSC frequency, scaling ratio, and offset for the current
+	 * generation. These are used to detect matching TSC writes and to
+	 * compute the guest TSC from the host clock.
 	 */
-	kvm->arch.last_tsc_nsec = ns;
-	kvm->arch.last_tsc_write = tsc;
-	kvm->arch.last_tsc_khz = vcpu->arch.virtual_tsc_khz;
-	kvm->arch.last_tsc_offset = offset;
-	kvm->arch.last_tsc_scaling_ratio = vcpu->arch.l1_tsc_scaling_ratio;
+	kvm->arch.cur_tsc_khz = vcpu->arch.virtual_tsc_khz;
+	kvm->arch.cur_tsc_scaling_ratio = vcpu->arch.l1_tsc_scaling_ratio;
 
 	vcpu->arch.last_guest_tsc = tsc;
 
@@ -2833,8 +2831,6 @@ static void __kvm_synchronize_tsc(struct kvm_vcpu *vcpu, u64 offset, u64 tsc,
 		 * nanosecond time, offset, and write, so if TSCs are in
 		 * sync, we can match exact offset, and if not, we can match
 		 * exact software computation in compute_guest_tsc()
-		 *
-		 * These values are tracked in kvm->arch.cur_xxx variables.
 		 */
 		kvm->arch.cur_tsc_generation++;
 		kvm->arch.cur_tsc_nsec = ns;
@@ -2874,7 +2870,7 @@ static void kvm_synchronize_tsc(struct kvm_vcpu *vcpu, u64 *user_value)
 	}
 
 	offset = kvm_compute_l1_tsc_offset(vcpu, host_tsc, data);
-	elapsed = ns - kvm->arch.last_tsc_nsec;
+	elapsed = ns - kvm->arch.cur_tsc_nsec;
 
 	if (vcpu->arch.virtual_tsc_khz) {
 		if (data == 0) {
@@ -2884,7 +2880,7 @@ static void kvm_synchronize_tsc(struct kvm_vcpu *vcpu, u64 *user_value)
 			 */
 			synchronizing = true;
 		} else if (kvm->arch.user_set_tsc) {
-			u64 tsc_exp = kvm->arch.last_tsc_write +
+			u64 tsc_exp = kvm->arch.cur_tsc_write +
 						nsec_to_cycles(vcpu, elapsed);
 			u64 tsc_hz = vcpu->arch.virtual_tsc_khz * 1000LL;
 			/*
@@ -2915,14 +2911,14 @@ static void kvm_synchronize_tsc(struct kvm_vcpu *vcpu, u64 *user_value)
 	 * it's better to try to match offsets from the beginning.
          */
 	if (synchronizing &&
-	    vcpu->arch.virtual_tsc_khz == kvm->arch.last_tsc_khz) {
+	    vcpu->arch.virtual_tsc_khz == kvm->arch.cur_tsc_khz) {
 		/*
 		 * If synchronizing, the "last written" TSC value/time
 		 * recorded by __kvm_synchronize_tsc() should not change
 		 * (i.e. should be precisely the same as the existing
 		 * generation).
 		 */
-		data = kvm->arch.last_tsc_write;
+		data = kvm->arch.cur_tsc_write;
 
 		if (!kvm_check_tsc_unstable()) {
 			offset = kvm->arch.cur_tsc_offset;
@@ -3207,7 +3203,7 @@ static void pvclock_update_vm_gtod_copy(struct kvm *kvm)
 		 * get_kvmclock() to compute kvmclock from the host TSC
 		 * without needing a vCPU reference.
 		 */
-		ka->master_tsc_scaling_ratio = ka->last_tsc_scaling_ratio;
+		ka->master_tsc_scaling_ratio = ka->cur_tsc_scaling_ratio;
 		tsc_hz = (u64)get_cpu_tsc_khz() * 1000;
 		if (tsc_hz && kvm_caps.has_tsc_control)
 			tsc_hz = kvm_scale_tsc(tsc_hz,
@@ -6088,8 +6084,8 @@ static int kvm_arch_tsc_set_attr(struct kvm_vcpu *vcpu,
 		raw_spin_lock_irqsave(&kvm->arch.tsc_write_lock, flags);
 
 		matched = (vcpu->arch.virtual_tsc_khz &&
-			   kvm->arch.last_tsc_khz == vcpu->arch.virtual_tsc_khz &&
-			   kvm->arch.last_tsc_offset == offset);
+			   kvm->arch.cur_tsc_khz == vcpu->arch.virtual_tsc_khz &&
+			   kvm->arch.cur_tsc_offset == offset);
 
 		tsc = kvm_scale_tsc(rdtsc(), vcpu->arch.l1_tsc_scaling_ratio) + offset;
 		ns = get_kvmclock_base_ns();
@@ -13543,13 +13539,15 @@ int kvm_arch_enable_virtualization_cpu(void)
 			}
 
 			/*
-			 * We have to disable TSC offset matching.. if you were
-			 * booting a VM while issuing an S4 host suspend....
-			 * you may have some problem.  Solving this issue is
-			 * left as an exercise to the reader.
+			 * Adjust the TSC matching reference by the same
+			 * delta applied to each vCPU's offset, so that
+			 * future KVM_SET_TSC / vCPU creation still matches
+			 * correctly against the adjusted TSC timeline.
+			 * Scale from host to guest TSC rate.
 			 */
-			kvm->arch.last_tsc_nsec = 0;
-			kvm->arch.last_tsc_write = 0;
+			kvm->arch.cur_tsc_write -=
+				kvm_scale_tsc(delta_cyc,
+					      kvm->arch.cur_tsc_scaling_ratio);
 		}
 
 	}
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331713.1594346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNp-0003Uk-Vk; Mon, 08 Jun 2026 14:55:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331713.1594346; Mon, 08 Jun 2026 14: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 1wWbNp-0003Rk-BT; Mon, 08 Jun 2026 14:55:21 +0000
Received: by outflank-mailman (input) for mailman id 1331713;
 Mon, 08 Jun 2026 14:55:17 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wWbNl-0002P5-7L
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNk-00EcHE-Jv; Mon, 08 Jun 2026 16:55:16 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7d0-5cb7-0a2a0a5109dd-0a2a45018424-8
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:16 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7d2-c1f2-0a2a45010019-5a9b3222ea9c-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:15 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wWbNR-0000000Dtx9-2t34; Mon, 08 Jun 2026 14:54:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNR-00000000NEY-1Xm3;
 Mon, 08 Jun 2026 15:54:57 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:
	From:Reply-To:Cc:Content-ID:Content-Description;
	bh=IKIepJVZTrQvr9mzOQ+/HkJi9FX0zbFmsPkvIgbqGRE=; b=I1BaiAVqVDGDPY/DJMfHhsDzqI
	CPaFVooL4qZtsnnTM+BJwtuHplzLKHiqwoTwUFmsxyhp8F4R84fIgwZo6ogTKuhj9fkpx4ut5Gp3l
	IfafIQl9SY/azFshGwtcrlVKWkYSRIBL6wDcajc855HYrOd04CU0E2bjvkeHkfY+hLnN7l4Js/5aE
	YIk+mSzqTIWhBiKDQBe+XySRSaCwD8KnrAc55L3VozM0FU2qVB7d1OBFwwJTwhC98Rds/89Llm3jC
	4rodbhz/ZkeR8oF2GB8tc0CbRQiirP/U7D2WaNY2CAnwj15OkbXzSRBg4i4dZQhThFNUmI3XkRK/Y
	He1oCUBA==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 01/34] KVM: x86/xen: Do not corrupt KVM clock in kvm_xen_shared_info_init()
Date: Mon,  8 Jun 2026 15:47:42 +0100
Message-ID: <20260608145455.89187-2-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-d62444/1780930515-ACE52FF4-025FBCFA/0/0
X-purgate-type: clean
X-purgate-size: 4433

From: David Woodhouse <dwmw@amazon.co.uk>

The KVM clock is an interesting thing. It is defined as "nanoseconds
since the guest was created", but in practice it runs at two *different*
rates â€” or three different rates, if you count implementation bugs.

Definition A is that it runs synchronously with the CLOCK_MONOTONIC_RAW
of the host, with a delta of kvm->arch.kvmclock_offset.

But that version doesn't actually get used in the common case, where the
host has a reliable TSC and the guest TSCs are all running at the same
rate and in sync with each other, and kvm->arch.use_master_clock is set.

In that common case, definition B is used: There is a reference point in
time at kvm->arch.master_kernel_ns (again a CLOCK_MONOTONIC_RAW time),
and a corresponding host TSC value kvm->arch.master_cycle_now. This
fixed point in time is converted to guest units (the time offset by
kvmclock_offset and the TSC Value scaled and offset to be a guest TSC
value) and advertised to the guest in the pvclock structure. While in
this 'use_master_clock' mode, the fixed point in time never needs to be
changed, and the clock runs precisely in time with the guest TSC, at the
rate advertised in the pvclock structure.

The third definition C is implemented in kvm_get_wall_clock_epoch() and
__get_kvmclock(), using the master_cycle_now and master_kernel_ns fields
but converting the *host* TSC cycles directly to a value in nanoseconds
instead of scaling via the guest TSC.

One might naÃ¯vely think that all three definitions are identical, since
CLOCK_MONOTONIC_RAW is not skewed by NTP frequency corrections; all
three are just the result of counting the host TSC at a known frequency,
or the scaled guest TSC at a known precise fraction of the host's
frequency. The problem is with arithmetic precision, and the way that
frequency scaling is done in a division-free way by multiplying by a
scale factor, then shifting right. In practice, all three ways of
calculating the KVM clock will suffer a systemic drift from each other.

Eventually, definition C should just be eliminated. Commit 451a707813ae
("KVM: x86/xen: improve accuracy of Xen timers") worked around it for
the specific case of Xen timers, which are defined in terms of the KVM
clock and suffered from a continually increasing error in timer expiry
times. That commit notes that get_kvmclock_ns() is non-trivial to fix
and says "I'll come back to that", which remains true.

Definitions A and B do need to coexist, the former to handle the case
where the host or guest TSC is suboptimally configured. But KVM should
be more careful about switching between them, and the discontinuity in
guest time which could result.

In particular, KVM_REQ_MASTERCLOCK_UPDATE will take a new snapshot of
time as the reference in master_kernel_ns and master_cycle_now, yanking
the guest's clock back to match definition A at that moment.

When invoked from in 'use_master_clock' mode, kvm_update_masterclock()
should probably *adjust* kvm->arch.kvmclock_offset to account for the
drift, instead of yanking the clock back to definition A. But in the
meantime there are a bunch of places where it just doesn't need to be
invoked at all.

To start with: there is no need to do such an update when a Xen guest
populates the shared_info page. This seems to have been a hangover from
the very first implementation of shared_info which automatically
populated the vcpu_info structures at their default locations, but even
then it should just have raised KVM_REQ_CLOCK_UPDATE on each vCPU
instead of using KVM_REQ_MASTERCLOCK_UPDATE. And now that userspace is
expected to explicitly set the vcpu_info even in its default locations,
there's not even any need for that either.

Fixes: 629b5348841a ("KVM: x86/xen: update wallclock region")
Reviewed-by: Paul Durrant <paul@xen.org>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 arch/x86/kvm/xen.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/x86/kvm/xen.c b/arch/x86/kvm/xen.c
index 91fd3673c09a..82e34edbfdbd 100644
--- a/arch/x86/kvm/xen.c
+++ b/arch/x86/kvm/xen.c
@@ -98,8 +98,6 @@ static int kvm_xen_shared_info_init(struct kvm *kvm)
 	wc->version = wc_version + 1;
 	read_unlock_irq(&gpc->lock);
 
-	kvm_make_all_cpus_request(kvm, KVM_REQ_MASTERCLOCK_UPDATE);
-
 out:
 	srcu_read_unlock(&kvm->srcu, idx);
 	return ret;
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331712.1594351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNq-0003hH-Cz; Mon, 08 Jun 2026 14:55:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331712.1594351; Mon, 08 Jun 2026 14:55: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 1wWbNp-0003dM-WE; Mon, 08 Jun 2026 14:55:22 +0000
Received: by outflank-mailman (input) for mailman id 1331712;
 Mon, 08 Jun 2026 14:55:17 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 1wWbNk-00027r-BT
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNj-00EcHH-O0; Mon, 08 Jun 2026 16:55:15 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7bb-bab6-0a2a0a5309dd-0a2a450bae1a-46
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:15 +0200
Received: from [90.155.92.199] (helo=desiato.infradead.org)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7d3-212f-0a2a450b0019-5a9b5cc7b4f6-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:15 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.99.2 #2 (Red Hat Linux))
 id 1wWbNU-00000001Afx-2Mwq; Mon, 08 Jun 2026 14:55:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNR-00000000NEw-3Lzb;
 Mon, 08 Jun 2026 15:54:57 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=desiato.20200630 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=xzlpkIa4DyVp/6DXKWYEMYtET/4mCymMWHGnH0+qq44=; b=kLSsiyZSY0uGzPuLZzMZQccrVR
	oTMwbu3mZjvmNhy96ViattvnzwQ+QV18hQW7ybAGW1CGjiQhSeUgL2J4Jzj//FNmuQjhiM0CxEQS1
	CDwWtDn9r+BmPjdxWsklCo4lGIEq6WfFOT2E6hnWdy0iLskgVQrHnnU/3eWGPG2+gm8q2W01vA/uB
	sH8MdtdYARjHCHwjGxL1mHLSn3+DXcpzJcHVbVjJ6FZjMQAnyAfpkiSIGG9+XMGd7geUCTibXf2bO
	l/0m5k9Z077Xju2PFw+r28+BrkRx24ypwLqcU9YBjtrc0aDa81AjhM3lirvqUrHRDgaDoCuX/t+cQ
	7JLgP+GQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 09/34] KVM: x86: Avoid NTP frequency skew for KVM clock on 32-bit host
Date: Mon,  8 Jun 2026 15:47:50 +0100
Message-ID: <20260608145455.89187-10-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-42698a/1780930515-20C7DF3B-BF8FC315/0/0
X-purgate-type: clean
X-purgate-size: 3670

From: David Woodhouse <dwmw@amazon.co.uk>

Commit 53fafdbb8b21 ("KVM: x86: switch KVMCLOCK base to monotonic raw
clock") did so only for 64-bit hosts, by capturing the boot offset from
within the existing clocksource notifier update_pvclock_gtod().

That notifier was added in commit 16e8d74d2da9 ("KVM: x86: notifier for
clocksource changes") but only on x86_64, because its original purpose
was just to disable the "master clock" mode which is only supported on
x86_64.

Now that the notifier is used for more than disabling master clock mode,
enable it for the 32-bit build too so that get_kvmclock_base_ns() can be
unaffected by NTP sync on 32-bit too.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 arch/x86/kvm/x86.c | 19 ++++++-------------
 1 file changed, 6 insertions(+), 13 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 6337f9b9d7ac..50bd2871b051 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -2342,7 +2342,6 @@ static int do_set_msr(struct kvm_vcpu *vcpu, unsigned index, u64 *data)
 	return kvm_set_msr_ignored_check(vcpu, index, *data, true);
 }
 
-#ifdef CONFIG_X86_64
 struct pvclock_clock {
 	int vclock_mode;
 	u64 cycle_last;
@@ -2400,13 +2399,6 @@ static s64 get_kvmclock_base_ns(void)
 	/* Count up from boot time, but with the frequency of the raw clock.  */
 	return ktime_to_ns(ktime_add(ktime_get_raw(), pvclock_gtod_data.offs_boot));
 }
-#else
-static s64 get_kvmclock_base_ns(void)
-{
-	/* Master clock not used, so we can just use CLOCK_BOOTTIME.  */
-	return ktime_get_boottime_ns();
-}
-#endif
 
 static void kvm_write_wall_clock(struct kvm *kvm, gpa_t wall_clock, int sec_hi_ofs)
 {
@@ -10173,6 +10165,7 @@ static void pvclock_irq_work_fn(struct irq_work *w)
 }
 
 static DEFINE_IRQ_WORK(pvclock_irq_work, pvclock_irq_work_fn);
+#endif
 
 /*
  * Notification about pvclock gtod data update.
@@ -10180,26 +10173,26 @@ static DEFINE_IRQ_WORK(pvclock_irq_work, pvclock_irq_work_fn);
 static int pvclock_gtod_notify(struct notifier_block *nb, unsigned long unused,
 			       void *priv)
 {
-	struct pvclock_gtod_data *gtod = &pvclock_gtod_data;
 	struct timekeeper *tk = priv;
 
 	update_pvclock_gtod(tk);
 
+#ifdef CONFIG_X86_64
 	/*
 	 * Disable master clock if host does not trust, or does not use,
 	 * TSC based clocksource. Delegate queue_work() to irq_work as
 	 * this is invoked with tk_core.seq write held.
 	 */
-	if (!gtod_is_based_on_tsc(gtod->clock.vclock_mode) &&
+	if (!gtod_is_based_on_tsc(pvclock_gtod_data.clock.vclock_mode) &&
 	    atomic_read(&kvm_guest_has_master_clock) != 0)
 		irq_work_queue(&pvclock_irq_work);
+#endif
 	return 0;
 }
 
 static struct notifier_block pvclock_gtod_notifier = {
 	.notifier_call = pvclock_gtod_notify,
 };
-#endif
 
 void kvm_setup_xss_caps(void)
 {
@@ -10388,9 +10381,9 @@ int kvm_x86_vendor_init(struct kvm_x86_init_ops *ops)
 
 	if (pi_inject_timer == -1)
 		pi_inject_timer = housekeeping_enabled(HK_TYPE_TIMER);
-#ifdef CONFIG_X86_64
 	pvclock_gtod_register_notifier(&pvclock_gtod_notifier);
 
+#ifdef CONFIG_X86_64
 	if (hypervisor_is_type(X86_HYPER_MS_HYPERV))
 		set_hv_tscchange_cb(kvm_hyperv_tsc_notifier);
 #endif
@@ -10447,8 +10440,8 @@ void kvm_x86_vendor_exit(void)
 					    CPUFREQ_TRANSITION_NOTIFIER);
 		cpuhp_remove_state_nocalls(CPUHP_AP_X86_KVM_CLK_ONLINE);
 	}
-#ifdef CONFIG_X86_64
 	pvclock_gtod_unregister_notifier(&pvclock_gtod_notifier);
+#ifdef CONFIG_X86_64
 	irq_work_sync(&pvclock_irq_work);
 	cancel_work_sync(&pvclock_gtod_work);
 #endif
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331714.1594363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNr-0003ww-Qo; Mon, 08 Jun 2026 14:55:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331714.1594363; Mon, 08 Jun 2026 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 1wWbNr-0003tY-7w; Mon, 08 Jun 2026 14:55:23 +0000
Received: by outflank-mailman (input) for mailman id 1331714;
 Mon, 08 Jun 2026 14:55:17 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 1wWbNk-00028E-Ch
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNj-008Spg-On; Mon, 08 Jun 2026 16:55:15 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7c9-e002-0a2a0a5209dd-0a2a450c8386-38
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:15 +0200
Received: from [90.155.92.199] (helo=desiato.infradead.org)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7d2-62f1-0a2a450c0019-5a9b5cc7b604-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:15 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.99.2 #2 (Red Hat Linux))
 id 1wWbNU-00000001AgL-2MkQ; Mon, 08 Jun 2026 14:55:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNS-00000000NGA-2a5R;
 Mon, 08 Jun 2026 15:54:58 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=desiato.20200630 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=/W9sOIKxGm8rH1/acw9blOPAPsQ6wYjC7vlzDavQpTM=; b=gtRLD1C8qxcpFgBEQgMx6p4aSS
	jss3oqQtFSK+Yxd/DdaJcl4ZCorlTxWdgLrew6EgL1gFJhUlNzYAWzXOgEp38KzLp8iBzZnMDZOg4
	C64My2gg+VeYLGSj1Vr5fbGi1JkrsGcuzt+JD7Z7t9ajnknWv/qWKNfBBldXREXmwrg5mvMFEzvFB
	pF4vm3T1OEQC2iBtEbdzvQ2dOGCo1WAbsU6zn87pg+EPD/pU9++Axe/w7CdO0MlUlZdKggQNvVuYV
	2CBFRlZJB4tC34gssCmFT6b82np37IGMIC8jddDhu8EkywPz1e53vOGc3YLu19yl8PVlEMZpc+CXZ
	f7QDjVhA==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 26/34] KVM: x86: Avoid redundant masterclock updates from multiple vCPUs
Date: Mon,  8 Jun 2026 15:48:07 +0100
Message-ID: <20260608145455.89187-27-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-d25034/1780930515-F467CCF5-A880CF63/0/0
X-purgate-type: clean
X-purgate-size: 5132

From: David Woodhouse <dwmw@amazon.co.uk>

When a masterclock update is triggered (e.g. by the clocksource change
notifier), KVM_REQ_MASTERCLOCK_UPDATE is set on all vCPUs. Without this
fix, each vCPU independently processes the request and redundantly
re-executes the entire pvclock_update_vm_gtod_copy() sequence, serialized
only by tsc_write_lock. Each redundant re-snapshot of the master clock
reference point introduces potential clock drift.

Fix this by having __kvm_start_pvclock_update() check, after acquiring
the lock, whether the requesting vCPU's KVM_REQ_MASTERCLOCK_UPDATE is
still set. If another vCPU already did the update and cleared it, bail
out. Otherwise, clear the request on all other vCPUs before proceeding.

The caller in vcpu_enter_guest() now uses kvm_test_request() (non-clearing)
since the clearing is done inside __kvm_start_pvclock_update() under the
lock.

Suggested-by: Dongli Zhang <dongli.zhang@oracle.com>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 arch/x86/kvm/x86.c | 60 +++++++++++++++++++++++++++++++++++-----------
 1 file changed, 46 insertions(+), 14 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 4fc21d701588..54d4b1b3cfe4 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -3288,10 +3288,39 @@ static void kvm_make_mclock_inprogress_request(struct kvm *kvm)
 	kvm_make_all_cpus_request(kvm, KVM_REQ_MCLOCK_INPROGRESS);
 }
 
-static void __kvm_start_pvclock_update(struct kvm *kvm)
+static void kvm_clear_mclock_inprogress_request(struct kvm *kvm)
 {
+	struct kvm_vcpu *vcpu;
+	unsigned long i;
+
+	kvm_for_each_vcpu(i, vcpu, kvm)
+		kvm_clear_request(KVM_REQ_MCLOCK_INPROGRESS, vcpu);
+}
+
+static bool __kvm_start_pvclock_update(struct kvm *kvm, struct kvm_vcpu *requesting_vcpu)
+{
+	struct kvm_vcpu *vcpu;
+	unsigned long i;
+
 	raw_spin_lock_irq(&kvm->arch.tsc_write_lock);
+
+	/*
+	 * If another vCPU already did the update while we were waiting
+	 * for the lock, our request will have been cleared. Bail out.
+	 */
+	if (requesting_vcpu &&
+	    !kvm_test_request(KVM_REQ_MASTERCLOCK_UPDATE, requesting_vcpu)) {
+		kvm_clear_mclock_inprogress_request(kvm);
+		raw_spin_unlock_irq(&kvm->arch.tsc_write_lock);
+		return false;
+	}
+
+	/* The update is VM-wide; prevent other vCPUs from redoing it. */
+	kvm_for_each_vcpu(i, vcpu, kvm)
+		kvm_clear_request(KVM_REQ_MASTERCLOCK_UPDATE, vcpu);
+
 	write_seqcount_begin(&kvm->arch.pvclock_sc);
+	return true;
 }
 
 static void kvm_start_pvclock_update(struct kvm *kvm)
@@ -3299,7 +3328,7 @@ static void kvm_start_pvclock_update(struct kvm *kvm)
 	kvm_make_mclock_inprogress_request(kvm);
 
 	/* no guest entries from this point */
-	__kvm_start_pvclock_update(kvm);
+	__kvm_start_pvclock_update(kvm, NULL);
 }
 
 static void kvm_end_pvclock_update(struct kvm *kvm)
@@ -3308,22 +3337,25 @@ static void kvm_end_pvclock_update(struct kvm *kvm)
 	struct kvm_vcpu *vcpu;
 	unsigned long i;
 
-	write_seqcount_end(&ka->pvclock_sc);
-	raw_spin_unlock_irq(&ka->tsc_write_lock);
 	kvm_for_each_vcpu(i, vcpu, kvm)
 		kvm_make_request(KVM_REQ_CLOCK_UPDATE, vcpu);
 
 	/* guest entries allowed */
-	kvm_for_each_vcpu(i, vcpu, kvm)
-		kvm_clear_request(KVM_REQ_MCLOCK_INPROGRESS, vcpu);
+	kvm_clear_mclock_inprogress_request(kvm);
+
+	write_seqcount_end(&ka->pvclock_sc);
+	raw_spin_unlock_irq(&ka->tsc_write_lock);
 }
 
-static void kvm_update_masterclock(struct kvm *kvm)
+static void kvm_update_masterclock(struct kvm *kvm, struct kvm_vcpu *vcpu)
 {
 	kvm_hv_request_tsc_page_update(kvm);
-	kvm_start_pvclock_update(kvm);
-	pvclock_update_vm_gtod_copy(kvm);
-	kvm_end_pvclock_update(kvm);
+	kvm_make_mclock_inprogress_request(kvm);
+
+	if (__kvm_start_pvclock_update(kvm, vcpu)) {
+		pvclock_update_vm_gtod_copy(kvm);
+		kvm_end_pvclock_update(kvm);
+	}
 }
 
 /*
@@ -10157,7 +10189,7 @@ static void kvm_hyperv_tsc_notifier(void)
 	kvm_caps.max_guest_tsc_khz = tsc_khz;
 
 	list_for_each_entry(kvm, &vm_list, vm_list) {
-		__kvm_start_pvclock_update(kvm);
+		__kvm_start_pvclock_update(kvm, NULL);
 		pvclock_update_vm_gtod_copy(kvm);
 		kvm_end_pvclock_update(kvm);
 	}
@@ -11535,8 +11567,8 @@ static int vcpu_enter_guest(struct kvm_vcpu *vcpu)
 			kvm_mmu_free_obsolete_roots(vcpu);
 		if (kvm_check_request(KVM_REQ_MIGRATE_TIMER, vcpu))
 			__kvm_migrate_timers(vcpu);
-		if (kvm_check_request(KVM_REQ_MASTERCLOCK_UPDATE, vcpu))
-			kvm_update_masterclock(vcpu->kvm);
+		if (kvm_test_request(KVM_REQ_MASTERCLOCK_UPDATE, vcpu))
+			kvm_update_masterclock(vcpu->kvm, vcpu);
 		if (kvm_check_request(KVM_REQ_GLOBAL_CLOCK_UPDATE, vcpu))
 			kvm_gen_kvmclock_update(vcpu);
 		if (kvm_check_request(KVM_REQ_CLOCK_UPDATE, vcpu)) {
@@ -13273,7 +13305,7 @@ void kvm_arch_vcpu_postcreate(struct kvm_vcpu *vcpu)
 	vcpu_load(vcpu);
 	kvm_synchronize_tsc(vcpu, NULL);
 	if (!vcpu->kvm->arch.use_master_clock)
-		kvm_update_masterclock(vcpu->kvm);
+		kvm_update_masterclock(vcpu->kvm, NULL);
 	vcpu_put(vcpu);
 
 	/* poll control enabled by default */
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331716.1594368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNs-00048H-PT; Mon, 08 Jun 2026 14:55:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331716.1594368; Mon, 08 Jun 2026 14: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 1wWbNs-00043r-0E; Mon, 08 Jun 2026 14:55:24 +0000
Received: by outflank-mailman (input) for mailman id 1331716;
 Mon, 08 Jun 2026 14:55:17 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 1wWbNl-0002Ns-5G
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNk-00EcHE-HR; Mon, 08 Jun 2026 16:55:16 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7d0-5cb7-0a2a0a5109dd-0a2a45018424-6
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:16 +0200
Received: from [90.155.92.199] (helo=desiato.infradead.org)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7d3-c1f2-0a2a45010019-5a9b5cc7e19c-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:16 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.99.2 #2 (Red Hat Linux))
 id 1wWbNU-00000001Afv-2Kws; Mon, 08 Jun 2026 14:55:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNR-00000000NEk-2IDj;
 Mon, 08 Jun 2026 15:54:57 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=desiato.20200630 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:
	From:Reply-To:Cc:Content-ID:Content-Description;
	bh=6TRJ2V15CGAD4IK40NX80aKZiFhmGyTcFBfAlg5QdUA=; b=M4uOYeD6r7mluxNx0PQ0VPxKLD
	bRZ6ybXWOtawZ107tdN6ss1YWpR+PNV5H36UUsXsmsYjupy7/21JjI2LTBAC88/H40Ern9a1yA4hk
	shvf8wWkdDQ9KipqprAG6mNeKZ+TN8Elp8obsPY7oyXIRH3CPnLfLbxLx7I8WlDmFJZKsBNs45jyW
	2kzqfqs/tRCOlfKPR6mASqEmn2wFwrOHG8mRQDTYY7xM5kLsQ4nuEWaOU25xbCvykEPBgFMG2rdLK
	RFqmrhZZ6llgZB7RnXqNsDoC+S+fkyasPetFfzN080Rzt8MtCuf8vHNY2Ik6ymOp3GZsZifFGpAfL
	yjvlb2jA==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 05/34] KVM: selftests: Add KVM/PV clock selftest to prove timer correction
Date: Mon,  8 Jun 2026 15:47:46 +0100
Message-ID: <20260608145455.89187-6-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-d62444/1780930516-B5B46FF4-BB22682A/0/0
X-purgate-type: clean
X-purgate-size: 15950

From: Jack Allister <jalliste@amazon.com>

A VM's KVM/PV clock has an inherent relationship to its TSC. When either
the host system live-updates or the VM is live-migrated this pairing of
the two clock sources should stay the same. In reality this is not the
case without some correction taking place.

The KVM_GET_CLOCK_GUEST/KVM_SET_CLOCK_GUEST ioctls can be used to
perform a correction on the PVTI (PV time information) structure held by
KVM to effectively fix up the kvmclock_offset prior to the guest VM
resuming in either a live-update/migration scenario.

This test proves that without the necessary fixup there is a perceived
change in the guest TSC and KVM/PV clock relationship before and after a
simulated LU/LM takes place, and that the correction eliminates it.

The test:
  1. Snapshots the PVTI at boot (PVTI0).
  2. Induces a change in PVTI data (KVM_REQ_MASTERCLOCK_UPDATE).
  3. Snapshots the PVTI after the change (PVTI1).
  4. Requests correction via KVM_SET_CLOCK_GUEST using PVTI0.
  5. Snapshots the PVTI after correction (PVTI2).

Then samples the TSC at a single point in time and calculates the KVM
clock using each PVTI snapshot. The corrected clock should match the
boot clock to within Â±1ns.

The test enumerates multiple TSC frequencies from 1GHz to 5GHz at 500MHz
steps, crossing the 32-bit boundary, to exercise the scaling path at
various ratios. The sleep duration between snapshots is configurable via
the -s/--sleep command line option.

Co-developed-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Jack Allister <jalliste@amazon.com>
Reviewed-by: Paul Durrant <paul@xen.org>
Cc: Dongli Zhang <dongli.zhang@oracle.com>
---
 tools/testing/selftests/kvm/Makefile.kvm      |   1 +
 .../testing/selftests/kvm/x86/pvclock_test.c  | 440 ++++++++++++++++++
 2 files changed, 441 insertions(+)
 create mode 100644 tools/testing/selftests/kvm/x86/pvclock_test.c

diff --git a/tools/testing/selftests/kvm/Makefile.kvm b/tools/testing/selftests/kvm/Makefile.kvm
index 9118a5a51b89..fb935ae3bf38 100644
--- a/tools/testing/selftests/kvm/Makefile.kvm
+++ b/tools/testing/selftests/kvm/Makefile.kvm
@@ -105,6 +105,7 @@ TEST_GEN_PROGS_x86 += x86/pmu_counters_test
 TEST_GEN_PROGS_x86 += x86/pmu_event_filter_test
 TEST_GEN_PROGS_x86 += x86/private_mem_conversions_test
 TEST_GEN_PROGS_x86 += x86/private_mem_kvm_exits_test
+TEST_GEN_PROGS_x86 += x86/pvclock_test
 TEST_GEN_PROGS_x86 += x86/set_boot_cpu_id
 TEST_GEN_PROGS_x86 += x86/set_sregs_test
 TEST_GEN_PROGS_x86 += x86/smaller_maxphyaddr_emulation_test
diff --git a/tools/testing/selftests/kvm/x86/pvclock_test.c b/tools/testing/selftests/kvm/x86/pvclock_test.c
new file mode 100644
index 000000000000..aecd62fc8a93
--- /dev/null
+++ b/tools/testing/selftests/kvm/x86/pvclock_test.c
@@ -0,0 +1,440 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright Â© Amazon.com, Inc. or its affiliates.
+ *
+ * Tests for pvclock API
+ * KVM_SET_CLOCK_GUEST/KVM_GET_CLOCK_GUEST
+ */
+#include <getopt.h>
+#include <stdint.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+
+#include "test_util.h"
+#include "kvm_util.h"
+#include "processor.h"
+#include "apic.h"
+
+#include <asm/pvclock-abi.h>
+
+/*
+ * Reproduce the pvclock calculation the guest uses to convert TSC to
+ * nanoseconds. This must match the kernel's __pvclock_read_cycles().
+ */
+static inline uint64_t pvclock_scale_delta(uint64_t delta, uint32_t mul,
+					   int8_t shift)
+{
+	if (shift < 0)
+		delta >>= -shift;
+	else
+		delta <<= shift;
+	return ((__uint128_t)delta * mul) >> 32;
+}
+
+static inline uint64_t pvclock_read_cycles(struct pvclock_vcpu_time_info *src,
+					   uint64_t tsc)
+{
+	uint64_t delta = tsc - src->tsc_timestamp;
+
+	return src->system_time + pvclock_scale_delta(delta,
+						      src->tsc_to_system_mul,
+						      src->tsc_shift);
+}
+
+static inline void pvti_snapshot(struct pvclock_vcpu_time_info *dst,
+				 volatile struct pvclock_vcpu_time_info *src)
+{
+	uint32_t version;
+
+	do {
+		version = src->version;
+		__asm__ __volatile__("" ::: "memory");
+		*dst = *src;
+		__asm__ __volatile__("" ::: "memory");
+	} while ((src->version & 1) || src->version != version);
+}
+
+enum {
+	STAGE_FIRST_BOOT,
+	STAGE_UNCORRECTED,
+	STAGE_CORRECTED
+};
+
+#define KVMCLOCK_GPA	0xc0000000ull
+#define KVMCLOCK_SIZE	sizeof(struct pvclock_vcpu_time_info)
+
+static void trigger_pvti_update(void)
+{
+	/*
+	 * Toggle between KVM's old and new system time methods to coerce KVM
+	 * into updating the fields in the PV time info struct.
+	 */
+	wrmsr(MSR_KVM_SYSTEM_TIME, KVMCLOCK_GPA | KVM_MSR_ENABLED);
+	wrmsr(MSR_KVM_SYSTEM_TIME_NEW, KVMCLOCK_GPA | KVM_MSR_ENABLED);
+}
+
+static void guest_code(void)
+{
+	struct pvclock_vcpu_time_info *pvti =
+		(void *)(unsigned long)KVMCLOCK_GPA;
+	struct pvclock_vcpu_time_info pvti_boot;
+	struct pvclock_vcpu_time_info pvti_uncorrected;
+	struct pvclock_vcpu_time_info pvti_corrected;
+	uint64_t tsc_guest;
+	uint64_t clk_boot, clk_uncorrected, clk_corrected;
+	int64_t delta_corrected;
+
+	/* Set up kvmclock and snapshot the initial pvclock parameters. */
+	wrmsr(MSR_KVM_SYSTEM_TIME_NEW, KVMCLOCK_GPA | KVM_MSR_ENABLED);
+	pvti_snapshot(&pvti_boot, pvti);
+	GUEST_SYNC(STAGE_FIRST_BOOT);
+
+	/*
+	 * Trigger an update of the PVTI. Calculating the KVM clock using this
+	 * updated structure will show a delta from the original.
+	 */
+	trigger_pvti_update();
+	pvti_snapshot(&pvti_uncorrected, pvti);
+	GUEST_SYNC(STAGE_UNCORRECTED);
+
+	/*
+	 * Snapshot the corrected time (the host does KVM_SET_CLOCK_GUEST when
+	 * handling STAGE_UNCORRECTED).
+	 */
+	pvti_snapshot(&pvti_corrected, pvti);
+
+	/*
+	 * Sample the TSC at a single point in time, then calculate the
+	 * effective KVM clock using the PVTI from each stage. Verify that the
+	 * corrected clock matches the boot clock to within Â±2ns.
+	 */
+	tsc_guest = rdtsc();
+
+	clk_boot = pvclock_read_cycles(&pvti_boot, tsc_guest);
+	clk_uncorrected = pvclock_read_cycles(&pvti_uncorrected, tsc_guest);
+	clk_corrected = pvclock_read_cycles(&pvti_corrected, tsc_guest);
+
+	delta_corrected = clk_boot - clk_corrected;
+
+	__GUEST_ASSERT(delta_corrected >= -2 && delta_corrected <= 2,
+		       "corrected delta %ld out of range (boot=%lu uncorrected=%lu corrected=%lu)",
+		       delta_corrected, clk_boot, clk_uncorrected, clk_corrected);
+
+	GUEST_SYNC(STAGE_CORRECTED);
+}
+
+static void run_test(struct kvm_vm *vm, struct kvm_vcpu *vcpu,
+		     unsigned int sleep_sec)
+{
+	struct pvclock_vcpu_time_info pvti_before;
+	struct ucall uc;
+
+	for (;;) {
+		vcpu_run(vcpu);
+		TEST_ASSERT_KVM_EXIT_REASON(vcpu, KVM_EXIT_IO);
+
+		switch (get_ucall(vcpu, &uc)) {
+		case UCALL_ABORT:
+			REPORT_GUEST_ASSERT(uc);
+			break;
+		case UCALL_SYNC:
+			break;
+		default:
+			TEST_FAIL("Unexpected ucall");
+		}
+
+		switch (uc.args[1]) {
+		case STAGE_FIRST_BOOT:
+			/* Save the pvclock parameters before the update. */
+			vcpu_ioctl(vcpu, KVM_GET_CLOCK_GUEST, &pvti_before);
+
+			/* Sleep to let the clocks diverge. */
+			sleep(sleep_sec);
+			break;
+
+		case STAGE_UNCORRECTED:
+			/* Restore the original pvclock parameters. */
+			vcpu_ioctl(vcpu, KVM_SET_CLOCK_GUEST, &pvti_before);
+			break;
+
+		case STAGE_CORRECTED:
+			/* Guest verified the delta in-guest. */
+			return;
+
+		default:
+			TEST_FAIL("Unknown stage %lu", uc.args[1]);
+		}
+	}
+}
+
+static void configure_pvclock(struct kvm_vm *vm)
+{
+	unsigned int nr_pages;
+
+	nr_pages = vm_calc_num_guest_pages(VM_MODE_DEFAULT, getpagesize());
+	vm_userspace_mem_region_add(vm, VM_MEM_SRC_ANONYMOUS,
+				    KVMCLOCK_GPA, 1, nr_pages, 0);
+	virt_map(vm, KVMCLOCK_GPA, KVMCLOCK_GPA, nr_pages);
+}
+
+static void run_at_frequency(uint64_t tsc_khz, unsigned int sleep_sec)
+{
+	struct kvm_vcpu *vcpu;
+	struct kvm_vm *vm;
+
+	pr_info("Testing at TSC frequency %lu kHz\n", tsc_khz);
+	vm = vm_create_with_one_vcpu(&vcpu, guest_code);
+	configure_pvclock(vm);
+	vcpu_ioctl(vcpu, KVM_SET_TSC_KHZ, (void *)tsc_khz);
+	run_test(vm, vcpu, sleep_sec);
+	kvm_vm_free(vm);
+}
+
+static void test_tsc_stable_bit(void);
+static void test_clock_guest_with_offsets(void);
+
+static void usage(const char *name)
+{
+	printf("Usage: %s [options]\n"
+	       "  -s, --sleep SEC     sleep duration between snapshots (default: 2)\n"
+	       "  -h, --help          show this help\n", name);
+}
+
+int main(int argc, char *argv[])
+{
+	static const struct option long_opts[] = {
+		{ "sleep", required_argument, NULL, 's' },
+		{ "help",  no_argument,       NULL, 'h' },
+		{ NULL,    0,                  NULL,  0  },
+	};
+	unsigned int sleep_sec = 2;
+	struct kvm_vcpu *vcpu;
+	struct kvm_vm *vm;
+	uint64_t host_khz;
+	uint64_t freq;
+	int opt;
+
+	while ((opt = getopt_long(argc, argv, "s:h", long_opts, NULL)) != -1) {
+		switch (opt) {
+		case 's':
+			sleep_sec = atoi(optarg);
+			break;
+		case 'h':
+		default:
+			usage(argv[0]);
+			return opt == 'h' ? 0 : 1;
+		}
+	}
+
+	TEST_REQUIRE(sys_clocksource_is_based_on_tsc());
+	TEST_REQUIRE(kvm_has_cap(KVM_CAP_TSC_CONTROL));
+
+	vm = vm_create_with_one_vcpu(&vcpu, guest_code);
+	configure_pvclock(vm);
+
+	/* Check KVM_GET_CLOCK_GUEST is supported */
+	{
+		struct pvclock_vcpu_time_info tmp;
+		int ret = __vcpu_ioctl(vcpu, KVM_GET_CLOCK_GUEST, &tmp);
+		TEST_REQUIRE(ret != -1 || errno != ENOTTY);
+	}
+
+	/* First run at native frequency (no scaling). */
+	run_test(vm, vcpu, sleep_sec);
+
+	/*
+	 * Then enumerate a range of TSC frequencies crossing the 32-bit
+	 * boundary, to exercise the scaling path at various ratios.
+	 */
+	host_khz = __vcpu_ioctl(vcpu, KVM_GET_TSC_KHZ, NULL);
+	kvm_vm_free(vm);
+
+	for (freq = 1000000; freq <= 5000000; freq += 500000) {
+		if (freq == host_khz)
+			continue;
+		run_at_frequency(freq, sleep_sec);
+	}
+
+	test_tsc_stable_bit();
+	test_clock_guest_with_offsets();
+
+	return 0;
+}
+
+static void guest_code_stable_bit(void)
+{
+	uint32_t apic_id = GET_APIC_ID_FIELD(xapic_read_reg(APIC_ID));
+	uint64_t gpa = KVMCLOCK_GPA + apic_id * sizeof(struct pvclock_vcpu_time_info);
+
+	wrmsr(MSR_KVM_SYSTEM_TIME_NEW, gpa | KVM_MSR_ENABLED);
+	GUEST_SYNC(0);
+	GUEST_SYNC(0);
+	GUEST_SYNC(0);
+}
+
+static void set_tsc_offset(struct kvm_vcpu *vcpu, uint64_t offset)
+{
+	struct kvm_device_attr attr = {
+		.group = KVM_VCPU_TSC_CTRL,
+		.attr = KVM_VCPU_TSC_OFFSET,
+		.addr = (__u64)(uintptr_t)&offset,
+	};
+	vcpu_ioctl(vcpu, KVM_SET_DEVICE_ATTR, &attr);
+}
+
+static void run_vcpu_once(struct kvm_vcpu *vcpu)
+{
+	struct ucall uc;
+
+	vcpu_run(vcpu);
+	TEST_ASSERT_KVM_EXIT_REASON(vcpu, KVM_EXIT_IO);
+	switch (get_ucall(vcpu, &uc)) {
+	case UCALL_ABORT:
+		REPORT_GUEST_ASSERT(uc);
+		break;
+	case UCALL_SYNC:
+		break;
+	default:
+		TEST_FAIL("Unexpected ucall");
+	}
+}
+
+static void test_tsc_stable_bit(void)
+{
+	struct pvclock_vcpu_time_info pvti;
+	struct kvm_vcpu *vcpus[2];
+	struct kvm_vm *vm;
+	int ret;
+
+	pr_info("Testing PVCLOCK_TSC_STABLE_BIT with matched/unmatched TSCs\n");
+
+	vm = vm_create_with_vcpus(2, guest_code_stable_bit, vcpus);
+	configure_pvclock(vm);
+
+	/*
+	 * Case 1: All TSCs matched (same frequency and offset).
+	 * Master clock should be active, PVCLOCK_TSC_STABLE_BIT set.
+	 */
+	run_vcpu_once(vcpus[0]);
+
+	ret = __vcpu_ioctl(vcpus[0], KVM_GET_CLOCK_GUEST, &pvti);
+	TEST_ASSERT(!ret, "GET_CLOCK_GUEST should succeed with matched TSCs");
+	TEST_ASSERT(pvti.flags & PVCLOCK_TSC_STABLE_BIT,
+		    "PVCLOCK_TSC_STABLE_BIT should be set with matched TSCs");
+
+	/*
+	 * Case 2: Different TSC offset, same frequency.
+	 * Master clock should still be active (frequency matches), but
+	 * PVCLOCK_TSC_STABLE_BIT should be cleared (offsets differ).
+	 */
+	set_tsc_offset(vcpus[1], 12345678);
+	run_vcpu_once(vcpus[1]);
+	run_vcpu_once(vcpus[0]);
+
+	ret = __vcpu_ioctl(vcpus[0], KVM_GET_CLOCK_GUEST, &pvti);
+	if (ret) {
+		/* Master clock disabled by offset mismatch â€” old kernel */
+		pr_info("  Skipping offset tests (master clock requires matched offsets)\n");
+		goto out_stable;
+	}
+	TEST_ASSERT(!(pvti.flags & PVCLOCK_TSC_STABLE_BIT),
+		    "PVCLOCK_TSC_STABLE_BIT should be clear with offset-mismatched TSCs");
+
+	/*
+	 * Case 3: Different TSC frequency.
+	 * Master clock should be disabled entirely.
+	 */
+	vcpu_ioctl(vcpus[1], KVM_SET_TSC_KHZ,
+		   (void *)(unsigned long)(__vcpu_ioctl(vcpus[1], KVM_GET_TSC_KHZ, NULL) / 2));
+	/* Write TSC to trigger kvm_synchronize_tsc / kvm_track_tsc_matching */
+	vcpu_set_msr(vcpus[1], MSR_IA32_TSC, 0);
+	run_vcpu_once(vcpus[1]);
+
+	ret = __vcpu_ioctl(vcpus[0], KVM_GET_CLOCK_GUEST, &pvti);
+	TEST_ASSERT(ret && errno == EINVAL,
+		    "GET_CLOCK_GUEST should fail with frequency-mismatched TSCs, got %d (errno %d)",
+		    ret, errno);
+
+out_stable:
+	kvm_vm_free(vm);
+}
+
+static void test_clock_guest_with_offsets(void)
+{
+	struct pvclock_vcpu_time_info pvti0, pvti1, pvti1_after;
+	struct kvm_vcpu *vcpus[2];
+	struct kvm_vm *vm;
+	int64_t delta;
+	int ret;
+
+	pr_info("Testing KVM_[GS]ET_CLOCK_GUEST with different TSC offsets\n");
+
+	vm = vm_create_with_vcpus(2, guest_code_stable_bit, vcpus);
+	configure_pvclock(vm);
+
+	/* Set different TSC offsets on the two vCPUs */
+	set_tsc_offset(vcpus[0], 0);
+	set_tsc_offset(vcpus[1], 1000000000ull);
+
+	/* Run both to establish kvmclock */
+	run_vcpu_once(vcpus[0]);
+	run_vcpu_once(vcpus[1]);
+
+	/* GET_CLOCK_GUEST on both â€” should succeed (master clock active) */
+	ret = __vcpu_ioctl(vcpus[0], KVM_GET_CLOCK_GUEST, &pvti0);
+	if (ret) {
+		pr_info("  Skipping (master clock requires matched offsets on this kernel)\n");
+		kvm_vm_free(vm);
+		return;
+	}
+	ret = __vcpu_ioctl(vcpus[1], KVM_GET_CLOCK_GUEST, &pvti1);
+	TEST_ASSERT(!ret, "GET_CLOCK_GUEST on vcpu1 failed");
+
+	/* The tsc_timestamps should differ (different offsets) */
+	TEST_ASSERT(pvti0.tsc_timestamp != pvti1.tsc_timestamp,
+		    "tsc_timestamps should differ with different offsets");
+
+	/* Sleep to let time elapse, then restore vcpu0's clock */
+	sleep(1);
+	vcpu_ioctl(vcpus[0], KVM_SET_CLOCK_GUEST, &pvti0);
+
+	/* Run vcpu0 to process the clock update */
+	run_vcpu_once(vcpus[0]);
+
+	/* GET_CLOCK_GUEST on vcpu1 â€” should reflect the correction */
+	ret = __vcpu_ioctl(vcpus[1], KVM_GET_CLOCK_GUEST, &pvti1_after);
+	TEST_ASSERT(!ret, "GET_CLOCK_GUEST on vcpu1 after SET failed");
+
+	/*
+	 * After SET on vcpu0, verify the correction worked by getting
+	 * the clock on vcpu0 again. The mul/shift should be the same,
+	 * and computing kvmclock at the same TSC should give the same
+	 * result as the original (within Â±2ns).
+	 */
+	{
+		struct pvclock_vcpu_time_info pvti0_after;
+		uint64_t tsc_now, clk_from_old, clk_from_new;
+
+		ret = __vcpu_ioctl(vcpus[0], KVM_GET_CLOCK_GUEST, &pvti0_after);
+		TEST_ASSERT(!ret, "GET_CLOCK_GUEST on vcpu0 after SET failed");
+
+		tsc_now = pvti0_after.tsc_timestamp;
+		clk_from_old = pvclock_read_cycles(&pvti0, tsc_now);
+		clk_from_new = pvclock_read_cycles(&pvti0_after, tsc_now);
+
+		delta = (int64_t)clk_from_new - (int64_t)clk_from_old;
+		TEST_ASSERT(delta >= -2 && delta <= 2,
+			    "clock correction delta should be <=2ns, got %ld ns",
+			    delta);
+	}
+
+	/*
+	 * Also verify that vcpu1's clock is still accessible (master
+	 * clock still active with different offsets).
+	 */
+	ret = __vcpu_ioctl(vcpus[1], KVM_GET_CLOCK_GUEST, &pvti1_after);
+	TEST_ASSERT(!ret, "GET_CLOCK_GUEST on vcpu1 after SET failed");
+
+	kvm_vm_free(vm);
+}
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331717.1594376 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNt-0004Jt-Kk; Mon, 08 Jun 2026 14:55:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331717.1594376; Mon, 08 Jun 2026 14:55:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNs-0004HY-QN; Mon, 08 Jun 2026 14:55:24 +0000
Received: by outflank-mailman (input) for mailman id 1331717;
 Mon, 08 Jun 2026 14:55:18 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 1wWbNl-0002X3-PF
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNk-008Spg-7s; Mon, 08 Jun 2026 16:55:17 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7c3-e002-0a2a0a5209dd-0a2a4508bf20-30
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:16 +0200
Received: from [90.155.92.199] (helo=desiato.infradead.org)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7d3-63b5-0a2a45080019-5a9b5cc7a05a-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:16 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.99.2 #2 (Red Hat Linux))
 id 1wWbNU-00000001Afu-2NIx; Mon, 08 Jun 2026 14:55:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNR-00000000NEb-1nML;
 Mon, 08 Jun 2026 15:54:57 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=desiato.20200630 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=O2rfIXf7FAMn5RSx8KeKP3wOA/C5b6hiUSG3v0gFZjg=; b=UswvzwdXW4cumr9tVtwAmH9r8z
	HQ1J2ErUUt4WUozma1R4y/NVmlngB4qUv3jxoBqgdvUcFtML+L59FLtTS+mitvNTGD+UPhG8+J748
	vDipfUYMSJj1H47ExypIaoMUd+myYQOmfPcfPlFfWm95NwcQ8ctlY5OLIz55RnLlkHqJG6+9iqrdQ
	theE324CCz9gwFcX6T1z2gIUqtNY7DhuIB50aUMemh/pduJdQUlfyaKqx710p/lSNl9lSnSC8rYTp
	e+luOkrmVJfPPRgxblutyhgG4158HFr5hT8Nex8+j6cdbryej7hJ2HGeV3wdmEhaL8eAYIFiMMQAp
	7yC7FnjA==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 02/34] KVM: x86: Improve accuracy of KVM clock when TSC scaling is in force
Date: Mon,  8 Jun 2026 15:47:43 +0100
Message-ID: <20260608145455.89187-3-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-c1860d/1780930516-C5784DB1-BC49454C/0/0
X-purgate-type: clean
X-purgate-size: 4034

From: David Woodhouse <dwmw@amazon.co.uk>

The kvm_guest_time_update() function scales the host TSC frequency to
the guest's using kvm_scale_tsc() and the v->arch.l1_tsc_scaling_ratio
scaling ratio previously calculated for that vCPU. Then calculates the
scaling factors for the KVM clock itself based on that guest TSC
frequency.

However, it uses kHz as the unit when scaling, and then multiplies by
1000 only at the end.

With a host TSC frequency of 3000MHz and a guest set to 2500MHz, the
result of kvm_scale_tsc() will actually come out at 2,499,999kHz. So
the KVM clock advertised to the guest is based on a frequency of
2,499,999,000 Hz.

By using Hz as the unit from the beginning, the KVM clock would be based
on a more accurate frequency of 2,499,999,999 Hz in this example.

Use u64 for the hw_tsc_hz field since an unsigned int would overflow for
TSC frequencies above 4GHz. Use div_u64() for the Xen CPUID leaf to
play nice with 32-bit kernels.

Fixes: 78db6a503796 ("KVM: x86: rewrite handling of scaled TSC for kvmclock")
Reviewed-by: Paul Durrant <paul@xen.org>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 arch/x86/include/asm/kvm_host.h |  2 +-
 arch/x86/kvm/cpuid.c            |  2 +-
 arch/x86/kvm/x86.c              | 17 +++++++++--------
 3 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index c470e40a00aa..37264212c7df 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -950,7 +950,7 @@ struct kvm_vcpu_arch {
 	gpa_t time;
 	s8  pvclock_tsc_shift;
 	u32 pvclock_tsc_mul;
-	unsigned int hw_tsc_khz;
+	u64 hw_tsc_hz;
 	struct gfn_to_pfn_cache pv_time;
 	/* set guest stopped flag in pvclock flags field */
 	bool pvclock_set_guest_stopped_request;
diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
index e69156b54cff..621d950ec692 100644
--- a/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c
@@ -2131,7 +2131,7 @@ bool kvm_cpuid(struct kvm_vcpu *vcpu, u32 *eax, u32 *ebx,
 				*ecx = vcpu->arch.pvclock_tsc_mul;
 				*edx = vcpu->arch.pvclock_tsc_shift;
 			} else if (index == 2) {
-				*eax = vcpu->arch.hw_tsc_khz;
+				*eax = div_u64(vcpu->arch.hw_tsc_hz, 1000);
 			}
 		}
 	} else {
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 0a1b63c63d1a..d9ef165df6a1 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -3314,7 +3314,8 @@ static void kvm_setup_guest_pvclock(struct pvclock_vcpu_time_info *ref_hv_clock,
 int kvm_guest_time_update(struct kvm_vcpu *v)
 {
 	struct pvclock_vcpu_time_info hv_clock = {};
-	unsigned long flags, tgt_tsc_khz;
+	unsigned long flags;
+	u64 tgt_tsc_hz;
 	unsigned seq;
 	struct kvm_vcpu_arch *vcpu = &v->arch;
 	struct kvm_arch *ka = &v->kvm->arch;
@@ -3340,8 +3341,8 @@ int kvm_guest_time_update(struct kvm_vcpu *v)
 
 	/* Keep irq disabled to prevent changes to the clock */
 	local_irq_save(flags);
-	tgt_tsc_khz = get_cpu_tsc_khz();
-	if (unlikely(tgt_tsc_khz == 0)) {
+	tgt_tsc_hz = (u64)get_cpu_tsc_khz() * 1000;
+	if (unlikely(tgt_tsc_hz == 0)) {
 		local_irq_restore(flags);
 		kvm_make_request(KVM_REQ_CLOCK_UPDATE, v);
 		return 1;
@@ -3376,16 +3377,16 @@ int kvm_guest_time_update(struct kvm_vcpu *v)
 	/* With all the info we got, fill in the values */
 
 	if (kvm_caps.has_tsc_control) {
-		tgt_tsc_khz = kvm_scale_tsc(tgt_tsc_khz,
+		tgt_tsc_hz = kvm_scale_tsc(tgt_tsc_hz,
 					    v->arch.l1_tsc_scaling_ratio);
-		tgt_tsc_khz = tgt_tsc_khz ? : 1;
+		tgt_tsc_hz = tgt_tsc_hz ? : 1;
 	}
 
-	if (unlikely(vcpu->hw_tsc_khz != tgt_tsc_khz)) {
-		kvm_get_time_scale(NSEC_PER_SEC, tgt_tsc_khz * 1000LL,
+	if (unlikely(vcpu->hw_tsc_hz != tgt_tsc_hz)) {
+		kvm_get_time_scale(NSEC_PER_SEC, tgt_tsc_hz,
 				   &vcpu->pvclock_tsc_shift,
 				   &vcpu->pvclock_tsc_mul);
-		vcpu->hw_tsc_khz = tgt_tsc_khz;
+		vcpu->hw_tsc_hz = tgt_tsc_hz;
 	}
 
 	hv_clock.tsc_shift = vcpu->pvclock_tsc_shift;
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:27 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331715.1594385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNu-0004Sd-VL; Mon, 08 Jun 2026 14:55:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331715.1594385; Mon, 08 Jun 2026 14:55: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 1wWbNt-0004PC-Md; Mon, 08 Jun 2026 14:55:25 +0000
Received: by outflank-mailman (input) for mailman id 1331715;
 Mon, 08 Jun 2026 14:55:17 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 1wWbNk-0002Hj-Rv
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNk-00AKVN-8I; Mon, 08 Jun 2026 16:55:16 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7c6-2eae-0a2a0a5409dd-0a2a450596fa-20
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:16 +0200
Received: from [90.155.92.199] (helo=desiato.infradead.org)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7d3-aaa8-0a2a45050019-5a9b5cc7b614-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:16 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.99.2 #2 (Red Hat Linux))
 id 1wWbNU-00000001AgM-2M92; Mon, 08 Jun 2026 14:55:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNS-00000000NGE-2kHD;
 Mon, 08 Jun 2026 15:54:58 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=desiato.20200630 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=mAoCrW41i2oubtWoRcSbcZKOTJ7hLP/U/r8vkThOrIU=; b=hJmTbo0VQUYJIJ5SiadsI+2Oi6
	MKKp3iSxBITfY/0JfC1ulBP5KmALb63BQVFZ5VBIZ8zHsl+fv1IbRJswv4zVZ5Gd2YEyx68z/xCIY
	y8evaf+XUEww9YTdUGtalJxvTdrTL+sGNRUiaP31Pf1Y9FnGQ9ltnFdiv8mJE23LklblzcqdllpIf
	VZv83tdmjr0SAKriU5YRvhiHcTjfa8VG0A48nvBVSyi0PPOrE1P6WtBDCvpdneNT6I/ngEMGo+ueG
	He7tGsQdtSYrAz3HrHHEnKW9d9JmO462eHtQeKqgzNHIngCwn1xabEDqaGgl5+HSPMg6o+1/bWfPY
	lQ71nmTQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 27/34] KVM: x86: Remove runtime Xen TSC frequency CPUID update
Date: Mon,  8 Jun 2026 15:48:08 +0100
Message-ID: <20260608145455.89187-28-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-c201ff/1780930516-DA76A443-E1A010EA/0/0
X-purgate-type: clean
X-purgate-size: 3099

From: David Woodhouse <dwmw@amazon.co.uk>

Remove the code in kvm_cpuid() that dynamically updates the Xen TSC
info CPUID leaf at runtime. This code was updating the wrong sub-leaf
anyway (0x40000x03/2 EAX is the *host* TSC frequency per the Xen ABI,
not the guest frequency which belongs in 0x40000x03/0 ECX).

Userspace now has all the information it needs to populate the Xen TSC
info leaves (and the generic 0x40000010 timing leaf) at vCPU setup time:

  - KVM_GET_CLOCK_GUEST returns the pvclock_vcpu_time_info structure
    containing tsc_to_system_mul and tsc_shift (Xen leaf index 1)
  - KVM_VCPU_TSC_SCALE returns the effective TSC and bus
    frequencies in kHz (Xen leaf index 2, and 0x40000010)
  - KVM_VCPU_TSC_SCALE returns the raw hardware scaling ratio for
    precise arithmetic (VMClock)

This eliminates the last instance of KVM modifying guest CPUID entries
at runtime for timing information.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 arch/x86/kvm/cpuid.c | 16 ----------------
 arch/x86/kvm/xen.h   | 13 -------------
 2 files changed, 29 deletions(-)

diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
index 621d950ec692..826637a0b72d 100644
--- a/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c
@@ -2117,22 +2117,6 @@ bool kvm_cpuid(struct kvm_vcpu *vcpu, u32 *eax, u32 *ebx,
 		} else if (function == 0x80000007) {
 			if (kvm_hv_invtsc_suppressed(vcpu))
 				*edx &= ~feature_bit(CONSTANT_TSC);
-		} else if (IS_ENABLED(CONFIG_KVM_XEN) &&
-			   kvm_xen_is_tsc_leaf(vcpu, function)) {
-			/*
-			 * Update guest TSC frequency information if necessary.
-			 * Ignore failures, there is no sane value that can be
-			 * provided if KVM can't get the TSC frequency.
-			 */
-			if (kvm_check_request(KVM_REQ_CLOCK_UPDATE, vcpu))
-				kvm_guest_time_update(vcpu);
-
-			if (index == 1) {
-				*ecx = vcpu->arch.pvclock_tsc_mul;
-				*edx = vcpu->arch.pvclock_tsc_shift;
-			} else if (index == 2) {
-				*eax = div_u64(vcpu->arch.hw_tsc_hz, 1000);
-			}
 		}
 	} else {
 		*eax = *ebx = *ecx = *edx = 0;
diff --git a/arch/x86/kvm/xen.h b/arch/x86/kvm/xen.h
index 59e6128a7bd3..f372855857a8 100644
--- a/arch/x86/kvm/xen.h
+++ b/arch/x86/kvm/xen.h
@@ -50,14 +50,6 @@ static inline void kvm_xen_sw_enable_lapic(struct kvm_vcpu *vcpu)
 		kvm_xen_inject_vcpu_vector(vcpu);
 }
 
-static inline bool kvm_xen_is_tsc_leaf(struct kvm_vcpu *vcpu, u32 function)
-{
-	return static_branch_unlikely(&kvm_xen_enabled.key) &&
-	       vcpu->arch.xen.cpuid.base &&
-	       function <= vcpu->arch.xen.cpuid.limit &&
-	       function == (vcpu->arch.xen.cpuid.base | XEN_CPUID_LEAF(3));
-}
-
 static inline bool kvm_xen_msr_enabled(struct kvm *kvm)
 {
 	return static_branch_unlikely(&kvm_xen_enabled.key) &&
@@ -177,11 +169,6 @@ static inline bool kvm_xen_timer_enabled(struct kvm_vcpu *vcpu)
 {
 	return false;
 }
-
-static inline bool kvm_xen_is_tsc_leaf(struct kvm_vcpu *vcpu, u32 function)
-{
-	return false;
-}
 #endif
 
 int kvm_xen_hypercall(struct kvm_vcpu *vcpu);
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331718.1594390 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNw-0004p6-Fw; Mon, 08 Jun 2026 14:55:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331718.1594390; Mon, 08 Jun 2026 14:55: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 1wWbNv-0004id-Bb; Mon, 08 Jun 2026 14:55:27 +0000
Received: by outflank-mailman (input) for mailman id 1331718;
 Mon, 08 Jun 2026 14:55:18 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 1wWbNk-000290-ED
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNj-008Spg-QH; Mon, 08 Jun 2026 16:55:15 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7c9-e002-0a2a0a5209dd-0a2a450c8386-40
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:15 +0200
Received: from [90.155.92.199] (helo=desiato.infradead.org)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7d2-62f1-0a2a450c0019-5a9b5cc7ae94-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:15 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.99.2 #2 (Red Hat Linux))
 id 1wWbNU-00000001Afy-2NZe; Mon, 08 Jun 2026 14:55:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNS-00000000NFO-03tL;
 Mon, 08 Jun 2026 15:54:58 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=desiato.20200630 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=i/yoO3HDR7YLqjov478325pvAUsRGQQgqZ9ev5HV2o8=; b=jdSWb0OwqtV+/2hdzov+bkf+X9
	a3t28sQxckXLw/lCD+sO7y7wSauhODpuY3bxOVM7opTEgJm0VRb+ei4hzNmgi8Q54A7RAqn9y7J39
	c3bD3LfUDHVO9Oe6jgJZjjrPOdwOkYPT6Rv2LSxp0mssjpfs1EJ/5b+afZRhN2Z5HBSP7yn4sZ6vE
	3/2kzUC3X9oMWIxm9ICfZJqKZNGUqesh1s/WVS/SPtGBrGfm20Y8PEeiwqHeRux8qeMJ6icISAd3l
	K/VT8djYMmJvgWQ0trv4zu1JyVDGixCCaPcm+KIcB2qjQukfufGCs5P9Mr4e+oXYLttQxyYLmeVD0
	cJhJ0bEw==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 14/34] KVM: x86: Fix compute_guest_tsc() to handle negative time deltas
Date: Mon,  8 Jun 2026 15:47:55 +0100
Message-ID: <20260608145455.89187-15-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-d25034/1780930515-E2368CF5-90131852/0/0
X-purgate-type: clean
X-purgate-size: 1721

From: David Woodhouse <dwmw@amazon.co.uk>

The compute_guest_tsc() function computes the guest TSC at a given
kernel_ns timestamp. When the master clock reference point
(master_kernel_ns) is earlier than vcpu->arch.this_tsc_nsec, the delta
is negative. Since pvclock_scale_delta() takes a u64, the negative
value wraps to a huge positive number, producing a wildly wrong result.

Handle negative deltas explicitly by negating the delta, scaling it,
and subtracting from this_tsc_write.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 arch/x86/kvm/x86.c | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index fc9366b83912..8aae22401046 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -2588,11 +2588,21 @@ static int kvm_set_tsc_khz(struct kvm_vcpu *vcpu, u32 user_tsc_khz)
 
 static u64 compute_guest_tsc(struct kvm_vcpu *vcpu, s64 kernel_ns)
 {
-	u64 tsc = pvclock_scale_delta(kernel_ns-vcpu->arch.this_tsc_nsec,
-				      vcpu->arch.virtual_tsc_mult,
-				      vcpu->arch.virtual_tsc_shift);
-	tsc += vcpu->arch.this_tsc_write;
-	return tsc;
+	s64 delta_ns = kernel_ns - vcpu->arch.this_tsc_nsec;
+	u64 tsc;
+
+	/* Handle negative deltas gracefully (master clock ref may be earlier) */
+	if (delta_ns < 0) {
+		tsc = pvclock_scale_delta(-delta_ns,
+					  vcpu->arch.virtual_tsc_mult,
+					  vcpu->arch.virtual_tsc_shift);
+		return vcpu->arch.this_tsc_write - tsc;
+	}
+
+	tsc = pvclock_scale_delta(delta_ns,
+				  vcpu->arch.virtual_tsc_mult,
+				  vcpu->arch.virtual_tsc_shift);
+	return vcpu->arch.this_tsc_write + tsc;
 }
 
 #ifdef CONFIG_X86_64
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:30 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331719.1594400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNy-00058Z-6g; Mon, 08 Jun 2026 14:55:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331719.1594400; Mon, 08 Jun 2026 14:55: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 1wWbNx-00051c-05; Mon, 08 Jun 2026 14:55:29 +0000
Received: by outflank-mailman (input) for mailman id 1331719;
 Mon, 08 Jun 2026 14:55:18 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 1wWbNl-0002Y7-QD
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNl-008Spg-6X; Mon, 08 Jun 2026 16:55:17 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7d4-e002-0a2a0a5209dd-0a2a450ba1be-0
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:16 +0200
Received: from [90.155.92.199] (helo=desiato.infradead.org)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7d3-212f-0a2a450b0019-5a9b5cc7e1ac-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:16 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.99.2 #2 (Red Hat Linux))
 id 1wWbNU-00000001Ag0-2MZo; Mon, 08 Jun 2026 14:55:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNS-00000000NFS-0ELi;
 Mon, 08 Jun 2026 15:54:58 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=desiato.20200630 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=VBMeuRPafAbqaNcAfzTWThuHMwIVcYEzYD/qbdzYY+4=; b=MhrcM22gHWIGol+6qlbmYezfmM
	XrKrpEeMyEMARpHzL8b4zyJDZFJxeeDpbjB+S7Dc+LgeJ1x+Mx512/T8bVoFmaYFReygowb+Sg52c
	GzmiWvmwHu1vCILEQXrtONeEQzOmHbLU7ch4jsc3pW5pK6A6WcQdQWGV4pA25zkl20XN8H9AKbNvi
	Ub7WrGsoCiiil+nxsVLYUxu3bfIdsGYbEcVzuGfP900xvgv7F8uDlzuB6PahsCywZvWrmjRUlS3Co
	moN+EMVubj9V2vl3/8ECg7H8LIIOmzPdwTCkmD/WVCEjEGY7keK/EsiMNUkEDTjMdZvylfqqfvjtk
	OhEcmK9Q==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 15/34] KVM: x86: Restructure kvm_guest_time_update() for TSC upscaling
Date: Mon,  8 Jun 2026 15:47:56 +0100
Message-ID: <20260608145455.89187-16-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-42698a/1780930516-1A573F3B-D32E948A/0/0
X-purgate-type: clean
X-purgate-size: 4471

From: David Woodhouse <dwmw@amazon.co.uk>

Restructure kvm_guest_time_update() so that kernel_ns/host_tsc are
always "now" when doing TSC catchup, then swap in the master clock
reference values afterward for the hv_clock.

This makes the TSC upscaling code considerably simpler: the catchup
adjustment is computed as the delta between what the guest TSC *should*
be at "now" and what it actually is, rather than mixing "now" and
"master clock reference" timestamps.

The seqcount loop now also contains the kvm_get_time_and_clockread()
call (matching get_kvmclock's pattern), with the same WARN for
unexpected failure.

Based on a suggestion by Sean Christopherson.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 arch/x86/kvm/x86.c | 74 +++++++++++++++++++++++++++++++++-------------
 1 file changed, 53 insertions(+), 21 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 8aae22401046..92e32d720523 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -3363,46 +3363,63 @@ static void kvm_setup_guest_pvclock(struct pvclock_vcpu_time_info *ref_hv_clock,
 int kvm_guest_time_update(struct kvm_vcpu *v)
 {
 	struct pvclock_vcpu_time_info hv_clock = {};
-	unsigned long flags;
 	u64 tgt_tsc_hz;
 	unsigned seq;
 	struct kvm_vcpu_arch *vcpu = &v->arch;
 	struct kvm_arch *ka = &v->kvm->arch;
 	s64 kernel_ns;
 	u64 tsc_timestamp, host_tsc;
+	u64 master_host_tsc = 0;
+	s64 master_kernel_ns = 0;
 	bool use_master_clock;
 
-	kernel_ns = 0;
-	host_tsc = 0;
-
 	/*
 	 * If the host uses TSC clock, then passthrough TSC as stable
 	 * to the guest.
 	 */
 	do {
 		seq = read_seqcount_begin(&ka->pvclock_sc);
+
 		use_master_clock = ka->use_master_clock;
-		if (use_master_clock) {
-			host_tsc = ka->master_cycle_now;
-			kernel_ns = ka->master_kernel_ns;
-		}
+
+		/*
+		 * The TSC read and the call to get_cpu_tsc_khz() must happen
+		 * on the same CPU.
+		 */
+		get_cpu();
+
+		tgt_tsc_hz = (u64)get_cpu_tsc_khz() * 1000;
+
+#ifdef CONFIG_X86_64
+		if (use_master_clock &&
+		    !kvm_get_time_and_clockread(&kernel_ns, &host_tsc) &&
+		    !read_seqcount_retry(&ka->pvclock_sc, seq))
+			use_master_clock = false;
+#endif
+
+		put_cpu();
+
+		if (!use_master_clock)
+			break;
+
+		master_host_tsc = ka->master_cycle_now;
+		master_kernel_ns = ka->master_kernel_ns;
 	} while (read_seqcount_retry(&ka->pvclock_sc, seq));
 
-	/* Keep irq disabled to prevent changes to the clock */
-	local_irq_save(flags);
-	tgt_tsc_hz = (u64)get_cpu_tsc_khz() * 1000;
 	if (unlikely(tgt_tsc_hz == 0)) {
-		local_irq_restore(flags);
 		kvm_make_request(KVM_REQ_CLOCK_UPDATE, v);
 		return 1;
 	}
+
 	if (!use_master_clock) {
+		unsigned long flags;
+
+		local_irq_save(flags);
 		host_tsc = rdtsc();
 		kernel_ns = get_kvmclock_base_ns();
+		local_irq_restore(flags);
 	}
 
-	tsc_timestamp = kvm_read_l1_tsc(v, host_tsc);
-
 	/*
 	 * We may have to catch up the TSC to match elapsed wall clock
 	 * time for two reasons, even if kvmclock is used.
@@ -3411,17 +3428,32 @@ int kvm_guest_time_update(struct kvm_vcpu *v)
 	 *      entry to avoid unknown leaps of TSC even when running
 	 *      again on the same CPU.  This may cause apparent elapsed
 	 *      time to disappear, and the guest to stand still or run
-	 *	very slowly.
+	 *      very slowly.
 	 */
 	if (vcpu->tsc_catchup) {
-		u64 tsc = compute_guest_tsc(v, kernel_ns);
-		if (tsc > tsc_timestamp) {
-			adjust_tsc_offset_guest(v, tsc - tsc_timestamp);
-			tsc_timestamp = tsc;
-		}
+		s64 adjustment;
+
+		/*
+		 * Calculate the delta between what the guest TSC *should* be
+		 * and what it actually is according to kvm_read_l1_tsc().
+		 */
+		adjustment = compute_guest_tsc(v, kernel_ns) -
+			     kvm_read_l1_tsc(v, host_tsc);
+		if (adjustment > 0)
+			adjust_tsc_offset_guest(v, adjustment);
 	}
 
-	local_irq_restore(flags);
+	/*
+	 * Now that TSC upscaling is out of the way, the remaining calculations
+	 * are all relative to the reference time that's placed in hv_clock.
+	 * If the master clock is NOT in use, the reference time is "now".  If
+	 * master clock is in use, the reference time comes from there.
+	 */
+	if (use_master_clock) {
+		host_tsc = master_host_tsc;
+		kernel_ns = master_kernel_ns;
+	}
+	tsc_timestamp = kvm_read_l1_tsc(v, host_tsc);
 
 	/* With all the info we got, fill in the values */
 
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331720.1594406 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbNz-0005Px-Fj; Mon, 08 Jun 2026 14:55:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331720.1594406; Mon, 08 Jun 2026 14:55: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 1wWbNy-0005Lt-IZ; Mon, 08 Jun 2026 14:55:30 +0000
Received: by outflank-mailman (input) for mailman id 1331720;
 Mon, 08 Jun 2026 14:55:18 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 1wWbNl-0002Y3-QE
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNl-00EcHE-6C; Mon, 08 Jun 2026 16:55:17 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7bc-5cb7-0a2a0a5109dd-0a2a4509e8d2-42
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:17 +0200
Received: from [90.155.92.199] (helo=desiato.infradead.org)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7d4-2497-0a2a45090019-5a9b5cc785ce-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:17 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.99.2 #2 (Red Hat Linux))
 id 1wWbNU-00000001AgH-2Mvm; Mon, 08 Jun 2026 14:55:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNS-00000000NFu-1qUd;
 Mon, 08 Jun 2026 15:54:58 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=desiato.20200630 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:
	From:Reply-To:Cc:Content-ID:Content-Description;
	bh=ONJsZsuBBdVs8sdkr0bY486TNXSRV1vDyDb41XHmd34=; b=i2W5qdjt3Ffu2Ly9INCzHjLLH6
	RkzTt1z+9AsIrp0HUAIl9AGZPPTK09k3yNWdrUA/VeJa981Xw8Ug3rTfQwWuLJjb1gjJmph3lQkQJ
	+lo+godeqk4nMD1OC4bM595+9edWadmNDfCGT6rYGVTOTIoOZ5qTE02zBBvciBfF9+2MU6+ydassJ
	lJ20Tgl6c4JIXS0G8KdGzZ9qgXD3UeUy1KZCziPm5oMpvEDb+Gew4saE9xRT0JrdjLuLNbamLGgZ0
	jtO5zNHyxnIC8Z6fNFOeqn/n7WYT7Akwywu/K/AHgbVD2CVdIIwzOD+94WtIULLip2HGqbVy4+qee
	YJj4F0fw==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 22/34] KVM: selftests: Add master clock offset test
Date: Mon,  8 Jun 2026 15:48:03 +0100
Message-ID: <20260608145455.89187-23-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-bad1c0/1780930517-89377A53-DE61EEF4/0/0
X-purgate-type: clean
X-purgate-size: 7995

From: David Woodhouse <dwmw@amazon.co.uk>

Verify that KVM master clock mode remains active when vCPUs have
different TSC offsets but the same frequency. Creates three vCPUs,
sets one to a different TSC value, and confirms:

 - KVM_CLOCK_HOST_TSC is set (master clock active)
 - KVM_CLOCK_TSC_STABLE is NOT set (offsets differ)

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Assisted-by: Kiro (claude-opus-4.6-1m)
---
 tools/testing/selftests/kvm/Makefile.kvm      |   1 +
 .../kvm/x86/masterclock_offset_test.c         | 180 ++++++++++++++++++
 2 files changed, 181 insertions(+)
 create mode 100644 tools/testing/selftests/kvm/x86/masterclock_offset_test.c

diff --git a/tools/testing/selftests/kvm/Makefile.kvm b/tools/testing/selftests/kvm/Makefile.kvm
index 90568ab631d7..7ecaaf82056e 100644
--- a/tools/testing/selftests/kvm/Makefile.kvm
+++ b/tools/testing/selftests/kvm/Makefile.kvm
@@ -106,6 +106,7 @@ TEST_GEN_PROGS_x86 += x86/pmu_event_filter_test
 TEST_GEN_PROGS_x86 += x86/private_mem_conversions_test
 TEST_GEN_PROGS_x86 += x86/private_mem_kvm_exits_test
 TEST_GEN_PROGS_x86 += x86/pvclock_test
+TEST_GEN_PROGS_x86 += x86/masterclock_offset_test
 TEST_GEN_PROGS_x86 += x86/pvclock_migration_test
 TEST_GEN_PROGS_x86 += x86/set_boot_cpu_id
 TEST_GEN_PROGS_x86 += x86/set_sregs_test
diff --git a/tools/testing/selftests/kvm/x86/masterclock_offset_test.c b/tools/testing/selftests/kvm/x86/masterclock_offset_test.c
new file mode 100644
index 000000000000..88e2bd2edab5
--- /dev/null
+++ b/tools/testing/selftests/kvm/x86/masterclock_offset_test.c
@@ -0,0 +1,180 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Test that KVM master clock mode works with different TSC offsets
+ * as long as all vCPUs have the same TSC frequency.
+ */
+#include <stdint.h>
+#include <string.h>
+
+#include "test_util.h"
+#include "kvm_util.h"
+#include "processor.h"
+
+#include <asm/pvclock-abi.h>
+
+#define KVMCLOCK_GPA	0xc0000000ull
+#define TSC_OFFSET	(1000000000ULL)
+
+static uint64_t pvclock_calc(struct pvclock_vcpu_time_info *pvti, uint64_t guest_tsc)
+{
+	uint64_t delta = guest_tsc - pvti->tsc_timestamp;
+
+	if (pvti->tsc_shift >= 0)
+		delta <<= pvti->tsc_shift;
+	else
+		delta >>= -(int)pvti->tsc_shift;
+
+	return pvti->system_time + ((__uint128_t)delta * pvti->tsc_to_system_mul >> 32);
+}
+
+static void guest_code(void)
+{
+	wrmsr(MSR_KVM_SYSTEM_TIME_NEW, KVMCLOCK_GPA | KVM_MSR_ENABLED);
+	for (;;)
+		GUEST_SYNC(0);
+}
+
+int main(void)
+{
+	struct kvm_vcpu *vcpus[3];
+	struct kvm_clock_data clock;
+	struct pvclock_vcpu_time_info pvti[3];
+	struct kvm_vm *vm;
+	uint64_t offset0, host_tsc, clk0, clk2;
+	int i;
+
+	TEST_REQUIRE(sys_clocksource_is_based_on_tsc());
+
+	vm = vm_create_with_vcpus(3, guest_code, vcpus);
+
+	TEST_REQUIRE(!__vcpu_has_device_attr(vcpus[0], KVM_VCPU_TSC_CTRL,
+					     KVM_VCPU_TSC_OFFSET));
+
+	vm_userspace_mem_region_add(vm, VM_MEM_SRC_ANONYMOUS,
+				    KVMCLOCK_GPA, 1,
+				    vm_calc_num_guest_pages(VM_MODE_DEFAULT,
+							   getpagesize()), 0);
+	virt_map(vm, KVMCLOCK_GPA, KVMCLOCK_GPA,
+		 vm_calc_num_guest_pages(VM_MODE_DEFAULT, getpagesize()));
+
+	/* Get vCPU 0's default offset and set vCPU 2's offset higher */
+	vcpu_device_attr_get(vcpus[0], KVM_VCPU_TSC_CTRL,
+			     KVM_VCPU_TSC_OFFSET, &offset0);
+	uint64_t offset2 = offset0 + TSC_OFFSET;
+	vcpu_device_attr_set(vcpus[2], KVM_VCPU_TSC_CTRL,
+			     KVM_VCPU_TSC_OFFSET, &offset2);
+
+	/* Run each vCPU to enable kvmclock (with offset already set) */
+	for (i = 0; i < 3; i++) {
+		vcpu_run(vcpus[i]);
+		TEST_ASSERT_KVM_EXIT_REASON(vcpus[i], KVM_EXIT_IO);
+	}
+
+	/* Check master clock is active */
+	memset(&clock, 0, sizeof(clock));
+	vm_ioctl(vm, KVM_GET_CLOCK, &clock);
+	pr_info("KVM_GET_CLOCK flags: 0x%x\n", clock.flags);
+	TEST_ASSERT(clock.flags & KVM_CLOCK_HOST_TSC,
+		    "Master clock should be active, flags=0x%x", clock.flags);
+	TEST_ASSERT(clock.flags & KVM_CLOCK_TSC_STABLE,
+		    "KVM_CLOCK_TSC_STABLE should be set, flags=0x%x", clock.flags);
+
+	/* Get per-vCPU pvclock in order 0, 2, 1 */
+	int order[] = {0, 2, 1};
+	for (i = 0; i < 3; i++) {
+		int idx = order[i];
+		__vcpu_ioctl(vcpus[idx], KVM_GET_CLOCK_GUEST, &pvti[idx]);
+		pr_info("vCPU %d: tsc_timestamp=%lu system_time=%lu "
+			"mul=%u shift=%d flags=0x%x\n",
+			idx, (unsigned long)pvti[idx].tsc_timestamp,
+			(unsigned long)pvti[idx].system_time,
+			pvti[idx].tsc_to_system_mul, pvti[idx].tsc_shift,
+			pvti[idx].flags);
+	}
+
+	/* Read guest TSCs: should see (0+OFF) < 2 < (1+OFF) */
+	uint64_t gtsc0 = vcpu_get_msr(vcpus[0], MSR_IA32_TSC);
+	uint64_t gtsc2 = vcpu_get_msr(vcpus[2], MSR_IA32_TSC);
+	uint64_t gtsc1 = vcpu_get_msr(vcpus[1], MSR_IA32_TSC);
+	pr_info("Guest TSCs: vcpu0=%lu vcpu2=%lu vcpu1=%lu\n",
+		(unsigned long)gtsc0, (unsigned long)gtsc2, (unsigned long)gtsc1);
+	pr_info("vcpu0+OFF=%lu vcpu1+OFF=%lu\n",
+		(unsigned long)(gtsc0 + TSC_OFFSET),
+		(unsigned long)(gtsc1 + TSC_OFFSET));
+	TEST_ASSERT(gtsc0 + TSC_OFFSET < gtsc2 && gtsc2 < gtsc1 + TSC_OFFSET,
+		    "Expected (vcpu0+OFF) < vcpu2 < (vcpu1+OFF)");
+
+	/* PVCLOCK_TSC_STABLE_BIT should NOT be set (offsets differ) */
+	TEST_ASSERT(!(pvti[2].flags & PVCLOCK_TSC_STABLE_BIT),
+		    "PVCLOCK_TSC_STABLE_BIT should NOT be set, flags=0x%x",
+		    pvti[2].flags);
+
+	/* Same mul/shift */
+	TEST_ASSERT(pvti[0].tsc_to_system_mul == pvti[2].tsc_to_system_mul &&
+		    pvti[0].tsc_shift == pvti[2].tsc_shift,
+		    "All vCPUs should have same mul/shift");
+
+	/*
+	 * Read host TSC once. At this instant:
+	 *   vCPU 0 guest TSC = host_tsc + offset0
+	 *   vCPU 2 guest TSC = host_tsc + offset0 + TSC_OFFSET
+	 * Feed each through its pvclock. Expect the same kvmclock.
+	 */
+	host_tsc = rdtsc();
+	clk0 = pvclock_calc(&pvti[0], host_tsc + offset0);
+	clk2 = pvclock_calc(&pvti[2], host_tsc + offset0 + TSC_OFFSET);
+
+	pr_info("kvmclock via vCPU 0: %lu ns\n", (unsigned long)clk0);
+	pr_info("kvmclock via vCPU 2: %lu ns\n", (unsigned long)clk2);
+	TEST_ASSERT(clk0 == clk2,
+		    "kvmclock from offset vCPUs should match exactly, "
+		    "diff=%ld ns", (long)(clk2 - clk0));
+
+	pr_info("PASSED: pvclock consistent across offset vCPUs\n");
+
+	/*
+	 * Now add an hour to the VM kvmclock via KVM_SET_CLOCK, run each
+	 * vCPU to pick up the update, and check they're still in sync.
+	 */
+	{
+#define ONE_HOUR_NS (3600ULL * NSEC_PER_SEC)
+		struct kvm_clock_data setclk = { .clock = clock.clock + ONE_HOUR_NS };
+
+		vm_ioctl(vm, KVM_SET_CLOCK, &setclk);
+	}
+
+	/* Guest code does GUEST_SYNC then exits â€” run each to see update */
+	for (i = 0; i < 3; i++) {
+		vcpu_run(vcpus[order[i]]);
+		TEST_ASSERT_KVM_EXIT_REASON(vcpus[order[i]], KVM_EXIT_IO);
+	}
+
+	/* Re-read pvclocks */
+	for (i = 0; i < 3; i++)
+		__vcpu_ioctl(vcpus[order[i]], KVM_GET_CLOCK_GUEST, &pvti[order[i]]);
+
+	pr_info("After +1h: vCPU 0 system_time=%lu, vCPU 2 system_time=%lu\n",
+		(unsigned long)pvti[0].system_time,
+		(unsigned long)pvti[2].system_time);
+	TEST_ASSERT(pvti[0].system_time == pvti[2].system_time,
+		    "system_time should still match after KVM_SET_CLOCK");
+
+	host_tsc = rdtsc();
+	clk0 = pvclock_calc(&pvti[0], host_tsc + offset0);
+	clk2 = pvclock_calc(&pvti[2], host_tsc + offset0 + TSC_OFFSET);
+
+	pr_info("After +1h: kvmclock via vCPU 0: %lu ns\n", (unsigned long)clk0);
+	pr_info("After +1h: kvmclock via vCPU 2: %lu ns\n", (unsigned long)clk2);
+	TEST_ASSERT(clk0 == clk2,
+		    "After +1h: kvmclock should still match, diff=%ld ns",
+		    (long)(clk2 - clk0));
+
+	/* Verify the clock actually moved by ~1 hour */
+	TEST_ASSERT(clk0 > ONE_HOUR_NS,
+		    "Clock should be > 1 hour after set, got %lu ns",
+		    (unsigned long)clk0);
+
+	pr_info("PASSED: pvclock still consistent after KVM_SET_CLOCK +1h\n");
+	kvm_vm_free(vm);
+	return 0;
+}
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:34 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331721.1594413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbO1-0005fD-9A; Mon, 08 Jun 2026 14:55:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331721.1594413; Mon, 08 Jun 2026 14:55: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 1wWbNz-0005Z9-RB; Mon, 08 Jun 2026 14:55:31 +0000
Received: by outflank-mailman (input) for mailman id 1331721;
 Mon, 08 Jun 2026 14:55:18 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 1wWbNk-00028T-D7
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNj-00EcHH-PO; Mon, 08 Jun 2026 16:55:15 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7bb-bab6-0a2a0a5309dd-0a2a450bae1a-48
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:15 +0200
Received: from [90.155.92.199] (helo=desiato.infradead.org)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7d3-212f-0a2a450b0019-5a9b5cc785cc-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:15 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.99.2 #2 (Red Hat Linux))
 id 1wWbNV-00000001AgT-3Wjr; Mon, 08 Jun 2026 14:55:02 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNT-00000000NGq-0OCB;
 Mon, 08 Jun 2026 15:54:59 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=desiato.20200630 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:
	From:Reply-To:Cc:Content-ID:Content-Description;
	bh=GbicoDuWZuSNUqLEMcVhKsjPlvyGA6ZGIMWsZrA2Bd4=; b=leHuzNM3KLTrNW7+UGnCAwbQJe
	vUfUSugsjMC/ACkfR1NJ+y3bNXWweyIjcD9uvt+b7RJpQpgEZCh8r0YFLprPoHeEz7zTbVZ40VQf1
	RHGWGvBWUHjAky+jIEeN+oIpxdIwA+rhYJFsTqIgSLpRwP/QOYLul/8M4ZMbb0hoRRFf/JZgbNsHX
	IWIEswsP5ZrCjtOdL/HQr3BqSZWQ5/uovEEuxmiW7W6MWIXC9g6IckD0ZB8vI9ExeEjmMsm6aWVg1
	FkyqCuvpziD3jAkT+kLC0I29mxEwe78pfGfSZNNXltg0QZDpzE3eTwC4P5suBTsmwFzLtXPwQMelI
	fZwnwQgw==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 33/34] KVM: x86: Replace pvclock_gtod_data vclock_mode with boolean
Date: Mon,  8 Jun 2026 15:48:14 +0100
Message-ID: <20260608145455.89187-34-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-42698a/1780930515-21183F3B-5CA7E539/0/0
X-purgate-type: clean
X-purgate-size: 3656

From: David Woodhouse <dwmw@amazon.co.uk>

The remaining users of pvclock_gtod_data only need to know whether
the host clocksource is TSC-based. Replace all vclock_mode checks
with a simple kvm_host_has_tsc_clocksource boolean, updated by the
pvclock_gtod_notify callback.

This is inherently racy (as it always was â€” kvm_track_tsc_matching
never held the gtod seqcount), relying on eventual consistency: the
notifier fires on every timekeeping update and will correct any
transient inconsistency within one tick.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Assisted-by: Kiro:claude-opus-4.6-1m
---
 arch/x86/kvm/x86.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index c18947c5b63f..93a428c37847 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -2649,6 +2649,8 @@ static u64 compute_guest_tsc(struct kvm_vcpu *vcpu, s64 kernel_ns)
 }
 
 #ifdef CONFIG_X86_64
+static bool kvm_host_has_tsc_clocksource;
+
 static inline bool gtod_is_based_on_tsc(int mode)
 {
 	return mode == VDSO_CLOCKMODE_TSC || mode == VDSO_CLOCKMODE_HVCLOCK;
@@ -2678,7 +2680,6 @@ static bool kvm_use_master_clock(struct kvm *kvm)
 static void kvm_track_tsc_matching(struct kvm_vcpu *vcpu, bool new_generation)
 {
 	struct kvm_arch *ka = &vcpu->kvm->arch;
-	struct pvclock_gtod_data *gtod = &pvclock_gtod_data;
 
 	/*
 	 * Track whether all vCPUs have matching TSC offsets (for
@@ -2712,7 +2713,7 @@ static void kvm_track_tsc_matching(struct kvm_vcpu *vcpu, bool new_generation)
 	 * accounts for its offset.
 	 */
 	bool use_master_clock = kvm_use_master_clock(vcpu->kvm) &&
-				gtod_is_based_on_tsc(gtod->clock.vclock_mode);
+				kvm_host_has_tsc_clocksource;
 
 	/*
 	 * Request a masterclock update if the masterclock needs to be toggled
@@ -2726,7 +2727,7 @@ static void kvm_track_tsc_matching(struct kvm_vcpu *vcpu, bool new_generation)
 
 	trace_kvm_track_tsc(vcpu->vcpu_id, ka->nr_vcpus_matched_tsc,
 			    atomic_read(&vcpu->kvm->online_vcpus),
-		            ka->use_master_clock, gtod->clock.vclock_mode);
+		            ka->use_master_clock, kvm_host_has_tsc_clocksource);
 }
 #else
 static inline void kvm_track_tsc_matching(struct kvm_vcpu *vcpu,
@@ -2850,7 +2851,7 @@ static inline bool kvm_check_tsc_unstable(void)
 	 * TSC is marked unstable when we're running on Hyper-V,
 	 * 'TSC page' clocksource is good.
 	 */
-	if (pvclock_gtod_data.clock.vclock_mode == VDSO_CLOCKMODE_HVCLOCK)
+	if (kvm_host_has_tsc_clocksource)
 		return false;
 #endif
 	return check_tsc_unstable();
@@ -3315,7 +3316,7 @@ static void pvclock_update_vm_gtod_copy(struct kvm *kvm)
 			ka->use_master_clock = false;
 	}
 
-	vclock_mode = pvclock_gtod_data.clock.vclock_mode;
+	vclock_mode = kvm_host_has_tsc_clocksource;
 	trace_kvm_update_master_clock(ka->use_master_clock, vclock_mode,
 					ka->all_vcpus_matched_freq);
 #endif
@@ -10407,12 +10408,15 @@ static int pvclock_gtod_notify(struct notifier_block *nb, unsigned long unused,
 	update_pvclock_gtod(tk);
 
 #ifdef CONFIG_X86_64
+	kvm_host_has_tsc_clocksource =
+		gtod_is_based_on_tsc(tk->tkr_mono.clock->vdso_clock_mode);
+
 	/*
 	 * Disable master clock if host does not trust, or does not use,
 	 * TSC based clocksource. Delegate queue_work() to irq_work as
 	 * this is invoked with tk_core.seq write held.
 	 */
-	if (!gtod_is_based_on_tsc(pvclock_gtod_data.clock.vclock_mode) &&
+	if (!kvm_host_has_tsc_clocksource &&
 	    atomic_read(&kvm_guest_has_master_clock) != 0)
 		irq_work_queue(&pvclock_irq_work);
 #endif
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331722.1594424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbO5-0006L0-GV; Mon, 08 Jun 2026 14:55:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331722.1594424; Mon, 08 Jun 2026 14: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 1wWbO3-0006En-Kc; Mon, 08 Jun 2026 14:55:35 +0000
Received: by outflank-mailman (input) for mailman id 1331722;
 Mon, 08 Jun 2026 14:55:19 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 1wWbNn-0002sa-Be
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNm-00EcHE-NY; Mon, 08 Jun 2026 16:55:18 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7d5-5cb7-0a2a0a5109dd-0a2a4504bbec-6
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:18 +0200
Received: from [90.155.92.199] (helo=desiato.infradead.org)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7d6-1dec-0a2a45040019-5a9b5cc7af2c-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:18 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.99.2 #2 (Red Hat Linux))
 id 1wWbNU-00000001Aft-2Ksg; Mon, 08 Jun 2026 14:55:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNR-00000000NEt-37cf;
 Mon, 08 Jun 2026 15:54:57 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=desiato.20200630 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:
	From:Reply-To:Cc:Content-ID:Content-Description;
	bh=0hmHp3Tay4e4dT67OIE0sxOXH554yCe/d2xysunw/ow=; b=i4KiovwvvEpSBanZMuNSv5yZaZ
	MBttEb7j17qLekz/G3XnoOg9pg40k7eaIcK/1OltaMIFfRBdN5OH3uAsh1KZWItODngkNk8FdevOj
	vxZ3DFrsjPbmW+xiFTwKHTyqiuEdTYi1SONbS/EpVsqlyxsqhnvLB8S65jQIqPpL+6o01TpuMF7OV
	v4ZnBnApmz5klnUuTBWgqpMm17FdLze2GnhK01WACOGWv+cIJf+kJrZ1ZzXMji4QG5ZrP7Aicqgob
	sWK115j7XH875jTDi/U1JV7VneYjYvHLhuN583CY/lge9rNDvGaviarRV+TPryj598ZGQfi0iGvqx
	m8nfsVhg==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 08/34] KVM: x86: Add KVM_VCPU_TSC_SCALE and fix the documentation on TSC migration
Date: Mon,  8 Jun 2026 15:47:49 +0100
Message-ID: <20260608145455.89187-9-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-ebf023/1780930518-40F753FF-495C3118/0/0
X-purgate-type: clean
X-purgate-size: 23767

From: David Woodhouse <dwmw@amazon.co.uk>

The documentation on TSC migration using KVM_VCPU_TSC_OFFSET is woefully
inadequate. It ignores TSC scaling, and ignores the fact that the host
TSC may differ from one host to the next (and in fact because of the way
the kernel calibrates it, it generally differs from one boot to the next
even on the same hardware).

Add KVM_VCPU_TSC_SCALE to extract the actual scale ratio and frac_bits,
and attempt to document the process that userspace needs to follow to
preserve the TSC across migration. Add a self test to function as an
exemplar.

Only enumerate KVM_VCPU_TSC_SCALE when kvm_caps.has_tsc_control is true,
since the scaling ratio is only meaningful when hardware TSC scaling is
supported.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 Documentation/virt/kvm/devices/vcpu.rst       | 119 ++++--
 arch/x86/include/uapi/asm/kvm.h               |   6 +
 arch/x86/kvm/x86.c                            |  22 +
 tools/testing/selftests/kvm/Makefile.kvm      |   1 +
 .../kvm/x86/pvclock_migration_test.c          | 382 ++++++++++++++++++
 5 files changed, 500 insertions(+), 30 deletions(-)
 create mode 100644 tools/testing/selftests/kvm/x86/pvclock_migration_test.c

diff --git a/Documentation/virt/kvm/devices/vcpu.rst b/Documentation/virt/kvm/devices/vcpu.rst
index 5e3805820010..167aa4140d30 100644
--- a/Documentation/virt/kvm/devices/vcpu.rst
+++ b/Documentation/virt/kvm/devices/vcpu.rst
@@ -243,7 +243,10 @@ Returns:
 Specifies the guest's TSC offset relative to the host's TSC. The guest's
 TSC is then derived by the following equation:
 
-  guest_tsc = host_tsc + KVM_VCPU_TSC_OFFSET
+  guest_tsc = ((host_tsc * tsc_scale_ratio) >> tsc_scale_bits) + KVM_VCPU_TSC_OFFSET
+
+The values of tsc_scale_ratio and tsc_scale_bits can be obtained using
+the KVM_VCPU_TSC_SCALE attribute.
 
 This attribute is useful to adjust the guest's TSC on live migration,
 so that the TSC counts the time during which the VM was paused. The
@@ -251,44 +254,100 @@ following describes a possible algorithm to use for this purpose.
 
 From the source VMM process:
 
-1. Invoke the KVM_GET_CLOCK ioctl to record the host TSC (tsc_src),
+1. Invoke the KVM_GET_CLOCK ioctl to record the host TSC (host_tsc_src),
    kvmclock nanoseconds (guest_src), and host CLOCK_REALTIME nanoseconds
-   (host_src).
+   (time_src) at a given moment (Tsrc).
+
+2. For each vCPU[i]:
+
+   a. Read the KVM_VCPU_TSC_OFFSET attribute to record the guest TSC offset
+      (ofs_src[i]).
 
-2. Read the KVM_VCPU_TSC_OFFSET attribute for every vCPU to record the
-   guest TSC offset (ofs_src[i]).
+   b. Read the KVM_VCPU_TSC_SCALE attribute to record the guest TSC scaling
+      ratio (ratio_src[i], frac_bits_src[i]).
 
-3. Invoke the KVM_GET_TSC_KHZ ioctl to record the frequency of the
-   guest's TSC (freq).
+   c. Use host_tsc_src and the scaling/offset factors to calculate this
+      vCPU's TSC at time Tsrc:
+
+      tsc_src[i] = ((host_tsc_src * ratio_src[i]) >> frac_bits_src[i]) + ofs_src[i]
+
+3. Invoke the KVM_GET_CLOCK_GUEST ioctl on the boot vCPU to return the KVM
+   clock as a function of the guest TSC (pvti_src). (This ioctl may not
+   succeed if the host and guest TSCs are not consistent and well-behaved.)
 
 From the destination VMM process:
 
-4. Invoke the KVM_SET_CLOCK ioctl, providing the source nanoseconds from
-   kvmclock (guest_src) and CLOCK_REALTIME (host_src) in their respective
-   fields.  Ensure that the KVM_CLOCK_REALTIME flag is set in the provided
-   structure.
+4. Before creating the vCPUs, invoke the KVM_SET_TSC_KHZ ioctl on the VM, to
+   set the scaled frequency of the guest's TSC (freq).
+
+5. Invoke the KVM_GET_CLOCK ioctl to record the host TSC (host_tsc_dst) and
+   host CLOCK_REALTIME nanoseconds (time_dst) at a given moment (Tdst).
+
+6. Calculate the number of nanoseconds elapsed between Tsrc and Tdst:
+
+   Î”T = time_dst - time_src
+
+7. As each vCPU[i] is created:
+
+   a. Read the KVM_VCPU_TSC_SCALE attribute to record the guest TSC scaling
+      ratio (ratio_dst[i], frac_bits_dst[i]).
+
+   b. Calculate the intended guest TSC value at time Tdst:
+
+      tsc_dst[i] = tsc_src[i] + (Î”T * freq[i])
 
-   KVM will advance the VM's kvmclock to account for elapsed time since
-   recording the clock values.  Note that this will cause problems in
-   the guest (e.g., timeouts) unless CLOCK_REALTIME is synchronized
-   between the source and destination, and a reasonably short time passes
-   between the source pausing the VMs and the destination executing
-   steps 4-7.
+   c. Use host_tsc_dst and the scaling factors to calculate this vCPU's
+      raw scaled TSC at time Tdst without offsetting:
+
+      raw_dst[i] = ((host_tsc_dst * ratio_dst[i]) >> frac_bits_dst[i])
+
+   d. Calculate ofs_dst[i] = tsc_dst[i] - raw_dst[i] and set the resulting
+      offset using the KVM_VCPU_TSC_OFFSET attribute.
+
+8. If pvti_src was provided, invoke the KVM_SET_CLOCK_GUEST ioctl on the boot
+   vCPU to restore the KVM clock as a precise function of the guest TSC.
+
+9. If KVM_SET_CLOCK_GUEST was not available or failed (e.g. because the
+   master clock is not active), fall back to the KVM_SET_CLOCK ioctl,
+   providing the source nanoseconds from kvmclock (guest_src) and
+   CLOCK_REALTIME (time_src) in their respective fields. Ensure that the
+   KVM_CLOCK_REALTIME flag is set in the provided structure.
+
+   KVM will restore the VM's kvmclock, accounting for elapsed time since
+   the clock values were recorded. Note that this will cause problems in
+   the guest (e.g., timeouts) unless CLOCK_REALTIME is synchronized between
+   the source and destination, and a reasonably short time passes between
+   the source pausing the VMs and the destination resuming them.
+   Due to the KVM_[SG]ET_CLOCK API using CLOCK_REALTIME instead of
+   CLOCK_TAI, leap seconds during the migration may also introduce errors.
+
+4.2 ATTRIBUTE: KVM_VCPU_TSC_SCALE
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:Parameters: struct kvm_vcpu_tsc_scale
+
+Returns:
+
+	 ======= ======================================
+	 -EFAULT Error reading the provided parameter
+		 address.
+	 -ENXIO  Attribute not supported (no TSC scaling)
+	 -EINVAL Invalid request to write the attribute
+	 ======= ======================================
 
-5. Invoke the KVM_GET_CLOCK ioctl to record the host TSC (tsc_dest) and
-   kvmclock nanoseconds (guest_dest).
+This read-only attribute reports the guest's TSC scaling factor, in the form
+of a fixed-point number represented by the following structure::
 
-6. Adjust the guest TSC offsets for every vCPU to account for (1) time
-   elapsed since recording state and (2) difference in TSCs between the
-   source and destination machine:
+  struct kvm_vcpu_tsc_scale {
+	__u64 tsc_ratio;
+	__u64 tsc_frac_bits;
+  };
 
-   ofs_dst[i] = ofs_src[i] -
-     (guest_src - guest_dest) * freq +
-     (tsc_src - tsc_dest)
+The tsc_frac_bits field indicates the location of the fixed point, such that
+host TSC values are converted to guest TSC using the formula:
 
-   ("ofs[i] + tsc - guest * freq" is the guest TSC value corresponding to
-   a time of 0 in kvmclock.  The above formula ensures that it is the
-   same on the destination as it was on the source).
+  guest_tsc = ((host_tsc * tsc_ratio) >> tsc_frac_bits) + offset
 
-7. Write the KVM_VCPU_TSC_OFFSET attribute for every vCPU with the
-   respective value derived in the previous step.
+Userspace can use this to precisely calculate the guest TSC from the host
+TSC at any given moment. This is needed for accurate migration of guests,
+as described in the documentation for the KVM_VCPU_TSC_OFFSET attribute.
diff --git a/arch/x86/include/uapi/asm/kvm.h b/arch/x86/include/uapi/asm/kvm.h
index 5f2b30d0405c..384be9a53395 100644
--- a/arch/x86/include/uapi/asm/kvm.h
+++ b/arch/x86/include/uapi/asm/kvm.h
@@ -961,6 +961,12 @@ struct kvm_hyperv_eventfd {
 /* for KVM_{GET,SET,HAS}_DEVICE_ATTR */
 #define KVM_VCPU_TSC_CTRL 0 /* control group for the timestamp counter (TSC) */
 #define   KVM_VCPU_TSC_OFFSET 0 /* attribute for the TSC offset */
+#define   KVM_VCPU_TSC_SCALE  1 /* attribute for TSC scaling factor */
+
+struct kvm_vcpu_tsc_scale {
+	__u64 tsc_ratio;
+	__u64 tsc_frac_bits;
+};
 
 /* x86-specific KVM_EXIT_HYPERCALL flags. */
 #define KVM_EXIT_HYPERCALL_LONG_MODE	_BITULL(0)
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index c1897d939da9..6337f9b9d7ac 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -5930,6 +5930,9 @@ static int kvm_arch_tsc_has_attr(struct kvm_vcpu *vcpu,
 	case KVM_VCPU_TSC_OFFSET:
 		r = 0;
 		break;
+	case KVM_VCPU_TSC_SCALE:
+		r = kvm_caps.has_tsc_control ? 0 : -ENXIO;
+		break;
 	default:
 		r = -ENXIO;
 	}
@@ -5950,6 +5953,22 @@ static int kvm_arch_tsc_get_attr(struct kvm_vcpu *vcpu,
 			break;
 		r = 0;
 		break;
+	case KVM_VCPU_TSC_SCALE: {
+		struct kvm_vcpu_tsc_scale scale;
+
+		if (!kvm_caps.has_tsc_control) {
+			r = -ENXIO;
+			break;
+		}
+
+		scale.tsc_ratio = vcpu->arch.l1_tsc_scaling_ratio;
+		scale.tsc_frac_bits = kvm_caps.tsc_scaling_ratio_frac_bits;
+		r = -EFAULT;
+		if (copy_to_user(uaddr, &scale, sizeof(scale)))
+			break;
+		r = 0;
+		break;
+	}
 	default:
 		r = -ENXIO;
 	}
@@ -5989,6 +6008,9 @@ static int kvm_arch_tsc_set_attr(struct kvm_vcpu *vcpu,
 		r = 0;
 		break;
 	}
+	case KVM_VCPU_TSC_SCALE:
+		r = -EINVAL; /* Read only */
+		break;
 	default:
 		r = -ENXIO;
 	}
diff --git a/tools/testing/selftests/kvm/Makefile.kvm b/tools/testing/selftests/kvm/Makefile.kvm
index fb935ae3bf38..90568ab631d7 100644
--- a/tools/testing/selftests/kvm/Makefile.kvm
+++ b/tools/testing/selftests/kvm/Makefile.kvm
@@ -106,6 +106,7 @@ TEST_GEN_PROGS_x86 += x86/pmu_event_filter_test
 TEST_GEN_PROGS_x86 += x86/private_mem_conversions_test
 TEST_GEN_PROGS_x86 += x86/private_mem_kvm_exits_test
 TEST_GEN_PROGS_x86 += x86/pvclock_test
+TEST_GEN_PROGS_x86 += x86/pvclock_migration_test
 TEST_GEN_PROGS_x86 += x86/set_boot_cpu_id
 TEST_GEN_PROGS_x86 += x86/set_sregs_test
 TEST_GEN_PROGS_x86 += x86/smaller_maxphyaddr_emulation_test
diff --git a/tools/testing/selftests/kvm/x86/pvclock_migration_test.c b/tools/testing/selftests/kvm/x86/pvclock_migration_test.c
new file mode 100644
index 000000000000..6a7eaf627d1a
--- /dev/null
+++ b/tools/testing/selftests/kvm/x86/pvclock_migration_test.c
@@ -0,0 +1,382 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Test KVM clock precision across simulated live migration.
+ *
+ * Verifies that the documented TSC migration procedure (using
+ * KVM_VCPU_TSC_OFFSET, KVM_VCPU_TSC_SCALE, KVM_GET_CLOCK, and
+ * KVM_SET_CLOCK_GUEST) preserves the kvmclock's relationship to
+ * CLOCK_MONOTONIC_RAW.
+ *
+ * The test:
+ * 1. Creates a VM, runs the guest to enable kvmclock
+ * 2. Does a PTP-like ABA measurement of kvmclock vs CLOCK_MONOTONIC_RAW
+ * 3. Follows the documented migration procedure (same host, 1s pause)
+ * 4. Does the same ABA measurement on the destination VM
+ * 5. Verifies the kvmclock-vs-monotonic delta is preserved
+ */
+#include <inttypes.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+
+#include "test_util.h"
+#include "kvm_util.h"
+#include "processor.h"
+
+#include <asm/pvclock-abi.h>
+
+#define KVMCLOCK_GPA	0xc0000000ULL
+
+static void guest_code(void)
+{
+	wrmsr(MSR_KVM_SYSTEM_TIME_NEW, KVMCLOCK_GPA | 1);
+	GUEST_SYNC(0);
+	GUEST_SYNC(1);
+}
+
+static uint64_t read_kvmclock_ns(struct kvm_vm *vm)
+{
+	struct kvm_clock_data data = {};
+
+	vm_ioctl(vm, KVM_GET_CLOCK, &data);
+	return data.clock;
+}
+
+static uint64_t pvclock_read_cycles(struct pvclock_vcpu_time_info *src,
+				    uint64_t tsc)
+{
+	uint64_t delta = tsc - src->tsc_timestamp;
+	uint64_t ns;
+
+	if (src->tsc_shift >= 0)
+		delta <<= src->tsc_shift;
+	else
+		delta >>= -(int32_t)src->tsc_shift;
+
+	ns = (unsigned __int128)delta * src->tsc_to_system_mul >> 32;
+	return src->system_time + ns;
+}
+
+/*
+ * ABA measurement: read CLOCK_MONOTONIC_RAW, kvmclock, CLOCK_MONOTONIC_RAW.
+ * Repeat 3 times, keep the reading with the smallest spread.
+ */
+static void aba_reading(struct kvm_vm *vm, uint64_t *lo, uint64_t *kvm_ns,
+			uint64_t *hi)
+{
+	uint64_t best_spread = UINT64_MAX;
+	int i;
+
+	for (i = 0; i < 3; i++) {
+		struct timespec ts1, ts2;
+		uint64_t m1, m2, clk;
+
+		clock_gettime(CLOCK_MONOTONIC_RAW, &ts1);
+		clk = read_kvmclock_ns(vm);
+		clock_gettime(CLOCK_MONOTONIC_RAW, &ts2);
+
+		m1 = ts1.tv_sec * 1000000000ULL + ts1.tv_nsec;
+		m2 = ts2.tv_sec * 1000000000ULL + ts2.tv_nsec;
+
+		if (m2 - m1 < best_spread) {
+			best_spread = m2 - m1;
+			*lo = m1;
+			*kvm_ns = clk;
+			*hi = m2;
+		}
+	}
+}
+
+static struct kvm_vm *create_vm(struct kvm_vcpu **vcpu)
+{
+	struct kvm_vm *vm = vm_create_with_one_vcpu(vcpu, guest_code);
+
+	vm_userspace_mem_region_add(vm, VM_MEM_SRC_ANONYMOUS,
+				    KVMCLOCK_GPA, 1, 1, 0);
+	virt_map(vm, KVMCLOCK_GPA, KVMCLOCK_GPA, 1);
+	return vm;
+}
+
+int main(void)
+{
+	struct pvclock_vcpu_time_info pvti_src;
+	struct kvm_clock_data clock_src, clock_dst;
+	struct kvm_vcpu_tsc_scale scale_src, scale_dst;
+	struct kvm_vcpu *vcpu;
+	struct kvm_vm *vm;
+	struct ucall uc;
+	uint64_t mono_before, kvm_before, kvm_after;
+	int64_t delta_before;
+	uint64_t ofs_src, tsc_src, tsc_dst, raw_dst, ofs_dst;
+	uint64_t host_tsc_src, host_tsc_dst;
+	uint64_t time_src, time_dst;
+	int64_t delta_t;
+	uint32_t freq_khz = 1500000; /* 1.5 GHz â€” forces TSC scaling */
+	int ret;
+
+	TEST_REQUIRE(sys_clocksource_is_based_on_tsc());
+
+	/* === SOURCE SIDE === */
+	pr_info("=== Source VM ===\n");
+	vm = create_vm(&vcpu);
+
+	/* Set guest TSC frequency (may trigger scaling) */
+	vcpu_ioctl(vcpu, KVM_SET_TSC_KHZ, (void *)(unsigned long)freq_khz);
+
+	/* Run guest to enable kvmclock */
+	vcpu_run(vcpu);
+	TEST_ASSERT_KVM_EXIT_REASON(vcpu, KVM_EXIT_IO);
+	TEST_ASSERT_EQ(get_ucall(vcpu, &uc), UCALL_SYNC);
+
+	/* ABA measurement: kvmclock vs CLOCK_MONOTONIC_RAW */
+	uint64_t src_mono_lo, src_mono_hi;
+	aba_reading(vm, &src_mono_lo, &kvm_before, &src_mono_hi);
+	mono_before = (src_mono_lo + src_mono_hi) / 2;
+	delta_before = (int64_t)(kvm_before - mono_before);
+	pr_info("  kvmclock - MONOTONIC_RAW = %" PRId64 " ns (Â±%" PRIu64 " ns)\n",
+		delta_before, (src_mono_hi - src_mono_lo) / 2);
+
+	/* Step 1: KVM_GET_CLOCK for atomic {host_tsc, realtime} */
+	memset(&clock_src, 0, sizeof(clock_src));
+	clock_src.flags = KVM_CLOCK_REALTIME;
+	vm_ioctl(vm, KVM_GET_CLOCK, &clock_src);
+	host_tsc_src = clock_src.host_tsc;
+	time_src = clock_src.realtime;
+
+	/* Step 2: Save TSC offset and scale */
+	{
+		struct kvm_device_attr attr = {
+			.group = KVM_VCPU_TSC_CTRL,
+			.attr = KVM_VCPU_TSC_OFFSET,
+			.addr = (uint64_t)(uintptr_t)&ofs_src,
+		};
+		vcpu_ioctl(vcpu, KVM_GET_DEVICE_ATTR, &attr);
+	}
+	{
+		struct kvm_device_attr attr = {
+			.group = KVM_VCPU_TSC_CTRL,
+			.attr = KVM_VCPU_TSC_SCALE,
+			.addr = (uint64_t)(uintptr_t)&scale_src,
+		};
+		memset(&scale_src, 0, sizeof(scale_src));
+		__vcpu_ioctl(vcpu, KVM_GET_DEVICE_ATTR, &attr);
+	}
+
+	/* Compute guest TSC at Tsrc */
+	if (scale_src.tsc_frac_bits)
+		tsc_src = ((unsigned __int128)host_tsc_src * scale_src.tsc_ratio
+			   >> scale_src.tsc_frac_bits) + ofs_src;
+	else
+		tsc_src = host_tsc_src + ofs_src;
+
+	/* Step 3: KVM_GET_CLOCK_GUEST */
+	ret = __vcpu_ioctl(vcpu, KVM_GET_CLOCK_GUEST, &pvti_src);
+	TEST_ASSERT(!ret, "KVM_GET_CLOCK_GUEST failed");
+
+	pr_info("  TSC freq=%u kHz, offset=%" PRId64 "\n", freq_khz, (int64_t)ofs_src);
+
+	kvm_vm_release(vm);
+
+	/* === PAUSE (simulate migration) === */
+	pr_info("=== Pausing 1 second ===\n");
+	sleep(1);
+
+	/* === DESTINATION SIDE === */
+	pr_info("=== Destination VM ===\n");
+	vm = create_vm(&vcpu);
+
+	/* Step 4: KVM_SET_TSC_KHZ */
+	vcpu_ioctl(vcpu, KVM_SET_TSC_KHZ, (void *)(unsigned long)freq_khz);
+
+	/* Step 5: KVM_GET_CLOCK for atomic {host_tsc, realtime} pair.
+	 * Master clock is active from vCPU creation.
+	 */
+	memset(&clock_dst, 0, sizeof(clock_dst));
+	vm_ioctl(vm, KVM_GET_CLOCK, &clock_dst);
+	host_tsc_dst = clock_dst.host_tsc;
+	time_dst = clock_dst.realtime;
+
+	/* Step 6: Î”T */
+	delta_t = (int64_t)(time_dst - time_src);
+
+	/* Step 7: Compute destination offset */
+	{
+		struct kvm_device_attr attr = {
+			.group = KVM_VCPU_TSC_CTRL,
+			.attr = KVM_VCPU_TSC_SCALE,
+			.addr = (uint64_t)(uintptr_t)&scale_dst,
+		};
+		memset(&scale_dst, 0, sizeof(scale_dst));
+		__vcpu_ioctl(vcpu, KVM_GET_DEVICE_ATTR, &attr);
+	}
+
+	tsc_dst = tsc_src + (uint64_t)((int64_t)freq_khz * 1000 * delta_t / 1000000000LL);
+
+	if (scale_dst.tsc_frac_bits)
+		raw_dst = (unsigned __int128)host_tsc_dst * scale_dst.tsc_ratio
+			  >> scale_dst.tsc_frac_bits;
+	else
+		raw_dst = host_tsc_dst;
+
+	ofs_dst = tsc_dst - raw_dst;
+
+	/*
+	 * The TSC offset delta introduced by using CLOCK_REALTIME to
+	 * estimate elapsed time. On same host, the correct offset is
+	 * ofs_src; the difference is the CLOCK_REALTIME-vs-TSC error.
+	 */
+	int64_t tsc_ofs_delta = (int64_t)(ofs_dst - ofs_src);
+	int64_t tsc_ofs_delta_ns = tsc_ofs_delta * 1000000000LL / ((int64_t)freq_khz * 1000);
+	pr_info("  Destination TSC offset=%" PRId64
+		", imprecision from CLOCK_REALTIME: %" PRId64 " cycles = %"
+		PRId64 " ns\n", (int64_t)ofs_dst, tsc_ofs_delta, tsc_ofs_delta_ns);
+
+	/* Set TSC offset */
+	{
+		struct kvm_device_attr attr = {
+			.group = KVM_VCPU_TSC_CTRL,
+			.attr = KVM_VCPU_TSC_OFFSET,
+			.addr = (uint64_t)(uintptr_t)&ofs_dst,
+		};
+		vcpu_ioctl(vcpu, KVM_SET_DEVICE_ATTR, &attr);
+	}
+
+	/* Step 8: KVM_SET_CLOCK_GUEST */
+	ret = __vcpu_ioctl(vcpu, KVM_SET_CLOCK_GUEST, &pvti_src);
+	TEST_ASSERT(!ret, "KVM_SET_CLOCK_GUEST failed: errno %d", errno);
+
+	/* Run guest to update pvclock page on destination */
+	vcpu_run(vcpu);
+	TEST_ASSERT_KVM_EXIT_REASON(vcpu, KVM_EXIT_IO);
+	TEST_ASSERT_EQ(get_ucall(vcpu, &uc), UCALL_SYNC);
+
+	/* ABA measurement on destination */
+	uint64_t mono_lo, mono_hi;
+	aba_reading(vm, &mono_lo, &kvm_after, &mono_hi);
+
+	/*
+	 * The kvmclock is tied to the guest TSC via SET_CLOCK_GUEST.
+	 * The guest TSC is offset from the correct value by tsc_ofs_delta_ns
+	 * (due to CLOCK_REALTIME imprecision). So the kvmclock should be
+	 * offset from CLOCK_MONOTONIC_RAW by exactly:
+	 *   (original delta) + tsc_ofs_delta_ns
+	 *
+	 * The "original delta" has uncertainty from the source ABA spread,
+	 * and the measurement has uncertainty from the destination ABA spread.
+	 * Verify the expected value falls within the combined bounds.
+	 */
+	int64_t delta_before_lo = (int64_t)(kvm_before - src_mono_hi);
+	int64_t delta_before_hi = (int64_t)(kvm_before - src_mono_lo);
+	int64_t expected_lo = delta_before_lo + tsc_ofs_delta_ns;
+	int64_t expected_hi = delta_before_hi + tsc_ofs_delta_ns;
+	int64_t actual_lo = (int64_t)(kvm_after - mono_hi);
+	int64_t actual_hi = (int64_t)(kvm_after - mono_lo);
+
+	/* Show the shift relative to the source measurement */
+	int64_t expected_mid = tsc_ofs_delta_ns;
+	int64_t expected_err = (int64_t)(src_mono_hi - src_mono_lo) / 2;
+	int64_t actual_mid = ((actual_lo + actual_hi) / 2) - delta_before;
+	int64_t actual_err = (int64_t)(mono_hi - mono_lo) / 2;
+	pr_info("  kvmclock-mono shift: expected %" PRId64 " ns (Â±%" PRId64
+		"), measured %" PRId64 " ns (Â±%" PRId64 ")\n",
+		expected_mid, expected_err, actual_mid, actual_err);
+
+	/* The ranges must overlap */
+	TEST_ASSERT(expected_hi >= actual_lo && expected_lo <= actual_hi,
+		    "Ranges don't overlap: expected [%" PRId64 ", %" PRId64
+		    "] measured [%" PRId64 ", %" PRId64 "]",
+		    expected_lo, expected_hi, actual_lo, actual_hi);
+
+	/*
+	 * Direct pvclock verification: read the destination pvclock page
+	 * and verify that computing kvmclock from pvti_src and pvti_dst
+	 * at the same guest TSC gives the same result.
+	 *
+	 * Get an atomic {host_tsc, kvmclock} pair, scale host_tsc to
+	 * guest TSC using KVM_VCPU_TSC_SCALE, then compute kvmclock
+	 * from both pvclock structs.
+	 */
+	struct kvm_clock_data clock_now = {};
+	vm_ioctl(vm, KVM_GET_CLOCK, &clock_now);
+
+	struct pvclock_vcpu_time_info *pvti_dst = addr_gpa2hva(vm, KVMCLOCK_GPA);
+	uint64_t host_tsc_now = clock_now.host_tsc;
+	uint64_t guest_tsc_now;
+
+	if (scale_dst.tsc_frac_bits)
+		guest_tsc_now = ((unsigned __int128)host_tsc_now *
+				 scale_dst.tsc_ratio >> scale_dst.tsc_frac_bits)
+				+ ofs_dst;
+	else
+		guest_tsc_now = host_tsc_now + ofs_dst;
+
+	uint64_t clk_from_src = pvclock_read_cycles(&pvti_src, guest_tsc_now);
+	uint64_t clk_from_dst = pvclock_read_cycles(pvti_dst, guest_tsc_now);
+	int64_t pvclock_delta = (int64_t)(clk_from_src - clk_from_dst);
+
+	pr_info("  Pvclock direct: src=%" PRIu64 " dst=%" PRIu64
+		" delta=%" PRId64 " ns\n", clk_from_src, clk_from_dst, pvclock_delta);
+	pr_info("  KVM_GET_CLOCK:  %" PRIu64 " ns\n", (uint64_t)clock_now.clock);
+
+	TEST_ASSERT(pvclock_delta >= -1 && pvclock_delta <= 1,
+		    "pvclock src vs dst disagree by %" PRId64 " ns", pvclock_delta);
+
+	/*
+	 * Tight ABA: compare pvclock_read() directly (no ioctl) against
+	 * CLOCK_MONOTONIC_RAW. The spread should be much smaller since
+	 * there's no syscall between the two clock_gettime calls â€” just
+	 * rdtsc + userspace mul/shift.
+	 */
+	uint64_t tight_mono_lo = 0, tight_mono_hi = 0, tight_kvm = 0;
+	uint64_t tight_best_spread = UINT64_MAX;
+	for (int i = 0; i < 3; i++) {
+		struct timespec ts1, ts2;
+		uint64_t m1, m2, tsc, clk;
+
+		clock_gettime(CLOCK_MONOTONIC_RAW, &ts1);
+		tsc = rdtsc();
+		clock_gettime(CLOCK_MONOTONIC_RAW, &ts2);
+
+		m1 = ts1.tv_sec * 1000000000ULL + ts1.tv_nsec;
+		m2 = ts2.tv_sec * 1000000000ULL + ts2.tv_nsec;
+
+		/* Scale host TSC to guest TSC */
+		if (scale_dst.tsc_frac_bits)
+			tsc = ((unsigned __int128)tsc * scale_dst.tsc_ratio
+			       >> scale_dst.tsc_frac_bits) + ofs_dst;
+		else
+			tsc += ofs_dst;
+
+		clk = pvclock_read_cycles(pvti_dst, tsc);
+
+		if (m2 - m1 < tight_best_spread) {
+			tight_best_spread = m2 - m1;
+			tight_mono_lo = m1;
+			tight_mono_hi = m2;
+			tight_kvm = clk;
+		}
+	}
+	pr_info("  Tight ABA spread: %" PRIu64 " ns (best of 3)\n", tight_best_spread);
+
+	int64_t tight_expected_lo = delta_before_lo + tsc_ofs_delta_ns;
+	int64_t tight_expected_hi = delta_before_hi + tsc_ofs_delta_ns;
+	int64_t tight_actual_lo = (int64_t)(tight_kvm - tight_mono_hi);
+	int64_t tight_actual_hi = (int64_t)(tight_kvm - tight_mono_lo);
+	int64_t tight_actual_mid = ((tight_actual_lo + tight_actual_hi) / 2) - delta_before;
+	int64_t tight_actual_err = (int64_t)(tight_mono_hi - tight_mono_lo) / 2;
+
+	pr_info("  Tight kvmclock-mono shift: expected %" PRId64
+		" ns (Â±%" PRId64 "), measured %" PRId64 " ns (Â±%" PRId64 ")\n",
+		expected_mid, expected_err, tight_actual_mid, tight_actual_err);
+
+	TEST_ASSERT(tight_expected_hi >= tight_actual_lo &&
+		    tight_expected_lo <= tight_actual_hi,
+		    "Tight ABA ranges don't overlap");
+
+	kvm_vm_release(vm);
+	pr_info("PASS: kvmclock offset matches TSC delta from CLOCK_REALTIME"
+		" (%" PRId64 " ns) within ABA bounds\n", tsc_ofs_delta_ns);
+	return 0;
+}
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331736.1594440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbOB-0007nR-Kp; Mon, 08 Jun 2026 14:55:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331736.1594440; Mon, 08 Jun 2026 14:55:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbOA-0007bY-3t; Mon, 08 Jun 2026 14:55:42 +0000
Received: by outflank-mailman (input) for mailman id 1331736;
 Mon, 08 Jun 2026 14:55:33 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wWbO0-0005bW-8v
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbNz-002m34-E0; Mon, 08 Jun 2026 16:55:31 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7d7-bab6-0a2a0a5309dd-0a2a4509a2de-22
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:31 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7e2-2497-0a2a45090019-5a9b3222d714-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:31 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wWbNS-0000000Dtxj-2vXt; Mon, 08 Jun 2026 14:54:59 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNS-00000000NGX-3X6a;
 Mon, 08 Jun 2026 15:54:58 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:
	From:Reply-To:Cc:Content-ID:Content-Description;
	bh=aHV9lck9iJ7HfeFHLwY/x8/L76vGmBWhEjbD8RUPDnI=; b=N9+adQEbHGyBhmT81pe1mmYYck
	LjW/bk4JiQDQVfbGbb3rZrQkZSu2DFaWqWwtmJ4aYta+6mUnOrqpsfIou57Twpu7e3mpdtOR6IaS/
	PR30FjJPheq3HC07+oHZIvW0QagIsGBCO4FGmfBYHGTO6L32PDV0Gau8jWk4WqHWk2LxHqr7BBkeg
	InjZCCPr2gDsciyXM/r+vac1yWl6d0xWHTwRNSxvzqdCOnylWOjVvDEBHh/ul2i4PBO8o+YQL6ivG
	9Y+C1B3FJ8v/gGK94o+RhO5HmgPf9ZaXmgM9mMzuTK+aM+zaoXaQmTWHqMhV9AhnL2ZQbnsjqcGaA
	wWHDSRaQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 30/34] KVM: selftests: Add Xen runstate migration test
Date: Mon,  8 Jun 2026 15:48:11 +0100
Message-ID: <20260608145455.89187-31-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-bad1c0/1780930531-42B70A53-B48BA8E3/0/0
X-purgate-type: clean
X-purgate-size: 7849

From: David Woodhouse <dwmw@amazon.co.uk>

Test that Xen runstate (steal time) is correctly accounted across a
simulated live migration using KVM_XEN_VCPU_ATTR and KVM_[GS]ET_CLOCK_GUEST.

The test simulates what a real VMM does during migration:
1. Creates a VM with Xen HVM config and runstate tracking
2. Runs the guest to accumulate some kvmclock time
3. Saves clock (KVM_GET_CLOCK_GUEST), TSC offset, and runstate
4. Marks the saved state as RUNSTATE_runnable (vCPU not running)
5. Destroys the source VM
6. Sleeps 10ms (simulating migration network transfer time)
7. Creates a new VM and restores all state precisely as saved
8. Runs the guest and verifies the migration gap appears as steal

The kernel accounts the gap because: on vcpu_load, it transitions from
RUNSTATE_runnable to RUNSTATE_running, computing delta = kvmclock_now -
state_entry_time. Since kvmclock has advanced past the saved entry time
(real time elapsed during migration), the delta is added to time_runnable.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 .../selftests/kvm/x86/xen_migration_test.c    | 194 ++++++++++++++++++
 1 file changed, 194 insertions(+)
 create mode 100644 tools/testing/selftests/kvm/x86/xen_migration_test.c

diff --git a/tools/testing/selftests/kvm/x86/xen_migration_test.c b/tools/testing/selftests/kvm/x86/xen_migration_test.c
new file mode 100644
index 000000000000..37e8ace00611
--- /dev/null
+++ b/tools/testing/selftests/kvm/x86/xen_migration_test.c
@@ -0,0 +1,194 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Test Xen runstate (steal time) preservation across simulated migration.
+ *
+ * Verifies that the kernel correctly accounts the migration gap as
+ * steal time (runnable) when runstate data is saved and restored
+ * precisely, but real time elapses during the migration.
+ *
+ * The key insight: userspace saves the runstate with state=RUNSTATE_runnable
+ * (the vCPU is not running during migration). On restore, the kernel sees
+ * that kvmclock has advanced past state_entry_time, and accounts the
+ * difference as time spent in the runnable state.
+ */
+#include <inttypes.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "test_util.h"
+#include "kvm_util.h"
+#include "processor.h"
+
+#include <asm/pvclock-abi.h>
+
+#define SHINFO_GPA	0xc0000000ULL
+#define RUNSTATE_GPA	(SHINFO_GPA + 0x1000)
+
+#define RUNSTATE_running  0
+#define RUNSTATE_runnable 1
+#define RUNSTATE_blocked  2
+#define RUNSTATE_offline  3
+
+struct vcpu_runstate_info {
+	uint32_t state;
+	uint64_t state_entry_time;
+	uint64_t time[4];
+} __attribute__((packed));
+
+static void guest_code(void)
+{
+	volatile struct vcpu_runstate_info *rs =
+		(void *)(unsigned long)RUNSTATE_GPA;
+
+	/* Report runstate times â€” no need to enable kvmclock MSR,
+	 * the kernel writes runstate using its internal kvmclock. */
+	GUEST_SYNC_ARGS(0, rs->time[RUNSTATE_runnable],
+			rs->time[RUNSTATE_running], 0, 0);
+}
+
+static struct kvm_vm *create_xen_vm(struct kvm_vcpu **vcpu)
+{
+	struct kvm_vm *vm;
+	int xen_caps;
+
+	vm = vm_create_with_one_vcpu(vcpu, guest_code);
+
+	xen_caps = kvm_check_cap(KVM_CAP_XEN_HVM);
+	TEST_REQUIRE(xen_caps & KVM_XEN_HVM_CONFIG_SHARED_INFO);
+	TEST_REQUIRE(xen_caps & KVM_XEN_HVM_CONFIG_RUNSTATE);
+
+	/* Map pages */
+	vm_userspace_mem_region_add(vm, VM_MEM_SRC_ANONYMOUS,
+				    SHINFO_GPA, 1, 2, 0);
+	virt_map(vm, SHINFO_GPA, SHINFO_GPA, 2);
+
+	/* Enable Xen HVM with MSR interception (enables runstate tracking) */
+	struct kvm_xen_hvm_config cfg = {
+		.flags = KVM_XEN_HVM_CONFIG_INTERCEPT_HCALL,
+		.msr = 0x40000000,
+	};
+	vm_ioctl(vm, KVM_XEN_HVM_CONFIG, &cfg);
+
+	/* Set shared_info */
+	struct kvm_xen_hvm_attr ha = {
+		.type = KVM_XEN_ATTR_TYPE_SHARED_INFO,
+		.u.shared_info.gfn = SHINFO_GPA >> 12,
+	};
+	vm_ioctl(vm, KVM_XEN_HVM_SET_ATTR, &ha);
+
+	/* Set runstate address */
+	struct kvm_xen_vcpu_attr rs_addr = {
+		.type = KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_ADDR,
+		.u.gpa = RUNSTATE_GPA,
+	};
+	vcpu_ioctl(*vcpu, KVM_XEN_VCPU_SET_ATTR, &rs_addr);
+
+	return vm;
+}
+
+int main(void)
+{
+	struct pvclock_vcpu_time_info pvti;
+	struct kvm_xen_vcpu_attr runstate_save;
+	struct kvm_vcpu *vcpu;
+	struct kvm_vm *vm;
+	struct ucall uc;
+	uint64_t tsc_offset;
+	int ret;
+
+	/* === SOURCE SIDE === */
+	pr_info("=== Source: create VM and run guest ===\n");
+	vm = create_xen_vm(&vcpu);
+
+	/* Run guest once to accumulate some runstate time */
+	vcpu_run(vcpu);
+	TEST_ASSERT_KVM_EXIT_REASON(vcpu, KVM_EXIT_IO);
+	TEST_ASSERT_EQ(get_ucall(vcpu, &uc), UCALL_SYNC);
+
+	pr_info("  Guest sees: runnable=%" PRIu64 " running=%" PRIu64 "\n",
+		uc.args[2], uc.args[3]);
+
+	/* Save clock state */
+	ret = __vcpu_ioctl(vcpu, KVM_GET_CLOCK_GUEST, &pvti);
+	TEST_ASSERT(!ret, "KVM_GET_CLOCK_GUEST failed");
+
+	/* Save TSC offset */
+	tsc_offset = vcpu_get_msr(vcpu, MSR_IA32_TSC_ADJUST);
+
+	/* Save runstate â€” the vCPU is now "runnable" (not running) */
+	runstate_save.type = KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_DATA;
+	vcpu_ioctl(vcpu, KVM_XEN_VCPU_GET_ATTR, &runstate_save);
+
+	/*
+	 * Transition to runnable state before saving â€” the vCPU is
+	 * not running during migration.
+	 */
+	runstate_save.u.runstate.state = RUNSTATE_runnable;
+
+	pr_info("  Saved runstate: running=%" PRIu64 " runnable=%" PRIu64
+		" entry=%" PRIu64 "\n",
+		(uint64_t)runstate_save.u.runstate.time_running,
+		(uint64_t)runstate_save.u.runstate.time_runnable,
+		(uint64_t)runstate_save.u.runstate.state_entry_time);
+
+	uint64_t saved_runnable = runstate_save.u.runstate.time_runnable;
+
+	kvm_vm_release(vm);
+
+	/* === MIGRATION GAP === */
+	pr_info("=== Simulating migration (sleeping 10ms) ===\n");
+	usleep(10000);
+
+	/* === DESTINATION SIDE === */
+	pr_info("=== Destination: create new VM and restore ===\n");
+	vm = create_xen_vm(&vcpu);
+
+	/* Restore TSC offset */
+	vcpu_set_msr(vcpu, MSR_IA32_TSC_ADJUST, tsc_offset);
+
+	/* Restore clock â€” kvmclock will now be ~10ms ahead of the snapshot */
+	vcpu_ioctl(vcpu, KVM_SET_CLOCK_GUEST, &pvti);
+
+	/* Restore runstate exactly as saved (state=runnable) */
+	runstate_save.type = KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_DATA;
+	ret = __vcpu_ioctl(vcpu, KVM_XEN_VCPU_SET_ATTR, &runstate_save);
+	TEST_ASSERT(!ret, "Restore runstate failed: errno %d", errno);
+
+	/*
+	 * Run the guest. When the vCPU enters vcpu_run, the kernel
+	 * transitions from RUNSTATE_runnable to RUNSTATE_running.
+	 * It computes: delta = kvmclock_now - state_entry_time
+	 * This delta (which includes the migration gap) is added to
+	 * time_runnable (steal time).
+	 */
+	vcpu_run(vcpu);
+	TEST_ASSERT_KVM_EXIT_REASON(vcpu, KVM_EXIT_IO);
+	TEST_ASSERT_EQ(get_ucall(vcpu, &uc), UCALL_SYNC);
+
+	uint64_t guest_runnable = uc.args[2];
+	uint64_t guest_running = uc.args[3];
+
+	pr_info("  Guest sees: runnable=%" PRIu64 " running=%" PRIu64 "\n",
+		guest_runnable, guest_running);
+
+	uint64_t steal_increase = guest_runnable - saved_runnable;
+	pr_info("  Steal time increase: %" PRIu64 " ns (migration gap)\n",
+		steal_increase);
+
+	/*
+	 * The steal time increase should be at least 10ms (the sleep)
+	 * but not more than 5s (allowing for VM creation overhead).
+	 * The actual gap is from the source's state_entry_time to the
+	 * destination's kvmclock "now" at vcpu_load time.
+	 */
+	TEST_ASSERT(steal_increase >= 10000000ULL &&
+		    steal_increase < 5000000000ULL,
+		    "Steal time increase %" PRIu64 " ns not in expected range "
+		    "[10ms, 5s]", steal_increase);
+
+	kvm_vm_release(vm);
+	pr_info("PASS: Migration gap correctly accounted as steal time\n");
+	return 0;
+}
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331741.1594449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbOD-0008JV-Hj; Mon, 08 Jun 2026 14:55:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331741.1594449; Mon, 08 Jun 2026 14: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 1wWbOC-0008Dj-HP; Mon, 08 Jun 2026 14:55:44 +0000
Received: by outflank-mailman (input) for mailman id 1331741;
 Mon, 08 Jun 2026 14:55:36 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wWbO3-0006FN-PJ
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbO2-00AKad-Vy; Mon, 08 Jun 2026 16:55:35 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7e1-2eae-0a2a0a5409dd-0a2a450cc378-24
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:34 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7e6-62f1-0a2a450c0019-5a9b3222d8f8-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:34 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wWbNS-0000000Dtxf-2ZjW; Mon, 08 Jun 2026 14:54:59 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNS-00000000NGR-3GbY;
 Mon, 08 Jun 2026 15:54:58 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=lqNX+TXIvKbp1pjqN/ugyzGv3kWdP4RiL9hc1KXGPRI=; b=wRwgQ5ZGbWhFRFS/ILi+ryrW8z
	RCJJgbqOfBEBjgKSKCcCoDW2seCAXJOVkJsIUjpsZTFf3ZwwW/r/LBoRg3GcTDegI9Om9buMxnXSm
	ol4oIqjGlb4+UjznpTA/wrrDb9iKy8EBM/hG8vEG7tlKR+JP/4yLfX9N3NkyF9T370tZRJwZjGk+d
	HgwTljMZ5/hOowc/g8+thNhKsZ2enCaTJi9CEaWb230kQ4ycqvj9pOEWkLhZEyZr0PfWYT9G+NitC
	bu20HsuDZZ1x7G+uKKJk8yolRz05c/6kBD7WH2e58bwup4UlWMqcQw5MeXhriW5XlTXpV6fs8IKUT
	sbgyowbQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 29/34] KVM: x86: Re-synchronize TSC after KVM_SET_TSC_KHZ
Date: Mon,  8 Jun 2026 15:48:10 +0100
Message-ID: <20260608145455.89187-30-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-d25034/1780930534-E0159CF5-60DDAD60/0/0
X-purgate-type: clean
X-purgate-size: 2045

From: David Woodhouse <dwmw@amazon.co.uk>

KVM_SET_TSC_KHZ changes the vCPU's TSC scaling ratio but does not
update the VM-wide cur_tsc_scaling_ratio used by get_kvmclock().
This causes get_kvmclock() to use a stale (default 1:1) ratio when
computing the KVM clock, leading to drift between the host-side
kvmclock and what the guest observes.

Fix this by calling kvm_synchronize_tsc() after changing the TSC
frequency. This:
 - Updates cur_tsc_scaling_ratio (consumed by pvclock_update_vm_gtod_copy)
 - Ensures the TSC value is continuous across the frequency change
 - Triggers kvm_track_tsc_matching() for proper masterclock handling
 - Allows subsequent vCPUs to synchronize via the 1-second slop hack

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 arch/x86/kvm/x86.c | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 54d4b1b3cfe4..96250264d403 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -206,6 +206,7 @@ module_param(mitigate_smt_rsb, bool, 0444);
 #ifdef CONFIG_X86_64
 static bool kvm_get_time_and_clockread(s64 *kernel_ns, u64 *tsc_timestamp);
 #endif
+static void kvm_synchronize_tsc(struct kvm_vcpu *vcpu, u64 *user_value);
 #define KVM_MAX_NR_USER_RETURN_MSRS 16
 
 struct kvm_user_return_msrs {
@@ -2611,7 +2612,20 @@ static int kvm_set_tsc_khz(struct kvm_vcpu *vcpu, u32 user_tsc_khz)
 			 user_tsc_khz, thresh_lo, thresh_hi);
 		use_scaling = 1;
 	}
-	return set_tsc_khz(vcpu, user_tsc_khz, use_scaling);
+	if (set_tsc_khz(vcpu, user_tsc_khz, use_scaling))
+		return -1;
+
+	/*
+	 * Re-synchronize the TSC after changing frequency. This ensures
+	 * cur_tsc_scaling_ratio is updated (used by get_kvmclock) and
+	 * the TSC value is continuous across the frequency change.
+	 */
+	{
+		u64 tsc = kvm_read_l1_tsc(vcpu, rdtsc());
+
+		kvm_synchronize_tsc(vcpu, &tsc);
+	}
+	return 0;
 }
 
 static u64 compute_guest_tsc(struct kvm_vcpu *vcpu, s64 kernel_ns)
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:48 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331742.1594461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbOG-0000Po-8o; Mon, 08 Jun 2026 14:55:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331742.1594461; Mon, 08 Jun 2026 14: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 1wWbOF-0000Hh-1U; Mon, 08 Jun 2026 14:55:47 +0000
Received: by outflank-mailman (input) for mailman id 1331742;
 Mon, 08 Jun 2026 14:55:37 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wWbO4-0006Kg-6V
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:36 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbO3-002m34-GK; Mon, 08 Jun 2026 16:55:35 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7e5-bab6-0a2a0a5309dd-0a2a450b81e4-6
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:35 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7e7-212f-0a2a450b0019-5a9b3222e524-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:35 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wWbNS-0000000DtxS-1OfW; Mon, 08 Jun 2026 14:54:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNS-00000000NG2-2An5;
 Mon, 08 Jun 2026 15:54:58 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=REjyeU/kyU3vSPUwZePxtCsRdbQCzl4siBooSVcvGrc=; b=R6fYnSgo9AJ70nAd2C+RVjywXv
	3RKDaLpLEDja3NIhxJvnyHzeAwVdCXItlxZ4/5m49olzzOlHhj+GXzkpTws2uRcJ+4Ii3Hbd9sDrT
	+FRDlQgaMSPaY/maYBxkxIijSKBuhwsGpJG5AXDt0lfeMkuF1X7eJJqqV+RosheI9940OivN7K+Ve
	lKyVdYfYPZD0DIbGNPH6Fj1V+zfxWVcO/0xSStYz+p8GQMWNaKLmdZctBeIPzGjbS3oBjL44BQRsX
	JYi5dmj0UBDBMZQI3uwC8+w0YO8jMjQF6izmHG2O9PsCLfhbVI2em44cdWjGiCwsDf22dPXp7V4FA
	hOUB8J2Q==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 24/34] KVM: x86: Avoid gratuitous global clock updates
Date: Mon,  8 Jun 2026 15:48:05 +0100
Message-ID: <20260608145455.89187-25-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-42698a/1780930535-1377AF3B-05DA3D1E/0/0
X-purgate-type: clean
X-purgate-size: 2308

From: David Woodhouse <dwmw@amazon.co.uk>

Eliminate two sources of unnecessary KVM_REQ_GLOBAL_CLOCK_UPDATE:

1. kvm_write_system_time(): The global clock update was a workaround for
   ever-drifting clocks based on the host's CLOCK_MONOTONIC subject to
   NTP skew. Now that the KVM clock uses CLOCK_MONOTONIC_RAW, the clock
   does not drift with NTP corrections and there is no need to
   synchronize all vCPUs on boot or resume. Use KVM_REQ_CLOCK_UPDATE on
   the vCPU itself, and only when the clock is being enabled, not
   disabled.

2. kvm_arch_vcpu_load(): In master clock mode, migration between pCPUs
   does not require any clock update since the master clock reference is
   shared. Only request a local KVM_REQ_CLOCK_UPDATE for the vCPU's
   first-ever load (vcpu->cpu == -1) to generate initial pvclock params.
   In non-master-clock mode, keep the global update to synchronize all
   vCPUs.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 arch/x86/kvm/x86.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 72fb4620a5ba..4fc21d701588 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -2457,13 +2457,13 @@ static void kvm_write_system_time(struct kvm_vcpu *vcpu, gpa_t system_time,
 	}
 
 	vcpu->arch.time = system_time;
-	kvm_make_request(KVM_REQ_GLOBAL_CLOCK_UPDATE, vcpu);
 
 	/* we verify if the enable bit is set... */
-	if (system_time & 1)
+	if (system_time & 1) {
 		kvm_gpc_activate(&vcpu->arch.pv_time, system_time & ~1ULL,
 				 sizeof(struct pvclock_vcpu_time_info));
-	else
+		kvm_make_request(KVM_REQ_CLOCK_UPDATE, vcpu);
+	} else
 		kvm_gpc_deactivate(&vcpu->arch.pv_time);
 
 	return;
@@ -5377,8 +5377,10 @@ void kvm_arch_vcpu_load(struct kvm_vcpu *vcpu, int cpu)
 		 * On a host with synchronized TSC, there is no need to update
 		 * kvmclock on vcpu->cpu migration
 		 */
-		if (!vcpu->kvm->arch.use_master_clock || vcpu->cpu == -1)
+		if (!vcpu->kvm->arch.use_master_clock)
 			kvm_make_request(KVM_REQ_GLOBAL_CLOCK_UPDATE, vcpu);
+		else if (vcpu->cpu == -1)
+			kvm_make_request(KVM_REQ_CLOCK_UPDATE, vcpu);
 		if (vcpu->cpu != cpu)
 			kvm_make_request(KVM_REQ_MIGRATE_TIMER, vcpu);
 		vcpu->cpu = cpu;
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:51 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331745.1594467 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbOI-000108-Je; Mon, 08 Jun 2026 14:55:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331745.1594467; Mon, 08 Jun 2026 14:55: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 1wWbOH-0000tn-Cq; Mon, 08 Jun 2026 14:55:49 +0000
Received: by outflank-mailman (input) for mailman id 1331745;
 Mon, 08 Jun 2026 14:55:37 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wWbO3-0006HD-U7
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbO3-00AKad-6K; Mon, 08 Jun 2026 16:55:35 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7e1-2eae-0a2a0a5409dd-0a2a450cc378-26
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:35 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7e6-62f1-0a2a450c0019-5a9b32228610-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:34 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wWbNR-0000000Dtx7-2v7C; Mon, 08 Jun 2026 14:54:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNR-00000000NEe-1xOY;
 Mon, 08 Jun 2026 15:54:57 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=0atnhSqy/yhBdxYTwYxwUB4G++t3k5fRFvMbSMUIxqE=; b=QQavcMWoXNBjzD1rCz3GOy7WYG
	A/Aa/6NRe4xs8pNb/rcy5Qzc8HeIkasYAKay8dnSVpg2u2oxChl+QRq4tLy0yP9m/yCdHS4SFqmEW
	Oe8b1/W3mTGHty4ixZJrNDCpRmEJNpLZooFQszMGzOv9AAVn0vu49RHAZHyhJAsrsVWNUGx/9PpAw
	gppme1iqYcn/KOkUMJBAJtHe2B5RZnG3ksd6IOplvI59AWB2sOZ9rQAxfjAQ5xGuASDoSaLMG3gyZ
	Qxd47BVQwx6LTHvJW52iJfkEvzpu81k6IOiy6T/463nKGIiZaZXkSHyrLzhr+DIl6tcCQkjJFFCtD
	Zn5XsUSA==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 03/34] UAPI: x86: Move pvclock-abi to UAPI for x86 platforms
Date: Mon,  8 Jun 2026 15:47:44 +0100
Message-ID: <20260608145455.89187-4-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-d25034/1780930534-F487BCF5-0FE8AC16/0/0
X-purgate-type: clean
X-purgate-size: 3519

From: Jack Allister <jalliste@amazon.com>

A subsequent commit will provide a new KVM interface for performing a
fixup/correction of the KVM clock against the reference TSC. The
KVM_[GS]ET_CLOCK_GUEST API requires a pvclock_vcpu_time_info, as such
the caller must know about this definition.

Move the definition to the UAPI folder so that it is exported to
usermode and also change the type definitions to use the standard for
UAPI exports.

Signed-off-by: Jack Allister <jalliste@amazon.com>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 MAINTAINERS                                   |  4 +--
 arch/x86/include/{ => uapi}/asm/pvclock-abi.h | 27 ++++++++++---------
 scripts/xen-hypercalls.sh                     |  2 +-
 3 files changed, 18 insertions(+), 15 deletions(-)
 rename arch/x86/include/{ => uapi}/asm/pvclock-abi.h (82%)

diff --git a/MAINTAINERS b/MAINTAINERS
index 882214b0e7db..dc0f6516beb4 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -14402,7 +14402,7 @@ S:	Supported
 T:	git git://git.kernel.org/pub/scm/virt/kvm/kvm.git
 F:	arch/um/include/asm/kvm_para.h
 F:	arch/x86/include/asm/kvm_para.h
-F:	arch/x86/include/asm/pvclock-abi.h
+F:	arch/x86/include/uapi/asm/pvclock-abi.h
 F:	arch/x86/include/uapi/asm/kvm_para.h
 F:	arch/x86/kernel/kvm.c
 F:	arch/x86/kernel/kvmclock.c
@@ -29081,7 +29081,7 @@ R:	Boris Ostrovsky <boris.ostrovsky@oracle.com>
 L:	xen-devel@lists.xenproject.org (moderated for non-subscribers)
 S:	Supported
 F:	arch/x86/configs/xen.config
-F:	arch/x86/include/asm/pvclock-abi.h
+F:	arch/x86/include/uapi/asm/pvclock-abi.h
 F:	arch/x86/include/asm/xen/
 F:	arch/x86/platform/pvh/
 F:	arch/x86/xen/
diff --git a/arch/x86/include/asm/pvclock-abi.h b/arch/x86/include/uapi/asm/pvclock-abi.h
similarity index 82%
rename from arch/x86/include/asm/pvclock-abi.h
rename to arch/x86/include/uapi/asm/pvclock-abi.h
index b9fece5fc96d..6d70cf640362 100644
--- a/arch/x86/include/asm/pvclock-abi.h
+++ b/arch/x86/include/uapi/asm/pvclock-abi.h
@@ -1,6 +1,9 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
 #ifndef _ASM_X86_PVCLOCK_ABI_H
 #define _ASM_X86_PVCLOCK_ABI_H
+
+#include <linux/types.h>
+
 #ifndef __ASSEMBLER__
 
 /*
@@ -24,20 +27,20 @@
  */
 
 struct pvclock_vcpu_time_info {
-	u32   version;
-	u32   pad0;
-	u64   tsc_timestamp;
-	u64   system_time;
-	u32   tsc_to_system_mul;
-	s8    tsc_shift;
-	u8    flags;
-	u8    pad[2];
+	__u32   version;
+	__u32   pad0;
+	__u64   tsc_timestamp;
+	__u64   system_time;
+	__u32   tsc_to_system_mul;
+	__s8    tsc_shift;
+	__u8    flags;
+	__u8    pad[2];
 } __attribute__((__packed__)); /* 32 bytes */
 
 struct pvclock_wall_clock {
-	u32   version;
-	u32   sec;
-	u32   nsec;
+	__u32   version;
+	__u32   sec;
+	__u32   nsec;
 } __attribute__((__packed__));
 
 #define PVCLOCK_TSC_STABLE_BIT	(1 << 0)
diff --git a/scripts/xen-hypercalls.sh b/scripts/xen-hypercalls.sh
index f18b00843df3..51a722198997 100755
--- a/scripts/xen-hypercalls.sh
+++ b/scripts/xen-hypercalls.sh
@@ -5,7 +5,7 @@ shift
 in="$@"
 
 for i in $in; do
-	eval $CPP $LINUXINCLUDE -dD -imacros "$i" -x c /dev/null
+	eval $CPP -D__KERNEL__ $LINUXINCLUDE -dD -imacros "$i" -x c /dev/null
 done | \
 awk '$1 == "#define" && $2 ~ /__HYPERVISOR_[a-z][a-z_0-9]*/ { v[$3] = $2 }
 	END {   print "/* auto-generated by scripts/xen-hypercall.sh */"
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:54 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331744.1594479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbOL-0001SW-Hg; Mon, 08 Jun 2026 14:55:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331744.1594479; Mon, 08 Jun 2026 14:55: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 1wWbOJ-0001Ji-Pv; Mon, 08 Jun 2026 14:55:51 +0000
Received: by outflank-mailman (input) for mailman id 1331744;
 Mon, 08 Jun 2026 14:55:37 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wWbO3-0006FU-Oe
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbO2-002m34-WA; Mon, 08 Jun 2026 16:55:35 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7d7-bab6-0a2a0a5309dd-0a2a4509a2de-28
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:34 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7e6-2497-0a2a45090019-5a9b3222d7b0-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:34 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wWbNR-0000000Dtx5-2ug3; Mon, 08 Jun 2026 14:54:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNR-00000000NEh-27Vz;
 Mon, 08 Jun 2026 15:54:57 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=2Oxi1JQyjawFeozluuHPF/o1BI3urjdsB6sGEgqw30E=; b=N/Noax8ZTZo3+v8S2RV+79V2c+
	ut8YiQEhddA432Gob+zYKbBnP4DPqiMXim4qlPmp9YrYBq8jW84y5XpBfoz4+2MnIpu8x52wzHFqj
	ji1mRtWgsujcD0UwuK7DCy+gAgDnYjYsFAJT7Rd2Qekp7EOoC8/MHIhOaHDyVSdZm/1+GCZqxef6E
	PmA8z7xCw1h7nhVFcQZ7TZygzKED832R9G+ecPPeWvhzFda8ho6rYCRC3ivmd4d/5XR80etslgilY
	o7DN4wQjCK1jB3OlXaZT4+VEN8tD9HGHYaT/Iq/0SQduBO7eQZG02RBWwMQiX1J5hH+CKZJIk5MhO
	cyjIdsPg==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 04/34] KVM: x86: Add KVM_[GS]ET_CLOCK_GUEST for accurate KVM clock migration
Date: Mon,  8 Jun 2026 15:47:45 +0100
Message-ID: <20260608145455.89187-5-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-bad1c0/1780930534-4236CA53-662336E5/0/0
X-purgate-type: clean
X-purgate-size: 10710

From: Jack Allister <jalliste@amazon.com>

In the common case (where kvm->arch.use_master_clock is true), the KVM
clock is defined as a simple arithmetic function of the guest TSC, based
on a reference point stored in kvm->arch.master_kernel_ns and
kvm->arch.master_cycle_now.

The existing KVM_[GS]ET_CLOCK functionality does not allow for this
relationship to be precisely saved and restored by userspace. All it can
currently do is set the KVM clock at a given UTC reference time, which
is necessarily imprecise.

So on live update, the guest TSC can remain cycle accurate at precisely
the same offset from the host TSC, but there is no way for userspace to
restore the KVM clock accurately.

Even on live migration to a new host, where the accuracy of the guest
time-keeping is fundamentally limited by the accuracy of wallclock
synchronization between the source and destination hosts, the clock jump
experienced by the guest's TSC and its KVM clock should at least be
*consistent*. Even when the guest TSC suffers a discontinuity, its KVM
clock should still remain the *same* arithmetic function of the guest
TSC, and not suffer an *additional* discontinuity.

To allow for accurate migration of the KVM clock, add per-vCPU ioctls
which save and restore the actual PV clock info in
pvclock_vcpu_time_info.

The restoration in KVM_SET_CLOCK_GUEST works by creating a new reference
point in time just as kvm_update_masterclock() does, and calculating the
corresponding guest TSC value. This guest TSC value is then passed
through the user-provided pvclock structure to generate the *intended*
KVM clock value at that point in time, and through the *actual* KVM
clock calculation. Then kvm->arch.kvmclock_offset is adjusted to
eliminate the difference.

Where kvm->arch.use_master_clock is false (because the host TSC is
unreliable, or the guest TSCs are configured strangely), the KVM clock
is *not* defined as a function of the guest TSC so KVM_GET_CLOCK_GUEST
returns an error. In this case, as documented, userspace shall use the
legacy KVM_GET_CLOCK ioctl. The loss of precision is acceptable in this
case since the clocks are imprecise in this mode anyway.

On *restoration*, if kvm->arch.use_master_clock is false, an error is
returned for similar reasons and userspace shall fall back to using
KVM_SET_CLOCK. This does mean that, as documented, userspace needs to
use *both* KVM_GET_CLOCK_GUEST and KVM_GET_CLOCK and send both results
with the migration data (unless the intent is to refuse to resume on a
host with bad TSC).

Co-developed-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Jack Allister <jalliste@amazon.com>
Reviewed-by: Paul Durrant <paul@xen.org>
Cc: Dongli Zhang <dongli.zhang@oracle.com>
---
 Documentation/virt/kvm/api.rst |  37 ++++++++
 arch/x86/kvm/x86.c             | 164 +++++++++++++++++++++++++++++++++
 include/uapi/linux/kvm.h       |   3 +
 3 files changed, 204 insertions(+)

diff --git a/Documentation/virt/kvm/api.rst b/Documentation/virt/kvm/api.rst
index 52bbbb553ce1..2268b4442df6 100644
--- a/Documentation/virt/kvm/api.rst
+++ b/Documentation/virt/kvm/api.rst
@@ -6553,6 +6553,43 @@ KVM_S390_KEYOP_SSKE
   Sets the storage key for the guest address ``guest_addr`` to the key
   specified in ``key``, returning the previous value in ``key``.
 
+4.145 KVM_GET_CLOCK_GUEST
+----------------------------
+
+:Capability: none
+:Architectures: x86_64
+:Type: vcpu ioctl
+:Parameters: struct pvclock_vcpu_time_info (out)
+:Returns: 0 on success, <0 on error
+
+Retrieves the current time information structure used for KVM/PV clocks,
+in precisely the form advertised to the guest vCPU, which gives parameters
+for a direct conversion from a guest TSC value to nanoseconds.
+
+When the KVM clock is not in "master clock" mode, for example because the
+host TSC is unreliable or the guest TSCs are oddly configured, the KVM clock
+is actually defined by the host CLOCK_MONOTONIC_RAW instead of the guest TSC.
+In this case, the KVM_GET_CLOCK_GUEST ioctl returns -EINVAL.
+
+4.146 KVM_SET_CLOCK_GUEST
+----------------------------
+
+:Capability: none
+:Architectures: x86_64
+:Type: vcpu ioctl
+:Parameters: struct pvclock_vcpu_time_info (in)
+:Returns: 0 on success, <0 on error
+
+Sets the KVM clock (for the whole VM) in terms of the vCPU TSC, using the
+pvclock structure as returned by KVM_GET_CLOCK_GUEST. This allows the precise
+arithmetic relationship between guest TSC and KVM clock to be preserved by
+userspace across migration.
+
+When the KVM clock is not in "master clock" mode, and the KVM clock is actually
+defined by the host CLOCK_MONOTONIC_RAW, this ioctl returns -EINVAL. Userspace
+may choose to set the clock using the less precise KVM_SET_CLOCK ioctl, or may
+choose to fail, denying migration to a host whose TSC is misbehaving.
+
 .. _kvm_run:
 
 5. The kvm_run structure
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index d9ef165df6a1..b7e5f6e3dc6c 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -6205,6 +6205,162 @@ static int kvm_get_reg_list(struct kvm_vcpu *vcpu,
 	return 0;
 }
 
+#ifdef CONFIG_X86_64
+static int kvm_vcpu_ioctl_get_clock_guest(struct kvm_vcpu *v, void __user *argp)
+{
+	struct pvclock_vcpu_time_info hv_clock = {};
+	struct kvm_vcpu_arch *vcpu = &v->arch;
+	struct kvm_arch *ka = &v->kvm->arch;
+	unsigned int seq;
+
+	/*
+	 * If KVM_REQ_CLOCK_UPDATE is already pending, or if the pvclock
+	 * has never been generated at all, call kvm_guest_time_update().
+	 */
+	if (kvm_check_request(KVM_REQ_CLOCK_UPDATE, v) || !vcpu->hw_tsc_hz) {
+		int idx = srcu_read_lock(&v->kvm->srcu);
+		int ret = kvm_guest_time_update(v);
+
+		srcu_read_unlock(&v->kvm->srcu, idx);
+		if (ret)
+			return -EINVAL;
+	}
+
+	/*
+	 * Reconstruct the pvclock from the master clock state, matching
+	 * exactly what kvm_guest_time_update() writes to the guest.
+	 */
+	do {
+		seq = read_seqcount_begin(&ka->pvclock_sc);
+
+		if (!ka->use_master_clock)
+			return -EINVAL;
+
+		hv_clock.tsc_timestamp = kvm_read_l1_tsc(v, ka->master_cycle_now);
+		hv_clock.system_time = ka->master_kernel_ns + ka->kvmclock_offset;
+	} while (read_seqcount_retry(&ka->pvclock_sc, seq));
+
+	hv_clock.tsc_shift = vcpu->pvclock_tsc_shift;
+	hv_clock.tsc_to_system_mul = vcpu->pvclock_tsc_mul;
+	hv_clock.flags = PVCLOCK_TSC_STABLE_BIT;
+
+	if (copy_to_user(argp, &hv_clock, sizeof(hv_clock)))
+		return -EFAULT;
+
+	return 0;
+}
+
+/*
+ * Reverse the calculation in the hv_clock definition.
+ *
+ * time_ns = ( (cycles << shift) * mul ) >> 32;
+ * (although shift can be negative, so that's bad C)
+ *
+ * So for a single second,
+ * NSEC_PER_SEC = ( ( FREQ_HZ << shift) * mul ) >> 32
+ * NSEC_PER_SEC << 32 = ( FREQ_HZ << shift ) * mul
+ * ( NSEC_PER_SEC << 32 ) / mul = FREQ_HZ << shift
+ * ( NSEC_PER_SEC << 32 ) / mul ) >> shift = FREQ_HZ
+ */
+static u64 hvclock_to_hz(u32 mul, s8 shift)
+{
+	u64 tm = NSEC_PER_SEC << 32;
+
+	/* Maximise precision. Shift right until the top bit is set */
+	tm <<= 2;
+	shift += 2;
+
+	/* While 'mul' is even, increase the shift *after* the division */
+	while (!(mul & 1)) {
+		shift++;
+		mul >>= 1;
+	}
+
+	tm /= mul;
+
+	if (shift > 0)
+		return tm >> shift;
+	else
+		return tm << -shift;
+}
+
+static int kvm_vcpu_ioctl_set_clock_guest(struct kvm_vcpu *v, void __user *argp)
+{
+	struct pvclock_vcpu_time_info user_hv_clock;
+	struct kvm *kvm = v->kvm;
+	struct kvm_arch *ka = &kvm->arch;
+	u64 curr_tsc_hz, user_tsc_hz;
+	u64 user_clk_ns;
+	u64 guest_tsc;
+	int rc = 0;
+
+	if (copy_from_user(&user_hv_clock, argp, sizeof(user_hv_clock)))
+		return -EFAULT;
+
+	if (user_hv_clock.pad0 || user_hv_clock.pad[0] || user_hv_clock.pad[1])
+		return -EINVAL;
+
+	if (!user_hv_clock.tsc_to_system_mul)
+		return -EINVAL;
+
+	if (user_hv_clock.tsc_shift < -32 || user_hv_clock.tsc_shift > 32)
+		return -EINVAL;
+
+	user_tsc_hz = hvclock_to_hz(user_hv_clock.tsc_to_system_mul,
+				    user_hv_clock.tsc_shift);
+
+	kvm_hv_request_tsc_page_update(kvm);
+
+	/*
+	 * kvm_start_pvclock_update() takes tsc_write_lock and opens
+	 * the pvclock seqcount; kvm_end_pvclock_update() closes both.
+	 * All clock state modifications between them are atomic with
+	 * respect to readers in kvm_guest_time_update().
+	 */
+	kvm_start_pvclock_update(kvm);
+	pvclock_update_vm_gtod_copy(kvm);
+
+	if (!ka->use_master_clock) {
+		rc = -EINVAL;
+		goto out;
+	}
+
+	curr_tsc_hz = (u64)get_cpu_tsc_khz() * 1000;
+	if (unlikely(curr_tsc_hz == 0)) {
+		rc = -EINVAL;
+		goto out;
+	}
+
+	if (kvm_caps.has_tsc_control)
+		curr_tsc_hz = kvm_scale_tsc(curr_tsc_hz,
+					    v->arch.l1_tsc_scaling_ratio);
+
+	/*
+	 * Allow for a discrepancy of 1 kHz either way between the TSC
+	 * frequency used to generate the user's pvclock and the current
+	 * host's measured frequency, since they may not precisely match.
+	 */
+	if (user_tsc_hz < curr_tsc_hz - 1000 ||
+	    user_tsc_hz > curr_tsc_hz + 1000) {
+		rc = -ERANGE;
+		goto out;
+	}
+
+	/*
+	 * Calculate the guest TSC at the new reference point, and the
+	 * corresponding KVM clock value according to user_hv_clock.
+	 * Adjust kvmclock_offset so both definitions agree.
+	 */
+	guest_tsc = kvm_read_l1_tsc(v, ka->master_cycle_now);
+	user_clk_ns = __pvclock_read_cycles(&user_hv_clock, guest_tsc);
+	ka->kvmclock_offset = user_clk_ns - ka->master_kernel_ns;
+
+out:
+	kvm_end_pvclock_update(kvm);
+	return rc;
+}
+#endif
+
 long kvm_arch_vcpu_ioctl(struct file *filp,
 			 unsigned int ioctl, unsigned long arg)
 {
@@ -6605,6 +6761,14 @@ long kvm_arch_vcpu_ioctl(struct file *filp,
 		srcu_read_unlock(&vcpu->kvm->srcu, idx);
 		break;
 	}
+#ifdef CONFIG_X86_64
+	case KVM_SET_CLOCK_GUEST:
+		r = kvm_vcpu_ioctl_set_clock_guest(vcpu, argp);
+		break;
+	case KVM_GET_CLOCK_GUEST:
+		r = kvm_vcpu_ioctl_get_clock_guest(vcpu, argp);
+		break;
+#endif
 #ifdef CONFIG_KVM_HYPERV
 	case KVM_GET_SUPPORTED_HV_CPUID:
 		r = kvm_ioctl_get_supported_hv_cpuid(vcpu, argp);
diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
index 6c8afa2047bf..9b50191b859c 100644
--- a/include/uapi/linux/kvm.h
+++ b/include/uapi/linux/kvm.h
@@ -1669,4 +1669,7 @@ struct kvm_pre_fault_memory {
 	__u64 padding[5];
 };
 
+#define KVM_SET_CLOCK_GUEST	_IOW(KVMIO, 0xd6, struct pvclock_vcpu_time_info)
+#define KVM_GET_CLOCK_GUEST	_IOR(KVMIO, 0xd7, struct pvclock_vcpu_time_info)
+
 #endif /* __LINUX_KVM_H */
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:56 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331743.1594486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbON-00021V-KK; Mon, 08 Jun 2026 14:55:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331743.1594486; Mon, 08 Jun 2026 14:55: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 1wWbOM-0001v0-FN; Mon, 08 Jun 2026 14:55:54 +0000
Received: by outflank-mailman (input) for mailman id 1331743;
 Mon, 08 Jun 2026 14:55:37 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wWbO3-0006Gg-QH
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbO3-000k6X-4k; Mon, 08 Jun 2026 16:55:35 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7d0-5cb7-0a2a0a5109dd-0a2a45018424-36
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:34 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7e6-c1f2-0a2a45010019-5a9b3222d8fc-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:34 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wWbNR-0000000DtxA-32IJ; Mon, 08 Jun 2026 14:54:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNR-00000000NEz-3a70;
 Mon, 08 Jun 2026 15:54:57 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=mK9MivH4Sa09pKns/iaOBplM1ylYPC1nLBsprSjeCoQ=; b=szg0DuJaBDaAO6gJ+6si2oIAis
	T91YLENzCyD9xsWd+xbTgQw7GqijATO+tnbaTBL01eGHLbKCN5Cc3aCoQxj6HIAMG90eZjZs0Ydug
	jPIbOu8aN+jme6AwIGKke4AjYZcyV9ipCdmVuwkICFvP8Ht0pf7uBv0dj7EY00YzdrWDTlNiKh6N7
	pTg/dfcczCehCy18HLpKxo3Dhch1c3qYACouIglNEkfV4ijxAmKYsV6yx/YJ8ZfFPAQYuCyDeRHVv
	gqbeTfHqe9xZAshQmAkH2NTO9GqdT8NLIKMzSAguCJgjcAqyyI+RQVUTleE5TBh2TgG8xYP3fhq19
	TmvcWxLA==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 10/34] KVM: x86: Fold __get_kvmclock() into get_kvmclock()
Date: Mon,  8 Jun 2026 15:47:51 +0100
Message-ID: <20260608145455.89187-11-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-d62444/1780930534-B7F50FF4-55A7C25C/0/0
X-purgate-type: clean
X-purgate-size: 3279

From: David Woodhouse <dwmw@amazon.co.uk>

There is no need for the separate __get_kvmclock() helper; just inline
its body into get_kvmclock() within the seqcount retry loop.

No functional change.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 arch/x86/kvm/x86.c | 63 +++++++++++++++++++++-------------------------
 1 file changed, 28 insertions(+), 35 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 50bd2871b051..fce898811fe7 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -3200,50 +3200,43 @@ static unsigned long get_cpu_tsc_khz(void)
 		return __this_cpu_read(cpu_tsc_khz);
 }
 
-/* Called within read_seqcount_begin/retry for kvm->pvclock_sc.  */
-static void __get_kvmclock(struct kvm *kvm, struct kvm_clock_data *data)
+static void get_kvmclock(struct kvm *kvm, struct kvm_clock_data *data)
 {
 	struct kvm_arch *ka = &kvm->arch;
 	struct pvclock_vcpu_time_info hv_clock;
+	unsigned int seq;
 
-	/* both __this_cpu_read() and rdtsc() should be on the same cpu */
-	get_cpu();
+	do {
+		seq = read_seqcount_begin(&ka->pvclock_sc);
 
-	data->flags = 0;
-	if (ka->use_master_clock &&
-	    (static_cpu_has(X86_FEATURE_CONSTANT_TSC) || __this_cpu_read(cpu_tsc_khz))) {
+		/* both __this_cpu_read() and rdtsc() should be on the same cpu */
+		get_cpu();
+
+		data->flags = 0;
+		if (ka->use_master_clock &&
+		    (static_cpu_has(X86_FEATURE_CONSTANT_TSC) || __this_cpu_read(cpu_tsc_khz))) {
 #ifdef CONFIG_X86_64
-		struct timespec64 ts;
+			struct timespec64 ts;
 
-		if (kvm_get_walltime_and_clockread(&ts, &data->host_tsc)) {
-			data->realtime = ts.tv_nsec + NSEC_PER_SEC * ts.tv_sec;
-			data->flags |= KVM_CLOCK_REALTIME | KVM_CLOCK_HOST_TSC;
-		} else
+			if (kvm_get_walltime_and_clockread(&ts, &data->host_tsc)) {
+				data->realtime = ts.tv_nsec + NSEC_PER_SEC * ts.tv_sec;
+				data->flags |= KVM_CLOCK_REALTIME | KVM_CLOCK_HOST_TSC;
+			} else
 #endif
-		data->host_tsc = rdtsc();
-
-		data->flags |= KVM_CLOCK_TSC_STABLE;
-		hv_clock.tsc_timestamp = ka->master_cycle_now;
-		hv_clock.system_time = ka->master_kernel_ns + ka->kvmclock_offset;
-		kvm_get_time_scale(NSEC_PER_SEC, get_cpu_tsc_khz() * 1000LL,
-				   &hv_clock.tsc_shift,
-				   &hv_clock.tsc_to_system_mul);
-		data->clock = __pvclock_read_cycles(&hv_clock, data->host_tsc);
-	} else {
-		data->clock = get_kvmclock_base_ns() + ka->kvmclock_offset;
-	}
-
-	put_cpu();
-}
-
-static void get_kvmclock(struct kvm *kvm, struct kvm_clock_data *data)
-{
-	struct kvm_arch *ka = &kvm->arch;
-	unsigned seq;
+			data->host_tsc = rdtsc();
+
+			data->flags |= KVM_CLOCK_TSC_STABLE;
+			hv_clock.tsc_timestamp = ka->master_cycle_now;
+			hv_clock.system_time = ka->master_kernel_ns + ka->kvmclock_offset;
+			kvm_get_time_scale(NSEC_PER_SEC, get_cpu_tsc_khz() * 1000LL,
+					   &hv_clock.tsc_shift,
+					   &hv_clock.tsc_to_system_mul);
+			data->clock = __pvclock_read_cycles(&hv_clock, data->host_tsc);
+		} else {
+			data->clock = get_kvmclock_base_ns() + ka->kvmclock_offset;
+		}
 
-	do {
-		seq = read_seqcount_begin(&ka->pvclock_sc);
-		__get_kvmclock(kvm, data);
+		put_cpu();
 	} while (read_seqcount_retry(&ka->pvclock_sc, seq));
 }
 
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:55:58 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:55:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331746.1594496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbOQ-0002ZU-1z; Mon, 08 Jun 2026 14:55:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331746.1594496; Mon, 08 Jun 2026 14: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 1wWbOP-0002Wa-BN; Mon, 08 Jun 2026 14:55:57 +0000
Received: by outflank-mailman (input) for mailman id 1331746;
 Mon, 08 Jun 2026 14:55:37 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wWbO4-0006Ko-6w
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:36 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbO3-000k6X-Gb; Mon, 08 Jun 2026 16:55:35 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7e5-5cb7-0a2a0a5109dd-0a2a4507c37c-2
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:35 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+89cebe4ba06156b53a55+8324+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a26d7e7-229c-0a2a45070019-5a9b3222d068-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:35 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wWbNS-0000000DtxQ-0eWu; Mon, 08 Jun 2026 14:54:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNS-00000000NFm-1WIb;
 Mon, 08 Jun 2026 15:54:58 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=W6KRWl5EKJVhKKJ+V1j8dnQD5A6yc6eAk2IU9lJn4Ac=; b=t9va9E+4WmvNE0SA7fFgnaHxAD
	7AhhRvH+95yZbHhxU70s20pgqCglU/2MRBf1gWeBjW9qHK7AGbJzeCPBsEqwAGYcYGBfsGKyUr0K8
	I+Kucvi+HCbxb6DqCmYG9QGa1BzBi/4nL3594Qqo4Fe9p0Bmocw0V0aKBMjgDXLqyVEvPUG5alwe3
	Gwm1fDNDHbc9FsARs4mHF2I3Hq5XuSDM8w1ZLNSPU2uby115X+7zeGiFO7d1bAmfZIfNETMCOZs3e
	wGUEret33AxsKpui8L7/TSjGwrWVDEn5pApD3sHs6Wl2fYTNj0aa5VWYwneoqHr3ah5Gg13o/A9mJ
	awCwVtvA==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 20/34] KVM: x86: Replace nr_vcpus_matched_tsc count with all_vcpus_matched_tsc bool
Date: Mon,  8 Jun 2026 15:48:01 +0100
Message-ID: <20260608145455.89187-21-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-ef75cf/1780930535-28C7DC48-A83A098C/0/0
X-purgate-type: clean
X-purgate-size: 2850

From: David Woodhouse <dwmw@amazon.co.uk>

Using a count and comparing with kvm->online_vcpus was always racy
because a new vCPU could be created while kvm_track_tsc_matching() was
running and comparing with kvm->online_vcpus. That variable is only
atomic with respect to itself; kvm_arch_vcpu_create() runs before
kvm->online_vcpus is incremented for the new vCPU.

Replace the count with a boolean that is set in kvm_track_tsc_matching()
after comparing the count, and cleared when a new TSC generation starts.
The boolean is consumed by pvclock_update_vm_gtod_copy() under the
tsc_write_lock, which serializes against __kvm_synchronize_tsc().

Keep the count for now as it's still used in the trace event.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 arch/x86/include/asm/kvm_host.h |  1 +
 arch/x86/kvm/x86.c              | 10 ++++++----
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 59298a8f78eb..eb81f90284ba 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -1492,6 +1492,7 @@ struct kvm_arch {
 	u64 cur_tsc_write;
 	u64 cur_tsc_offset;
 	u64 cur_tsc_generation;
+	bool all_vcpus_matched_tsc;
 	int nr_vcpus_matched_tsc;
 
 	u32 default_tsc_khz;
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index bbd642e0dc54..ac66f8e7116f 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -2651,8 +2651,10 @@ static void kvm_track_tsc_matching(struct kvm_vcpu *vcpu, bool new_generation)
 	 * and all vCPUs must have matching TSCs.  Note, the count for matching
 	 * vCPUs doesn't include the reference vCPU, hence "+1".
 	 */
-	bool use_master_clock = (ka->nr_vcpus_matched_tsc + 1 ==
-				 atomic_read(&vcpu->kvm->online_vcpus)) &&
+	ka->all_vcpus_matched_tsc = (ka->nr_vcpus_matched_tsc + 1 ==
+				     atomic_read(&vcpu->kvm->online_vcpus));
+
+	bool use_master_clock = ka->all_vcpus_matched_tsc &&
 				gtod_is_based_on_tsc(gtod->clock.vclock_mode);
 
 	/*
@@ -2837,6 +2839,7 @@ static void __kvm_synchronize_tsc(struct kvm_vcpu *vcpu, u64 offset, u64 tsc,
 		kvm->arch.cur_tsc_write = tsc;
 		kvm->arch.cur_tsc_offset = offset;
 		kvm->arch.nr_vcpus_matched_tsc = 0;
+		kvm->arch.all_vcpus_matched_tsc = false;
 	} else if (vcpu->arch.this_tsc_generation != kvm->arch.cur_tsc_generation) {
 		kvm->arch.nr_vcpus_matched_tsc++;
 	}
@@ -3177,8 +3180,7 @@ static void pvclock_update_vm_gtod_copy(struct kvm *kvm)
 	bool host_tsc_clocksource, vcpus_matched;
 
 	lockdep_assert_held(&kvm->arch.tsc_write_lock);
-	vcpus_matched = (ka->nr_vcpus_matched_tsc + 1 ==
-			atomic_read(&kvm->online_vcpus));
+	vcpus_matched = ka->all_vcpus_matched_tsc;
 
 	/*
 	 * If the host uses TSC clock, then passthrough TSC as stable
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:56:00 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:56:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331754.1594505 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbOR-0002xp-SU; Mon, 08 Jun 2026 14:55:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331754.1594505; Mon, 08 Jun 2026 14:55: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 1wWbOQ-0002s0-Qd; Mon, 08 Jun 2026 14:55:58 +0000
Received: by outflank-mailman (input) for mailman id 1331754;
 Mon, 08 Jun 2026 14:55:41 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 1wWbO8-0007MV-Qc
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbO8-002m34-6G; Mon, 08 Jun 2026 16:55:40 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7e5-bab6-0a2a0a5309dd-0a2a450b81e4-18
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:40 +0200
Received: from [90.155.92.199] (helo=desiato.infradead.org)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7eb-212f-0a2a450b0019-5a9b5cc7d708-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:40 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.99.2 #2 (Red Hat Linux))
 id 1wWbNV-00000001AgR-3WQp; Mon, 08 Jun 2026 14:55:02 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNT-00000000NGi-06LB;
 Mon, 08 Jun 2026 15:54:59 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=desiato.20200630 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=ssc2OYJnjVRJZfXuehVvSyJIF5UAgdCRis7RcurFUak=; b=VFXvohgLy6g/BbZF+sYaQENPUm
	yEPrtvWhoUEP7ysZ1jL03TlZvP6/mte7iIouk1LvPyagfBknLxDiPAtS0pMgyLk73UBWYMZsBhBJk
	QSxMDhNuZUb74U7gfaFlkjyOPkmD2kDZCIqJ0BGr/KqQ3cXnaY23jHOrMeNLQwiwvDnQlxEAGVPC1
	XfEeXu2OiCeBVXeGu3N7Ay+yzO3K1yXv0OlyXvOaSVBDHHfbEDttdh9ymYTwSs2+6HWSijid365+Q
	peOdhFh+s8x1IvBj/iAOV4v/3paFNbtKp+GZDFVrHvfSKdYU0WaIDXKGQiD1buYYfynh8dUtGADr8
	iUbu1u3w==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 32/34] KVM: x86: Compute kvmclock base without pvclock_gtod_data
Date: Mon,  8 Jun 2026 15:48:13 +0100
Message-ID: <20260608145455.89187-33-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-42698a/1780930540-1B77AF3B-92CC29AE/0/0
X-purgate-type: clean
X-purgate-size: 1092

From: David Woodhouse <dwmw@amazon.co.uk>

get_kvmclock_base_ns() needs CLOCK_MONOTONIC_RAW + offs_boot. Compute
this directly rather than reading offs_boot from the pvclock_gtod_data
private copy. offs_boot only changes at suspend/resume so does not
need to be atomically paired with the raw clock read.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Assisted-by: Kiro:claude-opus-4.6-1m
---
 arch/x86/kvm/x86.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 2713aebb96ae..c18947c5b63f 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -2402,7 +2402,7 @@ static void update_pvclock_gtod(struct timekeeper *tk)
 static s64 get_kvmclock_base_ns(void)
 {
 	/* Count up from boot time, but with the frequency of the raw clock.  */
-	return ktime_to_ns(ktime_add(ktime_get_raw(), pvclock_gtod_data.offs_boot));
+	return ktime_to_ns(ktime_mono_to_any(ktime_get_raw(), TK_OFFS_BOOT));
 }
 
 static void kvm_write_wall_clock(struct kvm *kvm, gpa_t wall_clock, int sec_hi_ofs)
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:56:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:56:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331755.1594514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbOU-0003KP-7U; Mon, 08 Jun 2026 14:56:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331755.1594514; Mon, 08 Jun 2026 14: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 1wWbOS-0003Eb-IX; Mon, 08 Jun 2026 14:56:00 +0000
Received: by outflank-mailman (input) for mailman id 1331755;
 Mon, 08 Jun 2026 14:55:41 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 1wWbO8-0007GG-F8
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbO7-002m34-PG; Mon, 08 Jun 2026 16:55:39 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7e2-bab6-0a2a0a5309dd-0a2a4508ce74-16
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:39 +0200
Received: from [90.155.92.199] (helo=desiato.infradead.org)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7eb-63b5-0a2a45080019-5a9b5cc7d700-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:39 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.99.2 #2 (Red Hat Linux))
 id 1wWbNU-00000001Ag3-2Mbn; Mon, 08 Jun 2026 14:55:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNS-00000000NFe-13O0;
 Mon, 08 Jun 2026 15:54:58 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=desiato.20200630 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:
	Cc:Content-Type:Content-ID:Content-Description;
	bh=/71kIHPPPlp90x0zTmAXvyqLn1mltlKAEfLjrxV8XdM=; b=A6BQQsRa64I6mTEqUV89khFF7n
	tGY0CGJIbQdDxEhp6s01y+W2JVFv3edCFqDd6pQrU6pqn2KfQoYouBk3g82mPQY/yzGoJ5e3rtRFb
	94N4kWbKMp3agWFeAdr4IpEqaefogXhrFSJUbguDSd4CQMBtCa15QLwJr1rpHTHTWzylwy+114xpZ
	RyRDV/1gp9kWCuXu2gp0JhsyyAvcwemutFv1iI/A2/ip8x+LLB2WTxZTZs1UZuyqeb7coE7xrECjO
	mzUlkWj+bMJHXU4lXnKI/OE6OHrT3MKSVEylX05mloZTH7x5NKf71NrA+tISRvrfqi2blHTHzkZNb
	7aEVC/1A==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 18/34] KVM: x86: Improve synchronization in kvm_synchronize_tsc()
Date: Mon,  8 Jun 2026 15:47:59 +0100
Message-ID: <20260608145455.89187-19-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-c1860d/1780930539-BD56FDB1-AA61B38E/0/0
X-purgate-type: clean
X-purgate-size: 3603

From: David Woodhouse <dwmw@amazon.co.uk>

When synchronizing to an existing TSC (either by explicitly writing
zero, or the legacy hack where the TSC is written within one second's
worth of the previously written TSC), the last_tsc_write and
last_tsc_nsec values were being misrecorded by __kvm_synchronize_tsc().
The *unsynchronized* value of the TSC (perhaps even zero) was being
recorded, along with the current time at which kvm_synchronize_tsc()
was called. This could cause *subsequent* writes to fail to synchronize
correctly.

Fix that by resetting {data, ns} to the previous values before passing
them to __kvm_synchronize_tsc() when synchronization is detected.
Except in the case where the TSC is unstable and *has* to be synthesised
from the host clock, in which case attempt to create a nsec/tsc pair
which is on the correct line.

Furthermore, there were *three* different TSC reads used for calculating
the "current" time, all slightly different from each other. Fix that by
using kvm_get_time_and_clockread() where possible and using the same
host_tsc value in all cases.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 arch/x86/kvm/x86.c | 33 +++++++++++++++++++++++++++++----
 1 file changed, 29 insertions(+), 4 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index bce4c7a6a6fe..c8c0633263fb 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -203,6 +203,9 @@ module_param(mitigate_smt_rsb, bool, 0444);
  * usermode, e.g. SYSCALL MSRs and TSC_AUX, can be deferred until the CPU
  * returns to userspace, i.e. the kernel can run with the guest's value.
  */
+#ifdef CONFIG_X86_64
+static bool kvm_get_time_and_clockread(s64 *kernel_ns, u64 *tsc_timestamp);
+#endif
 #define KVM_MAX_NR_USER_RETURN_MSRS 16
 
 struct kvm_user_return_msrs {
@@ -2854,14 +2857,23 @@ static void kvm_synchronize_tsc(struct kvm_vcpu *vcpu, u64 *user_value)
 {
 	u64 data = user_value ? *user_value : 0;
 	struct kvm *kvm = vcpu->kvm;
-	u64 offset, ns, elapsed;
+	u64 offset, host_tsc, elapsed;
+	s64 ns;
 	unsigned long flags;
 	bool matched = false;
 	bool synchronizing = false;
 
 	raw_spin_lock_irqsave(&kvm->arch.tsc_write_lock, flags);
-	offset = kvm_compute_l1_tsc_offset(vcpu, rdtsc(), data);
-	ns = get_kvmclock_base_ns();
+
+#ifdef CONFIG_X86_64
+	if (!kvm_get_time_and_clockread(&ns, &host_tsc))
+#endif
+	{
+		host_tsc = rdtsc();
+		ns = get_kvmclock_base_ns();
+	}
+
+	offset = kvm_compute_l1_tsc_offset(vcpu, host_tsc, data);
 	elapsed = ns - kvm->arch.last_tsc_nsec;
 
 	if (vcpu->arch.virtual_tsc_khz) {
@@ -2904,12 +2916,25 @@ static void kvm_synchronize_tsc(struct kvm_vcpu *vcpu, u64 *user_value)
          */
 	if (synchronizing &&
 	    vcpu->arch.virtual_tsc_khz == kvm->arch.last_tsc_khz) {
+		/*
+		 * If synchronizing, the "last written" TSC value/time
+		 * recorded by __kvm_synchronize_tsc() should not change
+		 * (i.e. should be precisely the same as the existing
+		 * generation).
+		 */
+		data = kvm->arch.last_tsc_write;
+
 		if (!kvm_check_tsc_unstable()) {
 			offset = kvm->arch.cur_tsc_offset;
+			ns = kvm->arch.cur_tsc_nsec;
 		} else {
+			/*
+			 * ...unless the TSC is unstable and has to be
+			 * synthesised from the host clock in nanoseconds.
+			 */
 			u64 delta = nsec_to_cycles(vcpu, elapsed);
 			data += delta;
-			offset = kvm_compute_l1_tsc_offset(vcpu, rdtsc(), data);
+			offset = kvm_compute_l1_tsc_offset(vcpu, host_tsc, data);
 		}
 		matched = true;
 	}
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:56:03 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:56:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331757.1594520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbOV-0003fU-77; Mon, 08 Jun 2026 14:56:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331757.1594520; Mon, 08 Jun 2026 14: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 1wWbOU-0003Za-CD; Mon, 08 Jun 2026 14:56:02 +0000
Received: by outflank-mailman (input) for mailman id 1331757;
 Mon, 08 Jun 2026 14:55:42 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 1wWbO8-0007MI-QZ
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbO8-008Sst-60; Mon, 08 Jun 2026 16:55:40 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7e3-e002-0a2a0a5209dd-0a2a4505d032-26
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:40 +0200
Received: from [90.155.92.199] (helo=desiato.infradead.org)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7eb-aaa8-0a2a45050019-5a9b5cc7e5f2-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:40 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.99.2 #2 (Red Hat Linux))
 id 1wWbNU-00000001Afw-2M3l; Mon, 08 Jun 2026 14:55:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNR-00000000NEV-1CLO;
 Mon, 08 Jun 2026 15:54:57 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=desiato.20200630 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	Content-Type:MIME-Version:Message-ID:Date:Subject:To:From:Reply-To:Cc:
	Content-ID:Content-Description:In-Reply-To:References;
	bh=TgKl1KOO3MJY6Y2LA+lrNOwCy2WWSJSUW1q+Go58VwI=; b=P9MXUoXj7e3DhrM2y3IHOHq84j
	Dep6NROhhD5T6eCTvYbJKAS+eTglb9s+jKSn6uVmst9s5JTyCVQV9f14aN3sUIGo79+gzb2WHc7YU
	E/8Zq1W/ZqewrUv9ui/cszWJWLCs6e2QqNUl7nvYGE9dtX/H7iRVy930wxbzjbHuzIfv0YVWsdSey
	iZDAnFMYmwzQ3frOMg9RCyIqvH8dapfKqWvZL6LU/mPacHRped/qRnvVQbUDpKDMTuzG2/7idCnTT
	wdfpfALh8+kMdn0kKQZPa5Ce4FWQMNt14NCd8ogagcqSIYCifP5t8FEZENqDYEFTlW4j9MeiChGsp
	mPromYJw==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 00/34] Cleaning up the KVM clock mess
Date: Mon,  8 Jun 2026 15:47:41 +0100
Message-ID: <20260608145455.89187-1-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-c201ff/1780930540-D3F66443-5E7C925D/0/0
X-purgate-type: clean
X-purgate-size: 7281

This is v5 of the series to clean up the KVM clock, rebased onto
tip/timers/ptp (which now includes Thomas's ktime snapshot series and
the read_snapshot patches for hyperv, kvmclock, and vmclock).

The KVM clock has historically suffered from three problems:

 1. Imprecision: get_kvmclock_ns() computed the clock from the *host*
    TSC without applying guest TSC scaling, causing systemic drift from
    the values the guest computes from its own TSC.

 2. Unnecessary discontinuities: gratuitous KVM_REQ_MASTERCLOCK_UPDATE
    requests caused the master clock reference point to be re-snapshotted,
    yanking the guest's clock due to arithmetic precision differences.

 3. No precise migration API: the existing KVM_[GS]ET_CLOCK only allows
    setting the clock at a given UTC reference time, which is necessarily
    imprecise. There was no way to preserve the exact arithmetic
    relationship between guest TSC and KVM clock across live migration.

This series addresses all three, and adds new APIs for precise clock 
migration and TSC frequency reporting. As an added bonus, it now rips 
out the whole pvclock_gtod_data hack which was shadowing the kernel's 
timekeeping, and uses ktime snapshots as $DEITY (well, Thomas) intended.

Changes since v4:
 - Rebased onto tip/timers/ptp (includes ktime snapshot infrastructure)
 - Dropped "WARN if kvm_get_walltime_and_clockread() fails" â€” the WARN
   was spurious during clocksource transitions
 - Dropped guest-side "Obtain TSC frequency from CPUID" patches (adopted
   by Sean for a separate series)
 - Dropped KVM_VCPU_TSC_EFFECTIVE_FREQ
 - Fixed false re-enabling of master clock when a single vCPU syncs
   multiple times at a mismatched frequency: introduced per-vCPU
   cur_tsc_freq_generation counter so each vCPU is counted exactly once
 - Unified nr_vcpus_matched_tsc and nr_vcpus_matched_freq to use the
   same counting convention (1-based, >= online_vcpus threshold)
 - "Avoid gratuitous global clock updates": kept global update in
   non-master-clock mode on vCPU load (CLOCK_MONOTONIC_RAW means no NTP
   drift but preserving the existing safety); only optimize master clock
 - "Xen runstate negative time": refined to update state but not account
   time on backwards clock, always update last_steal and guest shared page
 - Added "Activate master clock immediately on vCPU creation" to avoid
   unnecessary non-master-clock window during VM setup
 - New final patches: use ktime_get_snapshot_id() for master clock
   reference, then remove pvclock_gtod_data entirely (replaced by direct
   ktime_get_raw() + offs_boot computation)
 - Added masterclock_offset_test selftest (verifies kvmclock consistency
   across vCPUs with different TSC offsets)
 - Added xen_cpuid_timing_test selftest
 - Added pvclock_migration_test selftest
 - Addressed AI reviewer (Sashiko) feedback throughout:
   - get_kvmclock(): goto fallback on clock read failure instead of
     using uninitialized data; single #ifdef CONFIG_X86_64 block
   - kvm_synchronize_tsc(): changed ns to s64 to match function
     signature; moved time reads inside tsc_write_lock
   - Kill last_tsc fields: use kvm_scale_tsc() subtraction for
     backwards TSC instead of zeroing cur_tsc_write
   - KVM_[GS]ET_CLOCK_GUEST: validate padding fields, bounds-check
     tsc_shift
   - pvclock selftest: seqcount loop for torn-read safety, per-vCPU
     pvclock addresses, graceful skip when caps unavailable
   - KVM_VCPU_TSC_SCALE: return -ENXIO when !has_tsc_control
   - UAPI pvclock-abi: added -D__KERNEL__ to xen-hypercalls.sh
   - VMX: also clear SECONDARY_EXEC_TSC_SCALING from vmcs_config

David Woodhouse (31):
  KVM: x86/xen: Do not corrupt KVM clock in kvm_xen_shared_info_init()
  KVM: x86: Improve accuracy of KVM clock when TSC scaling is in force
  KVM: x86: Explicitly disable TSC scaling without CONSTANT_TSC
  KVM: x86: Activate master clock immediately on vCPU creation
  KVM: x86: Add KVM_VCPU_TSC_SCALE and fix the documentation on TSC migration
  KVM: x86: Avoid NTP frequency skew for KVM clock on 32-bit host
  KVM: x86: Fold __get_kvmclock() into get_kvmclock()
  KVM: x86: Restructure get_kvmclock()
  KVM: x86: Fix KVM clock precision in get_kvmclock() with TSC scaling
  KVM: x86: Use get_kvmclock() in kvm_get_wall_clock_epoch()
  KVM: x86: Fix compute_guest_tsc() to handle negative time deltas
  KVM: x86: Restructure kvm_guest_time_update() for TSC upscaling
  KVM: x86: Simplify and comment kvm_get_time_scale()
  KVM: x86: Remove implicit rdtsc() from kvm_compute_l1_tsc_offset()
  KVM: x86: Improve synchronization in kvm_synchronize_tsc()
  KVM: x86: Kill last_tsc_{nsec,write,offset} fields
  KVM: x86: Replace nr_vcpus_matched_tsc count with all_vcpus_matched_tsc bool
  KVM: x86: Allow KVM master clock mode when TSCs are offset from each other
  KVM: x86: Factor out kvm_use_master_clock()
  KVM: x86: Avoid gratuitous global clock updates
  KVM: x86/xen: Prevent runstate times from becoming negative
  KVM: x86: Avoid redundant masterclock updates from multiple vCPUs
  KVM: x86: Remove runtime Xen TSC frequency CPUID update
  KVM: x86: Re-synchronize TSC after KVM_SET_TSC_KHZ
  KVM: x86: Use ktime_get_snapshot_id() for master clock
  KVM: x86: Compute kvmclock base without pvclock_gtod_data
  KVM: x86: Replace pvclock_gtod_data vclock_mode with boolean
  KVM: x86: Remove pvclock_gtod_data and private timekeeping code
  KVM: selftests: Add master clock offset test
  KVM: selftests: Add Xen/generic CPUID timing leaf test
  KVM: selftests: Add Xen runstate migration test

Jack Allister (3):
  UAPI: x86: Move pvclock-abi to UAPI for x86 platforms
  KVM: x86: Add KVM_[GS]ET_CLOCK_GUEST for accurate KVM clock migration
  KVM: selftests: Add KVM/PV clock selftest to prove timer correction

 Documentation/virt/kvm/api.rst                     |   37 +
 Documentation/virt/kvm/devices/vcpu.rst            |  119 ++-
 MAINTAINERS                                        |    4 +-
 arch/x86/include/asm/kvm_host.h                    |   16 +-
 arch/x86/include/uapi/asm/kvm.h                    |    6 +
 arch/x86/include/{ => uapi}/asm/pvclock-abi.h      |   27 +-
 arch/x86/kvm/cpuid.c                               |   16 -
 arch/x86/kvm/svm/svm.c                             |    3 +-
 arch/x86/kvm/vmx/vmx.c                             |    4 +-
 arch/x86/kvm/x86.c                                 | 1039 ++++++++++++--------
 arch/x86/kvm/xen.c                                 |   30 +-
 arch/x86/kvm/xen.h                                 |   13 -
 include/uapi/linux/kvm.h                           |    3 +
 scripts/xen-hypercalls.sh                          |    2 +-
 tools/testing/selftests/kvm/Makefile.kvm           |    4 +
 .../selftests/kvm/x86/masterclock_offset_test.c    |  180 ++++
 .../selftests/kvm/x86/pvclock_migration_test.c     |  382 +++++++
 tools/testing/selftests/kvm/x86/pvclock_test.c     |  441 +++++++++
 .../selftests/kvm/x86/xen_cpuid_timing_test.c      |  230 +++++
 .../testing/selftests/kvm/x86/xen_migration_test.c |  194 ++++
 20 files changed, 2263 insertions(+), 487 deletions(-)

base-commit: bc484a5096732cd858771cccd3164ec985bdc03d



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:56:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:56:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331758.1594529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbOY-000453-1y; Mon, 08 Jun 2026 14:56:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331758.1594529; Mon, 08 Jun 2026 14: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 1wWbOV-0003vB-T4; Mon, 08 Jun 2026 14:56:03 +0000
Received: by outflank-mailman (input) for mailman id 1331758;
 Mon, 08 Jun 2026 14:55:42 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 1wWbO8-0007M8-QR
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:55:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbO8-002m34-5B; Mon, 08 Jun 2026 16:55:40 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7e2-bab6-0a2a0a5309dd-0a2a4508ce74-18
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:40 +0200
Received: from [90.155.92.199] (helo=desiato.infradead.org)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7eb-63b5-0a2a45080019-5a9b5cc7e90e-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:40 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.99.2 #2 (Red Hat Linux))
 id 1wWbNU-00000001Ag1-2Lkb; Mon, 08 Jun 2026 14:55:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNS-00000000NFW-0Spr;
 Mon, 08 Jun 2026 15:54:58 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=desiato.20200630 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:
	From:Reply-To:Cc:Content-ID:Content-Description;
	bh=2HLSLUjeLQsW5WrqM21C7HZ/xT6pine5iDmPQ6igVxE=; b=Ni9Ilvbwo7oIrKnHzDrIZAX3F2
	RVmRXimMBpSXsB/PuaSbg7zYWlWsY9UbP0wfNf5MjypDK+kBFRkXsj0vr9rZtr0xBq0N4u3z84LWb
	RkcALGmd1E1iTn/pYRHEwvY0rIcfjeZ4m/iW/CXynbM0G8e2Xw/147pFKI0z7DMnFZi2ZtaxDjJwQ
	2TTQpAps1eMGFLa+LHQAZI2lhKXsKQNZoAMimSnbZozldFTFmjECb4y0D8gAkpJV1zRbGQDWWgoDM
	hvapc+bDfQtP6TDe0mL9HqbqDIvgaulmjVRM8bTdK+Aw70gqrKAi9unsKv9TS7s5FTmPCuB3m/JzY
	8exJbhGw==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 16/34] KVM: x86: Simplify and comment kvm_get_time_scale()
Date: Mon,  8 Jun 2026 15:47:57 +0100
Message-ID: <20260608145455.89187-17-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-c1860d/1780930540-B6169DB1-04C58ABA/0/0
X-purgate-type: clean
X-purgate-size: 3197

From: David Woodhouse <dwmw@amazon.co.uk>

The kvm_get_time_scale() function was entirely opaque. Add comments
explaining what it does: compute a fixed-point multiplier and shift for
converting TSC ticks to nanoseconds via pvclock_scale_delta().

Rename the local variables from the cryptic tps64/tps32/scaled64 to
base_hz_u64/base32/scaled_hz_u64 to make the code self-documenting.
The "tps32" name stood for "Ticks Per Second" but was misleading since
it held the shifted base frequency, not a tick count.

No functional change.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 arch/x86/kvm/x86.c | 55 +++++++++++++++++++++++++++++++++-------------
 1 file changed, 40 insertions(+), 15 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 92e32d720523..a6c31a0d9955 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -2472,32 +2472,57 @@ static uint32_t div_frac(uint32_t dividend, uint32_t divisor)
 	return dividend;
 }
 
-static void kvm_get_time_scale(uint64_t scaled_hz, uint64_t base_hz,
+static void kvm_get_time_scale(u64 scaled_hz, u64 base_hz,
 			       s8 *pshift, u32 *pmultiplier)
 {
-	uint64_t scaled64;
-	int32_t  shift = 0;
-	uint64_t tps64;
-	uint32_t tps32;
+	u64 scaled_hz_u64 = scaled_hz;
+	s32 shift = 0;
+	u64 base_hz_u64;
+	u32 base32;
 
-	tps64 = base_hz;
-	scaled64 = scaled_hz;
-	while (tps64 > scaled64*2 || tps64 & 0xffffffff00000000ULL) {
-		tps64 >>= 1;
+	/*
+	 * This function calculates a fixed-point multiplier and shift such
+	 * that:
+	 *   time_ns = (tsc_cycles << shift) * multiplier >> 32
+	 *
+	 * Where tsc_cycles tick at base_hz, and time_ns should count at
+	 * scaled_hz (typically NSEC_PER_SEC for a TSCâ†’nanoseconds conversion).
+	 *
+	 * The multiplier is: (scaled_hz << 32) / base_hz, adjusted by shift
+	 * to keep everything in range.
+	 */
+
+	base_hz_u64 = base_hz;
+
+	/*
+	 * Start by shifting base_hz right until it fits in 32 bits, and
+	 * is lower than double the target rate. This introduces a negative
+	 * shift value which would result in pvclock_scale_delta() shifting
+	 * the actual tick count right before performing the multiplication.
+	 */
+	while (base_hz_u64 > scaled_hz_u64 * 2 || base_hz_u64 >> 32) {
+		base_hz_u64 >>= 1;
 		shift--;
 	}
 
-	tps32 = (uint32_t)tps64;
-	while (tps32 <= scaled64 || scaled64 & 0xffffffff00000000ULL) {
-		if (scaled64 & 0xffffffff00000000ULL || tps32 & 0x80000000)
-			scaled64 >>= 1;
+	/* Now the shifted base_hz fits in 32 bits. */
+	base32 = (u32)base_hz_u64;
+
+	/*
+	 * Next, shift scaled_hz right until it fits in 32 bits, and ensure
+	 * that the shifted base_hz is strictly larger (so that the result of the
+	 * final division also fits in 32 bits).
+	 */
+	while (base32 <= scaled_hz_u64 || scaled_hz_u64 >> 32) {
+		if (scaled_hz_u64 >> 32 || base32 & BIT(31))
+			scaled_hz_u64 >>= 1;
 		else
-			tps32 <<= 1;
+			base32 <<= 1;
 		shift++;
 	}
 
 	*pshift = shift;
-	*pmultiplier = div_frac(scaled64, tps32);
+	*pmultiplier = div_frac(scaled_hz_u64, base32);
 }
 
 #ifdef CONFIG_X86_64
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:56:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:56:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331875.1594561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbP9-0000RA-AS; Mon, 08 Jun 2026 14:56:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331875.1594561; Mon, 08 Jun 2026 14: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 1wWbP9-0000R1-7g; Mon, 08 Jun 2026 14:56:43 +0000
Received: by outflank-mailman (input) for mailman id 1331875;
 Mon, 08 Jun 2026 14:56:41 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 1wWbP7-0000OO-HB
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:56:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbP6-00AKqh-U0; Mon, 08 Jun 2026 16:56:40 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d828-2eae-0a2a0a5409dd-0a2a4507c5d6-0
 for <multiple-recipients>; Mon, 08 Jun 2026 16:56:40 +0200
Received: from [90.155.92.199] (helo=desiato.infradead.org)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+614c7b1bd25833f05746+8324+infradead.org+dwmw2@desiato.srs.infradead.org>)
 id 6a26d7eb-229c-0a2a45070019-5a9b5cc7e600-3
 for <multiple-recipients>; Mon, 08 Jun 2026 16:55:40 +0200
Received: from [2001:8b0:10b:1::425] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.99.2 #2 (Red Hat Linux))
 id 1wWbNU-00000001AgI-2L15; Mon, 08 Jun 2026 14:55:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.99.2 #2 (Red
 Hat Linux)) id 1wWbNS-00000000NFy-20wI;
 Mon, 08 Jun 2026 15:54:58 +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
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=desiato.20200630 header.d=infradead.org header.i="@infradead.org" header.h="Sender:Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:
	From:Reply-To:Cc:Content-ID:Content-Description;
	bh=V9tsEhABtLjPHBbHUDtdbXgPRuXzrYUZjf8XuXI9WXM=; b=LZ34K6Z/ddUt3/HQU86KKuhjIf
	DHs/vhqZl97OOyCk/KC0mjRjKd3b+RCQWe+oE5pzxOekNIgh64VpJwMH51XifVzRtsZwMcz6xLywe
	eMW0NG+tyuhVE85Y6YxEYqiqsj/JqOrv/QcyGxdgA5hG4apiLHPVknvr+dIAIm3Kr2YG+xGlMaEdX
	2jOo5/sxniu4E9QdxMzGM/SduW5Su+K50DThxKGruIN1XbtKcoEpMJxftu8+vJzLwBzx4aOJ+Kbov
	fW1UYS9UvugRAEufvhayteWenkHeBjEIRgiWXJ8XJtdOebVsgjEt+M8HWZzfjV/tHilkP+BvlKdlO
	v763ZQKw==;
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@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>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Sascha Bischoff <Sascha.Bischoff@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Joey Gouly <joey.gouly@arm.com>,
	Jack Allister <jalliste@amazon.com>,
	Dongli Zhang <dongli.zhang@oracle.com>,
	joe.jin@oracle.com,
	kvm@vger.kernel.org,
	linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v5 23/34] KVM: x86: Factor out kvm_use_master_clock()
Date: Mon,  8 Jun 2026 15:48:04 +0100
Message-ID: <20260608145455.89187-24-dwmw2@infradead.org>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-ef75cf/1780930540-20F66C48-1FD3070E/13/0
X-purgate-type: clean
X-purgate-size: 4244

From: David Woodhouse <dwmw@amazon.co.uk>

Both kvm_track_tsc_matching() and pvclock_update_vm_gtod_copy() make a
decision about whether the KVM clock should be in master clock mode.
They used *different* criteria for the decision though. This isn't
really a problem; it only has the potential to cause unnecessary
invocations of KVM_REQ_MASTERCLOCK_UPDATE if the masterclock was
disabled due to TSC going backwards, or the guest using the old MSR.
But it isn't pretty.

Factor the decision out to a single function. And document the
historical reason why it's disabled for guests that use the old
MSR_KVM_SYSTEM_TIME.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 arch/x86/kvm/x86.c | 40 ++++++++++++++++++++++++++++++----------
 1 file changed, 30 insertions(+), 10 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 86c30be4c5d2..72fb4620a5ba 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -2638,11 +2638,30 @@ static inline bool gtod_is_based_on_tsc(int mode)
 {
 	return mode == VDSO_CLOCKMODE_TSC || mode == VDSO_CLOCKMODE_HVCLOCK;
 }
-#endif
+
+static bool kvm_use_master_clock(struct kvm *kvm)
+{
+	struct kvm_arch *ka = &kvm->arch;
+
+	/*
+	 * The 'old kvmclock' check is a workaround (from 2015) for a
+	 * SUSE 2.6.16 kernel that didn't boot if the system_time in
+	 * its kvmclock was too far behind the current time. So the
+	 * mode of just setting the reference point and allowing time
+	 * to proceed linearly from there makes it fail to boot.
+	 * Despite that being kind of the *point* of the way the clock
+	 * is exposed to the guest. By coincidence, the offending
+	 * kernels used the old MSR_KVM_SYSTEM_TIME, which was moved
+	 * only because it resided in the wrong number range. So the
+	 * workaround is activated for *all* guests using the old MSR.
+	 */
+	return ka->all_vcpus_matched_freq &&
+		!ka->backwards_tsc_observed &&
+		!ka->boot_vcpu_runs_old_kvmclock;
+}
 
 static void kvm_track_tsc_matching(struct kvm_vcpu *vcpu, bool new_generation)
 {
-#ifdef CONFIG_X86_64
 	struct kvm_arch *ka = &vcpu->kvm->arch;
 	struct pvclock_gtod_data *gtod = &pvclock_gtod_data;
 
@@ -2677,7 +2696,7 @@ static void kvm_track_tsc_matching(struct kvm_vcpu *vcpu, bool new_generation)
 	 * are fine â€” each vCPU's pvclock has its own tsc_timestamp that
 	 * accounts for its offset.
 	 */
-	bool use_master_clock = ka->all_vcpus_matched_freq &&
+	bool use_master_clock = kvm_use_master_clock(vcpu->kvm) &&
 				gtod_is_based_on_tsc(gtod->clock.vclock_mode);
 
 	/*
@@ -2693,8 +2712,11 @@ static void kvm_track_tsc_matching(struct kvm_vcpu *vcpu, bool new_generation)
 	trace_kvm_track_tsc(vcpu->vcpu_id, ka->nr_vcpus_matched_tsc,
 			    atomic_read(&vcpu->kvm->online_vcpus),
 		            ka->use_master_clock, gtod->clock.vclock_mode);
-#endif
 }
+#else
+static inline void kvm_track_tsc_matching(struct kvm_vcpu *vcpu,
+					  bool new_generation) {}
+#endif
 
 /*
  * Multiply tsc by a fixed point number represented by ratio.
@@ -3216,10 +3238,9 @@ static void pvclock_update_vm_gtod_copy(struct kvm *kvm)
 #ifdef CONFIG_X86_64
 	struct kvm_arch *ka = &kvm->arch;
 	int vclock_mode;
-	bool host_tsc_clocksource, vcpus_matched;
+	bool host_tsc_clocksource;
 
 	lockdep_assert_held(&kvm->arch.tsc_write_lock);
-	vcpus_matched = ka->all_vcpus_matched_freq;
 
 	/*
 	 * If the host uses TSC clock, then passthrough TSC as stable
@@ -3229,9 +3250,8 @@ static void pvclock_update_vm_gtod_copy(struct kvm *kvm)
 					&ka->master_kernel_ns,
 					&ka->master_cycle_now);
 
-	ka->use_master_clock = host_tsc_clocksource && vcpus_matched
-				&& !ka->backwards_tsc_observed
-				&& !ka->boot_vcpu_runs_old_kvmclock;
+	ka->use_master_clock = host_tsc_clocksource &&
+				kvm_use_master_clock(kvm);
 
 	if (ka->use_master_clock) {
 		u64 tsc_hz;
@@ -3259,7 +3279,7 @@ static void pvclock_update_vm_gtod_copy(struct kvm *kvm)
 
 	vclock_mode = pvclock_gtod_data.clock.vclock_mode;
 	trace_kvm_update_master_clock(ka->use_master_clock, vclock_mode,
-					vcpus_matched);
+					ka->all_vcpus_matched_freq);
 #endif
 }
 
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 14:59:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 14:59:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331916.1594570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbS2-0005G6-Sl; Mon, 08 Jun 2026 14:59:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331916.1594570; Mon, 08 Jun 2026 14:59:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbS2-0005Fz-PN; Mon, 08 Jun 2026 14:59:42 +0000
Received: by outflank-mailman (input) for mailman id 1331916;
 Mon, 08 Jun 2026 14:59:42 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ea7bf10cd000701b@swg.vates.tech>)
 id 1wWbRz-00058X-Sv
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 14:59:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbRz-003H2Y-9L
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 16:59:39 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ea7bf10cd000701b@swg.vates.tech>)
 id 6a26d8d4-e002-0a2a0a5209dd-0a2a4508b9b8-20
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 16:59:39 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ea7bf10cd000701b@swg.vates.tech>)
 id 6a26d8da-63b5-0a2a45080019-b9ff1c12b3ed-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 16:59:38 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ea7bf10cd000701b.005 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 08 Jun 2026 14:59:37 +0000
Received: from [192.168.1.18] (88-188-240-210.subs.proxad.net [88.188.240.210])
 (Authenticated sender: teddy.astie)
 by mail2.vates.fr (Postfix) with ESMTPSA id 84ECC870D2;
 Mon,  8 Jun 2026 16:59:36 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=CZ+i2CB0BdIOINPeiN4FrF9Mbfhow0AWNON35OBeS8s=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=gt/5OuGyM8t73fDKZ4QrMLuWZkelTzgoNmJaFmY3fClh6V4XZZs68/MffZqxG2pu5RcYRsWBU
 7Yzm6GYbHDkEQSb2APXf7Yqn1XR21Dcfz2nGHMBk8a7qw0FGGRVw6/q3MVa3Zj5V+2dSSnh6D74
 dz5QtaAC/sVifGmMoOTiFMsFjoa7h02tiRTCBkPEDYQdKll2XG0HcnB+yh6vFh6MRcwOw77Wj50
 o82uhZdhkLRo5lPrVxahEdfIND7MQ7vduIQc/D7SpXOpLKPUy9O7ORbyBTWc6EghZa1rmN/qa/x
 9ntyGlT4WT7As4dWtF4vuNnmW7TvALKG3QtyZw55B8fQ==
X-Zone-Loop: 878c393101ec056cad1e9d672cd1f6f8ff8d366c38df
x-campaign-type: default
x-transaction-id: 0c3b5937-d334-4915-ba71-b68c9ad3da77
x-swg-uid: 01-1d5da5e0-2a68-4cf8-ac00-53dac07ec797
X-Mailer: Sweego
Message-ID:
 <1780930777.8631fc262581453bbf619ec5b2062170.19ea7bf10cd000701b@vates.tech>
x-swg-bid: 1780930777.8631fc262581453bbf619ec5b2062170.19ea7bf10cd000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Mon, 8 Jun 2026 16:59:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 12/16] xen: implement new foreign copy hypercall
To: Frediano Ziglio <freddy77@gmail.com>, xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.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>, Juergen Gross <jgross@suse.com>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
 <20260603130603.776452-13-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Teddy Astie <teddy.astie@vates.tech>
Autocrypt: addr=teddy.astie@vates.tech; keydata=
 xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7LTBVHV/XO
 Zw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJT4ny+OGntnJntUoR
 KRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJAWicutjkkUgd28Bh6HV9EIumH
 tCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaT
 VqMdqul07o72m3eA2mf+LMu9a04FX/d4wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/
 EoucejoZ5SH49ksmVAmKOLktOaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+S
 PhHar7TPKjFz0G3DPNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89
 MXfQXZ3qt1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
 LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWjmoACGwME
 CwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNzuyOVCskwfUZPla6Z
 pd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp0x0HfuhcYfAYPR46XHTvjaJE
 v99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuROxdK8G+YHccJY8PvWSq2K2yiae2KGiAv
 1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhP
 eP3IdpfWc8cyRLXF06Rk46YMYCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcT
 UwgnYlFRk2FLq0QeKEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9
 Egr/Wmu3MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
 f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEMAKiQiZa3
 yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ3DbVf+en3/FvdVZg
 2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTmetSG5/52AjtmPFtlXAk0NmLv
 fJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0s3109sJeXT5ImVdphFs9cvyZyBT9t1Pb
 Rowv58EgV0zE4hbAeVkULAbxFV5b/ExTjjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKb
 Yu6NCfiHfEyB3Xyg9hfdrRgjMRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ov
 XoK4jm+Py0FiUGUaA6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/
 eVtR2Q1wZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
 IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWjmoACGwwA
 CgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiVoUiHYN5QwhnbZnsa
 JDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764QxyX6rld2f2RcWkDuBHun55ZWXj
 by8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk/dS0XTOQi2wVUb17sW/+ybCEokdVacZG
 zOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fuoGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+
 lOWSvdNHgoEkWR0RXBPQjnGmLKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/Off
 O485NOTKwGOxyWb006cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR
 8ULR9nX0LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
 x9fhaZEsniw8/bYgC3igkk5YJiOa
In-Reply-To: <20260603130603.776452-13-frediano.ziglio@cloud.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------bJXDgwFSKVtzoJ7ihw0XiNJk"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1780930776712
X-purgate-ID: tlsNG-c1860d/1780930779-C5F80DB1-0547AA56/0/0
X-purgate-type: clean
X-purgate-size: 16781

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------bJXDgwFSKVtzoJ7ihw0XiNJk
Content-Type: multipart/mixed; boundary="------------koSVJldpvy6Ja05VsOuLnVMr";
 protected-headers="v1"
From: Teddy Astie <teddy.astie@vates.tech>
To: Frediano Ziglio <freddy77@gmail.com>, xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.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>, Juergen Gross <jgross@suse.com>
Message-ID: <9ea186f5-0d12-4304-9b68-c486cee3e93e@vates.tech>
Subject: Re: [PATCH v4 12/16] xen: implement new foreign copy hypercall
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
 <20260603130603.776452-13-frediano.ziglio@cloud.com>
In-Reply-To: <20260603130603.776452-13-frediano.ziglio@cloud.com>
Autocrypt-Gossip: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==

--------------koSVJldpvy6Ja05VsOuLnVMr
Content-Type: multipart/mixed; boundary="------------Yg8OixMvwm29bk2YHImaZMQV"

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

TGUgMDMvMDYvMjAyNiDDoCAxNTowOCwgRnJlZGlhbm8gWmlnbGlvIGEgw6ljcml0wqA6DQo+
IEZyb206IEZyZWRpYW5vIFppZ2xpbyA8ZnJlZGlhbm8uemlnbGlvQGNpdHJpeC5jb20+DQo+
IA0KPiBBZGQgYSBzdWIgaHlwZXJjYWxsIHRvIF9fSFlQRVJWSVNPUl9tZW1vcnlfb3AgdG8g
YWxsb3cgdG8NCj4gcmVhZC93cml0ZSBtZW1vcnkgZnJvbS90byBhIGZvcmVpZ24gZG9tYWlu
Lg0KPiANCj4gU2lnbmVkLW9mZi1ieTogRnJlZGlhbm8gWmlnbGlvIDxmcmVkaWFuby56aWds
aW9AY2l0cml4LmNvbT4NCj4gLS0tDQo+ICAgeGVuL2NvbW1vbi9tZW1vcnkuYyAgICAgICAg
IHwgMTMzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiAgIHhlbi9p
bmNsdWRlL3B1YmxpYy9tZW1vcnkuaCB8ICA0MCArKysrKysrKysrLQ0KPiAgIDIgZmlsZXMg
Y2hhbmdlZCwgMTcyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4gDQo+IGRpZmYg
LS1naXQgYS94ZW4vY29tbW9uL21lbW9yeS5jIGIveGVuL2NvbW1vbi9tZW1vcnkuYw0KPiBp
bmRleCAzNjcyYmRhMDI1Li42YTJkOWMzMTkwIDEwMDY0NA0KPiAtLS0gYS94ZW4vY29tbW9u
L21lbW9yeS5jDQo+ICsrKyBiL3hlbi9jb21tb24vbWVtb3J5LmMNCj4gQEAgLTE1NDUsNiAr
MTU0NSwxMzIgQEAgc3RhdGljIGludCBhY3F1aXJlX3Jlc291cmNlKA0KPiAgICAgICByZXR1
cm4gcmM7DQo+ICAgfQ0KPiAgIA0KPiArLyoNCj4gKyAqIFRoZSAibm9pbmxpbmUiIHF1YWxp
ZmllciBhdm9pZCB0aGUgY29tcGlsZXIgdG8gY3JlYXRlIGEgbGFyZ2UgZnVuY3Rpb24NCj4g
KyAqIGNvbnN1bWluZyBxdWl0ZSBhIGxvdCBvZiBzdGFjay4NCj4gKyAqLw0KPiArc3RhdGlj
IGludCBub2lubGluZSBtZW1fZm9yZWlnbmNvcHkoDQo+ICsgICAgWEVOX0dVRVNUX0hBTkRM
RV9QQVJBTSh4ZW5fZm9yZWlnbmNvcHlfdCkgYXJnKQ0KPiArew0KPiArICAgIHN0cnVjdCBk
b21haW4gKmQsICpjb25zdCBjdXJyZCA9IGN1cnJlbnQtPmRvbWFpbjsNCj4gKyAgICB4ZW5f
Zm9yZWlnbmNvcHlfdCBjb3B5Ow0KPiArICAgIGludCByYywgZGlyZWN0aW9uOw0KPiArDQo+
ICsgICAgaWYgKCAhYXJjaF9hY3F1aXJlX3Jlc291cmNlX2NoZWNrKGN1cnJkKSApDQo+ICsg
ICAgICAgIHJldHVybiAtRUFDQ0VTOw0KPiArDQo+ICsgICAgaWYgKCBjb3B5X2Zyb21fZ3Vl
c3QoJmNvcHksIGFyZywgMSkgKQ0KPiArICAgICAgICByZXR1cm4gLUVGQVVMVDsNCj4gKw0K
PiArICAgIGlmICggY29weS5mbGFncyAmIH4xdSApDQo+ICsgICAgICAgIHJldHVybiAtRUlO
VkFMOw0KPiArDQo+ICsgICAgZGlyZWN0aW9uID0gY29weS5mbGFncyAmIFhFTk1FTV9mb3Jl
aWduY29weV9kaXJlY3Rpb247DQo+ICsNCj4gKyAgICBpZiAoIGNvcHkubnJfZnJhbWVzID09
IDAgKQ0KPiArICAgICAgICByZXR1cm4gMDsNCj4gKw0KPiArICAgIHJjID0gcmN1X2xvY2tf
cmVtb3RlX2RvbWFpbl9ieV9pZChjb3B5LmRvbWlkLCAmZCk7DQo+ICsgICAgaWYgKCByYyAp
DQo+ICsgICAgICAgIHJldHVybiByYzsNCj4gKw0KPiArICAgIC8qDQo+ICsgICAgICogQ2hl
Y2sgd2UgYXJlIGFsbG93ZWQgdG8gbWFwIGFuZCBhY2Nlc3MgdGhlc2UgZm9yZWlnbiBwYWdl
cy4NCj4gKyAgICAgKi8NCj4gKyAgICByYyA9IHhzbV9tYXBfZ21mbl9mb3JlaWduKFhTTV9U
QVJHRVQsIGN1cnJkLCBkKTsNCj4gKyAgICBpZiAoIHJjICkNCj4gKyAgICAgICAgZ290byBv
dXQ7DQo+ICsNCj4gKyAgICBkbyB7DQo+ICsgICAgICAgIC8qDQo+ICsgICAgICAgICAqIEFy
Yml0cmFyeSBzaXplLiAgTm90IHRvbyBtdWNoIHN0YWNrIHNwYWNlLCBhbmQgYSByZWFzb25h
YmxlIHN0cmlkZQ0KPiArICAgICAgICAgKiBmb3IgY29udGludWF0aW9uIGNoZWNrcy4NCj4g
KyAgICAgICAgICovDQo+ICsgICAgICAgIHhlbl9wZm5fdCBnZm5fbGlzdFszMl07DQo+ICsg
ICAgICAgIHVuc2lnbmVkIGludCB0b2RvID0gTUlOKEFSUkFZX1NJWkUoZ2ZuX2xpc3QpLCBj
b3B5Lm5yX2ZyYW1lcyk7DQo+ICsNCj4gKyAgICAgICAgcmMgPSAtRUZBVUxUOw0KPiArICAg
ICAgICBpZiAoIGNvcHlfZnJvbV9ndWVzdChnZm5fbGlzdCwgY29weS5mcmFtZV9saXN0LCB0
b2RvKSApDQo+ICsgICAgICAgICAgICBnb3RvIG91dDsNCj4gKw0KPiArICAgICAgICBmb3Ig
KCB1bnNpZ25lZCBpID0gMDsgaSA8IHRvZG87IGkrKyApDQo+ICsgICAgICAgIHsNCj4gKyAg
ICAgICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKmZvcmVpZ25fcGFnZTsNCj4gKyAgICAgICAg
ICAgIHZvaWQgKmZvcmVpZ247DQo+ICsgICAgICAgICAgICBwMm1fdHlwZV90IHAybXQ7DQo+
ICsNCj4gKyAgICAgICAgICAgIGZvcmVpZ25fcGFnZSA9IGdldF9wYWdlX2Zyb21fZ2ZuKGQs
IGdmbl9saXN0W2ldLCAmcDJtdCwgUDJNX0FMTE9DKTsNCj4gKw0KPiArICAgICAgICAgICAg
aWYgKCB1bmxpa2VseShwMm10ICE9IHAybV9yYW1fcncNCj4gKyNpZmRlZiBDT05GSUdfWDg2
DQo+ICsgICAgICAgICAgICAgICAgICYmIHAybXQgIT0gcDJtX3JhbV9sb2dkaXJ0eQ0KPiAr
I2VuZGlmDQo+ICsgICAgICAgICAgICAgICAgICkgJiYgZm9yZWlnbl9wYWdlICkNCj4gKyAg
ICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICBwdXRfcGFnZShmb3JlaWduX3BhZ2Up
Ow0KPiArICAgICAgICAgICAgICAgIGZvcmVpZ25fcGFnZSA9IE5VTEw7DQo+ICsgICAgICAg
ICAgICB9DQo+ICsgICAgICAgICAgICBpZiAoIHVubGlrZWx5KCFmb3JlaWduX3BhZ2UpICkN
Cj4gKyAgICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICBnZHByaW50ayhYRU5MT0df
V0FSTklORywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAiRXJyb3IgYWNjZXNzaW5n
IGZvcmVpZ24gbWZuICUiIFBSSV9tZm4gIlxuIiwNCj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgICBnZm5fbGlzdFtpXSk7DQo+ICsgICAgICAgICAgICAgICAgcmMgPSAtRUlOVkFMOw0K
PiArICAgICAgICAgICAgICAgIGNvcHkubnJfZnJhbWVzIC09IGk7DQo+ICsgICAgICAgICAg
ICAgICAgZ3Vlc3RfaGFuZGxlX2FkZF9vZmZzZXQoY29weS5mcmFtZV9saXN0LCBpKTsNCj4g
KyAgICAgICAgICAgICAgICBnb3RvIG91dDsNCj4gKyAgICAgICAgICAgIH0NCj4gKw0KPiAr
ICAgICAgICAgICAgLyogQSBwYWdlIGlzIGRpcnRpZWQgd2hlbiBpdCdzIGJlaW5nIGNvcGll
ZCB0by4gKi8NCj4gKyAgICAgICAgICAgIGlmICggZGlyZWN0aW9uID09IFhFTk1FTV9mb3Jl
aWduY29weV90byApDQo+ICsgICAgICAgICAgICAgICAgcGFnaW5nX21hcmtfZGlydHkoZCwg
cGFnZV90b19tZm4oZm9yZWlnbl9wYWdlKSk7DQo+ICsNCj4gKyAgICAgICAgICAgIGZvcmVp
Z24gPSBtYXBfZG9tYWluX3BhZ2UocGFnZV90b19tZm4oZm9yZWlnbl9wYWdlKSk7DQo+ICsg
ICAgICAgICAgICBpZiAoIGRpcmVjdGlvbiA9PSBYRU5NRU1fZm9yZWlnbmNvcHlfZnJvbSAp
DQo+ICsgICAgICAgICAgICAgICAgcmMgPSBjb3B5X3RvX2d1ZXN0KGNvcHkuYnVmZmVyLCBm
b3JlaWduLCBQQUdFX1NJWkUpOw0KPiArICAgICAgICAgICAgZWxzZQ0KPiArICAgICAgICAg
ICAgICAgIHJjID0gY29weV9mcm9tX2d1ZXN0KGZvcmVpZ24sIGNvcHkuYnVmZmVyLCBQQUdF
X1NJWkUpOw0KPiArICAgICAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2UoZm9yZWlnbik7DQo+
ICsgICAgICAgICAgICBwdXRfcGFnZShmb3JlaWduX3BhZ2UpOw0KPiArDQo+ICsgICAgICAg
ICAgICBpZiAoIHVubGlrZWx5KHJjKSApDQo+ICsgICAgICAgICAgICB7DQo+ICsgICAgICAg
ICAgICAgICAgZ2RwcmludGsoWEVOTE9HX1dBUk5JTkcsDQo+ICsgICAgICAgICAgICAgICAg
ICAgICAgICAgIkVycm9yIGNvcHlpbmcgdG8gbWZuICUiIFBSSV9tZm4gIlxuIiwgZ2ZuX2xp
c3RbaV0pOw0KPiArICAgICAgICAgICAgICAgIGNvcHkubnJfZnJhbWVzIC09IGk7DQo+ICsg
ICAgICAgICAgICAgICAgZ3Vlc3RfaGFuZGxlX2FkZF9vZmZzZXQoY29weS5mcmFtZV9saXN0
LCBpKTsNCj4gKyAgICAgICAgICAgICAgICBnb3RvIG91dDsNCj4gKyAgICAgICAgICAgIH0N
Cj4gKw0KPiArICAgICAgICAgICAgZ3Vlc3RfaGFuZGxlX2FkZF9vZmZzZXQoY29weS5idWZm
ZXIsIFBBR0VfU0laRSk7DQo+ICsgICAgICAgIH0NCj4gKw0KPiArICAgICAgICBjb3B5Lm5y
X2ZyYW1lcyAtPSB0b2RvOw0KPiArICAgICAgICBndWVzdF9oYW5kbGVfYWRkX29mZnNldChj
b3B5LmZyYW1lX2xpc3QsIHRvZG8pOw0KPiArDQo+ICsgICAgICAgIGlmICggY29weS5ucl9m
cmFtZXMgJiYgaHlwZXJjYWxsX3ByZWVtcHRfY2hlY2soKSApDQo+ICsgICAgICAgIHsNCj4g
KyAgICAgICAgICAgIHJjID0gaHlwZXJjYWxsX2NyZWF0ZV9jb250aW51YXRpb24oDQo+ICsg
ICAgICAgICAgICAgICAgX19IWVBFUlZJU09SX21lbW9yeV9vcCwgImxoIiwgWEVOTUVNX2Zv
cmVpZ25jb3B5LCBhcmcpOw0KPiArICAgICAgICAgICAgZ290byBvdXQ7DQo+ICsgICAgICAg
IH0NCj4gKyAgICB9IHdoaWxlICggY29weS5ucl9mcmFtZXMgKTsNCj4gKw0KPiArICAgIHJj
ID0gMDsNCj4gKw0KPiArIG91dDoNCj4gKyAgICByY3VfdW5sb2NrX2RvbWFpbihkKTsNCj4g
Kw0KPiArICAgIC8qIFVwZGF0ZSBpbiBhbGwgY2FzZXMsIGl0IGFsbG93cyB0aGUgY2FsbGVy
IHRvIGtub3cgaG93IG1hbnkNCj4gKyAgICAgKiBmcmFtZXMgd2VyZSBzdWNjZXNzZnVsbHkg
Y29waWVkIGFuZCB0aGUgY29udGludWF0aW9uIHRvDQo+ICsgICAgICogY29udGludWUgY29y
cmVjdGx5Lg0KPiArICAgICAqLw0KPiArICAgIGlmICggY29weV90b19ndWVzdChhcmcsICZj
b3B5LCAxKSApDQo+ICsgICAgICAgIHJjID0gLUVGQVVMVDsNCj4gKw0KPiArICAgIHJldHVy
biByYzsNCj4gK30NCj4gKw0KPiAgIGxvbmcgZG9fbWVtb3J5X29wKHVuc2lnbmVkIGxvbmcg
Y21kLCBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGFyZykNCj4gICB7DQo+ICAgICAg
IHN0cnVjdCBkb21haW4gKmQsICpjdXJyX2QgPSBjdXJyZW50LT5kb21haW47DQo+IEBAIC0y
MDEyLDYgKzIxMzgsMTMgQEAgbG9uZyBkb19tZW1vcnlfb3AodW5zaWduZWQgbG9uZyBjbWQs
IFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgYXJnKQ0KPiAgICAgICAgICAgICAgIHN0
YXJ0X2V4dGVudCk7DQo+ICAgICAgICAgICBicmVhazsNCj4gICANCj4gKyAgICBjYXNlIFhF
Tk1FTV9mb3JlaWduY29weToNCj4gKyAgICAgICAgaWYgKCB1bmxpa2VseShzdGFydF9leHRl
bnQpICkNCj4gKyAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPiArDQo+ICsgICAgICAg
IHJjID0gbWVtX2ZvcmVpZ25jb3B5KGd1ZXN0X2hhbmRsZV9jYXN0KGFyZywgeGVuX2ZvcmVp
Z25jb3B5X3QpKTsNCj4gKyAgICAgICAgYnJlYWs7DQo+ICsNCj4gICAgICAgZGVmYXVsdDoN
Cj4gICAgICAgICAgIHJjID0gYXJjaF9tZW1vcnlfb3AoY21kLCBhcmcpOw0KPiAgICAgICAg
ICAgYnJlYWs7DQo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5Lmgg
Yi94ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5LmgNCj4gaW5kZXggYmQ5ZmMzN2I1Mi4uYjQ4
ZDFmMzc4ZiAxMDA2NDQNCj4gLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL21lbW9yeS5oDQo+
ICsrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9tZW1vcnkuaA0KPiBAQCAtNzQwLDcgKzc0MCw0
NSBAQCBzdHJ1Y3QgeGVuX3ZudW1hX3RvcG9sb2d5X2luZm8gew0KPiAgIHR5cGVkZWYgc3Ry
dWN0IHhlbl92bnVtYV90b3BvbG9neV9pbmZvIHhlbl92bnVtYV90b3BvbG9neV9pbmZvX3Q7
DQo+ICAgREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoeGVuX3ZudW1hX3RvcG9sb2d5X2luZm9f
dCk7DQo+ICAgDQo+IC0vKiBOZXh0IGF2YWlsYWJsZSBzdWJvcCBudW1iZXIgaXMgMjkgKi8N
Cj4gKy8qDQo+ICsgKiBDb3B5IG1lbW9yeSBmcm9tL3RvIGEgZ2l2ZW4gZG9tYWluLg0KPiAr
ICovDQo+ICsjZGVmaW5lIFhFTk1FTV9mb3JlaWduY29weSAyOQ0KPiArc3RydWN0IHhlbl9m
b3JlaWduY29weSB7DQo+ICsgICAgLyogSU4gLSBUaGUgZG9tYWluIHdob3NlIHJlc291cmNl
IGlzIHRvIGJlIGNvcGllZC4gKi8NCj4gKyAgICBkb21pZF90IGRvbWlkOw0KPiArDQo+ICsg
ICAgLyogSU4gLSBGbGFncy4gKi8NCj4gKyNkZWZpbmUgWEVOTUVNX2ZvcmVpZ25jb3B5X2Zy
b20gMA0KPiArI2RlZmluZSBYRU5NRU1fZm9yZWlnbmNvcHlfdG8gMQ0KPiArI2RlZmluZSBY
RU5NRU1fZm9yZWlnbmNvcHlfZGlyZWN0aW9uIDENCj4gKyAgICB1aW50MTZfdCBmbGFnczsN
Cj4gKw0KPiArICAgIC8qDQo+ICsgICAgICogSU4NCj4gKyAgICAgKg0KPiArICAgICAqIEFz
IGFuIElOIHBhcmFtZXRlciBudW1iZXIgb2YgZnJhbWVzIG9mIHRoZSBkb21haW4gdG8gYmUg
Y29waWVkLg0KPiArICAgICAqLw0KPiArICAgIHVpbnQzMl90IG5yX2ZyYW1lczsNCj4gKw0K
DQpUaGUgaW50ZXJmYWNlIG9ubHkgYWxsb3dzIGNvcGllcyB0byBiZSBtYWRlIGF0IHBhZ2Ug
Z3JhbnVsYXJpdHksIHdoaWxlIA0KdGhhdCBjYW4gYmUgb2ssIHRoYXQgcHJvYmFibHkgd2Fu
dHMgdG8gYmUgc3RhdGVkLg0KDQo+ICsgICAgLyoNCj4gKyAgICAgKiBJTg0KPiArICAgICAq
DQo+ICsgICAgICogRnJhbWVzIHRvIGJlIGNvcGllZC4NCj4gKyAgICAgKi8NCj4gKyAgICBY
RU5fR1VFU1RfSEFORExFKHhlbl9wZm5fdCkgZnJhbWVfbGlzdDsNCj4gKw0KPiArICAgIC8q
DQo+ICsgICAgICogSU4vT1VUDQo+ICsgICAgICoNCj4gKyAgICAgKiBVc2Vyc3BhY2UgYnVm
ZmVyIHRvIHJlYWQvd3JpdGUgZnJvbS4NCj4gKyAgICAgKi8NCj4gKyAgICBYRU5fR1VFU1Rf
SEFORExFKHVpbnQ4KSBidWZmZXI7DQo+ICt9Ow0KDQpUaGUgaW50ZXJmYWNlIGxvb2tzIGEg
Yml0IGFzeW1ldHJpYywgb24gb25lIGhhbmQsIGl0IHRha2VzIHBmbnMgYW5kIG9uIA0KdGhl
IG90aGVyIGhhbmQsIGl0IHRha2VzIGEgZ3Vlc3QgdmlydHVhbCBhZGRyZXNzLg0KDQpUaG91
Z2gsIHVzaW5nIGd1ZXN0IHBvaW50ZXJzIGlzIG5vdCBncmVhdCBmb3IgUFZIIGRvbWFpbnMs
IGFzIGl0IA0KcmVxdWlyZXMgZXhwZW5zaXZlIHBhZ2V3YWxrcyAoZXNwZWNpYWxseSBmb3Ig
YSBsb3Qgb2YgcGFnZXMpLg0KDQpXb3VsZCBpdCBiZSBwcmVmZXJhYmxlIHRvIGhhdmUgYSBs
aXN0IG9mIGdtZm4gZm9yIGJvdGggc2lkZXMgPw0KDQo+ICt0eXBlZGVmIHN0cnVjdCB4ZW5f
Zm9yZWlnbmNvcHkgeGVuX2ZvcmVpZ25jb3B5X3Q7DQo+ICtERUZJTkVfWEVOX0dVRVNUX0hB
TkRMRSh4ZW5fZm9yZWlnbmNvcHlfdCk7DQo+ICsNCj4gKy8qIE5leHQgYXZhaWxhYmxlIHN1
Ym9wIG51bWJlciBpcyAzMCAqLw0KPiAgIA0KPiAgICNlbmRpZiAvKiBfX1hFTl9QVUJMSUNf
TUVNT1JZX0hfXyAqLw0KPiAgIA0KDQpUZWRkeQ0K
--------------Yg8OixMvwm29bk2YHImaZMQV
Content-Type: application/pgp-keys; name="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Disposition: attachment; filename="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7L
TBVHV/XOZw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJ
T4ny+OGntnJntUoRKRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJA
WicutjkkUgd28Bh6HV9EIumHtCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO
8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaTVqMdqul07o72m3eA2mf+LMu9a04FX/d4
wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/EoucejoZ5SH49ksmVAmKOLkt
OaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+SPhHar7TPKjFz0G3D
PNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89MXfQXZ3q
t1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWj
moACGwMECwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNz
uyOVCskwfUZPla6Zpd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp
0x0HfuhcYfAYPR46XHTvjaJEv99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuR
OxdK8G+YHccJY8PvWSq2K2yiae2KGiAv1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50
wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhPeP3IdpfWc8cyRLXF06Rk46YM
YCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcTUwgnYlFRk2FLq0Qe
KEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9Egr/Wmu3
MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEM
AKiQiZa3yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ
3DbVf+en3/FvdVZg2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTm
etSG5/52AjtmPFtlXAk0NmLvfJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0
s3109sJeXT5ImVdphFs9cvyZyBT9t1PbRowv58EgV0zE4hbAeVkULAbxFV5b/ExT
jjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKbYu6NCfiHfEyB3Xyg9hfdrRgj
MRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ovXoK4jm+Py0FiUGUa
A6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/eVtR2Q1w
ZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWj
moACGwwACgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiV
oUiHYN5QwhnbZnsaJDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764Qxy
X6rld2f2RcWkDuBHun55ZWXjby8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk
/dS0XTOQi2wVUb17sW/+ybCEokdVacZGzOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fu
oGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+lOWSvdNHgoEkWR0RXBPQjnGm
LKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/OffO485NOTKwGOxyWb0
06cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR8ULR9nX0
LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
x9fhaZEsniw8/bYgC3igkk5YJiOa
=3DlUIA
-----END PGP PUBLIC KEY BLOCK-----

--------------Yg8OixMvwm29bk2YHImaZMQV--

--------------koSVJldpvy6Ja05VsOuLnVMr--

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

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

wsD5BAABCAAjFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmom2NgFAwAAAAAACgkQZg+p0QLLz9Bw
dQv/YwX061tUJPluXjO3DLl3HFsQu12ap4I7qapSy2SHkjxmKeC6o7yHZXueSaSvP06LugcgJkPi
D6KpBsPSd7hqNsgJaho4OQmxYbUC2oP+iJZDjqBHDVHjadgrUpqQbUmkpDukzPqSUWS9tdtT51lq
DKcIVVr2RNdj3AN7kbhhH5rI7X6FVkttqAfZY7Gfgjwj2Ea3huvewrXY6btljeuAVWt3g0wzhJe1
QbksGFp6Tfg+ASVDsz4zqkiCpVBc3WruB9nM0Drk++a3Dn0+7KYhCFMi+hTjCSyyxGyJIz+5jlB7
qntnUQkQnTyDiGNFbjJ5iTFuC581lXR0pz5/9xGlmSPKdcQnN6qOefnVw0GJ/d4YXwfbo4FE8Tsx
Xs9XjPe4Zpe3Ue7lSJ3RpUEqcsg5j+WK+KvAX2W/reI4ZTxrXe3NyPUi8vf78Jtkl0wn45pwvGh5
vPKbWKvIq81RPMfj+LRpy8J9w7kvoaVC4NQVxR12j4AjRxqcQ54EIcnTqXNn
=YTG/
-----END PGP SIGNATURE-----

--------------bJXDgwFSKVtzoJ7ihw0XiNJk--


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 15:04:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 15:04:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331927.1594578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbWN-0007Gd-DU; Mon, 08 Jun 2026 15:04:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331927.1594578; Mon, 08 Jun 2026 15: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 1wWbWN-0007GW-Ah; Mon, 08 Jun 2026 15:04:11 +0000
Received: by outflank-mailman (input) for mailman id 1331927;
 Mon, 08 Jun 2026 15:04:10 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wWbWM-0007GN-Gk
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 15:04:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbWL-00DKSa-7E
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 17:04:09 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a26d9df-5cb7-0a2a0a5109dd-0a2a4509b706-40
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 17:04:09 +0200
Received: from [52.101.53.9]
 (helo=BL0PR03CU003.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a26d9e6-2497-0a2a45090019-346535091614-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 17:04:08 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by CO1PR03MB5908.namprd03.prod.outlook.com (2603:10b6:303:9d::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Mon, 8 Jun 2026
 15:03:57 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.011; Mon, 8 Jun 2026
 15:03: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=i6UJtGRNfaOjZi98UogIxbhARelb5t/rtMpbaT4cgxl16+CtJGlJbN2ykS+fovDgrQkw78T1gfxBNhg/dPB/ZLu6L03M621s4erYUQiiBbll7HL6GKVE8B9C7EcFYGte/AakhO0oc4DPZLFwSQGdwH/VwDIa1WuTb+1jvPiDBDD2C3f+14atxtWLlc9W3MHCSEiDea+HCqfVzToA5tQ8q1ITOUAjpyIXx1nLIvK4muy8zKAO2bHruvAPUmyzGB2LboueRU17app6tQloeLpszjJDPvjUpeG9n89Tm8mKHU7ynxgds9lVhb2I2TdkQiFyLjeNU3am/AaqaceAyaCBSQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pFGTu9+V7Rn6EYMUbdRJEm1hVACMn8+NuVW5fk+egsM=;
 b=YZp50I3vfW9U3W2gQZnQeXBhplsA7A9yW5ghAq5kQHjql6gzZju5/MezI31GhPHIMDc4/AUTLCsOU+3KFVDdp3JRvqEyC1fc9vTQQo9nSnUiSbEV/koL+pvfgRXyoQK/gmiYu3xLoLqJxPW03vNOHsF2lcSk+BS/5c1xc5pJ4O3VhKm4OtAkcwlMHNZcqVTqm22c71PPl9dT6HXQCVlE8Di1MZTx5bFZN11dvG1vPFcXdGJkBvaGeBwIY4X4MF5LfAQFvxDLLx1eXuVw0lKygzVHY8p5/r008vL/2IX3SwpD+X/AwrbP++HjxOkiXxD3pUDfmbY6EvWXWPnr8kNoIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pFGTu9+V7Rn6EYMUbdRJEm1hVACMn8+NuVW5fk+egsM=;
 b=alSR6qv1c8JsIHRmC2Jb6cw13+si1TY7sVnWHhxTqg9yNOPAwzgNADAsyL1rkTVNRQXGXKHvpWvzeUtjmu96QvHd/YFm2acRr27N6syjA5BhjPQCe1HSxmuR3myM+0CiJbLd2ppvhTND+lAGr0sXINXM6l0q3WF/VnpEr4QyMs8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 8 Jun 2026 17:03:53 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Frediano Ziglio <freddy77@gmail.com>
Cc: xen-devel@lists.xenproject.org,
	Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v4 03/16] libs/guest: Reduce number of I/O vectors in
 write_batch
Message-ID: <aibZ2bPMBDyYjChh@macbook.local>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
 <20260603130603.776452-4-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260603130603.776452-4-frediano.ziglio@cloud.com>
X-ClientProxiedBy: MR1P264CA0153.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:54::11) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|CO1PR03MB5908:EE_
X-MS-Office365-Filtering-Correlation-Id: 29a07b09-3bcd-447b-a376-08dec56f29d3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|22082099003|18002099003|6133799003|56012099006|11063799006|4143699003;
X-Microsoft-Antispam-Message-Info:
	XjsWMU7A0pk/u7S93CpAheRE3ud2R8Z3Q5Xl/ee3bG/lrGlmoZkoamcSbe5duQWMbESEB28hpjOhVTibDSu9LnHa4VpJb0nSWH7e5D35Te40tIbHfa/pI4mdlrEjvTz8cGldPCQb1T2mesamtRiUv+oVXadT1J78OcuW1d2VEjMGcs7Lhz2/C7X4+80aQCApl+++KeX+lmJV6oT0A9fLp7FwYTE+u3fhxLYZn9lZjtlYTclKqNB1JCXcXnK/CPzKG2qfA9peGJ4oUcMiLAs9cuyouC7ucdO6AKgsjUCoGIuK7Lp7AtVZLkcyg18kIjhNrnXdCl/4i/zOA4ZrAG+1uA3lhHNalvc64CFvFns/qmtbDLj5T9ZkKTtNpW4P78poZhN7RAUGGEW3auqY818QweB6HsaJgzKLy0c8yRmwFTRKRB6e0h3fVeSEqY4rFfPL37MrFzueDHKq6jkQTnNe2S8mhYkYXeVQ3ZhIZpGwsYu/hmnrZH3WHcUJXTI2MjkBLeVq/ulbSttjZxGNn0TKOWO7BAk4ZeKNh61Phc7qzKQ2lyoV2BGzniEiTfd11fbnCW5JK/4hzeMOyUy0TdC7dMvt0nPK9M4rIm2kRpEcVGsPgUm3c1IcMfhd4Q8N7zWpoE5uNZpsirNGTz9VK3nI/yL/at7J96CB2fN1mXBMDW0pzNtW4Mp4MkQQF1fE75Ln
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(22082099003)(18002099003)(6133799003)(56012099006)(11063799006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RVJaT3ZYQmJlWXdQQSt4V3BaeUZqLy9qQU81blBNVDN3ZG03UDlkSkdQc3da?=
 =?utf-8?B?bjlEQ1U0ZXoraVVmQXM3NHArOEgvd1pSdGNieVovMW4vMnpLN2FSWW1rRWJE?=
 =?utf-8?B?YzN4cXNhU2N1M04zZll6cGFiMkNjdnhnTkZ2R2ZGSGRuNVNjZjBHSFEyaVdZ?=
 =?utf-8?B?M3RkVjltSXZDaStveUVxNU5WcmRpQXZTREFTWGZKS2xEMjBsejFSQmJXdFVp?=
 =?utf-8?B?T29oZkxXSGdWSytaK0hwUFhkZ0pwRmpDZkF2ZUtidi82d1lGQUlsYVNwNkZK?=
 =?utf-8?B?dzhxWllla0VuMUJkaVdPZTRtS0kwdmtmdnI0cEZtK0oxaDN3RVdQYld3V0Qz?=
 =?utf-8?B?Z3F4OVM1NUI5WStUWDNFdEVFeFZ0cG1UdUZjaFcvdm9nSXpsRUVoY05EUWhh?=
 =?utf-8?B?RjliNGJWbElLSHRGWkxyck5JaUdPTk1LY1M4VEYxcDJ4Y2Z0NXJ3K2pqSERP?=
 =?utf-8?B?WW5hdDJ3VTc0WlUvcmJOTHZoQlMrY1dmcTJnUlQ3TFhsZEFxQWlFQUdJUlp6?=
 =?utf-8?B?Z1N4dGZaRjdDQ0lYVFh6OTRlUXB4aXV6R0dXMlhiOUlXRkZQT0lvU2MyU1cr?=
 =?utf-8?B?U214UE93M3F5MlcvTnJocnVkWitjSUxWVEx3NUZMS2JXWDU3UlE2YWJRMkV1?=
 =?utf-8?B?MENoZ1dvbGw1ZDNYVE54a2tLcUVsN09XSWpIN2lFTUhJNkdObEcxMWNEUm4v?=
 =?utf-8?B?bnlTdlZ2dzlsUCsrVVRRMGtkOHNZOS9QNmFBem11OGlZOWpUNlhwUXc0a3N1?=
 =?utf-8?B?UUlSaURhdlBrZ0JoR2ZXalVEbklON24reGpxbW5xR0gwenFBRnArQlBIMVpn?=
 =?utf-8?B?YjJzcG4yQWFvSFdTZzNWdDl4cFZHRWRpblhITVYxZDdmU1pXLzFVSVR0dDRx?=
 =?utf-8?B?N1lMOGI3YzVvRUk2YWQyU1BORjF6bVdJVEM1UWs4RlRGQWlvSTBwVGVMeHc1?=
 =?utf-8?B?Z28xdTRjbFlCQWVqOStUYlVYdFQrWGtTYmZMSGZoQmJ3Yi9qU0NZZW5xRzlt?=
 =?utf-8?B?eHc4VnlreXVjeXFSVDQybW1RMk5ZQnJGV29GRVRXeUgxb0U4YnorZk5WMXIy?=
 =?utf-8?B?aHlZYjNZMnhoemZURnpaak5uQmQ0a1BYZ0NFalpubmoxR2kwMmhPb0R2ZlZa?=
 =?utf-8?B?YmJ1TDJKUGlhbWRCSEdSbG85UjhuTHg4Qm1WeWNHMWNldVJsOTR3WXdQVnZR?=
 =?utf-8?B?ODlZSVZ6VEQ0QjFoNjQ3RUhiQ04wZkpBSlNWR1ZEaDJ0bFBjanI3ZWpwbkUz?=
 =?utf-8?B?Q3FHM2VnaTVzNmJyZHp2TTdnMGVPcmQrV3QzQ2JoeXpicldWNmlsZmhFanJD?=
 =?utf-8?B?N1l1UWdmemZYMGZNZFdad0FkZGlZMzBqbWtpMmxyRFo5OHFoQ3RKOFRza3hj?=
 =?utf-8?B?V3I0UkQ5VzRIbS9uQm5KVGJCNWhFanJsVjZmQldWZ3h1MWhPNzZDZ0QwdTB0?=
 =?utf-8?B?UGpGQjJKVE9iUGk5OGVtSFB3YjZBNkZsbEtib3BLT2ZybzlTL21TbGZlaVFK?=
 =?utf-8?B?V0tRV1pERHBHSU96dEdEelFuM1U5RVB2MU1zZVYrVStFLytabUkwZzhLcW0v?=
 =?utf-8?B?QTIwd1JXTk1TRm1RK1R0eFdKQ1BYMWQ0WDlUa2tkZWdsaFlnTFRxZUlRMG9a?=
 =?utf-8?B?WXpwd2liWXZTN3Y5bVppK1BSTk5KSlNaMlUweitsYlpaNktBVkNQTjZBME05?=
 =?utf-8?B?eTRKcFdWT1dOTUpzNHdnbEtQYjlmRlpSSWcrWncxZ2YzbVNhU0xHR3VpaWxl?=
 =?utf-8?B?RkhNbkxxZFVuYWg2bUdVQm1BVy8zSTJDcWtvQXF6WU5GNGVKVHFKRVRpcEYx?=
 =?utf-8?B?UjVLMFV1N2JnbXBkVVU5N0hDcFpWNm5QODlRSEdhOTZSbmhUQzBIaFB3ajMr?=
 =?utf-8?B?MVV5QzVXd2MxZjJNQ09nclMxTklhUEtoWXNpd0FPY2xud1BTOTVUeDBRODFw?=
 =?utf-8?B?WDNsS3lsRk8xQ2ZwYTZENmVRT1RnMGZOZ2dtK0tSK1N4d0FURlRMdXV4aElu?=
 =?utf-8?B?aXBHZVUveUJidzgzZ2d0RWgwaGRPV1JDd0Z6UGZEV1MzUnl0K3B2WndiWU9h?=
 =?utf-8?B?bEoyeGN2aEVpWXFmVEpndkYvaHA1ZnhFMjFGVjF3bS9oK0NEL0tISUREWTB4?=
 =?utf-8?B?NkNLVlhyTkhmUGdQcmJKTFlFVGRYZ0JUaU92aTR2ODRZWjNCVmlBT0pJSkZq?=
 =?utf-8?B?QzZLT1FiQzJOb0ZsVUJlU0grUWNYRFVWT1IwWnllc0ZVdE1oMkE0aDREM2ZF?=
 =?utf-8?B?SGJqK2tmQndVSmpBWXdjNUtZZW9rMjl2RXpMV0JGOXNYQjRKajExYmF2eDMy?=
 =?utf-8?B?QmhhQzJUR1lGby9sMTE2QnJOZHZUUnZPRE1ONXcxQW5FaUZWa3ludz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 29a07b09-3bcd-447b-a376-08dec56f29d3
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2026 15:03:57.0310
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kRChXOWPPmy9b8KR+mJOePdLroRVw/HQp6pzHlEKSvqT9DhJsk3kG34SR7lXIKYaUJ8XPbAkuLRKODJMeRqS9A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5908
X-purgate-ID: tlsNG-bad1c0/1780931049-4216DA53-3A94D5A6/0/0
X-purgate-type: clean
X-purgate-size: 1367

On Wed, Jun 03, 2026 at 02:05:50PM +0100, Frediano Ziglio wrote:
> From: Frediano Ziglio <frediano.ziglio@citrix.com>
> 
> Each page was sent using a different iovec item. This potentially exceed
> Linux maximum (1024).
> Also some implementation (MiniOS) emulate writev with multiple write calls.

I would add to the commit message:

"Coalesce adjacent IO vector elements to attempt to reduce the number
of overall IO vectors for each operation."

> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>

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

> --
> Changes since v2:
> - change prefix in subject.
> ---
>  tools/libs/guest/xg_sr_save.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
> index 1700d81905..62a39dfecc 100644
> --- a/tools/libs/guest/xg_sr_save.c
> +++ b/tools/libs/guest/xg_sr_save.c
> @@ -240,13 +240,20 @@ static int write_batch(struct xc_sr_context *ctx)
>      {
>          for ( i = 0; i < nr_pfns; ++i )
>          {
> -            if ( guest_data[i] )
> +            if ( !guest_data[i] )
> +                continue;
> +
> +            if ( iov[iovcnt-1].iov_base + iov[iovcnt-1].iov_len != guest_data[i] )

Nit: space between subtraction and operands: iovcnt - 1.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 15:13:47 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 15:13:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331939.1594589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbfR-00026B-Aw; Mon, 08 Jun 2026 15:13:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331939.1594589; Mon, 08 Jun 2026 15:13:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbfR-000264-72; Mon, 08 Jun 2026 15:13:33 +0000
Received: by outflank-mailman (input) for mailman id 1331939;
 Mon, 08 Jun 2026 15:13:31 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <tglx@kernel.org>) id 1wWbfP-00025x-Gj
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 15:13:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbfO-00DLol-P4
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 17:13:30 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <tglx@kernel.org>)
 id 6a26dc13-5cb7-0a2a0a5109dd-0a2a450ae972-34
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 17:13:30 +0200
Received: from [172.105.4.254] (helo=tor.source.kernel.org)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <tglx@kernel.org>)
 id 6a26dc19-56b3-0a2a450a0019-ac6904feda18-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 17:13:30 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by tor.source.kernel.org (Postfix) with ESMTP id 855CD601E2;
 Mon,  8 Jun 2026 15:13:28 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 945A51F00893;
 Mon,  8 Jun 2026 15:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="From:To:Cc:Subject:In-Reply-To:References:Date"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780931608;
	bh=mg7/+m75L9vy7oRrRsWTHKmIvgWh3VyWCWO0qvJldsU=;
	h=From:To:Cc:Subject:In-Reply-To:References:Date;
	b=bS1Y4UZ7FizRBBWK1g26cJ9yx1nivTVjql/1FOqywg7FmLw+3X1iFcs/o3Up5u2Ww
	 9MZXZL0vXeM2u6pQUf1FrcgDh/76TkpN8rpow7BzYvSjv0OjV3RAAEsgQhDWTOkpKA
	 LIASIOcBbX45Ci3i+oEqZV/AQhcE3fTVcld5yDqMFCDQ1Y9/Bw9QsR5BFxsdepxaSk
	 dxaoDfPSogdWC4YxIxlGLhWPIYMR7aDYdtE9LggWE4S7r/z/VFKgFVAVdLPUPurQkS
	 Aq1CO+QLmIDff0SXJBlY8Aj9jJCd6SnObydvK2NHgjaAruCn/QboYP+pvkSUe312SN
	 LccP1gIIZFXnA==
From: Thomas Gleixner <tglx@kernel.org>
To: Teddy Astie <teddy.astie@vates.tech>, "linux-kernel@vger.kernel.org"
 <linux-kernel@vger.kernel.org>, regressions@lists.linux.dev
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Olivier Lambert
 <olivier.lambert@vates.tech>
Subject: Re: [REGRESSION][BISECTED] Long boot time with Xen HVM guests
 during PV spinlock initialization
In-Reply-To: <1780914594.8631fc262581453bbf619ec5b2062170.19ea6c8227b000701b@vates.tech>
References: <1780914594.8631fc262581453bbf619ec5b2062170.19ea6c8227b000701b@vates.tech>
Date: Mon, 08 Jun 2026 17:13:25 +0200
Message-ID: <87ldcp3w16.ffs@fw13>
MIME-Version: 1.0
Content-Type: text/plain
X-purgate-ID: tlsNG-4011c0/1780931610-73F798B7-7A940546/0/0
X-purgate-type: clean
X-purgate-size: 1804

On Mon, Jun 08 2026 at 12:29, Teddy Astie wrote:
> In 6.12.5+ kernels on AMD CPUs, we observe abnormally long boot times 
> where the guest is struggling on PV spinlock initialization.
>
> This occurs starting with 6.12.5, and also on more recent kernels on 
> Intel platforms, but that hasn't been fully investigated at this time 
> (but I assume it's a variant of the same issue).
>
> This occurs since a backport of 76031d9 ("clocksource: Make negative 
> motion detection more robust").
>
> Some (claude-based) analysis made appears to relate that to the lack of 
> proper max_raw_delta in the jiffies clocksource which appears to make 
> the clock fail to progress meaningfully.
>
> Here is a raw summary of the analysis
>  > We tracked it down to a single stable backport in 6.12.5: commit 
> 1a678f6829a8 ("clocksource: Make negative motion detection more robust", 
> upstream 76031d9536a0). It introduces a max_raw_delta field on struct 
> clocksource but never initializes it for the default boot timekeeper 
> (the jiffies clocksource), so clocksource_delta() clamps every delta to 
> 0 and CLOCK_MONOTONIC freezes while that clocksource is active.

Bah. jiffies clocksource is registered way _after_ timekeeping started to
use it.

The untested below should fix that.

Thanks,

        tglx
---
--- a/kernel/time/jiffies.c
+++ b/kernel/time/jiffies.c
@@ -60,15 +60,9 @@ EXPORT_SYMBOL(get_jiffies_64);
 
 EXPORT_SYMBOL(jiffies);
 
-static int __init init_jiffies_clocksource(void)
-{
-	return __clocksource_register(&clocksource_jiffies);
-}
-
-core_initcall(init_jiffies_clocksource);
-
 struct clocksource * __init __weak clocksource_default_clock(void)
 {
+	clocksource_register(&clocksource_jiffies);
 	return &clocksource_jiffies;
 }
 



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 15:26:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 15:26:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331956.1594597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWbrw-0006DW-DN; Mon, 08 Jun 2026 15:26:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331956.1594597; Mon, 08 Jun 2026 15: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 1wWbrw-0006DP-AI; Mon, 08 Jun 2026 15:26:28 +0000
Received: by outflank-mailman (input) for mailman id 1331956;
 Mon, 08 Jun 2026 15:26:26 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wWbru-0006DG-KC
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 15:26:26 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWbrt-003Lxa-KE
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 17:26:25 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a26df15-e002-0a2a0a5209dd-0a2a4505db7c-28
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 17:26:25 +0200
Received: from [52.101.48.30]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a26df1f-aaa8-0a2a45050019-3465301e98db-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 17:26:25 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by CH4PR03MB7722.namprd03.prod.outlook.com (2603:10b6:610:246::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Mon, 8 Jun 2026
 15:26:20 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.011; Mon, 8 Jun 2026
 15:26: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=adcvfO/7sGdLOmZRg4sSMcJKXFLORUQjNSHSPvNOXmJFF3XCazlAApuoiiUplankTza8T5vpVQc8+k/H19s+fhwk3eK1Cc1R/ScrWgvl+4nNjsyZocYoecwg+lK0TIuAp9/PZEIgIiwzxQoJekie+F64lmyouhoATDoYdWsSS0qf6j0eLVvuaMNMsFMSYyQG+s8eEvkD/f3u/RrLJ2nx2neD6hY4p3fINmysfJsiqSV+iLcKvRQh6puFsszLBAPKNDR2qoBzpckIf9IewcvtEfgyJY1P62/bpQ39+MBIwU3PgcCT71rtGK7olgyCdOKzzF1fY5FMyrNtmI3u7q58Gg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WPrkclRkLfpmh/5uDYxjJgJ6rXp9wHZWnXRUIZVMw2o=;
 b=LeR7ZijgtKaH5xT0qn1IZEpo8VH6ZwQea0sHX4Joimz3KPQETRcB8c043oRJP2GGI/GcUebBXSRUdF2+lNdbMQvViByVtYBIANP02AoGS3RsUenTjv/FIlkL0BhyOQjfd1q1GRWrEZL6zTsxmbyHvIMnXOD2Q50MGB9zMxmg1NmfyGuo86nJR0Lhw1VKyMf+QkZ3/xWQ3XWokSSYdfMTyxFnE3+9KLun+tDpCltbvOwKpDk4UbkE2sWRXXfdh/GeXurv6HqviKa8uVp41CQ6a4qPXrOQ113WBA5nuV3fiV43B8Q140J5h0cufPvSnBI1FY+SBWAL/dPxkQU4AwrjqA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WPrkclRkLfpmh/5uDYxjJgJ6rXp9wHZWnXRUIZVMw2o=;
 b=jpZCmhm4J/E/LNPe+f9VTjWodB4f85zO7RaLQKFmZV3XIEwSAlTNROEtObNlypB4cgJ9pkClnV5TNouLKuKDgT7ehK16ojDhmQOvpCqxANrlrHKdjGoOX+O/uIBaY2I0zarcGtqAQ+M2peQZ+rQHT08Y65o5fIvbg22Gtw3sh6E=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 8 Jun 2026 17:26:17 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Frediano Ziglio <freddy77@gmail.com>
Cc: xen-devel@lists.xenproject.org,
	Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v4 04/16] libs/guest: Use a single write_exact in
 write_headers
Message-ID: <aibfGcDnEGXBqAsW@macbook.local>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
 <20260603130603.776452-5-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260603130603.776452-5-frediano.ziglio@cloud.com>
X-ClientProxiedBy: BN9PR03CA0148.namprd03.prod.outlook.com
 (2603:10b6:408:fe::33) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|CH4PR03MB7722:EE_
X-MS-Office365-Filtering-Correlation-Id: 9c0b4744-8bf9-4854-7a7f-08dec5724a45
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|56012099006|11063799006|6133799003|4143699003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	ZRpZOLXINJsuWm8C2TLJUQ8rCqFzBNKFxLMEBdDepNb3JFOmsQIdAMifFy0Fuy/JCXceu29uQ5dGZudzZgEGurWgd6SUZbKsSkUo5x9tIryXLcS9X4vgAqeuHH57cix4uChwptgC87lkhgaNP1v0DOfUMPmfGG0LRdu1tMflcK0AOUyvZFa3GtvCiLI3Fmo7tEiLjHhThzT1csXou4rnScbXCVU4Ud3/rVsQ9sTudgt74P2HVWgAUzepkXlw7qkNRRM0RvgIom5mD+Qm3exyKYun0oIFktPx3aSVAvtxaspahccMKNnlC4T9dzXU6hSGZktoJvSQa6dnl/AHwGH1MXT8GzTQGohBu+YEfZmBLZ7ls0CezSQXuVn3IHFNvydKqDAd5eDK+gZ0/0YMwKbMW8ikeI0nNsG48RP/qBbQ1ZjZIAwALaitGnq/Y0ubLgwqG2F8Tj31XeVVUtXXyQJTIHxy7zcPs/ry724wgNdKLKuuZI+Ff6aEyKR+s6st8ZBCSYqZoIGKZFAUjGD5FwEtvLfILbPcd6k6YWEIW8nNOC769ih0n7igXnco4N3MRZ05WOOs+dIR0bcAQXU9V88Iyh+Z/2+YSLAXoVDMV2ls7MwQqmHJJA/Biwj4gzex7WhKbw/zjxRF+yIPmMUbp+NFinx1ptTwL4JCWKFpiaFvrxZ/KX450rDPaAHaJnRZh0pP
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(56012099006)(11063799006)(6133799003)(4143699003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T1NPWlhsM1RuTmxVNFNGbDc4OS85MW9WbHNJeW9lUGNnN1VobEdhME9scWd1?=
 =?utf-8?B?ZTRYQ29vTEoxR0tCRlVER3pDTUNsTzdrbFpkTFp4MFk2S29yaDBhWVpLVnZa?=
 =?utf-8?B?cGFMVHhKTGFGSGplSG5JQkpQYzFDNml2N05ITFNicG9xcVRPcDJ2Zm5zdDMw?=
 =?utf-8?B?bXFtdmp5Nm9kZGxFY3h1azh3cWh0OHpPaWFLWE1VYW5mMXhIVWtMdHk2US85?=
 =?utf-8?B?R0JnbXp1dVh0aGIvR0ZwYmU1ejZwTGlENnd5cDRuVFJCdDhMTTRlbGxJT3VH?=
 =?utf-8?B?NndybGNXcDdSRFJoVEpldnAxUnMzckprRldkTmJDdFBZRXlFNERUTTJnMUtM?=
 =?utf-8?B?SDlHa1lrKzFmNmxBRzVBQlRvKzNkbmJSNTMyZ0R5SWw4U1RBcS9LOUkwZi9w?=
 =?utf-8?B?SGpXd2lpSGtnYnFOTFNXT05kUTVzMkgrSUFDVzN6S05oMjJvTHJVNmRTMjJO?=
 =?utf-8?B?UTBtZDNnN05iWDVuV2pXN055TzNCK2FjS3lYRlR6RFJKUVRYVmNDQUJkN1R3?=
 =?utf-8?B?UlVKaFdoOGhQWHRNUFhuZ3kzUFhPZzZhVDVJc1ZQcGJsaTJxaG5XclBFbUtM?=
 =?utf-8?B?QTExcmVqRzFia2FLVTJwZnQ3cWZjdlFjRXkzVGgrbC9VcDFyaDYwVWNFcFU1?=
 =?utf-8?B?dCtPZmJPRnRaU3BIbkJyNndXQk8yVkpJVUdoRi84WTNWc1RyWW9iUktkWmtm?=
 =?utf-8?B?Y2FORC9tMldNT3NvSnBIZWdBTWIvbHI2dFYrMXYzbWtZblEzdlh1OVBURUtB?=
 =?utf-8?B?OE9kbXU3Y1krWjU2aHNqdXU1bDFFSHM5YkpqSlVrNGE5N2NwamdKZUttZEJo?=
 =?utf-8?B?TUU1NytqeUI2NVQwYzNrbHBJQWRUSVk1VjdTQUwrelZiNFpoWUpzaWZoSWs0?=
 =?utf-8?B?MkE5b01HTDZVUVUySmVQOE4zVkc0NVNEUENVUGFpejRnWGxkTzByczZIQ2JP?=
 =?utf-8?B?dVVBcnltRHN3ZDVhaGMxSHpsRlljZ0dzdEJqYTNIS3FlV2VHOXlvN0sxUWh1?=
 =?utf-8?B?MTRKRnNFQ21LVXVEWG91NXRsTmVvK0NpaFZkZzdQNU53eCszTVpEckNyT01F?=
 =?utf-8?B?bDdqYnZ6QVJjVE03dmZpVUd3TE90cWNoaVltaXprdHgwUDdUN29manBNaDd5?=
 =?utf-8?B?Q2lDM3ZCZk45UzV3OWVVNnBPd0RyS1JMbFRwKzE1NklrWHM2V2NHMUh0eGZa?=
 =?utf-8?B?Q0habFpTSHBsa1VQRWVDRkt2MHA1VWdLY2VpZVNmSEdqd0VmMk05dmdiekRU?=
 =?utf-8?B?ZkpyUkR0MlZoK0srUVphdDcrbVYvNDJ1TEQxb0dSTmVNYllRNWpPcVZUdmpI?=
 =?utf-8?B?bXIxUExNK0hjdVd5ZTlwQlpaNVE2bmFiaThBMFIzNkxHNHFBMUdHSUVHSUJV?=
 =?utf-8?B?U3phRTZYem1hd0FZYW5WdVFIVmpCMjJ5Q3VxMGV1b3Zxc0VYaGRQUUloL1lK?=
 =?utf-8?B?T0VUV2hQK0M2U1Yzdk9tMlJMeW1CYjlXV1R3OUdyQ1F6eTdSQy9nZTFmTXVs?=
 =?utf-8?B?SFdkR2laYzdmY2ZtalZYejFrV2NDandlRlB4dXYrbXdrNWtBcDdEcUgvNW1x?=
 =?utf-8?B?L01ZNG5qV1NTdXZwRmhTU1kwYlkxVnh3MmU3Smo0MTVEWUt2cWlZcGZCa2lC?=
 =?utf-8?B?dnAyUVdRSHFBR0hQamlCMDBuVnB2TnFteUc1emVnWlVCZmg1djVTQTd6eHRh?=
 =?utf-8?B?VlRPSXBZYjdReUY3cnpIQmdFeGFDZVFiVkZlWTQwNW1mY1hFWlhlZWlocVhO?=
 =?utf-8?B?akZoRWQ4SEs4aHNocjQ5akVuaFpnczhKRG1QeXJ6RkxjVW56VGIvcEIwKzJo?=
 =?utf-8?B?MHRVNmdJaFMwVmFYWFdqTUVhNWx3Z1VlOG5nUTBISFp5cXliQUxYd29UK0d1?=
 =?utf-8?B?cmtWanlObmdFcFQrc1JHWWdLOGQ4WXNRNVZBWGZHZkdwMWVBczJWU09RRzZZ?=
 =?utf-8?B?ZW1MUTYxU2RRVSsxcFozYXNlU1o3dURDWmlueC9Cd0RZSGRyRUFiQmE4aXZa?=
 =?utf-8?B?MjhVSE1IU1FEazFHSUhwUTJFL3hQc29ZMGtIZ1pBeEhvdzEzU0VMaEdrUEdh?=
 =?utf-8?B?eWxISDVFNUtUTmRtd2lvVW5LcGVqTGF1aUJiUEY2SUhPVnRONjFvSml6NGtK?=
 =?utf-8?B?RzEwb09nZ29KMjlEK0dGQ1BYb0NqMVBUV01kTnJ6UVJ4Sno2MTdYamliTHBP?=
 =?utf-8?B?MmVtbllJRUVtNmtuY2ZLQW40MG13clRLelI3cU03andtZGVuRVBWQW8vWm94?=
 =?utf-8?B?OFZsOGhaQW02N21uc1h0TDIxdlIzeDV4WG5HSi9hZXBRRkFqNDNacmI0bjF3?=
 =?utf-8?B?a0Nxa2ZuTnVIKzBPNlFPejZvWFZFNzFiYXlEUHFzUytIQnpzUE5mZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9c0b4744-8bf9-4854-7a7f-08dec5724a45
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2026 15:26:19.7982
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /yCGYixM1F5g+YYD1wLS20tT/iGFRb5Mwti095vd7AcN/IYTi99WkJHHDeTBf1pIav0QsZVH49ciJBxCJsdWgQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH4PR03MB7722
X-purgate-ID: tlsNG-c201ff/1780932385-E3D67443-AB2C214A/0/0
X-purgate-type: clean
X-purgate-size: 1946

On Wed, Jun 03, 2026 at 02:05:51PM +0100, Frediano Ziglio wrote:
> From: Frediano Ziglio <frediano.ziglio@citrix.com>
> 
> Reduce number of syscalls.

... by coalescing the image and the domain headers into a single IO
vector array.

> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>

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

> --
> Changes since v2:
> - change prefix in subject.
> ---
>  tools/libs/guest/xg_sr_save.c | 37 +++++++++++++++++------------------
>  1 file changed, 18 insertions(+), 19 deletions(-)
> 
> diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
> index 62a39dfecc..8c4e760f8d 100644
> --- a/tools/libs/guest/xg_sr_save.c
> +++ b/tools/libs/guest/xg_sr_save.c
> @@ -10,17 +10,22 @@ static int write_headers(struct xc_sr_context *ctx, uint16_t guest_type)
>  {
>      xc_interface *xch = ctx->xch;
>      int32_t xen_version = xc_version(xch, XENVER_version, NULL);
> -    struct xc_sr_ihdr ihdr = {
> -        .marker  = IHDR_MARKER,
> -        .id      = htonl(IHDR_ID),
> -        .version = htonl(3),
> -        .options = htons(IHDR_OPT_LITTLE_ENDIAN),
> -    };
> -    struct xc_sr_dhdr dhdr = {
> -        .type       = guest_type,
> -        .page_shift = XC_PAGE_SHIFT,
> -        .xen_major  = (xen_version >> 16) & 0xffff,
> -        .xen_minor  = (xen_version)       & 0xffff,
> +    struct {
> +        struct xc_sr_ihdr ihdr;
> +        struct xc_sr_dhdr dhdr;
> +    } hdrs = {
> +        {
> +            .marker  = IHDR_MARKER,
> +            .id      = htonl(IHDR_ID),
> +            .version = htonl(3),
> +            .options = htons(IHDR_OPT_LITTLE_ENDIAN),
> +        },
> +        {
> +            .type       = guest_type,
> +            .page_shift = XC_PAGE_SHIFT,
> +            .xen_major  = (xen_version >> 16) & 0xffff,

You don't strictly need the mask here AFAICT?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 15:37:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 15:37:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331967.1594606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWc2E-0006an-Bs; Mon, 08 Jun 2026 15:37:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331967.1594606; Mon, 08 Jun 2026 15:37: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 1wWc2E-0006ag-8S; Mon, 08 Jun 2026 15:37:06 +0000
Received: by outflank-mailman (input) for mailman id 1331967;
 Mon, 08 Jun 2026 15:37:05 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wWc2C-0006aB-VC
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 15:37:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWc2C-00ATkw-1L
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 17:37:04 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a26e19f-5cb7-0a2a0a5109dd-0a2a4502d262-0
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 17:37:03 +0200
Received: from [52.101.61.28]
 (helo=DM1PR04CU001.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a26e19e-af86-0a2a45020019-34653d1c147b-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 17:37:03 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by MN6PR03MB8007.namprd03.prod.outlook.com (2603:10b6:208:501::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.9; Mon, 8 Jun 2026
 15:36:59 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.011; Mon, 8 Jun 2026
 15:36: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=j2AaZ33ERCDtDhPM8+8AKVq7cX/r7gNxO9cxwAqyYI75eSt2lecFlHI4/Q+CPMEmbcvFzBxCXFonvWjYu2sv8Vejjp35/szoQU6mJi568y8KAa25wVy+1nfCH6xn4zcnWyU4dnlqWQQctxcY785aXp52E9zFoSq1Sy84h74PBPxP0GrG1B2Lv6ZvzNEfC04vLggz4AOFU6zuhBgTgZGfWWS0J2mkCjkiaxZCPr6Zl66x9gxqLURy3IGYMvgBRKzGDpvDOeoiNI6gtt/CpSnTVYKzAiqxsFZ6VZiARdSCS+qL35s4JvKrTi5LrEiPBIWNOTtWD+ujjpwdSw7clxDGTA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TYBRST0mFvZXveAkfEab59lm0YqJz3E3DNVzc1k1Ubk=;
 b=h6jDROXIJDdxX95ctviD1dsQh17t2M48YJ9vorGAUt9bZ94Ug8SlfYQ5ImQrZzcTQfRO+PeO52Bs9FYweOeQ8oxibpa/oePmco/W96zfJTs5tZLIciv/TwYTB+QSnE62ar/zoBCLoe5q7f22CVVzicZ78ioC31opixQJZZuVt3cqtJWVyjUwIdWW0ZwFLcb252UE1cMn4UdcqUg6SaQYcUk0yCUejCmBPrSSpIhOA8Izu2NhugWkOt9B51bLcHUCHT9zd/CZticECYlKYHT/oTAqREZZ90w6b4Bve01UUehMYfTfhfbPvXjycTatwc7SA61S5v4E2SIAhe/xr/U8PA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TYBRST0mFvZXveAkfEab59lm0YqJz3E3DNVzc1k1Ubk=;
 b=F/gagGHXd+C/2uWdys5k4ScJOSiq749ticMjYWP+LqL30cnx/a/IwagrQogeT0zQv5xd6v3vUkDLMEANFoi4wPOnPe7fnllhxXO3eBmxCROD5aPwMsvtaYnnfy+/DF2/TPQRmgJSiptpEI47GjjPHn006qtufWX+ux3JmfW5vrU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <ea002cf0-c2cc-4612-af61-8dba7887af61@citrix.com>
Date: Mon, 8 Jun 2026 16:36:54 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: Re: [PATCH v4 05/16] libs/guest: allocate various migration arrays
 just once
To: Frediano Ziglio <freddy77@gmail.com>, xen-devel@lists.xenproject.org
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
 <20260603130603.776452-6-frediano.ziglio@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20260603130603.776452-6-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0539.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:319::10) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|MN6PR03MB8007:EE_
X-MS-Office365-Filtering-Correlation-Id: f1b13133-b943-4700-dff0-08dec573c6da
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|11063799006|4143699003|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	AS63UKl6dn5/Aasml1cshK2W2sUiz/sAX6aTveiA6KtKbwn8T7PYElnLkFHmOgYgB0Kdy57GGgh+fecbuYGP6+Z/fN6OcR1dGUK9vaDeI8jmo09nwamxkEucScPpxE0CW/xQ7gXC5k2PNA8J1CDw6FgfdXd2Dom3qM6brCe1Erk7E2i2k3fxeRrAuPmom5p+vkOzd0zBZzkW+fQmdXLlPNj8uyFSWB5P9eYW5AvXOZWagFF8nnppuKZZZToMGyo2pyuLO/0o13sGPDEhmkSfmG3AnYJoyqIgTUg9r8aRRSjpC589gd2GmvhWwRsq5FPzpTRVqIkzHEsmFxDiTpnOBdVeX8rlBV3yam+MqzG1kpIYmYgHF20rDFWloyCH2sOcmnnf+6RHkjlVSOMbF0xXg9YYFgqIM7x3g8jQxsapl7OQiapG6yE5wnNZBO0ewidlCj4eLh5gr+Lie1QEqwgjThYo+Z3s1pKar/AyEY0XaHME6l3z+FIOGbrtadOXh1mRDBT3uKrjSXkmJz5BbyDwhjrPHEKrIEwqHqeOy9h0oQKV30sIxooasIv6LO8XfnnR/M7pMW8IIt1WaFZkSxTcrcU63nW8STDJ1NsJi9tW5XffyVFPSDGNFUQZrK7oEeQss+CRfYZDezKaQqptM2hSbRrmbGGkP0bY4+rK0kDbCeXm/HbcyMTiltlX9rI9Fqke
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(11063799006)(4143699003)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YXdkTTFLcmk1K1M4QUtsdHBseUNHdzREV1IzcWFmWGNjdFFscmUyYkJYbkM3?=
 =?utf-8?B?dnE1Q24yUWpDK1lGVytJOUV6NENjTGFtOU9qTWdKYlFRRzdxRVhZMjN5UzE2?=
 =?utf-8?B?ZkxHWlRpcVNkc2xVZDFRVWpjQ3ZMQ3NJZWhxaGUwWmQycEpFdWQ2N1B2Wng1?=
 =?utf-8?B?M0N4UG5ZTmF3eHh3ODRrYkFDS25pL00za3JDYWJ0VmJ3eGhXTjRraU9DSjRO?=
 =?utf-8?B?NllkNjgwMkE3R3BTV2srd2JIMXViL28xNUgwYmJVRWdyTWkrK0QxTVlMOGY5?=
 =?utf-8?B?TEtOS0dnQm5Rb29RTUlhc3BidVFGUDBtdmlWZStCSnVtQng3RmxWYUxRbmR2?=
 =?utf-8?B?NURsSFhLSHBvZFdKTHZWb05CRWc4UFpHTkswbGJ4MFRMSkhlbzJKWXdRd3Uz?=
 =?utf-8?B?NXI0a1RLS1JnSlhuTFRaeEpsMVI4QmZVZmdjcUtxakNsaitwY2tmeVBCSkVv?=
 =?utf-8?B?OFVBVXhhZzBWdUovRGRNVWU5UDB4bWlsaVdpLzVZOFMxL2UwT0RXdlYxS1dO?=
 =?utf-8?B?cHliMlJTV0RMdFd2dVMyWkxDTWtram14L1JDaU1oYUVWZWk2dDQxMU42dEpX?=
 =?utf-8?B?NlhBR1EvcHZYZjc4RU9QMFZYV2xVNjZnanBBTlBlbUs3RTA5R0VoL3JxRUxr?=
 =?utf-8?B?ZkhyVTZUZ0hPZk1TOTZNN1hxbVcxaTVES1hWUCtUaWk3M2JHc2t3T3J5RXlP?=
 =?utf-8?B?clV4eVIxblAxdHJkZlJ3bWhRWXh1aG9QY1F3MjJhK3F5SkRzUXpOL0xhTDNT?=
 =?utf-8?B?bFc2M2U5bUdVbEd0UGt5U2hKME04MVdZeTNpTXBSaVVySHBFTmt3WTdmK1FE?=
 =?utf-8?B?ZVhRY3VPMmE1ZHk3S1pKMmVLR1JnUlpZTlloVjhaanJOcDBHb1hCTElkZFdt?=
 =?utf-8?B?VXRGU0RJMVcwSzVSQzFLUUVVdnRTQUs2U25oZVN1SGRlN2hGQ3JlS0FubEVS?=
 =?utf-8?B?VWNkUTFTM3FJY0RBaEluZ0NiTmowYTZ6Z2pVQmtBYm1JaVU2MlhpbmNYdkI0?=
 =?utf-8?B?dVFuZGQ5M1pjRkxIMkRWUTkyS0xsZzRXS0ROZ3RCVERlM0FIMnBYTDRZMXF6?=
 =?utf-8?B?MXEyM0JWd1JKcTRhTVFUcE1wM2xQUVZHdFdKTmd4YXJQaTRGeFE3SDJHWVd2?=
 =?utf-8?B?UTlzeVF3b1VVRnYyY01CWUFYV1ZBT2dnVXlMT0M0TENVQ2pZQmpQbWRTL2Nz?=
 =?utf-8?B?NkIwdy9QY1lCSmM3ZUFkTE5KanFrMTgyd1FoYmh4Ym9mdHZTUElsdlU1R281?=
 =?utf-8?B?Q0dCOGQvcTYxd1lmb2xRZXB2T2c3RHk1RXFWMks4Q0YzeHBqNklTcHlRenlV?=
 =?utf-8?B?dnlhbE4zdEJrUU96ejZIRC9hTXBvSC9Fbm1TU08zbnBHM2VxVXBQZUMwcDAr?=
 =?utf-8?B?VHdhZUFzL3FFbDRUTlZNaUpyekkrNkMzb3B6TjVTRlhSeVhFY3UrNWd3WENS?=
 =?utf-8?B?ZEEzbnlUNTh4QmNuUVliNmM2ZDVMZHd2U1puQjI1MTZZU05zTEFDdG5nVHRz?=
 =?utf-8?B?UjJCVytEbDl0SDMvN1lPVHFpeGtSdGFEYmhublVtMjc1a0RmSFV4Q0s1M0VX?=
 =?utf-8?B?Ui8wVnJuZ0xDMDRHZkdoZk9MNmFURHgrTXVhNTVyeWxZdisyMi93UVZqZ0lO?=
 =?utf-8?B?TzhlcVRpL2RHemJwckpxSjljUUJ4Z3pqeXdJQStFUWZIeWRYTHNza0JDK2ZD?=
 =?utf-8?B?UWdEb2Rybll3RFZzZ0paQVR5TnNyUnVGbHc2cXBsRHJlZEx2UUJqbnN6Zk9a?=
 =?utf-8?B?VUhYazRoVVNzWmhHc212ZmwzLzZLVVlTQW9OZW51dE9sbkhML0lSemxnZXJY?=
 =?utf-8?B?NnAxbGlpVFRqdWJJMlU1WTBtbXdlVXBBc1BhT0VwcTVPQWYxekg0b3E5Vm1o?=
 =?utf-8?B?VzFYYm0yZ2ZkKytLYjFWa0hOY1NXSU9nQnpML3BJVld3QTYwbDc5U0tVbmNS?=
 =?utf-8?B?b3U5RzVoT3JNWTg2ZU42cmt2dWZYSWdLbDVlSFcvckFLN0RRc3VObFVnMmxy?=
 =?utf-8?B?dzlUL3FnK05YRk95TTFZVUJFRHN3ZkJPRXBtYTVKTjlUL2xjTEpRbnFaTzVL?=
 =?utf-8?B?aUU1V0VOTmx1ZEUrTERaUkJNZVlheTNLcFl2ZXNiN0J2NTJrcE5uZnFzRG9H?=
 =?utf-8?B?d2JEanVtaHRsZ1BaWVNISE1OUTFKMEp5VWtDcHljZ1Y3OWErakZwVUJ1eFB2?=
 =?utf-8?B?MEpDb08zTHdpTFF1aDEvWW9DNmNIcXozaDl3M3BKY2dnWExzSUQ2c0Z3QlNZ?=
 =?utf-8?B?R1YvajRhb2tab1o0OHllclZQVFNRTnpYeDczZ2VCZUlTWG03eXVCS2lhaUlK?=
 =?utf-8?B?aDl3YU5sYko3TjFGL2Jkb25NUXdpWlJ5dURkekFkaHhDcHF1TU9HTm8vZk9G?=
 =?utf-8?Q?oFKMNOydFZPOhEek=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f1b13133-b943-4700-dff0-08dec573c6da
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2026 15:36:58.2655
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2BYHOCx+JfBfIi1Dca3KrBjkFu1oTH/zWPFJobnPSjdQNqCq5sQDFKznquvSdLtA9VUIA6pr3QlAeYFGWDGwUiuqSsF4YFEa8Bc/Z5nGGvU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR03MB8007
X-purgate-ID: tlsNG-720697/1780933023-81B70161-386DE5A9/0/0
X-purgate-type: clean
X-purgate-size: 534

On 03/06/2026 2:05 pm, Frediano Ziglio wrote:
> From: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>
>
> Allocate these array just once at the start of migration,
> using the maximum batch size, and free them at the end.
>
> Signed-off-by: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> --
> Changes since v2:
> - change prefix in subject.
>
> Changes since v3:
> - fix comment style

These are intentionally freed/reallocated so valgrind can find overflows.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 15:49:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 15:49:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331978.1594614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWcE1-0002Lz-ER; Mon, 08 Jun 2026 15:49:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331978.1594614; Mon, 08 Jun 2026 15:49: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 1wWcE1-0002Ls-B1; Mon, 08 Jun 2026 15:49:17 +0000
Received: by outflank-mailman (input) for mailman id 1331978;
 Mon, 08 Jun 2026 15:49:16 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wWcE0-0002Ko-7I
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 15:49:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWcDz-00DPxp-78
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 17:49:15 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a26e46a-2eae-0a2a0a5409dd-0a2a4502a0d4-24
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 17:49:15 +0200
Received: from [40.93.194.18]
 (helo=SN4PR0501CU005.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a26e476-af86-0a2a45020019-285dc2121dde-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 17:49:11 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by LV0PR03MB989297.namprd03.prod.outlook.com (2603:10b6:408:398::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Mon, 8 Jun 2026
 15:49:08 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.011; Mon, 8 Jun 2026
 15:49: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=fxxx5ScZdNsmFzaRTEsJYmBEX7GEJvKuQDcxcdItm74+PnrvF0srAH0eWewnEn4Bc0ABBmtzpeLCJlZE9avG07jHkzu+1L8IOVxBkfCWDuVxsbgPWmX9e4+lFXiYR4ojtCNxHkUn6k3l1acTJLzzixj6RMi9ZsRcnJ+YAuMWiF2ecuPCjaJiCsPW5gqb4PxfZPQ1uGmLE2N6AcDEDSTUrwijmN7ztk2ghbrTMZPemmWp04oyxLKaxWoVpKh1Th1vYOqGyTpBj8XYNdmRPrZEs08hfzC3C68EYpyIBjulizzxQFtpnDSTbpepx8JbAKOENZR64nSi+rAqg3URPrTrjg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NXEUH6DhDRlMQFxC3n4/ns1ohebv+I7XvDIajM+HBck=;
 b=L9qSq3U7vlAVNZm2x5bp4FrCacSjSw8TXzKJ0aHEawdiwA6W9dcUT2HNIB+mdIfGBCmGCXuFk4+uq0dZ02A7id/dLs8qqmOoX0CO6y5m6JuP46mU7n8Is3jVtNA0e9vcsjDIaJx7SO+uYHhYPsetgkRhlTuRQGsGBD4+n+3RBrC881/+nyZvNDsmo5hs6dpNx0k8qBW8XPcswsbr2GZO0UFNWedO+uvDsYyAggNZeWsKaEpYWL1hiJBqBHMs+bzH4sMyFqMMXgVQhCduF4aIteJRvQmgSSLX0KmpTt6BWVX9GUOpL0Xc5pdG6ptQZ0gem95Idwnz+79riW64HQQBxA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NXEUH6DhDRlMQFxC3n4/ns1ohebv+I7XvDIajM+HBck=;
 b=KnDbnYQP8tEgVOZbB3edbiklh2jVvstxfVFJxOuDnEQw/Q6+ICIymdVwOuQsL6YwGKbYrbltZIu7pYuvmKIINE77/+rr541SgER6QnR99d61OH322BqWurkcOVhIEGXfhKQS8AoIVZWf6UON+atT0Tq1/ZfutL+Wzb1ABhSjygs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 8 Jun 2026 17:49:04 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Frediano Ziglio <freddy77@gmail.com>
Cc: xen-devel@lists.xenproject.org,
	Edwin =?utf-8?B?VMO2csO2aw==?= <edwin.torok@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: Re: [PATCH v4 05/16] libs/guest: allocate various migration arrays
 just once
Message-ID: <aibkcDCjyeK_0lMK@macbook.local>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
 <20260603130603.776452-6-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260603130603.776452-6-frediano.ziglio@cloud.com>
X-ClientProxiedBy: MR1P264CA0011.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:2e::16) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|LV0PR03MB989297:EE_
X-MS-Office365-Filtering-Correlation-Id: db9fdb4c-b54b-4f2b-644e-08dec57579be
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|11063799006|5023799004|4143699003|56012099006|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	e2lF+lZ0O5jRoBJYH96FewOtbxUTqY5rphYmjwR9Jh4Qf3fbQimttVRZTaP+FjEU63arUjUpDVB3w3u05vvgchQ+6BMYgsYHjal1MZuXi2w/ji69CaeoKCdwMakV020KYs9OJPNvHzaR3mS9RGWxkgeJOc7SyfQi2JMdRJPqFLugXc9sUBucgQI1PAXO4h5IG4mBIqG1ltuziE07+81qrgJyIZZNI3k44pVBZSCyBr+tSZlicg6ecdMU2TjPLfnecGRJWp7zjSEJ793TW5Xc7F79ftIM1hKdxo7+QexqklmEDd8/XUUb7qDQf7cyJd9bTecx8Nzs1mV1nXPivIytMkrAIRjy1nMuHL2k/F1LEKNs0Bd/uG85UDhRPOE9RB3wRNXvfsT4yR/PsDOGqAvynaCrUYHQ4u5nZf2C0r8xyaEUSvtABIJiBL4dQX4RZb5z131voAVfoSNcbScbxJodjNR6VjYsGPsN+uU13NmLbRPZiRV/mfm5TqCBJ8TB3lTbt6TG7tGn4a1Fp+yz8e54WcfqW7skgM2bpvr5gvDlJdgQ3MSxt02EtULfD74lIN5wdYXOMOdSXAQrriblEmDpdkYuDCXkP3NLjrPoutxIbbE6QcKhv58EBrMZXKtK5Y/YB4Bc+8TSV81mHzb9mFh9VkULymjIfxwBHgoVOtPT9UULYRBvAcxj+SeWx2PNyt8eDhSkmpcjNSNDI3o+pcXyzA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(11063799006)(5023799004)(4143699003)(56012099006)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?THlEMEpwNjlYWk1xUGdBZjM0MmxMejV6TEtWdTdNUWswcmdLbjlLM25zSUFY?=
 =?utf-8?B?U1VsREwyS3paQzdmdE5oU1BXWk8za2lBUjJjM3loaFhheUVXWHZXWldITFhK?=
 =?utf-8?B?K2ozTlFrcm1UM3FPTzMrSkxOejBtclFKT0pFT0ovOXVKRU1QVENlOUNIemFt?=
 =?utf-8?B?Q0lpTFcwSkRXM1lkeDlMenRRdHE2SXNJOE5sdXNXNUtJb1labFpZaXlyQWJO?=
 =?utf-8?B?U2JQM3JFUzI4bjVPMER4N0t5Mkh4MVIxREZJVVorK0h1USttOE5rdHc1M0h3?=
 =?utf-8?B?VWxReW1PS2tTTjV4ZG9JU1hIN0lTVGR5Z3NyUTRlUWtzSWNQTDBmcDQ0TU45?=
 =?utf-8?B?cFZ0Wi9QNEhsNWorSGcxOW8vdEk3LzVJcmxtSzJKUTdkQlluRlI5T2dHblln?=
 =?utf-8?B?ZXpkMnBGcWo2dlF4MXRNNSs4NGdHTEVsc1NYZWRpVXgxWk9LVVBuNlBvWFFQ?=
 =?utf-8?B?MlMzQlVOMk9XNWVsZmR6UWRJNmsyRWQrRUxLd3poYTBUaURyRDJFUlN5aUo3?=
 =?utf-8?B?Ykt0aHFGU1hhTjVBN0xBSHVma1QveVEyekRVOU0zTDNzZTBCd3NjcE9CSVIy?=
 =?utf-8?B?RnlhMkNpU3oxRjI3Y0tCUmE1Um9wTEppS3dDWmlFZENodnpicHJOQnlyN2VZ?=
 =?utf-8?B?QzFMS0VWTHpSS3l1WlJFYTRMUnJ1VXY0RGRyVVdxTy9jSjZoc0xBOTBzYnlU?=
 =?utf-8?B?KzQvK1F6eDRwSUVsNlJwZjZtVkVzVkEzM2dWazBDbU5CL0VKT3R0NzI5TnJm?=
 =?utf-8?B?ZTBsMjRBTGFPeDdKcHd5Vy83eWhEUTVlbkY3STBLM2xrdGdRdlJpQ0lwNVFE?=
 =?utf-8?B?akxtTllqMG9FbzlycXJFVk1GeEk0MTY2S0Yvb2NRTW1XNlJkdVhhenVLRU5E?=
 =?utf-8?B?c0ZuSU1iamYrWWpnQ3FZOW5lZFZEUDZiN011UmdwSEw0Nkk5bmhLdVdlWHZT?=
 =?utf-8?B?dVlmczN5SDIyNDdFbFFFa1kwVWFBNVV0dDFWQ055eEMzQWd3V0VrR01MUWtL?=
 =?utf-8?B?T244WEFaM1BiaENlc0pUQnZRYzJLODlGeCsrR1RHcmNpQXpITUhwaHYxYkNz?=
 =?utf-8?B?QjRGYjVBTEdRYk5RTWlya3NvYndVd0U3WHN3SVhaQXBwSlNOK0p4c3AwcG9W?=
 =?utf-8?B?VHVsbGkydE45b0FSZUxRdFBVY002b1lJZlpOVzkvdS9nem5XRW5WdHZHWGNL?=
 =?utf-8?B?eEhzbVM5VmNoRlFWZFlHOHl6SnRzeURDenRkZkIrM1phMEplZ0NXVC9ZamRD?=
 =?utf-8?B?cGVoY3RuaVo2SmJxRXBNSzhMWDdBT0Zwa0VyZHltOTQ2eHkrSS9paCsyZUFo?=
 =?utf-8?B?ZVBaY0RNUVNoaWNDV3AyYTZUVG1TZ2dqQlB1bG9pejZpcDlBbU84WlRvbDd1?=
 =?utf-8?B?UjNMNkVraHV1Mi93d2s3SzUwaDd3ZGRlNk9kTXQ5NXMxc25ZTVpWeXJ0eVAr?=
 =?utf-8?B?bFV3ekNnUE5TekhTcmkvWjNQbnhRL2JudkNJWDlpYTdxU3JmYUw2c1FuUHJk?=
 =?utf-8?B?S3VYM0o2WjdXQ2xlTE94WHo5ZGpnYjk2MVFKaXFKRkFsTzdPZklrTUVOYUpM?=
 =?utf-8?B?WFFKVnVJcFFEM2FuTC9hM3ZQUjJZdmxXNERNVVJzcUlmLzJWbnhqeVZoWmRn?=
 =?utf-8?B?NnpuVjY4WXJtMDhma0E0cEo1bVpSRFgrMlFMdjVIRVRyZHVvSHhrOXlIcFNU?=
 =?utf-8?B?S3dzOWtaU0RhcENxS3RPcHROdDk0UWkvZzF5dUY2c0pnTWFvUjA2Y2Y1TWw0?=
 =?utf-8?B?WGtBYkd4TUU5RFNZTmM4Qk9yN2tuSXhnL0VCbURlOTIxK0FWU1NHSUk4UnE1?=
 =?utf-8?B?VHkzOVNlajhlNDhqalYvejNoZmFFaW8xeVZWRFBNWDd4KzNvVjRWSUg5QnpQ?=
 =?utf-8?B?TjVvVlBiTlNITWRiVWZYN2lIczB3Y05sc3FEK2ZuK2xoR3N1RDQ4OXBCc3J3?=
 =?utf-8?B?VmUxb3duY2pBMjR5MitwU3ppSzBYclRtcUlUZEZQQU90SnM4bGFnRWo0U3VP?=
 =?utf-8?B?TUhhSUgzcTg2ZjY5VTRTaGlkVUNtM21haVc0OW5lejJqZXBjdkhXeGNPSVYx?=
 =?utf-8?B?L1hVQ2oxRy9NSFpuUWo4ejNGOXVQTi90akFMSk5vc3ZLOFJtWkFEaWhmVGFJ?=
 =?utf-8?B?YWtDbEZJcG1Wbmt3a2d0cWRzbXRNYlNUTXh2N0UxbHZUZnJhRHBYVk9SRlRR?=
 =?utf-8?B?VCtEaHViN01ScDd0djQvOEpiYkI0VUg5UmExaG1MR2lsNUlDWXVBUk9HR0s1?=
 =?utf-8?B?em9SdkZqZnBaQzIxQ0laQjUrRlZDdXZLL1FxWXN1M0dhUktLWWV6UFJZZ0NV?=
 =?utf-8?B?Q0oxWXhsQ3RXSy9iMERJUE50RDVyVm04S0dYMGZjTU9zZFRzVkFjQT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: db9fdb4c-b54b-4f2b-644e-08dec57579be
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2026 15:49:08.0363
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xvYW3jU4v7dkhsz/IFp5yt+JNWD4lGwEIJ/ooJBU4hjEUbu5pC/VB1eZ6+7ZHggAGFZkjEvpVzOaoVEecoydbg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV0PR03MB989297
X-purgate-ID: tlsNG-720697/1780933751-AB563161-8D99E744/0/0
X-purgate-type: clean
X-purgate-size: 6281

On Wed, Jun 03, 2026 at 02:05:52PM +0100, Frediano Ziglio wrote:
> From: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>
> 
> Allocate these array just once at the start of migration,
> using the maximum batch size, and free them at the end.
> 
> Signed-off-by: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>

Jan made a comment about this patch (and how it related to a still
pending patch of his):

https://lore.kernel.org/xen-devel/e3f22fa6-c497-4afc-9498-12449548acfd@suse.com/

That is still unresolved AFAICT.

> --
> Changes since v2:
> - change prefix in subject.
> 
> Changes since v3:
> - fix comment style
> ---
>  tools/libs/guest/xg_sr_common.h | 13 +++++++
>  tools/libs/guest/xg_sr_save.c   | 66 +++++++++++++--------------------
>  2 files changed, 39 insertions(+), 40 deletions(-)
> 
> diff --git a/tools/libs/guest/xg_sr_common.h b/tools/libs/guest/xg_sr_common.h
> index f1573aefcb..82549b5589 100644
> --- a/tools/libs/guest/xg_sr_common.h
> +++ b/tools/libs/guest/xg_sr_common.h
> @@ -209,6 +209,18 @@ static inline int update_blob(struct xc_sr_blob *blob,
>      return 0;
>  }
>  
> +struct xc_sr_context_save_buffers
> +{
> +    xen_pfn_t batch_pfns[MAX_BATCH_SIZE];
> +    xen_pfn_t mfns[MAX_BATCH_SIZE];
> +    xen_pfn_t types[MAX_BATCH_SIZE];
> +    int errors[MAX_BATCH_SIZE];

FWIW: I would possibly place errors at the end of the structure.  It
seems more natural and is the only array that has 4 byte alignment
instead of 8 (on 64bits at least).

> +    void *guest_data[MAX_BATCH_SIZE];
> +    void *local_pages[MAX_BATCH_SIZE];
> +    struct iovec iov[MAX_BATCH_SIZE + 2]; /* Headers + data. */
> +    uint64_t rec_pfns[MAX_BATCH_SIZE];
> +};
> +
>  struct xc_sr_context
>  {
>      xc_interface *xch;
> @@ -244,6 +256,7 @@ struct xc_sr_context
>              unsigned long *deferred_pages;
>              unsigned long nr_deferred_pages;
>              xc_hypercall_buffer_t dirty_bitmap_hbuf;
> +            struct xc_sr_context_save_buffers *buffers;
>          } save;
>  
>          struct /* Restore data. */
> diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
> index 8c4e760f8d..7d8055a3f9 100644
> --- a/tools/libs/guest/xg_sr_save.c
> +++ b/tools/libs/guest/xg_sr_save.c
> @@ -86,16 +86,16 @@ static int write_checkpoint_record(struct xc_sr_context *ctx)
>  static int write_batch(struct xc_sr_context *ctx)
>  {
>      xc_interface *xch = ctx->xch;
> -    xen_pfn_t *mfns = NULL, *types = NULL;
> +    xen_pfn_t *mfns, *types;
>      void *guest_mapping = NULL;
> -    void **guest_data = NULL;
> -    void **local_pages = NULL;
> -    int *errors = NULL, rc = -1;
> +    void **guest_data;
> +    void **local_pages;
> +    int *errors, rc = -1;
>      unsigned int i, p, nr_pages = 0, nr_pages_mapped = 0;
>      unsigned int nr_pfns = ctx->save.nr_batch_pfns;
>      void *page, *orig_page;
> -    uint64_t *rec_pfns = NULL;
> -    struct iovec *iov = NULL; int iovcnt = 0;
> +    uint64_t *rec_pfns;
> +    struct iovec *iov; int iovcnt = 0;
>      struct {
>          struct xc_sr_rhdr rec;
>          struct xc_sr_rec_page_data_header page_data;
> @@ -105,26 +105,24 @@ static int write_batch(struct xc_sr_context *ctx)
>      };
>  
>      assert(nr_pfns != 0);
> +    assert(nr_pfns <= MAX_BATCH_SIZE);
> +    assert(ctx->save.buffers);
>  
>      /* Mfns of the batch pfns. */
> -    mfns = malloc(nr_pfns * sizeof(*mfns));
> +    mfns = ctx->save.buffers->mfns;
>      /* Types of the batch pfns. */
> -    types = malloc(nr_pfns * sizeof(*types));
> +    types = ctx->save.buffers->types;
>      /* Errors from attempting to map the gfns. */
> -    errors = malloc(nr_pfns * sizeof(*errors));
> +    errors = ctx->save.buffers->errors;
>      /* Pointers to page data to send.  Mapped gfns or local allocations. */
> -    guest_data = calloc(nr_pfns, sizeof(*guest_data));
> +    guest_data = ctx->save.buffers->guest_data;
> +    memset(guest_data, 0, sizeof(*guest_data) * nr_pfns);
>      /* Pointers to locally allocated pages.  Need freeing. */
> -    local_pages = calloc(nr_pfns, sizeof(*local_pages));
> +    local_pages = ctx->save.buffers->local_pages;
> +    memset(local_pages, 0, sizeof(*local_pages) * nr_pfns);

See below - I think it's possible to avoid the memset() and keep the
same guarantees.

>      /* iovec[] for writev(). */
> -    iov = malloc((nr_pfns + 2) * sizeof(*iov));
> -
> -    if ( !mfns || !types || !errors || !guest_data || !local_pages || !iov )
> -    {
> -        ERROR("Unable to allocate arrays for a batch of %u pages",
> -              nr_pfns);
> -        goto err;
> -    }
> +    iov = ctx->save.buffers->iov;
> +    rec_pfns = ctx->save.buffers->rec_pfns;
>  
>      for ( i = 0; i < nr_pfns; ++i )
>      {
> @@ -210,14 +208,6 @@ static int write_batch(struct xc_sr_context *ctx)
>          }
>      }
>  
> -    rec_pfns = malloc(nr_pfns * sizeof(*rec_pfns));
> -    if ( !rec_pfns )
> -    {
> -        ERROR("Unable to allocate %zu bytes of memory for page data pfn list",
> -              nr_pfns * sizeof(*rec_pfns));
> -        goto err;
> -    }
> -
>      hdrs.rec.length = sizeof(hdrs.page_data);
>      hdrs.rec.length += nr_pfns * sizeof(*rec_pfns);
>      hdrs.rec.length += nr_pages * PAGE_SIZE;
> @@ -267,17 +257,13 @@ static int write_batch(struct xc_sr_context *ctx)
>      rc = ctx->save.nr_batch_pfns = 0;
>  
>   err:
> -    free(rec_pfns);
>      if ( guest_mapping )
>          xenforeignmemory_unmap(xch->fmem, guest_mapping, nr_pages_mapped);
>      for ( i = 0; local_pages && i < nr_pfns; ++i )
> +    {
>          free(local_pages[i]);
> -    free(iov);
> -    free(local_pages);
> -    free(guest_data);
> -    free(errors);
> -    free(types);
> -    free(mfns);
> +        local_pages[i] = NULL;

If you are doing this cleanup here, you could also do guest_data[i] =
NULL and avoid the memset, since at the start of each write_batch()
the arrays will already be zeroed (either because they are allocated
with calloc() on the first call, and always cleaned up in
write_batch() after usage.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 15:50:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 15:50:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331983.1594623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWcFO-0004X6-OW; Mon, 08 Jun 2026 15:50:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331983.1594623; Mon, 08 Jun 2026 15:50:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWcFO-0004Wz-Le; Mon, 08 Jun 2026 15:50:42 +0000
Received: by outflank-mailman (input) for mailman id 1331983;
 Mon, 08 Jun 2026 15:50:41 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wWcFN-0004VH-Dk
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 15:50:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWcFM-004efW-3k
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 17:50:40 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a26e4cf-bab6-0a2a0a5309dd-0a2a450be326-2
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 17:50:40 +0200
Received: from [52.101.201.36]
 (helo=PH7PR06CU001.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a26e4ce-212f-0a2a450b0019-3465c924aff2-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 17:50:39 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by LV0PR03MB989297.namprd03.prod.outlook.com (2603:10b6:408:398::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Mon, 8 Jun 2026
 15:50:36 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.011; Mon, 8 Jun 2026
 15:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xONYVXs7J1uREFNrOuQNH71piK2u7ajACkKgRqqkw4V29cNtZm2OhegGN+pcIjadZfPtsyVffMvqXd3RXgDGn/NlQww69bYD9LuhW6NI5fvbiq97Td79PXc7rtNZT5iQ0nIsLJw6rYPYeM5VjvUuRkYeieWWaRpqV+mIz81iW/a7B2gL2EiGU81I4IvukLHygZaP0P+vzTfhPWaTJmzWLoU4vhYa+UJ0rCBgwNcvtRHGUFN2e2SJbKypWREesSl4P8HWnWsrvtYGz0xMiw6WqJ29HOUizkCz0H6FjNA1Yg0jQ+B0x+ZKtyQNdo8rLkdQ91z61LG5EYQt1HhIy0ntEw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dXlSkZFxGEFH2BV1lVRsWxoYVAPbMpGtmnx1z0ApjqE=;
 b=ib9c1MA0BDtB1FEOd/Ll6AUvMRn1GNmAgXU+cPtDY0Gc9ndrvxX5HMTRTQTgnufODVWfalAuWgce31kIJtbU+77zXPVRhbA+WsT7/N26c0ELZpWZVnkA33AHuH8podOnqkq8fmg9dJO6oGWBshFUjMb2goibEei8/oFTCVQnn2CwMj6c9tGduRnVfG22nX2br07fUlhYapFAyt8GpNoAfT0UckQR0QmEwbDumVScBfB3AbltdJzibgmGsji7rhSMrGGrTPtLK56CDFLbTbVpvcvdHF/RZysK28tJilMo/q5Ep8EOxmQqFcrit9SoSu1XXkn7UDUPoV5jaXNG+iLArQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dXlSkZFxGEFH2BV1lVRsWxoYVAPbMpGtmnx1z0ApjqE=;
 b=i+GnnjAA3scUNCZz2Nn85iC0WwviAkiXbULqFSGyCglbC4jnvRetOIJuxrvDNpEE0BX4WHlBEQW9Yh8llKswLM5IF5JB4LCA2bshzk49ruCfYDXYjD2XmwaDrCsICcn84j8LLPs6ON+HiE5zEwukTcqYBPpdb1UGoh0Md7bvi0Y=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 8 Jun 2026 17:50:33 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Frediano Ziglio <freddy77@gmail.com>, xen-devel@lists.xenproject.org,
	Edwin =?utf-8?B?VMO2csO2aw==?= <edwin.torok@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: Re: [PATCH v4 05/16] libs/guest: allocate various migration arrays
 just once
Message-ID: <aibkyQAefTHGsWsk@macbook.local>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
 <20260603130603.776452-6-frediano.ziglio@cloud.com>
 <ea002cf0-c2cc-4612-af61-8dba7887af61@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ea002cf0-c2cc-4612-af61-8dba7887af61@citrix.com>
X-ClientProxiedBy: MA4P292CA0002.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2d::19) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|LV0PR03MB989297:EE_
X-MS-Office365-Filtering-Correlation-Id: d8f2bc92-079f-4387-a2d4-08dec575ae71
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|11063799006|4143699003|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	V4Hw0tbrjhEZd16R8Jf1cZPE1UmuOsDJnw+U7lt2SmkMH3oFWtKk5Dhy+Oa91Lob4pgPbmWpJc7dVzKU1IhU52ZgN69UWHA/Mw6aFnYxKKUuP2i3D2HAlkelk3FNqAT5lArBv8lfcXakmvguoC+n9t/nTp9/1flUYkv1e/J66zYKlu6oYquZeBgX1Zhb0V8L8lbeUCrI9WsUqUdCUFoJhzDmD2Oz7y3z9vD0SRNLuE/UiIawIqfyij++iqRJljNps/BggCcTr8pmpYCtgWK1RYVV3m+3bUt5nHG3Ru34VXs48doCdTearZGlsdxlpWMHYnwVN1fNHm6KfKTnR+RB37hDokdU0a9Q5Hx/iOZexYKMisPwNiZUjeSEcEU4KYzXfenKkW6XkbotHqaVEYXm4oQt4yR+Hoc86hXaXEveamZlFS04tnU/Of04FCrqu7obQXVd3uKUvku980wV0ikQlBxCqNYgVShImMB40S/Qb/Mc+/t5a5acJ9ntcVQLy7sJuo9Yw2R2u4Kr2Gt7RsHQpvufuqA356rWyI4MpzU0Fyy4Rhf+XyDvFXhZDnrKhHMd1VrIwFWpRu8/BoaskTjy8ER/x81oyxQ3Go+nWkXdXequ9h4+55byVR54ZR91MxtWOLrE8iv/POgQeuITmppIUwKxmO6L5LIG7+PzEz/Lkb5AhaY1xxwGfr3o+fpvtZmx
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(11063799006)(4143699003)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N29WZ0l1MW81SHIzVGZzeDJQTy9UMlA3Mmx6bHBtTGdQbC9iK3Y4MlBWOU9a?=
 =?utf-8?B?Q1lzM0daQU1FakRuWVdSZUFwYWtJSVhSOElObVpsb0xQNThHOFBJakxYWHpD?=
 =?utf-8?B?R0dtc3pOOFVHL3lMSXJsY0QwTTNtVGN5a3dHYWlHcjVNMFY5QmJkeXd5K3Rp?=
 =?utf-8?B?d1JCTHNxZjVBU1MxTkFpYzk5eERJaS8wQnFlUkUxMmtUUGdDV1d2UWtGbmxx?=
 =?utf-8?B?dXAvRmVhcEFlN0x2M0grZWZ6WjhKUVhYRlJiOEl3U2NoMkNTQ0toOEZKOFZr?=
 =?utf-8?B?ZXBmN21RUEt1Q0ZldFBvdEhIYkVmTTlpTFkyaHhvTmdPL2xvT2wyWnYyOWxW?=
 =?utf-8?B?blNQVEI1dGgzakRweDhseE81T2N2SEh4aGlQc0hlTEs5ZU1ud2gxMm5odk1J?=
 =?utf-8?B?c28reWRlZG5hMHZlSWJSQjZVbFhtYnZQUmVTd0QxNmlZbDNaMlBhQ1pQZW1x?=
 =?utf-8?B?Y2ZHUUVVZHpGTDZRQmJKN1pHaWp1bWFwNi93d0NlTXJYRzZHQVd6aHFyQXkr?=
 =?utf-8?B?djA0dyt6OVRpaHozcHhvVFRjUEM1RFl4cDBsM1c5dXI4bHcxK0luWkIvc2Jq?=
 =?utf-8?B?a0pseTd0OFMwakVYdzZHZUlJcUtPZHpFR3NnRXpoYkM1YWZZcWo1cW53L1ZE?=
 =?utf-8?B?Qm1uQWZUQmxWWTRDcGI1RktJMTdrc1pYYVVtU3RKWWtYejdrWnJaMlNzZ3k4?=
 =?utf-8?B?SDFtMHh1K25IUlpvS0szSUVWWWZmVlJRNmMrYzA5QWFzdVMwalZrbisrd00w?=
 =?utf-8?B?TGhxd0lBSHlZMzc1ZzJpcnpNTUNUWVYvdktnTnp3UTZNQmVrM2paN3B3MnI4?=
 =?utf-8?B?d3BGTVN5Szh0M2lZRFJGUWYyK1pIZEd3Tnp5RDN3N1lob3hqOFJ2a2NCU3NN?=
 =?utf-8?B?cmhUL2tzYU82WEo3TE1VMC9NRW9WRnZUSkMyd1EvWVlZZ3crWUFZamdqcmN1?=
 =?utf-8?B?MmpCY1U4alVPKzMrU2ZKc0pBWER5d1k2VndvemNUaG1UZzM0SExjKzFGQXRt?=
 =?utf-8?B?OVVsQW9PejBJQm1ENk9mV3N6bWhWaHJ1K2g2N3ZKaS9zUVJtak5OZ25PeUZx?=
 =?utf-8?B?QzlVMkRMQ2F4L2ZDSG5sYXM4ZzVhb1JFWjc2RUdLUFhieERCQ3FSckJBZGxl?=
 =?utf-8?B?K3FTR3M1MFp3cmhnenVMS3QraTJ4YkUrTy9TMTNFVEs4NzUrc210Tkw2NUNt?=
 =?utf-8?B?YXRuSFN1UFZDU0lKd0prTjhWbmJWUkZVOEx4VWVVZFR5QVd0a04yc0pxWUhi?=
 =?utf-8?B?NUxnK0l0ZFJ3SlFBelhVV3p0TlJqcUMyOTVVMVUzV005WG1yV3hDeFA3Z3hR?=
 =?utf-8?B?MldwaFU5UzVxYjRRNU1Fb3ZUQWNaZDI1YVJaKy9LUllDbXVkbjdIK0tDNGRT?=
 =?utf-8?B?ZEhXMkRhRHFPM243ZEhibjdiNEVLUzRnMGtCMlhQRkNOWEhmNTNoRlhNcWw5?=
 =?utf-8?B?VkpXek0zd3dXNkZBTWVOL0x6QmZRam5nblI4b0JseVYxYUlSa2Z2RGVnNjJM?=
 =?utf-8?B?UmpnZjJzemt2aEpsUFRMTWpoSWxhZXJlOXRmcUJMN013T1hhdFBQTDZKYnRN?=
 =?utf-8?B?MmpEczJoN3B2MmNrMVVaaDE1Sy9ObEdzdzlVdDkycWFEZjU1ZjJGSkd3UUlW?=
 =?utf-8?B?T0NQVkZrdllQMFdwZjVIYXpFb0g2bDhLMTlTVlZkdGhSV01Wc0VBK2ZaWElr?=
 =?utf-8?B?R3l0L0NuVnYrTi84bnN2M25PQWRaWFRFWFM5bmFBMVBTOGpZK3RoY2ltaDcx?=
 =?utf-8?B?cDg2L0pUMFlBNW5rUlE2TnNBK0NJS3BMaUF2YWllRkpMYVJrdDltZjU4WlJs?=
 =?utf-8?B?R3V2QlNaRlZqTys2WU13Z0hNT1ZCeEZrT1JBakQwYjliM04yQTBRVWNURzg4?=
 =?utf-8?B?NmYxbGlyL1IwUEhsNFJuOEhWY3IyQWVsSlJBb3JPUnBrdmExRXlOSVgvcHpX?=
 =?utf-8?B?bjZKYmxhdFNQYTFHUlBZcXZ1a0t5RU1zbEVRR3FhaXplLzREQWc0SXVuMmRR?=
 =?utf-8?B?c1N1cEFIRjVrZThCc2VKTEQrQUs4eXpndTVmM09MT1RudTdIYzd6RGZFZGZN?=
 =?utf-8?B?enRQNzNPaENHWURuUnNzL2FhNXh1Y1d5ZzVaTzhLK3dudjVhMThma2Y4a0ZX?=
 =?utf-8?B?SzhNSEdFWWRJcUZ6SGk2QzBucjQxR2NyZFZhSjVwMkJ2YUpXUTBqSTUzYjNQ?=
 =?utf-8?B?b3dVQUhUNW5HYkllTzZsNFo4dStVb0ZCU3RBTmxZYU5hY0JMUHZqZ1U4NjZH?=
 =?utf-8?B?UlczcDN5SVhINGNtQXdWNS9uZFFneEZUdk9mUGhZNzBRRTJaNDJ4WUVFMjVn?=
 =?utf-8?B?RFdadEdiZnlYUVU2V1dMbTd3TzRBbW9DS0U3WjZHUTRpZjFLaUVtQT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d8f2bc92-079f-4387-a2d4-08dec575ae71
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2026 15:50:36.3849
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6JlOKBLGuVCHXvqDMGsTXv/opveWERIheYCorTeogmegv4S81qGWdBWBQukJJDaOW8YgRNL7BO0VaJ6Aew6bSA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV0PR03MB989297
X-purgate-ID: tlsNG-42698a/1780933840-19165F3B-1933CD71/0/0
X-purgate-type: clean
X-purgate-size: 734

On Mon, Jun 08, 2026 at 04:36:54PM +0100, Andrew Cooper wrote:
> On 03/06/2026 2:05 pm, Frediano Ziglio wrote:
> > From: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>
> >
> > Allocate these array just once at the start of migration,
> > using the maximum batch size, and free them at the end.
> >
> > Signed-off-by: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> > --
> > Changes since v2:
> > - change prefix in subject.
> >
> > Changes since v3:
> > - fix comment style
> 
> These are intentionally freed/reallocated so valgrind can find overflows.

Hm, then we likely need to keep the current behavior for CONFIG_DEBUG
builds of the library?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 16:24:27 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 16:24:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1331990.1594633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWclx-0002mI-7v; Mon, 08 Jun 2026 16:24:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1331990.1594633; Mon, 08 Jun 2026 16: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 1wWclx-0002mB-4H; Mon, 08 Jun 2026 16:24:21 +0000
Received: by outflank-mailman (input) for mailman id 1331990;
 Mon, 08 Jun 2026 16:24:19 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wWclv-0002ky-QO
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 16:24:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWclu-008moA-Kl
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 18:24:18 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a26eca3-bab6-0a2a0a5309dd-0a2a4502b816-10
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 18:24:18 +0200
Received: from [52.101.61.26]
 (helo=DM1PR04CU001.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a26ecb1-af86-0a2a45020019-34653d1afbb6-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 18:24:18 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DS4PR03MB8398.namprd03.prod.outlook.com (2603:10b6:8:329::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Mon, 8 Jun 2026
 16:24:15 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.011; Mon, 8 Jun 2026
 16:24: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hNeme+ApX4KiGJXW7LokfwOEn7g4WjUnTpIw0xdM1HdMLVdjJY0BunuxZ8UfPwMGMGmE/W+ykJyg6amlfdYASmQywyvc3qHA5iG903OsYQ6WdyoVvxLjzDJKFFz6uNrVe8TJ+NngXZD/q3cbEPPLJm2FANESJ55UeBHngakJD5Onkn1lkYGO9g0XwRjzbZMoGjaVzbC4q++J9IvReBZkbHgAGndEpg0vC8TAKsqhkzYdYw9E5Vp9ATHfjHB6TD+SbV+7c1rsZIf3ESHAic70VR+MDPg6kYYcA1//YyjTaYECY4kMYgkXqdCDC+XXkO0mii+A5NTu0G/L1k3IdQv3fw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4u9qgMq+XewfoYUgesujL+qz5RLk0UmPd3ZsESK97Bk=;
 b=VIJw+O51TCi3ExFfVLUXbeqdnU8JoAqMsqXKhW4q23ltLjE+bUYi48OqrlnKLqZiGwLdvMn3NqQPu5W3AHsBsiu5vqBl5CL42XLE9MxNIfZ8KVQq8VvizUtOi7LSfav/vNQXPQZTcXuRXM/+zvtlQRJ99lI2pwMeLqde7rLZ1CAWTNUL0LvBKaw8ALGMxqTtP/KHOkw69z1cLIu3otjVawOEIOMuaTsj4oCfxGHgJALKRsghdoiAdQnAgWHhMN8McrwnvaxcT0omqMja7uM8esyg1D1/GVfpzdmm2+5HK5r8Ftd394JoUfHJvwRWNhiNwQEk1KiBYzzbF4/Wq21h9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4u9qgMq+XewfoYUgesujL+qz5RLk0UmPd3ZsESK97Bk=;
 b=XxRmKne4rs6sXPBLKFYdD0kYJXq1x4Doh80ghvaP/XHtnQ3X0bvDGuo4NFYL1YUWIF21JXoI08pq2Ds9ZyODsddx29kQ/wGFqm9bYwOI1F5XgflQGVjRmj8TExNcJTA9VeRgU8nbOGTXBkgf7/YM9+7xV0m6WGYF44hbzQMKfEY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <1f795751-88f9-41e4-8e1c-875eccaedf37@citrix.com>
Date: Mon, 8 Jun 2026 17:24:10 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: Re: [PATCH v4 05/16] libs/guest: allocate various migration arrays
 just once
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <freddy77@gmail.com>
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
 <20260603130603.776452-6-frediano.ziglio@cloud.com>
 <aibkcDCjyeK_0lMK@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: <aibkcDCjyeK_0lMK@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PA7P264CA0393.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:399::17) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DS4PR03MB8398:EE_
X-MS-Office365-Filtering-Correlation-Id: 648ee1a3-6de1-4ab5-5167-08dec57a6178
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|56012099006|4143699003|11063799006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	9ObrXlURhH5COQlWC2sk6MVGr5ZA67BFYuflVmvDyPDlGnuQFjzyomtm4L27L2lvQu6RTKXSY4J1p+3Tw3Rkjmo4ZsosVdzypz3XVAqAm4UVAD7c2K3Ux73+dFvJsWFND34pSTgh5RAuyvWILMe0y0bnEvBWT4XbQFcXYP81k+NYomVrdVasfmTBVe/Vl8STrJSksCj3+BMaEyvEtBbBZtGQfWt9Ux8F2c3cPcQkODEK880pLXCeXQIt3XVK0bzqAnk5q1GwwPezcGN/9nN68cng9ym3vIqn8BM/EmIqkeAbJSt2jUzGidk5jrAm7otIDQVyvh7ONbih6XA4ShixMPNs9Tprb6+wFgb0UuZrZNopwn8sVK7F6Wpj+kr4u2UZg6cs+ACCgh5V1XDbtHN5LMZ75Ic1pChDO/0Izlaym30QZSO2IFvnnG5/U+hc5diiilfJU1/L3luAbpWxZkQm6rTYptLXgrE9Lg2rmRwyR6WPCmXzp4NH2AkZifTPxdH9HEBbEtbcdaaZzDi2trs2Q6N39BBuBKo/g+vghgE9o8TV+Q+nojbjvLqJpDLYEdtpRulqIgZ8eZquQskYGbqbaG8jsb+jm40jKeEipYaNeh3qFBGvBg/onnxHep0+ckQxxLEGlAvhdqKOSM2UrZF69zLl65nmhfygN4BKQ4e482goZfN7d3bd7r1vknkT9Q1LMpKSauSsRZdtgC6mGcqv/A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(56012099006)(4143699003)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Sk9vbUVUWHNIY2tRd2oxS2VjN2p0SWhNYjhSNmRpOUxpcG54ODdiMGowbXNz?=
 =?utf-8?B?eHZtMjJpSVJxMXFweWJ3aWFCRWt0MXlieW5JZmgvc0l2T0NYaDBGeTVMWVkx?=
 =?utf-8?B?SzNLeWJkOEdIaVlEaHJRbnJhRWk2TmQzeFNiaVU0OGpqV3Z2YWovREYzOHY2?=
 =?utf-8?B?dDM5VHcyazE4eUVnTzB6VUxycmVlb3NHaDhkeXh3QXNPdEIzbWZsWUZSaWdy?=
 =?utf-8?B?cGxrZFV1NGRYZ2pjRHdWclp4TVNDbUFRNFRabGpVYk5rRC9vY2d2ejZlZVZV?=
 =?utf-8?B?OTZhYzU5Z1J5VmZ0K201dnlBaDN6d29KMDF5TW1VS2lrSmRteVBaVE5DYUlO?=
 =?utf-8?B?VFhMSlpHL0RBVkRpNGN3VWs0eTJDVk04YkMrZ05UbWVKOW9lcDRtbUtOWld3?=
 =?utf-8?B?Q2p1ZFp3b0hucFY3OE12ZytmdU9oZ2ZvVmtvaWpESFgxUU5EbkNOdFl4OEZT?=
 =?utf-8?B?czFIMnRVQVpERWY1enozRS9PWnl2Y3o3RWR0MWZtS2pseUQ0NWtZUUxqY3BD?=
 =?utf-8?B?N0VPOVNYNVlVT0F5OGg1My8rV1R5a0JBREk0SkszZnZHNmJXUjJHRDdGdjJx?=
 =?utf-8?B?RmtvK2RpU0R6aUxwU0RHNHdHMFVrckdlR1puQmh2c1VMSTRxUUVSeDlVM0Rr?=
 =?utf-8?B?Z1NEdnR0UEZmU2RMdkg5dlp1K1pPaDViWEJkZVBZaHBNNVZEZVREbWVrVkox?=
 =?utf-8?B?c015bExrZGdVSFRXaEpNVmJ1TTJFMzN3MEpWdGhrMU8raEVaa0F6OWxOS1ZF?=
 =?utf-8?B?dnRKZ0FvRUVzMEFnMVpVK2IrQmVjdkhpdWI2M1JyMmxyeDhteGdJdkZyb0ZP?=
 =?utf-8?B?U210U1hhS3RiL3B1Y2ZMOFAzSFQwOHZoUktmV1JCRzdFY3JRSVRhMGk3R2xU?=
 =?utf-8?B?ZjZzbWpWanFDOEhXckpvQkY3SFN0dnZ6bmpsOGJ5WStKUkJNN0oyalB5RXlG?=
 =?utf-8?B?MkdGL3BsTHdja1dIenV5QVdOM3Q5a1JEY1VmdFhXWlZHQVJGdzhDazVZeCty?=
 =?utf-8?B?U05md01LSlRiaTZ0TXNJeWhCaG5kdWpleGZXNUNTMkJiNjhUL0x5RGY5cklT?=
 =?utf-8?B?cUlsNDRqb2tqaUV6VGl5T1dIaHlKdXJCVHEyM1VEUTVWTGxRZEVHWldwK0pm?=
 =?utf-8?B?VTFyQXRBaHhrNVB0dnFYNkJYbFJDZjMrTjZIMjVqZEs0ZVBPMEI2NkJ3MUty?=
 =?utf-8?B?L0lzVVFDQUpGOFgxMG9NSFc4Z0lFd0MzSHNEemVEd25LOXNHZUc1VGZCcUh0?=
 =?utf-8?B?TGFyOWhLb0RKaFhUcDhOb3l4RGhzVjVCY3RQSC9aL3VEWmhoNHJIV016aCtN?=
 =?utf-8?B?eGdBVUtBaFZYb0pqWlpEbnlFNHFCTkFlZmFvVEtHVlFxTWdHNjBsZ2ZCMkNa?=
 =?utf-8?B?cjZ3c2V1dURwMmE4UXplM1FWeDBGNFdSRk50VllISXZhaFRSdnlJVmVMck55?=
 =?utf-8?B?M1hHazZxNzdrTk9lTTh3YWhzeXNEMjNwcmhobEM3ejA3b3Q0UzE5Sy9nZE05?=
 =?utf-8?B?dXkvb1RlNlM3ZTlQU29qOGdBZThXaUkrb0Z3NTducUgyekZBYjZpTGpyem9m?=
 =?utf-8?B?OTVKV05WVXZaNUwzVGJ5TzJwb01ucFVJOTkvYWp0Wko4T0RDNnYrdit4VnpT?=
 =?utf-8?B?OGxaM0pDRHpIN2FJRGlFM1hFMzBGbCtDQTBtZVBlMUd5akpZY3JMcytYajJX?=
 =?utf-8?B?ZEFWdVdzcnFqOXFCMGpuT0gwQ0RiVWRuY09nUXpBMlBSeWZlbnlkZm53Unpp?=
 =?utf-8?B?ZDJmcTJIVWRlRzRObjRNeFRYN3htQzV0ZWxEb3M2RUQvdFNxeGQ0UCsyZVcr?=
 =?utf-8?B?YzRRNjBOSVhZc1ZyM1puMjI1dnQya285NEpTUTVXMm0vZkVSTGZvTGtvWkdm?=
 =?utf-8?B?elVycml2NERteUxNczltOFE2STVEVGdadzlFVHBacmZ3SXRad3o5UTBjNC9J?=
 =?utf-8?B?RXRndmhFZmRsd24zc2xReS9PRTJ3ckNOWnFwcWZmQmJvQnprWUF5VlkzTlFj?=
 =?utf-8?B?OVdsbXAvMjVYbDYvcHJUbHRvN3IyTlV3bG4veHB3RXU1VzlSWnRKTmlydUc1?=
 =?utf-8?B?U3FaV0xaTkdtYytrcVJCbTkxaDZBNGFJMEFCVm1wcUZ6ZWNtQlc3UDZoMUph?=
 =?utf-8?B?czh0QkIyL1BIclRQREszcmhKWHhLMzd2RUNRdXY2MmZ5M25WWlBONmJHekVq?=
 =?utf-8?B?TXduNVpKTHFJWjNFeDU3Y2ZzcW9VNjQ1VGg1U3A3UU82bzF3UlFIZVVSZ1Fn?=
 =?utf-8?B?NHpQeHNrWXhMUjQ3MjVUcnhSWnNGR1NDbWJSTTl6dFc0RStucHg1S1l2LzFu?=
 =?utf-8?B?QVlWZ1k1MW5ReHE5SnFVYkpGY2trUmZrNHFVTGlHZE5XSVBHSVdybkZ3YnVS?=
 =?utf-8?Q?K0gAr86MoXjA5lkg=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 648ee1a3-6de1-4ab5-5167-08dec57a6178
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2026 16:24:14.6083
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YENOA2/GYjBbMrRpIiv9F0v24xpLUhC45uqojWsRY02kXMVJhNawJ73qZTRXEBTc+qfTM4KnsptWLLWCE6yRz68+PlBRphW4PukxPqFVf5M=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS4PR03MB8398
X-purgate-ID: tlsNG-720697/1780935858-83B60161-637C09B4/0/0
X-purgate-type: clean
X-purgate-size: 933

On 08/06/2026 4:49 pm, Roger Pau MonnÃ© wrote:
> On Wed, Jun 03, 2026 at 02:05:52PM +0100, Frediano Ziglio wrote:
>> From: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>
>>
>> Allocate these array just once at the start of migration,
>> using the maximum batch size, and free them at the end.
>>
>> Signed-off-by: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>
>> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> Jan made a comment about this patch (and how it related to a still
> pending patch of his):
>
> https://lore.kernel.org/xen-devel/e3f22fa6-c497-4afc-9498-12449548acfd@suse.com/
>
> That is still unresolved AFAICT.

That patch is not pending.Â  It, along with it's series, is wholly nacked.

I have explained in public and in private what it would take to retract
my nack, but until such time as the feedback is actioned, that old
series is going nowhere, and has no baring on other changes.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 17:31:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 17:31:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332006.1594646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWdoh-0007UZ-Ag; Mon, 08 Jun 2026 17:31:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332006.1594646; Mon, 08 Jun 2026 17: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 1wWdoh-0007US-64; Mon, 08 Jun 2026 17:31:15 +0000
Received: by outflank-mailman (input) for mailman id 1332006;
 Mon, 08 Jun 2026 17:31:13 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wWdof-0007T2-Ms
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 17:31:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWdoe-0039XG-BO
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 19:31:12 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a26fc4e-5cb7-0a2a0a5109dd-0a2a4505af64-22
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 19:31:12 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a26fc60-aaa8-0a2a45050019-d155802bb48b-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 19:31:12 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-4908b92904fso53485875e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 10:31:12 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490c2d2d11asm355238855e9.1.2026.06.08.10.31.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 08 Jun 2026 10:31: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1780939871; x=1781544671; 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=emdv5XAKXcHLSKQQjRjcb4jErQOPpUfK6czq6IDDt94=;
        b=hM3BXIb3d7uKgVIP1HZUGWJMc4IwSBYOF27wgRnJ64XfgyqnQ6WDE7Iikm91/Qk6cn
         AeY19jelJcKkoM22NVxltP6JXTKtgrAq97SiqobG5M4DFqlw2Rvy4hne95KQOwuZIpMx
         NhLbU5WL45KU9hH6Au/LauGvlWnBQdbPUc4Hs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780939871; x=1781544671;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=emdv5XAKXcHLSKQQjRjcb4jErQOPpUfK6czq6IDDt94=;
        b=hCVwxJdqyAbEHUr6qsdQ2q8Qs1As5Xy9n1PgllLm2DDYESJwvjyKk4E5Oi0B5TwRqZ
         Miul7kRT17csUmo9dk2i/s6h5RpOD6XzwAHrbJdznSgkKH0fXZ3KZVPY5cpybdhXRJI3
         ied1Jm59UqmnWhTd0WQ1r+QRDDA5N1zTavVs2NUUj7EwqPku6QoCurET8qfgD+B0tAKi
         Fatp1GlmJFiLpnEUTrr5jJWbCj1Xdne4BdxuNP5HppnDAh1J6hKa2N924lmrD4LtDYZa
         EqVnCLJKXcJPf1SEfUcRo5taFf4fAxgj9U9CdK4C81iXbiYBGpaIk/ujyTBW0uh+3zoG
         sF3Q==
X-Gm-Message-State: AOJu0Yyirhj7zEuduiEFS4AufZroccpfVsEqoNxItwvGW+hL16WyH1rn
	YN+CkUvPAUGrH+2eOvCQFvJXA894dP8ojcNZC8Rt5tHNgAuHh/x7fQzRB+c7roI7Rv76jqCktot
	No0pQ
X-Gm-Gg: Acq92OFQOW525j4i5sHlC0bpMUa/g8zL19YW+pYjhODxNczdDfZ0ysiaXGnFp5A/esC
	7IwtfgMmk/KeKQolWUia/gG7A07Pav2FlHwv7i+K6sHPrb/WElc+K+BfxxmSIDJ+XPMSwFJ90Yo
	G3zt+sqg1ZbT8ong2wyjZH9jO7lhlb59oXALxpUd1iw19m8McGi1jxacyqBg/ZJBh3ukRJ6y4NZ
	VsYhZ3rNMOc5/wojqUW3rNEJ/EJga82K0ruc/7l0amJJ1WvabsnyGu7IMREBq2i2o+rLxXW+aR4
	GVf3WRP9fM+mdQQaNEUPDCWTv3YUhZ/Byix+1QEYby4sOHsoDnLiqxE/b4mTC5JvcIOEqhPKSeK
	hMWz/RbNIBYfUlZf2a/jQrKT9FRSLax9nK6s7N05g5Snr8+WCxY/gpRPmLpTti+otzE2g16+A80
	ml9lJiSbYy5hOrNjErMImAJZp/S2u1nSSCWa/HldHmKYZXog0vEIan5h5fkWMcCNru7tETEvCja
	pn+gXthsKeA3bY=
X-Received: by 2002:a05:600c:34c7:b0:490:bb45:79ee with SMTP id 5b1f17b1804b1-490c2525299mr284333175e9.0.1780939871376;
        Mon, 08 Jun 2026 10:31:11 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH for-4.22] xen/x86: Always strip xen.efi
Date: Mon,  8 Jun 2026 18:31:08 +0100
Message-Id: <20260608173108.2848469-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
X-purgate-ID: tlsNG-c201ff/1780939872-E2790443-E7A527F3/10/73395122804
X-purgate-type: spam
X-purgate-size: 8815

From: Frediano Ziglio <frediano.ziglio@citrix.com>

xen.efi with debugging symbols is ~45MB, down to ~9.3MB when stripped.
Multiple firmwares (as seen by QubesOS, Trenchboot, and XenServer) are unable
to boot xen.efi when debugging symbols are included.

Either way, having debug symbols by default is abnormal and contrary to how
the non-EFI path works.

Produce xen-syms.efi unconditionally, just like xen-syms.  If
CONFIG_DEBUG_INFO is enabled, these will contain debug symbols, and if not,
then not.  When xen-syms is processed by mkelf32, the debug symbols are simply
discarded.  For xen-syms.efi, call $(STRIP) to produce xen.efi.

Some old versions of binutils ld managed to produce efi files which the
matching version of strip couldn't process.  This includes Binutils 2.26
included in Ubuntu 16.04.  Delete the workaround for this bug, and require a
less broken toolchain.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.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: Teddy Astie <teddy.astie@vates.tech>
CC: Frediano Ziglio <frediano.ziglio@citrix.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
CC: Daniel P. Smith <dpsmith@apertussolutions.com>

For 4.22.  This was posted previously as

  https://lore.kernel.org/xen-devel/20251208133945.61375-1-frediano.ziglio@citrix.com/T/#u

but merged the two patches and rewritten the commit message to make it clear
that failing to strip xen.efi is causing boot failures.

Previously xen.efi.elf was produced but it's unclear why, and unnecessaerily
different, so I've dropped it.

While this does want backporting, it can't be.  Xen 4.21 and older still build
test with Ubuntu 16.04 and choke
---
 .gitignore            |  1 +
 CHANGELOG.md          |  3 +++
 docs/misc/efi.pandoc  |  8 +-------
 xen/Kconfig.debug     |  9 ++-------
 xen/Makefile          | 19 -------------------
 xen/arch/x86/Makefile | 11 ++++-------
 xen/arch/x86/arch.mk  |  7 -------
 7 files changed, 11 insertions(+), 47 deletions(-)

diff --git a/.gitignore b/.gitignore
index bfc7bdf043c3..49e2c6961768 100644
--- a/.gitignore
+++ b/.gitignore
@@ -224,6 +224,7 @@ tools/flask/policy/xenpolicy-*
 xen/xen
 xen/suppression-list.txt
 xen/xen-syms
+xen/xen-syms.efi
 xen/xen-syms.map
 xen/xen.*
 
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5cf19372a361..71d1e9ab8c69 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,6 +14,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
  - On x86:
    - Enable pf-fixup option by default for PVH dom0.
    - The libxenguest bzImage loader now uses the system liblz4 library.
+   - The install-time environment variable INSTALL_EFI_STRIP no longer exists.
+     xen.efi is always stripped, while the symbols remain available in
+     xen-syms.efi.
 
 ### Added
  - Support for per-domain Xenstore quota in C xenstored (includes
diff --git a/docs/misc/efi.pandoc b/docs/misc/efi.pandoc
index 8198a7f063cf..0a3fd67076fc 100644
--- a/docs/misc/efi.pandoc
+++ b/docs/misc/efi.pandoc
@@ -20,13 +20,7 @@ Xen to load the configuration file even if multiboot modules are found.
 Once built, `make install-xen` will place the resulting binary directly into
 the EFI boot partition, provided `EFI_VENDOR` is set in the environment (and
 `EFI_MOUNTPOINT` is overridden as needed, should the default of `/boot/efi` not
-match your system). When built with debug info, the binary can be quite large.
-Setting `INSTALL_EFI_STRIP=1` in the environment will cause it to be stripped
-of debug info in the process of installing. `INSTALL_EFI_STRIP` can also be set
-to any combination of options suitable to pass to `strip`, in case the default
-ones don't do. The xen.efi binary will also be installed in `/usr/lib64/efi/`,
-unless `EFI_DIR` is set in the environment to override this default. This
-binary will not be stripped in the process.
+match your system).
 
 The binary itself will require a configuration file (names with the `.efi`
 extension of the binary's name replaced by `.cfg`, and - until an existing
diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
index d900d926c555..fcd3fc3d36cf 100644
--- a/xen/Kconfig.debug
+++ b/xen/Kconfig.debug
@@ -147,12 +147,7 @@ config DEBUG_INFO
 	  Say Y here if you want to build Xen with debug information. This
 	  information is needed e.g. for doing crash dump analysis of the
 	  hypervisor via the "crash" tool.
-	  Saying Y will increase the size of the xen-syms and xen.efi
-	  binaries. In case the space on the EFI boot partition is rather
-	  limited, you may want to install a stripped variant of xen.efi in
-	  the EFI boot partition (look for "INSTALL_EFI_STRIP" in
-	  docs/misc/efi.pandoc for more information - when not using
-	  "make install-xen" for installing xen.efi, stripping needs to be
-	  done outside the Xen build environment).
+	  Saying Y will increase the size of the xen-syms and xen-syms.efi
+	  binaries.
 
 endmenu
diff --git a/xen/Makefile b/xen/Makefile
index 1f11610b5f68..0f9b56fc399d 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -493,22 +493,6 @@ endif
 .PHONY: _build
 _build: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
 
-# Strip
-#
-# INSTALL_EFI_STRIP, if defined, will cause xen.efi to be stripped before it
-# is installed. If INSTALL_EFI_STRIP is '1', then the default option(s) below
-# will be used. Otherwise, INSTALL_EFI_STRIP value will be used as the
-# option(s) to the strip command.
-ifdef INSTALL_EFI_STRIP
-
-ifeq ($(INSTALL_EFI_STRIP),1)
-efi-strip-opt := --strip-debug --keep-file-symbols
-else
-efi-strip-opt := $(INSTALL_EFI_STRIP)
-endif
-
-endif
-
 .PHONY: _install
 _install: D=$(DESTDIR)
 _install: T=$(notdir $(TARGET))
@@ -535,9 +519,6 @@ _install: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
 		ln -sf $(T)-$(XEN_FULLVERSION).efi $(D)$(EFI_DIR)/$(T)-$(XEN_VERSION).efi; \
 		ln -sf $(T)-$(XEN_FULLVERSION).efi $(D)$(EFI_DIR)/$(T).efi; \
 		if [ -n '$(EFI_MOUNTPOINT)' -a -n '$(EFI_VENDOR)' ]; then \
-			$(if $(efi-strip-opt), \
-			     $(STRIP) $(efi-strip-opt) -p -o $(TARGET).efi.stripped $(TARGET).efi && \
-			     $(INSTALL_DATA) $(TARGET).efi.stripped $(D)$(EFI_MOUNTPOINT)/efi/$(EFI_VENDOR)/$(T)-$(XEN_FULLVERSION).efi ||) \
 			$(INSTALL_DATA) $(TARGET).efi $(D)$(EFI_MOUNTPOINT)/efi/$(EFI_VENDOR)/$(T)-$(XEN_FULLVERSION).efi; \
 		elif [ "$(D)" = "$(patsubst $(shell cd $(XEN_ROOT) && pwd)/%,%,$(D))" ]; then \
 			echo 'EFI installation only partially done (EFI_VENDOR not set)' >&2; \
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 47dd6c50fe88..01ed7302202e 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -196,10 +196,7 @@ note_file_option ?= $(note_file)
 
 extra-$(XEN_BUILD_PE) += efi.lds
 ifeq ($(XEN_BUILD_PE),y)
-$(TARGET).efi: $(objtree)/prelink.o $(note_file) $(obj)/efi.lds $(obj)/efi/relocs-dummy.o $(obj)/efi/mkreloc
-ifeq ($(CONFIG_DEBUG_INFO),y)
-	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),echo,:) "Will strip debug info from $(@F)"
-endif
+$(TARGET)-syms.efi: $(objtree)/prelink.o $(note_file) $(obj)/efi.lds $(obj)/efi/relocs-dummy.o $(obj)/efi/mkreloc
 	$(objtree)/tools/symbols $(all_symbols) --source-name=$(@F).S --empty \
 		> $(dot-target).0s.S
 	$(MAKE) $(build)=$(@D) .$(@F).0s.o
@@ -233,10 +230,10 @@ endif
 	$(NM) -pa --format=sysv $@ \
 		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
 		> $@.map
-ifeq ($(CONFIG_DEBUG_INFO),y)
-	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),:$(space))$(OBJCOPY) -O elf64-x86-64 $@ $@.elf
-endif
 	rm -f $(dot-target).[0-9]* $(@D)/..$(@F).[0-9]*
+
+$(TARGET).efi: $(TARGET)-syms.efi
+	$(STRIP) $< -o $@
 ifeq ($(CONFIG_XEN_IBT),y)
 	$(SHELL) $(srctree)/tools/check-endbr.sh $@
 endif
diff --git a/xen/arch/x86/arch.mk b/xen/arch/x86/arch.mk
index cd0602a79aaf..199adc1a0967 100644
--- a/xen/arch/x86/arch.mk
+++ b/xen/arch/x86/arch.mk
@@ -95,13 +95,6 @@ EFI_LDFLAGS := $(patsubst -m%,-mi386pep,$(LDFLAGS)) --subsystem=10 --enable-long
 LD_PE_check_cmd = $(call ld-option,$(EFI_LDFLAGS) --image-base=0x100000000 -o $(efi-check).efi $(efi-check).o)
 XEN_BUILD_PE := $(LD_PE_check_cmd)
 
-# If the above failed, it may be merely because of the linker not dealing well
-# with debug info. Try again with stripping it.
-ifeq ($(CONFIG_DEBUG_INFO)-$(XEN_BUILD_PE),y-n)
-EFI_LDFLAGS += --strip-debug
-XEN_BUILD_PE := $(LD_PE_check_cmd)
-endif
-
 ifeq ($(XEN_BUILD_PE),y)
 
 # Check if the linker produces fixups in PE by default

base-commit: 37df17d2f903503c619713eb01e488f2cb1a257f
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 19:35:35 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 19:35:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332030.1594657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWfkl-0002SY-S0; Mon, 08 Jun 2026 19:35:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332030.1594657; Mon, 08 Jun 2026 19: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 1wWfkl-0002SR-P7; Mon, 08 Jun 2026 19:35:19 +0000
Received: by outflank-mailman (input) for mailman id 1332030;
 Mon, 08 Jun 2026 19:35:19 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmytro_prokopchuk1@epam.com>) id 1wWfkk-0002SL-U0
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 19:35:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWfkh-003oIN-1R
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 21:35:15 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmytro_prokopchuk1@epam.com>)
 id 6a271972-5cb7-0a2a0a5109dd-0a2a4502eca2-2
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 21:35:14 +0200
Received: from [52.101.69.117]
 (helo=AM0PR83CU005.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmytro_prokopchuk1@epam.com>)
 id 6a271972-af86-0a2a45020019-346545759631-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 21:35:14 +0200
Received: from AM9PR03MB7526.eurprd03.prod.outlook.com (2603:10a6:20b:3de::17)
 by AS8PR03MB7318.eurprd03.prod.outlook.com (2603:10a6:20b:2ea::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Mon, 8 Jun 2026
 19:35:12 +0000
Received: from AM9PR03MB7526.eurprd03.prod.outlook.com
 ([fe80::904d:5820:80e1:41ba]) by AM9PR03MB7526.eurprd03.prod.outlook.com
 ([fe80::904d:5820:80e1:41ba%3]) with mapi id 15.21.0092.011; Mon, 8 Jun 2026
 19:35: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=FhGwSkvpGHV0kUchm/Gp9yHJtLfDdVDD+5ZAzcigOE0pcOp1P2EbEHb7SjPu3hcnq4QAaOBwGRfsvlA31JEUUbjqBPmmFstvrJBSdkK84vjs6yO/4RtpfqLBXdcINwNSgLg9M4dNR5leR8U1D75NZE2gYrHPBQD5kl81ZSNnvBqM5KKpanzFwy61eZew8rbD0clnq38fz0bQyYe06i5V/PGmlwmGo9HCONgoC5fVuoX4X4MrvljqFxbmAxTQWLRx9H3cMKLnxB5zZP3Mt7W5KnWVbgNto9g6ZCyx9vpLpP6Zp5Tv4nXDROyqbjoptlJrMWm0hr5ytOa+4cKFzoR23g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gM/uJWznb4zSkV5by61LyWNXqXZ7xUU/M2EgvsQx6Zk=;
 b=DsqSEYLBLTN9zd260Vg0sX5lWa0fpvLrE7pskgyrKxO2TIh56P/5jMlPjT5UaMIX3vllG8wrtpoWrpwAj9WSf4mnhEkYOW+/m6bBrsSMHxi1jkpr1YurVhQn8bS5R0hiJ74+jp7ChuBTJspitfAbhzvz0BtYUu0WYhwarY6oXEPZZKGDmM1HkMgNennwL2+TR1ObHax9+liB3t5/bp8GE/LRT1/3eHQgy0YCCdzk4vHtUQmg27vqYIcSD2MPZUDbPjr3ytLrlbVxUqZBVQXecYaO77S4qLApYDfdfBOGp2XZu+1XW8o9uUYBgDvjCaFg0evp//TYqf/Fj9LwGqxu6g==
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=gM/uJWznb4zSkV5by61LyWNXqXZ7xUU/M2EgvsQx6Zk=;
 b=sORFrdG0vVwIwrRHjV0iJ3rXyX0fUrbFFOhQt4xQQFTJDuuHQeTVo1HN+3Q3d+UBq9aMNUV4lKEfKpDt1J3ft1NXFdkaMV2+nxavOrY0xhO1qdBHJJP5mhF99DlQq4vVKY3A0A3g1WiGGKCoYL/nylEuw1lsVgbnd3+sVWsXrGNMZPXwi4HA5GGfVGqfCHPCvVCSA7T37nNM9O2mHmAAbqdXQSIdu6eu5zkr2cqyAUuWvt2Jtis7bnbjxH/HDdF8Y1Y7RtIsw6s1tJ1UyoGywXv4Fmj6WdINMDj0nrHmjWMM8UuUbSrRe0geHbnf6ZcAZZozxlHDfORjmKboWX6BMA==
From: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>, Julien
 Grall <julien@xen.org>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3] xen/decompress: resolve MISRA R5.5 identifier/macro name
 conflicts
Thread-Topic: [PATCH v3] xen/decompress: resolve MISRA R5.5 identifier/macro
 name conflicts
Thread-Index: AQHc933sqAgjoPjitEesqeqMnsJ02w==
Date: Mon, 8 Jun 2026 19:35:12 +0000
Message-ID:
 <f73e440f0ec5aeaa5f1bceaf1fd1403099df57bc.1780946676.git.dmytro_prokopchuk1@epam.com>
Accept-Language: en-US, uk-UA, ru-RU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AM9PR03MB7526:EE_|AS8PR03MB7318:EE_
x-ms-office365-filtering-correlation-id: 066b30b0-aa6e-451f-ac49-08dec5950f04
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|42112799006|376014|366016|38070700021|18002099003|3023799007|56012099006|11063799006;
x-microsoft-antispam-message-info:
 ZuLb9gen1+n0uDNhTLrvIAPWMC7KcqjuAP148wD5KWSXW3M40o4tkjul+ETHll2jMTbg8p42mrEWpgXswYAulk6+O11Ja6DGQpLJ/6+l00QHlXRsHFW6JBzmZjSydv5K6YvCuGzrAevWuVlAmTiCdVRN++Y5v5nQOxUTFRsIXeWuzQDrBQT01fd9u8/106UVroUiEgEhXZWh4sIl4QSMEDIPYhN9QRRfpZSGyOd+qo3sFy1I2NhVSmA227w/cB/hLURoy36EF9FV7amLfkomc/+dFtLcwUdP/9EIEfb+Iavzhz9ajtNR6Fo/PXq341ao0QI68QXDsKqBfwifrhe/ZSZ2fC9+e3Ng2stQR+kRFEknSIDoxMUDfOyKWiE0d/2deKUUpxx8YF9RZU3EMrHABbKylp1Rfpy+uV8bafoKjJyCi4QWNKUWmSV0HZYEpmpdL0UKDbnki+2UC9tqd1cY//JEYWwcZ6S3CrmnOw1qlZVbqbNhZnlkh+QgI/vtKZ1Jp60gD+D4t0yHQ5dT5L7qgXtCFvXX2HnVW7GrQ7+rLG3Cej/295yYa1G3xOYs0jsflaPepfDxSZKa/UXOlqSdCKeM8OcIGJlUNZsA8nGjC9oChRb+q2DCn5GaG+aVxhPhxjaGpOH6u/96m90OJBoYbKvngN29UY1ATDb72UNtX9r5/9jvlph2qKG8Vs44d/nppPsJJfVN/4Pk7ymlWB37WA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR03MB7526.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(42112799006)(376014)(366016)(38070700021)(18002099003)(3023799007)(56012099006)(11063799006);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?MbfCDtSBOg/Nv0IQKE9vaQT3xEt+XyFVTlu5L3FtcUd4Te1oTPz7jIgsh3?=
 =?iso-8859-1?Q?u9htilbO/yni80LEHB2edRToLiWXv722/MQUK1SuRVY0OwlsQawemY/Wbo?=
 =?iso-8859-1?Q?t9PCYgHSFHtzQXcGpp5ZA17OymkeTkTihR/E+GPlX65VbTHdO7ZzbJCRfx?=
 =?iso-8859-1?Q?R5YioFm0IFIUqbJvQNn1n3x7cZNqVk/OWFfBclPuY3DX3fOLzAMGZxxjlg?=
 =?iso-8859-1?Q?44HolNjpqd7h5zJacvWlRqpS09L3IQQOv25Dl7mxWTiKObk55RKy1LR/F4?=
 =?iso-8859-1?Q?owavdjux7wETebSHrUOSYOkUlzbkjbqeUftEM7iQ7QZbSc6t2nu1dz7Sfm?=
 =?iso-8859-1?Q?+gTFw2yggijyRfqxHm7iUtmQNo4v2im8sflIjoJp94j+7d2Kbr5YvvHyx5?=
 =?iso-8859-1?Q?GC6PcbbEtK0VtYbOmNounO+Vaei7ZV/YK0VFT5JBxoBTBNeEcjrbqU5gI7?=
 =?iso-8859-1?Q?L2HYO5baR3lfkfX9iFLPkkbVyMmOCBQ/3qC5EGIBwM82TPY/Efg+CNijFg?=
 =?iso-8859-1?Q?i7WfEjbqBLnKFWZz/yF4h6/9QfN8fLE/luwBzamWLC1qGFS/z2rh7meLUS?=
 =?iso-8859-1?Q?TZyeW7xNBYULZYgmFgo2x56GmY7Jg6eohXQoIwOMOUGCVBKp7vfLGFZ2uS?=
 =?iso-8859-1?Q?rWpUQ/9m3vfHgzKHOven6CDmqnM5RmbpM8hpL5WwzzfH2hAfZKB8dfX8xw?=
 =?iso-8859-1?Q?UJsZbVltejOluZW6vZGAN5uPDQxyFlUCHyJOcBrrwHa6GnNLpVXsjpUBm6?=
 =?iso-8859-1?Q?jIr/gx5RpV5I7u+Inciw6Ksz1N3fihey6oMtG0dwcJK1I50WG5lceo8tCr?=
 =?iso-8859-1?Q?eHCQz764dQ6UZhQWbaW4OnXIFBE05hUPLGmLEM9uBKKBFlMLnRQanLLUQA?=
 =?iso-8859-1?Q?CrCANXjBHv0SeTJjHi3hOC3tDome7lDYu7CDWWflIeqDqEATQVJDbeTyg6?=
 =?iso-8859-1?Q?/GZjp6dFT3xnjW9q/NU7DkeUZdndRneJD2+SpaoB+V91WdHryknmoygJPB?=
 =?iso-8859-1?Q?xqk/AcWX0C48YBDQHiYuZF2h/zi2PVYJSDlliwFUG3ijRg8bAI6sRDtKW3?=
 =?iso-8859-1?Q?QOT3Ay82JABvjcNiWM/bwsPS2cTxh4tWsGHUyruGxgRzsblN1XUxUSOPCK?=
 =?iso-8859-1?Q?lTqsDc9JfJ5OftWwWq7AfReIAMHZKHBTSPlPo7rX+jVowCJN+5iYEehjDu?=
 =?iso-8859-1?Q?T5gLSdGnlF9DgR0qansSAE6vjiJIZnfnviPrXJwPXdNl1q370WLGRWLoL6?=
 =?iso-8859-1?Q?u7vKNyeQjEQ1j5Zko69iPffd0/hhem9pcUOSDq1wBAkB2lMtxdw2U7FSI6?=
 =?iso-8859-1?Q?zk9ituLg89XcAvG2r/5EJNGkt4bGXrKvD5mFTW64XCvezt+sIB4w0UDcNo?=
 =?iso-8859-1?Q?FMmbr4h3iCaRNcESWDchK9v886hquqb+73FiQjAX1d/Jpz8HeNneArNHAi?=
 =?iso-8859-1?Q?9s6K6uMUsHliipoB6uNrSk/aOQlL4VQYc/ihOSy056y6epGU2UZ3YVTlXo?=
 =?iso-8859-1?Q?5xvbcPCrxUQelRO4XKnp2j9ZpAByzTm63Kc/uS1yrtoE2Yt1834BGdGc6s?=
 =?iso-8859-1?Q?6LEdSPE+in+XgK5HHpvDiYDemSvC3gmlghPxLm8iuJ/iUpHaXMWdvmPMvk?=
 =?iso-8859-1?Q?E9U+HWZPtOY/Zn7/3nGVCdpbbUNlhgRRh1bUYSG/dhe7VekwC+Kmx90cO0?=
 =?iso-8859-1?Q?cuuKrKB2+c1nF/ZQ8QHG0GqYn4RAuK95LnjaTc1+J5Ib845zAPA77ZbrLK?=
 =?iso-8859-1?Q?7RidaCh3efiHcbrz+HSK8LHFzFfE0BURCVQkyWlIm5S+mNVDu8TxevAAAw?=
 =?iso-8859-1?Q?Ff06s8kOxM+VgzaaRCE2uLTs7KhtQpQ=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: AM9PR03MB7526.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 066b30b0-aa6e-451f-ac49-08dec5950f04
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jun 2026 19:35:12.5319
 (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: /ZZUl+EWWE8th6nKJttQe198NZq5YogEyydIZglaouP3pbMCCc6FF4JK4ZyWATBvy6LjKTfsi5qTm9XZ+cQaENHpz5vXJu6teBeN2rBiPnY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB7318
X-purgate-ID: tlsNG-720697/1780947314-ABF66161-923E9453/0/0
X-purgate-type: clean
X-purgate-size: 2160

Convert 'free' macro in 'decompress.h' from object-like to function-like
form.

The object-like macro '#define free xfree' performs unconditional text
replacement, causing conflicts with identifiers named 'free', such as
struct fields in 'page_info' unions defined in 'xen/arch/arm/include/asm/mm=
.h'.
Function-like macros only match when followed by parentheses, allowing
'free' to be used both as a macro and as a struct field without conflicts.

Applying function-like form to 'malloc', 'large_malloc' and 'large_free'
ensures consistent macro style.

Additionally moved 'large_{malloc,free}' past the #endif to reduce
redundancy.

While function-like macros prevent uses where the underlying function
identifier is needed directly, such as taking a function pointer, no
such uses exist in the current Xen codebase.

Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v3:
- updated wording of the last paragraph in the commit message
- large_{malloc,free} moved past the #endif
- changed macro parameters naming ('s', 'p')
- added Jan's Acked-by
Link to v2:
- https://patchew.org/Xen/025bc771fe1339dfae476037af86c6bfa1048382.17796541=
14.git.dmytro._5Fprokopchuk1@epam.com/
Changes in v2:
- converted other macros for consistency
- updated commit message wording
---
 xen/common/decompress.h | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/xen/common/decompress.h b/xen/common/decompress.h
index 034c833665..b347d91980 100644
--- a/xen/common/decompress.h
+++ b/xen/common/decompress.h
@@ -9,11 +9,8 @@
 #include <xen/types.h>
 #include <xen/xmalloc.h>
=20
-#define malloc xmalloc_bytes
-#define free xfree
-
-#define large_malloc xmalloc_bytes
-#define large_free xfree
+#define malloc(s) xmalloc_bytes(s)
+#define free(p) xfree(p)
=20
 #else
=20
@@ -21,9 +18,9 @@
 #define __init
 #define __initdata
=20
-#define large_malloc malloc
-#define large_free free
-
 #endif
=20
+#define large_malloc(s) malloc(s)
+#define large_free(p) free(p)
+
 #endif /* DECOMPRESS_H */
--=20
2.43.0


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 19:55:16 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 19:55:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332037.1594667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWg3y-00018w-CH; Mon, 08 Jun 2026 19:55:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332037.1594667; Mon, 08 Jun 2026 19: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 1wWg3y-00018p-9Q; Mon, 08 Jun 2026 19:55:10 +0000
Received: by outflank-mailman (input) for mailman id 1332037;
 Mon, 08 Jun 2026 19:55:09 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dpsmith@apertussolutions.com>) id 1wWg3x-00018j-5p
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 19:55:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWg3w-001ZCe-2L
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 21:55:08 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a271dd0-2eae-0a2a0a5409dd-0a2a450795a6-48
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 21:55:07 +0200
Received: from [136.143.188.51] (helo=sender4-of-o51.zoho.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a271e19-229c-0a2a45070019-888fbc335291-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 21:55:07 +0200
Received: by mx.zohomail.com with SMTPS id 178094849351665.49557558601805;
 Mon, 8 Jun 2026 12:54: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=zoho header.d=apertussolutions.com header.i="dpsmith@apertussolutions.com" header.h="Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding"
ARC-Seal: i=1; a=rsa-sha256; t=1780948496; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=mZxL+FYw2x95QmgxagjIlBkA1w6ENc66rKxnqzurwuiYYzVHlbhfBi5x7SjgXULDH/xw19GoCJdI2Uxo3gbg+oevOoJGcDGYHM1zVkwtOdL2i0sPVg1Jbd6a68BERIOjO6LmwGXDXyDbRj2vISyoPPMITHjQSpamHbdkxrlzfGQ=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1780948496; 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=agwjieH2C8BqxPI7qbVmt/rqTrmPxOTB+kkEdNu7f3o=; 
	b=RV+eATuNWtGEMKV0JMX7PlWr8yck1NQp2wbyfyhVAZfKpWpbu63Z5O7kFL6mlAe4SLTWIEnLukUYg20QPxqc1XqWKMRO3t4YcjQ7c5DBV2RvPypIJNQwz9Dmdia3xOaLBIOLI4lWmgI8Ot40jQ4oADgBPMlik5gAC9nhM1ClT7Y=
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=1780948496;
	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=agwjieH2C8BqxPI7qbVmt/rqTrmPxOTB+kkEdNu7f3o=;
	b=mWESjfxgU1s393Iv/EsWgugz/HjQTfQVGkSObSw76TDEfs/F3V6LbmAmMn31WFpS
	kTDbA8sJOWGQy2iZSBNY0o44sd4h3DCExZ4BCB+VSkiLORibnPOXBXTEYf06qv+MW/x
	14+B+Gl8DybM/Du8E5PFqp5F5TVPSDB3sWGiUCu8=
Message-ID: <ae19de19-aef5-47af-833d-87a46efb9afc@apertussolutions.com>
Date: Mon, 8 Jun 2026 15:54:51 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/6] argo: lower level of noisy connection-refused log
To: dmukhin@ford.com, 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, christopher.w.clark@gmail.com,
 Mykola Kvach <mykola_kvach@epam.com>
References: <20260526215823.1452619-1-dmukhin@ford.com>
 <20260526215823.1452619-2-dmukhin@ford.com>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20260526215823.1452619-2-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External
X-purgate-ID: tlsNG-ef75cf/1780948507-20563C48-C8453E2B/0/0
X-purgate-type: clean
X-purgate-size: 1911



On 5/26/26 5:58 PM, dmukhin@ford.com wrote:
> From: Denis Mukhin <dmukhin@ford.com>
> 
> Switch the log line to argo_dprintk() so it is enabled only in debug
> environments, as it can spam the logs when a dom0 service using the Argo
> hypercall tries to communicate with a domain that is still starting up.
> 
> Note that this also lowers the log level to debug when the argo_dprintk()
> facility is enabled.
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>
> ---
> Changes since v2:
> - updated commit message
> ---
>   xen/common/argo.c | 7 +++----
>   1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/common/argo.c b/xen/common/argo.c
> index 28626e00a8cb..98a3db7fd070 100644
> --- a/xen/common/argo.c
> +++ b/xen/common/argo.c
> @@ -2034,10 +2034,9 @@ sendv(struct domain *src_d, xen_argo_addr_t *src_addr,
>                                           src_id.domain_id);
>       if ( !ring_info )
>       {
> -        gprintk(XENLOG_ERR,
> -                "argo: vm%u connection refused, src (vm%u:%x) dst (vm%u:%x)\n",
> -                current->domain->domain_id, src_id.domain_id, src_id.aport,
> -                dst_addr->domain_id, dst_addr->aport);
> +        argo_dprintk("vm%u connection refused, src (vm%u:%x) dst (vm%u:%x)\n",
> +                     current->domain->domain_id, src_id.domain_id, src_id.aport,
> +                     dst_addr->domain_id, dst_addr->aport);
>   
>           ret = -ECONNREFUSED;
>       }

My apologies but this is not the wisest approach, hitting this is a real 
error and shouldn't be getting silenced. If you are seeing a lot of 
these messages, I would suggest asking yourself why. Without further 
context on how you are using it, one suggesting is perhaps your 
connection model might need to be revisited.

V/r,
Daniel P. Smith


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 20:01:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 20:01:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332045.1594676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWg9m-0004wC-4K; Mon, 08 Jun 2026 20:01:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332045.1594676; Mon, 08 Jun 2026 20:01: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 1wWg9m-0004w5-0j; Mon, 08 Jun 2026 20:01:10 +0000
Received: by outflank-mailman (input) for mailman id 1332045;
 Mon, 08 Jun 2026 20:01:08 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wWg9k-0004vz-D2
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 20:01:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWg9j-003QoK-GY
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 22:01:07 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a271f77-e002-0a2a0a5209dd-0a2a4503c184-18
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 22:01:07 +0200
Received: from [202.12.124.145] (helo=fout-b2-smtp.messagingengine.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a271f81-672d-0a2a45030019-ca0c7c9189e1-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 22:01:06 +0200
Received: from phl-compute-01.internal (phl-compute-01.internal [10.202.2.41])
 by mailfout.stl.internal (Postfix) with ESMTP id 4CB4C1D000DA;
 Mon,  8 Jun 2026 16:01:05 -0400 (EDT)
Received: from phl-frontend-04 ([10.202.2.163])
 by phl-compute-01.internal (MEProxy); Mon, 08 Jun 2026 16:01:05 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 8 Jun 2026 16:01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=1780948865;
	 x=1781035265; bh=7TXsuCqjQSIWLbg+cf+quPHZ9WycHowGw1HKiMELlIk=; b=
	W8GlixhXY+jIX9baMuLqMnlhGyfgYVLFJhSGbn8T7t9hihzr9kT63vQn9hUsbmh8
	d0slSjzZh5Su0Cq1SdPzorHOGew4p8ATsGurx2BC8ZEleHWnal5KY11FzgQPNifl
	W/QvKxFgybTC8+q7T5R6cAtT59I3Vj+TfwE1mHfgrrcK/samE/BQFcMyR53nPqEy
	cO+yYmx57oKYDel5fxauWzx5NGW/bYG47mrFNGnjrj935AsEheikhRKt/PRtMgyo
	FX3rbZzMhoVRMOdHYWbwZMo60iQuSk33ywSSRS2+mwZKFxPergn4EDSygX4i7LzW
	pxDEMSzQN42shQafz6e7VQ==
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=
	1780948865; x=1781035265; bh=7TXsuCqjQSIWLbg+cf+quPHZ9WycHowGw1H
	KiMELlIk=; b=aPt4hLhhcY5MZhQokHz9SbnbIkOV86/uVw/MJCmimjWGLcU4A8T
	tF25hRksOBuVPSrZbaBvEq7KYg7ebhGoHks1SKbuJCurXyShYWHI5rv94g0iC/RU
	sLW3LVou7ToTKJuhkpKFAI3IqaoAFznGBR18dyaS7WTaJfA7i9OCuW+xsibp10M9
	4pnVynnTnG9rrc9zQW6WfQvvrIsb49T4keJ7XdhDHsEZr0PivZhGQ7Z2tybCkFt6
	F7HZba1akGzDiaZhnMbhQe8ehe6UOUrp646F9dBc8Bw3XqqQE87DnsRS9s+Xk73z
	R4NJfziA7WVTB/xauqx2IEC2Kj/iFS73xKg==
X-ME-Sender: <xms:gB8namMqmDl84NlSrPeBOelskpi3y9_2RVQ4qERaTkqrv92AXMc1CA>
    <xme:gB8nakD5i7dpsJZ53ZkV4geGxnPt0n3dF799dVCpMXHp6SYLuGVYup4SRcYAG9Nyi
    Nw09oPqD-GBJpeUaKeLqqiN39tXVDbw_AC-VaoisvD--gGE>
X-ME-Received: <xmr:gB8najdeFcPHMQ3dFdCIfWE0KGL2fjH86tzAK1Ytf0M3SpMedir_mz4RUray-V0phcLbi7hFHYNpxt0Z3Smobr0oWQXe8CWB8YE>
X-ME-Proxy-Cause: dmFkZTGQ4pTAzhuEpoGVMeriJ3lWmM37sxlt6N4wcJxOTYuZHU7CFWh2lWAzPhPkGA+OZ/
    zcl7ltwAExDJCCyzWR/75ahTZWemLuTCkPXHqktPoV7DPMD4XM/6pa3NCS56BTAPkK5QO/
    R1C1tw+H9vUrOYth3Icqg45rqXwcc3EBj/KB+YAG0a+FJTBGcwL0Jj+5rYoY1KAC5Qd9vh
    CGTSeNdFak4tWU5D8TJxmOoLO8NUmejCjTH7Pa5IW/pUZiuK9DkMf79agMqAp7wUJmEri8
    8bLV7M9mmC6fb2BCPQlFS0Iomud8b28VeYIM0MOHZW7f9bsNVz/bxZFMUjYrrVn+h9/7WS
    AAod0VrAxc8Z+WF1NcGN4ORJW6zwGszjTwcB+q3iPhXNG/OnWpTbBI3e52f0apbS7Y/kZj
    9JTUpo89Cd4aXYvlb8e/t9BuYSBfsrXJR0R4MH+1GrkGZEh95ChN2H/noELWN4gmsWB5mt
    55pNSpkgVVf18lmWPm4lKHS47JQi5ASCVwh4we3BSUlchEJhdpDPlwLGY8+uO6wRplShZc
    4w9CqyJYvZQX1XwQjJTf+qLtXcbcumd+YVTH7Knt9In0a94zQxhGyNY9nkKJ1OkRf57AST
    fTEB77KwPFD6MKXnpXSz0d2gqa4FAEDr9iUBvvuKmaRBZ8KSqihOO7AjDONg
X-ME-Proxy: <xmx:gB8najOlW0QYE69xhfX4DPNTpUq8OtFC5u2mWWA6tLiHEqaz_pIK4Q>
    <xmx:gB8najK3sx5chUbUbDvb8IJ1bHQ71Vatckj5vTeeMDKFqs6KD7Xz2Q>
    <xmx:gB8najLq66eXo8khqjy1AtdYcy2h1OwMw90ikJk7u-6XZU2EgxTzUQ>
    <xmx:gB8nat7ztjjiKkBkPqEBFerFlhNhY4SgPSw-QjSNtWFJADamf54gFA>
    <xmx:gR8naqSbnsoltCqY4nLVU2_2oIGurBZ7qIcRn1ixREbRotgGDJv9c66f>
Feedback-ID: i1568416f:Fastmail
Date: Mon, 8 Jun 2026 22:01:01 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH for-4.22] xen/x86: Always strip xen.efi
Message-ID: <aicffd9gRs-HQ88v@mail-itl>
References: <20260608173108.2848469-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="nyBmkYNrsX5w2vPj"
Content-Disposition: inline
In-Reply-To: <20260608173108.2848469-1-andrew.cooper3@citrix.com>
X-purgate-ID: tlsNG-33051d/1780948867-42F62938-466BDFFC/10/73395122804
X-purgate-type: spam
X-purgate-size: 11454


--nyBmkYNrsX5w2vPj
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 8 Jun 2026 22:01:01 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH for-4.22] xen/x86: Always strip xen.efi

On Mon, Jun 08, 2026 at 06:31:08PM +0100, Andrew Cooper wrote:
> From: Frediano Ziglio <frediano.ziglio@citrix.com>
>=20
> xen.efi with debugging symbols is ~45MB, down to ~9.3MB when stripped.
> Multiple firmwares (as seen by QubesOS, Trenchboot, and XenServer) are un=
able
> to boot xen.efi when debugging symbols are included.
>=20
> Either way, having debug symbols by default is abnormal and contrary to h=
ow
> the non-EFI path works.
>=20
> Produce xen-syms.efi unconditionally, just like xen-syms.  If
> CONFIG_DEBUG_INFO is enabled, these will contain debug symbols, and if no=
t,
> then not.  When xen-syms is processed by mkelf32, the debug symbols are s=
imply
> discarded.  For xen-syms.efi, call $(STRIP) to produce xen.efi.
>=20
> Some old versions of binutils ld managed to produce efi files which the
> matching version of strip couldn't process.  This includes Binutils 2.26
> included in Ubuntu 16.04.  Delete the workaround for this bug, and requir=
e a
> less broken toolchain.

While I see Ubuntu 16.04 dropped, how is the "require a less broken
toolchain" addressed? By implicitly disabling xen.efi build on broken
toolchain? Maybe README should have a note about needing newer Binutils
for xen.efi? Currently it says just Binutils 2.25. There is a section
about optional build deps, maybe add there something like "GNU Binutils
X.Y (required for building xen.efi)", if the version is known, or at
least "GNU Binutils capable of producing non-broken PE files (required
for building xen.efi)" if the version is not known.

> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <jbeulich@suse.com>
> CC: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> CC: Teddy Astie <teddy.astie@vates.tech>
> CC: Frediano Ziglio <frediano.ziglio@citrix.com>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> CC: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>
> CC: Daniel P. Smith <dpsmith@apertussolutions.com>
>=20
> For 4.22.  This was posted previously as
>=20
>   https://lore.kernel.org/xen-devel/20251208133945.61375-1-frediano.zigli=
o@citrix.com/T/#u
>=20
> but merged the two patches and rewritten the commit message to make it cl=
ear
> that failing to strip xen.efi is causing boot failures.
>=20
> Previously xen.efi.elf was produced but it's unclear why, and unnecessaer=
ily
> different, so I've dropped it.
>=20
> While this does want backporting, it can't be.  Xen 4.21 and older still =
build
> test with Ubuntu 16.04 and choke
> ---
>  .gitignore            |  1 +
>  CHANGELOG.md          |  3 +++
>  docs/misc/efi.pandoc  |  8 +-------
>  xen/Kconfig.debug     |  9 ++-------
>  xen/Makefile          | 19 -------------------
>  xen/arch/x86/Makefile | 11 ++++-------
>  xen/arch/x86/arch.mk  |  7 -------
>  7 files changed, 11 insertions(+), 47 deletions(-)
>=20
> diff --git a/.gitignore b/.gitignore
> index bfc7bdf043c3..49e2c6961768 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -224,6 +224,7 @@ tools/flask/policy/xenpolicy-*
>  xen/xen
>  xen/suppression-list.txt
>  xen/xen-syms
> +xen/xen-syms.efi
>  xen/xen-syms.map
>  xen/xen.*
> =20
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 5cf19372a361..71d1e9ab8c69 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -14,6 +14,9 @@ The format is based on [Keep a Changelog](https://keepa=
changelog.com/en/1.0.0/)
>   - On x86:
>     - Enable pf-fixup option by default for PVH dom0.
>     - The libxenguest bzImage loader now uses the system liblz4 library.
> +   - The install-time environment variable INSTALL_EFI_STRIP no longer e=
xists.
> +     xen.efi is always stripped, while the symbols remain available in
> +     xen-syms.efi.
> =20
>  ### Added
>   - Support for per-domain Xenstore quota in C xenstored (includes
> diff --git a/docs/misc/efi.pandoc b/docs/misc/efi.pandoc
> index 8198a7f063cf..0a3fd67076fc 100644
> --- a/docs/misc/efi.pandoc
> +++ b/docs/misc/efi.pandoc
> @@ -20,13 +20,7 @@ Xen to load the configuration file even if multiboot m=
odules are found.
>  Once built, `make install-xen` will place the resulting binary directly =
into
>  the EFI boot partition, provided `EFI_VENDOR` is set in the environment =
(and
>  `EFI_MOUNTPOINT` is overridden as needed, should the default of `/boot/e=
fi` not
> -match your system). When built with debug info, the binary can be quite =
large.
> -Setting `INSTALL_EFI_STRIP=3D1` in the environment will cause it to be s=
tripped
> -of debug info in the process of installing. `INSTALL_EFI_STRIP` can also=
 be set
> -to any combination of options suitable to pass to `strip`, in case the d=
efault
> -ones don't do. The xen.efi binary will also be installed in `/usr/lib64/=
efi/`,
> -unless `EFI_DIR` is set in the environment to override this default. This
> -binary will not be stripped in the process.
> +match your system).
> =20
>  The binary itself will require a configuration file (names with the `.ef=
i`
>  extension of the binary's name replaced by `.cfg`, and - until an existi=
ng
> diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
> index d900d926c555..fcd3fc3d36cf 100644
> --- a/xen/Kconfig.debug
> +++ b/xen/Kconfig.debug
> @@ -147,12 +147,7 @@ config DEBUG_INFO
>  	  Say Y here if you want to build Xen with debug information. This
>  	  information is needed e.g. for doing crash dump analysis of the
>  	  hypervisor via the "crash" tool.
> -	  Saying Y will increase the size of the xen-syms and xen.efi
> -	  binaries. In case the space on the EFI boot partition is rather
> -	  limited, you may want to install a stripped variant of xen.efi in
> -	  the EFI boot partition (look for "INSTALL_EFI_STRIP" in
> -	  docs/misc/efi.pandoc for more information - when not using
> -	  "make install-xen" for installing xen.efi, stripping needs to be
> -	  done outside the Xen build environment).
> +	  Saying Y will increase the size of the xen-syms and xen-syms.efi
> +	  binaries.
> =20
>  endmenu
> diff --git a/xen/Makefile b/xen/Makefile
> index 1f11610b5f68..0f9b56fc399d 100644
> --- a/xen/Makefile
> +++ b/xen/Makefile
> @@ -493,22 +493,6 @@ endif
>  .PHONY: _build
>  _build: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
> =20
> -# Strip
> -#
> -# INSTALL_EFI_STRIP, if defined, will cause xen.efi to be stripped befor=
e it
> -# is installed. If INSTALL_EFI_STRIP is '1', then the default option(s) =
below
> -# will be used. Otherwise, INSTALL_EFI_STRIP value will be used as the
> -# option(s) to the strip command.
> -ifdef INSTALL_EFI_STRIP
> -
> -ifeq ($(INSTALL_EFI_STRIP),1)
> -efi-strip-opt :=3D --strip-debug --keep-file-symbols
> -else
> -efi-strip-opt :=3D $(INSTALL_EFI_STRIP)
> -endif
> -
> -endif
> -
>  .PHONY: _install
>  _install: D=3D$(DESTDIR)
>  _install: T=3D$(notdir $(TARGET))
> @@ -535,9 +519,6 @@ _install: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
>  		ln -sf $(T)-$(XEN_FULLVERSION).efi $(D)$(EFI_DIR)/$(T)-$(XEN_VERSION).=
efi; \
>  		ln -sf $(T)-$(XEN_FULLVERSION).efi $(D)$(EFI_DIR)/$(T).efi; \
>  		if [ -n '$(EFI_MOUNTPOINT)' -a -n '$(EFI_VENDOR)' ]; then \
> -			$(if $(efi-strip-opt), \
> -			     $(STRIP) $(efi-strip-opt) -p -o $(TARGET).efi.stripped $(TARGET)=
=2Eefi && \
> -			     $(INSTALL_DATA) $(TARGET).efi.stripped $(D)$(EFI_MOUNTPOINT)/efi=
/$(EFI_VENDOR)/$(T)-$(XEN_FULLVERSION).efi ||) \
>  			$(INSTALL_DATA) $(TARGET).efi $(D)$(EFI_MOUNTPOINT)/efi/$(EFI_VENDOR)=
/$(T)-$(XEN_FULLVERSION).efi; \
>  		elif [ "$(D)" =3D "$(patsubst $(shell cd $(XEN_ROOT) && pwd)/%,%,$(D))=
" ]; then \
>  			echo 'EFI installation only partially done (EFI_VENDOR not set)' >&2;=
 \
> diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
> index 47dd6c50fe88..01ed7302202e 100644
> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -196,10 +196,7 @@ note_file_option ?=3D $(note_file)
> =20
>  extra-$(XEN_BUILD_PE) +=3D efi.lds
>  ifeq ($(XEN_BUILD_PE),y)
> -$(TARGET).efi: $(objtree)/prelink.o $(note_file) $(obj)/efi.lds $(obj)/e=
fi/relocs-dummy.o $(obj)/efi/mkreloc
> -ifeq ($(CONFIG_DEBUG_INFO),y)
> -	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),echo,:) "Will strip debug i=
nfo from $(@F)"
> -endif
> +$(TARGET)-syms.efi: $(objtree)/prelink.o $(note_file) $(obj)/efi.lds $(o=
bj)/efi/relocs-dummy.o $(obj)/efi/mkreloc
>  	$(objtree)/tools/symbols $(all_symbols) --source-name=3D$(@F).S --empty=
 \
>  		> $(dot-target).0s.S
>  	$(MAKE) $(build)=3D$(@D) .$(@F).0s.o
> @@ -233,10 +230,10 @@ endif
>  	$(NM) -pa --format=3Dsysv $@ \
>  		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
>  		> $@.map
> -ifeq ($(CONFIG_DEBUG_INFO),y)
> -	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),:$(space))$(OBJCOPY) -O elf=
64-x86-64 $@ $@.elf
> -endif
>  	rm -f $(dot-target).[0-9]* $(@D)/..$(@F).[0-9]*
> +
> +$(TARGET).efi: $(TARGET)-syms.efi
> +	$(STRIP) $< -o $@
>  ifeq ($(CONFIG_XEN_IBT),y)
>  	$(SHELL) $(srctree)/tools/check-endbr.sh $@
>  endif
> diff --git a/xen/arch/x86/arch.mk b/xen/arch/x86/arch.mk
> index cd0602a79aaf..199adc1a0967 100644
> --- a/xen/arch/x86/arch.mk
> +++ b/xen/arch/x86/arch.mk
> @@ -95,13 +95,6 @@ EFI_LDFLAGS :=3D $(patsubst -m%,-mi386pep,$(LDFLAGS)) =
--subsystem=3D10 --enable-long
>  LD_PE_check_cmd =3D $(call ld-option,$(EFI_LDFLAGS) --image-base=3D0x100=
000000 -o $(efi-check).efi $(efi-check).o)
>  XEN_BUILD_PE :=3D $(LD_PE_check_cmd)
> =20
> -# If the above failed, it may be merely because of the linker not dealin=
g well
> -# with debug info. Try again with stripping it.
> -ifeq ($(CONFIG_DEBUG_INFO)-$(XEN_BUILD_PE),y-n)
> -EFI_LDFLAGS +=3D --strip-debug
> -XEN_BUILD_PE :=3D $(LD_PE_check_cmd)
> -endif
> -
>  ifeq ($(XEN_BUILD_PE),y)
> =20
>  # Check if the linker produces fixups in PE by default
>=20
> base-commit: 37df17d2f903503c619713eb01e488f2cb1a257f
> --=20
> 2.39.5
>=20

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

--nyBmkYNrsX5w2vPj
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmonH30ACgkQ24/THMrX
1yycwgf9EFvplfGgqrB9wewr44t56C4tdTsdMLRS3lcryFRz8UOjZ0lbLXfl15BC
hI9WBMAdqsJxtv7kBFqcKW7d/5FSrhoFlDczSLQp5rPI//sHHCm8GRbkPhCL1KCJ
aNUi6PviP384dQL5Wyt6zJCbCRl0WWRPcNs8R6fbPYNANV+hTljM7DPPGRMAu5GV
PC7B9ccdbOw7GGUNeki0FsfeZCFsjFuML79oVzR6VB0Xy8qBs30tMLW21IXk3xmX
dv8ftofGuhBWfpPS0fwskXoDkVzS60CnCi2NxXY+9Osl+0MnZ9Gh6iUhxkz5ePGI
4d6h2MGX6Dtf8NX0YO5aa77WkH/gpA==
=V41x
-----END PGP SIGNATURE-----

--nyBmkYNrsX5w2vPj--


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 20:01:57 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 20:01:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332050.1594684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWgAX-0005Ol-CC; Mon, 08 Jun 2026 20:01:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332050.1594684; Mon, 08 Jun 2026 20: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 1wWgAX-0005Oe-9a; Mon, 08 Jun 2026 20:01:57 +0000
Received: by outflank-mailman (input) for mailman id 1332050;
 Mon, 08 Jun 2026 20:01:56 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dpsmith@apertussolutions.com>) id 1wWgAW-0005OW-HT
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 20:01:56 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWgAV-00FAo6-UZ
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 22:01:55 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a271fad-e002-0a2a0a5209dd-0a2a450b8e34-12
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 22:01:55 +0200
Received: from [136.143.188.51] (helo=sender4-of-o51.zoho.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a271fb1-212f-0a2a450b0019-888fbc3352a5-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 22:01:55 +0200
Received: by mx.zohomail.com with SMTPS id 1780948903681310.06137832133425;
 Mon, 8 Jun 2026 13:01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=zoho header.d=apertussolutions.com header.i="dpsmith@apertussolutions.com" header.h="Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding"
ARC-Seal: i=1; a=rsa-sha256; t=1780948907; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=n7GrCsS8aJnY7XVi8l4wHSLvV9RwBF4A0jfTwoNRs4ImTm9l8J3VeB2WH3IYPoILhp/HKiEPOMMMIAUFBhbuFmgf0mzcN3g/fvwaurB53FQUaSelysJR+8z4VlkQXv8ryIccfCvR/EUZ8Ny3ouYiSF/ij4L4d5e+MAjvUw91pEE=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1780948907; 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=sVbb64weEsi9fQUfpudjFmtAY89A5xkBgUiio/briYU=; 
	b=bo5WmW/evMc0PRFM05GxnrjjwA9q4lGbZiAPkpjw0lAxlJzU10paAcPLBVyvIioQYVDSHXMJjMthjStW5nYQnctEnCuQj4sk8kCLyzDtMcMgTOoq7SiMV98fdhP4Igk//iiKXaVN/h9TSLokRTBv1ge21Voy+lg5FwSE+rRDrBc=
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=1780948906;
	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=sVbb64weEsi9fQUfpudjFmtAY89A5xkBgUiio/briYU=;
	b=NIq6AAbfo2rw8CHYwVoG+74Ih+nuZ9f0KhQ6AtH/ZG/Ke9Ij7uttBdg7HVavB4HI
	pWIBoWTTsKIZp4JCZJmvzAtp1WE9Kab1YUmZv3azPQz7HxOzQ5E+0VlTHpoul9pxIHX
	gY7s50OPHKUAG/fSn73ZAXW5fRXrWaycszbF4xpc=
Message-ID: <1524a72e-b531-46cc-9a7d-64e8aa20d72d@apertussolutions.com>
Date: Mon, 8 Jun 2026 16:01:41 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/6] argo: correct logline in ring_unmap()
To: dmukhin@ford.com, 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, christopher.w.clark@gmail.com,
 Mykola Kvach <mykola_kvach@epam.com>
References: <20260526215823.1452619-1-dmukhin@ford.com>
 <20260526215823.1452619-3-dmukhin@ford.com>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20260526215823.1452619-3-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External
X-purgate-ID: tlsNG-42698a/1780948915-1B374F3B-C57D0060/0/0
X-purgate-type: clean
X-purgate-size: 1215


On 5/26/26 5:58 PM, dmukhin@ford.com wrote:
> From: Denis Mukhin <dmukhin@ford.com>
> 
> Drop XENLOG_ERR from the logline since argo_dprintk() already injects
> the proper log level indicator.
> 
> Also, drop "argo: " prefix, since it is also injected by argo_dprintk()
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>
> ---
> Changes since v2:
> - n/a
> ---
>   xen/common/argo.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/common/argo.c b/xen/common/argo.c
> index 98a3db7fd070..5da14c929e14 100644
> --- a/xen/common/argo.c
> +++ b/xen/common/argo.c
> @@ -474,7 +474,7 @@ ring_unmap(const struct domain *d, struct argo_ring_info *ring_info)
>               continue;
>   
>           ASSERT(!mfn_eq(ring_info->mfns[i], INVALID_MFN));
> -        argo_dprintk(XENLOG_ERR "argo: unmapping page %"PRI_mfn" from %p\n",
> +        argo_dprintk("unmapping page %"PRI_mfn" from %p\n",
>                        mfn_x(ring_info->mfns[i]), ring_info->mfn_mapping[i]);
>   
>           unmap_domain_page_global(ring_info->mfn_mapping[i]);

Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 20:03:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 20:03:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332055.1594694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWgBu-0005xM-Lo; Mon, 08 Jun 2026 20:03:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332055.1594694; Mon, 08 Jun 2026 20:03: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 1wWgBu-0005xF-IS; Mon, 08 Jun 2026 20:03:22 +0000
Received: by outflank-mailman (input) for mailman id 1332055;
 Mon, 08 Jun 2026 20:03:22 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dpsmith@apertussolutions.com>) id 1wWgBu-0005x9-2q
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 20:03:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWgBt-00B12K-Fk
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 22:03:21 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a271ff4-2eae-0a2a0a5409dd-0a2a4505dbca-44
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 22:03:21 +0200
Received: from [136.143.188.51] (helo=sender4-of-o51.zoho.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a272007-aaa8-0a2a45050019-888fbc3352af-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 22:03:21 +0200
Received: by mx.zohomail.com with SMTPS id 1780948990837219.678681917547;
 Mon, 8 Jun 2026 13:03: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=zoho header.d=apertussolutions.com header.i="dpsmith@apertussolutions.com" header.h="Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding"
ARC-Seal: i=1; a=rsa-sha256; t=1780948992; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=F4DLcMwMS3DMmkdMzHXOZOJ6TYBkcrB4S+mF0C+kthDuNYOKfw31xQU7JhOFMVIR/5UX7wHODatqUyOPFyAA7HXvbs4qmrAJprubFaNOwgOo2PMfEbV1ctKZhVM9ulun1rSKE8xJ1N0U/jUa093qWwZulwHJdr4Ia2H7F1gbS0c=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1780948992; 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=3nDwcGyJWc0QjmeFPQZFlxHYN5Ndm7fycB/h/bsWgKc=; 
	b=W18tmI0id1Q3L5yyGt7IJn+k+K8e0fdt7Tk50oyHMYf0lGHfOKVU6IvVlxjWVaFdOw1RJFEFn4PywiHf7qPehXUsAobnt/ZJP2nscvul+iZkvo0Lk7AUqUgfFnRzGeHfdirgBCvivqACL7VaOUL5yBap3jdCKY8YV7hr0wTW04Q=
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=1780948992;
	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=3nDwcGyJWc0QjmeFPQZFlxHYN5Ndm7fycB/h/bsWgKc=;
	b=tQ5j8ZruhXHkcUty2TP3oPvE6emEUKXow4o04v/wY5QyDtew4R/RjDRqF1wlVe2B
	FgqzY5e6XDHrf/I/ScUdgOSU/iXZVZkECDvqKCm6x5SRjaIIPeT+/c4HESBfPR93vPL
	Upi2CvUeM50GudqvJTf9pnjfclkhf6zGhGlyncSY=
Message-ID: <1a19ec4c-d85c-41d6-8bf5-9257b81b160d@apertussolutions.com>
Date: Mon, 8 Jun 2026 16:03:08 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/6] argo: drop argo prefix from argo_dprintk() calls
To: dmukhin@ford.com, 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, christopher.w.clark@gmail.com,
 Mykola Kvach <mykola_kvach@epam.com>
References: <20260526215823.1452619-1-dmukhin@ford.com>
 <20260526215823.1452619-4-dmukhin@ford.com>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20260526215823.1452619-4-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External
X-purgate-ID: tlsNG-c201ff/1780949001-D937C443-99D1466E/0/0
X-purgate-type: clean
X-purgate-size: 2611


On 5/26/26 5:58 PM, dmukhin@ford.com wrote:
> From: Denis Mukhin <dmukhin@ford.com>
> 
> argo_dprintk() prefixes all log lines with "argo: " automatically.
> 
> Remove duplicate prefixes from log messages in the Argo module where
> applicable.
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>
> ---
> Changes since v2:
> - n/a
> ---
>   xen/common/argo.c | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/common/argo.c b/xen/common/argo.c
> index 5da14c929e14..ffa1f43437ab 100644
> --- a/xen/common/argo.c
> +++ b/xen/common/argo.c
> @@ -1467,7 +1467,7 @@ find_ring_mfns(struct domain *d, struct argo_ring_info *ring_info,
>       if ( ring_info->mfns )
>       {
>           /* Ring already existed: drop the previous mapping. */
> -        argo_dprintk("argo: vm%u re-register existing ring "
> +        argo_dprintk("vm%u re-register existing ring "
>                        "(vm%u:%x vm%u) clears mapping\n",
>                        d->domain_id, ring_info->id.domain_id,
>                        ring_info->id.aport, ring_info->id.partner_id);
> @@ -1527,7 +1527,7 @@ find_ring_mfns(struct domain *d, struct argo_ring_info *ring_info,
>       {
>           ASSERT(ring_info->nmfns == NPAGES_RING(len));
>   
> -        argo_dprintk("argo: vm%u ring (vm%u:%x vm%u) %p "
> +        argo_dprintk("vm%u ring (vm%u:%x vm%u) %p "
>                        "mfn_mapping %p len %u nmfns %u\n",
>                        d->domain_id, ring_info->id.domain_id,
>                        ring_info->id.aport, ring_info->id.partner_id, ring_info,
> @@ -1741,7 +1741,7 @@ register_ring(struct domain *currd,
>           list_add(&ring_info->node,
>                    &currd->argo->ring_hash[hash_index(&ring_info->id)]);
>   
> -        argo_dprintk("argo: vm%u registering ring (vm%u:%x vm%u)\n",
> +        argo_dprintk("vm%u registering ring (vm%u:%x vm%u)\n",
>                        currd->domain_id, ring_id.domain_id, ring_id.aport,
>                        ring_id.partner_id);
>       }
> @@ -1781,7 +1781,7 @@ register_ring(struct domain *currd,
>               goto out_unlock2;
>           }
>   
> -        argo_dprintk("argo: vm%u re-registering existing ring (vm%u:%x vm%u)\n",
> +        argo_dprintk("vm%u re-registering existing ring (vm%u:%x vm%u)\n",
>                        currd->domain_id, ring_id.domain_id, ring_id.aport,
>                        ring_id.partner_id);
>       }

Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 20:04:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 20:04:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332062.1594703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWgDA-0006Rb-V2; Mon, 08 Jun 2026 20:04:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332062.1594703; Mon, 08 Jun 2026 20:04: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 1wWgDA-0006RU-S8; Mon, 08 Jun 2026 20:04:40 +0000
Received: by outflank-mailman (input) for mailman id 1332062;
 Mon, 08 Jun 2026 20:04:39 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dpsmith@apertussolutions.com>) id 1wWgD9-0006RO-7l
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 20:04:39 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWgD8-003RGI-Ks
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 22:04:38 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a272038-2eae-0a2a0a5409dd-0a2a4508964c-32
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 22:04:38 +0200
Received: from [136.143.188.51] (helo=sender4-of-o51.zoho.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a272055-63b5-0a2a45080019-888fbc3352ba-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 22:04:38 +0200
Received: by mx.zohomail.com with SMTPS id 178094906622989.31840955224857;
 Mon, 8 Jun 2026 13:04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=zoho header.d=apertussolutions.com header.i="dpsmith@apertussolutions.com" header.h="Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding"
ARC-Seal: i=1; a=rsa-sha256; t=1780949069; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=Tgk41q1x5SAThD7mN67mck4ga4aE+lXcQ9HaC7/v8VrykNW8yJp84b2HFwtl2VJYT0D84RHGhcir9/3VXhE6CHFzn/N+lSAJPV7d/hzlyqHIVPKohppUobBEJh0PlyYaM88kosPfyu1JY2ovBFN6UcCEjbx/cLxARJQvODoUjZk=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1780949069; 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=5O0tXT06sdRZVNwdfqnS1GOksabn+q+/lGD7fGsWqSI=; 
	b=lhXI1ITZ+CiLhKWA1wRCodbhHCvbIQIBcfyMQWHqsttcqsXMlEVKYaPgId0a/iwfD1PKdhWwUP242daN/U6UDL7zKCx98KFifBGKY+qFMTyVPmFmVEGOnblrw4fvjclnl6VXflpjqWLM8YPo3rL+2kBElH49mbLO4z7EEUyj8HE=
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=1780949069;
	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=5O0tXT06sdRZVNwdfqnS1GOksabn+q+/lGD7fGsWqSI=;
	b=iGCKaqL3vyWX60q1TkeI/T0wXWx3DqJ40mlJ+lxcUjeckRBvVSXp4eb+p0qP1lgX
	6kdhg3mXMN5E8YgIP+8wDQxOSYCloPyWSb+oY4X0Va0IAQc93jNH3Hc8KdiAhhu/j1w
	jK6hM+5CO1ECS39HYmlRIpdWUHNeRw0gWlK6VaK0=
Message-ID: <89b68e2f-ae8c-47de-a53d-cbf3a1001dca@apertussolutions.com>
Date: Mon, 8 Jun 2026 16:04:24 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/6] argo: fixup argo_dprintk()
To: dmukhin@ford.com, 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, christopher.w.clark@gmail.com
References: <20260526215823.1452619-1-dmukhin@ford.com>
 <20260526215823.1452619-5-dmukhin@ford.com>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20260526215823.1452619-5-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External
X-purgate-ID: tlsNG-c1860d/1780949078-B7B7CDB1-230A1FC5/0/0
X-purgate-type: clean
X-purgate-size: 1096



On 5/26/26 5:58 PM, dmukhin@ford.com wrote:
> From: Denis Mukhin <dmukhin@ford.com>
> 
> Current argo_dprintk() implementation is a wrapper around raw printk().
> 
> Rewire it through gprintk() to allow for better debugging context
> (such as domain ID).
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> ---
> Changes since v2:
> - new patch
> ---
>   xen/common/argo.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/common/argo.c b/xen/common/argo.c
> index ffa1f43437ab..3c38a51d09a2 100644
> --- a/xen/common/argo.c
> +++ b/xen/common/argo.c
> @@ -322,7 +322,7 @@ static DEFINE_RWLOCK(L1_global_argo_rwlock); /* L1 */
>   #define argo_dprintk(fmt, args...)                      \
>       do {                                                \
>           if ( ARGO_DEBUG )                               \
> -            printk(XENLOG_DEBUG "argo: " fmt, ##args);  \
> +            gprintk(XENLOG_DEBUG, "argo: " fmt, ##args);\
>       } while ( 0 )
>   
>   /*

Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 20:10:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 20:10:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332072.1594713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWgIq-0001jL-Kz; Mon, 08 Jun 2026 20:10:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332072.1594713; Mon, 08 Jun 2026 20:10: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 1wWgIq-0001jE-HR; Mon, 08 Jun 2026 20:10:32 +0000
Received: by outflank-mailman (input) for mailman id 1332072;
 Mon, 08 Jun 2026 20:10:31 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dpsmith@apertussolutions.com>) id 1wWgIp-0001j6-9l
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 20:10:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWgIo-00DuLB-Mv
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 22:10:30 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a2721ae-e002-0a2a0a5209dd-0a2a4501ae18-18
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 22:10:30 +0200
Received: from [136.143.188.51] (helo=sender4-of-o51.zoho.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a2721b4-c1f2-0a2a45010019-888fbc3352cb-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 22:10:29 +0200
Received: by mx.zohomail.com with SMTPS id 1780949417670124.47952518789407;
 Mon, 8 Jun 2026 13:10:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=zoho header.d=apertussolutions.com header.i="dpsmith@apertussolutions.com" header.h="Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding"
ARC-Seal: i=1; a=rsa-sha256; t=1780949419; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=h1AND7Ipg6X2AcxohHsw0HQ1rvbOdMVr9uruVSzQTIzlcM+3fVHWIEuK3iw8RMNbbnHNT3bqMIAUbC6SDwhEUxn6UlTYOq1kpw7HjviVI1t6yr7VHqzq2mC1BOj/PbIy7yydn5NUnu06oSaxg3BsqLnR4EZgusfqUt5JaJa2duA=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1780949419; 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=yE1FsJxJLRLOFfknqD9j5IwP4RjeqKaC1BrzJQDPey4=; 
	b=C7sEW9EbC97xXrMcko9CG/WsumdVBgdehf0BJ8g3pvdOgto1K5S9f83uFAud/d+/S+JJUly1kcJErA9jnu21tz4PXQHrOEHYE5+/cW6iMOcxeNAYqApY/8i4jeHLkUugnQ5hy9rUryyTMMp0i3xeg7wDALNeCUeSC6GAeCh0Rvg=
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=1780949419;
	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=yE1FsJxJLRLOFfknqD9j5IwP4RjeqKaC1BrzJQDPey4=;
	b=VrvmoxgzklNt+w2fcHd4hYAnUxGHOAtQp1uyEoAjJqVfeHC0gJF4c+93l8+2aJGI
	lbajENv4WTCLCPWRUrBV3am5fLJ6JSFbevLpAlIyRPj9mXdU2T1D6vvgRWlECCgbG7M
	gbwLkMxMsnE6D4T+o3R9Hhv2xbjhjWJwkXio0gUA=
Message-ID: <c067e641-ab05-4dd9-b7e1-b7ea952de809@apertussolutions.com>
Date: Mon, 8 Jun 2026 16:10:15 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 5/6] argo: introduce CONFIG_ARGO_DEBUG
To: dmukhin@ford.com, 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, christopher.w.clark@gmail.com
References: <20260526215823.1452619-1-dmukhin@ford.com>
 <20260526215823.1452619-6-dmukhin@ford.com>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20260526215823.1452619-6-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External
X-purgate-ID: tlsNG-d62444/1780949430-B454DFF4-40BF0971/0/0
X-purgate-type: clean
X-purgate-size: 1861



On 5/26/26 5:58 PM, dmukhin@ford.com wrote:
> From: Denis Mukhin <dmukhin@ford.com>
> 
> Add Kconfig knob to enable traces for Argo debugging.
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> ---
> Changes since v2:
> - new patch
> ---
>   xen/common/Kconfig | 7 +++++++
>   xen/common/argo.c  | 3 +--
>   2 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/common/Kconfig b/xen/common/Kconfig
> index 5ff71480eebe..adcdc51dd21b 100644
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -491,6 +491,13 @@ config ARGO
>   
>   	  If unsure, say N.
>   
> +config ARGO_DEBUG
> +	bool "Argo: enable debug traces (UNSUPPORTED)" if ARGO
> +	help
> +	  Enables extra debug traces for Argo debugging.
> +
> +	  If unsure, say N.
> +
>   source "common/sched/Kconfig"
>   
>   config CRYPTO
> diff --git a/xen/common/argo.c b/xen/common/argo.c
> index 3c38a51d09a2..b9b362064e7e 100644
> --- a/xen/common/argo.c
> +++ b/xen/common/argo.c
> @@ -318,10 +318,9 @@ static DEFINE_RWLOCK(L1_global_argo_rwlock); /* L1 */
>       ((LOCKING_Read_L1 && spin_is_locked(&(d)->argo->send_L2_lock)) || \
>        LOCKING_Write_L1)
>   
> -#define ARGO_DEBUG 0
>   #define argo_dprintk(fmt, args...)                      \
>       do {                                                \
> -        if ( ARGO_DEBUG )                               \
> +        if ( IS_ENABLED(CONFIG_ARGO_DEBUG) )            \
>               gprintk(XENLOG_DEBUG, "argo: " fmt, ##args);\
>       } while ( 0 )
>   

Is a Kconfig really desired here? This such a trivial knob and one that 
is really only intended for tuning by the developers. Exposing it as a 
Kconfig option means you intend for this to be tuned by distro builders 
and wanting to see it exercised by the CI RandConfig.

V/r,
Daniel P. Smith


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 20:19:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 20:19:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332078.1594720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWgRB-0004QB-Co; Mon, 08 Jun 2026 20:19:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332078.1594720; Mon, 08 Jun 2026 20:19:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWgRB-0004Q4-9z; Mon, 08 Jun 2026 20:19:09 +0000
Received: by outflank-mailman (input) for mailman id 1332078;
 Mon, 08 Jun 2026 20:19:08 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dpsmith@apertussolutions.com>) id 1wWgRA-0004Pf-1o
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 20:19:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWgR9-00B2md-0g
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 22:19:07 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a2723a8-bab6-0a2a0a5309dd-0a2a4506a996-14
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 22:19:05 +0200
Received: from [136.143.188.51] (helo=sender4-of-o51.zoho.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a2723b7-7371-0a2a45060019-888fbc33527b-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 22:19:05 +0200
Received: by mx.zohomail.com with SMTPS id 1780949931284788.3710999714295;
 Mon, 8 Jun 2026 13:18:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=zoho header.d=apertussolutions.com header.i="dpsmith@apertussolutions.com" header.h="Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding"
ARC-Seal: i=1; a=rsa-sha256; t=1780949934; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=nFMMNusW8iNFhpCXAYBsdOC9e0r/c3y8Gq613U2PYCHLfx43TfKVAd5eOFf/4JHj5xTJdAxj1jxQ77iFT7KmNdoh6ThMw/hI9EwTCjhf+zmkf/KJSdFtDFRWKPqrsEKxKivqD7QwWaASBnR9pBFprDCY/cBEaFArfW6g9sH/Y/4=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1780949934; 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=45UdOykV39QgLWCIyvgO03AZPBdshS1eGbFhct3aEzY=; 
	b=SO5asRHGXftnudaSX+KJrDx5tDPUyapcO6aPQeUyWkQ2rRZa5zZWMUoZT7m7DckJwE/YGg4dQu+YcGrIcNalBuJdO+bWL7KM3egJvAK9XpIxC2AV1IvMXBCRc5YOQpPmtAt0FekMMog2ITMo/A2e684H6DkwaV/XVnGZAURh/Is=
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=1780949934;
	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=45UdOykV39QgLWCIyvgO03AZPBdshS1eGbFhct3aEzY=;
	b=ZVmtPel1a38ALznDRSx0w9zyh98vYC6/At9P7AK1aEdzFvwnWkEb4jcibaYb9kKA
	mW4vCMOdt4FILU/1G8xgYNQ3z2KPZhUJ6KHfmqNOO0zTDNuB/dLQNnTsw+S10pb+MVy
	ZJzS9n2MenE+byW67+qZYdOGU9evnUAxWU09H70s=
Message-ID: <e087af10-4fee-4fea-92fa-5a647524af80@apertussolutions.com>
Date: Mon, 8 Jun 2026 16:18:49 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 6/6] automation: enable Argo debugging in CI
To: dmukhin@ford.com, 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, christopher.w.clark@gmail.com
References: <20260526215823.1452619-1-dmukhin@ford.com>
 <20260526215823.1452619-7-dmukhin@ford.com>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20260526215823.1452619-7-dmukhin@ford.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External
X-purgate-ID: tlsNG-16d1c6/1780949945-84767D75-285A654A/0/0
X-purgate-type: clean
X-purgate-size: 1101



On 5/26/26 5:58 PM, dmukhin@ford.com wrote:
> From: Denis Mukhin <dmukhin@ford.com>
> 
> Enable extra Argo traces in CI to help analyze any potential Argo issues.
> 
> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> ---
> Changes since v2:
> - new patch
> - example verbose log: https://gitlab.com/xen-project/people/dmukhin/xen/-/jobs/14552079442
> ---
>   automation/gitlab-ci/build.yaml | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index 7f5b5938e851..5f9192e53d63 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -319,6 +319,7 @@ alpine-3.18-gcc-debug:
>         CONFIG_EXPERT=y
>         CONFIG_UNSUPPORTED=y
>         CONFIG_ARGO=y
> +      CONFIG_ARGO_DEBUG=y
>         CONFIG_UBSAN=y
>         CONFIG_UBSAN_FATAL=y
>         CONFIG_MICROCODE_SCAN_DEFAULT=y

Why not just set up a job with the variable ARGO_DEBUG=1 and not have to 
introduce the first and only Kconfig option turning on a debug logging flag?

V/r,
Daniel P. Smith


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 21:30:19 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 21:30:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332088.1594730 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWhXn-00072V-9J; Mon, 08 Jun 2026 21:30:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332088.1594730; Mon, 08 Jun 2026 21:30: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 1wWhXn-000721-6T; Mon, 08 Jun 2026 21:30:03 +0000
Received: by outflank-mailman (input) for mailman id 1332088;
 Mon, 08 Jun 2026 21:30:02 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <tglx@kernel.org>) id 1wWhXm-0006lE-9X
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 21:30:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWhXl-00FIbv-5n
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 23:30:01 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <tglx@kernel.org>)
 id 6a273423-2eae-0a2a0a5409dd-0a2a45059266-14
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 23:30:00 +0200
Received: from [172.234.252.31] (helo=sea.source.kernel.org)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <tglx@kernel.org>)
 id 6a273457-aaa8-0a2a45050019-aceafc1fc4a6-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 23:30:00 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by sea.source.kernel.org (Postfix) with ESMTP id A3ECC417E3;
 Mon,  8 Jun 2026 21:29:58 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C0BEC1F00893;
 Mon,  8 Jun 2026 21:29: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="From:To:Cc:Subject:In-Reply-To:References:Date"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780954198;
	bh=10Ge8gkdRT2r2MB4nZOmsq7A7oBUPMVrH/EAt53EHDw=;
	h=From:To:Cc:Subject:In-Reply-To:References:Date;
	b=cHotO+HYT6KnftYtwqtcC1eOb0CiIjpQDNAtr0eiW9Spfg+ZKZoEsPPnjzbyBsnvl
	 3aO7kALqnRkhd9MuYISWiOJsWqEl33m8z7H9e3tLQ8kIiNaTwe7yoTRbRBpAQoQTGY
	 aLBTbHiJ2o73r9gx5sAyHcHiQCzsYEmDsORsQ4IUhxPpN5Ed8M+DyVyqa5nEuijFqP
	 K0XjdaxMc6d5Nm/JjrnVeHqYH6ID6h/SbThmr9fNmZc8FP6U0ONRKmVBi7Ch3l64Ds
	 w8sYstQvc3bmYUv+HI/uC6qG/9l/Dfcq5n0fdimIWtTMYDeSn4S41bVAN1C0/2U2Cr
	 /CO2im1u1GyyA==
From: Thomas Gleixner <tglx@kernel.org>
To: Teddy Astie <teddy.astie@vates.tech>, "linux-kernel@vger.kernel.org"
 <linux-kernel@vger.kernel.org>, regressions@lists.linux.dev
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Olivier Lambert
 <olivier.lambert@vates.tech>
Subject: Re: [REGRESSION][BISECTED] Long boot time with Xen HVM guests
 during PV spinlock initialization
In-Reply-To: <87ldcp3w16.ffs@fw13>
References: <1780914594.8631fc262581453bbf619ec5b2062170.19ea6c8227b000701b@vates.tech>
 <87ldcp3w16.ffs@fw13>
Date: Mon, 08 Jun 2026 23:29:55 +0200
Message-ID: <87ik7s4t64.ffs@fw13>
MIME-Version: 1.0
Content-Type: text/plain
X-purgate-ID: tlsNG-c201ff/1780954200-E0867443-6C602DC8/0/0
X-purgate-type: clean
X-purgate-size: 1890

On Mon, Jun 08 2026 at 17:13, Thomas Gleixner wrote:
> On Mon, Jun 08 2026 at 12:29, Teddy Astie wrote:
>> In 6.12.5+ kernels on AMD CPUs, we observe abnormally long boot times 
>> where the guest is struggling on PV spinlock initialization.
>>
>> This occurs starting with 6.12.5, and also on more recent kernels on 
>> Intel platforms, but that hasn't been fully investigated at this time 
>> (but I assume it's a variant of the same issue).
>>
>> This occurs since a backport of 76031d9 ("clocksource: Make negative 
>> motion detection more robust").
>>
>> Some (claude-based) analysis made appears to relate that to the lack of 
>> proper max_raw_delta in the jiffies clocksource which appears to make 
>> the clock fail to progress meaningfully.
>>
>> Here is a raw summary of the analysis
>>  > We tracked it down to a single stable backport in 6.12.5: commit 
>> 1a678f6829a8 ("clocksource: Make negative motion detection more robust", 
>> upstream 76031d9536a0). It introduces a max_raw_delta field on struct 
>> clocksource but never initializes it for the default boot timekeeper 
>> (the jiffies clocksource), so clocksource_delta() clamps every delta to 
>> 0 and CLOCK_MONOTONIC freezes while that clocksource is active.
>
> Bah. jiffies clocksource is registered way _after_ timekeeping started to
> use it.
>
> The untested below should fix that.

That obviously needs to be:

--- a/kernel/time/jiffies.c
+++ b/kernel/time/jiffies.c
@@ -60,15 +60,9 @@ EXPORT_SYMBOL(get_jiffies_64);
 
 EXPORT_SYMBOL(jiffies);
 
-static int __init init_jiffies_clocksource(void)
-{
-	return __clocksource_register(&clocksource_jiffies);
-}
-
-core_initcall(init_jiffies_clocksource);
-
 struct clocksource * __init __weak clocksource_default_clock(void)
 {
+	__clocksource_register(&clocksource_jiffies);
 	return &clocksource_jiffies;
 }
 


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 21:50:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 21:50:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332096.1594738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWhrH-0004dh-R5; Mon, 08 Jun 2026 21:50:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332096.1594738; Mon, 08 Jun 2026 21:50: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 1wWhrH-0004da-OT; Mon, 08 Jun 2026 21:50:11 +0000
Received: by outflank-mailman (input) for mailman id 1332096;
 Mon, 08 Jun 2026 21:50:10 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <christopher.w.clark@gmail.com>) id 1wWhrF-0004dE-R5
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 21:50:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWhrE-00BCOO-30
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 23:50:08 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <christopher.w.clark@gmail.com>)
 id 6a27390f-bab6-0a2a0a5309dd-0a2a450688ee-2
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 23:50:07 +0200
Received: from [209.85.208.173] (helo=mail-lj1-f173.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <christopher.w.clark@gmail.com>)
 id 6a27390f-7371-0a2a45060019-d155d0adc9cb-3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 23:50:07 +0200
Received: by mail-lj1-f173.google.com with SMTP id
 38308e7fff4ca-39657d28132so35733031fa.3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 14:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780955407; cv=none;
        d=google.com; s=arc-20240605;
        b=V6ArYF4OxUll/1flyCzsMUFlWTYR/qXTVfBCa4oVQ4fwHiuLls1IZuEcE1KOddMw78
         +DRQP66IwzzBQ+XFtuWfF3Afrc6WzgdRRW3R9mUxAQNtmCcDKMp3PhXPI2k5s+JTq3ej
         gT/4k2j5tQGA1XlgdmbEbUHBH4UbwAqrKfCq9pCmKtYL6CYSZDqJq6iGQqZJq0GJ0Bhl
         WmCvMBpEOWy0Ij0YLkhBh2Gf89JZ/FCH5xv/j8OhQozO6kRh7SNHYOnHEo3hcQGNk3c2
         0M7XZyW+W/5HAPNSPEpk3Za0YtroAJvzyvBoMT3EDQtDFGHzPIWUGExmKfTnQWEocEFj
         nI5Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=rRLqoe3PRwiBX+LZoF2hWq/GWXsduoGHC3UALByTuxs=;
        fh=dRSkxqPvTetkPp3v17QXS+rXFtq5bHj5r4fmpM1UWX0=;
        b=A7Hjl3cy3HCCjdKtuCTGwHuB0SqZrUIFFlXszB3A9HXJQ0clYiPoXq9d3RDNlVkAt6
         ZsLfQqjLzAAy6+Yaayxm8vYy3OUFGdUEPnNjEnlFaQzBYhVYh7UOeieks1nsktfNN1Jp
         Vq9n7rjOIqGvLpAcGAxBpAqsvI1OLUqzQPkALoMY04WnUXZYoCZLv2Z9Fx2kbOuN8jHD
         Fx/gJGmT/0W+lLDg2z6cDqva6MrNlZXbb3rNMAueFWBABlt6GyHZjTIscyw5aWaY13k1
         z4NBusX05mBA5avDqUfegbYbBDpJCFr1f+ES1KgGDj59VHtnTn8XviQ9lwSTRdpjO143
         Tfkw==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780955407; x=1781560207; 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=rRLqoe3PRwiBX+LZoF2hWq/GWXsduoGHC3UALByTuxs=;
        b=haEGDpzar50WfV/wcd60XAITm2+z2IlbaPBXHCycnfVhuC7EFHo7uJiX8UVwQMUjOu
         N0g2/M2fRfoTvBKswMmBI2HsDri3BgU+tVCXUuLTIS6T79N+A1dRvvkYPz6+hny5SEKl
         THOQ75YIxP7tOnKL2TJfmrl19Z/Qfa3EwGWDrYd6zJPsu0PpF9jTu4GB1OHRFQvuAblm
         cAsBdtLJPrW4DAXkQs5tTuN6220FInNtx0O8l1Y9uxx9XI9PqEbnymJXLvx1rEbjtn/5
         ubGwJtqZitKbu8KJmYrbDcQ3KGkhZ841dqAEcLD5GVJrWWS+Q4+HOsd38aueofGx1jt+
         PoJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780955407; x=1781560207;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=rRLqoe3PRwiBX+LZoF2hWq/GWXsduoGHC3UALByTuxs=;
        b=Z1wYEIihEb2LvCM0gerzjmikV18U7RjxmrMpdfqeyOIpagxsgTAIqS6dd4RWqqeZnQ
         P5S+pQBr/tOpfrNlNvgcM2a0/FlPvo7Ywe8ooXL0E4JitRJgztabe/aGlb8rNYVWz9mi
         TEmvJuLKgRIlIDkeH69P1yBwqlVfXP10FYuPGKfG83mdcMbaQEyNSLaK+x0qYlATr7Fs
         TmSqO5sK6lAGXVUFV1Q+jxUcNUjMDTTZwOl67dIh88zHO2KtgcyJUUCllMPJdAnKX8DS
         jCP3I2FYPh7Jp48bY7VZ+gBUoQWmLhDTHNKbd0SBkq3XYsPyPxKF25N34QpLyr03xJIK
         WFDw==
X-Gm-Message-State: AOJu0Yy3Za+cAx2xQ9EQk1AZnqWGpznECfIUwJ93ODVgWGEEeAX1iTzw
	+D2svyKYz7Wh9NC4+fgPRs+aUUGHwXxFqM8zEVZBKBoNoNgz+0jvRmBOMZeCxlAKaL1CIiWq5Gh
	WBOBxSYxgrjW84oyxfT6NAFcEuvoI8d8=
X-Gm-Gg: Acq92OGYYzZmJ51YJnt9qekD+SIj5hDf3FD+9uzqST6E9wk5ZfSbzrImlhXhgGDGaNr
	fyt5pq0A/qQniDugrTcpDK76rDpzKoSKJcjBCMxV9Qj6MPmzr0zwtB+lu+MrbNreOBkkKIEXdob
	LEsVDRNwEJtGKe/IfYBoGmmXSA3wdHw0YfzGbCDql1Ghk4OwdvpZ+S9i3n2Kf9Jy+FlXzsQGjy7
	mQxTf6HO7eUjtNKaskAp2RMvbfeMdApcI4IBklpGV2nH/gER3Wcrz1akEPJz9adAXUyMHOIFNtP
	ReMusOBYLS6tfgR9yqfh9RIBLpquL1yLio1SW/snCRcIwiJ5LxfI1O/c15MemiH80HYYo0tvGFH
	daA==
X-Received: by 2002:a05:651c:18c4:b0:38e:e29c:9dc0 with SMTP id
 38308e7fff4ca-396d097ae4cmr49894991fa.20.1780955406966; Mon, 08 Jun 2026
 14:50:06 -0700 (PDT)
MIME-Version: 1.0
References: <20260604214926.1735194-1-dmukhin@ford.com>
In-Reply-To: <20260604214926.1735194-1-dmukhin@ford.com>
From: Christopher Clark <christopher.w.clark@gmail.com>
Date: Mon, 8 Jun 2026 22:49:55 +0100
X-Gm-Features: AVVi8Cdb6-6Y2lkt52IFDacclyOQm1Wb0vbMz-PWKMTu_TqzvFyLr0-b7lDBafE
Message-ID: <CACMJ4GZW26MGYr9RbCw=tO9rvrpL1u-PAHG9BaFvyg6RnDDfAQ@mail.gmail.com>
Subject: Re: [PATCH v6 0/6] argo: few log fixes
To: dmukhin@ford.com
Cc: 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, 
	Daniel Smith <dpsmith@apertussolutions.com>, "Andryuk, Jason" <Jason.Andryuk@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-16d1c6/1780955407-8C47CD75-64F3AE67/0/0
X-purgate-type: clean
X-purgate-size: 476

On Thu, Jun 4, 2026 at 10:49=E2=80=AFPM <dmukhin@ford.com> wrote:
>
> This series corrects Argo module tracing.

This series has been committed to staging.

The maintainers were not CC'd on the series, and did not provide an ack.

Patch 1 is rejected as an inappropriate change.

Therefore it needs reverting.

> Patch 1 lowers the verbosity of a spammy log message.

Please see the review comment provided by Daniel on the v3 version.

thanks

Christopher


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 22:02:19 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 22:02:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332109.1594748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWi2t-0007Zd-Ts; Mon, 08 Jun 2026 22:02:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332109.1594748; Mon, 08 Jun 2026 22:02: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 1wWi2t-0007ZW-Ow; Mon, 08 Jun 2026 22:02:11 +0000
Received: by outflank-mailman (input) for mailman id 1332109;
 Mon, 08 Jun 2026 22:02:10 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wWi2s-0007ZQ-8c
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 22:02:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWi2r-005Ppl-2I
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 00:02:09 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a273bdb-bab6-0a2a0a5309dd-0a2a4503e42c-8
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 00:02:08 +0200
Received: from [52.101.57.54]
 (helo=BN8PR05CU002.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a273bdf-672d-0a2a45030019-346539365935-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 00:02:08 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DS7PR03MB8266.namprd03.prod.outlook.com (2603:10b6:8:26b::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Mon, 8 Jun 2026
 22:02:06 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.011; Mon, 8 Jun 2026
 22: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=niuruQ8LUxpv0PThPAu45x6kbkbFmKXg/hr3XYAURUJi3WvI5SJtU0I35nJxrsCjRtKYuNIdrK2IrQNQkkxCftHAHzvcT/UCm5Cl5E38iRij7Ywd0+zhT26LQUVPpdiu0uoDgWvepRzSgG+EUew1lanZ6hEoKoClFxyUAbJZ4dOCkV/1xhLoIjVIZgYVsd6XrYs8OZhRrTnKQT3eOF5ktuNu7ocNcbkYvj68O0yx1dXNSj01iVG2D91n2f1qNRWp9XgXvrUSIlg7eJ9H6wxWMCVlU6Lnsp3tx52Ofq52h6cjP0MuuEy8Acaven9M+2ny98SbqDP2czpaxnslZVHwHQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Sc57vMYzN4lL8qAdC3swSPYQ7ccO/b5jzrRx7tuXJmo=;
 b=LHpFloR+uMficZWwpf+rWScefYi88vfDCsctLuAnyp8Bk1dDncVTw2pyIYsLhgRf4lABjCkb5XV5LshpqTQIKgaSBADhQKb1hk8qwky3iu1e+bU76t9azBDeHkbihjZ0nSuscUjcmg6wda0qBH3J9bWQA2i5gWs4eV1hdyn5BaUuUASzTmlwHn6CTJakMeOGXDOwfGvsnOvNZ/QHGVePJZKb5ZusCImcb10CJL4NPhhGJDPQjjR0hXE/LEzNNgM/cWXV0uDGA5QH4Vs8YRio6PqpNNf5Tp9HTpCCYoJp6nclAu8JdICC1v/DXwvnr1cRyvD99CDtLoeiTqptk2K1kg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Sc57vMYzN4lL8qAdC3swSPYQ7ccO/b5jzrRx7tuXJmo=;
 b=yEyhLfpb4YV2zqVfzgnDl6RKxZ4GHWGAA7dNDMhAWBUc447KqzUDGTIXf3jVOSIbwNw5WPW+macRLppMo/PI6rH94bZRHe/fhhNxBfYwWOsH6ScWnDqL8cD3ialO/CKPkISnPh5Qt4x43RjZ6XjFNKCUYjW7mOoXGf9tM/ADgL0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <52e24613-9fa9-4a17-936b-acdaf76f3bb1@citrix.com>
Date: Mon, 8 Jun 2026 23:02:00 +0100
User-Agent: Mozilla Thunderbird
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,
 Daniel Smith <dpsmith@apertussolutions.com>,
 "Andryuk, Jason" <Jason.Andryuk@amd.com>
Subject: Re: [PATCH v6 0/6] argo: few log fixes
To: Christopher Clark <christopher.w.clark@gmail.com>, dmukhin@ford.com
References: <20260604214926.1735194-1-dmukhin@ford.com>
 <CACMJ4GZW26MGYr9RbCw=tO9rvrpL1u-PAHG9BaFvyg6RnDDfAQ@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: <CACMJ4GZW26MGYr9RbCw=tO9rvrpL1u-PAHG9BaFvyg6RnDDfAQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0322.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:390::16) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DS7PR03MB8266:EE_
X-MS-Office365-Filtering-Correlation-Id: 8318f061-9ade-4dcf-6792-08dec5a99428
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|7416014|376014|22082099003|18002099003|11063799006|4143699003|56012099006;
X-Microsoft-Antispam-Message-Info:
	FaZrmIB1IvKgXlBTun4VC2rCi7Rr8nSuGE8iikSuvdq3cnMvOVIDZlLI1+NF7nvQuulDUwkXLLJDfAwtAxEbGPs7zSbDAXLk8JUH3dpgjIsJE9j+ZQS2uuL0jC6R4msWj156mcJ9Z8nXKZN3VGNU3ak6eYEmmM44392GQLyGC/93iHnEaAkTjngjA+avGYGf05gNcj3xs97oGh6+BDLrUGqImFLSobfiVcUYd6WHhPfMvnpcUGu+FhtXgeCE5VxMtrBo7ffM9S4K4YHAxXLYWCJ58SzNDcXQnDsii3Hk3n1yupF7BjYYyD5Wr35KeC5KGBtcUeJWgGb7VTMyW2pDHLLxWdhUgUZAKrCU2Se1pZkzULM2xAX9dbKlNzZ/pQRHY8aKKR9ErNa1KXgpifkQb7E94f1nmICI4gpZgxUphzwMervSGkzwuJwskwo1SIDn8z9XrEJDHcwvmtUDHQ3DvYiwLHgpeCT9d0dsWAxTgxPGEw4TKYYJXsoZaRUcdGWv9MEJAQD2dvhlaB16lHtsyPYz4zVXKx+2aUO7AH3r2zvVy2TUBOBxILuFW0pGSPBegcFRIW89hv4kOW+SAdGd0ap+Z5ryhUG0kTNLqRa+3NcRrhwNxeliM2ngsXdYH+8MH6H8YxLiGlj6wG3uYxnmrhqs7gWHli0R/SFhBYH3gyXVpUvdXPFphXLv5Zck4p9t
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014)(22082099003)(18002099003)(11063799006)(4143699003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SlFndVhqaHBNMXozK0k2dTVZcEZBa3NBcHI4eEJnSjVYVk96cm9OSmkxbWln?=
 =?utf-8?B?cnpQMnFJZmxkUjVLN3R1a0NCalYydnpoSjVqZXgxb0NDZTd2czJGWUpXbzYr?=
 =?utf-8?B?YmdlblNQSkIwbGRGb0tkVnduMzN4VUR3TkwyVERXY1lURmppZVMxSTF5L2sv?=
 =?utf-8?B?ai9SRU9wME9KUm45NGRrS0NLMk02NWxFdGhnaVZrYkR2a1dJVTFZelVqUVVS?=
 =?utf-8?B?UmlVWGtZOFdzSDZNdTlKcStKWkJkWkQxdXlBUnF0RmxFWjZ3dVlKMnlnMmRD?=
 =?utf-8?B?U1JhWGxkNGtwd0tpTjJibjdPSUpPT1ZtbFhwNVFJL1lPODdoY1ZNZGlGaWx5?=
 =?utf-8?B?Ni9Pa3Q4akYwdmlQTzVsMERISW9yVUdrUjgvYXRnSkVvNk5XV1F1dDVSVzdk?=
 =?utf-8?B?ZFhlMlFReGtNc3Vab3R1d21YblJ5MXUzL01PaDQ2YkdKQWlMTXBPRjVMeURi?=
 =?utf-8?B?Y2lIQ2JteUpNbUNIR2d1OFZUeFVjMDVsQ29mbkpiYVIxZTB4dm1xdnVFVWNz?=
 =?utf-8?B?aWlVOTdnSnVRelpYNDVyUVZrbFk2RkZFWGh2alM2V2FWTnlCa3lieWpPTFAw?=
 =?utf-8?B?U2Z0UjBReURPWFN2YXFmUjdPQXhiZlRZY21ndllxQmRPUkdWUGM5ZG0rTUxJ?=
 =?utf-8?B?NnAxN2JYdHIzOGs3YUFLWlNtY2pwclNoTW1KcDNvZTZsb21YbHRraU9qblBj?=
 =?utf-8?B?dFUwVWhsRW1xTis2ckpxNVQxeGw4QWtKRWt0ckVrUUtSdGlBcGZDM0k1Mmpp?=
 =?utf-8?B?YXVBSnZSSlJNNDd5WHlIbWZ6QXJxZnM0SFNLK2pFZmo1VnpuS29rOS9Dd20v?=
 =?utf-8?B?cnhFcFBWODErdlRIeXF3NnM3SFIwMDlVelJLNkt1NllpNjdSeEVGUzhMZGRw?=
 =?utf-8?B?UDhUY0k0dmVhN3dLTWVmbDJUK0tNMG8rRlgyc0JoUGRDbUNVMFpIc2thNXUr?=
 =?utf-8?B?Q0JwbVp5b0lhbXBESGtxdGdqaTRhRC9MYmFwRlhzbGpmSG04bnNkcDlpSGxX?=
 =?utf-8?B?Vm9ReldxdUVwZCtlWjM1NEpiUHNNcHhUUFR1cnI0Q0o1LzZRUXAzSEQwU1dL?=
 =?utf-8?B?ZWdhZmN5WWZWSVQydUwvVGxWdzFsRVNyNytIeWJvNXdGUmJBdGJlM21jVmxw?=
 =?utf-8?B?dkVNUENEY01TbW8vdEVPWXBSSkdBSGFlTjJRY01oVktzbisrR2VQb2F2ay9n?=
 =?utf-8?B?Q3pKeHJXQkRsaWVpYyszTnp3YklhZ01ySXlVM01Dc3R2UUdCeHd0RHRXQVFH?=
 =?utf-8?B?Tlk1UkM5dlVLbG9GL2JWeW1CYnpsWW1oV3oyOENoWXAwS3RsdzAwZjNwZ1FO?=
 =?utf-8?B?cERidHZac0VjR3F0L1BqVjRVUzNzcm9VbHpXNUZlSHZmZ3EzUDQ2Nko1alZ6?=
 =?utf-8?B?anAyeVRyVGVCY3d2L011ZGYzdHFpU0lCVEY5eXQ1a2Q5Q1hwSlRkbTVGSTFw?=
 =?utf-8?B?c2VUWkJudlFtcGoyL1ZEek9kNWFoaDJwN0c5SzFWcjA5dWZ4Rm5sNHpUbFE0?=
 =?utf-8?B?d1U5bnJTak9qSEk4cnE5QkVjY3JtSlVpZmVrSHZJbmhBRG9sY1Q3Z2h6Qlla?=
 =?utf-8?B?MUZ6UGk1WW9BZHdOcnJoeXhxd2ZwQnFHQUN6d2JDemxtMEVHTVNmWXdJZks1?=
 =?utf-8?B?a1BaSXFRWmsrT1Rpd1ZpL3F6bTQ5ek5JaDNtZmFJTmNJL2hvbVA1dVczOThH?=
 =?utf-8?B?a0ZkSDl3bjJPTDJ6YlN3NUxEZ3NEZXFWV2pMR2R6ZGtRbkpCNnordDVYT2tF?=
 =?utf-8?B?ZG9KanJrRnJpVWIyVktqL3N0c21qNjczTHp4U00ybzdyWVoxSmhHcFNtQUpX?=
 =?utf-8?B?YWVlNk1UdnFjN1lWemlCTWVOOGpxOC9lSzZpL2NsNWZZSkR3a3NQL1NHWEtu?=
 =?utf-8?B?WEp4a3hteTlpUkdFak5ia3o2MHFhV3c5VHpTeE5SR2d1YXNsNm44QlcyZ0RL?=
 =?utf-8?B?SjgyMTNtOXo1bnlkckNWNDhXV0F1eGZrWDFQZjg4eDFFV0Qzd0RJRjJWYWxk?=
 =?utf-8?B?dmlLSDNGcWQwOWZBbURGWno3QlJ6UnRkVUxjanQvejBYdW1TbU9UeW8yeUJx?=
 =?utf-8?B?MytyR0ZTV3VXN0pxalY2SEd2UStFZ0hJMjdwWE9sR3RCVnZDTjA0elQvR2Rn?=
 =?utf-8?B?dm93QjVqb3hFZndlRVZWODE4VUxrNU80ZlorWmVqY3UrdC9QN2UwUHkvYnRY?=
 =?utf-8?B?eGx5SEIrWVA5dmFVdDkyNWMrczQ0VkRNUlphVys2VktPdlZ2Rkg2bEtTNkRy?=
 =?utf-8?B?QzRSZnJYRFVYY0phbFBTUi8vREs5YkQreVArbExta3FMMWRCWDJGYTZUZWRJ?=
 =?utf-8?B?Y0tCTmNtek00eTRwRFJDZmx0aFRRQU9SL0ZNcE13Vm9FK2FBQ0JSR2hZM0Fv?=
 =?utf-8?Q?EPb0zyXbUXL7pI5c=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8318f061-9ade-4dcf-6792-08dec5a99428
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2026 22:02:05.9991
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PafBlHAgNtaTJfnDoy6ECkCMj+ZOn2GMoSVWH4UdA03VTKsr1xaG/H8ipcu+qk0QueMPa2IsiEKORVsoQYZIVQlW1CepKM+JnyVVnjB7T1M=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB8266
X-purgate-ID: tlsNG-33051d/1780956128-38B74938-DC6287EC/0/0
X-purgate-type: clean
X-purgate-size: 440

On 08/06/2026 10:49 pm, Christopher Clark wrote:
> On Thu, Jun 4, 2026 at 10:49â€¯PM <dmukhin@ford.com> wrote:
>> This series corrects Argo module tracing.
> This series has been committed to staging.
>
> The maintainers were not CC'd on the series, and did not provide an ack.
>
> Patch 1 is rejected as an inappropriate change.
>
> Therefore it needs reverting.

Hmm yes, that was committed in violation of policy.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 22:03:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 22:03:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332116.1594756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWi4V-0008CW-BE; Mon, 08 Jun 2026 22:03:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332116.1594756; Mon, 08 Jun 2026 22: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 1wWi4V-0008CP-8U; Mon, 08 Jun 2026 22:03:51 +0000
Received: by outflank-mailman (input) for mailman id 1332116;
 Mon, 08 Jun 2026 22:03:50 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wWi4U-0008BA-Cd
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 22:03:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWi4T-005Q3l-Pa
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 00:03:49 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a273c45-e002-0a2a0a5209dd-0a2a4507b014-0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 00:03:49 +0200
Received: from [52.101.57.2]
 (helo=BN8PR05CU002.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a273c43-229c-0a2a45070019-3465390230de-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 00:03:49 +0200
Received: from MN0P223CA0007.NAMP223.PROD.OUTLOOK.COM (2603:10b6:208:52b::27)
 by MW6PR12MB8760.namprd12.prod.outlook.com (2603:10b6:303:23a::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Mon, 8 Jun 2026
 22:03:44 +0000
Received: from BL6PEPF00020E65.namprd04.prod.outlook.com
 (2603:10b6:208:52b:cafe::3f) by MN0P223CA0007.outlook.office365.com
 (2603:10b6:208:52b::27) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.13 via Frontend Transport; Mon, 8
 Jun 2026 22:03:44 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 BL6PEPF00020E65.mail.protection.outlook.com (10.167.249.26) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.113.7 via Frontend Transport; Mon, 8 Jun 2026 22:03:44 +0000
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 8 Jun
 2026 17:03:42 -0500
Received: from [172.17.22.200] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Mon, 8 Jun 2026 17: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=gn2lIollSbWT+NybHgh1rVoEKxS7nx+bmOTbqmtSHyRH9nhS+ukmMM//ZhxP4EOqnKNu/HOkex0jCFtbP7L/AuJhjimw3f50gRBPOHsziQRSRFvVNfGtAbPluhu5296lVY15ZLZKNyVaCyV/MPG0OjrQMs++pI6Ih6w41ppTVCEnF2BuGx/NgWIFGZfQCzrGZssViGWw6QBr1TWaC4ukWXKF6SJNU1svTlR2sDKY0UNPan5c1rs3fAKqcII6pfm/2neDyzBwd8BuWqc0ANkabjf6ST4f/r3+z89Vj+bC6I7BIlTz+20PvJHY+OnI+bxzkJ0E23Snr2E//qDh6l48jA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WQeQ9TLTMTCKT6Tbp1P8AwU+VqXXdKy2zq/iIDiEt10=;
 b=Fc8oIwOxOUJ4kaoCm3W+wHDGTlTcMn8HB9VT1CRUk/ewyH7B6jQcwOWXZdtNlq/+N7cA0RYzt0PUVZNe+Xt+BKDPbGR0dMmz47i3QwrRoTaTkInyJiztaoI9rNxClpnbGxC6ssaUTorp5VPHmGJL8HTrNU8MsE14CJnaR87LHlAfWS4bIhZYdw3q+eXcm9tfn4Lq7yZ0WXVXYgGmJwxvVIdh1a80ZgwowTOvclgCf+TgSyrFqxCv0JP8+/1smkx4dUOz9ulJbIVMSVEIhR1k8iyhEOQHGdT6Hx2OPSSfLVIKPn6PliwMz8NE33VC3mRb7WZLsg0VEBwgTgvriXDMsg==
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=WQeQ9TLTMTCKT6Tbp1P8AwU+VqXXdKy2zq/iIDiEt10=;
 b=wlX12h8eF4sh9yauxfSofDIWAJoOoNf1qhM1Ye0TFQL9wjIvZImzNtpVof66Jn8pcYrfgcdBF7qx6fMQ/wAmPFRA7nec/6xUMAA59m2MNVNoUWRUMVzrtQt8Aj2b9I2sc4kojrtUu5g8rNraOkxN+ULFYZFOsSt0zwbTYJ/fShc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <50e8aa69-fbd8-43b3-9783-6b87851f4384@amd.com>
Date: Mon, 8 Jun 2026 18:03:40 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 0/6] argo: few log fixes
To: Christopher Clark <christopher.w.clark@gmail.com>, <dmukhin@ford.com>
CC: <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>,
	Daniel Smith <dpsmith@apertussolutions.com>
References: <20260604214926.1735194-1-dmukhin@ford.com>
 <CACMJ4GZW26MGYr9RbCw=tO9rvrpL1u-PAHG9BaFvyg6RnDDfAQ@mail.gmail.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <CACMJ4GZW26MGYr9RbCw=tO9rvrpL1u-PAHG9BaFvyg6RnDDfAQ@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF00020E65:EE_|MW6PR12MB8760:EE_
X-MS-Office365-Filtering-Correlation-Id: 14366a21-d2a8-4b50-c36f-08dec5a9ced7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|36860700016|7416014|376014|18002099003|22082099003|4143699003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	gIj+0bLeTx0GTGjqXVpJ/vyCcD/NlisKhNulwbOhgvsZz0zrX2Np+c5fPDq9Ptgxixcsx4HdlHzy+Jhm/kVUCjMJrdQYG+lRn1aKS5skAJNLZjNxBT70B4DuxGjvRe+/W0UM5xiBt4pV8TgR7Q1/LoGedZCw3odw0YvbxBHBisQLXV7SDBztQ9JdWQbDodtCRvdCrBlNInxCgt2YhmuUOWF/fFCozcDXdUh6Ye1q9jgSB1FSQ19HF4c2mcWOVztkM0vTYl49Hf/qpmw/X8Tnn8BwJkrZ+nFANVj0iSL2yrLDe+Zv0ZEKBx7HuRzAJUPggSIHqckb2c1VkHvSHdaFiYt7fw31qAKl3MT4rVJKQCt/mpWhm2arj8Qf351RWyMOZ7eqe05eLB9EcVyzjwaCt0Xw3UJallUTaeyyFXxOO0P1oUs5oRr6SyuJI7aK13FC3QNCmJfdb1Q2ZT5sGSzcgvmo0e+CjdNz8/G6uWVSMjvTfOZ4p+T7nvOqQBe0VzfA9vUUkLKRP4unM/tRKZ4IfJ/CUO9OfnzyQ6MoHqB9Lg9gdWmbkS8FbwJJtIVO3TsA+WxRlQpzdHUXU5/dupq+eiE7aKBRs1drK1XbQM1gIpr7ecEG5/tJus/i1SJaS02s9YOKGHM1muIz1oZSJAC1t3J9pR5wYaLeY87Yqtm3bVLUlRYN5xm6dBMPkQBOboL0utRnezqtHd2YBJO9G/IFAlodO+bscnsPUcI+wisLa/4=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700016)(7416014)(376014)(18002099003)(22082099003)(4143699003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	VR/u4G4sUAL6HIjBuwnT6cBPOjWnZ99Hk3hDwpWvbUkiypdyrH5VUEP/9iz0b4bPzKToXb9qKhnJSIsqhH3fHirBgpX8s2LBa09R1wMoPGm+LDhb6BPHLnLvOXySPJNm3Pjq8Wux9w9WIk5C1nif4AKVUmDa5c7wsKPfdaSujKHBIPl9Nbx2SWXnnnGtn9aPZbMsVlwPPhiFDgpcqr1+6h3TQTGsth7PV5URSekhveEgWnprGqKrlobMDeLzTBLUJzirUrHrnVF90y7QmhYP7UQCCXmPjGkCyTbDWE5KDKYe0znlBA0uboy9AqP9s3YcnDXDi9p519SEtDEtWClqDQzc8oBwVgHmuDEYk/vHmvkofv4LrwX2LwGHgwiyZ4lMWzdK9eQYIChJyL3kWWE4hor9VhFsRCg0kexTcMrl+Jz1vwQh6wQERs5Jk/NLcfyK
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2026 22:03:44.2659
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 14366a21-d2a8-4b50-c36f-08dec5a9ced7
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF00020E65.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8760
X-purgate-ID: tlsNG-ef75cf/1780956229-21F6EC48-4305FD6A/0/0
X-purgate-type: clean
X-purgate-size: 670

On 2026-06-08 17:49, Christopher Clark wrote:
> On Thu, Jun 4, 2026 at 10:49â€¯PM <dmukhin@ford.com> wrote:
>>
>> This series corrects Argo module tracing.
> 
> This series has been committed to staging.
> 
> The maintainers were not CC'd on the series, and did not provide an ack.
> 
> Patch 1 is rejected as an inappropriate change.
> 
> Therefore it needs reverting.
> 
>> Patch 1 lowers the verbosity of a spammy log message.
> 
> Please see the review comment provided by Daniel on the v3 version.

FWIW, this comment to v3 was only posted today after v6 was commited. 
It was not an unaddressed comment at the time of commit.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 22:39:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 22:39:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332127.1594771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWicV-0001IB-UT; Mon, 08 Jun 2026 22:38:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332127.1594771; Mon, 08 Jun 2026 22:38: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 1wWicV-0001I4-Qr; Mon, 08 Jun 2026 22:38:59 +0000
Received: by outflank-mailman (input) for mailman id 1332127;
 Mon, 08 Jun 2026 22:38:59 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <3f0QnagYKCfwwierngksskpi.gsq1ir-hizippmwxw.1irtvsnigx.svk@flex--seanjc.bounces.google.com>)
 id 1wWicU-0001Hy-TK
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 22:38:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWicT-003jl2-O8
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 00:38:57 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <3f0QnagYKCfwwierngksskpi.gsq1ir-hizippmwxw.1irtvsnigx.svk@flex--seanjc.bounces.google.com>)
 id 6a274464-e002-0a2a0a5209dd-0a2a4504d3da-30
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 00:38:57 +0200
Received: from [209.85.214.201] (helo=mail-pl1-f201.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <3f0QnagYKCfwwierngksskpi.gsq1ir-hizippmwxw.1irtvsnigx.svk@flex--seanjc.bounces.google.com>)
 id 6a274480-1dec-0a2a45040019-d155d6c9c839-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 00:38:57 +0200
Received: by mail-pl1-f201.google.com with SMTP id
 d9443c01a7336-2c0c331eda3so51840225ad.2
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 15:38: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=google.com header.i="@google.com" header.h="Content-Transfer-Encoding:Cc:To:From:Subject:Message-ID:References:Mime-Version:In-Reply-To:Date"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20251104; t=1780958335; x=1781563135; 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=6/e8MVVf+gn1nbLHbwfdQ87xOkjbdduwr2NDuGKxrzw=;
        b=l/A31vONdNJv/so3zJXT3vvLa2rLW9VfYZl8A8yDLL/m6siEqYAKsSyS2rGvonoNP+
         d6/+3bpA8QO/yx7X+y3GnYmXnMp0b1Cx7U0MlJzw2hN4bDOl2brI7zIecGpclKU3RoCr
         FZf63R/B/tziBxhNgGmFgajd3W28+QEYuNGSBjkuTULc9vgnObQos4foPhwMA2G6CtcE
         K4PgfRAZTrX4G3L8TnahmTj70OdYOaBwDJF1HtmVQoNpujMIVC6vl2ODy3tV3Bh3488u
         x1rDpJNxNFcgtx2euQQSH/dqsEUAh76TXcpghafK6CvkmdVYI6RrQp9m46RLizqQMRSC
         ZNzA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780958335; x=1781563135;
        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=6/e8MVVf+gn1nbLHbwfdQ87xOkjbdduwr2NDuGKxrzw=;
        b=UUkyedOME6eG9Mao6MwjRY1ZNdiWTlT4dE/n3plLmOITqxRjB/qGOPHMjqeVe9dtIi
         KZ8MzTZG9ki327DS64gFukWuxIH8EqBe+INgwmAiOyLoFyjWfo8lDVDUXtUJF26N1F4/
         0ExTZB5LRI/MsWc6biDHq5Enf7btww7qRR/kLke3/V3fxJ0T8sQ+SNdoOyPIAeL0g6cn
         pDBUO6Oz55lGdLvNMt45mvDmrkZWgkvfU8zkYBHV6ZxyRRM0HRHf8aZ+eRyx9GF06iK9
         5Becl4Pk6BXmOtBbbAyyditla3/lvGrB85Eh40eXqwrJ8XuedW3wzzgAEz0ggZSJcvgD
         IuuQ==
X-Forwarded-Encrypted: i=1; AFNElJ9L0VfL+Vp2TP1V+T6v5/MYLto2357oCRCUCkTavi6ARcCtiJu3ErGtHXAsezDBZE+lm2YhcmxZiSo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxZlyFGWOKf5dihWOJjy1q40ytl+Y5KKC7h0SDjrXbQl5NqgAfP
	5zYt7IbphmZcYVacOn1eTGmf+ckOHt1Ub4LVBMLLoWfb2ogMopwb51sq2XoArp+r1CQZZ+npQCu
	CUzAwYg==
X-Received: from pldv17.prod.google.com ([2002:a17:902:ca91:b0:2b0:ba5a:1fe])
 (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:da8d:b0:2be:fda1:42d9
 with SMTP id d9443c01a7336-2c1e7845a08mr176535715ad.0.1780958335144; Mon, 08
 Jun 2026 15:38:55 -0700 (PDT)
Date: Mon, 8 Jun 2026 15:38:54 -0700
In-Reply-To: <eef867eae15e30d08482ba16a1a32159745b64a7.camel@infradead.org>
Mime-Version: 1.0
References: <20260529144435.704127-1-seanjc@google.com> <20260529144435.704127-11-seanjc@google.com>
 <877boc554l.ffs@fw13> <eef867eae15e30d08482ba16a1a32159745b64a7.camel@infradead.org>
Message-ID: <aidEfvTMjLa2zt43@google.com>
Subject: Re: [PATCH v4 10/47] x86/tsc: Consolidate forcing of
 X86_FEATURE_TSC_KNOWN_FREQ for PV code
From: Sean Christopherson <seanjc@google.com>
To: David Woodhouse <dwmw2@infradead.org>
Cc: Thomas Gleixner <tglx@kernel.org>, Paolo Bonzini <pbonzini@redhat.com>, Ingo Molnar <mingo@redhat.com>, 
	Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org, 
	Kiryl Shutsemau <kas@kernel.org>, "K. Y. Srinivasan" <kys@microsoft.com>, 
	Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, 
	Dexuan Cui <decui@microsoft.com>, Long Li <longli@microsoft.com>, 
	Ajay Kaher <ajay.kaher@broadcom.com>, Alexey Makhalov <alexey.makhalov@broadcom.com>, 
	Jan Kiszka <jan.kiszka@siemens.com>, Andy Lutomirski <luto@kernel.org>, 
	Peter Zijlstra <peterz@infradead.org>, Juergen Gross <jgross@suse.com>, 
	Daniel Lezcano <daniel.lezcano@kernel.org>, John Stultz <jstultz@google.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Rick Edgecombe <rick.p.edgecombe@intel.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, 
	Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Stephen Boyd <sboyd@kernel.org>, kvm@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-coco@lists.linux.dev, 
	linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev, 
	xen-devel@lists.xenproject.org, Tom Lendacky <thomas.lendacky@amd.com>, 
	Nikunj A Dadhania <nikunj@amd.com>, Michael Kelley <mhklinux@outlook.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-ebf023/1780958337-43F6D3FF-6113E2C0/0/0
X-purgate-type: clean
X-purgate-size: 6112

On Sat, Jun 06, 2026, David Woodhouse wrote:
> On Sat, 2026-06-06 at 12:34 +0200, Thomas Gleixner wrote:
> > On Fri, May 29 2026 at 07:43, Sean Christopherson wrote:
> >=20
> > > Now that all paravirt code that explicitly specifies the TSC frequenc=
y
> > > also sets X86_FEATURE_TSC_KNOWN_FREQ, replace all of the one-off code
> > > and simply set X86_FEATURE_TSC_KNOWN_FREQ if the TSC frequency is kno=
wn.
> > >=20
> > > Do NOT force set TSC_KNOWN_FREQ if the "known" TSC frequency was prov=
ided
> > > by the user.=C2=A0 Per commit bd35c77e32e4 ("x86/tsc: Add tsc_early_k=
hz command
> > > line parameter"), one of the goals of the param is to allow the refin=
ed
> > > calibration work "to do meaningful error checking".
> > >=20
> > > Note, preferring the user-provided TSC frequency over the frequency f=
rom
> > > the hypervisor or trusted firmware, while simultaneously not treating=
 the
> > > user-provided frequency as gospel, is obviously incongruous.=C2=A0 Sw=
eep the
> > > problem under the rug for now to avoid opening a big can of worms tha=
t
> > > likely doesn't have a great answer.
> >=20
> > There is a good answer I think.
> >=20
> > early_tsc_khz exists to cater for the overclocking crowd. On their
> > modded systems the firmware supplied TSC frequency (CPUID/MSR) is not
> > matching reality anymore. So they work around that by supplying a close
> > enough tsc_early_khz and then they let the refined calibration work
> > figure it out.
> >=20
> > Arguably that's only relevant for bare metal systems and what's worse i=
s
> > that in virtual environments the refined calibration work can fail,
> > which renders the TSC unstable.
> >=20
> > So I'd rather say we change this logic to:
> >=20
> > =C2=A0=C2=A0 if (!hypervisor_is_type(X86_HYPER_NATIVE)) {
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tsc_khz =3D x86_init.....();
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 force(X86_FEATURE_TSC_KNOWN_FREQ);
> > =C2=A0=C2=A0 } else if (tsc_khz_early) {
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ....
> > =C2=A0=C2=A0 } else {
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ...
> > =C2=A0=C2=A0 }
> >=20
> > Along with:
> >=20
> > =C2=A0=C2=A0 if (!hypervisor_is_type(X86_HYPER_NATIVE)) {
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (tsc_khz_early)
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pr_warn("Ignoring non-=
sensical tsc_early_khz command line argument\n");
> >=20
> > or something daft like that.

Ya, I ended up in the same place once Sashiko pointed out that skipping the=
 SNP/TDX
setup was hazardous[*], and also once I realized that tsc_khz_early *comple=
mented*
the refinement instead of replacing it.

This is what I have locally:

        if (cc_platform_has(CC_ATTR_GUEST_SNP_SECURE_TSC))
                known_tsc_khz =3D snp_secure_tsc_init();
        else if (boot_cpu_has(X86_FEATURE_TDX_GUEST))
                known_tsc_khz =3D tdx_tsc_init();

        /*
         * If the TSC frequency wasn't provided by trusted firmware, try to=
 get
         * it from the hypervisor (which is untrusted when running as a CoC=
o guest).
         */
        if (!known_tsc_khz && x86_init.hyper.get_tsc_khz)
                known_tsc_khz =3D x86_init.hyper.get_tsc_khz();

        /*
         * Mark the TSC frequency as known if it was obtained from a hyperv=
isor
         * or trusted firmware.  Don't mark the frequency as known if the u=
ser
         * specified the frequency, as the user-provided frequency is inten=
ded
         * as a "starting point", not a known, guaranteed frequency.
         */
        if (known_tsc_khz && !tsc_early_khz)
                setup_force_cpu_cap(X86_FEATURE_TSC_KNOWN_FREQ);

        /*
         * Ignore the user-provided TSC frequency if the exact frequency wa=
s
         * obtained from trusted firmware or the hypervisor, as the user-
         * provided frequency is intended as a "starting point", not a know=
n,
         * guaranteed frequency.
         */
        if (!known_tsc_khz)
                known_tsc_khz =3D tsc_early_khz;
        else if (tsc_early_khz)
                pr_err("Ignoring 'tsc_early_khz' in favor of firmware/hyper=
visor.\n");

[*] https://lore.kernel.org/all/ahnF-FehodVd474X@google.com

> > The kernel has for various reasons always tried to cater for the needs
> > of users who are plagued by bonkers firmware, but we have to stop to
> > prioritize or treating equal ancient and modded out of spec hardware.
> >=20
> > TBH, I consider that whole KVM clock nonsense to fall into the modded
> > out of spec hardware realm. Do a reality check:
> >=20
> > =C2=A0=C2=A0 How many production systems are out there still which run =
VMs on CPUs
> > =C2=A0=C2=A0 with a broken TSC and the lack of VM TSC scaling?
> >=20
> > I'm not saying that we should not support the few remaining systems
> > anymore, but our tendency to pretend that we can keep all of this
> > nonsense working and at the same time making progress is just a fallacy=
.

FWIW, I have the exact same sentiments about kvmclock, but I'm also trying =
my
best not to break folks that are happily running on what is effectively fla=
wed,
ancient "hardward".=20

> I don't know that we can take the KVM (and Xen) clock away from guests,
> but all of the *horrid* part about it is the way it attempts to cope
> with the possibility that the *host* timekeeping might flip away from
> TSC-based mode at any point in time. By the end of my outstanding
> cleanup series, that is the *only* thing the gtod_notifier remains for.
>=20
> If we can trust the hardware *and* the host kernel, then KVM could
> theoretically hardwire the kvmclock into 'master clock mode' where it
> basically just advertises the TSC=E2=86=92kvmclock relationship *once* to=
 all
> CPUs and it never changes.
>=20
> All the nonsense about updating it every time we enter a CPU could just
> go away completely.

But to Thomas' point, why bother?  For actual old hardware, kvmclock is wha=
t it
is.  For modern hardware, it's completely antiquated.


From xen-devel-bounces@lists.xenproject.org Mon Jun 08 23:06:35 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 23:06:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332134.1594779 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWj36-0007GL-W1; Mon, 08 Jun 2026 23:06:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332134.1594779; Mon, 08 Jun 2026 23: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 1wWj36-0007GE-S4; Mon, 08 Jun 2026 23:06:28 +0000
Received: by outflank-mailman (input) for mailman id 1332134;
 Mon, 08 Jun 2026 23:06:27 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <milan_djokic@epam.com>) id 1wWj35-0007G5-7h
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 23:06:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWj31-0021MW-Bl
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 01:06:23 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <milan_djokic@epam.com>)
 id 6a274aa8-2eae-0a2a0a5409dd-0a2a4508a158-34
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 01:06:23 +0200
Received: from [40.107.130.129]
 (helo=MRWPR03CU001.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <milan_djokic@epam.com>)
 id 6a274aee-63b5-0a2a45080019-286b828149ee-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 01:06:23 +0200
Received: from AS2PR03MB9587.eurprd03.prod.outlook.com (2603:10a6:20b:595::7)
 by AS8PR03MB8442.eurprd03.prod.outlook.com (2603:10a6:20b:528::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Mon, 8 Jun 2026
 23:06:21 +0000
Received: from AS2PR03MB9587.eurprd03.prod.outlook.com
 ([fe80::daa7:3b97:acb3:67d5]) by AS2PR03MB9587.eurprd03.prod.outlook.com
 ([fe80::daa7:3b97:acb3:67d5%4]) with mapi id 15.21.0092.011; Mon, 8 Jun 2026
 23:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=E6CMU3nNEE3/ZmqC4z0XKoEz8EBI5A81+wtiwYV/CpdqaGSL2E0SCs59jjTI+Ob5zlOT6iHA0r/oB62+lPYx2k9phzFTbLRj5Vra67WBvR0DXM78sGTvW21oKXLYRgBw5SxelrCCMSdsFu+Lb7j6YaoczMLgnJuwtGW6bc9F72TCRGq/h1zmMqUmgElr9PIcxQ3Tyza9cJ6tfF5hacBANo3mec0i9+uswyMq59I+NHjSMurf5lWaqlT3m0pyoCjF+fMKGwY1kU1rZrDJvjDz2hHjtxIx/hMzx38x/g+BmvsE6y1oyReY7Iu34whbJL6Q4TGtkEehPSlzoupO+/Uxbg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=x7/dTcQ7+fH6+STG4KEZJq9g48cqodZ/QsRPNB+d4Yg=;
 b=VsxliG9E4KJVEBMo2IzBc16TZTKqtmVNSdfIe+9Ix/3WOnV9RFLjJob+BPLEo2TEBrqS8tNsDLElSEfLG0x9jtHxi9LQOjjcPBz7Km+M1a5l8ERSVypi9iPdoTqPaTW3lEL1DJsC0czI0ypUNdqlYGVbuYYF1xXUGF5SNfM4LKBYIhsznP08BoS1XLXTIBoBk1sqEnp6S5RSXWiNsL04lbOF2vlkTllG2J0VWCSKIxMhEEYgt9Nln9p9z2ZXdopDj5+S8DWgcN8e04AjnRSy5oTQZI4r7hJKHHE287zXFdmc2L77CcPFQqun2uzJAKqGMXV3WkwwpUKrbuhrQ3LSNA==
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=x7/dTcQ7+fH6+STG4KEZJq9g48cqodZ/QsRPNB+d4Yg=;
 b=cb7uW0uCuJBu7dAUygwJp08NslMkykZlU2x2gRyCSyUwAMH+TYO/7qXYTEmfpnv2P2OtBayPFgOp3J4t6l+g/FcantTQ0nC1Vb4wxw7MTYhKVpznnX+pd48thGyUQSqSciu9wXHPgz99J2Wuo9eOVwQFi/k+oJrnX34TM/ZgUjsKuZPDabVRBVLIKxb355U5ep5OOn7QaU8Jxt80wGzIKMLZbmbMioaFQqV+LbilwglQPPEh8lPp3496yvL4M6qxWk6smnSEQGozTBDUpGgU2YrqWXLPL79dv7olROz+99KxGELTmbCkgIm5OWxiOaEmUorzvNPlBNTNeBzqn0KBsw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <8c57e619-7b37-49b9-ae55-67490956d12c@epam.com>
Date: Tue, 9 Jun 2026 01:06:19 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 08/23] xen/arm: vsmmuv3: Add support for registers
 emulation
To: Julien Grall <julien@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: 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>
References: <cover.1774918270.git.milan_djokic@epam.com>
 <25adb33c4be3932c2d946cf7757c933eb042476c.1774918270.git.milan_djokic@epam.com>
 <6d1806aa-b009-407a-9a7a-476f9f4deb70@xen.org>
 <f7e7f42c-43f1-436a-9d06-ab44619f2da0@epam.com>
 <648f587f-8621-472d-9b2c-e88fe11444a4@xen.org>
Content-Language: en-US
From: Milan Djokic <milan_djokic@epam.com>
In-Reply-To: <648f587f-8621-472d-9b2c-e88fe11444a4@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: VI1PR0102CA0102.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:15::43) To AS2PR03MB9587.eurprd03.prod.outlook.com
 (2603:10a6:20b:595::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB9587:EE_|AS8PR03MB8442:EE_
X-MS-Office365-Filtering-Correlation-Id: dcfa361b-146e-4a95-1cdd-08dec5b28dc9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|6133799003|22082099003|18002099003|4143699003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	b6t8Y2TP+LsC6VUwYzhu603vmNKbXHh2+wQCJrAQ/Tdn4kGiAqUHVcRZf+yQkrGukOcXPIiOu4FJWjE8CrZwQpA39+tE33PvDGCDXYb5fYa/CbYo80JSFfQIuZeHQFFSp52BLD9006/TZHbXlwDES6VaWcwjRHmuPHx5ySCjDnjNXq5kALWCB+f7Qwv6mYffR2R7vphgts+CXSCqNMZO5DLeoHP+03jyfUzLrV42Uy1Uu45JuXS3b5A/0XvihNA+2SIAIa9Eh/zLiOfBXF2FWpj2TrEUHb12dc9CcymQgB50ofhGZhxZgYLDlVwxHeQhOevPyHS7pqOOxL1/MXyQ4yWVZVK9oQbz7nDGWF+WKvb3f/GTux7rJm8ZPZB5I0VdXPxLMuDiqSjhL9n2bmC90sJ9PpBTC4qd6qe/c3Dcirq1VmXz3rgasEL/kfjC08CMNS3T1dieu6uxjlO9OHt/CX/Ct/Evd9z5eiQzyH9oI+hmGLh9gCk3uOMdQ3ox5F6Dkjh8bY6l3VqIcUrmwCXHqK8IwaJoOG4he01mG+H1tBLHlsyGm8EegRDJ35ty+e5VY7msHgwcJ41N6tIOM2n/XDspK14CXAD8jY0AvXh/lxR39zxt5xCAcSJ0mWCF/toNxMG6odBnXqAbksAf7+utdeLNDJDR92z8Qcn25vbBepumuNGMXstcHcoM4cO+eMcY
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB9587.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(6133799003)(22082099003)(18002099003)(4143699003)(11063799006)(56012099006);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SysyMVV1ZGpjNTZycTlFT0FYc2lOaG8xNGt2MHZTMTNBMkpBckdXT29iSkV5?=
 =?utf-8?B?SmNrdm8vcURzZEoycUlERlh0LzY4eW5uOEx1czg0WnFyWXFSTzBQcnVZency?=
 =?utf-8?B?RTRVMFdpMUV4c0o1MmowbHJvQ0NJMDFJaFMwZjhKcllOUHBGcUkxazlPR1Ez?=
 =?utf-8?B?aFZrM3RneDMwOHd2QktDVGJhRVRKYjg4OG9UMXZycTc0dVRjNDhwNkdaVjB4?=
 =?utf-8?B?aytTcm1HNTdVM25Hc1pJWEMwK2YxRWIvajcrNU1XVWZtMUY2am1sSms3Yk50?=
 =?utf-8?B?U2MrcnNzcUhITW5DS3UxcWxnVFhQdFlPaHE4TVA3ZkpFOTVCOXhoZWUwODFU?=
 =?utf-8?B?OXhQYnJPWGR5blp6NTNLcUNnVENKMmxPQWRVRHNwUkphY3NsQ2Z0VStSNC9W?=
 =?utf-8?B?SURyM0dZdGVRRVVJT3BvVUE2RTJMcHB0QmFUV2h5dC96d0gxR3NIbFVvNytJ?=
 =?utf-8?B?d0J0eVNsNDZSK1JVK0p3OUJKN1hJSStEV2JSSmRhOGRmY2hJZHNZQm5XODlI?=
 =?utf-8?B?YTl6L1RsQVcwNERXSW54N3lRay9wTFhmcm03SlRkYnhsMFh2K0JOWThjLzlm?=
 =?utf-8?B?bDZVS2hPNTJNQXhCaUgxcUI5QzdSSlZxK1hVajVtbDYwbXlidWZwL2VuUFly?=
 =?utf-8?B?OGRCOUdGUmoveTh3U1RnVnBHVW5tcmtXNWdCZ0NVZTBDY05BUWFuMStNa1Ex?=
 =?utf-8?B?V2oxdTFNZGMyamdvTFpIdWxIREc4OTF1ek1aV2xRNHBhVWE0UE9yWFNXUi9r?=
 =?utf-8?B?QmhjakM2Y2htUlUweFJjM3pJWVhEdkNTbFhjRUhJYm5BTjNQbnY2aEdkZXF0?=
 =?utf-8?B?MHZVK05aWUY2RGZueGVCZVpRMWQ0NDBEUUQzc0gxU2dEZkszMDJFK1JDUVNz?=
 =?utf-8?B?UWl2VXYxRDR0c1pWQmJMVjFZUC80T1RXbWNDdVNxNi94MWFzMDRtNi90LzRu?=
 =?utf-8?B?QU91TGxXVlFDdXY0elJRVDBzRUtZL0M5dkdzL2wvL2NaTi9JbzRXdVVzdjlj?=
 =?utf-8?B?UCtrL2tGZ2VVa1l6YSsxUkxYNWV1VDg1MUgyOCtCTm5oYy9vZGRzZkRVSkRl?=
 =?utf-8?B?RVlQcTJMQTJSQ1ZCT3ZxNXZPMGlMV2tCcTMxVjNMZGx5dFhIL1FjdVgzc0tW?=
 =?utf-8?B?QzcwdHR1WDh1dERabjBGQUQrWXRWdzNJR0YzQWxkSlNHS2huMzFMNC9qVW51?=
 =?utf-8?B?bVVidFlpK0dNUzdVMUxaZTBSTk40dVZoM2VNbFhPbjYxYUFOejU4LzJGTU5J?=
 =?utf-8?B?QTRlSEtUMEFTY1RnNm5oaFpVL2NjY1lwMk40ak5MUFhKRVRIMEc0b3V1R2Nm?=
 =?utf-8?B?a1IwekVROHo0TG1qMmx1SUl4Z0RuOWZKOHpvc1BTK0pudDM1VlZlUFZ4ZjhG?=
 =?utf-8?B?RDgvVEJ0TU4xcGVrU2ZpNkY2YnNhSTdxb2dOTXk2UDBORDlFSWNVa2RuODJQ?=
 =?utf-8?B?NGpldkYyeGFGMW51SUI5Q1BCeitNdVA5Nlc1anJZUHZzb1ppbURjdTYzcmh3?=
 =?utf-8?B?KzJ3NXZHNFdzdU9PbnFEZFFlWWg0Ly94TEFEL3hWSUlBeEVVdFIvUHV3Znlm?=
 =?utf-8?B?d2x4a0R5NVJuNE1JMmtwTGQ4bkg3UnJyT0VRcnR4RFVCRGdnbSsyVXVDM20x?=
 =?utf-8?B?WUozM25TdE5Gd1BTWDlJMTE1S2lpRGZyK1l0TU12K1BOZUd1VHR2dXdhN3RF?=
 =?utf-8?B?dnkrQk05bCtOSkpkYWw2dDBKbGhEN2VlWDNZdktvZjZZaUZHRkY0TnVQcUVu?=
 =?utf-8?B?TGdGZC9oRWhHYWhLK1NkdThFY3I1bGpMMm0zeEY0ZEhYZDQ4ZTJjZ083ZXk5?=
 =?utf-8?B?azMrNXdLMHJ3ZFhPYUxpeUlzVi8xaGhjT3h1aEJNVE52UjJyRWgveSs2azVY?=
 =?utf-8?B?d3o0OFRMMWZGRVRJOUU1QzNPa0l4ekY1czZSMXZ2NEUrbGcxd2FqTlp4Z1Vm?=
 =?utf-8?B?TDdsTG9HcjZhbkprbGtJeTlWS3hvUXBDcjlLSjMyc3pubXM1ajFGNHF3Tkpw?=
 =?utf-8?B?ZmJlR1NTRkNDcisyZHo2SHd5TWJoMG5YcW9HZDJ4TTdCN2pXVUhQTDEwVGg3?=
 =?utf-8?B?L3RHMGliNlRQdWI3YWYzT056UitUZ2pOalZGT3lzQnRFOGxUMEkzbGFFQnRP?=
 =?utf-8?B?QllFN3UxemQxeThiREdqdmxVeVczZ0E5MFhWMzVseFIzbDVUQWo5eVhvQXFl?=
 =?utf-8?B?NFJCdXpuREhLYjBwbXhTRUVBb0lrTVVtQVFncy84eDJWNGFUT0lNdUl1RTdr?=
 =?utf-8?B?QWJtVVFidG52cDdQQ0hVRHMzWTJ6Wm9uS2FWOWxuZ0pldkZmNTJGT0NULzJa?=
 =?utf-8?B?U1dMQmwreVpPL0NKVlZTaC9BSzZLVCtPRFhSbk1XWmVNNkpWbFlBZz09?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dcfa361b-146e-4a95-1cdd-08dec5b28dc9
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB9587.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2026 23:06:20.9549
 (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: Y7IHjUiqpJrVXyGroLijY/tsT00UaxIoAKeKFMhkhPAt5YgJcvxjopP6UcadmHatLOgil205T0QlSQ7MMn6pMw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB8442
X-purgate-ID: tlsNG-c1860d/1780959983-BDF6ADB1-D6F6238E/0/0
X-purgate-type: clean
X-purgate-size: 11192

Hi Julien,

On 5/24/26 13:49, Julien Grall wrote:
> Hi Milan,
> 
> On 18/05/2026 01:17, Milan Djokic wrote:
>> Hi Julien,
>>
>> On 4/14/26 10:10, Julien Grall wrote:
>>> Hi Milan,
>>>
>>> On 31/03/2026 10:52, Milan Djokic wrote:
>>>> From: Rahul Singh <rahul.singh@arm.com>
>>>>
>>>> Add initial support for various emulated registers for virtual SMMUv3
>>>> for guests and also add support for virtual cmdq and eventq.
>>>>
>>>> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
>>>> Signed-off-by: Milan Djokic <milan_djokic@epam.com>
>>>> ---
>>>>  Â Â  xen/drivers/passthrough/arm/smmu-v3.hÂ  |Â Â  6 +
>>>>  Â Â  xen/drivers/passthrough/arm/vsmmu-v3.c | 286 +++++++++++++++++++++
>>>> ++++
>>>>  Â Â  2 files changed, 292 insertions(+)
>>>>
>>>> diff --git a/xen/drivers/passthrough/arm/smmu-v3.h b/xen/drivers/
>>>> passthrough/arm/smmu-v3.h
>>>> index 3fb13b7e21..fab4fd5a26 100644
>>>> --- a/xen/drivers/passthrough/arm/smmu-v3.h
>>>> +++ b/xen/drivers/passthrough/arm/smmu-v3.h
>>>> @@ -60,6 +60,12 @@
>>>>  Â Â  #define IDR5_VAXÂ Â Â Â Â Â Â Â Â Â Â  GENMASK(11, 10)
>>>>  Â Â  #define IDR5_VAX_52_BITÂ Â Â Â Â Â Â Â Â Â Â  1
>>>> +#define ARM_SMMU_IIDRÂ Â Â Â Â Â Â Â Â Â Â  0x18
>>>> +#define IIDR_PRODUCTIDÂ Â Â Â Â Â Â Â Â Â Â  GENMASK(31, 20)
>>>> +#define IIDR_VARIANTÂ Â Â Â Â Â Â Â Â Â Â  GENMASK(19, 16)
>>>> +#define IIDR_REVISIONÂ Â Â Â Â Â Â Â Â Â Â  GENMASK(15, 12)
>>>> +#define IIDR_IMPLEMENTERÂ Â Â Â Â Â Â  GENMASK(11, 0)
>>>> +
>>>>  Â Â  #define ARM_SMMU_CR0Â Â Â Â Â Â Â Â Â Â Â  0x20
>>>>  Â Â  #define CR0_ATSCHKÂ Â Â Â Â Â Â Â Â Â Â  (1 << 4)
>>>>  Â Â  #define CR0_CMDQENÂ Â Â Â Â Â Â Â Â Â Â  (1 << 3)
>>>> diff --git a/xen/drivers/passthrough/arm/vsmmu-v3.c b/xen/drivers/
>>>> passthrough/arm/vsmmu-v3.c
>>>> index e36f200ba5..3ae1e62a50 100644
>>>> --- a/xen/drivers/passthrough/arm/vsmmu-v3.c
>>>> +++ b/xen/drivers/passthrough/arm/vsmmu-v3.c
>>>> @@ -3,25 +3,307 @@
>>>>  Â Â  #include <xen/param.h>
>>>>  Â Â  #include <xen/sched.h>
>>>>  Â Â  #include <asm/mmio.h>
>>>> +#include <asm/vgic-emul.h>
>>>
>>> vgic-emul.h is intended to only be used in the vGIC code. I am fine if
>>> you want to use it in vsmmu-v3.c but it needs to be renamed. Maybe to
>>> vdev-emul.h.
>>>
>>
>> Sure, I'll rename it
>>
>>>>  Â Â  #include <asm/viommu.h>
>>>> +#include <asm/vreg.h>
>>>> +
>>>> +#include "smmu-v3.h"
>>>> +
>>>> +/* Register Definition */
>>>> +#define ARM_SMMU_IDR2Â Â Â Â Â Â  0x8
>>>> +#define ARM_SMMU_IDR3Â Â Â Â Â Â  0xc
>>>> +#define ARM_SMMU_IDR4Â Â Â Â Â Â  0x10
>>>> +#define IDR0_TERM_MODELÂ Â Â Â  (1 << 26)
>>>> +#define IDR3_RILÂ Â Â Â Â Â Â Â Â Â Â  (1 << 10)
>>>> +#define CR0_RESERVEDÂ Â Â Â Â Â Â  0xFFFFFC20
>>>
>>> AFAIU, this is covering all the bits defined by the SMMU spec. But some
>>> of them are optional. Does this mean we will expose those optional
>>> features?
>>>
>>
>> Right now only mandatory features are supported (SMMU_EN, CMDQ, EVTQ).
>> Most of the optional features are not advertised in the IDR registers,
>> so guests are not expected to enable or use them via CR0.
> 
> Guests are not trusted by default. So what is the guest tries to set them?
> 

This could cause issues on the guest side, as it may lead the guest to 
believe that additional features have been successfully enabled (for 
example, if the guest does not verify the advertised capabilities in the 
IDR registers).

I will also mask the bits corresponding to unsupported features in 
CR0_ACK to cover this case.

>>
>>
>>>> +#define SMMU_IDR1_SIDSIZEÂ Â  16
>>>> +#define SMMU_CMDQSÂ Â Â Â Â Â Â Â Â  19
>>>
>>> Can you add some details how you decided the size of the command and ...
>>>
>>>> +#define SMMU_EVTQSÂ Â Â Â Â Â Â Â Â  19
>>>
>>> ... even queues?
>>>
>>
>> The CMDQ/EVTQ sizes are currently set to the architectural maximum.
>> Since there is no direct dependency on the underlying hardware queue
>> sizes, using the maximum supported value seemed like the simplest option.
>>
>>>> +#define DWORDS_BYTESÂ Â Â Â Â Â Â  8
>>>> +#define ARM_SMMU_IIDR_VALÂ Â  0x12
>>>
>>> I am not sure which implementer this is referring to. But how do you
>>> plan to handle errata? Are we sure they can always be handled by Xen?
>>>
>>
>> This is currently a dummy value used to avoid triggering guest driver
>> errata/quirk paths. I will replace it with a more meaningful value.
>> Using the Arm implementer ID with the remaining fields cleared should be
>> sufficient.
> 
> I am not sure to understand why would that value be unused. Do you have
> more details?
> 

I think that the IIDR is always used by the guest driver during 
initialization to identify the implementer/product revision and enable 
any required workarounds.

If that is the usage you are referring to, then using a generic IIDR 
value would prevent the guest driver from activating any 
implementer-specific workaround paths.

>>
>> My expectation is that errata handling should remain in Xen rather than
>> the guest.
> 
> I am not fully convinced you will be able to apply all the errata in the
> hypervisor. At least with close to no cost.
> 

Yes, this is potentially problematic. However, at the moment I am not 
sure what the alternative would be, as I think that guest-side errata 
handling could be applied incorrectly due to the emulation layer.

> [...]
> 
>>>>  Â Â  /* Struct to hold the vIOMMU ops and vIOMMU type */
>>>>  Â Â  extern const struct viommu_desc __read_mostly *cur_viommu;
>>>> +/* virtual smmu queue */
>>>> +struct arm_vsmmu_queue {
>>>> +Â Â Â  uint64_tÂ Â Â  q_base; /* base register */
>>>> +Â Â Â  uint32_tÂ Â Â  prod;
>>>> +Â Â Â  uint32_tÂ Â Â  cons;
>>>> +Â Â Â  uint8_tÂ Â Â Â  ent_size;
>>>> +Â Â Â  uint8_tÂ Â Â Â  max_n_shift;
>>>> +};
>>>> +
>>>>  Â Â  struct virt_smmu {
>>>>  Â Â Â Â Â Â  structÂ Â Â Â Â  domain *d;
>>>>  Â Â Â Â Â Â  structÂ Â Â Â Â  list_head viommu_list;
>>>> +Â Â Â  uint8_tÂ Â Â Â  sid_split;
>>>> +Â Â Â  uint32_tÂ Â Â  features;
>>>> +Â Â Â  uint32_tÂ Â Â  cr[3];
>>>> +Â Â Â  uint32_tÂ Â Â  cr0ack;
>>>> +Â Â Â  uint32_tÂ Â Â  gerror;
>>>> +Â Â Â  uint32_tÂ Â Â  gerrorn;
>>>> +Â Â Â  uint32_tÂ Â Â  strtab_base_cfg;
>>>> +Â Â Â  uint64_tÂ Â Â  strtab_base;
>>>> +Â Â Â  uint32_tÂ Â Â  irq_ctrl;
>>>> +Â Â Â  uint64_tÂ Â Â  gerror_irq_cfg0;
>>>> +Â Â Â  uint64_tÂ Â Â  evtq_irq_cfg0;
>>>> +Â Â Â  structÂ Â Â Â Â  arm_vsmmu_queue evtq, cmdq;
>>>>  Â Â  };
>>>>  Â Â  static int vsmmuv3_mmio_write(struct vcpu *v, mmio_info_t *info,
>>>>  Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  register_t r, void *priv)
>>>>  Â Â  {
>>>> +Â Â Â  struct virt_smmu *smmu = priv;
>>>> +Â Â Â  uint64_t reg;
>>>> +Â Â Â  uint32_t reg32;
>>>
>>> Looking at this helper and the read one, I am bit surprised there is no
>>> lock taken nor we check the access size.Â  Can you explain why?
>>>
>>> For instance, we should not allow 64-bit access on 32-bit register. The
>>> rest of the size (8-bit and 16-bit) is IMP DEFINED so it may be easier
>>> just not allow them.
>>>
>>
>> Most of the configuration registers are expected to be accessed in a
>> serialized manner by the guest driver, during driver initialization.
> 
> I am afraid we can't trust the guest to do the right thing... So we need
> to make sure this could not lead to an invalid state in the emulation.
> 
> Furthermore, on baremetal, when a two pCPUs are trying to write to the
> same address, you will be able to see value A or value B but not a mix.
> Without a lock, I don't believe this is upheld in your implementation.
> 
> [...]
> 

I see your point. I will extend the locking to all registers with 
potential concurrent access.

>>> NIT: The vIOMMU is per-domain so it is sufficient to print "%pd".
>>>
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â  v, info->dabt.reg, (unsigned long)info->gpa & 0xffff);
>>>> +Â Â Â Â Â Â Â  return IO_ABORT;
>>>
>>> Per section 6 of the SMMU:
>>>
>>> "
>>> For all pages except Page 1, undefined register locations are RES0. For
>>> Page 1, access to undefined/Reserved
>>> register locations is CONSTRAINED UNPREDICTABLE and an implementation
>>> has one of the following behaviors:
>>> [...]
>>> "
>>>
>>> Here you seem to implement page0 so the default case should be write
>>> ignore and therefore IO_HANDLED should be returned. BTW, you don't seem
>>> to handle page1. Is this going to be handled later on?
>>>
>>
>>   Â  From page1, right now only EVTQ registers are emulated. PRI is not
>> supported, but might be needed in the future for the PCI support (PRI
>> queue registers also belong to page1, but not emulated atm)
>> So I think that page1 will be handled when PCI support is completed.
> 
> I am a bit confused with this answer. Are you saying you will handle
> page1 for the event queue register in another patch in this series?
> 

Sorry for the confusion. The EVTQ registers on Page 1 (SMMU_EVTQ_PROD 
and SMMU_EVTQ_CONS) are intended to be emulated in this patch.

However, Page0 offset is applied when decoding register accesses, so 
these Page 1 registers are not handled correctly. I will fix the 
register decoding accordingly.

>>
>>>> +Â Â Â  }
>>>> +
>>>>  Â Â Â Â Â Â  return IO_HANDLED;
>>>>  Â Â  }
>>>>  Â Â  static int vsmmuv3_mmio_read(struct vcpu *v, mmio_info_t *info,
>>>>  Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  register_t *r, void *priv)
>>>>  Â Â  {
>>>> +Â Â Â  struct virt_smmu *smmu = priv;
>>>> +Â Â Â  uint64_t reg;
>>>> +
>>>> +Â Â Â  switch ( info->gpa & 0xffff )
>>>> +Â Â Â  {
>>>> +Â Â Â  case VREG32(ARM_SMMU_IDR0):
>>>> +Â Â Â Â Â Â Â  regÂ  = FIELD_PREP(IDR0_S1P, 1) | FIELD_PREP(IDR0_TTF, 2) |
>>>
>>> As the page-table will be used by the HW, shouldn't TTF reflect what the
>>> HW supports? This would allow the vIOMMU to work for 32-bit domains.
>>>
>>
>> If my understanding is correct, Xen SMMU driver only supports AArch64
>> table format, so I think that we can't advertise 32-bit table format in
>> the emulation layer even if the hardware supports it.
> 
> Do you mind pointing me to the code? The page-tables are shared between
> the SMMU and the CPU. So we ought to support both.
> 

The reason I assumed only the AArch64 format should be advertised is 
that the Xen SMMU driver currently appears to require AArch64 table 
format support during device probe.

In arm_smmu_device_hw_probe() (xen/drivers/passthrough/arm/smmu-v3.c), 
the handling is:

/* We only support the AArch64 table format at present */
switch (FIELD_GET(IDR0_TTF, reg)) {
case IDR0_TTF_AARCH32_64:
     smmu->ias = 40;
     fallthrough;
case IDR0_TTF_AARCH64:
     break;
default:
     dev_err(smmu->dev, "AArch64 table format not supported!\n");
     return -ENXIO;
}

Based on this, I assumed that advertising AArch32 table format support 
in the emulation would not be correct. However, I may be missing 
something regarding how the guest page tables are shared between the CPU 
and the SMMU in this setup.

> Cheers,
> 

Best regards,
Milan



From xen-devel-bounces@lists.xenproject.org Mon Jun 08 23:27:58 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Jun 2026 23:27:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332141.1594788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWjNm-0003yp-N0; Mon, 08 Jun 2026 23:27:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332141.1594788; Mon, 08 Jun 2026 23:27:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWjNm-0003yi-Jy; Mon, 08 Jun 2026 23:27:50 +0000
Received: by outflank-mailman (input) for mailman id 1332141;
 Mon, 08 Jun 2026 23:27:49 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wWjNl-0003yc-2F
 for xen-devel@lists.xenproject.org; Mon, 08 Jun 2026 23:27:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWjNk-003p0F-01
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 01:27:48 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a274f99-bab6-0a2a0a5309dd-0a2a4502cd40-24
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 01:27:47 +0200
Received: from [40.107.209.20]
 (helo=PH8PR06CU001.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a274ff1-af86-0a2a45020019-286bd1141af3-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 01:27:47 +0200
Received: from BN1PR14CA0016.namprd14.prod.outlook.com (2603:10b6:408:e3::21)
 by CY8PR12MB8242.namprd12.prod.outlook.com (2603:10b6:930:77::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Mon, 8 Jun 2026
 23:22:26 +0000
Received: from BN2PEPF000044AA.namprd04.prod.outlook.com
 (2603:10b6:408:e3:cafe::13) by BN1PR14CA0016.outlook.office365.com
 (2603:10b6:408:e3::21) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.13 via Frontend Transport; Mon, 8
 Jun 2026 23:22:25 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 BN2PEPF000044AA.mail.protection.outlook.com (10.167.243.105) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.113.7 via Frontend Transport; Mon, 8 Jun 2026 23:22:25 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 8 Jun
 2026 18:22:25 -0500
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 8 Jun
 2026 18:22:25 -0500
Received: from [172.17.22.200] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Mon, 8 Jun 2026 18:22:24 -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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=utCD8fr4Cum6qwed9M31uV1xt8NXQH/fel0b8nnkjmr7N+cPPVqp2xBv7WiQ7KUDGoqiup1l3QlPebNT1JTZgsDx/XWjOfx1WJTEIr2zR6DHkHdWuyRgdxeaKaCX78U5F1Y89dsNmg8DLNvT70TeYlZz8aesr0fRM7amVneMDbtXA2hosl7yTLh7fFlCRd7nVbz5EyvJ17MFU85jB1fohTGo0JhBwKmaNlrzWQxC0l4mscxL0L3wufjYG/F2VyQksicgQ+KSwLdaW3PVkX1BA47sXifqIa8hfkrvHmT179Ck1BFpGqsI0YTwqH/lfn6O2T5SSZUR9bzy3CtR8WhtZw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=f/LcxsuNzH4hTbvnUOO6jZWxYx9imrDqFjuTPoMu0oo=;
 b=GgF8vh/1FFVhxxXq5hzN00/piogJk1MifkN6YDNdOUrT1veC9wwtMkioDe+r9k5X/5MTZ+P+HCGHkvTad5oHIs1Y4p2GmgMKOvjLJfEVNgV/Ne2dR78E2VRjaszFY2t0wLBbfTPaWNIlFQX8RNORyP9HQVt2SjshNi8TuLIkoC73kCmv5DzRa2LukAYU+r0XaROBc1ghcO4yzMM0D0w1C6WInnZLrcOkbaFS/DIIRAkutr/HOjhF32GjnP77hw0tCdg9gufAcGbOi1JRRupjV3rlYYOOd21SiObM0Nxq6VZt0+9SNoQ1jGEP1DoGWvItU0iYZAwmm6ZRF1T5oueN6g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=apertussolutions.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=f/LcxsuNzH4hTbvnUOO6jZWxYx9imrDqFjuTPoMu0oo=;
 b=1hp/nM3ibCsmd4cPwA3BHRQ/91eUhZMJtYl4F+QAdU49iHnXAiK4bLxE5VaBUv0uL3yIc+n0PwujtI2cYVZeYwksv2OVuT/2cdWnvAY+bSmlfIVsSalApup+h0frO25qpwKPWv3wmr/1CuopjkKS6yHNZHYZWc90hOlmDBns0y8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <c51ecc59-7252-4d1f-a192-717ae55dacd5@amd.com>
Date: Mon, 8 Jun 2026 19:16:01 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/6] argo: lower level of noisy connection-refused log
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>, <dmukhin@ford.com>,
	<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>,
	<christopher.w.clark@gmail.com>, Mykola Kvach <mykola_kvach@epam.com>
References: <20260526215823.1452619-1-dmukhin@ford.com>
 <20260526215823.1452619-2-dmukhin@ford.com>
 <ae19de19-aef5-47af-833d-87a46efb9afc@apertussolutions.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <ae19de19-aef5-47af-833d-87a46efb9afc@apertussolutions.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000044AA:EE_|CY8PR12MB8242:EE_
X-MS-Office365-Filtering-Correlation-Id: 18bb9469-04ea-4c1a-6a81-08dec5b4ccfc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
 BCL:0;ARA:13230040|1800799024|36860700016|7416014|376014|82310400026|18002099003|22082099003|6133799003|4143699003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
 Xw1NRWjP6lVNC5Wv4PyGk43rbRGw+1RpIB1XtGfn/+ZoWdSPivBMRz7nNd1obwnncufw55oSSHnWwBdUwbU77FPBftCokutTt+aw1pcksjYGm18rV5I5t3zHPL1xaiU9bAH+2Tmse2mbJkNYrTiKwLcEgs1Kcclzx0I+5QhBO5oIAqBkorfqb7nygTBsaQZhsZyvKUF8PTBF8mM5lztRfS1zOu+1VK3e277bj/EzOA1aBjSQ0Yo3urA81ogdxs9Y6TpBQ4Gz/J2B4p1tZoldshlNZtEPnVEbC21ZIuCHTk+4b3bfYQPs6KOxcJtbV7m92zHOzwW3iB0ax4e5KIsfsmHkOQSFwYOCVFzkVnqUYMEvMZVuBiz52F2Q2f7dpzhAQNKQC4kJ33Dw8i/9u4J1VfsjqGsAbG7Y+4508JiKHeBxFR9xRjeJZbfQOpkRkZ/rQqMNbTNYfqznqmYTveGtIyarbksaLg6+dx+cvA4ZEO3doPBUXT1y20NCG0n6hOAF1QIwdxpOcXF8/4ZYn0SZ7O1BP1XTCcIxkIit+rgtPQWYDcsoONM3aPnipKybwKisSG0RmnVwtEjErbuWudBSahzpU+unsb9+hh7LOkQ2TeacRPHnxC+zra2VB/SmH5hrkzthM4ZS70Zlh5+IXeBBlQWm1GflCXl6RiFIHfImZdkv39OVkurbYbcF2v+w4nOJ08cSLgt4yBbdvvImCORcORqauTIFsLHnEADi65LI/XM=
X-Forefront-Antispam-Report:
 CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700016)(7416014)(376014)(82310400026)(18002099003)(22082099003)(6133799003)(4143699003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
 VLUDVvkfdRjGYgbbOQon8U/Q+W1DkK3H/D8gdzxCLecYOUV3ybPcfwyIJNC64mgBQtSyRrwP0JOyh8YBilkapuocyZRYdA26IO8jPN0gimTzUvcQilK/dIiDykXj1luHOpgMqbpJH06BUkkbVlRQanVbMkXBt0hRvRl+sA+9lg3W4voiliZqD/VDHulxuOBDokY1+rzDTnjuhhDG7Cc3cjNG+30u8ohv29uZDv5ctp9xMYUQUNxqxrmdmIGp9TuiAIHa0bT7j5AQWndiC9JZcYxSRpxtjw1j0e9pDY0OF18b3qFaQ5cSpOYsQ1/NlcryYx3PJZvcqS41f/jGrFRCVIlgVVQd7kloQAsDBuPgEwSc5jrStdtkh2V0hHX8Mc6QfV/Li4ZLkdWCoJbCPoFiPSv1pOjLoTBZxng+Bt70KXLOyyCjHvig7cQzDWY9to4E
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2026 23:22:25.6643
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 18bb9469-04ea-4c1a-6a81-08dec5b4ccfc
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
 BN2PEPF000044AA.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8242
X-purgate-ID: tlsNG-720697/1780961267-83961161-6EB3DCB5/0/0
X-purgate-type: clean
X-purgate-size: 2519

On 2026-06-08 15:54, Daniel P. Smith wrote:
> 
> 
> On 5/26/26 5:58 PM, dmukhin@ford.com wrote:
>> From: Denis Mukhin <dmukhin@ford.com>
>>
>> Switch the log line to argo_dprintk() so it is enabled only in debug
>> environments, as it can spam the logs when a dom0 service using the Argo
>> hypercall tries to communicate with a domain that is still starting up.
>>
>> Note that this also lowers the log level to debug when the argo_dprintk()
>> facility is enabled.
>>
>> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
>> Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>
>> ---
>> Changes since v2:
>> - updated commit message
>> ---
>> Â  xen/common/argo.c | 7 +++----
>> Â  1 file changed, 3 insertions(+), 4 deletions(-)
>>
>> diff --git a/xen/common/argo.c b/xen/common/argo.c
>> index 28626e00a8cb..98a3db7fd070 100644
>> --- a/xen/common/argo.c
>> +++ b/xen/common/argo.c
>> @@ -2034,10 +2034,9 @@ sendv(struct domain *src_d, xen_argo_addr_t 
>> *src_addr,
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  src_id.domain_id);
>> Â Â Â Â Â  if ( !ring_info )
>> Â Â Â Â Â  {
>> -Â Â Â Â Â Â Â  gprintk(XENLOG_ERR,
>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  "argo: vm%u connection refused, src (vm%u:%x) dst 
>> (vm%u:%x)\n",
>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  current->domain->domain_id, src_id.domain_id, 
>> src_id.aport,
>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  dst_addr->domain_id, dst_addr->aport);
>> +Â Â Â Â Â Â Â  argo_dprintk("vm%u connection refused, src (vm%u:%x) dst 
>> (vm%u:%x)\n",
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  current->domain->domain_id, src_id.domain_id, 
>> src_id.aport,
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  dst_addr->domain_id, dst_addr->aport);
>> Â Â Â Â Â Â Â Â Â  ret = -ECONNREFUSED;
>> Â Â Â Â Â  }
> 
> My apologies but this is not the wisest approach, hitting this is a real 
> error and shouldn't be getting silenced.

-ECONNREFUSED is still returned, and that is the important part, I think?

While gprintk(), it is trivially guest triggerable, so I think it wants 
to be a debug message like this change made it.  As a comparison, errors 
in event_channel.c are gdprintk().

If you are seeing a lot of
> these messages, I would suggest asking yourself why. Without further 
> context on how you are using it, one suggesting is perhaps your 
> connection model might need to be revisited.

There isn't a way to know if a port is available without polling?

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 00:09:27 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 00:09:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332155.1594805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWk1t-0003XH-JU; Tue, 09 Jun 2026 00:09:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332155.1594805; Tue, 09 Jun 2026 00: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 1wWk1t-0003XA-GG; Tue, 09 Jun 2026 00:09:17 +0000
Received: by outflank-mailman (input) for mailman id 1332155;
 Tue, 09 Jun 2026 00:09:17 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wWk1s-0003ND-TQ
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 00:09:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWk1s-002NXg-2P
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 02:09:16 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a2759ab-bab6-0a2a0a5309dd-0a2a4502da1c-0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 02:09:15 +0200
Received: from [40.93.196.70]
 (helo=SA9PR02CU001.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a2759aa-af86-0a2a45020019-285dc44694b0-4
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 02:09:15 +0200
Received: from SJ0PR03CA0278.namprd03.prod.outlook.com (2603:10b6:a03:39e::13)
 by IA1PR12MB6234.namprd12.prod.outlook.com (2603:10b6:208:3e6::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Tue, 9 Jun 2026
 00:09:10 +0000
Received: from BY1PEPF0001AE1B.namprd04.prod.outlook.com
 (2603:10b6:a03:39e:cafe::24) by SJ0PR03CA0278.outlook.office365.com
 (2603:10b6:a03:39e::13) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.14 via Frontend Transport; Tue, 9
 Jun 2026 00:09:10 +0000
Received: from satlexmb07.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_256_GCM_SHA384) id
 15.21.113.7 via Frontend Transport; Tue, 9 Jun 2026 00:09:09 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 8 Jun
 2026 19:09:09 -0500
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 8 Jun
 2026 19:09:09 -0500
Received: from fedora.mshome.net (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Mon, 8 Jun 2026 19:09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=GcCUSv5WBrwk8MjikeVDPMwe3Z4dI9k9Cildit95pqZxcNMUMg3bFgvgJFfXOCPdJHqD7uyJbzHWtaSbEmm2AdJjvNgA1lUTuW3L3oKVd+PfEg8ZEK1fGLZ159JzIcLlAkKYzdzT90x3r0tOzEXP22vOmQHKFyfmMpF15Xp1DTAgsr0WT1z/pC6ERy0rSE9Ry8LpTgNnEfwCz/5gHpihF9wLut1j/gZODqOO1Wd00y7OLAizVd6uaax6XDLfhAx/WjhfxRjDc35DTi/eNvnQPMjhOzzABmenDOraJYAzb0Chp8CK7zeWqhYiFlKNgFMgLeczs5KO0v+Q+ojAQHaEtg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=h69F0/HRgHoEeubvo+fbrRYs/KCcGjkSw3JqSU3qEyg=;
 b=mQYBQ9EAEhx4QpUR/a2oLmdEgGaNpjG0xEXdaq7QnAii8OX6S6hcT+3/Nrvd4rMlyBYS57oVUWk0swhTjtInMsavIBS/l7Z4nZJk7w6v1NkuTrg1HkG1z7hdwmU/UYK5x7IoCpY/JMPuNBblp7hkQ3dc3m8y00yhpFDtg8El4ZWYfnxVfMJI58x5TmzvDm6FjmQVlha6t7+Z0T8gwM5E+3OK+n7JxdBeKbmC/D689JMxIkuv+g2eQA0nXrePFf9bAschcARiiMC3IV0ojip7cNzPxRjuqdDcrbrqqf54dPo4c+9sxJMrgvqzsczVaokv4rd6NwaPc7dEOBaI5p0faQ==
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=h69F0/HRgHoEeubvo+fbrRYs/KCcGjkSw3JqSU3qEyg=;
 b=0r++qOH5ulIlD4JI9esDNRtQn1B2p65xfldio2xDD7JwxIMI6mSAjSWnhwfYwm8XmKZUtrFD5jCrsMMGfGKNQAxyXDQ4xtnEdj/jFKzuvRLG3t99IjyiC50jlVdYieW7Wp/FM4wPZD7/2iaGkp6in16QzFhitW0HDnPQ/KUEpDg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Teddy Astie
	<teddy.astie@vates.tech>
Subject: [PATCH v3 1/2] xen/x86: Return virtual address from alloc_stub_page()
Date: Mon, 8 Jun 2026 20:06:37 -0400
Message-ID: <20260609000638.121027-2-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260609000638.121027-1-jason.andryuk@amd.com>
References: <20260609000638.121027-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: BY1PEPF0001AE1B:EE_|IA1PR12MB6234:EE_
X-MS-Office365-Filtering-Correlation-Id: ac84d4e8-94ef-4071-0080-08dec5bb5464
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|376014|36860700016|56012099006|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	Gl5xzHopvMHxUSd7/zlcohws4IjshTajQNZKIKdHeeWj4IObcW/H261GWB8+KN2g1btlmLWskksJlAFgxZvLXLZa/cya+Z1p1xIl/jdcMiMiv2adcZaIGR1xYSfe3LwBsz/+/6sNBvwfanKDUnYUsN3/OiPlGpvim4UQLqIf6443VSr6ppj2Rt9r1vJA5in1FdY95xwFO1EbZVdsUv8xufh1vs+ePj5sNDMz0XH6CfJbqZahQYnMXCM2y0wmYLlQuEb9VWM5m4is4f0GyTtjBPCwovNh1CvPQGxcuYi8Py4mefMgZZeGsqIEG7+oMjvIhG6zYoSSlm2j7NgqEycz9AOznXJu75ztMAzl3Iz7SoXJwKf1W3ney7G4HwBq8xgEpaBnRUmjV6B2BNmEuZppvjQj6sRns9xC8Zca9E5nod3NdvkSYainjuVP50KBvM6yvcmrDwOukaDZS3zhwbR4c9by2TciaB/YJu2jQAwikk+iWsGckJgjUFDfZLLRAxaVaECHwz1ui8suvZ8f44otjSD0erFMwRk+inofD9+ciIuq+mStUcVuF8AeWRizp1iqJgLwwPnXcx8deMXKZT1OVxJkaNTOmFDHShhtB359STf2eIB9zq9C9rH032hu/ADIly8CHQkb8yNXRRxfILF75erViMDzDdMdeu26JUN8zddMY3dsnR2qT8mq1LSkTUGDzQ54suGWwW05XGNZzAF0NzFN97iggM/eLK0cmOj8JXg=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(376014)(36860700016)(56012099006)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	Ejt5EeMU/qHSFPCBCyROXVV5/y0npbmDMKMzT4wZxmXk9AR/MXW44y7QNMGCjmEo5RVWcKtgaqejZUb6oKG6WjuWS5K9S1zY3n9ROtbDLLAe6pMVfD43FPzNu7HKYfUhhMu1AavgM2sOHi2xfp+6ywr9LRwB5lqCpe2yRZj5/imy+Tb15KmnXtVg5ReehOvsGNUd3Y3HmmB+UNGatXJKpJr3KXvnWOSYmHqq07TngykIuTNfS6+ZGvOzEVATOJs9cnVUTvACJEAhE/DG7LeJCws+V1AAOTL2mQpSw2FPKkyOWefqB/K7CPDLZXD7F6PV8x+Vu28gcpX0uKpJWZUXG/JEAzhUrDpqiNz1yRhfF6+w4NGcClGtJvLWzAmdX2bJZkfVZShlZJ5v0jJz3asawkO83yTSRZ6hJK3xx6rlzXVuYkYv5LZ1AG6/bXe5XOaF
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 00:09:09.7908
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ac84d4e8-94ef-4071-0080-08dec5bb5464
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BY1PEPF0001AE1B.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6234
X-purgate-ID: tlsNG-720697/1780963755-7BF66161-117588A9/0/0
X-purgate-type: clean
X-purgate-size: 1869

Currently alloc_stub_page() returns the virtual address of the mapped
stubs page, and the caller adds the per-CPU offset.  Make
alloc_stub_page() return the final address.  This is in preparation for
changing the stubs allocation where the offset will not be tied to the
CPU number.

The call to alloc_stub_page() in setup.c:start_xen() did not add the
offset as it is assumed to run on CPU0.

Change the local variable stub_page to stub_va to reflect the value.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/arch/x86/smpboot.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index ff05955bae..d7619f534b 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -675,7 +675,7 @@ unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn)
     else if ( !*mfn )
         *mfn = mfn_x(page_to_mfn(pg));
 
-    return stub_va;
+    return stub_va ? stub_va + STUB_BUF_CPU_OFFS(cpu) : 0;
 }
 
 void cpu_exit_clear(unsigned int cpu)
@@ -1044,7 +1044,7 @@ static int cpu_smpboot_alloc(unsigned int cpu)
     unsigned int i, memflags = 0;
     nodeid_t node = cpu_to_node(cpu);
     seg_desc_t *gdt;
-    unsigned long stub_page;
+    unsigned long stub_va;
     int rc = -ENOMEM;
 
     if ( node != NUMA_NO_NODE )
@@ -1099,10 +1099,10 @@ static int cpu_smpboot_alloc(unsigned int cpu)
             break;
         }
     BUG_ON(i == cpu);
-    stub_page = alloc_stub_page(cpu, &per_cpu(stubs.mfn, cpu));
-    if ( !stub_page )
+    stub_va = alloc_stub_page(cpu, &per_cpu(stubs.mfn, cpu));
+    if ( !stub_va )
         goto out;
-    per_cpu(stubs.addr, cpu) = stub_page + STUB_BUF_CPU_OFFS(cpu);
+    per_cpu(stubs.addr, cpu) = stub_va;
 
     rc = setup_cpu_root_pgt(cpu);
     if ( rc )
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 00:09:27 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 00:09:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332156.1594814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWk1v-0003kb-Tj; Tue, 09 Jun 2026 00:09:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332156.1594814; Tue, 09 Jun 2026 00:09: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 1wWk1v-0003kU-Qb; Tue, 09 Jun 2026 00:09:19 +0000
Received: by outflank-mailman (input) for mailman id 1332156;
 Tue, 09 Jun 2026 00:09:19 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wWk1u-0003k0-Uo
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 00:09:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWk1u-003tJu-BF
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 02:09:18 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a27597b-e002-0a2a0a5209dd-0a2a450695b6-40
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 02:09:18 +0200
Received: from [52.101.46.11]
 (helo=CO1PR03CU002.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a2759ab-7371-0a2a45060019-34652e0bea5a-4
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 02:09:17 +0200
Received: from DS7P221CA0026.NAMP221.PROD.OUTLOOK.COM (2603:10b6:8:25c::13) by
 BL1PR12MB5900.namprd12.prod.outlook.com (2603:10b6:208:398::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Tue, 9 Jun 2026
 00:09:11 +0000
Received: from DS1PEPF00017097.namprd05.prod.outlook.com
 (2603:10b6:8:25c:cafe::94) by DS7P221CA0026.outlook.office365.com
 (2603:10b6:8:25c::13) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.14 via Frontend Transport; Tue, 9
 Jun 2026 00:09:11 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 DS1PEPF00017097.mail.protection.outlook.com (10.167.18.101) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.113.7 via Frontend Transport; Tue, 9 Jun 2026 00:09:11 +0000
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 8 Jun
 2026 19:09:10 -0500
Received: from fedora.mshome.net (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Mon, 8 Jun 2026 19:09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=nn4xTzilSUUyPxo9EYBK1kyL8PH96khgDf5KkXISvlRmAzSMy+wG8y8n/6kuFxsag1+LU56B/ePs15rl2um4eZAqVlQA1rYA2pJKMPqwRGctIlm1UEMf2ikWI4LRUm9Um8uZ1W8ahOGtHze7ur6YVeFbMYzL82/VxmrF5UI2P0aiHKa1jJlVnlifAtpj+PYcg9lomZfC8N9n1tUlumnum6PmN/20aUZ0SLHO4eU4eZq8jE/vOqWsHsQEEX44ALpmVFWZ5DWeOaSE/6nMo3mpFFV2Geu4oMEKrWL++Z4GHZGPUkXUwqHLHC61P3dDrKw1w5vKAKwvWsGS24dndXUgVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yTwb8ekE7mBmp1WJz2KP3LjX28ggFVhtoF/cTlRbrXY=;
 b=nPG2dmPiAf3w8VJsZ/9wkW2FuG2yq0Z0HBlt9j0Az0uA5fErROFRvZjpq1IaSC6xwUWJOrEjHORr+Dq/AwBhtfEfFUBPTKF+A/s7/yHdTVw6ZYexqAwL4trGadqwJRvi3pF9M+C+776B/qcq3EHT0LHrwi0W+eCD1j9C3TsbIlQikNIryLmycriFCdG5OGPdew0+XMc0YFUIT/36TeaLhARcpiK83fIQnMr1JWwvjN3s3PxNh7X0IdTl6q2peCYQ3xHXLAuOEjt7av3YllIejz2EmAkKI0BMHvPf1l5xQ/IT5bZurF3Iwyv+oevMavWa3TthBXIWgpLHDZIe4SfDrg==
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=yTwb8ekE7mBmp1WJz2KP3LjX28ggFVhtoF/cTlRbrXY=;
 b=DsrLNKAXPUeLQsDPGW1g3LTGJqTovsPhWhCZOzTPNUjx7UJHQYfIIk9y/mQ8BQgblsvQjPTLvUsOdiqdoWVLuEW+IhTHttTo8xqozi0BTuTu6161PVJfS4vq8GtiZMbwOvoaaC4ojDinG0qg4wnB5EUAfhmSIqZbY2RO7bwIRAs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Teddy Astie
	<teddy.astie@vates.tech>
Subject: [PATCH v3 2/2] xen/x86: Change stub page allocation/free
Date: Mon, 8 Jun 2026 20:06:38 -0400
Message-ID: <20260609000638.121027-3-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <20260609000638.121027-1-jason.andryuk@amd.com>
References: <20260609000638.121027-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: DS1PEPF00017097:EE_|BL1PR12MB5900:EE_
X-MS-Office365-Filtering-Correlation-Id: c39c88da-e084-43d2-82ff-08dec5bb553b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|36860700016|376014|18002099003|22082099003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	UwH7UNOMkXHopqWUtV7lCPEDT8Bixb+C6ufhaj4udoBHnT+7KUPZT4w20y1spR5LJ6hVEFddJVB3BvPYpm3765PJlS1AZ/KXOZ0mXaOvKzK96ZFWPwloV2ky2KA+KCzcYkULNgEKtuoXwaNlhl8/Rcq/jZrnCtsN8SkZplvkbzYxmBZDolctH/H8W6Gc6X6Fnz/ILPOiuYrBv4CSHIGCZtToZwLT91Gql1R++mj4GauPkEOoz6HC1Xmxtv4ROLGCM+RAAWQX+gBzermMoImx00Fk4twAoG2i+uwpjtBTT9z+WLbadRil/NTm0cfufEjI9E/6uJUDJI15qHHzuG34Yqv4QQvSh0qbR2XGgYSMhD15gBoCDNIzLi691/+w9C/yluaSBMd20NN6OL4RqZ61qOVsEFbymEX741fXRWltWr7NkULTyujWP3dkSVs0cjmEm9tBMVvh7C3rA1BaMiMPFCcGvQ2Te2Fq24Q5ESUwdEIX9V/uJS9pzRIuMawyAUDXdKNExDX7Egnai0i0e7qRT7UrtEmildK0u5Pt4PJno4jHyqjpFMzLtN7ckwzbnYcWlt4+MkUtTREl+9uCQQmOyhnAwKQUuI3GMCPQk14rq0cQX2hlokazeTn++Sj3q0ZPfV/0urDDZbHUxOpODZ/vM/a2TM8ddMVOEbGo8dV7z0cLRBfLMZPMO9MKQU0ukyEQwqMo+T0LBlS2+XKZrv+q6zhHDXqfy3z/a17KAEVb3y0=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700016)(376014)(18002099003)(22082099003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	JiKznbqkzD3rEV1ZG2cjNXihkm+2i09z3NbdkNcqsh3C5nvmETIskB9izFEVQu/hUdr7JuEEh5rGB7cNVWz9U9OOF4mO5I0zMadSD5O4/QxTt0vv01BSVLEloV6hD7d6tDBQ6xhLJ+BdzK+AYQaqPePAiEqMDlWEEyHYWnianzjb0+6klv+Sua4kS3mrQGC1uQuZ+vEsz+CcsKzLiVtNdSgOB+V4jT2yWygQdPqRn8euzWrITuesXIbPjhwxMoZfaVJnkwqSYoGk2voex8i7xET8SdwDRb/tCwcv2rWFl5MHhx6yxL/x9ANqRuJk7eQ/2XqFUvNJiLeWJpEDCR7p2wCQv/vScmVHCv4NH7D+tJ1FSq2Tzz3zC9VTVZLlXS9d/sF+zG4CkjEv56B73bqOFyv/RsWCUgsNTA7NZGv/uvJR5i7SfFtG4P5LPQQmsCYL
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 00:09:11.2260
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c39c88da-e084-43d2-82ff-08dec5bb553b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF00017097.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5900
X-purgate-ID: tlsNG-16d1c6/1780963758-8D186D75-030DC01D/0/0
X-purgate-type: clean
X-purgate-size: 8330

Today the inline tracking of the stub page is problematic.  0xcc is used
to indicate unused, but it is also a "clear value."  A !CONFIG_PV build
with smt=0 will bring up CPU0, bring up CPU1, bring down CPU1, and free
the in-use stub page.  Subsequent CPU onlining can write to the re-used
page.

The new approach uses a global, CPU-indexed array of stub pages.
However, to handle NUMA aware allocations, we cannot allocate all the
pages in advance because the NUMA information is not available.  Keep
track of 1 current page for each NUMA node, allocated on demand, and
allocate the stub buffers out of those pages.

The current NUMA allocation approach is opportunistic sharing among the
groups of 32 processors.  The new approach will allocate buffers densely
in a NUMA node.

stub pages are no longer freed.  They remain referenced in the global
CPU-indexed array and are re-used if the CPU is re-onlined.

stubs and node_stubs don't have an explicit lock.  During boot they are
accessed single threaded.  During runtime, &cpu_add_remove_lock
serializes access.

Fixes: 7a66ac8d1633 ("x86: move syscall trampolines off the stack")
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
I'm not sure how to test the NUMA part - I don't have an NUMA system.
Also, if NUMA is active, is a cpu node of NUMA_NO_NODE still possible?
I used the MAX_NUMNODES + 1 array sizing to handle that, but it's not
obvious to me if that is necessary.

Roger mentioned removing the per-cpu stubs.mfn.  We'd need to replace
that with exposing the stubs array for traps and the emulator.  I have
no idea if that will be an improvement and am looking for agreement on
this patch before attempting.
---
 xen/arch/x86/include/asm/stubs.h |   2 +-
 xen/arch/x86/setup.c             |   3 +-
 xen/arch/x86/smpboot.c           | 110 +++++++++++++++++++++----------
 3 files changed, 77 insertions(+), 38 deletions(-)

diff --git a/xen/arch/x86/include/asm/stubs.h b/xen/arch/x86/include/asm/stubs.h
index a520928e9a..9d776f81dd 100644
--- a/xen/arch/x86/include/asm/stubs.h
+++ b/xen/arch/x86/include/asm/stubs.h
@@ -32,6 +32,6 @@ struct stubs {
 };
 
 DECLARE_PER_CPU(struct stubs, stubs);
-unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn);
+unsigned long assign_stub_page(unsigned int cpu);
 
 #endif /* X86_ASM_STUBS_H */
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 19ee857abf..0cac94cbdb 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -2089,8 +2089,7 @@ void asmlinkage __init noreturn __start_xen(void)
 
     init_idle_domain();
 
-    this_cpu(stubs.addr) = alloc_stub_page(smp_processor_id(),
-                                           &this_cpu(stubs).mfn);
+    this_cpu(stubs.addr) = assign_stub_page(0);
     BUG_ON(!this_cpu(stubs.addr));
 
     bsp_traps_reinit(); /* Needs stubs allocated, must be before presmp_initcalls. */
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index d7619f534b..d9cd90389d 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -641,41 +641,96 @@ static int do_boot_cpu(int apicid, int cpu)
     return rc;
 }
 
-#define STUB_BUF_CPU_OFFS(cpu) (((cpu) & (STUBS_PER_PAGE - 1)) * STUB_BUF_SIZE)
+/*
+ * Indexed by CPU.  `pg` may be shared by up to STUBS_PER_PAGE CPUs.  Offset
+ * is the byte offset into the stub page for the CPU's stub buffer.
+ */
+struct stub_info {
+    struct page_info *pg;
+    unsigned int offset;
+};
+struct stub_info __read_mostly stubs[NR_CPUS];
 
-unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn)
+/*
+ * Index by NUMA node.
+ *
+ * `pg` is the current stub page for the node.
+ * `next` is the next available stub index (STUBS_PER_PAGE available).
+ *
+ * if `pg` is NULL, allocate a new one.
+ * if `pg` is !NULL, use `pg` and stub `next`
+ * When STUBS_PER_PAGE are all assigned, clear `pg` and `next`.
+ */
+struct stub_node {
+    struct page_info *pg;
+    unsigned int next;
+};
+struct stub_node stub_nodes[MAX_NUMNODES + 1];
+
+nodeid_t cpu_to_stub_node(unsigned int cpu)
 {
-    unsigned long stub_va;
+    nodeid_t node = cpu_to_node(cpu);
+
+    return node == NUMA_NO_NODE ? MAX_NUMNODES : node;
+}
+
+static struct page_info *alloc_stub_page(unsigned int cpu)
+{
+    nodeid_t node = cpu_to_stub_node(cpu);
+    unsigned int stub_idx;
     struct page_info *pg;
 
     BUILD_BUG_ON(STUBS_PER_PAGE & (STUBS_PER_PAGE - 1));
 
-    if ( *mfn )
-        pg = mfn_to_page(_mfn(*mfn));
-    else
+    if ( !stub_nodes[node].pg )
     {
-        nodeid_t node = cpu_to_node(cpu);
         unsigned int memflags = node != NUMA_NO_NODE ? MEMF_node(node) : 0;
 
-        pg = alloc_domheap_page(NULL, memflags);
-        if ( !pg )
-            return 0;
+        stub_nodes[node].pg = alloc_domheap_page(NULL, memflags);
+        stub_nodes[node].next = 0;
+
+        if ( !stub_nodes[node].pg )
+            return NULL;
 
-        unmap_domain_page(memset(__map_domain_page(pg), 0xcc, PAGE_SIZE));
+        unmap_domain_page(memset(__map_domain_page(stub_nodes[node].pg),
+                                 0xcc, PAGE_SIZE));
     }
 
+    stub_idx = stub_nodes[node].next++;
+    pg = stub_nodes[node].pg;
+    stubs[cpu].pg = stub_nodes[node].pg;
+    stubs[cpu].offset = stub_idx * STUB_BUF_SIZE;
+    if ( stub_nodes[node].next == STUBS_PER_PAGE )
+    {
+        stub_nodes[node].pg = NULL;
+        stub_nodes[node].next = 0;
+    }
+
+    return pg;
+}
+
+unsigned long assign_stub_page(unsigned int cpu)
+{
+    unsigned long stub_va;
+    struct page_info *pg = stubs[cpu].pg;
+
+    if ( !pg )
+        pg = alloc_stub_page(cpu);
+
+    if ( !pg )
+        return 0;
+
     stub_va = XEN_VIRT_END - FIXADDR_X_SIZE - (cpu + 1) * PAGE_SIZE;
     if ( map_pages_to_xen(stub_va, page_to_mfn(pg), 1,
                           PAGE_HYPERVISOR_RX | MAP_SMALL_PAGES) )
-    {
-        if ( !*mfn )
-            free_domheap_page(pg);
         stub_va = 0;
+    else
+    {
+        per_cpu(stubs.mfn, cpu) = mfn_x(page_to_mfn(pg));
+        stub_va += stubs[cpu].offset;
     }
-    else if ( !*mfn )
-        *mfn = mfn_x(page_to_mfn(pg));
 
-    return stub_va ? stub_va + STUB_BUF_CPU_OFFS(cpu) : 0;
+    return stub_va;
 }
 
 void cpu_exit_clear(unsigned int cpu)
@@ -990,19 +1045,12 @@ static void cpu_smpboot_free(unsigned int cpu, bool remove)
     {
         mfn_t mfn = _mfn(per_cpu(stubs.mfn, cpu));
         unsigned char *stub_page = map_domain_page(mfn);
-        unsigned int i;
 
-        memset(stub_page + STUB_BUF_CPU_OFFS(cpu), 0xcc, STUB_BUF_SIZE);
-        for ( i = 0; i < STUBS_PER_PAGE; ++i )
-            if ( stub_page[i * STUB_BUF_SIZE] != 0xcc )
-                break;
+        memset(stub_page + stubs[cpu].offset, 0xcc, STUB_BUF_SIZE);
         unmap_domain_page(stub_page);
         destroy_xen_mappings(per_cpu(stubs.addr, cpu) & PAGE_MASK,
                              (per_cpu(stubs.addr, cpu) | ~PAGE_MASK) + 1);
         per_cpu(stubs.addr, cpu) = 0;
-        per_cpu(stubs.mfn, cpu) = 0;
-        if ( i == STUBS_PER_PAGE )
-            free_domheap_page(mfn_to_page(mfn));
     }
 
     if ( IS_ENABLED(CONFIG_PV32) )
@@ -1041,7 +1089,7 @@ void *cpu_alloc_stack(unsigned int cpu)
 static int cpu_smpboot_alloc(unsigned int cpu)
 {
     struct cpu_info *info;
-    unsigned int i, memflags = 0;
+    unsigned int memflags = 0;
     nodeid_t node = cpu_to_node(cpu);
     seg_desc_t *gdt;
     unsigned long stub_va;
@@ -1091,15 +1139,7 @@ static int cpu_smpboot_alloc(unsigned int 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 )
-        if ( cpu_online(i) && cpu_to_node(i) == node )
-        {
-            per_cpu(stubs.mfn, cpu) = per_cpu(stubs.mfn, i);
-            break;
-        }
-    BUG_ON(i == cpu);
-    stub_va = alloc_stub_page(cpu, &per_cpu(stubs.mfn, cpu));
+    stub_va = assign_stub_page(cpu);
     if ( !stub_va )
         goto out;
     per_cpu(stubs.addr, cpu) = stub_va;
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 00:09:27 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 00:09:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332154.1594797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWk1s-0003KW-C2; Tue, 09 Jun 2026 00:09:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332154.1594797; Tue, 09 Jun 2026 00: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 1wWk1s-0003KP-8N; Tue, 09 Jun 2026 00:09:16 +0000
Received: by outflank-mailman (input) for mailman id 1332154;
 Tue, 09 Jun 2026 00:09:14 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wWk1q-0003KJ-Fy
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 00:09:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWk1o-00A1LP-Ew
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 02:09:12 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a2759a5-2eae-0a2a0a5409dd-0a2a4501af50-4
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 02:09:11 +0200
Received: from [52.101.46.71]
 (helo=CO1PR03CU002.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a2759a5-c1f2-0a2a45010019-34652e471a38-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 02:09:11 +0200
Received: from MN2PR15CA0056.namprd15.prod.outlook.com (2603:10b6:208:237::25)
 by MN0PR12MB6272.namprd12.prod.outlook.com (2603:10b6:208:3c0::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Tue, 9 Jun 2026
 00:09:06 +0000
Received: from BL6PEPF00022575.namprd02.prod.outlook.com
 (2603:10b6:208:237:cafe::4a) by MN2PR15CA0056.outlook.office365.com
 (2603:10b6:208:237::25) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.14 via Frontend Transport; Tue, 9
 Jun 2026 00:09:06 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 BL6PEPF00022575.mail.protection.outlook.com (10.167.249.43) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.113.7 via Frontend Transport; Tue, 9 Jun 2026 00:09:06 +0000
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 8 Jun
 2026 19:09:05 -0500
Received: from fedora.mshome.net (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Mon, 8 Jun 2026 19:09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=OdPvtfzdZMaWLaUvGZNioSP1fvtCLy6Y5udXgU1nSVgsTet4sHaz5+NkrXR5H4XjT30xE641KsqE02KerHKCJAU8BkN3Y7QT9CWKTFVm3p336IvCyGhCk6fBM2q0PT1dGfQEt3ncAP1NIKKXTPuUvG2QmEr6BweiHZ5IO1Vxh4dkMIg0+9rYTjP6wPXX33t1AqYcrrhGtJtBQCRb+rD6+S0Rc6sINYhvzVkjVVUR128BF99cpHflANk/nTuvdyCbMrGDJdXCFAN4bbcF7HBVtyHx4CDhPSlT8t9AEbmqZh6wfy6LubWR2udJV0xvxZNne8b2uZj2Zin1gp8uqPucoA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iPbgNWRKj+FQsWIjXJBl1E6b6LJ3lrfQK5YEhG6LK0Y=;
 b=KWq68tIIV4Zcq/URTR42mMy96q7XZj8bpP72e8UUed9Y/KyZr+yUBWa7Qv4W6inb8zzgyaMIsMKzuElKfY0DmZy6NTl4cbIrwKIg/PmeO89YMRChNqg3v/2s9rCkkBM8PZEWc8dCQ/7cm3pQD9tlF3TCvX93rwTGGVKjKrbKfn+V9uz7a+iU7vdBqxxaSWoiff9tRrK2WRxmXfv/4UUnzoC5gVONQipnEZgtBFCsmODmWVhnDzqP0HiOjYhWdbZZ07Na5XdjUp8lUdnvV8mOumgNIX0l1nc0WdWFCt8MEaaXPLxwTNH9/hBEo4hL39+zwBTjSxqtLTBMCWja6zMA5A==
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=iPbgNWRKj+FQsWIjXJBl1E6b6LJ3lrfQK5YEhG6LK0Y=;
 b=bq7qLDPGMuW0puLAAbdDs6zZzkKAN0aRCGPxHnS121z/OysVy+3GKyXnOlgsGwY1hYkB+FXPTis3OBef0FW7itkpmdTI2avDrKkLJe3A9Phbx6l7OqLkaaOtKM4RlyG3xRfYVfFEiZxa4K5PGe6I644NJYFQcIjd7erF2rgKr5Y=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Teddy Astie
	<teddy.astie@vates.tech>
Subject: [PATCH v3 0/2] xen/x86: Change stub page freeing to fix smt=0
Date: Mon, 8 Jun 2026 20:06:36 -0400
Message-ID: <20260609000638.121027-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.54.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF00022575:EE_|MN0PR12MB6272:EE_
X-MS-Office365-Filtering-Correlation-Id: 8a7dd4da-2388-49af-7af0-08dec5bb5233
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700016|82310400026|1800799024|11063799006|56012099006|18002099003;
X-Microsoft-Antispam-Message-Info:
	7HwP+Fo5jUhWZyP6W4oNGsNhuVSQ2/1lNZs5hQ6yLYLcKunGtfyIrmRhq6vxcAtZ3pjuH/1VnM3GkVxn1z82z1vDgxRfysQElIXOdZ718foOG8vrW1AUdOvJLXcOOwXz50J68eIbF7xoZKLkaxJkePuq4HPQdj6RXkhoredzicw9KfCZuyXtAk1H2CPseHh96t09Jnuc78nCuRaFPUGqhb01KBCQixZKfHDEDfy1eBCnMDIqkwkaVm2yIDJt3/9F93DrxXxHlmOzP5KUyWQemGykTYvIgfW8XcObZvSVI6oN84KxSq3IcKYCzxt4988Yg4mIf4Cr5jMSYekK58ZYo2XWNmS2iTeEWXqU2ODbaSHAnimIpUUR0BEBfQcj7aRZmao31rcjFynXHngJSjmg0CSFQdn2YcTbvzCAgSqVQLB60Wmuz+fH3obQb7B5QNB2R3A4HOrmwRfSz6slpokKn+37l6iUVzG/cs986Wt9PTz2ZmxXgiPPvfrNW9v9Dl1cFEsr3QFdJhbPRLMbS3qKY7CXxDrmCC60WlEq07s2uyOvxohV4GwhyARE2Yw07afxDAFSya0O9m60COJ6OSt+HkEFqIrr22liUVtxxbzSA6Zz2enL8DHgS9Ffm1n8qYX72kYQdMv7YhYh1z2mgMQZHz9mfYGZIhoaM/usMITFQswzHQov9iR/0uSD53onB8fW+DcS53N1rtFw1cBmJ48zZg8HGig9XYMqe1z7QG0K0yQ=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700016)(82310400026)(1800799024)(11063799006)(56012099006)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	qWIgOLEySgj2VrSlI1rgKiLSyo8HBprrnuvaC0QRyxr84UpxznmyWkzPbDWQnrp5x0TcKSnHD4Q9cdKuHKbjOQJF0mp3n8bvdrA2jM9nDu3oTAq7+B8lJCEFXpAVpJ2B9HSNeeAt33Wf7ISEIL01ojDymHg0FZclpg3W6CYCUPvOqqZJsEvr6Wtax3lqhFAVo9myIOAqpn2V0eE3ELLwKjVIDNEDp/H36+ReVuCuqMZPmdqn6aRNCRGylP1Ns+I/6cRp295AqktwLRzxIrajEwUVaisESc6LD8MMivrlTex2pbfr+pOuH4/OLmy89ntkGp4xEbsa6ZswGJCd/NWwFH78hjTqoEVn9wg8waVBxS2HyGj03zuD37Y1Hb7IigW2zc8lmYCq0lht3l8QZ7p16tHmcZNv/qgQXgiN0idWoZVDJEOO8KbX+ODM/FkA53Ta
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 00:09:06.1490
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8a7dd4da-2388-49af-7af0-08dec5bb5233
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF00022575.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6272
X-purgate-ID: tlsNG-d62444/1780963751-AF35AFF4-F6D96279/0/0
X-purgate-type: clean
X-purgate-size: 692

This is a third approach to fixing the stub page handling that is
broken with !CONFIG_PV and smt=0.

There is a CPU-indexed stubs array and a NUMA node-indexed node_stubs
for allocating the stub buffers.

>From v2, this patch
  xen/x86: Remove unneeded stub_page setting
is dropped as stub_page is removed as part of patch 2.

Jason Andryuk (2):
  xen/x86: Return virtual address from alloc_stub_page()
  xen/x86: Change stub page allocation/free

 xen/arch/x86/include/asm/stubs.h |   2 +-
 xen/arch/x86/setup.c             |   3 +-
 xen/arch/x86/smpboot.c           | 114 +++++++++++++++++++++----------
 3 files changed, 79 insertions(+), 40 deletions(-)

-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 01:06:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 01:06:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332174.1594823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWkul-0004uB-SN; Tue, 09 Jun 2026 01:05:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332174.1594823; Tue, 09 Jun 2026 01: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 1wWkul-0004u4-PD; Tue, 09 Jun 2026 01:05:59 +0000
Received: by outflank-mailman (input) for mailman id 1332174;
 Tue, 09 Jun 2026 01:05:58 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wWkuj-0004ty-NK
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 01:05:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWkui-00ENyv-IA
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 03:05:56 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a2766ba-2eae-0a2a0a5409dd-0a2a450cdc14-28
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 03:05:56 +0200
Received: from [148.163.146.23] (helo=mx0a-00498f03.pphosted.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a2766f1-62f1-0a2a450c0019-94a392171588-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 03:05:54 +0200
Received: from pps.filterd (m0367124.ppops.net [127.0.0.1])
 by mx0a-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 658MeBW42080813
 for <xen-devel@lists.xenproject.org>; Tue, 9 Jun 2026 01:05:53 GMT
Received: from ph8pr06cu001.outbound.protection.outlook.com
 (mail-westus3azon11012036.outbound.protection.outlook.com [40.107.209.36])
 by mx0a-00498f03.pphosted.com (PPS) with ESMTPS id 4ep6qnrnsv-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 01:05:52 +0000 (GMT)
Received: from CH2PR15CA0028.namprd15.prod.outlook.com (2603:10b6:610:51::38)
 by MW3PR16MB3658.namprd16.prod.outlook.com (2603:10b6:303:4d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.25.17; Tue, 9 Jun 2026
 01:05:49 +0000
Received: from CH3PEPF00000018.namprd21.prod.outlook.com
 (2603:10b6:610:51:cafe::57) by CH2PR15CA0028.outlook.office365.com
 (2603:10b6:610:51::38) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.13 via Frontend Transport; Tue, 9
 Jun 2026 01:05:49 +0000
Received: from mx0b-00498f04.pphosted.com (148.163.138.245) by
 CH3PEPF00000018.mail.protection.outlook.com (10.167.244.123) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.1
 via Frontend Transport; Tue, 9 Jun 2026 01:05:49 +0000
Received: from pps.filterd (m0373461.ppops.net [127.0.0.1])
 by mx0b-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 6590sZjr234057
 for <xen-devel@lists.xenproject.org>; Mon, 8 Jun 2026 21:05:48 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-use.ser.proofpoint.com
 [3.215.31.156])
 by mx0b-00498f04.pphosted.com (PPS) with ESMTPS id 4en267t7xc-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 21:05:48 -0400 (EDT)
Received: from localhost ([19.12.92.222]) by cmsmtp with ESMTPSA
 id WkuYw5cUkfWWnWkuZwXxDs; Tue, 09 Jun 2026 01:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppford; bh=kUs4fdNNIJG4R2XY9tCpvSCNBlJ
	MPMQTQ3sA7P5UEII=; b=mq75HtfOs3kxqPRExxv5I3mzK1NAeQRZ2m3igt8/vd/
	zZkIz8LOTH1AIe5m/0PXKRlfAWvfAwk18nKhooSTth6mCAtuYrVigJUhHEJhLkGP
	Am6/rgGycYHNqezPMp9PY5hdCahL83bQ2IMfF1zc/ahcE0b+FzywQRrQQqDKuAb8
	IVJ7GFpUtQzvChQB7nb4qbpI0N7vUNnFtBm2y5OD50++Iz6EXnKmCzF1cD/GZVqf
	LD8ZOsyUP6xS0CvmDsEfRKOoFxY83eBleFBfKgLcXWWhSxigT+v13Fvc+dga/kjt
	3iV78mYSygTZapgg0w2ti3sTLscraApeZWDMPIB/m0g==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=S6CSEiEXzlYO48yp9BKXdhQ18DR/3KzUzJkfHVGnvKOhyJIr6thmokICpbkoXugH4Xl2p+J55k1M/+956YHNUcdEX+nJu3Bs1qiVnVTqOWPL7t4LW6Ubw9bvSX6CXnFQ8H7iuaWpi/MhAkbOBEJ035FaoO6DsTZEBuBoSR7/lOXdFSnXVuF3M2/+ekzpoyYxfvDzk9iwsoVCIYBmUIPuzpf2RpLwJutN5jDzba1m++TRSmi4+iqRzePlX+2hnsGrTo9WgrFH9uteYePjGbyzdxqEsbX7boi+jyX7RE5K1P/zPOnly2fAVc79kXzZj2XxpCATqderydmahnuqW2QVNA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kUs4fdNNIJG4R2XY9tCpvSCNBlJMPMQTQ3sA7P5UEII=;
 b=IsWlCV0FsoISth9aGH5FZs9l4B7spTGWrP/o/vmAKps4ltLqj+w1fDuf4eBYDB3zql0Di51nfQhxelt5Txb8HI9fkeRiicz3xDmJUkUOtYloAFPbPYHBxdDs2pHnBLd4lQo2qIi179qSuF+uiCjXeWb+zK/bd8QNcbyKCyERrE2MqA24/aB2y4xJjeVSUQmY+cgbm1FR7hD21xpEESdN6Rqbp8usk3pNE+ybEg3IQyaoB6bcurJSfl4/EDJv9M9NPh8PDGuXw9Gb9Ztuoy9gBBCcjDiGqrCWrzmYWjmPDAL9i91lC1L9yW8IdEUrxK3kO9myjaDt5FSyOMAS/BvT5Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 148.163.138.245) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kUs4fdNNIJG4R2XY9tCpvSCNBlJMPMQTQ3sA7P5UEII=;
 b=gYhYOrON6KY6H0jzSaO3PrnuIs155itUcvLO9DGln4Ifx2qvv/yVrnsEfnAcN9fcgLF9vZEbvFI8/XrWpZ7gOGlQk5f3e/uH/FTCuU9Ndvo/r1D6IK/KFraykE11UrqGvMXGfbui6uzdu9j2uMloAunJOm221SD3eBVgwC6xaME=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 148.163.138.245)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 148.163.138.245 as permitted sender) receiver=protection.outlook.com;
 client-ip=148.163.138.245; helo=mx0b-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppserprodsaar;
	 bh=kUs4fdNNIJG4R2XY9tCpvSCNBlJMPMQTQ3sA7P5UEII=; b=SPYJ/UWHwAqF
	JjfWV3zOooL1ZNeypuGWLQSZNDq2QP3pprPMastvJ5ykM4TWM21hmF6SIDAZ+erY
	pdXvj3bfgX6VHWvbiMk5qVkkFChXJmJenAfKqpm5iPiJhV/legXLby7DYLmLiyAA
	ni+qDb+UueKhrN8pFP1HEMfvNXDs3TSUgO8RJQaqbVRJdWx41mW9x6nPtnqwNOnU
	FO1ILEBVLRglc1LqS7AvVgnPSpd8Bt5ZDzTbP7wREyhVpfAO+fRLHOyCnSqi8d8V
	yQu1rgh4JB1IrttQuH1tvJS9RYGAcIjjL0pS/+TL1r2GYmqg1dxt7rWExioTXMyZ
	93V6FbumwQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppfserpocford; bh=kUs4fdNNIJG4R2XY9tCp
	vSCNBlJMPMQTQ3sA7P5UEII=; b=KrHanj8+ymLQVe5hRGQFWfaohoeVUWv1+kpY
	eMokRhj9JowMpX+s7yOB8FbqnGecoutDR09QmdBqIOY8Yr6NJoNWG1A953HXnPqq
	zVczeV/bdHEpN5oqoQjuI6FGFhqYiXMw9AeX8SWz2bqqrwepKtNC/LC/SB9vFN21
	38OIgyxmaxAaipRpiSvC5zqg3cOUm+3aBnLJ8XbZVtQ/G3J6YCYa07Zae4AqTMKA
	dbwAEXxW5jn2TEWq+JEGUJ283wNHfES1pByY6k3n+fNv1Zvmx/JNtO3plCT/sSmC
	5zk9EjazhfGs0QuZLDZaaeioYxdF6HT4G1U6nCj5Ys89x+ddwg==
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: WkuYw5cUkfWWnWkuZwXxDs
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
Date: Mon, 8 Jun 2026 18:05:45 -0700
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: dmukhin@ford.com, 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,
        christopher.w.clark@gmail.com, Mykola Kvach <mykola_kvach@epam.com>
Subject: Re: [PATCH v3 1/6] argo: lower level of noisy connection-refused log
Message-ID: <aidm6a7lYS/JbCK9@kraken>
References: <20260526215823.1452619-1-dmukhin@ford.com>
 <20260526215823.1452619-2-dmukhin@ford.com>
 <ae19de19-aef5-47af-833d-87a46efb9afc@apertussolutions.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <ae19de19-aef5-47af-833d-87a46efb9afc@apertussolutions.com>
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-08_06,2026-06-09_01,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0
 lowpriorityscore=0 spamscore=0 bulkscore=0 suspectscore=0 malwarescore=0
 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc=
 route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606090007
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH3PEPF00000018:EE_|MW3PR16MB3658:EE_
X-MS-Office365-Filtering-Correlation-Id: 2c1dad2f-0aee-4946-cdd7-08dec5c33ea2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|1800799024|36860700016|18002099003|56012099006|22082099003|4143699003|11063799006;
X-Microsoft-Antispam-Message-Info:
	OUCynO1Q5XmGh7Jfv6umtdML9rrmm4ciDkGBZhnWi4yhLX3OmIbNxWzCIpMZ99zREdHt9HbY3Zq4vokzqFEjhcuQAk3+OZAoky+L0eiQmWyCdMx/GKwhC61fJEJgzzWCQsPTU9ng1tYjNKIUF6YIEg3irTjItdFcvuhcTlpzunJhKVlEnvvqvGdmMXkgkZwWNQ423nDI9Z13MhTPUeDbRuVFiv9GlBETps/IKBQEu4+rPvxQ2i6/JQXcjAkwssf4n4VpIuIsmEQB+gx1uPA6O7Yr4WTYt/GeHKHXxP/h+RrRUj6IhbGKqbUPpGBzmzrQIFaUSQ9Susav2X+SbZkfgo5ivo+OFp1sY3GJ2WX0nhQZJer0VpEoDBjbFNB+3Km69E7GHy9UuadEodti6YzZ4N0aOTGaoZJkQmnKY83SUy37h+HIlfF2W5Lmyz5f8HQa4rANi3pws7eeDvaeA52wGXfv/glZp+UM91U9sSLZbEVZdX7cIOlZ1eD39n4ISBfHg3RZtPnNYKuZPXHBYcMw/NNyEmgwGgSkNRbFOv9vzVgarBBVWtz5hslkg9Tz0JmUQL/3aJ8auT82+rYSFD2r94eMqBqbzJAE8vQoSOZScraVIsbDVoX6ePlbR4FXMFBCGziHZWAVgDsvU3KGr0aJRvnu2jSQsCS3jHtIqF3rUO86gzu6DakI55TDAt6OJPmZ1EbvJAaEFJxyQjsRgmvRmx1TPG/nZffVmJj6X+INfh4=
X-Forefront-Antispam-Report:
	CIP:148.163.138.245;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0b-00498f04.pphosted.com;PTR:mx0b-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(82310400026)(376014)(1800799024)(36860700016)(18002099003)(56012099006)(22082099003)(4143699003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	j7+j604GK6C9ku4K9vfsLzUodY2qsBAdKQKunseUb6vivC5Ef3zOypi6Dki4wIBnfnMOImE0aNjFs6LT+SLaXBdx+3MfGlJcdlC9T+W+IT3kCo3HndpNV6SfSLpxzUtpGxadknWx7yOyTC/5PizxvNejTyaY7/d5IeSa2NVdkLh2T+5oXDHGslnRm8h2kos7ufQWOLG6AvfLIC00uKwSo7+gHThUw8JfmxAqXCLhB940ORw9F4hDwj76fkkyOkGtGYHZ5Ct6nkWDSOUjl7tYDO+1W20+GBgGVpjtjDIPVLqtnHNSw8DHK2HUaw2ve5O5eKRRJrcOjk4m4gy2nTsrgBVGlKU9x6/MgE+r6z9VMBVJNC+A+gsfa5FfWHAF46MRLxRNNUIuQRcQiVlMsaghfWG+QbWs2uLwmGbmityiegxEEtWfjKNXCyYuKqGPoEa3
X-Exchange-RoutingPolicyChecked:
	hFb99PmXPORF1ep2gP87rxcPMCFXfedT9DAzGlL653u3mkNyBYMyzqyb3zZxxZTeJWlEnCB0tj0paAfetFrKbPUOrW7QOlmUiYaEr4oS1lETBk2I+BW+KGlU1+QuaAl/rSMuHcupurJL7cv32Yh15NV0EO/0znE3NbtGDbF2Idsr5KLmYIqByZFONg4+8uXhX1reiATmbNHKcIhgAJJzzhqYa/cbRQ+2fLs1i+M/DST3YC8zYmvwULVE5hFt3eNyW5DP5Tr8C4HHYMZ7VyJGiGhwdVMZoaMTdQvnDeqV4bRE+4M0XOvXzyvxcVWesxGXNzHzCRZr/br35x6gf8J0bA==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	ll1qUc46k9P0mgi+TI0IyzX9e06nbcKZvZMbE65o9TluREkp4/jcFcB56KIBLRIjOTgVMRmK2EaRce05latHBmg+4XYgFbRqUEsWfkxzreo6s8PsalIH5RxD0pVNK1/AhqZVWsX8bJ3h8FZZWQbxVhyZi49XZDN7thV847iLWVHaLxVdhSPZgmq+jaAJlfURn9PeeDpRYr2EO2cxS5ggGPb56TRVCOs48b87a1gj41jX0+tcK5As+/wvy5FqKixrilwV98XjYb5KObInzfNA978OOmSj/vnUF7660aPSJyyJHPbl4RTTrmJbod3TikavXIDuEnirwuRWTStZhL2h9ZN6QlfwG9Oz5sjK2tWyN4gCi/KS7fu2JAiIW07l30kECjgZC0P+7IcFT3EuIZUNL54hDG0dDjDVrjNdMOormhi8+e4HEh0cieeVLi47Lm0c9zX3ZqeSo4VzzmKcX7P5Trg/5Zb7SiX07hfFpbrWwjPUi5UjPu1+xWyr1J91J2rkzzC7BXnqJ6ziEVXgmIR300m9iu19e35/a8wbM6i8vdWH7vyC6DTWkG3jenRniSf7SquzrQCbJfMvq8mS0hKvWuujTRwurpf+Wschzvr3STAovkDX0Q/NZy0eKGN5+iiN
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 01:05:49.1928
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2c1dad2f-0aee-4946-cdd7-08dec5c33ea2
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[148.163.138.245];Helo=[mx0b-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH3PEPF00000018.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR16MB3658
X-Authority-Analysis: v=2.4 cv=eZINubEH c=1 sm=1 tr=0 ts=6a2766f0 cx=c_pps
 a=1PQ19NIIScYLh/jfzFkFww==:117 a=b7IhknPlfT0FN1EembXvig==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=kj9zAlcOel0A:10 a=FelO9ux0wxsA:10
 a=3PXLN80vpJUA:10 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=P_n1zlmtWsCQbjROFjcg:22 a=YJXg7OVxOWrJwj3yZo-i:22
 a=cbNQJ9GKAAAA:8 a=DBfv99YmAAAA:8 a=6U8o1_yNbxzEspG5Fc8A:9 a=CjuIK1q_8ugA:10
 a=G69WFyCBNqGPyalROSdv:22
X-Proofpoint-GUID: AxAunq6eWmQ_nGFTMeRQ5lsoI-3dVtV5
X-Proofpoint-ORIG-GUID: AxAunq6eWmQ_nGFTMeRQ5lsoI-3dVtV5
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA5MDAwNyBTYWx0ZWRfXxYG32rEG15ye
 54W6j4hroA4ZoX+u0Bby51CsOsdAzxCDlY781LMT+EfAfeJJgfFSWfVDxnkMZG4fEvmvijg0ZHo
 jGLcbz94S0M7ffdlnUGYd93hCmgzCnOobH7Ts+srYVF7TPo0p+ofrCjHIcTUklpJHHaiJp8UeId
 Oc/4yPQmiWU7TG0PbSvPqymY9pbAStj6oDqqbfvbU7bD17lW9f3q+fXLePpbgn0sS2BePBtv6/R
 vR07Pi4pRe8Ad3JyN0rt3jov8abT/L2WS7eDTeiaTvTNoV/mKxfU2JC7oczDtaEhKj+CA7E1FIE
 +LAd+aHqL0mZxxrPTaG9Pf7lX5kJR2za67BKC8wOqDqmWinUFSIqbZq8GOB1phnGmkhLIBvdEP8
 Cu31Lsn/eXG038wzv7a0YympuamU0r3HB1Nwala67qBPpmiPYVeho2eFmRJMkiMoIOHTqSXTiQ1
 oohFBxwYzLdAwoey6vg==
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-08_06,2026-06-09_01,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0
 lowpriorityscore=0 suspectscore=0 spamscore=0 adultscore=0 clxscore=1015
 impostorscore=0 bulkscore=0 phishscore=0 malwarescore=0 priorityscore=1501
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606090007
X-purgate-ID: tlsNG-d25034/1780967156-F5386CF5-6630EF98/0/0
X-purgate-type: clean
X-purgate-size: 2897

On Mon, Jun 08, 2026 at 03:54:51PM -0400, Daniel P. Smith wrote:
> 
> 
> On 5/26/26 5:58 PM, dmukhin@ford.com wrote:
> > From: Denis Mukhin <dmukhin@ford.com>
> > 
> > Switch the log line to argo_dprintk() so it is enabled only in debug
> > environments, as it can spam the logs when a dom0 service using the Argo
> > hypercall tries to communicate with a domain that is still starting up.
> > 
> > Note that this also lowers the log level to debug when the argo_dprintk()
> > facility is enabled.
> > 
> > Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> > Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>
> > ---
> > Changes since v2:
> > - updated commit message
> > ---
> >   xen/common/argo.c | 7 +++----
> >   1 file changed, 3 insertions(+), 4 deletions(-)
> > 
> > diff --git a/xen/common/argo.c b/xen/common/argo.c
> > index 28626e00a8cb..98a3db7fd070 100644
> > --- a/xen/common/argo.c
> > +++ b/xen/common/argo.c
> > @@ -2034,10 +2034,9 @@ sendv(struct domain *src_d, xen_argo_addr_t *src_addr,
> >                                           src_id.domain_id);
> >       if ( !ring_info )
> >       {
> > -        gprintk(XENLOG_ERR,
> > -                "argo: vm%u connection refused, src (vm%u:%x) dst (vm%u:%x)\n",
> > -                current->domain->domain_id, src_id.domain_id, src_id.aport,
> > -                dst_addr->domain_id, dst_addr->aport);
> > +        argo_dprintk("vm%u connection refused, src (vm%u:%x) dst (vm%u:%x)\n",
> > +                     current->domain->domain_id, src_id.domain_id, src_id.aport,
> > +                     dst_addr->domain_id, dst_addr->aport);
> >           ret = -ECONNREFUSED;
> >       }
> 
> My apologies but this is not the wisest approach, hitting this is a real
> error and shouldn't be getting silenced. If you are seeing a lot of these
> messages, I would suggest asking yourself why. Without further context on
> how you are using it, one suggesting is perhaps your connection model might
> need to be revisited.

Thanks for the feedback!

The reason I wrote this patch is because there can be a lot of those messages
from a real domU which is in a boot loop and/or boots for a significant amount
of time.

With -ECONNREFUSED propagated back to the caller having Xen logging the state
of each sendv() with XENLOG_ERR on the shared (dom0) diag console can be a bit
problematic.

Yes, I understand that programs issuing the Argo hypercall could be rewritten
in a particular way so that the Argo hypercall is issued only if the domain is
up and Argo on the other side is initialized and, ideally, domain should not
be boot-looping...

However, I think, that hypervisor should not depend on assumptions made in the
userspace (e.g. retry/logging policy).

De-prioritizing the logline from XENLOG_ERR to XENLOG_DEBUG can be another
potential solution.

--
Denis


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 01:14:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 01:14:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332182.1594833 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWl2X-00072W-O9; Tue, 09 Jun 2026 01:14:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332182.1594833; Tue, 09 Jun 2026 01: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 1wWl2X-00072P-LP; Tue, 09 Jun 2026 01:14:01 +0000
Received: by outflank-mailman (input) for mailman id 1332182;
 Tue, 09 Jun 2026 01:13:59 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wWl2V-00072G-DU
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 01:13:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWl2Q-00Fb5Z-Qq
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 03:13:54 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a2768ba-5cb7-0a2a0a5109dd-0a2a4506e6ce-16
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 03:13:54 +0200
Received: from [148.163.143.241] (helo=mx0b-00498f03.pphosted.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a2768d1-7371-0a2a45060019-94a38ff1aa3c-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 03:13:54 +0200
Received: from pps.filterd (m0367127.ppops.net [127.0.0.1])
 by mx0b-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 65911G1b935464
 for <xen-devel@lists.xenproject.org>; Tue, 9 Jun 2026 01:13:53 GMT
Received: from co1pr03cu002.outbound.protection.outlook.com
 (mail-westus2azon11010050.outbound.protection.outlook.com [52.101.46.50])
 by mx0b-00498f03.pphosted.com (PPS) with ESMTPS id 4ep8t3g25a-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 01:13:52 +0000 (GMT)
Received: from MW4PR03CA0293.namprd03.prod.outlook.com (2603:10b6:303:b5::28)
 by LV3PR16MB6286.namprd16.prod.outlook.com (2603:10b6:408:1e0::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.11; Tue, 9 Jun 2026
 01:13:49 +0000
Received: from CO1PEPF00012E64.namprd05.prod.outlook.com
 (2603:10b6:303:b5:cafe::a0) by MW4PR03CA0293.outlook.office365.com
 (2603:10b6:303:b5::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.11 via Frontend Transport; Tue, 9
 Jun 2026 01:13:49 +0000
Received: from mx0a-00498f04.pphosted.com (205.220.161.53) by
 CO1PEPF00012E64.mail.protection.outlook.com (10.167.249.73) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.113.7
 via Frontend Transport; Tue, 9 Jun 2026 01:13:48 +0000
Received: from pps.filterd (m0426317.ppops.net [127.0.0.1])
 by mx0a-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 6590uct63787294
 for <xen-devel@lists.xenproject.org>; Mon, 8 Jun 2026 21:13:48 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-use.ser.proofpoint.com
 [3.215.31.156])
 by mx0a-00498f04.pphosted.com (PPS) with ESMTPS id 4en2mqa8k3-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 21:13:47 -0400 (EDT)
Received: from localhost ([19.12.92.222]) by cmsmtp with ESMTPSA
 id Wl2HwMJGc5kHRWl2HwdOza; Tue, 09 Jun 2026 01:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppford; bh=MRrojxxGYYEa+N5sbJ4O9mWQE+i
	4Rk/E94bUMf2ErLQ=; b=h92jbGwWo8QZNNn89Kds9Po8kxwkEfUi+byPRUEP883
	nsx1x1j9X3Z5pBo8iaeAryHA/x+RrNyyDPmSOQJgssbQ2UiN9aXcfmM+s0LgGnEb
	JI6Ob+EF5W/b7n8qxHT0775pWSTRvZlmiK4G6CzjGY0RvTIT8omDYlBAFIUCtDEH
	rU4ZoWAAcuui2gxHCO2D23MwAYQqSnRlSTDM+tSHVZw8T4TkFWQ48Lr/wXfqRz9c
	yeoaYsBnLPWQyU3ygDWKr/HuYj4sNsxRIzXu8r7Vc2rLF4mReQ4NHUf4rV9Pto67
	BobGfUEAcw/7wBOQpsmU6Jq5BmJjEYKI+OcXMBG0WIg==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=XqNiOUu1ChWjm+kzn5laY7Ehe0Jelgp7mo/t7GwsMT5Xlx8IyUShiNZcKdBfZGoV9E3Oa/KrhInI6tTYjr2NsVq8u8InhPpRn7Shb6sqvEfyLVUvRYzNniHuLPRW70MCBCZV7T0Y7FTeH0Ih3Z5KDrbBIx1U/PTdearR5FEw6NvExTSJatgen5lvcW4+yEuiF8g7epA1rokXn7XrChhGrvvauY+1xWH9vfUvs/RzBhTNpMe6rA0+aYLmSqVmH59cr9VMawTbLWcifPIUkH6cnmT2K1elgDaHM4SgHqNIXNfz/O3QDJifGvG5mqcHwigtRUg0NSVxMVkWyNclwE/9qA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MRrojxxGYYEa+N5sbJ4O9mWQE+i4Rk/E94bUMf2ErLQ=;
 b=RvyLYbvvyMsH/UOHmy5Ucd1gUL808Ilh7S5yYacnWu7E5GXigAdKdrVRVoqZqaVvnyTIH3pAxQdEjIGAX8vu8owAiGqoSVy0wQ2lArfqL/SigNziJqfHJZAWa/jJ9vEnmNJONI9UN58iAWGhzMfPUdNlj+oHoEYi7kVshzGwXT6fC9gWBkWKHh45HFhiZqrk+uG9gqM/Iv0WaR+fD03z68k/Tv+FPJoUKT9eBmKHv4zbKDGehh4hAdafaNs/QhNEeBuCGsEAF4uTSyRjoV9GYBwqriWnKxdPo9Cdz8TyTy91QHEGsswPXDDlA45PB0fFDdOYR48k9wlrIqW+8RtFIQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 205.220.161.53) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MRrojxxGYYEa+N5sbJ4O9mWQE+i4Rk/E94bUMf2ErLQ=;
 b=fVUoOQ5zmoi1WKlyzkiXdjsU4lxpu46c77jXUxvnDhsVjYdbp2bio6xyB2tg6fqqAK5/TwRZVV3Dg+IZdpM6+NNQlUmB6uIVtBC+vhl0Dg0WzD6/DX5fplduqhdb4UVZPst1/4+3ivO8XjmkTFnuya9m1dRigORwk/gImgl0SAU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 205.220.161.53)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 205.220.161.53 as permitted sender) receiver=protection.outlook.com;
 client-ip=205.220.161.53; helo=mx0a-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppserprodsaar;
	 bh=MRrojxxGYYEa+N5sbJ4O9mWQE+i4Rk/E94bUMf2ErLQ=; b=Q10RcdCeOOFK
	0h0P/hM1/RCXfDrfrEjCZCttjbQy5lR+hJ6SLFK9UgcdEinuSk9mk3HhirgxsVv0
	OmXRa9oOgcSSCue8jl/ushAl8TsSTHpJBwg3JQOthBJ8isI6+wW5+DNBR+0hEm67
	CTl0zT8kPsWcF+LuuCqGbMLTRHreXNNw9HN1jf28KSOlH0zxfGhP8DhY+utdmbVF
	eIHQovlWnEyJN+otydeV6UzVCyxiAwzWTY37COcpp7ODBgwHHBEJz/a0Vs+wuc2y
	gL0Lltz7cwZIqk9f6O3Jp3SvYCpmedTZ96E/fZ2JqjFv0YI0LOyaU5PKs01G1EQ6
	o52uHBtgfw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppfserpocford; bh=MRrojxxGYYEa+N5sbJ4O
	9mWQE+i4Rk/E94bUMf2ErLQ=; b=ouGZCVpcmyyzt3HtaGZ8DOZgHz5sj2IPZnn8
	MuXbbUtYiYtYZkhFAXpa1+/BgxAEvWb/abv4H8BLAAXvqrhYwHy0NVVbwKrSrKUL
	4isKMJa7TflrzI2WCdDbmbd6Y6VkF7h4aTgA0s78nhMX5MgV3Cs/k+V3kxR2H1ZN
	uYxE/hszrSnUqT/W0ynwgqhs5G4XRfcycHgO3f0o6EdlzLg+s9ZQ21tf7bCAJzbO
	DKSf5rmMV9qsfqaS/eFQU6IhsxHpx1SN7VTpJ2TnkNuN1yvnxf4eaR4/i2381jmm
	sShrnoY3pepR7Joeceb/2eOFTMgChg7ODZEoI9+4PnYEgXKzwg==
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: Wl2HwMJGc5kHRWl2HwdOza
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
Date: Mon, 8 Jun 2026 18:13:45 -0700
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: dmukhin@ford.com, 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,
        christopher.w.clark@gmail.com
Subject: Re: [PATCH v3 5/6] argo: introduce CONFIG_ARGO_DEBUG
Message-ID: <aidoyc/nME1n7ARa@kraken>
References: <20260526215823.1452619-1-dmukhin@ford.com>
 <20260526215823.1452619-6-dmukhin@ford.com>
 <c067e641-ab05-4dd9-b7e1-b7ea952de809@apertussolutions.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <c067e641-ab05-4dd9-b7e1-b7ea952de809@apertussolutions.com>
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-08_06,2026-06-09_01,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0
 lowpriorityscore=0 bulkscore=0 suspectscore=0 malwarescore=0 adultscore=0
 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606090008
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF00012E64:EE_|LV3PR16MB6286:EE_
X-MS-Office365-Filtering-Correlation-Id: 029ff409-6ef6-4ae4-85bf-08dec5c45c65
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700016|376014|82310400026|18002099003|22082099003|4143699003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	F0vlA5D7O/f2Yfhyoy+fiEkCifu59rc99x2lqgAfrengv7GhsFkxANlhRQWMxnonRmXEsGH1+PnFGGx3zGXht/sFQpcTVPD0oMETEcdRe10uTiuz5lMAO7nKUJN3UM97LsV4aq9N1/SpZrhepNgzdLmRZER4zi2J7Pl/YECW7a4zjttT31RMCZJ1klf6YbzGR9UAZ/VAZPGboPU9PJ+aa13QYzeKISkyMZqW+GY5rmSPKviMhabK+BNeYcrwAZPbZhEYFNCa99opWpUuM4Ji6xZaW7M5iUNw2wcU4Gv5AJ/1WkffxCszMm3gI1VH6FjEBm8mXQeoEUxUG1Kuh1zKlBBumsWSo0iyIzS5pI8Ty5Bhc1cGgyMSBCBo5npdtlSUJ22z/hJTXfyPy76EDxOGJjd6vfqbW3kpEqoozzFSfuS62ekndb8AsZtvktcVHCBhVp3dqY0EosHQTUCoqLmMG1ZGnTWm17+52cnT74xpsX+QYXkUXmv/ikq3UzyjKxljB2yjl+U2KnmVv/IEIU4iy3LeLbnthyWSDg4ey+XA5fsn0/vkIXxu1vOR65frJsNnucTrV3GdqnJ5Tn3JoYww9sKBqCbsB/nsph26IaNdOFC6YaQCnDXtHU7TzBzu/dlrHBwUKW5ZtX5N5R4vFIphN3pctoLUdawNhCfqqEBMs5qytLOv0WD6yCm3vQEMYyIY99F8bdy9JKc6QTNrSHBGhvtfLx15YwMCQsZcS4SzrzU=
X-Forefront-Antispam-Report:
	CIP:205.220.161.53;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0a-00498f04.pphosted.com;PTR:mx0a-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(1800799024)(36860700016)(376014)(82310400026)(18002099003)(22082099003)(4143699003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	E8rIda08HyejwwX70C2UNk+l+K60dDUCrNCgud9JNpoSdobaaoZtTG7OsfnSlZpZ0drrREcOtmTr5WYB8uaoMpmkzZaL0lyqU1COgTxUt5VN6p5jky/6TpKYaIcOiG8zyMmLyLs9pQ4Kb4O08e6gMTMeTA13K2/Os3lLFxWB4lGiiKFzs50xZJiBcr+Zc1nE6vumhe10rzPmsTWpx5QsLHtP0SKqSKQgyQ+ULbJD4Xm5fInKHf3FJCxWwR1GHJNxW050evdNtJmYT9LmiCcvrmqyfHe+ATmlHrhZBGzGxi/V01uN2upq04YmJMvCcVqafm8RtKES9uIs9Ly9eEcQO5c1uCgQWCS52U+OCjN2kc5/ET87KGz/2ZCdrOF0aAWJpJPZkRV0NHPb+1DHcoBjCLCfv1y9bu7pOVJ46GHd1tvkPFanEheSnmsuJ1iMIp4i
X-Exchange-RoutingPolicyChecked:
	AiGPmGqqDVPee/KBOkTt5SVSFU54yIapWfvGOzsNdgjgUuvhaxrmOcXTYChyRUt9+qGVlg8b8sUeXxvG7kyA0nSWyr1riN5v0qgYSl2jW0Fc/PHJYVPLULBbjWmcUXXc7NLkCe27ZayA/kti2Jfwc6q9rweX5T3WykzPb46133Vn05B6A0EYQ03lDviNz1nJoXfwnumAXAzoyi2SX93vK3bO2xTwVtLcs0iK/nstB5cjqyJAK4SeFt1UisZXp/roBP29Sm7uaZ/ZqizI+90WLV5+wDTqH6RNvB5MNP5cELcESNRLIbp4kJy7bjw36GH/kkVp7hUyE/n8iUt7UNxKCw==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	gM8sCADYt3J+9Z+bNSPBFV07H2hsy2aB/xcAq9rpARpjbqyAmg8e4YYnImqSH9vEp+jApd4Ogmm6nXglcJVKx1kkWKkihDWuUEo+UtZzJCFj2XHapPSMEoC4zqsFHTxesQ4ht3I2iwJijv+3F4QkCsYJs+Mo2Ao7AaBdyuYUv7PgN+HOnit967MesbgNF0W1jtl2fiUD9VGoFVM7mEsLh1q9ucl8xjsPiwivm0N5Oz00e22XHMeu3MPkT+fzmG0Mh1PMsXclQV3idSJLdWRZVkvQAorEb2u2zNEoGvE1Hfk17gor6ukip5lSZxJGO1pfB4hVBzHGSHCbFayUHxVRVvZDMf/0/+L49BiG8saBy6xJfeEFSUMq/7XPPz889hujw2eJiPnyj/aRV+ERx+i+6dtpaE3vulxR8tklhSplDRR1Ro9aFJyXdbBly5H7pFI6loZChaJOpqckmXXRq3fZdI+/LH90UKWE9GAdPO10Ob6qGDX+fuvCo/uRCzPRqbPzo4Iyu+PQ08DijLdXG7ZFZvqSsuJqxU5gAGCRFiA2UkGItTZ6YsXrKNH0mebpjT1yfY+yMBySNHXbATEvK434AK8MHP7v4BTx89YPgyECgaYfQedkoJ22cmHM0NfknX09
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 01:13:48.6300
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 029ff409-6ef6-4ae4-85bf-08dec5c45c65
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[205.220.161.53];Helo=[mx0a-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF00012E64.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR16MB6286
X-Authority-Analysis: v=2.4 cv=M5N97Sws c=1 sm=1 tr=0 ts=6a2768d0 cx=c_pps
 a=MMVmnpyRbxvAcRc6a9dgEg==:117 a=lOEMawUel/sSvQipkIvNbg==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=kj9zAlcOel0A:10 a=FelO9ux0wxsA:10
 a=3PXLN80vpJUA:10 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=P_n1zlmtWsCQbjROFjcg:22 a=dw5MciS7gY-znkhJuOLE:22
 a=cbNQJ9GKAAAA:8 a=6U8o1_yNbxzEspG5Fc8A:9 a=CjuIK1q_8ugA:10
 a=G69WFyCBNqGPyalROSdv:22
X-Proofpoint-GUID: gdNZvlgZTda9OdYbrFXm7kFNO21_HVjD
X-Proofpoint-ORIG-GUID: gdNZvlgZTda9OdYbrFXm7kFNO21_HVjD
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA5MDAwOSBTYWx0ZWRfX/pGKkgxoBaFS
 PBVnMojxKUeJp5zF+kI/eg0fTwiEgRI/gYtU5IcklSbEwOhze5eKhhjyiiYsoDahkB/TSJd/gRn
 NfK1NGIiFiQLbL0bBwN85bhnaYBNdmEpined3+ga6yirzDnOif8ZxljWvCJ5H83owzCCnFhRep1
 iv2/UlT4Ld4p/W1pcPagr3fhTx1szMqeGwimKlCo8jkgj+S9tmSz4dcQK1fVeMk2P1lSJCdvDTS
 pzdzAcumG6nAtUWJYxTkfsjJFh87RsaSb75E1sTm9lfqtuDkZ4iIg1P0YVrRBtFWvG9stJTIQA0
 Qcw4w6dQiBEYt3KN5cVeSB5Yotr/A5hV6Rmi4LtTMKYQEwth5bCb7XCF3OKkiDoJWAgx5lxlNqP
 L//VAUDEPlN1deOirOtmWQ/K4/qcorZ6Hbqa0iPkOVJSQ+k1ve+A21sA9MOblP22agOPdD1QDWZ
 bk95zmvXWkmNoU+uKlg==
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-08_06,2026-06-09_01,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 impostorscore=0
 phishscore=0 clxscore=1015 adultscore=0 suspectscore=0 malwarescore=0
 priorityscore=1501 spamscore=0 bulkscore=0 lowpriorityscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606090009
X-purgate-ID: tlsNG-16d1c6/1780967634-86D72D75-3DC2CFA7/0/0
X-purgate-type: clean
X-purgate-size: 2137

On Mon, Jun 08, 2026 at 04:10:15PM -0400, Daniel P. Smith wrote:
> 
> 
> On 5/26/26 5:58 PM, dmukhin@ford.com wrote:
> > From: Denis Mukhin <dmukhin@ford.com>
> > 
> > Add Kconfig knob to enable traces for Argo debugging.
> > 
> > Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> > ---
> > Changes since v2:
> > - new patch
> > ---
> >   xen/common/Kconfig | 7 +++++++
> >   xen/common/argo.c  | 3 +--
> >   2 files changed, 8 insertions(+), 2 deletions(-)
> > 
> > diff --git a/xen/common/Kconfig b/xen/common/Kconfig
> > index 5ff71480eebe..adcdc51dd21b 100644
> > --- a/xen/common/Kconfig
> > +++ b/xen/common/Kconfig
> > @@ -491,6 +491,13 @@ config ARGO
> >   	  If unsure, say N.
> > +config ARGO_DEBUG
> > +	bool "Argo: enable debug traces (UNSUPPORTED)" if ARGO
> > +	help
> > +	  Enables extra debug traces for Argo debugging.
> > +
> > +	  If unsure, say N.
> > +
> >   source "common/sched/Kconfig"
> >   config CRYPTO
> > diff --git a/xen/common/argo.c b/xen/common/argo.c
> > index 3c38a51d09a2..b9b362064e7e 100644
> > --- a/xen/common/argo.c
> > +++ b/xen/common/argo.c
> > @@ -318,10 +318,9 @@ static DEFINE_RWLOCK(L1_global_argo_rwlock); /* L1 */
> >       ((LOCKING_Read_L1 && spin_is_locked(&(d)->argo->send_L2_lock)) || \
> >        LOCKING_Write_L1)
> > -#define ARGO_DEBUG 0
> >   #define argo_dprintk(fmt, args...)                      \
> >       do {                                                \
> > -        if ( ARGO_DEBUG )                               \
> > +        if ( IS_ENABLED(CONFIG_ARGO_DEBUG) )            \
> >               gprintk(XENLOG_DEBUG, "argo: " fmt, ##args);\
> >       } while ( 0 )
> 
> Is a Kconfig really desired here? This such a trivial knob and one that is
> really only intended for tuning by the developers. Exposing it as a Kconfig
> option means you intend for this to be tuned by distro builders and wanting
> to see it exercised by the CI RandConfig.

Yes, something like this: parameterized CI (local) build variants.

With Kconfig facility present it is simple to enable extra verbose debug
builds.

--
Denis


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 01:21:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 01:21:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332188.1594841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWlA2-0000bO-Ew; Tue, 09 Jun 2026 01:21:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332188.1594841; Tue, 09 Jun 2026 01: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 1wWlA2-0000bH-C1; Tue, 09 Jun 2026 01:21:46 +0000
Received: by outflank-mailman (input) for mailman id 1332188;
 Tue, 09 Jun 2026 01:21:46 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wWlA1-0000bB-Sf
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 01:21:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWlA0-002JO5-8V
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 03:21:44 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a276a81-bab6-0a2a0a5309dd-0a2a4501cdd4-24
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 03:21:44 +0200
Received: from [148.163.146.23] (helo=mx0a-00498f03.pphosted.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a276aa6-c1f2-0a2a45010019-94a392177b5a-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 03:21:43 +0200
Received: from pps.filterd (m0482516.ppops.net [127.0.0.1])
 by m0482516.ppops.net (8.18.1.11/8.18.1.11) with ESMTP id 658KORF61994996
 for <xen-devel@lists.xenproject.org>; Mon, 8 Jun 2026 18:21:41 -0700
Received: from ph8pr06cu001.outbound.protection.outlook.com
 (mail-westus3azon11012040.outbound.protection.outlook.com [40.107.209.40])
 by m0482516.ppops.net (PPS) with ESMTPS id 4ep3912unu-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 18:21:41 -0700 (PDT)
Received: from CH0PR03CA0243.namprd03.prod.outlook.com (2603:10b6:610:e5::8)
 by SJ2PR16MB6064.namprd16.prod.outlook.com (2603:10b6:a03:577::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Tue, 9 Jun 2026
 01:21:38 +0000
Received: from CH1PEPF0000AD76.namprd04.prod.outlook.com
 (2603:10b6:610:e5:cafe::a9) by CH0PR03CA0243.outlook.office365.com
 (2603:10b6:610:e5::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.13 via Frontend Transport; Tue, 9
 Jun 2026 01:21:36 +0000
Received: from mx0a-00498f04.pphosted.com (205.220.161.53) by
 CH1PEPF0000AD76.mail.protection.outlook.com (10.167.244.53) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.113.7
 via Frontend Transport; Tue, 9 Jun 2026 01:21:35 +0000
Received: from pps.filterd (m0426318.ppops.net [127.0.0.1])
 by mx0a-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 6590vph93705767
 for <xen-devel@lists.xenproject.org>; Mon, 8 Jun 2026 21:21:35 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-use.ser.proofpoint.com
 [3.215.31.156])
 by mx0a-00498f04.pphosted.com (PPS) with ESMTPS id 4en20229xx-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 21:21:34 -0400 (EDT)
Received: from localhost ([19.12.76.222]) by cmsmtp with ESMTPSA
 id Wl9owXrH28Hc9Wl9owhqtG; Tue, 09 Jun 2026 01:21: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppford; bh=JoVpE57MsISXvZXcghisHu2g8EE
	aZPVSD++ppBV+dD4=; b=dUVIMuhofTelF8PNu2NwMzk8WpXDY0jKEiseFpemvZU
	mv5pwqqS2MtV366vtUF2i3rndH4tPmD4SrSIdbo1qWOHzJVaNcz5K2lvyfBAshFI
	IpFn9EhklWpZ5/5/9ddjQ0zwGW/PMZtUo1jPt5g1QA6AVgk/6GJ+IQ6R5kKJkkl9
	CTX/6RgwB/GmjAQmWZ5U3OrDcPjcDA+AwISOy229bJepbjCF9vvndY4LzmoKygFp
	aTcgVTcffTfB38wUxN5S4vc7ESEWI0yzaVNKY1Vlh4QfovwYbCu7eRgoRREp4ZAQ
	R/8U98hxBFCpGBbZA+GbxQZ+uTueXuF/23MMS/nXCBA==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Jh35JWR2JkjQJvVz/LVgPnaxgdeamYnbZZeeciwGDzSRaeZ8aVRFTSwjSL73vsP+W7NsYz71S5oTVtdRgYIwb8NL/FftRCpM1QaQJxVbg4vhSc7IBAH1FC6F8jUMjyixeQOzMh7/pVEk2MtIGWy5jsBpWhz2ThE+kNsvsFLsEf9PK8OO94LUsVAPBLqjYV8UIpoQ20hTvZLnbw58fLFbgAzKP2DgsuiWqbleLa3ksfvCiFm5+yyFUs8gCVPnB1O6qXYugK6hZefJmwr9Dvy36wWSRLBi6PjCYFH0GBjrMKg2jwiOFBRxnL8eu1qPokvkvy15MYe3/o//GwauBbQMyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JoVpE57MsISXvZXcghisHu2g8EEaZPVSD++ppBV+dD4=;
 b=eubqm9gBCsZ0vHBM/XbiA2fggeCdrqf8zceDIJcdV9kBAC/3AEdsj3diSlqKYu6W184VfV6V+ZAPpU1rj8gT05HlqZdEY59pPaDOE3T5lFiEvwk5xCTKs5wj9OXhG7eI3Xn3G9Eq5KDlIQD3LC8RyNhE1groZO+AIuN18HJbgoxQQMPODFJbP2Pu9bdiNbDZpfc5Oyl7lmi6zsISO8A5miThgggJh4MC50uQrZyGWMwfraJtPlSrUSpT1Z2I1utQP02GFvpyy0LQbehmHQ3Wa8Rlkz+4P7IyvQpvbMBLI9sbwz2tA5E+Z6TT7tmbHkaRBtLnVhLqit5tqcHu6rvUHQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 205.220.161.53) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JoVpE57MsISXvZXcghisHu2g8EEaZPVSD++ppBV+dD4=;
 b=OMCAtKlkYjRwUZzm1eL3Vj2w4QYZESCT69+9q5qL7B9aXQ3yxhRmY1jr/94IW85V3ZwRMgwgOJ6OnJMCgsDkg3W0QogvXP4F+1xuTIw6WMiX6BCqf6xZNe7qg8Fz6KOkMkWL+FhqzwLYCWQWc3eCnlazvcFbNzq+ggptNkIC5Jg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 205.220.161.53)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 205.220.161.53 as permitted sender) receiver=protection.outlook.com;
 client-ip=205.220.161.53; helo=mx0a-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppserprodsaar;
	 bh=JoVpE57MsISXvZXcghisHu2g8EEaZPVSD++ppBV+dD4=; b=WqTmaMxjhhgf
	q9mx9ZsStYd43u0j8AW16qy0OxhSvEtJX7uz8VNNfHOq9f6BxnnGg6EHXdDVrwW8
	jaIHewwESON51C4B7JzTZtgdQSU0j5/vAxPvWQX+AyTAieYEjMOINhZJaxjRccdQ
	mUFNU4GHliIXBgsBZAZ2q7osp8QxVsxCncYeyyw3c1hpozV4R8Jf0vieo5QzRw0q
	q5AWMk73LIF7KxHIWdOC2AgZg8pb814HXo7N12whnwrwBdFbhDZnwD+II0hK2wOR
	fgCIQkjl7DyyrVFk6laPI4zHJmwsqC3MnpxadASoYXV2QsrdT8j9hfQ+RIS7APV4
	EniaaZpi0w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppfserpocford; bh=JoVpE57MsISXvZXcghis
	Hu2g8EEaZPVSD++ppBV+dD4=; b=p/Sv2tCoBZFHLH+aPw9n8cixCUoh8cAzWcm6
	h27yKJZC7TNnsi5S4IvA0CUNMalmU/3GeL8kImjDK2c17fA490qkJ6+ue0QxulwP
	Aqt8zEoN02Wv4/lQ3m5e8oq8e34Da6wYqXdLhEPMBjoGkioDLEA/gSzOp9PARo0y
	2eWIzK4Bj/6nK1b490k+g7ayzIwUErMm5AwA6xPTXbUe1h61Ob9OUpmU5EUVoKsZ
	ZAk/X2XOpIS6CgQ3keh88SC2WDqZO824XarDG25pnXNYn6oQHuYe7j30t06Yf9rn
	RgO4HF6ZLdUtuCyqLDrOfFP2wSFeQMhKLVWgLByR9FRcRwsc5A==
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: Wl9owXrH28Hc9Wl9owhqtG
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
Date: Mon, 8 Jun 2026 18:21:31 -0700
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: dmukhin@ford.com, 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,
        christopher.w.clark@gmail.com
Subject: Re: [PATCH v3 6/6] automation: enable Argo debugging in CI
Message-ID: <aidqm4wKkSxNPr3O@kraken>
References: <20260526215823.1452619-1-dmukhin@ford.com>
 <20260526215823.1452619-7-dmukhin@ford.com>
 <e087af10-4fee-4fea-92fa-5a647524af80@apertussolutions.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <e087af10-4fee-4fea-92fa-5a647524af80@apertussolutions.com>
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-08_06,2026-06-09_01,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0
 adultscore=0 phishscore=0 suspectscore=0 spamscore=0 bulkscore=0
 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc=
 route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606090010
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD76:EE_|SJ2PR16MB6064:EE_
X-MS-Office365-Filtering-Correlation-Id: 1b33dc08-bf9e-4ca7-10ba-08dec5c572e2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|376014|36860700016|13003099007|22082099003|18002099003|56012099006|11063799006|4143699003;
X-Microsoft-Antispam-Message-Info:
	h7+i6HIsIXZ8zUIB2PHRP0oduz/5uBvjOZLHO5sdooKrfZWGtk0lzazi3zFxF/7VGmAstmwrcMZQguNqZQnJX7XSuiVszadJboN+m4q8TCJfbAL+ex57brImvBHKGKVaVh5j2N3FDeNa10MEBRIsHIu0NmlxvZcdTcDcWljKDR9yuNA+gYgumZ2iwhceQ1rSjBjYJcY+vAdaU9dErq4w/Tf21LqNo9uP3Ll3+DRUQ+GMMFtF4pTx7Mb/Xl7Q4OiQhcvTi09L+sA8HiEtTBKnW7wJCEK0mBZdcmJCeEMq8Ak/HTLmClXtChjnCNzxTnOvntYfaoiONigjv++aIu+Q7c7ZHaFrdc1bLWyVsKXkRNBtQVacLn3OXIL58wmBlP/2DkJuYjIhKCj3BVd6ndiRsQN/yXND2XUpJaKB6gbgkvfKaCiuKCggwljou5+5EP0/wgd2ysFv7xYrpu7nm/tXJH+3yK7SyTMiOZ3v3Ja8Jje0XtX3iQza975nOU1E7KRcw/D9w+u4fxHS6nib+arXr1oMwee6YwPO2ZIIsv1S0ua8bITEgvmI+7xjuxE+OQIOk3pdrJpXk3DX0FqCh7RbOlnvK+ABN8TPDucVYc2eey88OpXeu+M6dQ5LwC/zWhW03M5UMuc7oIPFRf/yln3mH9VjHVIsN014cVfWHFc+iLA8eyVEVJYgzO8PJyato5vj9QFU/kzjlEhs/Lu3FtA65cz2JqTQKkYuF72joaQzyk0=
X-Forefront-Antispam-Report:
	CIP:205.220.161.53;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0a-00498f04.pphosted.com;PTR:mx0a-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(376014)(36860700016)(13003099007)(22082099003)(18002099003)(56012099006)(11063799006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	FxnRLwJH+Rx7PGAKx3bk3IITHskjepfs/GgeWURk8biLMby5B+wIRH+gPIo9nqAdXfu+PTNj4Ec+lLxdU2ZUzvIr/6LH4GoSonF/zSPVw4NZKr1cRc0SMioR/8N4lYsB+zbBzWVQruQvXspe3FdTpzWYrYSpQcyKDxc/RHTGqot3Jcuv7l32LatnUYt+VYvn5inAxTKaaj/Gxz6gQ0fA5uL68gnQ9Qtb7qKoEh4rqGh/U2aAzO7XRDWnzyiG+gquo9sOVvmfrsViOY+OdNXYnB+w/gcGYEyAWmip1kpnkF0Qxi+GLrekT+8ZZChaHZXw1tmu1MsKFzog/mw9yh1sZ6cRQYKYXnp1Q48e+vMZYIZMJlN+/5KGb8Zt50UVwllVelRkPM9mVc7yOtabLuO6nxu22/R9RV/ZPtevRccWmx7U8Lo9QG5XWbNHWrCzJURt
X-Exchange-RoutingPolicyChecked:
	Z7igTXgL5d/uQUNsjUvW+uqiKvADeEKS661tJAuyC+yqxVv/FwpE1gwYb/EAz9n9Fy4nz63SuDsEfJ3sa1fMZH6JUifA/xq8am/lar9/o1SozegF7VOa7kBWhENLTF4muN67zvHuaBSwEmKHPQArp0tU3HPIJzlFTUukMhLV67forcoSvIk6u64lhxhieznPyhdS8zt1CcW8wZ5TYdnmecPcb0inyNtXlVRDzqdo9jiN+U6/So4jMMhl9cfEavCH5PWmgbMqJEmpaU9gdBuNXe1KfOwGHIXXXgV4WVBs447q/3sQduM57J8HXevBZc6j9q1J0p3RivByUKRkrrXStA==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	3Wh04xF4U4xFdbWpYpnzzS1ru5B7s0zNIqH9t48Oxzy7/JrCG2xFBjKAoUSsBaue9IzeN1MmG+0sXBYJMB9RJlo7MzK8BikhL5SnHfuBnMpHcit9jjhEXYeGIqbI0cb+if81/dF9Knq7k9b0YvrdDo5LGyBileNGUkDr55QcZ4N76YCd7wXW+2sTm4oQyoRFtrPmt1Mc62rli66vGnlLpzsc8jlT5i3LDbZWRSmjkBLAvyxMP2lCN371huqTMyYa0rtcQW9Q9J/KdTtpBT1s3VmixCMWtSGvnzA78/r0zsO5Nebk/EXHciuuCcl3udz+LhTv4h4oB1zge3qAxEePnHR8hyFGxciS9q3DL4AtrSgpSrw+IU5sgv5Hc+W9iVUqkjts0W5ez9xDDDcicyn3G93nRyYZnY1xaGcJiOdlnNAfyZNL+lqzPk5R4+xLkDKiDBqjrlASq1aZjczTkHaB1JrQ79howAiTTCebb2YIkLeeXNfSyY0Uvw5SvwLryhY0b2WB1YvGaaxfTp+oVpaEtnU7gR1oIU0XZLSgCYSZE+lhUKwaZtsdfSgf3Awohnzxz9yhXWIdz64duNijR8juOBGBqMb/3FmPV27Q9MQjUWFsripTxj1m7jjG+25Fxadu
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 01:21:35.7448
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1b33dc08-bf9e-4ca7-10ba-08dec5c572e2
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[205.220.161.53];Helo=[mx0a-00498f04.pphosted.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: SJ2PR16MB6064
X-Authority-Analysis: v=2.4 cv=S5fpBosP c=1 sm=1 tr=0 ts=6a276aa5 cx=c_pps
 a=n6quz47VtcdWtWxmUgX64A==:117 a=lOEMawUel/sSvQipkIvNbg==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=kj9zAlcOel0A:10 a=FelO9ux0wxsA:10
 a=3PXLN80vpJUA:10 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=P_n1zlmtWsCQbjROFjcg:22 a=NvsXeTrgx-CJMFV-xl94:22
 a=p0WdMEafAAAA:8 a=cbNQJ9GKAAAA:8 a=tVxlCLILtbLps3QRzyMA:9 a=CjuIK1q_8ugA:10
 a=G69WFyCBNqGPyalROSdv:22
X-Proofpoint-GUID: vgw11ve6D-fGlJFH-cAIkqYnSxFjSvsL
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA5MDAwOSBTYWx0ZWRfX1ZwV/34Yp3nM
 fXdLHvDhiUKRi32T52kboxaZSwf4XhngAoaNqOHkmPNUrD02I2tZmNNF7LrpsTs0Ir3W8jDI7K9
 cz5bPHY9QuthN1eswxAZdettuVHzOproz8GdVxxt3tiILVpL3MS44eTEWARs6oWOJ5fHqcLvLhH
 CjLirCr0hUUm2oJNXK6P1e0dz1C9frdqmqHx+P0PggzWdmMwALBARmIvfQGEg6ab7jkSWbw07ld
 axKMiavqM0gAzQY+8d93FwIVaEcTUoKK/dxzIw+iqwAs9fcHkakePnF+njk4amN5QII3MVCt3M1
 ukCFBKrvMc18pynVeqV1qJnkeYk/QxLR+N/fE/NdiQM6oc1/hIMWpuQnAZEmpAgO0pM9t3LrpT3
 IoY5MxL2sLE2iKedFTYFD3pFuX3gEyTP2gvbUaXmqen7y84KmqmsLu0Z67Optb7asIL6QlqSL6n
 2vLswdhDtttSag10e6w==
X-Proofpoint-ORIG-GUID: vgw11ve6D-fGlJFH-cAIkqYnSxFjSvsL
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-08_06,2026-06-09_01,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0
 priorityscore=1501 bulkscore=0 malwarescore=0 spamscore=0 lowpriorityscore=0
 impostorscore=0 suspectscore=0 clxscore=1015 adultscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606090009
X-purgate-ID: tlsNG-d62444/1780968104-AD1ADFF4-C3CC3099/0/0
X-purgate-type: clean
X-purgate-size: 1334

On Mon, Jun 08, 2026 at 04:18:49PM -0400, Daniel P. Smith wrote:
> 
> 
> On 5/26/26 5:58 PM, dmukhin@ford.com wrote:
> > From: Denis Mukhin <dmukhin@ford.com>
> > 
> > Enable extra Argo traces in CI to help analyze any potential Argo issues.
> > 
> > Signed-off-by: Denis Mukhin <dmukhin@ford.com>
> > ---
> > Changes since v2:
> > - new patch
> > - example verbose log: https://gitlab.com/xen-project/people/dmukhin/xen/-/jobs/14552079442
> > ---
> >   automation/gitlab-ci/build.yaml | 1 +
> >   1 file changed, 1 insertion(+)
> > 
> > diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> > index 7f5b5938e851..5f9192e53d63 100644
> > --- a/automation/gitlab-ci/build.yaml
> > +++ b/automation/gitlab-ci/build.yaml
> > @@ -319,6 +319,7 @@ alpine-3.18-gcc-debug:
> >         CONFIG_EXPERT=y
> >         CONFIG_UNSUPPORTED=y
> >         CONFIG_ARGO=y
> > +      CONFIG_ARGO_DEBUG=y
> >         CONFIG_UBSAN=y
> >         CONFIG_UBSAN_FATAL=y
> >         CONFIG_MICROCODE_SCAN_DEFAULT=y
> 
> Why not just set up a job with the variable ARGO_DEBUG=1 and not have to
> introduce the first and only Kconfig option turning on a debug logging flag?

My impression is that Kconfig is a preferred way for parametrizing the
hypervisor build and upstream Xen CI jobs.

--
Denis


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 01:28:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 01:28:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332195.1594850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWlGQ-0001kE-66; Tue, 09 Jun 2026 01:28:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332195.1594850; Tue, 09 Jun 2026 01: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 1wWlGQ-0001k7-3U; Tue, 09 Jun 2026 01:28:22 +0000
Received: by outflank-mailman (input) for mailman id 1332195;
 Tue, 09 Jun 2026 01:28:21 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wWlGP-0001k1-2J
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 01:28:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWlGO-00EQLM-Bc
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 03:28:20 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a276c02-2eae-0a2a0a5409dd-0a2a4502b292-30
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 03:28:20 +0200
Received: from [148.163.146.23] (helo=mx0a-00498f03.pphosted.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a276c32-af86-0a2a45020019-94a392177e1a-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 03:28:19 +0200
Received: from pps.filterd (m0367123.ppops.net [127.0.0.1])
 by mx0a-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 6590xFwA2569901
 for <xen-devel@lists.xenproject.org>; Tue, 9 Jun 2026 01:28:18 GMT
Received: from byapr05cu005.outbound.protection.outlook.com
 (mail-westusazon11010028.outbound.protection.outlook.com [52.101.85.28])
 by mx0a-00498f03.pphosted.com (PPS) with ESMTPS id 4ep8s884tj-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 01:28:18 +0000 (GMT)
Received: from DM6PR02CA0137.namprd02.prod.outlook.com (2603:10b6:5:1b4::39)
 by PH7PR16MB4695.namprd16.prod.outlook.com (2603:10b6:510:136::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.14; Tue, 9 Jun 2026
 01:28:12 +0000
Received: from DS2PEPF000061C1.namprd02.prod.outlook.com
 (2603:10b6:5:1b4:cafe::a7) by DM6PR02CA0137.outlook.office365.com
 (2603:10b6:5:1b4::39) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.13 via Frontend Transport; Tue, 9
 Jun 2026 01:28:11 +0000
Received: from mx0b-00498f04.pphosted.com (148.163.138.245) by
 DS2PEPF000061C1.mail.protection.outlook.com (10.167.23.68) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.113.7
 via Frontend Transport; Tue, 9 Jun 2026 01:28:11 +0000
Received: from pps.filterd (m0373461.ppops.net [127.0.0.1])
 by mx0b-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 6590tK4t235663
 for <xen-devel@lists.xenproject.org>; Mon, 8 Jun 2026 21:28:10 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-usw.ser.proofpoint.com
 [50.112.124.217])
 by mx0b-00498f04.pphosted.com (PPS) with ESMTPS id 4en267t8hp-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Mon, 08 Jun 2026 21:28:10 -0400 (EDT)
Received: from localhost ([19.12.76.221]) by cmsmtp with ESMTPSA
 id WlGAw7KK6ba3bWlGBwoAat; Tue, 09 Jun 2026 01:28: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppford; bh=vlg
	nUr4IEwMtxfKUlhg4YMH6JrcWHAbsa9prF06Ag9k=; b=hPofnyr6IINqRQsPIW2
	+KqTVvbB58bUJ+EdltXQHhV3y0MOW58fkpLLK2gXkuM7Wd+3+xZpUrg4LjCutGNt
	wT7WO2zycUv/QZKa9EWMObFqkW3f4TFqE8+GDeBJ2eP1xnNv/SlGNbSduICUUNy6
	vUed5LsJXcFJQQqN6Irm7o5xYzPLlw2wh0bdgZJm64n/zAT5TpnfX1ZudHVBBcH0
	Ybvb7opd0kWsZTNPN/KNUSisALIAQQgRny2ZTP2qgFkvUih28LZd5yVe/aXylZbn
	rA6UEaEI8hKeBgpk9MQljy9EOgAfhhGSjTvjqAp7KIrTdVy97tavj6RMKBhGu55+
	R3g==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=IbrMp/n71aW6oEGWDiKMfvXZLZVenaIYCMY8w+PMgVmtDaIvT+4ar7/4WFMj5z/pF7FMZTOIiABXQR/pVjQ49elsS+G7Vm9bJjwGs+rBsNJKm+E+TS2KkzCy1jltcP/PslB3hFTEsaCXh6Q7DLLcTsdyCmhR51tXySmEUo8hRO3JY/VNLZoLOHWlS4+5L1yYwIv39IbP9CIRiyYje+Lad0iZfTBo0NuHSomXUFMVe6q9u0l0hJHwcARas9k/OWSVPY1Mz0NBJXVDijte0C9Dd9Da6psr+ejCBYQOdqR0CxfMzXSKI80IRveo97be4kXqo+OJ3c+ucX3AXGwfIH0ARg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vlgnUr4IEwMtxfKUlhg4YMH6JrcWHAbsa9prF06Ag9k=;
 b=UtYY+M5NWgDHQKy20OfwYH7JPYO8VwvBe97sOwRr2js5UCX4LUvKR+VC8VBI+5XCvri1WlPNXrwxULNFW8zCHsUO18x0kuQv+VhMT0uXGinw3tu8XRqaKeS7TVhWUgmevbIO04hPrRf0V4VHt7XDB7TO+9iXLMBOZ46QV95uosABlqKzO38eVZHmo7guc355PZOjGT+i4R2J2pu/Qxjq1arcuJGPk0FYUr6PIRdQ/wfOs+PCQK8/F+TDK8gjsLhWtgtT4wAYzCn1h2ZOdrgMnnOrNB+WOsIbL1DTd4PpYalgdlg/Z8xNZb3uPGAFx5Zj5VGW72L77SbgW5ngIzEVJw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 148.163.138.245) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vlgnUr4IEwMtxfKUlhg4YMH6JrcWHAbsa9prF06Ag9k=;
 b=S2uVhYl+/uvckPZl670nZ1t0GTt8kiZRo5zxT/zg67znpxmkKLMGQAs+3Uvft2e+hEfbXvePQ7Ty8OB5+zsmvWgdZhU4XZMZYh/Xm5Hd3+hOl7phnQemH3VU4HX1I6/yuBO1koiV8YPNx++wYNUfv2vDL/rp0L0qVAKqth2jG1A=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 148.163.138.245)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 148.163.138.245 as permitted sender) receiver=protection.outlook.com;
 client-ip=148.163.138.245; helo=mx0b-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-transfer-encoding:content-type
	:date:from:in-reply-to:message-id:mime-version:references
	:subject:to; s=ppserprodsaar; bh=vlgnUr4IEwMtxfKUlhg4YMH6JrcWHAb
	sa9prF06Ag9k=; b=Rv/YGgPtwltzLkGrQ/5UAIsCs2bzr14rOPZJZCnAXjFnNOZ
	IsV7JK2RX1/VW3mjo8u0j1aMD+KXC5xH+n6DoR1yq18ali7cC0ww/p3zLjIkpUo8
	YFL+fChPK1YCN0S40rqY5YVlieJBpK6MjDZrm45AClV6bHFFV+ovNwUDQ3b8yxQi
	/W26cjfvdy3bAZ3qIX880pmlMu07CgIIP9TfCjOVu7MDVCkyeX0RTb3HGzVZnFqH
	EgzXTYz1DvFbD/+gaOR1PomCWMYRrcQNXxJFmA+Xnvh0xzX7Peg6nJnIzPmPAxAR
	+Wx0hUaH0oo+y62zquWmiwpsZpOadJkbM8KNubw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppfserpocford;
	 bh=vlgnUr4IEwMtxfKUlhg4YMH6JrcWHAbsa9prF06Ag9k=; b=iyJ2nqoXbz9t
	AifPhwWFOeT3TJ9RnFYIN1YxceTKBe0fvVcnelUiT857GVxkfUSRL26YNp8aktox
	ntoXadtVg25Qt1TrjHEe3TvMBU+SmNaT2JuoNJVMV7XjlsyctRwvXEV3sbpxrS2U
	3PL4UatIBTYhqklJnzez0sELs1FBFiMIcIgbdf2fyQlmy8oIbAI0pwqsIwB90axO
	CQheX2/pBdD9IsAZ5nb1JTtbVjAyOE1X4XyAsUynxkfmaKspp7lVxP5SMwz8OiDB
	bxzK/a8GJWuA03BSCBnkx/qqnXWSHWDyhDSLzG86EMHTaZnFLK3cwU5XNl+tlxnh
	3wW3hj5dbw==
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: WlGAw7KK6ba3bWlGBwoAat
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
Date: Mon, 8 Jun 2026 18:28:06 -0700
To: Christopher Clark <christopher.w.clark@gmail.com>
Cc: dmukhin@ford.com, 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,
        Daniel Smith <dpsmith@apertussolutions.com>,
        "Andryuk, Jason" <Jason.Andryuk@amd.com>
Subject: Re: [PATCH v6 0/6] argo: few log fixes
Message-ID: <aidsJvlM/OtymlJJ@kraken>
References: <20260604214926.1735194-1-dmukhin@ford.com>
 <CACMJ4GZW26MGYr9RbCw=tO9rvrpL1u-PAHG9BaFvyg6RnDDfAQ@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CACMJ4GZW26MGYr9RbCw=tO9rvrpL1u-PAHG9BaFvyg6RnDDfAQ@mail.gmail.com>
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-08_06,2026-06-09_01,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0
 lowpriorityscore=0 spamscore=0 bulkscore=0 suspectscore=0 malwarescore=0
 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc=
 route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000
 definitions=main-2606090011
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF000061C1:EE_|PH7PR16MB4695:EE_
X-MS-Office365-Filtering-Correlation-Id: 907d19f8-80bc-47fc-32fe-08dec5c65ea9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700016|376014|82310400026|1800799024|11063799006|4143699003|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	NISOUEzQRle+qnPsZeBB9p8nc6qO+ESTXcT2sKWfEsVta4WkF3IaSmx5/bs9b7oBIBey2bR8t5SeH+xeIS7D6sqOPbTCLoGbUBKyao7wm1EIXdMdZHtI05MM5NqdDWTwJe+pRxpiLQqCOzsYlSnBwTWvipqTly300fGFGSYlyWMNUpWvz7lKy/jhURgUkr2Tu5to04xbOAW4TZzbQe5JB/hC85qgr85aQvWQZW0IhP+SNcKMnjDQFWvcNrKe1+bLWZzujvJWNrzZWJg6KNcYNkzg6sDhbaXTb3GAb5CMepGkN95GqBGVQ/jDK9gjJUlQOyTQOqXzciNgNvx3ceKGxHYyxvQSLdPRnxfM3HmX7xlAWG4P4Su+aYQOXzyto7fsfIhx5zylxxY2qN0sUmjoWC5AtCPyXR9MaxSVFzv7aIM4102QyS555Zm8ToeveXby+iaQYVs4CKfBVTV69N6OVroxPzWD2/Kos6VIC1h6EoDhpKjMW8kWbP4rXGS/aQpGlu75ALoDxv7V4twQm5zXTnfsVl771co+yKqfHzCjdm1Jju7p6zFQJVMGMfLJHBHHHKMa4xwnWQI5PgD6cNYpqTVyQnjeogvmQvGrns+z6lXkwvZai2tq1nJT7VP3Oed3Nz6P8ljqjG/ugY6fv1/lBBeYXvbrRMNQlNtDa5uHDrLU6sqdxoiYIaC34+s63wSzfspuYya6+2sW3mQPcfZUmXxnQUUDs6CZ7n2jGWbAkCw=
X-Forefront-Antispam-Report:
	CIP:148.163.138.245;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0b-00498f04.pphosted.com;PTR:mx0b-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(36860700016)(376014)(82310400026)(1800799024)(11063799006)(4143699003)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	S4e7VZJj5IjOBcLcO7l9HJphu6kvZxPMz3tYakysIG4pdYf7haII3cOjzxmV8IdJ8kvaHMxYyE4Mq129yGxd3DyT4ykS7M7jwj2E55iFDokqvIhI0P9I1dAE29HV+4Uvt1+E9Y+V6QqpCcSf5oGsQBAU+k95KghUHHHUsWssjgeRzG+LiooBoyf0Louci6zkVSid5ttUy+mk5mrBxBSQPKnMENHofSVGlbC/ULPTsIFr4fznNVo5gevClQtRaRmqnAeqz9r2lXn/ducyOO0L2nhIgP0RLjpoi7dd3SWWgXyBImAY/cmVKEsWKqu66grENtaqXVwZtVSjsl/w+pf2kkIPdZVJKI2hMgpLR94ClEOeAoM2cSur3Tjb1SyYVlnPjWgFffXZ12e24SkU3IIsTZQmaM84S3M1aAavZF0BYtU+dBX9Qm+7TjH5VPkL86rj
X-Exchange-RoutingPolicyChecked:
	h9iQra8U4aGcdvY1UTYLIMsgr6YGp6GRcZdsBxCeZAbcvW49wYroVUO7YyafzzNjZ5yLfbNjppvx29IgbOE1UqLagEmKp11VZYILHgZcVnMdyI87B2uOZ7N1KsKkJgcG3jNYUY1HpG/bYUhmMQPnLr7XDNyfKqHezYmyAlPNV65cUy0xNcI9rezRQ1SFMAgM6QtvrPEeCJf7ihcix0ersgthaiJrKbjG0sA4HO8/jf4x/Av7i3dBTXr5mfx8la8kGwBX/4cFl6/dR9XYR0ZtxdxUlCDDp/MsPV/nSpNFzzwullgPf3CF6Q1nY1B1wvZQIKfb6t/+2BxsUvvpM9Vz8Q==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	48LToikCpt+j8ovdehx4ahJF4iEJbXeUHZHRcSCKchaBHF5d4SclUo60TQ30yQsV3OQrfa7pIUz95v8Xxm9m05JHhMj+TCnG7Cb9iGWGfYJLGkHLE24U56J3LKvm9uW4dJ88gRG1uEes1UbweHqQ4alH3Ma3bcHwKT0faCOo9BpmE5KOMUEis8mLLcqVdYdUeFNBhV6sKAz1uAFcnvsCDJT4TQRksi96uEy3Yv7vlXemLCul229gdWz/dQBPFEalaJKTBbrcVo+sXy2Pw1Uo8O/Qwr0imaKfMGUSael9PrCzcA0GxN9JhbqJE214N5y4HPKHX5rwg86ofoMOmXWGHKTxhjA/t53ch4LeQZJ2YL+lW5/NtxI2Vw7H0l7A7TwV/IVloRp8n/yLpa/tsnwNateDU0ulIikzmiyDOjSQvbRwxpXvYAzBjF/FFkzNjbbI888SvK2of/0qqv3VfSQ5sVTXY2mByPxhack3y0ATosKNrpXZILRV8qhUDmXhk3xmUr5R8v+kyby2BS9yUQJAyazWgAttP42yorB233G4/px8vTSvA4+wCA2I3Nw9/1DUT/xgEpgwqif5jMkrs5cXjrfmMwc0doOHfYhNAprY1EmxnZKLVRVdCk2K5sHQjYmA
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 01:28:11.3584
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 907d19f8-80bc-47fc-32fe-08dec5c65ea9
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[148.163.138.245];Helo=[mx0b-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS2PEPF000061C1.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR16MB4695
X-Proofpoint-GUID: 4OmKxEcjI4cUWG1XhzBZmCeoqBWOxZZa
X-Authority-Analysis: v=2.4 cv=aqyCzyZV c=1 sm=1 tr=0 ts=6a276c32 cx=c_pps
 a=mniIB+Hk/8HPdz+5sH7poA==:117 a=b7IhknPlfT0FN1EembXvig==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10
 a=3PXLN80vpJUA:10 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=P_n1zlmtWsCQbjROFjcg:22 a=N9_n2FxmZfwfyRXvS9-E:22
 a=cbNQJ9GKAAAA:8 a=DmLxPvNSLnFg9s9KLroA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10
 a=ZXulRonScM0A:10 a=zZCYzV9kfG8A:10 a=DqJYxgmhk6moR-_7_KoZ:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA5MDAxMCBTYWx0ZWRfX4q6mwNwiUV8a
 TA6ohfjaToP2Gwdlq4ejHMStCMO3xLOxlyw0nOKl/Qu+B5R8wLWR8wwDen+zC8dYxdQlwZ3brZp
 G23NPobnAI5Xmv0xqdKTcVwFHSqP18EzD6fwHOvKZeYvzWaY4xtX9dpSYT5vFqgtHTHs0eHqLCT
 G8xEOpwkhYG/c6VluegAqDcR1StX8UUqDgn9UiLLUgrLX4vi67vumHww850DaMieowNVqNDgall
 8dYq/5VDw06StY72/JZG3AGemhjZan79wFZ1fcA7+9ip9MJ+ATBPnC+bseEh+tQIc2eqYLdwmgu
 6VmCu7WsgPKycQKmCaQbhcokXBAylnEO2ubn5ICXB78hfoX8w+qRDSPc8/OBnUf281aXweAzPzK
 KFm2l9sRDHPqRAU5+dUgdi9vKsIsvlZJHGUT4IPgE4ENGd8lbNWK9fVU7028t0qA+nN3veFo1wK
 Su1Po7qqjfqWsCYEGjg==
X-Proofpoint-ORIG-GUID: 4OmKxEcjI4cUWG1XhzBZmCeoqBWOxZZa
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-08_06,2026-06-09_01,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 clxscore=1015
 suspectscore=0 priorityscore=1501 phishscore=0 spamscore=0 malwarescore=0
 adultscore=0 bulkscore=0 lowpriorityscore=0 impostorscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606090010
X-purgate-ID: tlsNG-720697/1780968500-A9B70161-658D7176/0/0
X-purgate-type: clean
X-purgate-size: 879

Hi all,

On Mon, Jun 08, 2026 at 10:49:55PM +0100, Christopher Clark wrote:
> On Thu, Jun 4, 2026 at 10:49â€¯PM <dmukhin@ford.com> wrote:
> >
> > This series corrects Argo module tracing.
> 
> This series has been committed to staging.
> 
> The maintainers were not CC'd on the series, and did not provide an ack.

Sorry, I did not mean to overrule anything or violate the existing process.

I posted the series as an attempt to resolve the log spam reported internally.

I also appreciate the time everyone involved spent reviewing and providing
feedback on this small series.

> 
> Patch 1 is rejected as an inappropriate change.
> 
> Therefore it needs reverting.
> 
> > Patch 1 lowers the verbosity of a spammy log message.
> 
> Please see the review comment provided by Daniel on the v3 version.
> 
> thanks
> 
> Christopher
> 


--
Denis


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 07:29:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 07:29:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332411.1594862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWqtu-0005J4-Gn; Tue, 09 Jun 2026 07:29:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332411.1594862; Tue, 09 Jun 2026 07:29: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 1wWqtu-0005Ix-Dy; Tue, 09 Jun 2026 07:29:30 +0000
Received: by outflank-mailman (input) for mailman id 1332411;
 Tue, 09 Jun 2026 07:29:28 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wWqts-0005Ir-81
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 07:29:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWqtr-00FE3P-Gb
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 09:29:27 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a27c0cc-2eae-0a2a0a5409dd-0a2a450aaf00-24
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 09:29:27 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a27c0d7-56b3-0a2a450a0019-d155802ad172-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 09:29:27 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-490ace40f4bso60139315e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 00:29:27 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490bc3fcf5bsm546387855e9.9.2026.06.09.00.29.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 09 Jun 2026 00:29: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780990167; x=1781594967; 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=uBngxOn63HrEbR6jkI3WkuhBsFTvSthFXWdl5ThrYOE=;
        b=nr1nwJPJbMSG5AlbUaOwa31s9NhbbpcdbTNity+KLQwntO8agKwkaNuqxYPhAs7EM2
         g5xowBsZPrlckvmXO3JX1CztbZltTCUc0t4FgQnzj69AKS04IAwd5nVEY0DgV2gFfHaM
         AV1AVOryuVZm+JCPYyc2iWa1ON6g4ji2E8I9NZIDWA28NJjmKOCBG0yg/xy6d2F/zAKi
         w5zZGSyFVxMn0YSAKdJ+6QBixe+XPdNx94Y78CBpEpkN3KwPxjFSXBLpgmSQPjUyYX6d
         u+vyfHWWPbovY5MtI6KCZHXl5Wz3Kt4PBwulN9mABRDzi4WlPoE3reIZWuFZWTGfX/Wp
         n0Gw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780990167; x=1781594967;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=uBngxOn63HrEbR6jkI3WkuhBsFTvSthFXWdl5ThrYOE=;
        b=JEOdmy5XCZS6/NB5Rt5tPSP0+7Hz5suW9YQkYbez20F/lxejPLICLFLywcosRBUUd9
         ZVdiZqwOjtpViKFwI15OuMAQ6ZWN6oAm+dptLb01U/Mk7SZstf8PfqTunDjExqFmCe7E
         Bz3p9lu7zk7rq8hZWYQvFYfUf6NIQvcSCmqY0mMkZdNYD1qzsvomX7g6AE1uLFp8BZCA
         KWeYIi5VsPIRjuQr4O7SBGv2aROWGSFNXw5jGxD3rH37cw1+LziHyl2p6D4qG/mhqc9h
         qRgDqc5MWjF3NmWFhj2YV32CO3u4+06OQbEIUv2UmmHeK0iqkDy7LpeDNbTi0EwK0i2r
         TrlQ==
X-Forwarded-Encrypted: i=1; AFNElJ8jX6mVo3oMzr2RPnV1NnXYnLIL34OhCEJg6TgN8iOMgL3Aa/N/iz2zXgqr1qUFxF3RpvhG9oQNQ6U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzfH8ouSGoboufinwcXgjmHqFvKicDteEc13UqkFrZkHVxvQfvc
	ucUIKRLe1U/ZRUHDM5zQWQnGS+3yshAuiuFHgSmEY4jqTeaDcuI+YmhK
X-Gm-Gg: Acq92OGGG+mTyScAWq3uE6E0AzyIeNF/g0f9AqWw11mOWIJolcaUf7cRSvBcSqcWqlo
	XkcA5tg706LueD7NZNckLLP0JOxEDCdxNudghTQHLp0hm1l8UVZ2SWerlxQmCJzcCNAdBjolgsf
	cb0zfbrTpi54EbzcKb/oeYiDsOWDkNWdzuo/0OU65jyFjuYW+jO+rlM8bqXdAK7KVs2l4+b/h8q
	0PhqrMkzR4Dyjs7yY6DvwHWrrA/ixDwe5v5EccMdA1y+UzhgWi+2TrI8zCz71fS8lDRMDgVtLAM
	4EWwuxD8c4mxYdRhVlt6r74ZvZOjqQ2hb2XBGspghBzW4ni2sHaNR58hFbEF7rjWEDDBAy0YmhC
	TuqA8eBzAg9F449PJIBdVsIJ5voJYSa+Z2yemH1Ltf7ls2zTBq32I87H/OEhx9OCibzjnnYtkZ/
	3YsxWsZDqKAS5J61O002ZwKbbQFtrK+e9T/0/8SJAY2ZlFP/yRavnAYu+GI9mXyx47IcTZDEUcI
	cBO2dEcPlKnyCPZ
X-Received: by 2002:a05:600c:6792:b0:48a:f18:ece4 with SMTP id 5b1f17b1804b1-490c25ee920mr318322835e9.24.1780990166659;
        Tue, 09 Jun 2026 00:29:26 -0700 (PDT)
Message-ID: <495ee5d8-d0df-4b6f-8edf-0907bf4f10bf@gmail.com>
Date: Tue, 9 Jun 2026 09:29:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] xen/x86: Always strip xen.efi
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>
References: <20260608173108.2848469-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260608173108.2848469-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1780990167-7DB818B7-56E94317/10/73395122804
X-purgate-type: spam
X-purgate-size: 3430



On 6/8/26 7:31 PM, Andrew Cooper wrote:
> From: Frediano Ziglio <frediano.ziglio@citrix.com>
> 
> xen.efi with debugging symbols is ~45MB, down to ~9.3MB when stripped.
> Multiple firmwares (as seen by QubesOS, Trenchboot, and XenServer) are unable
> to boot xen.efi when debugging symbols are included.
> 
> Either way, having debug symbols by default is abnormal and contrary to how
> the non-EFI path works.
> 
> Produce xen-syms.efi unconditionally, just like xen-syms.  If
> CONFIG_DEBUG_INFO is enabled, these will contain debug symbols, and if not,
> then not.  When xen-syms is processed by mkelf32, the debug symbols are simply
> discarded.  For xen-syms.efi, call $(STRIP) to produce xen.efi.
> 
> Some old versions of binutils ld managed to produce efi files which the
> matching version of strip couldn't process.  This includes Binutils 2.26
> included in Ubuntu 16.04.  Delete the workaround for this bug, and require a
> less broken toolchain.
> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.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: Teddy Astie <teddy.astie@vates.tech>
> CC: Frediano Ziglio <frediano.ziglio@citrix.com>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> CC: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
> CC: Daniel P. Smith <dpsmith@apertussolutions.com>
> 
> For 4.22.  This was posted previously as
> 
>    https://lore.kernel.org/xen-devel/20251208133945.61375-1-frediano.ziglio@citrix.com/T/#u
> 
> but merged the two patches and rewritten the commit message to make it clear
> that failing to strip xen.efi is causing boot failures.
> 
> Previously xen.efi.elf was produced but it's unclear why, and unnecessaerily
> different, so I've dropped it.
> 
> While this does want backporting, it can't be.  Xen 4.21 and older still build
> test with Ubuntu 16.04 and choke
> ---

LGTM to be in 4.22:
Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

and ...

>   .gitignore            |  1 +
>   CHANGELOG.md          |  3 +++>   docs/misc/efi.pandoc  |  8 +-------
>   xen/Kconfig.debug     |  9 ++-------
>   xen/Makefile          | 19 -------------------
>   xen/arch/x86/Makefile | 11 ++++-------
>   xen/arch/x86/arch.mk  |  7 -------
>   7 files changed, 11 insertions(+), 47 deletions(-)
> 
> diff --git a/.gitignore b/.gitignore
> index bfc7bdf043c3..49e2c6961768 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -224,6 +224,7 @@ tools/flask/policy/xenpolicy-*
>   xen/xen
>   xen/suppression-list.txt
>   xen/xen-syms
> +xen/xen-syms.efi
>   xen/xen-syms.map
>   xen/xen.*
>   
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 5cf19372a361..71d1e9ab8c69 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -14,6 +14,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>    - On x86:
>      - Enable pf-fixup option by default for PVH dom0.
>      - The libxenguest bzImage loader now uses the system liblz4 library.
> +   - The install-time environment variable INSTALL_EFI_STRIP no longer exists.
> +     xen.efi is always stripped, while the symbols remain available in
> +     xen-syms.efi.

...
  Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com> # CHANGELOG.md

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 07:32:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 07:32:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332419.1594872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWqwW-0006sR-TH; Tue, 09 Jun 2026 07:32:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332419.1594872; Tue, 09 Jun 2026 07:32: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 1wWqwW-0006sJ-Pm; Tue, 09 Jun 2026 07:32:12 +0000
Received: by outflank-mailman (input) for mailman id 1332419;
 Tue, 09 Jun 2026 07:32:12 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wWqwV-0006sC-NS
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 07:32:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWqwU-004rF8-Po
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 09:32:10 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a27c175-2eae-0a2a0a5409dd-0a2a4509bb6a-18
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 09:32:10 +0200
Received: from [52.101.85.69]
 (helo=BYAPR05CU005.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a27c178-2497-0a2a45090019-34655545321b-4
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 09:32:09 +0200
Received: from MN2PR08CA0023.namprd08.prod.outlook.com (2603:10b6:208:239::28)
 by DS7PR12MB6165.namprd12.prod.outlook.com (2603:10b6:8:9a::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Tue, 9 Jun 2026
 07:32:02 +0000
Received: from BL02EPF0001A106.namprd05.prod.outlook.com
 (2603:10b6:208:239:cafe::40) by MN2PR08CA0023.outlook.office365.com
 (2603:10b6:208:239::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.113.10 via Frontend Transport; Tue, 9
 Jun 2026 07:32:02 +0000
Received: from satlexmb08.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_256_GCM_SHA384) id
 15.21.113.7 via Frontend Transport; Tue, 9 Jun 2026 07:32:02 +0000
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 9 Jun
 2026 02:31:59 -0500
Received: from [10.71.196.80] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Tue, 9 Jun 2026 02:31:58 -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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=YFdr1jM81IKWbNeCwavkNQEJJ905P9aigHnV572OIaurllRWc1pLZJg2L5aU0kOQg2aIDx96ArVyngIDA3yq6Lbr1mjMHahOlGEaot7yHcV8MpjH2jG9H9TKkmtQeGuygFHqp5+ax7RYkutvp0FV2jr/WFV3YF/2UVsdYfQ9ovPiw2RJyZLHQzugwZcM5zMj78vKt5yQMX/vTxV5N/0wefRTTiKs9tsHFCAxvOSXYULSE6XYZQIGwU+U6E4VILDljDu49vZiNZeUTjzyrZA/eTGsNqiQq3emUWt6N3KHVMDodc0d0vJij386pQqQG5vx4ZZVMzXUPtNagAGE4RFyvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QgJXTAGBPEZt6IEiGr0L6aVFDGsmQc/peIzLjg4ueLQ=;
 b=BSTute5RguHagYm8aT8txV1pVOf8dcp8sn+giHU87jXc7dlwRkKDev9ST8PpTSsUajlXxnMu/CYOzlmj01gMaA3yFqwQKyQjnj5uq8rD1hLhhd3nrSniXJbVtOT82y0rgAd9YvziPNl36KKJqcX1nu6p7uxqXZDi01Goz1fFtaz5BjxexsTZdcgYLODqy/6PBlSsgJVnuNvXhTTHcci24BpEjL3WdXhqC9ZIlHrfw/7nY8m7WgfU1HducCD59g1s48UfxyN+08z2VVSnV5H9lQ9BBMxG63oYEGDeU9zrY5J+lB9O8aOHWQVCxt16/QOYDnrQoU9UUx9fRpGVzrk2nQ==
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=QgJXTAGBPEZt6IEiGr0L6aVFDGsmQc/peIzLjg4ueLQ=;
 b=EnZBnJd8blOg8HSuVXJTpBIgtVS3gfyZ+p4/hMv4JizkK0DRtod0tX3YvIDy0h3a8IXuoUX07KZ1nnQWAlpvYektQIRsh5kOIExgPV4+2RXCOMB5XM0m5KAy82x8uYJAXp25acQYb7jn26uUdalzRov9LhFhcyZW4/DkHMLQy/U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <03bca529-419a-4c14-b229-7e47e8e36e7a@amd.com>
Date: Tue, 9 Jun 2026 08:31:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v3 2/2] device-tree: validate hwdom bank 0 boot
 placement
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>, 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>, Oleksii Kurochko
	<oleksii.kurochko@gmail.com>
References: <cover.1780896733.git.mykola_kvach@epam.com>
 <916609a0c6e66dd24e4435d31a165a1326fe5281.1780896733.git.mykola_kvach@epam.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <916609a0c6e66dd24e4435d31a165a1326fe5281.1780896733.git.mykola_kvach@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0001A106:EE_|DS7PR12MB6165:EE_
X-MS-Office365-Filtering-Correlation-Id: daddb8c7-306c-44f8-9e5d-08dec5f9330b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|7416014|82310400026|36860700016|1800799024|56012099006|4143699003|11063799006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	Rr1zXgVD3x9jQNK2ZaY1xrI3zvsSXynKb/WXfhPUCaD5DQDBoFcV/HRPnAVD6zNufZ9yTWiqQABlYtPh9z8pUBZ/1mGkMgHc/i93q4vJuQy1S+SuZt4zU7vdXEfA4dQx4/MtIQb1wlhK0Q1zRp6+QK1iYxGZf/V+9wGRCMNOTM647DHgWUpDrmdA8qW216xVvKcCmrFwuQqWOv5oQurt8jDhh8AT9q1xMuPkhovEbI24bdc0j3JoOKbnOKdc2yeAhNDPTrCPIfuMd9g3B/5Vs/y7DwMiiKBkisA2fL9fvASyAFm/GAu2H1fpuI7S6Bb3nPgEdbA2ZgkAPiqjsh9r8pwCstQ0rPHJK91TXyaCLhT2y6xFE2ZZffbeBxgS1xomq2xMmyT+LvwFLbspf5ANE6fBqp/6Fn2UQdVE2dFDh8V65EQiNYKJigKVB/De9koS9n+pKm+wnsZKnqXsqX7p/nagn1NXytWZPoYQbkPRZU351cN66jXeVynXs0Oy01/bOnvBHaIRFIq4D77NDPiGQtoacv4s4/sfyL8s2Y/+3Jw1nkGgO6lBv6mCb+SyNr2sjx7qLIB8LFtUJ1DwT5ad9P1eieIzabp41ZDniq5tl5OhSpZ2De55rqAa9eRU/0KjtZUFLHUsNz7WPWOSMQyNJmdjUD2eza3+Y7pVcB3rhlvMRlCXbwe0it3FmMXTLfpl
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(82310400026)(36860700016)(1800799024)(56012099006)(4143699003)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	17nuF1mVM379JSxIxCrVBms8fwlQuOhUjaNLyaANj3CQoA73hMXtlSH27mQZtfANuwvmy5IiEapPHapQW2AM3AFogqdFD2HnS3V8h6S5o4V+WT4HxdNXdjQ75IFOlbx2rjd77wHZbD7Xvr+MBOcRUIUuc1ZT1WH0f5ja5b//+eY4fxRQSa3N75HgE5+zwZCljNcK0njZtaEKfShm8c4xpxl7FN2RbVthgJZQwevjxsZK0NtERM7kCJkFOsZ4LAgz1sdPDGh+s5CqZQY1OxA13X9MmxlzN/RCWSZE9heu89gBnCMi2RfD7uWYCSf1VnPfVL6etDeAAuEvFFo4ulVxHpBLbEMZa14o4KiyzsHh3yWd1UavOtHVUmJTIys8ybMjjtfRuIQbgyUdTtdcJeQft6aCu6RWTbST/h2TuH/L4ESgb0IXdwyOdKj/oSCzqe9l
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 07:32:02.6755
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: daddb8c7-306c-44f8-9e5d-08dec5f9330b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0001A106.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6165
X-purgate-ID: tlsNG-bad1c0/1780990330-42573A53-47EA0EE7/10/73395122804
X-purgate-type: spam
X-purgate-size: 12951



On 08-Jun-26 07:39, Mykola Kvach wrote:
> From: Mykola Kvach <mykola_kvach@epam.com>
> 
> With LLC coloring enabled, the hardware domain memory is allocated by
> allocate_hwdom_memory() rather than by using the fixed direct-map layout.
> 
> Commit de99f3263555 ("device-tree: Improve hwdom memory allocation for
> DMA") made that allocator prefer lower host regions. The first-bank
> filter, however, still only checked the old 128MB heuristic. A low region
> can satisfy that heuristic but still be too small, or otherwise
> unsuitable, for the hardware-domain kernel and the DTB/initrd area to fit
> in bank 0 according to the Arm placement rules.
> 
> Keep the existing first-bank size policy and add an architecture-specific
> candidate check. On Arm, compute the kernel load address for the
> candidate bank using the same logic as kernel_zimage_place(), verify that
> the kernel range is covered by that bank, and then reuse the same
> DTB/initrd placement helper as place_dtb_initrd(). The FDT is generated
> later, so use the hardware-domain FDT allocation size as a conservative
> upper bound for the final DTB size.
> 
> Check the candidate after capping the host region by the remaining
> unassigned hardware-domain memory, so the validation is performed against
> the size that would actually become bank 0.
> 
> This keeps the DMA-oriented allocation policy from de99f3263555 while
> preventing a too-small bank 0 from reaching place_dtb_initrd().
> 
> Make kernel_zimage_place_in_bank() return INVALID_PADDR when a
> position-independent zImage cannot be placed in the supplied bank; the
> real load path turns this into a panic, while the hwdom candidate check
> uses it to reject the bank.
> 
> Fixes: de99f3263555 ("device-tree: Improve hwdom memory allocation for DMA")
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in v3:
> - Rename the architecture hook to
>   arch_hwdom_first_bank_can_fit_modules() and document its contract.
> - Drop the redundant post-alignment zImage load-address check.
> - Drop the dead kernel range overflow check.
> - Make the candidate-bank coverage condition explicit.
> 
> Changes in v2:
> - Split the behavior-preserving placement refactoring into the previous
>   patch.
> - Reuse the refactored Arm kernel and DTB/initrd placement helpers for
>   the first-bank candidate check.
> 
> Link to v1:
>   https://patchew.org/Xen/4f862bb2dc323914b8120b0f16af7516140cf42b.1780065103.git.mykola._5Fkvach@epam.com/
> 
> Changes since RFC:
> - Do not keep the RFC scalar minimum-size check.  It can both reject valid
>   layouts and accept layouts which still fail later.  Instead, validate
>   the candidate bank using the same kernel and DTB/initrd placement rules
>   as the load path.
> - Replace the scalar minimum-size check with arch_hwdom_first_bank_ok().
> - Validate fixed-address and AArch32 start == 0 kernel placement against
>   the candidate bank.
> - Check the candidate after capping the host region by the remaining
>   unassigned hardware-domain memory.
> - Treat the hardware-domain FDT allocation size as a conservative upper
>   bound because the final FDT is generated later.
> 
> Link to RFC: https://patchew.org/Xen/9ae4f7dd49f5b1f761193adae573c2675c92e883.1779051035.git.mykola._5Fkvach@epam.com/
> 
> Why the RFC scalar approach was not kept:
> 
> A simple minimum-size check is not sufficient here because the validity
> of the first bank depends on the actual Arm placement rules, not only on
> the aggregate size of the kernel, DTB and initrd. The DTB/initrd area may
> fit before a 64-bit Image loaded with a text offset, while an AArch32
> position-independent kernel may leave no valid module location even when
> the aggregate size appears to fit. Fixed-address kernels also need the
> candidate bank start to be considered.
> ---
>  xen/arch/arm/acpi/domain_build.c        |  2 -
>  xen/arch/arm/domain_build.c             |  8 ++++
>  xen/arch/arm/include/asm/domain_build.h |  4 ++
>  xen/arch/arm/include/asm/kernel.h       | 10 +++++
>  xen/arch/arm/kernel.c                   | 53 ++++++++++++++++++++++++-
>  xen/common/device-tree/domain-build.c   | 25 ++++++++----
>  xen/include/xen/fdt-kernel.h            | 14 +++++++
>  7 files changed, 105 insertions(+), 11 deletions(-)
> 
> diff --git a/xen/arch/arm/acpi/domain_build.c b/xen/arch/arm/acpi/domain_build.c
> index 249d899c33..db16f7fa94 100644
> --- a/xen/arch/arm/acpi/domain_build.c
> +++ b/xen/arch/arm/acpi/domain_build.c
> @@ -26,8 +26,6 @@
>  #undef virt_to_mfn
>  #define virt_to_mfn(va) _mfn(__virt_to_mfn(va))
>  
> -#define ACPI_DOM0_FDT_MIN_SIZE 4096
> -
>  static int __init acpi_iomem_deny_access(struct domain *d)
>  {
>      acpi_status status;
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 1efddc60ef..550617f152 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -115,6 +115,14 @@ int __init parse_arch_dom0_param(const char *s, const char *e)
>                               (IS_ENABLED(CONFIG_STATIC_SHM) ?         \
>                                (NR_SHMEM_BANKS * (160 + 16)) : 0))
>  
> +paddr_t __init hwdom_get_fdt_alloc_size(void)
> +{
> +    if ( acpi_disabled )
> +        return fdt_totalsize(device_tree_flattened) + DOM0_FDT_EXTRA_SIZE;
> +
> +    return ACPI_DOM0_FDT_MIN_SIZE;
> +}
> +
>  unsigned int __init dom0_max_vcpus(void)
>  {
>      if ( opt_dom0_max_vcpus == 0 )
> diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
> index df8b361b3d..85cf46a958 100644
> --- a/xen/arch/arm/include/asm/domain_build.h
> +++ b/xen/arch/arm/include/asm/domain_build.h
> @@ -19,6 +19,10 @@ int prepare_acpi(struct domain *d, struct kernel_info *kinfo);
>  
>  int add_ext_regions(unsigned long s_gfn, unsigned long e_gfn, void *data);
>  
> +#define ACPI_DOM0_FDT_MIN_SIZE 4096
> +
> +paddr_t hwdom_get_fdt_alloc_size(void);
> +
>  #if defined(CONFIG_MPU) && defined(CONFIG_ARM_64)
>  /* Utility function to determine if an Armv8-R processor supports VMSA. */
>  bool has_v8r_vmsa_support(void);
> diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
> index 21f4273fa1..b86c7337fe 100644
> --- a/xen/arch/arm/include/asm/kernel.h
> +++ b/xen/arch/arm/include/asm/kernel.h
> @@ -8,12 +8,22 @@
>  
>  #include <asm/domain.h>
>  
> +#include <xen/types.h>
> +
> +struct kernel_info;
> +
>  struct arch_kernel_info
>  {
>      /* Enable pl011 emulation */
>      bool vpl011;
>  };
>  
> +#define arch_hwdom_first_bank_can_fit_modules \
> +        arch_hwdom_first_bank_can_fit_modules
> +bool arch_hwdom_first_bank_can_fit_modules(const struct kernel_info *info,
> +                                           paddr_t bank_start,
> +                                           paddr_t bank_size);
> +
>  #endif /* #ifdef __ARCH_ARM_KERNEL_H__ */
>  
>  /*
> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
> index d1be4d8074..47229644b2 100644
> --- a/xen/arch/arm/kernel.c
> +++ b/xen/arch/arm/kernel.c
> @@ -64,6 +64,9 @@ kernel_zimage_place_in_bank(const struct kernel_info *info,
>          load_end = bank_start + bank_size;
>          load_end = MIN(bank_start + MB(128), load_end);
>  
> +        if ( load_end - bank_start < info->image.len )
> +            return INVALID_PADDR;
> +
>          load_addr = load_end - info->image.len;
>          /* Align to 2MB */
>          load_addr &= ~(MB(2) - 1);
> @@ -164,9 +167,55 @@ static void __init place_dtb_initrd(struct kernel_info *info,
>  static paddr_t __init kernel_zimage_place(struct kernel_info *info)
>  {
>      const struct membanks *mem = kernel_info_get_mem(info);
> +    paddr_t load_addr;
> +
> +    load_addr = kernel_zimage_place_in_bank(info, mem->bank[0].start,
> +                                            mem->bank[0].size);
> +    if ( load_addr == INVALID_PADDR )
> +        panic("Unable to find suitable location for the kernel\n");
> +
> +    return load_addr;
> +}
> +
> +bool __init arch_hwdom_first_bank_can_fit_modules(const struct kernel_info *info,
> +                                                  paddr_t bank_start,
> +                                                  paddr_t bank_size)
> +{
> +    const struct boot_module *initrd = info->bd.initrd;
> +    /*
> +     * place_dtb_initrd() rounds the DTB and initrd placement to 2MB boundaries;
> +     * use the same granularity when checking whether the first bank can hold
> +     * them.
> +     */
> +    const paddr_t initrd_len = ROUNDUP(initrd ? initrd->size : 0, MB(2));
> +    /*
> +     * The hardware domain FDT has not been generated yet. Use the allocation
> +     * size as a conservative upper bound for the final DTB size.
> +     */
> +    const paddr_t dtb_len = ROUNDUP(hwdom_get_fdt_alloc_size(), MB(2));
> +    const paddr_t rambase = bank_start;
> +    const paddr_t ramsize = bank_size;
> +    const paddr_t dtb_initrd_size = initrd_len + dtb_len;
> +    const paddr_t ramend = rambase + ramsize;
> +    paddr_t kernbase;
> +    paddr_t kernend;
> +    paddr_t dtb_base;
> +
> +    kernbase = kernel_zimage_place_in_bank(info, bank_start, bank_size);
> +    if ( kernbase == INVALID_PADDR )
> +        return false;
> +
> +    kernend = kernbase + info->image.len;
> +
> +    if ( (kernbase < rambase) || (kernend > ramend) )
> +        return false;
> +
> +    if ( !first_bank_can_fit_modules(ramsize, kernbase, kernend,
> +                                     dtb_initrd_size) )
> +        return false;
>  
> -    return kernel_zimage_place_in_bank(info, mem->bank[0].start,
> -                                       mem->bank[0].size);
> +    return find_dtb_initrd_placement(rambase, ramend, kernbase, kernend,
> +                                     dtb_initrd_size, &dtb_base);
>  }
>  
>  static void __init kernel_zimage_load(struct kernel_info *info)
> diff --git a/xen/common/device-tree/domain-build.c b/xen/common/device-tree/domain-build.c
> index f3ba496f1e..30a59abfa7 100644
> --- a/xen/common/device-tree/domain-build.c
> +++ b/xen/common/device-tree/domain-build.c
> @@ -299,20 +299,31 @@ static bool __init allocate_hwdom_memory(struct kernel_info *kinfo)
>  
>      for ( i = 0; (kinfo->unassigned_mem > 0) && (i < nr_banks); i++ )
>      {
> -        paddr_t bank_size;
> +        const paddr_t bank_start = hwdom_free_mem->bank[i].start;
> +        paddr_t bank_size = hwdom_free_mem->bank[i].size;
> +
> +        /*
> +         * Check the size that would actually be assigned, not just the size
> +         * of the host region.
> +         */
> +        bank_size = min(bank_size, kinfo->unassigned_mem);
>  
>          /*
>           * The first bank must be large enough for place_dtb_initrd() to
>           * fit the kernel, DTB and initrd.  Skip small regions to avoid
>           * ending up with a tiny first bank.
>           */
> -        if ( !mem->nr_banks && (hwdom_free_mem->bank[i].size < min_bank_size) )
> -            continue;
> +        if ( !mem->nr_banks )
> +        {
> +            if ( bank_size < min_bank_size )
> +                continue;
> +
> +            if ( !arch_hwdom_first_bank_can_fit_modules(kinfo, bank_start,
> +                                                        bank_size) )
> +                continue;
> +        }
>  
> -        bank_size = MIN(hwdom_free_mem->bank[i].size, kinfo->unassigned_mem);
> -        if ( !allocate_bank_memory(kinfo,
> -                                   gaddr_to_gfn(hwdom_free_mem->bank[i].start),
> -                                   bank_size) )
> +        if ( !allocate_bank_memory(kinfo, gaddr_to_gfn(bank_start), bank_size) )
>          {
>              xfree(hwdom_free_mem);
>              return false;
> diff --git a/xen/include/xen/fdt-kernel.h b/xen/include/xen/fdt-kernel.h
> index 00c37be101..61721d22a2 100644
> --- a/xen/include/xen/fdt-kernel.h
> +++ b/xen/include/xen/fdt-kernel.h
> @@ -93,6 +93,20 @@ kernel_info_get_mem_const(const struct kernel_info *kinfo)
>      return container_of(&kinfo->mem.common, const struct membanks, common);
>  }
>  
> +/*
> + * Return whether the proposed hardware-domain first RAM bank can contain the
To `contain a placement` reads weird. I think `satisfy` would be a better word
that clearly denotes the purpose i.e. check if the bank satsifies the placement
requirements (we can also add `requirements` word to the end of the comment).

Can be done on commit (it looks like there are some ECLAIR issues, so we need to
wait a bit to merge the series).

Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 07:37:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 07:37:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332428.1594882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWr1F-0007Wd-I8; Tue, 09 Jun 2026 07:37:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332428.1594882; Tue, 09 Jun 2026 07:37: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 1wWr1F-0007WW-EX; Tue, 09 Jun 2026 07:37:05 +0000
Received: by outflank-mailman (input) for mailman id 1332428;
 Tue, 09 Jun 2026 07:37:04 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eab5024a2000701b@swg.vates.tech>)
 id 1wWr1E-0007WQ-5U
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 07:37:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWr1D-004sNn-CN
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 09:37:03 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eab5024a2000701b@swg.vates.tech>)
 id 6a27c29e-e002-0a2a0a5209dd-0a2a450caebc-2
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 09:37:03 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eab5024a2000701b@swg.vates.tech>)
 id 6a27c29d-62f1-0a2a450c0019-b9ff1c128d57-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 09:37:01 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19eab5024a2000701b.002 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 09 Jun 2026 07:36:56 +0000
Received: from localhost.localdomain (lfbn-lyo-1-392-219.w2-7.abo.wanadoo.fr
 [2.7.22.219]) (Authenticated sender: guillaume.thouvenin)
 by mail2.vates.fr (Postfix) with ESMTPSA id 15A3F87039;
 Tue,  9 Jun 2026 09:36: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=MsGPLnQJwJFUgXQ2Dv4M7ccM9v4ghXR0UxdMCsaqFsQ=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:feedback-id;
 b=MsYD49zkewksTZKTDhVKULaL4saYVKPdq20RfVaJuQtGZGVc/a7KMwksjAjSEJGfoOT3kk4nu
 PQ8w+ZIDMpqlgoFM53lHeZb2ft7xG6p0DOHuT/gl7GICYIIgndRtGjNSvGzgm64iH7NrFT4cIPT
 aLWN6+QivzqVcoNv8S5KtOxiKKtd1Pr3k01Nzqy1T28X4Ckmdsg8noCf7W1qtKlUFToxo/TczcJ
 ruPGvFivo4BJxizwECHM80YJ1fuSSXI4mSdtRoIqThTJYsJt2ke9eNeAWiepKcRNM4QZs3Pyvev
 e/NJSeJdKb+xM9KoGKh/v3XZpC+56v5Zea6RBl0bvkQg==
X-Zone-Loop: ba606259a9252c97579fc4434afe9dda5f94c6dfb43d
x-campaign-type: default
x-transaction-id: f866026e-b415-4289-b09b-9b00fd3d36cc
x-swg-uid: 01-c4b683f0-2e25-481d-b336-02ff6096c5ce
X-Mailer: Sweego
Message-ID:
 <1780990616.8631fc262581453bbf619ec5b2062170.19eab5024a2000701b@vates.tech>
x-swg-bid: 1780990616.8631fc262581453bbf619ec5b2062170.19eab5024a2000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
From: Guillaume Thouvenin <guillaume.thouvenin@vates.tech>
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	andriy.sultanov@vates.tech,
	guillaume.thouvenin@vates.tech,
	anthony.perard@vates.tech
Subject: [PATCH] tools/ocaml: silence ocaml_deprecated_auto_include alert
Date: Tue,  9 Jun 2026 09:36:35 +0200
MIME-Version: 1.0
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.235a.cc80553059e183e4.19eab502291.78b2c3991e094ad3=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1780990616213
X-purgate-ID: tlsNG-d25034/1780990622-F5784CF5-C8653A91/0/0
X-purgate-type: clean
X-purgate-size: 1314

---=Part.235a.cc80553059e183e4.19eab502291.78b2c3991e094ad3=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Ocaml's lib directory layout changed in 5=2E0: the unix and dynlink
libraries have been moved out of the standard library directory into
subdirectories=2E The compiler still locates them automatically but emits
an ocaml_deprecated_auto_include alert when doing so=2E

This patch sets the paths explicitly with -I +unix and -I +dynlink to
silence the alert=2E

Signed-off-by: Guillaume Thouvenin <guillaume=2Ethouvenin@vates=2Etech>
---
 tools/ocaml/common=2Emake | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/ocaml/common=2Emake b/tools/ocaml/common=2Emake
index c7eefceeb4=2E=2E0e6714e25a 100644
--- a/tools/ocaml/common=2Emake
+++ b/tools/ocaml/common=2Emake
@@ -11,6 +11,7 @@ OCAMLFIND ?=3D ocamlfind
=20
 CFLAGS +=3D -fPIC -I$(shell ocamlc -where)
=20
+OCAMLINCLUDE +=3D -I +unix -I +dynlink
 OCAMLOPTFLAGS =3D -g -ccopt "$(LDFLAGS)" -dtypes $(OCAMLINCLUDE) -w F -wa=
rn-error F
 OCAMLCFLAGS +=3D -g $(OCAMLINCLUDE) -w F -warn-error F
=20
--=20
2=2E47=2E3



-- 
 | Vates 

XCP-ng & Xen Orchestra - Vates solutions

web: https://vate=
s=2Etech
---=Part.235a.cc80553059e183e4.19eab502291.78b2c3991e094ad3=---


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 07:48:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 07:48:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332440.1594890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWrC3-00012Y-Fj; Tue, 09 Jun 2026 07:48:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332440.1594890; Tue, 09 Jun 2026 07:48: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 1wWrC3-00012R-Cq; Tue, 09 Jun 2026 07:48:15 +0000
Received: by outflank-mailman (input) for mailman id 1332440;
 Tue, 09 Jun 2026 07:48:14 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <tglx@kernel.org>) id 1wWrC2-000125-Jw
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 07:48:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWrC1-00514K-It
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 09:48:13 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <tglx@kernel.org>)
 id 6a27c52d-5cb7-0a2a0a5109dd-0a2a4505d0f2-44
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 09:48:13 +0200
Received: from [172.234.252.31] (helo=sea.source.kernel.org)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <tglx@kernel.org>)
 id 6a27c53b-aaa8-0a2a45050019-aceafc1fb6b4-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 09:48:13 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by sea.source.kernel.org (Postfix) with ESMTP id 0796A438AB;
 Tue,  9 Jun 2026 07:48:11 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1DB4D1F00893;
 Tue,  9 Jun 2026 07:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="From:To:Cc:Subject:In-Reply-To:References:Date"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1780991290;
	bh=iiljLo4Dj3SESslIfwzIuSptLw3aAN39KXfU2xj2Ngk=;
	h=From:To:Cc:Subject:In-Reply-To:References:Date;
	b=fhT/BnDr+KIL6FSHMueMDrXiAeihxCx9XYmV4sQEsCrgZ1a/wLUlA82c1I6chu2MM
	 rwKusfZOsEM3kx5pEdK9ggrNvlOkxF1bXbC0sEg1cxOzYdFCuBBw2Q4HB3K+Tk2mgF
	 cv0n962KH23nlUg4uss93akTXM5KJMfq8JYgGQ0evU2dHo+DKQ9+YcNw/k+9RPPLKp
	 J47WOewPhoa36WNJqXt4oaEjhDK0itmBDVBlKuYN0GyqnPG07ArrFllQqbbqboqHCC
	 oIieu3huEj6Hct6nh+p+M18BgnBSbKYb1ebIk/0iA2wklf1pZ6SvQa5gkT9+Y/gL8Z
	 WvHbYAtwWzDSg==
From: Thomas Gleixner <tglx@kernel.org>
To: Sean Christopherson <seanjc@google.com>, David Woodhouse
 <dwmw2@infradead.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, Kiryl Shutsemau <kas@kernel.org>, "K. Y. Srinivasan"
 <kys@microsoft.com>, Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu
 <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>, Long Li
 <longli@microsoft.com>, Ajay Kaher <ajay.kaher@broadcom.com>, Alexey
 Makhalov <alexey.makhalov@broadcom.com>, Jan Kiszka
 <jan.kiszka@siemens.com>, Andy Lutomirski <luto@kernel.org>, Peter
 Zijlstra <peterz@infradead.org>, Juergen Gross <jgross@suse.com>, Daniel
 Lezcano <daniel.lezcano@kernel.org>, John Stultz <jstultz@google.com>, "H.
 Peter Anvin" <hpa@zytor.com>, Rick Edgecombe <rick.p.edgecombe@intel.com>,
 Vitaly Kuznetsov <vkuznets@redhat.com>, Broadcom internal kernel review
 list <bcm-kernel-feedback-list@broadcom.com>, Boris Ostrovsky
 <boris.ostrovsky@oracle.com>, Stephen Boyd <sboyd@kernel.org>,
 kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-coco@lists.linux.dev, linux-hyperv@vger.kernel.org,
 virtualization@lists.linux.dev, xen-devel@lists.xenproject.org, Tom
 Lendacky <thomas.lendacky@amd.com>, Nikunj A Dadhania <nikunj@amd.com>,
 Michael Kelley <mhklinux@outlook.com>
Subject: Re: [PATCH v4 10/47] x86/tsc: Consolidate forcing of
 X86_FEATURE_TSC_KNOWN_FREQ for PV code
In-Reply-To: <aidEfvTMjLa2zt43@google.com>
References: <20260529144435.704127-1-seanjc@google.com>
 <20260529144435.704127-11-seanjc@google.com> <877boc554l.ffs@fw13>
 <eef867eae15e30d08482ba16a1a32159745b64a7.camel@infradead.org>
 <aidEfvTMjLa2zt43@google.com>
Date: Tue, 09 Jun 2026 09:48:07 +0200
Message-ID: <87a4t440js.ffs@fw13>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-c201ff/1780991293-DA374443-90C67E9D/0/0
X-purgate-type: clean
X-purgate-size: 2818

On Mon, Jun 08 2026 at 15:38, Sean Christopherson wrote:
> On Sat, Jun 06, 2026, David Woodhouse wrote:
>> > Along with:
>> >=20
>> > =C2=A0=C2=A0 if (!hypervisor_is_type(X86_HYPER_NATIVE)) {
>> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (tsc_khz_early)
>> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pr_warn("Ignoring non=
-sensical tsc_early_khz command line argument\n");
>> >=20
>> > or something daft like that.
>
> Ya, I ended up in the same place once Sashiko pointed out that skipping t=
he SNP/TDX
> setup was hazardous[*], and also once I realized that tsc_khz_early *comp=
lemented*
> the refinement instead of replacing it.
>
> This is what I have locally:
>
>         if (cc_platform_has(CC_ATTR_GUEST_SNP_SECURE_TSC))
>                 known_tsc_khz =3D snp_secure_tsc_init();
>         else if (boot_cpu_has(X86_FEATURE_TDX_GUEST))
>                 known_tsc_khz =3D tdx_tsc_init();
>
>         /*
>          * If the TSC frequency wasn't provided by trusted firmware, try =
to get
>          * it from the hypervisor (which is untrusted when running as a C=
oCo guest).
>          */
>         if (!known_tsc_khz && x86_init.hyper.get_tsc_khz)
>                 known_tsc_khz =3D x86_init.hyper.get_tsc_khz();
>
>         /*
>          * Mark the TSC frequency as known if it was obtained from a hype=
rvisor
>          * or trusted firmware.  Don't mark the frequency as known if the=
 user
>          * specified the frequency, as the user-provided frequency is int=
ended
>          * as a "starting point", not a known, guaranteed frequency.
>          */
>         if (known_tsc_khz && !tsc_early_khz)
>                 setup_force_cpu_cap(X86_FEATURE_TSC_KNOWN_FREQ);

If the frequenct is known via the above then you want to set the
KNOWN_FREQ feature bit unconditionally. SNP/TDX/hypervisor override the
command line argument as you print below.

>         /*
>          * Ignore the user-provided TSC frequency if the exact frequency =
was
>          * obtained from trusted firmware or the hypervisor, as the user-
>          * provided frequency is intended as a "starting point", not a kn=
own,
>          * guaranteed frequency.
>          */
>         if (!known_tsc_khz)
>                 known_tsc_khz =3D tsc_early_khz;
>         else if (tsc_early_khz)
>                 pr_err("Ignoring 'tsc_early_khz' in favor of firmware/hyp=
ervisor.\n");

>> All the nonsense about updating it every time we enter a CPU could just
>> go away completely.
>
> But to Thomas' point, why bother?  For actual old hardware, kvmclock is w=
hat it
> is.  For modern hardware, it's completely antiquated.

I agree, but we are not forced to make it a first class citizen to the
detriment of sane systems.

Thanks,

        tglx


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 08:05:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 08:05:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332462.1594899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWrSO-0004ct-5a; Tue, 09 Jun 2026 08:05:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332462.1594899; Tue, 09 Jun 2026 08:05: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 1wWrSO-0004cm-2s; Tue, 09 Jun 2026 08:05:08 +0000
Received: by outflank-mailman (input) for mailman id 1332462;
 Tue, 09 Jun 2026 08:05:07 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eab69dce0000701b@swg.vates.tech>)
 id 1wWrSN-0004cg-Dh
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 08:05:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWrSM-00CUma-C1
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 10:05:06 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eab69dce0000701b@swg.vates.tech>)
 id 6a27c92b-2eae-0a2a0a5409dd-0a2a450ccc24-34
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:05:06 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eab69dce0000701b@swg.vates.tech>)
 id 6a27c931-62f1-0a2a450c0019-b9ff1c12a1fb-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:05:06 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19eab69dce0000701b.002 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 09 Jun 2026 08:05:02 +0000
Received: from [192.168.0.158]
 (cpc92322-cmbg19-2-0-cust1759.5-4.cable.virginm.net [86.26.38.224])
 (Authenticated sender: andriy.sultanov)
 by mail2.vates.fr (Postfix) with ESMTPSA id 82BFE86C6F;
 Tue,  9 Jun 2026 10:05:01 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=rd806Osx2w9AasNfUkFkZyDhsJPinn6d2Q57doLPmBY=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=meT1/0bdrxMDZks3TXvPaUmrqhougJtoFtEqyjFm6cM7u8MUM5UPO9DkwOdR6U/eyEALdJt5h
 gsD7EiGoA4FyPiEOE5GIt6oSjBC8wUXUFfQsRUHvvn2UUyHXb6UW5lIqqiDM3LLwCzDvOqfGFhx
 TnrchrbVBiyBwUTOWxaF8qCdSLiY9SofVFfv6Wx7qBv8o3pzPfGmC67BStynH1+Ne4GuFTqrjtF
 kzFHybDb9+bNl/rD4EW+z/Tu63shhUeKFH8omy5ZPxfo5Phydu5LzDhdQTXz+BgGiJnLzqT/2wq
 TUFDpN+Ag74UTZd7NPYMq6aPVokoK7S/djDodFxfsZjw==
X-Zone-Loop: 218cc3bbe88d29c5054f665f182faa8e6ff669edc285
x-campaign-type: default
x-transaction-id: be4f12a1-d346-4339-a868-d5c6e39295e7
x-swg-uid: 01-243b2b2a-38a5-4e31-aa2d-ba87bb147d36
X-Mailer: Sweego
Message-ID:
 <1780992302.8631fc262581453bbf619ec5b2062170.19eab69dce0000701b@vates.tech>
x-swg-bid: 1780992302.8631fc262581453bbf619ec5b2062170.19eab69dce0000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Tue, 9 Jun 2026 09:05:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/ocaml: silence ocaml_deprecated_auto_include alert
To: Guillaume Thouvenin <guillaume.thouvenin@vates.tech>,
 xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech
References: <20260609073635.9022-1-guillaume.thouvenin@vates.tech>
Content-Language: en-US
From: Andrii Sultanov <andriy.sultanov@vates.tech>
In-Reply-To: <20260609073635.9022-1-guillaume.thouvenin@vates.tech>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.2387.a4a814a0d636be40.19eab69da92.1f6c8ee92d75490d=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1780992301714
X-purgate-ID: tlsNG-d25034/1780992306-F5386CF5-904AB249/0/0
X-purgate-type: clean
X-purgate-size: 1571

---=Part.2387.a4a814a0d636be40.19eab69da92.1f6c8ee92d75490d=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On 6/9/26 08:36, Guillaume Thouvenin wrote:

> Ocaml's lib directory layout changed in 5=2E0: the unix and dynlink
> libraries have been moved out of the standard library directory into
> subdirectories=2E The compiler still locates them automatically but emit=
s
> an ocaml_deprecated_auto_include alert when doing so=2E
>
> This patch sets the paths explicitly with -I +unix and -I +dynlink to
> silence the alert=2E
>
> Signed-off-by: Guillaume Thouvenin <guillaume=2Ethouvenin@vates=2Etech>
> ---
>   tools/ocaml/common=2Emake | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/tools/ocaml/common=2Emake b/tools/ocaml/common=2Emake
> index c7eefceeb4=2E=2E0e6714e25a 100644
> --- a/tools/ocaml/common=2Emake
> +++ b/tools/ocaml/common=2Emake
> @@ -11,6 +11,7 @@ OCAMLFIND ?=3D ocamlfind
>  =20
>   CFLAGS +=3D -fPIC -I$(shell ocamlc -where)
>  =20
> +OCAMLINCLUDE +=3D -I +unix -I +dynlink
>   OCAMLOPTFLAGS =3D -g -ccopt "$(LDFLAGS)" -dtypes $(OCAMLINCLUDE) -w F =
-warn-error F
>   OCAMLCFLAGS +=3D -g $(OCAMLINCLUDE) -w F -warn-error F
>  =20

Reviewed-by: Andrii Sultanov <andriy=2Esultanov@vates=2Etech>
Tested-by: Andrii Sultanov <andriy=2Esultanov@vates=2Etech>

Thank you!



-- 
Andriy Sultanov | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.2387.a4a814a0d636be40.19eab69da92.1f6c8ee92d75490d=---


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 08:24:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 08:24:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332472.1594907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWrl1-0007yj-Oq; Tue, 09 Jun 2026 08:24:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332472.1594907; Tue, 09 Jun 2026 08:24:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWrl1-0007yc-M3; Tue, 09 Jun 2026 08:24:23 +0000
Received: by outflank-mailman (input) for mailman id 1332472;
 Tue, 09 Jun 2026 08:24:22 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wWrl0-0007xO-Fm
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 08:24:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWrky-003U5L-Ky
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 10:24:20 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a27cda8-bab6-0a2a0a5309dd-0a2a45038e1c-38
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:24:20 +0200
Received: from [52.101.85.61]
 (helo=BYAPR05CU005.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a27cdb2-672d-0a2a45030019-3465553d9a97-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:24:20 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SJ0PR03MB5519.namprd03.prod.outlook.com (2603:10b6:a03:287::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.14; Tue, 9 Jun 2026
 08:24:17 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026
 08:24: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hi9pHi6fXNntkfxUYVCSsKaWHz0w0xe5LK9/49paUINVk/JCp9ZqhZkwJT1KB9h4KpMGcC6WcgzWdQCg7GzxxFdTrQsI7L0rKEBhZQMavKlAEC0cFqIKQ/Jgri4M0G7q4XXHMsKI8bhfh0wUyv29HI0Mxww14o47XTgOB4RCTVaIz2WVPYeMn5O+aFxRztfKmYjRghyAmNB46g8MtIh3lA37kyMR6enTWrpcHlOLBsmjNYlDBijEgqof7R9pgssCrnWHov9si1/qaPddxoZS/PK3B+fNkYUTUU48XDW7wYH6/79wLJdH6OWv+gZohOvpN3BP+8/FSzmfVWkBbDSgSA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=34tdOVPVRYJK89DtHbW0capO7kp8DEnub5fuksBX6gk=;
 b=euTFVrQ0fL9ZYte0F5FHyq/yCVbf66r6nFcVyx/qSih/Qmn50pMuyn4lBtOmxR+0s2ZtAySfVp4NiN73BvI1G50uJOK5DFgDgceeG9ufF9ZVo9okupL+0jEAzHMVWF8149ctOZmXuHDMPRJ6Uyn8GamOOuw92X+wCMzoOlcVuZohACGKl7kqHEU1TyOUsJNzVgzKMv72Dx1vfAmGPVpgyvQCQQfWyBJG9M+xzmEKtauXUB39NCVSF8arPn11Nr2gaoLlsUuwGmJAjiO+eiJghC0sdIWNVRLhCkUTCbnZQcBv6JImdKo67WjVpzATaFO3MxHw6Jy9aGlsdzL+cJtXHA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=34tdOVPVRYJK89DtHbW0capO7kp8DEnub5fuksBX6gk=;
 b=hcDdt7NxSuz2d6sNjm6UzYUydxsTpP9SK1o8un6q1LknaPY7qjW7aLfAqN8SunBiCf8a4+hD2b64nvviHmJxyOdifLCdDa2Cba/lTkhJBxTiTbf6X1Cgw3QWD6RdxaxWoBcPnzHuNBrCjfT2CWfKLMNO2iB+L6503kljuY8Oo0A=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <8167bcd5-c037-4f80-9f18-ce1082caea45@citrix.com>
Date: Tue, 9 Jun 2026 09:24:13 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, andriy.sultanov@vates.tech,
 anthony.perard@vates.tech, Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22] tools/ocaml: silence
 ocaml_deprecated_auto_include alert
To: Guillaume Thouvenin <guillaume.thouvenin@vates.tech>,
 xen-devel@lists.xenproject.org
References: <1780990616.8631fc262581453bbf619ec5b2062170.19eab5024a2000701b@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: <1780990616.8631fc262581453bbf619ec5b2062170.19eab5024a2000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO6P123CA0016.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:313::6) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SJ0PR03MB5519:EE_
X-MS-Office365-Filtering-Correlation-Id: a006daf5-b6b4-47cd-8c8c-08dec6007f1d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|56012099006|11063799006|6133799003|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	6o4xQwRcNbfKhVF4z5gfnmwjxBdKbSRy3x1iNdaedvFvvvJ7GLlAW2vwrhf2dfIKVc0H/m+G5s2gx2bB+kMVwMMeO0Hgxkzo6t89YZhl9VpFqlMk11mcqnlV3ghmEW4LHkZwE1b8GnhAFASXYUeBOfKYIMuP3vNt5YiypOMRUSWsegrNu7Yt2Y30eHl72N3EEi2DLkH/wIefQYB6krXADAjOT2L9M2yljGCXrDTll5de0NB48kmZnFzpikOZF4rXU0SJfkvKpBGAwqOQcVis3kMf+n+X8Z/TV/88tJm8QZBSLYfUZdv0fv2JYY4jxsFjqk0HBncm/wSFFpsuC4Gsfqc8kQT/wL+F1UCXO0yKWWBPNfhC17lJuQjq1VhXto+VhldOwNDVxfsZhK0m0gli8O70fXnbkJ5nqEbjkryHZJxzISioM9iWjosYuMcu3eUwZ0tdl8mvn1hrbUcpt53cii+27zr3+to8c5/Wp8+zfNG4RlsdDT/elJDbab2ToaDckZUA2+xTTEFCBEH31PHtH9m5GSQwK/wigLm93Ah0wZSNDQZx5HQgXg1ASKiXRwm8qJFfkhGLMGHfUy5b5V8tfRPCB7dPJGIjzNKLZBwUdIckF0lfZBOaDKJhmmAoU5MT0vJPptND5qGSPvhi8m/MJZFff29sWnakbq3XFE+Jaddq6dfvtb7a/Ww4/3jttH6y
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(56012099006)(11063799006)(6133799003)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QTFnQ21vbG1tOHlPT3VvaXQxUjBrMzlmM05CQi9OTFh0NlM4OXJpdlBoK0Vt?=
 =?utf-8?B?eXA1YytwZG9QNmtPNHZWaGRLa2NVejNWVWdMZUJyT2FhUkwvd0taWUhZUWlH?=
 =?utf-8?B?Wm1tWnNvOEZQSCsxZTFob1JCU3kweUpsN0JNdEJjT0JuWUdlT21Pd29NVU42?=
 =?utf-8?B?ZXAvYkF1OVZtb3pDVWt5dnoyNk1QVlFDbzNWLzV3cHZhOVVHZERTR3NWa1VO?=
 =?utf-8?B?L2VUbHdkdSs3ZkNmcmYzMURSUkorU0ZVVGVBS2xxRGJTUE5sWVJEcHhxcTJK?=
 =?utf-8?B?bXhjUW4xaW5nYWJmU0dMcTNNaTZSd0Jnc2RPQmx3d3BKdFlZNC93SDZzY0Ux?=
 =?utf-8?B?bUVQV202T1lCaDEwQnJsSXdLWUU2eThOcVZheWxUaW9zUlhBQ3N3QTRjbFVa?=
 =?utf-8?B?QVFzU3dPV0w3N29EMjVmR0pkSS9sTXF6emJuVXdNUGJEczlRSW85Y2E2a0pw?=
 =?utf-8?B?ZEYwL08vVWtsVFpvUUkrYzg4bEp4OU96VHFXb1lxQUtPL21iM3JSQ0hlVUkx?=
 =?utf-8?B?OTRvYVdWZ1NjNG00dFhoYjU0STlOSGhlbVNzR3Y5MDhBYzdaemFnU012RU5o?=
 =?utf-8?B?Q0lCdm8xQ1JnVTEwOWkwVE92ZHRCK1pZL2VqbGt2YjZMN3dSdFZrRzBWWEVT?=
 =?utf-8?B?c0pPNnVMQ1JVY2VwTGdXS2tGdE82dDE4RklqVU5pckprM3dtQjhraFRuc0N2?=
 =?utf-8?B?cDZmK2sybS9kUWZYc0w2bTN5czZJRUZZeHZyVE55RzU2aFVRVGk2Um5EQmg3?=
 =?utf-8?B?aHFQcXJValFSMWJBT1Fta1YxWk90TjR6Wlh6NmZ2L3B3enQ1cDhac01UMitY?=
 =?utf-8?B?bHg3S21nZFNmM082bG5JT05pZlNzM0ZzSXRKVUZIbzBNdkZaVkZVK1c0ekt3?=
 =?utf-8?B?OFJvWjhSbG1JWVN6SWhVOFp0aG5CZTROek9hK2dRNVZNL0d6dnVkSEQ5dnZ1?=
 =?utf-8?B?UzdxQ3VlWkc2OGhUMkdlVllxVUQwSFZqUzVFZFZwL1ZWanRvSmhPNnBzM1dM?=
 =?utf-8?B?NmpXVTRIa3pPTm9ISUQxQXRhbStNRldWQkxhTWNZV1pQcEs1YUI3d0pYSE1N?=
 =?utf-8?B?WDF0ZTdNeVBRUlhkZTRWWlZMZW10dGxrbTVJbmszazJ6RDdoQklieFRZSExE?=
 =?utf-8?B?Vy9HbE1TUzdvdkNSYUUxLytONjJjcEFSR0tkbUI2SVd1L0R3d2J6Y1pIMHZu?=
 =?utf-8?B?dlR1dGk1UzAxTXZwRGpxMFB2NVpJQk9NRS91dUIyV3pQYXlhUGhQWTh1aEw5?=
 =?utf-8?B?NlpNcG1WL3BrektOV2VNRGhHaEJiR0ZlbHMycnh3MHZObllNSE1Oa3IxZXNG?=
 =?utf-8?B?SVlwU0xiVDJMajkxMmM2eE9icFd1UGNUR0J2YVo1bEN2WDVEYXo4WXNLOVJl?=
 =?utf-8?B?YzBaVGJBYTVnNjVwbFZYMzNCYnZ5TlBrRTduSHdWNUdKZTdnN2hVUEc3Ykpz?=
 =?utf-8?B?bVBEeVlsd2lWSkQxMDYvMkR3QVIrOEdPTnFQY1ExUGJic0IzVzRJZXN0ZHo3?=
 =?utf-8?B?bFdMa0Y3NlRVOFVVWEMzSmJjZlNUQm1PTngxbXdiRzBTUzRMRVBsMnJ2S0pJ?=
 =?utf-8?B?YW0vWWVKQ1k0UU5EU3V4UFpYRElybTc4Q3Z3N1RoT1ByLzFtZ1JUQjBuRTJa?=
 =?utf-8?B?eGZwK0UrVS9Fb0k4bDRlVjVscGl2VEFrUmNMcWlycDNsV0E0bW0vd05JanFZ?=
 =?utf-8?B?OU9idzROZCtPNzRzTFNpNUpxY1F4R2Q5N0twcGJzTjZOcFNNbSszUTR1RXZk?=
 =?utf-8?B?TlljSk1DblIzYlhCUVVDRHR6NVl3K1R0R3RxZEFvbjFCdDhuZU5JazVMbTRo?=
 =?utf-8?B?TU9QU25DZ2NHRHVoV05YVDVKeGgzYzdzK2YwekZEeFdyeTlTQ0NqVzJXeTZi?=
 =?utf-8?B?KzdoOGNVZjR6SndqY08xTEQxWjVpUFc4VTFtRUdSYlJrS2lqTk9WUUp6TkdN?=
 =?utf-8?B?Q2ZtUmtPWUttZHRYYXhwaEhrWmxHeVZZQWFDUElUZW5tSit2Wk1IdVRMNWF2?=
 =?utf-8?B?TlRHdmp6d2dMZmM1cFhZamlua2kzNkNnZWNRZXhtall3R3BSamhiOStHbFda?=
 =?utf-8?B?RGFsQWVFT3k5WVdKbGNEaTNaL1ZzRlhtYXFSMmcyT3NHMnZUbEJPOUJERTJV?=
 =?utf-8?B?dGpBNC8zc2FreW1iOGk1YysxUENBdm5UZFY3Sis1eDIvM2o3SWMwbTRiZW1F?=
 =?utf-8?B?YllJdHFKYXlNUjhwbUVPZ2RDNHhYajJUdis5ZXJmdTBkNldzdFRxQkFUZWps?=
 =?utf-8?B?VlZ1RDVSb0Q2Z1h5Q2VuM2dtVzcwajlPeEs5VjZIaVNjbXd0dlZhWGtUN1oy?=
 =?utf-8?B?a0Y2c2lRbXYwYXFzZXIrWkYzYjFDTG1ONUtxbVBVNk8yLy9ET0dyU3pqa3lp?=
 =?utf-8?Q?5L1XFPGyo6DT4lZQ=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a006daf5-b6b4-47cd-8c8c-08dec6007f1d
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 08:24:16.8804
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LQF/DqR5YAiecKw0YaZ/qc+sdZYm4nUuajEogluddbbVdsTxFGiar2fICftAR5uaDU/gLauO4FJrx4zzwBCqwrTFtnrxROU5PLS12pGDWZs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5519
X-purgate-ID: tlsNG-33051d/1780993460-36746938-DAD4B190/0/0
X-purgate-type: clean
X-purgate-size: 1233

On 09/06/2026 8:36 am, Guillaume Thouvenin wrote:
> Ocaml's lib directory layout changed in 5.0: the unix and dynlink
> libraries have been moved out of the standard library directory into
> subdirectories. The compiler still locates them automatically but emits
> an ocaml_deprecated_auto_include alert when doing so.
>
> This patch sets the paths explicitly with -I +unix and -I +dynlink to
> silence the alert.
>
> Signed-off-by: Guillaume Thouvenin <guillaume.thouvenin@vates.tech>

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

> ---
>  tools/ocaml/common.make | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/tools/ocaml/common.make b/tools/ocaml/common.make
> index c7eefceeb4..0e6714e25a 100644
> --- a/tools/ocaml/common.make
> +++ b/tools/ocaml/common.make
> @@ -11,6 +11,7 @@ OCAMLFIND ?= ocamlfind
>  
>  CFLAGS += -fPIC -I$(shell ocamlc -where)
>  
> +OCAMLINCLUDE += -I +unix -I +dynlink
>  OCAMLOPTFLAGS = -g -ccopt "$(LDFLAGS)" -dtypes $(OCAMLINCLUDE) -w F -warn-error F
>  OCAMLCFLAGS += -g $(OCAMLINCLUDE) -w F -warn-error F
>  

CC Oleksii.

For 4.22.Â  This fixes a build warning with newer versions of Ocaml, and
also wants backporting to older trees.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 08:32:55 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 08:32:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332483.1594917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWrsz-0001Zo-LW; Tue, 09 Jun 2026 08:32:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332483.1594917; Tue, 09 Jun 2026 08: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 1wWrsz-0001Zh-Hn; Tue, 09 Jun 2026 08:32:37 +0000
Received: by outflank-mailman (input) for mailman id 1332483;
 Tue, 09 Jun 2026 08:32:35 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wWrsx-0001Yq-Mc
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 08:32:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWrsw-00FU7Q-Rj
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 10:32:34 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a27cf9d-e002-0a2a0a5209dd-0a2a4503eb44-30
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:32:34 +0200
Received: from [74.125.224.43] (helo=mail-yx1-f43.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a27cfa1-672d-0a2a45030019-4a7de02bc00f-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:32:34 +0200
Received: by mail-yx1-f43.google.com with SMTP id
 956f58d0204a3-6605469c263so407789d50.2
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780993953; cv=none;
        d=google.com; s=arc-20240605;
        b=luDwlafdCOieFXcDNQ6ydq/whRyFp0wbSWuQl3lf4YHZ7Lc10Og4Pz+fp53Gv5g5LT
         hVYVvZzyBPIbbpMvHvn3Ed1MuQanTSQo0XJ8fFXOcamqpFxV5AT7kEAm/K+EbhlUPdOv
         U2c9e8n2OSh93npYUJ25v3yAV8FIiasYrha7n5A8TZiGvY3PksZ2w07JBnD7UcCtG1Ow
         2mrx3r20wFj039xS7qeMZfuVolPRIF3M6l+6DjqsoaGhwm0JmW70qAAT05MlohA6B/P8
         Bf8k+MPPN9ybPaXEKwiPaB4+ZKSyCuHGwvoIh8FxXbgIeoxd2bgRd2GP75B9rdtWPyGH
         TG4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=o1JZ9V+W/Tg7UFfDkMU10i7KhRb7QTXq3UPfKhvnuPw=;
        fh=bz012bFXXMSWKBVgaOsf9BhRnV5smxYP7I+E9Nd6XyE=;
        b=jZImJ4RKxAsDzYewkiXQ0Dkys8wKZW7aNHmgy+W2nLr457TLwNtoGX4Qi3f7KjHmpN
         OUgrNIdTBKm/fCQn9r2BFVl/yUtUJzqDMN3T486c2bTmUwr2Oz+9dXwgaY5a33kRkVpv
         Vu+TmkRTnbzczWw8zGKTue+GcqcGLYVY5vXraq1OzGZ5oxQ0HqD9trmS01LHuCRMYwOy
         anwPFNIW8Peto5UtgREvqbtwdUF19vuAFTJkrmDRQgnYDAN5W0Xjifzg315BCjz7sqAF
         OHeARzpubOS9R+1BzYZL/OrIEb3OTrs3HGP0MfyjEk08vVrWfAepjwOH4gj8IlZ8cCSK
         fhPQ==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780993953; x=1781598753; 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=o1JZ9V+W/Tg7UFfDkMU10i7KhRb7QTXq3UPfKhvnuPw=;
        b=mCfnTcsM0f3U33koROP85BNtPG8p3Z4hD/EKhm2DUIfKvlnHsc285g37FT5DhXHjQ0
         +a92qLb62mZmvpjohjoihmD7jA+ib21WVyfyyblEgsAAUiS5yij+ydLJAQvlAJvvsltU
         3TOHrrdN/3bG/nBtsCDhdrbP1q2ERISakEQUIH5ar7QdBChZ5JVOiCdQcyMVm9YbYnJD
         tqw1H1z5OWi6dOoPLIZo7sf47Bn7Zbjm5EQQ28H+8wasWsTxq2s6T7YBEiIOJKEz9Vvk
         vS9bbEnopEVUpEh2mMfRceR/bjLOCSr4D2rTssohYUDeHh/6j5j0acBY9gBIcZKhKn+3
         jRsQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780993953; x=1781598753;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=o1JZ9V+W/Tg7UFfDkMU10i7KhRb7QTXq3UPfKhvnuPw=;
        b=lNaDZ4uKCCGPTBpqe6mXb/8IcChSOsKMPZPoF5SM8bWM3bfoZjy1TfEF26E231BFEg
         MbhPec9qR6DqknEEpmfmF3GrGgimA7HgrOO6dx8MXAwDn1IYtjs6KTX4p6wSX2xmGKWz
         GBN0huNRqtdUzprrWsYN6o3WtDWJ7YGBPOs+ffIHPucBYYNu53Y6zClFut0FnpGYCyN5
         7Jct+q7HqaVGgBVcl6pUfDZ28Jpdik6FkOUIOj4611yO/JOVmKThAD4KXUqty5DBeM4a
         bkOlQFl6tOGQhOsRdIceC8D0vDWH1dBcT2UEhF7tl+hI/h/lykuCAjrhprgfL0EzmRh6
         ac+g==
X-Gm-Message-State: AOJu0YwVIpIAyd2Q3nREmdnsPobhm0IVM6j00+MClRDGYzSPAH4F4Mjk
	F67/COqZ/y4dLqvq3BPgd38B2Md5y8E8GS0Lfm9scb66thp09h9ygbG/0APn4+mk0kSJaUZfIVu
	gLl8+ijeoQHKaHrF4hHlpjmC5sVJRcsc=
X-Gm-Gg: Acq92OFvIuLNbc4D4kWNpE9r5f/6EbsHZTwh7Pu0DoeRAj+upG5Z1mEuyBFI7hSjEIX
	BsKRTt09y+cmQoRrn/n78DtUmIT2P/8DS6QV11sUcl1EwDe76bWfwrTFnplrIjpaU0a0lhghx8h
	WSO3DeSXEfXJ+IoQ0pOMbJKCHth5EwlU3UXYLAhVSwPukwAkcz5iV94Txuvq/RfDwafq+Th0XxX
	RlM+5UiaVPzUchXN5Qw1owp0pnURPMxpcJr+Iq+pQ1tBLyLRZiPniKMypsFzg2/H+tuHNpj58y3
	zta4WKCY51Q3NX2LWjQXWRwnJvCkQntI9alFdpDrUFAd1da4
X-Received: by 2002:a05:690e:484b:b0:660:ea4a:48d1 with SMTP id
 956f58d0204a3-66106e9d48fmr11631768d50.27.1780993953187; Tue, 09 Jun 2026
 01:32:33 -0700 (PDT)
MIME-Version: 1.0
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
 <20260603130603.776452-2-frediano.ziglio@cloud.com> <aibQPLHlV6-fNtLO@macbook.local>
In-Reply-To: <aibQPLHlV6-fNtLO@macbook.local>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Tue, 9 Jun 2026 09:32:22 +0100
X-Gm-Features: AVVi8Cfz705lo4TmPJlISMZ01NM5u0LKouXIylXnRYL3GAH9llmd5IgOlRmk5aU
Message-ID: <CAHt6W4cZuc31kVvAHRHbsejYQqB++=JqKTxd5zkBC-1TTmEu_w@mail.gmail.com>
Subject: Re: [PATCH v4 01/16] libs/guest: Reduce number of parts in write_split_record
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, 
	Frediano Ziglio <frediano.ziglio@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Teddy Astie <teddy.astie@vates.tech>, 
	Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-33051d/1780993954-38149938-AED58744/0/0
X-purgate-type: clean
X-purgate-size: 1494

On Mon, 8 Jun 2026 at 15:23, Roger Pau Monn=C3=A9 <roger.pau@citrix.com> wr=
ote:
>
> On Wed, Jun 03, 2026 at 02:05:48PM +0100, Frediano Ziglio wrote:
> > From: Frediano Ziglio <frediano.ziglio@citrix.com>
> >
> > Small optimization.
> > There's no much sense to split the header in 2 pieces, it will
> > just take more time and space to reassemble them in the final
> > buffer.
> > This also avoids truncating combined_length to 32 bit in case of
> > 64 bit machines potentially avoiding following record_length check
>
> I'm not sure I understand the sentence above: rec->length is a fixed
> width type uint32_t, and hence it will always be 32bit, regardless of
> whether it's build in 32 or 64 bit modes.
>
> I do get the truncation part, and that using size_t is indeed better.
>

I improved the commit message as

This also avoids truncating combined_length to 32 bit in case of
64 bit machines potentially avoiding following record_length check
(it could still be truncated writing it in xc_sr_rhdr structure
but the following check will catch it).

> > (it could still be truncated writing it in xc_sr_rhdr structure
> > but the following check will catch it).
> > The function become more coherent with following read_record
> > function.
> >
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
>
> Reviewed-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
>
> With the commit message possibly clarified.
>
> Thanks, Roger.

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 08:39:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 08:39:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332489.1594926 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWrzf-0002XZ-95; Tue, 09 Jun 2026 08:39:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332489.1594926; Tue, 09 Jun 2026 08: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 1wWrzf-0002XS-6I; Tue, 09 Jun 2026 08:39:31 +0000
Received: by outflank-mailman (input) for mailman id 1332489;
 Tue, 09 Jun 2026 08:39:30 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wWrze-0002XM-6E
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 08:39:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWrzd-003Xuc-1Z
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 10:39:29 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a27d126-5cb7-0a2a0a5109dd-0a2a4506a2f4-32
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:39:28 +0200
Received: from [209.85.208.42] (helo=mail-ed1-f42.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a27d140-7371-0a2a45060019-d155d02aa49b-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:39:28 +0200
Received: by mail-ed1-f42.google.com with SMTP id
 4fb4d7f45d1cf-6870ad8072eso10436375a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 01:39:28 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bf05208e897sm985367866b.25.2026.06.09.01.39.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 09 Jun 2026 01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780994368; x=1781599168; 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=BiOxK0y5pGzEO1VbtSKq/weBFRiL9HFDUqdHpfgUP9M=;
        b=GZV5aftZMUmJABweWM7bNEj/izepWYYeuieCefTFE/FG44IWXj3g6lVZGvLW567xGu
         TrrZETkh2wUo3OP5ZNn+8pr9FwaRAiEuSJmUQvJ4INzfN0QoLYDDnru0dz5CqxCippbH
         20J+PuoKA4obTfGD9cBwzj+k7IdR8xK/QckI0jjWGvcL5JEM9PpUEk4JDHxyTcFyefBE
         mYGtkmABlwAqI6O/uTGuf/7vn2NNr2QJcWyXcwSnyXriFB1YTPQVk6zCtv7vSW1/zw83
         ZedFnhge3UY8ScWzcOmRmzPYXyvbeA5qJUX1+aOTNVwL5oHTsuzwgfyqf/jP6CQrgTuE
         NlTg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780994368; x=1781599168;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=BiOxK0y5pGzEO1VbtSKq/weBFRiL9HFDUqdHpfgUP9M=;
        b=Txjz2EVe9/es2KWLVuszvbxnMvfimcgoPozXpDORPEgYZqf3igXobZeGYoXfV9CKXH
         zdDAvrP+ZkphdqV8xTn8m6wjdEQEDT9gfNEgLDsV8XWb47FSsjKvBIHp2J/Y7+1xI7ll
         4a20R6h8FhVfg4igMd770ii7asgSQRGpAcWdiZFsWQPyVvUlqxXiioeXBlB3woWHpYNb
         iXJbtK4rccbOvDT+5odbInpvYZiclM0NI7QmgjOkdE+b+XXZJDYdHooF5CVcReOIPfOY
         TuEjO91dYm+sfx2MpfyOfzrnZuCqh3n6WXTmhMJkbAg7n7Pt43bMhIUcezljyB6hyVdT
         ZiVA==
X-Forwarded-Encrypted: i=1; AFNElJ/WiCnXmXnWT3GNtXxi7JpEhjI5pQKFTr8dETug/bFTrta+O3bM0gn00/SeFOyjE314sV7vUkXz9KU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxCgr0FRMapjewdIVJIxVQY+TNrWA9BgMu1NTv7CXZI1goFK1lP
	Euuan6fQBljl8oJ/fJyf5ceEUFhoVG284EE7P+u6kqoYblfs7M+ak72I
X-Gm-Gg: Acq92OE1DLlfPfQCvZymppkj66WP09T4eni5MyOkDlBp4W8W0YpIm2PrzEo4NghZG1l
	Psxosy+lF7KG0cdj36qWQYlSEZWdXS3FdGNg6Uxjuogf5VvcwkErnHoclCDCos9e09TZUG3io4o
	EZjeFsYztdhLXhfzYxnWyq2urNtWdKg3MPPG5etJbzpUZ7EF5L7IBmTe/YItwLuPt1FTAlNXnZb
	PR4jectKuq+uus4RUdwtIDINRdQW6lD7rYLThVq81IIKUGsdyaBnOczPrMZYSIPzAgarOgIVHPT
	kynHU9FrLFRYwKJNe27uZUcfwZXdA8ENAoNfqMr/Ia3JJWGwgCaabgMzwZuyHxpHhKuvtdMzgXc
	/6a863Noy3nni7xBJYhe9QShJ1xc4topFvS4dLS0S8mE+7zqBu+NS2wbgC+h2x6s2Jo82YSNSFb
	/k1tGYat7sEjfXOEmGUrPx3OKi9NYoEhk+q8P7s85Kva8Fo21zhhlA5h1R7IofukKTOUI7EM6r4
	5E1bwwfzVLqaiE9HluECr1gUWk=
X-Received: by 2002:a17:907:1c83:b0:bf0:e345:68b with SMTP id a640c23a62f3a-bf3a8f1269emr806885266b.18.1780994368002;
        Tue, 09 Jun 2026 01:39:28 -0700 (PDT)
Message-ID: <a6a34826-e708-4475-8f59-bcc08e009ba5@gmail.com>
Date: Tue, 9 Jun 2026 10:39:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] tools/ocaml: silence
 ocaml_deprecated_auto_include alert
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Guillaume Thouvenin <guillaume.thouvenin@vates.tech>,
 xen-devel@lists.xenproject.org
Cc: andriy.sultanov@vates.tech, anthony.perard@vates.tech
References: <1780990616.8631fc262581453bbf619ec5b2062170.19eab5024a2000701b@vates.tech>
 <8167bcd5-c037-4f80-9f18-ce1082caea45@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <8167bcd5-c037-4f80-9f18-ce1082caea45@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1780994368-84566D75-85E15B89/10/73395122804
X-purgate-type: spam
X-purgate-size: 1512



On 6/9/26 10:24 AM, Andrew Cooper wrote:
> On 09/06/2026 8:36 am, Guillaume Thouvenin wrote:
>> Ocaml's lib directory layout changed in 5.0: the unix and dynlink
>> libraries have been moved out of the standard library directory into
>> subdirectories. The compiler still locates them automatically but emits
>> an ocaml_deprecated_auto_include alert when doing so.
>>
>> This patch sets the paths explicitly with -I +unix and -I +dynlink to
>> silence the alert.
>>
>> Signed-off-by: Guillaume Thouvenin <guillaume.thouvenin@vates.tech>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
>> ---
>>   tools/ocaml/common.make | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/tools/ocaml/common.make b/tools/ocaml/common.make
>> index c7eefceeb4..0e6714e25a 100644
>> --- a/tools/ocaml/common.make
>> +++ b/tools/ocaml/common.make
>> @@ -11,6 +11,7 @@ OCAMLFIND ?= ocamlfind
>>   
>>   CFLAGS += -fPIC -I$(shell ocamlc -where)
>>   
>> +OCAMLINCLUDE += -I +unix -I +dynlink
>>   OCAMLOPTFLAGS = -g -ccopt "$(LDFLAGS)" -dtypes $(OCAMLINCLUDE) -w F -warn-error F
>>   OCAMLCFLAGS += -g $(OCAMLINCLUDE) -w F -warn-error F
>>   
> 
> CC Oleksii.
> 
> For 4.22.Â  This fixes a build warning with newer versions of Ocaml, and
> also wants backporting to older trees.

You just pinged me when I started to look at the patch.

It look okay for me to have in in 4.22:
  Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 08:41:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 08:41:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332494.1594935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWs1M-00048L-L6; Tue, 09 Jun 2026 08:41:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332494.1594935; Tue, 09 Jun 2026 08: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 1wWs1M-00048E-HA; Tue, 09 Jun 2026 08:41:16 +0000
Received: by outflank-mailman (input) for mailman id 1332494;
 Tue, 09 Jun 2026 08:41:15 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wWs1L-00047l-CD
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 08:41:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWs1K-003YLs-P5
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 10:41:14 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a27d1a4-e002-0a2a0a5209dd-0a2a4502c35e-18
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:41:14 +0200
Received: from [209.85.218.42] (helo=mail-ej1-f42.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a27d1aa-af86-0a2a45020019-d155da2ac14b-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:41:14 +0200
Received: by mail-ej1-f42.google.com with SMTP id
 a640c23a62f3a-bec2ddee9bbso1050061366b.3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 01:41:14 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bf054e05199sm970849666b.29.2026.06.09.01.41.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 09 Jun 2026 01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780994474; x=1781599274; 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=Ew4eVulhO/j24238LYh8mVrzuEz/VHSDAEbbA69DBeo=;
        b=dKWqWxHi8/LTeLuQl/LEKo7owdbUFNmYGBteOZK4ihzNCLAsCXGXXmodBEtU37nRly
         EsKW83fF/dxtKe22UO6f+VThzy5BTzH9lwrSVWGyWgWlvcgwczgJCMsJ0sF+vFjaBF1d
         gfEbElXhgDynWJR3aUhYJostYsUrrxUuRGV3PJUd1IhO43gCNQI9iuzrK+1enW3KWqZD
         y+SZMuwq20f/eol+sNCv0D+2M+vH7RIA+y2NmR9msj8Yv5jyTqX02cBRMjJ+S8VXsrHF
         +OEfhLdwh/8iLHmYb+1rK4gjQxCD+ZWjiHNoI5Gwa+uIk8Ls+XJN5NENQE+DJP/sy9Fd
         Xmxg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780994474; x=1781599274;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Ew4eVulhO/j24238LYh8mVrzuEz/VHSDAEbbA69DBeo=;
        b=kVTyWGXEh11/qtuuK/Z0XZ3Nq1/S8YiYak0Sbfb8ikllNjlhPxCup/gDRKG5kfuD76
         YQT2ziBCmqkBQYMCjqkwnoFQubCfjcE9hMXOPaikPlFrls5QbletfkMkcQtenX5JaCka
         ZVNNYKIF/qsD4qeOkSewlAjTM3T9OxFQbpa1ljHygSNFtUSozPFNY6x+W5wZIfmQk77W
         zE3U95uvo6j8fng+BYyRaoRWGohO+ynjTcSrxIbNnCgcXJIdnBvFqHZbO69RTu36rSNV
         psMICz5ny4MDHJlpEKdRHNMbA5AezaAgi8IVFmfbvHppSU27fLBshJwCzvwStzcRY2Gz
         VbYg==
X-Gm-Message-State: AOJu0YwHyyF1Sy0A4dahvpKU2nUiFvGuRiBsymDz0nUhFboIzCDxqFs5
	yTyDKA1NjwjRmy5tTuF9LFhk9gLbQbSXr9DLWzO4GQEU7xxALjbohXdM
X-Gm-Gg: Acq92OEDlmVOkUPhUuvgJ5+oN+5ZJeAe/SUvD1fyCojWuHGBCTaLktczjNbLq6vPXWH
	SVJUAFRGYusYbLrSRteXiV/MbtmXuwZ0FtyrEpQPl4QozJP+G1mF4j0Lw0HCsskYjHd1JQlGoyc
	1W491EmNsS6AZKjIIQlngHLGINBdrzb3c+qdFUkNb+u5z20sKiIAzCG2W0WOocIdQ6JrndRc1f3
	OjPTqL35r8jSmU66OR7tqShQuJRagkXi9yYTWKy65XbujpFLPZ9sT4bVcLTjbhNepd20Qis3VjK
	uWNoz71jR8FnwQ8PaZchcdUH9iGhhbxVwyJMpfMHCFiSRDcWRsYMv+bK35y/zAdnmYmgn3lXtND
	HHMZ17ZGG8/PXU7JEnsSDtLvPjHwTj0Wg8Vgytzs9PaKmxmks1PSQKwDi5mu2UEXXEUW+R7olNI
	pHN7CZjIz2H6TFatzcIwUxfl1+YtXhLM0Y6qR2HPONCjwhXNCn+4qmzjQfWbQbPXbilbFEHQwOf
	f6QVPozzT9GXBa5
X-Received: by 2002:a17:907:75c2:b0:bec:db41:e4ae with SMTP id a640c23a62f3a-bf3737ebea2mr645485366b.43.1780994474066;
        Tue, 09 Jun 2026 01:41:14 -0700 (PDT)
Message-ID: <ea814415-40ce-4a53-8838-f660bf32aa4c@gmail.com>
Date: Tue, 9 Jun 2026 10:41:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22?] xen/sched: remove duplicate trace.h include
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Furkan Caliskan <frn1furkan10@gmail.com>
Cc: xen-devel@lists.xenproject.org, jgross@suse.com, dfaggioli@suse.com,
 gwd@xenproject.org, stewart.hildebrand@amd.com, jbeulich@suse.com,
 andrew.cooper3@citrix.com
References: <20260531140819.73467-1-frn1furkan10@gmail.com>
 <aia9KAdYMxbZsihD@macbook.local>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <aia9KAdYMxbZsihD@macbook.local>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1780994474-AB563161-A3FCA67E/10/73395122804
X-purgate-type: spam
X-purgate-size: 523



On 6/8/26 3:01 PM, Roger Pau MonnÃ© wrote:
> On Sun, May 31, 2026 at 05:08:19PM +0300, Furkan Caliskan wrote:
> 
> Fixes: 8726c0557752 ("xen: add real time scheduler rtds")
> 
>> Signed-off-by: Furkan Caliskan <frn1furkan10@gmail.com>
> 
> Given this is non-functional change, and has a reviewed-by, what do
> you think Oleksii, should be commit it for 4.22?
> 
As it is non-functional we could consider it for 4.22:
  Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 08:43:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 08:43:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332500.1594944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWs3h-0004m0-1R; Tue, 09 Jun 2026 08:43:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332500.1594944; Tue, 09 Jun 2026 08:43: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 1wWs3g-0004lt-UG; Tue, 09 Jun 2026 08:43:40 +0000
Received: by outflank-mailman (input) for mailman id 1332500;
 Tue, 09 Jun 2026 08:43:39 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wWs3f-0004ln-Mj
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 08:43:39 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWs3f-005DuS-3I
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 10:43:39 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a27d239-e002-0a2a0a5209dd-0a2a4507b8de-8
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:43:39 +0200
Received: from [209.85.218.41] (helo=mail-ej1-f41.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a27d23a-229c-0a2a45070019-d155da29b594-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:43:38 +0200
Received: by mail-ej1-f41.google.com with SMTP id
 a640c23a62f3a-bed2195323cso768607666b.1
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 01:43:38 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bf054e03709sm996009566b.30.2026.06.09.01.43.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 09 Jun 2026 01:43: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780994618; x=1781599418; 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=+NrHy6kPx2ot8SQVTDP0rXaielNrr4Dtqq4NtloKhDg=;
        b=EtUI/3HBOmdNkv4ndZ0ibw62rYlJigtY7DJuWJ+87CMblBbTB8HQcAdGe7xNcNmQsX
         IMqE+1tLXjx1I/g1Vql4oI2C991uhQLLf+jyxjpxmgUSTK/veCgzb4ZKYhU/YQ5KKYx2
         qxDVb9UgYBEULI3YnZY6PULwQPuImACcM30gyvHuKF2Et+MB7f6+u62GbI7xPwnfh9s/
         Lr6MHVVxYoKF2oBvQdChNDGtxtVwyhsFqSyn3a7TRfITJHyDCxemgfHjv9R4flhIhqHT
         CadMBxsd+Qt/rv2W0dS7Mceu3Rc/NH9TZQlQyjIkX1eOKmV78tZbVHBQobNCMt8ajAoA
         1yYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780994618; x=1781599418;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=+NrHy6kPx2ot8SQVTDP0rXaielNrr4Dtqq4NtloKhDg=;
        b=ALHy0EqL3wB2KMazZFsY5LGiVlsDFQwDkyOi7BkbNAgjil09X3Im3v8Ipx+SFP/O+h
         yfa0kFUd5e6aOEoucgXy9Jq7S+oFMikcO1/fsA/XoKEVuyFiyfpWChrvMh/fM8jo4e9C
         BpDwPm5xYphXpM8klYE07YicxnsRv8C5WkCv3ynsvSbJYDUhfsqT++SpWt7qt8Nl2Yna
         k/Wmw9gme9HiliiktGmoODsDfONsCpJg/sxl2Sa9L0D/WTPiAu7InDZvOJBFAIWVhYih
         KN0lxYo58ILYSwbKZDnpL9lb/wqAjtRW8Fkkbj5QNSYgpRpWgZtFyL7Uc5WK4KaLFMpq
         6ruA==
X-Forwarded-Encrypted: i=1; AFNElJ9cJVZGgb/GWkwXj5qZwRhVUG8VmuQ206/X8KgChSgZX50DbaCb0I/7Bz49r59VVOohAPICdG3IDTw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyJaqLHcT0L29awjRImlpxPNjDw8dUBnvul4XZyxNYiJs2x02M5
	CDlA0iuqdrlj34hI907XyzgBOFmaDtO09a6GqKaDRYKW9yW6KgYwxh2a
X-Gm-Gg: Acq92OH8t81E6B/RsUrTJhElDyEoYcA76lABhgxqmHsShuNQ+KR4HPL6UzEcapAEkm5
	ymM2CudjC1EItk8Oig/3UIcnbpha9TI+D+wb14zMj9USSrlnx7TljtxG8tveJa9dAn90UeX7wWX
	5nl5wR5FQqZ/Y+pD5iD7ybxwgQ+mamgNCETVI9Nv8k1vDNdWalvWnx4/9TRtKj7Dba0lp86f1si
	MY1dk92PRtuYGB1UcZ+Z8/ctTDGDGhywWIyaevJ400Y93DjJSut6Q7Kl9XLAh+WhVtL5ydrBNg8
	79EsJLUFFEHCdDtmrTQXi5tHjwACQwsV/MPYSeiOAmkKRWY4HumvS03olnr2S9rrhocpOAAWZ2z
	voMrZ0ejmumHY9xEMyEFx7SugMdsDzg/Zl5X27NLra8+XQwZyIKZGQkiBJEzyxfomqIHHh8oFzC
	eYLxuck5UXq6zpKhlTjU1UwznJ0htg6qWY4XQ9zzVnV/akv1banL6MT4pqSRW18wD+SexlTxv/3
	8CV24PI6yDsjl7I
X-Received: by 2002:a17:907:78e:b0:bee:ec3b:6a8e with SMTP id a640c23a62f3a-bf36ff8da16mr885858466b.8.1780994617254;
        Tue, 09 Jun 2026 01:43:37 -0700 (PDT)
Message-ID: <0667e7c7-517a-49f2-a78d-b01b49332eff@gmail.com>
Date: Tue, 9 Jun 2026 10:43:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] xen/decompress: resolve MISRA R5.5 identifier/macro
 name conflicts
To: Dmytro Prokopchuk1 <dmytro_prokopchuk1@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>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <f73e440f0ec5aeaa5f1bceaf1fd1403099df57bc.1780946676.git.dmytro_prokopchuk1@epam.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <f73e440f0ec5aeaa5f1bceaf1fd1403099df57bc.1780946676.git.dmytro_prokopchuk1@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ef75cf/1780994618-08B60C48-BD6C2F57/10/73395122804
X-purgate-type: spam
X-purgate-size: 1128



On 6/8/26 9:35 PM, Dmytro Prokopchuk1 wrote:
> Convert 'free' macro in 'decompress.h' from object-like to function-like
> form.
> 
> The object-like macro '#define free xfree' performs unconditional text
> replacement, causing conflicts with identifiers named 'free', such as
> struct fields in 'page_info' unions defined in 'xen/arch/arm/include/asm/mm.h'.
> Function-like macros only match when followed by parentheses, allowing
> 'free' to be used both as a macro and as a struct field without conflicts.
> 
> Applying function-like form to 'malloc', 'large_malloc' and 'large_free'
> ensures consistent macro style.
> 
> Additionally moved 'large_{malloc,free}' past the #endif to reduce
> redundancy.
> 
> While function-like macros prevent uses where the underlying function
> identifier is needed directly, such as taking a function pointer, no
> such uses exist in the current Xen codebase.
> 
> Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 08:52:16 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 08:52:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332509.1594954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWsBu-0006rs-R3; Tue, 09 Jun 2026 08:52:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332509.1594954; Tue, 09 Jun 2026 08: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 1wWsBu-0006rl-Mh; Tue, 09 Jun 2026 08:52:10 +0000
Received: by outflank-mailman (input) for mailman id 1332509;
 Tue, 09 Jun 2026 08:52:09 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wWsBt-0006re-Lm
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 08:52:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWsBs-00FYRf-Jr
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 10:52:08 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a27d436-2eae-0a2a0a5409dd-0a2a4507bc48-12
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:52:08 +0200
Received: from [74.125.224.45] (helo=mail-yx1-f45.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a27d437-229c-0a2a45070019-4a7de02de45d-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:52:08 +0200
Received: by mail-yx1-f45.google.com with SMTP id
 956f58d0204a3-65eb226b1ceso4611668d50.0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 01:52: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780995127; cv=none;
        d=google.com; s=arc-20240605;
        b=QUC4RL9rq7dRLzK9jV3gF6xfP/+qyXJxDhd3iiJfEAhJxlPGXETL9utWdqhzI5GmSM
         oB4ElFmDwSna9KttJWY6bJ8fIFT9g5pa2EQEOTKWh2xpbZhROpe1icCa2ldJygGVogKE
         UOJz8tdlVojYbUyH+0Fg6RhkTrVTW2QshGLCuX4vEbABJQvNQ7uZc93/qVbDQB8mut3m
         /F5uV2nJyOweR6xsKj0+vG2jtuO3CSSWpx/b8UtmdI+HznAG1jThCiy9wmTXgwC4ctEm
         3MBoSepvUpa4Swdt9yph17+BUmrAakt4b+2j0lOD+bXkTilwAISpmb2kL/UphpsDvzH0
         MxDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=Er2R3gbnmDendo5sBfgNlVkxlFyRC1D78U9qSxQgTKg=;
        fh=bz012bFXXMSWKBVgaOsf9BhRnV5smxYP7I+E9Nd6XyE=;
        b=jx+TQRCuu1OJGwh1BSrz+m350vuOBDxs0BzKe/ry58oY5DOemiCEpg8TwZEG6utZ9B
         VBqzq2/zsyKfyv3FzT2E61xQpGhDqhPde4TG6P+ohfiVUFTo6gHNT5reg1ePMzxcQdk6
         HIaC6H9LEKc7nZoXo5ILQBzbwT4OgPpZQ2Tpc9xG8EFraSBOquyMocmL2AjbrK7gkUpj
         63DSb295qELCY2Tg1sJvf4tkXZY3u8QS2Qm9IRUeqX38yefBEl9s0fO13yHMM/cblUMQ
         E2p5OCtSreDGbkMqdcXaEKFf+CwHzV9aQ5KJ8ZMUHRZDi/tnBkJteUHMRoFsXdoGRqCM
         gmuA==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780995127; x=1781599927; 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=Er2R3gbnmDendo5sBfgNlVkxlFyRC1D78U9qSxQgTKg=;
        b=Z8MWdNDM+hwVixvIqJ6E8lvOvQTCLZweRiK6SLD7MUxH3VZNakBUaMqRxdawOy0P00
         8Z5QOZ89fBMXN8MoDvATP4ARc4BvNpXWa5sucwaRpneRHaey+uvR0rwAEnyYPfJ5CJTn
         u+UdcRWvJyDp5ZEuGQ8prhQXWVCmARZyXWjQeOXwke2DyJc5LKwGdqV9t5jzLL5IejuZ
         Ii2NGDA18u68nUqIvmTaDXS3LrZe0BBRjnamEaiSrpge6+nnM2FjhJUie8/8NgGndaSM
         EEklgW2BEXcQa9MS9F9yd2auAnf9kUG73WULQSdrA48SbAv+DtElu0JxEumP19Rpz/TY
         5rcA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780995127; x=1781599927;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=Er2R3gbnmDendo5sBfgNlVkxlFyRC1D78U9qSxQgTKg=;
        b=RxsIq8Ci5GMPAJOtmsiqrDPFvhA1uNOFalbH4EsWjlstXJh/jNAJka9iAHTS3sJV0k
         q5YZ2cm241E9JVNi3HySWyImezS+OO8o/fqQhGUZuYOVsx8I20nn1xM0MCCJ5KFY36Qm
         WaBTiHWMiJ4A2CEVsb4+/A/7Z8DLjU7foNIIc7ad8nZluVbfLcdqh+1egC+OFpOlHXLs
         1bOWdkKtH8qCSvZpBm8K90W6SUgYy7hjg7SaUIegkFwcgqcDgqfl4BsSZY+gSJ2GfKFn
         K6cFbPdi2B1YLwfNDaHuyRldFiPX1pn/jUHD3qUNCEjHZ542JoulEAe8JrFZ7YghM7yp
         1PfA==
X-Gm-Message-State: AOJu0YzN+ByTejz1a6S2b1f8+VFk9kU1DKzcnUaqNKkuOizyilSAmrNE
	8qdCk3TLropPqTPEOk0jbS0KyknYQjComjNj7SEP95JiGEFrLeFW7UgAc44LqoLwcsaO9qYMK10
	vTYl4rG3eIf4/jxflWT4lDPclx4MVKkc=
X-Gm-Gg: Acq92OFXlFLvGYbrNIS3U/FFJ70t74MbzPjdyISecjExWGUb1gVeHo+ihh3Y3B6v0hA
	zueXkaJw7fdBqtHBs4PR6wZRtmZbMdH8nxyoMSo8EWWj3HFczVDk4VByQRPcO6H7SExFuFhObv9
	N6yTgfRgpMT7/oc1oUEMxbhj0hritKRmFz7tXhGah+QARqT+3iBZMMlQG2So1khj6kQngTitcWR
	ohl4/yRgyuYB12uI9TRAGwVt5jaUO+yrkQXJsPL3ItJL/qBpbVO7Wpt38tMXntcN451v6dwpVoe
	NWF1q5zv1lWrdUzgm4aqbpk2Ud4uGyuTKAfLYJPBN77zqTn4
X-Received: by 2002:a05:690e:4088:b0:660:460e:254d with SMTP id
 956f58d0204a3-66106faf326mr16561017d50.54.1780995126870; Tue, 09 Jun 2026
 01:52:06 -0700 (PDT)
MIME-Version: 1.0
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
 <20260603130603.776452-3-frediano.ziglio@cloud.com> <aibU8lzNpMQme0kr@macbook.local>
In-Reply-To: <aibU8lzNpMQme0kr@macbook.local>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Tue, 9 Jun 2026 09:51:55 +0100
X-Gm-Features: AVVi8Cfh6BoJ-8Hy4EGpjqBgguZzXrqLdQkNUthWe9NRHzaQ93YXg0mhIWIAz0A
Message-ID: <CAHt6W4dHtncg5RHnXaC-0wzmcFDP9eFCyenxqE+2TnkFUfhGsQ@mail.gmail.com>
Subject: Re: [PATCH v4 02/16] libs/guest: Reduce number of I/O vectors in write_batch
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, 
	Frediano Ziglio <frediano.ziglio@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Teddy Astie <teddy.astie@vates.tech>, 
	Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-ef75cf/1780995128-09F6EC48-81B044CB/0/0
X-purgate-type: clean
X-purgate-size: 2427

On Mon, 8 Jun 2026 at 15:43, Roger Pau Monn=C3=A9 <roger.pau@citrix.com> wr=
ote:
>
> On Wed, Jun 03, 2026 at 02:05:49PM +0100, Frediano Ziglio wrote:
> > From: Frediano Ziglio <frediano.ziglio@citrix.com>
> >
> > Small optimization.
> > Reduce number of pieces passed to writev.
> >
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
>
> Reviewed-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
>
> > --
> > Changes since v2:
> > - change prefix in subject.
> > ---
> >  tools/libs/guest/xg_sr_save.c | 35 ++++++++++++++++-------------------
> >  1 file changed, 16 insertions(+), 19 deletions(-)
> >
> > diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_sav=
e.c
> > index 3b2c5222e4..1700d81905 100644
> > --- a/tools/libs/guest/xg_sr_save.c
> > +++ b/tools/libs/guest/xg_sr_save.c
> > @@ -97,9 +97,12 @@ static int write_batch(struct xc_sr_context *ctx)
> >      void *page, *orig_page;
> >      uint64_t *rec_pfns =3D NULL;
> >      struct iovec *iov =3D NULL; int iovcnt =3D 0;
> > -    struct xc_sr_rec_page_data_header hdr =3D { 0 };
> > -    struct xc_sr_record rec =3D {
> > -        .type =3D REC_TYPE_PAGE_DATA,
> > +    struct {
> > +        struct xc_sr_rhdr rec;
> > +        struct xc_sr_rec_page_data_header page_data;
>
> Is there a possible worry that the compiler (for another
> architecture) will introduce non-zero padding between those two structs?
>

No, the first structure is aligned to 32 bits (we don't support 16
bits systems), the second 32 or 64 bits.
In both cases the final structure won't need padding in the middle.

> > +    } hdrs =3D {
> > +        { .type =3D REC_TYPE_PAGE_DATA },
> > +        { 0 },
>
> Do you need the explicit initialization to 0 here?  All unspecified
> fields in the initialization will already be set to 0.
>

I'll remove it.

> >      };
> >
> >      assert(nr_pfns !=3D 0);
> > @@ -115,7 +118,7 @@ static int write_batch(struct xc_sr_context *ctx)
> >      /* Pointers to locally allocated pages.  Need freeing. */
> >      local_pages =3D calloc(nr_pfns, sizeof(*local_pages));
> >      /* iovec[] for writev(). */
> > -    iov =3D malloc((nr_pfns + 4) * sizeof(*iov));
> > +    iov =3D malloc((nr_pfns + 2) * sizeof(*iov));
>
> It would seem more natural to use calloc() here, but it would also do
> a zeroing that we don't care.
>
> Thanks, Roger.

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 08:53:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 08:53:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332516.1594962 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWsDH-0007Sp-6A; Tue, 09 Jun 2026 08:53:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332516.1594962; Tue, 09 Jun 2026 08: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 1wWsDH-0007Si-37; Tue, 09 Jun 2026 08:53:35 +0000
Received: by outflank-mailman (input) for mailman id 1332516;
 Tue, 09 Jun 2026 08:53:34 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wWsDF-0007SZ-TH
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 08:53:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWsDF-005GPG-9F
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 10:53:33 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a27d47d-bab6-0a2a0a5309dd-0a2a450ab0ae-38
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:53:33 +0200
Received: from [40.93.198.12]
 (helo=CY7PR03CU001.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a27d48b-56b3-0a2a450a0019-285dc60c9adb-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:53:33 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by DS0PR03MB8271.namprd03.prod.outlook.com (2603:10b6:8:292::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.14; Tue, 9 Jun 2026
 08:53:30 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026
 08:53: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=PlX/Tuy1KfctYu4tNLwKo2JrzUYMytK5VcMsHiUzMKzkwOUsy/26WBQ0iU/6NkAmrGjysNnA3WKOtN6AiMgY2kqriCJDSANgW0oC84rhRVPwNb1hvft/XLj6B3AbTVscWc7CzojtF7QQcir+8SuVauBj1ERnfpE6kZoMhKPmdpTKQkZeJL1yabXb7pro+cXKz/+ogYuSK5ZFfB4PzOF66kxLqdrJo+WfyeACkFBjFCbVIDNVqLAPUyJR/rJnKh/IKH1X0kqc/zs4R5AM0nPLkOvCEa2+SJxXG1J8FoZpHGV45Duxq8uA+QVSgFgd3t/nYpcWdi7722T27nSqGik4BQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=611dfETS4SvX/rN/nMYtpHa/fW49uNNHY2sZ4JaLyM4=;
 b=eMrSMj+EQfBfV9pl56MCl049tIHQfVg2khCoHUJN8o4SPbeMlbfOLzh82cyms0KQK1/lzREMugkwEwpGcmiWWFkw9ggjhsKHAuGgcGv4n230XQzVn/q4BpoV14yaHGMD1lZarJJp0DcJDIzqZTFoBNn21OTVyjaFIs6MqyAyMLvhTlTLL4nfiWOErXeRA03hSdo9svScqC1SDOSNqofuT1ky3ZjrHgLYLymDpUvH3phtf4FWT/8/TJxwyX600+Bc1jMDn1YNeI2MOwCHyrZ30KMKpaIJ0CjOZhe5+f8iiJDBavKWgQykdhdMJpXGV2M8tsgIg64N+lRbi6gK06R+BA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=611dfETS4SvX/rN/nMYtpHa/fW49uNNHY2sZ4JaLyM4=;
 b=rU1CkYegNROe6hrAj/rCZNUG8efFvUuuc2XGoZPwpXGNSlO9wtWO7BnoZxPg4hlhv9qf3aCdrTORYq4IXzOySCyvBGTb/yqJKQwx6IwvjiHns87Bq1VG3rTMzQeridK+JjNpnB9kdj2pb80x3OFef6/m6FTqO8mCtxKGpvFKbBw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Roger Pau Monne <roger.pau@citrix.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>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH for-4.22] xen/pdx: fix off-by-one index in offset mask calculation
Date: Tue,  9 Jun 2026 10:53:22 +0200
Message-ID: <20260609085322.92856-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MA3P292CA0013.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2c::6) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|DS0PR03MB8271:EE_
X-MS-Office365-Filtering-Correlation-Id: 021cbf2d-8e0e-491f-06bd-08dec6049439
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|6133799003|11063799006|18002099003|56012099006;
X-Microsoft-Antispam-Message-Info:
	zw95K2C7ZXE65AbmtiBfjNZYkpAuZ1nP9y1mdQjINMJCZX8vC0H9P3o8oqwRBOglWB6sNlBv/v90WLHDVVtY2T0vypveV5cQoc5tJ0cOPiaYuFRpn6GzMbWg5s9r7AvxmPj8ZnurdqAVHmjI9SOZWmZYGq/IRrt8sgee/FjqR/7l40CX5CiCFCDDPy0ci7eiOAeFN6YqGvih19ZzfmwS1+cG1tmXT6ndhdKQm4ZbwkwsCHHR6FkwifIL8G+UT1l1uC3c89/A0CcLRvnURhibE2UhSfv3ih1OSFNIlNXVMo1hE6cqVwksReUtm4JfGvE5VsyjrScnxNZ3ihuf6DPT+H6qfURbbA6DumzoNZLxn5JamDCk21OcozoOJH2+xpHGek67kAFeskMeZXrTU7YMpwH62fFMd74SYTjvA11r2wte+nbPWBT5HBMLY2qL4F4TopZi7Pqvg42jjDobm/htK4pPUyQV3zQI2V79Q3lnFWQBuJIztUbxiKBhvr4qLb7blJ9aT957Kcet7JP1T+7lIbDybPEBGnzQvTuOrG1IfWGSo4lowZ0xK8LAaV48VUq1WG4jfCVCy9JQ7mzy76V6S+N8mok/vsClm4FDyCwOzfZX5HW+uUNOhjkb28qM4vud/zxi3NLPY6ti/nSb1qeOrTUZnLmWtSMpwOxi4lXdBmBs2yqXgB32F833J+tEEHxt
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(6133799003)(11063799006)(18002099003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WmVQZ2pLbHJKaFhIeVlTdlQ2dDNhaHAwRG1oR2U3Y1BnUEgveFZmelh3dVM0?=
 =?utf-8?B?OUYrZDNEWVBlY3l6a0NudXdBei9BcE1DcjFvdElJSnY5YVZSYUxtOXpBYnl2?=
 =?utf-8?B?aHVMZy9UdTUySXRVRDBqWXdEdGxuYzlzVDZObXZTNkdHL0ZoR2w0ZEJ3V1BM?=
 =?utf-8?B?NHVOdktrMEIvWFY5RFFRTXhxczFQZS9uVExzdXJMeEhvZEo5Qm02RE4venM0?=
 =?utf-8?B?aURVZHhOa3RnMGE5SlYrZUhSYlJSeWErYkJaemRQVU9DTE10K0lsbmJLMzJE?=
 =?utf-8?B?aEE2RUhIeVZETVBZc2hsWVhuaWdndnErY2VTaXNSLzAzWmNPcFd4bk5LeXlZ?=
 =?utf-8?B?bkM0ZmlROVNtWDJFT2R4UGRtOCtYUXZlNGxib3dBeThKenlWNEc1T1hhaGxp?=
 =?utf-8?B?ZnVpU2xKVWZMZ3VPZDh5T3huUzA2UC9QSyszS0NmaVpsaERLcC9uaEU1S1F0?=
 =?utf-8?B?aXhVL054N0loTVhPSWxVeU5XVXk0QUtrR1EwdTVEekh5anJVd3gyOS85V2ZH?=
 =?utf-8?B?amJDb2QvNDJrZ0JXMTFaeGJyY1B4TWZKbnFXTzlQY1d4UFZrc3lNd2gwcWpY?=
 =?utf-8?B?WktRNERwVVN4bzI0c01jOW5HYjlkaEtUOU1QbVFxYm4rcU5zVGF1Y0pJMjRP?=
 =?utf-8?B?aDZCZ0FyRUw5Z205WmV4MllYdGNnd25pUm9VUTB4MWZzNm5kWWVWa09VODBF?=
 =?utf-8?B?MVRiR1lNTm5pU3p2MnFBYVh0dlQ1T09JRU95bHRidUxEZVM2U1d2OEJOL0xJ?=
 =?utf-8?B?cFBldUs1YkhuY1RSVnd6QzdzVzgyR1YwTnNYbkxIbjRVWmFYNS9hem1RUE50?=
 =?utf-8?B?UVNzOWU4ZHQvWXhOVmxlM1JsVFRXN0ZVYkptdDhDNVEvbVpLSGNJU3gvUjM2?=
 =?utf-8?B?WlMvSG9qbFlndFhNak1xUENaZVZCY1hkb3dwTzhzWXRxNW9vYi9JWFZGV3kz?=
 =?utf-8?B?cllyWFNNbFhyYlpuYU1ZMEtyL2FCRDk0WlhlSTBaS3RwOVVpcWVkR2MxZnJI?=
 =?utf-8?B?MEdteUlyd2xJcytGajczK01ycUVRZ05UekR3a3NVY1VMZnp6ZFBUWUZJTlUx?=
 =?utf-8?B?VmhZbUVvSEJBalA3TjZXMWpHSmlQRlNYQlRid0tMT0xJNGM5dU1zSVZXakZj?=
 =?utf-8?B?dG9ROG0wNzRFbXptcTZPQkhkazYzZktkM25xTU9TRU5lVGpWU2hUR3hhUlM1?=
 =?utf-8?B?dU1wRzFZN2VybCthSWtkTExsdGYyNFdDbFcxTUM0dnhyaXJmbWtOOUFHL1Vq?=
 =?utf-8?B?THMvai9udFBybStLa3lReVV0ODE5M3lYZ3pOODFkMkQ4QzRNVDZxZ1BvZnBj?=
 =?utf-8?B?b3oxbjBGR2RRTlhCZkUxMmJreHVrTkxDZVB6V1p5VE4vWm1MeXdGM0U4MHRq?=
 =?utf-8?B?eVFzNmdiNG1OMklmV2RNL0l4VnZubnBqak1UUjhRWVQydm93WUZPVmx1RC9P?=
 =?utf-8?B?NjFpVTV2dzlSV3FUeUFIMVpzL0Izc3dQejU3WHFmcytkam51NmswRThEY1cy?=
 =?utf-8?B?am5IckQwRkJlRThRa2Q2ZXNDenYyZ0dHOVEvaXlaVmhkZ2pGd3QyN1lzbkNi?=
 =?utf-8?B?T01KODIwWDViMFEzWk1oRG51RXB3Qm1wRVkyOUdnVE5TbFoxNDNYblZjNGNo?=
 =?utf-8?B?dGpqQ0FObWUrS1ZzNVk3bTBCL00za0xEWU1wUHZJemV5ZCtoeE5nV2kzNVlj?=
 =?utf-8?B?eDZWSXpleUxJUkx1aFBLOW12YkNPVmV5Vzg5YUJLWHZ1aWpWL1FIdWtleVY0?=
 =?utf-8?B?L3VXUHFyVkpTSVpQeEc2Q0R1MnNHZXNtWUJvVERlMW9DTFRFYlZJSmpETURp?=
 =?utf-8?B?dm94M1NQWG1taGNSSmlXSDV6c0lERzJLUVhHUzFrWkNPUlpjRmUvR3RZbDhQ?=
 =?utf-8?B?ZWt6bnNTSlpYUnNGUFpTWTZuc2RHVFR2TEw0ZlYrblR0dXp6YTZabTNNU3Vn?=
 =?utf-8?B?QUJ3U3ZXcEFqUk1IcmNiVXB3MTVUdldFeVN2Q0ZPbm4zRHd5UDhLUGtrK1RQ?=
 =?utf-8?B?ZXBLZTUxMGFzZktqNEhYVjBXa3dPQ0kydTljWE5JbVB0Vm5YaS9Lb3dmTmU1?=
 =?utf-8?B?YmFjMDVxRGtudnBPU1B2UUNnWk1VYmtkU1ZFNU9QWnRTdC82STNVQjlHTSsr?=
 =?utf-8?B?TWV5Umx1cFZZb0pjR3lvUUx5NEdJdnVSSVhUcmM3RHJNVzRsdms0cVJiQmxF?=
 =?utf-8?B?MWhkQTBsV2dqVUF2U1JFUE82ZkMreUdQdHJqN1NwZko4S1RadzB2WXBZSnZx?=
 =?utf-8?B?aVNhbFlHakxCWGVSQU13YjN6NHJjcHJBNyt3dTRzZjE1TEVGcGEzUUlsMVJp?=
 =?utf-8?B?YS9FYWo4RnNXNUF2Q0hPTzFLR3JvSTRJTU5Od2FBK1FYZzZTN2xIZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 021cbf2d-8e0e-491f-06bd-08dec6049439
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 08:53:30.3902
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fpPPikMgt1DQ+dxwilpwK8Wt6DWWeuE+G0FYcT6QWNpyRWckatuVQZXnVG18P+GkNzTUDICXE1VCxi6t6WFslg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR03MB8271
X-purgate-ID: tlsNG-4011c0/1780995213-709668B7-16E1E357/0/0
X-purgate-type: clean
X-purgate-size: 3519

Adjust the mask calculation in case the last range is merged with the
previous one, as then the mask must be calculated from the previous range,
which the current one has been merged into.

Instead of fixing the off-by-one in place, move the calculation of the bit
change mask to the next loop, after the ranges have been merged.  This
simplifies the logic by consolidating mask calculation in a single place,
possibly making it less error prone in the future.

Also add a test case that triggers the bug being fixed by this commit.

Fixes: c5c45bcbd6a1 ("pdx: introduce a new compression algorithm based on region offsets")
Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 tools/tests/pdx/test-pdx.c | 14 ++++++++++++++
 xen/common/pdx.c           | 13 ++++++-------
 2 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/tools/tests/pdx/test-pdx.c b/tools/tests/pdx/test-pdx.c
index d783186577ef..ba57f1793011 100644
--- a/tools/tests/pdx/test-pdx.c
+++ b/tools/tests/pdx/test-pdx.c
@@ -191,6 +191,20 @@ int main(int argc, char **argv)
             },
             .compress = false,
         },
+        /*
+         * 2s Dell R740, merging of ranges causes mask differences in PDX
+         * offset mode.  Useful for checking mask calculations.
+         */
+        {
+            .ranges = {
+                { .start = 0x0000000UL, .end = 0x0080000UL },
+                { .start = 0x0100000UL, .end = 0x3070000UL },
+                { .start = 0x3070000UL, .end = 0x3870000UL },
+                { .start = 0x3870000UL, .end = 0x6870000UL },
+                { .start = 0x6870000UL, .end = 0x7070000UL },
+            },
+            .compress = false,
+        },
     };
     int ret_code = EXIT_SUCCESS;
 
diff --git a/xen/common/pdx.c b/xen/common/pdx.c
index 7e070ff962e8..a84c7d19ade4 100644
--- a/xen/common/pdx.c
+++ b/xen/common/pdx.c
@@ -391,10 +391,7 @@ bool __init pfn_pdx_compression_setup(paddr_t base)
         if ( !i ||
              ranges[i].base_pfn >=
              (ranges[i - 1].base_pfn + ranges[i - 1].pages) )
-        {
-            mask |= pdx_region_mask(ranges[i].base_pfn, ranges[i].pages);
             continue;
-        }
 
         ranges[i - 1].pages = ranges[i].base_pfn + ranges[i].pages -
                               ranges[i - 1].base_pfn;
@@ -402,19 +399,21 @@ bool __init pfn_pdx_compression_setup(paddr_t base)
         if ( i + 1 < nr_ranges )
             memmove(&ranges[i], &ranges[i + 1],
                     (nr_ranges - (i + 1)) * sizeof(ranges[0]));
-        else /* last range */
-            mask |= pdx_region_mask(ranges[i].base_pfn, ranges[i].pages);
         nr_ranges--;
         i--;
     }
 
     /*
-     * Populate a mask with the non-equal bits of the different ranges, do this
-     * to calculate the maximum PFN shift to use as the lookup table index.
+     * Populate two masks: one with the non-equal bits of the different ranges,
+     * another with the bits that change inside regions. Do this to calculate
+     * the maximum PFN shift to use as the lookup table index.
      */
     for ( i = 0; i < nr_ranges; i++ )
+    {
+        mask |= pdx_region_mask(ranges[i].base_pfn, ranges[i].pages);
         for ( unsigned int j = i + 1; j < nr_ranges; j++ )
             idx_mask |= ranges[i].base_pfn ^ ranges[j].base_pfn;
+    }
     /* Mask out the bits that change inside of ranges. */
     idx_mask &= ~mask;
 
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 08:58:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 08:58:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332522.1594972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWsIG-0008Nc-O2; Tue, 09 Jun 2026 08:58:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332522.1594972; Tue, 09 Jun 2026 08: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 1wWsIG-0008NV-KC; Tue, 09 Jun 2026 08:58:44 +0000
Received: by outflank-mailman (input) for mailman id 1332522;
 Tue, 09 Jun 2026 08:58:42 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wWsIE-0008NP-QP
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 08:58:42 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWsID-00FaWg-Tc
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 10:58:41 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a27d5b6-5cb7-0a2a0a5109dd-0a2a450b8dde-36
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:58:41 +0200
Received: from [40.107.200.34]
 (helo=CH5PR02CU005.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a27d5c0-212f-0a2a450b0019-286bc82226f6-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:58:41 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by LV3PR03MB7407.namprd03.prod.outlook.com (2603:10b6:408:197::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.14; Tue, 9 Jun 2026
 08:58:37 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026
 08:58: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Vov15qXtzf/gIxq2q8Ge1y1eqlHeyKFc945mpIh970m9cCgJ4y0NVB2SfgCFXySoAwGUpmG/cbvloijcSs+u4tM4HKoA8NSIEx2OiMCMfDJ7Z2Q6qhyOffGMqpNt5qbBD0tVYzItMscGnIyCbtxz2x00dJTOb0PQoWTl8JEIWZ30bpJRKuuPjtHiugvJ9IYnbQJMY5eM9N/eKb+yD5zIMFqoipJGn27IUqT6hfVLNdqiMzT7uVRJH8on8DGJ6JUZrG/+buTT50Du74ZKWglfG4fLfdBhGqkydDEbO1p7Sl60T3F+UifH8Hnb/cPtIlORePwMC1yoyOJsgeiU9jgTsw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NgvfDeRltW+4bsBSBTVgAEp8xUfe+nP6mgKZYfKQg/w=;
 b=YNiMxYmTW4BImzu9pIDrG/C+B7DkYq3cfUnvcfoYudiu0U/cR5AH7mvJC03JA23efzegf1GooZkzicWhX1RAdeLI5nR1++kPe7Nz6wknqAsAsxBDURdgkTdcLn1172LP88zBK9goSeNf49hcIpF9nHrkHijiywHpag+9xSjG0juyYHz0C8XsFhjm/9ksr/LrgXu0QmREyQJskWi6Gha0F82jiYfUxN4QeaYYpJFlv8ffWUZa+fwCUs9QdLxbWh0q02Q+jCqlK4sH/eLIWMFXJ6GfS/bFEv8e0KXtSzeHGJb1+Cl/vbXFDZogmWTZu1RjrEbPyivtZrlKynD6pCHx2w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NgvfDeRltW+4bsBSBTVgAEp8xUfe+nP6mgKZYfKQg/w=;
 b=qLklpRj7ZZNInLMx9KBPuEn+HTKKcf0AH5qYrQg/EEllfoUOiy4iSmP1oFlkxsl+Oj2cQDN1pmnmYirV0vFOAbJJnTFLS4gEM69rCc4ARaFh+LmJiwCqRrYN0++1kbcltNM9wfLEELVY8ZH66di7lHTsy4F2/aoRlAZGwVxHt5o=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 9 Jun 2026 10:58:34 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.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>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH for-4.22] xen/pdx: fix off-by-one index in offset mask
 calculation
Message-ID: <aifVuu_W_0BiAzhh@macbook.local>
References: <20260609085322.92856-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260609085322.92856-1-roger.pau@citrix.com>
X-ClientProxiedBy: MA3P292CA0045.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:48::10) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|LV3PR03MB7407:EE_
X-MS-Office365-Filtering-Correlation-Id: 4f442c76-38a1-4aec-584e-08dec6054b79
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|11063799006|56012099006|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	HVuy5+QF9lpLpWu8k8NPb8qT1eB4TxicHiu6DXeiw2xud1pvM9UpZ832+NRkTYLRljQChqcWv86sZflgoEK48OXV9/vAiQFW5SptMlqgphFUGa/ItvyNQozFrmLGlIJKWNKKUXiztoYPcxss6ijIhiQTxl994/M8axp+ANnUh1Sm7DM2Ivvoh5rgXdfiUYM/oEl0xjeZmEZLEeyoKXUcMGpeMhQ4t+uIAkvrhosqVtJgdfZCJnF1vF5T3pYkd1pwZGToYqOe8hLvuJJQsdebiZ8ND1YOboPceiS1zl5DdLSTuK63Qxb/EdFVQXiYyzn8qQ+0yg3kofMFwWNdRt4gFnC5DAwo13351DYAU+Csaj6ytbbbu6NgcqzYWPG10fZrahjsZaFkG2we/GnIKE9hQ+r/f6pla/rglUiaFuWC43/2G1CRpgEb+hA8CCzieAaN+aX1Ax2F20LE9PRyyic3wNykSNqvXEaH1+4em+eJC8371HEeTrNMibyQelkt9lNc3zJOsBDTCGYR/dGKvdkEKyHicaPP/9ZXrtUoPkyQOMQb7HCslKktvSwuSif8vrrdFGbIAznHmV2/nDvQKRXsnrA9n9dA5s4imdO5R0YGxzqqv5uwLUuU0ER+ac55ZsLKwXR+8sxiWdz4WB3q+ohg3jdwAJPu03FYGIhrA6lv1c1oOPGh/vB13p5oLWMtDFS1
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(11063799006)(56012099006)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RGtkcGVQWDVJakVrQW50T2hvL2FMSVpLK1hhK2JxaXlFNExGZXh1ZTVWL0tm?=
 =?utf-8?B?RTNJUkNKU0tIMTVpZGlnR04raSs2WjFRWTNtN29UWm1WcGw4eHkxMVJVSE9t?=
 =?utf-8?B?QW9yQXFLRkJpdUZyelM3bXZGOVBwZTFFTnA3Z0NYWWlmZ1BNcUlGbWhUNzRJ?=
 =?utf-8?B?a285cjdpWUhqY3NJQ3BsdTI1SVVUbHNQZm9BVk1EZHQ5U25BZUg0SXhETjU4?=
 =?utf-8?B?ajZWaFl1OTdXakZ0eS9Ga2hrUEhFR2pWT2dWWGUwZm9CdWNqcVdTeG9qZzFl?=
 =?utf-8?B?b1RSTVI3YzNiVG8rT1VwTE02cHZzNndHalVCSTdJVHBHRG9reUZ1dGR3Rks4?=
 =?utf-8?B?UjAwN2ZMN04zVnFEd3RwckFrenU0ZElpVlY5M3p3SEVEYWZSaUVTMGlwdlNN?=
 =?utf-8?B?V3VTU0wyN2xoUlZvSkRVaUJ4SGQ2a3kvTzM4TStiV0YvclcxaWZocUJPOThU?=
 =?utf-8?B?dDJtN3czSXZmK21sUjFRYXYxVEQ1SUVxSDlEZ3c5K3pna2hiV1g0Zi9IaEVZ?=
 =?utf-8?B?YWprUTJESC9uTVg5VTBrNlV5c1NxOC9DbFo2NWVROVJSeG1yUkkybU9KY2tu?=
 =?utf-8?B?eXVDWmIyQVFHM05XSmFyNDVVM0pEMm1IeExielRNYjY5Uk1oQmdJekNQNzIr?=
 =?utf-8?B?MnVxTmFHaHI5SEZ1NFRROWlSQmhBT0FXR0t4a2lDOTJEdlprQ1lHS0pJR3po?=
 =?utf-8?B?YTBuc0J1SzhHZnJDWkpER1FEalU4RkFZT2VKWlZ1VEl3Y25TMUdsN2xUbDk5?=
 =?utf-8?B?eEdtdExiWjFxRWIvemRPdS80dElOVWNoMVdlV2VtNzJjcEF1MTBDR3JZUW1I?=
 =?utf-8?B?d2E4RDlkSjRjYkNYMHdvaDlqQTNMUitqTEhZQ0RKYU8ycFNhaVdLb2VZRUFm?=
 =?utf-8?B?NzY3ZmhYWEs2VTZYWnB5L29iZXlTcmRpU0FKVUgvS1dZVkFWZnRBampUc0lp?=
 =?utf-8?B?a1N0UGgwYWJObmUzcWJ2eDZ2dFcwWjRYTFB4NTlBY3ViNmQ4WXdPVmp2Witr?=
 =?utf-8?B?dC80ei8xWS81bGZKZzBQUCsxWnB1ejFCRTUwa1h5OEpxbEkxRU5ubCtLTEpx?=
 =?utf-8?B?WW02Vmc2dlN4dnlKSGRTOXJ3N1c3N3FIeFpkR0FSVFBKY2JPTTk5TUIvcDBl?=
 =?utf-8?B?VDZyU0NGREpRYU55NUE3ZXN1OEMwWTcxUm90dWw2WmdJdmFqbjArSko3dnJU?=
 =?utf-8?B?S0p1OHFYNWFoZUd1bUx5TzZIM0hWZVJsYjRicFRkbTdqNUVMM1Q4QytvcFBJ?=
 =?utf-8?B?WldVNm1obHZ5ZjNLbHBtcHhzWHZJZElZT1NhOEtFanMyS0FoNUV6SkdEOGlF?=
 =?utf-8?B?azJhYVo5WUN0alVUL09wR3FldlRUZXFyUHZsRERvQ3hDMW5Tbk1KdkJ4SEpi?=
 =?utf-8?B?UGFIN3dWaEFRazFFZ1grMWpYVTB0NUdGdlVObU1KaUpyM0JvL2IwZ2lPeVRT?=
 =?utf-8?B?RzR5NVNvWVRIZVlya1kvUEVhSFFaTW1wcE9nN3pZbmd0R3dCUUJGNFpkRm0v?=
 =?utf-8?B?cHJPcGdYd0FVU2MzSmQvV1ZhZnA5ZnJ2ZVhkQlBnSTdzN2hSZExDYzB5UWFJ?=
 =?utf-8?B?cHNnYVdtMy9STkMyZ05YWitieDYya1BXemZRM2tCQkNZalhIN09EV0h5Rncr?=
 =?utf-8?B?aEI1SmFaM2tTZEJjMUpOaHF5dVdyb2xLRGxvMHZMZTV0NlJ2VHd0Vy81Z0Ft?=
 =?utf-8?B?cTZieThqdDMxanQyV28ra2xXUnRiWHRacVJ3VVhYK3ZySzJUTVBHdlVFZVZr?=
 =?utf-8?B?ekxEbUduZWpTeWY3L3NmcDV5Z25aQkZ0RjFtWkxxTFB3ZzlyQ09hZHFIZTM2?=
 =?utf-8?B?YWRtQnVNbHJTWTZtRE0rM3ZQbDhpN2NkbnZZZXlUNWJJa3FuYWJqQ1pOb0Ry?=
 =?utf-8?B?b2wzWll1UENpQk1VZCtEMGVQRHJvTk9JSzB0UTQ1NU50UFBnRXBHaG96SWo4?=
 =?utf-8?B?KzVQd2JWbmxRRnpORzhPY1pQWkJyRHAyNXk4bHo2MDVwSTJ4SkR0TTQ0SXNx?=
 =?utf-8?B?TGFKcGVxMEc4c3N1KytkMGJGd1hpWmlEVUppMFJkSDI2Y1FuK2pDQ1c1cEd3?=
 =?utf-8?B?TmhaVnNxV291NmVHcytWaWN1Ynh4YTJKdTQ4cHZZSnZ3bTMwSmNEdmVMNVJu?=
 =?utf-8?B?N0o2Sm1nb1RQT1lCUEM3aGhPblVjYnVObjU2eERZRlJrVUZWRnFaVTl4aW44?=
 =?utf-8?B?YW5NQWkvWUVRQW04dzdNenBrREtTeVhDMFNmSURuWkVxeTlMSngvbGVpVVdT?=
 =?utf-8?B?SWF2MHBDYWhwcXdSSnJnTmpyRFg1SkdmNnI0U0pHL3BvV2lLZkdrUW1BU25q?=
 =?utf-8?B?UUFGL0pvUW1Dc0J5NWxwTWQ0NHF4MjVTTlJ1RzdBRUY4VlczRVVOZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f442c76-38a1-4aec-584e-08dec6054b79
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 08:58:37.8466
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: age3HSqWcv6ekIlvDMLL7/6D62brHlicK/j/hYFeEMSI7a5V0+H5bDG77zz4l+bNPItkBXP6t0+Y/YXzoNkUiA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7407
X-purgate-ID: tlsNG-42698a/1780995521-1B77AF3B-AC32A116/0/0
X-purgate-type: clean
X-purgate-size: 3572

On Tue, Jun 09, 2026 at 10:53:22AM +0200, Roger Pau Monne wrote:
> Adjust the mask calculation in case the last range is merged with the
> previous one, as then the mask must be calculated from the previous range,
> which the current one has been merged into.
> 
> Instead of fixing the off-by-one in place, move the calculation of the bit
> change mask to the next loop, after the ranges have been merged.  This
> simplifies the logic by consolidating mask calculation in a single place,
> possibly making it less error prone in the future.
> 
> Also add a test case that triggers the bug being fixed by this commit.
> 
> Fixes: c5c45bcbd6a1 ("pdx: introduce a new compression algorithm based on region offsets")
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> ---
>  tools/tests/pdx/test-pdx.c | 14 ++++++++++++++
>  xen/common/pdx.c           | 13 ++++++-------
>  2 files changed, 20 insertions(+), 7 deletions(-)
> 
> diff --git a/tools/tests/pdx/test-pdx.c b/tools/tests/pdx/test-pdx.c
> index d783186577ef..ba57f1793011 100644
> --- a/tools/tests/pdx/test-pdx.c
> +++ b/tools/tests/pdx/test-pdx.c
> @@ -191,6 +191,20 @@ int main(int argc, char **argv)
>              },
>              .compress = false,
>          },
> +        /*
> +         * 2s Dell R740, merging of ranges causes mask differences in PDX
> +         * offset mode.  Useful for checking mask calculations.
> +         */
> +        {
> +            .ranges = {
> +                { .start = 0x0000000UL, .end = 0x0080000UL },
> +                { .start = 0x0100000UL, .end = 0x3070000UL },
> +                { .start = 0x3070000UL, .end = 0x3870000UL },
> +                { .start = 0x3870000UL, .end = 0x6870000UL },
> +                { .start = 0x6870000UL, .end = 0x7070000UL },
> +            },
> +            .compress = false,
> +        },
>      };
>      int ret_code = EXIT_SUCCESS;
>  
> diff --git a/xen/common/pdx.c b/xen/common/pdx.c
> index 7e070ff962e8..a84c7d19ade4 100644
> --- a/xen/common/pdx.c
> +++ b/xen/common/pdx.c
> @@ -391,10 +391,7 @@ bool __init pfn_pdx_compression_setup(paddr_t base)
>          if ( !i ||
>               ranges[i].base_pfn >=
>               (ranges[i - 1].base_pfn + ranges[i - 1].pages) )
> -        {
> -            mask |= pdx_region_mask(ranges[i].base_pfn, ranges[i].pages);
>              continue;
> -        }
>  
>          ranges[i - 1].pages = ranges[i].base_pfn + ranges[i].pages -
>                                ranges[i - 1].base_pfn;
> @@ -402,19 +399,21 @@ bool __init pfn_pdx_compression_setup(paddr_t base)
>          if ( i + 1 < nr_ranges )
>              memmove(&ranges[i], &ranges[i + 1],
>                      (nr_ranges - (i + 1)) * sizeof(ranges[0]));
> -        else /* last range */
> -            mask |= pdx_region_mask(ranges[i].base_pfn, ranges[i].pages);
>          nr_ranges--;
>          i--;
>      }
>  
>      /*
> -     * Populate a mask with the non-equal bits of the different ranges, do this
> -     * to calculate the maximum PFN shift to use as the lookup table index.
> +     * Populate two masks: one with the non-equal bits of the different ranges,
> +     * another with the bits that change inside regions. Do this to calculate

Forgot to refresh the patch before sending, this line should be:

"another with the bits that change inside ranges.  Do this to calculate"

IOW: s/regions/ranges/ so that we don't mix "ranges" and "regions" in
the same paragraph which is confusing.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 08:59:47 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 08:59:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332527.1594980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWsJG-0000S6-WF; Tue, 09 Jun 2026 08:59:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332527.1594980; Tue, 09 Jun 2026 08:59:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWsJG-0000Rz-Sm; Tue, 09 Jun 2026 08:59:46 +0000
Received: by outflank-mailman (input) for mailman id 1332527;
 Tue, 09 Jun 2026 08:59:45 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wWsJF-0000Rm-Mw
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 08:59:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWsJF-003cZI-3T
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 10:59:45 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a27d5f8-5cb7-0a2a0a5109dd-0a2a450ce3c8-48
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:59:45 +0200
Received: from [40.93.201.54]
 (helo=CY3PR05CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a27d5ff-62f1-0a2a450c0019-285dc936d945-4
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:59:44 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by BLAPR03MB5378.namprd03.prod.outlook.com (2603:10b6:208:292::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Tue, 9 Jun 2026
 08:59:41 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026
 08:59: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DqYBJfI8tOsH4vTenvbJU1VhhqMI/tC2drOSZpZPe0wsYYPiYKa752Ho+prAuwN4+3ldWXG2LWcn2h9KBlKlS141obktGj26+y1tvytUyPVEW+yiiNWrtOwjlR6ZancLrcqQpRzpVdRVlHVHlotUyKgOI7uoV6I429mV6Jksf42pYCsmElI3k9WULsilYL+QlYjPlP2jehKebY7cgJ9j1HrluEBMPsSyMX0XLWYbZ7tQDdrDoUS3UBK8p0UOohrFNe1XQVL1RJhhqpJSaduFskPUaQ8Ld9LbAtuztqVcUQu6WItf7hjbdMyGsr6mg1yPolmBe28bbeqgdOCoe4zhuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5wN/JiC6zEouOUNZNfhdsGFCdEgm4TfFNXjj9Ti2VKA=;
 b=Xdr5dd4fhIJjuiY2K1Bfx8YNRnqkSOxK8HStZuyPbQc5aEH1zM3Z4K1HMMovIU8zvpoHzpmeEMabl+wZbKILDB58UhZq3BsqoCJZK/7kUUOD2PRZ/CXR5wOwxKsA3gAlcYzwPos5P6B8MkFYqMPadlmCiclcehC/C+59MWFyRYXbxkKFNXtMKczR7S7PRQmP89R7eeZW4y3FFjSk0MEm5VysgbN3M3NFETOwsD8SoJsFTluV6jNqELc7PzRJCL+Z2qVWaKdhtUi+ju+3aRGYATCA2qV+HL4kjFYwpVEFZMcdNSJcj/5NWUo4XN51Si5KMWzHWdE8HIwq5r3vHcLykg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5wN/JiC6zEouOUNZNfhdsGFCdEgm4TfFNXjj9Ti2VKA=;
 b=zYJwoiP7n0CLBPab6p5prQ9suOxGD4ZmWv1b2QJomNphWyzegc0UaxJ5CvG4X9LfQ9SHcJWvTtxl0ysoHcomrTotXCVlI6vqaUTHgryrc/sZiZHhTUI5srhU74zbEJw5uVqQu1Ie3N1nPW6OEVst9ufPm/BRXnc6PSXNg2BThf8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <a0cfb079-653f-4c06-8004-017c7f60ffee@citrix.com>
Date: Tue, 9 Jun 2026 09:59:37 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH for-4.22] xen/pdx: fix off-by-one index in offset mask
 calculation
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <20260609085322.92856-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: <20260609085322.92856-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0393.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18f::20) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|BLAPR03MB5378:EE_
X-MS-Office365-Filtering-Correlation-Id: 9967bf0d-3589-4b3c-5beb-08dec6057146
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|366016|22082099003|18002099003|6133799003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	BXUij61m7NR1ab3qsETbRIf007t4AYvP68yEmZ0uLKXQphFZct37b1jLbxow7hvVaH5+lzWuXD0VQChVc8AbAfoiG0Gbol9sGr1/DVjuvZXTBCp2CiNIQUtgLTgFbJt2fvLedgDG1xHCIQnq2UhLkYRG+kjZgqaRtOVaqHDDTkXZtdImrqBxhyLR+tvHWLUrrsm+RUAmmx2xy0vcAq8eklI/F1BhRJKVJp/VasXXO9/nkKwv6zEit42hsefzuo/R/0YFnuYll++448rOQC6WOueNgOdP4JLuYEfl5VnO4D7sn5h+/2osgXfJuUPq+6vTnPgzBZDBVjp/oIuUcSvLYfdMyp9WUjMzXGCGjdEUWi0lC+BO/bjGpEjx2Fwk/aDVNUgEngGLDIM2myS605wKY70PbzDPt1z7bQD2X27iUfl2SYXQL9yCi/DQrnfvU1q5dUNVjAP8khK5cuHN6isMNwoGKCF50MDKP+YzWaFVIzXo0ZINI1oQ48ZBcDWrseld2K7RvnTeRGIsygo7OomZfeON01dNVtTxTs8T/p6T3yt/gaA55aB2KfZaEntkG0wZ4XWqI9xavg/FIVSOZbxhHzlxeOlnjPCLbRLtCsDrkAROmpop9QghqyKGrt8LaB+aE/vuoCm8Oh4Q/k/NQXCog5yirX4u7ou2MJUb769ZlEn63axD2jWwfs9QSzzbZsCK
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(22082099003)(18002099003)(6133799003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TTZBcGRiOGc2L096Z25xNTJ1K1FlNEZYOVg0TDNuOU9ETGJubFo0TW9lSmN1?=
 =?utf-8?B?WDF0RUpXTkdoTGV4cjNaMDVVTjB4ZTRvZmw1eE5Pd2FkOWZJd0lpd2RINDA2?=
 =?utf-8?B?RjRzbXZDaTllS25DTEhHNlJQTS8rUExLRkdOdVdiQjFVWXVlVHk2TWwvRVJv?=
 =?utf-8?B?Y1hYMDFoT2FqQ3Z4N1JFYXcxQWRmRGNEVmNxcGdITTU0RXlER1YwMm0zTDYx?=
 =?utf-8?B?dVB4T1EyN1JTbkY4VEdKZW52czJ4MGptUmRmTkEzbThhaXI1ZUJCRm9Hak1W?=
 =?utf-8?B?Ulo1ejE0Q0ZLZnBVZ09XeFVpd1M3K000dFZQUkdtaGV5cyt5TEFSNUF4T1BM?=
 =?utf-8?B?c0JQUU9KOGNCb0U1bjdrbmU0M0s2VU9UTTJpZkQ5RGhnVVJHNFBkMURtYkZJ?=
 =?utf-8?B?bHNqL2JuOTJvRWZxWVJCdkhRaGpQVTZSMnZieExhWUlUVkM1djlaZUwzL1ZS?=
 =?utf-8?B?ZXMwdWNZaWRTc0NqWkJmVTV0V0p2MWJzZTduK25mc1FvaUpyZ0YvZUNhN2hK?=
 =?utf-8?B?cGhUV1RyOGp4RU5zVjBhS3Vuc1l4UVFCZHozb3NmNjNTWEsyWWJySnBjNDMv?=
 =?utf-8?B?N0ZOa1V4cE1Pemp1WEw4WnArWDIvYlpQbXkzS0t2WkcveVlhOXM0THdMemts?=
 =?utf-8?B?elZEeGlNazRTOTdvaHRTRFEwT1lwcHQxTFhVVGlUQjdLQmQvYXFMSjB4OUFV?=
 =?utf-8?B?TktzVCtxZXRXUlhEdDB6NUNZbU9PZnFBUExtTG56U1M3S0o3VE8reTcvVTB0?=
 =?utf-8?B?TlluMU8zTm9iWHlYUktVUmdhUmh3REJvbzloY05YNnZGVHlMQmFBb3dhaXd6?=
 =?utf-8?B?aXN5YndIeDdUbzBWM1JwNGExOVo0VFBTSHZsaklwVjhKMWZQc3dnU2Y3K2p0?=
 =?utf-8?B?NXFaYTBVWGxZUXpjQ3NNY25CS25mYkVCRFRaZk8yRkZtdUgxTDVPdk1nc0s3?=
 =?utf-8?B?NHp4L0tqeVJQVXNLbTh6NGhsQzhidGQvWW5DVHpUaU5vRmZ4U1QvOGs2TWtq?=
 =?utf-8?B?MTE2Vm85aGx2QXVyQVVvQSswMTVzMzFET09jb2pHV0h6U0FHU040dWwxZTIz?=
 =?utf-8?B?VmF5dlpPOGN3ckxDU04vaG0xenFvWHZmVDE1RmhXUWhOZ0hRK1E5OTF5Uk1F?=
 =?utf-8?B?NDdoYWJESlRKSnRhMktWbGpGWWxPL2t5a1hDOUNuWjY5M0Rralc0MS82K3JC?=
 =?utf-8?B?SjRrVE1JRGVxQ1BtY1VaU0JLNjNTcVJHWHNsSjBKVVNyYmZ2YTcra2xoL3lS?=
 =?utf-8?B?T090LzZyMERSU0pjRjNQOWlnWXZ3SXArcU9kMFJpRTFHaGU3N2lheGpQcEZh?=
 =?utf-8?B?S2FpVHppTG13anErOTJBMU9ReThPaE56WXhDNlhpOVo3Q3NMLzhrbEJYTVNY?=
 =?utf-8?B?SEtmMnRQalhNVU9TN2ZQSkhmemExdDdYaDJtRDRxeGZSYU83QkNYd1h5K1N6?=
 =?utf-8?B?SmZwbVFCZ0I2MWJZSWgwOG1MbnFrRjJWT1hBY3lyRVEyelNId2Jwc0dWemtB?=
 =?utf-8?B?YVExbmRHZEdpMWJCMjBCdWNuOUpQRTA1YzUyaWNkM1Bzei96WlFCdTM3cE51?=
 =?utf-8?B?OFBBZWlETWtDMk9hNkFUWTVYb1ZhUVlld1AxQmw3SmMrTENCdVhhbHQzcWdG?=
 =?utf-8?B?b2JKNWd1eGlOYUFGbHZFbm0xUnlISFBDNlhqakhBclJlaitFRDRCeWE2cS9G?=
 =?utf-8?B?cENKallSS0JZaXpuTStlNXg0NFRyNFFab3pRajk2Qjc5SkdGZXVnVklXQjNL?=
 =?utf-8?B?dkN5WW5sdzZjYkx2UmVmN0NFK2V5cUt3TGtPNE50WE5QS1NqamViUmFuT3ND?=
 =?utf-8?B?TEtNM0pOTUpwYStXNjNyZFRCdUp2RGVEUEZ5K0xpU24vdElvb2wrTlkrUkVq?=
 =?utf-8?B?Tk9WVmpzeHFhODQwNDZ2QzJDbEc2bVBBTGpGdllKS1FqOHg5bGh4dXJLRFBC?=
 =?utf-8?B?VzV0UDRpcVpqQmFVZEZ5OTNGbVUxQU1OZ1lyV1dVdTFwbDRxNGRvOTc4YkRL?=
 =?utf-8?B?TzVJT1pDRXdQUU16cDNvNTBPaHl6bnRLYmRJQ0FWSFRuenc5WXd5RGpocjBW?=
 =?utf-8?B?MTNTUUN1WWZQaHUrVVRUOE1SMEFpanB5MlJaaTFPTkFjZUc1dVZ5SUd6RnBx?=
 =?utf-8?B?R2UzMEgydFB3Y29qRWtWMXBnU2IxeHBXWVM3UUp0MnpmZFozcmFBV1NTZkdO?=
 =?utf-8?B?aE05RG9nV0NRN0hsOHV0SmVnYXVJbDdpWXBZQ0JhNkRGR0RWTTlJMGtlQUFB?=
 =?utf-8?B?cEFyQWl2V2ROUjg3M2JTaTd5UURCWG44Q21YOFVubytwVVhpRERaeVVONCtY?=
 =?utf-8?B?UWMwTlJ4TExWUDd6TVV2UG5kRE5nOWRCQUtWRVczSFBLWjlyQXI2VUU0aExu?=
 =?utf-8?Q?M4aHgBdQk83Y5q9c=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9967bf0d-3589-4b3c-5beb-08dec6057146
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 08:59:41.1552
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jMQV8ikNvzkY7xdfJkHCBfSFvD+etE8Djg3nI/mfBWD0/z/WLPwQ0KiKvDB7U0hlHzAhiGCZJ9nuuP1NYxcLmvnu8z3HKmqkpUQhRIiXc7I=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5378
X-purgate-ID: tlsNG-d25034/1780995585-F407FCF5-FA96735C/0/0
X-purgate-type: clean
X-purgate-size: 1397

On 09/06/2026 9:53 am, Roger Pau Monne wrote:
> Adjust the mask calculation in case the last range is merged with the
> previous one, as then the mask must be calculated from the previous range,
> which the current one has been merged into.
>
> Instead of fixing the off-by-one in place, move the calculation of the bit
> change mask to the next loop, after the ranges have been merged.  This
> simplifies the logic by consolidating mask calculation in a single place,
> possibly making it less error prone in the future.
>
> Also add a test case that triggers the bug being fixed by this commit.
>
> Fixes: c5c45bcbd6a1 ("pdx: introduce a new compression algorithm based on region offsets")
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

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

> diff --git a/tools/tests/pdx/test-pdx.c b/tools/tests/pdx/test-pdx.c
> index d783186577ef..ba57f1793011 100644
> --- a/tools/tests/pdx/test-pdx.c
> +++ b/tools/tests/pdx/test-pdx.c
> @@ -191,6 +191,20 @@ int main(int argc, char **argv)
>              },
>              .compress = false,
>          },
> +        /*
> +         * 2s Dell R740, merging of ranges causes mask differences in PDX
> +         * offset mode.  Useful for checking mask calculations.

What's the 2s here?Â  If it is what I think it is, I'd suggest "Dell
R740, dual socket,"

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 09:15:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 09:15:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332537.1594989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWsY8-0003zX-8j; Tue, 09 Jun 2026 09:15:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332537.1594989; Tue, 09 Jun 2026 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 1wWsY8-0003zQ-5K; Tue, 09 Jun 2026 09:15:08 +0000
Received: by outflank-mailman (input) for mailman id 1332537;
 Tue, 09 Jun 2026 09:15:07 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wWsY7-0003zK-Al
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 09:15:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWsY6-00GkDh-4W
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 11:15:06 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a27d993-5cb7-0a2a0a5109dd-0a2a45088ace-26
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 11:15:06 +0200
Received: from [40.93.194.4]
 (helo=SN4PR0501CU005.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a27d996-63b5-0a2a45080019-285dc204dbd9-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 11:15:04 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by MW4PR03MB6556.namprd03.prod.outlook.com (2603:10b6:303:127::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.14; Tue, 9 Jun 2026
 09:15:00 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026
 09:14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=PCXP6+nOgQs8T1o9LUAs/NR4ADLthiBZJIEh85N8sITV2AFm1xzrPgj5aHr5tgRE9gr0DMrJwOIMOWnZk++XCFLnU/V8aaAY6E98IUNkihI9balyNEukur2gdnlJztb+97/0QYtx80YtWtk2EwZ/oTSla/SQg6Tj+2LwqPrHl5o7Ymh+fle2U/vaaADg17jG4I4eI/e2TElsGG0I71LfaF3o8HsdKLQmrXbu31oMlm2Q78WMpRhDZ+Ol9jGfIPusiv5CfIUMP57pv1xsuAMxfVYjAPc3CMDZmz8HTegEeUKwUKx/JMOuXL9Ngi+E8MxCgFFZp8llkPLM4PhKMNF13w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZV7KmSeTuJVAnHZ9Dcqyvz4GbFhJkaHDoiujCVrTNno=;
 b=pvXe7VquhYrg8u9hO2+jP++XETQTtifMc4rccuzzEf3KIzaY95juK3BscgVf80/8XO+/a0KGmF6p/keOKwZBFB9N1Iqf0S7Ljqau0dI2jdqTVc6sB+xKWrv/w/t55ZL/BhdrrT+mxGZgSwrUZdR3muiyF/oEK6UD4gtNhqZIa6HP+JUIoBoeyC85riBcAQg/U+dQywezOTe+S657YFwG48vZgPlETwPwp0i1DV7wAr4oQ6TliMjL1hZ5vaffGt3zo65AxY607H8TA/ljRxLeWDBPxes507z9NMjcPiL33GQH0jxsJAIFZ21+1JZebj3ibELql0vuYMsNa5OAij41iA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZV7KmSeTuJVAnHZ9Dcqyvz4GbFhJkaHDoiujCVrTNno=;
 b=pjmsP5ddU3+Mn55fiVkC3Khw/dBDt60epdUzDzV8Kf0Y1GXK1VhuOmN5hoaEHB7NUnL/fUKQaTlU7CaaPXpNlJz7gJ1n7A4E5lJhWkB6j/TqNZquJXLMdl8DSszYJ5QLemrnyuwCXX4JaGdmvuREsD9wwCRhGPpwj4ACiWfzMG4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 9 Jun 2026 11:14:52 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH for-4.22] xen/pdx: fix off-by-one index in offset mask
 calculation
Message-ID: <aifZjKqOrIosqles@macbook.local>
References: <20260609085322.92856-1-roger.pau@citrix.com>
 <a0cfb079-653f-4c06-8004-017c7f60ffee@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a0cfb079-653f-4c06-8004-017c7f60ffee@citrix.com>
X-ClientProxiedBy: MR1P264CA0196.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:57::14) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|MW4PR03MB6556:EE_
X-MS-Office365-Filtering-Correlation-Id: a730edda-9310-49e5-0c95-08dec6079302
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|6133799003|18002099003|22082099003|4143699003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	OMLqKHlFHbeUGcPUcTTu1p9mJJdsIbSguSsZsK43W6bITQnVRd9hYUBHycA6xGVtIz3rmJ8iXHZzTUr+Sq6fjZZ9FGL7sWbds5YfgNMhG036QKZKO6zFGyQAgIUJvUrs9QBVZCmKRisWe6NzZT0WRgbKJ+GoXd++pHMAhaejtPyLzSHVEhFv1HX03AeyZBd1Km5wk2/UG1TM8oNh89SeX/5a4mDvpMrHFrT60D6WwaUFJVBSFrINI3h/En/seqKqEqyAYzRhB81Zh8ymg1yWGuXhheQcjdJd4GccbcOSXc2FEYfwTfZ9kfrlOoLZvvpdueZ67nA8/4mn7oidLhUy+0SDUHa2k0OnDA1JDUW+R2EVNhknlQi+u1ciYKPKrtT/hczbGxX53Cou4f5T0h9TyhXf73D59u/HMDbsVJKt6msa3WLGPLOlndTXX4CuCtTXn0+//MtRvmUHdNo4lUTKsqb3FCwvCGd7MuQpKSgWzohE85QEe/G1g0VJ5l0rOngNJPxNur3q5P9TwZo0DvdXu+nS71YD9IG5JEf0iq5jHw4FKqeahnfr04O716nWCp6zvUSSn+1YntkzVrNqWuJm7k3LoEL4WlpXdt3yRUuyBS3A0+VUuh6DJk1w3Tu/EFOV2vTWxDhnUPBmt9oGIXfb4rZz92V3K+0H5j4Itp9G2uooAanoApOw7HQOTlgtVZ7T
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(6133799003)(18002099003)(22082099003)(4143699003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?em9QeWRzK1VuYkpqN09xc1EzZ0g4UDVIMmRuNVJFOHo0aXNzR0dHVVlGbVdF?=
 =?utf-8?B?YWp5ZEFhWjI2RXZEWDVmMVpybVF3alRRbzZoWXY5cVNrN2tyNmtFR240aGJr?=
 =?utf-8?B?eXc2aEI1SS81U1loeEhvdEtDUGp6RFFlcmJvdUFMbjFxa3BCSWQxV1lCbEEx?=
 =?utf-8?B?eml2S3R4eUtxTHF4YjZrQUNuVFQ1bDBkNmdvODNTSzhLMU5xYjNaU3g4OG1M?=
 =?utf-8?B?N203TTBqYWF3dktBZXJWUFVZSkRubGIwNGZTUnlNTlhUZ1FpTWFCVjNYSDd1?=
 =?utf-8?B?U1FEOFdybWlnTGcrT0U2bzdGczEvTm9razNHbm5ETmlmN1AxcTNBQjVyOVVX?=
 =?utf-8?B?bzFCZDEzUGJPYnFyWXBnRXZvNlJDNk1JazBuK3ptVXFudDNYRE5talpteWJM?=
 =?utf-8?B?eTZyb1BhOEJGcXpQQ2VIcStqQkt6Y2Nvc2lGTE11RUJ1Y21oQnlLSHYxVlUw?=
 =?utf-8?B?VDlVZTh3M2V1NnJqOFk5TlkzdnFkbmZkUDkzcnBZakdtVnM4bkIweHZLeWx5?=
 =?utf-8?B?MzNyajNQeXpPTmJsVWx0d2hKRHkxWE9NRDJBZHN5NytKUlB6bXVKTEhndWpT?=
 =?utf-8?B?Ly9hM2l0SUhzZ3Ird1J2cWc2aHpMbmFUVTBGQ2tmT3J6dlF0dnNtSGhsQ0lL?=
 =?utf-8?B?NHdGRFJtZGV1b1h0dWpicUppczBKS2dvVjVyK1lROHl6cjdpTCtvaGxHcmNS?=
 =?utf-8?B?djhsMEI5ZFBnRTRpM1gzK1FUZHFNdmNzWkx5R0FYQk9JdFhQbk9GeHlLNnZt?=
 =?utf-8?B?NUsraGY0SW1hQ0JLVWdXZ1B0STNyRk5FcGwrZmEvUU04TTVoaXZCU0tZc0Nj?=
 =?utf-8?B?NU0wNXIwTUlLS2E5QXJkSkYzZ3lhTFR5Wk1hL2tLTmRWanF1dUl1Uy9nb1Uw?=
 =?utf-8?B?RHA0N3ZQQThISVZqQjZKMlhqZFZjRWRIaUFaaDFhZDZock4yVkYyNFFIYzI4?=
 =?utf-8?B?eFRyS3ZJKzVIVFdZYnM2ak1PaWN3bitvOCtpM0xWNUx4V3dGcGRjUm45WERx?=
 =?utf-8?B?bXVVTEJ6Tm5rdW5rNXpHRGM3VlZLK0RqSmNkcGhUWGhkM3djRzVtaUZaaWx5?=
 =?utf-8?B?N1lSc1BQRlNyNGhGSTBTdlRvbGZUTHVYMTFoSGEyV2U1WEpMWEJsMVp3S3R3?=
 =?utf-8?B?RGYrYjk3UWRDV05KTURxaC90M0pYenVDN1ZUOGNKOGlzd0hRRWRHbGlnNDBD?=
 =?utf-8?B?dThMNlMxYzFlUGRRY2RWZHA1QkNjcHpZQlZLQiszWFJMWjF2RVh0aDYrbGw3?=
 =?utf-8?B?K1VqOGc4RUlYTGpvTDEzd3ZHMHg1M29tcUV0T0grbHptUjI1RHBVbXNIeXZE?=
 =?utf-8?B?MGVkYlREeHcvTkVxdmxxbHdmYkd6QzBaemZqRkZEVml5VnI3a2RxQUEvQURj?=
 =?utf-8?B?OXF5Y3hiclBxMXdzdDhPYzdKSEM0U3lVSk9ReHNlREU0Q0ovVmJBWnZlcjQ5?=
 =?utf-8?B?SWRmVGl2N1dtUm5DcU45Z2JWNTVJS1ByQVBxZ2ZEUHVuNjcrT3V5YmVLNmd1?=
 =?utf-8?B?QXBmWThWZFpDWW54SWg3SThXZmEyOTFUWlN2Lzd0dWdqQ2ZwNzlQU3ExTWtZ?=
 =?utf-8?B?azNqUGt5TWJoSmtsSFR4ejJJeFhWbjNoSFVTTHR0S1JtQXoyM0poeEdNVUxT?=
 =?utf-8?B?elovV2grNnJZb0YySWxNTUQ0RUs4ckRtRjBXUEVhMDYxdjIveEdXMjVtN2pm?=
 =?utf-8?B?MWN1WlA1NXJ2MFI1UjVjaXlNM1QyVWtwdmdiY1gxNGU3SzdZUXhBNXdRcnAx?=
 =?utf-8?B?REVQazBlLzl2Sy9oSjR4V283eFpqaE4xK1p2empITjNQYjc0OFJnUGJ2MXRU?=
 =?utf-8?B?Vit3U3VndStkbTFGakVVNTg4RDh2cTNiWWFrM1ROdFYwOGs2WENIWnAwSHpn?=
 =?utf-8?B?V0VhK1NqNUxobE1MVzljeVdFNVhVcXpTUW05d2hwTllseE9GNllUL1cxTGxO?=
 =?utf-8?B?TnZKVHRDQ3N4YTNWWlIraVFGbFp4Ym45Ny9WWnhTM3Q4aDljTzhSbTBxTEtp?=
 =?utf-8?B?TFE5TGJzUjBBRmNTL3RoMFBGSkJKQVdkVGJCNjg5ZmE4dTd6N3hYSnQvbXFi?=
 =?utf-8?B?MzNBbTV6VmpONjdJWjVEUUxCcTVGSEszdFBldFl5NEErTXJod0k5Wlc5eFNq?=
 =?utf-8?B?bUlWMTJVL2NNUWd0QXJZaWprdnN1bk5Sa0xYRUUweUdGL0Z3YVduWlhQd1R4?=
 =?utf-8?B?WW5GWjFRcm1pSmFDQzBxY2I1ZkF2c0ZyU3BNeVF4aGZsWFU0WXpHNTNuS2o0?=
 =?utf-8?B?RXZsQk1FQy94d2JzeUJiUXREcUtTcjFZTGVpNmtNYkU3RHdlWWpXTUJNeGtL?=
 =?utf-8?B?RGtVZkVJemh5K0dnZURiWTVWUFpzVTdmTDhtY1dIbmZ3QmZsZWpRUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a730edda-9310-49e5-0c95-08dec6079302
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 09:14:56.8675
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: parOHgmuJgr+W5CPG6n9YgG1doJjM+QewfQ8Fr6qit+lUDn3CZttKhOSY8w7glcdoMD0bblcAXFJqSDDQL/7wg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6556
X-purgate-ID: tlsNG-c1860d/1780996504-BCB64DB1-F84284FE/0/0
X-purgate-type: clean
X-purgate-size: 1649

On Tue, Jun 09, 2026 at 09:59:37AM +0100, Andrew Cooper wrote:
> On 09/06/2026 9:53 am, Roger Pau Monne wrote:
> > Adjust the mask calculation in case the last range is merged with the
> > previous one, as then the mask must be calculated from the previous range,
> > which the current one has been merged into.
> >
> > Instead of fixing the off-by-one in place, move the calculation of the bit
> > change mask to the next loop, after the ranges have been merged.  This
> > simplifies the logic by consolidating mask calculation in a single place,
> > possibly making it less error prone in the future.
> >
> > Also add a test case that triggers the bug being fixed by this commit.
> >
> > Fixes: c5c45bcbd6a1 ("pdx: introduce a new compression algorithm based on region offsets")
> > Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> > diff --git a/tools/tests/pdx/test-pdx.c b/tools/tests/pdx/test-pdx.c
> > index d783186577ef..ba57f1793011 100644
> > --- a/tools/tests/pdx/test-pdx.c
> > +++ b/tools/tests/pdx/test-pdx.c
> > @@ -191,6 +191,20 @@ int main(int argc, char **argv)
> >              },
> >              .compress = false,
> >          },
> > +        /*
> > +         * 2s Dell R740, merging of ranges causes mask differences in PDX
> > +         * offset mode.  Useful for checking mask calculations.
> 
> What's the 2s here?Â  If it is what I think it is, I'd suggest "Dell
> R740, dual socket,"

Yes, it's what you think it is.  I've used "2s" in existing comments,
but I'm perfectly fine with spelling it out.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 09:18:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 09:18:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332543.1594998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWsaz-0004ik-L3; Tue, 09 Jun 2026 09:18:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332543.1594998; Tue, 09 Jun 2026 09: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 1wWsaz-0004id-Hf; Tue, 09 Jun 2026 09:18:05 +0000
Received: by outflank-mailman (input) for mailman id 1332543;
 Tue, 09 Jun 2026 09:18:04 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wWsay-0004iX-PH
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 09:18:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWsax-0076bG-Uv
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 11:18:03 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a27da43-bab6-0a2a0a5309dd-0a2a45018876-34
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 11:18:03 +0200
Received: from [52.101.52.20]
 (helo=BL2PR02CU003.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a27da4a-c1f2-0a2a45010019-3465341451bb-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 11:18:03 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by MW4PR03MB6865.namprd03.prod.outlook.com (2603:10b6:303:1b5::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Tue, 9 Jun 2026
 09:17:59 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026
 09:17:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=wvzixkitI3SSlo0/9qykDF/cnx1Yz5VEESUYsI8aIxShgZug/tO9sa/2RvILjVhrdJJzhMyzxi75dLoAkcW05febPSxNWpoWLhoa5/LflP6vz5mgLFVXWcKgPYngDI/ZjtrYqexUDrpvmEokylBs4MsuzIGX+994Gwa40B9heNWN4ty5kU2nHJoUtEbcWITeAZ+4ylMOwmNgNQWNHTI/VpGp+Id3X5tp4Uufb/Fc8T2t6YJ8l50EutRhyMwIqAe7t5Ezxx7JK/qmX77mLnzDRmBi/mpHx1CiR0XXdrmgY9kcEiASgbEiB6UQh9R+2A1X/bAmd7hee4kdIwDNZf3D7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2CdTgCBR7FdgIli4m+f4o6v9BH+fQWPjKko/xoguHYc=;
 b=MM2JXPx5fyFz/G2WjbxxNa2eGYL87KKSbHnorp5llWK6sL8DFeDE2yl5oJpEDUO0qQo3/q1U6NlwLw3350gEQVcO4dvrCOn1UaqLthwXN/u/XTUZlr5420JYunNJ4KNu0hi9nk9QzvX1WEMA4Cj5Wrn3yORbRY55ArL0FC4VJLi8Uw91ldderInC5Uyw/G7m12klfSYIM/u3PVCrmi/etB+Ktxr1jGVZ3gK7U46spr3XobSAMA53ueRGd9UNg8yBAM90lv2thc5KINLX8eJThyc/S5F8EuCtv+JFrCWYTED/i5EpGkMa80D8Eetj4zh39WDnT+8nFA/0FRNcRyZW/w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2CdTgCBR7FdgIli4m+f4o6v9BH+fQWPjKko/xoguHYc=;
 b=dzhIsjxvg6ROmgfx7Jnh7AphdWduih778ZXhS4bZ9pr3KRw+4N1JjKxUNnntibhnlv3S4LHq3q9Zf+8pVqzjIsBc+XCGebptE1gaYoSOeaJwLnfOMbaH4bmf4oKaPtP9zipVXN8DoaO/vmXSU8Aw1x8mGPCWeGyt/8/44BVcfM8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <b9100e44-b694-473d-a074-5a4c4851e86d@citrix.com>
Date: Tue, 9 Jun 2026 10:17:56 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org, Oleksii Kurochko
 <oleksii.kurochko@gmail.com>, Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH for-4.22] xen/pdx: fix off-by-one index in offset mask
 calculation
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20260609085322.92856-1-roger.pau@citrix.com>
 <a0cfb079-653f-4c06-8004-017c7f60ffee@citrix.com>
 <aifZjKqOrIosqles@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: <aifZjKqOrIosqles@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0126.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c6::17) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|MW4PR03MB6865:EE_
X-MS-Office365-Filtering-Correlation-Id: c81a100b-2f6c-46ca-3a16-08dec6080002
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|6133799003|18002099003|22082099003|11063799006|4143699003|56012099006;
X-Microsoft-Antispam-Message-Info:
	JqFPLQVSvDT5pvSriFl7zhIPjgaajKJGs058zyEDfmaHCT0uSnGU8VP/Z8/HmHsWW8ttGOvMiNTI0oL/IB/p55Mv2aox2RJyRS9KuKcoPxhI1Sy0NJhMXRHPJ/oNaqwsDwx2OZdE2yfEzta+5kOq6C8f5sXlForsOXs02CXMKIWz8pkpBx4k9GkDgB9rMDSlfRLqpHrsr/N+RzFkK74V57yEpmBdXyGYoBj0rgtG/lvvquPL/V7E6Ska3Plom5/vrFBjihGOYQ9Ol1kA54aK+fy5s58VyNzYq5QZmUXnJDHqdpuSPyoI1tgAlo1IwKPzfzH01wPy7Fa5TrWH6UMd+UTtFgPCgNTG3+1d+sJDttBkXdhL53WaUuRYWv4PmD05RShy6+LdgpkXomaKGiI3VeSyqL1gJWutm1SUoHdq2bv7vhyGHHIVta0f48hGu/HteN7bwWqIadUUz+QaQCzyvNesi7rrHDP0rznV2ICykGKcBvoDKfUoWlcuuGiKbFxPhALDj5C4RJgMMadrpK0skZ9sDy+jaqtexMok7jdAEymoOhyFojsA7mH6rxm6/+eNVaMBDjnc8tvEeqLW6KsKSLYz/QKk0ZFb6BuIs5O1tsLwGGUk1GXjMyW7sc7TR8XNYY2FRP5wTzAFl+r3EJo7ta9ZCyCFktiCNsFn6DQHb8HrhOUqWIOXlAhSw4UEJq+f
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(6133799003)(18002099003)(22082099003)(11063799006)(4143699003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VFVqdlQrWkh2ZUhqT2daUlQxZzZtNytQaGYxTmI3Q2hIdUtFUG16TEV2T1ly?=
 =?utf-8?B?SVdzNW5ZbmxlR3ExaHlnd0haVVhtblJkS0g1bUpneDVKYU9BZTFocHBOUllF?=
 =?utf-8?B?QXRMU1hFbzB0ajZrWmhCbjM3M1NYNHJWZHVESXFpZWZKZFBmcG0ycWR3UDFY?=
 =?utf-8?B?ZitOTTZ6bnlBSm8yWE9zQVg0WnlTR3RIUjRoaXdaRUR3bGhkNVJGZDAzMGI0?=
 =?utf-8?B?TEY1dm1VUjVTWUJ5WmZ6aGZMaEVMU28vVHNFVTZzcnRzU1p5aGI3b0t6U2JC?=
 =?utf-8?B?cUczQWIySVlIUnZqZWpwNkhrZEZsNG4rWGNrQVhUQ2VzVjJHZEFYSXYzaWd4?=
 =?utf-8?B?UHZTUE9MTlNFMkF2MnJUc0g4SjBsK0lDbFpJZkpoNllheGQ3M043QWZlbnla?=
 =?utf-8?B?VFlMQ3B4UGw5RUppR3FSa0pBOEUvdlFCOURrMlhWY1JReWdXcFJncWZ4NGt2?=
 =?utf-8?B?OHQyN2ZpRjRUWXlxM3VBUXFsN1BORks4Q0M5RlQ5cmMxdjJxUG4rVE5Md2F4?=
 =?utf-8?B?S29UeVkyWjYxV0hqd0hJalk5cm5iUGZHWDBHVGo5R3NTamU0RkFFajVrK284?=
 =?utf-8?B?cU9ER3pwNWt4R1dab2ZlNC9MeXR4WHZVQ2J1SEU2T2loSFNUUEpNVEVKS09G?=
 =?utf-8?B?M0Q5VXdZS3M4TjZZbEFRTGRGNzVnQW91T3Vua3c5ZjJFNXRreHJ2NUpwakVs?=
 =?utf-8?B?K21Bakl3UWFLdHhaWFcxNWFMYUF6UmZqNFk3dnF6T0R6cVhRVktVWDhMSkJP?=
 =?utf-8?B?M3MwUmg3dk54c2ZoRnMrc2lFaDI3K3BzeWQ3b2puMkY4MW53dW9JbUk1ZzBa?=
 =?utf-8?B?ckxkZnNFRzQyMFBqWWUvNzRPbTdFMUQxUzc2Zm4vR2I3bmdncDhkL0pOSXFy?=
 =?utf-8?B?UTRxUTF2TXF5M1BjUHJOaW56d2JONUwvREV0Y04wY08xZjF4RUJGSDdCNmo0?=
 =?utf-8?B?aUNlSmdMaWlRd1BVa3pOM1ZlUWlXNFVrNmE2TFMwblhNS3NLNk9sRTZFaEtT?=
 =?utf-8?B?bUtuMW5SZGVFT1RpTDk4Q2hSREJqaFkzMkF2ZERodVZaNHcxcUlscnl6SS91?=
 =?utf-8?B?bkZuQitWUHBtbHgyYWVUWk9mZ2NSRlV3Sk94aEIvMmNCaGdIQ01YYzVydC91?=
 =?utf-8?B?dmNzUlU1RnBwN2E2VUtGbWdzWXlLNytHUytBcFZ2ZUFWYUZOYXNpMDJDdlpo?=
 =?utf-8?B?T084YkJEOXY5Skg4MThCS3kvNGJydXpMRTdMdUxOU1ZEWmVTWWtmZ0VzQ3Bq?=
 =?utf-8?B?RUdXOTRDM25maE0vRjcwbjVnL3M0clZja0hMTkJpREFMK3FwT21VNloyWWdS?=
 =?utf-8?B?TlhOOXJoZzJwUVVnUHhxTDZYcFN0Sm9NK2pUN2k1U2lLdHVHMlh6dGlxS2N0?=
 =?utf-8?B?NVZON3F5RzNkZzJlRERpYUo3QU1vbGR3dENFQnlIeTEyNkx5VmlRaHB0Ulo5?=
 =?utf-8?B?UmdvNmpuQUhiYWpmeFQ5QUR6Mkl6bzRHSGFaRm1RdlBqcVh0L0JxNnYyVXdy?=
 =?utf-8?B?a3JFa20rbyt1VlBpWVNFQis0MWp3SUlwMzd0U0lBSW5NbC83MXZQK3h2YU9q?=
 =?utf-8?B?Y2hsWmh4d2U2ekp2bmxwS3FWWGVodzBzN0M4UmNOWGVIWmhTVGt3a0pubVN4?=
 =?utf-8?B?a084YURVWmk3U1lrQUdlbXRIMFlueEJwYmZ6TEJERGovdGEzdXFjZVA2aUZ0?=
 =?utf-8?B?VzIwK083UG82WkI3dU1LdGp6Mi9Vb0g5T1RMSnZXTloxRE5rWHU4bkNzNjRR?=
 =?utf-8?B?cU94ZFJjdFRzaDN6cGxtbnoxK0cvaDM3NjBCclVTMHUyRUo5SFE0a0VwWjJi?=
 =?utf-8?B?SDZZd3AwQm4vUm9qZDIwK0xCRG1NN0RBV3UzRm92d0RhMTFiSXRVY1hTV2g1?=
 =?utf-8?B?SHdKVjVYeUk5Lzl3c01OeWNpaGZ3VElaRkpQM0RJbXVKRGl4ZFM5VlJaQnpL?=
 =?utf-8?B?Mkh0QzlUK3VmNllDNVd0a3FJZys2ZG4zQy9WYy91WnZ2bjlLVkcrbldyTTRU?=
 =?utf-8?B?cnFzWXZWT0pBeG5PUlJxOGxFNjQxODFKcFovUW1IdlBmMStQTEg4bDRGcTY5?=
 =?utf-8?B?eDV2ZURSSUo2QlQ0dk9hUDNpYkNtL01jcUZ5Q0MrbUtpMVN0UUE5VkxNeXRp?=
 =?utf-8?B?Wkh4dWdBeE5VVUlacWwrL1JCQVFORHlyU1BjbUtPYXRKQ01peVZmY01scXc1?=
 =?utf-8?B?UUMvQitDckdhRDZVTUM5US9qcTFYZGhVQU9RVksxRit2VC9mOTkrZTVSOVJP?=
 =?utf-8?B?dmg3V0Jzd2VCTzdYdjlBTHZhYnorNXhxakYySlhycDB3Yld3UzlXRjN5TmFB?=
 =?utf-8?B?bW05NGtZaHVteEhMTzhtWE1wWm9KYUNlNjBPMGF0aXlwVjRSU1YxdXhUTHEr?=
 =?utf-8?Q?25gowpZXr71ZcRb4=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c81a100b-2f6c-46ca-3a16-08dec6080002
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 09:17:59.6091
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bEjwhzHe6rimpjjZvi2cBNeM8Sz8NJ/JyZRCV4OwqYgImjT7RQnH544c1o0XCqi9J08Np4HpNCB8BHODa7caUmtvpDSK7FflchisPovnXeE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6865
X-purgate-ID: tlsNG-d62444/1780996683-B715BFF4-D5696B3B/0/0
X-purgate-type: clean
X-purgate-size: 1656

On 09/06/2026 10:14 am, Roger Pau MonnÃ© wrote:
> On Tue, Jun 09, 2026 at 09:59:37AM +0100, Andrew Cooper wrote:
>> On 09/06/2026 9:53 am, Roger Pau Monne wrote:
>>> Adjust the mask calculation in case the last range is merged with the
>>> previous one, as then the mask must be calculated from the previous range,
>>> which the current one has been merged into.
>>>
>>> Instead of fixing the off-by-one in place, move the calculation of the bit
>>> change mask to the next loop, after the ranges have been merged.  This
>>> simplifies the logic by consolidating mask calculation in a single place,
>>> possibly making it less error prone in the future.
>>>
>>> Also add a test case that triggers the bug being fixed by this commit.
>>>
>>> Fixes: c5c45bcbd6a1 ("pdx: introduce a new compression algorithm based on region offsets")
>>> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
>> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>
>>> diff --git a/tools/tests/pdx/test-pdx.c b/tools/tests/pdx/test-pdx.c
>>> index d783186577ef..ba57f1793011 100644
>>> --- a/tools/tests/pdx/test-pdx.c
>>> +++ b/tools/tests/pdx/test-pdx.c
>>> @@ -191,6 +191,20 @@ int main(int argc, char **argv)
>>>              },
>>>              .compress = false,
>>>          },
>>> +        /*
>>> +         * 2s Dell R740, merging of ranges causes mask differences in PDX
>>> +         * offset mode.  Useful for checking mask calculations.
>> What's the 2s here?Â  If it is what I think it is, I'd suggest "Dell
>> R740, dual socket,"
> Yes, it's what you think it is.  I've used "2s" in existing comments,

Oh, fine.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 09:27:54 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 09:27:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332551.1595006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWskO-0006nO-Fv; Tue, 09 Jun 2026 09:27:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332551.1595006; Tue, 09 Jun 2026 09:27:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWskO-0006nH-DL; Tue, 09 Jun 2026 09:27:48 +0000
Received: by outflank-mailman (input) for mailman id 1332551;
 Tue, 09 Jun 2026 09:27:46 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eabb58e51000701b@swg.vates.tech>)
 id 1wWskM-0006nA-Q2
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 09:27:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWskL-00BuyR-P7
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 11:27:45 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eabb58e51000701b@swg.vates.tech>)
 id 6a27dc84-5cb7-0a2a0a5109dd-0a2a450cc4e6-34
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 11:27:45 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eabb58e51000701b@swg.vates.tech>)
 id 6a27dc91-62f1-0a2a450c0019-b9ff1c12a263-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 11:27:45 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19eabb58e51000701b.003 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 09 Jun 2026 09:27:42 +0000
Received: from [192.168.1.18] (88-188-240-210.subs.proxad.net [88.188.240.210])
 (Authenticated sender: teddy.astie)
 by mail2.vates.fr (Postfix) with ESMTPSA id 68D15870DB;
 Tue,  9 Jun 2026 11:27:42 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=iRiAiTqkREsC1AY3pouH8cGqmIKGrMgPQMg+Fn5JY+g=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=Y72LqLfAuhsU262Mmxflm2xy9OrT8aL3+ZBm8uVTfmnY2P54l8LqlvkZGoKmyAFZy8WQXxfi8
 3Gj2qK6JQDBcRUykE2cTDDhizJOoAfbGo2M2ot47wfxmq8wP7zYvORkdURbtpGKgiCmMqnMB2Py
 dNMLUGOEykUs2N5x1pIItlWj+9dO9rhT3wcEimM2/eLcL44RkCuzaopuwMyNSz0vRLxEYiDDmZJ
 swbdX2w6EQdDzovOpUKjDwKOU3GrKnrRp8EHm47+xIMQhi4fxuy4ahSgV69RlZn9s0e1erwBOVa
 F3AW5qUGCkttuWLbuMu+us4j6n6nnmTJjF4woqIxCUhA==
X-Zone-Loop: 1e804909cab4f1cb4a3a39b5ef346d33515af6608e32
x-campaign-type: default
x-transaction-id: 604253d4-c151-47e0-872c-e391d146727d
x-swg-uid: 01-e5c0662a-2fe3-4876-9239-12a026d4e12e
X-Mailer: Sweego
Message-ID:
 <1780997262.8631fc262581453bbf619ec5b2062170.19eabb58e51000701b@vates.tech>
x-swg-bid: 1780997262.8631fc262581453bbf619ec5b2062170.19eabb58e51000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Tue, 9 Jun 2026 11:27:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [REGRESSION][BISECTED] Long boot time with Xen HVM guests during
 PV spinlock initialization
To: Thomas Gleixner <tglx@kernel.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 regressions@lists.linux.dev
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Olivier Lambert <olivier.lambert@vates.tech>
References: <1780914594.8631fc262581453bbf619ec5b2062170.19ea6c8227b000701b@vates.tech>
 <87ldcp3w16.ffs@fw13>
Content-Language: en-US
From: Teddy Astie <teddy.astie@vates.tech>
Autocrypt: addr=teddy.astie@vates.tech; keydata=
 xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7LTBVHV/XO
 Zw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJT4ny+OGntnJntUoR
 KRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJAWicutjkkUgd28Bh6HV9EIumH
 tCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaT
 VqMdqul07o72m3eA2mf+LMu9a04FX/d4wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/
 EoucejoZ5SH49ksmVAmKOLktOaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+S
 PhHar7TPKjFz0G3DPNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89
 MXfQXZ3qt1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
 LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWjmoACGwME
 CwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNzuyOVCskwfUZPla6Z
 pd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp0x0HfuhcYfAYPR46XHTvjaJE
 v99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuROxdK8G+YHccJY8PvWSq2K2yiae2KGiAv
 1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhP
 eP3IdpfWc8cyRLXF06Rk46YMYCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcT
 UwgnYlFRk2FLq0QeKEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9
 Egr/Wmu3MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
 f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEMAKiQiZa3
 yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ3DbVf+en3/FvdVZg
 2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTmetSG5/52AjtmPFtlXAk0NmLv
 fJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0s3109sJeXT5ImVdphFs9cvyZyBT9t1Pb
 Rowv58EgV0zE4hbAeVkULAbxFV5b/ExTjjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKb
 Yu6NCfiHfEyB3Xyg9hfdrRgjMRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ov
 XoK4jm+Py0FiUGUaA6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/
 eVtR2Q1wZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
 IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWjmoACGwwA
 CgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiVoUiHYN5QwhnbZnsa
 JDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764QxyX6rld2f2RcWkDuBHun55ZWXj
 by8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk/dS0XTOQi2wVUb17sW/+ybCEokdVacZG
 zOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fuoGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+
 lOWSvdNHgoEkWR0RXBPQjnGmLKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/Off
 O485NOTKwGOxyWb006cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR
 8ULR9nX0LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
 x9fhaZEsniw8/bYgC3igkk5YJiOa
In-Reply-To: <87ldcp3w16.ffs@fw13>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------VYW03QMNUWDMkDDqZOCTQ1gA"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1780997262528
X-purgate-ID: tlsNG-d25034/1780997265-D956FCF5-8826335B/0/0
X-purgate-type: clean
X-purgate-size: 7977

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------VYW03QMNUWDMkDDqZOCTQ1gA
Content-Type: multipart/mixed; boundary="------------AY2KvVnnsBl0gH2jxcB0Uuq5";
 protected-headers="v1"
From: Teddy Astie <teddy.astie@vates.tech>
To: Thomas Gleixner <tglx@kernel.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 regressions@lists.linux.dev
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Olivier Lambert <olivier.lambert@vates.tech>
Message-ID: <f8c6e4b4-5265-4290-8821-5c8992c296a7@vates.tech>
Subject: Re: [REGRESSION][BISECTED] Long boot time with Xen HVM guests during
 PV spinlock initialization
References: <1780914594.8631fc262581453bbf619ec5b2062170.19ea6c8227b000701b@vates.tech>
 <87ldcp3w16.ffs@fw13>
In-Reply-To: <87ldcp3w16.ffs@fw13>

--------------AY2KvVnnsBl0gH2jxcB0Uuq5
Content-Type: multipart/mixed; boundary="------------ktWf3vcWFq3W5u6Ega2JGhin"

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

TGUgMDgvMDYvMjAyNiDDoCAxNzoxNSwgVGhvbWFzIEdsZWl4bmVyIGEgw6ljcml0wqA6DQo+
IE9uIE1vbiwgSnVuIDA4IDIwMjYgYXQgMTI6MjksIFRlZGR5IEFzdGllIHdyb3RlOg0KPj4g
SW4gNi4xMi41KyBrZXJuZWxzIG9uIEFNRCBDUFVzLCB3ZSBvYnNlcnZlIGFibm9ybWFsbHkg
bG9uZyBib290IHRpbWVzDQo+PiB3aGVyZSB0aGUgZ3Vlc3QgaXMgc3RydWdnbGluZyBvbiBQ
ViBzcGlubG9jayBpbml0aWFsaXphdGlvbi4NCj4+DQo+PiBUaGlzIG9jY3VycyBzdGFydGlu
ZyB3aXRoIDYuMTIuNSwgYW5kIGFsc28gb24gbW9yZSByZWNlbnQga2VybmVscyBvbg0KPj4g
SW50ZWwgcGxhdGZvcm1zLCBidXQgdGhhdCBoYXNuJ3QgYmVlbiBmdWxseSBpbnZlc3RpZ2F0
ZWQgYXQgdGhpcyB0aW1lDQo+PiAoYnV0IEkgYXNzdW1lIGl0J3MgYSB2YXJpYW50IG9mIHRo
ZSBzYW1lIGlzc3VlKS4NCj4+DQo+PiBUaGlzIG9jY3VycyBzaW5jZSBhIGJhY2twb3J0IG9m
IDc2MDMxZDkgKCJjbG9ja3NvdXJjZTogTWFrZSBuZWdhdGl2ZQ0KPj4gbW90aW9uIGRldGVj
dGlvbiBtb3JlIHJvYnVzdCIpLg0KPj4NCj4+IFNvbWUgKGNsYXVkZS1iYXNlZCkgYW5hbHlz
aXMgbWFkZSBhcHBlYXJzIHRvIHJlbGF0ZSB0aGF0IHRvIHRoZSBsYWNrIG9mDQo+PiBwcm9w
ZXIgbWF4X3Jhd19kZWx0YSBpbiB0aGUgamlmZmllcyBjbG9ja3NvdXJjZSB3aGljaCBhcHBl
YXJzIHRvIG1ha2UNCj4+IHRoZSBjbG9jayBmYWlsIHRvIHByb2dyZXNzIG1lYW5pbmdmdWxs
eS4NCj4+DQo+PiBIZXJlIGlzIGEgcmF3IHN1bW1hcnkgb2YgdGhlIGFuYWx5c2lzDQo+PiAg
ID4gV2UgdHJhY2tlZCBpdCBkb3duIHRvIGEgc2luZ2xlIHN0YWJsZSBiYWNrcG9ydCBpbiA2
LjEyLjU6IGNvbW1pdA0KPj4gMWE2NzhmNjgyOWE4ICgiY2xvY2tzb3VyY2U6IE1ha2UgbmVn
YXRpdmUgbW90aW9uIGRldGVjdGlvbiBtb3JlIHJvYnVzdCIsDQo+PiB1cHN0cmVhbSA3NjAz
MWQ5NTM2YTApLiBJdCBpbnRyb2R1Y2VzIGEgbWF4X3Jhd19kZWx0YSBmaWVsZCBvbiBzdHJ1
Y3QNCj4+IGNsb2Nrc291cmNlIGJ1dCBuZXZlciBpbml0aWFsaXplcyBpdCBmb3IgdGhlIGRl
ZmF1bHQgYm9vdCB0aW1la2VlcGVyDQo+PiAodGhlIGppZmZpZXMgY2xvY2tzb3VyY2UpLCBz
byBjbG9ja3NvdXJjZV9kZWx0YSgpIGNsYW1wcyBldmVyeSBkZWx0YSB0bw0KPj4gMCBhbmQg
Q0xPQ0tfTU9OT1RPTklDIGZyZWV6ZXMgd2hpbGUgdGhhdCBjbG9ja3NvdXJjZSBpcyBhY3Rp
dmUuDQo+IA0KPiBCYWguIGppZmZpZXMgY2xvY2tzb3VyY2UgaXMgcmVnaXN0ZXJlZCB3YXkg
X2FmdGVyXyB0aW1la2VlcGluZyBzdGFydGVkIHRvDQo+IHVzZSBpdC4NCj4gDQo+IFRoZSB1
bnRlc3RlZCBiZWxvdyBzaG91bGQgZml4IHRoYXQuDQo+IA0KPiBUaGFua3MsDQo+IA0KPiAg
ICAgICAgICB0Z2x4DQo+IC0tLQ0KPiAtLS0gYS9rZXJuZWwvdGltZS9qaWZmaWVzLmMNCj4g
KysrIGIva2VybmVsL3RpbWUvamlmZmllcy5jDQo+IEBAIC02MCwxNSArNjAsOSBAQCBFWFBP
UlRfU1lNQk9MKGdldF9qaWZmaWVzXzY0KTsNCj4gICANCj4gICBFWFBPUlRfU1lNQk9MKGpp
ZmZpZXMpOw0KPiAgIA0KPiAtc3RhdGljIGludCBfX2luaXQgaW5pdF9qaWZmaWVzX2Nsb2Nr
c291cmNlKHZvaWQpDQo+IC17DQo+IC0JcmV0dXJuIF9fY2xvY2tzb3VyY2VfcmVnaXN0ZXIo
JmNsb2Nrc291cmNlX2ppZmZpZXMpOw0KPiAtfQ0KPiAtDQo+IC1jb3JlX2luaXRjYWxsKGlu
aXRfamlmZmllc19jbG9ja3NvdXJjZSk7DQo+IC0NCj4gICBzdHJ1Y3QgY2xvY2tzb3VyY2Ug
KiBfX2luaXQgX193ZWFrIGNsb2Nrc291cmNlX2RlZmF1bHRfY2xvY2sodm9pZCkNCj4gICB7
DQo+ICsJY2xvY2tzb3VyY2VfcmVnaXN0ZXIoJmNsb2Nrc291cmNlX2ppZmZpZXMpOw0KPiAg
IAlyZXR1cm4gJmNsb2Nrc291cmNlX2ppZmZpZXM7DQo+ICAgfQ0KPiAgIA0KPiANCj4gDQoN
CkhtbSwgdGhlcmUncyBhIGNhc2Ugd2hlcmUgY2xvY2tzb3VyY2VfbXV0ZXggZ2V0cyB0YWtl
biB0d2ljZSAoYm90aCBpbiANCl9fY2xvY2tzb3VyY2VfcmVnaXN0ZXJfc2NhbGUoKSAodGhy
b3VnaCBjbG9ja3NvdXJjZV9yZWdpc3RlcigpKSBhbmQgDQpjbG9ja3NvdXJjZV9kb25lX2Jv
b3RpbmcoKSkuDQoNCldoYXQgYWJvdXQgbWFraW5nIGNsb2Nrc291cmNlX2ppZmZpZXMgZ2Fp
biAtPmVuYWJsZSgpIHRvIHNldHVwIHdoYXQgZXZlciANCm5lZWRzIHRvIGJlIChsaWtlIGNh
bGxpbmcgX19jbG9ja3NvdXJjZV91cGRhdGVfZnJlcV9zY2FsZSgpKSA/DQoNClRlZGR5DQo=

--------------ktWf3vcWFq3W5u6Ega2JGhin
Content-Type: application/pgp-keys; name="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Disposition: attachment; filename="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7L
TBVHV/XOZw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJ
T4ny+OGntnJntUoRKRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJA
WicutjkkUgd28Bh6HV9EIumHtCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO
8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaTVqMdqul07o72m3eA2mf+LMu9a04FX/d4
wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/EoucejoZ5SH49ksmVAmKOLkt
OaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+SPhHar7TPKjFz0G3D
PNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89MXfQXZ3q
t1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWj
moACGwMECwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNz
uyOVCskwfUZPla6Zpd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp
0x0HfuhcYfAYPR46XHTvjaJEv99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuR
OxdK8G+YHccJY8PvWSq2K2yiae2KGiAv1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50
wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhPeP3IdpfWc8cyRLXF06Rk46YM
YCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcTUwgnYlFRk2FLq0Qe
KEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9Egr/Wmu3
MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEM
AKiQiZa3yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ
3DbVf+en3/FvdVZg2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTm
etSG5/52AjtmPFtlXAk0NmLvfJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0
s3109sJeXT5ImVdphFs9cvyZyBT9t1PbRowv58EgV0zE4hbAeVkULAbxFV5b/ExT
jjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKbYu6NCfiHfEyB3Xyg9hfdrRgj
MRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ovXoK4jm+Py0FiUGUa
A6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/eVtR2Q1w
ZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWj
moACGwwACgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiV
oUiHYN5QwhnbZnsaJDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764Qxy
X6rld2f2RcWkDuBHun55ZWXjby8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk
/dS0XTOQi2wVUb17sW/+ybCEokdVacZGzOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fu
oGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+lOWSvdNHgoEkWR0RXBPQjnGm
LKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/OffO485NOTKwGOxyWb0
06cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR8ULR9nX0
LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
x9fhaZEsniw8/bYgC3igkk5YJiOa
=3DlUIA
-----END PGP PUBLIC KEY BLOCK-----

--------------ktWf3vcWFq3W5u6Ega2JGhin--

--------------AY2KvVnnsBl0gH2jxcB0Uuq5--

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

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

wsD5BAABCAAjFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmon3I4FAwAAAAAACgkQZg+p0QLLz9Cb
Wwv/XYHP+c3tlytJvqEhKCihrMhxETIHOf4RWpNchgJgCp3P6ueK1rCf6Fw8sqDv/j1l8v9knhkL
yCWH2/WmJjUvDoItcpQemEi3b/b63owWOIN0AYQodNISdNTxrE4urVGPKSJYirqa/FIYPaFxCC4o
e6D0NkNQQMmOzURnLf4b2N3BFkJZ3cpqQZi2Zn7n6RxmWnxHUfxySBSAMv3cMSsDkdBUhbcDPn15
J/OvDeRFN1Nvgkks292OSH8QWuaOKfVbSwGqlARpYiedxbFaisxJwAaa6WO5w8oqaZVPvblBcP0e
jQDFbJkoWsuA4dPdJFyMqq7ko6zel9j+z8XTWAaRcOzE/7nUNZ0pJwopCWgqzlFkZrhceC1h9lNS
dkxCJxL7cIWfTRKci/JoQ6XbOe0LAsikRDB6d28XNZcI9v3Epl3tz1H6Cm+wACOOzeyiRWl5uUtY
djyPS0WNwC1D3Gdo9c0H0rF9rjcsg+EQqzFf4TmGq8FhqPlntjmCBaUcZ+Mu
=x6PE
-----END PGP SIGNATURE-----

--------------VYW03QMNUWDMkDDqZOCTQ1gA--


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 09:33:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 09:33:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332560.1595017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWspb-0000I0-5w; Tue, 09 Jun 2026 09:33:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332560.1595017; Tue, 09 Jun 2026 09:33: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 1wWspb-0000Ht-1o; Tue, 09 Jun 2026 09:33:11 +0000
Received: by outflank-mailman (input) for mailman id 1332560;
 Tue, 09 Jun 2026 09:33:09 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wWspZ-0000Hm-ES
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 09:33:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWspY-007Aml-Ed
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 11:33:08 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a27ddd0-5cb7-0a2a0a5109dd-0a2a4502a2a0-20
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 11:33:08 +0200
Received: from [74.125.224.51] (helo=mail-yx1-f51.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a27ddd3-af86-0a2a45020019-4a7de033b16e-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 11:33:08 +0200
Received: by mail-yx1-f51.google.com with SMTP id
 956f58d0204a3-66077e90382so4985642d50.3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 02:33: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780997587; cv=none;
        d=google.com; s=arc-20240605;
        b=N9j7MH/eAkcmHuJyK4Hs/wZ9XtkyaRBrRQA884tGHgHX+RqIrzT2JHkeH+qur2ZbaF
         LdX1oxBjKghdnZP70txv0QhM64wwPhvK/4IRsJYvaVmGOTtgYd7gG9ecSnLtQZ6bG/wS
         HDKfSvIppkhpkPddTI8kHwIhU1cGByLabJkY6gOIN4P7qhKNKHdHwm4uneQ26x8wsvbC
         qIsjEn+OqFcKOUjy5XD3Pm1UEwUC8pOFNgtMYveu9Zklo3scWHd7mTJ891m9nkR1lBfc
         NkNexzvRA+j3rR6UJ/1Z7O6N6b/mm6rjZtuZVn9jh8KB2i0VxigNNDnLDRnUQJ1ndQkA
         ARdw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=GjhGXc3wdtzca4RHEQjHYpjSQng78zDhCNN28ncA3l0=;
        fh=YXyOrzbbuBMjB1laPSTTaglkJ9ItuXSXF5B6orWbM3Y=;
        b=cmYzHcfyT0a7pT4e8io+WboW33veVSCDH9wBZXXQ1BGk0G9ADBJeyKGR6X5tf3N4Yo
         XL6BURqXZrynuV/xU2RWdcA/K5cJsboYJazoEdQBdNXWaltZ0fhVgM1+cocfE+KnZ1Lk
         M/7j1PHYhPMewWXlCxUSjeBVvbmldH7JSvkF2vBYDua74Z08B5cZ+sDALSZ2NzRuF7wX
         uaTNrbVzHEXCdpChVbLRZHEcx0Tw1snsUtupillHinN9kQaDJ6bPOKvujsfxwGpma0O1
         wlVmp+Y6h0S6N4U3Jz1Op/YWfqIBjc+ctph+dupPvdgJpLCx6aarkRKzPdFjk2htQFO+
         VYJQ==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780997587; x=1781602387; 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=GjhGXc3wdtzca4RHEQjHYpjSQng78zDhCNN28ncA3l0=;
        b=PmsLqcHLPv6yS9pGJlo8KRVEzpxfHW7lLaWMK3HDCx0r1/iHPlmpxFjzqZ64AEzBXu
         G3Ae7zAu980//Rt/8MOtE2wioBmnYRlAwBCKiEsJS9rFE88+IP/IWugS+X3VuvYd/fd4
         YE9MhY7M8u6ZAGgzJqe/uHN/L6HoPuWnQx1skncpxHUJ5W8Vr/415oI+C3SW0y/7cPxT
         G5Bha3sd84WoJU9dyx1f3UDmNviAHHiWlWUKoN5wxyPTKCIdAi7grbPMuCyKq4SZLqqM
         560df0CzCq2cQWctNCvXRE//ha+5m/iLWB33C17RvASLXbMrEaMQVSqNg7be5fhymagm
         1EyQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780997587; x=1781602387;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=GjhGXc3wdtzca4RHEQjHYpjSQng78zDhCNN28ncA3l0=;
        b=RGGNzk935BKjsyFqMjg/P9bpXZdffJ0M554ii4MQ+Sy1yIaWyVdoZZWVnpb5ZOd1t+
         34MdCBqDPLOUh7AeFNJU153ZIUQzVfdN4svLmlCjR+HLFzvfEPOKlS/K9PExknUCanB/
         o8t0yudOXu4QCd4HkVnVok2azkngKotA+cfPLpDkkWfrtKDSKuJToU078ZLvN6Jchcv7
         BF9pR3VpuVIvAJy5/FaaPJCFA7l38tRyoz1cpL2eTKw4Hzd3UbOVmLu/WEvoQ8sjBNTT
         cmZnknQK3V9N4Gee0CPieCO9M6qm5OgTBoXKCjUEytRpend/R8SQP7sZHc/jylINNcKn
         ZSnQ==
X-Gm-Message-State: AOJu0Yx2f9iRnLxBGc1UPWnIWa/7QRrQN7GkdyVp9A75INzFOuczkB0W
	Ql7xCsX5u9ejxkVvzUzw7usH2xCPYjUitcq5B0hG+uiuW2CqeSlK8EX1oJitH0w0602m1T4MF39
	1jp6lK6Z+eINvVp9Wqrwml76dGiuLouU=
X-Gm-Gg: Acq92OFfZ5HCMzd1jgqc+Tl9il9rbUhomZAUsZNsPJ3enjYNBUJq2mEBKlIoAX5igK3
	JmdW6liRQKXcVqY0HqWxbiBhFj16nJCAL1xiU30JlGphMPLq9KPBwLI3Qza6LBdtGKBvLJRc1rs
	nHly2dKNicorROKJOw+XosrZWcDCuN1x3zM0fiBWNNsJubWXdw2RI7pUVRgPR4/EKK/NLiDqpdm
	KxL9Dw/xfU/AobQdSRZIEqSbt+Aovy6fb2wfLqWat5a2r3vwlIPbTlsYOvcTKwPw1rBgiI/DTO1
	kUVS5jpo20naijkJ5ZRwJ6RGGILenE65Vp0MWuDoy15DuMztRoN6lyZWCNE=
X-Received: by 2002:a05:690e:130d:b0:651:ba22:fcc3 with SMTP id
 956f58d0204a3-6614f837d12mr1361907d50.61.1780997586587; Tue, 09 Jun 2026
 02:33:06 -0700 (PDT)
MIME-Version: 1.0
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
 <20260603130603.776452-6-frediano.ziglio@cloud.com> <ea002cf0-c2cc-4612-af61-8dba7887af61@citrix.com>
In-Reply-To: <ea002cf0-c2cc-4612-af61-8dba7887af61@citrix.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Tue, 9 Jun 2026 10:32:55 +0100
X-Gm-Features: AVVi8CdYce_dYauxplLOGzNu3qF7eaHexBFIW7AJM6dWFjJkN-W8fi8tQS2vs80
Message-ID: <CAHt6W4e6=uqGHqo+4bdQhZfKh4uqc7=g3iRiAJV4Z_j2MNvxMA@mail.gmail.com>
Subject: Re: [PATCH v4 05/16] libs/guest: allocate various migration arrays
 just once
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, =?UTF-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@citrix.com>, 
	Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, Anthony PERARD <anthony.perard@vates.tech>, 
	Juergen Gross <jgross@suse.com>, Frediano Ziglio <frediano.ziglio@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-720697/1780997588-AA76A161-200F8037/0/0
X-purgate-type: clean
X-purgate-size: 3111

On Mon, 8 Jun 2026 at 16:37, Andrew Cooper <andrew.cooper3@citrix.com> wrot=
e:
>
> On 03/06/2026 2:05 pm, Frediano Ziglio wrote:
> > From: Edwin T=C3=B6r=C3=B6k <edwin.torok@citrix.com>
> >
> > Allocate these array just once at the start of migration,
> > using the maximum batch size, and free them at the end.
> >
> > Signed-off-by: Edwin T=C3=B6r=C3=B6k <edwin.torok@citrix.com>
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> > --
> > Changes since v2:
> > - change prefix in subject.
> >
> > Changes since v3:
> > - fix comment style
>
> These are intentionally freed/reallocated so valgrind can find overflows.
>
> ~Andrew

I understand the value of checking for possible overflow. But this
should not make the programs less efficient.

What about something like this (not tested, just to get the gist):

#if CONFIG_DEBUG && valgrind && whatever
#define MEM_NOACCESS_BUFFER(name, size) uint8_t name[size];
#define MEM_NOACCESS_INIT(field) VALGRIND_MAKE_MEM_NOACCESS(field,
sizeof(field))
#define MEM_UNDEFINED_INIT(field) VALGRIND_MAKE_MEM_UNDEFINED(field,
sizeof(field))
#else
#define MEM_NOACCESS_BUFFER(name, size)
#define MEM_NOACCESS_INIT(field) do {} while(0)
#define MEM_UNDEFINED_INIT(field) do {} while(0)
#endif
...

struct xc_sr_context_save_buffers
{
    MEM_NOACCESS_BUFFER(na0, 16)
    xen_pfn_t batch_pfns[MAX_BATCH_SIZE];
    MEM_NOACCESS_BUFFER(na1, 16)
    xen_pfn_t mfns[MAX_BATCH_SIZE];
    MEM_NOACCESS_BUFFER(na2, 16)
    xen_pfn_t types[MAX_BATCH_SIZE];
    MEM_NOACCESS_BUFFER(na3, 16)
    void *local_pages[MAX_BATCH_SIZE];
    MEM_NOACCESS_BUFFER(na4, 16)
    struct iovec iov[MAX_BATCH_SIZE + 2]; /* Headers + data. */
    MEM_NOACCESS_BUFFER(na5, 16)
    uint64_t rec_pfns[MAX_BATCH_SIZE];
    MEM_NOACCESS_BUFFER(na6, 16)
};
...

    ctx->save.buffers =3D calloc(1, sizeof(*ctx->save.buffers));

    if ( !dirty_bitmap || !ctx->save.deferred_pages ||
!ctx->save.buffers || !dest_buf )
    {
        ERROR("Unable to allocate memory for dirty bitmaps, deferred pages"
              " and various batch buffers");
        rc =3D -1;
        errno =3D ENOMEM;
        goto err;
    }
    ctx->save.batch_pfns =3D ctx->save.buffers->batch_pfns;
    MEM_NOACCESS_INIT(ctx->save.buffers->na0);
    MEM_NOACCESS_INIT(ctx->save.buffers->na1);
    MEM_NOACCESS_INIT(ctx->save.buffers->na2);
    MEM_NOACCESS_INIT(ctx->save.buffers->na3);
    MEM_NOACCESS_INIT(ctx->save.buffers->na4);
    MEM_NOACCESS_INIT(ctx->save.buffers->na5);
    MEM_NOACCESS_INIT(ctx->save.buffers->na6);
...

    /* Mfns of the batch pfns. */
    MEM_UNDEFINED_INIT(ctx->save.buffers->mfns);
    mfns =3D ctx->save.buffers->mfns;
    /* Types of the batch pfns. */
    MEM_UNDEFINED_INIT(ctx->save.buffers->types);
    types =3D ctx->save.buffers->types;
    /* Pointers to locally allocated pages.  Need freeing. */
    MEM_UNDEFINED_INIT(ctx->save.buffers->local_pages);
    local_pages =3D ctx->save.buffers->local_pages;
    memset(local_pages, 0, sizeof(*local_pages) * nr_pfns);
...

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 09:39:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 09:39:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332568.1595025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWsvy-0001Os-R7; Tue, 09 Jun 2026 09:39:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332568.1595025; Tue, 09 Jun 2026 09: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 1wWsvy-0001Ol-Mm; Tue, 09 Jun 2026 09:39:46 +0000
Received: by outflank-mailman (input) for mailman id 1332568;
 Tue, 09 Jun 2026 09:39:45 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wWsvx-0001OY-IL
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 09:39:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWsvw-00Fku2-KX
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 11:39:44 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a27df4e-bab6-0a2a0a5309dd-0a2a45038358-48
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 11:39:44 +0200
Received: from [209.85.208.50] (helo=mail-ed1-f50.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a27df60-672d-0a2a45030019-d155d032d11c-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 11:39:44 +0200
Received: by mail-ed1-f50.google.com with SMTP id
 4fb4d7f45d1cf-691c5776f35so2576254a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 02:39:44 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-68e6595c722sm8324423a12.22.2026.06.09.02.39.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 09 Jun 2026 02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780997984; x=1781602784; 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=ojAoOIr8suU/Ii90bmf7iq53dfd/rns61I5bJ24u/Ns=;
        b=OGcYsnQSMFo609NFYaQTXSeA1Tt7R6WKGagtB3LtbqwsURSbGpJXrutWURWQ/dncmE
         blUIIc966QDW8o6xjEYGhUeupWMHR03uPK8T76ECqvhR+ob+w0+uQzc4jYu6Ac8uQyJ2
         DNBK4UdjtXrWtQ3KmSGLQ+BQAMRkEX0ec71qe2pzGVVa5V+/G1xErqkgGOo7g8MaWvbk
         oOohu/XWjz4wJQYsqAHi9hjxKWtXwYocpCZklFumYjTr7M0eORACrUK74lHF88KKa81G
         lsb6aJk5UMxag096m9nYBqLdIg+RPM2q7rL50HtJvNWqa6QFPr+TUe8OsMLWlg39zEC4
         iRsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780997984; x=1781602784;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=ojAoOIr8suU/Ii90bmf7iq53dfd/rns61I5bJ24u/Ns=;
        b=JYTHzai+3m2RxQ1j1VV6hcobyhwyDdsDjMuMtf1JIH8q21smxdraMHdfwGCzC/EtbL
         tJ1ZXJNZQUjIHtFMcBNuYytpqYmPlPBHwWPUcTHQ6cFitI4jRtYbOhVMnOAv9eT/2nKq
         XVjLho2OtkfUFtmffdyDWXGH+bS5r8tps33fyaUj3f3AkUGmpKWhsDZidY7GZ1IVNPsX
         ddeNUT89glnuKVItivPVHjOxKTuuQCcRA5pnkv2bP74sxos9LrZMvpg0HeEqV3KK9bzl
         ZOkHuxjQDS01bAQvpGNhQ5CvFaXxBkjKKinMQ/Wz7E49zb3HXk8RxnsnvIGOHVtFJNLj
         1AqA==
X-Forwarded-Encrypted: i=1; AFNElJ/uOrHC40NQQAhoVHDAgx/Je+QEhyzWLIRO/kq+Jg8uy/s9SuT6dCw+Ds3ZoR8Se1mgYbTqCTlIuhE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yynf3IeRPTQvGbl0HbM9D76ALhIM6o7GsB/DSiSqzcb64H0uEYI
	qXWyeXYDRQwZMk1YAhjcBrh15xCGEtcYDzvr/8mgYVn5XgSjJ9r589Dtu5u+SA==
X-Gm-Gg: Acq92OEqXinKR5vzr2lkBeTY6g3YC29ABWhdVdJHMqc3cFKScOo6PstFchhN5HmRGW5
	Y4OQBoa2nxaFIgtHYQSWvqpQK75muRVUJUJ+iOnkIWIxme6Ng5JnYnbV4O0P53b118jk/ZfnXRX
	t6PPgUlZ5Pq2yeXaEPr7kbfYUkpqc5Caz4TbmJFwc4YEP8HsxbTFt5noaMoS3hp7sg5k2uTk4ye
	pQbeIugmSvgK7+DGpxMFrPQbu+PxukrUPDRoY2Q73ooFkr8ybyi+7GZ0CGHGDUrJn7S6ZBmgv21
	gs7pmzVIkYvmQZYkpZHngws6tsZ/TWQL1uWK90gKocDJbUg7pLujqCjLRbPwItN9QDG9znD+U7X
	wDFInTUZL6jjMtUT1YbMFdWh6RzfqgzrXMZ9ovQkfbC2toBJpfOS+K2NW/sCrOutDp9T8ddDWQf
	3IWxgahaWYzfO5Z0WCBFF3dvS5xYqgY187ymrZVKXLUS64+Nr2XSaV9TlYudymICQNT5FSNepJM
	PGcDzJw0WK5WvUc
X-Received: by 2002:a05:6402:27d4:b0:68c:33e9:bf71 with SMTP id 4fb4d7f45d1cf-68fa4e18fafmr9061861a12.11.1780997983688;
        Tue, 09 Jun 2026 02:39:43 -0700 (PDT)
Message-ID: <7f8679f1-7bd9-4c48-a112-edc83d95d196@gmail.com>
Date: Tue, 9 Jun 2026 11:39:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] xen/pdx: fix off-by-one index in offset mask
 calculation
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: 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>, Stefano Stabellini <sstabellini@kernel.org>
References: <20260609085322.92856-1-roger.pau@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260609085322.92856-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1780997984-3B96D938-39F071F6/10/73395122804
X-purgate-type: spam
X-purgate-size: 858



On 6/9/26 10:53 AM, Roger Pau Monne wrote:
> Adjust the mask calculation in case the last range is merged with the
> previous one, as then the mask must be calculated from the previous range,
> which the current one has been merged into.
> 
> Instead of fixing the off-by-one in place, move the calculation of the bit
> change mask to the next loop, after the ranges have been merged.  This
> simplifies the logic by consolidating mask calculation in a single place,
> possibly making it less error prone in the future.
> 
> Also add a test case that triggers the bug being fixed by this commit.
> 
> Fixes: c5c45bcbd6a1 ("pdx: introduce a new compression algorithm based on region offsets")
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 09:39:51 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 09:39:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332569.1595034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWsw0-0001cr-0N; Tue, 09 Jun 2026 09:39:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332569.1595034; Tue, 09 Jun 2026 09:39: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 1wWsvz-0001ck-TI; Tue, 09 Jun 2026 09:39:47 +0000
Received: by outflank-mailman (input) for mailman id 1332569;
 Tue, 09 Jun 2026 09:39:45 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wWsvx-0001Oa-PI
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 09:39:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWsvx-00Fksd-5R
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 11:39:45 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a27df60-2eae-0a2a0a5409dd-0a2a4504d37e-6
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 11:39:45 +0200
Received: from [209.85.128.172] (helo=mail-yw1-f172.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a27df5f-1dec-0a2a45040019-d15580acbde9-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 11:39:44 +0200
Received: by mail-yw1-f172.google.com with SMTP id
 00721157ae682-7dc67a5e102so55083427b3.1
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 02:39: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780997983; cv=none;
        d=google.com; s=arc-20240605;
        b=RUwvEXhwf0uRe9/LOeinJi23noz1hbuee2tq8T6HM+vVWQnjjRYF1yDcqyPP9lPEOS
         NFBmgC7Bs1ztrtnQNBpFINfaJFUvUqHMMhDN5ZzFrE3fkHEcCRMsqQQ9sriqCQN4nTi3
         0otdJscLwpDW4aHIwU1nkDNqP7uITywbGOQ321gvbQHFFY1L0uuu8/5+AeZXCWobp675
         O7BptzBtQZzE2/NXlcoYJ490Ed8yZItW+qQHm2TiPoBfEROCEoZ+AVjU3KN6T6n8fSpj
         Y4fGhI9+47jtMLu2pIwDLTIFjOHCxx2Z+2zFrreU4sBGTK335PFI7xfxrlhSJ2veFU+u
         1YoA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=qtpgEoT0seO/HmrH1pfkLOu7AtTLRaIlQWkia+WVbb8=;
        fh=Maj2tFXzf7hkAbNBLtIEwFqhP6OQ+of5Ct/9bp51RJY=;
        b=fBrmdra4GQo8cqqdHOAhlcFm0xZZt9Vw61rgHc6VV5/Kf5noj9PxBEXGX/RcfRIVt+
         1zgoTz4+kKXQkKYAuetvBeTK0qA8FrvBa4pCBy/7z+bV3aYMhyzLKVZfnVqNIUSRwkjQ
         E4TVCVEIfjRM2YXqaCcnGoWwsP8e4gtZ9VksnD3rn4mWvPCg9uIE5yM6xsaPv4Pc3p7o
         feL+JfysZetPTsrf/7Vy6lt1O8mW16uOsXJsVE9/9TVi7UUh1oWa+7Qe2hZZsGsy7jsv
         JAabS56Au4oj4/nJ1CsGhlAVLDW/OCR6dBnayX01SiVr6lDH6u0Jo2QVt1kS9Mb6/nDs
         NSJw==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780997983; x=1781602783; 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=qtpgEoT0seO/HmrH1pfkLOu7AtTLRaIlQWkia+WVbb8=;
        b=a5tBzURnWeBgGwfyZ7BVr7Qw/pl+qoQzhArDcPGX8WDZYC5MPUqeVzqsP80zAiI2/+
         ntE1wlnH/NQxyRASBGOt6EN1XNpga7+K7/LUXsBw7QacvuXFgYiY+9hz4s9y3X0cIkFL
         q/FUvwVXajYkXyYfng6vggVwLAzqrxfJVFPaL85wgXfHNr5jC1lGSSRN2/eue7B+3cjQ
         WMA7NuXIB8uPoBifJbMd2nKm/36UYIczja+JgPuCdaKxGIHXyoaNwBlXNXzctQA9Dumi
         /24k4sTqisL97UCpHSACTkcZHsrD08M49tVBSTq1tFqKycvr3Dm0BvIujBLkrEA3MLSr
         FXNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780997983; x=1781602783;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=qtpgEoT0seO/HmrH1pfkLOu7AtTLRaIlQWkia+WVbb8=;
        b=WVk+/0vQcefNME20Z42v9HuwIm2M8yfp0cg0dVbutgjyV1Fj7ijbawuQadFOHardFJ
         50NpqTykOANu5qBOutM9OicFyEhs5cvNa5R/YYRF/GLZDzzOTFz37qS9LHRX2nBt/aD9
         ZmrqYZQedobx/hCsjkwnhCmflnrpKYtVFolvZ00c2QLdvJ2PgKIYXb+oXsATMYOGe98f
         b6SjS41QDZ+I7+iqOiB2sH5ei2/w6rehsjaJN58UQP/PToJSfILDkUf6QqR0J9DoQ2kf
         JT5fkRWfrIazWzjrGZy7aQFr5qPxw31sZHr8yeOYh8a4kAbvsY2zcdsFzNMHLOgSAdYj
         Dkbw==
X-Gm-Message-State: AOJu0YyZSEKDhxP0Nx2FjlQYfQomTb8E9ivSZ2OM5Oqvl6Ry2lwShaG/
	GWBylRlz6imtPGCjrClIaHFidn0B0QSd5ksEUmCyRPMaGeqfXdd60MSqnXWAKEOCi8N+CRGcidh
	pGwgynVh5zgeI0goZSJq3os7M7bDd8pI=
X-Gm-Gg: Acq92OGmWp8OvheShaQr133c9HqnQRA8nWux5PVnnNljJ793ciq4ovW5iObsHGKyU0G
	mSUN0PRsyfCJnnU3PqpHM/vhlPdH0ny1/fGljKBMCn5TKtAMEYfyCydPpAWiHIL2Eq+W78JrGYU
	V7zmRfgv+sKwnpDLTmlKGv73HU1cVs/howgUjUjuADKN1Rccx/QOAWe0IUZjhWLgqnc9LrhhYuv
	noclFQU+rS02BFgTsFV0IMDwN9/CiR6rY+ROuJrJL2FeSiKouIVOjlIdyp/1OrpZcBmgy/NoyTC
	n67Wmh0Gg5LW73PzQXQ+iveussMbg7SVHP4UANF5mEr7xbDJ
X-Received: by 2002:a53:d845:0:b0:660:56ee:ec03 with SMTP id
 956f58d0204a3-66106e5b480mr13556421d50.21.1780997983156; Tue, 09 Jun 2026
 02:39:43 -0700 (PDT)
MIME-Version: 1.0
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
 <20260603130603.776452-6-frediano.ziglio@cloud.com> <aibkcDCjyeK_0lMK@macbook.local>
In-Reply-To: <aibkcDCjyeK_0lMK@macbook.local>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Tue, 9 Jun 2026 10:39:32 +0100
X-Gm-Features: AVVi8CfP-7f2FMbqGQimolonw83x7Lg9h8l45gU05P7-lt8wz4AsJQSUluXRdWc
Message-ID: <CAHt6W4dOQAvEKBH1auotU8+f+NBc8sQmJOgU+0N13=6MHrhHLQ@mail.gmail.com>
Subject: Re: [PATCH v4 05/16] libs/guest: allocate various migration arrays
 just once
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, =?UTF-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@citrix.com>, 
	Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, Anthony PERARD <anthony.perard@vates.tech>, 
	Juergen Gross <jgross@suse.com>, Frediano Ziglio <frediano.ziglio@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-ebf023/1780997984-2AD643FF-ADDF39B6/0/0
X-purgate-type: clean
X-purgate-size: 7367

On Mon, 8 Jun 2026 at 16:49, Roger Pau Monn=C3=A9 <roger.pau@citrix.com> wr=
ote:
>
> On Wed, Jun 03, 2026 at 02:05:52PM +0100, Frediano Ziglio wrote:
> > From: Edwin T=C3=B6r=C3=B6k <edwin.torok@citrix.com>
> >
> > Allocate these array just once at the start of migration,
> > using the maximum batch size, and free them at the end.
> >
> > Signed-off-by: Edwin T=C3=B6r=C3=B6k <edwin.torok@citrix.com>
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
>
> Jan made a comment about this patch (and how it related to a still
> pending patch of his):
>
> https://lore.kernel.org/xen-devel/e3f22fa6-c497-4afc-9498-12449548acfd@su=
se.com/
>
> That is still unresolved AFAICT.
>
> > --
> > Changes since v2:
> > - change prefix in subject.
> >
> > Changes since v3:
> > - fix comment style
> > ---
> >  tools/libs/guest/xg_sr_common.h | 13 +++++++
> >  tools/libs/guest/xg_sr_save.c   | 66 +++++++++++++--------------------
> >  2 files changed, 39 insertions(+), 40 deletions(-)
> >
> > diff --git a/tools/libs/guest/xg_sr_common.h b/tools/libs/guest/xg_sr_c=
ommon.h
> > index f1573aefcb..82549b5589 100644
> > --- a/tools/libs/guest/xg_sr_common.h
> > +++ b/tools/libs/guest/xg_sr_common.h
> > @@ -209,6 +209,18 @@ static inline int update_blob(struct xc_sr_blob *b=
lob,
> >      return 0;
> >  }
> >
> > +struct xc_sr_context_save_buffers
> > +{
> > +    xen_pfn_t batch_pfns[MAX_BATCH_SIZE];
> > +    xen_pfn_t mfns[MAX_BATCH_SIZE];
> > +    xen_pfn_t types[MAX_BATCH_SIZE];
> > +    int errors[MAX_BATCH_SIZE];
>
> FWIW: I would possibly place errors at the end of the structure.  It
> seems more natural and is the only array that has 4 byte alignment
> instead of 8 (on 64bits at least).
>

Moved. It disappears later in "libs/guest: finalize PoC" but won't hurt.

> > +    void *guest_data[MAX_BATCH_SIZE];
> > +    void *local_pages[MAX_BATCH_SIZE];
> > +    struct iovec iov[MAX_BATCH_SIZE + 2]; /* Headers + data. */
> > +    uint64_t rec_pfns[MAX_BATCH_SIZE];
> > +};
> > +
> >  struct xc_sr_context
> >  {
> >      xc_interface *xch;
> > @@ -244,6 +256,7 @@ struct xc_sr_context
> >              unsigned long *deferred_pages;
> >              unsigned long nr_deferred_pages;
> >              xc_hypercall_buffer_t dirty_bitmap_hbuf;
> > +            struct xc_sr_context_save_buffers *buffers;
> >          } save;
> >
> >          struct /* Restore data. */
> > diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_sav=
e.c
> > index 8c4e760f8d..7d8055a3f9 100644
> > --- a/tools/libs/guest/xg_sr_save.c
> > +++ b/tools/libs/guest/xg_sr_save.c
> > @@ -86,16 +86,16 @@ static int write_checkpoint_record(struct xc_sr_con=
text *ctx)
> >  static int write_batch(struct xc_sr_context *ctx)
> >  {
> >      xc_interface *xch =3D ctx->xch;
> > -    xen_pfn_t *mfns =3D NULL, *types =3D NULL;
> > +    xen_pfn_t *mfns, *types;
> >      void *guest_mapping =3D NULL;
> > -    void **guest_data =3D NULL;
> > -    void **local_pages =3D NULL;
> > -    int *errors =3D NULL, rc =3D -1;
> > +    void **guest_data;
> > +    void **local_pages;
> > +    int *errors, rc =3D -1;
> >      unsigned int i, p, nr_pages =3D 0, nr_pages_mapped =3D 0;
> >      unsigned int nr_pfns =3D ctx->save.nr_batch_pfns;
> >      void *page, *orig_page;
> > -    uint64_t *rec_pfns =3D NULL;
> > -    struct iovec *iov =3D NULL; int iovcnt =3D 0;
> > +    uint64_t *rec_pfns;
> > +    struct iovec *iov; int iovcnt =3D 0;
> >      struct {
> >          struct xc_sr_rhdr rec;
> >          struct xc_sr_rec_page_data_header page_data;
> > @@ -105,26 +105,24 @@ static int write_batch(struct xc_sr_context *ctx)
> >      };
> >
> >      assert(nr_pfns !=3D 0);
> > +    assert(nr_pfns <=3D MAX_BATCH_SIZE);
> > +    assert(ctx->save.buffers);
> >
> >      /* Mfns of the batch pfns. */
> > -    mfns =3D malloc(nr_pfns * sizeof(*mfns));
> > +    mfns =3D ctx->save.buffers->mfns;
> >      /* Types of the batch pfns. */
> > -    types =3D malloc(nr_pfns * sizeof(*types));
> > +    types =3D ctx->save.buffers->types;
> >      /* Errors from attempting to map the gfns. */
> > -    errors =3D malloc(nr_pfns * sizeof(*errors));
> > +    errors =3D ctx->save.buffers->errors;
> >      /* Pointers to page data to send.  Mapped gfns or local allocation=
s. */
> > -    guest_data =3D calloc(nr_pfns, sizeof(*guest_data));
> > +    guest_data =3D ctx->save.buffers->guest_data;
> > +    memset(guest_data, 0, sizeof(*guest_data) * nr_pfns);
> >      /* Pointers to locally allocated pages.  Need freeing. */
> > -    local_pages =3D calloc(nr_pfns, sizeof(*local_pages));
> > +    local_pages =3D ctx->save.buffers->local_pages;
> > +    memset(local_pages, 0, sizeof(*local_pages) * nr_pfns);
>
> See below - I think it's possible to avoid the memset() and keep the
> same guarantees.
>

What's the issue with memset?
It's more consistent with the old "calloc" in the code and in the
compilers we use (gcc/clang) memset is a builtin that's optimized
better than setting as single fields.
Note that "guest_data" disappears in "libs/guest: fill directly iov
structure" commit.

> >      /* iovec[] for writev(). */
> > -    iov =3D malloc((nr_pfns + 2) * sizeof(*iov));
> > -
> > -    if ( !mfns || !types || !errors || !guest_data || !local_pages || =
!iov )
> > -    {
> > -        ERROR("Unable to allocate arrays for a batch of %u pages",
> > -              nr_pfns);
> > -        goto err;
> > -    }
> > +    iov =3D ctx->save.buffers->iov;
> > +    rec_pfns =3D ctx->save.buffers->rec_pfns;
> >
> >      for ( i =3D 0; i < nr_pfns; ++i )
> >      {
> > @@ -210,14 +208,6 @@ static int write_batch(struct xc_sr_context *ctx)
> >          }
> >      }
> >
> > -    rec_pfns =3D malloc(nr_pfns * sizeof(*rec_pfns));
> > -    if ( !rec_pfns )
> > -    {
> > -        ERROR("Unable to allocate %zu bytes of memory for page data pf=
n list",
> > -              nr_pfns * sizeof(*rec_pfns));
> > -        goto err;
> > -    }
> > -
> >      hdrs.rec.length =3D sizeof(hdrs.page_data);
> >      hdrs.rec.length +=3D nr_pfns * sizeof(*rec_pfns);
> >      hdrs.rec.length +=3D nr_pages * PAGE_SIZE;
> > @@ -267,17 +257,13 @@ static int write_batch(struct xc_sr_context *ctx)
> >      rc =3D ctx->save.nr_batch_pfns =3D 0;
> >
> >   err:
> > -    free(rec_pfns);
> >      if ( guest_mapping )
> >          xenforeignmemory_unmap(xch->fmem, guest_mapping, nr_pages_mapp=
ed);
> >      for ( i =3D 0; local_pages && i < nr_pfns; ++i )
> > +    {
> >          free(local_pages[i]);
> > -    free(iov);
> > -    free(local_pages);
> > -    free(guest_data);
> > -    free(errors);
> > -    free(types);
> > -    free(mfns);
> > +        local_pages[i] =3D NULL;
>
> If you are doing this cleanup here, you could also do guest_data[i] =3D
> NULL and avoid the memset, since at the start of each write_batch()
> the arrays will already be zeroed (either because they are allocated
> with calloc() on the first call, and always cleaned up in
> write_batch() after usage.
>

Given that there's a patch removing "guest_data" entirely, maybe I
would remove the "memset" for "local_pages" in another commit, maybe
"libs/guest: finalize PoC".

> Thanks, Roger.

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 09:57:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 09:57:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332580.1595044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWtDD-00062x-Dm; Tue, 09 Jun 2026 09:57:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332580.1595044; Tue, 09 Jun 2026 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 1wWtDD-00062q-9n; Tue, 09 Jun 2026 09:57:35 +0000
Received: by outflank-mailman (input) for mailman id 1332580;
 Tue, 09 Jun 2026 09:57:34 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wWtDC-000602-IC
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 09:57:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWtDB-00Fooj-Ts
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 11:57:33 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a27e37c-2eae-0a2a0a5409dd-0a2a450785dc-34
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 11:57:33 +0200
Received: from [74.125.224.45] (helo=mail-yx1-f45.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a27e38c-229c-0a2a45070019-4a7de02de5c4-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 11:57:33 +0200
Received: by mail-yx1-f45.google.com with SMTP id
 956f58d0204a3-66077c46c5cso4713584d50.1
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 02:57: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1780999052; cv=none;
        d=google.com; s=arc-20240605;
        b=hCloAgWDiKCJiQpUevjX1dQV2kyo68mCkKCi99Sqx1M1cLf5l+A0igNQsAn+8WvsP7
         NIHn3zGFZ2FUJ5E7GTyzKJZjd4HUIaSLQ0H3s1DDi1ONyjQ+gR/oLA8l/JnrDySK7ly/
         Tj9LUj2MhjgLeh2Nk2/+q5U209TEKGfH+7Qq/CVSHp9bg4vrGRXSzEFye7FelptCob3G
         6eDRJlJXf6m8l5vgUb2S31qp9LM54atHMlW56B8cifCXYs/EyftISZRAVX6vFiyTJlEV
         Lm8fQR25KMNsCOgfazwS9tWtWG/9Z+ncB/5S+1mRQytan8faFT70sACuSaI/HL9MHrI/
         zVeg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=iSJ3S61A5YYvehrw2IUj0tAyNXo2un6snsejc7TM+80=;
        fh=/+lVIvc/fLRLiJZVkidsbGp56ebj8ErFVA+AxgRIuZo=;
        b=h+3u1vOwEQ+g5un5hqg3hKyEjI1uCA/9T9pEa0V1gT/yQLCfKOQw4jp2s7lk+WXwH2
         Tfsde029K8v9FvJyLpvAysox+iP+secMTJaDtiSfxWOgtiZUjUHhdDQlVy4u2de3fQ4H
         JvcLECY6aOxFSeoyFMMnhZ81yA7ry+ZmgpOx0AfO7N+2xKxbdy2yTp/8xB/oLw1g03mx
         29177sRGxxIoQplA7bzgdJoaEGOYi89bxUA9oWQ0otTRbw/+8CiaiYDb6ddZzWO4M3po
         Dtn5jxE0MP/WHBZpodRlBRbwUbDDa2ipYccG4r+Cw1MiWnogkauUCOfOn+DJLSUDNOad
         u65A==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1780999052; x=1781603852; 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=iSJ3S61A5YYvehrw2IUj0tAyNXo2un6snsejc7TM+80=;
        b=YhUzOZo1FQ7xa75HVkGJJ+gj19zHI6yKtN9qQtfOKpX8Yx0/Cmjdl90/L7TBrT+aoJ
         6oHtpFLYklEhtiWVjXUdAPYJb2pBX9g9UlgRsXXYGwuWRdz26DzGUVVAHDPocuQe7L3h
         gNCRUKqHee7nfwqFtbH3rvdr9yzvkH44BSGRrwyXbN9ZCF6iGHkD+qkaSrialM4/9PC+
         at8qJZonwydS7FxxbsNFQiZsat0cNBrxOuS4pMj8DaQiEGdn03m1fU9sFqXi2QPmBClC
         bQKdFH0jqCsLTmInz3wdlPairQFW/LJ8RPZZQq0nXTWKKrg5Y2Q3AyPPMTsZvQabAmWn
         3SeA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1780999052; x=1781603852;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=iSJ3S61A5YYvehrw2IUj0tAyNXo2un6snsejc7TM+80=;
        b=Cek1gphDt6SUKElBX/muKT6g42Imb/e8KkGvYBP/38uComDsuYhUs8B8kU0eoFHxcB
         AvmDfB/0MRvpJP7cVwXwtZ/dChJVsjVvEt/YN8BUtiKKHz1rXzYpYn3SXd7yoHReZVCs
         0JdLoAa6KbUPfqLQ8X0qDIRjchnNv3Kx09DeYdWAf39cE5TdAPx6wFwKUwgd8O6iQjEU
         gtpCWwT0kty4/KcAw2d6CkCWYvDzDNfKjJIB0BmqP1eC2LlCGJjtA0C8rgha+zy0fNXe
         Hmakq1PTY9hHfp/CQWYuiRacBRisJ22kRXraAZaUeSAP7Q3h3+iZHehX6xTUs4iNPLEI
         R43w==
X-Gm-Message-State: AOJu0YwmzpauJjW8vTnK1xniJnlRn74GwQGP0aEehwHiUkKpdd/92+QI
	0x7qJvR/mzH92h0W4manITrL5oUzawtuKvT6DUTfZxXVmATjKqu2KTZmFdn60ErOlmP+pEvorqs
	3bHfzE5sBh2v7S4DmfJAhwMQyjgKGVxk=
X-Gm-Gg: Acq92OGOrAgTcueIBgfJJ1I3cZB5eXHZVPh+AWUnnUbbSFowR6R7CvX3RfqxMo7k4us
	gMu+xoyEHLoXc7xGTpdMnL6YB50wyiphZQh00b0o73RyE4JDjlAVHbUp255YcHQk0IQib+WfwGo
	+Kp4CTIS4mmhUOW/G4vBYNDVidaSEqQd9qvOlPBLcT9+wQb2SpyYFiImy04xmQ1VEwdjqbcTBl1
	AycgzKyjuejrf9sh4A3G629rm0Da9BjtyHhp8LD4wPMtgb8P/RTUJ1RSHToKDd0zjQMU3RzoImy
	iUJGYtmyH7RX6vMepChdTBQabfqtntjPBA6886oXSWWhW9Lv
X-Received: by 2002:a05:690e:480b:b0:657:a0f4:ac1d with SMTP id
 956f58d0204a3-66106dda5abmr12463754d50.12.1780999051857; Tue, 09 Jun 2026
 02:57:31 -0700 (PDT)
MIME-Version: 1.0
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
 <20260603130603.776452-13-frediano.ziglio@cloud.com> <1780930777.8631fc262581453bbf619ec5b2062170.19ea7bf10cd000701b@vates.tech>
In-Reply-To: <1780930777.8631fc262581453bbf619ec5b2062170.19ea7bf10cd000701b@vates.tech>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Tue, 9 Jun 2026 10:57:20 +0100
X-Gm-Features: AVVi8Cf1oads9qcl3pwOQ2iF8_XqPzFeY9pbJ-IBrXH-Jb3dnOSmMbLLDLrZoyo
Message-ID: <CAHt6W4c_E3wmV=KNG-_4FNgX9Wq4s7t-RoXzpf6NWPj7s0oH3A@mail.gmail.com>
Subject: Re: [PATCH v4 12/16] xen: implement new foreign copy hypercall
To: Teddy Astie <teddy.astie@vates.tech>
Cc: xen-devel@lists.xenproject.org, 
	Frediano Ziglio <frediano.ziglio@citrix.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>, Juergen Gross <jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-ef75cf/1780999053-0AF76C48-C48AA6C0/0/0
X-purgate-type: clean
X-purgate-size: 8419

On Mon, 8 Jun 2026 at 15:59, Teddy Astie <teddy.astie@vates.tech> wrote:
>
> Le 03/06/2026 =C3=A0 15:08, Frediano Ziglio a =C3=A9crit :
> > From: Frediano Ziglio <frediano.ziglio@citrix.com>
> >
> > Add a sub hypercall to __HYPERVISOR_memory_op to allow to
> > read/write memory from/to a foreign domain.
> >
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> > ---
> >   xen/common/memory.c         | 133 +++++++++++++++++++++++++++++++++++=
+
> >   xen/include/public/memory.h |  40 ++++++++++-
> >   2 files changed, 172 insertions(+), 1 deletion(-)
> >
> > diff --git a/xen/common/memory.c b/xen/common/memory.c
> > index 3672bda025..6a2d9c3190 100644
> > --- a/xen/common/memory.c
> > +++ b/xen/common/memory.c
> > @@ -1545,6 +1545,132 @@ static int acquire_resource(
> >       return rc;
> >   }
> >
> > +/*
> > + * The "noinline" qualifier avoid the compiler to create a large funct=
ion
> > + * consuming quite a lot of stack.
> > + */
> > +static int noinline mem_foreigncopy(
> > +    XEN_GUEST_HANDLE_PARAM(xen_foreigncopy_t) arg)
> > +{
> > +    struct domain *d, *const currd =3D current->domain;
> > +    xen_foreigncopy_t copy;
> > +    int rc, direction;
> > +
> > +    if ( !arch_acquire_resource_check(currd) )
> > +        return -EACCES;
> > +
> > +    if ( copy_from_guest(&copy, arg, 1) )
> > +        return -EFAULT;
> > +
> > +    if ( copy.flags & ~1u )
> > +        return -EINVAL;
> > +
> > +    direction =3D copy.flags & XENMEM_foreigncopy_direction;
> > +
> > +    if ( copy.nr_frames =3D=3D 0 )
> > +        return 0;
> > +
> > +    rc =3D rcu_lock_remote_domain_by_id(copy.domid, &d);
> > +    if ( rc )
> > +        return rc;
> > +
> > +    /*
> > +     * Check we are allowed to map and access these foreign pages.
> > +     */
> > +    rc =3D xsm_map_gmfn_foreign(XSM_TARGET, currd, d);
> > +    if ( rc )
> > +        goto out;
> > +
> > +    do {
> > +        /*
> > +         * Arbitrary size.  Not too much stack space, and a reasonable=
 stride
> > +         * for continuation checks.
> > +         */
> > +        xen_pfn_t gfn_list[32];
> > +        unsigned int todo =3D MIN(ARRAY_SIZE(gfn_list), copy.nr_frames=
);
> > +
> > +        rc =3D -EFAULT;
> > +        if ( copy_from_guest(gfn_list, copy.frame_list, todo) )
> > +            goto out;
> > +
> > +        for ( unsigned i =3D 0; i < todo; i++ )
> > +        {
> > +            struct page_info *foreign_page;
> > +            void *foreign;
> > +            p2m_type_t p2mt;
> > +
> > +            foreign_page =3D get_page_from_gfn(d, gfn_list[i], &p2mt, =
P2M_ALLOC);
> > +
> > +            if ( unlikely(p2mt !=3D p2m_ram_rw
> > +#ifdef CONFIG_X86
> > +                 && p2mt !=3D p2m_ram_logdirty
> > +#endif
> > +                 ) && foreign_page )
> > +            {
> > +                put_page(foreign_page);
> > +                foreign_page =3D NULL;
> > +            }
> > +            if ( unlikely(!foreign_page) )
> > +            {
> > +                gdprintk(XENLOG_WARNING,
> > +                         "Error accessing foreign mfn %" PRI_mfn "\n",
> > +                         gfn_list[i]);
> > +                rc =3D -EINVAL;
> > +                copy.nr_frames -=3D i;
> > +                guest_handle_add_offset(copy.frame_list, i);
> > +                goto out;
> > +            }
> > +
> > +            /* A page is dirtied when it's being copied to. */
> > +            if ( direction =3D=3D XENMEM_foreigncopy_to )
> > +                paging_mark_dirty(d, page_to_mfn(foreign_page));
> > +
> > +            foreign =3D map_domain_page(page_to_mfn(foreign_page));
> > +            if ( direction =3D=3D XENMEM_foreigncopy_from )
> > +                rc =3D copy_to_guest(copy.buffer, foreign, PAGE_SIZE);
> > +            else
> > +                rc =3D copy_from_guest(foreign, copy.buffer, PAGE_SIZE=
);
> > +            unmap_domain_page(foreign);
> > +            put_page(foreign_page);
> > +
> > +            if ( unlikely(rc) )
> > +            {
> > +                gdprintk(XENLOG_WARNING,
> > +                         "Error copying to mfn %" PRI_mfn "\n", gfn_li=
st[i]);
> > +                copy.nr_frames -=3D i;
> > +                guest_handle_add_offset(copy.frame_list, i);
> > +                goto out;
> > +            }
> > +
> > +            guest_handle_add_offset(copy.buffer, PAGE_SIZE);
> > +        }
> > +
> > +        copy.nr_frames -=3D todo;
> > +        guest_handle_add_offset(copy.frame_list, todo);
> > +
> > +        if ( copy.nr_frames && hypercall_preempt_check() )
> > +        {
> > +            rc =3D hypercall_create_continuation(
> > +                __HYPERVISOR_memory_op, "lh", XENMEM_foreigncopy, arg)=
;
> > +            goto out;
> > +        }
> > +    } while ( copy.nr_frames );
> > +
> > +    rc =3D 0;
> > +
> > + out:
> > +    rcu_unlock_domain(d);
> > +
> > +    /* Update in all cases, it allows the caller to know how many
> > +     * frames were successfully copied and the continuation to
> > +     * continue correctly.
> > +     */
> > +    if ( copy_to_guest(arg, &copy, 1) )
> > +        rc =3D -EFAULT;
> > +
> > +    return rc;
> > +}
> > +
> >   long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg=
)
> >   {
> >       struct domain *d, *curr_d =3D current->domain;
> > @@ -2012,6 +2138,13 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_H=
ANDLE_PARAM(void) arg)
> >               start_extent);
> >           break;
> >
> > +    case XENMEM_foreigncopy:
> > +        if ( unlikely(start_extent) )
> > +            return -EINVAL;
> > +
> > +        rc =3D mem_foreigncopy(guest_handle_cast(arg, xen_foreigncopy_=
t));
> > +        break;
> > +
> >       default:
> >           rc =3D arch_memory_op(cmd, arg);
> >           break;
> > diff --git a/xen/include/public/memory.h b/xen/include/public/memory.h
> > index bd9fc37b52..b48d1f378f 100644
> > --- a/xen/include/public/memory.h
> > +++ b/xen/include/public/memory.h
> > @@ -740,7 +740,45 @@ struct xen_vnuma_topology_info {
> >   typedef struct xen_vnuma_topology_info xen_vnuma_topology_info_t;
> >   DEFINE_XEN_GUEST_HANDLE(xen_vnuma_topology_info_t);
> >
> > -/* Next available subop number is 29 */
> > +/*
> > + * Copy memory from/to a given domain.
> > + */
> > +#define XENMEM_foreigncopy 29
> > +struct xen_foreigncopy {
> > +    /* IN - The domain whose resource is to be copied. */
> > +    domid_t domid;
> > +
> > +    /* IN - Flags. */
> > +#define XENMEM_foreigncopy_from 0
> > +#define XENMEM_foreigncopy_to 1
> > +#define XENMEM_foreigncopy_direction 1
> > +    uint16_t flags;
> > +
> > +    /*
> > +     * IN
> > +     *
> > +     * As an IN parameter number of frames of the domain to be copied.
> > +     */
> > +    uint32_t nr_frames;
> > +
>
> The interface only allows copies to be made at page granularity, while
> that can be ok, that probably wants to be stated.
>
> > +    /*
> > +     * IN
> > +     *
> > +     * Frames to be copied.
> > +     */
> > +    XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
> > +
> > +    /*
> > +     * IN/OUT
> > +     *
> > +     * Userspace buffer to read/write from.
> > +     */
> > +    XEN_GUEST_HANDLE(uint8) buffer;
> > +};
>
> The interface looks a bit asymetric, on one hand, it takes pfns and on
> the other hand, it takes a guest virtual address.
>
> Though, using guest pointers is not great for PVH domains, as it
> requires expensive pagewalks (especially for a lot of pages).
>
> Would it be preferable to have a list of gmfn for both sides ?
>

All this was considered and the interface could accept either virtual
pointer or GFNs.
However, the code was more complicated and I think to resolve this
correctly is out of scope here.
How is the structure passed using the hypercall? With a virtual
pointer? Why not complain also about that pointer? It would be good
for PVH not to use virtual addresses at all.
The PFN/virtual should be solved more generically.

> > +typedef struct xen_foreigncopy xen_foreigncopy_t;
> > +DEFINE_XEN_GUEST_HANDLE(xen_foreigncopy_t);
> > +
> > +/* Next available subop number is 30 */
> >
> >   #endif /* __XEN_PUBLIC_MEMORY_H__ */
> >
>
> Teddy

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 10:10:54 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 10:10:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332589.1595052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWtQ0-0001Fd-Hx; Tue, 09 Jun 2026 10:10:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332589.1595052; Tue, 09 Jun 2026 10: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 1wWtQ0-0001FW-FJ; Tue, 09 Jun 2026 10:10:48 +0000
Received: by outflank-mailman (input) for mailman id 1332589;
 Tue, 09 Jun 2026 10:10:46 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wWtPy-0001EL-KZ
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 10:10:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWtPx-003v1O-GW
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 12:10:45 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a27e69d-e002-0a2a0a5209dd-0a2a4503d93a-36
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 12:10:45 +0200
Received: from [40.107.209.17]
 (helo=PH8PR06CU001.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a27e6a3-672d-0a2a45030019-286bd11143f0-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 12:10:45 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SA6PR03MB7615.namprd03.prod.outlook.com (2603:10b6:806:43d::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Tue, 9 Jun 2026
 10:10:38 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026
 10:10: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=HnNDqS/QuarfcMAXW3l0PXYgpzrbk68lUkeC0MStfdcfg5lx+4hqrW06LAgwP2HcYcYHsD0cGIPBmIb+CHxbUWqdCr2anRCG3JV4zFEFrY4zqpk/v2jvSFOTkNXw4Af4c9oyfHWGUfHnq0lal3bGLQYAt9XW/dW+dlwZcgjX61/f3R7bv0NpDZlg17Nt2BY+0sm5E7BoDA0PyMjwePWLCMnTvZe898YklF5MuX0Dkh2vFZkxeWUSrEoO7/f+gPea0Yk4faEk0g12HX0NJ4VH9f+kxobk0/UodTXl/vMYz61aeLFOmHxyPqToFbnYW730/l4C/vq8uk2auTTxrFAn4Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=F27M/NQeVPs2O3bFwXwxmbXKM5/VuTuJ1zs+P55GCQ4=;
 b=Gsn8VGZ/XcAt78b83GtwSsCAx8ahTXxbs27IdeuCsU/iJiNwRGp2QsjLSqXQCEbaIsKlgX5Rb/zXsWmtHZIXD5jo9S8Dj7AvIX5cTrY0l7zzxwmvcHUp+eRQNmgrramTDduc0/Ta2iI60+Ch5yTFp0YBOygMkbdC3dBilYHwKJH6u17D8+ZYvx/bAtelZCshXvpa98vp3bK4dV2REbr6d2JTST9Q7GKLIdhi1GHOQ+2F3GnOAYC3FVkWFxr2L9M2VWyeZaz8SkvdFIRB6sDEt76GhqKJD2AZ81/NAqKTjsNXyZebDXW0k8eibKe4JuMpuV6cn+8S6Rh/qIIt2IblVg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=F27M/NQeVPs2O3bFwXwxmbXKM5/VuTuJ1zs+P55GCQ4=;
 b=gEUyAiv+I+GoscU/7ChnqAkT1QHRjF8uxYg/FtlGwwpXxUWd1hMc+IVTJyu7Q9sD9keJtZVi4d/3rZ2RfUu7WIC6IIdrWx/UHmH8N3hcQN4tZZmndqpj/U8RNuJGAtFHIkiYYfGZdeSyQVadTaWwKmqybrPPXQG/n3KdnHdql7s=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <00f87295-eb9f-4e7f-98c3-bd59b9137efe@citrix.com>
Date: Tue, 9 Jun 2026 11:10:35 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Frediano Ziglio <frediano.ziglio@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v4 07/16] libs/guest: avoids using 2 indexes
To: Frediano Ziglio <freddy77@gmail.com>, xen-devel@lists.xenproject.org
References: <20260603130603.776452-1-frediano.ziglio@cloud.com>
 <20260603130603.776452-8-frediano.ziglio@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20260603130603.776452-8-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO6P123CA0011.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:338::15) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SA6PR03MB7615:EE_
X-MS-Office365-Filtering-Correlation-Id: cedb5c6c-cfdd-4413-73f8-08dec60f5af0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|18002099003|22082099003|4143699003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	33KX0doi8tXpaZu2dOt17v3wYylyKNaXaeWhC9MqWeB/SUZYE2h0wcI2rv5vCjgn5u9iVcTsX+4bIbYbvR+oCp+RY38DJV7hsJB8qwXkP+kasy4BVt0DeuKn65lu5LyYitC296sQKqQKclPROrMagWlP6/F0dJaNaqPkP0EKWW61MdWiVyS32DZbm/5sOFRjJfZRza3zrDubnGbKC39GnNyzNjdl1ej7DKnKpdhf7SzYykR4P9Ka3muof6Zdp3u+MuzVjbTCo6qRjZfvZr7alOds3F2eAfFt/d5F+/lVmy5YQYzVqGDe5/vvNDsNIgy0JCY6mXcBrOS8jyyXEYsX8nIirBMpDK/yX+kbxLijP5HcsLXUkOpTwN2cwMZmiDpb+rWBEoKEBTsOABxmFSxzMOHvY+s3PhV83AtfFMHrgviJ8iqHoPzV/junzKEqA+Ia3mHFHs2mFdayq7neCHB4dxXWZ65h5WGm2mMaKTvY8Lv7dSwEk8aDgqv/KHoKxyfLrmR5pS89pFzCKLvso9Zr4zjxFbG3Tp3iL1bhHpYB+78PfSY/3E/cjei0bQtR4yDmrUrbkTD/6dT0X0ltRLKYDfndXoUuzMhyc81xOfSrrIwoVhKXbGUVjay8BZif2r9lUDujcLor15fJnYKtpWKrfgbwmk2zU+A3mLk7dReFztvRZvVphLAcmws89/kZfu6Z
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(18002099003)(22082099003)(4143699003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NFpLK2QzME14Y1E5anB2RmRzUTBOQUVWTnk3RG4rU0ZyQUk3YjJFTGpQVGFy?=
 =?utf-8?B?YmY3R2xKRjNhWkt4Q1N2VDNpSllwazZrNmdva01yQ3ZZVGZUNi9zUy9ZZnc4?=
 =?utf-8?B?NEt2L3NrbHB0SlFYNjJoSWdzUE5MeWY2ejJmaE5QYmx1bStCbkJHTlhEWnFa?=
 =?utf-8?B?WEtDWDFMd3Z3bzVHRXpxR0lVYU82RldNTUJRVEFqMVdiZWIwSXc5anltckxu?=
 =?utf-8?B?NTV2U0kwM05BQ3FBamFJaEtkVkQxd3NHanV2NTBFYlc4Yzg2RlJFSDM4YitF?=
 =?utf-8?B?NzZYMVFHSmptcUNVNmFxa01HVjdDMjV6NUI3OTkxNDRuUEdjUFV6YTlEQlVS?=
 =?utf-8?B?YmNRSlAxUlBrK0w3WXJIOGdWODZNN09KSE1MVEh2RVNIdng2TlhFSUVlUEZo?=
 =?utf-8?B?Z1hBZStncy9aYnNMYnEySWJYVzdsS1A4Tjl5Zi94VnI0MlIrUHQ0MnRIbUpS?=
 =?utf-8?B?RzAzRDdBT3ZhKzFoZXRBU2JMLzhrZVlxeU1XaWFEeGwwUldGcTk0Tm1LOHRN?=
 =?utf-8?B?bUhodU9nYW1sTmNZenp0dERiQXZudGk3S25pc0h2RmozUmxMZFhtMDU0cTNE?=
 =?utf-8?B?SUxRa3ZxeHU1LzVwZXJHZERpcnBUZzlTY2NqaC9zNThXa2FZS2M5VmxvNnV2?=
 =?utf-8?B?cnhGZU1QakFOanNUbE1Rd2dQL2FGdDNCc2ZzSXJic09pa1lMcnYzYmhRRndm?=
 =?utf-8?B?M3YzZE85OExFVWszc1BkVk5aZlBoQVpvdW5SSW5WV1Jva3M2aEJ2WVRFWW9B?=
 =?utf-8?B?TDRaNWYxN2lGL0VjQnN1Z3ArMGQrMGh5bG9DS1ZWMEpZMDRQZE5oWjIzcjR4?=
 =?utf-8?B?M3pEUkJ2V3Vmb3pqekt4bVNvUHkvNHJFendaQUNNcE1QRnhqdW5sY0ZvN2hl?=
 =?utf-8?B?clkxQTY2cXhzR0hodElER0FVVkd4cCtVUlhweDQ5ZCtLYzJQWDlBcEFDN1lx?=
 =?utf-8?B?SDhUWnNsdzJWa3ExRlBiNnJpcEx0N3FkTlpuNVgvckpTd1oranV2OWhWZ3Nm?=
 =?utf-8?B?WVVqOHhKQXhKaWdsbXptUWlHTEdiQldhNis2MHo1ZnYzMDY4cjFrR0JnSFZm?=
 =?utf-8?B?TVFDcTRYRi9BaTBnam1xRHBZdUZiWnNxdVMyUUg0NGh6dXdaeEFFTnU4MnZQ?=
 =?utf-8?B?YWIxWHd3L2kwMXM1Njl1VENMRkdERm5hWEw0eG4xNmxNeXB3NTdrRkVNNHBx?=
 =?utf-8?B?WTRjTHk0WmI5V3hVMkhHVElTNW1VRzk3ZGxsem55Z0dabjI4ZHdHRHhjZTlo?=
 =?utf-8?B?RldreUFId0Q1Q3ZYUjRhMWs1cDA1eDNKMDNjdHFnUEUzYmMyV3JpSGQzaEc2?=
 =?utf-8?B?c2FJVDlsaW5XMWY1RXQwUjdXYjdNQXJhTm5CRGJxbnQxVEpPOUJwUkNseXQv?=
 =?utf-8?B?YXJrSDFWb1oyQTNZY1JYV1JBY1h2Q1JpL1c4MXBKb25YcDZJMzhrT2RvS0xr?=
 =?utf-8?B?RTJTTGtRQnBSSEl2YzNtRVV1WnlwYllhZklwYjZRTS9RTGpGRkY4Nm56OGRv?=
 =?utf-8?B?Mk04QTViNVdGVnFrWW9TcHowaWh1MGQyQkhlNVNLcWJZdHlhMHN5VkkyTTFZ?=
 =?utf-8?B?WDE5MllDVGpDMzkwTHg4SUhGMHFWaDRobDRKc3RKZm9MVExWTk1aS1YxK0tE?=
 =?utf-8?B?bFh2UzdzTDBpaVF1YU1HL01rRjYzRG9QcHU3ajV3N0I1amFFbDN0MEw5UDNy?=
 =?utf-8?B?NEsrNGIwcFR4M1ByaDhZemVDZlBVSStiQnpQZStCTXU2VUcxbDlFdnhjcjRQ?=
 =?utf-8?B?clFaZkI5MXpVU04wcXJtdW1yY2dYbjIzbHZycHlKbU9WbjZIRExUaDg4L0Uv?=
 =?utf-8?B?Rk94WENZWmJpL3greWZXMkxHSitVZkp2YzVNOC8xcWd6UGFXWnZjK21vei81?=
 =?utf-8?B?aTcwb0ZhRkdvbXpwZ3VyN0RRSVpHajdKN09UNit2WW1OZmdlWVZQQk10TU95?=
 =?utf-8?B?NEZHa05EM2U4VHRzOVhrNFc5YzkxaWtRYWNZVmVDUVUwcnRSK0JMZGdVSW9l?=
 =?utf-8?B?VjJzckNlcytZKzJUd3hReGRxTW1qVHRxMTg0cCtCcmJTN2tmRWZuQkdudW5R?=
 =?utf-8?B?b2ZHdHNoOUlReWFRUm5JMjBFNDRhQ0FheG9XV3VXM2RpOWdEMU5rb05WblpO?=
 =?utf-8?B?enpXaUVtbk81MXpCRUVGaHhmVHhwcU40Sm5zcWx1K0hqc1RXWTAxRzJ3eDZs?=
 =?utf-8?B?eis1Wkoza3pzZG0vaFdqSW1CVTB6NWJDajNMMlVLTmZLT1owajJ5Yy9BRlNO?=
 =?utf-8?B?eG1TaGErcGpsUldoaG5ZenFLdHl6MFJEd2dnMXVla1g2MVkzeTIzbGg4b0ZK?=
 =?utf-8?B?OFFiQldlRGVzWGZPWkhNanFNczNzUUJLaUlXd1NWSC96UmVOSmFrbEVBbWN3?=
 =?utf-8?Q?Zc+TttBOUQSEbZeA=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cedb5c6c-cfdd-4413-73f8-08dec60f5af0
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 10:10:38.6483
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ejq6baQ8qELxZRRAU3Y8ie5z/tQBblcZA7BDqQ5Bk/uXc+0ZdzzMIPd4zXHaAh1YC+l2yzY+BwkKE8UKejWGTHUO87l/yKSLYAZ8AYZl+IM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR03MB7615
X-purgate-ID: tlsNG-33051d/1780999845-37F4A938-BACB86F3/0/0
X-purgate-type: clean
X-purgate-size: 369

On 03/06/2026 2:05 pm, Frediano Ziglio wrote:
> From: Frediano Ziglio <frediano.ziglio@citrix.com>
>
> Simplify code, after the first scan of the various arrays we don't need to
> keep original types and PFNs but only the ones having data.
>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 11:26:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 11:26:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332603.1595073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWub3-0005Vj-P7; Tue, 09 Jun 2026 11:26:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332603.1595073; Tue, 09 Jun 2026 11:26:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWub3-0005Vc-MA; Tue, 09 Jun 2026 11:26:17 +0000
Received: by outflank-mailman (input) for mailman id 1332603;
 Tue, 09 Jun 2026 11:26:16 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wWub1-0005VG-PC
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 11:26:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWub0-00H6zX-Gi
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 13:26:14 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a27f848-2eae-0a2a0a5409dd-0a2a4508b04c-40
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 13:26:14 +0200
Received: from [209.85.167.53] (helo=mail-lf1-f53.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a27f855-63b5-0a2a45080019-d155a735a842-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 13:26:14 +0200
Received: by mail-lf1-f53.google.com with SMTP id
 2adb3069b0e04-5aa61503fdaso5560832e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1781004373; cv=none;
        d=google.com; s=arc-20240605;
        b=PDfukmvhytkWAbDmDPn0lwpra6stT/RfH5VzIVXbQH4nk+A9ubC4fr7kdKqg4fYGUR
         Y9Cm6EuEVzc3kSkq+eAOUNH6oRhqUyamQbig7jwQiPQDjKU898hIgKLL26i8/Vx7GFex
         njgBhoNIoNN2nimXMOllSfSHAo5nk6hJCVijDWG5tMrQ/PV0pj624rqkkc4e7pz94+0Z
         HNKPUPOZjHyRHB2Sv+HJwdRqdTDOwr0T3iqUVXc8EJJ4lEUeZYnl9NgoHJPRz4jDA+Zo
         JJcpQ/dKg+f5VEEbMopxOG7ksWpKXaLpq/+4vvbavO5lr1o1MlYLf/Ws0t5cz/vNqyvV
         Dmpw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=WLYcPfWt9uMVLfZgYj04XzkulV5XoWd3hFIn8YeqBwk=;
        fh=zk+JGOYQjpPuYyxRR8v3OZOsXfYFHag6LUjq1VldQ2M=;
        b=T1LtuURQWrapEpNV4AT+ci7DQnxqQsKhfLjpeXcDCysm+AvmFvvNqjPR4VshwBoZ00
         4Gk0NdL21II4Ta8ES0RR9lP4InXv4P5h4ItcnldgnYFFePmgRxyXZ+yZGIPgxO0Z2MZo
         0xWV0ycWhcwy3RIWyDpolJi0tVshQqelyAADnhFyEuwzSYIP0gvF9hws4akzL80/9Cuh
         J+d8b1I4liLVedPTxsDYmsKvPT5pvuyarKAcPpxCdVkUE5OFMTLDiYv1Ye6tM7C5ziNt
         +BNQGMcrhUT39nGAkopmUwoklzVfBEY86E6sA0z8+UqW62W00vdj+3WS2caKJ2xIATar
         4WFQ==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781004373; x=1781609173; 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=WLYcPfWt9uMVLfZgYj04XzkulV5XoWd3hFIn8YeqBwk=;
        b=j9XNjEvO2j5/mz/iOZsJz5AoeekEEO0CWbd7nVXaZbsV4fuWNDQ39JLgNScsrMX8Ot
         zUzkUAinSGx3lV04QnzHcgYnqJoVXV0GQWPxHvel+DHs05g1VTQsWR8jHZz3p3EEz7/W
         Qe9EtLG1L/U9J9YBuM1VMjSCe11cvqdnBlKPbfBqYPfLEwOIJscng5S/OY2Nx2ugC9iN
         R6wYkZxTyAKbOU/lsGjRBOzgI2Hj6D46zSJGF3TN/Af3g8yA0Qu+09IaY3RHcFEJQVPW
         JTUezuS1eWeXHoavoyROe6TQ0l4J4R1akpfdR0ZJynyJ/b/izGuEj7S3JAZC5y10rJq3
         lIGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781004373; x=1781609173;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=WLYcPfWt9uMVLfZgYj04XzkulV5XoWd3hFIn8YeqBwk=;
        b=j5cM7fZziAVKb4SoURZ6Y0W1znRzQs9yFus0Uwe+ZqzJXSW228wS9SwSj6ML3B6nFS
         FlLs73g9LhQghxoASM+QBrsH/h/Bu7sfW0WMYgR4SY5Odtiq0govF6xS9cIVmw7X3Q+U
         98UIRR1IQ3i9XoiYEDw5OyDU1mE2OdYWWuStep04POCq1Ms/Myvw4rBtrU7M2PMHpMAq
         2vjffiGGiICCweM2k8hLK+XcQgdY+XWsa4Dm2l9cr91ybcPQV8ps+CHWi/CCx4y6lkZV
         F+cqWPaMUwZBCFbDd/5z9+pQXA+HlXRn37a2OFTx9Uv1on0quI+fZrfdwZrVXG8bpM/a
         pFqg==
X-Gm-Message-State: AOJu0YzqbA4ZVZURXlGvzDV8KzHhua8ELrsg16LtfB0a6KrrZXx43ZLb
	ULjSWY5n2za3bi2hiKhR9EOn7OSumHbHJd2rVunREaFASM+VFFR34oSYi7Ya1VbZrWW08MIwAEG
	UVswgJV/TlEBMOFubHUvsYaraZmaMO4M=
X-Gm-Gg: Acq92OEwkJVQO5aEPUVvu0FhM0LWL99uimjD2hgnpDIM55ogmJXjCMLQdgcaaJwQrfw
	tsPfuu2yZcXhKasfeXwGvloeKQy2jz0qo840GBoq0iVkhTSfN7vZNw+6qPpgLe8/uwA7ZsE0waD
	lr6eHim7w6eHo/0kw8DxWQhvGle7H6zABNee7i5esjMFOKw45mlanMJKsaYo+nRmJXbPbznmCS2
	SKVCNE9t5aizD7rW7gTY0MnJmAMq4Rt2dqpqMwmT6x4Zgq/X5MJup1hqBQLCF74IR+5S/Q/ZxIB
	J7iYIQFnItHn3omF
X-Received: by 2002:a05:6512:31c8:b0:5a8:73c2:c90b with SMTP id
 2adb3069b0e04-5aa886eac86mr5533347e87.20.1781004373010; Tue, 09 Jun 2026
 04:26:13 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1780896733.git.mykola_kvach@epam.com> <916609a0c6e66dd24e4435d31a165a1326fe5281.1780896733.git.mykola_kvach@epam.com>
 <03bca529-419a-4c14-b229-7e47e8e36e7a@amd.com>
In-Reply-To: <03bca529-419a-4c14-b229-7e47e8e36e7a@amd.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Tue, 9 Jun 2026 14:26:01 +0300
X-Gm-Features: AVVi8CcLwMU7AA8UIEIfji0bxOX8svmDEy8e9BBxKUmR3zGprKaqfC08x_ayY5k
Message-ID: <CAGeoDV-SOWiHq46wy1Lwc-PNO=Mh+wm03SHwWxFzeNxC8s9Bbg@mail.gmail.com>
Subject: Re: [PATCH for-4.22 v3 2/2] device-tree: validate hwdom bank 0 boot placement
To: "Orzel, Michal" <michal.orzel@amd.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>, 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>, 
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-c1860d/1781004374-B6F72DB1-4DD709D3/10/73395122804
X-purgate-type: spam
X-purgate-size: 14090

Hi Michal,

Thanks for the review.

On Tue, Jun 9, 2026 at 10:32=E2=80=AFAM Orzel, Michal <michal.orzel@amd.com=
> wrote:
>
>
>
> On 08-Jun-26 07:39, Mykola Kvach wrote:
> > From: Mykola Kvach <mykola_kvach@epam.com>
> >
> > With LLC coloring enabled, the hardware domain memory is allocated by
> > allocate_hwdom_memory() rather than by using the fixed direct-map layou=
t.
> >
> > Commit de99f3263555 ("device-tree: Improve hwdom memory allocation for
> > DMA") made that allocator prefer lower host regions. The first-bank
> > filter, however, still only checked the old 128MB heuristic. A low regi=
on
> > can satisfy that heuristic but still be too small, or otherwise
> > unsuitable, for the hardware-domain kernel and the DTB/initrd area to f=
it
> > in bank 0 according to the Arm placement rules.
> >
> > Keep the existing first-bank size policy and add an architecture-specif=
ic
> > candidate check. On Arm, compute the kernel load address for the
> > candidate bank using the same logic as kernel_zimage_place(), verify th=
at
> > the kernel range is covered by that bank, and then reuse the same
> > DTB/initrd placement helper as place_dtb_initrd(). The FDT is generated
> > later, so use the hardware-domain FDT allocation size as a conservative
> > upper bound for the final DTB size.
> >
> > Check the candidate after capping the host region by the remaining
> > unassigned hardware-domain memory, so the validation is performed again=
st
> > the size that would actually become bank 0.
> >
> > This keeps the DMA-oriented allocation policy from de99f3263555 while
> > preventing a too-small bank 0 from reaching place_dtb_initrd().
> >
> > Make kernel_zimage_place_in_bank() return INVALID_PADDR when a
> > position-independent zImage cannot be placed in the supplied bank; the
> > real load path turns this into a panic, while the hwdom candidate check
> > uses it to reject the bank.
> >
> > Fixes: de99f3263555 ("device-tree: Improve hwdom memory allocation for =
DMA")
> > Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> > Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > Changes in v3:
> > - Rename the architecture hook to
> >   arch_hwdom_first_bank_can_fit_modules() and document its contract.
> > - Drop the redundant post-alignment zImage load-address check.
> > - Drop the dead kernel range overflow check.
> > - Make the candidate-bank coverage condition explicit.
> >
> > Changes in v2:
> > - Split the behavior-preserving placement refactoring into the previous
> >   patch.
> > - Reuse the refactored Arm kernel and DTB/initrd placement helpers for
> >   the first-bank candidate check.
> >
> > Link to v1:
> >   https://patchew.org/Xen/4f862bb2dc323914b8120b0f16af7516140cf42b.1780=
065103.git.mykola._5Fkvach@epam.com/
> >
> > Changes since RFC:
> > - Do not keep the RFC scalar minimum-size check.  It can both reject va=
lid
> >   layouts and accept layouts which still fail later.  Instead, validate
> >   the candidate bank using the same kernel and DTB/initrd placement rul=
es
> >   as the load path.
> > - Replace the scalar minimum-size check with arch_hwdom_first_bank_ok()=
.
> > - Validate fixed-address and AArch32 start =3D=3D 0 kernel placement ag=
ainst
> >   the candidate bank.
> > - Check the candidate after capping the host region by the remaining
> >   unassigned hardware-domain memory.
> > - Treat the hardware-domain FDT allocation size as a conservative upper
> >   bound because the final FDT is generated later.
> >
> > Link to RFC: https://patchew.org/Xen/9ae4f7dd49f5b1f761193adae573c2675c=
92e883.1779051035.git.mykola._5Fkvach@epam.com/
> >
> > Why the RFC scalar approach was not kept:
> >
> > A simple minimum-size check is not sufficient here because the validity
> > of the first bank depends on the actual Arm placement rules, not only o=
n
> > the aggregate size of the kernel, DTB and initrd. The DTB/initrd area m=
ay
> > fit before a 64-bit Image loaded with a text offset, while an AArch32
> > position-independent kernel may leave no valid module location even whe=
n
> > the aggregate size appears to fit. Fixed-address kernels also need the
> > candidate bank start to be considered.
> > ---
> >  xen/arch/arm/acpi/domain_build.c        |  2 -
> >  xen/arch/arm/domain_build.c             |  8 ++++
> >  xen/arch/arm/include/asm/domain_build.h |  4 ++
> >  xen/arch/arm/include/asm/kernel.h       | 10 +++++
> >  xen/arch/arm/kernel.c                   | 53 ++++++++++++++++++++++++-
> >  xen/common/device-tree/domain-build.c   | 25 ++++++++----
> >  xen/include/xen/fdt-kernel.h            | 14 +++++++
> >  7 files changed, 105 insertions(+), 11 deletions(-)
> >
> > diff --git a/xen/arch/arm/acpi/domain_build.c b/xen/arch/arm/acpi/domai=
n_build.c
> > index 249d899c33..db16f7fa94 100644
> > --- a/xen/arch/arm/acpi/domain_build.c
> > +++ b/xen/arch/arm/acpi/domain_build.c
> > @@ -26,8 +26,6 @@
> >  #undef virt_to_mfn
> >  #define virt_to_mfn(va) _mfn(__virt_to_mfn(va))
> >
> > -#define ACPI_DOM0_FDT_MIN_SIZE 4096
> > -
> >  static int __init acpi_iomem_deny_access(struct domain *d)
> >  {
> >      acpi_status status;
> > diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> > index 1efddc60ef..550617f152 100644
> > --- a/xen/arch/arm/domain_build.c
> > +++ b/xen/arch/arm/domain_build.c
> > @@ -115,6 +115,14 @@ int __init parse_arch_dom0_param(const char *s, co=
nst char *e)
> >                               (IS_ENABLED(CONFIG_STATIC_SHM) ?         =
\
> >                                (NR_SHMEM_BANKS * (160 + 16)) : 0))
> >
> > +paddr_t __init hwdom_get_fdt_alloc_size(void)
> > +{
> > +    if ( acpi_disabled )
> > +        return fdt_totalsize(device_tree_flattened) + DOM0_FDT_EXTRA_S=
IZE;
> > +
> > +    return ACPI_DOM0_FDT_MIN_SIZE;
> > +}
> > +
> >  unsigned int __init dom0_max_vcpus(void)
> >  {
> >      if ( opt_dom0_max_vcpus =3D=3D 0 )
> > diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/inc=
lude/asm/domain_build.h
> > index df8b361b3d..85cf46a958 100644
> > --- a/xen/arch/arm/include/asm/domain_build.h
> > +++ b/xen/arch/arm/include/asm/domain_build.h
> > @@ -19,6 +19,10 @@ int prepare_acpi(struct domain *d, struct kernel_inf=
o *kinfo);
> >
> >  int add_ext_regions(unsigned long s_gfn, unsigned long e_gfn, void *da=
ta);
> >
> > +#define ACPI_DOM0_FDT_MIN_SIZE 4096
> > +
> > +paddr_t hwdom_get_fdt_alloc_size(void);
> > +
> >  #if defined(CONFIG_MPU) && defined(CONFIG_ARM_64)
> >  /* Utility function to determine if an Armv8-R processor supports VMSA=
. */
> >  bool has_v8r_vmsa_support(void);
> > diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/a=
sm/kernel.h
> > index 21f4273fa1..b86c7337fe 100644
> > --- a/xen/arch/arm/include/asm/kernel.h
> > +++ b/xen/arch/arm/include/asm/kernel.h
> > @@ -8,12 +8,22 @@
> >
> >  #include <asm/domain.h>
> >
> > +#include <xen/types.h>
> > +
> > +struct kernel_info;
> > +
> >  struct arch_kernel_info
> >  {
> >      /* Enable pl011 emulation */
> >      bool vpl011;
> >  };
> >
> > +#define arch_hwdom_first_bank_can_fit_modules \
> > +        arch_hwdom_first_bank_can_fit_modules
> > +bool arch_hwdom_first_bank_can_fit_modules(const struct kernel_info *i=
nfo,
> > +                                           paddr_t bank_start,
> > +                                           paddr_t bank_size);
> > +
> >  #endif /* #ifdef __ARCH_ARM_KERNEL_H__ */
> >
> >  /*
> > diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
> > index d1be4d8074..47229644b2 100644
> > --- a/xen/arch/arm/kernel.c
> > +++ b/xen/arch/arm/kernel.c
> > @@ -64,6 +64,9 @@ kernel_zimage_place_in_bank(const struct kernel_info =
*info,
> >          load_end =3D bank_start + bank_size;
> >          load_end =3D MIN(bank_start + MB(128), load_end);
> >
> > +        if ( load_end - bank_start < info->image.len )
> > +            return INVALID_PADDR;
> > +
> >          load_addr =3D load_end - info->image.len;
> >          /* Align to 2MB */
> >          load_addr &=3D ~(MB(2) - 1);
> > @@ -164,9 +167,55 @@ static void __init place_dtb_initrd(struct kernel_=
info *info,
> >  static paddr_t __init kernel_zimage_place(struct kernel_info *info)
> >  {
> >      const struct membanks *mem =3D kernel_info_get_mem(info);
> > +    paddr_t load_addr;
> > +
> > +    load_addr =3D kernel_zimage_place_in_bank(info, mem->bank[0].start=
,
> > +                                            mem->bank[0].size);
> > +    if ( load_addr =3D=3D INVALID_PADDR )
> > +        panic("Unable to find suitable location for the kernel\n");
> > +
> > +    return load_addr;
> > +}
> > +
> > +bool __init arch_hwdom_first_bank_can_fit_modules(const struct kernel_=
info *info,
> > +                                                  paddr_t bank_start,
> > +                                                  paddr_t bank_size)
> > +{
> > +    const struct boot_module *initrd =3D info->bd.initrd;
> > +    /*
> > +     * place_dtb_initrd() rounds the DTB and initrd placement to 2MB b=
oundaries;
> > +     * use the same granularity when checking whether the first bank c=
an hold
> > +     * them.
> > +     */
> > +    const paddr_t initrd_len =3D ROUNDUP(initrd ? initrd->size : 0, MB=
(2));
> > +    /*
> > +     * The hardware domain FDT has not been generated yet. Use the all=
ocation
> > +     * size as a conservative upper bound for the final DTB size.
> > +     */
> > +    const paddr_t dtb_len =3D ROUNDUP(hwdom_get_fdt_alloc_size(), MB(2=
));
> > +    const paddr_t rambase =3D bank_start;
> > +    const paddr_t ramsize =3D bank_size;
> > +    const paddr_t dtb_initrd_size =3D initrd_len + dtb_len;
> > +    const paddr_t ramend =3D rambase + ramsize;
> > +    paddr_t kernbase;
> > +    paddr_t kernend;
> > +    paddr_t dtb_base;
> > +
> > +    kernbase =3D kernel_zimage_place_in_bank(info, bank_start, bank_si=
ze);
> > +    if ( kernbase =3D=3D INVALID_PADDR )
> > +        return false;
> > +
> > +    kernend =3D kernbase + info->image.len;
> > +
> > +    if ( (kernbase < rambase) || (kernend > ramend) )
> > +        return false;
> > +
> > +    if ( !first_bank_can_fit_modules(ramsize, kernbase, kernend,
> > +                                     dtb_initrd_size) )
> > +        return false;
> >
> > -    return kernel_zimage_place_in_bank(info, mem->bank[0].start,
> > -                                       mem->bank[0].size);
> > +    return find_dtb_initrd_placement(rambase, ramend, kernbase, kernen=
d,
> > +                                     dtb_initrd_size, &dtb_base);
> >  }
> >
> >  static void __init kernel_zimage_load(struct kernel_info *info)
> > diff --git a/xen/common/device-tree/domain-build.c b/xen/common/device-=
tree/domain-build.c
> > index f3ba496f1e..30a59abfa7 100644
> > --- a/xen/common/device-tree/domain-build.c
> > +++ b/xen/common/device-tree/domain-build.c
> > @@ -299,20 +299,31 @@ static bool __init allocate_hwdom_memory(struct k=
ernel_info *kinfo)
> >
> >      for ( i =3D 0; (kinfo->unassigned_mem > 0) && (i < nr_banks); i++ =
)
> >      {
> > -        paddr_t bank_size;
> > +        const paddr_t bank_start =3D hwdom_free_mem->bank[i].start;
> > +        paddr_t bank_size =3D hwdom_free_mem->bank[i].size;
> > +
> > +        /*
> > +         * Check the size that would actually be assigned, not just th=
e size
> > +         * of the host region.
> > +         */
> > +        bank_size =3D min(bank_size, kinfo->unassigned_mem);
> >
> >          /*
> >           * The first bank must be large enough for place_dtb_initrd() =
to
> >           * fit the kernel, DTB and initrd.  Skip small regions to avoi=
d
> >           * ending up with a tiny first bank.
> >           */
> > -        if ( !mem->nr_banks && (hwdom_free_mem->bank[i].size < min_ban=
k_size) )
> > -            continue;
> > +        if ( !mem->nr_banks )
> > +        {
> > +            if ( bank_size < min_bank_size )
> > +                continue;
> > +
> > +            if ( !arch_hwdom_first_bank_can_fit_modules(kinfo, bank_st=
art,
> > +                                                        bank_size) )
> > +                continue;
> > +        }
> >
> > -        bank_size =3D MIN(hwdom_free_mem->bank[i].size, kinfo->unassig=
ned_mem);
> > -        if ( !allocate_bank_memory(kinfo,
> > -                                   gaddr_to_gfn(hwdom_free_mem->bank[i=
].start),
> > -                                   bank_size) )
> > +        if ( !allocate_bank_memory(kinfo, gaddr_to_gfn(bank_start), ba=
nk_size) )
> >          {
> >              xfree(hwdom_free_mem);
> >              return false;
> > diff --git a/xen/include/xen/fdt-kernel.h b/xen/include/xen/fdt-kernel.=
h
> > index 00c37be101..61721d22a2 100644
> > --- a/xen/include/xen/fdt-kernel.h
> > +++ b/xen/include/xen/fdt-kernel.h
> > @@ -93,6 +93,20 @@ kernel_info_get_mem_const(const struct kernel_info *=
kinfo)
> >      return container_of(&kinfo->mem.common, const struct membanks, com=
mon);
> >  }
> >
> > +/*
> > + * Return whether the proposed hardware-domain first RAM bank can cont=
ain the
> To `contain a placement` reads weird. I think `satisfy` would be a better=
 word
> that clearly denotes the purpose i.e. check if the bank satsifies the pla=
cement
> requirements (we can also add `requirements` word to the end of the comme=
nt).

I agree that "satisfy the placement requirements" reads better here.

>
> Can be done on commit (it looks like there are some ECLAIR issues, so we =
need to
> wait a bit to merge the series).

I have retriggered the ECLAIR tests and the pipeline is green now:

https://gitlab.com/xen-project/people/mykola_kvach/xen/-/pipelines/25838764=
33

I am OK with this comment being adjusted on commit.

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 11:48:58 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 11:48:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332613.1595082 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWuwm-0000EZ-In; Tue, 09 Jun 2026 11:48:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332613.1595082; Tue, 09 Jun 2026 11:48:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWuwm-0000ES-FH; Tue, 09 Jun 2026 11:48:44 +0000
Received: by outflank-mailman (input) for mailman id 1332613;
 Tue, 09 Jun 2026 11:48:43 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sumit.saxena@broadcom.com>) id 1wWuwk-0000EC-QQ
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 11:48:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWuwj-005r0B-N1
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 13:48:41 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sumit.saxena@broadcom.com>)
 id 6a27fd96-2eae-0a2a0a5409dd-0a2a450389e2-4
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 13:48:41 +0200
Received: from [209.85.221.226] (helo=mail-vk1-f226.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sumit.saxena@broadcom.com>)
 id 6a27fd97-672d-0a2a45030019-d155dde2f0ef-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 13:48:40 +0200
Received: by mail-vk1-f226.google.com with SMTP id
 71dfb90a1353d-59e2b96e3d3so3492579e0c.2
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 04:48:40 -0700 (PDT)
Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com
 (address-144-49-247-117.dlp.protect.broadcom.com. [144.49.247.117])
 by smtp-relay.gmail.com with ESMTPS id
 71dfb90a1353d-5a97525966fsm1219846e0c.5.2026.06.09.04.48.38
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Tue, 09 Jun 2026 04:48:39 -0700 (PDT)
Received: by mail-pj1-f71.google.com with SMTP id
 98e67ed59e1d1-36bba9b849dso5217874a91.1
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 04:48:38 -0700 (PDT)
Received: from sumit_ws.dhcp.broadcom.net ([192.19.234.250])
 by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-36f6bf903fasm18898075a91.2.2026.06.09.04.48.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Jun 2026 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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=broadcom.com header.i="@broadcom.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781005719; x=1781610519;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:dkim-signature:x-gm-gg:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=2GtwyftxDgDxHf00TNmN+7bsJSzsnvSjUZVIyovfOvI=;
        b=scxU0HJTt8InL5fiMbc+vjmtFx0cseH9UQh0tzus3+AidvNs17HM1pHYl/6FpMcW+h
         1Cr5d9PkbEFtRBx/lnUIXpvIALWstktjmJ9h51JVdY1O6dqt2eUufC5M320KjUeARyJm
         EiJqYLe1vFhTv1c2gHi2C+kjTvtNwyZQiv4Psutd0uplEKUhW1OzvjYwJIBChlYfpplp
         xdnwrf0X46JRZUiG+ZrPpajWForyNfQOJI3UQb73h8ZIX7cCWr2TD4Sk214uvope9NvW
         yw8IabNT9/ccBvih7Z8bBBhVYFrL20SoHwKZXIkJyoFeEIPkjjVkwApWEKKxQAKHmRRB
         1/9Q==
X-Forwarded-Encrypted: i=1; AFNElJ+vn0pcZLvmdFUDzwFWgpW8yMbdtP2eDWYFmeFpIAMDPo4fqudAqRxgBa5MAOopuuVao5lgCGMuNnc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxJH27BR+zhkAS5iV+P51G1Rg9OGgJNIDnWE5AsP/xADZdJu6Yl
	mSLhUvTMJIj/1mK85AtzV02cer1WvZjuCBMPJhfeaVEHzPmhjyrBxcBERd1+Ql8MnooAqvWZLpq
	Lo/xVYKmUx7prHgmN/0kEyoi1DxFNe7z/YRB+GCXX517al2dPf4XGzDDHsPTEXIHs1/dNKD5LGS
	ncLkulfZBnl4z1Su9tJLtC/QjY6Bmb1buRWSLOJragdyLfglEOkmhvibmv6lmTwNv+y1uKTRsEp
	n/ntA6vJOoNPpby0D8aqw==
X-Gm-Gg: Acq92OEtH0M4WD/PqE39HmdbsJ/19wCyDKw6YtGCpevX6EuFcaDFNIt+WgXFDWF7yub
	bvVbpbGIXTB4szDZq+hM9N2AvIiIgKh0ogU1bxKY/7pWrj1WNswI6tyTvocZcwDsGk5eJ7kYkts
	LWPoDw5qVhabznGxHraT6Am/F1WWHZUJkqGIQ9reN16lZvUcXIbu1Y9QzE5mDGAVmPEptSgHTgR
	5npWurBD1GViDGti/L3X8WIFa0e+o7eJK33OU1LfikS0Ddyi0MowOV4HenuaQ3wQOvSz5WvX/xa
	2GfajycteYEfdg6g7Nq+5X2rOHdqNp7vpWzxkvHzNS/2PnHaJ0Qi01aEoyV+seB8I5i+7ZR2t5e
	P1Ux6ehKSSPghPeVYbXXJVW5c2nuIG1slHWnuUTsfFlGX12nlX3nkcSaxqAzfaSt5A9W+R8xjHe
	CVc8sHjBhluGGzBb8pFSt1Ee8ndF55h7hgPgfRmUvEuHNqZZF3QTHfVc5gThGN8hRajVh22w==
X-Received: by 2002:a05:6122:1796:b0:5a0:c38e:6199 with SMTP id 71dfb90a1353d-5ac4ca5ce4amr10023048e0c.1.1781005719166;
        Tue, 09 Jun 2026 04:48:39 -0700 (PDT)
X-Relaying-Domain: broadcom.com
X-CFilter-Loop: Reflected
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=broadcom.com; s=google; t=1781005718; x=1781610518; 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=2GtwyftxDgDxHf00TNmN+7bsJSzsnvSjUZVIyovfOvI=;
        b=bGsmDRvDpIPTB9LMiD0Ca0LwW3bnQa944gTMq2P/IklkcsgQ5/DMUvolmQHlvP5LaW
         u6H2kGWujZsRUJE1ZHPmtarbBDn6dMTc/1C81VfpnG9R0hrLcNSkZWi7YFNzKm+NBk6e
         aP72hKgVeAMQWd+p+AirlrZiwC7AQc0fMP2lE=
X-Forwarded-Encrypted: i=1; AFNElJ+TPMFQ5uMQMPEkegeYp/qOpgytLlpMwsL5ldC7xDynl5plhr+JoA8lXx7sgh3cEptkyrmJYjvfysI=@lists.xenproject.org
X-Received: by 2002:a17:90b:5783:b0:36a:4074:9aa6 with SMTP id 98e67ed59e1d1-370ee82fcb9mr19842169a91.6.1781005717456;
        Tue, 09 Jun 2026 04:48:37 -0700 (PDT)
X-Received: by 2002:a17:90b:5783:b0:36a:4074:9aa6 with SMTP id 98e67ed59e1d1-370ee82fcb9mr19842127a91.6.1781005716916;
        Tue, 09 Jun 2026 04:48:36 -0700 (PDT)
From: Sumit Saxena <sumit.saxena@broadcom.com>
To: "Martin K . Petersen" <martin.petersen@oracle.com>,
	Jens Axboe <axboe@kernel.dk>
Cc: "James E . J . Bottomley" <James.Bottomley@HansenPartnership.com>,
	linux-scsi@vger.kernel.org,
	linux-block@vger.kernel.org,
	Adam Radford <aradford@gmail.com>,
	Khalid Aziz <khalid@gonehiking.org>,
	Adaptec OEM Raid Solutions <aacraid@microsemi.com>,
	Matthew Wilcox <willy@infradead.org>,
	Hannes Reinecke <hare@suse.com>,
	"Juergen E . Fischer" <fischer@norbit.de>,
	Russell King <linux@armlinux.org.uk>,
	linux-arm-kernel@lists.infradead.org,
	Finn Thain <fthain@linux-m68k.org>,
	Michael Schmitz <schmitzmic@gmail.com>,
	Anil Gurumurthy <anil.gurumurthy@qlogic.com>,
	Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>,
	Oliver Neukum <oliver@neukum.org>,
	Ali Akcaagac <aliakc@web.de>,
	Jamie Lenehan <lenehan@twibble.org>,
	Ram Vegesna <ram.vegesna@broadcom.com>,
	target-devel@vger.kernel.org,
	Bradley Grove <linuxdrivers@attotech.com>,
	Satish Kharat <satishkh@cisco.com>,
	Sesidhar Baddela <sebaddel@cisco.com>,
	Karan Tilak Kumar <kartilak@cisco.com>,
	Yihang Li <liyihang9@h-partners.com>,
	Don Brace <don.brace@microchip.com>,
	storagedev@microchip.com,
	HighPoint Linux Team <linux@highpoint-tech.com>,
	Tyrel Datwyler <tyreld@linux.ibm.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	linuxppc-dev@lists.ozlabs.org,
	Brian King <brking@us.ibm.com>,
	Lee Duncan <lduncan@suse.com>,
	Chris Leech <cleech@redhat.com>,
	Mike Christie <michael.christie@oracle.com>,
	open-iscsi@googlegroups.com,
	Justin Tee <justin.tee@broadcom.com>,
	Paul Ely <paul.ely@broadcom.com>,
	Kashyap Desai <kashyap.desai@broadcom.com>,
	Shivasharan S <shivasharan.srikanteshwara@broadcom.com>,
	Chandrakanth Patil <chandrakanth.patil@broadcom.com>,
	megaraidlinux.pdl@broadcom.com,
	Sathya Prakash Veerichetty <sathya.prakash@broadcom.com>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	mpi3mr-linuxdrv.pdl@broadcom.com,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Ranjan Kumar <ranjan.kumar@broadcom.com>,
	MPT-FusionLinux.pdl@broadcom.com,
	Daniel Palmer <daniel@thingy.jp>,
	GOTO Masanori <gotom@debian.or.jp>,
	YOKOTA Hiroshi <yokota@netlab.is.tsukuba.ac.jp>,
	Jack Wang <jinpu.wang@cloud.ionos.com>,
	Geoff Levand <geoff@infradead.org>,
	Michael Reed <mdr@sgi.com>,
	Nilesh Javali <njavali@marvell.com>,
	GR-QLogic-Storage-Upstream@marvell.com,
	Narsimhulu Musini <nmusini@cisco.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Long Li <longli@microsoft.com>,
	linux-hyperv@vger.kernel.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Eugenio Perez <eperezma@redhat.com>,
	virtualization@lists.linux.dev,
	Vishal Bhakta <vishal.bhakta@broadcom.com>,
	bcm-kernel-feedback-list@broadcom.com,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	Sumit Saxena <sumit.saxena@broadcom.com>
Subject: [PATCH v3 0/4] scsi/block: NUMA-local scan allocations, shared-tag path cleanup, and SCSI I/O counters
Date: Tue,  9 Jun 2026 17:47:59 +0530
Message-ID: <20260609121806.2121755-1-sumit.saxena@broadcom.com>
X-Mailer: git-send-email 2.43.7
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e
X-purgate-ID: tlsNG-33051d/1781005720-38D73938-91394734/0/0
X-purgate-type: clean
X-purgate-size: 9012

This series contains three performance improvements targeting the SCSI
and block layers on multi-socket NUMA and heavily loaded SMP systems.

On multi-socket NUMA systems we observed extreme I/O throughput variance
of 50-60% between runs.  This series identifies and fixes two root causes:
cross-node memory accesses due to NUMA-unaware allocations in the scan
path, and false sharing between hot atomic counters in struct request_queue
and struct scsi_device.

Performance notes:

Tested on a dual-socket NUMA system (2x 32-core, 256 GB/socket) with
an mpi3mr HBA, running fio (random read, 4K, QD 64, 16 jobs, 60 s,
direct I/O).  IOPS figures are in KIOPS (thousands of IOPS):

  Configuration                    Avg KIOPS   Range (KIOPS)   Spread
  Baseline                         6,255       4,200 - 6,700   ~37%
  Baseline + all patches           7,350       7,000 - 7,700    ~10%

Key findings:

These patches combinedly reduces the observed 50-60% run-to-run variance
to under 10%, significantly improving workload predictability and
improves IOPs by 16-18%.

No functional regressions observed.

Changes in v3
-------------
-Handled feedback from Bart Van Assche and John Garry.
-Added a patch for shost local NUMA allocation.
-Converted ioerr_cnt and iotmo_cnt atomic counters into per-cpu counters. 

Changes in v2
--------------

  Patch 1 â€” Same functional goal as v1 patch 1: NUMA-local scsi_device /
  scsi_target allocations in the scan path so steady-state I/O does not
  habitually touch remote memory when the host has a fixed DMA/NUMA
  affinity.

  Patch 2 â€” Replaces v1â€™s ____cacheline_aligned_in_smp on
  nr_active_requests_shared_tags with removal of the shared-tag fairness
  throttling machinery (including hctx_may_queue(), blk_mq_hw_ctx.nr_active,
  and request_queue.nr_active_requests_shared_tags and their updates).
  This follows the earlier standalone proposal by Bart Van Assche [1],
  rebased for the current tree; it removes the high-frequency atomic
  accounting that motivated the v1 false-sharing workaround and, in our
  testing, improves IOPS on the order of roughly 16â€“18% for the shared-tag
  workload exercised.

  Patch 3 â€” Replaces v1â€™s cache-line padding of iodone_cnt with
  percpu_counter for both iorequest_cnt and iodone_cnt, so submission and
  completion paths mostly update CPU-local state instead of bouncing a
  single cache line, without inflating struct scsi_device for SMP
  alignment.

Merge / review hints
--------------------

Patch 3 touches the block layer and should have block maintainer review;
rest of patches are SCSI-oriented.  Please route or Ack as your subsystem
workflow requires.

Bart Van Assche (1):
  block: drop shared-tag fairness throttling

James Rizzo (1):
  scsi: scan: allocate sdev and starget on the NUMA node of the host
    adapter

Sumit Saxena (2):
  scsi: host: allocate struct Scsi_Host on the NUMA node of the host
    adapter
  scsi: use percpu counters for iostat counters in struct scsi_device

 block/blk-core.c                          |   2 -
 block/blk-mq-debugfs.c                    |  22 ++++-
 block/blk-mq-tag.c                        |   4 -
 block/blk-mq.c                            |  17 +---
 block/blk-mq.h                            | 100 ----------------------
 drivers/scsi/3w-9xxx.c                    |   2 +-
 drivers/scsi/3w-sas.c                     |   2 +-
 drivers/scsi/3w-xxxx.c                    |   2 +-
 drivers/scsi/53c700.c                     |   2 +-
 drivers/scsi/BusLogic.c                   |   2 +-
 drivers/scsi/a100u2w.c                    |   2 +-
 drivers/scsi/a2091.c                      |   2 +-
 drivers/scsi/a3000.c                      |   2 +-
 drivers/scsi/aacraid/linit.c              |   2 +-
 drivers/scsi/advansys.c                   |   6 +-
 drivers/scsi/aha152x.c                    |   2 +-
 drivers/scsi/aha1542.c                    |   2 +-
 drivers/scsi/aha1740.c                    |   2 +-
 drivers/scsi/aic7xxx/aic79xx_osm.c        |   2 +-
 drivers/scsi/aic7xxx/aic7xxx_osm.c        |   2 +-
 drivers/scsi/aic94xx/aic94xx_init.c       |   2 +-
 drivers/scsi/am53c974.c                   |   2 +-
 drivers/scsi/arcmsr/arcmsr_hba.c          |   3 +-
 drivers/scsi/arm/acornscsi.c              |   2 +-
 drivers/scsi/arm/arxescsi.c               |   2 +-
 drivers/scsi/arm/cumana_1.c               |   2 +-
 drivers/scsi/arm/cumana_2.c               |   2 +-
 drivers/scsi/arm/eesox.c                  |   2 +-
 drivers/scsi/arm/oak.c                    |   2 +-
 drivers/scsi/arm/powertec.c               |   2 +-
 drivers/scsi/atari_scsi.c                 |   2 +-
 drivers/scsi/atp870u.c                    |   2 +-
 drivers/scsi/bfa/bfad_im.c                |   2 +-
 drivers/scsi/csiostor/csio_init.c         |   4 +-
 drivers/scsi/dc395x.c                     |   2 +-
 drivers/scsi/dmx3191d.c                   |   2 +-
 drivers/scsi/elx/efct/efct_xport.c        |   4 +-
 drivers/scsi/esas2r/esas2r_main.c         |   2 +-
 drivers/scsi/fdomain.c                    |   2 +-
 drivers/scsi/fnic/fnic_main.c             |   2 +-
 drivers/scsi/g_NCR5380.c                  |   2 +-
 drivers/scsi/gvp11.c                      |   2 +-
 drivers/scsi/hisi_sas/hisi_sas_main.c     |   2 +-
 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c    |   2 +-
 drivers/scsi/hosts.c                      |   6 +-
 drivers/scsi/hpsa.c                       |   2 +-
 drivers/scsi/hptiop.c                     |   2 +-
 drivers/scsi/ibmvscsi/ibmvfc.c            |   2 +-
 drivers/scsi/ibmvscsi/ibmvscsi.c          |   2 +-
 drivers/scsi/imm.c                        |   2 +-
 drivers/scsi/initio.c                     |   2 +-
 drivers/scsi/ipr.c                        |   2 +-
 drivers/scsi/ips.c                        |   2 +-
 drivers/scsi/isci/init.c                  |   2 +-
 drivers/scsi/jazz_esp.c                   |   2 +-
 drivers/scsi/libiscsi.c                   |   2 +-
 drivers/scsi/lpfc/lpfc_init.c             |   2 +-
 drivers/scsi/mac53c94.c                   |   2 +-
 drivers/scsi/mac_esp.c                    |   2 +-
 drivers/scsi/mac_scsi.c                   |   2 +-
 drivers/scsi/megaraid.c                   |   2 +-
 drivers/scsi/megaraid/megaraid_mbox.c     |   2 +-
 drivers/scsi/megaraid/megaraid_sas_base.c |   2 +-
 drivers/scsi/mesh.c                       |   2 +-
 drivers/scsi/mpi3mr/mpi3mr_os.c           |   2 +-
 drivers/scsi/mpt3sas/mpt3sas_scsih.c      |   4 +-
 drivers/scsi/mvme147.c                    |   2 +-
 drivers/scsi/mvsas/mv_init.c              |   2 +-
 drivers/scsi/mvumi.c                      |   2 +-
 drivers/scsi/myrb.c                       |   2 +-
 drivers/scsi/myrs.c                       |   2 +-
 drivers/scsi/ncr53c8xx.c                  |   2 +-
 drivers/scsi/nsp32.c                      |   2 +-
 drivers/scsi/pcmcia/nsp_cs.c              |   2 +-
 drivers/scsi/pcmcia/qlogic_stub.c         |   2 +-
 drivers/scsi/pcmcia/sym53c500_cs.c        |   2 +-
 drivers/scsi/pm8001/pm8001_init.c         |   2 +-
 drivers/scsi/pmcraid.c                    |   2 +-
 drivers/scsi/ppa.c                        |   2 +-
 drivers/scsi/ps3rom.c                     |   2 +-
 drivers/scsi/qla1280.c                    |   2 +-
 drivers/scsi/qla2xxx/qla_mid.c            |   2 +-
 drivers/scsi/qla2xxx/qla_os.c             |   2 +-
 drivers/scsi/qlogicfas.c                  |   2 +-
 drivers/scsi/qlogicpti.c                  |   2 +-
 drivers/scsi/scsi_debug.c                 |   2 +-
 drivers/scsi/scsi_error.c                 |   4 +-
 drivers/scsi/scsi_lib.c                   |  10 +--
 drivers/scsi/scsi_scan.c                  |  15 +++-
 drivers/scsi/scsi_sysfs.c                 |  23 +++--
 drivers/scsi/sd.c                         |   2 +-
 drivers/scsi/sgiwd93.c                    |   2 +-
 drivers/scsi/smartpqi/smartpqi_init.c     |   2 +-
 drivers/scsi/snic/snic_main.c             |   2 +-
 drivers/scsi/stex.c                       |   2 +-
 drivers/scsi/storvsc_drv.c                |   2 +-
 drivers/scsi/sun3_scsi.c                  |   2 +-
 drivers/scsi/sun3x_esp.c                  |   2 +-
 drivers/scsi/sun_esp.c                    |   2 +-
 drivers/scsi/sym53c8xx_2/sym_glue.c       |   2 +-
 drivers/scsi/virtio_scsi.c                |   2 +-
 drivers/scsi/vmw_pvscsi.c                 |   2 +-
 drivers/scsi/wd719x.c                     |   2 +-
 drivers/scsi/xen-scsifront.c              |   2 +-
 drivers/scsi/zorro_esp.c                  |   2 +-
 include/linux/blk-mq.h                    |   6 --
 include/linux/blkdev.h                    |   2 -
 include/scsi/libfc.h                      |   2 +-
 include/scsi/scsi_device.h                |   9 +-
 include/scsi/scsi_host.h                  |   3 +-
 110 files changed, 168 insertions(+), 258 deletions(-)

-- 
2.43.7



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 11:49:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 11:49:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332615.1595091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWux9-0000a2-Pt; Tue, 09 Jun 2026 11:49:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332615.1595091; Tue, 09 Jun 2026 11:49: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 1wWux9-0000Zv-N3; Tue, 09 Jun 2026 11:49:07 +0000
Received: by outflank-mailman (input) for mailman id 1332615;
 Tue, 09 Jun 2026 11:49:06 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sumit.saxena@broadcom.com>) id 1wWux8-0000YT-Ol
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 11:49:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWux6-004AxN-CI
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 13:49:04 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sumit.saxena@broadcom.com>)
 id 6a27fda3-e002-0a2a0a5209dd-0a2a45029486-30
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 13:49:03 +0200
Received: from [209.85.167.225] (helo=mail-oi1-f225.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sumit.saxena@broadcom.com>)
 id 6a27fdae-af86-0a2a45020019-d155a7e1d5c8-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 13:49:03 +0200
Received: by mail-oi1-f225.google.com with SMTP id
 5614622812f47-4863eae453eso2416245b6e.1
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 04:49:03 -0700 (PDT)
Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com
 (address-144-49-247-117.dlp.protect.broadcom.com. [144.49.247.117])
 by smtp-relay.gmail.com with ESMTPS id
 586e51a60fabf-440d7b9324fsm1526980fac.1.2026.06.09.04.49.00
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Tue, 09 Jun 2026 04:49:02 -0700 (PDT)
Received: by mail-pj1-f70.google.com with SMTP id
 98e67ed59e1d1-36bc54005a7so7346491a91.0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 04:49:00 -0700 (PDT)
Received: from sumit_ws.dhcp.broadcom.net ([192.19.234.250])
 by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-36f6bf903fasm18898075a91.2.2026.06.09.04.48.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Jun 2026 04:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=broadcom.com header.i="@broadcom.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781005742; x=1781610542;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:dkim-signature:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Cij0f7XK3gPTc98cKs5ll/gp5Fj5YlFQkChYuGOVaaM=;
        b=dqMlK5EOEFiXHKoTjWbPS8mjQdfymklRSh13o5W/tkI6oK3KaRVHY7lANMD6eucpqk
         +HRxildKvHU2phtmwFjLsjgInJaZ2hHN8o4ZPBghDCVFZ6vtRUsgrJIHNafIS26aa7Oq
         QxbCeCmqJCBu1k9g/DW1nl6kWrLZ8OB2s80MCSAWgrKBm05rBL1mgQ2TXsl6ie8EUtCe
         OTO3cEVRbkueqZMXpZCZEN5CcSowS7EhqeHsa110nXNusEiGEFx/uQGcmlm+Nv8uuCY+
         p0IaCz2MlYrgwilB2aOlb/0B5VyGG7DyvVbGs2rODLyMr8Q+PxwaRAtydPROh+TQ0er8
         btbw==
X-Forwarded-Encrypted: i=1; AFNElJ8A4uQK33AR5z/m09ziOrWs1loQ9r3uQyTizCzZq6VX/uv36WnfoiTm5y27T77J5OBwIge/D5uAoI0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzqtylW5O22vpzZL/6LtfNEZe+hbWbeAE1qmDHbJXxZA1guZjB8
	mI/lEdDkTM7FdnJASSB49QgYAysQZpFBNJLho9thYuMitQ7NIZttuuqDL13VNQ7lTkpvxYTZyLB
	vwHtrTEcxJhtwptpcDvgxpssaXtB59JhNC/r5JAArGezBDxRtPsMsINaJlYNwCLQO6E+mQo0bsM
	q9H9i9cgqKo30mHe9xtDWXBB6SYUepMiJ212zf/Wt+KnZs+CRLThxSHMdyT9PCL0ZuWInBI+6Fh
	cnI6N1BwlJNqPaGwsNJnQ==
X-Gm-Gg: Acq92OHo70UZWzYryVjTozm/XOum+5ikiLIcwXBtFrgDwukFex9fwT2JF9oNPlnzQWG
	dHA5vqYttLEIKFhILu3UwQkL+E6oCzk7ZQ7iBDskstzoPn5DfOobGW+GkqKJD4bArPwq4sInSOy
	9z5PoTkRMWOIzIlRq6r+Wf1S6bsdI5fdHmK/Gud5KRWHiSHJAxv7wjjbLw0fHx9E19KeKmE+QMg
	qYg4XI9QkvIIGn50v0zc6+UqQ/MlzB0yvYUXMN9v2DAC3aO2dcB1sfCT4ag3fJNjsMUFtO17FI3
	9prS+8c9ByQxkpJ8t5OtrP6LZKBNTAbGj6U9ljYTH6kpg6HUFERSDFySzsW4LRVi9EcYhgbm7st
	DJvG0WMa/4IrDJ88vIBFnBnffuGw2kA2vL0IWyo7yOq9LiIZpnSvrOhe73x3MqPWyt0b+0aqhmx
	Rpsz/zl4iRBqPd/MpptL88gR6278uFKWLgrJP+hK7YGZT8sQaydpUV2Twe8zfArxlIOnslSw==
X-Received: by 2002:a05:6870:d181:b0:41c:20cd:c0b5 with SMTP id 586e51a60fabf-4413d25803fmr9893260fac.6.1781005742058;
        Tue, 09 Jun 2026 04:49:02 -0700 (PDT)
X-Relaying-Domain: broadcom.com
X-CFilter-Loop: Reflected
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=broadcom.com; s=google; t=1781005739; x=1781610539; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Cij0f7XK3gPTc98cKs5ll/gp5Fj5YlFQkChYuGOVaaM=;
        b=JyLFWVAGXVd9wkrcwkq5Nh0cRx2Ve1JMb4H8a/KkTXez/1W7kmLkyg2dRq/B/kg7k7
         FVTW0uHQs8V38lY3TBZJv4x74MsHOZgtzTc7VO7c7mtMWO8jOBTiXTP/MhnhYE1bp1aZ
         MJn1xMVmpYBmxbrQ9Gdz0M4KxpKsT5BDfahRc=
X-Forwarded-Encrypted: i=1; AFNElJ97nPnlR8ayNHanSpgYQ9ingwEEdPPfMhF6DolVBNxbV/ObWOIBDTsTKxJrXr2okHNVd9xept+LCkM=@lists.xenproject.org
X-Received: by 2002:a17:90b:5787:b0:36b:8824:d7cc with SMTP id 98e67ed59e1d1-370f057a115mr22377741a91.20.1781005739347;
        Tue, 09 Jun 2026 04:48:59 -0700 (PDT)
X-Received: by 2002:a17:90b:5787:b0:36b:8824:d7cc with SMTP id 98e67ed59e1d1-370f057a115mr22377714a91.20.1781005738858;
        Tue, 09 Jun 2026 04:48:58 -0700 (PDT)
From: Sumit Saxena <sumit.saxena@broadcom.com>
To: "Martin K . Petersen" <martin.petersen@oracle.com>,
	Jens Axboe <axboe@kernel.dk>
Cc: "James E . J . Bottomley" <James.Bottomley@HansenPartnership.com>,
	linux-scsi@vger.kernel.org,
	linux-block@vger.kernel.org,
	Adam Radford <aradford@gmail.com>,
	Khalid Aziz <khalid@gonehiking.org>,
	Adaptec OEM Raid Solutions <aacraid@microsemi.com>,
	Matthew Wilcox <willy@infradead.org>,
	Hannes Reinecke <hare@suse.com>,
	"Juergen E . Fischer" <fischer@norbit.de>,
	Russell King <linux@armlinux.org.uk>,
	linux-arm-kernel@lists.infradead.org,
	Finn Thain <fthain@linux-m68k.org>,
	Michael Schmitz <schmitzmic@gmail.com>,
	Anil Gurumurthy <anil.gurumurthy@qlogic.com>,
	Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>,
	Oliver Neukum <oliver@neukum.org>,
	Ali Akcaagac <aliakc@web.de>,
	Jamie Lenehan <lenehan@twibble.org>,
	Ram Vegesna <ram.vegesna@broadcom.com>,
	target-devel@vger.kernel.org,
	Bradley Grove <linuxdrivers@attotech.com>,
	Satish Kharat <satishkh@cisco.com>,
	Sesidhar Baddela <sebaddel@cisco.com>,
	Karan Tilak Kumar <kartilak@cisco.com>,
	Yihang Li <liyihang9@h-partners.com>,
	Don Brace <don.brace@microchip.com>,
	storagedev@microchip.com,
	HighPoint Linux Team <linux@highpoint-tech.com>,
	Tyrel Datwyler <tyreld@linux.ibm.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	linuxppc-dev@lists.ozlabs.org,
	Brian King <brking@us.ibm.com>,
	Lee Duncan <lduncan@suse.com>,
	Chris Leech <cleech@redhat.com>,
	Mike Christie <michael.christie@oracle.com>,
	open-iscsi@googlegroups.com,
	Justin Tee <justin.tee@broadcom.com>,
	Paul Ely <paul.ely@broadcom.com>,
	Kashyap Desai <kashyap.desai@broadcom.com>,
	Shivasharan S <shivasharan.srikanteshwara@broadcom.com>,
	Chandrakanth Patil <chandrakanth.patil@broadcom.com>,
	megaraidlinux.pdl@broadcom.com,
	Sathya Prakash Veerichetty <sathya.prakash@broadcom.com>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	mpi3mr-linuxdrv.pdl@broadcom.com,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Ranjan Kumar <ranjan.kumar@broadcom.com>,
	MPT-FusionLinux.pdl@broadcom.com,
	Daniel Palmer <daniel@thingy.jp>,
	GOTO Masanori <gotom@debian.or.jp>,
	YOKOTA Hiroshi <yokota@netlab.is.tsukuba.ac.jp>,
	Jack Wang <jinpu.wang@cloud.ionos.com>,
	Geoff Levand <geoff@infradead.org>,
	Michael Reed <mdr@sgi.com>,
	Nilesh Javali <njavali@marvell.com>,
	GR-QLogic-Storage-Upstream@marvell.com,
	Narsimhulu Musini <nmusini@cisco.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Long Li <longli@microsoft.com>,
	linux-hyperv@vger.kernel.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Eugenio Perez <eperezma@redhat.com>,
	virtualization@lists.linux.dev,
	Vishal Bhakta <vishal.bhakta@broadcom.com>,
	bcm-kernel-feedback-list@broadcom.com,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	James Rizzo <james.rizzo@broadcom.com>,
	Sumit Saxena <sumit.saxena@broadcom.com>
Subject: [PATCH v3 1/4] scsi: scan: allocate sdev and starget on the NUMA node of the host adapter
Date: Tue,  9 Jun 2026 17:48:00 +0530
Message-ID: <20260609121806.2121755-2-sumit.saxena@broadcom.com>
X-Mailer: git-send-email 2.43.7
In-Reply-To: <20260609121806.2121755-1-sumit.saxena@broadcom.com>
References: <20260609121806.2121755-1-sumit.saxena@broadcom.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e
X-purgate-ID: tlsNG-720697/1781005743-83F66161-7B02C711/0/0
X-purgate-type: clean
X-purgate-size: 1893

From: James Rizzo <james.rizzo@broadcom.com>

When a host adapter is attached to a specific NUMA node, allocating
scsi_device and scsi_target via kzalloc() may place them on a remote
node.  All hot-path I/O accesses to these structures then cross the NUMA
interconnect, adding latency and consuming inter-node bandwidth.

Use kzalloc_node() with dev_to_node(shost->dma_dev) so allocations land
on the same node as the HBA, reducing cross-node traffic and improving
I/O performance on NUMA systems.

Signed-off-by: James Rizzo <james.rizzo@broadcom.com>
Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>
---
 drivers/scsi/scsi_scan.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
index e27da038603a..121a14d5fdb8 100644
--- a/drivers/scsi/scsi_scan.c
+++ b/drivers/scsi/scsi_scan.c
@@ -34,6 +34,7 @@
 #include <linux/kthread.h>
 #include <linux/spinlock.h>
 #include <linux/async.h>
+#include <linux/topology.h>
 #include <linux/slab.h>
 #include <linux/unaligned.h>
 
@@ -287,8 +288,8 @@ static struct scsi_device *scsi_alloc_sdev(struct scsi_target *starget,
 	struct Scsi_Host *shost = dev_to_shost(starget->dev.parent);
 	struct queue_limits lim;
 
-	sdev = kzalloc(sizeof(*sdev) + shost->transportt->device_size,
-		       GFP_KERNEL);
+	sdev = kzalloc_node(sizeof(*sdev) + shost->transportt->device_size,
+		       GFP_KERNEL, dev_to_node(shost->dma_dev));
 	if (!sdev)
 		goto out;
 
@@ -502,7 +503,7 @@ static struct scsi_target *scsi_alloc_target(struct device *parent,
 	struct scsi_target *found_target;
 	int error, ref_got;
 
-	starget = kzalloc(size, GFP_KERNEL);
+	starget = kzalloc_node(size, GFP_KERNEL, dev_to_node(shost->dma_dev));
 	if (!starget) {
 		printk(KERN_ERR "%s: allocation failure\n", __func__);
 		return NULL;
-- 
2.43.7



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 11:49:30 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 11:49:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332620.1595100 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWuxW-00013m-1l; Tue, 09 Jun 2026 11:49:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332620.1595100; Tue, 09 Jun 2026 11: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 1wWuxV-00013f-UX; Tue, 09 Jun 2026 11:49:29 +0000
Received: by outflank-mailman (input) for mailman id 1332620;
 Tue, 09 Jun 2026 11:49:28 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sumit.saxena@broadcom.com>) id 1wWuxU-00011r-73
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 11:49:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWuxT-00GAy4-Jf
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 13:49:27 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sumit.saxena@broadcom.com>)
 id 6a27fdbd-bab6-0a2a0a5309dd-0a2a4509ae24-40
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 13:49:27 +0200
Received: from [209.85.214.227] (helo=mail-pl1-f227.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sumit.saxena@broadcom.com>)
 id 6a27fdc5-2497-0a2a45090019-d155d6e3e417-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 13:49:26 +0200
Received: by mail-pl1-f227.google.com with SMTP id
 d9443c01a7336-2bf1f074a12so56067365ad.0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 04:49:26 -0700 (PDT)
Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com
 (address-144-49-247-21.dlp.protect.broadcom.com. [144.49.247.21])
 by smtp-relay.gmail.com with ESMTPS id
 d9443c01a7336-2c16619f1e5sm19482975ad.42.2026.06.09.04.49.24
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Tue, 09 Jun 2026 04:49:24 -0700 (PDT)
Received: by mail-pj1-f71.google.com with SMTP id
 98e67ed59e1d1-36d98b828c8so7130488a91.2
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 04:49:23 -0700 (PDT)
Received: from sumit_ws.dhcp.broadcom.net ([192.19.234.250])
 by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-36f6bf903fasm18898075a91.2.2026.06.09.04.48.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Jun 2026 04:49: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=broadcom.com header.i="@broadcom.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781005765; x=1781610565;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:dkim-signature:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=fsTwEeomyHcAOr+L7DgyHdHnlX/mi1ZTCxvWJGVdGKg=;
        b=WnAMcxbzAqxQ1/X0c7gcQzpcth9pP4pkbPn6CRPJx/FbNwFhuxsNNioOpVReFGLF01
         +F8Xa9mLccp272/5CZdLOY8+p0k4Mn3KUYSE5IqXyd8WUPLJNMAa/4f/P5o+x1uCYDKB
         z1ajlh9lz3azWRKq40MAx8AA3fHw5YOILxn0OXbmJhq0fUaSeRf3VEf+mmY7aGnNK6rX
         nVL0b6mopyWNsvfjQgq++bU7AT3tHLaSD/frDGUkq2FNzSasi3T27pvi1RTz7CkshChB
         X1oYMUTOsEau5t0o8NYEIiI5zeLxKQqdLx94I+LQbAgBHJKCnidF8oSLL7ydGkPaXVEH
         DkrA==
X-Forwarded-Encrypted: i=1; AFNElJ95LzCazamDjnhioanAFWUF1Gy19DgQ9yFGfgDlhJ51wAyOSrrPbNOd5GTIfGACnk6bPXkMJqE/Dng=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzud1CsIR5FQmID7UGhYlX0W89qhJymQuCkkCdNNQeuD3qim5dB
	BcGTJe1jSLEmL3j/fonqTHwUSvaEczjKDk1fKflZvpUZkI1uhJ+q7dToeP5+6JqOmkc8E9K4ov+
	eVcd0MYHAuR950mxTZf0Bo3RXmJiLhabMuGwEkeVqtBbXKcOLyABuEYxdQCEiq0322SBfY3tDKf
	qefGbhlriuvBmviKMqquYxG5zIlJ28ny+KpAtdtqDiecouxWrvhUiOO7nhjArnL8YlfkiMqEFHX
	RGzApjTOhwZz02xUrBsdw==
X-Gm-Gg: Acq92OGE+17rOJQnbsJDzQwB36WW4UC5hg2PkH88dFpBW1czlwFz/7Rjyg/HGRdwHjj
	8h3EBZagYWzez8Tl1nEgr02hPWljTxsYZO6BGfPYe2Dvmsfeff2Q0HQb+LiS9RaiAW0o8Rn89+Q
	a7GlOqGNhtKUt+hBv7zFX3u9hAohKBTnBEInF7nTyQedyGTvaAT0nQ2WZ01erPt5zGfl6AZwkxa
	P6ZOHu9h2wrX4sByCZlhN/qrmmvAXdzdk3FBxbx0MDgzQCIhcqyQAoCnNJDNj8MD+SPZWtR117G
	ORTWskRwt29EXxRsYHgTbtqoLfx/JrikcfDw+uj4OO6+ZYXoNQg/J36qoJa0kPEIlLrl21IYsgq
	9gEOsDEqG1bKiKae/DqfA6rIpDdbo4QfXCEiV0jZ3ZvRaeKMF/b6SmPVLdbWzwT7R+yrj9X5FTr
	NGCdbxXFccm8nR8G4KGeLazk1aijRueEVeuyenAr+yok8z34qT3nXqBiMcK8k3C/p7WJ4=
X-Received: by 2002:a17:902:ecc2:b0:2bf:222e:455 with SMTP id d9443c01a7336-2c1e80e4284mr235779475ad.7.1781005764718;
        Tue, 09 Jun 2026 04:49:24 -0700 (PDT)
X-Relaying-Domain: broadcom.com
X-CFilter-Loop: Reflected
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=broadcom.com; s=google; t=1781005763; x=1781610563; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fsTwEeomyHcAOr+L7DgyHdHnlX/mi1ZTCxvWJGVdGKg=;
        b=CHkJ/8olqF5vMR4uyAJkvHk+ktjlbENoucnLYvYIRokXkoQIRsOCznOJIJSemm9/4T
         mjdTOPHG9l8VVSEbIb2mph8fSHxUwVcS3z2gLWUE0XW5o5c/6AiBMCAg4yknHHuMY67a
         4+RscFn1dSfZldn1bXDXfuvJ6hxiYHrPG01KY=
X-Forwarded-Encrypted: i=1; AFNElJ+f0SXZ89c62FtP2hKsRRwgqRDFAu6LB8dZJnMAnPaUPsRqKWNTEM51fdeTRCwA7yTlXWR+WfgIcvk=@lists.xenproject.org
X-Received: by 2002:a17:90b:3b90:b0:366:132:fda7 with SMTP id 98e67ed59e1d1-370ef0f5bcamr21076964a91.10.1781005761912;
        Tue, 09 Jun 2026 04:49:21 -0700 (PDT)
X-Received: by 2002:a17:90b:3b90:b0:366:132:fda7 with SMTP id 98e67ed59e1d1-370ef0f5bcamr21076843a91.10.1781005760883;
        Tue, 09 Jun 2026 04:49:20 -0700 (PDT)
From: Sumit Saxena <sumit.saxena@broadcom.com>
To: "Martin K . Petersen" <martin.petersen@oracle.com>,
	Jens Axboe <axboe@kernel.dk>
Cc: "James E . J . Bottomley" <James.Bottomley@HansenPartnership.com>,
	linux-scsi@vger.kernel.org,
	linux-block@vger.kernel.org,
	Adam Radford <aradford@gmail.com>,
	Khalid Aziz <khalid@gonehiking.org>,
	Adaptec OEM Raid Solutions <aacraid@microsemi.com>,
	Matthew Wilcox <willy@infradead.org>,
	Hannes Reinecke <hare@suse.com>,
	"Juergen E . Fischer" <fischer@norbit.de>,
	Russell King <linux@armlinux.org.uk>,
	linux-arm-kernel@lists.infradead.org,
	Finn Thain <fthain@linux-m68k.org>,
	Michael Schmitz <schmitzmic@gmail.com>,
	Anil Gurumurthy <anil.gurumurthy@qlogic.com>,
	Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>,
	Oliver Neukum <oliver@neukum.org>,
	Ali Akcaagac <aliakc@web.de>,
	Jamie Lenehan <lenehan@twibble.org>,
	Ram Vegesna <ram.vegesna@broadcom.com>,
	target-devel@vger.kernel.org,
	Bradley Grove <linuxdrivers@attotech.com>,
	Satish Kharat <satishkh@cisco.com>,
	Sesidhar Baddela <sebaddel@cisco.com>,
	Karan Tilak Kumar <kartilak@cisco.com>,
	Yihang Li <liyihang9@h-partners.com>,
	Don Brace <don.brace@microchip.com>,
	storagedev@microchip.com,
	HighPoint Linux Team <linux@highpoint-tech.com>,
	Tyrel Datwyler <tyreld@linux.ibm.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	linuxppc-dev@lists.ozlabs.org,
	Brian King <brking@us.ibm.com>,
	Lee Duncan <lduncan@suse.com>,
	Chris Leech <cleech@redhat.com>,
	Mike Christie <michael.christie@oracle.com>,
	open-iscsi@googlegroups.com,
	Justin Tee <justin.tee@broadcom.com>,
	Paul Ely <paul.ely@broadcom.com>,
	Kashyap Desai <kashyap.desai@broadcom.com>,
	Shivasharan S <shivasharan.srikanteshwara@broadcom.com>,
	Chandrakanth Patil <chandrakanth.patil@broadcom.com>,
	megaraidlinux.pdl@broadcom.com,
	Sathya Prakash Veerichetty <sathya.prakash@broadcom.com>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	mpi3mr-linuxdrv.pdl@broadcom.com,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Ranjan Kumar <ranjan.kumar@broadcom.com>,
	MPT-FusionLinux.pdl@broadcom.com,
	Daniel Palmer <daniel@thingy.jp>,
	GOTO Masanori <gotom@debian.or.jp>,
	YOKOTA Hiroshi <yokota@netlab.is.tsukuba.ac.jp>,
	Jack Wang <jinpu.wang@cloud.ionos.com>,
	Geoff Levand <geoff@infradead.org>,
	Michael Reed <mdr@sgi.com>,
	Nilesh Javali <njavali@marvell.com>,
	GR-QLogic-Storage-Upstream@marvell.com,
	Narsimhulu Musini <nmusini@cisco.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Long Li <longli@microsoft.com>,
	linux-hyperv@vger.kernel.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Eugenio Perez <eperezma@redhat.com>,
	virtualization@lists.linux.dev,
	Vishal Bhakta <vishal.bhakta@broadcom.com>,
	bcm-kernel-feedback-list@broadcom.com,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	Sumit Saxena <sumit.saxena@broadcom.com>,
	John Garry <john.g.garry@oracle.com>
Subject: [PATCH v3 2/4] scsi: host: allocate struct Scsi_Host on the NUMA node of the host adapter
Date: Tue,  9 Jun 2026 17:48:01 +0530
Message-ID: <20260609121806.2121755-3-sumit.saxena@broadcom.com>
X-Mailer: git-send-email 2.43.7
In-Reply-To: <20260609121806.2121755-1-sumit.saxena@broadcom.com>
References: <20260609121806.2121755-1-sumit.saxena@broadcom.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e
X-purgate-ID: tlsNG-bad1c0/1781005767-3757B9F3-5609E7ED/0/0
X-purgate-type: clean
X-purgate-size: 58833

scsi_host_alloc() used kzalloc(), which always picks an arbitrary node.
Extend the function to accept a 'struct device *dev' parameter and use
kzalloc_node() with dev_to_node(dev) so the Scsi_Host struct lands on
the same NUMA node as the HBA, mirroring the treatment already applied
to struct scsi_device, struct scsi_target, and shost_data.

When dev is NULL (legacy ISA/platform drivers without a dma_dev) the
allocation falls back to NUMA_NO_NODE, preserving existing behaviour.

Update all in-tree callers:
  - PCI-based HBA drivers pass &pdev->dev (or the equivalent struct
    member such as &phba->pcidev->dev, &h->pdev->dev, &ha->pdev->dev)
    so their host struct is placed on the adapter's node.
  - Non-PCI drivers (ISA, Amiga, ARM PCMCIA, virtio, Hyper-V, PS3, â€¦)
    pass NULL.
  - libfc's libfc_host_alloc() inline helper passes NULL; FC drivers
    that want NUMA awareness can open-code the call with their pdev.

Suggested-by: John Garry <john.g.garry@oracle.com>
Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>
---
 drivers/scsi/3w-9xxx.c                    | 2 +-
 drivers/scsi/3w-sas.c                     | 2 +-
 drivers/scsi/3w-xxxx.c                    | 2 +-
 drivers/scsi/53c700.c                     | 2 +-
 drivers/scsi/BusLogic.c                   | 2 +-
 drivers/scsi/a100u2w.c                    | 2 +-
 drivers/scsi/a2091.c                      | 2 +-
 drivers/scsi/a3000.c                      | 2 +-
 drivers/scsi/aacraid/linit.c              | 2 +-
 drivers/scsi/advansys.c                   | 6 +++---
 drivers/scsi/aha152x.c                    | 2 +-
 drivers/scsi/aha1542.c                    | 2 +-
 drivers/scsi/aha1740.c                    | 2 +-
 drivers/scsi/aic7xxx/aic79xx_osm.c        | 2 +-
 drivers/scsi/aic7xxx/aic7xxx_osm.c        | 2 +-
 drivers/scsi/aic94xx/aic94xx_init.c       | 2 +-
 drivers/scsi/am53c974.c                   | 2 +-
 drivers/scsi/arcmsr/arcmsr_hba.c          | 3 ++-
 drivers/scsi/arm/acornscsi.c              | 2 +-
 drivers/scsi/arm/arxescsi.c               | 2 +-
 drivers/scsi/arm/cumana_1.c               | 2 +-
 drivers/scsi/arm/cumana_2.c               | 2 +-
 drivers/scsi/arm/eesox.c                  | 2 +-
 drivers/scsi/arm/oak.c                    | 2 +-
 drivers/scsi/arm/powertec.c               | 2 +-
 drivers/scsi/atari_scsi.c                 | 2 +-
 drivers/scsi/atp870u.c                    | 2 +-
 drivers/scsi/bfa/bfad_im.c                | 2 +-
 drivers/scsi/csiostor/csio_init.c         | 4 ++--
 drivers/scsi/dc395x.c                     | 2 +-
 drivers/scsi/dmx3191d.c                   | 2 +-
 drivers/scsi/elx/efct/efct_xport.c        | 4 ++--
 drivers/scsi/esas2r/esas2r_main.c         | 2 +-
 drivers/scsi/fdomain.c                    | 2 +-
 drivers/scsi/fnic/fnic_main.c             | 2 +-
 drivers/scsi/g_NCR5380.c                  | 2 +-
 drivers/scsi/gvp11.c                      | 2 +-
 drivers/scsi/hisi_sas/hisi_sas_main.c     | 2 +-
 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c    | 2 +-
 drivers/scsi/hosts.c                      | 6 ++++--
 drivers/scsi/hpsa.c                       | 2 +-
 drivers/scsi/hptiop.c                     | 2 +-
 drivers/scsi/ibmvscsi/ibmvfc.c            | 2 +-
 drivers/scsi/ibmvscsi/ibmvscsi.c          | 2 +-
 drivers/scsi/imm.c                        | 2 +-
 drivers/scsi/initio.c                     | 2 +-
 drivers/scsi/ipr.c                        | 2 +-
 drivers/scsi/ips.c                        | 2 +-
 drivers/scsi/isci/init.c                  | 2 +-
 drivers/scsi/jazz_esp.c                   | 2 +-
 drivers/scsi/libiscsi.c                   | 2 +-
 drivers/scsi/lpfc/lpfc_init.c             | 2 +-
 drivers/scsi/mac53c94.c                   | 2 +-
 drivers/scsi/mac_esp.c                    | 2 +-
 drivers/scsi/mac_scsi.c                   | 2 +-
 drivers/scsi/megaraid.c                   | 2 +-
 drivers/scsi/megaraid/megaraid_mbox.c     | 2 +-
 drivers/scsi/megaraid/megaraid_sas_base.c | 2 +-
 drivers/scsi/mesh.c                       | 2 +-
 drivers/scsi/mpi3mr/mpi3mr_os.c           | 2 +-
 drivers/scsi/mpt3sas/mpt3sas_scsih.c      | 4 ++--
 drivers/scsi/mvme147.c                    | 2 +-
 drivers/scsi/mvsas/mv_init.c              | 2 +-
 drivers/scsi/mvumi.c                      | 2 +-
 drivers/scsi/myrb.c                       | 2 +-
 drivers/scsi/myrs.c                       | 2 +-
 drivers/scsi/ncr53c8xx.c                  | 2 +-
 drivers/scsi/nsp32.c                      | 2 +-
 drivers/scsi/pcmcia/nsp_cs.c              | 2 +-
 drivers/scsi/pcmcia/qlogic_stub.c         | 2 +-
 drivers/scsi/pcmcia/sym53c500_cs.c        | 2 +-
 drivers/scsi/pm8001/pm8001_init.c         | 2 +-
 drivers/scsi/pmcraid.c                    | 2 +-
 drivers/scsi/ppa.c                        | 2 +-
 drivers/scsi/ps3rom.c                     | 2 +-
 drivers/scsi/qla1280.c                    | 2 +-
 drivers/scsi/qla2xxx/qla_mid.c            | 2 +-
 drivers/scsi/qla2xxx/qla_os.c             | 2 +-
 drivers/scsi/qlogicfas.c                  | 2 +-
 drivers/scsi/qlogicpti.c                  | 2 +-
 drivers/scsi/scsi_debug.c                 | 2 +-
 drivers/scsi/sgiwd93.c                    | 2 +-
 drivers/scsi/smartpqi/smartpqi_init.c     | 2 +-
 drivers/scsi/snic/snic_main.c             | 2 +-
 drivers/scsi/stex.c                       | 2 +-
 drivers/scsi/storvsc_drv.c                | 2 +-
 drivers/scsi/sun3_scsi.c                  | 2 +-
 drivers/scsi/sun3x_esp.c                  | 2 +-
 drivers/scsi/sun_esp.c                    | 2 +-
 drivers/scsi/sym53c8xx_2/sym_glue.c       | 2 +-
 drivers/scsi/virtio_scsi.c                | 2 +-
 drivers/scsi/vmw_pvscsi.c                 | 2 +-
 drivers/scsi/wd719x.c                     | 2 +-
 drivers/scsi/xen-scsifront.c              | 2 +-
 drivers/scsi/zorro_esp.c                  | 2 +-
 include/scsi/libfc.h                      | 2 +-
 include/scsi/scsi_host.h                  | 3 ++-
 97 files changed, 107 insertions(+), 103 deletions(-)

diff --git a/drivers/scsi/3w-9xxx.c b/drivers/scsi/3w-9xxx.c
index 9b93a2440af8..444578ee8070 100644
--- a/drivers/scsi/3w-9xxx.c
+++ b/drivers/scsi/3w-9xxx.c
@@ -2021,7 +2021,7 @@ static int twa_probe(struct pci_dev *pdev, const struct pci_device_id *dev_id)
 		goto out_disable_device;
 	}
 
-	host = scsi_host_alloc(&driver_template, sizeof(TW_Device_Extension));
+	host = scsi_host_alloc(&driver_template, sizeof(TW_Device_Extension), &pdev->dev);
 	if (!host) {
 		TW_PRINTK(host, TW_DRIVER, 0x24, "Failed to allocate memory for device extension");
 		retval = -ENOMEM;
diff --git a/drivers/scsi/3w-sas.c b/drivers/scsi/3w-sas.c
index 52dc1aa639f7..d063d39faf4f 100644
--- a/drivers/scsi/3w-sas.c
+++ b/drivers/scsi/3w-sas.c
@@ -1576,7 +1576,7 @@ static int twl_probe(struct pci_dev *pdev, const struct pci_device_id *dev_id)
 		goto out_disable_device;
 	}
 
-	host = scsi_host_alloc(&driver_template, sizeof(TW_Device_Extension));
+	host = scsi_host_alloc(&driver_template, sizeof(TW_Device_Extension), &pdev->dev);
 	if (!host) {
 		TW_PRINTK(host, TW_DRIVER, 0x19, "Failed to allocate memory for device extension");
 		retval = -ENOMEM;
diff --git a/drivers/scsi/3w-xxxx.c b/drivers/scsi/3w-xxxx.c
index c68678fa72c1..0ccb5f1f8805 100644
--- a/drivers/scsi/3w-xxxx.c
+++ b/drivers/scsi/3w-xxxx.c
@@ -2268,7 +2268,7 @@ static int tw_probe(struct pci_dev *pdev, const struct pci_device_id *dev_id)
 		goto out_disable_device;
 	}
 
-	host = scsi_host_alloc(&driver_template, sizeof(TW_Device_Extension));
+	host = scsi_host_alloc(&driver_template, sizeof(TW_Device_Extension), &pdev->dev);
 	if (!host) {
 		printk(KERN_WARNING "3w-xxxx: Failed to allocate memory for device extension.");
 		retval = -ENOMEM;
diff --git a/drivers/scsi/53c700.c b/drivers/scsi/53c700.c
index c78f74b8f45c..e30d55ab5dea 100644
--- a/drivers/scsi/53c700.c
+++ b/drivers/scsi/53c700.c
@@ -341,7 +341,7 @@ NCR_700_detect(struct scsi_host_template *tpnt,
 	if(tpnt->proc_name == NULL)
 		tpnt->proc_name = "53c700";
 
-	host = scsi_host_alloc(tpnt, 4);
+	host = scsi_host_alloc(tpnt, 4, NULL);
 	if (!host)
 		return NULL;
 	memset(hostdata->slots, 0, sizeof(struct NCR_700_command_slot)
diff --git a/drivers/scsi/BusLogic.c b/drivers/scsi/BusLogic.c
index 5304d2febd63..f865fdec4136 100644
--- a/drivers/scsi/BusLogic.c
+++ b/drivers/scsi/BusLogic.c
@@ -2302,7 +2302,7 @@ static int __init blogic_init(void)
 		 */
 
 		host = scsi_host_alloc(&blogic_template,
-				sizeof(struct blogic_adapter));
+				sizeof(struct blogic_adapter), NULL);
 		if (host == NULL) {
 			release_region(myadapter->io_addr,
 					myadapter->addr_count);
diff --git a/drivers/scsi/a100u2w.c b/drivers/scsi/a100u2w.c
index 4365b896f5c4..9124c6103902 100644
--- a/drivers/scsi/a100u2w.c
+++ b/drivers/scsi/a100u2w.c
@@ -1106,7 +1106,7 @@ static int inia100_probe_one(struct pci_dev *pdev,
 	bios = inw(port + 0x50);
 
 
-	shost = scsi_host_alloc(&inia100_template, sizeof(struct orc_host));
+	shost = scsi_host_alloc(&inia100_template, sizeof(struct orc_host), &pdev->dev);
 	if (!shost)
 		goto out_release_region;
 
diff --git a/drivers/scsi/a2091.c b/drivers/scsi/a2091.c
index 204448bfd04b..51effb2edefb 100644
--- a/drivers/scsi/a2091.c
+++ b/drivers/scsi/a2091.c
@@ -214,7 +214,7 @@ static int a2091_probe(struct zorro_dev *z, const struct zorro_device_id *ent)
 		return -EBUSY;
 
 	instance = scsi_host_alloc(&a2091_scsi_template,
-				   sizeof(struct a2091_hostdata));
+				   sizeof(struct a2091_hostdata), NULL);
 	if (!instance) {
 		error = -ENOMEM;
 		goto fail_alloc;
diff --git a/drivers/scsi/a3000.c b/drivers/scsi/a3000.c
index bf054dd7682b..5b3d25b8ad37 100644
--- a/drivers/scsi/a3000.c
+++ b/drivers/scsi/a3000.c
@@ -235,7 +235,7 @@ static int __init amiga_a3000_scsi_probe(struct platform_device *pdev)
 		return -EBUSY;
 
 	instance = scsi_host_alloc(&amiga_a3000_scsi_template,
-				   sizeof(struct a3000_hostdata));
+				   sizeof(struct a3000_hostdata), NULL);
 	if (!instance) {
 		error = -ENOMEM;
 		goto fail_alloc;
diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c
index 2fa8f7ddb703..d003667007f7 100644
--- a/drivers/scsi/aacraid/linit.c
+++ b/drivers/scsi/aacraid/linit.c
@@ -1636,7 +1636,7 @@ static int aac_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
 
 	pci_set_master(pdev);
 
-	shost = scsi_host_alloc(&aac_driver_template, sizeof(struct aac_dev));
+	shost = scsi_host_alloc(&aac_driver_template, sizeof(struct aac_dev), &pdev->dev);
 	if (!shost) {
 		error = -ENOMEM;
 		goto out_disable_pdev;
diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c
index 5cdbf2bdb13d..e7ef433778a1 100644
--- a/drivers/scsi/advansys.c
+++ b/drivers/scsi/advansys.c
@@ -11237,7 +11237,7 @@ static int advansys_vlb_probe(struct device *dev, unsigned int id)
 		goto release_region;
 
 	err = -ENOMEM;
-	shost = scsi_host_alloc(&advansys_template, sizeof(*board));
+	shost = scsi_host_alloc(&advansys_template, sizeof(*board), NULL);
 	if (!shost)
 		goto release_region;
 
@@ -11345,7 +11345,7 @@ static int advansys_eisa_probe(struct device *dev)
 			irq = advansys_eisa_irq_no(edev);
 
 		err = -ENOMEM;
-		shost = scsi_host_alloc(&advansys_template, sizeof(*board));
+		shost = scsi_host_alloc(&advansys_template, sizeof(*board), NULL);
 		if (!shost)
 			goto release_region;
 
@@ -11462,7 +11462,7 @@ static int advansys_pci_probe(struct pci_dev *pdev,
 	ioport = pci_resource_start(pdev, 0);
 
 	err = -ENOMEM;
-	shost = scsi_host_alloc(&advansys_template, sizeof(*board));
+	shost = scsi_host_alloc(&advansys_template, sizeof(*board), &pdev->dev);
 	if (!shost)
 		goto release_region;
 
diff --git a/drivers/scsi/aha152x.c b/drivers/scsi/aha152x.c
index e3ccb6bb62c0..d82ce80de098 100644
--- a/drivers/scsi/aha152x.c
+++ b/drivers/scsi/aha152x.c
@@ -734,7 +734,7 @@ struct Scsi_Host *aha152x_probe_one(struct aha152x_setup *setup)
 {
 	struct Scsi_Host *shpnt;
 
-	shpnt = scsi_host_alloc(&aha152x_driver_template, sizeof(struct aha152x_hostdata));
+	shpnt = scsi_host_alloc(&aha152x_driver_template, sizeof(struct aha152x_hostdata), NULL);
 	if (!shpnt) {
 		printk(KERN_ERR "aha152x: scsi_host_alloc failed\n");
 		return NULL;
diff --git a/drivers/scsi/aha1542.c b/drivers/scsi/aha1542.c
index fd766282d4a4..1a109c850785 100644
--- a/drivers/scsi/aha1542.c
+++ b/drivers/scsi/aha1542.c
@@ -752,7 +752,7 @@ static struct Scsi_Host *aha1542_hw_init(const struct scsi_host_template *tpnt,
 	if (!request_region(base_io, AHA1542_REGION_SIZE, "aha1542"))
 		return NULL;
 
-	sh = scsi_host_alloc(tpnt, sizeof(struct aha1542_hostdata));
+	sh = scsi_host_alloc(tpnt, sizeof(struct aha1542_hostdata), NULL);
 	if (!sh)
 		goto release;
 	aha1542 = shost_priv(sh);
diff --git a/drivers/scsi/aha1740.c b/drivers/scsi/aha1740.c
index c435769359f2..31a52edf0748 100644
--- a/drivers/scsi/aha1740.c
+++ b/drivers/scsi/aha1740.c
@@ -583,7 +583,7 @@ static int aha1740_probe (struct device *dev)
 	printk(KERN_INFO "aha174x: Extended translation %sabled.\n",
 	       translation ? "en" : "dis");
 	shpnt = scsi_host_alloc(&aha1740_template,
-			      sizeof(struct aha1740_hostdata));
+			      sizeof(struct aha1740_hostdata), NULL);
 	if(shpnt == NULL)
 		goto err_release_region;
 
diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.c b/drivers/scsi/aic7xxx/aic79xx_osm.c
index feb1707feb7e..76e30b0784b9 100644
--- a/drivers/scsi/aic7xxx/aic79xx_osm.c
+++ b/drivers/scsi/aic7xxx/aic79xx_osm.c
@@ -1214,7 +1214,7 @@ ahd_linux_register_host(struct ahd_softc *ahd, struct scsi_host_template *templa
 	int	retval;
 
 	template->name = ahd->description;
-	host = scsi_host_alloc(template, sizeof(struct ahd_softc *));
+	host = scsi_host_alloc(template, sizeof(struct ahd_softc *), NULL);
 	if (host == NULL)
 		return (ENOMEM);
 
diff --git a/drivers/scsi/aic7xxx/aic7xxx_osm.c b/drivers/scsi/aic7xxx/aic7xxx_osm.c
index d93b522695eb..0169509abd76 100644
--- a/drivers/scsi/aic7xxx/aic7xxx_osm.c
+++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c
@@ -1083,7 +1083,7 @@ ahc_linux_register_host(struct ahc_softc *ahc, struct scsi_host_template *templa
 	int	retval;
 
 	template->name = ahc->description;
-	host = scsi_host_alloc(template, sizeof(struct ahc_softc *));
+	host = scsi_host_alloc(template, sizeof(struct ahc_softc *), NULL);
 	if (host == NULL)
 		return -ENOMEM;
 
diff --git a/drivers/scsi/aic94xx/aic94xx_init.c b/drivers/scsi/aic94xx/aic94xx_init.c
index 4400a3661d90..1336e5e38f8d 100644
--- a/drivers/scsi/aic94xx/aic94xx_init.c
+++ b/drivers/scsi/aic94xx/aic94xx_init.c
@@ -704,7 +704,7 @@ static int asd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
 
 	err = -ENOMEM;
 
-	shost = scsi_host_alloc(&aic94xx_sht, sizeof(void *));
+	shost = scsi_host_alloc(&aic94xx_sht, sizeof(void *), &dev->dev);
 	if (!shost)
 		goto Err;
 
diff --git a/drivers/scsi/am53c974.c b/drivers/scsi/am53c974.c
index f972a3c90a2f..4ca73e801232 100644
--- a/drivers/scsi/am53c974.c
+++ b/drivers/scsi/am53c974.c
@@ -388,7 +388,7 @@ static int pci_esp_probe_one(struct pci_dev *pdev,
 		goto fail_disable_device;
 	}
 
-	shost = scsi_host_alloc(hostt, sizeof(struct esp));
+	shost = scsi_host_alloc(hostt, sizeof(struct esp), &pdev->dev);
 	if (!shost) {
 		dev_printk(KERN_INFO, &pdev->dev,
 			   "failed to allocate scsi host\n");
diff --git a/drivers/scsi/arcmsr/arcmsr_hba.c b/drivers/scsi/arcmsr/arcmsr_hba.c
index 8aa948f06cac..f0cc59e756dc 100644
--- a/drivers/scsi/arcmsr/arcmsr_hba.c
+++ b/drivers/scsi/arcmsr/arcmsr_hba.c
@@ -1087,7 +1087,8 @@ static int arcmsr_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 	if(error){
 		return -ENODEV;
 	}
-	host = scsi_host_alloc(&arcmsr_scsi_host_template, sizeof(struct AdapterControlBlock));
+	host = scsi_host_alloc(&arcmsr_scsi_host_template,
+			       sizeof(struct AdapterControlBlock), &pdev->dev);
 	if(!host){
     		goto pci_disable_dev;
 	}
diff --git a/drivers/scsi/arm/acornscsi.c b/drivers/scsi/arm/acornscsi.c
index 79d7d7336b6a..97e3db7e6a7c 100644
--- a/drivers/scsi/arm/acornscsi.c
+++ b/drivers/scsi/arm/acornscsi.c
@@ -2806,7 +2806,7 @@ static int acornscsi_probe(struct expansion_card *ec, const struct ecard_id *id)
 	if (ret)
 		goto out;
 
-	host = scsi_host_alloc(&acornscsi_template, sizeof(AS_Host));
+	host = scsi_host_alloc(&acornscsi_template, sizeof(AS_Host), NULL);
 	if (!host) {
 		ret = -ENOMEM;
 		goto out_release;
diff --git a/drivers/scsi/arm/arxescsi.c b/drivers/scsi/arm/arxescsi.c
index 925d0bd68aa5..32f0a3aefb44 100644
--- a/drivers/scsi/arm/arxescsi.c
+++ b/drivers/scsi/arm/arxescsi.c
@@ -272,7 +272,7 @@ static int arxescsi_probe(struct expansion_card *ec, const struct ecard_id *id)
 		goto out_region;
 	}
 
-	host = scsi_host_alloc(&arxescsi_template, sizeof(struct arxescsi_info));
+	host = scsi_host_alloc(&arxescsi_template, sizeof(struct arxescsi_info), NULL);
 	if (!host) {
 		ret = -ENOMEM;
 		goto out_region;
diff --git a/drivers/scsi/arm/cumana_1.c b/drivers/scsi/arm/cumana_1.c
index d1a2a22ffe8c..d47ff9353c1b 100644
--- a/drivers/scsi/arm/cumana_1.c
+++ b/drivers/scsi/arm/cumana_1.c
@@ -238,7 +238,7 @@ static int cumanascsi1_probe(struct expansion_card *ec,
 	if (ret)
 		goto out;
 
-	host = scsi_host_alloc(&cumanascsi_template, sizeof(struct NCR5380_hostdata));
+	host = scsi_host_alloc(&cumanascsi_template, sizeof(struct NCR5380_hostdata), NULL);
 	if (!host) {
 		ret = -ENOMEM;
 		goto out_release;
diff --git a/drivers/scsi/arm/cumana_2.c b/drivers/scsi/arm/cumana_2.c
index e460068f6834..e35afe3a1fe4 100644
--- a/drivers/scsi/arm/cumana_2.c
+++ b/drivers/scsi/arm/cumana_2.c
@@ -394,7 +394,7 @@ static int cumanascsi2_probe(struct expansion_card *ec,
 	}
 
 	host = scsi_host_alloc(&cumanascsi2_template,
-			       sizeof(struct cumanascsi2_info));
+			       sizeof(struct cumanascsi2_info), NULL);
 	if (!host) {
 		ret = -ENOMEM;
 		goto out_region;
diff --git a/drivers/scsi/arm/eesox.c b/drivers/scsi/arm/eesox.c
index 99be9da8757f..de4d457f8ce7 100644
--- a/drivers/scsi/arm/eesox.c
+++ b/drivers/scsi/arm/eesox.c
@@ -510,7 +510,7 @@ static int eesoxscsi_probe(struct expansion_card *ec, const struct ecard_id *id)
 	}
 
 	host = scsi_host_alloc(&eesox_template,
-			       sizeof(struct eesoxscsi_info));
+			       sizeof(struct eesoxscsi_info), NULL);
 	if (!host) {
 		ret = -ENOMEM;
 		goto out_region;
diff --git a/drivers/scsi/arm/oak.c b/drivers/scsi/arm/oak.c
index d69245007096..b2ff8616f963 100644
--- a/drivers/scsi/arm/oak.c
+++ b/drivers/scsi/arm/oak.c
@@ -126,7 +126,7 @@ static int oakscsi_probe(struct expansion_card *ec, const struct ecard_id *id)
 	if (ret)
 		goto out;
 
-	host = scsi_host_alloc(&oakscsi_template, sizeof(struct NCR5380_hostdata));
+	host = scsi_host_alloc(&oakscsi_template, sizeof(struct NCR5380_hostdata), NULL);
 	if (!host) {
 		ret = -ENOMEM;
 		goto release;
diff --git a/drivers/scsi/arm/powertec.c b/drivers/scsi/arm/powertec.c
index 823c65ff6c12..045f35e50eff 100644
--- a/drivers/scsi/arm/powertec.c
+++ b/drivers/scsi/arm/powertec.c
@@ -318,7 +318,7 @@ static int powertecscsi_probe(struct expansion_card *ec,
 	}
 
 	host = scsi_host_alloc(&powertecscsi_template,
-			       sizeof (struct powertec_info));
+			       sizeof(struct powertec_info), NULL);
 	if (!host) {
 		ret = -ENOMEM;
 		goto out_region;
diff --git a/drivers/scsi/atari_scsi.c b/drivers/scsi/atari_scsi.c
index 85055677666c..9a469cf3991f 100644
--- a/drivers/scsi/atari_scsi.c
+++ b/drivers/scsi/atari_scsi.c
@@ -785,7 +785,7 @@ static int __init atari_scsi_probe(struct platform_device *pdev)
 	}
 
 	instance = scsi_host_alloc(&atari_scsi_template,
-	                           sizeof(struct NCR5380_hostdata));
+				   sizeof(struct NCR5380_hostdata), NULL);
 	if (!instance) {
 		error = -ENOMEM;
 		goto fail_alloc;
diff --git a/drivers/scsi/atp870u.c b/drivers/scsi/atp870u.c
index 67459d81f479..57f0b4a11ba7 100644
--- a/drivers/scsi/atp870u.c
+++ b/drivers/scsi/atp870u.c
@@ -1579,7 +1579,7 @@ static int atp870u_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	pci_set_master(pdev);
 
 	err = -ENOMEM;
-	shpnt = scsi_host_alloc(&atp870u_template, sizeof(struct atp_unit));
+	shpnt = scsi_host_alloc(&atp870u_template, sizeof(struct atp_unit), &pdev->dev);
 	if (!shpnt)
 		goto release_region;
 
diff --git a/drivers/scsi/bfa/bfad_im.c b/drivers/scsi/bfa/bfad_im.c
index 97990b285e17..bd14aee64886 100644
--- a/drivers/scsi/bfa/bfad_im.c
+++ b/drivers/scsi/bfa/bfad_im.c
@@ -740,7 +740,7 @@ bfad_scsi_host_alloc(struct bfad_im_port_s *im_port, struct bfad_s *bfad)
 
 	sht->sg_tablesize = bfad->cfg_data.io_max_sge;
 
-	return scsi_host_alloc(sht, sizeof(struct bfad_im_port_pointer));
+	return scsi_host_alloc(sht, sizeof(struct bfad_im_port_pointer), NULL);
 }
 
 void
diff --git a/drivers/scsi/csiostor/csio_init.c b/drivers/scsi/csiostor/csio_init.c
index 238431524801..a4bf1ba03248 100644
--- a/drivers/scsi/csiostor/csio_init.c
+++ b/drivers/scsi/csiostor/csio_init.c
@@ -606,11 +606,11 @@ csio_shost_init(struct csio_hw *hw, struct device *dev,
 	if (dev == &hw->pdev->dev)
 		shost = scsi_host_alloc(
 				&csio_fcoe_shost_template,
-				sizeof(struct csio_lnode));
+				sizeof(struct csio_lnode), &hw->pdev->dev);
 	else
 		shost = scsi_host_alloc(
 				&csio_fcoe_shost_vport_template,
-				sizeof(struct csio_lnode));
+				sizeof(struct csio_lnode), &hw->pdev->dev);
 
 	if (!shost)
 		goto err;
diff --git a/drivers/scsi/dc395x.c b/drivers/scsi/dc395x.c
index 6183ce05d8cf..16adeac93aac 100644
--- a/drivers/scsi/dc395x.c
+++ b/drivers/scsi/dc395x.c
@@ -3984,7 +3984,7 @@ static int dc395x_init_one(struct pci_dev *dev, const struct pci_device_id *id)
 
 	/* allocate scsi host information (includes out adapter) */
 	scsi_host = scsi_host_alloc(&dc395x_driver_template,
-				    sizeof(struct AdapterCtlBlk));
+				    sizeof(struct AdapterCtlBlk), &dev->dev);
 	if (!scsi_host)
 		goto fail;
 
diff --git a/drivers/scsi/dmx3191d.c b/drivers/scsi/dmx3191d.c
index d6d091b2f3c7..8ba17e3eefe3 100644
--- a/drivers/scsi/dmx3191d.c
+++ b/drivers/scsi/dmx3191d.c
@@ -74,7 +74,7 @@ static int dmx3191d_probe_one(struct pci_dev *pdev,
 	}
 
 	shost = scsi_host_alloc(&dmx3191d_driver_template,
-			sizeof(struct NCR5380_hostdata));
+			sizeof(struct NCR5380_hostdata), &pdev->dev);
 	if (!shost)
 		goto out_release_region;       
 
diff --git a/drivers/scsi/elx/efct/efct_xport.c b/drivers/scsi/elx/efct/efct_xport.c
index 9dcaef6fc188..74ef76e00eb5 100644
--- a/drivers/scsi/elx/efct/efct_xport.c
+++ b/drivers/scsi/elx/efct/efct_xport.c
@@ -378,7 +378,7 @@ efct_scsi_new_device(struct efct *efct)
 	int error = 0;
 	struct efct_vport *vport = NULL;
 
-	shost = scsi_host_alloc(&efct_template, sizeof(*vport));
+	shost = scsi_host_alloc(&efct_template, sizeof(*vport), NULL);
 	if (!shost) {
 		efc_log_err(efct, "failed to allocate Scsi_Host struct\n");
 		return -ENOMEM;
@@ -902,7 +902,7 @@ efct_scsi_new_vport(struct efct *efct, struct device *dev)
 	int error = 0;
 	struct efct_vport *vport = NULL;
 
-	shost = scsi_host_alloc(&efct_template, sizeof(*vport));
+	shost = scsi_host_alloc(&efct_template, sizeof(*vport), NULL);
 	if (!shost) {
 		efc_log_err(efct, "failed to allocate Scsi_Host struct\n");
 		return NULL;
diff --git a/drivers/scsi/esas2r/esas2r_main.c b/drivers/scsi/esas2r/esas2r_main.c
index ada278c24c51..4aac1f6db5e9 100644
--- a/drivers/scsi/esas2r/esas2r_main.c
+++ b/drivers/scsi/esas2r/esas2r_main.c
@@ -382,7 +382,7 @@ static int esas2r_probe(struct pci_dev *pcid,
 		       "after pci_enable_device() enable_cnt: %d",
 		       pcid->enable_cnt.counter);
 
-	host = scsi_host_alloc(&driver_template, host_alloc_size);
+	host = scsi_host_alloc(&driver_template, host_alloc_size, &pcid->dev);
 	if (host == NULL) {
 		esas2r_log(ESAS2R_LOG_CRIT, "scsi_host_alloc() FAIL");
 		return -ENODEV;
diff --git a/drivers/scsi/fdomain.c b/drivers/scsi/fdomain.c
index 22fbb0222f07..66ba4551def8 100644
--- a/drivers/scsi/fdomain.c
+++ b/drivers/scsi/fdomain.c
@@ -537,7 +537,7 @@ struct Scsi_Host *fdomain_create(int base, int irq, int this_id,
 		return NULL;
 	}
 
-	sh = scsi_host_alloc(&fdomain_template, sizeof(struct fdomain));
+	sh = scsi_host_alloc(&fdomain_template, sizeof(struct fdomain), NULL);
 	if (!sh)
 		return NULL;
 
diff --git a/drivers/scsi/fnic/fnic_main.c b/drivers/scsi/fnic/fnic_main.c
index 24d62c0874ac..688d85bc3f01 100644
--- a/drivers/scsi/fnic/fnic_main.c
+++ b/drivers/scsi/fnic/fnic_main.c
@@ -847,7 +847,7 @@ static int fnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 		{
 			host =
 				scsi_host_alloc(&fnic_host_template,
-								sizeof(struct fnic *));
+								sizeof(struct fnic *), &pdev->dev);
 			if (!host) {
 				dev_err(&fnic->pdev->dev, "Unable to allocate scsi host\n");
 				err = -ENOMEM;
diff --git a/drivers/scsi/g_NCR5380.c b/drivers/scsi/g_NCR5380.c
index 270eae7ac427..8b9076d6a964 100644
--- a/drivers/scsi/g_NCR5380.c
+++ b/drivers/scsi/g_NCR5380.c
@@ -312,7 +312,7 @@ static int generic_NCR5380_init_one(const struct scsi_host_template *tpnt,
 		goto out_release;
 	}
 
-	instance = scsi_host_alloc(tpnt, sizeof(struct NCR5380_hostdata));
+	instance = scsi_host_alloc(tpnt, sizeof(struct NCR5380_hostdata), NULL);
 	if (instance == NULL) {
 		ret = -ENOMEM;
 		goto out_unmap;
diff --git a/drivers/scsi/gvp11.c b/drivers/scsi/gvp11.c
index 0420bfe9bd42..ad5052db5a2e 100644
--- a/drivers/scsi/gvp11.c
+++ b/drivers/scsi/gvp11.c
@@ -353,7 +353,7 @@ static int gvp11_probe(struct zorro_dev *z, const struct zorro_device_id *ent)
 		goto fail_check_or_alloc;
 
 	instance = scsi_host_alloc(&gvp11_scsi_template,
-				   sizeof(struct gvp11_hostdata));
+				   sizeof(struct gvp11_hostdata), NULL);
 	if (!instance) {
 		error = -ENOMEM;
 		goto fail_check_or_alloc;
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c
index 944ce19ae2fc..5696da8da6c7 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -2483,7 +2483,7 @@ static struct Scsi_Host *hisi_sas_shost_alloc(struct platform_device *pdev,
 	struct device *dev = &pdev->dev;
 	int error;
 
-	shost = scsi_host_alloc(hw->sht, sizeof(*hisi_hba));
+	shost = scsi_host_alloc(hw->sht, sizeof(*hisi_hba), NULL);
 	if (!shost) {
 		dev_err(dev, "scsi host alloc failed\n");
 		return NULL;
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
index c7430f7c4048..44e584496ed5 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -3469,7 +3469,7 @@ hisi_sas_shost_alloc_pci(struct pci_dev *pdev)
 	struct hisi_hba *hisi_hba;
 	struct device *dev = &pdev->dev;
 
-	shost = scsi_host_alloc(&sht_v3_hw, sizeof(*hisi_hba));
+	shost = scsi_host_alloc(&sht_v3_hw, sizeof(*hisi_hba), &pdev->dev);
 	if (!shost) {
 		dev_err(dev, "shost alloc failed\n");
 		return NULL;
diff --git a/drivers/scsi/hosts.c b/drivers/scsi/hosts.c
index e047747d4ecf..e1f42be79729 100644
--- a/drivers/scsi/hosts.c
+++ b/drivers/scsi/hosts.c
@@ -403,12 +403,14 @@ static const struct device_type scsi_host_type = {
  * Return value:
  * 	Pointer to a new Scsi_Host
  **/
-struct Scsi_Host *scsi_host_alloc(const struct scsi_host_template *sht, int privsize)
+struct Scsi_Host *scsi_host_alloc(const struct scsi_host_template *sht, int privsize,
+				  struct device *dev)
 {
 	struct Scsi_Host *shost;
 	int index;
 
-	shost = kzalloc(sizeof(struct Scsi_Host) + privsize, GFP_KERNEL);
+	shost = kzalloc_node(sizeof(struct Scsi_Host) + privsize, GFP_KERNEL,
+			     dev ? dev_to_node(dev) : NUMA_NO_NODE);
 	if (!shost)
 		return NULL;
 
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index a1b116cd4723..b9f9f18bd985 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -5837,7 +5837,7 @@ static int hpsa_scsi_host_alloc(struct ctlr_info *h)
 {
 	struct Scsi_Host *sh;
 
-	sh = scsi_host_alloc(&hpsa_driver_template, sizeof(struct ctlr_info *));
+	sh = scsi_host_alloc(&hpsa_driver_template, sizeof(struct ctlr_info *), &h->pdev->dev);
 	if (sh == NULL) {
 		dev_err(&h->pdev->dev, "scsi_host_alloc failed\n");
 		return -ENOMEM;
diff --git a/drivers/scsi/hptiop.c b/drivers/scsi/hptiop.c
index 7083c14c5302..7d79357be265 100644
--- a/drivers/scsi/hptiop.c
+++ b/drivers/scsi/hptiop.c
@@ -1311,7 +1311,7 @@ static int hptiop_probe(struct pci_dev *pcidev, const struct pci_device_id *id)
 		goto disable_pci_device;
 	}
 
-	host = scsi_host_alloc(&driver_template, sizeof(struct hptiop_hba));
+	host = scsi_host_alloc(&driver_template, sizeof(struct hptiop_hba), &pcidev->dev);
 	if (!host) {
 		printk(KERN_ERR "hptiop: fail to alloc scsi host\n");
 		goto free_pci_regions;
diff --git a/drivers/scsi/ibmvscsi/ibmvfc.c b/drivers/scsi/ibmvscsi/ibmvfc.c
index 3dd2adda195e..b11d564a21d9 100644
--- a/drivers/scsi/ibmvscsi/ibmvfc.c
+++ b/drivers/scsi/ibmvscsi/ibmvfc.c
@@ -6325,7 +6325,7 @@ static int ibmvfc_probe(struct vio_dev *vdev, const struct vio_device_id *id)
 	unsigned int max_scsi_queues = min((unsigned int)IBMVFC_MAX_SCSI_QUEUES, online_cpus);
 
 	ENTER;
-	shost = scsi_host_alloc(&driver_template, sizeof(*vhost));
+	shost = scsi_host_alloc(&driver_template, sizeof(*vhost), NULL);
 	if (!shost) {
 		dev_err(dev, "Couldn't allocate host data\n");
 		goto out;
diff --git a/drivers/scsi/ibmvscsi/ibmvscsi.c b/drivers/scsi/ibmvscsi/ibmvscsi.c
index 609bda730b3a..e8342e581246 100644
--- a/drivers/scsi/ibmvscsi/ibmvscsi.c
+++ b/drivers/scsi/ibmvscsi/ibmvscsi.c
@@ -2235,7 +2235,7 @@ static int ibmvscsi_probe(struct vio_dev *vdev, const struct vio_device_id *id)
 
 	dev_set_drvdata(&vdev->dev, NULL);
 
-	host = scsi_host_alloc(&driver_template, sizeof(*hostdata));
+	host = scsi_host_alloc(&driver_template, sizeof(*hostdata), NULL);
 	if (!host) {
 		dev_err(&vdev->dev, "couldn't allocate host data\n");
 		goto scsi_host_alloc_failed;
diff --git a/drivers/scsi/imm.c b/drivers/scsi/imm.c
index 0535252e77e3..a6131f87fcaf 100644
--- a/drivers/scsi/imm.c
+++ b/drivers/scsi/imm.c
@@ -1221,7 +1221,7 @@ static int __imm_attach(struct parport *pb)
 	INIT_DELAYED_WORK(&dev->imm_tq, imm_interrupt);
 
 	err = -ENOMEM;
-	host = scsi_host_alloc(&imm_template, sizeof(imm_struct *));
+	host = scsi_host_alloc(&imm_template, sizeof(imm_struct *), NULL);
 	if (!host)
 		goto out1;
 	host->io_port = pb->base;
diff --git a/drivers/scsi/initio.c b/drivers/scsi/initio.c
index 06fbe85dccfa..294f7f8d5dbb 100644
--- a/drivers/scsi/initio.c
+++ b/drivers/scsi/initio.c
@@ -2824,7 +2824,7 @@ static int initio_probe_one(struct pci_dev *pdev,
 		error = -ENODEV;
 		goto out_disable_device;
 	}
-	shost = scsi_host_alloc(&initio_template, sizeof(struct initio_host));
+	shost = scsi_host_alloc(&initio_template, sizeof(struct initio_host), &pdev->dev);
 	if (!shost) {
 		printk(KERN_WARNING "initio: Could not allocate host structure.\n");
 		error = -ENOMEM;
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index d207e5e81afe..85608804ff39 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -9379,7 +9379,7 @@ static int ipr_probe_ioa(struct pci_dev *pdev,
 	ENTER;
 
 	dev_info(&pdev->dev, "Found IOA with IRQ: %d\n", pdev->irq);
-	host = scsi_host_alloc(&driver_template, sizeof(*ioa_cfg));
+	host = scsi_host_alloc(&driver_template, sizeof(*ioa_cfg), &pdev->dev);
 
 	if (!host) {
 		dev_err(&pdev->dev, "call to scsi_host_alloc failed!\n");
diff --git a/drivers/scsi/ips.c b/drivers/scsi/ips.c
index 41ed73966a48..709a2a799f3e 100644
--- a/drivers/scsi/ips.c
+++ b/drivers/scsi/ips.c
@@ -6638,7 +6638,7 @@ ips_register_scsi(int index)
 {
 	struct Scsi_Host *sh;
 	ips_ha_t *ha, *oldha = ips_ha[index];
-	sh = scsi_host_alloc(&ips_driver_template, sizeof (ips_ha_t));
+	sh = scsi_host_alloc(&ips_driver_template, sizeof(ips_ha_t), &oldha->pcidev->dev);
 	if (!sh) {
 		IPS_PRINTK(KERN_WARNING, oldha->pcidev,
 			   "Unable to register controller with SCSI subsystem\n");
diff --git a/drivers/scsi/isci/init.c b/drivers/scsi/isci/init.c
index acf0c2038d20..7da06ace20ad 100644
--- a/drivers/scsi/isci/init.c
+++ b/drivers/scsi/isci/init.c
@@ -538,7 +538,7 @@ static struct isci_host *isci_host_alloc(struct pci_dev *pdev, int id)
 		INIT_LIST_HEAD(&idev->node);
 	}
 
-	shost = scsi_host_alloc(&isci_sht, sizeof(void *));
+	shost = scsi_host_alloc(&isci_sht, sizeof(void *), &pdev->dev);
 	if (!shost)
 		return NULL;
 
diff --git a/drivers/scsi/jazz_esp.c b/drivers/scsi/jazz_esp.c
index 35137f5cfb3a..1817246e4cc6 100644
--- a/drivers/scsi/jazz_esp.c
+++ b/drivers/scsi/jazz_esp.c
@@ -110,7 +110,7 @@ static int esp_jazz_probe(struct platform_device *dev)
 	struct resource *res;
 	int err;
 
-	host = scsi_host_alloc(tpnt, sizeof(struct esp));
+	host = scsi_host_alloc(tpnt, sizeof(struct esp), NULL);
 
 	err = -ENOMEM;
 	if (!host)
diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c
index 160f02f2f51d..458955dfc0aa 100644
--- a/drivers/scsi/libiscsi.c
+++ b/drivers/scsi/libiscsi.c
@@ -2903,7 +2903,7 @@ struct Scsi_Host *iscsi_host_alloc(const struct scsi_host_template *sht,
 	struct Scsi_Host *shost;
 	struct iscsi_host *ihost;
 
-	shost = scsi_host_alloc(sht, sizeof(struct iscsi_host) + dd_data_size);
+	shost = scsi_host_alloc(sht, sizeof(struct iscsi_host) + dd_data_size, NULL);
 	if (!shost)
 		return NULL;
 	ihost = shost_priv(shost);
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index 82af59c913e9..25264866075f 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -4745,7 +4745,7 @@ lpfc_create_port(struct lpfc_hba *phba, int instance, struct device *dev)
 		template->sg_tablesize = lpfc_get_sg_tablesize(phba);
 	}
 
-	shost = scsi_host_alloc(template, sizeof(struct lpfc_vport));
+	shost = scsi_host_alloc(template, sizeof(struct lpfc_vport), &phba->pcidev->dev);
 	if (!shost)
 		goto out;
 
diff --git a/drivers/scsi/mac53c94.c b/drivers/scsi/mac53c94.c
index de2bd860b9d7..737e5f2fef6f 100644
--- a/drivers/scsi/mac53c94.c
+++ b/drivers/scsi/mac53c94.c
@@ -426,7 +426,7 @@ static int mac53c94_probe(struct macio_dev *mdev, const struct of_device_id *mat
 		return -EBUSY;
 	}
 
-       	host = scsi_host_alloc(&mac53c94_template, sizeof(struct fsc_state));
+	host = scsi_host_alloc(&mac53c94_template, sizeof(struct fsc_state), NULL);
 	if (host == NULL) {
 		printk(KERN_ERR "mac53c94: couldn't register host");
 		rc = -ENOMEM;
diff --git a/drivers/scsi/mac_esp.c b/drivers/scsi/mac_esp.c
index a0ceaa2428c2..c8652bfdb3b8 100644
--- a/drivers/scsi/mac_esp.c
+++ b/drivers/scsi/mac_esp.c
@@ -301,7 +301,7 @@ static int esp_mac_probe(struct platform_device *dev)
 	if (dev->id > 1)
 		return -ENODEV;
 
-	host = scsi_host_alloc(tpnt, sizeof(struct esp));
+	host = scsi_host_alloc(tpnt, sizeof(struct esp), NULL);
 
 	err = -ENOMEM;
 	if (!host)
diff --git a/drivers/scsi/mac_scsi.c b/drivers/scsi/mac_scsi.c
index a86bd839d08e..eeb00ee30aaa 100644
--- a/drivers/scsi/mac_scsi.c
+++ b/drivers/scsi/mac_scsi.c
@@ -474,7 +474,7 @@ static int __init mac_scsi_probe(struct platform_device *pdev)
 		mac_scsi_template.sg_tablesize = 1;
 
 	instance = scsi_host_alloc(&mac_scsi_template,
-	                           sizeof(struct NCR5380_hostdata));
+				   sizeof(struct NCR5380_hostdata), NULL);
 	if (!instance)
 		return -ENOMEM;
 
diff --git a/drivers/scsi/megaraid.c b/drivers/scsi/megaraid.c
index 9476a0d2c72d..701e54843193 100644
--- a/drivers/scsi/megaraid.c
+++ b/drivers/scsi/megaraid.c
@@ -4203,7 +4203,7 @@ megaraid_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
 	}
 
 	/* Initialize SCSI Host structure */
-	host = scsi_host_alloc(&megaraid_template, sizeof(adapter_t));
+	host = scsi_host_alloc(&megaraid_template, sizeof(adapter_t), &pdev->dev);
 	if (!host)
 		goto out_iounmap;
 
diff --git a/drivers/scsi/megaraid/megaraid_mbox.c b/drivers/scsi/megaraid/megaraid_mbox.c
index ce89032a5a74..17b015b3d35f 100644
--- a/drivers/scsi/megaraid/megaraid_mbox.c
+++ b/drivers/scsi/megaraid/megaraid_mbox.c
@@ -620,7 +620,7 @@ megaraid_io_attach(adapter_t *adapter)
 	struct Scsi_Host	*host;
 
 	// Initialize SCSI Host structure
-	host = scsi_host_alloc(&megaraid_template_g, 8);
+	host = scsi_host_alloc(&megaraid_template_g, 8, &pdev->dev);
 	if (!host) {
 		con_log(CL_ANN, (KERN_WARNING
 			"megaraid mbox: scsi_host_alloc failed\n"));
diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c
index ecd365d78ae3..bae1070371d5 100644
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
@@ -7512,7 +7512,7 @@ static int megasas_probe_one(struct pci_dev *pdev,
 	pci_set_master(pdev);
 
 	host = scsi_host_alloc(&megasas_template,
-			       sizeof(struct megasas_instance));
+			       sizeof(struct megasas_instance), &pdev->dev);
 
 	if (!host) {
 		dev_printk(KERN_DEBUG, &pdev->dev, "scsi_host_alloc failed\n");
diff --git a/drivers/scsi/mesh.c b/drivers/scsi/mesh.c
index dc1402b321da..a4ba6bc49d23 100644
--- a/drivers/scsi/mesh.c
+++ b/drivers/scsi/mesh.c
@@ -1877,7 +1877,7 @@ static int mesh_probe(struct macio_dev *mdev, const struct of_device_id *match)
        		printk(KERN_ERR "mesh: unable to request memory resources");
 		return -EBUSY;
 	}
-       	mesh_host = scsi_host_alloc(&mesh_template, sizeof(struct mesh_state));
+	mesh_host = scsi_host_alloc(&mesh_template, sizeof(struct mesh_state), NULL);
 	if (mesh_host == NULL) {
 		printk(KERN_ERR "mesh: couldn't register host");
 		goto out_release;
diff --git a/drivers/scsi/mpi3mr/mpi3mr_os.c b/drivers/scsi/mpi3mr/mpi3mr_os.c
index 402d1f35d214..c74e2addc77d 100644
--- a/drivers/scsi/mpi3mr/mpi3mr_os.c
+++ b/drivers/scsi/mpi3mr/mpi3mr_os.c
@@ -5468,7 +5468,7 @@ mpi3mr_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 	}
 
 	shost = scsi_host_alloc(&mpi3mr_driver_template,
-	    sizeof(struct mpi3mr_ioc));
+	    sizeof(struct mpi3mr_ioc), &pdev->dev);
 	if (!shost) {
 		retval = -ENODEV;
 		goto shost_failed;
diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
index 6ff788557294..06c8df6261d4 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
@@ -13367,7 +13367,7 @@ _scsih_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 			PCIE_LINK_STATE_L1 | PCIE_LINK_STATE_CLKPM);
 		/* Use mpt2sas driver host template for SAS 2.0 HBA's */
 		shost = scsi_host_alloc(&mpt2sas_driver_template,
-		  sizeof(struct MPT3SAS_ADAPTER));
+		  sizeof(struct MPT3SAS_ADAPTER), &pdev->dev);
 		if (!shost)
 			return -ENODEV;
 		ioc = shost_priv(shost);
@@ -13399,7 +13399,7 @@ _scsih_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 	case MPI26_VERSION:
 		/* Use mpt3sas driver host template for SAS 3.0 HBA's */
 		shost = scsi_host_alloc(&mpt3sas_driver_template,
-		  sizeof(struct MPT3SAS_ADAPTER));
+		  sizeof(struct MPT3SAS_ADAPTER), &pdev->dev);
 		if (!shost)
 			return -ENODEV;
 		ioc = shost_priv(shost);
diff --git a/drivers/scsi/mvme147.c b/drivers/scsi/mvme147.c
index 98b99c0f5bc7..4d61e25de2cf 100644
--- a/drivers/scsi/mvme147.c
+++ b/drivers/scsi/mvme147.c
@@ -97,7 +97,7 @@ static int __init mvme147_init(void)
 		return 0;
 
 	mvme147_shost = scsi_host_alloc(&mvme147_host_template,
-			sizeof(struct WD33C93_hostdata));
+			sizeof(struct WD33C93_hostdata), NULL);
 	if (!mvme147_shost)
 		goto err_out;
 	mvme147_shost->base = 0xfffe4000;
diff --git a/drivers/scsi/mvsas/mv_init.c b/drivers/scsi/mvsas/mv_init.c
index 5abc17a2e261..fd90b5eec0b4 100644
--- a/drivers/scsi/mvsas/mv_init.c
+++ b/drivers/scsi/mvsas/mv_init.c
@@ -494,7 +494,7 @@ static int mvs_pci_init(struct pci_dev *pdev, const struct pci_device_id *ent)
 	if (rc)
 		goto err_out_regions;
 
-	shost = scsi_host_alloc(&mvs_sht, sizeof(void *));
+	shost = scsi_host_alloc(&mvs_sht, sizeof(void *), &pdev->dev);
 	if (!shost) {
 		rc = -ENOMEM;
 		goto err_out_regions;
diff --git a/drivers/scsi/mvumi.c b/drivers/scsi/mvumi.c
index e70d336b4ab3..d12b33a32a09 100644
--- a/drivers/scsi/mvumi.c
+++ b/drivers/scsi/mvumi.c
@@ -2468,7 +2468,7 @@ static int mvumi_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
 	if (ret)
 		goto fail_set_dma_mask;
 
-	host = scsi_host_alloc(&mvumi_template, sizeof(*mhba));
+	host = scsi_host_alloc(&mvumi_template, sizeof(*mhba), &pdev->dev);
 	if (!host) {
 		dev_err(&pdev->dev, "scsi_host_alloc failed\n");
 		ret = -ENOMEM;
diff --git a/drivers/scsi/myrb.c b/drivers/scsi/myrb.c
index 3678b66310ed..f28c29b41cf6 100644
--- a/drivers/scsi/myrb.c
+++ b/drivers/scsi/myrb.c
@@ -3401,7 +3401,7 @@ static struct myrb_hba *myrb_detect(struct pci_dev *pdev,
 	struct Scsi_Host *shost;
 	struct myrb_hba *cb = NULL;
 
-	shost = scsi_host_alloc(&myrb_template, sizeof(struct myrb_hba));
+	shost = scsi_host_alloc(&myrb_template, sizeof(struct myrb_hba), &pdev->dev);
 	if (!shost) {
 		dev_err(&pdev->dev, "Unable to allocate Controller\n");
 		return NULL;
diff --git a/drivers/scsi/myrs.c b/drivers/scsi/myrs.c
index afd68225221a..a8ce488e6520 100644
--- a/drivers/scsi/myrs.c
+++ b/drivers/scsi/myrs.c
@@ -1937,7 +1937,7 @@ static struct myrs_hba *myrs_alloc_host(struct pci_dev *pdev,
 	struct Scsi_Host *shost;
 	struct myrs_hba *cs;
 
-	shost = scsi_host_alloc(&myrs_template, sizeof(struct myrs_hba));
+	shost = scsi_host_alloc(&myrs_template, sizeof(struct myrs_hba), &pdev->dev);
 	if (!shost)
 		return NULL;
 
diff --git a/drivers/scsi/ncr53c8xx.c b/drivers/scsi/ncr53c8xx.c
index 5369ca3fe4fd..009d4c55054e 100644
--- a/drivers/scsi/ncr53c8xx.c
+++ b/drivers/scsi/ncr53c8xx.c
@@ -8108,7 +8108,7 @@ struct Scsi_Host * __init ncr_attach(struct scsi_host_template *tpnt,
 	printk(KERN_INFO "ncr53c720-%d: rev 0x%x irq %d\n",
 		unit, device->chip.revision_id, device->slot.irq);
 
-	instance = scsi_host_alloc(tpnt, sizeof(*host_data));
+	instance = scsi_host_alloc(tpnt, sizeof(*host_data), NULL);
 	if (!instance)
 	        goto attach_error;
 	host_data = (struct host_data *) instance->hostdata;
diff --git a/drivers/scsi/nsp32.c b/drivers/scsi/nsp32.c
index e893d5677241..681e1d554657 100644
--- a/drivers/scsi/nsp32.c
+++ b/drivers/scsi/nsp32.c
@@ -2556,7 +2556,7 @@ static int nsp32_detect(struct pci_dev *pdev)
 	/*
 	 * register this HBA as SCSI device
 	 */
-	host = scsi_host_alloc(&nsp32_template, sizeof(nsp32_hw_data));
+	host = scsi_host_alloc(&nsp32_template, sizeof(nsp32_hw_data), &pdev->dev);
 	if (host == NULL) {
 		nsp32_msg (KERN_ERR, "failed to scsi register");
 		goto err;
diff --git a/drivers/scsi/pcmcia/nsp_cs.c b/drivers/scsi/pcmcia/nsp_cs.c
index ae70fda96ae9..32ca7872b7f8 100644
--- a/drivers/scsi/pcmcia/nsp_cs.c
+++ b/drivers/scsi/pcmcia/nsp_cs.c
@@ -1326,7 +1326,7 @@ static struct Scsi_Host *nsp_detect(struct scsi_host_template *sht)
 	nsp_hw_data *data_b = &nsp_data_base, *data;
 
 	nsp_dbg(NSP_DEBUG_INIT, "this_id=%d", sht->this_id);
-	host = scsi_host_alloc(&nsp_driver_template, sizeof(nsp_hw_data));
+	host = scsi_host_alloc(&nsp_driver_template, sizeof(nsp_hw_data), NULL);
 	if (host == NULL) {
 		nsp_dbg(NSP_DEBUG_INIT, "host failed");
 		return NULL;
diff --git a/drivers/scsi/pcmcia/qlogic_stub.c b/drivers/scsi/pcmcia/qlogic_stub.c
index 5d8a434d3f66..b417b39ab723 100644
--- a/drivers/scsi/pcmcia/qlogic_stub.c
+++ b/drivers/scsi/pcmcia/qlogic_stub.c
@@ -106,7 +106,7 @@ static struct Scsi_Host *qlogic_detect(struct scsi_host_template *host,
 	qlogicfas408_setup(qbase, qinitid, INT_TYPE);
 
 	host->name = qlogic_name;
-	shost = scsi_host_alloc(host, sizeof(struct qlogicfas408_priv));
+	shost = scsi_host_alloc(host, sizeof(struct qlogicfas408_priv), NULL);
 	if (!shost)
 		goto err;
 	shost->io_port = qbase;
diff --git a/drivers/scsi/pcmcia/sym53c500_cs.c b/drivers/scsi/pcmcia/sym53c500_cs.c
index 1530c1ad5d36..83aab6c69a62 100644
--- a/drivers/scsi/pcmcia/sym53c500_cs.c
+++ b/drivers/scsi/pcmcia/sym53c500_cs.c
@@ -752,7 +752,7 @@ SYM53C500_config(struct pcmcia_device *link)
 
 	chip_init(port_base);
 
-	host = scsi_host_alloc(tpnt, sizeof(struct sym53c500_data));
+	host = scsi_host_alloc(tpnt, sizeof(struct sym53c500_data), NULL);
 	if (!host) {
 		printk("SYM53C500: Unable to register host, giving up.\n");
 		goto err_release;
diff --git a/drivers/scsi/pm8001/pm8001_init.c b/drivers/scsi/pm8001/pm8001_init.c
index e93ea76b565e..873810c6853c 100644
--- a/drivers/scsi/pm8001/pm8001_init.c
+++ b/drivers/scsi/pm8001/pm8001_init.c
@@ -1142,7 +1142,7 @@ static int pm8001_pci_probe(struct pci_dev *pdev,
 	if (rc)
 		goto err_out_regions;
 
-	shost = scsi_host_alloc(&pm8001_sht, sizeof(void *));
+	shost = scsi_host_alloc(&pm8001_sht, sizeof(void *), &pdev->dev);
 	if (!shost) {
 		rc = -ENOMEM;
 		goto err_out_regions;
diff --git a/drivers/scsi/pmcraid.c b/drivers/scsi/pmcraid.c
index 942a99393204..a26c747806ef 100644
--- a/drivers/scsi/pmcraid.c
+++ b/drivers/scsi/pmcraid.c
@@ -5236,7 +5236,7 @@ static int pmcraid_probe(struct pci_dev *pdev,
 	}
 
 	host = scsi_host_alloc(&pmcraid_host_template,
-				sizeof(struct pmcraid_instance));
+				sizeof(struct pmcraid_instance), &pdev->dev);
 
 	if (!host) {
 		dev_err(&pdev->dev, "scsi_host_alloc failed!\n");
diff --git a/drivers/scsi/ppa.c b/drivers/scsi/ppa.c
index 8a4e910d5758..40fe9c6acc3b 100644
--- a/drivers/scsi/ppa.c
+++ b/drivers/scsi/ppa.c
@@ -1101,7 +1101,7 @@ static int __ppa_attach(struct parport *pb)
 	INIT_DELAYED_WORK(&dev->ppa_tq, ppa_interrupt);
 
 	err = -ENOMEM;
-	host = scsi_host_alloc(&ppa_template, sizeof(ppa_struct *));
+	host = scsi_host_alloc(&ppa_template, sizeof(ppa_struct *), NULL);
 	if (!host)
 		goto out1;
 	host->io_port = pb->base;
diff --git a/drivers/scsi/ps3rom.c b/drivers/scsi/ps3rom.c
index a9c727d22931..3542a35b137e 100644
--- a/drivers/scsi/ps3rom.c
+++ b/drivers/scsi/ps3rom.c
@@ -361,7 +361,7 @@ static int ps3rom_probe(struct ps3_system_bus_device *_dev)
 		goto fail_free_bounce;
 
 	host = scsi_host_alloc(&ps3rom_host_template,
-			       sizeof(struct ps3rom_private));
+			       sizeof(struct ps3rom_private), NULL);
 	if (!host) {
 		dev_err(&dev->sbd.core, "%s:%u: scsi_host_alloc failed\n",
 			__func__, __LINE__);
diff --git a/drivers/scsi/qla1280.c b/drivers/scsi/qla1280.c
index cdd6fe002c32..f88f2e659baa 100644
--- a/drivers/scsi/qla1280.c
+++ b/drivers/scsi/qla1280.c
@@ -4142,7 +4142,7 @@ qla1280_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
 	pci_set_master(pdev);
 
 	error = -ENOMEM;
-	host = scsi_host_alloc(&qla1280_driver_template, sizeof(*ha));
+	host = scsi_host_alloc(&qla1280_driver_template, sizeof(*ha), &pdev->dev);
 	if (!host) {
 		printk(KERN_WARNING
 		       "qla1280: Failed to register host, aborting.\n");
diff --git a/drivers/scsi/qla2xxx/qla_mid.c b/drivers/scsi/qla2xxx/qla_mid.c
index c563133f751e..4bafc367e21d 100644
--- a/drivers/scsi/qla2xxx/qla_mid.c
+++ b/drivers/scsi/qla2xxx/qla_mid.c
@@ -502,7 +502,7 @@ qla24xx_create_vhost(struct fc_vport *fc_vport)
 	vha = qla2x00_create_host(sht, ha);
 	if (!vha) {
 		ql_log(ql_log_warn, vha, 0xa005,
-		    "scsi_host_alloc() failed for vport.\n");
+		    "scsi_host_alloc() failed for vport.\n", NULL);
 		return(NULL);
 	}
 
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index 72b1c28e4dae..ce0d097f3317 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -5046,7 +5046,7 @@ struct scsi_qla_host *qla2x00_create_host(const struct scsi_host_template *sht,
 	struct Scsi_Host *host;
 	struct scsi_qla_host *vha = NULL;
 
-	host = scsi_host_alloc(sht, sizeof(scsi_qla_host_t));
+	host = scsi_host_alloc(sht, sizeof(scsi_qla_host_t), &ha->pdev->dev);
 	if (!host) {
 		ql_log_pci(ql_log_fatal, ha->pdev, 0x0107,
 		    "Failed to allocate host from the scsi layer, aborting.\n");
diff --git a/drivers/scsi/qlogicfas.c b/drivers/scsi/qlogicfas.c
index 8f05e3707d69..b9ead7dc371c 100644
--- a/drivers/scsi/qlogicfas.c
+++ b/drivers/scsi/qlogicfas.c
@@ -95,7 +95,7 @@ static struct Scsi_Host *__qlogicfas_detect(struct scsi_host_template *host,
 
 	qlogicfas408_setup(qbase, qinitid, INT_TYPE);
 
-	hreg = scsi_host_alloc(host, sizeof(struct qlogicfas408_priv));
+	hreg = scsi_host_alloc(host, sizeof(struct qlogicfas408_priv), NULL);
 	if (!hreg)
 		goto err_release_mem;
 	priv = get_priv_by_host(hreg);
diff --git a/drivers/scsi/qlogicpti.c b/drivers/scsi/qlogicpti.c
index ea0a2b5a0a42..f67a9b400100 100644
--- a/drivers/scsi/qlogicpti.c
+++ b/drivers/scsi/qlogicpti.c
@@ -1316,7 +1316,7 @@ static int qpti_sbus_probe(struct platform_device *op)
 	if (op->archdata.irqs[0] == 0)
 		return -ENODEV;
 
-	host = scsi_host_alloc(&qpti_template, sizeof(struct qlogicpti));
+	host = scsi_host_alloc(&qpti_template, sizeof(struct qlogicpti), NULL);
 	if (!host)
 		return -ENOMEM;
 
diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c
index bb6b0e7fb910..59488bf74ce0 100644
--- a/drivers/scsi/scsi_debug.c
+++ b/drivers/scsi/scsi_debug.c
@@ -9548,7 +9548,7 @@ static int sdebug_driver_probe(struct device *dev)
 
 	sdbg_host = dev_to_sdebug_host(dev);
 
-	hpnt = scsi_host_alloc(&sdebug_driver_template, 0);
+	hpnt = scsi_host_alloc(&sdebug_driver_template, 0, NULL);
 	if (NULL == hpnt) {
 		pr_err("scsi_host_alloc failed\n");
 		error = -ENODEV;
diff --git a/drivers/scsi/sgiwd93.c b/drivers/scsi/sgiwd93.c
index 6594661db5f4..07fbe6fda7c2 100644
--- a/drivers/scsi/sgiwd93.c
+++ b/drivers/scsi/sgiwd93.c
@@ -231,7 +231,7 @@ static int sgiwd93_probe(struct platform_device *pdev)
 	unsigned int irq = pd->irq;
 	int err;
 
-	host = scsi_host_alloc(&sgiwd93_template, sizeof(struct ip22_hostdata));
+	host = scsi_host_alloc(&sgiwd93_template, sizeof(struct ip22_hostdata), NULL);
 	if (!host) {
 		err = -ENOMEM;
 		goto out;
diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
index 65ff50982978..a3163c06b3f8 100644
--- a/drivers/scsi/smartpqi/smartpqi_init.c
+++ b/drivers/scsi/smartpqi/smartpqi_init.c
@@ -7619,7 +7619,7 @@ static int pqi_register_scsi(struct pqi_ctrl_info *ctrl_info)
 	int rc;
 	struct Scsi_Host *shost;
 
-	shost = scsi_host_alloc(&pqi_driver_template, sizeof(ctrl_info));
+	shost = scsi_host_alloc(&pqi_driver_template, sizeof(ctrl_info), &ctrl_info->pci_dev->dev);
 	if (!shost) {
 		dev_err(&ctrl_info->pci_dev->dev, "scsi_host_alloc failed\n");
 		return -ENOMEM;
diff --git a/drivers/scsi/snic/snic_main.c b/drivers/scsi/snic/snic_main.c
index 82953e6a0915..9edf6661e6f1 100644
--- a/drivers/scsi/snic/snic_main.c
+++ b/drivers/scsi/snic/snic_main.c
@@ -363,7 +363,7 @@ snic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	/*
 	 * Allocate SCSI Host and setup association between host, and snic
 	 */
-	shost = scsi_host_alloc(&snic_host_template, sizeof(struct snic));
+	shost = scsi_host_alloc(&snic_host_template, sizeof(struct snic), &pdev->dev);
 	if (!shost) {
 		SNIC_ERR("Unable to alloc scsi_host\n");
 		ret = -ENOMEM;
diff --git a/drivers/scsi/stex.c b/drivers/scsi/stex.c
index 6aeeb338633d..7d6b851fef24 100644
--- a/drivers/scsi/stex.c
+++ b/drivers/scsi/stex.c
@@ -1667,7 +1667,7 @@ static int stex_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 	S6flag = 0;
 	register_reboot_notifier(&stex_notifier);
 
-	host = scsi_host_alloc(&driver_template, sizeof(struct st_hba));
+	host = scsi_host_alloc(&driver_template, sizeof(struct st_hba), &pdev->dev);
 
 	if (!host) {
 		printk(KERN_ERR DRV_NAME "(%s): scsi_host_alloc failed\n",
diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
index 571ea549152b..fc4c05127dc4 100644
--- a/drivers/scsi/storvsc_drv.c
+++ b/drivers/scsi/storvsc_drv.c
@@ -1969,7 +1969,7 @@ static int storvsc_probe(struct hv_device *device,
 				(100 - ring_avail_percent_lowater) / 100;
 
 	host = scsi_host_alloc(&scsi_driver,
-			       sizeof(struct hv_host_device));
+			       sizeof(struct hv_host_device), NULL);
 	if (!host)
 		return -ENOMEM;
 
diff --git a/drivers/scsi/sun3_scsi.c b/drivers/scsi/sun3_scsi.c
index ca9cd691cc32..ed41b605328e 100644
--- a/drivers/scsi/sun3_scsi.c
+++ b/drivers/scsi/sun3_scsi.c
@@ -578,7 +578,7 @@ static int __init sun3_scsi_probe(struct platform_device *pdev)
 #endif
 
 	instance = scsi_host_alloc(&sun3_scsi_template,
-	                           sizeof(struct NCR5380_hostdata));
+				   sizeof(struct NCR5380_hostdata), NULL);
 	if (!instance) {
 		error = -ENOMEM;
 		goto fail_alloc;
diff --git a/drivers/scsi/sun3x_esp.c b/drivers/scsi/sun3x_esp.c
index 365406885b8e..f7e48f4c5444 100644
--- a/drivers/scsi/sun3x_esp.c
+++ b/drivers/scsi/sun3x_esp.c
@@ -175,7 +175,7 @@ static int esp_sun3x_probe(struct platform_device *dev)
 	struct resource *res;
 	int err = -ENOMEM;
 
-	host = scsi_host_alloc(tpnt, sizeof(struct esp));
+	host = scsi_host_alloc(tpnt, sizeof(struct esp), NULL);
 	if (!host)
 		goto fail;
 
diff --git a/drivers/scsi/sun_esp.c b/drivers/scsi/sun_esp.c
index aa430501f0c7..bc4e4030acb6 100644
--- a/drivers/scsi/sun_esp.c
+++ b/drivers/scsi/sun_esp.c
@@ -457,7 +457,7 @@ static int esp_sbus_probe_one(struct platform_device *op,
 	struct esp *esp;
 	int err;
 
-	host = scsi_host_alloc(tpnt, sizeof(struct esp));
+	host = scsi_host_alloc(tpnt, sizeof(struct esp), NULL);
 
 	err = -ENOMEM;
 	if (!host)
diff --git a/drivers/scsi/sym53c8xx_2/sym_glue.c b/drivers/scsi/sym53c8xx_2/sym_glue.c
index 27e22acaf1a7..16e821c3b59e 100644
--- a/drivers/scsi/sym53c8xx_2/sym_glue.c
+++ b/drivers/scsi/sym53c8xx_2/sym_glue.c
@@ -1300,7 +1300,7 @@ static struct Scsi_Host *sym_attach(const struct scsi_host_template *tpnt, int u
 	if (!fw)
 		goto attach_failed;
 
-	shost = scsi_host_alloc(tpnt, sizeof(*sym_data));
+	shost = scsi_host_alloc(tpnt, sizeof(*sym_data), &pdev->dev);
 	if (!shost)
 		goto attach_failed;
 	sym_data = shost_priv(shost);
diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio_scsi.c
index 5fdaa71f0652..88375574cb18 100644
--- a/drivers/scsi/virtio_scsi.c
+++ b/drivers/scsi/virtio_scsi.c
@@ -929,7 +929,7 @@ static int virtscsi_probe(struct virtio_device *vdev)
 	num_targets = virtscsi_config_get(vdev, max_target) + 1;
 
 	shost = scsi_host_alloc(&virtscsi_host_template,
-				struct_size(vscsi, req_vqs, num_queues));
+				struct_size(vscsi, req_vqs, num_queues), NULL);
 	if (!shost)
 		return -ENOMEM;
 
diff --git a/drivers/scsi/vmw_pvscsi.c b/drivers/scsi/vmw_pvscsi.c
index 151cac9f9c2a..32c39c66c49b 100644
--- a/drivers/scsi/vmw_pvscsi.c
+++ b/drivers/scsi/vmw_pvscsi.c
@@ -1435,7 +1435,7 @@ static int pvscsi_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 		PVSCSI_MAX_NUM_REQ_ENTRIES_PER_PAGE;
 	pvscsi_template.cmd_per_lun =
 		min(pvscsi_template.can_queue, pvscsi_cmd_per_lun);
-	host = scsi_host_alloc(&pvscsi_template, sizeof(struct pvscsi_adapter));
+	host = scsi_host_alloc(&pvscsi_template, sizeof(struct pvscsi_adapter), &pdev->dev);
 	if (!host) {
 		printk(KERN_ERR "vmw_pvscsi: failed to allocate host\n");
 		goto out_release_resources_and_disable;
diff --git a/drivers/scsi/wd719x.c b/drivers/scsi/wd719x.c
index 830d40f57f6a..0aa6bb093431 100644
--- a/drivers/scsi/wd719x.c
+++ b/drivers/scsi/wd719x.c
@@ -921,7 +921,7 @@ static int wd719x_pci_probe(struct pci_dev *pdev, const struct pci_device_id *d)
 		goto release_region;
 
 	err = -ENOMEM;
-	sh = scsi_host_alloc(&wd719x_template, sizeof(struct wd719x));
+	sh = scsi_host_alloc(&wd719x_template, sizeof(struct wd719x), &pdev->dev);
 	if (!sh)
 		goto release_region;
 
diff --git a/drivers/scsi/xen-scsifront.c b/drivers/scsi/xen-scsifront.c
index 989bcaee42ca..d4d57f33cc15 100644
--- a/drivers/scsi/xen-scsifront.c
+++ b/drivers/scsi/xen-scsifront.c
@@ -899,7 +899,7 @@ static int scsifront_probe(struct xenbus_device *dev,
 	int err = -ENOMEM;
 	char name[TASK_COMM_LEN];
 
-	host = scsi_host_alloc(&scsifront_sht, sizeof(*info));
+	host = scsi_host_alloc(&scsifront_sht, sizeof(*info), NULL);
 	if (!host) {
 		xenbus_dev_fatal(dev, err, "fail to allocate scsi host");
 		return err;
diff --git a/drivers/scsi/zorro_esp.c b/drivers/scsi/zorro_esp.c
index 1622285c9aec..5983015877a7 100644
--- a/drivers/scsi/zorro_esp.c
+++ b/drivers/scsi/zorro_esp.c
@@ -774,7 +774,7 @@ static int zorro_esp_probe(struct zorro_dev *z,
 		goto fail_free_zep;
 	}
 
-	host = scsi_host_alloc(tpnt, sizeof(struct esp));
+	host = scsi_host_alloc(tpnt, sizeof(struct esp), NULL);
 
 	if (!host) {
 		pr_err("No host detected; board configuration problem?\n");
diff --git a/include/scsi/libfc.h b/include/scsi/libfc.h
index be0ffe1e3395..17e545fa5c7e 100644
--- a/include/scsi/libfc.h
+++ b/include/scsi/libfc.h
@@ -883,7 +883,7 @@ libfc_host_alloc(const struct scsi_host_template *sht, int priv_size)
 	struct fc_lport *lport;
 	struct Scsi_Host *shost;
 
-	shost = scsi_host_alloc(sht, sizeof(*lport) + priv_size);
+	shost = scsi_host_alloc(sht, sizeof(*lport) + priv_size, NULL);
 	if (!shost)
 		return NULL;
 	lport = shost_priv(shost);
diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h
index 7e2011830ba4..09c82a41b7a1 100644
--- a/include/scsi/scsi_host.h
+++ b/include/scsi/scsi_host.h
@@ -796,7 +796,8 @@ static inline int scsi_host_in_recovery(struct Scsi_Host *shost)
 extern int scsi_queue_work(struct Scsi_Host *, struct work_struct *);
 extern void scsi_flush_work(struct Scsi_Host *);
 
-extern struct Scsi_Host *scsi_host_alloc(const struct scsi_host_template *, int);
+extern struct Scsi_Host *scsi_host_alloc(const struct scsi_host_template *sht,
+					 int privsize, struct device *dev);
 extern int __must_check scsi_add_host_with_dma(struct Scsi_Host *,
 					       struct device *,
 					       struct device *);
-- 
2.43.7



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 11:49:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 11:49:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332626.1595109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWuxq-0001fX-DN; Tue, 09 Jun 2026 11:49:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332626.1595109; Tue, 09 Jun 2026 11: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 1wWuxq-0001fO-AF; Tue, 09 Jun 2026 11:49:50 +0000
Received: by outflank-mailman (input) for mailman id 1332626;
 Tue, 09 Jun 2026 11:49:49 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sumit.saxena@broadcom.com>) id 1wWuxo-0001dZ-Vz
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 11:49:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWuxo-00CX3M-5M
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 13:49:48 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sumit.saxena@broadcom.com>)
 id 6a27fdd1-2eae-0a2a0a5409dd-0a2a4501c886-30
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 13:49:47 +0200
Received: from [209.85.214.226] (helo=mail-pl1-f226.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sumit.saxena@broadcom.com>)
 id 6a27fdda-c1f2-0a2a45010019-d155d6e2cc2d-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 13:49:47 +0200
Received: by mail-pl1-f226.google.com with SMTP id
 d9443c01a7336-2c0c20f0c0aso40978215ad.0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 04:49:47 -0700 (PDT)
Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com
 (address-144-49-247-118.dlp.protect.broadcom.com. [144.49.247.118])
 by smtp-relay.gmail.com with ESMTPS id
 d9443c01a7336-2c165f9ffecsm19311815ad.32.2026.06.09.04.49.44
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Tue, 09 Jun 2026 04:49:45 -0700 (PDT)
Received: by mail-pj1-f71.google.com with SMTP id
 98e67ed59e1d1-36b9d265308so4111662a91.2
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 04:49:44 -0700 (PDT)
Received: from sumit_ws.dhcp.broadcom.net ([192.19.234.250])
 by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-36f6bf903fasm18898075a91.2.2026.06.09.04.49.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Jun 2026 04:49:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=broadcom.com header.i="@broadcom.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781005786; x=1781610586;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:dkim-signature:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=d7jf3E3dEVwQVNqBXvyK4i7zv9F+advmarrjrg+nD7g=;
        b=DzQFpLvubK4z9kkY9HAekwQG/9yF86Zhes0wFFgKSZaEugaY6u2W0dvMAqxx8q1KNx
         Echp6D7KbnH+ZJf5iJM7O14x5tvQ4TcMYlbsZYjpIGR1/e0u3kB71LoGjX9DFw8Its3I
         52LK8ANQO90ov0fFsXYBWeIWfNLCigFBR5hnUX1t9TCZJQmCutOm3xG+zqC7r0h8qWd4
         Xzt0yhyrCRy3JqwhBZBJz6NDctOl8iTTN8XaoAdJRTyhpv9j80usXRiCD7M9xOgv//mp
         SOfsNJ/aFNVm3XVocL9a2XMOF+aCIIFdwDKcJ9il49p0OT8rW/JVl7myKHvzCVKZ9dBw
         /3Hw==
X-Forwarded-Encrypted: i=1; AFNElJ+GpFaFGKcEMOUWXMKKQr++fRan9qJw9bzkaBpbVtrFzZI6x6RB0phhRIYqAhr/Vxt3/uhk5/wf+hw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy8ObSbbn1CvWd2uTOzH36RV9wM87aBO5cOUsEbVFgGvXSXq/ub
	upcllSOtBwlW9gvrgaj9fUNk6iTHg/lKff9QTedFBNO/Licqy2tf8tAVmMrEBjCaszvU+HCeRK2
	eCL8uC0ihLGosQpDzfmxFpZ3vDgVAps/IddnrdqsGPeyTtlPYC61y6OkmmhgC9mK4ndJmVjxr4A
	MKxPO1gxF3LuYk7msKK9/Q4LvcRWPeQpMF0mllTSgZJP+EF0X2inZkwdiHpSPmv64fvfuZBapWE
	lEyAVl96xCerQ9q+7Kt4g==
X-Gm-Gg: Acq92OHrjlVLIgj+wQeUlYLBCn4rO+3/ezS15u8+LJCtHKmSiG+gNX3ItX61hJ+sBcp
	thBYcHtRwFlha32T9672rn4j9MzpXm/Xk8bCgAPvlsQy/mcMZCmw48UjO9kkdY4L5W0mwOwxLXF
	vyvNpix/0TD8CFtSR61psnXPWB8j2mTPOxQtgY5hHmE+s6G3xZnX/QCJDCdQ3Eb7VjO7DA6vXs3
	69xg/Wt/c6/YgCkPMb06T/bNhaSME34U2iKp+h9ywkvktpW9Fm5p1StshoI7s6v6Zgh+S/TuMFl
	EliFJKLQmRjQpDxv++dVtPLMLPpluSUTn4qq6ligiiJED3zSET9P+V5Cbc/fjCqNyawGMugutFQ
	YEvHGrIXoYQhK+U7bySZ9sOBLAEutWtzxpLv5xDWEbOQGSAwbOZrrCiZwio0W72eX7ymB9QFTuF
	uw44ilg+hwuwIKsBjv/fdKzYT94/SZCv2wJbkGGdqbe61RdXsVM4MuaV55k/dXeFZE3zr/SQ==
X-Received: by 2002:a17:903:41d2:b0:2c2:1982:5270 with SMTP id d9443c01a7336-2c219825471mr177775805ad.21.1781005785513;
        Tue, 09 Jun 2026 04:49:45 -0700 (PDT)
X-Relaying-Domain: broadcom.com
X-CFilter-Loop: Reflected
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=broadcom.com; s=google; t=1781005784; x=1781610584; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=d7jf3E3dEVwQVNqBXvyK4i7zv9F+advmarrjrg+nD7g=;
        b=bV0AnVoUFK1zVgdFHbP+NnPXr8c9KzlxCSc2MRY8LrHXj8v66nYYmb1gqvjqu1iMZl
         Crw9TUpYi+bUcT70NQjJTej3uxg1qsqFCwMIGcSF546wyPzH7hi74zT3/o+9YeJWF1Fy
         QII3MpBtp/Vf+0JXdNEAwq4AAEpSIdd4rGIo0=
X-Forwarded-Encrypted: i=1; AFNElJ/2CCXsJdI1+4PaIT0kFBHBjH4LNErvk6a5xu98YmCA+QYHIj0VikoPEzjJv4rgFAFbWqOmyKuEfbY=@lists.xenproject.org
X-Received: by 2002:a17:90b:3503:b0:369:7f25:cec0 with SMTP id 98e67ed59e1d1-370ebff34bcmr20900092a91.0.1781005783465;
        Tue, 09 Jun 2026 04:49:43 -0700 (PDT)
X-Received: by 2002:a17:90b:3503:b0:369:7f25:cec0 with SMTP id 98e67ed59e1d1-370ebff34bcmr20900004a91.0.1781005782876;
        Tue, 09 Jun 2026 04:49:42 -0700 (PDT)
From: Sumit Saxena <sumit.saxena@broadcom.com>
To: "Martin K . Petersen" <martin.petersen@oracle.com>,
	Jens Axboe <axboe@kernel.dk>
Cc: "James E . J . Bottomley" <James.Bottomley@HansenPartnership.com>,
	linux-scsi@vger.kernel.org,
	linux-block@vger.kernel.org,
	Adam Radford <aradford@gmail.com>,
	Khalid Aziz <khalid@gonehiking.org>,
	Adaptec OEM Raid Solutions <aacraid@microsemi.com>,
	Matthew Wilcox <willy@infradead.org>,
	Hannes Reinecke <hare@suse.com>,
	"Juergen E . Fischer" <fischer@norbit.de>,
	Russell King <linux@armlinux.org.uk>,
	linux-arm-kernel@lists.infradead.org,
	Finn Thain <fthain@linux-m68k.org>,
	Michael Schmitz <schmitzmic@gmail.com>,
	Anil Gurumurthy <anil.gurumurthy@qlogic.com>,
	Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>,
	Oliver Neukum <oliver@neukum.org>,
	Ali Akcaagac <aliakc@web.de>,
	Jamie Lenehan <lenehan@twibble.org>,
	Ram Vegesna <ram.vegesna@broadcom.com>,
	target-devel@vger.kernel.org,
	Bradley Grove <linuxdrivers@attotech.com>,
	Satish Kharat <satishkh@cisco.com>,
	Sesidhar Baddela <sebaddel@cisco.com>,
	Karan Tilak Kumar <kartilak@cisco.com>,
	Yihang Li <liyihang9@h-partners.com>,
	Don Brace <don.brace@microchip.com>,
	storagedev@microchip.com,
	HighPoint Linux Team <linux@highpoint-tech.com>,
	Tyrel Datwyler <tyreld@linux.ibm.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	linuxppc-dev@lists.ozlabs.org,
	Brian King <brking@us.ibm.com>,
	Lee Duncan <lduncan@suse.com>,
	Chris Leech <cleech@redhat.com>,
	Mike Christie <michael.christie@oracle.com>,
	open-iscsi@googlegroups.com,
	Justin Tee <justin.tee@broadcom.com>,
	Paul Ely <paul.ely@broadcom.com>,
	Kashyap Desai <kashyap.desai@broadcom.com>,
	Shivasharan S <shivasharan.srikanteshwara@broadcom.com>,
	Chandrakanth Patil <chandrakanth.patil@broadcom.com>,
	megaraidlinux.pdl@broadcom.com,
	Sathya Prakash Veerichetty <sathya.prakash@broadcom.com>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	mpi3mr-linuxdrv.pdl@broadcom.com,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Ranjan Kumar <ranjan.kumar@broadcom.com>,
	MPT-FusionLinux.pdl@broadcom.com,
	Daniel Palmer <daniel@thingy.jp>,
	GOTO Masanori <gotom@debian.or.jp>,
	YOKOTA Hiroshi <yokota@netlab.is.tsukuba.ac.jp>,
	Jack Wang <jinpu.wang@cloud.ionos.com>,
	Geoff Levand <geoff@infradead.org>,
	Michael Reed <mdr@sgi.com>,
	Nilesh Javali <njavali@marvell.com>,
	GR-QLogic-Storage-Upstream@marvell.com,
	Narsimhulu Musini <nmusini@cisco.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Long Li <longli@microsoft.com>,
	linux-hyperv@vger.kernel.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Eugenio Perez <eperezma@redhat.com>,
	virtualization@lists.linux.dev,
	Vishal Bhakta <vishal.bhakta@broadcom.com>,
	bcm-kernel-feedback-list@broadcom.com,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	Bart Van Assche <bvanassche@acm.org>,
	Sumit Saxena <sumit.saxena@broadcom.com>
Subject: [PATCH v3 3/4] block: drop shared-tag fairness throttling
Date: Tue,  9 Jun 2026 17:48:02 +0530
Message-ID: <20260609121806.2121755-4-sumit.saxena@broadcom.com>
X-Mailer: git-send-email 2.43.7
In-Reply-To: <20260609121806.2121755-1-sumit.saxena@broadcom.com>
References: <20260609121806.2121755-1-sumit.saxena@broadcom.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e
X-purgate-ID: tlsNG-d62444/1781005787-B5D41FF4-CECA9E83/0/0
X-purgate-type: clean
X-purgate-size: 10271

From: Bart Van Assche <bvanassche@acm.org>

Original patch [1] by Bart Van Assche; this version is rebased onto the
current tree.  In testing it improves IOPS by roughly 16-18% by removing
the fair-sharing throttle on shared tag queues.

This patch removes the following code and structure members:
- The function hctx_may_queue().
- blk_mq_hw_ctx.nr_active and request_queue.nr_active_requests_shared_tags
  and also all the code that modifies these two member variables.

[1]: https://lore.kernel.org/linux-block/20240529213921.3166462-1-bvanassche@acm.org/

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>
---
 block/blk-core.c       |   2 -
 block/blk-mq-debugfs.c |  22 ++++++++-
 block/blk-mq-tag.c     |   4 --
 block/blk-mq.c         |  17 +------
 block/blk-mq.h         | 100 -----------------------------------------
 include/linux/blk-mq.h |   6 ---
 include/linux/blkdev.h |   2 -
 7 files changed, 22 insertions(+), 131 deletions(-)

diff --git a/block/blk-core.c b/block/blk-core.c
index 17450058ea6d..129acc1b27e5 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -421,8 +421,6 @@ struct request_queue *blk_alloc_queue(struct queue_limits *lim, int node_id)
 
 	q->node = node_id;
 
-	atomic_set(&q->nr_active_requests_shared_tags, 0);
-
 	timer_setup(&q->timeout, blk_rq_timed_out_timer, 0);
 	INIT_WORK(&q->timeout_work, blk_timeout_work);
 	INIT_LIST_HEAD(&q->icq_list);
diff --git a/block/blk-mq-debugfs.c b/block/blk-mq-debugfs.c
index 047ec887456b..8b85a7f8e987 100644
--- a/block/blk-mq-debugfs.c
+++ b/block/blk-mq-debugfs.c
@@ -468,11 +468,31 @@ static int hctx_sched_tags_bitmap_show(void *data, struct seq_file *m)
 	return 0;
 }
 
+struct count_active_params {
+	struct blk_mq_hw_ctx	*hctx;
+	int			*active;
+};
+
+static bool hctx_count_active(struct request *rq, void *data)
+{
+	const struct count_active_params *params = data;
+
+	if (rq->mq_hctx == params->hctx)
+		(*params->active)++;
+
+	return true;
+}
+
 static int hctx_active_show(void *data, struct seq_file *m)
 {
 	struct blk_mq_hw_ctx *hctx = data;
+	int active = 0;
+	struct count_active_params params = { .hctx = hctx, .active = &active };
+
+	blk_mq_all_tag_iter(hctx->sched_tags ?: hctx->tags, hctx_count_active,
+			    &params);
 
-	seq_printf(m, "%d\n", __blk_mq_active_requests(hctx));
+	seq_printf(m, "%d\n", active);
 	return 0;
 }
 
diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c
index 33946cdb5716..bfd27cc6249b 100644
--- a/block/blk-mq-tag.c
+++ b/block/blk-mq-tag.c
@@ -109,10 +109,6 @@ void __blk_mq_tag_idle(struct blk_mq_hw_ctx *hctx)
 static int __blk_mq_get_tag(struct blk_mq_alloc_data *data,
 			    struct sbitmap_queue *bt)
 {
-	if (!data->q->elevator && !(data->flags & BLK_MQ_REQ_RESERVED) &&
-			!hctx_may_queue(data->hctx, bt))
-		return BLK_MQ_NO_TAG;
-
 	if (data->shallow_depth)
 		return sbitmap_queue_get_shallow(bt, data->shallow_depth);
 	else
diff --git a/block/blk-mq.c b/block/blk-mq.c
index 4c5c16cce4f8..bbac59a06044 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -489,8 +489,6 @@ __blk_mq_alloc_requests_batch(struct blk_mq_alloc_data *data)
 		}
 	} while (data->nr_tags > nr);
 
-	if (!(data->rq_flags & RQF_SCHED_TAGS))
-		blk_mq_add_active_requests(data->hctx, nr);
 	/* caller already holds a reference, add for remainder */
 	percpu_ref_get_many(&data->q->q_usage_counter, nr - 1);
 	data->nr_tags -= nr;
@@ -587,8 +585,6 @@ static struct request *__blk_mq_alloc_requests(struct blk_mq_alloc_data *data)
 		goto retry;
 	}
 
-	if (!(data->rq_flags & RQF_SCHED_TAGS))
-		blk_mq_inc_active_requests(data->hctx);
 	rq = blk_mq_rq_ctx_init(data, blk_mq_tags_from_data(data), tag);
 	blk_mq_rq_time_init(rq, alloc_time_ns);
 	return rq;
@@ -763,8 +759,6 @@ struct request *blk_mq_alloc_request_hctx(struct request_queue *q,
 	tag = blk_mq_get_tag(&data);
 	if (tag == BLK_MQ_NO_TAG)
 		goto out_queue_exit;
-	if (!(data.rq_flags & RQF_SCHED_TAGS))
-		blk_mq_inc_active_requests(data.hctx);
 	rq = blk_mq_rq_ctx_init(&data, blk_mq_tags_from_data(&data), tag);
 	blk_mq_rq_time_init(rq, alloc_time_ns);
 	rq->__data_len = 0;
@@ -807,10 +801,8 @@ static void __blk_mq_free_request(struct request *rq)
 	blk_pm_mark_last_busy(rq);
 	rq->mq_hctx = NULL;
 
-	if (rq->tag != BLK_MQ_NO_TAG) {
-		blk_mq_dec_active_requests(hctx);
+	if (rq->tag != BLK_MQ_NO_TAG)
 		blk_mq_put_tag(hctx->tags, ctx, rq->tag);
-	}
 	if (sched_tag != BLK_MQ_NO_TAG)
 		blk_mq_put_tag(hctx->sched_tags, ctx, sched_tag);
 	blk_mq_sched_restart(hctx);
@@ -1188,8 +1180,6 @@ static inline void blk_mq_flush_tag_batch(struct blk_mq_hw_ctx *hctx,
 {
 	struct request_queue *q = hctx->queue;
 
-	blk_mq_sub_active_requests(hctx, nr_tags);
-
 	blk_mq_put_tags(hctx->tags, tag_array, nr_tags);
 	percpu_ref_put_many(&q->q_usage_counter, nr_tags);
 }
@@ -1875,9 +1865,6 @@ bool __blk_mq_alloc_driver_tag(struct request *rq)
 	if (blk_mq_tag_is_reserved(rq->mq_hctx->sched_tags, rq->internal_tag)) {
 		bt = &rq->mq_hctx->tags->breserved_tags;
 		tag_offset = 0;
-	} else {
-		if (!hctx_may_queue(rq->mq_hctx, bt))
-			return false;
 	}
 
 	tag = __sbitmap_queue_get(bt);
@@ -1885,7 +1872,6 @@ bool __blk_mq_alloc_driver_tag(struct request *rq)
 		return false;
 
 	rq->tag = tag + tag_offset;
-	blk_mq_inc_active_requests(rq->mq_hctx);
 	return true;
 }
 
@@ -4058,7 +4044,6 @@ blk_mq_alloc_hctx(struct request_queue *q, struct blk_mq_tag_set *set,
 	if (!zalloc_cpumask_var_node(&hctx->cpumask, gfp, node))
 		goto free_hctx;
 
-	atomic_set(&hctx->nr_active, 0);
 	if (node == NUMA_NO_NODE)
 		node = set->numa_node;
 	hctx->numa_node = node;
diff --git a/block/blk-mq.h b/block/blk-mq.h
index aa15d31aaae9..8dfb67c55f5d 100644
--- a/block/blk-mq.h
+++ b/block/blk-mq.h
@@ -291,70 +291,9 @@ static inline int blk_mq_get_rq_budget_token(struct request *rq)
 	return -1;
 }
 
-static inline void __blk_mq_add_active_requests(struct blk_mq_hw_ctx *hctx,
-						int val)
-{
-	if (blk_mq_is_shared_tags(hctx->flags))
-		atomic_add(val, &hctx->queue->nr_active_requests_shared_tags);
-	else
-		atomic_add(val, &hctx->nr_active);
-}
-
-static inline void __blk_mq_inc_active_requests(struct blk_mq_hw_ctx *hctx)
-{
-	__blk_mq_add_active_requests(hctx, 1);
-}
-
-static inline void __blk_mq_sub_active_requests(struct blk_mq_hw_ctx *hctx,
-		int val)
-{
-	if (blk_mq_is_shared_tags(hctx->flags))
-		atomic_sub(val, &hctx->queue->nr_active_requests_shared_tags);
-	else
-		atomic_sub(val, &hctx->nr_active);
-}
-
-static inline void __blk_mq_dec_active_requests(struct blk_mq_hw_ctx *hctx)
-{
-	__blk_mq_sub_active_requests(hctx, 1);
-}
-
-static inline void blk_mq_add_active_requests(struct blk_mq_hw_ctx *hctx,
-					      int val)
-{
-	if (hctx->flags & BLK_MQ_F_TAG_QUEUE_SHARED)
-		__blk_mq_add_active_requests(hctx, val);
-}
-
-static inline void blk_mq_inc_active_requests(struct blk_mq_hw_ctx *hctx)
-{
-	if (hctx->flags & BLK_MQ_F_TAG_QUEUE_SHARED)
-		__blk_mq_inc_active_requests(hctx);
-}
-
-static inline void blk_mq_sub_active_requests(struct blk_mq_hw_ctx *hctx,
-					      int val)
-{
-	if (hctx->flags & BLK_MQ_F_TAG_QUEUE_SHARED)
-		__blk_mq_sub_active_requests(hctx, val);
-}
-
-static inline void blk_mq_dec_active_requests(struct blk_mq_hw_ctx *hctx)
-{
-	if (hctx->flags & BLK_MQ_F_TAG_QUEUE_SHARED)
-		__blk_mq_dec_active_requests(hctx);
-}
-
-static inline int __blk_mq_active_requests(struct blk_mq_hw_ctx *hctx)
-{
-	if (blk_mq_is_shared_tags(hctx->flags))
-		return atomic_read(&hctx->queue->nr_active_requests_shared_tags);
-	return atomic_read(&hctx->nr_active);
-}
 static inline void __blk_mq_put_driver_tag(struct blk_mq_hw_ctx *hctx,
 					   struct request *rq)
 {
-	blk_mq_dec_active_requests(hctx);
 	blk_mq_put_tag(hctx->tags, rq->mq_ctx, rq->tag);
 	rq->tag = BLK_MQ_NO_TAG;
 }
@@ -396,45 +335,6 @@ static inline void blk_mq_free_requests(struct list_head *list)
 	}
 }
 
-/*
- * For shared tag users, we track the number of currently active users
- * and attempt to provide a fair share of the tag depth for each of them.
- */
-static inline bool hctx_may_queue(struct blk_mq_hw_ctx *hctx,
-				  struct sbitmap_queue *bt)
-{
-	unsigned int depth, users;
-
-	if (!hctx || !(hctx->flags & BLK_MQ_F_TAG_QUEUE_SHARED))
-		return true;
-
-	/*
-	 * Don't try dividing an ant
-	 */
-	if (bt->sb.depth == 1)
-		return true;
-
-	if (blk_mq_is_shared_tags(hctx->flags)) {
-		struct request_queue *q = hctx->queue;
-
-		if (!test_bit(QUEUE_FLAG_HCTX_ACTIVE, &q->queue_flags))
-			return true;
-	} else {
-		if (!test_bit(BLK_MQ_S_TAG_ACTIVE, &hctx->state))
-			return true;
-	}
-
-	users = READ_ONCE(hctx->tags->active_queues);
-	if (!users)
-		return true;
-
-	/*
-	 * Allow at least some tags
-	 */
-	depth = max((bt->sb.depth + users - 1) / users, 4U);
-	return __blk_mq_active_requests(hctx) < depth;
-}
-
 /* run the code block in @dispatch_ops with rcu/srcu read lock held */
 #define __blk_mq_run_dispatch_ops(q, check_sleep, dispatch_ops)	\
 do {								\
diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h
index 18a2388ba581..ccbb07559402 100644
--- a/include/linux/blk-mq.h
+++ b/include/linux/blk-mq.h
@@ -432,12 +432,6 @@ struct blk_mq_hw_ctx {
 	/** @queue_num: Index of this hardware queue. */
 	unsigned int		queue_num;
 
-	/**
-	 * @nr_active: Number of active requests. Only used when a tag set is
-	 * shared across request queues.
-	 */
-	atomic_t		nr_active;
-
 	/** @cpuhp_online: List to store request if CPU is going to die */
 	struct hlist_node	cpuhp_online;
 	/** @cpuhp_dead: List to store request if some CPU die. */
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 890128cdea1c..95525b1d7b74 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -567,8 +567,6 @@ struct request_queue {
 	struct timer_list	timeout;
 	struct work_struct	timeout_work;
 
-	atomic_t		nr_active_requests_shared_tags;
-
 	struct blk_mq_tags	*sched_shared_tags;
 
 	struct list_head	icq_list;
-- 
2.43.7



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 11:50:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 11:50:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332634.1595118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWuyD-0003F4-M3; Tue, 09 Jun 2026 11:50:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332634.1595118; Tue, 09 Jun 2026 11:50: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 1wWuyD-0003Ex-JC; Tue, 09 Jun 2026 11:50:13 +0000
Received: by outflank-mailman (input) for mailman id 1332634;
 Tue, 09 Jun 2026 11:50:11 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sumit.saxena@broadcom.com>) id 1wWuyB-0003D7-JV
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 11:50:11 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWuyB-00GBDM-00
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 13:50:11 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sumit.saxena@broadcom.com>)
 id 6a27fde0-5cb7-0a2a0a5109dd-0a2a450cc5a0-40
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 13:50:10 +0200
Received: from [74.125.82.226] (helo=mail-dy1-f226.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sumit.saxena@broadcom.com>)
 id 6a27fdf1-62f1-0a2a450c0019-4a7d52e2d563-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 13:50:10 +0200
Received: by mail-dy1-f226.google.com with SMTP id
 5a478bee46e88-307d0405e07so865710eec.1
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 04:50:09 -0700 (PDT)
Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com
 ([144.49.247.127]) by smtp-relay.gmail.com with ESMTPS id
 5a478bee46e88-3074db83e41sm850958eec.7.2026.06.09.04.50.07
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Tue, 09 Jun 2026 04:50:08 -0700 (PDT)
Received: by mail-pj1-f69.google.com with SMTP id
 98e67ed59e1d1-36bc54005a7so7347350a91.0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 04:50:06 -0700 (PDT)
Received: from sumit_ws.dhcp.broadcom.net ([192.19.234.250])
 by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-36f6bf903fasm18898075a91.2.2026.06.09.04.49.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Jun 2026 04:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=broadcom.com header.i="@broadcom.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781005808; x=1781610608;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:dkim-signature:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=fLAZlEa/gpJjIgpIJ2e9Ooy6MTW++uhKEEc/j768mlo=;
        b=RhKtdSbHQx9uz9Js1KJsErTk/Q95N7tkAg/UH0Xt1xDMyR+OezBYcbsywGMmPaeVsi
         4ko+we2DbIX3FfIpOXqGx3vqAwKgow3FRm9fT8ngeA5IyG3Y2NAau1PVAaauhMlcFlWo
         K2lTfGQVVzxFtltpItCoWbHh0/QkfF9uFaLH+cfWNW+CNfWIhaUgrB49pEks4EnyEEyR
         EtbHIylVS4XyHls5/SVBhAwSnzA5cZlSwRYXqBzJY5dEPkQy9MpvGkvOr2qZF+eftIKY
         XVyGGVofzbeaYyEOapCC54JZYX0esk+TYy5xbtkRb9kPmIt1lqlCTkfC03Gz0qviGKNp
         CEnw==
X-Forwarded-Encrypted: i=1; AFNElJ85aH2Wn7bUcr8LbpubNWKNL9p960z5fbovvw4J8TDFWITrZoghvI231OPjMwlISRPQ54Nfs6y5ri8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyWImezAfIh85boMsspKCD4YaVQxFLzfKGjF4d/tiQij21Km9wx
	Jk5eIpv5lLthW0c/2Lfu6cCpHx2Nc04ogoBQOXJmVwgbix+ZDnTk2r66hFqY1Z8bm30FGQNNn49
	jsk2lhcUP30eon8vQKLEzL89nTiaPu42F0kD/b4hb8ylGvOdHNAScvnLNR3Y6NzV79pPLoj8xC4
	PnZWcMqE8txO9PXy4hjX47wT9pwLioT6zBlAs8ex2D1meIJnxsaIXxK6kpfO8CX0Rg6Ip6rmL2K
	1fGdiwvgxKl+kqcJcUKkQ==
X-Gm-Gg: Acq92OG9I+mIJLi3rwctEgzYFsG58jjADYmeihdkrFyOEgLEl0LRBMlpH8xbnkAhRus
	3lSOyKJRh/0tDsEcocucJkf6UXCwe7Zo13vN8AcFPy/qQ5Q9B7itO2uI7EQ2o5JVboioZMmK7CO
	HDMliySBSiyeQatKaWMHbvzJVNmPkEg/yTvcmbhYQfSaogeDuhhrggwJVsJLLTyeZkAVBu1aTYB
	glR5snXDIW1wLpIa2hYoV7odZv1hhrNzBn0Q8p1wBlBcVq5A8nWit/hYGQ5Tpr3IV9gF/EwbBpn
	E0phu/yFinVvOyx+iDWE61O+1ynQ+nAm0EYjydqtVkxRAJdACDFTOpZL6udm9cst7PkR7vpPeqR
	CcDV8KlOuobxO8NL2OoupVSY8NGZDasYc0J2cSSeG1DV28AKS2b+VZAuFJWgtl/Plhud/VaQ7Kn
	m/WBT272kwvZJSIcY=
X-Received: by 2002:a05:7300:80ce:b0:2dd:6937:79d5 with SMTP id 5a478bee46e88-3077af681eamr11765237eec.8.1781005808158;
        Tue, 09 Jun 2026 04:50:08 -0700 (PDT)
X-Relaying-Domain: broadcom.com
X-CFilter-Loop: Reflected
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=broadcom.com; s=google; t=1781005806; x=1781610606; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fLAZlEa/gpJjIgpIJ2e9Ooy6MTW++uhKEEc/j768mlo=;
        b=EbBCNdb+KlhUnARK/m/9qr6Uq3veHMn7NjosF96SB6tEd9TXyAnes/DjkSu/yGBjwZ
         aFPrmr+0HqrVEgXt6LnTIbdctVYzEhQNcVHsHa3CWpZatvdPDaLXbZXz1OVUdXVBnRrp
         5mtUTsMtKBTLrpiLWX97Ka6CCUnM3TGToE21U=
X-Forwarded-Encrypted: i=1; AFNElJ8i+zLQRovTrc4ey/++u4qeYnmNhSRXQ5/Cx5vah7J21inTSyA8fukDqLTPRtfvN71ab0sYX+OayEc=@lists.xenproject.org
X-Received: by 2002:a17:90b:57c4:b0:36b:75:6387 with SMTP id 98e67ed59e1d1-370eea202f0mr20609582a91.8.1781005805625;
        Tue, 09 Jun 2026 04:50:05 -0700 (PDT)
X-Received: by 2002:a17:90b:57c4:b0:36b:75:6387 with SMTP id 98e67ed59e1d1-370eea202f0mr20609495a91.8.1781005805070;
        Tue, 09 Jun 2026 04:50:05 -0700 (PDT)
From: Sumit Saxena <sumit.saxena@broadcom.com>
To: "Martin K . Petersen" <martin.petersen@oracle.com>,
	Jens Axboe <axboe@kernel.dk>
Cc: "James E . J . Bottomley" <James.Bottomley@HansenPartnership.com>,
	linux-scsi@vger.kernel.org,
	linux-block@vger.kernel.org,
	Adam Radford <aradford@gmail.com>,
	Khalid Aziz <khalid@gonehiking.org>,
	Adaptec OEM Raid Solutions <aacraid@microsemi.com>,
	Matthew Wilcox <willy@infradead.org>,
	Hannes Reinecke <hare@suse.com>,
	"Juergen E . Fischer" <fischer@norbit.de>,
	Russell King <linux@armlinux.org.uk>,
	linux-arm-kernel@lists.infradead.org,
	Finn Thain <fthain@linux-m68k.org>,
	Michael Schmitz <schmitzmic@gmail.com>,
	Anil Gurumurthy <anil.gurumurthy@qlogic.com>,
	Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>,
	Oliver Neukum <oliver@neukum.org>,
	Ali Akcaagac <aliakc@web.de>,
	Jamie Lenehan <lenehan@twibble.org>,
	Ram Vegesna <ram.vegesna@broadcom.com>,
	target-devel@vger.kernel.org,
	Bradley Grove <linuxdrivers@attotech.com>,
	Satish Kharat <satishkh@cisco.com>,
	Sesidhar Baddela <sebaddel@cisco.com>,
	Karan Tilak Kumar <kartilak@cisco.com>,
	Yihang Li <liyihang9@h-partners.com>,
	Don Brace <don.brace@microchip.com>,
	storagedev@microchip.com,
	HighPoint Linux Team <linux@highpoint-tech.com>,
	Tyrel Datwyler <tyreld@linux.ibm.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	linuxppc-dev@lists.ozlabs.org,
	Brian King <brking@us.ibm.com>,
	Lee Duncan <lduncan@suse.com>,
	Chris Leech <cleech@redhat.com>,
	Mike Christie <michael.christie@oracle.com>,
	open-iscsi@googlegroups.com,
	Justin Tee <justin.tee@broadcom.com>,
	Paul Ely <paul.ely@broadcom.com>,
	Kashyap Desai <kashyap.desai@broadcom.com>,
	Shivasharan S <shivasharan.srikanteshwara@broadcom.com>,
	Chandrakanth Patil <chandrakanth.patil@broadcom.com>,
	megaraidlinux.pdl@broadcom.com,
	Sathya Prakash Veerichetty <sathya.prakash@broadcom.com>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	mpi3mr-linuxdrv.pdl@broadcom.com,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Ranjan Kumar <ranjan.kumar@broadcom.com>,
	MPT-FusionLinux.pdl@broadcom.com,
	Daniel Palmer <daniel@thingy.jp>,
	GOTO Masanori <gotom@debian.or.jp>,
	YOKOTA Hiroshi <yokota@netlab.is.tsukuba.ac.jp>,
	Jack Wang <jinpu.wang@cloud.ionos.com>,
	Geoff Levand <geoff@infradead.org>,
	Michael Reed <mdr@sgi.com>,
	Nilesh Javali <njavali@marvell.com>,
	GR-QLogic-Storage-Upstream@marvell.com,
	Narsimhulu Musini <nmusini@cisco.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Long Li <longli@microsoft.com>,
	linux-hyperv@vger.kernel.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Eugenio Perez <eperezma@redhat.com>,
	virtualization@lists.linux.dev,
	Vishal Bhakta <vishal.bhakta@broadcom.com>,
	bcm-kernel-feedback-list@broadcom.com,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	Sumit Saxena <sumit.saxena@broadcom.com>,
	John Garry <john.g.garry@oracle.com>
Subject: [PATCH v3 4/4] scsi: use percpu counters for iostat counters in struct scsi_device
Date: Tue,  9 Jun 2026 17:48:03 +0530
Message-ID: <20260609121806.2121755-5-sumit.saxena@broadcom.com>
X-Mailer: git-send-email 2.43.7
In-Reply-To: <20260609121806.2121755-1-sumit.saxena@broadcom.com>
References: <20260609121806.2121755-1-sumit.saxena@broadcom.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e
X-purgate-ID: tlsNG-d25034/1781005810-E2F72CF5-921E1068/0/0
X-purgate-type: clean
X-purgate-size: 7433

iorequest_cnt and iodone_cnt are updated on every command dispatch and
completion, often from different CPUs on high queue depth workloads.
Using adjacent atomic_t fields causes cache line contention between the
submission and completion paths.

Extend the same treatment to ioerr_cnt and iotmo_cnt so all four iostat
counters in struct scsi_device use struct percpu_counter.

Suggested-by: John Garry <john.g.garry@oracle.com>
Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>
---
 drivers/scsi/scsi_error.c  |  4 ++--
 drivers/scsi/scsi_lib.c    | 10 +++++-----
 drivers/scsi/scsi_scan.c   |  8 ++++++++
 drivers/scsi/scsi_sysfs.c  | 23 ++++++++++++++---------
 drivers/scsi/sd.c          |  2 +-
 include/scsi/scsi_device.h |  9 +++++----
 6 files changed, 35 insertions(+), 21 deletions(-)

diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
index 147127fb4db9..b1aa7da2ba7c 100644
--- a/drivers/scsi/scsi_error.c
+++ b/drivers/scsi/scsi_error.c
@@ -349,7 +349,7 @@ enum blk_eh_timer_return scsi_timeout(struct request *req)
 	trace_scsi_dispatch_cmd_timeout(scmd);
 	scsi_log_completion(scmd, TIMEOUT_ERROR);
 
-	atomic_inc(&scmd->device->iotmo_cnt);
+	percpu_counter_inc(&scmd->device->iotmo_cnt);
 	if (host->eh_deadline != -1 && !host->last_reset)
 		host->last_reset = jiffies;
 
@@ -370,7 +370,7 @@ enum blk_eh_timer_return scsi_timeout(struct request *req)
 	 */
 	if (test_and_set_bit(SCMD_STATE_COMPLETE, &scmd->state))
 		return BLK_EH_DONE;
-	atomic_inc(&scmd->device->iodone_cnt);
+	percpu_counter_inc(&scmd->device->iodone_cnt);
 	if (scsi_abort_command(scmd) != SUCCESS) {
 		set_host_byte(scmd, DID_TIME_OUT);
 		scsi_eh_scmd_add(scmd);
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index 6e8c7a42603e..979fdace33ac 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -1554,9 +1554,9 @@ static void scsi_complete(struct request *rq)
 
 	INIT_LIST_HEAD(&cmd->eh_entry);
 
-	atomic_inc(&cmd->device->iodone_cnt);
+	percpu_counter_inc(&cmd->device->iodone_cnt);
 	if (cmd->result)
-		atomic_inc(&cmd->device->ioerr_cnt);
+		percpu_counter_inc(&cmd->device->ioerr_cnt);
 
 	disposition = scsi_decide_disposition(cmd);
 	if (disposition != SUCCESS && scsi_cmd_runtime_exceeced(cmd))
@@ -1592,7 +1592,7 @@ static enum scsi_qc_status scsi_dispatch_cmd(struct scsi_cmnd *cmd)
 	struct Scsi_Host *host = cmd->device->host;
 	int rtn = 0;
 
-	atomic_inc(&cmd->device->iorequest_cnt);
+	percpu_counter_inc(&cmd->device->iorequest_cnt);
 
 	/* check if the device is still usable */
 	if (unlikely(cmd->device->sdev_state == SDEV_DEL)) {
@@ -1614,7 +1614,7 @@ static enum scsi_qc_status scsi_dispatch_cmd(struct scsi_cmnd *cmd)
 		 */
 		SCSI_LOG_MLQUEUE(3, scmd_printk(KERN_INFO, cmd,
 			"queuecommand : device blocked\n"));
-		atomic_dec(&cmd->device->iorequest_cnt);
+		percpu_counter_dec(&cmd->device->iorequest_cnt);
 		return SCSI_MLQUEUE_DEVICE_BUSY;
 	}
 
@@ -1647,7 +1647,7 @@ static enum scsi_qc_status scsi_dispatch_cmd(struct scsi_cmnd *cmd)
 	trace_scsi_dispatch_cmd_start(cmd);
 	rtn = host->hostt->queuecommand(host, cmd);
 	if (rtn) {
-		atomic_dec(&cmd->device->iorequest_cnt);
+		percpu_counter_dec(&cmd->device->iorequest_cnt);
 		trace_scsi_dispatch_cmd_error(cmd, rtn);
 		if (rtn != SCSI_MLQUEUE_DEVICE_BUSY &&
 		    rtn != SCSI_MLQUEUE_TARGET_BUSY)
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
index 121a14d5fdb8..bc885c72f01e 100644
--- a/drivers/scsi/scsi_scan.c
+++ b/drivers/scsi/scsi_scan.c
@@ -350,6 +350,14 @@ static struct scsi_device *scsi_alloc_sdev(struct scsi_target *starget,
 
 	scsi_sysfs_device_initialize(sdev);
 
+	if (percpu_counter_init(&sdev->iorequest_cnt, 0, GFP_KERNEL) ||
+	    percpu_counter_init(&sdev->iodone_cnt, 0, GFP_KERNEL) ||
+	    percpu_counter_init(&sdev->ioerr_cnt, 0, GFP_KERNEL) ||
+	    percpu_counter_init(&sdev->iotmo_cnt, 0, GFP_KERNEL)) {
+		ret = -ENOMEM;
+		goto out_device_destroy;
+	}
+
 	if (scsi_device_is_pseudo_dev(sdev))
 		return sdev;
 
diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c
index dfc3559e7e04..f652edd16497 100644
--- a/drivers/scsi/scsi_sysfs.c
+++ b/drivers/scsi/scsi_sysfs.c
@@ -516,6 +516,10 @@ static void scsi_device_dev_release(struct device *dev)
 	if (vpd_pgb7)
 		kfree_rcu(vpd_pgb7, rcu);
 	kfree(sdev->inquiry);
+	percpu_counter_destroy(&sdev->iotmo_cnt);
+	percpu_counter_destroy(&sdev->ioerr_cnt);
+	percpu_counter_destroy(&sdev->iodone_cnt);
+	percpu_counter_destroy(&sdev->iorequest_cnt);
 	kfree(sdev);
 
 	if (parent)
@@ -936,26 +940,27 @@ static ssize_t
 show_iostat_counterbits(struct device *dev, struct device_attribute *attr,
 			char *buf)
 {
-	return snprintf(buf, 20, "%d\n", (int)sizeof(atomic_t) * 8);
+	/* iostat counters are per-CPU sums (s64).  Report width for tools. */
+	return sysfs_emit(buf, "%zu\n", sizeof(s64) * 8);
 }
 
 static DEVICE_ATTR(iocounterbits, S_IRUGO, show_iostat_counterbits, NULL);
 
-#define show_sdev_iostat(field)						\
+#define show_sdev_iostat_percpu(field)					\
 static ssize_t								\
 show_iostat_##field(struct device *dev, struct device_attribute *attr,	\
 		    char *buf)						\
 {									\
 	struct scsi_device *sdev = to_scsi_device(dev);			\
-	unsigned long long count = atomic_read(&sdev->field);		\
-	return snprintf(buf, 20, "0x%llx\n", count);			\
+	unsigned long long count = percpu_counter_sum(&sdev->field);	\
+	return sysfs_emit(buf, "0x%llx\n", count);			\
 }									\
-static DEVICE_ATTR(field, S_IRUGO, show_iostat_##field, NULL)
+static DEVICE_ATTR(field, 0444, show_iostat_##field, NULL)
 
-show_sdev_iostat(iorequest_cnt);
-show_sdev_iostat(iodone_cnt);
-show_sdev_iostat(ioerr_cnt);
-show_sdev_iostat(iotmo_cnt);
+show_sdev_iostat_percpu(iorequest_cnt);
+show_sdev_iostat_percpu(iodone_cnt);
+show_sdev_iostat_percpu(ioerr_cnt);
+show_sdev_iostat_percpu(iotmo_cnt);
 
 static ssize_t
 sdev_show_modalias(struct device *dev, struct device_attribute *attr, char *buf)
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index adc3fa55ca2c..b7ce01de17b3 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -4043,7 +4043,7 @@ static int sd_probe(struct scsi_device *sdp)
 	sdkp->index = index;
 	sdkp->max_retries = SD_MAX_RETRIES;
 	atomic_set(&sdkp->openers, 0);
-	atomic_set(&sdkp->device->ioerr_cnt, 0);
+	percpu_counter_set(&sdkp->device->ioerr_cnt, 0);
 
 	if (!sdp->request_queue->rq_timeout) {
 		if (sdp->type != TYPE_MOD)
diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h
index 029f5115b2ea..4be36bf2a475 100644
--- a/include/scsi/scsi_device.h
+++ b/include/scsi/scsi_device.h
@@ -9,6 +9,7 @@
 #include <scsi/scsi.h>
 #include <scsi/scsi_common.h>
 #include <linux/atomic.h>
+#include <linux/percpu_counter.h>
 #include <linux/sbitmap.h>
 
 struct bsg_device;
@@ -272,10 +273,10 @@ struct scsi_device {
 	unsigned int max_device_blocked; /* what device_blocked counts down from  */
 #define SCSI_DEFAULT_DEVICE_BLOCKED	3
 
-	atomic_t iorequest_cnt;
-	atomic_t iodone_cnt;
-	atomic_t ioerr_cnt;
-	atomic_t iotmo_cnt;
+	struct percpu_counter iorequest_cnt;
+	struct percpu_counter iodone_cnt;
+	struct percpu_counter ioerr_cnt;
+	struct percpu_counter iotmo_cnt;
 
 	struct device		sdev_gendev,
 				sdev_dev;
-- 
2.43.7



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 11:58:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 11:58:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332651.1595126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWv60-0004mC-Ie; Tue, 09 Jun 2026 11:58:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332651.1595126; Tue, 09 Jun 2026 11: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 1wWv60-0004m5-Fs; Tue, 09 Jun 2026 11:58:16 +0000
Received: by outflank-mailman (input) for mailman id 1332651;
 Tue, 09 Jun 2026 11:58:15 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dpsmith@apertussolutions.com>) id 1wWv5z-0004ly-9Q
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 11:58:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWv5y-00DIhx-MU
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 13:58:14 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a27ffc9-e002-0a2a0a5209dd-0a2a45069cde-38
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 13:58:13 +0200
Received: from [136.143.188.51] (helo=sender4-of-o51.zoho.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a27ffd3-7371-0a2a45060019-888fbc33529e-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 13:58:12 +0200
Received: from mail.zoho.com by mx.zohomail.com
 with SMTP id 1781006274774660.3033654277247;
 Tue, 9 Jun 2026 04:57:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=zoho header.d=apertussolutions.com header.i="dpsmith@apertussolutions.com" header.h="Date:From:To:Cc:Message-ID:In-Reply-To:References:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding"
ARC-Seal: i=1; a=rsa-sha256; t=1781006281; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=ndVtC50KlT2RPRIMUbpUBIFVWSfxEVzyxv1YmVW5GO3mr3vvenU6pFolToQRKlXUBBXLBqldbW/oKUjqad+3G7HPZ114NqgzVYd/LTuscYrpulWOwXeHP7WySoAFyAi5v/bi9xYCZ847e/6yIQm0BJFmoCLyy3JsZi+n39KY054=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1781006281; 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=jtMEEDQKBFgAVM9bj3uL2dJieqsnSNOkuji0r7SWb1g=; 
	b=cCYgJjFyiZBIo6YoN/CPklG/zb1FpO1GYkB/r8gAsfKUkfKnKBD4VnEOyB+1SPqzitsn9Bf4D3NG5EO7a8yukXThc6NkNPt6cLUTz5sViKnsSCM/k0Cg4fZVCcFMJTi4+EDFa6/mZa24/Cb5zb2dNPoQZff9VyCPqT+TKXe6pPE=
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=1781006281;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Date:Date:From:From:To:To:Cc:Cc:Message-ID:In-Reply-To:References:Subject:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=jtMEEDQKBFgAVM9bj3uL2dJieqsnSNOkuji0r7SWb1g=;
	b=LT17RIRyoFtaDM0d27lRVYB0catTLHCNCMKLvW7rdoac5uXP9kSCC4ByTNGVpoYY
	5YejrijdCY9jdejB0Xr7FCw9KQpIHtD58uDWSYfvZAAJMXpahDOCTozMotwq8fpUOyr
	14h1+XGgGsyDGaiAcfxkosPooF4HBnYHBCGeH6lM=
Date: Tue, 09 Jun 2026 07:57:54 -0400
From: Daniel Smith <dpsmith@apertussolutions.com>
To: "Jason Andryuk" <jason.andryuk@amd.com>
Cc: "dmukhin" <dmukhin@ford.com>,
	"xen-devel" <xen-devel@lists.xenproject.org>,
	"andrew.cooper3" <andrew.cooper3@citrix.com>,
	"anthony.perard" <anthony.perard@vates.tech>,
	"jbeulich" <jbeulich@suse.com>, "julien" <julien@xen.org>,
	"michal.orzel" <michal.orzel@amd.com>,
	"roger.pau" <roger.pau@citrix.com>,
	"sstabellini" <sstabellini@kernel.org>,
	"christopher.w.clark" <christopher.w.clark@gmail.com>,
	"Mykola Kvach" <mykola_kvach@epam.com>
Message-ID: <19eac3f10c4.4656d1b3334797.1477306808945740845@apertussolutions.com>
In-Reply-To: <c51ecc59-7252-4d1f-a192-717ae55dacd5@amd.com>
References: <20260526215823.1452619-1-dmukhin@ford.com>
 <20260526215823.1452619-2-dmukhin@ford.com>
 <ae19de19-aef5-47af-833d-87a46efb9afc@apertussolutions.com> <c51ecc59-7252-4d1f-a192-717ae55dacd5@amd.com>
Subject: Re: [PATCH v3 1/6] argo: lower level of noisy connection-refused
 log
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Importance: Medium
User-Agent: Zoho Mail
X-Mailer: Zoho Mail
X-purgate-ID: tlsNG-16d1c6/1781006293-84B65D75-75F393C4/0/0
X-purgate-type: clean
X-purgate-size: 5550



From: Jason Andryuk <jason.andryuk@amd.com>
To: "Daniel P. Smith"<dpsmith@apertussolutions.com>, <dmukhin@ford.com>, <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>, <christopher.w.clark@gmail.com>, "Mykola Kvach"<mykola_kvach@epam.com>
Date: Mon, 08 Jun 2026 19:16:01 -0400
Subject: Re: [PATCH v3 1/6] argo: lower level of noisy connection-refused log

 > On 2026-06-08 15:54, Daniel P. Smith wrote: 
 > > 
 > > 
 > > On 5/26/26 5:58 PM, dmukhin@ford.com wrote: 
 > >> From: Denis Mukhin <dmukhin@ford.com> 
 > >> 
 > >> Switch the log line to argo_dprintk() so it is enabled only in debug 
 > >> environments, as it can spam the logs when a dom0 service using the Argo 
 > >> hypercall tries to communicate with a domain that is still starting up. 
 > >> 
 > >> Note that this also lowers the log level to debug when the argo_dprintk() 
 > >> facility is enabled. 
 > >> 
 > >> Signed-off-by: Denis Mukhin <dmukhin@ford.com> 
 > >> Reviewed-by: Mykola Kvach <mykola_kvach@epam.com> 
 > >> --- 
 > >> Changes since v2: 
 > >> - updated commit message 
 > >> --- 
 > >>   xen/common/argo.c | 7 +++---- 
 > >>   1 file changed, 3 insertions(+), 4 deletions(-) 
 > >> 
 > >> diff --git a/xen/common/argo.c b/xen/common/argo.c 
 > >> index 28626e00a8cb..98a3db7fd070 100644 
 > >> --- a/xen/common/argo.c 
 > >> +++ b/xen/common/argo.c 
 > >> @@ -2034,10 +2034,9 @@ sendv(struct domain *src_d, xen_argo_addr_t 
 > >> *src_addr, 
 > >>                                           src_id.domain_id); 
 > >>       if ( !ring_info ) 
 > >>       { 
 > >> -        gprintk(XENLOG_ERR, 
 > >> -                "argo: vm%u connection refused, src (vm%u:%x) dst 
 > >> (vm%u:%x)\n", 
 > >> -                current->domain->domain_id, src_id.domain_id, 
 > >> src_id.aport, 
 > >> -                dst_addr->domain_id, dst_addr->aport); 
 > >> +        argo_dprintk("vm%u connection refused, src (vm%u:%x) dst 
 > >> (vm%u:%x)\n", 
 > >> +                     current->domain->domain_id, src_id.domain_id, 
 > >> src_id.aport, 
 > >> +                     dst_addr->domain_id, dst_addr->aport); 
 > >>           ret = -ECONNREFUSED; 
 > >>       } 
 > > 
 > > My apologies but this is not the wisest approach, hitting this is a real 
 > > error and shouldn't be getting silenced. 
 >  
 > -ECONNREFUSED is still returned, and that is the important part, I think? 
 >  

Absolutely not. Argo at its essence is a security protocol where you want to minimize the amount of implicit trust we have to have with the endpoint. Telling a bad actor he did a bad action tells you nothing. The send operation is the critical security path and you must have an auditable record that an endpoint misbehaved. If yo want to implicitly trust your end point after passing the accees check, then you can just use grants. 

 > While gprintk(), it is trivially guest triggerable, so I think it wants 
 > to be a debug message like this change made it.  As a comparison, errors 
 > in event_channel.c are gdprintk(). 
 >  

Again, this message should never be disabled which could occur with gdprintk() depending on the NDEBUG flag. HMX and the Xen implementation Argo are high assurance mechanisms for high assureance implementations. The maintainers must ensure that foundational principles are not compromised. If an implementer chosing Argo, it is because of the properties that come about because of the design of this mechanism.

A side note, gprintk is rate limited, so an option is to adjust your rate limit.

 > If you are seeing a lot of 
 > > these messages, I would suggest asking yourself why. Without further 
 > > context on how you are using it, one suggesting is perhaps your 
 > > connection model might need to be revisited. 
 >  
 > There isn't a way to know if a port is available without polling? 


That is absolutely not a true statement. Send a notify message with a request for a chunk of data, ideally the amount you want to send. You will get a response that includes a flag to tell you the ring exists[1] and how much space is available [2]. If the ring doesn't exist, the response will have 0 in both flags and max_message_size. I would even suggest reviewing the flags, as a few of them might also be of interest. For instance, the ring empty flag. If the ring empty flag is set and max_message_size is smaller than the amount of data you are attempting to send, your attempt to send will fail. Whereas, you can use this on your sender size to packetize your data depending on what kind of transmit strategy you want, e.g. willing to allow a single send to max out the buffer.

I would add that you are free to flood the notify op in a poll loop and not see a flood to the message buffer since that path is audited with argo_dprintk's.

[1] https://elixir.bootlin.com/xen/v4.21.1/source/xen/common/argo.c#L1355
[2] https://elixir.bootlin.com/xen/v4.21.1/source/xen/common/argo.c#L1410


Finally, while looking at the series further and the example CI build due to the SNAFU, I would like to revise my review of the other patches. Since we are touching all these log points in this series, perhaps it would be good to update the fmt to new format specifiers such as %pd for domain identification, as well as reconsider whether logging the virutal address is the correct detail to be reported.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 12:01:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 12:01:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332661.1595142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWv8j-0006eO-Ce; Tue, 09 Jun 2026 12:01:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332661.1595142; Tue, 09 Jun 2026 12:01: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 1wWv8j-0006d2-8z; Tue, 09 Jun 2026 12:01:05 +0000
Received: by outflank-mailman (input) for mailman id 1332661;
 Tue, 09 Jun 2026 12:01:04 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 1wWv8i-0006aL-4M; Tue, 09 Jun 2026 12:01:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWv8h-004DW7-H0; Tue, 09 Jun 2026 14:01:03 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 6a28007f-bab6-0a2a0a5309dd-0a2a45059c60-2
 for <multiple-recipients>; Tue, 09 Jun 2026 14:01:03 +0200
Received: from [104.130.215.37] (helo=mail.xenproject.org)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 6a28007d-aaa8-0a2a45050019-6882d725a77a-3
 for <multiple-recipients>; Tue, 09 Jun 2026 14:01:03 +0200
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <andrewcoop@xenbits.xen.org>) id 1wWv8b-001enz-0T;
 Tue, 09 Jun 2026 12:00:56 +0000
Received: from andrewcoop by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <andrewcoop@xenbits.xen.org>) id 1wWv8a-00CQaD-2W;
 Tue, 09 Jun 2026 12:00: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>
Authentication-Results: eu.smtp.expurgate.cloud; none
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.510 (Entity 5.510)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
 xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
CC: Xen.org security team <security-team-members@xen.org>
Subject: Xen Security Advisory 491 v2 (CVE-2026-42487) - x86 HVM I/O port
 list traversal
Message-Id: <E1wWv8a-00CQaD-2W@xenbits.xenproject.org>
Date: Tue, 09 Jun 2026 12:00:56 +0000
X-purgate-ID: tlsNG-c201ff/1781006463-DB563443-07B5885F/0/0
X-purgate-type: clean
X-purgate-size: 23868

--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

            Xen Security Advisory CVE-2026-42487 / XSA-491
                               version 2

                    x86 HVM I/O port list traversal

UPDATES IN VERSION 2
====================

Public release.

ISSUE DESCRIPTION
=================

HVM guest I/O port accesses are subject to either emulation or at least
translation.  Translations are managed by the device model (via
XEN_DOMCTL_ioport_mapping), and hence the linked list used may changed
at any time.  Traversal of those lists (while handling guest I/O port
accesses) therefore needs synchronizing with updates, which was missing
so far.

IMPACT
======

A device model of a HVM guest can cause a hypervisor crash, causing a
Denial of Service (DoS) of the entire host.  Privilege escalation and
information leaks cannot be ruled out.

VULNERABLE SYSTEMS
==================

All Xen versions from at least 3.2 onwards are vulnerable.  Earlier
versions have not been inspected.

Only x86 systems are vulnerable.  Arm systems are not vulnerable.

Only entities controlling HVM guests can leverage the vulnerability.
These are device models running in either a stub domain or de-privileged
in Dom0.

MITIGATION
==========

Running only PV or PVH guests will avoid the vulnerability.

(Switching from a device model stub domain or a de-privileged device
model to a fully privileged Dom0 device model does NOT mitigate this
vulnerability.  Rather, it simply recategorises the vulnerability to
hostile management code, regarding it "as designed"; thus it merely
reclassifies these issues as "not a bug".  The security of a Xen system
using stub domains is still better than with a qemu-dm running as a Dom0
process.  Users and vendors of stub qemu dm systems should not change
their configuration to use a Dom0 qemu process.)

CREDITS
=======

This issue was discovered by Jan Beulich of SUSE.

RESOLUTION
==========

Applying the appropriate attached patch resolves this issue.

Note that patches for released versions are generally prepared to
apply to the stable branches, and may not apply cleanly to the most
recent release tarball.  Downstreams are encouraged to update to the
tip of the stable branch before applying these patches.

xsa491.patch           xen-unstable
xsa491-4.21.patch      Xen 4.21.x - Xen 4.17.x

$ sha256sum xsa491*
23a90da1c71389083351846169fc565a671b44f5f4ba838b18fc0fa6d7582bf8  xsa491.patch
443674f42a092b953b6ba4d91cfa19bfbee0077dfcd5a39ae53368e40ed23aac  xsa491-4.21.patch
$

DEPLOYMENT DURING EMBARGO
=========================

Deployment of the patches and/or mitigations described above (or
others which are substantially similar) is permitted during the
embargo, even on public-facing systems with untrusted guest users and
administrators.

But: Distribution of updated software is prohibited (except to other
members of the predisclosure list).

Predisclosure list members who wish to deploy significantly different
patches and/or mitigations, please contact the Xen Project Security
Team.

(Note: this during-embargo deployment notice is retained in
post-embargo publicly released Xen Project advisories, even though it
is then no longer applicable.  This is to enable the community to have
oversight of the Xen Project Security Team's decisionmaking.)

For more information about permissible uses of embargoed information,
consult the Xen Project community's agreed Security Policy:
  http://www.xenproject.org/security-policy.html
-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmon+4gMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZGqMIAJ3p3v2yhpMhVPL7ClsuYuz8ks1cVHn4d4971wCS
gao1KbD+k8xjiqrR5pdCO/cHViXmajPk7sV4NwOsSmW1KQ8ejQrps3v16/IOTIjp
JzcDRqk2J6IurQE819kIe0B7vQlgfElK1ZUq070DljChzBwcuWnaXywacgh/eofo
SpElIHLtlM9RPmPTPaAI5inEIANb2Rrqdgt6yUg3XqSUN77h4ma8GLZH+Tt2x6Zg
HN9BjZcSmcRkOwWK80g30rQ0ZltSSh0ExM5Jhk0vtulbK5BeO7dAphElwbBjAwb2
RjuoQhvS4QkvCEZGpUIiFJKtxlixhqZZl9CFYm0b4Xe/aJA=
=8fKa
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa491.patch"
Content-Disposition: attachment; filename="xsa491.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvSFZNOiBhZGQgbG9ja2luZyB0byBJL08gcG9ydCB0cmFuc2xhdGlv
biBsaXN0IHRyYXZlcnNhbAoKWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZyBp
cyB1c2FibGUgYnkgRE0gc3R1YmRvbXMsIGFuZCBoZW5jZSB3ZSBjYW4ndAph
c3N1bWUgdGhlIGxpc3QgdG8gYmUgbGVmdCB1bmFsdGVyZWQgd2hpbGUgdGhl
IGd1ZXN0IChyZWFsbHk6IHRoZQpoeXBlcnZpc29yIG9uIGJlaGFsZiBvZiB0
aGUgZ3Vlc3QpIGlzIGFjY2Vzc2luZyBpdC4KClRoaXMgaXMgWFNBLTQ5MSAv
IENWRS0yMDI2LTQyNDg3LgoKRml4ZXM6IDE5MmM0ZGFiYzM0NCAoImRvbWN0
bCBhbmQgcDJtIGNoYW5nZXMgZm9yIFBDSSBwYXNzdGhydSIpClNpZ25lZC1v
ZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3
ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29t
PgoKLS0tIGEveGVuL2FyY2gveDg2L2RvbWN0bC5jCisrKyBiL3hlbi9hcmNo
L3g4Ni9kb21jdGwuYwpAQCAtNjY3LDYgKzY2Nyw3IEBAIGxvbmcgYXJjaF9k
b19kb21jdGwoCiAgICAgICAgICAgICAgICAgICAgImlvcG9ydF9tYXA6YWRk
OiBkb20lZCBncG9ydD0leCBtcG9ydD0leCBucj0leFxuIiwKICAgICAgICAg
ICAgICAgICAgICBkLT5kb21haW5faWQsIGZncCwgZm1wLCBucCk7CiAKKyAg
ICAgICAgICAgIHdyaXRlX2xvY2soJmh2bS0+ZzJtX2lvcG9ydF9sb2NrKTsK
ICAgICAgICAgICAgIGxpc3RfZm9yX2VhY2hfZW50cnkoZzJtX2lvcG9ydCwg
Jmh2bS0+ZzJtX2lvcG9ydF9saXN0LCBsaXN0KQogICAgICAgICAgICAgICAg
IGlmIChnMm1faW9wb3J0LT5tcG9ydCA9PSBmbXAgKQogICAgICAgICAgICAg
ICAgIHsKQEAgLTY4OCwxMSArNjg5LDE0IEBAIGxvbmcgYXJjaF9kb19kb21j
dGwoCiAgICAgICAgICAgICAgICAgZzJtX2lvcG9ydC0+bnAgPSBucDsKICAg
ICAgICAgICAgICAgICBsaXN0X2FkZF90YWlsKCZnMm1faW9wb3J0LT5saXN0
LCAmaHZtLT5nMm1faW9wb3J0X2xpc3QpOwogICAgICAgICAgICAgfQorICAg
ICAgICAgICAgd3JpdGVfdW5sb2NrKCZodm0tPmcybV9pb3BvcnRfbG9jayk7
CiAgICAgICAgICAgICBpZiAoICFyZXQgKQogICAgICAgICAgICAgICAgIHJl
dCA9IGlvcG9ydHNfcGVybWl0X2FjY2VzcyhkLCBmbXAsIGZtcCArIG5wIC0g
MSk7CiAgICAgICAgICAgICBpZiAoIHJldCAmJiAhZm91bmQgJiYgZzJtX2lv
cG9ydCApCiAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgd3JpdGVf
bG9jaygmaHZtLT5nMm1faW9wb3J0X2xvY2spOwogICAgICAgICAgICAgICAg
IGxpc3RfZGVsKCZnMm1faW9wb3J0LT5saXN0KTsKKyAgICAgICAgICAgICAg
ICB3cml0ZV91bmxvY2soJmh2bS0+ZzJtX2lvcG9ydF9sb2NrKTsKICAgICAg
ICAgICAgICAgICB4ZnJlZShnMm1faW9wb3J0KTsKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQpAQCAtNzAxLDYgKzcwNSw4IEBAIGxvbmcgYXJjaF9kb19k
b21jdGwoCiAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfSU5GTwogICAg
ICAgICAgICAgICAgICAgICJpb3BvcnRfbWFwOnJlbW92ZTogZG9tJWQgZ3Bv
cnQ9JXggbXBvcnQ9JXggbnI9JXhcbiIsCiAgICAgICAgICAgICAgICAgICAg
ZC0+ZG9tYWluX2lkLCBmZ3AsIGZtcCwgbnApOworCisgICAgICAgICAgICB3
cml0ZV9sb2NrKCZodm0tPmcybV9pb3BvcnRfbG9jayk7CiAgICAgICAgICAg
ICBsaXN0X2Zvcl9lYWNoX2VudHJ5KGcybV9pb3BvcnQsICZodm0tPmcybV9p
b3BvcnRfbGlzdCwgbGlzdCkKICAgICAgICAgICAgICAgICBpZiAoIGcybV9p
b3BvcnQtPm1wb3J0ID09IGZtcCApCiAgICAgICAgICAgICAgICAgewpAQCAt
NzA4LDYgKzcxNCw4IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoCiAgICAgICAg
ICAgICAgICAgICAgIHhmcmVlKGcybV9pb3BvcnQpOwogICAgICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB3cml0ZV91bmxvY2soJmh2bS0+ZzJtX2lvcG9ydF9sb2NrKTsKKwogICAg
ICAgICAgICAgcmV0ID0gaW9wb3J0c19kZW55X2FjY2VzcyhkLCBmbXAsIGZt
cCArIG5wIC0gMSk7CiAgICAgICAgICAgICBpZiAoIHJldCAmJiBpc19oYXJk
d2FyZV9kb21haW4oY3VycmQpICkKICAgICAgICAgICAgICAgICBwcmludGso
WEVOTE9HX0VSUgotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYwor
KysgYi94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYwpAQCAtMTYwLDcgKzE2
MCw2IEBAIHZvaWQgaHZtZW11bF9jYW5jZWwoc3RydWN0IHZjcHUgKnYpCiAg
ICAgaHZpby0+bW1pb19pbnNuX2J5dGVzID0gMDsKICAgICBodmlvLT5tbWlv
X2FjY2VzcyA9IChzdHJ1Y3QgbnBmZWMpe307CiAgICAgaHZpby0+bW1pb19y
ZXRyeSA9IGZhbHNlOwotICAgIGh2aW8tPmcybV9pb3BvcnQgPSBOVUxMOwog
CiAgICAgaHZtZW11bF9jYWNoZV9kaXNhYmxlKHYpOwogfQotLS0gYS94ZW4v
YXJjaC94ODYvaHZtL2h2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZt
LmMKQEAgLTYxMyw2ICs2MTMsNyBAQCBpbnQgaHZtX2RvbWFpbl9pbml0aWFs
aXNlKHN0cnVjdCBkb21haW4KIAogICAgIHNwaW5fbG9ja19pbml0KCZkLT5h
cmNoLmh2bS5pcnFfbG9jayk7CiAgICAgc3Bpbl9sb2NrX2luaXQoJmQtPmFy
Y2guaHZtLndyaXRlX21hcC5sb2NrKTsKKyAgICByd2xvY2tfaW5pdCgmZC0+
YXJjaC5odm0uZzJtX2lvcG9ydF9sb2NrKTsKICAgICByd2xvY2tfaW5pdCgm
ZC0+YXJjaC5odm0ubW1jZmdfbG9jayk7CiAgICAgSU5JVF9MSVNUX0hFQUQo
JmQtPmFyY2guaHZtLndyaXRlX21hcC5saXN0KTsKICAgICBJTklUX0xJU1Rf
SEVBRCgmZC0+YXJjaC5odm0uZzJtX2lvcG9ydF9saXN0KTsKLS0tIGEveGVu
L2FyY2gveDg2L2h2bS9pby5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaW8u
YwpAQCAtMTQzLDM2ICsxNDMsNTYgQEAgYm9vbCBoYW5kbGVfcGlvKHVpbnQx
Nl90IHBvcnQsIHVuc2lnbmVkCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0
YXRpYyBib29sIGNmX2NoZWNrIGcybV9wb3J0aW9fYWNjZXB0KAotICAgIGNv
bnN0IHN0cnVjdCBodm1faW9faGFuZGxlciAqaGFuZGxlciwgY29uc3QgaW9y
ZXFfdCAqcCkKKy8qIE5COiBSZXR1cm5zIHdpdGggdGhlIGxvY2sgaGVsZCBp
biB0aGUgc3VjY2VzcyBjYXNlLiAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBn
Mm1faW9wb3J0ICpnMm1fcG9ydGlvX2ZpbmRfYW5kX2xvY2soc3RydWN0IGh2
bV9kb21haW4gKmh2bSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGFkZHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzaXplKQogewotICAgIHN0cnVjdCB2Y3B1
ICpjdXJyID0gY3VycmVudDsKLSAgICBjb25zdCBzdHJ1Y3QgaHZtX2RvbWFp
biAqaHZtID0gJmN1cnItPmRvbWFpbi0+YXJjaC5odm07Ci0gICAgc3RydWN0
IGh2bV92Y3B1X2lvICpodmlvID0gJmN1cnItPmFyY2guaHZtLmh2bV9pbzsK
LSAgICBzdHJ1Y3QgZzJtX2lvcG9ydCAqZzJtX2lvcG9ydDsKLSAgICB1bnNp
Z25lZCBpbnQgc3RhcnQsIGVuZDsKKyAgICBjb25zdCBzdHJ1Y3QgZzJtX2lv
cG9ydCAqZzJtX2lvcG9ydDsKKworICAgIHJlYWRfbG9jaygmaHZtLT5nMm1f
aW9wb3J0X2xvY2spOwogCiAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeSggZzJt
X2lvcG9ydCwgJmh2bS0+ZzJtX2lvcG9ydF9saXN0LCBsaXN0ICkKICAgICB7
Ci0gICAgICAgIHN0YXJ0ID0gZzJtX2lvcG9ydC0+Z3BvcnQ7Ci0gICAgICAg
IGVuZCA9IHN0YXJ0ICsgZzJtX2lvcG9ydC0+bnA7Ci0gICAgICAgIGlmICgg
KHAtPmFkZHIgPj0gc3RhcnQpICYmIChwLT5hZGRyICsgcC0+c2l6ZSA8PSBl
bmQpICkKLSAgICAgICAgewotICAgICAgICAgICAgaHZpby0+ZzJtX2lvcG9y
dCA9IGcybV9pb3BvcnQ7Ci0gICAgICAgICAgICByZXR1cm4gMTsKLSAgICAg
ICAgfQorICAgICAgICB1bnNpZ25lZCBpbnQgc3RhcnQgPSBnMm1faW9wb3J0
LT5ncG9ydDsKKworICAgICAgICBpZiAoIGFkZHIgPj0gc3RhcnQgJiYgYWRk
ciArIHNpemUgPD0gc3RhcnQgKyBnMm1faW9wb3J0LT5ucCApCisgICAgICAg
ICAgICByZXR1cm4gZzJtX2lvcG9ydDsKICAgICB9CiAKLSAgICByZXR1cm4g
MDsKKyAgICByZWFkX3VubG9jaygmaHZtLT5nMm1faW9wb3J0X2xvY2spOwor
CisgICAgcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyBib29sIGNmX2NoZWNr
IGcybV9wb3J0aW9fYWNjZXB0KAorICAgIGNvbnN0IHN0cnVjdCBodm1faW9f
aGFuZGxlciAqaGFuZGxlciwgY29uc3QgaW9yZXFfdCAqcCkKK3sKKyAgICBz
dHJ1Y3QgaHZtX2RvbWFpbiAqaHZtID0gJmN1cnJlbnQtPmRvbWFpbi0+YXJj
aC5odm07CisgICAgY29uc3Qgc3RydWN0IGcybV9pb3BvcnQgKmcybV9pb3Bv
cnQgPQorICAgICAgICBnMm1fcG9ydGlvX2ZpbmRfYW5kX2xvY2soaHZtLCBw
LT5hZGRyLCBwLT5zaXplKTsKKworICAgIGlmICggIWcybV9pb3BvcnQgKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZWFkX3VubG9jaygmaHZt
LT5nMm1faW9wb3J0X2xvY2spOworCisgICAgcmV0dXJuIHRydWU7CiB9CiAK
IHN0YXRpYyBpbnQgY2ZfY2hlY2sgZzJtX3BvcnRpb19yZWFkKAogICAgIGNv
bnN0IHN0cnVjdCBodm1faW9faGFuZGxlciAqaGFuZGxlciwgdWludDY0X3Qg
YWRkciwgdWludDMyX3Qgc2l6ZSwKICAgICB1aW50NjRfdCAqZGF0YSkKIHsK
LSAgICBzdHJ1Y3QgaHZtX3ZjcHVfaW8gKmh2aW8gPSAmY3VycmVudC0+YXJj
aC5odm0uaHZtX2lvOwotICAgIGNvbnN0IHN0cnVjdCBnMm1faW9wb3J0ICpn
Mm1faW9wb3J0ID0gaHZpby0+ZzJtX2lvcG9ydDsKLSAgICB1bnNpZ25lZCBp
bnQgbXBvcnQgPSAoYWRkciAtIGcybV9pb3BvcnQtPmdwb3J0KSArIGcybV9p
b3BvcnQtPm1wb3J0OworICAgIHN0cnVjdCBodm1fZG9tYWluICpodm0gPSAm
Y3VycmVudC0+ZG9tYWluLT5hcmNoLmh2bTsKKyAgICBjb25zdCBzdHJ1Y3Qg
ZzJtX2lvcG9ydCAqZzJtX2lvcG9ydCA9CisgICAgICAgIGcybV9wb3J0aW9f
ZmluZF9hbmRfbG9jayhodm0sIGFkZHIsIHNpemUpOworICAgIHVuc2lnbmVk
IGludCBtcG9ydDsKKworICAgIGlmICggIWcybV9pb3BvcnQgKQorICAgICAg
ICByZXR1cm4gWDg2RU1VTF9SRVRSWTsKKworICAgIG1wb3J0ID0gYWRkciAt
IGcybV9pb3BvcnQtPmdwb3J0ICsgZzJtX2lvcG9ydC0+bXBvcnQ7CiAKICAg
ICBzd2l0Y2ggKCBzaXplICkKICAgICB7CkBAIC0xODksNiArMjA5LDggQEAg
c3RhdGljIGludCBjZl9jaGVjayBnMm1fcG9ydGlvX3JlYWQoCiAgICAgICAg
IEJVRygpOwogICAgIH0KIAorICAgIHJlYWRfdW5sb2NrKCZodm0tPmcybV9p
b3BvcnRfbG9jayk7CisKICAgICByZXR1cm4gWDg2RU1VTF9PS0FZOwogfQog
CkBAIC0xOTYsOSArMjE4LDE1IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZzJt
X3BvcnRpb193cml0ZSgKICAgICBjb25zdCBzdHJ1Y3QgaHZtX2lvX2hhbmRs
ZXIgKmhhbmRsZXIsIHVpbnQ2NF90IGFkZHIsIHVpbnQzMl90IHNpemUsCiAg
ICAgdWludDY0X3QgZGF0YSkKIHsKLSAgICBzdHJ1Y3QgaHZtX3ZjcHVfaW8g
Kmh2aW8gPSAmY3VycmVudC0+YXJjaC5odm0uaHZtX2lvOwotICAgIGNvbnN0
IHN0cnVjdCBnMm1faW9wb3J0ICpnMm1faW9wb3J0ID0gaHZpby0+ZzJtX2lv
cG9ydDsKLSAgICB1bnNpZ25lZCBpbnQgbXBvcnQgPSAoYWRkciAtIGcybV9p
b3BvcnQtPmdwb3J0KSArIGcybV9pb3BvcnQtPm1wb3J0OworICAgIHN0cnVj
dCBodm1fZG9tYWluICpodm0gPSAmY3VycmVudC0+ZG9tYWluLT5hcmNoLmh2
bTsKKyAgICBjb25zdCBzdHJ1Y3QgZzJtX2lvcG9ydCAqZzJtX2lvcG9ydCA9
CisgICAgICAgIGcybV9wb3J0aW9fZmluZF9hbmRfbG9jayhodm0sIGFkZHIs
IHNpemUpOworICAgIHVuc2lnbmVkIGludCBtcG9ydDsKKworICAgIGlmICgg
IWcybV9pb3BvcnQgKQorICAgICAgICByZXR1cm4gWDg2RU1VTF9SRVRSWTsK
KworICAgIG1wb3J0ID0gYWRkciAtIGcybV9pb3BvcnQtPmdwb3J0ICsgZzJt
X2lvcG9ydC0+bXBvcnQ7CiAKICAgICBzd2l0Y2ggKCBzaXplICkKICAgICB7
CkBAIC0yMTUsNiArMjQzLDggQEAgc3RhdGljIGludCBjZl9jaGVjayBnMm1f
cG9ydGlvX3dyaXRlKAogICAgICAgICBCVUcoKTsKICAgICB9CiAKKyAgICBy
ZWFkX3VubG9jaygmaHZtLT5nMm1faW9wb3J0X2xvY2spOworCiAgICAgcmV0
dXJuIFg4NkVNVUxfT0tBWTsKIH0KIAotLS0gYS94ZW4vYXJjaC94ODYvaW5j
bHVkZS9hc20vaHZtL2RvbWFpbi5oCisrKyBiL3hlbi9hcmNoL3g4Ni9pbmNs
dWRlL2FzbS9odm0vZG9tYWluLmgKQEAgLTEyNCw2ICsxMjQsNyBAQCBzdHJ1
Y3QgaHZtX2RvbWFpbiB7CiAKICAgICAvKiBMaXN0IG9mIGd1ZXN0IHRvIG1h
Y2hpbmUgSU8gcG9ydHMgbWFwcGluZy4gKi8KICAgICBzdHJ1Y3QgbGlzdF9o
ZWFkIGcybV9pb3BvcnRfbGlzdDsKKyAgICByd2xvY2tfdCBnMm1faW9wb3J0
X2xvY2s7CiAKICAgICAvKiBMaXN0IG9mIE1NQ0ZHIHJlZ2lvbnMgdHJhcHBl
ZCBieSBYZW4uICovCiAgICAgc3RydWN0IGxpc3RfaGVhZCBtbWNmZ19yZWdp
b25zOwotLS0gYS94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vaHZtL3ZjcHUu
aAorKysgYi94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vaHZtL3ZjcHUuaApA
QCAtNTMsOCArNTMsNiBAQCBzdHJ1Y3QgaHZtX3ZjcHVfaW8gewogICAgIHVu
c2lnbmVkIGxvbmcgbXNpeF91bm1hc2tfYWRkcmVzczsKICAgICB1bnNpZ25l
ZCBsb25nIG1zaXhfc25vb3BfYWRkcmVzczsKICAgICB1bnNpZ25lZCBsb25n
IG1zaXhfc25vb3BfZ3BhOwotCi0gICAgY29uc3Qgc3RydWN0IGcybV9pb3Bv
cnQgKmcybV9pb3BvcnQ7CiB9OwogCiBzdHJ1Y3QgbmVzdGVkdmNwdSB7Cg==

--=separator
Content-Type: application/octet-stream; name="xsa491-4.21.patch"
Content-Disposition: attachment; filename="xsa491-4.21.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvSFZNOiBhZGQgbG9ja2luZyB0byBJL08gcG9ydCB0cmFuc2xhdGlv
biBsaXN0IHRyYXZlcnNhbAoKWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZyBp
cyB1c2FibGUgYnkgRE0gc3R1YmRvbXMsIGFuZCBoZW5jZSB3ZSBjYW4ndAph
c3N1bWUgdGhlIGxpc3QgdG8gYmUgbGVmdCB1bmFsdGVyZWQgd2hpbGUgdGhl
IGd1ZXN0IChyZWFsbHk6IHRoZQpoeXBlcnZpc29yIG9uIGJlaGFsZiBvZiB0
aGUgZ3Vlc3QpIGlzIGFjY2Vzc2luZyBpdC4KClRoaXMgaXMgWFNBLTQ5MSAv
IENWRS0yMDI2LTQyNDg3LgoKRml4ZXM6IDE5MmM0ZGFiYzM0NCAoImRvbWN0
bCBhbmQgcDJtIGNoYW5nZXMgZm9yIFBDSSBwYXNzdGhydSIpClNpZ25lZC1v
ZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3
ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29t
PgoKLS0tIGEveGVuL2FyY2gveDg2L2RvbWN0bC5jCisrKyBiL3hlbi9hcmNo
L3g4Ni9kb21jdGwuYwpAQCAtNjYzLDYgKzY2Myw3IEBAIGxvbmcgYXJjaF9k
b19kb21jdGwoCiAgICAgICAgICAgICAgICAgICAgImlvcG9ydF9tYXA6YWRk
OiBkb20lZCBncG9ydD0leCBtcG9ydD0leCBucj0leFxuIiwKICAgICAgICAg
ICAgICAgICAgICBkLT5kb21haW5faWQsIGZncCwgZm1wLCBucCk7CiAKKyAg
ICAgICAgICAgIHdyaXRlX2xvY2soJmh2bS0+ZzJtX2lvcG9ydF9sb2NrKTsK
ICAgICAgICAgICAgIGxpc3RfZm9yX2VhY2hfZW50cnkoZzJtX2lvcG9ydCwg
Jmh2bS0+ZzJtX2lvcG9ydF9saXN0LCBsaXN0KQogICAgICAgICAgICAgICAg
IGlmIChnMm1faW9wb3J0LT5tcG9ydCA9PSBmbXAgKQogICAgICAgICAgICAg
ICAgIHsKQEAgLTY4NCwxMSArNjg1LDE0IEBAIGxvbmcgYXJjaF9kb19kb21j
dGwoCiAgICAgICAgICAgICAgICAgZzJtX2lvcG9ydC0+bnAgPSBucDsKICAg
ICAgICAgICAgICAgICBsaXN0X2FkZF90YWlsKCZnMm1faW9wb3J0LT5saXN0
LCAmaHZtLT5nMm1faW9wb3J0X2xpc3QpOwogICAgICAgICAgICAgfQorICAg
ICAgICAgICAgd3JpdGVfdW5sb2NrKCZodm0tPmcybV9pb3BvcnRfbG9jayk7
CiAgICAgICAgICAgICBpZiAoICFyZXQgKQogICAgICAgICAgICAgICAgIHJl
dCA9IGlvcG9ydHNfcGVybWl0X2FjY2VzcyhkLCBmbXAsIGZtcCArIG5wIC0g
MSk7CiAgICAgICAgICAgICBpZiAoIHJldCAmJiAhZm91bmQgJiYgZzJtX2lv
cG9ydCApCiAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgd3JpdGVf
bG9jaygmaHZtLT5nMm1faW9wb3J0X2xvY2spOwogICAgICAgICAgICAgICAg
IGxpc3RfZGVsKCZnMm1faW9wb3J0LT5saXN0KTsKKyAgICAgICAgICAgICAg
ICB3cml0ZV91bmxvY2soJmh2bS0+ZzJtX2lvcG9ydF9sb2NrKTsKICAgICAg
ICAgICAgICAgICB4ZnJlZShnMm1faW9wb3J0KTsKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQpAQCAtNjk3LDYgKzcwMSw4IEBAIGxvbmcgYXJjaF9kb19k
b21jdGwoCiAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfSU5GTwogICAg
ICAgICAgICAgICAgICAgICJpb3BvcnRfbWFwOnJlbW92ZTogZG9tJWQgZ3Bv
cnQ9JXggbXBvcnQ9JXggbnI9JXhcbiIsCiAgICAgICAgICAgICAgICAgICAg
ZC0+ZG9tYWluX2lkLCBmZ3AsIGZtcCwgbnApOworCisgICAgICAgICAgICB3
cml0ZV9sb2NrKCZodm0tPmcybV9pb3BvcnRfbG9jayk7CiAgICAgICAgICAg
ICBsaXN0X2Zvcl9lYWNoX2VudHJ5KGcybV9pb3BvcnQsICZodm0tPmcybV9p
b3BvcnRfbGlzdCwgbGlzdCkKICAgICAgICAgICAgICAgICBpZiAoIGcybV9p
b3BvcnQtPm1wb3J0ID09IGZtcCApCiAgICAgICAgICAgICAgICAgewpAQCAt
NzA0LDYgKzcxMCw4IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoCiAgICAgICAg
ICAgICAgICAgICAgIHhmcmVlKGcybV9pb3BvcnQpOwogICAgICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB3cml0ZV91bmxvY2soJmh2bS0+ZzJtX2lvcG9ydF9sb2NrKTsKKwogICAg
ICAgICAgICAgcmV0ID0gaW9wb3J0c19kZW55X2FjY2VzcyhkLCBmbXAsIGZt
cCArIG5wIC0gMSk7CiAgICAgICAgICAgICBpZiAoIHJldCAmJiBpc19oYXJk
d2FyZV9kb21haW4oY3VycmQpICkKICAgICAgICAgICAgICAgICBwcmludGso
WEVOTE9HX0VSUgotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYwor
KysgYi94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYwpAQCAtMTYwLDcgKzE2
MCw2IEBAIHZvaWQgaHZtZW11bF9jYW5jZWwoc3RydWN0IHZjcHUgKnYpCiAg
ICAgaHZpby0+bW1pb19pbnNuX2J5dGVzID0gMDsKICAgICBodmlvLT5tbWlv
X2FjY2VzcyA9IChzdHJ1Y3QgbnBmZWMpe307CiAgICAgaHZpby0+bW1pb19y
ZXRyeSA9IGZhbHNlOwotICAgIGh2aW8tPmcybV9pb3BvcnQgPSBOVUxMOwog
CiAgICAgaHZtZW11bF9jYWNoZV9kaXNhYmxlKHYpOwogfQotLS0gYS94ZW4v
YXJjaC94ODYvaHZtL2h2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZt
LmMKQEAgLTYxMCw2ICs2MTAsNyBAQCBpbnQgaHZtX2RvbWFpbl9pbml0aWFs
aXNlKHN0cnVjdCBkb21haW4KICAgICBzcGluX2xvY2tfaW5pdCgmZC0+YXJj
aC5odm0uaXJxX2xvY2spOwogICAgIHNwaW5fbG9ja19pbml0KCZkLT5hcmNo
Lmh2bS51Y19sb2NrKTsKICAgICBzcGluX2xvY2tfaW5pdCgmZC0+YXJjaC5o
dm0ud3JpdGVfbWFwLmxvY2spOworICAgIHJ3bG9ja19pbml0KCZkLT5hcmNo
Lmh2bS5nMm1faW9wb3J0X2xvY2spOwogICAgIHJ3bG9ja19pbml0KCZkLT5h
cmNoLmh2bS5tbWNmZ19sb2NrKTsKICAgICBJTklUX0xJU1RfSEVBRCgmZC0+
YXJjaC5odm0ud3JpdGVfbWFwLmxpc3QpOwogICAgIElOSVRfTElTVF9IRUFE
KCZkLT5hcmNoLmh2bS5nMm1faW9wb3J0X2xpc3QpOwotLS0gYS94ZW4vYXJj
aC94ODYvaHZtL2lvLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9pby5jCkBA
IC0xNDMsMzYgKzE0Myw1NiBAQCBib29sIGhhbmRsZV9waW8odWludDE2X3Qg
cG9ydCwgdW5zaWduZWQKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotc3RhdGlj
IGJvb2wgY2ZfY2hlY2sgZzJtX3BvcnRpb19hY2NlcHQoCi0gICAgY29uc3Qg
c3RydWN0IGh2bV9pb19oYW5kbGVyICpoYW5kbGVyLCBjb25zdCBpb3JlcV90
ICpwKQorLyogTkI6IFJldHVybnMgd2l0aCB0aGUgbG9jayBoZWxkIGluIHRo
ZSBzdWNjZXNzIGNhc2UuICovCitzdGF0aWMgY29uc3Qgc3RydWN0IGcybV9p
b3BvcnQgKmcybV9wb3J0aW9fZmluZF9hbmRfbG9jayhzdHJ1Y3QgaHZtX2Rv
bWFpbiAqaHZtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgYWRkciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNpemUpCiB7Ci0gICAgc3RydWN0IHZjcHUgKmN1
cnIgPSBjdXJyZW50OwotICAgIGNvbnN0IHN0cnVjdCBodm1fZG9tYWluICpo
dm0gPSAmY3Vyci0+ZG9tYWluLT5hcmNoLmh2bTsKLSAgICBzdHJ1Y3QgaHZt
X3ZjcHVfaW8gKmh2aW8gPSAmY3Vyci0+YXJjaC5odm0uaHZtX2lvOwotICAg
IHN0cnVjdCBnMm1faW9wb3J0ICpnMm1faW9wb3J0OwotICAgIHVuc2lnbmVk
IGludCBzdGFydCwgZW5kOworICAgIGNvbnN0IHN0cnVjdCBnMm1faW9wb3J0
ICpnMm1faW9wb3J0OworCisgICAgcmVhZF9sb2NrKCZodm0tPmcybV9pb3Bv
cnRfbG9jayk7CiAKICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KCBnMm1faW9w
b3J0LCAmaHZtLT5nMm1faW9wb3J0X2xpc3QsIGxpc3QgKQogICAgIHsKLSAg
ICAgICAgc3RhcnQgPSBnMm1faW9wb3J0LT5ncG9ydDsKLSAgICAgICAgZW5k
ID0gc3RhcnQgKyBnMm1faW9wb3J0LT5ucDsKLSAgICAgICAgaWYgKCAocC0+
YWRkciA+PSBzdGFydCkgJiYgKHAtPmFkZHIgKyBwLT5zaXplIDw9IGVuZCkg
KQotICAgICAgICB7Ci0gICAgICAgICAgICBodmlvLT5nMm1faW9wb3J0ID0g
ZzJtX2lvcG9ydDsKLSAgICAgICAgICAgIHJldHVybiAxOwotICAgICAgICB9
CisgICAgICAgIHVuc2lnbmVkIGludCBzdGFydCA9IGcybV9pb3BvcnQtPmdw
b3J0OworCisgICAgICAgIGlmICggYWRkciA+PSBzdGFydCAmJiBhZGRyICsg
c2l6ZSA8PSBzdGFydCArIGcybV9pb3BvcnQtPm5wICkKKyAgICAgICAgICAg
IHJldHVybiBnMm1faW9wb3J0OwogICAgIH0KIAotICAgIHJldHVybiAwOwor
ICAgIHJlYWRfdW5sb2NrKCZodm0tPmcybV9pb3BvcnRfbG9jayk7CisKKyAg
ICByZXR1cm4gTlVMTDsKK30KKworc3RhdGljIGJvb2wgY2ZfY2hlY2sgZzJt
X3BvcnRpb19hY2NlcHQoCisgICAgY29uc3Qgc3RydWN0IGh2bV9pb19oYW5k
bGVyICpoYW5kbGVyLCBjb25zdCBpb3JlcV90ICpwKQoreworICAgIHN0cnVj
dCBodm1fZG9tYWluICpodm0gPSAmY3VycmVudC0+ZG9tYWluLT5hcmNoLmh2
bTsKKyAgICBjb25zdCBzdHJ1Y3QgZzJtX2lvcG9ydCAqZzJtX2lvcG9ydCA9
CisgICAgICAgIGcybV9wb3J0aW9fZmluZF9hbmRfbG9jayhodm0sIHAtPmFk
ZHIsIHAtPnNpemUpOworCisgICAgaWYgKCAhZzJtX2lvcG9ydCApCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIHJlYWRfdW5sb2NrKCZodm0tPmcy
bV9pb3BvcnRfbG9jayk7CisKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogc3Rh
dGljIGludCBjZl9jaGVjayBnMm1fcG9ydGlvX3JlYWQoCiAgICAgY29uc3Qg
c3RydWN0IGh2bV9pb19oYW5kbGVyICpoYW5kbGVyLCB1aW50NjRfdCBhZGRy
LCB1aW50MzJfdCBzaXplLAogICAgIHVpbnQ2NF90ICpkYXRhKQogewotICAg
IHN0cnVjdCBodm1fdmNwdV9pbyAqaHZpbyA9ICZjdXJyZW50LT5hcmNoLmh2
bS5odm1faW87Ci0gICAgY29uc3Qgc3RydWN0IGcybV9pb3BvcnQgKmcybV9p
b3BvcnQgPSBodmlvLT5nMm1faW9wb3J0OwotICAgIHVuc2lnbmVkIGludCBt
cG9ydCA9IChhZGRyIC0gZzJtX2lvcG9ydC0+Z3BvcnQpICsgZzJtX2lvcG9y
dC0+bXBvcnQ7CisgICAgc3RydWN0IGh2bV9kb21haW4gKmh2bSA9ICZjdXJy
ZW50LT5kb21haW4tPmFyY2guaHZtOworICAgIGNvbnN0IHN0cnVjdCBnMm1f
aW9wb3J0ICpnMm1faW9wb3J0ID0KKyAgICAgICAgZzJtX3BvcnRpb19maW5k
X2FuZF9sb2NrKGh2bSwgYWRkciwgc2l6ZSk7CisgICAgdW5zaWduZWQgaW50
IG1wb3J0OworCisgICAgaWYgKCAhZzJtX2lvcG9ydCApCisgICAgICAgIHJl
dHVybiBYODZFTVVMX1JFVFJZOworCisgICAgbXBvcnQgPSBhZGRyIC0gZzJt
X2lvcG9ydC0+Z3BvcnQgKyBnMm1faW9wb3J0LT5tcG9ydDsKIAogICAgIHN3
aXRjaCAoIHNpemUgKQogICAgIHsKQEAgLTE4OSw2ICsyMDksOCBAQCBzdGF0
aWMgaW50IGNmX2NoZWNrIGcybV9wb3J0aW9fcmVhZCgKICAgICAgICAgQlVH
KCk7CiAgICAgfQogCisgICAgcmVhZF91bmxvY2soJmh2bS0+ZzJtX2lvcG9y
dF9sb2NrKTsKKwogICAgIHJldHVybiBYODZFTVVMX09LQVk7CiB9CiAKQEAg
LTE5Niw5ICsyMTgsMTUgQEAgc3RhdGljIGludCBjZl9jaGVjayBnMm1fcG9y
dGlvX3dyaXRlKAogICAgIGNvbnN0IHN0cnVjdCBodm1faW9faGFuZGxlciAq
aGFuZGxlciwgdWludDY0X3QgYWRkciwgdWludDMyX3Qgc2l6ZSwKICAgICB1
aW50NjRfdCBkYXRhKQogewotICAgIHN0cnVjdCBodm1fdmNwdV9pbyAqaHZp
byA9ICZjdXJyZW50LT5hcmNoLmh2bS5odm1faW87Ci0gICAgY29uc3Qgc3Ry
dWN0IGcybV9pb3BvcnQgKmcybV9pb3BvcnQgPSBodmlvLT5nMm1faW9wb3J0
OwotICAgIHVuc2lnbmVkIGludCBtcG9ydCA9IChhZGRyIC0gZzJtX2lvcG9y
dC0+Z3BvcnQpICsgZzJtX2lvcG9ydC0+bXBvcnQ7CisgICAgc3RydWN0IGh2
bV9kb21haW4gKmh2bSA9ICZjdXJyZW50LT5kb21haW4tPmFyY2guaHZtOwor
ICAgIGNvbnN0IHN0cnVjdCBnMm1faW9wb3J0ICpnMm1faW9wb3J0ID0KKyAg
ICAgICAgZzJtX3BvcnRpb19maW5kX2FuZF9sb2NrKGh2bSwgYWRkciwgc2l6
ZSk7CisgICAgdW5zaWduZWQgaW50IG1wb3J0OworCisgICAgaWYgKCAhZzJt
X2lvcG9ydCApCisgICAgICAgIHJldHVybiBYODZFTVVMX1JFVFJZOworCisg
ICAgbXBvcnQgPSBhZGRyIC0gZzJtX2lvcG9ydC0+Z3BvcnQgKyBnMm1faW9w
b3J0LT5tcG9ydDsKIAogICAgIHN3aXRjaCAoIHNpemUgKQogICAgIHsKQEAg
LTIxNSw2ICsyNDMsOCBAQCBzdGF0aWMgaW50IGNmX2NoZWNrIGcybV9wb3J0
aW9fd3JpdGUoCiAgICAgICAgIEJVRygpOwogICAgIH0KIAorICAgIHJlYWRf
dW5sb2NrKCZodm0tPmcybV9pb3BvcnRfbG9jayk7CisKICAgICByZXR1cm4g
WDg2RU1VTF9PS0FZOwogfQogCi0tLSBhL3hlbi9hcmNoL3g4Ni9pbmNsdWRl
L2FzbS9odm0vZG9tYWluLmgKKysrIGIveGVuL2FyY2gveDg2L2luY2x1ZGUv
YXNtL2h2bS9kb21haW4uaApAQCAtMTI1LDYgKzEyNSw3IEBAIHN0cnVjdCBo
dm1fZG9tYWluIHsKIAogICAgIC8qIExpc3Qgb2YgZ3Vlc3QgdG8gbWFjaGlu
ZSBJTyBwb3J0cyBtYXBwaW5nLiAqLwogICAgIHN0cnVjdCBsaXN0X2hlYWQg
ZzJtX2lvcG9ydF9saXN0OworICAgIHJ3bG9ja190IGcybV9pb3BvcnRfbG9j
azsKIAogICAgIC8qIExpc3Qgb2YgTU1DRkcgcmVnaW9ucyB0cmFwcGVkIGJ5
IFhlbi4gKi8KICAgICBzdHJ1Y3QgbGlzdF9oZWFkIG1tY2ZnX3JlZ2lvbnM7
Ci0tLSBhL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9odm0vdmNwdS5oCisr
KyBiL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9odm0vdmNwdS5oCkBAIC01
NCw4ICs1NCw2IEBAIHN0cnVjdCBodm1fdmNwdV9pbyB7CiAgICAgdW5zaWdu
ZWQgbG9uZyBtc2l4X3VubWFza19hZGRyZXNzOwogICAgIHVuc2lnbmVkIGxv
bmcgbXNpeF9zbm9vcF9hZGRyZXNzOwogICAgIHVuc2lnbmVkIGxvbmcgbXNp
eF9zbm9vcF9ncGE7Ci0KLSAgICBjb25zdCBzdHJ1Y3QgZzJtX2lvcG9ydCAq
ZzJtX2lvcG9ydDsKIH07CiAKIHN0cnVjdCBuZXN0ZWR2Y3B1IHsK

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 12:01:19 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 12:01:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332671.1595185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWv8x-0007jj-JA; Tue, 09 Jun 2026 12:01:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332671.1595185; Tue, 09 Jun 2026 12:01:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWv8x-0007iU-CT; Tue, 09 Jun 2026 12:01:19 +0000
Received: by outflank-mailman (input) for mailman id 1332671;
 Tue, 09 Jun 2026 12:01:18 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 1wWv8v-0007dM-R6; Tue, 09 Jun 2026 12:01:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWv8v-00CaYY-7c; Tue, 09 Jun 2026 14:01:17 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 6a280081-e002-0a2a0a5209dd-0a2a4507a1f8-36
 for <multiple-recipients>; Tue, 09 Jun 2026 14:01:17 +0200
Received: from [104.130.215.37] (helo=mail.xenproject.org)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 6a28008b-229c-0a2a45070019-6882d725a6f6-3
 for <multiple-recipients>; Tue, 09 Jun 2026 14:01:16 +0200
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <andrewcoop@xenbits.xen.org>) id 1wWv8o-001eom-2r;
 Tue, 09 Jun 2026 12:01:10 +0000
Received: from andrewcoop by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <andrewcoop@xenbits.xen.org>) id 1wWv8o-00CQve-1j;
 Tue, 09 Jun 2026 12: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>
Authentication-Results: eu.smtp.expurgate.cloud; none
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.510 (Entity 5.510)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
 xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
CC: Xen.org security team <security-team-members@xen.org>
Subject: Xen Security Advisory 493 v2 (CVE-2025-10263) - Arm: Completion
 of memory accesses not guaranteed by completion of a TLBI
Message-Id: <E1wWv8o-00CQve-1j@xenbits.xenproject.org>
Date: Tue, 09 Jun 2026 12:01:10 +0000
X-purgate-ID: tlsNG-ef75cf/1781006477-22D77FE8-1085D7DF/0/0
X-purgate-type: clean
X-purgate-size: 217947

--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

              Xen Security Advisory CVE-2025-10263 / XSA-493
                                 version 2

 Arm: Completion of memory accesses not guaranteed by completion of a TLBI

UPDATES IN VERSION 2
====================

Public release.

ISSUE DESCRIPTION
=================

A hardware issue has been identified in certain Arm CPU designs.  A
broadcast TLBI on one PE may complete before affected memory accesses
on another PE are globally observed.  This may permit bypass of Stage 1
translation, Stage 2 translation, or GPT protection.

The erratum occurs when all of the following conditions are met:

 - A PE (PEx) executes a store.
 - Another PE (PEy) executes a TLBI instruction which applies to
   Stage 1 only information, Stage 1 and 2 information, or GPT
   information (but not Stage 2 only information), applies to the
   Inner Shareable or Outer Shareable domain containing PEx, and
   affects at least one of the bytes accessed by PEx's store.
 - PEy executes a DSB instruction which is sufficient to complete the
   TLBI instruction.
 - Complex micro-architectural conditions occur.

When all conditions are met, PEy's DSB may complete before the global
observation of a portion of PEx's store which was affected by the TLB
invalidation.  This store may complete at a later time, after memory
accesses which are ordered after the DSB.

The relevant TLB entries are invalidated correctly before the
completion of the DSB.  This erratum does not affect reads.

For more details, please refer to the Arm Security Center:
  https://developer.arm.com/Arm%20Security%20Center

IMPACT
======

A malicious guest may be able to write to memory it no longer has
permission to write to, after Xen has modified Stage 2 translation to
forbid writes to that location.  This could allow a guest to escalate
its privileges to that of the hypervisor.

VULNERABLE SYSTEMS
==================

Only systems running Xen on Arm are affected.  x86 systems are not
vulnerable.

Only multi-core configurations are affected.

The following Arm CPUs are affected:

 - Arm C1-Ultra, C1-Premium
 - Neoverse V3 & V3AE, Neoverse V2, Neoverse V1, Neoverse N2,
   Neoverse N1
 - Cortex-X925, Cortex-X4, Cortex-X3, Cortex-X2, Cortex-X1 & X1C,
   Cortex-A710, Cortex-A78, A78AE & A78C, Cortex-A77, Cortex-A76 &
   A76AE

MITIGATION
==========

There is no known mitigation.

CREDITS
=======

This issue was reported by Arm.

RESOLUTION
==========

Applying the appropriate set of attached patches resolves this issue.

Note that patches for released versions are generally prepared to
apply to the stable branches, and may not apply cleanly to the most
recent release tarball.  Downstreams are encouraged to update to the
tip of the stable branch before applying these patches.

xsa493/xsa493-??.patch           xen-unstable
xsa493/xsa493-4.21-??.patch      Xen 4.21.x
xsa493/xsa493-4.20-??.patch      Xen 4.20.x
xsa493/xsa493-4.19-??.patch      Xen 4.19.x
xsa493/xsa493-4.18-??.patch      Xen 4.18.x
xsa493/xsa493-4.17-??.patch      Xen 4.17.x

$ sha256sum xsa493*/*
b065245ad3e22d19a0a1f26af6978ebf52f1d59f4ddeb4aeb03eb198bc12f2fd  xsa493/xsa493-01.patch
d8f3896d4916867aaefe340ce4d2bce0c3698c093e59ee863677d6524f43a000  xsa493/xsa493-02.patch
d77017101f424f792b560b37c82d75108b68ff9183a640fa680ba6f5fc9928aa  xsa493/xsa493-03.patch
a1cd4eabe923d1d4197c95a9ce8f233a226a49cd4bf6c8651b7a11f89fccc0ed  xsa493/xsa493-4.17-01.patch
7238d3bbfe6bfd96fac0da8fb36456c23519938fe694a9f90a9f7317ba1c8fdb  xsa493/xsa493-4.17-02.patch
b561f4c7365fd6f39a35661bcc74330126abdf7f022e6340b56c6beaf5dad9c2  xsa493/xsa493-4.17-03.patch
84f818e5549cc48ca93cc7f153162881c825c51cc1da1d7e677ca1779db4e2a7  xsa493/xsa493-4.17-04.patch
1226029b0bdb4091979819bcbbe4480cb4dc4c8073758dcfa4c418dec5ff49e5  xsa493/xsa493-4.17-05.patch
59f49949a1cb27580e846cbc08402f496228de129607a90c84603c9961d7c51e  xsa493/xsa493-4.17-06.patch
f6175dc3287d38ec7c225dee428e17d6dd66c2457668942fadbf5aff78cffa1b  xsa493/xsa493-4.17-07.patch
da413bb5e5e3114e7cbbfa8ee26ffed61f902475d2ef809893a2b4002d41dd01  xsa493/xsa493-4.17-08.patch
3ef94e7a74c4e5c06655174245d004819ce6dfdc1d54f63c2463e5edf8ea182b  xsa493/xsa493-4.17-09.patch
5d604ef4efffe2a199dbe8e4dcb46883e1ec294b71f7d2679bcbfa4a3d6ae168  xsa493/xsa493-4.18-01.patch
074fad2b5bf195337c0799d59493a621e1020d8cb9834ed2997997b208d498d3  xsa493/xsa493-4.18-02.patch
df6dcfc54ddfee83e2bfc00448d7a3dedda9c8c0858ea3258ebdaf674d9cf8a4  xsa493/xsa493-4.18-03.patch
cc3457e14c2b35afef35a9fd3cc3905f6e03b0f30333b56b963bc1577dbcf4a8  xsa493/xsa493-4.18-04.patch
4b523acb3b5904d649531f8c78e701ec9384e02045fc941d2ae061f28d9c5e73  xsa493/xsa493-4.18-05.patch
3511018842968d19e34e949800d638d648ddfaad7511f80f53acfb96af244750  xsa493/xsa493-4.19-01.patch
5e157dd88c71d10323f3102f555a069c1ded6ecb203a69d53c7e441ecaaa06fc  xsa493/xsa493-4.19-02.patch
5da2ee837cb3bd151af442397c32bd5afca508b4d2f237fd6a395f20d41b740a  xsa493/xsa493-4.19-03.patch
797955e752e4010b2df5dadf75bf210a00a8ad1bfe6ee8848b5b68734ec3cd2b  xsa493/xsa493-4.19-04.patch
dfa9616895e9768b6f0d7c6efc903b00e2e51af4e0f5c38a29e79d17ea272b86  xsa493/xsa493-4.19-05.patch
0e50dae0a0dddeb2755f761f966a8d0a9186246504dacda4dd5994367f71ea8e  xsa493/xsa493-4.20-01.patch
9d9911d02f5ca5aaaf9fe3700e0ff66371d1bb469471e4bf6c305a786329f3d1  xsa493/xsa493-4.20-02.patch
9058d6dfe2fcbedbb0b10d529e9e3d3e7635381d12b41383832e163aff156002  xsa493/xsa493-4.20-03.patch
eb81f949744f3e748a871dc81eb0774e58faeb3bcc6c486f2237b9f516fdad00  xsa493/xsa493-4.20-04.patch
d4eb81c40cedbdd425429c340da45d7bb344b63d71328d8cc978fc70f606804d  xsa493/xsa493-4.20-05.patch
bd2e39066c4f9a9ed20a9214d6dd4cb71a5fa34349129398dba03b684ab49478  xsa493/xsa493-4.21-01.patch
b4b603075259fa6274b61a09133d59c8846910a29dd5b0d5af2d55a0adc67659  xsa493/xsa493-4.21-02.patch
721d339f1c18f6867d5a5a0d02e3edceb8d97ed08725787b3537969a656d74f6  xsa493/xsa493-4.21-03.patch
bfc9c9b005968f33f8a33116be7f8ce9918cd3020f35f8bd173727ac19bb0261  xsa493/xsa493-4.21-04.patch
738177c22c9b081165fb4500c05ddf53b7e9e1de68b3190462eb8cb66a5aa6a5  xsa493/xsa493-4.21-05.patch
0d6bca07e5177f4e13c572410224c5cea0c10b5004c370dd742c7c725d98a9be  xsa493/xsa493-04.patch
$

DEPLOYMENT DURING EMBARGO
=========================

Deployment of the patches and/or mitigations described above (or
others which are substantially similar) is permitted during the
embargo, even on public-facing systems with untrusted guest users and
administrators.

But: Distribution of updated software is prohibited (except to other
members of the predisclosure list).

Predisclosure list members who wish to deploy significantly different
patches and/or mitigations, please contact the Xen Project Security
Team.

(Note: this during-embargo deployment notice is retained in
post-embargo publicly released Xen Project advisories, even though it
is then no longer applicable.  This is to enable the community to have
oversight of the Xen Project Security Team's decisionmaking.)

For more information about permissible uses of embargoed information,
consult the Xen Project community's agreed Security Policy:
  http://www.xenproject.org/security-policy.html
-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmon+5EMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZl9sH/2gOt3FnPag044GT7tB/PZHNzVPNZKsqKv6TbKrh
Sd+3da3eoNX9Py4AJ25t/jUkuLoZLL1yc7Mo/6nXj3/YevWb0RgUIc8Z0nUSi17f
yBcbtAaOYlGmmDGlC/MY9H4xT2htYJXwA+XOztb7k7VS0j9g8xEv8q08RBM1Jibd
nelqwwKiDm7kJS7AtuA8bHWX+pNuvGKqKvt+AhHD6F6XXsFzZ7fU1F2Sin/Rxj2V
fi8EDJcaCBNWuyajpvQbpt3vZJX5cV4n6HnkSeUxEOyLbkSMk3oH3EIqPRbuV8V3
g2WFu5NEbyjwIUOHENQubIH1isSQ8ogx6e/JPR/fgLPJtU8=
=wDng
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-01.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-01.patch"
Content-Transfer-Encoding: base64

RnJvbSBmM2EzMDE5MDM3MDVhMWY5OTdmMmQ3MzQ2ZjQxYTY5ZGVjYmM3NmRl
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU1ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IFN5bmMgbWlzc2lu
ZyBkZWZpbml0aW9ucyBmb3IgQXJtIENQVXMgd2l0aCBMaW51eAoKU3luY2hy
b25pemUgd2l0aCBMaW51eCBrZXJuZWwgNy4wIGRlZmluaXRpb25zIGZvciB0
aGUgZm9sbG93aW5nIENQVXM6CiAtIENvcnRleC1BNzZBRSwKIC0gQ29ydGV4
LUE3OEFFLAogLSBDb3J0ZXgtWDFDLAogLSBDb3J0ZXgtWDMsCiAtIE5lb3Zl
cnNlLVYyLAogLSBDb3J0ZXgtWDQsCiAtIE5lb3ZlcnNlLVYzQUUsCiAtIE5l
b3ZlcnNlLVYzLAogLSBDb3J0ZXgtWDkyNS4KClRoZXNlIHdpbGwgYmUgdXNl
ZCBmb3IgZXJyYXRhIGRldGVjdGlvbiBpbiBzdWJzZXF1ZW50IHBhdGNoZXMu
CgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnplbEBh
bWQuY29tPgpSZXZpZXdlZC1ieTogSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVu
Lm9yZz4KCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20v
cHJvY2Vzc29yLmggYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vcHJvY2Vz
c29yLmgKaW5kZXggODk1ZDdjZDUwMjQ0Li45ZTJiNmJkNTk3NjYgMTAwNjQ0
Ci0tLSBhL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaAor
KysgYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vcHJvY2Vzc29yLmgKQEAg
LTg5LDEzICs4OSwyMiBAQAogI2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVY
X0E3NiAgICAgMHhEMEIKICNkZWZpbmUgQVJNX0NQVV9QQVJUX05FT1ZFUlNF
X04xICAgIDB4RDBDCiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTc3
ICAgICAweEQwRAorI2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E3NkFF
ICAgMHhEMEUKICNkZWZpbmUgQVJNX0NQVV9QQVJUX05FT1ZFUlNFX1YxICAg
IDB4RDQwCiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTc4ICAgICAw
eEQ0MQorI2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E3OEFFICAgMHhE
NDIKICNkZWZpbmUgQVJNX0NQVV9QQVJUX0NPUlRFWF9YMSAgICAgIDB4RDQ0
CiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTcxMCAgICAweEQ0Nwog
I2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX1gyICAgICAgMHhENDgKICNk
ZWZpbmUgQVJNX0NQVV9QQVJUX05FT1ZFUlNFX04yICAgIDB4RDQ5CiAjZGVm
aW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTc4QyAgICAweEQ0QgorI2RlZmlu
ZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX1gxQyAgICAgMHhENEMKKyNkZWZpbmUg
QVJNX0NQVV9QQVJUX0NPUlRFWF9YMyAgICAgIDB4RDRFCisjZGVmaW5lIEFS
TV9DUFVfUEFSVF9ORU9WRVJTRV9WMiAgICAweEQ0RgorI2RlZmluZSBBUk1f
Q1BVX1BBUlRfQ09SVEVYX1g0ICAgICAgMHhEODIKKyNkZWZpbmUgQVJNX0NQ
VV9QQVJUX05FT1ZFUlNFX1YzQUUgIDB4RDgzCisjZGVmaW5lIEFSTV9DUFVf
UEFSVF9ORU9WRVJTRV9WMyAgICAweEQ4NAorI2RlZmluZSBBUk1fQ1BVX1BB
UlRfQ09SVEVYX1g5MjUgICAgMHhEODUKIAogI2RlZmluZSBNSURSX0NPUlRF
WF9BMTIgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BV
X1BBUlRfQ09SVEVYX0ExMikKICNkZWZpbmUgTUlEUl9DT1JURVhfQTE3IE1J
RFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NP
UlRFWF9BMTcpCkBAIC0xMTAsMTMgKzExOSwyMiBAQAogI2RlZmluZSBNSURS
X0NPUlRFWF9BNzYgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBB
Uk1fQ1BVX1BBUlRfQ09SVEVYX0E3NikKICNkZWZpbmUgTUlEUl9ORU9WRVJT
RV9OMSBNSURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVf
UEFSVF9ORU9WRVJTRV9OMSkKICNkZWZpbmUgTUlEUl9DT1JURVhfQTc3IE1J
RFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NP
UlRFWF9BNzcpCisjZGVmaW5lIE1JRFJfQ09SVEVYX0E3NkFFIE1JRFJfQ1BV
X01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9B
NzZBRSkKICNkZWZpbmUgTUlEUl9ORU9WRVJTRV9WMSBNSURSX0NQVV9NT0RF
TChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9ORU9WRVJTRV9WMSkK
ICNkZWZpbmUgTUlEUl9DT1JURVhfQTc4IE1JRFJfQ1BVX01PREVMKEFSTV9D
UFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9BNzgpCisjZGVmaW5l
IE1JRFJfQ09SVEVYX0E3OEFFIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1Q
X0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9BNzhBRSkKICNkZWZpbmUgTUlE
Ul9DT1JURVhfWDEgIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwg
QVJNX0NQVV9QQVJUX0NPUlRFWF9YMSkKICNkZWZpbmUgTUlEUl9DT1JURVhf
QTcxMCBNSURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVf
UEFSVF9DT1JURVhfQTcxMCkKICNkZWZpbmUgTUlEUl9DT1JURVhfWDIgIE1J
RFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NP
UlRFWF9YMikKICNkZWZpbmUgTUlEUl9ORU9WRVJTRV9OMiBNSURSX0NQVV9N
T0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9ORU9WRVJTRV9O
MikKICNkZWZpbmUgTUlEUl9DT1JURVhfQTc4QyBNSURSX0NQVV9NT0RFTChB
Uk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9DT1JURVhfQTc4QykKKyNk
ZWZpbmUgTUlEUl9DT1JURVhfWDFDIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVf
SU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9YMUMpCisjZGVmaW5lIE1J
RFJfQ09SVEVYX1gzIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwg
QVJNX0NQVV9QQVJUX0NPUlRFWF9YMykKKyNkZWZpbmUgTUlEUl9ORU9WRVJT
RV9WMiBNSURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVf
UEFSVF9ORU9WRVJTRV9WMikKKyNkZWZpbmUgTUlEUl9DT1JURVhfWDQgTUlE
Ul9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09S
VEVYX1g0KQorI2RlZmluZSBNSURSX05FT1ZFUlNFX1YzQUUgTUlEUl9DUFVf
TU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfTkVPVkVSU0Vf
VjNBRSkKKyNkZWZpbmUgTUlEUl9ORU9WRVJTRV9WMyBNSURSX0NQVV9NT0RF
TChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9ORU9WRVJTRV9WMykK
KyNkZWZpbmUgTUlEUl9DT1JURVhfWDkyNSBNSURSX0NQVV9NT0RFTChBUk1f
Q1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9DT1JURVhfWDkyNSkKIAogLyog
TVBJRFIgTXVsdGlwcm9jZXNzb3IgQWZmaW5pdHkgUmVnaXN0ZXIgKi8KICNk
ZWZpbmUgX01QSURSX1VQICAgICAgICAgICAoMzApCg==

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-02.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-02.patch"
Content-Transfer-Encoding: base64

RnJvbSAyZGU2NGZjZGUyZjkwNmZkZTIxNjFjYjllNjYyZWMxNGQ1OTU2ZTQw
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU2ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IEFkZCBDMS1VbHRy
YSBkZWZpbml0aW9ucwoKQWRkIHByb2Nlc3NvciBkZWZpbml0aW9ucyBmb3Ig
QzEtVWx0cmEuIFRoZXNlIHdpbGwgYmUgdXNlZCBmb3IgZXJyYXRhCmRldGVj
dGlvbiBpbiBzdWJzZXF1ZW50IHBhdGNoZXMuCgpUaGVzZSB2YWx1ZXMgY2Fu
IGJlIGZvdW5kIGluIHRoZSBDMS1VbHRyYSBUUk06CgogIGh0dHBzOi8vZGV2
ZWxvcGVyLmFybS5jb20vZG9jdW1lbnRhdGlvbi8xMDgwMTQvMDEwMC8KCi4u
LiBpbiBzZWN0aW9uIEEuNS4xICgiTUlEUl9FTDEsIE1haW4gSUQgUmVnaXN0
ZXIiKS4KClNpZ25lZC1vZmYtYnk6IE1pY2hhbCBPcnplbCA8bWljaGFsLm9y
emVsQGFtZC5jb20+ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGll
bkB4ZW4ub3JnPgoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9pbmNsdWRl
L2FzbS9wcm9jZXNzb3IuaCBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9w
cm9jZXNzb3IuaAppbmRleCA5ZTJiNmJkNTk3NjYuLjk1NWNiMWE4YTcxMSAx
MDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3Byb2Nlc3Nv
ci5oCisrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wcm9jZXNzb3Iu
aApAQCAtMTA1LDYgKzEwNSw3IEBACiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9O
RU9WRVJTRV9WM0FFICAweEQ4MwogI2RlZmluZSBBUk1fQ1BVX1BBUlRfTkVP
VkVSU0VfVjMgICAgMHhEODQKICNkZWZpbmUgQVJNX0NQVV9QQVJUX0NPUlRF
WF9YOTI1ICAgIDB4RDg1CisjZGVmaW5lIEFSTV9DUFVfUEFSVF9DMV9VTFRS
QSAgICAgICAweEQ4QwogCiAjZGVmaW5lIE1JRFJfQ09SVEVYX0ExMiBNSURS
X0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9DT1JU
RVhfQTEyKQogI2RlZmluZSBNSURSX0NPUlRFWF9BMTcgTUlEUl9DUFVfTU9E
RUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVYX0ExNykK
QEAgLTEzNSw2ICsxMzYsNyBAQAogI2RlZmluZSBNSURSX05FT1ZFUlNFX1Yz
QUUgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BB
UlRfTkVPVkVSU0VfVjNBRSkKICNkZWZpbmUgTUlEUl9ORU9WRVJTRV9WMyBN
SURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9O
RU9WRVJTRV9WMykKICNkZWZpbmUgTUlEUl9DT1JURVhfWDkyNSBNSURSX0NQ
VV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9DT1JURVhf
WDkyNSkKKyNkZWZpbmUgTUlEUl9DMV9VTFRSQSBNSURSX0NQVV9NT0RFTChB
Uk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9DMV9VTFRSQSkKIAogLyog
TVBJRFIgTXVsdGlwcm9jZXNzb3IgQWZmaW5pdHkgUmVnaXN0ZXIgKi8KICNk
ZWZpbmUgX01QSURSX1VQICAgICAgICAgICAoMzApCg==

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-03.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-03.patch"
Content-Transfer-Encoding: base64

RnJvbSA5MDdjNjA1ZjdmOWFkMTA3ODAzZTc3YjExNWQ1MTI0MDUzYWIwMmNk
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU3ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IEFkZCBDMS1QcmVt
aXVtIGRlZmluaXRpb25zCgpBZGQgcHJvY2Vzc29yIGRlZmluaXRpb25zIGZv
ciBDMS1QcmVtaXVtLiBUaGVzZSB3aWxsIGJlIHVzZWQgZm9yIGVycmF0YQpk
ZXRlY3Rpb24gaW4gc3Vic2VxdWVudCBwYXRjaGVzLgoKVGhlc2UgdmFsdWVz
IGNhbiBiZSBmb3VuZCBpbiB0aGUgQzEtUHJlbWl1bSBUUk06CgogIGh0dHBz
Oi8vZGV2ZWxvcGVyLmFybS5jb20vZG9jdW1lbnRhdGlvbi8xMDk0MTYvMDEw
MC8KCi4uLiBpbiBzZWN0aW9uIEEuNS4xICgiTUlEUl9FTDEsIE1haW4gSUQg
UmVnaXN0ZXIiKS4KClNpZ25lZC1vZmYtYnk6IE1pY2hhbCBPcnplbCA8bWlj
aGFsLm9yemVsQGFtZC5jb20+ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwg
PGp1bGllbkB4ZW4ub3JnPgoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9p
bmNsdWRlL2FzbS9wcm9jZXNzb3IuaCBiL3hlbi9hcmNoL2FybS9pbmNsdWRl
L2FzbS9wcm9jZXNzb3IuaAppbmRleCA5NTVjYjFhOGE3MTEuLmEzNzUzYzMx
N2ZmZiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3By
b2Nlc3Nvci5oCisrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wcm9j
ZXNzb3IuaApAQCAtMTA2LDYgKzEwNiw3IEBACiAjZGVmaW5lIEFSTV9DUFVf
UEFSVF9ORU9WRVJTRV9WMyAgICAweEQ4NAogI2RlZmluZSBBUk1fQ1BVX1BB
UlRfQ09SVEVYX1g5MjUgICAgMHhEODUKICNkZWZpbmUgQVJNX0NQVV9QQVJU
X0MxX1VMVFJBICAgICAgIDB4RDhDCisjZGVmaW5lIEFSTV9DUFVfUEFSVF9D
MV9QUkVNSVVNICAgICAweEQ5MAogCiAjZGVmaW5lIE1JRFJfQ09SVEVYX0Ex
MiBNSURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFS
VF9DT1JURVhfQTEyKQogI2RlZmluZSBNSURSX0NPUlRFWF9BMTcgTUlEUl9D
UFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVY
X0ExNykKQEAgLTEzNyw2ICsxMzgsNyBAQAogI2RlZmluZSBNSURSX05FT1ZF
UlNFX1YzIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQ
VV9QQVJUX05FT1ZFUlNFX1YzKQogI2RlZmluZSBNSURSX0NPUlRFWF9YOTI1
IE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJU
X0NPUlRFWF9YOTI1KQogI2RlZmluZSBNSURSX0MxX1VMVFJBIE1JRFJfQ1BV
X01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0MxX1VMVFJB
KQorI2RlZmluZSBNSURSX0MxX1BSRU1JVU0gTUlEUl9DUFVfTU9ERUwoQVJN
X0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQzFfUFJFTUlVTSkKIAogLyog
TVBJRFIgTXVsdGlwcm9jZXNzb3IgQWZmaW5pdHkgUmVnaXN0ZXIgKi8KICNk
ZWZpbmUgX01QSURSX1VQICAgICAgICAgICAoMzApCg==

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.17-01.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.17-01.patch"
Content-Transfer-Encoding: base64

RnJvbSA0M2FhYTY0OWQ3YzUyYTA0NzY4ZmY4YWJiYmQ0NjFjMmI0ZjIzNzZh
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpZW4gR3JhbGwg
PGpncmFsbEBhbWF6b24uY29tPgpEYXRlOiBUdWUsIDI0IEphbiAyMDIzIDE5
OjI1OjE5ICswMDAwClN1YmplY3Q6IHhlbi9hcm02NDogZmx1c2h0bGI6IFJl
ZHVjZSBzY29wZSBvZiBiYXJyaWVyIGZvciBsb2NhbCBUTEIgZmx1c2gKClBl
ciBENS00OTI5IGluIEFSTSBEREkgMDQ4N0guYToKIkEgRFNCIE5TSCBpcyBz
dWZmaWNpZW50IHRvIGVuc3VyZSBjb21wbGV0aW9uIG9mIFRMQiBtYWludGVu
YW5jZQogaW5zdHJ1Y3Rpb25zIHRoYXQgYXBwbHkgdG8gYSBzaW5nbGUgUEUu
IEEgRFNCIElTSCBpcyBzdWZmaWNpZW50IHRvCiBlbnN1cmUgY29tcGxldGlv
biBvZiBUTEIgbWFpbnRlbmFuY2UgaW5zdHJ1Y3Rpb25zIHRoYXQgYXBwbHkg
dG8gUEVzCiBpbiB0aGUgc2FtZSBJbm5lciBTaGFyZWFibGUgZG9tYWluLgoi
CgpUaGlzIG1lYW5zIGJhcnJpZXIgYWZ0ZXIgbG9jYWwgVExCIGZsdXNoZXMg
Y291bGQgYmUgcmVkdWNlZCB0bwpub24tc2hhcmVhYmxlLgoKTm90ZSB0aGF0
IHRoZSBzY29wZSBvZiB0aGUgYmFycmllciBpbiB0aGUgd29ya2Fyb3VuZCBo
YXMgbm90IGJlZW4KY2hhbmdlZCBiZWNhdXNlIExpbnV4IHY2LjEtcmM4IGlz
IGFsc28gdXNpbmcgJ2lzaCcgYW5kIEkgY291bGRuJ3QKZmluZCBhbnl0aGlu
ZyBpbiB0aGUgTmVvdmVyc2UgTjEgc3VnZ2VzdGluZyB0aGF0IGEgJ25zaCcg
d291bGQKYmUgc3VmZmljaWVudC4KClNpZ25lZC1vZmYtYnk6IEp1bGllbiBH
cmFsbCA8amdyYWxsQGFtYXpvbi5jb20+ClJldmlld2VkLWJ5OiBNaWNoYWwg
T3J6ZWwgPG1pY2hhbC5vcnplbEBhbWQuY29tPgpUZXN0ZWQtYnk6IEhlbnJ5
IFdhbmcgPEhlbnJ5LldhbmdAYXJtLmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJv
bSBjb21taXQgN2M0Mzg4NTE0NzU0ODJiZjczZmNmNDUxNTUxZDFjYjcxOGQ0
OTA0YykKCnhlbi9hcm06IFJlbW92ZSBzdHJheSBzZW1pY29sb24gYXQgVlJF
R19SRUdfSEVMUEVSUy9UTEJfSEVMUEVSKiBjYWxsZXJzCgpUaGlzIGlzIGlu
Y29uc2lzdGVudCB3aXRoIHRoZSByZXN0IG9mIHRoZSBjb2RlIHdoZXJlIG1h
Y3JvcyBhcmUgdXNlZAp0byBkZWZpbmUgZnVuY3Rpb25zLCBhcyBpdCByZXN1
bHRzIGluIGFuIGVtcHR5IGRlY2xhcmF0aW9uIChpLmUuCnNlbWljb2xvbiB3
aXRoIG5vdGhpbmcgYmVmb3JlIGl0KSBhZnRlciBmdW5jdGlvbiBkZWZpbml0
aW9uLiBUaGlzIGlzIGFsc28Kbm90IGFsbG93ZWQgYnkgQzk5LgoKVGFrZSB0
aGUgb3Bwb3J0dW5pdHkgdG8gdW5kZWZpbmUgVExCX0hFTFBFUiogbWFjcm9z
IGFmdGVyIGxhc3QgdXNlLgoKU2lnbmVkLW9mZi1ieTogTWljaGFsIE9yemVs
IDxtaWNoYWwub3J6ZWxAYW1kLmNvbT4KUmV2aWV3ZWQtYnk6IFN0ZWZhbm8g
U3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KKGNoZXJyeSBw
aWNrZWQgZnJvbSBjb21taXQgNjA0NGI0ODViYTViMGU0MDczYTc3MzQwMmNl
ZGMyZjJmYWU1NDBhZCkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vaW5j
bHVkZS9hc20vYXJtNjQvZmx1c2h0bGIuaCBiL3hlbi9hcmNoL2FybS9pbmNs
dWRlL2FzbS9hcm02NC9mbHVzaHRsYi5oCmluZGV4IDdjNTQzMTUxODc0MS4u
ZmNjMDc4OGMzMDQ5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vaW5jbHVk
ZS9hc20vYXJtNjQvZmx1c2h0bGIuaAorKysgYi94ZW4vYXJjaC9hcm0vaW5j
bHVkZS9hc20vYXJtNjQvZmx1c2h0bGIuaApAQCAtMTIsOCArMTIsOSBAQAog
ICogQVJNNjRfV09SS0FST1VORF9SRVBFQVRfVExCSToKICAqIE1vZGlmaWNh
dGlvbiBvZiB0aGUgdHJhbnNsYXRpb24gdGFibGUgZm9yIGEgdmlydHVhbCBh
ZGRyZXNzIG1pZ2h0IGxlYWQgdG8KICAqIHJlYWQtYWZ0ZXItcmVhZCBvcmRl
cmluZyB2aW9sYXRpb24uCi0gKiBUaGUgd29ya2Fyb3VuZCByZXBlYXRzIFRM
QkkrRFNCIG9wZXJhdGlvbiBmb3IgYWxsIHRoZSBUTEIgZmx1c2ggb3BlcmF0
aW9ucy4KLSAqIFdoaWxlIHRoaXMgaXMgc3RyaWNseSBub3QgbmVjZXNzYXJ5
LCB3ZSBkb24ndCB3YW50IHRvIHRha2UgYW55IHJpc2suCisgKiBUaGUgd29y
a2Fyb3VuZCByZXBlYXRzIFRMQkkrRFNCIElTSCBvcGVyYXRpb24gZm9yIGFs
bCB0aGUgVExCIGZsdXNoCisgKiBvcGVyYXRpb25zLiBXaGlsZSB0aGlzIGlz
IHN0cmljdGx5IG5vdCBuZWNlc3NhcnksIHdlIGRvbid0IHdhbnQgdG8KKyAq
IHRha2UgYW55IHJpc2suCiAgKgogICogRm9yIFhlbiBwYWdlLXRhYmxlcyB0
aGUgSVNCIHdpbGwgZGlzY2FyZCBhbnkgaW5zdHJ1Y3Rpb25zIGZldGNoZWQK
ICAqIGZyb20gdGhlIG9sZCBtYXBwaW5ncy4KQEAgLTIxLDEyICsyMiwxNyBA
QAogICogRm9yIHRoZSBTdGFnZS0yIHBhZ2UtdGFibGVzIHRoZSBJU0IgZW5z
dXJlcyB0aGUgY29tcGxldGlvbiBvZiB0aGUgRFNCCiAgKiAoYW5kIHRoZXJl
Zm9yZSB0aGUgVExCIGludmFsaWRhdGlvbikgYmVmb3JlIGNvbnRpbnVpbmcu
IFNvIHdlIGtub3cKICAqIHRoZSBUTEJzIGNhbm5vdCBjb250YWluIGFuIGVu
dHJ5IGZvciBhIG1hcHBpbmcgd2UgbWF5IGhhdmUgcmVtb3ZlZC4KKyAqCisg
KiBOb3RlIHRoYXQgZm9yIGxvY2FsIFRMQiBmbHVzaCwgdXNpbmcgbm9uLXNo
YXJlYWJsZSAobnNoKSBpcyBzdWZmaWNpZW50CisgKiAoc2VlIEQ1LTQ5Mjkg
aW4gQVJNIERESSAwNDg3SC5hKS4gQWx0aG91Z2gsIHRoZSBtZW1vcnkgYmFy
cmllciBpbgorICogZm9yIHRoZSB3b3JrYXJvdW5kIGlzIGxlZnQgYXMgaW5u
ZXItc2hhcmVhYmxlIHRvIG1hdGNoIHdpdGggTGludXgKKyAqIHY2LjEtcmM4
LgogICovCi0jZGVmaW5lIFRMQl9IRUxQRVIobmFtZSwgdGxib3ApICAgICAg
ICAgICAgICAgICAgXAorI2RlZmluZSBUTEJfSEVMUEVSKG5hbWUsIHRsYm9w
LCBzaCkgICAgICAgICAgICAgIFwKIHN0YXRpYyBpbmxpbmUgdm9pZCBuYW1l
KHZvaWQpICAgICAgICAgICAgICAgICAgICBcCiB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGFzbSB2
b2xhdGlsZSggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgImRzYiAgaXNoc3Q7IiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICAgICJkc2IgICIgICMgc2ggICJzdDsiICAgICAgICAgICAg
ICAgICAgICAgXAogICAgICAgICAidGxiaSAiICAjIHRsYm9wICAiOyIgICAg
ICAgICAgICAgICAgICAgIFwKICAgICAgICAgQUxURVJOQVRJVkUoICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAibm9wOyBu
b3A7IiwgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMzQsMjUgKzQw
LDI1IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBuYW1lKHZvaWQpICAgICAgICAg
ICAgICAgICAgICBcCiAgICAgICAgICAgICAidGxiaSAiICAjIHRsYm9wICAi
OyIsICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgQVJNNjRfV09SS0FS
T1VORF9SRVBFQVRfVExCSSwgICAgICAgIFwKICAgICAgICAgICAgIENPTkZJ
R19BUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJKSBcCi0gICAgICAgICJk
c2IgIGlzaDsiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
ICAgICAiZHNiICAiICAjIHNoICAiOyIgICAgICAgICAgICAgICAgICAgICAg
IFwKICAgICAgICAgImlzYjsiICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCiAgICAgICAgIDogOiA6ICJtZW1vcnkiKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgXAogfQogCiAvKiBGbHVzaCBsb2NhbCBUTEJzLCBj
dXJyZW50IFZNSUQgb25seS4gKi8KLVRMQl9IRUxQRVIoZmx1c2hfZ3Vlc3Rf
dGxiX2xvY2FsLCB2bWFsbHMxMmUxKTsKK1RMQl9IRUxQRVIoZmx1c2hfZ3Vl
c3RfdGxiX2xvY2FsLCB2bWFsbHMxMmUxLCBuc2gpCiAKIC8qIEZsdXNoIGlu
bmVyc2hhcmVhYmxlIFRMQnMsIGN1cnJlbnQgVk1JRCBvbmx5ICovCi1UTEJf
SEVMUEVSKGZsdXNoX2d1ZXN0X3RsYiwgdm1hbGxzMTJlMWlzKTsKK1RMQl9I
RUxQRVIoZmx1c2hfZ3Vlc3RfdGxiLCB2bWFsbHMxMmUxaXMsIGlzaCkKIAog
LyogRmx1c2ggbG9jYWwgVExCcywgYWxsIFZNSURzLCBub24taHlwZXJ2aXNv
ciBtb2RlICovCi1UTEJfSEVMUEVSKGZsdXNoX2FsbF9ndWVzdHNfdGxiX2xv
Y2FsLCBhbGxlMSk7CitUTEJfSEVMUEVSKGZsdXNoX2FsbF9ndWVzdHNfdGxi
X2xvY2FsLCBhbGxlMSwgbnNoKQogCiAvKiBGbHVzaCBpbm5lcnNoYXJlYWJs
ZSBUTEJzLCBhbGwgVk1JRHMsIG5vbi1oeXBlcnZpc29yIG1vZGUgKi8KLVRM
Ql9IRUxQRVIoZmx1c2hfYWxsX2d1ZXN0c190bGIsIGFsbGUxaXMpOworVExC
X0hFTFBFUihmbHVzaF9hbGxfZ3Vlc3RzX3RsYiwgYWxsZTFpcywgaXNoKQog
CiAvKiBGbHVzaCBhbGwgaHlwZXJ2aXNvciBtYXBwaW5ncyBmcm9tIHRoZSBU
TEIgb2YgdGhlIGxvY2FsIHByb2Nlc3Nvci4gKi8KLVRMQl9IRUxQRVIoZmx1
c2hfeGVuX3RsYl9sb2NhbCwgYWxsZTIpOworVExCX0hFTFBFUihmbHVzaF94
ZW5fdGxiX2xvY2FsLCBhbGxlMiwgbnNoKQogCiAvKiBGbHVzaCBUTEIgb2Yg
bG9jYWwgcHJvY2Vzc29yIGZvciBhZGRyZXNzIHZhLiAqLwogc3RhdGljIGlu
bGluZSB2b2lkICBfX2ZsdXNoX3hlbl90bGJfb25lX2xvY2FsKHZhZGRyX3Qg
dmEpCkBAIC02Niw2ICs3Miw4IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBfX2Zs
dXNoX3hlbl90bGJfb25lKHZhZGRyX3QgdmEpCiAgICAgYXNtIHZvbGF0aWxl
KCJ0bGJpIHZhZTJpcywgJTA7IiA6IDogInIiICh2YT4+UEFHRV9TSElGVCkg
OiAibWVtb3J5Iik7CiB9CiAKKyN1bmRlZiBUTEJfSEVMUEVSCisKICNlbmRp
ZiAvKiBfX0FTTV9BUk1fQVJNNjRfRkxVU0hUTEJfSF9fICovCiAvKgogICog
TG9jYWwgdmFyaWFibGVzOgo=

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.17-02.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.17-02.patch"
Content-Transfer-Encoding: base64

RnJvbSA0MTg5NzljNGFjNzgyZDM3ZmMzMTkwYzRiMTdkYmY3ZjVjNjI5YzU2
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpZW4gR3JhbGwg
PGpncmFsbEBhbWF6b24uY29tPgpEYXRlOiBUdWUsIDI0IEphbiAyMDIzIDE5
OjI1OjUwICswMDAwClN1YmplY3Q6IHhlbi9hcm02NDogZmx1c2h0bGI6IElt
cGxlbWVudCB0aGUgVExCSSByZXBlYXQgd29ya2Fyb3VuZCBmb3IgVExCCiBm
bHVzaCBieSBWQQoKTG9va2luZyBhdCB0aGUgTmVvdmVyc2UgTjEgZXJyYXRh
IGRvY3VtZW50LCBpdCBpcyBub3QgY2xlYXIgdG8gbWUKd2h5IHRoZSBUTEJJ
IHJlcGVhdCB3b3JrYXJvdW5kIGlzIG5vdCBhcHBsaWVkIGZvciBUTEIgZmx1
c2ggYnkgVkEuCgpUaGUgVExCIGZsdXNoIGJ5IFZBIGhlbHBlcnMgYXJlIHVz
ZWQgaW4gZmx1c2hfeGVuX3RsYl9yYW5nZV92YV9sb2NhbCgpCmFuZCBmbHVz
aF94ZW5fdGxiX3JhbmdlX3ZhKCkuIFNvIGlmIHRoZSByYW5nZSBzaXplIGlz
IGEgZml4ZWQgc2l6ZSBzbWFsbGVyCnRoYW4gYSBQQUdFX1NJWkUsIGl0IHdv
dWxkIGJlIHBvc3NpYmxlIHRoYXQgdGhlIGNvbXBpbGVyIHJlbW92ZSB0aGUg
bG9vcAphbmQgdGhlcmVmb3JlIHJlcGxpY2F0ZSB0aGUgc2VxdWVuY2UgZGVz
Y3JpYmVkIGluIHRoZSBlcnJhdHVtIDEyODY4MDcuCgpTbyB0aGUgVExCSSBy
ZXBlYXQgd29ya2Fyb3VuZCBzaG91bGQgYWxzbyBiZSBhcHBsaWVkIGZvciB0
aGUgVExCIGZsdXNoCmJ5IFZBIGhlbHBlcnMuCgpGaXhlczogMjJlMzIzZDEx
NWQ4ICgieGVuL2FybTogQWRkIHdvcmthcm91bmQgZm9yIENvcnRleC1BNzYv
TmVvdmVyc2UtTjEgZXJyYXR1bSAjMTI4NjgwNyIpClNpZ25lZC1vZmYtYnk6
IEp1bGllbiBHcmFsbCA8amdyYWxsQGFtYXpvbi5jb20+ClJldmlld2VkLWJ5
OiBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnplbEBhbWQuY29tPgpUZXN0ZWQt
Ynk6IEhlbnJ5IFdhbmcgPEhlbnJ5LldhbmdAYXJtLmNvbT4KKGNoZXJyeSBw
aWNrZWQgZnJvbSBjb21taXQgY2JmYWY2Y2NkMmNiNWQxYjJiYzZlZmU1YzZm
NGJhNWNjY2NlNTY4OSkKCnhlbi9hcm06IFJlbW92ZSBzdHJheSBzZW1pY29s
b24gYXQgVlJFR19SRUdfSEVMUEVSUy9UTEJfSEVMUEVSKiBjYWxsZXJzCgpU
aGlzIGlzIGluY29uc2lzdGVudCB3aXRoIHRoZSByZXN0IG9mIHRoZSBjb2Rl
IHdoZXJlIG1hY3JvcyBhcmUgdXNlZAp0byBkZWZpbmUgZnVuY3Rpb25zLCBh
cyBpdCByZXN1bHRzIGluIGFuIGVtcHR5IGRlY2xhcmF0aW9uIChpLmUuCnNl
bWljb2xvbiB3aXRoIG5vdGhpbmcgYmVmb3JlIGl0KSBhZnRlciBmdW5jdGlv
biBkZWZpbml0aW9uLiBUaGlzIGlzIGFsc28Kbm90IGFsbG93ZWQgYnkgQzk5
LgoKVGFrZSB0aGUgb3Bwb3J0dW5pdHkgdG8gdW5kZWZpbmUgVExCX0hFTFBF
UiogbWFjcm9zIGFmdGVyIGxhc3QgdXNlLgoKU2lnbmVkLW9mZi1ieTogTWlj
aGFsIE9yemVsIDxtaWNoYWwub3J6ZWxAYW1kLmNvbT4KUmV2aWV3ZWQtYnk6
IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4K
KGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNjA0NGI0ODViYTViMGU0MDcz
YTc3MzQwMmNlZGMyZjJmYWU1NDBhZCkKCmRpZmYgLS1naXQgYS94ZW4vYXJj
aC9hcm0vaW5jbHVkZS9hc20vYXJtNjQvZmx1c2h0bGIuaCBiL3hlbi9hcmNo
L2FybS9pbmNsdWRlL2FzbS9hcm02NC9mbHVzaHRsYi5oCmluZGV4IGZjYzA3
ODhjMzA0OS4uNTZjNmZjNzYzYjU2IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9h
cm0vaW5jbHVkZS9hc20vYXJtNjQvZmx1c2h0bGIuaAorKysgYi94ZW4vYXJj
aC9hcm0vaW5jbHVkZS9hc20vYXJtNjQvZmx1c2h0bGIuaApAQCAtNDUsNiAr
NDUsMjcgQEAgc3RhdGljIGlubGluZSB2b2lkIG5hbWUodm9pZCkgICAgICAg
ICAgICAgICAgICAgIFwKICAgICAgICAgOiA6IDogIm1lbW9yeSIpOyAgICAg
ICAgICAgICAgICAgICAgICAgICBcCiB9CiAKKy8qCisgKiBGTHVzaCBUTEIg
YnkgVkEuIFRoaXMgd2lsbCBsaWtlbHkgYmUgdXNlZCBpbiBhIGxvb3AsIHNv
IHRoZSBjYWxsZXIKKyAqIGlzIHJlc3BvbnNpYmxlIHRvIHVzZSB0aGUgYXBw
cm9wcmlhdGUgbWVtb3J5IGJhcnJpZXJzIGJlZm9yZS9hZnRlcgorICogdGhl
IHNlcXVlbmNlLgorICoKKyAqIFNlZSBhYm92ZSBhYm91dCB0aGUgQVJNNjRf
V09SS0FST1VORF9SRVBFQVRfVExCSSBzZXF1ZW5jZS4KKyAqLworI2RlZmlu
ZSBUTEJfSEVMUEVSX1ZBKG5hbWUsIHRsYm9wKSAgICAgICAgICAgICAgIFwK
K3N0YXRpYyBpbmxpbmUgdm9pZCBuYW1lKHZhZGRyX3QgdmEpICAgICAgICAg
ICAgICBcCit7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIGFzbSB2b2xhdGlsZSggICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgInRsYmkgIiAgIyB0bGJv
cCAgIiwgJTA7IiAgICAgICAgICAgICAgICBcCisgICAgICAgIEFMVEVSTkFU
SVZFKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAg
ICAgIm5vcDsgbm9wOyIsICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICAgICAgICAgICJkc2IgIGlzaDsiICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICAgICAgICAidGxiaSAiICAjIHRsYm9wICAiLCAlMDsiLCAg
ICAgICAgICAgXAorICAgICAgICAgICAgQVJNNjRfV09SS0FST1VORF9SRVBF
QVRfVExCSSwgICAgICAgIFwKKyAgICAgICAgICAgIENPTkZJR19BUk02NF9X
T1JLQVJPVU5EX1JFUEVBVF9UTEJJKSBcCisgICAgICAgIDogOiAiciIgKHZh
ID4+IFBBR0VfU0hJRlQpIDogIm1lbW9yeSIpOyAgXAorfQorCiAvKiBGbHVz
aCBsb2NhbCBUTEJzLCBjdXJyZW50IFZNSUQgb25seS4gKi8KIFRMQl9IRUxQ
RVIoZmx1c2hfZ3Vlc3RfdGxiX2xvY2FsLCB2bWFsbHMxMmUxLCBuc2gpCiAK
QEAgLTYxLDE4ICs4MiwxMyBAQCBUTEJfSEVMUEVSKGZsdXNoX2FsbF9ndWVz
dHNfdGxiLCBhbGxlMWlzLCBpc2gpCiBUTEJfSEVMUEVSKGZsdXNoX3hlbl90
bGJfbG9jYWwsIGFsbGUyLCBuc2gpCiAKIC8qIEZsdXNoIFRMQiBvZiBsb2Nh
bCBwcm9jZXNzb3IgZm9yIGFkZHJlc3MgdmEuICovCi1zdGF0aWMgaW5saW5l
IHZvaWQgIF9fZmx1c2hfeGVuX3RsYl9vbmVfbG9jYWwodmFkZHJfdCB2YSkK
LXsKLSAgICBhc20gdm9sYXRpbGUoInRsYmkgdmFlMiwgJTA7IiA6IDogInIi
ICh2YT4+UEFHRV9TSElGVCkgOiAibWVtb3J5Iik7Ci19CitUTEJfSEVMUEVS
X1ZBKF9fZmx1c2hfeGVuX3RsYl9vbmVfbG9jYWwsIHZhZTIpCiAKIC8qIEZs
dXNoIFRMQiBvZiBhbGwgcHJvY2Vzc29ycyBpbiB0aGUgaW5uZXItc2hhcmVh
YmxlIGRvbWFpbiBmb3IgYWRkcmVzcyB2YS4gKi8KLXN0YXRpYyBpbmxpbmUg
dm9pZCBfX2ZsdXNoX3hlbl90bGJfb25lKHZhZGRyX3QgdmEpCi17Ci0gICAg
YXNtIHZvbGF0aWxlKCJ0bGJpIHZhZTJpcywgJTA7IiA6IDogInIiICh2YT4+
UEFHRV9TSElGVCkgOiAibWVtb3J5Iik7Ci19CitUTEJfSEVMUEVSX1ZBKF9f
Zmx1c2hfeGVuX3RsYl9vbmUsIHZhZTJpcykKIAogI3VuZGVmIFRMQl9IRUxQ
RVIKKyN1bmRlZiBUTEJfSEVMUEVSX1ZBCiAKICNlbmRpZiAvKiBfX0FTTV9B
Uk1fQVJNNjRfRkxVU0hUTEJfSF9fICovCiAvKgo=

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.17-03.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.17-03.patch"
Content-Transfer-Encoding: base64

RnJvbSBjZGE3OWZlZTJhZmQ0MjJjMjgzNmY4ZWYzMDM5ZmRhMTQ0YjA1MjE4
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpZW4gR3JhbGwg
PGpncmFsbEBhbWF6b24uY29tPgpEYXRlOiBUdWUsIDI0IEphbiAyMDIzIDE5
OjI2OjA5ICswMDAwClN1YmplY3Q6IHhlbi9hcm0zMjogZmx1c2h0bGI6IFJl
ZHVjZSBzY29wZSBvZiBiYXJyaWVyIGZvciBsb2NhbCBUTEIgZmx1c2gKClBl
ciBHNS05MjI0IGluIEFSTSBEREkgMDQ4N0kuYToKCiJBIERTQiBOU0ggaXMg
c3VmZmljaWVudCB0byBlbnN1cmUgY29tcGxldGlvbiBvZiBUTEIgbWFpbnRl
bmFuY2UKIGluc3RydWN0aW9ucyB0aGF0IGFwcGx5IHRvIGEgc2luZ2xlIFBF
LiBBIERTQiBJU0ggaXMgc3VmZmljaWVudCB0bwogZW5zdXJlIGNvbXBsZXRp
b24gb2YgVExCIG1haW50ZW5hbmNlIGluc3RydWN0aW9ucyB0aGF0IGFwcGx5
IHRvIFBFcwogaW4gdGhlIHNhbWUgSW5uZXIgU2hhcmVhYmxlIGRvbWFpbi4K
IgoKVGhpcyBpcyBxdW90aW5nIHRoZSBBcm12OCBzcGVjaWZpY2F0aW9uIGJl
Y2F1c2UgSSBjb3VsZG4ndCBmaW5kIGFuCmV4cGxpY2l0IHN0YXRlbWVudCBp
biB0aGUgQXJtdjcgc3BlY2lmaWNhdGlvbi4gSW5zdGVhZCwgSSBjb3VsZCBm
aW5kCmJpdHMgaW4gdmFyaW91cyBwbGFjZXMgdGhhdCBjb25maXJtIHRoZSBz
YW1lIGltcGxlbWVudGF0aW9uLgoKRnVydGhlcm1vcmUsIExpbnV4IGhhcyBi
ZWVuIHVzaW5nICduc2gnIHNpbmNlIDIwMTMgKDYyY2JiYzQyZTAwMQoiQVJN
OiB0bGI6IHJlZHVjZSBzY29wZSBvZiBiYXJyaWVyIGRvbWFpbnMgZm9yIFRM
QiBpbnZhbGlkYXRpb24iKS4KClRoaXMgbWVhbnMgYmFycmllciBhZnRlciBs
b2NhbCBUTEIgZmx1c2hlcyBjb3VsZCBiZSByZWR1Y2VkIHRvCm5vbi1zaGFy
ZWFibGUuCgpTaWduZWQtb2ZmLWJ5OiBKdWxpZW4gR3JhbGwgPGpncmFsbEBh
bWF6b24uY29tPgpSZXZpZXdlZC1ieTogTWljaGFsIE9yemVsIDxtaWNoYWwu
b3J6ZWxAYW1kLmNvbT4KVGVzdGVkLWJ5OiBIZW5yeSBXYW5nIDxIZW5yeS5X
YW5nQGFybS5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGQ1NmM3
MGI2ZTFmZTJiNGVlODM2Y2E0NDQ5YTMyNzdjYmJlYjBkZGMpCgp4ZW4vYXJt
OiBSZW1vdmUgc3RyYXkgc2VtaWNvbG9uIGF0IFZSRUdfUkVHX0hFTFBFUlMv
VExCX0hFTFBFUiogY2FsbGVycwoKVGhpcyBpcyBpbmNvbnNpc3RlbnQgd2l0
aCB0aGUgcmVzdCBvZiB0aGUgY29kZSB3aGVyZSBtYWNyb3MgYXJlIHVzZWQK
dG8gZGVmaW5lIGZ1bmN0aW9ucywgYXMgaXQgcmVzdWx0cyBpbiBhbiBlbXB0
eSBkZWNsYXJhdGlvbiAoaS5lLgpzZW1pY29sb24gd2l0aCBub3RoaW5nIGJl
Zm9yZSBpdCkgYWZ0ZXIgZnVuY3Rpb24gZGVmaW5pdGlvbi4gVGhpcyBpcyBh
bHNvCm5vdCBhbGxvd2VkIGJ5IEM5OS4KClRha2UgdGhlIG9wcG9ydHVuaXR5
IHRvIHVuZGVmaW5lIFRMQl9IRUxQRVIqIG1hY3JvcyBhZnRlciBsYXN0IHVz
ZS4KClNpZ25lZC1vZmYtYnk6IE1pY2hhbCBPcnplbCA8bWljaGFsLm9yemVs
QGFtZC5jb20+ClJldmlld2VkLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNz
dGFiZWxsaW5pQGtlcm5lbC5vcmc+CihjaGVycnkgcGlja2VkIGZyb20gY29t
bWl0IDYwNDRiNDg1YmE1YjBlNDA3M2E3NzM0MDJjZWRjMmYyZmFlNTQwYWQp
CgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FybTMy
L2ZsdXNodGxiLmggYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtMzIv
Zmx1c2h0bGIuaAppbmRleCA5MDg1ZTY1MDExNTMuLjIyZWUzYjMxN2I0ZCAx
MDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FybTMyL2Zs
dXNodGxiLmgKKysrIGIveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FybTMy
L2ZsdXNodGxiLmgKQEAgLTE1LDMwICsxNSwzNSBAQAogICogRm9yIHRoZSBT
dGFnZS0yIHBhZ2UtdGFibGVzIHRoZSBJU0IgZW5zdXJlcyB0aGUgY29tcGxl
dGlvbiBvZiB0aGUgRFNCCiAgKiAoYW5kIHRoZXJlZm9yZSB0aGUgVExCIGlu
dmFsaWRhdGlvbikgYmVmb3JlIGNvbnRpbnVpbmcuIFNvIHdlIGtub3cKICAq
IHRoZSBUTEJzIGNhbm5vdCBjb250YWluIGFuIGVudHJ5IGZvciBhIG1hcHBp
bmcgd2UgbWF5IGhhdmUgcmVtb3ZlZC4KKyAqCisgKiBOb3RlIHRoYXQgZm9y
IGxvY2FsIFRMQiBmbHVzaCwgdXNpbmcgbm9uLXNoYXJlYWJsZSAobnNoKSBp
cyBzdWZmaWNpZW50CisgKiAoc2VlIEc1LTkyMjQgaW4gQVJNIERESSAwNDg3
SS5hKS4KICAqLwotI2RlZmluZSBUTEJfSEVMUEVSKG5hbWUsIHRsYm9wKSBc
Ci1zdGF0aWMgaW5saW5lIHZvaWQgbmFtZSh2b2lkKSAgIFwKLXsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGRzYihpc2hzdCk7ICAg
ICAgICAgICAgICAgICBcCi0gICAgV1JJVEVfQ1AzMigwLCB0bGJvcCk7ICAg
ICAgIFwKLSAgICBkc2IoaXNoKTsgICAgICAgICAgICAgICAgICAgXAotICAg
IGlzYigpOyAgICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIFRMQl9I
RUxQRVIobmFtZSwgdGxib3AsIHNoKSBcCitzdGF0aWMgaW5saW5lIHZvaWQg
bmFtZSh2b2lkKSAgICAgICBcCit7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgZHNiKHNoICMjIHN0KTsgICAgICAgICAgICAg
ICAgICBcCisgICAgV1JJVEVfQ1AzMigwLCB0bGJvcCk7ICAgICAgICAgICBc
CisgICAgZHNiKHNoKTsgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
aXNiKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiB9CiAKIC8qIEZs
dXNoIGxvY2FsIFRMQnMsIGN1cnJlbnQgVk1JRCBvbmx5ICovCi1UTEJfSEVM
UEVSKGZsdXNoX2d1ZXN0X3RsYl9sb2NhbCwgVExCSUFMTCk7CitUTEJfSEVM
UEVSKGZsdXNoX2d1ZXN0X3RsYl9sb2NhbCwgVExCSUFMTCwgbnNoKQogCiAv
KiBGbHVzaCBpbm5lciBzaGFyZWFibGUgVExCcywgY3VycmVudCBWTUlEIG9u
bHkgKi8KLVRMQl9IRUxQRVIoZmx1c2hfZ3Vlc3RfdGxiLCBUTEJJQUxMSVMp
OworVExCX0hFTFBFUihmbHVzaF9ndWVzdF90bGIsIFRMQklBTExJUywgaXNo
KQogCiAvKiBGbHVzaCBsb2NhbCBUTEJzLCBhbGwgVk1JRHMsIG5vbi1oeXBl
cnZpc29yIG1vZGUgKi8KLVRMQl9IRUxQRVIoZmx1c2hfYWxsX2d1ZXN0c190
bGJfbG9jYWwsIFRMQklBTExOU05IKTsKK1RMQl9IRUxQRVIoZmx1c2hfYWxs
X2d1ZXN0c190bGJfbG9jYWwsIFRMQklBTExOU05ILCBuc2gpCiAKIC8qIEZs
dXNoIGlubmVyc2hhcmVhYmxlIFRMQnMsIGFsbCBWTUlEcywgbm9uLWh5cGVy
dmlzb3IgbW9kZSAqLwotVExCX0hFTFBFUihmbHVzaF9hbGxfZ3Vlc3RzX3Rs
YiwgVExCSUFMTE5TTkhJUyk7CitUTEJfSEVMUEVSKGZsdXNoX2FsbF9ndWVz
dHNfdGxiLCBUTEJJQUxMTlNOSElTLCBpc2gpCiAKIC8qIEZsdXNoIGFsbCBo
eXBlcnZpc29yIG1hcHBpbmdzIGZyb20gdGhlIFRMQiBvZiB0aGUgbG9jYWwg
cHJvY2Vzc29yLiAqLwotVExCX0hFTFBFUihmbHVzaF94ZW5fdGxiX2xvY2Fs
LCBUTEJJQUxMSCk7CitUTEJfSEVMUEVSKGZsdXNoX3hlbl90bGJfbG9jYWws
IFRMQklBTExILCBuc2gpCisKKyN1bmRlZiBUTEJfSEVMUEVSCiAKIC8qIEZs
dXNoIFRMQiBvZiBsb2NhbCBwcm9jZXNzb3IgZm9yIGFkZHJlc3MgdmEuICov
CiBzdGF0aWMgaW5saW5lIHZvaWQgX19mbHVzaF94ZW5fdGxiX29uZV9sb2Nh
bCh2YWRkcl90IHZhKQo=

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.17-04.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.17-04.patch"
Content-Transfer-Encoding: base64

RnJvbSBjNTUyMWRiYWRkMTgxNGFlYWI2NDM3ODcxMWEzM2VkNTJiOTc4NTU3
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpZW4gR3JhbGwg
PGpncmFsbEBhbWF6b24uY29tPgpEYXRlOiBUdWUsIDI0IEphbiAyMDIzIDE5
OjI2OjI5ICswMDAwClN1YmplY3Q6IHhlbi9hcm06IGZsdXNodGxiOiBSZWR1
Y2Ugc2NvcGUgb2YgYmFycmllciBmb3IgdGhlIFRMQiByYW5nZSBmbHVzaAoK
QXQgdGhlIG1vbWVudCwgZmx1c2hfeGVuX3RsYl9yYW5nZV92YXssX2xvY2Fs
fSgpIGFyZSB1c2luZyBzeXN0ZW0Kd2lkZSBtZW1vcnkgYmFycmllci4gVGhp
cyBpcyBxdWl0ZSBleHBlbnNpdmUgYW5kIHVubmVjZXNzYXJ5LgoKRm9yIHRo
ZSBsb2NhbCB2ZXJzaW9uLCBhIG5vbi1zaGFyZWFibGUgYmFycmllciBpcyBz
dWZmaWNpZW50LgpGb3IgdGhlIFNNUCB2ZXJzaW9uLCBhbiBpbm5lci1zaGFy
ZWFibGUgYmFycmllciBpcyBzdWZmaWNpZW50LgoKRnVydGhlcm1vcmUsIHRo
ZSBpbml0aWFsIGJhcnJpZXIgb25seSBuZWVkcyB0byBhIHN0b3JlIGJhcnJp
ZXIuCgpGb3IgdGhlIGZ1bGwgZXhwbGFuYXRpb24gb2YgdGhlIHNlcXVlbmNl
IHNlZSBhc20vYXJtezMyLDY0fS9mbHVzaHRsYi5oLgoKU2lnbmVkLW9mZi1i
eTogSnVsaWVuIEdyYWxsIDxqZ3JhbGxAYW1hem9uLmNvbT4KUmV2aWV3ZWQt
Ynk6IE1pY2hhbCBPcnplbCA8bWljaGFsLm9yemVsQGFtZC5jb20+ClJldmll
d2VkLWJ5OiBIZW5yeSBXYW5nIDxIZW5yeS5XYW5nQGFybS5jb20+CihjaGVy
cnkgcGlja2VkIGZyb20gY29tbWl0IDVlNWQxYTQzZTE4NDY4Mzk5NDQ4ZmY4
ZGVjNjg3MzQyZDQ4ZjU2ZGEpCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJt
L2luY2x1ZGUvYXNtL2ZsdXNodGxiLmggYi94ZW4vYXJjaC9hcm0vaW5jbHVk
ZS9hc20vZmx1c2h0bGIuaAppbmRleCAxMjVhMTQxOTc1ZTAuLmU0NWZiNmQ5
N2IwMiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2Zs
dXNodGxiLmgKKysrIGIveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2ZsdXNo
dGxiLmgKQEAgLTM3LDEzICszNywxNCBAQCBzdGF0aWMgaW5saW5lIHZvaWQg
Zmx1c2hfeGVuX3RsYl9yYW5nZV92YV9sb2NhbCh2YWRkcl90IHZhLAogewog
ICAgIHZhZGRyX3QgZW5kID0gdmEgKyBzaXplOwogCi0gICAgZHNiKHN5KTsg
LyogRW5zdXJlIHByZWNlZGluZyBhcmUgdmlzaWJsZSAqLworICAgIC8qIFNl
ZSBhc20vYXJtezMyLDY0fS9mbHVzaHRsYi5oIGZvciB0aGUgZXhwbGFuYXRp
b24gb2YgdGhlIHNlcXVlbmNlLiAqLworICAgIGRzYihuc2hzdCk7IC8qIEVu
c3VyZSBwcmlvciBwYWdlLXRhYmxlcyB1cGRhdGVzIGhhdmUgY29tcGxldGVk
ICovCiAgICAgd2hpbGUgKCB2YSA8IGVuZCApCiAgICAgewogICAgICAgICBf
X2ZsdXNoX3hlbl90bGJfb25lX2xvY2FsKHZhKTsKICAgICAgICAgdmEgKz0g
UEFHRV9TSVpFOwogICAgIH0KLSAgICBkc2Ioc3kpOyAvKiBFbnN1cmUgY29t
cGxldGlvbiBvZiB0aGUgVExCIGZsdXNoICovCisgICAgZHNiKG5zaCk7IC8q
IEVuc3VyZSB0aGUgVExCIGludmFsaWRhdGlvbiBoYXMgY29tcGxldGVkICov
CiAgICAgaXNiKCk7CiB9CiAKQEAgLTU2LDEzICs1NywxNCBAQCBzdGF0aWMg
aW5saW5lIHZvaWQgZmx1c2hfeGVuX3RsYl9yYW5nZV92YSh2YWRkcl90IHZh
LAogewogICAgIHZhZGRyX3QgZW5kID0gdmEgKyBzaXplOwogCi0gICAgZHNi
KHN5KTsgLyogRW5zdXJlIHByZWNlZGluZyBhcmUgdmlzaWJsZSAqLworICAg
IC8qIFNlZSBhc20vYXJtezMyLDY0fS9mbHVzaHRsYi5oIGZvciB0aGUgZXhw
bGFuYXRpb24gb2YgdGhlIHNlcXVlbmNlLiAqLworICAgIGRzYihpc2hzdCk7
IC8qIEVuc3VyZSBwcmlvciBwYWdlLXRhYmxlcyB1cGRhdGVzIGhhdmUgY29t
cGxldGVkICovCiAgICAgd2hpbGUgKCB2YSA8IGVuZCApCiAgICAgewogICAg
ICAgICBfX2ZsdXNoX3hlbl90bGJfb25lKHZhKTsKICAgICAgICAgdmEgKz0g
UEFHRV9TSVpFOwogICAgIH0KLSAgICBkc2Ioc3kpOyAvKiBFbnN1cmUgY29t
cGxldGlvbiBvZiB0aGUgVExCIGZsdXNoICovCisgICAgZHNiKGlzaCk7IC8q
IEVuc3VyZSB0aGUgVExCIGludmFsaWRhdGlvbiBoYXMgY29tcGxldGVkICov
CiAgICAgaXNiKCk7CiB9CiAK

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.17-05.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.17-05.patch"
Content-Transfer-Encoding: base64

RnJvbSAzM2Q0ODM0NjE5Y2Q0ODQ1Y2M5OGYyZjk0NGMzMzUyMjVjM2NhZjhh
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBUdWUsIDE0IEFwciAyMDI2
IDEwOjExOjI0ICswMjAwClN1YmplY3Q6IHhlbi9hcm02NDogZmx1c2h0bGI6
IE9wdGltaXplIEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkkKClRoZSBB
Uk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJIHdvcmthcm91bmQgaXMgdXNl
ZCB0byBtaXRpZ2F0ZSBzZXZlcmFsCmVycmF0YSB3aGVyZSBicm9hZGNhc3Qg
VExCSTtEU0Igc2VxdWVuY2VzIGRvbid0IHByb3ZpZGUgYWxsIHRoZQphcmNo
aXRlY3R1cmFsbHkgcmVxdWlyZWQgc3luY2hyb25pemF0aW9uLiBUaGUgd29y
a2Fyb3VuZCBwZXJmb3JtcyBtb3JlCndvcmsgdGhhbiBuZWNlc3NhcnksIGFu
ZCBjYW4gaGF2ZSBzaWduaWZpY2FudCBvdmVyaGVhZC4gVGhpcyBwYXRjaApv
cHRpbWl6ZXMgdGhlIHdvcmthcm91bmQsIGFzIGV4cGxhaW5lZCBiZWxvdy4K
CjEuIEFsbCByZWxldmFudCBlcnJhdGEgb25seSBhZmZlY3QgdGhlIG9yZGVy
aW5nIGFuZC9vciBjb21wbGV0aW9uIG9mCiAgIG1lbW9yeSBhY2Nlc3NlcyB3
aGljaCBoYXZlIGJlZW4gdHJhbnNsYXRlZCBieSBhbiBpbnZhbGlkYXRlZCBU
TEIKICAgZW50cnkuIFRoZSBhY3R1YWwgaW52YWxpZGF0aW9uIG9mIFRMQiBl
bnRyaWVzIGlzIHVuYWZmZWN0ZWQuCgoyLiBUaGUgZXhpc3Rpbmcgd29ya2Fy
b3VuZCBpcyBhcHBsaWVkIHRvIGJvdGggYnJvYWRjYXN0IGFuZCBsb2NhbCBU
TEIKICAgaW52YWxpZGF0aW9uLCB3aGVyZWFzIGZvciBhbGwgcmVsZXZhbnQg
ZXJyYXRhIGl0IGlzIG9ubHkgbmVjZXNzYXJ5IHRvCiAgIGFwcGx5IGEgd29y
a2Fyb3VuZCBmb3IgYnJvYWRjYXN0IGludmFsaWRhdGlvbi4KCjMuIFRoZSBl
eGlzdGluZyB3b3JrYXJvdW5kIHJlcGxhY2VzIGV2ZXJ5IFRMQkkgd2l0aCBh
IFRMQkk7RFNCO1RMQkkKICAgc2VxdWVuY2UsIHdoZXJlYXMgZm9yIGFsbCBy
ZWxldmFudCBlcnJhdGEgaXQgaXMgb25seSBuZWNlc3NhcnkgdG8KICAgZXhl
Y3V0ZSBhIHNpbmdsZSBhZGRpdGlvbmFsIFRMQkk7RFNCIHNlcXVlbmNlIGFm
dGVyIGFueSBudW1iZXIgb2YKICAgVExCSXMgYXJlIGNvbXBsZXRlZCBieSBh
IERTQi4KCiAgIEZvciBleGFtcGxlLCBmb3IgYSBzZXF1ZW5jZSBvZiBiYXRj
aGVkIFRMQklzOgoKICAgICAgIFRMQkkgPG9wMT5bLCA8YXJnMT5dCiAgICAg
ICBUTEJJIDxvcDI+WywgPGFyZzI+XQogICAgICAgVExCSSA8b3AzPlssIDxh
cmczPl0KICAgICAgIERTQiBJU0gKCiAgIC4uLiB0aGUgZXhpc3Rpbmcgd29y
a2Fyb3VuZCB3aWxsIGV4cGFuZCB0aGlzIHRvOgoKICAgICAgIFRMQkkgPG9w
MT5bLCA8YXJnMT5dCiAgICAgICBEU0IgSVNIICAgICAgICAgICAgICAgICAg
Ly8gYWRkaXRpb25hbAogICAgICAgVExCSSA8b3AxPlssIDxhcmcxPl0gICAg
IC8vIGFkZGl0aW9uYWwKICAgICAgIFRMQkkgPG9wMj5bLCA8YXJnMj5dCiAg
ICAgICBEU0IgSVNIICAgICAgICAgICAgICAgICAgLy8gYWRkaXRpb25hbAog
ICAgICAgVExCSSA8b3AyPlssIDxhcmcyPl0gICAgIC8vIGFkZGl0aW9uYWwK
ICAgICAgIFRMQkkgPG9wMz5bLCA8YXJnMz5dCiAgICAgICBEU0IgSVNIICAg
ICAgICAgICAgICAgICAgLy8gYWRkaXRpb25hbAogICAgICAgVExCSSA8b3Az
PlssIDxhcmczPl0gICAgIC8vIGFkZGl0aW9uYWwKICAgICAgIERTQiBJU0gK
CiAgIC4uLiB3aGVyZWFzIGl0IGlzIHN1ZmZpY2llbnQgdG8gaGF2ZToKCiAg
ICAgICBUTEJJIDxvcDE+WywgPGFyZzE+XQogICAgICAgVExCSSA8b3AyPlss
IDxhcmcyPl0KICAgICAgIFRMQkkgPG9wMz5bLCA8YXJnMz5dCiAgICAgICBE
U0IgSVNICiAgICAgICBUTEJJIDxvcFg+WywgPGFyZ1g+XSAgICAgLy8gYWRk
aXRpb25hbAogICAgICAgRFNCIElTSCAgICAgICAgICAgICAgICAgIC8vIGFk
ZGl0aW9uYWwKCiAgIFVzaW5nIGEgc2luZ2xlIGFkZGl0aW9uYWwgVExCSSBh
bmQgRFNCIGF0IHRoZSBlbmQgb2YgdGhlIHNlcXVlbmNlIGNhbgogICBoYXZl
IHNpZ25pZmljYW50bHkgbG93ZXIgb3ZlcmhlYWQgYXMgZWFjaCBEU0Igd2hp
Y2ggY29tcGxldGVzIGEgVExCSQogICBtdXN0IHN5bmNocm9uaXplIHdpdGgg
b3RoZXIgUEVzIGluIHRoZSBzeXN0ZW0sIHdpdGggcG90ZW50aWFsCiAgIHBl
cmZvcm1hbmNlIGVmZmVjdHMgYm90aCBsb2NhbGx5IGFuZCBzeXN0ZW0td2lk
ZS4KCjQuIFRoZSBleGlzdGluZyB3b3JrYXJvdW5kIHJlcGVhdHMgZWFjaCBz
cGVjaWZpYyBUTEJJIG9wZXJhdGlvbiwgd2hlcmVhcwogICBmb3IgYWxsIHJl
bGV2YW50IGVycmF0YSBpdCBpcyBzdWZmaWNpZW50IGZvciB0aGUgYWRkaXRp
b25hbCBUTEJJIHRvCiAgIHVzZSAqYW55KiBvcGVyYXRpb24gd2hpY2ggd2ls
bCBiZSBicm9hZGNhc3QsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gKICAgdHJhbnNs
YXRpb24gcmVnaW1lIG9yIHN0YWdlIG9mIHRyYW5zbGF0aW9uIHRoZSBvcGVy
YXRpb24gYXBwbGllcyB0by4KCiAgIEZvciBleGFtcGxlLCBmb3IgYSBzaW5n
bGUgVExCSToKCiAgICAgICBUTEJJIEFMTEUySVMKICAgICAgIERTQiBJU0gK
CiAgIC4uLiB0aGUgZXhpc3Rpbmcgd29ya2Fyb3VuZCB3aWxsIGV4cGFuZCB0
aGlzIHRvOgoKICAgICAgIFRMQkkgQUxMRTJJUwogICAgICAgRFNCIElTSAog
ICAgICAgVExCSSBBTExFMklTICAgICAgICAgICAgIC8vIGFkZGl0aW9uYWwK
ICAgICAgIERTQiBJU0ggICAgICAgICAgICAgICAgICAvLyBhZGRpdGlvbmFs
CgogICAuLi4gd2hlcmVhcyBpdCBpcyBzdWZmaWNpZW50IHRvIGhhdmU6Cgog
ICAgICAgVExCSSBBTExFMklTCiAgICAgICBEU0IgSVNICiAgICAgICBUTEJJ
IFZBTEUxSVMsIFhaUiAgICAgICAgLy8gYWRkaXRpb25hbAogICAgICAgRFNC
IElTSCAgICAgICAgICAgICAgICAgIC8vIGFkZGl0aW9uYWwKCiAgIEFzIHRo
ZSBhZGRpdGlvbmFsIFRMQkkgZG9lc24ndCBoYXZlIHRvIG1hdGNoIGEgc3Bl
Y2lmaWMgZWFybGllciBUTEJJLAogICB0aGUgYWRkaXRpb25hbCBUTEJJIGNh
biBiZSBpbXBsZW1lbnRlZCBpbiBzZXBhcmF0ZSBjb2RlLCB3aXRoIG5vCiAg
IG1lbW9yeSBvZiB0aGUgZWFybGllciBUTEJJcy4gVGhlIGFkZGl0aW9uYWwg
VExCSSBjYW4gYWxzbyB1c2UgYQogICBjaGVhcGVyIFRMQkkgb3BlcmF0aW9u
LgoKNS4gVGhlIGV4aXN0aW5nIHdvcmthcm91bmQgaXMgYXBwbGllZCB0byBi
b3RoIFN0YWdlLTEgYW5kIFN0YWdlLTIgVExCCiAgIGludmFsaWRhdGlvbiwg
d2hlcmVhcyBmb3IgYWxsIHJlbGV2YW50IGVycmF0YSBpdCBpcyBvbmx5IG5l
Y2Vzc2FyeSB0bwogICBhcHBseSBhIHdvcmthcm91bmQgZm9yIFN0YWdlLTEg
aW52YWxpZGF0aW9uLgoKICAgQXJjaGl0ZWN0dXJhbGx5LCBUTEJJIG9wZXJh
dGlvbnMgd2hpY2ggaW52YWxpZGF0ZSBvbmx5IFN0YWdlLTIKICAgaW5mb3Jt
YXRpb24gKGUuZy4gSVBBUzJFMUlTKSBhcmUgbm90IHJlcXVpcmVkIHRvIGlu
dmFsaWRhdGUgVExCCiAgIGVudHJpZXMgd2hpY2ggY29tYmluZSBpbmZvcm1h
dGlvbiBmcm9tIFN0YWdlLTEgYW5kIFN0YWdlLTIKICAgdHJhbnNsYXRpb24g
dGFibGUgZW50cmllcywgYW5kIGNvbnNlcXVlbnRseSBtYXkgbm90IGNvbXBs
ZXRlIG1lbW9yeQogICBhY2Nlc3NlcyB0cmFuc2xhdGVkIGJ5IHRob3NlIGNv
bWJpbmVkIGVudHJpZXMuIEluIHRoZXNlIGNhc2VzLAogICBjb21wbGV0aW9u
IG9mIG1lbW9yeSBhY2Nlc3NlcyBpcyBvbmx5IGd1YXJhbnRlZWQgYWZ0ZXIg
c3Vic2VxdWVudAogICBpbnZhbGlkYXRpb24gb2YgU3RhZ2UtMSBpbmZvcm1h
dGlvbiAoZS5nLiBWTUFMTEUxSVMpLgoKUmV3b3JrIHRoZSB3b3JrYXJvdW5k
IGxvZ2ljIGFzIGZvbGxvd3M6CiAtIGFkZCBUTEJfSEVMUEVSX0xPQ0FMKCkg
dG8gYmUgdXNlZCBmb3IgbG9jYWwgVExCIG9wcyB3aXRob3V0IGEKICAgd29y
a2Fyb3VuZCwKIC0gbW9kaWZ5IFRMQl9IRUxQRVIoKSB3b3JrYXJvdW5kIHRv
IHVzZSB0bGJpIHZhbGUyaXMsIHh6ciBhcyBhIHNlY29uZAogICBUTEJJLAog
LSBkcm9wIFRMQl9IRUxQRVJfVkEoKS4gSXQncyB1c2VkIG9ubHkgYnkgX19m
bHVzaF94ZW5fdGxiX29uZV9sb2NhbAogICB3aGljaCBpcyBsb2NhbCBhbmQg
ZG9lcyBub3QgbmVlZCB3b3JrYXJvdW5kIGFuZCBieQogICBfX2ZsdXNoX3hl
bl90bGJfb25lLiBJbiB0aGUgbGF0dGVyIGNhc2UsIHNpbmNlIGl0J3MgdXNl
ZCBpbiBhIGxvb3AsCiAgIHdlIGRvbid0IG5lZWQgYSB3b3JrYXJvdW5kIGlu
IHRoZSBtaWRkbGUuIEFkZCBfX3RsYl9yZXBlYXRfc3luYyB3aXRoCiAgIGEg
d29ya2Fyb3VuZCB0byBiZSB1c2VkIGF0IHRoZSBlbmQgYWZ0ZXIgRFNCIGFu
ZCBiZWZvcmUgZmluYWwgSVNCLAogLSBUTEJJIFZBTEUySVMgcGFzc2luZyBY
WlIgaXMgdXNlZCBhcyBhbiBhZGRpdGlvbmFsIFRMQkkuIFdoaWxlIHRoZXJl
IGlzCiAgIGFuIGlkZW50aXR5IG1hcHBpbmcgdGhlcmUsIGl0J3MgdXNlZCB2
ZXJ5IHJhcmVseS4gVGhlIHBlcmZvcm1hbmNlCiAgIGltcGFjdCBpcyB0aGVy
ZWZvcmUgbmVnbGlnaWJsZS4gSWYgdGhpbmdzIGNoYW5nZSBpbiB0aGUgZnV0
dXJlLCB3ZQogICBjYW4gcmV2aXNpdCB0aGUgZGVjaXNpb24uCgpTaWduZWQt
b2ZmLWJ5OiBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnplbEBhbWQuY29tPgpS
ZXZpZXdlZC1ieTogTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5jZWxsdUBhcm0u
Y29tPgpSZXZpZXdlZC1ieTogSnVsaWVuIEdyYWxsIDxqZ3JhbGxAYW1hem9u
LmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgN2M1MDJkNzU5MTUx
OTEzNTc2NWI4MDQxY2JkMWM3MGU1NmU1YTBiOSkKCmRpZmYgLS1naXQgYS94
ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtMzIvZmx1c2h0bGIuaCBiL3hl
bi9hcmNoL2FybS9pbmNsdWRlL2FzbS9hcm0zMi9mbHVzaHRsYi5oCmluZGV4
IDIyZWUzYjMxN2I0ZC4uNzQ5YTliMDdkYTc2IDEwMDY0NAotLS0gYS94ZW4v
YXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtMzIvZmx1c2h0bGIuaAorKysgYi94
ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtMzIvZmx1c2h0bGIuaApAQCAt
NTcsNiArNTcsOSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgX19mbHVzaF94ZW5f
dGxiX29uZSh2YWRkcl90IHZhKQogICAgIGFzbSB2b2xhdGlsZShTVE9SRV9D
UDMyKDAsIFRMQklNVkFISVMpIDogOiAiciIgKHZhKSA6ICJtZW1vcnkiKTsK
IH0KIAorLyogT25seSBmb3IgQVJNNjRfV09SS0FST1VORF9SRVBFQVRfVExC
SSAqLworc3RhdGljIGlubGluZSB2b2lkIF9fdGxiX3JlcGVhdF9zeW5jKHZv
aWQpIHt9CisKICNlbmRpZiAvKiBfX0FTTV9BUk1fQVJNMzJfRkxVU0hUTEJf
SF9fICovCiAvKgogICogTG9jYWwgdmFyaWFibGVzOgpkaWZmIC0tZ2l0IGEv
eGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FybTY0L2ZsdXNodGxiLmggYi94
ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtNjQvZmx1c2h0bGIuaAppbmRl
eCA1NmM2ZmM3NjNiNTYuLjdlZjZkM2YzMzFhMCAxMDA2NDQKLS0tIGEveGVu
L2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FybTY0L2ZsdXNodGxiLmgKKysrIGIv
eGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FybTY0L2ZsdXNodGxiLmgKQEAg
LTEyLDkgKzEyLDE0IEBACiAgKiBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9U
TEJJOgogICogTW9kaWZpY2F0aW9uIG9mIHRoZSB0cmFuc2xhdGlvbiB0YWJs
ZSBmb3IgYSB2aXJ0dWFsIGFkZHJlc3MgbWlnaHQgbGVhZCB0bwogICogcmVh
ZC1hZnRlci1yZWFkIG9yZGVyaW5nIHZpb2xhdGlvbi4KLSAqIFRoZSB3b3Jr
YXJvdW5kIHJlcGVhdHMgVExCSStEU0IgSVNIIG9wZXJhdGlvbiBmb3IgYWxs
IHRoZSBUTEIgZmx1c2gKLSAqIG9wZXJhdGlvbnMuIFdoaWxlIHRoaXMgaXMg
c3RyaWN0bHkgbm90IG5lY2Vzc2FyeSwgd2UgZG9uJ3Qgd2FudCB0bwotICog
dGFrZSBhbnkgcmlzay4KKyAqIFRoZSB3b3JrYXJvdW5kIHJlcGVhdHMgVExC
SStEU0IgSVNIIG9wZXJhdGlvbiBmb3IgYnJvYWRjYXN0IFRMQiBmbHVzaAor
ICogb3BlcmF0aW9ucy4gVGhlIHdvcmthcm91bmQgaXMgbm90IG5lZWRlZCBm
b3IgbG9jYWwgb3BlcmF0aW9ucy4KKyAqCisgKiBJdCBpcyBzdWZmaWNpZW50
IGZvciB0aGUgYWRkaXRpb25hbCBUTEJJIHRvIHVzZSAqYW55KiBvcGVyYXRp
b24gd2hpY2ggd2lsbAorICogYmUgYnJvYWRjYXN0LCByZWdhcmRsZXNzIG9m
IHdoaWNoIHRyYW5zbGF0aW9uIHJlZ2ltZSBvciBzdGFnZSBvZiB0cmFuc2xh
dGlvbgorICogdGhlIG9wZXJhdGlvbiBhcHBsaWVzIHRvLiBUTEJJIFZBTEUy
SVMgaXMgdXNlZCBwYXNzaW5nIFhaUi4gV2hpbGUgdGhlcmUgaXMKKyAqIGFu
IGlkZW50aXR5IG1hcHBpbmcgdGhlcmUsIGl0J3Mgb25seSB1c2VkIGR1cmlu
ZyBzdXNwZW5kL3Jlc3VtZSwgQ1BVIG9uL29mZiwKKyAqIHNvIHRoZSBpbXBh
Y3QgKHBlcmZvcm1hbmNlIGlmIGFueSkgaXMgbmVnbGlnaWJsZS4KICAqCiAg
KiBGb3IgWGVuIHBhZ2UtdGFibGVzIHRoZSBJU0Igd2lsbCBkaXNjYXJkIGFu
eSBpbnN0cnVjdGlvbnMgZmV0Y2hlZAogICogZnJvbSB0aGUgb2xkIG1hcHBp
bmdzLgpAQCAtMjYsNjkgKzMxLDkwIEBACiAgKiBOb3RlIHRoYXQgZm9yIGxv
Y2FsIFRMQiBmbHVzaCwgdXNpbmcgbm9uLXNoYXJlYWJsZSAobnNoKSBpcyBz
dWZmaWNpZW50CiAgKiAoc2VlIEQ1LTQ5MjkgaW4gQVJNIERESSAwNDg3SC5h
KS4gQWx0aG91Z2gsIHRoZSBtZW1vcnkgYmFycmllciBpbgogICogZm9yIHRo
ZSB3b3JrYXJvdW5kIGlzIGxlZnQgYXMgaW5uZXItc2hhcmVhYmxlIHRvIG1h
dGNoIHdpdGggTGludXgKLSAqIHY2LjEtcmM4LgorICogdjYuMTkuCiAgKi8K
LSNkZWZpbmUgVExCX0hFTFBFUihuYW1lLCB0bGJvcCwgc2gpICAgICAgICAg
ICAgICBcCisjZGVmaW5lIFRMQl9IRUxQRVJfTE9DQUwobmFtZSwgdGxib3Ap
ICAgICAgICAgICAgXAogc3RhdGljIGlubGluZSB2b2lkIG5hbWUodm9pZCkg
ICAgICAgICAgICAgICAgICAgIFwKIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgYXNtIHZvbGF0aWxl
KCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAi
ZHNiICAiICAjIHNoICAic3Q7IiAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICAgICAgImRzYiAgbnNoc3Q7IiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCiAgICAgICAgICJ0bGJpICIgICMgdGxib3AgICI7IiAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICBBTFRFUk5BVElWRSggICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICJub3A7IG5vcDsiLCAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAiZHNiICBp
c2g7IiAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
InRsYmkgIiAgIyB0bGJvcCAgIjsiLCAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgICAgIEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkksICAgICAgICBc
Ci0gICAgICAgICAgICBDT05GSUdfQVJNNjRfV09SS0FST1VORF9SRVBFQVRf
VExCSSkgXAotICAgICAgICAiZHNiICAiICAjIHNoICAiOyIgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICAgICAgImRzYiAgbnNoOyIgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICJpc2I7IiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICA6IDogOiAi
bWVtb3J5Iik7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKIH0KIAotLyoK
LSAqIEZMdXNoIFRMQiBieSBWQS4gVGhpcyB3aWxsIGxpa2VseSBiZSB1c2Vk
IGluIGEgbG9vcCwgc28gdGhlIGNhbGxlcgotICogaXMgcmVzcG9uc2libGUg
dG8gdXNlIHRoZSBhcHByb3ByaWF0ZSBtZW1vcnkgYmFycmllcnMgYmVmb3Jl
L2FmdGVyCi0gKiB0aGUgc2VxdWVuY2UuCi0gKgotICogU2VlIGFib3ZlIGFi
b3V0IHRoZSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJIHNlcXVlbmNl
LgotICovCi0jZGVmaW5lIFRMQl9IRUxQRVJfVkEobmFtZSwgdGxib3ApICAg
ICAgICAgICAgICAgXAotc3RhdGljIGlubGluZSB2b2lkIG5hbWUodmFkZHJf
dCB2YSkgICAgICAgICAgICAgIFwKLXsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgYXNtIHZvbGF0aWxl
KCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAi
dGxiaSAiICAjIHRsYm9wICAiLCAlMDsiICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgQUxURVJOQVRJVkUoICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICAibm9wOyBub3A7IiwgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICAgICAgImRzYiAgaXNoOyIgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICJ0bGJpICIgICMgdGxi
b3AgICIsICUwOyIsICAgICAgICAgICBcCi0gICAgICAgICAgICBBUk02NF9X
T1JLQVJPVU5EX1JFUEVBVF9UTEJJLCAgICAgICAgXAotICAgICAgICAgICAg
Q09ORklHX0FSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkkpIFwKLSAgICAg
ICAgOiA6ICJyIiAodmEgPj4gUEFHRV9TSElGVCkgOiAibWVtb3J5Iik7ICBc
CisjZGVmaW5lIFRMQl9IRUxQRVIobmFtZSwgdGxib3ApICAgICAgICAgICAg
ICAgICAgICAgICBcCitzdGF0aWMgaW5saW5lIHZvaWQgbmFtZSh2b2lkKSAg
ICAgICAgICAgICAgICAgICAgICAgICBcCit7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYXNt
IHZvbGF0aWxlICggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICAgICJkc2IgIGlzaHN0OyIgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgICAgICJ0bGJpICIgICMgdGxib3AgICI7
IiAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIEFMVEVSTkFU
SVZFKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ICAgICAgICAibm9wOyBub3A7IiwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICAgICAgICAiZHNiICBpc2g7IiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAidGxiaSB2YWxlMmlz
LCB4enI7IiwgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBB
Uk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLCAgICAgICAgICAgICBcCisg
ICAgICAgICAgICBDT05GSUdfQVJNNjRfV09SS0FST1VORF9SRVBFQVRfVExC
SSkgICAgICBcCisgICAgICAgICJkc2IgIGlzaDsiICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICJpc2I7IiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIDog
OiA6ICJtZW1vcnkiKTsgXAogfQogCiAvKiBGbHVzaCBsb2NhbCBUTEJzLCBj
dXJyZW50IFZNSUQgb25seS4gKi8KLVRMQl9IRUxQRVIoZmx1c2hfZ3Vlc3Rf
dGxiX2xvY2FsLCB2bWFsbHMxMmUxLCBuc2gpCitUTEJfSEVMUEVSX0xPQ0FM
KGZsdXNoX2d1ZXN0X3RsYl9sb2NhbCwgdm1hbGxzMTJlMSkKIAogLyogRmx1
c2ggaW5uZXJzaGFyZWFibGUgVExCcywgY3VycmVudCBWTUlEIG9ubHkgKi8K
LVRMQl9IRUxQRVIoZmx1c2hfZ3Vlc3RfdGxiLCB2bWFsbHMxMmUxaXMsIGlz
aCkKK1RMQl9IRUxQRVIoZmx1c2hfZ3Vlc3RfdGxiLCB2bWFsbHMxMmUxaXMp
CiAKIC8qIEZsdXNoIGxvY2FsIFRMQnMsIGFsbCBWTUlEcywgbm9uLWh5cGVy
dmlzb3IgbW9kZSAqLwotVExCX0hFTFBFUihmbHVzaF9hbGxfZ3Vlc3RzX3Rs
Yl9sb2NhbCwgYWxsZTEsIG5zaCkKK1RMQl9IRUxQRVJfTE9DQUwoZmx1c2hf
YWxsX2d1ZXN0c190bGJfbG9jYWwsIGFsbGUxKQogCiAvKiBGbHVzaCBpbm5l
cnNoYXJlYWJsZSBUTEJzLCBhbGwgVk1JRHMsIG5vbi1oeXBlcnZpc29yIG1v
ZGUgKi8KLVRMQl9IRUxQRVIoZmx1c2hfYWxsX2d1ZXN0c190bGIsIGFsbGUx
aXMsIGlzaCkKK1RMQl9IRUxQRVIoZmx1c2hfYWxsX2d1ZXN0c190bGIsIGFs
bGUxaXMpCiAKIC8qIEZsdXNoIGFsbCBoeXBlcnZpc29yIG1hcHBpbmdzIGZy
b20gdGhlIFRMQiBvZiB0aGUgbG9jYWwgcHJvY2Vzc29yLiAqLwotVExCX0hF
TFBFUihmbHVzaF94ZW5fdGxiX2xvY2FsLCBhbGxlMiwgbnNoKQorVExCX0hF
TFBFUl9MT0NBTChmbHVzaF94ZW5fdGxiX2xvY2FsLCBhbGxlMikKKworI3Vu
ZGVmIFRMQl9IRUxQRVJfTE9DQUwKKyN1bmRlZiBUTEJfSEVMUEVSCisKKy8q
CisgKiBGTHVzaCBUTEIgYnkgVkEuIFRoaXMgd2lsbCBsaWtlbHkgYmUgdXNl
ZCBpbiBhIGxvb3AsIHNvIHRoZSBjYWxsZXIKKyAqIGlzIHJlc3BvbnNpYmxl
IHRvIHVzZSB0aGUgYXBwcm9wcmlhdGUgbWVtb3J5IGJhcnJpZXJzIGJlZm9y
ZS9hZnRlcgorICogdGhlIHNlcXVlbmNlLgorICovCiAKIC8qIEZsdXNoIFRM
QiBvZiBsb2NhbCBwcm9jZXNzb3IgZm9yIGFkZHJlc3MgdmEuICovCi1UTEJf
SEVMUEVSX1ZBKF9fZmx1c2hfeGVuX3RsYl9vbmVfbG9jYWwsIHZhZTIpCitz
dGF0aWMgaW5saW5lIHZvaWQgX19mbHVzaF94ZW5fdGxiX29uZV9sb2NhbCh2
YWRkcl90IHZhKQoreworICAgIGFzbSB2b2xhdGlsZSAoCisgICAgICAgICJ0
bGJpIHZhZTIsICUwIiA6IDogInIiICh2YSA+PiBQQUdFX1NISUZUKSA6ICJt
ZW1vcnkiKTsKK30KIAogLyogRmx1c2ggVExCIG9mIGFsbCBwcm9jZXNzb3Jz
IGluIHRoZSBpbm5lci1zaGFyZWFibGUgZG9tYWluIGZvciBhZGRyZXNzIHZh
LiAqLwotVExCX0hFTFBFUl9WQShfX2ZsdXNoX3hlbl90bGJfb25lLCB2YWUy
aXMpCitzdGF0aWMgaW5saW5lIHZvaWQgX19mbHVzaF94ZW5fdGxiX29uZSh2
YWRkcl90IHZhKQoreworICAgIGFzbSB2b2xhdGlsZSAoCisgICAgICAgICJ0
bGJpIHZhZTJpcywgJTAiIDogOiAiciIgKHZhID4+IFBBR0VfU0hJRlQpIDog
Im1lbW9yeSIpOworfQogCi0jdW5kZWYgVExCX0hFTFBFUgotI3VuZGVmIFRM
Ql9IRUxQRVJfVkEKKy8qCisgKiBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9U
TEJJOgorICogRm9yIGFsbCByZWxldmFudCBlcnJhdGFzIGl0IGlzIG9ubHkg
bmVjZXNzYXJ5IHRvIGV4ZWN1dGUgYSBzaW5nbGUKKyAqIGFkZGl0aW9uYWwg
VExCSTtEU0Igc2VxdWVuY2UgYWZ0ZXIgYW55IG51bWJlciBvZiBUTEJJcyBh
cmUgY29tcGxldGVkIGJ5IERTQi4KKyAqLworc3RhdGljIGlubGluZSB2b2lk
IF9fdGxiX3JlcGVhdF9zeW5jKHZvaWQpCit7CisgICAgYXNtIHZvbGF0aWxl
ICgKKyAgICAgICAgQUxURVJOQVRJVkUoCisgICAgICAgICAgICAibm9wOyBu
b3A7IiwKKyAgICAgICAgICAgICJ0bGJpIHZhbGUyaXMsIHh6cjsiCisgICAg
ICAgICAgICAiZHNiICBpc2g7IiwKKyAgICAgICAgICAgIEFSTTY0X1dPUktB
Uk9VTkRfUkVQRUFUX1RMQkksCisgICAgICAgICAgICBDT05GSUdfQVJNNjRf
V09SS0FST1VORF9SRVBFQVRfVExCSSkKKyAgICAgICAgOiA6IDogIm1lbW9y
eSIpOworfQogCiAjZW5kaWYgLyogX19BU01fQVJNX0FSTTY0X0ZMVVNIVExC
X0hfXyAqLwogLyoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9pbmNsdWRl
L2FzbS9mbHVzaHRsYi5oIGIveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2Zs
dXNodGxiLmgKaW5kZXggZTQ1ZmI2ZDk3YjAyLi5jMjkyYzNjMDBkMjkgMTAw
NjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9mbHVzaHRsYi5o
CisrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9mbHVzaHRsYi5oCkBA
IC02NSw2ICs2NSw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBmbHVzaF94ZW5f
dGxiX3JhbmdlX3ZhKHZhZGRyX3QgdmEsCiAgICAgICAgIHZhICs9IFBBR0Vf
U0laRTsKICAgICB9CiAgICAgZHNiKGlzaCk7IC8qIEVuc3VyZSB0aGUgVExC
IGludmFsaWRhdGlvbiBoYXMgY29tcGxldGVkICovCisgICAgX190bGJfcmVw
ZWF0X3N5bmMoKTsKICAgICBpc2IoKTsKIH0KIAo=

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.17-06.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.17-06.patch"
Content-Transfer-Encoding: base64

RnJvbSBmYzQ4MjZhZTk3NzgwMzZhMzJlYjQwN2M1ZmRlOWQwYmE5YjUxNDlj
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU1ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IFN5bmMgbWlzc2lu
ZyBkZWZpbml0aW9ucyBmb3IgQXJtIENQVXMgd2l0aCBMaW51eAoKU3luY2hy
b25pemUgd2l0aCBMaW51eCBrZXJuZWwgNy4wIGRlZmluaXRpb25zIGZvciB0
aGUgZm9sbG93aW5nIENQVXM6CiAtIENvcnRleC1BNzZBRSwKIC0gQ29ydGV4
LUE3OEFFLAogLSBDb3J0ZXgtWDFDLAogLSBDb3J0ZXgtWDMsCiAtIE5lb3Zl
cnNlLVYyLAogLSBDb3J0ZXgtWDQsCiAtIE5lb3ZlcnNlLVYzQUUsCiAtIE5l
b3ZlcnNlLVYzLAogLSBDb3J0ZXgtWDkyNS4KClRoZXNlIHdpbGwgYmUgdXNl
ZCBmb3IgZXJyYXRhIGRldGVjdGlvbiBpbiBzdWJzZXF1ZW50IHBhdGNoZXMu
CgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnplbEBh
bWQuY29tPgpSZXZpZXdlZC1ieTogSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVu
Lm9yZz4KCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20v
cHJvY2Vzc29yLmggYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vcHJvY2Vz
c29yLmgKaW5kZXggMWRkODFkN2Q1MjhmLi5hZjA4NmViZTk4N2IgMTAwNjQ0
Ci0tLSBhL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaAor
KysgYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vcHJvY2Vzc29yLmgKQEAg
LTc0LDEzICs3NCwyMiBAQAogI2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVY
X0E3NiAgICAgMHhEMEIKICNkZWZpbmUgQVJNX0NQVV9QQVJUX05FT1ZFUlNF
X04xICAgIDB4RDBDCiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTc3
ICAgICAweEQwRAorI2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E3NkFF
ICAgMHhEMEUKICNkZWZpbmUgQVJNX0NQVV9QQVJUX05FT1ZFUlNFX1YxICAg
IDB4RDQwCiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTc4ICAgICAw
eEQ0MQorI2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E3OEFFICAgMHhE
NDIKICNkZWZpbmUgQVJNX0NQVV9QQVJUX0NPUlRFWF9YMSAgICAgIDB4RDQ0
CiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTcxMCAgICAweEQ0Nwog
I2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX1gyICAgICAgMHhENDgKICNk
ZWZpbmUgQVJNX0NQVV9QQVJUX05FT1ZFUlNFX04yICAgIDB4RDQ5CiAjZGVm
aW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTc4QyAgICAweEQ0QgorI2RlZmlu
ZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX1gxQyAgICAgMHhENEMKKyNkZWZpbmUg
QVJNX0NQVV9QQVJUX0NPUlRFWF9YMyAgICAgIDB4RDRFCisjZGVmaW5lIEFS
TV9DUFVfUEFSVF9ORU9WRVJTRV9WMiAgICAweEQ0RgorI2RlZmluZSBBUk1f
Q1BVX1BBUlRfQ09SVEVYX1g0ICAgICAgMHhEODIKKyNkZWZpbmUgQVJNX0NQ
VV9QQVJUX05FT1ZFUlNFX1YzQUUgIDB4RDgzCisjZGVmaW5lIEFSTV9DUFVf
UEFSVF9ORU9WRVJTRV9WMyAgICAweEQ4NAorI2RlZmluZSBBUk1fQ1BVX1BB
UlRfQ09SVEVYX1g5MjUgICAgMHhEODUKIAogI2RlZmluZSBNSURSX0NPUlRF
WF9BMTIgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BV
X1BBUlRfQ09SVEVYX0ExMikKICNkZWZpbmUgTUlEUl9DT1JURVhfQTE3IE1J
RFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NP
UlRFWF9BMTcpCkBAIC05NSwxMyArMTA0LDIyIEBACiAjZGVmaW5lIE1JRFJf
Q09SVEVYX0E3NiBNSURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFS
TV9DUFVfUEFSVF9DT1JURVhfQTc2KQogI2RlZmluZSBNSURSX05FT1ZFUlNF
X04xIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9Q
QVJUX05FT1ZFUlNFX04xKQogI2RlZmluZSBNSURSX0NPUlRFWF9BNzcgTUlE
Ul9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09S
VEVYX0E3NykKKyNkZWZpbmUgTUlEUl9DT1JURVhfQTc2QUUgTUlEUl9DUFVf
TU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E3
NkFFKQogI2RlZmluZSBNSURSX05FT1ZFUlNFX1YxIE1JRFJfQ1BVX01PREVM
KEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX05FT1ZFUlNFX1YxKQog
I2RlZmluZSBNSURSX0NPUlRFWF9BNzggTUlEUl9DUFVfTU9ERUwoQVJNX0NQ
VV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E3OCkKKyNkZWZpbmUg
TUlEUl9DT1JURVhfQTc4QUUgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBf
QVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E3OEFFKQogI2RlZmluZSBNSURS
X0NPUlRFWF9YMSAgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBB
Uk1fQ1BVX1BBUlRfQ09SVEVYX1gxKQogI2RlZmluZSBNSURSX0NPUlRFWF9B
NzEwIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9Q
QVJUX0NPUlRFWF9BNzEwKQogI2RlZmluZSBNSURSX0NPUlRFWF9YMiAgTUlE
Ul9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09S
VEVYX1gyKQogI2RlZmluZSBNSURSX05FT1ZFUlNFX04yIE1JRFJfQ1BVX01P
REVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX05FT1ZFUlNFX04y
KQogI2RlZmluZSBNSURSX0NPUlRFWF9BNzhDIE1JRFJfQ1BVX01PREVMKEFS
TV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9BNzhDKQorI2Rl
ZmluZSBNSURSX0NPUlRFWF9YMUMgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9J
TVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVYX1gxQykKKyNkZWZpbmUgTUlE
Ul9DT1JURVhfWDMgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBB
Uk1fQ1BVX1BBUlRfQ09SVEVYX1gzKQorI2RlZmluZSBNSURSX05FT1ZFUlNF
X1YyIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9Q
QVJUX05FT1ZFUlNFX1YyKQorI2RlZmluZSBNSURSX0NPUlRFWF9YNCBNSURS
X0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9DT1JU
RVhfWDQpCisjZGVmaW5lIE1JRFJfTkVPVkVSU0VfVjNBRSBNSURSX0NQVV9N
T0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9ORU9WRVJTRV9W
M0FFKQorI2RlZmluZSBNSURSX05FT1ZFUlNFX1YzIE1JRFJfQ1BVX01PREVM
KEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX05FT1ZFUlNFX1YzKQor
I2RlZmluZSBNSURSX0NPUlRFWF9YOTI1IE1JRFJfQ1BVX01PREVMKEFSTV9D
UFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9YOTI1KQogCiAvKiBN
UElEUiBNdWx0aXByb2Nlc3NvciBBZmZpbml0eSBSZWdpc3RlciAqLwogI2Rl
ZmluZSBfTVBJRFJfVVAgICAgICAgICAgICgzMCkK

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.17-07.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.17-07.patch"
Content-Transfer-Encoding: base64

RnJvbSAyMDZlYWQ2ZTExMTlhMWEyZTMxNTNjOWJjZjc4NzQ5OTIxYTZmZjY5
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU2ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IEFkZCBDMS1VbHRy
YSBkZWZpbml0aW9ucwoKQWRkIHByb2Nlc3NvciBkZWZpbml0aW9ucyBmb3Ig
QzEtVWx0cmEuIFRoZXNlIHdpbGwgYmUgdXNlZCBmb3IgZXJyYXRhCmRldGVj
dGlvbiBpbiBzdWJzZXF1ZW50IHBhdGNoZXMuCgpUaGVzZSB2YWx1ZXMgY2Fu
IGJlIGZvdW5kIGluIHRoZSBDMS1VbHRyYSBUUk06CgogIGh0dHBzOi8vZGV2
ZWxvcGVyLmFybS5jb20vZG9jdW1lbnRhdGlvbi8xMDgwMTQvMDEwMC8KCi4u
LiBpbiBzZWN0aW9uIEEuNS4xICgiTUlEUl9FTDEsIE1haW4gSUQgUmVnaXN0
ZXIiKS4KClNpZ25lZC1vZmYtYnk6IE1pY2hhbCBPcnplbCA8bWljaGFsLm9y
emVsQGFtZC5jb20+ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGll
bkB4ZW4ub3JnPgoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9pbmNsdWRl
L2FzbS9wcm9jZXNzb3IuaCBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9w
cm9jZXNzb3IuaAppbmRleCBhZjA4NmViZTk4N2IuLjkzNWRkNjE3NjIzYiAx
MDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3Byb2Nlc3Nv
ci5oCisrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wcm9jZXNzb3Iu
aApAQCAtOTAsNiArOTAsNyBAQAogI2RlZmluZSBBUk1fQ1BVX1BBUlRfTkVP
VkVSU0VfVjNBRSAgMHhEODMKICNkZWZpbmUgQVJNX0NQVV9QQVJUX05FT1ZF
UlNFX1YzICAgIDB4RDg0CiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9DT1JURVhf
WDkyNSAgICAweEQ4NQorI2RlZmluZSBBUk1fQ1BVX1BBUlRfQzFfVUxUUkEg
ICAgICAgMHhEOEMKIAogI2RlZmluZSBNSURSX0NPUlRFWF9BMTIgTUlEUl9D
UFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVY
X0ExMikKICNkZWZpbmUgTUlEUl9DT1JURVhfQTE3IE1JRFJfQ1BVX01PREVM
KEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9BMTcpCkBA
IC0xMjAsNiArMTIxLDcgQEAKICNkZWZpbmUgTUlEUl9ORU9WRVJTRV9WM0FF
IE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJU
X05FT1ZFUlNFX1YzQUUpCiAjZGVmaW5lIE1JRFJfTkVPVkVSU0VfVjMgTUlE
Ul9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfTkVP
VkVSU0VfVjMpCiAjZGVmaW5lIE1JRFJfQ09SVEVYX1g5MjUgTUlEUl9DUFVf
TU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVYX1g5
MjUpCisjZGVmaW5lIE1JRFJfQzFfVUxUUkEgTUlEUl9DUFVfTU9ERUwoQVJN
X0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQzFfVUxUUkEpCiAKIC8qIE1Q
SURSIE11bHRpcHJvY2Vzc29yIEFmZmluaXR5IFJlZ2lzdGVyICovCiAjZGVm
aW5lIF9NUElEUl9VUCAgICAgICAgICAgKDMwKQo=

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.17-08.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.17-08.patch"
Content-Transfer-Encoding: base64

RnJvbSA3MDFiNDkwNjc5NGFlOWIyMjkyOTcxY2UzOTEwZDIzNDI3YmI2ODk1
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU3ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IEFkZCBDMS1QcmVt
aXVtIGRlZmluaXRpb25zCgpBZGQgcHJvY2Vzc29yIGRlZmluaXRpb25zIGZv
ciBDMS1QcmVtaXVtLiBUaGVzZSB3aWxsIGJlIHVzZWQgZm9yIGVycmF0YQpk
ZXRlY3Rpb24gaW4gc3Vic2VxdWVudCBwYXRjaGVzLgoKVGhlc2UgdmFsdWVz
IGNhbiBiZSBmb3VuZCBpbiB0aGUgQzEtUHJlbWl1bSBUUk06CgogIGh0dHBz
Oi8vZGV2ZWxvcGVyLmFybS5jb20vZG9jdW1lbnRhdGlvbi8xMDk0MTYvMDEw
MC8KCi4uLiBpbiBzZWN0aW9uIEEuNS4xICgiTUlEUl9FTDEsIE1haW4gSUQg
UmVnaXN0ZXIiKS4KClNpZ25lZC1vZmYtYnk6IE1pY2hhbCBPcnplbCA8bWlj
aGFsLm9yemVsQGFtZC5jb20+ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwg
PGp1bGllbkB4ZW4ub3JnPgoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9p
bmNsdWRlL2FzbS9wcm9jZXNzb3IuaCBiL3hlbi9hcmNoL2FybS9pbmNsdWRl
L2FzbS9wcm9jZXNzb3IuaAppbmRleCA5MzVkZDYxNzYyM2IuLmVhNGNkZmIz
ZTcxYSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3By
b2Nlc3Nvci5oCisrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wcm9j
ZXNzb3IuaApAQCAtOTEsNiArOTEsNyBAQAogI2RlZmluZSBBUk1fQ1BVX1BB
UlRfTkVPVkVSU0VfVjMgICAgMHhEODQKICNkZWZpbmUgQVJNX0NQVV9QQVJU
X0NPUlRFWF9YOTI1ICAgIDB4RDg1CiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9D
MV9VTFRSQSAgICAgICAweEQ4QworI2RlZmluZSBBUk1fQ1BVX1BBUlRfQzFf
UFJFTUlVTSAgICAgMHhEOTAKIAogI2RlZmluZSBNSURSX0NPUlRFWF9BMTIg
TUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRf
Q09SVEVYX0ExMikKICNkZWZpbmUgTUlEUl9DT1JURVhfQTE3IE1JRFJfQ1BV
X01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9B
MTcpCkBAIC0xMjIsNiArMTIzLDcgQEAKICNkZWZpbmUgTUlEUl9ORU9WRVJT
RV9WMyBNSURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVf
UEFSVF9ORU9WRVJTRV9WMykKICNkZWZpbmUgTUlEUl9DT1JURVhfWDkyNSBN
SURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9D
T1JURVhfWDkyNSkKICNkZWZpbmUgTUlEUl9DMV9VTFRSQSBNSURSX0NQVV9N
T0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9DMV9VTFRSQSkK
KyNkZWZpbmUgTUlEUl9DMV9QUkVNSVVNIE1JRFJfQ1BVX01PREVMKEFSTV9D
UFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0MxX1BSRU1JVU0pCiAKIC8qIE1Q
SURSIE11bHRpcHJvY2Vzc29yIEFmZmluaXR5IFJlZ2lzdGVyICovCiAjZGVm
aW5lIF9NUElEUl9VUCAgICAgICAgICAgKDMwKQo=

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.17-09.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.17-09.patch"
Content-Transfer-Encoding: base64

RnJvbSA1ZWI2MDkzOGFjMzIxZDZiYWFiMmQ2ZDY0OTdmNTA2MWNmODk5ODM2
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU4ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IE1pdGlnYXRlIFRM
QkkgZXJyYXRhIG9uIHZhcmlvdXMgQXJtIENQVXMKCkEgbnVtYmVyIG9mIENQ
VXMgZGV2ZWxvcGVkIGJ5IEFybSBzdWZmZXIgZnJvbSBlcnJhdGEgd2hlcmVi
eSBhIGJyb2FkY2FzdApUTEJJICsgRFNCIHNlcXVlbmNlIG1heSBjb21wbGV0
ZSBiZWZvcmUgdGhlIGdsb2JhbCBvYnNlcnZhdGlvbiBvZiB3cml0ZXMKd2hp
Y2ggYXJlIHRyYW5zbGF0ZWQgYnkgYW4gYWZmZWN0ZWQgVExCIGVudHJ5LiBU
aGlzIGNhbiBsZWFkIHRvIG1lbW9yeQpjb3JydXB0aW9uIGFuZCBwb3RlbnRp
YWwgcHJpdmlsZWdlIGVzY2FsYXRpb24uCgpUaGVzZSBlcnJhdGEgT05MWSBh
ZmZlY3QgdGhlIGNvbXBsZXRpb24gb2YgbWVtb3J5IGFjY2Vzc2VzIHdoaWNo
IGhhdmUKYmVlbiB0cmFuc2xhdGVkIGJ5IGFuIGludmFsaWRhdGVkIFRMQiBl
bnRyeSwgYW5kIHRoZXNlIGVycmF0YSBETyBOT1QKYWZmZWN0IHRoZSBhY3R1
YWwgaW52YWxpZGF0aW9uIG9mIFRMQiBlbnRyaWVzLiBUTEIgZW50cmllcyBh
cmUgcmVtb3ZlZApjb3JyZWN0bHkuCgpUbyBtaXRpZ2F0ZSB0aGlzIGlzc3Vl
LCBBcm0gcmVjb21tZW5kcyB0aGF0IHNvZnR3YXJlIGZvbGxvd3MgZWFjaApU
TEJJK0RTQiBzZXF1ZW5jZSB3aXRoIGFuIGFkZGl0aW9uYWwgVExCSStEU0Is
IHdoaWNoIHdpbGwgZW5zdXJlIHRoYXQKYWxsIG1lbW9yeSB3cml0ZSBlZmZl
Y3RzIGFmZmVjdGVkIGJ5IHRoZSBmaXJzdCBUTEJJIGhhdmUgYmVlbiBnbG9i
YWxseQpvYnNlcnZlZC4KClRoZSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9U
TEJJIHdvcmthcm91bmQgaXMgc3VmZmljaWVudCB0byBtaXRpZ2F0ZSB0aGUK
aXNzdWUuIEVuYWJsZSB0aGlzIHdvcmthcm91bmQgZm9yIGFmZmVjdGVkIENQ
VXMuCgpUaGlzIGlzIFhTQS00OTMgLyBDVkUtMjAyNS0xMDI2My4KClNpZ25l
ZC1vZmYtYnk6IE1pY2hhbCBPcnplbCA8bWljaGFsLm9yemVsQGFtZC5jb20+
ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPgoK
ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9LY29uZmlnIGIveGVuL2FyY2gv
YXJtL0tjb25maWcKaW5kZXggODdkNTQxYzQxMWNjLi4yOTA3NjI5N2FkZGYg
MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9LY29uZmlnCisrKyBiL3hlbi9h
cmNoL2FybS9LY29uZmlnCkBAIC0zMzksNiArMzM5LDI3IEBAIGNvbmZpZyBB
Uk02NF9FUlJBVFVNXzE1MDg0MTIKIAogCSAgSWYgdW5zdXJlLCBzYXkgWS4K
IAorY29uZmlnIEFSTTY0X0VSUkFUVU1fQ1ZFXzIwMjVfMTAyNjMKKwlib29s
ICJDb3J0ZXgtKi9OZW92ZXJzZS0qL0MxLSo6IENvbXBsZXRpb24gb2YgYWZm
ZWN0ZWQgbWVtb3J5IGFjY2Vzc2VzIG1pZ2h0IG5vdCBiZSBndWFyYW50ZWVk
IGJ5IGNvbXBsZXRpb24gb2YgYSBUTEJJIgorCWRlZmF1bHQgeQorCWRlcGVu
ZHMgb24gQVJNXzY0CisJc2VsZWN0IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFU
X1RMQkkKKwloZWxwCisJICBUaGlzIG9wdGlvbiBhZGRzIGEgd29ya2Fyb3Vu
ZCBmb3IgQ1ZFLTIwMjUtMTAyNjMuCisKKwkgIEEgYnJvYWRjYXN0IFRMQkkg
b24gYW5vdGhlciBQRSBtYXkgY29tcGxldGUgYmVmb3JlIGFmZmVjdGVkIG1l
bW9yeQorCSAgYWNjZXNzZXMgYXJlIGdsb2JhbGx5IG9ic2VydmVkLiBUaGlz
IG1heSBwZXJtaXQgYnlwYXNzIG9mIFN0YWdlIDEKKwkgIHRyYW5zbGF0aW9u
LCBTdGFnZS0yIHRyYW5zbGF0aW9uLCBvciBHUFQgcHJvdGVjdGlvbi4KKwor
CSAgVGhlIHdvcmthcm91bmQgcmVwZWF0cyB0aGUgVExCSSBWQUxFMklTLCBY
WlIgKyBEU0IgSVNIIG9wZXJhdGlvbiBmb3IgYWxsCisJICB0aGUgYnJvYWRj
YXN0IFRMQiBmbHVzaCBvcGVyYXRpb25zLiBBIHNpbmdsZSBhZGRpdGlvbmFs
IFRMQkkgYW5kIERTQiBhcmUKKwkgIHN1ZmZpY2llbnQgcmVnYXJkbGVzcyBv
ZiBob3cgbWFueSBUTEJJcyBhcmUgY29tcGxldGVkIGJ5IHRoZSBEU0IuCisK
KwkgIE5vdGUgdGhhdCBzb2Z0d2FyZSB3b3JrYXJvdW5kcyBhcmUgcmVxdWly
ZWQgYXQgYWxsIGV4ZWN1dGlvbiBsZXZlbHMgZm9yCisJICBhZmZlY3RlZCBw
YXJ0cyB0byBmdWxseSBtaXRpZ2F0ZSB0aGlzIGlzc3VlLgorCisJICBJZiB1
bnN1cmUsIHNheSBZLgorCiBlbmRtZW51CiAKIGNvbmZpZyBBUk02NF9IQVJE
RU5fQlJBTkNIX1BSRURJQ1RPUgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJt
L2NwdWVycmF0YS5jIGIveGVuL2FyY2gvYXJtL2NwdWVycmF0YS5jCmluZGV4
IGVhNjgwZmFjMmU0NC4uMzM3MzYzNDJmYmVkIDEwMDY0NAotLS0gYS94ZW4v
YXJjaC9hcm0vY3B1ZXJyYXRhLmMKKysrIGIveGVuL2FyY2gvYXJtL2NwdWVy
cmF0YS5jCkBAIC01MzQsNiArNTM0LDkyIEBAIHN0YXRpYyBjb25zdCBzdHJ1
Y3QgYXJtX2NwdV9jYXBhYmlsaXRpZXMgYXJtX2VycmF0YVtdID0gewogICAg
ICAgICBNSURSX1JBTkdFKE1JRFJfTkVPVkVSU0VfTjEsIDAsIDMgPDwgTUlE
Ul9WQVJJQU5UX1NISUZUKSwKICAgICB9LAogI2VuZGlmCisjaWZkZWYgQ09O
RklHX0FSTTY0X0VSUkFUVU1fQ1ZFXzIwMjVfMTAyNjMKKyAgICB7CisgICAg
ICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9SRVBFQVRfVExC
SSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9DT1JURVhfQTc2
KSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02
NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9W
RVJTSU9OUyhNSURSX0NPUlRFWF9BNzZBRSksCisgICAgfSwKKyAgICB7Cisg
ICAgICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9SRVBFQVRf
VExCSSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9DT1JURVhf
QTc3KSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBB
Uk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FM
TF9WRVJTSU9OUyhNSURSX0NPUlRFWF9BNzgpLAorICAgIH0sCisgICAgewor
ICAgICAgICAuY2FwYWJpbGl0eSA9IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFU
X1RMQkksCisgICAgICAgIE1JRFJfQUxMX1ZFUlNJT05TKE1JRFJfQ09SVEVY
X0E3OEFFKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkg
PSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURS
X0FMTF9WRVJTSU9OUyhNSURSX0NPUlRFWF9BNzhDKSwKKyAgICB9LAorICAg
IHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JF
UEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX0NP
UlRFWF9BNzEwKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxp
dHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBN
SURSX0FMTF9WRVJTSU9OUyhNSURSX0NPUlRFWF9YMSksCisgICAgfSwKKyAg
ICB7CisgICAgICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9S
RVBFQVRfVExCSSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9D
T1JURVhfWDFDKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxp
dHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBN
SURSX0FMTF9WRVJTSU9OUyhNSURSX0NPUlRFWF9YMiksCisgICAgfSwKKyAg
ICB7CisgICAgICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9S
RVBFQVRfVExCSSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9D
T1JURVhfWDMpLAorICAgIH0sCisgICAgeworICAgICAgICAuY2FwYWJpbGl0
eSA9IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkksCisgICAgICAgIE1J
RFJfQUxMX1ZFUlNJT05TKE1JRFJfQ09SVEVYX1g0KSwKKyAgICB9LAorICAg
IHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JF
UEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX0NP
UlRFWF9YOTI1KSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxp
dHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBN
SURSX0FMTF9WRVJTSU9OUyhNSURSX05FT1ZFUlNFX04xKSwKKyAgICB9LAor
ICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5E
X1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURS
X05FT1ZFUlNFX04yKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFi
aWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAg
ICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX05FT1ZFUlNFX1YxKSwKKyAgICB9
LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJP
VU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhN
SURSX05FT1ZFUlNFX1YyKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNh
cGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAg
ICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX05FT1ZFUlNFX1YzKSwKKyAg
ICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JL
QVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9O
UyhNSURSX05FT1ZFUlNFX1YzQUUpLAorICAgIH0sCisgICAgeworICAgICAg
ICAuY2FwYWJpbGl0eSA9IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkks
CisgICAgICAgIE1JRFJfQUxMX1ZFUlNJT05TKE1JRFJfQzFfVUxUUkEpLAor
ICAgIH0sCisgICAgeworICAgICAgICAuY2FwYWJpbGl0eSA9IEFSTTY0X1dP
UktBUk9VTkRfUkVQRUFUX1RMQkksCisgICAgICAgIE1JRFJfQUxMX1ZFUlNJ
T05TKE1JRFJfQzFfUFJFTUlVTSksCisgICAgfSwKKyNlbmRpZgogI2lmZGVm
IENPTkZJR19BUk02NF9IQVJERU5fQlJBTkNIX1BSRURJQ1RPUgogICAgIHsK
ICAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk1fSEFSREVOX0JSQU5DSF9QUkVE
SUNUT1IsCg==

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.18-01.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.18-01.patch"
Content-Transfer-Encoding: base64

RnJvbSAzMDY1MjY2ZTQ1YjQ3NWU2MmRkNDFlZTE5NGVjNzMxZjBjYjgwMjQ5
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBUdWUsIDE0IEFwciAyMDI2
IDEwOjExOjI0ICswMjAwClN1YmplY3Q6IHhlbi9hcm02NDogZmx1c2h0bGI6
IE9wdGltaXplIEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkkKClRoZSBB
Uk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJIHdvcmthcm91bmQgaXMgdXNl
ZCB0byBtaXRpZ2F0ZSBzZXZlcmFsCmVycmF0YSB3aGVyZSBicm9hZGNhc3Qg
VExCSTtEU0Igc2VxdWVuY2VzIGRvbid0IHByb3ZpZGUgYWxsIHRoZQphcmNo
aXRlY3R1cmFsbHkgcmVxdWlyZWQgc3luY2hyb25pemF0aW9uLiBUaGUgd29y
a2Fyb3VuZCBwZXJmb3JtcyBtb3JlCndvcmsgdGhhbiBuZWNlc3NhcnksIGFu
ZCBjYW4gaGF2ZSBzaWduaWZpY2FudCBvdmVyaGVhZC4gVGhpcyBwYXRjaApv
cHRpbWl6ZXMgdGhlIHdvcmthcm91bmQsIGFzIGV4cGxhaW5lZCBiZWxvdy4K
CjEuIEFsbCByZWxldmFudCBlcnJhdGEgb25seSBhZmZlY3QgdGhlIG9yZGVy
aW5nIGFuZC9vciBjb21wbGV0aW9uIG9mCiAgIG1lbW9yeSBhY2Nlc3NlcyB3
aGljaCBoYXZlIGJlZW4gdHJhbnNsYXRlZCBieSBhbiBpbnZhbGlkYXRlZCBU
TEIKICAgZW50cnkuIFRoZSBhY3R1YWwgaW52YWxpZGF0aW9uIG9mIFRMQiBl
bnRyaWVzIGlzIHVuYWZmZWN0ZWQuCgoyLiBUaGUgZXhpc3Rpbmcgd29ya2Fy
b3VuZCBpcyBhcHBsaWVkIHRvIGJvdGggYnJvYWRjYXN0IGFuZCBsb2NhbCBU
TEIKICAgaW52YWxpZGF0aW9uLCB3aGVyZWFzIGZvciBhbGwgcmVsZXZhbnQg
ZXJyYXRhIGl0IGlzIG9ubHkgbmVjZXNzYXJ5IHRvCiAgIGFwcGx5IGEgd29y
a2Fyb3VuZCBmb3IgYnJvYWRjYXN0IGludmFsaWRhdGlvbi4KCjMuIFRoZSBl
eGlzdGluZyB3b3JrYXJvdW5kIHJlcGxhY2VzIGV2ZXJ5IFRMQkkgd2l0aCBh
IFRMQkk7RFNCO1RMQkkKICAgc2VxdWVuY2UsIHdoZXJlYXMgZm9yIGFsbCBy
ZWxldmFudCBlcnJhdGEgaXQgaXMgb25seSBuZWNlc3NhcnkgdG8KICAgZXhl
Y3V0ZSBhIHNpbmdsZSBhZGRpdGlvbmFsIFRMQkk7RFNCIHNlcXVlbmNlIGFm
dGVyIGFueSBudW1iZXIgb2YKICAgVExCSXMgYXJlIGNvbXBsZXRlZCBieSBh
IERTQi4KCiAgIEZvciBleGFtcGxlLCBmb3IgYSBzZXF1ZW5jZSBvZiBiYXRj
aGVkIFRMQklzOgoKICAgICAgIFRMQkkgPG9wMT5bLCA8YXJnMT5dCiAgICAg
ICBUTEJJIDxvcDI+WywgPGFyZzI+XQogICAgICAgVExCSSA8b3AzPlssIDxh
cmczPl0KICAgICAgIERTQiBJU0gKCiAgIC4uLiB0aGUgZXhpc3Rpbmcgd29y
a2Fyb3VuZCB3aWxsIGV4cGFuZCB0aGlzIHRvOgoKICAgICAgIFRMQkkgPG9w
MT5bLCA8YXJnMT5dCiAgICAgICBEU0IgSVNIICAgICAgICAgICAgICAgICAg
Ly8gYWRkaXRpb25hbAogICAgICAgVExCSSA8b3AxPlssIDxhcmcxPl0gICAg
IC8vIGFkZGl0aW9uYWwKICAgICAgIFRMQkkgPG9wMj5bLCA8YXJnMj5dCiAg
ICAgICBEU0IgSVNIICAgICAgICAgICAgICAgICAgLy8gYWRkaXRpb25hbAog
ICAgICAgVExCSSA8b3AyPlssIDxhcmcyPl0gICAgIC8vIGFkZGl0aW9uYWwK
ICAgICAgIFRMQkkgPG9wMz5bLCA8YXJnMz5dCiAgICAgICBEU0IgSVNIICAg
ICAgICAgICAgICAgICAgLy8gYWRkaXRpb25hbAogICAgICAgVExCSSA8b3Az
PlssIDxhcmczPl0gICAgIC8vIGFkZGl0aW9uYWwKICAgICAgIERTQiBJU0gK
CiAgIC4uLiB3aGVyZWFzIGl0IGlzIHN1ZmZpY2llbnQgdG8gaGF2ZToKCiAg
ICAgICBUTEJJIDxvcDE+WywgPGFyZzE+XQogICAgICAgVExCSSA8b3AyPlss
IDxhcmcyPl0KICAgICAgIFRMQkkgPG9wMz5bLCA8YXJnMz5dCiAgICAgICBE
U0IgSVNICiAgICAgICBUTEJJIDxvcFg+WywgPGFyZ1g+XSAgICAgLy8gYWRk
aXRpb25hbAogICAgICAgRFNCIElTSCAgICAgICAgICAgICAgICAgIC8vIGFk
ZGl0aW9uYWwKCiAgIFVzaW5nIGEgc2luZ2xlIGFkZGl0aW9uYWwgVExCSSBh
bmQgRFNCIGF0IHRoZSBlbmQgb2YgdGhlIHNlcXVlbmNlIGNhbgogICBoYXZl
IHNpZ25pZmljYW50bHkgbG93ZXIgb3ZlcmhlYWQgYXMgZWFjaCBEU0Igd2hp
Y2ggY29tcGxldGVzIGEgVExCSQogICBtdXN0IHN5bmNocm9uaXplIHdpdGgg
b3RoZXIgUEVzIGluIHRoZSBzeXN0ZW0sIHdpdGggcG90ZW50aWFsCiAgIHBl
cmZvcm1hbmNlIGVmZmVjdHMgYm90aCBsb2NhbGx5IGFuZCBzeXN0ZW0td2lk
ZS4KCjQuIFRoZSBleGlzdGluZyB3b3JrYXJvdW5kIHJlcGVhdHMgZWFjaCBz
cGVjaWZpYyBUTEJJIG9wZXJhdGlvbiwgd2hlcmVhcwogICBmb3IgYWxsIHJl
bGV2YW50IGVycmF0YSBpdCBpcyBzdWZmaWNpZW50IGZvciB0aGUgYWRkaXRp
b25hbCBUTEJJIHRvCiAgIHVzZSAqYW55KiBvcGVyYXRpb24gd2hpY2ggd2ls
bCBiZSBicm9hZGNhc3QsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gKICAgdHJhbnNs
YXRpb24gcmVnaW1lIG9yIHN0YWdlIG9mIHRyYW5zbGF0aW9uIHRoZSBvcGVy
YXRpb24gYXBwbGllcyB0by4KCiAgIEZvciBleGFtcGxlLCBmb3IgYSBzaW5n
bGUgVExCSToKCiAgICAgICBUTEJJIEFMTEUySVMKICAgICAgIERTQiBJU0gK
CiAgIC4uLiB0aGUgZXhpc3Rpbmcgd29ya2Fyb3VuZCB3aWxsIGV4cGFuZCB0
aGlzIHRvOgoKICAgICAgIFRMQkkgQUxMRTJJUwogICAgICAgRFNCIElTSAog
ICAgICAgVExCSSBBTExFMklTICAgICAgICAgICAgIC8vIGFkZGl0aW9uYWwK
ICAgICAgIERTQiBJU0ggICAgICAgICAgICAgICAgICAvLyBhZGRpdGlvbmFs
CgogICAuLi4gd2hlcmVhcyBpdCBpcyBzdWZmaWNpZW50IHRvIGhhdmU6Cgog
ICAgICAgVExCSSBBTExFMklTCiAgICAgICBEU0IgSVNICiAgICAgICBUTEJJ
IFZBTEUxSVMsIFhaUiAgICAgICAgLy8gYWRkaXRpb25hbAogICAgICAgRFNC
IElTSCAgICAgICAgICAgICAgICAgIC8vIGFkZGl0aW9uYWwKCiAgIEFzIHRo
ZSBhZGRpdGlvbmFsIFRMQkkgZG9lc24ndCBoYXZlIHRvIG1hdGNoIGEgc3Bl
Y2lmaWMgZWFybGllciBUTEJJLAogICB0aGUgYWRkaXRpb25hbCBUTEJJIGNh
biBiZSBpbXBsZW1lbnRlZCBpbiBzZXBhcmF0ZSBjb2RlLCB3aXRoIG5vCiAg
IG1lbW9yeSBvZiB0aGUgZWFybGllciBUTEJJcy4gVGhlIGFkZGl0aW9uYWwg
VExCSSBjYW4gYWxzbyB1c2UgYQogICBjaGVhcGVyIFRMQkkgb3BlcmF0aW9u
LgoKNS4gVGhlIGV4aXN0aW5nIHdvcmthcm91bmQgaXMgYXBwbGllZCB0byBi
b3RoIFN0YWdlLTEgYW5kIFN0YWdlLTIgVExCCiAgIGludmFsaWRhdGlvbiwg
d2hlcmVhcyBmb3IgYWxsIHJlbGV2YW50IGVycmF0YSBpdCBpcyBvbmx5IG5l
Y2Vzc2FyeSB0bwogICBhcHBseSBhIHdvcmthcm91bmQgZm9yIFN0YWdlLTEg
aW52YWxpZGF0aW9uLgoKICAgQXJjaGl0ZWN0dXJhbGx5LCBUTEJJIG9wZXJh
dGlvbnMgd2hpY2ggaW52YWxpZGF0ZSBvbmx5IFN0YWdlLTIKICAgaW5mb3Jt
YXRpb24gKGUuZy4gSVBBUzJFMUlTKSBhcmUgbm90IHJlcXVpcmVkIHRvIGlu
dmFsaWRhdGUgVExCCiAgIGVudHJpZXMgd2hpY2ggY29tYmluZSBpbmZvcm1h
dGlvbiBmcm9tIFN0YWdlLTEgYW5kIFN0YWdlLTIKICAgdHJhbnNsYXRpb24g
dGFibGUgZW50cmllcywgYW5kIGNvbnNlcXVlbnRseSBtYXkgbm90IGNvbXBs
ZXRlIG1lbW9yeQogICBhY2Nlc3NlcyB0cmFuc2xhdGVkIGJ5IHRob3NlIGNv
bWJpbmVkIGVudHJpZXMuIEluIHRoZXNlIGNhc2VzLAogICBjb21wbGV0aW9u
IG9mIG1lbW9yeSBhY2Nlc3NlcyBpcyBvbmx5IGd1YXJhbnRlZWQgYWZ0ZXIg
c3Vic2VxdWVudAogICBpbnZhbGlkYXRpb24gb2YgU3RhZ2UtMSBpbmZvcm1h
dGlvbiAoZS5nLiBWTUFMTEUxSVMpLgoKUmV3b3JrIHRoZSB3b3JrYXJvdW5k
IGxvZ2ljIGFzIGZvbGxvd3M6CiAtIGFkZCBUTEJfSEVMUEVSX0xPQ0FMKCkg
dG8gYmUgdXNlZCBmb3IgbG9jYWwgVExCIG9wcyB3aXRob3V0IGEKICAgd29y
a2Fyb3VuZCwKIC0gbW9kaWZ5IFRMQl9IRUxQRVIoKSB3b3JrYXJvdW5kIHRv
IHVzZSB0bGJpIHZhbGUyaXMsIHh6ciBhcyBhIHNlY29uZAogICBUTEJJLAog
LSBkcm9wIFRMQl9IRUxQRVJfVkEoKS4gSXQncyB1c2VkIG9ubHkgYnkgX19m
bHVzaF94ZW5fdGxiX29uZV9sb2NhbAogICB3aGljaCBpcyBsb2NhbCBhbmQg
ZG9lcyBub3QgbmVlZCB3b3JrYXJvdW5kIGFuZCBieQogICBfX2ZsdXNoX3hl
bl90bGJfb25lLiBJbiB0aGUgbGF0dGVyIGNhc2UsIHNpbmNlIGl0J3MgdXNl
ZCBpbiBhIGxvb3AsCiAgIHdlIGRvbid0IG5lZWQgYSB3b3JrYXJvdW5kIGlu
IHRoZSBtaWRkbGUuIEFkZCBfX3RsYl9yZXBlYXRfc3luYyB3aXRoCiAgIGEg
d29ya2Fyb3VuZCB0byBiZSB1c2VkIGF0IHRoZSBlbmQgYWZ0ZXIgRFNCIGFu
ZCBiZWZvcmUgZmluYWwgSVNCLAogLSBUTEJJIFZBTEUySVMgcGFzc2luZyBY
WlIgaXMgdXNlZCBhcyBhbiBhZGRpdGlvbmFsIFRMQkkuIFdoaWxlIHRoZXJl
IGlzCiAgIGFuIGlkZW50aXR5IG1hcHBpbmcgdGhlcmUsIGl0J3MgdXNlZCB2
ZXJ5IHJhcmVseS4gVGhlIHBlcmZvcm1hbmNlCiAgIGltcGFjdCBpcyB0aGVy
ZWZvcmUgbmVnbGlnaWJsZS4gSWYgdGhpbmdzIGNoYW5nZSBpbiB0aGUgZnV0
dXJlLCB3ZQogICBjYW4gcmV2aXNpdCB0aGUgZGVjaXNpb24uCgpTaWduZWQt
b2ZmLWJ5OiBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnplbEBhbWQuY29tPgpS
ZXZpZXdlZC1ieTogTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5jZWxsdUBhcm0u
Y29tPgpSZXZpZXdlZC1ieTogSnVsaWVuIEdyYWxsIDxqZ3JhbGxAYW1hem9u
LmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgN2M1MDJkNzU5MTUx
OTEzNTc2NWI4MDQxY2JkMWM3MGU1NmU1YTBiOSkKCmRpZmYgLS1naXQgYS94
ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtMzIvZmx1c2h0bGIuaCBiL3hl
bi9hcmNoL2FybS9pbmNsdWRlL2FzbS9hcm0zMi9mbHVzaHRsYi5oCmluZGV4
IDYxYzI1YTMxODk5OC4uNTQ4M2JlMDhmYmJlIDEwMDY0NAotLS0gYS94ZW4v
YXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtMzIvZmx1c2h0bGIuaAorKysgYi94
ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtMzIvZmx1c2h0bGIuaApAQCAt
NTcsNiArNTcsOSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgX19mbHVzaF94ZW5f
dGxiX29uZSh2YWRkcl90IHZhKQogICAgIGFzbSB2b2xhdGlsZShTVE9SRV9D
UDMyKDAsIFRMQklNVkFISVMpIDogOiAiciIgKHZhKSA6ICJtZW1vcnkiKTsK
IH0KIAorLyogT25seSBmb3IgQVJNNjRfV09SS0FST1VORF9SRVBFQVRfVExC
SSAqLworc3RhdGljIGlubGluZSB2b2lkIF9fdGxiX3JlcGVhdF9zeW5jKHZv
aWQpIHt9CisKICNlbmRpZiAvKiBfX0FTTV9BUk1fQVJNMzJfRkxVU0hUTEJf
SF9fICovCiAvKgogICogTG9jYWwgdmFyaWFibGVzOgpkaWZmIC0tZ2l0IGEv
eGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FybTY0L2ZsdXNodGxiLmggYi94
ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtNjQvZmx1c2h0bGIuaAppbmRl
eCA0NTY0MjIwMWQxNDcuLmMxMzE0YmUxMjJkNyAxMDA2NDQKLS0tIGEveGVu
L2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FybTY0L2ZsdXNodGxiLmgKKysrIGIv
eGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FybTY0L2ZsdXNodGxiLmgKQEAg
LTEyLDkgKzEyLDE0IEBACiAgKiBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9U
TEJJOgogICogTW9kaWZpY2F0aW9uIG9mIHRoZSB0cmFuc2xhdGlvbiB0YWJs
ZSBmb3IgYSB2aXJ0dWFsIGFkZHJlc3MgbWlnaHQgbGVhZCB0bwogICogcmVh
ZC1hZnRlci1yZWFkIG9yZGVyaW5nIHZpb2xhdGlvbi4KLSAqIFRoZSB3b3Jr
YXJvdW5kIHJlcGVhdHMgVExCSStEU0IgSVNIIG9wZXJhdGlvbiBmb3IgYWxs
IHRoZSBUTEIgZmx1c2gKLSAqIG9wZXJhdGlvbnMuIFdoaWxlIHRoaXMgaXMg
c3RyaWN0bHkgbm90IG5lY2Vzc2FyeSwgd2UgZG9uJ3Qgd2FudCB0bwotICog
dGFrZSBhbnkgcmlzay4KKyAqIFRoZSB3b3JrYXJvdW5kIHJlcGVhdHMgVExC
SStEU0IgSVNIIG9wZXJhdGlvbiBmb3IgYnJvYWRjYXN0IFRMQiBmbHVzaAor
ICogb3BlcmF0aW9ucy4gVGhlIHdvcmthcm91bmQgaXMgbm90IG5lZWRlZCBm
b3IgbG9jYWwgb3BlcmF0aW9ucy4KKyAqCisgKiBJdCBpcyBzdWZmaWNpZW50
IGZvciB0aGUgYWRkaXRpb25hbCBUTEJJIHRvIHVzZSAqYW55KiBvcGVyYXRp
b24gd2hpY2ggd2lsbAorICogYmUgYnJvYWRjYXN0LCByZWdhcmRsZXNzIG9m
IHdoaWNoIHRyYW5zbGF0aW9uIHJlZ2ltZSBvciBzdGFnZSBvZiB0cmFuc2xh
dGlvbgorICogdGhlIG9wZXJhdGlvbiBhcHBsaWVzIHRvLiBUTEJJIFZBTEUy
SVMgaXMgdXNlZCBwYXNzaW5nIFhaUi4gV2hpbGUgdGhlcmUgaXMKKyAqIGFu
IGlkZW50aXR5IG1hcHBpbmcgdGhlcmUsIGl0J3Mgb25seSB1c2VkIGR1cmlu
ZyBzdXNwZW5kL3Jlc3VtZSwgQ1BVIG9uL29mZiwKKyAqIHNvIHRoZSBpbXBh
Y3QgKHBlcmZvcm1hbmNlIGlmIGFueSkgaXMgbmVnbGlnaWJsZS4KICAqCiAg
KiBGb3IgWGVuIHBhZ2UtdGFibGVzIHRoZSBJU0Igd2lsbCBkaXNjYXJkIGFu
eSBpbnN0cnVjdGlvbnMgZmV0Y2hlZAogICogZnJvbSB0aGUgb2xkIG1hcHBp
bmdzLgpAQCAtMjYsNjkgKzMxLDkwIEBACiAgKiBOb3RlIHRoYXQgZm9yIGxv
Y2FsIFRMQiBmbHVzaCwgdXNpbmcgbm9uLXNoYXJlYWJsZSAobnNoKSBpcyBz
dWZmaWNpZW50CiAgKiAoc2VlIEQ1LTQ5MjkgaW4gQVJNIERESSAwNDg3SC5h
KS4gQWx0aG91Z2gsIHRoZSBtZW1vcnkgYmFycmllciBpbgogICogZm9yIHRo
ZSB3b3JrYXJvdW5kIGlzIGxlZnQgYXMgaW5uZXItc2hhcmVhYmxlIHRvIG1h
dGNoIHdpdGggTGludXgKLSAqIHY2LjEtcmM4LgorICogdjYuMTkuCiAgKi8K
LSNkZWZpbmUgVExCX0hFTFBFUihuYW1lLCB0bGJvcCwgc2gpICAgICAgICAg
ICAgICBcCisjZGVmaW5lIFRMQl9IRUxQRVJfTE9DQUwobmFtZSwgdGxib3Ap
ICAgICAgICAgICAgXAogc3RhdGljIGlubGluZSB2b2lkIG5hbWUodm9pZCkg
ICAgICAgICAgICAgICAgICAgIFwKIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgYXNtIHZvbGF0aWxl
KCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAi
ZHNiICAiICAjIHNoICAic3Q7IiAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICAgICAgImRzYiAgbnNoc3Q7IiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCiAgICAgICAgICJ0bGJpICIgICMgdGxib3AgICI7IiAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICBBTFRFUk5BVElWRSggICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICJub3A7IG5vcDsiLCAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAiZHNiICBp
c2g7IiAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
InRsYmkgIiAgIyB0bGJvcCAgIjsiLCAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgICAgIEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkksICAgICAgICBc
Ci0gICAgICAgICAgICBDT05GSUdfQVJNNjRfV09SS0FST1VORF9SRVBFQVRf
VExCSSkgXAotICAgICAgICAiZHNiICAiICAjIHNoICAiOyIgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICAgICAgImRzYiAgbnNoOyIgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICJpc2I7IiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICA6IDogOiAi
bWVtb3J5Iik7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKIH0KIAotLyoK
LSAqIEZMdXNoIFRMQiBieSBWQS4gVGhpcyB3aWxsIGxpa2VseSBiZSB1c2Vk
IGluIGEgbG9vcCwgc28gdGhlIGNhbGxlcgotICogaXMgcmVzcG9uc2libGUg
dG8gdXNlIHRoZSBhcHByb3ByaWF0ZSBtZW1vcnkgYmFycmllcnMgYmVmb3Jl
L2FmdGVyCi0gKiB0aGUgc2VxdWVuY2UuCi0gKgotICogU2VlIGFib3ZlIGFi
b3V0IHRoZSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJIHNlcXVlbmNl
LgotICovCi0jZGVmaW5lIFRMQl9IRUxQRVJfVkEobmFtZSwgdGxib3ApICAg
ICAgICAgICAgICAgXAotc3RhdGljIGlubGluZSB2b2lkIG5hbWUodmFkZHJf
dCB2YSkgICAgICAgICAgICAgIFwKLXsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgYXNtIHZvbGF0aWxl
KCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAi
dGxiaSAiICAjIHRsYm9wICAiLCAlMDsiICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgQUxURVJOQVRJVkUoICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICAibm9wOyBub3A7IiwgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICAgICAgImRzYiAgaXNoOyIgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICJ0bGJpICIgICMgdGxi
b3AgICIsICUwOyIsICAgICAgICAgICBcCi0gICAgICAgICAgICBBUk02NF9X
T1JLQVJPVU5EX1JFUEVBVF9UTEJJLCAgICAgICAgXAotICAgICAgICAgICAg
Q09ORklHX0FSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkkpIFwKLSAgICAg
ICAgOiA6ICJyIiAodmEgPj4gUEFHRV9TSElGVCkgOiAibWVtb3J5Iik7ICBc
CisjZGVmaW5lIFRMQl9IRUxQRVIobmFtZSwgdGxib3ApICAgICAgICAgICAg
ICAgICAgICAgICBcCitzdGF0aWMgaW5saW5lIHZvaWQgbmFtZSh2b2lkKSAg
ICAgICAgICAgICAgICAgICAgICAgICBcCit7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYXNt
IHZvbGF0aWxlICggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICAgICJkc2IgIGlzaHN0OyIgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgICAgICJ0bGJpICIgICMgdGxib3AgICI7
IiAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIEFMVEVSTkFU
SVZFKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ICAgICAgICAibm9wOyBub3A7IiwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICAgICAgICAiZHNiICBpc2g7IiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAidGxiaSB2YWxlMmlz
LCB4enI7IiwgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBB
Uk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLCAgICAgICAgICAgICBcCisg
ICAgICAgICAgICBDT05GSUdfQVJNNjRfV09SS0FST1VORF9SRVBFQVRfVExC
SSkgICAgICBcCisgICAgICAgICJkc2IgIGlzaDsiICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICJpc2I7IiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIDog
OiA6ICJtZW1vcnkiKTsgXAogfQogCiAvKiBGbHVzaCBsb2NhbCBUTEJzLCBj
dXJyZW50IFZNSUQgb25seS4gKi8KLVRMQl9IRUxQRVIoZmx1c2hfZ3Vlc3Rf
dGxiX2xvY2FsLCB2bWFsbHMxMmUxLCBuc2gpCitUTEJfSEVMUEVSX0xPQ0FM
KGZsdXNoX2d1ZXN0X3RsYl9sb2NhbCwgdm1hbGxzMTJlMSkKIAogLyogRmx1
c2ggaW5uZXJzaGFyZWFibGUgVExCcywgY3VycmVudCBWTUlEIG9ubHkgKi8K
LVRMQl9IRUxQRVIoZmx1c2hfZ3Vlc3RfdGxiLCB2bWFsbHMxMmUxaXMsIGlz
aCkKK1RMQl9IRUxQRVIoZmx1c2hfZ3Vlc3RfdGxiLCB2bWFsbHMxMmUxaXMp
CiAKIC8qIEZsdXNoIGxvY2FsIFRMQnMsIGFsbCBWTUlEcywgbm9uLWh5cGVy
dmlzb3IgbW9kZSAqLwotVExCX0hFTFBFUihmbHVzaF9hbGxfZ3Vlc3RzX3Rs
Yl9sb2NhbCwgYWxsZTEsIG5zaCkKK1RMQl9IRUxQRVJfTE9DQUwoZmx1c2hf
YWxsX2d1ZXN0c190bGJfbG9jYWwsIGFsbGUxKQogCiAvKiBGbHVzaCBpbm5l
cnNoYXJlYWJsZSBUTEJzLCBhbGwgVk1JRHMsIG5vbi1oeXBlcnZpc29yIG1v
ZGUgKi8KLVRMQl9IRUxQRVIoZmx1c2hfYWxsX2d1ZXN0c190bGIsIGFsbGUx
aXMsIGlzaCkKK1RMQl9IRUxQRVIoZmx1c2hfYWxsX2d1ZXN0c190bGIsIGFs
bGUxaXMpCiAKIC8qIEZsdXNoIGFsbCBoeXBlcnZpc29yIG1hcHBpbmdzIGZy
b20gdGhlIFRMQiBvZiB0aGUgbG9jYWwgcHJvY2Vzc29yLiAqLwotVExCX0hF
TFBFUihmbHVzaF94ZW5fdGxiX2xvY2FsLCBhbGxlMiwgbnNoKQorVExCX0hF
TFBFUl9MT0NBTChmbHVzaF94ZW5fdGxiX2xvY2FsLCBhbGxlMikKKworI3Vu
ZGVmIFRMQl9IRUxQRVJfTE9DQUwKKyN1bmRlZiBUTEJfSEVMUEVSCisKKy8q
CisgKiBGTHVzaCBUTEIgYnkgVkEuIFRoaXMgd2lsbCBsaWtlbHkgYmUgdXNl
ZCBpbiBhIGxvb3AsIHNvIHRoZSBjYWxsZXIKKyAqIGlzIHJlc3BvbnNpYmxl
IHRvIHVzZSB0aGUgYXBwcm9wcmlhdGUgbWVtb3J5IGJhcnJpZXJzIGJlZm9y
ZS9hZnRlcgorICogdGhlIHNlcXVlbmNlLgorICovCiAKIC8qIEZsdXNoIFRM
QiBvZiBsb2NhbCBwcm9jZXNzb3IgZm9yIGFkZHJlc3MgdmEuICovCi1UTEJf
SEVMUEVSX1ZBKF9fZmx1c2hfeGVuX3RsYl9vbmVfbG9jYWwsIHZhZTIpCitz
dGF0aWMgaW5saW5lIHZvaWQgX19mbHVzaF94ZW5fdGxiX29uZV9sb2NhbCh2
YWRkcl90IHZhKQoreworICAgIGFzbSB2b2xhdGlsZSAoCisgICAgICAgICJ0
bGJpIHZhZTIsICUwIiA6IDogInIiICh2YSA+PiBQQUdFX1NISUZUKSA6ICJt
ZW1vcnkiKTsKK30KIAogLyogRmx1c2ggVExCIG9mIGFsbCBwcm9jZXNzb3Jz
IGluIHRoZSBpbm5lci1zaGFyZWFibGUgZG9tYWluIGZvciBhZGRyZXNzIHZh
LiAqLwotVExCX0hFTFBFUl9WQShfX2ZsdXNoX3hlbl90bGJfb25lLCB2YWUy
aXMpCitzdGF0aWMgaW5saW5lIHZvaWQgX19mbHVzaF94ZW5fdGxiX29uZSh2
YWRkcl90IHZhKQoreworICAgIGFzbSB2b2xhdGlsZSAoCisgICAgICAgICJ0
bGJpIHZhZTJpcywgJTAiIDogOiAiciIgKHZhID4+IFBBR0VfU0hJRlQpIDog
Im1lbW9yeSIpOworfQogCi0jdW5kZWYgVExCX0hFTFBFUgotI3VuZGVmIFRM
Ql9IRUxQRVJfVkEKKy8qCisgKiBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9U
TEJJOgorICogRm9yIGFsbCByZWxldmFudCBlcnJhdGFzIGl0IGlzIG9ubHkg
bmVjZXNzYXJ5IHRvIGV4ZWN1dGUgYSBzaW5nbGUKKyAqIGFkZGl0aW9uYWwg
VExCSTtEU0Igc2VxdWVuY2UgYWZ0ZXIgYW55IG51bWJlciBvZiBUTEJJcyBh
cmUgY29tcGxldGVkIGJ5IERTQi4KKyAqLworc3RhdGljIGlubGluZSB2b2lk
IF9fdGxiX3JlcGVhdF9zeW5jKHZvaWQpCit7CisgICAgYXNtIHZvbGF0aWxl
ICgKKyAgICAgICAgQUxURVJOQVRJVkUoCisgICAgICAgICAgICAibm9wOyBu
b3A7IiwKKyAgICAgICAgICAgICJ0bGJpIHZhbGUyaXMsIHh6cjsiCisgICAg
ICAgICAgICAiZHNiICBpc2g7IiwKKyAgICAgICAgICAgIEFSTTY0X1dPUktB
Uk9VTkRfUkVQRUFUX1RMQkksCisgICAgICAgICAgICBDT05GSUdfQVJNNjRf
V09SS0FST1VORF9SRVBFQVRfVExCSSkKKyAgICAgICAgOiA6IDogIm1lbW9y
eSIpOworfQogCiAjZW5kaWYgLyogX19BU01fQVJNX0FSTTY0X0ZMVVNIVExC
X0hfXyAqLwogLyoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9pbmNsdWRl
L2FzbS9mbHVzaHRsYi5oIGIveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2Zs
dXNodGxiLmgKaW5kZXggZTQ1ZmI2ZDk3YjAyLi5jMjkyYzNjMDBkMjkgMTAw
NjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9mbHVzaHRsYi5o
CisrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9mbHVzaHRsYi5oCkBA
IC02NSw2ICs2NSw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBmbHVzaF94ZW5f
dGxiX3JhbmdlX3ZhKHZhZGRyX3QgdmEsCiAgICAgICAgIHZhICs9IFBBR0Vf
U0laRTsKICAgICB9CiAgICAgZHNiKGlzaCk7IC8qIEVuc3VyZSB0aGUgVExC
IGludmFsaWRhdGlvbiBoYXMgY29tcGxldGVkICovCisgICAgX190bGJfcmVw
ZWF0X3N5bmMoKTsKICAgICBpc2IoKTsKIH0KIApkaWZmIC0tZ2l0IGEveGVu
L2FyY2gvYXJtL2luY2x1ZGUvYXNtL21tdS9sYXlvdXQuaCBiL3hlbi9hcmNo
L2FybS9pbmNsdWRlL2FzbS9tbXUvbGF5b3V0LmgKaW5kZXggZGE2YmUyNzZh
YzVmLi5kNWM1OGI0OWEyNDggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9p
bmNsdWRlL2FzbS9tbXUvbGF5b3V0LmgKKysrIGIveGVuL2FyY2gvYXJtL2lu
Y2x1ZGUvYXNtL21tdS9sYXlvdXQuaApAQCAtMjMsNiArMjMsMTAgQEAKICAq
CiAgKiAgUmVzZXJ2ZWQgdG8gaWRlbnRpdHkgbWFwIFhlbgogICoKKyAqICBO
b3RlOiBBcyBwYXJ0IG9mIEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkks
IFZBIDAgaXMgdXNlZCBmb3IgYW4gZXh0cmEKKyAqICBUTEJJIG9wZXJhdGlv
biBnaXZlbiBpdHMgcmFyZSB1c2UgKG9ubHkgaWRlbnRpdHkgbWFwcGluZykg
YW5kIHRodXMKKyAqICBuZWdsaWdpYmxlIHBlcmZvcm1hbmNlIGltcGFjdC4K
KyAqCiAgKiAweDAwMDAwMjAwMDAwMDAwMDAgLSAweDAwMDAwMjdmZmZmZmZm
ZmYgKDUxMkdCLCBMMCBzbG90IFs0XSkKICAqICAoUmVsYXRpdmUgb2Zmc2V0
cykKICAqICAgMCAgLSAgIDJNICAgVW5tYXBwZWQK

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.18-02.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.18-02.patch"
Content-Transfer-Encoding: base64

RnJvbSBhMjlkODcyM2Q5NTA3NGEzM2VjODQxMjEzZTEyNjczMjBjNjIyZWE3
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU1ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IFN5bmMgbWlzc2lu
ZyBkZWZpbml0aW9ucyBmb3IgQXJtIENQVXMgd2l0aCBMaW51eAoKU3luY2hy
b25pemUgd2l0aCBMaW51eCBrZXJuZWwgNy4wIGRlZmluaXRpb25zIGZvciB0
aGUgZm9sbG93aW5nIENQVXM6CiAtIENvcnRleC1BNzZBRSwKIC0gQ29ydGV4
LUE3OEFFLAogLSBDb3J0ZXgtWDFDLAogLSBDb3J0ZXgtWDMsCiAtIE5lb3Zl
cnNlLVYyLAogLSBDb3J0ZXgtWDQsCiAtIE5lb3ZlcnNlLVYzQUUsCiAtIE5l
b3ZlcnNlLVYzLAogLSBDb3J0ZXgtWDkyNS4KClRoZXNlIHdpbGwgYmUgdXNl
ZCBmb3IgZXJyYXRhIGRldGVjdGlvbiBpbiBzdWJzZXF1ZW50IHBhdGNoZXMu
CgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnplbEBh
bWQuY29tPgpSZXZpZXdlZC1ieTogSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVu
Lm9yZz4KCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20v
cHJvY2Vzc29yLmggYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vcHJvY2Vz
c29yLmgKaW5kZXggOGUwMjQxMDQ2NTA0Li5lMTYyMGQ1Nzk4NjMgMTAwNjQ0
Ci0tLSBhL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaAor
KysgYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vcHJvY2Vzc29yLmgKQEAg
LTc0LDEzICs3NCwyMiBAQAogI2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVY
X0E3NiAgICAgMHhEMEIKICNkZWZpbmUgQVJNX0NQVV9QQVJUX05FT1ZFUlNF
X04xICAgIDB4RDBDCiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTc3
ICAgICAweEQwRAorI2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E3NkFF
ICAgMHhEMEUKICNkZWZpbmUgQVJNX0NQVV9QQVJUX05FT1ZFUlNFX1YxICAg
IDB4RDQwCiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTc4ICAgICAw
eEQ0MQorI2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E3OEFFICAgMHhE
NDIKICNkZWZpbmUgQVJNX0NQVV9QQVJUX0NPUlRFWF9YMSAgICAgIDB4RDQ0
CiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTcxMCAgICAweEQ0Nwog
I2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX1gyICAgICAgMHhENDgKICNk
ZWZpbmUgQVJNX0NQVV9QQVJUX05FT1ZFUlNFX04yICAgIDB4RDQ5CiAjZGVm
aW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTc4QyAgICAweEQ0QgorI2RlZmlu
ZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX1gxQyAgICAgMHhENEMKKyNkZWZpbmUg
QVJNX0NQVV9QQVJUX0NPUlRFWF9YMyAgICAgIDB4RDRFCisjZGVmaW5lIEFS
TV9DUFVfUEFSVF9ORU9WRVJTRV9WMiAgICAweEQ0RgorI2RlZmluZSBBUk1f
Q1BVX1BBUlRfQ09SVEVYX1g0ICAgICAgMHhEODIKKyNkZWZpbmUgQVJNX0NQ
VV9QQVJUX05FT1ZFUlNFX1YzQUUgIDB4RDgzCisjZGVmaW5lIEFSTV9DUFVf
UEFSVF9ORU9WRVJTRV9WMyAgICAweEQ4NAorI2RlZmluZSBBUk1fQ1BVX1BB
UlRfQ09SVEVYX1g5MjUgICAgMHhEODUKIAogI2RlZmluZSBNSURSX0NPUlRF
WF9BMTIgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BV
X1BBUlRfQ09SVEVYX0ExMikKICNkZWZpbmUgTUlEUl9DT1JURVhfQTE3IE1J
RFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NP
UlRFWF9BMTcpCkBAIC05NSwxMyArMTA0LDIyIEBACiAjZGVmaW5lIE1JRFJf
Q09SVEVYX0E3NiBNSURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFS
TV9DUFVfUEFSVF9DT1JURVhfQTc2KQogI2RlZmluZSBNSURSX05FT1ZFUlNF
X04xIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9Q
QVJUX05FT1ZFUlNFX04xKQogI2RlZmluZSBNSURSX0NPUlRFWF9BNzcgTUlE
Ul9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09S
VEVYX0E3NykKKyNkZWZpbmUgTUlEUl9DT1JURVhfQTc2QUUgTUlEUl9DUFVf
TU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E3
NkFFKQogI2RlZmluZSBNSURSX05FT1ZFUlNFX1YxIE1JRFJfQ1BVX01PREVM
KEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX05FT1ZFUlNFX1YxKQog
I2RlZmluZSBNSURSX0NPUlRFWF9BNzggTUlEUl9DUFVfTU9ERUwoQVJNX0NQ
VV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E3OCkKKyNkZWZpbmUg
TUlEUl9DT1JURVhfQTc4QUUgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBf
QVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E3OEFFKQogI2RlZmluZSBNSURS
X0NPUlRFWF9YMSAgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBB
Uk1fQ1BVX1BBUlRfQ09SVEVYX1gxKQogI2RlZmluZSBNSURSX0NPUlRFWF9B
NzEwIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9Q
QVJUX0NPUlRFWF9BNzEwKQogI2RlZmluZSBNSURSX0NPUlRFWF9YMiAgTUlE
Ul9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09S
VEVYX1gyKQogI2RlZmluZSBNSURSX05FT1ZFUlNFX04yIE1JRFJfQ1BVX01P
REVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX05FT1ZFUlNFX04y
KQogI2RlZmluZSBNSURSX0NPUlRFWF9BNzhDIE1JRFJfQ1BVX01PREVMKEFS
TV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9BNzhDKQorI2Rl
ZmluZSBNSURSX0NPUlRFWF9YMUMgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9J
TVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVYX1gxQykKKyNkZWZpbmUgTUlE
Ul9DT1JURVhfWDMgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBB
Uk1fQ1BVX1BBUlRfQ09SVEVYX1gzKQorI2RlZmluZSBNSURSX05FT1ZFUlNF
X1YyIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9Q
QVJUX05FT1ZFUlNFX1YyKQorI2RlZmluZSBNSURSX0NPUlRFWF9YNCBNSURS
X0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9DT1JU
RVhfWDQpCisjZGVmaW5lIE1JRFJfTkVPVkVSU0VfVjNBRSBNSURSX0NQVV9N
T0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9ORU9WRVJTRV9W
M0FFKQorI2RlZmluZSBNSURSX05FT1ZFUlNFX1YzIE1JRFJfQ1BVX01PREVM
KEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX05FT1ZFUlNFX1YzKQor
I2RlZmluZSBNSURSX0NPUlRFWF9YOTI1IE1JRFJfQ1BVX01PREVMKEFSTV9D
UFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9YOTI1KQogCiAvKiBN
UElEUiBNdWx0aXByb2Nlc3NvciBBZmZpbml0eSBSZWdpc3RlciAqLwogI2Rl
ZmluZSBfTVBJRFJfVVAgICAgICAgICAgICgzMCkK

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.18-03.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.18-03.patch"
Content-Transfer-Encoding: base64

RnJvbSAwYzhjZGE1ODc4ODI1MmNjYzRmYjY3NDFjOWY5MzczMDQ3NWZhZDA4
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU2ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IEFkZCBDMS1VbHRy
YSBkZWZpbml0aW9ucwoKQWRkIHByb2Nlc3NvciBkZWZpbml0aW9ucyBmb3Ig
QzEtVWx0cmEuIFRoZXNlIHdpbGwgYmUgdXNlZCBmb3IgZXJyYXRhCmRldGVj
dGlvbiBpbiBzdWJzZXF1ZW50IHBhdGNoZXMuCgpUaGVzZSB2YWx1ZXMgY2Fu
IGJlIGZvdW5kIGluIHRoZSBDMS1VbHRyYSBUUk06CgogIGh0dHBzOi8vZGV2
ZWxvcGVyLmFybS5jb20vZG9jdW1lbnRhdGlvbi8xMDgwMTQvMDEwMC8KCi4u
LiBpbiBzZWN0aW9uIEEuNS4xICgiTUlEUl9FTDEsIE1haW4gSUQgUmVnaXN0
ZXIiKS4KClNpZ25lZC1vZmYtYnk6IE1pY2hhbCBPcnplbCA8bWljaGFsLm9y
emVsQGFtZC5jb20+ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGll
bkB4ZW4ub3JnPgoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9pbmNsdWRl
L2FzbS9wcm9jZXNzb3IuaCBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9w
cm9jZXNzb3IuaAppbmRleCBlMTYyMGQ1Nzk4NjMuLmEyMTA0YzJjYWY1MCAx
MDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3Byb2Nlc3Nv
ci5oCisrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wcm9jZXNzb3Iu
aApAQCAtOTAsNiArOTAsNyBAQAogI2RlZmluZSBBUk1fQ1BVX1BBUlRfTkVP
VkVSU0VfVjNBRSAgMHhEODMKICNkZWZpbmUgQVJNX0NQVV9QQVJUX05FT1ZF
UlNFX1YzICAgIDB4RDg0CiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9DT1JURVhf
WDkyNSAgICAweEQ4NQorI2RlZmluZSBBUk1fQ1BVX1BBUlRfQzFfVUxUUkEg
ICAgICAgMHhEOEMKIAogI2RlZmluZSBNSURSX0NPUlRFWF9BMTIgTUlEUl9D
UFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVY
X0ExMikKICNkZWZpbmUgTUlEUl9DT1JURVhfQTE3IE1JRFJfQ1BVX01PREVM
KEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9BMTcpCkBA
IC0xMjAsNiArMTIxLDcgQEAKICNkZWZpbmUgTUlEUl9ORU9WRVJTRV9WM0FF
IE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJU
X05FT1ZFUlNFX1YzQUUpCiAjZGVmaW5lIE1JRFJfTkVPVkVSU0VfVjMgTUlE
Ul9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfTkVP
VkVSU0VfVjMpCiAjZGVmaW5lIE1JRFJfQ09SVEVYX1g5MjUgTUlEUl9DUFVf
TU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVYX1g5
MjUpCisjZGVmaW5lIE1JRFJfQzFfVUxUUkEgTUlEUl9DUFVfTU9ERUwoQVJN
X0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQzFfVUxUUkEpCiAKIC8qIE1Q
SURSIE11bHRpcHJvY2Vzc29yIEFmZmluaXR5IFJlZ2lzdGVyICovCiAjZGVm
aW5lIF9NUElEUl9VUCAgICAgICAgICAgKDMwKQo=

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.18-04.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.18-04.patch"
Content-Transfer-Encoding: base64

RnJvbSA0NTlkY2EwNWZjOWNjYjhhY2RlMWU3MjUzNmE4YWNhYjU0NmYzMWY4
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU3ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IEFkZCBDMS1QcmVt
aXVtIGRlZmluaXRpb25zCgpBZGQgcHJvY2Vzc29yIGRlZmluaXRpb25zIGZv
ciBDMS1QcmVtaXVtLiBUaGVzZSB3aWxsIGJlIHVzZWQgZm9yIGVycmF0YQpk
ZXRlY3Rpb24gaW4gc3Vic2VxdWVudCBwYXRjaGVzLgoKVGhlc2UgdmFsdWVz
IGNhbiBiZSBmb3VuZCBpbiB0aGUgQzEtUHJlbWl1bSBUUk06CgogIGh0dHBz
Oi8vZGV2ZWxvcGVyLmFybS5jb20vZG9jdW1lbnRhdGlvbi8xMDk0MTYvMDEw
MC8KCi4uLiBpbiBzZWN0aW9uIEEuNS4xICgiTUlEUl9FTDEsIE1haW4gSUQg
UmVnaXN0ZXIiKS4KClNpZ25lZC1vZmYtYnk6IE1pY2hhbCBPcnplbCA8bWlj
aGFsLm9yemVsQGFtZC5jb20+ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwg
PGp1bGllbkB4ZW4ub3JnPgoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9p
bmNsdWRlL2FzbS9wcm9jZXNzb3IuaCBiL3hlbi9hcmNoL2FybS9pbmNsdWRl
L2FzbS9wcm9jZXNzb3IuaAppbmRleCBhMjEwNGMyY2FmNTAuLjNmMDg2YmVl
ZDE1NCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3By
b2Nlc3Nvci5oCisrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wcm9j
ZXNzb3IuaApAQCAtOTEsNiArOTEsNyBAQAogI2RlZmluZSBBUk1fQ1BVX1BB
UlRfTkVPVkVSU0VfVjMgICAgMHhEODQKICNkZWZpbmUgQVJNX0NQVV9QQVJU
X0NPUlRFWF9YOTI1ICAgIDB4RDg1CiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9D
MV9VTFRSQSAgICAgICAweEQ4QworI2RlZmluZSBBUk1fQ1BVX1BBUlRfQzFf
UFJFTUlVTSAgICAgMHhEOTAKIAogI2RlZmluZSBNSURSX0NPUlRFWF9BMTIg
TUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRf
Q09SVEVYX0ExMikKICNkZWZpbmUgTUlEUl9DT1JURVhfQTE3IE1JRFJfQ1BV
X01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9B
MTcpCkBAIC0xMjIsNiArMTIzLDcgQEAKICNkZWZpbmUgTUlEUl9ORU9WRVJT
RV9WMyBNSURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVf
UEFSVF9ORU9WRVJTRV9WMykKICNkZWZpbmUgTUlEUl9DT1JURVhfWDkyNSBN
SURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9D
T1JURVhfWDkyNSkKICNkZWZpbmUgTUlEUl9DMV9VTFRSQSBNSURSX0NQVV9N
T0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9DMV9VTFRSQSkK
KyNkZWZpbmUgTUlEUl9DMV9QUkVNSVVNIE1JRFJfQ1BVX01PREVMKEFSTV9D
UFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0MxX1BSRU1JVU0pCiAKIC8qIE1Q
SURSIE11bHRpcHJvY2Vzc29yIEFmZmluaXR5IFJlZ2lzdGVyICovCiAjZGVm
aW5lIF9NUElEUl9VUCAgICAgICAgICAgKDMwKQo=

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.18-05.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.18-05.patch"
Content-Transfer-Encoding: base64

RnJvbSBlZWQyYmJiNGU0NDBmMjczNTJkZmFiZDNmMTRkY2I3MTM1ZDNjYWFj
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU4ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IE1pdGlnYXRlIFRM
QkkgZXJyYXRhIG9uIHZhcmlvdXMgQXJtIENQVXMKCkEgbnVtYmVyIG9mIENQ
VXMgZGV2ZWxvcGVkIGJ5IEFybSBzdWZmZXIgZnJvbSBlcnJhdGEgd2hlcmVi
eSBhIGJyb2FkY2FzdApUTEJJICsgRFNCIHNlcXVlbmNlIG1heSBjb21wbGV0
ZSBiZWZvcmUgdGhlIGdsb2JhbCBvYnNlcnZhdGlvbiBvZiB3cml0ZXMKd2hp
Y2ggYXJlIHRyYW5zbGF0ZWQgYnkgYW4gYWZmZWN0ZWQgVExCIGVudHJ5LiBU
aGlzIGNhbiBsZWFkIHRvIG1lbW9yeQpjb3JydXB0aW9uIGFuZCBwb3RlbnRp
YWwgcHJpdmlsZWdlIGVzY2FsYXRpb24uCgpUaGVzZSBlcnJhdGEgT05MWSBh
ZmZlY3QgdGhlIGNvbXBsZXRpb24gb2YgbWVtb3J5IGFjY2Vzc2VzIHdoaWNo
IGhhdmUKYmVlbiB0cmFuc2xhdGVkIGJ5IGFuIGludmFsaWRhdGVkIFRMQiBl
bnRyeSwgYW5kIHRoZXNlIGVycmF0YSBETyBOT1QKYWZmZWN0IHRoZSBhY3R1
YWwgaW52YWxpZGF0aW9uIG9mIFRMQiBlbnRyaWVzLiBUTEIgZW50cmllcyBh
cmUgcmVtb3ZlZApjb3JyZWN0bHkuCgpUbyBtaXRpZ2F0ZSB0aGlzIGlzc3Vl
LCBBcm0gcmVjb21tZW5kcyB0aGF0IHNvZnR3YXJlIGZvbGxvd3MgZWFjaApU
TEJJK0RTQiBzZXF1ZW5jZSB3aXRoIGFuIGFkZGl0aW9uYWwgVExCSStEU0Is
IHdoaWNoIHdpbGwgZW5zdXJlIHRoYXQKYWxsIG1lbW9yeSB3cml0ZSBlZmZl
Y3RzIGFmZmVjdGVkIGJ5IHRoZSBmaXJzdCBUTEJJIGhhdmUgYmVlbiBnbG9i
YWxseQpvYnNlcnZlZC4KClRoZSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9U
TEJJIHdvcmthcm91bmQgaXMgc3VmZmljaWVudCB0byBtaXRpZ2F0ZSB0aGUK
aXNzdWUuIEVuYWJsZSB0aGlzIHdvcmthcm91bmQgZm9yIGFmZmVjdGVkIENQ
VXMuCgpUaGlzIGlzIFhTQS00OTMgLyBDVkUtMjAyNS0xMDI2My4KClNpZ25l
ZC1vZmYtYnk6IE1pY2hhbCBPcnplbCA8bWljaGFsLm9yemVsQGFtZC5jb20+
ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPgoK
ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9LY29uZmlnIGIveGVuL2FyY2gv
YXJtL0tjb25maWcKaW5kZXggMjkzOWRiNDI5Yjc4Li4zZWRkYzljMWU2YmMg
MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9LY29uZmlnCisrKyBiL3hlbi9h
cmNoL2FybS9LY29uZmlnCkBAIC0zODMsNiArMzgzLDI3IEBAIGNvbmZpZyBB
Uk02NF9FUlJBVFVNXzE1MDg0MTIKIAogCSAgSWYgdW5zdXJlLCBzYXkgWS4K
IAorY29uZmlnIEFSTTY0X0VSUkFUVU1fQ1ZFXzIwMjVfMTAyNjMKKwlib29s
ICJDb3J0ZXgtKi9OZW92ZXJzZS0qL0MxLSo6IENvbXBsZXRpb24gb2YgYWZm
ZWN0ZWQgbWVtb3J5IGFjY2Vzc2VzIG1pZ2h0IG5vdCBiZSBndWFyYW50ZWVk
IGJ5IGNvbXBsZXRpb24gb2YgYSBUTEJJIgorCWRlZmF1bHQgeQorCWRlcGVu
ZHMgb24gQVJNXzY0CisJc2VsZWN0IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFU
X1RMQkkKKwloZWxwCisJICBUaGlzIG9wdGlvbiBhZGRzIGEgd29ya2Fyb3Vu
ZCBmb3IgQ1ZFLTIwMjUtMTAyNjMuCisKKwkgIEEgYnJvYWRjYXN0IFRMQkkg
b24gYW5vdGhlciBQRSBtYXkgY29tcGxldGUgYmVmb3JlIGFmZmVjdGVkIG1l
bW9yeQorCSAgYWNjZXNzZXMgYXJlIGdsb2JhbGx5IG9ic2VydmVkLiBUaGlz
IG1heSBwZXJtaXQgYnlwYXNzIG9mIFN0YWdlIDEKKwkgIHRyYW5zbGF0aW9u
LCBTdGFnZS0yIHRyYW5zbGF0aW9uLCBvciBHUFQgcHJvdGVjdGlvbi4KKwor
CSAgVGhlIHdvcmthcm91bmQgcmVwZWF0cyB0aGUgVExCSSBWQUxFMklTLCBY
WlIgKyBEU0IgSVNIIG9wZXJhdGlvbiBmb3IgYWxsCisJICB0aGUgYnJvYWRj
YXN0IFRMQiBmbHVzaCBvcGVyYXRpb25zLiBBIHNpbmdsZSBhZGRpdGlvbmFs
IFRMQkkgYW5kIERTQiBhcmUKKwkgIHN1ZmZpY2llbnQgcmVnYXJkbGVzcyBv
ZiBob3cgbWFueSBUTEJJcyBhcmUgY29tcGxldGVkIGJ5IHRoZSBEU0IuCisK
KwkgIE5vdGUgdGhhdCBzb2Z0d2FyZSB3b3JrYXJvdW5kcyBhcmUgcmVxdWly
ZWQgYXQgYWxsIGV4ZWN1dGlvbiBsZXZlbHMgZm9yCisJICBhZmZlY3RlZCBw
YXJ0cyB0byBmdWxseSBtaXRpZ2F0ZSB0aGlzIGlzc3VlLgorCisJICBJZiB1
bnN1cmUsIHNheSBZLgorCiBlbmRtZW51CiAKIGNvbmZpZyBBUk02NF9IQVJE
RU5fQlJBTkNIX1BSRURJQ1RPUgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJt
L2NwdWVycmF0YS5jIGIveGVuL2FyY2gvYXJtL2NwdWVycmF0YS5jCmluZGV4
IDkxMzc5NThmYjY4Mi4uOTk1MTdiNTI5OGNmIDEwMDY0NAotLS0gYS94ZW4v
YXJjaC9hcm0vY3B1ZXJyYXRhLmMKKysrIGIveGVuL2FyY2gvYXJtL2NwdWVy
cmF0YS5jCkBAIC01MzYsNiArNTM2LDkyIEBAIHN0YXRpYyBjb25zdCBzdHJ1
Y3QgYXJtX2NwdV9jYXBhYmlsaXRpZXMgYXJtX2VycmF0YVtdID0gewogICAg
ICAgICBNSURSX1JBTkdFKE1JRFJfTkVPVkVSU0VfTjEsIDAsIDMgPDwgTUlE
Ul9WQVJJQU5UX1NISUZUKSwKICAgICB9LAogI2VuZGlmCisjaWZkZWYgQ09O
RklHX0FSTTY0X0VSUkFUVU1fQ1ZFXzIwMjVfMTAyNjMKKyAgICB7CisgICAg
ICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9SRVBFQVRfVExC
SSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9DT1JURVhfQTc2
KSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02
NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9W
RVJTSU9OUyhNSURSX0NPUlRFWF9BNzZBRSksCisgICAgfSwKKyAgICB7Cisg
ICAgICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9SRVBFQVRf
VExCSSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9DT1JURVhf
QTc3KSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBB
Uk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FM
TF9WRVJTSU9OUyhNSURSX0NPUlRFWF9BNzgpLAorICAgIH0sCisgICAgewor
ICAgICAgICAuY2FwYWJpbGl0eSA9IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFU
X1RMQkksCisgICAgICAgIE1JRFJfQUxMX1ZFUlNJT05TKE1JRFJfQ09SVEVY
X0E3OEFFKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkg
PSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURS
X0FMTF9WRVJTSU9OUyhNSURSX0NPUlRFWF9BNzhDKSwKKyAgICB9LAorICAg
IHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JF
UEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX0NP
UlRFWF9BNzEwKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxp
dHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBN
SURSX0FMTF9WRVJTSU9OUyhNSURSX0NPUlRFWF9YMSksCisgICAgfSwKKyAg
ICB7CisgICAgICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9S
RVBFQVRfVExCSSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9D
T1JURVhfWDFDKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxp
dHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBN
SURSX0FMTF9WRVJTSU9OUyhNSURSX0NPUlRFWF9YMiksCisgICAgfSwKKyAg
ICB7CisgICAgICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9S
RVBFQVRfVExCSSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9D
T1JURVhfWDMpLAorICAgIH0sCisgICAgeworICAgICAgICAuY2FwYWJpbGl0
eSA9IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkksCisgICAgICAgIE1J
RFJfQUxMX1ZFUlNJT05TKE1JRFJfQ09SVEVYX1g0KSwKKyAgICB9LAorICAg
IHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JF
UEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX0NP
UlRFWF9YOTI1KSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxp
dHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBN
SURSX0FMTF9WRVJTSU9OUyhNSURSX05FT1ZFUlNFX04xKSwKKyAgICB9LAor
ICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5E
X1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURS
X05FT1ZFUlNFX04yKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFi
aWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAg
ICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX05FT1ZFUlNFX1YxKSwKKyAgICB9
LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJP
VU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhN
SURSX05FT1ZFUlNFX1YyKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNh
cGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAg
ICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX05FT1ZFUlNFX1YzKSwKKyAg
ICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JL
QVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9O
UyhNSURSX05FT1ZFUlNFX1YzQUUpLAorICAgIH0sCisgICAgeworICAgICAg
ICAuY2FwYWJpbGl0eSA9IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkks
CisgICAgICAgIE1JRFJfQUxMX1ZFUlNJT05TKE1JRFJfQzFfVUxUUkEpLAor
ICAgIH0sCisgICAgeworICAgICAgICAuY2FwYWJpbGl0eSA9IEFSTTY0X1dP
UktBUk9VTkRfUkVQRUFUX1RMQkksCisgICAgICAgIE1JRFJfQUxMX1ZFUlNJ
T05TKE1JRFJfQzFfUFJFTUlVTSksCisgICAgfSwKKyNlbmRpZgogI2lmZGVm
IENPTkZJR19BUk02NF9IQVJERU5fQlJBTkNIX1BSRURJQ1RPUgogICAgIHsK
ICAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk1fSEFSREVOX0JSQU5DSF9QUkVE
SUNUT1IsCg==

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.19-01.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.19-01.patch"
Content-Transfer-Encoding: base64

RnJvbSAxZWZhMDliYTc2NWI5MGEwZjJmM2Y4MDYzY2MwYmUyMzE2Y2FkYTBk
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBUdWUsIDE0IEFwciAyMDI2
IDEwOjExOjI0ICswMjAwClN1YmplY3Q6IHhlbi9hcm02NDogZmx1c2h0bGI6
IE9wdGltaXplIEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkkKClRoZSBB
Uk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJIHdvcmthcm91bmQgaXMgdXNl
ZCB0byBtaXRpZ2F0ZSBzZXZlcmFsCmVycmF0YSB3aGVyZSBicm9hZGNhc3Qg
VExCSTtEU0Igc2VxdWVuY2VzIGRvbid0IHByb3ZpZGUgYWxsIHRoZQphcmNo
aXRlY3R1cmFsbHkgcmVxdWlyZWQgc3luY2hyb25pemF0aW9uLiBUaGUgd29y
a2Fyb3VuZCBwZXJmb3JtcyBtb3JlCndvcmsgdGhhbiBuZWNlc3NhcnksIGFu
ZCBjYW4gaGF2ZSBzaWduaWZpY2FudCBvdmVyaGVhZC4gVGhpcyBwYXRjaApv
cHRpbWl6ZXMgdGhlIHdvcmthcm91bmQsIGFzIGV4cGxhaW5lZCBiZWxvdy4K
CjEuIEFsbCByZWxldmFudCBlcnJhdGEgb25seSBhZmZlY3QgdGhlIG9yZGVy
aW5nIGFuZC9vciBjb21wbGV0aW9uIG9mCiAgIG1lbW9yeSBhY2Nlc3NlcyB3
aGljaCBoYXZlIGJlZW4gdHJhbnNsYXRlZCBieSBhbiBpbnZhbGlkYXRlZCBU
TEIKICAgZW50cnkuIFRoZSBhY3R1YWwgaW52YWxpZGF0aW9uIG9mIFRMQiBl
bnRyaWVzIGlzIHVuYWZmZWN0ZWQuCgoyLiBUaGUgZXhpc3Rpbmcgd29ya2Fy
b3VuZCBpcyBhcHBsaWVkIHRvIGJvdGggYnJvYWRjYXN0IGFuZCBsb2NhbCBU
TEIKICAgaW52YWxpZGF0aW9uLCB3aGVyZWFzIGZvciBhbGwgcmVsZXZhbnQg
ZXJyYXRhIGl0IGlzIG9ubHkgbmVjZXNzYXJ5IHRvCiAgIGFwcGx5IGEgd29y
a2Fyb3VuZCBmb3IgYnJvYWRjYXN0IGludmFsaWRhdGlvbi4KCjMuIFRoZSBl
eGlzdGluZyB3b3JrYXJvdW5kIHJlcGxhY2VzIGV2ZXJ5IFRMQkkgd2l0aCBh
IFRMQkk7RFNCO1RMQkkKICAgc2VxdWVuY2UsIHdoZXJlYXMgZm9yIGFsbCBy
ZWxldmFudCBlcnJhdGEgaXQgaXMgb25seSBuZWNlc3NhcnkgdG8KICAgZXhl
Y3V0ZSBhIHNpbmdsZSBhZGRpdGlvbmFsIFRMQkk7RFNCIHNlcXVlbmNlIGFm
dGVyIGFueSBudW1iZXIgb2YKICAgVExCSXMgYXJlIGNvbXBsZXRlZCBieSBh
IERTQi4KCiAgIEZvciBleGFtcGxlLCBmb3IgYSBzZXF1ZW5jZSBvZiBiYXRj
aGVkIFRMQklzOgoKICAgICAgIFRMQkkgPG9wMT5bLCA8YXJnMT5dCiAgICAg
ICBUTEJJIDxvcDI+WywgPGFyZzI+XQogICAgICAgVExCSSA8b3AzPlssIDxh
cmczPl0KICAgICAgIERTQiBJU0gKCiAgIC4uLiB0aGUgZXhpc3Rpbmcgd29y
a2Fyb3VuZCB3aWxsIGV4cGFuZCB0aGlzIHRvOgoKICAgICAgIFRMQkkgPG9w
MT5bLCA8YXJnMT5dCiAgICAgICBEU0IgSVNIICAgICAgICAgICAgICAgICAg
Ly8gYWRkaXRpb25hbAogICAgICAgVExCSSA8b3AxPlssIDxhcmcxPl0gICAg
IC8vIGFkZGl0aW9uYWwKICAgICAgIFRMQkkgPG9wMj5bLCA8YXJnMj5dCiAg
ICAgICBEU0IgSVNIICAgICAgICAgICAgICAgICAgLy8gYWRkaXRpb25hbAog
ICAgICAgVExCSSA8b3AyPlssIDxhcmcyPl0gICAgIC8vIGFkZGl0aW9uYWwK
ICAgICAgIFRMQkkgPG9wMz5bLCA8YXJnMz5dCiAgICAgICBEU0IgSVNIICAg
ICAgICAgICAgICAgICAgLy8gYWRkaXRpb25hbAogICAgICAgVExCSSA8b3Az
PlssIDxhcmczPl0gICAgIC8vIGFkZGl0aW9uYWwKICAgICAgIERTQiBJU0gK
CiAgIC4uLiB3aGVyZWFzIGl0IGlzIHN1ZmZpY2llbnQgdG8gaGF2ZToKCiAg
ICAgICBUTEJJIDxvcDE+WywgPGFyZzE+XQogICAgICAgVExCSSA8b3AyPlss
IDxhcmcyPl0KICAgICAgIFRMQkkgPG9wMz5bLCA8YXJnMz5dCiAgICAgICBE
U0IgSVNICiAgICAgICBUTEJJIDxvcFg+WywgPGFyZ1g+XSAgICAgLy8gYWRk
aXRpb25hbAogICAgICAgRFNCIElTSCAgICAgICAgICAgICAgICAgIC8vIGFk
ZGl0aW9uYWwKCiAgIFVzaW5nIGEgc2luZ2xlIGFkZGl0aW9uYWwgVExCSSBh
bmQgRFNCIGF0IHRoZSBlbmQgb2YgdGhlIHNlcXVlbmNlIGNhbgogICBoYXZl
IHNpZ25pZmljYW50bHkgbG93ZXIgb3ZlcmhlYWQgYXMgZWFjaCBEU0Igd2hp
Y2ggY29tcGxldGVzIGEgVExCSQogICBtdXN0IHN5bmNocm9uaXplIHdpdGgg
b3RoZXIgUEVzIGluIHRoZSBzeXN0ZW0sIHdpdGggcG90ZW50aWFsCiAgIHBl
cmZvcm1hbmNlIGVmZmVjdHMgYm90aCBsb2NhbGx5IGFuZCBzeXN0ZW0td2lk
ZS4KCjQuIFRoZSBleGlzdGluZyB3b3JrYXJvdW5kIHJlcGVhdHMgZWFjaCBz
cGVjaWZpYyBUTEJJIG9wZXJhdGlvbiwgd2hlcmVhcwogICBmb3IgYWxsIHJl
bGV2YW50IGVycmF0YSBpdCBpcyBzdWZmaWNpZW50IGZvciB0aGUgYWRkaXRp
b25hbCBUTEJJIHRvCiAgIHVzZSAqYW55KiBvcGVyYXRpb24gd2hpY2ggd2ls
bCBiZSBicm9hZGNhc3QsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gKICAgdHJhbnNs
YXRpb24gcmVnaW1lIG9yIHN0YWdlIG9mIHRyYW5zbGF0aW9uIHRoZSBvcGVy
YXRpb24gYXBwbGllcyB0by4KCiAgIEZvciBleGFtcGxlLCBmb3IgYSBzaW5n
bGUgVExCSToKCiAgICAgICBUTEJJIEFMTEUySVMKICAgICAgIERTQiBJU0gK
CiAgIC4uLiB0aGUgZXhpc3Rpbmcgd29ya2Fyb3VuZCB3aWxsIGV4cGFuZCB0
aGlzIHRvOgoKICAgICAgIFRMQkkgQUxMRTJJUwogICAgICAgRFNCIElTSAog
ICAgICAgVExCSSBBTExFMklTICAgICAgICAgICAgIC8vIGFkZGl0aW9uYWwK
ICAgICAgIERTQiBJU0ggICAgICAgICAgICAgICAgICAvLyBhZGRpdGlvbmFs
CgogICAuLi4gd2hlcmVhcyBpdCBpcyBzdWZmaWNpZW50IHRvIGhhdmU6Cgog
ICAgICAgVExCSSBBTExFMklTCiAgICAgICBEU0IgSVNICiAgICAgICBUTEJJ
IFZBTEUxSVMsIFhaUiAgICAgICAgLy8gYWRkaXRpb25hbAogICAgICAgRFNC
IElTSCAgICAgICAgICAgICAgICAgIC8vIGFkZGl0aW9uYWwKCiAgIEFzIHRo
ZSBhZGRpdGlvbmFsIFRMQkkgZG9lc24ndCBoYXZlIHRvIG1hdGNoIGEgc3Bl
Y2lmaWMgZWFybGllciBUTEJJLAogICB0aGUgYWRkaXRpb25hbCBUTEJJIGNh
biBiZSBpbXBsZW1lbnRlZCBpbiBzZXBhcmF0ZSBjb2RlLCB3aXRoIG5vCiAg
IG1lbW9yeSBvZiB0aGUgZWFybGllciBUTEJJcy4gVGhlIGFkZGl0aW9uYWwg
VExCSSBjYW4gYWxzbyB1c2UgYQogICBjaGVhcGVyIFRMQkkgb3BlcmF0aW9u
LgoKNS4gVGhlIGV4aXN0aW5nIHdvcmthcm91bmQgaXMgYXBwbGllZCB0byBi
b3RoIFN0YWdlLTEgYW5kIFN0YWdlLTIgVExCCiAgIGludmFsaWRhdGlvbiwg
d2hlcmVhcyBmb3IgYWxsIHJlbGV2YW50IGVycmF0YSBpdCBpcyBvbmx5IG5l
Y2Vzc2FyeSB0bwogICBhcHBseSBhIHdvcmthcm91bmQgZm9yIFN0YWdlLTEg
aW52YWxpZGF0aW9uLgoKICAgQXJjaGl0ZWN0dXJhbGx5LCBUTEJJIG9wZXJh
dGlvbnMgd2hpY2ggaW52YWxpZGF0ZSBvbmx5IFN0YWdlLTIKICAgaW5mb3Jt
YXRpb24gKGUuZy4gSVBBUzJFMUlTKSBhcmUgbm90IHJlcXVpcmVkIHRvIGlu
dmFsaWRhdGUgVExCCiAgIGVudHJpZXMgd2hpY2ggY29tYmluZSBpbmZvcm1h
dGlvbiBmcm9tIFN0YWdlLTEgYW5kIFN0YWdlLTIKICAgdHJhbnNsYXRpb24g
dGFibGUgZW50cmllcywgYW5kIGNvbnNlcXVlbnRseSBtYXkgbm90IGNvbXBs
ZXRlIG1lbW9yeQogICBhY2Nlc3NlcyB0cmFuc2xhdGVkIGJ5IHRob3NlIGNv
bWJpbmVkIGVudHJpZXMuIEluIHRoZXNlIGNhc2VzLAogICBjb21wbGV0aW9u
IG9mIG1lbW9yeSBhY2Nlc3NlcyBpcyBvbmx5IGd1YXJhbnRlZWQgYWZ0ZXIg
c3Vic2VxdWVudAogICBpbnZhbGlkYXRpb24gb2YgU3RhZ2UtMSBpbmZvcm1h
dGlvbiAoZS5nLiBWTUFMTEUxSVMpLgoKUmV3b3JrIHRoZSB3b3JrYXJvdW5k
IGxvZ2ljIGFzIGZvbGxvd3M6CiAtIGFkZCBUTEJfSEVMUEVSX0xPQ0FMKCkg
dG8gYmUgdXNlZCBmb3IgbG9jYWwgVExCIG9wcyB3aXRob3V0IGEKICAgd29y
a2Fyb3VuZCwKIC0gbW9kaWZ5IFRMQl9IRUxQRVIoKSB3b3JrYXJvdW5kIHRv
IHVzZSB0bGJpIHZhbGUyaXMsIHh6ciBhcyBhIHNlY29uZAogICBUTEJJLAog
LSBkcm9wIFRMQl9IRUxQRVJfVkEoKS4gSXQncyB1c2VkIG9ubHkgYnkgX19m
bHVzaF94ZW5fdGxiX29uZV9sb2NhbAogICB3aGljaCBpcyBsb2NhbCBhbmQg
ZG9lcyBub3QgbmVlZCB3b3JrYXJvdW5kIGFuZCBieQogICBfX2ZsdXNoX3hl
bl90bGJfb25lLiBJbiB0aGUgbGF0dGVyIGNhc2UsIHNpbmNlIGl0J3MgdXNl
ZCBpbiBhIGxvb3AsCiAgIHdlIGRvbid0IG5lZWQgYSB3b3JrYXJvdW5kIGlu
IHRoZSBtaWRkbGUuIEFkZCBfX3RsYl9yZXBlYXRfc3luYyB3aXRoCiAgIGEg
d29ya2Fyb3VuZCB0byBiZSB1c2VkIGF0IHRoZSBlbmQgYWZ0ZXIgRFNCIGFu
ZCBiZWZvcmUgZmluYWwgSVNCLAogLSBUTEJJIFZBTEUySVMgcGFzc2luZyBY
WlIgaXMgdXNlZCBhcyBhbiBhZGRpdGlvbmFsIFRMQkkuIFdoaWxlIHRoZXJl
IGlzCiAgIGFuIGlkZW50aXR5IG1hcHBpbmcgdGhlcmUsIGl0J3MgdXNlZCB2
ZXJ5IHJhcmVseS4gVGhlIHBlcmZvcm1hbmNlCiAgIGltcGFjdCBpcyB0aGVy
ZWZvcmUgbmVnbGlnaWJsZS4gSWYgdGhpbmdzIGNoYW5nZSBpbiB0aGUgZnV0
dXJlLCB3ZQogICBjYW4gcmV2aXNpdCB0aGUgZGVjaXNpb24uCgpTaWduZWQt
b2ZmLWJ5OiBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnplbEBhbWQuY29tPgpS
ZXZpZXdlZC1ieTogTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5jZWxsdUBhcm0u
Y29tPgpSZXZpZXdlZC1ieTogSnVsaWVuIEdyYWxsIDxqZ3JhbGxAYW1hem9u
LmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgN2M1MDJkNzU5MTUx
OTEzNTc2NWI4MDQxY2JkMWM3MGU1NmU1YTBiOSkKCmRpZmYgLS1naXQgYS94
ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtMzIvZmx1c2h0bGIuaCBiL3hl
bi9hcmNoL2FybS9pbmNsdWRlL2FzbS9hcm0zMi9mbHVzaHRsYi5oCmluZGV4
IDYxYzI1YTMxODk5OC4uNTQ4M2JlMDhmYmJlIDEwMDY0NAotLS0gYS94ZW4v
YXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtMzIvZmx1c2h0bGIuaAorKysgYi94
ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtMzIvZmx1c2h0bGIuaApAQCAt
NTcsNiArNTcsOSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgX19mbHVzaF94ZW5f
dGxiX29uZSh2YWRkcl90IHZhKQogICAgIGFzbSB2b2xhdGlsZShTVE9SRV9D
UDMyKDAsIFRMQklNVkFISVMpIDogOiAiciIgKHZhKSA6ICJtZW1vcnkiKTsK
IH0KIAorLyogT25seSBmb3IgQVJNNjRfV09SS0FST1VORF9SRVBFQVRfVExC
SSAqLworc3RhdGljIGlubGluZSB2b2lkIF9fdGxiX3JlcGVhdF9zeW5jKHZv
aWQpIHt9CisKICNlbmRpZiAvKiBfX0FTTV9BUk1fQVJNMzJfRkxVU0hUTEJf
SF9fICovCiAvKgogICogTG9jYWwgdmFyaWFibGVzOgpkaWZmIC0tZ2l0IGEv
eGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FybTY0L2ZsdXNodGxiLmggYi94
ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtNjQvZmx1c2h0bGIuaAppbmRl
eCA0NTY0MjIwMWQxNDcuLmMxMzE0YmUxMjJkNyAxMDA2NDQKLS0tIGEveGVu
L2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FybTY0L2ZsdXNodGxiLmgKKysrIGIv
eGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FybTY0L2ZsdXNodGxiLmgKQEAg
LTEyLDkgKzEyLDE0IEBACiAgKiBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9U
TEJJOgogICogTW9kaWZpY2F0aW9uIG9mIHRoZSB0cmFuc2xhdGlvbiB0YWJs
ZSBmb3IgYSB2aXJ0dWFsIGFkZHJlc3MgbWlnaHQgbGVhZCB0bwogICogcmVh
ZC1hZnRlci1yZWFkIG9yZGVyaW5nIHZpb2xhdGlvbi4KLSAqIFRoZSB3b3Jr
YXJvdW5kIHJlcGVhdHMgVExCSStEU0IgSVNIIG9wZXJhdGlvbiBmb3IgYWxs
IHRoZSBUTEIgZmx1c2gKLSAqIG9wZXJhdGlvbnMuIFdoaWxlIHRoaXMgaXMg
c3RyaWN0bHkgbm90IG5lY2Vzc2FyeSwgd2UgZG9uJ3Qgd2FudCB0bwotICog
dGFrZSBhbnkgcmlzay4KKyAqIFRoZSB3b3JrYXJvdW5kIHJlcGVhdHMgVExC
SStEU0IgSVNIIG9wZXJhdGlvbiBmb3IgYnJvYWRjYXN0IFRMQiBmbHVzaAor
ICogb3BlcmF0aW9ucy4gVGhlIHdvcmthcm91bmQgaXMgbm90IG5lZWRlZCBm
b3IgbG9jYWwgb3BlcmF0aW9ucy4KKyAqCisgKiBJdCBpcyBzdWZmaWNpZW50
IGZvciB0aGUgYWRkaXRpb25hbCBUTEJJIHRvIHVzZSAqYW55KiBvcGVyYXRp
b24gd2hpY2ggd2lsbAorICogYmUgYnJvYWRjYXN0LCByZWdhcmRsZXNzIG9m
IHdoaWNoIHRyYW5zbGF0aW9uIHJlZ2ltZSBvciBzdGFnZSBvZiB0cmFuc2xh
dGlvbgorICogdGhlIG9wZXJhdGlvbiBhcHBsaWVzIHRvLiBUTEJJIFZBTEUy
SVMgaXMgdXNlZCBwYXNzaW5nIFhaUi4gV2hpbGUgdGhlcmUgaXMKKyAqIGFu
IGlkZW50aXR5IG1hcHBpbmcgdGhlcmUsIGl0J3Mgb25seSB1c2VkIGR1cmlu
ZyBzdXNwZW5kL3Jlc3VtZSwgQ1BVIG9uL29mZiwKKyAqIHNvIHRoZSBpbXBh
Y3QgKHBlcmZvcm1hbmNlIGlmIGFueSkgaXMgbmVnbGlnaWJsZS4KICAqCiAg
KiBGb3IgWGVuIHBhZ2UtdGFibGVzIHRoZSBJU0Igd2lsbCBkaXNjYXJkIGFu
eSBpbnN0cnVjdGlvbnMgZmV0Y2hlZAogICogZnJvbSB0aGUgb2xkIG1hcHBp
bmdzLgpAQCAtMjYsNjkgKzMxLDkwIEBACiAgKiBOb3RlIHRoYXQgZm9yIGxv
Y2FsIFRMQiBmbHVzaCwgdXNpbmcgbm9uLXNoYXJlYWJsZSAobnNoKSBpcyBz
dWZmaWNpZW50CiAgKiAoc2VlIEQ1LTQ5MjkgaW4gQVJNIERESSAwNDg3SC5h
KS4gQWx0aG91Z2gsIHRoZSBtZW1vcnkgYmFycmllciBpbgogICogZm9yIHRo
ZSB3b3JrYXJvdW5kIGlzIGxlZnQgYXMgaW5uZXItc2hhcmVhYmxlIHRvIG1h
dGNoIHdpdGggTGludXgKLSAqIHY2LjEtcmM4LgorICogdjYuMTkuCiAgKi8K
LSNkZWZpbmUgVExCX0hFTFBFUihuYW1lLCB0bGJvcCwgc2gpICAgICAgICAg
ICAgICBcCisjZGVmaW5lIFRMQl9IRUxQRVJfTE9DQUwobmFtZSwgdGxib3Ap
ICAgICAgICAgICAgXAogc3RhdGljIGlubGluZSB2b2lkIG5hbWUodm9pZCkg
ICAgICAgICAgICAgICAgICAgIFwKIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgYXNtIHZvbGF0aWxl
KCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAi
ZHNiICAiICAjIHNoICAic3Q7IiAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICAgICAgImRzYiAgbnNoc3Q7IiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCiAgICAgICAgICJ0bGJpICIgICMgdGxib3AgICI7IiAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICBBTFRFUk5BVElWRSggICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICJub3A7IG5vcDsiLCAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAiZHNiICBp
c2g7IiAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
InRsYmkgIiAgIyB0bGJvcCAgIjsiLCAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgICAgIEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkksICAgICAgICBc
Ci0gICAgICAgICAgICBDT05GSUdfQVJNNjRfV09SS0FST1VORF9SRVBFQVRf
VExCSSkgXAotICAgICAgICAiZHNiICAiICAjIHNoICAiOyIgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICAgICAgImRzYiAgbnNoOyIgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICJpc2I7IiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICA6IDogOiAi
bWVtb3J5Iik7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKIH0KIAotLyoK
LSAqIEZMdXNoIFRMQiBieSBWQS4gVGhpcyB3aWxsIGxpa2VseSBiZSB1c2Vk
IGluIGEgbG9vcCwgc28gdGhlIGNhbGxlcgotICogaXMgcmVzcG9uc2libGUg
dG8gdXNlIHRoZSBhcHByb3ByaWF0ZSBtZW1vcnkgYmFycmllcnMgYmVmb3Jl
L2FmdGVyCi0gKiB0aGUgc2VxdWVuY2UuCi0gKgotICogU2VlIGFib3ZlIGFi
b3V0IHRoZSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJIHNlcXVlbmNl
LgotICovCi0jZGVmaW5lIFRMQl9IRUxQRVJfVkEobmFtZSwgdGxib3ApICAg
ICAgICAgICAgICAgXAotc3RhdGljIGlubGluZSB2b2lkIG5hbWUodmFkZHJf
dCB2YSkgICAgICAgICAgICAgIFwKLXsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgYXNtIHZvbGF0aWxl
KCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAi
dGxiaSAiICAjIHRsYm9wICAiLCAlMDsiICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgQUxURVJOQVRJVkUoICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICAibm9wOyBub3A7IiwgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICAgICAgImRzYiAgaXNoOyIgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICJ0bGJpICIgICMgdGxi
b3AgICIsICUwOyIsICAgICAgICAgICBcCi0gICAgICAgICAgICBBUk02NF9X
T1JLQVJPVU5EX1JFUEVBVF9UTEJJLCAgICAgICAgXAotICAgICAgICAgICAg
Q09ORklHX0FSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkkpIFwKLSAgICAg
ICAgOiA6ICJyIiAodmEgPj4gUEFHRV9TSElGVCkgOiAibWVtb3J5Iik7ICBc
CisjZGVmaW5lIFRMQl9IRUxQRVIobmFtZSwgdGxib3ApICAgICAgICAgICAg
ICAgICAgICAgICBcCitzdGF0aWMgaW5saW5lIHZvaWQgbmFtZSh2b2lkKSAg
ICAgICAgICAgICAgICAgICAgICAgICBcCit7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYXNt
IHZvbGF0aWxlICggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICAgICJkc2IgIGlzaHN0OyIgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgICAgICJ0bGJpICIgICMgdGxib3AgICI7
IiAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIEFMVEVSTkFU
SVZFKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ICAgICAgICAibm9wOyBub3A7IiwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICAgICAgICAiZHNiICBpc2g7IiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAidGxiaSB2YWxlMmlz
LCB4enI7IiwgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBB
Uk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLCAgICAgICAgICAgICBcCisg
ICAgICAgICAgICBDT05GSUdfQVJNNjRfV09SS0FST1VORF9SRVBFQVRfVExC
SSkgICAgICBcCisgICAgICAgICJkc2IgIGlzaDsiICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICJpc2I7IiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIDog
OiA6ICJtZW1vcnkiKTsgXAogfQogCiAvKiBGbHVzaCBsb2NhbCBUTEJzLCBj
dXJyZW50IFZNSUQgb25seS4gKi8KLVRMQl9IRUxQRVIoZmx1c2hfZ3Vlc3Rf
dGxiX2xvY2FsLCB2bWFsbHMxMmUxLCBuc2gpCitUTEJfSEVMUEVSX0xPQ0FM
KGZsdXNoX2d1ZXN0X3RsYl9sb2NhbCwgdm1hbGxzMTJlMSkKIAogLyogRmx1
c2ggaW5uZXJzaGFyZWFibGUgVExCcywgY3VycmVudCBWTUlEIG9ubHkgKi8K
LVRMQl9IRUxQRVIoZmx1c2hfZ3Vlc3RfdGxiLCB2bWFsbHMxMmUxaXMsIGlz
aCkKK1RMQl9IRUxQRVIoZmx1c2hfZ3Vlc3RfdGxiLCB2bWFsbHMxMmUxaXMp
CiAKIC8qIEZsdXNoIGxvY2FsIFRMQnMsIGFsbCBWTUlEcywgbm9uLWh5cGVy
dmlzb3IgbW9kZSAqLwotVExCX0hFTFBFUihmbHVzaF9hbGxfZ3Vlc3RzX3Rs
Yl9sb2NhbCwgYWxsZTEsIG5zaCkKK1RMQl9IRUxQRVJfTE9DQUwoZmx1c2hf
YWxsX2d1ZXN0c190bGJfbG9jYWwsIGFsbGUxKQogCiAvKiBGbHVzaCBpbm5l
cnNoYXJlYWJsZSBUTEJzLCBhbGwgVk1JRHMsIG5vbi1oeXBlcnZpc29yIG1v
ZGUgKi8KLVRMQl9IRUxQRVIoZmx1c2hfYWxsX2d1ZXN0c190bGIsIGFsbGUx
aXMsIGlzaCkKK1RMQl9IRUxQRVIoZmx1c2hfYWxsX2d1ZXN0c190bGIsIGFs
bGUxaXMpCiAKIC8qIEZsdXNoIGFsbCBoeXBlcnZpc29yIG1hcHBpbmdzIGZy
b20gdGhlIFRMQiBvZiB0aGUgbG9jYWwgcHJvY2Vzc29yLiAqLwotVExCX0hF
TFBFUihmbHVzaF94ZW5fdGxiX2xvY2FsLCBhbGxlMiwgbnNoKQorVExCX0hF
TFBFUl9MT0NBTChmbHVzaF94ZW5fdGxiX2xvY2FsLCBhbGxlMikKKworI3Vu
ZGVmIFRMQl9IRUxQRVJfTE9DQUwKKyN1bmRlZiBUTEJfSEVMUEVSCisKKy8q
CisgKiBGTHVzaCBUTEIgYnkgVkEuIFRoaXMgd2lsbCBsaWtlbHkgYmUgdXNl
ZCBpbiBhIGxvb3AsIHNvIHRoZSBjYWxsZXIKKyAqIGlzIHJlc3BvbnNpYmxl
IHRvIHVzZSB0aGUgYXBwcm9wcmlhdGUgbWVtb3J5IGJhcnJpZXJzIGJlZm9y
ZS9hZnRlcgorICogdGhlIHNlcXVlbmNlLgorICovCiAKIC8qIEZsdXNoIFRM
QiBvZiBsb2NhbCBwcm9jZXNzb3IgZm9yIGFkZHJlc3MgdmEuICovCi1UTEJf
SEVMUEVSX1ZBKF9fZmx1c2hfeGVuX3RsYl9vbmVfbG9jYWwsIHZhZTIpCitz
dGF0aWMgaW5saW5lIHZvaWQgX19mbHVzaF94ZW5fdGxiX29uZV9sb2NhbCh2
YWRkcl90IHZhKQoreworICAgIGFzbSB2b2xhdGlsZSAoCisgICAgICAgICJ0
bGJpIHZhZTIsICUwIiA6IDogInIiICh2YSA+PiBQQUdFX1NISUZUKSA6ICJt
ZW1vcnkiKTsKK30KIAogLyogRmx1c2ggVExCIG9mIGFsbCBwcm9jZXNzb3Jz
IGluIHRoZSBpbm5lci1zaGFyZWFibGUgZG9tYWluIGZvciBhZGRyZXNzIHZh
LiAqLwotVExCX0hFTFBFUl9WQShfX2ZsdXNoX3hlbl90bGJfb25lLCB2YWUy
aXMpCitzdGF0aWMgaW5saW5lIHZvaWQgX19mbHVzaF94ZW5fdGxiX29uZSh2
YWRkcl90IHZhKQoreworICAgIGFzbSB2b2xhdGlsZSAoCisgICAgICAgICJ0
bGJpIHZhZTJpcywgJTAiIDogOiAiciIgKHZhID4+IFBBR0VfU0hJRlQpIDog
Im1lbW9yeSIpOworfQogCi0jdW5kZWYgVExCX0hFTFBFUgotI3VuZGVmIFRM
Ql9IRUxQRVJfVkEKKy8qCisgKiBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9U
TEJJOgorICogRm9yIGFsbCByZWxldmFudCBlcnJhdGFzIGl0IGlzIG9ubHkg
bmVjZXNzYXJ5IHRvIGV4ZWN1dGUgYSBzaW5nbGUKKyAqIGFkZGl0aW9uYWwg
VExCSTtEU0Igc2VxdWVuY2UgYWZ0ZXIgYW55IG51bWJlciBvZiBUTEJJcyBh
cmUgY29tcGxldGVkIGJ5IERTQi4KKyAqLworc3RhdGljIGlubGluZSB2b2lk
IF9fdGxiX3JlcGVhdF9zeW5jKHZvaWQpCit7CisgICAgYXNtIHZvbGF0aWxl
ICgKKyAgICAgICAgQUxURVJOQVRJVkUoCisgICAgICAgICAgICAibm9wOyBu
b3A7IiwKKyAgICAgICAgICAgICJ0bGJpIHZhbGUyaXMsIHh6cjsiCisgICAg
ICAgICAgICAiZHNiICBpc2g7IiwKKyAgICAgICAgICAgIEFSTTY0X1dPUktB
Uk9VTkRfUkVQRUFUX1RMQkksCisgICAgICAgICAgICBDT05GSUdfQVJNNjRf
V09SS0FST1VORF9SRVBFQVRfVExCSSkKKyAgICAgICAgOiA6IDogIm1lbW9y
eSIpOworfQogCiAjZW5kaWYgLyogX19BU01fQVJNX0FSTTY0X0ZMVVNIVExC
X0hfXyAqLwogLyoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9pbmNsdWRl
L2FzbS9mbHVzaHRsYi5oIGIveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2Zs
dXNodGxiLmgKaW5kZXggZTQ1ZmI2ZDk3YjAyLi5jMjkyYzNjMDBkMjkgMTAw
NjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9mbHVzaHRsYi5o
CisrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9mbHVzaHRsYi5oCkBA
IC02NSw2ICs2NSw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBmbHVzaF94ZW5f
dGxiX3JhbmdlX3ZhKHZhZGRyX3QgdmEsCiAgICAgICAgIHZhICs9IFBBR0Vf
U0laRTsKICAgICB9CiAgICAgZHNiKGlzaCk7IC8qIEVuc3VyZSB0aGUgVExC
IGludmFsaWRhdGlvbiBoYXMgY29tcGxldGVkICovCisgICAgX190bGJfcmVw
ZWF0X3N5bmMoKTsKICAgICBpc2IoKTsKIH0KIApkaWZmIC0tZ2l0IGEveGVu
L2FyY2gvYXJtL2luY2x1ZGUvYXNtL21tdS9sYXlvdXQuaCBiL3hlbi9hcmNo
L2FybS9pbmNsdWRlL2FzbS9tbXUvbGF5b3V0LmgKaW5kZXggYTNiNTQ2NDY1
YjVhLi43NDg0ODcyNWU5YTMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9p
bmNsdWRlL2FzbS9tbXUvbGF5b3V0LmgKKysrIGIveGVuL2FyY2gvYXJtL2lu
Y2x1ZGUvYXNtL21tdS9sYXlvdXQuaApAQCAtMjMsNiArMjMsMTAgQEAKICAq
CiAgKiAgUmVzZXJ2ZWQgdG8gaWRlbnRpdHkgbWFwIFhlbgogICoKKyAqICBO
b3RlOiBBcyBwYXJ0IG9mIEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkks
IFZBIDAgaXMgdXNlZCBmb3IgYW4gZXh0cmEKKyAqICBUTEJJIG9wZXJhdGlv
biBnaXZlbiBpdHMgcmFyZSB1c2UgKG9ubHkgaWRlbnRpdHkgbWFwcGluZykg
YW5kIHRodXMKKyAqICBuZWdsaWdpYmxlIHBlcmZvcm1hbmNlIGltcGFjdC4K
KyAqCiAgKiAweDAwMDAwYTAwMDAwMDAwMDAgLSAweDAwMDAwYTdmZmZmZmZm
ZmYgKDUxMkdCLCBMMCBzbG90IFsyMF0pCiAgKiAgKFJlbGF0aXZlIG9mZnNl
dHMpCiAgKiAgIDAgIC0gICAyTSAgIFVubWFwcGVkCg==

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.19-02.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.19-02.patch"
Content-Transfer-Encoding: base64

RnJvbSBiMTFjZGRlNDIyOWEwODcwYzA0YzY2YzE0NmI0ZWM5NzM0ZGVhNTEy
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU1ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IFN5bmMgbWlzc2lu
ZyBkZWZpbml0aW9ucyBmb3IgQXJtIENQVXMgd2l0aCBMaW51eAoKU3luY2hy
b25pemUgd2l0aCBMaW51eCBrZXJuZWwgNy4wIGRlZmluaXRpb25zIGZvciB0
aGUgZm9sbG93aW5nIENQVXM6CiAtIENvcnRleC1BNzZBRSwKIC0gQ29ydGV4
LUE3OEFFLAogLSBDb3J0ZXgtWDFDLAogLSBDb3J0ZXgtWDMsCiAtIE5lb3Zl
cnNlLVYyLAogLSBDb3J0ZXgtWDQsCiAtIE5lb3ZlcnNlLVYzQUUsCiAtIE5l
b3ZlcnNlLVYzLAogLSBDb3J0ZXgtWDkyNS4KClRoZXNlIHdpbGwgYmUgdXNl
ZCBmb3IgZXJyYXRhIGRldGVjdGlvbiBpbiBzdWJzZXF1ZW50IHBhdGNoZXMu
CgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnplbEBh
bWQuY29tPgpSZXZpZXdlZC1ieTogSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVu
Lm9yZz4KCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20v
cHJvY2Vzc29yLmggYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vcHJvY2Vz
c29yLmgKaW5kZXggMmNhMjY2MmMwMjQ4Li41ZmRhNjkzNDRjODkgMTAwNjQ0
Ci0tLSBhL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaAor
KysgYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vcHJvY2Vzc29yLmgKQEAg
LTc0LDEzICs3NCwyMiBAQAogI2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVY
X0E3NiAgICAgMHhEMEIKICNkZWZpbmUgQVJNX0NQVV9QQVJUX05FT1ZFUlNF
X04xICAgIDB4RDBDCiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTc3
ICAgICAweEQwRAorI2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E3NkFF
ICAgMHhEMEUKICNkZWZpbmUgQVJNX0NQVV9QQVJUX05FT1ZFUlNFX1YxICAg
IDB4RDQwCiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTc4ICAgICAw
eEQ0MQorI2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E3OEFFICAgMHhE
NDIKICNkZWZpbmUgQVJNX0NQVV9QQVJUX0NPUlRFWF9YMSAgICAgIDB4RDQ0
CiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTcxMCAgICAweEQ0Nwog
I2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX1gyICAgICAgMHhENDgKICNk
ZWZpbmUgQVJNX0NQVV9QQVJUX05FT1ZFUlNFX04yICAgIDB4RDQ5CiAjZGVm
aW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTc4QyAgICAweEQ0QgorI2RlZmlu
ZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX1gxQyAgICAgMHhENEMKKyNkZWZpbmUg
QVJNX0NQVV9QQVJUX0NPUlRFWF9YMyAgICAgIDB4RDRFCisjZGVmaW5lIEFS
TV9DUFVfUEFSVF9ORU9WRVJTRV9WMiAgICAweEQ0RgorI2RlZmluZSBBUk1f
Q1BVX1BBUlRfQ09SVEVYX1g0ICAgICAgMHhEODIKKyNkZWZpbmUgQVJNX0NQ
VV9QQVJUX05FT1ZFUlNFX1YzQUUgIDB4RDgzCisjZGVmaW5lIEFSTV9DUFVf
UEFSVF9ORU9WRVJTRV9WMyAgICAweEQ4NAorI2RlZmluZSBBUk1fQ1BVX1BB
UlRfQ09SVEVYX1g5MjUgICAgMHhEODUKIAogI2RlZmluZSBNSURSX0NPUlRF
WF9BMTIgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BV
X1BBUlRfQ09SVEVYX0ExMikKICNkZWZpbmUgTUlEUl9DT1JURVhfQTE3IE1J
RFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NP
UlRFWF9BMTcpCkBAIC05NSwxMyArMTA0LDIyIEBACiAjZGVmaW5lIE1JRFJf
Q09SVEVYX0E3NiBNSURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFS
TV9DUFVfUEFSVF9DT1JURVhfQTc2KQogI2RlZmluZSBNSURSX05FT1ZFUlNF
X04xIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9Q
QVJUX05FT1ZFUlNFX04xKQogI2RlZmluZSBNSURSX0NPUlRFWF9BNzcgTUlE
Ul9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09S
VEVYX0E3NykKKyNkZWZpbmUgTUlEUl9DT1JURVhfQTc2QUUgTUlEUl9DUFVf
TU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E3
NkFFKQogI2RlZmluZSBNSURSX05FT1ZFUlNFX1YxIE1JRFJfQ1BVX01PREVM
KEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX05FT1ZFUlNFX1YxKQog
I2RlZmluZSBNSURSX0NPUlRFWF9BNzggTUlEUl9DUFVfTU9ERUwoQVJNX0NQ
VV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E3OCkKKyNkZWZpbmUg
TUlEUl9DT1JURVhfQTc4QUUgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBf
QVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E3OEFFKQogI2RlZmluZSBNSURS
X0NPUlRFWF9YMSAgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBB
Uk1fQ1BVX1BBUlRfQ09SVEVYX1gxKQogI2RlZmluZSBNSURSX0NPUlRFWF9B
NzEwIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9Q
QVJUX0NPUlRFWF9BNzEwKQogI2RlZmluZSBNSURSX0NPUlRFWF9YMiAgTUlE
Ul9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09S
VEVYX1gyKQogI2RlZmluZSBNSURSX05FT1ZFUlNFX04yIE1JRFJfQ1BVX01P
REVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX05FT1ZFUlNFX04y
KQogI2RlZmluZSBNSURSX0NPUlRFWF9BNzhDIE1JRFJfQ1BVX01PREVMKEFS
TV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9BNzhDKQorI2Rl
ZmluZSBNSURSX0NPUlRFWF9YMUMgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9J
TVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVYX1gxQykKKyNkZWZpbmUgTUlE
Ul9DT1JURVhfWDMgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBB
Uk1fQ1BVX1BBUlRfQ09SVEVYX1gzKQorI2RlZmluZSBNSURSX05FT1ZFUlNF
X1YyIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9Q
QVJUX05FT1ZFUlNFX1YyKQorI2RlZmluZSBNSURSX0NPUlRFWF9YNCBNSURS
X0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9DT1JU
RVhfWDQpCisjZGVmaW5lIE1JRFJfTkVPVkVSU0VfVjNBRSBNSURSX0NQVV9N
T0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9ORU9WRVJTRV9W
M0FFKQorI2RlZmluZSBNSURSX05FT1ZFUlNFX1YzIE1JRFJfQ1BVX01PREVM
KEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX05FT1ZFUlNFX1YzKQor
I2RlZmluZSBNSURSX0NPUlRFWF9YOTI1IE1JRFJfQ1BVX01PREVMKEFSTV9D
UFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9YOTI1KQogCiAvKiBN
UElEUiBNdWx0aXByb2Nlc3NvciBBZmZpbml0eSBSZWdpc3RlciAqLwogI2Rl
ZmluZSBfTVBJRFJfVVAgICAgICAgICAgICgzMCkK

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.19-03.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.19-03.patch"
Content-Transfer-Encoding: base64

RnJvbSA2Y2IxMzE3ZjRjN2M1ZGRkMjA5ZThiMDY2MzUyOWMzY2M2Nzc1Njk0
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU2ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IEFkZCBDMS1VbHRy
YSBkZWZpbml0aW9ucwoKQWRkIHByb2Nlc3NvciBkZWZpbml0aW9ucyBmb3Ig
QzEtVWx0cmEuIFRoZXNlIHdpbGwgYmUgdXNlZCBmb3IgZXJyYXRhCmRldGVj
dGlvbiBpbiBzdWJzZXF1ZW50IHBhdGNoZXMuCgpUaGVzZSB2YWx1ZXMgY2Fu
IGJlIGZvdW5kIGluIHRoZSBDMS1VbHRyYSBUUk06CgogIGh0dHBzOi8vZGV2
ZWxvcGVyLmFybS5jb20vZG9jdW1lbnRhdGlvbi8xMDgwMTQvMDEwMC8KCi4u
LiBpbiBzZWN0aW9uIEEuNS4xICgiTUlEUl9FTDEsIE1haW4gSUQgUmVnaXN0
ZXIiKS4KClNpZ25lZC1vZmYtYnk6IE1pY2hhbCBPcnplbCA8bWljaGFsLm9y
emVsQGFtZC5jb20+ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGll
bkB4ZW4ub3JnPgoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9pbmNsdWRl
L2FzbS9wcm9jZXNzb3IuaCBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9w
cm9jZXNzb3IuaAppbmRleCA1ZmRhNjkzNDRjODkuLjg1YTc0NjllYmEyYyAx
MDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3Byb2Nlc3Nv
ci5oCisrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wcm9jZXNzb3Iu
aApAQCAtOTAsNiArOTAsNyBAQAogI2RlZmluZSBBUk1fQ1BVX1BBUlRfTkVP
VkVSU0VfVjNBRSAgMHhEODMKICNkZWZpbmUgQVJNX0NQVV9QQVJUX05FT1ZF
UlNFX1YzICAgIDB4RDg0CiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9DT1JURVhf
WDkyNSAgICAweEQ4NQorI2RlZmluZSBBUk1fQ1BVX1BBUlRfQzFfVUxUUkEg
ICAgICAgMHhEOEMKIAogI2RlZmluZSBNSURSX0NPUlRFWF9BMTIgTUlEUl9D
UFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVY
X0ExMikKICNkZWZpbmUgTUlEUl9DT1JURVhfQTE3IE1JRFJfQ1BVX01PREVM
KEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9BMTcpCkBA
IC0xMjAsNiArMTIxLDcgQEAKICNkZWZpbmUgTUlEUl9ORU9WRVJTRV9WM0FF
IE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJU
X05FT1ZFUlNFX1YzQUUpCiAjZGVmaW5lIE1JRFJfTkVPVkVSU0VfVjMgTUlE
Ul9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfTkVP
VkVSU0VfVjMpCiAjZGVmaW5lIE1JRFJfQ09SVEVYX1g5MjUgTUlEUl9DUFVf
TU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVYX1g5
MjUpCisjZGVmaW5lIE1JRFJfQzFfVUxUUkEgTUlEUl9DUFVfTU9ERUwoQVJN
X0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQzFfVUxUUkEpCiAKIC8qIE1Q
SURSIE11bHRpcHJvY2Vzc29yIEFmZmluaXR5IFJlZ2lzdGVyICovCiAjZGVm
aW5lIF9NUElEUl9VUCAgICAgICAgICAgKDMwKQo=

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.19-04.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.19-04.patch"
Content-Transfer-Encoding: base64

RnJvbSBlMzY2N2NiNjYwNzhjYzBjYzZkNjEyZTI2NjNjMGE4ODdmZDdiMmM4
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU3ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IEFkZCBDMS1QcmVt
aXVtIGRlZmluaXRpb25zCgpBZGQgcHJvY2Vzc29yIGRlZmluaXRpb25zIGZv
ciBDMS1QcmVtaXVtLiBUaGVzZSB3aWxsIGJlIHVzZWQgZm9yIGVycmF0YQpk
ZXRlY3Rpb24gaW4gc3Vic2VxdWVudCBwYXRjaGVzLgoKVGhlc2UgdmFsdWVz
IGNhbiBiZSBmb3VuZCBpbiB0aGUgQzEtUHJlbWl1bSBUUk06CgogIGh0dHBz
Oi8vZGV2ZWxvcGVyLmFybS5jb20vZG9jdW1lbnRhdGlvbi8xMDk0MTYvMDEw
MC8KCi4uLiBpbiBzZWN0aW9uIEEuNS4xICgiTUlEUl9FTDEsIE1haW4gSUQg
UmVnaXN0ZXIiKS4KClNpZ25lZC1vZmYtYnk6IE1pY2hhbCBPcnplbCA8bWlj
aGFsLm9yemVsQGFtZC5jb20+ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwg
PGp1bGllbkB4ZW4ub3JnPgoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9p
bmNsdWRlL2FzbS9wcm9jZXNzb3IuaCBiL3hlbi9hcmNoL2FybS9pbmNsdWRl
L2FzbS9wcm9jZXNzb3IuaAppbmRleCA4NWE3NDY5ZWJhMmMuLmY4OWIwNjFk
NDQ0YyAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3By
b2Nlc3Nvci5oCisrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wcm9j
ZXNzb3IuaApAQCAtOTEsNiArOTEsNyBAQAogI2RlZmluZSBBUk1fQ1BVX1BB
UlRfTkVPVkVSU0VfVjMgICAgMHhEODQKICNkZWZpbmUgQVJNX0NQVV9QQVJU
X0NPUlRFWF9YOTI1ICAgIDB4RDg1CiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9D
MV9VTFRSQSAgICAgICAweEQ4QworI2RlZmluZSBBUk1fQ1BVX1BBUlRfQzFf
UFJFTUlVTSAgICAgMHhEOTAKIAogI2RlZmluZSBNSURSX0NPUlRFWF9BMTIg
TUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRf
Q09SVEVYX0ExMikKICNkZWZpbmUgTUlEUl9DT1JURVhfQTE3IE1JRFJfQ1BV
X01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9B
MTcpCkBAIC0xMjIsNiArMTIzLDcgQEAKICNkZWZpbmUgTUlEUl9ORU9WRVJT
RV9WMyBNSURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVf
UEFSVF9ORU9WRVJTRV9WMykKICNkZWZpbmUgTUlEUl9DT1JURVhfWDkyNSBN
SURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9D
T1JURVhfWDkyNSkKICNkZWZpbmUgTUlEUl9DMV9VTFRSQSBNSURSX0NQVV9N
T0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9DMV9VTFRSQSkK
KyNkZWZpbmUgTUlEUl9DMV9QUkVNSVVNIE1JRFJfQ1BVX01PREVMKEFSTV9D
UFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0MxX1BSRU1JVU0pCiAKIC8qIE1Q
SURSIE11bHRpcHJvY2Vzc29yIEFmZmluaXR5IFJlZ2lzdGVyICovCiAjZGVm
aW5lIF9NUElEUl9VUCAgICAgICAgICAgKDMwKQo=

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.19-05.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.19-05.patch"
Content-Transfer-Encoding: base64

RnJvbSBkMTQ4ZTBiNzlhYjJjN2YyZDVhYzgyYjhhZTliNWY5MTgzNjdkZmIz
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU4ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IE1pdGlnYXRlIFRM
QkkgZXJyYXRhIG9uIHZhcmlvdXMgQXJtIENQVXMKCkEgbnVtYmVyIG9mIENQ
VXMgZGV2ZWxvcGVkIGJ5IEFybSBzdWZmZXIgZnJvbSBlcnJhdGEgd2hlcmVi
eSBhIGJyb2FkY2FzdApUTEJJICsgRFNCIHNlcXVlbmNlIG1heSBjb21wbGV0
ZSBiZWZvcmUgdGhlIGdsb2JhbCBvYnNlcnZhdGlvbiBvZiB3cml0ZXMKd2hp
Y2ggYXJlIHRyYW5zbGF0ZWQgYnkgYW4gYWZmZWN0ZWQgVExCIGVudHJ5LiBU
aGlzIGNhbiBsZWFkIHRvIG1lbW9yeQpjb3JydXB0aW9uIGFuZCBwb3RlbnRp
YWwgcHJpdmlsZWdlIGVzY2FsYXRpb24uCgpUaGVzZSBlcnJhdGEgT05MWSBh
ZmZlY3QgdGhlIGNvbXBsZXRpb24gb2YgbWVtb3J5IGFjY2Vzc2VzIHdoaWNo
IGhhdmUKYmVlbiB0cmFuc2xhdGVkIGJ5IGFuIGludmFsaWRhdGVkIFRMQiBl
bnRyeSwgYW5kIHRoZXNlIGVycmF0YSBETyBOT1QKYWZmZWN0IHRoZSBhY3R1
YWwgaW52YWxpZGF0aW9uIG9mIFRMQiBlbnRyaWVzLiBUTEIgZW50cmllcyBh
cmUgcmVtb3ZlZApjb3JyZWN0bHkuCgpUbyBtaXRpZ2F0ZSB0aGlzIGlzc3Vl
LCBBcm0gcmVjb21tZW5kcyB0aGF0IHNvZnR3YXJlIGZvbGxvd3MgZWFjaApU
TEJJK0RTQiBzZXF1ZW5jZSB3aXRoIGFuIGFkZGl0aW9uYWwgVExCSStEU0Is
IHdoaWNoIHdpbGwgZW5zdXJlIHRoYXQKYWxsIG1lbW9yeSB3cml0ZSBlZmZl
Y3RzIGFmZmVjdGVkIGJ5IHRoZSBmaXJzdCBUTEJJIGhhdmUgYmVlbiBnbG9i
YWxseQpvYnNlcnZlZC4KClRoZSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9U
TEJJIHdvcmthcm91bmQgaXMgc3VmZmljaWVudCB0byBtaXRpZ2F0ZSB0aGUK
aXNzdWUuIEVuYWJsZSB0aGlzIHdvcmthcm91bmQgZm9yIGFmZmVjdGVkIENQ
VXMuCgpUaGlzIGlzIFhTQS00OTMgLyBDVkUtMjAyNS0xMDI2My4KClNpZ25l
ZC1vZmYtYnk6IE1pY2hhbCBPcnplbCA8bWljaGFsLm9yemVsQGFtZC5jb20+
ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPgoK
ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9LY29uZmlnIGIveGVuL2FyY2gv
YXJtL0tjb25maWcKaW5kZXggMjFkMDNkOWY0NDI0Li4xMmFhODU4MGM4MjAg
MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9LY29uZmlnCisrKyBiL3hlbi9h
cmNoL2FybS9LY29uZmlnCkBAIC00MzYsNiArNDM2LDI3IEBAIGNvbmZpZyBB
Uk02NF9FUlJBVFVNXzE1MDg0MTIKIAogCSAgSWYgdW5zdXJlLCBzYXkgWS4K
IAorY29uZmlnIEFSTTY0X0VSUkFUVU1fQ1ZFXzIwMjVfMTAyNjMKKwlib29s
ICJDb3J0ZXgtKi9OZW92ZXJzZS0qL0MxLSo6IENvbXBsZXRpb24gb2YgYWZm
ZWN0ZWQgbWVtb3J5IGFjY2Vzc2VzIG1pZ2h0IG5vdCBiZSBndWFyYW50ZWVk
IGJ5IGNvbXBsZXRpb24gb2YgYSBUTEJJIgorCWRlZmF1bHQgeQorCWRlcGVu
ZHMgb24gQVJNXzY0CisJc2VsZWN0IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFU
X1RMQkkKKwloZWxwCisJICBUaGlzIG9wdGlvbiBhZGRzIGEgd29ya2Fyb3Vu
ZCBmb3IgQ1ZFLTIwMjUtMTAyNjMuCisKKwkgIEEgYnJvYWRjYXN0IFRMQkkg
b24gYW5vdGhlciBQRSBtYXkgY29tcGxldGUgYmVmb3JlIGFmZmVjdGVkIG1l
bW9yeQorCSAgYWNjZXNzZXMgYXJlIGdsb2JhbGx5IG9ic2VydmVkLiBUaGlz
IG1heSBwZXJtaXQgYnlwYXNzIG9mIFN0YWdlIDEKKwkgIHRyYW5zbGF0aW9u
LCBTdGFnZS0yIHRyYW5zbGF0aW9uLCBvciBHUFQgcHJvdGVjdGlvbi4KKwor
CSAgVGhlIHdvcmthcm91bmQgcmVwZWF0cyB0aGUgVExCSSBWQUxFMklTLCBY
WlIgKyBEU0IgSVNIIG9wZXJhdGlvbiBmb3IgYWxsCisJICB0aGUgYnJvYWRj
YXN0IFRMQiBmbHVzaCBvcGVyYXRpb25zLiBBIHNpbmdsZSBhZGRpdGlvbmFs
IFRMQkkgYW5kIERTQiBhcmUKKwkgIHN1ZmZpY2llbnQgcmVnYXJkbGVzcyBv
ZiBob3cgbWFueSBUTEJJcyBhcmUgY29tcGxldGVkIGJ5IHRoZSBEU0IuCisK
KwkgIE5vdGUgdGhhdCBzb2Z0d2FyZSB3b3JrYXJvdW5kcyBhcmUgcmVxdWly
ZWQgYXQgYWxsIGV4ZWN1dGlvbiBsZXZlbHMgZm9yCisJICBhZmZlY3RlZCBw
YXJ0cyB0byBmdWxseSBtaXRpZ2F0ZSB0aGlzIGlzc3VlLgorCisJICBJZiB1
bnN1cmUsIHNheSBZLgorCiBlbmRtZW51CiAKIGNvbmZpZyBBUk02NF9IQVJE
RU5fQlJBTkNIX1BSRURJQ1RPUgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJt
L2NwdWVycmF0YS5jIGIveGVuL2FyY2gvYXJtL2NwdWVycmF0YS5jCmluZGV4
IDJiNzEwMWVhMjUyNC4uMWZiMGNmNTk5ZmIwIDEwMDY0NAotLS0gYS94ZW4v
YXJjaC9hcm0vY3B1ZXJyYXRhLmMKKysrIGIveGVuL2FyY2gvYXJtL2NwdWVy
cmF0YS5jCkBAIC01MzUsNiArNTM1LDkyIEBAIHN0YXRpYyBjb25zdCBzdHJ1
Y3QgYXJtX2NwdV9jYXBhYmlsaXRpZXMgYXJtX2VycmF0YVtdID0gewogICAg
ICAgICBNSURSX1JBTkdFKE1JRFJfTkVPVkVSU0VfTjEsIDAsIDMgPDwgTUlE
Ul9WQVJJQU5UX1NISUZUKSwKICAgICB9LAogI2VuZGlmCisjaWZkZWYgQ09O
RklHX0FSTTY0X0VSUkFUVU1fQ1ZFXzIwMjVfMTAyNjMKKyAgICB7CisgICAg
ICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9SRVBFQVRfVExC
SSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9DT1JURVhfQTc2
KSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02
NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9W
RVJTSU9OUyhNSURSX0NPUlRFWF9BNzZBRSksCisgICAgfSwKKyAgICB7Cisg
ICAgICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9SRVBFQVRf
VExCSSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9DT1JURVhf
QTc3KSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBB
Uk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FM
TF9WRVJTSU9OUyhNSURSX0NPUlRFWF9BNzgpLAorICAgIH0sCisgICAgewor
ICAgICAgICAuY2FwYWJpbGl0eSA9IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFU
X1RMQkksCisgICAgICAgIE1JRFJfQUxMX1ZFUlNJT05TKE1JRFJfQ09SVEVY
X0E3OEFFKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkg
PSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURS
X0FMTF9WRVJTSU9OUyhNSURSX0NPUlRFWF9BNzhDKSwKKyAgICB9LAorICAg
IHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JF
UEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX0NP
UlRFWF9BNzEwKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxp
dHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBN
SURSX0FMTF9WRVJTSU9OUyhNSURSX0NPUlRFWF9YMSksCisgICAgfSwKKyAg
ICB7CisgICAgICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9S
RVBFQVRfVExCSSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9D
T1JURVhfWDFDKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxp
dHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBN
SURSX0FMTF9WRVJTSU9OUyhNSURSX0NPUlRFWF9YMiksCisgICAgfSwKKyAg
ICB7CisgICAgICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9S
RVBFQVRfVExCSSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9D
T1JURVhfWDMpLAorICAgIH0sCisgICAgeworICAgICAgICAuY2FwYWJpbGl0
eSA9IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkksCisgICAgICAgIE1J
RFJfQUxMX1ZFUlNJT05TKE1JRFJfQ09SVEVYX1g0KSwKKyAgICB9LAorICAg
IHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JF
UEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX0NP
UlRFWF9YOTI1KSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxp
dHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBN
SURSX0FMTF9WRVJTSU9OUyhNSURSX05FT1ZFUlNFX04xKSwKKyAgICB9LAor
ICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5E
X1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURS
X05FT1ZFUlNFX04yKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFi
aWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAg
ICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX05FT1ZFUlNFX1YxKSwKKyAgICB9
LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJP
VU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhN
SURSX05FT1ZFUlNFX1YyKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNh
cGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAg
ICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX05FT1ZFUlNFX1YzKSwKKyAg
ICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JL
QVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9O
UyhNSURSX05FT1ZFUlNFX1YzQUUpLAorICAgIH0sCisgICAgeworICAgICAg
ICAuY2FwYWJpbGl0eSA9IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkks
CisgICAgICAgIE1JRFJfQUxMX1ZFUlNJT05TKE1JRFJfQzFfVUxUUkEpLAor
ICAgIH0sCisgICAgeworICAgICAgICAuY2FwYWJpbGl0eSA9IEFSTTY0X1dP
UktBUk9VTkRfUkVQRUFUX1RMQkksCisgICAgICAgIE1JRFJfQUxMX1ZFUlNJ
T05TKE1JRFJfQzFfUFJFTUlVTSksCisgICAgfSwKKyNlbmRpZgogI2lmZGVm
IENPTkZJR19BUk02NF9IQVJERU5fQlJBTkNIX1BSRURJQ1RPUgogICAgIHsK
ICAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk1fSEFSREVOX0JSQU5DSF9QUkVE
SUNUT1IsCg==

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.20-01.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.20-01.patch"
Content-Transfer-Encoding: base64

RnJvbSA4ZTI2Y2ViMDJhMjRkMjI4YjI2MjI2YzVkNmI4MmNiNTFmYjEzMDdj
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBUdWUsIDE0IEFwciAyMDI2
IDEwOjExOjI0ICswMjAwClN1YmplY3Q6IHhlbi9hcm02NDogZmx1c2h0bGI6
IE9wdGltaXplIEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkkKClRoZSBB
Uk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJIHdvcmthcm91bmQgaXMgdXNl
ZCB0byBtaXRpZ2F0ZSBzZXZlcmFsCmVycmF0YSB3aGVyZSBicm9hZGNhc3Qg
VExCSTtEU0Igc2VxdWVuY2VzIGRvbid0IHByb3ZpZGUgYWxsIHRoZQphcmNo
aXRlY3R1cmFsbHkgcmVxdWlyZWQgc3luY2hyb25pemF0aW9uLiBUaGUgd29y
a2Fyb3VuZCBwZXJmb3JtcyBtb3JlCndvcmsgdGhhbiBuZWNlc3NhcnksIGFu
ZCBjYW4gaGF2ZSBzaWduaWZpY2FudCBvdmVyaGVhZC4gVGhpcyBwYXRjaApv
cHRpbWl6ZXMgdGhlIHdvcmthcm91bmQsIGFzIGV4cGxhaW5lZCBiZWxvdy4K
CjEuIEFsbCByZWxldmFudCBlcnJhdGEgb25seSBhZmZlY3QgdGhlIG9yZGVy
aW5nIGFuZC9vciBjb21wbGV0aW9uIG9mCiAgIG1lbW9yeSBhY2Nlc3NlcyB3
aGljaCBoYXZlIGJlZW4gdHJhbnNsYXRlZCBieSBhbiBpbnZhbGlkYXRlZCBU
TEIKICAgZW50cnkuIFRoZSBhY3R1YWwgaW52YWxpZGF0aW9uIG9mIFRMQiBl
bnRyaWVzIGlzIHVuYWZmZWN0ZWQuCgoyLiBUaGUgZXhpc3Rpbmcgd29ya2Fy
b3VuZCBpcyBhcHBsaWVkIHRvIGJvdGggYnJvYWRjYXN0IGFuZCBsb2NhbCBU
TEIKICAgaW52YWxpZGF0aW9uLCB3aGVyZWFzIGZvciBhbGwgcmVsZXZhbnQg
ZXJyYXRhIGl0IGlzIG9ubHkgbmVjZXNzYXJ5IHRvCiAgIGFwcGx5IGEgd29y
a2Fyb3VuZCBmb3IgYnJvYWRjYXN0IGludmFsaWRhdGlvbi4KCjMuIFRoZSBl
eGlzdGluZyB3b3JrYXJvdW5kIHJlcGxhY2VzIGV2ZXJ5IFRMQkkgd2l0aCBh
IFRMQkk7RFNCO1RMQkkKICAgc2VxdWVuY2UsIHdoZXJlYXMgZm9yIGFsbCBy
ZWxldmFudCBlcnJhdGEgaXQgaXMgb25seSBuZWNlc3NhcnkgdG8KICAgZXhl
Y3V0ZSBhIHNpbmdsZSBhZGRpdGlvbmFsIFRMQkk7RFNCIHNlcXVlbmNlIGFm
dGVyIGFueSBudW1iZXIgb2YKICAgVExCSXMgYXJlIGNvbXBsZXRlZCBieSBh
IERTQi4KCiAgIEZvciBleGFtcGxlLCBmb3IgYSBzZXF1ZW5jZSBvZiBiYXRj
aGVkIFRMQklzOgoKICAgICAgIFRMQkkgPG9wMT5bLCA8YXJnMT5dCiAgICAg
ICBUTEJJIDxvcDI+WywgPGFyZzI+XQogICAgICAgVExCSSA8b3AzPlssIDxh
cmczPl0KICAgICAgIERTQiBJU0gKCiAgIC4uLiB0aGUgZXhpc3Rpbmcgd29y
a2Fyb3VuZCB3aWxsIGV4cGFuZCB0aGlzIHRvOgoKICAgICAgIFRMQkkgPG9w
MT5bLCA8YXJnMT5dCiAgICAgICBEU0IgSVNIICAgICAgICAgICAgICAgICAg
Ly8gYWRkaXRpb25hbAogICAgICAgVExCSSA8b3AxPlssIDxhcmcxPl0gICAg
IC8vIGFkZGl0aW9uYWwKICAgICAgIFRMQkkgPG9wMj5bLCA8YXJnMj5dCiAg
ICAgICBEU0IgSVNIICAgICAgICAgICAgICAgICAgLy8gYWRkaXRpb25hbAog
ICAgICAgVExCSSA8b3AyPlssIDxhcmcyPl0gICAgIC8vIGFkZGl0aW9uYWwK
ICAgICAgIFRMQkkgPG9wMz5bLCA8YXJnMz5dCiAgICAgICBEU0IgSVNIICAg
ICAgICAgICAgICAgICAgLy8gYWRkaXRpb25hbAogICAgICAgVExCSSA8b3Az
PlssIDxhcmczPl0gICAgIC8vIGFkZGl0aW9uYWwKICAgICAgIERTQiBJU0gK
CiAgIC4uLiB3aGVyZWFzIGl0IGlzIHN1ZmZpY2llbnQgdG8gaGF2ZToKCiAg
ICAgICBUTEJJIDxvcDE+WywgPGFyZzE+XQogICAgICAgVExCSSA8b3AyPlss
IDxhcmcyPl0KICAgICAgIFRMQkkgPG9wMz5bLCA8YXJnMz5dCiAgICAgICBE
U0IgSVNICiAgICAgICBUTEJJIDxvcFg+WywgPGFyZ1g+XSAgICAgLy8gYWRk
aXRpb25hbAogICAgICAgRFNCIElTSCAgICAgICAgICAgICAgICAgIC8vIGFk
ZGl0aW9uYWwKCiAgIFVzaW5nIGEgc2luZ2xlIGFkZGl0aW9uYWwgVExCSSBh
bmQgRFNCIGF0IHRoZSBlbmQgb2YgdGhlIHNlcXVlbmNlIGNhbgogICBoYXZl
IHNpZ25pZmljYW50bHkgbG93ZXIgb3ZlcmhlYWQgYXMgZWFjaCBEU0Igd2hp
Y2ggY29tcGxldGVzIGEgVExCSQogICBtdXN0IHN5bmNocm9uaXplIHdpdGgg
b3RoZXIgUEVzIGluIHRoZSBzeXN0ZW0sIHdpdGggcG90ZW50aWFsCiAgIHBl
cmZvcm1hbmNlIGVmZmVjdHMgYm90aCBsb2NhbGx5IGFuZCBzeXN0ZW0td2lk
ZS4KCjQuIFRoZSBleGlzdGluZyB3b3JrYXJvdW5kIHJlcGVhdHMgZWFjaCBz
cGVjaWZpYyBUTEJJIG9wZXJhdGlvbiwgd2hlcmVhcwogICBmb3IgYWxsIHJl
bGV2YW50IGVycmF0YSBpdCBpcyBzdWZmaWNpZW50IGZvciB0aGUgYWRkaXRp
b25hbCBUTEJJIHRvCiAgIHVzZSAqYW55KiBvcGVyYXRpb24gd2hpY2ggd2ls
bCBiZSBicm9hZGNhc3QsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gKICAgdHJhbnNs
YXRpb24gcmVnaW1lIG9yIHN0YWdlIG9mIHRyYW5zbGF0aW9uIHRoZSBvcGVy
YXRpb24gYXBwbGllcyB0by4KCiAgIEZvciBleGFtcGxlLCBmb3IgYSBzaW5n
bGUgVExCSToKCiAgICAgICBUTEJJIEFMTEUySVMKICAgICAgIERTQiBJU0gK
CiAgIC4uLiB0aGUgZXhpc3Rpbmcgd29ya2Fyb3VuZCB3aWxsIGV4cGFuZCB0
aGlzIHRvOgoKICAgICAgIFRMQkkgQUxMRTJJUwogICAgICAgRFNCIElTSAog
ICAgICAgVExCSSBBTExFMklTICAgICAgICAgICAgIC8vIGFkZGl0aW9uYWwK
ICAgICAgIERTQiBJU0ggICAgICAgICAgICAgICAgICAvLyBhZGRpdGlvbmFs
CgogICAuLi4gd2hlcmVhcyBpdCBpcyBzdWZmaWNpZW50IHRvIGhhdmU6Cgog
ICAgICAgVExCSSBBTExFMklTCiAgICAgICBEU0IgSVNICiAgICAgICBUTEJJ
IFZBTEUxSVMsIFhaUiAgICAgICAgLy8gYWRkaXRpb25hbAogICAgICAgRFNC
IElTSCAgICAgICAgICAgICAgICAgIC8vIGFkZGl0aW9uYWwKCiAgIEFzIHRo
ZSBhZGRpdGlvbmFsIFRMQkkgZG9lc24ndCBoYXZlIHRvIG1hdGNoIGEgc3Bl
Y2lmaWMgZWFybGllciBUTEJJLAogICB0aGUgYWRkaXRpb25hbCBUTEJJIGNh
biBiZSBpbXBsZW1lbnRlZCBpbiBzZXBhcmF0ZSBjb2RlLCB3aXRoIG5vCiAg
IG1lbW9yeSBvZiB0aGUgZWFybGllciBUTEJJcy4gVGhlIGFkZGl0aW9uYWwg
VExCSSBjYW4gYWxzbyB1c2UgYQogICBjaGVhcGVyIFRMQkkgb3BlcmF0aW9u
LgoKNS4gVGhlIGV4aXN0aW5nIHdvcmthcm91bmQgaXMgYXBwbGllZCB0byBi
b3RoIFN0YWdlLTEgYW5kIFN0YWdlLTIgVExCCiAgIGludmFsaWRhdGlvbiwg
d2hlcmVhcyBmb3IgYWxsIHJlbGV2YW50IGVycmF0YSBpdCBpcyBvbmx5IG5l
Y2Vzc2FyeSB0bwogICBhcHBseSBhIHdvcmthcm91bmQgZm9yIFN0YWdlLTEg
aW52YWxpZGF0aW9uLgoKICAgQXJjaGl0ZWN0dXJhbGx5LCBUTEJJIG9wZXJh
dGlvbnMgd2hpY2ggaW52YWxpZGF0ZSBvbmx5IFN0YWdlLTIKICAgaW5mb3Jt
YXRpb24gKGUuZy4gSVBBUzJFMUlTKSBhcmUgbm90IHJlcXVpcmVkIHRvIGlu
dmFsaWRhdGUgVExCCiAgIGVudHJpZXMgd2hpY2ggY29tYmluZSBpbmZvcm1h
dGlvbiBmcm9tIFN0YWdlLTEgYW5kIFN0YWdlLTIKICAgdHJhbnNsYXRpb24g
dGFibGUgZW50cmllcywgYW5kIGNvbnNlcXVlbnRseSBtYXkgbm90IGNvbXBs
ZXRlIG1lbW9yeQogICBhY2Nlc3NlcyB0cmFuc2xhdGVkIGJ5IHRob3NlIGNv
bWJpbmVkIGVudHJpZXMuIEluIHRoZXNlIGNhc2VzLAogICBjb21wbGV0aW9u
IG9mIG1lbW9yeSBhY2Nlc3NlcyBpcyBvbmx5IGd1YXJhbnRlZWQgYWZ0ZXIg
c3Vic2VxdWVudAogICBpbnZhbGlkYXRpb24gb2YgU3RhZ2UtMSBpbmZvcm1h
dGlvbiAoZS5nLiBWTUFMTEUxSVMpLgoKUmV3b3JrIHRoZSB3b3JrYXJvdW5k
IGxvZ2ljIGFzIGZvbGxvd3M6CiAtIGFkZCBUTEJfSEVMUEVSX0xPQ0FMKCkg
dG8gYmUgdXNlZCBmb3IgbG9jYWwgVExCIG9wcyB3aXRob3V0IGEKICAgd29y
a2Fyb3VuZCwKIC0gbW9kaWZ5IFRMQl9IRUxQRVIoKSB3b3JrYXJvdW5kIHRv
IHVzZSB0bGJpIHZhbGUyaXMsIHh6ciBhcyBhIHNlY29uZAogICBUTEJJLAog
LSBkcm9wIFRMQl9IRUxQRVJfVkEoKS4gSXQncyB1c2VkIG9ubHkgYnkgX19m
bHVzaF94ZW5fdGxiX29uZV9sb2NhbAogICB3aGljaCBpcyBsb2NhbCBhbmQg
ZG9lcyBub3QgbmVlZCB3b3JrYXJvdW5kIGFuZCBieQogICBfX2ZsdXNoX3hl
bl90bGJfb25lLiBJbiB0aGUgbGF0dGVyIGNhc2UsIHNpbmNlIGl0J3MgdXNl
ZCBpbiBhIGxvb3AsCiAgIHdlIGRvbid0IG5lZWQgYSB3b3JrYXJvdW5kIGlu
IHRoZSBtaWRkbGUuIEFkZCBfX3RsYl9yZXBlYXRfc3luYyB3aXRoCiAgIGEg
d29ya2Fyb3VuZCB0byBiZSB1c2VkIGF0IHRoZSBlbmQgYWZ0ZXIgRFNCIGFu
ZCBiZWZvcmUgZmluYWwgSVNCLAogLSBUTEJJIFZBTEUySVMgcGFzc2luZyBY
WlIgaXMgdXNlZCBhcyBhbiBhZGRpdGlvbmFsIFRMQkkuIFdoaWxlIHRoZXJl
IGlzCiAgIGFuIGlkZW50aXR5IG1hcHBpbmcgdGhlcmUsIGl0J3MgdXNlZCB2
ZXJ5IHJhcmVseS4gVGhlIHBlcmZvcm1hbmNlCiAgIGltcGFjdCBpcyB0aGVy
ZWZvcmUgbmVnbGlnaWJsZS4gSWYgdGhpbmdzIGNoYW5nZSBpbiB0aGUgZnV0
dXJlLCB3ZQogICBjYW4gcmV2aXNpdCB0aGUgZGVjaXNpb24uCgpTaWduZWQt
b2ZmLWJ5OiBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnplbEBhbWQuY29tPgpS
ZXZpZXdlZC1ieTogTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5jZWxsdUBhcm0u
Y29tPgpSZXZpZXdlZC1ieTogSnVsaWVuIEdyYWxsIDxqZ3JhbGxAYW1hem9u
LmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgN2M1MDJkNzU5MTUx
OTEzNTc2NWI4MDQxY2JkMWM3MGU1NmU1YTBiOSkKCmRpZmYgLS1naXQgYS94
ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtMzIvZmx1c2h0bGIuaCBiL3hl
bi9hcmNoL2FybS9pbmNsdWRlL2FzbS9hcm0zMi9mbHVzaHRsYi5oCmluZGV4
IDYxYzI1YTMxODk5OC4uNTQ4M2JlMDhmYmJlIDEwMDY0NAotLS0gYS94ZW4v
YXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtMzIvZmx1c2h0bGIuaAorKysgYi94
ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtMzIvZmx1c2h0bGIuaApAQCAt
NTcsNiArNTcsOSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgX19mbHVzaF94ZW5f
dGxiX29uZSh2YWRkcl90IHZhKQogICAgIGFzbSB2b2xhdGlsZShTVE9SRV9D
UDMyKDAsIFRMQklNVkFISVMpIDogOiAiciIgKHZhKSA6ICJtZW1vcnkiKTsK
IH0KIAorLyogT25seSBmb3IgQVJNNjRfV09SS0FST1VORF9SRVBFQVRfVExC
SSAqLworc3RhdGljIGlubGluZSB2b2lkIF9fdGxiX3JlcGVhdF9zeW5jKHZv
aWQpIHt9CisKICNlbmRpZiAvKiBfX0FTTV9BUk1fQVJNMzJfRkxVU0hUTEJf
SF9fICovCiAvKgogICogTG9jYWwgdmFyaWFibGVzOgpkaWZmIC0tZ2l0IGEv
eGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FybTY0L2ZsdXNodGxiLmggYi94
ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtNjQvZmx1c2h0bGIuaAppbmRl
eCA0NTY0MjIwMWQxNDcuLmMxMzE0YmUxMjJkNyAxMDA2NDQKLS0tIGEveGVu
L2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FybTY0L2ZsdXNodGxiLmgKKysrIGIv
eGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FybTY0L2ZsdXNodGxiLmgKQEAg
LTEyLDkgKzEyLDE0IEBACiAgKiBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9U
TEJJOgogICogTW9kaWZpY2F0aW9uIG9mIHRoZSB0cmFuc2xhdGlvbiB0YWJs
ZSBmb3IgYSB2aXJ0dWFsIGFkZHJlc3MgbWlnaHQgbGVhZCB0bwogICogcmVh
ZC1hZnRlci1yZWFkIG9yZGVyaW5nIHZpb2xhdGlvbi4KLSAqIFRoZSB3b3Jr
YXJvdW5kIHJlcGVhdHMgVExCSStEU0IgSVNIIG9wZXJhdGlvbiBmb3IgYWxs
IHRoZSBUTEIgZmx1c2gKLSAqIG9wZXJhdGlvbnMuIFdoaWxlIHRoaXMgaXMg
c3RyaWN0bHkgbm90IG5lY2Vzc2FyeSwgd2UgZG9uJ3Qgd2FudCB0bwotICog
dGFrZSBhbnkgcmlzay4KKyAqIFRoZSB3b3JrYXJvdW5kIHJlcGVhdHMgVExC
SStEU0IgSVNIIG9wZXJhdGlvbiBmb3IgYnJvYWRjYXN0IFRMQiBmbHVzaAor
ICogb3BlcmF0aW9ucy4gVGhlIHdvcmthcm91bmQgaXMgbm90IG5lZWRlZCBm
b3IgbG9jYWwgb3BlcmF0aW9ucy4KKyAqCisgKiBJdCBpcyBzdWZmaWNpZW50
IGZvciB0aGUgYWRkaXRpb25hbCBUTEJJIHRvIHVzZSAqYW55KiBvcGVyYXRp
b24gd2hpY2ggd2lsbAorICogYmUgYnJvYWRjYXN0LCByZWdhcmRsZXNzIG9m
IHdoaWNoIHRyYW5zbGF0aW9uIHJlZ2ltZSBvciBzdGFnZSBvZiB0cmFuc2xh
dGlvbgorICogdGhlIG9wZXJhdGlvbiBhcHBsaWVzIHRvLiBUTEJJIFZBTEUy
SVMgaXMgdXNlZCBwYXNzaW5nIFhaUi4gV2hpbGUgdGhlcmUgaXMKKyAqIGFu
IGlkZW50aXR5IG1hcHBpbmcgdGhlcmUsIGl0J3Mgb25seSB1c2VkIGR1cmlu
ZyBzdXNwZW5kL3Jlc3VtZSwgQ1BVIG9uL29mZiwKKyAqIHNvIHRoZSBpbXBh
Y3QgKHBlcmZvcm1hbmNlIGlmIGFueSkgaXMgbmVnbGlnaWJsZS4KICAqCiAg
KiBGb3IgWGVuIHBhZ2UtdGFibGVzIHRoZSBJU0Igd2lsbCBkaXNjYXJkIGFu
eSBpbnN0cnVjdGlvbnMgZmV0Y2hlZAogICogZnJvbSB0aGUgb2xkIG1hcHBp
bmdzLgpAQCAtMjYsNjkgKzMxLDkwIEBACiAgKiBOb3RlIHRoYXQgZm9yIGxv
Y2FsIFRMQiBmbHVzaCwgdXNpbmcgbm9uLXNoYXJlYWJsZSAobnNoKSBpcyBz
dWZmaWNpZW50CiAgKiAoc2VlIEQ1LTQ5MjkgaW4gQVJNIERESSAwNDg3SC5h
KS4gQWx0aG91Z2gsIHRoZSBtZW1vcnkgYmFycmllciBpbgogICogZm9yIHRo
ZSB3b3JrYXJvdW5kIGlzIGxlZnQgYXMgaW5uZXItc2hhcmVhYmxlIHRvIG1h
dGNoIHdpdGggTGludXgKLSAqIHY2LjEtcmM4LgorICogdjYuMTkuCiAgKi8K
LSNkZWZpbmUgVExCX0hFTFBFUihuYW1lLCB0bGJvcCwgc2gpICAgICAgICAg
ICAgICBcCisjZGVmaW5lIFRMQl9IRUxQRVJfTE9DQUwobmFtZSwgdGxib3Ap
ICAgICAgICAgICAgXAogc3RhdGljIGlubGluZSB2b2lkIG5hbWUodm9pZCkg
ICAgICAgICAgICAgICAgICAgIFwKIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgYXNtIHZvbGF0aWxl
KCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAi
ZHNiICAiICAjIHNoICAic3Q7IiAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICAgICAgImRzYiAgbnNoc3Q7IiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCiAgICAgICAgICJ0bGJpICIgICMgdGxib3AgICI7IiAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICBBTFRFUk5BVElWRSggICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICJub3A7IG5vcDsiLCAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAiZHNiICBp
c2g7IiAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
InRsYmkgIiAgIyB0bGJvcCAgIjsiLCAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgICAgIEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkksICAgICAgICBc
Ci0gICAgICAgICAgICBDT05GSUdfQVJNNjRfV09SS0FST1VORF9SRVBFQVRf
VExCSSkgXAotICAgICAgICAiZHNiICAiICAjIHNoICAiOyIgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICAgICAgImRzYiAgbnNoOyIgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICJpc2I7IiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICA6IDogOiAi
bWVtb3J5Iik7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKIH0KIAotLyoK
LSAqIEZMdXNoIFRMQiBieSBWQS4gVGhpcyB3aWxsIGxpa2VseSBiZSB1c2Vk
IGluIGEgbG9vcCwgc28gdGhlIGNhbGxlcgotICogaXMgcmVzcG9uc2libGUg
dG8gdXNlIHRoZSBhcHByb3ByaWF0ZSBtZW1vcnkgYmFycmllcnMgYmVmb3Jl
L2FmdGVyCi0gKiB0aGUgc2VxdWVuY2UuCi0gKgotICogU2VlIGFib3ZlIGFi
b3V0IHRoZSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJIHNlcXVlbmNl
LgotICovCi0jZGVmaW5lIFRMQl9IRUxQRVJfVkEobmFtZSwgdGxib3ApICAg
ICAgICAgICAgICAgXAotc3RhdGljIGlubGluZSB2b2lkIG5hbWUodmFkZHJf
dCB2YSkgICAgICAgICAgICAgIFwKLXsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgYXNtIHZvbGF0aWxl
KCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAi
dGxiaSAiICAjIHRsYm9wICAiLCAlMDsiICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgQUxURVJOQVRJVkUoICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICAibm9wOyBub3A7IiwgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICAgICAgImRzYiAgaXNoOyIgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICJ0bGJpICIgICMgdGxi
b3AgICIsICUwOyIsICAgICAgICAgICBcCi0gICAgICAgICAgICBBUk02NF9X
T1JLQVJPVU5EX1JFUEVBVF9UTEJJLCAgICAgICAgXAotICAgICAgICAgICAg
Q09ORklHX0FSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkkpIFwKLSAgICAg
ICAgOiA6ICJyIiAodmEgPj4gUEFHRV9TSElGVCkgOiAibWVtb3J5Iik7ICBc
CisjZGVmaW5lIFRMQl9IRUxQRVIobmFtZSwgdGxib3ApICAgICAgICAgICAg
ICAgICAgICAgICBcCitzdGF0aWMgaW5saW5lIHZvaWQgbmFtZSh2b2lkKSAg
ICAgICAgICAgICAgICAgICAgICAgICBcCit7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYXNt
IHZvbGF0aWxlICggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICAgICJkc2IgIGlzaHN0OyIgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgICAgICJ0bGJpICIgICMgdGxib3AgICI7
IiAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIEFMVEVSTkFU
SVZFKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ICAgICAgICAibm9wOyBub3A7IiwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICAgICAgICAiZHNiICBpc2g7IiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAidGxiaSB2YWxlMmlz
LCB4enI7IiwgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBB
Uk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLCAgICAgICAgICAgICBcCisg
ICAgICAgICAgICBDT05GSUdfQVJNNjRfV09SS0FST1VORF9SRVBFQVRfVExC
SSkgICAgICBcCisgICAgICAgICJkc2IgIGlzaDsiICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICJpc2I7IiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIDog
OiA6ICJtZW1vcnkiKTsgXAogfQogCiAvKiBGbHVzaCBsb2NhbCBUTEJzLCBj
dXJyZW50IFZNSUQgb25seS4gKi8KLVRMQl9IRUxQRVIoZmx1c2hfZ3Vlc3Rf
dGxiX2xvY2FsLCB2bWFsbHMxMmUxLCBuc2gpCitUTEJfSEVMUEVSX0xPQ0FM
KGZsdXNoX2d1ZXN0X3RsYl9sb2NhbCwgdm1hbGxzMTJlMSkKIAogLyogRmx1
c2ggaW5uZXJzaGFyZWFibGUgVExCcywgY3VycmVudCBWTUlEIG9ubHkgKi8K
LVRMQl9IRUxQRVIoZmx1c2hfZ3Vlc3RfdGxiLCB2bWFsbHMxMmUxaXMsIGlz
aCkKK1RMQl9IRUxQRVIoZmx1c2hfZ3Vlc3RfdGxiLCB2bWFsbHMxMmUxaXMp
CiAKIC8qIEZsdXNoIGxvY2FsIFRMQnMsIGFsbCBWTUlEcywgbm9uLWh5cGVy
dmlzb3IgbW9kZSAqLwotVExCX0hFTFBFUihmbHVzaF9hbGxfZ3Vlc3RzX3Rs
Yl9sb2NhbCwgYWxsZTEsIG5zaCkKK1RMQl9IRUxQRVJfTE9DQUwoZmx1c2hf
YWxsX2d1ZXN0c190bGJfbG9jYWwsIGFsbGUxKQogCiAvKiBGbHVzaCBpbm5l
cnNoYXJlYWJsZSBUTEJzLCBhbGwgVk1JRHMsIG5vbi1oeXBlcnZpc29yIG1v
ZGUgKi8KLVRMQl9IRUxQRVIoZmx1c2hfYWxsX2d1ZXN0c190bGIsIGFsbGUx
aXMsIGlzaCkKK1RMQl9IRUxQRVIoZmx1c2hfYWxsX2d1ZXN0c190bGIsIGFs
bGUxaXMpCiAKIC8qIEZsdXNoIGFsbCBoeXBlcnZpc29yIG1hcHBpbmdzIGZy
b20gdGhlIFRMQiBvZiB0aGUgbG9jYWwgcHJvY2Vzc29yLiAqLwotVExCX0hF
TFBFUihmbHVzaF94ZW5fdGxiX2xvY2FsLCBhbGxlMiwgbnNoKQorVExCX0hF
TFBFUl9MT0NBTChmbHVzaF94ZW5fdGxiX2xvY2FsLCBhbGxlMikKKworI3Vu
ZGVmIFRMQl9IRUxQRVJfTE9DQUwKKyN1bmRlZiBUTEJfSEVMUEVSCisKKy8q
CisgKiBGTHVzaCBUTEIgYnkgVkEuIFRoaXMgd2lsbCBsaWtlbHkgYmUgdXNl
ZCBpbiBhIGxvb3AsIHNvIHRoZSBjYWxsZXIKKyAqIGlzIHJlc3BvbnNpYmxl
IHRvIHVzZSB0aGUgYXBwcm9wcmlhdGUgbWVtb3J5IGJhcnJpZXJzIGJlZm9y
ZS9hZnRlcgorICogdGhlIHNlcXVlbmNlLgorICovCiAKIC8qIEZsdXNoIFRM
QiBvZiBsb2NhbCBwcm9jZXNzb3IgZm9yIGFkZHJlc3MgdmEuICovCi1UTEJf
SEVMUEVSX1ZBKF9fZmx1c2hfeGVuX3RsYl9vbmVfbG9jYWwsIHZhZTIpCitz
dGF0aWMgaW5saW5lIHZvaWQgX19mbHVzaF94ZW5fdGxiX29uZV9sb2NhbCh2
YWRkcl90IHZhKQoreworICAgIGFzbSB2b2xhdGlsZSAoCisgICAgICAgICJ0
bGJpIHZhZTIsICUwIiA6IDogInIiICh2YSA+PiBQQUdFX1NISUZUKSA6ICJt
ZW1vcnkiKTsKK30KIAogLyogRmx1c2ggVExCIG9mIGFsbCBwcm9jZXNzb3Jz
IGluIHRoZSBpbm5lci1zaGFyZWFibGUgZG9tYWluIGZvciBhZGRyZXNzIHZh
LiAqLwotVExCX0hFTFBFUl9WQShfX2ZsdXNoX3hlbl90bGJfb25lLCB2YWUy
aXMpCitzdGF0aWMgaW5saW5lIHZvaWQgX19mbHVzaF94ZW5fdGxiX29uZSh2
YWRkcl90IHZhKQoreworICAgIGFzbSB2b2xhdGlsZSAoCisgICAgICAgICJ0
bGJpIHZhZTJpcywgJTAiIDogOiAiciIgKHZhID4+IFBBR0VfU0hJRlQpIDog
Im1lbW9yeSIpOworfQogCi0jdW5kZWYgVExCX0hFTFBFUgotI3VuZGVmIFRM
Ql9IRUxQRVJfVkEKKy8qCisgKiBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9U
TEJJOgorICogRm9yIGFsbCByZWxldmFudCBlcnJhdGFzIGl0IGlzIG9ubHkg
bmVjZXNzYXJ5IHRvIGV4ZWN1dGUgYSBzaW5nbGUKKyAqIGFkZGl0aW9uYWwg
VExCSTtEU0Igc2VxdWVuY2UgYWZ0ZXIgYW55IG51bWJlciBvZiBUTEJJcyBh
cmUgY29tcGxldGVkIGJ5IERTQi4KKyAqLworc3RhdGljIGlubGluZSB2b2lk
IF9fdGxiX3JlcGVhdF9zeW5jKHZvaWQpCit7CisgICAgYXNtIHZvbGF0aWxl
ICgKKyAgICAgICAgQUxURVJOQVRJVkUoCisgICAgICAgICAgICAibm9wOyBu
b3A7IiwKKyAgICAgICAgICAgICJ0bGJpIHZhbGUyaXMsIHh6cjsiCisgICAg
ICAgICAgICAiZHNiICBpc2g7IiwKKyAgICAgICAgICAgIEFSTTY0X1dPUktB
Uk9VTkRfUkVQRUFUX1RMQkksCisgICAgICAgICAgICBDT05GSUdfQVJNNjRf
V09SS0FST1VORF9SRVBFQVRfVExCSSkKKyAgICAgICAgOiA6IDogIm1lbW9y
eSIpOworfQogCiAjZW5kaWYgLyogX19BU01fQVJNX0FSTTY0X0ZMVVNIVExC
X0hfXyAqLwogLyoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9pbmNsdWRl
L2FzbS9mbHVzaHRsYi5oIGIveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2Zs
dXNodGxiLmgKaW5kZXggZTQ1ZmI2ZDk3YjAyLi5jMjkyYzNjMDBkMjkgMTAw
NjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9mbHVzaHRsYi5o
CisrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9mbHVzaHRsYi5oCkBA
IC02NSw2ICs2NSw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBmbHVzaF94ZW5f
dGxiX3JhbmdlX3ZhKHZhZGRyX3QgdmEsCiAgICAgICAgIHZhICs9IFBBR0Vf
U0laRTsKICAgICB9CiAgICAgZHNiKGlzaCk7IC8qIEVuc3VyZSB0aGUgVExC
IGludmFsaWRhdGlvbiBoYXMgY29tcGxldGVkICovCisgICAgX190bGJfcmVw
ZWF0X3N5bmMoKTsKICAgICBpc2IoKTsKIH0KIApkaWZmIC0tZ2l0IGEveGVu
L2FyY2gvYXJtL2luY2x1ZGUvYXNtL21tdS9sYXlvdXQuaCBiL3hlbi9hcmNo
L2FybS9pbmNsdWRlL2FzbS9tbXUvbGF5b3V0LmgKaW5kZXggMTljMGVjNjNh
NTlhLi5mZWFmYzE0ZWJmZGEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9p
bmNsdWRlL2FzbS9tbXUvbGF5b3V0LmgKKysrIGIveGVuL2FyY2gvYXJtL2lu
Y2x1ZGUvYXNtL21tdS9sYXlvdXQuaApAQCAtMjMsNiArMjMsMTAgQEAKICAq
CiAgKiAgUmVzZXJ2ZWQgdG8gaWRlbnRpdHkgbWFwIFhlbgogICoKKyAqICBO
b3RlOiBBcyBwYXJ0IG9mIEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkks
IFZBIDAgaXMgdXNlZCBmb3IgYW4gZXh0cmEKKyAqICBUTEJJIG9wZXJhdGlv
biBnaXZlbiBpdHMgcmFyZSB1c2UgKG9ubHkgaWRlbnRpdHkgbWFwcGluZykg
YW5kIHRodXMKKyAqICBuZWdsaWdpYmxlIHBlcmZvcm1hbmNlIGltcGFjdC4K
KyAqCiAgKiAweDAwMDAwYTAwMDAwMDAwMDAgLSAweDAwMDAwYTdmZmZmZmZm
ZmYgKDUxMkdCLCBMMCBzbG90IFsyMF0pCiAgKiAgKFJlbGF0aXZlIG9mZnNl
dHMpCiAgKiAgIDAgIC0gICAyTSAgIFVubWFwcGVkCg==

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.20-02.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.20-02.patch"
Content-Transfer-Encoding: base64

RnJvbSBiMmU0ZWVmOWE5MmYwMmVhMTgwZjBiMzA2MDIzNTliMTY1YjhlZDQ5
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU1ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IFN5bmMgbWlzc2lu
ZyBkZWZpbml0aW9ucyBmb3IgQXJtIENQVXMgd2l0aCBMaW51eAoKU3luY2hy
b25pemUgd2l0aCBMaW51eCBrZXJuZWwgNy4wIGRlZmluaXRpb25zIGZvciB0
aGUgZm9sbG93aW5nIENQVXM6CiAtIENvcnRleC1BNzZBRSwKIC0gQ29ydGV4
LUE3OEFFLAogLSBDb3J0ZXgtWDFDLAogLSBDb3J0ZXgtWDMsCiAtIE5lb3Zl
cnNlLVYyLAogLSBDb3J0ZXgtWDQsCiAtIE5lb3ZlcnNlLVYzQUUsCiAtIE5l
b3ZlcnNlLVYzLAogLSBDb3J0ZXgtWDkyNS4KClRoZXNlIHdpbGwgYmUgdXNl
ZCBmb3IgZXJyYXRhIGRldGVjdGlvbiBpbiBzdWJzZXF1ZW50IHBhdGNoZXMu
CgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnplbEBh
bWQuY29tPgpSZXZpZXdlZC1ieTogSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVu
Lm9yZz4KCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20v
cHJvY2Vzc29yLmggYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vcHJvY2Vz
c29yLmgKaW5kZXggZWNmN2YyZTg1OWRmLi5lMzQ0NzE1MDgyMmIgMTAwNjQ0
Ci0tLSBhL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaAor
KysgYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vcHJvY2Vzc29yLmgKQEAg
LTg5LDEzICs4OSwyMiBAQAogI2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVY
X0E3NiAgICAgMHhEMEIKICNkZWZpbmUgQVJNX0NQVV9QQVJUX05FT1ZFUlNF
X04xICAgIDB4RDBDCiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTc3
ICAgICAweEQwRAorI2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E3NkFF
ICAgMHhEMEUKICNkZWZpbmUgQVJNX0NQVV9QQVJUX05FT1ZFUlNFX1YxICAg
IDB4RDQwCiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTc4ICAgICAw
eEQ0MQorI2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E3OEFFICAgMHhE
NDIKICNkZWZpbmUgQVJNX0NQVV9QQVJUX0NPUlRFWF9YMSAgICAgIDB4RDQ0
CiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTcxMCAgICAweEQ0Nwog
I2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX1gyICAgICAgMHhENDgKICNk
ZWZpbmUgQVJNX0NQVV9QQVJUX05FT1ZFUlNFX04yICAgIDB4RDQ5CiAjZGVm
aW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTc4QyAgICAweEQ0QgorI2RlZmlu
ZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX1gxQyAgICAgMHhENEMKKyNkZWZpbmUg
QVJNX0NQVV9QQVJUX0NPUlRFWF9YMyAgICAgIDB4RDRFCisjZGVmaW5lIEFS
TV9DUFVfUEFSVF9ORU9WRVJTRV9WMiAgICAweEQ0RgorI2RlZmluZSBBUk1f
Q1BVX1BBUlRfQ09SVEVYX1g0ICAgICAgMHhEODIKKyNkZWZpbmUgQVJNX0NQ
VV9QQVJUX05FT1ZFUlNFX1YzQUUgIDB4RDgzCisjZGVmaW5lIEFSTV9DUFVf
UEFSVF9ORU9WRVJTRV9WMyAgICAweEQ4NAorI2RlZmluZSBBUk1fQ1BVX1BB
UlRfQ09SVEVYX1g5MjUgICAgMHhEODUKIAogI2RlZmluZSBNSURSX0NPUlRF
WF9BMTIgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BV
X1BBUlRfQ09SVEVYX0ExMikKICNkZWZpbmUgTUlEUl9DT1JURVhfQTE3IE1J
RFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NP
UlRFWF9BMTcpCkBAIC0xMTAsMTMgKzExOSwyMiBAQAogI2RlZmluZSBNSURS
X0NPUlRFWF9BNzYgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBB
Uk1fQ1BVX1BBUlRfQ09SVEVYX0E3NikKICNkZWZpbmUgTUlEUl9ORU9WRVJT
RV9OMSBNSURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVf
UEFSVF9ORU9WRVJTRV9OMSkKICNkZWZpbmUgTUlEUl9DT1JURVhfQTc3IE1J
RFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NP
UlRFWF9BNzcpCisjZGVmaW5lIE1JRFJfQ09SVEVYX0E3NkFFIE1JRFJfQ1BV
X01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9B
NzZBRSkKICNkZWZpbmUgTUlEUl9ORU9WRVJTRV9WMSBNSURSX0NQVV9NT0RF
TChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9ORU9WRVJTRV9WMSkK
ICNkZWZpbmUgTUlEUl9DT1JURVhfQTc4IE1JRFJfQ1BVX01PREVMKEFSTV9D
UFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9BNzgpCisjZGVmaW5l
IE1JRFJfQ09SVEVYX0E3OEFFIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1Q
X0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9BNzhBRSkKICNkZWZpbmUgTUlE
Ul9DT1JURVhfWDEgIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwg
QVJNX0NQVV9QQVJUX0NPUlRFWF9YMSkKICNkZWZpbmUgTUlEUl9DT1JURVhf
QTcxMCBNSURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVf
UEFSVF9DT1JURVhfQTcxMCkKICNkZWZpbmUgTUlEUl9DT1JURVhfWDIgIE1J
RFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NP
UlRFWF9YMikKICNkZWZpbmUgTUlEUl9ORU9WRVJTRV9OMiBNSURSX0NQVV9N
T0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9ORU9WRVJTRV9O
MikKICNkZWZpbmUgTUlEUl9DT1JURVhfQTc4QyBNSURSX0NQVV9NT0RFTChB
Uk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9DT1JURVhfQTc4QykKKyNk
ZWZpbmUgTUlEUl9DT1JURVhfWDFDIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVf
SU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9YMUMpCisjZGVmaW5lIE1J
RFJfQ09SVEVYX1gzIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwg
QVJNX0NQVV9QQVJUX0NPUlRFWF9YMykKKyNkZWZpbmUgTUlEUl9ORU9WRVJT
RV9WMiBNSURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVf
UEFSVF9ORU9WRVJTRV9WMikKKyNkZWZpbmUgTUlEUl9DT1JURVhfWDQgTUlE
Ul9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09S
VEVYX1g0KQorI2RlZmluZSBNSURSX05FT1ZFUlNFX1YzQUUgTUlEUl9DUFVf
TU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfTkVPVkVSU0Vf
VjNBRSkKKyNkZWZpbmUgTUlEUl9ORU9WRVJTRV9WMyBNSURSX0NQVV9NT0RF
TChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9ORU9WRVJTRV9WMykK
KyNkZWZpbmUgTUlEUl9DT1JURVhfWDkyNSBNSURSX0NQVV9NT0RFTChBUk1f
Q1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9DT1JURVhfWDkyNSkKIAogLyog
TVBJRFIgTXVsdGlwcm9jZXNzb3IgQWZmaW5pdHkgUmVnaXN0ZXIgKi8KICNk
ZWZpbmUgX01QSURSX1VQICAgICAgICAgICAoMzApCg==

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.20-03.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.20-03.patch"
Content-Transfer-Encoding: base64

RnJvbSBkMTQ1MjdkNjcwZDI5YjU5ZmQ5NjAwNDM1MjdlMjU2NDM5YzBmYzdk
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU2ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IEFkZCBDMS1VbHRy
YSBkZWZpbml0aW9ucwoKQWRkIHByb2Nlc3NvciBkZWZpbml0aW9ucyBmb3Ig
QzEtVWx0cmEuIFRoZXNlIHdpbGwgYmUgdXNlZCBmb3IgZXJyYXRhCmRldGVj
dGlvbiBpbiBzdWJzZXF1ZW50IHBhdGNoZXMuCgpUaGVzZSB2YWx1ZXMgY2Fu
IGJlIGZvdW5kIGluIHRoZSBDMS1VbHRyYSBUUk06CgogIGh0dHBzOi8vZGV2
ZWxvcGVyLmFybS5jb20vZG9jdW1lbnRhdGlvbi8xMDgwMTQvMDEwMC8KCi4u
LiBpbiBzZWN0aW9uIEEuNS4xICgiTUlEUl9FTDEsIE1haW4gSUQgUmVnaXN0
ZXIiKS4KClNpZ25lZC1vZmYtYnk6IE1pY2hhbCBPcnplbCA8bWljaGFsLm9y
emVsQGFtZC5jb20+ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGll
bkB4ZW4ub3JnPgoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9pbmNsdWRl
L2FzbS9wcm9jZXNzb3IuaCBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9w
cm9jZXNzb3IuaAppbmRleCBlMzQ0NzE1MDgyMmIuLjFmOGIyMTg0ZmE0NCAx
MDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3Byb2Nlc3Nv
ci5oCisrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wcm9jZXNzb3Iu
aApAQCAtMTA1LDYgKzEwNSw3IEBACiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9O
RU9WRVJTRV9WM0FFICAweEQ4MwogI2RlZmluZSBBUk1fQ1BVX1BBUlRfTkVP
VkVSU0VfVjMgICAgMHhEODQKICNkZWZpbmUgQVJNX0NQVV9QQVJUX0NPUlRF
WF9YOTI1ICAgIDB4RDg1CisjZGVmaW5lIEFSTV9DUFVfUEFSVF9DMV9VTFRS
QSAgICAgICAweEQ4QwogCiAjZGVmaW5lIE1JRFJfQ09SVEVYX0ExMiBNSURS
X0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9DT1JU
RVhfQTEyKQogI2RlZmluZSBNSURSX0NPUlRFWF9BMTcgTUlEUl9DUFVfTU9E
RUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVYX0ExNykK
QEAgLTEzNSw2ICsxMzYsNyBAQAogI2RlZmluZSBNSURSX05FT1ZFUlNFX1Yz
QUUgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BB
UlRfTkVPVkVSU0VfVjNBRSkKICNkZWZpbmUgTUlEUl9ORU9WRVJTRV9WMyBN
SURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9O
RU9WRVJTRV9WMykKICNkZWZpbmUgTUlEUl9DT1JURVhfWDkyNSBNSURSX0NQ
VV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9DT1JURVhf
WDkyNSkKKyNkZWZpbmUgTUlEUl9DMV9VTFRSQSBNSURSX0NQVV9NT0RFTChB
Uk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9DMV9VTFRSQSkKIAogLyog
TVBJRFIgTXVsdGlwcm9jZXNzb3IgQWZmaW5pdHkgUmVnaXN0ZXIgKi8KICNk
ZWZpbmUgX01QSURSX1VQICAgICAgICAgICAoMzApCg==

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.20-04.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.20-04.patch"
Content-Transfer-Encoding: base64

RnJvbSA3YzE4NmQxNWFjZDliMTdhNjEwYTVhZTFmY2E4NWM2Zjk5Y2NjYTBk
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU3ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IEFkZCBDMS1QcmVt
aXVtIGRlZmluaXRpb25zCgpBZGQgcHJvY2Vzc29yIGRlZmluaXRpb25zIGZv
ciBDMS1QcmVtaXVtLiBUaGVzZSB3aWxsIGJlIHVzZWQgZm9yIGVycmF0YQpk
ZXRlY3Rpb24gaW4gc3Vic2VxdWVudCBwYXRjaGVzLgoKVGhlc2UgdmFsdWVz
IGNhbiBiZSBmb3VuZCBpbiB0aGUgQzEtUHJlbWl1bSBUUk06CgogIGh0dHBz
Oi8vZGV2ZWxvcGVyLmFybS5jb20vZG9jdW1lbnRhdGlvbi8xMDk0MTYvMDEw
MC8KCi4uLiBpbiBzZWN0aW9uIEEuNS4xICgiTUlEUl9FTDEsIE1haW4gSUQg
UmVnaXN0ZXIiKS4KClNpZ25lZC1vZmYtYnk6IE1pY2hhbCBPcnplbCA8bWlj
aGFsLm9yemVsQGFtZC5jb20+ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwg
PGp1bGllbkB4ZW4ub3JnPgoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9p
bmNsdWRlL2FzbS9wcm9jZXNzb3IuaCBiL3hlbi9hcmNoL2FybS9pbmNsdWRl
L2FzbS9wcm9jZXNzb3IuaAppbmRleCAxZjhiMjE4NGZhNDQuLjI0MDU2MTY1
MzRhYiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3By
b2Nlc3Nvci5oCisrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wcm9j
ZXNzb3IuaApAQCAtMTA2LDYgKzEwNiw3IEBACiAjZGVmaW5lIEFSTV9DUFVf
UEFSVF9ORU9WRVJTRV9WMyAgICAweEQ4NAogI2RlZmluZSBBUk1fQ1BVX1BB
UlRfQ09SVEVYX1g5MjUgICAgMHhEODUKICNkZWZpbmUgQVJNX0NQVV9QQVJU
X0MxX1VMVFJBICAgICAgIDB4RDhDCisjZGVmaW5lIEFSTV9DUFVfUEFSVF9D
MV9QUkVNSVVNICAgICAweEQ5MAogCiAjZGVmaW5lIE1JRFJfQ09SVEVYX0Ex
MiBNSURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFS
VF9DT1JURVhfQTEyKQogI2RlZmluZSBNSURSX0NPUlRFWF9BMTcgTUlEUl9D
UFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVY
X0ExNykKQEAgLTEzNyw2ICsxMzgsNyBAQAogI2RlZmluZSBNSURSX05FT1ZF
UlNFX1YzIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQ
VV9QQVJUX05FT1ZFUlNFX1YzKQogI2RlZmluZSBNSURSX0NPUlRFWF9YOTI1
IE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJU
X0NPUlRFWF9YOTI1KQogI2RlZmluZSBNSURSX0MxX1VMVFJBIE1JRFJfQ1BV
X01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0MxX1VMVFJB
KQorI2RlZmluZSBNSURSX0MxX1BSRU1JVU0gTUlEUl9DUFVfTU9ERUwoQVJN
X0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQzFfUFJFTUlVTSkKIAogLyog
TVBJRFIgTXVsdGlwcm9jZXNzb3IgQWZmaW5pdHkgUmVnaXN0ZXIgKi8KICNk
ZWZpbmUgX01QSURSX1VQICAgICAgICAgICAoMzApCg==

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.20-05.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.20-05.patch"
Content-Transfer-Encoding: base64

RnJvbSA3ODhmZDdjMDA2ZTJhYjIxMGVmNjY4MDZlMDYxYjM2Y2NkZmIyODEz
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU4ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IE1pdGlnYXRlIFRM
QkkgZXJyYXRhIG9uIHZhcmlvdXMgQXJtIENQVXMKCkEgbnVtYmVyIG9mIENQ
VXMgZGV2ZWxvcGVkIGJ5IEFybSBzdWZmZXIgZnJvbSBlcnJhdGEgd2hlcmVi
eSBhIGJyb2FkY2FzdApUTEJJICsgRFNCIHNlcXVlbmNlIG1heSBjb21wbGV0
ZSBiZWZvcmUgdGhlIGdsb2JhbCBvYnNlcnZhdGlvbiBvZiB3cml0ZXMKd2hp
Y2ggYXJlIHRyYW5zbGF0ZWQgYnkgYW4gYWZmZWN0ZWQgVExCIGVudHJ5LiBU
aGlzIGNhbiBsZWFkIHRvIG1lbW9yeQpjb3JydXB0aW9uIGFuZCBwb3RlbnRp
YWwgcHJpdmlsZWdlIGVzY2FsYXRpb24uCgpUaGVzZSBlcnJhdGEgT05MWSBh
ZmZlY3QgdGhlIGNvbXBsZXRpb24gb2YgbWVtb3J5IGFjY2Vzc2VzIHdoaWNo
IGhhdmUKYmVlbiB0cmFuc2xhdGVkIGJ5IGFuIGludmFsaWRhdGVkIFRMQiBl
bnRyeSwgYW5kIHRoZXNlIGVycmF0YSBETyBOT1QKYWZmZWN0IHRoZSBhY3R1
YWwgaW52YWxpZGF0aW9uIG9mIFRMQiBlbnRyaWVzLiBUTEIgZW50cmllcyBh
cmUgcmVtb3ZlZApjb3JyZWN0bHkuCgpUbyBtaXRpZ2F0ZSB0aGlzIGlzc3Vl
LCBBcm0gcmVjb21tZW5kcyB0aGF0IHNvZnR3YXJlIGZvbGxvd3MgZWFjaApU
TEJJK0RTQiBzZXF1ZW5jZSB3aXRoIGFuIGFkZGl0aW9uYWwgVExCSStEU0Is
IHdoaWNoIHdpbGwgZW5zdXJlIHRoYXQKYWxsIG1lbW9yeSB3cml0ZSBlZmZl
Y3RzIGFmZmVjdGVkIGJ5IHRoZSBmaXJzdCBUTEJJIGhhdmUgYmVlbiBnbG9i
YWxseQpvYnNlcnZlZC4KClRoZSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9U
TEJJIHdvcmthcm91bmQgaXMgc3VmZmljaWVudCB0byBtaXRpZ2F0ZSB0aGUK
aXNzdWUuIEVuYWJsZSB0aGlzIHdvcmthcm91bmQgZm9yIGFmZmVjdGVkIENQ
VXMuCgpUaGlzIGlzIFhTQS00OTMgLyBDVkUtMjAyNS0xMDI2My4KClNpZ25l
ZC1vZmYtYnk6IE1pY2hhbCBPcnplbCA8bWljaGFsLm9yemVsQGFtZC5jb20+
ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPgoK
ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9LY29uZmlnIGIveGVuL2FyY2gv
YXJtL0tjb25maWcKaW5kZXggYTI2ZDNlMTE4MjdjLi5hODk5OTU1NDVmOTUg
MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9LY29uZmlnCisrKyBiL3hlbi9h
cmNoL2FybS9LY29uZmlnCkBAIC00NjcsNiArNDY3LDI3IEBAIGNvbmZpZyBB
Uk02NF9FUlJBVFVNXzE1MDg0MTIKIAogCSAgSWYgdW5zdXJlLCBzYXkgWS4K
IAorY29uZmlnIEFSTTY0X0VSUkFUVU1fQ1ZFXzIwMjVfMTAyNjMKKwlib29s
ICJDb3J0ZXgtKi9OZW92ZXJzZS0qL0MxLSo6IENvbXBsZXRpb24gb2YgYWZm
ZWN0ZWQgbWVtb3J5IGFjY2Vzc2VzIG1pZ2h0IG5vdCBiZSBndWFyYW50ZWVk
IGJ5IGNvbXBsZXRpb24gb2YgYSBUTEJJIgorCWRlZmF1bHQgeQorCWRlcGVu
ZHMgb24gQVJNXzY0CisJc2VsZWN0IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFU
X1RMQkkKKwloZWxwCisJICBUaGlzIG9wdGlvbiBhZGRzIGEgd29ya2Fyb3Vu
ZCBmb3IgQ1ZFLTIwMjUtMTAyNjMuCisKKwkgIEEgYnJvYWRjYXN0IFRMQkkg
b24gYW5vdGhlciBQRSBtYXkgY29tcGxldGUgYmVmb3JlIGFmZmVjdGVkIG1l
bW9yeQorCSAgYWNjZXNzZXMgYXJlIGdsb2JhbGx5IG9ic2VydmVkLiBUaGlz
IG1heSBwZXJtaXQgYnlwYXNzIG9mIFN0YWdlIDEKKwkgIHRyYW5zbGF0aW9u
LCBTdGFnZS0yIHRyYW5zbGF0aW9uLCBvciBHUFQgcHJvdGVjdGlvbi4KKwor
CSAgVGhlIHdvcmthcm91bmQgcmVwZWF0cyB0aGUgVExCSSBWQUxFMklTLCBY
WlIgKyBEU0IgSVNIIG9wZXJhdGlvbiBmb3IgYWxsCisJICB0aGUgYnJvYWRj
YXN0IFRMQiBmbHVzaCBvcGVyYXRpb25zLiBBIHNpbmdsZSBhZGRpdGlvbmFs
IFRMQkkgYW5kIERTQiBhcmUKKwkgIHN1ZmZpY2llbnQgcmVnYXJkbGVzcyBv
ZiBob3cgbWFueSBUTEJJcyBhcmUgY29tcGxldGVkIGJ5IHRoZSBEU0IuCisK
KwkgIE5vdGUgdGhhdCBzb2Z0d2FyZSB3b3JrYXJvdW5kcyBhcmUgcmVxdWly
ZWQgYXQgYWxsIGV4ZWN1dGlvbiBsZXZlbHMgZm9yCisJICBhZmZlY3RlZCBw
YXJ0cyB0byBmdWxseSBtaXRpZ2F0ZSB0aGlzIGlzc3VlLgorCisJICBJZiB1
bnN1cmUsIHNheSBZLgorCiBlbmRtZW51CiAKIGNvbmZpZyBBUk02NF9IQVJE
RU5fQlJBTkNIX1BSRURJQ1RPUgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJt
L2NwdWVycmF0YS5jIGIveGVuL2FyY2gvYXJtL2NwdWVycmF0YS5jCmluZGV4
IDE3Y2YxMzRmMWIwZC4uM2EzMjE4MzYxOGRjIDEwMDY0NAotLS0gYS94ZW4v
YXJjaC9hcm0vY3B1ZXJyYXRhLmMKKysrIGIveGVuL2FyY2gvYXJtL2NwdWVy
cmF0YS5jCkBAIC01MzQsNiArNTM0LDkyIEBAIHN0YXRpYyBjb25zdCBzdHJ1
Y3QgYXJtX2NwdV9jYXBhYmlsaXRpZXMgYXJtX2VycmF0YVtdID0gewogICAg
ICAgICBNSURSX1JBTkdFKE1JRFJfTkVPVkVSU0VfTjEsIDAsIDMgPDwgTUlE
Ul9WQVJJQU5UX1NISUZUKSwKICAgICB9LAogI2VuZGlmCisjaWZkZWYgQ09O
RklHX0FSTTY0X0VSUkFUVU1fQ1ZFXzIwMjVfMTAyNjMKKyAgICB7CisgICAg
ICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9SRVBFQVRfVExC
SSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9DT1JURVhfQTc2
KSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02
NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9W
RVJTSU9OUyhNSURSX0NPUlRFWF9BNzZBRSksCisgICAgfSwKKyAgICB7Cisg
ICAgICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9SRVBFQVRf
VExCSSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9DT1JURVhf
QTc3KSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBB
Uk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FM
TF9WRVJTSU9OUyhNSURSX0NPUlRFWF9BNzgpLAorICAgIH0sCisgICAgewor
ICAgICAgICAuY2FwYWJpbGl0eSA9IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFU
X1RMQkksCisgICAgICAgIE1JRFJfQUxMX1ZFUlNJT05TKE1JRFJfQ09SVEVY
X0E3OEFFKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkg
PSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURS
X0FMTF9WRVJTSU9OUyhNSURSX0NPUlRFWF9BNzhDKSwKKyAgICB9LAorICAg
IHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JF
UEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX0NP
UlRFWF9BNzEwKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxp
dHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBN
SURSX0FMTF9WRVJTSU9OUyhNSURSX0NPUlRFWF9YMSksCisgICAgfSwKKyAg
ICB7CisgICAgICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9S
RVBFQVRfVExCSSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9D
T1JURVhfWDFDKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxp
dHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBN
SURSX0FMTF9WRVJTSU9OUyhNSURSX0NPUlRFWF9YMiksCisgICAgfSwKKyAg
ICB7CisgICAgICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9S
RVBFQVRfVExCSSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9D
T1JURVhfWDMpLAorICAgIH0sCisgICAgeworICAgICAgICAuY2FwYWJpbGl0
eSA9IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkksCisgICAgICAgIE1J
RFJfQUxMX1ZFUlNJT05TKE1JRFJfQ09SVEVYX1g0KSwKKyAgICB9LAorICAg
IHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JF
UEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX0NP
UlRFWF9YOTI1KSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxp
dHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBN
SURSX0FMTF9WRVJTSU9OUyhNSURSX05FT1ZFUlNFX04xKSwKKyAgICB9LAor
ICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5E
X1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURS
X05FT1ZFUlNFX04yKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFi
aWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAg
ICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX05FT1ZFUlNFX1YxKSwKKyAgICB9
LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJP
VU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhN
SURSX05FT1ZFUlNFX1YyKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNh
cGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAg
ICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX05FT1ZFUlNFX1YzKSwKKyAg
ICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JL
QVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9O
UyhNSURSX05FT1ZFUlNFX1YzQUUpLAorICAgIH0sCisgICAgeworICAgICAg
ICAuY2FwYWJpbGl0eSA9IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkks
CisgICAgICAgIE1JRFJfQUxMX1ZFUlNJT05TKE1JRFJfQzFfVUxUUkEpLAor
ICAgIH0sCisgICAgeworICAgICAgICAuY2FwYWJpbGl0eSA9IEFSTTY0X1dP
UktBUk9VTkRfUkVQRUFUX1RMQkksCisgICAgICAgIE1JRFJfQUxMX1ZFUlNJ
T05TKE1JRFJfQzFfUFJFTUlVTSksCisgICAgfSwKKyNlbmRpZgogI2lmZGVm
IENPTkZJR19BUk02NF9IQVJERU5fQlJBTkNIX1BSRURJQ1RPUgogICAgIHsK
ICAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk1fSEFSREVOX0JSQU5DSF9QUkVE
SUNUT1IsCg==

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.21-01.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.21-01.patch"
Content-Transfer-Encoding: base64

RnJvbSAyZTIxYjUzMDE3NjVkZTM1M2MwNjA4MWVlZTk1MzI1NWJmMzI3MTc2
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBUdWUsIDE0IEFwciAyMDI2
IDEwOjExOjI0ICswMjAwClN1YmplY3Q6IHhlbi9hcm02NDogZmx1c2h0bGI6
IE9wdGltaXplIEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkkKClRoZSBB
Uk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJIHdvcmthcm91bmQgaXMgdXNl
ZCB0byBtaXRpZ2F0ZSBzZXZlcmFsCmVycmF0YSB3aGVyZSBicm9hZGNhc3Qg
VExCSTtEU0Igc2VxdWVuY2VzIGRvbid0IHByb3ZpZGUgYWxsIHRoZQphcmNo
aXRlY3R1cmFsbHkgcmVxdWlyZWQgc3luY2hyb25pemF0aW9uLiBUaGUgd29y
a2Fyb3VuZCBwZXJmb3JtcyBtb3JlCndvcmsgdGhhbiBuZWNlc3NhcnksIGFu
ZCBjYW4gaGF2ZSBzaWduaWZpY2FudCBvdmVyaGVhZC4gVGhpcyBwYXRjaApv
cHRpbWl6ZXMgdGhlIHdvcmthcm91bmQsIGFzIGV4cGxhaW5lZCBiZWxvdy4K
CjEuIEFsbCByZWxldmFudCBlcnJhdGEgb25seSBhZmZlY3QgdGhlIG9yZGVy
aW5nIGFuZC9vciBjb21wbGV0aW9uIG9mCiAgIG1lbW9yeSBhY2Nlc3NlcyB3
aGljaCBoYXZlIGJlZW4gdHJhbnNsYXRlZCBieSBhbiBpbnZhbGlkYXRlZCBU
TEIKICAgZW50cnkuIFRoZSBhY3R1YWwgaW52YWxpZGF0aW9uIG9mIFRMQiBl
bnRyaWVzIGlzIHVuYWZmZWN0ZWQuCgoyLiBUaGUgZXhpc3Rpbmcgd29ya2Fy
b3VuZCBpcyBhcHBsaWVkIHRvIGJvdGggYnJvYWRjYXN0IGFuZCBsb2NhbCBU
TEIKICAgaW52YWxpZGF0aW9uLCB3aGVyZWFzIGZvciBhbGwgcmVsZXZhbnQg
ZXJyYXRhIGl0IGlzIG9ubHkgbmVjZXNzYXJ5IHRvCiAgIGFwcGx5IGEgd29y
a2Fyb3VuZCBmb3IgYnJvYWRjYXN0IGludmFsaWRhdGlvbi4KCjMuIFRoZSBl
eGlzdGluZyB3b3JrYXJvdW5kIHJlcGxhY2VzIGV2ZXJ5IFRMQkkgd2l0aCBh
IFRMQkk7RFNCO1RMQkkKICAgc2VxdWVuY2UsIHdoZXJlYXMgZm9yIGFsbCBy
ZWxldmFudCBlcnJhdGEgaXQgaXMgb25seSBuZWNlc3NhcnkgdG8KICAgZXhl
Y3V0ZSBhIHNpbmdsZSBhZGRpdGlvbmFsIFRMQkk7RFNCIHNlcXVlbmNlIGFm
dGVyIGFueSBudW1iZXIgb2YKICAgVExCSXMgYXJlIGNvbXBsZXRlZCBieSBh
IERTQi4KCiAgIEZvciBleGFtcGxlLCBmb3IgYSBzZXF1ZW5jZSBvZiBiYXRj
aGVkIFRMQklzOgoKICAgICAgIFRMQkkgPG9wMT5bLCA8YXJnMT5dCiAgICAg
ICBUTEJJIDxvcDI+WywgPGFyZzI+XQogICAgICAgVExCSSA8b3AzPlssIDxh
cmczPl0KICAgICAgIERTQiBJU0gKCiAgIC4uLiB0aGUgZXhpc3Rpbmcgd29y
a2Fyb3VuZCB3aWxsIGV4cGFuZCB0aGlzIHRvOgoKICAgICAgIFRMQkkgPG9w
MT5bLCA8YXJnMT5dCiAgICAgICBEU0IgSVNIICAgICAgICAgICAgICAgICAg
Ly8gYWRkaXRpb25hbAogICAgICAgVExCSSA8b3AxPlssIDxhcmcxPl0gICAg
IC8vIGFkZGl0aW9uYWwKICAgICAgIFRMQkkgPG9wMj5bLCA8YXJnMj5dCiAg
ICAgICBEU0IgSVNIICAgICAgICAgICAgICAgICAgLy8gYWRkaXRpb25hbAog
ICAgICAgVExCSSA8b3AyPlssIDxhcmcyPl0gICAgIC8vIGFkZGl0aW9uYWwK
ICAgICAgIFRMQkkgPG9wMz5bLCA8YXJnMz5dCiAgICAgICBEU0IgSVNIICAg
ICAgICAgICAgICAgICAgLy8gYWRkaXRpb25hbAogICAgICAgVExCSSA8b3Az
PlssIDxhcmczPl0gICAgIC8vIGFkZGl0aW9uYWwKICAgICAgIERTQiBJU0gK
CiAgIC4uLiB3aGVyZWFzIGl0IGlzIHN1ZmZpY2llbnQgdG8gaGF2ZToKCiAg
ICAgICBUTEJJIDxvcDE+WywgPGFyZzE+XQogICAgICAgVExCSSA8b3AyPlss
IDxhcmcyPl0KICAgICAgIFRMQkkgPG9wMz5bLCA8YXJnMz5dCiAgICAgICBE
U0IgSVNICiAgICAgICBUTEJJIDxvcFg+WywgPGFyZ1g+XSAgICAgLy8gYWRk
aXRpb25hbAogICAgICAgRFNCIElTSCAgICAgICAgICAgICAgICAgIC8vIGFk
ZGl0aW9uYWwKCiAgIFVzaW5nIGEgc2luZ2xlIGFkZGl0aW9uYWwgVExCSSBh
bmQgRFNCIGF0IHRoZSBlbmQgb2YgdGhlIHNlcXVlbmNlIGNhbgogICBoYXZl
IHNpZ25pZmljYW50bHkgbG93ZXIgb3ZlcmhlYWQgYXMgZWFjaCBEU0Igd2hp
Y2ggY29tcGxldGVzIGEgVExCSQogICBtdXN0IHN5bmNocm9uaXplIHdpdGgg
b3RoZXIgUEVzIGluIHRoZSBzeXN0ZW0sIHdpdGggcG90ZW50aWFsCiAgIHBl
cmZvcm1hbmNlIGVmZmVjdHMgYm90aCBsb2NhbGx5IGFuZCBzeXN0ZW0td2lk
ZS4KCjQuIFRoZSBleGlzdGluZyB3b3JrYXJvdW5kIHJlcGVhdHMgZWFjaCBz
cGVjaWZpYyBUTEJJIG9wZXJhdGlvbiwgd2hlcmVhcwogICBmb3IgYWxsIHJl
bGV2YW50IGVycmF0YSBpdCBpcyBzdWZmaWNpZW50IGZvciB0aGUgYWRkaXRp
b25hbCBUTEJJIHRvCiAgIHVzZSAqYW55KiBvcGVyYXRpb24gd2hpY2ggd2ls
bCBiZSBicm9hZGNhc3QsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2gKICAgdHJhbnNs
YXRpb24gcmVnaW1lIG9yIHN0YWdlIG9mIHRyYW5zbGF0aW9uIHRoZSBvcGVy
YXRpb24gYXBwbGllcyB0by4KCiAgIEZvciBleGFtcGxlLCBmb3IgYSBzaW5n
bGUgVExCSToKCiAgICAgICBUTEJJIEFMTEUySVMKICAgICAgIERTQiBJU0gK
CiAgIC4uLiB0aGUgZXhpc3Rpbmcgd29ya2Fyb3VuZCB3aWxsIGV4cGFuZCB0
aGlzIHRvOgoKICAgICAgIFRMQkkgQUxMRTJJUwogICAgICAgRFNCIElTSAog
ICAgICAgVExCSSBBTExFMklTICAgICAgICAgICAgIC8vIGFkZGl0aW9uYWwK
ICAgICAgIERTQiBJU0ggICAgICAgICAgICAgICAgICAvLyBhZGRpdGlvbmFs
CgogICAuLi4gd2hlcmVhcyBpdCBpcyBzdWZmaWNpZW50IHRvIGhhdmU6Cgog
ICAgICAgVExCSSBBTExFMklTCiAgICAgICBEU0IgSVNICiAgICAgICBUTEJJ
IFZBTEUxSVMsIFhaUiAgICAgICAgLy8gYWRkaXRpb25hbAogICAgICAgRFNC
IElTSCAgICAgICAgICAgICAgICAgIC8vIGFkZGl0aW9uYWwKCiAgIEFzIHRo
ZSBhZGRpdGlvbmFsIFRMQkkgZG9lc24ndCBoYXZlIHRvIG1hdGNoIGEgc3Bl
Y2lmaWMgZWFybGllciBUTEJJLAogICB0aGUgYWRkaXRpb25hbCBUTEJJIGNh
biBiZSBpbXBsZW1lbnRlZCBpbiBzZXBhcmF0ZSBjb2RlLCB3aXRoIG5vCiAg
IG1lbW9yeSBvZiB0aGUgZWFybGllciBUTEJJcy4gVGhlIGFkZGl0aW9uYWwg
VExCSSBjYW4gYWxzbyB1c2UgYQogICBjaGVhcGVyIFRMQkkgb3BlcmF0aW9u
LgoKNS4gVGhlIGV4aXN0aW5nIHdvcmthcm91bmQgaXMgYXBwbGllZCB0byBi
b3RoIFN0YWdlLTEgYW5kIFN0YWdlLTIgVExCCiAgIGludmFsaWRhdGlvbiwg
d2hlcmVhcyBmb3IgYWxsIHJlbGV2YW50IGVycmF0YSBpdCBpcyBvbmx5IG5l
Y2Vzc2FyeSB0bwogICBhcHBseSBhIHdvcmthcm91bmQgZm9yIFN0YWdlLTEg
aW52YWxpZGF0aW9uLgoKICAgQXJjaGl0ZWN0dXJhbGx5LCBUTEJJIG9wZXJh
dGlvbnMgd2hpY2ggaW52YWxpZGF0ZSBvbmx5IFN0YWdlLTIKICAgaW5mb3Jt
YXRpb24gKGUuZy4gSVBBUzJFMUlTKSBhcmUgbm90IHJlcXVpcmVkIHRvIGlu
dmFsaWRhdGUgVExCCiAgIGVudHJpZXMgd2hpY2ggY29tYmluZSBpbmZvcm1h
dGlvbiBmcm9tIFN0YWdlLTEgYW5kIFN0YWdlLTIKICAgdHJhbnNsYXRpb24g
dGFibGUgZW50cmllcywgYW5kIGNvbnNlcXVlbnRseSBtYXkgbm90IGNvbXBs
ZXRlIG1lbW9yeQogICBhY2Nlc3NlcyB0cmFuc2xhdGVkIGJ5IHRob3NlIGNv
bWJpbmVkIGVudHJpZXMuIEluIHRoZXNlIGNhc2VzLAogICBjb21wbGV0aW9u
IG9mIG1lbW9yeSBhY2Nlc3NlcyBpcyBvbmx5IGd1YXJhbnRlZWQgYWZ0ZXIg
c3Vic2VxdWVudAogICBpbnZhbGlkYXRpb24gb2YgU3RhZ2UtMSBpbmZvcm1h
dGlvbiAoZS5nLiBWTUFMTEUxSVMpLgoKUmV3b3JrIHRoZSB3b3JrYXJvdW5k
IGxvZ2ljIGFzIGZvbGxvd3M6CiAtIGFkZCBUTEJfSEVMUEVSX0xPQ0FMKCkg
dG8gYmUgdXNlZCBmb3IgbG9jYWwgVExCIG9wcyB3aXRob3V0IGEKICAgd29y
a2Fyb3VuZCwKIC0gbW9kaWZ5IFRMQl9IRUxQRVIoKSB3b3JrYXJvdW5kIHRv
IHVzZSB0bGJpIHZhbGUyaXMsIHh6ciBhcyBhIHNlY29uZAogICBUTEJJLAog
LSBkcm9wIFRMQl9IRUxQRVJfVkEoKS4gSXQncyB1c2VkIG9ubHkgYnkgX19m
bHVzaF94ZW5fdGxiX29uZV9sb2NhbAogICB3aGljaCBpcyBsb2NhbCBhbmQg
ZG9lcyBub3QgbmVlZCB3b3JrYXJvdW5kIGFuZCBieQogICBfX2ZsdXNoX3hl
bl90bGJfb25lLiBJbiB0aGUgbGF0dGVyIGNhc2UsIHNpbmNlIGl0J3MgdXNl
ZCBpbiBhIGxvb3AsCiAgIHdlIGRvbid0IG5lZWQgYSB3b3JrYXJvdW5kIGlu
IHRoZSBtaWRkbGUuIEFkZCBfX3RsYl9yZXBlYXRfc3luYyB3aXRoCiAgIGEg
d29ya2Fyb3VuZCB0byBiZSB1c2VkIGF0IHRoZSBlbmQgYWZ0ZXIgRFNCIGFu
ZCBiZWZvcmUgZmluYWwgSVNCLAogLSBUTEJJIFZBTEUySVMgcGFzc2luZyBY
WlIgaXMgdXNlZCBhcyBhbiBhZGRpdGlvbmFsIFRMQkkuIFdoaWxlIHRoZXJl
IGlzCiAgIGFuIGlkZW50aXR5IG1hcHBpbmcgdGhlcmUsIGl0J3MgdXNlZCB2
ZXJ5IHJhcmVseS4gVGhlIHBlcmZvcm1hbmNlCiAgIGltcGFjdCBpcyB0aGVy
ZWZvcmUgbmVnbGlnaWJsZS4gSWYgdGhpbmdzIGNoYW5nZSBpbiB0aGUgZnV0
dXJlLCB3ZQogICBjYW4gcmV2aXNpdCB0aGUgZGVjaXNpb24uCgpTaWduZWQt
b2ZmLWJ5OiBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnplbEBhbWQuY29tPgpS
ZXZpZXdlZC1ieTogTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5jZWxsdUBhcm0u
Y29tPgpSZXZpZXdlZC1ieTogSnVsaWVuIEdyYWxsIDxqZ3JhbGxAYW1hem9u
LmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgN2M1MDJkNzU5MTUx
OTEzNTc2NWI4MDQxY2JkMWM3MGU1NmU1YTBiOSkKCmRpZmYgLS1naXQgYS94
ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtMzIvZmx1c2h0bGIuaCBiL3hl
bi9hcmNoL2FybS9pbmNsdWRlL2FzbS9hcm0zMi9mbHVzaHRsYi5oCmluZGV4
IDYxYzI1YTMxODk5OC4uNTQ4M2JlMDhmYmJlIDEwMDY0NAotLS0gYS94ZW4v
YXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtMzIvZmx1c2h0bGIuaAorKysgYi94
ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtMzIvZmx1c2h0bGIuaApAQCAt
NTcsNiArNTcsOSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgX19mbHVzaF94ZW5f
dGxiX29uZSh2YWRkcl90IHZhKQogICAgIGFzbSB2b2xhdGlsZShTVE9SRV9D
UDMyKDAsIFRMQklNVkFISVMpIDogOiAiciIgKHZhKSA6ICJtZW1vcnkiKTsK
IH0KIAorLyogT25seSBmb3IgQVJNNjRfV09SS0FST1VORF9SRVBFQVRfVExC
SSAqLworc3RhdGljIGlubGluZSB2b2lkIF9fdGxiX3JlcGVhdF9zeW5jKHZv
aWQpIHt9CisKICNlbmRpZiAvKiBfX0FTTV9BUk1fQVJNMzJfRkxVU0hUTEJf
SF9fICovCiAvKgogICogTG9jYWwgdmFyaWFibGVzOgpkaWZmIC0tZ2l0IGEv
eGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FybTY0L2ZsdXNodGxiLmggYi94
ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtNjQvZmx1c2h0bGIuaAppbmRl
eCAzYjk5YzExYjUwZDEuLjE2MDZiMjZiZjI4YSAxMDA2NDQKLS0tIGEveGVu
L2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FybTY0L2ZsdXNodGxiLmgKKysrIGIv
eGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FybTY0L2ZsdXNodGxiLmgKQEAg
LTEyLDkgKzEyLDE0IEBACiAgKiBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9U
TEJJOgogICogTW9kaWZpY2F0aW9uIG9mIHRoZSB0cmFuc2xhdGlvbiB0YWJs
ZSBmb3IgYSB2aXJ0dWFsIGFkZHJlc3MgbWlnaHQgbGVhZCB0bwogICogcmVh
ZC1hZnRlci1yZWFkIG9yZGVyaW5nIHZpb2xhdGlvbi4KLSAqIFRoZSB3b3Jr
YXJvdW5kIHJlcGVhdHMgVExCSStEU0IgSVNIIG9wZXJhdGlvbiBmb3IgYWxs
IHRoZSBUTEIgZmx1c2gKLSAqIG9wZXJhdGlvbnMuIFdoaWxlIHRoaXMgaXMg
c3RyaWN0bHkgbm90IG5lY2Vzc2FyeSwgd2UgZG9uJ3Qgd2FudCB0bwotICog
dGFrZSBhbnkgcmlzay4KKyAqIFRoZSB3b3JrYXJvdW5kIHJlcGVhdHMgVExC
SStEU0IgSVNIIG9wZXJhdGlvbiBmb3IgYnJvYWRjYXN0IFRMQiBmbHVzaAor
ICogb3BlcmF0aW9ucy4gVGhlIHdvcmthcm91bmQgaXMgbm90IG5lZWRlZCBm
b3IgbG9jYWwgb3BlcmF0aW9ucy4KKyAqCisgKiBJdCBpcyBzdWZmaWNpZW50
IGZvciB0aGUgYWRkaXRpb25hbCBUTEJJIHRvIHVzZSAqYW55KiBvcGVyYXRp
b24gd2hpY2ggd2lsbAorICogYmUgYnJvYWRjYXN0LCByZWdhcmRsZXNzIG9m
IHdoaWNoIHRyYW5zbGF0aW9uIHJlZ2ltZSBvciBzdGFnZSBvZiB0cmFuc2xh
dGlvbgorICogdGhlIG9wZXJhdGlvbiBhcHBsaWVzIHRvLiBUTEJJIFZBTEUy
SVMgaXMgdXNlZCBwYXNzaW5nIFhaUi4gV2hpbGUgdGhlcmUgaXMKKyAqIGFu
IGlkZW50aXR5IG1hcHBpbmcgdGhlcmUsIGl0J3Mgb25seSB1c2VkIGR1cmlu
ZyBzdXNwZW5kL3Jlc3VtZSwgQ1BVIG9uL29mZiwKKyAqIHNvIHRoZSBpbXBh
Y3QgKHBlcmZvcm1hbmNlIGlmIGFueSkgaXMgbmVnbGlnaWJsZS4KICAqCiAg
KiBGb3IgWGVuIHBhZ2UtdGFibGVzIHRoZSBJU0Igd2lsbCBkaXNjYXJkIGFu
eSBpbnN0cnVjdGlvbnMgZmV0Y2hlZAogICogZnJvbSB0aGUgb2xkIG1hcHBp
bmdzLgpAQCAtMjYsNjkgKzMxLDkwIEBACiAgKiBOb3RlIHRoYXQgZm9yIGxv
Y2FsIFRMQiBmbHVzaCwgdXNpbmcgbm9uLXNoYXJlYWJsZSAobnNoKSBpcyBz
dWZmaWNpZW50CiAgKiAoc2VlIEQ1LTQ5MjkgaW4gQVJNIERESSAwNDg3SC5h
KS4gQWx0aG91Z2gsIHRoZSBtZW1vcnkgYmFycmllciBpbgogICogZm9yIHRo
ZSB3b3JrYXJvdW5kIGlzIGxlZnQgYXMgaW5uZXItc2hhcmVhYmxlIHRvIG1h
dGNoIHdpdGggTGludXgKLSAqIHY2LjEtcmM4LgorICogdjYuMTkuCiAgKi8K
LSNkZWZpbmUgVExCX0hFTFBFUihuYW1lLCB0bGJvcCwgc2gpICAgICAgICAg
ICAgICBcCisjZGVmaW5lIFRMQl9IRUxQRVJfTE9DQUwobmFtZSwgdGxib3Ap
ICAgICAgICAgICAgXAogc3RhdGljIGlubGluZSB2b2lkIG5hbWUodm9pZCkg
ICAgICAgICAgICAgICAgICAgIFwKIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgYXNtX2lubGluZSB2
b2xhdGlsZSAoICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAi
ZHNiICAiICAjIHNoICAic3Q7IiAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICAgICAgImRzYiAgbnNoc3Q7IiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCiAgICAgICAgICJ0bGJpICIgICMgdGxib3AgICI7IiAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICBBTFRFUk5BVElWRSggICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICJub3A7IG5vcDsiLCAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAiZHNiICBp
c2g7IiAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
InRsYmkgIiAgIyB0bGJvcCAgIjsiLCAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgICAgIEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkksICAgICAgICBc
Ci0gICAgICAgICAgICBDT05GSUdfQVJNNjRfV09SS0FST1VORF9SRVBFQVRf
VExCSSkgXAotICAgICAgICAiZHNiICAiICAjIHNoICAiOyIgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICAgICAgImRzYiAgbnNoOyIgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICJpc2I7IiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICA6IDogOiAi
bWVtb3J5Iik7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKIH0KIAotLyoK
LSAqIEZMdXNoIFRMQiBieSBWQS4gVGhpcyB3aWxsIGxpa2VseSBiZSB1c2Vk
IGluIGEgbG9vcCwgc28gdGhlIGNhbGxlcgotICogaXMgcmVzcG9uc2libGUg
dG8gdXNlIHRoZSBhcHByb3ByaWF0ZSBtZW1vcnkgYmFycmllcnMgYmVmb3Jl
L2FmdGVyCi0gKiB0aGUgc2VxdWVuY2UuCi0gKgotICogU2VlIGFib3ZlIGFi
b3V0IHRoZSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJIHNlcXVlbmNl
LgotICovCi0jZGVmaW5lIFRMQl9IRUxQRVJfVkEobmFtZSwgdGxib3ApICAg
ICAgICAgICAgICAgXAotc3RhdGljIGlubGluZSB2b2lkIG5hbWUodmFkZHJf
dCB2YSkgICAgICAgICAgICAgIFwKLXsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgYXNtX2lubGluZSB2
b2xhdGlsZSAoICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAi
dGxiaSAiICAjIHRsYm9wICAiLCAlMDsiICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgQUxURVJOQVRJVkUoICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICAibm9wOyBub3A7IiwgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICAgICAgImRzYiAgaXNoOyIgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICJ0bGJpICIgICMgdGxi
b3AgICIsICUwOyIsICAgICAgICAgICBcCi0gICAgICAgICAgICBBUk02NF9X
T1JLQVJPVU5EX1JFUEVBVF9UTEJJLCAgICAgICAgXAotICAgICAgICAgICAg
Q09ORklHX0FSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkkpIFwKLSAgICAg
ICAgOiA6ICJyIiAodmEgPj4gUEFHRV9TSElGVCkgOiAibWVtb3J5Iik7ICBc
CisjZGVmaW5lIFRMQl9IRUxQRVIobmFtZSwgdGxib3ApICAgICAgICAgICAg
ICAgICAgICAgICBcCitzdGF0aWMgaW5saW5lIHZvaWQgbmFtZSh2b2lkKSAg
ICAgICAgICAgICAgICAgICAgICAgICBcCit7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYXNt
X2lubGluZSB2b2xhdGlsZSAoICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICAgICJkc2IgIGlzaHN0OyIgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgICAgICJ0bGJpICIgICMgdGxib3AgICI7
IiAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIEFMVEVSTkFU
SVZFKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ICAgICAgICAibm9wOyBub3A7IiwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICAgICAgICAiZHNiICBpc2g7IiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAidGxiaSB2YWxlMmlz
LCB4enI7IiwgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBB
Uk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLCAgICAgICAgICAgICBcCisg
ICAgICAgICAgICBDT05GSUdfQVJNNjRfV09SS0FST1VORF9SRVBFQVRfVExC
SSkgICAgICBcCisgICAgICAgICJkc2IgIGlzaDsiICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICJpc2I7IiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIDog
OiA6ICJtZW1vcnkiKTsgXAogfQogCiAvKiBGbHVzaCBsb2NhbCBUTEJzLCBj
dXJyZW50IFZNSUQgb25seS4gKi8KLVRMQl9IRUxQRVIoZmx1c2hfZ3Vlc3Rf
dGxiX2xvY2FsLCB2bWFsbHMxMmUxLCBuc2gpCitUTEJfSEVMUEVSX0xPQ0FM
KGZsdXNoX2d1ZXN0X3RsYl9sb2NhbCwgdm1hbGxzMTJlMSkKIAogLyogRmx1
c2ggaW5uZXJzaGFyZWFibGUgVExCcywgY3VycmVudCBWTUlEIG9ubHkgKi8K
LVRMQl9IRUxQRVIoZmx1c2hfZ3Vlc3RfdGxiLCB2bWFsbHMxMmUxaXMsIGlz
aCkKK1RMQl9IRUxQRVIoZmx1c2hfZ3Vlc3RfdGxiLCB2bWFsbHMxMmUxaXMp
CiAKIC8qIEZsdXNoIGxvY2FsIFRMQnMsIGFsbCBWTUlEcywgbm9uLWh5cGVy
dmlzb3IgbW9kZSAqLwotVExCX0hFTFBFUihmbHVzaF9hbGxfZ3Vlc3RzX3Rs
Yl9sb2NhbCwgYWxsZTEsIG5zaCkKK1RMQl9IRUxQRVJfTE9DQUwoZmx1c2hf
YWxsX2d1ZXN0c190bGJfbG9jYWwsIGFsbGUxKQogCiAvKiBGbHVzaCBpbm5l
cnNoYXJlYWJsZSBUTEJzLCBhbGwgVk1JRHMsIG5vbi1oeXBlcnZpc29yIG1v
ZGUgKi8KLVRMQl9IRUxQRVIoZmx1c2hfYWxsX2d1ZXN0c190bGIsIGFsbGUx
aXMsIGlzaCkKK1RMQl9IRUxQRVIoZmx1c2hfYWxsX2d1ZXN0c190bGIsIGFs
bGUxaXMpCiAKIC8qIEZsdXNoIGFsbCBoeXBlcnZpc29yIG1hcHBpbmdzIGZy
b20gdGhlIFRMQiBvZiB0aGUgbG9jYWwgcHJvY2Vzc29yLiAqLwotVExCX0hF
TFBFUihmbHVzaF94ZW5fdGxiX2xvY2FsLCBhbGxlMiwgbnNoKQorVExCX0hF
TFBFUl9MT0NBTChmbHVzaF94ZW5fdGxiX2xvY2FsLCBhbGxlMikKKworI3Vu
ZGVmIFRMQl9IRUxQRVJfTE9DQUwKKyN1bmRlZiBUTEJfSEVMUEVSCisKKy8q
CisgKiBGTHVzaCBUTEIgYnkgVkEuIFRoaXMgd2lsbCBsaWtlbHkgYmUgdXNl
ZCBpbiBhIGxvb3AsIHNvIHRoZSBjYWxsZXIKKyAqIGlzIHJlc3BvbnNpYmxl
IHRvIHVzZSB0aGUgYXBwcm9wcmlhdGUgbWVtb3J5IGJhcnJpZXJzIGJlZm9y
ZS9hZnRlcgorICogdGhlIHNlcXVlbmNlLgorICovCiAKIC8qIEZsdXNoIFRM
QiBvZiBsb2NhbCBwcm9jZXNzb3IgZm9yIGFkZHJlc3MgdmEuICovCi1UTEJf
SEVMUEVSX1ZBKF9fZmx1c2hfeGVuX3RsYl9vbmVfbG9jYWwsIHZhZTIpCitz
dGF0aWMgaW5saW5lIHZvaWQgX19mbHVzaF94ZW5fdGxiX29uZV9sb2NhbCh2
YWRkcl90IHZhKQoreworICAgIGFzbV9pbmxpbmUgdm9sYXRpbGUgKAorICAg
ICAgICAidGxiaSB2YWUyLCAlMCIgOiA6ICJyIiAodmEgPj4gUEFHRV9TSElG
VCkgOiAibWVtb3J5Iik7Cit9CiAKIC8qIEZsdXNoIFRMQiBvZiBhbGwgcHJv
Y2Vzc29ycyBpbiB0aGUgaW5uZXItc2hhcmVhYmxlIGRvbWFpbiBmb3IgYWRk
cmVzcyB2YS4gKi8KLVRMQl9IRUxQRVJfVkEoX19mbHVzaF94ZW5fdGxiX29u
ZSwgdmFlMmlzKQorc3RhdGljIGlubGluZSB2b2lkIF9fZmx1c2hfeGVuX3Rs
Yl9vbmUodmFkZHJfdCB2YSkKK3sKKyAgICBhc21faW5saW5lIHZvbGF0aWxl
ICgKKyAgICAgICAgInRsYmkgdmFlMmlzLCAlMCIgOiA6ICJyIiAodmEgPj4g
UEFHRV9TSElGVCkgOiAibWVtb3J5Iik7Cit9CiAKLSN1bmRlZiBUTEJfSEVM
UEVSCi0jdW5kZWYgVExCX0hFTFBFUl9WQQorLyoKKyAqIEFSTTY0X1dPUktB
Uk9VTkRfUkVQRUFUX1RMQkk6CisgKiBGb3IgYWxsIHJlbGV2YW50IGVycmF0
YXMgaXQgaXMgb25seSBuZWNlc3NhcnkgdG8gZXhlY3V0ZSBhIHNpbmdsZQor
ICogYWRkaXRpb25hbCBUTEJJO0RTQiBzZXF1ZW5jZSBhZnRlciBhbnkgbnVt
YmVyIG9mIFRMQklzIGFyZSBjb21wbGV0ZWQgYnkgRFNCLgorICovCitzdGF0
aWMgaW5saW5lIHZvaWQgX190bGJfcmVwZWF0X3N5bmModm9pZCkKK3sKKyAg
ICBhc21faW5saW5lIHZvbGF0aWxlICgKKyAgICAgICAgQUxURVJOQVRJVkUo
CisgICAgICAgICAgICAibm9wOyBub3A7IiwKKyAgICAgICAgICAgICJ0bGJp
IHZhbGUyaXMsIHh6cjsiCisgICAgICAgICAgICAiZHNiICBpc2g7IiwKKyAg
ICAgICAgICAgIEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkksCisgICAg
ICAgICAgICBDT05GSUdfQVJNNjRfV09SS0FST1VORF9SRVBFQVRfVExCSSkK
KyAgICAgICAgOiA6IDogIm1lbW9yeSIpOworfQogCiAjZW5kaWYgLyogX19B
U01fQVJNX0FSTTY0X0ZMVVNIVExCX0hfXyAqLwogLyoKZGlmZiAtLWdpdCBh
L3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9mbHVzaHRsYi5oIGIveGVuL2Fy
Y2gvYXJtL2luY2x1ZGUvYXNtL2ZsdXNodGxiLmgKaW5kZXggZTQ1ZmI2ZDk3
YjAyLi5jMjkyYzNjMDBkMjkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9p
bmNsdWRlL2FzbS9mbHVzaHRsYi5oCisrKyBiL3hlbi9hcmNoL2FybS9pbmNs
dWRlL2FzbS9mbHVzaHRsYi5oCkBAIC02NSw2ICs2NSw3IEBAIHN0YXRpYyBp
bmxpbmUgdm9pZCBmbHVzaF94ZW5fdGxiX3JhbmdlX3ZhKHZhZGRyX3QgdmEs
CiAgICAgICAgIHZhICs9IFBBR0VfU0laRTsKICAgICB9CiAgICAgZHNiKGlz
aCk7IC8qIEVuc3VyZSB0aGUgVExCIGludmFsaWRhdGlvbiBoYXMgY29tcGxl
dGVkICovCisgICAgX190bGJfcmVwZWF0X3N5bmMoKTsKICAgICBpc2IoKTsK
IH0KIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL21t
dS9sYXlvdXQuaCBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9tbXUvbGF5
b3V0LmgKaW5kZXggMTljMGVjNjNhNTlhLi5mZWFmYzE0ZWJmZGEgMTAwNjQ0
Ci0tLSBhL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9tbXUvbGF5b3V0LmgK
KysrIGIveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL21tdS9sYXlvdXQuaApA
QCAtMjMsNiArMjMsMTAgQEAKICAqCiAgKiAgUmVzZXJ2ZWQgdG8gaWRlbnRp
dHkgbWFwIFhlbgogICoKKyAqICBOb3RlOiBBcyBwYXJ0IG9mIEFSTTY0X1dP
UktBUk9VTkRfUkVQRUFUX1RMQkksIFZBIDAgaXMgdXNlZCBmb3IgYW4gZXh0
cmEKKyAqICBUTEJJIG9wZXJhdGlvbiBnaXZlbiBpdHMgcmFyZSB1c2UgKG9u
bHkgaWRlbnRpdHkgbWFwcGluZykgYW5kIHRodXMKKyAqICBuZWdsaWdpYmxl
IHBlcmZvcm1hbmNlIGltcGFjdC4KKyAqCiAgKiAweDAwMDAwYTAwMDAwMDAw
MDAgLSAweDAwMDAwYTdmZmZmZmZmZmYgKDUxMkdCLCBMMCBzbG90IFsyMF0p
CiAgKiAgKFJlbGF0aXZlIG9mZnNldHMpCiAgKiAgIDAgIC0gICAyTSAgIFVu
bWFwcGVkCg==

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.21-02.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.21-02.patch"
Content-Transfer-Encoding: base64

RnJvbSA3ZTcwYjg3NTEyYzk2NjI0OGIxZTg0NTNkOWFjNTRjNjQzYzA2ZjQ0
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU1ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IFN5bmMgbWlzc2lu
ZyBkZWZpbml0aW9ucyBmb3IgQXJtIENQVXMgd2l0aCBMaW51eAoKU3luY2hy
b25pemUgd2l0aCBMaW51eCBrZXJuZWwgNy4wIGRlZmluaXRpb25zIGZvciB0
aGUgZm9sbG93aW5nIENQVXM6CiAtIENvcnRleC1BNzZBRSwKIC0gQ29ydGV4
LUE3OEFFLAogLSBDb3J0ZXgtWDFDLAogLSBDb3J0ZXgtWDMsCiAtIE5lb3Zl
cnNlLVYyLAogLSBDb3J0ZXgtWDQsCiAtIE5lb3ZlcnNlLVYzQUUsCiAtIE5l
b3ZlcnNlLVYzLAogLSBDb3J0ZXgtWDkyNS4KClRoZXNlIHdpbGwgYmUgdXNl
ZCBmb3IgZXJyYXRhIGRldGVjdGlvbiBpbiBzdWJzZXF1ZW50IHBhdGNoZXMu
CgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnplbEBh
bWQuY29tPgpSZXZpZXdlZC1ieTogSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVu
Lm9yZz4KCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20v
cHJvY2Vzc29yLmggYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vcHJvY2Vz
c29yLmgKaW5kZXggZWMyM2ZkMDk4YjYzLi45MDc3Nzg2ODNiMDggMTAwNjQ0
Ci0tLSBhL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaAor
KysgYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vcHJvY2Vzc29yLmgKQEAg
LTg5LDEzICs4OSwyMiBAQAogI2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVY
X0E3NiAgICAgMHhEMEIKICNkZWZpbmUgQVJNX0NQVV9QQVJUX05FT1ZFUlNF
X04xICAgIDB4RDBDCiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTc3
ICAgICAweEQwRAorI2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E3NkFF
ICAgMHhEMEUKICNkZWZpbmUgQVJNX0NQVV9QQVJUX05FT1ZFUlNFX1YxICAg
IDB4RDQwCiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTc4ICAgICAw
eEQ0MQorI2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E3OEFFICAgMHhE
NDIKICNkZWZpbmUgQVJNX0NQVV9QQVJUX0NPUlRFWF9YMSAgICAgIDB4RDQ0
CiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTcxMCAgICAweEQ0Nwog
I2RlZmluZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX1gyICAgICAgMHhENDgKICNk
ZWZpbmUgQVJNX0NQVV9QQVJUX05FT1ZFUlNFX04yICAgIDB4RDQ5CiAjZGVm
aW5lIEFSTV9DUFVfUEFSVF9DT1JURVhfQTc4QyAgICAweEQ0QgorI2RlZmlu
ZSBBUk1fQ1BVX1BBUlRfQ09SVEVYX1gxQyAgICAgMHhENEMKKyNkZWZpbmUg
QVJNX0NQVV9QQVJUX0NPUlRFWF9YMyAgICAgIDB4RDRFCisjZGVmaW5lIEFS
TV9DUFVfUEFSVF9ORU9WRVJTRV9WMiAgICAweEQ0RgorI2RlZmluZSBBUk1f
Q1BVX1BBUlRfQ09SVEVYX1g0ICAgICAgMHhEODIKKyNkZWZpbmUgQVJNX0NQ
VV9QQVJUX05FT1ZFUlNFX1YzQUUgIDB4RDgzCisjZGVmaW5lIEFSTV9DUFVf
UEFSVF9ORU9WRVJTRV9WMyAgICAweEQ4NAorI2RlZmluZSBBUk1fQ1BVX1BB
UlRfQ09SVEVYX1g5MjUgICAgMHhEODUKIAogI2RlZmluZSBNSURSX0NPUlRF
WF9BMTIgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BV
X1BBUlRfQ09SVEVYX0ExMikKICNkZWZpbmUgTUlEUl9DT1JURVhfQTE3IE1J
RFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NP
UlRFWF9BMTcpCkBAIC0xMTAsMTMgKzExOSwyMiBAQAogI2RlZmluZSBNSURS
X0NPUlRFWF9BNzYgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBB
Uk1fQ1BVX1BBUlRfQ09SVEVYX0E3NikKICNkZWZpbmUgTUlEUl9ORU9WRVJT
RV9OMSBNSURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVf
UEFSVF9ORU9WRVJTRV9OMSkKICNkZWZpbmUgTUlEUl9DT1JURVhfQTc3IE1J
RFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NP
UlRFWF9BNzcpCisjZGVmaW5lIE1JRFJfQ09SVEVYX0E3NkFFIE1JRFJfQ1BV
X01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9B
NzZBRSkKICNkZWZpbmUgTUlEUl9ORU9WRVJTRV9WMSBNSURSX0NQVV9NT0RF
TChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9ORU9WRVJTRV9WMSkK
ICNkZWZpbmUgTUlEUl9DT1JURVhfQTc4IE1JRFJfQ1BVX01PREVMKEFSTV9D
UFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9BNzgpCisjZGVmaW5l
IE1JRFJfQ09SVEVYX0E3OEFFIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1Q
X0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9BNzhBRSkKICNkZWZpbmUgTUlE
Ul9DT1JURVhfWDEgIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwg
QVJNX0NQVV9QQVJUX0NPUlRFWF9YMSkKICNkZWZpbmUgTUlEUl9DT1JURVhf
QTcxMCBNSURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVf
UEFSVF9DT1JURVhfQTcxMCkKICNkZWZpbmUgTUlEUl9DT1JURVhfWDIgIE1J
RFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NP
UlRFWF9YMikKICNkZWZpbmUgTUlEUl9ORU9WRVJTRV9OMiBNSURSX0NQVV9N
T0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9ORU9WRVJTRV9O
MikKICNkZWZpbmUgTUlEUl9DT1JURVhfQTc4QyBNSURSX0NQVV9NT0RFTChB
Uk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9DT1JURVhfQTc4QykKKyNk
ZWZpbmUgTUlEUl9DT1JURVhfWDFDIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVf
SU1QX0FSTSwgQVJNX0NQVV9QQVJUX0NPUlRFWF9YMUMpCisjZGVmaW5lIE1J
RFJfQ09SVEVYX1gzIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwg
QVJNX0NQVV9QQVJUX0NPUlRFWF9YMykKKyNkZWZpbmUgTUlEUl9ORU9WRVJT
RV9WMiBNSURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVf
UEFSVF9ORU9WRVJTRV9WMikKKyNkZWZpbmUgTUlEUl9DT1JURVhfWDQgTUlE
Ul9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09S
VEVYX1g0KQorI2RlZmluZSBNSURSX05FT1ZFUlNFX1YzQUUgTUlEUl9DUFVf
TU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfTkVPVkVSU0Vf
VjNBRSkKKyNkZWZpbmUgTUlEUl9ORU9WRVJTRV9WMyBNSURSX0NQVV9NT0RF
TChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9ORU9WRVJTRV9WMykK
KyNkZWZpbmUgTUlEUl9DT1JURVhfWDkyNSBNSURSX0NQVV9NT0RFTChBUk1f
Q1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9DT1JURVhfWDkyNSkKIAogLyog
TVBJRFIgTXVsdGlwcm9jZXNzb3IgQWZmaW5pdHkgUmVnaXN0ZXIgKi8KICNk
ZWZpbmUgX01QSURSX1VQICAgICAgICAgICAoMzApCg==

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.21-03.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.21-03.patch"
Content-Transfer-Encoding: base64

RnJvbSBjMGY3YjQwZmRiYjk4NmIzY2Y0NzBlZDUxZjM4NzgyNjFlMzNmOWNi
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU2ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IEFkZCBDMS1VbHRy
YSBkZWZpbml0aW9ucwoKQWRkIHByb2Nlc3NvciBkZWZpbml0aW9ucyBmb3Ig
QzEtVWx0cmEuIFRoZXNlIHdpbGwgYmUgdXNlZCBmb3IgZXJyYXRhCmRldGVj
dGlvbiBpbiBzdWJzZXF1ZW50IHBhdGNoZXMuCgpUaGVzZSB2YWx1ZXMgY2Fu
IGJlIGZvdW5kIGluIHRoZSBDMS1VbHRyYSBUUk06CgogIGh0dHBzOi8vZGV2
ZWxvcGVyLmFybS5jb20vZG9jdW1lbnRhdGlvbi8xMDgwMTQvMDEwMC8KCi4u
LiBpbiBzZWN0aW9uIEEuNS4xICgiTUlEUl9FTDEsIE1haW4gSUQgUmVnaXN0
ZXIiKS4KClNpZ25lZC1vZmYtYnk6IE1pY2hhbCBPcnplbCA8bWljaGFsLm9y
emVsQGFtZC5jb20+ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGll
bkB4ZW4ub3JnPgoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9pbmNsdWRl
L2FzbS9wcm9jZXNzb3IuaCBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9w
cm9jZXNzb3IuaAppbmRleCA5MDc3Nzg2ODNiMDguLjcyNzQ1Y2NhNjJiYyAx
MDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3Byb2Nlc3Nv
ci5oCisrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wcm9jZXNzb3Iu
aApAQCAtMTA1LDYgKzEwNSw3IEBACiAjZGVmaW5lIEFSTV9DUFVfUEFSVF9O
RU9WRVJTRV9WM0FFICAweEQ4MwogI2RlZmluZSBBUk1fQ1BVX1BBUlRfTkVP
VkVSU0VfVjMgICAgMHhEODQKICNkZWZpbmUgQVJNX0NQVV9QQVJUX0NPUlRF
WF9YOTI1ICAgIDB4RDg1CisjZGVmaW5lIEFSTV9DUFVfUEFSVF9DMV9VTFRS
QSAgICAgICAweEQ4QwogCiAjZGVmaW5lIE1JRFJfQ09SVEVYX0ExMiBNSURS
X0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9DT1JU
RVhfQTEyKQogI2RlZmluZSBNSURSX0NPUlRFWF9BMTcgTUlEUl9DUFVfTU9E
RUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVYX0ExNykK
QEAgLTEzNSw2ICsxMzYsNyBAQAogI2RlZmluZSBNSURSX05FT1ZFUlNFX1Yz
QUUgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BB
UlRfTkVPVkVSU0VfVjNBRSkKICNkZWZpbmUgTUlEUl9ORU9WRVJTRV9WMyBN
SURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9O
RU9WRVJTRV9WMykKICNkZWZpbmUgTUlEUl9DT1JURVhfWDkyNSBNSURSX0NQ
VV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9DT1JURVhf
WDkyNSkKKyNkZWZpbmUgTUlEUl9DMV9VTFRSQSBNSURSX0NQVV9NT0RFTChB
Uk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFSVF9DMV9VTFRSQSkKIAogLyog
TVBJRFIgTXVsdGlwcm9jZXNzb3IgQWZmaW5pdHkgUmVnaXN0ZXIgKi8KICNk
ZWZpbmUgX01QSURSX1VQICAgICAgICAgICAoMzApCg==

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.21-04.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.21-04.patch"
Content-Transfer-Encoding: base64

RnJvbSA2YWY2N2FlY2E0MThiZmZiODA3NDI0ZWIzNDE1ZmFiNTllNTgxNzMz
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU3ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IEFkZCBDMS1QcmVt
aXVtIGRlZmluaXRpb25zCgpBZGQgcHJvY2Vzc29yIGRlZmluaXRpb25zIGZv
ciBDMS1QcmVtaXVtLiBUaGVzZSB3aWxsIGJlIHVzZWQgZm9yIGVycmF0YQpk
ZXRlY3Rpb24gaW4gc3Vic2VxdWVudCBwYXRjaGVzLgoKVGhlc2UgdmFsdWVz
IGNhbiBiZSBmb3VuZCBpbiB0aGUgQzEtUHJlbWl1bSBUUk06CgogIGh0dHBz
Oi8vZGV2ZWxvcGVyLmFybS5jb20vZG9jdW1lbnRhdGlvbi8xMDk0MTYvMDEw
MC8KCi4uLiBpbiBzZWN0aW9uIEEuNS4xICgiTUlEUl9FTDEsIE1haW4gSUQg
UmVnaXN0ZXIiKS4KClNpZ25lZC1vZmYtYnk6IE1pY2hhbCBPcnplbCA8bWlj
aGFsLm9yemVsQGFtZC5jb20+ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwg
PGp1bGllbkB4ZW4ub3JnPgoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9p
bmNsdWRlL2FzbS9wcm9jZXNzb3IuaCBiL3hlbi9hcmNoL2FybS9pbmNsdWRl
L2FzbS9wcm9jZXNzb3IuaAppbmRleCA3Mjc0NWNjYTYyYmMuLjI1YzU3NjJj
NjcwNiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3By
b2Nlc3Nvci5oCisrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wcm9j
ZXNzb3IuaApAQCAtMTA2LDYgKzEwNiw3IEBACiAjZGVmaW5lIEFSTV9DUFVf
UEFSVF9ORU9WRVJTRV9WMyAgICAweEQ4NAogI2RlZmluZSBBUk1fQ1BVX1BB
UlRfQ09SVEVYX1g5MjUgICAgMHhEODUKICNkZWZpbmUgQVJNX0NQVV9QQVJU
X0MxX1VMVFJBICAgICAgIDB4RDhDCisjZGVmaW5lIEFSTV9DUFVfUEFSVF9D
MV9QUkVNSVVNICAgICAweEQ5MAogCiAjZGVmaW5lIE1JRFJfQ09SVEVYX0Ex
MiBNSURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9BUk0sIEFSTV9DUFVfUEFS
VF9DT1JURVhfQTEyKQogI2RlZmluZSBNSURSX0NPUlRFWF9BMTcgTUlEUl9D
UFVfTU9ERUwoQVJNX0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVY
X0ExNykKQEAgLTEzNyw2ICsxMzgsNyBAQAogI2RlZmluZSBNSURSX05FT1ZF
UlNFX1YzIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQ
VV9QQVJUX05FT1ZFUlNFX1YzKQogI2RlZmluZSBNSURSX0NPUlRFWF9YOTI1
IE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJU
X0NPUlRFWF9YOTI1KQogI2RlZmluZSBNSURSX0MxX1VMVFJBIE1JRFJfQ1BV
X01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJNX0NQVV9QQVJUX0MxX1VMVFJB
KQorI2RlZmluZSBNSURSX0MxX1BSRU1JVU0gTUlEUl9DUFVfTU9ERUwoQVJN
X0NQVV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQzFfUFJFTUlVTSkKIAogLyog
TVBJRFIgTXVsdGlwcm9jZXNzb3IgQWZmaW5pdHkgUmVnaXN0ZXIgKi8KICNk
ZWZpbmUgX01QSURSX1VQICAgICAgICAgICAoMzApCg==

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-4.21-05.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-4.21-05.patch"
Content-Transfer-Encoding: base64

RnJvbSBmZmJiOTY0YzRhM2M2MGQ1MmQ4ZjBiMmU0NDhlMWJhNmIzNGE0NDNm
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU4ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IE1pdGlnYXRlIFRM
QkkgZXJyYXRhIG9uIHZhcmlvdXMgQXJtIENQVXMKCkEgbnVtYmVyIG9mIENQ
VXMgZGV2ZWxvcGVkIGJ5IEFybSBzdWZmZXIgZnJvbSBlcnJhdGEgd2hlcmVi
eSBhIGJyb2FkY2FzdApUTEJJICsgRFNCIHNlcXVlbmNlIG1heSBjb21wbGV0
ZSBiZWZvcmUgdGhlIGdsb2JhbCBvYnNlcnZhdGlvbiBvZiB3cml0ZXMKd2hp
Y2ggYXJlIHRyYW5zbGF0ZWQgYnkgYW4gYWZmZWN0ZWQgVExCIGVudHJ5LiBU
aGlzIGNhbiBsZWFkIHRvIG1lbW9yeQpjb3JydXB0aW9uIGFuZCBwb3RlbnRp
YWwgcHJpdmlsZWdlIGVzY2FsYXRpb24uCgpUaGVzZSBlcnJhdGEgT05MWSBh
ZmZlY3QgdGhlIGNvbXBsZXRpb24gb2YgbWVtb3J5IGFjY2Vzc2VzIHdoaWNo
IGhhdmUKYmVlbiB0cmFuc2xhdGVkIGJ5IGFuIGludmFsaWRhdGVkIFRMQiBl
bnRyeSwgYW5kIHRoZXNlIGVycmF0YSBETyBOT1QKYWZmZWN0IHRoZSBhY3R1
YWwgaW52YWxpZGF0aW9uIG9mIFRMQiBlbnRyaWVzLiBUTEIgZW50cmllcyBh
cmUgcmVtb3ZlZApjb3JyZWN0bHkuCgpUbyBtaXRpZ2F0ZSB0aGlzIGlzc3Vl
LCBBcm0gcmVjb21tZW5kcyB0aGF0IHNvZnR3YXJlIGZvbGxvd3MgZWFjaApU
TEJJK0RTQiBzZXF1ZW5jZSB3aXRoIGFuIGFkZGl0aW9uYWwgVExCSStEU0Is
IHdoaWNoIHdpbGwgZW5zdXJlIHRoYXQKYWxsIG1lbW9yeSB3cml0ZSBlZmZl
Y3RzIGFmZmVjdGVkIGJ5IHRoZSBmaXJzdCBUTEJJIGhhdmUgYmVlbiBnbG9i
YWxseQpvYnNlcnZlZC4KClRoZSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9U
TEJJIHdvcmthcm91bmQgaXMgc3VmZmljaWVudCB0byBtaXRpZ2F0ZSB0aGUK
aXNzdWUuIEVuYWJsZSB0aGlzIHdvcmthcm91bmQgZm9yIGFmZmVjdGVkIENQ
VXMuCgpUaGlzIGlzIFhTQS00OTMgLyBDVkUtMjAyNS0xMDI2My4KClNpZ25l
ZC1vZmYtYnk6IE1pY2hhbCBPcnplbCA8bWljaGFsLm9yemVsQGFtZC5jb20+
ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPgoK
ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9LY29uZmlnIGIveGVuL2FyY2gv
YXJtL0tjb25maWcKaW5kZXggY2Y2YWY2ODI5OWY2Li5kYWQ5MjJjNTFiNzUg
MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9LY29uZmlnCisrKyBiL3hlbi9h
cmNoL2FybS9LY29uZmlnCkBAIC00NjcsNiArNDY3LDI3IEBAIGNvbmZpZyBB
Uk02NF9FUlJBVFVNXzE1MDg0MTIKIAogCSAgSWYgdW5zdXJlLCBzYXkgWS4K
IAorY29uZmlnIEFSTTY0X0VSUkFUVU1fQ1ZFXzIwMjVfMTAyNjMKKwlib29s
ICJDb3J0ZXgtKi9OZW92ZXJzZS0qL0MxLSo6IENvbXBsZXRpb24gb2YgYWZm
ZWN0ZWQgbWVtb3J5IGFjY2Vzc2VzIG1pZ2h0IG5vdCBiZSBndWFyYW50ZWVk
IGJ5IGNvbXBsZXRpb24gb2YgYSBUTEJJIgorCWRlZmF1bHQgeQorCWRlcGVu
ZHMgb24gQVJNXzY0CisJc2VsZWN0IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFU
X1RMQkkKKwloZWxwCisJICBUaGlzIG9wdGlvbiBhZGRzIGEgd29ya2Fyb3Vu
ZCBmb3IgQ1ZFLTIwMjUtMTAyNjMuCisKKwkgIEEgYnJvYWRjYXN0IFRMQkkg
b24gYW5vdGhlciBQRSBtYXkgY29tcGxldGUgYmVmb3JlIGFmZmVjdGVkIG1l
bW9yeQorCSAgYWNjZXNzZXMgYXJlIGdsb2JhbGx5IG9ic2VydmVkLiBUaGlz
IG1heSBwZXJtaXQgYnlwYXNzIG9mIFN0YWdlIDEKKwkgIHRyYW5zbGF0aW9u
LCBTdGFnZS0yIHRyYW5zbGF0aW9uLCBvciBHUFQgcHJvdGVjdGlvbi4KKwor
CSAgVGhlIHdvcmthcm91bmQgcmVwZWF0cyB0aGUgVExCSSBWQUxFMklTLCBY
WlIgKyBEU0IgSVNIIG9wZXJhdGlvbiBmb3IgYWxsCisJICB0aGUgYnJvYWRj
YXN0IFRMQiBmbHVzaCBvcGVyYXRpb25zLiBBIHNpbmdsZSBhZGRpdGlvbmFs
IFRMQkkgYW5kIERTQiBhcmUKKwkgIHN1ZmZpY2llbnQgcmVnYXJkbGVzcyBv
ZiBob3cgbWFueSBUTEJJcyBhcmUgY29tcGxldGVkIGJ5IHRoZSBEU0IuCisK
KwkgIE5vdGUgdGhhdCBzb2Z0d2FyZSB3b3JrYXJvdW5kcyBhcmUgcmVxdWly
ZWQgYXQgYWxsIGV4ZWN1dGlvbiBsZXZlbHMgZm9yCisJICBhZmZlY3RlZCBw
YXJ0cyB0byBmdWxseSBtaXRpZ2F0ZSB0aGlzIGlzc3VlLgorCisJICBJZiB1
bnN1cmUsIHNheSBZLgorCiBlbmRtZW51CiAKIGNvbmZpZyBBUk02NF9IQVJE
RU5fQlJBTkNIX1BSRURJQ1RPUgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJt
L2NwdWVycmF0YS5jIGIveGVuL2FyY2gvYXJtL2NwdWVycmF0YS5jCmluZGV4
IDE3Y2YxMzRmMWIwZC4uM2EzMjE4MzYxOGRjIDEwMDY0NAotLS0gYS94ZW4v
YXJjaC9hcm0vY3B1ZXJyYXRhLmMKKysrIGIveGVuL2FyY2gvYXJtL2NwdWVy
cmF0YS5jCkBAIC01MzQsNiArNTM0LDkyIEBAIHN0YXRpYyBjb25zdCBzdHJ1
Y3QgYXJtX2NwdV9jYXBhYmlsaXRpZXMgYXJtX2VycmF0YVtdID0gewogICAg
ICAgICBNSURSX1JBTkdFKE1JRFJfTkVPVkVSU0VfTjEsIDAsIDMgPDwgTUlE
Ul9WQVJJQU5UX1NISUZUKSwKICAgICB9LAogI2VuZGlmCisjaWZkZWYgQ09O
RklHX0FSTTY0X0VSUkFUVU1fQ1ZFXzIwMjVfMTAyNjMKKyAgICB7CisgICAg
ICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9SRVBFQVRfVExC
SSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9DT1JURVhfQTc2
KSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02
NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9W
RVJTSU9OUyhNSURSX0NPUlRFWF9BNzZBRSksCisgICAgfSwKKyAgICB7Cisg
ICAgICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9SRVBFQVRf
VExCSSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9DT1JURVhf
QTc3KSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBB
Uk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FM
TF9WRVJTSU9OUyhNSURSX0NPUlRFWF9BNzgpLAorICAgIH0sCisgICAgewor
ICAgICAgICAuY2FwYWJpbGl0eSA9IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFU
X1RMQkksCisgICAgICAgIE1JRFJfQUxMX1ZFUlNJT05TKE1JRFJfQ09SVEVY
X0E3OEFFKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkg
PSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURS
X0FMTF9WRVJTSU9OUyhNSURSX0NPUlRFWF9BNzhDKSwKKyAgICB9LAorICAg
IHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JF
UEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX0NP
UlRFWF9BNzEwKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxp
dHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBN
SURSX0FMTF9WRVJTSU9OUyhNSURSX0NPUlRFWF9YMSksCisgICAgfSwKKyAg
ICB7CisgICAgICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9S
RVBFQVRfVExCSSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9D
T1JURVhfWDFDKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxp
dHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBN
SURSX0FMTF9WRVJTSU9OUyhNSURSX0NPUlRFWF9YMiksCisgICAgfSwKKyAg
ICB7CisgICAgICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9S
RVBFQVRfVExCSSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9D
T1JURVhfWDMpLAorICAgIH0sCisgICAgeworICAgICAgICAuY2FwYWJpbGl0
eSA9IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkksCisgICAgICAgIE1J
RFJfQUxMX1ZFUlNJT05TKE1JRFJfQ09SVEVYX1g0KSwKKyAgICB9LAorICAg
IHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JF
UEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX0NP
UlRFWF9YOTI1KSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxp
dHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBN
SURSX0FMTF9WRVJTSU9OUyhNSURSX05FT1ZFUlNFX04xKSwKKyAgICB9LAor
ICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5E
X1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURS
X05FT1ZFUlNFX04yKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFi
aWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAg
ICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX05FT1ZFUlNFX1YxKSwKKyAgICB9
LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJP
VU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhN
SURSX05FT1ZFUlNFX1YyKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNh
cGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAg
ICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX05FT1ZFUlNFX1YzKSwKKyAg
ICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JL
QVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9O
UyhNSURSX05FT1ZFUlNFX1YzQUUpLAorICAgIH0sCisgICAgeworICAgICAg
ICAuY2FwYWJpbGl0eSA9IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkks
CisgICAgICAgIE1JRFJfQUxMX1ZFUlNJT05TKE1JRFJfQzFfVUxUUkEpLAor
ICAgIH0sCisgICAgeworICAgICAgICAuY2FwYWJpbGl0eSA9IEFSTTY0X1dP
UktBUk9VTkRfUkVQRUFUX1RMQkksCisgICAgICAgIE1JRFJfQUxMX1ZFUlNJ
T05TKE1JRFJfQzFfUFJFTUlVTSksCisgICAgfSwKKyNlbmRpZgogI2lmZGVm
IENPTkZJR19BUk02NF9IQVJERU5fQlJBTkNIX1BSRURJQ1RPUgogICAgIHsK
ICAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk1fSEFSREVOX0JSQU5DSF9QUkVE
SUNUT1IsCg==

--=separator
Content-Type: application/octet-stream; name="xsa493/xsa493-04.patch"
Content-Disposition: attachment; filename="xsa493/xsa493-04.patch"
Content-Transfer-Encoding: base64

RnJvbSA5NDExYjEwYzk5NGMzOWI2NjBmYjI5NTIzNmFjZTgwNjU1MWJhOTU5
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgT3J6ZWwg
PG1pY2hhbC5vcnplbEBhbWQuY29tPgpEYXRlOiBGcmksIDIyIE1heSAyMDI2
IDA5OjM1OjU4ICswMjAwClN1YmplY3Q6IHhlbi9hcm06IE1pdGlnYXRlIFRM
QkkgZXJyYXRhIG9uIHZhcmlvdXMgQXJtIENQVXMKCkEgbnVtYmVyIG9mIENQ
VXMgZGV2ZWxvcGVkIGJ5IEFybSBzdWZmZXIgZnJvbSBlcnJhdGEgd2hlcmVi
eSBhIGJyb2FkY2FzdApUTEJJICsgRFNCIHNlcXVlbmNlIG1heSBjb21wbGV0
ZSBiZWZvcmUgdGhlIGdsb2JhbCBvYnNlcnZhdGlvbiBvZiB3cml0ZXMKd2hp
Y2ggYXJlIHRyYW5zbGF0ZWQgYnkgYW4gYWZmZWN0ZWQgVExCIGVudHJ5LiBU
aGlzIGNhbiBsZWFkIHRvIG1lbW9yeQpjb3JydXB0aW9uIGFuZCBwb3RlbnRp
YWwgcHJpdmlsZWdlIGVzY2FsYXRpb24uCgpUaGVzZSBlcnJhdGEgT05MWSBh
ZmZlY3QgdGhlIGNvbXBsZXRpb24gb2YgbWVtb3J5IGFjY2Vzc2VzIHdoaWNo
IGhhdmUKYmVlbiB0cmFuc2xhdGVkIGJ5IGFuIGludmFsaWRhdGVkIFRMQiBl
bnRyeSwgYW5kIHRoZXNlIGVycmF0YSBETyBOT1QKYWZmZWN0IHRoZSBhY3R1
YWwgaW52YWxpZGF0aW9uIG9mIFRMQiBlbnRyaWVzLiBUTEIgZW50cmllcyBh
cmUgcmVtb3ZlZApjb3JyZWN0bHkuCgpUbyBtaXRpZ2F0ZSB0aGlzIGlzc3Vl
LCBBcm0gcmVjb21tZW5kcyB0aGF0IHNvZnR3YXJlIGZvbGxvd3MgZWFjaApU
TEJJK0RTQiBzZXF1ZW5jZSB3aXRoIGFuIGFkZGl0aW9uYWwgVExCSStEU0Is
IHdoaWNoIHdpbGwgZW5zdXJlIHRoYXQKYWxsIG1lbW9yeSB3cml0ZSBlZmZl
Y3RzIGFmZmVjdGVkIGJ5IHRoZSBmaXJzdCBUTEJJIGhhdmUgYmVlbiBnbG9i
YWxseQpvYnNlcnZlZC4KClRoZSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9U
TEJJIHdvcmthcm91bmQgaXMgc3VmZmljaWVudCB0byBtaXRpZ2F0ZSB0aGUK
aXNzdWUuIEVuYWJsZSB0aGlzIHdvcmthcm91bmQgZm9yIGFmZmVjdGVkIENQ
VXMuCgpUaGlzIGlzIFhTQS00OTMgLyBDVkUtMjAyNS0xMDI2My4KClNpZ25l
ZC1vZmYtYnk6IE1pY2hhbCBPcnplbCA8bWljaGFsLm9yemVsQGFtZC5jb20+
ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPgoK
ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9LY29uZmlnIGIveGVuL2FyY2gv
YXJtL0tjb25maWcKaW5kZXggNzk2MjJiNDZhMTBkLi41ZmE4OWZjYjI0Mjgg
MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9LY29uZmlnCisrKyBiL3hlbi9h
cmNoL2FybS9LY29uZmlnCkBAIC00NjgsNiArNDY4LDI3IEBAIGNvbmZpZyBB
Uk02NF9FUlJBVFVNXzE1MDg0MTIKIAogCSAgSWYgdW5zdXJlLCBzYXkgWS4K
IAorY29uZmlnIEFSTTY0X0VSUkFUVU1fQ1ZFXzIwMjVfMTAyNjMKKwlib29s
ICJDb3J0ZXgtKi9OZW92ZXJzZS0qL0MxLSo6IENvbXBsZXRpb24gb2YgYWZm
ZWN0ZWQgbWVtb3J5IGFjY2Vzc2VzIG1pZ2h0IG5vdCBiZSBndWFyYW50ZWVk
IGJ5IGNvbXBsZXRpb24gb2YgYSBUTEJJIgorCWRlZmF1bHQgeQorCWRlcGVu
ZHMgb24gQVJNXzY0CisJc2VsZWN0IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFU
X1RMQkkKKwloZWxwCisJICBUaGlzIG9wdGlvbiBhZGRzIGEgd29ya2Fyb3Vu
ZCBmb3IgQ1ZFLTIwMjUtMTAyNjMuCisKKwkgIEEgYnJvYWRjYXN0IFRMQkkg
b24gYW5vdGhlciBQRSBtYXkgY29tcGxldGUgYmVmb3JlIGFmZmVjdGVkIG1l
bW9yeQorCSAgYWNjZXNzZXMgYXJlIGdsb2JhbGx5IG9ic2VydmVkLiBUaGlz
IG1heSBwZXJtaXQgYnlwYXNzIG9mIFN0YWdlIDEKKwkgIHRyYW5zbGF0aW9u
LCBTdGFnZS0yIHRyYW5zbGF0aW9uLCBvciBHUFQgcHJvdGVjdGlvbi4KKwor
CSAgVGhlIHdvcmthcm91bmQgcmVwZWF0cyB0aGUgVExCSSBWQUxFMklTLCBY
WlIgKyBEU0IgSVNIIG9wZXJhdGlvbiBmb3IgYWxsCisJICB0aGUgYnJvYWRj
YXN0IFRMQiBmbHVzaCBvcGVyYXRpb25zLiBBIHNpbmdsZSBhZGRpdGlvbmFs
IFRMQkkgYW5kIERTQiBhcmUKKwkgIHN1ZmZpY2llbnQgcmVnYXJkbGVzcyBv
ZiBob3cgbWFueSBUTEJJcyBhcmUgY29tcGxldGVkIGJ5IHRoZSBEU0IuCisK
KwkgIE5vdGUgdGhhdCBzb2Z0d2FyZSB3b3JrYXJvdW5kcyBhcmUgcmVxdWly
ZWQgYXQgYWxsIGV4ZWN1dGlvbiBsZXZlbHMgZm9yCisJICBhZmZlY3RlZCBw
YXJ0cyB0byBmdWxseSBtaXRpZ2F0ZSB0aGlzIGlzc3VlLgorCisJICBJZiB1
bnN1cmUsIHNheSBZLgorCiBlbmRtZW51CiAKIGNvbmZpZyBBUk02NF9IQVJE
RU5fQlJBTkNIX1BSRURJQ1RPUgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJt
L2NwdWVycmF0YS5jIGIveGVuL2FyY2gvYXJtL2NwdWVycmF0YS5jCmluZGV4
IDE3Y2YxMzRmMWIwZC4uM2EzMjE4MzYxOGRjIDEwMDY0NAotLS0gYS94ZW4v
YXJjaC9hcm0vY3B1ZXJyYXRhLmMKKysrIGIveGVuL2FyY2gvYXJtL2NwdWVy
cmF0YS5jCkBAIC01MzQsNiArNTM0LDkyIEBAIHN0YXRpYyBjb25zdCBzdHJ1
Y3QgYXJtX2NwdV9jYXBhYmlsaXRpZXMgYXJtX2VycmF0YVtdID0gewogICAg
ICAgICBNSURSX1JBTkdFKE1JRFJfTkVPVkVSU0VfTjEsIDAsIDMgPDwgTUlE
Ul9WQVJJQU5UX1NISUZUKSwKICAgICB9LAogI2VuZGlmCisjaWZkZWYgQ09O
RklHX0FSTTY0X0VSUkFUVU1fQ1ZFXzIwMjVfMTAyNjMKKyAgICB7CisgICAg
ICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9SRVBFQVRfVExC
SSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9DT1JURVhfQTc2
KSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02
NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9W
RVJTSU9OUyhNSURSX0NPUlRFWF9BNzZBRSksCisgICAgfSwKKyAgICB7Cisg
ICAgICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9SRVBFQVRf
VExCSSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9DT1JURVhf
QTc3KSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBB
Uk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FM
TF9WRVJTSU9OUyhNSURSX0NPUlRFWF9BNzgpLAorICAgIH0sCisgICAgewor
ICAgICAgICAuY2FwYWJpbGl0eSA9IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFU
X1RMQkksCisgICAgICAgIE1JRFJfQUxMX1ZFUlNJT05TKE1JRFJfQ09SVEVY
X0E3OEFFKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkg
PSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURS
X0FMTF9WRVJTSU9OUyhNSURSX0NPUlRFWF9BNzhDKSwKKyAgICB9LAorICAg
IHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JF
UEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX0NP
UlRFWF9BNzEwKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxp
dHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBN
SURSX0FMTF9WRVJTSU9OUyhNSURSX0NPUlRFWF9YMSksCisgICAgfSwKKyAg
ICB7CisgICAgICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9S
RVBFQVRfVExCSSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9D
T1JURVhfWDFDKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxp
dHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBN
SURSX0FMTF9WRVJTSU9OUyhNSURSX0NPUlRFWF9YMiksCisgICAgfSwKKyAg
ICB7CisgICAgICAgIC5jYXBhYmlsaXR5ID0gQVJNNjRfV09SS0FST1VORF9S
RVBFQVRfVExCSSwKKyAgICAgICAgTUlEUl9BTExfVkVSU0lPTlMoTUlEUl9D
T1JURVhfWDMpLAorICAgIH0sCisgICAgeworICAgICAgICAuY2FwYWJpbGl0
eSA9IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkksCisgICAgICAgIE1J
RFJfQUxMX1ZFUlNJT05TKE1JRFJfQ09SVEVYX1g0KSwKKyAgICB9LAorICAg
IHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JF
UEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX0NP
UlRFWF9YOTI1KSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxp
dHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBN
SURSX0FMTF9WRVJTSU9OUyhNSURSX05FT1ZFUlNFX04xKSwKKyAgICB9LAor
ICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5E
X1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURS
X05FT1ZFUlNFX04yKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFi
aWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAg
ICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX05FT1ZFUlNFX1YxKSwKKyAgICB9
LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JLQVJP
VU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9OUyhN
SURSX05FT1ZFUlNFX1YyKSwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLmNh
cGFiaWxpdHkgPSBBUk02NF9XT1JLQVJPVU5EX1JFUEVBVF9UTEJJLAorICAg
ICAgICBNSURSX0FMTF9WRVJTSU9OUyhNSURSX05FT1ZFUlNFX1YzKSwKKyAg
ICB9LAorICAgIHsKKyAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk02NF9XT1JL
QVJPVU5EX1JFUEVBVF9UTEJJLAorICAgICAgICBNSURSX0FMTF9WRVJTSU9O
UyhNSURSX05FT1ZFUlNFX1YzQUUpLAorICAgIH0sCisgICAgeworICAgICAg
ICAuY2FwYWJpbGl0eSA9IEFSTTY0X1dPUktBUk9VTkRfUkVQRUFUX1RMQkks
CisgICAgICAgIE1JRFJfQUxMX1ZFUlNJT05TKE1JRFJfQzFfVUxUUkEpLAor
ICAgIH0sCisgICAgeworICAgICAgICAuY2FwYWJpbGl0eSA9IEFSTTY0X1dP
UktBUk9VTkRfUkVQRUFUX1RMQkksCisgICAgICAgIE1JRFJfQUxMX1ZFUlNJ
T05TKE1JRFJfQzFfUFJFTUlVTSksCisgICAgfSwKKyNlbmRpZgogI2lmZGVm
IENPTkZJR19BUk02NF9IQVJERU5fQlJBTkNIX1BSRURJQ1RPUgogICAgIHsK
ICAgICAgICAgLmNhcGFiaWxpdHkgPSBBUk1fSEFSREVOX0JSQU5DSF9QUkVE
SUNUT1IsCg==

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 12:01:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 12:01:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332677.1595225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWv93-0000MH-2K; Tue, 09 Jun 2026 12:01:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332677.1595225; Tue, 09 Jun 2026 12: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 1wWv92-0000Lm-PZ; Tue, 09 Jun 2026 12:01:24 +0000
Received: by outflank-mailman (input) for mailman id 1332677;
 Tue, 09 Jun 2026 12:01:23 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 1wWv91-0000Eg-0c; Tue, 09 Jun 2026 12:01:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWv90-00GDOQ-DU; Tue, 09 Jun 2026 14:01:22 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 6a280090-bab6-0a2a0a5309dd-0a2a4501d776-14
 for <multiple-recipients>; Tue, 09 Jun 2026 14:01:22 +0200
Received: from [104.130.215.37] (helo=mail.xenproject.org)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 6a280090-c1f2-0a2a45010019-6882d725c31c-3
 for <multiple-recipients>; Tue, 09 Jun 2026 14:01:21 +0200
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <andrewcoop@xenbits.xen.org>) id 1wWv8t-001epO-2u;
 Tue, 09 Jun 2026 12:01:15 +0000
Received: from andrewcoop by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <andrewcoop@xenbits.xen.org>) id 1wWv8t-00CR1E-1u;
 Tue, 09 Jun 2026 12:01:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; none
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.510 (Entity 5.510)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
 xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
CC: Xen.org security team <security-team-members@xen.org>
Subject: Xen Security Advisory 494 v3 (CVE-2026-42488) - x86: mismatched
 mapcache metadata
Message-Id: <E1wWv8t-00CR1E-1u@xenbits.xenproject.org>
Date: Tue, 09 Jun 2026 12:01:15 +0000
X-purgate-ID: tlsNG-d62444/1781006481-B534AC54-1A92E72F/0/0
X-purgate-type: clean
X-purgate-size: 105877

--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

            Xen Security Advisory CVE-2026-42488 / XSA-494
                               version 3

                   x86: mismatched mapcache metadata

UPDATES IN VERSION 3
====================

Public release.

ISSUE DESCRIPTION
=================

Some shadow paging errors paths will switch the page-tables without
updating the currently running vCPU reference.  This causes a mismatch
between the loaded page-tables and the mapcache metadata which can lead
to corruption of the mapcache.

IMPACT
======

Privilege escalation, Denial of Service (DoS) affecting the entire host,
and information leaks.

VULNERABLE SYSTEMS
==================

Xen 4.15 and onwards are vulnerable.  Any Xen version with the fix for
XSA-438 applied is vulnerable.

Only x86 systems are vulnerable.  Only 64-bit PV guests can leverage the
vulnerability, and only when running in shadow mode.  Shadow mode would
be in use when migrating guests or as a workaround for XSA-273 (L1TF).

MITIGATION
==========

Running only HVM or PVH guests will avoid the vulnerability.

Running PV guests in the PV shim will also avoid the vulnerability.

CREDITS
=======

This issue was discovered by Roger Pau MonnÃ© of XenServer.

RESOLUTION
==========

Applying the attached patch resolves this issue.

Note that patches for released versions are generally prepared to
apply to the stable branches, and may not apply cleanly to the most
recent release tarball.  Downstreams are encouraged to update to the
tip of the stable branch before applying these patches.

xsa494.patch           xen-unstable
xsa494-4.21.patch      Xen 4.21.x
xsa494-4.20.patch      Xen 4.20.x - Xen 4.19.x
xsa494-4.18.patch      Xen 4.18.x
xsa494-4.17.patch      Xen 4.17.x

$ sha256sum xsa494*
6e3328f73000afdfffa5e4d9fec89a4c9456d97758bfa1a0605765a386565328  xsa494.patch
483675d6cb69b70e919110f58814b047787c3b53def344cf32f4acdd7ee9b271  xsa494-4.17.patch
e637dce8cd5ecf7c30501ab2eb0af5240ff0a36844b257ca7dd14094d5118aa2  xsa494-4.18.patch
a70aa60fb5dcf171025c5d90e332dcae95a83bbf9d42ab45451f629621f455e5  xsa494-4.20.patch
14f9698060c523893f710cc5ab3ec723c75a99e5caa193b9281d4a06016bf687  xsa494-4.21.patch
$

DEPLOYMENT DURING EMBARGO
=========================

Deployment of the patches and/or mitigations described above (or
others which are substantially similar) is permitted during the
embargo, even on public-facing systems with untrusted guest users and
administrators.

But: Distribution of updated software is prohibited (except to other
members of the predisclosure list).

Predisclosure list members who wish to deploy significantly different
patches and/or mitigations, please contact the Xen Project Security
Team.

(Note: this during-embargo deployment notice is retained in
post-embargo publicly released Xen Project advisories, even though it
is then no longer applicable.  This is to enable the community to have
oversight of the Xen Project Security Team's decisionmaking.)

For more information about permissible uses of embargoed information,
consult the Xen Project community's agreed Security Policy:
  http://www.xenproject.org/security-policy.html
-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmon+5MMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZ+HcIAIpJbk3ISxjsn0ZFBXR01iOGubj+Y/vKE4mdJe1y
1//aeWPL26enDoyZ5KoT+hiC2qogTfT1p71MIS0Gns44UfVOw95xlrd0eUO//5td
NQk7YFYn/WB+z9KWcdV8+Lo3zKiMNFiILCeK2+WefByfBQfZ/WFBQ48WZpxnkxHo
j7cgtmtmTStmIDEWxY0pfdEWHPCBGX3SvUGWKR2tl5tZZxjd+yIij4fjLzUCKxU3
r4dYblTAg0JyDsI2SR16TLRSKyWxnwprzlb2fJEDsZXoZvIetf6jhHpvfFY+Z2m1
zlLfFDam+oGQI1CwrMNCz69AaeJzyTnRdiY+BM51lpgdjj0=
=pLmw
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa494.patch"
Content-Disposition: attachment; filename="xsa494.patch"
Content-Transfer-Encoding: base64

RnJvbSA2OWM0M2U4OGE3NzM4YTdmODVmMmM2YTE4ZjkzZDg5N2MzOWViNmY2
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2dlciBQYXUgTW9u
bmUgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpEYXRlOiBNb24sIDE2IE1hciAy
MDI2IDExOjAzOjIyICswMTAwClN1YmplY3Q6IFtQQVRDSF0geDg2L21tOiBh
Y2N1cmF0ZWx5IHRyYWNrIHdoaWNoIHZDUFUgcGFnZS10YWJsZXMgYXJlIGxv
YWRlZApNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxh
aW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog
OGJpdAoKTmVpdGhlciBjdXJyZW50IG5vciBjdXJyX3ZjcHUgcGVyLUNQVSBm
aWVsZHMgYWNjdXJhdGVseSB0cmFjayB3aGljaApwYWdlLXRhYmxlcyBhcmUg
bG9hZGVkLiAgVGhlcmUgYXJlIGNvcm5lciBjYXNlcyB3aGVuIGRlYWxpbmcg
d2l0aCBzaGFkb3cKcGFnaW5nIGZhaWx1cmVzIHRoYXQgc3dpdGNoIHRvIHRo
ZSBpZGxlIHZDUFUgcGFnZS10YWJsZXMgd2l0aG91dCBjaGFuZ2luZwpjdXJy
ZW50IG9yIGN1cnJfdmNwdSBwZXItQ1BVIGZpZWxkcy4KCkludHJvZHVjZSBh
IG5ldyBwZXItQ1BVIGZpZWxkIHRoYXQgYXR0ZW1wdHMgdG8gdHJhY2sgd2hp
Y2ggdkNQVSBwYWdlLXRhYmxlcwphcmUgbG9hZGVkLiAgVXBkYXRlIHN1Y2gg
dHJhY2tpbmcgd2hlbiBjcjMgaXMgY2hhbmdlZCwgYW5kIGRvIHNvIGluIGEK
cmVnaW9uIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCwgYXMgdG8gYXZvaWQg
aGFuZGxpbmcgaW50ZXJydXB0cyB3aXRoIGEKbWlzbWF0Y2ggYmV0d2VlbiB0
aGUgdkNQVSB0cmFja2luZyBmaWVsZCBhbmQgdGhlIGxvYWRlZCBwYWdlLXRh
Ymxlcy4KCkFzIGEgcmVzdWx0IG9mIHRoaXMgbmV3bHkgbW9yZSBhY2N1cmF0
ZSB0cmFja2luZyB0aGUgbWFwY2FjaGUgb3ZlcnJpZGUKZnVuY3Rpb25hbGl0
eSBjYW4gYmUgcmVtb3ZlZDogdGhlIGRvbTAgUFYgYnVpbGRlciB3YXMgdGhl
IG9ubHkgdXNlciBvZiBpdCwKYW5kIGl0J3MgdXBkYXRlZCBoZXJlIHRvIHBy
b3Blcmx5IHNpZ25hbCB3aGljaCB2Q1BVIHBhZ2UtdGFibGVzIGFyZSBsb2Fk
ZWQKaW4gdGhlIGNhbGxzIHRvIHN3aXRjaF9jcjNfY3I0KCkuCgpOb3RlIHRo
ZSBFRkkgcGFnZS10YWJsZXMgaGF2ZSB0aGUgWGVuIG93bmVkIEw0IHNsb3Rz
IGNvcGllZCBmcm9tIHRoZSBpZGxlCnBhZ2UtdGFibGVzLCBzbyBmb3IgdGhl
IGVmZmVjdHMgb2YgdGhlIG1hcGNhY2hlIHRoZSBFRkkgcGFnZS10YWJsZXMg
Y291bGQKdXNlIHRoZSBpZGxlIG1hcGNhY2hlIGlmIGl0IGhhZCBvbmUuICBQ
YXNzIHRoZSBpZGxlIHZDUFUgaW4gdGhlCnN3aXRjaF9jcjNfY3I0KCkgY2Fs
bCB0aGF0IHN3aXRjaGVzIHRvIHRoZSBydW50aW1lIEVGSSBwYWdlLXRhYmxl
cy4KClRoZXJlIGFyZSBrbm93biBpc3N1ZXMgd2l0aCB0aGUgdXNlIG9mIG1h
cGNhY2hlIGluIE5NSSBjb250ZXh0LsKgIFRoaXMgcGF0Y2gKZG9lcyBub3Qg
YWx0ZXIgdGhlIGJlaGF2aW91ci4KClRoaXMgaXMgQ1ZFLTIwMjYtNDI0ODgg
LyBYU0EtNDk0LgoKRml4ZXM6IGZiMGZmNDlmZTlmNyAoIng4Ni9zaGFkb3c6
IGRlZmVyIHJlbGVhc2luZyBvZiBQVidzIHRvcC1sZXZlbCBzaGFkb3cgcmVm
ZXJlbmNlIikKU2lnbmVkLW9mZi1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9n
ZXIucGF1QGNpdHJpeC5jb20+CkFja2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxh
bmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9k
b21haW5fcGFnZS5jICAgICAgICAgICB8IDQ4ICsrKysrKysrKysrKy0tLS0t
LS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jICAgICAgICAg
ICAgICB8ICA1ICsrLQogeGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2RvbWFp
bi5oICAgIHwgIDEgLQogeGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2ZsdXNo
dGxiLmggIHwgIDIgKy0KIHhlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wcm9j
ZXNzb3IuaCB8ICAzICsrCiB4ZW4vYXJjaC94ODYvbW0uYyAgICAgICAgICAg
ICAgICAgICAgfCAgNCArLS0KIHhlbi9hcmNoL3g4Ni9wdi9kb20wX2J1aWxk
LmMgICAgICAgICB8IDEyICsrKy0tLS0KIHhlbi9hcmNoL3g4Ni9wdi9kb21h
aW4uYyAgICAgICAgICAgICB8IDEzICsrKysrKy0tCiB4ZW4vYXJjaC94ODYv
c21wYm9vdC5jICAgICAgICAgICAgICAgfCAgMSArCiB4ZW4vY29tbW9uL2Vm
aS9jb21tb24tc3R1Yi5jICAgICAgICAgfCAgNSAtLS0KIHhlbi9jb21tb24v
ZWZpL3J1bnRpbWUuYyAgICAgICAgICAgICB8IDIxICsrKysrLS0tLS0tLQog
eGVuL2luY2x1ZGUveGVuL2VmaS5oICAgICAgICAgICAgICAgIHwgIDEgLQog
MTIgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgNjIgZGVsZXRp
b25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbWFpbl9wYWdl
LmMgYi94ZW4vYXJjaC94ODYvZG9tYWluX3BhZ2UuYwppbmRleCBlYWM1ZTMz
MDRmYjguLjcyYzAwMTk0ZjMxNSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2
L2RvbWFpbl9wYWdlLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWFpbl9wYWdl
LmMKQEAgLTE4LDQ4ICsxOCw0MCBAQAogI2luY2x1ZGUgPGFzbS9oYXJkaXJx
Lmg+CiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CiAKLXN0YXRpYyBERUZJTkVf
UEVSX0NQVShzdHJ1Y3QgdmNwdSAqLCBvdmVycmlkZSk7Ci0KIHN0YXRpYyBp
bmxpbmUgc3RydWN0IHZjcHUgKm1hcGNhY2hlX2N1cnJlbnRfdmNwdSh2b2lk
KQogewotICAgIC8qIEluIHRoZSBjb21tb24gY2FzZSB3ZSB1c2UgdGhlIG1h
cGNhY2hlIG9mIHRoZSBydW5uaW5nIFZDUFUuICovCi0gICAgc3RydWN0IHZj
cHUgKnYgPSB0aGlzX2NwdShvdmVycmlkZSkgPzogY3VycmVudDsKLQotICAg
IC8qCi0gICAgICogV2hlbiBjdXJyZW50IGlzbid0IHByb3Blcmx5IHNldCB1
cCB5ZXQsIHRoaXMgaXMgZXF1aXZhbGVudCB0bwotICAgICAqIHJ1bm5pbmcg
aW4gYW4gaWRsZSB2Q1BVIChjYWxsZXJzIG11c3QgY2hlY2sgZm9yIE5VTEwp
LgotICAgICAqLwotICAgIGlmICggIXYgKQotICAgICAgICByZXR1cm4gTlVM
TDsKKyAgICBzdHJ1Y3QgdmNwdSAqdiA9IHRoaXNfY3B1KHBndGFibGVfdmNw
dSk7CisgICAgc3RydWN0IHZjcHUgKmN1cnIgPSBjdXJyZW50OwogCiAgICAg
LyoKLSAgICAgKiBXaGVuIHVzaW5nIGVmaSBydW50aW1lIHBhZ2UgdGFibGVz
LCB3ZSBoYXZlIHRoZSBlcXVpdmFsZW50IG9mIHRoZSBpZGxlCi0gICAgICog
ZG9tYWluJ3MgcGFnZSB0YWJsZXMgYnV0IGN1cnJlbnQgbWF5IHBvaW50IGF0
IGFub3RoZXIgZG9tYWluJ3MgVkNQVS4KLSAgICAgKiBSZXR1cm4gTlVMTCBh
cyB0aG91Z2ggY3VycmVudCBpcyBub3QgcHJvcGVybHkgc2V0IHVwIHlldC4K
KyAgICAgKiBEdXJpbmcgZWFybHkgYm9vdCBwZ3RhYmxlX3ZjcHUgaXMgbm90
IHNldCwgY2FsbGVycyBtdXN0IGhhbmRsZSBOVUxMLgorICAgICAqIE5vbi1Q
ViBkb21haW5zIGRvbid0IGhhdmUgYSBtYXBjYWNoZSwgdGhlIGRpcmVjdG1h
cCBjb3ZlcnMgYWxsIHBoeXNpY2FsCisgICAgICogYWRkcmVzcyBzcGFjZS4K
ICAgICAgKi8KLSAgICBpZiAoIGVmaV9yc191c2luZ19wZ3RhYmxlcygpICkK
KyAgICBpZiAoICF2IHx8ICFpc19wdl92Y3B1KHYpICkKICAgICAgICAgcmV0
dXJuIE5VTEw7CiAKICAgICAvKgotICAgICAqIElmIGd1ZXN0X3RhYmxlIGlz
IE5VTEwsIGFuZCB3ZSBhcmUgcnVubmluZyBhIHBhcmF2aXJ0dWFsaXNlZCBn
dWVzdCwKLSAgICAgKiB0aGVuIGl0IG1lYW5zIHdlIGFyZSBydW5uaW5nIG9u
IHRoZSBpZGxlIGRvbWFpbidzIHBhZ2UgdGFibGUgYW5kIG11c3QKLSAgICAg
KiB0aGVyZWZvcmUgdXNlIGl0cyBtYXBjYWNoZS4KKyAgICAgKiBJZiB3ZSBh
cmUgaW4gYSBsYXp5IGNvbnRleHQtc3dpdGNoIHN0YXRlIGZyb20gYSBQViB2
Q1BVIGRvIGEgZnVsbCBzd2l0Y2gKKyAgICAgKiB0byB0aGUgaWRsZSB2Q1BV
IG5vdywgb3RoZXJ3aXNlIGFuIGluY29taW5nIEZMVVNIX1ZDUFVfU1RBVEUg
SVBJIHdvdWxkCisgICAgICogY2hhbmdlIHRoZSBwYWdlIHRhYmxlcyB1bmRl
ciBvdXIgZmVldCBhbiBpbnZhbGlkYXRlIGFueSBpbi11c2UgbWFwY2FjaGUK
KyAgICAgKiBlbnRyaWVzLgogICAgICAqLwotICAgIGlmICggdW5saWtlbHko
cGFnZXRhYmxlX2lzX251bGwodi0+YXJjaC5ndWVzdF90YWJsZSkpICYmIGlz
X3B2X3ZjcHUodikgKQorICAgIGlmICggdW5saWtlbHkodGhpc19jcHUoY3Vy
cl92Y3B1KSAhPSBjdXJyKSApCiAgICAgewotICAgICAgICAvKiBJZiB3ZSBy
ZWFsbHkgYXJlIGlkbGluZywgcGVyZm9ybSBsYXp5IGNvbnRleHQgc3dpdGNo
IG5vdy4gKi8KLSAgICAgICAgaWYgKCAodiA9IGlkbGVfdmNwdVtzbXBfcHJv
Y2Vzc29yX2lkKCldKSA9PSBjdXJyZW50ICkKLSAgICAgICAgICAgIHN5bmNf
bG9jYWxfZXhlY3N0YXRlKCk7CisgICAgICAgIEFTU0VSVChjdXJyID09IGlk
bGVfdmNwdVtzbXBfcHJvY2Vzc29yX2lkKCldKTsKKyAgICAgICAgc3luY19s
b2NhbF9leGVjc3RhdGUoKTsKICAgICAgICAgLyogV2UgbXVzdCBub3cgYmUg
cnVubmluZyBvbiB0aGUgaWRsZSBwYWdlIHRhYmxlLiAqLwogICAgICAgICBB
U1NFUlQoY3IzX3BhKHJlYWRfY3IzKCkpID09IF9fcGEoaWRsZV9wZ190YWJs
ZSkpOwogICAgIH0KIAotICAgIHJldHVybiB2OwotfQotCi12b2lkIF9faW5p
dCBtYXBjYWNoZV9vdmVycmlkZV9jdXJyZW50KHN0cnVjdCB2Y3B1ICp2KQot
ewotICAgIHRoaXNfY3B1KG92ZXJyaWRlKSA9IHY7CisgICAgLyoKKyAgICAg
KiBBdCB0aGlzIHBvaW50IHdlIGNhbiBndWFyYW50ZWUgWGVuIGlzIG5vdCBp
biBsYXp5IGNvbnRleHQgc3dpdGNoOiBlaXRoZXIKKyAgICAgKiB0aGUgY29k
ZSBhYm92ZSB3aWxsIGhhdmUgc3luY2VkIHRoZSBzdGF0ZSwgb3IgYW4gaW5j
b21pbmcKKyAgICAgKiBGTFVTSF9WQ1BVX1NUQVRFIElQSSBoYXMgZG9uZSBz
byBiZWhpbmQgb3VyIGJhY2suICBVc2UgQUNDRVNTX09OQ0UgdG8KKyAgICAg
KiBlbnN1cmUgdGhlIGNvbXBpbGVyIG5ldmVyIHJldHVybnMgdGhlIGxvY2Fs
bHkgY2FjaGVkIHBndGFibGVfdmNwdSB2YWx1ZS4KKyAgICAgKi8KKyAgICBy
ZXR1cm4gQUNDRVNTX09OQ0UodGhpc19jcHUocGd0YWJsZV92Y3B1KSk7CiB9
CiAKICNkZWZpbmUgbWFwY2FjaGVfbDJfZW50cnkoZSkgKChlKSA+PiBQQUdF
VEFCTEVfT1JERVIpCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZmx1c2h0
bGIuYyBiL3hlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jCmluZGV4IDIzNzIxYmI1
MmM5MC4uNWUyZWQ1MGVjOTcxIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv
Zmx1c2h0bGIuYworKysgYi94ZW4vYXJjaC94ODYvZmx1c2h0bGIuYwpAQCAt
MTA0LDcgKzEwNCw5IEBAIHN0YXRpYyB2b2lkIGRvX3RsYl9mbHVzaCh2b2lk
KQogICAgIGxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIH0KIAotdm9pZCBz
d2l0Y2hfY3IzX2NyNCh1bnNpZ25lZCBsb25nIGNyMywgdW5zaWduZWQgbG9u
ZyBjcjQpCitERUZJTkVfUEVSX0NQVShzdHJ1Y3QgdmNwdSAqLCBwZ3RhYmxl
X3ZjcHUpOworCit2b2lkIHN3aXRjaF9jcjNfY3I0KHN0cnVjdCB2Y3B1ICp2
LCB1bnNpZ25lZCBsb25nIGNyMywgdW5zaWduZWQgbG9uZyBjcjQpCiB7CiAg
ICAgdW5zaWduZWQgbG9uZyBmbGFncywgb2xkX2NyNDsKICAgICB1MzIgdCA9
IDA7CkBAIC0xNDgsNiArMTUwLDcgQEAgdm9pZCBzd2l0Y2hfY3IzX2NyNCh1
bnNpZ25lZCBsb25nIGNyMywgdW5zaWduZWQgbG9uZyBjcjQpCiAgICAgaWYg
KCAob2xkX2NyNCAmIFg4Nl9DUjRfUENJREUpID4gKGNyNCAmIFg4Nl9DUjRf
UENJREUpICkKICAgICAgICAgY3IzIHw9IFg4Nl9DUjNfTk9GTFVTSDsKICAg
ICB3cml0ZV9jcjMoY3IzKTsKKyAgICB0aGlzX2NwdShwZ3RhYmxlX3ZjcHUp
ID0gdjsKIAogICAgIGlmICggb2xkX2NyNCAhPSBjcjQgKQogICAgICAgICB3
cml0ZV9jcjQoY3I0KTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9pbmNs
dWRlL2FzbS9kb21haW4uaCBiL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9k
b21haW4uaAppbmRleCAzODVhNjY2NmRhZmEuLmUwY2U4YjRjMzljOCAxMDA2
NDQKLS0tIGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2RvbWFpbi5oCisr
KyBiL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9kb21haW4uaApAQCAtOTAs
NyArOTAsNiBAQCBzdHJ1Y3QgbWFwY2FjaGVfZG9tYWluIHsKIAogaW50IG1h
cGNhY2hlX2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQpOwogaW50IG1h
cGNhY2hlX3ZjcHVfaW5pdChzdHJ1Y3QgdmNwdSAqdik7Ci12b2lkIG1hcGNh
Y2hlX292ZXJyaWRlX2N1cnJlbnQoc3RydWN0IHZjcHUgKnYpOwogCiAvKiB4
ODYvNjQ6IHRvZ2dsZSBndWVzdCBiZXR3ZWVuIGtlcm5lbCBhbmQgdXNlciBt
b2Rlcy4gKi8KIHZvaWQgdG9nZ2xlX2d1ZXN0X21vZGUoc3RydWN0IHZjcHUg
KnYpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2Zs
dXNodGxiLmggYi94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vZmx1c2h0bGIu
aAppbmRleCA3YmNiY2EyYjdmMzEuLjM0NTY3N2ViNzJhZSAxMDA2NDQKLS0t
IGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2ZsdXNodGxiLmgKKysrIGIv
eGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2ZsdXNodGxiLmgKQEAgLTEwNCw3
ICsxMDQsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaW52bHBnKGNvbnN0IHZv
aWQgKnApCiB9CiAKIC8qIFdyaXRlIHBhZ2V0YWJsZSBiYXNlIGFuZCBpbXBs
aWNpdGx5IHRpY2sgdGhlIHRsYmZsdXNoIGNsb2NrLiAqLwotdm9pZCBzd2l0
Y2hfY3IzX2NyNCh1bnNpZ25lZCBsb25nIGNyMywgdW5zaWduZWQgbG9uZyBj
cjQpOwordm9pZCBzd2l0Y2hfY3IzX2NyNChzdHJ1Y3QgdmNwdSAqdiwgdW5z
aWduZWQgbG9uZyBjcjMsIHVuc2lnbmVkIGxvbmcgY3I0KTsKIAogLyogZmx1
c2hfKiBmbGFnIGZpZWxkczogKi8KICAvKgpkaWZmIC0tZ2l0IGEveGVuL2Fy
Y2gveDg2L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oIGIveGVuL2FyY2gveDg2
L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oCmluZGV4IGMzN2JkN2ExNzY1OC4u
OGNhNjc5OWE4MTEzIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaW5jbHVk
ZS9hc20vcHJvY2Vzc29yLmgKKysrIGIveGVuL2FyY2gveDg2L2luY2x1ZGUv
YXNtL3Byb2Nlc3Nvci5oCkBAIC0zMjksNiArMzI5LDkgQEAgREVDTEFSRV9Q
RVJfQ1BVKHN0cnVjdCB0c3NfcGFnZSwgdHNzX3BhZ2UpOwogCiBERUNMQVJF
X1BFUl9DUFUocm9vdF9wZ2VudHJ5X3QgKiwgcm9vdF9wZ3QpOwogCisvKiB2
Q1BVIG9mIHRoZSBjdXJyZW50bHkgbG9hZGVkIHBhZ2UtdGFibGVzLiAqLwor
REVDTEFSRV9QRVJfQ1BVKHN0cnVjdCB2Y3B1ICosIHBndGFibGVfdmNwdSk7
CisKIGV4dGVybiB2b2lkIHdyaXRlX3B0YmFzZShzdHJ1Y3QgdmNwdSAqdik7
CiAKIC8qIFBBVVNFIChlbmNvZGluZzogUkVQIE5PUCkgaXMgYSBnb29kIHRo
aW5nIHRvIGluc2VydCBpbnRvIGJ1c3ktd2FpdCBsb29wcy4gKi8KZGlmZiAt
LWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS5jIGIveGVuL2FyY2gveDg2L21tLmMK
aW5kZXggYTE1ODM3OWU3NzM0Li5iYjRiYTBhZmUyZDQgMTAwNjQ0Ci0tLSBh
L3hlbi9hcmNoL3g4Ni9tbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS5jCkBA
IC01MzUsNyArNTM1LDcgQEAgdm9pZCB3cml0ZV9wdGJhc2Uoc3RydWN0IHZj
cHUgKnYpCiAgICAgICAgIGNwdV9pbmZvLT5wdl9jcjMgPSBfX3BhKHRoaXNf
Y3B1KHJvb3RfcGd0KSk7CiAgICAgICAgIGlmICggbmV3X2NyNCAmIFg4Nl9D
UjRfUENJREUgKQogICAgICAgICAgICAgY3B1X2luZm8tPnB2X2NyMyB8PSBn
ZXRfcGNpZF9iaXRzKHYsIHRydWUpOwotICAgICAgICBzd2l0Y2hfY3IzX2Ny
NCh2LT5hcmNoLmNyMywgbmV3X2NyNCk7CisgICAgICAgIHN3aXRjaF9jcjNf
Y3I0KHYsIHYtPmFyY2guY3IzLCBuZXdfY3I0KTsKICAgICB9CiAgICAgZWxz
ZQogICAgIHsKQEAgLTU0Myw3ICs1NDMsNyBAQCB2b2lkIHdyaXRlX3B0YmFz
ZShzdHJ1Y3QgdmNwdSAqdikKICAgICAgICAgY3B1X2luZm8tPnVzZV9wdl9j
cjMgPSBmYWxzZTsKICAgICAgICAgY3B1X2luZm8tPnhlbl9jcjMgPSAwOwog
ICAgICAgICAvKiBzd2l0Y2hfY3IzX2NyNCgpIHNlcmlhbGl6ZXMuICovCi0g
ICAgICAgIHN3aXRjaF9jcjNfY3I0KHYtPmFyY2guY3IzLCBuZXdfY3I0KTsK
KyAgICAgICAgc3dpdGNoX2NyM19jcjQodiwgdi0+YXJjaC5jcjMsIG5ld19j
cjQpOwogICAgICAgICBjcHVfaW5mby0+cHZfY3IzID0gMDsKICAgICB9CiB9
CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHYvZG9tMF9idWlsZC5jIGIv
eGVuL2FyY2gveDg2L3B2L2RvbTBfYnVpbGQuYwppbmRleCAxMmQ4YmE3NDRh
OWEuLmRkZWIxNDRiMDY5NiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3B2
L2RvbTBfYnVpbGQuYworKysgYi94ZW4vYXJjaC94ODYvcHYvZG9tMF9idWls
ZC5jCkBAIC04MzEsOCArODMxLDcgQEAgc3RhdGljIGludCBfX2luaXQgZG9t
MF9jb25zdHJ1Y3QoY29uc3Qgc3RydWN0IGJvb3RfZG9tYWluICpiZCkKICAg
ICB1cGRhdGVfY3IzKHYpOwogCiAgICAgLyogV2UgcnVuIG9uIGRvbTAncyBw
YWdlIHRhYmxlcyBmb3IgdGhlIGZpbmFsIHBhcnQgb2YgdGhlIGJ1aWxkIHBy
b2Nlc3MuICovCi0gICAgc3dpdGNoX2NyM19jcjQoY3IzX3BhKHYtPmFyY2gu
Y3IzKSwgcmVhZF9jcjQoKSk7Ci0gICAgbWFwY2FjaGVfb3ZlcnJpZGVfY3Vy
cmVudCh2KTsKKyAgICBzd2l0Y2hfY3IzX2NyNCh2LCBjcjNfcGEodi0+YXJj
aC5jcjMpLCByZWFkX2NyNCgpKTsKIAogICAgIC8qIENvcHkgdGhlIE9TIGlt
YWdlIGFuZCBmcmVlIHRlbXBvcmFyeSBidWZmZXIuICovCiAgICAgZWxmLmRl
c3RfYmFzZSA9ICh2b2lkKil2a2Vybl9zdGFydDsKQEAgLTg0MSw4ICs4NDAs
NyBAQCBzdGF0aWMgaW50IF9faW5pdCBkb20wX2NvbnN0cnVjdChjb25zdCBz
dHJ1Y3QgYm9vdF9kb21haW4gKmJkKQogICAgIHJjID0gZWxmX2xvYWRfYmlu
YXJ5KCZlbGYpOwogICAgIGlmICggcmMgPCAwICkKICAgICB7Ci0gICAgICAg
IG1hcGNhY2hlX292ZXJyaWRlX2N1cnJlbnQoTlVMTCk7Ci0gICAgICAgIHN3
aXRjaF9jcjNfY3I0KGN1cnJlbnQtPmFyY2guY3IzLCByZWFkX2NyNCgpKTsK
KyAgICAgICAgc3dpdGNoX2NyM19jcjQoY3VycmVudCwgY3VycmVudC0+YXJj
aC5jcjMsIHJlYWRfY3I0KCkpOwogICAgICAgICBwcmludGsoIkZhaWxlZCB0
byBsb2FkIHRoZSBrZXJuZWwgYmluYXJ5XG4iKTsKICAgICAgICAgZ290byBv
dXQ7CiAgICAgfQpAQCAtODUzLDggKzg1MSw3IEBAIHN0YXRpYyBpbnQgX19p
bml0IGRvbTBfY29uc3RydWN0KGNvbnN0IHN0cnVjdCBib290X2RvbWFpbiAq
YmQpCiAgICAgICAgIGlmICggKHBhcm1zLnZpcnRfaHlwZXJjYWxsIDwgdl9z
dGFydCkgfHwKICAgICAgICAgICAgICAocGFybXMudmlydF9oeXBlcmNhbGwg
Pj0gdl9lbmQpICkKICAgICAgICAgewotICAgICAgICAgICAgbWFwY2FjaGVf
b3ZlcnJpZGVfY3VycmVudChOVUxMKTsKLSAgICAgICAgICAgIHN3aXRjaF9j
cjNfY3I0KGN1cnJlbnQtPmFyY2guY3IzLCByZWFkX2NyNCgpKTsKKyAgICAg
ICAgICAgIHN3aXRjaF9jcjNfY3I0KGN1cnJlbnQsIGN1cnJlbnQtPmFyY2gu
Y3IzLCByZWFkX2NyNCgpKTsKICAgICAgICAgICAgIHByaW50aygiSW52YWxp
ZCBIWVBFUkNBTExfUEFHRSBmaWVsZCBpbiBFTEYgbm90ZXMuXG4iKTsKICAg
ICAgICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgICAgICB9CkBAIC05OTUs
OCArOTkyLDcgQEAgc3RhdGljIGludCBfX2luaXQgZG9tMF9jb25zdHJ1Y3Qo
Y29uc3Qgc3RydWN0IGJvb3RfZG9tYWluICpiZCkKICNlbmRpZgogCiAgICAg
LyogUmV0dXJuIHRvIGlkbGUgZG9tYWluJ3MgcGFnZSB0YWJsZXMuICovCi0g
ICAgbWFwY2FjaGVfb3ZlcnJpZGVfY3VycmVudChOVUxMKTsKLSAgICBzd2l0
Y2hfY3IzX2NyNChjdXJyZW50LT5hcmNoLmNyMywgcmVhZF9jcjQoKSk7Cisg
ICAgc3dpdGNoX2NyM19jcjQoY3VycmVudCwgY3VycmVudC0+YXJjaC5jcjMs
IHJlYWRfY3I0KCkpOwogCiAgICAgdXBkYXRlX2RvbWFpbl93YWxsY2xvY2tf
dGltZShkKTsKIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2L2RvbWFp
bi5jIGIveGVuL2FyY2gveDg2L3B2L2RvbWFpbi5jCmluZGV4IDUwMjdjMzJl
MWE5Mi4uMGM0MmFlNThhYWExIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv
cHYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gveDg2L3B2L2RvbWFpbi5jCkBA
IC00NTcsNiArNDU3LDggQEAgc3RhdGljIHZvaWQgX3RvZ2dsZV9ndWVzdF9w
dChzdHJ1Y3QgdmNwdSAqdikKICAgICBwYWdldGFibGVfdCBvbGRfc2hhZG93
OwogICAgIHVuc2lnbmVkIGxvbmcgY3IzOwogCisgICAgQVNTRVJUKGxvY2Fs
X2lycV9pc19lbmFibGVkKCkpOworCiAgICAgdi0+YXJjaC5mbGFncyBePSBU
Rl9rZXJuZWxfbW9kZTsKICAgICBndWVzdF91cGRhdGUgPSB2LT5hcmNoLmZs
YWdzICYgVEZfa2VybmVsX21vZGU7CiAgICAgb2xkX3NoYWRvdyA9IHVwZGF0
ZV9jcjModik7CkBAIC00NzksMTUgKzQ4MSwyMiBAQCBzdGF0aWMgdm9pZCBf
dG9nZ2xlX2d1ZXN0X3B0KHN0cnVjdCB2Y3B1ICp2KQogICAgIHsKICAgICAg
ICAgY3IzICY9IH5YODZfQ1IzX05PRkxVU0g7CiAKKyAgICAgICAgbG9jYWxf
aXJxX2Rpc2FibGUoKTsKICAgICAgICAgaWYgKCB1bmxpa2VseShtZm5fZXEo
cGFnZXRhYmxlX2dldF9tZm4ob2xkX3NoYWRvdyksCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1hZGRyX3RvX21mbihjcjMpKSkgKQogICAgICAg
ICB7Ci0gICAgICAgICAgICBjcjMgPSBpZGxlX3ZjcHVbdi0+cHJvY2Vzc29y
XS0+YXJjaC5jcjM7CiAgICAgICAgICAgICAvKiBBbHNvIHN1cHByZXNzIHJ1
bnN0YXRlL3RpbWUgYXJlYSB1cGRhdGVzIGJlbG93LiAqLwogICAgICAgICAg
ICAgZ3Vlc3RfdXBkYXRlID0gZmFsc2U7CisKKyAgICAgICAgICAgIGNyMyA9
IGlkbGVfdmNwdVt2LT5wcm9jZXNzb3JdLT5hcmNoLmNyMzsKKyAgICAgICAg
ICAgIHRoaXNfY3B1KHBndGFibGVfdmNwdSkgPSBpZGxlX3ZjcHVbdi0+cHJv
Y2Vzc29yXTsKICAgICAgICAgfQorCisgICAgICAgIHdyaXRlX2NyMyhjcjMp
OworICAgICAgICBsb2NhbF9pcnFfZW5hYmxlKCk7CiAgICAgfQotICAgIHdy
aXRlX2NyMyhjcjMpOworICAgIGVsc2UKKyAgICAgICAgd3JpdGVfY3IzKGNy
Myk7CiAKICAgICBpZiAoICFwYWdldGFibGVfaXNfbnVsbChvbGRfc2hhZG93
KSApCiAgICAgICAgIHNoYWRvd19wdXRfdG9wX2xldmVsKHYtPmRvbWFpbiwg
b2xkX3NoYWRvdyk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvc21wYm9v
dC5jIGIveGVuL2FyY2gveDg2L3NtcGJvb3QuYwppbmRleCBmZjA1OTU1YmFl
NDAuLmQ4ZmQ3MWZmYWIzNyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Nt
cGJvb3QuYworKysgYi94ZW4vYXJjaC94ODYvc21wYm9vdC5jCkBAIC0xMDYz
LDYgKzEwNjMsNyBAQCBzdGF0aWMgaW50IGNwdV9zbXBib290X2FsbG9jKHVu
c2lnbmVkIGludCBjcHUpCiAKICAgICBpbmZvLT5jdXJyZW50X3ZjcHUgPSBp
ZGxlX3ZjcHVbY3B1XTsgLyogc2V0X2N1cnJlbnQoKSAqLwogICAgIHBlcl9j
cHUoY3Vycl92Y3B1LCBjcHUpID0gaWRsZV92Y3B1W2NwdV07CisgICAgcGVy
X2NwdShwZ3RhYmxlX3ZjcHUsIGNwdSkgPSBpZGxlX3ZjcHVbY3B1XTsKIAog
ICAgIGdkdCA9IHBlcl9jcHUoZ2R0LCBjcHUpID86IGFsbG9jX3hlbmhlYXBf
cGFnZXMoMCwgbWVtZmxhZ3MpOwogICAgIGlmICggZ2R0ID09IE5VTEwgKQpk
aWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9lZmkvY29tbW9uLXN0dWIuYyBiL3hl
bi9jb21tb24vZWZpL2NvbW1vbi1zdHViLmMKaW5kZXggOWRjOGFhNTM4Y2Mx
Li5mOTFiYTZmNzQwMTEgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vZWZpL2Nv
bW1vbi1zdHViLmMKKysrIGIveGVuL2NvbW1vbi9lZmkvY29tbW9uLXN0dWIu
YwpAQCAtNywxMSArNyw2IEBAIGJvb2wgZWZpX2VuYWJsZWQodW5zaWduZWQg
aW50IGZlYXR1cmUpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIGVm
aV9yc191c2luZ19wZ3RhYmxlcyh2b2lkKQotewotICAgIHJldHVybiBmYWxz
ZTsKLX0KLQogdW5zaWduZWQgbG9uZyBlZmlfZ2V0X3RpbWUodm9pZCkKIHsK
ICAgICBCVUcoKTsKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZWZpL3J1bnRp
bWUuYyBiL3hlbi9jb21tb24vZWZpL3J1bnRpbWUuYwppbmRleCAwZjFjYzc2
NWVjNWUuLmEyM2ZhNzVlMzc0MCAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9l
ZmkvcnVudGltZS5jCisrKyBiL3hlbi9jb21tb24vZWZpL3J1bnRpbWUuYwpA
QCAtNTAsNyArNTAsNiBAQCBjb25zdCBDSEFSMTYgKl9fcmVhZF9tb3N0bHkg
ZWZpX2Z3X3ZlbmRvcjsKIGNvbnN0IEVGSV9SVU5USU1FX1NFUlZJQ0VTICpf
X3JlYWRfbW9zdGx5IGVmaV9yczsKICNpZm5kZWYgQ09ORklHX0FSTSAvKiBU
T0RPIC0gZGlzYWJsZWQgdW50aWwgaW1wbGVtZW50ZWQgb24gQVJNICovCiBz
dGF0aWMgREVGSU5FX1NQSU5MT0NLKGVmaV9yc19sb2NrKTsKLXN0YXRpYyB1
bnNpZ25lZCBpbnQgZWZpX3JzX29uX2NwdSA9IE5SX0NQVVM7CiAjZW5kaWYK
IAogVUlOVE4gX19yZWFkX21vc3RseSBlZmlfbWVtbWFwX3NpemU7CkBAIC05
Myw2ICs5MiwxMSBAQCBzdHJ1Y3QgZWZpX3JzX3N0YXRlIGVmaV9yc19lbnRl
cih2b2lkKQogICAgIGlmICggbWZuX2VxKGVmaV9sNF9tZm4sIElOVkFMSURf
TUZOKSApCiAgICAgICAgIHJldHVybiBzdGF0ZTsKIAorICAgIC8qCisgICAg
ICogSWYgaW4gbGF6eSBpZGxlIGNvbnRleHQgc3dpdGNoIHN0YXRlIHN5bmMg
bm93IHRvIGF2b2lkIGFuIGluY29taW5nCisgICAgICogRkxVU0hfVkNQVV9T
VEFURSBJUEkgY2hhbmdpbmcgdGhlIGxvYWRlZCBwYWdlLXRhYmxlcy4KKyAg
ICAgKi8KKyAgICBzeW5jX2xvY2FsX2V4ZWNzdGF0ZSgpOwogICAgIHN0YXRl
LmNyMyA9IHJlYWRfY3IzKCk7CiAgICAgdmNwdV9zYXZlX2ZwdShjdXJyZW50
KTsKICAgICBhc20gdm9sYXRpbGUgKCAiZm5jbGV4OyBmbGRjdyAlMCIgOjog
Im0iIChmY3cpICk7CkBAIC0xMDAsOCArMTA0LDYgQEAgc3RydWN0IGVmaV9y
c19zdGF0ZSBlZmlfcnNfZW50ZXIodm9pZCkKIAogICAgIHNwaW5fbG9jaygm
ZWZpX3JzX2xvY2spOwogCi0gICAgZWZpX3JzX29uX2NwdSA9IHNtcF9wcm9j
ZXNzb3JfaWQoKTsKLQogICAgIC8qIHByZXZlbnQgZml4dXBfcGFnZV9mYXVs
dCgpIGZyb20gZG9pbmcgYW55dGhpbmcgKi8KICAgICBpcnFfZW50ZXIoKTsK
IApAQCAtMTE2LDcgKzExOCw4IEBAIHN0cnVjdCBlZmlfcnNfc3RhdGUgZWZp
X3JzX2VudGVyKHZvaWQpCiAgICAgICAgIGxnZHQoJmdkdF9kZXNjKTsKICAg
ICB9CiAKLSAgICBzd2l0Y2hfY3IzX2NyNChtZm5fdG9fbWFkZHIoZWZpX2w0
X21mbiksIHJlYWRfY3I0KCkpOworICAgIHN3aXRjaF9jcjNfY3I0KGlkbGVf
dmNwdVtzbXBfcHJvY2Vzc29yX2lkKCldLCBtZm5fdG9fbWFkZHIoZWZpX2w0
X21mbiksCisgICAgICAgICAgICAgICAgICAgcmVhZF9jcjQoKSk7CiAKICAg
ICAvKgogICAgICAqIEF0IHRoZSB0aW1lIG9mIHdyaXRpbmcgKDIwMjIpLCBu
byBVRUZJIGZpcndtYXJlIGlzIENFVC1JQlQgY29tcGF0aWJsZS4KQEAgLTE0
NCw3ICsxNDcsNyBAQCB2b2lkIGVmaV9yc19sZWF2ZShzdHJ1Y3QgZWZpX3Jz
X3N0YXRlICpzdGF0ZSkKICAgICBpZiAoIHN0YXRlLT5tc3Jfc19jZXQgKQog
ICAgICAgICB3cm1zcmwoTVNSX1NfQ0VULCBzdGF0ZS0+bXNyX3NfY2V0KTsK
IAotICAgIHN3aXRjaF9jcjNfY3I0KHN0YXRlLT5jcjMsIHJlYWRfY3I0KCkp
OworICAgIHN3aXRjaF9jcjNfY3I0KGN1cnIsIHN0YXRlLT5jcjMsIHJlYWRf
Y3I0KCkpOwogICAgIGlmICggaXNfcHZfdmNwdShjdXJyKSAmJiAhaXNfaWRs
ZV92Y3B1KGN1cnIpICkKICAgICB7CiAgICAgICAgIHN0cnVjdCBkZXNjX3B0
ciBnZHRfZGVzYyA9IHsKQEAgLTE1NSwxOCArMTU4LDEwIEBAIHZvaWQgZWZp
X3JzX2xlYXZlKHN0cnVjdCBlZmlfcnNfc3RhdGUgKnN0YXRlKQogICAgICAg
ICBsZ2R0KCZnZHRfZGVzYyk7CiAgICAgfQogICAgIGlycV9leGl0KCk7Ci0g
ICAgZWZpX3JzX29uX2NwdSA9IE5SX0NQVVM7CiAgICAgc3Bpbl91bmxvY2so
JmVmaV9yc19sb2NrKTsKICAgICB2Y3B1X3Jlc3RvcmVfZnB1KGN1cnIpOwog
fQogCi1ib29sIGVmaV9yc191c2luZ19wZ3RhYmxlcyh2b2lkKQotewotICAg
IHJldHVybiAhbWZuX2VxKGVmaV9sNF9tZm4sIElOVkFMSURfTUZOKSAmJgot
ICAgICAgICAgICAoc21wX3Byb2Nlc3Nvcl9pZCgpID09IGVmaV9yc19vbl9j
cHUpICYmCi0gICAgICAgICAgIChyZWFkX2NyMygpID09IG1mbl90b19tYWRk
cihlZmlfbDRfbWZuKSk7Ci19Ci0KIHVuc2lnbmVkIGxvbmcgZWZpX2dldF90
aW1lKHZvaWQpCiB7CiAgICAgRUZJX1RJTUUgdGltZTsKZGlmZiAtLWdpdCBh
L3hlbi9pbmNsdWRlL3hlbi9lZmkuaCBiL3hlbi9pbmNsdWRlL3hlbi9lZmku
aAppbmRleCAyZTM2YjAxZTIwNWIuLjg3MTQ2MTcyYWQ3NSAxMDA2NDQKLS0t
IGEveGVuL2luY2x1ZGUveGVuL2VmaS5oCisrKyBiL3hlbi9pbmNsdWRlL3hl
bi9lZmkuaApAQCAtNDAsNyArNDAsNiBAQCBleHRlcm4gYm9vbCBlZmlfc2Vj
dXJlX2Jvb3Q7CiAKIHZvaWQgZWZpX2luaXRfbWVtb3J5KHZvaWQpOwogYm9v
bCBlZmlfYm9vdF9tZW1fdW51c2VkKHVuc2lnbmVkIGxvbmcgKnN0YXJ0LCB1
bnNpZ25lZCBsb25nICplbmQpOwotYm9vbCBlZmlfcnNfdXNpbmdfcGd0YWJs
ZXModm9pZCk7CiB1bnNpZ25lZCBsb25nIGVmaV9nZXRfdGltZSh2b2lkKTsK
IHZvaWQgZWZpX3Jlc2V0X3N5c3RlbShib29sIHdhcm0pOwogI2lmbmRlZiBD
T01QQVQKLS0gCjIuNTMuMAoK

--=separator
Content-Type: application/octet-stream; name="xsa494-4.17.patch"
Content-Disposition: attachment; filename="xsa494-4.17.patch"
Content-Transfer-Encoding: base64

RnJvbTogUm9nZXIgUGF1IE1vbm5lIDxyb2dlci5wYXVAY2l0cml4LmNvbT4K
U3ViamVjdDogeDg2L21tOiBhY2N1cmF0ZWx5IHRyYWNrIHdoaWNoIHZDUFUg
cGFnZS10YWJsZXMgYXJlIGxvYWRlZAoKTmVpdGhlciBjdXJyZW50IG5vciBj
dXJyX3ZjcHUgcGVyLUNQVSBmaWVsZHMgYWNjdXJhdGVseSB0cmFjayB3aGlj
aApwYWdlLXRhYmxlcyBhcmUgbG9hZGVkLiAgVGhlcmUgYXJlIGNvcm5lciBj
YXNlcyB3aGVuIGRlYWxpbmcgd2l0aCBzaGFkb3cKcGFnaW5nIGZhaWx1cmVz
IHRoYXQgc3dpdGNoIHRvIHRoZSBpZGxlIHZDUFUgcGFnZS10YWJsZXMgd2l0
aG91dCBjaGFuZ2luZwpjdXJyZW50IG9yIGN1cnJfdmNwdSBwZXItQ1BVIGZp
ZWxkcy4KCkludHJvZHVjZSBhIG5ldyBwZXItQ1BVIGZpZWxkIHRoYXQgYXR0
ZW1wdHMgdG8gdHJhY2sgd2hpY2ggdkNQVSBwYWdlLXRhYmxlcwphcmUgbG9h
ZGVkLiAgVXBkYXRlIHN1Y2ggdHJhY2tpbmcgd2hlbiBjcjMgaXMgY2hhbmdl
ZCwgYW5kIGRvIHNvIGluIGEKcmVnaW9uIHdpdGggaW50ZXJydXB0cyBkaXNh
YmxlZCwgYXMgdG8gYXZvaWQgaGFuZGxpbmcgaW50ZXJydXB0cyB3aXRoIGEK
bWlzbWF0Y2ggYmV0d2VlbiB0aGUgdkNQVSB0cmFja2luZyBmaWVsZCBhbmQg
dGhlIGxvYWRlZCBwYWdlLXRhYmxlcy4KCkFzIGEgcmVzdWx0IG9mIHRoaXMg
bmV3bHkgbW9yZSBhY2N1cmF0ZSB0cmFja2luZyB0aGUgbWFwY2FjaGUgb3Zl
cnJpZGUKZnVuY3Rpb25hbGl0eSBjYW4gYmUgcmVtb3ZlZDogdGhlIGRvbTAg
UFYgYnVpbGRlciB3YXMgdGhlIG9ubHkgdXNlciBvZiBpdCwKYW5kIGl0J3Mg
dXBkYXRlZCBoZXJlIHRvIHByb3Blcmx5IHNpZ25hbCB3aGljaCB2Q1BVIHBh
Z2UtdGFibGVzIGFyZSBsb2FkZWQKaW4gdGhlIGNhbGxzIHRvIHN3aXRjaF9j
cjNfY3I0KCkuCgpOb3RlIHRoZSBFRkkgcGFnZS10YWJsZXMgaGF2ZSB0aGUg
WGVuIG93bmVkIEw0IHNsb3RzIGNvcGllZCBmcm9tIHRoZSBpZGxlCnBhZ2Ut
dGFibGVzLCBzbyBmb3IgdGhlIGVmZmVjdHMgb2YgdGhlIG1hcGNhY2hlIHRo
ZSBFRkkgcGFnZS10YWJsZXMgY291bGQKdXNlIHRoZSBpZGxlIG1hcGNhY2hl
IGlmIGl0IGhhZCBvbmUuICBQYXNzIHRoZSBpZGxlIHZDUFUgaW4gdGhlCnN3
aXRjaF9jcjNfY3I0KCkgY2FsbCB0aGF0IHN3aXRjaGVzIHRvIHRoZSBydW50
aW1lIEVGSSBwYWdlLXRhYmxlcy4KClRoZXJlIGFyZSBrbm93biBpc3N1ZXMg
d2l0aCB0aGUgdXNlIG9mIG1hcGNhY2hlIGluIE5NSSBjb250ZXh0LsKgIFRo
aXMgcGF0Y2gKZG9lcyBub3QgYWx0ZXIgdGhlIGJlaGF2aW91ci4KClRoaXMg
aXMgQ1ZFLTIwMjYtNDI0ODggLyBYU0EtNDk0LgoKRml4ZXM6IGZiMGZmNDlm
ZTlmNyAoIng4Ni9zaGFkb3c6IGRlZmVyIHJlbGVhc2luZyBvZiBQVidzIHRv
cC1sZXZlbCBzaGFkb3cgcmVmZXJlbmNlIikKU2lnbmVkLW9mZi1ieTogUm9n
ZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkFja2VkLWJ5
OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgoK
ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21haW5fcGFnZS5jIGIveGVu
L2FyY2gveDg2L2RvbWFpbl9wYWdlLmMKaW5kZXggZWFjNWUzMzA0ZmI4Li43
MmMwMDE5NGYzMTUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9kb21haW5f
cGFnZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9kb21haW5fcGFnZS5jCkBAIC0x
OCw0OCArMTgsNDAgQEAKICNpbmNsdWRlIDxhc20vaGFyZGlycS5oPgogI2lu
Y2x1ZGUgPGFzbS9zZXR1cC5oPgogCi1zdGF0aWMgREVGSU5FX1BFUl9DUFUo
c3RydWN0IHZjcHUgKiwgb3ZlcnJpZGUpOwotCiBzdGF0aWMgaW5saW5lIHN0
cnVjdCB2Y3B1ICptYXBjYWNoZV9jdXJyZW50X3ZjcHUodm9pZCkKIHsKLSAg
ICAvKiBJbiB0aGUgY29tbW9uIGNhc2Ugd2UgdXNlIHRoZSBtYXBjYWNoZSBv
ZiB0aGUgcnVubmluZyBWQ1BVLiAqLwotICAgIHN0cnVjdCB2Y3B1ICp2ID0g
dGhpc19jcHUob3ZlcnJpZGUpID86IGN1cnJlbnQ7Ci0KLSAgICAvKgotICAg
ICAqIFdoZW4gY3VycmVudCBpc24ndCBwcm9wZXJseSBzZXQgdXAgeWV0LCB0
aGlzIGlzIGVxdWl2YWxlbnQgdG8KLSAgICAgKiBydW5uaW5nIGluIGFuIGlk
bGUgdkNQVSAoY2FsbGVycyBtdXN0IGNoZWNrIGZvciBOVUxMKS4KLSAgICAg
Ki8KLSAgICBpZiAoICF2ICkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAg
c3RydWN0IHZjcHUgKnYgPSB0aGlzX2NwdShwZ3RhYmxlX3ZjcHUpOworICAg
IHN0cnVjdCB2Y3B1ICpjdXJyID0gY3VycmVudDsKIAogICAgIC8qCi0gICAg
ICogV2hlbiB1c2luZyBlZmkgcnVudGltZSBwYWdlIHRhYmxlcywgd2UgaGF2
ZSB0aGUgZXF1aXZhbGVudCBvZiB0aGUgaWRsZQotICAgICAqIGRvbWFpbidz
IHBhZ2UgdGFibGVzIGJ1dCBjdXJyZW50IG1heSBwb2ludCBhdCBhbm90aGVy
IGRvbWFpbidzIFZDUFUuCi0gICAgICogUmV0dXJuIE5VTEwgYXMgdGhvdWdo
IGN1cnJlbnQgaXMgbm90IHByb3Blcmx5IHNldCB1cCB5ZXQuCisgICAgICog
RHVyaW5nIGVhcmx5IGJvb3QgcGd0YWJsZV92Y3B1IGlzIG5vdCBzZXQsIGNh
bGxlcnMgbXVzdCBoYW5kbGUgTlVMTC4KKyAgICAgKiBOb24tUFYgZG9tYWlu
cyBkb24ndCBoYXZlIGEgbWFwY2FjaGUsIHRoZSBkaXJlY3RtYXAgY292ZXJz
IGFsbCBwaHlzaWNhbAorICAgICAqIGFkZHJlc3Mgc3BhY2UuCiAgICAgICov
Ci0gICAgaWYgKCBlZmlfcnNfdXNpbmdfcGd0YWJsZXMoKSApCisgICAgaWYg
KCAhdiB8fCAhaXNfcHZfdmNwdSh2KSApCiAgICAgICAgIHJldHVybiBOVUxM
OwogCiAgICAgLyoKLSAgICAgKiBJZiBndWVzdF90YWJsZSBpcyBOVUxMLCBh
bmQgd2UgYXJlIHJ1bm5pbmcgYSBwYXJhdmlydHVhbGlzZWQgZ3Vlc3QsCi0g
ICAgICogdGhlbiBpdCBtZWFucyB3ZSBhcmUgcnVubmluZyBvbiB0aGUgaWRs
ZSBkb21haW4ncyBwYWdlIHRhYmxlIGFuZCBtdXN0Ci0gICAgICogdGhlcmVm
b3JlIHVzZSBpdHMgbWFwY2FjaGUuCisgICAgICogSWYgd2UgYXJlIGluIGEg
bGF6eSBjb250ZXh0LXN3aXRjaCBzdGF0ZSBmcm9tIGEgUFYgdkNQVSBkbyBh
IGZ1bGwgc3dpdGNoCisgICAgICogdG8gdGhlIGlkbGUgdkNQVSBub3csIG90
aGVyd2lzZSBhbiBpbmNvbWluZyBGTFVTSF9WQ1BVX1NUQVRFIElQSSB3b3Vs
ZAorICAgICAqIGNoYW5nZSB0aGUgcGFnZSB0YWJsZXMgdW5kZXIgb3VyIGZl
ZXQgYW4gaW52YWxpZGF0ZSBhbnkgaW4tdXNlIG1hcGNhY2hlCisgICAgICog
ZW50cmllcy4KICAgICAgKi8KLSAgICBpZiAoIHVubGlrZWx5KHBhZ2V0YWJs
ZV9pc19udWxsKHYtPmFyY2guZ3Vlc3RfdGFibGUpKSAmJiBpc19wdl92Y3B1
KHYpICkKKyAgICBpZiAoIHVubGlrZWx5KHRoaXNfY3B1KGN1cnJfdmNwdSkg
IT0gY3VycikgKQogICAgIHsKLSAgICAgICAgLyogSWYgd2UgcmVhbGx5IGFy
ZSBpZGxpbmcsIHBlcmZvcm0gbGF6eSBjb250ZXh0IHN3aXRjaCBub3cuICov
Ci0gICAgICAgIGlmICggKHYgPSBpZGxlX3ZjcHVbc21wX3Byb2Nlc3Nvcl9p
ZCgpXSkgPT0gY3VycmVudCApCi0gICAgICAgICAgICBzeW5jX2xvY2FsX2V4
ZWNzdGF0ZSgpOworICAgICAgICBBU1NFUlQoY3VyciA9PSBpZGxlX3ZjcHVb
c21wX3Byb2Nlc3Nvcl9pZCgpXSk7CisgICAgICAgIHN5bmNfbG9jYWxfZXhl
Y3N0YXRlKCk7CiAgICAgICAgIC8qIFdlIG11c3Qgbm93IGJlIHJ1bm5pbmcg
b24gdGhlIGlkbGUgcGFnZSB0YWJsZS4gKi8KICAgICAgICAgQVNTRVJUKGNy
M19wYShyZWFkX2NyMygpKSA9PSBfX3BhKGlkbGVfcGdfdGFibGUpKTsKICAg
ICB9CiAKLSAgICByZXR1cm4gdjsKLX0KLQotdm9pZCBfX2luaXQgbWFwY2Fj
aGVfb3ZlcnJpZGVfY3VycmVudChzdHJ1Y3QgdmNwdSAqdikKLXsKLSAgICB0
aGlzX2NwdShvdmVycmlkZSkgPSB2OworICAgIC8qCisgICAgICogQXQgdGhp
cyBwb2ludCB3ZSBjYW4gZ3VhcmFudGVlIFhlbiBpcyBub3QgaW4gbGF6eSBj
b250ZXh0IHN3aXRjaDogZWl0aGVyCisgICAgICogdGhlIGNvZGUgYWJvdmUg
d2lsbCBoYXZlIHN5bmNlZCB0aGUgc3RhdGUsIG9yIGFuIGluY29taW5nCisg
ICAgICogRkxVU0hfVkNQVV9TVEFURSBJUEkgaGFzIGRvbmUgc28gYmVoaW5k
IG91ciBiYWNrLiAgVXNlIEFDQ0VTU19PTkNFIHRvCisgICAgICogZW5zdXJl
IHRoZSBjb21waWxlciBuZXZlciByZXR1cm5zIHRoZSBsb2NhbGx5IGNhY2hl
ZCBwZ3RhYmxlX3ZjcHUgdmFsdWUuCisgICAgICovCisgICAgcmV0dXJuIEFD
Q0VTU19PTkNFKHRoaXNfY3B1KHBndGFibGVfdmNwdSkpOwogfQogCiAjZGVm
aW5lIG1hcGNhY2hlX2wyX2VudHJ5KGUpICgoZSkgPj4gUEFHRVRBQkxFX09S
REVSKQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2ZsdXNodGxiLmMgYi94
ZW4vYXJjaC94ODYvZmx1c2h0bGIuYwppbmRleCAxODc0OGIyYmM4MDUuLmNk
ZWZhYjJmMDhlYyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2ZsdXNodGxi
LmMKKysrIGIveGVuL2FyY2gveDg2L2ZsdXNodGxiLmMKQEAgLTExMSw3ICsx
MTEsOSBAQCBzdGF0aWMgdm9pZCBkb190bGJfZmx1c2godm9pZCkKICAgICBs
b2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiB9CiAKLXZvaWQgc3dpdGNoX2Ny
M19jcjQodW5zaWduZWQgbG9uZyBjcjMsIHVuc2lnbmVkIGxvbmcgY3I0KQor
REVGSU5FX1BFUl9DUFUoc3RydWN0IHZjcHUgKiwgcGd0YWJsZV92Y3B1KTsK
Kwordm9pZCBzd2l0Y2hfY3IzX2NyNChzdHJ1Y3QgdmNwdSAqdiwgdW5zaWdu
ZWQgbG9uZyBjcjMsIHVuc2lnbmVkIGxvbmcgY3I0KQogewogICAgIHVuc2ln
bmVkIGxvbmcgZmxhZ3MsIG9sZF9jcjQ7CiAgICAgdTMyIHQgPSAwOwpAQCAt
MTU1LDYgKzE1Nyw3IEBAIHZvaWQgc3dpdGNoX2NyM19jcjQodW5zaWduZWQg
bG9uZyBjcjMsIHVuc2lnbmVkIGxvbmcgY3I0KQogICAgIGlmICggKG9sZF9j
cjQgJiBYODZfQ1I0X1BDSURFKSA+IChjcjQgJiBYODZfQ1I0X1BDSURFKSAp
CiAgICAgICAgIGNyMyB8PSBYODZfQ1IzX05PRkxVU0g7CiAgICAgd3JpdGVf
Y3IzKGNyMyk7CisgICAgdGhpc19jcHUocGd0YWJsZV92Y3B1KSA9IHY7CiAK
ICAgICBpZiAoIG9sZF9jcjQgIT0gY3I0ICkKICAgICAgICAgd3JpdGVfY3I0
KGNyNCk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20v
ZG9tYWluLmggYi94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vZG9tYWluLmgK
aW5kZXggZjkwYTI2OGIwMTk1Li41ODhiNTZiM2ZkYjggMTAwNjQ0Ci0tLSBh
L3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9kb21haW4uaAorKysgYi94ZW4v
YXJjaC94ODYvaW5jbHVkZS9hc20vZG9tYWluLmgKQEAgLTc2LDcgKzc2LDYg
QEAgc3RydWN0IG1hcGNhY2hlX2RvbWFpbiB7CiAKIGludCBtYXBjYWNoZV9k
b21haW5faW5pdChzdHJ1Y3QgZG9tYWluICopOwogaW50IG1hcGNhY2hlX3Zj
cHVfaW5pdChzdHJ1Y3QgdmNwdSAqKTsKLXZvaWQgbWFwY2FjaGVfb3ZlcnJp
ZGVfY3VycmVudChzdHJ1Y3QgdmNwdSAqKTsKIAogLyogeDg2LzY0OiB0b2dn
bGUgZ3Vlc3QgYmV0d2VlbiBrZXJuZWwgYW5kIHVzZXIgbW9kZXMuICovCiB2
b2lkIHRvZ2dsZV9ndWVzdF9tb2RlKHN0cnVjdCB2Y3B1ICopOwpkaWZmIC0t
Z2l0IGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2ZsdXNodGxiLmggYi94
ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vZmx1c2h0bGIuaAppbmRleCBhNDYx
ZWUzNmZmZWIuLjgyMWZmZTNlOGIxNiAxMDA2NDQKLS0tIGEveGVuL2FyY2gv
eDg2L2luY2x1ZGUvYXNtL2ZsdXNodGxiLmgKKysrIGIveGVuL2FyY2gveDg2
L2luY2x1ZGUvYXNtL2ZsdXNodGxiLmgKQEAgLTk5LDcgKzk5LDcgQEAgc3Rh
dGljIGlubGluZSB1bnNpZ25lZCBsb25nIHJlYWRfY3IzKHZvaWQpCiB9CiAK
IC8qIFdyaXRlIHBhZ2V0YWJsZSBiYXNlIGFuZCBpbXBsaWNpdGx5IHRpY2sg
dGhlIHRsYmZsdXNoIGNsb2NrLiAqLwotdm9pZCBzd2l0Y2hfY3IzX2NyNCh1
bnNpZ25lZCBsb25nIGNyMywgdW5zaWduZWQgbG9uZyBjcjQpOwordm9pZCBz
d2l0Y2hfY3IzX2NyNChzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgbG9uZyBj
cjMsIHVuc2lnbmVkIGxvbmcgY3I0KTsKIAogLyogZmx1c2hfKiBmbGFnIGZp
ZWxkczogKi8KICAvKgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2luY2x1
ZGUvYXNtL3Byb2Nlc3Nvci5oIGIveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNt
L3Byb2Nlc3Nvci5oCmluZGV4IDA3MzI4ZDQ0YmY0ZS4uNDMwOTQ0MTk0NGUx
IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vcHJvY2Vz
c29yLmgKKysrIGIveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL3Byb2Nlc3Nv
ci5oCkBAIC00NjUsNiArNDY1LDkgQEAgZXh0ZXJuIGlkdF9lbnRyeV90ICpp
ZHRfdGFibGVzW107CiAKIERFQ0xBUkVfUEVSX0NQVShyb290X3BnZW50cnlf
dCAqLCByb290X3BndCk7CiAKKy8qIHZDUFUgb2YgdGhlIGN1cnJlbnRseSBs
b2FkZWQgcGFnZS10YWJsZXMuICovCitERUNMQVJFX1BFUl9DUFUoc3RydWN0
IHZjcHUgKiwgcGd0YWJsZV92Y3B1KTsKKwogZXh0ZXJuIHZvaWQgd3JpdGVf
cHRiYXNlKHN0cnVjdCB2Y3B1ICp2KTsKIAogLyogUkVQIE5PUCAoUEFVU0Up
IGlzIGEgZ29vZCB0aGluZyB0byBpbnNlcnQgaW50byBidXN5LXdhaXQgbG9v
cHMuICovCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0uYyBiL3hlbi9h
cmNoL3g4Ni9tbS5jCmluZGV4IGQzMWI4ZDU2ZmZiYy4uNGRiZTg2MDE3Y2Nh
IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0uYworKysgYi94ZW4vYXJj
aC94ODYvbW0uYwpAQCAtNTQ2LDcgKzU0Niw3IEBAIHZvaWQgd3JpdGVfcHRi
YXNlKHN0cnVjdCB2Y3B1ICp2KQogICAgICAgICBjcHVfaW5mby0+cHZfY3Iz
ID0gX19wYSh0aGlzX2NwdShyb290X3BndCkpOwogICAgICAgICBpZiAoIG5l
d19jcjQgJiBYODZfQ1I0X1BDSURFICkKICAgICAgICAgICAgIGNwdV9pbmZv
LT5wdl9jcjMgfD0gZ2V0X3BjaWRfYml0cyh2LCB0cnVlKTsKLSAgICAgICAg
c3dpdGNoX2NyM19jcjQodi0+YXJjaC5jcjMsIG5ld19jcjQpOworICAgICAg
ICBzd2l0Y2hfY3IzX2NyNCh2LCB2LT5hcmNoLmNyMywgbmV3X2NyNCk7CiAg
ICAgfQogICAgIGVsc2UKICAgICB7CkBAIC01NTQsNyArNTU0LDcgQEAgdm9p
ZCB3cml0ZV9wdGJhc2Uoc3RydWN0IHZjcHUgKnYpCiAgICAgICAgIGNwdV9p
bmZvLT51c2VfcHZfY3IzID0gZmFsc2U7CiAgICAgICAgIGNwdV9pbmZvLT54
ZW5fY3IzID0gMDsKICAgICAgICAgLyogc3dpdGNoX2NyM19jcjQoKSBzZXJp
YWxpemVzLiAqLwotICAgICAgICBzd2l0Y2hfY3IzX2NyNCh2LT5hcmNoLmNy
MywgbmV3X2NyNCk7CisgICAgICAgIHN3aXRjaF9jcjNfY3I0KHYsIHYtPmFy
Y2guY3IzLCBuZXdfY3I0KTsKICAgICAgICAgY3B1X2luZm8tPnB2X2NyMyA9
IDA7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2L2Rv
bTBfYnVpbGQuYyBiL3hlbi9hcmNoL3g4Ni9wdi9kb20wX2J1aWxkLmMKaW5k
ZXggM2U3NGNmNGVhMmZlLi4yNTI2N2Y0ZWRjYjIgMTAwNjQ0Ci0tLSBhL3hl
bi9hcmNoL3g4Ni9wdi9kb20wX2J1aWxkLmMKKysrIGIveGVuL2FyY2gveDg2
L3B2L2RvbTBfYnVpbGQuYwpAQCAtODExLDggKzgxMSw3IEBAIGludCBfX2lu
aXQgZG9tMF9jb25zdHJ1Y3RfcHYoc3RydWN0IGRvbWFpbiAqZCwKICAgICAg
ICAgdXBkYXRlX2NyMyh2KTsKIAogICAgIC8qIFdlIHJ1biBvbiBkb20wJ3Mg
cGFnZSB0YWJsZXMgZm9yIHRoZSBmaW5hbCBwYXJ0IG9mIHRoZSBidWlsZCBw
cm9jZXNzLiAqLwotICAgIHN3aXRjaF9jcjNfY3I0KGNyM19wYSh2LT5hcmNo
LmNyMyksIHJlYWRfY3I0KCkpOwotICAgIG1hcGNhY2hlX292ZXJyaWRlX2N1
cnJlbnQodik7CisgICAgc3dpdGNoX2NyM19jcjQodiwgY3IzX3BhKHYtPmFy
Y2guY3IzKSwgcmVhZF9jcjQoKSk7CiAKICAgICAvKiBDb3B5IHRoZSBPUyBp
bWFnZSBhbmQgZnJlZSB0ZW1wb3JhcnkgYnVmZmVyLiAqLwogICAgIGVsZi5k
ZXN0X2Jhc2UgPSAodm9pZCopdmtlcm5fc3RhcnQ7CkBAIC04MjEsOCArODIw
LDcgQEAgaW50IF9faW5pdCBkb20wX2NvbnN0cnVjdF9wdihzdHJ1Y3QgZG9t
YWluICpkLAogICAgIHJjID0gZWxmX2xvYWRfYmluYXJ5KCZlbGYpOwogICAg
IGlmICggcmMgPCAwICkKICAgICB7Ci0gICAgICAgIG1hcGNhY2hlX292ZXJy
aWRlX2N1cnJlbnQoTlVMTCk7Ci0gICAgICAgIHN3aXRjaF9jcjNfY3I0KGN1
cnJlbnQtPmFyY2guY3IzLCByZWFkX2NyNCgpKTsKKyAgICAgICAgc3dpdGNo
X2NyM19jcjQoY3VycmVudCwgY3VycmVudC0+YXJjaC5jcjMsIHJlYWRfY3I0
KCkpOwogICAgICAgICBwcmludGsoIkZhaWxlZCB0byBsb2FkIHRoZSBrZXJu
ZWwgYmluYXJ5XG4iKTsKICAgICAgICAgZ290byBvdXQ7CiAgICAgfQpAQCAt
ODMzLDggKzgzMSw3IEBAIGludCBfX2luaXQgZG9tMF9jb25zdHJ1Y3RfcHYo
c3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgaWYgKCAocGFybXMudmlydF9o
eXBlcmNhbGwgPCB2X3N0YXJ0KSB8fAogICAgICAgICAgICAgIChwYXJtcy52
aXJ0X2h5cGVyY2FsbCA+PSB2X2VuZCkgKQogICAgICAgICB7Ci0gICAgICAg
ICAgICBtYXBjYWNoZV9vdmVycmlkZV9jdXJyZW50KE5VTEwpOwotICAgICAg
ICAgICAgc3dpdGNoX2NyM19jcjQoY3VycmVudC0+YXJjaC5jcjMsIHJlYWRf
Y3I0KCkpOworICAgICAgICAgICAgc3dpdGNoX2NyM19jcjQoY3VycmVudCwg
Y3VycmVudC0+YXJjaC5jcjMsIHJlYWRfY3I0KCkpOwogICAgICAgICAgICAg
cHJpbnRrKCJJbnZhbGlkIEhZUEVSQ0FMTF9QQUdFIGZpZWxkIGluIEVMRiBu
b3Rlcy5cbiIpOwogICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAgICAg
ICAgIH0KQEAgLTk3NSw4ICs5NzIsNyBAQCBpbnQgX19pbml0IGRvbTBfY29u
c3RydWN0X3B2KHN0cnVjdCBkb21haW4gKmQsCiAjZW5kaWYKIAogICAgIC8q
IFJldHVybiB0byBpZGxlIGRvbWFpbidzIHBhZ2UgdGFibGVzLiAqLwotICAg
IG1hcGNhY2hlX292ZXJyaWRlX2N1cnJlbnQoTlVMTCk7Ci0gICAgc3dpdGNo
X2NyM19jcjQoY3VycmVudC0+YXJjaC5jcjMsIHJlYWRfY3I0KCkpOworICAg
IHN3aXRjaF9jcjNfY3I0KGN1cnJlbnQsIGN1cnJlbnQtPmFyY2guY3IzLCBy
ZWFkX2NyNCgpKTsKIAogICAgIHVwZGF0ZV9kb21haW5fd2FsbGNsb2NrX3Rp
bWUoZCk7CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9wdi9kb21haW4u
YyBiL3hlbi9hcmNoL3g4Ni9wdi9kb21haW4uYwppbmRleCAyYTQ0NWJiMTdi
OTkuLjVjZDQ2N2Q3YTY5NCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3B2
L2RvbWFpbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wdi9kb21haW4uYwpAQCAt
NDI4LDYgKzQyOCw4IEBAIHN0YXRpYyB2b2lkIF90b2dnbGVfZ3Vlc3RfcHQo
c3RydWN0IHZjcHUgKnYpCiAgICAgcGFnZXRhYmxlX3Qgb2xkX3NoYWRvdzsK
ICAgICB1bnNpZ25lZCBsb25nIGNyMzsKIAorICAgIEFTU0VSVChsb2NhbF9p
cnFfaXNfZW5hYmxlZCgpKTsKKwogICAgIHYtPmFyY2guZmxhZ3MgXj0gVEZf
a2VybmVsX21vZGU7CiAgICAgZ3Vlc3RfdXBkYXRlID0gdi0+YXJjaC5mbGFn
cyAmIFRGX2tlcm5lbF9tb2RlOwogICAgIG9sZF9zaGFkb3cgPSB1cGRhdGVf
Y3IzKHYpOwpAQCAtNDUwLDE1ICs0NTIsMjIgQEAgc3RhdGljIHZvaWQgX3Rv
Z2dsZV9ndWVzdF9wdChzdHJ1Y3QgdmNwdSAqdikKICAgICB7CiAgICAgICAg
IGNyMyAmPSB+WDg2X0NSM19OT0ZMVVNIOwogCisgICAgICAgIGxvY2FsX2ly
cV9kaXNhYmxlKCk7CiAgICAgICAgIGlmICggdW5saWtlbHkobWZuX2VxKHBh
Z2V0YWJsZV9nZXRfbWZuKG9sZF9zaGFkb3cpLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtYWRkcl90b19tZm4oY3IzKSkpICkKICAgICAgICAg
ewotICAgICAgICAgICAgY3IzID0gaWRsZV92Y3B1W3YtPnByb2Nlc3Nvcl0t
PmFyY2guY3IzOwogICAgICAgICAgICAgLyogQWxzbyBzdXBwcmVzcyBydW5z
dGF0ZS90aW1lIGFyZWEgdXBkYXRlcyBiZWxvdy4gKi8KICAgICAgICAgICAg
IGd1ZXN0X3VwZGF0ZSA9IGZhbHNlOworCisgICAgICAgICAgICBjcjMgPSBp
ZGxlX3ZjcHVbdi0+cHJvY2Vzc29yXS0+YXJjaC5jcjM7CisgICAgICAgICAg
ICB0aGlzX2NwdShwZ3RhYmxlX3ZjcHUpID0gaWRsZV92Y3B1W3YtPnByb2Nl
c3Nvcl07CiAgICAgICAgIH0KKworICAgICAgICB3cml0ZV9jcjMoY3IzKTsK
KyAgICAgICAgbG9jYWxfaXJxX2VuYWJsZSgpOwogICAgIH0KLSAgICB3cml0
ZV9jcjMoY3IzKTsKKyAgICBlbHNlCisgICAgICAgIHdyaXRlX2NyMyhjcjMp
OwogCiAgICAgaWYgKCAhcGFnZXRhYmxlX2lzX251bGwob2xkX3NoYWRvdykg
KQogICAgICAgICBzaGFkb3dfcHV0X3RvcF9sZXZlbCh2LT5kb21haW4sIG9s
ZF9zaGFkb3cpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3NtcGJvb3Qu
YyBiL3hlbi9hcmNoL3g4Ni9zbXBib290LmMKaW5kZXggN2FhODk5ZGFjMzM2
Li5hOGE0NzM5ZjVkNWQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zbXBi
b290LmMKKysrIGIveGVuL2FyY2gveDg2L3NtcGJvb3QuYwpAQCAtMzM1LDYg
KzMzNSw3IEBAIHZvaWQgc3RhcnRfc2Vjb25kYXJ5KHZvaWQgKnVudXNlZCkK
IAogICAgIHNldF9jdXJyZW50KGlkbGVfdmNwdVtjcHVdKTsKICAgICB0aGlz
X2NwdShjdXJyX3ZjcHUpID0gaWRsZV92Y3B1W2NwdV07CisgICAgdGhpc19j
cHUocGd0YWJsZV92Y3B1KSA9IGlkbGVfdmNwdVtjcHVdOwogICAgIHJkbXNy
bChNU1JfRUZFUiwgdGhpc19jcHUoZWZlcikpOwogICAgIGluaXRfc2hhZG93
X3NwZWNfY3RybF9zdGF0ZSgpOwogCmRpZmYgLS1naXQgYS94ZW4vY29tbW9u
L2VmaS9jb21tb24tc3R1Yi5jIGIveGVuL2NvbW1vbi9lZmkvY29tbW9uLXN0
dWIuYwppbmRleCA1YTkxZmUyOGNjY2EuLmFhZWI5MTZjMGY2OSAxMDA2NDQK
LS0tIGEveGVuL2NvbW1vbi9lZmkvY29tbW9uLXN0dWIuYworKysgYi94ZW4v
Y29tbW9uL2VmaS9jb21tb24tc3R1Yi5jCkBAIC03LDExICs3LDYgQEAgYm9v
bCBlZmlfZW5hYmxlZCh1bnNpZ25lZCBpbnQgZmVhdHVyZSkKICAgICByZXR1
cm4gZmFsc2U7CiB9CiAKLWJvb2wgZWZpX3JzX3VzaW5nX3BndGFibGVzKHZv
aWQpCi17Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiB1bnNpZ25lZCBsb25n
IGVmaV9nZXRfdGltZSh2b2lkKQogewogICAgIEJVRygpOwpkaWZmIC0tZ2l0
IGEveGVuL2NvbW1vbi9lZmkvcnVudGltZS5jIGIveGVuL2NvbW1vbi9lZmkv
cnVudGltZS5jCmluZGV4IDEzYjA5NzU4NjZlMy4uYTgzZGZhZjNiZjRiIDEw
MDY0NAotLS0gYS94ZW4vY29tbW9uL2VmaS9ydW50aW1lLmMKKysrIGIveGVu
L2NvbW1vbi9lZmkvcnVudGltZS5jCkBAIC00Niw3ICs0Niw2IEBAIGNvbnN0
IENIQVIxNiAqX19yZWFkX21vc3RseSBlZmlfZndfdmVuZG9yOwogY29uc3Qg
RUZJX1JVTlRJTUVfU0VSVklDRVMgKl9fcmVhZF9tb3N0bHkgZWZpX3JzOwog
I2lmbmRlZiBDT05GSUdfQVJNIC8qIFRPRE8gLSBkaXNhYmxlZCB1bnRpbCBp
bXBsZW1lbnRlZCBvbiBBUk0gKi8KIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0so
ZWZpX3JzX2xvY2spOwotc3RhdGljIHVuc2lnbmVkIGludCBlZmlfcnNfb25f
Y3B1ID0gTlJfQ1BVUzsKICNlbmRpZgogCiBVSU5UTiBfX3JlYWRfbW9zdGx5
IGVmaV9tZW1tYXBfc2l6ZTsKQEAgLTg5LDYgKzg4LDExIEBAIHN0cnVjdCBl
ZmlfcnNfc3RhdGUgZWZpX3JzX2VudGVyKHZvaWQpCiAgICAgaWYgKCBtZm5f
ZXEoZWZpX2w0X21mbiwgSU5WQUxJRF9NRk4pICkKICAgICAgICAgcmV0dXJu
IHN0YXRlOwogCisgICAgLyoKKyAgICAgKiBJZiBpbiBsYXp5IGlkbGUgY29u
dGV4dCBzd2l0Y2ggc3RhdGUgc3luYyBub3cgdG8gYXZvaWQgYW4gaW5jb21p
bmcKKyAgICAgKiBGTFVTSF9WQ1BVX1NUQVRFIElQSSBjaGFuZ2luZyB0aGUg
bG9hZGVkIHBhZ2UtdGFibGVzLgorICAgICAqLworICAgIHN5bmNfbG9jYWxf
ZXhlY3N0YXRlKCk7CiAgICAgc3RhdGUuY3IzID0gcmVhZF9jcjMoKTsKICAg
ICBzYXZlX2ZwdV9lbmFibGUoKTsKICAgICBhc20gdm9sYXRpbGUgKCAiZm5j
bGV4OyBmbGRjdyAlMCIgOjogIm0iIChmY3cpICk7CkBAIC05Niw4ICsxMDAs
NiBAQCBzdHJ1Y3QgZWZpX3JzX3N0YXRlIGVmaV9yc19lbnRlcih2b2lkKQog
CiAgICAgc3Bpbl9sb2NrKCZlZmlfcnNfbG9jayk7CiAKLSAgICBlZmlfcnNf
b25fY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotCiAgICAgLyogcHJldmVu
dCBmaXh1cF9wYWdlX2ZhdWx0KCkgZnJvbSBkb2luZyBhbnl0aGluZyAqLwog
ICAgIGlycV9lbnRlcigpOwogCkBAIC0xMTIsNyArMTE0LDggQEAgc3RydWN0
IGVmaV9yc19zdGF0ZSBlZmlfcnNfZW50ZXIodm9pZCkKICAgICAgICAgbGdk
dCgmZ2R0X2Rlc2MpOwogICAgIH0KIAotICAgIHN3aXRjaF9jcjNfY3I0KG1m
bl90b19tYWRkcihlZmlfbDRfbWZuKSwgcmVhZF9jcjQoKSk7CisgICAgc3dp
dGNoX2NyM19jcjQoaWRsZV92Y3B1W3NtcF9wcm9jZXNzb3JfaWQoKV0sIG1m
bl90b19tYWRkcihlZmlfbDRfbWZuKSwKKyAgICAgICAgICAgICAgICAgICBy
ZWFkX2NyNCgpKTsKIAogICAgIC8qCiAgICAgICogQXQgdGhlIHRpbWUgb2Yg
d3JpdGluZyAoMjAyMiksIG5vIFVFRkkgZmlyd21hcmUgaXMgQ0VULUlCVCBj
b21wYXRpYmxlLgpAQCAtMTQwLDcgKzE0Myw3IEBAIHZvaWQgZWZpX3JzX2xl
YXZlKHN0cnVjdCBlZmlfcnNfc3RhdGUgKnN0YXRlKQogICAgIGlmICggc3Rh
dGUtPm1zcl9zX2NldCApCiAgICAgICAgIHdybXNybChNU1JfU19DRVQsIHN0
YXRlLT5tc3Jfc19jZXQpOwogCi0gICAgc3dpdGNoX2NyM19jcjQoc3RhdGUt
PmNyMywgcmVhZF9jcjQoKSk7CisgICAgc3dpdGNoX2NyM19jcjQoY3Vyciwg
c3RhdGUtPmNyMywgcmVhZF9jcjQoKSk7CiAgICAgaWYgKCBpc19wdl92Y3B1
KGN1cnIpICYmICFpc19pZGxlX3ZjcHUoY3VycikgKQogICAgIHsKICAgICAg
ICAgc3RydWN0IGRlc2NfcHRyIGdkdF9kZXNjID0gewpAQCAtMTUxLDE4ICsx
NTQsMTAgQEAgdm9pZCBlZmlfcnNfbGVhdmUoc3RydWN0IGVmaV9yc19zdGF0
ZSAqc3RhdGUpCiAgICAgICAgIGxnZHQoJmdkdF9kZXNjKTsKICAgICB9CiAg
ICAgaXJxX2V4aXQoKTsKLSAgICBlZmlfcnNfb25fY3B1ID0gTlJfQ1BVUzsK
ICAgICBzcGluX3VubG9jaygmZWZpX3JzX2xvY2spOwogICAgIHZjcHVfcmVz
dG9yZV9mcHVfbm9ubGF6eShjdXJyLCB0cnVlKTsKIH0KIAotYm9vbCBlZmlf
cnNfdXNpbmdfcGd0YWJsZXModm9pZCkKLXsKLSAgICByZXR1cm4gIW1mbl9l
cShlZmlfbDRfbWZuLCBJTlZBTElEX01GTikgJiYKLSAgICAgICAgICAgKHNt
cF9wcm9jZXNzb3JfaWQoKSA9PSBlZmlfcnNfb25fY3B1KSAmJgotICAgICAg
ICAgICAocmVhZF9jcjMoKSA9PSBtZm5fdG9fbWFkZHIoZWZpX2w0X21mbikp
OwotfQotCiB1bnNpZ25lZCBsb25nIGVmaV9nZXRfdGltZSh2b2lkKQogewog
ICAgIEVGSV9USU1FIHRpbWU7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94
ZW4vZWZpLmggYi94ZW4vaW5jbHVkZS94ZW4vZWZpLmgKaW5kZXggOTRhN2U1
NDdmOTdiLi5mZTJmM2IzOTQxNzggMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRl
L3hlbi9lZmkuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vZWZpLmgKQEAgLTM0
LDcgKzM0LDYgQEAgc3RydWN0IGNvbXBhdF9wZl9lZmlfcnVudGltZV9jYWxs
OwogYm9vbCBlZmlfZW5hYmxlZCh1bnNpZ25lZCBpbnQgZmVhdHVyZSk7CiB2
b2lkIGVmaV9pbml0X21lbW9yeSh2b2lkKTsKIGJvb2wgZWZpX2Jvb3RfbWVt
X3VudXNlZCh1bnNpZ25lZCBsb25nICpzdGFydCwgdW5zaWduZWQgbG9uZyAq
ZW5kKTsKLWJvb2wgZWZpX3JzX3VzaW5nX3BndGFibGVzKHZvaWQpOwogdW5z
aWduZWQgbG9uZyBlZmlfZ2V0X3RpbWUodm9pZCk7CiB2b2lkIGVmaV9oYWx0
X3N5c3RlbSh2b2lkKTsKIHZvaWQgZWZpX3Jlc2V0X3N5c3RlbShib29sIHdh
cm0pOwo=

--=separator
Content-Type: application/octet-stream; name="xsa494-4.18.patch"
Content-Disposition: attachment; filename="xsa494-4.18.patch"
Content-Transfer-Encoding: base64

RnJvbSBkN2ZmMzlkNWQzMDA5OWM3MzNlNTVkNzZiMGIwNDk5ZGYzZmFhMjhk
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2dlciBQYXUgTW9u
bmUgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpEYXRlOiBNb24sIDE2IE1hciAy
MDI2IDExOjAzOjIyICswMTAwClN1YmplY3Q6IFtQQVRDSF0geDg2L21tOiBh
Y2N1cmF0ZWx5IHRyYWNrIHdoaWNoIHZDUFUgcGFnZS10YWJsZXMgYXJlIGxv
YWRlZApNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxh
aW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog
OGJpdAoKTmVpdGhlciBjdXJyZW50IG5vciBjdXJyX3ZjcHUgcGVyLUNQVSBm
aWVsZHMgYWNjdXJhdGVseSB0cmFjayB3aGljaApwYWdlLXRhYmxlcyBhcmUg
bG9hZGVkLiAgVGhlcmUgYXJlIGNvcm5lciBjYXNlcyB3aGVuIGRlYWxpbmcg
d2l0aCBzaGFkb3cKcGFnaW5nIGZhaWx1cmVzIHRoYXQgc3dpdGNoIHRvIHRo
ZSBpZGxlIHZDUFUgcGFnZS10YWJsZXMgd2l0aG91dCBjaGFuZ2luZwpjdXJy
ZW50IG9yIGN1cnJfdmNwdSBwZXItQ1BVIGZpZWxkcy4KCkludHJvZHVjZSBh
IG5ldyBwZXItQ1BVIGZpZWxkIHRoYXQgYXR0ZW1wdHMgdG8gdHJhY2sgd2hp
Y2ggdkNQVSBwYWdlLXRhYmxlcwphcmUgbG9hZGVkLiAgVXBkYXRlIHN1Y2gg
dHJhY2tpbmcgd2hlbiBjcjMgaXMgY2hhbmdlZCwgYW5kIGRvIHNvIGluIGEK
cmVnaW9uIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCwgYXMgdG8gYXZvaWQg
aGFuZGxpbmcgaW50ZXJydXB0cyB3aXRoIGEKbWlzbWF0Y2ggYmV0d2VlbiB0
aGUgdkNQVSB0cmFja2luZyBmaWVsZCBhbmQgdGhlIGxvYWRlZCBwYWdlLXRh
Ymxlcy4KCkFzIGEgcmVzdWx0IG9mIHRoaXMgbmV3bHkgbW9yZSBhY2N1cmF0
ZSB0cmFja2luZyB0aGUgbWFwY2FjaGUgb3ZlcnJpZGUKZnVuY3Rpb25hbGl0
eSBjYW4gYmUgcmVtb3ZlZDogdGhlIGRvbTAgUFYgYnVpbGRlciB3YXMgdGhl
IG9ubHkgdXNlciBvZiBpdCwKYW5kIGl0J3MgdXBkYXRlZCBoZXJlIHRvIHBy
b3Blcmx5IHNpZ25hbCB3aGljaCB2Q1BVIHBhZ2UtdGFibGVzIGFyZSBsb2Fk
ZWQKaW4gdGhlIGNhbGxzIHRvIHN3aXRjaF9jcjNfY3I0KCkuCgpOb3RlIHRo
ZSBFRkkgcGFnZS10YWJsZXMgaGF2ZSB0aGUgWGVuIG93bmVkIEw0IHNsb3Rz
IGNvcGllZCBmcm9tIHRoZSBpZGxlCnBhZ2UtdGFibGVzLCBzbyBmb3IgdGhl
IGVmZmVjdHMgb2YgdGhlIG1hcGNhY2hlIHRoZSBFRkkgcGFnZS10YWJsZXMg
Y291bGQKdXNlIHRoZSBpZGxlIG1hcGNhY2hlIGlmIGl0IGhhZCBvbmUuICBQ
YXNzIHRoZSBpZGxlIHZDUFUgaW4gdGhlCnN3aXRjaF9jcjNfY3I0KCkgY2Fs
bCB0aGF0IHN3aXRjaGVzIHRvIHRoZSBydW50aW1lIEVGSSBwYWdlLXRhYmxl
cy4KClRoZXJlIGFyZSBrbm93biBpc3N1ZXMgd2l0aCB0aGUgdXNlIG9mIG1h
cGNhY2hlIGluIE5NSSBjb250ZXh0LsKgIFRoaXMgcGF0Y2gKZG9lcyBub3Qg
YWx0ZXIgdGhlIGJlaGF2aW91ci4KClRoaXMgaXMgQ1ZFLTIwMjYtNDI0ODgg
LyBYU0EtNDk0LgoKRml4ZXM6IGZiMGZmNDlmZTlmNyAoIng4Ni9zaGFkb3c6
IGRlZmVyIHJlbGVhc2luZyBvZiBQVidzIHRvcC1sZXZlbCBzaGFkb3cgcmVm
ZXJlbmNlIikKU2lnbmVkLW9mZi1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9n
ZXIucGF1QGNpdHJpeC5jb20+CkFja2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxh
bmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9k
b21haW5fcGFnZS5jICAgICAgICAgICB8IDQ4ICsrKysrKysrKysrKy0tLS0t
LS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jICAgICAgICAg
ICAgICB8ICA1ICsrLQogeGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2RvbWFp
bi5oICAgIHwgIDEgLQogeGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2ZsdXNo
dGxiLmggIHwgIDIgKy0KIHhlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wcm9j
ZXNzb3IuaCB8ICAzICsrCiB4ZW4vYXJjaC94ODYvbW0uYyAgICAgICAgICAg
ICAgICAgICAgfCAgNCArLS0KIHhlbi9hcmNoL3g4Ni9wdi9kb20wX2J1aWxk
LmMgICAgICAgICB8IDEyICsrKy0tLS0KIHhlbi9hcmNoL3g4Ni9wdi9kb21h
aW4uYyAgICAgICAgICAgICB8IDEzICsrKysrKy0tCiB4ZW4vYXJjaC94ODYv
c21wYm9vdC5jICAgICAgICAgICAgICAgfCAgMSArCiB4ZW4vY29tbW9uL2Vm
aS9jb21tb24tc3R1Yi5jICAgICAgICAgfCAgNSAtLS0KIHhlbi9jb21tb24v
ZWZpL3J1bnRpbWUuYyAgICAgICAgICAgICB8IDIxICsrKysrLS0tLS0tLQog
eGVuL2luY2x1ZGUveGVuL2VmaS5oICAgICAgICAgICAgICAgIHwgIDEgLQog
MTIgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgNjIgZGVsZXRp
b25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbWFpbl9wYWdl
LmMgYi94ZW4vYXJjaC94ODYvZG9tYWluX3BhZ2UuYwppbmRleCBlYWM1ZTMz
MDRmYjguLjcyYzAwMTk0ZjMxNSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2
L2RvbWFpbl9wYWdlLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWFpbl9wYWdl
LmMKQEAgLTE4LDQ4ICsxOCw0MCBAQAogI2luY2x1ZGUgPGFzbS9oYXJkaXJx
Lmg+CiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CiAKLXN0YXRpYyBERUZJTkVf
UEVSX0NQVShzdHJ1Y3QgdmNwdSAqLCBvdmVycmlkZSk7Ci0KIHN0YXRpYyBp
bmxpbmUgc3RydWN0IHZjcHUgKm1hcGNhY2hlX2N1cnJlbnRfdmNwdSh2b2lk
KQogewotICAgIC8qIEluIHRoZSBjb21tb24gY2FzZSB3ZSB1c2UgdGhlIG1h
cGNhY2hlIG9mIHRoZSBydW5uaW5nIFZDUFUuICovCi0gICAgc3RydWN0IHZj
cHUgKnYgPSB0aGlzX2NwdShvdmVycmlkZSkgPzogY3VycmVudDsKLQotICAg
IC8qCi0gICAgICogV2hlbiBjdXJyZW50IGlzbid0IHByb3Blcmx5IHNldCB1
cCB5ZXQsIHRoaXMgaXMgZXF1aXZhbGVudCB0bwotICAgICAqIHJ1bm5pbmcg
aW4gYW4gaWRsZSB2Q1BVIChjYWxsZXJzIG11c3QgY2hlY2sgZm9yIE5VTEwp
LgotICAgICAqLwotICAgIGlmICggIXYgKQotICAgICAgICByZXR1cm4gTlVM
TDsKKyAgICBzdHJ1Y3QgdmNwdSAqdiA9IHRoaXNfY3B1KHBndGFibGVfdmNw
dSk7CisgICAgc3RydWN0IHZjcHUgKmN1cnIgPSBjdXJyZW50OwogCiAgICAg
LyoKLSAgICAgKiBXaGVuIHVzaW5nIGVmaSBydW50aW1lIHBhZ2UgdGFibGVz
LCB3ZSBoYXZlIHRoZSBlcXVpdmFsZW50IG9mIHRoZSBpZGxlCi0gICAgICog
ZG9tYWluJ3MgcGFnZSB0YWJsZXMgYnV0IGN1cnJlbnQgbWF5IHBvaW50IGF0
IGFub3RoZXIgZG9tYWluJ3MgVkNQVS4KLSAgICAgKiBSZXR1cm4gTlVMTCBh
cyB0aG91Z2ggY3VycmVudCBpcyBub3QgcHJvcGVybHkgc2V0IHVwIHlldC4K
KyAgICAgKiBEdXJpbmcgZWFybHkgYm9vdCBwZ3RhYmxlX3ZjcHUgaXMgbm90
IHNldCwgY2FsbGVycyBtdXN0IGhhbmRsZSBOVUxMLgorICAgICAqIE5vbi1Q
ViBkb21haW5zIGRvbid0IGhhdmUgYSBtYXBjYWNoZSwgdGhlIGRpcmVjdG1h
cCBjb3ZlcnMgYWxsIHBoeXNpY2FsCisgICAgICogYWRkcmVzcyBzcGFjZS4K
ICAgICAgKi8KLSAgICBpZiAoIGVmaV9yc191c2luZ19wZ3RhYmxlcygpICkK
KyAgICBpZiAoICF2IHx8ICFpc19wdl92Y3B1KHYpICkKICAgICAgICAgcmV0
dXJuIE5VTEw7CiAKICAgICAvKgotICAgICAqIElmIGd1ZXN0X3RhYmxlIGlz
IE5VTEwsIGFuZCB3ZSBhcmUgcnVubmluZyBhIHBhcmF2aXJ0dWFsaXNlZCBn
dWVzdCwKLSAgICAgKiB0aGVuIGl0IG1lYW5zIHdlIGFyZSBydW5uaW5nIG9u
IHRoZSBpZGxlIGRvbWFpbidzIHBhZ2UgdGFibGUgYW5kIG11c3QKLSAgICAg
KiB0aGVyZWZvcmUgdXNlIGl0cyBtYXBjYWNoZS4KKyAgICAgKiBJZiB3ZSBh
cmUgaW4gYSBsYXp5IGNvbnRleHQtc3dpdGNoIHN0YXRlIGZyb20gYSBQViB2
Q1BVIGRvIGEgZnVsbCBzd2l0Y2gKKyAgICAgKiB0byB0aGUgaWRsZSB2Q1BV
IG5vdywgb3RoZXJ3aXNlIGFuIGluY29taW5nIEZMVVNIX1ZDUFVfU1RBVEUg
SVBJIHdvdWxkCisgICAgICogY2hhbmdlIHRoZSBwYWdlIHRhYmxlcyB1bmRl
ciBvdXIgZmVldCBhbiBpbnZhbGlkYXRlIGFueSBpbi11c2UgbWFwY2FjaGUK
KyAgICAgKiBlbnRyaWVzLgogICAgICAqLwotICAgIGlmICggdW5saWtlbHko
cGFnZXRhYmxlX2lzX251bGwodi0+YXJjaC5ndWVzdF90YWJsZSkpICYmIGlz
X3B2X3ZjcHUodikgKQorICAgIGlmICggdW5saWtlbHkodGhpc19jcHUoY3Vy
cl92Y3B1KSAhPSBjdXJyKSApCiAgICAgewotICAgICAgICAvKiBJZiB3ZSBy
ZWFsbHkgYXJlIGlkbGluZywgcGVyZm9ybSBsYXp5IGNvbnRleHQgc3dpdGNo
IG5vdy4gKi8KLSAgICAgICAgaWYgKCAodiA9IGlkbGVfdmNwdVtzbXBfcHJv
Y2Vzc29yX2lkKCldKSA9PSBjdXJyZW50ICkKLSAgICAgICAgICAgIHN5bmNf
bG9jYWxfZXhlY3N0YXRlKCk7CisgICAgICAgIEFTU0VSVChjdXJyID09IGlk
bGVfdmNwdVtzbXBfcHJvY2Vzc29yX2lkKCldKTsKKyAgICAgICAgc3luY19s
b2NhbF9leGVjc3RhdGUoKTsKICAgICAgICAgLyogV2UgbXVzdCBub3cgYmUg
cnVubmluZyBvbiB0aGUgaWRsZSBwYWdlIHRhYmxlLiAqLwogICAgICAgICBB
U1NFUlQoY3IzX3BhKHJlYWRfY3IzKCkpID09IF9fcGEoaWRsZV9wZ190YWJs
ZSkpOwogICAgIH0KIAotICAgIHJldHVybiB2OwotfQotCi12b2lkIF9faW5p
dCBtYXBjYWNoZV9vdmVycmlkZV9jdXJyZW50KHN0cnVjdCB2Y3B1ICp2KQot
ewotICAgIHRoaXNfY3B1KG92ZXJyaWRlKSA9IHY7CisgICAgLyoKKyAgICAg
KiBBdCB0aGlzIHBvaW50IHdlIGNhbiBndWFyYW50ZWUgWGVuIGlzIG5vdCBp
biBsYXp5IGNvbnRleHQgc3dpdGNoOiBlaXRoZXIKKyAgICAgKiB0aGUgY29k
ZSBhYm92ZSB3aWxsIGhhdmUgc3luY2VkIHRoZSBzdGF0ZSwgb3IgYW4gaW5j
b21pbmcKKyAgICAgKiBGTFVTSF9WQ1BVX1NUQVRFIElQSSBoYXMgZG9uZSBz
byBiZWhpbmQgb3VyIGJhY2suICBVc2UgQUNDRVNTX09OQ0UgdG8KKyAgICAg
KiBlbnN1cmUgdGhlIGNvbXBpbGVyIG5ldmVyIHJldHVybnMgdGhlIGxvY2Fs
bHkgY2FjaGVkIHBndGFibGVfdmNwdSB2YWx1ZS4KKyAgICAgKi8KKyAgICBy
ZXR1cm4gQUNDRVNTX09OQ0UodGhpc19jcHUocGd0YWJsZV92Y3B1KSk7CiB9
CiAKICNkZWZpbmUgbWFwY2FjaGVfbDJfZW50cnkoZSkgKChlKSA+PiBQQUdF
VEFCTEVfT1JERVIpCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZmx1c2h0
bGIuYyBiL3hlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jCmluZGV4IDE4NzQ4YjJi
YzgwNS4uY2RlZmFiMmYwOGVjIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv
Zmx1c2h0bGIuYworKysgYi94ZW4vYXJjaC94ODYvZmx1c2h0bGIuYwpAQCAt
MTExLDcgKzExMSw5IEBAIHN0YXRpYyB2b2lkIGRvX3RsYl9mbHVzaCh2b2lk
KQogICAgIGxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIH0KIAotdm9pZCBz
d2l0Y2hfY3IzX2NyNCh1bnNpZ25lZCBsb25nIGNyMywgdW5zaWduZWQgbG9u
ZyBjcjQpCitERUZJTkVfUEVSX0NQVShzdHJ1Y3QgdmNwdSAqLCBwZ3RhYmxl
X3ZjcHUpOworCit2b2lkIHN3aXRjaF9jcjNfY3I0KHN0cnVjdCB2Y3B1ICp2
LCB1bnNpZ25lZCBsb25nIGNyMywgdW5zaWduZWQgbG9uZyBjcjQpCiB7CiAg
ICAgdW5zaWduZWQgbG9uZyBmbGFncywgb2xkX2NyNDsKICAgICB1MzIgdCA9
IDA7CkBAIC0xNTUsNiArMTU3LDcgQEAgdm9pZCBzd2l0Y2hfY3IzX2NyNCh1
bnNpZ25lZCBsb25nIGNyMywgdW5zaWduZWQgbG9uZyBjcjQpCiAgICAgaWYg
KCAob2xkX2NyNCAmIFg4Nl9DUjRfUENJREUpID4gKGNyNCAmIFg4Nl9DUjRf
UENJREUpICkKICAgICAgICAgY3IzIHw9IFg4Nl9DUjNfTk9GTFVTSDsKICAg
ICB3cml0ZV9jcjMoY3IzKTsKKyAgICB0aGlzX2NwdShwZ3RhYmxlX3ZjcHUp
ID0gdjsKIAogICAgIGlmICggb2xkX2NyNCAhPSBjcjQgKQogICAgICAgICB3
cml0ZV9jcjQoY3I0KTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9pbmNs
dWRlL2FzbS9kb21haW4uaCBiL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9k
b21haW4uaAppbmRleCAwZDJkMmI2NjIzYzAuLjg1ZmJhOGIzYzU3NiAxMDA2
NDQKLS0tIGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2RvbWFpbi5oCisr
KyBiL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9kb21haW4uaApAQCAtNzYs
NyArNzYsNiBAQCBzdHJ1Y3QgbWFwY2FjaGVfZG9tYWluIHsKIAogaW50IG1h
cGNhY2hlX2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKik7CiBpbnQgbWFw
Y2FjaGVfdmNwdV9pbml0KHN0cnVjdCB2Y3B1ICopOwotdm9pZCBtYXBjYWNo
ZV9vdmVycmlkZV9jdXJyZW50KHN0cnVjdCB2Y3B1ICopOwogCiAvKiB4ODYv
NjQ6IHRvZ2dsZSBndWVzdCBiZXR3ZWVuIGtlcm5lbCBhbmQgdXNlciBtb2Rl
cy4gKi8KIHZvaWQgdG9nZ2xlX2d1ZXN0X21vZGUoc3RydWN0IHZjcHUgKik7
CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vZmx1c2h0
bGIuaCBiL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9mbHVzaHRsYi5oCmlu
ZGV4IGE0NjFlZTM2ZmZlYi4uODIxZmZlM2U4YjE2IDEwMDY0NAotLS0gYS94
ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vZmx1c2h0bGIuaAorKysgYi94ZW4v
YXJjaC94ODYvaW5jbHVkZS9hc20vZmx1c2h0bGIuaApAQCAtOTksNyArOTks
NyBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgcmVhZF9jcjModm9p
ZCkKIH0KIAogLyogV3JpdGUgcGFnZXRhYmxlIGJhc2UgYW5kIGltcGxpY2l0
bHkgdGljayB0aGUgdGxiZmx1c2ggY2xvY2suICovCi12b2lkIHN3aXRjaF9j
cjNfY3I0KHVuc2lnbmVkIGxvbmcgY3IzLCB1bnNpZ25lZCBsb25nIGNyNCk7
Cit2b2lkIHN3aXRjaF9jcjNfY3I0KHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25l
ZCBsb25nIGNyMywgdW5zaWduZWQgbG9uZyBjcjQpOwogCiAvKiBmbHVzaF8q
IGZsYWcgZmllbGRzOiAqLwogIC8qCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94
ODYvaW5jbHVkZS9hc20vcHJvY2Vzc29yLmggYi94ZW4vYXJjaC94ODYvaW5j
bHVkZS9hc20vcHJvY2Vzc29yLmgKaW5kZXggYzVlNWM3MjM0MWFkLi5jNmUw
Yzg1OGJmYjYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2Fz
bS9wcm9jZXNzb3IuaAorKysgYi94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20v
cHJvY2Vzc29yLmgKQEAgLTM3Miw2ICszNzIsOSBAQCBleHRlcm4gaWR0X2Vu
dHJ5X3QgKmlkdF90YWJsZXNbXTsKIAogREVDTEFSRV9QRVJfQ1BVKHJvb3Rf
cGdlbnRyeV90ICosIHJvb3RfcGd0KTsKIAorLyogdkNQVSBvZiB0aGUgY3Vy
cmVudGx5IGxvYWRlZCBwYWdlLXRhYmxlcy4gKi8KK0RFQ0xBUkVfUEVSX0NQ
VShzdHJ1Y3QgdmNwdSAqLCBwZ3RhYmxlX3ZjcHUpOworCiBleHRlcm4gdm9p
ZCB3cml0ZV9wdGJhc2Uoc3RydWN0IHZjcHUgKnYpOwogCiAvKiBSRVAgTk9Q
IChQQVVTRSkgaXMgYSBnb29kIHRoaW5nIHRvIGluc2VydCBpbnRvIGJ1c3kt
d2FpdCBsb29wcy4gKi8KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS5j
IGIveGVuL2FyY2gveDg2L21tLmMKaW5kZXggMzYzNWY5MDY4NDdjLi40ODRi
OTg5MDQyY2MgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS5jCisrKyBi
L3hlbi9hcmNoL3g4Ni9tbS5jCkBAIC01MjgsNyArNTI4LDcgQEAgdm9pZCB3
cml0ZV9wdGJhc2Uoc3RydWN0IHZjcHUgKnYpCiAgICAgICAgIGNwdV9pbmZv
LT5wdl9jcjMgPSBfX3BhKHRoaXNfY3B1KHJvb3RfcGd0KSk7CiAgICAgICAg
IGlmICggbmV3X2NyNCAmIFg4Nl9DUjRfUENJREUgKQogICAgICAgICAgICAg
Y3B1X2luZm8tPnB2X2NyMyB8PSBnZXRfcGNpZF9iaXRzKHYsIHRydWUpOwot
ICAgICAgICBzd2l0Y2hfY3IzX2NyNCh2LT5hcmNoLmNyMywgbmV3X2NyNCk7
CisgICAgICAgIHN3aXRjaF9jcjNfY3I0KHYsIHYtPmFyY2guY3IzLCBuZXdf
Y3I0KTsKICAgICB9CiAgICAgZWxzZQogICAgIHsKQEAgLTUzNiw3ICs1MzYs
NyBAQCB2b2lkIHdyaXRlX3B0YmFzZShzdHJ1Y3QgdmNwdSAqdikKICAgICAg
ICAgY3B1X2luZm8tPnVzZV9wdl9jcjMgPSBmYWxzZTsKICAgICAgICAgY3B1
X2luZm8tPnhlbl9jcjMgPSAwOwogICAgICAgICAvKiBzd2l0Y2hfY3IzX2Ny
NCgpIHNlcmlhbGl6ZXMuICovCi0gICAgICAgIHN3aXRjaF9jcjNfY3I0KHYt
PmFyY2guY3IzLCBuZXdfY3I0KTsKKyAgICAgICAgc3dpdGNoX2NyM19jcjQo
diwgdi0+YXJjaC5jcjMsIG5ld19jcjQpOwogICAgICAgICBjcHVfaW5mby0+
cHZfY3IzID0gMDsKICAgICB9CiB9CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94
ODYvcHYvZG9tMF9idWlsZC5jIGIveGVuL2FyY2gveDg2L3B2L2RvbTBfYnVp
bGQuYwppbmRleCAzYjI4YWU0NWQxMjQuLjBmOWU2MTRjZTcxZiAxMDA2NDQK
LS0tIGEveGVuL2FyY2gveDg2L3B2L2RvbTBfYnVpbGQuYworKysgYi94ZW4v
YXJjaC94ODYvcHYvZG9tMF9idWlsZC5jCkBAIC04MTIsOCArODEyLDcgQEAg
c3RhdGljIGludCBfX2luaXQgZG9tMF9jb25zdHJ1Y3Qoc3RydWN0IGRvbWFp
biAqZCwKICAgICB1cGRhdGVfY3IzKHYpOwogCiAgICAgLyogV2UgcnVuIG9u
IGRvbTAncyBwYWdlIHRhYmxlcyBmb3IgdGhlIGZpbmFsIHBhcnQgb2YgdGhl
IGJ1aWxkIHByb2Nlc3MuICovCi0gICAgc3dpdGNoX2NyM19jcjQoY3IzX3Bh
KHYtPmFyY2guY3IzKSwgcmVhZF9jcjQoKSk7Ci0gICAgbWFwY2FjaGVfb3Zl
cnJpZGVfY3VycmVudCh2KTsKKyAgICBzd2l0Y2hfY3IzX2NyNCh2LCBjcjNf
cGEodi0+YXJjaC5jcjMpLCByZWFkX2NyNCgpKTsKIAogICAgIC8qIENvcHkg
dGhlIE9TIGltYWdlIGFuZCBmcmVlIHRlbXBvcmFyeSBidWZmZXIuICovCiAg
ICAgZWxmLmRlc3RfYmFzZSA9ICh2b2lkKil2a2Vybl9zdGFydDsKQEAgLTgy
Miw4ICs4MjEsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBkb20wX2NvbnN0cnVj
dChzdHJ1Y3QgZG9tYWluICpkLAogICAgIHJjID0gZWxmX2xvYWRfYmluYXJ5
KCZlbGYpOwogICAgIGlmICggcmMgPCAwICkKICAgICB7Ci0gICAgICAgIG1h
cGNhY2hlX292ZXJyaWRlX2N1cnJlbnQoTlVMTCk7Ci0gICAgICAgIHN3aXRj
aF9jcjNfY3I0KGN1cnJlbnQtPmFyY2guY3IzLCByZWFkX2NyNCgpKTsKKyAg
ICAgICAgc3dpdGNoX2NyM19jcjQoY3VycmVudCwgY3VycmVudC0+YXJjaC5j
cjMsIHJlYWRfY3I0KCkpOwogICAgICAgICBwcmludGsoIkZhaWxlZCB0byBs
b2FkIHRoZSBrZXJuZWwgYmluYXJ5XG4iKTsKICAgICAgICAgZ290byBvdXQ7
CiAgICAgfQpAQCAtODM0LDggKzgzMiw3IEBAIHN0YXRpYyBpbnQgX19pbml0
IGRvbTBfY29uc3RydWN0KHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgIGlm
ICggKHBhcm1zLnZpcnRfaHlwZXJjYWxsIDwgdl9zdGFydCkgfHwKICAgICAg
ICAgICAgICAocGFybXMudmlydF9oeXBlcmNhbGwgPj0gdl9lbmQpICkKICAg
ICAgICAgewotICAgICAgICAgICAgbWFwY2FjaGVfb3ZlcnJpZGVfY3VycmVu
dChOVUxMKTsKLSAgICAgICAgICAgIHN3aXRjaF9jcjNfY3I0KGN1cnJlbnQt
PmFyY2guY3IzLCByZWFkX2NyNCgpKTsKKyAgICAgICAgICAgIHN3aXRjaF9j
cjNfY3I0KGN1cnJlbnQsIGN1cnJlbnQtPmFyY2guY3IzLCByZWFkX2NyNCgp
KTsKICAgICAgICAgICAgIHByaW50aygiSW52YWxpZCBIWVBFUkNBTExfUEFH
RSBmaWVsZCBpbiBFTEYgbm90ZXMuXG4iKTsKICAgICAgICAgICAgIHJldHVy
biAtRUlOVkFMOwogICAgICAgICB9CkBAIC05NzYsOCArOTczLDcgQEAgc3Rh
dGljIGludCBfX2luaXQgZG9tMF9jb25zdHJ1Y3Qoc3RydWN0IGRvbWFpbiAq
ZCwKICNlbmRpZgogCiAgICAgLyogUmV0dXJuIHRvIGlkbGUgZG9tYWluJ3Mg
cGFnZSB0YWJsZXMuICovCi0gICAgbWFwY2FjaGVfb3ZlcnJpZGVfY3VycmVu
dChOVUxMKTsKLSAgICBzd2l0Y2hfY3IzX2NyNChjdXJyZW50LT5hcmNoLmNy
MywgcmVhZF9jcjQoKSk7CisgICAgc3dpdGNoX2NyM19jcjQoY3VycmVudCwg
Y3VycmVudC0+YXJjaC5jcjMsIHJlYWRfY3I0KCkpOwogCiAgICAgdXBkYXRl
X2RvbWFpbl93YWxsY2xvY2tfdGltZShkKTsKIApkaWZmIC0tZ2l0IGEveGVu
L2FyY2gveDg2L3B2L2RvbWFpbi5jIGIveGVuL2FyY2gveDg2L3B2L2RvbWFp
bi5jCmluZGV4IDJhNDQ1YmIxN2I5OS4uNWNkNDY3ZDdhNjk0IDEwMDY0NAot
LS0gYS94ZW4vYXJjaC94ODYvcHYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gv
eDg2L3B2L2RvbWFpbi5jCkBAIC00MjgsNiArNDI4LDggQEAgc3RhdGljIHZv
aWQgX3RvZ2dsZV9ndWVzdF9wdChzdHJ1Y3QgdmNwdSAqdikKICAgICBwYWdl
dGFibGVfdCBvbGRfc2hhZG93OwogICAgIHVuc2lnbmVkIGxvbmcgY3IzOwog
CisgICAgQVNTRVJUKGxvY2FsX2lycV9pc19lbmFibGVkKCkpOworCiAgICAg
di0+YXJjaC5mbGFncyBePSBURl9rZXJuZWxfbW9kZTsKICAgICBndWVzdF91
cGRhdGUgPSB2LT5hcmNoLmZsYWdzICYgVEZfa2VybmVsX21vZGU7CiAgICAg
b2xkX3NoYWRvdyA9IHVwZGF0ZV9jcjModik7CkBAIC00NTAsMTUgKzQ1Miwy
MiBAQCBzdGF0aWMgdm9pZCBfdG9nZ2xlX2d1ZXN0X3B0KHN0cnVjdCB2Y3B1
ICp2KQogICAgIHsKICAgICAgICAgY3IzICY9IH5YODZfQ1IzX05PRkxVU0g7
CiAKKyAgICAgICAgbG9jYWxfaXJxX2Rpc2FibGUoKTsKICAgICAgICAgaWYg
KCB1bmxpa2VseShtZm5fZXEocGFnZXRhYmxlX2dldF9tZm4ob2xkX3NoYWRv
dyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZGRyX3RvX21m
bihjcjMpKSkgKQogICAgICAgICB7Ci0gICAgICAgICAgICBjcjMgPSBpZGxl
X3ZjcHVbdi0+cHJvY2Vzc29yXS0+YXJjaC5jcjM7CiAgICAgICAgICAgICAv
KiBBbHNvIHN1cHByZXNzIHJ1bnN0YXRlL3RpbWUgYXJlYSB1cGRhdGVzIGJl
bG93LiAqLwogICAgICAgICAgICAgZ3Vlc3RfdXBkYXRlID0gZmFsc2U7CisK
KyAgICAgICAgICAgIGNyMyA9IGlkbGVfdmNwdVt2LT5wcm9jZXNzb3JdLT5h
cmNoLmNyMzsKKyAgICAgICAgICAgIHRoaXNfY3B1KHBndGFibGVfdmNwdSkg
PSBpZGxlX3ZjcHVbdi0+cHJvY2Vzc29yXTsKICAgICAgICAgfQorCisgICAg
ICAgIHdyaXRlX2NyMyhjcjMpOworICAgICAgICBsb2NhbF9pcnFfZW5hYmxl
KCk7CiAgICAgfQotICAgIHdyaXRlX2NyMyhjcjMpOworICAgIGVsc2UKKyAg
ICAgICAgd3JpdGVfY3IzKGNyMyk7CiAKICAgICBpZiAoICFwYWdldGFibGVf
aXNfbnVsbChvbGRfc2hhZG93KSApCiAgICAgICAgIHNoYWRvd19wdXRfdG9w
X2xldmVsKHYtPmRvbWFpbiwgb2xkX3NoYWRvdyk7CmRpZmYgLS1naXQgYS94
ZW4vYXJjaC94ODYvc21wYm9vdC5jIGIveGVuL2FyY2gveDg2L3NtcGJvb3Qu
YwppbmRleCBlYzQ5NTZlMTA0OTMuLmE1ODVkNGRmNWNhNiAxMDA2NDQKLS0t
IGEveGVuL2FyY2gveDg2L3NtcGJvb3QuYworKysgYi94ZW4vYXJjaC94ODYv
c21wYm9vdC5jCkBAIC0zMjQsNiArMzI0LDcgQEAgdm9pZCBzdGFydF9zZWNv
bmRhcnkodm9pZCAqdW51c2VkKQogCiAgICAgc2V0X2N1cnJlbnQoaWRsZV92
Y3B1W2NwdV0pOwogICAgIHRoaXNfY3B1KGN1cnJfdmNwdSkgPSBpZGxlX3Zj
cHVbY3B1XTsKKyAgICB0aGlzX2NwdShwZ3RhYmxlX3ZjcHUpID0gaWRsZV92
Y3B1W2NwdV07CiAgICAgcmRtc3JsKE1TUl9FRkVSLCB0aGlzX2NwdShlZmVy
KSk7CiAgICAgaW5pdF9zaGFkb3dfc3BlY19jdHJsX3N0YXRlKCk7CiAKZGlm
ZiAtLWdpdCBhL3hlbi9jb21tb24vZWZpL2NvbW1vbi1zdHViLmMgYi94ZW4v
Y29tbW9uL2VmaS9jb21tb24tc3R1Yi5jCmluZGV4IDVhOTFmZTI4Y2NjYS4u
YWFlYjkxNmMwZjY5IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2VmaS9jb21t
b24tc3R1Yi5jCisrKyBiL3hlbi9jb21tb24vZWZpL2NvbW1vbi1zdHViLmMK
QEAgLTcsMTEgKzcsNiBAQCBib29sIGVmaV9lbmFibGVkKHVuc2lnbmVkIGlu
dCBmZWF0dXJlKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBlZmlf
cnNfdXNpbmdfcGd0YWJsZXModm9pZCkKLXsKLSAgICByZXR1cm4gZmFsc2U7
Ci19Ci0KIHVuc2lnbmVkIGxvbmcgZWZpX2dldF90aW1lKHZvaWQpCiB7CiAg
ICAgQlVHKCk7CmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2VmaS9ydW50aW1l
LmMgYi94ZW4vY29tbW9uL2VmaS9ydW50aW1lLmMKaW5kZXggNWNiNzUwNGM5
NmFkLi5kYjIxYjlhODAyZTYgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vZWZp
L3J1bnRpbWUuYworKysgYi94ZW4vY29tbW9uL2VmaS9ydW50aW1lLmMKQEAg
LTQ2LDcgKzQ2LDYgQEAgY29uc3QgQ0hBUjE2ICpfX3JlYWRfbW9zdGx5IGVm
aV9md192ZW5kb3I7CiBjb25zdCBFRklfUlVOVElNRV9TRVJWSUNFUyAqX19y
ZWFkX21vc3RseSBlZmlfcnM7CiAjaWZuZGVmIENPTkZJR19BUk0gLyogVE9E
TyAtIGRpc2FibGVkIHVudGlsIGltcGxlbWVudGVkIG9uIEFSTSAqLwogc3Rh
dGljIERFRklORV9TUElOTE9DSyhlZmlfcnNfbG9jayk7Ci1zdGF0aWMgdW5z
aWduZWQgaW50IGVmaV9yc19vbl9jcHUgPSBOUl9DUFVTOwogI2VuZGlmCiAK
IFVJTlROIF9fcmVhZF9tb3N0bHkgZWZpX21lbW1hcF9zaXplOwpAQCAtODks
NiArODgsMTEgQEAgc3RydWN0IGVmaV9yc19zdGF0ZSBlZmlfcnNfZW50ZXIo
dm9pZCkKICAgICBpZiAoIG1mbl9lcShlZmlfbDRfbWZuLCBJTlZBTElEX01G
TikgKQogICAgICAgICByZXR1cm4gc3RhdGU7CiAKKyAgICAvKgorICAgICAq
IElmIGluIGxhenkgaWRsZSBjb250ZXh0IHN3aXRjaCBzdGF0ZSBzeW5jIG5v
dyB0byBhdm9pZCBhbiBpbmNvbWluZworICAgICAqIEZMVVNIX1ZDUFVfU1RB
VEUgSVBJIGNoYW5naW5nIHRoZSBsb2FkZWQgcGFnZS10YWJsZXMuCisgICAg
ICovCisgICAgc3luY19sb2NhbF9leGVjc3RhdGUoKTsKICAgICBzdGF0ZS5j
cjMgPSByZWFkX2NyMygpOwogICAgIHNhdmVfZnB1X2VuYWJsZSgpOwogICAg
IGFzbSB2b2xhdGlsZSAoICJmbmNsZXg7IGZsZGN3ICUwIiA6OiAibSIgKGZj
dykgKTsKQEAgLTk2LDggKzEwMCw2IEBAIHN0cnVjdCBlZmlfcnNfc3RhdGUg
ZWZpX3JzX2VudGVyKHZvaWQpCiAKICAgICBzcGluX2xvY2soJmVmaV9yc19s
b2NrKTsKIAotICAgIGVmaV9yc19vbl9jcHUgPSBzbXBfcHJvY2Vzc29yX2lk
KCk7Ci0KICAgICAvKiBwcmV2ZW50IGZpeHVwX3BhZ2VfZmF1bHQoKSBmcm9t
IGRvaW5nIGFueXRoaW5nICovCiAgICAgaXJxX2VudGVyKCk7CiAKQEAgLTEx
Miw3ICsxMTQsOCBAQCBzdHJ1Y3QgZWZpX3JzX3N0YXRlIGVmaV9yc19lbnRl
cih2b2lkKQogICAgICAgICBsZ2R0KCZnZHRfZGVzYyk7CiAgICAgfQogCi0g
ICAgc3dpdGNoX2NyM19jcjQobWZuX3RvX21hZGRyKGVmaV9sNF9tZm4pLCBy
ZWFkX2NyNCgpKTsKKyAgICBzd2l0Y2hfY3IzX2NyNChpZGxlX3ZjcHVbc21w
X3Byb2Nlc3Nvcl9pZCgpXSwgbWZuX3RvX21hZGRyKGVmaV9sNF9tZm4pLAor
ICAgICAgICAgICAgICAgICAgIHJlYWRfY3I0KCkpOwogCiAgICAgLyoKICAg
ICAgKiBBdCB0aGUgdGltZSBvZiB3cml0aW5nICgyMDIyKSwgbm8gVUVGSSBm
aXJ3bWFyZSBpcyBDRVQtSUJUIGNvbXBhdGlibGUuCkBAIC0xNDAsNyArMTQz
LDcgQEAgdm9pZCBlZmlfcnNfbGVhdmUoc3RydWN0IGVmaV9yc19zdGF0ZSAq
c3RhdGUpCiAgICAgaWYgKCBzdGF0ZS0+bXNyX3NfY2V0ICkKICAgICAgICAg
d3Jtc3JsKE1TUl9TX0NFVCwgc3RhdGUtPm1zcl9zX2NldCk7CiAKLSAgICBz
d2l0Y2hfY3IzX2NyNChzdGF0ZS0+Y3IzLCByZWFkX2NyNCgpKTsKKyAgICBz
d2l0Y2hfY3IzX2NyNChjdXJyLCBzdGF0ZS0+Y3IzLCByZWFkX2NyNCgpKTsK
ICAgICBpZiAoIGlzX3B2X3ZjcHUoY3VycikgJiYgIWlzX2lkbGVfdmNwdShj
dXJyKSApCiAgICAgewogICAgICAgICBzdHJ1Y3QgZGVzY19wdHIgZ2R0X2Rl
c2MgPSB7CkBAIC0xNTEsMTggKzE1NCwxMCBAQCB2b2lkIGVmaV9yc19sZWF2
ZShzdHJ1Y3QgZWZpX3JzX3N0YXRlICpzdGF0ZSkKICAgICAgICAgbGdkdCgm
Z2R0X2Rlc2MpOwogICAgIH0KICAgICBpcnFfZXhpdCgpOwotICAgIGVmaV9y
c19vbl9jcHUgPSBOUl9DUFVTOwogICAgIHNwaW5fdW5sb2NrKCZlZmlfcnNf
bG9jayk7CiAgICAgdmNwdV9yZXN0b3JlX2ZwdV9ub25sYXp5KGN1cnIsIHRy
dWUpOwogfQogCi1ib29sIGVmaV9yc191c2luZ19wZ3RhYmxlcyh2b2lkKQot
ewotICAgIHJldHVybiAhbWZuX2VxKGVmaV9sNF9tZm4sIElOVkFMSURfTUZO
KSAmJgotICAgICAgICAgICAoc21wX3Byb2Nlc3Nvcl9pZCgpID09IGVmaV9y
c19vbl9jcHUpICYmCi0gICAgICAgICAgIChyZWFkX2NyMygpID09IG1mbl90
b19tYWRkcihlZmlfbDRfbWZuKSk7Ci19Ci0KIHVuc2lnbmVkIGxvbmcgZWZp
X2dldF90aW1lKHZvaWQpCiB7CiAgICAgRUZJX1RJTUUgdGltZTsKZGlmZiAt
LWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9lZmkuaCBiL3hlbi9pbmNsdWRlL3hl
bi9lZmkuaAppbmRleCA5NDJkMmU5NDkxZTkuLjM4M2IzODJmYjA1NyAxMDA2
NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL2VmaS5oCisrKyBiL3hlbi9pbmNs
dWRlL3hlbi9lZmkuaApAQCAtMzQsNyArMzQsNiBAQCBzdHJ1Y3QgY29tcGF0
X3BmX2VmaV9ydW50aW1lX2NhbGw7CiBib29sIGVmaV9lbmFibGVkKHVuc2ln
bmVkIGludCBmZWF0dXJlKTsKIHZvaWQgZWZpX2luaXRfbWVtb3J5KHZvaWQp
OwogYm9vbCBlZmlfYm9vdF9tZW1fdW51c2VkKHVuc2lnbmVkIGxvbmcgKnN0
YXJ0LCB1bnNpZ25lZCBsb25nICplbmQpOwotYm9vbCBlZmlfcnNfdXNpbmdf
cGd0YWJsZXModm9pZCk7CiB1bnNpZ25lZCBsb25nIGVmaV9nZXRfdGltZSh2
b2lkKTsKIHZvaWQgZWZpX2hhbHRfc3lzdGVtKHZvaWQpOwogdm9pZCBlZmlf
cmVzZXRfc3lzdGVtKGJvb2wgd2FybSk7Ci0tIAoyLjUzLjAKCg==

--=separator
Content-Type: application/octet-stream; name="xsa494-4.20.patch"
Content-Disposition: attachment; filename="xsa494-4.20.patch"
Content-Transfer-Encoding: base64

RnJvbSAxNjFkZGVlNDJlYTdkYzFhMzYwMTVjMTU2ZDA3MzY2OTZmOTEwMjBk
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2dlciBQYXUgTW9u
bmUgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpEYXRlOiBNb24sIDE2IE1hciAy
MDI2IDExOjAzOjIyICswMTAwClN1YmplY3Q6IFtQQVRDSF0geDg2L21tOiBh
Y2N1cmF0ZWx5IHRyYWNrIHdoaWNoIHZDUFUgcGFnZS10YWJsZXMgYXJlIGxv
YWRlZApNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxh
aW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog
OGJpdAoKTmVpdGhlciBjdXJyZW50IG5vciBjdXJyX3ZjcHUgcGVyLUNQVSBm
aWVsZHMgYWNjdXJhdGVseSB0cmFjayB3aGljaApwYWdlLXRhYmxlcyBhcmUg
bG9hZGVkLiAgVGhlcmUgYXJlIGNvcm5lciBjYXNlcyB3aGVuIGRlYWxpbmcg
d2l0aCBzaGFkb3cKcGFnaW5nIGZhaWx1cmVzIHRoYXQgc3dpdGNoIHRvIHRo
ZSBpZGxlIHZDUFUgcGFnZS10YWJsZXMgd2l0aG91dCBjaGFuZ2luZwpjdXJy
ZW50IG9yIGN1cnJfdmNwdSBwZXItQ1BVIGZpZWxkcy4KCkludHJvZHVjZSBh
IG5ldyBwZXItQ1BVIGZpZWxkIHRoYXQgYXR0ZW1wdHMgdG8gdHJhY2sgd2hp
Y2ggdkNQVSBwYWdlLXRhYmxlcwphcmUgbG9hZGVkLiAgVXBkYXRlIHN1Y2gg
dHJhY2tpbmcgd2hlbiBjcjMgaXMgY2hhbmdlZCwgYW5kIGRvIHNvIGluIGEK
cmVnaW9uIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCwgYXMgdG8gYXZvaWQg
aGFuZGxpbmcgaW50ZXJydXB0cyB3aXRoIGEKbWlzbWF0Y2ggYmV0d2VlbiB0
aGUgdkNQVSB0cmFja2luZyBmaWVsZCBhbmQgdGhlIGxvYWRlZCBwYWdlLXRh
Ymxlcy4KCkFzIGEgcmVzdWx0IG9mIHRoaXMgbmV3bHkgbW9yZSBhY2N1cmF0
ZSB0cmFja2luZyB0aGUgbWFwY2FjaGUgb3ZlcnJpZGUKZnVuY3Rpb25hbGl0
eSBjYW4gYmUgcmVtb3ZlZDogdGhlIGRvbTAgUFYgYnVpbGRlciB3YXMgdGhl
IG9ubHkgdXNlciBvZiBpdCwKYW5kIGl0J3MgdXBkYXRlZCBoZXJlIHRvIHBy
b3Blcmx5IHNpZ25hbCB3aGljaCB2Q1BVIHBhZ2UtdGFibGVzIGFyZSBsb2Fk
ZWQKaW4gdGhlIGNhbGxzIHRvIHN3aXRjaF9jcjNfY3I0KCkuCgpOb3RlIHRo
ZSBFRkkgcGFnZS10YWJsZXMgaGF2ZSB0aGUgWGVuIG93bmVkIEw0IHNsb3Rz
IGNvcGllZCBmcm9tIHRoZSBpZGxlCnBhZ2UtdGFibGVzLCBzbyBmb3IgdGhl
IGVmZmVjdHMgb2YgdGhlIG1hcGNhY2hlIHRoZSBFRkkgcGFnZS10YWJsZXMg
Y291bGQKdXNlIHRoZSBpZGxlIG1hcGNhY2hlIGlmIGl0IGhhZCBvbmUuICBQ
YXNzIHRoZSBpZGxlIHZDUFUgaW4gdGhlCnN3aXRjaF9jcjNfY3I0KCkgY2Fs
bCB0aGF0IHN3aXRjaGVzIHRvIHRoZSBydW50aW1lIEVGSSBwYWdlLXRhYmxl
cy4KClRoZXJlIGFyZSBrbm93biBpc3N1ZXMgd2l0aCB0aGUgdXNlIG9mIG1h
cGNhY2hlIGluIE5NSSBjb250ZXh0LsKgIFRoaXMgcGF0Y2gKZG9lcyBub3Qg
YWx0ZXIgdGhlIGJlaGF2aW91ci4KClRoaXMgaXMgQ1ZFLTIwMjYtNDI0ODgg
LyBYU0EtNDk0LgoKRml4ZXM6IGZiMGZmNDlmZTlmNyAoIng4Ni9zaGFkb3c6
IGRlZmVyIHJlbGVhc2luZyBvZiBQVidzIHRvcC1sZXZlbCBzaGFkb3cgcmVm
ZXJlbmNlIikKU2lnbmVkLW9mZi1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9n
ZXIucGF1QGNpdHJpeC5jb20+CkFja2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxh
bmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9k
b21haW5fcGFnZS5jICAgICAgICAgICB8IDQ4ICsrKysrKysrKysrKy0tLS0t
LS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jICAgICAgICAg
ICAgICB8ICA1ICsrLQogeGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2RvbWFp
bi5oICAgIHwgIDEgLQogeGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2ZsdXNo
dGxiLmggIHwgIDIgKy0KIHhlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wcm9j
ZXNzb3IuaCB8ICAzICsrCiB4ZW4vYXJjaC94ODYvbW0uYyAgICAgICAgICAg
ICAgICAgICAgfCAgNCArLS0KIHhlbi9hcmNoL3g4Ni9wdi9kb20wX2J1aWxk
LmMgICAgICAgICB8IDEyICsrKy0tLS0KIHhlbi9hcmNoL3g4Ni9wdi9kb21h
aW4uYyAgICAgICAgICAgICB8IDEzICsrKysrKy0tCiB4ZW4vYXJjaC94ODYv
c21wYm9vdC5jICAgICAgICAgICAgICAgfCAgMSArCiB4ZW4vY29tbW9uL2Vm
aS9jb21tb24tc3R1Yi5jICAgICAgICAgfCAgNSAtLS0KIHhlbi9jb21tb24v
ZWZpL3J1bnRpbWUuYyAgICAgICAgICAgICB8IDIxICsrKysrLS0tLS0tLQog
eGVuL2luY2x1ZGUveGVuL2VmaS5oICAgICAgICAgICAgICAgIHwgIDEgLQog
MTIgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgNjIgZGVsZXRp
b25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbWFpbl9wYWdl
LmMgYi94ZW4vYXJjaC94ODYvZG9tYWluX3BhZ2UuYwppbmRleCBlYWM1ZTMz
MDRmYjguLjcyYzAwMTk0ZjMxNSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2
L2RvbWFpbl9wYWdlLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWFpbl9wYWdl
LmMKQEAgLTE4LDQ4ICsxOCw0MCBAQAogI2luY2x1ZGUgPGFzbS9oYXJkaXJx
Lmg+CiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CiAKLXN0YXRpYyBERUZJTkVf
UEVSX0NQVShzdHJ1Y3QgdmNwdSAqLCBvdmVycmlkZSk7Ci0KIHN0YXRpYyBp
bmxpbmUgc3RydWN0IHZjcHUgKm1hcGNhY2hlX2N1cnJlbnRfdmNwdSh2b2lk
KQogewotICAgIC8qIEluIHRoZSBjb21tb24gY2FzZSB3ZSB1c2UgdGhlIG1h
cGNhY2hlIG9mIHRoZSBydW5uaW5nIFZDUFUuICovCi0gICAgc3RydWN0IHZj
cHUgKnYgPSB0aGlzX2NwdShvdmVycmlkZSkgPzogY3VycmVudDsKLQotICAg
IC8qCi0gICAgICogV2hlbiBjdXJyZW50IGlzbid0IHByb3Blcmx5IHNldCB1
cCB5ZXQsIHRoaXMgaXMgZXF1aXZhbGVudCB0bwotICAgICAqIHJ1bm5pbmcg
aW4gYW4gaWRsZSB2Q1BVIChjYWxsZXJzIG11c3QgY2hlY2sgZm9yIE5VTEwp
LgotICAgICAqLwotICAgIGlmICggIXYgKQotICAgICAgICByZXR1cm4gTlVM
TDsKKyAgICBzdHJ1Y3QgdmNwdSAqdiA9IHRoaXNfY3B1KHBndGFibGVfdmNw
dSk7CisgICAgc3RydWN0IHZjcHUgKmN1cnIgPSBjdXJyZW50OwogCiAgICAg
LyoKLSAgICAgKiBXaGVuIHVzaW5nIGVmaSBydW50aW1lIHBhZ2UgdGFibGVz
LCB3ZSBoYXZlIHRoZSBlcXVpdmFsZW50IG9mIHRoZSBpZGxlCi0gICAgICog
ZG9tYWluJ3MgcGFnZSB0YWJsZXMgYnV0IGN1cnJlbnQgbWF5IHBvaW50IGF0
IGFub3RoZXIgZG9tYWluJ3MgVkNQVS4KLSAgICAgKiBSZXR1cm4gTlVMTCBh
cyB0aG91Z2ggY3VycmVudCBpcyBub3QgcHJvcGVybHkgc2V0IHVwIHlldC4K
KyAgICAgKiBEdXJpbmcgZWFybHkgYm9vdCBwZ3RhYmxlX3ZjcHUgaXMgbm90
IHNldCwgY2FsbGVycyBtdXN0IGhhbmRsZSBOVUxMLgorICAgICAqIE5vbi1Q
ViBkb21haW5zIGRvbid0IGhhdmUgYSBtYXBjYWNoZSwgdGhlIGRpcmVjdG1h
cCBjb3ZlcnMgYWxsIHBoeXNpY2FsCisgICAgICogYWRkcmVzcyBzcGFjZS4K
ICAgICAgKi8KLSAgICBpZiAoIGVmaV9yc191c2luZ19wZ3RhYmxlcygpICkK
KyAgICBpZiAoICF2IHx8ICFpc19wdl92Y3B1KHYpICkKICAgICAgICAgcmV0
dXJuIE5VTEw7CiAKICAgICAvKgotICAgICAqIElmIGd1ZXN0X3RhYmxlIGlz
IE5VTEwsIGFuZCB3ZSBhcmUgcnVubmluZyBhIHBhcmF2aXJ0dWFsaXNlZCBn
dWVzdCwKLSAgICAgKiB0aGVuIGl0IG1lYW5zIHdlIGFyZSBydW5uaW5nIG9u
IHRoZSBpZGxlIGRvbWFpbidzIHBhZ2UgdGFibGUgYW5kIG11c3QKLSAgICAg
KiB0aGVyZWZvcmUgdXNlIGl0cyBtYXBjYWNoZS4KKyAgICAgKiBJZiB3ZSBh
cmUgaW4gYSBsYXp5IGNvbnRleHQtc3dpdGNoIHN0YXRlIGZyb20gYSBQViB2
Q1BVIGRvIGEgZnVsbCBzd2l0Y2gKKyAgICAgKiB0byB0aGUgaWRsZSB2Q1BV
IG5vdywgb3RoZXJ3aXNlIGFuIGluY29taW5nIEZMVVNIX1ZDUFVfU1RBVEUg
SVBJIHdvdWxkCisgICAgICogY2hhbmdlIHRoZSBwYWdlIHRhYmxlcyB1bmRl
ciBvdXIgZmVldCBhbiBpbnZhbGlkYXRlIGFueSBpbi11c2UgbWFwY2FjaGUK
KyAgICAgKiBlbnRyaWVzLgogICAgICAqLwotICAgIGlmICggdW5saWtlbHko
cGFnZXRhYmxlX2lzX251bGwodi0+YXJjaC5ndWVzdF90YWJsZSkpICYmIGlz
X3B2X3ZjcHUodikgKQorICAgIGlmICggdW5saWtlbHkodGhpc19jcHUoY3Vy
cl92Y3B1KSAhPSBjdXJyKSApCiAgICAgewotICAgICAgICAvKiBJZiB3ZSBy
ZWFsbHkgYXJlIGlkbGluZywgcGVyZm9ybSBsYXp5IGNvbnRleHQgc3dpdGNo
IG5vdy4gKi8KLSAgICAgICAgaWYgKCAodiA9IGlkbGVfdmNwdVtzbXBfcHJv
Y2Vzc29yX2lkKCldKSA9PSBjdXJyZW50ICkKLSAgICAgICAgICAgIHN5bmNf
bG9jYWxfZXhlY3N0YXRlKCk7CisgICAgICAgIEFTU0VSVChjdXJyID09IGlk
bGVfdmNwdVtzbXBfcHJvY2Vzc29yX2lkKCldKTsKKyAgICAgICAgc3luY19s
b2NhbF9leGVjc3RhdGUoKTsKICAgICAgICAgLyogV2UgbXVzdCBub3cgYmUg
cnVubmluZyBvbiB0aGUgaWRsZSBwYWdlIHRhYmxlLiAqLwogICAgICAgICBB
U1NFUlQoY3IzX3BhKHJlYWRfY3IzKCkpID09IF9fcGEoaWRsZV9wZ190YWJs
ZSkpOwogICAgIH0KIAotICAgIHJldHVybiB2OwotfQotCi12b2lkIF9faW5p
dCBtYXBjYWNoZV9vdmVycmlkZV9jdXJyZW50KHN0cnVjdCB2Y3B1ICp2KQot
ewotICAgIHRoaXNfY3B1KG92ZXJyaWRlKSA9IHY7CisgICAgLyoKKyAgICAg
KiBBdCB0aGlzIHBvaW50IHdlIGNhbiBndWFyYW50ZWUgWGVuIGlzIG5vdCBp
biBsYXp5IGNvbnRleHQgc3dpdGNoOiBlaXRoZXIKKyAgICAgKiB0aGUgY29k
ZSBhYm92ZSB3aWxsIGhhdmUgc3luY2VkIHRoZSBzdGF0ZSwgb3IgYW4gaW5j
b21pbmcKKyAgICAgKiBGTFVTSF9WQ1BVX1NUQVRFIElQSSBoYXMgZG9uZSBz
byBiZWhpbmQgb3VyIGJhY2suICBVc2UgQUNDRVNTX09OQ0UgdG8KKyAgICAg
KiBlbnN1cmUgdGhlIGNvbXBpbGVyIG5ldmVyIHJldHVybnMgdGhlIGxvY2Fs
bHkgY2FjaGVkIHBndGFibGVfdmNwdSB2YWx1ZS4KKyAgICAgKi8KKyAgICBy
ZXR1cm4gQUNDRVNTX09OQ0UodGhpc19jcHUocGd0YWJsZV92Y3B1KSk7CiB9
CiAKICNkZWZpbmUgbWFwY2FjaGVfbDJfZW50cnkoZSkgKChlKSA+PiBQQUdF
VEFCTEVfT1JERVIpCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZmx1c2h0
bGIuYyBiL3hlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jCmluZGV4IDY1YmUwNDc0
YThlYS4uMTZmMWZhYjVjNWU2IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv
Zmx1c2h0bGIuYworKysgYi94ZW4vYXJjaC94ODYvZmx1c2h0bGIuYwpAQCAt
MTExLDcgKzExMSw5IEBAIHN0YXRpYyB2b2lkIGRvX3RsYl9mbHVzaCh2b2lk
KQogICAgIGxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIH0KIAotdm9pZCBz
d2l0Y2hfY3IzX2NyNCh1bnNpZ25lZCBsb25nIGNyMywgdW5zaWduZWQgbG9u
ZyBjcjQpCitERUZJTkVfUEVSX0NQVShzdHJ1Y3QgdmNwdSAqLCBwZ3RhYmxl
X3ZjcHUpOworCit2b2lkIHN3aXRjaF9jcjNfY3I0KHN0cnVjdCB2Y3B1ICp2
LCB1bnNpZ25lZCBsb25nIGNyMywgdW5zaWduZWQgbG9uZyBjcjQpCiB7CiAg
ICAgdW5zaWduZWQgbG9uZyBmbGFncywgb2xkX2NyNDsKICAgICB1MzIgdCA9
IDA7CkBAIC0xNTUsNiArMTU3LDcgQEAgdm9pZCBzd2l0Y2hfY3IzX2NyNCh1
bnNpZ25lZCBsb25nIGNyMywgdW5zaWduZWQgbG9uZyBjcjQpCiAgICAgaWYg
KCAob2xkX2NyNCAmIFg4Nl9DUjRfUENJREUpID4gKGNyNCAmIFg4Nl9DUjRf
UENJREUpICkKICAgICAgICAgY3IzIHw9IFg4Nl9DUjNfTk9GTFVTSDsKICAg
ICB3cml0ZV9jcjMoY3IzKTsKKyAgICB0aGlzX2NwdShwZ3RhYmxlX3ZjcHUp
ID0gdjsKIAogICAgIGlmICggb2xkX2NyNCAhPSBjcjQgKQogICAgICAgICB3
cml0ZV9jcjQoY3I0KTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9pbmNs
dWRlL2FzbS9kb21haW4uaCBiL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9k
b21haW4uaAppbmRleCBiNzlkNmJhZGQ3MWMuLmYwMzcwYmM3YmIxMiAxMDA2
NDQKLS0tIGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2RvbWFpbi5oCisr
KyBiL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9kb21haW4uaApAQCAtNzUs
NyArNzUsNiBAQCBzdHJ1Y3QgbWFwY2FjaGVfZG9tYWluIHsKIAogaW50IG1h
cGNhY2hlX2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQpOwogaW50IG1h
cGNhY2hlX3ZjcHVfaW5pdChzdHJ1Y3QgdmNwdSAqdik7Ci12b2lkIG1hcGNh
Y2hlX292ZXJyaWRlX2N1cnJlbnQoc3RydWN0IHZjcHUgKnYpOwogCiAvKiB4
ODYvNjQ6IHRvZ2dsZSBndWVzdCBiZXR3ZWVuIGtlcm5lbCBhbmQgdXNlciBt
b2Rlcy4gKi8KIHZvaWQgdG9nZ2xlX2d1ZXN0X21vZGUoc3RydWN0IHZjcHUg
KnYpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2Zs
dXNodGxiLmggYi94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vZmx1c2h0bGIu
aAppbmRleCBiYjBhZDU4ZGI0OWIuLjc1ZTI5MWQ5M2JmNiAxMDA2NDQKLS0t
IGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2ZsdXNodGxiLmgKKysrIGIv
eGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2ZsdXNodGxiLmgKQEAgLTk5LDcg
Kzk5LDcgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHJlYWRfY3Iz
KHZvaWQpCiB9CiAKIC8qIFdyaXRlIHBhZ2V0YWJsZSBiYXNlIGFuZCBpbXBs
aWNpdGx5IHRpY2sgdGhlIHRsYmZsdXNoIGNsb2NrLiAqLwotdm9pZCBzd2l0
Y2hfY3IzX2NyNCh1bnNpZ25lZCBsb25nIGNyMywgdW5zaWduZWQgbG9uZyBj
cjQpOwordm9pZCBzd2l0Y2hfY3IzX2NyNChzdHJ1Y3QgdmNwdSAqdiwgdW5z
aWduZWQgbG9uZyBjcjMsIHVuc2lnbmVkIGxvbmcgY3I0KTsKIAogLyogZmx1
c2hfKiBmbGFnIGZpZWxkczogKi8KICAvKgpkaWZmIC0tZ2l0IGEveGVuL2Fy
Y2gveDg2L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oIGIveGVuL2FyY2gveDg2
L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oCmluZGV4IDk4NzM0ZjRkM2ZmMy4u
NGI1MmQ2OGE2Zjg3IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaW5jbHVk
ZS9hc20vcHJvY2Vzc29yLmgKKysrIGIveGVuL2FyY2gveDg2L2luY2x1ZGUv
YXNtL3Byb2Nlc3Nvci5oCkBAIC0zNzUsNiArMzc1LDkgQEAgZXh0ZXJuIGlk
dF9lbnRyeV90ICppZHRfdGFibGVzW107CiAKIERFQ0xBUkVfUEVSX0NQVShy
b290X3BnZW50cnlfdCAqLCByb290X3BndCk7CiAKKy8qIHZDUFUgb2YgdGhl
IGN1cnJlbnRseSBsb2FkZWQgcGFnZS10YWJsZXMuICovCitERUNMQVJFX1BF
Ul9DUFUoc3RydWN0IHZjcHUgKiwgcGd0YWJsZV92Y3B1KTsKKwogZXh0ZXJu
IHZvaWQgd3JpdGVfcHRiYXNlKHN0cnVjdCB2Y3B1ICp2KTsKIAogLyogUkVQ
IE5PUCAoUEFVU0UpIGlzIGEgZ29vZCB0aGluZyB0byBpbnNlcnQgaW50byBi
dXN5LXdhaXQgbG9vcHMuICovCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv
bW0uYyBiL3hlbi9hcmNoL3g4Ni9tbS5jCmluZGV4IDM0MzBiMTNkY2QyYy4u
MjM0OTY0MDdmMmI5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0uYwor
KysgYi94ZW4vYXJjaC94ODYvbW0uYwpAQCAtNTQyLDcgKzU0Miw3IEBAIHZv
aWQgd3JpdGVfcHRiYXNlKHN0cnVjdCB2Y3B1ICp2KQogICAgICAgICBjcHVf
aW5mby0+cHZfY3IzID0gX19wYSh0aGlzX2NwdShyb290X3BndCkpOwogICAg
ICAgICBpZiAoIG5ld19jcjQgJiBYODZfQ1I0X1BDSURFICkKICAgICAgICAg
ICAgIGNwdV9pbmZvLT5wdl9jcjMgfD0gZ2V0X3BjaWRfYml0cyh2LCB0cnVl
KTsKLSAgICAgICAgc3dpdGNoX2NyM19jcjQodi0+YXJjaC5jcjMsIG5ld19j
cjQpOworICAgICAgICBzd2l0Y2hfY3IzX2NyNCh2LCB2LT5hcmNoLmNyMywg
bmV3X2NyNCk7CiAgICAgfQogICAgIGVsc2UKICAgICB7CkBAIC01NTAsNyAr
NTUwLDcgQEAgdm9pZCB3cml0ZV9wdGJhc2Uoc3RydWN0IHZjcHUgKnYpCiAg
ICAgICAgIGNwdV9pbmZvLT51c2VfcHZfY3IzID0gZmFsc2U7CiAgICAgICAg
IGNwdV9pbmZvLT54ZW5fY3IzID0gMDsKICAgICAgICAgLyogc3dpdGNoX2Ny
M19jcjQoKSBzZXJpYWxpemVzLiAqLwotICAgICAgICBzd2l0Y2hfY3IzX2Ny
NCh2LT5hcmNoLmNyMywgbmV3X2NyNCk7CisgICAgICAgIHN3aXRjaF9jcjNf
Y3I0KHYsIHYtPmFyY2guY3IzLCBuZXdfY3I0KTsKICAgICAgICAgY3B1X2lu
Zm8tPnB2X2NyMyA9IDA7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEveGVuL2Fy
Y2gveDg2L3B2L2RvbTBfYnVpbGQuYyBiL3hlbi9hcmNoL3g4Ni9wdi9kb20w
X2J1aWxkLmMKaW5kZXggNWJjNTliNDhhNWE4Li43Y2U4MmYxOTliM2YgMTAw
NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wdi9kb20wX2J1aWxkLmMKKysrIGIv
eGVuL2FyY2gveDg2L3B2L2RvbTBfYnVpbGQuYwpAQCAtODM2LDggKzgzNiw3
IEBAIHN0YXRpYyBpbnQgX19pbml0IGRvbTBfY29uc3RydWN0KHN0cnVjdCBi
b290X2luZm8gKmJpLCBzdHJ1Y3QgZG9tYWluICpkKQogICAgIHVwZGF0ZV9j
cjModik7CiAKICAgICAvKiBXZSBydW4gb24gZG9tMCdzIHBhZ2UgdGFibGVz
IGZvciB0aGUgZmluYWwgcGFydCBvZiB0aGUgYnVpbGQgcHJvY2Vzcy4gKi8K
LSAgICBzd2l0Y2hfY3IzX2NyNChjcjNfcGEodi0+YXJjaC5jcjMpLCByZWFk
X2NyNCgpKTsKLSAgICBtYXBjYWNoZV9vdmVycmlkZV9jdXJyZW50KHYpOwor
ICAgIHN3aXRjaF9jcjNfY3I0KHYsIGNyM19wYSh2LT5hcmNoLmNyMyksIHJl
YWRfY3I0KCkpOwogCiAgICAgLyogQ29weSB0aGUgT1MgaW1hZ2UgYW5kIGZy
ZWUgdGVtcG9yYXJ5IGJ1ZmZlci4gKi8KICAgICBlbGYuZGVzdF9iYXNlID0g
KHZvaWQqKXZrZXJuX3N0YXJ0OwpAQCAtODQ2LDggKzg0NSw3IEBAIHN0YXRp
YyBpbnQgX19pbml0IGRvbTBfY29uc3RydWN0KHN0cnVjdCBib290X2luZm8g
KmJpLCBzdHJ1Y3QgZG9tYWluICpkKQogICAgIHJjID0gZWxmX2xvYWRfYmlu
YXJ5KCZlbGYpOwogICAgIGlmICggcmMgPCAwICkKICAgICB7Ci0gICAgICAg
IG1hcGNhY2hlX292ZXJyaWRlX2N1cnJlbnQoTlVMTCk7Ci0gICAgICAgIHN3
aXRjaF9jcjNfY3I0KGN1cnJlbnQtPmFyY2guY3IzLCByZWFkX2NyNCgpKTsK
KyAgICAgICAgc3dpdGNoX2NyM19jcjQoY3VycmVudCwgY3VycmVudC0+YXJj
aC5jcjMsIHJlYWRfY3I0KCkpOwogICAgICAgICBwcmludGsoIkZhaWxlZCB0
byBsb2FkIHRoZSBrZXJuZWwgYmluYXJ5XG4iKTsKICAgICAgICAgZ290byBv
dXQ7CiAgICAgfQpAQCAtODU4LDggKzg1Niw3IEBAIHN0YXRpYyBpbnQgX19p
bml0IGRvbTBfY29uc3RydWN0KHN0cnVjdCBib290X2luZm8gKmJpLCBzdHJ1
Y3QgZG9tYWluICpkKQogICAgICAgICBpZiAoIChwYXJtcy52aXJ0X2h5cGVy
Y2FsbCA8IHZfc3RhcnQpIHx8CiAgICAgICAgICAgICAgKHBhcm1zLnZpcnRf
aHlwZXJjYWxsID49IHZfZW5kKSApCiAgICAgICAgIHsKLSAgICAgICAgICAg
IG1hcGNhY2hlX292ZXJyaWRlX2N1cnJlbnQoTlVMTCk7Ci0gICAgICAgICAg
ICBzd2l0Y2hfY3IzX2NyNChjdXJyZW50LT5hcmNoLmNyMywgcmVhZF9jcjQo
KSk7CisgICAgICAgICAgICBzd2l0Y2hfY3IzX2NyNChjdXJyZW50LCBjdXJy
ZW50LT5hcmNoLmNyMywgcmVhZF9jcjQoKSk7CiAgICAgICAgICAgICBwcmlu
dGsoIkludmFsaWQgSFlQRVJDQUxMX1BBR0UgZmllbGQgaW4gRUxGIG5vdGVz
LlxuIik7CiAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKICAgICAgICAg
fQpAQCAtMTAwMCw4ICs5OTcsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBkb20w
X2NvbnN0cnVjdChzdHJ1Y3QgYm9vdF9pbmZvICpiaSwgc3RydWN0IGRvbWFp
biAqZCkKICNlbmRpZgogCiAgICAgLyogUmV0dXJuIHRvIGlkbGUgZG9tYWlu
J3MgcGFnZSB0YWJsZXMuICovCi0gICAgbWFwY2FjaGVfb3ZlcnJpZGVfY3Vy
cmVudChOVUxMKTsKLSAgICBzd2l0Y2hfY3IzX2NyNChjdXJyZW50LT5hcmNo
LmNyMywgcmVhZF9jcjQoKSk7CisgICAgc3dpdGNoX2NyM19jcjQoY3VycmVu
dCwgY3VycmVudC0+YXJjaC5jcjMsIHJlYWRfY3I0KCkpOwogCiAgICAgdXBk
YXRlX2RvbWFpbl93YWxsY2xvY2tfdGltZShkKTsKIApkaWZmIC0tZ2l0IGEv
eGVuL2FyY2gveDg2L3B2L2RvbWFpbi5jIGIveGVuL2FyY2gveDg2L3B2L2Rv
bWFpbi5jCmluZGV4IDc0NWMxZGJiMjE3YS4uMGY0NWNjYWZjMjY4IDEwMDY0
NAotLS0gYS94ZW4vYXJjaC94ODYvcHYvZG9tYWluLmMKKysrIGIveGVuL2Fy
Y2gveDg2L3B2L2RvbWFpbi5jCkBAIC00NDksNiArNDQ5LDggQEAgc3RhdGlj
IHZvaWQgX3RvZ2dsZV9ndWVzdF9wdChzdHJ1Y3QgdmNwdSAqdikKICAgICBw
YWdldGFibGVfdCBvbGRfc2hhZG93OwogICAgIHVuc2lnbmVkIGxvbmcgY3Iz
OwogCisgICAgQVNTRVJUKGxvY2FsX2lycV9pc19lbmFibGVkKCkpOworCiAg
ICAgdi0+YXJjaC5mbGFncyBePSBURl9rZXJuZWxfbW9kZTsKICAgICBndWVz
dF91cGRhdGUgPSB2LT5hcmNoLmZsYWdzICYgVEZfa2VybmVsX21vZGU7CiAg
ICAgb2xkX3NoYWRvdyA9IHVwZGF0ZV9jcjModik7CkBAIC00NzEsMTUgKzQ3
MywyMiBAQCBzdGF0aWMgdm9pZCBfdG9nZ2xlX2d1ZXN0X3B0KHN0cnVjdCB2
Y3B1ICp2KQogICAgIHsKICAgICAgICAgY3IzICY9IH5YODZfQ1IzX05PRkxV
U0g7CiAKKyAgICAgICAgbG9jYWxfaXJxX2Rpc2FibGUoKTsKICAgICAgICAg
aWYgKCB1bmxpa2VseShtZm5fZXEocGFnZXRhYmxlX2dldF9tZm4ob2xkX3No
YWRvdyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZGRyX3Rv
X21mbihjcjMpKSkgKQogICAgICAgICB7Ci0gICAgICAgICAgICBjcjMgPSBp
ZGxlX3ZjcHVbdi0+cHJvY2Vzc29yXS0+YXJjaC5jcjM7CiAgICAgICAgICAg
ICAvKiBBbHNvIHN1cHByZXNzIHJ1bnN0YXRlL3RpbWUgYXJlYSB1cGRhdGVz
IGJlbG93LiAqLwogICAgICAgICAgICAgZ3Vlc3RfdXBkYXRlID0gZmFsc2U7
CisKKyAgICAgICAgICAgIGNyMyA9IGlkbGVfdmNwdVt2LT5wcm9jZXNzb3Jd
LT5hcmNoLmNyMzsKKyAgICAgICAgICAgIHRoaXNfY3B1KHBndGFibGVfdmNw
dSkgPSBpZGxlX3ZjcHVbdi0+cHJvY2Vzc29yXTsKICAgICAgICAgfQorCisg
ICAgICAgIHdyaXRlX2NyMyhjcjMpOworICAgICAgICBsb2NhbF9pcnFfZW5h
YmxlKCk7CiAgICAgfQotICAgIHdyaXRlX2NyMyhjcjMpOworICAgIGVsc2UK
KyAgICAgICAgd3JpdGVfY3IzKGNyMyk7CiAKICAgICBpZiAoICFwYWdldGFi
bGVfaXNfbnVsbChvbGRfc2hhZG93KSApCiAgICAgICAgIHNoYWRvd19wdXRf
dG9wX2xldmVsKHYtPmRvbWFpbiwgb2xkX3NoYWRvdyk7CmRpZmYgLS1naXQg
YS94ZW4vYXJjaC94ODYvc21wYm9vdC5jIGIveGVuL2FyY2gveDg2L3NtcGJv
b3QuYwppbmRleCA4NzQyZTMwNTYxNDEuLmZjMDc2MTE1MGZmZSAxMDA2NDQK
LS0tIGEveGVuL2FyY2gveDg2L3NtcGJvb3QuYworKysgYi94ZW4vYXJjaC94
ODYvc21wYm9vdC5jCkBAIC0zMzAsNiArMzMwLDcgQEAgdm9pZCBhc21saW5r
YWdlIHN0YXJ0X3NlY29uZGFyeSh2b2lkICp1bnVzZWQpCiAKICAgICBzZXRf
Y3VycmVudChpZGxlX3ZjcHVbY3B1XSk7CiAgICAgdGhpc19jcHUoY3Vycl92
Y3B1KSA9IGlkbGVfdmNwdVtjcHVdOworICAgIHRoaXNfY3B1KHBndGFibGVf
dmNwdSkgPSBpZGxlX3ZjcHVbY3B1XTsKICAgICByZG1zcmwoTVNSX0VGRVIs
IHRoaXNfY3B1KGVmZXIpKTsKICAgICBpbml0X3NoYWRvd19zcGVjX2N0cmxf
c3RhdGUoKTsKIApkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9lZmkvY29tbW9u
LXN0dWIuYyBiL3hlbi9jb21tb24vZWZpL2NvbW1vbi1zdHViLmMKaW5kZXgg
NzdmMTM4YTZjNTc0Li43YjEyMDA1YmVhM2YgMTAwNjQ0Ci0tLSBhL3hlbi9j
b21tb24vZWZpL2NvbW1vbi1zdHViLmMKKysrIGIveGVuL2NvbW1vbi9lZmkv
Y29tbW9uLXN0dWIuYwpAQCAtNywxMSArNyw2IEBAIGJvb2wgZWZpX2VuYWJs
ZWQodW5zaWduZWQgaW50IGZlYXR1cmUpCiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCi1ib29sIGVmaV9yc191c2luZ19wZ3RhYmxlcyh2b2lkKQotewotICAg
IHJldHVybiBmYWxzZTsKLX0KLQogdW5zaWduZWQgbG9uZyBlZmlfZ2V0X3Rp
bWUodm9pZCkKIHsKICAgICBCVUcoKTsKZGlmZiAtLWdpdCBhL3hlbi9jb21t
b24vZWZpL3J1bnRpbWUuYyBiL3hlbi9jb21tb24vZWZpL3J1bnRpbWUuYwpp
bmRleCA3ZTFmY2UyOTFkOTIuLmFmN2Y5NmZiN2RkMCAxMDA2NDQKLS0tIGEv
eGVuL2NvbW1vbi9lZmkvcnVudGltZS5jCisrKyBiL3hlbi9jb21tb24vZWZp
L3J1bnRpbWUuYwpAQCAtNDcsNyArNDcsNiBAQCBjb25zdCBDSEFSMTYgKl9f
cmVhZF9tb3N0bHkgZWZpX2Z3X3ZlbmRvcjsKIGNvbnN0IEVGSV9SVU5USU1F
X1NFUlZJQ0VTICpfX3JlYWRfbW9zdGx5IGVmaV9yczsKICNpZm5kZWYgQ09O
RklHX0FSTSAvKiBUT0RPIC0gZGlzYWJsZWQgdW50aWwgaW1wbGVtZW50ZWQg
b24gQVJNICovCiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGVmaV9yc19sb2Nr
KTsKLXN0YXRpYyB1bnNpZ25lZCBpbnQgZWZpX3JzX29uX2NwdSA9IE5SX0NQ
VVM7CiAjZW5kaWYKIAogVUlOVE4gX19yZWFkX21vc3RseSBlZmlfbWVtbWFw
X3NpemU7CkBAIC05MCw2ICs4OSwxMSBAQCBzdHJ1Y3QgZWZpX3JzX3N0YXRl
IGVmaV9yc19lbnRlcih2b2lkKQogICAgIGlmICggbWZuX2VxKGVmaV9sNF9t
Zm4sIElOVkFMSURfTUZOKSApCiAgICAgICAgIHJldHVybiBzdGF0ZTsKIAor
ICAgIC8qCisgICAgICogSWYgaW4gbGF6eSBpZGxlIGNvbnRleHQgc3dpdGNo
IHN0YXRlIHN5bmMgbm93IHRvIGF2b2lkIGFuIGluY29taW5nCisgICAgICog
RkxVU0hfVkNQVV9TVEFURSBJUEkgY2hhbmdpbmcgdGhlIGxvYWRlZCBwYWdl
LXRhYmxlcy4KKyAgICAgKi8KKyAgICBzeW5jX2xvY2FsX2V4ZWNzdGF0ZSgp
OwogICAgIHN0YXRlLmNyMyA9IHJlYWRfY3IzKCk7CiAgICAgc2F2ZV9mcHVf
ZW5hYmxlKCk7CiAgICAgYXNtIHZvbGF0aWxlICggImZuY2xleDsgZmxkY3cg
JTAiIDo6ICJtIiAoZmN3KSApOwpAQCAtOTcsOCArMTAxLDYgQEAgc3RydWN0
IGVmaV9yc19zdGF0ZSBlZmlfcnNfZW50ZXIodm9pZCkKIAogICAgIHNwaW5f
bG9jaygmZWZpX3JzX2xvY2spOwogCi0gICAgZWZpX3JzX29uX2NwdSA9IHNt
cF9wcm9jZXNzb3JfaWQoKTsKLQogICAgIC8qIHByZXZlbnQgZml4dXBfcGFn
ZV9mYXVsdCgpIGZyb20gZG9pbmcgYW55dGhpbmcgKi8KICAgICBpcnFfZW50
ZXIoKTsKIApAQCAtMTEzLDcgKzExNSw4IEBAIHN0cnVjdCBlZmlfcnNfc3Rh
dGUgZWZpX3JzX2VudGVyKHZvaWQpCiAgICAgICAgIGxnZHQoJmdkdF9kZXNj
KTsKICAgICB9CiAKLSAgICBzd2l0Y2hfY3IzX2NyNChtZm5fdG9fbWFkZHIo
ZWZpX2w0X21mbiksIHJlYWRfY3I0KCkpOworICAgIHN3aXRjaF9jcjNfY3I0
KGlkbGVfdmNwdVtzbXBfcHJvY2Vzc29yX2lkKCldLCBtZm5fdG9fbWFkZHIo
ZWZpX2w0X21mbiksCisgICAgICAgICAgICAgICAgICAgcmVhZF9jcjQoKSk7
CiAKICAgICAvKgogICAgICAqIEF0IHRoZSB0aW1lIG9mIHdyaXRpbmcgKDIw
MjIpLCBubyBVRUZJIGZpcndtYXJlIGlzIENFVC1JQlQgY29tcGF0aWJsZS4K
QEAgLTE0MSw3ICsxNDQsNyBAQCB2b2lkIGVmaV9yc19sZWF2ZShzdHJ1Y3Qg
ZWZpX3JzX3N0YXRlICpzdGF0ZSkKICAgICBpZiAoIHN0YXRlLT5tc3Jfc19j
ZXQgKQogICAgICAgICB3cm1zcmwoTVNSX1NfQ0VULCBzdGF0ZS0+bXNyX3Nf
Y2V0KTsKIAotICAgIHN3aXRjaF9jcjNfY3I0KHN0YXRlLT5jcjMsIHJlYWRf
Y3I0KCkpOworICAgIHN3aXRjaF9jcjNfY3I0KGN1cnIsIHN0YXRlLT5jcjMs
IHJlYWRfY3I0KCkpOwogICAgIGlmICggaXNfcHZfdmNwdShjdXJyKSAmJiAh
aXNfaWRsZV92Y3B1KGN1cnIpICkKICAgICB7CiAgICAgICAgIHN0cnVjdCBk
ZXNjX3B0ciBnZHRfZGVzYyA9IHsKQEAgLTE1MiwxOCArMTU1LDEwIEBAIHZv
aWQgZWZpX3JzX2xlYXZlKHN0cnVjdCBlZmlfcnNfc3RhdGUgKnN0YXRlKQog
ICAgICAgICBsZ2R0KCZnZHRfZGVzYyk7CiAgICAgfQogICAgIGlycV9leGl0
KCk7Ci0gICAgZWZpX3JzX29uX2NwdSA9IE5SX0NQVVM7CiAgICAgc3Bpbl91
bmxvY2soJmVmaV9yc19sb2NrKTsKICAgICB2Y3B1X3Jlc3RvcmVfZnB1X25v
bmxhenkoY3VyciwgdHJ1ZSk7CiB9CiAKLWJvb2wgZWZpX3JzX3VzaW5nX3Bn
dGFibGVzKHZvaWQpCi17Ci0gICAgcmV0dXJuICFtZm5fZXEoZWZpX2w0X21m
biwgSU5WQUxJRF9NRk4pICYmCi0gICAgICAgICAgIChzbXBfcHJvY2Vzc29y
X2lkKCkgPT0gZWZpX3JzX29uX2NwdSkgJiYKLSAgICAgICAgICAgKHJlYWRf
Y3IzKCkgPT0gbWZuX3RvX21hZGRyKGVmaV9sNF9tZm4pKTsKLX0KLQogdW5z
aWduZWQgbG9uZyBlZmlfZ2V0X3RpbWUodm9pZCkKIHsKICAgICBFRklfVElN
RSB0aW1lOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2VmaS5oIGIv
eGVuL2luY2x1ZGUveGVuL2VmaS5oCmluZGV4IDE2MDgwNGUyOTQ0NC4uMzU2
YmUxNzA1YTU0IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vZWZpLmgK
KysrIGIveGVuL2luY2x1ZGUveGVuL2VmaS5oCkBAIC00Miw3ICs0Miw2IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBlZmlfZW5hYmxlZCh1bnNpZ25lZCBpbnQg
ZmVhdHVyZSkKIAogdm9pZCBlZmlfaW5pdF9tZW1vcnkodm9pZCk7CiBib29s
IGVmaV9ib290X21lbV91bnVzZWQodW5zaWduZWQgbG9uZyAqc3RhcnQsIHVu
c2lnbmVkIGxvbmcgKmVuZCk7Ci1ib29sIGVmaV9yc191c2luZ19wZ3RhYmxl
cyh2b2lkKTsKIHVuc2lnbmVkIGxvbmcgZWZpX2dldF90aW1lKHZvaWQpOwog
dm9pZCBlZmlfaGFsdF9zeXN0ZW0odm9pZCk7CiB2b2lkIGVmaV9yZXNldF9z
eXN0ZW0oYm9vbCB3YXJtKTsKLS0gCjIuNTMuMAoK

--=separator
Content-Type: application/octet-stream; name="xsa494-4.21.patch"
Content-Disposition: attachment; filename="xsa494-4.21.patch"
Content-Transfer-Encoding: base64

RnJvbSA1NzkwMTZhMzU5NzQxMDQ0YzkwNzZiZjA4ODRlMWRiYWIwMGFiMDgw
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2dlciBQYXUgTW9u
bmUgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpEYXRlOiBNb24sIDE2IE1hciAy
MDI2IDExOjAzOjIyICswMTAwClN1YmplY3Q6IFtQQVRDSF0geDg2L21tOiBh
Y2N1cmF0ZWx5IHRyYWNrIHdoaWNoIHZDUFUgcGFnZS10YWJsZXMgYXJlIGxv
YWRlZApNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxh
aW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog
OGJpdAoKTmVpdGhlciBjdXJyZW50IG5vciBjdXJyX3ZjcHUgcGVyLUNQVSBm
aWVsZHMgYWNjdXJhdGVseSB0cmFjayB3aGljaApwYWdlLXRhYmxlcyBhcmUg
bG9hZGVkLiAgVGhlcmUgYXJlIGNvcm5lciBjYXNlcyB3aGVuIGRlYWxpbmcg
d2l0aCBzaGFkb3cKcGFnaW5nIGZhaWx1cmVzIHRoYXQgc3dpdGNoIHRvIHRo
ZSBpZGxlIHZDUFUgcGFnZS10YWJsZXMgd2l0aG91dCBjaGFuZ2luZwpjdXJy
ZW50IG9yIGN1cnJfdmNwdSBwZXItQ1BVIGZpZWxkcy4KCkludHJvZHVjZSBh
IG5ldyBwZXItQ1BVIGZpZWxkIHRoYXQgYXR0ZW1wdHMgdG8gdHJhY2sgd2hp
Y2ggdkNQVSBwYWdlLXRhYmxlcwphcmUgbG9hZGVkLiAgVXBkYXRlIHN1Y2gg
dHJhY2tpbmcgd2hlbiBjcjMgaXMgY2hhbmdlZCwgYW5kIGRvIHNvIGluIGEK
cmVnaW9uIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCwgYXMgdG8gYXZvaWQg
aGFuZGxpbmcgaW50ZXJydXB0cyB3aXRoIGEKbWlzbWF0Y2ggYmV0d2VlbiB0
aGUgdkNQVSB0cmFja2luZyBmaWVsZCBhbmQgdGhlIGxvYWRlZCBwYWdlLXRh
Ymxlcy4KCkFzIGEgcmVzdWx0IG9mIHRoaXMgbmV3bHkgbW9yZSBhY2N1cmF0
ZSB0cmFja2luZyB0aGUgbWFwY2FjaGUgb3ZlcnJpZGUKZnVuY3Rpb25hbGl0
eSBjYW4gYmUgcmVtb3ZlZDogdGhlIGRvbTAgUFYgYnVpbGRlciB3YXMgdGhl
IG9ubHkgdXNlciBvZiBpdCwKYW5kIGl0J3MgdXBkYXRlZCBoZXJlIHRvIHBy
b3Blcmx5IHNpZ25hbCB3aGljaCB2Q1BVIHBhZ2UtdGFibGVzIGFyZSBsb2Fk
ZWQKaW4gdGhlIGNhbGxzIHRvIHN3aXRjaF9jcjNfY3I0KCkuCgpOb3RlIHRo
ZSBFRkkgcGFnZS10YWJsZXMgaGF2ZSB0aGUgWGVuIG93bmVkIEw0IHNsb3Rz
IGNvcGllZCBmcm9tIHRoZSBpZGxlCnBhZ2UtdGFibGVzLCBzbyBmb3IgdGhl
IGVmZmVjdHMgb2YgdGhlIG1hcGNhY2hlIHRoZSBFRkkgcGFnZS10YWJsZXMg
Y291bGQKdXNlIHRoZSBpZGxlIG1hcGNhY2hlIGlmIGl0IGhhZCBvbmUuICBQ
YXNzIHRoZSBpZGxlIHZDUFUgaW4gdGhlCnN3aXRjaF9jcjNfY3I0KCkgY2Fs
bCB0aGF0IHN3aXRjaGVzIHRvIHRoZSBydW50aW1lIEVGSSBwYWdlLXRhYmxl
cy4KClRoZXJlIGFyZSBrbm93biBpc3N1ZXMgd2l0aCB0aGUgdXNlIG9mIG1h
cGNhY2hlIGluIE5NSSBjb250ZXh0LsKgIFRoaXMgcGF0Y2gKZG9lcyBub3Qg
YWx0ZXIgdGhlIGJlaGF2aW91ci4KClRoaXMgaXMgQ1ZFLTIwMjYtNDI0ODgg
LyBYU0EtNDk0LgoKRml4ZXM6IGZiMGZmNDlmZTlmNyAoIng4Ni9zaGFkb3c6
IGRlZmVyIHJlbGVhc2luZyBvZiBQVidzIHRvcC1sZXZlbCBzaGFkb3cgcmVm
ZXJlbmNlIikKU2lnbmVkLW9mZi1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9n
ZXIucGF1QGNpdHJpeC5jb20+CkFja2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxh
bmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9k
b21haW5fcGFnZS5jICAgICAgICAgICB8IDQ4ICsrKysrKysrKysrKy0tLS0t
LS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jICAgICAgICAg
ICAgICB8ICA1ICsrLQogeGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2RvbWFp
bi5oICAgIHwgIDEgLQogeGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2ZsdXNo
dGxiLmggIHwgIDIgKy0KIHhlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wcm9j
ZXNzb3IuaCB8ICAzICsrCiB4ZW4vYXJjaC94ODYvbW0uYyAgICAgICAgICAg
ICAgICAgICAgfCAgNCArLS0KIHhlbi9hcmNoL3g4Ni9wdi9kb20wX2J1aWxk
LmMgICAgICAgICB8IDEyICsrKy0tLS0KIHhlbi9hcmNoL3g4Ni9wdi9kb21h
aW4uYyAgICAgICAgICAgICB8IDEzICsrKysrKy0tCiB4ZW4vYXJjaC94ODYv
c21wYm9vdC5jICAgICAgICAgICAgICAgfCAgMSArCiB4ZW4vY29tbW9uL2Vm
aS9jb21tb24tc3R1Yi5jICAgICAgICAgfCAgNSAtLS0KIHhlbi9jb21tb24v
ZWZpL3J1bnRpbWUuYyAgICAgICAgICAgICB8IDIxICsrKysrLS0tLS0tLQog
eGVuL2luY2x1ZGUveGVuL2VmaS5oICAgICAgICAgICAgICAgIHwgIDEgLQog
MTIgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgNjIgZGVsZXRp
b25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbWFpbl9wYWdl
LmMgYi94ZW4vYXJjaC94ODYvZG9tYWluX3BhZ2UuYwppbmRleCBlYWM1ZTMz
MDRmYjguLjcyYzAwMTk0ZjMxNSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2
L2RvbWFpbl9wYWdlLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWFpbl9wYWdl
LmMKQEAgLTE4LDQ4ICsxOCw0MCBAQAogI2luY2x1ZGUgPGFzbS9oYXJkaXJx
Lmg+CiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CiAKLXN0YXRpYyBERUZJTkVf
UEVSX0NQVShzdHJ1Y3QgdmNwdSAqLCBvdmVycmlkZSk7Ci0KIHN0YXRpYyBp
bmxpbmUgc3RydWN0IHZjcHUgKm1hcGNhY2hlX2N1cnJlbnRfdmNwdSh2b2lk
KQogewotICAgIC8qIEluIHRoZSBjb21tb24gY2FzZSB3ZSB1c2UgdGhlIG1h
cGNhY2hlIG9mIHRoZSBydW5uaW5nIFZDUFUuICovCi0gICAgc3RydWN0IHZj
cHUgKnYgPSB0aGlzX2NwdShvdmVycmlkZSkgPzogY3VycmVudDsKLQotICAg
IC8qCi0gICAgICogV2hlbiBjdXJyZW50IGlzbid0IHByb3Blcmx5IHNldCB1
cCB5ZXQsIHRoaXMgaXMgZXF1aXZhbGVudCB0bwotICAgICAqIHJ1bm5pbmcg
aW4gYW4gaWRsZSB2Q1BVIChjYWxsZXJzIG11c3QgY2hlY2sgZm9yIE5VTEwp
LgotICAgICAqLwotICAgIGlmICggIXYgKQotICAgICAgICByZXR1cm4gTlVM
TDsKKyAgICBzdHJ1Y3QgdmNwdSAqdiA9IHRoaXNfY3B1KHBndGFibGVfdmNw
dSk7CisgICAgc3RydWN0IHZjcHUgKmN1cnIgPSBjdXJyZW50OwogCiAgICAg
LyoKLSAgICAgKiBXaGVuIHVzaW5nIGVmaSBydW50aW1lIHBhZ2UgdGFibGVz
LCB3ZSBoYXZlIHRoZSBlcXVpdmFsZW50IG9mIHRoZSBpZGxlCi0gICAgICog
ZG9tYWluJ3MgcGFnZSB0YWJsZXMgYnV0IGN1cnJlbnQgbWF5IHBvaW50IGF0
IGFub3RoZXIgZG9tYWluJ3MgVkNQVS4KLSAgICAgKiBSZXR1cm4gTlVMTCBh
cyB0aG91Z2ggY3VycmVudCBpcyBub3QgcHJvcGVybHkgc2V0IHVwIHlldC4K
KyAgICAgKiBEdXJpbmcgZWFybHkgYm9vdCBwZ3RhYmxlX3ZjcHUgaXMgbm90
IHNldCwgY2FsbGVycyBtdXN0IGhhbmRsZSBOVUxMLgorICAgICAqIE5vbi1Q
ViBkb21haW5zIGRvbid0IGhhdmUgYSBtYXBjYWNoZSwgdGhlIGRpcmVjdG1h
cCBjb3ZlcnMgYWxsIHBoeXNpY2FsCisgICAgICogYWRkcmVzcyBzcGFjZS4K
ICAgICAgKi8KLSAgICBpZiAoIGVmaV9yc191c2luZ19wZ3RhYmxlcygpICkK
KyAgICBpZiAoICF2IHx8ICFpc19wdl92Y3B1KHYpICkKICAgICAgICAgcmV0
dXJuIE5VTEw7CiAKICAgICAvKgotICAgICAqIElmIGd1ZXN0X3RhYmxlIGlz
IE5VTEwsIGFuZCB3ZSBhcmUgcnVubmluZyBhIHBhcmF2aXJ0dWFsaXNlZCBn
dWVzdCwKLSAgICAgKiB0aGVuIGl0IG1lYW5zIHdlIGFyZSBydW5uaW5nIG9u
IHRoZSBpZGxlIGRvbWFpbidzIHBhZ2UgdGFibGUgYW5kIG11c3QKLSAgICAg
KiB0aGVyZWZvcmUgdXNlIGl0cyBtYXBjYWNoZS4KKyAgICAgKiBJZiB3ZSBh
cmUgaW4gYSBsYXp5IGNvbnRleHQtc3dpdGNoIHN0YXRlIGZyb20gYSBQViB2
Q1BVIGRvIGEgZnVsbCBzd2l0Y2gKKyAgICAgKiB0byB0aGUgaWRsZSB2Q1BV
IG5vdywgb3RoZXJ3aXNlIGFuIGluY29taW5nIEZMVVNIX1ZDUFVfU1RBVEUg
SVBJIHdvdWxkCisgICAgICogY2hhbmdlIHRoZSBwYWdlIHRhYmxlcyB1bmRl
ciBvdXIgZmVldCBhbiBpbnZhbGlkYXRlIGFueSBpbi11c2UgbWFwY2FjaGUK
KyAgICAgKiBlbnRyaWVzLgogICAgICAqLwotICAgIGlmICggdW5saWtlbHko
cGFnZXRhYmxlX2lzX251bGwodi0+YXJjaC5ndWVzdF90YWJsZSkpICYmIGlz
X3B2X3ZjcHUodikgKQorICAgIGlmICggdW5saWtlbHkodGhpc19jcHUoY3Vy
cl92Y3B1KSAhPSBjdXJyKSApCiAgICAgewotICAgICAgICAvKiBJZiB3ZSBy
ZWFsbHkgYXJlIGlkbGluZywgcGVyZm9ybSBsYXp5IGNvbnRleHQgc3dpdGNo
IG5vdy4gKi8KLSAgICAgICAgaWYgKCAodiA9IGlkbGVfdmNwdVtzbXBfcHJv
Y2Vzc29yX2lkKCldKSA9PSBjdXJyZW50ICkKLSAgICAgICAgICAgIHN5bmNf
bG9jYWxfZXhlY3N0YXRlKCk7CisgICAgICAgIEFTU0VSVChjdXJyID09IGlk
bGVfdmNwdVtzbXBfcHJvY2Vzc29yX2lkKCldKTsKKyAgICAgICAgc3luY19s
b2NhbF9leGVjc3RhdGUoKTsKICAgICAgICAgLyogV2UgbXVzdCBub3cgYmUg
cnVubmluZyBvbiB0aGUgaWRsZSBwYWdlIHRhYmxlLiAqLwogICAgICAgICBB
U1NFUlQoY3IzX3BhKHJlYWRfY3IzKCkpID09IF9fcGEoaWRsZV9wZ190YWJs
ZSkpOwogICAgIH0KIAotICAgIHJldHVybiB2OwotfQotCi12b2lkIF9faW5p
dCBtYXBjYWNoZV9vdmVycmlkZV9jdXJyZW50KHN0cnVjdCB2Y3B1ICp2KQot
ewotICAgIHRoaXNfY3B1KG92ZXJyaWRlKSA9IHY7CisgICAgLyoKKyAgICAg
KiBBdCB0aGlzIHBvaW50IHdlIGNhbiBndWFyYW50ZWUgWGVuIGlzIG5vdCBp
biBsYXp5IGNvbnRleHQgc3dpdGNoOiBlaXRoZXIKKyAgICAgKiB0aGUgY29k
ZSBhYm92ZSB3aWxsIGhhdmUgc3luY2VkIHRoZSBzdGF0ZSwgb3IgYW4gaW5j
b21pbmcKKyAgICAgKiBGTFVTSF9WQ1BVX1NUQVRFIElQSSBoYXMgZG9uZSBz
byBiZWhpbmQgb3VyIGJhY2suICBVc2UgQUNDRVNTX09OQ0UgdG8KKyAgICAg
KiBlbnN1cmUgdGhlIGNvbXBpbGVyIG5ldmVyIHJldHVybnMgdGhlIGxvY2Fs
bHkgY2FjaGVkIHBndGFibGVfdmNwdSB2YWx1ZS4KKyAgICAgKi8KKyAgICBy
ZXR1cm4gQUNDRVNTX09OQ0UodGhpc19jcHUocGd0YWJsZV92Y3B1KSk7CiB9
CiAKICNkZWZpbmUgbWFwY2FjaGVfbDJfZW50cnkoZSkgKChlKSA+PiBQQUdF
VEFCTEVfT1JERVIpCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZmx1c2h0
bGIuYyBiL3hlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jCmluZGV4IDA5ZTY3NmMx
NTFmYS4uOTI4YmNhNjZiNDMzIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv
Zmx1c2h0bGIuYworKysgYi94ZW4vYXJjaC94ODYvZmx1c2h0bGIuYwpAQCAt
MTExLDcgKzExMSw5IEBAIHN0YXRpYyB2b2lkIGRvX3RsYl9mbHVzaCh2b2lk
KQogICAgIGxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIH0KIAotdm9pZCBz
d2l0Y2hfY3IzX2NyNCh1bnNpZ25lZCBsb25nIGNyMywgdW5zaWduZWQgbG9u
ZyBjcjQpCitERUZJTkVfUEVSX0NQVShzdHJ1Y3QgdmNwdSAqLCBwZ3RhYmxl
X3ZjcHUpOworCit2b2lkIHN3aXRjaF9jcjNfY3I0KHN0cnVjdCB2Y3B1ICp2
LCB1bnNpZ25lZCBsb25nIGNyMywgdW5zaWduZWQgbG9uZyBjcjQpCiB7CiAg
ICAgdW5zaWduZWQgbG9uZyBmbGFncywgb2xkX2NyNDsKICAgICB1MzIgdCA9
IDA7CkBAIC0xNTUsNiArMTU3LDcgQEAgdm9pZCBzd2l0Y2hfY3IzX2NyNCh1
bnNpZ25lZCBsb25nIGNyMywgdW5zaWduZWQgbG9uZyBjcjQpCiAgICAgaWYg
KCAob2xkX2NyNCAmIFg4Nl9DUjRfUENJREUpID4gKGNyNCAmIFg4Nl9DUjRf
UENJREUpICkKICAgICAgICAgY3IzIHw9IFg4Nl9DUjNfTk9GTFVTSDsKICAg
ICB3cml0ZV9jcjMoY3IzKTsKKyAgICB0aGlzX2NwdShwZ3RhYmxlX3ZjcHUp
ID0gdjsKIAogICAgIGlmICggb2xkX2NyNCAhPSBjcjQgKQogICAgICAgICB3
cml0ZV9jcjQoY3I0KTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9pbmNs
dWRlL2FzbS9kb21haW4uaCBiL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9k
b21haW4uaAppbmRleCA4MjhmNDJjM2U0NDguLjEwZDJiOWZlMjU0NiAxMDA2
NDQKLS0tIGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2RvbWFpbi5oCisr
KyBiL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9kb21haW4uaApAQCAtNzUs
NyArNzUsNiBAQCBzdHJ1Y3QgbWFwY2FjaGVfZG9tYWluIHsKIAogaW50IG1h
cGNhY2hlX2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQpOwogaW50IG1h
cGNhY2hlX3ZjcHVfaW5pdChzdHJ1Y3QgdmNwdSAqdik7Ci12b2lkIG1hcGNh
Y2hlX292ZXJyaWRlX2N1cnJlbnQoc3RydWN0IHZjcHUgKnYpOwogCiAvKiB4
ODYvNjQ6IHRvZ2dsZSBndWVzdCBiZXR3ZWVuIGtlcm5lbCBhbmQgdXNlciBt
b2Rlcy4gKi8KIHZvaWQgdG9nZ2xlX2d1ZXN0X21vZGUoc3RydWN0IHZjcHUg
KnYpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2Zs
dXNodGxiLmggYi94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vZmx1c2h0bGIu
aAppbmRleCA3YmNiY2EyYjdmMzEuLjM0NTY3N2ViNzJhZSAxMDA2NDQKLS0t
IGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2ZsdXNodGxiLmgKKysrIGIv
eGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2ZsdXNodGxiLmgKQEAgLTEwNCw3
ICsxMDQsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaW52bHBnKGNvbnN0IHZv
aWQgKnApCiB9CiAKIC8qIFdyaXRlIHBhZ2V0YWJsZSBiYXNlIGFuZCBpbXBs
aWNpdGx5IHRpY2sgdGhlIHRsYmZsdXNoIGNsb2NrLiAqLwotdm9pZCBzd2l0
Y2hfY3IzX2NyNCh1bnNpZ25lZCBsb25nIGNyMywgdW5zaWduZWQgbG9uZyBj
cjQpOwordm9pZCBzd2l0Y2hfY3IzX2NyNChzdHJ1Y3QgdmNwdSAqdiwgdW5z
aWduZWQgbG9uZyBjcjMsIHVuc2lnbmVkIGxvbmcgY3I0KTsKIAogLyogZmx1
c2hfKiBmbGFnIGZpZWxkczogKi8KICAvKgpkaWZmIC0tZ2l0IGEveGVuL2Fy
Y2gveDg2L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oIGIveGVuL2FyY2gveDg2
L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oCmluZGV4IDJlMDg3YzYyNTc3MC4u
ZDJjYWNkZmVkYjc0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaW5jbHVk
ZS9hc20vcHJvY2Vzc29yLmgKKysrIGIveGVuL2FyY2gveDg2L2luY2x1ZGUv
YXNtL3Byb2Nlc3Nvci5oCkBAIC0zMjgsNiArMzI4LDkgQEAgREVDTEFSRV9Q
RVJfQ1BVKHN0cnVjdCB0c3NfcGFnZSwgdHNzX3BhZ2UpOwogCiBERUNMQVJF
X1BFUl9DUFUocm9vdF9wZ2VudHJ5X3QgKiwgcm9vdF9wZ3QpOwogCisvKiB2
Q1BVIG9mIHRoZSBjdXJyZW50bHkgbG9hZGVkIHBhZ2UtdGFibGVzLiAqLwor
REVDTEFSRV9QRVJfQ1BVKHN0cnVjdCB2Y3B1ICosIHBndGFibGVfdmNwdSk7
CisKIGV4dGVybiB2b2lkIHdyaXRlX3B0YmFzZShzdHJ1Y3QgdmNwdSAqdik7
CiAKIC8qIFBBVVNFIChlbmNvZGluZzogUkVQIE5PUCkgaXMgYSBnb29kIHRo
aW5nIHRvIGluc2VydCBpbnRvIGJ1c3ktd2FpdCBsb29wcy4gKi8KZGlmZiAt
LWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS5jIGIveGVuL2FyY2gveDg2L21tLmMK
aW5kZXggMmIyM2JmMmU3YTc1Li5kMDJjOTg2MmQzODcgMTAwNjQ0Ci0tLSBh
L3hlbi9hcmNoL3g4Ni9tbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS5jCkBA
IC01MzUsNyArNTM1LDcgQEAgdm9pZCB3cml0ZV9wdGJhc2Uoc3RydWN0IHZj
cHUgKnYpCiAgICAgICAgIGNwdV9pbmZvLT5wdl9jcjMgPSBfX3BhKHRoaXNf
Y3B1KHJvb3RfcGd0KSk7CiAgICAgICAgIGlmICggbmV3X2NyNCAmIFg4Nl9D
UjRfUENJREUgKQogICAgICAgICAgICAgY3B1X2luZm8tPnB2X2NyMyB8PSBn
ZXRfcGNpZF9iaXRzKHYsIHRydWUpOwotICAgICAgICBzd2l0Y2hfY3IzX2Ny
NCh2LT5hcmNoLmNyMywgbmV3X2NyNCk7CisgICAgICAgIHN3aXRjaF9jcjNf
Y3I0KHYsIHYtPmFyY2guY3IzLCBuZXdfY3I0KTsKICAgICB9CiAgICAgZWxz
ZQogICAgIHsKQEAgLTU0Myw3ICs1NDMsNyBAQCB2b2lkIHdyaXRlX3B0YmFz
ZShzdHJ1Y3QgdmNwdSAqdikKICAgICAgICAgY3B1X2luZm8tPnVzZV9wdl9j
cjMgPSBmYWxzZTsKICAgICAgICAgY3B1X2luZm8tPnhlbl9jcjMgPSAwOwog
ICAgICAgICAvKiBzd2l0Y2hfY3IzX2NyNCgpIHNlcmlhbGl6ZXMuICovCi0g
ICAgICAgIHN3aXRjaF9jcjNfY3I0KHYtPmFyY2guY3IzLCBuZXdfY3I0KTsK
KyAgICAgICAgc3dpdGNoX2NyM19jcjQodiwgdi0+YXJjaC5jcjMsIG5ld19j
cjQpOwogICAgICAgICBjcHVfaW5mby0+cHZfY3IzID0gMDsKICAgICB9CiB9
CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHYvZG9tMF9idWlsZC5jIGIv
eGVuL2FyY2gveDg2L3B2L2RvbTBfYnVpbGQuYwppbmRleCAzNzcyOTA5MWRm
YWEuLjQyYmM1MzBjMGYwZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3B2
L2RvbTBfYnVpbGQuYworKysgYi94ZW4vYXJjaC94ODYvcHYvZG9tMF9idWls
ZC5jCkBAIC04MjgsOCArODI4LDcgQEAgc3RhdGljIGludCBfX2luaXQgZG9t
MF9jb25zdHJ1Y3QoY29uc3Qgc3RydWN0IGJvb3RfZG9tYWluICpiZCkKICAg
ICB1cGRhdGVfY3IzKHYpOwogCiAgICAgLyogV2UgcnVuIG9uIGRvbTAncyBw
YWdlIHRhYmxlcyBmb3IgdGhlIGZpbmFsIHBhcnQgb2YgdGhlIGJ1aWxkIHBy
b2Nlc3MuICovCi0gICAgc3dpdGNoX2NyM19jcjQoY3IzX3BhKHYtPmFyY2gu
Y3IzKSwgcmVhZF9jcjQoKSk7Ci0gICAgbWFwY2FjaGVfb3ZlcnJpZGVfY3Vy
cmVudCh2KTsKKyAgICBzd2l0Y2hfY3IzX2NyNCh2LCBjcjNfcGEodi0+YXJj
aC5jcjMpLCByZWFkX2NyNCgpKTsKIAogICAgIC8qIENvcHkgdGhlIE9TIGlt
YWdlIGFuZCBmcmVlIHRlbXBvcmFyeSBidWZmZXIuICovCiAgICAgZWxmLmRl
c3RfYmFzZSA9ICh2b2lkKil2a2Vybl9zdGFydDsKQEAgLTgzOCw4ICs4Mzcs
NyBAQCBzdGF0aWMgaW50IF9faW5pdCBkb20wX2NvbnN0cnVjdChjb25zdCBz
dHJ1Y3QgYm9vdF9kb21haW4gKmJkKQogICAgIHJjID0gZWxmX2xvYWRfYmlu
YXJ5KCZlbGYpOwogICAgIGlmICggcmMgPCAwICkKICAgICB7Ci0gICAgICAg
IG1hcGNhY2hlX292ZXJyaWRlX2N1cnJlbnQoTlVMTCk7Ci0gICAgICAgIHN3
aXRjaF9jcjNfY3I0KGN1cnJlbnQtPmFyY2guY3IzLCByZWFkX2NyNCgpKTsK
KyAgICAgICAgc3dpdGNoX2NyM19jcjQoY3VycmVudCwgY3VycmVudC0+YXJj
aC5jcjMsIHJlYWRfY3I0KCkpOwogICAgICAgICBwcmludGsoIkZhaWxlZCB0
byBsb2FkIHRoZSBrZXJuZWwgYmluYXJ5XG4iKTsKICAgICAgICAgZ290byBv
dXQ7CiAgICAgfQpAQCAtODUwLDggKzg0OCw3IEBAIHN0YXRpYyBpbnQgX19p
bml0IGRvbTBfY29uc3RydWN0KGNvbnN0IHN0cnVjdCBib290X2RvbWFpbiAq
YmQpCiAgICAgICAgIGlmICggKHBhcm1zLnZpcnRfaHlwZXJjYWxsIDwgdl9z
dGFydCkgfHwKICAgICAgICAgICAgICAocGFybXMudmlydF9oeXBlcmNhbGwg
Pj0gdl9lbmQpICkKICAgICAgICAgewotICAgICAgICAgICAgbWFwY2FjaGVf
b3ZlcnJpZGVfY3VycmVudChOVUxMKTsKLSAgICAgICAgICAgIHN3aXRjaF9j
cjNfY3I0KGN1cnJlbnQtPmFyY2guY3IzLCByZWFkX2NyNCgpKTsKKyAgICAg
ICAgICAgIHN3aXRjaF9jcjNfY3I0KGN1cnJlbnQsIGN1cnJlbnQtPmFyY2gu
Y3IzLCByZWFkX2NyNCgpKTsKICAgICAgICAgICAgIHByaW50aygiSW52YWxp
ZCBIWVBFUkNBTExfUEFHRSBmaWVsZCBpbiBFTEYgbm90ZXMuXG4iKTsKICAg
ICAgICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgICAgICB9CkBAIC05OTIs
OCArOTg5LDcgQEAgc3RhdGljIGludCBfX2luaXQgZG9tMF9jb25zdHJ1Y3Qo
Y29uc3Qgc3RydWN0IGJvb3RfZG9tYWluICpiZCkKICNlbmRpZgogCiAgICAg
LyogUmV0dXJuIHRvIGlkbGUgZG9tYWluJ3MgcGFnZSB0YWJsZXMuICovCi0g
ICAgbWFwY2FjaGVfb3ZlcnJpZGVfY3VycmVudChOVUxMKTsKLSAgICBzd2l0
Y2hfY3IzX2NyNChjdXJyZW50LT5hcmNoLmNyMywgcmVhZF9jcjQoKSk7Cisg
ICAgc3dpdGNoX2NyM19jcjQoY3VycmVudCwgY3VycmVudC0+YXJjaC5jcjMs
IHJlYWRfY3I0KCkpOwogCiAgICAgdXBkYXRlX2RvbWFpbl93YWxsY2xvY2tf
dGltZShkKTsKIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2L2RvbWFp
bi5jIGIveGVuL2FyY2gveDg2L3B2L2RvbWFpbi5jCmluZGV4IGVmNGY0NDJl
NzMzMi4uZDllNTJmNWY4OGYzIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv
cHYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gveDg2L3B2L2RvbWFpbi5jCkBA
IC00NTEsNiArNDUxLDggQEAgc3RhdGljIHZvaWQgX3RvZ2dsZV9ndWVzdF9w
dChzdHJ1Y3QgdmNwdSAqdikKICAgICBwYWdldGFibGVfdCBvbGRfc2hhZG93
OwogICAgIHVuc2lnbmVkIGxvbmcgY3IzOwogCisgICAgQVNTRVJUKGxvY2Fs
X2lycV9pc19lbmFibGVkKCkpOworCiAgICAgdi0+YXJjaC5mbGFncyBePSBU
Rl9rZXJuZWxfbW9kZTsKICAgICBndWVzdF91cGRhdGUgPSB2LT5hcmNoLmZs
YWdzICYgVEZfa2VybmVsX21vZGU7CiAgICAgb2xkX3NoYWRvdyA9IHVwZGF0
ZV9jcjModik7CkBAIC00NzMsMTUgKzQ3NSwyMiBAQCBzdGF0aWMgdm9pZCBf
dG9nZ2xlX2d1ZXN0X3B0KHN0cnVjdCB2Y3B1ICp2KQogICAgIHsKICAgICAg
ICAgY3IzICY9IH5YODZfQ1IzX05PRkxVU0g7CiAKKyAgICAgICAgbG9jYWxf
aXJxX2Rpc2FibGUoKTsKICAgICAgICAgaWYgKCB1bmxpa2VseShtZm5fZXEo
cGFnZXRhYmxlX2dldF9tZm4ob2xkX3NoYWRvdyksCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1hZGRyX3RvX21mbihjcjMpKSkgKQogICAgICAg
ICB7Ci0gICAgICAgICAgICBjcjMgPSBpZGxlX3ZjcHVbdi0+cHJvY2Vzc29y
XS0+YXJjaC5jcjM7CiAgICAgICAgICAgICAvKiBBbHNvIHN1cHByZXNzIHJ1
bnN0YXRlL3RpbWUgYXJlYSB1cGRhdGVzIGJlbG93LiAqLwogICAgICAgICAg
ICAgZ3Vlc3RfdXBkYXRlID0gZmFsc2U7CisKKyAgICAgICAgICAgIGNyMyA9
IGlkbGVfdmNwdVt2LT5wcm9jZXNzb3JdLT5hcmNoLmNyMzsKKyAgICAgICAg
ICAgIHRoaXNfY3B1KHBndGFibGVfdmNwdSkgPSBpZGxlX3ZjcHVbdi0+cHJv
Y2Vzc29yXTsKICAgICAgICAgfQorCisgICAgICAgIHdyaXRlX2NyMyhjcjMp
OworICAgICAgICBsb2NhbF9pcnFfZW5hYmxlKCk7CiAgICAgfQotICAgIHdy
aXRlX2NyMyhjcjMpOworICAgIGVsc2UKKyAgICAgICAgd3JpdGVfY3IzKGNy
Myk7CiAKICAgICBpZiAoICFwYWdldGFibGVfaXNfbnVsbChvbGRfc2hhZG93
KSApCiAgICAgICAgIHNoYWRvd19wdXRfdG9wX2xldmVsKHYtPmRvbWFpbiwg
b2xkX3NoYWRvdyk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvc21wYm9v
dC5jIGIveGVuL2FyY2gveDg2L3NtcGJvb3QuYwppbmRleCAyNzYyODgwMGE4
MjEuLmIzN2ZlYWIzYmVmNCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Nt
cGJvb3QuYworKysgYi94ZW4vYXJjaC94ODYvc21wYm9vdC5jCkBAIC0xMDYz
LDYgKzEwNjMsNyBAQCBzdGF0aWMgaW50IGNwdV9zbXBib290X2FsbG9jKHVu
c2lnbmVkIGludCBjcHUpCiAKICAgICBpbmZvLT5jdXJyZW50X3ZjcHUgPSBp
ZGxlX3ZjcHVbY3B1XTsgLyogc2V0X2N1cnJlbnQoKSAqLwogICAgIHBlcl9j
cHUoY3Vycl92Y3B1LCBjcHUpID0gaWRsZV92Y3B1W2NwdV07CisgICAgcGVy
X2NwdShwZ3RhYmxlX3ZjcHUsIGNwdSkgPSBpZGxlX3ZjcHVbY3B1XTsKIAog
ICAgIGdkdCA9IHBlcl9jcHUoZ2R0LCBjcHUpID86IGFsbG9jX3hlbmhlYXBf
cGFnZXMoMCwgbWVtZmxhZ3MpOwogICAgIGlmICggZ2R0ID09IE5VTEwgKQpk
aWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9lZmkvY29tbW9uLXN0dWIuYyBiL3hl
bi9jb21tb24vZWZpL2NvbW1vbi1zdHViLmMKaW5kZXggNzdmMTM4YTZjNTc0
Li43YjEyMDA1YmVhM2YgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vZWZpL2Nv
bW1vbi1zdHViLmMKKysrIGIveGVuL2NvbW1vbi9lZmkvY29tbW9uLXN0dWIu
YwpAQCAtNywxMSArNyw2IEBAIGJvb2wgZWZpX2VuYWJsZWQodW5zaWduZWQg
aW50IGZlYXR1cmUpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIGVm
aV9yc191c2luZ19wZ3RhYmxlcyh2b2lkKQotewotICAgIHJldHVybiBmYWxz
ZTsKLX0KLQogdW5zaWduZWQgbG9uZyBlZmlfZ2V0X3RpbWUodm9pZCkKIHsK
ICAgICBCVUcoKTsKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZWZpL3J1bnRp
bWUuYyBiL3hlbi9jb21tb24vZWZpL3J1bnRpbWUuYwppbmRleCAzMGQ2NDlj
YTVjMWIuLmZlYjA5YWNmNzU0YyAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9l
ZmkvcnVudGltZS5jCisrKyBiL3hlbi9jb21tb24vZWZpL3J1bnRpbWUuYwpA
QCAtNDksNyArNDksNiBAQCBjb25zdCBDSEFSMTYgKl9fcmVhZF9tb3N0bHkg
ZWZpX2Z3X3ZlbmRvcjsKIGNvbnN0IEVGSV9SVU5USU1FX1NFUlZJQ0VTICpf
X3JlYWRfbW9zdGx5IGVmaV9yczsKICNpZm5kZWYgQ09ORklHX0FSTSAvKiBU
T0RPIC0gZGlzYWJsZWQgdW50aWwgaW1wbGVtZW50ZWQgb24gQVJNICovCiBz
dGF0aWMgREVGSU5FX1NQSU5MT0NLKGVmaV9yc19sb2NrKTsKLXN0YXRpYyB1
bnNpZ25lZCBpbnQgZWZpX3JzX29uX2NwdSA9IE5SX0NQVVM7CiAjZW5kaWYK
IAogVUlOVE4gX19yZWFkX21vc3RseSBlZmlfbWVtbWFwX3NpemU7CkBAIC05
Miw2ICs5MSwxMSBAQCBzdHJ1Y3QgZWZpX3JzX3N0YXRlIGVmaV9yc19lbnRl
cih2b2lkKQogICAgIGlmICggbWZuX2VxKGVmaV9sNF9tZm4sIElOVkFMSURf
TUZOKSApCiAgICAgICAgIHJldHVybiBzdGF0ZTsKIAorICAgIC8qCisgICAg
ICogSWYgaW4gbGF6eSBpZGxlIGNvbnRleHQgc3dpdGNoIHN0YXRlIHN5bmMg
bm93IHRvIGF2b2lkIGFuIGluY29taW5nCisgICAgICogRkxVU0hfVkNQVV9T
VEFURSBJUEkgY2hhbmdpbmcgdGhlIGxvYWRlZCBwYWdlLXRhYmxlcy4KKyAg
ICAgKi8KKyAgICBzeW5jX2xvY2FsX2V4ZWNzdGF0ZSgpOwogICAgIHN0YXRl
LmNyMyA9IHJlYWRfY3IzKCk7CiAgICAgc2F2ZV9mcHVfZW5hYmxlKCk7CiAg
ICAgYXNtIHZvbGF0aWxlICggImZuY2xleDsgZmxkY3cgJTAiIDo6ICJtIiAo
ZmN3KSApOwpAQCAtOTksOCArMTAzLDYgQEAgc3RydWN0IGVmaV9yc19zdGF0
ZSBlZmlfcnNfZW50ZXIodm9pZCkKIAogICAgIHNwaW5fbG9jaygmZWZpX3Jz
X2xvY2spOwogCi0gICAgZWZpX3JzX29uX2NwdSA9IHNtcF9wcm9jZXNzb3Jf
aWQoKTsKLQogICAgIC8qIHByZXZlbnQgZml4dXBfcGFnZV9mYXVsdCgpIGZy
b20gZG9pbmcgYW55dGhpbmcgKi8KICAgICBpcnFfZW50ZXIoKTsKIApAQCAt
MTE1LDcgKzExNyw4IEBAIHN0cnVjdCBlZmlfcnNfc3RhdGUgZWZpX3JzX2Vu
dGVyKHZvaWQpCiAgICAgICAgIGxnZHQoJmdkdF9kZXNjKTsKICAgICB9CiAK
LSAgICBzd2l0Y2hfY3IzX2NyNChtZm5fdG9fbWFkZHIoZWZpX2w0X21mbiks
IHJlYWRfY3I0KCkpOworICAgIHN3aXRjaF9jcjNfY3I0KGlkbGVfdmNwdVtz
bXBfcHJvY2Vzc29yX2lkKCldLCBtZm5fdG9fbWFkZHIoZWZpX2w0X21mbiks
CisgICAgICAgICAgICAgICAgICAgcmVhZF9jcjQoKSk7CiAKICAgICAvKgog
ICAgICAqIEF0IHRoZSB0aW1lIG9mIHdyaXRpbmcgKDIwMjIpLCBubyBVRUZJ
IGZpcndtYXJlIGlzIENFVC1JQlQgY29tcGF0aWJsZS4KQEAgLTE0Myw3ICsx
NDYsNyBAQCB2b2lkIGVmaV9yc19sZWF2ZShzdHJ1Y3QgZWZpX3JzX3N0YXRl
ICpzdGF0ZSkKICAgICBpZiAoIHN0YXRlLT5tc3Jfc19jZXQgKQogICAgICAg
ICB3cm1zcmwoTVNSX1NfQ0VULCBzdGF0ZS0+bXNyX3NfY2V0KTsKIAotICAg
IHN3aXRjaF9jcjNfY3I0KHN0YXRlLT5jcjMsIHJlYWRfY3I0KCkpOworICAg
IHN3aXRjaF9jcjNfY3I0KGN1cnIsIHN0YXRlLT5jcjMsIHJlYWRfY3I0KCkp
OwogICAgIGlmICggaXNfcHZfdmNwdShjdXJyKSAmJiAhaXNfaWRsZV92Y3B1
KGN1cnIpICkKICAgICB7CiAgICAgICAgIHN0cnVjdCBkZXNjX3B0ciBnZHRf
ZGVzYyA9IHsKQEAgLTE1NCwxOCArMTU3LDEwIEBAIHZvaWQgZWZpX3JzX2xl
YXZlKHN0cnVjdCBlZmlfcnNfc3RhdGUgKnN0YXRlKQogICAgICAgICBsZ2R0
KCZnZHRfZGVzYyk7CiAgICAgfQogICAgIGlycV9leGl0KCk7Ci0gICAgZWZp
X3JzX29uX2NwdSA9IE5SX0NQVVM7CiAgICAgc3Bpbl91bmxvY2soJmVmaV9y
c19sb2NrKTsKICAgICB2Y3B1X3Jlc3RvcmVfZnB1X25vbmxhenkoY3Vyciwg
dHJ1ZSk7CiB9CiAKLWJvb2wgZWZpX3JzX3VzaW5nX3BndGFibGVzKHZvaWQp
Ci17Ci0gICAgcmV0dXJuICFtZm5fZXEoZWZpX2w0X21mbiwgSU5WQUxJRF9N
Rk4pICYmCi0gICAgICAgICAgIChzbXBfcHJvY2Vzc29yX2lkKCkgPT0gZWZp
X3JzX29uX2NwdSkgJiYKLSAgICAgICAgICAgKHJlYWRfY3IzKCkgPT0gbWZu
X3RvX21hZGRyKGVmaV9sNF9tZm4pKTsKLX0KLQogdW5zaWduZWQgbG9uZyBl
ZmlfZ2V0X3RpbWUodm9pZCkKIHsKICAgICBFRklfVElNRSB0aW1lOwpkaWZm
IC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2VmaS5oIGIveGVuL2luY2x1ZGUv
eGVuL2VmaS5oCmluZGV4IDcyM2NiODA4NTI3MC4uOTk1MzE5N2VlNTUzIDEw
MDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vZWZpLmgKKysrIGIveGVuL2lu
Y2x1ZGUveGVuL2VmaS5oCkBAIC00MCw3ICs0MCw2IEBAIGV4dGVybiBib29s
IGVmaV9zZWN1cmVfYm9vdDsKIAogdm9pZCBlZmlfaW5pdF9tZW1vcnkodm9p
ZCk7CiBib29sIGVmaV9ib290X21lbV91bnVzZWQodW5zaWduZWQgbG9uZyAq
c3RhcnQsIHVuc2lnbmVkIGxvbmcgKmVuZCk7Ci1ib29sIGVmaV9yc191c2lu
Z19wZ3RhYmxlcyh2b2lkKTsKIHVuc2lnbmVkIGxvbmcgZWZpX2dldF90aW1l
KHZvaWQpOwogdm9pZCBlZmlfaGFsdF9zeXN0ZW0odm9pZCk7CiB2b2lkIGVm
aV9yZXNldF9zeXN0ZW0oYm9vbCB3YXJtKTsKLS0gCjIuNTMuMAoK

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 12:02:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 12:02:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332861.1595256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWvAH-0004bm-1l; Tue, 09 Jun 2026 12:02:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332861.1595256; Tue, 09 Jun 2026 12:02: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 1wWvAG-0004bd-Ub; Tue, 09 Jun 2026 12:02:40 +0000
Received: by outflank-mailman (input) for mailman id 1332861;
 Tue, 09 Jun 2026 12:02:39 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dpsmith@apertussolutions.com>) id 1wWvAF-0004ae-MS
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 12:02:39 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWvAF-005uAe-01
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 14:02:39 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a2800d6-e002-0a2a0a5209dd-0a2a450bd734-44
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 14:02:38 +0200
Received: from [136.143.188.51] (helo=sender4-of-o51.zoho.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a2800dc-212f-0a2a450b0019-888fbc335274-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 14:02:38 +0200
Received: from mail.zoho.com by mx.zohomail.com
 with SMTP id 1781006542751698.4007614901942;
 Tue, 9 Jun 2026 05:02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=zoho header.d=apertussolutions.com header.i="dpsmith@apertussolutions.com" header.h="Date:From:To:Cc:Message-ID:In-Reply-To:References:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding"
ARC-Seal: i=1; a=rsa-sha256; t=1781006548; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=MmIL7uRBG9ACpkuL69X/DDWYS/5HbKDWirEGMVSXY2m6Ol03eJ+VZmH5oTU4wT/BY/nmAQkeRnovKySXr3peTNuBraMXvVkTbLDt2XW/Hic5xXkchdOAm9Or9ZR8o4bVnLDERhp26qFg7/rQ39Z9mCOQImx/r/7CiwoLz5kxUI4=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1781006548; 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=QgOcGCA+EIkKpTTXKaYxW+5DHaPKTbJAeaN44o78C2o=; 
	b=KatQQYc9oCznVNQxROZCEKcTux0rFmBJO3I0cNpdWNv5awOppmPyJ1hSmDBFOiqv3xhVpOOVhe2FNsaCyiuMJrIi9EfD5fAVDy5OYvL3PZOLwsjOuoJiMVCA+BasYLuxRGGGkefToyBtC9hZUm/BL07K5S85k6ftrBB2mr0MM3s=
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=1781006548;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Date:Date:From:From:To:To:Cc:Cc:Message-ID:In-Reply-To:References:Subject:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=QgOcGCA+EIkKpTTXKaYxW+5DHaPKTbJAeaN44o78C2o=;
	b=JTMvDUHUI3gN7oVCERWp+dy0Ak5JuoLbqbwbbYh9IVpwOfNqjs3FS7nly6Ljq/H6
	6c9D72V0yMGBHm9BHnOnjwKFnzuKH1zeDS+1KmkD6W+JC1ZWhP2zsMBSImDZx6C5VoL
	gX0KdcmPZ2xZOc4OF80L8emrAqOPj9bwQxcQ/K60=
Date: Tue, 09 Jun 2026 08:02:22 -0400
From: Daniel Smith <dpsmith@apertussolutions.com>
To: "dmukhin" <dmukhin@ford.com>
Cc: "xen-devel" <xen-devel@lists.xenproject.org>,
	"andrew.cooper3" <andrew.cooper3@citrix.com>,
	"anthony.perard" <anthony.perard@vates.tech>,
	"jbeulich" <jbeulich@suse.com>, "julien" <julien@xen.org>,
	"michal.orzel" <michal.orzel@amd.com>,
	"roger.pau" <roger.pau@citrix.com>,
	"sstabellini" <sstabellini@kernel.org>,
	"christopher.w.clark" <christopher.w.clark@gmail.com>,
	"Mykola Kvach" <mykola_kvach@epam.com>
Message-ID: <19eac432782.4dae9896335238.1132778796566950553@apertussolutions.com>
In-Reply-To: <aidm6a7lYS/JbCK9@kraken>
References: <20260526215823.1452619-1-dmukhin@ford.com>
 <20260526215823.1452619-2-dmukhin@ford.com>
 <ae19de19-aef5-47af-833d-87a46efb9afc@apertussolutions.com> <aidm6a7lYS/JbCK9@kraken>
Subject: Re: [PATCH v3 1/6] argo: lower level of noisy connection-refused
 log
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Importance: Medium
User-Agent: Zoho Mail
X-Mailer: Zoho Mail
X-purgate-ID: tlsNG-42698a/1781006558-1815DF3B-067C6778/0/0
X-purgate-type: clean
X-purgate-size: 3809



From:  <dmukhin@ford.com>
To: "Daniel P. Smith"<dpsmith@apertussolutions.com>
Cc: <dmukhin@ford.com>, <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>, <christopher.w.clark@gmail.com>, "Mykola Kvach"<mykola_kvach@epam.com>
Date: Mon, 08 Jun 2026 21:05:45 -0400
Subject: Re: [PATCH v3 1/6] argo: lower level of noisy connection-refused log

 > On Mon, Jun 08, 2026 at 03:54:51PM -0400, Daniel P. Smith wrote: 
 > > 
 > > 
 > > On 5/26/26 5:58 PM, dmukhin@ford.com wrote: 
 > > > From: Denis Mukhin <dmukhin@ford.com> 
 > > > 
 > > > Switch the log line to argo_dprintk() so it is enabled only in debug 
 > > > environments, as it can spam the logs when a dom0 service using the Argo 
 > > > hypercall tries to communicate with a domain that is still starting up. 
 > > > 
 > > > Note that this also lowers the log level to debug when the argo_dprintk() 
 > > > facility is enabled. 
 > > > 
 > > > Signed-off-by: Denis Mukhin <dmukhin@ford.com> 
 > > > Reviewed-by: Mykola Kvach <mykola_kvach@epam.com> 
 > > > --- 
 > > > Changes since v2: 
 > > > - updated commit message 
 > > > --- 
 > > >   xen/common/argo.c | 7 +++---- 
 > > >   1 file changed, 3 insertions(+), 4 deletions(-) 
 > > > 
 > > > diff --git a/xen/common/argo.c b/xen/common/argo.c 
 > > > index 28626e00a8cb..98a3db7fd070 100644 
 > > > --- a/xen/common/argo.c 
 > > > +++ b/xen/common/argo.c 
 > > > @@ -2034,10 +2034,9 @@ sendv(struct domain *src_d, xen_argo_addr_t *src_addr, 
 > > >                                           src_id.domain_id); 
 > > >       if ( !ring_info ) 
 > > >       { 
 > > > -        gprintk(XENLOG_ERR, 
 > > > -                "argo: vm%u connection refused, src (vm%u:%x) dst (vm%u:%x)\n", 
 > > > -                current->domain->domain_id, src_id.domain_id, src_id.aport, 
 > > > -                dst_addr->domain_id, dst_addr->aport); 
 > > > +        argo_dprintk("vm%u connection refused, src (vm%u:%x) dst (vm%u:%x)\n", 
 > > > +                     current->domain->domain_id, src_id.domain_id, src_id.aport, 
 > > > +                     dst_addr->domain_id, dst_addr->aport); 
 > > >           ret = -ECONNREFUSED; 
 > > >       } 
 > > 
 > > My apologies but this is not the wisest approach, hitting this is a real 
 > > error and shouldn't be getting silenced. If you are seeing a lot of these 
 > > messages, I would suggest asking yourself why. Without further context on 
 > > how you are using it, one suggesting is perhaps your connection model might 
 > > need to be revisited. 
 >  
 > Thanks for the feedback! 
 >  

Not a problem and you're welcome.

 > The reason I wrote this patch is because there can be a lot of those messages 
 > from a real domU which is in a boot loop and/or boots for a significant amount 
 > of time. 
 >  
 > With -ECONNREFUSED propagated back to the caller having Xen logging the state 
 > of each sendv() with XENLOG_ERR on the shared (dom0) diag console can be a bit 
 > problematic. 
 >  
 > Yes, I understand that programs issuing the Argo hypercall could be rewritten 
 > in a particular way so that the Argo hypercall is issued only if the domain is 
 > up and Argo on the other side is initialized and, ideally, domain should not 
 > be boot-looping... 
 >  
 > However, I think, that hypervisor should not depend on assumptions made in the 
 > userspace (e.g. retry/logging policy). 
 >  
 > De-prioritizing the logline from XENLOG_ERR to XENLOG_DEBUG can be another 
 > potential solution. 


Please look at my response to Jason, this is essentially one of the cases for which the notify op exists.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 12:06:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 12:06:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332970.1595276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWvDd-0006qI-A5; Tue, 09 Jun 2026 12:06:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332970.1595276; Tue, 09 Jun 2026 12:06: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 1wWvDd-0006qB-7J; Tue, 09 Jun 2026 12:06:09 +0000
Received: by outflank-mailman (input) for mailman id 1332970;
 Tue, 09 Jun 2026 12:06:08 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dpsmith@apertussolutions.com>) id 1wWvDc-0006pt-I4
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 12:06:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWvDb-007g5H-Ul
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 14:06:07 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a2801a2-5cb7-0a2a0a5109dd-0a2a450c9c7e-48
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 14:06:07 +0200
Received: from [136.143.188.51] (helo=sender4-of-o51.zoho.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a2801ad-62f1-0a2a450c0019-888fbc335270-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 14:06:06 +0200
Received: from mail.zoho.com by mx.zohomail.com
 with SMTP id 1781006746676946.0895210175249;
 Tue, 9 Jun 2026 05:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=zoho header.d=apertussolutions.com header.i="dpsmith@apertussolutions.com" header.h="Date:From:To:Cc:Message-ID:In-Reply-To:References:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding"
ARC-Seal: i=1; a=rsa-sha256; t=1781006756; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=LM4df0UhRcDQNENHx9dv+oGGbH7RQI+2NPsTl6LRSB+kuo4/5mmevsh3HtOMREjUshvg9AU6YX7TGOzVocB167hU5De1BBSOeeq3GTBktK68ufr71HJzEJOs9GAreTOLCw+fNgnuWJT7NS0l1FSGvMR23hzvlNHNVvx+oQxos48=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1781006756; 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=M3h0f/AO0PoVXINJfsjmCDGXEUhdj86zDYlREyQwYO8=; 
	b=UIpNZRd8SWH96cL3r1p+JB/yjZd7IWRPu5V4G1Y5ioe3yKpYSDAlzZacIoqPn8NSgKtqzKJ5OjhLE7ou2b7oKidIcWReS4u6i1WoIRupZRxr10yu15JNzaSLJW7EA9fDdMIGW+SvKIXvHFTAJFaOraI7mYQd5LUkBhodB+wJW+w=
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=1781006756;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Date:Date:From:From:To:To:Cc:Cc:Message-ID:In-Reply-To:References:Subject:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=M3h0f/AO0PoVXINJfsjmCDGXEUhdj86zDYlREyQwYO8=;
	b=QN5s+F1i5dnqU0rTvK0DMqZm1BqSv04MsswIPKSA4gJlfJ4kA8B4rnMhQTfgfM+o
	YrF85gzw1BiyiGYK9KAKPGZUi1j4etDCKash85QFwwuxtTqIp3ycH1s7xEt6E7SgfZ9
	UkFLkWZCnjPGNlLuF9b2spSIt4OROhisIHn9eAkQ=
Date: Tue, 09 Jun 2026 08:05:46 -0400
From: Daniel Smith <dpsmith@apertussolutions.com>
To: "dmukhin" <dmukhin@ford.com>
Cc: "xen-devel" <xen-devel@lists.xenproject.org>,
	"andrew.cooper3" <andrew.cooper3@citrix.com>,
	"anthony.perard" <anthony.perard@vates.tech>,
	"jbeulich" <jbeulich@suse.com>, "julien" <julien@xen.org>,
	"michal.orzel" <michal.orzel@amd.com>,
	"roger.pau" <roger.pau@citrix.com>,
	"sstabellini" <sstabellini@kernel.org>,
	"christopher.w.clark" <christopher.w.clark@gmail.com>
Message-ID: <19eac4643d1.6e35763b335631.3907992434911616381@apertussolutions.com>
In-Reply-To: <aidoyc/nME1n7ARa@kraken>
References: <20260526215823.1452619-1-dmukhin@ford.com>
 <20260526215823.1452619-6-dmukhin@ford.com>
 <c067e641-ab05-4dd9-b7e1-b7ea952de809@apertussolutions.com> <aidoyc/nME1n7ARa@kraken>
Subject: Re: [PATCH v3 5/6] argo: introduce CONFIG_ARGO_DEBUG
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Importance: Medium
User-Agent: Zoho Mail
X-Mailer: Zoho Mail
X-purgate-ID: tlsNG-d25034/1781006767-E3D7BCF5-B39EAE62/0/0
X-purgate-type: clean
X-purgate-size: 3000



From:  <dmukhin@ford.com>
To: "Daniel P. Smith"<dpsmith@apertussolutions.com>
Cc: <dmukhin@ford.com>, <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>, <christopher.w.clark@gmail.com>
Date: Mon, 08 Jun 2026 21:13:45 -0400
Subject: Re: [PATCH v3 5/6] argo: introduce CONFIG_ARGO_DEBUG

 > On Mon, Jun 08, 2026 at 04:10:15PM -0400, Daniel P. Smith wrote: 
 > > 
 > > 
 > > On 5/26/26 5:58 PM, dmukhin@ford.com wrote: 
 > > > From: Denis Mukhin <dmukhin@ford.com> 
 > > > 
 > > > Add Kconfig knob to enable traces for Argo debugging. 
 > > > 
 > > > Signed-off-by: Denis Mukhin <dmukhin@ford.com> 
 > > > --- 
 > > > Changes since v2: 
 > > > - new patch 
 > > > --- 
 > > >   xen/common/Kconfig | 7 +++++++ 
 > > >   xen/common/argo.c  | 3 +-- 
 > > >   2 files changed, 8 insertions(+), 2 deletions(-) 
 > > > 
 > > > diff --git a/xen/common/Kconfig b/xen/common/Kconfig 
 > > > index 5ff71480eebe..adcdc51dd21b 100644 
 > > > --- a/xen/common/Kconfig 
 > > > +++ b/xen/common/Kconfig 
 > > > @@ -491,6 +491,13 @@ config ARGO 
 > > >         If unsure, say N. 
 > > > +config ARGO_DEBUG 
 > > > +    bool "Argo: enable debug traces (UNSUPPORTED)" if ARGO 
 > > > +    help 
 > > > +      Enables extra debug traces for Argo debugging. 
 > > > + 
 > > > +      If unsure, say N. 
 > > > + 
 > > >   source "common/sched/Kconfig" 
 > > >   config CRYPTO 
 > > > diff --git a/xen/common/argo.c b/xen/common/argo.c 
 > > > index 3c38a51d09a2..b9b362064e7e 100644 
 > > > --- a/xen/common/argo.c 
 > > > +++ b/xen/common/argo.c 
 > > > @@ -318,10 +318,9 @@ static DEFINE_RWLOCK(L1_global_argo_rwlock); /* L1 */ 
 > > >       ((LOCKING_Read_L1 && spin_is_locked(&(d)->argo->send_L2_lock)) || \ 
 > > >        LOCKING_Write_L1) 
 > > > -#define ARGO_DEBUG 0 
 > > >   #define argo_dprintk(fmt, args...)                      \ 
 > > >       do {                                                \ 
 > > > -        if ( ARGO_DEBUG )                               \ 
 > > > +        if ( IS_ENABLED(CONFIG_ARGO_DEBUG) )            \ 
 > > >               gprintk(XENLOG_DEBUG, "argo: " fmt, ##args);\ 
 > > >       } while ( 0 ) 
 > > 
 > > Is a Kconfig really desired here? This such a trivial knob and one that is 
 > > really only intended for tuning by the developers. Exposing it as a Kconfig 
 > > option means you intend for this to be tuned by distro builders and wanting 
 > > to see it exercised by the CI RandConfig. 
 >  
 > Yes, something like this: parameterized CI (local) build variants. 
 >  
 > With Kconfig facility present it is simple to enable extra verbose debug 
 > builds. 
 >  


Another option is instead of doing a Kconfig to directly turn on/off debug, have it enable the availability of a command line paramter that enables argo debug messages.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 12:12:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 12:12:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1332665.1595322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWvJh-0001Ot-Fb; Tue, 09 Jun 2026 12:12:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1332665.1595322; Tue, 09 Jun 2026 12:12: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 1wWvJh-0001Om-Ap; Tue, 09 Jun 2026 12:12:25 +0000
Received: by outflank-mailman (input) for mailman id 1332665;
 Tue, 09 Jun 2026 12:01:11 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 1wWv8p-0007V8-0p; Tue, 09 Jun 2026 12:01:11 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWv8o-004DW7-D7; Tue, 09 Jun 2026 14:01:10 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 6a280084-bab6-0a2a0a5309dd-0a2a45039012-16
 for <multiple-recipients>; Tue, 09 Jun 2026 14:01:10 +0200
Received: from [104.130.215.37] (helo=mail.xenproject.org)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 6a280083-672d-0a2a45030019-6882d725bebc-3
 for <multiple-recipients>; Tue, 09 Jun 2026 14:01:08 +0200
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <andrewcoop@xenbits.xen.org>) id 1wWv8f-001eoF-2T;
 Tue, 09 Jun 2026 12:01:01 +0000
Received: from andrewcoop by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <andrewcoop@xenbits.xen.org>) id 1wWv8f-00CQlI-1D;
 Tue, 09 Jun 2026 12:01: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>
Authentication-Results: eu.smtp.expurgate.cloud; none
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.510 (Entity 5.510)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
 xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
CC: Xen.org security team <security-team-members@xen.org>
Subject: Xen Security Advisory 492 v3 (CVE-2026-42489,CVE-2026-42490) -
 domctl lock open to abuse
Message-Id: <E1wWv8f-00CQlI-1D@xenbits.xenproject.org>
Date: Tue, 09 Jun 2026 12:01:01 +0000
X-purgate-ID: tlsNG-33051d/1781006469-38577A98-A090D008/0/0
X-purgate-type: clean
X-purgate-size: 813132

--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

     Xen Security Advisory CVE-2026-42489,CVE-2026-42490 / XSA-492
                               version 3

                       domctl lock open to abuse

UPDATES IN VERSION 3
====================

Public release.

ISSUE DESCRIPTION
=================

To create and manage guests, domctl operations are used by the control
domain, a possible Xenstore domain, or by a domain controlling a
particular guest.  Some of these operations may not be executed in
parallel, so a system-wide lock is used.  The way that lock is acquired
is, however, not providing any fairness.  This is CVE-2026-42489.

Furthermore, with XSM/Flask in use, the lock acquire will, for some
operations, occur ahead of any permission checking.  This is
CVE-2026-42490.

IMPACT
======

A less privileged entity may stall an equally or more privileged entity,
potentially leading to a Denial od Service (DoS) of up to the entire
host.

VULNERABLE SYSTEMS
==================

All Xen versions from 3.3 onwards are vulnerable.  Earlier versions use
a different locking operation, but may also be vulnerable.

MITIGATION
==========

There is no known mitigation.

CREDITS
=======

This issue was discovered by Andrew Cooper of Citrix.

RESOLUTION
==========

Applying the appropriate set of attached patches resolves this issue.

NOTE: The staging and 4.21 patches include an adjustment to the default
Flask policy.  When custom policies are in use, a respective change
will need making there.

Note that patches for released versions are generally prepared to
apply to the stable branches, and may not apply cleanly to the most
recent release tarball.  Downstreams are encouraged to update to the
tip of the stable branch before applying these patches.

xsa492/xsa492-??.patch          xen-unstable
xsa492/xsa492-4.21-*.patch      Xen 4.21.x
xsa492/xsa492-4.20-*.patch      Xen 4.20.x
xsa492/xsa492-4.19-*.patch      Xen 4.19.x
xsa492/xsa492-4.18-*.patch      Xen 4.18.x
xsa492/xsa492-4.17-*.patch      Xen 4.17.x

$ sha256sum xsa492*/*
63352768b73f07b930185c5e02a57d6cf01f803020baf91c0868d4d13c328ada  xsa492/xsa492-01.patch
c4621381aa70785f78cba48c2a83a61a397941d907ff96978f6a0ee53e272c6d  xsa492/xsa492-02.patch
fb2413fc6d250cc3bbebee3d6d9c2c13d8cb22670e02d92ffdf4e6d4c4cd1781  xsa492/xsa492-03.patch
1d8e4fb30145ec084d6847624d3445074cb3d2d11983555e20e83f47fa6b082b  xsa492/xsa492-4.17-00.patch
3ebd555a3a95ac2f3569566ae8635258029512ea1209ab1cc87a0acbbab0371d  xsa492/xsa492-4.17-01.patch
0f2fc5f48cadcf8ebcb47363e4a355b209ce43e9d29f296fea62e7e49961b6cc  xsa492/xsa492-4.17-02.patch
9f33b50c4ae0836e40891d2dcf106e9bee178394557563747130eb60c8d80d98  xsa492/xsa492-4.17-03.patch
57b988d15a5c76b0e7b828c64150a9ac7ebc3fd82cced5b19f5e7986e498790f  xsa492/xsa492-4.17-04.patch
f8e0eedaacb535158fadd5b8695f78db630075c417ffff60e50cdc9bd4ef9809  xsa492/xsa492-4.17-05.patch
dd9a6f79ba21ec3840f8591656819117e8b6cb5c43cd8d556b3bfc43eff0e866  xsa492/xsa492-4.17-06.patch
057c2b1e57fb1134054c9f31bc6a21387d3f56880bdc270f12a277028d3d3f0e  xsa492/xsa492-4.17-07.patch
bea7d3da84529768a55022196dc72e56fec49f48c933acc0c130dc530e479fed  xsa492/xsa492-4.17-08.patch
32c322e2d9c9c2d7159e8aea4f8e4c66f9512046baf49127554b8485f0a6b233  xsa492/xsa492-4.17-09.patch
0a5d858d2c07990e3f0f86f1433199f06a5cbbf71013e67e92ea42d29d855f08  xsa492/xsa492-4.17-10.patch
f06d1cc9fa48c1411bbee4bd27583268b4bc6e6dfffbb816d16b238759b819c9  xsa492/xsa492-4.17-11.patch
0a1f15cade87920b68d6725444525845eebfd87847ac3bd79edfe8034ee7d69a  xsa492/xsa492-4.17-12.patch
3a11ab04730d06bf513ac1cc138ced306972dcfb574dcedd96c0af3e1825e792  xsa492/xsa492-4.17-13.patch
2b4b541a620a0e0d6b14b664d414c33807fbbff0328878332025b331bf367152  xsa492/xsa492-4.17-14.patch
362f412392e6deff71aa27a849f84f457b231d78c0b0ce5ff8125acad6d81166  xsa492/xsa492-4.17-15.patch
9d38b126c62e7d6e37b88a3f8879e3f96c3cdc0a8b087a1541d3eb2779dddc28  xsa492/xsa492-4.17-16.patch
cc88c36af3ad28c5f782c05afc2972cfa5f2d10933c2f10bb8651b35fb3fb5b9  xsa492/xsa492-4.17-17.patch
28fd452acfea8b6f47fe5315a4e9125e06f073107f4da81b8cf9cfd405c1fb81  xsa492/xsa492-4.18-00.patch
965778b12e11e65963f3ae1641699384fec3274e09038ee945f137ecb214fda9  xsa492/xsa492-4.18-01.patch
e4dec4550afb6e010f12ffa782b168d428976697206985ed9b478dba1ce6d087  xsa492/xsa492-4.18-02.patch
d1b84fd8b60bd3e68a403f890a99975b4600447f018a2454ec96e6d36c8133bf  xsa492/xsa492-4.18-03.patch
399a32394bafe04834d0927dfebb25b676e8186303414cc2d00aaf7496ceb7eb  xsa492/xsa492-4.18-04.patch
971d8802dce02250dfe0b97488ac7471c9ec40ad59e712c86628e6ed085052de  xsa492/xsa492-4.18-05.patch
69fb9b404942a001102ffa473c821fe6f2ec834ec61c0c096a5e099988a5184c  xsa492/xsa492-4.18-06.patch
eef5610ac16c88764a24af7d7a88766b7cb35fd7aa2211d5251418e1e24cd73a  xsa492/xsa492-4.18-07.patch
81a98a4ad7bfe80d5ab9570fc24618b6b0d8ad1bbea0c7b64e111db12c3d880d  xsa492/xsa492-4.18-08.patch
ac8666d08a690dbf6a418befc259d3c9120a7bab4b5aee454d96745e81d1b7e4  xsa492/xsa492-4.18-09.patch
0f5dcc2c22f0635b9dc2a271dcb0d3d518c29e32847dcd53523ed833b28cb388  xsa492/xsa492-4.18-10.patch
20e49ae722a10f834029aaed14cc130e155396e23505dc5b7ea8bf534538225d  xsa492/xsa492-4.18-11.patch
e6992e7dd686ed6c973754889a5f751e3c330268f373041a50145387c7cd0017  xsa492/xsa492-4.18-12.patch
c06ad87cd7262f20e560320b35cd90f5354d244aed7912d01e03914b4e8dc429  xsa492/xsa492-4.18-13.patch
dbf79d33d0c8f0d3d846f450e8ebac7c191996d824ef391ff9f8413a6d733060  xsa492/xsa492-4.18-14.patch
d7c23e1acbff4154fbabf4ce6bede0ad212a9a1673f1f3f57dc313a694497b79  xsa492/xsa492-4.18-15.patch
c5347ddf16789ab7d6b96e89e55116f248b56ee5bcac2fd5398563cffc6b7d06  xsa492/xsa492-4.18-16.patch
952b09b60cdb2c8a27ead0e77744add60d48e053ad0515019928d1a4d839e12e  xsa492/xsa492-4.18-17.patch
b8fecc7c43b3c6e6df00f77be89127fdd628f6ee0f819b622af4ce92b99c7948  xsa492/xsa492-4.18-18.patch
44b826e2c6fbac8e90b383c1e556ef92272c14186aaf8b83feb417eacd9d1d5d  xsa492/xsa492-4.19-00.patch
965778b12e11e65963f3ae1641699384fec3274e09038ee945f137ecb214fda9  xsa492/xsa492-4.19-01.patch
e091273f87c80fdf3671accfa3e74bf55f1931f0a4828cd81bf6bcb835d85e1a  xsa492/xsa492-4.19-02.patch
e91084d7d61a737e9d5625aa6c4582fbf4ba7bd0b5dcc963fa88cf530cdaeb46  xsa492/xsa492-4.19-03.patch
c778eaa47fcedff1db398f1301ed05e41e1dbd4be0ea5ed95f46ed30dbcdcebd  xsa492/xsa492-4.19-04.patch
d645785ea47cdcf82c1aabe31c2a3f0cb3f3977152abc7226a72ac00861f3981  xsa492/xsa492-4.19-05.patch
f73f4316859ee6579cc76cc9a1b83976151ffaa6504cc0e31c5f8240a08de1b7  xsa492/xsa492-4.19-06.patch
778c9862ff28a9c0c717c749f598fce59ae997287a2784d990a83cadfc1d33aa  xsa492/xsa492-4.19-07.patch
bf115087899d1245a28438a032701b5cd7c6c23b54e2b8c371fd63a0f03fab33  xsa492/xsa492-4.19-08.patch
24d59c55d5cc50b02fcbeb6b6c6803460d5cd9c5c570f758d2350431d2eaf84e  xsa492/xsa492-4.19-09.patch
274520906d1d700bbb8fcf6b20ae2241b7ac348e629e9ddb74ee1954a70a8421  xsa492/xsa492-4.19-10.patch
fce37cbb80e2c117c181517bf8970cc017e34ab6fe76177d4248b0de11ed5def  xsa492/xsa492-4.19-11.patch
3f4ce0153c1f72afc7aef1249bf3eda984fba0a33bfb743b044ea00a6a8a649b  xsa492/xsa492-4.19-12.patch
851a1002916655dc6080d9dfafe0ec3ead6b0036a75417abe578bfd0feb62d81  xsa492/xsa492-4.19-13.patch
e3942ee271b1eaad57a994fe1fae66cc419bd6e1906d63f76316080d06ebb3c4  xsa492/xsa492-4.19-14.patch
e4ac87f343a4a07f13f71128612a2c2291c3488a91e3a4f9450e1ba3f6ad5387  xsa492/xsa492-4.19-15.patch
3fc255759588c8c5c38b23231f4cacffd1b74150489c8469c9a2fd033960de97  xsa492/xsa492-4.19-16.patch
de1b799184e192c42c6880fd881c0c2b5d875cc59e1d7311b503b91607598493  xsa492/xsa492-4.19-17.patch
545f7bb417976dbabe347d035a363874b8402877168ab789f3629008d009d45b  xsa492/xsa492-4.19-18.patch
9a092bba381acc3061dbbaa73a237aa6eec3e9313d3ce0da61e18bfb88a021ab  xsa492/xsa492-4.20-01.patch
cd0da8fff3874e6ef120cd2511d9c6820f9fe55c26e6df2dbd1472c0001a9a18  xsa492/xsa492-4.20-02.patch
47e0903d30b4d8c1b557fb924cbd8af4ed29bc799972a539f38a04f89bcead60  xsa492/xsa492-4.20-03.patch
c878e0d086032948de3c21b15258ed3fb94f935e02859030e19d3238ed5c38bf  xsa492/xsa492-4.20-04.patch
765ed1d22e8c3c16f85b66846ea4b61bab5214445c72785acff67441331ab797  xsa492/xsa492-4.20-05.patch
2a16e862743f2e0a276bafb37847b5dfd97249ff93daa92d75bf839905a0030c  xsa492/xsa492-4.20-06.patch
8053a4fad16268ccaddbffcc52fffabae8a47e6ff4f1f83140c3ee7bccf97305  xsa492/xsa492-4.20-07.patch
223298c5fcd68cac15d87026141a6adfbc07f5f05a1577e58b7569a6467ab6ed  xsa492/xsa492-4.20-08.patch
649f634aca4943886cf9ab02650993eb0e4ca7d2e1648239813ea68f4a0df015  xsa492/xsa492-4.20-09.patch
7666dce350ee5e4eb4d284c851a074423252282dcf2e0d5621a0277da00c05bb  xsa492/xsa492-4.20-10.patch
57f7d845972af8c595869857b16658345ca03956e0a82d6c9e87542f02b5fe98  xsa492/xsa492-4.20-11.patch
55a8356f6a8dd2f0ca1904c21f25bd77abcebedf37b33710b7cacdec4f34f230  xsa492/xsa492-4.20-12.patch
9e75bcd02512b28133b0c608c67e17bef038df7d4fdd6f91813c42d5da294fc2  xsa492/xsa492-4.20-13.patch
34f19a0c48fb23ed0669334530f8c4206bec76f53f584c3d7a99bde19503edfd  xsa492/xsa492-4.20-14.patch
640fe725ddc35c6f3b70468a1f4d5b16f17b9c9817e70bd48b1628efdd75a4a1  xsa492/xsa492-4.20-15.patch
d56f9d42acc925377b81768005d524801d1841b3afe0351e23f99ee06a40a01f  xsa492/xsa492-4.20-16.patch
65165d7a6337d416eb193c50b3cfcb9d0ae85e7e1bdfcfa2b87449547e607c85  xsa492/xsa492-4.20-17.patch
f04d3a090e30d5333191975e1486fe905fa0d26dcb98b84bd05ec37a9fc0875a  xsa492/xsa492-4.20-18.patch
8b5c37b6eb1fc7f6b996dfd27c273e54b552a3a47c5b886bf05f512741491ede  xsa492/xsa492-4.21-01.patch
7d0991610408600cb61b045fa09dea0e378a0ff7fd69dde3fc12dfdf857f7175  xsa492/xsa492-4.21-02.patch
a0e60503408cbf7ffcdfe10ea9989631e924bb98040629ef1e544b4b771a8109  xsa492/xsa492-4.21-03.patch
2c8dd916a2b23dffc96bf3894a9b1213af87ca969549cb1f4d43b20b3a4fcef0  xsa492/xsa492-4.21-04.patch
b97054289876287980ebbf07fcc2f8b2d493388f70c397aa047856664475199d  xsa492/xsa492-4.21-05.patch
31677c9abcb3ede946a55401fc5bf5a965aff0b151b20144946400dd33d9de16  xsa492/xsa492-4.21-06.patch
04c9ec91ffa0b719b78dd95325433b7a9b2a36f712aaa11d4d86568454d62bb0  xsa492/xsa492-4.21-07.patch
89d80c6d0ac31aa55964d6d6f5aa9cd73c7887f8c51caf047d5312cbba64cbf1  xsa492/xsa492-4.21-08.patch
9ad936500fed5a4346b59d13ae0dc158a3199921eb4f24b0dc769fba046dcee3  xsa492/xsa492-4.21-09.patch
566de44fd6cc63f8252eb4cb617881497706f46578cea5bec24c94059f9b2ec5  xsa492/xsa492-4.21-10.patch
348ae9e83eaf8f4f5d7af19a37d24b8ab98849aa0d0afd60d20139d3c3de287f  xsa492/xsa492-4.21-11.patch
46ffaaab2aa919edc29c6ec3eae47573879481a5f1dc86887177b5669469c0b7  xsa492/xsa492-4.21-12.patch
7b183f27d264b9dd3a1f0daf758b6563493fb91dc434ee443754972fdeeccfc6  xsa492/xsa492-4.21-13.patch
6ad6e6d3c74ab675f156efea374cddf2ec6253d541840517db466fd81ad07407  xsa492/xsa492-4.21-14.patch
5af5ba298c1119a569c17f4cc30ff6b000663bae0e88daa77fc760517039c296  xsa492/xsa492-4.21-15.patch
78f4273344aae2f16c725a4914bc3f6c3e24a6daf4b2989dc6fef8a415721a90  xsa492/xsa492-4.21-16.patch
d178ebc53aa010692f77f45f39eaaf80ac3c2f4289a22727e355c530473cc5f5  xsa492/xsa492-4.21-17.patch
7724f047e4466ed46a53acc0b2a7bbbef5cf187bb459385810be40b55222c921  xsa492/xsa492-4.21-18.patch
79f24e539e1fbe1becb12abc0acf5ae2bfc8eb050fbaf45a5e8dfc9bfad66e45  xsa492/xsa492-4.21-19.patch
295260a51fdf5605f7a55c5f78639baeb17b820e28d6c03a93e7d8da3ccd16a9  xsa492/xsa492-4.21-20.patch
85fa36453fc4dcabc468fa870dd81efe6945ec5eca5da84eda8b3317527255aa  xsa492/xsa492-04.patch
c6d225644365a7d6cd284fa52b8240333baf51ff7bf6ff9264b0496fb6c60eab  xsa492/xsa492-05.patch
a6e99b4d9c6db7305a1ab426aabf16d296e01b1f1e966c9773e4c7e2a8d045d1  xsa492/xsa492-06.patch
e1be3cd0c991d3626f3cbdaf8a70aab756b2c7c0cec734f7f6f5f3fc776167a0  xsa492/xsa492-07.patch
5308abfd84083cb6ffbcc8f8eb3ff4452da09666adf7740af203c764770c9ff1  xsa492/xsa492-08.patch
d150da12954c776b47bf813f553eb784ce792c674464474ff24fff172b1249e1  xsa492/xsa492-09.patch
db67d1342177697dd83de757b8c29477ccb71fb91239b0362f23c722e2e744f8  xsa492/xsa492-10.patch
ed8140d31c764763cbb1fec06653d066fcdcd3a2862edb1a60e51096ba731d46  xsa492/xsa492-11.patch
0323bdf50a97f30f9a98b145575c466d9af8eddedb8a2e8c3d7a643b46cab3c1  xsa492/xsa492-12.patch
61605cec3fcbf980e89b458c48742dd9e911b6dc217ed47f3806c0f049b39129  xsa492/xsa492-13.patch
533e227aefdb4d2dd06c0ffe6c3caa1e865dd12a7919b0e5a55f0863a290d1d3  xsa492/xsa492-14.patch
5f47dee12852e252116d2e4cbf5c7a18f412316e00346ec3845185e2c77eb438  xsa492/xsa492-15.patch
1300425e6a4f7f759cb08d02f5fb20002e9af275985144e987b5357b6cc3189e  xsa492/xsa492-16.patch
89075c922eca804d6eda4dc5a7200a750ce16718a791e58813c2a869e09bfe90  xsa492/xsa492-17.patch
552d430465b89dbd15165cf3a03fa95a9d2d9cacd29cd3fc5c44c511596d39cf  xsa492/xsa492-18.patch
e7fe60cfb996eec460e9de2acce7a32b0b3fb3557cd35945faec67b4909c663d  xsa492/xsa492-19.patch
15edac4769d98a09085bef4845f9485017611ffb9b0a9c65ac32cae557531ccc  xsa492/xsa492-20.patch
$

DEPLOYMENT DURING EMBARGO
=========================

Deployment of the patches and/or mitigations described above (or
others which are substantially similar) is permitted during the
embargo, even on public-facing systems with untrusted guest users and
administrators.

But: Distribution of updated software is prohibited (except to other
members of the predisclosure list).

Predisclosure list members who wish to deploy significantly different
patches and/or mitigations, please contact the Xen Project Security
Team.

(Note: this during-embargo deployment notice is retained in
post-embargo publicly released Xen Project advisories, even though it
is then no longer applicable.  This is to enable the community to have
oversight of the Xen Project Security Team's decisionmaking.)

For more information about permissible uses of embargoed information,
consult the Xen Project community's agreed Security Policy:
  http://www.xenproject.org/security-policy.html
-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmon+5AMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZ2VEIAJ77x56m0qwMOSA7YRUFeFEAS4u0C597ooGMskZW
mLcehR/NpnGetfiY6/XbEUiCXzJiHsSeG4OWygw8LRpRztPKR8VpA+seJx1My3iX
vBsFmzVA4tXRKSorV4/kZx5uIUNXtCMFY9Zm0BQGlrmBoel7/6/Mk91sS+dYJtc9
SZM8MDSGlPAvENe35+IzmCnTGIZhtgIaaoIYjbRRO/oV0Zfz/S1yXGyD6yzwSkbV
qNfgOV3KDQn0AmJRZsHBuw3SMFG+lFQhLAWpqTfu8d8pIc5wGqtTs02uJrC7gY+O
WRl+hfzIPhG2cH6SNsaYq/t3OSSWeYQAwf7gm4Fg/OZ32ac=
=Sg49
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-01.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-01.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBzY2hlZDogdXNlIHNlcXVlbmNlIGNvdW50ZXIgdG8gZW5saWdodGVuIHZj
cHVfcnVuc3RhdGVfZ2V0KCkKClN1YnNlcXVlbnRseSBYRU5fRE9NQ1RMX2dl
dGRvbWFpbmluZm8gd2lsbCB3YW50IHRvIGludm9rZSB0aGUgZnVuY3Rpb24K
d2l0aG91dCBob2xkaW5nIGEgbG9jaywgdGh1cyBhbGxvd2luZyBwYXJhbGxl
bCBleGVjdXRpb24gb2YgcG90ZW50aWFsbHkKbWFueSBpbnN0YW5jZXMuIEFz
IHdhcyBsZWFybmVkIGZyb20gMjI4YWI5OTkyZmZiICgiZG9tY3RsOiBpbXBy
b3ZlCmxvY2tpbmcgZHVyaW5nIGRvbWFpbiBkZXN0cnVjdGlvbiIpLCByZXZl
cnRlZCBieSBkMDg4N2NjNmIxNmUsIHN1Y2gKcGFyYWxsZWxpc20gY2FuIHJl
c3VsdCBpbiBzZXZlcmUgbG9jayBjb250ZW50aW9uIG9uIGFueSAocHJldmlv
dXNseSkKaW5uZXIgbG9jay4gVG8gYXZvaWQgdGFraW5nIHRoYXQgcmlzayBy
ZXBsYWNlIHRoZSB1c2Ugb2YgdGhlIHNjaGVkdWxlcgpsb2NrIGluIHZjcHVf
cnVuc3RhdGVfZ2V0KCkgYnkgYSBuZXdseSBpbnRyb2R1Y2VkIHNlcXVlbmNl
IGNvdW50ZXIuCkNvbnZlcnQgdGhlICJubyBsb2NrIGlmIGN1cnJlbnQiIHBy
b3BlcnR5IHRvICJ1c2UgYSBsb2NhbCBjb3VudGVyCmluc3RhbmNlIiwgdGh1
cyBndWFyYW50ZWVpbmcgdGhlIGxvb3AgdG8gZXhpdCBhZnRlciB0aGUgZmly
c3QgaXRlcmF0aW9uLgoKU2tlbGV0b24gYW5kIGNvbW1lbnRhcnkgb2YgdGhl
IHNlcWNvdW50IGltcGxlbWVudGF0aW9uIGJhc2VkIG9uIC8KZGVyaXZlZCBm
cm9tIExpbnV4IDYuMTEtcmMuCgpUbyBoYXZlIHJ1bnN0YXRlX3NlcSBwbGFj
ZWQgbmV4dCB0byBydW5zdGF0ZSBpbiBzdHJ1Y3QgdmNwdSwgd2l0aG91dApp
bnRyb2R1Y2luZyBhIG5ldyBvYnZpb3VzIHBhZGRpbmcgaG9sZSwgeWV0IHdo
aWxlIGtlZXBpbmcgdGhlIGxhdHRlcgphZGphY2VudCB0byBydW5zdGF0ZV9n
dWVzdHssX2FyZWF9IGFzIHdlbGwsIG1vdmUgcnVuc3RhdGUgZG93biBhIGxp
dHRsZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKUmVxdWVzdGVkLWJ5
OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpT
aWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+
ClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIz
QGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxy
b2dlci5wYXVAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jv
c3MgPGpncm9zc0BzdXNlLmNvbT4KCi0tLSBhL3hlbi9jb21tb24vc2NoZWQv
Y29yZS5jCisrKyBiL3hlbi9jb21tb24vc2NoZWQvY29yZS5jCkBAIC0yODEs
MTMgKzI4MSwxOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgdmNwdV9ydW5zdGF0
ZV9jaGFuZ2UoCiAgICAgfQogCiAgICAgZGVsdGEgPSBuZXdfZW50cnlfdGlt
ZSAtIHYtPnJ1bnN0YXRlLnN0YXRlX2VudHJ5X3RpbWU7Ci0gICAgaWYgKCBk
ZWx0YSA+IDAgKQorCisgICAgLyogU2VyaWFsaXphdGlvbjogLT5zY2hlZHVs
ZV9sb2NrIChzZWUgQVNTRVJUKCkgYWJvdmUpLiAqLworICAgIHdpdGhfc2Vx
X3dyaXRlKCZ2LT5ydW5zdGF0ZV9zZXEpCiAgICAgewotICAgICAgICB2LT5y
dW5zdGF0ZS50aW1lW3YtPnJ1bnN0YXRlLnN0YXRlXSArPSBkZWx0YTsKLSAg
ICAgICAgdi0+cnVuc3RhdGUuc3RhdGVfZW50cnlfdGltZSA9IG5ld19lbnRy
eV90aW1lOwotICAgIH0KKyAgICAgICAgaWYgKCBkZWx0YSA+IDAgKQorICAg
ICAgICB7CisgICAgICAgICAgICB2LT5ydW5zdGF0ZS50aW1lW3YtPnJ1bnN0
YXRlLnN0YXRlXSArPSBkZWx0YTsKKyAgICAgICAgICAgIHYtPnJ1bnN0YXRl
LnN0YXRlX2VudHJ5X3RpbWUgPSBuZXdfZW50cnlfdGltZTsKKyAgICAgICAg
fQogCi0gICAgdi0+cnVuc3RhdGUuc3RhdGUgPSBuZXdfc3RhdGU7CisgICAg
ICAgIHYtPnJ1bnN0YXRlLnN0YXRlID0gbmV3X3N0YXRlOworICAgIH0KIH0K
IAogdm9pZCBzY2hlZF9ndWVzdF9pZGxlKHZvaWQgKCppZGxlKSAodm9pZCks
IHVuc2lnbmVkIGludCBjcHUpCkBAIC0zMDcsMzAgKzMxMiwxOCBAQCB2b2lk
IHNjaGVkX2d1ZXN0X2lkbGUodm9pZCAoKmlkbGUpICh2b2lkCiB2b2lkIHZj
cHVfcnVuc3RhdGVfZ2V0KGNvbnN0IHN0cnVjdCB2Y3B1ICp2LAogICAgICAg
ICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmNwdV9ydW5zdGF0ZV9pbmZvICpy
dW5zdGF0ZSkKIHsKLSAgICBzcGlubG9ja190ICpsb2NrOwotICAgIHNfdGlt
ZV90IGRlbHRhOwotICAgIHN0cnVjdCBzY2hlZF91bml0ICp1bml0OworICAg
IHN0cnVjdCBzZXFjb3VudCBzZXEgPSBTRVFDTlRfWkVSTygpOworICAgIGNv
bnN0IHN0cnVjdCBzZXFjb3VudCAqcyA9IGxpa2VseSh2ID09IGN1cnJlbnQp
ID8gJnNlcSA6ICZ2LT5ydW5zdGF0ZV9zZXE7CiAKLSAgICByY3VfcmVhZF9s
b2NrKCZzY2hlZF9yZXNfcmN1bG9jayk7Ci0KLSAgICAvKgotICAgICAqIEJl
IGNhcmVmdWwgaW4gY2FzZSBvZiBhbiBpZGxlIHZjcHU6IHRoZSBhc3NpZ25t
ZW50IHRvIGEgdW5pdCBtaWdodAotICAgICAqIGNoYW5nZSBldmVuIHdpdGgg
dGhlIHNjaGVkdWxpbmcgbG9jayBoZWxkLCBzbyBiZSBzdXJlIHRvIHVzZSB0
aGUKLSAgICAgKiBjb3JyZWN0IHVuaXQgZm9yIGxvY2tpbmcgaW4gb3JkZXIg
dG8gYXZvaWQgdHJpZ2dlcmluZyBhbiBBU1NFUlQoKSBpbgotICAgICAqIHRo
ZSB1bmxvY2sgZnVuY3Rpb24uCi0gICAgICovCi0gICAgdW5pdCA9IGlzX2lk
bGVfdmNwdSh2KSA/IGdldF9zY2hlZF9yZXModi0+cHJvY2Vzc29yKS0+c2No
ZWRfdW5pdF9pZGxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICA6IHYt
PnNjaGVkX3VuaXQ7Ci0gICAgbG9jayA9IGxpa2VseSh2ID09IGN1cnJlbnQp
ID8gTlVMTCA6IHVuaXRfc2NoZWR1bGVfbG9ja19pcnEodW5pdCk7Ci0gICAg
bWVtY3B5KHJ1bnN0YXRlLCAmdi0+cnVuc3RhdGUsIHNpemVvZigqcnVuc3Rh
dGUpKTsKLSAgICBkZWx0YSA9IE5PVygpIC0gcnVuc3RhdGUtPnN0YXRlX2Vu
dHJ5X3RpbWU7Ci0gICAgaWYgKCBkZWx0YSA+IDAgKQotICAgICAgICBydW5z
dGF0ZS0+dGltZVtydW5zdGF0ZS0+c3RhdGVdICs9IGRlbHRhOwotCi0gICAg
aWYgKCB1bmxpa2VseShsb2NrICE9IE5VTEwpICkKLSAgICAgICAgdW5pdF9z
Y2hlZHVsZV91bmxvY2tfaXJxKGxvY2ssIHVuaXQpOworICAgIHVudGlsX3Nl
cV9yZWFkKHMpCisgICAgeworICAgICAgICBzX3RpbWVfdCBkZWx0YTsKIAot
ICAgIHJjdV9yZWFkX3VubG9jaygmc2NoZWRfcmVzX3JjdWxvY2spOworICAg
ICAgICAqcnVuc3RhdGUgPSB2LT5ydW5zdGF0ZTsKKyAgICAgICAgZGVsdGEg
PSBOT1coKSAtIHJ1bnN0YXRlLT5zdGF0ZV9lbnRyeV90aW1lOworICAgICAg
ICBpZiAoIGRlbHRhID4gMCApCisgICAgICAgICAgICBydW5zdGF0ZS0+dGlt
ZVtydW5zdGF0ZS0+c3RhdGVdICs9IGRlbHRhOworICAgIH0KIH0KIAogdWlu
dDY0X3QgZ2V0X2NwdV9pZGxlX3RpbWUodW5zaWduZWQgaW50IGNwdSkKLS0t
IGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKKysrIGIveGVuL2luY2x1ZGUv
eGVuL3NjaGVkLmgKQEAgLTE2LDYgKzE2LDcgQEAKICNpbmNsdWRlIDx4ZW4v
cmFkaXgtdHJlZS5oPgogI2luY2x1ZGUgPHhlbi9tdWx0aWNhbGwuaD4KICNp
bmNsdWRlIDx4ZW4vbm9zcGVjLmg+CisjaW5jbHVkZSA8eGVuL3NlcWNvdW50
Lmg+CiAjaW5jbHVkZSA8eGVuL3Rhc2tsZXQuaD4KICNpbmNsdWRlIDx4ZW4v
bW0uaD4KICNpbmNsdWRlIDx4ZW4vc21wLmg+CkBAIC0xOTgsNyArMTk5LDYg
QEAgc3RydWN0IHZjcHUKIAogICAgIHN0cnVjdCBzY2hlZF91bml0ICpzY2hl
ZF91bml0OwogCi0gICAgc3RydWN0IHZjcHVfcnVuc3RhdGVfaW5mbyBydW5z
dGF0ZTsKICNpZm5kZWYgQ09ORklHX0NPTVBBVAogIyBkZWZpbmUgcnVuc3Rh
dGVfZ3Vlc3QodikgKCh2KS0+cnVuc3RhdGVfZ3Vlc3QpCiAgICAgWEVOX0dV
RVNUX0hBTkRMRSh2Y3B1X3J1bnN0YXRlX2luZm9fdCkgcnVuc3RhdGVfZ3Vl
c3Q7IC8qIGd1ZXN0IGFkZHJlc3MgKi8KQEAgLTIxMCw2ICsyMTAsOCBAQCBz
dHJ1Y3QgdmNwdQogICAgIH0gcnVuc3RhdGVfZ3Vlc3Q7IC8qIGd1ZXN0IGFk
ZHJlc3MgKi8KICNlbmRpZgogICAgIHN0cnVjdCBndWVzdF9hcmVhIHJ1bnN0
YXRlX2d1ZXN0X2FyZWE7CisgICAgc3RydWN0IHZjcHVfcnVuc3RhdGVfaW5m
byBydW5zdGF0ZTsKKyAgICBzdHJ1Y3Qgc2VxY291bnQgIHJ1bnN0YXRlX3Nl
cTsKICAgICB1bnNpZ25lZCBpbnQgICAgIG5ld19zdGF0ZTsKIAogICAgIC8q
IEluaXRpYWxpemF0aW9uIGNvbXBsZXRlZCBmb3IgdGhpcyBWQ1BVPyAqLwot
LS0gL2Rldi9udWxsCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9zZXFjb3VudC5o
CkBAIC0wLDAgKzEsMTM5IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmll
cjogR1BMLTIuMC1vbmx5ICovCisjaWZuZGVmIFhFTl9TRVFDT1VOVF9ICisj
ZGVmaW5lIFhFTl9TRVFDT1VOVF9ICisKKyNpbmNsdWRlIDx4ZW4vbGliLmg+
CisjaW5jbHVkZSA8eGVuL25vc3BlYy5oPgorCisjaW5jbHVkZSA8YXNtL2F0
b21pYy5oPgorI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KKworLyoKKyAqIFNl
cXVlbmNlIGNvdW50ZXJzIChzZXFjb3VudF90KQorICoKKyAqIFRoaXMgaXMg
dGhlIHJhdyBjb3VudGluZyBtZWNoYW5pc20sIHdpdGhvdXQgYW55IHdyaXRl
ciBwcm90ZWN0aW9uLgorICoKKyAqIFdyaXRlIHNpZGUgY3JpdGljYWwgc2Vj
dGlvbnMgbXVzdCBiZSBzZXJpYWxpemVkIChhbmQgbm9uLXByZWVtcHRpYmxl
KS4KKyAqCisgKiBJZiByZWFkZXJzIGNhbiBiZSBpbnZva2VkIGZyb20gaW50
ZXJydXB0IGNvbnRleHRzLCBpbnRlcnJ1cHRzIG11c3QgYWxzbworICogYmUg
cmVzcGVjdGl2ZWx5IGRpc2FibGVkIGJlZm9yZSBlbnRlcmluZyB0aGUgd3Jp
dGUgc2VjdGlvbi4KKyAqCisgKiBUaGlzIG1lY2hhbmlzbSBjYW4ndCBiZSB1
c2VkIGlmIHRoZSBwcm90ZWN0ZWQgZGF0YSBjb250YWlucyBwb2ludGVycywK
KyAqIGFzIHRoZSB3cml0ZXIgY2FuIGludmFsaWRhdGUgYSBwb2ludGVyIHRo
YXQgYSByZWFkZXIgaXMgZm9sbG93aW5nLgorICovCitzdHJ1Y3Qgc2VxY291
bnQgeworICAgIHVuc2lnbmVkIGludCBzZXF1ZW5jZTsKK307CisKKy8qCisg
KiBTRVFDTlRfWkVSTygpIC0gaW5pdGlhbGl6ZXIgZm9yIHNlcWNvdW50X3QK
KyAqIEBuYW1lOiBOYW1lIG9mIHRoZSBzdHJ1Y3Qgc2VxY291bnQgaW5zdGFu
Y2UKKyAqLworI2RlZmluZSBTRVFDTlRfWkVSTygpIHsgLnNlcXVlbmNlID0g
MCB9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IHNlcXByb3Bfc2Vx
dWVuY2UoY29uc3Qgc3RydWN0IHNlcWNvdW50ICpzKQoreworICAgIHJldHVy
biBBQ0NFU1NfT05DRShzLT5zZXF1ZW5jZSk7Cit9CisKKy8qCisgKiByZWFk
X3NlcWNvdW50X2JlZ2luKCkgLSBiZWdpbiBhIHNlcWNvdW50IHJlYWQgY3Jp
dGljYWwgc2VjdGlvbgorICogQHM6IFBvaW50ZXIgdG8gc3RydWN0IHNlcWNv
dW50CisgKgorICogUmV0dXJuOiBjb3VudCB0byBiZSBwYXNzZWQgdG8gcmVh
ZF9zZXFjb3VudF9yZXRyeSgpCisgKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWdu
ZWQgaW50IF9yZWFkX3NlcWNvdW50X2JlZ2luKGNvbnN0IHN0cnVjdCBzZXFj
b3VudCAqcykKK3sKKyAgICB1bnNpZ25lZCBpbnQgc2VxOworCisgICAgd2hp
bGUgKChzZXEgPSBzZXFwcm9wX3NlcXVlbmNlKHMpKSAmIDEpCisgICAgICAg
IGNwdV9yZWxheCgpOworCisgICAgc21wX3JtYigpOworCisgICAgcmV0dXJu
IHNlcTsKK30KKworc3RhdGljIGFsd2F5c19pbmxpbmUgdW5zaWduZWQgaW50
IHJlYWRfc2VxY291bnRfYmVnaW4oY29uc3Qgc3RydWN0IHNlcWNvdW50ICpz
KQoreworICAgIHVuc2lnbmVkIGludCBzZXEgPSBfcmVhZF9zZXFjb3VudF9i
ZWdpbihzKTsKKworICAgIGJsb2NrX2xvY2tfc3BlY3VsYXRpb24oKTsKKwor
ICAgIHJldHVybiBzZXE7Cit9CisKKy8qCisgKiByZWFkX3NlcWNvdW50X3Jl
dHJ5KCkgLSBlbmQgYSBzZXFjb3VudCByZWFkIGNyaXRpY2FsIHNlY3Rpb24K
KyAqIEBzOiBQb2ludGVyIHRvIHN0cnVjdCBzZXFjb3VudAorICogQHN0YXJ0
OiBjb3VudCwgZnJvbSByZWFkX3NlcWNvdW50X2JlZ2luKCkKKyAqCisgKiBy
ZWFkX3NlcWNvdW50X3JldHJ5IGNsb3NlcyB0aGUgcmVhZCBjcml0aWNhbCBz
ZWN0aW9uIG9mIGdpdmVuIHN0cnVjdAorICogc2VxY291bnQuICBJZiB0aGUg
Y3JpdGljYWwgc2VjdGlvbiB3YXMgaW52YWxpZCwgaXQgbXVzdCBiZSBpZ25v
cmVkCisgKiAoYW5kIHR5cGljYWxseSByZXRyaWVkKS4KKyAqCisgKiBSZXR1
cm46IHRydWUgaWYgYSByZWFkIHNlY3Rpb24gcmV0cnkgaXMgcmVxdWlyZWQs
IGVsc2UgZmFsc2UKKyAqLworc3RhdGljIGlubGluZSBib29sIF9yZWFkX3Nl
cWNvdW50X3JldHJ5KGNvbnN0IHN0cnVjdCBzZXFjb3VudCAqcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQgc3RhcnQpCit7CisgICAgc21wX3JtYigpOworICAgIHJldHVybiB1bmxp
a2VseShzZXFwcm9wX3NlcXVlbmNlKHMpICE9IHN0YXJ0KTsKK30KKworc3Rh
dGljIGFsd2F5c19pbmxpbmUgYm9vbCByZWFkX3NlcWNvdW50X3JldHJ5KGNv
bnN0IHN0cnVjdCBzZXFjb3VudCAqcywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgc3RhcnQp
Cit7CisgICAgcmV0dXJuIGxvY2tfZXZhbHVhdGVfbm9zcGVjKF9yZWFkX3Nl
cWNvdW50X3JldHJ5KHMsIHN0YXJ0KSk7Cit9CisKKy8qIExvb3BzIHVudGls
IGEgY29uc2lzdGVudCBjb3VudCBoYXMgYmVlbiBvYnNlcnZlZCBhY3Jvc3Mg
dGhlIGxvb3AgYm9keS4gKi8KKyNkZWZpbmUgdW50aWxfc2VxX3JlYWQoc2Vx
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBm
b3IgKCB1bnNpZ25lZCBpbnQgcmV0cnlfID0gMSwgY291bnRfOyAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICAgICAgICByZXRyeV8gJiYgKGNvdW50XyA9
IHJlYWRfc2VxY291bnRfYmVnaW4oc2VxKSwgdHJ1ZSk7IFwKKyAgICAgICAg
ICByZXRyeV8gPSByZWFkX3NlcWNvdW50X3JldHJ5KHNlcSwgY291bnRfKSAp
CisKKy8qCisgKiB3cml0ZV9zZXFjb3VudF9iZWdpbigpIC0gc3RhcnQgYSBz
dHJ1Y3Qgc2VxY291bnQgd3JpdGUgc2lkZSBjcml0aWNhbCBzZWN0aW9uCisg
KiBAczogUG9pbnRlciB0byBzdHJ1Y3Qgc2VxY291bnQKKyAqCisgKiBDb250
ZXh0OiBzZXF1ZW5jZSBjb3VudGVyIHdyaXRlIHNpZGUgc2VjdGlvbnMgbXVz
dCBiZSBzZXJpYWxpemVkLgorICogSWYgcmVhZGVycyBjYW4gYmUgaW52b2tl
ZCBmcm9tIGludGVycnVwdCBjb250ZXh0LCBpbnRlcnJ1cHRzIG11c3QgYmUK
KyAqIHJlc3BlY3RpdmVseSBkaXNhYmxlZC4KKyAqLworc3RhdGljIGlubGlu
ZSB2b2lkIHdyaXRlX3NlcWNvdW50X2JlZ2luKHN0cnVjdCBzZXFjb3VudCAq
cykKK3sKKyAgICBhZGRfc2l6ZWQoJnMtPnNlcXVlbmNlLCAxKTsKKyAgICBz
bXBfd21iKCk7Cit9CisKKy8qCisgKiB3cml0ZV9zZXFjb3VudF9lbmQoKSAt
IGVuZCBhIHN0cnVjdCBzZXFjb3VudCB3cml0ZSBzaWRlIGNyaXRpY2FsIHNl
Y3Rpb24KKyAqIEBzOiBQb2ludGVyIHRvIHNlcWNvdW50CisgKi8KK3N0YXRp
YyBpbmxpbmUgdm9pZCB3cml0ZV9zZXFjb3VudF9lbmQoc3RydWN0IHNlcWNv
dW50ICpzKQoreworICAgIHNtcF93bWIoKTsKKyAgICBhZGRfc2l6ZWQoJnMt
PnNlcXVlbmNlLCAxKTsKK30KKworLyoKKyAqIE5vdCByZWFsbHkgYSBsb29w
LCBidXQgd2UgbmVlZCB3cml0ZV9zZXFjb3VudF97YmVnaW4sZW5kfSgpIGlu
IHRoZSBjb3JyZWN0CisgKiBwb3NpdGlvbi4KKyAqLworI2RlZmluZSB3aXRo
X3NlcV93cml0ZShzZXEpICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIGZvciAoIGJvb2wgb25jZV8gPSB0cnVlOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgICAgICAgIG9uY2VfICYmICh3cml0ZV9zZXFjb3Vu
dF9iZWdpbihzZXEpLCB0cnVlKTsgXAorICAgICAgICAgICh3cml0ZV9zZXFj
b3VudF9lbmQoc2VxKSwgb25jZV8gPSBmYWxzZSkgKQorCisjZW5kaWYgLyog
WEVOX1NFUUNPVU5UX0ggKi8KKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoK
KyAqIG1vZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFz
aWMtb2Zmc2V0OiA0CisgKiB0YWItd2lkdGg6IDQKKyAqIGluZGVudC10YWJz
LW1vZGU6IG5pbAorICogRW5kOgorICovCg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-02.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-02.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2dldGRvbWFpbmluZm8gd2l0
aG91dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKCmdldGRvbWFpbmluZm8oKSBp
cyBub3QgY2FsbGVkIHVuZGVyIGNvbnNpc3RlbnRseSB0aGUgc2FtZSBsb2Nr
LiBUaHVzLAp3aXRoIGNhbGxlciBzaWRlIGxvY2tpbmcgaXJyZWxldmFudCwg
aXQgY2FuIGFzIHdlbGwgYmUgY2FsbGVkIHdpdGggdGhlCmRvbWN0bCBsb2Nr
IG5vdCBoZWxkLiAoQ2FsbGVycyBub3QgcGF1c2luZyB0aGUgZG9tYWluIHRo
ZXkgd2FudCB0bwpyZXRyaWV2ZSBpbmZvcm1hdGlvbiBmb3IgYWxyZWFkeSBu
ZWVkIHRvIGJlIGF3YXJlIHRoYXQgbm90IGFsbCBvZiB0aGUKZGF0YSByZXR1
cm5lZCBjYW4gYmUgcmVsaWVkIG9uIGFzIGJlaW5nIGNvbnNpc3RlbnQ7IG1v
c3QgZGF0YSB3aWxsIGFsc28KYmUgc3RhbGUgYnkgdGhlIHRpbWUgdGhlIGNh
bGxlciBnZXRzIHRvIGxvb2sgYXQgaXQuKQoKTW92ZSB0aGUgaGFuZGxpbmcg
bm90IG9ubHkgYWhlYWQgb2YgYWNxdWlyaW5nIHRoZSBsb2NrLCBidXQgYWxz
byBhaGVhZApvZiB0aGUgWFNNIGNoZWNrLCBsZXZlcmFnaW5nIHRoYXQgdGhl
IHN1Yi1vcCBoYXMgaXRzIG93biBob29rLgoKV2hpbGUgbW92aW5nLCBjb252
ZXJ0IGFuIGFzc2lnbm1lbnQgdG8gYW4gYXNzZXJ0aW9uOiBUaGUgZG9tYWlu
IGluCnF1ZXN0aW9uIHdhcyBkZXRlcm1pbmVkIGZyb20gdGhlIGZpZWxkIHdo
aWNoIHByZXZpb3VzbHkgd2FzICJ1cGRhdGVkIi4KClRoaXMgaXMgcGFydCBv
ZiBYU0EtNDkyLgoKRml4ZXM6IDU1MTNiZDBiNDY3NSAoImFkZCB4ZW5zdG9y
ZSBkb21haW4gZmxhZyB0byBoeXBlcnZpc29yIikKUmVwb3J0ZWQtYnk6IEFu
ZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClNpZ25l
ZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2
aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXgu
Y29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0
dXNzb2x1dGlvbnMuY29tPgoKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYwor
KysgYi94ZW4vY29tbW9uL2RvbWN0bC5jCkBAIC0zMTgsNiArMzE4LDI2IEBA
IGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAg
ICAgICAgYnJlYWs7CiAgICAgfQogCisgICAgLyogSGFuZGxlIHN1Yi1vcHMg
bm90IHJlcXVpcmluZyB0aGUgZG9tY3RsIGxvY2suICovCisgICAgc3dpdGNo
ICggb3AtPmNtZCApCisgICAgeworICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRk
b21haW5pbmZvOgorICAgICAgICByZXQgPSB4c21fZ2V0ZG9tYWluaW5mbyhY
U01fWFNfUFJJViwgZCk7CisgICAgICAgIGlmICggIXJldCApCisgICAgICAg
IHsKKyAgICAgICAgICAgIGdldGRvbWFpbmluZm8oZCwgJm9wLT51LmdldGRv
bWFpbmluZm8pOworCisgICAgICAgICAgICBBU1NFUlQob3AtPmRvbWFpbiA9
PSBvcC0+dS5nZXRkb21haW5pbmZvLmRvbWFpbik7CisgICAgICAgICAgICBj
b3B5YmFjayA9IHRydWU7CisgICAgICAgIH0KKworICAgICAgICBnb3RvIGRv
bWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CisKKyAgICBkZWZhdWx0OgorICAg
ICAgICAvKiBFdmVyeXRoaW5nIGVsc2UgaGFuZGxlZCBmdXJ0aGVyIGRvd24u
ICovCisgICAgICAgIGJyZWFrOworICAgIH0KKwogICAgIHJldCA9IHhzbV9k
b21jdGwoWFNNX09USEVSLCBkLCBvcC0+Y21kLAogICAgICAgICAgICAgICAg
ICAgICAgLyogU1NJRFJlZiBvbmx5IGFwcGxpY2FibGUgZm9yIGNtZCA9PSBj
cmVhdGVkb21haW4gKi8KICAgICAgICAgICAgICAgICAgICAgIG9wLT51LmNy
ZWF0ZWRvbWFpbi5zc2lkcmVmKTsKQEAgLTUyMiwxNyArNTQyLDYgQEAgbG9u
ZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAg
ICBjb3B5YmFjayA9IDE7CiAgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBY
RU5fRE9NQ1RMX2dldGRvbWFpbmluZm86Ci0gICAgICAgIHJldCA9IHhzbV9n
ZXRkb21haW5pbmZvKFhTTV9YU19QUklWLCBkKTsKLSAgICAgICAgaWYgKCBy
ZXQgKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgZ2V0ZG9tYWlu
aW5mbyhkLCAmb3AtPnUuZ2V0ZG9tYWluaW5mbyk7Ci0KLSAgICAgICAgb3At
PmRvbWFpbiA9IG9wLT51LmdldGRvbWFpbmluZm8uZG9tYWluOwotICAgICAg
ICBjb3B5YmFjayA9IDE7Ci0gICAgICAgIGJyZWFrOwotCiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2dldHZjcHVjb250ZXh0OgogICAgIHsKICAgICAgICAgdmNw
dV9ndWVzdF9jb250ZXh0X3UgYyA9IHsgLm5hdCA9IE5VTEwgfTsKLS0tIGEv
eGVuL2luY2x1ZGUveHNtL2R1bW15LmgKKysrIGIveGVuL2luY2x1ZGUveHNt
L2R1bW15LmgKQEAgLTE3Miw5ICsxNzIsMTMgQEAgc3RhdGljIFhTTV9JTkxJ
TkUgaW50IGNmX2NoZWNrIHhzbV9kb21jdAogICAgIGNhc2UgWEVOX0RPTUNU
TF9iaW5kX3B0X2lycToKICAgICBjYXNlIFhFTl9ET01DVExfdW5iaW5kX3B0
X2lycToKICAgICAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihYU01f
RE1fUFJJViwgY3VycmVudC0+ZG9tYWluLCBkKTsKLSAgICBjYXNlIFhFTl9E
T01DVExfZ2V0ZG9tYWluaW5mbzoKICAgICBjYXNlIFhFTl9ET01DVExfZ2V0
X2RvbWFpbl9zdGF0ZToKICAgICAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2Fj
dGlvbihYU01fWFNfUFJJViwgY3VycmVudC0+ZG9tYWluLCBkKTsKKworICAg
IGNhc2UgWEVOX0RPTUNUTF9nZXRkb21haW5pbmZvOgorICAgICAgICBBU1NF
UlRfVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgcmV0dXJuIC1FSUxTRVE7CisK
ICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0
aW9uKFhTTV9QUklWLCBjdXJyZW50LT5kb21haW4sIGQpOwogICAgIH0KLS0t
IGEveGVuL3hzbS9mbGFzay9ob29rcy5jCisrKyBiL3hlbi94c20vZmxhc2sv
aG9va3MuYwpAQCAtNjQ5LDggKzY0OSwxMiBAQCBzdGF0aWMgaW50IGNmX2No
ZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICAgICAgICovCiAgICAgICAg
IHJldHVybiBhdmNfY3VycmVudF9oYXNfcGVybShzc2lkcmVmLCBTRUNDTEFT
U19ET01BSU4sIERPTUFJTl9fQ1JFQVRFLCBOVUxMKTsKIAotICAgIC8qIFRo
ZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9kb21jdGwu
YykgKi8KKyAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tz
IGFuZCBkb24ndCBtYWtlIGl0IGhlcmUuICovCiAgICAgY2FzZSBYRU5fRE9N
Q1RMX2dldGRvbWFpbmluZm86CisgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJM
RSgpOworICAgICAgICByZXR1cm4gLUVJTFNFUTsKKworICAgIC8qIFRoZXNl
IGhhdmUgaW5kaXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9kb21jdGwuYykg
Ki8KICAgICBjYXNlIFhFTl9ET01DVExfc2NoZWR1bGVyX29wOgogICAgIGNh
c2UgWEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9E
T01DVExfaW9tZW1fcGVybWlzc2lvbjoK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-03.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-03.patch"
Content-Transfer-Encoding: base64

RnJvbTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlv
bnMuY29tPgpTdWJqZWN0OiBkb21jdGw6IHByb3RlY3QgbG9ja2luZyBmb3Ig
Z2V0X2RvbWFpbl9zdGF0ZQoKV2hlbiBET01JRF9JTlZBTElEIGlzIHBhc3Nl
ZCwgdGhlIGRvbSBleGVjIGhhbmRsZXIgbG9jayBpcyBiZWluZyB0YWtlbgp3
aXRob3V0IGFueSBjaGVjayB0aGF0IHRoZSBkb21haW4gaXMgZXZlbiBhbGxv
d2VkIHRvIHRha2UgdGhlIGxvY2suIFRoaXMKYWxsb3dzIGZvciBhbiB1bmF1
dGhvcml6ZWQgZG9tYWluIHRvIERvUyB0aGUgZ2V0X2RvbWFpbl9zdGF0ZSBk
b21jdGwgb3AuCk1vdmUgdG8gY29uc2lkZXIgdGhlIG9wIGVmZmVjdGl2ZWx5
IGJlaW5nIGNhbGxlZCBhZ2FpbnN0IHRoZSBoeXBlcnZpc29yLgpUaHVzIGl0
IGlzIHRoZSB0YXJnZXQgb2YgdGhlIGNhbGwgYmVpbmcgaW52b2tlZCB0byBp
ZGVudGlmeSB0aGUgbGFzdApkb21haW4gd2l0aCBhIHN0YXRlIGNoYW5nZS4g
VGhlIHN1YnNlcXVlbnQgY2hlY2sgb2Ygd2hldGhlciB0aGUgc291cmNlCmRv
bWFpbiBpcyBhbGxvd2VkIHRoZSBzdGF0ZSBvZiB0aGUgbGFzdCBkb21haW4g
dG8gY2hhbmdlIHN0YXRlIGlzIHN0aWxsCnJlbGV2YW50LgoKVGhpcyBpcyBw
YXJ0IG9mIFhTQS00OTIuCgpTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgUC4gU21p
dGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+ClNpZ25lZC1vZmYt
Ynk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQt
Ynk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoK
LS0tIGEvdG9vbHMvZmxhc2svcG9saWN5L21vZHVsZXMveGVuc3RvcmUudGUK
KysrIGIvdG9vbHMvZmxhc2svcG9saWN5L21vZHVsZXMveGVuc3RvcmUudGUK
QEAgLTE0LDYgKzE0LDcgQEAgYWxsb3cgeGVuc3RvcmVfdCB4ZW5fdDp4ZW4g
d3JpdGVjb25zb2xlOwogIyBYZW5zdG9yZSBxdWVyaWVzIGRvbWFpbmluZm8g
b24gYWxsIGRvbWFpbnMKIGFsbG93IHhlbnN0b3JlX3QgZG9tYWluX3R5cGU6
ZG9tYWluIGdldGRvbWFpbmluZm87CiBhbGxvdyB4ZW5zdG9yZV90IGRvbWFp
bl90eXBlOmRvbWFpbjIgZ2V0X2RvbWFpbl9zdGF0ZTsKK2FsbG93IHhlbnN0
b3JlX3QgZG9teGVuX3Q6ZG9tYWluMiBnZXRfZG9tYWluX3N0YXRlOwogCiAj
IEFzIGEgc2hvcnRjdXQsIHRoZSBmb2xsb3dpbmcgMyBydWxlcyBhcmUgdXNl
ZCBpbnN0ZWFkIG9mIGFkZGluZyBhIGRvbWFpbl9jb21tcwogIyBydWxlIGJl
dHdlZW4geGVuc3RvcmVfdCBhbmQgZXZlcnkgZG9tYWluIHR5cGUgdGhhdCB0
YWxrcyB0byB4ZW5zdG9yZQotLS0gYS94ZW4vY29tbW9uL2RvbWFpbi5jCisr
KyBiL3hlbi9jb21tb24vZG9tYWluLmMKQEAgLTIxOCwxMiArMjE4LDggQEAg
aW50IGdldF9kb21haW5fc3RhdGUoc3RydWN0IHhlbl9kb21jdGxfZwogICAg
IGlmICggaW5mby0+cGFkMCApCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwog
Ci0gICAgaWYgKCBkICkKKyAgICBpZiAoIGQgIT0gZG9tX3hlbiApCiAgICAg
ewotICAgICAgICByYyA9IHhzbV9nZXRfZG9tYWluX3N0YXRlKFhTTV9YU19Q
UklWLCBkKTsKLSAgICAgICAgaWYgKCByYyApCi0gICAgICAgICAgICByZXR1
cm4gcmM7Ci0KICAgICAgICAgc2V0X2RvbWFpbl9zdGF0ZV9pbmZvKGluZm8s
IGQpOwogCiAgICAgICAgIHJldHVybiAwOwotLS0gYS94ZW4vY29tbW9uL2Rv
bWN0bC5jCisrKyBiL3hlbi9jb21tb24vZG9tY3RsLmMKQEAgLTMwNCwxMyAr
MzA0LDE5IEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFS
QU0oeGUKICAgICAgICAgZmFsbHRocm91Z2g7CiAgICAgY2FzZSBYRU5fRE9N
Q1RMX3Rlc3RfYXNzaWduX2RldmljZToKICAgICBjYXNlIFhFTl9ET01DVExf
dm1fZXZlbnRfb3A6Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2dldF9kb21haW5f
c3RhdGU6CiAgICAgICAgIGlmICggb3AtPmRvbWFpbiA9PSBET01JRF9JTlZB
TElEICkKICAgICAgICAgewogICAgICAgICAgICAgZCA9IE5VTEw7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBmYWxsdGhyb3Vn
aDsKKyAgICBjYXNlIFhFTl9ET01DVExfZ2V0X2RvbWFpbl9zdGF0ZToKKyAg
ICAgICAgaWYgKCBvcC0+ZG9tYWluID09IERPTUlEX0lOVkFMSUQgKQorICAg
ICAgICB7CisgICAgICAgICAgICBkID0gZG9tX3hlbjsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisgICAgICAgIGZhbGx0aHJvdWdoOwogICAg
IGRlZmF1bHQ6CiAgICAgICAgIGQgPSByY3VfbG9ja19kb21haW5fYnlfaWQo
b3AtPmRvbWFpbik7CiAgICAgICAgIGlmICggIWQgKQpAQCAtODY5LDcgKzg3
NSw5IEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0o
eGUKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFhFTl9ET01DVExfZ2V0
X2RvbWFpbl9zdGF0ZToKLSAgICAgICAgcmV0ID0gZ2V0X2RvbWFpbl9zdGF0
ZSgmb3AtPnUuZ2V0X2RvbWFpbl9zdGF0ZSwgZCwgJm9wLT5kb21haW4pOwor
ICAgICAgICByZXQgPSB4c21fZ2V0X2RvbWFpbl9zdGF0ZShYU01fWFNfUFJJ
ViwgZCk7CisgICAgICAgIGlmICggIXJldCApCisgICAgICAgICAgICByZXQg
PSBnZXRfZG9tYWluX3N0YXRlKCZvcC0+dS5nZXRfZG9tYWluX3N0YXRlLCBk
LCAmb3AtPmRvbWFpbik7CiAgICAgICAgIGlmICggIXJldCApCiAgICAgICAg
ICAgICBjb3B5YmFjayA9IHRydWU7CiAgICAgICAgIGJyZWFrOwpAQCAtODgy
LDcgKzg5MCw3IEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVf
UEFSQU0oeGUKICAgICBkb21jdGxfbG9ja19yZWxlYXNlKCk7CiAKICBkb21j
dGxfb3V0X3VubG9ja19kb21vbmx5OgotICAgIGlmICggZCAmJiBkICE9IGRv
bV9pbyApCisgICAgaWYgKCBkICYmICFpc19zeXN0ZW1fZG9tYWluKGQpICkK
ICAgICAgICAgcmN1X3VubG9ja19kb21haW4oZCk7CiAKICAgICBpZiAoIGNv
cHliYWNrICYmIF9fY29weV90b19ndWVzdCh1X2RvbWN0bCwgb3AsIDEpICkK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.17-00.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.17-00.patch"
Content-Transfer-Encoding: base64

RnJvbTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgpTdWJqZWN0
OiB4ZW4veHNtOiBtYWtlIGdldGRvbWFpbmluZm8geHNtIGR1bW15IGNoZWNr
cyBtb3JlIHN0cmluZ2VudAoKVG9kYXkgdGhlIGR1bW15IFhTTSBwcml2aWxl
Z2UgY2hlY2tzIGZvciBnZXRkb21haW5pbmZvIGFyZSBsZXNzCnN0cmluZ2Vu
dCB0aGFuIHBvc3NpYmxlOiB0aGV5IGJhc2ljYWxseSByZWx5IG9uIHRoZSBn
ZW5lcmFsCnN5c2N0bC9kb21jdGwgZW50cnkgY2hlY2sgdG8gZG8gYWxsIHRl
c3RzIGFuZCB0aGVuIGRvIHRoZSB0ZXN0IHdpdGgKdGhlIFhTTV9IT09LIHBy
aXZpbGVnZSwgd2hpY2ggaXMgYW4gImFsbG93IGFsbCIgZGVmYXVsdC4KCklu
c3RlYWQgb2YgWFNNX0hPT0sgdXNlIFhTTV9YU19QUklWLCB3aGljaCBpcyB0
aGUgcHJpdmlsZWdlIHJlYWxseQp3YW50ZWQuIE5vdGUgdGhhdCB0aGlzIHRl
c3QgaXMgc3RpbGwgd2lkZXIgdGhhbiB0aGUgc3lzY3RsIGVudHJ5IHRlc3Qs
CmJ1dCB0aGVyZSBpcyBubyBlYXN5IHdheSB0byBtYWtlIGJvdGggZG9tY3Rs
IGFuZCBzeXNjdGwgaGFwcHkgYXQgdGhlCnNhbWUgdGltZS4KClNpZ25lZC1v
ZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KQWNrZWQt
Ynk6IERhbmllbCBQLiBTbWl0aCA8ZHBzbWl0aEBhcGVydHVzc29sdXRpb25z
LmNvbT4KbWFzdGVyIGNvbW1pdDogNTc5M2I4NGM1ZThmYjI2OGY5NGU3ZmRl
NzgxNjc5OWU2Njk0NWE3MwptYXN0ZXIgZGF0ZTogMjAyNC0xMi0xNiAxMzow
Njo1NSArMDEwMAoKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYworKysgYi94
ZW4vY29tbW9uL2RvbWN0bC5jCkBAIC01NTYsNyArNTU2LDcgQEAgbG9uZyBk
b19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICBp
ZiAoIGQgPT0gTlVMTCApCiAgICAgICAgICAgICBnb3RvIGdldGRvbWFpbmlu
Zm9fb3V0OwogCi0gICAgICAgIHJldCA9IHhzbV9nZXRkb21haW5pbmZvKFhT
TV9IT09LLCBkKTsKKyAgICAgICAgcmV0ID0geHNtX2dldGRvbWFpbmluZm8o
WFNNX1hTX1BSSVYsIGQpOwogICAgICAgICBpZiAoIHJldCApCiAgICAgICAg
ICAgICBnb3RvIGdldGRvbWFpbmluZm9fb3V0OwogCi0tLSBhL3hlbi9jb21t
b24vc3lzY3RsLmMKKysrIGIveGVuL2NvbW1vbi9zeXNjdGwuYwpAQCAtODks
NyArODksNyBAQCBsb25nIGRvX3N5c2N0bChYRU5fR1VFU1RfSEFORExFX1BB
UkFNKHhlCiAgICAgICAgICAgICBpZiAoIG51bV9kb21haW5zID09IG9wLT51
LmdldGRvbWFpbmluZm9saXN0Lm1heF9kb21haW5zICkKICAgICAgICAgICAg
ICAgICBicmVhazsKIAotICAgICAgICAgICAgaWYgKCB4c21fZ2V0ZG9tYWlu
aW5mbyhYU01fSE9PSywgZCkgKQorICAgICAgICAgICAgaWYgKCB4c21fZ2V0
ZG9tYWluaW5mbyhYU01fWFNfUFJJViwgZCkgKQogICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwogCiAgICAgICAgICAgICBnZXRkb21haW5pbmZvKGQsICZp
bmZvKTsKLS0tIGEveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKKysrIGIveGVu
L2luY2x1ZGUveHNtL2R1bW15LmgKQEAgLTEzNyw3ICsxMzcsNyBAQCBzdGF0
aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX2RvbWFpCiBzdGF0aWMg
WFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX2dldGRvbWFpbmluZm8oCiAg
ICAgWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQpCiB7Ci0gICAg
WFNNX0FTU0VSVF9BQ1RJT04oWFNNX0hPT0spOworICAgIFhTTV9BU1NFUlRf
QUNUSU9OKFhTTV9YU19QUklWKTsKICAgICByZXR1cm4geHNtX2RlZmF1bHRf
YWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBkKTsKIH0KIAo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.17-01.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.17-01.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBzY2hlZDogdXNlIHNlcXVlbmNlIGNvdW50ZXIgdG8gZW5saWdodGVuIHZj
cHVfcnVuc3RhdGVfZ2V0KCkKClN1YnNlcXVlbnRseSBYRU5fRE9NQ1RMX2dl
dGRvbWFpbmluZm8gd2lsbCB3YW50IHRvIGludm9rZSB0aGUgZnVuY3Rpb24K
d2l0aG91dCBob2xkaW5nIGEgbG9jaywgdGh1cyBhbGxvd2luZyBwYXJhbGxl
bCBleGVjdXRpb24gb2YgcG90ZW50aWFsbHkKbWFueSBpbnN0YW5jZXMuIEFz
IHdhcyBsZWFybmVkIGZyb20gMjI4YWI5OTkyZmZiICgiZG9tY3RsOiBpbXBy
b3ZlCmxvY2tpbmcgZHVyaW5nIGRvbWFpbiBkZXN0cnVjdGlvbiIpLCByZXZl
cnRlZCBieSBkMDg4N2NjNmIxNmUsIHN1Y2gKcGFyYWxsZWxpc20gY2FuIHJl
c3VsdCBpbiBzZXZlcmUgbG9jayBjb250ZW50aW9uIG9uIGFueSAocHJldmlv
dXNseSkKaW5uZXIgbG9jay4gVG8gYXZvaWQgdGFraW5nIHRoYXQgcmlzayBy
ZXBsYWNlIHRoZSB1c2Ugb2YgdGhlIHNjaGVkdWxlcgpsb2NrIGluIHZjcHVf
cnVuc3RhdGVfZ2V0KCkgYnkgYSBuZXdseSBpbnRyb2R1Y2VkIHNlcXVlbmNl
IGNvdW50ZXIuCkNvbnZlcnQgdGhlICJubyBsb2NrIGlmIGN1cnJlbnQiIHBy
b3BlcnR5IHRvICJ1c2UgYSBsb2NhbCBjb3VudGVyCmluc3RhbmNlIiwgdGh1
cyBndWFyYW50ZWVpbmcgdGhlIGxvb3AgdG8gZXhpdCBhZnRlciB0aGUgZmly
c3QgaXRlcmF0aW9uLgoKU2tlbGV0b24gYW5kIGNvbW1lbnRhcnkgb2YgdGhl
IHNlcWNvdW50IGltcGxlbWVudGF0aW9uIGJhc2VkIG9uIC8KZGVyaXZlZCBm
cm9tIExpbnV4IDYuMTEtcmMuCgpUbyBoYXZlIHJ1bnN0YXRlX3NlcSBwbGFj
ZWQgbmV4dCB0byBydW5zdGF0ZSBpbiBzdHJ1Y3QgdmNwdSwgd2l0aG91dApp
bnRyb2R1Y2luZyBhIG5ldyBvYnZpb3VzIHBhZGRpbmcgaG9sZSwgeWV0IHdo
aWxlIGtlZXBpbmcgdGhlIGxhdHRlcgphZGphY2VudCB0byBydW5zdGF0ZV9n
dWVzdHssX2FyZWF9IGFzIHdlbGwsIG1vdmUgcnVuc3RhdGUgZG93biBhIGxp
dHRsZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKUmVxdWVzdGVkLWJ5
OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpT
aWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+
ClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIz
QGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxy
b2dlci5wYXVAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jv
c3MgPGpncm9zc0BzdXNlLmNvbT4KCi0tLSBhL3hlbi9jb21tb24vc2NoZWQv
Y29yZS5jCisrKyBiL3hlbi9jb21tb24vc2NoZWQvY29yZS5jCkBAIC0yODAs
MTMgKzI4MCwxOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgdmNwdV9ydW5zdGF0
ZV9jaGFuZ2UoCiAgICAgfQogCiAgICAgZGVsdGEgPSBuZXdfZW50cnlfdGlt
ZSAtIHYtPnJ1bnN0YXRlLnN0YXRlX2VudHJ5X3RpbWU7Ci0gICAgaWYgKCBk
ZWx0YSA+IDAgKQorCisgICAgLyogU2VyaWFsaXphdGlvbjogLT5zY2hlZHVs
ZV9sb2NrIChzZWUgQVNTRVJUKCkgYWJvdmUpLiAqLworICAgIHdpdGhfc2Vx
X3dyaXRlKCZ2LT5ydW5zdGF0ZV9zZXEpCiAgICAgewotICAgICAgICB2LT5y
dW5zdGF0ZS50aW1lW3YtPnJ1bnN0YXRlLnN0YXRlXSArPSBkZWx0YTsKLSAg
ICAgICAgdi0+cnVuc3RhdGUuc3RhdGVfZW50cnlfdGltZSA9IG5ld19lbnRy
eV90aW1lOwotICAgIH0KKyAgICAgICAgaWYgKCBkZWx0YSA+IDAgKQorICAg
ICAgICB7CisgICAgICAgICAgICB2LT5ydW5zdGF0ZS50aW1lW3YtPnJ1bnN0
YXRlLnN0YXRlXSArPSBkZWx0YTsKKyAgICAgICAgICAgIHYtPnJ1bnN0YXRl
LnN0YXRlX2VudHJ5X3RpbWUgPSBuZXdfZW50cnlfdGltZTsKKyAgICAgICAg
fQogCi0gICAgdi0+cnVuc3RhdGUuc3RhdGUgPSBuZXdfc3RhdGU7CisgICAg
ICAgIHYtPnJ1bnN0YXRlLnN0YXRlID0gbmV3X3N0YXRlOworICAgIH0KIH0K
IAogdm9pZCBzY2hlZF9ndWVzdF9pZGxlKHZvaWQgKCppZGxlKSAodm9pZCks
IHVuc2lnbmVkIGludCBjcHUpCkBAIC0zMDYsMzAgKzMxMSwxOCBAQCB2b2lk
IHNjaGVkX2d1ZXN0X2lkbGUodm9pZCAoKmlkbGUpICh2b2lkCiB2b2lkIHZj
cHVfcnVuc3RhdGVfZ2V0KGNvbnN0IHN0cnVjdCB2Y3B1ICp2LAogICAgICAg
ICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmNwdV9ydW5zdGF0ZV9pbmZvICpy
dW5zdGF0ZSkKIHsKLSAgICBzcGlubG9ja190ICpsb2NrOwotICAgIHNfdGlt
ZV90IGRlbHRhOwotICAgIHN0cnVjdCBzY2hlZF91bml0ICp1bml0OworICAg
IHN0cnVjdCBzZXFjb3VudCBzZXEgPSBTRVFDTlRfWkVSTygpOworICAgIGNv
bnN0IHN0cnVjdCBzZXFjb3VudCAqcyA9IGxpa2VseSh2ID09IGN1cnJlbnQp
ID8gJnNlcSA6ICZ2LT5ydW5zdGF0ZV9zZXE7CiAKLSAgICByY3VfcmVhZF9s
b2NrKCZzY2hlZF9yZXNfcmN1bG9jayk7Ci0KLSAgICAvKgotICAgICAqIEJl
IGNhcmVmdWwgaW4gY2FzZSBvZiBhbiBpZGxlIHZjcHU6IHRoZSBhc3NpZ25t
ZW50IHRvIGEgdW5pdCBtaWdodAotICAgICAqIGNoYW5nZSBldmVuIHdpdGgg
dGhlIHNjaGVkdWxpbmcgbG9jayBoZWxkLCBzbyBiZSBzdXJlIHRvIHVzZSB0
aGUKLSAgICAgKiBjb3JyZWN0IHVuaXQgZm9yIGxvY2tpbmcgaW4gb3JkZXIg
dG8gYXZvaWQgdHJpZ2dlcmluZyBhbiBBU1NFUlQoKSBpbgotICAgICAqIHRo
ZSB1bmxvY2sgZnVuY3Rpb24uCi0gICAgICovCi0gICAgdW5pdCA9IGlzX2lk
bGVfdmNwdSh2KSA/IGdldF9zY2hlZF9yZXModi0+cHJvY2Vzc29yKS0+c2No
ZWRfdW5pdF9pZGxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICA6IHYt
PnNjaGVkX3VuaXQ7Ci0gICAgbG9jayA9IGxpa2VseSh2ID09IGN1cnJlbnQp
ID8gTlVMTCA6IHVuaXRfc2NoZWR1bGVfbG9ja19pcnEodW5pdCk7Ci0gICAg
bWVtY3B5KHJ1bnN0YXRlLCAmdi0+cnVuc3RhdGUsIHNpemVvZigqcnVuc3Rh
dGUpKTsKLSAgICBkZWx0YSA9IE5PVygpIC0gcnVuc3RhdGUtPnN0YXRlX2Vu
dHJ5X3RpbWU7Ci0gICAgaWYgKCBkZWx0YSA+IDAgKQotICAgICAgICBydW5z
dGF0ZS0+dGltZVtydW5zdGF0ZS0+c3RhdGVdICs9IGRlbHRhOwotCi0gICAg
aWYgKCB1bmxpa2VseShsb2NrICE9IE5VTEwpICkKLSAgICAgICAgdW5pdF9z
Y2hlZHVsZV91bmxvY2tfaXJxKGxvY2ssIHVuaXQpOworICAgIHVudGlsX3Nl
cV9yZWFkKHMpCisgICAgeworICAgICAgICBzX3RpbWVfdCBkZWx0YTsKIAot
ICAgIHJjdV9yZWFkX3VubG9jaygmc2NoZWRfcmVzX3JjdWxvY2spOworICAg
ICAgICAqcnVuc3RhdGUgPSB2LT5ydW5zdGF0ZTsKKyAgICAgICAgZGVsdGEg
PSBOT1coKSAtIHJ1bnN0YXRlLT5zdGF0ZV9lbnRyeV90aW1lOworICAgICAg
ICBpZiAoIGRlbHRhID4gMCApCisgICAgICAgICAgICBydW5zdGF0ZS0+dGlt
ZVtydW5zdGF0ZS0+c3RhdGVdICs9IGRlbHRhOworICAgIH0KIH0KIAogdWlu
dDY0X3QgZ2V0X2NwdV9pZGxlX3RpbWUodW5zaWduZWQgaW50IGNwdSkKLS0t
IGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKKysrIGIveGVuL2luY2x1ZGUv
eGVuL3NjaGVkLmgKQEAgLTE2LDYgKzE2LDcgQEAKICNpbmNsdWRlIDx4ZW4v
cmFkaXgtdHJlZS5oPgogI2luY2x1ZGUgPHhlbi9tdWx0aWNhbGwuaD4KICNp
bmNsdWRlIDx4ZW4vbm9zcGVjLmg+CisjaW5jbHVkZSA8eGVuL3NlcWNvdW50
Lmg+CiAjaW5jbHVkZSA8eGVuL3Rhc2tsZXQuaD4KICNpbmNsdWRlIDx4ZW4v
bW0uaD4KICNpbmNsdWRlIDx4ZW4vc21wLmg+CkBAIC0xOTEsNyArMTkyLDYg
QEAgc3RydWN0IHZjcHUKIAogICAgIHN0cnVjdCBzY2hlZF91bml0ICpzY2hl
ZF91bml0OwogCi0gICAgc3RydWN0IHZjcHVfcnVuc3RhdGVfaW5mbyBydW5z
dGF0ZTsKICNpZm5kZWYgQ09ORklHX0NPTVBBVAogIyBkZWZpbmUgcnVuc3Rh
dGVfZ3Vlc3QodikgKCh2KS0+cnVuc3RhdGVfZ3Vlc3QpCiAgICAgWEVOX0dV
RVNUX0hBTkRMRSh2Y3B1X3J1bnN0YXRlX2luZm9fdCkgcnVuc3RhdGVfZ3Vl
c3Q7IC8qIGd1ZXN0IGFkZHJlc3MgKi8KQEAgLTIwMiw2ICsyMDIsOCBAQCBz
dHJ1Y3QgdmNwdQogICAgICAgICBYRU5fR1VFU1RfSEFORExFKHZjcHVfcnVu
c3RhdGVfaW5mb19jb21wYXRfdCkgY29tcGF0OwogICAgIH0gcnVuc3RhdGVf
Z3Vlc3Q7IC8qIGd1ZXN0IGFkZHJlc3MgKi8KICNlbmRpZgorICAgIHN0cnVj
dCB2Y3B1X3J1bnN0YXRlX2luZm8gcnVuc3RhdGU7CisgICAgc3RydWN0IHNl
cWNvdW50ICBydW5zdGF0ZV9zZXE7CiAgICAgdW5zaWduZWQgaW50ICAgICBu
ZXdfc3RhdGU7CiAKICAgICAvKiBIYXMgdGhlIEZQVSBiZWVuIGluaXRpYWxp
c2VkPyAqLwotLS0gL2Rldi9udWxsCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9z
ZXFjb3VudC5oCkBAIC0wLDAgKzEsMTM5IEBACisvKiBTUERYLUxpY2Vuc2Ut
SWRlbnRpZmllcjogR1BMLTIuMC1vbmx5ICovCisjaWZuZGVmIFhFTl9TRVFD
T1VOVF9ICisjZGVmaW5lIFhFTl9TRVFDT1VOVF9ICisKKyNpbmNsdWRlIDx4
ZW4vbGliLmg+CisjaW5jbHVkZSA8eGVuL25vc3BlYy5oPgorCisjaW5jbHVk
ZSA8YXNtL2F0b21pYy5oPgorI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KKwor
LyoKKyAqIFNlcXVlbmNlIGNvdW50ZXJzIChzZXFjb3VudF90KQorICoKKyAq
IFRoaXMgaXMgdGhlIHJhdyBjb3VudGluZyBtZWNoYW5pc20sIHdpdGhvdXQg
YW55IHdyaXRlciBwcm90ZWN0aW9uLgorICoKKyAqIFdyaXRlIHNpZGUgY3Jp
dGljYWwgc2VjdGlvbnMgbXVzdCBiZSBzZXJpYWxpemVkIChhbmQgbm9uLXBy
ZWVtcHRpYmxlKS4KKyAqCisgKiBJZiByZWFkZXJzIGNhbiBiZSBpbnZva2Vk
IGZyb20gaW50ZXJydXB0IGNvbnRleHRzLCBpbnRlcnJ1cHRzIG11c3QgYWxz
bworICogYmUgcmVzcGVjdGl2ZWx5IGRpc2FibGVkIGJlZm9yZSBlbnRlcmlu
ZyB0aGUgd3JpdGUgc2VjdGlvbi4KKyAqCisgKiBUaGlzIG1lY2hhbmlzbSBj
YW4ndCBiZSB1c2VkIGlmIHRoZSBwcm90ZWN0ZWQgZGF0YSBjb250YWlucyBw
b2ludGVycywKKyAqIGFzIHRoZSB3cml0ZXIgY2FuIGludmFsaWRhdGUgYSBw
b2ludGVyIHRoYXQgYSByZWFkZXIgaXMgZm9sbG93aW5nLgorICovCitzdHJ1
Y3Qgc2VxY291bnQgeworICAgIHVuc2lnbmVkIGludCBzZXF1ZW5jZTsKK307
CisKKy8qCisgKiBTRVFDTlRfWkVSTygpIC0gaW5pdGlhbGl6ZXIgZm9yIHNl
cWNvdW50X3QKKyAqIEBuYW1lOiBOYW1lIG9mIHRoZSBzdHJ1Y3Qgc2VxY291
bnQgaW5zdGFuY2UKKyAqLworI2RlZmluZSBTRVFDTlRfWkVSTygpIHsgLnNl
cXVlbmNlID0gMCB9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IHNl
cXByb3Bfc2VxdWVuY2UoY29uc3Qgc3RydWN0IHNlcWNvdW50ICpzKQorewor
ICAgIHJldHVybiBBQ0NFU1NfT05DRShzLT5zZXF1ZW5jZSk7Cit9CisKKy8q
CisgKiByZWFkX3NlcWNvdW50X2JlZ2luKCkgLSBiZWdpbiBhIHNlcWNvdW50
IHJlYWQgY3JpdGljYWwgc2VjdGlvbgorICogQHM6IFBvaW50ZXIgdG8gc3Ry
dWN0IHNlcWNvdW50CisgKgorICogUmV0dXJuOiBjb3VudCB0byBiZSBwYXNz
ZWQgdG8gcmVhZF9zZXFjb3VudF9yZXRyeSgpCisgKi8KK3N0YXRpYyBpbmxp
bmUgdW5zaWduZWQgaW50IF9yZWFkX3NlcWNvdW50X2JlZ2luKGNvbnN0IHN0
cnVjdCBzZXFjb3VudCAqcykKK3sKKyAgICB1bnNpZ25lZCBpbnQgc2VxOwor
CisgICAgd2hpbGUgKChzZXEgPSBzZXFwcm9wX3NlcXVlbmNlKHMpKSAmIDEp
CisgICAgICAgIGNwdV9yZWxheCgpOworCisgICAgc21wX3JtYigpOworCisg
ICAgcmV0dXJuIHNlcTsKK30KKworc3RhdGljIGFsd2F5c19pbmxpbmUgdW5z
aWduZWQgaW50IHJlYWRfc2VxY291bnRfYmVnaW4oY29uc3Qgc3RydWN0IHNl
cWNvdW50ICpzKQoreworICAgIHVuc2lnbmVkIGludCBzZXEgPSBfcmVhZF9z
ZXFjb3VudF9iZWdpbihzKTsKKworICAgIGJsb2NrX2xvY2tfc3BlY3VsYXRp
b24oKTsKKworICAgIHJldHVybiBzZXE7Cit9CisKKy8qCisgKiByZWFkX3Nl
cWNvdW50X3JldHJ5KCkgLSBlbmQgYSBzZXFjb3VudCByZWFkIGNyaXRpY2Fs
IHNlY3Rpb24KKyAqIEBzOiBQb2ludGVyIHRvIHN0cnVjdCBzZXFjb3VudAor
ICogQHN0YXJ0OiBjb3VudCwgZnJvbSByZWFkX3NlcWNvdW50X2JlZ2luKCkK
KyAqCisgKiByZWFkX3NlcWNvdW50X3JldHJ5IGNsb3NlcyB0aGUgcmVhZCBj
cml0aWNhbCBzZWN0aW9uIG9mIGdpdmVuIHN0cnVjdAorICogc2VxY291bnQu
ICBJZiB0aGUgY3JpdGljYWwgc2VjdGlvbiB3YXMgaW52YWxpZCwgaXQgbXVz
dCBiZSBpZ25vcmVkCisgKiAoYW5kIHR5cGljYWxseSByZXRyaWVkKS4KKyAq
CisgKiBSZXR1cm46IHRydWUgaWYgYSByZWFkIHNlY3Rpb24gcmV0cnkgaXMg
cmVxdWlyZWQsIGVsc2UgZmFsc2UKKyAqLworc3RhdGljIGlubGluZSBib29s
IF9yZWFkX3NlcWNvdW50X3JldHJ5KGNvbnN0IHN0cnVjdCBzZXFjb3VudCAq
cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQgc3RhcnQpCit7CisgICAgc21wX3JtYigpOworICAgIHJl
dHVybiB1bmxpa2VseShzZXFwcm9wX3NlcXVlbmNlKHMpICE9IHN0YXJ0KTsK
K30KKworc3RhdGljIGFsd2F5c19pbmxpbmUgYm9vbCByZWFkX3NlcWNvdW50
X3JldHJ5KGNvbnN0IHN0cnVjdCBzZXFjb3VudCAqcywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQgc3RhcnQpCit7CisgICAgcmV0dXJuIGxvY2tfZXZhbHVhdGVfbm9zcGVj
KF9yZWFkX3NlcWNvdW50X3JldHJ5KHMsIHN0YXJ0KSk7Cit9CisKKy8qIExv
b3BzIHVudGlsIGEgY29uc2lzdGVudCBjb3VudCBoYXMgYmVlbiBvYnNlcnZl
ZCBhY3Jvc3MgdGhlIGxvb3AgYm9keS4gKi8KKyNkZWZpbmUgdW50aWxfc2Vx
X3JlYWQoc2VxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICBmb3IgKCB1bnNpZ25lZCBpbnQgcmV0cnlfID0gMSwgY291bnRf
OyAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICByZXRyeV8gJiYg
KGNvdW50XyA9IHJlYWRfc2VxY291bnRfYmVnaW4oc2VxKSwgdHJ1ZSk7IFwK
KyAgICAgICAgICByZXRyeV8gPSByZWFkX3NlcWNvdW50X3JldHJ5KHNlcSwg
Y291bnRfKSApCisKKy8qCisgKiB3cml0ZV9zZXFjb3VudF9iZWdpbigpIC0g
c3RhcnQgYSBzdHJ1Y3Qgc2VxY291bnQgd3JpdGUgc2lkZSBjcml0aWNhbCBz
ZWN0aW9uCisgKiBAczogUG9pbnRlciB0byBzdHJ1Y3Qgc2VxY291bnQKKyAq
CisgKiBDb250ZXh0OiBzZXF1ZW5jZSBjb3VudGVyIHdyaXRlIHNpZGUgc2Vj
dGlvbnMgbXVzdCBiZSBzZXJpYWxpemVkLgorICogSWYgcmVhZGVycyBjYW4g
YmUgaW52b2tlZCBmcm9tIGludGVycnVwdCBjb250ZXh0LCBpbnRlcnJ1cHRz
IG11c3QgYmUKKyAqIHJlc3BlY3RpdmVseSBkaXNhYmxlZC4KKyAqLworc3Rh
dGljIGlubGluZSB2b2lkIHdyaXRlX3NlcWNvdW50X2JlZ2luKHN0cnVjdCBz
ZXFjb3VudCAqcykKK3sKKyAgICBhZGRfc2l6ZWQoJnMtPnNlcXVlbmNlLCAx
KTsKKyAgICBzbXBfd21iKCk7Cit9CisKKy8qCisgKiB3cml0ZV9zZXFjb3Vu
dF9lbmQoKSAtIGVuZCBhIHN0cnVjdCBzZXFjb3VudCB3cml0ZSBzaWRlIGNy
aXRpY2FsIHNlY3Rpb24KKyAqIEBzOiBQb2ludGVyIHRvIHNlcWNvdW50Cisg
Ki8KK3N0YXRpYyBpbmxpbmUgdm9pZCB3cml0ZV9zZXFjb3VudF9lbmQoc3Ry
dWN0IHNlcWNvdW50ICpzKQoreworICAgIHNtcF93bWIoKTsKKyAgICBhZGRf
c2l6ZWQoJnMtPnNlcXVlbmNlLCAxKTsKK30KKworLyoKKyAqIE5vdCByZWFs
bHkgYSBsb29wLCBidXQgd2UgbmVlZCB3cml0ZV9zZXFjb3VudF97YmVnaW4s
ZW5kfSgpIGluIHRoZSBjb3JyZWN0CisgKiBwb3NpdGlvbi4KKyAqLworI2Rl
ZmluZSB3aXRoX3NlcV93cml0ZShzZXEpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIGZvciAoIGJvb2wgb25jZV8gPSB0cnVlOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgIG9uY2VfICYmICh3cml0
ZV9zZXFjb3VudF9iZWdpbihzZXEpLCB0cnVlKTsgXAorICAgICAgICAgICh3
cml0ZV9zZXFjb3VudF9lbmQoc2VxKSwgb25jZV8gPSBmYWxzZSkgKQorCisj
ZW5kaWYgLyogWEVOX1NFUUNPVU5UX0ggKi8KKworLyoKKyAqIExvY2FsIHZh
cmlhYmxlczoKKyAqIG1vZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTogIkJTRCIK
KyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiB0YWItd2lkdGg6IDQKKyAqIGlu
ZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.17-02.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.17-02.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2dldGRvbWFpbmluZm8gd2l0
aG91dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKCmdldGRvbWFpbmluZm8oKSBp
cyBub3QgY2FsbGVkIHVuZGVyIGNvbnNpc3RlbnRseSB0aGUgc2FtZSBsb2Nr
LiBUaHVzLAp3aXRoIGNhbGxlciBzaWRlIGxvY2tpbmcgaXJyZWxldmFudCwg
aXQgY2FuIGFzIHdlbGwgYmUgY2FsbGVkIHdpdGggdGhlCmRvbWN0bCBsb2Nr
IG5vdCBoZWxkLiAoQ2FsbGVycyBub3QgcGF1c2luZyB0aGUgZG9tYWluIHRo
ZXkgd2FudCB0bwpyZXRyaWV2ZSBpbmZvcm1hdGlvbiBmb3IgYWxyZWFkeSBu
ZWVkIHRvIGJlIGF3YXJlIHRoYXQgbm90IGFsbCBvZiB0aGUKZGF0YSByZXR1
cm5lZCBjYW4gYmUgcmVsaWVkIG9uIGFzIGJlaW5nIGNvbnNpc3RlbnQ7IG1v
c3QgZGF0YSB3aWxsIGFsc28KYmUgc3RhbGUgYnkgdGhlIHRpbWUgdGhlIGNh
bGxlciBnZXRzIHRvIGxvb2sgYXQgaXQuKQoKTW92ZSB0aGUgaGFuZGxpbmcg
bm90IG9ubHkgYWhlYWQgb2YgYWNxdWlyaW5nIHRoZSBsb2NrLCBidXQgYWxz
byBhaGVhZApvZiB0aGUgWFNNIGNoZWNrLCBsZXZlcmFnaW5nIHRoYXQgdGhl
IHN1Yi1vcCBoYXMgaXRzIG93biBob29rLgoKVGhpcyBpcyBwYXJ0IG9mIFhT
QS00OTIuCgpGaXhlczogNTUxM2JkMGI0Njc1ICgiYWRkIHhlbnN0b3JlIGRv
bWFpbiBmbGFnIHRvIGh5cGVydmlzb3IiKQpSZXBvcnRlZC1ieTogQW5kcmV3
IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KU2lnbmVkLW9m
Zi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdl
ZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+
CkFja2VkLWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3Nv
bHV0aW9ucy5jb20+CgotLS0gYS94ZW4vY29tbW9uL2RvbWN0bC5jCisrKyBi
L3hlbi9jb21tb24vZG9tY3RsLmMKQEAgLTMxOCw2ICszMTgsNTYgQEAgbG9u
ZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAg
ICAgICAgcmV0dXJuIC1FU1JDSDsKICAgICB9CiAKKyAgICAvKiBIYW5kbGUg
c3ViLW9wcyBub3QgcmVxdWlyaW5nIHRoZSBkb21jdGwgbG9jay4gKi8KKyAg
ICBzd2l0Y2ggKCBvcC0+Y21kICkKKyAgICB7CisgICAgY2FzZSBYRU5fRE9N
Q1RMX2dldGRvbWFpbmluZm86CisgICAgeworICAgICAgICBkb21pZF90IGRv
bSA9IERPTUlEX0lOVkFMSUQ7CisKKyAgICAgICAgaWYgKCAhZCApCisgICAg
ICAgIHsKKyAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7CisgICAgICAgICAg
ICBpZiAoIG9wLT5kb21haW4gPj0gRE9NSURfRklSU1RfUkVTRVJWRUQgKQor
ICAgICAgICAgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9tb25s
eTsKKworICAgICAgICAgICAgcmN1X3JlYWRfbG9jaygmZG9tbGlzdF9yZWFk
X2xvY2spOworCisgICAgICAgICAgICBkb20gPSBvcC0+ZG9tYWluOworICAg
ICAgICAgICAgZm9yX2VhY2hfZG9tYWluICggZCApCisgICAgICAgICAgICAg
ICAgaWYgKCBkLT5kb21haW5faWQgPj0gZG9tICkKKyAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICByZXQgPSAtRVNS
Q0g7CisgICAgICAgIGlmICggIWQgKQorICAgICAgICAgICAgZ290byBnZXRk
b21haW5pbmZvX291dDsKKworICAgICAgICByZXQgPSB4c21fZ2V0ZG9tYWlu
aW5mbyhYU01fWFNfUFJJViwgZCk7CisgICAgICAgIGlmICggIXJldCApCisg
ICAgICAgIHsKKyAgICAgICAgICAgIGdldGRvbWFpbmluZm8oZCwgJm9wLT51
LmdldGRvbWFpbmluZm8pOworCisgICAgICAgICAgICBvcC0+ZG9tYWluID0g
b3AtPnUuZ2V0ZG9tYWluaW5mby5kb21haW47CisgICAgICAgICAgICBjb3B5
YmFjayA9IHRydWU7CisKKyAgICBnZXRkb21haW5pbmZvX291dDoKKyAgICAg
ICAgICAgIC8qIFdoZW4gZCB3YXMgbm9uLU5VTEwgdXBvbiBlbnRyeSwgbm8g
Y2xlYW51cCBpcyBuZWVkZWQuICovCisgICAgICAgICAgICBpZiAoIGRvbSA9
PSBET01JRF9JTlZBTElEICkKKyAgICAgICAgICAgICAgICBnb3RvIGRvbWN0
bF9vdXRfdW5sb2NrX2RvbW9ubHk7CisKKyAgICAgICAgICAgIHJjdV9yZWFk
X3VubG9jaygmZG9tbGlzdF9yZWFkX2xvY2spOworICAgICAgICAgICAgZCA9
IE5VTEw7CisgICAgICAgIH0KKworICAgICAgICBnb3RvIGRvbWN0bF9vdXRf
dW5sb2NrX2RvbW9ubHk7CisgICAgfQorCisgICAgZGVmYXVsdDoKKyAgICAg
ICAgLyogRXZlcnl0aGluZyBlbHNlIGhhbmRsZWQgZnVydGhlciBkb3duLiAq
LworICAgICAgICBicmVhazsKKyAgICB9CisKICAgICByZXQgPSB4c21fZG9t
Y3RsKFhTTV9PVEhFUiwgZCwgb3AtPmNtZCwKICAgICAgICAgICAgICAgICAg
ICAgIC8qIFNTSURSZWYgb25seSBhcHBsaWNhYmxlIGZvciBjbWQgPT0gY3Jl
YXRlZG9tYWluICovCiAgICAgICAgICAgICAgICAgICAgICBvcC0+dS5jcmVh
dGVkb21haW4uc3NpZHJlZik7CkBAIC01MzQsNDcgKzU4NCw2IEBAIGxvbmcg
ZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICAgICAg
Y29weWJhY2sgPSAxOwogICAgICAgICBicmVhazsKIAotICAgIGNhc2UgWEVO
X0RPTUNUTF9nZXRkb21haW5pbmZvOgotICAgIHsKLSAgICAgICAgZG9taWRf
dCBkb20gPSBET01JRF9JTlZBTElEOwotCi0gICAgICAgIGlmICggIWQgKQot
ICAgICAgICB7Ci0gICAgICAgICAgICByZXQgPSAtRUlOVkFMOwotICAgICAg
ICAgICAgaWYgKCBvcC0+ZG9tYWluID49IERPTUlEX0ZJUlNUX1JFU0VSVkVE
ICkKLSAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgcmN1
X3JlYWRfbG9jaygmZG9tbGlzdF9yZWFkX2xvY2spOwotCi0gICAgICAgICAg
ICBkb20gPSBvcC0+ZG9tYWluOwotICAgICAgICAgICAgZm9yX2VhY2hfZG9t
YWluICggZCApCi0gICAgICAgICAgICAgICAgaWYgKCBkLT5kb21haW5faWQg
Pj0gZG9tICkKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IH0KLQotICAgICAgICByZXQgPSAtRVNSQ0g7Ci0gICAgICAgIGlmICggZCA9
PSBOVUxMICkKLSAgICAgICAgICAgIGdvdG8gZ2V0ZG9tYWluaW5mb19vdXQ7
Ci0KLSAgICAgICAgcmV0ID0geHNtX2dldGRvbWFpbmluZm8oWFNNX1hTX1BS
SVYsIGQpOwotICAgICAgICBpZiAoIHJldCApCi0gICAgICAgICAgICBnb3Rv
IGdldGRvbWFpbmluZm9fb3V0OwotCi0gICAgICAgIGdldGRvbWFpbmluZm8o
ZCwgJm9wLT51LmdldGRvbWFpbmluZm8pOwotCi0gICAgICAgIG9wLT5kb21h
aW4gPSBvcC0+dS5nZXRkb21haW5pbmZvLmRvbWFpbjsKLSAgICAgICAgY29w
eWJhY2sgPSAxOwotCi0gICAgZ2V0ZG9tYWluaW5mb19vdXQ6Ci0gICAgICAg
IC8qIFdoZW4gZCB3YXMgbm9uLU5VTEwgdXBvbiBlbnRyeSwgbm8gY2xlYW51
cCBpcyBuZWVkZWQuICovCi0gICAgICAgIGlmICggZG9tID09IERPTUlEX0lO
VkFMSUQgKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgcmN1X3Jl
YWRfdW5sb2NrKCZkb21saXN0X3JlYWRfbG9jayk7Ci0gICAgICAgIGQgPSBO
VUxMOwotICAgICAgICBicmVhazsKLSAgICB9Ci0KICAgICBjYXNlIFhFTl9E
T01DVExfZ2V0dmNwdWNvbnRleHQ6CiAgICAgewogICAgICAgICB2Y3B1X2d1
ZXN0X2NvbnRleHRfdSBjID0geyAubmF0ID0gTlVMTCB9OwotLS0gYS94ZW4v
aW5jbHVkZS94c20vZHVtbXkuaAorKysgYi94ZW4vaW5jbHVkZS94c20vZHVt
bXkuaApAQCAtMTcyLDggKzE3MiwxMSBAQCBzdGF0aWMgWFNNX0lOTElORSBp
bnQgY2ZfY2hlY2sgeHNtX2RvbWN0CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2Jp
bmRfcHRfaXJxOgogICAgIGNhc2UgWEVOX0RPTUNUTF91bmJpbmRfcHRfaXJx
OgogICAgICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKFhTTV9ETV9Q
UklWLCBjdXJyZW50LT5kb21haW4sIGQpOworCiAgICAgY2FzZSBYRU5fRE9N
Q1RMX2dldGRvbWFpbmluZm86Ci0gICAgICAgIHJldHVybiB4c21fZGVmYXVs
dF9hY3Rpb24oWFNNX1hTX1BSSVYsIGN1cnJlbnQtPmRvbWFpbiwgZCk7Cisg
ICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOworICAgICAgICByZXR1cm4g
LUVJTFNFUTsKKwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiB4c21f
ZGVmYXVsdF9hY3Rpb24oWFNNX1BSSVYsIGN1cnJlbnQtPmRvbWFpbiwgZCk7
CiAgICAgfQotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIveGVu
L3hzbS9mbGFzay9ob29rcy5jCkBAIC02NzgsOCArNjc4LDEyIEBAIHN0YXRp
YyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAogICAgICAgICAg
Ki8KICAgICAgICAgcmV0dXJuIGF2Y19jdXJyZW50X2hhc19wZXJtKHNzaWRy
ZWYsIFNFQ0NMQVNTX0RPTUFJTiwgRE9NQUlOX19DUkVBVEUsIE5VTEwpOwog
Ci0gICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBob29rcyAoY29t
bW9uL2RvbWN0bC5jKSAqLworICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVh
bCBYU00gaG9va3MgYW5kIGRvbid0IG1ha2UgaXQgaGVyZS4gKi8KICAgICBj
YXNlIFhFTl9ET01DVExfZ2V0ZG9tYWluaW5mbzoKKyAgICAgICAgQVNTRVJU
X1VOUkVBQ0hBQkxFKCk7CisgICAgICAgIHJldHVybiAtRUlMU0VROworCisg
ICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBob29rcyAoY29tbW9u
L2RvbWN0bC5jKSAqLwogICAgIGNhc2UgWEVOX0RPTUNUTF9zY2hlZHVsZXJf
b3A6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lycV9wZXJtaXNzaW9uOgogICAg
IGNhc2UgWEVOX0RPTUNUTF9pb21lbV9wZXJtaXNzaW9uOgo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.17-03.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.17-03.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21haW46IGxvY2tpbmcgZm9yIGlvbWVtX2NhcHMgYWNjZXNzZXMKCklu
IG9yZGVyIHRvIGJlIGFibGUgdG8gcHVsbCBhdCBsZWFzdCB0aGUgWEVOX0RP
TUNUTF9pb21lbV9tYXBwaW5nIGhhbmRsaW5nCm91dCBvZiB0aGUgZG9tY3Rs
LWxvY2tlZCByZWdpb24sIGEgc2VwYXJhdGUgKHBlci1kb21haW4pIGxvY2sg
aXMgbmVlZGVkIHRvCnN5bmNocm9uaXplIGluIHBhcnRpY3VsYXIgd2l0aCBY
RU5fRE9NQ1RMX2lvbWVtX3Blcm1pc3Npb24uCgpMb2NraW5nIGlzIGFkZGVk
IG9ubHkgYXMgZmFyIGFzIGRvbWN0bC1zIGFyZSBhZmZlY3RlZC4gVXNlcyBw
cmVzZW50bHkKb3V0c2lkZSBvZiB0aGUgZG9tY3RsIGxvY2sgbWF5IHdhbnQg
ZGVhbGluZyB3aXRoIHN1YnNlcXVlbnRseSAocGVyaGFwcwpsaW1pdGVkIHRv
IG5vbi1fX2luaXQgY29kZSkuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4K
ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv
bT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBj
aXRyaXguY29tPgoKLS0tIGEveGVuL2NvbW1vbi9kb21haW4uYworKysgYi94
ZW4vY29tbW9uL2RvbWFpbi5jCkBAIC0zMzIsMTAgKzMzMiwxNSBAQCBzdGF0
aWMgaW50IGxhdGVfaHdkb21faW5pdChzdHJ1Y3QgZG9tYWluCiAgICAgICog
bWF5IGJlIG1vZGlmaWVkIGFmdGVyIHRoaXMgaHlwZXJjYWxsIHJldHVybnMg
aWYgYSBtb3JlIGNvbXBsZXgKICAgICAgKiBkZXZpY2UgbW9kZWwgaXMgZGVz
aXJlZC4KICAgICAgKi8KKyAgICB3cml0ZV9sb2NrKCZkb20wLT5jYXBzX2xv
Y2spOwogICAgIHJhbmdlc2V0X3N3YXAoZC0+aXJxX2NhcHMsIGRvbTAtPmly
cV9jYXBzKTsKICAgICByYW5nZXNldF9zd2FwKGQtPmlvbWVtX2NhcHMsIGRv
bTAtPmlvbWVtX2NhcHMpOwogI2lmZGVmIENPTkZJR19YODYKICAgICByYW5n
ZXNldF9zd2FwKGQtPmFyY2guaW9wb3J0X2NhcHMsIGRvbTAtPmFyY2guaW9w
b3J0X2NhcHMpOworI2VuZGlmCisgICAgd3JpdGVfdW5sb2NrKCZkb20wLT5j
YXBzX2xvY2spOworCisjaWZkZWYgQ09ORklHX1g4NgogICAgIHNldHVwX2lv
X2JpdG1hcChkKTsKICAgICBzZXR1cF9pb19iaXRtYXAoZG9tMCk7CiAjZW5k
aWYKQEAgLTYwMiw2ICs2MDcsNyBAQCBzdHJ1Y3QgZG9tYWluICpkb21haW5f
Y3JlYXRlKGRvbWlkX3QgZG9tCiAgICAgc3Bpbl9sb2NrX2luaXRfcHJvZihk
LCBkb21haW5fbG9jayk7CiAgICAgc3Bpbl9sb2NrX2luaXRfcHJvZihkLCBw
YWdlX2FsbG9jX2xvY2spOwogICAgIHNwaW5fbG9ja19pbml0KCZkLT5oeXBl
cmNhbGxfZGVhZGxvY2tfbXV0ZXgpOworICAgIHJ3bG9ja19pbml0KCZkLT5j
YXBzX2xvY2spOwogICAgIElOSVRfUEFHRV9MSVNUX0hFQUQoJmQtPnBhZ2Vf
bGlzdCk7CiAgICAgSU5JVF9QQUdFX0xJU1RfSEVBRCgmZC0+ZXh0cmFfcGFn
ZV9saXN0KTsKICAgICBJTklUX1BBR0VfTElTVF9IRUFEKCZkLT54ZW5wYWdl
X2xpc3QpOwotLS0gYS94ZW4vY29tbW9uL2RvbWN0bC5jCisrKyBiL3hlbi9j
b21tb24vZG9tY3RsLmMKQEAgLTI3OCw2ICsyNzgsMzUgQEAgc3RhdGljIHN0
cnVjdCB2bnVtYV9pbmZvICp2bnVtYV9pbml0KGNvbgogICAgIHJldHVybiBF
UlJfUFRSKHJldCk7CiB9CiAKK3ZvaWQgaW9jYXBzX2RvdWJsZV9sb2NrKHN0
cnVjdCBkb21haW4gKmQsIGJvb2wgd3JpdGUpCit7CisgICAgc3RydWN0IGRv
bWFpbiAqY3VycmQgPSBjdXJyZW50LT5kb21haW47CisKKyAgICBpZiAoIGQt
PmRvbWFpbl9pZCA+IGN1cnJkLT5kb21haW5faWQgKQorICAgICAgICByZWFk
X2xvY2soJmN1cnJkLT5jYXBzX2xvY2spOworCisgICAgaWYgKCB3cml0ZSAp
CisgICAgICAgIHdyaXRlX2xvY2soJmQtPmNhcHNfbG9jayk7CisgICAgZWxz
ZQorICAgICAgICByZWFkX2xvY2soJmQtPmNhcHNfbG9jayk7CisKKyAgICBp
ZiAoIGQtPmRvbWFpbl9pZCA8IGN1cnJkLT5kb21haW5faWQgKQorICAgICAg
ICByZWFkX2xvY2soJmN1cnJkLT5jYXBzX2xvY2spOworfQorCit2b2lkIGlv
Y2Fwc19kb3VibGVfdW5sb2NrKHN0cnVjdCBkb21haW4gKmQsIGJvb2wgd3Jp
dGUpCit7CisgICAgc3RydWN0IGRvbWFpbiAqY3VycmQgPSBjdXJyZW50LT5k
b21haW47CisKKyAgICBpZiAoIGQgIT0gY3VycmQgKQorICAgICAgICByZWFk
X3VubG9jaygmY3VycmQtPmNhcHNfbG9jayk7CisKKyAgICBpZiAoIHdyaXRl
ICkKKyAgICAgICAgd3JpdGVfdW5sb2NrKCZkLT5jYXBzX2xvY2spOworICAg
IGVsc2UKKyAgICAgICAgcmVhZF91bmxvY2soJmQtPmNhcHNfbG9jayk7Cit9
CisKIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGVu
X2RvbWN0bF90KSB1X2RvbWN0bCkKIHsKICAgICBsb25nIHJldCA9IDA7CkBA
IC03MTksNiArNzQ4LDggQEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hB
TkRMRV9QQVJBTSh4ZQogICAgICAgICBpZiAoIChtZm4gKyBucl9tZm5zIC0g
MSkgPCBtZm4gKSAvKiB3cmFwPyAqLwogICAgICAgICAgICAgYnJlYWs7CiAK
KyAgICAgICAgaW9jYXBzX2RvdWJsZV9sb2NrKGQsIHRydWUpOworCiAgICAg
ICAgIGlmICggIWlvbWVtX2FjY2Vzc19wZXJtaXR0ZWQoY3VycmVudC0+ZG9t
YWluLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1m
biwgbWZuICsgbnJfbWZucyAtIDEpIHx8CiAgICAgICAgICAgICAgeHNtX2lv
bWVtX3Blcm1pc3Npb24oWFNNX0hPT0ssIGQsIG1mbiwgbWZuICsgbnJfbWZu
cyAtIDEsIGFsbG93KSApCkBAIC03MjcsNiArNzU4LDggQEAgbG9uZyBkb19k
b21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICAgICAg
cmV0ID0gaW9tZW1fcGVybWl0X2FjY2VzcyhkLCBtZm4sIG1mbiArIG5yX21m
bnMgLSAxKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmV0ID0gaW9t
ZW1fZGVueV9hY2Nlc3MoZCwgbWZuLCBtZm4gKyBucl9tZm5zIC0gMSk7CisK
KyAgICAgICAgaW9jYXBzX2RvdWJsZV91bmxvY2soZCwgdHJ1ZSk7CiAgICAg
ICAgIGJyZWFrOwogICAgIH0KIApAQCAtNzUxLDE5ICs3ODQsMTUgQEAgbG9u
ZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAg
ICAgICAgYnJlYWs7CiAjZW5kaWYKIAorICAgICAgICBpb2NhcHNfZG91Ymxl
X2xvY2soZCwgZmFsc2UpOworCiAgICAgICAgIHJldCA9IC1FUEVSTTsKICAg
ICAgICAgaWYgKCAhaW9tZW1fYWNjZXNzX3Blcm1pdHRlZChjdXJyZW50LT5k
b21haW4sIG1mbiwgbWZuX2VuZCkgfHwKLSAgICAgICAgICAgICAhaW9tZW1f
YWNjZXNzX3Blcm1pdHRlZChkLCBtZm4sIG1mbl9lbmQpICkKLSAgICAgICAg
ICAgIGJyZWFrOwotCi0gICAgICAgIHJldCA9IHhzbV9pb21lbV9tYXBwaW5n
KFhTTV9IT09LLCBkLCBtZm4sIG1mbl9lbmQsIGFkZCk7Ci0gICAgICAgIGlm
ICggcmV0ICkKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIGlmICgg
IXBhZ2luZ19tb2RlX3RyYW5zbGF0ZShkKSApCi0gICAgICAgICAgICBicmVh
azsKLQotICAgICAgICBpZiAoIGFkZCApCisgICAgICAgICAgICAgIWlvbWVt
X2FjY2Vzc19wZXJtaXR0ZWQoZCwgbWZuLCBtZm5fZW5kKSB8fAorICAgICAg
ICAgICAgIChyZXQgPSB4c21faW9tZW1fbWFwcGluZyhYU01fSE9PSywgZCwg
bWZuLCBtZm5fZW5kLCBhZGQpKSB8fAorICAgICAgICAgICAgICFwYWdpbmdf
bW9kZV90cmFuc2xhdGUoZCkgKQorICAgICAgICAgICAgLyogTm90aGluZy4g
Ki87CisgICAgICAgIGVsc2UgaWYgKCBhZGQgKQogICAgICAgICB7CiAgICAg
ICAgICAgICBwcmludGsoWEVOTE9HX0dfREVCVUcKICAgICAgICAgICAgICAg
ICAgICAibWVtb3J5X21hcDphZGQ6IGRvbSVkIGdmbj0lbHggbWZuPSVseCBu
cj0lbHhcbiIsCkBAIC03ODcsNiArODE2LDggQEAgbG9uZyBkb19kb21jdGwo
WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICAgICAgICAgICAg
ICAgICAibWVtb3J5X21hcDogZXJyb3IgJWxkIHJlbW92aW5nIGRvbSVkIGFj
Y2VzcyB0byBbJWx4LCVseF1cbiIsCiAgICAgICAgICAgICAgICAgICAgICAg
IHJldCwgZC0+ZG9tYWluX2lkLCBtZm4sIG1mbl9lbmQpOwogICAgICAgICB9
CisKKyAgICAgICAgaW9jYXBzX2RvdWJsZV91bmxvY2soZCwgZmFsc2UpOwog
ICAgICAgICBicmVhazsKICAgICB9CiAKLS0tIGEveGVuL2luY2x1ZGUveGVu
L2lvY2FwLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL2lvY2FwLmgKQEAgLTEy
LDYgKzEyLDkgQEAKICNpbmNsdWRlIDxhc20vaW9jYXAuaD4KICNpbmNsdWRl
IDxhc20vcDJtLmg+CiAKK3ZvaWQgaW9jYXBzX2RvdWJsZV9sb2NrKHN0cnVj
dCBkb21haW4gKmQsIGJvb2wgd3JpdGUpOwordm9pZCBpb2NhcHNfZG91Ymxl
X3VubG9jayhzdHJ1Y3QgZG9tYWluICpkLCBib29sIHdyaXRlKTsKKwogc3Rh
dGljIGlubGluZSBpbnQgaW9tZW1fcGVybWl0X2FjY2VzcyhzdHJ1Y3QgZG9t
YWluICpkLCB1bnNpZ25lZCBsb25nIHMsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZSkKIHsKLS0tIGEv
eGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKKysrIGIveGVuL2luY2x1ZGUveGVu
L3NjaGVkLmgKQEAgLTQ5Miw2ICs0OTIsNyBAQCBzdHJ1Y3QgZG9tYWluCiAj
ZW5kaWYKIAogICAgIC8qIEkvTyBjYXBhYmlsaXRpZXMgKGFjY2VzcyB0byBJ
UlFzIGFuZCBtZW1vcnktbWFwcGVkIEkvTykuICovCisgICAgcndsb2NrX3Qg
ICAgICAgICBjYXBzX2xvY2s7CiAgICAgc3RydWN0IHJhbmdlc2V0ICppb21l
bV9jYXBzOwogICAgIHN0cnVjdCByYW5nZXNldCAqaXJxX2NhcHM7CiAK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.17-04.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.17-04.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvZG9tYWluOiBsb2NraW5nIGZvciBpb3BvcnRfY2FwcyBhY2Nlc3Nl
cwoKSW4gb3JkZXIgdG8gYmUgYWJsZSB0byBwdWxsIGF0IGxlYXN0IHRoZSBY
RU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nCmhhbmRsaW5nIG91dCBvZiB0aGUg
ZG9tY3RsLWxvY2tlZCByZWdpb24sIHRoZSBuZXcgc2VwYXJhdGUgKHBlci1k
b21haW4pCmxvY2sgaXMgdXNlZCB0byBzeW5jaHJvbml6ZSBpbiBwYXJ0aWN1
bGFyIHdpdGgKWEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbi4KCkxvY2tp
bmcgaXMgYWRkZWQgb25seSBhcyBmYXIgYXMgZG9tY3RsLXMgYXJlIGFmZmVj
dGVkLiBVc2VzIHByZXNlbnRseQpvdXRzaWRlIG9mIHRoZSBkb21jdGwgbG9j
ayBtYXkgd2FudCBkZWFsaW5nIHdpdGggc3Vic2VxdWVudGx5IChwZXJoYXBz
CmxpbWl0ZWQgdG8gbm9uLV9faW5pdCBjb2RlKS4KClRoaXMgaXMgcGFydCBv
ZiBYU0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8
cm9nZXIucGF1QGNpdHJpeC5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvZG9t
Y3RsLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWN0bC5jCkBAIC0yMjYsNiAr
MjI2LDggQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgKICAgICAgICAgdW5zaWdu
ZWQgaW50IG5wID0gZG9tY3RsLT51LmlvcG9ydF9wZXJtaXNzaW9uLm5yX3Bv
cnRzOwogICAgICAgICBpbnQgYWxsb3cgPSBkb21jdGwtPnUuaW9wb3J0X3Bl
cm1pc3Npb24uYWxsb3dfYWNjZXNzOwogCisgICAgICAgIGlvY2Fwc19kb3Vi
bGVfbG9jayhkLCB0cnVlKTsKKwogICAgICAgICBpZiAoIChmcCArIG5wKSA8
PSBmcCB8fCAoZnAgKyBucCkgPiBNQVhfSU9QT1JUUyApCiAgICAgICAgICAg
ICByZXQgPSAtRUlOVkFMOwogICAgICAgICBlbHNlIGlmICggIWlvcG9ydHNf
YWNjZXNzX3Blcm1pdHRlZChjdXJyZCwgZnAsIGZwICsgbnAgLSAxKSB8fApA
QCAtMjM1LDYgKzIzNyw4IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoCiAgICAg
ICAgICAgICByZXQgPSBpb3BvcnRzX3Blcm1pdF9hY2Nlc3MoZCwgZnAsIGZw
ICsgbnAgLSAxKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmV0ID0g
aW9wb3J0c19kZW55X2FjY2VzcyhkLCBmcCwgZnAgKyBucCAtIDEpOworCisg
ICAgICAgIGlvY2Fwc19kb3VibGVfdW5sb2NrKGQsIHRydWUpOwogICAgICAg
ICBicmVhazsKICAgICB9CiAKQEAgLTYwNSwxNiArNjA5LDEzIEBAIGxvbmcg
YXJjaF9kb19kb21jdGwoCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogCi0gICAgICAgIHJldCA9IC1FUEVSTTsKLSAgICAgICAgaWYgKCAhaW9w
b3J0c19hY2Nlc3NfcGVybWl0dGVkKGN1cnJkLCBmbXAsIGZtcCArIG5wIC0g
MSkgKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgcmV0ID0geHNt
X2lvcG9ydF9tYXBwaW5nKFhTTV9IT09LLCBkLCBmbXAsIGZtcCArIG5wIC0g
MSwgYWRkKTsKLSAgICAgICAgaWYgKCByZXQgKQotICAgICAgICAgICAgYnJl
YWs7Ci0KICAgICAgICAgaHZtID0gJmQtPmFyY2guaHZtOwotICAgICAgICBp
ZiAoIGFkZCApCisgICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCB0cnVl
KTsKKworICAgICAgICBpZiAoICFpb3BvcnRzX2FjY2Vzc19wZXJtaXR0ZWQo
Y3VycmQsIGZtcCwgZm1wICsgbnAgLSAxKSB8fAorICAgICAgICAgICAgIChy
ZXQgPSB4c21faW9wb3J0X21hcHBpbmcoWFNNX0hPT0ssIGQsIGZtcCwgZm1w
ICsgbnAgLSAxLCBhZGQpKSApCisgICAgICAgICAgICByZXQgPSByZXQgPzog
LUVQRVJNOworICAgICAgICBlbHNlIGlmICggYWRkICkKICAgICAgICAgewog
ICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0lORk8KICAgICAgICAgICAg
ICAgICAgICAiaW9wb3J0X21hcDphZGQ6IGRvbSVkIGdwb3J0PSV4IG1wb3J0
PSV4IG5yPSV4XG4iLApAQCAtNjc1LDYgKzY3Nyw4IEBAIGxvbmcgYXJjaF9k
b19kb21jdGwoCiAgICAgICAgICAgICAgICAgICAgICAgICJpb3BvcnRfbWFw
OiBlcnJvciAlbGQgZGVueWluZyBkb20lZCBhY2Nlc3MgdG8gWyV4LCV4XVxu
IiwKICAgICAgICAgICAgICAgICAgICAgICAgcmV0LCBkLT5kb21haW5faWQs
IGZtcCwgZm1wICsgbnAgLSAxKTsKICAgICAgICAgfQorCisgICAgICAgIGlv
Y2Fwc19kb3VibGVfdW5sb2NrKGQsIHRydWUpOwogICAgICAgICBicmVhazsK
ICAgICB9CiAKLS0tIGEveGVuL2FyY2gveDg2L3NldHVwLmMKKysrIGIveGVu
L2FyY2gveDg2L3NldHVwLmMKQEAgLTIwODYsOSArMjA4NiwxMyBAQCB2b2lk
IF9faHdkb21faW5pdCBzZXR1cF9pb19iaXRtYXAoc3RydWN0CiAgICAgaWYg
KCBpc19odm1fZG9tYWluKGQpICkKICAgICB7CiAgICAgICAgIGJpdG1hcF9m
aWxsKGQtPmFyY2guaHZtLmlvX2JpdG1hcCwgMHgxMDAwMCk7CisKKyAgICAg
ICAgcmVhZF9sb2NrKCZkLT5jYXBzX2xvY2spOwogICAgICAgICByYyA9IHJh
bmdlc2V0X3JlcG9ydF9yYW5nZXMoZC0+YXJjaC5pb3BvcnRfY2FwcywgMCwg
MHgxMDAwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlvX2JpdG1hcF9jYiwgZCk7CiAgICAgICAgIEJVR19PTihyYyk7CisgICAg
ICAgIHJlYWRfdW5sb2NrKCZkLT5jYXBzX2xvY2spOworCiAgICAgICAgIC8q
CiAgICAgICAgICAqIE5COiB3ZSBuZWVkIHRvIHRyYXAgYWNjZXNzZXMgdG8g
MHhjZjggaW4gb3JkZXIgdG8gaW50ZXJjZXB0CiAgICAgICAgICAqIDQgYnl0
ZSBhY2Nlc3NlcywgdGhhdCBuZWVkIHRvIGJlIGhhbmRsZWQgYnkgWGVuIGlu
IG9yZGVyIHRvCg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.17-05.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.17-05.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21haW46IGxvY2tpbmcgZm9yIGlycV9jYXBzIGFjY2Vzc2VzCgpJbiBv
cmRlciB0byBiZSBhYmxlIHRvIHB1bGwgYXQgbGVhc3QgdGhlIFhFTl9ET01D
VExfeyx1bn1iaW5kX3B0X2lycQpoYW5kbGluZyBvdXQgb2YgdGhlIGRvbWN0
bC1sb2NrZWQgcmVnaW9uLCBhIHNlcGFyYXRlIChwZXItZG9tYWluKSBsb2Nr
IGlzCm5lZWRlZCB0byBzeW5jaHJvbml6ZSBpbiBwYXJ0aWN1bGFyIHdpdGgg
WEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbi4KCkxvY2tpbmcgaXMgYWRkZWQg
b25seSBhcyBmYXIgYXMgZG9tY3RsLXMgYXJlIGFmZmVjdGVkLiBVc2VzIHBy
ZXNlbnRseQpvdXRzaWRlIG9mIHRoZSBkb21jdGwgbG9jayBtYXkgd2FudCBk
ZWFsaW5nIHdpdGggc3Vic2VxdWVudGx5IChwZXJoYXBzCmxpbWl0ZWQgdG8g
bm9uLV9faW5pdCBjb2RlKS4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoK
U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
PgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNp
dHJpeC5jb20+ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4
ZW4ub3JnPgoKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWN0bC5jCisrKyBiL3hl
bi9hcmNoL2FybS9kb21jdGwuYwpAQCAtNzQsNiArNzQsNyBAQCBsb25nIGFy
Y2hfZG9fZG9tY3RsKHN0cnVjdCB4ZW5fZG9tY3RsICpkCiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgogICAgIHsKICAgICAgICAgaW50IHJj
OworICAgICAgICBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1cnJlbnQtPmRv
bWFpbjsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfYmluZF9wdF9pcnEg
KmJpbmQgPSAmZG9tY3RsLT51LmJpbmRfcHRfaXJxOwogICAgICAgICB1aW50
MzJfdCBpcnEgPSBiaW5kLT51LnNwaS5zcGk7CiAgICAgICAgIHVpbnQzMl90
IHZpcnEgPSBiaW5kLT5tYWNoaW5lX2lycTsKQEAgLTEwNSwyMSArMTA2LDI2
IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoc3RydWN0IHhlbl9kb21jdGwgKmQK
ICAgICAgICAgaWYgKCByYyApCiAgICAgICAgICAgICByZXR1cm4gcmM7CiAK
LSAgICAgICAgaWYgKCAhaXJxX2FjY2Vzc19wZXJtaXR0ZWQoY3VycmVudC0+
ZG9tYWluLCBpcnEpICkKLSAgICAgICAgICAgIHJldHVybiAtRVBFUk07Cisg
ICAgICAgIHJlYWRfbG9jaygmY3VycmQtPmNhcHNfbG9jayk7CiAKLSAgICAg
ICAgaWYgKCAhdmdpY19yZXNlcnZlX3ZpcnEoZCwgdmlycSkgKQotICAgICAg
ICAgICAgcmV0dXJuIC1FQlVTWTsKLQotICAgICAgICByYyA9IHJvdXRlX2ly
cV90b19ndWVzdChkLCB2aXJxLCBpcnEsICJyb3V0ZWQgSVJRIik7Ci0gICAg
ICAgIGlmICggcmMgKQotICAgICAgICAgICAgdmdpY19mcmVlX3ZpcnEoZCwg
dmlycSk7CisgICAgICAgIGlmICggIWlycV9hY2Nlc3NfcGVybWl0dGVkKGN1
cnJkLCBpcnEpICkKKyAgICAgICAgICAgIHJjID0gLUVQRVJNOworICAgICAg
ICBlbHNlIGlmICggIXZnaWNfcmVzZXJ2ZV92aXJxKGQsIHZpcnEpICkKKyAg
ICAgICAgICAgIHJjID0gLUVCVVNZOworICAgICAgICBlbHNlCisgICAgICAg
IHsKKyAgICAgICAgICAgIHJjID0gcm91dGVfaXJxX3RvX2d1ZXN0KGQsIHZp
cnEsIGlycSwgInJvdXRlZCBJUlEiKTsKKyAgICAgICAgICAgIGlmICggcmMg
KQorICAgICAgICAgICAgICAgIHZnaWNfZnJlZV92aXJxKGQsIHZpcnEpOwor
ICAgICAgICB9CiAKKyAgICAgICAgcmVhZF91bmxvY2soJmN1cnJkLT5jYXBz
X2xvY2spOwogICAgICAgICByZXR1cm4gcmM7CiAgICAgfQogICAgIGNhc2Ug
WEVOX0RPTUNUTF91bmJpbmRfcHRfaXJxOgogICAgIHsKICAgICAgICAgaW50
IHJjOworICAgICAgICBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1cnJlbnQt
PmRvbWFpbjsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfYmluZF9wdF9p
cnEgKmJpbmQgPSAmZG9tY3RsLT51LmJpbmRfcHRfaXJxOwogICAgICAgICB1
aW50MzJfdCBpcnEgPSBiaW5kLT51LnNwaS5zcGk7CiAgICAgICAgIHVpbnQz
Ml90IHZpcnEgPSBiaW5kLT5tYWNoaW5lX2lycTsKQEAgLTEzNiwxNiArMTQy
LDE1IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoc3RydWN0IHhlbl9kb21jdGwg
KmQKICAgICAgICAgaWYgKCByYyApCiAgICAgICAgICAgICByZXR1cm4gcmM7
CiAKLSAgICAgICAgaWYgKCAhaXJxX2FjY2Vzc19wZXJtaXR0ZWQoY3VycmVu
dC0+ZG9tYWluLCBpcnEpICkKLSAgICAgICAgICAgIHJldHVybiAtRVBFUk07
Ci0KLSAgICAgICAgcmMgPSByZWxlYXNlX2d1ZXN0X2lycShkLCB2aXJxKTsK
LSAgICAgICAgaWYgKCByYyApCi0gICAgICAgICAgICByZXR1cm4gcmM7Cisg
ICAgICAgIHJlYWRfbG9jaygmY3VycmQtPmNhcHNfbG9jayk7CiAKLSAgICAg
ICAgdmdpY19mcmVlX3ZpcnEoZCwgdmlycSk7CisgICAgICAgIGlmICggIWly
cV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJkLCBpcnEpICkKKyAgICAgICAgICAg
IHJjID0gLUVQRVJNOworICAgICAgICBlbHNlIGlmICggIShyYyA9IHJlbGVh
c2VfZ3Vlc3RfaXJxKGQsIHZpcnEpKSApCisgICAgICAgICAgICB2Z2ljX2Zy
ZWVfdmlycShkLCB2aXJxKTsKIAotICAgICAgICByZXR1cm4gMDsKKyAgICAg
ICAgcmVhZF91bmxvY2soJmN1cnJkLT5jYXBzX2xvY2spOworICAgICAgICBy
ZXR1cm4gcmM7CiAgICAgfQogCiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Z1YXJ0
X29wOgotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVuL2Fy
Y2gveDg2L2RvbWN0bC5jCkBAIC01MzYsMjAgKzUzNiwyNyBAQCBsb25nIGFy
Y2hfZG9fZG9tY3RsKAogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAg
aXJxID0gZG9tYWluX3BpcnFfdG9faXJxKGQsIGJpbmQtPm1hY2hpbmVfaXJx
KTsKLSAgICAgICAgcmV0ID0gLUVQRVJNOwotICAgICAgICBpZiAoIGlycSA8
PSAwIHx8ICFpcnFfYWNjZXNzX3Blcm1pdHRlZChjdXJyZCwgaXJxKSApCi0g
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgaWYgKCBpcnEgPD0gMCApCisg
ICAgICAgICAgICByZXQgPSAtRVBFUk07CisKKyAgICAgICAgcmVhZF9sb2Nr
KCZjdXJyZC0+Y2Fwc19sb2NrKTsKIAotICAgICAgICByZXQgPSAtRVNSQ0g7
Ci0gICAgICAgIGlmICggaXNfaW9tbXVfZW5hYmxlZChkKSApCisgICAgICAg
IGlmICggIWlycV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJkLCBpcnEpICkKKyAg
ICAgICAgICAgIHJldCA9IC1FUEVSTTsKKyAgICAgICAgZWxzZSBpZiAoIGlz
X2lvbW11X2VuYWJsZWQoZCkgKQogICAgICAgICB7CiAgICAgICAgICAgICBw
Y2lkZXZzX2xvY2soKTsKICAgICAgICAgICAgIHJldCA9IHB0X2lycV9jcmVh
dGVfYmluZChkLCBiaW5kKTsKICAgICAgICAgICAgIHBjaWRldnNfdW5sb2Nr
KCk7CisKKyAgICAgICAgICAgIGlmICggcmV0IDwgMCApCisgICAgICAgICAg
ICAgICAgcHJpbnRrKFhFTkxPR19HX0VSUiAicHRfaXJxX2NyZWF0ZV9iaW5k
IGZhaWxlZCAoJWxkKSBmb3IgJXBkXG4iLAorICAgICAgICAgICAgICAgICAg
ICAgICByZXQsIGQpOwogICAgICAgICB9Ci0gICAgICAgIGlmICggcmV0IDwg
MCApCi0gICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfRVJSICJwdF9pcnFf
Y3JlYXRlX2JpbmQgZmFpbGVkICglbGQpIGZvciBkb20lZFxuIiwKLSAgICAg
ICAgICAgICAgICAgICByZXQsIGQtPmRvbWFpbl9pZCk7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIHJldCA9IC1FU1JDSDsKKworICAgICAgICByZWFk
X3VubG9jaygmY3VycmQtPmNhcHNfbG9jayk7CiAgICAgICAgIGJyZWFrOwog
ICAgIH0KIApAQCAtNTYyLDIzICs1NjksMjYgQEAgbG9uZyBhcmNoX2RvX2Rv
bWN0bCgKICAgICAgICAgaWYgKCAhaXNfaHZtX2RvbWFpbihkKSApCiAgICAg
ICAgICAgICBicmVhazsKIAotICAgICAgICByZXQgPSAtRVBFUk07Ci0gICAg
ICAgIGlmICggaXJxIDw9IDAgfHwgIWlycV9hY2Nlc3NfcGVybWl0dGVkKGN1
cnJkLCBpcnEpICkKLSAgICAgICAgICAgIGJyZWFrOwotCiAgICAgICAgIHJl
dCA9IHhzbV91bmJpbmRfcHRfaXJxKFhTTV9IT09LLCBkLCBiaW5kKTsKICAg
ICAgICAgaWYgKCByZXQgKQogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAg
ICAgaWYgKCBpc19pb21tdV9lbmFibGVkKGQpICkKKyAgICAgICAgcmVhZF9s
b2NrKCZjdXJyZC0+Y2Fwc19sb2NrKTsKKworICAgICAgICBpZiAoICFpcnFf
YWNjZXNzX3Blcm1pdHRlZChjdXJyZCwgaXJxKSApCisgICAgICAgICAgICBy
ZXQgPSAtRVBFUk07CisgICAgICAgIGVsc2UgaWYgKCBpc19pb21tdV9lbmFi
bGVkKGQpICkKICAgICAgICAgewogICAgICAgICAgICAgcGNpZGV2c19sb2Nr
KCk7CiAgICAgICAgICAgICByZXQgPSBwdF9pcnFfZGVzdHJveV9iaW5kKGQs
IGJpbmQpOwogICAgICAgICAgICAgcGNpZGV2c191bmxvY2soKTsKKworICAg
ICAgICAgICAgaWYgKCByZXQgPCAwICkKKyAgICAgICAgICAgICAgICBwcmlu
dGsoWEVOTE9HX0dfRVJSICJwdF9pcnFfZGVzdHJveV9iaW5kIGZhaWxlZCAo
JWxkKSBmb3IgJXBkXG4iLAorICAgICAgICAgICAgICAgICAgICAgICByZXQs
IGQpOwogICAgICAgICB9Ci0gICAgICAgIGlmICggcmV0IDwgMCApCi0gICAg
ICAgICAgICBwcmludGsoWEVOTE9HX0dfRVJSICJwdF9pcnFfZGVzdHJveV9i
aW5kIGZhaWxlZCAoJWxkKSBmb3IgZG9tJWRcbiIsCi0gICAgICAgICAgICAg
ICAgICAgcmV0LCBkLT5kb21haW5faWQpOworCisgICAgICAgIHJlYWRfdW5s
b2NrKCZjdXJyZC0+Y2Fwc19sb2NrKTsKICAgICAgICAgYnJlYWs7CiAgICAg
fQogCi0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMKKysrIGIveGVuL2NvbW1v
bi9kb21jdGwuYwpAQCAtNzI4LDYgKzcyOCw5IEBAIGxvbmcgZG9fZG9tY3Rs
KFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICAgICAgICAgIHJldCA9
IC1FSU5WQUw7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorCisg
ICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCB0cnVlKTsKKwogICAgICAg
ICBpcnEgPSBwaXJxX2FjY2Vzc19wZXJtaXR0ZWQoY3VycmVudC0+ZG9tYWlu
LCBwaXJxKTsKICAgICAgICAgaWYgKCAhaXJxIHx8IHhzbV9pcnFfcGVybWlz
c2lvbihYU01fSE9PSywgZCwgaXJxLCBhbGxvdykgKQogICAgICAgICAgICAg
cmV0ID0gLUVQRVJNOwpAQCAtNzM1LDYgKzczOCw4IEBAIGxvbmcgZG9fZG9t
Y3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICAgICAgICAgIHJl
dCA9IGlycV9wZXJtaXRfYWNjZXNzKGQsIGlycSk7CiAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgIHJldCA9IGlycV9kZW55X2FjY2VzcyhkLCBpcnEpOwor
CisgICAgICAgIGlvY2Fwc19kb3VibGVfdW5sb2NrKGQsIHRydWUpOwogICAg
ICAgICBicmVhazsKICAgICB9CiAK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.17-06.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.17-06.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBwaW5nIHdp
dGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRlZGljYXRlZCBs
b2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3QgcmVxdWlyZWQg
aGVyZSBhbnltb3JlLgpNb3ZlIHRoZSByZS1wdXJwb3NlZCBkZWRpY2F0ZWQg
WFNNIGNoZWNrIGFzIGVhcmx5IGFzIHBvc3NpYmxlLgoKTWluaW1hbCAibW9k
ZXJuaXphdGlvbiI6IFN3aXRjaCAiYWRkIiB0byBib29sIGFuZCB1c2UgJXBk
IGluIGxvZyBtZXNzYWdlcy4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoK
Rml4ZXM6IGZkYTQ5ZjliM2ZiYiAoIkFkZCBidWlsZCBvcHRpb24gdG8gYWxs
b3cgbW9yZSBoeXBlcmNhbGxzIGZyb20gc3R1YmRvbXMiKQpSZXBvcnRlZC1i
eTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K
U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
PgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNz
b2x1dGlvbnMuY29tPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8
cm9nZXIucGF1QGNpdHJpeC5jb20+CgotLS0gYS94ZW4vY29tbW9uL2RvbWN0
bC5jCisrKyBiL3hlbi9jb21tb24vZG9tY3RsLmMKQEAgLTM5Miw2ICszOTIs
NjYgQEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4
ZQogICAgICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CiAg
ICAgfQogCisgICAgY2FzZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBwaW5nOgor
ICAgIHsKKyAgICAgICAgdW5zaWduZWQgbG9uZyBnZm4gPSBvcC0+dS5tZW1v
cnlfbWFwcGluZy5maXJzdF9nZm47CisgICAgICAgIHVuc2lnbmVkIGxvbmcg
bWZuID0gb3AtPnUubWVtb3J5X21hcHBpbmcuZmlyc3RfbWZuOworICAgICAg
ICB1bnNpZ25lZCBsb25nIG5yX21mbnMgPSBvcC0+dS5tZW1vcnlfbWFwcGlu
Zy5ucl9tZm5zOworICAgICAgICB1bnNpZ25lZCBsb25nIG1mbl9lbmQgPSBt
Zm4gKyBucl9tZm5zIC0gMTsKKyAgICAgICAgYm9vbCBhZGQgPSBvcC0+dS5t
ZW1vcnlfbWFwcGluZy5hZGRfbWFwcGluZzsKKworICAgICAgICByZXQgPSAt
RUlOVkFMOworICAgICAgICBpZiAoIG1mbl9lbmQgPCBtZm4gfHwgLyogV3Jh
cD8gKi8KKyAgICAgICAgICAgICAoKG1mbiB8IG1mbl9lbmQpID4+IChwYWRk
cl9iaXRzIC0gUEFHRV9TSElGVCkpIHx8CisgICAgICAgICAgICAgKGdmbiAr
IG5yX21mbnMgLSAxKSA8IGdmbiApIC8qIFdyYXA/ICovCisgICAgICAgICAg
ICBnb3RvIGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CisKKyAgICAgICAg
cmV0ID0geHNtX2lvbWVtX21hcHBpbmcoWFNNX0RNX1BSSVYsIGQsIG1mbiwg
bWZuX2VuZCwgYWRkKTsKKyAgICAgICAgaWYgKCByZXQgfHwgIXBhZ2luZ19t
b2RlX3RyYW5zbGF0ZShkKSApCisgICAgICAgICAgICBnb3RvIGRvbWN0bF9v
dXRfdW5sb2NrX2RvbW9ubHk7CisKKyNpZm5kZWYgQ09ORklHX1g4NiAvKiBY
WFggQVJNIT8gKi8KKyAgICAgICAgcmV0ID0gLUUyQklHOworICAgICAgICAv
KiBNdXN0IGJyZWFrIGh5cGVyY2FsbCB1cCBhcyB0aGlzIGNvdWxkIHRha2Ug
YSB3aGlsZS4gKi8KKyAgICAgICAgaWYgKCBucl9tZm5zID4gNjQgKQorICAg
ICAgICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5OworI2Vu
ZGlmCisKKyAgICAgICAgaW9jYXBzX2RvdWJsZV9sb2NrKGQsIGZhbHNlKTsK
KworICAgICAgICByZXQgPSAtRVBFUk07CisgICAgICAgIGlmICggIWlvbWVt
X2FjY2Vzc19wZXJtaXR0ZWQoY3VycmVudC0+ZG9tYWluLCBtZm4sIG1mbl9l
bmQpIHx8CisgICAgICAgICAgICAgIWlvbWVtX2FjY2Vzc19wZXJtaXR0ZWQo
ZCwgbWZuLCBtZm5fZW5kKSApCisgICAgICAgICAgICAvKiBOb3RoaW5nLiAq
LzsKKyAgICAgICAgZWxzZSBpZiAoIGFkZCApCisgICAgICAgIHsKKyAgICAg
ICAgICAgIHByaW50ayhYRU5MT0dfR19ERUJVRworICAgICAgICAgICAgICAg
ICAgICJtZW1vcnlfbWFwOmFkZDogJXBkIGdmbj0lbHggbWZuPSVseCBucj0l
bHhcbiIsCisgICAgICAgICAgICAgICAgICAgZCwgZ2ZuLCBtZm4sIG5yX21m
bnMpOworCisgICAgICAgICAgICByZXQgPSBtYXBfbW1pb19yZWdpb25zKGQs
IF9nZm4oZ2ZuKSwgbnJfbWZucywgX21mbihtZm4pKTsKKyAgICAgICAgICAg
IGlmICggcmV0IDwgMCApCisgICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxP
R19HX1dBUk5JTkcKKyAgICAgICAgICAgICAgICAgICAgICAgIm1lbW9yeV9t
YXA6ZmFpbDogJXBkIGdmbj0lbHggbWZuPSVseCBucj0lbHggcmV0OiVsZFxu
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgZCwgZ2ZuLCBtZm4sIG5yX21m
bnMsIHJldCk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7
CisgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfREVCVUcKKyAgICAgICAg
ICAgICAgICAgICAibWVtb3J5X21hcDpyZW1vdmU6ICVwZCBnZm49JWx4IG1m
bj0lbHggbnI9JWx4XG4iLAorICAgICAgICAgICAgICAgICAgIGQsIGdmbiwg
bWZuLCBucl9tZm5zKTsKKworICAgICAgICAgICAgcmV0ID0gdW5tYXBfbW1p
b19yZWdpb25zKGQsIF9nZm4oZ2ZuKSwgbnJfbWZucywgX21mbihtZm4pKTsK
KyAgICAgICAgICAgIGlmICggcmV0IDwgMCAmJiBpc19oYXJkd2FyZV9kb21h
aW4oY3VycmVudC0+ZG9tYWluKSApCisgICAgICAgICAgICAgICAgcHJpbnRr
KFhFTkxPR19FUlIKKyAgICAgICAgICAgICAgICAgICAgICAgIm1lbW9yeV9t
YXA6IGVycm9yICVsZCByZW1vdmluZyAlcGQgYWNjZXNzIHRvIFslbHgsJWx4
XVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgcmV0LCBkLCBtZm4sIG1m
bl9lbmQpOworICAgICAgICB9CisKKyAgICAgICAgaW9jYXBzX2RvdWJsZV91
bmxvY2soZCwgZmFsc2UpOworICAgICAgICBnb3RvIGRvbWN0bF9vdXRfdW5s
b2NrX2RvbW9ubHk7CisgICAgfQorCiAgICAgZGVmYXVsdDoKICAgICAgICAg
LyogRXZlcnl0aGluZyBlbHNlIGhhbmRsZWQgZnVydGhlciBkb3duLiAqLwog
ICAgICAgICBicmVhazsKQEAgLTc2OCw2NCArODI4LDYgQEAgbG9uZyBkb19k
b21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICBicmVh
azsKICAgICB9CiAKLSAgICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBp
bmc6Ci0gICAgewotICAgICAgICB1bnNpZ25lZCBsb25nIGdmbiA9IG9wLT51
Lm1lbW9yeV9tYXBwaW5nLmZpcnN0X2dmbjsKLSAgICAgICAgdW5zaWduZWQg
bG9uZyBtZm4gPSBvcC0+dS5tZW1vcnlfbWFwcGluZy5maXJzdF9tZm47Ci0g
ICAgICAgIHVuc2lnbmVkIGxvbmcgbnJfbWZucyA9IG9wLT51Lm1lbW9yeV9t
YXBwaW5nLm5yX21mbnM7Ci0gICAgICAgIHVuc2lnbmVkIGxvbmcgbWZuX2Vu
ZCA9IG1mbiArIG5yX21mbnMgLSAxOwotICAgICAgICBpbnQgYWRkID0gb3At
PnUubWVtb3J5X21hcHBpbmcuYWRkX21hcHBpbmc7Ci0KLSAgICAgICAgcmV0
ID0gLUVJTlZBTDsKLSAgICAgICAgaWYgKCBtZm5fZW5kIDwgbWZuIHx8IC8q
IHdyYXA/ICovCi0gICAgICAgICAgICAgKChtZm4gfCBtZm5fZW5kKSA+PiAo
cGFkZHJfYml0cyAtIFBBR0VfU0hJRlQpKSB8fAotICAgICAgICAgICAgIChn
Zm4gKyBucl9tZm5zIC0gMSkgPCBnZm4gKSAvKiB3cmFwPyAqLwotICAgICAg
ICAgICAgYnJlYWs7Ci0KLSNpZm5kZWYgQ09ORklHX1g4NiAvKiBYWFggQVJN
IT8gKi8KLSAgICAgICAgcmV0ID0gLUUyQklHOwotICAgICAgICAvKiBNdXN0
IGJyZWFrIGh5cGVyY2FsbCB1cCBhcyB0aGlzIGNvdWxkIHRha2UgYSB3aGls
ZS4gKi8KLSAgICAgICAgaWYgKCBucl9tZm5zID4gNjQgKQotICAgICAgICAg
ICAgYnJlYWs7Ci0jZW5kaWYKLQotICAgICAgICBpb2NhcHNfZG91YmxlX2xv
Y2soZCwgZmFsc2UpOwotCi0gICAgICAgIHJldCA9IC1FUEVSTTsKLSAgICAg
ICAgaWYgKCAhaW9tZW1fYWNjZXNzX3Blcm1pdHRlZChjdXJyZW50LT5kb21h
aW4sIG1mbiwgbWZuX2VuZCkgfHwKLSAgICAgICAgICAgICAhaW9tZW1fYWNj
ZXNzX3Blcm1pdHRlZChkLCBtZm4sIG1mbl9lbmQpIHx8Ci0gICAgICAgICAg
ICAgKHJldCA9IHhzbV9pb21lbV9tYXBwaW5nKFhTTV9IT09LLCBkLCBtZm4s
IG1mbl9lbmQsIGFkZCkpIHx8Ci0gICAgICAgICAgICAgIXBhZ2luZ19tb2Rl
X3RyYW5zbGF0ZShkKSApCi0gICAgICAgICAgICAvKiBOb3RoaW5nLiAqLzsK
LSAgICAgICAgZWxzZSBpZiAoIGFkZCApCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIHByaW50ayhYRU5MT0dfR19ERUJVRwotICAgICAgICAgICAgICAgICAg
ICJtZW1vcnlfbWFwOmFkZDogZG9tJWQgZ2ZuPSVseCBtZm49JWx4IG5yPSVs
eFxuIiwKLSAgICAgICAgICAgICAgICAgICBkLT5kb21haW5faWQsIGdmbiwg
bWZuLCBucl9tZm5zKTsKLQotICAgICAgICAgICAgcmV0ID0gbWFwX21taW9f
cmVnaW9ucyhkLCBfZ2ZuKGdmbiksIG5yX21mbnMsIF9tZm4obWZuKSk7Ci0g
ICAgICAgICAgICBpZiAoIHJldCA8IDAgKQotICAgICAgICAgICAgICAgIHBy
aW50ayhYRU5MT0dfR19XQVJOSU5HCi0gICAgICAgICAgICAgICAgICAgICAg
ICJtZW1vcnlfbWFwOmZhaWw6IGRvbSVkIGdmbj0lbHggbWZuPSVseCBucj0l
bHggcmV0OiVsZFxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgZC0+ZG9t
YWluX2lkLCBnZm4sIG1mbiwgbnJfbWZucywgcmV0KTsKLSAgICAgICAgfQot
ICAgICAgICBlbHNlCi0gICAgICAgIHsKLSAgICAgICAgICAgIHByaW50ayhY
RU5MT0dfR19ERUJVRwotICAgICAgICAgICAgICAgICAgICJtZW1vcnlfbWFw
OnJlbW92ZTogZG9tJWQgZ2ZuPSVseCBtZm49JWx4IG5yPSVseFxuIiwKLSAg
ICAgICAgICAgICAgICAgICBkLT5kb21haW5faWQsIGdmbiwgbWZuLCBucl9t
Zm5zKTsKLQotICAgICAgICAgICAgcmV0ID0gdW5tYXBfbW1pb19yZWdpb25z
KGQsIF9nZm4oZ2ZuKSwgbnJfbWZucywgX21mbihtZm4pKTsKLSAgICAgICAg
ICAgIGlmICggcmV0IDwgMCAmJiBpc19oYXJkd2FyZV9kb21haW4oY3VycmVu
dC0+ZG9tYWluKSApCi0gICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19F
UlIKLSAgICAgICAgICAgICAgICAgICAgICAgIm1lbW9yeV9tYXA6IGVycm9y
ICVsZCByZW1vdmluZyBkb20lZCBhY2Nlc3MgdG8gWyVseCwlbHhdXG4iLAot
ICAgICAgICAgICAgICAgICAgICAgICByZXQsIGQtPmRvbWFpbl9pZCwgbWZu
LCBtZm5fZW5kKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlvY2Fwc19kb3Vi
bGVfdW5sb2NrKGQsIGZhbHNlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQot
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3NldHRpbWVvZmZzZXQ6CiAgICAgICAg
IGRvbWFpbl9zZXRfdGltZV9vZmZzZXQoZCwgb3AtPnUuc2V0dGltZW9mZnNl
dC50aW1lX29mZnNldF9zZWNvbmRzKTsKICAgICAgICAgYnJlYWs7Ci0tLSBh
L3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCisrKyBiL3hlbi9pbmNsdWRlL3hz
bS9kdW1teS5oCkBAIC0xNjgsMTIgKzE2OCwxMiBAQCBzdGF0aWMgWFNNX0lO
TElORSBpbnQgY2ZfY2hlY2sgeHNtX2RvbWN0CiAgICAgc3dpdGNoICggY21k
ICkKICAgICB7CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5n
OgotICAgIGNhc2UgWEVOX0RPTUNUTF9tZW1vcnlfbWFwcGluZzoKICAgICBj
YXNlIFhFTl9ET01DVExfYmluZF9wdF9pcnE6CiAgICAgY2FzZSBYRU5fRE9N
Q1RMX3VuYmluZF9wdF9pcnE6CiAgICAgICAgIHJldHVybiB4c21fZGVmYXVs
dF9hY3Rpb24oWFNNX0RNX1BSSVYsIGN1cnJlbnQtPmRvbWFpbiwgZCk7CiAK
ICAgICBjYXNlIFhFTl9ET01DVExfZ2V0ZG9tYWluaW5mbzoKKyAgICBjYXNl
IFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAgICAgICAgIEFTU0VSVF9V
TlJFQUNIQUJMRSgpOwogICAgICAgICByZXR1cm4gLUVJTFNFUTsKIApAQCAt
NTc1LDcgKzU3NSw3IEBAIHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVj
ayB4c21faW9tZW0KIHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4
c21faW9tZW1fbWFwcGluZygKICAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0
IGRvbWFpbiAqZCwgdWludDY0X3QgcywgdWludDY0X3QgZSwgdWludDhfdCBh
bGxvdykKIHsKLSAgICBYU01fQVNTRVJUX0FDVElPTihYU01fSE9PSyk7Cisg
ICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX0RNX1BSSVYpOwogICAgIHJldHVy
biB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5kb21haW4s
IGQpOwogfQogCi0tLSBhL3hlbi94c20vZmxhc2svaG9va3MuYworKysgYi94
ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAgLTY4MCw2ICs2ODAsNyBAQCBzdGF0
aWMgaW50IGNmX2NoZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKIAogICAgIC8q
IFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00gaG9va3MgYW5kIGRvbid0IG1h
a2UgaXQgaGVyZS4gKi8KICAgICBjYXNlIFhFTl9ET01DVExfZ2V0ZG9tYWlu
aW5mbzoKKyAgICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAg
ICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAgICAgICByZXR1cm4g
LUVJTFNFUTsKIApAQCAtNjg3LDcgKzY4OCw2IEBAIHN0YXRpYyBpbnQgY2Zf
Y2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAogICAgIGNhc2UgWEVOX0RPTUNU
TF9zY2hlZHVsZXJfb3A6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lycV9wZXJt
aXNzaW9uOgogICAgIGNhc2UgWEVOX0RPTUNUTF9pb21lbV9wZXJtaXNzaW9u
OgotICAgIGNhc2UgWEVOX0RPTUNUTF9tZW1vcnlfbWFwcGluZzoKICAgICBj
YXNlIFhFTl9ET01DVExfc2V0X3RhcmdldDoKICAgICBjYXNlIFhFTl9ET01D
VExfdm1fZXZlbnRfb3A6CiAK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.17-07.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.17-07.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nIHdp
dGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRlZGljYXRlZCBs
b2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3QgcmVxdWlyZWQg
aGVyZSBhbnltb3JlLgpBcyB0aGUgaGFuZGxpbmcgaXMgaW4gYXJjaC1zcGVj
aWZpYyBjb2RlICh4ODYgb25seSksIGFsbW9zdCBubyBjb2RlIGlzCmJlaW5n
IG1vdmVkLCBidXQgYSAybmQgKGV4dGVuc2libGUgdG8gb3RoZXIgc3ViLW9w
cykgaW52b2NhdGlvbiBvZgphcmNoX2RvX2RvbWN0bCgpIGlzIGJlaW5nIGFk
ZGVkLiBNb3ZlIGp1c3QgdGhlIHJlLXB1cnBvc2VkIGRlZGljYXRlZCBYU00K
Y2hlY2sgYXMgZWFybHkgYXMgcG9zc2libGUuCgpJbiBmbGFza19kb21jdGwo
KSBkb24ndCBwdXQgI2lmZGVmIGFyb3VuZCB0aGUgbW92ZWQgY2FzZSBsYWJl
bC4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKRml4ZXM6IGZkYTQ5Zjli
M2ZiYiAoIkFkZCBidWlsZCBvcHRpb24gdG8gYWxsb3cgbW9yZSBoeXBlcmNh
bGxzIGZyb20gc3R1YmRvbXMiKQpSZXBvcnRlZC1ieTogQW5kcmV3IENvb3Bl
ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
Um9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkFja2Vk
LWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9u
cy5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVu
L2FyY2gveDg2L2RvbWN0bC5jCkBAIC02MTksMTIgKzYxOSwxNSBAQCBsb25n
IGFyY2hfZG9fZG9tY3RsKAogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KIAorICAgICAgICByZXQgPSB4c21faW9wb3J0X21hcHBpbmcoWFNNX0RN
X1BSSVYsIGQsIGZtcCwgZm1wICsgbnAgLSAxLCBhZGQpOworICAgICAgICBp
ZiAoIHJldCApCisgICAgICAgICAgICBicmVhazsKKwogICAgICAgICBodm0g
PSAmZC0+YXJjaC5odm07CiAgICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhk
LCB0cnVlKTsKIAotICAgICAgICBpZiAoICFpb3BvcnRzX2FjY2Vzc19wZXJt
aXR0ZWQoY3VycmQsIGZtcCwgZm1wICsgbnAgLSAxKSB8fAotICAgICAgICAg
ICAgIChyZXQgPSB4c21faW9wb3J0X21hcHBpbmcoWFNNX0hPT0ssIGQsIGZt
cCwgZm1wICsgbnAgLSAxLCBhZGQpKSApCi0gICAgICAgICAgICByZXQgPSBy
ZXQgPzogLUVQRVJNOworICAgICAgICBpZiAoICFpb3BvcnRzX2FjY2Vzc19w
ZXJtaXR0ZWQoY3VycmQsIGZtcCwgZm1wICsgbnAgLSAxKSApCisgICAgICAg
ICAgICByZXQgPSAtRVBFUk07CiAgICAgICAgIGVsc2UgaWYgKCBhZGQgKQog
ICAgICAgICB7CiAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfSU5GTwot
LS0gYS94ZW4vY29tbW9uL2RvbWN0bC5jCisrKyBiL3hlbi9jb21tb24vZG9t
Y3RsLmMKQEAgLTQ1Miw2ICs0NTIsMTAgQEAgbG9uZyBkb19kb21jdGwoWEVO
X0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICBnb3RvIGRvbWN0bF9v
dXRfdW5sb2NrX2RvbW9ubHk7CiAgICAgfQogCisgICAgY2FzZSBYRU5fRE9N
Q1RMX2lvcG9ydF9tYXBwaW5nOgorICAgICAgICByZXQgPSBhcmNoX2RvX2Rv
bWN0bChvcCwgZCwgdV9kb21jdGwpOworICAgICAgICBnb3RvIGRvbWN0bF9v
dXRfdW5sb2NrX2RvbW9ubHk7CisKICAgICBkZWZhdWx0OgogICAgICAgICAv
KiBFdmVyeXRoaW5nIGVsc2UgaGFuZGxlZCBmdXJ0aGVyIGRvd24uICovCiAg
ICAgICAgIGJyZWFrOwotLS0gYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAor
KysgYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTY3LDEyICsxNjcs
MTIgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9kb21j
dAogICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9PVEhFUik7CiAgICAgc3dp
dGNoICggY21kICkKICAgICB7Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9y
dF9tYXBwaW5nOgogICAgIGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToK
ICAgICBjYXNlIFhFTl9ET01DVExfdW5iaW5kX3B0X2lycToKICAgICAgICAg
cmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihYU01fRE1fUFJJViwgY3VycmVu
dC0+ZG9tYWluLCBkKTsKIAogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRkb21h
aW5pbmZvOgorICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoK
ICAgICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAgICAgICAg
IEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAgICAgICByZXR1cm4gLUVJTFNF
UTsKQEAgLTc2NCw3ICs3NjQsNyBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQg
Y2ZfY2hlY2sgeHNtX2lvcG9yCiBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2Zf
Y2hlY2sgeHNtX2lvcG9ydF9tYXBwaW5nKAogICAgIFhTTV9ERUZBVUxUX0FS
RyBzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBzLCB1aW50MzJfdCBlLCB1
aW50OF90IGFsbG93KQogewotICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9I
T09LKTsKKyAgICBYU01fQVNTRVJUX0FDVElPTihYU01fRE1fUFJJVik7CiAg
ICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQt
PmRvbWFpbiwgZCk7CiB9CiAKLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5j
CisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjgwLDYgKzY4MCw3
IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAog
CiAgICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBob29rcyBhbmQg
ZG9uJ3QgbWFrZSBpdCBoZXJlLiAqLwogICAgIGNhc2UgWEVOX0RPTUNUTF9n
ZXRkb21haW5pbmZvOgorICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFw
cGluZzoKICAgICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAg
ICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAgICAgICByZXR1cm4g
LUVJTFNFUTsKQEAgLTY5OCw3ICs2OTksNiBAQCBzdGF0aWMgaW50IGNmX2No
ZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICAvKiBUaGVzZSBoYXZlIGlu
ZGl2aWR1YWwgWFNNIGhvb2tzIChhcmNoL3g4Ni9kb21jdGwuYykgKi8KICAg
ICBjYXNlIFhFTl9ET01DVExfc2hhZG93X29wOgogICAgIGNhc2UgWEVOX0RP
TUNUTF9pb3BvcnRfcGVybWlzc2lvbjoKLSAgICBjYXNlIFhFTl9ET01DVExf
aW9wb3J0X21hcHBpbmc6CiAjZW5kaWYKICNpZmRlZiBDT05GSUdfSEFTX1BB
U1NUSFJPVUdICiAgICAgLyoK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.17-08.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.17-08.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX3ssdW59YmluZF9wdF9pcnEg
d2l0aG91dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKCldpdGggZGVkaWNhdGVk
IGxvY2tpbmcgYWRkZWQsIHRoZSBkb21jdGwgbG9jayBpc24ndCByZXF1aXJl
ZCBoZXJlIGFueW1vcmUuCihJdCBhbHNvIGFscmVhZHkgaXNuJ3QgdXNlZCB3
aGVuIHB0X2lycV97Y3JlYXRlLGRlc3Ryb3l9X2JpbmQoKSBhcmUKaW52b2tl
ZCBmb3IgUFZIIERvbTAuKSBBcyB0aGUgaGFuZGxpbmcgaXMgaW4gYXJjaC1z
cGVjaWZpYyBjb2RlLCBubyBjb2RlCmlzIGJlaW5nIG1vdmVkLCBidXQgdGhl
IDJuZCAoZXh0ZW5zaWJsZSB0byBvdGhlciBzdWItb3BzIGxpa2UgdGhlIG9u
ZXMKaGVyZSkgaW52b2NhdGlvbiBvZiBhcmNoX2RvX2RvbWN0bCgpIGlzIGJl
aW5nIHJlLXVzZWQuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4KCkZpeGVz
OiBmZGE0OWY5YjNmYmIgKCJBZGQgYnVpbGQgb3B0aW9uIHRvIGFsbG93IG1v
cmUgaHlwZXJjYWxscyBmcm9tIHN0dWJkb21zIikKUmVwb3J0ZWQtYnk6IEFu
ZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClNpZ25l
ZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2
aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXgu
Y29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0
dXNzb2x1dGlvbnMuY29tPgpBY2tlZC1ieTogSnVsaWVuIEdyYWxsIDxqdWxp
ZW5AeGVuLm9yZz4KCi0tLSBhL3hlbi9hcmNoL2FybS9kb21jdGwuYworKysg
Yi94ZW4vYXJjaC9hcm0vZG9tY3RsLmMKQEAgLTEwMiw3ICsxMDIsNyBAQCBs
b25nIGFyY2hfZG9fZG9tY3RsKHN0cnVjdCB4ZW5fZG9tY3RsICpkCiAgICAg
ICAgIGlmICggcmMgKQogICAgICAgICAgICAgcmV0dXJuIHJjOwogCi0gICAg
ICAgIHJjID0geHNtX2JpbmRfcHRfaXJxKFhTTV9IT09LLCBkLCBiaW5kKTsK
KyAgICAgICAgcmMgPSB4c21fYmluZF9wdF9pcnEoWFNNX0RNX1BSSVYsIGQs
IGJpbmQpOwogICAgICAgICBpZiAoIHJjICkKICAgICAgICAgICAgIHJldHVy
biByYzsKIApAQCAtMTM4LDcgKzEzOCw3IEBAIGxvbmcgYXJjaF9kb19kb21j
dGwoc3RydWN0IHhlbl9kb21jdGwgKmQKICAgICAgICAgaWYgKCBpcnEgIT0g
dmlycSApCiAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAotICAgICAg
ICByYyA9IHhzbV91bmJpbmRfcHRfaXJxKFhTTV9IT09LLCBkLCBiaW5kKTsK
KyAgICAgICAgcmMgPSB4c21fdW5iaW5kX3B0X2lycShYU01fRE1fUFJJViwg
ZCwgYmluZCk7CiAgICAgICAgIGlmICggcmMgKQogICAgICAgICAgICAgcmV0
dXJuIHJjOwogCi0tLSBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYworKysgYi94
ZW4vYXJjaC94ODYvZG9tY3RsLmMKQEAgLTUzMSw3ICs1MzEsNyBAQCBsb25n
IGFyY2hfZG9fZG9tY3RsKAogICAgICAgICBpZiAoICFpc19odm1fZG9tYWlu
KGQpICkKICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIHJldCA9IHhz
bV9iaW5kX3B0X2lycShYU01fSE9PSywgZCwgYmluZCk7CisgICAgICAgIHJl
dCA9IHhzbV9iaW5kX3B0X2lycShYU01fRE1fUFJJViwgZCwgYmluZCk7CiAg
ICAgICAgIGlmICggcmV0ICkKICAgICAgICAgICAgIGJyZWFrOwogCkBAIC01
NjksNyArNTY5LDcgQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgKICAgICAgICAg
aWYgKCAhaXNfaHZtX2RvbWFpbihkKSApCiAgICAgICAgICAgICBicmVhazsK
IAotICAgICAgICByZXQgPSB4c21fdW5iaW5kX3B0X2lycShYU01fSE9PSywg
ZCwgYmluZCk7CisgICAgICAgIHJldCA9IHhzbV91bmJpbmRfcHRfaXJxKFhT
TV9ETV9QUklWLCBkLCBiaW5kKTsKICAgICAgICAgaWYgKCByZXQgKQogICAg
ICAgICAgICAgYnJlYWs7CiAKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYwor
KysgYi94ZW4vY29tbW9uL2RvbWN0bC5jCkBAIC00NTMsNiArNDUzLDggQEAg
bG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAg
IH0KIAogICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKKyAg
ICBjYXNlIFhFTl9ET01DVExfYmluZF9wdF9pcnE6CisgICAgY2FzZSBYRU5f
RE9NQ1RMX3VuYmluZF9wdF9pcnE6CiAgICAgICAgIHJldCA9IGFyY2hfZG9f
ZG9tY3RsKG9wLCBkLCB1X2RvbWN0bCk7CiAgICAgICAgIGdvdG8gZG9tY3Rs
X291dF91bmxvY2tfZG9tb25seTsKIAotLS0gYS94ZW4vaW5jbHVkZS94c20v
ZHVtbXkuaAorKysgYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTY4
LDEyICsxNjgsMTAgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNr
IHhzbV9kb21jdAogICAgIHN3aXRjaCAoIGNtZCApCiAgICAgewogICAgIGNh
c2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToKLSAgICBjYXNlIFhFTl9ET01D
VExfdW5iaW5kX3B0X2lycToKLSAgICAgICAgcmV0dXJuIHhzbV9kZWZhdWx0
X2FjdGlvbihYU01fRE1fUFJJViwgY3VycmVudC0+ZG9tYWluLCBkKTsKLQog
ICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRkb21haW5pbmZvOgogICAgIGNhc2Ug
WEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBjYXNlIFhFTl9ET01D
VExfbWVtb3J5X21hcHBpbmc6CisgICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmlu
ZF9wdF9pcnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAg
ICAgICByZXR1cm4gLUVJTFNFUTsKIApAQCAtNTQwLDE0ICs1MzgsMTQgQEAg
c3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV91bm1hcAogc3Rh
dGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9iaW5kX3B0X2lycSgK
ICAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0
IHhlbl9kb21jdGxfYmluZF9wdF9pcnEgKmJpbmQpCiB7Ci0gICAgWFNNX0FT
U0VSVF9BQ1RJT04oWFNNX0hPT0spOworICAgIFhTTV9BU1NFUlRfQUNUSU9O
KFhTTV9ETV9QUklWKTsKICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9u
KGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBkKTsKIH0KIAogc3RhdGljIFhT
TV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV91bmJpbmRfcHRfaXJxKAogICAg
IFhTTV9ERUZBVUxUX0FSRyBzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgeGVu
X2RvbWN0bF9iaW5kX3B0X2lycSAqYmluZCkKIHsKLSAgICBYU01fQVNTRVJU
X0FDVElPTihYU01fSE9PSyk7CisgICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNN
X0RNX1BSSVYpOwogICAgIHJldHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0
aW9uLCBjdXJyZW50LT5kb21haW4sIGQpOwogfQogCi0tLSBhL3hlbi94c20v
Zmxhc2svaG9va3MuYworKysgYi94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAg
LTY3OSw5ICs2NzksMTEgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19k
b21jdGwoc3RydWN0CiAgICAgICAgIHJldHVybiBhdmNfY3VycmVudF9oYXNf
cGVybShzc2lkcmVmLCBTRUNDTEFTU19ET01BSU4sIERPTUFJTl9fQ1JFQVRF
LCBOVUxMKTsKIAogICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00g
aG9va3MgYW5kIGRvbid0IG1ha2UgaXQgaGVyZS4gKi8KKyAgICBjYXNlIFhF
Tl9ET01DVExfYmluZF9wdF9pcnE6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2dl
dGRvbWFpbmluZm86CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBw
aW5nOgogICAgIGNhc2UgWEVOX0RPTUNUTF9tZW1vcnlfbWFwcGluZzoKKyAg
ICBjYXNlIFhFTl9ET01DVExfdW5iaW5kX3B0X2lycToKICAgICAgICAgQVNT
RVJUX1VOUkVBQ0hBQkxFKCk7CiAgICAgICAgIHJldHVybiAtRUlMU0VROwog
CkBAIC02OTIsOSArNjk0LDYgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFz
a19kb21jdGwoc3RydWN0CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3NldF90YXJn
ZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3ZtX2V2ZW50X29wOgogCi0gICAg
LyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBob29rcyAoYXJjaC8uLi9k
b21jdGwuYykgKi8KLSAgICBjYXNlIFhFTl9ET01DVExfYmluZF9wdF9pcnE6
Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmluZF9wdF9pcnE6CiAjaWZkZWYg
Q09ORklHX1g4NgogICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00g
aG9va3MgKGFyY2gveDg2L2RvbWN0bC5jKSAqLwogICAgIGNhc2UgWEVOX0RP
TUNUTF9zaGFkb3dfb3A6Cg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.17-09.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.17-09.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2lve21lbSxwb3J0fV9wZXJt
aXNzaW9uIHdpdGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRl
ZGljYXRlZCBsb2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3Qg
cmVxdWlyZWQgaGVyZSBhbnltb3JlLgpBcyB0aGUgSS9PIHBvcnQgaGFuZGxp
bmcgaXMgaW4gYXJjaC1zcGVjaWZpYyBjb2RlICh4ODYgb25seSksIG5vIGNv
ZGUgaXMKYmVpbmcgbW92ZWQsIGJ1dCB0aGUgMm5kIGludm9jYXRpb24gb2Yg
YXJjaF9kb19kb21jdGwoKSBpcyByZS11c2VkLiBNb3ZlCnRoZSByZS1wdXJw
b3NlZCBkZWRpY2F0ZWQgWFNNIGNoZWNrcyBhcyBlYXJseSBhcyBwb3NzaWJs
ZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
Um9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkFja2Vk
LWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9u
cy5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVu
L2FyY2gveDg2L2RvbWN0bC5jCkBAIC0yMjYsMTIgKzIyNiwxNyBAQCBsb25n
IGFyY2hfZG9fZG9tY3RsKAogICAgICAgICB1bnNpZ25lZCBpbnQgbnAgPSBk
b21jdGwtPnUuaW9wb3J0X3Blcm1pc3Npb24ubnJfcG9ydHM7CiAgICAgICAg
IGludCBhbGxvdyA9IGRvbWN0bC0+dS5pb3BvcnRfcGVybWlzc2lvbi5hbGxv
d19hY2Nlc3M7CiAKKyAgICAgICAgcmV0ID0gLUVJTlZBTDsKKyAgICAgICAg
aWYgKCAoZnAgKyBucCkgPD0gZnAgfHwgKGZwICsgbnApID4gTUFYX0lPUE9S
VFMgKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgcmV0ID0geHNt
X2lvcG9ydF9wZXJtaXNzaW9uKFhTTV9QUklWLCBkLCBmcCwgZnAgKyBucCAt
IDEsIGFsbG93KTsKKyAgICAgICAgaWYgKCByZXQgKQorICAgICAgICAgICAg
YnJlYWs7CisKICAgICAgICAgaW9jYXBzX2RvdWJsZV9sb2NrKGQsIHRydWUp
OwogCi0gICAgICAgIGlmICggKGZwICsgbnApIDw9IGZwIHx8IChmcCArIG5w
KSA+IE1BWF9JT1BPUlRTICkKLSAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7
Ci0gICAgICAgIGVsc2UgaWYgKCAhaW9wb3J0c19hY2Nlc3NfcGVybWl0dGVk
KGN1cnJkLCBmcCwgZnAgKyBucCAtIDEpIHx8Ci0gICAgICAgICAgICAgICAg
ICB4c21faW9wb3J0X3Blcm1pc3Npb24oWFNNX0hPT0ssIGQsIGZwLCBmcCAr
IG5wIC0gMSwgYWxsb3cpICkKKyAgICAgICAgaWYgKCAhaW9wb3J0c19hY2Nl
c3NfcGVybWl0dGVkKGN1cnJkLCBmcCwgZnAgKyBucCAtIDEpICkKICAgICAg
ICAgICAgIHJldCA9IC1FUEVSTTsKICAgICAgICAgZWxzZSBpZiAoIGFsbG93
ICkKICAgICAgICAgICAgIHJldCA9IGlvcG9ydHNfcGVybWl0X2FjY2Vzcyhk
LCBmcCwgZnAgKyBucCAtIDEpOwotLS0gYS94ZW4vY29tbW9uL2RvbWN0bC5j
CisrKyBiL3hlbi9jb21tb24vZG9tY3RsLmMKQEAgLTM5Miw2ICszOTIsMzQg
QEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQog
ICAgICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CiAgICAg
fQogCisgICAgY2FzZSBYRU5fRE9NQ1RMX2lvbWVtX3Blcm1pc3Npb246Cisg
ICAgeworICAgICAgICB1bnNpZ25lZCBsb25nIG1mbiA9IG9wLT51LmlvbWVt
X3Blcm1pc3Npb24uZmlyc3RfbWZuOworICAgICAgICB1bnNpZ25lZCBsb25n
IG5yX21mbnMgPSBvcC0+dS5pb21lbV9wZXJtaXNzaW9uLm5yX21mbnM7Cisg
ICAgICAgIGJvb2wgYWxsb3cgPSBvcC0+dS5pb21lbV9wZXJtaXNzaW9uLmFs
bG93X2FjY2VzczsKKworICAgICAgICByZXQgPSAtRUlOVkFMOworICAgICAg
ICBpZiAoIChtZm4gKyBucl9tZm5zIC0gMSkgPCBtZm4gKSAvKiBXcmFwPyAq
LworICAgICAgICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5
OworCisgICAgICAgIHJldCA9IHhzbV9pb21lbV9wZXJtaXNzaW9uKFhTTV9Q
UklWLCBkLCBtZm4sIG1mbiArIG5yX21mbnMgLSAxLCBhbGxvdyk7CisgICAg
ICAgIGlmICggcmV0ICkKKyAgICAgICAgICAgIGdvdG8gZG9tY3RsX291dF91
bmxvY2tfZG9tb25seTsKKworICAgICAgICBpb2NhcHNfZG91YmxlX2xvY2so
ZCwgdHJ1ZSk7CisKKyAgICAgICAgaWYgKCAhaW9tZW1fYWNjZXNzX3Blcm1p
dHRlZChjdXJyZW50LT5kb21haW4sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbWZuLCBtZm4gKyBucl9tZm5zIC0gMSkgKQorICAg
ICAgICAgICAgcmV0ID0gLUVQRVJNOworICAgICAgICBlbHNlIGlmICggYWxs
b3cgKQorICAgICAgICAgICAgcmV0ID0gaW9tZW1fcGVybWl0X2FjY2Vzcyhk
LCBtZm4sIG1mbiArIG5yX21mbnMgLSAxKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgcmV0ID0gaW9tZW1fZGVueV9hY2Nlc3MoZCwgbWZuLCBtZm4g
KyBucl9tZm5zIC0gMSk7CisKKyAgICAgICAgaW9jYXBzX2RvdWJsZV91bmxv
Y2soZCwgdHJ1ZSk7CisgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tf
ZG9tb25seTsKKyAgICB9CisKICAgICBjYXNlIFhFTl9ET01DVExfbWVtb3J5
X21hcHBpbmc6CiAgICAgewogICAgICAgICB1bnNpZ25lZCBsb25nIGdmbiA9
IG9wLT51Lm1lbW9yeV9tYXBwaW5nLmZpcnN0X2dmbjsKQEAgLTQ1Miw2ICs0
ODAsNyBAQCBsb25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFN
KHhlCiAgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9tb25seTsK
ICAgICB9CiAKKyAgICBjYXNlIFhFTl9ET01DVExfaW9wb3J0X3Blcm1pc3Np
b246CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nOgogICAg
IGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToKICAgICBjYXNlIFhFTl9E
T01DVExfdW5iaW5kX3B0X2lycToKQEAgLTgwNywzMSArODM2LDYgQEAgbG9u
ZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogCiAgICAg
ICAgIGlvY2Fwc19kb3VibGVfdW5sb2NrKGQsIHRydWUpOwogICAgICAgICBi
cmVhazsKLSAgICB9Ci0KLSAgICBjYXNlIFhFTl9ET01DVExfaW9tZW1fcGVy
bWlzc2lvbjoKLSAgICB7Ci0gICAgICAgIHVuc2lnbmVkIGxvbmcgbWZuID0g
b3AtPnUuaW9tZW1fcGVybWlzc2lvbi5maXJzdF9tZm47Ci0gICAgICAgIHVu
c2lnbmVkIGxvbmcgbnJfbWZucyA9IG9wLT51LmlvbWVtX3Blcm1pc3Npb24u
bnJfbWZuczsKLSAgICAgICAgaW50IGFsbG93ID0gb3AtPnUuaW9tZW1fcGVy
bWlzc2lvbi5hbGxvd19hY2Nlc3M7Ci0KLSAgICAgICAgcmV0ID0gLUVJTlZB
TDsKLSAgICAgICAgaWYgKCAobWZuICsgbnJfbWZucyAtIDEpIDwgbWZuICkg
Lyogd3JhcD8gKi8KLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIGlv
Y2Fwc19kb3VibGVfbG9jayhkLCB0cnVlKTsKLQotICAgICAgICBpZiAoICFp
b21lbV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJlbnQtPmRvbWFpbiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZm4sIG1mbiArIG5y
X21mbnMgLSAxKSB8fAotICAgICAgICAgICAgIHhzbV9pb21lbV9wZXJtaXNz
aW9uKFhTTV9IT09LLCBkLCBtZm4sIG1mbiArIG5yX21mbnMgLSAxLCBhbGxv
dykgKQotICAgICAgICAgICAgcmV0ID0gLUVQRVJNOwotICAgICAgICBlbHNl
IGlmICggYWxsb3cgKQotICAgICAgICAgICAgcmV0ID0gaW9tZW1fcGVybWl0
X2FjY2VzcyhkLCBtZm4sIG1mbiArIG5yX21mbnMgLSAxKTsKLSAgICAgICAg
ZWxzZQotICAgICAgICAgICAgcmV0ID0gaW9tZW1fZGVueV9hY2Nlc3MoZCwg
bWZuLCBtZm4gKyBucl9tZm5zIC0gMSk7Ci0KLSAgICAgICAgaW9jYXBzX2Rv
dWJsZV91bmxvY2soZCwgdHJ1ZSk7Ci0gICAgICAgIGJyZWFrOwogICAgIH0K
IAogICAgIGNhc2UgWEVOX0RPTUNUTF9zZXR0aW1lb2Zmc2V0OgotLS0gYS94
ZW4vaW5jbHVkZS94c20vZHVtbXkuaAorKysgYi94ZW4vaW5jbHVkZS94c20v
ZHVtbXkuaApAQCAtMTY5LDcgKzE2OSw5IEBAIHN0YXRpYyBYU01fSU5MSU5F
IGludCBjZl9jaGVjayB4c21fZG9tY3QKICAgICB7CiAgICAgY2FzZSBYRU5f
RE9NQ1RMX2JpbmRfcHRfaXJxOgogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRk
b21haW5pbmZvOgorICAgIGNhc2UgWEVOX0RPTUNUTF9pb21lbV9wZXJtaXNz
aW9uOgogICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKKyAg
ICBjYXNlIFhFTl9ET01DVExfaW9wb3J0X3Blcm1pc3Npb246CiAgICAgY2Fz
ZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBwaW5nOgogICAgIGNhc2UgWEVOX0RP
TUNUTF91bmJpbmRfcHRfaXJxOgogICAgICAgICBBU1NFUlRfVU5SRUFDSEFC
TEUoKTsKQEAgLTU2Niw3ICs1NjgsNyBAQCBzdGF0aWMgWFNNX0lOTElORSBp
bnQgY2ZfY2hlY2sgeHNtX2lycV9wCiBzdGF0aWMgWFNNX0lOTElORSBpbnQg
Y2ZfY2hlY2sgeHNtX2lvbWVtX3Blcm1pc3Npb24oCiAgICAgWFNNX0RFRkFV
TFRfQVJHIHN0cnVjdCBkb21haW4gKmQsIHVpbnQ2NF90IHMsIHVpbnQ2NF90
IGUsIHVpbnQ4X3QgYWxsb3cpCiB7Ci0gICAgWFNNX0FTU0VSVF9BQ1RJT04o
WFNNX0hPT0spOworICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9QUklWKTsK
ICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVu
dC0+ZG9tYWluLCBkKTsKIH0KIApAQCAtNzU1LDcgKzc1Nyw3IEBAIHN0YXRp
YyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fcHJpdl8KIHN0YXRpYyBY
U01fSU5MSU5FIGludCBjZl9jaGVjayB4c21faW9wb3J0X3Blcm1pc3Npb24o
CiAgICAgWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQsIHVpbnQz
Ml90IHMsIHVpbnQzMl90IGUsIHVpbnQ4X3QgYWxsb3cpCiB7Ci0gICAgWFNN
X0FTU0VSVF9BQ1RJT04oWFNNX0hPT0spOworICAgIFhTTV9BU1NFUlRfQUNU
SU9OKFhTTV9QUklWKTsKICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9u
KGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBkKTsKIH0KIAotLS0gYS94ZW4v
eHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIveGVuL3hzbS9mbGFzay9ob29rcy5j
CkBAIC02ODEsNyArNjgxLDkgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFz
a19kb21jdGwoc3RydWN0CiAgICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFs
IFhTTSBob29rcyBhbmQgZG9uJ3QgbWFrZSBpdCBoZXJlLiAqLwogICAgIGNh
c2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToKICAgICBjYXNlIFhFTl9ET01D
VExfZ2V0ZG9tYWluaW5mbzoKKyAgICBjYXNlIFhFTl9ET01DVExfaW9tZW1f
cGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9ET01DVExfaW9wb3J0X21hcHBp
bmc6CisgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNzaW9uOgog
ICAgIGNhc2UgWEVOX0RPTUNUTF9tZW1vcnlfbWFwcGluZzoKICAgICBjYXNl
IFhFTl9ET01DVExfdW5iaW5kX3B0X2lycToKICAgICAgICAgQVNTRVJUX1VO
UkVBQ0hBQkxFKCk7CkBAIC02OTAsMTQgKzY5MiwxMiBAQCBzdGF0aWMgaW50
IGNmX2NoZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICAvKiBUaGVzZSBo
YXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzIChjb21tb24vZG9tY3RsLmMpICov
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3NjaGVkdWxlcl9vcDoKICAgICBjYXNl
IFhFTl9ET01DVExfaXJxX3Blcm1pc3Npb246Ci0gICAgY2FzZSBYRU5fRE9N
Q1RMX2lvbWVtX3Blcm1pc3Npb246CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Nl
dF90YXJnZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3ZtX2V2ZW50X29wOgog
CiAjaWZkZWYgQ09ORklHX1g4NgogICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZp
ZHVhbCBYU00gaG9va3MgKGFyY2gveDg2L2RvbWN0bC5jKSAqLwogICAgIGNh
c2UgWEVOX0RPTUNUTF9zaGFkb3dfb3A6Ci0gICAgY2FzZSBYRU5fRE9NQ1RM
X2lvcG9ydF9wZXJtaXNzaW9uOgogI2VuZGlmCiAjaWZkZWYgQ09ORklHX0hB
U19QQVNTVEhST1VHSAogICAgIC8qCg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.17-10.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.17-10.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2lycV9wZXJtaXNzaW9uIHdp
dGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRlZGljYXRlZCBs
b2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3QgcmVxdWlyZWQg
aGVyZSBhbnltb3JlLgpNb3ZlIHRoZSByZS1wdXJwb3NlZCAoWFNNX0hPT0sg
LT4gWFNNX1BSSVYsIGFzIHhzbV9kb21jdGwoKSBpcyBub3cKYnlwYXNzZWQp
IGRlZGljYXRlZCBYU00gY2hlY2tzIGFzIGVhcmx5IGFzIHBvc3NpYmxlLgoK
VGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIuCgpTaWduZWQtb2ZmLWJ5OiBKYW4g
QmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkFja2VkLWJ5OiBEYW5pZWwg
UC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+ClJldmll
d2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNv
bT4KCi0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMKKysrIGIveGVuL2NvbW1v
bi9kb21jdGwuYwpAQCAtNDgwLDYgKzQ4MCwzNiBAQCBsb25nIGRvX2RvbWN0
bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlCiAgICAgICAgIGdvdG8gZG9t
Y3RsX291dF91bmxvY2tfZG9tb25seTsKICAgICB9CiAKKyAgICBjYXNlIFhF
Tl9ET01DVExfaXJxX3Blcm1pc3Npb246CisgICAgeworICAgICAgICB1bnNp
Z25lZCBpbnQgcGlycSA9IG9wLT51LmlycV9wZXJtaXNzaW9uLnBpcnEsIGly
cTsKKyAgICAgICAgYm9vbCBhbGxvdyA9IG9wLT51LmlycV9wZXJtaXNzaW9u
LmFsbG93X2FjY2VzczsKKworICAgICAgICByZXQgPSAtRUlOVkFMOworICAg
ICAgICBpZiAoIHBpcnEgPj0gY3VycmVudC0+ZG9tYWluLT5ucl9waXJxcyAp
CisgICAgICAgICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7
CisKKyAgICAgICAgaXJxID0gZG9tYWluX3BpcnFfdG9faXJxKGN1cnJlbnQt
PmRvbWFpbiwgcGlycSk7CisKKyAgICAgICAgcmV0ID0gLUVQRVJNOworICAg
ICAgICBpZiAoIGlycSApCisgICAgICAgICAgICByZXQgPSB4c21faXJxX3Bl
cm1pc3Npb24oWFNNX1BSSVYsIGQsIGlycSwgYWxsb3cpOworICAgICAgICBp
ZiAoIHJldCApCisgICAgICAgICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2Nr
X2RvbW9ubHk7CisKKyAgICAgICAgaW9jYXBzX2RvdWJsZV9sb2NrKGQsIHRy
dWUpOworCisgICAgICAgIGlmICggIWlycV9hY2Nlc3NfcGVybWl0dGVkKGN1
cnJlbnQtPmRvbWFpbiwgaXJxKSApCisgICAgICAgICAgICByZXQgPSAtRVBF
Uk07CisgICAgICAgIGVsc2UgaWYgKCBhbGxvdyApCisgICAgICAgICAgICBy
ZXQgPSBpcnFfcGVybWl0X2FjY2VzcyhkLCBpcnEpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICByZXQgPSBpcnFfZGVueV9hY2Nlc3MoZCwgaXJxKTsK
KworICAgICAgICBpb2NhcHNfZG91YmxlX3VubG9jayhkLCB0cnVlKTsKKyAg
ICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5OworICAgIH0K
KwogICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbjoKICAg
ICBjYXNlIFhFTl9ET01DVExfaW9wb3J0X21hcHBpbmc6CiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgpAQCAtODEzLDMxICs4NDMsNiBAQCBs
b25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlCiAgICAg
ICAgIH0KICAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIFhFTl9ET01DVExf
aXJxX3Blcm1pc3Npb246Ci0gICAgewotICAgICAgICB1bnNpZ25lZCBpbnQg
cGlycSA9IG9wLT51LmlycV9wZXJtaXNzaW9uLnBpcnEsIGlycTsKLSAgICAg
ICAgaW50IGFsbG93ID0gb3AtPnUuaXJxX3Blcm1pc3Npb24uYWxsb3dfYWNj
ZXNzOwotCi0gICAgICAgIGlmICggcGlycSA+PSBjdXJyZW50LT5kb21haW4t
Pm5yX3BpcnFzICkKLSAgICAgICAgewotICAgICAgICAgICAgcmV0ID0gLUVJ
TlZBTDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAg
ICAgaW9jYXBzX2RvdWJsZV9sb2NrKGQsIHRydWUpOwotCi0gICAgICAgIGly
cSA9IHBpcnFfYWNjZXNzX3Blcm1pdHRlZChjdXJyZW50LT5kb21haW4sIHBp
cnEpOwotICAgICAgICBpZiAoICFpcnEgfHwgeHNtX2lycV9wZXJtaXNzaW9u
KFhTTV9IT09LLCBkLCBpcnEsIGFsbG93KSApCi0gICAgICAgICAgICByZXQg
PSAtRVBFUk07Ci0gICAgICAgIGVsc2UgaWYgKCBhbGxvdyApCi0gICAgICAg
ICAgICByZXQgPSBpcnFfcGVybWl0X2FjY2VzcyhkLCBpcnEpOwotICAgICAg
ICBlbHNlCi0gICAgICAgICAgICByZXQgPSBpcnFfZGVueV9hY2Nlc3MoZCwg
aXJxKTsKLQotICAgICAgICBpb2NhcHNfZG91YmxlX3VubG9jayhkLCB0cnVl
KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2FzZSBYRU5fRE9N
Q1RMX3NldHRpbWVvZmZzZXQ6CiAgICAgICAgIGRvbWFpbl9zZXRfdGltZV9v
ZmZzZXQoZCwgb3AtPnUuc2V0dGltZW9mZnNldC50aW1lX29mZnNldF9zZWNv
bmRzKTsKICAgICAgICAgYnJlYWs7Ci0tLSBhL3hlbi9pbmNsdWRlL3hzbS9k
dW1teS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCkBAIC0xNzIs
NiArMTcyLDcgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhz
bV9kb21jdAogICAgIGNhc2UgWEVOX0RPTUNUTF9pb21lbV9wZXJtaXNzaW9u
OgogICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBj
YXNlIFhFTl9ET01DVExfaW9wb3J0X3Blcm1pc3Npb246CisgICAgY2FzZSBY
RU5fRE9NQ1RMX2lycV9wZXJtaXNzaW9uOgogICAgIGNhc2UgWEVOX0RPTUNU
TF9tZW1vcnlfbWFwcGluZzoKICAgICBjYXNlIFhFTl9ET01DVExfdW5iaW5k
X3B0X2lycToKICAgICAgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CkBAIC01
NjEsNyArNTYyLDcgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNr
IHhzbV91bm1hcAogc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhz
bV9pcnFfcGVybWlzc2lvbigKICAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0
IGRvbWFpbiAqZCwgaW50IHBpcnEsIHVpbnQ4X3QgYWxsb3cpCiB7Ci0gICAg
WFNNX0FTU0VSVF9BQ1RJT04oWFNNX0hPT0spOworICAgIFhTTV9BU1NFUlRf
QUNUSU9OKFhTTV9QUklWKTsKICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0
aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBkKTsKIH0KIAotLS0gYS94
ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIveGVuL3hzbS9mbGFzay9ob29r
cy5jCkBAIC02ODQsNiArNjg0LDcgQEAgc3RhdGljIGludCBjZl9jaGVjayBm
bGFza19kb21jdGwoc3RydWN0CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvbWVt
X3Blcm1pc3Npb246CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBw
aW5nOgogICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbjoK
KyAgICBjYXNlIFhFTl9ET01DVExfaXJxX3Blcm1pc3Npb246CiAgICAgY2Fz
ZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBwaW5nOgogICAgIGNhc2UgWEVOX0RP
TUNUTF91bmJpbmRfcHRfaXJxOgogICAgICAgICBBU1NFUlRfVU5SRUFDSEFC
TEUoKTsKQEAgLTY5MSw3ICs2OTIsNiBAQCBzdGF0aWMgaW50IGNmX2NoZWNr
IGZsYXNrX2RvbWN0bChzdHJ1Y3QKIAogICAgIC8qIFRoZXNlIGhhdmUgaW5k
aXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9kb21jdGwuYykgKi8KICAgICBj
YXNlIFhFTl9ET01DVExfc2NoZWR1bGVyX29wOgotICAgIGNhc2UgWEVOX0RP
TUNUTF9pcnFfcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9ET01DVExfc2V0
X3RhcmdldDoKICAgICBjYXNlIFhFTl9ET01DVExfdm1fZXZlbnRfb3A6CiAK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.17-11.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.17-11.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHZtX2V2ZW50X2NvbnRyb2wgaG9vawoKSW50
ZWdyYXRlIHRoZSBjaGVja2luZyB3aXRoIHhzbV9kb21jdGwoKS4gQ2FyZSBu
ZWVkcyB0byBiZSB0YWtlbiB3aXRoIHRoZQpHRVRfVkVSU0lPTiBzdWItb3As
IHdoaWNoIG1heSBiZSBpbnZva2VkIHdpdGggRE9NSURfSU5WQUxJRCwgYW5k
IHdoaWNoIGhhcwpiZWVuIChhbmQgY29udGludWVzIHRvIGJlKSBieXBhc3Np
bmcgWFNNIGNoZWNraW5nLgoKU2luY2UgdGhlIGxhdHRlciB0d28gcGFyYW1l
dGVycyB3ZXJlIHVudXNlZCwgbW9uaXRvcl9kb21jdGwoKSBpbnZva2luZyB0
aGUKaG9vayB3YXMgYWN0dWFsbHkgcmVkdW5kYW50IHdpdGggdGhlIGVhcmxp
ZXIgeHNtX2RvbWN0bCgpIChhcyBjYW4gYmUgc2VlbgpuaWNlbHkgZnJvbSB0
aGUgaHVua3MgY2hhbmdpbmcgeHNtL2ZsYXNrL2hvb2tzLmMpLgoKQXMgYSBw
b3NpdGl2ZSBzaWRlIGVmZmVjdCwgcGVybWlzc2lvbnMgYXJlIHRoZW4gY2hl
Y2tlZCBhdCB0aGUgc2FtZSBlYXJseQpwb2ludCB3aXRoIGFuZCB3aXRob3V0
IEZsYXNrLgoKV2hpbGUgZm9sZGluZyBYRU5fRE9NQ1RMX21vbml0b3Jfb3Ag
YW5kIFhFTl9ET01DVExfdm1fZXZlbnRfb3AgaW4KZmxhc2tfZG9tY3RsKCks
IGFsc28gZm9sZCBpbiBYRU5fRE9NQ1RMX3NldF9hY2Nlc3NfcmVxdWlyZWQu
CgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4KClNpZ25lZC1vZmYtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQWNrZWQtYnk6IERhbmll
bCBQLiBTbWl0aCA8ZHBzbWl0aEBhcGVydHVzc29sdXRpb25zLmNvbT4KUmV2
aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXgu
Y29tPgoKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYworKysgYi94ZW4vY29t
bW9uL2RvbWN0bC5jCkBAIC01MTAsNiArNTEwLDIzIEBAIGxvbmcgZG9fZG9t
Y3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICAgICAgZ290byBk
b21jdGxfb3V0X3VubG9ja19kb21vbmx5OwogICAgIH0KIAorICAgIGNhc2Ug
WEVOX0RPTUNUTF92bV9ldmVudF9vcDoKKyAgICAgICAgaWYgKCBvcC0+dS52
bV9ldmVudF9vcC5vcCA9PSBYRU5fVk1fRVZFTlRfR0VUX1ZFUlNJT04gKQor
ICAgICAgICB7CisgICAgICAgICAgICAvKiBObyBYU00gY2hlY2sgKGFuZCBw
b3RlbnRpYWxseSBkID09IE5VTEwpIGhlcmUuICovCisgICAgICAgICAgICBy
ZXQgPSB2bV9ldmVudF9kb21jdGwoZCwgJm9wLT51LnZtX2V2ZW50X29wKTsK
KyAgICAgICAgICAgIGlmICggIXJldCApCisgICAgICAgICAgICAgICAgY29w
eWJhY2sgPSB0cnVlOworICAgICAgICAgICAgZ290byBkb21jdGxfb3V0X3Vu
bG9ja19kb21vbmx5OworICAgICAgICB9CisgICAgICAgIGlmICggIWQgKQor
ICAgICAgICB7CisgICAgICAgICAgICByZXQgPSAtRVNSQ0g7CisgICAgICAg
ICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CisgICAgICAg
IH0KKyAgICAgICAgLyogT3RoZXIgc3ViLW9wcyBoYW5kbGVkIGZ1cnRoZXIg
ZG93bi4gKi8KKyAgICAgICAgYnJlYWs7CisKICAgICBjYXNlIFhFTl9ET01D
VExfaW9wb3J0X3Blcm1pc3Npb246CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lv
cG9ydF9tYXBwaW5nOgogICAgIGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0X2ly
cToKLS0tIGEveGVuL2NvbW1vbi9tb25pdG9yLmMKKysrIGIveGVuL2NvbW1v
bi9tb25pdG9yLmMKQEAgLTMwLDE2ICszMCwxMSBAQAogCiBpbnQgbW9uaXRv
cl9kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHhlbl9kb21jdGxf
bW9uaXRvcl9vcCAqbW9wKQogewotICAgIGludCByYzsKICAgICBib29sIHJl
cXVlc3RlZF9zdGF0dXMgPSBmYWxzZTsKIAogICAgIGlmICggdW5saWtlbHko
Y3VycmVudC0+ZG9tYWluID09IGQpICkgLyogbm8gZG9tYWluX3BhdXNlKCkg
Ki8KICAgICAgICAgcmV0dXJuIC1FUEVSTTsKIAotICAgIHJjID0geHNtX3Zt
X2V2ZW50X2NvbnRyb2woWFNNX1BSSVYsIGQsIG1vcC0+b3AsIG1vcC0+ZXZl
bnQpOwotICAgIGlmICggdW5saWtlbHkocmMpICkKLSAgICAgICAgcmV0dXJu
IHJjOwotCiAgICAgc3dpdGNoICggbW9wLT5vcCApCiAgICAgewogICAgIGNh
c2UgWEVOX0RPTUNUTF9NT05JVE9SX09QX0VOQUJMRToKLS0tIGEveGVuL2Nv
bW1vbi92bV9ldmVudC5jCisrKyBiL3hlbi9jb21tb24vdm1fZXZlbnQuYwpA
QCAtNjAwLDEwICs2MDAsNiBAQCBpbnQgdm1fZXZlbnRfZG9tY3RsKHN0cnVj
dCBkb21haW4gKmQsIHN0CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAot
ICAgIHJjID0geHNtX3ZtX2V2ZW50X2NvbnRyb2woWFNNX1BSSVYsIGQsIHZl
Yy0+bW9kZSwgdmVjLT5vcCk7Ci0gICAgaWYgKCByYyApCi0gICAgICAgIHJl
dHVybiByYzsKLQogICAgIGlmICggdW5saWtlbHkoZCA9PSBjdXJyZW50LT5k
b21haW4pICkgLyogbm8gZG9tYWluX3BhdXNlKCkgKi8KICAgICB7CiAgICAg
ICAgIGdkcHJpbnRrKFhFTkxPR19JTkZPLCAiVHJpZWQgdG8gZG8gYSBtZW1v
cnkgZXZlbnQgb3Agb24gaXRzZWxmLlxuIik7Ci0tLSBhL3hlbi9pbmNsdWRl
L3hzbS9kdW1teS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCkBA
IC02NDMsMTMgKzY0Myw2IEBAIHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9j
aGVjayB4c21faHZtX2EKICAgICB9CiB9CiAKLXN0YXRpYyBYU01fSU5MSU5F
IGludCBjZl9jaGVjayB4c21fdm1fZXZlbnRfY29udHJvbCgKLSAgICBYU01f
REVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgaW50IG1vZGUsIGludCBv
cCkKLXsKLSAgICBYU01fQVNTRVJUX0FDVElPTihYU01fUFJJVik7Ci0gICAg
cmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRv
bWFpbiwgZCk7Ci19Ci0KICNpZmRlZiBDT05GSUdfTUVNX0FDQ0VTUwogc3Rh
dGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9tZW1fYWNjZXNzKFhT
TV9ERUZBVUxUX0FSRyBzdHJ1Y3QgZG9tYWluICpkKQogewotLS0gYS94ZW4v
aW5jbHVkZS94c20veHNtLmgKKysrIGIveGVuL2luY2x1ZGUveHNtL3hzbS5o
CkBAIC0xNTIsOCArMTUyLDYgQEAgc3RydWN0IHhzbV9vcHMgewogICAgIGlu
dCAoKmh2bV9hbHRwMm1odm1fb3ApKHN0cnVjdCBkb21haW4gKmQsIHVpbnQ2
NF90IG1vZGUsIHVpbnQzMl90IG9wKTsKICAgICBpbnQgKCpnZXRfdm51bWFp
bmZvKShzdHJ1Y3QgZG9tYWluICpkKTsKIAotICAgIGludCAoKnZtX2V2ZW50
X2NvbnRyb2wpKHN0cnVjdCBkb21haW4gKmQsIGludCBtb2RlLCBpbnQgb3Ap
OwotCiAjaWZkZWYgQ09ORklHX01FTV9BQ0NFU1MKICAgICBpbnQgKCptZW1f
YWNjZXNzKShzdHJ1Y3QgZG9tYWluICpkKTsKICNlbmRpZgpAQCAtNjI2LDEy
ICs2MjQsNiBAQCBzdGF0aWMgaW5saW5lIGludCB4c21fZ2V0X3ZudW1haW5m
byh4c21fCiAgICAgcmV0dXJuIGFsdGVybmF0aXZlX2NhbGwoeHNtX29wcy5n
ZXRfdm51bWFpbmZvLCBkKTsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgeHNt
X3ZtX2V2ZW50X2NvbnRyb2woCi0gICAgeHNtX2RlZmF1bHRfdCBkZWYsIHN0
cnVjdCBkb21haW4gKmQsIGludCBtb2RlLCBpbnQgb3ApCi17Ci0gICAgcmV0
dXJuIGFsdGVybmF0aXZlX2NhbGwoeHNtX29wcy52bV9ldmVudF9jb250cm9s
LCBkLCBtb2RlLCBvcCk7Ci19Ci0KICNpZmRlZiBDT05GSUdfTUVNX0FDQ0VT
Uwogc3RhdGljIGlubGluZSBpbnQgeHNtX21lbV9hY2Nlc3MoeHNtX2RlZmF1
bHRfdCBkZWYsIHN0cnVjdCBkb21haW4gKmQpCiB7Ci0tLSBhL3hlbi94c20v
ZHVtbXkuYworKysgYi94ZW4veHNtL2R1bW15LmMKQEAgLTEwOSw4ICsxMDks
NiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHhzbV9vcHMgX19pbml0Y29uc3Rf
CiAgICAgLnJlbW92ZV9mcm9tX3BoeXNtYXAgICAgICAgICAgID0geHNtX3Jl
bW92ZV9mcm9tX3BoeXNtYXAsCiAgICAgLm1hcF9nbWZuX2ZvcmVpZ24gICAg
ICAgICAgICAgID0geHNtX21hcF9nbWZuX2ZvcmVpZ24sCiAKLSAgICAudm1f
ZXZlbnRfY29udHJvbCAgICAgICAgICAgICAgPSB4c21fdm1fZXZlbnRfY29u
dHJvbCwKLQogI2lmZGVmIENPTkZJR19NRU1fQUNDRVNTCiAgICAgLm1lbV9h
Y2Nlc3MgICAgICAgICAgICAgICAgICAgID0geHNtX21lbV9hY2Nlc3MsCiAj
ZW5kaWYKLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5jCisrKyBiL3hlbi94
c20vZmxhc2svaG9va3MuYwpAQCAtNjkzLDcgKzY5Myw2IEBAIHN0YXRpYyBp
bnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAogICAgIC8qIFRoZXNl
IGhhdmUgaW5kaXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9kb21jdGwuYykg
Ki8KICAgICBjYXNlIFhFTl9ET01DVExfc2NoZWR1bGVyX29wOgogICAgIGNh
c2UgWEVOX0RPTUNUTF9zZXRfdGFyZ2V0OgotICAgIGNhc2UgWEVOX0RPTUNU
TF92bV9ldmVudF9vcDoKIAogI2lmZGVmIENPTkZJR19YODYKICAgICAvKiBU
aGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzIChhcmNoL3g4Ni9kb21j
dGwuYykgKi8KQEAgLTc4Nyw5ICs3ODYsOCBAQCBzdGF0aWMgaW50IGNmX2No
ZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICAgICAgcmV0dXJuIGN1cnJl
bnRfaGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9NQUlOLCBET01BSU5fX1RSSUdH
RVIpOwogCiAgICAgY2FzZSBYRU5fRE9NQ1RMX3NldF9hY2Nlc3NfcmVxdWly
ZWQ6Ci0gICAgICAgIHJldHVybiBjdXJyZW50X2hhc19wZXJtKGQsIFNFQ0NM
QVNTX0RPTUFJTjIsIERPTUFJTjJfX1ZNX0VWRU5UKTsKLQogICAgIGNhc2Ug
WEVOX0RPTUNUTF9tb25pdG9yX29wOgorICAgIGNhc2UgWEVOX0RPTUNUTF92
bV9ldmVudF9vcDoKICAgICAgICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Blcm0o
ZCwgU0VDQ0xBU1NfRE9NQUlOMiwgRE9NQUlOMl9fVk1fRVZFTlQpOwogCiAg
ICAgY2FzZSBYRU5fRE9NQ1RMX2RlYnVnX29wOgpAQCAtMTM0NiwxMSArMTM0
NCw2IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfaHZtX2FsdHAybWh2
bV8KICAgICByZXR1cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUNDTEFTU19I
Vk0sIEhWTV9fQUxUUDJNSFZNX09QKTsKIH0KIAotc3RhdGljIGludCBjZl9j
aGVjayBmbGFza192bV9ldmVudF9jb250cm9sKHN0cnVjdCBkb21haW4gKmQs
IGludCBtb2RlLCBpbnQgb3ApCi17Ci0gICAgcmV0dXJuIGN1cnJlbnRfaGFz
X3Blcm0oZCwgU0VDQ0xBU1NfRE9NQUlOMiwgRE9NQUlOMl9fVk1fRVZFTlQp
OwotfQotCiAjaWZkZWYgQ09ORklHX01FTV9BQ0NFU1MKIHN0YXRpYyBpbnQg
Y2ZfY2hlY2sgZmxhc2tfbWVtX2FjY2VzcyhzdHJ1Y3QgZG9tYWluICpkKQog
ewpAQCAtMTkyOSw4ICsxOTIyLDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB4
c21fb3BzIF9faW5pdGNvbnN0XwogICAgIC5kb194c21fb3AgPSBkb19mbGFz
a19vcCwKICAgICAuZ2V0X3ZudW1haW5mbyA9IGZsYXNrX2dldF92bnVtYWlu
Zm8sCiAKLSAgICAudm1fZXZlbnRfY29udHJvbCA9IGZsYXNrX3ZtX2V2ZW50
X2NvbnRyb2wsCi0KICNpZmRlZiBDT05GSUdfTUVNX0FDQ0VTUwogICAgIC5t
ZW1fYWNjZXNzID0gZmxhc2tfbWVtX2FjY2VzcywKICNlbmRpZgo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.17-12.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.17-12.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBwYXNzIGZ1bGwgc3RydWN0IHhlbl9kb21jdGwgdG8g
eHNtX2RvbWN0bCgpCgpTdWJzZXF1ZW50bHkgc29tZSBzdWItb3BzIHdpbGwg
d2FudCB0byBpbnNwZWN0IHRoZWlyIHN1Yi1zdWItb3BzLiBQbHVzCnRoaXMg
d2F5IHdlIGRvbid0IG5lZWQgdG8gcGFzcyBTU0lEcmVmIHNlcGFyYXRlbHkg
YW55bW9yZSBmb3IKZG9tYWluX2NyZWF0ZS4KClRoaXMgaXMgcGFydCBvZiBY
U0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRo
QGFwZXJ0dXNzb2x1dGlvbnMuY29tPgoKLS0tIGEveGVuL2FyY2gveDg2L21t
L3BhZ2luZy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYwpAQCAt
Nzc5LDcgKzc3OSw3IEBAIGxvbmcgZG9fcGFnaW5nX2RvbWN0bF9jb250KAog
ICAgIGlmICggZCA9PSBOVUxMICkKICAgICAgICAgcmV0dXJuIC1FU1JDSDsK
IAotICAgIHJldCA9IHhzbV9kb21jdGwoWFNNX09USEVSLCBkLCBvcC5jbWQs
IDAgLyogU1NJRHJlZiBub3QgYXBwbGljYWJsZSAqLyk7CisgICAgcmV0ID0g
eHNtX2RvbWN0bChYU01fT1RIRVIsIGQsICZvcCk7CiAgICAgaWYgKCAhcmV0
ICkKICAgICB7CiAgICAgICAgIGlmICggZG9tY3RsX2xvY2tfYWNxdWlyZSgp
ICkKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYworKysgYi94ZW4vY29tbW9u
L2RvbWN0bC5jCkBAIC01MzksOSArNTM5LDcgQEAgbG9uZyBkb19kb21jdGwo
WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICBicmVhazsKICAg
ICB9CiAKLSAgICByZXQgPSB4c21fZG9tY3RsKFhTTV9PVEhFUiwgZCwgb3At
PmNtZCwKLSAgICAgICAgICAgICAgICAgICAgIC8qIFNTSURSZWYgb25seSBh
cHBsaWNhYmxlIGZvciBjbWQgPT0gY3JlYXRlZG9tYWluICovCi0gICAgICAg
ICAgICAgICAgICAgICBvcC0+dS5jcmVhdGVkb21haW4uc3NpZHJlZik7Cisg
ICAgcmV0ID0geHNtX2RvbWN0bChYU01fT1RIRVIsIGQsIG9wKTsKICAgICBp
ZiAoIHJldCApCiAgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9t
b25seTsKIAotLS0gYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAorKysgYi94
ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTYyLDEwICsxNjIsMTAgQEAg
c3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9zZXRfdAogfQog
CiBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX2RvbWN0bCgK
LSAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgdW5zaWdu
ZWQgaW50IGNtZCwgdWludDMyX3Qgc3NpZHJlZikKKyAgICBYU01fREVGQVVM
VF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHhlbl9kb21jdGwgKm9w
KQogewogICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9PVEhFUik7Ci0gICAg
c3dpdGNoICggY21kICkKKyAgICBzd2l0Y2ggKCBvcC0+Y21kICkKICAgICB7
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgogICAgIGNhc2Ug
WEVOX0RPTUNUTF9nZXRkb21haW5pbmZvOgotLS0gYS94ZW4vaW5jbHVkZS94
c20veHNtLmgKKysrIGIveGVuL2luY2x1ZGUveHNtL3hzbS5oCkBAIC02MCw3
ICs2MCw3IEBAIHN0cnVjdCB4c21fb3BzIHsKICAgICBpbnQgKCpkb21jdGxf
c2NoZWR1bGVyX29wKShzdHJ1Y3QgZG9tYWluICpkLCBpbnQgb3ApOwogICAg
IGludCAoKnN5c2N0bF9zY2hlZHVsZXJfb3ApKGludCBvcCk7CiAgICAgaW50
ICgqc2V0X3RhcmdldCkoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGRvbWFp
biAqZSk7Ci0gICAgaW50ICgqZG9tY3RsKShzdHJ1Y3QgZG9tYWluICpkLCB1
bnNpZ25lZCBpbnQgY21kLCB1aW50MzJfdCBzc2lkcmVmKTsKKyAgICBpbnQg
KCpkb21jdGwpKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCB4ZW5fZG9tY3Rs
ICpvcCk7CiAgICAgaW50ICgqc3lzY3RsKShpbnQgY21kKTsKICAgICBpbnQg
KCpyZWFkY29uc29sZSkodWludDMyX3QgY2xlYXIpOwogCkBAIC0yNDcsOSAr
MjQ3LDkgQEAgc3RhdGljIGlubGluZSBpbnQgeHNtX3NldF90YXJnZXQoCiB9
CiAKIHN0YXRpYyBpbmxpbmUgaW50IHhzbV9kb21jdGwoeHNtX2RlZmF1bHRf
dCBkZWYsIHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCBjbWQsIHVpbnQzMl90IHNzaWRyZWYp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9t
Y3RsICpvcCkKIHsKLSAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4c21f
b3BzLmRvbWN0bCwgZCwgY21kLCBzc2lkcmVmKTsKKyAgICByZXR1cm4gYWx0
ZXJuYXRpdmVfY2FsbCh4c21fb3BzLmRvbWN0bCwgZCwgb3ApOwogfQogCiBz
dGF0aWMgaW5saW5lIGludCB4c21fc3lzY3RsKHhzbV9kZWZhdWx0X3QgZGVm
LCBpbnQgY21kKQotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIv
eGVuL3hzbS9mbGFzay9ob29rcy5jCkBAIC02NjMsMTAgKzY2Myw5IEBAIHN0
YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfc2V0X3RhcmdldChzdHIKICAgICBy
ZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9t
Y3RsKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBjbWQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzc2lkcmVm
KQorc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0IGRv
bWFpbiAqZCwgc3RydWN0IHhlbl9kb21jdGwgKm9wKQogewotICAgIHN3aXRj
aCAoIGNtZCApCisgICAgc3dpdGNoICggb3AtPmNtZCApCiAgICAgewogICAg
IGNhc2UgWEVOX0RPTUNUTF9jcmVhdGVkb21haW46CiAgICAgICAgIC8qCkBA
IC02NzYsNyArNjc1LDggQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19k
b21jdGwoc3RydWN0CiAgICAgICAgICAqIE5vdGUgdGhhdCBkIGlzIE5VTEwg
YmVjYXVzZSB3ZSBoYXZlbid0IGV2ZW4gYWxsb2NhdGVkIG1lbW9yeSBmb3Ig
aXQKICAgICAgICAgICogdGhpcyBlYXJseSBpbiBYRU5fRE9NQ1RMX2NyZWF0
ZWRvbWFpbi4KICAgICAgICAgICovCi0gICAgICAgIHJldHVybiBhdmNfY3Vy
cmVudF9oYXNfcGVybShzc2lkcmVmLCBTRUNDTEFTU19ET01BSU4sIERPTUFJ
Tl9fQ1JFQVRFLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuIGF2Y19jdXJyZW50
X2hhc19wZXJtKG9wLT51LmNyZWF0ZWRvbWFpbi5zc2lkcmVmLCBTRUNDTEFT
U19ET01BSU4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBET01BSU5fX0NSRUFURSwgTlVMTCk7CiAKICAgICAvKiBUaGVzZSBoYXZl
IGluZGl2aWR1YWwgWFNNIGhvb2tzIGFuZCBkb24ndCBtYWtlIGl0IGhlcmUu
ICovCiAgICAgY2FzZSBYRU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgpAQCAtODQw
LDcgKzg0MCw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3Rs
KHN0cnVjdAogICAgICAgICByZXR1cm4gY3VycmVudF9oYXNfcGVybShkLCBT
RUNDTEFTU19ET01BSU4sIERPTUFJTl9fU0VUUEFHSU5HTUVNUE9PTCk7CiAK
ICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gYXZjX3Vua25vd25fcGVy
bWlzc2lvbigiZG9tY3RsIiwgY21kKTsKKyAgICAgICAgcmV0dXJuIGF2Y191
bmtub3duX3Blcm1pc3Npb24oImRvbWN0bCIsIG9wLT5jbWQpOwogICAgIH0K
IH0KIAo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.17-13.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.17-13.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHNjaGVkdWxlcl9vcCBob29rCgpJbnRlZ3Jh
dGUgdGhlIGNoZWNraW5nIHdpdGggeHNtX2RvbWN0bCgpLCBub3cgdGhhdCBp
dCBoYXMgdGhlIGZ1bGwgb3AKc3RydWN0IHBhc3NlZC4gQXMgYSBwb3NpdGl2
ZSBzaWRlIGVmZmVjdCwgcGVybWlzc2lvbnMgYXJlIHRoZW4gY2hlY2tlZCBh
dAp0aGUgc2FtZSBlYXJseSBwb2ludCB3aXRoIGFuZCB3aXRob3V0IEZsYXNr
LgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIuCgpTaWduZWQtb2ZmLWJ5OiBK
YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkFja2VkLWJ5OiBEYW5p
ZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+ClJl
dmlld2VkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+Cgot
LS0gYS94ZW4vY29tbW9uL3NjaGVkL2NvcmUuYworKysgYi94ZW4vY29tbW9u
L3NjaGVkL2NvcmUuYwpAQCAtMjA1OCwxMCArMjA1OCw2IEBAIGxvbmcgc2No
ZWRfYWRqdXN0KHN0cnVjdCBkb21haW4gKmQsIHN0cnUKIHsKICAgICBsb25n
IHJldDsKIAotICAgIHJldCA9IHhzbV9kb21jdGxfc2NoZWR1bGVyX29wKFhT
TV9IT09LLCBkLCBvcC0+Y21kKTsKLSAgICBpZiAoIHJldCApCi0gICAgICAg
IHJldHVybiByZXQ7Ci0KICAgICBpZiAoIG9wLT5zY2hlZF9pZCAhPSBkb21f
c2NoZWR1bGVyKGQpLT5zY2hlZF9pZCApCiAgICAgICAgIHJldHVybiAtRUlO
VkFMOwogCi0tLSBhL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCisrKyBiL3hl
bi9pbmNsdWRlL3hzbS9kdW1teS5oCkBAIC0xNDEsMTMgKzE0MSw2IEBAIHN0
YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZ2V0ZG8KICAgICBy
ZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9t
YWluLCBkKTsKIH0KIAotc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNr
IHhzbV9kb21jdGxfc2NoZWR1bGVyX29wKAotICAgIFhTTV9ERUZBVUxUX0FS
RyBzdHJ1Y3QgZG9tYWluICpkLCBpbnQgY21kKQotewotICAgIFhTTV9BU1NF
UlRfQUNUSU9OKFhTTV9IT09LKTsKLSAgICByZXR1cm4geHNtX2RlZmF1bHRf
YWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBkKTsKLX0KLQogc3Rh
dGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9zeXNjdGxfc2NoZWR1
bGVyX29wKFhTTV9ERUZBVUxUX0FSRyBpbnQgY21kKQogewogICAgIFhTTV9B
U1NFUlRfQUNUSU9OKFhTTV9IT09LKTsKLS0tIGEveGVuL2luY2x1ZGUveHNt
L3hzbS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS94c20uaApAQCAtNTcsNyAr
NTcsNiBAQCBzdHJ1Y3QgeHNtX29wcyB7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX2dldGRvbWFpbmluZm8g
KmluZm8pOwogICAgIGludCAoKmRvbWFpbl9jcmVhdGUpKHN0cnVjdCBkb21h
aW4gKmQsIHVpbnQzMl90IHNzaWRyZWYpOwogICAgIGludCAoKmdldGRvbWFp
bmluZm8pKHN0cnVjdCBkb21haW4gKmQpOwotICAgIGludCAoKmRvbWN0bF9z
Y2hlZHVsZXJfb3ApKHN0cnVjdCBkb21haW4gKmQsIGludCBvcCk7CiAgICAg
aW50ICgqc3lzY3RsX3NjaGVkdWxlcl9vcCkoaW50IG9wKTsKICAgICBpbnQg
KCpzZXRfdGFyZ2V0KShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZG9tYWlu
ICplKTsKICAgICBpbnQgKCpkb21jdGwpKHN0cnVjdCBkb21haW4gKmQsIHN0
cnVjdCB4ZW5fZG9tY3RsICpvcCk7CkBAIC0yMjksMTIgKzIyOCw2IEBAIHN0
YXRpYyBpbmxpbmUgaW50IHhzbV9nZXRkb21haW5pbmZvKHhzbV8KICAgICBy
ZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4c21fb3BzLmdldGRvbWFpbmluZm8s
IGQpOwogfQogCi1zdGF0aWMgaW5saW5lIGludCB4c21fZG9tY3RsX3NjaGVk
dWxlcl9vcCgKLSAgICB4c21fZGVmYXVsdF90IGRlZiwgc3RydWN0IGRvbWFp
biAqZCwgaW50IGNtZCkKLXsKLSAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2Fs
bCh4c21fb3BzLmRvbWN0bF9zY2hlZHVsZXJfb3AsIGQsIGNtZCk7Ci19Ci0K
IHN0YXRpYyBpbmxpbmUgaW50IHhzbV9zeXNjdGxfc2NoZWR1bGVyX29wKHhz
bV9kZWZhdWx0X3QgZGVmLCBpbnQgY21kKQogewogICAgIHJldHVybiBhbHRl
cm5hdGl2ZV9jYWxsKHhzbV9vcHMuc3lzY3RsX3NjaGVkdWxlcl9vcCwgY21k
KTsKLS0tIGEveGVuL3hzbS9kdW1teS5jCisrKyBiL3hlbi94c20vZHVtbXku
YwpAQCAtMTgsNyArMTgsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHhzbV9v
cHMgX19pbml0Y29uc3RfCiAgICAgLnNlY3VyaXR5X2RvbWFpbmluZm8gICAg
ICAgICAgID0geHNtX3NlY3VyaXR5X2RvbWFpbmluZm8sCiAgICAgLmRvbWFp
bl9jcmVhdGUgICAgICAgICAgICAgICAgID0geHNtX2RvbWFpbl9jcmVhdGUs
CiAgICAgLmdldGRvbWFpbmluZm8gICAgICAgICAgICAgICAgID0geHNtX2dl
dGRvbWFpbmluZm8sCi0gICAgLmRvbWN0bF9zY2hlZHVsZXJfb3AgICAgICAg
ICAgID0geHNtX2RvbWN0bF9zY2hlZHVsZXJfb3AsCiAgICAgLnN5c2N0bF9z
Y2hlZHVsZXJfb3AgICAgICAgICAgID0geHNtX3N5c2N0bF9zY2hlZHVsZXJf
b3AsCiAgICAgLnNldF90YXJnZXQgICAgICAgICAgICAgICAgICAgID0geHNt
X3NldF90YXJnZXQsCiAgICAgLmRvbWN0bCAgICAgICAgICAgICAgICAgICAg
ICAgID0geHNtX2RvbWN0bCwKLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5j
CisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjA3LDcgKzYwNyw3
IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZ2V0ZG9tYWluaW5mbygK
ICAgICByZXR1cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUNDTEFTU19ET01B
SU4sIERPTUFJTl9fR0VURE9NQUlOSU5GTyk7CiB9CiAKLXN0YXRpYyBpbnQg
Y2ZfY2hlY2sgZmxhc2tfZG9tY3RsX3NjaGVkdWxlcl9vcChzdHJ1Y3QgZG9t
YWluICpkLCBpbnQgb3ApCitzdGF0aWMgaW50IGZsYXNrX2RvbWN0bF9zY2hl
ZHVsZXJfb3Aoc3RydWN0IGRvbWFpbiAqZCwgaW50IG9wKQogewogICAgIHN3
aXRjaCAoIG9wICkKICAgICB7CkBAIC02OTEsNyArNjkxLDYgQEAgc3RhdGlj
IGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0CiAgICAgICAgIHJl
dHVybiAtRUlMU0VROwogCiAgICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFs
IFhTTSBob29rcyAoY29tbW9uL2RvbWN0bC5jKSAqLwotICAgIGNhc2UgWEVO
X0RPTUNUTF9zY2hlZHVsZXJfb3A6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Nl
dF90YXJnZXQ6CiAKICNpZmRlZiBDT05GSUdfWDg2CkBAIC03MzksNiArNzM4
LDkgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3NldGRvbWFpbmhhbmRsZToKICAgICAg
ICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9NQUlO
LCBET01BSU5fX1NFVERPTUFJTkhBTkRMRSk7CiAKKyAgICBjYXNlIFhFTl9E
T01DVExfc2NoZWR1bGVyX29wOgorICAgICAgICByZXR1cm4gZmxhc2tfZG9t
Y3RsX3NjaGVkdWxlcl9vcChkLCBvcC0+dS5zY2hlZHVsZXJfb3AuY21kKTsK
KwogICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRfZXh0X3ZjcHVjb250ZXh0Ogog
ICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRfdmNwdV9tc3JzOgogICAgIGNhc2Ug
WEVOX0RPTUNUTF9zZXR2Y3B1Y29udGV4dDoKQEAgLTE4NDksNyArMTg1MSw2
IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeHNtX29wcyBfX2luaXRjb25zdF8K
ICAgICAuc2VjdXJpdHlfZG9tYWluaW5mbyA9IGZsYXNrX3NlY3VyaXR5X2Rv
bWFpbmluZm8sCiAgICAgLmRvbWFpbl9jcmVhdGUgPSBmbGFza19kb21haW5f
Y3JlYXRlLAogICAgIC5nZXRkb21haW5pbmZvID0gZmxhc2tfZ2V0ZG9tYWlu
aW5mbywKLSAgICAuZG9tY3RsX3NjaGVkdWxlcl9vcCA9IGZsYXNrX2RvbWN0
bF9zY2hlZHVsZXJfb3AsCiAgICAgLnN5c2N0bF9zY2hlZHVsZXJfb3AgPSBm
bGFza19zeXNjdGxfc2NoZWR1bGVyX29wLAogICAgIC5zZXRfdGFyZ2V0ID0g
Zmxhc2tfc2V0X3RhcmdldCwKICAgICAuZG9tY3RsID0gZmxhc2tfZG9tY3Rs
LAo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.17-14.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.17-14.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHNoYWRvd19jb250cm9sX29wIGhvb2sKCklu
dGVncmF0ZSB0aGUgY2hlY2tpbmcgd2l0aCB4c21fZG9tY3RsKCksIG5vdyB0
aGF0IGl0IGhhcyB0aGUgZnVsbCBvcApzdHJ1Y3QgcGFzc2VkLiBBcyBhIHBv
c2l0aXZlIHNpZGUgZWZmZWN0LCBwZXJtaXNzaW9ucyBhcmUgdGhlbiBjaGVj
a2VkIGF0CnRoZSBzYW1lIGVhcmx5IHBvaW50IHdpdGggYW5kIHdpdGhvdXQg
Rmxhc2suCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4KClNpZ25lZC1vZmYt
Ynk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQWNrZWQtYnk6
IERhbmllbCBQLiBTbWl0aCA8ZHBzbWl0aEBhcGVydHVzc29sdXRpb25zLmNv
bT4KCi0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYworKysgYi94ZW4v
YXJjaC94ODYvbW0vcGFnaW5nLmMKQEAgLTcyMSwxMCArNzIxLDYgQEAgaW50
IHBhZ2luZ19kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgc3RydQogICAgICAg
ICByZXR1cm4gLUVCVVNZOwogICAgIH0KIAotICAgIHJjID0geHNtX3NoYWRv
d19jb250cm9sKFhTTV9IT09LLCBkLCBzYy0+b3ApOwotICAgIGlmICggcmMg
KQotICAgICAgICByZXR1cm4gcmM7Ci0KICAgICAvKiBDb2RlIHRvIGhhbmRs
ZSBsb2ctZGlydHkuIE5vdGUgdGhhdCBzb21lIGxvZyBkaXJ0eSBvcGVyYXRp
b25zCiAgICAgICogcGlnZ3ktYmFjayBvbiBzaGFkb3cgb3BlcmF0aW9ucy4g
Rm9yIGV4YW1wbGUsIHdoZW4KICAgICAgKiBYRU5fRE9NQ1RMX1NIQURPV19P
UF9PRkYgaXMgY2FsbGVkLCBpdCBmaXJzdCBjaGVja3Mgd2hldGhlciBsb2cg
ZGlydHkKLS0tIGEveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKKysrIGIveGVu
L2luY2x1ZGUveHNtL2R1bW15LmgKQEAgLTY3MywxMyArNjczLDYgQEAgc3Rh
dGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9kb19tYwogICAgIHJl
dHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5kb21h
aW4sIE5VTEwpOwogfQogCi1zdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hl
Y2sgeHNtX3NoYWRvd19jb250cm9sKAotICAgIFhTTV9ERUZBVUxUX0FSRyBz
dHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBvcCkKLXsKLSAgICBYU01fQVNT
RVJUX0FDVElPTihYU01fSE9PSyk7Ci0gICAgcmV0dXJuIHhzbV9kZWZhdWx0
X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgZCk7Ci19Ci0KIHN0
YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fbWVtX3NoYXJpbmdf
b3AoCiAgICAgWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQsIHN0
cnVjdCBkb21haW4gKmNkLCBpbnQgb3ApCiB7Ci0tLSBhL3hlbi9pbmNsdWRl
L3hzbS94c20uaAorKysgYi94ZW4vaW5jbHVkZS94c20veHNtLmgKQEAgLTE2
Nyw3ICsxNjcsNiBAQCBzdHJ1Y3QgeHNtX29wcyB7CiAKICNpZmRlZiBDT05G
SUdfWDg2CiAgICAgaW50ICgqZG9fbWNhKSh2b2lkKTsKLSAgICBpbnQgKCpz
aGFkb3dfY29udHJvbCkoc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3Qgb3Ap
OwogICAgIGludCAoKm1lbV9zaGFyaW5nX29wKShzdHJ1Y3QgZG9tYWluICpk
LCBzdHJ1Y3QgZG9tYWluICpjZCwgaW50IG9wKTsKICAgICBpbnQgKCphcGlj
KShzdHJ1Y3QgZG9tYWluICpkLCBpbnQgY21kKTsKICAgICBpbnQgKCptYWNo
aW5lX21lbW9yeV9tYXApKHZvaWQpOwpAQCAtNjQ5LDEyICs2NDgsNiBAQCBz
dGF0aWMgaW5saW5lIGludCB4c21fZG9fbWNhKHhzbV9kZWZhdWx0CiAgICAg
cmV0dXJuIGFsdGVybmF0aXZlX2NhbGwoeHNtX29wcy5kb19tY2EpOwogfQog
Ci1zdGF0aWMgaW5saW5lIGludCB4c21fc2hhZG93X2NvbnRyb2woCi0gICAg
eHNtX2RlZmF1bHRfdCBkZWYsIHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90
IG9wKQotewotICAgIHJldHVybiBhbHRlcm5hdGl2ZV9jYWxsKHhzbV9vcHMu
c2hhZG93X2NvbnRyb2wsIGQsIG9wKTsKLX0KLQogc3RhdGljIGlubGluZSBp
bnQgeHNtX21lbV9zaGFyaW5nX29wKAogICAgIHhzbV9kZWZhdWx0X3QgZGVm
LCBzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZG9tYWluICpjZCwgaW50IG9w
KQogewotLS0gYS94ZW4veHNtL2R1bW15LmMKKysrIGIveGVuL3hzbS9kdW1t
eS5jCkBAIC0xMjMsNyArMTIzLDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB4
c21fb3BzIF9faW5pdGNvbnN0XwogICAgIC5wbGF0Zm9ybV9vcCAgICAgICAg
ICAgICAgICAgICA9IHhzbV9wbGF0Zm9ybV9vcCwKICNpZmRlZiBDT05GSUdf
WDg2CiAgICAgLmRvX21jYSAgICAgICAgICAgICAgICAgICAgICAgID0geHNt
X2RvX21jYSwKLSAgICAuc2hhZG93X2NvbnRyb2wgICAgICAgICAgICAgICAg
PSB4c21fc2hhZG93X2NvbnRyb2wsCiAgICAgLm1lbV9zaGFyaW5nX29wICAg
ICAgICAgICAgICAgID0geHNtX21lbV9zaGFyaW5nX29wLAogICAgIC5hcGlj
ICAgICAgICAgICAgICAgICAgICAgICAgICA9IHhzbV9hcGljLAogICAgIC5t
YWNoaW5lX21lbW9yeV9tYXAgICAgICAgICAgICA9IHhzbV9tYWNoaW5lX21l
bW9yeV9tYXAsCi0tLSBhL3hlbi94c20vZmxhc2svaG9va3MuYworKysgYi94
ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAgLTQwLDYgKzQwLDcgQEAKIAogI2lm
ZGVmIENPTkZJR19YODYKICNpbmNsdWRlIDxhc20vcHYvc2hpbS5oPgorc3Rh
dGljIGludCBmbGFza19zaGFkb3dfY29udHJvbChzdHJ1Y3QgZG9tYWluICpk
LCB1bnNpZ25lZCBpbnQgb3ApOwogI2Vsc2UKICNkZWZpbmUgcHZfc2hpbSBm
YWxzZQogI2VuZGlmCkBAIC02OTMsMTAgKzY5NCw2IEBAIHN0YXRpYyBpbnQg
Y2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAogICAgIC8qIFRoZXNlIGhh
dmUgaW5kaXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9kb21jdGwuYykgKi8K
ICAgICBjYXNlIFhFTl9ET01DVExfc2V0X3RhcmdldDoKIAotI2lmZGVmIENP
TkZJR19YODYKLSAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhv
b2tzIChhcmNoL3g4Ni9kb21jdGwuYykgKi8KLSAgICBjYXNlIFhFTl9ET01D
VExfc2hhZG93X29wOgotI2VuZGlmCiAjaWZkZWYgQ09ORklHX0hBU19QQVNT
VEhST1VHSAogICAgIC8qCiAgICAgICogVGhlc2UgaGF2ZSBpbmRpdmlkdWFs
IFhTTSBob29rcwpAQCAtNzgxLDYgKzc3OCwxMSBAQCBzdGF0aWMgaW50IGNm
X2NoZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICBjYXNlIFhFTl9ET01D
VExfZ2V0X2FkZHJlc3Nfc2l6ZToKICAgICAgICAgcmV0dXJuIGN1cnJlbnRf
aGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9NQUlOLCBET01BSU5fX0dFVEFERFJT
SVpFKTsKIAorI2lmZGVmIENPTkZJR19YODYKKyAgICBjYXNlIFhFTl9ET01D
VExfc2hhZG93X29wOgorICAgICAgICByZXR1cm4gZmxhc2tfc2hhZG93X2Nv
bnRyb2woZCwgb3AtPnUuc2hhZG93X29wLm9wKTsKKyNlbmRpZgorCiAgICAg
Y2FzZSBYRU5fRE9NQ1RMX21lbV9zaGFyaW5nX29wOgogICAgICAgICByZXR1
cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUNDTEFTU19IVk0sIEhWTV9fTUVN
X1NIQVJJTkcpOwogCkBAIC0xNTc3LDcgKzE1NzksNyBAQCBzdGF0aWMgaW50
IGNmX2NoZWNrIGZsYXNrX2RvX21jYSh2b2lkKQogICAgIHJldHVybiBkb21h
aW5faGFzX3hlbihjdXJyZW50LT5kb21haW4sIFhFTl9fTUNBX09QKTsKIH0K
IAotc3RhdGljIGludCBjZl9jaGVjayBmbGFza19zaGFkb3dfY29udHJvbChz
dHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBvcCkKK3N0YXRpYyBpbnQgZmxh
c2tfc2hhZG93X2NvbnRyb2woc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQg
aW50IG9wKQogewogICAgIHVpbnQzMl90IHBlcm07CiAKQEAgLTE5NTcsNyAr
MTk1OSw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeHNtX29wcyBfX2luaXRj
b25zdF8KICAgICAucGxhdGZvcm1fb3AgPSBmbGFza19wbGF0Zm9ybV9vcCwK
ICNpZmRlZiBDT05GSUdfWDg2CiAgICAgLmRvX21jYSA9IGZsYXNrX2RvX21j
YSwKLSAgICAuc2hhZG93X2NvbnRyb2wgPSBmbGFza19zaGFkb3dfY29udHJv
bCwKICAgICAubWVtX3NoYXJpbmdfb3AgPSBmbGFza19tZW1fc2hhcmluZ19v
cCwKICAgICAuYXBpYyA9IGZsYXNrX2FwaWMsCiAgICAgLm1hY2hpbmVfbWVt
b3J5X21hcCA9IGZsYXNrX21hY2hpbmVfbWVtb3J5X21hcCwK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.17-15.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.17-15.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2dldF9kZXZpY2VfZ3JvdXAg
d2l0aG91dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKCmlvbW11X2dldF9kZXZp
Y2VfZ3JvdXAoKSB1c2VzIGl0cyBvd24gbG9ja2luZy4gVGh1cywgd2l0aCBj
YWxsZXIgc2lkZQpsb2NraW5nIGlycmVsZXZhbnQsIGl0IGNhbiBhcyB3ZWxs
IGJlIGNhbGxlZCB3aXRoIHRoZSBkb21jdGwgbG9jayBub3QKaGVsZC4KCk1v
dmUgdGhlIGhhbmRsaW5nIG5vdCBvbmx5IGFoZWFkIG9mIGFjcXVpcmluZyB0
aGUgbG9jaywgYnV0IGFsc28gYWhlYWQKb2YgdGhlIFhTTSBjaGVjaywgbGV2
ZXJhZ2luZyB0aGF0IHRoZSBzdWItb3AgaGFzIGl0cyBvd24gaG9vay4KClRo
aXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJl
dWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpBY2tlZC1ieTogRGFuaWVsIFAu
IFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29tPgpSZXZpZXdl
ZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+
CgotLS0gYS94ZW4vY29tbW9uL2RvbWN0bC5jCisrKyBiL3hlbi9jb21tb24v
ZG9tY3RsLmMKQEAgLTUyNyw2ICs1MjcsMTAgQEAgbG9uZyBkb19kb21jdGwo
WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICAvKiBPdGhlciBz
dWItb3BzIGhhbmRsZWQgZnVydGhlciBkb3duLiAqLwogICAgICAgICBicmVh
azsKIAorICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRfZGV2aWNlX2dyb3VwOgor
ICAgICAgICByZXQgPSBpb21tdV9kb19kb21jdGwob3AsIGQsIHVfZG9tY3Rs
KTsKKyAgICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5Owor
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNzaW9uOgogICAg
IGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBjYXNlIFhF
Tl9ET01DVExfYmluZF9wdF9pcnE6CkBAIC05NDksNyArOTUzLDYgQEAgbG9u
ZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgIGNh
c2UgWEVOX0RPTUNUTF9hc3NpZ25fZGV2aWNlOgogICAgIGNhc2UgWEVOX0RP
TUNUTF90ZXN0X2Fzc2lnbl9kZXZpY2U6CiAgICAgY2FzZSBYRU5fRE9NQ1RM
X2RlYXNzaWduX2RldmljZToKLSAgICBjYXNlIFhFTl9ET01DVExfZ2V0X2Rl
dmljZV9ncm91cDoKICAgICAgICAgcmV0ID0gaW9tbXVfZG9fZG9tY3RsKG9w
LCBkLCB1X2RvbWN0bCk7CiAgICAgICAgIGJyZWFrOwogCi0tLSBhL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bh
c3N0aHJvdWdoL3BjaS5jCkBAIC0xNTEzLDcgKzE1MTMsNyBAQCBzdGF0aWMg
aW50IGlvbW11X2dldF9kZXZpY2VfZ3JvdXAoCiAgICAgICAgIGlmICggKHBk
ZXYtPnNlZyAhPSBzZWcpIHx8ICgoYiA9PSBidXMpICYmIChkZiA9PSBkZXZm
bikpICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGlmICgg
eHNtX2dldF9kZXZpY2VfZ3JvdXAoWFNNX0hPT0ssIChzZWcgPDwgMTYpIHwg
KGIgPDwgOCkgfCBkZikgKQorICAgICAgICBpZiAoIHhzbV9nZXRfZGV2aWNl
X2dyb3VwKFhTTV9QUklWLCAoc2VnIDw8IDE2KSB8IChiIDw8IDgpIHwgZGYp
ICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIHNkZXZfaWQg
PSBpb21tdV9jYWxsKG9wcywgZ2V0X2RldmljZV9ncm91cF9pZCwgc2VnLCBi
LCBkZik7CkBAIC0xNTgzLDcgKzE1ODMsNyBAQCBpbnQgaW9tbXVfZG9fcGNp
X2RvbWN0bCgKICAgICAgICAgdTMyIG1heF9zZGV2czsKICAgICAgICAgWEVO
X0dVRVNUX0hBTkRMRV82NCh1aW50MzIpIHNkZXZzOwogCi0gICAgICAgIHJl
dCA9IHhzbV9nZXRfZGV2aWNlX2dyb3VwKFhTTV9IT09LLCBkb21jdGwtPnUu
Z2V0X2RldmljZV9ncm91cC5tYWNoaW5lX3NiZGYpOworICAgICAgICByZXQg
PSB4c21fZ2V0X2RldmljZV9ncm91cChYU01fUFJJViwgZG9tY3RsLT51Lmdl
dF9kZXZpY2VfZ3JvdXAubWFjaGluZV9zYmRmKTsKICAgICAgICAgaWYgKCBy
ZXQgKQogICAgICAgICAgICAgYnJlYWs7CiAKLS0tIGEveGVuL2luY2x1ZGUv
eHNtL2R1bW15LmgKKysrIGIveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKQEAg
LTE2Miw2ICsxNjIsNyBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hl
Y2sgeHNtX2RvbWN0CiAgICAgewogICAgIGNhc2UgWEVOX0RPTUNUTF9iaW5k
X3B0X2lycToKICAgICBjYXNlIFhFTl9ET01DVExfZ2V0ZG9tYWluaW5mbzoK
KyAgICBjYXNlIFhFTl9ET01DVExfZ2V0X2RldmljZV9ncm91cDoKICAgICBj
YXNlIFhFTl9ET01DVExfaW9tZW1fcGVybWlzc2lvbjoKICAgICBjYXNlIFhF
Tl9ET01DVExfaW9wb3J0X21hcHBpbmc6CiAgICAgY2FzZSBYRU5fRE9NQ1RM
X2lvcG9ydF9wZXJtaXNzaW9uOgpAQCAtMzk5LDcgKzQwMCw3IEBAIHN0YXRp
YyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZ2V0X3YKIHN0YXRpYyBY
U01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZ2V0X2RldmljZV9ncm91cCgK
ICAgICBYU01fREVGQVVMVF9BUkcgdWludDMyX3QgbWFjaGluZV9iZGYpCiB7
Ci0gICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX0hPT0spOworICAgIFhTTV9B
U1NFUlRfQUNUSU9OKFhTTV9QUklWKTsKICAgICByZXR1cm4geHNtX2RlZmF1
bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBOVUxMKTsKIH0K
IAotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIveGVuL3hzbS9m
bGFzay9ob29rcy5jCkBAIC02ODIsNiArNjgyLDcgQEAgc3RhdGljIGludCBj
Zl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0CiAgICAgLyogVGhlc2UgaGF2
ZSBpbmRpdmlkdWFsIFhTTSBob29rcyBhbmQgZG9uJ3QgbWFrZSBpdCBoZXJl
LiAqLwogICAgIGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToKICAgICBj
YXNlIFhFTl9ET01DVExfZ2V0ZG9tYWluaW5mbzoKKyAgICBjYXNlIFhFTl9E
T01DVExfZ2V0X2RldmljZV9ncm91cDoKICAgICBjYXNlIFhFTl9ET01DVExf
aW9tZW1fcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9ET01DVExfaW9wb3J0
X21hcHBpbmc6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNz
aW9uOgpAQCAtNjk5LDcgKzcwMCw2IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sg
Zmxhc2tfZG9tY3RsKHN0cnVjdAogICAgICAqIFRoZXNlIGhhdmUgaW5kaXZp
ZHVhbCBYU00gaG9va3MKICAgICAgKiAoZHJpdmVycy9wYXNzdGhyb3VnaC97
cGNpLGRldmljZV90cmVlLmMpCiAgICAgICovCi0gICAgY2FzZSBYRU5fRE9N
Q1RMX2dldF9kZXZpY2VfZ3JvdXA6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Rl
c3RfYXNzaWduX2RldmljZToKICAgICBjYXNlIFhFTl9ET01DVExfYXNzaWdu
X2RldmljZToKICAgICBjYXNlIFhFTl9ET01DVExfZGVhc3NpZ25fZGV2aWNl
Ogo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.17-16.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.17-16.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHssZGV9YXNzaWduX3ssZHR9ZGV2aWNlIGhv
b2tzCgpJbnRlZ3JhdGUgdGhlIGNoZWNraW5nIHdpdGggeHNtX2RvbWN0bCgp
LiBBcyBhIHBvc2l0aXZlIHNpZGUgZWZmZWN0LApwZXJtaXNzaW9ucyBhcmUg
dGhlbiBjaGVja2VkIGF0IHRoZSBzYW1lIGVhcmx5IHBvaW50IHdpdGggYW5k
IHdpdGhvdXQKRmxhc2suIEFzIHRoZSBEVCBkZXZpY2UgcGF0aCBuZWVkcyBm
ZXRjaGluZyBlYXJsaWVyIChidXQgbXVzdCBub3QgYmUKZG91YmxlIGZldGNo
ZWQpLCBjYWNoZSBpdCBpbiBhIHByaXZhdGUgZmllbGQgb2YgdGhlIHB1Ymxp
YyBpbnRlcmZhY2UKc3RydWN0LgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIu
CgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j
b20+CkFja2VkLWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1
c3NvbHV0aW9ucy5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOp
IDxyb2dlci5wYXVAY2l0cml4LmNvbT4KCi0tLSBhL3hlbi9jb21tb24vZG9t
Y3RsLmMKKysrIGIveGVuL2NvbW1vbi9kb21jdGwuYwpAQCAtMzI2LDYgKzMy
NiwxMCBAQCBsb25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFN
KHhlCiAgICAgY2FzZSBYRU5fRE9NQ1RMX2RlYXNzaWduX2RldmljZToKICAg
ICAgICAgaWYgKCBvcC0+ZG9tYWluID09IERPTUlEX0lPICkKICAgICAgICAg
eworI2lmZGVmIENPTkZJR19IQVNfREVWSUNFX1RSRUUKKyAgICAgICAgICAg
IGlmICggb3AtPnUuYXNzaWduX2RldmljZS5kZXYgPT0gWEVOX0RPTUNUTF9E
RVZfRFQgKQorICAgICAgICAgICAgICAgIG9wLT51LmFzc2lnbl9kZXZpY2Uu
dS5kdC5kZXYgPSBOVUxMOworI2VuZGlmCiAgICAgICAgICAgICBkID0gZG9t
X2lvOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTMzMyw2
ICszMzcsMTEgQEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9Q
QVJBTSh4ZQogICAgICAgICAgICAgcmV0dXJuIC1FU1JDSDsKICAgICAgICAg
LyogZmFsbCB0aHJvdWdoICovCiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Rlc3Rf
YXNzaWduX2RldmljZToKKyNpZmRlZiBDT05GSUdfSEFTX0RFVklDRV9UUkVF
CisgICAgICAgIGlmICggb3AtPnUuYXNzaWduX2RldmljZS5kZXYgPT0gWEVO
X0RPTUNUTF9ERVZfRFQgKQorICAgICAgICAgICAgb3AtPnUuYXNzaWduX2Rl
dmljZS51LmR0LmRldiA9IE5VTEw7CisgICAgICAgIGZhbGx0aHJvdWdoOwor
I2VuZGlmCiAgICAgY2FzZSBYRU5fRE9NQ1RMX3ZtX2V2ZW50X29wOgogICAg
ICAgICBpZiAoIG9wLT5kb21haW4gPT0gRE9NSURfSU5WQUxJRCApCiAgICAg
ICAgIHsKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvZGV2aWNlX3Ry
ZWUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9kZXZpY2VfdHJl
ZS5jCkBAIC0yMTMsMTUgKzIxMywxNSBAQCBpbnQgaW9tbXVfZG9fZHRfZG9t
Y3RsKHN0cnVjdCB4ZW5fZG9tY3RsCiAgICAgICAgIGlmICggKGQgJiYgZC0+
aXNfZHlpbmcpIHx8IGRvbWN0bC0+dS5hc3NpZ25fZGV2aWNlLmZsYWdzICkK
ICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIHJldCA9IGR0X2ZpbmRf
bm9kZV9ieV9ncGF0aChkb21jdGwtPnUuYXNzaWduX2RldmljZS51LmR0LnBh
dGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21j
dGwtPnUuYXNzaWduX2RldmljZS51LmR0LnNpemUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmZGV2KTsKLSAgICAgICAgaWYgKCBy
ZXQgKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgcmV0ID0geHNt
X2Fzc2lnbl9kdGRldmljZShYU01fSE9PSywgZCwgZHRfbm9kZV9mdWxsX25h
bWUoZGV2KSk7Ci0gICAgICAgIGlmICggcmV0ICkKLSAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBkZXYgPSBkb21jdGwtPnUuYXNzaWduX2RldmljZS51
LmR0LmRldjsKKyAgICAgICAgaWYgKCAhZGV2ICkKKyAgICAgICAgeworICAg
ICAgICAgICAgcmV0ID0gZHRfZmluZF9ub2RlX2J5X2dwYXRoKGRvbWN0bC0+
dS5hc3NpZ25fZGV2aWNlLnUuZHQucGF0aCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkb21jdGwtPnUuYXNzaWduX2Rldmlj
ZS51LmR0LnNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJmRldik7CisgICAgICAgICAgICBpZiAoIHJldCApCisgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KIAogICAgICAgICBpZiAo
IGRvbWN0bC0+Y21kID09IFhFTl9ET01DVExfdGVzdF9hc3NpZ25fZGV2aWNl
ICkKICAgICAgICAgewpAQCAtMjYyLDE1ICsyNjIsMTUgQEAgaW50IGlvbW11
X2RvX2R0X2RvbWN0bChzdHJ1Y3QgeGVuX2RvbWN0bAogICAgICAgICBpZiAo
IGRvbWN0bC0+dS5hc3NpZ25fZGV2aWNlLmZsYWdzICkKICAgICAgICAgICAg
IGJyZWFrOwogCi0gICAgICAgIHJldCA9IGR0X2ZpbmRfbm9kZV9ieV9ncGF0
aChkb21jdGwtPnUuYXNzaWduX2RldmljZS51LmR0LnBhdGgsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21jdGwtPnUuYXNzaWdu
X2RldmljZS51LmR0LnNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAmZGV2KTsKLSAgICAgICAgaWYgKCByZXQgKQotICAgICAg
ICAgICAgYnJlYWs7Ci0KLSAgICAgICAgcmV0ID0geHNtX2RlYXNzaWduX2R0
ZGV2aWNlKFhTTV9IT09LLCBkLCBkdF9ub2RlX2Z1bGxfbmFtZShkZXYpKTsK
LSAgICAgICAgaWYgKCByZXQgKQotICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGRldiA9IGRvbWN0bC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQuZGV2Owor
ICAgICAgICBpZiAoICFkZXYgKQorICAgICAgICB7CisgICAgICAgICAgICBy
ZXQgPSBkdF9maW5kX25vZGVfYnlfZ3BhdGgoZG9tY3RsLT51LmFzc2lnbl9k
ZXZpY2UudS5kdC5wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRvbWN0bC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQuc2l6
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm
ZGV2KTsKKyAgICAgICAgICAgIGlmICggcmV0ICkKKyAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQogCiAgICAgICAgIGlmICggZCA9PSBkb21f
aW8gKQogICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Ci0tLSBhL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bh
c3N0aHJvdWdoL3BjaS5jCkBAIC0xNjMzLDEwICsxNjMzLDYgQEAgaW50IGlv
bW11X2RvX3BjaV9kb21jdGwoCiAKICAgICAgICAgbWFjaGluZV9zYmRmID0g
ZG9tY3RsLT51LmFzc2lnbl9kZXZpY2UudS5wY2kubWFjaGluZV9zYmRmOwog
Ci0gICAgICAgIHJldCA9IHhzbV9hc3NpZ25fZGV2aWNlKFhTTV9IT09LLCBk
LCBtYWNoaW5lX3NiZGYpOwotICAgICAgICBpZiAoIHJldCApCi0gICAgICAg
ICAgICBicmVhazsKLQogICAgICAgICBzZWcgPSBtYWNoaW5lX3NiZGYgPj4g
MTY7CiAgICAgICAgIGJ1cyA9IFBDSV9CVVMobWFjaGluZV9zYmRmKTsKICAg
ICAgICAgZGV2Zm4gPSBQQ0lfREVWRk4obWFjaGluZV9zYmRmKTsKQEAgLTE2
NzgsMTAgKzE2NzQsNiBAQCBpbnQgaW9tbXVfZG9fcGNpX2RvbWN0bCgKIAog
ICAgICAgICBtYWNoaW5lX3NiZGYgPSBkb21jdGwtPnUuYXNzaWduX2Rldmlj
ZS51LnBjaS5tYWNoaW5lX3NiZGY7CiAKLSAgICAgICAgcmV0ID0geHNtX2Rl
YXNzaWduX2RldmljZShYU01fSE9PSywgZCwgbWFjaGluZV9zYmRmKTsKLSAg
ICAgICAgaWYgKCByZXQgKQotICAgICAgICAgICAgYnJlYWs7Ci0KICAgICAg
ICAgc2VnID0gbWFjaGluZV9zYmRmID4+IDE2OwogICAgICAgICBidXMgPSBQ
Q0lfQlVTKG1hY2hpbmVfc2JkZik7CiAgICAgICAgIGRldmZuID0gUENJX0RF
VkZOKG1hY2hpbmVfc2JkZik7Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9k
b21jdGwuaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKQEAg
LTUzMSw3ICs1MzEsMTAgQEAgc3RydWN0IHhlbl9kb21jdGxfYXNzaWduX2Rl
dmljZSB7CiAgICAgICAgIH0gcGNpOwogICAgICAgICBzdHJ1Y3QgewogICAg
ICAgICAgICAgdWludDMyX3Qgc2l6ZTsgLyogTGVuZ3RoIG9mIHRoZSBwYXRo
ICovCi0gICAgICAgICAgICBYRU5fR1VFU1RfSEFORExFXzY0KGNoYXIpIHBh
dGg7IC8qIHBhdGggdG8gdGhlIGRldmljZSB0cmVlIG5vZGUgKi8KKyAgICAg
ICAgICAgIFhFTl9HVUVTVF9IQU5ETEVfNjQoY2hhcikgcGF0aDsgLyogUGF0
aCB0byB0aGUgZGV2aWNlIHRyZWUgbm9kZSAqLworI2lmZGVmIF9fWEVOX18K
KyAgICAgICAgICAgIHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqZGV2OyAvKiBS
ZXNvbHZlZCBkZXZpY2Ugbm9kZSBvZiB0aGUgYWJvdmUgKi8KKyNlbmRpZgog
ICAgICAgICB9IGR0OwogICAgIH0gdTsKIH07Ci0tLSBhL3hlbi9pbmNsdWRl
L3hzbS9kdW1teS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCkBA
IC00MDMsNDAgKzQwMyw4IEBAIHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9j
aGVjayB4c21fZ2V0X2QKICAgICBYU01fQVNTRVJUX0FDVElPTihYU01fUFJJ
Vik7CiAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1
cnJlbnQtPmRvbWFpbiwgTlVMTCk7CiB9Ci0KLXN0YXRpYyBYU01fSU5MSU5F
IGludCBjZl9jaGVjayB4c21fYXNzaWduX2RldmljZSgKLSAgICBYU01fREVG
QVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3QgbWFjaGluZV9i
ZGYpCi17Ci0gICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX0hPT0spOwotICAg
IHJldHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5k
b21haW4sIGQpOwotfQotCi1zdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hl
Y2sgeHNtX2RlYXNzaWduX2RldmljZSgKLSAgICBYU01fREVGQVVMVF9BUkcg
c3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3QgbWFjaGluZV9iZGYpCi17Ci0g
ICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX0hPT0spOwotICAgIHJldHVybiB4
c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5kb21haW4sIGQp
OwotfQotCiAjZW5kaWYgLyogSEFTX1BBU1NUSFJPVUdIICYmIEhBU19QQ0kg
Ki8KIAotI2lmIGRlZmluZWQoQ09ORklHX0hBU19QQVNTVEhST1VHSCkgJiYg
ZGVmaW5lZChDT05GSUdfSEFTX0RFVklDRV9UUkVFKQotc3RhdGljIFhTTV9J
TkxJTkUgaW50IGNmX2NoZWNrIHhzbV9hc3NpZ25fZHRkZXZpY2UoCi0gICAg
WFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQsIGNvbnN0IGNoYXIg
KmR0cGF0aCkKLXsKLSAgICBYU01fQVNTRVJUX0FDVElPTihYU01fSE9PSyk7
Ci0gICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJl
bnQtPmRvbWFpbiwgZCk7Ci19Ci0KLXN0YXRpYyBYU01fSU5MSU5FIGludCBj
Zl9jaGVjayB4c21fZGVhc3NpZ25fZHRkZXZpY2UoCi0gICAgWFNNX0RFRkFV
TFRfQVJHIHN0cnVjdCBkb21haW4gKmQsIGNvbnN0IGNoYXIgKmR0cGF0aCkK
LXsKLSAgICBYU01fQVNTRVJUX0FDVElPTihYU01fSE9PSyk7Ci0gICAgcmV0
dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFp
biwgZCk7Ci19Ci0KLSNlbmRpZiAvKiBIQVNfUEFTU1RIUk9VR0ggJiYgSEFT
X0RFVklDRV9UUkVFICovCi0KIHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9j
aGVjayB4c21fcmVzb3VyY2VfcGx1Z19jb3JlKFhTTV9ERUZBVUxUX1ZPSUQp
CiB7CiAgICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX0hPT0spOwotLS0gYS94
ZW4vaW5jbHVkZS94c20veHNtLmgKKysrIGIveGVuL2luY2x1ZGUveHNtL3hz
bS5oCkBAIC0xMjEsMTMgKzEyMSw2IEBAIHN0cnVjdCB4c21fb3BzIHsKIAog
I2lmIGRlZmluZWQoQ09ORklHX0hBU19QQVNTVEhST1VHSCkgJiYgZGVmaW5l
ZChDT05GSUdfSEFTX1BDSSkKICAgICBpbnQgKCpnZXRfZGV2aWNlX2dyb3Vw
KSh1aW50MzJfdCBtYWNoaW5lX2JkZik7Ci0gICAgaW50ICgqYXNzaWduX2Rl
dmljZSkoc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3QgbWFjaGluZV9iZGYp
OwotICAgIGludCAoKmRlYXNzaWduX2RldmljZSkoc3RydWN0IGRvbWFpbiAq
ZCwgdWludDMyX3QgbWFjaGluZV9iZGYpOwotI2VuZGlmCi0KLSNpZiBkZWZp
bmVkKENPTkZJR19IQVNfUEFTU1RIUk9VR0gpICYmIGRlZmluZWQoQ09ORklH
X0hBU19ERVZJQ0VfVFJFRSkKLSAgICBpbnQgKCphc3NpZ25fZHRkZXZpY2Up
KHN0cnVjdCBkb21haW4gKmQsIGNvbnN0IGNoYXIgKmR0cGF0aCk7Ci0gICAg
aW50ICgqZGVhc3NpZ25fZHRkZXZpY2UpKHN0cnVjdCBkb21haW4gKmQsIGNv
bnN0IGNoYXIgKmR0cGF0aCk7CiAjZW5kaWYKIAogICAgIGludCAoKnJlc291
cmNlX3BsdWdfY29yZSkodm9pZCk7CkBAIC01MDYsMzUgKzQ5OSw4IEBAIHN0
YXRpYyBpbmxpbmUgaW50IHhzbV9nZXRfZGV2aWNlX2dyb3VwKHgKIHsKICAg
ICByZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4c21fb3BzLmdldF9kZXZpY2Vf
Z3JvdXAsIG1hY2hpbmVfYmRmKTsKIH0KLQotc3RhdGljIGlubGluZSBpbnQg
eHNtX2Fzc2lnbl9kZXZpY2UoCi0gICAgeHNtX2RlZmF1bHRfdCBkZWYsIHN0
cnVjdCBkb21haW4gKmQsIHVpbnQzMl90IG1hY2hpbmVfYmRmKQotewotICAg
IHJldHVybiBhbHRlcm5hdGl2ZV9jYWxsKHhzbV9vcHMuYXNzaWduX2Rldmlj
ZSwgZCwgbWFjaGluZV9iZGYpOwotfQotCi1zdGF0aWMgaW5saW5lIGludCB4
c21fZGVhc3NpZ25fZGV2aWNlKAotICAgIHhzbV9kZWZhdWx0X3QgZGVmLCBz
dHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBtYWNoaW5lX2JkZikKLXsKLSAg
ICByZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4c21fb3BzLmRlYXNzaWduX2Rl
dmljZSwgZCwgbWFjaGluZV9iZGYpOwotfQogI2VuZGlmIC8qIEhBU19QQVNT
VEhST1VHSCAmJiBIQVNfUENJKSAqLwogCi0jaWYgZGVmaW5lZChDT05GSUdf
SEFTX1BBU1NUSFJPVUdIKSAmJiBkZWZpbmVkKENPTkZJR19IQVNfREVWSUNF
X1RSRUUpCi1zdGF0aWMgaW5saW5lIGludCB4c21fYXNzaWduX2R0ZGV2aWNl
KAotICAgIHhzbV9kZWZhdWx0X3QgZGVmLCBzdHJ1Y3QgZG9tYWluICpkLCBj
b25zdCBjaGFyICpkdHBhdGgpCi17Ci0gICAgcmV0dXJuIGFsdGVybmF0aXZl
X2NhbGwoeHNtX29wcy5hc3NpZ25fZHRkZXZpY2UsIGQsIGR0cGF0aCk7Ci19
Ci0KLXN0YXRpYyBpbmxpbmUgaW50IHhzbV9kZWFzc2lnbl9kdGRldmljZSgK
LSAgICB4c21fZGVmYXVsdF90IGRlZiwgc3RydWN0IGRvbWFpbiAqZCwgY29u
c3QgY2hhciAqZHRwYXRoKQotewotICAgIHJldHVybiBhbHRlcm5hdGl2ZV9j
YWxsKHhzbV9vcHMuZGVhc3NpZ25fZHRkZXZpY2UsIGQsIGR0cGF0aCk7Ci19
Ci0KLSNlbmRpZiAvKiBIQVNfUEFTU1RIUk9VR0ggJiYgSEFTX0RFVklDRV9U
UkVFICovCi0KIHN0YXRpYyBpbmxpbmUgaW50IHhzbV9yZXNvdXJjZV9wbHVn
X3BjaSh4c21fZGVmYXVsdF90IGRlZiwgdWludDMyX3QgbWFjaGluZV9iZGYp
CiB7CiAgICAgcmV0dXJuIGFsdGVybmF0aXZlX2NhbGwoeHNtX29wcy5yZXNv
dXJjZV9wbHVnX3BjaSwgbWFjaGluZV9iZGYpOwotLS0gYS94ZW4veHNtL2R1
bW15LmMKKysrIGIveGVuL3hzbS9kdW1teS5jCkBAIC03NiwxMyArNzYsNiBA
QCBzdGF0aWMgY29uc3Qgc3RydWN0IHhzbV9vcHMgX19pbml0Y29uc3RfCiAK
ICNpZiBkZWZpbmVkKENPTkZJR19IQVNfUEFTU1RIUk9VR0gpICYmIGRlZmlu
ZWQoQ09ORklHX0hBU19QQ0kpCiAgICAgLmdldF9kZXZpY2VfZ3JvdXAgICAg
ICAgICAgICAgID0geHNtX2dldF9kZXZpY2VfZ3JvdXAsCi0gICAgLmFzc2ln
bl9kZXZpY2UgICAgICAgICAgICAgICAgID0geHNtX2Fzc2lnbl9kZXZpY2Us
Ci0gICAgLmRlYXNzaWduX2RldmljZSAgICAgICAgICAgICAgID0geHNtX2Rl
YXNzaWduX2RldmljZSwKLSNlbmRpZgotCi0jaWYgZGVmaW5lZChDT05GSUdf
SEFTX1BBU1NUSFJPVUdIKSAmJiBkZWZpbmVkKENPTkZJR19IQVNfREVWSUNF
X1RSRUUpCi0gICAgLmFzc2lnbl9kdGRldmljZSAgICAgICAgICAgICAgID0g
eHNtX2Fzc2lnbl9kdGRldmljZSwKLSAgICAuZGVhc3NpZ25fZHRkZXZpY2Ug
ICAgICAgICAgICAgPSB4c21fZGVhc3NpZ25fZHRkZXZpY2UsCiAjZW5kaWYK
IAogICAgIC5yZXNvdXJjZV9wbHVnX2NvcmUgICAgICAgICAgICA9IHhzbV9y
ZXNvdXJjZV9wbHVnX2NvcmUsCi0tLSBhL3hlbi94c20vZmxhc2svaG9va3Mu
YworKysgYi94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAgLTQ1LDYgKzQ1LDE3
IEBAIHN0YXRpYyBpbnQgZmxhc2tfc2hhZG93X2NvbnRyb2woc3RydWN0IGQK
ICNkZWZpbmUgcHZfc2hpbSBmYWxzZQogI2VuZGlmCiAKKyNpZmRlZiBDT05G
SUdfSEFTX1BBU1NUSFJPVUdICisjaWZkZWYgQ09ORklHX0hBU19QQ0kKK3N0
YXRpYyBpbnQgZmxhc2tfYXNzaWduX2RldmljZShzdHJ1Y3QgZG9tYWluICpk
LCB1bnNpZ25lZCBpbnQgbWFjaGluZV9iZGYpOworc3RhdGljIGludCBmbGFz
a19kZWFzc2lnbl9kZXZpY2Uoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQg
aW50IG1hY2hpbmVfYmRmKTsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19IQVNf
REVWSUNFX1RSRUUKK3N0YXRpYyBpbnQgZmxhc2tfYXNzaWduX2R0ZGV2aWNl
KHN0cnVjdCBkb21haW4gKmQsIGNvbnN0IGNoYXIgKmR0cGF0aCk7CitzdGF0
aWMgaW50IGZsYXNrX2RlYXNzaWduX2R0ZGV2aWNlKHN0cnVjdCBkb21haW4g
KmQsIGNvbnN0IGNoYXIgKmR0cGF0aCk7CisjZW5kaWYKKyNlbmRpZiAvKiBD
T05GSUdfSEFTX1BBU1NUSFJPVUdIICovCisKIHN0YXRpYyB1aW50MzJfdCBk
b21haW5fc2lkKGNvbnN0IHN0cnVjdCBkb21haW4gKmRvbSkKIHsKICAgICBz
dHJ1Y3QgZG9tYWluX3NlY3VyaXR5X3N0cnVjdCAqZHNlYyA9IGRvbS0+c3Np
ZDsKQEAgLTY5NCwxNiArNzA1LDYgQEAgc3RhdGljIGludCBjZl9jaGVjayBm
bGFza19kb21jdGwoc3RydWN0CiAKICAgICAvKiBUaGVzZSBoYXZlIGluZGl2
aWR1YWwgWFNNIGhvb2tzIChjb21tb24vZG9tY3RsLmMpICovCiAgICAgY2Fz
ZSBYRU5fRE9NQ1RMX3NldF90YXJnZXQ6Ci0KLSNpZmRlZiBDT05GSUdfSEFT
X1BBU1NUSFJPVUdICi0gICAgLyoKLSAgICAgKiBUaGVzZSBoYXZlIGluZGl2
aWR1YWwgWFNNIGhvb2tzCi0gICAgICogKGRyaXZlcnMvcGFzc3Rocm91Z2gv
e3BjaSxkZXZpY2VfdHJlZS5jKQotICAgICAqLwotICAgIGNhc2UgWEVOX0RP
TUNUTF90ZXN0X2Fzc2lnbl9kZXZpY2U6Ci0gICAgY2FzZSBYRU5fRE9NQ1RM
X2Fzc2lnbl9kZXZpY2U6Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2RlYXNzaWdu
X2RldmljZToKLSNlbmRpZgogICAgICAgICByZXR1cm4gMDsKIAogICAgIGNh
c2UgWEVOX0RPTUNUTF9kZXN0cm95ZG9tYWluOgpAQCAtNzgzLDYgKzc4NCw0
OSBAQCBzdGF0aWMgaW50IGNmX2NoZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QK
ICAgICAgICAgcmV0dXJuIGZsYXNrX3NoYWRvd19jb250cm9sKGQsIG9wLT51
LnNoYWRvd19vcC5vcCk7CiAjZW5kaWYKIAorI2lmZGVmIENPTkZJR19IQVNf
UEFTU1RIUk9VR0gKKworICAgIGNhc2UgWEVOX0RPTUNUTF90ZXN0X2Fzc2ln
bl9kZXZpY2U6CisgICAgY2FzZSBYRU5fRE9NQ1RMX2Fzc2lnbl9kZXZpY2U6
CisgICAgY2FzZSBYRU5fRE9NQ1RMX2RlYXNzaWduX2RldmljZToKKyAgICAg
ICAgc3dpdGNoICggb3AtPnUuYXNzaWduX2RldmljZS5kZXYgKQorICAgICAg
ICB7CisjaWZkZWYgQ09ORklHX0hBU19QQ0kKKyAgICAgICAgY2FzZSBYRU5f
RE9NQ1RMX0RFVl9QQ0k6CisgICAgICAgICAgICByZXR1cm4gb3AtPmNtZCAh
PSBYRU5fRE9NQ1RMX2RlYXNzaWduX2RldmljZQorICAgICAgICAgICAgICAg
ICAgID8gZmxhc2tfYXNzaWduX2RldmljZSgKKyAgICAgICAgICAgICAgICAg
ICAgICAgICBkLCBvcC0+dS5hc3NpZ25fZGV2aWNlLnUucGNpLm1hY2hpbmVf
c2JkZikKKyAgICAgICAgICAgICAgICAgICA6IGZsYXNrX2RlYXNzaWduX2Rl
dmljZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICBkLCBvcC0+dS5hc3Np
Z25fZGV2aWNlLnUucGNpLm1hY2hpbmVfc2JkZik7CisjZW5kaWYKKworI2lm
ZGVmIENPTkZJR19IQVNfREVWSUNFX1RSRUUKKyAgICAgICAgY2FzZSBYRU5f
RE9NQ1RMX0RFVl9EVDoKKyAgICAgICAgeworICAgICAgICAgICAgc3RydWN0
IGR0X2RldmljZV9ub2RlICpkZXY7CisgICAgICAgICAgICBpbnQgcmV0ID0g
ZHRfZmluZF9ub2RlX2J5X2dwYXRoKG9wLT51LmFzc2lnbl9kZXZpY2UudS5k
dC5wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBvcC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQuc2l6ZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRldik7
CisKKyAgICAgICAgICAgIGlmICggcmV0ICkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gcmV0OworCisgICAgICAgICAgICBvcC0+dS5hc3NpZ25fZGV2aWNl
LnUuZHQuZGV2ID0gZGV2OworCisgICAgICAgICAgICByZXR1cm4gb3AtPmNt
ZCAhPSBYRU5fRE9NQ1RMX2RlYXNzaWduX2RldmljZQorICAgICAgICAgICAg
ICAgICAgID8gZmxhc2tfYXNzaWduX2R0ZGV2aWNlKGQsIGR0X25vZGVfZnVs
bF9uYW1lKGRldikpCisgICAgICAgICAgICAgICAgICAgOiBmbGFza19kZWFz
c2lnbl9kdGRldmljZShkLCBkdF9ub2RlX2Z1bGxfbmFtZShkZXYpKTsKKyAg
ICAgICAgfQorI2VuZGlmCisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAg
ICAgIC8qIFVua25vd24gdHlwZS4gKi8KKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICB9CisgICAgICAgIHJldHVybiBhdmNfdW5rbm93bl9wZXJtaXNz
aW9uKCJhc3NpZ25fZGV2aWNlIiwgb3AtPmNtZCk7CisKKyNlbmRpZiAvKiBD
T05GSUdfSEFTX1BBU1NUSFJPVUdIICovCisKICAgICBjYXNlIFhFTl9ET01D
VExfbWVtX3NoYXJpbmdfb3A6CiAgICAgICAgIHJldHVybiBjdXJyZW50X2hh
c19wZXJtKGQsIFNFQ0NMQVNTX0hWTSwgSFZNX19NRU1fU0hBUklORyk7CiAK
QEAgLTEzOTQsNyArMTQzOCw3IEBAIHN0YXRpYyBpbnQgZmxhc2tfdGVzdF9h
c3NpZ25fZGV2aWNlKHVpbnQKICAgICByZXR1cm4gYXZjX2N1cnJlbnRfaGFz
X3Blcm0ocnNpZCwgU0VDQ0xBU1NfUkVTT1VSQ0UsIFJFU09VUkNFX19TVEFU
X0RFVklDRSwgTlVMTCk7CiB9CiAKLXN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxh
c2tfYXNzaWduX2RldmljZShzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBt
YWNoaW5lX2JkZikKK3N0YXRpYyBpbnQgZmxhc2tfYXNzaWduX2RldmljZShz
dHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBtYWNoaW5lX2JkZikKIHsKICAg
ICB1aW50MzJfdCBkc2lkLCByc2lkOwogICAgIGludCByYyA9IC1FUEVSTTsK
QEAgLTE0MjQsNyArMTQ2OCw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxh
c2tfYXNzaWduX2RldmljZSgKICAgICByZXR1cm4gYXZjX2hhc19wZXJtKGRz
aWQsIHJzaWQsIFNFQ0NMQVNTX1JFU09VUkNFLCBkcGVybSwgJmFkKTsKIH0K
IAotc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kZWFzc2lnbl9kZXZpY2Uo
CitzdGF0aWMgaW50IGZsYXNrX2RlYXNzaWduX2RldmljZSgKICAgICBzdHJ1
Y3QgZG9tYWluICpkLCB1aW50MzJfdCBtYWNoaW5lX2JkZikKIHsKICAgICB1
aW50MzJfdCByc2lkOwpAQCAtMTQ1Niw3ICsxNTAwLDcgQEAgc3RhdGljIGlu
dCBmbGFza190ZXN0X2Fzc2lnbl9kdGRldmljZShjbwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBOVUxMKTsKIH0KIAotc3RhdGljIGludCBj
Zl9jaGVjayBmbGFza19hc3NpZ25fZHRkZXZpY2Uoc3RydWN0IGRvbWFpbiAq
ZCwgY29uc3QgY2hhciAqZHRwYXRoKQorc3RhdGljIGludCBmbGFza19hc3Np
Z25fZHRkZXZpY2Uoc3RydWN0IGRvbWFpbiAqZCwgY29uc3QgY2hhciAqZHRw
YXRoKQogewogICAgIHVpbnQzMl90IGRzaWQsIHJzaWQ7CiAgICAgaW50IHJj
ID0gLUVQRVJNOwpAQCAtMTQ4Niw3ICsxNTMwLDcgQEAgc3RhdGljIGludCBj
Zl9jaGVjayBmbGFza19hc3NpZ25fZHRkZXZpYwogICAgIHJldHVybiBhdmNf
aGFzX3Blcm0oZHNpZCwgcnNpZCwgU0VDQ0xBU1NfUkVTT1VSQ0UsIGRwZXJt
LCAmYWQpOwogfQogCi1zdGF0aWMgaW50IGNmX2NoZWNrIGZsYXNrX2RlYXNz
aWduX2R0ZGV2aWNlKAorc3RhdGljIGludCBmbGFza19kZWFzc2lnbl9kdGRl
dmljZSgKICAgICBzdHJ1Y3QgZG9tYWluICpkLCBjb25zdCBjaGFyICpkdHBh
dGgpCiB7CiAgICAgdWludDMyX3QgcnNpZDsKQEAgLTE5NDcsMTMgKzE5OTEs
NiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHhzbV9vcHMgX19pbml0Y29uc3Rf
CiAKICNpZiBkZWZpbmVkKENPTkZJR19IQVNfUEFTU1RIUk9VR0gpICYmIGRl
ZmluZWQoQ09ORklHX0hBU19QQ0kpCiAgICAgLmdldF9kZXZpY2VfZ3JvdXAg
PSBmbGFza19nZXRfZGV2aWNlX2dyb3VwLAotICAgIC5hc3NpZ25fZGV2aWNl
ID0gZmxhc2tfYXNzaWduX2RldmljZSwKLSAgICAuZGVhc3NpZ25fZGV2aWNl
ID0gZmxhc2tfZGVhc3NpZ25fZGV2aWNlLAotI2VuZGlmCi0KLSNpZiBkZWZp
bmVkKENPTkZJR19IQVNfUEFTU1RIUk9VR0gpICYmIGRlZmluZWQoQ09ORklH
X0hBU19ERVZJQ0VfVFJFRSkKLSAgICAuYXNzaWduX2R0ZGV2aWNlID0gZmxh
c2tfYXNzaWduX2R0ZGV2aWNlLAotICAgIC5kZWFzc2lnbl9kdGRldmljZSA9
IGZsYXNrX2RlYXNzaWduX2R0ZGV2aWNlLAogI2VuZGlmCiAKICAgICAucGxh
dGZvcm1fb3AgPSBmbGFza19wbGF0Zm9ybV9vcCwK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.17-17.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.17-17.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX3NldF90YXJnZXQgd2l0aG91
dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKClRoZSBvbmx5IGxvY2tpbmcgcmVx
dWlyZWQgaGVyZSBpcyB0aGF0IGJldHdlZW4gY2hlY2tpbmcgZC0+dGFyZ2V0
IGFuZApzZXR0aW5nIGl0LiBUbyBhdm9pZCB0aGUgbmVlZCBmb3IgYW4gZXhw
bGljaXQgbG9jaywgdXNlIGNtcHhjaGdwdHIoKSB0bwp1cGRhdGUgZC0+dGFy
Z2V0LgoKTW92ZSB0aGUgaGFuZGxpbmcgbm90IG9ubHkgYWhlYWQgb2YgYWNx
dWlyaW5nIHRoZSBsb2NrLCBidXQgYWxzbyBhaGVhZApvZiB0aGUgWFNNIGNo
ZWNrLCBsZXZlcmFnaW5nIHRoYXQgdGhlIHN1Yi1vcCBoYXMgaXRzIG93biBo
b29rLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIuCgpTaWduZWQtb2ZmLWJ5
OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkFja2VkLWJ5OiBE
YW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+
ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0
cml4LmNvbT4KCi0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMKKysrIGIveGVu
L2NvbW1vbi9kb21jdGwuYwpAQCAtNTE5LDYgKzUxOSwzMCBAQCBsb25nIGRv
X2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlCiAgICAgICAgIGdv
dG8gZG9tY3RsX291dF91bmxvY2tfZG9tb25seTsKICAgICB9CiAKKyAgICBj
YXNlIFhFTl9ET01DVExfc2V0X3RhcmdldDoKKyAgICB7CisgICAgICAgIHN0
cnVjdCBkb21haW4gKmUgPSBnZXRfZG9tYWluX2J5X2lkKG9wLT51LnNldF90
YXJnZXQudGFyZ2V0KTsKKworICAgICAgICByZXQgPSAtRVNSQ0g7CisgICAg
ICAgIGlmICggIWUgKQorICAgICAgICAgICAgZ290byBkb21jdGxfb3V0X3Vu
bG9ja19kb21vbmx5OworCisgICAgICAgIGlmICggZCA9PSBlICkKKyAgICAg
ICAgICAgIHJldCA9IC1FSU5WQUw7CisgICAgICAgIGVsc2UgaWYgKCAhaXNf
aHZtX2RvbWFpbihlKSApCisgICAgICAgICAgICByZXQgPSAtRU9QTk9UU1VQ
UDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0ID0geHNtX3NldF90
YXJnZXQoWFNNX1BSSVYsIGQsIGUpOworCisgICAgICAgIC8qIEhvbGQgcmVm
ZXJlbmNlIG9uIEBlIHVudGlsIHdlIGRlc3Ryb3kgQGQuICovCisgICAgICAg
IGlmICggIXJldCAmJiBjbXB4Y2hncHRyKCZkLT50YXJnZXQsIE5VTEwsIGUp
ICkKKyAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7CisKKyAgICAgICAgaWYg
KCByZXQgKQorICAgICAgICAgICAgcHV0X2RvbWFpbihlKTsKKyAgICAgICAg
Z290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5OworICAgIH0KKwogICAg
IGNhc2UgWEVOX0RPTUNUTF92bV9ldmVudF9vcDoKICAgICAgICAgaWYgKCBv
cC0+dS52bV9ldmVudF9vcC5vcCA9PSBYRU5fVk1fRVZFTlRfR0VUX1ZFUlNJ
T04gKQogICAgICAgICB7CkBAIC04NzUsMzYgKzg5OSw2IEBAIGxvbmcgZG9f
ZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICAgICAgZG9t
YWluX3NldF90aW1lX29mZnNldChkLCBvcC0+dS5zZXR0aW1lb2Zmc2V0LnRp
bWVfb2Zmc2V0X3NlY29uZHMpOwogICAgICAgICBicmVhazsKIAotICAgIGNh
c2UgWEVOX0RPTUNUTF9zZXRfdGFyZ2V0OgotICAgIHsKLSAgICAgICAgc3Ry
dWN0IGRvbWFpbiAqZTsKLQotICAgICAgICByZXQgPSAtRVNSQ0g7Ci0gICAg
ICAgIGUgPSBnZXRfZG9tYWluX2J5X2lkKG9wLT51LnNldF90YXJnZXQudGFy
Z2V0KTsKLSAgICAgICAgaWYgKCBlID09IE5VTEwgKQotICAgICAgICAgICAg
YnJlYWs7Ci0KLSAgICAgICAgcmV0ID0gLUVJTlZBTDsKLSAgICAgICAgaWYg
KCAoZCA9PSBlKSB8fCAoZC0+dGFyZ2V0ICE9IE5VTEwpICkKLSAgICAgICAg
ewotICAgICAgICAgICAgcHV0X2RvbWFpbihlKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0ID0gLUVPUE5PVFNVUFA7
Ci0gICAgICAgIGlmICggaXNfaHZtX2RvbWFpbihlKSApCi0gICAgICAgICAg
ICByZXQgPSB4c21fc2V0X3RhcmdldChYU01fSE9PSywgZCwgZSk7Ci0gICAg
ICAgIGlmICggcmV0ICkKLSAgICAgICAgewotICAgICAgICAgICAgcHV0X2Rv
bWFpbihlKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAg
ICAgICAgLyogSG9sZCByZWZlcmVuY2Ugb24gQGUgdW50aWwgd2UgZGVzdHJv
eSBAZC4gKi8KLSAgICAgICAgZC0+dGFyZ2V0ID0gZTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgfQotCiAgICAgY2FzZSBYRU5fRE9NQ1RMX3N1YnNjcmliZToK
ICAgICAgICAgZC0+c3VzcGVuZF9ldnRjaG4gPSBvcC0+dS5zdWJzY3JpYmUu
cG9ydDsKICAgICAgICAgYnJlYWs7Ci0tLSBhL3hlbi9pbmNsdWRlL3hzbS9k
dW1teS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCkBAIC0xNTAs
NyArMTUwLDcgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhz
bV9zeXNjdAogc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9z
ZXRfdGFyZ2V0KAogICAgIFhTTV9ERUZBVUxUX0FSRyBzdHJ1Y3QgZG9tYWlu
ICpkLCBzdHJ1Y3QgZG9tYWluICplKQogewotICAgIFhTTV9BU1NFUlRfQUNU
SU9OKFhTTV9IT09LKTsKKyAgICBYU01fQVNTRVJUX0FDVElPTihYU01fUFJJ
Vik7CiAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1
cnJlbnQtPmRvbWFpbiwgTlVMTCk7CiB9CiAKQEAgLTE2OCw2ICsxNjgsNyBA
QCBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX2RvbWN0CiAg
ICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNzaW9uOgogICAgIGNh
c2UgWEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9E
T01DVExfbWVtb3J5X21hcHBpbmc6CisgICAgY2FzZSBYRU5fRE9NQ1RMX3Nl
dF90YXJnZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmluZF9wdF9pcnE6
CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAgICAgICByZXR1
cm4gLUVJTFNFUTsKLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5jCisrKyBi
L3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjk5LDE0ICs2OTksMTEgQEAg
c3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0CiAgICAg
Y2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNzaW9uOgogICAgIGNhc2Ug
WEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9ET01D
VExfbWVtb3J5X21hcHBpbmc6CisgICAgY2FzZSBYRU5fRE9NQ1RMX3NldF90
YXJnZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmluZF9wdF9pcnE6CiAg
ICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAgICAgICByZXR1cm4g
LUVJTFNFUTsKIAotICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00g
aG9va3MgKGNvbW1vbi9kb21jdGwuYykgKi8KLSAgICBjYXNlIFhFTl9ET01D
VExfc2V0X3RhcmdldDoKLSAgICAgICAgcmV0dXJuIDA7Ci0KICAgICBjYXNl
IFhFTl9ET01DVExfZGVzdHJveWRvbWFpbjoKICAgICAgICAgcmV0dXJuIGN1
cnJlbnRfaGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9NQUlOLCBET01BSU5fX0RF
U1RST1kpOwogCg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.18-00.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.18-00.patch"
Content-Transfer-Encoding: base64

RnJvbTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgpTdWJqZWN0
OiB4ZW4veHNtOiBtYWtlIGdldGRvbWFpbmluZm8geHNtIGR1bW15IGNoZWNr
cyBtb3JlIHN0cmluZ2VudAoKVG9kYXkgdGhlIGR1bW15IFhTTSBwcml2aWxl
Z2UgY2hlY2tzIGZvciBnZXRkb21haW5pbmZvIGFyZSBsZXNzCnN0cmluZ2Vu
dCB0aGFuIHBvc3NpYmxlOiB0aGV5IGJhc2ljYWxseSByZWx5IG9uIHRoZSBn
ZW5lcmFsCnN5c2N0bC9kb21jdGwgZW50cnkgY2hlY2sgdG8gZG8gYWxsIHRl
c3RzIGFuZCB0aGVuIGRvIHRoZSB0ZXN0IHdpdGgKdGhlIFhTTV9IT09LIHBy
aXZpbGVnZSwgd2hpY2ggaXMgYW4gImFsbG93IGFsbCIgZGVmYXVsdC4KCklu
c3RlYWQgb2YgWFNNX0hPT0sgdXNlIFhTTV9YU19QUklWLCB3aGljaCBpcyB0
aGUgcHJpdmlsZWdlIHJlYWxseQp3YW50ZWQuIE5vdGUgdGhhdCB0aGlzIHRl
c3QgaXMgc3RpbGwgd2lkZXIgdGhhbiB0aGUgc3lzY3RsIGVudHJ5IHRlc3Qs
CmJ1dCB0aGVyZSBpcyBubyBlYXN5IHdheSB0byBtYWtlIGJvdGggZG9tY3Rs
IGFuZCBzeXNjdGwgaGFwcHkgYXQgdGhlCnNhbWUgdGltZS4KClNpZ25lZC1v
ZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KQWNrZWQt
Ynk6IERhbmllbCBQLiBTbWl0aCA8ZHBzbWl0aEBhcGVydHVzc29sdXRpb25z
LmNvbT4KbWFzdGVyIGNvbW1pdDogNTc5M2I4NGM1ZThmYjI2OGY5NGU3ZmRl
NzgxNjc5OWU2Njk0NWE3MwptYXN0ZXIgZGF0ZTogMjAyNC0xMi0xNiAxMzow
Njo1NSArMDEwMAoKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYworKysgYi94
ZW4vY29tbW9uL2RvbWN0bC5jCkBAIC01MzUsNyArNTM1LDcgQEAgbG9uZyBk
b19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICBi
cmVhazsKIAogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRkb21haW5pbmZvOgot
ICAgICAgICByZXQgPSB4c21fZ2V0ZG9tYWluaW5mbyhYU01fSE9PSywgZCk7
CisgICAgICAgIHJldCA9IHhzbV9nZXRkb21haW5pbmZvKFhTTV9YU19QUklW
LCBkKTsKICAgICAgICAgaWYgKCByZXQgKQogICAgICAgICAgICAgYnJlYWs7
CiAKLS0tIGEveGVuL2NvbW1vbi9zeXNjdGwuYworKysgYi94ZW4vY29tbW9u
L3N5c2N0bC5jCkBAIC04OSw3ICs4OSw3IEBAIGxvbmcgZG9fc3lzY3RsKFhF
Tl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICAgICAgICAgIGlmICggbnVt
X2RvbWFpbnMgPT0gb3AtPnUuZ2V0ZG9tYWluaW5mb2xpc3QubWF4X2RvbWFp
bnMgKQogICAgICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgICAgICBp
ZiAoIHhzbV9nZXRkb21haW5pbmZvKFhTTV9IT09LLCBkKSApCisgICAgICAg
ICAgICBpZiAoIHhzbV9nZXRkb21haW5pbmZvKFhTTV9YU19QUklWLCBkKSAp
CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgICAgIGdl
dGRvbWFpbmluZm8oZCwgJmluZm8pOwotLS0gYS94ZW4vaW5jbHVkZS94c20v
ZHVtbXkuaAorKysgYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTM3
LDcgKzEzNyw3IEBAIHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4
c21fZG9tYWkKIHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21f
Z2V0ZG9tYWluaW5mbygKICAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0IGRv
bWFpbiAqZCkKIHsKLSAgICBYU01fQVNTRVJUX0FDVElPTihYU01fSE9PSyk7
CisgICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX1hTX1BSSVYpOwogICAgIHJl
dHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5kb21h
aW4sIGQpOwogfQogCg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.18-01.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.18-01.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBzY2hlZDogdXNlIHNlcXVlbmNlIGNvdW50ZXIgdG8gZW5saWdodGVuIHZj
cHVfcnVuc3RhdGVfZ2V0KCkKClN1YnNlcXVlbnRseSBYRU5fRE9NQ1RMX2dl
dGRvbWFpbmluZm8gd2lsbCB3YW50IHRvIGludm9rZSB0aGUgZnVuY3Rpb24K
d2l0aG91dCBob2xkaW5nIGEgbG9jaywgdGh1cyBhbGxvd2luZyBwYXJhbGxl
bCBleGVjdXRpb24gb2YgcG90ZW50aWFsbHkKbWFueSBpbnN0YW5jZXMuIEFz
IHdhcyBsZWFybmVkIGZyb20gMjI4YWI5OTkyZmZiICgiZG9tY3RsOiBpbXBy
b3ZlCmxvY2tpbmcgZHVyaW5nIGRvbWFpbiBkZXN0cnVjdGlvbiIpLCByZXZl
cnRlZCBieSBkMDg4N2NjNmIxNmUsIHN1Y2gKcGFyYWxsZWxpc20gY2FuIHJl
c3VsdCBpbiBzZXZlcmUgbG9jayBjb250ZW50aW9uIG9uIGFueSAocHJldmlv
dXNseSkKaW5uZXIgbG9jay4gVG8gYXZvaWQgdGFraW5nIHRoYXQgcmlzayBy
ZXBsYWNlIHRoZSB1c2Ugb2YgdGhlIHNjaGVkdWxlcgpsb2NrIGluIHZjcHVf
cnVuc3RhdGVfZ2V0KCkgYnkgYSBuZXdseSBpbnRyb2R1Y2VkIHNlcXVlbmNl
IGNvdW50ZXIuCkNvbnZlcnQgdGhlICJubyBsb2NrIGlmIGN1cnJlbnQiIHBy
b3BlcnR5IHRvICJ1c2UgYSBsb2NhbCBjb3VudGVyCmluc3RhbmNlIiwgdGh1
cyBndWFyYW50ZWVpbmcgdGhlIGxvb3AgdG8gZXhpdCBhZnRlciB0aGUgZmly
c3QgaXRlcmF0aW9uLgoKU2tlbGV0b24gYW5kIGNvbW1lbnRhcnkgb2YgdGhl
IHNlcWNvdW50IGltcGxlbWVudGF0aW9uIGJhc2VkIG9uIC8KZGVyaXZlZCBm
cm9tIExpbnV4IDYuMTEtcmMuCgpUbyBoYXZlIHJ1bnN0YXRlX3NlcSBwbGFj
ZWQgbmV4dCB0byBydW5zdGF0ZSBpbiBzdHJ1Y3QgdmNwdSwgd2l0aG91dApp
bnRyb2R1Y2luZyBhIG5ldyBvYnZpb3VzIHBhZGRpbmcgaG9sZSwgeWV0IHdo
aWxlIGtlZXBpbmcgdGhlIGxhdHRlcgphZGphY2VudCB0byBydW5zdGF0ZV9n
dWVzdHssX2FyZWF9IGFzIHdlbGwsIG1vdmUgcnVuc3RhdGUgZG93biBhIGxp
dHRsZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKUmVxdWVzdGVkLWJ5
OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpT
aWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+
ClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIz
QGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxy
b2dlci5wYXVAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jv
c3MgPGpncm9zc0BzdXNlLmNvbT4KCi0tLSBhL3hlbi9jb21tb24vc2NoZWQv
Y29yZS5jCisrKyBiL3hlbi9jb21tb24vc2NoZWQvY29yZS5jCkBAIC0yODAs
MTMgKzI4MCwxOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgdmNwdV9ydW5zdGF0
ZV9jaGFuZ2UoCiAgICAgfQogCiAgICAgZGVsdGEgPSBuZXdfZW50cnlfdGlt
ZSAtIHYtPnJ1bnN0YXRlLnN0YXRlX2VudHJ5X3RpbWU7Ci0gICAgaWYgKCBk
ZWx0YSA+IDAgKQorCisgICAgLyogU2VyaWFsaXphdGlvbjogLT5zY2hlZHVs
ZV9sb2NrIChzZWUgQVNTRVJUKCkgYWJvdmUpLiAqLworICAgIHdpdGhfc2Vx
X3dyaXRlKCZ2LT5ydW5zdGF0ZV9zZXEpCiAgICAgewotICAgICAgICB2LT5y
dW5zdGF0ZS50aW1lW3YtPnJ1bnN0YXRlLnN0YXRlXSArPSBkZWx0YTsKLSAg
ICAgICAgdi0+cnVuc3RhdGUuc3RhdGVfZW50cnlfdGltZSA9IG5ld19lbnRy
eV90aW1lOwotICAgIH0KKyAgICAgICAgaWYgKCBkZWx0YSA+IDAgKQorICAg
ICAgICB7CisgICAgICAgICAgICB2LT5ydW5zdGF0ZS50aW1lW3YtPnJ1bnN0
YXRlLnN0YXRlXSArPSBkZWx0YTsKKyAgICAgICAgICAgIHYtPnJ1bnN0YXRl
LnN0YXRlX2VudHJ5X3RpbWUgPSBuZXdfZW50cnlfdGltZTsKKyAgICAgICAg
fQogCi0gICAgdi0+cnVuc3RhdGUuc3RhdGUgPSBuZXdfc3RhdGU7CisgICAg
ICAgIHYtPnJ1bnN0YXRlLnN0YXRlID0gbmV3X3N0YXRlOworICAgIH0KIH0K
IAogdm9pZCBzY2hlZF9ndWVzdF9pZGxlKHZvaWQgKCppZGxlKSAodm9pZCks
IHVuc2lnbmVkIGludCBjcHUpCkBAIC0zMDYsMzAgKzMxMSwxOCBAQCB2b2lk
IHNjaGVkX2d1ZXN0X2lkbGUodm9pZCAoKmlkbGUpICh2b2lkCiB2b2lkIHZj
cHVfcnVuc3RhdGVfZ2V0KGNvbnN0IHN0cnVjdCB2Y3B1ICp2LAogICAgICAg
ICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmNwdV9ydW5zdGF0ZV9pbmZvICpy
dW5zdGF0ZSkKIHsKLSAgICBzcGlubG9ja190ICpsb2NrOwotICAgIHNfdGlt
ZV90IGRlbHRhOwotICAgIHN0cnVjdCBzY2hlZF91bml0ICp1bml0OworICAg
IHN0cnVjdCBzZXFjb3VudCBzZXEgPSBTRVFDTlRfWkVSTygpOworICAgIGNv
bnN0IHN0cnVjdCBzZXFjb3VudCAqcyA9IGxpa2VseSh2ID09IGN1cnJlbnQp
ID8gJnNlcSA6ICZ2LT5ydW5zdGF0ZV9zZXE7CiAKLSAgICByY3VfcmVhZF9s
b2NrKCZzY2hlZF9yZXNfcmN1bG9jayk7Ci0KLSAgICAvKgotICAgICAqIEJl
IGNhcmVmdWwgaW4gY2FzZSBvZiBhbiBpZGxlIHZjcHU6IHRoZSBhc3NpZ25t
ZW50IHRvIGEgdW5pdCBtaWdodAotICAgICAqIGNoYW5nZSBldmVuIHdpdGgg
dGhlIHNjaGVkdWxpbmcgbG9jayBoZWxkLCBzbyBiZSBzdXJlIHRvIHVzZSB0
aGUKLSAgICAgKiBjb3JyZWN0IHVuaXQgZm9yIGxvY2tpbmcgaW4gb3JkZXIg
dG8gYXZvaWQgdHJpZ2dlcmluZyBhbiBBU1NFUlQoKSBpbgotICAgICAqIHRo
ZSB1bmxvY2sgZnVuY3Rpb24uCi0gICAgICovCi0gICAgdW5pdCA9IGlzX2lk
bGVfdmNwdSh2KSA/IGdldF9zY2hlZF9yZXModi0+cHJvY2Vzc29yKS0+c2No
ZWRfdW5pdF9pZGxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICA6IHYt
PnNjaGVkX3VuaXQ7Ci0gICAgbG9jayA9IGxpa2VseSh2ID09IGN1cnJlbnQp
ID8gTlVMTCA6IHVuaXRfc2NoZWR1bGVfbG9ja19pcnEodW5pdCk7Ci0gICAg
bWVtY3B5KHJ1bnN0YXRlLCAmdi0+cnVuc3RhdGUsIHNpemVvZigqcnVuc3Rh
dGUpKTsKLSAgICBkZWx0YSA9IE5PVygpIC0gcnVuc3RhdGUtPnN0YXRlX2Vu
dHJ5X3RpbWU7Ci0gICAgaWYgKCBkZWx0YSA+IDAgKQotICAgICAgICBydW5z
dGF0ZS0+dGltZVtydW5zdGF0ZS0+c3RhdGVdICs9IGRlbHRhOwotCi0gICAg
aWYgKCB1bmxpa2VseShsb2NrICE9IE5VTEwpICkKLSAgICAgICAgdW5pdF9z
Y2hlZHVsZV91bmxvY2tfaXJxKGxvY2ssIHVuaXQpOworICAgIHVudGlsX3Nl
cV9yZWFkKHMpCisgICAgeworICAgICAgICBzX3RpbWVfdCBkZWx0YTsKIAot
ICAgIHJjdV9yZWFkX3VubG9jaygmc2NoZWRfcmVzX3JjdWxvY2spOworICAg
ICAgICAqcnVuc3RhdGUgPSB2LT5ydW5zdGF0ZTsKKyAgICAgICAgZGVsdGEg
PSBOT1coKSAtIHJ1bnN0YXRlLT5zdGF0ZV9lbnRyeV90aW1lOworICAgICAg
ICBpZiAoIGRlbHRhID4gMCApCisgICAgICAgICAgICBydW5zdGF0ZS0+dGlt
ZVtydW5zdGF0ZS0+c3RhdGVdICs9IGRlbHRhOworICAgIH0KIH0KIAogdWlu
dDY0X3QgZ2V0X2NwdV9pZGxlX3RpbWUodW5zaWduZWQgaW50IGNwdSkKLS0t
IGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKKysrIGIveGVuL2luY2x1ZGUv
eGVuL3NjaGVkLmgKQEAgLTE2LDYgKzE2LDcgQEAKICNpbmNsdWRlIDx4ZW4v
cmFkaXgtdHJlZS5oPgogI2luY2x1ZGUgPHhlbi9tdWx0aWNhbGwuaD4KICNp
bmNsdWRlIDx4ZW4vbm9zcGVjLmg+CisjaW5jbHVkZSA8eGVuL3NlcWNvdW50
Lmg+CiAjaW5jbHVkZSA8eGVuL3Rhc2tsZXQuaD4KICNpbmNsdWRlIDx4ZW4v
bW0uaD4KICNpbmNsdWRlIDx4ZW4vc21wLmg+CkBAIC0xOTIsNyArMTkzLDYg
QEAgc3RydWN0IHZjcHUKIAogICAgIHN0cnVjdCBzY2hlZF91bml0ICpzY2hl
ZF91bml0OwogCi0gICAgc3RydWN0IHZjcHVfcnVuc3RhdGVfaW5mbyBydW5z
dGF0ZTsKICNpZm5kZWYgQ09ORklHX0NPTVBBVAogIyBkZWZpbmUgcnVuc3Rh
dGVfZ3Vlc3QodikgKCh2KS0+cnVuc3RhdGVfZ3Vlc3QpCiAgICAgWEVOX0dV
RVNUX0hBTkRMRSh2Y3B1X3J1bnN0YXRlX2luZm9fdCkgcnVuc3RhdGVfZ3Vl
c3Q7IC8qIGd1ZXN0IGFkZHJlc3MgKi8KQEAgLTIwNCw2ICsyMDQsOCBAQCBz
dHJ1Y3QgdmNwdQogICAgIH0gcnVuc3RhdGVfZ3Vlc3Q7IC8qIGd1ZXN0IGFk
ZHJlc3MgKi8KICNlbmRpZgogICAgIHN0cnVjdCBndWVzdF9hcmVhIHJ1bnN0
YXRlX2d1ZXN0X2FyZWE7CisgICAgc3RydWN0IHZjcHVfcnVuc3RhdGVfaW5m
byBydW5zdGF0ZTsKKyAgICBzdHJ1Y3Qgc2VxY291bnQgIHJ1bnN0YXRlX3Nl
cTsKICAgICB1bnNpZ25lZCBpbnQgICAgIG5ld19zdGF0ZTsKIAogICAgIC8q
IEhhcyB0aGUgRlBVIGJlZW4gaW5pdGlhbGlzZWQ/ICovCi0tLSAvZGV2L251
bGwKKysrIGIveGVuL2luY2x1ZGUveGVuL3NlcWNvdW50LmgKQEAgLTAsMCAr
MSwxMzkgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w
LW9ubHkgKi8KKyNpZm5kZWYgWEVOX1NFUUNPVU5UX0gKKyNkZWZpbmUgWEVO
X1NFUUNPVU5UX0gKKworI2luY2x1ZGUgPHhlbi9saWIuaD4KKyNpbmNsdWRl
IDx4ZW4vbm9zcGVjLmg+CisKKyNpbmNsdWRlIDxhc20vYXRvbWljLmg+Cisj
aW5jbHVkZSA8YXNtL3N5c3RlbS5oPgorCisvKgorICogU2VxdWVuY2UgY291
bnRlcnMgKHNlcWNvdW50X3QpCisgKgorICogVGhpcyBpcyB0aGUgcmF3IGNv
dW50aW5nIG1lY2hhbmlzbSwgd2l0aG91dCBhbnkgd3JpdGVyIHByb3RlY3Rp
b24uCisgKgorICogV3JpdGUgc2lkZSBjcml0aWNhbCBzZWN0aW9ucyBtdXN0
IGJlIHNlcmlhbGl6ZWQgKGFuZCBub24tcHJlZW1wdGlibGUpLgorICoKKyAq
IElmIHJlYWRlcnMgY2FuIGJlIGludm9rZWQgZnJvbSBpbnRlcnJ1cHQgY29u
dGV4dHMsIGludGVycnVwdHMgbXVzdCBhbHNvCisgKiBiZSByZXNwZWN0aXZl
bHkgZGlzYWJsZWQgYmVmb3JlIGVudGVyaW5nIHRoZSB3cml0ZSBzZWN0aW9u
LgorICoKKyAqIFRoaXMgbWVjaGFuaXNtIGNhbid0IGJlIHVzZWQgaWYgdGhl
IHByb3RlY3RlZCBkYXRhIGNvbnRhaW5zIHBvaW50ZXJzLAorICogYXMgdGhl
IHdyaXRlciBjYW4gaW52YWxpZGF0ZSBhIHBvaW50ZXIgdGhhdCBhIHJlYWRl
ciBpcyBmb2xsb3dpbmcuCisgKi8KK3N0cnVjdCBzZXFjb3VudCB7CisgICAg
dW5zaWduZWQgaW50IHNlcXVlbmNlOworfTsKKworLyoKKyAqIFNFUUNOVF9a
RVJPKCkgLSBpbml0aWFsaXplciBmb3Igc2VxY291bnRfdAorICogQG5hbWU6
IE5hbWUgb2YgdGhlIHN0cnVjdCBzZXFjb3VudCBpbnN0YW5jZQorICovCisj
ZGVmaW5lIFNFUUNOVF9aRVJPKCkgeyAuc2VxdWVuY2UgPSAwIH0KKworc3Rh
dGljIGlubGluZSB1bnNpZ25lZCBpbnQgc2VxcHJvcF9zZXF1ZW5jZShjb25z
dCBzdHJ1Y3Qgc2VxY291bnQgKnMpCit7CisgICAgcmV0dXJuIEFDQ0VTU19P
TkNFKHMtPnNlcXVlbmNlKTsKK30KKworLyoKKyAqIHJlYWRfc2VxY291bnRf
YmVnaW4oKSAtIGJlZ2luIGEgc2VxY291bnQgcmVhZCBjcml0aWNhbCBzZWN0
aW9uCisgKiBAczogUG9pbnRlciB0byBzdHJ1Y3Qgc2VxY291bnQKKyAqCisg
KiBSZXR1cm46IGNvdW50IHRvIGJlIHBhc3NlZCB0byByZWFkX3NlcWNvdW50
X3JldHJ5KCkKKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgX3Jl
YWRfc2VxY291bnRfYmVnaW4oY29uc3Qgc3RydWN0IHNlcWNvdW50ICpzKQor
eworICAgIHVuc2lnbmVkIGludCBzZXE7CisKKyAgICB3aGlsZSAoKHNlcSA9
IHNlcXByb3Bfc2VxdWVuY2UocykpICYgMSkKKyAgICAgICAgY3B1X3JlbGF4
KCk7CisKKyAgICBzbXBfcm1iKCk7CisKKyAgICByZXR1cm4gc2VxOworfQor
CitzdGF0aWMgYWx3YXlzX2lubGluZSB1bnNpZ25lZCBpbnQgcmVhZF9zZXFj
b3VudF9iZWdpbihjb25zdCBzdHJ1Y3Qgc2VxY291bnQgKnMpCit7CisgICAg
dW5zaWduZWQgaW50IHNlcSA9IF9yZWFkX3NlcWNvdW50X2JlZ2luKHMpOwor
CisgICAgYmxvY2tfbG9ja19zcGVjdWxhdGlvbigpOworCisgICAgcmV0dXJu
IHNlcTsKK30KKworLyoKKyAqIHJlYWRfc2VxY291bnRfcmV0cnkoKSAtIGVu
ZCBhIHNlcWNvdW50IHJlYWQgY3JpdGljYWwgc2VjdGlvbgorICogQHM6IFBv
aW50ZXIgdG8gc3RydWN0IHNlcWNvdW50CisgKiBAc3RhcnQ6IGNvdW50LCBm
cm9tIHJlYWRfc2VxY291bnRfYmVnaW4oKQorICoKKyAqIHJlYWRfc2VxY291
bnRfcmV0cnkgY2xvc2VzIHRoZSByZWFkIGNyaXRpY2FsIHNlY3Rpb24gb2Yg
Z2l2ZW4gc3RydWN0CisgKiBzZXFjb3VudC4gIElmIHRoZSBjcml0aWNhbCBz
ZWN0aW9uIHdhcyBpbnZhbGlkLCBpdCBtdXN0IGJlIGlnbm9yZWQKKyAqIChh
bmQgdHlwaWNhbGx5IHJldHJpZWQpLgorICoKKyAqIFJldHVybjogdHJ1ZSBp
ZiBhIHJlYWQgc2VjdGlvbiByZXRyeSBpcyByZXF1aXJlZCwgZWxzZSBmYWxz
ZQorICovCitzdGF0aWMgaW5saW5lIGJvb2wgX3JlYWRfc2VxY291bnRfcmV0
cnkoY29uc3Qgc3RydWN0IHNlcWNvdW50ICpzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBzdGFydCkK
K3sKKyAgICBzbXBfcm1iKCk7CisgICAgcmV0dXJuIHVubGlrZWx5KHNlcXBy
b3Bfc2VxdWVuY2UocykgIT0gc3RhcnQpOworfQorCitzdGF0aWMgYWx3YXlz
X2lubGluZSBib29sIHJlYWRfc2VxY291bnRfcmV0cnkoY29uc3Qgc3RydWN0
IHNlcWNvdW50ICpzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBzdGFydCkKK3sKKyAgICBy
ZXR1cm4gbG9ja19ldmFsdWF0ZV9ub3NwZWMoX3JlYWRfc2VxY291bnRfcmV0
cnkocywgc3RhcnQpKTsKK30KKworLyogTG9vcHMgdW50aWwgYSBjb25zaXN0
ZW50IGNvdW50IGhhcyBiZWVuIG9ic2VydmVkIGFjcm9zcyB0aGUgbG9vcCBi
b2R5LiAqLworI2RlZmluZSB1bnRpbF9zZXFfcmVhZChzZXEpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZvciAoIHVuc2ln
bmVkIGludCByZXRyeV8gPSAxLCBjb3VudF87ICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgICAgIHJldHJ5XyAmJiAoY291bnRfID0gcmVhZF9zZXFj
b3VudF9iZWdpbihzZXEpLCB0cnVlKTsgXAorICAgICAgICAgIHJldHJ5XyA9
IHJlYWRfc2VxY291bnRfcmV0cnkoc2VxLCBjb3VudF8pICkKKworLyoKKyAq
IHdyaXRlX3NlcWNvdW50X2JlZ2luKCkgLSBzdGFydCBhIHN0cnVjdCBzZXFj
b3VudCB3cml0ZSBzaWRlIGNyaXRpY2FsIHNlY3Rpb24KKyAqIEBzOiBQb2lu
dGVyIHRvIHN0cnVjdCBzZXFjb3VudAorICoKKyAqIENvbnRleHQ6IHNlcXVl
bmNlIGNvdW50ZXIgd3JpdGUgc2lkZSBzZWN0aW9ucyBtdXN0IGJlIHNlcmlh
bGl6ZWQuCisgKiBJZiByZWFkZXJzIGNhbiBiZSBpbnZva2VkIGZyb20gaW50
ZXJydXB0IGNvbnRleHQsIGludGVycnVwdHMgbXVzdCBiZQorICogcmVzcGVj
dGl2ZWx5IGRpc2FibGVkLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgd3Jp
dGVfc2VxY291bnRfYmVnaW4oc3RydWN0IHNlcWNvdW50ICpzKQoreworICAg
IGFkZF9zaXplZCgmcy0+c2VxdWVuY2UsIDEpOworICAgIHNtcF93bWIoKTsK
K30KKworLyoKKyAqIHdyaXRlX3NlcWNvdW50X2VuZCgpIC0gZW5kIGEgc3Ry
dWN0IHNlcWNvdW50IHdyaXRlIHNpZGUgY3JpdGljYWwgc2VjdGlvbgorICog
QHM6IFBvaW50ZXIgdG8gc2VxY291bnQKKyAqLworc3RhdGljIGlubGluZSB2
b2lkIHdyaXRlX3NlcWNvdW50X2VuZChzdHJ1Y3Qgc2VxY291bnQgKnMpCit7
CisgICAgc21wX3dtYigpOworICAgIGFkZF9zaXplZCgmcy0+c2VxdWVuY2Us
IDEpOworfQorCisvKgorICogTm90IHJlYWxseSBhIGxvb3AsIGJ1dCB3ZSBu
ZWVkIHdyaXRlX3NlcWNvdW50X3tiZWdpbixlbmR9KCkgaW4gdGhlIGNvcnJl
Y3QKKyAqIHBvc2l0aW9uLgorICovCisjZGVmaW5lIHdpdGhfc2VxX3dyaXRl
KHNlcSkgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZm9yICgg
Ym9vbCBvbmNlXyA9IHRydWU7ICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgICAgb25jZV8gJiYgKHdyaXRlX3NlcWNvdW50X2JlZ2luKHNl
cSksIHRydWUpOyBcCisgICAgICAgICAgKHdyaXRlX3NlcWNvdW50X2VuZChz
ZXEpLCBvbmNlXyA9IGZhbHNlKSApCisKKyNlbmRpZiAvKiBYRU5fU0VRQ09V
TlRfSCAqLworCisvKgorICogTG9jYWwgdmFyaWFibGVzOgorICogbW9kZTog
QworICogYy1maWxlLXN0eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZzZXQ6
IDQKKyAqIHRhYi13aWR0aDogNAorICogaW5kZW50LXRhYnMtbW9kZTogbmls
CisgKiBFbmQ6CisgKi8K

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.18-02.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.18-02.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2dldGRvbWFpbmluZm8gd2l0
aG91dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKCmdldGRvbWFpbmluZm8oKSBp
cyBub3QgY2FsbGVkIHVuZGVyIGNvbnNpc3RlbnRseSB0aGUgc2FtZSBsb2Nr
LiBUaHVzLAp3aXRoIGNhbGxlciBzaWRlIGxvY2tpbmcgaXJyZWxldmFudCwg
aXQgY2FuIGFzIHdlbGwgYmUgY2FsbGVkIHdpdGggdGhlCmRvbWN0bCBsb2Nr
IG5vdCBoZWxkLiAoQ2FsbGVycyBub3QgcGF1c2luZyB0aGUgZG9tYWluIHRo
ZXkgd2FudCB0bwpyZXRyaWV2ZSBpbmZvcm1hdGlvbiBmb3IgYWxyZWFkeSBu
ZWVkIHRvIGJlIGF3YXJlIHRoYXQgbm90IGFsbCBvZiB0aGUKZGF0YSByZXR1
cm5lZCBjYW4gYmUgcmVsaWVkIG9uIGFzIGJlaW5nIGNvbnNpc3RlbnQ7IG1v
c3QgZGF0YSB3aWxsIGFsc28KYmUgc3RhbGUgYnkgdGhlIHRpbWUgdGhlIGNh
bGxlciBnZXRzIHRvIGxvb2sgYXQgaXQuKQoKTW92ZSB0aGUgaGFuZGxpbmcg
bm90IG9ubHkgYWhlYWQgb2YgYWNxdWlyaW5nIHRoZSBsb2NrLCBidXQgYWxz
byBhaGVhZApvZiB0aGUgWFNNIGNoZWNrLCBsZXZlcmFnaW5nIHRoYXQgdGhl
IHN1Yi1vcCBoYXMgaXRzIG93biBob29rLgoKV2hpbGUgbW92aW5nLCBjb252
ZXJ0IGFuIGFzc2lnbm1lbnQgdG8gYW4gYXNzZXJ0aW9uOiBUaGUgZG9tYWlu
IGluCnF1ZXN0aW9uIHdhcyBkZXRlcm1pbmVkIGZyb20gdGhlIGZpZWxkIHdo
aWNoIHByZXZpb3VzbHkgd2FzICJ1cGRhdGVkIi4KClRoaXMgaXMgcGFydCBv
ZiBYU0EtNDkyLgoKRml4ZXM6IDU1MTNiZDBiNDY3NSAoImFkZCB4ZW5zdG9y
ZSBkb21haW4gZmxhZyB0byBoeXBlcnZpc29yIikKUmVwb3J0ZWQtYnk6IEFu
ZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClNpZ25l
ZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2
aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXgu
Y29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0
dXNzb2x1dGlvbnMuY29tPgoKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYwor
KysgYi94ZW4vY29tbW9uL2RvbWN0bC5jCkBAIC0zMTgsNiArMzE4LDI2IEBA
IGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAg
ICAgICAgICAgIHJldHVybiAtRVNSQ0g7CiAgICAgfQogCisgICAgLyogSGFu
ZGxlIHN1Yi1vcHMgbm90IHJlcXVpcmluZyB0aGUgZG9tY3RsIGxvY2suICov
CisgICAgc3dpdGNoICggb3AtPmNtZCApCisgICAgeworICAgIGNhc2UgWEVO
X0RPTUNUTF9nZXRkb21haW5pbmZvOgorICAgICAgICByZXQgPSB4c21fZ2V0
ZG9tYWluaW5mbyhYU01fWFNfUFJJViwgZCk7CisgICAgICAgIGlmICggIXJl
dCApCisgICAgICAgIHsKKyAgICAgICAgICAgIGdldGRvbWFpbmluZm8oZCwg
Jm9wLT51LmdldGRvbWFpbmluZm8pOworCisgICAgICAgICAgICBBU1NFUlQo
b3AtPmRvbWFpbiA9PSBvcC0+dS5nZXRkb21haW5pbmZvLmRvbWFpbik7Cisg
ICAgICAgICAgICBjb3B5YmFjayA9IHRydWU7CisgICAgICAgIH0KKworICAg
ICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CisKKyAgICBk
ZWZhdWx0OgorICAgICAgICAvKiBFdmVyeXRoaW5nIGVsc2UgaGFuZGxlZCBm
dXJ0aGVyIGRvd24uICovCisgICAgICAgIGJyZWFrOworICAgIH0KKwogICAg
IHJldCA9IHhzbV9kb21jdGwoWFNNX09USEVSLCBkLCBvcC0+Y21kLAogICAg
ICAgICAgICAgICAgICAgICAgLyogU1NJRFJlZiBvbmx5IGFwcGxpY2FibGUg
Zm9yIGNtZCA9PSBjcmVhdGVkb21haW4gKi8KICAgICAgICAgICAgICAgICAg
ICAgIG9wLT51LmNyZWF0ZWRvbWFpbi5zc2lkcmVmKTsKQEAgLTUzNCwxNyAr
NTU0LDYgQEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJB
TSh4ZQogICAgICAgICBjb3B5YmFjayA9IDE7CiAgICAgICAgIGJyZWFrOwog
Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2dldGRvbWFpbmluZm86Ci0gICAgICAg
IHJldCA9IHhzbV9nZXRkb21haW5pbmZvKFhTTV9YU19QUklWLCBkKTsKLSAg
ICAgICAgaWYgKCByZXQgKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAg
ICAgZ2V0ZG9tYWluaW5mbyhkLCAmb3AtPnUuZ2V0ZG9tYWluaW5mbyk7Ci0K
LSAgICAgICAgb3AtPmRvbWFpbiA9IG9wLT51LmdldGRvbWFpbmluZm8uZG9t
YWluOwotICAgICAgICBjb3B5YmFjayA9IDE7Ci0gICAgICAgIGJyZWFrOwot
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2dldHZjcHVjb250ZXh0OgogICAgIHsK
ICAgICAgICAgdmNwdV9ndWVzdF9jb250ZXh0X3UgYyA9IHsgLm5hdCA9IE5V
TEwgfTsKLS0tIGEveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKKysrIGIveGVu
L2luY2x1ZGUveHNtL2R1bW15LmgKQEAgLTE3Miw4ICsxNzIsMTEgQEAgc3Rh
dGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9kb21jdAogICAgIGNh
c2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToKICAgICBjYXNlIFhFTl9ET01D
VExfdW5iaW5kX3B0X2lycToKICAgICAgICAgcmV0dXJuIHhzbV9kZWZhdWx0
X2FjdGlvbihYU01fRE1fUFJJViwgY3VycmVudC0+ZG9tYWluLCBkKTsKKwog
ICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRkb21haW5pbmZvOgotICAgICAgICBy
ZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKFhTTV9YU19QUklWLCBjdXJyZW50
LT5kb21haW4sIGQpOworICAgICAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsK
KyAgICAgICAgcmV0dXJuIC1FSUxTRVE7CisKICAgICBkZWZhdWx0OgogICAg
ICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKFhTTV9QUklWLCBjdXJy
ZW50LT5kb21haW4sIGQpOwogICAgIH0KLS0tIGEveGVuL3hzbS9mbGFzay9o
b29rcy5jCisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjc4LDgg
KzY3OCwxMiBAQCBzdGF0aWMgaW50IGNmX2NoZWNrIGZsYXNrX2RvbWN0bChz
dHJ1Y3QKICAgICAgICAgICovCiAgICAgICAgIHJldHVybiBhdmNfY3VycmVu
dF9oYXNfcGVybShzc2lkcmVmLCBTRUNDTEFTU19ET01BSU4sIERPTUFJTl9f
Q1JFQVRFLCBOVUxMKTsKIAotICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVh
bCBYU00gaG9va3MgKGNvbW1vbi9kb21jdGwuYykgKi8KKyAgICAvKiBUaGVz
ZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzIGFuZCBkb24ndCBtYWtlIGl0
IGhlcmUuICovCiAgICAgY2FzZSBYRU5fRE9NQ1RMX2dldGRvbWFpbmluZm86
CisgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOworICAgICAgICByZXR1
cm4gLUVJTFNFUTsKKworICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBY
U00gaG9va3MgKGNvbW1vbi9kb21jdGwuYykgKi8KICAgICBjYXNlIFhFTl9E
T01DVExfc2NoZWR1bGVyX29wOgogICAgIGNhc2UgWEVOX0RPTUNUTF9pcnFf
cGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9ET01DVExfaW9tZW1fcGVybWlz
c2lvbjoK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.18-03.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.18-03.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21haW46IGxvY2tpbmcgZm9yIGlvbWVtX2NhcHMgYWNjZXNzZXMKCklu
IG9yZGVyIHRvIGJlIGFibGUgdG8gcHVsbCBhdCBsZWFzdCB0aGUgWEVOX0RP
TUNUTF9pb21lbV9tYXBwaW5nIGhhbmRsaW5nCm91dCBvZiB0aGUgZG9tY3Rs
LWxvY2tlZCByZWdpb24sIGEgc2VwYXJhdGUgKHBlci1kb21haW4pIGxvY2sg
aXMgbmVlZGVkIHRvCnN5bmNocm9uaXplIGluIHBhcnRpY3VsYXIgd2l0aCBY
RU5fRE9NQ1RMX2lvbWVtX3Blcm1pc3Npb24uCgpMb2NraW5nIGlzIGFkZGVk
IG9ubHkgYXMgZmFyIGFzIGRvbWN0bC1zIGFyZSBhZmZlY3RlZC4gVXNlcyBw
cmVzZW50bHkKb3V0c2lkZSBvZiB0aGUgZG9tY3RsIGxvY2sgbWF5IHdhbnQg
ZGVhbGluZyB3aXRoIHN1YnNlcXVlbnRseSAocGVyaGFwcwpsaW1pdGVkIHRv
IG5vbi1fX2luaXQgY29kZSkuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4K
ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv
bT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBj
aXRyaXguY29tPgoKLS0tIGEveGVuL2NvbW1vbi9kb21haW4uYworKysgYi94
ZW4vY29tbW9uL2RvbWFpbi5jCkBAIC0zMzIsMTAgKzMzMiwxNSBAQCBzdGF0
aWMgaW50IGxhdGVfaHdkb21faW5pdChzdHJ1Y3QgZG9tYWluCiAgICAgICog
bWF5IGJlIG1vZGlmaWVkIGFmdGVyIHRoaXMgaHlwZXJjYWxsIHJldHVybnMg
aWYgYSBtb3JlIGNvbXBsZXgKICAgICAgKiBkZXZpY2UgbW9kZWwgaXMgZGVz
aXJlZC4KICAgICAgKi8KKyAgICB3cml0ZV9sb2NrKCZkb20wLT5jYXBzX2xv
Y2spOwogICAgIHJhbmdlc2V0X3N3YXAoZC0+aXJxX2NhcHMsIGRvbTAtPmly
cV9jYXBzKTsKICAgICByYW5nZXNldF9zd2FwKGQtPmlvbWVtX2NhcHMsIGRv
bTAtPmlvbWVtX2NhcHMpOwogI2lmZGVmIENPTkZJR19YODYKICAgICByYW5n
ZXNldF9zd2FwKGQtPmFyY2guaW9wb3J0X2NhcHMsIGRvbTAtPmFyY2guaW9w
b3J0X2NhcHMpOworI2VuZGlmCisgICAgd3JpdGVfdW5sb2NrKCZkb20wLT5j
YXBzX2xvY2spOworCisjaWZkZWYgQ09ORklHX1g4NgogICAgIHNldHVwX2lv
X2JpdG1hcChkKTsKICAgICBzZXR1cF9pb19iaXRtYXAoZG9tMCk7CiAjZW5k
aWYKQEAgLTYzMSw2ICs2MzYsNyBAQCBzdHJ1Y3QgZG9tYWluICpkb21haW5f
Y3JlYXRlKGRvbWlkX3QgZG9tCiAgICAgc3Bpbl9sb2NrX2luaXRfcHJvZihk
LCBkb21haW5fbG9jayk7CiAgICAgc3Bpbl9sb2NrX2luaXRfcHJvZihkLCBw
YWdlX2FsbG9jX2xvY2spOwogICAgIHNwaW5fbG9ja19pbml0KCZkLT5oeXBl
cmNhbGxfZGVhZGxvY2tfbXV0ZXgpOworICAgIHJ3bG9ja19pbml0KCZkLT5j
YXBzX2xvY2spOwogICAgIElOSVRfUEFHRV9MSVNUX0hFQUQoJmQtPnBhZ2Vf
bGlzdCk7CiAgICAgSU5JVF9QQUdFX0xJU1RfSEVBRCgmZC0+ZXh0cmFfcGFn
ZV9saXN0KTsKICAgICBJTklUX1BBR0VfTElTVF9IRUFEKCZkLT54ZW5wYWdl
X2xpc3QpOwotLS0gYS94ZW4vY29tbW9uL2RvbWN0bC5jCisrKyBiL3hlbi9j
b21tb24vZG9tY3RsLmMKQEAgLTI3OCw2ICsyNzgsMzUgQEAgc3RhdGljIHN0
cnVjdCB2bnVtYV9pbmZvICp2bnVtYV9pbml0KGNvbgogICAgIHJldHVybiBF
UlJfUFRSKHJldCk7CiB9CiAKK3ZvaWQgaW9jYXBzX2RvdWJsZV9sb2NrKHN0
cnVjdCBkb21haW4gKmQsIGJvb2wgd3JpdGUpCit7CisgICAgc3RydWN0IGRv
bWFpbiAqY3VycmQgPSBjdXJyZW50LT5kb21haW47CisKKyAgICBpZiAoIGQt
PmRvbWFpbl9pZCA+IGN1cnJkLT5kb21haW5faWQgKQorICAgICAgICByZWFk
X2xvY2soJmN1cnJkLT5jYXBzX2xvY2spOworCisgICAgaWYgKCB3cml0ZSAp
CisgICAgICAgIHdyaXRlX2xvY2soJmQtPmNhcHNfbG9jayk7CisgICAgZWxz
ZQorICAgICAgICByZWFkX2xvY2soJmQtPmNhcHNfbG9jayk7CisKKyAgICBp
ZiAoIGQtPmRvbWFpbl9pZCA8IGN1cnJkLT5kb21haW5faWQgKQorICAgICAg
ICByZWFkX2xvY2soJmN1cnJkLT5jYXBzX2xvY2spOworfQorCit2b2lkIGlv
Y2Fwc19kb3VibGVfdW5sb2NrKHN0cnVjdCBkb21haW4gKmQsIGJvb2wgd3Jp
dGUpCit7CisgICAgc3RydWN0IGRvbWFpbiAqY3VycmQgPSBjdXJyZW50LT5k
b21haW47CisKKyAgICBpZiAoIGQgIT0gY3VycmQgKQorICAgICAgICByZWFk
X3VubG9jaygmY3VycmQtPmNhcHNfbG9jayk7CisKKyAgICBpZiAoIHdyaXRl
ICkKKyAgICAgICAgd3JpdGVfdW5sb2NrKCZkLT5jYXBzX2xvY2spOworICAg
IGVsc2UKKyAgICAgICAgcmVhZF91bmxvY2soJmQtPmNhcHNfbG9jayk7Cit9
CisKIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGVu
X2RvbWN0bF90KSB1X2RvbWN0bCkKIHsKICAgICBsb25nIHJldCA9IDA7CkBA
IC02ODksNiArNzE4LDggQEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hB
TkRMRV9QQVJBTSh4ZQogICAgICAgICBpZiAoIChtZm4gKyBucl9tZm5zIC0g
MSkgPCBtZm4gKSAvKiB3cmFwPyAqLwogICAgICAgICAgICAgYnJlYWs7CiAK
KyAgICAgICAgaW9jYXBzX2RvdWJsZV9sb2NrKGQsIHRydWUpOworCiAgICAg
ICAgIGlmICggIWlvbWVtX2FjY2Vzc19wZXJtaXR0ZWQoY3VycmVudC0+ZG9t
YWluLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1m
biwgbWZuICsgbnJfbWZucyAtIDEpIHx8CiAgICAgICAgICAgICAgeHNtX2lv
bWVtX3Blcm1pc3Npb24oWFNNX0hPT0ssIGQsIG1mbiwgbWZuICsgbnJfbWZu
cyAtIDEsIGFsbG93KSApCkBAIC02OTcsNiArNzI4LDggQEAgbG9uZyBkb19k
b21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICAgICAg
cmV0ID0gaW9tZW1fcGVybWl0X2FjY2VzcyhkLCBtZm4sIG1mbiArIG5yX21m
bnMgLSAxKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmV0ID0gaW9t
ZW1fZGVueV9hY2Nlc3MoZCwgbWZuLCBtZm4gKyBucl9tZm5zIC0gMSk7CisK
KyAgICAgICAgaW9jYXBzX2RvdWJsZV91bmxvY2soZCwgdHJ1ZSk7CiAgICAg
ICAgIGJyZWFrOwogICAgIH0KIApAQCAtNzIxLDE5ICs3NTQsMTUgQEAgbG9u
ZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAg
ICAgICAgYnJlYWs7CiAjZW5kaWYKIAorICAgICAgICBpb2NhcHNfZG91Ymxl
X2xvY2soZCwgZmFsc2UpOworCiAgICAgICAgIHJldCA9IC1FUEVSTTsKICAg
ICAgICAgaWYgKCAhaW9tZW1fYWNjZXNzX3Blcm1pdHRlZChjdXJyZW50LT5k
b21haW4sIG1mbiwgbWZuX2VuZCkgfHwKLSAgICAgICAgICAgICAhaW9tZW1f
YWNjZXNzX3Blcm1pdHRlZChkLCBtZm4sIG1mbl9lbmQpICkKLSAgICAgICAg
ICAgIGJyZWFrOwotCi0gICAgICAgIHJldCA9IHhzbV9pb21lbV9tYXBwaW5n
KFhTTV9IT09LLCBkLCBtZm4sIG1mbl9lbmQsIGFkZCk7Ci0gICAgICAgIGlm
ICggcmV0ICkKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIGlmICgg
IXBhZ2luZ19tb2RlX3RyYW5zbGF0ZShkKSApCi0gICAgICAgICAgICBicmVh
azsKLQotICAgICAgICBpZiAoIGFkZCApCisgICAgICAgICAgICAgIWlvbWVt
X2FjY2Vzc19wZXJtaXR0ZWQoZCwgbWZuLCBtZm5fZW5kKSB8fAorICAgICAg
ICAgICAgIChyZXQgPSB4c21faW9tZW1fbWFwcGluZyhYU01fSE9PSywgZCwg
bWZuLCBtZm5fZW5kLCBhZGQpKSB8fAorICAgICAgICAgICAgICFwYWdpbmdf
bW9kZV90cmFuc2xhdGUoZCkgKQorICAgICAgICAgICAgLyogTm90aGluZy4g
Ki87CisgICAgICAgIGVsc2UgaWYgKCBhZGQgKQogICAgICAgICB7CiAgICAg
ICAgICAgICBwcmludGsoWEVOTE9HX0dfREVCVUcKICAgICAgICAgICAgICAg
ICAgICAibWVtb3J5X21hcDphZGQ6IGRvbSVkIGdmbj0lbHggbWZuPSVseCBu
cj0lbHhcbiIsCkBAIC03NTcsNiArNzg2LDggQEAgbG9uZyBkb19kb21jdGwo
WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICAgICAgICAgICAg
ICAgICAibWVtb3J5X21hcDogZXJyb3IgJWxkIHJlbW92aW5nIGRvbSVkIGFj
Y2VzcyB0byBbJWx4LCVseF1cbiIsCiAgICAgICAgICAgICAgICAgICAgICAg
IHJldCwgZC0+ZG9tYWluX2lkLCBtZm4sIG1mbl9lbmQpOwogICAgICAgICB9
CisKKyAgICAgICAgaW9jYXBzX2RvdWJsZV91bmxvY2soZCwgZmFsc2UpOwog
ICAgICAgICBicmVhazsKICAgICB9CiAKLS0tIGEveGVuL2luY2x1ZGUveGVu
L2lvY2FwLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL2lvY2FwLmgKQEAgLTEy
LDYgKzEyLDkgQEAKICNpbmNsdWRlIDxhc20vaW9jYXAuaD4KICNpbmNsdWRl
IDxhc20vcDJtLmg+CiAKK3ZvaWQgaW9jYXBzX2RvdWJsZV9sb2NrKHN0cnVj
dCBkb21haW4gKmQsIGJvb2wgd3JpdGUpOwordm9pZCBpb2NhcHNfZG91Ymxl
X3VubG9jayhzdHJ1Y3QgZG9tYWluICpkLCBib29sIHdyaXRlKTsKKwogc3Rh
dGljIGlubGluZSBpbnQgaW9tZW1fcGVybWl0X2FjY2VzcyhzdHJ1Y3QgZG9t
YWluICpkLCB1bnNpZ25lZCBsb25nIHMsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZSkKIHsKLS0tIGEv
eGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKKysrIGIveGVuL2luY2x1ZGUveGVu
L3NjaGVkLmgKQEAgLTQ5Myw2ICs0OTMsNyBAQCBzdHJ1Y3QgZG9tYWluCiAj
ZW5kaWYKIAogICAgIC8qIEkvTyBjYXBhYmlsaXRpZXMgKGFjY2VzcyB0byBJ
UlFzIGFuZCBtZW1vcnktbWFwcGVkIEkvTykuICovCisgICAgcndsb2NrX3Qg
ICAgICAgICBjYXBzX2xvY2s7CiAgICAgc3RydWN0IHJhbmdlc2V0ICppb21l
bV9jYXBzOwogICAgIHN0cnVjdCByYW5nZXNldCAqaXJxX2NhcHM7CiAK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.18-04.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.18-04.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvZG9tYWluOiBsb2NraW5nIGZvciBpb3BvcnRfY2FwcyBhY2Nlc3Nl
cwoKSW4gb3JkZXIgdG8gYmUgYWJsZSB0byBwdWxsIGF0IGxlYXN0IHRoZSBY
RU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nCmhhbmRsaW5nIG91dCBvZiB0aGUg
ZG9tY3RsLWxvY2tlZCByZWdpb24sIHRoZSBuZXcgc2VwYXJhdGUgKHBlci1k
b21haW4pCmxvY2sgaXMgdXNlZCB0byBzeW5jaHJvbml6ZSBpbiBwYXJ0aWN1
bGFyIHdpdGgKWEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbi4KCkxvY2tp
bmcgaXMgYWRkZWQgb25seSBhcyBmYXIgYXMgZG9tY3RsLXMgYXJlIGFmZmVj
dGVkLiBVc2VzIHByZXNlbnRseQpvdXRzaWRlIG9mIHRoZSBkb21jdGwgbG9j
ayBtYXkgd2FudCBkZWFsaW5nIHdpdGggc3Vic2VxdWVudGx5IChwZXJoYXBz
CmxpbWl0ZWQgdG8gbm9uLV9faW5pdCBjb2RlKS4KClRoaXMgaXMgcGFydCBv
ZiBYU0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8
cm9nZXIucGF1QGNpdHJpeC5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvZG9t
Y3RsLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWN0bC5jCkBAIC0yMjUsNiAr
MjI1LDggQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgKICAgICAgICAgdW5zaWdu
ZWQgaW50IG5wID0gZG9tY3RsLT51LmlvcG9ydF9wZXJtaXNzaW9uLm5yX3Bv
cnRzOwogICAgICAgICBpbnQgYWxsb3cgPSBkb21jdGwtPnUuaW9wb3J0X3Bl
cm1pc3Npb24uYWxsb3dfYWNjZXNzOwogCisgICAgICAgIGlvY2Fwc19kb3Vi
bGVfbG9jayhkLCB0cnVlKTsKKwogICAgICAgICBpZiAoIChmcCArIG5wKSA8
PSBmcCB8fCAoZnAgKyBucCkgPiBNQVhfSU9QT1JUUyApCiAgICAgICAgICAg
ICByZXQgPSAtRUlOVkFMOwogICAgICAgICBlbHNlIGlmICggIWlvcG9ydHNf
YWNjZXNzX3Blcm1pdHRlZChjdXJyZCwgZnAsIGZwICsgbnAgLSAxKSB8fApA
QCAtMjM0LDYgKzIzNiw4IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoCiAgICAg
ICAgICAgICByZXQgPSBpb3BvcnRzX3Blcm1pdF9hY2Nlc3MoZCwgZnAsIGZw
ICsgbnAgLSAxKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmV0ID0g
aW9wb3J0c19kZW55X2FjY2VzcyhkLCBmcCwgZnAgKyBucCAtIDEpOworCisg
ICAgICAgIGlvY2Fwc19kb3VibGVfdW5sb2NrKGQsIHRydWUpOwogICAgICAg
ICBicmVhazsKICAgICB9CiAKQEAgLTYwNCwxNiArNjA4LDEzIEBAIGxvbmcg
YXJjaF9kb19kb21jdGwoCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogCi0gICAgICAgIHJldCA9IC1FUEVSTTsKLSAgICAgICAgaWYgKCAhaW9w
b3J0c19hY2Nlc3NfcGVybWl0dGVkKGN1cnJkLCBmbXAsIGZtcCArIG5wIC0g
MSkgKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgcmV0ID0geHNt
X2lvcG9ydF9tYXBwaW5nKFhTTV9IT09LLCBkLCBmbXAsIGZtcCArIG5wIC0g
MSwgYWRkKTsKLSAgICAgICAgaWYgKCByZXQgKQotICAgICAgICAgICAgYnJl
YWs7Ci0KICAgICAgICAgaHZtID0gJmQtPmFyY2guaHZtOwotICAgICAgICBp
ZiAoIGFkZCApCisgICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCB0cnVl
KTsKKworICAgICAgICBpZiAoICFpb3BvcnRzX2FjY2Vzc19wZXJtaXR0ZWQo
Y3VycmQsIGZtcCwgZm1wICsgbnAgLSAxKSB8fAorICAgICAgICAgICAgIChy
ZXQgPSB4c21faW9wb3J0X21hcHBpbmcoWFNNX0hPT0ssIGQsIGZtcCwgZm1w
ICsgbnAgLSAxLCBhZGQpKSApCisgICAgICAgICAgICByZXQgPSByZXQgPzog
LUVQRVJNOworICAgICAgICBlbHNlIGlmICggYWRkICkKICAgICAgICAgewog
ICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0lORk8KICAgICAgICAgICAg
ICAgICAgICAiaW9wb3J0X21hcDphZGQ6IGRvbSVkIGdwb3J0PSV4IG1wb3J0
PSV4IG5yPSV4XG4iLApAQCAtNjc0LDYgKzY3Niw4IEBAIGxvbmcgYXJjaF9k
b19kb21jdGwoCiAgICAgICAgICAgICAgICAgICAgICAgICJpb3BvcnRfbWFw
OiBlcnJvciAlbGQgZGVueWluZyBkb20lZCBhY2Nlc3MgdG8gWyV4LCV4XVxu
IiwKICAgICAgICAgICAgICAgICAgICAgICAgcmV0LCBkLT5kb21haW5faWQs
IGZtcCwgZm1wICsgbnAgLSAxKTsKICAgICAgICAgfQorCisgICAgICAgIGlv
Y2Fwc19kb3VibGVfdW5sb2NrKGQsIHRydWUpOwogICAgICAgICBicmVhazsK
ICAgICB9CiAKLS0tIGEveGVuL2FyY2gveDg2L3NldHVwLmMKKysrIGIveGVu
L2FyY2gveDg2L3NldHVwLmMKQEAgLTIxNTAsOSArMjE1MCwxMiBAQCB2b2lk
IF9faHdkb21faW5pdCBzZXR1cF9pb19iaXRtYXAoc3RydWN0CiAgICAgICAg
IHJldHVybjsKIAogICAgIGJpdG1hcF9maWxsKGQtPmFyY2guaHZtLmlvX2Jp
dG1hcCwgMHgxMDAwMCk7CisKKyAgICByZWFkX2xvY2soJmQtPmNhcHNfbG9j
ayk7CiAgICAgaWYgKCByYW5nZXNldF9yZXBvcnRfcmFuZ2VzKGQtPmFyY2gu
aW9wb3J0X2NhcHMsIDAsIDB4MTAwMDAsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlvX2JpdG1hcF9jYiwgZCkgKQogICAgICAgICBCVUco
KTsKKyAgICByZWFkX3VubG9jaygmZC0+Y2Fwc19sb2NrKTsKIAogICAgIC8q
CiAgICAgICogV2UgbmVlZCB0byB0cmFwIDQtYnl0ZSBhY2Nlc3NlcyB0byAw
eGNmOCAoc2VlIGFkbWluX2lvX29rYXkoKSwK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.18-05.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.18-05.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21haW46IGxvY2tpbmcgZm9yIGlycV9jYXBzIGFjY2Vzc2VzCgpJbiBv
cmRlciB0byBiZSBhYmxlIHRvIHB1bGwgYXQgbGVhc3QgdGhlIFhFTl9ET01D
VExfeyx1bn1iaW5kX3B0X2lycQpoYW5kbGluZyBvdXQgb2YgdGhlIGRvbWN0
bC1sb2NrZWQgcmVnaW9uLCBhIHNlcGFyYXRlIChwZXItZG9tYWluKSBsb2Nr
IGlzCm5lZWRlZCB0byBzeW5jaHJvbml6ZSBpbiBwYXJ0aWN1bGFyIHdpdGgg
WEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbi4KCkxvY2tpbmcgaXMgYWRkZWQg
b25seSBhcyBmYXIgYXMgZG9tY3RsLXMgYXJlIGFmZmVjdGVkLiBVc2VzIHBy
ZXNlbnRseQpvdXRzaWRlIG9mIHRoZSBkb21jdGwgbG9jayBtYXkgd2FudCBk
ZWFsaW5nIHdpdGggc3Vic2VxdWVudGx5IChwZXJoYXBzCmxpbWl0ZWQgdG8g
bm9uLV9faW5pdCBjb2RlKS4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoK
U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
PgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNp
dHJpeC5jb20+ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4
ZW4ub3JnPgoKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWN0bC5jCisrKyBiL3hl
bi9hcmNoL2FybS9kb21jdGwuYwpAQCAtNzUsNiArNzUsNyBAQCBsb25nIGFy
Y2hfZG9fZG9tY3RsKHN0cnVjdCB4ZW5fZG9tY3RsICpkCiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgogICAgIHsKICAgICAgICAgaW50IHJj
OworICAgICAgICBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1cnJlbnQtPmRv
bWFpbjsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfYmluZF9wdF9pcnEg
KmJpbmQgPSAmZG9tY3RsLT51LmJpbmRfcHRfaXJxOwogICAgICAgICB1aW50
MzJfdCBpcnEgPSBiaW5kLT51LnNwaS5zcGk7CiAgICAgICAgIHVpbnQzMl90
IHZpcnEgPSBiaW5kLT5tYWNoaW5lX2lycTsKQEAgLTEwNiwyMSArMTA3LDI2
IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoc3RydWN0IHhlbl9kb21jdGwgKmQK
ICAgICAgICAgaWYgKCByYyApCiAgICAgICAgICAgICByZXR1cm4gcmM7CiAK
LSAgICAgICAgaWYgKCAhaXJxX2FjY2Vzc19wZXJtaXR0ZWQoY3VycmVudC0+
ZG9tYWluLCBpcnEpICkKLSAgICAgICAgICAgIHJldHVybiAtRVBFUk07Cisg
ICAgICAgIHJlYWRfbG9jaygmY3VycmQtPmNhcHNfbG9jayk7CiAKLSAgICAg
ICAgaWYgKCAhdmdpY19yZXNlcnZlX3ZpcnEoZCwgdmlycSkgKQotICAgICAg
ICAgICAgcmV0dXJuIC1FQlVTWTsKLQotICAgICAgICByYyA9IHJvdXRlX2ly
cV90b19ndWVzdChkLCB2aXJxLCBpcnEsICJyb3V0ZWQgSVJRIik7Ci0gICAg
ICAgIGlmICggcmMgKQotICAgICAgICAgICAgdmdpY19mcmVlX3ZpcnEoZCwg
dmlycSk7CisgICAgICAgIGlmICggIWlycV9hY2Nlc3NfcGVybWl0dGVkKGN1
cnJkLCBpcnEpICkKKyAgICAgICAgICAgIHJjID0gLUVQRVJNOworICAgICAg
ICBlbHNlIGlmICggIXZnaWNfcmVzZXJ2ZV92aXJxKGQsIHZpcnEpICkKKyAg
ICAgICAgICAgIHJjID0gLUVCVVNZOworICAgICAgICBlbHNlCisgICAgICAg
IHsKKyAgICAgICAgICAgIHJjID0gcm91dGVfaXJxX3RvX2d1ZXN0KGQsIHZp
cnEsIGlycSwgInJvdXRlZCBJUlEiKTsKKyAgICAgICAgICAgIGlmICggcmMg
KQorICAgICAgICAgICAgICAgIHZnaWNfZnJlZV92aXJxKGQsIHZpcnEpOwor
ICAgICAgICB9CiAKKyAgICAgICAgcmVhZF91bmxvY2soJmN1cnJkLT5jYXBz
X2xvY2spOwogICAgICAgICByZXR1cm4gcmM7CiAgICAgfQogICAgIGNhc2Ug
WEVOX0RPTUNUTF91bmJpbmRfcHRfaXJxOgogICAgIHsKICAgICAgICAgaW50
IHJjOworICAgICAgICBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1cnJlbnQt
PmRvbWFpbjsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfYmluZF9wdF9p
cnEgKmJpbmQgPSAmZG9tY3RsLT51LmJpbmRfcHRfaXJxOwogICAgICAgICB1
aW50MzJfdCBpcnEgPSBiaW5kLT51LnNwaS5zcGk7CiAgICAgICAgIHVpbnQz
Ml90IHZpcnEgPSBiaW5kLT5tYWNoaW5lX2lycTsKQEAgLTEzNywxNiArMTQz
LDE1IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoc3RydWN0IHhlbl9kb21jdGwg
KmQKICAgICAgICAgaWYgKCByYyApCiAgICAgICAgICAgICByZXR1cm4gcmM7
CiAKLSAgICAgICAgaWYgKCAhaXJxX2FjY2Vzc19wZXJtaXR0ZWQoY3VycmVu
dC0+ZG9tYWluLCBpcnEpICkKLSAgICAgICAgICAgIHJldHVybiAtRVBFUk07
Ci0KLSAgICAgICAgcmMgPSByZWxlYXNlX2d1ZXN0X2lycShkLCB2aXJxKTsK
LSAgICAgICAgaWYgKCByYyApCi0gICAgICAgICAgICByZXR1cm4gcmM7Cisg
ICAgICAgIHJlYWRfbG9jaygmY3VycmQtPmNhcHNfbG9jayk7CiAKLSAgICAg
ICAgdmdpY19mcmVlX3ZpcnEoZCwgdmlycSk7CisgICAgICAgIGlmICggIWly
cV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJkLCBpcnEpICkKKyAgICAgICAgICAg
IHJjID0gLUVQRVJNOworICAgICAgICBlbHNlIGlmICggIShyYyA9IHJlbGVh
c2VfZ3Vlc3RfaXJxKGQsIHZpcnEpKSApCisgICAgICAgICAgICB2Z2ljX2Zy
ZWVfdmlycShkLCB2aXJxKTsKIAotICAgICAgICByZXR1cm4gMDsKKyAgICAg
ICAgcmVhZF91bmxvY2soJmN1cnJkLT5jYXBzX2xvY2spOworICAgICAgICBy
ZXR1cm4gcmM7CiAgICAgfQogCiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Z1YXJ0
X29wOgotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVuL2Fy
Y2gveDg2L2RvbWN0bC5jCkBAIC01MzUsMjAgKzUzNSwyNyBAQCBsb25nIGFy
Y2hfZG9fZG9tY3RsKAogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAg
aXJxID0gZG9tYWluX3BpcnFfdG9faXJxKGQsIGJpbmQtPm1hY2hpbmVfaXJx
KTsKLSAgICAgICAgcmV0ID0gLUVQRVJNOwotICAgICAgICBpZiAoIGlycSA8
PSAwIHx8ICFpcnFfYWNjZXNzX3Blcm1pdHRlZChjdXJyZCwgaXJxKSApCi0g
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgaWYgKCBpcnEgPD0gMCApCisg
ICAgICAgICAgICByZXQgPSAtRVBFUk07CisKKyAgICAgICAgcmVhZF9sb2Nr
KCZjdXJyZC0+Y2Fwc19sb2NrKTsKIAotICAgICAgICByZXQgPSAtRVNSQ0g7
Ci0gICAgICAgIGlmICggaXNfaW9tbXVfZW5hYmxlZChkKSApCisgICAgICAg
IGlmICggIWlycV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJkLCBpcnEpICkKKyAg
ICAgICAgICAgIHJldCA9IC1FUEVSTTsKKyAgICAgICAgZWxzZSBpZiAoIGlz
X2lvbW11X2VuYWJsZWQoZCkgKQogICAgICAgICB7CiAgICAgICAgICAgICBw
Y2lkZXZzX2xvY2soKTsKICAgICAgICAgICAgIHJldCA9IHB0X2lycV9jcmVh
dGVfYmluZChkLCBiaW5kKTsKICAgICAgICAgICAgIHBjaWRldnNfdW5sb2Nr
KCk7CisKKyAgICAgICAgICAgIGlmICggcmV0IDwgMCApCisgICAgICAgICAg
ICAgICAgcHJpbnRrKFhFTkxPR19HX0VSUiAicHRfaXJxX2NyZWF0ZV9iaW5k
IGZhaWxlZCAoJWxkKSBmb3IgJXBkXG4iLAorICAgICAgICAgICAgICAgICAg
ICAgICByZXQsIGQpOwogICAgICAgICB9Ci0gICAgICAgIGlmICggcmV0IDwg
MCApCi0gICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfRVJSICJwdF9pcnFf
Y3JlYXRlX2JpbmQgZmFpbGVkICglbGQpIGZvciBkb20lZFxuIiwKLSAgICAg
ICAgICAgICAgICAgICByZXQsIGQtPmRvbWFpbl9pZCk7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIHJldCA9IC1FU1JDSDsKKworICAgICAgICByZWFk
X3VubG9jaygmY3VycmQtPmNhcHNfbG9jayk7CiAgICAgICAgIGJyZWFrOwog
ICAgIH0KIApAQCAtNTYxLDIzICs1NjgsMjYgQEAgbG9uZyBhcmNoX2RvX2Rv
bWN0bCgKICAgICAgICAgaWYgKCAhaXNfaHZtX2RvbWFpbihkKSApCiAgICAg
ICAgICAgICBicmVhazsKIAotICAgICAgICByZXQgPSAtRVBFUk07Ci0gICAg
ICAgIGlmICggaXJxIDw9IDAgfHwgIWlycV9hY2Nlc3NfcGVybWl0dGVkKGN1
cnJkLCBpcnEpICkKLSAgICAgICAgICAgIGJyZWFrOwotCiAgICAgICAgIHJl
dCA9IHhzbV91bmJpbmRfcHRfaXJxKFhTTV9IT09LLCBkLCBiaW5kKTsKICAg
ICAgICAgaWYgKCByZXQgKQogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAg
ICAgaWYgKCBpc19pb21tdV9lbmFibGVkKGQpICkKKyAgICAgICAgcmVhZF9s
b2NrKCZjdXJyZC0+Y2Fwc19sb2NrKTsKKworICAgICAgICBpZiAoICFpcnFf
YWNjZXNzX3Blcm1pdHRlZChjdXJyZCwgaXJxKSApCisgICAgICAgICAgICBy
ZXQgPSAtRVBFUk07CisgICAgICAgIGVsc2UgaWYgKCBpc19pb21tdV9lbmFi
bGVkKGQpICkKICAgICAgICAgewogICAgICAgICAgICAgcGNpZGV2c19sb2Nr
KCk7CiAgICAgICAgICAgICByZXQgPSBwdF9pcnFfZGVzdHJveV9iaW5kKGQs
IGJpbmQpOwogICAgICAgICAgICAgcGNpZGV2c191bmxvY2soKTsKKworICAg
ICAgICAgICAgaWYgKCByZXQgPCAwICkKKyAgICAgICAgICAgICAgICBwcmlu
dGsoWEVOTE9HX0dfRVJSICJwdF9pcnFfZGVzdHJveV9iaW5kIGZhaWxlZCAo
JWxkKSBmb3IgJXBkXG4iLAorICAgICAgICAgICAgICAgICAgICAgICByZXQs
IGQpOwogICAgICAgICB9Ci0gICAgICAgIGlmICggcmV0IDwgMCApCi0gICAg
ICAgICAgICBwcmludGsoWEVOTE9HX0dfRVJSICJwdF9pcnFfZGVzdHJveV9i
aW5kIGZhaWxlZCAoJWxkKSBmb3IgZG9tJWRcbiIsCi0gICAgICAgICAgICAg
ICAgICAgcmV0LCBkLT5kb21haW5faWQpOworCisgICAgICAgIHJlYWRfdW5s
b2NrKCZjdXJyZC0+Y2Fwc19sb2NrKTsKICAgICAgICAgYnJlYWs7CiAgICAg
fQogCi0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMKKysrIGIveGVuL2NvbW1v
bi9kb21jdGwuYwpAQCAtNjk4LDYgKzY5OCw5IEBAIGxvbmcgZG9fZG9tY3Rs
KFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICAgICAgICAgIHJldCA9
IC1FSU5WQUw7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorCisg
ICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCB0cnVlKTsKKwogICAgICAg
ICBpcnEgPSBwaXJxX2FjY2Vzc19wZXJtaXR0ZWQoY3VycmVudC0+ZG9tYWlu
LCBwaXJxKTsKICAgICAgICAgaWYgKCAhaXJxIHx8IHhzbV9pcnFfcGVybWlz
c2lvbihYU01fSE9PSywgZCwgaXJxLCBhbGxvdykgKQogICAgICAgICAgICAg
cmV0ID0gLUVQRVJNOwpAQCAtNzA1LDYgKzcwOCw4IEBAIGxvbmcgZG9fZG9t
Y3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICAgICAgICAgIHJl
dCA9IGlycV9wZXJtaXRfYWNjZXNzKGQsIGlycSk7CiAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgIHJldCA9IGlycV9kZW55X2FjY2VzcyhkLCBpcnEpOwor
CisgICAgICAgIGlvY2Fwc19kb3VibGVfdW5sb2NrKGQsIHRydWUpOwogICAg
ICAgICBicmVhazsKICAgICB9CiAK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.18-06.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.18-06.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBYU00vRmxhc2s6IHNwbGl0IHRoZSAuaW9tZW1fbWFwcGluZygpIGhvb2sK
Ckl0J3MgdXNlZCB0d2ljZSBpbiBlbnRpcmVseSBkaWZmZXJlbnQgc2l0dWF0
aW9ucy4gVGhlIHVzZSBpbiBkb19kb21jdGwoKQp3YW50cyB0byBiZWNvbWUg
YW4gb3JkaW5hcnkgWFNNX0RNX1BSSVYgaW52b2NhdGlvbiwgd2hpbGUgdGhl
IG9uZSBpbiB2UENJCmNvZGUgbmVlZCB0byByZW1haW4gWFNNX0hPT0sgKGl0
IG1heSBwbGF1c2libHkgYmVjb21lIFhTTV9UQVJHRVQpLiBGb3IKRmxhc2ss
IHRoZSBzYW1lIGJhY2tpbmcgZnVuY3Rpb24gd2lsbCBjb250aW51ZSB0byBi
ZSB1c2VkIGZvciB0aGUgdGltZQpiZWluZy4KClRoaXMgaXMgcGFydCBvZiBY
U0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRo
QGFwZXJ0dXNzb2x1dGlvbnMuY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvdnBj
aS9oZWFkZXIuYworKysgYi94ZW4vZHJpdmVycy92cGNpL2hlYWRlci5jCkBA
IC01NCw3ICs1NCw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgbWFwX3Jhbmdl
KAogICAgICAgICAgICAgcmV0dXJuIC1FUEVSTTsKICAgICAgICAgfQogCi0g
ICAgICAgIHJjID0geHNtX2lvbWVtX21hcHBpbmcoWFNNX0hPT0ssIG1hcC0+
ZCwgcywgZSwgbWFwLT5tYXApOworICAgICAgICByYyA9IHhzbV9pb21lbV9t
YXBwaW5nX3ZwY2koWFNNX0hPT0ssIG1hcC0+ZCwgcywgZSwgbWFwLT5tYXAp
OwogICAgICAgICBpZiAoIHJjICkKICAgICAgICAgewogICAgICAgICAgICAg
cHJpbnRrKFhFTkxPR19HX1dBUk5JTkcKLS0tIGEveGVuL2luY2x1ZGUveHNt
L2R1bW15LmgKKysrIGIveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKQEAgLTU3
OSw2ICs1NzksMTMgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNr
IHhzbV9pb21lbQogICAgIHJldHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0
aW9uLCBjdXJyZW50LT5kb21haW4sIGQpOwogfQogCitzdGF0aWMgWFNNX0lO
TElORSBpbnQgY2ZfY2hlY2sgeHNtX2lvbWVtX21hcHBpbmdfdnBjaSgKKyAg
ICBYU01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgdWludDY0X3Qg
cywgdWludDY0X3QgZSwgdWludDhfdCBhbGxvdykKK3sKKyAgICBYU01fQVNT
RVJUX0FDVElPTihYU01fSE9PSyk7CisgICAgcmV0dXJuIHhzbV9kZWZhdWx0
X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgZCk7Cit9CisKIHN0
YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fcGNpX2NvbmZpZ19w
ZXJtaXNzaW9uKAogICAgIFhTTV9ERUZBVUxUX0FSRyBzdHJ1Y3QgZG9tYWlu
ICpkLCB1aW50MzJfdCBtYWNoaW5lX2JkZiwgdWludDE2X3Qgc3RhcnQsCiAg
ICAgdWludDE2X3QgZW5kLCB1aW50OF90IGFjY2VzcykKLS0tIGEveGVuL2lu
Y2x1ZGUveHNtL3hzbS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS94c20uaApA
QCAtMTE3LDYgKzExNyw4IEBAIHN0cnVjdCB4c21fb3BzIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OF90IGFsbG93KTsKICAgICBpbnQg
KCppb21lbV9tYXBwaW5nKShzdHJ1Y3QgZG9tYWluICpkLCB1aW50NjRfdCBz
LCB1aW50NjRfdCBlLAogICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
X3QgYWxsb3cpOworICAgIGludCAoKmlvbWVtX21hcHBpbmdfdnBjaSkoc3Ry
dWN0IGRvbWFpbiAqZCwgdWludDY0X3QgcywgdWludDY0X3QgZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgYWxsb3cpOwogICAg
IGludCAoKnBjaV9jb25maWdfcGVybWlzc2lvbikoc3RydWN0IGRvbWFpbiAq
ZCwgdWludDMyX3QgbWFjaGluZV9iZGYsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MTZfdCBzdGFydCwgdWludDE2X3QgZW5kLCB1
aW50OF90IGFjY2Vzcyk7CiAKQEAgLTUwNCw2ICs1MDYsMTIgQEAgc3RhdGlj
IGlubGluZSBpbnQgeHNtX2lvbWVtX21hcHBpbmcoCiAgICAgcmV0dXJuIGFs
dGVybmF0aXZlX2NhbGwoeHNtX29wcy5pb21lbV9tYXBwaW5nLCBkLCBzLCBl
LCBhbGxvdyk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgaW50IHhzbV9pb21lbV9t
YXBwaW5nX3ZwY2koCisgICAgeHNtX2RlZmF1bHRfdCBkZWYsIHN0cnVjdCBk
b21haW4gKmQsIHVpbnQ2NF90IHMsIHVpbnQ2NF90IGUsIHVpbnQ4X3QgYWxs
b3cpCit7CisgICAgcmV0dXJuIGFsdGVybmF0aXZlX2NhbGwoeHNtX29wcy5p
b21lbV9tYXBwaW5nX3ZwY2ksIGQsIHMsIGUsIGFsbG93KTsKK30KKwogc3Rh
dGljIGlubGluZSBpbnQgeHNtX3BjaV9jb25maWdfcGVybWlzc2lvbigKICAg
ICB4c21fZGVmYXVsdF90IGRlZiwgc3RydWN0IGRvbWFpbiAqZCwgdWludDMy
X3QgbWFjaGluZV9iZGYsIHVpbnQxNl90IHN0YXJ0LAogICAgIHVpbnQxNl90
IGVuZCwgdWludDhfdCBhY2Nlc3MpCi0tLSBhL3hlbi94c20vZHVtbXkuYwor
KysgYi94ZW4veHNtL2R1bW15LmMKQEAgLTcyLDYgKzcyLDcgQEAgc3RhdGlj
IGNvbnN0IHN0cnVjdCB4c21fb3BzIF9faW5pdGNvbnN0XwogICAgIC5pcnFf
cGVybWlzc2lvbiAgICAgICAgICAgICAgICA9IHhzbV9pcnFfcGVybWlzc2lv
biwKICAgICAuaW9tZW1fcGVybWlzc2lvbiAgICAgICAgICAgICAgPSB4c21f
aW9tZW1fcGVybWlzc2lvbiwKICAgICAuaW9tZW1fbWFwcGluZyAgICAgICAg
ICAgICAgICAgPSB4c21faW9tZW1fbWFwcGluZywKKyAgICAuaW9tZW1fbWFw
cGluZ192cGNpICAgICAgICAgICAgPSB4c21faW9tZW1fbWFwcGluZ192cGNp
LAogICAgIC5wY2lfY29uZmlnX3Blcm1pc3Npb24gICAgICAgICA9IHhzbV9w
Y2lfY29uZmlnX3Blcm1pc3Npb24sCiAgICAgLmdldF92bnVtYWluZm8gICAg
ICAgICAgICAgICAgID0geHNtX2dldF92bnVtYWluZm8sCiAKLS0tIGEveGVu
L3hzbS9mbGFzay9ob29rcy5jCisrKyBiL3hlbi94c20vZmxhc2svaG9va3Mu
YwpAQCAtMTkxOCw2ICsxOTE4LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB4
c21fb3BzIF9faW5pdGNvbnN0XwogICAgIC5pcnFfcGVybWlzc2lvbiA9IGZs
YXNrX2lycV9wZXJtaXNzaW9uLAogICAgIC5pb21lbV9wZXJtaXNzaW9uID0g
Zmxhc2tfaW9tZW1fcGVybWlzc2lvbiwKICAgICAuaW9tZW1fbWFwcGluZyA9
IGZsYXNrX2lvbWVtX21hcHBpbmcsCisgICAgLmlvbWVtX21hcHBpbmdfdnBj
aSA9IGZsYXNrX2lvbWVtX21hcHBpbmcsCiAgICAgLnBjaV9jb25maWdfcGVy
bWlzc2lvbiA9IGZsYXNrX3BjaV9jb25maWdfcGVybWlzc2lvbiwKIAogICAg
IC5yZXNvdXJjZV9wbHVnX2NvcmUgPSBmbGFza19yZXNvdXJjZV9wbHVnX2Nv
cmUsCg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.18-07.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.18-07.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBwaW5nIHdp
dGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRlZGljYXRlZCBs
b2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3QgcmVxdWlyZWQg
aGVyZSBhbnltb3JlLgpNb3ZlIHRoZSByZS1wdXJwb3NlZCBkZWRpY2F0ZWQg
WFNNIGNoZWNrIGFzIGVhcmx5IGFzIHBvc3NpYmxlLgoKTWluaW1hbCAibW9k
ZXJuaXphdGlvbiI6IFN3aXRjaCAiYWRkIiB0byBib29sIGFuZCB1c2UgJXBk
IGluIGxvZyBtZXNzYWdlcy4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoK
Rml4ZXM6IGZkYTQ5ZjliM2ZiYiAoIkFkZCBidWlsZCBvcHRpb24gdG8gYWxs
b3cgbW9yZSBoeXBlcmNhbGxzIGZyb20gc3R1YmRvbXMiKQpSZXBvcnRlZC1i
eTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K
U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
PgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNz
b2x1dGlvbnMuY29tPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8
cm9nZXIucGF1QGNpdHJpeC5jb20+CgotLS0gYS94ZW4vY29tbW9uL2RvbWN0
bC5jCisrKyBiL3hlbi9jb21tb24vZG9tY3RsLmMKQEAgLTM2Miw2ICszNjIs
NjYgQEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4
ZQogCiAgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9tb25seTsK
IAorICAgIGNhc2UgWEVOX0RPTUNUTF9tZW1vcnlfbWFwcGluZzoKKyAgICB7
CisgICAgICAgIHVuc2lnbmVkIGxvbmcgZ2ZuID0gb3AtPnUubWVtb3J5X21h
cHBpbmcuZmlyc3RfZ2ZuOworICAgICAgICB1bnNpZ25lZCBsb25nIG1mbiA9
IG9wLT51Lm1lbW9yeV9tYXBwaW5nLmZpcnN0X21mbjsKKyAgICAgICAgdW5z
aWduZWQgbG9uZyBucl9tZm5zID0gb3AtPnUubWVtb3J5X21hcHBpbmcubnJf
bWZuczsKKyAgICAgICAgdW5zaWduZWQgbG9uZyBtZm5fZW5kID0gbWZuICsg
bnJfbWZucyAtIDE7CisgICAgICAgIGJvb2wgYWRkID0gb3AtPnUubWVtb3J5
X21hcHBpbmcuYWRkX21hcHBpbmc7CisKKyAgICAgICAgcmV0ID0gLUVJTlZB
TDsKKyAgICAgICAgaWYgKCBtZm5fZW5kIDwgbWZuIHx8IC8qIFdyYXA/ICov
CisgICAgICAgICAgICAgKChtZm4gfCBtZm5fZW5kKSA+PiAocGFkZHJfYml0
cyAtIFBBR0VfU0hJRlQpKSB8fAorICAgICAgICAgICAgIChnZm4gKyBucl9t
Zm5zIC0gMSkgPCBnZm4gKSAvKiBXcmFwPyAqLworICAgICAgICAgICAgZ290
byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5OworCisgICAgICAgIHJldCA9
IHhzbV9pb21lbV9tYXBwaW5nKFhTTV9ETV9QUklWLCBkLCBtZm4sIG1mbl9l
bmQsIGFkZCk7CisgICAgICAgIGlmICggcmV0IHx8ICFwYWdpbmdfbW9kZV90
cmFuc2xhdGUoZCkgKQorICAgICAgICAgICAgZ290byBkb21jdGxfb3V0X3Vu
bG9ja19kb21vbmx5OworCisjaWZuZGVmIENPTkZJR19YODYgLyogWFhYIEFS
TSE/ICovCisgICAgICAgIHJldCA9IC1FMkJJRzsKKyAgICAgICAgLyogTXVz
dCBicmVhayBoeXBlcmNhbGwgdXAgYXMgdGhpcyBjb3VsZCB0YWtlIGEgd2hp
bGUuICovCisgICAgICAgIGlmICggbnJfbWZucyA+IDY0ICkKKyAgICAgICAg
ICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9tb25seTsKKyNlbmRpZgor
CisgICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCBmYWxzZSk7CisKKyAg
ICAgICAgcmV0ID0gLUVQRVJNOworICAgICAgICBpZiAoICFpb21lbV9hY2Nl
c3NfcGVybWl0dGVkKGN1cnJlbnQtPmRvbWFpbiwgbWZuLCBtZm5fZW5kKSB8
fAorICAgICAgICAgICAgICFpb21lbV9hY2Nlc3NfcGVybWl0dGVkKGQsIG1m
biwgbWZuX2VuZCkgKQorICAgICAgICAgICAgLyogTm90aGluZy4gKi87Cisg
ICAgICAgIGVsc2UgaWYgKCBhZGQgKQorICAgICAgICB7CisgICAgICAgICAg
ICBwcmludGsoWEVOTE9HX0dfREVCVUcKKyAgICAgICAgICAgICAgICAgICAi
bWVtb3J5X21hcDphZGQ6ICVwZCBnZm49JWx4IG1mbj0lbHggbnI9JWx4XG4i
LAorICAgICAgICAgICAgICAgICAgIGQsIGdmbiwgbWZuLCBucl9tZm5zKTsK
KworICAgICAgICAgICAgcmV0ID0gbWFwX21taW9fcmVnaW9ucyhkLCBfZ2Zu
KGdmbiksIG5yX21mbnMsIF9tZm4obWZuKSk7CisgICAgICAgICAgICBpZiAo
IHJldCA8IDAgKQorICAgICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfR19X
QVJOSU5HCisgICAgICAgICAgICAgICAgICAgICAgICJtZW1vcnlfbWFwOmZh
aWw6ICVwZCBnZm49JWx4IG1mbj0lbHggbnI9JWx4IHJldDolbGRcbiIsCisg
ICAgICAgICAgICAgICAgICAgICAgIGQsIGdmbiwgbWZuLCBucl9tZm5zLCBy
ZXQpOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAg
ICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0RFQlVHCisgICAgICAgICAgICAg
ICAgICAgIm1lbW9yeV9tYXA6cmVtb3ZlOiAlcGQgZ2ZuPSVseCBtZm49JWx4
IG5yPSVseFxuIiwKKyAgICAgICAgICAgICAgICAgICBkLCBnZm4sIG1mbiwg
bnJfbWZucyk7CisKKyAgICAgICAgICAgIHJldCA9IHVubWFwX21taW9fcmVn
aW9ucyhkLCBfZ2ZuKGdmbiksIG5yX21mbnMsIF9tZm4obWZuKSk7CisgICAg
ICAgICAgICBpZiAoIHJldCA8IDAgJiYgaXNfaGFyZHdhcmVfZG9tYWluKGN1
cnJlbnQtPmRvbWFpbikgKQorICAgICAgICAgICAgICAgIHByaW50ayhYRU5M
T0dfRVJSCisgICAgICAgICAgICAgICAgICAgICAgICJtZW1vcnlfbWFwOiBl
cnJvciAlbGQgcmVtb3ZpbmcgJXBkIGFjY2VzcyB0byBbJWx4LCVseF1cbiIs
CisgICAgICAgICAgICAgICAgICAgICAgIHJldCwgZCwgbWZuLCBtZm5fZW5k
KTsKKyAgICAgICAgfQorCisgICAgICAgIGlvY2Fwc19kb3VibGVfdW5sb2Nr
KGQsIGZhbHNlKTsKKyAgICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19k
b21vbmx5OworICAgIH0KKwogICAgIGRlZmF1bHQ6CiAgICAgICAgIC8qIEV2
ZXJ5dGhpbmcgZWxzZSBoYW5kbGVkIGZ1cnRoZXIgZG93bi4gKi8KICAgICAg
ICAgYnJlYWs7CkBAIC03MzgsNjQgKzc5OCw2IEBAIGxvbmcgZG9fZG9tY3Rs
KFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICAgICAgYnJlYWs7CiAg
ICAgfQogCi0gICAgY2FzZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBwaW5nOgot
ICAgIHsKLSAgICAgICAgdW5zaWduZWQgbG9uZyBnZm4gPSBvcC0+dS5tZW1v
cnlfbWFwcGluZy5maXJzdF9nZm47Ci0gICAgICAgIHVuc2lnbmVkIGxvbmcg
bWZuID0gb3AtPnUubWVtb3J5X21hcHBpbmcuZmlyc3RfbWZuOwotICAgICAg
ICB1bnNpZ25lZCBsb25nIG5yX21mbnMgPSBvcC0+dS5tZW1vcnlfbWFwcGlu
Zy5ucl9tZm5zOwotICAgICAgICB1bnNpZ25lZCBsb25nIG1mbl9lbmQgPSBt
Zm4gKyBucl9tZm5zIC0gMTsKLSAgICAgICAgaW50IGFkZCA9IG9wLT51Lm1l
bW9yeV9tYXBwaW5nLmFkZF9tYXBwaW5nOwotCi0gICAgICAgIHJldCA9IC1F
SU5WQUw7Ci0gICAgICAgIGlmICggbWZuX2VuZCA8IG1mbiB8fCAvKiB3cmFw
PyAqLwotICAgICAgICAgICAgICgobWZuIHwgbWZuX2VuZCkgPj4gKHBhZGRy
X2JpdHMgLSBQQUdFX1NISUZUKSkgfHwKLSAgICAgICAgICAgICAoZ2ZuICsg
bnJfbWZucyAtIDEpIDwgZ2ZuICkgLyogd3JhcD8gKi8KLSAgICAgICAgICAg
IGJyZWFrOwotCi0jaWZuZGVmIENPTkZJR19YODYgLyogWFhYIEFSTSE/ICov
Ci0gICAgICAgIHJldCA9IC1FMkJJRzsKLSAgICAgICAgLyogTXVzdCBicmVh
ayBoeXBlcmNhbGwgdXAgYXMgdGhpcyBjb3VsZCB0YWtlIGEgd2hpbGUuICov
Ci0gICAgICAgIGlmICggbnJfbWZucyA+IDY0ICkKLSAgICAgICAgICAgIGJy
ZWFrOwotI2VuZGlmCi0KLSAgICAgICAgaW9jYXBzX2RvdWJsZV9sb2NrKGQs
IGZhbHNlKTsKLQotICAgICAgICByZXQgPSAtRVBFUk07Ci0gICAgICAgIGlm
ICggIWlvbWVtX2FjY2Vzc19wZXJtaXR0ZWQoY3VycmVudC0+ZG9tYWluLCBt
Zm4sIG1mbl9lbmQpIHx8Ci0gICAgICAgICAgICAgIWlvbWVtX2FjY2Vzc19w
ZXJtaXR0ZWQoZCwgbWZuLCBtZm5fZW5kKSB8fAotICAgICAgICAgICAgIChy
ZXQgPSB4c21faW9tZW1fbWFwcGluZyhYU01fSE9PSywgZCwgbWZuLCBtZm5f
ZW5kLCBhZGQpKSB8fAotICAgICAgICAgICAgICFwYWdpbmdfbW9kZV90cmFu
c2xhdGUoZCkgKQotICAgICAgICAgICAgLyogTm90aGluZy4gKi87Ci0gICAg
ICAgIGVsc2UgaWYgKCBhZGQgKQotICAgICAgICB7Ci0gICAgICAgICAgICBw
cmludGsoWEVOTE9HX0dfREVCVUcKLSAgICAgICAgICAgICAgICAgICAibWVt
b3J5X21hcDphZGQ6IGRvbSVkIGdmbj0lbHggbWZuPSVseCBucj0lbHhcbiIs
Ci0gICAgICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCBnZm4sIG1mbiwg
bnJfbWZucyk7Ci0KLSAgICAgICAgICAgIHJldCA9IG1hcF9tbWlvX3JlZ2lv
bnMoZCwgX2dmbihnZm4pLCBucl9tZm5zLCBfbWZuKG1mbikpOwotICAgICAg
ICAgICAgaWYgKCByZXQgPCAwICkKLSAgICAgICAgICAgICAgICBwcmludGso
WEVOTE9HX0dfV0FSTklORwotICAgICAgICAgICAgICAgICAgICAgICAibWVt
b3J5X21hcDpmYWlsOiBkb20lZCBnZm49JWx4IG1mbj0lbHggbnI9JWx4IHJl
dDolbGRcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgIGQtPmRvbWFpbl9p
ZCwgZ2ZuLCBtZm4sIG5yX21mbnMsIHJldCk7Ci0gICAgICAgIH0KLSAgICAg
ICAgZWxzZQotICAgICAgICB7Ci0gICAgICAgICAgICBwcmludGsoWEVOTE9H
X0dfREVCVUcKLSAgICAgICAgICAgICAgICAgICAibWVtb3J5X21hcDpyZW1v
dmU6IGRvbSVkIGdmbj0lbHggbWZuPSVseCBucj0lbHhcbiIsCi0gICAgICAg
ICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCBnZm4sIG1mbiwgbnJfbWZucyk7
Ci0KLSAgICAgICAgICAgIHJldCA9IHVubWFwX21taW9fcmVnaW9ucyhkLCBf
Z2ZuKGdmbiksIG5yX21mbnMsIF9tZm4obWZuKSk7Ci0gICAgICAgICAgICBp
ZiAoIHJldCA8IDAgJiYgaXNfaGFyZHdhcmVfZG9tYWluKGN1cnJlbnQtPmRv
bWFpbikgKQotICAgICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfRVJSCi0g
ICAgICAgICAgICAgICAgICAgICAgICJtZW1vcnlfbWFwOiBlcnJvciAlbGQg
cmVtb3ZpbmcgZG9tJWQgYWNjZXNzIHRvIFslbHgsJWx4XVxuIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgcmV0LCBkLT5kb21haW5faWQsIG1mbiwgbWZu
X2VuZCk7Ci0gICAgICAgIH0KLQotICAgICAgICBpb2NhcHNfZG91YmxlX3Vu
bG9jayhkLCBmYWxzZSk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQogICAg
IGNhc2UgWEVOX0RPTUNUTF9zZXR0aW1lb2Zmc2V0OgogICAgICAgICBkb21h
aW5fc2V0X3RpbWVfb2Zmc2V0KGQsIG9wLT51LnNldHRpbWVvZmZzZXQudGlt
ZV9vZmZzZXRfc2Vjb25kcyk7CiAgICAgICAgIGJyZWFrOwotLS0gYS94ZW4v
aW5jbHVkZS94c20vZHVtbXkuaAorKysgYi94ZW4vaW5jbHVkZS94c20vZHVt
bXkuaApAQCAtMTY4LDEyICsxNjgsMTIgQEAgc3RhdGljIFhTTV9JTkxJTkUg
aW50IGNmX2NoZWNrIHhzbV9kb21jdAogICAgIHN3aXRjaCAoIGNtZCApCiAg
ICAgewogICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKLSAg
ICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgogICAgIGNhc2UgWEVOX0RPTUNUTF91
bmJpbmRfcHRfaXJxOgogICAgICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0
aW9uKFhTTV9ETV9QUklWLCBjdXJyZW50LT5kb21haW4sIGQpOwogCiAgICAg
Y2FzZSBYRU5fRE9NQ1RMX2dldGRvbWFpbmluZm86CisgICAgY2FzZSBYRU5f
RE9NQ1RMX21lbW9yeV9tYXBwaW5nOgogICAgICAgICBBU1NFUlRfVU5SRUFD
SEFCTEUoKTsKICAgICAgICAgcmV0dXJuIC1FSUxTRVE7CiAKQEAgLTU3NSw3
ICs1NzUsNyBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNt
X2lvbWVtCiBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX2lv
bWVtX21hcHBpbmcoCiAgICAgWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBkb21h
aW4gKmQsIHVpbnQ2NF90IHMsIHVpbnQ2NF90IGUsIHVpbnQ4X3QgYWxsb3cp
CiB7Ci0gICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX0hPT0spOworICAgIFhT
TV9BU1NFUlRfQUNUSU9OKFhTTV9ETV9QUklWKTsKICAgICByZXR1cm4geHNt
X2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBkKTsK
IH0KIAotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIveGVuL3hz
bS9mbGFzay9ob29rcy5jCkBAIC02ODAsNiArNjgwLDcgQEAgc3RhdGljIGlu
dCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0CiAKICAgICAvKiBUaGVz
ZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzIGFuZCBkb24ndCBtYWtlIGl0
IGhlcmUuICovCiAgICAgY2FzZSBYRU5fRE9NQ1RMX2dldGRvbWFpbmluZm86
CisgICAgY2FzZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBwaW5nOgogICAgICAg
ICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKICAgICAgICAgcmV0dXJuIC1FSUxT
RVE7CiAKQEAgLTY4Nyw3ICs2ODgsNiBAQCBzdGF0aWMgaW50IGNmX2NoZWNr
IGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICBjYXNlIFhFTl9ET01DVExfc2No
ZWR1bGVyX29wOgogICAgIGNhc2UgWEVOX0RPTUNUTF9pcnFfcGVybWlzc2lv
bjoKICAgICBjYXNlIFhFTl9ET01DVExfaW9tZW1fcGVybWlzc2lvbjoKLSAg
ICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAgICAgY2FzZSBY
RU5fRE9NQ1RMX3NldF90YXJnZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Zt
X2V2ZW50X29wOgogCg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.18-08.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.18-08.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nIHdp
dGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRlZGljYXRlZCBs
b2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3QgcmVxdWlyZWQg
aGVyZSBhbnltb3JlLgpBcyB0aGUgaGFuZGxpbmcgaXMgaW4gYXJjaC1zcGVj
aWZpYyBjb2RlICh4ODYgb25seSksIGFsbW9zdCBubyBjb2RlIGlzCmJlaW5n
IG1vdmVkLCBidXQgYSAybmQgKGV4dGVuc2libGUgdG8gb3RoZXIgc3ViLW9w
cykgaW52b2NhdGlvbiBvZgphcmNoX2RvX2RvbWN0bCgpIGlzIGJlaW5nIGFk
ZGVkLiBNb3ZlIGp1c3QgdGhlIHJlLXB1cnBvc2VkIGRlZGljYXRlZCBYU00K
Y2hlY2sgYXMgZWFybHkgYXMgcG9zc2libGUuCgpJbiBmbGFza19kb21jdGwo
KSBkb24ndCBwdXQgI2lmZGVmIGFyb3VuZCB0aGUgbW92ZWQgY2FzZSBsYWJl
bC4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKRml4ZXM6IGZkYTQ5Zjli
M2ZiYiAoIkFkZCBidWlsZCBvcHRpb24gdG8gYWxsb3cgbW9yZSBoeXBlcmNh
bGxzIGZyb20gc3R1YmRvbXMiKQpSZXBvcnRlZC1ieTogQW5kcmV3IENvb3Bl
ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
Um9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkFja2Vk
LWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9u
cy5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVu
L2FyY2gveDg2L2RvbWN0bC5jCkBAIC02MTgsMTIgKzYxOCwxNSBAQCBsb25n
IGFyY2hfZG9fZG9tY3RsKAogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KIAorICAgICAgICByZXQgPSB4c21faW9wb3J0X21hcHBpbmcoWFNNX0RN
X1BSSVYsIGQsIGZtcCwgZm1wICsgbnAgLSAxLCBhZGQpOworICAgICAgICBp
ZiAoIHJldCApCisgICAgICAgICAgICBicmVhazsKKwogICAgICAgICBodm0g
PSAmZC0+YXJjaC5odm07CiAgICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhk
LCB0cnVlKTsKIAotICAgICAgICBpZiAoICFpb3BvcnRzX2FjY2Vzc19wZXJt
aXR0ZWQoY3VycmQsIGZtcCwgZm1wICsgbnAgLSAxKSB8fAotICAgICAgICAg
ICAgIChyZXQgPSB4c21faW9wb3J0X21hcHBpbmcoWFNNX0hPT0ssIGQsIGZt
cCwgZm1wICsgbnAgLSAxLCBhZGQpKSApCi0gICAgICAgICAgICByZXQgPSBy
ZXQgPzogLUVQRVJNOworICAgICAgICBpZiAoICFpb3BvcnRzX2FjY2Vzc19w
ZXJtaXR0ZWQoY3VycmQsIGZtcCwgZm1wICsgbnAgLSAxKSApCisgICAgICAg
ICAgICByZXQgPSAtRVBFUk07CiAgICAgICAgIGVsc2UgaWYgKCBhZGQgKQog
ICAgICAgICB7CiAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfSU5GTwot
LS0gYS94ZW4vY29tbW9uL2RvbWN0bC5jCisrKyBiL3hlbi9jb21tb24vZG9t
Y3RsLmMKQEAgLTQyMiw2ICs0MjIsMTAgQEAgbG9uZyBkb19kb21jdGwoWEVO
X0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICBnb3RvIGRvbWN0bF9v
dXRfdW5sb2NrX2RvbW9ubHk7CiAgICAgfQogCisgICAgY2FzZSBYRU5fRE9N
Q1RMX2lvcG9ydF9tYXBwaW5nOgorICAgICAgICByZXQgPSBhcmNoX2RvX2Rv
bWN0bChvcCwgZCwgdV9kb21jdGwpOworICAgICAgICBnb3RvIGRvbWN0bF9v
dXRfdW5sb2NrX2RvbW9ubHk7CisKICAgICBkZWZhdWx0OgogICAgICAgICAv
KiBFdmVyeXRoaW5nIGVsc2UgaGFuZGxlZCBmdXJ0aGVyIGRvd24uICovCiAg
ICAgICAgIGJyZWFrOwotLS0gYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAor
KysgYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTY3LDEyICsxNjcs
MTIgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9kb21j
dAogICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9PVEhFUik7CiAgICAgc3dp
dGNoICggY21kICkKICAgICB7Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9y
dF9tYXBwaW5nOgogICAgIGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToK
ICAgICBjYXNlIFhFTl9ET01DVExfdW5iaW5kX3B0X2lycToKICAgICAgICAg
cmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihYU01fRE1fUFJJViwgY3VycmVu
dC0+ZG9tYWluLCBkKTsKIAogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRkb21h
aW5pbmZvOgorICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoK
ICAgICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAgICAgICAg
IEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAgICAgICByZXR1cm4gLUVJTFNF
UTsKQEAgLTc3MSw3ICs3NzEsNyBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQg
Y2ZfY2hlY2sgeHNtX2lvcG9yCiBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2Zf
Y2hlY2sgeHNtX2lvcG9ydF9tYXBwaW5nKAogICAgIFhTTV9ERUZBVUxUX0FS
RyBzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBzLCB1aW50MzJfdCBlLCB1
aW50OF90IGFsbG93KQogewotICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9I
T09LKTsKKyAgICBYU01fQVNTRVJUX0FDVElPTihYU01fRE1fUFJJVik7CiAg
ICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQt
PmRvbWFpbiwgZCk7CiB9CiAKLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5j
CisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjgwLDYgKzY4MCw3
IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAog
CiAgICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBob29rcyBhbmQg
ZG9uJ3QgbWFrZSBpdCBoZXJlLiAqLwogICAgIGNhc2UgWEVOX0RPTUNUTF9n
ZXRkb21haW5pbmZvOgorICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFw
cGluZzoKICAgICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAg
ICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAgICAgICByZXR1cm4g
LUVJTFNFUTsKQEAgLTY5OCw3ICs2OTksNiBAQCBzdGF0aWMgaW50IGNmX2No
ZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICAvKiBUaGVzZSBoYXZlIGlu
ZGl2aWR1YWwgWFNNIGhvb2tzIChhcmNoL3g4Ni9kb21jdGwuYykgKi8KICAg
ICBjYXNlIFhFTl9ET01DVExfc2hhZG93X29wOgogICAgIGNhc2UgWEVOX0RP
TUNUTF9pb3BvcnRfcGVybWlzc2lvbjoKLSAgICBjYXNlIFhFTl9ET01DVExf
aW9wb3J0X21hcHBpbmc6CiAjZW5kaWYKICNpZmRlZiBDT05GSUdfSEFTX1BB
U1NUSFJPVUdICiAgICAgLyoK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.18-09.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.18-09.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX3ssdW59YmluZF9wdF9pcnEg
d2l0aG91dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKCldpdGggZGVkaWNhdGVk
IGxvY2tpbmcgYWRkZWQsIHRoZSBkb21jdGwgbG9jayBpc24ndCByZXF1aXJl
ZCBoZXJlIGFueW1vcmUuCihJdCBhbHNvIGFscmVhZHkgaXNuJ3QgdXNlZCB3
aGVuIHB0X2lycV97Y3JlYXRlLGRlc3Ryb3l9X2JpbmQoKSBhcmUKaW52b2tl
ZCBmb3IgUFZIIERvbTAuKSBBcyB0aGUgaGFuZGxpbmcgaXMgaW4gYXJjaC1z
cGVjaWZpYyBjb2RlLCBubyBjb2RlCmlzIGJlaW5nIG1vdmVkLCBidXQgdGhl
IDJuZCAoZXh0ZW5zaWJsZSB0byBvdGhlciBzdWItb3BzIGxpa2UgdGhlIG9u
ZXMKaGVyZSkgaW52b2NhdGlvbiBvZiBhcmNoX2RvX2RvbWN0bCgpIGlzIGJl
aW5nIHJlLXVzZWQuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4KCkZpeGVz
OiBmZGE0OWY5YjNmYmIgKCJBZGQgYnVpbGQgb3B0aW9uIHRvIGFsbG93IG1v
cmUgaHlwZXJjYWxscyBmcm9tIHN0dWJkb21zIikKUmVwb3J0ZWQtYnk6IEFu
ZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClNpZ25l
ZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2
aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXgu
Y29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0
dXNzb2x1dGlvbnMuY29tPgpBY2tlZC1ieTogSnVsaWVuIEdyYWxsIDxqdWxp
ZW5AeGVuLm9yZz4KCi0tLSBhL3hlbi9hcmNoL2FybS9kb21jdGwuYworKysg
Yi94ZW4vYXJjaC9hcm0vZG9tY3RsLmMKQEAgLTEwMyw3ICsxMDMsNyBAQCBs
b25nIGFyY2hfZG9fZG9tY3RsKHN0cnVjdCB4ZW5fZG9tY3RsICpkCiAgICAg
ICAgIGlmICggcmMgKQogICAgICAgICAgICAgcmV0dXJuIHJjOwogCi0gICAg
ICAgIHJjID0geHNtX2JpbmRfcHRfaXJxKFhTTV9IT09LLCBkLCBiaW5kKTsK
KyAgICAgICAgcmMgPSB4c21fYmluZF9wdF9pcnEoWFNNX0RNX1BSSVYsIGQs
IGJpbmQpOwogICAgICAgICBpZiAoIHJjICkKICAgICAgICAgICAgIHJldHVy
biByYzsKIApAQCAtMTM5LDcgKzEzOSw3IEBAIGxvbmcgYXJjaF9kb19kb21j
dGwoc3RydWN0IHhlbl9kb21jdGwgKmQKICAgICAgICAgaWYgKCBpcnEgIT0g
dmlycSApCiAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAotICAgICAg
ICByYyA9IHhzbV91bmJpbmRfcHRfaXJxKFhTTV9IT09LLCBkLCBiaW5kKTsK
KyAgICAgICAgcmMgPSB4c21fdW5iaW5kX3B0X2lycShYU01fRE1fUFJJViwg
ZCwgYmluZCk7CiAgICAgICAgIGlmICggcmMgKQogICAgICAgICAgICAgcmV0
dXJuIHJjOwogCi0tLSBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYworKysgYi94
ZW4vYXJjaC94ODYvZG9tY3RsLmMKQEAgLTUzMCw3ICs1MzAsNyBAQCBsb25n
IGFyY2hfZG9fZG9tY3RsKAogICAgICAgICBpZiAoICFpc19odm1fZG9tYWlu
KGQpICkKICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIHJldCA9IHhz
bV9iaW5kX3B0X2lycShYU01fSE9PSywgZCwgYmluZCk7CisgICAgICAgIHJl
dCA9IHhzbV9iaW5kX3B0X2lycShYU01fRE1fUFJJViwgZCwgYmluZCk7CiAg
ICAgICAgIGlmICggcmV0ICkKICAgICAgICAgICAgIGJyZWFrOwogCkBAIC01
NjgsNyArNTY4LDcgQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgKICAgICAgICAg
aWYgKCAhaXNfaHZtX2RvbWFpbihkKSApCiAgICAgICAgICAgICBicmVhazsK
IAotICAgICAgICByZXQgPSB4c21fdW5iaW5kX3B0X2lycShYU01fSE9PSywg
ZCwgYmluZCk7CisgICAgICAgIHJldCA9IHhzbV91bmJpbmRfcHRfaXJxKFhT
TV9ETV9QUklWLCBkLCBiaW5kKTsKICAgICAgICAgaWYgKCByZXQgKQogICAg
ICAgICAgICAgYnJlYWs7CiAKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYwor
KysgYi94ZW4vY29tbW9uL2RvbWN0bC5jCkBAIC00MjMsNiArNDIzLDggQEAg
bG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAg
IH0KIAogICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKKyAg
ICBjYXNlIFhFTl9ET01DVExfYmluZF9wdF9pcnE6CisgICAgY2FzZSBYRU5f
RE9NQ1RMX3VuYmluZF9wdF9pcnE6CiAgICAgICAgIHJldCA9IGFyY2hfZG9f
ZG9tY3RsKG9wLCBkLCB1X2RvbWN0bCk7CiAgICAgICAgIGdvdG8gZG9tY3Rs
X291dF91bmxvY2tfZG9tb25seTsKIAotLS0gYS94ZW4vaW5jbHVkZS94c20v
ZHVtbXkuaAorKysgYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTY4
LDEyICsxNjgsMTAgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNr
IHhzbV9kb21jdAogICAgIHN3aXRjaCAoIGNtZCApCiAgICAgewogICAgIGNh
c2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToKLSAgICBjYXNlIFhFTl9ET01D
VExfdW5iaW5kX3B0X2lycToKLSAgICAgICAgcmV0dXJuIHhzbV9kZWZhdWx0
X2FjdGlvbihYU01fRE1fUFJJViwgY3VycmVudC0+ZG9tYWluLCBkKTsKLQog
ICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRkb21haW5pbmZvOgogICAgIGNhc2Ug
WEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBjYXNlIFhFTl9ET01D
VExfbWVtb3J5X21hcHBpbmc6CisgICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmlu
ZF9wdF9pcnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAg
ICAgICByZXR1cm4gLUVJTFNFUTsKIApAQCAtNTQwLDE0ICs1MzgsMTQgQEAg
c3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV91bm1hcAogc3Rh
dGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9iaW5kX3B0X2lycSgK
ICAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0
IHhlbl9kb21jdGxfYmluZF9wdF9pcnEgKmJpbmQpCiB7Ci0gICAgWFNNX0FT
U0VSVF9BQ1RJT04oWFNNX0hPT0spOworICAgIFhTTV9BU1NFUlRfQUNUSU9O
KFhTTV9ETV9QUklWKTsKICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9u
KGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBkKTsKIH0KIAogc3RhdGljIFhT
TV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV91bmJpbmRfcHRfaXJxKAogICAg
IFhTTV9ERUZBVUxUX0FSRyBzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgeGVu
X2RvbWN0bF9iaW5kX3B0X2lycSAqYmluZCkKIHsKLSAgICBYU01fQVNTRVJU
X0FDVElPTihYU01fSE9PSyk7CisgICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNN
X0RNX1BSSVYpOwogICAgIHJldHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0
aW9uLCBjdXJyZW50LT5kb21haW4sIGQpOwogfQogCi0tLSBhL3hlbi94c20v
Zmxhc2svaG9va3MuYworKysgYi94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAg
LTY3OSw5ICs2NzksMTEgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19k
b21jdGwoc3RydWN0CiAgICAgICAgIHJldHVybiBhdmNfY3VycmVudF9oYXNf
cGVybShzc2lkcmVmLCBTRUNDTEFTU19ET01BSU4sIERPTUFJTl9fQ1JFQVRF
LCBOVUxMKTsKIAogICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00g
aG9va3MgYW5kIGRvbid0IG1ha2UgaXQgaGVyZS4gKi8KKyAgICBjYXNlIFhF
Tl9ET01DVExfYmluZF9wdF9pcnE6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2dl
dGRvbWFpbmluZm86CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBw
aW5nOgogICAgIGNhc2UgWEVOX0RPTUNUTF9tZW1vcnlfbWFwcGluZzoKKyAg
ICBjYXNlIFhFTl9ET01DVExfdW5iaW5kX3B0X2lycToKICAgICAgICAgQVNT
RVJUX1VOUkVBQ0hBQkxFKCk7CiAgICAgICAgIHJldHVybiAtRUlMU0VROwog
CkBAIC02OTIsOSArNjk0LDYgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFz
a19kb21jdGwoc3RydWN0CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3NldF90YXJn
ZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3ZtX2V2ZW50X29wOgogCi0gICAg
LyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBob29rcyAoYXJjaC8uLi9k
b21jdGwuYykgKi8KLSAgICBjYXNlIFhFTl9ET01DVExfYmluZF9wdF9pcnE6
Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmluZF9wdF9pcnE6CiAjaWZkZWYg
Q09ORklHX1g4NgogICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00g
aG9va3MgKGFyY2gveDg2L2RvbWN0bC5jKSAqLwogICAgIGNhc2UgWEVOX0RP
TUNUTF9zaGFkb3dfb3A6Cg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.18-10.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.18-10.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2lve21lbSxwb3J0fV9wZXJt
aXNzaW9uIHdpdGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRl
ZGljYXRlZCBsb2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3Qg
cmVxdWlyZWQgaGVyZSBhbnltb3JlLgpBcyB0aGUgSS9PIHBvcnQgaGFuZGxp
bmcgaXMgaW4gYXJjaC1zcGVjaWZpYyBjb2RlICh4ODYgb25seSksIG5vIGNv
ZGUgaXMKYmVpbmcgbW92ZWQsIGJ1dCB0aGUgMm5kIGludm9jYXRpb24gb2Yg
YXJjaF9kb19kb21jdGwoKSBpcyByZS11c2VkLiBNb3ZlCnRoZSByZS1wdXJw
b3NlZCBkZWRpY2F0ZWQgWFNNIGNoZWNrcyBhcyBlYXJseSBhcyBwb3NzaWJs
ZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
Um9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkFja2Vk
LWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9u
cy5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVu
L2FyY2gveDg2L2RvbWN0bC5jCkBAIC0yMjUsMTIgKzIyNSwxNyBAQCBsb25n
IGFyY2hfZG9fZG9tY3RsKAogICAgICAgICB1bnNpZ25lZCBpbnQgbnAgPSBk
b21jdGwtPnUuaW9wb3J0X3Blcm1pc3Npb24ubnJfcG9ydHM7CiAgICAgICAg
IGludCBhbGxvdyA9IGRvbWN0bC0+dS5pb3BvcnRfcGVybWlzc2lvbi5hbGxv
d19hY2Nlc3M7CiAKKyAgICAgICAgcmV0ID0gLUVJTlZBTDsKKyAgICAgICAg
aWYgKCAoZnAgKyBucCkgPD0gZnAgfHwgKGZwICsgbnApID4gTUFYX0lPUE9S
VFMgKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgcmV0ID0geHNt
X2lvcG9ydF9wZXJtaXNzaW9uKFhTTV9QUklWLCBkLCBmcCwgZnAgKyBucCAt
IDEsIGFsbG93KTsKKyAgICAgICAgaWYgKCByZXQgKQorICAgICAgICAgICAg
YnJlYWs7CisKICAgICAgICAgaW9jYXBzX2RvdWJsZV9sb2NrKGQsIHRydWUp
OwogCi0gICAgICAgIGlmICggKGZwICsgbnApIDw9IGZwIHx8IChmcCArIG5w
KSA+IE1BWF9JT1BPUlRTICkKLSAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7
Ci0gICAgICAgIGVsc2UgaWYgKCAhaW9wb3J0c19hY2Nlc3NfcGVybWl0dGVk
KGN1cnJkLCBmcCwgZnAgKyBucCAtIDEpIHx8Ci0gICAgICAgICAgICAgICAg
ICB4c21faW9wb3J0X3Blcm1pc3Npb24oWFNNX0hPT0ssIGQsIGZwLCBmcCAr
IG5wIC0gMSwgYWxsb3cpICkKKyAgICAgICAgaWYgKCAhaW9wb3J0c19hY2Nl
c3NfcGVybWl0dGVkKGN1cnJkLCBmcCwgZnAgKyBucCAtIDEpICkKICAgICAg
ICAgICAgIHJldCA9IC1FUEVSTTsKICAgICAgICAgZWxzZSBpZiAoIGFsbG93
ICkKICAgICAgICAgICAgIHJldCA9IGlvcG9ydHNfcGVybWl0X2FjY2Vzcyhk
LCBmcCwgZnAgKyBucCAtIDEpOwotLS0gYS94ZW4vY29tbW9uL2RvbWN0bC5j
CisrKyBiL3hlbi9jb21tb24vZG9tY3RsLmMKQEAgLTM2Miw2ICszNjIsMzQg
QEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQog
CiAgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9tb25seTsKIAor
ICAgIGNhc2UgWEVOX0RPTUNUTF9pb21lbV9wZXJtaXNzaW9uOgorICAgIHsK
KyAgICAgICAgdW5zaWduZWQgbG9uZyBtZm4gPSBvcC0+dS5pb21lbV9wZXJt
aXNzaW9uLmZpcnN0X21mbjsKKyAgICAgICAgdW5zaWduZWQgbG9uZyBucl9t
Zm5zID0gb3AtPnUuaW9tZW1fcGVybWlzc2lvbi5ucl9tZm5zOworICAgICAg
ICBib29sIGFsbG93ID0gb3AtPnUuaW9tZW1fcGVybWlzc2lvbi5hbGxvd19h
Y2Nlc3M7CisKKyAgICAgICAgcmV0ID0gLUVJTlZBTDsKKyAgICAgICAgaWYg
KCAobWZuICsgbnJfbWZucyAtIDEpIDwgbWZuICkgLyogV3JhcD8gKi8KKyAg
ICAgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9tb25seTsKKwor
ICAgICAgICByZXQgPSB4c21faW9tZW1fcGVybWlzc2lvbihYU01fUFJJViwg
ZCwgbWZuLCBtZm4gKyBucl9tZm5zIC0gMSwgYWxsb3cpOworICAgICAgICBp
ZiAoIHJldCApCisgICAgICAgICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2Nr
X2RvbW9ubHk7CisKKyAgICAgICAgaW9jYXBzX2RvdWJsZV9sb2NrKGQsIHRy
dWUpOworCisgICAgICAgIGlmICggIWlvbWVtX2FjY2Vzc19wZXJtaXR0ZWQo
Y3VycmVudC0+ZG9tYWluLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1mbiwgbWZuICsgbnJfbWZucyAtIDEpICkKKyAgICAgICAg
ICAgIHJldCA9IC1FUEVSTTsKKyAgICAgICAgZWxzZSBpZiAoIGFsbG93ICkK
KyAgICAgICAgICAgIHJldCA9IGlvbWVtX3Blcm1pdF9hY2Nlc3MoZCwgbWZu
LCBtZm4gKyBucl9tZm5zIC0gMSk7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIHJldCA9IGlvbWVtX2RlbnlfYWNjZXNzKGQsIG1mbiwgbWZuICsgbnJf
bWZucyAtIDEpOworCisgICAgICAgIGlvY2Fwc19kb3VibGVfdW5sb2NrKGQs
IHRydWUpOworICAgICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9u
bHk7CisgICAgfQorCiAgICAgY2FzZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBw
aW5nOgogICAgIHsKICAgICAgICAgdW5zaWduZWQgbG9uZyBnZm4gPSBvcC0+
dS5tZW1vcnlfbWFwcGluZy5maXJzdF9nZm47CkBAIC00MjIsNiArNDUwLDcg
QEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQog
ICAgICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CiAgICAg
fQogCisgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNzaW9uOgog
ICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBjYXNl
IFhFTl9ET01DVExfYmluZF9wdF9pcnE6CiAgICAgY2FzZSBYRU5fRE9NQ1RM
X3VuYmluZF9wdF9pcnE6CkBAIC03NzcsMzEgKzgwNiw2IEBAIGxvbmcgZG9f
ZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKIAogICAgICAgICBp
b2NhcHNfZG91YmxlX3VubG9jayhkLCB0cnVlKTsKICAgICAgICAgYnJlYWs7
Ci0gICAgfQotCi0gICAgY2FzZSBYRU5fRE9NQ1RMX2lvbWVtX3Blcm1pc3Np
b246Ci0gICAgewotICAgICAgICB1bnNpZ25lZCBsb25nIG1mbiA9IG9wLT51
LmlvbWVtX3Blcm1pc3Npb24uZmlyc3RfbWZuOwotICAgICAgICB1bnNpZ25l
ZCBsb25nIG5yX21mbnMgPSBvcC0+dS5pb21lbV9wZXJtaXNzaW9uLm5yX21m
bnM7Ci0gICAgICAgIGludCBhbGxvdyA9IG9wLT51LmlvbWVtX3Blcm1pc3Np
b24uYWxsb3dfYWNjZXNzOwotCi0gICAgICAgIHJldCA9IC1FSU5WQUw7Ci0g
ICAgICAgIGlmICggKG1mbiArIG5yX21mbnMgLSAxKSA8IG1mbiApIC8qIHdy
YXA/ICovCi0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICBpb2NhcHNf
ZG91YmxlX2xvY2soZCwgdHJ1ZSk7Ci0KLSAgICAgICAgaWYgKCAhaW9tZW1f
YWNjZXNzX3Blcm1pdHRlZChjdXJyZW50LT5kb21haW4sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWZuLCBtZm4gKyBucl9tZm5z
IC0gMSkgfHwKLSAgICAgICAgICAgICB4c21faW9tZW1fcGVybWlzc2lvbihY
U01fSE9PSywgZCwgbWZuLCBtZm4gKyBucl9tZm5zIC0gMSwgYWxsb3cpICkK
LSAgICAgICAgICAgIHJldCA9IC1FUEVSTTsKLSAgICAgICAgZWxzZSBpZiAo
IGFsbG93ICkKLSAgICAgICAgICAgIHJldCA9IGlvbWVtX3Blcm1pdF9hY2Nl
c3MoZCwgbWZuLCBtZm4gKyBucl9tZm5zIC0gMSk7Ci0gICAgICAgIGVsc2UK
LSAgICAgICAgICAgIHJldCA9IGlvbWVtX2RlbnlfYWNjZXNzKGQsIG1mbiwg
bWZuICsgbnJfbWZucyAtIDEpOwotCi0gICAgICAgIGlvY2Fwc19kb3VibGVf
dW5sb2NrKGQsIHRydWUpOwotICAgICAgICBicmVhazsKICAgICB9CiAKICAg
ICBjYXNlIFhFTl9ET01DVExfc2V0dGltZW9mZnNldDoKLS0tIGEveGVuL2lu
Y2x1ZGUveHNtL2R1bW15LmgKKysrIGIveGVuL2luY2x1ZGUveHNtL2R1bW15
LmgKQEAgLTE2OSw3ICsxNjksOSBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQg
Y2ZfY2hlY2sgeHNtX2RvbWN0CiAgICAgewogICAgIGNhc2UgWEVOX0RPTUNU
TF9iaW5kX3B0X2lycToKICAgICBjYXNlIFhFTl9ET01DVExfZ2V0ZG9tYWlu
aW5mbzoKKyAgICBjYXNlIFhFTl9ET01DVExfaW9tZW1fcGVybWlzc2lvbjoK
ICAgICBjYXNlIFhFTl9ET01DVExfaW9wb3J0X21hcHBpbmc6CisgICAgY2Fz
ZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNzaW9uOgogICAgIGNhc2UgWEVO
X0RPTUNUTF9tZW1vcnlfbWFwcGluZzoKICAgICBjYXNlIFhFTl9ET01DVExf
dW5iaW5kX3B0X2lycToKICAgICAgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7
CkBAIC01NjYsNyArNTY4LDcgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNm
X2NoZWNrIHhzbV9pcnFfcAogc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2No
ZWNrIHhzbV9pb21lbV9wZXJtaXNzaW9uKAogICAgIFhTTV9ERUZBVUxUX0FS
RyBzdHJ1Y3QgZG9tYWluICpkLCB1aW50NjRfdCBzLCB1aW50NjRfdCBlLCB1
aW50OF90IGFsbG93KQogewotICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9I
T09LKTsKKyAgICBYU01fQVNTRVJUX0FDVElPTihYU01fUFJJVik7CiAgICAg
cmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRv
bWFpbiwgZCk7CiB9CiAKQEAgLTc2Miw3ICs3NjQsNyBAQCBzdGF0aWMgWFNN
X0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX3ByaXZfCiBzdGF0aWMgWFNNX0lO
TElORSBpbnQgY2ZfY2hlY2sgeHNtX2lvcG9ydF9wZXJtaXNzaW9uKAogICAg
IFhTTV9ERUZBVUxUX0FSRyBzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBz
LCB1aW50MzJfdCBlLCB1aW50OF90IGFsbG93KQogewotICAgIFhTTV9BU1NF
UlRfQUNUSU9OKFhTTV9IT09LKTsKKyAgICBYU01fQVNTRVJUX0FDVElPTihY
U01fUFJJVik7CiAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rp
b24sIGN1cnJlbnQtPmRvbWFpbiwgZCk7CiB9CiAKLS0tIGEveGVuL3hzbS9m
bGFzay9ob29rcy5jCisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAt
NjgxLDcgKzY4MSw5IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9t
Y3RsKHN0cnVjdAogICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00g
aG9va3MgYW5kIGRvbid0IG1ha2UgaXQgaGVyZS4gKi8KICAgICBjYXNlIFhF
Tl9ET01DVExfYmluZF9wdF9pcnE6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2dl
dGRvbWFpbmluZm86CisgICAgY2FzZSBYRU5fRE9NQ1RMX2lvbWVtX3Blcm1p
c3Npb246CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nOgor
ICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbjoKICAgICBj
YXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAgICAgY2FzZSBYRU5f
RE9NQ1RMX3VuYmluZF9wdF9pcnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNI
QUJMRSgpOwpAQCAtNjkwLDE0ICs2OTIsMTIgQEAgc3RhdGljIGludCBjZl9j
aGVjayBmbGFza19kb21jdGwoc3RydWN0CiAgICAgLyogVGhlc2UgaGF2ZSBp
bmRpdmlkdWFsIFhTTSBob29rcyAoY29tbW9uL2RvbWN0bC5jKSAqLwogICAg
IGNhc2UgWEVOX0RPTUNUTF9zY2hlZHVsZXJfb3A6CiAgICAgY2FzZSBYRU5f
RE9NQ1RMX2lycV9wZXJtaXNzaW9uOgotICAgIGNhc2UgWEVOX0RPTUNUTF9p
b21lbV9wZXJtaXNzaW9uOgogICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRfdGFy
Z2V0OgogICAgIGNhc2UgWEVOX0RPTUNUTF92bV9ldmVudF9vcDoKIAogI2lm
ZGVmIENPTkZJR19YODYKICAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwg
WFNNIGhvb2tzIChhcmNoL3g4Ni9kb21jdGwuYykgKi8KICAgICBjYXNlIFhF
Tl9ET01DVExfc2hhZG93X29wOgotICAgIGNhc2UgWEVOX0RPTUNUTF9pb3Bv
cnRfcGVybWlzc2lvbjoKICNlbmRpZgogI2lmZGVmIENPTkZJR19IQVNfUEFT
U1RIUk9VR0gKICAgICAvKgo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.18-11.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.18-11.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2lycV9wZXJtaXNzaW9uIHdp
dGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRlZGljYXRlZCBs
b2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3QgcmVxdWlyZWQg
aGVyZSBhbnltb3JlLgpNb3ZlIHRoZSByZS1wdXJwb3NlZCAoWFNNX0hPT0sg
LT4gWFNNX1BSSVYsIGFzIHhzbV9kb21jdGwoKSBpcyBub3cKYnlwYXNzZWQp
IGRlZGljYXRlZCBYU00gY2hlY2tzIGFzIGVhcmx5IGFzIHBvc3NpYmxlLgoK
VGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIuCgpTaWduZWQtb2ZmLWJ5OiBKYW4g
QmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkFja2VkLWJ5OiBEYW5pZWwg
UC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+ClJldmll
d2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNv
bT4KCi0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMKKysrIGIveGVuL2NvbW1v
bi9kb21jdGwuYwpAQCAtNDUwLDYgKzQ1MCwzNiBAQCBsb25nIGRvX2RvbWN0
bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlCiAgICAgICAgIGdvdG8gZG9t
Y3RsX291dF91bmxvY2tfZG9tb25seTsKICAgICB9CiAKKyAgICBjYXNlIFhF
Tl9ET01DVExfaXJxX3Blcm1pc3Npb246CisgICAgeworICAgICAgICB1bnNp
Z25lZCBpbnQgcGlycSA9IG9wLT51LmlycV9wZXJtaXNzaW9uLnBpcnEsIGly
cTsKKyAgICAgICAgYm9vbCBhbGxvdyA9IG9wLT51LmlycV9wZXJtaXNzaW9u
LmFsbG93X2FjY2VzczsKKworICAgICAgICByZXQgPSAtRUlOVkFMOworICAg
ICAgICBpZiAoIHBpcnEgPj0gY3VycmVudC0+ZG9tYWluLT5ucl9waXJxcyAp
CisgICAgICAgICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7
CisKKyAgICAgICAgaXJxID0gZG9tYWluX3BpcnFfdG9faXJxKGN1cnJlbnQt
PmRvbWFpbiwgcGlycSk7CisKKyAgICAgICAgcmV0ID0gLUVQRVJNOworICAg
ICAgICBpZiAoIGlycSApCisgICAgICAgICAgICByZXQgPSB4c21faXJxX3Bl
cm1pc3Npb24oWFNNX1BSSVYsIGQsIGlycSwgYWxsb3cpOworICAgICAgICBp
ZiAoIHJldCApCisgICAgICAgICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2Nr
X2RvbW9ubHk7CisKKyAgICAgICAgaW9jYXBzX2RvdWJsZV9sb2NrKGQsIHRy
dWUpOworCisgICAgICAgIGlmICggIWlycV9hY2Nlc3NfcGVybWl0dGVkKGN1
cnJlbnQtPmRvbWFpbiwgaXJxKSApCisgICAgICAgICAgICByZXQgPSAtRVBF
Uk07CisgICAgICAgIGVsc2UgaWYgKCBhbGxvdyApCisgICAgICAgICAgICBy
ZXQgPSBpcnFfcGVybWl0X2FjY2VzcyhkLCBpcnEpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICByZXQgPSBpcnFfZGVueV9hY2Nlc3MoZCwgaXJxKTsK
KworICAgICAgICBpb2NhcHNfZG91YmxlX3VubG9jayhkLCB0cnVlKTsKKyAg
ICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5OworICAgIH0K
KwogICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbjoKICAg
ICBjYXNlIFhFTl9ET01DVExfaW9wb3J0X21hcHBpbmc6CiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgpAQCAtNzgzLDMxICs4MTMsNiBAQCBs
b25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlCiAgICAg
ICAgIH0KICAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIFhFTl9ET01DVExf
aXJxX3Blcm1pc3Npb246Ci0gICAgewotICAgICAgICB1bnNpZ25lZCBpbnQg
cGlycSA9IG9wLT51LmlycV9wZXJtaXNzaW9uLnBpcnEsIGlycTsKLSAgICAg
ICAgaW50IGFsbG93ID0gb3AtPnUuaXJxX3Blcm1pc3Npb24uYWxsb3dfYWNj
ZXNzOwotCi0gICAgICAgIGlmICggcGlycSA+PSBjdXJyZW50LT5kb21haW4t
Pm5yX3BpcnFzICkKLSAgICAgICAgewotICAgICAgICAgICAgcmV0ID0gLUVJ
TlZBTDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAg
ICAgaW9jYXBzX2RvdWJsZV9sb2NrKGQsIHRydWUpOwotCi0gICAgICAgIGly
cSA9IHBpcnFfYWNjZXNzX3Blcm1pdHRlZChjdXJyZW50LT5kb21haW4sIHBp
cnEpOwotICAgICAgICBpZiAoICFpcnEgfHwgeHNtX2lycV9wZXJtaXNzaW9u
KFhTTV9IT09LLCBkLCBpcnEsIGFsbG93KSApCi0gICAgICAgICAgICByZXQg
PSAtRVBFUk07Ci0gICAgICAgIGVsc2UgaWYgKCBhbGxvdyApCi0gICAgICAg
ICAgICByZXQgPSBpcnFfcGVybWl0X2FjY2VzcyhkLCBpcnEpOwotICAgICAg
ICBlbHNlCi0gICAgICAgICAgICByZXQgPSBpcnFfZGVueV9hY2Nlc3MoZCwg
aXJxKTsKLQotICAgICAgICBpb2NhcHNfZG91YmxlX3VubG9jayhkLCB0cnVl
KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2FzZSBYRU5fRE9N
Q1RMX3NldHRpbWVvZmZzZXQ6CiAgICAgICAgIGRvbWFpbl9zZXRfdGltZV9v
ZmZzZXQoZCwgb3AtPnUuc2V0dGltZW9mZnNldC50aW1lX29mZnNldF9zZWNv
bmRzKTsKICAgICAgICAgYnJlYWs7Ci0tLSBhL3hlbi9pbmNsdWRlL3hzbS9k
dW1teS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCkBAIC0xNzIs
NiArMTcyLDcgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhz
bV9kb21jdAogICAgIGNhc2UgWEVOX0RPTUNUTF9pb21lbV9wZXJtaXNzaW9u
OgogICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBj
YXNlIFhFTl9ET01DVExfaW9wb3J0X3Blcm1pc3Npb246CisgICAgY2FzZSBY
RU5fRE9NQ1RMX2lycV9wZXJtaXNzaW9uOgogICAgIGNhc2UgWEVOX0RPTUNU
TF9tZW1vcnlfbWFwcGluZzoKICAgICBjYXNlIFhFTl9ET01DVExfdW5iaW5k
X3B0X2lycToKICAgICAgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CkBAIC01
NjEsNyArNTYyLDcgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNr
IHhzbV91bm1hcAogc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhz
bV9pcnFfcGVybWlzc2lvbigKICAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0
IGRvbWFpbiAqZCwgaW50IHBpcnEsIHVpbnQ4X3QgYWxsb3cpCiB7Ci0gICAg
WFNNX0FTU0VSVF9BQ1RJT04oWFNNX0hPT0spOworICAgIFhTTV9BU1NFUlRf
QUNUSU9OKFhTTV9QUklWKTsKICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0
aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBkKTsKIH0KIAotLS0gYS94
ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIveGVuL3hzbS9mbGFzay9ob29r
cy5jCkBAIC02ODQsNiArNjg0LDcgQEAgc3RhdGljIGludCBjZl9jaGVjayBm
bGFza19kb21jdGwoc3RydWN0CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvbWVt
X3Blcm1pc3Npb246CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBw
aW5nOgogICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbjoK
KyAgICBjYXNlIFhFTl9ET01DVExfaXJxX3Blcm1pc3Npb246CiAgICAgY2Fz
ZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBwaW5nOgogICAgIGNhc2UgWEVOX0RP
TUNUTF91bmJpbmRfcHRfaXJxOgogICAgICAgICBBU1NFUlRfVU5SRUFDSEFC
TEUoKTsKQEAgLTY5MSw3ICs2OTIsNiBAQCBzdGF0aWMgaW50IGNmX2NoZWNr
IGZsYXNrX2RvbWN0bChzdHJ1Y3QKIAogICAgIC8qIFRoZXNlIGhhdmUgaW5k
aXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9kb21jdGwuYykgKi8KICAgICBj
YXNlIFhFTl9ET01DVExfc2NoZWR1bGVyX29wOgotICAgIGNhc2UgWEVOX0RP
TUNUTF9pcnFfcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9ET01DVExfc2V0
X3RhcmdldDoKICAgICBjYXNlIFhFTl9ET01DVExfdm1fZXZlbnRfb3A6CiAK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.18-12.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.18-12.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHZtX2V2ZW50X2NvbnRyb2wgaG9vawoKSW50
ZWdyYXRlIHRoZSBjaGVja2luZyB3aXRoIHhzbV9kb21jdGwoKS4gQ2FyZSBu
ZWVkcyB0byBiZSB0YWtlbiB3aXRoIHRoZQpHRVRfVkVSU0lPTiBzdWItb3As
IHdoaWNoIG1heSBiZSBpbnZva2VkIHdpdGggRE9NSURfSU5WQUxJRCwgYW5k
IHdoaWNoIGhhcwpiZWVuIChhbmQgY29udGludWVzIHRvIGJlKSBieXBhc3Np
bmcgWFNNIGNoZWNraW5nLgoKU2luY2UgdGhlIGxhdHRlciB0d28gcGFyYW1l
dGVycyB3ZXJlIHVudXNlZCwgbW9uaXRvcl9kb21jdGwoKSBpbnZva2luZyB0
aGUKaG9vayB3YXMgYWN0dWFsbHkgcmVkdW5kYW50IHdpdGggdGhlIGVhcmxp
ZXIgeHNtX2RvbWN0bCgpIChhcyBjYW4gYmUgc2VlbgpuaWNlbHkgZnJvbSB0
aGUgaHVua3MgY2hhbmdpbmcgeHNtL2ZsYXNrL2hvb2tzLmMpLgoKQXMgYSBw
b3NpdGl2ZSBzaWRlIGVmZmVjdCwgcGVybWlzc2lvbnMgYXJlIHRoZW4gY2hl
Y2tlZCBhdCB0aGUgc2FtZSBlYXJseQpwb2ludCB3aXRoIGFuZCB3aXRob3V0
IEZsYXNrLgoKV2hpbGUgZm9sZGluZyBYRU5fRE9NQ1RMX21vbml0b3Jfb3Ag
YW5kIFhFTl9ET01DVExfdm1fZXZlbnRfb3AgaW4KZmxhc2tfZG9tY3RsKCks
IGFsc28gZm9sZCBpbiBYRU5fRE9NQ1RMX3NldF9hY2Nlc3NfcmVxdWlyZWQu
CgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4KClNpZ25lZC1vZmYtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQWNrZWQtYnk6IERhbmll
bCBQLiBTbWl0aCA8ZHBzbWl0aEBhcGVydHVzc29sdXRpb25zLmNvbT4KUmV2
aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXgu
Y29tPgoKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYworKysgYi94ZW4vY29t
bW9uL2RvbWN0bC5jCkBAIC00ODAsNiArNDgwLDIzIEBAIGxvbmcgZG9fZG9t
Y3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICAgICAgZ290byBk
b21jdGxfb3V0X3VubG9ja19kb21vbmx5OwogICAgIH0KIAorICAgIGNhc2Ug
WEVOX0RPTUNUTF92bV9ldmVudF9vcDoKKyAgICAgICAgaWYgKCBvcC0+dS52
bV9ldmVudF9vcC5vcCA9PSBYRU5fVk1fRVZFTlRfR0VUX1ZFUlNJT04gKQor
ICAgICAgICB7CisgICAgICAgICAgICAvKiBObyBYU00gY2hlY2sgKGFuZCBw
b3RlbnRpYWxseSBkID09IE5VTEwpIGhlcmUuICovCisgICAgICAgICAgICBy
ZXQgPSB2bV9ldmVudF9kb21jdGwoZCwgJm9wLT51LnZtX2V2ZW50X29wKTsK
KyAgICAgICAgICAgIGlmICggIXJldCApCisgICAgICAgICAgICAgICAgY29w
eWJhY2sgPSB0cnVlOworICAgICAgICAgICAgZ290byBkb21jdGxfb3V0X3Vu
bG9ja19kb21vbmx5OworICAgICAgICB9CisgICAgICAgIGlmICggIWQgKQor
ICAgICAgICB7CisgICAgICAgICAgICByZXQgPSAtRVNSQ0g7CisgICAgICAg
ICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CisgICAgICAg
IH0KKyAgICAgICAgLyogT3RoZXIgc3ViLW9wcyBoYW5kbGVkIGZ1cnRoZXIg
ZG93bi4gKi8KKyAgICAgICAgYnJlYWs7CisKICAgICBjYXNlIFhFTl9ET01D
VExfaW9wb3J0X3Blcm1pc3Npb246CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lv
cG9ydF9tYXBwaW5nOgogICAgIGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0X2ly
cToKLS0tIGEveGVuL2NvbW1vbi9tb25pdG9yLmMKKysrIGIveGVuL2NvbW1v
bi9tb25pdG9yLmMKQEAgLTMwLDE2ICszMCwxMSBAQAogCiBpbnQgbW9uaXRv
cl9kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHhlbl9kb21jdGxf
bW9uaXRvcl9vcCAqbW9wKQogewotICAgIGludCByYzsKICAgICBib29sIHJl
cXVlc3RlZF9zdGF0dXMgPSBmYWxzZTsKIAogICAgIGlmICggdW5saWtlbHko
Y3VycmVudC0+ZG9tYWluID09IGQpICkgLyogbm8gZG9tYWluX3BhdXNlKCkg
Ki8KICAgICAgICAgcmV0dXJuIC1FUEVSTTsKIAotICAgIHJjID0geHNtX3Zt
X2V2ZW50X2NvbnRyb2woWFNNX1BSSVYsIGQsIG1vcC0+b3AsIG1vcC0+ZXZl
bnQpOwotICAgIGlmICggdW5saWtlbHkocmMpICkKLSAgICAgICAgcmV0dXJu
IHJjOwotCiAgICAgc3dpdGNoICggbW9wLT5vcCApCiAgICAgewogICAgIGNh
c2UgWEVOX0RPTUNUTF9NT05JVE9SX09QX0VOQUJMRToKLS0tIGEveGVuL2Nv
bW1vbi92bV9ldmVudC5jCisrKyBiL3hlbi9jb21tb24vdm1fZXZlbnQuYwpA
QCAtNjAyLDExICs2MDIsMTAgQEAgaW50IHZtX2V2ZW50X2RvbWN0bChzdHJ1
Y3QgZG9tYWluICpkLCBzdAogCiAgICAgLyogQWxsIG90aGVyIHN1Ym9wcyBu
ZWVkIHRvIHRhcmdldCBhIHJlYWwgZG9tYWluLiAqLwogICAgIGlmICggdW5s
aWtlbHkoZCA9PSBOVUxMKSApCi0gICAgICAgIHJldHVybiAtRVNSQ0g7Ci0K
LSAgICByYyA9IHhzbV92bV9ldmVudF9jb250cm9sKFhTTV9QUklWLCBkLCB2
ZWMtPm1vZGUsIHZlYy0+b3ApOwotICAgIGlmICggcmMgKQotICAgICAgICBy
ZXR1cm4gcmM7CisgICAgeworICAgICAgICBBU1NFUlRfVU5SRUFDSEFCTEUo
KTsKKyAgICAgICAgcmV0dXJuIC1FSUxTRVE7CisgICAgfQogCiAgICAgaWYg
KCB1bmxpa2VseShkID09IGN1cnJlbnQtPmRvbWFpbikgKSAvKiBubyBkb21h
aW5fcGF1c2UoKSAqLwogICAgIHsKLS0tIGEveGVuL2luY2x1ZGUveHNtL2R1
bW15LmgKKysrIGIveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKQEAgLTY1MCwx
MyArNjUwLDYgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhz
bV9odm1fYQogICAgIH0KIH0KIAotc3RhdGljIFhTTV9JTkxJTkUgaW50IGNm
X2NoZWNrIHhzbV92bV9ldmVudF9jb250cm9sKAotICAgIFhTTV9ERUZBVUxU
X0FSRyBzdHJ1Y3QgZG9tYWluICpkLCBpbnQgbW9kZSwgaW50IG9wKQotewot
ICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9QUklWKTsKLSAgICByZXR1cm4g
eHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBk
KTsKLX0KLQogI2lmZGVmIENPTkZJR19NRU1fQUNDRVNTCiBzdGF0aWMgWFNN
X0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX21lbV9hY2Nlc3MoWFNNX0RFRkFV
TFRfQVJHIHN0cnVjdCBkb21haW4gKmQpCiB7Ci0tLSBhL3hlbi9pbmNsdWRl
L3hzbS94c20uaAorKysgYi94ZW4vaW5jbHVkZS94c20veHNtLmgKQEAgLTE1
NCw4ICsxNTQsNiBAQCBzdHJ1Y3QgeHNtX29wcyB7CiAgICAgaW50ICgqaHZt
X2FsdHAybWh2bV9vcCkoc3RydWN0IGRvbWFpbiAqZCwgdWludDY0X3QgbW9k
ZSwgdWludDMyX3Qgb3ApOwogICAgIGludCAoKmdldF92bnVtYWluZm8pKHN0
cnVjdCBkb21haW4gKmQpOwogCi0gICAgaW50ICgqdm1fZXZlbnRfY29udHJv
bCkoc3RydWN0IGRvbWFpbiAqZCwgaW50IG1vZGUsIGludCBvcCk7Ci0KICNp
ZmRlZiBDT05GSUdfTUVNX0FDQ0VTUwogICAgIGludCAoKm1lbV9hY2Nlc3Mp
KHN0cnVjdCBkb21haW4gKmQpOwogI2VuZGlmCkBAIC02MzQsMTIgKzYzMiw2
IEBAIHN0YXRpYyBpbmxpbmUgaW50IHhzbV9nZXRfdm51bWFpbmZvKHhzbV8K
ICAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4c21fb3BzLmdldF92bnVt
YWluZm8sIGQpOwogfQogCi1zdGF0aWMgaW5saW5lIGludCB4c21fdm1fZXZl
bnRfY29udHJvbCgKLSAgICB4c21fZGVmYXVsdF90IGRlZiwgc3RydWN0IGRv
bWFpbiAqZCwgaW50IG1vZGUsIGludCBvcCkKLXsKLSAgICByZXR1cm4gYWx0
ZXJuYXRpdmVfY2FsbCh4c21fb3BzLnZtX2V2ZW50X2NvbnRyb2wsIGQsIG1v
ZGUsIG9wKTsKLX0KLQogI2lmZGVmIENPTkZJR19NRU1fQUNDRVNTCiBzdGF0
aWMgaW5saW5lIGludCB4c21fbWVtX2FjY2Vzcyh4c21fZGVmYXVsdF90IGRl
Ziwgc3RydWN0IGRvbWFpbiAqZCkKIHsKLS0tIGEveGVuL3hzbS9kdW1teS5j
CisrKyBiL3hlbi94c20vZHVtbXkuYwpAQCAtMTEwLDggKzExMCw2IEBAIHN0
YXRpYyBjb25zdCBzdHJ1Y3QgeHNtX29wcyBfX2luaXRjb25zdF8KICAgICAu
cmVtb3ZlX2Zyb21fcGh5c21hcCAgICAgICAgICAgPSB4c21fcmVtb3ZlX2Zy
b21fcGh5c21hcCwKICAgICAubWFwX2dtZm5fZm9yZWlnbiAgICAgICAgICAg
ICAgPSB4c21fbWFwX2dtZm5fZm9yZWlnbiwKIAotICAgIC52bV9ldmVudF9j
b250cm9sICAgICAgICAgICAgICA9IHhzbV92bV9ldmVudF9jb250cm9sLAot
CiAjaWZkZWYgQ09ORklHX01FTV9BQ0NFU1MKICAgICAubWVtX2FjY2VzcyAg
ICAgICAgICAgICAgICAgICAgPSB4c21fbWVtX2FjY2VzcywKICNlbmRpZgot
LS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIveGVuL3hzbS9mbGFz
ay9ob29rcy5jCkBAIC02OTMsNyArNjkzLDYgQEAgc3RhdGljIGludCBjZl9j
aGVjayBmbGFza19kb21jdGwoc3RydWN0CiAgICAgLyogVGhlc2UgaGF2ZSBp
bmRpdmlkdWFsIFhTTSBob29rcyAoY29tbW9uL2RvbWN0bC5jKSAqLwogICAg
IGNhc2UgWEVOX0RPTUNUTF9zY2hlZHVsZXJfb3A6CiAgICAgY2FzZSBYRU5f
RE9NQ1RMX3NldF90YXJnZXQ6Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX3ZtX2V2
ZW50X29wOgogCiAjaWZkZWYgQ09ORklHX1g4NgogICAgIC8qIFRoZXNlIGhh
dmUgaW5kaXZpZHVhbCBYU00gaG9va3MgKGFyY2gveDg2L2RvbWN0bC5jKSAq
LwpAQCAtNzg3LDkgKzc4Niw4IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxh
c2tfZG9tY3RsKHN0cnVjdAogICAgICAgICByZXR1cm4gY3VycmVudF9oYXNf
cGVybShkLCBTRUNDTEFTU19ET01BSU4sIERPTUFJTl9fVFJJR0dFUik7CiAK
ICAgICBjYXNlIFhFTl9ET01DVExfc2V0X2FjY2Vzc19yZXF1aXJlZDoKLSAg
ICAgICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9N
QUlOMiwgRE9NQUlOMl9fVk1fRVZFTlQpOwotCiAgICAgY2FzZSBYRU5fRE9N
Q1RMX21vbml0b3Jfb3A6CisgICAgY2FzZSBYRU5fRE9NQ1RMX3ZtX2V2ZW50
X29wOgogICAgICAgICByZXR1cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUND
TEFTU19ET01BSU4yLCBET01BSU4yX19WTV9FVkVOVCk7CiAKICAgICBjYXNl
IFhFTl9ET01DVExfZGVidWdfb3A6CkBAIC0xMzQ5LDExICsxMzQ3LDYgQEAg
c3RhdGljIGludCBjZl9jaGVjayBmbGFza19odm1fYWx0cDJtaHZtXwogICAg
IHJldHVybiBjdXJyZW50X2hhc19wZXJtKGQsIFNFQ0NMQVNTX0hWTSwgSFZN
X19BTFRQMk1IVk1fT1ApOwogfQogCi1zdGF0aWMgaW50IGNmX2NoZWNrIGZs
YXNrX3ZtX2V2ZW50X2NvbnRyb2woc3RydWN0IGRvbWFpbiAqZCwgaW50IG1v
ZGUsIGludCBvcCkKLXsKLSAgICByZXR1cm4gY3VycmVudF9oYXNfcGVybShk
LCBTRUNDTEFTU19ET01BSU4yLCBET01BSU4yX19WTV9FVkVOVCk7Ci19Ci0K
ICNpZmRlZiBDT05GSUdfTUVNX0FDQ0VTUwogc3RhdGljIGludCBjZl9jaGVj
ayBmbGFza19tZW1fYWNjZXNzKHN0cnVjdCBkb21haW4gKmQpCiB7CkBAIC0x
OTM3LDggKzE5MzAsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHhzbV9vcHMg
X19pbml0Y29uc3RfCiAgICAgLmRvX3hzbV9vcCA9IGRvX2ZsYXNrX29wLAog
ICAgIC5nZXRfdm51bWFpbmZvID0gZmxhc2tfZ2V0X3ZudW1haW5mbywKIAot
ICAgIC52bV9ldmVudF9jb250cm9sID0gZmxhc2tfdm1fZXZlbnRfY29udHJv
bCwKLQogI2lmZGVmIENPTkZJR19NRU1fQUNDRVNTCiAgICAgLm1lbV9hY2Nl
c3MgPSBmbGFza19tZW1fYWNjZXNzLAogI2VuZGlmCg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.18-13.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.18-13.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBwYXNzIGZ1bGwgc3RydWN0IHhlbl9kb21jdGwgdG8g
eHNtX2RvbWN0bCgpCgpTdWJzZXF1ZW50bHkgc29tZSBzdWItb3BzIHdpbGwg
d2FudCB0byBpbnNwZWN0IHRoZWlyIHN1Yi1zdWItb3BzLiBQbHVzCnRoaXMg
d2F5IHdlIGRvbid0IG5lZWQgdG8gcGFzcyBTU0lEcmVmIHNlcGFyYXRlbHkg
YW55bW9yZSBmb3IKZG9tYWluX2NyZWF0ZS4KClRoaXMgaXMgcGFydCBvZiBY
U0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRo
QGFwZXJ0dXNzb2x1dGlvbnMuY29tPgoKLS0tIGEveGVuL2FyY2gveDg2L21t
L3BhZ2luZy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYwpAQCAt
NzY3LDcgKzc2Nyw3IEBAIGxvbmcgZG9fcGFnaW5nX2RvbWN0bF9jb250KAog
ICAgIGlmICggZCA9PSBOVUxMICkKICAgICAgICAgcmV0dXJuIC1FU1JDSDsK
IAotICAgIHJldCA9IHhzbV9kb21jdGwoWFNNX09USEVSLCBkLCBvcC5jbWQs
IDAgLyogU1NJRHJlZiBub3QgYXBwbGljYWJsZSAqLyk7CisgICAgcmV0ID0g
eHNtX2RvbWN0bChYU01fT1RIRVIsIGQsICZvcCk7CiAgICAgaWYgKCAhcmV0
ICkKICAgICB7CiAgICAgICAgIGlmICggZG9tY3RsX2xvY2tfYWNxdWlyZSgp
ICkKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYworKysgYi94ZW4vY29tbW9u
L2RvbWN0bC5jCkBAIC01MDksOSArNTA5LDcgQEAgbG9uZyBkb19kb21jdGwo
WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICBicmVhazsKICAg
ICB9CiAKLSAgICByZXQgPSB4c21fZG9tY3RsKFhTTV9PVEhFUiwgZCwgb3At
PmNtZCwKLSAgICAgICAgICAgICAgICAgICAgIC8qIFNTSURSZWYgb25seSBh
cHBsaWNhYmxlIGZvciBjbWQgPT0gY3JlYXRlZG9tYWluICovCi0gICAgICAg
ICAgICAgICAgICAgICBvcC0+dS5jcmVhdGVkb21haW4uc3NpZHJlZik7Cisg
ICAgcmV0ID0geHNtX2RvbWN0bChYU01fT1RIRVIsIGQsIG9wKTsKICAgICBp
ZiAoIHJldCApCiAgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9t
b25seTsKIAotLS0gYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAorKysgYi94
ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTYyLDEwICsxNjIsMTAgQEAg
c3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9zZXRfdAogfQog
CiBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX2RvbWN0bCgK
LSAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgdW5zaWdu
ZWQgaW50IGNtZCwgdWludDMyX3Qgc3NpZHJlZikKKyAgICBYU01fREVGQVVM
VF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHhlbl9kb21jdGwgKm9w
KQogewogICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9PVEhFUik7Ci0gICAg
c3dpdGNoICggY21kICkKKyAgICBzd2l0Y2ggKCBvcC0+Y21kICkKICAgICB7
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgogICAgIGNhc2Ug
WEVOX0RPTUNUTF9nZXRkb21haW5pbmZvOgotLS0gYS94ZW4vaW5jbHVkZS94
c20veHNtLmgKKysrIGIveGVuL2luY2x1ZGUveHNtL3hzbS5oCkBAIC02MCw3
ICs2MCw3IEBAIHN0cnVjdCB4c21fb3BzIHsKICAgICBpbnQgKCpkb21jdGxf
c2NoZWR1bGVyX29wKShzdHJ1Y3QgZG9tYWluICpkLCBpbnQgb3ApOwogICAg
IGludCAoKnN5c2N0bF9zY2hlZHVsZXJfb3ApKGludCBvcCk7CiAgICAgaW50
ICgqc2V0X3RhcmdldCkoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGRvbWFp
biAqZSk7Ci0gICAgaW50ICgqZG9tY3RsKShzdHJ1Y3QgZG9tYWluICpkLCB1
bnNpZ25lZCBpbnQgY21kLCB1aW50MzJfdCBzc2lkcmVmKTsKKyAgICBpbnQg
KCpkb21jdGwpKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCB4ZW5fZG9tY3Rs
ICpvcCk7CiAgICAgaW50ICgqc3lzY3RsKShpbnQgY21kKTsKICAgICBpbnQg
KCpyZWFkY29uc29sZSkodWludDMyX3QgY2xlYXIpOwogCkBAIC0yNDksOSAr
MjQ5LDkgQEAgc3RhdGljIGlubGluZSBpbnQgeHNtX3NldF90YXJnZXQoCiB9
CiAKIHN0YXRpYyBpbmxpbmUgaW50IHhzbV9kb21jdGwoeHNtX2RlZmF1bHRf
dCBkZWYsIHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCBjbWQsIHVpbnQzMl90IHNzaWRyZWYp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9t
Y3RsICpvcCkKIHsKLSAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4c21f
b3BzLmRvbWN0bCwgZCwgY21kLCBzc2lkcmVmKTsKKyAgICByZXR1cm4gYWx0
ZXJuYXRpdmVfY2FsbCh4c21fb3BzLmRvbWN0bCwgZCwgb3ApOwogfQogCiBz
dGF0aWMgaW5saW5lIGludCB4c21fc3lzY3RsKHhzbV9kZWZhdWx0X3QgZGVm
LCBpbnQgY21kKQotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIv
eGVuL3hzbS9mbGFzay9ob29rcy5jCkBAIC02NjMsMTAgKzY2Myw5IEBAIHN0
YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfc2V0X3RhcmdldChzdHIKICAgICBy
ZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9t
Y3RsKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBjbWQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzc2lkcmVm
KQorc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0IGRv
bWFpbiAqZCwgc3RydWN0IHhlbl9kb21jdGwgKm9wKQogewotICAgIHN3aXRj
aCAoIGNtZCApCisgICAgc3dpdGNoICggb3AtPmNtZCApCiAgICAgewogICAg
IGNhc2UgWEVOX0RPTUNUTF9jcmVhdGVkb21haW46CiAgICAgICAgIC8qCkBA
IC02NzYsNyArNjc1LDggQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19k
b21jdGwoc3RydWN0CiAgICAgICAgICAqIE5vdGUgdGhhdCBkIGlzIE5VTEwg
YmVjYXVzZSB3ZSBoYXZlbid0IGV2ZW4gYWxsb2NhdGVkIG1lbW9yeSBmb3Ig
aXQKICAgICAgICAgICogdGhpcyBlYXJseSBpbiBYRU5fRE9NQ1RMX2NyZWF0
ZWRvbWFpbi4KICAgICAgICAgICovCi0gICAgICAgIHJldHVybiBhdmNfY3Vy
cmVudF9oYXNfcGVybShzc2lkcmVmLCBTRUNDTEFTU19ET01BSU4sIERPTUFJ
Tl9fQ1JFQVRFLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuIGF2Y19jdXJyZW50
X2hhc19wZXJtKG9wLT51LmNyZWF0ZWRvbWFpbi5zc2lkcmVmLCBTRUNDTEFT
U19ET01BSU4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBET01BSU5fX0NSRUFURSwgTlVMTCk7CiAKICAgICAvKiBUaGVzZSBoYXZl
IGluZGl2aWR1YWwgWFNNIGhvb2tzIGFuZCBkb24ndCBtYWtlIGl0IGhlcmUu
ICovCiAgICAgY2FzZSBYRU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgpAQCAtODQz
LDcgKzg0Myw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3Rs
KHN0cnVjdAogICAgICAgICByZXR1cm4gY3VycmVudF9oYXNfcGVybShkLCBT
RUNDTEFTU19ET01BSU4sIERPTUFJTl9fU0VUUEFHSU5HTUVNUE9PTCk7CiAK
ICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gYXZjX3Vua25vd25fcGVy
bWlzc2lvbigiZG9tY3RsIiwgY21kKTsKKyAgICAgICAgcmV0dXJuIGF2Y191
bmtub3duX3Blcm1pc3Npb24oImRvbWN0bCIsIG9wLT5jbWQpOwogICAgIH0K
IH0KIAo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.18-14.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.18-14.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHNjaGVkdWxlcl9vcCBob29rCgpJbnRlZ3Jh
dGUgdGhlIGNoZWNraW5nIHdpdGggeHNtX2RvbWN0bCgpLCBub3cgdGhhdCBp
dCBoYXMgdGhlIGZ1bGwgb3AKc3RydWN0IHBhc3NlZC4gQXMgYSBwb3NpdGl2
ZSBzaWRlIGVmZmVjdCwgcGVybWlzc2lvbnMgYXJlIHRoZW4gY2hlY2tlZCBh
dAp0aGUgc2FtZSBlYXJseSBwb2ludCB3aXRoIGFuZCB3aXRob3V0IEZsYXNr
LgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIuCgpTaWduZWQtb2ZmLWJ5OiBK
YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkFja2VkLWJ5OiBEYW5p
ZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+ClJl
dmlld2VkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+Cgot
LS0gYS94ZW4vY29tbW9uL3NjaGVkL2NvcmUuYworKysgYi94ZW4vY29tbW9u
L3NjaGVkL2NvcmUuYwpAQCAtMjA1OCwxMCArMjA1OCw2IEBAIGxvbmcgc2No
ZWRfYWRqdXN0KHN0cnVjdCBkb21haW4gKmQsIHN0cnUKIHsKICAgICBsb25n
IHJldDsKIAotICAgIHJldCA9IHhzbV9kb21jdGxfc2NoZWR1bGVyX29wKFhT
TV9IT09LLCBkLCBvcC0+Y21kKTsKLSAgICBpZiAoIHJldCApCi0gICAgICAg
IHJldHVybiByZXQ7Ci0KICAgICBpZiAoIG9wLT5zY2hlZF9pZCAhPSBkb21f
c2NoZWR1bGVyKGQpLT5zY2hlZF9pZCApCiAgICAgICAgIHJldHVybiAtRUlO
VkFMOwogCi0tLSBhL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCisrKyBiL3hl
bi9pbmNsdWRlL3hzbS9kdW1teS5oCkBAIC0xNDEsMTMgKzE0MSw2IEBAIHN0
YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZ2V0ZG8KICAgICBy
ZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9t
YWluLCBkKTsKIH0KIAotc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNr
IHhzbV9kb21jdGxfc2NoZWR1bGVyX29wKAotICAgIFhTTV9ERUZBVUxUX0FS
RyBzdHJ1Y3QgZG9tYWluICpkLCBpbnQgY21kKQotewotICAgIFhTTV9BU1NF
UlRfQUNUSU9OKFhTTV9IT09LKTsKLSAgICByZXR1cm4geHNtX2RlZmF1bHRf
YWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBkKTsKLX0KLQogc3Rh
dGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9zeXNjdGxfc2NoZWR1
bGVyX29wKFhTTV9ERUZBVUxUX0FSRyBpbnQgY21kKQogewogICAgIFhTTV9B
U1NFUlRfQUNUSU9OKFhTTV9IT09LKTsKLS0tIGEveGVuL2luY2x1ZGUveHNt
L3hzbS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS94c20uaApAQCAtNTcsNyAr
NTcsNiBAQCBzdHJ1Y3QgeHNtX29wcyB7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX2dldGRvbWFpbmluZm8g
KmluZm8pOwogICAgIGludCAoKmRvbWFpbl9jcmVhdGUpKHN0cnVjdCBkb21h
aW4gKmQsIHVpbnQzMl90IHNzaWRyZWYpOwogICAgIGludCAoKmdldGRvbWFp
bmluZm8pKHN0cnVjdCBkb21haW4gKmQpOwotICAgIGludCAoKmRvbWN0bF9z
Y2hlZHVsZXJfb3ApKHN0cnVjdCBkb21haW4gKmQsIGludCBvcCk7CiAgICAg
aW50ICgqc3lzY3RsX3NjaGVkdWxlcl9vcCkoaW50IG9wKTsKICAgICBpbnQg
KCpzZXRfdGFyZ2V0KShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZG9tYWlu
ICplKTsKICAgICBpbnQgKCpkb21jdGwpKHN0cnVjdCBkb21haW4gKmQsIHN0
cnVjdCB4ZW5fZG9tY3RsICpvcCk7CkBAIC0yMzEsMTIgKzIzMCw2IEBAIHN0
YXRpYyBpbmxpbmUgaW50IHhzbV9nZXRkb21haW5pbmZvKHhzbV8KICAgICBy
ZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4c21fb3BzLmdldGRvbWFpbmluZm8s
IGQpOwogfQogCi1zdGF0aWMgaW5saW5lIGludCB4c21fZG9tY3RsX3NjaGVk
dWxlcl9vcCgKLSAgICB4c21fZGVmYXVsdF90IGRlZiwgc3RydWN0IGRvbWFp
biAqZCwgaW50IGNtZCkKLXsKLSAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2Fs
bCh4c21fb3BzLmRvbWN0bF9zY2hlZHVsZXJfb3AsIGQsIGNtZCk7Ci19Ci0K
IHN0YXRpYyBpbmxpbmUgaW50IHhzbV9zeXNjdGxfc2NoZWR1bGVyX29wKHhz
bV9kZWZhdWx0X3QgZGVmLCBpbnQgY21kKQogewogICAgIHJldHVybiBhbHRl
cm5hdGl2ZV9jYWxsKHhzbV9vcHMuc3lzY3RsX3NjaGVkdWxlcl9vcCwgY21k
KTsKLS0tIGEveGVuL3hzbS9kdW1teS5jCisrKyBiL3hlbi94c20vZHVtbXku
YwpAQCAtMTgsNyArMTgsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHhzbV9v
cHMgX19pbml0Y29uc3RfCiAgICAgLnNlY3VyaXR5X2RvbWFpbmluZm8gICAg
ICAgICAgID0geHNtX3NlY3VyaXR5X2RvbWFpbmluZm8sCiAgICAgLmRvbWFp
bl9jcmVhdGUgICAgICAgICAgICAgICAgID0geHNtX2RvbWFpbl9jcmVhdGUs
CiAgICAgLmdldGRvbWFpbmluZm8gICAgICAgICAgICAgICAgID0geHNtX2dl
dGRvbWFpbmluZm8sCi0gICAgLmRvbWN0bF9zY2hlZHVsZXJfb3AgICAgICAg
ICAgID0geHNtX2RvbWN0bF9zY2hlZHVsZXJfb3AsCiAgICAgLnN5c2N0bF9z
Y2hlZHVsZXJfb3AgICAgICAgICAgID0geHNtX3N5c2N0bF9zY2hlZHVsZXJf
b3AsCiAgICAgLnNldF90YXJnZXQgICAgICAgICAgICAgICAgICAgID0geHNt
X3NldF90YXJnZXQsCiAgICAgLmRvbWN0bCAgICAgICAgICAgICAgICAgICAg
ICAgID0geHNtX2RvbWN0bCwKLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5j
CisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjA3LDcgKzYwNyw3
IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZ2V0ZG9tYWluaW5mbygK
ICAgICByZXR1cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUNDTEFTU19ET01B
SU4sIERPTUFJTl9fR0VURE9NQUlOSU5GTyk7CiB9CiAKLXN0YXRpYyBpbnQg
Y2ZfY2hlY2sgZmxhc2tfZG9tY3RsX3NjaGVkdWxlcl9vcChzdHJ1Y3QgZG9t
YWluICpkLCBpbnQgb3ApCitzdGF0aWMgaW50IGZsYXNrX2RvbWN0bF9zY2hl
ZHVsZXJfb3Aoc3RydWN0IGRvbWFpbiAqZCwgaW50IG9wKQogewogICAgIHN3
aXRjaCAoIG9wICkKICAgICB7CkBAIC02OTEsNyArNjkxLDYgQEAgc3RhdGlj
IGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0CiAgICAgICAgIHJl
dHVybiAtRUlMU0VROwogCiAgICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFs
IFhTTSBob29rcyAoY29tbW9uL2RvbWN0bC5jKSAqLwotICAgIGNhc2UgWEVO
X0RPTUNUTF9zY2hlZHVsZXJfb3A6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Nl
dF90YXJnZXQ6CiAKICNpZmRlZiBDT05GSUdfWDg2CkBAIC03MzksNiArNzM4
LDkgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3NldGRvbWFpbmhhbmRsZToKICAgICAg
ICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9NQUlO
LCBET01BSU5fX1NFVERPTUFJTkhBTkRMRSk7CiAKKyAgICBjYXNlIFhFTl9E
T01DVExfc2NoZWR1bGVyX29wOgorICAgICAgICByZXR1cm4gZmxhc2tfZG9t
Y3RsX3NjaGVkdWxlcl9vcChkLCBvcC0+dS5zY2hlZHVsZXJfb3AuY21kKTsK
KwogICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRfZXh0X3ZjcHVjb250ZXh0Ogog
ICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRfdmNwdV9tc3JzOgogICAgIGNhc2Ug
WEVOX0RPTUNUTF9zZXR2Y3B1Y29udGV4dDoKQEAgLTE4NTYsNyArMTg1OCw2
IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeHNtX29wcyBfX2luaXRjb25zdF8K
ICAgICAuc2VjdXJpdHlfZG9tYWluaW5mbyA9IGZsYXNrX3NlY3VyaXR5X2Rv
bWFpbmluZm8sCiAgICAgLmRvbWFpbl9jcmVhdGUgPSBmbGFza19kb21haW5f
Y3JlYXRlLAogICAgIC5nZXRkb21haW5pbmZvID0gZmxhc2tfZ2V0ZG9tYWlu
aW5mbywKLSAgICAuZG9tY3RsX3NjaGVkdWxlcl9vcCA9IGZsYXNrX2RvbWN0
bF9zY2hlZHVsZXJfb3AsCiAgICAgLnN5c2N0bF9zY2hlZHVsZXJfb3AgPSBm
bGFza19zeXNjdGxfc2NoZWR1bGVyX29wLAogICAgIC5zZXRfdGFyZ2V0ID0g
Zmxhc2tfc2V0X3RhcmdldCwKICAgICAuZG9tY3RsID0gZmxhc2tfZG9tY3Rs
LAo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.18-15.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.18-15.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHNoYWRvd19jb250cm9sX29wIGhvb2sKCklu
dGVncmF0ZSB0aGUgY2hlY2tpbmcgd2l0aCB4c21fZG9tY3RsKCksIG5vdyB0
aGF0IGl0IGhhcyB0aGUgZnVsbCBvcApzdHJ1Y3QgcGFzc2VkLiBBcyBhIHBv
c2l0aXZlIHNpZGUgZWZmZWN0LCBwZXJtaXNzaW9ucyBhcmUgdGhlbiBjaGVj
a2VkIGF0CnRoZSBzYW1lIGVhcmx5IHBvaW50IHdpdGggYW5kIHdpdGhvdXQg
Rmxhc2suCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4KClNpZ25lZC1vZmYt
Ynk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQWNrZWQtYnk6
IERhbmllbCBQLiBTbWl0aCA8ZHBzbWl0aEBhcGVydHVzc29sdXRpb25zLmNv
bT4KCi0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYworKysgYi94ZW4v
YXJjaC94ODYvbW0vcGFnaW5nLmMKQEAgLTcwOSwxMCArNzA5LDYgQEAgaW50
IHBhZ2luZ19kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgc3RydQogICAgICAg
ICByZXR1cm4gLUVCVVNZOwogICAgIH0KIAotICAgIHJjID0geHNtX3NoYWRv
d19jb250cm9sKFhTTV9IT09LLCBkLCBzYy0+b3ApOwotICAgIGlmICggcmMg
KQotICAgICAgICByZXR1cm4gcmM7Ci0KICAgICAvKiBDb2RlIHRvIGhhbmRs
ZSBsb2ctZGlydHkuIE5vdGUgdGhhdCBzb21lIGxvZyBkaXJ0eSBvcGVyYXRp
b25zCiAgICAgICogcGlnZ3ktYmFjayBvbiBzaGFkb3cgb3BlcmF0aW9ucy4g
Rm9yIGV4YW1wbGUsIHdoZW4KICAgICAgKiBYRU5fRE9NQ1RMX1NIQURPV19P
UF9PRkYgaXMgY2FsbGVkLCBpdCBmaXJzdCBjaGVja3Mgd2hldGhlciBsb2cg
ZGlydHkKLS0tIGEveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKKysrIGIveGVu
L2luY2x1ZGUveHNtL2R1bW15LmgKQEAgLTY4MCwxMyArNjgwLDYgQEAgc3Rh
dGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9kb19tYwogICAgIHJl
dHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5kb21h
aW4sIE5VTEwpOwogfQogCi1zdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hl
Y2sgeHNtX3NoYWRvd19jb250cm9sKAotICAgIFhTTV9ERUZBVUxUX0FSRyBz
dHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBvcCkKLXsKLSAgICBYU01fQVNT
RVJUX0FDVElPTihYU01fSE9PSyk7Ci0gICAgcmV0dXJuIHhzbV9kZWZhdWx0
X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgZCk7Ci19Ci0KIHN0
YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fbWVtX3NoYXJpbmdf
b3AoCiAgICAgWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQsIHN0
cnVjdCBkb21haW4gKmNkLCBpbnQgb3ApCiB7Ci0tLSBhL3hlbi9pbmNsdWRl
L3hzbS94c20uaAorKysgYi94ZW4vaW5jbHVkZS94c20veHNtLmgKQEAgLTE2
OSw3ICsxNjksNiBAQCBzdHJ1Y3QgeHNtX29wcyB7CiAKICNpZmRlZiBDT05G
SUdfWDg2CiAgICAgaW50ICgqZG9fbWNhKSh2b2lkKTsKLSAgICBpbnQgKCpz
aGFkb3dfY29udHJvbCkoc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3Qgb3Ap
OwogICAgIGludCAoKm1lbV9zaGFyaW5nX29wKShzdHJ1Y3QgZG9tYWluICpk
LCBzdHJ1Y3QgZG9tYWluICpjZCwgaW50IG9wKTsKICAgICBpbnQgKCphcGlj
KShzdHJ1Y3QgZG9tYWluICpkLCBpbnQgY21kKTsKICAgICBpbnQgKCptYWNo
aW5lX21lbW9yeV9tYXApKHZvaWQpOwpAQCAtNjU3LDEyICs2NTYsNiBAQCBz
dGF0aWMgaW5saW5lIGludCB4c21fZG9fbWNhKHhzbV9kZWZhdWx0CiAgICAg
cmV0dXJuIGFsdGVybmF0aXZlX2NhbGwoeHNtX29wcy5kb19tY2EpOwogfQog
Ci1zdGF0aWMgaW5saW5lIGludCB4c21fc2hhZG93X2NvbnRyb2woCi0gICAg
eHNtX2RlZmF1bHRfdCBkZWYsIHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90
IG9wKQotewotICAgIHJldHVybiBhbHRlcm5hdGl2ZV9jYWxsKHhzbV9vcHMu
c2hhZG93X2NvbnRyb2wsIGQsIG9wKTsKLX0KLQogc3RhdGljIGlubGluZSBp
bnQgeHNtX21lbV9zaGFyaW5nX29wKAogICAgIHhzbV9kZWZhdWx0X3QgZGVm
LCBzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZG9tYWluICpjZCwgaW50IG9w
KQogewotLS0gYS94ZW4veHNtL2R1bW15LmMKKysrIGIveGVuL3hzbS9kdW1t
eS5jCkBAIC0xMjQsNyArMTI0LDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB4
c21fb3BzIF9faW5pdGNvbnN0XwogICAgIC5wbGF0Zm9ybV9vcCAgICAgICAg
ICAgICAgICAgICA9IHhzbV9wbGF0Zm9ybV9vcCwKICNpZmRlZiBDT05GSUdf
WDg2CiAgICAgLmRvX21jYSAgICAgICAgICAgICAgICAgICAgICAgID0geHNt
X2RvX21jYSwKLSAgICAuc2hhZG93X2NvbnRyb2wgICAgICAgICAgICAgICAg
PSB4c21fc2hhZG93X2NvbnRyb2wsCiAgICAgLm1lbV9zaGFyaW5nX29wICAg
ICAgICAgICAgICAgID0geHNtX21lbV9zaGFyaW5nX29wLAogICAgIC5hcGlj
ICAgICAgICAgICAgICAgICAgICAgICAgICA9IHhzbV9hcGljLAogICAgIC5t
YWNoaW5lX21lbW9yeV9tYXAgICAgICAgICAgICA9IHhzbV9tYWNoaW5lX21l
bW9yeV9tYXAsCi0tLSBhL3hlbi94c20vZmxhc2svaG9va3MuYworKysgYi94
ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAgLTQwLDYgKzQwLDcgQEAKIAogI2lm
ZGVmIENPTkZJR19YODYKICNpbmNsdWRlIDxhc20vcHYvc2hpbS5oPgorc3Rh
dGljIGludCBmbGFza19zaGFkb3dfY29udHJvbChzdHJ1Y3QgZG9tYWluICpk
LCB1bnNpZ25lZCBpbnQgb3ApOwogI2Vsc2UKICNkZWZpbmUgcHZfc2hpbSBm
YWxzZQogI2VuZGlmCkBAIC02OTMsMTAgKzY5NCw2IEBAIHN0YXRpYyBpbnQg
Y2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAogICAgIC8qIFRoZXNlIGhh
dmUgaW5kaXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9kb21jdGwuYykgKi8K
ICAgICBjYXNlIFhFTl9ET01DVExfc2V0X3RhcmdldDoKIAotI2lmZGVmIENP
TkZJR19YODYKLSAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhv
b2tzIChhcmNoL3g4Ni9kb21jdGwuYykgKi8KLSAgICBjYXNlIFhFTl9ET01D
VExfc2hhZG93X29wOgotI2VuZGlmCiAjaWZkZWYgQ09ORklHX0hBU19QQVNT
VEhST1VHSAogICAgIC8qCiAgICAgICogVGhlc2UgaGF2ZSBpbmRpdmlkdWFs
IFhTTSBob29rcwpAQCAtNzgxLDYgKzc3OCwxMSBAQCBzdGF0aWMgaW50IGNm
X2NoZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICBjYXNlIFhFTl9ET01D
VExfZ2V0X2FkZHJlc3Nfc2l6ZToKICAgICAgICAgcmV0dXJuIGN1cnJlbnRf
aGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9NQUlOLCBET01BSU5fX0dFVEFERFJT
SVpFKTsKIAorI2lmZGVmIENPTkZJR19YODYKKyAgICBjYXNlIFhFTl9ET01D
VExfc2hhZG93X29wOgorICAgICAgICByZXR1cm4gZmxhc2tfc2hhZG93X2Nv
bnRyb2woZCwgb3AtPnUuc2hhZG93X29wLm9wKTsKKyNlbmRpZgorCiAgICAg
Y2FzZSBYRU5fRE9NQ1RMX21lbV9zaGFyaW5nX29wOgogICAgICAgICByZXR1
cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUNDTEFTU19IVk0sIEhWTV9fTUVN
X1NIQVJJTkcpOwogCkBAIC0xNTg0LDcgKzE1ODYsNyBAQCBzdGF0aWMgaW50
IGNmX2NoZWNrIGZsYXNrX2RvX21jYSh2b2lkKQogICAgIHJldHVybiBkb21h
aW5faGFzX3hlbihjdXJyZW50LT5kb21haW4sIFhFTl9fTUNBX09QKTsKIH0K
IAotc3RhdGljIGludCBjZl9jaGVjayBmbGFza19zaGFkb3dfY29udHJvbChz
dHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBvcCkKK3N0YXRpYyBpbnQgZmxh
c2tfc2hhZG93X2NvbnRyb2woc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQg
aW50IG9wKQogewogICAgIHVpbnQzMl90IHBlcm07CiAKQEAgLTE5NjUsNyAr
MTk2Nyw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeHNtX29wcyBfX2luaXRj
b25zdF8KICAgICAucGxhdGZvcm1fb3AgPSBmbGFza19wbGF0Zm9ybV9vcCwK
ICNpZmRlZiBDT05GSUdfWDg2CiAgICAgLmRvX21jYSA9IGZsYXNrX2RvX21j
YSwKLSAgICAuc2hhZG93X2NvbnRyb2wgPSBmbGFza19zaGFkb3dfY29udHJv
bCwKICAgICAubWVtX3NoYXJpbmdfb3AgPSBmbGFza19tZW1fc2hhcmluZ19v
cCwKICAgICAuYXBpYyA9IGZsYXNrX2FwaWMsCiAgICAgLm1hY2hpbmVfbWVt
b3J5X21hcCA9IGZsYXNrX21hY2hpbmVfbWVtb3J5X21hcCwK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.18-16.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.18-16.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2dldF9kZXZpY2VfZ3JvdXAg
d2l0aG91dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKCmlvbW11X2dldF9kZXZp
Y2VfZ3JvdXAoKSB1c2VzIGl0cyBvd24gbG9ja2luZy4gVGh1cywgd2l0aCBj
YWxsZXIgc2lkZQpsb2NraW5nIGlycmVsZXZhbnQsIGl0IGNhbiBhcyB3ZWxs
IGJlIGNhbGxlZCB3aXRoIHRoZSBkb21jdGwgbG9jayBub3QKaGVsZC4KCk1v
dmUgdGhlIGhhbmRsaW5nIG5vdCBvbmx5IGFoZWFkIG9mIGFjcXVpcmluZyB0
aGUgbG9jaywgYnV0IGFsc28gYWhlYWQKb2YgdGhlIFhTTSBjaGVjaywgbGV2
ZXJhZ2luZyB0aGF0IHRoZSBzdWItb3AgaGFzIGl0cyBvd24gaG9vay4KClRo
aXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJl
dWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpBY2tlZC1ieTogRGFuaWVsIFAu
IFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29tPgpSZXZpZXdl
ZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+
CgotLS0gYS94ZW4vY29tbW9uL2RvbWN0bC5jCisrKyBiL3hlbi9jb21tb24v
ZG9tY3RsLmMKQEAgLTQ5Nyw2ICs0OTcsMTAgQEAgbG9uZyBkb19kb21jdGwo
WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICAvKiBPdGhlciBz
dWItb3BzIGhhbmRsZWQgZnVydGhlciBkb3duLiAqLwogICAgICAgICBicmVh
azsKIAorICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRfZGV2aWNlX2dyb3VwOgor
ICAgICAgICByZXQgPSBpb21tdV9kb19kb21jdGwob3AsIGQsIHVfZG9tY3Rs
KTsKKyAgICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5Owor
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNzaW9uOgogICAg
IGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBjYXNlIFhF
Tl9ET01DVExfYmluZF9wdF9pcnE6CkBAIC05MTksNyArOTIzLDYgQEAgbG9u
ZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgIGNh
c2UgWEVOX0RPTUNUTF9hc3NpZ25fZGV2aWNlOgogICAgIGNhc2UgWEVOX0RP
TUNUTF90ZXN0X2Fzc2lnbl9kZXZpY2U6CiAgICAgY2FzZSBYRU5fRE9NQ1RM
X2RlYXNzaWduX2RldmljZToKLSAgICBjYXNlIFhFTl9ET01DVExfZ2V0X2Rl
dmljZV9ncm91cDoKICAgICAgICAgcmV0ID0gaW9tbXVfZG9fZG9tY3RsKG9w
LCBkLCB1X2RvbWN0bCk7CiAgICAgICAgIGJyZWFrOwogCi0tLSBhL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bh
c3N0aHJvdWdoL3BjaS5jCkBAIC0xNTEyLDcgKzE1MTIsNyBAQCBzdGF0aWMg
aW50IGlvbW11X2dldF9kZXZpY2VfZ3JvdXAoCiAgICAgICAgIGlmICggKHBk
ZXYtPnNlZyAhPSBzZWcpIHx8ICgoYiA9PSBidXMpICYmIChkZiA9PSBkZXZm
bikpICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGlmICgg
eHNtX2dldF9kZXZpY2VfZ3JvdXAoWFNNX0hPT0ssIChzZWcgPDwgMTYpIHwg
KGIgPDwgOCkgfCBkZikgKQorICAgICAgICBpZiAoIHhzbV9nZXRfZGV2aWNl
X2dyb3VwKFhTTV9QUklWLCAoc2VnIDw8IDE2KSB8IChiIDw8IDgpIHwgZGYp
ICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIHNkZXZfaWQg
PSBpb21tdV9jYWxsKG9wcywgZ2V0X2RldmljZV9ncm91cF9pZCwgc2VnLCBi
LCBkZik7CkBAIC0xNTgyLDcgKzE1ODIsNyBAQCBpbnQgaW9tbXVfZG9fcGNp
X2RvbWN0bCgKICAgICAgICAgdTMyIG1heF9zZGV2czsKICAgICAgICAgWEVO
X0dVRVNUX0hBTkRMRV82NCh1aW50MzIpIHNkZXZzOwogCi0gICAgICAgIHJl
dCA9IHhzbV9nZXRfZGV2aWNlX2dyb3VwKFhTTV9IT09LLCBkb21jdGwtPnUu
Z2V0X2RldmljZV9ncm91cC5tYWNoaW5lX3NiZGYpOworICAgICAgICByZXQg
PSB4c21fZ2V0X2RldmljZV9ncm91cChYU01fUFJJViwgZG9tY3RsLT51Lmdl
dF9kZXZpY2VfZ3JvdXAubWFjaGluZV9zYmRmKTsKICAgICAgICAgaWYgKCBy
ZXQgKQogICAgICAgICAgICAgYnJlYWs7CiAKLS0tIGEveGVuL2luY2x1ZGUv
eHNtL2R1bW15LmgKKysrIGIveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKQEAg
LTE2Miw2ICsxNjIsNyBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hl
Y2sgeHNtX2RvbWN0CiAgICAgewogICAgIGNhc2UgWEVOX0RPTUNUTF9iaW5k
X3B0X2lycToKICAgICBjYXNlIFhFTl9ET01DVExfZ2V0ZG9tYWluaW5mbzoK
KyAgICBjYXNlIFhFTl9ET01DVExfZ2V0X2RldmljZV9ncm91cDoKICAgICBj
YXNlIFhFTl9ET01DVExfaW9tZW1fcGVybWlzc2lvbjoKICAgICBjYXNlIFhF
Tl9ET01DVExfaW9wb3J0X21hcHBpbmc6CiAgICAgY2FzZSBYRU5fRE9NQ1RM
X2lvcG9ydF9wZXJtaXNzaW9uOgpAQCAtMzk5LDcgKzQwMCw3IEBAIHN0YXRp
YyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZ2V0X3YKIHN0YXRpYyBY
U01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZ2V0X2RldmljZV9ncm91cCgK
ICAgICBYU01fREVGQVVMVF9BUkcgdWludDMyX3QgbWFjaGluZV9iZGYpCiB7
Ci0gICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX0hPT0spOworICAgIFhTTV9B
U1NFUlRfQUNUSU9OKFhTTV9QUklWKTsKICAgICByZXR1cm4geHNtX2RlZmF1
bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBOVUxMKTsKIH0K
IAotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIveGVuL3hzbS9m
bGFzay9ob29rcy5jCkBAIC02ODIsNiArNjgyLDcgQEAgc3RhdGljIGludCBj
Zl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0CiAgICAgLyogVGhlc2UgaGF2
ZSBpbmRpdmlkdWFsIFhTTSBob29rcyBhbmQgZG9uJ3QgbWFrZSBpdCBoZXJl
LiAqLwogICAgIGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToKICAgICBj
YXNlIFhFTl9ET01DVExfZ2V0ZG9tYWluaW5mbzoKKyAgICBjYXNlIFhFTl9E
T01DVExfZ2V0X2RldmljZV9ncm91cDoKICAgICBjYXNlIFhFTl9ET01DVExf
aW9tZW1fcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9ET01DVExfaW9wb3J0
X21hcHBpbmc6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNz
aW9uOgpAQCAtNjk5LDcgKzcwMCw2IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sg
Zmxhc2tfZG9tY3RsKHN0cnVjdAogICAgICAqIFRoZXNlIGhhdmUgaW5kaXZp
ZHVhbCBYU00gaG9va3MKICAgICAgKiAoZHJpdmVycy9wYXNzdGhyb3VnaC97
cGNpLGRldmljZV90cmVlLmMpCiAgICAgICovCi0gICAgY2FzZSBYRU5fRE9N
Q1RMX2dldF9kZXZpY2VfZ3JvdXA6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Rl
c3RfYXNzaWduX2RldmljZToKICAgICBjYXNlIFhFTl9ET01DVExfYXNzaWdu
X2RldmljZToKICAgICBjYXNlIFhFTl9ET01DVExfZGVhc3NpZ25fZGV2aWNl
Ogo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.18-17.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.18-17.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHssZGV9YXNzaWduX3ssZHR9ZGV2aWNlIGhv
b2tzCgpJbnRlZ3JhdGUgdGhlIGNoZWNraW5nIHdpdGggeHNtX2RvbWN0bCgp
LiBBcyBhIHBvc2l0aXZlIHNpZGUgZWZmZWN0LApwZXJtaXNzaW9ucyBhcmUg
dGhlbiBjaGVja2VkIGF0IHRoZSBzYW1lIGVhcmx5IHBvaW50IHdpdGggYW5k
IHdpdGhvdXQKRmxhc2suIEFzIHRoZSBEVCBkZXZpY2UgcGF0aCBuZWVkcyBm
ZXRjaGluZyBlYXJsaWVyIChidXQgbXVzdCBub3QgYmUKZG91YmxlIGZldGNo
ZWQpLCBjYWNoZSBpdCBpbiBhIHByaXZhdGUgZmllbGQgb2YgdGhlIHB1Ymxp
YyBpbnRlcmZhY2UKc3RydWN0LgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIu
CgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j
b20+CkFja2VkLWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1
c3NvbHV0aW9ucy5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOp
IDxyb2dlci5wYXVAY2l0cml4LmNvbT4KCi0tLSBhL3hlbi9jb21tb24vZG9t
Y3RsLmMKKysrIGIveGVuL2NvbW1vbi9kb21jdGwuYwpAQCAtMzI2LDYgKzMy
NiwxMCBAQCBsb25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFN
KHhlCiAgICAgY2FzZSBYRU5fRE9NQ1RMX2RlYXNzaWduX2RldmljZToKICAg
ICAgICAgaWYgKCBvcC0+ZG9tYWluID09IERPTUlEX0lPICkKICAgICAgICAg
eworI2lmZGVmIENPTkZJR19IQVNfREVWSUNFX1RSRUUKKyAgICAgICAgICAg
IGlmICggb3AtPnUuYXNzaWduX2RldmljZS5kZXYgPT0gWEVOX0RPTUNUTF9E
RVZfRFQgKQorICAgICAgICAgICAgICAgIG9wLT51LmFzc2lnbl9kZXZpY2Uu
dS5kdC5kZXYgPSBOVUxMOworI2VuZGlmCiAgICAgICAgICAgICBkID0gZG9t
X2lvOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTMzMyw2
ICszMzcsMTEgQEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9Q
QVJBTSh4ZQogICAgICAgICAgICAgcmV0dXJuIC1FU1JDSDsKICAgICAgICAg
LyogZmFsbCB0aHJvdWdoICovCiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Rlc3Rf
YXNzaWduX2RldmljZToKKyNpZmRlZiBDT05GSUdfSEFTX0RFVklDRV9UUkVF
CisgICAgICAgIGlmICggb3AtPnUuYXNzaWduX2RldmljZS5kZXYgPT0gWEVO
X0RPTUNUTF9ERVZfRFQgKQorICAgICAgICAgICAgb3AtPnUuYXNzaWduX2Rl
dmljZS51LmR0LmRldiA9IE5VTEw7CisgICAgICAgIGZhbGx0aHJvdWdoOwor
I2VuZGlmCiAgICAgY2FzZSBYRU5fRE9NQ1RMX3ZtX2V2ZW50X29wOgogICAg
ICAgICBpZiAoIG9wLT5kb21haW4gPT0gRE9NSURfSU5WQUxJRCApCiAgICAg
ICAgIHsKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvZGV2aWNlX3Ry
ZWUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9kZXZpY2VfdHJl
ZS5jCkBAIC0yNzksMTUgKzI3OSwxNSBAQCBpbnQgaW9tbXVfZG9fZHRfZG9t
Y3RsKHN0cnVjdCB4ZW5fZG9tY3RsCiAgICAgICAgIGlmICggKGQgJiYgZC0+
aXNfZHlpbmcpIHx8IGRvbWN0bC0+dS5hc3NpZ25fZGV2aWNlLmZsYWdzICkK
ICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIHJldCA9IGR0X2ZpbmRf
bm9kZV9ieV9ncGF0aChkb21jdGwtPnUuYXNzaWduX2RldmljZS51LmR0LnBh
dGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21j
dGwtPnUuYXNzaWduX2RldmljZS51LmR0LnNpemUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmZGV2KTsKLSAgICAgICAgaWYgKCBy
ZXQgKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgcmV0ID0geHNt
X2Fzc2lnbl9kdGRldmljZShYU01fSE9PSywgZCwgZHRfbm9kZV9mdWxsX25h
bWUoZGV2KSk7Ci0gICAgICAgIGlmICggcmV0ICkKLSAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBkZXYgPSBkb21jdGwtPnUuYXNzaWduX2RldmljZS51
LmR0LmRldjsKKyAgICAgICAgaWYgKCAhZGV2ICkKKyAgICAgICAgeworICAg
ICAgICAgICAgcmV0ID0gZHRfZmluZF9ub2RlX2J5X2dwYXRoKGRvbWN0bC0+
dS5hc3NpZ25fZGV2aWNlLnUuZHQucGF0aCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkb21jdGwtPnUuYXNzaWduX2Rldmlj
ZS51LmR0LnNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJmRldik7CisgICAgICAgICAgICBpZiAoIHJldCApCisgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KIAogICAgICAgICBpZiAo
IGRvbWN0bC0+Y21kID09IFhFTl9ET01DVExfdGVzdF9hc3NpZ25fZGV2aWNl
ICkKICAgICAgICAgewpAQCAtMzM1LDE1ICszMzUsMTUgQEAgaW50IGlvbW11
X2RvX2R0X2RvbWN0bChzdHJ1Y3QgeGVuX2RvbWN0bAogICAgICAgICBpZiAo
IGRvbWN0bC0+dS5hc3NpZ25fZGV2aWNlLmZsYWdzICkKICAgICAgICAgICAg
IGJyZWFrOwogCi0gICAgICAgIHJldCA9IGR0X2ZpbmRfbm9kZV9ieV9ncGF0
aChkb21jdGwtPnUuYXNzaWduX2RldmljZS51LmR0LnBhdGgsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21jdGwtPnUuYXNzaWdu
X2RldmljZS51LmR0LnNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAmZGV2KTsKLSAgICAgICAgaWYgKCByZXQgKQotICAgICAg
ICAgICAgYnJlYWs7Ci0KLSAgICAgICAgcmV0ID0geHNtX2RlYXNzaWduX2R0
ZGV2aWNlKFhTTV9IT09LLCBkLCBkdF9ub2RlX2Z1bGxfbmFtZShkZXYpKTsK
LSAgICAgICAgaWYgKCByZXQgKQotICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGRldiA9IGRvbWN0bC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQuZGV2Owor
ICAgICAgICBpZiAoICFkZXYgKQorICAgICAgICB7CisgICAgICAgICAgICBy
ZXQgPSBkdF9maW5kX25vZGVfYnlfZ3BhdGgoZG9tY3RsLT51LmFzc2lnbl9k
ZXZpY2UudS5kdC5wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRvbWN0bC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQuc2l6
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm
ZGV2KTsKKyAgICAgICAgICAgIGlmICggcmV0ICkKKyAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQogCiAgICAgICAgIGlmICggZCA9PSBkb21f
aW8gKQogICAgICAgICB7Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo
L3BjaS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCkBA
IC0xNjMyLDEwICsxNjMyLDYgQEAgaW50IGlvbW11X2RvX3BjaV9kb21jdGwo
CiAKICAgICAgICAgbWFjaGluZV9zYmRmID0gZG9tY3RsLT51LmFzc2lnbl9k
ZXZpY2UudS5wY2kubWFjaGluZV9zYmRmOwogCi0gICAgICAgIHJldCA9IHhz
bV9hc3NpZ25fZGV2aWNlKFhTTV9IT09LLCBkLCBtYWNoaW5lX3NiZGYpOwot
ICAgICAgICBpZiAoIHJldCApCi0gICAgICAgICAgICBicmVhazsKLQogICAg
ICAgICBzZWcgPSBtYWNoaW5lX3NiZGYgPj4gMTY7CiAgICAgICAgIGJ1cyA9
IFBDSV9CVVMobWFjaGluZV9zYmRmKTsKICAgICAgICAgZGV2Zm4gPSBQQ0lf
REVWRk4obWFjaGluZV9zYmRmKTsKQEAgLTE2NzcsMTAgKzE2NzMsNiBAQCBp
bnQgaW9tbXVfZG9fcGNpX2RvbWN0bCgKIAogICAgICAgICBtYWNoaW5lX3Ni
ZGYgPSBkb21jdGwtPnUuYXNzaWduX2RldmljZS51LnBjaS5tYWNoaW5lX3Ni
ZGY7CiAKLSAgICAgICAgcmV0ID0geHNtX2RlYXNzaWduX2RldmljZShYU01f
SE9PSywgZCwgbWFjaGluZV9zYmRmKTsKLSAgICAgICAgaWYgKCByZXQgKQot
ICAgICAgICAgICAgYnJlYWs7Ci0KICAgICAgICAgc2VnID0gbWFjaGluZV9z
YmRmID4+IDE2OwogICAgICAgICBidXMgPSBQQ0lfQlVTKG1hY2hpbmVfc2Jk
Zik7CiAgICAgICAgIGRldmZuID0gUENJX0RFVkZOKG1hY2hpbmVfc2JkZik7
Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaAorKysgYi94ZW4v
aW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKQEAgLTUzMSw3ICs1MzEsMTAgQEAg
c3RydWN0IHhlbl9kb21jdGxfYXNzaWduX2RldmljZSB7CiAgICAgICAgIH0g
cGNpOwogICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICAgdWludDMyX3Qg
c2l6ZTsgLyogTGVuZ3RoIG9mIHRoZSBwYXRoICovCi0gICAgICAgICAgICBY
RU5fR1VFU1RfSEFORExFXzY0KGNoYXIpIHBhdGg7IC8qIHBhdGggdG8gdGhl
IGRldmljZSB0cmVlIG5vZGUgKi8KKyAgICAgICAgICAgIFhFTl9HVUVTVF9I
QU5ETEVfNjQoY2hhcikgcGF0aDsgLyogUGF0aCB0byB0aGUgZGV2aWNlIHRy
ZWUgbm9kZSAqLworI2lmZGVmIF9fWEVOX18KKyAgICAgICAgICAgIHN0cnVj
dCBkdF9kZXZpY2Vfbm9kZSAqZGV2OyAvKiBSZXNvbHZlZCBkZXZpY2Ugbm9k
ZSBvZiB0aGUgYWJvdmUgKi8KKyNlbmRpZgogICAgICAgICB9IGR0OwogICAg
IH0gdTsKIH07Ci0tLSBhL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCisrKyBi
L3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCkBAIC00MDMsNDAgKzQwMyw4IEBA
IHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZ2V0X2QKICAg
ICBYU01fQVNTRVJUX0FDVElPTihYU01fUFJJVik7CiAgICAgcmV0dXJuIHhz
bV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgTlVM
TCk7CiB9Ci0KLXN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21f
YXNzaWduX2RldmljZSgKLSAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0IGRv
bWFpbiAqZCwgdWludDMyX3QgbWFjaGluZV9iZGYpCi17Ci0gICAgWFNNX0FT
U0VSVF9BQ1RJT04oWFNNX0hPT0spOwotICAgIHJldHVybiB4c21fZGVmYXVs
dF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5kb21haW4sIGQpOwotfQotCi1z
dGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX2RlYXNzaWduX2Rl
dmljZSgKLSAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwg
dWludDMyX3QgbWFjaGluZV9iZGYpCi17Ci0gICAgWFNNX0FTU0VSVF9BQ1RJ
T04oWFNNX0hPT0spOwotICAgIHJldHVybiB4c21fZGVmYXVsdF9hY3Rpb24o
YWN0aW9uLCBjdXJyZW50LT5kb21haW4sIGQpOwotfQotCiAjZW5kaWYgLyog
SEFTX1BBU1NUSFJPVUdIICYmIEhBU19QQ0kgKi8KIAotI2lmIGRlZmluZWQo
Q09ORklHX0hBU19QQVNTVEhST1VHSCkgJiYgZGVmaW5lZChDT05GSUdfSEFT
X0RFVklDRV9UUkVFKQotc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNr
IHhzbV9hc3NpZ25fZHRkZXZpY2UoCi0gICAgWFNNX0RFRkFVTFRfQVJHIHN0
cnVjdCBkb21haW4gKmQsIGNvbnN0IGNoYXIgKmR0cGF0aCkKLXsKLSAgICBY
U01fQVNTRVJUX0FDVElPTihYU01fSE9PSyk7Ci0gICAgcmV0dXJuIHhzbV9k
ZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgZCk7Ci19
Ci0KLXN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZGVhc3Np
Z25fZHRkZXZpY2UoCi0gICAgWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBkb21h
aW4gKmQsIGNvbnN0IGNoYXIgKmR0cGF0aCkKLXsKLSAgICBYU01fQVNTRVJU
X0FDVElPTihYU01fSE9PSyk7Ci0gICAgcmV0dXJuIHhzbV9kZWZhdWx0X2Fj
dGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgZCk7Ci19Ci0KLSNlbmRp
ZiAvKiBIQVNfUEFTU1RIUk9VR0ggJiYgSEFTX0RFVklDRV9UUkVFICovCi0K
IHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fcmVzb3VyY2Vf
cGx1Z19jb3JlKFhTTV9ERUZBVUxUX1ZPSUQpCiB7CiAgICAgWFNNX0FTU0VS
VF9BQ1RJT04oWFNNX0hPT0spOwotLS0gYS94ZW4vaW5jbHVkZS94c20veHNt
LmgKKysrIGIveGVuL2luY2x1ZGUveHNtL3hzbS5oCkBAIC0xMjMsMTMgKzEy
Myw2IEBAIHN0cnVjdCB4c21fb3BzIHsKIAogI2lmIGRlZmluZWQoQ09ORklH
X0hBU19QQVNTVEhST1VHSCkgJiYgZGVmaW5lZChDT05GSUdfSEFTX1BDSSkK
ICAgICBpbnQgKCpnZXRfZGV2aWNlX2dyb3VwKSh1aW50MzJfdCBtYWNoaW5l
X2JkZik7Ci0gICAgaW50ICgqYXNzaWduX2RldmljZSkoc3RydWN0IGRvbWFp
biAqZCwgdWludDMyX3QgbWFjaGluZV9iZGYpOwotICAgIGludCAoKmRlYXNz
aWduX2RldmljZSkoc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3QgbWFjaGlu
ZV9iZGYpOwotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKENPTkZJR19IQVNfUEFT
U1RIUk9VR0gpICYmIGRlZmluZWQoQ09ORklHX0hBU19ERVZJQ0VfVFJFRSkK
LSAgICBpbnQgKCphc3NpZ25fZHRkZXZpY2UpKHN0cnVjdCBkb21haW4gKmQs
IGNvbnN0IGNoYXIgKmR0cGF0aCk7Ci0gICAgaW50ICgqZGVhc3NpZ25fZHRk
ZXZpY2UpKHN0cnVjdCBkb21haW4gKmQsIGNvbnN0IGNoYXIgKmR0cGF0aCk7
CiAjZW5kaWYKIAogICAgIGludCAoKnJlc291cmNlX3BsdWdfY29yZSkodm9p
ZCk7CkBAIC01MTQsMzUgKzUwNyw4IEBAIHN0YXRpYyBpbmxpbmUgaW50IHhz
bV9nZXRfZGV2aWNlX2dyb3VwKHgKIHsKICAgICByZXR1cm4gYWx0ZXJuYXRp
dmVfY2FsbCh4c21fb3BzLmdldF9kZXZpY2VfZ3JvdXAsIG1hY2hpbmVfYmRm
KTsKIH0KLQotc3RhdGljIGlubGluZSBpbnQgeHNtX2Fzc2lnbl9kZXZpY2Uo
Ci0gICAgeHNtX2RlZmF1bHRfdCBkZWYsIHN0cnVjdCBkb21haW4gKmQsIHVp
bnQzMl90IG1hY2hpbmVfYmRmKQotewotICAgIHJldHVybiBhbHRlcm5hdGl2
ZV9jYWxsKHhzbV9vcHMuYXNzaWduX2RldmljZSwgZCwgbWFjaGluZV9iZGYp
OwotfQotCi1zdGF0aWMgaW5saW5lIGludCB4c21fZGVhc3NpZ25fZGV2aWNl
KAotICAgIHhzbV9kZWZhdWx0X3QgZGVmLCBzdHJ1Y3QgZG9tYWluICpkLCB1
aW50MzJfdCBtYWNoaW5lX2JkZikKLXsKLSAgICByZXR1cm4gYWx0ZXJuYXRp
dmVfY2FsbCh4c21fb3BzLmRlYXNzaWduX2RldmljZSwgZCwgbWFjaGluZV9i
ZGYpOwotfQogI2VuZGlmIC8qIEhBU19QQVNTVEhST1VHSCAmJiBIQVNfUENJ
KSAqLwogCi0jaWYgZGVmaW5lZChDT05GSUdfSEFTX1BBU1NUSFJPVUdIKSAm
JiBkZWZpbmVkKENPTkZJR19IQVNfREVWSUNFX1RSRUUpCi1zdGF0aWMgaW5s
aW5lIGludCB4c21fYXNzaWduX2R0ZGV2aWNlKAotICAgIHhzbV9kZWZhdWx0
X3QgZGVmLCBzdHJ1Y3QgZG9tYWluICpkLCBjb25zdCBjaGFyICpkdHBhdGgp
Ci17Ci0gICAgcmV0dXJuIGFsdGVybmF0aXZlX2NhbGwoeHNtX29wcy5hc3Np
Z25fZHRkZXZpY2UsIGQsIGR0cGF0aCk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUg
aW50IHhzbV9kZWFzc2lnbl9kdGRldmljZSgKLSAgICB4c21fZGVmYXVsdF90
IGRlZiwgc3RydWN0IGRvbWFpbiAqZCwgY29uc3QgY2hhciAqZHRwYXRoKQot
ewotICAgIHJldHVybiBhbHRlcm5hdGl2ZV9jYWxsKHhzbV9vcHMuZGVhc3Np
Z25fZHRkZXZpY2UsIGQsIGR0cGF0aCk7Ci19Ci0KLSNlbmRpZiAvKiBIQVNf
UEFTU1RIUk9VR0ggJiYgSEFTX0RFVklDRV9UUkVFICovCi0KIHN0YXRpYyBp
bmxpbmUgaW50IHhzbV9yZXNvdXJjZV9wbHVnX3BjaSh4c21fZGVmYXVsdF90
IGRlZiwgdWludDMyX3QgbWFjaGluZV9iZGYpCiB7CiAgICAgcmV0dXJuIGFs
dGVybmF0aXZlX2NhbGwoeHNtX29wcy5yZXNvdXJjZV9wbHVnX3BjaSwgbWFj
aGluZV9iZGYpOwotLS0gYS94ZW4veHNtL2R1bW15LmMKKysrIGIveGVuL3hz
bS9kdW1teS5jCkBAIC03NywxMyArNzcsNiBAQCBzdGF0aWMgY29uc3Qgc3Ry
dWN0IHhzbV9vcHMgX19pbml0Y29uc3RfCiAKICNpZiBkZWZpbmVkKENPTkZJ
R19IQVNfUEFTU1RIUk9VR0gpICYmIGRlZmluZWQoQ09ORklHX0hBU19QQ0kp
CiAgICAgLmdldF9kZXZpY2VfZ3JvdXAgICAgICAgICAgICAgID0geHNtX2dl
dF9kZXZpY2VfZ3JvdXAsCi0gICAgLmFzc2lnbl9kZXZpY2UgICAgICAgICAg
ICAgICAgID0geHNtX2Fzc2lnbl9kZXZpY2UsCi0gICAgLmRlYXNzaWduX2Rl
dmljZSAgICAgICAgICAgICAgID0geHNtX2RlYXNzaWduX2RldmljZSwKLSNl
bmRpZgotCi0jaWYgZGVmaW5lZChDT05GSUdfSEFTX1BBU1NUSFJPVUdIKSAm
JiBkZWZpbmVkKENPTkZJR19IQVNfREVWSUNFX1RSRUUpCi0gICAgLmFzc2ln
bl9kdGRldmljZSAgICAgICAgICAgICAgID0geHNtX2Fzc2lnbl9kdGRldmlj
ZSwKLSAgICAuZGVhc3NpZ25fZHRkZXZpY2UgICAgICAgICAgICAgPSB4c21f
ZGVhc3NpZ25fZHRkZXZpY2UsCiAjZW5kaWYKIAogICAgIC5yZXNvdXJjZV9w
bHVnX2NvcmUgICAgICAgICAgICA9IHhzbV9yZXNvdXJjZV9wbHVnX2NvcmUs
Ci0tLSBhL3hlbi94c20vZmxhc2svaG9va3MuYworKysgYi94ZW4veHNtL2Zs
YXNrL2hvb2tzLmMKQEAgLTQ1LDYgKzQ1LDE3IEBAIHN0YXRpYyBpbnQgZmxh
c2tfc2hhZG93X2NvbnRyb2woc3RydWN0IGQKICNkZWZpbmUgcHZfc2hpbSBm
YWxzZQogI2VuZGlmCiAKKyNpZmRlZiBDT05GSUdfSEFTX1BBU1NUSFJPVUdI
CisjaWZkZWYgQ09ORklHX0hBU19QQ0kKK3N0YXRpYyBpbnQgZmxhc2tfYXNz
aWduX2RldmljZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgbWFj
aGluZV9iZGYpOworc3RhdGljIGludCBmbGFza19kZWFzc2lnbl9kZXZpY2Uo
c3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IG1hY2hpbmVfYmRmKTsK
KyNlbmRpZgorI2lmZGVmIENPTkZJR19IQVNfREVWSUNFX1RSRUUKK3N0YXRp
YyBpbnQgZmxhc2tfYXNzaWduX2R0ZGV2aWNlKHN0cnVjdCBkb21haW4gKmQs
IGNvbnN0IGNoYXIgKmR0cGF0aCk7CitzdGF0aWMgaW50IGZsYXNrX2RlYXNz
aWduX2R0ZGV2aWNlKHN0cnVjdCBkb21haW4gKmQsIGNvbnN0IGNoYXIgKmR0
cGF0aCk7CisjZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfSEFTX1BBU1NUSFJP
VUdIICovCisKIHN0YXRpYyB1aW50MzJfdCBkb21haW5fc2lkKGNvbnN0IHN0
cnVjdCBkb21haW4gKmRvbSkKIHsKICAgICBzdHJ1Y3QgZG9tYWluX3NlY3Vy
aXR5X3N0cnVjdCAqZHNlYyA9IGRvbS0+c3NpZDsKQEAgLTY5NCwxNiArNzA1
LDYgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0
CiAKICAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzIChj
b21tb24vZG9tY3RsLmMpICovCiAgICAgY2FzZSBYRU5fRE9NQ1RMX3NldF90
YXJnZXQ6Ci0KLSNpZmRlZiBDT05GSUdfSEFTX1BBU1NUSFJPVUdICi0gICAg
LyoKLSAgICAgKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzCi0g
ICAgICogKGRyaXZlcnMvcGFzc3Rocm91Z2gve3BjaSxkZXZpY2VfdHJlZS5j
KQotICAgICAqLwotICAgIGNhc2UgWEVOX0RPTUNUTF90ZXN0X2Fzc2lnbl9k
ZXZpY2U6Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2Fzc2lnbl9kZXZpY2U6Ci0g
ICAgY2FzZSBYRU5fRE9NQ1RMX2RlYXNzaWduX2RldmljZToKLSNlbmRpZgog
ICAgICAgICByZXR1cm4gMDsKIAogICAgIGNhc2UgWEVOX0RPTUNUTF9kZXN0
cm95ZG9tYWluOgpAQCAtNzgzLDYgKzc4NCw0OSBAQCBzdGF0aWMgaW50IGNm
X2NoZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICAgICAgcmV0dXJuIGZs
YXNrX3NoYWRvd19jb250cm9sKGQsIG9wLT51LnNoYWRvd19vcC5vcCk7CiAj
ZW5kaWYKIAorI2lmZGVmIENPTkZJR19IQVNfUEFTU1RIUk9VR0gKKworICAg
IGNhc2UgWEVOX0RPTUNUTF90ZXN0X2Fzc2lnbl9kZXZpY2U6CisgICAgY2Fz
ZSBYRU5fRE9NQ1RMX2Fzc2lnbl9kZXZpY2U6CisgICAgY2FzZSBYRU5fRE9N
Q1RMX2RlYXNzaWduX2RldmljZToKKyAgICAgICAgc3dpdGNoICggb3AtPnUu
YXNzaWduX2RldmljZS5kZXYgKQorICAgICAgICB7CisjaWZkZWYgQ09ORklH
X0hBU19QQ0kKKyAgICAgICAgY2FzZSBYRU5fRE9NQ1RMX0RFVl9QQ0k6Cisg
ICAgICAgICAgICByZXR1cm4gb3AtPmNtZCAhPSBYRU5fRE9NQ1RMX2RlYXNz
aWduX2RldmljZQorICAgICAgICAgICAgICAgICAgID8gZmxhc2tfYXNzaWdu
X2RldmljZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICBkLCBvcC0+dS5h
c3NpZ25fZGV2aWNlLnUucGNpLm1hY2hpbmVfc2JkZikKKyAgICAgICAgICAg
ICAgICAgICA6IGZsYXNrX2RlYXNzaWduX2RldmljZSgKKyAgICAgICAgICAg
ICAgICAgICAgICAgICBkLCBvcC0+dS5hc3NpZ25fZGV2aWNlLnUucGNpLm1h
Y2hpbmVfc2JkZik7CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19IQVNfREVW
SUNFX1RSRUUKKyAgICAgICAgY2FzZSBYRU5fRE9NQ1RMX0RFVl9EVDoKKyAg
ICAgICAgeworICAgICAgICAgICAgc3RydWN0IGR0X2RldmljZV9ub2RlICpk
ZXY7CisgICAgICAgICAgICBpbnQgcmV0ID0gZHRfZmluZF9ub2RlX2J5X2dw
YXRoKG9wLT51LmFzc2lnbl9kZXZpY2UudS5kdC5wYXRoLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcC0+dS5hc3Np
Z25fZGV2aWNlLnUuZHQuc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJmRldik7CisKKyAgICAgICAgICAgIGlm
ICggcmV0ICkKKyAgICAgICAgICAgICAgICByZXR1cm4gcmV0OworCisgICAg
ICAgICAgICBvcC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQuZGV2ID0gZGV2Owor
CisgICAgICAgICAgICByZXR1cm4gb3AtPmNtZCAhPSBYRU5fRE9NQ1RMX2Rl
YXNzaWduX2RldmljZQorICAgICAgICAgICAgICAgICAgID8gZmxhc2tfYXNz
aWduX2R0ZGV2aWNlKGQsIGR0X25vZGVfZnVsbF9uYW1lKGRldikpCisgICAg
ICAgICAgICAgICAgICAgOiBmbGFza19kZWFzc2lnbl9kdGRldmljZShkLCBk
dF9ub2RlX2Z1bGxfbmFtZShkZXYpKTsKKyAgICAgICAgfQorI2VuZGlmCisK
KyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIC8qIFVua25vd24gdHlw
ZS4gKi8KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAg
IHJldHVybiBhdmNfdW5rbm93bl9wZXJtaXNzaW9uKCJhc3NpZ25fZGV2aWNl
Iiwgb3AtPmNtZCk7CisKKyNlbmRpZiAvKiBDT05GSUdfSEFTX1BBU1NUSFJP
VUdIICovCisKICAgICBjYXNlIFhFTl9ET01DVExfbWVtX3NoYXJpbmdfb3A6
CiAgICAgICAgIHJldHVybiBjdXJyZW50X2hhc19wZXJtKGQsIFNFQ0NMQVNT
X0hWTSwgSFZNX19NRU1fU0hBUklORyk7CiAKQEAgLTEzOTcsNyArMTQ0MSw3
IEBAIHN0YXRpYyBpbnQgZmxhc2tfdGVzdF9hc3NpZ25fZGV2aWNlKHVpbnQK
ICAgICByZXR1cm4gYXZjX2N1cnJlbnRfaGFzX3Blcm0ocnNpZCwgU0VDQ0xB
U1NfUkVTT1VSQ0UsIFJFU09VUkNFX19TVEFUX0RFVklDRSwgTlVMTCk7CiB9
CiAKLXN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfYXNzaWduX2RldmljZShz
dHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBtYWNoaW5lX2JkZikKK3N0YXRp
YyBpbnQgZmxhc2tfYXNzaWduX2RldmljZShzdHJ1Y3QgZG9tYWluICpkLCB1
aW50MzJfdCBtYWNoaW5lX2JkZikKIHsKICAgICB1aW50MzJfdCBkc2lkLCBy
c2lkOwogICAgIGludCByYyA9IC1FUEVSTTsKQEAgLTE0MjcsNyArMTQ3MSw3
IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfYXNzaWduX2RldmljZSgK
ICAgICByZXR1cm4gYXZjX2hhc19wZXJtKGRzaWQsIHJzaWQsIFNFQ0NMQVNT
X1JFU09VUkNFLCBkcGVybSwgJmFkKTsKIH0KIAotc3RhdGljIGludCBjZl9j
aGVjayBmbGFza19kZWFzc2lnbl9kZXZpY2UoCitzdGF0aWMgaW50IGZsYXNr
X2RlYXNzaWduX2RldmljZSgKICAgICBzdHJ1Y3QgZG9tYWluICpkLCB1aW50
MzJfdCBtYWNoaW5lX2JkZikKIHsKICAgICB1aW50MzJfdCByc2lkOwpAQCAt
MTQ1OSw3ICsxNTAzLDcgQEAgc3RhdGljIGludCBmbGFza190ZXN0X2Fzc2ln
bl9kdGRldmljZShjbwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBOVUxMKTsKIH0KIAotc3RhdGljIGludCBjZl9jaGVjayBmbGFza19hc3Np
Z25fZHRkZXZpY2Uoc3RydWN0IGRvbWFpbiAqZCwgY29uc3QgY2hhciAqZHRw
YXRoKQorc3RhdGljIGludCBmbGFza19hc3NpZ25fZHRkZXZpY2Uoc3RydWN0
IGRvbWFpbiAqZCwgY29uc3QgY2hhciAqZHRwYXRoKQogewogICAgIHVpbnQz
Ml90IGRzaWQsIHJzaWQ7CiAgICAgaW50IHJjID0gLUVQRVJNOwpAQCAtMTQ4
OSw3ICsxNTMzLDcgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19hc3Np
Z25fZHRkZXZpYwogICAgIHJldHVybiBhdmNfaGFzX3Blcm0oZHNpZCwgcnNp
ZCwgU0VDQ0xBU1NfUkVTT1VSQ0UsIGRwZXJtLCAmYWQpOwogfQogCi1zdGF0
aWMgaW50IGNmX2NoZWNrIGZsYXNrX2RlYXNzaWduX2R0ZGV2aWNlKAorc3Rh
dGljIGludCBmbGFza19kZWFzc2lnbl9kdGRldmljZSgKICAgICBzdHJ1Y3Qg
ZG9tYWluICpkLCBjb25zdCBjaGFyICpkdHBhdGgpCiB7CiAgICAgdWludDMy
X3QgcnNpZDsKQEAgLTE5NTUsMTMgKzE5OTksNiBAQCBzdGF0aWMgY29uc3Qg
c3RydWN0IHhzbV9vcHMgX19pbml0Y29uc3RfCiAKICNpZiBkZWZpbmVkKENP
TkZJR19IQVNfUEFTU1RIUk9VR0gpICYmIGRlZmluZWQoQ09ORklHX0hBU19Q
Q0kpCiAgICAgLmdldF9kZXZpY2VfZ3JvdXAgPSBmbGFza19nZXRfZGV2aWNl
X2dyb3VwLAotICAgIC5hc3NpZ25fZGV2aWNlID0gZmxhc2tfYXNzaWduX2Rl
dmljZSwKLSAgICAuZGVhc3NpZ25fZGV2aWNlID0gZmxhc2tfZGVhc3NpZ25f
ZGV2aWNlLAotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKENPTkZJR19IQVNfUEFT
U1RIUk9VR0gpICYmIGRlZmluZWQoQ09ORklHX0hBU19ERVZJQ0VfVFJFRSkK
LSAgICAuYXNzaWduX2R0ZGV2aWNlID0gZmxhc2tfYXNzaWduX2R0ZGV2aWNl
LAotICAgIC5kZWFzc2lnbl9kdGRldmljZSA9IGZsYXNrX2RlYXNzaWduX2R0
ZGV2aWNlLAogI2VuZGlmCiAKICAgICAucGxhdGZvcm1fb3AgPSBmbGFza19w
bGF0Zm9ybV9vcCwK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.18-18.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.18-18.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX3NldF90YXJnZXQgd2l0aG91
dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKClRoZSBvbmx5IGxvY2tpbmcgcmVx
dWlyZWQgaGVyZSBpcyB0aGF0IGJldHdlZW4gY2hlY2tpbmcgZC0+dGFyZ2V0
IGFuZApzZXR0aW5nIGl0LiBUbyBhdm9pZCB0aGUgbmVlZCBmb3IgYW4gZXhw
bGljaXQgbG9jaywgdXNlIGNtcHhjaGdwdHIoKSB0bwp1cGRhdGUgZC0+dGFy
Z2V0LgoKTW92ZSB0aGUgaGFuZGxpbmcgbm90IG9ubHkgYWhlYWQgb2YgYWNx
dWlyaW5nIHRoZSBsb2NrLCBidXQgYWxzbyBhaGVhZApvZiB0aGUgWFNNIGNo
ZWNrLCBsZXZlcmFnaW5nIHRoYXQgdGhlIHN1Yi1vcCBoYXMgaXRzIG93biBo
b29rLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIuCgpTaWduZWQtb2ZmLWJ5
OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkFja2VkLWJ5OiBE
YW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+
ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0
cml4LmNvbT4KCi0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMKKysrIGIveGVu
L2NvbW1vbi9kb21jdGwuYwpAQCAtNDg5LDYgKzQ4OSwzMCBAQCBsb25nIGRv
X2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlCiAgICAgICAgIGdv
dG8gZG9tY3RsX291dF91bmxvY2tfZG9tb25seTsKICAgICB9CiAKKyAgICBj
YXNlIFhFTl9ET01DVExfc2V0X3RhcmdldDoKKyAgICB7CisgICAgICAgIHN0
cnVjdCBkb21haW4gKmUgPSBnZXRfZG9tYWluX2J5X2lkKG9wLT51LnNldF90
YXJnZXQudGFyZ2V0KTsKKworICAgICAgICByZXQgPSAtRVNSQ0g7CisgICAg
ICAgIGlmICggIWUgKQorICAgICAgICAgICAgZ290byBkb21jdGxfb3V0X3Vu
bG9ja19kb21vbmx5OworCisgICAgICAgIGlmICggZCA9PSBlICkKKyAgICAg
ICAgICAgIHJldCA9IC1FSU5WQUw7CisgICAgICAgIGVsc2UgaWYgKCAhaXNf
aHZtX2RvbWFpbihlKSApCisgICAgICAgICAgICByZXQgPSAtRU9QTk9UU1VQ
UDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0ID0geHNtX3NldF90
YXJnZXQoWFNNX1BSSVYsIGQsIGUpOworCisgICAgICAgIC8qIEhvbGQgcmVm
ZXJlbmNlIG9uIEBlIHVudGlsIHdlIGRlc3Ryb3kgQGQuICovCisgICAgICAg
IGlmICggIXJldCAmJiBjbXB4Y2hncHRyKCZkLT50YXJnZXQsIE5VTEwsIGUp
ICkKKyAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7CisKKyAgICAgICAgaWYg
KCByZXQgKQorICAgICAgICAgICAgcHV0X2RvbWFpbihlKTsKKyAgICAgICAg
Z290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5OworICAgIH0KKwogICAg
IGNhc2UgWEVOX0RPTUNUTF92bV9ldmVudF9vcDoKICAgICAgICAgaWYgKCBv
cC0+dS52bV9ldmVudF9vcC5vcCA9PSBYRU5fVk1fRVZFTlRfR0VUX1ZFUlNJ
T04gKQogICAgICAgICB7CkBAIC04NDUsMzYgKzg2OSw2IEBAIGxvbmcgZG9f
ZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICAgICAgZG9t
YWluX3NldF90aW1lX29mZnNldChkLCBvcC0+dS5zZXR0aW1lb2Zmc2V0LnRp
bWVfb2Zmc2V0X3NlY29uZHMpOwogICAgICAgICBicmVhazsKIAotICAgIGNh
c2UgWEVOX0RPTUNUTF9zZXRfdGFyZ2V0OgotICAgIHsKLSAgICAgICAgc3Ry
dWN0IGRvbWFpbiAqZTsKLQotICAgICAgICByZXQgPSAtRVNSQ0g7Ci0gICAg
ICAgIGUgPSBnZXRfZG9tYWluX2J5X2lkKG9wLT51LnNldF90YXJnZXQudGFy
Z2V0KTsKLSAgICAgICAgaWYgKCBlID09IE5VTEwgKQotICAgICAgICAgICAg
YnJlYWs7Ci0KLSAgICAgICAgcmV0ID0gLUVJTlZBTDsKLSAgICAgICAgaWYg
KCAoZCA9PSBlKSB8fCAoZC0+dGFyZ2V0ICE9IE5VTEwpICkKLSAgICAgICAg
ewotICAgICAgICAgICAgcHV0X2RvbWFpbihlKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0ID0gLUVPUE5PVFNVUFA7
Ci0gICAgICAgIGlmICggaXNfaHZtX2RvbWFpbihlKSApCi0gICAgICAgICAg
ICByZXQgPSB4c21fc2V0X3RhcmdldChYU01fSE9PSywgZCwgZSk7Ci0gICAg
ICAgIGlmICggcmV0ICkKLSAgICAgICAgewotICAgICAgICAgICAgcHV0X2Rv
bWFpbihlKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAg
ICAgICAgLyogSG9sZCByZWZlcmVuY2Ugb24gQGUgdW50aWwgd2UgZGVzdHJv
eSBAZC4gKi8KLSAgICAgICAgZC0+dGFyZ2V0ID0gZTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgfQotCiAgICAgY2FzZSBYRU5fRE9NQ1RMX3N1YnNjcmliZToK
ICAgICAgICAgZC0+c3VzcGVuZF9ldnRjaG4gPSBvcC0+dS5zdWJzY3JpYmUu
cG9ydDsKICAgICAgICAgYnJlYWs7Ci0tLSBhL3hlbi9pbmNsdWRlL3hzbS9k
dW1teS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCkBAIC0xNTAs
NyArMTUwLDcgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhz
bV9zeXNjdAogc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9z
ZXRfdGFyZ2V0KAogICAgIFhTTV9ERUZBVUxUX0FSRyBzdHJ1Y3QgZG9tYWlu
ICpkLCBzdHJ1Y3QgZG9tYWluICplKQogewotICAgIFhTTV9BU1NFUlRfQUNU
SU9OKFhTTV9IT09LKTsKKyAgICBYU01fQVNTRVJUX0FDVElPTihYU01fUFJJ
Vik7CiAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1
cnJlbnQtPmRvbWFpbiwgTlVMTCk7CiB9CiAKQEAgLTE2OCw2ICsxNjgsNyBA
QCBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX2RvbWN0CiAg
ICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNzaW9uOgogICAgIGNh
c2UgWEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9E
T01DVExfbWVtb3J5X21hcHBpbmc6CisgICAgY2FzZSBYRU5fRE9NQ1RMX3Nl
dF90YXJnZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmluZF9wdF9pcnE6
CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAgICAgICByZXR1
cm4gLUVJTFNFUTsKLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5jCisrKyBi
L3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjk5LDE0ICs2OTksMTEgQEAg
c3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0CiAgICAg
Y2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNzaW9uOgogICAgIGNhc2Ug
WEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9ET01D
VExfbWVtb3J5X21hcHBpbmc6CisgICAgY2FzZSBYRU5fRE9NQ1RMX3NldF90
YXJnZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmluZF9wdF9pcnE6CiAg
ICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAgICAgICByZXR1cm4g
LUVJTFNFUTsKIAotICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00g
aG9va3MgKGNvbW1vbi9kb21jdGwuYykgKi8KLSAgICBjYXNlIFhFTl9ET01D
VExfc2V0X3RhcmdldDoKLSAgICAgICAgcmV0dXJuIDA7Ci0KICAgICBjYXNl
IFhFTl9ET01DVExfZGVzdHJveWRvbWFpbjoKICAgICAgICAgcmV0dXJuIGN1
cnJlbnRfaGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9NQUlOLCBET01BSU5fX0RF
U1RST1kpOwogCg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.19-00.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.19-00.patch"
Content-Transfer-Encoding: base64

RnJvbTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgpTdWJqZWN0
OiB4ZW4veHNtOiBtYWtlIGdldGRvbWFpbmluZm8geHNtIGR1bW15IGNoZWNr
cyBtb3JlIHN0cmluZ2VudAoKVG9kYXkgdGhlIGR1bW15IFhTTSBwcml2aWxl
Z2UgY2hlY2tzIGZvciBnZXRkb21haW5pbmZvIGFyZSBsZXNzCnN0cmluZ2Vu
dCB0aGFuIHBvc3NpYmxlOiB0aGV5IGJhc2ljYWxseSByZWx5IG9uIHRoZSBn
ZW5lcmFsCnN5c2N0bC9kb21jdGwgZW50cnkgY2hlY2sgdG8gZG8gYWxsIHRl
c3RzIGFuZCB0aGVuIGRvIHRoZSB0ZXN0IHdpdGgKdGhlIFhTTV9IT09LIHBy
aXZpbGVnZSwgd2hpY2ggaXMgYW4gImFsbG93IGFsbCIgZGVmYXVsdC4KCklu
c3RlYWQgb2YgWFNNX0hPT0sgdXNlIFhTTV9YU19QUklWLCB3aGljaCBpcyB0
aGUgcHJpdmlsZWdlIHJlYWxseQp3YW50ZWQuIE5vdGUgdGhhdCB0aGlzIHRl
c3QgaXMgc3RpbGwgd2lkZXIgdGhhbiB0aGUgc3lzY3RsIGVudHJ5IHRlc3Qs
CmJ1dCB0aGVyZSBpcyBubyBlYXN5IHdheSB0byBtYWtlIGJvdGggZG9tY3Rs
IGFuZCBzeXNjdGwgaGFwcHkgYXQgdGhlCnNhbWUgdGltZS4KClNpZ25lZC1v
ZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KQWNrZWQt
Ynk6IERhbmllbCBQLiBTbWl0aCA8ZHBzbWl0aEBhcGVydHVzc29sdXRpb25z
LmNvbT4KbWFzdGVyIGNvbW1pdDogNTc5M2I4NGM1ZThmYjI2OGY5NGU3ZmRl
NzgxNjc5OWU2Njk0NWE3MwptYXN0ZXIgZGF0ZTogMjAyNC0xMi0xNiAxMzow
Njo1NSArMDEwMAoKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYworKysgYi94
ZW4vY29tbW9uL2RvbWN0bC5jCkBAIC01MzksNyArNTM5LDcgQEAgbG9uZyBk
b19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICBi
cmVhazsKIAogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRkb21haW5pbmZvOgot
ICAgICAgICByZXQgPSB4c21fZ2V0ZG9tYWluaW5mbyhYU01fSE9PSywgZCk7
CisgICAgICAgIHJldCA9IHhzbV9nZXRkb21haW5pbmZvKFhTTV9YU19QUklW
LCBkKTsKICAgICAgICAgaWYgKCByZXQgKQogICAgICAgICAgICAgYnJlYWs7
CiAKLS0tIGEveGVuL2NvbW1vbi9zeXNjdGwuYworKysgYi94ZW4vY29tbW9u
L3N5c2N0bC5jCkBAIC04OSw3ICs4OSw3IEBAIGxvbmcgZG9fc3lzY3RsKFhF
Tl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICAgICAgICAgIGlmICggbnVt
X2RvbWFpbnMgPT0gb3AtPnUuZ2V0ZG9tYWluaW5mb2xpc3QubWF4X2RvbWFp
bnMgKQogICAgICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgICAgICBp
ZiAoIHhzbV9nZXRkb21haW5pbmZvKFhTTV9IT09LLCBkKSApCisgICAgICAg
ICAgICBpZiAoIHhzbV9nZXRkb21haW5pbmZvKFhTTV9YU19QUklWLCBkKSAp
CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgICAgIGdl
dGRvbWFpbmluZm8oZCwgJmluZm8pOwotLS0gYS94ZW4vaW5jbHVkZS94c20v
ZHVtbXkuaAorKysgYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTM3
LDcgKzEzNyw3IEBAIHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4
c21fZG9tYWkKIHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21f
Z2V0ZG9tYWluaW5mbygKICAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0IGRv
bWFpbiAqZCkKIHsKLSAgICBYU01fQVNTRVJUX0FDVElPTihYU01fSE9PSyk7
CisgICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX1hTX1BSSVYpOwogICAgIHJl
dHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5kb21h
aW4sIGQpOwogfQogCg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.19-01.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.19-01.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBzY2hlZDogdXNlIHNlcXVlbmNlIGNvdW50ZXIgdG8gZW5saWdodGVuIHZj
cHVfcnVuc3RhdGVfZ2V0KCkKClN1YnNlcXVlbnRseSBYRU5fRE9NQ1RMX2dl
dGRvbWFpbmluZm8gd2lsbCB3YW50IHRvIGludm9rZSB0aGUgZnVuY3Rpb24K
d2l0aG91dCBob2xkaW5nIGEgbG9jaywgdGh1cyBhbGxvd2luZyBwYXJhbGxl
bCBleGVjdXRpb24gb2YgcG90ZW50aWFsbHkKbWFueSBpbnN0YW5jZXMuIEFz
IHdhcyBsZWFybmVkIGZyb20gMjI4YWI5OTkyZmZiICgiZG9tY3RsOiBpbXBy
b3ZlCmxvY2tpbmcgZHVyaW5nIGRvbWFpbiBkZXN0cnVjdGlvbiIpLCByZXZl
cnRlZCBieSBkMDg4N2NjNmIxNmUsIHN1Y2gKcGFyYWxsZWxpc20gY2FuIHJl
c3VsdCBpbiBzZXZlcmUgbG9jayBjb250ZW50aW9uIG9uIGFueSAocHJldmlv
dXNseSkKaW5uZXIgbG9jay4gVG8gYXZvaWQgdGFraW5nIHRoYXQgcmlzayBy
ZXBsYWNlIHRoZSB1c2Ugb2YgdGhlIHNjaGVkdWxlcgpsb2NrIGluIHZjcHVf
cnVuc3RhdGVfZ2V0KCkgYnkgYSBuZXdseSBpbnRyb2R1Y2VkIHNlcXVlbmNl
IGNvdW50ZXIuCkNvbnZlcnQgdGhlICJubyBsb2NrIGlmIGN1cnJlbnQiIHBy
b3BlcnR5IHRvICJ1c2UgYSBsb2NhbCBjb3VudGVyCmluc3RhbmNlIiwgdGh1
cyBndWFyYW50ZWVpbmcgdGhlIGxvb3AgdG8gZXhpdCBhZnRlciB0aGUgZmly
c3QgaXRlcmF0aW9uLgoKU2tlbGV0b24gYW5kIGNvbW1lbnRhcnkgb2YgdGhl
IHNlcWNvdW50IGltcGxlbWVudGF0aW9uIGJhc2VkIG9uIC8KZGVyaXZlZCBm
cm9tIExpbnV4IDYuMTEtcmMuCgpUbyBoYXZlIHJ1bnN0YXRlX3NlcSBwbGFj
ZWQgbmV4dCB0byBydW5zdGF0ZSBpbiBzdHJ1Y3QgdmNwdSwgd2l0aG91dApp
bnRyb2R1Y2luZyBhIG5ldyBvYnZpb3VzIHBhZGRpbmcgaG9sZSwgeWV0IHdo
aWxlIGtlZXBpbmcgdGhlIGxhdHRlcgphZGphY2VudCB0byBydW5zdGF0ZV9n
dWVzdHssX2FyZWF9IGFzIHdlbGwsIG1vdmUgcnVuc3RhdGUgZG93biBhIGxp
dHRsZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKUmVxdWVzdGVkLWJ5
OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpT
aWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+
ClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIz
QGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxy
b2dlci5wYXVAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jv
c3MgPGpncm9zc0BzdXNlLmNvbT4KCi0tLSBhL3hlbi9jb21tb24vc2NoZWQv
Y29yZS5jCisrKyBiL3hlbi9jb21tb24vc2NoZWQvY29yZS5jCkBAIC0yODAs
MTMgKzI4MCwxOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgdmNwdV9ydW5zdGF0
ZV9jaGFuZ2UoCiAgICAgfQogCiAgICAgZGVsdGEgPSBuZXdfZW50cnlfdGlt
ZSAtIHYtPnJ1bnN0YXRlLnN0YXRlX2VudHJ5X3RpbWU7Ci0gICAgaWYgKCBk
ZWx0YSA+IDAgKQorCisgICAgLyogU2VyaWFsaXphdGlvbjogLT5zY2hlZHVs
ZV9sb2NrIChzZWUgQVNTRVJUKCkgYWJvdmUpLiAqLworICAgIHdpdGhfc2Vx
X3dyaXRlKCZ2LT5ydW5zdGF0ZV9zZXEpCiAgICAgewotICAgICAgICB2LT5y
dW5zdGF0ZS50aW1lW3YtPnJ1bnN0YXRlLnN0YXRlXSArPSBkZWx0YTsKLSAg
ICAgICAgdi0+cnVuc3RhdGUuc3RhdGVfZW50cnlfdGltZSA9IG5ld19lbnRy
eV90aW1lOwotICAgIH0KKyAgICAgICAgaWYgKCBkZWx0YSA+IDAgKQorICAg
ICAgICB7CisgICAgICAgICAgICB2LT5ydW5zdGF0ZS50aW1lW3YtPnJ1bnN0
YXRlLnN0YXRlXSArPSBkZWx0YTsKKyAgICAgICAgICAgIHYtPnJ1bnN0YXRl
LnN0YXRlX2VudHJ5X3RpbWUgPSBuZXdfZW50cnlfdGltZTsKKyAgICAgICAg
fQogCi0gICAgdi0+cnVuc3RhdGUuc3RhdGUgPSBuZXdfc3RhdGU7CisgICAg
ICAgIHYtPnJ1bnN0YXRlLnN0YXRlID0gbmV3X3N0YXRlOworICAgIH0KIH0K
IAogdm9pZCBzY2hlZF9ndWVzdF9pZGxlKHZvaWQgKCppZGxlKSAodm9pZCks
IHVuc2lnbmVkIGludCBjcHUpCkBAIC0zMDYsMzAgKzMxMSwxOCBAQCB2b2lk
IHNjaGVkX2d1ZXN0X2lkbGUodm9pZCAoKmlkbGUpICh2b2lkCiB2b2lkIHZj
cHVfcnVuc3RhdGVfZ2V0KGNvbnN0IHN0cnVjdCB2Y3B1ICp2LAogICAgICAg
ICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmNwdV9ydW5zdGF0ZV9pbmZvICpy
dW5zdGF0ZSkKIHsKLSAgICBzcGlubG9ja190ICpsb2NrOwotICAgIHNfdGlt
ZV90IGRlbHRhOwotICAgIHN0cnVjdCBzY2hlZF91bml0ICp1bml0OworICAg
IHN0cnVjdCBzZXFjb3VudCBzZXEgPSBTRVFDTlRfWkVSTygpOworICAgIGNv
bnN0IHN0cnVjdCBzZXFjb3VudCAqcyA9IGxpa2VseSh2ID09IGN1cnJlbnQp
ID8gJnNlcSA6ICZ2LT5ydW5zdGF0ZV9zZXE7CiAKLSAgICByY3VfcmVhZF9s
b2NrKCZzY2hlZF9yZXNfcmN1bG9jayk7Ci0KLSAgICAvKgotICAgICAqIEJl
IGNhcmVmdWwgaW4gY2FzZSBvZiBhbiBpZGxlIHZjcHU6IHRoZSBhc3NpZ25t
ZW50IHRvIGEgdW5pdCBtaWdodAotICAgICAqIGNoYW5nZSBldmVuIHdpdGgg
dGhlIHNjaGVkdWxpbmcgbG9jayBoZWxkLCBzbyBiZSBzdXJlIHRvIHVzZSB0
aGUKLSAgICAgKiBjb3JyZWN0IHVuaXQgZm9yIGxvY2tpbmcgaW4gb3JkZXIg
dG8gYXZvaWQgdHJpZ2dlcmluZyBhbiBBU1NFUlQoKSBpbgotICAgICAqIHRo
ZSB1bmxvY2sgZnVuY3Rpb24uCi0gICAgICovCi0gICAgdW5pdCA9IGlzX2lk
bGVfdmNwdSh2KSA/IGdldF9zY2hlZF9yZXModi0+cHJvY2Vzc29yKS0+c2No
ZWRfdW5pdF9pZGxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICA6IHYt
PnNjaGVkX3VuaXQ7Ci0gICAgbG9jayA9IGxpa2VseSh2ID09IGN1cnJlbnQp
ID8gTlVMTCA6IHVuaXRfc2NoZWR1bGVfbG9ja19pcnEodW5pdCk7Ci0gICAg
bWVtY3B5KHJ1bnN0YXRlLCAmdi0+cnVuc3RhdGUsIHNpemVvZigqcnVuc3Rh
dGUpKTsKLSAgICBkZWx0YSA9IE5PVygpIC0gcnVuc3RhdGUtPnN0YXRlX2Vu
dHJ5X3RpbWU7Ci0gICAgaWYgKCBkZWx0YSA+IDAgKQotICAgICAgICBydW5z
dGF0ZS0+dGltZVtydW5zdGF0ZS0+c3RhdGVdICs9IGRlbHRhOwotCi0gICAg
aWYgKCB1bmxpa2VseShsb2NrICE9IE5VTEwpICkKLSAgICAgICAgdW5pdF9z
Y2hlZHVsZV91bmxvY2tfaXJxKGxvY2ssIHVuaXQpOworICAgIHVudGlsX3Nl
cV9yZWFkKHMpCisgICAgeworICAgICAgICBzX3RpbWVfdCBkZWx0YTsKIAot
ICAgIHJjdV9yZWFkX3VubG9jaygmc2NoZWRfcmVzX3JjdWxvY2spOworICAg
ICAgICAqcnVuc3RhdGUgPSB2LT5ydW5zdGF0ZTsKKyAgICAgICAgZGVsdGEg
PSBOT1coKSAtIHJ1bnN0YXRlLT5zdGF0ZV9lbnRyeV90aW1lOworICAgICAg
ICBpZiAoIGRlbHRhID4gMCApCisgICAgICAgICAgICBydW5zdGF0ZS0+dGlt
ZVtydW5zdGF0ZS0+c3RhdGVdICs9IGRlbHRhOworICAgIH0KIH0KIAogdWlu
dDY0X3QgZ2V0X2NwdV9pZGxlX3RpbWUodW5zaWduZWQgaW50IGNwdSkKLS0t
IGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKKysrIGIveGVuL2luY2x1ZGUv
eGVuL3NjaGVkLmgKQEAgLTE2LDYgKzE2LDcgQEAKICNpbmNsdWRlIDx4ZW4v
cmFkaXgtdHJlZS5oPgogI2luY2x1ZGUgPHhlbi9tdWx0aWNhbGwuaD4KICNp
bmNsdWRlIDx4ZW4vbm9zcGVjLmg+CisjaW5jbHVkZSA8eGVuL3NlcWNvdW50
Lmg+CiAjaW5jbHVkZSA8eGVuL3Rhc2tsZXQuaD4KICNpbmNsdWRlIDx4ZW4v
bW0uaD4KICNpbmNsdWRlIDx4ZW4vc21wLmg+CkBAIC0xOTIsNyArMTkzLDYg
QEAgc3RydWN0IHZjcHUKIAogICAgIHN0cnVjdCBzY2hlZF91bml0ICpzY2hl
ZF91bml0OwogCi0gICAgc3RydWN0IHZjcHVfcnVuc3RhdGVfaW5mbyBydW5z
dGF0ZTsKICNpZm5kZWYgQ09ORklHX0NPTVBBVAogIyBkZWZpbmUgcnVuc3Rh
dGVfZ3Vlc3QodikgKCh2KS0+cnVuc3RhdGVfZ3Vlc3QpCiAgICAgWEVOX0dV
RVNUX0hBTkRMRSh2Y3B1X3J1bnN0YXRlX2luZm9fdCkgcnVuc3RhdGVfZ3Vl
c3Q7IC8qIGd1ZXN0IGFkZHJlc3MgKi8KQEAgLTIwNCw2ICsyMDQsOCBAQCBz
dHJ1Y3QgdmNwdQogICAgIH0gcnVuc3RhdGVfZ3Vlc3Q7IC8qIGd1ZXN0IGFk
ZHJlc3MgKi8KICNlbmRpZgogICAgIHN0cnVjdCBndWVzdF9hcmVhIHJ1bnN0
YXRlX2d1ZXN0X2FyZWE7CisgICAgc3RydWN0IHZjcHVfcnVuc3RhdGVfaW5m
byBydW5zdGF0ZTsKKyAgICBzdHJ1Y3Qgc2VxY291bnQgIHJ1bnN0YXRlX3Nl
cTsKICAgICB1bnNpZ25lZCBpbnQgICAgIG5ld19zdGF0ZTsKIAogICAgIC8q
IEhhcyB0aGUgRlBVIGJlZW4gaW5pdGlhbGlzZWQ/ICovCi0tLSAvZGV2L251
bGwKKysrIGIveGVuL2luY2x1ZGUveGVuL3NlcWNvdW50LmgKQEAgLTAsMCAr
MSwxMzkgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w
LW9ubHkgKi8KKyNpZm5kZWYgWEVOX1NFUUNPVU5UX0gKKyNkZWZpbmUgWEVO
X1NFUUNPVU5UX0gKKworI2luY2x1ZGUgPHhlbi9saWIuaD4KKyNpbmNsdWRl
IDx4ZW4vbm9zcGVjLmg+CisKKyNpbmNsdWRlIDxhc20vYXRvbWljLmg+Cisj
aW5jbHVkZSA8YXNtL3N5c3RlbS5oPgorCisvKgorICogU2VxdWVuY2UgY291
bnRlcnMgKHNlcWNvdW50X3QpCisgKgorICogVGhpcyBpcyB0aGUgcmF3IGNv
dW50aW5nIG1lY2hhbmlzbSwgd2l0aG91dCBhbnkgd3JpdGVyIHByb3RlY3Rp
b24uCisgKgorICogV3JpdGUgc2lkZSBjcml0aWNhbCBzZWN0aW9ucyBtdXN0
IGJlIHNlcmlhbGl6ZWQgKGFuZCBub24tcHJlZW1wdGlibGUpLgorICoKKyAq
IElmIHJlYWRlcnMgY2FuIGJlIGludm9rZWQgZnJvbSBpbnRlcnJ1cHQgY29u
dGV4dHMsIGludGVycnVwdHMgbXVzdCBhbHNvCisgKiBiZSByZXNwZWN0aXZl
bHkgZGlzYWJsZWQgYmVmb3JlIGVudGVyaW5nIHRoZSB3cml0ZSBzZWN0aW9u
LgorICoKKyAqIFRoaXMgbWVjaGFuaXNtIGNhbid0IGJlIHVzZWQgaWYgdGhl
IHByb3RlY3RlZCBkYXRhIGNvbnRhaW5zIHBvaW50ZXJzLAorICogYXMgdGhl
IHdyaXRlciBjYW4gaW52YWxpZGF0ZSBhIHBvaW50ZXIgdGhhdCBhIHJlYWRl
ciBpcyBmb2xsb3dpbmcuCisgKi8KK3N0cnVjdCBzZXFjb3VudCB7CisgICAg
dW5zaWduZWQgaW50IHNlcXVlbmNlOworfTsKKworLyoKKyAqIFNFUUNOVF9a
RVJPKCkgLSBpbml0aWFsaXplciBmb3Igc2VxY291bnRfdAorICogQG5hbWU6
IE5hbWUgb2YgdGhlIHN0cnVjdCBzZXFjb3VudCBpbnN0YW5jZQorICovCisj
ZGVmaW5lIFNFUUNOVF9aRVJPKCkgeyAuc2VxdWVuY2UgPSAwIH0KKworc3Rh
dGljIGlubGluZSB1bnNpZ25lZCBpbnQgc2VxcHJvcF9zZXF1ZW5jZShjb25z
dCBzdHJ1Y3Qgc2VxY291bnQgKnMpCit7CisgICAgcmV0dXJuIEFDQ0VTU19P
TkNFKHMtPnNlcXVlbmNlKTsKK30KKworLyoKKyAqIHJlYWRfc2VxY291bnRf
YmVnaW4oKSAtIGJlZ2luIGEgc2VxY291bnQgcmVhZCBjcml0aWNhbCBzZWN0
aW9uCisgKiBAczogUG9pbnRlciB0byBzdHJ1Y3Qgc2VxY291bnQKKyAqCisg
KiBSZXR1cm46IGNvdW50IHRvIGJlIHBhc3NlZCB0byByZWFkX3NlcWNvdW50
X3JldHJ5KCkKKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgX3Jl
YWRfc2VxY291bnRfYmVnaW4oY29uc3Qgc3RydWN0IHNlcWNvdW50ICpzKQor
eworICAgIHVuc2lnbmVkIGludCBzZXE7CisKKyAgICB3aGlsZSAoKHNlcSA9
IHNlcXByb3Bfc2VxdWVuY2UocykpICYgMSkKKyAgICAgICAgY3B1X3JlbGF4
KCk7CisKKyAgICBzbXBfcm1iKCk7CisKKyAgICByZXR1cm4gc2VxOworfQor
CitzdGF0aWMgYWx3YXlzX2lubGluZSB1bnNpZ25lZCBpbnQgcmVhZF9zZXFj
b3VudF9iZWdpbihjb25zdCBzdHJ1Y3Qgc2VxY291bnQgKnMpCit7CisgICAg
dW5zaWduZWQgaW50IHNlcSA9IF9yZWFkX3NlcWNvdW50X2JlZ2luKHMpOwor
CisgICAgYmxvY2tfbG9ja19zcGVjdWxhdGlvbigpOworCisgICAgcmV0dXJu
IHNlcTsKK30KKworLyoKKyAqIHJlYWRfc2VxY291bnRfcmV0cnkoKSAtIGVu
ZCBhIHNlcWNvdW50IHJlYWQgY3JpdGljYWwgc2VjdGlvbgorICogQHM6IFBv
aW50ZXIgdG8gc3RydWN0IHNlcWNvdW50CisgKiBAc3RhcnQ6IGNvdW50LCBm
cm9tIHJlYWRfc2VxY291bnRfYmVnaW4oKQorICoKKyAqIHJlYWRfc2VxY291
bnRfcmV0cnkgY2xvc2VzIHRoZSByZWFkIGNyaXRpY2FsIHNlY3Rpb24gb2Yg
Z2l2ZW4gc3RydWN0CisgKiBzZXFjb3VudC4gIElmIHRoZSBjcml0aWNhbCBz
ZWN0aW9uIHdhcyBpbnZhbGlkLCBpdCBtdXN0IGJlIGlnbm9yZWQKKyAqIChh
bmQgdHlwaWNhbGx5IHJldHJpZWQpLgorICoKKyAqIFJldHVybjogdHJ1ZSBp
ZiBhIHJlYWQgc2VjdGlvbiByZXRyeSBpcyByZXF1aXJlZCwgZWxzZSBmYWxz
ZQorICovCitzdGF0aWMgaW5saW5lIGJvb2wgX3JlYWRfc2VxY291bnRfcmV0
cnkoY29uc3Qgc3RydWN0IHNlcWNvdW50ICpzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBzdGFydCkK
K3sKKyAgICBzbXBfcm1iKCk7CisgICAgcmV0dXJuIHVubGlrZWx5KHNlcXBy
b3Bfc2VxdWVuY2UocykgIT0gc3RhcnQpOworfQorCitzdGF0aWMgYWx3YXlz
X2lubGluZSBib29sIHJlYWRfc2VxY291bnRfcmV0cnkoY29uc3Qgc3RydWN0
IHNlcWNvdW50ICpzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBzdGFydCkKK3sKKyAgICBy
ZXR1cm4gbG9ja19ldmFsdWF0ZV9ub3NwZWMoX3JlYWRfc2VxY291bnRfcmV0
cnkocywgc3RhcnQpKTsKK30KKworLyogTG9vcHMgdW50aWwgYSBjb25zaXN0
ZW50IGNvdW50IGhhcyBiZWVuIG9ic2VydmVkIGFjcm9zcyB0aGUgbG9vcCBi
b2R5LiAqLworI2RlZmluZSB1bnRpbF9zZXFfcmVhZChzZXEpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZvciAoIHVuc2ln
bmVkIGludCByZXRyeV8gPSAxLCBjb3VudF87ICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgICAgIHJldHJ5XyAmJiAoY291bnRfID0gcmVhZF9zZXFj
b3VudF9iZWdpbihzZXEpLCB0cnVlKTsgXAorICAgICAgICAgIHJldHJ5XyA9
IHJlYWRfc2VxY291bnRfcmV0cnkoc2VxLCBjb3VudF8pICkKKworLyoKKyAq
IHdyaXRlX3NlcWNvdW50X2JlZ2luKCkgLSBzdGFydCBhIHN0cnVjdCBzZXFj
b3VudCB3cml0ZSBzaWRlIGNyaXRpY2FsIHNlY3Rpb24KKyAqIEBzOiBQb2lu
dGVyIHRvIHN0cnVjdCBzZXFjb3VudAorICoKKyAqIENvbnRleHQ6IHNlcXVl
bmNlIGNvdW50ZXIgd3JpdGUgc2lkZSBzZWN0aW9ucyBtdXN0IGJlIHNlcmlh
bGl6ZWQuCisgKiBJZiByZWFkZXJzIGNhbiBiZSBpbnZva2VkIGZyb20gaW50
ZXJydXB0IGNvbnRleHQsIGludGVycnVwdHMgbXVzdCBiZQorICogcmVzcGVj
dGl2ZWx5IGRpc2FibGVkLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgd3Jp
dGVfc2VxY291bnRfYmVnaW4oc3RydWN0IHNlcWNvdW50ICpzKQoreworICAg
IGFkZF9zaXplZCgmcy0+c2VxdWVuY2UsIDEpOworICAgIHNtcF93bWIoKTsK
K30KKworLyoKKyAqIHdyaXRlX3NlcWNvdW50X2VuZCgpIC0gZW5kIGEgc3Ry
dWN0IHNlcWNvdW50IHdyaXRlIHNpZGUgY3JpdGljYWwgc2VjdGlvbgorICog
QHM6IFBvaW50ZXIgdG8gc2VxY291bnQKKyAqLworc3RhdGljIGlubGluZSB2
b2lkIHdyaXRlX3NlcWNvdW50X2VuZChzdHJ1Y3Qgc2VxY291bnQgKnMpCit7
CisgICAgc21wX3dtYigpOworICAgIGFkZF9zaXplZCgmcy0+c2VxdWVuY2Us
IDEpOworfQorCisvKgorICogTm90IHJlYWxseSBhIGxvb3AsIGJ1dCB3ZSBu
ZWVkIHdyaXRlX3NlcWNvdW50X3tiZWdpbixlbmR9KCkgaW4gdGhlIGNvcnJl
Y3QKKyAqIHBvc2l0aW9uLgorICovCisjZGVmaW5lIHdpdGhfc2VxX3dyaXRl
KHNlcSkgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZm9yICgg
Ym9vbCBvbmNlXyA9IHRydWU7ICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgICAgb25jZV8gJiYgKHdyaXRlX3NlcWNvdW50X2JlZ2luKHNl
cSksIHRydWUpOyBcCisgICAgICAgICAgKHdyaXRlX3NlcWNvdW50X2VuZChz
ZXEpLCBvbmNlXyA9IGZhbHNlKSApCisKKyNlbmRpZiAvKiBYRU5fU0VRQ09V
TlRfSCAqLworCisvKgorICogTG9jYWwgdmFyaWFibGVzOgorICogbW9kZTog
QworICogYy1maWxlLXN0eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZzZXQ6
IDQKKyAqIHRhYi13aWR0aDogNAorICogaW5kZW50LXRhYnMtbW9kZTogbmls
CisgKiBFbmQ6CisgKi8K

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.19-02.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.19-02.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2dldGRvbWFpbmluZm8gd2l0
aG91dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKCmdldGRvbWFpbmluZm8oKSBp
cyBub3QgY2FsbGVkIHVuZGVyIGNvbnNpc3RlbnRseSB0aGUgc2FtZSBsb2Nr
LiBUaHVzLAp3aXRoIGNhbGxlciBzaWRlIGxvY2tpbmcgaXJyZWxldmFudCwg
aXQgY2FuIGFzIHdlbGwgYmUgY2FsbGVkIHdpdGggdGhlCmRvbWN0bCBsb2Nr
IG5vdCBoZWxkLiAoQ2FsbGVycyBub3QgcGF1c2luZyB0aGUgZG9tYWluIHRo
ZXkgd2FudCB0bwpyZXRyaWV2ZSBpbmZvcm1hdGlvbiBmb3IgYWxyZWFkeSBu
ZWVkIHRvIGJlIGF3YXJlIHRoYXQgbm90IGFsbCBvZiB0aGUKZGF0YSByZXR1
cm5lZCBjYW4gYmUgcmVsaWVkIG9uIGFzIGJlaW5nIGNvbnNpc3RlbnQ7IG1v
c3QgZGF0YSB3aWxsIGFsc28KYmUgc3RhbGUgYnkgdGhlIHRpbWUgdGhlIGNh
bGxlciBnZXRzIHRvIGxvb2sgYXQgaXQuKQoKTW92ZSB0aGUgaGFuZGxpbmcg
bm90IG9ubHkgYWhlYWQgb2YgYWNxdWlyaW5nIHRoZSBsb2NrLCBidXQgYWxz
byBhaGVhZApvZiB0aGUgWFNNIGNoZWNrLCBsZXZlcmFnaW5nIHRoYXQgdGhl
IHN1Yi1vcCBoYXMgaXRzIG93biBob29rLgoKV2hpbGUgbW92aW5nLCBjb252
ZXJ0IGFuIGFzc2lnbm1lbnQgdG8gYW4gYXNzZXJ0aW9uOiBUaGUgZG9tYWlu
IGluCnF1ZXN0aW9uIHdhcyBkZXRlcm1pbmVkIGZyb20gdGhlIGZpZWxkIHdo
aWNoIHByZXZpb3VzbHkgd2FzICJ1cGRhdGVkIi4KClRoaXMgaXMgcGFydCBv
ZiBYU0EtNDkyLgoKRml4ZXM6IDU1MTNiZDBiNDY3NSAoImFkZCB4ZW5zdG9y
ZSBkb21haW4gZmxhZyB0byBoeXBlcnZpc29yIikKUmVwb3J0ZWQtYnk6IEFu
ZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClNpZ25l
ZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2
aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXgu
Y29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0
dXNzb2x1dGlvbnMuY29tPgoKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYwor
KysgYi94ZW4vY29tbW9uL2RvbWN0bC5jCkBAIC0zMjIsNiArMzIyLDI2IEBA
IGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAg
ICAgICAgYnJlYWs7CiAgICAgfQogCisgICAgLyogSGFuZGxlIHN1Yi1vcHMg
bm90IHJlcXVpcmluZyB0aGUgZG9tY3RsIGxvY2suICovCisgICAgc3dpdGNo
ICggb3AtPmNtZCApCisgICAgeworICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRk
b21haW5pbmZvOgorICAgICAgICByZXQgPSB4c21fZ2V0ZG9tYWluaW5mbyhY
U01fWFNfUFJJViwgZCk7CisgICAgICAgIGlmICggIXJldCApCisgICAgICAg
IHsKKyAgICAgICAgICAgIGdldGRvbWFpbmluZm8oZCwgJm9wLT51LmdldGRv
bWFpbmluZm8pOworCisgICAgICAgICAgICBBU1NFUlQob3AtPmRvbWFpbiA9
PSBvcC0+dS5nZXRkb21haW5pbmZvLmRvbWFpbik7CisgICAgICAgICAgICBj
b3B5YmFjayA9IHRydWU7CisgICAgICAgIH0KKworICAgICAgICBnb3RvIGRv
bWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CisKKyAgICBkZWZhdWx0OgorICAg
ICAgICAvKiBFdmVyeXRoaW5nIGVsc2UgaGFuZGxlZCBmdXJ0aGVyIGRvd24u
ICovCisgICAgICAgIGJyZWFrOworICAgIH0KKwogICAgIHJldCA9IHhzbV9k
b21jdGwoWFNNX09USEVSLCBkLCBvcC0+Y21kLAogICAgICAgICAgICAgICAg
ICAgICAgLyogU1NJRFJlZiBvbmx5IGFwcGxpY2FibGUgZm9yIGNtZCA9PSBj
cmVhdGVkb21haW4gKi8KICAgICAgICAgICAgICAgICAgICAgIG9wLT51LmNy
ZWF0ZWRvbWFpbi5zc2lkcmVmKTsKQEAgLTUzOCwxNyArNTU4LDYgQEAgbG9u
ZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAg
ICBjb3B5YmFjayA9IDE7CiAgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBY
RU5fRE9NQ1RMX2dldGRvbWFpbmluZm86Ci0gICAgICAgIHJldCA9IHhzbV9n
ZXRkb21haW5pbmZvKFhTTV9YU19QUklWLCBkKTsKLSAgICAgICAgaWYgKCBy
ZXQgKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgZ2V0ZG9tYWlu
aW5mbyhkLCAmb3AtPnUuZ2V0ZG9tYWluaW5mbyk7Ci0KLSAgICAgICAgb3At
PmRvbWFpbiA9IG9wLT51LmdldGRvbWFpbmluZm8uZG9tYWluOwotICAgICAg
ICBjb3B5YmFjayA9IDE7Ci0gICAgICAgIGJyZWFrOwotCiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2dldHZjcHVjb250ZXh0OgogICAgIHsKICAgICAgICAgdmNw
dV9ndWVzdF9jb250ZXh0X3UgYyA9IHsgLm5hdCA9IE5VTEwgfTsKLS0tIGEv
eGVuL2luY2x1ZGUveHNtL2R1bW15LmgKKysrIGIveGVuL2luY2x1ZGUveHNt
L2R1bW15LmgKQEAgLTE3Miw4ICsxNzIsMTEgQEAgc3RhdGljIFhTTV9JTkxJ
TkUgaW50IGNmX2NoZWNrIHhzbV9kb21jdAogICAgIGNhc2UgWEVOX0RPTUNU
TF9iaW5kX3B0X2lycToKICAgICBjYXNlIFhFTl9ET01DVExfdW5iaW5kX3B0
X2lycToKICAgICAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihYU01f
RE1fUFJJViwgY3VycmVudC0+ZG9tYWluLCBkKTsKKwogICAgIGNhc2UgWEVO
X0RPTUNUTF9nZXRkb21haW5pbmZvOgotICAgICAgICByZXR1cm4geHNtX2Rl
ZmF1bHRfYWN0aW9uKFhTTV9YU19QUklWLCBjdXJyZW50LT5kb21haW4sIGQp
OworICAgICAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgcmV0
dXJuIC1FSUxTRVE7CisKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4g
eHNtX2RlZmF1bHRfYWN0aW9uKFhTTV9QUklWLCBjdXJyZW50LT5kb21haW4s
IGQpOwogICAgIH0KLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5jCisrKyBi
L3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjc4LDggKzY3OCwxMiBAQCBz
dGF0aWMgaW50IGNmX2NoZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICAg
ICAgICovCiAgICAgICAgIHJldHVybiBhdmNfY3VycmVudF9oYXNfcGVybShz
c2lkcmVmLCBTRUNDTEFTU19ET01BSU4sIERPTUFJTl9fQ1JFQVRFLCBOVUxM
KTsKIAotICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00gaG9va3Mg
KGNvbW1vbi9kb21jdGwuYykgKi8KKyAgICAvKiBUaGVzZSBoYXZlIGluZGl2
aWR1YWwgWFNNIGhvb2tzIGFuZCBkb24ndCBtYWtlIGl0IGhlcmUuICovCiAg
ICAgY2FzZSBYRU5fRE9NQ1RMX2dldGRvbWFpbmluZm86CisgICAgICAgIEFT
U0VSVF9VTlJFQUNIQUJMRSgpOworICAgICAgICByZXR1cm4gLUVJTFNFUTsK
KworICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00gaG9va3MgKGNv
bW1vbi9kb21jdGwuYykgKi8KICAgICBjYXNlIFhFTl9ET01DVExfc2NoZWR1
bGVyX29wOgogICAgIGNhc2UgWEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbjoK
ICAgICBjYXNlIFhFTl9ET01DVExfaW9tZW1fcGVybWlzc2lvbjoK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.19-03.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.19-03.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21haW46IGxvY2tpbmcgZm9yIGlvbWVtX2NhcHMgYWNjZXNzZXMKCklu
IG9yZGVyIHRvIGJlIGFibGUgdG8gcHVsbCBhdCBsZWFzdCB0aGUgWEVOX0RP
TUNUTF9pb21lbV9tYXBwaW5nIGhhbmRsaW5nCm91dCBvZiB0aGUgZG9tY3Rs
LWxvY2tlZCByZWdpb24sIGEgc2VwYXJhdGUgKHBlci1kb21haW4pIGxvY2sg
aXMgbmVlZGVkIHRvCnN5bmNocm9uaXplIGluIHBhcnRpY3VsYXIgd2l0aCBY
RU5fRE9NQ1RMX2lvbWVtX3Blcm1pc3Npb24uCgpMb2NraW5nIGlzIGFkZGVk
IG9ubHkgYXMgZmFyIGFzIGRvbWN0bC1zIGFyZSBhZmZlY3RlZC4gVXNlcyBw
cmVzZW50bHkKb3V0c2lkZSBvZiB0aGUgZG9tY3RsIGxvY2sgbWF5IHdhbnQg
ZGVhbGluZyB3aXRoIHN1YnNlcXVlbnRseSAocGVyaGFwcwpsaW1pdGVkIHRv
IG5vbi1fX2luaXQgY29kZSkuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4K
ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv
bT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBj
aXRyaXguY29tPgoKLS0tIGEveGVuL2NvbW1vbi9kb21haW4uYworKysgYi94
ZW4vY29tbW9uL2RvbWFpbi5jCkBAIC0zMzIsMTAgKzMzMiwxNSBAQCBzdGF0
aWMgaW50IGxhdGVfaHdkb21faW5pdChzdHJ1Y3QgZG9tYWluCiAgICAgICog
bWF5IGJlIG1vZGlmaWVkIGFmdGVyIHRoaXMgaHlwZXJjYWxsIHJldHVybnMg
aWYgYSBtb3JlIGNvbXBsZXgKICAgICAgKiBkZXZpY2UgbW9kZWwgaXMgZGVz
aXJlZC4KICAgICAgKi8KKyAgICB3cml0ZV9sb2NrKCZkb20wLT5jYXBzX2xv
Y2spOwogICAgIHJhbmdlc2V0X3N3YXAoZC0+aXJxX2NhcHMsIGRvbTAtPmly
cV9jYXBzKTsKICAgICByYW5nZXNldF9zd2FwKGQtPmlvbWVtX2NhcHMsIGRv
bTAtPmlvbWVtX2NhcHMpOwogI2lmZGVmIENPTkZJR19YODYKICAgICByYW5n
ZXNldF9zd2FwKGQtPmFyY2guaW9wb3J0X2NhcHMsIGRvbTAtPmFyY2guaW9w
b3J0X2NhcHMpOworI2VuZGlmCisgICAgd3JpdGVfdW5sb2NrKCZkb20wLT5j
YXBzX2xvY2spOworCisjaWZkZWYgQ09ORklHX1g4NgogICAgIHNldHVwX2lv
X2JpdG1hcChkKTsKICAgICBzZXR1cF9pb19iaXRtYXAoZG9tMCk7CiAjZW5k
aWYKQEAgLTYzNiw2ICs2NDEsNyBAQCBzdHJ1Y3QgZG9tYWluICpkb21haW5f
Y3JlYXRlKGRvbWlkX3QgZG9tCiAgICAgcnNwaW5fbG9ja19pbml0X3Byb2Yo
ZCwgZG9tYWluX2xvY2spOwogICAgIHJzcGluX2xvY2tfaW5pdF9wcm9mKGQs
IHBhZ2VfYWxsb2NfbG9jayk7CiAgICAgc3Bpbl9sb2NrX2luaXQoJmQtPmh5
cGVyY2FsbF9kZWFkbG9ja19tdXRleCk7CisgICAgcndsb2NrX2luaXQoJmQt
PmNhcHNfbG9jayk7CiAgICAgSU5JVF9QQUdFX0xJU1RfSEVBRCgmZC0+cGFn
ZV9saXN0KTsKICAgICBJTklUX1BBR0VfTElTVF9IRUFEKCZkLT5leHRyYV9w
YWdlX2xpc3QpOwogICAgIElOSVRfUEFHRV9MSVNUX0hFQUQoJmQtPnhlbnBh
Z2VfbGlzdCk7Ci0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMKKysrIGIveGVu
L2NvbW1vbi9kb21jdGwuYwpAQCAtMjc4LDYgKzI3OCwzNSBAQCBzdGF0aWMg
c3RydWN0IHZudW1hX2luZm8gKnZudW1hX2luaXQoY29uCiAgICAgcmV0dXJu
IEVSUl9QVFIocmV0KTsKIH0KIAordm9pZCBpb2NhcHNfZG91YmxlX2xvY2so
c3RydWN0IGRvbWFpbiAqZCwgYm9vbCB3cml0ZSkKK3sKKyAgICBzdHJ1Y3Qg
ZG9tYWluICpjdXJyZCA9IGN1cnJlbnQtPmRvbWFpbjsKKworICAgIGlmICgg
ZC0+ZG9tYWluX2lkID4gY3VycmQtPmRvbWFpbl9pZCApCisgICAgICAgIHJl
YWRfbG9jaygmY3VycmQtPmNhcHNfbG9jayk7CisKKyAgICBpZiAoIHdyaXRl
ICkKKyAgICAgICAgd3JpdGVfbG9jaygmZC0+Y2Fwc19sb2NrKTsKKyAgICBl
bHNlCisgICAgICAgIHJlYWRfbG9jaygmZC0+Y2Fwc19sb2NrKTsKKworICAg
IGlmICggZC0+ZG9tYWluX2lkIDwgY3VycmQtPmRvbWFpbl9pZCApCisgICAg
ICAgIHJlYWRfbG9jaygmY3VycmQtPmNhcHNfbG9jayk7Cit9CisKK3ZvaWQg
aW9jYXBzX2RvdWJsZV91bmxvY2soc3RydWN0IGRvbWFpbiAqZCwgYm9vbCB3
cml0ZSkKK3sKKyAgICBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1cnJlbnQt
PmRvbWFpbjsKKworICAgIGlmICggZCAhPSBjdXJyZCApCisgICAgICAgIHJl
YWRfdW5sb2NrKCZjdXJyZC0+Y2Fwc19sb2NrKTsKKworICAgIGlmICggd3Jp
dGUgKQorICAgICAgICB3cml0ZV91bmxvY2soJmQtPmNhcHNfbG9jayk7Cisg
ICAgZWxzZQorICAgICAgICByZWFkX3VubG9jaygmZC0+Y2Fwc19sb2NrKTsK
K30KKwogbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4
ZW5fZG9tY3RsX3QpIHVfZG9tY3RsKQogewogICAgIGxvbmcgcmV0ID0gMDsK
QEAgLTY5NSw2ICs3MjQsOCBAQCBsb25nIGRvX2RvbWN0bChYRU5fR1VFU1Rf
SEFORExFX1BBUkFNKHhlCiAgICAgICAgIGlmICggKG1mbiArIG5yX21mbnMg
LSAxKSA8IG1mbiApIC8qIHdyYXA/ICovCiAgICAgICAgICAgICBicmVhazsK
IAorICAgICAgICBpb2NhcHNfZG91YmxlX2xvY2soZCwgdHJ1ZSk7CisKICAg
ICAgICAgaWYgKCAhaW9tZW1fYWNjZXNzX3Blcm1pdHRlZChjdXJyZW50LT5k
b21haW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bWZuLCBtZm4gKyBucl9tZm5zIC0gMSkgfHwKICAgICAgICAgICAgICB4c21f
aW9tZW1fcGVybWlzc2lvbihYU01fSE9PSywgZCwgbWZuLCBtZm4gKyBucl9t
Zm5zIC0gMSwgYWxsb3cpICkKQEAgLTcwMyw2ICs3MzQsOCBAQCBsb25nIGRv
X2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlCiAgICAgICAgICAg
ICByZXQgPSBpb21lbV9wZXJtaXRfYWNjZXNzKGQsIG1mbiwgbWZuICsgbnJf
bWZucyAtIDEpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXQgPSBp
b21lbV9kZW55X2FjY2VzcyhkLCBtZm4sIG1mbiArIG5yX21mbnMgLSAxKTsK
KworICAgICAgICBpb2NhcHNfZG91YmxlX3VubG9jayhkLCB0cnVlKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgfQogCkBAIC03MjcsMTkgKzc2MCwxNSBAQCBs
b25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlCiAgICAg
ICAgICAgICBicmVhazsKICNlbmRpZgogCisgICAgICAgIGlvY2Fwc19kb3Vi
bGVfbG9jayhkLCBmYWxzZSk7CisKICAgICAgICAgcmV0ID0gLUVQRVJNOwog
ICAgICAgICBpZiAoICFpb21lbV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJlbnQt
PmRvbWFpbiwgbWZuLCBtZm5fZW5kKSB8fAotICAgICAgICAgICAgICFpb21l
bV9hY2Nlc3NfcGVybWl0dGVkKGQsIG1mbiwgbWZuX2VuZCkgKQotICAgICAg
ICAgICAgYnJlYWs7Ci0KLSAgICAgICAgcmV0ID0geHNtX2lvbWVtX21hcHBp
bmcoWFNNX0hPT0ssIGQsIG1mbiwgbWZuX2VuZCwgYWRkKTsKLSAgICAgICAg
aWYgKCByZXQgKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgaWYg
KCAhcGFnaW5nX21vZGVfdHJhbnNsYXRlKGQpICkKLSAgICAgICAgICAgIGJy
ZWFrOwotCi0gICAgICAgIGlmICggYWRkICkKKyAgICAgICAgICAgICAhaW9t
ZW1fYWNjZXNzX3Blcm1pdHRlZChkLCBtZm4sIG1mbl9lbmQpIHx8CisgICAg
ICAgICAgICAgKHJldCA9IHhzbV9pb21lbV9tYXBwaW5nKFhTTV9IT09LLCBk
LCBtZm4sIG1mbl9lbmQsIGFkZCkpIHx8CisgICAgICAgICAgICAgIXBhZ2lu
Z19tb2RlX3RyYW5zbGF0ZShkKSApCisgICAgICAgICAgICAvKiBOb3RoaW5n
LiAqLzsKKyAgICAgICAgZWxzZSBpZiAoIGFkZCApCiAgICAgICAgIHsKICAg
ICAgICAgICAgIHByaW50ayhYRU5MT0dfR19ERUJVRwogICAgICAgICAgICAg
ICAgICAgICJtZW1vcnlfbWFwOmFkZDogZG9tJWQgZ2ZuPSVseCBtZm49JWx4
IG5yPSVseFxuIiwKQEAgLTc2Myw2ICs3OTIsOCBAQCBsb25nIGRvX2RvbWN0
bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlCiAgICAgICAgICAgICAgICAg
ICAgICAgICJtZW1vcnlfbWFwOiBlcnJvciAlbGQgcmVtb3ZpbmcgZG9tJWQg
YWNjZXNzIHRvIFslbHgsJWx4XVxuIiwKICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0LCBkLT5kb21haW5faWQsIG1mbiwgbWZuX2VuZCk7CiAgICAgICAg
IH0KKworICAgICAgICBpb2NhcHNfZG91YmxlX3VubG9jayhkLCBmYWxzZSk7
CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotLS0gYS94ZW4vaW5jbHVkZS94
ZW4vaW9jYXAuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vaW9jYXAuaApAQCAt
MTIsNiArMTIsOSBAQAogI2luY2x1ZGUgPGFzbS9pb2NhcC5oPgogI2luY2x1
ZGUgPGFzbS9wMm0uaD4KIAordm9pZCBpb2NhcHNfZG91YmxlX2xvY2soc3Ry
dWN0IGRvbWFpbiAqZCwgYm9vbCB3cml0ZSk7Cit2b2lkIGlvY2Fwc19kb3Vi
bGVfdW5sb2NrKHN0cnVjdCBkb21haW4gKmQsIGJvb2wgd3JpdGUpOworCiBz
dGF0aWMgaW5saW5lIGludCBpb21lbV9wZXJtaXRfYWNjZXNzKHN0cnVjdCBk
b21haW4gKmQsIHVuc2lnbmVkIGxvbmcgcywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBlKQogewotLS0g
YS94ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaAorKysgYi94ZW4vaW5jbHVkZS94
ZW4vc2NoZWQuaApAQCAtNTI3LDYgKzUyNyw3IEBAIHN0cnVjdCBkb21haW4K
ICNlbmRpZgogCiAgICAgLyogSS9PIGNhcGFiaWxpdGllcyAoYWNjZXNzIHRv
IElSUXMgYW5kIG1lbW9yeS1tYXBwZWQgSS9PKS4gKi8KKyAgICByd2xvY2tf
dCAgICAgICAgIGNhcHNfbG9jazsKICAgICBzdHJ1Y3QgcmFuZ2VzZXQgKmlv
bWVtX2NhcHM7CiAgICAgc3RydWN0IHJhbmdlc2V0ICppcnFfY2FwczsKIAo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.19-04.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.19-04.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvZG9tYWluOiBsb2NraW5nIGZvciBpb3BvcnRfY2FwcyBhY2Nlc3Nl
cwoKSW4gb3JkZXIgdG8gYmUgYWJsZSB0byBwdWxsIGF0IGxlYXN0IHRoZSBY
RU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nCmhhbmRsaW5nIG91dCBvZiB0aGUg
ZG9tY3RsLWxvY2tlZCByZWdpb24sIHRoZSBuZXcgc2VwYXJhdGUgKHBlci1k
b21haW4pCmxvY2sgaXMgdXNlZCB0byBzeW5jaHJvbml6ZSBpbiBwYXJ0aWN1
bGFyIHdpdGgKWEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbi4KCkxvY2tp
bmcgaXMgYWRkZWQgb25seSBhcyBmYXIgYXMgZG9tY3RsLXMgYXJlIGFmZmVj
dGVkLiBVc2VzIHByZXNlbnRseQpvdXRzaWRlIG9mIHRoZSBkb21jdGwgbG9j
ayBtYXkgd2FudCBkZWFsaW5nIHdpdGggc3Vic2VxdWVudGx5IChwZXJoYXBz
CmxpbWl0ZWQgdG8gbm9uLV9faW5pdCBjb2RlKS4KClRoaXMgaXMgcGFydCBv
ZiBYU0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8
cm9nZXIucGF1QGNpdHJpeC5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvZG9t
Y3RsLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWN0bC5jCkBAIC0yMjUsNiAr
MjI1LDggQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgKICAgICAgICAgdW5zaWdu
ZWQgaW50IG5wID0gZG9tY3RsLT51LmlvcG9ydF9wZXJtaXNzaW9uLm5yX3Bv
cnRzOwogICAgICAgICBpbnQgYWxsb3cgPSBkb21jdGwtPnUuaW9wb3J0X3Bl
cm1pc3Npb24uYWxsb3dfYWNjZXNzOwogCisgICAgICAgIGlvY2Fwc19kb3Vi
bGVfbG9jayhkLCB0cnVlKTsKKwogICAgICAgICBpZiAoIChmcCArIG5wKSA8
PSBmcCB8fCAoZnAgKyBucCkgPiBNQVhfSU9QT1JUUyApCiAgICAgICAgICAg
ICByZXQgPSAtRUlOVkFMOwogICAgICAgICBlbHNlIGlmICggIWlvcG9ydHNf
YWNjZXNzX3Blcm1pdHRlZChjdXJyZCwgZnAsIGZwICsgbnAgLSAxKSB8fApA
QCAtMjM0LDYgKzIzNiw4IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoCiAgICAg
ICAgICAgICByZXQgPSBpb3BvcnRzX3Blcm1pdF9hY2Nlc3MoZCwgZnAsIGZw
ICsgbnAgLSAxKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmV0ID0g
aW9wb3J0c19kZW55X2FjY2VzcyhkLCBmcCwgZnAgKyBucCAtIDEpOworCisg
ICAgICAgIGlvY2Fwc19kb3VibGVfdW5sb2NrKGQsIHRydWUpOwogICAgICAg
ICBicmVhazsKICAgICB9CiAKQEAgLTYwOCwxNiArNjEyLDEzIEBAIGxvbmcg
YXJjaF9kb19kb21jdGwoCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogCi0gICAgICAgIHJldCA9IC1FUEVSTTsKLSAgICAgICAgaWYgKCAhaW9w
b3J0c19hY2Nlc3NfcGVybWl0dGVkKGN1cnJkLCBmbXAsIGZtcCArIG5wIC0g
MSkgKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgcmV0ID0geHNt
X2lvcG9ydF9tYXBwaW5nKFhTTV9IT09LLCBkLCBmbXAsIGZtcCArIG5wIC0g
MSwgYWRkKTsKLSAgICAgICAgaWYgKCByZXQgKQotICAgICAgICAgICAgYnJl
YWs7Ci0KICAgICAgICAgaHZtID0gJmQtPmFyY2guaHZtOwotICAgICAgICBp
ZiAoIGFkZCApCisgICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCB0cnVl
KTsKKworICAgICAgICBpZiAoICFpb3BvcnRzX2FjY2Vzc19wZXJtaXR0ZWQo
Y3VycmQsIGZtcCwgZm1wICsgbnAgLSAxKSB8fAorICAgICAgICAgICAgIChy
ZXQgPSB4c21faW9wb3J0X21hcHBpbmcoWFNNX0hPT0ssIGQsIGZtcCwgZm1w
ICsgbnAgLSAxLCBhZGQpKSApCisgICAgICAgICAgICByZXQgPSByZXQgPzog
LUVQRVJNOworICAgICAgICBlbHNlIGlmICggYWRkICkKICAgICAgICAgewog
ICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0lORk8KICAgICAgICAgICAg
ICAgICAgICAiaW9wb3J0X21hcDphZGQ6IGRvbSVkIGdwb3J0PSV4IG1wb3J0
PSV4IG5yPSV4XG4iLApAQCAtNjc4LDYgKzY4MCw4IEBAIGxvbmcgYXJjaF9k
b19kb21jdGwoCiAgICAgICAgICAgICAgICAgICAgICAgICJpb3BvcnRfbWFw
OiBlcnJvciAlbGQgZGVueWluZyBkb20lZCBhY2Nlc3MgdG8gWyV4LCV4XVxu
IiwKICAgICAgICAgICAgICAgICAgICAgICAgcmV0LCBkLT5kb21haW5faWQs
IGZtcCwgZm1wICsgbnAgLSAxKTsKICAgICAgICAgfQorCisgICAgICAgIGlv
Y2Fwc19kb3VibGVfdW5sb2NrKGQsIHRydWUpOwogICAgICAgICBicmVhazsK
ICAgICB9CiAKLS0tIGEveGVuL2FyY2gveDg2L3NldHVwLmMKKysrIGIveGVu
L2FyY2gveDg2L3NldHVwLmMKQEAgLTIxNzMsOSArMjE3MywxMiBAQCB2b2lk
IF9faHdkb21faW5pdCBzZXR1cF9pb19iaXRtYXAoc3RydWN0CiAgICAgICAg
IHJldHVybjsKIAogICAgIGJpdG1hcF9maWxsKGQtPmFyY2guaHZtLmlvX2Jp
dG1hcCwgMHgxMDAwMCk7CisKKyAgICByZWFkX2xvY2soJmQtPmNhcHNfbG9j
ayk7CiAgICAgaWYgKCByYW5nZXNldF9yZXBvcnRfcmFuZ2VzKGQtPmFyY2gu
aW9wb3J0X2NhcHMsIDAsIDB4MTAwMDAsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlvX2JpdG1hcF9jYiwgZCkgKQogICAgICAgICBCVUco
KTsKKyAgICByZWFkX3VubG9jaygmZC0+Y2Fwc19sb2NrKTsKIAogICAgIC8q
CiAgICAgICogV2UgbmVlZCB0byB0cmFwIDQtYnl0ZSBhY2Nlc3NlcyB0byAw
eGNmOCAoc2VlIGFkbWluX2lvX29rYXkoKSwK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.19-05.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.19-05.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21haW46IGxvY2tpbmcgZm9yIGlycV9jYXBzIGFjY2Vzc2VzCgpJbiBv
cmRlciB0byBiZSBhYmxlIHRvIHB1bGwgYXQgbGVhc3QgdGhlIFhFTl9ET01D
VExfeyx1bn1iaW5kX3B0X2lycQpoYW5kbGluZyBvdXQgb2YgdGhlIGRvbWN0
bC1sb2NrZWQgcmVnaW9uLCBhIHNlcGFyYXRlIChwZXItZG9tYWluKSBsb2Nr
IGlzCm5lZWRlZCB0byBzeW5jaHJvbml6ZSBpbiBwYXJ0aWN1bGFyIHdpdGgg
WEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbi4KCkxvY2tpbmcgaXMgYWRkZWQg
b25seSBhcyBmYXIgYXMgZG9tY3RsLXMgYXJlIGFmZmVjdGVkLiBVc2VzIHBy
ZXNlbnRseQpvdXRzaWRlIG9mIHRoZSBkb21jdGwgbG9jayBtYXkgd2FudCBk
ZWFsaW5nIHdpdGggc3Vic2VxdWVudGx5IChwZXJoYXBzCmxpbWl0ZWQgdG8g
bm9uLV9faW5pdCBjb2RlKS4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoK
U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
PgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNp
dHJpeC5jb20+ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4
ZW4ub3JnPgoKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWN0bC5jCisrKyBiL3hl
bi9hcmNoL2FybS9kb21jdGwuYwpAQCAtNzYsNiArNzYsNyBAQCBsb25nIGFy
Y2hfZG9fZG9tY3RsKHN0cnVjdCB4ZW5fZG9tY3RsICpkCiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgogICAgIHsKICAgICAgICAgaW50IHJj
OworICAgICAgICBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1cnJlbnQtPmRv
bWFpbjsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfYmluZF9wdF9pcnEg
KmJpbmQgPSAmZG9tY3RsLT51LmJpbmRfcHRfaXJxOwogICAgICAgICB1aW50
MzJfdCBpcnEgPSBiaW5kLT51LnNwaS5zcGk7CiAgICAgICAgIHVpbnQzMl90
IHZpcnEgPSBiaW5kLT5tYWNoaW5lX2lycTsKQEAgLTEwNywyMSArMTA4LDI2
IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoc3RydWN0IHhlbl9kb21jdGwgKmQK
ICAgICAgICAgaWYgKCByYyApCiAgICAgICAgICAgICByZXR1cm4gcmM7CiAK
LSAgICAgICAgaWYgKCAhaXJxX2FjY2Vzc19wZXJtaXR0ZWQoY3VycmVudC0+
ZG9tYWluLCBpcnEpICkKLSAgICAgICAgICAgIHJldHVybiAtRVBFUk07Cisg
ICAgICAgIHJlYWRfbG9jaygmY3VycmQtPmNhcHNfbG9jayk7CiAKLSAgICAg
ICAgaWYgKCAhdmdpY19yZXNlcnZlX3ZpcnEoZCwgdmlycSkgKQotICAgICAg
ICAgICAgcmV0dXJuIC1FQlVTWTsKLQotICAgICAgICByYyA9IHJvdXRlX2ly
cV90b19ndWVzdChkLCB2aXJxLCBpcnEsICJyb3V0ZWQgSVJRIik7Ci0gICAg
ICAgIGlmICggcmMgKQotICAgICAgICAgICAgdmdpY19mcmVlX3ZpcnEoZCwg
dmlycSk7CisgICAgICAgIGlmICggIWlycV9hY2Nlc3NfcGVybWl0dGVkKGN1
cnJkLCBpcnEpICkKKyAgICAgICAgICAgIHJjID0gLUVQRVJNOworICAgICAg
ICBlbHNlIGlmICggIXZnaWNfcmVzZXJ2ZV92aXJxKGQsIHZpcnEpICkKKyAg
ICAgICAgICAgIHJjID0gLUVCVVNZOworICAgICAgICBlbHNlCisgICAgICAg
IHsKKyAgICAgICAgICAgIHJjID0gcm91dGVfaXJxX3RvX2d1ZXN0KGQsIHZp
cnEsIGlycSwgInJvdXRlZCBJUlEiKTsKKyAgICAgICAgICAgIGlmICggcmMg
KQorICAgICAgICAgICAgICAgIHZnaWNfZnJlZV92aXJxKGQsIHZpcnEpOwor
ICAgICAgICB9CiAKKyAgICAgICAgcmVhZF91bmxvY2soJmN1cnJkLT5jYXBz
X2xvY2spOwogICAgICAgICByZXR1cm4gcmM7CiAgICAgfQogICAgIGNhc2Ug
WEVOX0RPTUNUTF91bmJpbmRfcHRfaXJxOgogICAgIHsKICAgICAgICAgaW50
IHJjOworICAgICAgICBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1cnJlbnQt
PmRvbWFpbjsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfYmluZF9wdF9p
cnEgKmJpbmQgPSAmZG9tY3RsLT51LmJpbmRfcHRfaXJxOwogICAgICAgICB1
aW50MzJfdCBpcnEgPSBiaW5kLT51LnNwaS5zcGk7CiAgICAgICAgIHVpbnQz
Ml90IHZpcnEgPSBiaW5kLT5tYWNoaW5lX2lycTsKQEAgLTEzOCwxNiArMTQ0
LDE1IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoc3RydWN0IHhlbl9kb21jdGwg
KmQKICAgICAgICAgaWYgKCByYyApCiAgICAgICAgICAgICByZXR1cm4gcmM7
CiAKLSAgICAgICAgaWYgKCAhaXJxX2FjY2Vzc19wZXJtaXR0ZWQoY3VycmVu
dC0+ZG9tYWluLCBpcnEpICkKLSAgICAgICAgICAgIHJldHVybiAtRVBFUk07
Ci0KLSAgICAgICAgcmMgPSByZWxlYXNlX2d1ZXN0X2lycShkLCB2aXJxKTsK
LSAgICAgICAgaWYgKCByYyApCi0gICAgICAgICAgICByZXR1cm4gcmM7Cisg
ICAgICAgIHJlYWRfbG9jaygmY3VycmQtPmNhcHNfbG9jayk7CiAKLSAgICAg
ICAgdmdpY19mcmVlX3ZpcnEoZCwgdmlycSk7CisgICAgICAgIGlmICggIWly
cV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJkLCBpcnEpICkKKyAgICAgICAgICAg
IHJjID0gLUVQRVJNOworICAgICAgICBlbHNlIGlmICggIShyYyA9IHJlbGVh
c2VfZ3Vlc3RfaXJxKGQsIHZpcnEpKSApCisgICAgICAgICAgICB2Z2ljX2Zy
ZWVfdmlycShkLCB2aXJxKTsKIAotICAgICAgICByZXR1cm4gMDsKKyAgICAg
ICAgcmVhZF91bmxvY2soJmN1cnJkLT5jYXBzX2xvY2spOworICAgICAgICBy
ZXR1cm4gcmM7CiAgICAgfQogCiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Z1YXJ0
X29wOgotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVuL2Fy
Y2gveDg2L2RvbWN0bC5jCkBAIC01MzksMjAgKzUzOSwyNyBAQCBsb25nIGFy
Y2hfZG9fZG9tY3RsKAogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAg
aXJxID0gZG9tYWluX3BpcnFfdG9faXJxKGQsIGJpbmQtPm1hY2hpbmVfaXJx
KTsKLSAgICAgICAgcmV0ID0gLUVQRVJNOwotICAgICAgICBpZiAoIGlycSA8
PSAwIHx8ICFpcnFfYWNjZXNzX3Blcm1pdHRlZChjdXJyZCwgaXJxKSApCi0g
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgaWYgKCBpcnEgPD0gMCApCisg
ICAgICAgICAgICByZXQgPSAtRVBFUk07CisKKyAgICAgICAgcmVhZF9sb2Nr
KCZjdXJyZC0+Y2Fwc19sb2NrKTsKIAotICAgICAgICByZXQgPSAtRVNSQ0g7
Ci0gICAgICAgIGlmICggaXNfaW9tbXVfZW5hYmxlZChkKSApCisgICAgICAg
IGlmICggIWlycV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJkLCBpcnEpICkKKyAg
ICAgICAgICAgIHJldCA9IC1FUEVSTTsKKyAgICAgICAgZWxzZSBpZiAoIGlz
X2lvbW11X2VuYWJsZWQoZCkgKQogICAgICAgICB7CiAgICAgICAgICAgICBw
Y2lkZXZzX2xvY2soKTsKICAgICAgICAgICAgIHJldCA9IHB0X2lycV9jcmVh
dGVfYmluZChkLCBiaW5kKTsKICAgICAgICAgICAgIHBjaWRldnNfdW5sb2Nr
KCk7CisKKyAgICAgICAgICAgIGlmICggcmV0IDwgMCApCisgICAgICAgICAg
ICAgICAgcHJpbnRrKFhFTkxPR19HX0VSUiAicHRfaXJxX2NyZWF0ZV9iaW5k
IGZhaWxlZCAoJWxkKSBmb3IgJXBkXG4iLAorICAgICAgICAgICAgICAgICAg
ICAgICByZXQsIGQpOwogICAgICAgICB9Ci0gICAgICAgIGlmICggcmV0IDwg
MCApCi0gICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfRVJSICJwdF9pcnFf
Y3JlYXRlX2JpbmQgZmFpbGVkICglbGQpIGZvciBkb20lZFxuIiwKLSAgICAg
ICAgICAgICAgICAgICByZXQsIGQtPmRvbWFpbl9pZCk7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIHJldCA9IC1FU1JDSDsKKworICAgICAgICByZWFk
X3VubG9jaygmY3VycmQtPmNhcHNfbG9jayk7CiAgICAgICAgIGJyZWFrOwog
ICAgIH0KIApAQCAtNTY1LDIzICs1NzIsMjYgQEAgbG9uZyBhcmNoX2RvX2Rv
bWN0bCgKICAgICAgICAgaWYgKCAhaXNfaHZtX2RvbWFpbihkKSApCiAgICAg
ICAgICAgICBicmVhazsKIAotICAgICAgICByZXQgPSAtRVBFUk07Ci0gICAg
ICAgIGlmICggaXJxIDw9IDAgfHwgIWlycV9hY2Nlc3NfcGVybWl0dGVkKGN1
cnJkLCBpcnEpICkKLSAgICAgICAgICAgIGJyZWFrOwotCiAgICAgICAgIHJl
dCA9IHhzbV91bmJpbmRfcHRfaXJxKFhTTV9IT09LLCBkLCBiaW5kKTsKICAg
ICAgICAgaWYgKCByZXQgKQogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAg
ICAgaWYgKCBpc19pb21tdV9lbmFibGVkKGQpICkKKyAgICAgICAgcmVhZF9s
b2NrKCZjdXJyZC0+Y2Fwc19sb2NrKTsKKworICAgICAgICBpZiAoICFpcnFf
YWNjZXNzX3Blcm1pdHRlZChjdXJyZCwgaXJxKSApCisgICAgICAgICAgICBy
ZXQgPSAtRVBFUk07CisgICAgICAgIGVsc2UgaWYgKCBpc19pb21tdV9lbmFi
bGVkKGQpICkKICAgICAgICAgewogICAgICAgICAgICAgcGNpZGV2c19sb2Nr
KCk7CiAgICAgICAgICAgICByZXQgPSBwdF9pcnFfZGVzdHJveV9iaW5kKGQs
IGJpbmQpOwogICAgICAgICAgICAgcGNpZGV2c191bmxvY2soKTsKKworICAg
ICAgICAgICAgaWYgKCByZXQgPCAwICkKKyAgICAgICAgICAgICAgICBwcmlu
dGsoWEVOTE9HX0dfRVJSICJwdF9pcnFfZGVzdHJveV9iaW5kIGZhaWxlZCAo
JWxkKSBmb3IgJXBkXG4iLAorICAgICAgICAgICAgICAgICAgICAgICByZXQs
IGQpOwogICAgICAgICB9Ci0gICAgICAgIGlmICggcmV0IDwgMCApCi0gICAg
ICAgICAgICBwcmludGsoWEVOTE9HX0dfRVJSICJwdF9pcnFfZGVzdHJveV9i
aW5kIGZhaWxlZCAoJWxkKSBmb3IgZG9tJWRcbiIsCi0gICAgICAgICAgICAg
ICAgICAgcmV0LCBkLT5kb21haW5faWQpOworCisgICAgICAgIHJlYWRfdW5s
b2NrKCZjdXJyZC0+Y2Fwc19sb2NrKTsKICAgICAgICAgYnJlYWs7CiAgICAg
fQogCi0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMKKysrIGIveGVuL2NvbW1v
bi9kb21jdGwuYwpAQCAtNzAzLDYgKzcwMyw5IEBAIGxvbmcgZG9fZG9tY3Rs
KFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICAgICAgICAgIHJldCA9
IC1FSU5WQUw7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorCisg
ICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCB0cnVlKTsKKwogICAgICAg
ICBpcnEgPSBwaXJxX2FjY2Vzc19wZXJtaXR0ZWQoY3VycmVudC0+ZG9tYWlu
LCBwaXJxKTsKICAgICAgICAgaWYgKCAhaXJxIHx8IHhzbV9pcnFfcGVybWlz
c2lvbihYU01fSE9PSywgZCwgaXJxLCBhbGxvdykgKQogICAgICAgICAgICAg
cmV0ID0gLUVQRVJNOwpAQCAtNzEwLDYgKzcxMyw4IEBAIGxvbmcgZG9fZG9t
Y3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICAgICAgICAgIHJl
dCA9IGlycV9wZXJtaXRfYWNjZXNzKGQsIGlycSk7CiAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgIHJldCA9IGlycV9kZW55X2FjY2VzcyhkLCBpcnEpOwor
CisgICAgICAgIGlvY2Fwc19kb3VibGVfdW5sb2NrKGQsIHRydWUpOwogICAg
ICAgICBicmVhazsKICAgICB9CiAjZW5kaWYK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.19-06.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.19-06.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBYU00vRmxhc2s6IHNwbGl0IHRoZSAuaW9tZW1fbWFwcGluZygpIGhvb2sK
Ckl0J3MgdXNlZCB0d2ljZSBpbiBlbnRpcmVseSBkaWZmZXJlbnQgc2l0dWF0
aW9ucy4gVGhlIHVzZSBpbiBkb19kb21jdGwoKQp3YW50cyB0byBiZWNvbWUg
YW4gb3JkaW5hcnkgWFNNX0RNX1BSSVYgaW52b2NhdGlvbiwgd2hpbGUgdGhl
IG9uZSBpbiB2UENJCmNvZGUgbmVlZCB0byByZW1haW4gWFNNX0hPT0sgKGl0
IG1heSBwbGF1c2libHkgYmVjb21lIFhTTV9UQVJHRVQpLiBGb3IKRmxhc2ss
IHRoZSBzYW1lIGJhY2tpbmcgZnVuY3Rpb24gd2lsbCBjb250aW51ZSB0byBi
ZSB1c2VkIGZvciB0aGUgdGltZQpiZWluZy4KClRoaXMgaXMgcGFydCBvZiBY
U0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRo
QGFwZXJ0dXNzb2x1dGlvbnMuY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvdnBj
aS9oZWFkZXIuYworKysgYi94ZW4vZHJpdmVycy92cGNpL2hlYWRlci5jCkBA
IC02Nyw3ICs2Nyw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgbWFwX3Jhbmdl
KAogICAgICAgICAgICAgcmV0dXJuIC1FUEVSTTsKICAgICAgICAgfQogCi0g
ICAgICAgIHJjID0geHNtX2lvbWVtX21hcHBpbmcoWFNNX0hPT0ssIG1hcC0+
ZCwgbWFwX21mbiwgbV9lbmQsIG1hcC0+bWFwKTsKKyAgICAgICAgcmMgPSB4
c21faW9tZW1fbWFwcGluZ192cGNpKFhTTV9IT09LLCBtYXAtPmQsIG1hcF9t
Zm4sIG1fZW5kLCBtYXAtPm1hcCk7CiAgICAgICAgIGlmICggcmMgKQogICAg
ICAgICB7CiAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfV0FSTklORwot
LS0gYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAorKysgYi94ZW4vaW5jbHVk
ZS94c20vZHVtbXkuaApAQCAtNTc5LDYgKzU3OSwxMyBAQCBzdGF0aWMgWFNN
X0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX2lvbWVtCiAgICAgcmV0dXJuIHhz
bV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgZCk7
CiB9CiAKK3N0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21faW9t
ZW1fbWFwcGluZ192cGNpKAorICAgIFhTTV9ERUZBVUxUX0FSRyBzdHJ1Y3Qg
ZG9tYWluICpkLCB1aW50NjRfdCBzLCB1aW50NjRfdCBlLCB1aW50OF90IGFs
bG93KQoreworICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9IT09LKTsKKyAg
ICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+
ZG9tYWluLCBkKTsKK30KKwogc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2No
ZWNrIHhzbV9wY2lfY29uZmlnX3Blcm1pc3Npb24oCiAgICAgWFNNX0RFRkFV
TFRfQVJHIHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90IG1hY2hpbmVfYmRm
LCB1aW50MTZfdCBzdGFydCwKICAgICB1aW50MTZfdCBlbmQsIHVpbnQ4X3Qg
YWNjZXNzKQotLS0gYS94ZW4vaW5jbHVkZS94c20veHNtLmgKKysrIGIveGVu
L2luY2x1ZGUveHNtL3hzbS5oCkBAIC0xMTcsNiArMTE3LDggQEAgc3RydWN0
IHhzbV9vcHMgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
X3QgYWxsb3cpOwogICAgIGludCAoKmlvbWVtX21hcHBpbmcpKHN0cnVjdCBk
b21haW4gKmQsIHVpbnQ2NF90IHMsIHVpbnQ2NF90IGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDhfdCBhbGxvdyk7CisgICAgaW50ICgqaW9t
ZW1fbWFwcGluZ192cGNpKShzdHJ1Y3QgZG9tYWluICpkLCB1aW50NjRfdCBz
LCB1aW50NjRfdCBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDhfdCBhbGxvdyk7CiAgICAgaW50ICgqcGNpX2NvbmZpZ19wZXJtaXNz
aW9uKShzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBtYWNoaW5lX2JkZiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IHN0
YXJ0LCB1aW50MTZfdCBlbmQsIHVpbnQ4X3QgYWNjZXNzKTsKIApAQCAtNTA0
LDYgKzUwNiwxMiBAQCBzdGF0aWMgaW5saW5lIGludCB4c21faW9tZW1fbWFw
cGluZygKICAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4c21fb3BzLmlv
bWVtX21hcHBpbmcsIGQsIHMsIGUsIGFsbG93KTsKIH0KIAorc3RhdGljIGlu
bGluZSBpbnQgeHNtX2lvbWVtX21hcHBpbmdfdnBjaSgKKyAgICB4c21fZGVm
YXVsdF90IGRlZiwgc3RydWN0IGRvbWFpbiAqZCwgdWludDY0X3QgcywgdWlu
dDY0X3QgZSwgdWludDhfdCBhbGxvdykKK3sKKyAgICByZXR1cm4gYWx0ZXJu
YXRpdmVfY2FsbCh4c21fb3BzLmlvbWVtX21hcHBpbmdfdnBjaSwgZCwgcywg
ZSwgYWxsb3cpOworfQorCiBzdGF0aWMgaW5saW5lIGludCB4c21fcGNpX2Nv
bmZpZ19wZXJtaXNzaW9uKAogICAgIHhzbV9kZWZhdWx0X3QgZGVmLCBzdHJ1
Y3QgZG9tYWluICpkLCB1aW50MzJfdCBtYWNoaW5lX2JkZiwgdWludDE2X3Qg
c3RhcnQsCiAgICAgdWludDE2X3QgZW5kLCB1aW50OF90IGFjY2VzcykKLS0t
IGEveGVuL3hzbS9kdW1teS5jCisrKyBiL3hlbi94c20vZHVtbXkuYwpAQCAt
NzIsNiArNzIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHhzbV9vcHMgX19p
bml0Y29uc3RfCiAgICAgLmlycV9wZXJtaXNzaW9uICAgICAgICAgICAgICAg
ID0geHNtX2lycV9wZXJtaXNzaW9uLAogICAgIC5pb21lbV9wZXJtaXNzaW9u
ICAgICAgICAgICAgICA9IHhzbV9pb21lbV9wZXJtaXNzaW9uLAogICAgIC5p
b21lbV9tYXBwaW5nICAgICAgICAgICAgICAgICA9IHhzbV9pb21lbV9tYXBw
aW5nLAorICAgIC5pb21lbV9tYXBwaW5nX3ZwY2kgICAgICAgICAgICA9IHhz
bV9pb21lbV9tYXBwaW5nX3ZwY2ksCiAgICAgLnBjaV9jb25maWdfcGVybWlz
c2lvbiAgICAgICAgID0geHNtX3BjaV9jb25maWdfcGVybWlzc2lvbiwKICAg
ICAuZ2V0X3ZudW1haW5mbyAgICAgICAgICAgICAgICAgPSB4c21fZ2V0X3Zu
dW1haW5mbywKIAotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIv
eGVuL3hzbS9mbGFzay9ob29rcy5jCkBAIC0xOTIxLDYgKzE5MjEsNyBAQCBz
dGF0aWMgY29uc3Qgc3RydWN0IHhzbV9vcHMgX19pbml0Y29uc3RfCiAgICAg
LmlycV9wZXJtaXNzaW9uID0gZmxhc2tfaXJxX3Blcm1pc3Npb24sCiAgICAg
LmlvbWVtX3Blcm1pc3Npb24gPSBmbGFza19pb21lbV9wZXJtaXNzaW9uLAog
ICAgIC5pb21lbV9tYXBwaW5nID0gZmxhc2tfaW9tZW1fbWFwcGluZywKKyAg
ICAuaW9tZW1fbWFwcGluZ192cGNpID0gZmxhc2tfaW9tZW1fbWFwcGluZywK
ICAgICAucGNpX2NvbmZpZ19wZXJtaXNzaW9uID0gZmxhc2tfcGNpX2NvbmZp
Z19wZXJtaXNzaW9uLAogCiAgICAgLnJlc291cmNlX3BsdWdfY29yZSA9IGZs
YXNrX3Jlc291cmNlX3BsdWdfY29yZSwK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.19-07.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.19-07.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBwaW5nIHdp
dGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRlZGljYXRlZCBs
b2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3QgcmVxdWlyZWQg
aGVyZSBhbnltb3JlLgpNb3ZlIHRoZSByZS1wdXJwb3NlZCBkZWRpY2F0ZWQg
WFNNIGNoZWNrIGFzIGVhcmx5IGFzIHBvc3NpYmxlLgoKTWluaW1hbCAibW9k
ZXJuaXphdGlvbiI6IFN3aXRjaCAiYWRkIiB0byBib29sIGFuZCB1c2UgJXBk
IGluIGxvZyBtZXNzYWdlcy4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoK
Rml4ZXM6IGZkYTQ5ZjliM2ZiYiAoIkFkZCBidWlsZCBvcHRpb24gdG8gYWxs
b3cgbW9yZSBoeXBlcmNhbGxzIGZyb20gc3R1YmRvbXMiKQpSZXBvcnRlZC1i
eTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K
U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
PgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNz
b2x1dGlvbnMuY29tPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8
cm9nZXIucGF1QGNpdHJpeC5jb20+CgotLS0gYS94ZW4vY29tbW9uL2RvbWN0
bC5jCisrKyBiL3hlbi9jb21tb24vZG9tY3RsLmMKQEAgLTM2Niw2ICszNjYs
NjYgQEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4
ZQogCiAgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9tb25seTsK
IAorICAgIGNhc2UgWEVOX0RPTUNUTF9tZW1vcnlfbWFwcGluZzoKKyAgICB7
CisgICAgICAgIHVuc2lnbmVkIGxvbmcgZ2ZuID0gb3AtPnUubWVtb3J5X21h
cHBpbmcuZmlyc3RfZ2ZuOworICAgICAgICB1bnNpZ25lZCBsb25nIG1mbiA9
IG9wLT51Lm1lbW9yeV9tYXBwaW5nLmZpcnN0X21mbjsKKyAgICAgICAgdW5z
aWduZWQgbG9uZyBucl9tZm5zID0gb3AtPnUubWVtb3J5X21hcHBpbmcubnJf
bWZuczsKKyAgICAgICAgdW5zaWduZWQgbG9uZyBtZm5fZW5kID0gbWZuICsg
bnJfbWZucyAtIDE7CisgICAgICAgIGJvb2wgYWRkID0gb3AtPnUubWVtb3J5
X21hcHBpbmcuYWRkX21hcHBpbmc7CisKKyAgICAgICAgcmV0ID0gLUVJTlZB
TDsKKyAgICAgICAgaWYgKCBtZm5fZW5kIDwgbWZuIHx8IC8qIFdyYXA/ICov
CisgICAgICAgICAgICAgKChtZm4gfCBtZm5fZW5kKSA+PiAocGFkZHJfYml0
cyAtIFBBR0VfU0hJRlQpKSB8fAorICAgICAgICAgICAgIChnZm4gKyBucl9t
Zm5zIC0gMSkgPCBnZm4gKSAvKiBXcmFwPyAqLworICAgICAgICAgICAgZ290
byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5OworCisgICAgICAgIHJldCA9
IHhzbV9pb21lbV9tYXBwaW5nKFhTTV9ETV9QUklWLCBkLCBtZm4sIG1mbl9l
bmQsIGFkZCk7CisgICAgICAgIGlmICggcmV0IHx8ICFwYWdpbmdfbW9kZV90
cmFuc2xhdGUoZCkgKQorICAgICAgICAgICAgZ290byBkb21jdGxfb3V0X3Vu
bG9ja19kb21vbmx5OworCisjaWZuZGVmIENPTkZJR19YODYgLyogWFhYIEFS
TSE/ICovCisgICAgICAgIHJldCA9IC1FMkJJRzsKKyAgICAgICAgLyogTXVz
dCBicmVhayBoeXBlcmNhbGwgdXAgYXMgdGhpcyBjb3VsZCB0YWtlIGEgd2hp
bGUuICovCisgICAgICAgIGlmICggbnJfbWZucyA+IDY0ICkKKyAgICAgICAg
ICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9tb25seTsKKyNlbmRpZgor
CisgICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCBmYWxzZSk7CisKKyAg
ICAgICAgcmV0ID0gLUVQRVJNOworICAgICAgICBpZiAoICFpb21lbV9hY2Nl
c3NfcGVybWl0dGVkKGN1cnJlbnQtPmRvbWFpbiwgbWZuLCBtZm5fZW5kKSB8
fAorICAgICAgICAgICAgICFpb21lbV9hY2Nlc3NfcGVybWl0dGVkKGQsIG1m
biwgbWZuX2VuZCkgKQorICAgICAgICAgICAgLyogTm90aGluZy4gKi87Cisg
ICAgICAgIGVsc2UgaWYgKCBhZGQgKQorICAgICAgICB7CisgICAgICAgICAg
ICBwcmludGsoWEVOTE9HX0dfREVCVUcKKyAgICAgICAgICAgICAgICAgICAi
bWVtb3J5X21hcDphZGQ6ICVwZCBnZm49JWx4IG1mbj0lbHggbnI9JWx4XG4i
LAorICAgICAgICAgICAgICAgICAgIGQsIGdmbiwgbWZuLCBucl9tZm5zKTsK
KworICAgICAgICAgICAgcmV0ID0gbWFwX21taW9fcmVnaW9ucyhkLCBfZ2Zu
KGdmbiksIG5yX21mbnMsIF9tZm4obWZuKSk7CisgICAgICAgICAgICBpZiAo
IHJldCA8IDAgKQorICAgICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfR19X
QVJOSU5HCisgICAgICAgICAgICAgICAgICAgICAgICJtZW1vcnlfbWFwOmZh
aWw6ICVwZCBnZm49JWx4IG1mbj0lbHggbnI9JWx4IHJldDolbGRcbiIsCisg
ICAgICAgICAgICAgICAgICAgICAgIGQsIGdmbiwgbWZuLCBucl9tZm5zLCBy
ZXQpOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAg
ICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0RFQlVHCisgICAgICAgICAgICAg
ICAgICAgIm1lbW9yeV9tYXA6cmVtb3ZlOiAlcGQgZ2ZuPSVseCBtZm49JWx4
IG5yPSVseFxuIiwKKyAgICAgICAgICAgICAgICAgICBkLCBnZm4sIG1mbiwg
bnJfbWZucyk7CisKKyAgICAgICAgICAgIHJldCA9IHVubWFwX21taW9fcmVn
aW9ucyhkLCBfZ2ZuKGdmbiksIG5yX21mbnMsIF9tZm4obWZuKSk7CisgICAg
ICAgICAgICBpZiAoIHJldCA8IDAgJiYgaXNfaGFyZHdhcmVfZG9tYWluKGN1
cnJlbnQtPmRvbWFpbikgKQorICAgICAgICAgICAgICAgIHByaW50ayhYRU5M
T0dfRVJSCisgICAgICAgICAgICAgICAgICAgICAgICJtZW1vcnlfbWFwOiBl
cnJvciAlbGQgcmVtb3ZpbmcgJXBkIGFjY2VzcyB0byBbJWx4LCVseF1cbiIs
CisgICAgICAgICAgICAgICAgICAgICAgIHJldCwgZCwgbWZuLCBtZm5fZW5k
KTsKKyAgICAgICAgfQorCisgICAgICAgIGlvY2Fwc19kb3VibGVfdW5sb2Nr
KGQsIGZhbHNlKTsKKyAgICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19k
b21vbmx5OworICAgIH0KKwogICAgIGRlZmF1bHQ6CiAgICAgICAgIC8qIEV2
ZXJ5dGhpbmcgZWxzZSBoYW5kbGVkIGZ1cnRoZXIgZG93bi4gKi8KICAgICAg
ICAgYnJlYWs7CkBAIC03NDQsNjQgKzgwNCw2IEBAIGxvbmcgZG9fZG9tY3Rs
KFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICAgICAgYnJlYWs7CiAg
ICAgfQogCi0gICAgY2FzZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBwaW5nOgot
ICAgIHsKLSAgICAgICAgdW5zaWduZWQgbG9uZyBnZm4gPSBvcC0+dS5tZW1v
cnlfbWFwcGluZy5maXJzdF9nZm47Ci0gICAgICAgIHVuc2lnbmVkIGxvbmcg
bWZuID0gb3AtPnUubWVtb3J5X21hcHBpbmcuZmlyc3RfbWZuOwotICAgICAg
ICB1bnNpZ25lZCBsb25nIG5yX21mbnMgPSBvcC0+dS5tZW1vcnlfbWFwcGlu
Zy5ucl9tZm5zOwotICAgICAgICB1bnNpZ25lZCBsb25nIG1mbl9lbmQgPSBt
Zm4gKyBucl9tZm5zIC0gMTsKLSAgICAgICAgaW50IGFkZCA9IG9wLT51Lm1l
bW9yeV9tYXBwaW5nLmFkZF9tYXBwaW5nOwotCi0gICAgICAgIHJldCA9IC1F
SU5WQUw7Ci0gICAgICAgIGlmICggbWZuX2VuZCA8IG1mbiB8fCAvKiB3cmFw
PyAqLwotICAgICAgICAgICAgICgobWZuIHwgbWZuX2VuZCkgPj4gKHBhZGRy
X2JpdHMgLSBQQUdFX1NISUZUKSkgfHwKLSAgICAgICAgICAgICAoZ2ZuICsg
bnJfbWZucyAtIDEpIDwgZ2ZuICkgLyogd3JhcD8gKi8KLSAgICAgICAgICAg
IGJyZWFrOwotCi0jaWZuZGVmIENPTkZJR19YODYgLyogWFhYIEFSTSE/ICov
Ci0gICAgICAgIHJldCA9IC1FMkJJRzsKLSAgICAgICAgLyogTXVzdCBicmVh
ayBoeXBlcmNhbGwgdXAgYXMgdGhpcyBjb3VsZCB0YWtlIGEgd2hpbGUuICov
Ci0gICAgICAgIGlmICggbnJfbWZucyA+IDY0ICkKLSAgICAgICAgICAgIGJy
ZWFrOwotI2VuZGlmCi0KLSAgICAgICAgaW9jYXBzX2RvdWJsZV9sb2NrKGQs
IGZhbHNlKTsKLQotICAgICAgICByZXQgPSAtRVBFUk07Ci0gICAgICAgIGlm
ICggIWlvbWVtX2FjY2Vzc19wZXJtaXR0ZWQoY3VycmVudC0+ZG9tYWluLCBt
Zm4sIG1mbl9lbmQpIHx8Ci0gICAgICAgICAgICAgIWlvbWVtX2FjY2Vzc19w
ZXJtaXR0ZWQoZCwgbWZuLCBtZm5fZW5kKSB8fAotICAgICAgICAgICAgIChy
ZXQgPSB4c21faW9tZW1fbWFwcGluZyhYU01fSE9PSywgZCwgbWZuLCBtZm5f
ZW5kLCBhZGQpKSB8fAotICAgICAgICAgICAgICFwYWdpbmdfbW9kZV90cmFu
c2xhdGUoZCkgKQotICAgICAgICAgICAgLyogTm90aGluZy4gKi87Ci0gICAg
ICAgIGVsc2UgaWYgKCBhZGQgKQotICAgICAgICB7Ci0gICAgICAgICAgICBw
cmludGsoWEVOTE9HX0dfREVCVUcKLSAgICAgICAgICAgICAgICAgICAibWVt
b3J5X21hcDphZGQ6IGRvbSVkIGdmbj0lbHggbWZuPSVseCBucj0lbHhcbiIs
Ci0gICAgICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCBnZm4sIG1mbiwg
bnJfbWZucyk7Ci0KLSAgICAgICAgICAgIHJldCA9IG1hcF9tbWlvX3JlZ2lv
bnMoZCwgX2dmbihnZm4pLCBucl9tZm5zLCBfbWZuKG1mbikpOwotICAgICAg
ICAgICAgaWYgKCByZXQgPCAwICkKLSAgICAgICAgICAgICAgICBwcmludGso
WEVOTE9HX0dfV0FSTklORwotICAgICAgICAgICAgICAgICAgICAgICAibWVt
b3J5X21hcDpmYWlsOiBkb20lZCBnZm49JWx4IG1mbj0lbHggbnI9JWx4IHJl
dDolbGRcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgIGQtPmRvbWFpbl9p
ZCwgZ2ZuLCBtZm4sIG5yX21mbnMsIHJldCk7Ci0gICAgICAgIH0KLSAgICAg
ICAgZWxzZQotICAgICAgICB7Ci0gICAgICAgICAgICBwcmludGsoWEVOTE9H
X0dfREVCVUcKLSAgICAgICAgICAgICAgICAgICAibWVtb3J5X21hcDpyZW1v
dmU6IGRvbSVkIGdmbj0lbHggbWZuPSVseCBucj0lbHhcbiIsCi0gICAgICAg
ICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCBnZm4sIG1mbiwgbnJfbWZucyk7
Ci0KLSAgICAgICAgICAgIHJldCA9IHVubWFwX21taW9fcmVnaW9ucyhkLCBf
Z2ZuKGdmbiksIG5yX21mbnMsIF9tZm4obWZuKSk7Ci0gICAgICAgICAgICBp
ZiAoIHJldCA8IDAgJiYgaXNfaGFyZHdhcmVfZG9tYWluKGN1cnJlbnQtPmRv
bWFpbikgKQotICAgICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfRVJSCi0g
ICAgICAgICAgICAgICAgICAgICAgICJtZW1vcnlfbWFwOiBlcnJvciAlbGQg
cmVtb3ZpbmcgZG9tJWQgYWNjZXNzIHRvIFslbHgsJWx4XVxuIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgcmV0LCBkLT5kb21haW5faWQsIG1mbiwgbWZu
X2VuZCk7Ci0gICAgICAgIH0KLQotICAgICAgICBpb2NhcHNfZG91YmxlX3Vu
bG9jayhkLCBmYWxzZSk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQogICAg
IGNhc2UgWEVOX0RPTUNUTF9zZXR0aW1lb2Zmc2V0OgogICAgICAgICBkb21h
aW5fc2V0X3RpbWVfb2Zmc2V0KGQsIG9wLT51LnNldHRpbWVvZmZzZXQudGlt
ZV9vZmZzZXRfc2Vjb25kcyk7CiAgICAgICAgIGJyZWFrOwotLS0gYS94ZW4v
aW5jbHVkZS94c20vZHVtbXkuaAorKysgYi94ZW4vaW5jbHVkZS94c20vZHVt
bXkuaApAQCAtMTY4LDEyICsxNjgsMTIgQEAgc3RhdGljIFhTTV9JTkxJTkUg
aW50IGNmX2NoZWNrIHhzbV9kb21jdAogICAgIHN3aXRjaCAoIGNtZCApCiAg
ICAgewogICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKLSAg
ICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgogICAgIGNhc2UgWEVOX0RPTUNUTF91
bmJpbmRfcHRfaXJxOgogICAgICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0
aW9uKFhTTV9ETV9QUklWLCBjdXJyZW50LT5kb21haW4sIGQpOwogCiAgICAg
Y2FzZSBYRU5fRE9NQ1RMX2dldGRvbWFpbmluZm86CisgICAgY2FzZSBYRU5f
RE9NQ1RMX21lbW9yeV9tYXBwaW5nOgogICAgICAgICBBU1NFUlRfVU5SRUFD
SEFCTEUoKTsKICAgICAgICAgcmV0dXJuIC1FSUxTRVE7CiAKQEAgLTU3NSw3
ICs1NzUsNyBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNt
X2lvbWVtCiBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX2lv
bWVtX21hcHBpbmcoCiAgICAgWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBkb21h
aW4gKmQsIHVpbnQ2NF90IHMsIHVpbnQ2NF90IGUsIHVpbnQ4X3QgYWxsb3cp
CiB7Ci0gICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX0hPT0spOworICAgIFhT
TV9BU1NFUlRfQUNUSU9OKFhTTV9ETV9QUklWKTsKICAgICByZXR1cm4geHNt
X2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBkKTsK
IH0KIAotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIveGVuL3hz
bS9mbGFzay9ob29rcy5jCkBAIC02ODAsNiArNjgwLDcgQEAgc3RhdGljIGlu
dCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0CiAKICAgICAvKiBUaGVz
ZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzIGFuZCBkb24ndCBtYWtlIGl0
IGhlcmUuICovCiAgICAgY2FzZSBYRU5fRE9NQ1RMX2dldGRvbWFpbmluZm86
CisgICAgY2FzZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBwaW5nOgogICAgICAg
ICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKICAgICAgICAgcmV0dXJuIC1FSUxT
RVE7CiAKQEAgLTY4Nyw3ICs2ODgsNiBAQCBzdGF0aWMgaW50IGNmX2NoZWNr
IGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICBjYXNlIFhFTl9ET01DVExfc2No
ZWR1bGVyX29wOgogICAgIGNhc2UgWEVOX0RPTUNUTF9pcnFfcGVybWlzc2lv
bjoKICAgICBjYXNlIFhFTl9ET01DVExfaW9tZW1fcGVybWlzc2lvbjoKLSAg
ICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAgICAgY2FzZSBY
RU5fRE9NQ1RMX3NldF90YXJnZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Zt
X2V2ZW50X29wOgogCg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.19-08.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.19-08.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nIHdp
dGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRlZGljYXRlZCBs
b2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3QgcmVxdWlyZWQg
aGVyZSBhbnltb3JlLgpBcyB0aGUgaGFuZGxpbmcgaXMgaW4gYXJjaC1zcGVj
aWZpYyBjb2RlICh4ODYgb25seSksIGFsbW9zdCBubyBjb2RlIGlzCmJlaW5n
IG1vdmVkLCBidXQgYSAybmQgKGV4dGVuc2libGUgdG8gb3RoZXIgc3ViLW9w
cykgaW52b2NhdGlvbiBvZgphcmNoX2RvX2RvbWN0bCgpIGlzIGJlaW5nIGFk
ZGVkLiBNb3ZlIGp1c3QgdGhlIHJlLXB1cnBvc2VkIGRlZGljYXRlZCBYU00K
Y2hlY2sgYXMgZWFybHkgYXMgcG9zc2libGUuCgpJbiBmbGFza19kb21jdGwo
KSBkb24ndCBwdXQgI2lmZGVmIGFyb3VuZCB0aGUgbW92ZWQgY2FzZSBsYWJl
bC4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKRml4ZXM6IGZkYTQ5Zjli
M2ZiYiAoIkFkZCBidWlsZCBvcHRpb24gdG8gYWxsb3cgbW9yZSBoeXBlcmNh
bGxzIGZyb20gc3R1YmRvbXMiKQpSZXBvcnRlZC1ieTogQW5kcmV3IENvb3Bl
ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
Um9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkFja2Vk
LWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9u
cy5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVu
L2FyY2gveDg2L2RvbWN0bC5jCkBAIC02MjIsMTIgKzYyMiwxNSBAQCBsb25n
IGFyY2hfZG9fZG9tY3RsKAogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KIAorICAgICAgICByZXQgPSB4c21faW9wb3J0X21hcHBpbmcoWFNNX0RN
X1BSSVYsIGQsIGZtcCwgZm1wICsgbnAgLSAxLCBhZGQpOworICAgICAgICBp
ZiAoIHJldCApCisgICAgICAgICAgICBicmVhazsKKwogICAgICAgICBodm0g
PSAmZC0+YXJjaC5odm07CiAgICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhk
LCB0cnVlKTsKIAotICAgICAgICBpZiAoICFpb3BvcnRzX2FjY2Vzc19wZXJt
aXR0ZWQoY3VycmQsIGZtcCwgZm1wICsgbnAgLSAxKSB8fAotICAgICAgICAg
ICAgIChyZXQgPSB4c21faW9wb3J0X21hcHBpbmcoWFNNX0hPT0ssIGQsIGZt
cCwgZm1wICsgbnAgLSAxLCBhZGQpKSApCi0gICAgICAgICAgICByZXQgPSBy
ZXQgPzogLUVQRVJNOworICAgICAgICBpZiAoICFpb3BvcnRzX2FjY2Vzc19w
ZXJtaXR0ZWQoY3VycmQsIGZtcCwgZm1wICsgbnAgLSAxKSApCisgICAgICAg
ICAgICByZXQgPSAtRVBFUk07CiAgICAgICAgIGVsc2UgaWYgKCBhZGQgKQog
ICAgICAgICB7CiAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfSU5GTwot
LS0gYS94ZW4vY29tbW9uL2RvbWN0bC5jCisrKyBiL3hlbi9jb21tb24vZG9t
Y3RsLmMKQEAgLTQyNiw2ICs0MjYsMTAgQEAgbG9uZyBkb19kb21jdGwoWEVO
X0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICBnb3RvIGRvbWN0bF9v
dXRfdW5sb2NrX2RvbW9ubHk7CiAgICAgfQogCisgICAgY2FzZSBYRU5fRE9N
Q1RMX2lvcG9ydF9tYXBwaW5nOgorICAgICAgICByZXQgPSBhcmNoX2RvX2Rv
bWN0bChvcCwgZCwgdV9kb21jdGwpOworICAgICAgICBnb3RvIGRvbWN0bF9v
dXRfdW5sb2NrX2RvbW9ubHk7CisKICAgICBkZWZhdWx0OgogICAgICAgICAv
KiBFdmVyeXRoaW5nIGVsc2UgaGFuZGxlZCBmdXJ0aGVyIGRvd24uICovCiAg
ICAgICAgIGJyZWFrOwotLS0gYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAor
KysgYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTY3LDEyICsxNjcs
MTIgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9kb21j
dAogICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9PVEhFUik7CiAgICAgc3dp
dGNoICggY21kICkKICAgICB7Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9y
dF9tYXBwaW5nOgogICAgIGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToK
ICAgICBjYXNlIFhFTl9ET01DVExfdW5iaW5kX3B0X2lycToKICAgICAgICAg
cmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihYU01fRE1fUFJJViwgY3VycmVu
dC0+ZG9tYWluLCBkKTsKIAogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRkb21h
aW5pbmZvOgorICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoK
ICAgICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAgICAgICAg
IEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAgICAgICByZXR1cm4gLUVJTFNF
UTsKQEAgLTc3MSw3ICs3NzEsNyBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQg
Y2ZfY2hlY2sgeHNtX2lvcG9yCiBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2Zf
Y2hlY2sgeHNtX2lvcG9ydF9tYXBwaW5nKAogICAgIFhTTV9ERUZBVUxUX0FS
RyBzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBzLCB1aW50MzJfdCBlLCB1
aW50OF90IGFsbG93KQogewotICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9I
T09LKTsKKyAgICBYU01fQVNTRVJUX0FDVElPTihYU01fRE1fUFJJVik7CiAg
ICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQt
PmRvbWFpbiwgZCk7CiB9CiAKLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5j
CisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjgwLDYgKzY4MCw3
IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAog
CiAgICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBob29rcyBhbmQg
ZG9uJ3QgbWFrZSBpdCBoZXJlLiAqLwogICAgIGNhc2UgWEVOX0RPTUNUTF9n
ZXRkb21haW5pbmZvOgorICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFw
cGluZzoKICAgICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAg
ICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAgICAgICByZXR1cm4g
LUVJTFNFUTsKQEAgLTY5OCw3ICs2OTksNiBAQCBzdGF0aWMgaW50IGNmX2No
ZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICAvKiBUaGVzZSBoYXZlIGlu
ZGl2aWR1YWwgWFNNIGhvb2tzIChhcmNoL3g4Ni9kb21jdGwuYykgKi8KICAg
ICBjYXNlIFhFTl9ET01DVExfc2hhZG93X29wOgogICAgIGNhc2UgWEVOX0RP
TUNUTF9pb3BvcnRfcGVybWlzc2lvbjoKLSAgICBjYXNlIFhFTl9ET01DVExf
aW9wb3J0X21hcHBpbmc6CiAjZW5kaWYKICNpZmRlZiBDT05GSUdfSEFTX1BB
U1NUSFJPVUdICiAgICAgLyoK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.19-09.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.19-09.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX3ssdW59YmluZF9wdF9pcnEg
d2l0aG91dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKCldpdGggZGVkaWNhdGVk
IGxvY2tpbmcgYWRkZWQsIHRoZSBkb21jdGwgbG9jayBpc24ndCByZXF1aXJl
ZCBoZXJlIGFueW1vcmUuCihJdCBhbHNvIGFscmVhZHkgaXNuJ3QgdXNlZCB3
aGVuIHB0X2lycV97Y3JlYXRlLGRlc3Ryb3l9X2JpbmQoKSBhcmUKaW52b2tl
ZCBmb3IgUFZIIERvbTAuKSBBcyB0aGUgaGFuZGxpbmcgaXMgaW4gYXJjaC1z
cGVjaWZpYyBjb2RlLCBubyBjb2RlCmlzIGJlaW5nIG1vdmVkLCBidXQgdGhl
IDJuZCAoZXh0ZW5zaWJsZSB0byBvdGhlciBzdWItb3BzIGxpa2UgdGhlIG9u
ZXMKaGVyZSkgaW52b2NhdGlvbiBvZiBhcmNoX2RvX2RvbWN0bCgpIGlzIGJl
aW5nIHJlLXVzZWQuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4KCkZpeGVz
OiBmZGE0OWY5YjNmYmIgKCJBZGQgYnVpbGQgb3B0aW9uIHRvIGFsbG93IG1v
cmUgaHlwZXJjYWxscyBmcm9tIHN0dWJkb21zIikKUmVwb3J0ZWQtYnk6IEFu
ZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClNpZ25l
ZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2
aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXgu
Y29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0
dXNzb2x1dGlvbnMuY29tPgpBY2tlZC1ieTogSnVsaWVuIEdyYWxsIDxqdWxp
ZW5AeGVuLm9yZz4KCi0tLSBhL3hlbi9hcmNoL2FybS9kb21jdGwuYworKysg
Yi94ZW4vYXJjaC9hcm0vZG9tY3RsLmMKQEAgLTEwNCw3ICsxMDQsNyBAQCBs
b25nIGFyY2hfZG9fZG9tY3RsKHN0cnVjdCB4ZW5fZG9tY3RsICpkCiAgICAg
ICAgIGlmICggcmMgKQogICAgICAgICAgICAgcmV0dXJuIHJjOwogCi0gICAg
ICAgIHJjID0geHNtX2JpbmRfcHRfaXJxKFhTTV9IT09LLCBkLCBiaW5kKTsK
KyAgICAgICAgcmMgPSB4c21fYmluZF9wdF9pcnEoWFNNX0RNX1BSSVYsIGQs
IGJpbmQpOwogICAgICAgICBpZiAoIHJjICkKICAgICAgICAgICAgIHJldHVy
biByYzsKIApAQCAtMTQwLDcgKzE0MCw3IEBAIGxvbmcgYXJjaF9kb19kb21j
dGwoc3RydWN0IHhlbl9kb21jdGwgKmQKICAgICAgICAgaWYgKCBpcnEgIT0g
dmlycSApCiAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAotICAgICAg
ICByYyA9IHhzbV91bmJpbmRfcHRfaXJxKFhTTV9IT09LLCBkLCBiaW5kKTsK
KyAgICAgICAgcmMgPSB4c21fdW5iaW5kX3B0X2lycShYU01fRE1fUFJJViwg
ZCwgYmluZCk7CiAgICAgICAgIGlmICggcmMgKQogICAgICAgICAgICAgcmV0
dXJuIHJjOwogCi0tLSBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYworKysgYi94
ZW4vYXJjaC94ODYvZG9tY3RsLmMKQEAgLTUzNCw3ICs1MzQsNyBAQCBsb25n
IGFyY2hfZG9fZG9tY3RsKAogICAgICAgICBpZiAoICFpc19odm1fZG9tYWlu
KGQpICkKICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIHJldCA9IHhz
bV9iaW5kX3B0X2lycShYU01fSE9PSywgZCwgYmluZCk7CisgICAgICAgIHJl
dCA9IHhzbV9iaW5kX3B0X2lycShYU01fRE1fUFJJViwgZCwgYmluZCk7CiAg
ICAgICAgIGlmICggcmV0ICkKICAgICAgICAgICAgIGJyZWFrOwogCkBAIC01
NzIsNyArNTcyLDcgQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgKICAgICAgICAg
aWYgKCAhaXNfaHZtX2RvbWFpbihkKSApCiAgICAgICAgICAgICBicmVhazsK
IAotICAgICAgICByZXQgPSB4c21fdW5iaW5kX3B0X2lycShYU01fSE9PSywg
ZCwgYmluZCk7CisgICAgICAgIHJldCA9IHhzbV91bmJpbmRfcHRfaXJxKFhT
TV9ETV9QUklWLCBkLCBiaW5kKTsKICAgICAgICAgaWYgKCByZXQgKQogICAg
ICAgICAgICAgYnJlYWs7CiAKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYwor
KysgYi94ZW4vY29tbW9uL2RvbWN0bC5jCkBAIC00MjcsNiArNDI3LDggQEAg
bG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAg
IH0KIAogICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKKyAg
ICBjYXNlIFhFTl9ET01DVExfYmluZF9wdF9pcnE6CisgICAgY2FzZSBYRU5f
RE9NQ1RMX3VuYmluZF9wdF9pcnE6CiAgICAgICAgIHJldCA9IGFyY2hfZG9f
ZG9tY3RsKG9wLCBkLCB1X2RvbWN0bCk7CiAgICAgICAgIGdvdG8gZG9tY3Rs
X291dF91bmxvY2tfZG9tb25seTsKIAotLS0gYS94ZW4vaW5jbHVkZS94c20v
ZHVtbXkuaAorKysgYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTY4
LDEyICsxNjgsMTAgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNr
IHhzbV9kb21jdAogICAgIHN3aXRjaCAoIGNtZCApCiAgICAgewogICAgIGNh
c2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToKLSAgICBjYXNlIFhFTl9ET01D
VExfdW5iaW5kX3B0X2lycToKLSAgICAgICAgcmV0dXJuIHhzbV9kZWZhdWx0
X2FjdGlvbihYU01fRE1fUFJJViwgY3VycmVudC0+ZG9tYWluLCBkKTsKLQog
ICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRkb21haW5pbmZvOgogICAgIGNhc2Ug
WEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBjYXNlIFhFTl9ET01D
VExfbWVtb3J5X21hcHBpbmc6CisgICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmlu
ZF9wdF9pcnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAg
ICAgICByZXR1cm4gLUVJTFNFUTsKIApAQCAtNTQwLDE0ICs1MzgsMTQgQEAg
c3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV91bm1hcAogc3Rh
dGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9iaW5kX3B0X2lycSgK
ICAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0
IHhlbl9kb21jdGxfYmluZF9wdF9pcnEgKmJpbmQpCiB7Ci0gICAgWFNNX0FT
U0VSVF9BQ1RJT04oWFNNX0hPT0spOworICAgIFhTTV9BU1NFUlRfQUNUSU9O
KFhTTV9ETV9QUklWKTsKICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9u
KGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBkKTsKIH0KIAogc3RhdGljIFhT
TV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV91bmJpbmRfcHRfaXJxKAogICAg
IFhTTV9ERUZBVUxUX0FSRyBzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgeGVu
X2RvbWN0bF9iaW5kX3B0X2lycSAqYmluZCkKIHsKLSAgICBYU01fQVNTRVJU
X0FDVElPTihYU01fSE9PSyk7CisgICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNN
X0RNX1BSSVYpOwogICAgIHJldHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0
aW9uLCBjdXJyZW50LT5kb21haW4sIGQpOwogfQogCi0tLSBhL3hlbi94c20v
Zmxhc2svaG9va3MuYworKysgYi94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAg
LTY3OSw5ICs2NzksMTEgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19k
b21jdGwoc3RydWN0CiAgICAgICAgIHJldHVybiBhdmNfY3VycmVudF9oYXNf
cGVybShzc2lkcmVmLCBTRUNDTEFTU19ET01BSU4sIERPTUFJTl9fQ1JFQVRF
LCBOVUxMKTsKIAogICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00g
aG9va3MgYW5kIGRvbid0IG1ha2UgaXQgaGVyZS4gKi8KKyAgICBjYXNlIFhF
Tl9ET01DVExfYmluZF9wdF9pcnE6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2dl
dGRvbWFpbmluZm86CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBw
aW5nOgogICAgIGNhc2UgWEVOX0RPTUNUTF9tZW1vcnlfbWFwcGluZzoKKyAg
ICBjYXNlIFhFTl9ET01DVExfdW5iaW5kX3B0X2lycToKICAgICAgICAgQVNT
RVJUX1VOUkVBQ0hBQkxFKCk7CiAgICAgICAgIHJldHVybiAtRUlMU0VROwog
CkBAIC02OTIsOSArNjk0LDYgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFz
a19kb21jdGwoc3RydWN0CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3NldF90YXJn
ZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3ZtX2V2ZW50X29wOgogCi0gICAg
LyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBob29rcyAoYXJjaC8uLi9k
b21jdGwuYykgKi8KLSAgICBjYXNlIFhFTl9ET01DVExfYmluZF9wdF9pcnE6
Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmluZF9wdF9pcnE6CiAjaWZkZWYg
Q09ORklHX1g4NgogICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00g
aG9va3MgKGFyY2gveDg2L2RvbWN0bC5jKSAqLwogICAgIGNhc2UgWEVOX0RP
TUNUTF9zaGFkb3dfb3A6Cg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.19-10.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.19-10.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2lve21lbSxwb3J0fV9wZXJt
aXNzaW9uIHdpdGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRl
ZGljYXRlZCBsb2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3Qg
cmVxdWlyZWQgaGVyZSBhbnltb3JlLgpBcyB0aGUgSS9PIHBvcnQgaGFuZGxp
bmcgaXMgaW4gYXJjaC1zcGVjaWZpYyBjb2RlICh4ODYgb25seSksIG5vIGNv
ZGUgaXMKYmVpbmcgbW92ZWQsIGJ1dCB0aGUgMm5kIGludm9jYXRpb24gb2Yg
YXJjaF9kb19kb21jdGwoKSBpcyByZS11c2VkLiBNb3ZlCnRoZSByZS1wdXJw
b3NlZCBkZWRpY2F0ZWQgWFNNIGNoZWNrcyBhcyBlYXJseSBhcyBwb3NzaWJs
ZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
Um9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkFja2Vk
LWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9u
cy5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVu
L2FyY2gveDg2L2RvbWN0bC5jCkBAIC0yMjUsMTIgKzIyNSwxNyBAQCBsb25n
IGFyY2hfZG9fZG9tY3RsKAogICAgICAgICB1bnNpZ25lZCBpbnQgbnAgPSBk
b21jdGwtPnUuaW9wb3J0X3Blcm1pc3Npb24ubnJfcG9ydHM7CiAgICAgICAg
IGludCBhbGxvdyA9IGRvbWN0bC0+dS5pb3BvcnRfcGVybWlzc2lvbi5hbGxv
d19hY2Nlc3M7CiAKKyAgICAgICAgcmV0ID0gLUVJTlZBTDsKKyAgICAgICAg
aWYgKCAoZnAgKyBucCkgPD0gZnAgfHwgKGZwICsgbnApID4gTUFYX0lPUE9S
VFMgKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgcmV0ID0geHNt
X2lvcG9ydF9wZXJtaXNzaW9uKFhTTV9QUklWLCBkLCBmcCwgZnAgKyBucCAt
IDEsIGFsbG93KTsKKyAgICAgICAgaWYgKCByZXQgKQorICAgICAgICAgICAg
YnJlYWs7CisKICAgICAgICAgaW9jYXBzX2RvdWJsZV9sb2NrKGQsIHRydWUp
OwogCi0gICAgICAgIGlmICggKGZwICsgbnApIDw9IGZwIHx8IChmcCArIG5w
KSA+IE1BWF9JT1BPUlRTICkKLSAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7
Ci0gICAgICAgIGVsc2UgaWYgKCAhaW9wb3J0c19hY2Nlc3NfcGVybWl0dGVk
KGN1cnJkLCBmcCwgZnAgKyBucCAtIDEpIHx8Ci0gICAgICAgICAgICAgICAg
ICB4c21faW9wb3J0X3Blcm1pc3Npb24oWFNNX0hPT0ssIGQsIGZwLCBmcCAr
IG5wIC0gMSwgYWxsb3cpICkKKyAgICAgICAgaWYgKCAhaW9wb3J0c19hY2Nl
c3NfcGVybWl0dGVkKGN1cnJkLCBmcCwgZnAgKyBucCAtIDEpICkKICAgICAg
ICAgICAgIHJldCA9IC1FUEVSTTsKICAgICAgICAgZWxzZSBpZiAoIGFsbG93
ICkKICAgICAgICAgICAgIHJldCA9IGlvcG9ydHNfcGVybWl0X2FjY2Vzcyhk
LCBmcCwgZnAgKyBucCAtIDEpOwotLS0gYS94ZW4vY29tbW9uL2RvbWN0bC5j
CisrKyBiL3hlbi9jb21tb24vZG9tY3RsLmMKQEAgLTM2Niw2ICszNjYsMzQg
QEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQog
CiAgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9tb25seTsKIAor
ICAgIGNhc2UgWEVOX0RPTUNUTF9pb21lbV9wZXJtaXNzaW9uOgorICAgIHsK
KyAgICAgICAgdW5zaWduZWQgbG9uZyBtZm4gPSBvcC0+dS5pb21lbV9wZXJt
aXNzaW9uLmZpcnN0X21mbjsKKyAgICAgICAgdW5zaWduZWQgbG9uZyBucl9t
Zm5zID0gb3AtPnUuaW9tZW1fcGVybWlzc2lvbi5ucl9tZm5zOworICAgICAg
ICBib29sIGFsbG93ID0gb3AtPnUuaW9tZW1fcGVybWlzc2lvbi5hbGxvd19h
Y2Nlc3M7CisKKyAgICAgICAgcmV0ID0gLUVJTlZBTDsKKyAgICAgICAgaWYg
KCAobWZuICsgbnJfbWZucyAtIDEpIDwgbWZuICkgLyogV3JhcD8gKi8KKyAg
ICAgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9tb25seTsKKwor
ICAgICAgICByZXQgPSB4c21faW9tZW1fcGVybWlzc2lvbihYU01fUFJJViwg
ZCwgbWZuLCBtZm4gKyBucl9tZm5zIC0gMSwgYWxsb3cpOworICAgICAgICBp
ZiAoIHJldCApCisgICAgICAgICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2Nr
X2RvbW9ubHk7CisKKyAgICAgICAgaW9jYXBzX2RvdWJsZV9sb2NrKGQsIHRy
dWUpOworCisgICAgICAgIGlmICggIWlvbWVtX2FjY2Vzc19wZXJtaXR0ZWQo
Y3VycmVudC0+ZG9tYWluLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1mbiwgbWZuICsgbnJfbWZucyAtIDEpICkKKyAgICAgICAg
ICAgIHJldCA9IC1FUEVSTTsKKyAgICAgICAgZWxzZSBpZiAoIGFsbG93ICkK
KyAgICAgICAgICAgIHJldCA9IGlvbWVtX3Blcm1pdF9hY2Nlc3MoZCwgbWZu
LCBtZm4gKyBucl9tZm5zIC0gMSk7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIHJldCA9IGlvbWVtX2RlbnlfYWNjZXNzKGQsIG1mbiwgbWZuICsgbnJf
bWZucyAtIDEpOworCisgICAgICAgIGlvY2Fwc19kb3VibGVfdW5sb2NrKGQs
IHRydWUpOworICAgICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9u
bHk7CisgICAgfQorCiAgICAgY2FzZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBw
aW5nOgogICAgIHsKICAgICAgICAgdW5zaWduZWQgbG9uZyBnZm4gPSBvcC0+
dS5tZW1vcnlfbWFwcGluZy5maXJzdF9nZm47CkBAIC00MjYsNiArNDU0LDcg
QEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQog
ICAgICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CiAgICAg
fQogCisgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNzaW9uOgog
ICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBjYXNl
IFhFTl9ET01DVExfYmluZF9wdF9pcnE6CiAgICAgY2FzZSBYRU5fRE9NQ1RM
X3VuYmluZF9wdF9pcnE6CkBAIC03ODUsMzEgKzgxNCw2IEBAIGxvbmcgZG9f
ZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICB9CiAjZW5k
aWYKIAotICAgIGNhc2UgWEVOX0RPTUNUTF9pb21lbV9wZXJtaXNzaW9uOgot
ICAgIHsKLSAgICAgICAgdW5zaWduZWQgbG9uZyBtZm4gPSBvcC0+dS5pb21l
bV9wZXJtaXNzaW9uLmZpcnN0X21mbjsKLSAgICAgICAgdW5zaWduZWQgbG9u
ZyBucl9tZm5zID0gb3AtPnUuaW9tZW1fcGVybWlzc2lvbi5ucl9tZm5zOwot
ICAgICAgICBpbnQgYWxsb3cgPSBvcC0+dS5pb21lbV9wZXJtaXNzaW9uLmFs
bG93X2FjY2VzczsKLQotICAgICAgICByZXQgPSAtRUlOVkFMOwotICAgICAg
ICBpZiAoIChtZm4gKyBucl9tZm5zIC0gMSkgPCBtZm4gKSAvKiB3cmFwPyAq
LwotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgaW9jYXBzX2RvdWJs
ZV9sb2NrKGQsIHRydWUpOwotCi0gICAgICAgIGlmICggIWlvbWVtX2FjY2Vz
c19wZXJtaXR0ZWQoY3VycmVudC0+ZG9tYWluLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1mbiwgbWZuICsgbnJfbWZucyAtIDEp
IHx8Ci0gICAgICAgICAgICAgeHNtX2lvbWVtX3Blcm1pc3Npb24oWFNNX0hP
T0ssIGQsIG1mbiwgbWZuICsgbnJfbWZucyAtIDEsIGFsbG93KSApCi0gICAg
ICAgICAgICByZXQgPSAtRVBFUk07Ci0gICAgICAgIGVsc2UgaWYgKCBhbGxv
dyApCi0gICAgICAgICAgICByZXQgPSBpb21lbV9wZXJtaXRfYWNjZXNzKGQs
IG1mbiwgbWZuICsgbnJfbWZucyAtIDEpOwotICAgICAgICBlbHNlCi0gICAg
ICAgICAgICByZXQgPSBpb21lbV9kZW55X2FjY2VzcyhkLCBtZm4sIG1mbiAr
IG5yX21mbnMgLSAxKTsKLQotICAgICAgICBpb2NhcHNfZG91YmxlX3VubG9j
ayhkLCB0cnVlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2Fz
ZSBYRU5fRE9NQ1RMX3NldHRpbWVvZmZzZXQ6CiAgICAgICAgIGRvbWFpbl9z
ZXRfdGltZV9vZmZzZXQoZCwgb3AtPnUuc2V0dGltZW9mZnNldC50aW1lX29m
ZnNldF9zZWNvbmRzKTsKICAgICAgICAgYnJlYWs7Ci0tLSBhL3hlbi9pbmNs
dWRlL3hzbS9kdW1teS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5o
CkBAIC0xNjksNyArMTY5LDkgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNm
X2NoZWNrIHhzbV9kb21jdAogICAgIHsKICAgICBjYXNlIFhFTl9ET01DVExf
YmluZF9wdF9pcnE6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2dldGRvbWFpbmlu
Zm86CisgICAgY2FzZSBYRU5fRE9NQ1RMX2lvbWVtX3Blcm1pc3Npb246CiAg
ICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nOgorICAgIGNhc2Ug
WEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9E
T01DVExfbWVtb3J5X21hcHBpbmc6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Vu
YmluZF9wdF9pcnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwpA
QCAtNTY2LDcgKzU2OCw3IEBAIHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9j
aGVjayB4c21faXJxX3AKIHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVj
ayB4c21faW9tZW1fcGVybWlzc2lvbigKICAgICBYU01fREVGQVVMVF9BUkcg
c3RydWN0IGRvbWFpbiAqZCwgdWludDY0X3QgcywgdWludDY0X3QgZSwgdWlu
dDhfdCBhbGxvdykKIHsKLSAgICBYU01fQVNTRVJUX0FDVElPTihYU01fSE9P
Syk7CisgICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX1BSSVYpOwogICAgIHJl
dHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5kb21h
aW4sIGQpOwogfQogCkBAIC03NjIsNyArNzY0LDcgQEAgc3RhdGljIFhTTV9J
TkxJTkUgaW50IGNmX2NoZWNrIHhzbV9wcml2Xwogc3RhdGljIFhTTV9JTkxJ
TkUgaW50IGNmX2NoZWNrIHhzbV9pb3BvcnRfcGVybWlzc2lvbigKICAgICBY
U01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3Qgcywg
dWludDMyX3QgZSwgdWludDhfdCBhbGxvdykKIHsKLSAgICBYU01fQVNTRVJU
X0FDVElPTihYU01fSE9PSyk7CisgICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNN
X1BSSVYpOwogICAgIHJldHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9u
LCBjdXJyZW50LT5kb21haW4sIGQpOwogfQogCi0tLSBhL3hlbi94c20vZmxh
c2svaG9va3MuYworKysgYi94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAgLTY4
MSw3ICs2ODEsOSBAQCBzdGF0aWMgaW50IGNmX2NoZWNrIGZsYXNrX2RvbWN0
bChzdHJ1Y3QKICAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhv
b2tzIGFuZCBkb24ndCBtYWtlIGl0IGhlcmUuICovCiAgICAgY2FzZSBYRU5f
RE9NQ1RMX2JpbmRfcHRfaXJxOgogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRk
b21haW5pbmZvOgorICAgIGNhc2UgWEVOX0RPTUNUTF9pb21lbV9wZXJtaXNz
aW9uOgogICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKKyAg
ICBjYXNlIFhFTl9ET01DVExfaW9wb3J0X3Blcm1pc3Npb246CiAgICAgY2Fz
ZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBwaW5nOgogICAgIGNhc2UgWEVOX0RP
TUNUTF91bmJpbmRfcHRfaXJxOgogICAgICAgICBBU1NFUlRfVU5SRUFDSEFC
TEUoKTsKQEAgLTY5MCwxNCArNjkyLDEyIEBAIHN0YXRpYyBpbnQgY2ZfY2hl
Y2sgZmxhc2tfZG9tY3RsKHN0cnVjdAogICAgIC8qIFRoZXNlIGhhdmUgaW5k
aXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9kb21jdGwuYykgKi8KICAgICBj
YXNlIFhFTl9ET01DVExfc2NoZWR1bGVyX29wOgogICAgIGNhc2UgWEVOX0RP
TUNUTF9pcnFfcGVybWlzc2lvbjoKLSAgICBjYXNlIFhFTl9ET01DVExfaW9t
ZW1fcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9ET01DVExfc2V0X3Rhcmdl
dDoKICAgICBjYXNlIFhFTl9ET01DVExfdm1fZXZlbnRfb3A6CiAKICNpZmRl
ZiBDT05GSUdfWDg2CiAgICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhT
TSBob29rcyAoYXJjaC94ODYvZG9tY3RsLmMpICovCiAgICAgY2FzZSBYRU5f
RE9NQ1RMX3NoYWRvd19vcDoKLSAgICBjYXNlIFhFTl9ET01DVExfaW9wb3J0
X3Blcm1pc3Npb246CiAjZW5kaWYKICNpZmRlZiBDT05GSUdfSEFTX1BBU1NU
SFJPVUdICiAgICAgLyoK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.19-11.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.19-11.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2lycV9wZXJtaXNzaW9uIHdp
dGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRlZGljYXRlZCBs
b2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3QgcmVxdWlyZWQg
aGVyZSBhbnltb3JlLgpNb3ZlIHRoZSByZS1wdXJwb3NlZCAoWFNNX0hPT0sg
LT4gWFNNX1BSSVYsIGFzIHhzbV9kb21jdGwoKSBpcyBub3cKYnlwYXNzZWQp
IGRlZGljYXRlZCBYU00gY2hlY2tzIGFzIGVhcmx5IGFzIHBvc3NpYmxlLgoK
VGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIuCgpTaWduZWQtb2ZmLWJ5OiBKYW4g
QmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkFja2VkLWJ5OiBEYW5pZWwg
UC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+ClJldmll
d2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNv
bT4KCi0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMKKysrIGIveGVuL2NvbW1v
bi9kb21jdGwuYwpAQCAtNDU0LDYgKzQ1NCwzOCBAQCBsb25nIGRvX2RvbWN0
bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlCiAgICAgICAgIGdvdG8gZG9t
Y3RsX291dF91bmxvY2tfZG9tb25seTsKICAgICB9CiAKKyNpZmRlZiBDT05G
SUdfSEFTX1BJUlEKKyAgICBjYXNlIFhFTl9ET01DVExfaXJxX3Blcm1pc3Np
b246CisgICAgeworICAgICAgICB1bnNpZ25lZCBpbnQgcGlycSA9IG9wLT51
LmlycV9wZXJtaXNzaW9uLnBpcnEsIGlycTsKKyAgICAgICAgYm9vbCBhbGxv
dyA9IG9wLT51LmlycV9wZXJtaXNzaW9uLmFsbG93X2FjY2VzczsKKworICAg
ICAgICByZXQgPSAtRUlOVkFMOworICAgICAgICBpZiAoIHBpcnEgPj0gY3Vy
cmVudC0+ZG9tYWluLT5ucl9waXJxcyApCisgICAgICAgICAgICBnb3RvIGRv
bWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CisKKyAgICAgICAgaXJxID0gZG9t
YWluX3BpcnFfdG9faXJxKGN1cnJlbnQtPmRvbWFpbiwgcGlycSk7CisKKyAg
ICAgICAgcmV0ID0gLUVQRVJNOworICAgICAgICBpZiAoIGlycSApCisgICAg
ICAgICAgICByZXQgPSB4c21faXJxX3Blcm1pc3Npb24oWFNNX1BSSVYsIGQs
IGlycSwgYWxsb3cpOworICAgICAgICBpZiAoIHJldCApCisgICAgICAgICAg
ICBnb3RvIGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CisKKyAgICAgICAg
aW9jYXBzX2RvdWJsZV9sb2NrKGQsIHRydWUpOworCisgICAgICAgIGlmICgg
IWlycV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJlbnQtPmRvbWFpbiwgaXJxKSAp
CisgICAgICAgICAgICByZXQgPSAtRVBFUk07CisgICAgICAgIGVsc2UgaWYg
KCBhbGxvdyApCisgICAgICAgICAgICByZXQgPSBpcnFfcGVybWl0X2FjY2Vz
cyhkLCBpcnEpOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXQgPSBp
cnFfZGVueV9hY2Nlc3MoZCwgaXJxKTsKKworICAgICAgICBpb2NhcHNfZG91
YmxlX3VubG9jayhkLCB0cnVlKTsKKyAgICAgICAgZ290byBkb21jdGxfb3V0
X3VubG9ja19kb21vbmx5OworICAgIH0KKyNlbmRpZgorCiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNzaW9uOgogICAgIGNhc2UgWEVOX0RP
TUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBjYXNlIFhFTl9ET01DVExfYmlu
ZF9wdF9pcnE6CkBAIC03ODcsMzMgKzgxOSw2IEBAIGxvbmcgZG9fZG9tY3Rs
KFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICAgICAgfQogICAgICAg
ICBicmVhazsKIAotI2lmZGVmIENPTkZJR19IQVNfUElSUQotICAgIGNhc2Ug
WEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbjoKLSAgICB7Ci0gICAgICAgIHVu
c2lnbmVkIGludCBwaXJxID0gb3AtPnUuaXJxX3Blcm1pc3Npb24ucGlycSwg
aXJxOwotICAgICAgICBpbnQgYWxsb3cgPSBvcC0+dS5pcnFfcGVybWlzc2lv
bi5hbGxvd19hY2Nlc3M7Ci0KLSAgICAgICAgaWYgKCBwaXJxID49IGN1cnJl
bnQtPmRvbWFpbi0+bnJfcGlycXMgKQotICAgICAgICB7Ci0gICAgICAgICAg
ICByZXQgPSAtRUlOVkFMOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IH0KLQotICAgICAgICBpb2NhcHNfZG91YmxlX2xvY2soZCwgdHJ1ZSk7Ci0K
LSAgICAgICAgaXJxID0gcGlycV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJlbnQt
PmRvbWFpbiwgcGlycSk7Ci0gICAgICAgIGlmICggIWlycSB8fCB4c21faXJx
X3Blcm1pc3Npb24oWFNNX0hPT0ssIGQsIGlycSwgYWxsb3cpICkKLSAgICAg
ICAgICAgIHJldCA9IC1FUEVSTTsKLSAgICAgICAgZWxzZSBpZiAoIGFsbG93
ICkKLSAgICAgICAgICAgIHJldCA9IGlycV9wZXJtaXRfYWNjZXNzKGQsIGly
cSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJldCA9IGlycV9kZW55
X2FjY2VzcyhkLCBpcnEpOwotCi0gICAgICAgIGlvY2Fwc19kb3VibGVfdW5s
b2NrKGQsIHRydWUpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0jZW5kaWYK
LQogICAgIGNhc2UgWEVOX0RPTUNUTF9zZXR0aW1lb2Zmc2V0OgogICAgICAg
ICBkb21haW5fc2V0X3RpbWVfb2Zmc2V0KGQsIG9wLT51LnNldHRpbWVvZmZz
ZXQudGltZV9vZmZzZXRfc2Vjb25kcyk7CiAgICAgICAgIGJyZWFrOwotLS0g
YS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAorKysgYi94ZW4vaW5jbHVkZS94
c20vZHVtbXkuaApAQCAtMTcyLDYgKzE3Miw3IEBAIHN0YXRpYyBYU01fSU5M
SU5FIGludCBjZl9jaGVjayB4c21fZG9tY3QKICAgICBjYXNlIFhFTl9ET01D
VExfaW9tZW1fcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9ET01DVExfaW9w
b3J0X21hcHBpbmc6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJt
aXNzaW9uOgorICAgIGNhc2UgWEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbjoK
ICAgICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAgICAgY2Fz
ZSBYRU5fRE9NQ1RMX3VuYmluZF9wdF9pcnE6CiAgICAgICAgIEFTU0VSVF9V
TlJFQUNIQUJMRSgpOwpAQCAtNTYxLDcgKzU2Miw3IEBAIHN0YXRpYyBYU01f
SU5MSU5FIGludCBjZl9jaGVjayB4c21fdW5tYXAKIHN0YXRpYyBYU01fSU5M
SU5FIGludCBjZl9jaGVjayB4c21faXJxX3Blcm1pc3Npb24oCiAgICAgWFNN
X0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQsIGludCBwaXJxLCB1aW50
OF90IGFsbG93KQogewotICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9IT09L
KTsKKyAgICBYU01fQVNTRVJUX0FDVElPTihYU01fUFJJVik7CiAgICAgcmV0
dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFp
biwgZCk7CiB9CiAKLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5jCisrKyBi
L3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjg0LDYgKzY4NCw3IEBAIHN0
YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAogICAgIGNh
c2UgWEVOX0RPTUNUTF9pb21lbV9wZXJtaXNzaW9uOgogICAgIGNhc2UgWEVO
X0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBjYXNlIFhFTl9ET01DVExf
aW9wb3J0X3Blcm1pc3Npb246CisgICAgY2FzZSBYRU5fRE9NQ1RMX2lycV9w
ZXJtaXNzaW9uOgogICAgIGNhc2UgWEVOX0RPTUNUTF9tZW1vcnlfbWFwcGlu
ZzoKICAgICBjYXNlIFhFTl9ET01DVExfdW5iaW5kX3B0X2lycToKICAgICAg
ICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CkBAIC02OTEsNyArNjkyLDYgQEAg
c3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0CiAKICAg
ICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzIChjb21tb24v
ZG9tY3RsLmMpICovCiAgICAgY2FzZSBYRU5fRE9NQ1RMX3NjaGVkdWxlcl9v
cDoKLSAgICBjYXNlIFhFTl9ET01DVExfaXJxX3Blcm1pc3Npb246CiAgICAg
Y2FzZSBYRU5fRE9NQ1RMX3NldF90YXJnZXQ6CiAgICAgY2FzZSBYRU5fRE9N
Q1RMX3ZtX2V2ZW50X29wOgogCg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.19-12.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.19-12.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHZtX2V2ZW50X2NvbnRyb2wgaG9vawoKSW50
ZWdyYXRlIHRoZSBjaGVja2luZyB3aXRoIHhzbV9kb21jdGwoKS4gQ2FyZSBu
ZWVkcyB0byBiZSB0YWtlbiB3aXRoIHRoZQpHRVRfVkVSU0lPTiBzdWItb3As
IHdoaWNoIG1heSBiZSBpbnZva2VkIHdpdGggRE9NSURfSU5WQUxJRCwgYW5k
IHdoaWNoIGhhcwpiZWVuIChhbmQgY29udGludWVzIHRvIGJlKSBieXBhc3Np
bmcgWFNNIGNoZWNraW5nLgoKU2luY2UgdGhlIGxhdHRlciB0d28gcGFyYW1l
dGVycyB3ZXJlIHVudXNlZCwgbW9uaXRvcl9kb21jdGwoKSBpbnZva2luZyB0
aGUKaG9vayB3YXMgYWN0dWFsbHkgcmVkdW5kYW50IHdpdGggdGhlIGVhcmxp
ZXIgeHNtX2RvbWN0bCgpIChhcyBjYW4gYmUgc2VlbgpuaWNlbHkgZnJvbSB0
aGUgaHVua3MgY2hhbmdpbmcgeHNtL2ZsYXNrL2hvb2tzLmMpLgoKQXMgYSBw
b3NpdGl2ZSBzaWRlIGVmZmVjdCwgcGVybWlzc2lvbnMgYXJlIHRoZW4gY2hl
Y2tlZCBhdCB0aGUgc2FtZSBlYXJseQpwb2ludCB3aXRoIGFuZCB3aXRob3V0
IEZsYXNrLgoKV2hpbGUgZm9sZGluZyBYRU5fRE9NQ1RMX21vbml0b3Jfb3Ag
YW5kIFhFTl9ET01DVExfdm1fZXZlbnRfb3AgaW4KZmxhc2tfZG9tY3RsKCks
IGFsc28gZm9sZCBpbiBYRU5fRE9NQ1RMX3NldF9hY2Nlc3NfcmVxdWlyZWQu
CgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4KClNpZ25lZC1vZmYtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQWNrZWQtYnk6IERhbmll
bCBQLiBTbWl0aCA8ZHBzbWl0aEBhcGVydHVzc29sdXRpb25zLmNvbT4KUmV2
aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXgu
Y29tPgoKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYworKysgYi94ZW4vY29t
bW9uL2RvbWN0bC5jCkBAIC00ODYsNiArNDg2LDIzIEBAIGxvbmcgZG9fZG9t
Y3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICB9CiAjZW5kaWYK
IAorICAgIGNhc2UgWEVOX0RPTUNUTF92bV9ldmVudF9vcDoKKyAgICAgICAg
aWYgKCBvcC0+dS52bV9ldmVudF9vcC5vcCA9PSBYRU5fVk1fRVZFTlRfR0VU
X1ZFUlNJT04gKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBObyBYU00g
Y2hlY2sgKGFuZCBwb3RlbnRpYWxseSBkID09IE5VTEwpIGhlcmUuICovCisg
ICAgICAgICAgICByZXQgPSB2bV9ldmVudF9kb21jdGwoZCwgJm9wLT51LnZt
X2V2ZW50X29wKTsKKyAgICAgICAgICAgIGlmICggIXJldCApCisgICAgICAg
ICAgICAgICAgY29weWJhY2sgPSB0cnVlOworICAgICAgICAgICAgZ290byBk
b21jdGxfb3V0X3VubG9ja19kb21vbmx5OworICAgICAgICB9CisgICAgICAg
IGlmICggIWQgKQorICAgICAgICB7CisgICAgICAgICAgICByZXQgPSAtRVNS
Q0g7CisgICAgICAgICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9u
bHk7CisgICAgICAgIH0KKyAgICAgICAgLyogT3RoZXIgc3ViLW9wcyBoYW5k
bGVkIGZ1cnRoZXIgZG93bi4gKi8KKyAgICAgICAgYnJlYWs7CisKICAgICBj
YXNlIFhFTl9ET01DVExfaW9wb3J0X3Blcm1pc3Npb246CiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nOgogICAgIGNhc2UgWEVOX0RPTUNU
TF9iaW5kX3B0X2lycToKLS0tIGEveGVuL2NvbW1vbi9tb25pdG9yLmMKKysr
IGIveGVuL2NvbW1vbi9tb25pdG9yLmMKQEAgLTMwLDE2ICszMCwxMSBAQAog
CiBpbnQgbW9uaXRvcl9kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0
IHhlbl9kb21jdGxfbW9uaXRvcl9vcCAqbW9wKQogewotICAgIGludCByYzsK
ICAgICBib29sIHJlcXVlc3RlZF9zdGF0dXMgPSBmYWxzZTsKIAogICAgIGlm
ICggdW5saWtlbHkoY3VycmVudC0+ZG9tYWluID09IGQpICkgLyogbm8gZG9t
YWluX3BhdXNlKCkgKi8KICAgICAgICAgcmV0dXJuIC1FUEVSTTsKIAotICAg
IHJjID0geHNtX3ZtX2V2ZW50X2NvbnRyb2woWFNNX1BSSVYsIGQsIG1vcC0+
b3AsIG1vcC0+ZXZlbnQpOwotICAgIGlmICggdW5saWtlbHkocmMpICkKLSAg
ICAgICAgcmV0dXJuIHJjOwotCiAgICAgc3dpdGNoICggbW9wLT5vcCApCiAg
ICAgewogICAgIGNhc2UgWEVOX0RPTUNUTF9NT05JVE9SX09QX0VOQUJMRToK
LS0tIGEveGVuL2NvbW1vbi92bV9ldmVudC5jCisrKyBiL3hlbi9jb21tb24v
dm1fZXZlbnQuYwpAQCAtNjAyLDExICs2MDIsMTAgQEAgaW50IHZtX2V2ZW50
X2RvbWN0bChzdHJ1Y3QgZG9tYWluICpkLCBzdAogCiAgICAgLyogQWxsIG90
aGVyIHN1Ym9wcyBuZWVkIHRvIHRhcmdldCBhIHJlYWwgZG9tYWluLiAqLwog
ICAgIGlmICggdW5saWtlbHkoZCA9PSBOVUxMKSApCi0gICAgICAgIHJldHVy
biAtRVNSQ0g7Ci0KLSAgICByYyA9IHhzbV92bV9ldmVudF9jb250cm9sKFhT
TV9QUklWLCBkLCB2ZWMtPm1vZGUsIHZlYy0+b3ApOwotICAgIGlmICggcmMg
KQotICAgICAgICByZXR1cm4gcmM7CisgICAgeworICAgICAgICBBU1NFUlRf
VU5SRUFDSEFCTEUoKTsKKyAgICAgICAgcmV0dXJuIC1FSUxTRVE7CisgICAg
fQogCiAgICAgaWYgKCB1bmxpa2VseShkID09IGN1cnJlbnQtPmRvbWFpbikg
KSAvKiBubyBkb21haW5fcGF1c2UoKSAqLwogICAgIHsKLS0tIGEveGVuL2lu
Y2x1ZGUveHNtL2R1bW15LmgKKysrIGIveGVuL2luY2x1ZGUveHNtL2R1bW15
LmgKQEAgLTY1MCwxMyArNjUwLDYgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50
IGNmX2NoZWNrIHhzbV9odm1fYQogICAgIH0KIH0KIAotc3RhdGljIFhTTV9J
TkxJTkUgaW50IGNmX2NoZWNrIHhzbV92bV9ldmVudF9jb250cm9sKAotICAg
IFhTTV9ERUZBVUxUX0FSRyBzdHJ1Y3QgZG9tYWluICpkLCBpbnQgbW9kZSwg
aW50IG9wKQotewotICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9QUklWKTsK
LSAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVu
dC0+ZG9tYWluLCBkKTsKLX0KLQogI2lmZGVmIENPTkZJR19NRU1fQUNDRVNT
CiBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX21lbV9hY2Nl
c3MoWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQpCiB7Ci0tLSBh
L3hlbi9pbmNsdWRlL3hzbS94c20uaAorKysgYi94ZW4vaW5jbHVkZS94c20v
eHNtLmgKQEAgLTE1NCw4ICsxNTQsNiBAQCBzdHJ1Y3QgeHNtX29wcyB7CiAg
ICAgaW50ICgqaHZtX2FsdHAybWh2bV9vcCkoc3RydWN0IGRvbWFpbiAqZCwg
dWludDY0X3QgbW9kZSwgdWludDMyX3Qgb3ApOwogICAgIGludCAoKmdldF92
bnVtYWluZm8pKHN0cnVjdCBkb21haW4gKmQpOwogCi0gICAgaW50ICgqdm1f
ZXZlbnRfY29udHJvbCkoc3RydWN0IGRvbWFpbiAqZCwgaW50IG1vZGUsIGlu
dCBvcCk7Ci0KICNpZmRlZiBDT05GSUdfTUVNX0FDQ0VTUwogICAgIGludCAo
Km1lbV9hY2Nlc3MpKHN0cnVjdCBkb21haW4gKmQpOwogI2VuZGlmCkBAIC02
MzQsMTIgKzYzMiw2IEBAIHN0YXRpYyBpbmxpbmUgaW50IHhzbV9nZXRfdm51
bWFpbmZvKHhzbV8KICAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4c21f
b3BzLmdldF92bnVtYWluZm8sIGQpOwogfQogCi1zdGF0aWMgaW5saW5lIGlu
dCB4c21fdm1fZXZlbnRfY29udHJvbCgKLSAgICB4c21fZGVmYXVsdF90IGRl
Ziwgc3RydWN0IGRvbWFpbiAqZCwgaW50IG1vZGUsIGludCBvcCkKLXsKLSAg
ICByZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4c21fb3BzLnZtX2V2ZW50X2Nv
bnRyb2wsIGQsIG1vZGUsIG9wKTsKLX0KLQogI2lmZGVmIENPTkZJR19NRU1f
QUNDRVNTCiBzdGF0aWMgaW5saW5lIGludCB4c21fbWVtX2FjY2Vzcyh4c21f
ZGVmYXVsdF90IGRlZiwgc3RydWN0IGRvbWFpbiAqZCkKIHsKLS0tIGEveGVu
L3hzbS9kdW1teS5jCisrKyBiL3hlbi94c20vZHVtbXkuYwpAQCAtMTEwLDgg
KzExMCw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeHNtX29wcyBfX2luaXRj
b25zdF8KICAgICAucmVtb3ZlX2Zyb21fcGh5c21hcCAgICAgICAgICAgPSB4
c21fcmVtb3ZlX2Zyb21fcGh5c21hcCwKICAgICAubWFwX2dtZm5fZm9yZWln
biAgICAgICAgICAgICAgPSB4c21fbWFwX2dtZm5fZm9yZWlnbiwKIAotICAg
IC52bV9ldmVudF9jb250cm9sICAgICAgICAgICAgICA9IHhzbV92bV9ldmVu
dF9jb250cm9sLAotCiAjaWZkZWYgQ09ORklHX01FTV9BQ0NFU1MKICAgICAu
bWVtX2FjY2VzcyAgICAgICAgICAgICAgICAgICAgPSB4c21fbWVtX2FjY2Vz
cywKICNlbmRpZgotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIv
eGVuL3hzbS9mbGFzay9ob29rcy5jCkBAIC02OTMsNyArNjkzLDYgQEAgc3Rh
dGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0CiAgICAgLyog
VGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBob29rcyAoY29tbW9uL2RvbWN0
bC5jKSAqLwogICAgIGNhc2UgWEVOX0RPTUNUTF9zY2hlZHVsZXJfb3A6CiAg
ICAgY2FzZSBYRU5fRE9NQ1RMX3NldF90YXJnZXQ6Ci0gICAgY2FzZSBYRU5f
RE9NQ1RMX3ZtX2V2ZW50X29wOgogCiAjaWZkZWYgQ09ORklHX1g4NgogICAg
IC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00gaG9va3MgKGFyY2gveDg2
L2RvbWN0bC5jKSAqLwpAQCAtNzg3LDkgKzc4Niw4IEBAIHN0YXRpYyBpbnQg
Y2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAogICAgICAgICByZXR1cm4g
Y3VycmVudF9oYXNfcGVybShkLCBTRUNDTEFTU19ET01BSU4sIERPTUFJTl9f
VFJJR0dFUik7CiAKICAgICBjYXNlIFhFTl9ET01DVExfc2V0X2FjY2Vzc19y
ZXF1aXJlZDoKLSAgICAgICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Blcm0oZCwg
U0VDQ0xBU1NfRE9NQUlOMiwgRE9NQUlOMl9fVk1fRVZFTlQpOwotCiAgICAg
Y2FzZSBYRU5fRE9NQ1RMX21vbml0b3Jfb3A6CisgICAgY2FzZSBYRU5fRE9N
Q1RMX3ZtX2V2ZW50X29wOgogICAgICAgICByZXR1cm4gY3VycmVudF9oYXNf
cGVybShkLCBTRUNDTEFTU19ET01BSU4yLCBET01BSU4yX19WTV9FVkVOVCk7
CiAKICAgICBjYXNlIFhFTl9ET01DVExfZGVidWdfb3A6CkBAIC0xMzUyLDEx
ICsxMzUwLDYgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19odm1fYWx0
cDJtaHZtXwogICAgIHJldHVybiBjdXJyZW50X2hhc19wZXJtKGQsIFNFQ0NM
QVNTX0hWTSwgSFZNX19BTFRQMk1IVk1fT1ApOwogfQogCi1zdGF0aWMgaW50
IGNmX2NoZWNrIGZsYXNrX3ZtX2V2ZW50X2NvbnRyb2woc3RydWN0IGRvbWFp
biAqZCwgaW50IG1vZGUsIGludCBvcCkKLXsKLSAgICByZXR1cm4gY3VycmVu
dF9oYXNfcGVybShkLCBTRUNDTEFTU19ET01BSU4yLCBET01BSU4yX19WTV9F
VkVOVCk7Ci19Ci0KICNpZmRlZiBDT05GSUdfTUVNX0FDQ0VTUwogc3RhdGlj
IGludCBjZl9jaGVjayBmbGFza19tZW1fYWNjZXNzKHN0cnVjdCBkb21haW4g
KmQpCiB7CkBAIC0xOTQwLDggKzE5MzMsNiBAQCBzdGF0aWMgY29uc3Qgc3Ry
dWN0IHhzbV9vcHMgX19pbml0Y29uc3RfCiAgICAgLmRvX3hzbV9vcCA9IGRv
X2ZsYXNrX29wLAogICAgIC5nZXRfdm51bWFpbmZvID0gZmxhc2tfZ2V0X3Zu
dW1haW5mbywKIAotICAgIC52bV9ldmVudF9jb250cm9sID0gZmxhc2tfdm1f
ZXZlbnRfY29udHJvbCwKLQogI2lmZGVmIENPTkZJR19NRU1fQUNDRVNTCiAg
ICAgLm1lbV9hY2Nlc3MgPSBmbGFza19tZW1fYWNjZXNzLAogI2VuZGlmCg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.19-13.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.19-13.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBwYXNzIGZ1bGwgc3RydWN0IHhlbl9kb21jdGwgdG8g
eHNtX2RvbWN0bCgpCgpTdWJzZXF1ZW50bHkgc29tZSBzdWItb3BzIHdpbGwg
d2FudCB0byBpbnNwZWN0IHRoZWlyIHN1Yi1zdWItb3BzLiBQbHVzCnRoaXMg
d2F5IHdlIGRvbid0IG5lZWQgdG8gcGFzcyBTU0lEcmVmIHNlcGFyYXRlbHkg
YW55bW9yZSBmb3IKZG9tYWluX2NyZWF0ZS4KClRoaXMgaXMgcGFydCBvZiBY
U0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRo
QGFwZXJ0dXNzb2x1dGlvbnMuY29tPgoKLS0tIGEveGVuL2FyY2gveDg2L21t
L3BhZ2luZy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYwpAQCAt
NzY3LDcgKzc2Nyw3IEBAIGxvbmcgZG9fcGFnaW5nX2RvbWN0bF9jb250KAog
ICAgIGlmICggZCA9PSBOVUxMICkKICAgICAgICAgcmV0dXJuIC1FU1JDSDsK
IAotICAgIHJldCA9IHhzbV9kb21jdGwoWFNNX09USEVSLCBkLCBvcC5jbWQs
IDAgLyogU1NJRHJlZiBub3QgYXBwbGljYWJsZSAqLyk7CisgICAgcmV0ID0g
eHNtX2RvbWN0bChYU01fT1RIRVIsIGQsICZvcCk7CiAgICAgaWYgKCAhcmV0
ICkKICAgICB7CiAgICAgICAgIGlmICggZG9tY3RsX2xvY2tfYWNxdWlyZSgp
ICkKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYworKysgYi94ZW4vY29tbW9u
L2RvbWN0bC5jCkBAIC01MTUsOSArNTE1LDcgQEAgbG9uZyBkb19kb21jdGwo
WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICBicmVhazsKICAg
ICB9CiAKLSAgICByZXQgPSB4c21fZG9tY3RsKFhTTV9PVEhFUiwgZCwgb3At
PmNtZCwKLSAgICAgICAgICAgICAgICAgICAgIC8qIFNTSURSZWYgb25seSBh
cHBsaWNhYmxlIGZvciBjbWQgPT0gY3JlYXRlZG9tYWluICovCi0gICAgICAg
ICAgICAgICAgICAgICBvcC0+dS5jcmVhdGVkb21haW4uc3NpZHJlZik7Cisg
ICAgcmV0ID0geHNtX2RvbWN0bChYU01fT1RIRVIsIGQsIG9wKTsKICAgICBp
ZiAoIHJldCApCiAgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9t
b25seTsKIAotLS0gYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAorKysgYi94
ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTYyLDEwICsxNjIsMTAgQEAg
c3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9zZXRfdAogfQog
CiBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX2RvbWN0bCgK
LSAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgdW5zaWdu
ZWQgaW50IGNtZCwgdWludDMyX3Qgc3NpZHJlZikKKyAgICBYU01fREVGQVVM
VF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHhlbl9kb21jdGwgKm9w
KQogewogICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9PVEhFUik7Ci0gICAg
c3dpdGNoICggY21kICkKKyAgICBzd2l0Y2ggKCBvcC0+Y21kICkKICAgICB7
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgogICAgIGNhc2Ug
WEVOX0RPTUNUTF9nZXRkb21haW5pbmZvOgotLS0gYS94ZW4vaW5jbHVkZS94
c20veHNtLmgKKysrIGIveGVuL2luY2x1ZGUveHNtL3hzbS5oCkBAIC02MCw3
ICs2MCw3IEBAIHN0cnVjdCB4c21fb3BzIHsKICAgICBpbnQgKCpkb21jdGxf
c2NoZWR1bGVyX29wKShzdHJ1Y3QgZG9tYWluICpkLCBpbnQgb3ApOwogICAg
IGludCAoKnN5c2N0bF9zY2hlZHVsZXJfb3ApKGludCBvcCk7CiAgICAgaW50
ICgqc2V0X3RhcmdldCkoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGRvbWFp
biAqZSk7Ci0gICAgaW50ICgqZG9tY3RsKShzdHJ1Y3QgZG9tYWluICpkLCB1
bnNpZ25lZCBpbnQgY21kLCB1aW50MzJfdCBzc2lkcmVmKTsKKyAgICBpbnQg
KCpkb21jdGwpKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCB4ZW5fZG9tY3Rs
ICpvcCk7CiAgICAgaW50ICgqc3lzY3RsKShpbnQgY21kKTsKICAgICBpbnQg
KCpyZWFkY29uc29sZSkodWludDMyX3QgY2xlYXIpOwogCkBAIC0yNDksOSAr
MjQ5LDkgQEAgc3RhdGljIGlubGluZSBpbnQgeHNtX3NldF90YXJnZXQoCiB9
CiAKIHN0YXRpYyBpbmxpbmUgaW50IHhzbV9kb21jdGwoeHNtX2RlZmF1bHRf
dCBkZWYsIHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCBjbWQsIHVpbnQzMl90IHNzaWRyZWYp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9t
Y3RsICpvcCkKIHsKLSAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4c21f
b3BzLmRvbWN0bCwgZCwgY21kLCBzc2lkcmVmKTsKKyAgICByZXR1cm4gYWx0
ZXJuYXRpdmVfY2FsbCh4c21fb3BzLmRvbWN0bCwgZCwgb3ApOwogfQogCiBz
dGF0aWMgaW5saW5lIGludCB4c21fc3lzY3RsKHhzbV9kZWZhdWx0X3QgZGVm
LCBpbnQgY21kKQotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIv
eGVuL3hzbS9mbGFzay9ob29rcy5jCkBAIC02NjMsMTAgKzY2Myw5IEBAIHN0
YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfc2V0X3RhcmdldChzdHIKICAgICBy
ZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9t
Y3RsKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBjbWQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzc2lkcmVm
KQorc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0IGRv
bWFpbiAqZCwgc3RydWN0IHhlbl9kb21jdGwgKm9wKQogewotICAgIHN3aXRj
aCAoIGNtZCApCisgICAgc3dpdGNoICggb3AtPmNtZCApCiAgICAgewogICAg
IGNhc2UgWEVOX0RPTUNUTF9jcmVhdGVkb21haW46CiAgICAgICAgIC8qCkBA
IC02NzYsNyArNjc1LDggQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19k
b21jdGwoc3RydWN0CiAgICAgICAgICAqIE5vdGUgdGhhdCBkIGlzIE5VTEwg
YmVjYXVzZSB3ZSBoYXZlbid0IGV2ZW4gYWxsb2NhdGVkIG1lbW9yeSBmb3Ig
aXQKICAgICAgICAgICogdGhpcyBlYXJseSBpbiBYRU5fRE9NQ1RMX2NyZWF0
ZWRvbWFpbi4KICAgICAgICAgICovCi0gICAgICAgIHJldHVybiBhdmNfY3Vy
cmVudF9oYXNfcGVybShzc2lkcmVmLCBTRUNDTEFTU19ET01BSU4sIERPTUFJ
Tl9fQ1JFQVRFLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuIGF2Y19jdXJyZW50
X2hhc19wZXJtKG9wLT51LmNyZWF0ZWRvbWFpbi5zc2lkcmVmLCBTRUNDTEFT
U19ET01BSU4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBET01BSU5fX0NSRUFURSwgTlVMTCk7CiAKICAgICAvKiBUaGVzZSBoYXZl
IGluZGl2aWR1YWwgWFNNIGhvb2tzIGFuZCBkb24ndCBtYWtlIGl0IGhlcmUu
ICovCiAgICAgY2FzZSBYRU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgpAQCAtODQ2
LDcgKzg0Niw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3Rs
KHN0cnVjdAogICAgICAgICByZXR1cm4gY3VycmVudF9oYXNfcGVybShkLCBT
RUNDTEFTU19ET01BSU4yLCBET01BSU4yX19EVF9PVkVSTEFZKTsKIAogICAg
IGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBhdmNfdW5rbm93bl9wZXJtaXNz
aW9uKCJkb21jdGwiLCBjbWQpOworICAgICAgICByZXR1cm4gYXZjX3Vua25v
d25fcGVybWlzc2lvbigiZG9tY3RsIiwgb3AtPmNtZCk7CiAgICAgfQogfQog
Cg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.19-14.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.19-14.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHNjaGVkdWxlcl9vcCBob29rCgpJbnRlZ3Jh
dGUgdGhlIGNoZWNraW5nIHdpdGggeHNtX2RvbWN0bCgpLCBub3cgdGhhdCBp
dCBoYXMgdGhlIGZ1bGwgb3AKc3RydWN0IHBhc3NlZC4gQXMgYSBwb3NpdGl2
ZSBzaWRlIGVmZmVjdCwgcGVybWlzc2lvbnMgYXJlIHRoZW4gY2hlY2tlZCBh
dAp0aGUgc2FtZSBlYXJseSBwb2ludCB3aXRoIGFuZCB3aXRob3V0IEZsYXNr
LgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIuCgpTaWduZWQtb2ZmLWJ5OiBK
YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkFja2VkLWJ5OiBEYW5p
ZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+ClJl
dmlld2VkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+Cgot
LS0gYS94ZW4vY29tbW9uL3NjaGVkL2NvcmUuYworKysgYi94ZW4vY29tbW9u
L3NjaGVkL2NvcmUuYwpAQCAtMjA1NSwxMCArMjA1NSw2IEBAIGxvbmcgc2No
ZWRfYWRqdXN0KHN0cnVjdCBkb21haW4gKmQsIHN0cnUKIHsKICAgICBsb25n
IHJldDsKIAotICAgIHJldCA9IHhzbV9kb21jdGxfc2NoZWR1bGVyX29wKFhT
TV9IT09LLCBkLCBvcC0+Y21kKTsKLSAgICBpZiAoIHJldCApCi0gICAgICAg
IHJldHVybiByZXQ7Ci0KICAgICBpZiAoIG9wLT5zY2hlZF9pZCAhPSBkb21f
c2NoZWR1bGVyKGQpLT5zY2hlZF9pZCApCiAgICAgICAgIHJldHVybiAtRUlO
VkFMOwogCi0tLSBhL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCisrKyBiL3hl
bi9pbmNsdWRlL3hzbS9kdW1teS5oCkBAIC0xNDEsMTMgKzE0MSw2IEBAIHN0
YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZ2V0ZG8KICAgICBy
ZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9t
YWluLCBkKTsKIH0KIAotc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNr
IHhzbV9kb21jdGxfc2NoZWR1bGVyX29wKAotICAgIFhTTV9ERUZBVUxUX0FS
RyBzdHJ1Y3QgZG9tYWluICpkLCBpbnQgY21kKQotewotICAgIFhTTV9BU1NF
UlRfQUNUSU9OKFhTTV9IT09LKTsKLSAgICByZXR1cm4geHNtX2RlZmF1bHRf
YWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBkKTsKLX0KLQogc3Rh
dGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9zeXNjdGxfc2NoZWR1
bGVyX29wKFhTTV9ERUZBVUxUX0FSRyBpbnQgY21kKQogewogICAgIFhTTV9B
U1NFUlRfQUNUSU9OKFhTTV9IT09LKTsKLS0tIGEveGVuL2luY2x1ZGUveHNt
L3hzbS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS94c20uaApAQCAtNTcsNyAr
NTcsNiBAQCBzdHJ1Y3QgeHNtX29wcyB7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX2dldGRvbWFpbmluZm8g
KmluZm8pOwogICAgIGludCAoKmRvbWFpbl9jcmVhdGUpKHN0cnVjdCBkb21h
aW4gKmQsIHVpbnQzMl90IHNzaWRyZWYpOwogICAgIGludCAoKmdldGRvbWFp
bmluZm8pKHN0cnVjdCBkb21haW4gKmQpOwotICAgIGludCAoKmRvbWN0bF9z
Y2hlZHVsZXJfb3ApKHN0cnVjdCBkb21haW4gKmQsIGludCBvcCk7CiAgICAg
aW50ICgqc3lzY3RsX3NjaGVkdWxlcl9vcCkoaW50IG9wKTsKICAgICBpbnQg
KCpzZXRfdGFyZ2V0KShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZG9tYWlu
ICplKTsKICAgICBpbnQgKCpkb21jdGwpKHN0cnVjdCBkb21haW4gKmQsIHN0
cnVjdCB4ZW5fZG9tY3RsICpvcCk7CkBAIC0yMzEsMTIgKzIzMCw2IEBAIHN0
YXRpYyBpbmxpbmUgaW50IHhzbV9nZXRkb21haW5pbmZvKHhzbV8KICAgICBy
ZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4c21fb3BzLmdldGRvbWFpbmluZm8s
IGQpOwogfQogCi1zdGF0aWMgaW5saW5lIGludCB4c21fZG9tY3RsX3NjaGVk
dWxlcl9vcCgKLSAgICB4c21fZGVmYXVsdF90IGRlZiwgc3RydWN0IGRvbWFp
biAqZCwgaW50IGNtZCkKLXsKLSAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2Fs
bCh4c21fb3BzLmRvbWN0bF9zY2hlZHVsZXJfb3AsIGQsIGNtZCk7Ci19Ci0K
IHN0YXRpYyBpbmxpbmUgaW50IHhzbV9zeXNjdGxfc2NoZWR1bGVyX29wKHhz
bV9kZWZhdWx0X3QgZGVmLCBpbnQgY21kKQogewogICAgIHJldHVybiBhbHRl
cm5hdGl2ZV9jYWxsKHhzbV9vcHMuc3lzY3RsX3NjaGVkdWxlcl9vcCwgY21k
KTsKLS0tIGEveGVuL3hzbS9kdW1teS5jCisrKyBiL3hlbi94c20vZHVtbXku
YwpAQCAtMTgsNyArMTgsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHhzbV9v
cHMgX19pbml0Y29uc3RfCiAgICAgLnNlY3VyaXR5X2RvbWFpbmluZm8gICAg
ICAgICAgID0geHNtX3NlY3VyaXR5X2RvbWFpbmluZm8sCiAgICAgLmRvbWFp
bl9jcmVhdGUgICAgICAgICAgICAgICAgID0geHNtX2RvbWFpbl9jcmVhdGUs
CiAgICAgLmdldGRvbWFpbmluZm8gICAgICAgICAgICAgICAgID0geHNtX2dl
dGRvbWFpbmluZm8sCi0gICAgLmRvbWN0bF9zY2hlZHVsZXJfb3AgICAgICAg
ICAgID0geHNtX2RvbWN0bF9zY2hlZHVsZXJfb3AsCiAgICAgLnN5c2N0bF9z
Y2hlZHVsZXJfb3AgICAgICAgICAgID0geHNtX3N5c2N0bF9zY2hlZHVsZXJf
b3AsCiAgICAgLnNldF90YXJnZXQgICAgICAgICAgICAgICAgICAgID0geHNt
X3NldF90YXJnZXQsCiAgICAgLmRvbWN0bCAgICAgICAgICAgICAgICAgICAg
ICAgID0geHNtX2RvbWN0bCwKLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5j
CisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjA3LDcgKzYwNyw3
IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZ2V0ZG9tYWluaW5mbygK
ICAgICByZXR1cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUNDTEFTU19ET01B
SU4sIERPTUFJTl9fR0VURE9NQUlOSU5GTyk7CiB9CiAKLXN0YXRpYyBpbnQg
Y2ZfY2hlY2sgZmxhc2tfZG9tY3RsX3NjaGVkdWxlcl9vcChzdHJ1Y3QgZG9t
YWluICpkLCBpbnQgb3ApCitzdGF0aWMgaW50IGZsYXNrX2RvbWN0bF9zY2hl
ZHVsZXJfb3Aoc3RydWN0IGRvbWFpbiAqZCwgaW50IG9wKQogewogICAgIHN3
aXRjaCAoIG9wICkKICAgICB7CkBAIC02OTEsNyArNjkxLDYgQEAgc3RhdGlj
IGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0CiAgICAgICAgIHJl
dHVybiAtRUlMU0VROwogCiAgICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFs
IFhTTSBob29rcyAoY29tbW9uL2RvbWN0bC5jKSAqLwotICAgIGNhc2UgWEVO
X0RPTUNUTF9zY2hlZHVsZXJfb3A6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Nl
dF90YXJnZXQ6CiAKICNpZmRlZiBDT05GSUdfWDg2CkBAIC03MzksNiArNzM4
LDkgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3NldGRvbWFpbmhhbmRsZToKICAgICAg
ICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9NQUlO
LCBET01BSU5fX1NFVERPTUFJTkhBTkRMRSk7CiAKKyAgICBjYXNlIFhFTl9E
T01DVExfc2NoZWR1bGVyX29wOgorICAgICAgICByZXR1cm4gZmxhc2tfZG9t
Y3RsX3NjaGVkdWxlcl9vcChkLCBvcC0+dS5zY2hlZHVsZXJfb3AuY21kKTsK
KwogICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRfZXh0X3ZjcHVjb250ZXh0Ogog
ICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRfdmNwdV9tc3JzOgogICAgIGNhc2Ug
WEVOX0RPTUNUTF9zZXR2Y3B1Y29udGV4dDoKQEAgLTE4NTksNyArMTg2MSw2
IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeHNtX29wcyBfX2luaXRjb25zdF8K
ICAgICAuc2VjdXJpdHlfZG9tYWluaW5mbyA9IGZsYXNrX3NlY3VyaXR5X2Rv
bWFpbmluZm8sCiAgICAgLmRvbWFpbl9jcmVhdGUgPSBmbGFza19kb21haW5f
Y3JlYXRlLAogICAgIC5nZXRkb21haW5pbmZvID0gZmxhc2tfZ2V0ZG9tYWlu
aW5mbywKLSAgICAuZG9tY3RsX3NjaGVkdWxlcl9vcCA9IGZsYXNrX2RvbWN0
bF9zY2hlZHVsZXJfb3AsCiAgICAgLnN5c2N0bF9zY2hlZHVsZXJfb3AgPSBm
bGFza19zeXNjdGxfc2NoZWR1bGVyX29wLAogICAgIC5zZXRfdGFyZ2V0ID0g
Zmxhc2tfc2V0X3RhcmdldCwKICAgICAuZG9tY3RsID0gZmxhc2tfZG9tY3Rs
LAo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.19-15.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.19-15.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHNoYWRvd19jb250cm9sX29wIGhvb2sKCklu
dGVncmF0ZSB0aGUgY2hlY2tpbmcgd2l0aCB4c21fZG9tY3RsKCksIG5vdyB0
aGF0IGl0IGhhcyB0aGUgZnVsbCBvcApzdHJ1Y3QgcGFzc2VkLiBBcyBhIHBv
c2l0aXZlIHNpZGUgZWZmZWN0LCBwZXJtaXNzaW9ucyBhcmUgdGhlbiBjaGVj
a2VkIGF0CnRoZSBzYW1lIGVhcmx5IHBvaW50IHdpdGggYW5kIHdpdGhvdXQg
Rmxhc2suCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4KClNpZ25lZC1vZmYt
Ynk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQWNrZWQtYnk6
IERhbmllbCBQLiBTbWl0aCA8ZHBzbWl0aEBhcGVydHVzc29sdXRpb25zLmNv
bT4KCi0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYworKysgYi94ZW4v
YXJjaC94ODYvbW0vcGFnaW5nLmMKQEAgLTcwOSwxMCArNzA5LDYgQEAgaW50
IHBhZ2luZ19kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgc3RydQogICAgICAg
ICByZXR1cm4gLUVCVVNZOwogICAgIH0KIAotICAgIHJjID0geHNtX3NoYWRv
d19jb250cm9sKFhTTV9IT09LLCBkLCBzYy0+b3ApOwotICAgIGlmICggcmMg
KQotICAgICAgICByZXR1cm4gcmM7Ci0KICAgICAvKiBDb2RlIHRvIGhhbmRs
ZSBsb2ctZGlydHkuIE5vdGUgdGhhdCBzb21lIGxvZyBkaXJ0eSBvcGVyYXRp
b25zCiAgICAgICogcGlnZ3ktYmFjayBvbiBzaGFkb3cgb3BlcmF0aW9ucy4g
Rm9yIGV4YW1wbGUsIHdoZW4KICAgICAgKiBYRU5fRE9NQ1RMX1NIQURPV19P
UF9PRkYgaXMgY2FsbGVkLCBpdCBmaXJzdCBjaGVja3Mgd2hldGhlciBsb2cg
ZGlydHkKLS0tIGEveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKKysrIGIveGVu
L2luY2x1ZGUveHNtL2R1bW15LmgKQEAgLTY4MCwxMyArNjgwLDYgQEAgc3Rh
dGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9kb19tYwogICAgIHJl
dHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5kb21h
aW4sIE5VTEwpOwogfQogCi1zdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hl
Y2sgeHNtX3NoYWRvd19jb250cm9sKAotICAgIFhTTV9ERUZBVUxUX0FSRyBz
dHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBvcCkKLXsKLSAgICBYU01fQVNT
RVJUX0FDVElPTihYU01fSE9PSyk7Ci0gICAgcmV0dXJuIHhzbV9kZWZhdWx0
X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgZCk7Ci19Ci0KIHN0
YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fbWVtX3NoYXJpbmdf
b3AoCiAgICAgWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQsIHN0
cnVjdCBkb21haW4gKmNkLCBpbnQgb3ApCiB7Ci0tLSBhL3hlbi9pbmNsdWRl
L3hzbS94c20uaAorKysgYi94ZW4vaW5jbHVkZS94c20veHNtLmgKQEAgLTE2
OSw3ICsxNjksNiBAQCBzdHJ1Y3QgeHNtX29wcyB7CiAKICNpZmRlZiBDT05G
SUdfWDg2CiAgICAgaW50ICgqZG9fbWNhKSh2b2lkKTsKLSAgICBpbnQgKCpz
aGFkb3dfY29udHJvbCkoc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3Qgb3Ap
OwogICAgIGludCAoKm1lbV9zaGFyaW5nX29wKShzdHJ1Y3QgZG9tYWluICpk
LCBzdHJ1Y3QgZG9tYWluICpjZCwgaW50IG9wKTsKICAgICBpbnQgKCphcGlj
KShzdHJ1Y3QgZG9tYWluICpkLCBpbnQgY21kKTsKICAgICBpbnQgKCptYWNo
aW5lX21lbW9yeV9tYXApKHZvaWQpOwpAQCAtNjU3LDEyICs2NTYsNiBAQCBz
dGF0aWMgaW5saW5lIGludCB4c21fZG9fbWNhKHhzbV9kZWZhdWx0CiAgICAg
cmV0dXJuIGFsdGVybmF0aXZlX2NhbGwoeHNtX29wcy5kb19tY2EpOwogfQog
Ci1zdGF0aWMgaW5saW5lIGludCB4c21fc2hhZG93X2NvbnRyb2woCi0gICAg
eHNtX2RlZmF1bHRfdCBkZWYsIHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90
IG9wKQotewotICAgIHJldHVybiBhbHRlcm5hdGl2ZV9jYWxsKHhzbV9vcHMu
c2hhZG93X2NvbnRyb2wsIGQsIG9wKTsKLX0KLQogc3RhdGljIGlubGluZSBp
bnQgeHNtX21lbV9zaGFyaW5nX29wKAogICAgIHhzbV9kZWZhdWx0X3QgZGVm
LCBzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZG9tYWluICpjZCwgaW50IG9w
KQogewotLS0gYS94ZW4veHNtL2R1bW15LmMKKysrIGIveGVuL3hzbS9kdW1t
eS5jCkBAIC0xMjQsNyArMTI0LDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB4
c21fb3BzIF9faW5pdGNvbnN0XwogICAgIC5wbGF0Zm9ybV9vcCAgICAgICAg
ICAgICAgICAgICA9IHhzbV9wbGF0Zm9ybV9vcCwKICNpZmRlZiBDT05GSUdf
WDg2CiAgICAgLmRvX21jYSAgICAgICAgICAgICAgICAgICAgICAgID0geHNt
X2RvX21jYSwKLSAgICAuc2hhZG93X2NvbnRyb2wgICAgICAgICAgICAgICAg
PSB4c21fc2hhZG93X2NvbnRyb2wsCiAgICAgLm1lbV9zaGFyaW5nX29wICAg
ICAgICAgICAgICAgID0geHNtX21lbV9zaGFyaW5nX29wLAogICAgIC5hcGlj
ICAgICAgICAgICAgICAgICAgICAgICAgICA9IHhzbV9hcGljLAogICAgIC5t
YWNoaW5lX21lbW9yeV9tYXAgICAgICAgICAgICA9IHhzbV9tYWNoaW5lX21l
bW9yeV9tYXAsCi0tLSBhL3hlbi94c20vZmxhc2svaG9va3MuYworKysgYi94
ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAgLTQwLDYgKzQwLDcgQEAKIAogI2lm
ZGVmIENPTkZJR19YODYKICNpbmNsdWRlIDxhc20vcHYvc2hpbS5oPgorc3Rh
dGljIGludCBmbGFza19zaGFkb3dfY29udHJvbChzdHJ1Y3QgZG9tYWluICpk
LCB1bnNpZ25lZCBpbnQgb3ApOwogI2Vsc2UKICNkZWZpbmUgcHZfc2hpbSBm
YWxzZQogI2VuZGlmCkBAIC02OTMsMTAgKzY5NCw2IEBAIHN0YXRpYyBpbnQg
Y2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAogICAgIC8qIFRoZXNlIGhh
dmUgaW5kaXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9kb21jdGwuYykgKi8K
ICAgICBjYXNlIFhFTl9ET01DVExfc2V0X3RhcmdldDoKIAotI2lmZGVmIENP
TkZJR19YODYKLSAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhv
b2tzIChhcmNoL3g4Ni9kb21jdGwuYykgKi8KLSAgICBjYXNlIFhFTl9ET01D
VExfc2hhZG93X29wOgotI2VuZGlmCiAjaWZkZWYgQ09ORklHX0hBU19QQVNT
VEhST1VHSAogICAgIC8qCiAgICAgICogVGhlc2UgaGF2ZSBpbmRpdmlkdWFs
IFhTTSBob29rcwpAQCAtNzgxLDYgKzc3OCwxMSBAQCBzdGF0aWMgaW50IGNm
X2NoZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICBjYXNlIFhFTl9ET01D
VExfZ2V0X2FkZHJlc3Nfc2l6ZToKICAgICAgICAgcmV0dXJuIGN1cnJlbnRf
aGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9NQUlOLCBET01BSU5fX0dFVEFERFJT
SVpFKTsKIAorI2lmZGVmIENPTkZJR19YODYKKyAgICBjYXNlIFhFTl9ET01D
VExfc2hhZG93X29wOgorICAgICAgICByZXR1cm4gZmxhc2tfc2hhZG93X2Nv
bnRyb2woZCwgb3AtPnUuc2hhZG93X29wLm9wKTsKKyNlbmRpZgorCiAgICAg
Y2FzZSBYRU5fRE9NQ1RMX21lbV9zaGFyaW5nX29wOgogICAgICAgICByZXR1
cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUNDTEFTU19IVk0sIEhWTV9fTUVN
X1NIQVJJTkcpOwogCkBAIC0xNTg3LDcgKzE1ODksNyBAQCBzdGF0aWMgaW50
IGNmX2NoZWNrIGZsYXNrX2RvX21jYSh2b2lkKQogICAgIHJldHVybiBkb21h
aW5faGFzX3hlbihjdXJyZW50LT5kb21haW4sIFhFTl9fTUNBX09QKTsKIH0K
IAotc3RhdGljIGludCBjZl9jaGVjayBmbGFza19zaGFkb3dfY29udHJvbChz
dHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBvcCkKK3N0YXRpYyBpbnQgZmxh
c2tfc2hhZG93X2NvbnRyb2woc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQg
aW50IG9wKQogewogICAgIHVpbnQzMl90IHBlcm07CiAKQEAgLTE5NjgsNyAr
MTk3MCw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeHNtX29wcyBfX2luaXRj
b25zdF8KICAgICAucGxhdGZvcm1fb3AgPSBmbGFza19wbGF0Zm9ybV9vcCwK
ICNpZmRlZiBDT05GSUdfWDg2CiAgICAgLmRvX21jYSA9IGZsYXNrX2RvX21j
YSwKLSAgICAuc2hhZG93X2NvbnRyb2wgPSBmbGFza19zaGFkb3dfY29udHJv
bCwKICAgICAubWVtX3NoYXJpbmdfb3AgPSBmbGFza19tZW1fc2hhcmluZ19v
cCwKICAgICAuYXBpYyA9IGZsYXNrX2FwaWMsCiAgICAgLm1hY2hpbmVfbWVt
b3J5X21hcCA9IGZsYXNrX21hY2hpbmVfbWVtb3J5X21hcCwK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.19-16.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.19-16.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2dldF9kZXZpY2VfZ3JvdXAg
d2l0aG91dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKCmlvbW11X2dldF9kZXZp
Y2VfZ3JvdXAoKSB1c2VzIGl0cyBvd24gbG9ja2luZy4gVGh1cywgd2l0aCBj
YWxsZXIgc2lkZQpsb2NraW5nIGlycmVsZXZhbnQsIGl0IGNhbiBhcyB3ZWxs
IGJlIGNhbGxlZCB3aXRoIHRoZSBkb21jdGwgbG9jayBub3QKaGVsZC4KCk1v
dmUgdGhlIGhhbmRsaW5nIG5vdCBvbmx5IGFoZWFkIG9mIGFjcXVpcmluZyB0
aGUgbG9jaywgYnV0IGFsc28gYWhlYWQKb2YgdGhlIFhTTSBjaGVjaywgbGV2
ZXJhZ2luZyB0aGF0IHRoZSBzdWItb3AgaGFzIGl0cyBvd24gaG9vay4KClRo
aXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJl
dWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpBY2tlZC1ieTogRGFuaWVsIFAu
IFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29tPgpSZXZpZXdl
ZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+
CgotLS0gYS94ZW4vY29tbW9uL2RvbWN0bC5jCisrKyBiL3hlbi9jb21tb24v
ZG9tY3RsLmMKQEAgLTUwMyw2ICs1MDMsMTAgQEAgbG9uZyBkb19kb21jdGwo
WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICAvKiBPdGhlciBz
dWItb3BzIGhhbmRsZWQgZnVydGhlciBkb3duLiAqLwogICAgICAgICBicmVh
azsKIAorICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRfZGV2aWNlX2dyb3VwOgor
ICAgICAgICByZXQgPSBpb21tdV9kb19kb21jdGwob3AsIGQsIHVfZG9tY3Rs
KTsKKyAgICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5Owor
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNzaW9uOgogICAg
IGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBjYXNlIFhF
Tl9ET01DVExfYmluZF9wdF9pcnE6CkBAIC05MjUsNyArOTI5LDYgQEAgbG9u
ZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgIGNh
c2UgWEVOX0RPTUNUTF9hc3NpZ25fZGV2aWNlOgogICAgIGNhc2UgWEVOX0RP
TUNUTF90ZXN0X2Fzc2lnbl9kZXZpY2U6CiAgICAgY2FzZSBYRU5fRE9NQ1RM
X2RlYXNzaWduX2RldmljZToKLSAgICBjYXNlIFhFTl9ET01DVExfZ2V0X2Rl
dmljZV9ncm91cDoKICAgICAgICAgcmV0ID0gaW9tbXVfZG9fZG9tY3RsKG9w
LCBkLCB1X2RvbWN0bCk7CiAgICAgICAgIGJyZWFrOwogCi0tLSBhL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bh
c3N0aHJvdWdoL3BjaS5jCkBAIC0xNjQwLDcgKzE2NDAsNyBAQCBzdGF0aWMg
aW50IGlvbW11X2dldF9kZXZpY2VfZ3JvdXAoCiAgICAgICAgIGlmICggKHBk
ZXYtPnNlZyAhPSBzZWcpIHx8ICgoYiA9PSBidXMpICYmIChkZiA9PSBkZXZm
bikpICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGlmICgg
eHNtX2dldF9kZXZpY2VfZ3JvdXAoWFNNX0hPT0ssIChzZWcgPDwgMTYpIHwg
KGIgPDwgOCkgfCBkZikgKQorICAgICAgICBpZiAoIHhzbV9nZXRfZGV2aWNl
X2dyb3VwKFhTTV9QUklWLCAoc2VnIDw8IDE2KSB8IChiIDw8IDgpIHwgZGYp
ICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIHNkZXZfaWQg
PSBpb21tdV9jYWxsKG9wcywgZ2V0X2RldmljZV9ncm91cF9pZCwgc2VnLCBi
LCBkZik7CkBAIC0xNzEwLDcgKzE3MTAsNyBAQCBpbnQgaW9tbXVfZG9fcGNp
X2RvbWN0bCgKICAgICAgICAgdTMyIG1heF9zZGV2czsKICAgICAgICAgWEVO
X0dVRVNUX0hBTkRMRV82NCh1aW50MzIpIHNkZXZzOwogCi0gICAgICAgIHJl
dCA9IHhzbV9nZXRfZGV2aWNlX2dyb3VwKFhTTV9IT09LLCBkb21jdGwtPnUu
Z2V0X2RldmljZV9ncm91cC5tYWNoaW5lX3NiZGYpOworICAgICAgICByZXQg
PSB4c21fZ2V0X2RldmljZV9ncm91cChYU01fUFJJViwgZG9tY3RsLT51Lmdl
dF9kZXZpY2VfZ3JvdXAubWFjaGluZV9zYmRmKTsKICAgICAgICAgaWYgKCBy
ZXQgKQogICAgICAgICAgICAgYnJlYWs7CiAKLS0tIGEveGVuL2luY2x1ZGUv
eHNtL2R1bW15LmgKKysrIGIveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKQEAg
LTE2Miw2ICsxNjIsNyBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hl
Y2sgeHNtX2RvbWN0CiAgICAgewogICAgIGNhc2UgWEVOX0RPTUNUTF9iaW5k
X3B0X2lycToKICAgICBjYXNlIFhFTl9ET01DVExfZ2V0ZG9tYWluaW5mbzoK
KyAgICBjYXNlIFhFTl9ET01DVExfZ2V0X2RldmljZV9ncm91cDoKICAgICBj
YXNlIFhFTl9ET01DVExfaW9tZW1fcGVybWlzc2lvbjoKICAgICBjYXNlIFhF
Tl9ET01DVExfaW9wb3J0X21hcHBpbmc6CiAgICAgY2FzZSBYRU5fRE9NQ1RM
X2lvcG9ydF9wZXJtaXNzaW9uOgpAQCAtMzk5LDcgKzQwMCw3IEBAIHN0YXRp
YyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZ2V0X3YKIHN0YXRpYyBY
U01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZ2V0X2RldmljZV9ncm91cCgK
ICAgICBYU01fREVGQVVMVF9BUkcgdWludDMyX3QgbWFjaGluZV9iZGYpCiB7
Ci0gICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX0hPT0spOworICAgIFhTTV9B
U1NFUlRfQUNUSU9OKFhTTV9QUklWKTsKICAgICByZXR1cm4geHNtX2RlZmF1
bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBOVUxMKTsKIH0K
IAotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIveGVuL3hzbS9m
bGFzay9ob29rcy5jCkBAIC02ODIsNiArNjgyLDcgQEAgc3RhdGljIGludCBj
Zl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0CiAgICAgLyogVGhlc2UgaGF2
ZSBpbmRpdmlkdWFsIFhTTSBob29rcyBhbmQgZG9uJ3QgbWFrZSBpdCBoZXJl
LiAqLwogICAgIGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToKICAgICBj
YXNlIFhFTl9ET01DVExfZ2V0ZG9tYWluaW5mbzoKKyAgICBjYXNlIFhFTl9E
T01DVExfZ2V0X2RldmljZV9ncm91cDoKICAgICBjYXNlIFhFTl9ET01DVExf
aW9tZW1fcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9ET01DVExfaW9wb3J0
X21hcHBpbmc6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNz
aW9uOgpAQCAtNjk5LDcgKzcwMCw2IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sg
Zmxhc2tfZG9tY3RsKHN0cnVjdAogICAgICAqIFRoZXNlIGhhdmUgaW5kaXZp
ZHVhbCBYU00gaG9va3MKICAgICAgKiAoZHJpdmVycy9wYXNzdGhyb3VnaC97
cGNpLGRldmljZV90cmVlLmMpCiAgICAgICovCi0gICAgY2FzZSBYRU5fRE9N
Q1RMX2dldF9kZXZpY2VfZ3JvdXA6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Rl
c3RfYXNzaWduX2RldmljZToKICAgICBjYXNlIFhFTl9ET01DVExfYXNzaWdu
X2RldmljZToKICAgICBjYXNlIFhFTl9ET01DVExfZGVhc3NpZ25fZGV2aWNl
Ogo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.19-17.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.19-17.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHssZGV9YXNzaWduX3ssZHR9ZGV2aWNlIGhv
b2tzCgpJbnRlZ3JhdGUgdGhlIGNoZWNraW5nIHdpdGggeHNtX2RvbWN0bCgp
LiBBcyBhIHBvc2l0aXZlIHNpZGUgZWZmZWN0LApwZXJtaXNzaW9ucyBhcmUg
dGhlbiBjaGVja2VkIGF0IHRoZSBzYW1lIGVhcmx5IHBvaW50IHdpdGggYW5k
IHdpdGhvdXQKRmxhc2suIEFzIHRoZSBEVCBkZXZpY2UgcGF0aCBuZWVkcyBm
ZXRjaGluZyBlYXJsaWVyIChidXQgbXVzdCBub3QgYmUKZG91YmxlIGZldGNo
ZWQpLCBjYWNoZSBpdCBpbiBhIHByaXZhdGUgZmllbGQgb2YgdGhlIHB1Ymxp
YyBpbnRlcmZhY2UKc3RydWN0LgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIu
CgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j
b20+CkFja2VkLWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1
c3NvbHV0aW9ucy5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOp
IDxyb2dlci5wYXVAY2l0cml4LmNvbT4KCi0tLSBhL3hlbi9jb21tb24vZG9t
Y3RsLmMKKysrIGIveGVuL2NvbW1vbi9kb21jdGwuYwpAQCAtMzMwLDYgKzMz
MCwxMCBAQCBsb25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFN
KHhlCiAgICAgY2FzZSBYRU5fRE9NQ1RMX2RlYXNzaWduX2RldmljZToKICAg
ICAgICAgaWYgKCBvcC0+ZG9tYWluID09IERPTUlEX0lPICkKICAgICAgICAg
eworI2lmZGVmIENPTkZJR19IQVNfREVWSUNFX1RSRUUKKyAgICAgICAgICAg
IGlmICggb3AtPnUuYXNzaWduX2RldmljZS5kZXYgPT0gWEVOX0RPTUNUTF9E
RVZfRFQgKQorICAgICAgICAgICAgICAgIG9wLT51LmFzc2lnbl9kZXZpY2Uu
dS5kdC5kZXYgPSBOVUxMOworI2VuZGlmCiAgICAgICAgICAgICBkID0gZG9t
X2lvOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTMzNyw2
ICszNDEsMTEgQEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9Q
QVJBTSh4ZQogICAgICAgICAgICAgcmV0dXJuIC1FU1JDSDsKICAgICAgICAg
ZmFsbHRocm91Z2g7CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Rlc3RfYXNzaWdu
X2RldmljZToKKyNpZmRlZiBDT05GSUdfSEFTX0RFVklDRV9UUkVFCisgICAg
ICAgIGlmICggb3AtPnUuYXNzaWduX2RldmljZS5kZXYgPT0gWEVOX0RPTUNU
TF9ERVZfRFQgKQorICAgICAgICAgICAgb3AtPnUuYXNzaWduX2RldmljZS51
LmR0LmRldiA9IE5VTEw7CisgICAgICAgIGZhbGx0aHJvdWdoOworI2VuZGlm
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3ZtX2V2ZW50X29wOgogICAgICAgICBp
ZiAoIG9wLT5kb21haW4gPT0gRE9NSURfSU5WQUxJRCApCiAgICAgICAgIHsK
LS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvZGV2aWNlX3RyZWUuYwor
KysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9kZXZpY2VfdHJlZS5jCkBA
IC0yNzksMTUgKzI3OSwxNSBAQCBpbnQgaW9tbXVfZG9fZHRfZG9tY3RsKHN0
cnVjdCB4ZW5fZG9tY3RsCiAgICAgICAgIGlmICggKGQgJiYgZC0+aXNfZHlp
bmcpIHx8IGRvbWN0bC0+dS5hc3NpZ25fZGV2aWNlLmZsYWdzICkKICAgICAg
ICAgICAgIGJyZWFrOwogCi0gICAgICAgIHJldCA9IGR0X2ZpbmRfbm9kZV9i
eV9ncGF0aChkb21jdGwtPnUuYXNzaWduX2RldmljZS51LmR0LnBhdGgsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21jdGwtPnUu
YXNzaWduX2RldmljZS51LmR0LnNpemUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAmZGV2KTsKLSAgICAgICAgaWYgKCByZXQgKQot
ICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgcmV0ID0geHNtX2Fzc2ln
bl9kdGRldmljZShYU01fSE9PSywgZCwgZHRfbm9kZV9mdWxsX25hbWUoZGV2
KSk7Ci0gICAgICAgIGlmICggcmV0ICkKLSAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBkZXYgPSBkb21jdGwtPnUuYXNzaWduX2RldmljZS51LmR0LmRl
djsKKyAgICAgICAgaWYgKCAhZGV2ICkKKyAgICAgICAgeworICAgICAgICAg
ICAgcmV0ID0gZHRfZmluZF9ub2RlX2J5X2dwYXRoKGRvbWN0bC0+dS5hc3Np
Z25fZGV2aWNlLnUuZHQucGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkb21jdGwtPnUuYXNzaWduX2RldmljZS51LmR0
LnNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJmRldik7CisgICAgICAgICAgICBpZiAoIHJldCApCisgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KIAogICAgICAgICBpZiAoIGRvbWN0
bC0+Y21kID09IFhFTl9ET01DVExfdGVzdF9hc3NpZ25fZGV2aWNlICkKICAg
ICAgICAgewpAQCAtMzM1LDE1ICszMzUsMTUgQEAgaW50IGlvbW11X2RvX2R0
X2RvbWN0bChzdHJ1Y3QgeGVuX2RvbWN0bAogICAgICAgICBpZiAoIGRvbWN0
bC0+dS5hc3NpZ25fZGV2aWNlLmZsYWdzICkKICAgICAgICAgICAgIGJyZWFr
OwogCi0gICAgICAgIHJldCA9IGR0X2ZpbmRfbm9kZV9ieV9ncGF0aChkb21j
dGwtPnUuYXNzaWduX2RldmljZS51LmR0LnBhdGgsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkb21jdGwtPnUuYXNzaWduX2Rldmlj
ZS51LmR0LnNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAmZGV2KTsKLSAgICAgICAgaWYgKCByZXQgKQotICAgICAgICAgICAg
YnJlYWs7Ci0KLSAgICAgICAgcmV0ID0geHNtX2RlYXNzaWduX2R0ZGV2aWNl
KFhTTV9IT09LLCBkLCBkdF9ub2RlX2Z1bGxfbmFtZShkZXYpKTsKLSAgICAg
ICAgaWYgKCByZXQgKQotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRl
diA9IGRvbWN0bC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQuZGV2OworICAgICAg
ICBpZiAoICFkZXYgKQorICAgICAgICB7CisgICAgICAgICAgICByZXQgPSBk
dF9maW5kX25vZGVfYnlfZ3BhdGgoZG9tY3RsLT51LmFzc2lnbl9kZXZpY2Uu
dS5kdC5wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRvbWN0bC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQuc2l6ZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZGV2KTsK
KyAgICAgICAgICAgIGlmICggcmV0ICkKKyAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQogCiAgICAgICAgIGlmICggZCA9PSBkb21faW8gKQog
ICAgICAgICB7Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5j
CisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCkBAIC0xNzYw
LDEwICsxNzYwLDYgQEAgaW50IGlvbW11X2RvX3BjaV9kb21jdGwoCiAKICAg
ICAgICAgbWFjaGluZV9zYmRmID0gZG9tY3RsLT51LmFzc2lnbl9kZXZpY2Uu
dS5wY2kubWFjaGluZV9zYmRmOwogCi0gICAgICAgIHJldCA9IHhzbV9hc3Np
Z25fZGV2aWNlKFhTTV9IT09LLCBkLCBtYWNoaW5lX3NiZGYpOwotICAgICAg
ICBpZiAoIHJldCApCi0gICAgICAgICAgICBicmVhazsKLQogICAgICAgICBz
ZWcgPSBtYWNoaW5lX3NiZGYgPj4gMTY7CiAgICAgICAgIGJ1cyA9IFBDSV9C
VVMobWFjaGluZV9zYmRmKTsKICAgICAgICAgZGV2Zm4gPSBQQ0lfREVWRk4o
bWFjaGluZV9zYmRmKTsKQEAgLTE4MDUsMTAgKzE4MDEsNiBAQCBpbnQgaW9t
bXVfZG9fcGNpX2RvbWN0bCgKIAogICAgICAgICBtYWNoaW5lX3NiZGYgPSBk
b21jdGwtPnUuYXNzaWduX2RldmljZS51LnBjaS5tYWNoaW5lX3NiZGY7CiAK
LSAgICAgICAgcmV0ID0geHNtX2RlYXNzaWduX2RldmljZShYU01fSE9PSywg
ZCwgbWFjaGluZV9zYmRmKTsKLSAgICAgICAgaWYgKCByZXQgKQotICAgICAg
ICAgICAgYnJlYWs7Ci0KICAgICAgICAgc2VnID0gbWFjaGluZV9zYmRmID4+
IDE2OwogICAgICAgICBidXMgPSBQQ0lfQlVTKG1hY2hpbmVfc2JkZik7CiAg
ICAgICAgIGRldmZuID0gUENJX0RFVkZOKG1hY2hpbmVfc2JkZik7Ci0tLSBh
L3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaAorKysgYi94ZW4vaW5jbHVk
ZS9wdWJsaWMvZG9tY3RsLmgKQEAgLTU0OSw3ICs1NDksMTAgQEAgc3RydWN0
IHhlbl9kb21jdGxfYXNzaWduX2RldmljZSB7CiAgICAgICAgIH0gcGNpOwog
ICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICAgdWludDMyX3Qgc2l6ZTsg
LyogTGVuZ3RoIG9mIHRoZSBwYXRoICovCi0gICAgICAgICAgICBYRU5fR1VF
U1RfSEFORExFXzY0KGNoYXIpIHBhdGg7IC8qIHBhdGggdG8gdGhlIGRldmlj
ZSB0cmVlIG5vZGUgKi8KKyAgICAgICAgICAgIFhFTl9HVUVTVF9IQU5ETEVf
NjQoY2hhcikgcGF0aDsgLyogUGF0aCB0byB0aGUgZGV2aWNlIHRyZWUgbm9k
ZSAqLworI2lmZGVmIF9fWEVOX18KKyAgICAgICAgICAgIHN0cnVjdCBkdF9k
ZXZpY2Vfbm9kZSAqZGV2OyAvKiBSZXNvbHZlZCBkZXZpY2Ugbm9kZSBvZiB0
aGUgYWJvdmUgKi8KKyNlbmRpZgogICAgICAgICB9IGR0OwogICAgIH0gdTsK
IH07Ci0tLSBhL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCisrKyBiL3hlbi9p
bmNsdWRlL3hzbS9kdW1teS5oCkBAIC00MDMsNDAgKzQwMyw4IEBAIHN0YXRp
YyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZ2V0X2QKICAgICBYU01f
QVNTRVJUX0FDVElPTihYU01fUFJJVik7CiAgICAgcmV0dXJuIHhzbV9kZWZh
dWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgTlVMTCk7CiB9
Ci0KLXN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fYXNzaWdu
X2RldmljZSgKLSAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAq
ZCwgdWludDMyX3QgbWFjaGluZV9iZGYpCi17Ci0gICAgWFNNX0FTU0VSVF9B
Q1RJT04oWFNNX0hPT0spOwotICAgIHJldHVybiB4c21fZGVmYXVsdF9hY3Rp
b24oYWN0aW9uLCBjdXJyZW50LT5kb21haW4sIGQpOwotfQotCi1zdGF0aWMg
WFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX2RlYXNzaWduX2RldmljZSgK
LSAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgdWludDMy
X3QgbWFjaGluZV9iZGYpCi17Ci0gICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNN
X0hPT0spOwotICAgIHJldHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9u
LCBjdXJyZW50LT5kb21haW4sIGQpOwotfQotCiAjZW5kaWYgLyogSEFTX1BB
U1NUSFJPVUdIICYmIEhBU19QQ0kgKi8KIAotI2lmIGRlZmluZWQoQ09ORklH
X0hBU19QQVNTVEhST1VHSCkgJiYgZGVmaW5lZChDT05GSUdfSEFTX0RFVklD
RV9UUkVFKQotc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9h
c3NpZ25fZHRkZXZpY2UoCi0gICAgWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBk
b21haW4gKmQsIGNvbnN0IGNoYXIgKmR0cGF0aCkKLXsKLSAgICBYU01fQVNT
RVJUX0FDVElPTihYU01fSE9PSyk7Ci0gICAgcmV0dXJuIHhzbV9kZWZhdWx0
X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgZCk7Ci19Ci0KLXN0
YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZGVhc3NpZ25fZHRk
ZXZpY2UoCi0gICAgWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQs
IGNvbnN0IGNoYXIgKmR0cGF0aCkKLXsKLSAgICBYU01fQVNTRVJUX0FDVElP
TihYU01fSE9PSyk7Ci0gICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihh
Y3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgZCk7Ci19Ci0KLSNlbmRpZiAvKiBI
QVNfUEFTU1RIUk9VR0ggJiYgSEFTX0RFVklDRV9UUkVFICovCi0KIHN0YXRp
YyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fcmVzb3VyY2VfcGx1Z19j
b3JlKFhTTV9ERUZBVUxUX1ZPSUQpCiB7CiAgICAgWFNNX0FTU0VSVF9BQ1RJ
T04oWFNNX0hPT0spOwotLS0gYS94ZW4vaW5jbHVkZS94c20veHNtLmgKKysr
IGIveGVuL2luY2x1ZGUveHNtL3hzbS5oCkBAIC0xMjMsMTMgKzEyMyw2IEBA
IHN0cnVjdCB4c21fb3BzIHsKIAogI2lmIGRlZmluZWQoQ09ORklHX0hBU19Q
QVNTVEhST1VHSCkgJiYgZGVmaW5lZChDT05GSUdfSEFTX1BDSSkKICAgICBp
bnQgKCpnZXRfZGV2aWNlX2dyb3VwKSh1aW50MzJfdCBtYWNoaW5lX2JkZik7
Ci0gICAgaW50ICgqYXNzaWduX2RldmljZSkoc3RydWN0IGRvbWFpbiAqZCwg
dWludDMyX3QgbWFjaGluZV9iZGYpOwotICAgIGludCAoKmRlYXNzaWduX2Rl
dmljZSkoc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3QgbWFjaGluZV9iZGYp
OwotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKENPTkZJR19IQVNfUEFTU1RIUk9V
R0gpICYmIGRlZmluZWQoQ09ORklHX0hBU19ERVZJQ0VfVFJFRSkKLSAgICBp
bnQgKCphc3NpZ25fZHRkZXZpY2UpKHN0cnVjdCBkb21haW4gKmQsIGNvbnN0
IGNoYXIgKmR0cGF0aCk7Ci0gICAgaW50ICgqZGVhc3NpZ25fZHRkZXZpY2Up
KHN0cnVjdCBkb21haW4gKmQsIGNvbnN0IGNoYXIgKmR0cGF0aCk7CiAjZW5k
aWYKIAogICAgIGludCAoKnJlc291cmNlX3BsdWdfY29yZSkodm9pZCk7CkBA
IC01MTQsMzUgKzUwNyw4IEBAIHN0YXRpYyBpbmxpbmUgaW50IHhzbV9nZXRf
ZGV2aWNlX2dyb3VwKHgKIHsKICAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2Fs
bCh4c21fb3BzLmdldF9kZXZpY2VfZ3JvdXAsIG1hY2hpbmVfYmRmKTsKIH0K
LQotc3RhdGljIGlubGluZSBpbnQgeHNtX2Fzc2lnbl9kZXZpY2UoCi0gICAg
eHNtX2RlZmF1bHRfdCBkZWYsIHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90
IG1hY2hpbmVfYmRmKQotewotICAgIHJldHVybiBhbHRlcm5hdGl2ZV9jYWxs
KHhzbV9vcHMuYXNzaWduX2RldmljZSwgZCwgbWFjaGluZV9iZGYpOwotfQot
Ci1zdGF0aWMgaW5saW5lIGludCB4c21fZGVhc3NpZ25fZGV2aWNlKAotICAg
IHhzbV9kZWZhdWx0X3QgZGVmLCBzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJf
dCBtYWNoaW5lX2JkZikKLXsKLSAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2Fs
bCh4c21fb3BzLmRlYXNzaWduX2RldmljZSwgZCwgbWFjaGluZV9iZGYpOwot
fQogI2VuZGlmIC8qIEhBU19QQVNTVEhST1VHSCAmJiBIQVNfUENJKSAqLwog
Ci0jaWYgZGVmaW5lZChDT05GSUdfSEFTX1BBU1NUSFJPVUdIKSAmJiBkZWZp
bmVkKENPTkZJR19IQVNfREVWSUNFX1RSRUUpCi1zdGF0aWMgaW5saW5lIGlu
dCB4c21fYXNzaWduX2R0ZGV2aWNlKAotICAgIHhzbV9kZWZhdWx0X3QgZGVm
LCBzdHJ1Y3QgZG9tYWluICpkLCBjb25zdCBjaGFyICpkdHBhdGgpCi17Ci0g
ICAgcmV0dXJuIGFsdGVybmF0aXZlX2NhbGwoeHNtX29wcy5hc3NpZ25fZHRk
ZXZpY2UsIGQsIGR0cGF0aCk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IHhz
bV9kZWFzc2lnbl9kdGRldmljZSgKLSAgICB4c21fZGVmYXVsdF90IGRlZiwg
c3RydWN0IGRvbWFpbiAqZCwgY29uc3QgY2hhciAqZHRwYXRoKQotewotICAg
IHJldHVybiBhbHRlcm5hdGl2ZV9jYWxsKHhzbV9vcHMuZGVhc3NpZ25fZHRk
ZXZpY2UsIGQsIGR0cGF0aCk7Ci19Ci0KLSNlbmRpZiAvKiBIQVNfUEFTU1RI
Uk9VR0ggJiYgSEFTX0RFVklDRV9UUkVFICovCi0KIHN0YXRpYyBpbmxpbmUg
aW50IHhzbV9yZXNvdXJjZV9wbHVnX3BjaSh4c21fZGVmYXVsdF90IGRlZiwg
dWludDMyX3QgbWFjaGluZV9iZGYpCiB7CiAgICAgcmV0dXJuIGFsdGVybmF0
aXZlX2NhbGwoeHNtX29wcy5yZXNvdXJjZV9wbHVnX3BjaSwgbWFjaGluZV9i
ZGYpOwotLS0gYS94ZW4veHNtL2R1bW15LmMKKysrIGIveGVuL3hzbS9kdW1t
eS5jCkBAIC03NywxMyArNzcsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHhz
bV9vcHMgX19pbml0Y29uc3RfCiAKICNpZiBkZWZpbmVkKENPTkZJR19IQVNf
UEFTU1RIUk9VR0gpICYmIGRlZmluZWQoQ09ORklHX0hBU19QQ0kpCiAgICAg
LmdldF9kZXZpY2VfZ3JvdXAgICAgICAgICAgICAgID0geHNtX2dldF9kZXZp
Y2VfZ3JvdXAsCi0gICAgLmFzc2lnbl9kZXZpY2UgICAgICAgICAgICAgICAg
ID0geHNtX2Fzc2lnbl9kZXZpY2UsCi0gICAgLmRlYXNzaWduX2RldmljZSAg
ICAgICAgICAgICAgID0geHNtX2RlYXNzaWduX2RldmljZSwKLSNlbmRpZgot
Ci0jaWYgZGVmaW5lZChDT05GSUdfSEFTX1BBU1NUSFJPVUdIKSAmJiBkZWZp
bmVkKENPTkZJR19IQVNfREVWSUNFX1RSRUUpCi0gICAgLmFzc2lnbl9kdGRl
dmljZSAgICAgICAgICAgICAgID0geHNtX2Fzc2lnbl9kdGRldmljZSwKLSAg
ICAuZGVhc3NpZ25fZHRkZXZpY2UgICAgICAgICAgICAgPSB4c21fZGVhc3Np
Z25fZHRkZXZpY2UsCiAjZW5kaWYKIAogICAgIC5yZXNvdXJjZV9wbHVnX2Nv
cmUgICAgICAgICAgICA9IHhzbV9yZXNvdXJjZV9wbHVnX2NvcmUsCi0tLSBh
L3hlbi94c20vZmxhc2svaG9va3MuYworKysgYi94ZW4veHNtL2ZsYXNrL2hv
b2tzLmMKQEAgLTQ1LDYgKzQ1LDE3IEBAIHN0YXRpYyBpbnQgZmxhc2tfc2hh
ZG93X2NvbnRyb2woc3RydWN0IGQKICNkZWZpbmUgcHZfc2hpbSBmYWxzZQog
I2VuZGlmCiAKKyNpZmRlZiBDT05GSUdfSEFTX1BBU1NUSFJPVUdICisjaWZk
ZWYgQ09ORklHX0hBU19QQ0kKK3N0YXRpYyBpbnQgZmxhc2tfYXNzaWduX2Rl
dmljZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgbWFjaGluZV9i
ZGYpOworc3RhdGljIGludCBmbGFza19kZWFzc2lnbl9kZXZpY2Uoc3RydWN0
IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IG1hY2hpbmVfYmRmKTsKKyNlbmRp
ZgorI2lmZGVmIENPTkZJR19IQVNfREVWSUNFX1RSRUUKK3N0YXRpYyBpbnQg
Zmxhc2tfYXNzaWduX2R0ZGV2aWNlKHN0cnVjdCBkb21haW4gKmQsIGNvbnN0
IGNoYXIgKmR0cGF0aCk7CitzdGF0aWMgaW50IGZsYXNrX2RlYXNzaWduX2R0
ZGV2aWNlKHN0cnVjdCBkb21haW4gKmQsIGNvbnN0IGNoYXIgKmR0cGF0aCk7
CisjZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfSEFTX1BBU1NUSFJPVUdIICov
CisKIHN0YXRpYyB1aW50MzJfdCBkb21haW5fc2lkKGNvbnN0IHN0cnVjdCBk
b21haW4gKmRvbSkKIHsKICAgICBzdHJ1Y3QgZG9tYWluX3NlY3VyaXR5X3N0
cnVjdCAqZHNlYyA9IGRvbS0+c3NpZDsKQEAgLTY5NCwxNiArNzA1LDYgQEAg
c3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0CiAKICAg
ICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzIChjb21tb24v
ZG9tY3RsLmMpICovCiAgICAgY2FzZSBYRU5fRE9NQ1RMX3NldF90YXJnZXQ6
Ci0KLSNpZmRlZiBDT05GSUdfSEFTX1BBU1NUSFJPVUdICi0gICAgLyoKLSAg
ICAgKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzCi0gICAgICog
KGRyaXZlcnMvcGFzc3Rocm91Z2gve3BjaSxkZXZpY2VfdHJlZS5jKQotICAg
ICAqLwotICAgIGNhc2UgWEVOX0RPTUNUTF90ZXN0X2Fzc2lnbl9kZXZpY2U6
Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2Fzc2lnbl9kZXZpY2U6Ci0gICAgY2Fz
ZSBYRU5fRE9NQ1RMX2RlYXNzaWduX2RldmljZToKLSNlbmRpZgogICAgICAg
ICByZXR1cm4gMDsKIAogICAgIGNhc2UgWEVOX0RPTUNUTF9kZXN0cm95ZG9t
YWluOgpAQCAtNzgzLDYgKzc4NCw0OSBAQCBzdGF0aWMgaW50IGNmX2NoZWNr
IGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICAgICAgcmV0dXJuIGZsYXNrX3No
YWRvd19jb250cm9sKGQsIG9wLT51LnNoYWRvd19vcC5vcCk7CiAjZW5kaWYK
IAorI2lmZGVmIENPTkZJR19IQVNfUEFTU1RIUk9VR0gKKworICAgIGNhc2Ug
WEVOX0RPTUNUTF90ZXN0X2Fzc2lnbl9kZXZpY2U6CisgICAgY2FzZSBYRU5f
RE9NQ1RMX2Fzc2lnbl9kZXZpY2U6CisgICAgY2FzZSBYRU5fRE9NQ1RMX2Rl
YXNzaWduX2RldmljZToKKyAgICAgICAgc3dpdGNoICggb3AtPnUuYXNzaWdu
X2RldmljZS5kZXYgKQorICAgICAgICB7CisjaWZkZWYgQ09ORklHX0hBU19Q
Q0kKKyAgICAgICAgY2FzZSBYRU5fRE9NQ1RMX0RFVl9QQ0k6CisgICAgICAg
ICAgICByZXR1cm4gb3AtPmNtZCAhPSBYRU5fRE9NQ1RMX2RlYXNzaWduX2Rl
dmljZQorICAgICAgICAgICAgICAgICAgID8gZmxhc2tfYXNzaWduX2Rldmlj
ZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICBkLCBvcC0+dS5hc3NpZ25f
ZGV2aWNlLnUucGNpLm1hY2hpbmVfc2JkZikKKyAgICAgICAgICAgICAgICAg
ICA6IGZsYXNrX2RlYXNzaWduX2RldmljZSgKKyAgICAgICAgICAgICAgICAg
ICAgICAgICBkLCBvcC0+dS5hc3NpZ25fZGV2aWNlLnUucGNpLm1hY2hpbmVf
c2JkZik7CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19IQVNfREVWSUNFX1RS
RUUKKyAgICAgICAgY2FzZSBYRU5fRE9NQ1RMX0RFVl9EVDoKKyAgICAgICAg
eworICAgICAgICAgICAgc3RydWN0IGR0X2RldmljZV9ub2RlICpkZXY7Cisg
ICAgICAgICAgICBpbnQgcmV0ID0gZHRfZmluZF9ub2RlX2J5X2dwYXRoKG9w
LT51LmFzc2lnbl9kZXZpY2UudS5kdC5wYXRoLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcC0+dS5hc3NpZ25fZGV2
aWNlLnUuZHQuc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJmRldik7CisKKyAgICAgICAgICAgIGlmICggcmV0
ICkKKyAgICAgICAgICAgICAgICByZXR1cm4gcmV0OworCisgICAgICAgICAg
ICBvcC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQuZGV2ID0gZGV2OworCisgICAg
ICAgICAgICByZXR1cm4gb3AtPmNtZCAhPSBYRU5fRE9NQ1RMX2RlYXNzaWdu
X2RldmljZQorICAgICAgICAgICAgICAgICAgID8gZmxhc2tfYXNzaWduX2R0
ZGV2aWNlKGQsIGR0X25vZGVfZnVsbF9uYW1lKGRldikpCisgICAgICAgICAg
ICAgICAgICAgOiBmbGFza19kZWFzc2lnbl9kdGRldmljZShkLCBkdF9ub2Rl
X2Z1bGxfbmFtZShkZXYpKTsKKyAgICAgICAgfQorI2VuZGlmCisKKyAgICAg
ICAgZGVmYXVsdDoKKyAgICAgICAgICAgIC8qIFVua25vd24gdHlwZS4gKi8K
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIHJldHVy
biBhdmNfdW5rbm93bl9wZXJtaXNzaW9uKCJhc3NpZ25fZGV2aWNlIiwgb3At
PmNtZCk7CisKKyNlbmRpZiAvKiBDT05GSUdfSEFTX1BBU1NUSFJPVUdIICov
CisKICAgICBjYXNlIFhFTl9ET01DVExfbWVtX3NoYXJpbmdfb3A6CiAgICAg
ICAgIHJldHVybiBjdXJyZW50X2hhc19wZXJtKGQsIFNFQ0NMQVNTX0hWTSwg
SFZNX19NRU1fU0hBUklORyk7CiAKQEAgLTE0MDAsNyArMTQ0NCw3IEBAIHN0
YXRpYyBpbnQgZmxhc2tfdGVzdF9hc3NpZ25fZGV2aWNlKHVpbnQKICAgICBy
ZXR1cm4gYXZjX2N1cnJlbnRfaGFzX3Blcm0ocnNpZCwgU0VDQ0xBU1NfUkVT
T1VSQ0UsIFJFU09VUkNFX19TVEFUX0RFVklDRSwgTlVMTCk7CiB9CiAKLXN0
YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfYXNzaWduX2RldmljZShzdHJ1Y3Qg
ZG9tYWluICpkLCB1aW50MzJfdCBtYWNoaW5lX2JkZikKK3N0YXRpYyBpbnQg
Zmxhc2tfYXNzaWduX2RldmljZShzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJf
dCBtYWNoaW5lX2JkZikKIHsKICAgICB1aW50MzJfdCBkc2lkLCByc2lkOwog
ICAgIGludCByYyA9IC1FUEVSTTsKQEAgLTE0MzAsNyArMTQ3NCw3IEBAIHN0
YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfYXNzaWduX2RldmljZSgKICAgICBy
ZXR1cm4gYXZjX2hhc19wZXJtKGRzaWQsIHJzaWQsIFNFQ0NMQVNTX1JFU09V
UkNFLCBkcGVybSwgJmFkKTsKIH0KIAotc3RhdGljIGludCBjZl9jaGVjayBm
bGFza19kZWFzc2lnbl9kZXZpY2UoCitzdGF0aWMgaW50IGZsYXNrX2RlYXNz
aWduX2RldmljZSgKICAgICBzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBt
YWNoaW5lX2JkZikKIHsKICAgICB1aW50MzJfdCByc2lkOwpAQCAtMTQ2Miw3
ICsxNTA2LDcgQEAgc3RhdGljIGludCBmbGFza190ZXN0X2Fzc2lnbl9kdGRl
dmljZShjbwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxM
KTsKIH0KIAotc3RhdGljIGludCBjZl9jaGVjayBmbGFza19hc3NpZ25fZHRk
ZXZpY2Uoc3RydWN0IGRvbWFpbiAqZCwgY29uc3QgY2hhciAqZHRwYXRoKQor
c3RhdGljIGludCBmbGFza19hc3NpZ25fZHRkZXZpY2Uoc3RydWN0IGRvbWFp
biAqZCwgY29uc3QgY2hhciAqZHRwYXRoKQogewogICAgIHVpbnQzMl90IGRz
aWQsIHJzaWQ7CiAgICAgaW50IHJjID0gLUVQRVJNOwpAQCAtMTQ5Miw3ICsx
NTM2LDcgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19hc3NpZ25fZHRk
ZXZpYwogICAgIHJldHVybiBhdmNfaGFzX3Blcm0oZHNpZCwgcnNpZCwgU0VD
Q0xBU1NfUkVTT1VSQ0UsIGRwZXJtLCAmYWQpOwogfQogCi1zdGF0aWMgaW50
IGNmX2NoZWNrIGZsYXNrX2RlYXNzaWduX2R0ZGV2aWNlKAorc3RhdGljIGlu
dCBmbGFza19kZWFzc2lnbl9kdGRldmljZSgKICAgICBzdHJ1Y3QgZG9tYWlu
ICpkLCBjb25zdCBjaGFyICpkdHBhdGgpCiB7CiAgICAgdWludDMyX3QgcnNp
ZDsKQEAgLTE5NTgsMTMgKzIwMDIsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0
IHhzbV9vcHMgX19pbml0Y29uc3RfCiAKICNpZiBkZWZpbmVkKENPTkZJR19I
QVNfUEFTU1RIUk9VR0gpICYmIGRlZmluZWQoQ09ORklHX0hBU19QQ0kpCiAg
ICAgLmdldF9kZXZpY2VfZ3JvdXAgPSBmbGFza19nZXRfZGV2aWNlX2dyb3Vw
LAotICAgIC5hc3NpZ25fZGV2aWNlID0gZmxhc2tfYXNzaWduX2RldmljZSwK
LSAgICAuZGVhc3NpZ25fZGV2aWNlID0gZmxhc2tfZGVhc3NpZ25fZGV2aWNl
LAotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKENPTkZJR19IQVNfUEFTU1RIUk9V
R0gpICYmIGRlZmluZWQoQ09ORklHX0hBU19ERVZJQ0VfVFJFRSkKLSAgICAu
YXNzaWduX2R0ZGV2aWNlID0gZmxhc2tfYXNzaWduX2R0ZGV2aWNlLAotICAg
IC5kZWFzc2lnbl9kdGRldmljZSA9IGZsYXNrX2RlYXNzaWduX2R0ZGV2aWNl
LAogI2VuZGlmCiAKICAgICAucGxhdGZvcm1fb3AgPSBmbGFza19wbGF0Zm9y
bV9vcCwK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.19-18.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.19-18.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX3NldF90YXJnZXQgd2l0aG91
dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKClRoZSBvbmx5IGxvY2tpbmcgcmVx
dWlyZWQgaGVyZSBpcyB0aGF0IGJldHdlZW4gY2hlY2tpbmcgZC0+dGFyZ2V0
IGFuZApzZXR0aW5nIGl0LiBUbyBhdm9pZCB0aGUgbmVlZCBmb3IgYW4gZXhw
bGljaXQgbG9jaywgdXNlIGNtcHhjaGdwdHIoKSB0bwp1cGRhdGUgZC0+dGFy
Z2V0LgoKTW92ZSB0aGUgaGFuZGxpbmcgbm90IG9ubHkgYWhlYWQgb2YgYWNx
dWlyaW5nIHRoZSBsb2NrLCBidXQgYWxzbyBhaGVhZApvZiB0aGUgWFNNIGNo
ZWNrLCBsZXZlcmFnaW5nIHRoYXQgdGhlIHN1Yi1vcCBoYXMgaXRzIG93biBo
b29rLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIuCgpTaWduZWQtb2ZmLWJ5
OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkFja2VkLWJ5OiBE
YW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+
ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0
cml4LmNvbT4KCi0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMKKysrIGIveGVu
L2NvbW1vbi9kb21jdGwuYwpAQCAtNDk1LDYgKzQ5NSwzMCBAQCBsb25nIGRv
X2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlCiAgICAgfQogI2Vu
ZGlmCiAKKyAgICBjYXNlIFhFTl9ET01DVExfc2V0X3RhcmdldDoKKyAgICB7
CisgICAgICAgIHN0cnVjdCBkb21haW4gKmUgPSBnZXRfZG9tYWluX2J5X2lk
KG9wLT51LnNldF90YXJnZXQudGFyZ2V0KTsKKworICAgICAgICByZXQgPSAt
RVNSQ0g7CisgICAgICAgIGlmICggIWUgKQorICAgICAgICAgICAgZ290byBk
b21jdGxfb3V0X3VubG9ja19kb21vbmx5OworCisgICAgICAgIGlmICggZCA9
PSBlICkKKyAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7CisgICAgICAgIGVs
c2UgaWYgKCAhaXNfaHZtX2RvbWFpbihlKSApCisgICAgICAgICAgICByZXQg
PSAtRU9QTk9UU1VQUDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0
ID0geHNtX3NldF90YXJnZXQoWFNNX1BSSVYsIGQsIGUpOworCisgICAgICAg
IC8qIEhvbGQgcmVmZXJlbmNlIG9uIEBlIHVudGlsIHdlIGRlc3Ryb3kgQGQu
ICovCisgICAgICAgIGlmICggIXJldCAmJiBjbXB4Y2hncHRyKCZkLT50YXJn
ZXQsIE5VTEwsIGUpICkKKyAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7CisK
KyAgICAgICAgaWYgKCByZXQgKQorICAgICAgICAgICAgcHV0X2RvbWFpbihl
KTsKKyAgICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5Owor
ICAgIH0KKwogICAgIGNhc2UgWEVOX0RPTUNUTF92bV9ldmVudF9vcDoKICAg
ICAgICAgaWYgKCBvcC0+dS52bV9ldmVudF9vcC5vcCA9PSBYRU5fVk1fRVZF
TlRfR0VUX1ZFUlNJT04gKQogICAgICAgICB7CkBAIC04NTEsMzYgKzg3NSw2
IEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUK
ICAgICAgICAgZG9tYWluX3NldF90aW1lX29mZnNldChkLCBvcC0+dS5zZXR0
aW1lb2Zmc2V0LnRpbWVfb2Zmc2V0X3NlY29uZHMpOwogICAgICAgICBicmVh
azsKIAotICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRfdGFyZ2V0OgotICAgIHsK
LSAgICAgICAgc3RydWN0IGRvbWFpbiAqZTsKLQotICAgICAgICByZXQgPSAt
RVNSQ0g7Ci0gICAgICAgIGUgPSBnZXRfZG9tYWluX2J5X2lkKG9wLT51LnNl
dF90YXJnZXQudGFyZ2V0KTsKLSAgICAgICAgaWYgKCBlID09IE5VTEwgKQot
ICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgcmV0ID0gLUVJTlZBTDsK
LSAgICAgICAgaWYgKCAoZCA9PSBlKSB8fCAoZC0+dGFyZ2V0ICE9IE5VTEwp
ICkKLSAgICAgICAgewotICAgICAgICAgICAgcHV0X2RvbWFpbihlKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0ID0g
LUVPUE5PVFNVUFA7Ci0gICAgICAgIGlmICggaXNfaHZtX2RvbWFpbihlKSAp
Ci0gICAgICAgICAgICByZXQgPSB4c21fc2V0X3RhcmdldChYU01fSE9PSywg
ZCwgZSk7Ci0gICAgICAgIGlmICggcmV0ICkKLSAgICAgICAgewotICAgICAg
ICAgICAgcHV0X2RvbWFpbihlKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICB9Ci0KLSAgICAgICAgLyogSG9sZCByZWZlcmVuY2Ugb24gQGUgdW50
aWwgd2UgZGVzdHJveSBAZC4gKi8KLSAgICAgICAgZC0+dGFyZ2V0ID0gZTsK
LSAgICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2FzZSBYRU5fRE9NQ1RM
X3N1YnNjcmliZToKICAgICAgICAgZC0+c3VzcGVuZF9ldnRjaG4gPSBvcC0+
dS5zdWJzY3JpYmUucG9ydDsKICAgICAgICAgYnJlYWs7Ci0tLSBhL3hlbi9p
bmNsdWRlL3hzbS9kdW1teS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS9kdW1t
eS5oCkBAIC0xNTAsNyArMTUwLDcgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50
IGNmX2NoZWNrIHhzbV9zeXNjdAogc3RhdGljIFhTTV9JTkxJTkUgaW50IGNm
X2NoZWNrIHhzbV9zZXRfdGFyZ2V0KAogICAgIFhTTV9ERUZBVUxUX0FSRyBz
dHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZG9tYWluICplKQogewotICAgIFhT
TV9BU1NFUlRfQUNUSU9OKFhTTV9IT09LKTsKKyAgICBYU01fQVNTRVJUX0FD
VElPTihYU01fUFJJVik7CiAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlv
bihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgTlVMTCk7CiB9CiAKQEAgLTE2
OCw2ICsxNjgsNyBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sg
eHNtX2RvbWN0CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNz
aW9uOgogICAgIGNhc2UgWEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbjoKICAg
ICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CisgICAgY2FzZSBY
RU5fRE9NQ1RMX3NldF90YXJnZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Vu
YmluZF9wdF9pcnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwog
ICAgICAgICByZXR1cm4gLUVJTFNFUTsKLS0tIGEveGVuL3hzbS9mbGFzay9o
b29rcy5jCisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjk5LDE0
ICs2OTksMTEgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwo
c3RydWN0CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNzaW9u
OgogICAgIGNhc2UgWEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbjoKICAgICBj
YXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CisgICAgY2FzZSBYRU5f
RE9NQ1RMX3NldF90YXJnZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmlu
ZF9wdF9pcnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAg
ICAgICByZXR1cm4gLUVJTFNFUTsKIAotICAgIC8qIFRoZXNlIGhhdmUgaW5k
aXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9kb21jdGwuYykgKi8KLSAgICBj
YXNlIFhFTl9ET01DVExfc2V0X3RhcmdldDoKLSAgICAgICAgcmV0dXJuIDA7
Ci0KICAgICBjYXNlIFhFTl9ET01DVExfZGVzdHJveWRvbWFpbjoKICAgICAg
ICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9NQUlO
LCBET01BSU5fX0RFU1RST1kpOwogCg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.20-01.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.20-01.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBzY2hlZDogdXNlIHNlcXVlbmNlIGNvdW50ZXIgdG8gZW5saWdodGVuIHZj
cHVfcnVuc3RhdGVfZ2V0KCkKClN1YnNlcXVlbnRseSBYRU5fRE9NQ1RMX2dl
dGRvbWFpbmluZm8gd2lsbCB3YW50IHRvIGludm9rZSB0aGUgZnVuY3Rpb24K
d2l0aG91dCBob2xkaW5nIGEgbG9jaywgdGh1cyBhbGxvd2luZyBwYXJhbGxl
bCBleGVjdXRpb24gb2YgcG90ZW50aWFsbHkKbWFueSBpbnN0YW5jZXMuIEFz
IHdhcyBsZWFybmVkIGZyb20gMjI4YWI5OTkyZmZiICgiZG9tY3RsOiBpbXBy
b3ZlCmxvY2tpbmcgZHVyaW5nIGRvbWFpbiBkZXN0cnVjdGlvbiIpLCByZXZl
cnRlZCBieSBkMDg4N2NjNmIxNmUsIHN1Y2gKcGFyYWxsZWxpc20gY2FuIHJl
c3VsdCBpbiBzZXZlcmUgbG9jayBjb250ZW50aW9uIG9uIGFueSAocHJldmlv
dXNseSkKaW5uZXIgbG9jay4gVG8gYXZvaWQgdGFraW5nIHRoYXQgcmlzayBy
ZXBsYWNlIHRoZSB1c2Ugb2YgdGhlIHNjaGVkdWxlcgpsb2NrIGluIHZjcHVf
cnVuc3RhdGVfZ2V0KCkgYnkgYSBuZXdseSBpbnRyb2R1Y2VkIHNlcXVlbmNl
IGNvdW50ZXIuCkNvbnZlcnQgdGhlICJubyBsb2NrIGlmIGN1cnJlbnQiIHBy
b3BlcnR5IHRvICJ1c2UgYSBsb2NhbCBjb3VudGVyCmluc3RhbmNlIiwgdGh1
cyBndWFyYW50ZWVpbmcgdGhlIGxvb3AgdG8gZXhpdCBhZnRlciB0aGUgZmly
c3QgaXRlcmF0aW9uLgoKU2tlbGV0b24gYW5kIGNvbW1lbnRhcnkgb2YgdGhl
IHNlcWNvdW50IGltcGxlbWVudGF0aW9uIGJhc2VkIG9uIC8KZGVyaXZlZCBm
cm9tIExpbnV4IDYuMTEtcmMuCgpUbyBoYXZlIHJ1bnN0YXRlX3NlcSBwbGFj
ZWQgbmV4dCB0byBydW5zdGF0ZSBpbiBzdHJ1Y3QgdmNwdSwgd2l0aG91dApp
bnRyb2R1Y2luZyBhIG5ldyBvYnZpb3VzIHBhZGRpbmcgaG9sZSwgeWV0IHdo
aWxlIGtlZXBpbmcgdGhlIGxhdHRlcgphZGphY2VudCB0byBydW5zdGF0ZV9n
dWVzdHssX2FyZWF9IGFzIHdlbGwsIG1vdmUgcnVuc3RhdGUgZG93biBhIGxp
dHRsZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKUmVxdWVzdGVkLWJ5
OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpT
aWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+
ClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIz
QGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxy
b2dlci5wYXVAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jv
c3MgPGpncm9zc0BzdXNlLmNvbT4KCi0tLSBhL3hlbi9jb21tb24vc2NoZWQv
Y29yZS5jCisrKyBiL3hlbi9jb21tb24vc2NoZWQvY29yZS5jCkBAIC0yODEs
MTMgKzI4MSwxOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgdmNwdV9ydW5zdGF0
ZV9jaGFuZ2UoCiAgICAgfQogCiAgICAgZGVsdGEgPSBuZXdfZW50cnlfdGlt
ZSAtIHYtPnJ1bnN0YXRlLnN0YXRlX2VudHJ5X3RpbWU7Ci0gICAgaWYgKCBk
ZWx0YSA+IDAgKQorCisgICAgLyogU2VyaWFsaXphdGlvbjogLT5zY2hlZHVs
ZV9sb2NrIChzZWUgQVNTRVJUKCkgYWJvdmUpLiAqLworICAgIHdpdGhfc2Vx
X3dyaXRlKCZ2LT5ydW5zdGF0ZV9zZXEpCiAgICAgewotICAgICAgICB2LT5y
dW5zdGF0ZS50aW1lW3YtPnJ1bnN0YXRlLnN0YXRlXSArPSBkZWx0YTsKLSAg
ICAgICAgdi0+cnVuc3RhdGUuc3RhdGVfZW50cnlfdGltZSA9IG5ld19lbnRy
eV90aW1lOwotICAgIH0KKyAgICAgICAgaWYgKCBkZWx0YSA+IDAgKQorICAg
ICAgICB7CisgICAgICAgICAgICB2LT5ydW5zdGF0ZS50aW1lW3YtPnJ1bnN0
YXRlLnN0YXRlXSArPSBkZWx0YTsKKyAgICAgICAgICAgIHYtPnJ1bnN0YXRl
LnN0YXRlX2VudHJ5X3RpbWUgPSBuZXdfZW50cnlfdGltZTsKKyAgICAgICAg
fQogCi0gICAgdi0+cnVuc3RhdGUuc3RhdGUgPSBuZXdfc3RhdGU7CisgICAg
ICAgIHYtPnJ1bnN0YXRlLnN0YXRlID0gbmV3X3N0YXRlOworICAgIH0KIH0K
IAogdm9pZCBzY2hlZF9ndWVzdF9pZGxlKHZvaWQgKCppZGxlKSAodm9pZCks
IHVuc2lnbmVkIGludCBjcHUpCkBAIC0zMDcsMzAgKzMxMiwxOCBAQCB2b2lk
IHNjaGVkX2d1ZXN0X2lkbGUodm9pZCAoKmlkbGUpICh2b2lkCiB2b2lkIHZj
cHVfcnVuc3RhdGVfZ2V0KGNvbnN0IHN0cnVjdCB2Y3B1ICp2LAogICAgICAg
ICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmNwdV9ydW5zdGF0ZV9pbmZvICpy
dW5zdGF0ZSkKIHsKLSAgICBzcGlubG9ja190ICpsb2NrOwotICAgIHNfdGlt
ZV90IGRlbHRhOwotICAgIHN0cnVjdCBzY2hlZF91bml0ICp1bml0OworICAg
IHN0cnVjdCBzZXFjb3VudCBzZXEgPSBTRVFDTlRfWkVSTygpOworICAgIGNv
bnN0IHN0cnVjdCBzZXFjb3VudCAqcyA9IGxpa2VseSh2ID09IGN1cnJlbnQp
ID8gJnNlcSA6ICZ2LT5ydW5zdGF0ZV9zZXE7CiAKLSAgICByY3VfcmVhZF9s
b2NrKCZzY2hlZF9yZXNfcmN1bG9jayk7Ci0KLSAgICAvKgotICAgICAqIEJl
IGNhcmVmdWwgaW4gY2FzZSBvZiBhbiBpZGxlIHZjcHU6IHRoZSBhc3NpZ25t
ZW50IHRvIGEgdW5pdCBtaWdodAotICAgICAqIGNoYW5nZSBldmVuIHdpdGgg
dGhlIHNjaGVkdWxpbmcgbG9jayBoZWxkLCBzbyBiZSBzdXJlIHRvIHVzZSB0
aGUKLSAgICAgKiBjb3JyZWN0IHVuaXQgZm9yIGxvY2tpbmcgaW4gb3JkZXIg
dG8gYXZvaWQgdHJpZ2dlcmluZyBhbiBBU1NFUlQoKSBpbgotICAgICAqIHRo
ZSB1bmxvY2sgZnVuY3Rpb24uCi0gICAgICovCi0gICAgdW5pdCA9IGlzX2lk
bGVfdmNwdSh2KSA/IGdldF9zY2hlZF9yZXModi0+cHJvY2Vzc29yKS0+c2No
ZWRfdW5pdF9pZGxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICA6IHYt
PnNjaGVkX3VuaXQ7Ci0gICAgbG9jayA9IGxpa2VseSh2ID09IGN1cnJlbnQp
ID8gTlVMTCA6IHVuaXRfc2NoZWR1bGVfbG9ja19pcnEodW5pdCk7Ci0gICAg
bWVtY3B5KHJ1bnN0YXRlLCAmdi0+cnVuc3RhdGUsIHNpemVvZigqcnVuc3Rh
dGUpKTsKLSAgICBkZWx0YSA9IE5PVygpIC0gcnVuc3RhdGUtPnN0YXRlX2Vu
dHJ5X3RpbWU7Ci0gICAgaWYgKCBkZWx0YSA+IDAgKQotICAgICAgICBydW5z
dGF0ZS0+dGltZVtydW5zdGF0ZS0+c3RhdGVdICs9IGRlbHRhOwotCi0gICAg
aWYgKCB1bmxpa2VseShsb2NrICE9IE5VTEwpICkKLSAgICAgICAgdW5pdF9z
Y2hlZHVsZV91bmxvY2tfaXJxKGxvY2ssIHVuaXQpOworICAgIHVudGlsX3Nl
cV9yZWFkKHMpCisgICAgeworICAgICAgICBzX3RpbWVfdCBkZWx0YTsKIAot
ICAgIHJjdV9yZWFkX3VubG9jaygmc2NoZWRfcmVzX3JjdWxvY2spOworICAg
ICAgICAqcnVuc3RhdGUgPSB2LT5ydW5zdGF0ZTsKKyAgICAgICAgZGVsdGEg
PSBOT1coKSAtIHJ1bnN0YXRlLT5zdGF0ZV9lbnRyeV90aW1lOworICAgICAg
ICBpZiAoIGRlbHRhID4gMCApCisgICAgICAgICAgICBydW5zdGF0ZS0+dGlt
ZVtydW5zdGF0ZS0+c3RhdGVdICs9IGRlbHRhOworICAgIH0KIH0KIAogdWlu
dDY0X3QgZ2V0X2NwdV9pZGxlX3RpbWUodW5zaWduZWQgaW50IGNwdSkKLS0t
IGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKKysrIGIveGVuL2luY2x1ZGUv
eGVuL3NjaGVkLmgKQEAgLTE2LDYgKzE2LDcgQEAKICNpbmNsdWRlIDx4ZW4v
cmFkaXgtdHJlZS5oPgogI2luY2x1ZGUgPHhlbi9tdWx0aWNhbGwuaD4KICNp
bmNsdWRlIDx4ZW4vbm9zcGVjLmg+CisjaW5jbHVkZSA8eGVuL3NlcWNvdW50
Lmg+CiAjaW5jbHVkZSA8eGVuL3Rhc2tsZXQuaD4KICNpbmNsdWRlIDx4ZW4v
bW0uaD4KICNpbmNsdWRlIDx4ZW4vc21wLmg+CkBAIC0xOTIsNyArMTkzLDYg
QEAgc3RydWN0IHZjcHUKIAogICAgIHN0cnVjdCBzY2hlZF91bml0ICpzY2hl
ZF91bml0OwogCi0gICAgc3RydWN0IHZjcHVfcnVuc3RhdGVfaW5mbyBydW5z
dGF0ZTsKICNpZm5kZWYgQ09ORklHX0NPTVBBVAogIyBkZWZpbmUgcnVuc3Rh
dGVfZ3Vlc3QodikgKCh2KS0+cnVuc3RhdGVfZ3Vlc3QpCiAgICAgWEVOX0dV
RVNUX0hBTkRMRSh2Y3B1X3J1bnN0YXRlX2luZm9fdCkgcnVuc3RhdGVfZ3Vl
c3Q7IC8qIGd1ZXN0IGFkZHJlc3MgKi8KQEAgLTIwNCw2ICsyMDQsOCBAQCBz
dHJ1Y3QgdmNwdQogICAgIH0gcnVuc3RhdGVfZ3Vlc3Q7IC8qIGd1ZXN0IGFk
ZHJlc3MgKi8KICNlbmRpZgogICAgIHN0cnVjdCBndWVzdF9hcmVhIHJ1bnN0
YXRlX2d1ZXN0X2FyZWE7CisgICAgc3RydWN0IHZjcHVfcnVuc3RhdGVfaW5m
byBydW5zdGF0ZTsKKyAgICBzdHJ1Y3Qgc2VxY291bnQgIHJ1bnN0YXRlX3Nl
cTsKICAgICB1bnNpZ25lZCBpbnQgICAgIG5ld19zdGF0ZTsKIAogICAgIC8q
IEhhcyB0aGUgRlBVIGJlZW4gaW5pdGlhbGlzZWQ/ICovCi0tLSAvZGV2L251
bGwKKysrIGIveGVuL2luY2x1ZGUveGVuL3NlcWNvdW50LmgKQEAgLTAsMCAr
MSwxMzkgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w
LW9ubHkgKi8KKyNpZm5kZWYgWEVOX1NFUUNPVU5UX0gKKyNkZWZpbmUgWEVO
X1NFUUNPVU5UX0gKKworI2luY2x1ZGUgPHhlbi9saWIuaD4KKyNpbmNsdWRl
IDx4ZW4vbm9zcGVjLmg+CisKKyNpbmNsdWRlIDxhc20vYXRvbWljLmg+Cisj
aW5jbHVkZSA8YXNtL3N5c3RlbS5oPgorCisvKgorICogU2VxdWVuY2UgY291
bnRlcnMgKHNlcWNvdW50X3QpCisgKgorICogVGhpcyBpcyB0aGUgcmF3IGNv
dW50aW5nIG1lY2hhbmlzbSwgd2l0aG91dCBhbnkgd3JpdGVyIHByb3RlY3Rp
b24uCisgKgorICogV3JpdGUgc2lkZSBjcml0aWNhbCBzZWN0aW9ucyBtdXN0
IGJlIHNlcmlhbGl6ZWQgKGFuZCBub24tcHJlZW1wdGlibGUpLgorICoKKyAq
IElmIHJlYWRlcnMgY2FuIGJlIGludm9rZWQgZnJvbSBpbnRlcnJ1cHQgY29u
dGV4dHMsIGludGVycnVwdHMgbXVzdCBhbHNvCisgKiBiZSByZXNwZWN0aXZl
bHkgZGlzYWJsZWQgYmVmb3JlIGVudGVyaW5nIHRoZSB3cml0ZSBzZWN0aW9u
LgorICoKKyAqIFRoaXMgbWVjaGFuaXNtIGNhbid0IGJlIHVzZWQgaWYgdGhl
IHByb3RlY3RlZCBkYXRhIGNvbnRhaW5zIHBvaW50ZXJzLAorICogYXMgdGhl
IHdyaXRlciBjYW4gaW52YWxpZGF0ZSBhIHBvaW50ZXIgdGhhdCBhIHJlYWRl
ciBpcyBmb2xsb3dpbmcuCisgKi8KK3N0cnVjdCBzZXFjb3VudCB7CisgICAg
dW5zaWduZWQgaW50IHNlcXVlbmNlOworfTsKKworLyoKKyAqIFNFUUNOVF9a
RVJPKCkgLSBpbml0aWFsaXplciBmb3Igc2VxY291bnRfdAorICogQG5hbWU6
IE5hbWUgb2YgdGhlIHN0cnVjdCBzZXFjb3VudCBpbnN0YW5jZQorICovCisj
ZGVmaW5lIFNFUUNOVF9aRVJPKCkgeyAuc2VxdWVuY2UgPSAwIH0KKworc3Rh
dGljIGlubGluZSB1bnNpZ25lZCBpbnQgc2VxcHJvcF9zZXF1ZW5jZShjb25z
dCBzdHJ1Y3Qgc2VxY291bnQgKnMpCit7CisgICAgcmV0dXJuIEFDQ0VTU19P
TkNFKHMtPnNlcXVlbmNlKTsKK30KKworLyoKKyAqIHJlYWRfc2VxY291bnRf
YmVnaW4oKSAtIGJlZ2luIGEgc2VxY291bnQgcmVhZCBjcml0aWNhbCBzZWN0
aW9uCisgKiBAczogUG9pbnRlciB0byBzdHJ1Y3Qgc2VxY291bnQKKyAqCisg
KiBSZXR1cm46IGNvdW50IHRvIGJlIHBhc3NlZCB0byByZWFkX3NlcWNvdW50
X3JldHJ5KCkKKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgX3Jl
YWRfc2VxY291bnRfYmVnaW4oY29uc3Qgc3RydWN0IHNlcWNvdW50ICpzKQor
eworICAgIHVuc2lnbmVkIGludCBzZXE7CisKKyAgICB3aGlsZSAoKHNlcSA9
IHNlcXByb3Bfc2VxdWVuY2UocykpICYgMSkKKyAgICAgICAgY3B1X3JlbGF4
KCk7CisKKyAgICBzbXBfcm1iKCk7CisKKyAgICByZXR1cm4gc2VxOworfQor
CitzdGF0aWMgYWx3YXlzX2lubGluZSB1bnNpZ25lZCBpbnQgcmVhZF9zZXFj
b3VudF9iZWdpbihjb25zdCBzdHJ1Y3Qgc2VxY291bnQgKnMpCit7CisgICAg
dW5zaWduZWQgaW50IHNlcSA9IF9yZWFkX3NlcWNvdW50X2JlZ2luKHMpOwor
CisgICAgYmxvY2tfbG9ja19zcGVjdWxhdGlvbigpOworCisgICAgcmV0dXJu
IHNlcTsKK30KKworLyoKKyAqIHJlYWRfc2VxY291bnRfcmV0cnkoKSAtIGVu
ZCBhIHNlcWNvdW50IHJlYWQgY3JpdGljYWwgc2VjdGlvbgorICogQHM6IFBv
aW50ZXIgdG8gc3RydWN0IHNlcWNvdW50CisgKiBAc3RhcnQ6IGNvdW50LCBm
cm9tIHJlYWRfc2VxY291bnRfYmVnaW4oKQorICoKKyAqIHJlYWRfc2VxY291
bnRfcmV0cnkgY2xvc2VzIHRoZSByZWFkIGNyaXRpY2FsIHNlY3Rpb24gb2Yg
Z2l2ZW4gc3RydWN0CisgKiBzZXFjb3VudC4gIElmIHRoZSBjcml0aWNhbCBz
ZWN0aW9uIHdhcyBpbnZhbGlkLCBpdCBtdXN0IGJlIGlnbm9yZWQKKyAqIChh
bmQgdHlwaWNhbGx5IHJldHJpZWQpLgorICoKKyAqIFJldHVybjogdHJ1ZSBp
ZiBhIHJlYWQgc2VjdGlvbiByZXRyeSBpcyByZXF1aXJlZCwgZWxzZSBmYWxz
ZQorICovCitzdGF0aWMgaW5saW5lIGJvb2wgX3JlYWRfc2VxY291bnRfcmV0
cnkoY29uc3Qgc3RydWN0IHNlcWNvdW50ICpzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBzdGFydCkK
K3sKKyAgICBzbXBfcm1iKCk7CisgICAgcmV0dXJuIHVubGlrZWx5KHNlcXBy
b3Bfc2VxdWVuY2UocykgIT0gc3RhcnQpOworfQorCitzdGF0aWMgYWx3YXlz
X2lubGluZSBib29sIHJlYWRfc2VxY291bnRfcmV0cnkoY29uc3Qgc3RydWN0
IHNlcWNvdW50ICpzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBzdGFydCkKK3sKKyAgICBy
ZXR1cm4gbG9ja19ldmFsdWF0ZV9ub3NwZWMoX3JlYWRfc2VxY291bnRfcmV0
cnkocywgc3RhcnQpKTsKK30KKworLyogTG9vcHMgdW50aWwgYSBjb25zaXN0
ZW50IGNvdW50IGhhcyBiZWVuIG9ic2VydmVkIGFjcm9zcyB0aGUgbG9vcCBi
b2R5LiAqLworI2RlZmluZSB1bnRpbF9zZXFfcmVhZChzZXEpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZvciAoIHVuc2ln
bmVkIGludCByZXRyeV8gPSAxLCBjb3VudF87ICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgICAgIHJldHJ5XyAmJiAoY291bnRfID0gcmVhZF9zZXFj
b3VudF9iZWdpbihzZXEpLCB0cnVlKTsgXAorICAgICAgICAgIHJldHJ5XyA9
IHJlYWRfc2VxY291bnRfcmV0cnkoc2VxLCBjb3VudF8pICkKKworLyoKKyAq
IHdyaXRlX3NlcWNvdW50X2JlZ2luKCkgLSBzdGFydCBhIHN0cnVjdCBzZXFj
b3VudCB3cml0ZSBzaWRlIGNyaXRpY2FsIHNlY3Rpb24KKyAqIEBzOiBQb2lu
dGVyIHRvIHN0cnVjdCBzZXFjb3VudAorICoKKyAqIENvbnRleHQ6IHNlcXVl
bmNlIGNvdW50ZXIgd3JpdGUgc2lkZSBzZWN0aW9ucyBtdXN0IGJlIHNlcmlh
bGl6ZWQuCisgKiBJZiByZWFkZXJzIGNhbiBiZSBpbnZva2VkIGZyb20gaW50
ZXJydXB0IGNvbnRleHQsIGludGVycnVwdHMgbXVzdCBiZQorICogcmVzcGVj
dGl2ZWx5IGRpc2FibGVkLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgd3Jp
dGVfc2VxY291bnRfYmVnaW4oc3RydWN0IHNlcWNvdW50ICpzKQoreworICAg
IGFkZF9zaXplZCgmcy0+c2VxdWVuY2UsIDEpOworICAgIHNtcF93bWIoKTsK
K30KKworLyoKKyAqIHdyaXRlX3NlcWNvdW50X2VuZCgpIC0gZW5kIGEgc3Ry
dWN0IHNlcWNvdW50IHdyaXRlIHNpZGUgY3JpdGljYWwgc2VjdGlvbgorICog
QHM6IFBvaW50ZXIgdG8gc2VxY291bnQKKyAqLworc3RhdGljIGlubGluZSB2
b2lkIHdyaXRlX3NlcWNvdW50X2VuZChzdHJ1Y3Qgc2VxY291bnQgKnMpCit7
CisgICAgc21wX3dtYigpOworICAgIGFkZF9zaXplZCgmcy0+c2VxdWVuY2Us
IDEpOworfQorCisvKgorICogTm90IHJlYWxseSBhIGxvb3AsIGJ1dCB3ZSBu
ZWVkIHdyaXRlX3NlcWNvdW50X3tiZWdpbixlbmR9KCkgaW4gdGhlIGNvcnJl
Y3QKKyAqIHBvc2l0aW9uLgorICovCisjZGVmaW5lIHdpdGhfc2VxX3dyaXRl
KHNlcSkgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZm9yICgg
Ym9vbCBvbmNlXyA9IHRydWU7ICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgICAgb25jZV8gJiYgKHdyaXRlX3NlcWNvdW50X2JlZ2luKHNl
cSksIHRydWUpOyBcCisgICAgICAgICAgKHdyaXRlX3NlcWNvdW50X2VuZChz
ZXEpLCBvbmNlXyA9IGZhbHNlKSApCisKKyNlbmRpZiAvKiBYRU5fU0VRQ09V
TlRfSCAqLworCisvKgorICogTG9jYWwgdmFyaWFibGVzOgorICogbW9kZTog
QworICogYy1maWxlLXN0eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZzZXQ6
IDQKKyAqIHRhYi13aWR0aDogNAorICogaW5kZW50LXRhYnMtbW9kZTogbmls
CisgKiBFbmQ6CisgKi8K

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.20-02.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.20-02.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2dldGRvbWFpbmluZm8gd2l0
aG91dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKCmdldGRvbWFpbmluZm8oKSBp
cyBub3QgY2FsbGVkIHVuZGVyIGNvbnNpc3RlbnRseSB0aGUgc2FtZSBsb2Nr
LiBUaHVzLAp3aXRoIGNhbGxlciBzaWRlIGxvY2tpbmcgaXJyZWxldmFudCwg
aXQgY2FuIGFzIHdlbGwgYmUgY2FsbGVkIHdpdGggdGhlCmRvbWN0bCBsb2Nr
IG5vdCBoZWxkLiAoQ2FsbGVycyBub3QgcGF1c2luZyB0aGUgZG9tYWluIHRo
ZXkgd2FudCB0bwpyZXRyaWV2ZSBpbmZvcm1hdGlvbiBmb3IgYWxyZWFkeSBu
ZWVkIHRvIGJlIGF3YXJlIHRoYXQgbm90IGFsbCBvZiB0aGUKZGF0YSByZXR1
cm5lZCBjYW4gYmUgcmVsaWVkIG9uIGFzIGJlaW5nIGNvbnNpc3RlbnQ7IG1v
c3QgZGF0YSB3aWxsIGFsc28KYmUgc3RhbGUgYnkgdGhlIHRpbWUgdGhlIGNh
bGxlciBnZXRzIHRvIGxvb2sgYXQgaXQuKQoKTW92ZSB0aGUgaGFuZGxpbmcg
bm90IG9ubHkgYWhlYWQgb2YgYWNxdWlyaW5nIHRoZSBsb2NrLCBidXQgYWxz
byBhaGVhZApvZiB0aGUgWFNNIGNoZWNrLCBsZXZlcmFnaW5nIHRoYXQgdGhl
IHN1Yi1vcCBoYXMgaXRzIG93biBob29rLgoKV2hpbGUgbW92aW5nLCBjb252
ZXJ0IGFuIGFzc2lnbm1lbnQgdG8gYW4gYXNzZXJ0aW9uOiBUaGUgZG9tYWlu
IGluCnF1ZXN0aW9uIHdhcyBkZXRlcm1pbmVkIGZyb20gdGhlIGZpZWxkIHdo
aWNoIHByZXZpb3VzbHkgd2FzICJ1cGRhdGVkIi4KClRoaXMgaXMgcGFydCBv
ZiBYU0EtNDkyLgoKRml4ZXM6IDU1MTNiZDBiNDY3NSAoImFkZCB4ZW5zdG9y
ZSBkb21haW4gZmxhZyB0byBoeXBlcnZpc29yIikKUmVwb3J0ZWQtYnk6IEFu
ZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClNpZ25l
ZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2
aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXgu
Y29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0
dXNzb2x1dGlvbnMuY29tPgoKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYwor
KysgYi94ZW4vY29tbW9uL2RvbWN0bC5jCkBAIC0zMjMsNiArMzIzLDI2IEBA
IGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAg
ICAgICAgYnJlYWs7CiAgICAgfQogCisgICAgLyogSGFuZGxlIHN1Yi1vcHMg
bm90IHJlcXVpcmluZyB0aGUgZG9tY3RsIGxvY2suICovCisgICAgc3dpdGNo
ICggb3AtPmNtZCApCisgICAgeworICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRk
b21haW5pbmZvOgorICAgICAgICByZXQgPSB4c21fZ2V0ZG9tYWluaW5mbyhY
U01fWFNfUFJJViwgZCk7CisgICAgICAgIGlmICggIXJldCApCisgICAgICAg
IHsKKyAgICAgICAgICAgIGdldGRvbWFpbmluZm8oZCwgJm9wLT51LmdldGRv
bWFpbmluZm8pOworCisgICAgICAgICAgICBBU1NFUlQob3AtPmRvbWFpbiA9
PSBvcC0+dS5nZXRkb21haW5pbmZvLmRvbWFpbik7CisgICAgICAgICAgICBj
b3B5YmFjayA9IHRydWU7CisgICAgICAgIH0KKworICAgICAgICBnb3RvIGRv
bWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CisKKyAgICBkZWZhdWx0OgorICAg
ICAgICAvKiBFdmVyeXRoaW5nIGVsc2UgaGFuZGxlZCBmdXJ0aGVyIGRvd24u
ICovCisgICAgICAgIGJyZWFrOworICAgIH0KKwogICAgIHJldCA9IHhzbV9k
b21jdGwoWFNNX09USEVSLCBkLCBvcC0+Y21kLAogICAgICAgICAgICAgICAg
ICAgICAgLyogU1NJRFJlZiBvbmx5IGFwcGxpY2FibGUgZm9yIGNtZCA9PSBj
cmVhdGVkb21haW4gKi8KICAgICAgICAgICAgICAgICAgICAgIG9wLT51LmNy
ZWF0ZWRvbWFpbi5zc2lkcmVmKTsKQEAgLTUzOSwxNyArNTU5LDYgQEAgbG9u
ZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAg
ICBjb3B5YmFjayA9IDE7CiAgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBY
RU5fRE9NQ1RMX2dldGRvbWFpbmluZm86Ci0gICAgICAgIHJldCA9IHhzbV9n
ZXRkb21haW5pbmZvKFhTTV9YU19QUklWLCBkKTsKLSAgICAgICAgaWYgKCBy
ZXQgKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgZ2V0ZG9tYWlu
aW5mbyhkLCAmb3AtPnUuZ2V0ZG9tYWluaW5mbyk7Ci0KLSAgICAgICAgb3At
PmRvbWFpbiA9IG9wLT51LmdldGRvbWFpbmluZm8uZG9tYWluOwotICAgICAg
ICBjb3B5YmFjayA9IDE7Ci0gICAgICAgIGJyZWFrOwotCiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2dldHZjcHVjb250ZXh0OgogICAgIHsKICAgICAgICAgdmNw
dV9ndWVzdF9jb250ZXh0X3UgYyA9IHsgLm5hdCA9IE5VTEwgfTsKLS0tIGEv
eGVuL2luY2x1ZGUveHNtL2R1bW15LmgKKysrIGIveGVuL2luY2x1ZGUveHNt
L2R1bW15LmgKQEAgLTE3Miw4ICsxNzIsMTEgQEAgc3RhdGljIFhTTV9JTkxJ
TkUgaW50IGNmX2NoZWNrIHhzbV9kb21jdAogICAgIGNhc2UgWEVOX0RPTUNU
TF9iaW5kX3B0X2lycToKICAgICBjYXNlIFhFTl9ET01DVExfdW5iaW5kX3B0
X2lycToKICAgICAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihYU01f
RE1fUFJJViwgY3VycmVudC0+ZG9tYWluLCBkKTsKLSAgICBjYXNlIFhFTl9E
T01DVExfZ2V0ZG9tYWluaW5mbzoKLSAgICAgICAgcmV0dXJuIHhzbV9kZWZh
dWx0X2FjdGlvbihYU01fWFNfUFJJViwgY3VycmVudC0+ZG9tYWluLCBkKTsK
KworICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRkb21haW5pbmZvOgorICAgICAg
ICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgcmV0dXJuIC1FSUxT
RVE7CisKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4geHNtX2RlZmF1
bHRfYWN0aW9uKFhTTV9QUklWLCBjdXJyZW50LT5kb21haW4sIGQpOwogICAg
IH0KLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5jCisrKyBiL3hlbi94c20v
Zmxhc2svaG9va3MuYwpAQCAtNjgwLDggKzY4MCwxMiBAQCBzdGF0aWMgaW50
IGNmX2NoZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICAgICAgICovCiAg
ICAgICAgIHJldHVybiBhdmNfY3VycmVudF9oYXNfcGVybShzc2lkcmVmLCBT
RUNDTEFTU19ET01BSU4sIERPTUFJTl9fQ1JFQVRFLCBOVUxMKTsKIAotICAg
IC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9k
b21jdGwuYykgKi8KKyAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNN
IGhvb2tzIGFuZCBkb24ndCBtYWtlIGl0IGhlcmUuICovCiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2dldGRvbWFpbmluZm86CisgICAgICAgIEFTU0VSVF9VTlJF
QUNIQUJMRSgpOworICAgICAgICByZXR1cm4gLUVJTFNFUTsKKworICAgIC8q
IFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9kb21j
dGwuYykgKi8KICAgICBjYXNlIFhFTl9ET01DVExfc2NoZWR1bGVyX29wOgog
ICAgIGNhc2UgWEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbjoKICAgICBjYXNl
IFhFTl9ET01DVExfaW9tZW1fcGVybWlzc2lvbjoK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.20-03.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.20-03.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21haW46IGxvY2tpbmcgZm9yIGlvbWVtX2NhcHMgYWNjZXNzZXMKCklu
IG9yZGVyIHRvIGJlIGFibGUgdG8gcHVsbCBhdCBsZWFzdCB0aGUgWEVOX0RP
TUNUTF9pb21lbV9tYXBwaW5nIGhhbmRsaW5nCm91dCBvZiB0aGUgZG9tY3Rs
LWxvY2tlZCByZWdpb24sIGEgc2VwYXJhdGUgKHBlci1kb21haW4pIGxvY2sg
aXMgbmVlZGVkIHRvCnN5bmNocm9uaXplIGluIHBhcnRpY3VsYXIgd2l0aCBY
RU5fRE9NQ1RMX2lvbWVtX3Blcm1pc3Npb24uCgpMb2NraW5nIGlzIGFkZGVk
IG9ubHkgYXMgZmFyIGFzIGRvbWN0bC1zIGFyZSBhZmZlY3RlZC4gVXNlcyBw
cmVzZW50bHkKb3V0c2lkZSBvZiB0aGUgZG9tY3RsIGxvY2sgbWF5IHdhbnQg
ZGVhbGluZyB3aXRoIHN1YnNlcXVlbnRseSAocGVyaGFwcwpsaW1pdGVkIHRv
IG5vbi1fX2luaXQgY29kZSkuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4K
ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv
bT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBj
aXRyaXguY29tPgoKLS0tIGEveGVuL2NvbW1vbi9kb21haW4uYworKysgYi94
ZW4vY29tbW9uL2RvbWFpbi5jCkBAIC0zODYsMTAgKzM4NiwxNSBAQCBzdGF0
aWMgaW50IGxhdGVfaHdkb21faW5pdChzdHJ1Y3QgZG9tYWluCiAgICAgICog
bWF5IGJlIG1vZGlmaWVkIGFmdGVyIHRoaXMgaHlwZXJjYWxsIHJldHVybnMg
aWYgYSBtb3JlIGNvbXBsZXgKICAgICAgKiBkZXZpY2UgbW9kZWwgaXMgZGVz
aXJlZC4KICAgICAgKi8KKyAgICB3cml0ZV9sb2NrKCZkb20wLT5jYXBzX2xv
Y2spOwogICAgIHJhbmdlc2V0X3N3YXAoZC0+aXJxX2NhcHMsIGRvbTAtPmly
cV9jYXBzKTsKICAgICByYW5nZXNldF9zd2FwKGQtPmlvbWVtX2NhcHMsIGRv
bTAtPmlvbWVtX2NhcHMpOwogI2lmZGVmIENPTkZJR19YODYKICAgICByYW5n
ZXNldF9zd2FwKGQtPmFyY2guaW9wb3J0X2NhcHMsIGRvbTAtPmFyY2guaW9w
b3J0X2NhcHMpOworI2VuZGlmCisgICAgd3JpdGVfdW5sb2NrKCZkb20wLT5j
YXBzX2xvY2spOworCisjaWZkZWYgQ09ORklHX1g4NgogICAgIHNldHVwX2lv
X2JpdG1hcChkKTsKICAgICBzZXR1cF9pb19iaXRtYXAoZG9tMCk7CiAjZW5k
aWYKQEAgLTcxNyw2ICs3MjIsNyBAQCBzdHJ1Y3QgZG9tYWluICpkb21haW5f
Y3JlYXRlKGRvbWlkX3QgZG9tCiAgICAgcnNwaW5fbG9ja19pbml0X3Byb2Yo
ZCwgZG9tYWluX2xvY2spOwogICAgIHJzcGluX2xvY2tfaW5pdF9wcm9mKGQs
IHBhZ2VfYWxsb2NfbG9jayk7CiAgICAgc3Bpbl9sb2NrX2luaXQoJmQtPmh5
cGVyY2FsbF9kZWFkbG9ja19tdXRleCk7CisgICAgcndsb2NrX2luaXQoJmQt
PmNhcHNfbG9jayk7CiAgICAgSU5JVF9QQUdFX0xJU1RfSEVBRCgmZC0+cGFn
ZV9saXN0KTsKICAgICBJTklUX1BBR0VfTElTVF9IRUFEKCZkLT5leHRyYV9w
YWdlX2xpc3QpOwogICAgIElOSVRfUEFHRV9MSVNUX0hFQUQoJmQtPnhlbnBh
Z2VfbGlzdCk7Ci0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMKKysrIGIveGVu
L2NvbW1vbi9kb21jdGwuYwpAQCAtMjc5LDYgKzI3OSwzNSBAQCBzdGF0aWMg
c3RydWN0IHZudW1hX2luZm8gKnZudW1hX2luaXQoY29uCiAgICAgcmV0dXJu
IEVSUl9QVFIocmV0KTsKIH0KIAordm9pZCBpb2NhcHNfZG91YmxlX2xvY2so
c3RydWN0IGRvbWFpbiAqZCwgYm9vbCB3cml0ZSkKK3sKKyAgICBzdHJ1Y3Qg
ZG9tYWluICpjdXJyZCA9IGN1cnJlbnQtPmRvbWFpbjsKKworICAgIGlmICgg
ZC0+ZG9tYWluX2lkID4gY3VycmQtPmRvbWFpbl9pZCApCisgICAgICAgIHJl
YWRfbG9jaygmY3VycmQtPmNhcHNfbG9jayk7CisKKyAgICBpZiAoIHdyaXRl
ICkKKyAgICAgICAgd3JpdGVfbG9jaygmZC0+Y2Fwc19sb2NrKTsKKyAgICBl
bHNlCisgICAgICAgIHJlYWRfbG9jaygmZC0+Y2Fwc19sb2NrKTsKKworICAg
IGlmICggZC0+ZG9tYWluX2lkIDwgY3VycmQtPmRvbWFpbl9pZCApCisgICAg
ICAgIHJlYWRfbG9jaygmY3VycmQtPmNhcHNfbG9jayk7Cit9CisKK3ZvaWQg
aW9jYXBzX2RvdWJsZV91bmxvY2soc3RydWN0IGRvbWFpbiAqZCwgYm9vbCB3
cml0ZSkKK3sKKyAgICBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1cnJlbnQt
PmRvbWFpbjsKKworICAgIGlmICggZCAhPSBjdXJyZCApCisgICAgICAgIHJl
YWRfdW5sb2NrKCZjdXJyZC0+Y2Fwc19sb2NrKTsKKworICAgIGlmICggd3Jp
dGUgKQorICAgICAgICB3cml0ZV91bmxvY2soJmQtPmNhcHNfbG9jayk7Cisg
ICAgZWxzZQorICAgICAgICByZWFkX3VubG9jaygmZC0+Y2Fwc19sb2NrKTsK
K30KKwogbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4
ZW5fZG9tY3RsX3QpIHVfZG9tY3RsKQogewogICAgIGxvbmcgcmV0ID0gMDsK
QEAgLTY5Niw2ICs3MjUsOCBAQCBsb25nIGRvX2RvbWN0bChYRU5fR1VFU1Rf
SEFORExFX1BBUkFNKHhlCiAgICAgICAgIGlmICggKG1mbiArIG5yX21mbnMg
LSAxKSA8IG1mbiApIC8qIHdyYXA/ICovCiAgICAgICAgICAgICBicmVhazsK
IAorICAgICAgICBpb2NhcHNfZG91YmxlX2xvY2soZCwgdHJ1ZSk7CisKICAg
ICAgICAgaWYgKCAhaW9tZW1fYWNjZXNzX3Blcm1pdHRlZChjdXJyZW50LT5k
b21haW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bWZuLCBtZm4gKyBucl9tZm5zIC0gMSkgfHwKICAgICAgICAgICAgICB4c21f
aW9tZW1fcGVybWlzc2lvbihYU01fSE9PSywgZCwgbWZuLCBtZm4gKyBucl9t
Zm5zIC0gMSwgYWxsb3cpICkKQEAgLTcwNCw2ICs3MzUsOCBAQCBsb25nIGRv
X2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlCiAgICAgICAgICAg
ICByZXQgPSBpb21lbV9wZXJtaXRfYWNjZXNzKGQsIG1mbiwgbWZuICsgbnJf
bWZucyAtIDEpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXQgPSBp
b21lbV9kZW55X2FjY2VzcyhkLCBtZm4sIG1mbiArIG5yX21mbnMgLSAxKTsK
KworICAgICAgICBpb2NhcHNfZG91YmxlX3VubG9jayhkLCB0cnVlKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgfQogCkBAIC03MjgsMTkgKzc2MSwxNSBAQCBs
b25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlCiAgICAg
ICAgICAgICBicmVhazsKICNlbmRpZgogCisgICAgICAgIGlvY2Fwc19kb3Vi
bGVfbG9jayhkLCBmYWxzZSk7CisKICAgICAgICAgcmV0ID0gLUVQRVJNOwog
ICAgICAgICBpZiAoICFpb21lbV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJlbnQt
PmRvbWFpbiwgbWZuLCBtZm5fZW5kKSB8fAotICAgICAgICAgICAgICFpb21l
bV9hY2Nlc3NfcGVybWl0dGVkKGQsIG1mbiwgbWZuX2VuZCkgKQotICAgICAg
ICAgICAgYnJlYWs7Ci0KLSAgICAgICAgcmV0ID0geHNtX2lvbWVtX21hcHBp
bmcoWFNNX0hPT0ssIGQsIG1mbiwgbWZuX2VuZCwgYWRkKTsKLSAgICAgICAg
aWYgKCByZXQgKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgaWYg
KCAhcGFnaW5nX21vZGVfdHJhbnNsYXRlKGQpICkKLSAgICAgICAgICAgIGJy
ZWFrOwotCi0gICAgICAgIGlmICggYWRkICkKKyAgICAgICAgICAgICAhaW9t
ZW1fYWNjZXNzX3Blcm1pdHRlZChkLCBtZm4sIG1mbl9lbmQpIHx8CisgICAg
ICAgICAgICAgKHJldCA9IHhzbV9pb21lbV9tYXBwaW5nKFhTTV9IT09LLCBk
LCBtZm4sIG1mbl9lbmQsIGFkZCkpIHx8CisgICAgICAgICAgICAgIXBhZ2lu
Z19tb2RlX3RyYW5zbGF0ZShkKSApCisgICAgICAgICAgICAvKiBOb3RoaW5n
LiAqLzsKKyAgICAgICAgZWxzZSBpZiAoIGFkZCApCiAgICAgICAgIHsKICAg
ICAgICAgICAgIHByaW50ayhYRU5MT0dfR19ERUJVRwogICAgICAgICAgICAg
ICAgICAgICJtZW1vcnlfbWFwOmFkZDogZG9tJWQgZ2ZuPSVseCBtZm49JWx4
IG5yPSVseFxuIiwKQEAgLTc2NCw2ICs3OTMsOCBAQCBsb25nIGRvX2RvbWN0
bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlCiAgICAgICAgICAgICAgICAg
ICAgICAgICJtZW1vcnlfbWFwOiBlcnJvciAlbGQgcmVtb3ZpbmcgZG9tJWQg
YWNjZXNzIHRvIFslbHgsJWx4XVxuIiwKICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0LCBkLT5kb21haW5faWQsIG1mbiwgbWZuX2VuZCk7CiAgICAgICAg
IH0KKworICAgICAgICBpb2NhcHNfZG91YmxlX3VubG9jayhkLCBmYWxzZSk7
CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotLS0gYS94ZW4vaW5jbHVkZS94
ZW4vaW9jYXAuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vaW9jYXAuaApAQCAt
MTIsNiArMTIsOSBAQAogI2luY2x1ZGUgPGFzbS9pb2NhcC5oPgogI2luY2x1
ZGUgPGFzbS9wMm0uaD4KIAordm9pZCBpb2NhcHNfZG91YmxlX2xvY2soc3Ry
dWN0IGRvbWFpbiAqZCwgYm9vbCB3cml0ZSk7Cit2b2lkIGlvY2Fwc19kb3Vi
bGVfdW5sb2NrKHN0cnVjdCBkb21haW4gKmQsIGJvb2wgd3JpdGUpOworCiBz
dGF0aWMgaW5saW5lIGludCBpb21lbV9wZXJtaXRfYWNjZXNzKHN0cnVjdCBk
b21haW4gKmQsIHVuc2lnbmVkIGxvbmcgcywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBlKQogewotLS0g
YS94ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaAorKysgYi94ZW4vaW5jbHVkZS94
ZW4vc2NoZWQuaApAQCAtNTMwLDYgKzUzMCw3IEBAIHN0cnVjdCBkb21haW4K
ICNlbmRpZgogCiAgICAgLyogSS9PIGNhcGFiaWxpdGllcyAoYWNjZXNzIHRv
IElSUXMgYW5kIG1lbW9yeS1tYXBwZWQgSS9PKS4gKi8KKyAgICByd2xvY2tf
dCAgICAgICAgIGNhcHNfbG9jazsKICAgICBzdHJ1Y3QgcmFuZ2VzZXQgKmlv
bWVtX2NhcHM7CiAgICAgc3RydWN0IHJhbmdlc2V0ICppcnFfY2FwczsKIAo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.20-04.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.20-04.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvZG9tYWluOiBsb2NraW5nIGZvciBpb3BvcnRfY2FwcyBhY2Nlc3Nl
cwoKSW4gb3JkZXIgdG8gYmUgYWJsZSB0byBwdWxsIGF0IGxlYXN0IHRoZSBY
RU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nCmhhbmRsaW5nIG91dCBvZiB0aGUg
ZG9tY3RsLWxvY2tlZCByZWdpb24sIHRoZSBuZXcgc2VwYXJhdGUgKHBlci1k
b21haW4pCmxvY2sgaXMgdXNlZCB0byBzeW5jaHJvbml6ZSBpbiBwYXJ0aWN1
bGFyIHdpdGgKWEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbi4KCkxvY2tp
bmcgaXMgYWRkZWQgb25seSBhcyBmYXIgYXMgZG9tY3RsLXMgYXJlIGFmZmVj
dGVkLiBVc2VzIHByZXNlbnRseQpvdXRzaWRlIG9mIHRoZSBkb21jdGwgbG9j
ayBtYXkgd2FudCBkZWFsaW5nIHdpdGggc3Vic2VxdWVudGx5IChwZXJoYXBz
CmxpbWl0ZWQgdG8gbm9uLV9faW5pdCBjb2RlKS4KClRoaXMgaXMgcGFydCBv
ZiBYU0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8
cm9nZXIucGF1QGNpdHJpeC5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvZG9t
Y3RsLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWN0bC5jCkBAIC0yMjYsNiAr
MjI2LDggQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgKICAgICAgICAgdW5zaWdu
ZWQgaW50IG5wID0gZG9tY3RsLT51LmlvcG9ydF9wZXJtaXNzaW9uLm5yX3Bv
cnRzOwogICAgICAgICBpbnQgYWxsb3cgPSBkb21jdGwtPnUuaW9wb3J0X3Bl
cm1pc3Npb24uYWxsb3dfYWNjZXNzOwogCisgICAgICAgIGlvY2Fwc19kb3Vi
bGVfbG9jayhkLCB0cnVlKTsKKwogICAgICAgICBpZiAoIChmcCArIG5wKSA8
PSBmcCB8fCAoZnAgKyBucCkgPiBNQVhfSU9QT1JUUyApCiAgICAgICAgICAg
ICByZXQgPSAtRUlOVkFMOwogICAgICAgICBlbHNlIGlmICggIWlvcG9ydHNf
YWNjZXNzX3Blcm1pdHRlZChjdXJyZCwgZnAsIGZwICsgbnAgLSAxKSB8fApA
QCAtMjM1LDYgKzIzNyw4IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoCiAgICAg
ICAgICAgICByZXQgPSBpb3BvcnRzX3Blcm1pdF9hY2Nlc3MoZCwgZnAsIGZw
ICsgbnAgLSAxKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmV0ID0g
aW9wb3J0c19kZW55X2FjY2VzcyhkLCBmcCwgZnAgKyBucCAtIDEpOworCisg
ICAgICAgIGlvY2Fwc19kb3VibGVfdW5sb2NrKGQsIHRydWUpOwogICAgICAg
ICBicmVhazsKICAgICB9CiAKQEAgLTY0MSwxNiArNjQ1LDEzIEBAIGxvbmcg
YXJjaF9kb19kb21jdGwoCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogCi0gICAgICAgIHJldCA9IC1FUEVSTTsKLSAgICAgICAgaWYgKCAhaW9w
b3J0c19hY2Nlc3NfcGVybWl0dGVkKGN1cnJkLCBmbXAsIGZtcCArIG5wIC0g
MSkgKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgcmV0ID0geHNt
X2lvcG9ydF9tYXBwaW5nKFhTTV9IT09LLCBkLCBmbXAsIGZtcCArIG5wIC0g
MSwgYWRkKTsKLSAgICAgICAgaWYgKCByZXQgKQotICAgICAgICAgICAgYnJl
YWs7Ci0KICAgICAgICAgaHZtID0gJmQtPmFyY2guaHZtOwotICAgICAgICBp
ZiAoIGFkZCApCisgICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCB0cnVl
KTsKKworICAgICAgICBpZiAoICFpb3BvcnRzX2FjY2Vzc19wZXJtaXR0ZWQo
Y3VycmQsIGZtcCwgZm1wICsgbnAgLSAxKSB8fAorICAgICAgICAgICAgIChy
ZXQgPSB4c21faW9wb3J0X21hcHBpbmcoWFNNX0hPT0ssIGQsIGZtcCwgZm1w
ICsgbnAgLSAxLCBhZGQpKSApCisgICAgICAgICAgICByZXQgPSByZXQgPzog
LUVQRVJNOworICAgICAgICBlbHNlIGlmICggYWRkICkKICAgICAgICAgewog
ICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0lORk8KICAgICAgICAgICAg
ICAgICAgICAiaW9wb3J0X21hcDphZGQ6IGRvbSVkIGdwb3J0PSV4IG1wb3J0
PSV4IG5yPSV4XG4iLApAQCAtNzExLDYgKzcxMyw4IEBAIGxvbmcgYXJjaF9k
b19kb21jdGwoCiAgICAgICAgICAgICAgICAgICAgICAgICJpb3BvcnRfbWFw
OiBlcnJvciAlbGQgZGVueWluZyBkb20lZCBhY2Nlc3MgdG8gWyV4LCV4XVxu
IiwKICAgICAgICAgICAgICAgICAgICAgICAgcmV0LCBkLT5kb21haW5faWQs
IGZtcCwgZm1wICsgbnAgLSAxKTsKICAgICAgICAgfQorCisgICAgICAgIGlv
Y2Fwc19kb3VibGVfdW5sb2NrKGQsIHRydWUpOwogICAgICAgICBicmVhazsK
ICAgICB9CiAKLS0tIGEveGVuL2FyY2gveDg2L3NldHVwLmMKKysrIGIveGVu
L2FyY2gveDg2L3NldHVwLmMKQEAgLTIyNzMsOSArMjI3MywxMiBAQCB2b2lk
IF9faHdkb21faW5pdCBzZXR1cF9pb19iaXRtYXAoc3RydWN0CiAgICAgICAg
IHJldHVybjsKIAogICAgIGJpdG1hcF9maWxsKGQtPmFyY2guaHZtLmlvX2Jp
dG1hcCwgMHgxMDAwMCk7CisKKyAgICByZWFkX2xvY2soJmQtPmNhcHNfbG9j
ayk7CiAgICAgaWYgKCByYW5nZXNldF9yZXBvcnRfcmFuZ2VzKGQtPmFyY2gu
aW9wb3J0X2NhcHMsIDAsIDB4MTAwMDAsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlvX2JpdG1hcF9jYiwgZCkgKQogICAgICAgICBCVUco
KTsKKyAgICByZWFkX3VubG9jaygmZC0+Y2Fwc19sb2NrKTsKIAogICAgIC8q
CiAgICAgICogV2UgbmVlZCB0byB0cmFwIDQtYnl0ZSBhY2Nlc3NlcyB0byAw
eGNmOCAoc2VlIGFkbWluX2lvX29rYXkoKSwK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.20-05.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.20-05.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21haW46IGxvY2tpbmcgZm9yIGlycV9jYXBzIGFjY2Vzc2VzCgpJbiBv
cmRlciB0byBiZSBhYmxlIHRvIHB1bGwgYXQgbGVhc3QgdGhlIFhFTl9ET01D
VExfeyx1bn1iaW5kX3B0X2lycQpoYW5kbGluZyBvdXQgb2YgdGhlIGRvbWN0
bC1sb2NrZWQgcmVnaW9uLCBhIHNlcGFyYXRlIChwZXItZG9tYWluKSBsb2Nr
IGlzCm5lZWRlZCB0byBzeW5jaHJvbml6ZSBpbiBwYXJ0aWN1bGFyIHdpdGgg
WEVOX0RPTUNUTF97aXJxLGdzaX1fcGVybWlzc2lvbi4KCkxvY2tpbmcgaXMg
YWRkZWQgb25seSBhcyBmYXIgYXMgZG9tY3RsLXMgYXJlIGFmZmVjdGVkLiBV
c2VzIHByZXNlbnRseQpvdXRzaWRlIG9mIHRoZSBkb21jdGwgbG9jayBtYXkg
d2FudCBkZWFsaW5nIHdpdGggc3Vic2VxdWVudGx5IChwZXJoYXBzCmxpbWl0
ZWQgdG8gbm9uLV9faW5pdCBjb2RlKS4KClRoaXMgaXMgcGFydCBvZiBYU0Et
NDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIu
cGF1QGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1
bGllbkB4ZW4ub3JnPgoKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWN0bC5jCisr
KyBiL3hlbi9hcmNoL2FybS9kb21jdGwuYwpAQCAtNzYsNiArNzYsNyBAQCBs
b25nIGFyY2hfZG9fZG9tY3RsKHN0cnVjdCB4ZW5fZG9tY3RsICpkCiAgICAg
Y2FzZSBYRU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgogICAgIHsKICAgICAgICAg
aW50IHJjOworICAgICAgICBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1cnJl
bnQtPmRvbWFpbjsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfYmluZF9w
dF9pcnEgKmJpbmQgPSAmZG9tY3RsLT51LmJpbmRfcHRfaXJxOwogICAgICAg
ICB1aW50MzJfdCBpcnEgPSBiaW5kLT51LnNwaS5zcGk7CiAgICAgICAgIHVp
bnQzMl90IHZpcnEgPSBiaW5kLT5tYWNoaW5lX2lycTsKQEAgLTEwNywyMSAr
MTA4LDI2IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoc3RydWN0IHhlbl9kb21j
dGwgKmQKICAgICAgICAgaWYgKCByYyApCiAgICAgICAgICAgICByZXR1cm4g
cmM7CiAKLSAgICAgICAgaWYgKCAhaXJxX2FjY2Vzc19wZXJtaXR0ZWQoY3Vy
cmVudC0+ZG9tYWluLCBpcnEpICkKLSAgICAgICAgICAgIHJldHVybiAtRVBF
Uk07CisgICAgICAgIHJlYWRfbG9jaygmY3VycmQtPmNhcHNfbG9jayk7CiAK
LSAgICAgICAgaWYgKCAhdmdpY19yZXNlcnZlX3ZpcnEoZCwgdmlycSkgKQot
ICAgICAgICAgICAgcmV0dXJuIC1FQlVTWTsKLQotICAgICAgICByYyA9IHJv
dXRlX2lycV90b19ndWVzdChkLCB2aXJxLCBpcnEsICJyb3V0ZWQgSVJRIik7
Ci0gICAgICAgIGlmICggcmMgKQotICAgICAgICAgICAgdmdpY19mcmVlX3Zp
cnEoZCwgdmlycSk7CisgICAgICAgIGlmICggIWlycV9hY2Nlc3NfcGVybWl0
dGVkKGN1cnJkLCBpcnEpICkKKyAgICAgICAgICAgIHJjID0gLUVQRVJNOwor
ICAgICAgICBlbHNlIGlmICggIXZnaWNfcmVzZXJ2ZV92aXJxKGQsIHZpcnEp
ICkKKyAgICAgICAgICAgIHJjID0gLUVCVVNZOworICAgICAgICBlbHNlCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHJjID0gcm91dGVfaXJxX3RvX2d1ZXN0
KGQsIHZpcnEsIGlycSwgInJvdXRlZCBJUlEiKTsKKyAgICAgICAgICAgIGlm
ICggcmMgKQorICAgICAgICAgICAgICAgIHZnaWNfZnJlZV92aXJxKGQsIHZp
cnEpOworICAgICAgICB9CiAKKyAgICAgICAgcmVhZF91bmxvY2soJmN1cnJk
LT5jYXBzX2xvY2spOwogICAgICAgICByZXR1cm4gcmM7CiAgICAgfQogICAg
IGNhc2UgWEVOX0RPTUNUTF91bmJpbmRfcHRfaXJxOgogICAgIHsKICAgICAg
ICAgaW50IHJjOworICAgICAgICBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1
cnJlbnQtPmRvbWFpbjsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfYmlu
ZF9wdF9pcnEgKmJpbmQgPSAmZG9tY3RsLT51LmJpbmRfcHRfaXJxOwogICAg
ICAgICB1aW50MzJfdCBpcnEgPSBiaW5kLT51LnNwaS5zcGk7CiAgICAgICAg
IHVpbnQzMl90IHZpcnEgPSBiaW5kLT5tYWNoaW5lX2lycTsKQEAgLTEzOCwx
NiArMTQ0LDE1IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoc3RydWN0IHhlbl9k
b21jdGwgKmQKICAgICAgICAgaWYgKCByYyApCiAgICAgICAgICAgICByZXR1
cm4gcmM7CiAKLSAgICAgICAgaWYgKCAhaXJxX2FjY2Vzc19wZXJtaXR0ZWQo
Y3VycmVudC0+ZG9tYWluLCBpcnEpICkKLSAgICAgICAgICAgIHJldHVybiAt
RVBFUk07Ci0KLSAgICAgICAgcmMgPSByZWxlYXNlX2d1ZXN0X2lycShkLCB2
aXJxKTsKLSAgICAgICAgaWYgKCByYyApCi0gICAgICAgICAgICByZXR1cm4g
cmM7CisgICAgICAgIHJlYWRfbG9jaygmY3VycmQtPmNhcHNfbG9jayk7CiAK
LSAgICAgICAgdmdpY19mcmVlX3ZpcnEoZCwgdmlycSk7CisgICAgICAgIGlm
ICggIWlycV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJkLCBpcnEpICkKKyAgICAg
ICAgICAgIHJjID0gLUVQRVJNOworICAgICAgICBlbHNlIGlmICggIShyYyA9
IHJlbGVhc2VfZ3Vlc3RfaXJxKGQsIHZpcnEpKSApCisgICAgICAgICAgICB2
Z2ljX2ZyZWVfdmlycShkLCB2aXJxKTsKIAotICAgICAgICByZXR1cm4gMDsK
KyAgICAgICAgcmVhZF91bmxvY2soJmN1cnJkLT5jYXBzX2xvY2spOworICAg
ICAgICByZXR1cm4gcmM7CiAgICAgfQogCiAgICAgY2FzZSBYRU5fRE9NQ1RM
X3Z1YXJ0X29wOgotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIv
eGVuL2FyY2gveDg2L2RvbWN0bC5jCkBAIC0yNjAsMTYgKzI2MCwxNyBAQCBs
b25nIGFyY2hfZG9fZG9tY3RsKAogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KIAotICAgICAgICByZXQgPSAtRVBFUk07CisgICAgICAgIGlvY2Fw
c19kb3VibGVfbG9jayhkLCB0cnVlKTsKKwogICAgICAgICBpZiAoICFpcnFf
YWNjZXNzX3Blcm1pdHRlZChjdXJyZCwgaXJxKSB8fAogICAgICAgICAgICAg
IHhzbV9pcnFfcGVybWlzc2lvbihYU01fSE9PSywgZCwgaXJxLCBmbGFncykg
KQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgaWYgKCBmbGFncyAp
CisgICAgICAgICAgICByZXQgPSAtRVBFUk07CisgICAgICAgIGVsc2UgaWYg
KCBmbGFncyApCiAgICAgICAgICAgICByZXQgPSBpcnFfcGVybWl0X2FjY2Vz
cyhkLCBpcnEpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXQgPSBp
cnFfZGVueV9hY2Nlc3MoZCwgaXJxKTsKIAorICAgICAgICBpb2NhcHNfZG91
YmxlX3VubG9jayhkLCB0cnVlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQog
CkBAIC01NzIsMjAgKzU3MywyNyBAQCBsb25nIGFyY2hfZG9fZG9tY3RsKAog
ICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgaXJxID0gZG9tYWluX3Bp
cnFfdG9faXJxKGQsIGJpbmQtPm1hY2hpbmVfaXJxKTsKLSAgICAgICAgcmV0
ID0gLUVQRVJNOwotICAgICAgICBpZiAoIGlycSA8PSAwIHx8ICFpcnFfYWNj
ZXNzX3Blcm1pdHRlZChjdXJyZCwgaXJxKSApCi0gICAgICAgICAgICBicmVh
azsKKyAgICAgICAgaWYgKCBpcnEgPD0gMCApCisgICAgICAgICAgICByZXQg
PSAtRVBFUk07CiAKLSAgICAgICAgcmV0ID0gLUVTUkNIOwotICAgICAgICBp
ZiAoIGlzX2lvbW11X2VuYWJsZWQoZCkgKQorICAgICAgICByZWFkX2xvY2so
JmN1cnJkLT5jYXBzX2xvY2spOworCisgICAgICAgIGlmICggIWlycV9hY2Nl
c3NfcGVybWl0dGVkKGN1cnJkLCBpcnEpICkKKyAgICAgICAgICAgIHJldCA9
IC1FUEVSTTsKKyAgICAgICAgZWxzZSBpZiAoIGlzX2lvbW11X2VuYWJsZWQo
ZCkgKQogICAgICAgICB7CiAgICAgICAgICAgICBwY2lkZXZzX2xvY2soKTsK
ICAgICAgICAgICAgIHJldCA9IHB0X2lycV9jcmVhdGVfYmluZChkLCBiaW5k
KTsKICAgICAgICAgICAgIHBjaWRldnNfdW5sb2NrKCk7CisKKyAgICAgICAg
ICAgIGlmICggcmV0IDwgMCApCisgICAgICAgICAgICAgICAgcHJpbnRrKFhF
TkxPR19HX0VSUiAicHRfaXJxX2NyZWF0ZV9iaW5kIGZhaWxlZCAoJWxkKSBm
b3IgJXBkXG4iLAorICAgICAgICAgICAgICAgICAgICAgICByZXQsIGQpOwog
ICAgICAgICB9Ci0gICAgICAgIGlmICggcmV0IDwgMCApCi0gICAgICAgICAg
ICBwcmludGsoWEVOTE9HX0dfRVJSICJwdF9pcnFfY3JlYXRlX2JpbmQgZmFp
bGVkICglbGQpIGZvciBkb20lZFxuIiwKLSAgICAgICAgICAgICAgICAgICBy
ZXQsIGQtPmRvbWFpbl9pZCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IHJldCA9IC1FU1JDSDsKKworICAgICAgICByZWFkX3VubG9jaygmY3VycmQt
PmNhcHNfbG9jayk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIApAQCAtNTk4
LDIzICs2MDYsMjYgQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgKICAgICAgICAg
aWYgKCAhaXNfaHZtX2RvbWFpbihkKSApCiAgICAgICAgICAgICBicmVhazsK
IAotICAgICAgICByZXQgPSAtRVBFUk07Ci0gICAgICAgIGlmICggaXJxIDw9
IDAgfHwgIWlycV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJkLCBpcnEpICkKLSAg
ICAgICAgICAgIGJyZWFrOwotCiAgICAgICAgIHJldCA9IHhzbV91bmJpbmRf
cHRfaXJxKFhTTV9IT09LLCBkLCBiaW5kKTsKICAgICAgICAgaWYgKCByZXQg
KQogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgaWYgKCBpc19pb21t
dV9lbmFibGVkKGQpICkKKyAgICAgICAgcmVhZF9sb2NrKCZjdXJyZC0+Y2Fw
c19sb2NrKTsKKworICAgICAgICBpZiAoICFpcnFfYWNjZXNzX3Blcm1pdHRl
ZChjdXJyZCwgaXJxKSApCisgICAgICAgICAgICByZXQgPSAtRVBFUk07Cisg
ICAgICAgIGVsc2UgaWYgKCBpc19pb21tdV9lbmFibGVkKGQpICkKICAgICAg
ICAgewogICAgICAgICAgICAgcGNpZGV2c19sb2NrKCk7CiAgICAgICAgICAg
ICByZXQgPSBwdF9pcnFfZGVzdHJveV9iaW5kKGQsIGJpbmQpOwogICAgICAg
ICAgICAgcGNpZGV2c191bmxvY2soKTsKKworICAgICAgICAgICAgaWYgKCBy
ZXQgPCAwICkKKyAgICAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfRVJS
ICJwdF9pcnFfZGVzdHJveV9iaW5kIGZhaWxlZCAoJWxkKSBmb3IgJXBkXG4i
LAorICAgICAgICAgICAgICAgICAgICAgICByZXQsIGQpOwogICAgICAgICB9
Ci0gICAgICAgIGlmICggcmV0IDwgMCApCi0gICAgICAgICAgICBwcmludGso
WEVOTE9HX0dfRVJSICJwdF9pcnFfZGVzdHJveV9iaW5kIGZhaWxlZCAoJWxk
KSBmb3IgZG9tJWRcbiIsCi0gICAgICAgICAgICAgICAgICAgcmV0LCBkLT5k
b21haW5faWQpOworCisgICAgICAgIHJlYWRfdW5sb2NrKCZjdXJyZC0+Y2Fw
c19sb2NrKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0tLSBhL3hlbi9j
b21tb24vZG9tY3RsLmMKKysrIGIveGVuL2NvbW1vbi9kb21jdGwuYwpAQCAt
NzA0LDYgKzcwNCw5IEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5E
TEVfUEFSQU0oeGUKICAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQorCisgICAgICAgIGlvY2Fwc19k
b3VibGVfbG9jayhkLCB0cnVlKTsKKwogICAgICAgICBpcnEgPSBwaXJxX2Fj
Y2Vzc19wZXJtaXR0ZWQoY3VycmVudC0+ZG9tYWluLCBwaXJxKTsKICAgICAg
ICAgaWYgKCAhaXJxIHx8IHhzbV9pcnFfcGVybWlzc2lvbihYU01fSE9PSywg
ZCwgaXJxLCBhbGxvdykgKQogICAgICAgICAgICAgcmV0ID0gLUVQRVJNOwpA
QCAtNzExLDYgKzcxNCw4IEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9I
QU5ETEVfUEFSQU0oeGUKICAgICAgICAgICAgIHJldCA9IGlycV9wZXJtaXRf
YWNjZXNzKGQsIGlycSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJl
dCA9IGlycV9kZW55X2FjY2VzcyhkLCBpcnEpOworCisgICAgICAgIGlvY2Fw
c19kb3VibGVfdW5sb2NrKGQsIHRydWUpOwogICAgICAgICBicmVhazsKICAg
ICB9CiAjZW5kaWYK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.20-06.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.20-06.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBYU00vRmxhc2s6IHNwbGl0IHRoZSAuaW9tZW1fbWFwcGluZygpIGhvb2sK
Ckl0J3MgdXNlZCB0d2ljZSBpbiBlbnRpcmVseSBkaWZmZXJlbnQgc2l0dWF0
aW9ucy4gVGhlIHVzZSBpbiBkb19kb21jdGwoKQp3YW50cyB0byBiZWNvbWUg
YW4gb3JkaW5hcnkgWFNNX0RNX1BSSVYgaW52b2NhdGlvbiwgd2hpbGUgdGhl
IG9uZSBpbiB2UENJCmNvZGUgbmVlZCB0byByZW1haW4gWFNNX0hPT0sgKGl0
IG1heSBwbGF1c2libHkgYmVjb21lIFhTTV9UQVJHRVQpLiBGb3IKRmxhc2ss
IHRoZSBzYW1lIGJhY2tpbmcgZnVuY3Rpb24gd2lsbCBjb250aW51ZSB0byBi
ZSB1c2VkIGZvciB0aGUgdGltZQpiZWluZy4KClRoaXMgaXMgcGFydCBvZiBY
U0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRo
QGFwZXJ0dXNzb2x1dGlvbnMuY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvdnBj
aS9oZWFkZXIuYworKysgYi94ZW4vZHJpdmVycy92cGNpL2hlYWRlci5jCkBA
IC02Nyw3ICs2Nyw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgbWFwX3Jhbmdl
KAogICAgICAgICAgICAgcmV0dXJuIC1FUEVSTTsKICAgICAgICAgfQogCi0g
ICAgICAgIHJjID0geHNtX2lvbWVtX21hcHBpbmcoWFNNX0hPT0ssIG1hcC0+
ZCwgbWFwX21mbiwgbV9lbmQsIG1hcC0+bWFwKTsKKyAgICAgICAgcmMgPSB4
c21faW9tZW1fbWFwcGluZ192cGNpKFhTTV9IT09LLCBtYXAtPmQsIG1hcF9t
Zm4sIG1fZW5kLCBtYXAtPm1hcCk7CiAgICAgICAgIGlmICggcmMgKQogICAg
ICAgICB7CiAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfV0FSTklORwot
LS0gYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAorKysgYi94ZW4vaW5jbHVk
ZS94c20vZHVtbXkuaApAQCAtNTc5LDYgKzU3OSwxMyBAQCBzdGF0aWMgWFNN
X0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX2lvbWVtCiAgICAgcmV0dXJuIHhz
bV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgZCk7
CiB9CiAKK3N0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21faW9t
ZW1fbWFwcGluZ192cGNpKAorICAgIFhTTV9ERUZBVUxUX0FSRyBzdHJ1Y3Qg
ZG9tYWluICpkLCB1aW50NjRfdCBzLCB1aW50NjRfdCBlLCB1aW50OF90IGFs
bG93KQoreworICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9IT09LKTsKKyAg
ICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+
ZG9tYWluLCBkKTsKK30KKwogc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2No
ZWNrIHhzbV9wY2lfY29uZmlnX3Blcm1pc3Npb24oCiAgICAgWFNNX0RFRkFV
TFRfQVJHIHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90IG1hY2hpbmVfYmRm
LCB1aW50MTZfdCBzdGFydCwKICAgICB1aW50MTZfdCBlbmQsIHVpbnQ4X3Qg
YWNjZXNzKQotLS0gYS94ZW4vaW5jbHVkZS94c20veHNtLmgKKysrIGIveGVu
L2luY2x1ZGUveHNtL3hzbS5oCkBAIC0xMTYsNiArMTE2LDggQEAgc3RydWN0
IHhzbV9vcHMgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
X3QgYWxsb3cpOwogICAgIGludCAoKmlvbWVtX21hcHBpbmcpKHN0cnVjdCBk
b21haW4gKmQsIHVpbnQ2NF90IHMsIHVpbnQ2NF90IGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDhfdCBhbGxvdyk7CisgICAgaW50ICgqaW9t
ZW1fbWFwcGluZ192cGNpKShzdHJ1Y3QgZG9tYWluICpkLCB1aW50NjRfdCBz
LCB1aW50NjRfdCBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDhfdCBhbGxvdyk7CiAgICAgaW50ICgqcGNpX2NvbmZpZ19wZXJtaXNz
aW9uKShzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBtYWNoaW5lX2JkZiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IHN0
YXJ0LCB1aW50MTZfdCBlbmQsIHVpbnQ4X3QgYWNjZXNzKTsKIApAQCAtNTAz
LDYgKzUwNSwxMiBAQCBzdGF0aWMgaW5saW5lIGludCB4c21faW9tZW1fbWFw
cGluZygKICAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4c21fb3BzLmlv
bWVtX21hcHBpbmcsIGQsIHMsIGUsIGFsbG93KTsKIH0KIAorc3RhdGljIGlu
bGluZSBpbnQgeHNtX2lvbWVtX21hcHBpbmdfdnBjaSgKKyAgICB4c21fZGVm
YXVsdF90IGRlZiwgc3RydWN0IGRvbWFpbiAqZCwgdWludDY0X3QgcywgdWlu
dDY0X3QgZSwgdWludDhfdCBhbGxvdykKK3sKKyAgICByZXR1cm4gYWx0ZXJu
YXRpdmVfY2FsbCh4c21fb3BzLmlvbWVtX21hcHBpbmdfdnBjaSwgZCwgcywg
ZSwgYWxsb3cpOworfQorCiBzdGF0aWMgaW5saW5lIGludCB4c21fcGNpX2Nv
bmZpZ19wZXJtaXNzaW9uKAogICAgIHhzbV9kZWZhdWx0X3QgZGVmLCBzdHJ1
Y3QgZG9tYWluICpkLCB1aW50MzJfdCBtYWNoaW5lX2JkZiwgdWludDE2X3Qg
c3RhcnQsCiAgICAgdWludDE2X3QgZW5kLCB1aW50OF90IGFjY2VzcykKLS0t
IGEveGVuL3hzbS9kdW1teS5jCisrKyBiL3hlbi94c20vZHVtbXkuYwpAQCAt
NzIsNiArNzIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHhzbV9vcHMgX19p
bml0Y29uc3RfCiAgICAgLmlycV9wZXJtaXNzaW9uICAgICAgICAgICAgICAg
ID0geHNtX2lycV9wZXJtaXNzaW9uLAogICAgIC5pb21lbV9wZXJtaXNzaW9u
ICAgICAgICAgICAgICA9IHhzbV9pb21lbV9wZXJtaXNzaW9uLAogICAgIC5p
b21lbV9tYXBwaW5nICAgICAgICAgICAgICAgICA9IHhzbV9pb21lbV9tYXBw
aW5nLAorICAgIC5pb21lbV9tYXBwaW5nX3ZwY2kgICAgICAgICAgICA9IHhz
bV9pb21lbV9tYXBwaW5nX3ZwY2ksCiAgICAgLnBjaV9jb25maWdfcGVybWlz
c2lvbiAgICAgICAgID0geHNtX3BjaV9jb25maWdfcGVybWlzc2lvbiwKICAg
ICAuZ2V0X3ZudW1haW5mbyAgICAgICAgICAgICAgICAgPSB4c21fZ2V0X3Zu
dW1haW5mbywKIAotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIv
eGVuL3hzbS9mbGFzay9ob29rcy5jCkBAIC0xOTMyLDYgKzE5MzIsNyBAQCBz
dGF0aWMgY29uc3Qgc3RydWN0IHhzbV9vcHMgX19pbml0Y29uc3RfCiAgICAg
LmlycV9wZXJtaXNzaW9uID0gZmxhc2tfaXJxX3Blcm1pc3Npb24sCiAgICAg
LmlvbWVtX3Blcm1pc3Npb24gPSBmbGFza19pb21lbV9wZXJtaXNzaW9uLAog
ICAgIC5pb21lbV9tYXBwaW5nID0gZmxhc2tfaW9tZW1fbWFwcGluZywKKyAg
ICAuaW9tZW1fbWFwcGluZ192cGNpID0gZmxhc2tfaW9tZW1fbWFwcGluZywK
ICAgICAucGNpX2NvbmZpZ19wZXJtaXNzaW9uID0gZmxhc2tfcGNpX2NvbmZp
Z19wZXJtaXNzaW9uLAogCiAgICAgLnJlc291cmNlX3BsdWdfY29yZSA9IGZs
YXNrX3Jlc291cmNlX3BsdWdfY29yZSwK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.20-07.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.20-07.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBwaW5nIHdp
dGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRlZGljYXRlZCBs
b2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3QgcmVxdWlyZWQg
aGVyZSBhbnltb3JlLgpNb3ZlIHRoZSByZS1wdXJwb3NlZCBkZWRpY2F0ZWQg
WFNNIGNoZWNrIGFzIGVhcmx5IGFzIHBvc3NpYmxlLgoKTWluaW1hbCAibW9k
ZXJuaXphdGlvbiI6IFN3aXRjaCAiYWRkIiB0byBib29sIGFuZCB1c2UgJXBk
IGluIGxvZyBtZXNzYWdlcy4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoK
Rml4ZXM6IGZkYTQ5ZjliM2ZiYiAoIkFkZCBidWlsZCBvcHRpb24gdG8gYWxs
b3cgbW9yZSBoeXBlcmNhbGxzIGZyb20gc3R1YmRvbXMiKQpSZXBvcnRlZC1i
eTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K
U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
PgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNz
b2x1dGlvbnMuY29tPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8
cm9nZXIucGF1QGNpdHJpeC5jb20+CgotLS0gYS94ZW4vY29tbW9uL2RvbWN0
bC5jCisrKyBiL3hlbi9jb21tb24vZG9tY3RsLmMKQEAgLTM2Nyw2ICszNjcs
NjYgQEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4
ZQogCiAgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9tb25seTsK
IAorICAgIGNhc2UgWEVOX0RPTUNUTF9tZW1vcnlfbWFwcGluZzoKKyAgICB7
CisgICAgICAgIHVuc2lnbmVkIGxvbmcgZ2ZuID0gb3AtPnUubWVtb3J5X21h
cHBpbmcuZmlyc3RfZ2ZuOworICAgICAgICB1bnNpZ25lZCBsb25nIG1mbiA9
IG9wLT51Lm1lbW9yeV9tYXBwaW5nLmZpcnN0X21mbjsKKyAgICAgICAgdW5z
aWduZWQgbG9uZyBucl9tZm5zID0gb3AtPnUubWVtb3J5X21hcHBpbmcubnJf
bWZuczsKKyAgICAgICAgdW5zaWduZWQgbG9uZyBtZm5fZW5kID0gbWZuICsg
bnJfbWZucyAtIDE7CisgICAgICAgIGJvb2wgYWRkID0gb3AtPnUubWVtb3J5
X21hcHBpbmcuYWRkX21hcHBpbmc7CisKKyAgICAgICAgcmV0ID0gLUVJTlZB
TDsKKyAgICAgICAgaWYgKCBtZm5fZW5kIDwgbWZuIHx8IC8qIFdyYXA/ICov
CisgICAgICAgICAgICAgKChtZm4gfCBtZm5fZW5kKSA+PiAocGFkZHJfYml0
cyAtIFBBR0VfU0hJRlQpKSB8fAorICAgICAgICAgICAgIChnZm4gKyBucl9t
Zm5zIC0gMSkgPCBnZm4gKSAvKiBXcmFwPyAqLworICAgICAgICAgICAgZ290
byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5OworCisgICAgICAgIHJldCA9
IHhzbV9pb21lbV9tYXBwaW5nKFhTTV9ETV9QUklWLCBkLCBtZm4sIG1mbl9l
bmQsIGFkZCk7CisgICAgICAgIGlmICggcmV0IHx8ICFwYWdpbmdfbW9kZV90
cmFuc2xhdGUoZCkgKQorICAgICAgICAgICAgZ290byBkb21jdGxfb3V0X3Vu
bG9ja19kb21vbmx5OworCisjaWZuZGVmIENPTkZJR19YODYgLyogWFhYIEFS
TSE/ICovCisgICAgICAgIHJldCA9IC1FMkJJRzsKKyAgICAgICAgLyogTXVz
dCBicmVhayBoeXBlcmNhbGwgdXAgYXMgdGhpcyBjb3VsZCB0YWtlIGEgd2hp
bGUuICovCisgICAgICAgIGlmICggbnJfbWZucyA+IDY0ICkKKyAgICAgICAg
ICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9tb25seTsKKyNlbmRpZgor
CisgICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCBmYWxzZSk7CisKKyAg
ICAgICAgcmV0ID0gLUVQRVJNOworICAgICAgICBpZiAoICFpb21lbV9hY2Nl
c3NfcGVybWl0dGVkKGN1cnJlbnQtPmRvbWFpbiwgbWZuLCBtZm5fZW5kKSB8
fAorICAgICAgICAgICAgICFpb21lbV9hY2Nlc3NfcGVybWl0dGVkKGQsIG1m
biwgbWZuX2VuZCkgKQorICAgICAgICAgICAgLyogTm90aGluZy4gKi87Cisg
ICAgICAgIGVsc2UgaWYgKCBhZGQgKQorICAgICAgICB7CisgICAgICAgICAg
ICBwcmludGsoWEVOTE9HX0dfREVCVUcKKyAgICAgICAgICAgICAgICAgICAi
bWVtb3J5X21hcDphZGQ6ICVwZCBnZm49JWx4IG1mbj0lbHggbnI9JWx4XG4i
LAorICAgICAgICAgICAgICAgICAgIGQsIGdmbiwgbWZuLCBucl9tZm5zKTsK
KworICAgICAgICAgICAgcmV0ID0gbWFwX21taW9fcmVnaW9ucyhkLCBfZ2Zu
KGdmbiksIG5yX21mbnMsIF9tZm4obWZuKSk7CisgICAgICAgICAgICBpZiAo
IHJldCA8IDAgKQorICAgICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfR19X
QVJOSU5HCisgICAgICAgICAgICAgICAgICAgICAgICJtZW1vcnlfbWFwOmZh
aWw6ICVwZCBnZm49JWx4IG1mbj0lbHggbnI9JWx4IHJldDolbGRcbiIsCisg
ICAgICAgICAgICAgICAgICAgICAgIGQsIGdmbiwgbWZuLCBucl9tZm5zLCBy
ZXQpOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAg
ICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0RFQlVHCisgICAgICAgICAgICAg
ICAgICAgIm1lbW9yeV9tYXA6cmVtb3ZlOiAlcGQgZ2ZuPSVseCBtZm49JWx4
IG5yPSVseFxuIiwKKyAgICAgICAgICAgICAgICAgICBkLCBnZm4sIG1mbiwg
bnJfbWZucyk7CisKKyAgICAgICAgICAgIHJldCA9IHVubWFwX21taW9fcmVn
aW9ucyhkLCBfZ2ZuKGdmbiksIG5yX21mbnMsIF9tZm4obWZuKSk7CisgICAg
ICAgICAgICBpZiAoIHJldCA8IDAgJiYgaXNfaGFyZHdhcmVfZG9tYWluKGN1
cnJlbnQtPmRvbWFpbikgKQorICAgICAgICAgICAgICAgIHByaW50ayhYRU5M
T0dfRVJSCisgICAgICAgICAgICAgICAgICAgICAgICJtZW1vcnlfbWFwOiBl
cnJvciAlbGQgcmVtb3ZpbmcgJXBkIGFjY2VzcyB0byBbJWx4LCVseF1cbiIs
CisgICAgICAgICAgICAgICAgICAgICAgIHJldCwgZCwgbWZuLCBtZm5fZW5k
KTsKKyAgICAgICAgfQorCisgICAgICAgIGlvY2Fwc19kb3VibGVfdW5sb2Nr
KGQsIGZhbHNlKTsKKyAgICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19k
b21vbmx5OworICAgIH0KKwogICAgIGRlZmF1bHQ6CiAgICAgICAgIC8qIEV2
ZXJ5dGhpbmcgZWxzZSBoYW5kbGVkIGZ1cnRoZXIgZG93bi4gKi8KICAgICAg
ICAgYnJlYWs7CkBAIC03NDUsNjQgKzgwNSw2IEBAIGxvbmcgZG9fZG9tY3Rs
KFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICAgICAgYnJlYWs7CiAg
ICAgfQogCi0gICAgY2FzZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBwaW5nOgot
ICAgIHsKLSAgICAgICAgdW5zaWduZWQgbG9uZyBnZm4gPSBvcC0+dS5tZW1v
cnlfbWFwcGluZy5maXJzdF9nZm47Ci0gICAgICAgIHVuc2lnbmVkIGxvbmcg
bWZuID0gb3AtPnUubWVtb3J5X21hcHBpbmcuZmlyc3RfbWZuOwotICAgICAg
ICB1bnNpZ25lZCBsb25nIG5yX21mbnMgPSBvcC0+dS5tZW1vcnlfbWFwcGlu
Zy5ucl9tZm5zOwotICAgICAgICB1bnNpZ25lZCBsb25nIG1mbl9lbmQgPSBt
Zm4gKyBucl9tZm5zIC0gMTsKLSAgICAgICAgaW50IGFkZCA9IG9wLT51Lm1l
bW9yeV9tYXBwaW5nLmFkZF9tYXBwaW5nOwotCi0gICAgICAgIHJldCA9IC1F
SU5WQUw7Ci0gICAgICAgIGlmICggbWZuX2VuZCA8IG1mbiB8fCAvKiB3cmFw
PyAqLwotICAgICAgICAgICAgICgobWZuIHwgbWZuX2VuZCkgPj4gKHBhZGRy
X2JpdHMgLSBQQUdFX1NISUZUKSkgfHwKLSAgICAgICAgICAgICAoZ2ZuICsg
bnJfbWZucyAtIDEpIDwgZ2ZuICkgLyogd3JhcD8gKi8KLSAgICAgICAgICAg
IGJyZWFrOwotCi0jaWZuZGVmIENPTkZJR19YODYgLyogWFhYIEFSTSE/ICov
Ci0gICAgICAgIHJldCA9IC1FMkJJRzsKLSAgICAgICAgLyogTXVzdCBicmVh
ayBoeXBlcmNhbGwgdXAgYXMgdGhpcyBjb3VsZCB0YWtlIGEgd2hpbGUuICov
Ci0gICAgICAgIGlmICggbnJfbWZucyA+IDY0ICkKLSAgICAgICAgICAgIGJy
ZWFrOwotI2VuZGlmCi0KLSAgICAgICAgaW9jYXBzX2RvdWJsZV9sb2NrKGQs
IGZhbHNlKTsKLQotICAgICAgICByZXQgPSAtRVBFUk07Ci0gICAgICAgIGlm
ICggIWlvbWVtX2FjY2Vzc19wZXJtaXR0ZWQoY3VycmVudC0+ZG9tYWluLCBt
Zm4sIG1mbl9lbmQpIHx8Ci0gICAgICAgICAgICAgIWlvbWVtX2FjY2Vzc19w
ZXJtaXR0ZWQoZCwgbWZuLCBtZm5fZW5kKSB8fAotICAgICAgICAgICAgIChy
ZXQgPSB4c21faW9tZW1fbWFwcGluZyhYU01fSE9PSywgZCwgbWZuLCBtZm5f
ZW5kLCBhZGQpKSB8fAotICAgICAgICAgICAgICFwYWdpbmdfbW9kZV90cmFu
c2xhdGUoZCkgKQotICAgICAgICAgICAgLyogTm90aGluZy4gKi87Ci0gICAg
ICAgIGVsc2UgaWYgKCBhZGQgKQotICAgICAgICB7Ci0gICAgICAgICAgICBw
cmludGsoWEVOTE9HX0dfREVCVUcKLSAgICAgICAgICAgICAgICAgICAibWVt
b3J5X21hcDphZGQ6IGRvbSVkIGdmbj0lbHggbWZuPSVseCBucj0lbHhcbiIs
Ci0gICAgICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCBnZm4sIG1mbiwg
bnJfbWZucyk7Ci0KLSAgICAgICAgICAgIHJldCA9IG1hcF9tbWlvX3JlZ2lv
bnMoZCwgX2dmbihnZm4pLCBucl9tZm5zLCBfbWZuKG1mbikpOwotICAgICAg
ICAgICAgaWYgKCByZXQgPCAwICkKLSAgICAgICAgICAgICAgICBwcmludGso
WEVOTE9HX0dfV0FSTklORwotICAgICAgICAgICAgICAgICAgICAgICAibWVt
b3J5X21hcDpmYWlsOiBkb20lZCBnZm49JWx4IG1mbj0lbHggbnI9JWx4IHJl
dDolbGRcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgIGQtPmRvbWFpbl9p
ZCwgZ2ZuLCBtZm4sIG5yX21mbnMsIHJldCk7Ci0gICAgICAgIH0KLSAgICAg
ICAgZWxzZQotICAgICAgICB7Ci0gICAgICAgICAgICBwcmludGsoWEVOTE9H
X0dfREVCVUcKLSAgICAgICAgICAgICAgICAgICAibWVtb3J5X21hcDpyZW1v
dmU6IGRvbSVkIGdmbj0lbHggbWZuPSVseCBucj0lbHhcbiIsCi0gICAgICAg
ICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCBnZm4sIG1mbiwgbnJfbWZucyk7
Ci0KLSAgICAgICAgICAgIHJldCA9IHVubWFwX21taW9fcmVnaW9ucyhkLCBf
Z2ZuKGdmbiksIG5yX21mbnMsIF9tZm4obWZuKSk7Ci0gICAgICAgICAgICBp
ZiAoIHJldCA8IDAgJiYgaXNfaGFyZHdhcmVfZG9tYWluKGN1cnJlbnQtPmRv
bWFpbikgKQotICAgICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfRVJSCi0g
ICAgICAgICAgICAgICAgICAgICAgICJtZW1vcnlfbWFwOiBlcnJvciAlbGQg
cmVtb3ZpbmcgZG9tJWQgYWNjZXNzIHRvIFslbHgsJWx4XVxuIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgcmV0LCBkLT5kb21haW5faWQsIG1mbiwgbWZu
X2VuZCk7Ci0gICAgICAgIH0KLQotICAgICAgICBpb2NhcHNfZG91YmxlX3Vu
bG9jayhkLCBmYWxzZSk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQogICAg
IGNhc2UgWEVOX0RPTUNUTF9zZXR0aW1lb2Zmc2V0OgogICAgICAgICBkb21h
aW5fc2V0X3RpbWVfb2Zmc2V0KGQsIG9wLT51LnNldHRpbWVvZmZzZXQudGlt
ZV9vZmZzZXRfc2Vjb25kcyk7CiAgICAgICAgIGJyZWFrOwotLS0gYS94ZW4v
aW5jbHVkZS94c20vZHVtbXkuaAorKysgYi94ZW4vaW5jbHVkZS94c20vZHVt
bXkuaApAQCAtMTY4LDEyICsxNjgsMTIgQEAgc3RhdGljIFhTTV9JTkxJTkUg
aW50IGNmX2NoZWNrIHhzbV9kb21jdAogICAgIHN3aXRjaCAoIGNtZCApCiAg
ICAgewogICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKLSAg
ICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgogICAgIGNhc2UgWEVOX0RPTUNUTF91
bmJpbmRfcHRfaXJxOgogICAgICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0
aW9uKFhTTV9ETV9QUklWLCBjdXJyZW50LT5kb21haW4sIGQpOwogCiAgICAg
Y2FzZSBYRU5fRE9NQ1RMX2dldGRvbWFpbmluZm86CisgICAgY2FzZSBYRU5f
RE9NQ1RMX21lbW9yeV9tYXBwaW5nOgogICAgICAgICBBU1NFUlRfVU5SRUFD
SEFCTEUoKTsKICAgICAgICAgcmV0dXJuIC1FSUxTRVE7CiAKQEAgLTU3NSw3
ICs1NzUsNyBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNt
X2lvbWVtCiBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX2lv
bWVtX21hcHBpbmcoCiAgICAgWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBkb21h
aW4gKmQsIHVpbnQ2NF90IHMsIHVpbnQ2NF90IGUsIHVpbnQ4X3QgYWxsb3cp
CiB7Ci0gICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX0hPT0spOworICAgIFhT
TV9BU1NFUlRfQUNUSU9OKFhTTV9ETV9QUklWKTsKICAgICByZXR1cm4geHNt
X2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBkKTsK
IH0KIAotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIveGVuL3hz
bS9mbGFzay9ob29rcy5jCkBAIC02ODIsNiArNjgyLDcgQEAgc3RhdGljIGlu
dCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0CiAKICAgICAvKiBUaGVz
ZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzIGFuZCBkb24ndCBtYWtlIGl0
IGhlcmUuICovCiAgICAgY2FzZSBYRU5fRE9NQ1RMX2dldGRvbWFpbmluZm86
CisgICAgY2FzZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBwaW5nOgogICAgICAg
ICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKICAgICAgICAgcmV0dXJuIC1FSUxT
RVE7CiAKQEAgLTY4OSw3ICs2OTAsNiBAQCBzdGF0aWMgaW50IGNmX2NoZWNr
IGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICBjYXNlIFhFTl9ET01DVExfc2No
ZWR1bGVyX29wOgogICAgIGNhc2UgWEVOX0RPTUNUTF9pcnFfcGVybWlzc2lv
bjoKICAgICBjYXNlIFhFTl9ET01DVExfaW9tZW1fcGVybWlzc2lvbjoKLSAg
ICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAgICAgY2FzZSBY
RU5fRE9NQ1RMX3NldF90YXJnZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Zt
X2V2ZW50X29wOgogCg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.20-08.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.20-08.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nIHdp
dGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRlZGljYXRlZCBs
b2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3QgcmVxdWlyZWQg
aGVyZSBhbnltb3JlLgpBcyB0aGUgaGFuZGxpbmcgaXMgaW4gYXJjaC1zcGVj
aWZpYyBjb2RlICh4ODYgb25seSksIGFsbW9zdCBubyBjb2RlIGlzCmJlaW5n
IG1vdmVkLCBidXQgYSAybmQgKGV4dGVuc2libGUgdG8gb3RoZXIgc3ViLW9w
cykgaW52b2NhdGlvbiBvZgphcmNoX2RvX2RvbWN0bCgpIGlzIGJlaW5nIGFk
ZGVkLiBNb3ZlIGp1c3QgdGhlIHJlLXB1cnBvc2VkIGRlZGljYXRlZCBYU00K
Y2hlY2sgYXMgZWFybHkgYXMgcG9zc2libGUuCgpJbiBmbGFza19kb21jdGwo
KSBkb24ndCBwdXQgI2lmZGVmIGFyb3VuZCB0aGUgbW92ZWQgY2FzZSBsYWJl
bC4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKRml4ZXM6IGZkYTQ5Zjli
M2ZiYiAoIkFkZCBidWlsZCBvcHRpb24gdG8gYWxsb3cgbW9yZSBoeXBlcmNh
bGxzIGZyb20gc3R1YmRvbXMiKQpSZXBvcnRlZC1ieTogQW5kcmV3IENvb3Bl
ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
Um9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkFja2Vk
LWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9u
cy5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVu
L2FyY2gveDg2L2RvbWN0bC5jCkBAIC02NTYsMTIgKzY1NiwxNSBAQCBsb25n
IGFyY2hfZG9fZG9tY3RsKAogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KIAorICAgICAgICByZXQgPSB4c21faW9wb3J0X21hcHBpbmcoWFNNX0RN
X1BSSVYsIGQsIGZtcCwgZm1wICsgbnAgLSAxLCBhZGQpOworICAgICAgICBp
ZiAoIHJldCApCisgICAgICAgICAgICBicmVhazsKKwogICAgICAgICBodm0g
PSAmZC0+YXJjaC5odm07CiAgICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhk
LCB0cnVlKTsKIAotICAgICAgICBpZiAoICFpb3BvcnRzX2FjY2Vzc19wZXJt
aXR0ZWQoY3VycmQsIGZtcCwgZm1wICsgbnAgLSAxKSB8fAotICAgICAgICAg
ICAgIChyZXQgPSB4c21faW9wb3J0X21hcHBpbmcoWFNNX0hPT0ssIGQsIGZt
cCwgZm1wICsgbnAgLSAxLCBhZGQpKSApCi0gICAgICAgICAgICByZXQgPSBy
ZXQgPzogLUVQRVJNOworICAgICAgICBpZiAoICFpb3BvcnRzX2FjY2Vzc19w
ZXJtaXR0ZWQoY3VycmQsIGZtcCwgZm1wICsgbnAgLSAxKSApCisgICAgICAg
ICAgICByZXQgPSAtRVBFUk07CiAgICAgICAgIGVsc2UgaWYgKCBhZGQgKQog
ICAgICAgICB7CiAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfSU5GTwot
LS0gYS94ZW4vY29tbW9uL2RvbWN0bC5jCisrKyBiL3hlbi9jb21tb24vZG9t
Y3RsLmMKQEAgLTQyNyw2ICs0MjcsMTAgQEAgbG9uZyBkb19kb21jdGwoWEVO
X0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICBnb3RvIGRvbWN0bF9v
dXRfdW5sb2NrX2RvbW9ubHk7CiAgICAgfQogCisgICAgY2FzZSBYRU5fRE9N
Q1RMX2lvcG9ydF9tYXBwaW5nOgorICAgICAgICByZXQgPSBhcmNoX2RvX2Rv
bWN0bChvcCwgZCwgdV9kb21jdGwpOworICAgICAgICBnb3RvIGRvbWN0bF9v
dXRfdW5sb2NrX2RvbW9ubHk7CisKICAgICBkZWZhdWx0OgogICAgICAgICAv
KiBFdmVyeXRoaW5nIGVsc2UgaGFuZGxlZCBmdXJ0aGVyIGRvd24uICovCiAg
ICAgICAgIGJyZWFrOwotLS0gYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAor
KysgYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTY3LDEyICsxNjcs
MTIgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9kb21j
dAogICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9PVEhFUik7CiAgICAgc3dp
dGNoICggY21kICkKICAgICB7Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9y
dF9tYXBwaW5nOgogICAgIGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToK
ICAgICBjYXNlIFhFTl9ET01DVExfdW5iaW5kX3B0X2lycToKICAgICAgICAg
cmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihYU01fRE1fUFJJViwgY3VycmVu
dC0+ZG9tYWluLCBkKTsKIAogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRkb21h
aW5pbmZvOgorICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoK
ICAgICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAgICAgICAg
IEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAgICAgICByZXR1cm4gLUVJTFNF
UTsKQEAgLTc3MSw3ICs3NzEsNyBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQg
Y2ZfY2hlY2sgeHNtX2lvcG9yCiBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2Zf
Y2hlY2sgeHNtX2lvcG9ydF9tYXBwaW5nKAogICAgIFhTTV9ERUZBVUxUX0FS
RyBzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBzLCB1aW50MzJfdCBlLCB1
aW50OF90IGFsbG93KQogewotICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9I
T09LKTsKKyAgICBYU01fQVNTRVJUX0FDVElPTihYU01fRE1fUFJJVik7CiAg
ICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQt
PmRvbWFpbiwgZCk7CiB9CiAKLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5j
CisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjgyLDYgKzY4Miw3
IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAog
CiAgICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBob29rcyBhbmQg
ZG9uJ3QgbWFrZSBpdCBoZXJlLiAqLwogICAgIGNhc2UgWEVOX0RPTUNUTF9n
ZXRkb21haW5pbmZvOgorICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFw
cGluZzoKICAgICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAg
ICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAgICAgICByZXR1cm4g
LUVJTFNFUTsKQEAgLTcwMCw3ICs3MDEsNiBAQCBzdGF0aWMgaW50IGNmX2No
ZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICAvKiBUaGVzZSBoYXZlIGlu
ZGl2aWR1YWwgWFNNIGhvb2tzIChhcmNoL3g4Ni9kb21jdGwuYykgKi8KICAg
ICBjYXNlIFhFTl9ET01DVExfc2hhZG93X29wOgogICAgIGNhc2UgWEVOX0RP
TUNUTF9pb3BvcnRfcGVybWlzc2lvbjoKLSAgICBjYXNlIFhFTl9ET01DVExf
aW9wb3J0X21hcHBpbmc6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2dzaV9wZXJt
aXNzaW9uOgogI2VuZGlmCiAjaWZkZWYgQ09ORklHX0hBU19QQVNTVEhST1VH
SAo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.20-09.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.20-09.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX3ssdW59YmluZF9wdF9pcnEg
d2l0aG91dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKCldpdGggZGVkaWNhdGVk
IGxvY2tpbmcgYWRkZWQsIHRoZSBkb21jdGwgbG9jayBpc24ndCByZXF1aXJl
ZCBoZXJlIGFueW1vcmUuCihJdCBhbHNvIGFscmVhZHkgaXNuJ3QgdXNlZCB3
aGVuIHB0X2lycV97Y3JlYXRlLGRlc3Ryb3l9X2JpbmQoKSBhcmUKaW52b2tl
ZCBmb3IgUFZIIERvbTAuKSBBcyB0aGUgaGFuZGxpbmcgaXMgaW4gYXJjaC1z
cGVjaWZpYyBjb2RlLCBubyBjb2RlCmlzIGJlaW5nIG1vdmVkLCBidXQgdGhl
IDJuZCAoZXh0ZW5zaWJsZSB0byBvdGhlciBzdWItb3BzIGxpa2UgdGhlIG9u
ZXMKaGVyZSkgaW52b2NhdGlvbiBvZiBhcmNoX2RvX2RvbWN0bCgpIGlzIGJl
aW5nIHJlLXVzZWQuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4KCkZpeGVz
OiBmZGE0OWY5YjNmYmIgKCJBZGQgYnVpbGQgb3B0aW9uIHRvIGFsbG93IG1v
cmUgaHlwZXJjYWxscyBmcm9tIHN0dWJkb21zIikKUmVwb3J0ZWQtYnk6IEFu
ZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClNpZ25l
ZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2
aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXgu
Y29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0
dXNzb2x1dGlvbnMuY29tPgpBY2tlZC1ieTogSnVsaWVuIEdyYWxsIDxqdWxp
ZW5AeGVuLm9yZz4KCi0tLSBhL3hlbi9hcmNoL2FybS9kb21jdGwuYworKysg
Yi94ZW4vYXJjaC9hcm0vZG9tY3RsLmMKQEAgLTEwNCw3ICsxMDQsNyBAQCBs
b25nIGFyY2hfZG9fZG9tY3RsKHN0cnVjdCB4ZW5fZG9tY3RsICpkCiAgICAg
ICAgIGlmICggcmMgKQogICAgICAgICAgICAgcmV0dXJuIHJjOwogCi0gICAg
ICAgIHJjID0geHNtX2JpbmRfcHRfaXJxKFhTTV9IT09LLCBkLCBiaW5kKTsK
KyAgICAgICAgcmMgPSB4c21fYmluZF9wdF9pcnEoWFNNX0RNX1BSSVYsIGQs
IGJpbmQpOwogICAgICAgICBpZiAoIHJjICkKICAgICAgICAgICAgIHJldHVy
biByYzsKIApAQCAtMTQwLDcgKzE0MCw3IEBAIGxvbmcgYXJjaF9kb19kb21j
dGwoc3RydWN0IHhlbl9kb21jdGwgKmQKICAgICAgICAgaWYgKCBpcnEgIT0g
dmlycSApCiAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAotICAgICAg
ICByYyA9IHhzbV91bmJpbmRfcHRfaXJxKFhTTV9IT09LLCBkLCBiaW5kKTsK
KyAgICAgICAgcmMgPSB4c21fdW5iaW5kX3B0X2lycShYU01fRE1fUFJJViwg
ZCwgYmluZCk7CiAgICAgICAgIGlmICggcmMgKQogICAgICAgICAgICAgcmV0
dXJuIHJjOwogCi0tLSBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYworKysgYi94
ZW4vYXJjaC94ODYvZG9tY3RsLmMKQEAgLTU2OCw3ICs1NjgsNyBAQCBsb25n
IGFyY2hfZG9fZG9tY3RsKAogICAgICAgICBpZiAoICFpc19odm1fZG9tYWlu
KGQpICkKICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIHJldCA9IHhz
bV9iaW5kX3B0X2lycShYU01fSE9PSywgZCwgYmluZCk7CisgICAgICAgIHJl
dCA9IHhzbV9iaW5kX3B0X2lycShYU01fRE1fUFJJViwgZCwgYmluZCk7CiAg
ICAgICAgIGlmICggcmV0ICkKICAgICAgICAgICAgIGJyZWFrOwogCkBAIC02
MDYsNyArNjA2LDcgQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgKICAgICAgICAg
aWYgKCAhaXNfaHZtX2RvbWFpbihkKSApCiAgICAgICAgICAgICBicmVhazsK
IAotICAgICAgICByZXQgPSB4c21fdW5iaW5kX3B0X2lycShYU01fSE9PSywg
ZCwgYmluZCk7CisgICAgICAgIHJldCA9IHhzbV91bmJpbmRfcHRfaXJxKFhT
TV9ETV9QUklWLCBkLCBiaW5kKTsKICAgICAgICAgaWYgKCByZXQgKQogICAg
ICAgICAgICAgYnJlYWs7CiAKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYwor
KysgYi94ZW4vY29tbW9uL2RvbWN0bC5jCkBAIC00MjgsNiArNDI4LDggQEAg
bG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAg
IH0KIAogICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKKyAg
ICBjYXNlIFhFTl9ET01DVExfYmluZF9wdF9pcnE6CisgICAgY2FzZSBYRU5f
RE9NQ1RMX3VuYmluZF9wdF9pcnE6CiAgICAgICAgIHJldCA9IGFyY2hfZG9f
ZG9tY3RsKG9wLCBkLCB1X2RvbWN0bCk7CiAgICAgICAgIGdvdG8gZG9tY3Rs
X291dF91bmxvY2tfZG9tb25seTsKIAotLS0gYS94ZW4vaW5jbHVkZS94c20v
ZHVtbXkuaAorKysgYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTY4
LDEyICsxNjgsMTAgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNr
IHhzbV9kb21jdAogICAgIHN3aXRjaCAoIGNtZCApCiAgICAgewogICAgIGNh
c2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToKLSAgICBjYXNlIFhFTl9ET01D
VExfdW5iaW5kX3B0X2lycToKLSAgICAgICAgcmV0dXJuIHhzbV9kZWZhdWx0
X2FjdGlvbihYU01fRE1fUFJJViwgY3VycmVudC0+ZG9tYWluLCBkKTsKLQog
ICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRkb21haW5pbmZvOgogICAgIGNhc2Ug
WEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBjYXNlIFhFTl9ET01D
VExfbWVtb3J5X21hcHBpbmc6CisgICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmlu
ZF9wdF9pcnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAg
ICAgICByZXR1cm4gLUVJTFNFUTsKIApAQCAtNTQwLDE0ICs1MzgsMTQgQEAg
c3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV91bm1hcAogc3Rh
dGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9iaW5kX3B0X2lycSgK
ICAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0
IHhlbl9kb21jdGxfYmluZF9wdF9pcnEgKmJpbmQpCiB7Ci0gICAgWFNNX0FT
U0VSVF9BQ1RJT04oWFNNX0hPT0spOworICAgIFhTTV9BU1NFUlRfQUNUSU9O
KFhTTV9ETV9QUklWKTsKICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9u
KGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBkKTsKIH0KIAogc3RhdGljIFhT
TV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV91bmJpbmRfcHRfaXJxKAogICAg
IFhTTV9ERUZBVUxUX0FSRyBzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgeGVu
X2RvbWN0bF9iaW5kX3B0X2lycSAqYmluZCkKIHsKLSAgICBYU01fQVNTRVJU
X0FDVElPTihYU01fSE9PSyk7CisgICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNN
X0RNX1BSSVYpOwogICAgIHJldHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0
aW9uLCBjdXJyZW50LT5kb21haW4sIGQpOwogfQogCi0tLSBhL3hlbi94c20v
Zmxhc2svaG9va3MuYworKysgYi94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAg
LTY4MSw5ICs2ODEsMTEgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19k
b21jdGwoc3RydWN0CiAgICAgICAgIHJldHVybiBhdmNfY3VycmVudF9oYXNf
cGVybShzc2lkcmVmLCBTRUNDTEFTU19ET01BSU4sIERPTUFJTl9fQ1JFQVRF
LCBOVUxMKTsKIAogICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00g
aG9va3MgYW5kIGRvbid0IG1ha2UgaXQgaGVyZS4gKi8KKyAgICBjYXNlIFhF
Tl9ET01DVExfYmluZF9wdF9pcnE6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2dl
dGRvbWFpbmluZm86CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBw
aW5nOgogICAgIGNhc2UgWEVOX0RPTUNUTF9tZW1vcnlfbWFwcGluZzoKKyAg
ICBjYXNlIFhFTl9ET01DVExfdW5iaW5kX3B0X2lycToKICAgICAgICAgQVNT
RVJUX1VOUkVBQ0hBQkxFKCk7CiAgICAgICAgIHJldHVybiAtRUlMU0VROwog
CkBAIC02OTQsOSArNjk2LDYgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFz
a19kb21jdGwoc3RydWN0CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3NldF90YXJn
ZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3ZtX2V2ZW50X29wOgogCi0gICAg
LyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBob29rcyAoYXJjaC8uLi9k
b21jdGwuYykgKi8KLSAgICBjYXNlIFhFTl9ET01DVExfYmluZF9wdF9pcnE6
Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmluZF9wdF9pcnE6CiAjaWZkZWYg
Q09ORklHX1g4NgogICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00g
aG9va3MgKGFyY2gveDg2L2RvbWN0bC5jKSAqLwogICAgIGNhc2UgWEVOX0RP
TUNUTF9zaGFkb3dfb3A6Cg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.20-10.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.20-10.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2lve21lbSxwb3J0fV9wZXJt
aXNzaW9uIHdpdGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRl
ZGljYXRlZCBsb2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3Qg
cmVxdWlyZWQgaGVyZSBhbnltb3JlLgpBcyB0aGUgSS9PIHBvcnQgaGFuZGxp
bmcgaXMgaW4gYXJjaC1zcGVjaWZpYyBjb2RlICh4ODYgb25seSksIG5vIGNv
ZGUgaXMKYmVpbmcgbW92ZWQsIGJ1dCB0aGUgMm5kIGludm9jYXRpb24gb2Yg
YXJjaF9kb19kb21jdGwoKSBpcyByZS11c2VkLiBNb3ZlCnRoZSByZS1wdXJw
b3NlZCBkZWRpY2F0ZWQgWFNNIGNoZWNrcyBhcyBlYXJseSBhcyBwb3NzaWJs
ZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
Um9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkFja2Vk
LWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9u
cy5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVu
L2FyY2gveDg2L2RvbWN0bC5jCkBAIC0yMjYsMTIgKzIyNiwxNyBAQCBsb25n
IGFyY2hfZG9fZG9tY3RsKAogICAgICAgICB1bnNpZ25lZCBpbnQgbnAgPSBk
b21jdGwtPnUuaW9wb3J0X3Blcm1pc3Npb24ubnJfcG9ydHM7CiAgICAgICAg
IGludCBhbGxvdyA9IGRvbWN0bC0+dS5pb3BvcnRfcGVybWlzc2lvbi5hbGxv
d19hY2Nlc3M7CiAKKyAgICAgICAgcmV0ID0gLUVJTlZBTDsKKyAgICAgICAg
aWYgKCAoZnAgKyBucCkgPD0gZnAgfHwgKGZwICsgbnApID4gTUFYX0lPUE9S
VFMgKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgcmV0ID0geHNt
X2lvcG9ydF9wZXJtaXNzaW9uKFhTTV9QUklWLCBkLCBmcCwgZnAgKyBucCAt
IDEsIGFsbG93KTsKKyAgICAgICAgaWYgKCByZXQgKQorICAgICAgICAgICAg
YnJlYWs7CisKICAgICAgICAgaW9jYXBzX2RvdWJsZV9sb2NrKGQsIHRydWUp
OwogCi0gICAgICAgIGlmICggKGZwICsgbnApIDw9IGZwIHx8IChmcCArIG5w
KSA+IE1BWF9JT1BPUlRTICkKLSAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7
Ci0gICAgICAgIGVsc2UgaWYgKCAhaW9wb3J0c19hY2Nlc3NfcGVybWl0dGVk
KGN1cnJkLCBmcCwgZnAgKyBucCAtIDEpIHx8Ci0gICAgICAgICAgICAgICAg
ICB4c21faW9wb3J0X3Blcm1pc3Npb24oWFNNX0hPT0ssIGQsIGZwLCBmcCAr
IG5wIC0gMSwgYWxsb3cpICkKKyAgICAgICAgaWYgKCAhaW9wb3J0c19hY2Nl
c3NfcGVybWl0dGVkKGN1cnJkLCBmcCwgZnAgKyBucCAtIDEpICkKICAgICAg
ICAgICAgIHJldCA9IC1FUEVSTTsKICAgICAgICAgZWxzZSBpZiAoIGFsbG93
ICkKICAgICAgICAgICAgIHJldCA9IGlvcG9ydHNfcGVybWl0X2FjY2Vzcyhk
LCBmcCwgZnAgKyBucCAtIDEpOwotLS0gYS94ZW4vY29tbW9uL2RvbWN0bC5j
CisrKyBiL3hlbi9jb21tb24vZG9tY3RsLmMKQEAgLTM2Nyw2ICszNjcsMzQg
QEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQog
CiAgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9tb25seTsKIAor
ICAgIGNhc2UgWEVOX0RPTUNUTF9pb21lbV9wZXJtaXNzaW9uOgorICAgIHsK
KyAgICAgICAgdW5zaWduZWQgbG9uZyBtZm4gPSBvcC0+dS5pb21lbV9wZXJt
aXNzaW9uLmZpcnN0X21mbjsKKyAgICAgICAgdW5zaWduZWQgbG9uZyBucl9t
Zm5zID0gb3AtPnUuaW9tZW1fcGVybWlzc2lvbi5ucl9tZm5zOworICAgICAg
ICBib29sIGFsbG93ID0gb3AtPnUuaW9tZW1fcGVybWlzc2lvbi5hbGxvd19h
Y2Nlc3M7CisKKyAgICAgICAgcmV0ID0gLUVJTlZBTDsKKyAgICAgICAgaWYg
KCAobWZuICsgbnJfbWZucyAtIDEpIDwgbWZuICkgLyogV3JhcD8gKi8KKyAg
ICAgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9tb25seTsKKwor
ICAgICAgICByZXQgPSB4c21faW9tZW1fcGVybWlzc2lvbihYU01fUFJJViwg
ZCwgbWZuLCBtZm4gKyBucl9tZm5zIC0gMSwgYWxsb3cpOworICAgICAgICBp
ZiAoIHJldCApCisgICAgICAgICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2Nr
X2RvbW9ubHk7CisKKyAgICAgICAgaW9jYXBzX2RvdWJsZV9sb2NrKGQsIHRy
dWUpOworCisgICAgICAgIGlmICggIWlvbWVtX2FjY2Vzc19wZXJtaXR0ZWQo
Y3VycmVudC0+ZG9tYWluLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1mbiwgbWZuICsgbnJfbWZucyAtIDEpICkKKyAgICAgICAg
ICAgIHJldCA9IC1FUEVSTTsKKyAgICAgICAgZWxzZSBpZiAoIGFsbG93ICkK
KyAgICAgICAgICAgIHJldCA9IGlvbWVtX3Blcm1pdF9hY2Nlc3MoZCwgbWZu
LCBtZm4gKyBucl9tZm5zIC0gMSk7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIHJldCA9IGlvbWVtX2RlbnlfYWNjZXNzKGQsIG1mbiwgbWZuICsgbnJf
bWZucyAtIDEpOworCisgICAgICAgIGlvY2Fwc19kb3VibGVfdW5sb2NrKGQs
IHRydWUpOworICAgICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9u
bHk7CisgICAgfQorCiAgICAgY2FzZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBw
aW5nOgogICAgIHsKICAgICAgICAgdW5zaWduZWQgbG9uZyBnZm4gPSBvcC0+
dS5tZW1vcnlfbWFwcGluZy5maXJzdF9nZm47CkBAIC00MjcsNiArNDU1LDcg
QEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQog
ICAgICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CiAgICAg
fQogCisgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNzaW9uOgog
ICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBjYXNl
IFhFTl9ET01DVExfYmluZF9wdF9pcnE6CiAgICAgY2FzZSBYRU5fRE9NQ1RM
X3VuYmluZF9wdF9pcnE6CkBAIC03ODYsMzEgKzgxNSw2IEBAIGxvbmcgZG9f
ZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICB9CiAjZW5k
aWYKIAotICAgIGNhc2UgWEVOX0RPTUNUTF9pb21lbV9wZXJtaXNzaW9uOgot
ICAgIHsKLSAgICAgICAgdW5zaWduZWQgbG9uZyBtZm4gPSBvcC0+dS5pb21l
bV9wZXJtaXNzaW9uLmZpcnN0X21mbjsKLSAgICAgICAgdW5zaWduZWQgbG9u
ZyBucl9tZm5zID0gb3AtPnUuaW9tZW1fcGVybWlzc2lvbi5ucl9tZm5zOwot
ICAgICAgICBpbnQgYWxsb3cgPSBvcC0+dS5pb21lbV9wZXJtaXNzaW9uLmFs
bG93X2FjY2VzczsKLQotICAgICAgICByZXQgPSAtRUlOVkFMOwotICAgICAg
ICBpZiAoIChtZm4gKyBucl9tZm5zIC0gMSkgPCBtZm4gKSAvKiB3cmFwPyAq
LwotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgaW9jYXBzX2RvdWJs
ZV9sb2NrKGQsIHRydWUpOwotCi0gICAgICAgIGlmICggIWlvbWVtX2FjY2Vz
c19wZXJtaXR0ZWQoY3VycmVudC0+ZG9tYWluLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1mbiwgbWZuICsgbnJfbWZucyAtIDEp
IHx8Ci0gICAgICAgICAgICAgeHNtX2lvbWVtX3Blcm1pc3Npb24oWFNNX0hP
T0ssIGQsIG1mbiwgbWZuICsgbnJfbWZucyAtIDEsIGFsbG93KSApCi0gICAg
ICAgICAgICByZXQgPSAtRVBFUk07Ci0gICAgICAgIGVsc2UgaWYgKCBhbGxv
dyApCi0gICAgICAgICAgICByZXQgPSBpb21lbV9wZXJtaXRfYWNjZXNzKGQs
IG1mbiwgbWZuICsgbnJfbWZucyAtIDEpOwotICAgICAgICBlbHNlCi0gICAg
ICAgICAgICByZXQgPSBpb21lbV9kZW55X2FjY2VzcyhkLCBtZm4sIG1mbiAr
IG5yX21mbnMgLSAxKTsKLQotICAgICAgICBpb2NhcHNfZG91YmxlX3VubG9j
ayhkLCB0cnVlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2Fz
ZSBYRU5fRE9NQ1RMX3NldHRpbWVvZmZzZXQ6CiAgICAgICAgIGRvbWFpbl9z
ZXRfdGltZV9vZmZzZXQoZCwgb3AtPnUuc2V0dGltZW9mZnNldC50aW1lX29m
ZnNldF9zZWNvbmRzKTsKICAgICAgICAgYnJlYWs7Ci0tLSBhL3hlbi9pbmNs
dWRlL3hzbS9kdW1teS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5o
CkBAIC0xNjksNyArMTY5LDkgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNm
X2NoZWNrIHhzbV9kb21jdAogICAgIHsKICAgICBjYXNlIFhFTl9ET01DVExf
YmluZF9wdF9pcnE6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2dldGRvbWFpbmlu
Zm86CisgICAgY2FzZSBYRU5fRE9NQ1RMX2lvbWVtX3Blcm1pc3Npb246CiAg
ICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nOgorICAgIGNhc2Ug
WEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9E
T01DVExfbWVtb3J5X21hcHBpbmc6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Vu
YmluZF9wdF9pcnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwpA
QCAtNTY2LDcgKzU2OCw3IEBAIHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9j
aGVjayB4c21faXJxX3AKIHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVj
ayB4c21faW9tZW1fcGVybWlzc2lvbigKICAgICBYU01fREVGQVVMVF9BUkcg
c3RydWN0IGRvbWFpbiAqZCwgdWludDY0X3QgcywgdWludDY0X3QgZSwgdWlu
dDhfdCBhbGxvdykKIHsKLSAgICBYU01fQVNTRVJUX0FDVElPTihYU01fSE9P
Syk7CisgICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX1BSSVYpOwogICAgIHJl
dHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5kb21h
aW4sIGQpOwogfQogCkBAIC03NjIsNyArNzY0LDcgQEAgc3RhdGljIFhTTV9J
TkxJTkUgaW50IGNmX2NoZWNrIHhzbV9wcml2Xwogc3RhdGljIFhTTV9JTkxJ
TkUgaW50IGNmX2NoZWNrIHhzbV9pb3BvcnRfcGVybWlzc2lvbigKICAgICBY
U01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3Qgcywg
dWludDMyX3QgZSwgdWludDhfdCBhbGxvdykKIHsKLSAgICBYU01fQVNTRVJU
X0FDVElPTihYU01fSE9PSyk7CisgICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNN
X1BSSVYpOwogICAgIHJldHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9u
LCBjdXJyZW50LT5kb21haW4sIGQpOwogfQogCi0tLSBhL3hlbi94c20vZmxh
c2svaG9va3MuYworKysgYi94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAgLTY4
Myw3ICs2ODMsOSBAQCBzdGF0aWMgaW50IGNmX2NoZWNrIGZsYXNrX2RvbWN0
bChzdHJ1Y3QKICAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhv
b2tzIGFuZCBkb24ndCBtYWtlIGl0IGhlcmUuICovCiAgICAgY2FzZSBYRU5f
RE9NQ1RMX2JpbmRfcHRfaXJxOgogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRk
b21haW5pbmZvOgorICAgIGNhc2UgWEVOX0RPTUNUTF9pb21lbV9wZXJtaXNz
aW9uOgogICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKKyAg
ICBjYXNlIFhFTl9ET01DVExfaW9wb3J0X3Blcm1pc3Npb246CiAgICAgY2Fz
ZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBwaW5nOgogICAgIGNhc2UgWEVOX0RP
TUNUTF91bmJpbmRfcHRfaXJxOgogICAgICAgICBBU1NFUlRfVU5SRUFDSEFC
TEUoKTsKQEAgLTY5MiwxNCArNjk0LDEyIEBAIHN0YXRpYyBpbnQgY2ZfY2hl
Y2sgZmxhc2tfZG9tY3RsKHN0cnVjdAogICAgIC8qIFRoZXNlIGhhdmUgaW5k
aXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9kb21jdGwuYykgKi8KICAgICBj
YXNlIFhFTl9ET01DVExfc2NoZWR1bGVyX29wOgogICAgIGNhc2UgWEVOX0RP
TUNUTF9pcnFfcGVybWlzc2lvbjoKLSAgICBjYXNlIFhFTl9ET01DVExfaW9t
ZW1fcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9ET01DVExfc2V0X3Rhcmdl
dDoKICAgICBjYXNlIFhFTl9ET01DVExfdm1fZXZlbnRfb3A6CiAKICNpZmRl
ZiBDT05GSUdfWDg2CiAgICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhT
TSBob29rcyAoYXJjaC94ODYvZG9tY3RsLmMpICovCiAgICAgY2FzZSBYRU5f
RE9NQ1RMX3NoYWRvd19vcDoKLSAgICBjYXNlIFhFTl9ET01DVExfaW9wb3J0
X3Blcm1pc3Npb246CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2dzaV9wZXJtaXNz
aW9uOgogI2VuZGlmCiAjaWZkZWYgQ09ORklHX0hBU19QQVNTVEhST1VHSAo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.20-11.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.20-11.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX3tpcnEsZ3NpfV9wZXJtaXNz
aW9uIHdpdGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRlZGlj
YXRlZCBsb2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3QgcmVx
dWlyZWQgaGVyZSBhbnltb3JlLgpBcyB0aGUgR1NJIGhhbmRsaW5nIGlzIGlu
IGFyY2gtc3BlY2lmaWMgY29kZSAoeDg2IG9ubHkpLCBubyBjb2RlIGlzIGJl
aW5nCm1vdmVkIHRoZXJlOyB0aGUgMm5kIGludm9jYXRpb24gb2YgYXJjaF9k
b19kb21jdGwoKSBpcyByZS11c2VkLiBNb3ZlIHRoZQpyZS1wdXJwb3NlZCAo
WFNNX0hPT0sgLT4gWFNNX1BSSVYsIGFzIHhzbV9kb21jdGwoKSBpcyBub3cg
YnlwYXNzZWQpCmRlZGljYXRlZCBYU00gY2hlY2tzIGFzIGVhcmx5IGFzIHBv
c3NpYmxlLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIuCgpTaWduZWQtb2Zm
LWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkFja2VkLWJ5
OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5j
b20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVA
Y2l0cml4LmNvbT4KCi0tLSBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYworKysg
Yi94ZW4vYXJjaC94ODYvZG9tY3RsLmMKQEAgLTI2NSwxMCArMjY1LDEzIEBA
IGxvbmcgYXJjaF9kb19kb21jdGwoCiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgfQogCisgICAgICAgIHJldCA9IHhzbV9pcnFfcGVybWlzc2lvbihY
U01fUFJJViwgZCwgaXJxLCBmbGFncyk7CisgICAgICAgIGlmICggcmV0ICkK
KyAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAgIGlvY2Fwc19kb3VibGVf
bG9jayhkLCB0cnVlKTsKIAotICAgICAgICBpZiAoICFpcnFfYWNjZXNzX3Bl
cm1pdHRlZChjdXJyZCwgaXJxKSB8fAotICAgICAgICAgICAgIHhzbV9pcnFf
cGVybWlzc2lvbihYU01fSE9PSywgZCwgaXJxLCBmbGFncykgKQorICAgICAg
ICBpZiAoICFpcnFfYWNjZXNzX3Blcm1pdHRlZChjdXJyZCwgaXJxKSApCiAg
ICAgICAgICAgICByZXQgPSAtRVBFUk07CiAgICAgICAgIGVsc2UgaWYgKCBm
bGFncyApCiAgICAgICAgICAgICByZXQgPSBpcnFfcGVybWl0X2FjY2Vzcyhk
LCBpcnEpOwotLS0gYS94ZW4vY29tbW9uL2RvbWN0bC5jCisrKyBiL3hlbi9j
b21tb24vZG9tY3RsLmMKQEAgLTQ1NSw4ICs0NTUsNDEgQEAgbG9uZyBkb19k
b21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICBnb3Rv
IGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CiAgICAgfQogCisjaWZkZWYg
Q09ORklHX0hBU19QSVJRCisgICAgY2FzZSBYRU5fRE9NQ1RMX2lycV9wZXJt
aXNzaW9uOgorICAgIHsKKyAgICAgICAgdW5zaWduZWQgaW50IHBpcnEgPSBv
cC0+dS5pcnFfcGVybWlzc2lvbi5waXJxLCBpcnE7CisgICAgICAgIGJvb2wg
YWxsb3cgPSBvcC0+dS5pcnFfcGVybWlzc2lvbi5hbGxvd19hY2Nlc3M7CisK
KyAgICAgICAgcmV0ID0gLUVJTlZBTDsKKyAgICAgICAgaWYgKCBwaXJxID49
IGN1cnJlbnQtPmRvbWFpbi0+bnJfcGlycXMgKQorICAgICAgICAgICAgZ290
byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5OworCisgICAgICAgIGlycSA9
IGRvbWFpbl9waXJxX3RvX2lycShjdXJyZW50LT5kb21haW4sIHBpcnEpOwor
CisgICAgICAgIHJldCA9IC1FUEVSTTsKKyAgICAgICAgaWYgKCBpcnEgKQor
ICAgICAgICAgICAgcmV0ID0geHNtX2lycV9wZXJtaXNzaW9uKFhTTV9QUklW
LCBkLCBpcnEsIGFsbG93KTsKKyAgICAgICAgaWYgKCByZXQgKQorICAgICAg
ICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5OworCisgICAg
ICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCB0cnVlKTsKKworICAgICAgICBp
ZiAoICFpcnFfYWNjZXNzX3Blcm1pdHRlZChjdXJyZW50LT5kb21haW4sIGly
cSkgKQorICAgICAgICAgICAgcmV0ID0gLUVQRVJNOworICAgICAgICBlbHNl
IGlmICggYWxsb3cgKQorICAgICAgICAgICAgcmV0ID0gaXJxX3Blcm1pdF9h
Y2Nlc3MoZCwgaXJxKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0
ID0gaXJxX2RlbnlfYWNjZXNzKGQsIGlycSk7CisKKyAgICAgICAgaW9jYXBz
X2RvdWJsZV91bmxvY2soZCwgdHJ1ZSk7CisgICAgICAgIGdvdG8gZG9tY3Rs
X291dF91bmxvY2tfZG9tb25seTsKKyAgICB9CisjZW5kaWYKKwogICAgIGNh
c2UgWEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbjoKICAgICBjYXNlIFhF
Tl9ET01DVExfaW9wb3J0X21hcHBpbmc6CisgICAgY2FzZSBYRU5fRE9NQ1RM
X2dzaV9wZXJtaXNzaW9uOgogICAgIGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0
X2lycToKICAgICBjYXNlIFhFTl9ET01DVExfdW5iaW5kX3B0X2lycToKICAg
ICAgICAgcmV0ID0gYXJjaF9kb19kb21jdGwob3AsIGQsIHVfZG9tY3RsKTsK
QEAgLTc4OCwzMyArODIxLDYgQEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNU
X0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwog
Ci0jaWZkZWYgQ09ORklHX0hBU19QSVJRCi0gICAgY2FzZSBYRU5fRE9NQ1RM
X2lycV9wZXJtaXNzaW9uOgotICAgIHsKLSAgICAgICAgdW5zaWduZWQgaW50
IHBpcnEgPSBvcC0+dS5pcnFfcGVybWlzc2lvbi5waXJxLCBpcnE7Ci0gICAg
ICAgIGludCBhbGxvdyA9IG9wLT51LmlycV9wZXJtaXNzaW9uLmFsbG93X2Fj
Y2VzczsKLQotICAgICAgICBpZiAoIHBpcnEgPj0gY3VycmVudC0+ZG9tYWlu
LT5ucl9waXJxcyApCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldCA9IC1F
SU5WQUw7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotCi0gICAg
ICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCB0cnVlKTsKLQotICAgICAgICBp
cnEgPSBwaXJxX2FjY2Vzc19wZXJtaXR0ZWQoY3VycmVudC0+ZG9tYWluLCBw
aXJxKTsKLSAgICAgICAgaWYgKCAhaXJxIHx8IHhzbV9pcnFfcGVybWlzc2lv
bihYU01fSE9PSywgZCwgaXJxLCBhbGxvdykgKQotICAgICAgICAgICAgcmV0
ID0gLUVQRVJNOwotICAgICAgICBlbHNlIGlmICggYWxsb3cgKQotICAgICAg
ICAgICAgcmV0ID0gaXJxX3Blcm1pdF9hY2Nlc3MoZCwgaXJxKTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgcmV0ID0gaXJxX2RlbnlfYWNjZXNzKGQs
IGlycSk7Ci0KLSAgICAgICAgaW9jYXBzX2RvdWJsZV91bmxvY2soZCwgdHJ1
ZSk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSNlbmRpZgotCiAgICAgY2Fz
ZSBYRU5fRE9NQ1RMX3NldHRpbWVvZmZzZXQ6CiAgICAgICAgIGRvbWFpbl9z
ZXRfdGltZV9vZmZzZXQoZCwgb3AtPnUuc2V0dGltZW9mZnNldC50aW1lX29m
ZnNldF9zZWNvbmRzKTsKICAgICAgICAgYnJlYWs7Ci0tLSBhL3hlbi9pbmNs
dWRlL3hzbS9kdW1teS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5o
CkBAIC0xNjksOSArMTY5LDExIEBAIHN0YXRpYyBYU01fSU5MSU5FIGludCBj
Zl9jaGVjayB4c21fZG9tY3QKICAgICB7CiAgICAgY2FzZSBYRU5fRE9NQ1RM
X2JpbmRfcHRfaXJxOgogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRkb21haW5p
bmZvOgorICAgIGNhc2UgWEVOX0RPTUNUTF9nc2lfcGVybWlzc2lvbjoKICAg
ICBjYXNlIFhFTl9ET01DVExfaW9tZW1fcGVybWlzc2lvbjoKICAgICBjYXNl
IFhFTl9ET01DVExfaW9wb3J0X21hcHBpbmc6CiAgICAgY2FzZSBYRU5fRE9N
Q1RMX2lvcG9ydF9wZXJtaXNzaW9uOgorICAgIGNhc2UgWEVOX0RPTUNUTF9p
cnFfcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21h
cHBpbmc6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmluZF9wdF9pcnE6CiAg
ICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwpAQCAtNTYxLDcgKzU2Myw3
IEBAIHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fdW5tYXAK
IHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21faXJxX3Blcm1p
c3Npb24oCiAgICAgWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQs
IGludCBwaXJxLCB1aW50OF90IGFsbG93KQogewotICAgIFhTTV9BU1NFUlRf
QUNUSU9OKFhTTV9IT09LKTsKKyAgICBYU01fQVNTRVJUX0FDVElPTihYU01f
UFJJVik7CiAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24s
IGN1cnJlbnQtPmRvbWFpbiwgZCk7CiB9CiAKLS0tIGEveGVuL3hzbS9mbGFz
ay9ob29rcy5jCisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjgz
LDkgKzY4MywxMSBAQCBzdGF0aWMgaW50IGNmX2NoZWNrIGZsYXNrX2RvbWN0
bChzdHJ1Y3QKICAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhv
b2tzIGFuZCBkb24ndCBtYWtlIGl0IGhlcmUuICovCiAgICAgY2FzZSBYRU5f
RE9NQ1RMX2JpbmRfcHRfaXJxOgogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRk
b21haW5pbmZvOgorICAgIGNhc2UgWEVOX0RPTUNUTF9nc2lfcGVybWlzc2lv
bjoKICAgICBjYXNlIFhFTl9ET01DVExfaW9tZW1fcGVybWlzc2lvbjoKICAg
ICBjYXNlIFhFTl9ET01DVExfaW9wb3J0X21hcHBpbmc6CiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNzaW9uOgorICAgIGNhc2UgWEVOX0RP
TUNUTF9pcnFfcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9ET01DVExfbWVt
b3J5X21hcHBpbmc6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmluZF9wdF9p
cnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwpAQCAtNjkzLDE0
ICs2OTUsMTIgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwo
c3RydWN0CiAKICAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhv
b2tzIChjb21tb24vZG9tY3RsLmMpICovCiAgICAgY2FzZSBYRU5fRE9NQ1RM
X3NjaGVkdWxlcl9vcDoKLSAgICBjYXNlIFhFTl9ET01DVExfaXJxX3Blcm1p
c3Npb246CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3NldF90YXJnZXQ6CiAgICAg
Y2FzZSBYRU5fRE9NQ1RMX3ZtX2V2ZW50X29wOgogCiAjaWZkZWYgQ09ORklH
X1g4NgogICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00gaG9va3Mg
KGFyY2gveDg2L2RvbWN0bC5jKSAqLwogICAgIGNhc2UgWEVOX0RPTUNUTF9z
aGFkb3dfb3A6Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2dzaV9wZXJtaXNzaW9u
OgogI2VuZGlmCiAjaWZkZWYgQ09ORklHX0hBU19QQVNTVEhST1VHSAogICAg
IC8qCg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.20-12.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.20-12.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHZtX2V2ZW50X2NvbnRyb2wgaG9vawoKSW50
ZWdyYXRlIHRoZSBjaGVja2luZyB3aXRoIHhzbV9kb21jdGwoKS4gQ2FyZSBu
ZWVkcyB0byBiZSB0YWtlbiB3aXRoIHRoZQpHRVRfVkVSU0lPTiBzdWItb3As
IHdoaWNoIG1heSBiZSBpbnZva2VkIHdpdGggRE9NSURfSU5WQUxJRCwgYW5k
IHdoaWNoIGhhcwpiZWVuIChhbmQgY29udGludWVzIHRvIGJlKSBieXBhc3Np
bmcgWFNNIGNoZWNraW5nLgoKU2luY2UgdGhlIGxhdHRlciB0d28gcGFyYW1l
dGVycyB3ZXJlIHVudXNlZCwgbW9uaXRvcl9kb21jdGwoKSBpbnZva2luZyB0
aGUKaG9vayB3YXMgYWN0dWFsbHkgcmVkdW5kYW50IHdpdGggdGhlIGVhcmxp
ZXIgeHNtX2RvbWN0bCgpIChhcyBjYW4gYmUgc2VlbgpuaWNlbHkgZnJvbSB0
aGUgaHVua3MgY2hhbmdpbmcgeHNtL2ZsYXNrL2hvb2tzLmMpLgoKQXMgYSBw
b3NpdGl2ZSBzaWRlIGVmZmVjdCwgcGVybWlzc2lvbnMgYXJlIHRoZW4gY2hl
Y2tlZCBhdCB0aGUgc2FtZSBlYXJseQpwb2ludCB3aXRoIGFuZCB3aXRob3V0
IEZsYXNrLgoKV2hpbGUgZm9sZGluZyBYRU5fRE9NQ1RMX21vbml0b3Jfb3Ag
YW5kIFhFTl9ET01DVExfdm1fZXZlbnRfb3AgaW4KZmxhc2tfZG9tY3RsKCks
IGFsc28gZm9sZCBpbiBYRU5fRE9NQ1RMX3NldF9hY2Nlc3NfcmVxdWlyZWQu
CgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4KClNpZ25lZC1vZmYtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQWNrZWQtYnk6IERhbmll
bCBQLiBTbWl0aCA8ZHBzbWl0aEBhcGVydHVzc29sdXRpb25zLmNvbT4KUmV2
aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXgu
Y29tPgoKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYworKysgYi94ZW4vY29t
bW9uL2RvbWN0bC5jCkBAIC00ODcsNiArNDg3LDIzIEBAIGxvbmcgZG9fZG9t
Y3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICB9CiAjZW5kaWYK
IAorICAgIGNhc2UgWEVOX0RPTUNUTF92bV9ldmVudF9vcDoKKyAgICAgICAg
aWYgKCBvcC0+dS52bV9ldmVudF9vcC5vcCA9PSBYRU5fVk1fRVZFTlRfR0VU
X1ZFUlNJT04gKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBObyBYU00g
Y2hlY2sgKGFuZCBwb3RlbnRpYWxseSBkID09IE5VTEwpIGhlcmUuICovCisg
ICAgICAgICAgICByZXQgPSB2bV9ldmVudF9kb21jdGwoZCwgJm9wLT51LnZt
X2V2ZW50X29wKTsKKyAgICAgICAgICAgIGlmICggIXJldCApCisgICAgICAg
ICAgICAgICAgY29weWJhY2sgPSB0cnVlOworICAgICAgICAgICAgZ290byBk
b21jdGxfb3V0X3VubG9ja19kb21vbmx5OworICAgICAgICB9CisgICAgICAg
IGlmICggIWQgKQorICAgICAgICB7CisgICAgICAgICAgICByZXQgPSAtRVNS
Q0g7CisgICAgICAgICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9u
bHk7CisgICAgICAgIH0KKyAgICAgICAgLyogT3RoZXIgc3ViLW9wcyBoYW5k
bGVkIGZ1cnRoZXIgZG93bi4gKi8KKyAgICAgICAgYnJlYWs7CisKICAgICBj
YXNlIFhFTl9ET01DVExfaW9wb3J0X3Blcm1pc3Npb246CiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nOgogICAgIGNhc2UgWEVOX0RPTUNU
TF9nc2lfcGVybWlzc2lvbjoKLS0tIGEveGVuL2NvbW1vbi9tb25pdG9yLmMK
KysrIGIveGVuL2NvbW1vbi9tb25pdG9yLmMKQEAgLTMwLDE2ICszMCwxMSBA
QAogCiBpbnQgbW9uaXRvcl9kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgc3Ry
dWN0IHhlbl9kb21jdGxfbW9uaXRvcl9vcCAqbW9wKQogewotICAgIGludCBy
YzsKICAgICBib29sIHJlcXVlc3RlZF9zdGF0dXMgPSBmYWxzZTsKIAogICAg
IGlmICggdW5saWtlbHkoY3VycmVudC0+ZG9tYWluID09IGQpICkgLyogbm8g
ZG9tYWluX3BhdXNlKCkgKi8KICAgICAgICAgcmV0dXJuIC1FUEVSTTsKIAot
ICAgIHJjID0geHNtX3ZtX2V2ZW50X2NvbnRyb2woWFNNX1BSSVYsIGQsIG1v
cC0+b3AsIG1vcC0+ZXZlbnQpOwotICAgIGlmICggdW5saWtlbHkocmMpICkK
LSAgICAgICAgcmV0dXJuIHJjOwotCiAgICAgc3dpdGNoICggbW9wLT5vcCAp
CiAgICAgewogICAgIGNhc2UgWEVOX0RPTUNUTF9NT05JVE9SX09QX0VOQUJM
RToKLS0tIGEveGVuL2NvbW1vbi92bV9ldmVudC5jCisrKyBiL3hlbi9jb21t
b24vdm1fZXZlbnQuYwpAQCAtNjAyLDExICs2MDIsMTAgQEAgaW50IHZtX2V2
ZW50X2RvbWN0bChzdHJ1Y3QgZG9tYWluICpkLCBzdAogCiAgICAgLyogQWxs
IG90aGVyIHN1Ym9wcyBuZWVkIHRvIHRhcmdldCBhIHJlYWwgZG9tYWluLiAq
LwogICAgIGlmICggdW5saWtlbHkoZCA9PSBOVUxMKSApCi0gICAgICAgIHJl
dHVybiAtRVNSQ0g7Ci0KLSAgICByYyA9IHhzbV92bV9ldmVudF9jb250cm9s
KFhTTV9QUklWLCBkLCB2ZWMtPm1vZGUsIHZlYy0+b3ApOwotICAgIGlmICgg
cmMgKQotICAgICAgICByZXR1cm4gcmM7CisgICAgeworICAgICAgICBBU1NF
UlRfVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgcmV0dXJuIC1FSUxTRVE7Cisg
ICAgfQogCiAgICAgaWYgKCB1bmxpa2VseShkID09IGN1cnJlbnQtPmRvbWFp
bikgKSAvKiBubyBkb21haW5fcGF1c2UoKSAqLwogICAgIHsKLS0tIGEveGVu
L2luY2x1ZGUveHNtL2R1bW15LmgKKysrIGIveGVuL2luY2x1ZGUveHNtL2R1
bW15LmgKQEAgLTY1MSwxMyArNjUxLDYgQEAgc3RhdGljIFhTTV9JTkxJTkUg
aW50IGNmX2NoZWNrIHhzbV9odm1fYQogICAgIH0KIH0KIAotc3RhdGljIFhT
TV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV92bV9ldmVudF9jb250cm9sKAot
ICAgIFhTTV9ERUZBVUxUX0FSRyBzdHJ1Y3QgZG9tYWluICpkLCBpbnQgbW9k
ZSwgaW50IG9wKQotewotICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9QUklW
KTsKLSAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3Vy
cmVudC0+ZG9tYWluLCBkKTsKLX0KLQogI2lmZGVmIENPTkZJR19NRU1fQUND
RVNTCiBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX21lbV9h
Y2Nlc3MoWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQpCiB7Ci0t
LSBhL3hlbi9pbmNsdWRlL3hzbS94c20uaAorKysgYi94ZW4vaW5jbHVkZS94
c20veHNtLmgKQEAgLTE1Myw4ICsxNTMsNiBAQCBzdHJ1Y3QgeHNtX29wcyB7
CiAgICAgaW50ICgqaHZtX2FsdHAybWh2bV9vcCkoc3RydWN0IGRvbWFpbiAq
ZCwgdWludDY0X3QgbW9kZSwgdWludDMyX3Qgb3ApOwogICAgIGludCAoKmdl
dF92bnVtYWluZm8pKHN0cnVjdCBkb21haW4gKmQpOwogCi0gICAgaW50ICgq
dm1fZXZlbnRfY29udHJvbCkoc3RydWN0IGRvbWFpbiAqZCwgaW50IG1vZGUs
IGludCBvcCk7Ci0KICNpZmRlZiBDT05GSUdfTUVNX0FDQ0VTUwogICAgIGlu
dCAoKm1lbV9hY2Nlc3MpKHN0cnVjdCBkb21haW4gKmQpOwogI2VuZGlmCkBA
IC02MzMsMTIgKzYzMSw2IEBAIHN0YXRpYyBpbmxpbmUgaW50IHhzbV9nZXRf
dm51bWFpbmZvKHhzbV8KICAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4
c21fb3BzLmdldF92bnVtYWluZm8sIGQpOwogfQogCi1zdGF0aWMgaW5saW5l
IGludCB4c21fdm1fZXZlbnRfY29udHJvbCgKLSAgICB4c21fZGVmYXVsdF90
IGRlZiwgc3RydWN0IGRvbWFpbiAqZCwgaW50IG1vZGUsIGludCBvcCkKLXsK
LSAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4c21fb3BzLnZtX2V2ZW50
X2NvbnRyb2wsIGQsIG1vZGUsIG9wKTsKLX0KLQogI2lmZGVmIENPTkZJR19N
RU1fQUNDRVNTCiBzdGF0aWMgaW5saW5lIGludCB4c21fbWVtX2FjY2Vzcyh4
c21fZGVmYXVsdF90IGRlZiwgc3RydWN0IGRvbWFpbiAqZCkKIHsKLS0tIGEv
eGVuL3hzbS9kdW1teS5jCisrKyBiL3hlbi94c20vZHVtbXkuYwpAQCAtMTEw
LDggKzExMCw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeHNtX29wcyBfX2lu
aXRjb25zdF8KICAgICAucmVtb3ZlX2Zyb21fcGh5c21hcCAgICAgICAgICAg
PSB4c21fcmVtb3ZlX2Zyb21fcGh5c21hcCwKICAgICAubWFwX2dtZm5fZm9y
ZWlnbiAgICAgICAgICAgICAgPSB4c21fbWFwX2dtZm5fZm9yZWlnbiwKIAot
ICAgIC52bV9ldmVudF9jb250cm9sICAgICAgICAgICAgICA9IHhzbV92bV9l
dmVudF9jb250cm9sLAotCiAjaWZkZWYgQ09ORklHX01FTV9BQ0NFU1MKICAg
ICAubWVtX2FjY2VzcyAgICAgICAgICAgICAgICAgICAgPSB4c21fbWVtX2Fj
Y2VzcywKICNlbmRpZgotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysr
IGIveGVuL3hzbS9mbGFzay9ob29rcy5jCkBAIC02OTYsNyArNjk2LDYgQEAg
c3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0CiAgICAg
LyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBob29rcyAoY29tbW9uL2Rv
bWN0bC5jKSAqLwogICAgIGNhc2UgWEVOX0RPTUNUTF9zY2hlZHVsZXJfb3A6
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3NldF90YXJnZXQ6Ci0gICAgY2FzZSBY
RU5fRE9NQ1RMX3ZtX2V2ZW50X29wOgogCiAjaWZkZWYgQ09ORklHX1g4Ngog
ICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00gaG9va3MgKGFyY2gv
eDg2L2RvbWN0bC5jKSAqLwpAQCAtNzkwLDkgKzc4OSw4IEBAIHN0YXRpYyBp
bnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAogICAgICAgICByZXR1
cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUNDTEFTU19ET01BSU4sIERPTUFJ
Tl9fVFJJR0dFUik7CiAKICAgICBjYXNlIFhFTl9ET01DVExfc2V0X2FjY2Vz
c19yZXF1aXJlZDoKLSAgICAgICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Blcm0o
ZCwgU0VDQ0xBU1NfRE9NQUlOMiwgRE9NQUlOMl9fVk1fRVZFTlQpOwotCiAg
ICAgY2FzZSBYRU5fRE9NQ1RMX21vbml0b3Jfb3A6CisgICAgY2FzZSBYRU5f
RE9NQ1RMX3ZtX2V2ZW50X29wOgogICAgICAgICByZXR1cm4gY3VycmVudF9o
YXNfcGVybShkLCBTRUNDTEFTU19ET01BSU4yLCBET01BSU4yX19WTV9FVkVO
VCk7CiAKICAgICBjYXNlIFhFTl9ET01DVExfZGVidWdfb3A6CkBAIC0xMzU5
LDExICsxMzU3LDYgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19odm1f
YWx0cDJtaHZtXwogICAgIHJldHVybiBjdXJyZW50X2hhc19wZXJtKGQsIFNF
Q0NMQVNTX0hWTSwgSFZNX19BTFRQMk1IVk1fT1ApOwogfQogCi1zdGF0aWMg
aW50IGNmX2NoZWNrIGZsYXNrX3ZtX2V2ZW50X2NvbnRyb2woc3RydWN0IGRv
bWFpbiAqZCwgaW50IG1vZGUsIGludCBvcCkKLXsKLSAgICByZXR1cm4gY3Vy
cmVudF9oYXNfcGVybShkLCBTRUNDTEFTU19ET01BSU4yLCBET01BSU4yX19W
TV9FVkVOVCk7Ci19Ci0KICNpZmRlZiBDT05GSUdfTUVNX0FDQ0VTUwogc3Rh
dGljIGludCBjZl9jaGVjayBmbGFza19tZW1fYWNjZXNzKHN0cnVjdCBkb21h
aW4gKmQpCiB7CkBAIC0xOTUxLDggKzE5NDQsNiBAQCBzdGF0aWMgY29uc3Qg
c3RydWN0IHhzbV9vcHMgX19pbml0Y29uc3RfCiAgICAgLmRvX3hzbV9vcCA9
IGRvX2ZsYXNrX29wLAogICAgIC5nZXRfdm51bWFpbmZvID0gZmxhc2tfZ2V0
X3ZudW1haW5mbywKIAotICAgIC52bV9ldmVudF9jb250cm9sID0gZmxhc2tf
dm1fZXZlbnRfY29udHJvbCwKLQogI2lmZGVmIENPTkZJR19NRU1fQUNDRVNT
CiAgICAgLm1lbV9hY2Nlc3MgPSBmbGFza19tZW1fYWNjZXNzLAogI2VuZGlm
Cg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.20-13.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.20-13.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBwYXNzIGZ1bGwgc3RydWN0IHhlbl9kb21jdGwgdG8g
eHNtX2RvbWN0bCgpCgpTdWJzZXF1ZW50bHkgc29tZSBzdWItb3BzIHdpbGwg
d2FudCB0byBpbnNwZWN0IHRoZWlyIHN1Yi1zdWItb3BzLiBQbHVzCnRoaXMg
d2F5IHdlIGRvbid0IG5lZWQgdG8gcGFzcyBTU0lEcmVmIHNlcGFyYXRlbHkg
YW55bW9yZSBmb3IKZG9tYWluX2NyZWF0ZS4KClRoaXMgaXMgcGFydCBvZiBY
U0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRo
QGFwZXJ0dXNzb2x1dGlvbnMuY29tPgoKLS0tIGEveGVuL2FyY2gveDg2L21t
L3BhZ2luZy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYwpAQCAt
NzY3LDcgKzc2Nyw3IEBAIGxvbmcgZG9fcGFnaW5nX2RvbWN0bF9jb250KAog
ICAgIGlmICggZCA9PSBOVUxMICkKICAgICAgICAgcmV0dXJuIC1FU1JDSDsK
IAotICAgIHJldCA9IHhzbV9kb21jdGwoWFNNX09USEVSLCBkLCBvcC5jbWQs
IDAgLyogU1NJRHJlZiBub3QgYXBwbGljYWJsZSAqLyk7CisgICAgcmV0ID0g
eHNtX2RvbWN0bChYU01fT1RIRVIsIGQsICZvcCk7CiAgICAgaWYgKCAhcmV0
ICkKICAgICB7CiAgICAgICAgIGlmICggZG9tY3RsX2xvY2tfYWNxdWlyZSgp
ICkKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYworKysgYi94ZW4vY29tbW9u
L2RvbWN0bC5jCkBAIC01MTcsOSArNTE3LDcgQEAgbG9uZyBkb19kb21jdGwo
WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICBicmVhazsKICAg
ICB9CiAKLSAgICByZXQgPSB4c21fZG9tY3RsKFhTTV9PVEhFUiwgZCwgb3At
PmNtZCwKLSAgICAgICAgICAgICAgICAgICAgIC8qIFNTSURSZWYgb25seSBh
cHBsaWNhYmxlIGZvciBjbWQgPT0gY3JlYXRlZG9tYWluICovCi0gICAgICAg
ICAgICAgICAgICAgICBvcC0+dS5jcmVhdGVkb21haW4uc3NpZHJlZik7Cisg
ICAgcmV0ID0geHNtX2RvbWN0bChYU01fT1RIRVIsIGQsIG9wKTsKICAgICBp
ZiAoIHJldCApCiAgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9t
b25seTsKIAotLS0gYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAorKysgYi94
ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTYyLDEwICsxNjIsMTAgQEAg
c3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9zZXRfdAogfQog
CiBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX2RvbWN0bCgK
LSAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgdW5zaWdu
ZWQgaW50IGNtZCwgdWludDMyX3Qgc3NpZHJlZikKKyAgICBYU01fREVGQVVM
VF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHhlbl9kb21jdGwgKm9w
KQogewogICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9PVEhFUik7Ci0gICAg
c3dpdGNoICggY21kICkKKyAgICBzd2l0Y2ggKCBvcC0+Y21kICkKICAgICB7
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgogICAgIGNhc2Ug
WEVOX0RPTUNUTF9nZXRkb21haW5pbmZvOgotLS0gYS94ZW4vaW5jbHVkZS94
c20veHNtLmgKKysrIGIveGVuL2luY2x1ZGUveHNtL3hzbS5oCkBAIC01OSw3
ICs1OSw3IEBAIHN0cnVjdCB4c21fb3BzIHsKICAgICBpbnQgKCpkb21jdGxf
c2NoZWR1bGVyX29wKShzdHJ1Y3QgZG9tYWluICpkLCBpbnQgb3ApOwogICAg
IGludCAoKnN5c2N0bF9zY2hlZHVsZXJfb3ApKGludCBvcCk7CiAgICAgaW50
ICgqc2V0X3RhcmdldCkoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGRvbWFp
biAqZSk7Ci0gICAgaW50ICgqZG9tY3RsKShzdHJ1Y3QgZG9tYWluICpkLCB1
bnNpZ25lZCBpbnQgY21kLCB1aW50MzJfdCBzc2lkcmVmKTsKKyAgICBpbnQg
KCpkb21jdGwpKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCB4ZW5fZG9tY3Rs
ICpvcCk7CiAgICAgaW50ICgqc3lzY3RsKShpbnQgY21kKTsKICAgICBpbnQg
KCpyZWFkY29uc29sZSkodWludDMyX3QgY2xlYXIpOwogCkBAIC0yNDgsOSAr
MjQ4LDkgQEAgc3RhdGljIGlubGluZSBpbnQgeHNtX3NldF90YXJnZXQoCiB9
CiAKIHN0YXRpYyBpbmxpbmUgaW50IHhzbV9kb21jdGwoeHNtX2RlZmF1bHRf
dCBkZWYsIHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCBjbWQsIHVpbnQzMl90IHNzaWRyZWYp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9t
Y3RsICpvcCkKIHsKLSAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4c21f
b3BzLmRvbWN0bCwgZCwgY21kLCBzc2lkcmVmKTsKKyAgICByZXR1cm4gYWx0
ZXJuYXRpdmVfY2FsbCh4c21fb3BzLmRvbWN0bCwgZCwgb3ApOwogfQogCiBz
dGF0aWMgaW5saW5lIGludCB4c21fc3lzY3RsKHhzbV9kZWZhdWx0X3QgZGVm
LCBpbnQgY21kKQotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIv
eGVuL3hzbS9mbGFzay9ob29rcy5jCkBAIC02NjUsMTAgKzY2NSw5IEBAIHN0
YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfc2V0X3RhcmdldChzdHIKICAgICBy
ZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9t
Y3RsKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBjbWQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzc2lkcmVm
KQorc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0IGRv
bWFpbiAqZCwgc3RydWN0IHhlbl9kb21jdGwgKm9wKQogewotICAgIHN3aXRj
aCAoIGNtZCApCisgICAgc3dpdGNoICggb3AtPmNtZCApCiAgICAgewogICAg
IGNhc2UgWEVOX0RPTUNUTF9jcmVhdGVkb21haW46CiAgICAgICAgIC8qCkBA
IC02NzgsNyArNjc3LDggQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19k
b21jdGwoc3RydWN0CiAgICAgICAgICAqIE5vdGUgdGhhdCBkIGlzIE5VTEwg
YmVjYXVzZSB3ZSBoYXZlbid0IGV2ZW4gYWxsb2NhdGVkIG1lbW9yeSBmb3Ig
aXQKICAgICAgICAgICogdGhpcyBlYXJseSBpbiBYRU5fRE9NQ1RMX2NyZWF0
ZWRvbWFpbi4KICAgICAgICAgICovCi0gICAgICAgIHJldHVybiBhdmNfY3Vy
cmVudF9oYXNfcGVybShzc2lkcmVmLCBTRUNDTEFTU19ET01BSU4sIERPTUFJ
Tl9fQ1JFQVRFLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuIGF2Y19jdXJyZW50
X2hhc19wZXJtKG9wLT51LmNyZWF0ZWRvbWFpbi5zc2lkcmVmLCBTRUNDTEFT
U19ET01BSU4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBET01BSU5fX0NSRUFURSwgTlVMTCk7CiAKICAgICAvKiBUaGVzZSBoYXZl
IGluZGl2aWR1YWwgWFNNIGhvb2tzIGFuZCBkb24ndCBtYWtlIGl0IGhlcmUu
ICovCiAgICAgY2FzZSBYRU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgpAQCAtODUy
LDcgKzg1Miw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3Rs
KHN0cnVjdAogICAgICAgICByZXR1cm4gY3VycmVudF9oYXNfcGVybShkLCBT
RUNDTEFTU19ET01BSU4yLCBET01BSU4yX19TRVRfTExDX0NPTE9SUyk7CiAK
ICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gYXZjX3Vua25vd25fcGVy
bWlzc2lvbigiZG9tY3RsIiwgY21kKTsKKyAgICAgICAgcmV0dXJuIGF2Y191
bmtub3duX3Blcm1pc3Npb24oImRvbWN0bCIsIG9wLT5jbWQpOwogICAgIH0K
IH0KIAo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.20-14.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.20-14.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHNjaGVkdWxlcl9vcCBob29rCgpJbnRlZ3Jh
dGUgdGhlIGNoZWNraW5nIHdpdGggeHNtX2RvbWN0bCgpLCBub3cgdGhhdCBp
dCBoYXMgdGhlIGZ1bGwgb3AKc3RydWN0IHBhc3NlZC4gQXMgYSBwb3NpdGl2
ZSBzaWRlIGVmZmVjdCwgcGVybWlzc2lvbnMgYXJlIHRoZW4gY2hlY2tlZCBh
dAp0aGUgc2FtZSBlYXJseSBwb2ludCB3aXRoIGFuZCB3aXRob3V0IEZsYXNr
LgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIuCgpTaWduZWQtb2ZmLWJ5OiBK
YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkFja2VkLWJ5OiBEYW5p
ZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+ClJl
dmlld2VkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+Cgot
LS0gYS94ZW4vY29tbW9uL3NjaGVkL2NvcmUuYworKysgYi94ZW4vY29tbW9u
L3NjaGVkL2NvcmUuYwpAQCAtMjA1NiwxMCArMjA1Niw2IEBAIGxvbmcgc2No
ZWRfYWRqdXN0KHN0cnVjdCBkb21haW4gKmQsIHN0cnUKIHsKICAgICBsb25n
IHJldDsKIAotICAgIHJldCA9IHhzbV9kb21jdGxfc2NoZWR1bGVyX29wKFhT
TV9IT09LLCBkLCBvcC0+Y21kKTsKLSAgICBpZiAoIHJldCApCi0gICAgICAg
IHJldHVybiByZXQ7Ci0KICAgICBpZiAoIG9wLT5zY2hlZF9pZCAhPSBkb21f
c2NoZWR1bGVyKGQpLT5zY2hlZF9pZCApCiAgICAgICAgIHJldHVybiAtRUlO
VkFMOwogCi0tLSBhL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCisrKyBiL3hl
bi9pbmNsdWRlL3hzbS9kdW1teS5oCkBAIC0xNDEsMTMgKzE0MSw2IEBAIHN0
YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZ2V0ZG8KICAgICBy
ZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9t
YWluLCBkKTsKIH0KIAotc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNr
IHhzbV9kb21jdGxfc2NoZWR1bGVyX29wKAotICAgIFhTTV9ERUZBVUxUX0FS
RyBzdHJ1Y3QgZG9tYWluICpkLCBpbnQgY21kKQotewotICAgIFhTTV9BU1NF
UlRfQUNUSU9OKFhTTV9IT09LKTsKLSAgICByZXR1cm4geHNtX2RlZmF1bHRf
YWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBkKTsKLX0KLQogc3Rh
dGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9zeXNjdGxfc2NoZWR1
bGVyX29wKFhTTV9ERUZBVUxUX0FSRyBpbnQgY21kKQogewogICAgIFhTTV9B
U1NFUlRfQUNUSU9OKFhTTV9IT09LKTsKLS0tIGEveGVuL2luY2x1ZGUveHNt
L3hzbS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS94c20uaApAQCAtNTYsNyAr
NTYsNiBAQCBzdHJ1Y3QgeHNtX29wcyB7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX2dldGRvbWFpbmluZm8g
KmluZm8pOwogICAgIGludCAoKmRvbWFpbl9jcmVhdGUpKHN0cnVjdCBkb21h
aW4gKmQsIHVpbnQzMl90IHNzaWRyZWYpOwogICAgIGludCAoKmdldGRvbWFp
bmluZm8pKHN0cnVjdCBkb21haW4gKmQpOwotICAgIGludCAoKmRvbWN0bF9z
Y2hlZHVsZXJfb3ApKHN0cnVjdCBkb21haW4gKmQsIGludCBvcCk7CiAgICAg
aW50ICgqc3lzY3RsX3NjaGVkdWxlcl9vcCkoaW50IG9wKTsKICAgICBpbnQg
KCpzZXRfdGFyZ2V0KShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZG9tYWlu
ICplKTsKICAgICBpbnQgKCpkb21jdGwpKHN0cnVjdCBkb21haW4gKmQsIHN0
cnVjdCB4ZW5fZG9tY3RsICpvcCk7CkBAIC0yMzAsMTIgKzIyOSw2IEBAIHN0
YXRpYyBpbmxpbmUgaW50IHhzbV9nZXRkb21haW5pbmZvKHhzbV8KICAgICBy
ZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4c21fb3BzLmdldGRvbWFpbmluZm8s
IGQpOwogfQogCi1zdGF0aWMgaW5saW5lIGludCB4c21fZG9tY3RsX3NjaGVk
dWxlcl9vcCgKLSAgICB4c21fZGVmYXVsdF90IGRlZiwgc3RydWN0IGRvbWFp
biAqZCwgaW50IGNtZCkKLXsKLSAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2Fs
bCh4c21fb3BzLmRvbWN0bF9zY2hlZHVsZXJfb3AsIGQsIGNtZCk7Ci19Ci0K
IHN0YXRpYyBpbmxpbmUgaW50IHhzbV9zeXNjdGxfc2NoZWR1bGVyX29wKHhz
bV9kZWZhdWx0X3QgZGVmLCBpbnQgY21kKQogewogICAgIHJldHVybiBhbHRl
cm5hdGl2ZV9jYWxsKHhzbV9vcHMuc3lzY3RsX3NjaGVkdWxlcl9vcCwgY21k
KTsKLS0tIGEveGVuL3hzbS9kdW1teS5jCisrKyBiL3hlbi94c20vZHVtbXku
YwpAQCAtMTgsNyArMTgsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHhzbV9v
cHMgX19pbml0Y29uc3RfCiAgICAgLnNlY3VyaXR5X2RvbWFpbmluZm8gICAg
ICAgICAgID0geHNtX3NlY3VyaXR5X2RvbWFpbmluZm8sCiAgICAgLmRvbWFp
bl9jcmVhdGUgICAgICAgICAgICAgICAgID0geHNtX2RvbWFpbl9jcmVhdGUs
CiAgICAgLmdldGRvbWFpbmluZm8gICAgICAgICAgICAgICAgID0geHNtX2dl
dGRvbWFpbmluZm8sCi0gICAgLmRvbWN0bF9zY2hlZHVsZXJfb3AgICAgICAg
ICAgID0geHNtX2RvbWN0bF9zY2hlZHVsZXJfb3AsCiAgICAgLnN5c2N0bF9z
Y2hlZHVsZXJfb3AgICAgICAgICAgID0geHNtX3N5c2N0bF9zY2hlZHVsZXJf
b3AsCiAgICAgLnNldF90YXJnZXQgICAgICAgICAgICAgICAgICAgID0geHNt
X3NldF90YXJnZXQsCiAgICAgLmRvbWN0bCAgICAgICAgICAgICAgICAgICAg
ICAgID0geHNtX2RvbWN0bCwKLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5j
CisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjA5LDcgKzYwOSw3
IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZ2V0ZG9tYWluaW5mbygK
ICAgICByZXR1cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUNDTEFTU19ET01B
SU4sIERPTUFJTl9fR0VURE9NQUlOSU5GTyk7CiB9CiAKLXN0YXRpYyBpbnQg
Y2ZfY2hlY2sgZmxhc2tfZG9tY3RsX3NjaGVkdWxlcl9vcChzdHJ1Y3QgZG9t
YWluICpkLCBpbnQgb3ApCitzdGF0aWMgaW50IGZsYXNrX2RvbWN0bF9zY2hl
ZHVsZXJfb3Aoc3RydWN0IGRvbWFpbiAqZCwgaW50IG9wKQogewogICAgIHN3
aXRjaCAoIG9wICkKICAgICB7CkBAIC02OTQsNyArNjk0LDYgQEAgc3RhdGlj
IGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0CiAgICAgICAgIHJl
dHVybiAtRUlMU0VROwogCiAgICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFs
IFhTTSBob29rcyAoY29tbW9uL2RvbWN0bC5jKSAqLwotICAgIGNhc2UgWEVO
X0RPTUNUTF9zY2hlZHVsZXJfb3A6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Nl
dF90YXJnZXQ6CiAKICNpZmRlZiBDT05GSUdfWDg2CkBAIC03NDIsNiArNzQx
LDkgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3NldGRvbWFpbmhhbmRsZToKICAgICAg
ICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9NQUlO
LCBET01BSU5fX1NFVERPTUFJTkhBTkRMRSk7CiAKKyAgICBjYXNlIFhFTl9E
T01DVExfc2NoZWR1bGVyX29wOgorICAgICAgICByZXR1cm4gZmxhc2tfZG9t
Y3RsX3NjaGVkdWxlcl9vcChkLCBvcC0+dS5zY2hlZHVsZXJfb3AuY21kKTsK
KwogICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRfZXh0X3ZjcHVjb250ZXh0Ogog
ICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRfdmNwdV9tc3JzOgogICAgIGNhc2Ug
WEVOX0RPTUNUTF9zZXR2Y3B1Y29udGV4dDoKQEAgLTE4NzAsNyArMTg3Miw2
IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeHNtX29wcyBfX2luaXRjb25zdF8K
ICAgICAuc2VjdXJpdHlfZG9tYWluaW5mbyA9IGZsYXNrX3NlY3VyaXR5X2Rv
bWFpbmluZm8sCiAgICAgLmRvbWFpbl9jcmVhdGUgPSBmbGFza19kb21haW5f
Y3JlYXRlLAogICAgIC5nZXRkb21haW5pbmZvID0gZmxhc2tfZ2V0ZG9tYWlu
aW5mbywKLSAgICAuZG9tY3RsX3NjaGVkdWxlcl9vcCA9IGZsYXNrX2RvbWN0
bF9zY2hlZHVsZXJfb3AsCiAgICAgLnN5c2N0bF9zY2hlZHVsZXJfb3AgPSBm
bGFza19zeXNjdGxfc2NoZWR1bGVyX29wLAogICAgIC5zZXRfdGFyZ2V0ID0g
Zmxhc2tfc2V0X3RhcmdldCwKICAgICAuZG9tY3RsID0gZmxhc2tfZG9tY3Rs
LAo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.20-15.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.20-15.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHNoYWRvd19jb250cm9sX29wIGhvb2sKCklu
dGVncmF0ZSB0aGUgY2hlY2tpbmcgd2l0aCB4c21fZG9tY3RsKCksIG5vdyB0
aGF0IGl0IGhhcyB0aGUgZnVsbCBvcApzdHJ1Y3QgcGFzc2VkLiBBcyBhIHBv
c2l0aXZlIHNpZGUgZWZmZWN0LCBwZXJtaXNzaW9ucyBhcmUgdGhlbiBjaGVj
a2VkIGF0CnRoZSBzYW1lIGVhcmx5IHBvaW50IHdpdGggYW5kIHdpdGhvdXQg
Rmxhc2suCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4KClNpZ25lZC1vZmYt
Ynk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQWNrZWQtYnk6
IERhbmllbCBQLiBTbWl0aCA8ZHBzbWl0aEBhcGVydHVzc29sdXRpb25zLmNv
bT4KCi0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYworKysgYi94ZW4v
YXJjaC94ODYvbW0vcGFnaW5nLmMKQEAgLTcwOSwxMCArNzA5LDYgQEAgaW50
IHBhZ2luZ19kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgc3RydQogICAgICAg
ICByZXR1cm4gLUVCVVNZOwogICAgIH0KIAotICAgIHJjID0geHNtX3NoYWRv
d19jb250cm9sKFhTTV9IT09LLCBkLCBzYy0+b3ApOwotICAgIGlmICggcmMg
KQotICAgICAgICByZXR1cm4gcmM7Ci0KICAgICAvKiBDb2RlIHRvIGhhbmRs
ZSBsb2ctZGlydHkuIE5vdGUgdGhhdCBzb21lIGxvZyBkaXJ0eSBvcGVyYXRp
b25zCiAgICAgICogcGlnZ3ktYmFjayBvbiBzaGFkb3cgb3BlcmF0aW9ucy4g
Rm9yIGV4YW1wbGUsIHdoZW4KICAgICAgKiBYRU5fRE9NQ1RMX1NIQURPV19P
UF9PRkYgaXMgY2FsbGVkLCBpdCBmaXJzdCBjaGVja3Mgd2hldGhlciBsb2cg
ZGlydHkKLS0tIGEveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKKysrIGIveGVu
L2luY2x1ZGUveHNtL2R1bW15LmgKQEAgLTY4MSwxMyArNjgxLDYgQEAgc3Rh
dGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9kb19tYwogICAgIHJl
dHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5kb21h
aW4sIE5VTEwpOwogfQogCi1zdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hl
Y2sgeHNtX3NoYWRvd19jb250cm9sKAotICAgIFhTTV9ERUZBVUxUX0FSRyBz
dHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBvcCkKLXsKLSAgICBYU01fQVNT
RVJUX0FDVElPTihYU01fSE9PSyk7Ci0gICAgcmV0dXJuIHhzbV9kZWZhdWx0
X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgZCk7Ci19Ci0KIHN0
YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fbWVtX3NoYXJpbmdf
b3AoCiAgICAgWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQsIHN0
cnVjdCBkb21haW4gKmNkLCBpbnQgb3ApCiB7Ci0tLSBhL3hlbi9pbmNsdWRl
L3hzbS94c20uaAorKysgYi94ZW4vaW5jbHVkZS94c20veHNtLmgKQEAgLTE2
OCw3ICsxNjgsNiBAQCBzdHJ1Y3QgeHNtX29wcyB7CiAKICNpZmRlZiBDT05G
SUdfWDg2CiAgICAgaW50ICgqZG9fbWNhKSh2b2lkKTsKLSAgICBpbnQgKCpz
aGFkb3dfY29udHJvbCkoc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3Qgb3Ap
OwogICAgIGludCAoKm1lbV9zaGFyaW5nX29wKShzdHJ1Y3QgZG9tYWluICpk
LCBzdHJ1Y3QgZG9tYWluICpjZCwgaW50IG9wKTsKICAgICBpbnQgKCphcGlj
KShzdHJ1Y3QgZG9tYWluICpkLCBpbnQgY21kKTsKICAgICBpbnQgKCptYWNo
aW5lX21lbW9yeV9tYXApKHZvaWQpOwpAQCAtNjU2LDEyICs2NTUsNiBAQCBz
dGF0aWMgaW5saW5lIGludCB4c21fZG9fbWNhKHhzbV9kZWZhdWx0CiAgICAg
cmV0dXJuIGFsdGVybmF0aXZlX2NhbGwoeHNtX29wcy5kb19tY2EpOwogfQog
Ci1zdGF0aWMgaW5saW5lIGludCB4c21fc2hhZG93X2NvbnRyb2woCi0gICAg
eHNtX2RlZmF1bHRfdCBkZWYsIHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90
IG9wKQotewotICAgIHJldHVybiBhbHRlcm5hdGl2ZV9jYWxsKHhzbV9vcHMu
c2hhZG93X2NvbnRyb2wsIGQsIG9wKTsKLX0KLQogc3RhdGljIGlubGluZSBp
bnQgeHNtX21lbV9zaGFyaW5nX29wKAogICAgIHhzbV9kZWZhdWx0X3QgZGVm
LCBzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZG9tYWluICpjZCwgaW50IG9w
KQogewotLS0gYS94ZW4veHNtL2R1bW15LmMKKysrIGIveGVuL3hzbS9kdW1t
eS5jCkBAIC0xMjQsNyArMTI0LDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB4
c21fb3BzIF9faW5pdGNvbnN0XwogICAgIC5wbGF0Zm9ybV9vcCAgICAgICAg
ICAgICAgICAgICA9IHhzbV9wbGF0Zm9ybV9vcCwKICNpZmRlZiBDT05GSUdf
WDg2CiAgICAgLmRvX21jYSAgICAgICAgICAgICAgICAgICAgICAgID0geHNt
X2RvX21jYSwKLSAgICAuc2hhZG93X2NvbnRyb2wgICAgICAgICAgICAgICAg
PSB4c21fc2hhZG93X2NvbnRyb2wsCiAgICAgLm1lbV9zaGFyaW5nX29wICAg
ICAgICAgICAgICAgID0geHNtX21lbV9zaGFyaW5nX29wLAogICAgIC5hcGlj
ICAgICAgICAgICAgICAgICAgICAgICAgICA9IHhzbV9hcGljLAogICAgIC5t
YWNoaW5lX21lbW9yeV9tYXAgICAgICAgICAgICA9IHhzbV9tYWNoaW5lX21l
bW9yeV9tYXAsCi0tLSBhL3hlbi94c20vZmxhc2svaG9va3MuYworKysgYi94
ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAgLTQwLDYgKzQwLDcgQEAKIAogI2lm
ZGVmIENPTkZJR19YODYKICNpbmNsdWRlIDxhc20vcHYvc2hpbS5oPgorc3Rh
dGljIGludCBmbGFza19zaGFkb3dfY29udHJvbChzdHJ1Y3QgZG9tYWluICpk
LCB1bnNpZ25lZCBpbnQgb3ApOwogI2Vsc2UKICNkZWZpbmUgcHZfc2hpbSBm
YWxzZQogI2VuZGlmCkBAIC02OTYsMTAgKzY5Nyw2IEBAIHN0YXRpYyBpbnQg
Y2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAogICAgIC8qIFRoZXNlIGhh
dmUgaW5kaXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9kb21jdGwuYykgKi8K
ICAgICBjYXNlIFhFTl9ET01DVExfc2V0X3RhcmdldDoKIAotI2lmZGVmIENP
TkZJR19YODYKLSAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhv
b2tzIChhcmNoL3g4Ni9kb21jdGwuYykgKi8KLSAgICBjYXNlIFhFTl9ET01D
VExfc2hhZG93X29wOgotI2VuZGlmCiAjaWZkZWYgQ09ORklHX0hBU19QQVNT
VEhST1VHSAogICAgIC8qCiAgICAgICogVGhlc2UgaGF2ZSBpbmRpdmlkdWFs
IFhTTSBob29rcwpAQCAtNzg0LDYgKzc4MSwxMSBAQCBzdGF0aWMgaW50IGNm
X2NoZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICBjYXNlIFhFTl9ET01D
VExfZ2V0X2FkZHJlc3Nfc2l6ZToKICAgICAgICAgcmV0dXJuIGN1cnJlbnRf
aGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9NQUlOLCBET01BSU5fX0dFVEFERFJT
SVpFKTsKIAorI2lmZGVmIENPTkZJR19YODYKKyAgICBjYXNlIFhFTl9ET01D
VExfc2hhZG93X29wOgorICAgICAgICByZXR1cm4gZmxhc2tfc2hhZG93X2Nv
bnRyb2woZCwgb3AtPnUuc2hhZG93X29wLm9wKTsKKyNlbmRpZgorCiAgICAg
Y2FzZSBYRU5fRE9NQ1RMX21lbV9zaGFyaW5nX29wOgogICAgICAgICByZXR1
cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUNDTEFTU19IVk0sIEhWTV9fTUVN
X1NIQVJJTkcpOwogCkBAIC0xNTk0LDcgKzE1OTYsNyBAQCBzdGF0aWMgaW50
IGNmX2NoZWNrIGZsYXNrX2RvX21jYSh2b2lkKQogICAgIHJldHVybiBkb21h
aW5faGFzX3hlbihjdXJyZW50LT5kb21haW4sIFhFTl9fTUNBX09QKTsKIH0K
IAotc3RhdGljIGludCBjZl9jaGVjayBmbGFza19zaGFkb3dfY29udHJvbChz
dHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBvcCkKK3N0YXRpYyBpbnQgZmxh
c2tfc2hhZG93X2NvbnRyb2woc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQg
aW50IG9wKQogewogICAgIHVpbnQzMl90IHBlcm07CiAKQEAgLTE5NzksNyAr
MTk4MSw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeHNtX29wcyBfX2luaXRj
b25zdF8KICAgICAucGxhdGZvcm1fb3AgPSBmbGFza19wbGF0Zm9ybV9vcCwK
ICNpZmRlZiBDT05GSUdfWDg2CiAgICAgLmRvX21jYSA9IGZsYXNrX2RvX21j
YSwKLSAgICAuc2hhZG93X2NvbnRyb2wgPSBmbGFza19zaGFkb3dfY29udHJv
bCwKICAgICAubWVtX3NoYXJpbmdfb3AgPSBmbGFza19tZW1fc2hhcmluZ19v
cCwKICAgICAuYXBpYyA9IGZsYXNrX2FwaWMsCiAgICAgLm1hY2hpbmVfbWVt
b3J5X21hcCA9IGZsYXNrX21hY2hpbmVfbWVtb3J5X21hcCwK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.20-16.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.20-16.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2dldF9kZXZpY2VfZ3JvdXAg
d2l0aG91dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKCmlvbW11X2dldF9kZXZp
Y2VfZ3JvdXAoKSB1c2VzIGl0cyBvd24gbG9ja2luZy4gVGh1cywgd2l0aCBj
YWxsZXIgc2lkZQpsb2NraW5nIGlycmVsZXZhbnQsIGl0IGNhbiBhcyB3ZWxs
IGJlIGNhbGxlZCB3aXRoIHRoZSBkb21jdGwgbG9jayBub3QKaGVsZC4KCk1v
dmUgdGhlIGhhbmRsaW5nIG5vdCBvbmx5IGFoZWFkIG9mIGFjcXVpcmluZyB0
aGUgbG9jaywgYnV0IGFsc28gYWhlYWQKb2YgdGhlIFhTTSBjaGVjaywgbGV2
ZXJhZ2luZyB0aGF0IHRoZSBzdWItb3AgaGFzIGl0cyBvd24gaG9vay4KClRo
aXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJl
dWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpBY2tlZC1ieTogRGFuaWVsIFAu
IFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29tPgpSZXZpZXdl
ZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+
CgotLS0gYS94ZW4vY29tbW9uL2RvbWN0bC5jCisrKyBiL3hlbi9jb21tb24v
ZG9tY3RsLmMKQEAgLTUwNCw2ICs1MDQsMTAgQEAgbG9uZyBkb19kb21jdGwo
WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICAvKiBPdGhlciBz
dWItb3BzIGhhbmRsZWQgZnVydGhlciBkb3duLiAqLwogICAgICAgICBicmVh
azsKIAorICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRfZGV2aWNlX2dyb3VwOgor
ICAgICAgICByZXQgPSBpb21tdV9kb19kb21jdGwob3AsIGQsIHVfZG9tY3Rs
KTsKKyAgICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5Owor
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNzaW9uOgogICAg
IGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBjYXNlIFhF
Tl9ET01DVExfZ3NpX3Blcm1pc3Npb246CkBAIC05MjcsNyArOTMxLDYgQEAg
bG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAg
IGNhc2UgWEVOX0RPTUNUTF9hc3NpZ25fZGV2aWNlOgogICAgIGNhc2UgWEVO
X0RPTUNUTF90ZXN0X2Fzc2lnbl9kZXZpY2U6CiAgICAgY2FzZSBYRU5fRE9N
Q1RMX2RlYXNzaWduX2RldmljZToKLSAgICBjYXNlIFhFTl9ET01DVExfZ2V0
X2RldmljZV9ncm91cDoKICAgICAgICAgcmV0ID0gaW9tbXVfZG9fZG9tY3Rs
KG9wLCBkLCB1X2RvbWN0bCk7CiAgICAgICAgIGJyZWFrOwogCi0tLSBhL3hl
bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCisrKyBiL3hlbi9kcml2ZXJz
L3Bhc3N0aHJvdWdoL3BjaS5jCkBAIC0xNjI2LDcgKzE2MjYsNyBAQCBzdGF0
aWMgaW50IGlvbW11X2dldF9kZXZpY2VfZ3JvdXAoCiAgICAgICAgIGlmICgg
KHBkZXYtPnNlZyAhPSBzZWcpIHx8ICgoYiA9PSBidXMpICYmIChkZiA9PSBk
ZXZmbikpICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGlm
ICggeHNtX2dldF9kZXZpY2VfZ3JvdXAoWFNNX0hPT0ssIChzZWcgPDwgMTYp
IHwgKGIgPDwgOCkgfCBkZikgKQorICAgICAgICBpZiAoIHhzbV9nZXRfZGV2
aWNlX2dyb3VwKFhTTV9QUklWLCAoc2VnIDw8IDE2KSB8IChiIDw8IDgpIHwg
ZGYpICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIHNkZXZf
aWQgPSBpb21tdV9jYWxsKG9wcywgZ2V0X2RldmljZV9ncm91cF9pZCwgc2Vn
LCBiLCBkZik7CkBAIC0xNjk2LDcgKzE2OTYsNyBAQCBpbnQgaW9tbXVfZG9f
cGNpX2RvbWN0bCgKICAgICAgICAgdTMyIG1heF9zZGV2czsKICAgICAgICAg
WEVOX0dVRVNUX0hBTkRMRV82NCh1aW50MzIpIHNkZXZzOwogCi0gICAgICAg
IHJldCA9IHhzbV9nZXRfZGV2aWNlX2dyb3VwKFhTTV9IT09LLCBkb21jdGwt
PnUuZ2V0X2RldmljZV9ncm91cC5tYWNoaW5lX3NiZGYpOworICAgICAgICBy
ZXQgPSB4c21fZ2V0X2RldmljZV9ncm91cChYU01fUFJJViwgZG9tY3RsLT51
LmdldF9kZXZpY2VfZ3JvdXAubWFjaGluZV9zYmRmKTsKICAgICAgICAgaWYg
KCByZXQgKQogICAgICAgICAgICAgYnJlYWs7CiAKLS0tIGEveGVuL2luY2x1
ZGUveHNtL2R1bW15LmgKKysrIGIveGVuL2luY2x1ZGUveHNtL2R1bW15LmgK
QEAgLTE2Miw2ICsxNjIsNyBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2Zf
Y2hlY2sgeHNtX2RvbWN0CiAgICAgewogICAgIGNhc2UgWEVOX0RPTUNUTF9i
aW5kX3B0X2lycToKICAgICBjYXNlIFhFTl9ET01DVExfZ2V0ZG9tYWluaW5m
bzoKKyAgICBjYXNlIFhFTl9ET01DVExfZ2V0X2RldmljZV9ncm91cDoKICAg
ICBjYXNlIFhFTl9ET01DVExfZ3NpX3Blcm1pc3Npb246CiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2lvbWVtX3Blcm1pc3Npb246CiAgICAgY2FzZSBYRU5fRE9N
Q1RMX2lvcG9ydF9tYXBwaW5nOgpAQCAtNDAwLDcgKzQwMSw3IEBAIHN0YXRp
YyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZ2V0X3YKIHN0YXRpYyBY
U01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZ2V0X2RldmljZV9ncm91cCgK
ICAgICBYU01fREVGQVVMVF9BUkcgdWludDMyX3QgbWFjaGluZV9iZGYpCiB7
Ci0gICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX0hPT0spOworICAgIFhTTV9B
U1NFUlRfQUNUSU9OKFhTTV9QUklWKTsKICAgICByZXR1cm4geHNtX2RlZmF1
bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBOVUxMKTsKIH0K
IAotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIveGVuL3hzbS9m
bGFzay9ob29rcy5jCkBAIC02ODQsNiArNjg0LDcgQEAgc3RhdGljIGludCBj
Zl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0CiAgICAgLyogVGhlc2UgaGF2
ZSBpbmRpdmlkdWFsIFhTTSBob29rcyBhbmQgZG9uJ3QgbWFrZSBpdCBoZXJl
LiAqLwogICAgIGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToKICAgICBj
YXNlIFhFTl9ET01DVExfZ2V0ZG9tYWluaW5mbzoKKyAgICBjYXNlIFhFTl9E
T01DVExfZ2V0X2RldmljZV9ncm91cDoKICAgICBjYXNlIFhFTl9ET01DVExf
Z3NpX3Blcm1pc3Npb246CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvbWVtX3Bl
cm1pc3Npb246CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5n
OgpAQCAtNzAyLDcgKzcwMyw2IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxh
c2tfZG9tY3RsKHN0cnVjdAogICAgICAqIFRoZXNlIGhhdmUgaW5kaXZpZHVh
bCBYU00gaG9va3MKICAgICAgKiAoZHJpdmVycy9wYXNzdGhyb3VnaC97cGNp
LGRldmljZV90cmVlLmMpCiAgICAgICovCi0gICAgY2FzZSBYRU5fRE9NQ1RM
X2dldF9kZXZpY2VfZ3JvdXA6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Rlc3Rf
YXNzaWduX2RldmljZToKICAgICBjYXNlIFhFTl9ET01DVExfYXNzaWduX2Rl
dmljZToKICAgICBjYXNlIFhFTl9ET01DVExfZGVhc3NpZ25fZGV2aWNlOgo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.20-17.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.20-17.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHssZGV9YXNzaWduX3ssZHR9ZGV2aWNlIGhv
b2tzCgpJbnRlZ3JhdGUgdGhlIGNoZWNraW5nIHdpdGggeHNtX2RvbWN0bCgp
LiBBcyBhIHBvc2l0aXZlIHNpZGUgZWZmZWN0LApwZXJtaXNzaW9ucyBhcmUg
dGhlbiBjaGVja2VkIGF0IHRoZSBzYW1lIGVhcmx5IHBvaW50IHdpdGggYW5k
IHdpdGhvdXQKRmxhc2suIEFzIHRoZSBEVCBkZXZpY2UgcGF0aCBuZWVkcyBm
ZXRjaGluZyBlYXJsaWVyIChidXQgbXVzdCBub3QgYmUKZG91YmxlIGZldGNo
ZWQpLCBjYWNoZSBpdCBpbiBhIHByaXZhdGUgZmllbGQgb2YgdGhlIHB1Ymxp
YyBpbnRlcmZhY2UKc3RydWN0LgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIu
CgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j
b20+CkFja2VkLWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1
c3NvbHV0aW9ucy5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOp
IDxyb2dlci5wYXVAY2l0cml4LmNvbT4KCi0tLSBhL3hlbi9jb21tb24vZG9t
Y3RsLmMKKysrIGIveGVuL2NvbW1vbi9kb21jdGwuYwpAQCAtMzMxLDYgKzMz
MSwxMCBAQCBsb25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFN
KHhlCiAgICAgY2FzZSBYRU5fRE9NQ1RMX2RlYXNzaWduX2RldmljZToKICAg
ICAgICAgaWYgKCBvcC0+ZG9tYWluID09IERPTUlEX0lPICkKICAgICAgICAg
eworI2lmZGVmIENPTkZJR19IQVNfREVWSUNFX1RSRUUKKyAgICAgICAgICAg
IGlmICggb3AtPnUuYXNzaWduX2RldmljZS5kZXYgPT0gWEVOX0RPTUNUTF9E
RVZfRFQgKQorICAgICAgICAgICAgICAgIG9wLT51LmFzc2lnbl9kZXZpY2Uu
dS5kdC5kZXYgPSBOVUxMOworI2VuZGlmCiAgICAgICAgICAgICBkID0gZG9t
X2lvOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTMzOCw2
ICszNDIsMTEgQEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9Q
QVJBTSh4ZQogICAgICAgICAgICAgcmV0dXJuIC1FU1JDSDsKICAgICAgICAg
ZmFsbHRocm91Z2g7CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Rlc3RfYXNzaWdu
X2RldmljZToKKyNpZmRlZiBDT05GSUdfSEFTX0RFVklDRV9UUkVFCisgICAg
ICAgIGlmICggb3AtPnUuYXNzaWduX2RldmljZS5kZXYgPT0gWEVOX0RPTUNU
TF9ERVZfRFQgKQorICAgICAgICAgICAgb3AtPnUuYXNzaWduX2RldmljZS51
LmR0LmRldiA9IE5VTEw7CisgICAgICAgIGZhbGx0aHJvdWdoOworI2VuZGlm
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3ZtX2V2ZW50X29wOgogICAgICAgICBp
ZiAoIG9wLT5kb21haW4gPT0gRE9NSURfSU5WQUxJRCApCiAgICAgICAgIHsK
LS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvZGV2aWNlX3RyZWUuYwor
KysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9kZXZpY2VfdHJlZS5jCkBA
IC0yNzksMTUgKzI3OSwxNSBAQCBpbnQgaW9tbXVfZG9fZHRfZG9tY3RsKHN0
cnVjdCB4ZW5fZG9tY3RsCiAgICAgICAgIGlmICggKGQgJiYgZC0+aXNfZHlp
bmcpIHx8IGRvbWN0bC0+dS5hc3NpZ25fZGV2aWNlLmZsYWdzICkKICAgICAg
ICAgICAgIGJyZWFrOwogCi0gICAgICAgIHJldCA9IGR0X2ZpbmRfbm9kZV9i
eV9ncGF0aChkb21jdGwtPnUuYXNzaWduX2RldmljZS51LmR0LnBhdGgsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21jdGwtPnUu
YXNzaWduX2RldmljZS51LmR0LnNpemUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAmZGV2KTsKLSAgICAgICAgaWYgKCByZXQgKQot
ICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgcmV0ID0geHNtX2Fzc2ln
bl9kdGRldmljZShYU01fSE9PSywgZCwgZHRfbm9kZV9mdWxsX25hbWUoZGV2
KSk7Ci0gICAgICAgIGlmICggcmV0ICkKLSAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBkZXYgPSBkb21jdGwtPnUuYXNzaWduX2RldmljZS51LmR0LmRl
djsKKyAgICAgICAgaWYgKCAhZGV2ICkKKyAgICAgICAgeworICAgICAgICAg
ICAgcmV0ID0gZHRfZmluZF9ub2RlX2J5X2dwYXRoKGRvbWN0bC0+dS5hc3Np
Z25fZGV2aWNlLnUuZHQucGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkb21jdGwtPnUuYXNzaWduX2RldmljZS51LmR0
LnNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJmRldik7CisgICAgICAgICAgICBpZiAoIHJldCApCisgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KIAogICAgICAgICBpZiAoIGRvbWN0
bC0+Y21kID09IFhFTl9ET01DVExfdGVzdF9hc3NpZ25fZGV2aWNlICkKICAg
ICAgICAgewpAQCAtMzM1LDE1ICszMzUsMTUgQEAgaW50IGlvbW11X2RvX2R0
X2RvbWN0bChzdHJ1Y3QgeGVuX2RvbWN0bAogICAgICAgICBpZiAoIGRvbWN0
bC0+dS5hc3NpZ25fZGV2aWNlLmZsYWdzICkKICAgICAgICAgICAgIGJyZWFr
OwogCi0gICAgICAgIHJldCA9IGR0X2ZpbmRfbm9kZV9ieV9ncGF0aChkb21j
dGwtPnUuYXNzaWduX2RldmljZS51LmR0LnBhdGgsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkb21jdGwtPnUuYXNzaWduX2Rldmlj
ZS51LmR0LnNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAmZGV2KTsKLSAgICAgICAgaWYgKCByZXQgKQotICAgICAgICAgICAg
YnJlYWs7Ci0KLSAgICAgICAgcmV0ID0geHNtX2RlYXNzaWduX2R0ZGV2aWNl
KFhTTV9IT09LLCBkLCBkdF9ub2RlX2Z1bGxfbmFtZShkZXYpKTsKLSAgICAg
ICAgaWYgKCByZXQgKQotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRl
diA9IGRvbWN0bC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQuZGV2OworICAgICAg
ICBpZiAoICFkZXYgKQorICAgICAgICB7CisgICAgICAgICAgICByZXQgPSBk
dF9maW5kX25vZGVfYnlfZ3BhdGgoZG9tY3RsLT51LmFzc2lnbl9kZXZpY2Uu
dS5kdC5wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRvbWN0bC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQuc2l6ZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZGV2KTsK
KyAgICAgICAgICAgIGlmICggcmV0ICkKKyAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQogCiAgICAgICAgIGlmICggZCA9PSBkb21faW8gKQog
ICAgICAgICB7Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5j
CisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCkBAIC0xNzQ2
LDEwICsxNzQ2LDYgQEAgaW50IGlvbW11X2RvX3BjaV9kb21jdGwoCiAKICAg
ICAgICAgbWFjaGluZV9zYmRmID0gZG9tY3RsLT51LmFzc2lnbl9kZXZpY2Uu
dS5wY2kubWFjaGluZV9zYmRmOwogCi0gICAgICAgIHJldCA9IHhzbV9hc3Np
Z25fZGV2aWNlKFhTTV9IT09LLCBkLCBtYWNoaW5lX3NiZGYpOwotICAgICAg
ICBpZiAoIHJldCApCi0gICAgICAgICAgICBicmVhazsKLQogICAgICAgICBz
ZWcgPSBtYWNoaW5lX3NiZGYgPj4gMTY7CiAgICAgICAgIGJ1cyA9IFBDSV9C
VVMobWFjaGluZV9zYmRmKTsKICAgICAgICAgZGV2Zm4gPSBQQ0lfREVWRk4o
bWFjaGluZV9zYmRmKTsKQEAgLTE3OTEsMTAgKzE3ODcsNiBAQCBpbnQgaW9t
bXVfZG9fcGNpX2RvbWN0bCgKIAogICAgICAgICBtYWNoaW5lX3NiZGYgPSBk
b21jdGwtPnUuYXNzaWduX2RldmljZS51LnBjaS5tYWNoaW5lX3NiZGY7CiAK
LSAgICAgICAgcmV0ID0geHNtX2RlYXNzaWduX2RldmljZShYU01fSE9PSywg
ZCwgbWFjaGluZV9zYmRmKTsKLSAgICAgICAgaWYgKCByZXQgKQotICAgICAg
ICAgICAgYnJlYWs7Ci0KICAgICAgICAgc2VnID0gbWFjaGluZV9zYmRmID4+
IDE2OwogICAgICAgICBidXMgPSBQQ0lfQlVTKG1hY2hpbmVfc2JkZik7CiAg
ICAgICAgIGRldmZuID0gUENJX0RFVkZOKG1hY2hpbmVfc2JkZik7Ci0tLSBh
L3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaAorKysgYi94ZW4vaW5jbHVk
ZS9wdWJsaWMvZG9tY3RsLmgKQEAgLTU2Nyw3ICs1NjcsMTAgQEAgc3RydWN0
IHhlbl9kb21jdGxfYXNzaWduX2RldmljZSB7CiAgICAgICAgIH0gcGNpOwog
ICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICAgdWludDMyX3Qgc2l6ZTsg
LyogTGVuZ3RoIG9mIHRoZSBwYXRoICovCi0gICAgICAgICAgICBYRU5fR1VF
U1RfSEFORExFXzY0KGNoYXIpIHBhdGg7IC8qIHBhdGggdG8gdGhlIGRldmlj
ZSB0cmVlIG5vZGUgKi8KKyAgICAgICAgICAgIFhFTl9HVUVTVF9IQU5ETEVf
NjQoY2hhcikgcGF0aDsgLyogUGF0aCB0byB0aGUgZGV2aWNlIHRyZWUgbm9k
ZSAqLworI2lmZGVmIF9fWEVOX18KKyAgICAgICAgICAgIHN0cnVjdCBkdF9k
ZXZpY2Vfbm9kZSAqZGV2OyAvKiBSZXNvbHZlZCBkZXZpY2Ugbm9kZSBvZiB0
aGUgYWJvdmUgKi8KKyNlbmRpZgogICAgICAgICB9IGR0OwogICAgIH0gdTsK
IH07Ci0tLSBhL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCisrKyBiL3hlbi9p
bmNsdWRlL3hzbS9kdW1teS5oCkBAIC00MDQsNDAgKzQwNCw4IEBAIHN0YXRp
YyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZ2V0X2QKICAgICBYU01f
QVNTRVJUX0FDVElPTihYU01fUFJJVik7CiAgICAgcmV0dXJuIHhzbV9kZWZh
dWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgTlVMTCk7CiB9
Ci0KLXN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fYXNzaWdu
X2RldmljZSgKLSAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAq
ZCwgdWludDMyX3QgbWFjaGluZV9iZGYpCi17Ci0gICAgWFNNX0FTU0VSVF9B
Q1RJT04oWFNNX0hPT0spOwotICAgIHJldHVybiB4c21fZGVmYXVsdF9hY3Rp
b24oYWN0aW9uLCBjdXJyZW50LT5kb21haW4sIGQpOwotfQotCi1zdGF0aWMg
WFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX2RlYXNzaWduX2RldmljZSgK
LSAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgdWludDMy
X3QgbWFjaGluZV9iZGYpCi17Ci0gICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNN
X0hPT0spOwotICAgIHJldHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9u
LCBjdXJyZW50LT5kb21haW4sIGQpOwotfQotCiAjZW5kaWYgLyogSEFTX1BB
U1NUSFJPVUdIICYmIEhBU19QQ0kgKi8KIAotI2lmIGRlZmluZWQoQ09ORklH
X0hBU19QQVNTVEhST1VHSCkgJiYgZGVmaW5lZChDT05GSUdfSEFTX0RFVklD
RV9UUkVFKQotc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9h
c3NpZ25fZHRkZXZpY2UoCi0gICAgWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBk
b21haW4gKmQsIGNvbnN0IGNoYXIgKmR0cGF0aCkKLXsKLSAgICBYU01fQVNT
RVJUX0FDVElPTihYU01fSE9PSyk7Ci0gICAgcmV0dXJuIHhzbV9kZWZhdWx0
X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgZCk7Ci19Ci0KLXN0
YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZGVhc3NpZ25fZHRk
ZXZpY2UoCi0gICAgWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQs
IGNvbnN0IGNoYXIgKmR0cGF0aCkKLXsKLSAgICBYU01fQVNTRVJUX0FDVElP
TihYU01fSE9PSyk7Ci0gICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihh
Y3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgZCk7Ci19Ci0KLSNlbmRpZiAvKiBI
QVNfUEFTU1RIUk9VR0ggJiYgSEFTX0RFVklDRV9UUkVFICovCi0KIHN0YXRp
YyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fcmVzb3VyY2VfcGx1Z19j
b3JlKFhTTV9ERUZBVUxUX1ZPSUQpCiB7CiAgICAgWFNNX0FTU0VSVF9BQ1RJ
T04oWFNNX0hPT0spOwotLS0gYS94ZW4vaW5jbHVkZS94c20veHNtLmgKKysr
IGIveGVuL2luY2x1ZGUveHNtL3hzbS5oCkBAIC0xMjIsMTMgKzEyMiw2IEBA
IHN0cnVjdCB4c21fb3BzIHsKIAogI2lmIGRlZmluZWQoQ09ORklHX0hBU19Q
QVNTVEhST1VHSCkgJiYgZGVmaW5lZChDT05GSUdfSEFTX1BDSSkKICAgICBp
bnQgKCpnZXRfZGV2aWNlX2dyb3VwKSh1aW50MzJfdCBtYWNoaW5lX2JkZik7
Ci0gICAgaW50ICgqYXNzaWduX2RldmljZSkoc3RydWN0IGRvbWFpbiAqZCwg
dWludDMyX3QgbWFjaGluZV9iZGYpOwotICAgIGludCAoKmRlYXNzaWduX2Rl
dmljZSkoc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3QgbWFjaGluZV9iZGYp
OwotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKENPTkZJR19IQVNfUEFTU1RIUk9V
R0gpICYmIGRlZmluZWQoQ09ORklHX0hBU19ERVZJQ0VfVFJFRSkKLSAgICBp
bnQgKCphc3NpZ25fZHRkZXZpY2UpKHN0cnVjdCBkb21haW4gKmQsIGNvbnN0
IGNoYXIgKmR0cGF0aCk7Ci0gICAgaW50ICgqZGVhc3NpZ25fZHRkZXZpY2Up
KHN0cnVjdCBkb21haW4gKmQsIGNvbnN0IGNoYXIgKmR0cGF0aCk7CiAjZW5k
aWYKIAogICAgIGludCAoKnJlc291cmNlX3BsdWdfY29yZSkodm9pZCk7CkBA
IC01MTMsMzUgKzUwNiw4IEBAIHN0YXRpYyBpbmxpbmUgaW50IHhzbV9nZXRf
ZGV2aWNlX2dyb3VwKHgKIHsKICAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2Fs
bCh4c21fb3BzLmdldF9kZXZpY2VfZ3JvdXAsIG1hY2hpbmVfYmRmKTsKIH0K
LQotc3RhdGljIGlubGluZSBpbnQgeHNtX2Fzc2lnbl9kZXZpY2UoCi0gICAg
eHNtX2RlZmF1bHRfdCBkZWYsIHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90
IG1hY2hpbmVfYmRmKQotewotICAgIHJldHVybiBhbHRlcm5hdGl2ZV9jYWxs
KHhzbV9vcHMuYXNzaWduX2RldmljZSwgZCwgbWFjaGluZV9iZGYpOwotfQot
Ci1zdGF0aWMgaW5saW5lIGludCB4c21fZGVhc3NpZ25fZGV2aWNlKAotICAg
IHhzbV9kZWZhdWx0X3QgZGVmLCBzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJf
dCBtYWNoaW5lX2JkZikKLXsKLSAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2Fs
bCh4c21fb3BzLmRlYXNzaWduX2RldmljZSwgZCwgbWFjaGluZV9iZGYpOwot
fQogI2VuZGlmIC8qIEhBU19QQVNTVEhST1VHSCAmJiBIQVNfUENJKSAqLwog
Ci0jaWYgZGVmaW5lZChDT05GSUdfSEFTX1BBU1NUSFJPVUdIKSAmJiBkZWZp
bmVkKENPTkZJR19IQVNfREVWSUNFX1RSRUUpCi1zdGF0aWMgaW5saW5lIGlu
dCB4c21fYXNzaWduX2R0ZGV2aWNlKAotICAgIHhzbV9kZWZhdWx0X3QgZGVm
LCBzdHJ1Y3QgZG9tYWluICpkLCBjb25zdCBjaGFyICpkdHBhdGgpCi17Ci0g
ICAgcmV0dXJuIGFsdGVybmF0aXZlX2NhbGwoeHNtX29wcy5hc3NpZ25fZHRk
ZXZpY2UsIGQsIGR0cGF0aCk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IHhz
bV9kZWFzc2lnbl9kdGRldmljZSgKLSAgICB4c21fZGVmYXVsdF90IGRlZiwg
c3RydWN0IGRvbWFpbiAqZCwgY29uc3QgY2hhciAqZHRwYXRoKQotewotICAg
IHJldHVybiBhbHRlcm5hdGl2ZV9jYWxsKHhzbV9vcHMuZGVhc3NpZ25fZHRk
ZXZpY2UsIGQsIGR0cGF0aCk7Ci19Ci0KLSNlbmRpZiAvKiBIQVNfUEFTU1RI
Uk9VR0ggJiYgSEFTX0RFVklDRV9UUkVFICovCi0KIHN0YXRpYyBpbmxpbmUg
aW50IHhzbV9yZXNvdXJjZV9wbHVnX3BjaSh4c21fZGVmYXVsdF90IGRlZiwg
dWludDMyX3QgbWFjaGluZV9iZGYpCiB7CiAgICAgcmV0dXJuIGFsdGVybmF0
aXZlX2NhbGwoeHNtX29wcy5yZXNvdXJjZV9wbHVnX3BjaSwgbWFjaGluZV9i
ZGYpOwotLS0gYS94ZW4veHNtL2R1bW15LmMKKysrIGIveGVuL3hzbS9kdW1t
eS5jCkBAIC03NywxMyArNzcsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHhz
bV9vcHMgX19pbml0Y29uc3RfCiAKICNpZiBkZWZpbmVkKENPTkZJR19IQVNf
UEFTU1RIUk9VR0gpICYmIGRlZmluZWQoQ09ORklHX0hBU19QQ0kpCiAgICAg
LmdldF9kZXZpY2VfZ3JvdXAgICAgICAgICAgICAgID0geHNtX2dldF9kZXZp
Y2VfZ3JvdXAsCi0gICAgLmFzc2lnbl9kZXZpY2UgICAgICAgICAgICAgICAg
ID0geHNtX2Fzc2lnbl9kZXZpY2UsCi0gICAgLmRlYXNzaWduX2RldmljZSAg
ICAgICAgICAgICAgID0geHNtX2RlYXNzaWduX2RldmljZSwKLSNlbmRpZgot
Ci0jaWYgZGVmaW5lZChDT05GSUdfSEFTX1BBU1NUSFJPVUdIKSAmJiBkZWZp
bmVkKENPTkZJR19IQVNfREVWSUNFX1RSRUUpCi0gICAgLmFzc2lnbl9kdGRl
dmljZSAgICAgICAgICAgICAgID0geHNtX2Fzc2lnbl9kdGRldmljZSwKLSAg
ICAuZGVhc3NpZ25fZHRkZXZpY2UgICAgICAgICAgICAgPSB4c21fZGVhc3Np
Z25fZHRkZXZpY2UsCiAjZW5kaWYKIAogICAgIC5yZXNvdXJjZV9wbHVnX2Nv
cmUgICAgICAgICAgICA9IHhzbV9yZXNvdXJjZV9wbHVnX2NvcmUsCi0tLSBh
L3hlbi94c20vZmxhc2svaG9va3MuYworKysgYi94ZW4veHNtL2ZsYXNrL2hv
b2tzLmMKQEAgLTQ1LDYgKzQ1LDE3IEBAIHN0YXRpYyBpbnQgZmxhc2tfc2hh
ZG93X2NvbnRyb2woc3RydWN0IGQKICNkZWZpbmUgcHZfc2hpbSBmYWxzZQog
I2VuZGlmCiAKKyNpZmRlZiBDT05GSUdfSEFTX1BBU1NUSFJPVUdICisjaWZk
ZWYgQ09ORklHX0hBU19QQ0kKK3N0YXRpYyBpbnQgZmxhc2tfYXNzaWduX2Rl
dmljZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgbWFjaGluZV9i
ZGYpOworc3RhdGljIGludCBmbGFza19kZWFzc2lnbl9kZXZpY2Uoc3RydWN0
IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IG1hY2hpbmVfYmRmKTsKKyNlbmRp
ZgorI2lmZGVmIENPTkZJR19IQVNfREVWSUNFX1RSRUUKK3N0YXRpYyBpbnQg
Zmxhc2tfYXNzaWduX2R0ZGV2aWNlKHN0cnVjdCBkb21haW4gKmQsIGNvbnN0
IGNoYXIgKmR0cGF0aCk7CitzdGF0aWMgaW50IGZsYXNrX2RlYXNzaWduX2R0
ZGV2aWNlKHN0cnVjdCBkb21haW4gKmQsIGNvbnN0IGNoYXIgKmR0cGF0aCk7
CisjZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfSEFTX1BBU1NUSFJPVUdIICov
CisKIHN0YXRpYyB1aW50MzJfdCBkb21haW5fc2lkKGNvbnN0IHN0cnVjdCBk
b21haW4gKmRvbSkKIHsKICAgICBzdHJ1Y3QgZG9tYWluX3NlY3VyaXR5X3N0
cnVjdCAqZHNlYyA9IGRvbS0+c3NpZDsKQEAgLTY5NywxNiArNzA4LDYgQEAg
c3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0CiAKICAg
ICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzIChjb21tb24v
ZG9tY3RsLmMpICovCiAgICAgY2FzZSBYRU5fRE9NQ1RMX3NldF90YXJnZXQ6
Ci0KLSNpZmRlZiBDT05GSUdfSEFTX1BBU1NUSFJPVUdICi0gICAgLyoKLSAg
ICAgKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzCi0gICAgICog
KGRyaXZlcnMvcGFzc3Rocm91Z2gve3BjaSxkZXZpY2VfdHJlZS5jKQotICAg
ICAqLwotICAgIGNhc2UgWEVOX0RPTUNUTF90ZXN0X2Fzc2lnbl9kZXZpY2U6
Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2Fzc2lnbl9kZXZpY2U6Ci0gICAgY2Fz
ZSBYRU5fRE9NQ1RMX2RlYXNzaWduX2RldmljZToKLSNlbmRpZgogICAgICAg
ICByZXR1cm4gMDsKIAogICAgIGNhc2UgWEVOX0RPTUNUTF9kZXN0cm95ZG9t
YWluOgpAQCAtNzg2LDYgKzc4Nyw0OSBAQCBzdGF0aWMgaW50IGNmX2NoZWNr
IGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICAgICAgcmV0dXJuIGZsYXNrX3No
YWRvd19jb250cm9sKGQsIG9wLT51LnNoYWRvd19vcC5vcCk7CiAjZW5kaWYK
IAorI2lmZGVmIENPTkZJR19IQVNfUEFTU1RIUk9VR0gKKworICAgIGNhc2Ug
WEVOX0RPTUNUTF90ZXN0X2Fzc2lnbl9kZXZpY2U6CisgICAgY2FzZSBYRU5f
RE9NQ1RMX2Fzc2lnbl9kZXZpY2U6CisgICAgY2FzZSBYRU5fRE9NQ1RMX2Rl
YXNzaWduX2RldmljZToKKyAgICAgICAgc3dpdGNoICggb3AtPnUuYXNzaWdu
X2RldmljZS5kZXYgKQorICAgICAgICB7CisjaWZkZWYgQ09ORklHX0hBU19Q
Q0kKKyAgICAgICAgY2FzZSBYRU5fRE9NQ1RMX0RFVl9QQ0k6CisgICAgICAg
ICAgICByZXR1cm4gb3AtPmNtZCAhPSBYRU5fRE9NQ1RMX2RlYXNzaWduX2Rl
dmljZQorICAgICAgICAgICAgICAgICAgID8gZmxhc2tfYXNzaWduX2Rldmlj
ZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICBkLCBvcC0+dS5hc3NpZ25f
ZGV2aWNlLnUucGNpLm1hY2hpbmVfc2JkZikKKyAgICAgICAgICAgICAgICAg
ICA6IGZsYXNrX2RlYXNzaWduX2RldmljZSgKKyAgICAgICAgICAgICAgICAg
ICAgICAgICBkLCBvcC0+dS5hc3NpZ25fZGV2aWNlLnUucGNpLm1hY2hpbmVf
c2JkZik7CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19IQVNfREVWSUNFX1RS
RUUKKyAgICAgICAgY2FzZSBYRU5fRE9NQ1RMX0RFVl9EVDoKKyAgICAgICAg
eworICAgICAgICAgICAgc3RydWN0IGR0X2RldmljZV9ub2RlICpkZXY7Cisg
ICAgICAgICAgICBpbnQgcmV0ID0gZHRfZmluZF9ub2RlX2J5X2dwYXRoKG9w
LT51LmFzc2lnbl9kZXZpY2UudS5kdC5wYXRoLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcC0+dS5hc3NpZ25fZGV2
aWNlLnUuZHQuc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJmRldik7CisKKyAgICAgICAgICAgIGlmICggcmV0
ICkKKyAgICAgICAgICAgICAgICByZXR1cm4gcmV0OworCisgICAgICAgICAg
ICBvcC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQuZGV2ID0gZGV2OworCisgICAg
ICAgICAgICByZXR1cm4gb3AtPmNtZCAhPSBYRU5fRE9NQ1RMX2RlYXNzaWdu
X2RldmljZQorICAgICAgICAgICAgICAgICAgID8gZmxhc2tfYXNzaWduX2R0
ZGV2aWNlKGQsIGR0X25vZGVfZnVsbF9uYW1lKGRldikpCisgICAgICAgICAg
ICAgICAgICAgOiBmbGFza19kZWFzc2lnbl9kdGRldmljZShkLCBkdF9ub2Rl
X2Z1bGxfbmFtZShkZXYpKTsKKyAgICAgICAgfQorI2VuZGlmCisKKyAgICAg
ICAgZGVmYXVsdDoKKyAgICAgICAgICAgIC8qIFVua25vd24gdHlwZS4gKi8K
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIHJldHVy
biBhdmNfdW5rbm93bl9wZXJtaXNzaW9uKCJhc3NpZ25fZGV2aWNlIiwgb3At
PmNtZCk7CisKKyNlbmRpZiAvKiBDT05GSUdfSEFTX1BBU1NUSFJPVUdIICov
CisKICAgICBjYXNlIFhFTl9ET01DVExfbWVtX3NoYXJpbmdfb3A6CiAgICAg
ICAgIHJldHVybiBjdXJyZW50X2hhc19wZXJtKGQsIFNFQ0NMQVNTX0hWTSwg
SFZNX19NRU1fU0hBUklORyk7CiAKQEAgLTE0MDcsNyArMTQ1MSw3IEBAIHN0
YXRpYyBpbnQgZmxhc2tfdGVzdF9hc3NpZ25fZGV2aWNlKHVpbnQKICAgICBy
ZXR1cm4gYXZjX2N1cnJlbnRfaGFzX3Blcm0ocnNpZCwgU0VDQ0xBU1NfUkVT
T1VSQ0UsIFJFU09VUkNFX19TVEFUX0RFVklDRSwgTlVMTCk7CiB9CiAKLXN0
YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfYXNzaWduX2RldmljZShzdHJ1Y3Qg
ZG9tYWluICpkLCB1aW50MzJfdCBtYWNoaW5lX2JkZikKK3N0YXRpYyBpbnQg
Zmxhc2tfYXNzaWduX2RldmljZShzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJf
dCBtYWNoaW5lX2JkZikKIHsKICAgICB1aW50MzJfdCBkc2lkLCByc2lkOwog
ICAgIGludCByYyA9IC1FUEVSTTsKQEAgLTE0MzcsNyArMTQ4MSw3IEBAIHN0
YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfYXNzaWduX2RldmljZSgKICAgICBy
ZXR1cm4gYXZjX2hhc19wZXJtKGRzaWQsIHJzaWQsIFNFQ0NMQVNTX1JFU09V
UkNFLCBkcGVybSwgJmFkKTsKIH0KIAotc3RhdGljIGludCBjZl9jaGVjayBm
bGFza19kZWFzc2lnbl9kZXZpY2UoCitzdGF0aWMgaW50IGZsYXNrX2RlYXNz
aWduX2RldmljZSgKICAgICBzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBt
YWNoaW5lX2JkZikKIHsKICAgICB1aW50MzJfdCByc2lkOwpAQCAtMTQ2OSw3
ICsxNTEzLDcgQEAgc3RhdGljIGludCBmbGFza190ZXN0X2Fzc2lnbl9kdGRl
dmljZShjbwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxM
KTsKIH0KIAotc3RhdGljIGludCBjZl9jaGVjayBmbGFza19hc3NpZ25fZHRk
ZXZpY2Uoc3RydWN0IGRvbWFpbiAqZCwgY29uc3QgY2hhciAqZHRwYXRoKQor
c3RhdGljIGludCBmbGFza19hc3NpZ25fZHRkZXZpY2Uoc3RydWN0IGRvbWFp
biAqZCwgY29uc3QgY2hhciAqZHRwYXRoKQogewogICAgIHVpbnQzMl90IGRz
aWQsIHJzaWQ7CiAgICAgaW50IHJjID0gLUVQRVJNOwpAQCAtMTQ5OSw3ICsx
NTQzLDcgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19hc3NpZ25fZHRk
ZXZpYwogICAgIHJldHVybiBhdmNfaGFzX3Blcm0oZHNpZCwgcnNpZCwgU0VD
Q0xBU1NfUkVTT1VSQ0UsIGRwZXJtLCAmYWQpOwogfQogCi1zdGF0aWMgaW50
IGNmX2NoZWNrIGZsYXNrX2RlYXNzaWduX2R0ZGV2aWNlKAorc3RhdGljIGlu
dCBmbGFza19kZWFzc2lnbl9kdGRldmljZSgKICAgICBzdHJ1Y3QgZG9tYWlu
ICpkLCBjb25zdCBjaGFyICpkdHBhdGgpCiB7CiAgICAgdWludDMyX3QgcnNp
ZDsKQEAgLTE5NjksMTMgKzIwMTMsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0
IHhzbV9vcHMgX19pbml0Y29uc3RfCiAKICNpZiBkZWZpbmVkKENPTkZJR19I
QVNfUEFTU1RIUk9VR0gpICYmIGRlZmluZWQoQ09ORklHX0hBU19QQ0kpCiAg
ICAgLmdldF9kZXZpY2VfZ3JvdXAgPSBmbGFza19nZXRfZGV2aWNlX2dyb3Vw
LAotICAgIC5hc3NpZ25fZGV2aWNlID0gZmxhc2tfYXNzaWduX2RldmljZSwK
LSAgICAuZGVhc3NpZ25fZGV2aWNlID0gZmxhc2tfZGVhc3NpZ25fZGV2aWNl
LAotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKENPTkZJR19IQVNfUEFTU1RIUk9V
R0gpICYmIGRlZmluZWQoQ09ORklHX0hBU19ERVZJQ0VfVFJFRSkKLSAgICAu
YXNzaWduX2R0ZGV2aWNlID0gZmxhc2tfYXNzaWduX2R0ZGV2aWNlLAotICAg
IC5kZWFzc2lnbl9kdGRldmljZSA9IGZsYXNrX2RlYXNzaWduX2R0ZGV2aWNl
LAogI2VuZGlmCiAKICAgICAucGxhdGZvcm1fb3AgPSBmbGFza19wbGF0Zm9y
bV9vcCwK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.20-18.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.20-18.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX3NldF90YXJnZXQgd2l0aG91
dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKClRoZSBvbmx5IGxvY2tpbmcgcmVx
dWlyZWQgaGVyZSBpcyB0aGF0IGJldHdlZW4gY2hlY2tpbmcgZC0+dGFyZ2V0
IGFuZApzZXR0aW5nIGl0LiBUbyBhdm9pZCB0aGUgbmVlZCBmb3IgYW4gZXhw
bGljaXQgbG9jaywgdXNlIGNtcHhjaGdwdHIoKSB0bwp1cGRhdGUgZC0+dGFy
Z2V0LgoKTW92ZSB0aGUgaGFuZGxpbmcgbm90IG9ubHkgYWhlYWQgb2YgYWNx
dWlyaW5nIHRoZSBsb2NrLCBidXQgYWxzbyBhaGVhZApvZiB0aGUgWFNNIGNo
ZWNrLCBsZXZlcmFnaW5nIHRoYXQgdGhlIHN1Yi1vcCBoYXMgaXRzIG93biBo
b29rLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIuCgpTaWduZWQtb2ZmLWJ5
OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkFja2VkLWJ5OiBE
YW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+
ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0
cml4LmNvbT4KCi0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMKKysrIGIveGVu
L2NvbW1vbi9kb21jdGwuYwpAQCAtNDk2LDYgKzQ5NiwzMCBAQCBsb25nIGRv
X2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlCiAgICAgfQogI2Vu
ZGlmCiAKKyAgICBjYXNlIFhFTl9ET01DVExfc2V0X3RhcmdldDoKKyAgICB7
CisgICAgICAgIHN0cnVjdCBkb21haW4gKmUgPSBnZXRfZG9tYWluX2J5X2lk
KG9wLT51LnNldF90YXJnZXQudGFyZ2V0KTsKKworICAgICAgICByZXQgPSAt
RVNSQ0g7CisgICAgICAgIGlmICggIWUgKQorICAgICAgICAgICAgZ290byBk
b21jdGxfb3V0X3VubG9ja19kb21vbmx5OworCisgICAgICAgIGlmICggZCA9
PSBlICkKKyAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7CisgICAgICAgIGVs
c2UgaWYgKCAhaXNfaHZtX2RvbWFpbihlKSApCisgICAgICAgICAgICByZXQg
PSAtRU9QTk9UU1VQUDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0
ID0geHNtX3NldF90YXJnZXQoWFNNX1BSSVYsIGQsIGUpOworCisgICAgICAg
IC8qIEhvbGQgcmVmZXJlbmNlIG9uIEBlIHVudGlsIHdlIGRlc3Ryb3kgQGQu
ICovCisgICAgICAgIGlmICggIXJldCAmJiBjbXB4Y2hncHRyKCZkLT50YXJn
ZXQsIE5VTEwsIGUpICkKKyAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7CisK
KyAgICAgICAgaWYgKCByZXQgKQorICAgICAgICAgICAgcHV0X2RvbWFpbihl
KTsKKyAgICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5Owor
ICAgIH0KKwogICAgIGNhc2UgWEVOX0RPTUNUTF92bV9ldmVudF9vcDoKICAg
ICAgICAgaWYgKCBvcC0+dS52bV9ldmVudF9vcC5vcCA9PSBYRU5fVk1fRVZF
TlRfR0VUX1ZFUlNJT04gKQogICAgICAgICB7CkBAIC04NTMsMzYgKzg3Nyw2
IEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUK
ICAgICAgICAgZG9tYWluX3NldF90aW1lX29mZnNldChkLCBvcC0+dS5zZXR0
aW1lb2Zmc2V0LnRpbWVfb2Zmc2V0X3NlY29uZHMpOwogICAgICAgICBicmVh
azsKIAotICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRfdGFyZ2V0OgotICAgIHsK
LSAgICAgICAgc3RydWN0IGRvbWFpbiAqZTsKLQotICAgICAgICByZXQgPSAt
RVNSQ0g7Ci0gICAgICAgIGUgPSBnZXRfZG9tYWluX2J5X2lkKG9wLT51LnNl
dF90YXJnZXQudGFyZ2V0KTsKLSAgICAgICAgaWYgKCBlID09IE5VTEwgKQot
ICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgcmV0ID0gLUVJTlZBTDsK
LSAgICAgICAgaWYgKCAoZCA9PSBlKSB8fCAoZC0+dGFyZ2V0ICE9IE5VTEwp
ICkKLSAgICAgICAgewotICAgICAgICAgICAgcHV0X2RvbWFpbihlKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0ID0g
LUVPUE5PVFNVUFA7Ci0gICAgICAgIGlmICggaXNfaHZtX2RvbWFpbihlKSAp
Ci0gICAgICAgICAgICByZXQgPSB4c21fc2V0X3RhcmdldChYU01fSE9PSywg
ZCwgZSk7Ci0gICAgICAgIGlmICggcmV0ICkKLSAgICAgICAgewotICAgICAg
ICAgICAgcHV0X2RvbWFpbihlKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICB9Ci0KLSAgICAgICAgLyogSG9sZCByZWZlcmVuY2Ugb24gQGUgdW50
aWwgd2UgZGVzdHJveSBAZC4gKi8KLSAgICAgICAgZC0+dGFyZ2V0ID0gZTsK
LSAgICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2FzZSBYRU5fRE9NQ1RM
X3N1YnNjcmliZToKICAgICAgICAgZC0+c3VzcGVuZF9ldnRjaG4gPSBvcC0+
dS5zdWJzY3JpYmUucG9ydDsKICAgICAgICAgYnJlYWs7Ci0tLSBhL3hlbi9p
bmNsdWRlL3hzbS9kdW1teS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS9kdW1t
eS5oCkBAIC0xNTAsNyArMTUwLDcgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50
IGNmX2NoZWNrIHhzbV9zeXNjdAogc3RhdGljIFhTTV9JTkxJTkUgaW50IGNm
X2NoZWNrIHhzbV9zZXRfdGFyZ2V0KAogICAgIFhTTV9ERUZBVUxUX0FSRyBz
dHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZG9tYWluICplKQogewotICAgIFhT
TV9BU1NFUlRfQUNUSU9OKFhTTV9IT09LKTsKKyAgICBYU01fQVNTRVJUX0FD
VElPTihYU01fUFJJVik7CiAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlv
bihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgTlVMTCk7CiB9CiAKQEAgLTE2
OSw2ICsxNjksNyBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sg
eHNtX2RvbWN0CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNz
aW9uOgogICAgIGNhc2UgWEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbjoKICAg
ICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CisgICAgY2FzZSBY
RU5fRE9NQ1RMX3NldF90YXJnZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Vu
YmluZF9wdF9pcnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwog
ICAgICAgICByZXR1cm4gLUVJTFNFUTsKLS0tIGEveGVuL3hzbS9mbGFzay9o
b29rcy5jCisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNzAyLDE0
ICs3MDIsMTEgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwo
c3RydWN0CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNzaW9u
OgogICAgIGNhc2UgWEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbjoKICAgICBj
YXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CisgICAgY2FzZSBYRU5f
RE9NQ1RMX3NldF90YXJnZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmlu
ZF9wdF9pcnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAg
ICAgICByZXR1cm4gLUVJTFNFUTsKIAotICAgIC8qIFRoZXNlIGhhdmUgaW5k
aXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9kb21jdGwuYykgKi8KLSAgICBj
YXNlIFhFTl9ET01DVExfc2V0X3RhcmdldDoKLSAgICAgICAgcmV0dXJuIDA7
Ci0KICAgICBjYXNlIFhFTl9ET01DVExfZGVzdHJveWRvbWFpbjoKICAgICAg
ICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9NQUlO
LCBET01BSU5fX0RFU1RST1kpOwogCg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.21-01.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.21-01.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBzY2hlZDogdXNlIHNlcXVlbmNlIGNvdW50ZXIgdG8gZW5saWdodGVuIHZj
cHVfcnVuc3RhdGVfZ2V0KCkKClN1YnNlcXVlbnRseSBYRU5fRE9NQ1RMX2dl
dGRvbWFpbmluZm8gd2lsbCB3YW50IHRvIGludm9rZSB0aGUgZnVuY3Rpb24K
d2l0aG91dCBob2xkaW5nIGEgbG9jaywgdGh1cyBhbGxvd2luZyBwYXJhbGxl
bCBleGVjdXRpb24gb2YgcG90ZW50aWFsbHkKbWFueSBpbnN0YW5jZXMuIEFz
IHdhcyBsZWFybmVkIGZyb20gMjI4YWI5OTkyZmZiICgiZG9tY3RsOiBpbXBy
b3ZlCmxvY2tpbmcgZHVyaW5nIGRvbWFpbiBkZXN0cnVjdGlvbiIpLCByZXZl
cnRlZCBieSBkMDg4N2NjNmIxNmUsIHN1Y2gKcGFyYWxsZWxpc20gY2FuIHJl
c3VsdCBpbiBzZXZlcmUgbG9jayBjb250ZW50aW9uIG9uIGFueSAocHJldmlv
dXNseSkKaW5uZXIgbG9jay4gVG8gYXZvaWQgdGFraW5nIHRoYXQgcmlzayBy
ZXBsYWNlIHRoZSB1c2Ugb2YgdGhlIHNjaGVkdWxlcgpsb2NrIGluIHZjcHVf
cnVuc3RhdGVfZ2V0KCkgYnkgYSBuZXdseSBpbnRyb2R1Y2VkIHNlcXVlbmNl
IGNvdW50ZXIuCkNvbnZlcnQgdGhlICJubyBsb2NrIGlmIGN1cnJlbnQiIHBy
b3BlcnR5IHRvICJ1c2UgYSBsb2NhbCBjb3VudGVyCmluc3RhbmNlIiwgdGh1
cyBndWFyYW50ZWVpbmcgdGhlIGxvb3AgdG8gZXhpdCBhZnRlciB0aGUgZmly
c3QgaXRlcmF0aW9uLgoKU2tlbGV0b24gYW5kIGNvbW1lbnRhcnkgb2YgdGhl
IHNlcWNvdW50IGltcGxlbWVudGF0aW9uIGJhc2VkIG9uIC8KZGVyaXZlZCBm
cm9tIExpbnV4IDYuMTEtcmMuCgpUbyBoYXZlIHJ1bnN0YXRlX3NlcSBwbGFj
ZWQgbmV4dCB0byBydW5zdGF0ZSBpbiBzdHJ1Y3QgdmNwdSwgd2l0aG91dApp
bnRyb2R1Y2luZyBhIG5ldyBvYnZpb3VzIHBhZGRpbmcgaG9sZSwgeWV0IHdo
aWxlIGtlZXBpbmcgdGhlIGxhdHRlcgphZGphY2VudCB0byBydW5zdGF0ZV9n
dWVzdHssX2FyZWF9IGFzIHdlbGwsIG1vdmUgcnVuc3RhdGUgZG93biBhIGxp
dHRsZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKUmVxdWVzdGVkLWJ5
OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpT
aWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+
ClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIz
QGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxy
b2dlci5wYXVAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jv
c3MgPGpncm9zc0BzdXNlLmNvbT4KCi0tLSBhL3hlbi9jb21tb24vc2NoZWQv
Y29yZS5jCisrKyBiL3hlbi9jb21tb24vc2NoZWQvY29yZS5jCkBAIC0yODEs
MTMgKzI4MSwxOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgdmNwdV9ydW5zdGF0
ZV9jaGFuZ2UoCiAgICAgfQogCiAgICAgZGVsdGEgPSBuZXdfZW50cnlfdGlt
ZSAtIHYtPnJ1bnN0YXRlLnN0YXRlX2VudHJ5X3RpbWU7Ci0gICAgaWYgKCBk
ZWx0YSA+IDAgKQorCisgICAgLyogU2VyaWFsaXphdGlvbjogLT5zY2hlZHVs
ZV9sb2NrIChzZWUgQVNTRVJUKCkgYWJvdmUpLiAqLworICAgIHdpdGhfc2Vx
X3dyaXRlKCZ2LT5ydW5zdGF0ZV9zZXEpCiAgICAgewotICAgICAgICB2LT5y
dW5zdGF0ZS50aW1lW3YtPnJ1bnN0YXRlLnN0YXRlXSArPSBkZWx0YTsKLSAg
ICAgICAgdi0+cnVuc3RhdGUuc3RhdGVfZW50cnlfdGltZSA9IG5ld19lbnRy
eV90aW1lOwotICAgIH0KKyAgICAgICAgaWYgKCBkZWx0YSA+IDAgKQorICAg
ICAgICB7CisgICAgICAgICAgICB2LT5ydW5zdGF0ZS50aW1lW3YtPnJ1bnN0
YXRlLnN0YXRlXSArPSBkZWx0YTsKKyAgICAgICAgICAgIHYtPnJ1bnN0YXRl
LnN0YXRlX2VudHJ5X3RpbWUgPSBuZXdfZW50cnlfdGltZTsKKyAgICAgICAg
fQogCi0gICAgdi0+cnVuc3RhdGUuc3RhdGUgPSBuZXdfc3RhdGU7CisgICAg
ICAgIHYtPnJ1bnN0YXRlLnN0YXRlID0gbmV3X3N0YXRlOworICAgIH0KIH0K
IAogdm9pZCBzY2hlZF9ndWVzdF9pZGxlKHZvaWQgKCppZGxlKSAodm9pZCks
IHVuc2lnbmVkIGludCBjcHUpCkBAIC0zMDcsMzAgKzMxMiwxOCBAQCB2b2lk
IHNjaGVkX2d1ZXN0X2lkbGUodm9pZCAoKmlkbGUpICh2b2lkCiB2b2lkIHZj
cHVfcnVuc3RhdGVfZ2V0KGNvbnN0IHN0cnVjdCB2Y3B1ICp2LAogICAgICAg
ICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmNwdV9ydW5zdGF0ZV9pbmZvICpy
dW5zdGF0ZSkKIHsKLSAgICBzcGlubG9ja190ICpsb2NrOwotICAgIHNfdGlt
ZV90IGRlbHRhOwotICAgIHN0cnVjdCBzY2hlZF91bml0ICp1bml0OworICAg
IHN0cnVjdCBzZXFjb3VudCBzZXEgPSBTRVFDTlRfWkVSTygpOworICAgIGNv
bnN0IHN0cnVjdCBzZXFjb3VudCAqcyA9IGxpa2VseSh2ID09IGN1cnJlbnQp
ID8gJnNlcSA6ICZ2LT5ydW5zdGF0ZV9zZXE7CiAKLSAgICByY3VfcmVhZF9s
b2NrKCZzY2hlZF9yZXNfcmN1bG9jayk7Ci0KLSAgICAvKgotICAgICAqIEJl
IGNhcmVmdWwgaW4gY2FzZSBvZiBhbiBpZGxlIHZjcHU6IHRoZSBhc3NpZ25t
ZW50IHRvIGEgdW5pdCBtaWdodAotICAgICAqIGNoYW5nZSBldmVuIHdpdGgg
dGhlIHNjaGVkdWxpbmcgbG9jayBoZWxkLCBzbyBiZSBzdXJlIHRvIHVzZSB0
aGUKLSAgICAgKiBjb3JyZWN0IHVuaXQgZm9yIGxvY2tpbmcgaW4gb3JkZXIg
dG8gYXZvaWQgdHJpZ2dlcmluZyBhbiBBU1NFUlQoKSBpbgotICAgICAqIHRo
ZSB1bmxvY2sgZnVuY3Rpb24uCi0gICAgICovCi0gICAgdW5pdCA9IGlzX2lk
bGVfdmNwdSh2KSA/IGdldF9zY2hlZF9yZXModi0+cHJvY2Vzc29yKS0+c2No
ZWRfdW5pdF9pZGxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICA6IHYt
PnNjaGVkX3VuaXQ7Ci0gICAgbG9jayA9IGxpa2VseSh2ID09IGN1cnJlbnQp
ID8gTlVMTCA6IHVuaXRfc2NoZWR1bGVfbG9ja19pcnEodW5pdCk7Ci0gICAg
bWVtY3B5KHJ1bnN0YXRlLCAmdi0+cnVuc3RhdGUsIHNpemVvZigqcnVuc3Rh
dGUpKTsKLSAgICBkZWx0YSA9IE5PVygpIC0gcnVuc3RhdGUtPnN0YXRlX2Vu
dHJ5X3RpbWU7Ci0gICAgaWYgKCBkZWx0YSA+IDAgKQotICAgICAgICBydW5z
dGF0ZS0+dGltZVtydW5zdGF0ZS0+c3RhdGVdICs9IGRlbHRhOwotCi0gICAg
aWYgKCB1bmxpa2VseShsb2NrICE9IE5VTEwpICkKLSAgICAgICAgdW5pdF9z
Y2hlZHVsZV91bmxvY2tfaXJxKGxvY2ssIHVuaXQpOworICAgIHVudGlsX3Nl
cV9yZWFkKHMpCisgICAgeworICAgICAgICBzX3RpbWVfdCBkZWx0YTsKIAot
ICAgIHJjdV9yZWFkX3VubG9jaygmc2NoZWRfcmVzX3JjdWxvY2spOworICAg
ICAgICAqcnVuc3RhdGUgPSB2LT5ydW5zdGF0ZTsKKyAgICAgICAgZGVsdGEg
PSBOT1coKSAtIHJ1bnN0YXRlLT5zdGF0ZV9lbnRyeV90aW1lOworICAgICAg
ICBpZiAoIGRlbHRhID4gMCApCisgICAgICAgICAgICBydW5zdGF0ZS0+dGlt
ZVtydW5zdGF0ZS0+c3RhdGVdICs9IGRlbHRhOworICAgIH0KIH0KIAogdWlu
dDY0X3QgZ2V0X2NwdV9pZGxlX3RpbWUodW5zaWduZWQgaW50IGNwdSkKLS0t
IGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKKysrIGIveGVuL2luY2x1ZGUv
eGVuL3NjaGVkLmgKQEAgLTE2LDYgKzE2LDcgQEAKICNpbmNsdWRlIDx4ZW4v
cmFkaXgtdHJlZS5oPgogI2luY2x1ZGUgPHhlbi9tdWx0aWNhbGwuaD4KICNp
bmNsdWRlIDx4ZW4vbm9zcGVjLmg+CisjaW5jbHVkZSA8eGVuL3NlcWNvdW50
Lmg+CiAjaW5jbHVkZSA8eGVuL3Rhc2tsZXQuaD4KICNpbmNsdWRlIDx4ZW4v
bW0uaD4KICNpbmNsdWRlIDx4ZW4vc21wLmg+CkBAIC0xOTgsNyArMTk5LDYg
QEAgc3RydWN0IHZjcHUKIAogICAgIHN0cnVjdCBzY2hlZF91bml0ICpzY2hl
ZF91bml0OwogCi0gICAgc3RydWN0IHZjcHVfcnVuc3RhdGVfaW5mbyBydW5z
dGF0ZTsKICNpZm5kZWYgQ09ORklHX0NPTVBBVAogIyBkZWZpbmUgcnVuc3Rh
dGVfZ3Vlc3QodikgKCh2KS0+cnVuc3RhdGVfZ3Vlc3QpCiAgICAgWEVOX0dV
RVNUX0hBTkRMRSh2Y3B1X3J1bnN0YXRlX2luZm9fdCkgcnVuc3RhdGVfZ3Vl
c3Q7IC8qIGd1ZXN0IGFkZHJlc3MgKi8KQEAgLTIxMCw2ICsyMTAsOCBAQCBz
dHJ1Y3QgdmNwdQogICAgIH0gcnVuc3RhdGVfZ3Vlc3Q7IC8qIGd1ZXN0IGFk
ZHJlc3MgKi8KICNlbmRpZgogICAgIHN0cnVjdCBndWVzdF9hcmVhIHJ1bnN0
YXRlX2d1ZXN0X2FyZWE7CisgICAgc3RydWN0IHZjcHVfcnVuc3RhdGVfaW5m
byBydW5zdGF0ZTsKKyAgICBzdHJ1Y3Qgc2VxY291bnQgIHJ1bnN0YXRlX3Nl
cTsKICAgICB1bnNpZ25lZCBpbnQgICAgIG5ld19zdGF0ZTsKIAogICAgIC8q
IEhhcyB0aGUgRlBVIGJlZW4gaW5pdGlhbGlzZWQ/ICovCi0tLSAvZGV2L251
bGwKKysrIGIveGVuL2luY2x1ZGUveGVuL3NlcWNvdW50LmgKQEAgLTAsMCAr
MSwxMzkgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w
LW9ubHkgKi8KKyNpZm5kZWYgWEVOX1NFUUNPVU5UX0gKKyNkZWZpbmUgWEVO
X1NFUUNPVU5UX0gKKworI2luY2x1ZGUgPHhlbi9saWIuaD4KKyNpbmNsdWRl
IDx4ZW4vbm9zcGVjLmg+CisKKyNpbmNsdWRlIDxhc20vYXRvbWljLmg+Cisj
aW5jbHVkZSA8YXNtL3N5c3RlbS5oPgorCisvKgorICogU2VxdWVuY2UgY291
bnRlcnMgKHNlcWNvdW50X3QpCisgKgorICogVGhpcyBpcyB0aGUgcmF3IGNv
dW50aW5nIG1lY2hhbmlzbSwgd2l0aG91dCBhbnkgd3JpdGVyIHByb3RlY3Rp
b24uCisgKgorICogV3JpdGUgc2lkZSBjcml0aWNhbCBzZWN0aW9ucyBtdXN0
IGJlIHNlcmlhbGl6ZWQgKGFuZCBub24tcHJlZW1wdGlibGUpLgorICoKKyAq
IElmIHJlYWRlcnMgY2FuIGJlIGludm9rZWQgZnJvbSBpbnRlcnJ1cHQgY29u
dGV4dHMsIGludGVycnVwdHMgbXVzdCBhbHNvCisgKiBiZSByZXNwZWN0aXZl
bHkgZGlzYWJsZWQgYmVmb3JlIGVudGVyaW5nIHRoZSB3cml0ZSBzZWN0aW9u
LgorICoKKyAqIFRoaXMgbWVjaGFuaXNtIGNhbid0IGJlIHVzZWQgaWYgdGhl
IHByb3RlY3RlZCBkYXRhIGNvbnRhaW5zIHBvaW50ZXJzLAorICogYXMgdGhl
IHdyaXRlciBjYW4gaW52YWxpZGF0ZSBhIHBvaW50ZXIgdGhhdCBhIHJlYWRl
ciBpcyBmb2xsb3dpbmcuCisgKi8KK3N0cnVjdCBzZXFjb3VudCB7CisgICAg
dW5zaWduZWQgaW50IHNlcXVlbmNlOworfTsKKworLyoKKyAqIFNFUUNOVF9a
RVJPKCkgLSBpbml0aWFsaXplciBmb3Igc2VxY291bnRfdAorICogQG5hbWU6
IE5hbWUgb2YgdGhlIHN0cnVjdCBzZXFjb3VudCBpbnN0YW5jZQorICovCisj
ZGVmaW5lIFNFUUNOVF9aRVJPKCkgeyAuc2VxdWVuY2UgPSAwIH0KKworc3Rh
dGljIGlubGluZSB1bnNpZ25lZCBpbnQgc2VxcHJvcF9zZXF1ZW5jZShjb25z
dCBzdHJ1Y3Qgc2VxY291bnQgKnMpCit7CisgICAgcmV0dXJuIEFDQ0VTU19P
TkNFKHMtPnNlcXVlbmNlKTsKK30KKworLyoKKyAqIHJlYWRfc2VxY291bnRf
YmVnaW4oKSAtIGJlZ2luIGEgc2VxY291bnQgcmVhZCBjcml0aWNhbCBzZWN0
aW9uCisgKiBAczogUG9pbnRlciB0byBzdHJ1Y3Qgc2VxY291bnQKKyAqCisg
KiBSZXR1cm46IGNvdW50IHRvIGJlIHBhc3NlZCB0byByZWFkX3NlcWNvdW50
X3JldHJ5KCkKKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgX3Jl
YWRfc2VxY291bnRfYmVnaW4oY29uc3Qgc3RydWN0IHNlcWNvdW50ICpzKQor
eworICAgIHVuc2lnbmVkIGludCBzZXE7CisKKyAgICB3aGlsZSAoKHNlcSA9
IHNlcXByb3Bfc2VxdWVuY2UocykpICYgMSkKKyAgICAgICAgY3B1X3JlbGF4
KCk7CisKKyAgICBzbXBfcm1iKCk7CisKKyAgICByZXR1cm4gc2VxOworfQor
CitzdGF0aWMgYWx3YXlzX2lubGluZSB1bnNpZ25lZCBpbnQgcmVhZF9zZXFj
b3VudF9iZWdpbihjb25zdCBzdHJ1Y3Qgc2VxY291bnQgKnMpCit7CisgICAg
dW5zaWduZWQgaW50IHNlcSA9IF9yZWFkX3NlcWNvdW50X2JlZ2luKHMpOwor
CisgICAgYmxvY2tfbG9ja19zcGVjdWxhdGlvbigpOworCisgICAgcmV0dXJu
IHNlcTsKK30KKworLyoKKyAqIHJlYWRfc2VxY291bnRfcmV0cnkoKSAtIGVu
ZCBhIHNlcWNvdW50IHJlYWQgY3JpdGljYWwgc2VjdGlvbgorICogQHM6IFBv
aW50ZXIgdG8gc3RydWN0IHNlcWNvdW50CisgKiBAc3RhcnQ6IGNvdW50LCBm
cm9tIHJlYWRfc2VxY291bnRfYmVnaW4oKQorICoKKyAqIHJlYWRfc2VxY291
bnRfcmV0cnkgY2xvc2VzIHRoZSByZWFkIGNyaXRpY2FsIHNlY3Rpb24gb2Yg
Z2l2ZW4gc3RydWN0CisgKiBzZXFjb3VudC4gIElmIHRoZSBjcml0aWNhbCBz
ZWN0aW9uIHdhcyBpbnZhbGlkLCBpdCBtdXN0IGJlIGlnbm9yZWQKKyAqIChh
bmQgdHlwaWNhbGx5IHJldHJpZWQpLgorICoKKyAqIFJldHVybjogdHJ1ZSBp
ZiBhIHJlYWQgc2VjdGlvbiByZXRyeSBpcyByZXF1aXJlZCwgZWxzZSBmYWxz
ZQorICovCitzdGF0aWMgaW5saW5lIGJvb2wgX3JlYWRfc2VxY291bnRfcmV0
cnkoY29uc3Qgc3RydWN0IHNlcWNvdW50ICpzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBzdGFydCkK
K3sKKyAgICBzbXBfcm1iKCk7CisgICAgcmV0dXJuIHVubGlrZWx5KHNlcXBy
b3Bfc2VxdWVuY2UocykgIT0gc3RhcnQpOworfQorCitzdGF0aWMgYWx3YXlz
X2lubGluZSBib29sIHJlYWRfc2VxY291bnRfcmV0cnkoY29uc3Qgc3RydWN0
IHNlcWNvdW50ICpzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBzdGFydCkKK3sKKyAgICBy
ZXR1cm4gbG9ja19ldmFsdWF0ZV9ub3NwZWMoX3JlYWRfc2VxY291bnRfcmV0
cnkocywgc3RhcnQpKTsKK30KKworLyogTG9vcHMgdW50aWwgYSBjb25zaXN0
ZW50IGNvdW50IGhhcyBiZWVuIG9ic2VydmVkIGFjcm9zcyB0aGUgbG9vcCBi
b2R5LiAqLworI2RlZmluZSB1bnRpbF9zZXFfcmVhZChzZXEpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZvciAoIHVuc2ln
bmVkIGludCByZXRyeV8gPSAxLCBjb3VudF87ICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgICAgIHJldHJ5XyAmJiAoY291bnRfID0gcmVhZF9zZXFj
b3VudF9iZWdpbihzZXEpLCB0cnVlKTsgXAorICAgICAgICAgIHJldHJ5XyA9
IHJlYWRfc2VxY291bnRfcmV0cnkoc2VxLCBjb3VudF8pICkKKworLyoKKyAq
IHdyaXRlX3NlcWNvdW50X2JlZ2luKCkgLSBzdGFydCBhIHN0cnVjdCBzZXFj
b3VudCB3cml0ZSBzaWRlIGNyaXRpY2FsIHNlY3Rpb24KKyAqIEBzOiBQb2lu
dGVyIHRvIHN0cnVjdCBzZXFjb3VudAorICoKKyAqIENvbnRleHQ6IHNlcXVl
bmNlIGNvdW50ZXIgd3JpdGUgc2lkZSBzZWN0aW9ucyBtdXN0IGJlIHNlcmlh
bGl6ZWQuCisgKiBJZiByZWFkZXJzIGNhbiBiZSBpbnZva2VkIGZyb20gaW50
ZXJydXB0IGNvbnRleHQsIGludGVycnVwdHMgbXVzdCBiZQorICogcmVzcGVj
dGl2ZWx5IGRpc2FibGVkLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgd3Jp
dGVfc2VxY291bnRfYmVnaW4oc3RydWN0IHNlcWNvdW50ICpzKQoreworICAg
IGFkZF9zaXplZCgmcy0+c2VxdWVuY2UsIDEpOworICAgIHNtcF93bWIoKTsK
K30KKworLyoKKyAqIHdyaXRlX3NlcWNvdW50X2VuZCgpIC0gZW5kIGEgc3Ry
dWN0IHNlcWNvdW50IHdyaXRlIHNpZGUgY3JpdGljYWwgc2VjdGlvbgorICog
QHM6IFBvaW50ZXIgdG8gc2VxY291bnQKKyAqLworc3RhdGljIGlubGluZSB2
b2lkIHdyaXRlX3NlcWNvdW50X2VuZChzdHJ1Y3Qgc2VxY291bnQgKnMpCit7
CisgICAgc21wX3dtYigpOworICAgIGFkZF9zaXplZCgmcy0+c2VxdWVuY2Us
IDEpOworfQorCisvKgorICogTm90IHJlYWxseSBhIGxvb3AsIGJ1dCB3ZSBu
ZWVkIHdyaXRlX3NlcWNvdW50X3tiZWdpbixlbmR9KCkgaW4gdGhlIGNvcnJl
Y3QKKyAqIHBvc2l0aW9uLgorICovCisjZGVmaW5lIHdpdGhfc2VxX3dyaXRl
KHNlcSkgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZm9yICgg
Ym9vbCBvbmNlXyA9IHRydWU7ICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgICAgb25jZV8gJiYgKHdyaXRlX3NlcWNvdW50X2JlZ2luKHNl
cSksIHRydWUpOyBcCisgICAgICAgICAgKHdyaXRlX3NlcWNvdW50X2VuZChz
ZXEpLCBvbmNlXyA9IGZhbHNlKSApCisKKyNlbmRpZiAvKiBYRU5fU0VRQ09V
TlRfSCAqLworCisvKgorICogTG9jYWwgdmFyaWFibGVzOgorICogbW9kZTog
QworICogYy1maWxlLXN0eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZzZXQ6
IDQKKyAqIHRhYi13aWR0aDogNAorICogaW5kZW50LXRhYnMtbW9kZTogbmls
CisgKiBFbmQ6CisgKi8K

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.21-02.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.21-02.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2dldGRvbWFpbmluZm8gd2l0
aG91dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKCmdldGRvbWFpbmluZm8oKSBp
cyBub3QgY2FsbGVkIHVuZGVyIGNvbnNpc3RlbnRseSB0aGUgc2FtZSBsb2Nr
LiBUaHVzLAp3aXRoIGNhbGxlciBzaWRlIGxvY2tpbmcgaXJyZWxldmFudCwg
aXQgY2FuIGFzIHdlbGwgYmUgY2FsbGVkIHdpdGggdGhlCmRvbWN0bCBsb2Nr
IG5vdCBoZWxkLiAoQ2FsbGVycyBub3QgcGF1c2luZyB0aGUgZG9tYWluIHRo
ZXkgd2FudCB0bwpyZXRyaWV2ZSBpbmZvcm1hdGlvbiBmb3IgYWxyZWFkeSBu
ZWVkIHRvIGJlIGF3YXJlIHRoYXQgbm90IGFsbCBvZiB0aGUKZGF0YSByZXR1
cm5lZCBjYW4gYmUgcmVsaWVkIG9uIGFzIGJlaW5nIGNvbnNpc3RlbnQ7IG1v
c3QgZGF0YSB3aWxsIGFsc28KYmUgc3RhbGUgYnkgdGhlIHRpbWUgdGhlIGNh
bGxlciBnZXRzIHRvIGxvb2sgYXQgaXQuKQoKTW92ZSB0aGUgaGFuZGxpbmcg
bm90IG9ubHkgYWhlYWQgb2YgYWNxdWlyaW5nIHRoZSBsb2NrLCBidXQgYWxz
byBhaGVhZApvZiB0aGUgWFNNIGNoZWNrLCBsZXZlcmFnaW5nIHRoYXQgdGhl
IHN1Yi1vcCBoYXMgaXRzIG93biBob29rLgoKV2hpbGUgbW92aW5nLCBjb252
ZXJ0IGFuIGFzc2lnbm1lbnQgdG8gYW4gYXNzZXJ0aW9uOiBUaGUgZG9tYWlu
IGluCnF1ZXN0aW9uIHdhcyBkZXRlcm1pbmVkIGZyb20gdGhlIGZpZWxkIHdo
aWNoIHByZXZpb3VzbHkgd2FzICJ1cGRhdGVkIi4KClRoaXMgaXMgcGFydCBv
ZiBYU0EtNDkyLgoKRml4ZXM6IDU1MTNiZDBiNDY3NSAoImFkZCB4ZW5zdG9y
ZSBkb21haW4gZmxhZyB0byBoeXBlcnZpc29yIikKUmVwb3J0ZWQtYnk6IEFu
ZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClNpZ25l
ZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2
aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXgu
Y29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0
dXNzb2x1dGlvbnMuY29tPgoKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYwor
KysgYi94ZW4vY29tbW9uL2RvbWN0bC5jCkBAIC0zMTgsNiArMzE4LDI2IEBA
IGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAg
ICAgICAgYnJlYWs7CiAgICAgfQogCisgICAgLyogSGFuZGxlIHN1Yi1vcHMg
bm90IHJlcXVpcmluZyB0aGUgZG9tY3RsIGxvY2suICovCisgICAgc3dpdGNo
ICggb3AtPmNtZCApCisgICAgeworICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRk
b21haW5pbmZvOgorICAgICAgICByZXQgPSB4c21fZ2V0ZG9tYWluaW5mbyhY
U01fWFNfUFJJViwgZCk7CisgICAgICAgIGlmICggIXJldCApCisgICAgICAg
IHsKKyAgICAgICAgICAgIGdldGRvbWFpbmluZm8oZCwgJm9wLT51LmdldGRv
bWFpbmluZm8pOworCisgICAgICAgICAgICBBU1NFUlQob3AtPmRvbWFpbiA9
PSBvcC0+dS5nZXRkb21haW5pbmZvLmRvbWFpbik7CisgICAgICAgICAgICBj
b3B5YmFjayA9IHRydWU7CisgICAgICAgIH0KKworICAgICAgICBnb3RvIGRv
bWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CisKKyAgICBkZWZhdWx0OgorICAg
ICAgICAvKiBFdmVyeXRoaW5nIGVsc2UgaGFuZGxlZCBmdXJ0aGVyIGRvd24u
ICovCisgICAgICAgIGJyZWFrOworICAgIH0KKwogICAgIHJldCA9IHhzbV9k
b21jdGwoWFNNX09USEVSLCBkLCBvcC0+Y21kLAogICAgICAgICAgICAgICAg
ICAgICAgLyogU1NJRFJlZiBvbmx5IGFwcGxpY2FibGUgZm9yIGNtZCA9PSBj
cmVhdGVkb21haW4gKi8KICAgICAgICAgICAgICAgICAgICAgIG9wLT51LmNy
ZWF0ZWRvbWFpbi5zc2lkcmVmKTsKQEAgLTUxNiwxNyArNTM2LDYgQEAgbG9u
ZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAg
ICBjb3B5YmFjayA9IDE7CiAgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBY
RU5fRE9NQ1RMX2dldGRvbWFpbmluZm86Ci0gICAgICAgIHJldCA9IHhzbV9n
ZXRkb21haW5pbmZvKFhTTV9YU19QUklWLCBkKTsKLSAgICAgICAgaWYgKCBy
ZXQgKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgZ2V0ZG9tYWlu
aW5mbyhkLCAmb3AtPnUuZ2V0ZG9tYWluaW5mbyk7Ci0KLSAgICAgICAgb3At
PmRvbWFpbiA9IG9wLT51LmdldGRvbWFpbmluZm8uZG9tYWluOwotICAgICAg
ICBjb3B5YmFjayA9IDE7Ci0gICAgICAgIGJyZWFrOwotCiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2dldHZjcHVjb250ZXh0OgogICAgIHsKICAgICAgICAgdmNw
dV9ndWVzdF9jb250ZXh0X3UgYyA9IHsgLm5hdCA9IE5VTEwgfTsKLS0tIGEv
eGVuL2luY2x1ZGUveHNtL2R1bW15LmgKKysrIGIveGVuL2luY2x1ZGUveHNt
L2R1bW15LmgKQEAgLTE3Miw5ICsxNzIsMTMgQEAgc3RhdGljIFhTTV9JTkxJ
TkUgaW50IGNmX2NoZWNrIHhzbV9kb21jdAogICAgIGNhc2UgWEVOX0RPTUNU
TF9iaW5kX3B0X2lycToKICAgICBjYXNlIFhFTl9ET01DVExfdW5iaW5kX3B0
X2lycToKICAgICAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihYU01f
RE1fUFJJViwgY3VycmVudC0+ZG9tYWluLCBkKTsKLSAgICBjYXNlIFhFTl9E
T01DVExfZ2V0ZG9tYWluaW5mbzoKICAgICBjYXNlIFhFTl9ET01DVExfZ2V0
X2RvbWFpbl9zdGF0ZToKICAgICAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2Fj
dGlvbihYU01fWFNfUFJJViwgY3VycmVudC0+ZG9tYWluLCBkKTsKKworICAg
IGNhc2UgWEVOX0RPTUNUTF9nZXRkb21haW5pbmZvOgorICAgICAgICBBU1NF
UlRfVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgcmV0dXJuIC1FSUxTRVE7CisK
ICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0
aW9uKFhTTV9QUklWLCBjdXJyZW50LT5kb21haW4sIGQpOwogICAgIH0KLS0t
IGEveGVuL3hzbS9mbGFzay9ob29rcy5jCisrKyBiL3hlbi94c20vZmxhc2sv
aG9va3MuYwpAQCAtNjgyLDggKzY4MiwxMiBAQCBzdGF0aWMgaW50IGNmX2No
ZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICAgICAgICovCiAgICAgICAg
IHJldHVybiBhdmNfY3VycmVudF9oYXNfcGVybShzc2lkcmVmLCBTRUNDTEFT
U19ET01BSU4sIERPTUFJTl9fQ1JFQVRFLCBOVUxMKTsKIAotICAgIC8qIFRo
ZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9kb21jdGwu
YykgKi8KKyAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tz
IGFuZCBkb24ndCBtYWtlIGl0IGhlcmUuICovCiAgICAgY2FzZSBYRU5fRE9N
Q1RMX2dldGRvbWFpbmluZm86CisgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJM
RSgpOworICAgICAgICByZXR1cm4gLUVJTFNFUTsKKworICAgIC8qIFRoZXNl
IGhhdmUgaW5kaXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9kb21jdGwuYykg
Ki8KICAgICBjYXNlIFhFTl9ET01DVExfc2NoZWR1bGVyX29wOgogICAgIGNh
c2UgWEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9E
T01DVExfaW9tZW1fcGVybWlzc2lvbjoK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.21-03.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.21-03.patch"
Content-Transfer-Encoding: base64

RnJvbTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlv
bnMuY29tPgpTdWJqZWN0OiBkb21jdGw6IHByb3RlY3QgbG9ja2luZyBmb3Ig
Z2V0X2RvbWFpbl9zdGF0ZQoKV2hlbiBET01JRF9JTlZBTElEIGlzIHBhc3Nl
ZCwgdGhlIGRvbSBleGVjIGhhbmRsZXIgbG9jayBpcyBiZWluZyB0YWtlbgp3
aXRob3V0IGFueSBjaGVjayB0aGF0IHRoZSBkb21haW4gaXMgZXZlbiBhbGxv
d2VkIHRvIHRha2UgdGhlIGxvY2suIFRoaXMKYWxsb3dzIGZvciBhbiB1bmF1
dGhvcml6ZWQgZG9tYWluIHRvIERvUyB0aGUgZ2V0X2RvbWFpbl9zdGF0ZSBk
b21jdGwgb3AuCk1vdmUgdG8gY29uc2lkZXIgdGhlIG9wIGVmZmVjdGl2ZWx5
IGJlaW5nIGNhbGxlZCBhZ2FpbnN0IHRoZSBoeXBlcnZpc29yLgpUaHVzIGl0
IGlzIHRoZSB0YXJnZXQgb2YgdGhlIGNhbGwgYmVpbmcgaW52b2tlZCB0byBp
ZGVudGlmeSB0aGUgbGFzdApkb21haW4gd2l0aCBhIHN0YXRlIGNoYW5nZS4g
VGhlIHN1YnNlcXVlbnQgY2hlY2sgb2Ygd2hldGhlciB0aGUgc291cmNlCmRv
bWFpbiBpcyBhbGxvd2VkIHRoZSBzdGF0ZSBvZiB0aGUgbGFzdCBkb21haW4g
dG8gY2hhbmdlIHN0YXRlIGlzIHN0aWxsCnJlbGV2YW50LgoKVGhpcyBpcyBw
YXJ0IG9mIFhTQS00OTIuCgpTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgUC4gU21p
dGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+ClNpZ25lZC1vZmYt
Ynk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQt
Ynk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoK
LS0tIGEvdG9vbHMvZmxhc2svcG9saWN5L21vZHVsZXMveGVuc3RvcmUudGUK
KysrIGIvdG9vbHMvZmxhc2svcG9saWN5L21vZHVsZXMveGVuc3RvcmUudGUK
QEAgLTE0LDYgKzE0LDcgQEAgYWxsb3cgeGVuc3RvcmVfdCB4ZW5fdDp4ZW4g
d3JpdGVjb25zb2xlOwogIyBYZW5zdG9yZSBxdWVyaWVzIGRvbWFpbmluZm8g
b24gYWxsIGRvbWFpbnMKIGFsbG93IHhlbnN0b3JlX3QgZG9tYWluX3R5cGU6
ZG9tYWluIGdldGRvbWFpbmluZm87CiBhbGxvdyB4ZW5zdG9yZV90IGRvbWFp
bl90eXBlOmRvbWFpbjIgZ2V0X2RvbWFpbl9zdGF0ZTsKK2FsbG93IHhlbnN0
b3JlX3QgZG9teGVuX3Q6ZG9tYWluMiBnZXRfZG9tYWluX3N0YXRlOwogCiAj
IEFzIGEgc2hvcnRjdXQsIHRoZSBmb2xsb3dpbmcgMyBydWxlcyBhcmUgdXNl
ZCBpbnN0ZWFkIG9mIGFkZGluZyBhIGRvbWFpbl9jb21tcwogIyBydWxlIGJl
dHdlZW4geGVuc3RvcmVfdCBhbmQgZXZlcnkgZG9tYWluIHR5cGUgdGhhdCB0
YWxrcyB0byB4ZW5zdG9yZQotLS0gYS94ZW4vY29tbW9uL2RvbWFpbi5jCisr
KyBiL3hlbi9jb21tb24vZG9tYWluLmMKQEAgLTIxNiwxMiArMjE2LDggQEAg
aW50IGdldF9kb21haW5fc3RhdGUoc3RydWN0IHhlbl9kb21jdGxfZwogICAg
IGlmICggaW5mby0+cGFkMCApCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwog
Ci0gICAgaWYgKCBkICkKKyAgICBpZiAoIGQgIT0gZG9tX3hlbiApCiAgICAg
ewotICAgICAgICByYyA9IHhzbV9nZXRfZG9tYWluX3N0YXRlKFhTTV9YU19Q
UklWLCBkKTsKLSAgICAgICAgaWYgKCByYyApCi0gICAgICAgICAgICByZXR1
cm4gcmM7Ci0KICAgICAgICAgc2V0X2RvbWFpbl9zdGF0ZV9pbmZvKGluZm8s
IGQpOwogCiAgICAgICAgIHJldHVybiAwOwotLS0gYS94ZW4vY29tbW9uL2Rv
bWN0bC5jCisrKyBiL3hlbi9jb21tb24vZG9tY3RsLmMKQEAgLTMwNCwxMyAr
MzA0LDE5IEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFS
QU0oeGUKICAgICAgICAgZmFsbHRocm91Z2g7CiAgICAgY2FzZSBYRU5fRE9N
Q1RMX3Rlc3RfYXNzaWduX2RldmljZToKICAgICBjYXNlIFhFTl9ET01DVExf
dm1fZXZlbnRfb3A6Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2dldF9kb21haW5f
c3RhdGU6CiAgICAgICAgIGlmICggb3AtPmRvbWFpbiA9PSBET01JRF9JTlZB
TElEICkKICAgICAgICAgewogICAgICAgICAgICAgZCA9IE5VTEw7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBmYWxsdGhyb3Vn
aDsKKyAgICBjYXNlIFhFTl9ET01DVExfZ2V0X2RvbWFpbl9zdGF0ZToKKyAg
ICAgICAgaWYgKCBvcC0+ZG9tYWluID09IERPTUlEX0lOVkFMSUQgKQorICAg
ICAgICB7CisgICAgICAgICAgICBkID0gZG9tX3hlbjsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisgICAgICAgIGZhbGx0aHJvdWdoOwogICAg
IGRlZmF1bHQ6CiAgICAgICAgIGQgPSByY3VfbG9ja19kb21haW5fYnlfaWQo
b3AtPmRvbWFpbik7CiAgICAgICAgIGlmICggIWQgKQpAQCAtODYzLDcgKzg2
OSw5IEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0o
eGUKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFhFTl9ET01DVExfZ2V0
X2RvbWFpbl9zdGF0ZToKLSAgICAgICAgcmV0ID0gZ2V0X2RvbWFpbl9zdGF0
ZSgmb3AtPnUuZ2V0X2RvbWFpbl9zdGF0ZSwgZCwgJm9wLT5kb21haW4pOwor
ICAgICAgICByZXQgPSB4c21fZ2V0X2RvbWFpbl9zdGF0ZShYU01fWFNfUFJJ
ViwgZCk7CisgICAgICAgIGlmICggIXJldCApCisgICAgICAgICAgICByZXQg
PSBnZXRfZG9tYWluX3N0YXRlKCZvcC0+dS5nZXRfZG9tYWluX3N0YXRlLCBk
LCAmb3AtPmRvbWFpbik7CiAgICAgICAgIGlmICggIXJldCApCiAgICAgICAg
ICAgICBjb3B5YmFjayA9IHRydWU7CiAgICAgICAgIGJyZWFrOwpAQCAtODc2
LDcgKzg4NCw3IEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVf
UEFSQU0oeGUKICAgICBkb21jdGxfbG9ja19yZWxlYXNlKCk7CiAKICBkb21j
dGxfb3V0X3VubG9ja19kb21vbmx5OgotICAgIGlmICggZCAmJiBkICE9IGRv
bV9pbyApCisgICAgaWYgKCBkICYmICFpc19zeXN0ZW1fZG9tYWluKGQpICkK
ICAgICAgICAgcmN1X3VubG9ja19kb21haW4oZCk7CiAKICAgICBpZiAoIGNv
cHliYWNrICYmIF9fY29weV90b19ndWVzdCh1X2RvbWN0bCwgb3AsIDEpICkK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.21-04.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.21-04.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2dldF9kb21haW5fc3RhdGUg
d2l0aG91dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKCmdldF9kb21haW5fc3Rh
dGUoKSB1c2VzIGl0cyBvd24gbG9ja2luZy4gVGh1cywgd2l0aCBjYWxsZXIg
c2lkZSBsb2NraW5nCmlycmVsZXZhbnQsIGl0IGNhbiBhcyB3ZWxsIGJlIGNh
bGxlZCB3aXRoIHRoZSBkb21jdGwgbG9jayBub3QgaGVsZC4KCk1vdmUgdGhl
IGhhbmRsaW5nIG5vdCBvbmx5IGFoZWFkIG9mIGFjcXVpcmluZyB0aGUgbG9j
aywgYnV0IGFsc28gYWhlYWQKb2YgdGhlIFhTTSBjaGVjaywgbGV2ZXJhZ2lu
ZyB0aGF0IHRoZSBzdWItb3AgaGFzIGl0cyBvd24gaG9vay4KClRoaXMgaXMg
cGFydCBvZiBYU0EtNDkyLgoKRml4ZXM6IDNhZDNkZjFiZDBhYSAoInhlbjog
YWRkIG5ldyBkb21jdGwgZ2V0X2RvbWFpbl9zdGF0ZSIpClJlcG9ydGVkLWJ5
OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpT
aWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+
CkFja2VkLWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3Nv
bHV0aW9ucy5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxy
b2dlci5wYXVAY2l0cml4LmNvbT4KCi0tLSBhL3hlbi9jb21tb24vZG9tY3Rs
LmMKKysrIGIveGVuL2NvbW1vbi9kb21jdGwuYwpAQCAtMzM5LDYgKzMzOSwx
NCBAQCBsb25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhl
CiAKICAgICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5Owog
CisgICAgY2FzZSBYRU5fRE9NQ1RMX2dldF9kb21haW5fc3RhdGU6CisgICAg
ICAgIHJldCA9IHhzbV9nZXRfZG9tYWluX3N0YXRlKFhTTV9YU19QUklWLCBk
KTsKKyAgICAgICAgaWYgKCAhcmV0ICkKKyAgICAgICAgICAgIHJldCA9IGdl
dF9kb21haW5fc3RhdGUoJm9wLT51LmdldF9kb21haW5fc3RhdGUsIGQsICZv
cC0+ZG9tYWluKTsKKyAgICAgICAgaWYgKCAhcmV0ICkKKyAgICAgICAgICAg
IGNvcHliYWNrID0gdHJ1ZTsKKyAgICAgICAgZ290byBkb21jdGxfb3V0X3Vu
bG9ja19kb21vbmx5OworCiAgICAgZGVmYXVsdDoKICAgICAgICAgLyogRXZl
cnl0aGluZyBlbHNlIGhhbmRsZWQgZnVydGhlciBkb3duLiAqLwogICAgICAg
ICBicmVhazsKQEAgLTg2OCwxNCArODc2LDYgQEAgbG9uZyBkb19kb21jdGwo
WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICAgICAgcmV0ID0g
LUVPUE5PVFNVUFA7CiAgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBYRU5f
RE9NQ1RMX2dldF9kb21haW5fc3RhdGU6Ci0gICAgICAgIHJldCA9IHhzbV9n
ZXRfZG9tYWluX3N0YXRlKFhTTV9YU19QUklWLCBkKTsKLSAgICAgICAgaWYg
KCAhcmV0ICkKLSAgICAgICAgICAgIHJldCA9IGdldF9kb21haW5fc3RhdGUo
Jm9wLT51LmdldF9kb21haW5fc3RhdGUsIGQsICZvcC0+ZG9tYWluKTsKLSAg
ICAgICAgaWYgKCAhcmV0ICkKLSAgICAgICAgICAgIGNvcHliYWNrID0gdHJ1
ZTsKLSAgICAgICAgYnJlYWs7Ci0KICAgICBkZWZhdWx0OgogICAgICAgICBy
ZXQgPSBhcmNoX2RvX2RvbWN0bChvcCwgZCwgdV9kb21jdGwpOwogICAgICAg
ICBicmVhazsKLS0tIGEveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKKysrIGIv
eGVuL2luY2x1ZGUveHNtL2R1bW15LmgKQEAgLTE3MiwxMCArMTcyLDkgQEAg
c3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9kb21jdAogICAg
IGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToKICAgICBjYXNlIFhFTl9E
T01DVExfdW5iaW5kX3B0X2lycToKICAgICAgICAgcmV0dXJuIHhzbV9kZWZh
dWx0X2FjdGlvbihYU01fRE1fUFJJViwgY3VycmVudC0+ZG9tYWluLCBkKTsK
LSAgICBjYXNlIFhFTl9ET01DVExfZ2V0X2RvbWFpbl9zdGF0ZToKLSAgICAg
ICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihYU01fWFNfUFJJViwgY3Vy
cmVudC0+ZG9tYWluLCBkKTsKIAogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRk
b21haW5pbmZvOgorICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRfZG9tYWluX3N0
YXRlOgogICAgICAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKICAgICAgICAg
cmV0dXJuIC1FSUxTRVE7CiAKLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5j
CisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjg0LDYgKzY4NCw3
IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAog
CiAgICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBob29rcyBhbmQg
ZG9uJ3QgbWFrZSBpdCBoZXJlLiAqLwogICAgIGNhc2UgWEVOX0RPTUNUTF9n
ZXRkb21haW5pbmZvOgorICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRfZG9tYWlu
X3N0YXRlOgogICAgICAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKICAgICAg
ICAgcmV0dXJuIC1FSUxTRVE7CiAKQEAgLTY5NCw3ICs2OTUsNiBAQCBzdGF0
aWMgaW50IGNmX2NoZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICBjYXNl
IFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAgICAgY2FzZSBYRU5fRE9N
Q1RMX3NldF90YXJnZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3ZtX2V2ZW50
X29wOgotICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRfZG9tYWluX3N0YXRlOgog
CiAgICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBob29rcyAoYXJj
aC8uLi9kb21jdGwuYykgKi8KICAgICBjYXNlIFhFTl9ET01DVExfYmluZF9w
dF9pcnE6Cg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.21-05.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.21-05.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21haW46IGxvY2tpbmcgZm9yIGlvbWVtX2NhcHMgYWNjZXNzZXMKCklu
IG9yZGVyIHRvIGJlIGFibGUgdG8gcHVsbCBhdCBsZWFzdCB0aGUgWEVOX0RP
TUNUTF9pb21lbV9tYXBwaW5nIGhhbmRsaW5nCm91dCBvZiB0aGUgZG9tY3Rs
LWxvY2tlZCByZWdpb24sIGEgc2VwYXJhdGUgKHBlci1kb21haW4pIGxvY2sg
aXMgbmVlZGVkIHRvCnN5bmNocm9uaXplIGluIHBhcnRpY3VsYXIgd2l0aCBY
RU5fRE9NQ1RMX2lvbWVtX3Blcm1pc3Npb24uCgpMb2NraW5nIGlzIGFkZGVk
IG9ubHkgYXMgZmFyIGFzIGRvbWN0bC1zIGFyZSBhZmZlY3RlZC4gVXNlcyBw
cmVzZW50bHkKb3V0c2lkZSBvZiB0aGUgZG9tY3RsIGxvY2sgbWF5IHdhbnQg
ZGVhbGluZyB3aXRoIHN1YnNlcXVlbnRseSAocGVyaGFwcwpsaW1pdGVkIHRv
IG5vbi1fX2luaXQgY29kZSkuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4K
ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv
bT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBj
aXRyaXguY29tPgoKLS0tIGEveGVuL2NvbW1vbi9kb21haW4uYworKysgYi94
ZW4vY29tbW9uL2RvbWFpbi5jCkBAIC01MTgsMTAgKzUxOCwxNSBAQCBzdGF0
aWMgaW50IGxhdGVfaHdkb21faW5pdChzdHJ1Y3QgZG9tYWluCiAgICAgICog
bWF5IGJlIG1vZGlmaWVkIGFmdGVyIHRoaXMgaHlwZXJjYWxsIHJldHVybnMg
aWYgYSBtb3JlIGNvbXBsZXgKICAgICAgKiBkZXZpY2UgbW9kZWwgaXMgZGVz
aXJlZC4KICAgICAgKi8KKyAgICB3cml0ZV9sb2NrKCZkb20wLT5jYXBzX2xv
Y2spOwogICAgIHJhbmdlc2V0X3N3YXAoZC0+aXJxX2NhcHMsIGRvbTAtPmly
cV9jYXBzKTsKICAgICByYW5nZXNldF9zd2FwKGQtPmlvbWVtX2NhcHMsIGRv
bTAtPmlvbWVtX2NhcHMpOwogI2lmZGVmIENPTkZJR19YODYKICAgICByYW5n
ZXNldF9zd2FwKGQtPmFyY2guaW9wb3J0X2NhcHMsIGRvbTAtPmFyY2guaW9w
b3J0X2NhcHMpOworI2VuZGlmCisgICAgd3JpdGVfdW5sb2NrKCZkb20wLT5j
YXBzX2xvY2spOworCisjaWZkZWYgQ09ORklHX1g4NgogICAgIHNldHVwX2lv
X2JpdG1hcChkKTsKICAgICBzZXR1cF9pb19iaXRtYXAoZG9tMCk7CiAjZW5k
aWYKQEAgLTg3Myw2ICs4NzgsNyBAQCBzdHJ1Y3QgZG9tYWluICpkb21haW5f
Y3JlYXRlKGRvbWlkX3QgZG9tCiAgICAgcnNwaW5fbG9ja19pbml0X3Byb2Yo
ZCwgZG9tYWluX2xvY2spOwogICAgIHJzcGluX2xvY2tfaW5pdF9wcm9mKGQs
IHBhZ2VfYWxsb2NfbG9jayk7CiAgICAgc3Bpbl9sb2NrX2luaXQoJmQtPmh5
cGVyY2FsbF9kZWFkbG9ja19tdXRleCk7CisgICAgcndsb2NrX2luaXQoJmQt
PmNhcHNfbG9jayk7CiAgICAgSU5JVF9QQUdFX0xJU1RfSEVBRCgmZC0+cGFn
ZV9saXN0KTsKICAgICBJTklUX1BBR0VfTElTVF9IRUFEKCZkLT5leHRyYV9w
YWdlX2xpc3QpOwogICAgIElOSVRfUEFHRV9MSVNUX0hFQUQoJmQtPnhlbnBh
Z2VfbGlzdCk7Ci0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMKKysrIGIveGVu
L2NvbW1vbi9kb21jdGwuYwpAQCAtMjY3LDYgKzI2NywzNSBAQCBzdGF0aWMg
c3RydWN0IHZudW1hX2luZm8gKnZudW1hX2luaXQoY29uCiAgICAgcmV0dXJu
IEVSUl9QVFIocmV0KTsKIH0KIAordm9pZCBpb2NhcHNfZG91YmxlX2xvY2so
c3RydWN0IGRvbWFpbiAqZCwgYm9vbCB3cml0ZSkKK3sKKyAgICBzdHJ1Y3Qg
ZG9tYWluICpjdXJyZCA9IGN1cnJlbnQtPmRvbWFpbjsKKworICAgIGlmICgg
ZC0+ZG9tYWluX2lkID4gY3VycmQtPmRvbWFpbl9pZCApCisgICAgICAgIHJl
YWRfbG9jaygmY3VycmQtPmNhcHNfbG9jayk7CisKKyAgICBpZiAoIHdyaXRl
ICkKKyAgICAgICAgd3JpdGVfbG9jaygmZC0+Y2Fwc19sb2NrKTsKKyAgICBl
bHNlCisgICAgICAgIHJlYWRfbG9jaygmZC0+Y2Fwc19sb2NrKTsKKworICAg
IGlmICggZC0+ZG9tYWluX2lkIDwgY3VycmQtPmRvbWFpbl9pZCApCisgICAg
ICAgIHJlYWRfbG9jaygmY3VycmQtPmNhcHNfbG9jayk7Cit9CisKK3ZvaWQg
aW9jYXBzX2RvdWJsZV91bmxvY2soc3RydWN0IGRvbWFpbiAqZCwgYm9vbCB3
cml0ZSkKK3sKKyAgICBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1cnJlbnQt
PmRvbWFpbjsKKworICAgIGlmICggZCAhPSBjdXJyZCApCisgICAgICAgIHJl
YWRfdW5sb2NrKCZjdXJyZC0+Y2Fwc19sb2NrKTsKKworICAgIGlmICggd3Jp
dGUgKQorICAgICAgICB3cml0ZV91bmxvY2soJmQtPmNhcHNfbG9jayk7Cisg
ICAgZWxzZQorICAgICAgICByZWFkX3VubG9jaygmZC0+Y2Fwc19sb2NrKTsK
K30KKwogc3RhdGljIGJvb2wgaXNfc3RhYmxlX2RvbWN0bCh1aW50MzJfdCBj
bWQpCiB7CiAgICAgcmV0dXJuIGNtZCA9PSBYRU5fRE9NQ1RMX2dldF9kb21h
aW5fc3RhdGU7CkBAIC02ODcsNiArNzE2LDggQEAgbG9uZyBkb19kb21jdGwo
WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICBpZiAoIChtZm4g
KyBucl9tZm5zIC0gMSkgPCBtZm4gKSAvKiB3cmFwPyAqLwogICAgICAgICAg
ICAgYnJlYWs7CiAKKyAgICAgICAgaW9jYXBzX2RvdWJsZV9sb2NrKGQsIHRy
dWUpOworCiAgICAgICAgIGlmICggIWlvbWVtX2FjY2Vzc19wZXJtaXR0ZWQo
Y3VycmVudC0+ZG9tYWluLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1mbiwgbWZuICsgbnJfbWZucyAtIDEpIHx8CiAgICAgICAg
ICAgICAgeHNtX2lvbWVtX3Blcm1pc3Npb24oWFNNX0hPT0ssIGQsIG1mbiwg
bWZuICsgbnJfbWZucyAtIDEsIGFsbG93KSApCkBAIC02OTUsNiArNzI2LDgg
QEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQog
ICAgICAgICAgICAgcmV0ID0gaW9tZW1fcGVybWl0X2FjY2VzcyhkLCBtZm4s
IG1mbiArIG5yX21mbnMgLSAxKTsKICAgICAgICAgZWxzZQogICAgICAgICAg
ICAgcmV0ID0gaW9tZW1fZGVueV9hY2Nlc3MoZCwgbWZuLCBtZm4gKyBucl9t
Zm5zIC0gMSk7CisKKyAgICAgICAgaW9jYXBzX2RvdWJsZV91bmxvY2soZCwg
dHJ1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIApAQCAtNzE5LDE5ICs3
NTIsMTUgQEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJB
TSh4ZQogICAgICAgICAgICAgYnJlYWs7CiAjZW5kaWYKIAorICAgICAgICBp
b2NhcHNfZG91YmxlX2xvY2soZCwgZmFsc2UpOworCiAgICAgICAgIHJldCA9
IC1FUEVSTTsKICAgICAgICAgaWYgKCAhaW9tZW1fYWNjZXNzX3Blcm1pdHRl
ZChjdXJyZW50LT5kb21haW4sIG1mbiwgbWZuX2VuZCkgfHwKLSAgICAgICAg
ICAgICAhaW9tZW1fYWNjZXNzX3Blcm1pdHRlZChkLCBtZm4sIG1mbl9lbmQp
ICkKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIHJldCA9IHhzbV9p
b21lbV9tYXBwaW5nKFhTTV9IT09LLCBkLCBtZm4sIG1mbl9lbmQsIGFkZCk7
Ci0gICAgICAgIGlmICggcmV0ICkKLSAgICAgICAgICAgIGJyZWFrOwotCi0g
ICAgICAgIGlmICggIXBhZ2luZ19tb2RlX3RyYW5zbGF0ZShkKSApCi0gICAg
ICAgICAgICBicmVhazsKLQotICAgICAgICBpZiAoIGFkZCApCisgICAgICAg
ICAgICAgIWlvbWVtX2FjY2Vzc19wZXJtaXR0ZWQoZCwgbWZuLCBtZm5fZW5k
KSB8fAorICAgICAgICAgICAgIChyZXQgPSB4c21faW9tZW1fbWFwcGluZyhY
U01fSE9PSywgZCwgbWZuLCBtZm5fZW5kLCBhZGQpKSB8fAorICAgICAgICAg
ICAgICFwYWdpbmdfbW9kZV90cmFuc2xhdGUoZCkgKQorICAgICAgICAgICAg
LyogTm90aGluZy4gKi87CisgICAgICAgIGVsc2UgaWYgKCBhZGQgKQogICAg
ICAgICB7CiAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfREVCVUcKICAg
ICAgICAgICAgICAgICAgICAibWVtb3J5X21hcDphZGQ6IGRvbSVkIGdmbj0l
bHggbWZuPSVseCBucj0lbHhcbiIsCkBAIC03NTUsNiArNzg0LDggQEAgbG9u
ZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAg
ICAgICAgICAgICAgICAgICAibWVtb3J5X21hcDogZXJyb3IgJWxkIHJlbW92
aW5nIGRvbSVkIGFjY2VzcyB0byBbJWx4LCVseF1cbiIsCiAgICAgICAgICAg
ICAgICAgICAgICAgIHJldCwgZC0+ZG9tYWluX2lkLCBtZm4sIG1mbl9lbmQp
OwogICAgICAgICB9CisKKyAgICAgICAgaW9jYXBzX2RvdWJsZV91bmxvY2so
ZCwgZmFsc2UpOwogICAgICAgICBicmVhazsKICAgICB9CiAKLS0tIGEveGVu
L2luY2x1ZGUveGVuL2lvY2FwLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL2lv
Y2FwLmgKQEAgLTEyLDYgKzEyLDkgQEAKICNpbmNsdWRlIDxhc20vaW9jYXAu
aD4KICNpbmNsdWRlIDxhc20vcDJtLmg+CiAKK3ZvaWQgaW9jYXBzX2RvdWJs
ZV9sb2NrKHN0cnVjdCBkb21haW4gKmQsIGJvb2wgd3JpdGUpOwordm9pZCBp
b2NhcHNfZG91YmxlX3VubG9jayhzdHJ1Y3QgZG9tYWluICpkLCBib29sIHdy
aXRlKTsKKwogc3RhdGljIGlubGluZSBpbnQgaW9tZW1fcGVybWl0X2FjY2Vz
cyhzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIHMsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcg
ZSkKIHsKLS0tIGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKKysrIGIveGVu
L2luY2x1ZGUveGVuL3NjaGVkLmgKQEAgLTUzNiw2ICs1MzYsNyBAQCBzdHJ1
Y3QgZG9tYWluCiAjZW5kaWYKIAogICAgIC8qIEkvTyBjYXBhYmlsaXRpZXMg
KGFjY2VzcyB0byBJUlFzIGFuZCBtZW1vcnktbWFwcGVkIEkvTykuICovCisg
ICAgcndsb2NrX3QgICAgICAgICBjYXBzX2xvY2s7CiAgICAgc3RydWN0IHJh
bmdlc2V0ICppb21lbV9jYXBzOwogICAgIHN0cnVjdCByYW5nZXNldCAqaXJx
X2NhcHM7CiAK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.21-06.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.21-06.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvZG9tYWluOiBsb2NraW5nIGZvciBpb3BvcnRfY2FwcyBhY2Nlc3Nl
cwoKSW4gb3JkZXIgdG8gYmUgYWJsZSB0byBwdWxsIGF0IGxlYXN0IHRoZSBY
RU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nCmhhbmRsaW5nIG91dCBvZiB0aGUg
ZG9tY3RsLWxvY2tlZCByZWdpb24sIHRoZSBuZXcgc2VwYXJhdGUgKHBlci1k
b21haW4pCmxvY2sgaXMgdXNlZCB0byBzeW5jaHJvbml6ZSBpbiBwYXJ0aWN1
bGFyIHdpdGgKWEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbi4KCkxvY2tp
bmcgaXMgYWRkZWQgb25seSBhcyBmYXIgYXMgZG9tY3RsLXMgYXJlIGFmZmVj
dGVkLiBVc2VzIHByZXNlbnRseQpvdXRzaWRlIG9mIHRoZSBkb21jdGwgbG9j
ayBtYXkgd2FudCBkZWFsaW5nIHdpdGggc3Vic2VxdWVudGx5IChwZXJoYXBz
CmxpbWl0ZWQgdG8gbm9uLV9faW5pdCBjb2RlKS4KClRoaXMgaXMgcGFydCBv
ZiBYU0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8
cm9nZXIucGF1QGNpdHJpeC5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvZG9t
Y3RsLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWN0bC5jCkBAIC0yMzMsNiAr
MjMzLDggQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgKICAgICAgICAgdW5zaWdu
ZWQgaW50IG5wID0gZG9tY3RsLT51LmlvcG9ydF9wZXJtaXNzaW9uLm5yX3Bv
cnRzOwogICAgICAgICBpbnQgYWxsb3cgPSBkb21jdGwtPnUuaW9wb3J0X3Bl
cm1pc3Npb24uYWxsb3dfYWNjZXNzOwogCisgICAgICAgIGlvY2Fwc19kb3Vi
bGVfbG9jayhkLCB0cnVlKTsKKwogICAgICAgICBpZiAoIChmcCArIG5wKSA8
PSBmcCB8fCAoZnAgKyBucCkgPiBNQVhfSU9QT1JUUyApCiAgICAgICAgICAg
ICByZXQgPSAtRUlOVkFMOwogICAgICAgICBlbHNlIGlmICggIWlvcG9ydHNf
YWNjZXNzX3Blcm1pdHRlZChjdXJyZCwgZnAsIGZwICsgbnAgLSAxKSB8fApA
QCAtMjQyLDYgKzI0NCw4IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoCiAgICAg
ICAgICAgICByZXQgPSBpb3BvcnRzX3Blcm1pdF9hY2Nlc3MoZCwgZnAsIGZw
ICsgbnAgLSAxKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmV0ID0g
aW9wb3J0c19kZW55X2FjY2VzcyhkLCBmcCwgZnAgKyBucCAtIDEpOworCisg
ICAgICAgIGlvY2Fwc19kb3VibGVfdW5sb2NrKGQsIHRydWUpOwogICAgICAg
ICBicmVhazsKICAgICB9CiAKQEAgLTY0OCwxNiArNjUyLDEzIEBAIGxvbmcg
YXJjaF9kb19kb21jdGwoCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogCi0gICAgICAgIHJldCA9IC1FUEVSTTsKLSAgICAgICAgaWYgKCAhaW9w
b3J0c19hY2Nlc3NfcGVybWl0dGVkKGN1cnJkLCBmbXAsIGZtcCArIG5wIC0g
MSkgKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgcmV0ID0geHNt
X2lvcG9ydF9tYXBwaW5nKFhTTV9IT09LLCBkLCBmbXAsIGZtcCArIG5wIC0g
MSwgYWRkKTsKLSAgICAgICAgaWYgKCByZXQgKQotICAgICAgICAgICAgYnJl
YWs7Ci0KICAgICAgICAgaHZtID0gJmQtPmFyY2guaHZtOwotICAgICAgICBp
ZiAoIGFkZCApCisgICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCB0cnVl
KTsKKworICAgICAgICBpZiAoICFpb3BvcnRzX2FjY2Vzc19wZXJtaXR0ZWQo
Y3VycmQsIGZtcCwgZm1wICsgbnAgLSAxKSB8fAorICAgICAgICAgICAgIChy
ZXQgPSB4c21faW9wb3J0X21hcHBpbmcoWFNNX0hPT0ssIGQsIGZtcCwgZm1w
ICsgbnAgLSAxLCBhZGQpKSApCisgICAgICAgICAgICByZXQgPSByZXQgPzog
LUVQRVJNOworICAgICAgICBlbHNlIGlmICggYWRkICkKICAgICAgICAgewog
ICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0lORk8KICAgICAgICAgICAg
ICAgICAgICAiaW9wb3J0X21hcDphZGQ6IGRvbSVkIGdwb3J0PSV4IG1wb3J0
PSV4IG5yPSV4XG4iLApAQCAtNzE4LDYgKzcyMCw4IEBAIGxvbmcgYXJjaF9k
b19kb21jdGwoCiAgICAgICAgICAgICAgICAgICAgICAgICJpb3BvcnRfbWFw
OiBlcnJvciAlbGQgZGVueWluZyBkb20lZCBhY2Nlc3MgdG8gWyV4LCV4XVxu
IiwKICAgICAgICAgICAgICAgICAgICAgICAgcmV0LCBkLT5kb21haW5faWQs
IGZtcCwgZm1wICsgbnAgLSAxKTsKICAgICAgICAgfQorCisgICAgICAgIGlv
Y2Fwc19kb3VibGVfdW5sb2NrKGQsIHRydWUpOwogICAgICAgICBicmVhazsK
ICAgICB9CiAKLS0tIGEveGVuL2FyY2gveDg2L3NldHVwLmMKKysrIGIveGVu
L2FyY2gveDg2L3NldHVwLmMKQEAgLTIzMzksOSArMjMzOSwxMiBAQCB2b2lk
IF9faHdkb21faW5pdCBzZXR1cF9pb19iaXRtYXAoc3RydWN0CiAgICAgICAg
IHJldHVybjsKIAogICAgIGJpdG1hcF9maWxsKGQtPmFyY2guaHZtLmlvX2Jp
dG1hcCwgMHgxMDAwMCk7CisKKyAgICByZWFkX2xvY2soJmQtPmNhcHNfbG9j
ayk7CiAgICAgaWYgKCByYW5nZXNldF9yZXBvcnRfcmFuZ2VzKGQtPmFyY2gu
aW9wb3J0X2NhcHMsIDAsIDB4MTAwMDAsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlvX2JpdG1hcF9jYiwgZCkgKQogICAgICAgICBCVUco
KTsKKyAgICByZWFkX3VubG9jaygmZC0+Y2Fwc19sb2NrKTsKIAogICAgIC8q
CiAgICAgICogV2UgbmVlZCB0byB0cmFwIDQtYnl0ZSBhY2Nlc3NlcyB0byAw
eGNmOCAoc2VlIGFkbWluX2lvX29rYXkoKSwK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.21-07.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.21-07.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21haW46IGxvY2tpbmcgZm9yIGlycV9jYXBzIGFjY2Vzc2VzCgpJbiBv
cmRlciB0byBiZSBhYmxlIHRvIHB1bGwgYXQgbGVhc3QgdGhlIFhFTl9ET01D
VExfeyx1bn1iaW5kX3B0X2lycQpoYW5kbGluZyBvdXQgb2YgdGhlIGRvbWN0
bC1sb2NrZWQgcmVnaW9uLCBhIHNlcGFyYXRlIChwZXItZG9tYWluKSBsb2Nr
IGlzCm5lZWRlZCB0byBzeW5jaHJvbml6ZSBpbiBwYXJ0aWN1bGFyIHdpdGgg
WEVOX0RPTUNUTF97aXJxLGdzaX1fcGVybWlzc2lvbi4KCkxvY2tpbmcgaXMg
YWRkZWQgb25seSBhcyBmYXIgYXMgZG9tY3RsLXMgYXJlIGFmZmVjdGVkLiBV
c2VzIHByZXNlbnRseQpvdXRzaWRlIG9mIHRoZSBkb21jdGwgbG9jayBtYXkg
d2FudCBkZWFsaW5nIHdpdGggc3Vic2VxdWVudGx5IChwZXJoYXBzCmxpbWl0
ZWQgdG8gbm9uLV9faW5pdCBjb2RlKS4KClRoaXMgaXMgcGFydCBvZiBYU0Et
NDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIu
cGF1QGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1
bGllbkB4ZW4ub3JnPgoKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWN0bC5jCisr
KyBiL3hlbi9hcmNoL2FybS9kb21jdGwuYwpAQCAtNzYsNiArNzYsNyBAQCBs
b25nIGFyY2hfZG9fZG9tY3RsKHN0cnVjdCB4ZW5fZG9tY3RsICpkCiAgICAg
Y2FzZSBYRU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgogICAgIHsKICAgICAgICAg
aW50IHJjOworICAgICAgICBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1cnJl
bnQtPmRvbWFpbjsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfYmluZF9w
dF9pcnEgKmJpbmQgPSAmZG9tY3RsLT51LmJpbmRfcHRfaXJxOwogICAgICAg
ICB1aW50MzJfdCBpcnEgPSBiaW5kLT51LnNwaS5zcGk7CiAgICAgICAgIHVp
bnQzMl90IHZpcnEgPSBiaW5kLT5tYWNoaW5lX2lycTsKQEAgLTEwNywyMSAr
MTA4LDI2IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoc3RydWN0IHhlbl9kb21j
dGwgKmQKICAgICAgICAgaWYgKCByYyApCiAgICAgICAgICAgICByZXR1cm4g
cmM7CiAKLSAgICAgICAgaWYgKCAhaXJxX2FjY2Vzc19wZXJtaXR0ZWQoY3Vy
cmVudC0+ZG9tYWluLCBpcnEpICkKLSAgICAgICAgICAgIHJldHVybiAtRVBF
Uk07CisgICAgICAgIHJlYWRfbG9jaygmY3VycmQtPmNhcHNfbG9jayk7CiAK
LSAgICAgICAgaWYgKCAhdmdpY19yZXNlcnZlX3ZpcnEoZCwgdmlycSkgKQot
ICAgICAgICAgICAgcmV0dXJuIC1FQlVTWTsKLQotICAgICAgICByYyA9IHJv
dXRlX2lycV90b19ndWVzdChkLCB2aXJxLCBpcnEsICJyb3V0ZWQgSVJRIik7
Ci0gICAgICAgIGlmICggcmMgKQotICAgICAgICAgICAgdmdpY19mcmVlX3Zp
cnEoZCwgdmlycSk7CisgICAgICAgIGlmICggIWlycV9hY2Nlc3NfcGVybWl0
dGVkKGN1cnJkLCBpcnEpICkKKyAgICAgICAgICAgIHJjID0gLUVQRVJNOwor
ICAgICAgICBlbHNlIGlmICggIXZnaWNfcmVzZXJ2ZV92aXJxKGQsIHZpcnEp
ICkKKyAgICAgICAgICAgIHJjID0gLUVCVVNZOworICAgICAgICBlbHNlCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHJjID0gcm91dGVfaXJxX3RvX2d1ZXN0
KGQsIHZpcnEsIGlycSwgInJvdXRlZCBJUlEiKTsKKyAgICAgICAgICAgIGlm
ICggcmMgKQorICAgICAgICAgICAgICAgIHZnaWNfZnJlZV92aXJxKGQsIHZp
cnEpOworICAgICAgICB9CiAKKyAgICAgICAgcmVhZF91bmxvY2soJmN1cnJk
LT5jYXBzX2xvY2spOwogICAgICAgICByZXR1cm4gcmM7CiAgICAgfQogICAg
IGNhc2UgWEVOX0RPTUNUTF91bmJpbmRfcHRfaXJxOgogICAgIHsKICAgICAg
ICAgaW50IHJjOworICAgICAgICBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1
cnJlbnQtPmRvbWFpbjsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfYmlu
ZF9wdF9pcnEgKmJpbmQgPSAmZG9tY3RsLT51LmJpbmRfcHRfaXJxOwogICAg
ICAgICB1aW50MzJfdCBpcnEgPSBiaW5kLT51LnNwaS5zcGk7CiAgICAgICAg
IHVpbnQzMl90IHZpcnEgPSBiaW5kLT5tYWNoaW5lX2lycTsKQEAgLTEzOCwx
NiArMTQ0LDE1IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoc3RydWN0IHhlbl9k
b21jdGwgKmQKICAgICAgICAgaWYgKCByYyApCiAgICAgICAgICAgICByZXR1
cm4gcmM7CiAKLSAgICAgICAgaWYgKCAhaXJxX2FjY2Vzc19wZXJtaXR0ZWQo
Y3VycmVudC0+ZG9tYWluLCBpcnEpICkKLSAgICAgICAgICAgIHJldHVybiAt
RVBFUk07Ci0KLSAgICAgICAgcmMgPSByZWxlYXNlX2d1ZXN0X2lycShkLCB2
aXJxKTsKLSAgICAgICAgaWYgKCByYyApCi0gICAgICAgICAgICByZXR1cm4g
cmM7CisgICAgICAgIHJlYWRfbG9jaygmY3VycmQtPmNhcHNfbG9jayk7CiAK
LSAgICAgICAgdmdpY19mcmVlX3ZpcnEoZCwgdmlycSk7CisgICAgICAgIGlm
ICggIWlycV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJkLCBpcnEpICkKKyAgICAg
ICAgICAgIHJjID0gLUVQRVJNOworICAgICAgICBlbHNlIGlmICggIShyYyA9
IHJlbGVhc2VfZ3Vlc3RfaXJxKGQsIHZpcnEpKSApCisgICAgICAgICAgICB2
Z2ljX2ZyZWVfdmlycShkLCB2aXJxKTsKIAotICAgICAgICByZXR1cm4gMDsK
KyAgICAgICAgcmVhZF91bmxvY2soJmN1cnJkLT5jYXBzX2xvY2spOworICAg
ICAgICByZXR1cm4gcmM7CiAgICAgfQogCiAgICAgY2FzZSBYRU5fRE9NQ1RM
X3Z1YXJ0X29wOgotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIv
eGVuL2FyY2gveDg2L2RvbWN0bC5jCkBAIC0yNjcsMTYgKzI2NywxNyBAQCBs
b25nIGFyY2hfZG9fZG9tY3RsKAogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KIAotICAgICAgICByZXQgPSAtRVBFUk07CisgICAgICAgIGlvY2Fw
c19kb3VibGVfbG9jayhkLCB0cnVlKTsKKwogICAgICAgICBpZiAoICFpcnFf
YWNjZXNzX3Blcm1pdHRlZChjdXJyZCwgaXJxKSB8fAogICAgICAgICAgICAg
IHhzbV9pcnFfcGVybWlzc2lvbihYU01fSE9PSywgZCwgaXJxLCBmbGFncykg
KQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgaWYgKCBmbGFncyAp
CisgICAgICAgICAgICByZXQgPSAtRVBFUk07CisgICAgICAgIGVsc2UgaWYg
KCBmbGFncyApCiAgICAgICAgICAgICByZXQgPSBpcnFfcGVybWl0X2FjY2Vz
cyhkLCBpcnEpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXQgPSBp
cnFfZGVueV9hY2Nlc3MoZCwgaXJxKTsKIAorICAgICAgICBpb2NhcHNfZG91
YmxlX3VubG9jayhkLCB0cnVlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQog
CkBAIC01NzksMjAgKzU4MCwyNyBAQCBsb25nIGFyY2hfZG9fZG9tY3RsKAog
ICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgaXJxID0gZG9tYWluX3Bp
cnFfdG9faXJxKGQsIGJpbmQtPm1hY2hpbmVfaXJxKTsKLSAgICAgICAgcmV0
ID0gLUVQRVJNOwotICAgICAgICBpZiAoIGlycSA8PSAwIHx8ICFpcnFfYWNj
ZXNzX3Blcm1pdHRlZChjdXJyZCwgaXJxKSApCi0gICAgICAgICAgICBicmVh
azsKKyAgICAgICAgaWYgKCBpcnEgPD0gMCApCisgICAgICAgICAgICByZXQg
PSAtRVBFUk07CiAKLSAgICAgICAgcmV0ID0gLUVTUkNIOwotICAgICAgICBp
ZiAoIGlzX2lvbW11X2VuYWJsZWQoZCkgKQorICAgICAgICByZWFkX2xvY2so
JmN1cnJkLT5jYXBzX2xvY2spOworCisgICAgICAgIGlmICggIWlycV9hY2Nl
c3NfcGVybWl0dGVkKGN1cnJkLCBpcnEpICkKKyAgICAgICAgICAgIHJldCA9
IC1FUEVSTTsKKyAgICAgICAgZWxzZSBpZiAoIGlzX2lvbW11X2VuYWJsZWQo
ZCkgKQogICAgICAgICB7CiAgICAgICAgICAgICBwY2lkZXZzX2xvY2soKTsK
ICAgICAgICAgICAgIHJldCA9IHB0X2lycV9jcmVhdGVfYmluZChkLCBiaW5k
KTsKICAgICAgICAgICAgIHBjaWRldnNfdW5sb2NrKCk7CisKKyAgICAgICAg
ICAgIGlmICggcmV0IDwgMCApCisgICAgICAgICAgICAgICAgcHJpbnRrKFhF
TkxPR19HX0VSUiAicHRfaXJxX2NyZWF0ZV9iaW5kIGZhaWxlZCAoJWxkKSBm
b3IgJXBkXG4iLAorICAgICAgICAgICAgICAgICAgICAgICByZXQsIGQpOwog
ICAgICAgICB9Ci0gICAgICAgIGlmICggcmV0IDwgMCApCi0gICAgICAgICAg
ICBwcmludGsoWEVOTE9HX0dfRVJSICJwdF9pcnFfY3JlYXRlX2JpbmQgZmFp
bGVkICglbGQpIGZvciBkb20lZFxuIiwKLSAgICAgICAgICAgICAgICAgICBy
ZXQsIGQtPmRvbWFpbl9pZCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IHJldCA9IC1FU1JDSDsKKworICAgICAgICByZWFkX3VubG9jaygmY3VycmQt
PmNhcHNfbG9jayk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIApAQCAtNjA1
LDIzICs2MTMsMjYgQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgKICAgICAgICAg
aWYgKCAhaXNfaHZtX2RvbWFpbihkKSApCiAgICAgICAgICAgICBicmVhazsK
IAotICAgICAgICByZXQgPSAtRVBFUk07Ci0gICAgICAgIGlmICggaXJxIDw9
IDAgfHwgIWlycV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJkLCBpcnEpICkKLSAg
ICAgICAgICAgIGJyZWFrOwotCiAgICAgICAgIHJldCA9IHhzbV91bmJpbmRf
cHRfaXJxKFhTTV9IT09LLCBkLCBiaW5kKTsKICAgICAgICAgaWYgKCByZXQg
KQogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgaWYgKCBpc19pb21t
dV9lbmFibGVkKGQpICkKKyAgICAgICAgcmVhZF9sb2NrKCZjdXJyZC0+Y2Fw
c19sb2NrKTsKKworICAgICAgICBpZiAoICFpcnFfYWNjZXNzX3Blcm1pdHRl
ZChjdXJyZCwgaXJxKSApCisgICAgICAgICAgICByZXQgPSAtRVBFUk07Cisg
ICAgICAgIGVsc2UgaWYgKCBpc19pb21tdV9lbmFibGVkKGQpICkKICAgICAg
ICAgewogICAgICAgICAgICAgcGNpZGV2c19sb2NrKCk7CiAgICAgICAgICAg
ICByZXQgPSBwdF9pcnFfZGVzdHJveV9iaW5kKGQsIGJpbmQpOwogICAgICAg
ICAgICAgcGNpZGV2c191bmxvY2soKTsKKworICAgICAgICAgICAgaWYgKCBy
ZXQgPCAwICkKKyAgICAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfRVJS
ICJwdF9pcnFfZGVzdHJveV9iaW5kIGZhaWxlZCAoJWxkKSBmb3IgJXBkXG4i
LAorICAgICAgICAgICAgICAgICAgICAgICByZXQsIGQpOwogICAgICAgICB9
Ci0gICAgICAgIGlmICggcmV0IDwgMCApCi0gICAgICAgICAgICBwcmludGso
WEVOTE9HX0dfRVJSICJwdF9pcnFfZGVzdHJveV9iaW5kIGZhaWxlZCAoJWxk
KSBmb3IgZG9tJWRcbiIsCi0gICAgICAgICAgICAgICAgICAgcmV0LCBkLT5k
b21haW5faWQpOworCisgICAgICAgIHJlYWRfdW5sb2NrKCZjdXJyZC0+Y2Fw
c19sb2NrKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0tLSBhL3hlbi9j
b21tb24vZG9tY3RsLmMKKysrIGIveGVuL2NvbW1vbi9kb21jdGwuYwpAQCAt
Njk1LDYgKzY5NSw5IEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5E
TEVfUEFSQU0oeGUKICAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQorCisgICAgICAgIGlvY2Fwc19k
b3VibGVfbG9jayhkLCB0cnVlKTsKKwogICAgICAgICBpcnEgPSBwaXJxX2Fj
Y2Vzc19wZXJtaXR0ZWQoY3VycmVudC0+ZG9tYWluLCBwaXJxKTsKICAgICAg
ICAgaWYgKCAhaXJxIHx8IHhzbV9pcnFfcGVybWlzc2lvbihYU01fSE9PSywg
ZCwgaXJxLCBhbGxvdykgKQogICAgICAgICAgICAgcmV0ID0gLUVQRVJNOwpA
QCAtNzAyLDYgKzcwNSw4IEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9I
QU5ETEVfUEFSQU0oeGUKICAgICAgICAgICAgIHJldCA9IGlycV9wZXJtaXRf
YWNjZXNzKGQsIGlycSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJl
dCA9IGlycV9kZW55X2FjY2VzcyhkLCBpcnEpOworCisgICAgICAgIGlvY2Fw
c19kb3VibGVfdW5sb2NrKGQsIHRydWUpOwogICAgICAgICBicmVhazsKICAg
ICB9CiAjZW5kaWYK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.21-08.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.21-08.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBYU00vRmxhc2s6IHNwbGl0IHRoZSAuaW9tZW1fbWFwcGluZygpIGhvb2sK
Ckl0J3MgdXNlZCB0d2ljZSBpbiBlbnRpcmVseSBkaWZmZXJlbnQgc2l0dWF0
aW9ucy4gVGhlIHVzZSBpbiBkb19kb21jdGwoKQp3YW50cyB0byBiZWNvbWUg
YW4gb3JkaW5hcnkgWFNNX0RNX1BSSVYgaW52b2NhdGlvbiwgd2hpbGUgdGhl
IG9uZSBpbiB2UENJCmNvZGUgbmVlZCB0byByZW1haW4gWFNNX0hPT0sgKGl0
IG1heSBwbGF1c2libHkgYmVjb21lIFhTTV9UQVJHRVQpLiBGb3IKRmxhc2ss
IHRoZSBzYW1lIGJhY2tpbmcgZnVuY3Rpb24gd2lsbCBjb250aW51ZSB0byBi
ZSB1c2VkIGZvciB0aGUgdGltZQpiZWluZy4KClRoaXMgaXMgcGFydCBvZiBY
U0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRo
QGFwZXJ0dXNzb2x1dGlvbnMuY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvdnBj
aS9oZWFkZXIuYworKysgYi94ZW4vZHJpdmVycy92cGNpL2hlYWRlci5jCkBA
IC02Nyw3ICs2Nyw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgbWFwX3Jhbmdl
KAogICAgICAgICAgICAgcmV0dXJuIC1FUEVSTTsKICAgICAgICAgfQogCi0g
ICAgICAgIHJjID0geHNtX2lvbWVtX21hcHBpbmcoWFNNX0hPT0ssIG1hcC0+
ZCwgbWFwX21mbiwgbV9lbmQsIG1hcC0+bWFwKTsKKyAgICAgICAgcmMgPSB4
c21faW9tZW1fbWFwcGluZ192cGNpKFhTTV9IT09LLCBtYXAtPmQsIG1hcF9t
Zm4sIG1fZW5kLCBtYXAtPm1hcCk7CiAgICAgICAgIGlmICggcmMgKQogICAg
ICAgICB7CiAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfV0FSTklORwot
LS0gYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAorKysgYi94ZW4vaW5jbHVk
ZS94c20vZHVtbXkuaApAQCAtNTgwLDYgKzU4MCwxMyBAQCBzdGF0aWMgWFNN
X0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX2lvbWVtCiAgICAgcmV0dXJuIHhz
bV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgZCk7
CiB9CiAKK3N0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21faW9t
ZW1fbWFwcGluZ192cGNpKAorICAgIFhTTV9ERUZBVUxUX0FSRyBzdHJ1Y3Qg
ZG9tYWluICpkLCB1aW50NjRfdCBzLCB1aW50NjRfdCBlLCB1aW50OF90IGFs
bG93KQoreworICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9IT09LKTsKKyAg
ICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+
ZG9tYWluLCBkKTsKK30KKwogc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2No
ZWNrIHhzbV9wY2lfY29uZmlnX3Blcm1pc3Npb24oCiAgICAgWFNNX0RFRkFV
TFRfQVJHIHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90IG1hY2hpbmVfYmRm
LCB1aW50MTZfdCBzdGFydCwKICAgICB1aW50MTZfdCBlbmQsIHVpbnQ4X3Qg
YWNjZXNzKQotLS0gYS94ZW4vaW5jbHVkZS94c20veHNtLmgKKysrIGIveGVu
L2luY2x1ZGUveHNtL3hzbS5oCkBAIC0xMTgsNiArMTE4LDggQEAgc3RydWN0
IHhzbV9vcHMgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
X3QgYWxsb3cpOwogICAgIGludCAoKmlvbWVtX21hcHBpbmcpKHN0cnVjdCBk
b21haW4gKmQsIHVpbnQ2NF90IHMsIHVpbnQ2NF90IGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDhfdCBhbGxvdyk7CisgICAgaW50ICgqaW9t
ZW1fbWFwcGluZ192cGNpKShzdHJ1Y3QgZG9tYWluICpkLCB1aW50NjRfdCBz
LCB1aW50NjRfdCBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDhfdCBhbGxvdyk7CiAgICAgaW50ICgqcGNpX2NvbmZpZ19wZXJtaXNz
aW9uKShzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBtYWNoaW5lX2JkZiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IHN0
YXJ0LCB1aW50MTZfdCBlbmQsIHVpbnQ4X3QgYWNjZXNzKTsKIApAQCAtNTIz
LDYgKzUyNSwxMiBAQCBzdGF0aWMgaW5saW5lIGludCB4c21faW9tZW1fbWFw
cGluZygKICAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4c21fb3BzLmlv
bWVtX21hcHBpbmcsIGQsIHMsIGUsIGFsbG93KTsKIH0KIAorc3RhdGljIGlu
bGluZSBpbnQgeHNtX2lvbWVtX21hcHBpbmdfdnBjaSgKKyAgICB4c21fZGVm
YXVsdF90IGRlZiwgc3RydWN0IGRvbWFpbiAqZCwgdWludDY0X3QgcywgdWlu
dDY0X3QgZSwgdWludDhfdCBhbGxvdykKK3sKKyAgICByZXR1cm4gYWx0ZXJu
YXRpdmVfY2FsbCh4c21fb3BzLmlvbWVtX21hcHBpbmdfdnBjaSwgZCwgcywg
ZSwgYWxsb3cpOworfQorCiBzdGF0aWMgaW5saW5lIGludCB4c21fcGNpX2Nv
bmZpZ19wZXJtaXNzaW9uKAogICAgIHhzbV9kZWZhdWx0X3QgZGVmLCBzdHJ1
Y3QgZG9tYWluICpkLCB1aW50MzJfdCBtYWNoaW5lX2JkZiwgdWludDE2X3Qg
c3RhcnQsCiAgICAgdWludDE2X3QgZW5kLCB1aW50OF90IGFjY2VzcykKLS0t
IGEveGVuL3hzbS9kdW1teS5jCisrKyBiL3hlbi94c20vZHVtbXkuYwpAQCAt
NzYsNiArNzYsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHhzbV9vcHMgX19p
bml0Y29uc3RfCiAgICAgLmlycV9wZXJtaXNzaW9uICAgICAgICAgICAgICAg
ID0geHNtX2lycV9wZXJtaXNzaW9uLAogICAgIC5pb21lbV9wZXJtaXNzaW9u
ICAgICAgICAgICAgICA9IHhzbV9pb21lbV9wZXJtaXNzaW9uLAogICAgIC5p
b21lbV9tYXBwaW5nICAgICAgICAgICAgICAgICA9IHhzbV9pb21lbV9tYXBw
aW5nLAorICAgIC5pb21lbV9tYXBwaW5nX3ZwY2kgICAgICAgICAgICA9IHhz
bV9pb21lbV9tYXBwaW5nX3ZwY2ksCiAgICAgLnBjaV9jb25maWdfcGVybWlz
c2lvbiAgICAgICAgID0geHNtX3BjaV9jb25maWdfcGVybWlzc2lvbiwKICAg
ICAuZ2V0X3ZudW1haW5mbyAgICAgICAgICAgICAgICAgPSB4c21fZ2V0X3Zu
dW1haW5mbywKIAotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIv
eGVuL3hzbS9mbGFzay9ob29rcy5jCkBAIC0xOTUwLDYgKzE5NTAsNyBAQCBz
dGF0aWMgY29uc3Qgc3RydWN0IHhzbV9vcHMgX19pbml0Y29uc3RfCiAgICAg
LmlycV9wZXJtaXNzaW9uID0gZmxhc2tfaXJxX3Blcm1pc3Npb24sCiAgICAg
LmlvbWVtX3Blcm1pc3Npb24gPSBmbGFza19pb21lbV9wZXJtaXNzaW9uLAog
ICAgIC5pb21lbV9tYXBwaW5nID0gZmxhc2tfaW9tZW1fbWFwcGluZywKKyAg
ICAuaW9tZW1fbWFwcGluZ192cGNpID0gZmxhc2tfaW9tZW1fbWFwcGluZywK
ICAgICAucGNpX2NvbmZpZ19wZXJtaXNzaW9uID0gZmxhc2tfcGNpX2NvbmZp
Z19wZXJtaXNzaW9uLAogCiAgICAgLnJlc291cmNlX3BsdWdfY29yZSA9IGZs
YXNrX3Jlc291cmNlX3BsdWdfY29yZSwK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.21-09.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.21-09.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBwaW5nIHdp
dGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRlZGljYXRlZCBs
b2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3QgcmVxdWlyZWQg
aGVyZSBhbnltb3JlLgpNb3ZlIHRoZSByZS1wdXJwb3NlZCBkZWRpY2F0ZWQg
WFNNIGNoZWNrIGFzIGVhcmx5IGFzIHBvc3NpYmxlLgoKTWluaW1hbCAibW9k
ZXJuaXphdGlvbiI6IFN3aXRjaCAiYWRkIiB0byBib29sIGFuZCB1c2UgJXBk
IGluIGxvZyBtZXNzYWdlcy4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoK
Rml4ZXM6IGZkYTQ5ZjliM2ZiYiAoIkFkZCBidWlsZCBvcHRpb24gdG8gYWxs
b3cgbW9yZSBoeXBlcmNhbGxzIGZyb20gc3R1YmRvbXMiKQpSZXBvcnRlZC1i
eTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K
U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
PgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNz
b2x1dGlvbnMuY29tPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8
cm9nZXIucGF1QGNpdHJpeC5jb20+CgotLS0gYS94ZW4vY29tbW9uL2RvbWN0
bC5jCisrKyBiL3hlbi9jb21tb24vZG9tY3RsLmMKQEAgLTM3Niw2ICszNzYs
NjYgQEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4
ZQogICAgICAgICAgICAgY29weWJhY2sgPSB0cnVlOwogICAgICAgICBnb3Rv
IGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CiAKKyAgICBjYXNlIFhFTl9E
T01DVExfbWVtb3J5X21hcHBpbmc6CisgICAgeworICAgICAgICB1bnNpZ25l
ZCBsb25nIGdmbiA9IG9wLT51Lm1lbW9yeV9tYXBwaW5nLmZpcnN0X2dmbjsK
KyAgICAgICAgdW5zaWduZWQgbG9uZyBtZm4gPSBvcC0+dS5tZW1vcnlfbWFw
cGluZy5maXJzdF9tZm47CisgICAgICAgIHVuc2lnbmVkIGxvbmcgbnJfbWZu
cyA9IG9wLT51Lm1lbW9yeV9tYXBwaW5nLm5yX21mbnM7CisgICAgICAgIHVu
c2lnbmVkIGxvbmcgbWZuX2VuZCA9IG1mbiArIG5yX21mbnMgLSAxOworICAg
ICAgICBib29sIGFkZCA9IG9wLT51Lm1lbW9yeV9tYXBwaW5nLmFkZF9tYXBw
aW5nOworCisgICAgICAgIHJldCA9IC1FSU5WQUw7CisgICAgICAgIGlmICgg
bWZuX2VuZCA8IG1mbiB8fCAvKiBXcmFwPyAqLworICAgICAgICAgICAgICgo
bWZuIHwgbWZuX2VuZCkgPj4gKHBhZGRyX2JpdHMgLSBQQUdFX1NISUZUKSkg
fHwKKyAgICAgICAgICAgICAoZ2ZuICsgbnJfbWZucyAtIDEpIDwgZ2ZuICkg
LyogV3JhcD8gKi8KKyAgICAgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxv
Y2tfZG9tb25seTsKKworICAgICAgICByZXQgPSB4c21faW9tZW1fbWFwcGlu
ZyhYU01fRE1fUFJJViwgZCwgbWZuLCBtZm5fZW5kLCBhZGQpOworICAgICAg
ICBpZiAoIHJldCB8fCAhcGFnaW5nX21vZGVfdHJhbnNsYXRlKGQpICkKKyAg
ICAgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9tb25seTsKKwor
I2lmbmRlZiBDT05GSUdfWDg2IC8qIFhYWCBBUk0hPyAqLworICAgICAgICBy
ZXQgPSAtRTJCSUc7CisgICAgICAgIC8qIE11c3QgYnJlYWsgaHlwZXJjYWxs
IHVwIGFzIHRoaXMgY291bGQgdGFrZSBhIHdoaWxlLiAqLworICAgICAgICBp
ZiAoIG5yX21mbnMgPiA2NCApCisgICAgICAgICAgICBnb3RvIGRvbWN0bF9v
dXRfdW5sb2NrX2RvbW9ubHk7CisjZW5kaWYKKworICAgICAgICBpb2NhcHNf
ZG91YmxlX2xvY2soZCwgZmFsc2UpOworCisgICAgICAgIHJldCA9IC1FUEVS
TTsKKyAgICAgICAgaWYgKCAhaW9tZW1fYWNjZXNzX3Blcm1pdHRlZChjdXJy
ZW50LT5kb21haW4sIG1mbiwgbWZuX2VuZCkgfHwKKyAgICAgICAgICAgICAh
aW9tZW1fYWNjZXNzX3Blcm1pdHRlZChkLCBtZm4sIG1mbl9lbmQpICkKKyAg
ICAgICAgICAgIC8qIE5vdGhpbmcuICovOworICAgICAgICBlbHNlIGlmICgg
YWRkICkKKyAgICAgICAgeworICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19H
X0RFQlVHCisgICAgICAgICAgICAgICAgICAgIm1lbW9yeV9tYXA6YWRkOiAl
cGQgZ2ZuPSVseCBtZm49JWx4IG5yPSVseFxuIiwKKyAgICAgICAgICAgICAg
ICAgICBkLCBnZm4sIG1mbiwgbnJfbWZucyk7CisKKyAgICAgICAgICAgIHJl
dCA9IG1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihnZm4pLCBucl9tZm5zLCBf
bWZuKG1mbikpOworICAgICAgICAgICAgaWYgKCByZXQgPCAwICkKKyAgICAg
ICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfV0FSTklORworICAgICAgICAg
ICAgICAgICAgICAgICAibWVtb3J5X21hcDpmYWlsOiAlcGQgZ2ZuPSVseCBt
Zm49JWx4IG5yPSVseCByZXQ6JWxkXG4iLAorICAgICAgICAgICAgICAgICAg
ICAgICBkLCBnZm4sIG1mbiwgbnJfbWZucywgcmV0KTsKKyAgICAgICAgfQor
ICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIHByaW50ayhY
RU5MT0dfR19ERUJVRworICAgICAgICAgICAgICAgICAgICJtZW1vcnlfbWFw
OnJlbW92ZTogJXBkIGdmbj0lbHggbWZuPSVseCBucj0lbHhcbiIsCisgICAg
ICAgICAgICAgICAgICAgZCwgZ2ZuLCBtZm4sIG5yX21mbnMpOworCisgICAg
ICAgICAgICByZXQgPSB1bm1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihnZm4p
LCBucl9tZm5zLCBfbWZuKG1mbikpOworICAgICAgICAgICAgaWYgKCByZXQg
PCAwICYmIGlzX2hhcmR3YXJlX2RvbWFpbihjdXJyZW50LT5kb21haW4pICkK
KyAgICAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0VSUgorICAgICAgICAg
ICAgICAgICAgICAgICAibWVtb3J5X21hcDogZXJyb3IgJWxkIHJlbW92aW5n
ICVwZCBhY2Nlc3MgdG8gWyVseCwlbHhdXG4iLAorICAgICAgICAgICAgICAg
ICAgICAgICByZXQsIGQsIG1mbiwgbWZuX2VuZCk7CisgICAgICAgIH0KKwor
ICAgICAgICBpb2NhcHNfZG91YmxlX3VubG9jayhkLCBmYWxzZSk7CisgICAg
ICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9tb25seTsKKyAgICB9CisK
ICAgICBkZWZhdWx0OgogICAgICAgICAvKiBFdmVyeXRoaW5nIGVsc2UgaGFu
ZGxlZCBmdXJ0aGVyIGRvd24uICovCiAgICAgICAgIGJyZWFrOwpAQCAtNzM2
LDY0ICs3OTYsNiBAQCBsb25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExF
X1BBUkFNKHhlCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIGNhc2Ug
WEVOX0RPTUNUTF9tZW1vcnlfbWFwcGluZzoKLSAgICB7Ci0gICAgICAgIHVu
c2lnbmVkIGxvbmcgZ2ZuID0gb3AtPnUubWVtb3J5X21hcHBpbmcuZmlyc3Rf
Z2ZuOwotICAgICAgICB1bnNpZ25lZCBsb25nIG1mbiA9IG9wLT51Lm1lbW9y
eV9tYXBwaW5nLmZpcnN0X21mbjsKLSAgICAgICAgdW5zaWduZWQgbG9uZyBu
cl9tZm5zID0gb3AtPnUubWVtb3J5X21hcHBpbmcubnJfbWZuczsKLSAgICAg
ICAgdW5zaWduZWQgbG9uZyBtZm5fZW5kID0gbWZuICsgbnJfbWZucyAtIDE7
Ci0gICAgICAgIGludCBhZGQgPSBvcC0+dS5tZW1vcnlfbWFwcGluZy5hZGRf
bWFwcGluZzsKLQotICAgICAgICByZXQgPSAtRUlOVkFMOwotICAgICAgICBp
ZiAoIG1mbl9lbmQgPCBtZm4gfHwgLyogd3JhcD8gKi8KLSAgICAgICAgICAg
ICAoKG1mbiB8IG1mbl9lbmQpID4+IChwYWRkcl9iaXRzIC0gUEFHRV9TSElG
VCkpIHx8Ci0gICAgICAgICAgICAgKGdmbiArIG5yX21mbnMgLSAxKSA8IGdm
biApIC8qIHdyYXA/ICovCi0gICAgICAgICAgICBicmVhazsKLQotI2lmbmRl
ZiBDT05GSUdfWDg2IC8qIFhYWCBBUk0hPyAqLwotICAgICAgICByZXQgPSAt
RTJCSUc7Ci0gICAgICAgIC8qIE11c3QgYnJlYWsgaHlwZXJjYWxsIHVwIGFz
IHRoaXMgY291bGQgdGFrZSBhIHdoaWxlLiAqLwotICAgICAgICBpZiAoIG5y
X21mbnMgPiA2NCApCi0gICAgICAgICAgICBicmVhazsKLSNlbmRpZgotCi0g
ICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCBmYWxzZSk7Ci0KLSAgICAg
ICAgcmV0ID0gLUVQRVJNOwotICAgICAgICBpZiAoICFpb21lbV9hY2Nlc3Nf
cGVybWl0dGVkKGN1cnJlbnQtPmRvbWFpbiwgbWZuLCBtZm5fZW5kKSB8fAot
ICAgICAgICAgICAgICFpb21lbV9hY2Nlc3NfcGVybWl0dGVkKGQsIG1mbiwg
bWZuX2VuZCkgfHwKLSAgICAgICAgICAgICAocmV0ID0geHNtX2lvbWVtX21h
cHBpbmcoWFNNX0hPT0ssIGQsIG1mbiwgbWZuX2VuZCwgYWRkKSkgfHwKLSAg
ICAgICAgICAgICAhcGFnaW5nX21vZGVfdHJhbnNsYXRlKGQpICkKLSAgICAg
ICAgICAgIC8qIE5vdGhpbmcuICovOwotICAgICAgICBlbHNlIGlmICggYWRk
ICkKLSAgICAgICAgewotICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0RF
QlVHCi0gICAgICAgICAgICAgICAgICAgIm1lbW9yeV9tYXA6YWRkOiBkb20l
ZCBnZm49JWx4IG1mbj0lbHggbnI9JWx4XG4iLAotICAgICAgICAgICAgICAg
ICAgIGQtPmRvbWFpbl9pZCwgZ2ZuLCBtZm4sIG5yX21mbnMpOwotCi0gICAg
ICAgICAgICByZXQgPSBtYXBfbW1pb19yZWdpb25zKGQsIF9nZm4oZ2ZuKSwg
bnJfbWZucywgX21mbihtZm4pKTsKLSAgICAgICAgICAgIGlmICggcmV0IDwg
MCApCi0gICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX1dBUk5JTkcK
LSAgICAgICAgICAgICAgICAgICAgICAgIm1lbW9yeV9tYXA6ZmFpbDogZG9t
JWQgZ2ZuPSVseCBtZm49JWx4IG5yPSVseCByZXQ6JWxkXG4iLAotICAgICAg
ICAgICAgICAgICAgICAgICBkLT5kb21haW5faWQsIGdmbiwgbWZuLCBucl9t
Zm5zLCByZXQpOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UKLSAgICAgICAg
ewotICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0RFQlVHCi0gICAgICAg
ICAgICAgICAgICAgIm1lbW9yeV9tYXA6cmVtb3ZlOiBkb20lZCBnZm49JWx4
IG1mbj0lbHggbnI9JWx4XG4iLAotICAgICAgICAgICAgICAgICAgIGQtPmRv
bWFpbl9pZCwgZ2ZuLCBtZm4sIG5yX21mbnMpOwotCi0gICAgICAgICAgICBy
ZXQgPSB1bm1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihnZm4pLCBucl9tZm5z
LCBfbWZuKG1mbikpOwotICAgICAgICAgICAgaWYgKCByZXQgPCAwICYmIGlz
X2hhcmR3YXJlX2RvbWFpbihjdXJyZW50LT5kb21haW4pICkKLSAgICAgICAg
ICAgICAgICBwcmludGsoWEVOTE9HX0VSUgotICAgICAgICAgICAgICAgICAg
ICAgICAibWVtb3J5X21hcDogZXJyb3IgJWxkIHJlbW92aW5nIGRvbSVkIGFj
Y2VzcyB0byBbJWx4LCVseF1cbiIsCi0gICAgICAgICAgICAgICAgICAgICAg
IHJldCwgZC0+ZG9tYWluX2lkLCBtZm4sIG1mbl9lbmQpOwotICAgICAgICB9
Ci0KLSAgICAgICAgaW9jYXBzX2RvdWJsZV91bmxvY2soZCwgZmFsc2UpOwot
ICAgICAgICBicmVhazsKLSAgICB9Ci0KICAgICBjYXNlIFhFTl9ET01DVExf
c2V0dGltZW9mZnNldDoKICAgICAgICAgZG9tYWluX3NldF90aW1lX29mZnNl
dChkLCBvcC0+dS5zZXR0aW1lb2Zmc2V0LnRpbWVfb2Zmc2V0X3NlY29uZHMp
OwogICAgICAgICBicmVhazsKLS0tIGEveGVuL2luY2x1ZGUveHNtL2R1bW15
LmgKKysrIGIveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKQEAgLTE2OCwxMyAr
MTY4LDEzIEBAIHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21f
ZG9tY3QKICAgICBzd2l0Y2ggKCBjbWQgKQogICAgIHsKICAgICBjYXNlIFhF
Tl9ET01DVExfaW9wb3J0X21hcHBpbmc6Ci0gICAgY2FzZSBYRU5fRE9NQ1RM
X21lbW9yeV9tYXBwaW5nOgogICAgIGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0
X2lycToKICAgICBjYXNlIFhFTl9ET01DVExfdW5iaW5kX3B0X2lycToKICAg
ICAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihYU01fRE1fUFJJViwg
Y3VycmVudC0+ZG9tYWluLCBkKTsKIAogICAgIGNhc2UgWEVOX0RPTUNUTF9n
ZXRkb21haW5pbmZvOgogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRfZG9tYWlu
X3N0YXRlOgorICAgIGNhc2UgWEVOX0RPTUNUTF9tZW1vcnlfbWFwcGluZzoK
ICAgICAgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CiAgICAgICAgIHJldHVy
biAtRUlMU0VROwogCkBAIC01NzYsNyArNTc2LDcgQEAgc3RhdGljIFhTTV9J
TkxJTkUgaW50IGNmX2NoZWNrIHhzbV9pb21lbQogc3RhdGljIFhTTV9JTkxJ
TkUgaW50IGNmX2NoZWNrIHhzbV9pb21lbV9tYXBwaW5nKAogICAgIFhTTV9E
RUZBVUxUX0FSRyBzdHJ1Y3QgZG9tYWluICpkLCB1aW50NjRfdCBzLCB1aW50
NjRfdCBlLCB1aW50OF90IGFsbG93KQogewotICAgIFhTTV9BU1NFUlRfQUNU
SU9OKFhTTV9IT09LKTsKKyAgICBYU01fQVNTRVJUX0FDVElPTihYU01fRE1f
UFJJVik7CiAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24s
IGN1cnJlbnQtPmRvbWFpbiwgZCk7CiB9CiAKLS0tIGEveGVuL3hzbS9mbGFz
ay9ob29rcy5jCisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjg1
LDYgKzY4NSw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3Rs
KHN0cnVjdAogICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00gaG9v
a3MgYW5kIGRvbid0IG1ha2UgaXQgaGVyZS4gKi8KICAgICBjYXNlIFhFTl9E
T01DVExfZ2V0ZG9tYWluaW5mbzoKICAgICBjYXNlIFhFTl9ET01DVExfZ2V0
X2RvbWFpbl9zdGF0ZToKKyAgICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21h
cHBpbmc6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAgICAg
ICByZXR1cm4gLUVJTFNFUTsKIApAQCAtNjkyLDcgKzY5Myw2IEBAIHN0YXRp
YyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAogICAgIGNhc2Ug
WEVOX0RPTUNUTF9zY2hlZHVsZXJfb3A6CiAgICAgY2FzZSBYRU5fRE9NQ1RM
X2lycV9wZXJtaXNzaW9uOgogICAgIGNhc2UgWEVOX0RPTUNUTF9pb21lbV9w
ZXJtaXNzaW9uOgotICAgIGNhc2UgWEVOX0RPTUNUTF9tZW1vcnlfbWFwcGlu
ZzoKICAgICBjYXNlIFhFTl9ET01DVExfc2V0X3RhcmdldDoKICAgICBjYXNl
IFhFTl9ET01DVExfdm1fZXZlbnRfb3A6CiAK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.21-10.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.21-10.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nIHdp
dGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRlZGljYXRlZCBs
b2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3QgcmVxdWlyZWQg
aGVyZSBhbnltb3JlLgpBcyB0aGUgaGFuZGxpbmcgaXMgaW4gYXJjaC1zcGVj
aWZpYyBjb2RlICh4ODYgb25seSksIGFsbW9zdCBubyBjb2RlIGlzCmJlaW5n
IG1vdmVkLCBidXQgYSAybmQgKGV4dGVuc2libGUgdG8gb3RoZXIgc3ViLW9w
cykgaW52b2NhdGlvbiBvZgphcmNoX2RvX2RvbWN0bCgpIGlzIGJlaW5nIGFk
ZGVkLiBNb3ZlIGp1c3QgdGhlIHJlLXB1cnBvc2VkIGRlZGljYXRlZCBYU00K
Y2hlY2sgYXMgZWFybHkgYXMgcG9zc2libGUuCgpJbiBmbGFza19kb21jdGwo
KSBkb24ndCBwdXQgI2lmZGVmIGFyb3VuZCB0aGUgbW92ZWQgY2FzZSBsYWJl
bC4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKRml4ZXM6IGZkYTQ5Zjli
M2ZiYiAoIkFkZCBidWlsZCBvcHRpb24gdG8gYWxsb3cgbW9yZSBoeXBlcmNh
bGxzIGZyb20gc3R1YmRvbXMiKQpSZXBvcnRlZC1ieTogQW5kcmV3IENvb3Bl
ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
Um9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkFja2Vk
LWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9u
cy5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVu
L2FyY2gveDg2L2RvbWN0bC5jCkBAIC02NjMsMTIgKzY2MywxNSBAQCBsb25n
IGFyY2hfZG9fZG9tY3RsKAogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KIAorICAgICAgICByZXQgPSB4c21faW9wb3J0X21hcHBpbmcoWFNNX0RN
X1BSSVYsIGQsIGZtcCwgZm1wICsgbnAgLSAxLCBhZGQpOworICAgICAgICBp
ZiAoIHJldCApCisgICAgICAgICAgICBicmVhazsKKwogICAgICAgICBodm0g
PSAmZC0+YXJjaC5odm07CiAgICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhk
LCB0cnVlKTsKIAotICAgICAgICBpZiAoICFpb3BvcnRzX2FjY2Vzc19wZXJt
aXR0ZWQoY3VycmQsIGZtcCwgZm1wICsgbnAgLSAxKSB8fAotICAgICAgICAg
ICAgIChyZXQgPSB4c21faW9wb3J0X21hcHBpbmcoWFNNX0hPT0ssIGQsIGZt
cCwgZm1wICsgbnAgLSAxLCBhZGQpKSApCi0gICAgICAgICAgICByZXQgPSBy
ZXQgPzogLUVQRVJNOworICAgICAgICBpZiAoICFpb3BvcnRzX2FjY2Vzc19w
ZXJtaXR0ZWQoY3VycmQsIGZtcCwgZm1wICsgbnAgLSAxKSApCisgICAgICAg
ICAgICByZXQgPSAtRVBFUk07CiAgICAgICAgIGVsc2UgaWYgKCBhZGQgKQog
ICAgICAgICB7CiAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfSU5GTwot
LS0gYS94ZW4vY29tbW9uL2RvbWN0bC5jCisrKyBiL3hlbi9jb21tb24vZG9t
Y3RsLmMKQEAgLTQzNiw2ICs0MzYsMTAgQEAgbG9uZyBkb19kb21jdGwoWEVO
X0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICBnb3RvIGRvbWN0bF9v
dXRfdW5sb2NrX2RvbW9ubHk7CiAgICAgfQogCisgICAgY2FzZSBYRU5fRE9N
Q1RMX2lvcG9ydF9tYXBwaW5nOgorICAgICAgICByZXQgPSBhcmNoX2RvX2Rv
bWN0bChvcCwgZCwgdV9kb21jdGwpOworICAgICAgICBnb3RvIGRvbWN0bF9v
dXRfdW5sb2NrX2RvbW9ubHk7CisKICAgICBkZWZhdWx0OgogICAgICAgICAv
KiBFdmVyeXRoaW5nIGVsc2UgaGFuZGxlZCBmdXJ0aGVyIGRvd24uICovCiAg
ICAgICAgIGJyZWFrOwotLS0gYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAor
KysgYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTY3LDEzICsxNjcs
MTMgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9kb21j
dAogICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9PVEhFUik7CiAgICAgc3dp
dGNoICggY21kICkKICAgICB7Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9y
dF9tYXBwaW5nOgogICAgIGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToK
ICAgICBjYXNlIFhFTl9ET01DVExfdW5iaW5kX3B0X2lycToKICAgICAgICAg
cmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihYU01fRE1fUFJJViwgY3VycmVu
dC0+ZG9tYWluLCBkKTsKIAogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRkb21h
aW5pbmZvOgogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRfZG9tYWluX3N0YXRl
OgorICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBj
YXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAgICAgICAgIEFTU0VS
VF9VTlJFQUNIQUJMRSgpOwogICAgICAgICByZXR1cm4gLUVJTFNFUTsKQEAg
LTc3Miw3ICs3NzIsNyBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hl
Y2sgeHNtX2lvcG9yCiBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sg
eHNtX2lvcG9ydF9tYXBwaW5nKAogICAgIFhTTV9ERUZBVUxUX0FSRyBzdHJ1
Y3QgZG9tYWluICpkLCB1aW50MzJfdCBzLCB1aW50MzJfdCBlLCB1aW50OF90
IGFsbG93KQogewotICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9IT09LKTsK
KyAgICBYU01fQVNTRVJUX0FDVElPTihYU01fRE1fUFJJVik7CiAgICAgcmV0
dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFp
biwgZCk7CiB9CiAKLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5jCisrKyBi
L3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjg1LDYgKzY4NSw3IEBAIHN0
YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAogICAgIC8q
IFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00gaG9va3MgYW5kIGRvbid0IG1h
a2UgaXQgaGVyZS4gKi8KICAgICBjYXNlIFhFTl9ET01DVExfZ2V0ZG9tYWlu
aW5mbzoKICAgICBjYXNlIFhFTl9ET01DVExfZ2V0X2RvbWFpbl9zdGF0ZToK
KyAgICBjYXNlIFhFTl9ET01DVExfaW9wb3J0X21hcHBpbmc6CiAgICAgY2Fz
ZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBwaW5nOgogICAgICAgICBBU1NFUlRf
VU5SRUFDSEFCTEUoKTsKICAgICAgICAgcmV0dXJuIC1FSUxTRVE7CkBAIC03
MDMsNyArNzA0LDYgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21j
dGwoc3RydWN0CiAgICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBo
b29rcyAoYXJjaC94ODYvZG9tY3RsLmMpICovCiAgICAgY2FzZSBYRU5fRE9N
Q1RMX3NoYWRvd19vcDoKICAgICBjYXNlIFhFTl9ET01DVExfaW9wb3J0X3Bl
cm1pc3Npb246Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5n
OgogICAgIGNhc2UgWEVOX0RPTUNUTF9nc2lfcGVybWlzc2lvbjoKICNlbmRp
ZgogI2lmZGVmIENPTkZJR19IQVNfUEFTU1RIUk9VR0gK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.21-11.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.21-11.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX3ssdW59YmluZF9wdF9pcnEg
d2l0aG91dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKCldpdGggZGVkaWNhdGVk
IGxvY2tpbmcgYWRkZWQsIHRoZSBkb21jdGwgbG9jayBpc24ndCByZXF1aXJl
ZCBoZXJlIGFueW1vcmUuCihJdCBhbHNvIGFscmVhZHkgaXNuJ3QgdXNlZCB3
aGVuIHB0X2lycV97Y3JlYXRlLGRlc3Ryb3l9X2JpbmQoKSBhcmUKaW52b2tl
ZCBmb3IgUFZIIERvbTAuKSBBcyB0aGUgaGFuZGxpbmcgaXMgaW4gYXJjaC1z
cGVjaWZpYyBjb2RlLCBubyBjb2RlCmlzIGJlaW5nIG1vdmVkLCBidXQgdGhl
IDJuZCAoZXh0ZW5zaWJsZSB0byBvdGhlciBzdWItb3BzIGxpa2UgdGhlIG9u
ZXMKaGVyZSkgaW52b2NhdGlvbiBvZiBhcmNoX2RvX2RvbWN0bCgpIGlzIGJl
aW5nIHJlLXVzZWQuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4KCkZpeGVz
OiBmZGE0OWY5YjNmYmIgKCJBZGQgYnVpbGQgb3B0aW9uIHRvIGFsbG93IG1v
cmUgaHlwZXJjYWxscyBmcm9tIHN0dWJkb21zIikKUmVwb3J0ZWQtYnk6IEFu
ZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClNpZ25l
ZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2
aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXgu
Y29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0
dXNzb2x1dGlvbnMuY29tPgpBY2tlZC1ieTogSnVsaWVuIEdyYWxsIDxqdWxp
ZW5AeGVuLm9yZz4KCi0tLSBhL3hlbi9hcmNoL2FybS9kb21jdGwuYworKysg
Yi94ZW4vYXJjaC9hcm0vZG9tY3RsLmMKQEAgLTEwNCw3ICsxMDQsNyBAQCBs
b25nIGFyY2hfZG9fZG9tY3RsKHN0cnVjdCB4ZW5fZG9tY3RsICpkCiAgICAg
ICAgIGlmICggcmMgKQogICAgICAgICAgICAgcmV0dXJuIHJjOwogCi0gICAg
ICAgIHJjID0geHNtX2JpbmRfcHRfaXJxKFhTTV9IT09LLCBkLCBiaW5kKTsK
KyAgICAgICAgcmMgPSB4c21fYmluZF9wdF9pcnEoWFNNX0RNX1BSSVYsIGQs
IGJpbmQpOwogICAgICAgICBpZiAoIHJjICkKICAgICAgICAgICAgIHJldHVy
biByYzsKIApAQCAtMTQwLDcgKzE0MCw3IEBAIGxvbmcgYXJjaF9kb19kb21j
dGwoc3RydWN0IHhlbl9kb21jdGwgKmQKICAgICAgICAgaWYgKCBpcnEgIT0g
dmlycSApCiAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAotICAgICAg
ICByYyA9IHhzbV91bmJpbmRfcHRfaXJxKFhTTV9IT09LLCBkLCBiaW5kKTsK
KyAgICAgICAgcmMgPSB4c21fdW5iaW5kX3B0X2lycShYU01fRE1fUFJJViwg
ZCwgYmluZCk7CiAgICAgICAgIGlmICggcmMgKQogICAgICAgICAgICAgcmV0
dXJuIHJjOwogCi0tLSBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYworKysgYi94
ZW4vYXJjaC94ODYvZG9tY3RsLmMKQEAgLTU3NSw3ICs1NzUsNyBAQCBsb25n
IGFyY2hfZG9fZG9tY3RsKAogICAgICAgICBpZiAoICFpc19odm1fZG9tYWlu
KGQpICkKICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIHJldCA9IHhz
bV9iaW5kX3B0X2lycShYU01fSE9PSywgZCwgYmluZCk7CisgICAgICAgIHJl
dCA9IHhzbV9iaW5kX3B0X2lycShYU01fRE1fUFJJViwgZCwgYmluZCk7CiAg
ICAgICAgIGlmICggcmV0ICkKICAgICAgICAgICAgIGJyZWFrOwogCkBAIC02
MTMsNyArNjEzLDcgQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgKICAgICAgICAg
aWYgKCAhaXNfaHZtX2RvbWFpbihkKSApCiAgICAgICAgICAgICBicmVhazsK
IAotICAgICAgICByZXQgPSB4c21fdW5iaW5kX3B0X2lycShYU01fSE9PSywg
ZCwgYmluZCk7CisgICAgICAgIHJldCA9IHhzbV91bmJpbmRfcHRfaXJxKFhT
TV9ETV9QUklWLCBkLCBiaW5kKTsKICAgICAgICAgaWYgKCByZXQgKQogICAg
ICAgICAgICAgYnJlYWs7CiAKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYwor
KysgYi94ZW4vY29tbW9uL2RvbWN0bC5jCkBAIC00MzcsNiArNDM3LDggQEAg
bG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAg
IH0KIAogICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKKyAg
ICBjYXNlIFhFTl9ET01DVExfYmluZF9wdF9pcnE6CisgICAgY2FzZSBYRU5f
RE9NQ1RMX3VuYmluZF9wdF9pcnE6CiAgICAgICAgIHJldCA9IGFyY2hfZG9f
ZG9tY3RsKG9wLCBkLCB1X2RvbWN0bCk7CiAgICAgICAgIGdvdG8gZG9tY3Rs
X291dF91bmxvY2tfZG9tb25seTsKIAotLS0gYS94ZW4vaW5jbHVkZS94c20v
ZHVtbXkuaAorKysgYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTY4
LDEzICsxNjgsMTEgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNr
IHhzbV9kb21jdAogICAgIHN3aXRjaCAoIGNtZCApCiAgICAgewogICAgIGNh
c2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToKLSAgICBjYXNlIFhFTl9ET01D
VExfdW5iaW5kX3B0X2lycToKLSAgICAgICAgcmV0dXJuIHhzbV9kZWZhdWx0
X2FjdGlvbihYU01fRE1fUFJJViwgY3VycmVudC0+ZG9tYWluLCBkKTsKLQog
ICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRkb21haW5pbmZvOgogICAgIGNhc2Ug
WEVOX0RPTUNUTF9nZXRfZG9tYWluX3N0YXRlOgogICAgIGNhc2UgWEVOX0RP
TUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBjYXNlIFhFTl9ET01DVExfbWVt
b3J5X21hcHBpbmc6CisgICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmluZF9wdF9p
cnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAgICAgICBy
ZXR1cm4gLUVJTFNFUTsKIApAQCAtNTQxLDE0ICs1MzksMTQgQEAgc3RhdGlj
IFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV91bm1hcAogc3RhdGljIFhT
TV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9iaW5kX3B0X2lycSgKICAgICBY
U01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHhlbl9k
b21jdGxfYmluZF9wdF9pcnEgKmJpbmQpCiB7Ci0gICAgWFNNX0FTU0VSVF9B
Q1RJT04oWFNNX0hPT0spOworICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9E
TV9QUklWKTsKICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlv
biwgY3VycmVudC0+ZG9tYWluLCBkKTsKIH0KIAogc3RhdGljIFhTTV9JTkxJ
TkUgaW50IGNmX2NoZWNrIHhzbV91bmJpbmRfcHRfaXJxKAogICAgIFhTTV9E
RUZBVUxUX0FSRyBzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgeGVuX2RvbWN0
bF9iaW5kX3B0X2lycSAqYmluZCkKIHsKLSAgICBYU01fQVNTRVJUX0FDVElP
TihYU01fSE9PSyk7CisgICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX0RNX1BS
SVYpOwogICAgIHJldHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9uLCBj
dXJyZW50LT5kb21haW4sIGQpOwogfQogCi0tLSBhL3hlbi94c20vZmxhc2sv
aG9va3MuYworKysgYi94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAgLTY4Mywx
MCArNjgzLDEyIEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3Rs
KHN0cnVjdAogICAgICAgICByZXR1cm4gYXZjX2N1cnJlbnRfaGFzX3Blcm0o
c3NpZHJlZiwgU0VDQ0xBU1NfRE9NQUlOLCBET01BSU5fX0NSRUFURSwgTlVM
TCk7CiAKICAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tz
IGFuZCBkb24ndCBtYWtlIGl0IGhlcmUuICovCisgICAgY2FzZSBYRU5fRE9N
Q1RMX2JpbmRfcHRfaXJxOgogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRkb21h
aW5pbmZvOgogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRfZG9tYWluX3N0YXRl
OgogICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBj
YXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CisgICAgY2FzZSBYRU5f
RE9NQ1RMX3VuYmluZF9wdF9pcnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNI
QUJMRSgpOwogICAgICAgICByZXR1cm4gLUVJTFNFUTsKIApAQCAtNjk3LDkg
KzY5OSw2IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0
cnVjdAogICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRfdGFyZ2V0OgogICAgIGNh
c2UgWEVOX0RPTUNUTF92bV9ldmVudF9vcDoKIAotICAgIC8qIFRoZXNlIGhh
dmUgaW5kaXZpZHVhbCBYU00gaG9va3MgKGFyY2gvLi4vZG9tY3RsLmMpICov
Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgotICAgIGNhc2Ug
WEVOX0RPTUNUTF91bmJpbmRfcHRfaXJxOgogI2lmZGVmIENPTkZJR19YODYK
ICAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzIChhcmNo
L3g4Ni9kb21jdGwuYykgKi8KICAgICBjYXNlIFhFTl9ET01DVExfc2hhZG93
X29wOgo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.21-12.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.21-12.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2lve21lbSxwb3J0fV9wZXJt
aXNzaW9uIHdpdGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRl
ZGljYXRlZCBsb2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3Qg
cmVxdWlyZWQgaGVyZSBhbnltb3JlLgpBcyB0aGUgSS9PIHBvcnQgaGFuZGxp
bmcgaXMgaW4gYXJjaC1zcGVjaWZpYyBjb2RlICh4ODYgb25seSksIG5vIGNv
ZGUgaXMKYmVpbmcgbW92ZWQsIGJ1dCB0aGUgMm5kIGludm9jYXRpb24gb2Yg
YXJjaF9kb19kb21jdGwoKSBpcyByZS11c2VkLiBNb3ZlCnRoZSByZS1wdXJw
b3NlZCBkZWRpY2F0ZWQgWFNNIGNoZWNrcyBhcyBlYXJseSBhcyBwb3NzaWJs
ZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
Um9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkFja2Vk
LWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9u
cy5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVu
L2FyY2gveDg2L2RvbWN0bC5jCkBAIC0yMzMsMTIgKzIzMywxNyBAQCBsb25n
IGFyY2hfZG9fZG9tY3RsKAogICAgICAgICB1bnNpZ25lZCBpbnQgbnAgPSBk
b21jdGwtPnUuaW9wb3J0X3Blcm1pc3Npb24ubnJfcG9ydHM7CiAgICAgICAg
IGludCBhbGxvdyA9IGRvbWN0bC0+dS5pb3BvcnRfcGVybWlzc2lvbi5hbGxv
d19hY2Nlc3M7CiAKKyAgICAgICAgcmV0ID0gLUVJTlZBTDsKKyAgICAgICAg
aWYgKCAoZnAgKyBucCkgPD0gZnAgfHwgKGZwICsgbnApID4gTUFYX0lPUE9S
VFMgKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgcmV0ID0geHNt
X2lvcG9ydF9wZXJtaXNzaW9uKFhTTV9QUklWLCBkLCBmcCwgZnAgKyBucCAt
IDEsIGFsbG93KTsKKyAgICAgICAgaWYgKCByZXQgKQorICAgICAgICAgICAg
YnJlYWs7CisKICAgICAgICAgaW9jYXBzX2RvdWJsZV9sb2NrKGQsIHRydWUp
OwogCi0gICAgICAgIGlmICggKGZwICsgbnApIDw9IGZwIHx8IChmcCArIG5w
KSA+IE1BWF9JT1BPUlRTICkKLSAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7
Ci0gICAgICAgIGVsc2UgaWYgKCAhaW9wb3J0c19hY2Nlc3NfcGVybWl0dGVk
KGN1cnJkLCBmcCwgZnAgKyBucCAtIDEpIHx8Ci0gICAgICAgICAgICAgICAg
ICB4c21faW9wb3J0X3Blcm1pc3Npb24oWFNNX0hPT0ssIGQsIGZwLCBmcCAr
IG5wIC0gMSwgYWxsb3cpICkKKyAgICAgICAgaWYgKCAhaW9wb3J0c19hY2Nl
c3NfcGVybWl0dGVkKGN1cnJkLCBmcCwgZnAgKyBucCAtIDEpICkKICAgICAg
ICAgICAgIHJldCA9IC1FUEVSTTsKICAgICAgICAgZWxzZSBpZiAoIGFsbG93
ICkKICAgICAgICAgICAgIHJldCA9IGlvcG9ydHNfcGVybWl0X2FjY2Vzcyhk
LCBmcCwgZnAgKyBucCAtIDEpOwotLS0gYS94ZW4vY29tbW9uL2RvbWN0bC5j
CisrKyBiL3hlbi9jb21tb24vZG9tY3RsLmMKQEAgLTM3Niw2ICszNzYsMzQg
QEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQog
ICAgICAgICAgICAgY29weWJhY2sgPSB0cnVlOwogICAgICAgICBnb3RvIGRv
bWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CiAKKyAgICBjYXNlIFhFTl9ET01D
VExfaW9tZW1fcGVybWlzc2lvbjoKKyAgICB7CisgICAgICAgIHVuc2lnbmVk
IGxvbmcgbWZuID0gb3AtPnUuaW9tZW1fcGVybWlzc2lvbi5maXJzdF9tZm47
CisgICAgICAgIHVuc2lnbmVkIGxvbmcgbnJfbWZucyA9IG9wLT51LmlvbWVt
X3Blcm1pc3Npb24ubnJfbWZuczsKKyAgICAgICAgYm9vbCBhbGxvdyA9IG9w
LT51LmlvbWVtX3Blcm1pc3Npb24uYWxsb3dfYWNjZXNzOworCisgICAgICAg
IHJldCA9IC1FSU5WQUw7CisgICAgICAgIGlmICggKG1mbiArIG5yX21mbnMg
LSAxKSA8IG1mbiApIC8qIFdyYXA/ICovCisgICAgICAgICAgICBnb3RvIGRv
bWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CisKKyAgICAgICAgcmV0ID0geHNt
X2lvbWVtX3Blcm1pc3Npb24oWFNNX1BSSVYsIGQsIG1mbiwgbWZuICsgbnJf
bWZucyAtIDEsIGFsbG93KTsKKyAgICAgICAgaWYgKCByZXQgKQorICAgICAg
ICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5OworCisgICAg
ICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCB0cnVlKTsKKworICAgICAgICBp
ZiAoICFpb21lbV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJlbnQtPmRvbWFpbiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZm4sIG1m
biArIG5yX21mbnMgLSAxKSApCisgICAgICAgICAgICByZXQgPSAtRVBFUk07
CisgICAgICAgIGVsc2UgaWYgKCBhbGxvdyApCisgICAgICAgICAgICByZXQg
PSBpb21lbV9wZXJtaXRfYWNjZXNzKGQsIG1mbiwgbWZuICsgbnJfbWZucyAt
IDEpOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXQgPSBpb21lbV9k
ZW55X2FjY2VzcyhkLCBtZm4sIG1mbiArIG5yX21mbnMgLSAxKTsKKworICAg
ICAgICBpb2NhcHNfZG91YmxlX3VubG9jayhkLCB0cnVlKTsKKyAgICAgICAg
Z290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5OworICAgIH0KKwogICAg
IGNhc2UgWEVOX0RPTUNUTF9tZW1vcnlfbWFwcGluZzoKICAgICB7CiAgICAg
ICAgIHVuc2lnbmVkIGxvbmcgZ2ZuID0gb3AtPnUubWVtb3J5X21hcHBpbmcu
Zmlyc3RfZ2ZuOwpAQCAtNDM2LDYgKzQ2NCw3IEBAIGxvbmcgZG9fZG9tY3Rs
KFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICAgICAgZ290byBkb21j
dGxfb3V0X3VubG9ja19kb21vbmx5OwogICAgIH0KIAorICAgIGNhc2UgWEVO
X0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9ET01D
VExfaW9wb3J0X21hcHBpbmc6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2JpbmRf
cHRfaXJxOgogICAgIGNhc2UgWEVOX0RPTUNUTF91bmJpbmRfcHRfaXJxOgpA
QCAtNzc3LDMxICs4MDYsNiBAQCBsb25nIGRvX2RvbWN0bChYRU5fR1VFU1Rf
SEFORExFX1BBUkFNKHhlCiAgICAgfQogI2VuZGlmCiAKLSAgICBjYXNlIFhF
Tl9ET01DVExfaW9tZW1fcGVybWlzc2lvbjoKLSAgICB7Ci0gICAgICAgIHVu
c2lnbmVkIGxvbmcgbWZuID0gb3AtPnUuaW9tZW1fcGVybWlzc2lvbi5maXJz
dF9tZm47Ci0gICAgICAgIHVuc2lnbmVkIGxvbmcgbnJfbWZucyA9IG9wLT51
LmlvbWVtX3Blcm1pc3Npb24ubnJfbWZuczsKLSAgICAgICAgaW50IGFsbG93
ID0gb3AtPnUuaW9tZW1fcGVybWlzc2lvbi5hbGxvd19hY2Nlc3M7Ci0KLSAg
ICAgICAgcmV0ID0gLUVJTlZBTDsKLSAgICAgICAgaWYgKCAobWZuICsgbnJf
bWZucyAtIDEpIDwgbWZuICkgLyogd3JhcD8gKi8KLSAgICAgICAgICAgIGJy
ZWFrOwotCi0gICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCB0cnVlKTsK
LQotICAgICAgICBpZiAoICFpb21lbV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJl
bnQtPmRvbWFpbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtZm4sIG1mbiArIG5yX21mbnMgLSAxKSB8fAotICAgICAgICAgICAg
IHhzbV9pb21lbV9wZXJtaXNzaW9uKFhTTV9IT09LLCBkLCBtZm4sIG1mbiAr
IG5yX21mbnMgLSAxLCBhbGxvdykgKQotICAgICAgICAgICAgcmV0ID0gLUVQ
RVJNOwotICAgICAgICBlbHNlIGlmICggYWxsb3cgKQotICAgICAgICAgICAg
cmV0ID0gaW9tZW1fcGVybWl0X2FjY2VzcyhkLCBtZm4sIG1mbiArIG5yX21m
bnMgLSAxKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcmV0ID0gaW9t
ZW1fZGVueV9hY2Nlc3MoZCwgbWZuLCBtZm4gKyBucl9tZm5zIC0gMSk7Ci0K
LSAgICAgICAgaW9jYXBzX2RvdWJsZV91bmxvY2soZCwgdHJ1ZSk7Ci0gICAg
ICAgIGJyZWFrOwotICAgIH0KLQogICAgIGNhc2UgWEVOX0RPTUNUTF9zZXR0
aW1lb2Zmc2V0OgogICAgICAgICBkb21haW5fc2V0X3RpbWVfb2Zmc2V0KGQs
IG9wLT51LnNldHRpbWVvZmZzZXQudGltZV9vZmZzZXRfc2Vjb25kcyk7CiAg
ICAgICAgIGJyZWFrOwotLS0gYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAor
KysgYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTcwLDcgKzE3MCw5
IEBAIHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZG9tY3QK
ICAgICBjYXNlIFhFTl9ET01DVExfYmluZF9wdF9pcnE6CiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2dldGRvbWFpbmluZm86CiAgICAgY2FzZSBYRU5fRE9NQ1RM
X2dldF9kb21haW5fc3RhdGU6CisgICAgY2FzZSBYRU5fRE9NQ1RMX2lvbWVt
X3Blcm1pc3Npb246CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBw
aW5nOgorICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbjoK
ICAgICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAgICAgY2Fz
ZSBYRU5fRE9NQ1RMX3VuYmluZF9wdF9pcnE6CiAgICAgICAgIEFTU0VSVF9V
TlJFQUNIQUJMRSgpOwpAQCAtNTY3LDcgKzU2OSw3IEBAIHN0YXRpYyBYU01f
SU5MSU5FIGludCBjZl9jaGVjayB4c21faXJxX3AKIHN0YXRpYyBYU01fSU5M
SU5FIGludCBjZl9jaGVjayB4c21faW9tZW1fcGVybWlzc2lvbigKICAgICBY
U01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgdWludDY0X3Qgcywg
dWludDY0X3QgZSwgdWludDhfdCBhbGxvdykKIHsKLSAgICBYU01fQVNTRVJU
X0FDVElPTihYU01fSE9PSyk7CisgICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNN
X1BSSVYpOwogICAgIHJldHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9u
LCBjdXJyZW50LT5kb21haW4sIGQpOwogfQogCkBAIC03NjMsNyArNzY1LDcg
QEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9wcml2Xwog
c3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9pb3BvcnRfcGVy
bWlzc2lvbigKICAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAq
ZCwgdWludDMyX3QgcywgdWludDMyX3QgZSwgdWludDhfdCBhbGxvdykKIHsK
LSAgICBYU01fQVNTRVJUX0FDVElPTihYU01fSE9PSyk7CisgICAgWFNNX0FT
U0VSVF9BQ1RJT04oWFNNX1BSSVYpOwogICAgIHJldHVybiB4c21fZGVmYXVs
dF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5kb21haW4sIGQpOwogfQogCi0t
LSBhL3hlbi94c20vZmxhc2svaG9va3MuYworKysgYi94ZW4veHNtL2ZsYXNr
L2hvb2tzLmMKQEAgLTY4Niw3ICs2ODYsOSBAQCBzdGF0aWMgaW50IGNmX2No
ZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICBjYXNlIFhFTl9ET01DVExf
YmluZF9wdF9pcnE6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2dldGRvbWFpbmlu
Zm86CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2dldF9kb21haW5fc3RhdGU6Cisg
ICAgY2FzZSBYRU5fRE9NQ1RMX2lvbWVtX3Blcm1pc3Npb246CiAgICAgY2Fz
ZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nOgorICAgIGNhc2UgWEVOX0RP
TUNUTF9pb3BvcnRfcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9ET01DVExf
bWVtb3J5X21hcHBpbmc6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmluZF9w
dF9pcnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwpAQCAtNjk1
LDE0ICs2OTcsMTIgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21j
dGwoc3RydWN0CiAgICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBo
b29rcyAoY29tbW9uL2RvbWN0bC5jKSAqLwogICAgIGNhc2UgWEVOX0RPTUNU
TF9zY2hlZHVsZXJfb3A6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lycV9wZXJt
aXNzaW9uOgotICAgIGNhc2UgWEVOX0RPTUNUTF9pb21lbV9wZXJtaXNzaW9u
OgogICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRfdGFyZ2V0OgogICAgIGNhc2Ug
WEVOX0RPTUNUTF92bV9ldmVudF9vcDoKIAogI2lmZGVmIENPTkZJR19YODYK
ICAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzIChhcmNo
L3g4Ni9kb21jdGwuYykgKi8KICAgICBjYXNlIFhFTl9ET01DVExfc2hhZG93
X29wOgotICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbjoK
ICAgICBjYXNlIFhFTl9ET01DVExfZ3NpX3Blcm1pc3Npb246CiAjZW5kaWYK
ICNpZmRlZiBDT05GSUdfSEFTX1BBU1NUSFJPVUdICg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.21-13.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.21-13.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX3tpcnEsZ3NpfV9wZXJtaXNz
aW9uIHdpdGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRlZGlj
YXRlZCBsb2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3QgcmVx
dWlyZWQgaGVyZSBhbnltb3JlLgpBcyB0aGUgR1NJIGhhbmRsaW5nIGlzIGlu
IGFyY2gtc3BlY2lmaWMgY29kZSAoeDg2IG9ubHkpLCBubyBjb2RlIGlzIGJl
aW5nCm1vdmVkIHRoZXJlOyB0aGUgMm5kIGludm9jYXRpb24gb2YgYXJjaF9k
b19kb21jdGwoKSBpcyByZS11c2VkLiBNb3ZlIHRoZQpyZS1wdXJwb3NlZCAo
WFNNX0hPT0sgLT4gWFNNX1BSSVYsIGFzIHhzbV9kb21jdGwoKSBpcyBub3cg
YnlwYXNzZWQpCmRlZGljYXRlZCBYU00gY2hlY2tzIGFzIGVhcmx5IGFzIHBv
c3NpYmxlLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIuCgpTaWduZWQtb2Zm
LWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkFja2VkLWJ5
OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5j
b20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVA
Y2l0cml4LmNvbT4KCi0tLSBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYworKysg
Yi94ZW4vYXJjaC94ODYvZG9tY3RsLmMKQEAgLTI3MiwxMCArMjcyLDEzIEBA
IGxvbmcgYXJjaF9kb19kb21jdGwoCiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgfQogCisgICAgICAgIHJldCA9IHhzbV9pcnFfcGVybWlzc2lvbihY
U01fUFJJViwgZCwgaXJxLCBmbGFncyk7CisgICAgICAgIGlmICggcmV0ICkK
KyAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAgIGlvY2Fwc19kb3VibGVf
bG9jayhkLCB0cnVlKTsKIAotICAgICAgICBpZiAoICFpcnFfYWNjZXNzX3Bl
cm1pdHRlZChjdXJyZCwgaXJxKSB8fAotICAgICAgICAgICAgIHhzbV9pcnFf
cGVybWlzc2lvbihYU01fSE9PSywgZCwgaXJxLCBmbGFncykgKQorICAgICAg
ICBpZiAoICFpcnFfYWNjZXNzX3Blcm1pdHRlZChjdXJyZCwgaXJxKSApCiAg
ICAgICAgICAgICByZXQgPSAtRVBFUk07CiAgICAgICAgIGVsc2UgaWYgKCBm
bGFncyApCiAgICAgICAgICAgICByZXQgPSBpcnFfcGVybWl0X2FjY2Vzcyhk
LCBpcnEpOwotLS0gYS94ZW4vY29tbW9uL2RvbWN0bC5jCisrKyBiL3hlbi9j
b21tb24vZG9tY3RsLmMKQEAgLTQ2NCw4ICs0NjQsNDEgQEAgbG9uZyBkb19k
b21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICBnb3Rv
IGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CiAgICAgfQogCisjaWZkZWYg
Q09ORklHX0hBU19QSVJRCisgICAgY2FzZSBYRU5fRE9NQ1RMX2lycV9wZXJt
aXNzaW9uOgorICAgIHsKKyAgICAgICAgdW5zaWduZWQgaW50IHBpcnEgPSBv
cC0+dS5pcnFfcGVybWlzc2lvbi5waXJxLCBpcnE7CisgICAgICAgIGJvb2wg
YWxsb3cgPSBvcC0+dS5pcnFfcGVybWlzc2lvbi5hbGxvd19hY2Nlc3M7CisK
KyAgICAgICAgcmV0ID0gLUVJTlZBTDsKKyAgICAgICAgaWYgKCBwaXJxID49
IGN1cnJlbnQtPmRvbWFpbi0+bnJfcGlycXMgKQorICAgICAgICAgICAgZ290
byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5OworCisgICAgICAgIGlycSA9
IGRvbWFpbl9waXJxX3RvX2lycShjdXJyZW50LT5kb21haW4sIHBpcnEpOwor
CisgICAgICAgIHJldCA9IC1FUEVSTTsKKyAgICAgICAgaWYgKCBpcnEgKQor
ICAgICAgICAgICAgcmV0ID0geHNtX2lycV9wZXJtaXNzaW9uKFhTTV9QUklW
LCBkLCBpcnEsIGFsbG93KTsKKyAgICAgICAgaWYgKCByZXQgKQorICAgICAg
ICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5OworCisgICAg
ICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCB0cnVlKTsKKworICAgICAgICBp
ZiAoICFpcnFfYWNjZXNzX3Blcm1pdHRlZChjdXJyZW50LT5kb21haW4sIGly
cSkgKQorICAgICAgICAgICAgcmV0ID0gLUVQRVJNOworICAgICAgICBlbHNl
IGlmICggYWxsb3cgKQorICAgICAgICAgICAgcmV0ID0gaXJxX3Blcm1pdF9h
Y2Nlc3MoZCwgaXJxKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0
ID0gaXJxX2RlbnlfYWNjZXNzKGQsIGlycSk7CisKKyAgICAgICAgaW9jYXBz
X2RvdWJsZV91bmxvY2soZCwgdHJ1ZSk7CisgICAgICAgIGdvdG8gZG9tY3Rs
X291dF91bmxvY2tfZG9tb25seTsKKyAgICB9CisjZW5kaWYKKwogICAgIGNh
c2UgWEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbjoKICAgICBjYXNlIFhF
Tl9ET01DVExfaW9wb3J0X21hcHBpbmc6CisgICAgY2FzZSBYRU5fRE9NQ1RM
X2dzaV9wZXJtaXNzaW9uOgogICAgIGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0
X2lycToKICAgICBjYXNlIFhFTl9ET01DVExfdW5iaW5kX3B0X2lycToKICAg
ICAgICAgcmV0ID0gYXJjaF9kb19kb21jdGwob3AsIGQsIHVfZG9tY3RsKTsK
QEAgLTc3OSwzMyArODEyLDYgQEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNU
X0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwog
Ci0jaWZkZWYgQ09ORklHX0hBU19QSVJRCi0gICAgY2FzZSBYRU5fRE9NQ1RM
X2lycV9wZXJtaXNzaW9uOgotICAgIHsKLSAgICAgICAgdW5zaWduZWQgaW50
IHBpcnEgPSBvcC0+dS5pcnFfcGVybWlzc2lvbi5waXJxLCBpcnE7Ci0gICAg
ICAgIGludCBhbGxvdyA9IG9wLT51LmlycV9wZXJtaXNzaW9uLmFsbG93X2Fj
Y2VzczsKLQotICAgICAgICBpZiAoIHBpcnEgPj0gY3VycmVudC0+ZG9tYWlu
LT5ucl9waXJxcyApCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldCA9IC1F
SU5WQUw7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotCi0gICAg
ICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCB0cnVlKTsKLQotICAgICAgICBp
cnEgPSBwaXJxX2FjY2Vzc19wZXJtaXR0ZWQoY3VycmVudC0+ZG9tYWluLCBw
aXJxKTsKLSAgICAgICAgaWYgKCAhaXJxIHx8IHhzbV9pcnFfcGVybWlzc2lv
bihYU01fSE9PSywgZCwgaXJxLCBhbGxvdykgKQotICAgICAgICAgICAgcmV0
ID0gLUVQRVJNOwotICAgICAgICBlbHNlIGlmICggYWxsb3cgKQotICAgICAg
ICAgICAgcmV0ID0gaXJxX3Blcm1pdF9hY2Nlc3MoZCwgaXJxKTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgcmV0ID0gaXJxX2RlbnlfYWNjZXNzKGQs
IGlycSk7Ci0KLSAgICAgICAgaW9jYXBzX2RvdWJsZV91bmxvY2soZCwgdHJ1
ZSk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSNlbmRpZgotCiAgICAgY2Fz
ZSBYRU5fRE9NQ1RMX3NldHRpbWVvZmZzZXQ6CiAgICAgICAgIGRvbWFpbl9z
ZXRfdGltZV9vZmZzZXQoZCwgb3AtPnUuc2V0dGltZW9mZnNldC50aW1lX29m
ZnNldF9zZWNvbmRzKTsKICAgICAgICAgYnJlYWs7Ci0tLSBhL3hlbi9pbmNs
dWRlL3hzbS9kdW1teS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5o
CkBAIC0xNzAsOSArMTcwLDExIEBAIHN0YXRpYyBYU01fSU5MSU5FIGludCBj
Zl9jaGVjayB4c21fZG9tY3QKICAgICBjYXNlIFhFTl9ET01DVExfYmluZF9w
dF9pcnE6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2dldGRvbWFpbmluZm86CiAg
ICAgY2FzZSBYRU5fRE9NQ1RMX2dldF9kb21haW5fc3RhdGU6CisgICAgY2Fz
ZSBYRU5fRE9NQ1RMX2dzaV9wZXJtaXNzaW9uOgogICAgIGNhc2UgWEVOX0RP
TUNUTF9pb21lbV9wZXJtaXNzaW9uOgogICAgIGNhc2UgWEVOX0RPTUNUTF9p
b3BvcnRfbWFwcGluZzoKICAgICBjYXNlIFhFTl9ET01DVExfaW9wb3J0X3Bl
cm1pc3Npb246CisgICAgY2FzZSBYRU5fRE9NQ1RMX2lycV9wZXJtaXNzaW9u
OgogICAgIGNhc2UgWEVOX0RPTUNUTF9tZW1vcnlfbWFwcGluZzoKICAgICBj
YXNlIFhFTl9ET01DVExfdW5iaW5kX3B0X2lycToKICAgICAgICAgQVNTRVJU
X1VOUkVBQ0hBQkxFKCk7CkBAIC01NjIsNyArNTY0LDcgQEAgc3RhdGljIFhT
TV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV91bm1hcAogc3RhdGljIFhTTV9J
TkxJTkUgaW50IGNmX2NoZWNrIHhzbV9pcnFfcGVybWlzc2lvbigKICAgICBY
U01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgaW50IHBpcnEsIHVp
bnQ4X3QgYWxsb3cpCiB7Ci0gICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX0hP
T0spOworICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9QUklWKTsKICAgICBy
ZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9t
YWluLCBkKTsKIH0KIAotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysr
IGIveGVuL3hzbS9mbGFzay9ob29rcy5jCkBAIC02ODYsOSArNjg2LDExIEBA
IHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAogICAg
IGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToKICAgICBjYXNlIFhFTl9E
T01DVExfZ2V0ZG9tYWluaW5mbzoKICAgICBjYXNlIFhFTl9ET01DVExfZ2V0
X2RvbWFpbl9zdGF0ZToKKyAgICBjYXNlIFhFTl9ET01DVExfZ3NpX3Blcm1p
c3Npb246CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvbWVtX3Blcm1pc3Npb246
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nOgogICAgIGNh
c2UgWEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbjoKKyAgICBjYXNlIFhF
Tl9ET01DVExfaXJxX3Blcm1pc3Npb246CiAgICAgY2FzZSBYRU5fRE9NQ1RM
X21lbW9yeV9tYXBwaW5nOgogICAgIGNhc2UgWEVOX0RPTUNUTF91bmJpbmRf
cHRfaXJxOgogICAgICAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKQEAgLTY5
NiwxNCArNjk4LDEyIEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9t
Y3RsKHN0cnVjdAogCiAgICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhT
TSBob29rcyAoY29tbW9uL2RvbWN0bC5jKSAqLwogICAgIGNhc2UgWEVOX0RP
TUNUTF9zY2hlZHVsZXJfb3A6Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2lycV9w
ZXJtaXNzaW9uOgogICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRfdGFyZ2V0Ogog
ICAgIGNhc2UgWEVOX0RPTUNUTF92bV9ldmVudF9vcDoKIAogI2lmZGVmIENP
TkZJR19YODYKICAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhv
b2tzIChhcmNoL3g4Ni9kb21jdGwuYykgKi8KICAgICBjYXNlIFhFTl9ET01D
VExfc2hhZG93X29wOgotICAgIGNhc2UgWEVOX0RPTUNUTF9nc2lfcGVybWlz
c2lvbjoKICNlbmRpZgogI2lmZGVmIENPTkZJR19IQVNfUEFTU1RIUk9VR0gK
ICAgICAvKgo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.21-14.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.21-14.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHZtX2V2ZW50X2NvbnRyb2wgaG9vawoKSW50
ZWdyYXRlIHRoZSBjaGVja2luZyB3aXRoIHhzbV9kb21jdGwoKS4gQ2FyZSBu
ZWVkcyB0byBiZSB0YWtlbiB3aXRoIHRoZQpHRVRfVkVSU0lPTiBzdWItb3As
IHdoaWNoIG1heSBiZSBpbnZva2VkIHdpdGggRE9NSURfSU5WQUxJRCwgYW5k
IHdoaWNoIGhhcwpiZWVuIChhbmQgY29udGludWVzIHRvIGJlKSBieXBhc3Np
bmcgWFNNIGNoZWNraW5nLgoKU2luY2UgdGhlIGxhdHRlciB0d28gcGFyYW1l
dGVycyB3ZXJlIHVudXNlZCwgbW9uaXRvcl9kb21jdGwoKSBpbnZva2luZyB0
aGUKaG9vayB3YXMgYWN0dWFsbHkgcmVkdW5kYW50IHdpdGggdGhlIGVhcmxp
ZXIgeHNtX2RvbWN0bCgpIChhcyBjYW4gYmUgc2VlbgpuaWNlbHkgZnJvbSB0
aGUgaHVua3MgY2hhbmdpbmcgeHNtL2ZsYXNrL2hvb2tzLmMpLgoKQXMgYSBw
b3NpdGl2ZSBzaWRlIGVmZmVjdCwgcGVybWlzc2lvbnMgYXJlIHRoZW4gY2hl
Y2tlZCBhdCB0aGUgc2FtZSBlYXJseQpwb2ludCB3aXRoIGFuZCB3aXRob3V0
IEZsYXNrLgoKV2hpbGUgZm9sZGluZyBYRU5fRE9NQ1RMX21vbml0b3Jfb3Ag
YW5kIFhFTl9ET01DVExfdm1fZXZlbnRfb3AgaW4KZmxhc2tfZG9tY3RsKCks
IGFsc28gZm9sZCBpbiBYRU5fRE9NQ1RMX3NldF9hY2Nlc3NfcmVxdWlyZWQu
CgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4KClNpZ25lZC1vZmYtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQWNrZWQtYnk6IERhbmll
bCBQLiBTbWl0aCA8ZHBzbWl0aEBhcGVydHVzc29sdXRpb25zLmNvbT4KUmV2
aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXgu
Y29tPgoKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYworKysgYi94ZW4vY29t
bW9uL2RvbWN0bC5jCkBAIC00OTYsNiArNDk2LDIzIEBAIGxvbmcgZG9fZG9t
Y3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICB9CiAjZW5kaWYK
IAorICAgIGNhc2UgWEVOX0RPTUNUTF92bV9ldmVudF9vcDoKKyAgICAgICAg
aWYgKCBvcC0+dS52bV9ldmVudF9vcC5vcCA9PSBYRU5fVk1fRVZFTlRfR0VU
X1ZFUlNJT04gKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBObyBYU00g
Y2hlY2sgKGFuZCBwb3RlbnRpYWxseSBkID09IE5VTEwpIGhlcmUuICovCisg
ICAgICAgICAgICByZXQgPSB2bV9ldmVudF9kb21jdGwoZCwgJm9wLT51LnZt
X2V2ZW50X29wKTsKKyAgICAgICAgICAgIGlmICggIXJldCApCisgICAgICAg
ICAgICAgICAgY29weWJhY2sgPSB0cnVlOworICAgICAgICAgICAgZ290byBk
b21jdGxfb3V0X3VubG9ja19kb21vbmx5OworICAgICAgICB9CisgICAgICAg
IGlmICggIWQgKQorICAgICAgICB7CisgICAgICAgICAgICByZXQgPSAtRVNS
Q0g7CisgICAgICAgICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9u
bHk7CisgICAgICAgIH0KKyAgICAgICAgLyogT3RoZXIgc3ViLW9wcyBoYW5k
bGVkIGZ1cnRoZXIgZG93bi4gKi8KKyAgICAgICAgYnJlYWs7CisKICAgICBj
YXNlIFhFTl9ET01DVExfaW9wb3J0X3Blcm1pc3Npb246CiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nOgogICAgIGNhc2UgWEVOX0RPTUNU
TF9nc2lfcGVybWlzc2lvbjoKLS0tIGEveGVuL2NvbW1vbi9tb25pdG9yLmMK
KysrIGIveGVuL2NvbW1vbi9tb25pdG9yLmMKQEAgLTMwLDE2ICszMCwxMSBA
QAogCiBpbnQgbW9uaXRvcl9kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgc3Ry
dWN0IHhlbl9kb21jdGxfbW9uaXRvcl9vcCAqbW9wKQogewotICAgIGludCBy
YzsKICAgICBib29sIHJlcXVlc3RlZF9zdGF0dXMgPSBmYWxzZTsKIAogICAg
IGlmICggdW5saWtlbHkoY3VycmVudC0+ZG9tYWluID09IGQpICkgLyogbm8g
ZG9tYWluX3BhdXNlKCkgKi8KICAgICAgICAgcmV0dXJuIC1FUEVSTTsKIAot
ICAgIHJjID0geHNtX3ZtX2V2ZW50X2NvbnRyb2woWFNNX1BSSVYsIGQsIG1v
cC0+b3AsIG1vcC0+ZXZlbnQpOwotICAgIGlmICggdW5saWtlbHkocmMpICkK
LSAgICAgICAgcmV0dXJuIHJjOwotCiAgICAgc3dpdGNoICggbW9wLT5vcCAp
CiAgICAgewogICAgIGNhc2UgWEVOX0RPTUNUTF9NT05JVE9SX09QX0VOQUJM
RToKLS0tIGEveGVuL2NvbW1vbi92bV9ldmVudC5jCisrKyBiL3hlbi9jb21t
b24vdm1fZXZlbnQuYwpAQCAtNjAzLDExICs2MDMsMTAgQEAgaW50IHZtX2V2
ZW50X2RvbWN0bChzdHJ1Y3QgZG9tYWluICpkLCBzdAogCiAgICAgLyogQWxs
IG90aGVyIHN1Ym9wcyBuZWVkIHRvIHRhcmdldCBhIHJlYWwgZG9tYWluLiAq
LwogICAgIGlmICggdW5saWtlbHkoZCA9PSBOVUxMKSApCi0gICAgICAgIHJl
dHVybiAtRVNSQ0g7Ci0KLSAgICByYyA9IHhzbV92bV9ldmVudF9jb250cm9s
KFhTTV9QUklWLCBkLCB2ZWMtPm1vZGUsIHZlYy0+b3ApOwotICAgIGlmICgg
cmMgKQotICAgICAgICByZXR1cm4gcmM7CisgICAgeworICAgICAgICBBU1NF
UlRfVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgcmV0dXJuIC1FSUxTRVE7Cisg
ICAgfQogCiAgICAgaWYgKCB1bmxpa2VseShkID09IGN1cnJlbnQtPmRvbWFp
bikgKSAvKiBubyBkb21haW5fcGF1c2UoKSAqLwogICAgIHsKLS0tIGEveGVu
L2luY2x1ZGUveHNtL2R1bW15LmgKKysrIGIveGVuL2luY2x1ZGUveHNtL2R1
bW15LmgKQEAgLTY1MiwxMyArNjUyLDYgQEAgc3RhdGljIFhTTV9JTkxJTkUg
aW50IGNmX2NoZWNrIHhzbV9odm1fYQogICAgIH0KIH0KIAotc3RhdGljIFhT
TV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV92bV9ldmVudF9jb250cm9sKAot
ICAgIFhTTV9ERUZBVUxUX0FSRyBzdHJ1Y3QgZG9tYWluICpkLCBpbnQgbW9k
ZSwgaW50IG9wKQotewotICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9QUklW
KTsKLSAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3Vy
cmVudC0+ZG9tYWluLCBkKTsKLX0KLQogI2lmZGVmIENPTkZJR19WTV9FVkVO
VAogc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9tZW1fYWNj
ZXNzKFhTTV9ERUZBVUxUX0FSRyBzdHJ1Y3QgZG9tYWluICpkKQogewotLS0g
YS94ZW4vaW5jbHVkZS94c20veHNtLmgKKysrIGIveGVuL2luY2x1ZGUveHNt
L3hzbS5oCkBAIC0xNTcsOCArMTU3LDYgQEAgc3RydWN0IHhzbV9vcHMgewog
ICAgIGludCAoKmh2bV9hbHRwMm1odm1fb3ApKHN0cnVjdCBkb21haW4gKmQs
IHVpbnQ2NF90IG1vZGUsIHVpbnQzMl90IG9wKTsKICAgICBpbnQgKCpnZXRf
dm51bWFpbmZvKShzdHJ1Y3QgZG9tYWluICpkKTsKIAotICAgIGludCAoKnZt
X2V2ZW50X2NvbnRyb2wpKHN0cnVjdCBkb21haW4gKmQsIGludCBtb2RlLCBp
bnQgb3ApOwotCiAjaWZkZWYgQ09ORklHX1ZNX0VWRU5UCiAgICAgaW50ICgq
bWVtX2FjY2Vzcykoc3RydWN0IGRvbWFpbiAqZCk7CiAjZW5kaWYKQEAgLTY1
NywxMiArNjU1LDYgQEAgc3RhdGljIGlubGluZSBpbnQgeHNtX2dldF92bnVt
YWluZm8oeHNtXwogICAgIHJldHVybiBhbHRlcm5hdGl2ZV9jYWxsKHhzbV9v
cHMuZ2V0X3ZudW1haW5mbywgZCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50
IHhzbV92bV9ldmVudF9jb250cm9sKAotICAgIHhzbV9kZWZhdWx0X3QgZGVm
LCBzdHJ1Y3QgZG9tYWluICpkLCBpbnQgbW9kZSwgaW50IG9wKQotewotICAg
IHJldHVybiBhbHRlcm5hdGl2ZV9jYWxsKHhzbV9vcHMudm1fZXZlbnRfY29u
dHJvbCwgZCwgbW9kZSwgb3ApOwotfQotCiAjaWZkZWYgQ09ORklHX1ZNX0VW
RU5UCiBzdGF0aWMgaW5saW5lIGludCB4c21fbWVtX2FjY2Vzcyh4c21fZGVm
YXVsdF90IGRlZiwgc3RydWN0IGRvbWFpbiAqZCkKIHsKLS0tIGEveGVuL3hz
bS9kdW1teS5jCisrKyBiL3hlbi94c20vZHVtbXkuYwpAQCAtMTE2LDggKzEx
Niw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeHNtX29wcyBfX2luaXRjb25z
dF8KICAgICAucmVtb3ZlX2Zyb21fcGh5c21hcCAgICAgICAgICAgPSB4c21f
cmVtb3ZlX2Zyb21fcGh5c21hcCwKICAgICAubWFwX2dtZm5fZm9yZWlnbiAg
ICAgICAgICAgICAgPSB4c21fbWFwX2dtZm5fZm9yZWlnbiwKIAotICAgIC52
bV9ldmVudF9jb250cm9sICAgICAgICAgICAgICA9IHhzbV92bV9ldmVudF9j
b250cm9sLAotCiAjaWZkZWYgQ09ORklHX1ZNX0VWRU5UCiAgICAgLm1lbV9h
Y2Nlc3MgICAgICAgICAgICAgICAgICAgID0geHNtX21lbV9hY2Nlc3MsCiAj
ZW5kaWYKLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5jCisrKyBiL3hlbi94
c20vZmxhc2svaG9va3MuYwpAQCAtNjk5LDcgKzY5OSw2IEBAIHN0YXRpYyBp
bnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAogICAgIC8qIFRoZXNl
IGhhdmUgaW5kaXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9kb21jdGwuYykg
Ki8KICAgICBjYXNlIFhFTl9ET01DVExfc2NoZWR1bGVyX29wOgogICAgIGNh
c2UgWEVOX0RPTUNUTF9zZXRfdGFyZ2V0OgotICAgIGNhc2UgWEVOX0RPTUNU
TF92bV9ldmVudF9vcDoKIAogI2lmZGVmIENPTkZJR19YODYKICAgICAvKiBU
aGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzIChhcmNoL3g4Ni9kb21j
dGwuYykgKi8KQEAgLTc5Myw5ICs3OTIsOCBAQCBzdGF0aWMgaW50IGNmX2No
ZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICAgICAgcmV0dXJuIGN1cnJl
bnRfaGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9NQUlOLCBET01BSU5fX1RSSUdH
RVIpOwogCiAgICAgY2FzZSBYRU5fRE9NQ1RMX3NldF9hY2Nlc3NfcmVxdWly
ZWQ6Ci0gICAgICAgIHJldHVybiBjdXJyZW50X2hhc19wZXJtKGQsIFNFQ0NM
QVNTX0RPTUFJTjIsIERPTUFJTjJfX1ZNX0VWRU5UKTsKLQogICAgIGNhc2Ug
WEVOX0RPTUNUTF9tb25pdG9yX29wOgorICAgIGNhc2UgWEVOX0RPTUNUTF92
bV9ldmVudF9vcDoKICAgICAgICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Blcm0o
ZCwgU0VDQ0xBU1NfRE9NQUlOMiwgRE9NQUlOMl9fVk1fRVZFTlQpOwogCiAg
ICAgY2FzZSBYRU5fRE9NQ1RMX2RlYnVnX29wOgpAQCAtMTM2OCwxMSArMTM2
Niw2IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfaHZtX2FsdHAybWh2
bV8KICAgICByZXR1cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUNDTEFTU19I
Vk0sIEhWTV9fQUxUUDJNSFZNX09QKTsKIH0KIAotc3RhdGljIGludCBjZl9j
aGVjayBmbGFza192bV9ldmVudF9jb250cm9sKHN0cnVjdCBkb21haW4gKmQs
IGludCBtb2RlLCBpbnQgb3ApCi17Ci0gICAgcmV0dXJuIGN1cnJlbnRfaGFz
X3Blcm0oZCwgU0VDQ0xBU1NfRE9NQUlOMiwgRE9NQUlOMl9fVk1fRVZFTlQp
OwotfQotCiAjaWZkZWYgQ09ORklHX1ZNX0VWRU5UCiBzdGF0aWMgaW50IGNm
X2NoZWNrIGZsYXNrX21lbV9hY2Nlc3Moc3RydWN0IGRvbWFpbiAqZCkKIHsK
QEAgLTE5NzEsOCArMTk2NCw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeHNt
X29wcyBfX2luaXRjb25zdF8KICAgICAuZG9feHNtX29wID0gZG9fZmxhc2tf
b3AsCiAgICAgLmdldF92bnVtYWluZm8gPSBmbGFza19nZXRfdm51bWFpbmZv
LAogCi0gICAgLnZtX2V2ZW50X2NvbnRyb2wgPSBmbGFza192bV9ldmVudF9j
b250cm9sLAotCiAjaWZkZWYgQ09ORklHX1ZNX0VWRU5UCiAgICAgLm1lbV9h
Y2Nlc3MgPSBmbGFza19tZW1fYWNjZXNzLAogI2VuZGlmCg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.21-15.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.21-15.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBwYXNzIGZ1bGwgc3RydWN0IHhlbl9kb21jdGwgdG8g
eHNtX2RvbWN0bCgpCgpTdWJzZXF1ZW50bHkgc29tZSBzdWItb3BzIHdpbGwg
d2FudCB0byBpbnNwZWN0IHRoZWlyIHN1Yi1zdWItb3BzLiBQbHVzCnRoaXMg
d2F5IHdlIGRvbid0IG5lZWQgdG8gcGFzcyBTU0lEcmVmIHNlcGFyYXRlbHkg
YW55bW9yZSBmb3IKZG9tYWluX2NyZWF0ZS4KClRoaXMgaXMgcGFydCBvZiBY
U0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRo
QGFwZXJ0dXNzb2x1dGlvbnMuY29tPgoKLS0tIGEveGVuL2FyY2gveDg2L21t
L3BhZ2luZy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYwpAQCAt
NzM1LDcgKzczNSw3IEBAIGxvbmcgZG9fcGFnaW5nX2RvbWN0bF9jb250KAog
ICAgIGlmICggZCA9PSBOVUxMICkKICAgICAgICAgcmV0dXJuIC1FU1JDSDsK
IAotICAgIHJldCA9IHhzbV9kb21jdGwoWFNNX09USEVSLCBkLCBvcC5jbWQs
IDAgLyogU1NJRHJlZiBub3QgYXBwbGljYWJsZSAqLyk7CisgICAgcmV0ID0g
eHNtX2RvbWN0bChYU01fT1RIRVIsIGQsICZvcCk7CiAgICAgaWYgKCAhcmV0
ICkKICAgICB7CiAgICAgICAgIGlmICggZG9tY3RsX2xvY2tfYWNxdWlyZSgp
ICkKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYworKysgYi94ZW4vY29tbW9u
L2RvbWN0bC5jCkBAIC01MjYsOSArNTI2LDcgQEAgbG9uZyBkb19kb21jdGwo
WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICBicmVhazsKICAg
ICB9CiAKLSAgICByZXQgPSB4c21fZG9tY3RsKFhTTV9PVEhFUiwgZCwgb3At
PmNtZCwKLSAgICAgICAgICAgICAgICAgICAgIC8qIFNTSURSZWYgb25seSBh
cHBsaWNhYmxlIGZvciBjbWQgPT0gY3JlYXRlZG9tYWluICovCi0gICAgICAg
ICAgICAgICAgICAgICBvcC0+dS5jcmVhdGVkb21haW4uc3NpZHJlZik7Cisg
ICAgcmV0ID0geHNtX2RvbWN0bChYU01fT1RIRVIsIGQsIG9wKTsKICAgICBp
ZiAoIHJldCApCiAgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9t
b25seTsKIAotLS0gYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAorKysgYi94
ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTYyLDEwICsxNjIsMTAgQEAg
c3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9zZXRfdAogfQog
CiBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX2RvbWN0bCgK
LSAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgdW5zaWdu
ZWQgaW50IGNtZCwgdWludDMyX3Qgc3NpZHJlZikKKyAgICBYU01fREVGQVVM
VF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHhlbl9kb21jdGwgKm9w
KQogewogICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9PVEhFUik7Ci0gICAg
c3dpdGNoICggY21kICkKKyAgICBzd2l0Y2ggKCBvcC0+Y21kICkKICAgICB7
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgogICAgIGNhc2Ug
WEVOX0RPTUNUTF9nZXRkb21haW5pbmZvOgotLS0gYS94ZW4vaW5jbHVkZS94
c20veHNtLmgKKysrIGIveGVuL2luY2x1ZGUveHNtL3hzbS5oCkBAIC02MSw3
ICs2MSw3IEBAIHN0cnVjdCB4c21fb3BzIHsKICAgICBpbnQgKCpzeXNjdGxf
c2NoZWR1bGVyX29wKShpbnQgb3ApOwogI2VuZGlmCiAgICAgaW50ICgqc2V0
X3RhcmdldCkoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGRvbWFpbiAqZSk7
Ci0gICAgaW50ICgqZG9tY3RsKShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25l
ZCBpbnQgY21kLCB1aW50MzJfdCBzc2lkcmVmKTsKKyAgICBpbnQgKCpkb21j
dGwpKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCB4ZW5fZG9tY3RsICpvcCk7
CiAgICAgaW50ICgqc3lzY3RsKShpbnQgY21kKTsKICAgICBpbnQgKCpyZWFk
Y29uc29sZSkodWludDMyX3QgY2xlYXIpOwogCkBAIC0yNjAsOSArMjYwLDkg
QEAgc3RhdGljIGlubGluZSBpbnQgeHNtX3NldF90YXJnZXQoCiB9CiAKIHN0
YXRpYyBpbmxpbmUgaW50IHhzbV9kb21jdGwoeHNtX2RlZmF1bHRfdCBkZWYs
IHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGludCBjbWQsIHVpbnQzMl90IHNzaWRyZWYpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsICpv
cCkKIHsKLSAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4c21fb3BzLmRv
bWN0bCwgZCwgY21kLCBzc2lkcmVmKTsKKyAgICByZXR1cm4gYWx0ZXJuYXRp
dmVfY2FsbCh4c21fb3BzLmRvbWN0bCwgZCwgb3ApOwogfQogCiBzdGF0aWMg
aW5saW5lIGludCB4c21fc3lzY3RsKHhzbV9kZWZhdWx0X3QgZGVmLCBpbnQg
Y21kKQotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIveGVuL3hz
bS9mbGFzay9ob29rcy5jCkBAIC02NjcsMTAgKzY2Nyw5IEBAIHN0YXRpYyBp
bnQgY2ZfY2hlY2sgZmxhc2tfc2V0X3RhcmdldChzdHIKICAgICByZXR1cm4g
cmM7CiB9CiAKLXN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0
cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBjbWQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzc2lkcmVmKQorc3Rh
dGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0IGRvbWFpbiAq
ZCwgc3RydWN0IHhlbl9kb21jdGwgKm9wKQogewotICAgIHN3aXRjaCAoIGNt
ZCApCisgICAgc3dpdGNoICggb3AtPmNtZCApCiAgICAgewogICAgIGNhc2Ug
WEVOX0RPTUNUTF9jcmVhdGVkb21haW46CiAgICAgICAgIC8qCkBAIC02ODAs
NyArNjc5LDggQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwo
c3RydWN0CiAgICAgICAgICAqIE5vdGUgdGhhdCBkIGlzIE5VTEwgYmVjYXVz
ZSB3ZSBoYXZlbid0IGV2ZW4gYWxsb2NhdGVkIG1lbW9yeSBmb3IgaXQKICAg
ICAgICAgICogdGhpcyBlYXJseSBpbiBYRU5fRE9NQ1RMX2NyZWF0ZWRvbWFp
bi4KICAgICAgICAgICovCi0gICAgICAgIHJldHVybiBhdmNfY3VycmVudF9o
YXNfcGVybShzc2lkcmVmLCBTRUNDTEFTU19ET01BSU4sIERPTUFJTl9fQ1JF
QVRFLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuIGF2Y19jdXJyZW50X2hhc19w
ZXJtKG9wLT51LmNyZWF0ZWRvbWFpbi5zc2lkcmVmLCBTRUNDTEFTU19ET01B
SU4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBET01B
SU5fX0NSRUFURSwgTlVMTCk7CiAKICAgICAvKiBUaGVzZSBoYXZlIGluZGl2
aWR1YWwgWFNNIGhvb2tzIGFuZCBkb24ndCBtYWtlIGl0IGhlcmUuICovCiAg
ICAgY2FzZSBYRU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgpAQCAtODU1LDcgKzg1
NSw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVj
dAogICAgICAgICByZXR1cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUNDTEFT
U19ET01BSU4yLCBET01BSU4yX19TRVRfTExDX0NPTE9SUyk7CiAKICAgICBk
ZWZhdWx0OgotICAgICAgICByZXR1cm4gYXZjX3Vua25vd25fcGVybWlzc2lv
bigiZG9tY3RsIiwgY21kKTsKKyAgICAgICAgcmV0dXJuIGF2Y191bmtub3du
X3Blcm1pc3Npb24oImRvbWN0bCIsIG9wLT5jbWQpOwogICAgIH0KIH0KIAo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.21-16.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.21-16.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHNjaGVkdWxlcl9vcCBob29rCgpJbnRlZ3Jh
dGUgdGhlIGNoZWNraW5nIHdpdGggeHNtX2RvbWN0bCgpLCBub3cgdGhhdCBp
dCBoYXMgdGhlIGZ1bGwgb3AKc3RydWN0IHBhc3NlZC4gQXMgYSBwb3NpdGl2
ZSBzaWRlIGVmZmVjdCwgcGVybWlzc2lvbnMgYXJlIHRoZW4gY2hlY2tlZCBh
dAp0aGUgc2FtZSBlYXJseSBwb2ludCB3aXRoIGFuZCB3aXRob3V0IEZsYXNr
LgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIuCgpTaWduZWQtb2ZmLWJ5OiBK
YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkFja2VkLWJ5OiBEYW5p
ZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+ClJl
dmlld2VkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+Cgot
LS0gYS94ZW4vY29tbW9uL3NjaGVkL2NvcmUuYworKysgYi94ZW4vY29tbW9u
L3NjaGVkL2NvcmUuYwpAQCAtMjA3NCwxMCArMjA3NCw2IEBAIGxvbmcgc2No
ZWRfYWRqdXN0KHN0cnVjdCBkb21haW4gKmQsIHN0cnUKIHsKICAgICBsb25n
IHJldDsKIAotICAgIHJldCA9IHhzbV9kb21jdGxfc2NoZWR1bGVyX29wKFhT
TV9IT09LLCBkLCBvcC0+Y21kKTsKLSAgICBpZiAoIHJldCApCi0gICAgICAg
IHJldHVybiByZXQ7Ci0KICAgICBpZiAoIG9wLT5zY2hlZF9pZCAhPSBkb21f
c2NoZWR1bGVyKGQpLT5zY2hlZF9pZCApCiAgICAgICAgIHJldHVybiAtRUlO
VkFMOwogCi0tLSBhL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCisrKyBiL3hl
bi9pbmNsdWRlL3hzbS9kdW1teS5oCkBAIC0xNDEsMTMgKzE0MSw2IEBAIHN0
YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZ2V0ZG8KICAgICBy
ZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9t
YWluLCBkKTsKIH0KIAotc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNr
IHhzbV9kb21jdGxfc2NoZWR1bGVyX29wKAotICAgIFhTTV9ERUZBVUxUX0FS
RyBzdHJ1Y3QgZG9tYWluICpkLCBpbnQgY21kKQotewotICAgIFhTTV9BU1NF
UlRfQUNUSU9OKFhTTV9IT09LKTsKLSAgICByZXR1cm4geHNtX2RlZmF1bHRf
YWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBkKTsKLX0KLQogc3Rh
dGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9zeXNjdGxfc2NoZWR1
bGVyX29wKFhTTV9ERUZBVUxUX0FSRyBpbnQgY21kKQogewogICAgIFhTTV9B
U1NFUlRfQUNUSU9OKFhTTV9IT09LKTsKLS0tIGEveGVuL2luY2x1ZGUveHNt
L3hzbS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS94c20uaApAQCAtNTYsNyAr
NTYsNiBAQCBzdHJ1Y3QgeHNtX29wcyB7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX2dldGRvbWFpbmluZm8g
KmluZm8pOwogICAgIGludCAoKmRvbWFpbl9jcmVhdGUpKHN0cnVjdCBkb21h
aW4gKmQsIHVpbnQzMl90IHNzaWRyZWYpOwogICAgIGludCAoKmdldGRvbWFp
bmluZm8pKHN0cnVjdCBkb21haW4gKmQpOwotICAgIGludCAoKmRvbWN0bF9z
Y2hlZHVsZXJfb3ApKHN0cnVjdCBkb21haW4gKmQsIGludCBvcCk7CiAjaWZk
ZWYgQ09ORklHX1NZU0NUTAogICAgIGludCAoKnN5c2N0bF9zY2hlZHVsZXJf
b3ApKGludCBvcCk7CiAjZW5kaWYKQEAgLTI0MCwxMiArMjM5LDYgQEAgc3Rh
dGljIGlubGluZSBpbnQgeHNtX2dldF9kb21haW5fc3RhdGUoeAogICAgIHJl
dHVybiBhbHRlcm5hdGl2ZV9jYWxsKHhzbV9vcHMuZ2V0X2RvbWFpbl9zdGF0
ZSwgZCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IHhzbV9kb21jdGxfc2No
ZWR1bGVyX29wKAotICAgIHhzbV9kZWZhdWx0X3QgZGVmLCBzdHJ1Y3QgZG9t
YWluICpkLCBpbnQgY21kKQotewotICAgIHJldHVybiBhbHRlcm5hdGl2ZV9j
YWxsKHhzbV9vcHMuZG9tY3RsX3NjaGVkdWxlcl9vcCwgZCwgY21kKTsKLX0K
LQogI2lmZGVmIENPTkZJR19TWVNDVEwKIHN0YXRpYyBpbmxpbmUgaW50IHhz
bV9zeXNjdGxfc2NoZWR1bGVyX29wKHhzbV9kZWZhdWx0X3QgZGVmLCBpbnQg
Y21kKQogewotLS0gYS94ZW4veHNtL2R1bW15LmMKKysrIGIveGVuL3hzbS9k
dW1teS5jCkBAIC0xOCw3ICsxOCw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg
eHNtX29wcyBfX2luaXRjb25zdF8KICAgICAuc2VjdXJpdHlfZG9tYWluaW5m
byAgICAgICAgICAgPSB4c21fc2VjdXJpdHlfZG9tYWluaW5mbywKICAgICAu
ZG9tYWluX2NyZWF0ZSAgICAgICAgICAgICAgICAgPSB4c21fZG9tYWluX2Ny
ZWF0ZSwKICAgICAuZ2V0ZG9tYWluaW5mbyAgICAgICAgICAgICAgICAgPSB4
c21fZ2V0ZG9tYWluaW5mbywKLSAgICAuZG9tY3RsX3NjaGVkdWxlcl9vcCAg
ICAgICAgICAgPSB4c21fZG9tY3RsX3NjaGVkdWxlcl9vcCwKICNpZmRlZiBD
T05GSUdfU1lTQ1RMCiAgICAgLnN5c2N0bF9zY2hlZHVsZXJfb3AgICAgICAg
ICAgID0geHNtX3N5c2N0bF9zY2hlZHVsZXJfb3AsCiAjZW5kaWYKLS0tIGEv
eGVuL3hzbS9mbGFzay9ob29rcy5jCisrKyBiL3hlbi94c20vZmxhc2svaG9v
a3MuYwpAQCAtNjA5LDcgKzYwOSw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sg
Zmxhc2tfZ2V0ZG9tYWluaW5mbygKICAgICByZXR1cm4gY3VycmVudF9oYXNf
cGVybShkLCBTRUNDTEFTU19ET01BSU4sIERPTUFJTl9fR0VURE9NQUlOSU5G
Tyk7CiB9CiAKLXN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsX3Nj
aGVkdWxlcl9vcChzdHJ1Y3QgZG9tYWluICpkLCBpbnQgb3ApCitzdGF0aWMg
aW50IGZsYXNrX2RvbWN0bF9zY2hlZHVsZXJfb3Aoc3RydWN0IGRvbWFpbiAq
ZCwgaW50IG9wKQogewogICAgIHN3aXRjaCAoIG9wICkKICAgICB7CkBAIC02
OTcsNyArNjk3LDYgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21j
dGwoc3RydWN0CiAgICAgICAgIHJldHVybiAtRUlMU0VROwogCiAgICAgLyog
VGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBob29rcyAoY29tbW9uL2RvbWN0
bC5jKSAqLwotICAgIGNhc2UgWEVOX0RPTUNUTF9zY2hlZHVsZXJfb3A6CiAg
ICAgY2FzZSBYRU5fRE9NQ1RMX3NldF90YXJnZXQ6CiAKICNpZmRlZiBDT05G
SUdfWDg2CkBAIC03NDUsNiArNzQ0LDkgQEAgc3RhdGljIGludCBjZl9jaGVj
ayBmbGFza19kb21jdGwoc3RydWN0CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Nl
dGRvbWFpbmhhbmRsZToKICAgICAgICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Bl
cm0oZCwgU0VDQ0xBU1NfRE9NQUlOLCBET01BSU5fX1NFVERPTUFJTkhBTkRM
RSk7CiAKKyAgICBjYXNlIFhFTl9ET01DVExfc2NoZWR1bGVyX29wOgorICAg
ICAgICByZXR1cm4gZmxhc2tfZG9tY3RsX3NjaGVkdWxlcl9vcChkLCBvcC0+
dS5zY2hlZHVsZXJfb3AuY21kKTsKKwogICAgIGNhc2UgWEVOX0RPTUNUTF9z
ZXRfZXh0X3ZjcHVjb250ZXh0OgogICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRf
dmNwdV9tc3JzOgogICAgIGNhc2UgWEVOX0RPTUNUTF9zZXR2Y3B1Y29udGV4
dDoKQEAgLTE4ODQsNyArMTg4Niw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg
eHNtX29wcyBfX2luaXRjb25zdF8KICAgICAuc2VjdXJpdHlfZG9tYWluaW5m
byA9IGZsYXNrX3NlY3VyaXR5X2RvbWFpbmluZm8sCiAgICAgLmRvbWFpbl9j
cmVhdGUgPSBmbGFza19kb21haW5fY3JlYXRlLAogICAgIC5nZXRkb21haW5p
bmZvID0gZmxhc2tfZ2V0ZG9tYWluaW5mbywKLSAgICAuZG9tY3RsX3NjaGVk
dWxlcl9vcCA9IGZsYXNrX2RvbWN0bF9zY2hlZHVsZXJfb3AsCiAjaWZkZWYg
Q09ORklHX1NZU0NUTAogICAgIC5zeXNjdGxfc2NoZWR1bGVyX29wID0gZmxh
c2tfc3lzY3RsX3NjaGVkdWxlcl9vcCwKICNlbmRpZgo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.21-17.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.21-17.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHNoYWRvd19jb250cm9sX29wIGhvb2sKCklu
dGVncmF0ZSB0aGUgY2hlY2tpbmcgd2l0aCB4c21fZG9tY3RsKCksIG5vdyB0
aGF0IGl0IGhhcyB0aGUgZnVsbCBvcApzdHJ1Y3QgcGFzc2VkLiBBcyBhIHBv
c2l0aXZlIHNpZGUgZWZmZWN0LCBwZXJtaXNzaW9ucyBhcmUgdGhlbiBjaGVj
a2VkIGF0CnRoZSBzYW1lIGVhcmx5IHBvaW50IHdpdGggYW5kIHdpdGhvdXQg
Rmxhc2suCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4KClNpZ25lZC1vZmYt
Ynk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQWNrZWQtYnk6
IERhbmllbCBQLiBTbWl0aCA8ZHBzbWl0aEBhcGVydHVzc29sdXRpb25zLmNv
bT4KCi0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYworKysgYi94ZW4v
YXJjaC94ODYvbW0vcGFnaW5nLmMKQEAgLTY3NywxMCArNjc3LDYgQEAgaW50
IHBhZ2luZ19kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgc3RydQogICAgICAg
ICByZXR1cm4gLUVCVVNZOwogICAgIH0KIAotICAgIHJjID0geHNtX3NoYWRv
d19jb250cm9sKFhTTV9IT09LLCBkLCBzYy0+b3ApOwotICAgIGlmICggcmMg
KQotICAgICAgICByZXR1cm4gcmM7Ci0KICAgICAvKiBDb2RlIHRvIGhhbmRs
ZSBsb2ctZGlydHkuIE5vdGUgdGhhdCBzb21lIGxvZyBkaXJ0eSBvcGVyYXRp
b25zCiAgICAgICogcGlnZ3ktYmFjayBvbiBzaGFkb3cgb3BlcmF0aW9ucy4g
Rm9yIGV4YW1wbGUsIHdoZW4KICAgICAgKiBYRU5fRE9NQ1RMX1NIQURPV19P
UF9PRkYgaXMgY2FsbGVkLCBpdCBmaXJzdCBjaGVja3Mgd2hldGhlciBsb2cg
ZGlydHkKLS0tIGEveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKKysrIGIveGVu
L2luY2x1ZGUveHNtL2R1bW15LmgKQEAgLTY4MiwxMyArNjgyLDYgQEAgc3Rh
dGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9kb19tYwogICAgIHJl
dHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5kb21h
aW4sIE5VTEwpOwogfQogCi1zdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hl
Y2sgeHNtX3NoYWRvd19jb250cm9sKAotICAgIFhTTV9ERUZBVUxUX0FSRyBz
dHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBvcCkKLXsKLSAgICBYU01fQVNT
RVJUX0FDVElPTihYU01fSE9PSyk7Ci0gICAgcmV0dXJuIHhzbV9kZWZhdWx0
X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgZCk7Ci19Ci0KIHN0
YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fbWVtX3NoYXJpbmdf
b3AoCiAgICAgWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQsIHN0
cnVjdCBkb21haW4gKmNkLCBpbnQgb3ApCiB7Ci0tLSBhL3hlbi9pbmNsdWRl
L3hzbS94c20uaAorKysgYi94ZW4vaW5jbHVkZS94c20veHNtLmgKQEAgLTE3
Miw3ICsxNzIsNiBAQCBzdHJ1Y3QgeHNtX29wcyB7CiAKICNpZmRlZiBDT05G
SUdfWDg2CiAgICAgaW50ICgqZG9fbWNhKSh2b2lkKTsKLSAgICBpbnQgKCpz
aGFkb3dfY29udHJvbCkoc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3Qgb3Ap
OwogICAgIGludCAoKm1lbV9zaGFyaW5nX29wKShzdHJ1Y3QgZG9tYWluICpk
LCBzdHJ1Y3QgZG9tYWluICpjZCwgaW50IG9wKTsKICAgICBpbnQgKCphcGlj
KShzdHJ1Y3QgZG9tYWluICpkLCBpbnQgY21kKTsKICAgICBpbnQgKCptYWNo
aW5lX21lbW9yeV9tYXApKHZvaWQpOwpAQCAtNjgwLDEyICs2NzksNiBAQCBz
dGF0aWMgaW5saW5lIGludCB4c21fZG9fbWNhKHhzbV9kZWZhdWx0CiAgICAg
cmV0dXJuIGFsdGVybmF0aXZlX2NhbGwoeHNtX29wcy5kb19tY2EpOwogfQog
Ci1zdGF0aWMgaW5saW5lIGludCB4c21fc2hhZG93X2NvbnRyb2woCi0gICAg
eHNtX2RlZmF1bHRfdCBkZWYsIHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90
IG9wKQotewotICAgIHJldHVybiBhbHRlcm5hdGl2ZV9jYWxsKHhzbV9vcHMu
c2hhZG93X2NvbnRyb2wsIGQsIG9wKTsKLX0KLQogc3RhdGljIGlubGluZSBp
bnQgeHNtX21lbV9zaGFyaW5nX29wKAogICAgIHhzbV9kZWZhdWx0X3QgZGVm
LCBzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZG9tYWluICpjZCwgaW50IG9w
KQogewotLS0gYS94ZW4veHNtL2R1bW15LmMKKysrIGIveGVuL3hzbS9kdW1t
eS5jCkBAIC0xMzAsNyArMTMwLDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB4
c21fb3BzIF9faW5pdGNvbnN0XwogICAgIC5wbGF0Zm9ybV9vcCAgICAgICAg
ICAgICAgICAgICA9IHhzbV9wbGF0Zm9ybV9vcCwKICNpZmRlZiBDT05GSUdf
WDg2CiAgICAgLmRvX21jYSAgICAgICAgICAgICAgICAgICAgICAgID0geHNt
X2RvX21jYSwKLSAgICAuc2hhZG93X2NvbnRyb2wgICAgICAgICAgICAgICAg
PSB4c21fc2hhZG93X2NvbnRyb2wsCiAgICAgLm1lbV9zaGFyaW5nX29wICAg
ICAgICAgICAgICAgID0geHNtX21lbV9zaGFyaW5nX29wLAogICAgIC5hcGlj
ICAgICAgICAgICAgICAgICAgICAgICAgICA9IHhzbV9hcGljLAogICAgIC5t
YWNoaW5lX21lbW9yeV9tYXAgICAgICAgICAgICA9IHhzbV9tYWNoaW5lX21l
bW9yeV9tYXAsCi0tLSBhL3hlbi94c20vZmxhc2svaG9va3MuYworKysgYi94
ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAgLTQwLDYgKzQwLDcgQEAKIAogI2lm
ZGVmIENPTkZJR19YODYKICNpbmNsdWRlIDxhc20vcHYvc2hpbS5oPgorc3Rh
dGljIGludCBmbGFza19zaGFkb3dfY29udHJvbChzdHJ1Y3QgZG9tYWluICpk
LCB1bnNpZ25lZCBpbnQgb3ApOwogI2Vsc2UKICNkZWZpbmUgcHZfc2hpbSBm
YWxzZQogI2VuZGlmCkBAIC02OTksMTAgKzcwMCw2IEBAIHN0YXRpYyBpbnQg
Y2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAogICAgIC8qIFRoZXNlIGhh
dmUgaW5kaXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9kb21jdGwuYykgKi8K
ICAgICBjYXNlIFhFTl9ET01DVExfc2V0X3RhcmdldDoKIAotI2lmZGVmIENP
TkZJR19YODYKLSAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhv
b2tzIChhcmNoL3g4Ni9kb21jdGwuYykgKi8KLSAgICBjYXNlIFhFTl9ET01D
VExfc2hhZG93X29wOgotI2VuZGlmCiAjaWZkZWYgQ09ORklHX0hBU19QQVNT
VEhST1VHSAogICAgIC8qCiAgICAgICogVGhlc2UgaGF2ZSBpbmRpdmlkdWFs
IFhTTSBob29rcwpAQCAtNzg3LDYgKzc4NCwxMSBAQCBzdGF0aWMgaW50IGNm
X2NoZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICBjYXNlIFhFTl9ET01D
VExfZ2V0X2FkZHJlc3Nfc2l6ZToKICAgICAgICAgcmV0dXJuIGN1cnJlbnRf
aGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9NQUlOLCBET01BSU5fX0dFVEFERFJT
SVpFKTsKIAorI2lmZGVmIENPTkZJR19YODYKKyAgICBjYXNlIFhFTl9ET01D
VExfc2hhZG93X29wOgorICAgICAgICByZXR1cm4gZmxhc2tfc2hhZG93X2Nv
bnRyb2woZCwgb3AtPnUuc2hhZG93X29wLm9wKTsKKyNlbmRpZgorCiAgICAg
Y2FzZSBYRU5fRE9NQ1RMX21lbV9zaGFyaW5nX29wOgogICAgICAgICByZXR1
cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUNDTEFTU19IVk0sIEhWTV9fTUVN
X1NIQVJJTkcpOwogCkBAIC0xNjAzLDcgKzE2MDUsNyBAQCBzdGF0aWMgaW50
IGNmX2NoZWNrIGZsYXNrX2RvX21jYSh2b2lkKQogICAgIHJldHVybiBkb21h
aW5faGFzX3hlbihjdXJyZW50LT5kb21haW4sIFhFTl9fTUNBX09QKTsKIH0K
IAotc3RhdGljIGludCBjZl9jaGVjayBmbGFza19zaGFkb3dfY29udHJvbChz
dHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBvcCkKK3N0YXRpYyBpbnQgZmxh
c2tfc2hhZG93X2NvbnRyb2woc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQg
aW50IG9wKQogewogICAgIHVpbnQzMl90IHBlcm07CiAKQEAgLTE5OTksNyAr
MjAwMSw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeHNtX29wcyBfX2luaXRj
b25zdF8KICAgICAucGxhdGZvcm1fb3AgPSBmbGFza19wbGF0Zm9ybV9vcCwK
ICNpZmRlZiBDT05GSUdfWDg2CiAgICAgLmRvX21jYSA9IGZsYXNrX2RvX21j
YSwKLSAgICAuc2hhZG93X2NvbnRyb2wgPSBmbGFza19zaGFkb3dfY29udHJv
bCwKICAgICAubWVtX3NoYXJpbmdfb3AgPSBmbGFza19tZW1fc2hhcmluZ19v
cCwKICAgICAuYXBpYyA9IGZsYXNrX2FwaWMsCiAgICAgLm1hY2hpbmVfbWVt
b3J5X21hcCA9IGZsYXNrX21hY2hpbmVfbWVtb3J5X21hcCwK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.21-18.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.21-18.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2dldF9kZXZpY2VfZ3JvdXAg
d2l0aG91dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKCmlvbW11X2dldF9kZXZp
Y2VfZ3JvdXAoKSB1c2VzIGl0cyBvd24gbG9ja2luZy4gVGh1cywgd2l0aCBj
YWxsZXIgc2lkZQpsb2NraW5nIGlycmVsZXZhbnQsIGl0IGNhbiBhcyB3ZWxs
IGJlIGNhbGxlZCB3aXRoIHRoZSBkb21jdGwgbG9jayBub3QKaGVsZC4KCk1v
dmUgdGhlIGhhbmRsaW5nIG5vdCBvbmx5IGFoZWFkIG9mIGFjcXVpcmluZyB0
aGUgbG9jaywgYnV0IGFsc28gYWhlYWQKb2YgdGhlIFhTTSBjaGVjaywgbGV2
ZXJhZ2luZyB0aGF0IHRoZSBzdWItb3AgaGFzIGl0cyBvd24gaG9vay4KClRo
aXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJl
dWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpBY2tlZC1ieTogRGFuaWVsIFAu
IFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29tPgpSZXZpZXdl
ZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+
CgotLS0gYS94ZW4vY29tbW9uL2RvbWN0bC5jCisrKyBiL3hlbi9jb21tb24v
ZG9tY3RsLmMKQEAgLTUxMyw2ICs1MTMsMTAgQEAgbG9uZyBkb19kb21jdGwo
WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICAvKiBPdGhlciBz
dWItb3BzIGhhbmRsZWQgZnVydGhlciBkb3duLiAqLwogICAgICAgICBicmVh
azsKIAorICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRfZGV2aWNlX2dyb3VwOgor
ICAgICAgICByZXQgPSBpb21tdV9kb19kb21jdGwob3AsIGQsIHVfZG9tY3Rs
KTsKKyAgICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5Owor
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNzaW9uOgogICAg
IGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBjYXNlIFhF
Tl9ET01DVExfZ3NpX3Blcm1pc3Npb246CkBAIC05MTgsNyArOTIyLDYgQEAg
bG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAg
IGNhc2UgWEVOX0RPTUNUTF9hc3NpZ25fZGV2aWNlOgogICAgIGNhc2UgWEVO
X0RPTUNUTF90ZXN0X2Fzc2lnbl9kZXZpY2U6CiAgICAgY2FzZSBYRU5fRE9N
Q1RMX2RlYXNzaWduX2RldmljZToKLSAgICBjYXNlIFhFTl9ET01DVExfZ2V0
X2RldmljZV9ncm91cDoKICAgICAgICAgcmV0ID0gaW9tbXVfZG9fZG9tY3Rs
KG9wLCBkLCB1X2RvbWN0bCk7CiAgICAgICAgIGJyZWFrOwogCi0tLSBhL3hl
bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCisrKyBiL3hlbi9kcml2ZXJz
L3Bhc3N0aHJvdWdoL3BjaS5jCkBAIC0xNjIwLDcgKzE2MjAsNyBAQCBzdGF0
aWMgaW50IGlvbW11X2dldF9kZXZpY2VfZ3JvdXAoCiAgICAgICAgIGlmICgg
KHBkZXYtPnNlZyAhPSBzZWcpIHx8ICgoYiA9PSBidXMpICYmIChkZiA9PSBk
ZXZmbikpICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGlm
ICggeHNtX2dldF9kZXZpY2VfZ3JvdXAoWFNNX0hPT0ssIChzZWcgPDwgMTYp
IHwgKGIgPDwgOCkgfCBkZikgKQorICAgICAgICBpZiAoIHhzbV9nZXRfZGV2
aWNlX2dyb3VwKFhTTV9QUklWLCAoc2VnIDw8IDE2KSB8IChiIDw8IDgpIHwg
ZGYpICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIHNkZXZf
aWQgPSBpb21tdV9jYWxsKG9wcywgZ2V0X2RldmljZV9ncm91cF9pZCwgc2Vn
LCBiLCBkZik7CkBAIC0xNjkwLDcgKzE2OTAsNyBAQCBpbnQgaW9tbXVfZG9f
cGNpX2RvbWN0bCgKICAgICAgICAgdTMyIG1heF9zZGV2czsKICAgICAgICAg
WEVOX0dVRVNUX0hBTkRMRV82NCh1aW50MzIpIHNkZXZzOwogCi0gICAgICAg
IHJldCA9IHhzbV9nZXRfZGV2aWNlX2dyb3VwKFhTTV9IT09LLCBkb21jdGwt
PnUuZ2V0X2RldmljZV9ncm91cC5tYWNoaW5lX3NiZGYpOworICAgICAgICBy
ZXQgPSB4c21fZ2V0X2RldmljZV9ncm91cChYU01fUFJJViwgZG9tY3RsLT51
LmdldF9kZXZpY2VfZ3JvdXAubWFjaGluZV9zYmRmKTsKICAgICAgICAgaWYg
KCByZXQgKQogICAgICAgICAgICAgYnJlYWs7CiAKLS0tIGEveGVuL2luY2x1
ZGUveHNtL2R1bW15LmgKKysrIGIveGVuL2luY2x1ZGUveHNtL2R1bW15LmgK
QEAgLTE2Miw2ICsxNjIsNyBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2Zf
Y2hlY2sgeHNtX2RvbWN0CiAgICAgewogICAgIGNhc2UgWEVOX0RPTUNUTF9i
aW5kX3B0X2lycToKICAgICBjYXNlIFhFTl9ET01DVExfZ2V0ZG9tYWluaW5m
bzoKKyAgICBjYXNlIFhFTl9ET01DVExfZ2V0X2RldmljZV9ncm91cDoKICAg
ICBjYXNlIFhFTl9ET01DVExfZ2V0X2RvbWFpbl9zdGF0ZToKICAgICBjYXNl
IFhFTl9ET01DVExfZ3NpX3Blcm1pc3Npb246CiAgICAgY2FzZSBYRU5fRE9N
Q1RMX2lvbWVtX3Blcm1pc3Npb246CkBAIC00MDEsNyArNDAyLDcgQEAgc3Rh
dGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9nZXRfdgogc3RhdGlj
IFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9nZXRfZGV2aWNlX2dyb3Vw
KAogICAgIFhTTV9ERUZBVUxUX0FSRyB1aW50MzJfdCBtYWNoaW5lX2JkZikK
IHsKLSAgICBYU01fQVNTRVJUX0FDVElPTihYU01fSE9PSyk7CisgICAgWFNN
X0FTU0VSVF9BQ1RJT04oWFNNX1BSSVYpOwogICAgIHJldHVybiB4c21fZGVm
YXVsdF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5kb21haW4sIE5VTEwpOwog
fQogCi0tLSBhL3hlbi94c20vZmxhc2svaG9va3MuYworKysgYi94ZW4veHNt
L2ZsYXNrL2hvb2tzLmMKQEAgLTY4Niw2ICs2ODYsNyBAQCBzdGF0aWMgaW50
IGNmX2NoZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICAvKiBUaGVzZSBo
YXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzIGFuZCBkb24ndCBtYWtlIGl0IGhl
cmUuICovCiAgICAgY2FzZSBYRU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgogICAg
IGNhc2UgWEVOX0RPTUNUTF9nZXRkb21haW5pbmZvOgorICAgIGNhc2UgWEVO
X0RPTUNUTF9nZXRfZGV2aWNlX2dyb3VwOgogICAgIGNhc2UgWEVOX0RPTUNU
TF9nZXRfZG9tYWluX3N0YXRlOgogICAgIGNhc2UgWEVOX0RPTUNUTF9nc2lf
cGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9ET01DVExfaW9tZW1fcGVybWlz
c2lvbjoKQEAgLTcwNSw3ICs3MDYsNiBAQCBzdGF0aWMgaW50IGNmX2NoZWNr
IGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICAgKiBUaGVzZSBoYXZlIGluZGl2
aWR1YWwgWFNNIGhvb2tzCiAgICAgICogKGRyaXZlcnMvcGFzc3Rocm91Z2gv
e3BjaSxkZXZpY2VfdHJlZS5jKQogICAgICAqLwotICAgIGNhc2UgWEVOX0RP
TUNUTF9nZXRfZGV2aWNlX2dyb3VwOgogICAgIGNhc2UgWEVOX0RPTUNUTF90
ZXN0X2Fzc2lnbl9kZXZpY2U6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2Fzc2ln
bl9kZXZpY2U6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2RlYXNzaWduX2Rldmlj
ZToK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.21-19.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.21-19.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHssZGV9YXNzaWduX3ssZHR9ZGV2aWNlIGhv
b2tzCgpJbnRlZ3JhdGUgdGhlIGNoZWNraW5nIHdpdGggeHNtX2RvbWN0bCgp
LiBBcyBhIHBvc2l0aXZlIHNpZGUgZWZmZWN0LApwZXJtaXNzaW9ucyBhcmUg
dGhlbiBjaGVja2VkIGF0IHRoZSBzYW1lIGVhcmx5IHBvaW50IHdpdGggYW5k
IHdpdGhvdXQKRmxhc2suIEFzIHRoZSBEVCBkZXZpY2UgcGF0aCBuZWVkcyBm
ZXRjaGluZyBlYXJsaWVyIChidXQgbXVzdCBub3QgYmUKZG91YmxlIGZldGNo
ZWQpLCBjYWNoZSBpdCBpbiBhIHByaXZhdGUgZmllbGQgb2YgdGhlIHB1Ymxp
YyBpbnRlcmZhY2UKc3RydWN0LgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIu
CgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j
b20+CkFja2VkLWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1
c3NvbHV0aW9ucy5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOp
IDxyb2dlci5wYXVAY2l0cml4LmNvbT4KCi0tLSBhL3hlbi9jb21tb24vZG9t
Y3RsLmMKKysrIGIveGVuL2NvbW1vbi9kb21jdGwuYwpAQCAtMzI1LDYgKzMy
NSwxMCBAQCBsb25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFN
KHhlCiAgICAgY2FzZSBYRU5fRE9NQ1RMX2RlYXNzaWduX2RldmljZToKICAg
ICAgICAgaWYgKCBvcC0+ZG9tYWluID09IERPTUlEX0lPICkKICAgICAgICAg
eworI2lmZGVmIENPTkZJR19IQVNfREVWSUNFX1RSRUVfRElTQ09WRVJZCisg
ICAgICAgICAgICBpZiAoIG9wLT51LmFzc2lnbl9kZXZpY2UuZGV2ID09IFhF
Tl9ET01DVExfREVWX0RUICkKKyAgICAgICAgICAgICAgICBvcC0+dS5hc3Np
Z25fZGV2aWNlLnUuZHQuZGV2ID0gTlVMTDsKKyNlbmRpZgogICAgICAgICAg
ICAgZCA9IGRvbV9pbzsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9
CkBAIC0zMzIsNiArMzM2LDExIEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVT
VF9IQU5ETEVfUEFSQU0oeGUKICAgICAgICAgICAgIHJldHVybiAtRVNSQ0g7
CiAgICAgICAgIGZhbGx0aHJvdWdoOwogICAgIGNhc2UgWEVOX0RPTUNUTF90
ZXN0X2Fzc2lnbl9kZXZpY2U6CisjaWZkZWYgQ09ORklHX0hBU19ERVZJQ0Vf
VFJFRV9ESVNDT1ZFUlkKKyAgICAgICAgaWYgKCBvcC0+dS5hc3NpZ25fZGV2
aWNlLmRldiA9PSBYRU5fRE9NQ1RMX0RFVl9EVCApCisgICAgICAgICAgICBv
cC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQuZGV2ID0gTlVMTDsKKyAgICAgICAg
ZmFsbHRocm91Z2g7CisjZW5kaWYKICAgICBjYXNlIFhFTl9ET01DVExfdm1f
ZXZlbnRfb3A6CiAgICAgICAgIGlmICggb3AtPmRvbWFpbiA9PSBET01JRF9J
TlZBTElEICkKICAgICAgICAgewotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC9kZXZpY2VfdHJlZS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJv
dWdoL2RldmljZV90cmVlLmMKQEAgLTM0MCwxNSArMzQwLDE1IEBAIGludCBp
b21tdV9kb19kdF9kb21jdGwoc3RydWN0IHhlbl9kb21jdGwKICAgICAgICAg
aWYgKCAoZCAmJiBkLT5pc19keWluZykgfHwgZG9tY3RsLT51LmFzc2lnbl9k
ZXZpY2UuZmxhZ3MgKQogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAg
cmV0ID0gZHRfZmluZF9ub2RlX2J5X2dwYXRoKGRvbWN0bC0+dS5hc3NpZ25f
ZGV2aWNlLnUuZHQucGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRvbWN0bC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQuc2l6ZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkZXYpOwot
ICAgICAgICBpZiAoIHJldCApCi0gICAgICAgICAgICBicmVhazsKLQotICAg
ICAgICByZXQgPSB4c21fYXNzaWduX2R0ZGV2aWNlKFhTTV9IT09LLCBkLCBk
dF9ub2RlX2Z1bGxfbmFtZShkZXYpKTsKLSAgICAgICAgaWYgKCByZXQgKQot
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRldiA9IGRvbWN0bC0+dS5h
c3NpZ25fZGV2aWNlLnUuZHQuZGV2OworICAgICAgICBpZiAoICFkZXYgKQor
ICAgICAgICB7CisgICAgICAgICAgICByZXQgPSBkdF9maW5kX25vZGVfYnlf
Z3BhdGgoZG9tY3RsLT51LmFzc2lnbl9kZXZpY2UudS5kdC5wYXRoLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWN0bC0+
dS5hc3NpZ25fZGV2aWNlLnUuZHQuc2l6ZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmZGV2KTsKKyAgICAgICAgICAgIGlm
ICggcmV0ICkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQog
CiAgICAgICAgIGlmICggZG9tY3RsLT5jbWQgPT0gWEVOX0RPTUNUTF90ZXN0
X2Fzc2lnbl9kZXZpY2UgKQogICAgICAgICB7CkBAIC0zOTYsMTUgKzM5Niwx
NSBAQCBpbnQgaW9tbXVfZG9fZHRfZG9tY3RsKHN0cnVjdCB4ZW5fZG9tY3Rs
CiAgICAgICAgIGlmICggZG9tY3RsLT51LmFzc2lnbl9kZXZpY2UuZmxhZ3Mg
KQogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgcmV0ID0gZHRfZmlu
ZF9ub2RlX2J5X2dwYXRoKGRvbWN0bC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQu
cGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRv
bWN0bC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQuc2l6ZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZkZXYpOwotICAgICAgICBpZiAo
IHJldCApCi0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICByZXQgPSB4
c21fZGVhc3NpZ25fZHRkZXZpY2UoWFNNX0hPT0ssIGQsIGR0X25vZGVfZnVs
bF9uYW1lKGRldikpOwotICAgICAgICBpZiAoIHJldCApCi0gICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgZGV2ID0gZG9tY3RsLT51LmFzc2lnbl9kZXZp
Y2UudS5kdC5kZXY7CisgICAgICAgIGlmICggIWRldiApCisgICAgICAgIHsK
KyAgICAgICAgICAgIHJldCA9IGR0X2ZpbmRfbm9kZV9ieV9ncGF0aChkb21j
dGwtPnUuYXNzaWduX2RldmljZS51LmR0LnBhdGgsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tY3RsLT51LmFzc2lnbl9k
ZXZpY2UudS5kdC5zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZkZXYpOworICAgICAgICAgICAgaWYgKCByZXQgKQor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAKICAgICAgICAg
aWYgKCBkID09IGRvbV9pbyApCiAgICAgICAgIHsKLS0tIGEveGVuL2RyaXZl
cnMvcGFzc3Rocm91Z2gvcGNpLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Ro
cm91Z2gvcGNpLmMKQEAgLTE3NDAsMTAgKzE3NDAsNiBAQCBpbnQgaW9tbXVf
ZG9fcGNpX2RvbWN0bCgKIAogICAgICAgICBtYWNoaW5lX3NiZGYgPSBkb21j
dGwtPnUuYXNzaWduX2RldmljZS51LnBjaS5tYWNoaW5lX3NiZGY7CiAKLSAg
ICAgICAgcmV0ID0geHNtX2Fzc2lnbl9kZXZpY2UoWFNNX0hPT0ssIGQsIG1h
Y2hpbmVfc2JkZik7Ci0gICAgICAgIGlmICggcmV0ICkKLSAgICAgICAgICAg
IGJyZWFrOwotCiAgICAgICAgIHNlZyA9IG1hY2hpbmVfc2JkZiA+PiAxNjsK
ICAgICAgICAgYnVzID0gUENJX0JVUyhtYWNoaW5lX3NiZGYpOwogICAgICAg
ICBkZXZmbiA9IFBDSV9ERVZGTihtYWNoaW5lX3NiZGYpOwpAQCAtMTc4NSwx
MCArMTc4MSw2IEBAIGludCBpb21tdV9kb19wY2lfZG9tY3RsKAogCiAgICAg
ICAgIG1hY2hpbmVfc2JkZiA9IGRvbWN0bC0+dS5hc3NpZ25fZGV2aWNlLnUu
cGNpLm1hY2hpbmVfc2JkZjsKIAotICAgICAgICByZXQgPSB4c21fZGVhc3Np
Z25fZGV2aWNlKFhTTV9IT09LLCBkLCBtYWNoaW5lX3NiZGYpOwotICAgICAg
ICBpZiAoIHJldCApCi0gICAgICAgICAgICBicmVhazsKLQogICAgICAgICBz
ZWcgPSBtYWNoaW5lX3NiZGYgPj4gMTY7CiAgICAgICAgIGJ1cyA9IFBDSV9C
VVMobWFjaGluZV9zYmRmKTsKICAgICAgICAgZGV2Zm4gPSBQQ0lfREVWRk4o
bWFjaGluZV9zYmRmKTsKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0
bC5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaApAQCAtNTc1
LDcgKzU3NSwxMCBAQCBzdHJ1Y3QgeGVuX2RvbWN0bF9hc3NpZ25fZGV2aWNl
IHsKICAgICAgICAgfSBwY2k7CiAgICAgICAgIHN0cnVjdCB7CiAgICAgICAg
ICAgICB1aW50MzJfdCBzaXplOyAvKiBMZW5ndGggb2YgdGhlIHBhdGggKi8K
LSAgICAgICAgICAgIFhFTl9HVUVTVF9IQU5ETEVfNjQoY2hhcikgcGF0aDsg
LyogcGF0aCB0byB0aGUgZGV2aWNlIHRyZWUgbm9kZSAqLworICAgICAgICAg
ICAgWEVOX0dVRVNUX0hBTkRMRV82NChjaGFyKSBwYXRoOyAvKiBQYXRoIHRv
IHRoZSBkZXZpY2UgdHJlZSBub2RlICovCisjaWZkZWYgX19YRU5fXworICAg
ICAgICAgICAgc3RydWN0IGR0X2RldmljZV9ub2RlICpkZXY7IC8qIFJlc29s
dmVkIGRldmljZSBub2RlIG9mIHRoZSBhYm92ZSAqLworI2VuZGlmCiAgICAg
ICAgIH0gZHQ7CiAgICAgfSB1OwogfTsKLS0tIGEveGVuL2luY2x1ZGUveHNt
L2R1bW15LmgKKysrIGIveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKQEAgLTQw
NSw0MCArNDA1LDggQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNr
IHhzbV9nZXRfZAogICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9QUklWKTsK
ICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVu
dC0+ZG9tYWluLCBOVUxMKTsKIH0KLQotc3RhdGljIFhTTV9JTkxJTkUgaW50
IGNmX2NoZWNrIHhzbV9hc3NpZ25fZGV2aWNlKAotICAgIFhTTV9ERUZBVUxU
X0FSRyBzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBtYWNoaW5lX2JkZikK
LXsKLSAgICBYU01fQVNTRVJUX0FDVElPTihYU01fSE9PSyk7Ci0gICAgcmV0
dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFp
biwgZCk7Ci19Ci0KLXN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4
c21fZGVhc3NpZ25fZGV2aWNlKAotICAgIFhTTV9ERUZBVUxUX0FSRyBzdHJ1
Y3QgZG9tYWluICpkLCB1aW50MzJfdCBtYWNoaW5lX2JkZikKLXsKLSAgICBY
U01fQVNTRVJUX0FDVElPTihYU01fSE9PSyk7Ci0gICAgcmV0dXJuIHhzbV9k
ZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgZCk7Ci19
Ci0KICNlbmRpZiAvKiBIQVNfUEFTU1RIUk9VR0ggJiYgSEFTX1BDSSAqLwog
Ci0jaWYgZGVmaW5lZChDT05GSUdfSEFTX1BBU1NUSFJPVUdIKSAmJiBkZWZp
bmVkKENPTkZJR19IQVNfREVWSUNFX1RSRUVfRElTQ09WRVJZKQotc3RhdGlj
IFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9hc3NpZ25fZHRkZXZpY2Uo
Ci0gICAgWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQsIGNvbnN0
IGNoYXIgKmR0cGF0aCkKLXsKLSAgICBYU01fQVNTRVJUX0FDVElPTihYU01f
SE9PSyk7Ci0gICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24s
IGN1cnJlbnQtPmRvbWFpbiwgZCk7Ci19Ci0KLXN0YXRpYyBYU01fSU5MSU5F
IGludCBjZl9jaGVjayB4c21fZGVhc3NpZ25fZHRkZXZpY2UoCi0gICAgWFNN
X0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQsIGNvbnN0IGNoYXIgKmR0
cGF0aCkKLXsKLSAgICBYU01fQVNTRVJUX0FDVElPTihYU01fSE9PSyk7Ci0g
ICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQt
PmRvbWFpbiwgZCk7Ci19Ci0KLSNlbmRpZiAvKiBIQVNfUEFTU1RIUk9VR0gg
JiYgSEFTX0RFVklDRV9UUkVFX0RJU0NPVkVSWSAqLwotCiBzdGF0aWMgWFNN
X0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX3Jlc291cmNlX3BsdWdfY29yZShY
U01fREVGQVVMVF9WT0lEKQogewogICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhT
TV9IT09LKTsKLS0tIGEveGVuL2luY2x1ZGUveHNtL3hzbS5oCisrKyBiL3hl
bi9pbmNsdWRlL3hzbS94c20uaApAQCAtMTI0LDEzICsxMjQsNiBAQCBzdHJ1
Y3QgeHNtX29wcyB7CiAKICNpZiBkZWZpbmVkKENPTkZJR19IQVNfUEFTU1RI
Uk9VR0gpICYmIGRlZmluZWQoQ09ORklHX0hBU19QQ0kpCiAgICAgaW50ICgq
Z2V0X2RldmljZV9ncm91cCkodWludDMyX3QgbWFjaGluZV9iZGYpOwotICAg
IGludCAoKmFzc2lnbl9kZXZpY2UpKHN0cnVjdCBkb21haW4gKmQsIHVpbnQz
Ml90IG1hY2hpbmVfYmRmKTsKLSAgICBpbnQgKCpkZWFzc2lnbl9kZXZpY2Up
KHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90IG1hY2hpbmVfYmRmKTsKLSNl
bmRpZgotCi0jaWYgZGVmaW5lZChDT05GSUdfSEFTX1BBU1NUSFJPVUdIKSAm
JiBkZWZpbmVkKENPTkZJR19IQVNfREVWSUNFX1RSRUVfRElTQ09WRVJZKQot
ICAgIGludCAoKmFzc2lnbl9kdGRldmljZSkoc3RydWN0IGRvbWFpbiAqZCwg
Y29uc3QgY2hhciAqZHRwYXRoKTsKLSAgICBpbnQgKCpkZWFzc2lnbl9kdGRl
dmljZSkoc3RydWN0IGRvbWFpbiAqZCwgY29uc3QgY2hhciAqZHRwYXRoKTsK
ICNlbmRpZgogCiAgICAgaW50ICgqcmVzb3VyY2VfcGx1Z19jb3JlKSh2b2lk
KTsKQEAgLTUzMywzNSArNTI2LDggQEAgc3RhdGljIGlubGluZSBpbnQgeHNt
X2dldF9kZXZpY2VfZ3JvdXAoeAogewogICAgIHJldHVybiBhbHRlcm5hdGl2
ZV9jYWxsKHhzbV9vcHMuZ2V0X2RldmljZV9ncm91cCwgbWFjaGluZV9iZGYp
OwogfQotCi1zdGF0aWMgaW5saW5lIGludCB4c21fYXNzaWduX2RldmljZSgK
LSAgICB4c21fZGVmYXVsdF90IGRlZiwgc3RydWN0IGRvbWFpbiAqZCwgdWlu
dDMyX3QgbWFjaGluZV9iZGYpCi17Ci0gICAgcmV0dXJuIGFsdGVybmF0aXZl
X2NhbGwoeHNtX29wcy5hc3NpZ25fZGV2aWNlLCBkLCBtYWNoaW5lX2JkZik7
Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IHhzbV9kZWFzc2lnbl9kZXZpY2Uo
Ci0gICAgeHNtX2RlZmF1bHRfdCBkZWYsIHN0cnVjdCBkb21haW4gKmQsIHVp
bnQzMl90IG1hY2hpbmVfYmRmKQotewotICAgIHJldHVybiBhbHRlcm5hdGl2
ZV9jYWxsKHhzbV9vcHMuZGVhc3NpZ25fZGV2aWNlLCBkLCBtYWNoaW5lX2Jk
Zik7Ci19CiAjZW5kaWYgLyogSEFTX1BBU1NUSFJPVUdIICYmIEhBU19QQ0kp
ICovCiAKLSNpZiBkZWZpbmVkKENPTkZJR19IQVNfUEFTU1RIUk9VR0gpICYm
IGRlZmluZWQoQ09ORklHX0hBU19ERVZJQ0VfVFJFRV9ESVNDT1ZFUlkpCi1z
dGF0aWMgaW5saW5lIGludCB4c21fYXNzaWduX2R0ZGV2aWNlKAotICAgIHhz
bV9kZWZhdWx0X3QgZGVmLCBzdHJ1Y3QgZG9tYWluICpkLCBjb25zdCBjaGFy
ICpkdHBhdGgpCi17Ci0gICAgcmV0dXJuIGFsdGVybmF0aXZlX2NhbGwoeHNt
X29wcy5hc3NpZ25fZHRkZXZpY2UsIGQsIGR0cGF0aCk7Ci19Ci0KLXN0YXRp
YyBpbmxpbmUgaW50IHhzbV9kZWFzc2lnbl9kdGRldmljZSgKLSAgICB4c21f
ZGVmYXVsdF90IGRlZiwgc3RydWN0IGRvbWFpbiAqZCwgY29uc3QgY2hhciAq
ZHRwYXRoKQotewotICAgIHJldHVybiBhbHRlcm5hdGl2ZV9jYWxsKHhzbV9v
cHMuZGVhc3NpZ25fZHRkZXZpY2UsIGQsIGR0cGF0aCk7Ci19Ci0KLSNlbmRp
ZiAvKiBIQVNfUEFTU1RIUk9VR0ggJiYgSEFTX0RFVklDRV9UUkVFX0RJU0NP
VkVSWSAqLwotCiBzdGF0aWMgaW5saW5lIGludCB4c21fcmVzb3VyY2VfcGx1
Z19wY2koeHNtX2RlZmF1bHRfdCBkZWYsIHVpbnQzMl90IG1hY2hpbmVfYmRm
KQogewogICAgIHJldHVybiBhbHRlcm5hdGl2ZV9jYWxsKHhzbV9vcHMucmVz
b3VyY2VfcGx1Z19wY2ksIG1hY2hpbmVfYmRmKTsKLS0tIGEveGVuL3hzbS9k
dW1teS5jCisrKyBiL3hlbi94c20vZHVtbXkuYwpAQCAtODEsMTMgKzgxLDYg
QEAgc3RhdGljIGNvbnN0IHN0cnVjdCB4c21fb3BzIF9faW5pdGNvbnN0Xwog
CiAjaWYgZGVmaW5lZChDT05GSUdfSEFTX1BBU1NUSFJPVUdIKSAmJiBkZWZp
bmVkKENPTkZJR19IQVNfUENJKQogICAgIC5nZXRfZGV2aWNlX2dyb3VwICAg
ICAgICAgICAgICA9IHhzbV9nZXRfZGV2aWNlX2dyb3VwLAotICAgIC5hc3Np
Z25fZGV2aWNlICAgICAgICAgICAgICAgICA9IHhzbV9hc3NpZ25fZGV2aWNl
LAotICAgIC5kZWFzc2lnbl9kZXZpY2UgICAgICAgICAgICAgICA9IHhzbV9k
ZWFzc2lnbl9kZXZpY2UsCi0jZW5kaWYKLQotI2lmIGRlZmluZWQoQ09ORklH
X0hBU19QQVNTVEhST1VHSCkgJiYgZGVmaW5lZChDT05GSUdfSEFTX0RFVklD
RV9UUkVFX0RJU0NPVkVSWSkKLSAgICAuYXNzaWduX2R0ZGV2aWNlICAgICAg
ICAgICAgICAgPSB4c21fYXNzaWduX2R0ZGV2aWNlLAotICAgIC5kZWFzc2ln
bl9kdGRldmljZSAgICAgICAgICAgICA9IHhzbV9kZWFzc2lnbl9kdGRldmlj
ZSwKICNlbmRpZgogCiAgICAgLnJlc291cmNlX3BsdWdfY29yZSAgICAgICAg
ICAgID0geHNtX3Jlc291cmNlX3BsdWdfY29yZSwKLS0tIGEveGVuL3hzbS9m
bGFzay9ob29rcy5jCisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAt
NDUsNiArNDUsMTcgQEAgc3RhdGljIGludCBmbGFza19zaGFkb3dfY29udHJv
bChzdHJ1Y3QgZAogI2RlZmluZSBwdl9zaGltIGZhbHNlCiAjZW5kaWYKIAor
I2lmZGVmIENPTkZJR19IQVNfUEFTU1RIUk9VR0gKKyNpZmRlZiBDT05GSUdf
SEFTX1BDSQorc3RhdGljIGludCBmbGFza19hc3NpZ25fZGV2aWNlKHN0cnVj
dCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBtYWNoaW5lX2JkZik7CitzdGF0
aWMgaW50IGZsYXNrX2RlYXNzaWduX2RldmljZShzdHJ1Y3QgZG9tYWluICpk
LCB1bnNpZ25lZCBpbnQgbWFjaGluZV9iZGYpOworI2VuZGlmCisjaWZkZWYg
Q09ORklHX0hBU19ERVZJQ0VfVFJFRV9ESVNDT1ZFUlkKK3N0YXRpYyBpbnQg
Zmxhc2tfYXNzaWduX2R0ZGV2aWNlKHN0cnVjdCBkb21haW4gKmQsIGNvbnN0
IGNoYXIgKmR0cGF0aCk7CitzdGF0aWMgaW50IGZsYXNrX2RlYXNzaWduX2R0
ZGV2aWNlKHN0cnVjdCBkb21haW4gKmQsIGNvbnN0IGNoYXIgKmR0cGF0aCk7
CisjZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfSEFTX1BBU1NUSFJPVUdIICov
CisKIHN0YXRpYyB1aW50MzJfdCBkb21haW5fc2lkKGNvbnN0IHN0cnVjdCBk
b21haW4gKmRvbSkKIHsKICAgICBzdHJ1Y3QgZG9tYWluX3NlY3VyaXR5X3N0
cnVjdCAqZHNlYyA9IGRvbS0+c3NpZDsKQEAgLTcwMCwxNiArNzExLDYgQEAg
c3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0CiAKICAg
ICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzIChjb21tb24v
ZG9tY3RsLmMpICovCiAgICAgY2FzZSBYRU5fRE9NQ1RMX3NldF90YXJnZXQ6
Ci0KLSNpZmRlZiBDT05GSUdfSEFTX1BBU1NUSFJPVUdICi0gICAgLyoKLSAg
ICAgKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzCi0gICAgICog
KGRyaXZlcnMvcGFzc3Rocm91Z2gve3BjaSxkZXZpY2VfdHJlZS5jKQotICAg
ICAqLwotICAgIGNhc2UgWEVOX0RPTUNUTF90ZXN0X2Fzc2lnbl9kZXZpY2U6
Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2Fzc2lnbl9kZXZpY2U6Ci0gICAgY2Fz
ZSBYRU5fRE9NQ1RMX2RlYXNzaWduX2RldmljZToKLSNlbmRpZgogICAgICAg
ICByZXR1cm4gMDsKIAogICAgIGNhc2UgWEVOX0RPTUNUTF9kZXN0cm95ZG9t
YWluOgpAQCAtNzg5LDYgKzc5MCw0OSBAQCBzdGF0aWMgaW50IGNmX2NoZWNr
IGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICAgICAgcmV0dXJuIGZsYXNrX3No
YWRvd19jb250cm9sKGQsIG9wLT51LnNoYWRvd19vcC5vcCk7CiAjZW5kaWYK
IAorI2lmZGVmIENPTkZJR19IQVNfUEFTU1RIUk9VR0gKKworICAgIGNhc2Ug
WEVOX0RPTUNUTF90ZXN0X2Fzc2lnbl9kZXZpY2U6CisgICAgY2FzZSBYRU5f
RE9NQ1RMX2Fzc2lnbl9kZXZpY2U6CisgICAgY2FzZSBYRU5fRE9NQ1RMX2Rl
YXNzaWduX2RldmljZToKKyAgICAgICAgc3dpdGNoICggb3AtPnUuYXNzaWdu
X2RldmljZS5kZXYgKQorICAgICAgICB7CisjaWZkZWYgQ09ORklHX0hBU19Q
Q0kKKyAgICAgICAgY2FzZSBYRU5fRE9NQ1RMX0RFVl9QQ0k6CisgICAgICAg
ICAgICByZXR1cm4gb3AtPmNtZCAhPSBYRU5fRE9NQ1RMX2RlYXNzaWduX2Rl
dmljZQorICAgICAgICAgICAgICAgICAgID8gZmxhc2tfYXNzaWduX2Rldmlj
ZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICBkLCBvcC0+dS5hc3NpZ25f
ZGV2aWNlLnUucGNpLm1hY2hpbmVfc2JkZikKKyAgICAgICAgICAgICAgICAg
ICA6IGZsYXNrX2RlYXNzaWduX2RldmljZSgKKyAgICAgICAgICAgICAgICAg
ICAgICAgICBkLCBvcC0+dS5hc3NpZ25fZGV2aWNlLnUucGNpLm1hY2hpbmVf
c2JkZik7CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19IQVNfREVWSUNFX1RS
RUVfRElTQ09WRVJZCisgICAgICAgIGNhc2UgWEVOX0RPTUNUTF9ERVZfRFQ6
CisgICAgICAgIHsKKyAgICAgICAgICAgIHN0cnVjdCBkdF9kZXZpY2Vfbm9k
ZSAqZGV2OworICAgICAgICAgICAgaW50IHJldCA9IGR0X2ZpbmRfbm9kZV9i
eV9ncGF0aChvcC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQucGF0aCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3AtPnUu
YXNzaWduX2RldmljZS51LmR0LnNpemUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZkZXYpOworCisgICAgICAgICAg
ICBpZiAoIHJldCApCisgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKKwor
ICAgICAgICAgICAgb3AtPnUuYXNzaWduX2RldmljZS51LmR0LmRldiA9IGRl
djsKKworICAgICAgICAgICAgcmV0dXJuIG9wLT5jbWQgIT0gWEVOX0RPTUNU
TF9kZWFzc2lnbl9kZXZpY2UKKyAgICAgICAgICAgICAgICAgICA/IGZsYXNr
X2Fzc2lnbl9kdGRldmljZShkLCBkdF9ub2RlX2Z1bGxfbmFtZShkZXYpKQor
ICAgICAgICAgICAgICAgICAgIDogZmxhc2tfZGVhc3NpZ25fZHRkZXZpY2Uo
ZCwgZHRfbm9kZV9mdWxsX25hbWUoZGV2KSk7CisgICAgICAgIH0KKyNlbmRp
ZgorCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAvKiBVbmtub3du
IHR5cGUuICovCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAg
ICAgICByZXR1cm4gYXZjX3Vua25vd25fcGVybWlzc2lvbigiYXNzaWduX2Rl
dmljZSIsIG9wLT5jbWQpOworCisjZW5kaWYgLyogQ09ORklHX0hBU19QQVNT
VEhST1VHSCAqLworCiAgICAgY2FzZSBYRU5fRE9NQ1RMX21lbV9zaGFyaW5n
X29wOgogICAgICAgICByZXR1cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUND
TEFTU19IVk0sIEhWTV9fTUVNX1NIQVJJTkcpOwogCkBAIC0xNDE2LDcgKzE0
NjAsNyBAQCBzdGF0aWMgaW50IGZsYXNrX3Rlc3RfYXNzaWduX2RldmljZSh1
aW50CiAgICAgcmV0dXJuIGF2Y19jdXJyZW50X2hhc19wZXJtKHJzaWQsIFNF
Q0NMQVNTX1JFU09VUkNFLCBSRVNPVVJDRV9fU1RBVF9ERVZJQ0UsIE5VTEwp
OwogfQogCi1zdGF0aWMgaW50IGNmX2NoZWNrIGZsYXNrX2Fzc2lnbl9kZXZp
Y2Uoc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3QgbWFjaGluZV9iZGYpCitz
dGF0aWMgaW50IGZsYXNrX2Fzc2lnbl9kZXZpY2Uoc3RydWN0IGRvbWFpbiAq
ZCwgdWludDMyX3QgbWFjaGluZV9iZGYpCiB7CiAgICAgdWludDMyX3QgZHNp
ZCwgcnNpZDsKICAgICBpbnQgcmMgPSAtRVBFUk07CkBAIC0xNDQ2LDcgKzE0
OTAsNyBAQCBzdGF0aWMgaW50IGNmX2NoZWNrIGZsYXNrX2Fzc2lnbl9kZXZp
Y2UoCiAgICAgcmV0dXJuIGF2Y19oYXNfcGVybShkc2lkLCByc2lkLCBTRUND
TEFTU19SRVNPVVJDRSwgZHBlcm0sICZhZCk7CiB9CiAKLXN0YXRpYyBpbnQg
Y2ZfY2hlY2sgZmxhc2tfZGVhc3NpZ25fZGV2aWNlKAorc3RhdGljIGludCBm
bGFza19kZWFzc2lnbl9kZXZpY2UoCiAgICAgc3RydWN0IGRvbWFpbiAqZCwg
dWludDMyX3QgbWFjaGluZV9iZGYpCiB7CiAgICAgdWludDMyX3QgcnNpZDsK
QEAgLTE0NzgsNyArMTUyMiw3IEBAIHN0YXRpYyBpbnQgZmxhc2tfdGVzdF9h
c3NpZ25fZHRkZXZpY2UoY28KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTlVMTCk7CiB9CiAKLXN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tf
YXNzaWduX2R0ZGV2aWNlKHN0cnVjdCBkb21haW4gKmQsIGNvbnN0IGNoYXIg
KmR0cGF0aCkKK3N0YXRpYyBpbnQgZmxhc2tfYXNzaWduX2R0ZGV2aWNlKHN0
cnVjdCBkb21haW4gKmQsIGNvbnN0IGNoYXIgKmR0cGF0aCkKIHsKICAgICB1
aW50MzJfdCBkc2lkLCByc2lkOwogICAgIGludCByYyA9IC1FUEVSTTsKQEAg
LTE1MDgsNyArMTU1Miw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tf
YXNzaWduX2R0ZGV2aWMKICAgICByZXR1cm4gYXZjX2hhc19wZXJtKGRzaWQs
IHJzaWQsIFNFQ0NMQVNTX1JFU09VUkNFLCBkcGVybSwgJmFkKTsKIH0KIAot
c3RhdGljIGludCBjZl9jaGVjayBmbGFza19kZWFzc2lnbl9kdGRldmljZSgK
K3N0YXRpYyBpbnQgZmxhc2tfZGVhc3NpZ25fZHRkZXZpY2UoCiAgICAgc3Ry
dWN0IGRvbWFpbiAqZCwgY29uc3QgY2hhciAqZHRwYXRoKQogewogICAgIHVp
bnQzMl90IHJzaWQ7CkBAIC0xOTg5LDEzICsyMDMzLDYgQEAgc3RhdGljIGNv
bnN0IHN0cnVjdCB4c21fb3BzIF9faW5pdGNvbnN0XwogCiAjaWYgZGVmaW5l
ZChDT05GSUdfSEFTX1BBU1NUSFJPVUdIKSAmJiBkZWZpbmVkKENPTkZJR19I
QVNfUENJKQogICAgIC5nZXRfZGV2aWNlX2dyb3VwID0gZmxhc2tfZ2V0X2Rl
dmljZV9ncm91cCwKLSAgICAuYXNzaWduX2RldmljZSA9IGZsYXNrX2Fzc2ln
bl9kZXZpY2UsCi0gICAgLmRlYXNzaWduX2RldmljZSA9IGZsYXNrX2RlYXNz
aWduX2RldmljZSwKLSNlbmRpZgotCi0jaWYgZGVmaW5lZChDT05GSUdfSEFT
X1BBU1NUSFJPVUdIKSAmJiBkZWZpbmVkKENPTkZJR19IQVNfREVWSUNFX1RS
RUVfRElTQ09WRVJZKQotICAgIC5hc3NpZ25fZHRkZXZpY2UgPSBmbGFza19h
c3NpZ25fZHRkZXZpY2UsCi0gICAgLmRlYXNzaWduX2R0ZGV2aWNlID0gZmxh
c2tfZGVhc3NpZ25fZHRkZXZpY2UsCiAjZW5kaWYKIAogICAgIC5wbGF0Zm9y
bV9vcCA9IGZsYXNrX3BsYXRmb3JtX29wLAo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-4.21-20.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-4.21-20.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX3NldF90YXJnZXQgd2l0aG91
dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKClRoZSBvbmx5IGxvY2tpbmcgcmVx
dWlyZWQgaGVyZSBpcyB0aGF0IGJldHdlZW4gY2hlY2tpbmcgZC0+dGFyZ2V0
IGFuZApzZXR0aW5nIGl0LiBUbyBhdm9pZCB0aGUgbmVlZCBmb3IgYW4gZXhw
bGljaXQgbG9jaywgdXNlIGNtcHhjaGdwdHIoKSB0bwp1cGRhdGUgZC0+dGFy
Z2V0LgoKTW92ZSB0aGUgaGFuZGxpbmcgbm90IG9ubHkgYWhlYWQgb2YgYWNx
dWlyaW5nIHRoZSBsb2NrLCBidXQgYWxzbyBhaGVhZApvZiB0aGUgWFNNIGNo
ZWNrLCBsZXZlcmFnaW5nIHRoYXQgdGhlIHN1Yi1vcCBoYXMgaXRzIG93biBo
b29rLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIuCgpTaWduZWQtb2ZmLWJ5
OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkFja2VkLWJ5OiBE
YW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+
ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0
cml4LmNvbT4KCi0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMKKysrIGIveGVu
L2NvbW1vbi9kb21jdGwuYwpAQCAtNTA1LDYgKzUwNSwzMCBAQCBsb25nIGRv
X2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlCiAgICAgfQogI2Vu
ZGlmCiAKKyAgICBjYXNlIFhFTl9ET01DVExfc2V0X3RhcmdldDoKKyAgICB7
CisgICAgICAgIHN0cnVjdCBkb21haW4gKmUgPSBnZXRfZG9tYWluX2J5X2lk
KG9wLT51LnNldF90YXJnZXQudGFyZ2V0KTsKKworICAgICAgICByZXQgPSAt
RVNSQ0g7CisgICAgICAgIGlmICggIWUgKQorICAgICAgICAgICAgZ290byBk
b21jdGxfb3V0X3VubG9ja19kb21vbmx5OworCisgICAgICAgIGlmICggZCA9
PSBlICkKKyAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7CisgICAgICAgIGVs
c2UgaWYgKCAhaXNfaHZtX2RvbWFpbihlKSApCisgICAgICAgICAgICByZXQg
PSAtRU9QTk9UU1VQUDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0
ID0geHNtX3NldF90YXJnZXQoWFNNX1BSSVYsIGQsIGUpOworCisgICAgICAg
IC8qIEhvbGQgcmVmZXJlbmNlIG9uIEBlIHVudGlsIHdlIGRlc3Ryb3kgQGQu
ICovCisgICAgICAgIGlmICggIXJldCAmJiBjbXB4Y2hncHRyKCZkLT50YXJn
ZXQsIE5VTEwsIGUpICkKKyAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7CisK
KyAgICAgICAgaWYgKCByZXQgKQorICAgICAgICAgICAgcHV0X2RvbWFpbihl
KTsKKyAgICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5Owor
ICAgIH0KKwogICAgIGNhc2UgWEVOX0RPTUNUTF92bV9ldmVudF9vcDoKICAg
ICAgICAgaWYgKCBvcC0+dS52bV9ldmVudF9vcC5vcCA9PSBYRU5fVk1fRVZF
TlRfR0VUX1ZFUlNJT04gKQogICAgICAgICB7CkBAIC04NDQsMzYgKzg2OCw2
IEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUK
ICAgICAgICAgZG9tYWluX3NldF90aW1lX29mZnNldChkLCBvcC0+dS5zZXR0
aW1lb2Zmc2V0LnRpbWVfb2Zmc2V0X3NlY29uZHMpOwogICAgICAgICBicmVh
azsKIAotICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRfdGFyZ2V0OgotICAgIHsK
LSAgICAgICAgc3RydWN0IGRvbWFpbiAqZTsKLQotICAgICAgICByZXQgPSAt
RVNSQ0g7Ci0gICAgICAgIGUgPSBnZXRfZG9tYWluX2J5X2lkKG9wLT51LnNl
dF90YXJnZXQudGFyZ2V0KTsKLSAgICAgICAgaWYgKCBlID09IE5VTEwgKQot
ICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgcmV0ID0gLUVJTlZBTDsK
LSAgICAgICAgaWYgKCAoZCA9PSBlKSB8fCAoZC0+dGFyZ2V0ICE9IE5VTEwp
ICkKLSAgICAgICAgewotICAgICAgICAgICAgcHV0X2RvbWFpbihlKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0ID0g
LUVPUE5PVFNVUFA7Ci0gICAgICAgIGlmICggaXNfaHZtX2RvbWFpbihlKSAp
Ci0gICAgICAgICAgICByZXQgPSB4c21fc2V0X3RhcmdldChYU01fSE9PSywg
ZCwgZSk7Ci0gICAgICAgIGlmICggcmV0ICkKLSAgICAgICAgewotICAgICAg
ICAgICAgcHV0X2RvbWFpbihlKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICB9Ci0KLSAgICAgICAgLyogSG9sZCByZWZlcmVuY2Ugb24gQGUgdW50
aWwgd2UgZGVzdHJveSBAZC4gKi8KLSAgICAgICAgZC0+dGFyZ2V0ID0gZTsK
LSAgICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2FzZSBYRU5fRE9NQ1RM
X3N1YnNjcmliZToKICAgICAgICAgZC0+c3VzcGVuZF9ldnRjaG4gPSBvcC0+
dS5zdWJzY3JpYmUucG9ydDsKICAgICAgICAgYnJlYWs7Ci0tLSBhL3hlbi9p
bmNsdWRlL3hzbS9kdW1teS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS9kdW1t
eS5oCkBAIC0xNTAsNyArMTUwLDcgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50
IGNmX2NoZWNrIHhzbV9zeXNjdAogc3RhdGljIFhTTV9JTkxJTkUgaW50IGNm
X2NoZWNrIHhzbV9zZXRfdGFyZ2V0KAogICAgIFhTTV9ERUZBVUxUX0FSRyBz
dHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZG9tYWluICplKQogewotICAgIFhT
TV9BU1NFUlRfQUNUSU9OKFhTTV9IT09LKTsKKyAgICBYU01fQVNTRVJUX0FD
VElPTihYU01fUFJJVik7CiAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlv
bihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgTlVMTCk7CiB9CiAKQEAgLTE3
MCw2ICsxNzAsNyBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sg
eHNtX2RvbWN0CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNz
aW9uOgogICAgIGNhc2UgWEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbjoKICAg
ICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CisgICAgY2FzZSBY
RU5fRE9NQ1RMX3NldF90YXJnZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Vu
YmluZF9wdF9pcnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwog
ICAgICAgICByZXR1cm4gLUVJTFNFUTsKLS0tIGEveGVuL3hzbS9mbGFzay9o
b29rcy5jCisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNzA1LDE0
ICs3MDUsMTEgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwo
c3RydWN0CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNzaW9u
OgogICAgIGNhc2UgWEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbjoKICAgICBj
YXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CisgICAgY2FzZSBYRU5f
RE9NQ1RMX3NldF90YXJnZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmlu
ZF9wdF9pcnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAg
ICAgICByZXR1cm4gLUVJTFNFUTsKIAotICAgIC8qIFRoZXNlIGhhdmUgaW5k
aXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9kb21jdGwuYykgKi8KLSAgICBj
YXNlIFhFTl9ET01DVExfc2V0X3RhcmdldDoKLSAgICAgICAgcmV0dXJuIDA7
Ci0KICAgICBjYXNlIFhFTl9ET01DVExfZGVzdHJveWRvbWFpbjoKICAgICAg
ICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9NQUlO
LCBET01BSU5fX0RFU1RST1kpOwogCg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-04.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-04.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2dldF9kb21haW5fc3RhdGUg
d2l0aG91dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKCmdldF9kb21haW5fc3Rh
dGUoKSB1c2VzIGl0cyBvd24gbG9ja2luZy4gVGh1cywgd2l0aCBjYWxsZXIg
c2lkZSBsb2NraW5nCmlycmVsZXZhbnQsIGl0IGNhbiBhcyB3ZWxsIGJlIGNh
bGxlZCB3aXRoIHRoZSBkb21jdGwgbG9jayBub3QgaGVsZC4KCk1vdmUgdGhl
IGhhbmRsaW5nIG5vdCBvbmx5IGFoZWFkIG9mIGFjcXVpcmluZyB0aGUgbG9j
aywgYnV0IGFsc28gYWhlYWQKb2YgdGhlIFhTTSBjaGVjaywgbGV2ZXJhZ2lu
ZyB0aGF0IHRoZSBzdWItb3AgaGFzIGl0cyBvd24gaG9vay4KClRoaXMgaXMg
cGFydCBvZiBYU0EtNDkyLgoKRml4ZXM6IDNhZDNkZjFiZDBhYSAoInhlbjog
YWRkIG5ldyBkb21jdGwgZ2V0X2RvbWFpbl9zdGF0ZSIpClJlcG9ydGVkLWJ5
OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpT
aWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+
CkFja2VkLWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3Nv
bHV0aW9ucy5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxy
b2dlci5wYXVAY2l0cml4LmNvbT4KCi0tLSBhL3hlbi9jb21tb24vZG9tY3Rs
LmMKKysrIGIveGVuL2NvbW1vbi9kb21jdGwuYwpAQCAtMzM5LDYgKzMzOSwx
NCBAQCBsb25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhl
CiAKICAgICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5Owog
CisgICAgY2FzZSBYRU5fRE9NQ1RMX2dldF9kb21haW5fc3RhdGU6CisgICAg
ICAgIHJldCA9IHhzbV9nZXRfZG9tYWluX3N0YXRlKFhTTV9YU19QUklWLCBk
KTsKKyAgICAgICAgaWYgKCAhcmV0ICkKKyAgICAgICAgICAgIHJldCA9IGdl
dF9kb21haW5fc3RhdGUoJm9wLT51LmdldF9kb21haW5fc3RhdGUsIGQsICZv
cC0+ZG9tYWluKTsKKyAgICAgICAgaWYgKCAhcmV0ICkKKyAgICAgICAgICAg
IGNvcHliYWNrID0gdHJ1ZTsKKyAgICAgICAgZ290byBkb21jdGxfb3V0X3Vu
bG9ja19kb21vbmx5OworCiAgICAgZGVmYXVsdDoKICAgICAgICAgLyogRXZl
cnl0aGluZyBlbHNlIGhhbmRsZWQgZnVydGhlciBkb3duLiAqLwogICAgICAg
ICBicmVhazsKQEAgLTg3NCwxNCArODgyLDYgQEAgbG9uZyBkb19kb21jdGwo
WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICAgICAgcmV0ID0g
LUVPUE5PVFNVUFA7CiAgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBYRU5f
RE9NQ1RMX2dldF9kb21haW5fc3RhdGU6Ci0gICAgICAgIHJldCA9IHhzbV9n
ZXRfZG9tYWluX3N0YXRlKFhTTV9YU19QUklWLCBkKTsKLSAgICAgICAgaWYg
KCAhcmV0ICkKLSAgICAgICAgICAgIHJldCA9IGdldF9kb21haW5fc3RhdGUo
Jm9wLT51LmdldF9kb21haW5fc3RhdGUsIGQsICZvcC0+ZG9tYWluKTsKLSAg
ICAgICAgaWYgKCAhcmV0ICkKLSAgICAgICAgICAgIGNvcHliYWNrID0gdHJ1
ZTsKLSAgICAgICAgYnJlYWs7Ci0KICAgICBkZWZhdWx0OgogICAgICAgICBy
ZXQgPSBhcmNoX2RvX2RvbWN0bChvcCwgZCwgdV9kb21jdGwpOwogICAgICAg
ICBicmVhazsKLS0tIGEveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKKysrIGIv
eGVuL2luY2x1ZGUveHNtL2R1bW15LmgKQEAgLTE3MiwxMCArMTcyLDkgQEAg
c3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9kb21jdAogICAg
IGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToKICAgICBjYXNlIFhFTl9E
T01DVExfdW5iaW5kX3B0X2lycToKICAgICAgICAgcmV0dXJuIHhzbV9kZWZh
dWx0X2FjdGlvbihYU01fRE1fUFJJViwgY3VycmVudC0+ZG9tYWluLCBkKTsK
LSAgICBjYXNlIFhFTl9ET01DVExfZ2V0X2RvbWFpbl9zdGF0ZToKLSAgICAg
ICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihYU01fWFNfUFJJViwgY3Vy
cmVudC0+ZG9tYWluLCBkKTsKIAogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRk
b21haW5pbmZvOgorICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRfZG9tYWluX3N0
YXRlOgogICAgICAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKICAgICAgICAg
cmV0dXJuIC1FSUxTRVE7CiAKLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5j
CisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjUxLDYgKzY1MSw3
IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAog
CiAgICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBob29rcyBhbmQg
ZG9uJ3QgbWFrZSBpdCBoZXJlLiAqLwogICAgIGNhc2UgWEVOX0RPTUNUTF9n
ZXRkb21haW5pbmZvOgorICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRfZG9tYWlu
X3N0YXRlOgogICAgICAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKICAgICAg
ICAgcmV0dXJuIC1FSUxTRVE7CiAKQEAgLTY2MSw3ICs2NjIsNiBAQCBzdGF0
aWMgaW50IGNmX2NoZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICBjYXNl
IFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAgICAgY2FzZSBYRU5fRE9N
Q1RMX3NldF90YXJnZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3ZtX2V2ZW50
X29wOgotICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRfZG9tYWluX3N0YXRlOgog
CiAgICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBob29rcyAoYXJj
aC8uLi9kb21jdGwuYykgKi8KICAgICBjYXNlIFhFTl9ET01DVExfYmluZF9w
dF9pcnE6Cg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-05.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-05.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21haW46IGxvY2tpbmcgZm9yIGlvbWVtX2NhcHMgYWNjZXNzZXMKCklu
IG9yZGVyIHRvIGJlIGFibGUgdG8gcHVsbCBhdCBsZWFzdCB0aGUgWEVOX0RP
TUNUTF9pb21lbV9tYXBwaW5nIGhhbmRsaW5nCm91dCBvZiB0aGUgZG9tY3Rs
LWxvY2tlZCByZWdpb24sIGEgc2VwYXJhdGUgKHBlci1kb21haW4pIGxvY2sg
aXMgbmVlZGVkIHRvCnN5bmNocm9uaXplIGluIHBhcnRpY3VsYXIgd2l0aCBY
RU5fRE9NQ1RMX2lvbWVtX3Blcm1pc3Npb24uCgpMb2NraW5nIGlzIGFkZGVk
IG9ubHkgYXMgZmFyIGFzIGRvbWN0bC1zIGFyZSBhZmZlY3RlZC4gVXNlcyBw
cmVzZW50bHkKb3V0c2lkZSBvZiB0aGUgZG9tY3RsIGxvY2sgbWF5IHdhbnQg
ZGVhbGluZyB3aXRoIHN1YnNlcXVlbnRseSAocGVyaGFwcwpsaW1pdGVkIHRv
IG5vbi1fX2luaXQgY29kZSkuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4K
ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv
bT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBj
aXRyaXguY29tPgoKLS0tIGEveGVuL2NvbW1vbi9kb21haW4uYworKysgYi94
ZW4vY29tbW9uL2RvbWFpbi5jCkBAIC01NjgsMTAgKzU2OCwxNSBAQCBzdGF0
aWMgaW50IGxhdGVfaHdkb21faW5pdChzdHJ1Y3QgZG9tYWluCiAgICAgICog
bWF5IGJlIG1vZGlmaWVkIGFmdGVyIHRoaXMgaHlwZXJjYWxsIHJldHVybnMg
aWYgYSBtb3JlIGNvbXBsZXgKICAgICAgKiBkZXZpY2UgbW9kZWwgaXMgZGVz
aXJlZC4KICAgICAgKi8KKyAgICB3cml0ZV9sb2NrKCZkb20wLT5jYXBzX2xv
Y2spOwogICAgIHJhbmdlc2V0X3N3YXAoZC0+aXJxX2NhcHMsIGRvbTAtPmly
cV9jYXBzKTsKICAgICByYW5nZXNldF9zd2FwKGQtPmlvbWVtX2NhcHMsIGRv
bTAtPmlvbWVtX2NhcHMpOwogI2lmZGVmIENPTkZJR19YODYKICAgICByYW5n
ZXNldF9zd2FwKGQtPmFyY2guaW9wb3J0X2NhcHMsIGRvbTAtPmFyY2guaW9w
b3J0X2NhcHMpOworI2VuZGlmCisgICAgd3JpdGVfdW5sb2NrKCZkb20wLT5j
YXBzX2xvY2spOworCisjaWZkZWYgQ09ORklHX1g4NgogICAgIHNldHVwX2lv
X2JpdG1hcChkKTsKICAgICBzZXR1cF9pb19iaXRtYXAoZG9tMCk7CiAjZW5k
aWYKQEAgLTkzNyw2ICs5NDIsNyBAQCBzdHJ1Y3QgZG9tYWluICpkb21haW5f
Y3JlYXRlKGRvbWlkX3QgZG9tCiAgICAgcnNwaW5fbG9ja19pbml0X3Byb2Yo
ZCwgZG9tYWluX2xvY2spOwogICAgIHJzcGluX2xvY2tfaW5pdF9wcm9mKGQs
IHBhZ2VfYWxsb2NfbG9jayk7CiAgICAgc3Bpbl9sb2NrX2luaXQoJmQtPmh5
cGVyY2FsbF9kZWFkbG9ja19tdXRleCk7CisgICAgcndsb2NrX2luaXQoJmQt
PmNhcHNfbG9jayk7CiAgICAgSU5JVF9QQUdFX0xJU1RfSEVBRCgmZC0+cGFn
ZV9saXN0KTsKICAgICBJTklUX1BBR0VfTElTVF9IRUFEKCZkLT5leHRyYV9w
YWdlX2xpc3QpOwogICAgIElOSVRfUEFHRV9MSVNUX0hFQUQoJmQtPnhlbnBh
Z2VfbGlzdCk7Ci0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMKKysrIGIveGVu
L2NvbW1vbi9kb21jdGwuYwpAQCAtMjY3LDYgKzI2NywzNSBAQCBzdGF0aWMg
c3RydWN0IHZudW1hX2luZm8gKnZudW1hX2luaXQoY29uCiAgICAgcmV0dXJu
IEVSUl9QVFIocmV0KTsKIH0KIAordm9pZCBpb2NhcHNfZG91YmxlX2xvY2so
c3RydWN0IGRvbWFpbiAqZCwgYm9vbCB3cml0ZSkKK3sKKyAgICBzdHJ1Y3Qg
ZG9tYWluICpjdXJyZCA9IGN1cnJlbnQtPmRvbWFpbjsKKworICAgIGlmICgg
ZC0+ZG9tYWluX2lkID4gY3VycmQtPmRvbWFpbl9pZCApCisgICAgICAgIHJl
YWRfbG9jaygmY3VycmQtPmNhcHNfbG9jayk7CisKKyAgICBpZiAoIHdyaXRl
ICkKKyAgICAgICAgd3JpdGVfbG9jaygmZC0+Y2Fwc19sb2NrKTsKKyAgICBl
bHNlCisgICAgICAgIHJlYWRfbG9jaygmZC0+Y2Fwc19sb2NrKTsKKworICAg
IGlmICggZC0+ZG9tYWluX2lkIDwgY3VycmQtPmRvbWFpbl9pZCApCisgICAg
ICAgIHJlYWRfbG9jaygmY3VycmQtPmNhcHNfbG9jayk7Cit9CisKK3ZvaWQg
aW9jYXBzX2RvdWJsZV91bmxvY2soc3RydWN0IGRvbWFpbiAqZCwgYm9vbCB3
cml0ZSkKK3sKKyAgICBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1cnJlbnQt
PmRvbWFpbjsKKworICAgIGlmICggZCAhPSBjdXJyZCApCisgICAgICAgIHJl
YWRfdW5sb2NrKCZjdXJyZC0+Y2Fwc19sb2NrKTsKKworICAgIGlmICggd3Jp
dGUgKQorICAgICAgICB3cml0ZV91bmxvY2soJmQtPmNhcHNfbG9jayk7Cisg
ICAgZWxzZQorICAgICAgICByZWFkX3VubG9jaygmZC0+Y2Fwc19sb2NrKTsK
K30KKwogc3RhdGljIGJvb2wgaXNfc3RhYmxlX2RvbWN0bCh1aW50MzJfdCBj
bWQpCiB7CiAgICAgcmV0dXJuIGNtZCA9PSBYRU5fRE9NQ1RMX2dldF9kb21h
aW5fc3RhdGU7CkBAIC02OTMsNiArNzIyLDggQEAgbG9uZyBkb19kb21jdGwo
WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICBpZiAoIChtZm4g
KyBucl9tZm5zIC0gMSkgPCBtZm4gKSAvKiB3cmFwPyAqLwogICAgICAgICAg
ICAgYnJlYWs7CiAKKyAgICAgICAgaW9jYXBzX2RvdWJsZV9sb2NrKGQsIHRy
dWUpOworCiAgICAgICAgIGlmICggIWlvbWVtX2FjY2Vzc19wZXJtaXR0ZWQo
Y3VycmVudC0+ZG9tYWluLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1mbiwgbWZuICsgbnJfbWZucyAtIDEpIHx8CiAgICAgICAg
ICAgICAgeHNtX2lvbWVtX3Blcm1pc3Npb24oWFNNX0hPT0ssIGQsIG1mbiwg
bWZuICsgbnJfbWZucyAtIDEsIGFsbG93KSApCkBAIC03MDEsNiArNzMyLDgg
QEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQog
ICAgICAgICAgICAgcmV0ID0gaW9tZW1fcGVybWl0X2FjY2VzcyhkLCBtZm4s
IG1mbiArIG5yX21mbnMgLSAxKTsKICAgICAgICAgZWxzZQogICAgICAgICAg
ICAgcmV0ID0gaW9tZW1fZGVueV9hY2Nlc3MoZCwgbWZuLCBtZm4gKyBucl9t
Zm5zIC0gMSk7CisKKyAgICAgICAgaW9jYXBzX2RvdWJsZV91bmxvY2soZCwg
dHJ1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIApAQCAtNzI1LDE5ICs3
NTgsMTUgQEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJB
TSh4ZQogICAgICAgICAgICAgYnJlYWs7CiAjZW5kaWYKIAorICAgICAgICBp
b2NhcHNfZG91YmxlX2xvY2soZCwgZmFsc2UpOworCiAgICAgICAgIHJldCA9
IC1FUEVSTTsKICAgICAgICAgaWYgKCAhaW9tZW1fYWNjZXNzX3Blcm1pdHRl
ZChjdXJyZW50LT5kb21haW4sIG1mbiwgbWZuX2VuZCkgfHwKLSAgICAgICAg
ICAgICAhaW9tZW1fYWNjZXNzX3Blcm1pdHRlZChkLCBtZm4sIG1mbl9lbmQp
ICkKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIHJldCA9IHhzbV9p
b21lbV9tYXBwaW5nKFhTTV9IT09LLCBkLCBtZm4sIG1mbl9lbmQsIGFkZCk7
Ci0gICAgICAgIGlmICggcmV0ICkKLSAgICAgICAgICAgIGJyZWFrOwotCi0g
ICAgICAgIGlmICggIXBhZ2luZ19tb2RlX3RyYW5zbGF0ZShkKSApCi0gICAg
ICAgICAgICBicmVhazsKLQotICAgICAgICBpZiAoIGFkZCApCisgICAgICAg
ICAgICAgIWlvbWVtX2FjY2Vzc19wZXJtaXR0ZWQoZCwgbWZuLCBtZm5fZW5k
KSB8fAorICAgICAgICAgICAgIChyZXQgPSB4c21faW9tZW1fbWFwcGluZyhY
U01fSE9PSywgZCwgbWZuLCBtZm5fZW5kLCBhZGQpKSB8fAorICAgICAgICAg
ICAgICFwYWdpbmdfbW9kZV90cmFuc2xhdGUoZCkgKQorICAgICAgICAgICAg
LyogTm90aGluZy4gKi87CisgICAgICAgIGVsc2UgaWYgKCBhZGQgKQogICAg
ICAgICB7CiAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfREVCVUcKICAg
ICAgICAgICAgICAgICAgICAibWVtb3J5X21hcDphZGQ6IGRvbSVkIGdmbj0l
bHggbWZuPSVseCBucj0lbHhcbiIsCkBAIC03NjEsNiArNzkwLDggQEAgbG9u
ZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAg
ICAgICAgICAgICAgICAgICAibWVtb3J5X21hcDogZXJyb3IgJWxkIHJlbW92
aW5nIGRvbSVkIGFjY2VzcyB0byBbJWx4LCVseF1cbiIsCiAgICAgICAgICAg
ICAgICAgICAgICAgIHJldCwgZC0+ZG9tYWluX2lkLCBtZm4sIG1mbl9lbmQp
OwogICAgICAgICB9CisKKyAgICAgICAgaW9jYXBzX2RvdWJsZV91bmxvY2so
ZCwgZmFsc2UpOwogICAgICAgICBicmVhazsKICAgICB9CiAKLS0tIGEveGVu
L2luY2x1ZGUveGVuL2lvY2FwLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL2lv
Y2FwLmgKQEAgLTEyLDYgKzEyLDkgQEAKICNpbmNsdWRlIDxhc20vaW9jYXAu
aD4KICNpbmNsdWRlIDxhc20vcDJtLmg+CiAKK3ZvaWQgaW9jYXBzX2RvdWJs
ZV9sb2NrKHN0cnVjdCBkb21haW4gKmQsIGJvb2wgd3JpdGUpOwordm9pZCBp
b2NhcHNfZG91YmxlX3VubG9jayhzdHJ1Y3QgZG9tYWluICpkLCBib29sIHdy
aXRlKTsKKwogc3RhdGljIGlubGluZSBpbnQgaW9tZW1fcGVybWl0X2FjY2Vz
cyhzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIHMsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcg
ZSkKIHsKLS0tIGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKKysrIGIveGVu
L2luY2x1ZGUveGVuL3NjaGVkLmgKQEAgLTU1MSw2ICs1NTEsNyBAQCBzdHJ1
Y3QgZG9tYWluCiAjZW5kaWYKIAogICAgIC8qIEkvTyBjYXBhYmlsaXRpZXMg
KGFjY2VzcyB0byBJUlFzIGFuZCBtZW1vcnktbWFwcGVkIEkvTykuICovCisg
ICAgcndsb2NrX3QgICAgICAgICBjYXBzX2xvY2s7CiAgICAgc3RydWN0IHJh
bmdlc2V0ICppb21lbV9jYXBzOwogICAgIHN0cnVjdCByYW5nZXNldCAqaXJx
X2NhcHM7CiAK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-06.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-06.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvZG9tYWluOiBsb2NraW5nIGZvciBpb3BvcnRfY2FwcyBhY2Nlc3Nl
cwoKSW4gb3JkZXIgdG8gYmUgYWJsZSB0byBwdWxsIGF0IGxlYXN0IHRoZSBY
RU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nCmhhbmRsaW5nIG91dCBvZiB0aGUg
ZG9tY3RsLWxvY2tlZCByZWdpb24sIHRoZSBuZXcgc2VwYXJhdGUgKHBlci1k
b21haW4pCmxvY2sgaXMgdXNlZCB0byBzeW5jaHJvbml6ZSBpbiBwYXJ0aWN1
bGFyIHdpdGgKWEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbi4KCkxvY2tp
bmcgaXMgYWRkZWQgb25seSBhcyBmYXIgYXMgZG9tY3RsLXMgYXJlIGFmZmVj
dGVkLiBVc2VzIHByZXNlbnRseQpvdXRzaWRlIG9mIHRoZSBkb21jdGwgbG9j
ayBtYXkgd2FudCBkZWFsaW5nIHdpdGggc3Vic2VxdWVudGx5IChwZXJoYXBz
CmxpbWl0ZWQgdG8gbm9uLV9faW5pdCBjb2RlKS4KClRoaXMgaXMgcGFydCBv
ZiBYU0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8
cm9nZXIucGF1QGNpdHJpeC5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvZG9t
Y3RsLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWN0bC5jCkBAIC0yMzcsNiAr
MjM3LDggQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgKICAgICAgICAgdW5zaWdu
ZWQgaW50IG5wID0gZG9tY3RsLT51LmlvcG9ydF9wZXJtaXNzaW9uLm5yX3Bv
cnRzOwogICAgICAgICBpbnQgYWxsb3cgPSBkb21jdGwtPnUuaW9wb3J0X3Bl
cm1pc3Npb24uYWxsb3dfYWNjZXNzOwogCisgICAgICAgIGlvY2Fwc19kb3Vi
bGVfbG9jayhkLCB0cnVlKTsKKwogICAgICAgICBpZiAoIChmcCArIG5wKSA8
PSBmcCB8fCAoZnAgKyBucCkgPiBNQVhfSU9QT1JUUyApCiAgICAgICAgICAg
ICByZXQgPSAtRUlOVkFMOwogICAgICAgICBlbHNlIGlmICggIWlvcG9ydHNf
YWNjZXNzX3Blcm1pdHRlZChjdXJyZCwgZnAsIGZwICsgbnAgLSAxKSB8fApA
QCAtMjQ2LDYgKzI0OCw4IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoCiAgICAg
ICAgICAgICByZXQgPSBpb3BvcnRzX3Blcm1pdF9hY2Nlc3MoZCwgZnAsIGZw
ICsgbnAgLSAxKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmV0ID0g
aW9wb3J0c19kZW55X2FjY2VzcyhkLCBmcCwgZnAgKyBucCAtIDEpOworCisg
ICAgICAgIGlvY2Fwc19kb3VibGVfdW5sb2NrKGQsIHRydWUpOwogICAgICAg
ICBicmVhazsKICAgICB9CiAKQEAgLTY1MiwxNiArNjU2LDEzIEBAIGxvbmcg
YXJjaF9kb19kb21jdGwoCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogCi0gICAgICAgIHJldCA9IC1FUEVSTTsKLSAgICAgICAgaWYgKCAhaW9w
b3J0c19hY2Nlc3NfcGVybWl0dGVkKGN1cnJkLCBmbXAsIGZtcCArIG5wIC0g
MSkgKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgcmV0ID0geHNt
X2lvcG9ydF9tYXBwaW5nKFhTTV9IT09LLCBkLCBmbXAsIGZtcCArIG5wIC0g
MSwgYWRkKTsKLSAgICAgICAgaWYgKCByZXQgKQotICAgICAgICAgICAgYnJl
YWs7Ci0KICAgICAgICAgaHZtID0gJmQtPmFyY2guaHZtOwotICAgICAgICBp
ZiAoIGFkZCApCisgICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCB0cnVl
KTsKKworICAgICAgICBpZiAoICFpb3BvcnRzX2FjY2Vzc19wZXJtaXR0ZWQo
Y3VycmQsIGZtcCwgZm1wICsgbnAgLSAxKSB8fAorICAgICAgICAgICAgIChy
ZXQgPSB4c21faW9wb3J0X21hcHBpbmcoWFNNX0hPT0ssIGQsIGZtcCwgZm1w
ICsgbnAgLSAxLCBhZGQpKSApCisgICAgICAgICAgICByZXQgPSByZXQgPzog
LUVQRVJNOworICAgICAgICBlbHNlIGlmICggYWRkICkKICAgICAgICAgewog
ICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0lORk8KICAgICAgICAgICAg
ICAgICAgICAiaW9wb3J0X21hcDphZGQ6IGRvbSVkIGdwb3J0PSV4IG1wb3J0
PSV4IG5yPSV4XG4iLApAQCAtNzIyLDYgKzcyNCw4IEBAIGxvbmcgYXJjaF9k
b19kb21jdGwoCiAgICAgICAgICAgICAgICAgICAgICAgICJpb3BvcnRfbWFw
OiBlcnJvciAlbGQgZGVueWluZyBkb20lZCBhY2Nlc3MgdG8gWyV4LCV4XVxu
IiwKICAgICAgICAgICAgICAgICAgICAgICAgcmV0LCBkLT5kb21haW5faWQs
IGZtcCwgZm1wICsgbnAgLSAxKTsKICAgICAgICAgfQorCisgICAgICAgIGlv
Y2Fwc19kb3VibGVfdW5sb2NrKGQsIHRydWUpOwogICAgICAgICBicmVhazsK
ICAgICB9CiAKLS0tIGEveGVuL2FyY2gveDg2L3NldHVwLmMKKysrIGIveGVu
L2FyY2gveDg2L3NldHVwLmMKQEAgLTIzMzksOSArMjMzOSwxMiBAQCB2b2lk
IF9faHdkb21faW5pdCBzZXR1cF9pb19iaXRtYXAoc3RydWN0CiAgICAgICAg
IHJldHVybjsKIAogICAgIGJpdG1hcF9maWxsKGQtPmFyY2guaHZtLmlvX2Jp
dG1hcCwgMHgxMDAwMCk7CisKKyAgICByZWFkX2xvY2soJmQtPmNhcHNfbG9j
ayk7CiAgICAgaWYgKCByYW5nZXNldF9yZXBvcnRfcmFuZ2VzKGQtPmFyY2gu
aW9wb3J0X2NhcHMsIDAsIDB4MTAwMDAsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlvX2JpdG1hcF9jYiwgZCkgKQogICAgICAgICBCVUco
KTsKKyAgICByZWFkX3VubG9jaygmZC0+Y2Fwc19sb2NrKTsKIAogICAgIC8q
CiAgICAgICogV2UgbmVlZCB0byB0cmFwIDQtYnl0ZSBhY2Nlc3NlcyB0byAw
eGNmOCAoc2VlIGFkbWluX2lvX29rYXkoKSwK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-07.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-07.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21haW46IGxvY2tpbmcgZm9yIGlycV9jYXBzIGFjY2Vzc2VzCgpJbiBv
cmRlciB0byBiZSBhYmxlIHRvIHB1bGwgYXQgbGVhc3QgdGhlIFhFTl9ET01D
VExfeyx1bn1iaW5kX3B0X2lycQpoYW5kbGluZyBvdXQgb2YgdGhlIGRvbWN0
bC1sb2NrZWQgcmVnaW9uLCBhIHNlcGFyYXRlIChwZXItZG9tYWluKSBsb2Nr
IGlzCm5lZWRlZCB0byBzeW5jaHJvbml6ZSBpbiBwYXJ0aWN1bGFyIHdpdGgg
WEVOX0RPTUNUTF97aXJxLGdzaX1fcGVybWlzc2lvbi4KCkxvY2tpbmcgaXMg
YWRkZWQgb25seSBhcyBmYXIgYXMgZG9tY3RsLXMgYXJlIGFmZmVjdGVkLiBV
c2VzIHByZXNlbnRseQpvdXRzaWRlIG9mIHRoZSBkb21jdGwgbG9jayBtYXkg
d2FudCBkZWFsaW5nIHdpdGggc3Vic2VxdWVudGx5IChwZXJoYXBzCmxpbWl0
ZWQgdG8gbm9uLV9faW5pdCBjb2RlKS4KClRoaXMgaXMgcGFydCBvZiBYU0Et
NDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIu
cGF1QGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1
bGllbkB4ZW4ub3JnPgoKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWN0bC5jCisr
KyBiL3hlbi9hcmNoL2FybS9kb21jdGwuYwpAQCAtNzYsNiArNzYsNyBAQCBs
b25nIGFyY2hfZG9fZG9tY3RsKHN0cnVjdCB4ZW5fZG9tY3RsICpkCiAgICAg
Y2FzZSBYRU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgogICAgIHsKICAgICAgICAg
aW50IHJjOworICAgICAgICBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1cnJl
bnQtPmRvbWFpbjsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfYmluZF9w
dF9pcnEgKmJpbmQgPSAmZG9tY3RsLT51LmJpbmRfcHRfaXJxOwogICAgICAg
ICB1aW50MzJfdCBpcnEgPSBiaW5kLT51LnNwaS5zcGk7CiAgICAgICAgIHVp
bnQzMl90IHZpcnEgPSBiaW5kLT5tYWNoaW5lX2lycTsKQEAgLTEwNywyMSAr
MTA4LDI2IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoc3RydWN0IHhlbl9kb21j
dGwgKmQKICAgICAgICAgaWYgKCByYyApCiAgICAgICAgICAgICByZXR1cm4g
cmM7CiAKLSAgICAgICAgaWYgKCAhaXJxX2FjY2Vzc19wZXJtaXR0ZWQoY3Vy
cmVudC0+ZG9tYWluLCBpcnEpICkKLSAgICAgICAgICAgIHJldHVybiAtRVBF
Uk07CisgICAgICAgIHJlYWRfbG9jaygmY3VycmQtPmNhcHNfbG9jayk7CiAK
LSAgICAgICAgaWYgKCAhdmdpY19yZXNlcnZlX3ZpcnEoZCwgdmlycSkgKQot
ICAgICAgICAgICAgcmV0dXJuIC1FQlVTWTsKLQotICAgICAgICByYyA9IHJv
dXRlX2lycV90b19ndWVzdChkLCB2aXJxLCBpcnEsICJyb3V0ZWQgSVJRIik7
Ci0gICAgICAgIGlmICggcmMgKQotICAgICAgICAgICAgdmdpY19mcmVlX3Zp
cnEoZCwgdmlycSk7CisgICAgICAgIGlmICggIWlycV9hY2Nlc3NfcGVybWl0
dGVkKGN1cnJkLCBpcnEpICkKKyAgICAgICAgICAgIHJjID0gLUVQRVJNOwor
ICAgICAgICBlbHNlIGlmICggIXZnaWNfcmVzZXJ2ZV92aXJxKGQsIHZpcnEp
ICkKKyAgICAgICAgICAgIHJjID0gLUVCVVNZOworICAgICAgICBlbHNlCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHJjID0gcm91dGVfaXJxX3RvX2d1ZXN0
KGQsIHZpcnEsIGlycSwgInJvdXRlZCBJUlEiKTsKKyAgICAgICAgICAgIGlm
ICggcmMgKQorICAgICAgICAgICAgICAgIHZnaWNfZnJlZV92aXJxKGQsIHZp
cnEpOworICAgICAgICB9CiAKKyAgICAgICAgcmVhZF91bmxvY2soJmN1cnJk
LT5jYXBzX2xvY2spOwogICAgICAgICByZXR1cm4gcmM7CiAgICAgfQogICAg
IGNhc2UgWEVOX0RPTUNUTF91bmJpbmRfcHRfaXJxOgogICAgIHsKICAgICAg
ICAgaW50IHJjOworICAgICAgICBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1
cnJlbnQtPmRvbWFpbjsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfYmlu
ZF9wdF9pcnEgKmJpbmQgPSAmZG9tY3RsLT51LmJpbmRfcHRfaXJxOwogICAg
ICAgICB1aW50MzJfdCBpcnEgPSBiaW5kLT51LnNwaS5zcGk7CiAgICAgICAg
IHVpbnQzMl90IHZpcnEgPSBiaW5kLT5tYWNoaW5lX2lycTsKQEAgLTEzOCwx
NiArMTQ0LDE1IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoc3RydWN0IHhlbl9k
b21jdGwgKmQKICAgICAgICAgaWYgKCByYyApCiAgICAgICAgICAgICByZXR1
cm4gcmM7CiAKLSAgICAgICAgaWYgKCAhaXJxX2FjY2Vzc19wZXJtaXR0ZWQo
Y3VycmVudC0+ZG9tYWluLCBpcnEpICkKLSAgICAgICAgICAgIHJldHVybiAt
RVBFUk07Ci0KLSAgICAgICAgcmMgPSByZWxlYXNlX2d1ZXN0X2lycShkLCB2
aXJxKTsKLSAgICAgICAgaWYgKCByYyApCi0gICAgICAgICAgICByZXR1cm4g
cmM7CisgICAgICAgIHJlYWRfbG9jaygmY3VycmQtPmNhcHNfbG9jayk7CiAK
LSAgICAgICAgdmdpY19mcmVlX3ZpcnEoZCwgdmlycSk7CisgICAgICAgIGlm
ICggIWlycV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJkLCBpcnEpICkKKyAgICAg
ICAgICAgIHJjID0gLUVQRVJNOworICAgICAgICBlbHNlIGlmICggIShyYyA9
IHJlbGVhc2VfZ3Vlc3RfaXJxKGQsIHZpcnEpKSApCisgICAgICAgICAgICB2
Z2ljX2ZyZWVfdmlycShkLCB2aXJxKTsKIAotICAgICAgICByZXR1cm4gMDsK
KyAgICAgICAgcmVhZF91bmxvY2soJmN1cnJkLT5jYXBzX2xvY2spOworICAg
ICAgICByZXR1cm4gcmM7CiAgICAgfQogCiAgICAgY2FzZSBYRU5fRE9NQ1RM
X3Z1YXJ0X29wOgotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIv
eGVuL2FyY2gveDg2L2RvbWN0bC5jCkBAIC0yNzEsMTYgKzI3MSwxNyBAQCBs
b25nIGFyY2hfZG9fZG9tY3RsKAogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KIAotICAgICAgICByZXQgPSAtRVBFUk07CisgICAgICAgIGlvY2Fw
c19kb3VibGVfbG9jayhkLCB0cnVlKTsKKwogICAgICAgICBpZiAoICFpcnFf
YWNjZXNzX3Blcm1pdHRlZChjdXJyZCwgaXJxKSB8fAogICAgICAgICAgICAg
IHhzbV9pcnFfcGVybWlzc2lvbihYU01fSE9PSywgZCwgaXJxLCBmbGFncykg
KQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgaWYgKCBmbGFncyAp
CisgICAgICAgICAgICByZXQgPSAtRVBFUk07CisgICAgICAgIGVsc2UgaWYg
KCBmbGFncyApCiAgICAgICAgICAgICByZXQgPSBpcnFfcGVybWl0X2FjY2Vz
cyhkLCBpcnEpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXQgPSBp
cnFfZGVueV9hY2Nlc3MoZCwgaXJxKTsKIAorICAgICAgICBpb2NhcHNfZG91
YmxlX3VubG9jayhkLCB0cnVlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQog
CkBAIC01ODMsMjAgKzU4NCwyNyBAQCBsb25nIGFyY2hfZG9fZG9tY3RsKAog
ICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgaXJxID0gZG9tYWluX3Bp
cnFfdG9faXJxKGQsIGJpbmQtPm1hY2hpbmVfaXJxKTsKLSAgICAgICAgcmV0
ID0gLUVQRVJNOwotICAgICAgICBpZiAoIGlycSA8PSAwIHx8ICFpcnFfYWNj
ZXNzX3Blcm1pdHRlZChjdXJyZCwgaXJxKSApCi0gICAgICAgICAgICBicmVh
azsKKyAgICAgICAgaWYgKCBpcnEgPD0gMCApCisgICAgICAgICAgICByZXQg
PSAtRVBFUk07CiAKLSAgICAgICAgcmV0ID0gLUVTUkNIOwotICAgICAgICBp
ZiAoIGlzX2lvbW11X2VuYWJsZWQoZCkgKQorICAgICAgICByZWFkX2xvY2so
JmN1cnJkLT5jYXBzX2xvY2spOworCisgICAgICAgIGlmICggIWlycV9hY2Nl
c3NfcGVybWl0dGVkKGN1cnJkLCBpcnEpICkKKyAgICAgICAgICAgIHJldCA9
IC1FUEVSTTsKKyAgICAgICAgZWxzZSBpZiAoIGlzX2lvbW11X2VuYWJsZWQo
ZCkgKQogICAgICAgICB7CiAgICAgICAgICAgICBwY2lkZXZzX2xvY2soKTsK
ICAgICAgICAgICAgIHJldCA9IHB0X2lycV9jcmVhdGVfYmluZChkLCBiaW5k
KTsKICAgICAgICAgICAgIHBjaWRldnNfdW5sb2NrKCk7CisKKyAgICAgICAg
ICAgIGlmICggcmV0IDwgMCApCisgICAgICAgICAgICAgICAgcHJpbnRrKFhF
TkxPR19HX0VSUiAicHRfaXJxX2NyZWF0ZV9iaW5kIGZhaWxlZCAoJWxkKSBm
b3IgJXBkXG4iLAorICAgICAgICAgICAgICAgICAgICAgICByZXQsIGQpOwog
ICAgICAgICB9Ci0gICAgICAgIGlmICggcmV0IDwgMCApCi0gICAgICAgICAg
ICBwcmludGsoWEVOTE9HX0dfRVJSICJwdF9pcnFfY3JlYXRlX2JpbmQgZmFp
bGVkICglbGQpIGZvciBkb20lZFxuIiwKLSAgICAgICAgICAgICAgICAgICBy
ZXQsIGQtPmRvbWFpbl9pZCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IHJldCA9IC1FU1JDSDsKKworICAgICAgICByZWFkX3VubG9jaygmY3VycmQt
PmNhcHNfbG9jayk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIApAQCAtNjA5
LDIzICs2MTcsMjYgQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgKICAgICAgICAg
aWYgKCAhaXNfaHZtX2RvbWFpbihkKSApCiAgICAgICAgICAgICBicmVhazsK
IAotICAgICAgICByZXQgPSAtRVBFUk07Ci0gICAgICAgIGlmICggaXJxIDw9
IDAgfHwgIWlycV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJkLCBpcnEpICkKLSAg
ICAgICAgICAgIGJyZWFrOwotCiAgICAgICAgIHJldCA9IHhzbV91bmJpbmRf
cHRfaXJxKFhTTV9IT09LLCBkLCBiaW5kKTsKICAgICAgICAgaWYgKCByZXQg
KQogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgaWYgKCBpc19pb21t
dV9lbmFibGVkKGQpICkKKyAgICAgICAgcmVhZF9sb2NrKCZjdXJyZC0+Y2Fw
c19sb2NrKTsKKworICAgICAgICBpZiAoICFpcnFfYWNjZXNzX3Blcm1pdHRl
ZChjdXJyZCwgaXJxKSApCisgICAgICAgICAgICByZXQgPSAtRVBFUk07Cisg
ICAgICAgIGVsc2UgaWYgKCBpc19pb21tdV9lbmFibGVkKGQpICkKICAgICAg
ICAgewogICAgICAgICAgICAgcGNpZGV2c19sb2NrKCk7CiAgICAgICAgICAg
ICByZXQgPSBwdF9pcnFfZGVzdHJveV9iaW5kKGQsIGJpbmQpOwogICAgICAg
ICAgICAgcGNpZGV2c191bmxvY2soKTsKKworICAgICAgICAgICAgaWYgKCBy
ZXQgPCAwICkKKyAgICAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfRVJS
ICJwdF9pcnFfZGVzdHJveV9iaW5kIGZhaWxlZCAoJWxkKSBmb3IgJXBkXG4i
LAorICAgICAgICAgICAgICAgICAgICAgICByZXQsIGQpOwogICAgICAgICB9
Ci0gICAgICAgIGlmICggcmV0IDwgMCApCi0gICAgICAgICAgICBwcmludGso
WEVOTE9HX0dfRVJSICJwdF9pcnFfZGVzdHJveV9iaW5kIGZhaWxlZCAoJWxk
KSBmb3IgZG9tJWRcbiIsCi0gICAgICAgICAgICAgICAgICAgcmV0LCBkLT5k
b21haW5faWQpOworCisgICAgICAgIHJlYWRfdW5sb2NrKCZjdXJyZC0+Y2Fw
c19sb2NrKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0tLSBhL3hlbi9j
b21tb24vZG9tY3RsLmMKKysrIGIveGVuL2NvbW1vbi9kb21jdGwuYwpAQCAt
NzAxLDYgKzcwMSw5IEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5E
TEVfUEFSQU0oeGUKICAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQorCisgICAgICAgIGlvY2Fwc19k
b3VibGVfbG9jayhkLCB0cnVlKTsKKwogICAgICAgICBpcnEgPSBwaXJxX2Fj
Y2Vzc19wZXJtaXR0ZWQoY3VycmVudC0+ZG9tYWluLCBwaXJxKTsKICAgICAg
ICAgaWYgKCAhaXJxIHx8IHhzbV9pcnFfcGVybWlzc2lvbihYU01fSE9PSywg
ZCwgaXJxLCBhbGxvdykgKQogICAgICAgICAgICAgcmV0ID0gLUVQRVJNOwpA
QCAtNzA4LDYgKzcxMSw4IEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9I
QU5ETEVfUEFSQU0oeGUKICAgICAgICAgICAgIHJldCA9IGlycV9wZXJtaXRf
YWNjZXNzKGQsIGlycSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJl
dCA9IGlycV9kZW55X2FjY2VzcyhkLCBpcnEpOworCisgICAgICAgIGlvY2Fw
c19kb3VibGVfdW5sb2NrKGQsIHRydWUpOwogICAgICAgICBicmVhazsKICAg
ICB9CiAjZW5kaWYK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-08.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-08.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBYU00vRmxhc2s6IHNwbGl0IHRoZSAuaW9tZW1fbWFwcGluZygpIGhvb2sK
Ckl0J3MgdXNlZCB0d2ljZSBpbiBlbnRpcmVseSBkaWZmZXJlbnQgc2l0dWF0
aW9ucy4gVGhlIHVzZSBpbiBkb19kb21jdGwoKQp3YW50cyB0byBiZWNvbWUg
YW4gb3JkaW5hcnkgWFNNX0RNX1BSSVYgaW52b2NhdGlvbiwgd2hpbGUgdGhl
IG9uZSBpbiB2UENJCmNvZGUgbmVlZCB0byByZW1haW4gWFNNX0hPT0sgKGl0
IG1heSBwbGF1c2libHkgYmVjb21lIFhTTV9UQVJHRVQpLiBGb3IKRmxhc2ss
IHRoZSBzYW1lIGJhY2tpbmcgZnVuY3Rpb24gd2lsbCBjb250aW51ZSB0byBi
ZSB1c2VkIGZvciB0aGUgdGltZQpiZWluZy4KClRoaXMgaXMgcGFydCBvZiBY
U0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRo
QGFwZXJ0dXNzb2x1dGlvbnMuY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvdnBj
aS9oZWFkZXIuYworKysgYi94ZW4vZHJpdmVycy92cGNpL2hlYWRlci5jCkBA
IC02OCw3ICs2OCw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgbWFwX3Jhbmdl
KAogICAgICAgICAgICAgcmV0dXJuIC1FUEVSTTsKICAgICAgICAgfQogCi0g
ICAgICAgIHJjID0geHNtX2lvbWVtX21hcHBpbmcoWFNNX0hPT0ssIG1hcC0+
ZCwgbWFwX21mbiwgbV9lbmQsIG1hcC0+bWFwKTsKKyAgICAgICAgcmMgPSB4
c21faW9tZW1fbWFwcGluZ192cGNpKFhTTV9IT09LLCBtYXAtPmQsIG1hcF9t
Zm4sIG1fZW5kLCBtYXAtPm1hcCk7CiAgICAgICAgIGlmICggcmMgKQogICAg
ICAgICB7CiAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfV0FSTklORwot
LS0gYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAorKysgYi94ZW4vaW5jbHVk
ZS94c20vZHVtbXkuaApAQCAtNTczLDYgKzU3MywxMyBAQCBzdGF0aWMgWFNN
X0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX2lvbWVtCiAgICAgcmV0dXJuIHhz
bV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgZCk7
CiB9CiAKK3N0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21faW9t
ZW1fbWFwcGluZ192cGNpKAorICAgIFhTTV9ERUZBVUxUX0FSRyBzdHJ1Y3Qg
ZG9tYWluICpkLCB1aW50NjRfdCBzLCB1aW50NjRfdCBlLCB1aW50OF90IGFs
bG93KQoreworICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9IT09LKTsKKyAg
ICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+
ZG9tYWluLCBkKTsKK30KKwogc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2No
ZWNrIHhzbV9wY2lfY29uZmlnX3Blcm1pc3Npb24oCiAgICAgWFNNX0RFRkFV
TFRfQVJHIHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90IG1hY2hpbmVfYmRm
LCB1aW50MTZfdCBzdGFydCwKICAgICB1aW50MTZfdCBlbmQsIHVpbnQ4X3Qg
YWNjZXNzKQotLS0gYS94ZW4vaW5jbHVkZS94c20veHNtLmgKKysrIGIveGVu
L2luY2x1ZGUveHNtL3hzbS5oCkBAIC0xMTYsNiArMTE2LDggQEAgc3RydWN0
IHhzbV9vcHMgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
X3QgYWxsb3cpOwogICAgIGludCAoKmlvbWVtX21hcHBpbmcpKHN0cnVjdCBk
b21haW4gKmQsIHVpbnQ2NF90IHMsIHVpbnQ2NF90IGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDhfdCBhbGxvdyk7CisgICAgaW50ICgqaW9t
ZW1fbWFwcGluZ192cGNpKShzdHJ1Y3QgZG9tYWluICpkLCB1aW50NjRfdCBz
LCB1aW50NjRfdCBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDhfdCBhbGxvdyk7CiAgICAgaW50ICgqcGNpX2NvbmZpZ19wZXJtaXNz
aW9uKShzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBtYWNoaW5lX2JkZiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IHN0
YXJ0LCB1aW50MTZfdCBlbmQsIHVpbnQ4X3QgYWNjZXNzKTsKIApAQCAtNTE2
LDYgKzUxOCwxMiBAQCBzdGF0aWMgaW5saW5lIGludCB4c21faW9tZW1fbWFw
cGluZygKICAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4c21fb3BzLmlv
bWVtX21hcHBpbmcsIGQsIHMsIGUsIGFsbG93KTsKIH0KIAorc3RhdGljIGlu
bGluZSBpbnQgeHNtX2lvbWVtX21hcHBpbmdfdnBjaSgKKyAgICB4c21fZGVm
YXVsdF90IGRlZiwgc3RydWN0IGRvbWFpbiAqZCwgdWludDY0X3QgcywgdWlu
dDY0X3QgZSwgdWludDhfdCBhbGxvdykKK3sKKyAgICByZXR1cm4gYWx0ZXJu
YXRpdmVfY2FsbCh4c21fb3BzLmlvbWVtX21hcHBpbmdfdnBjaSwgZCwgcywg
ZSwgYWxsb3cpOworfQorCiBzdGF0aWMgaW5saW5lIGludCB4c21fcGNpX2Nv
bmZpZ19wZXJtaXNzaW9uKAogICAgIHhzbV9kZWZhdWx0X3QgZGVmLCBzdHJ1
Y3QgZG9tYWluICpkLCB1aW50MzJfdCBtYWNoaW5lX2JkZiwgdWludDE2X3Qg
c3RhcnQsCiAgICAgdWludDE2X3QgZW5kLCB1aW50OF90IGFjY2VzcykKLS0t
IGEveGVuL3hzbS9kdW1teS5jCisrKyBiL3hlbi94c20vZHVtbXkuYwpAQCAt
NzQsNiArNzQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHhzbV9vcHMgX19p
bml0Y29uc3RfCiAgICAgLmlycV9wZXJtaXNzaW9uICAgICAgICAgICAgICAg
ID0geHNtX2lycV9wZXJtaXNzaW9uLAogICAgIC5pb21lbV9wZXJtaXNzaW9u
ICAgICAgICAgICAgICA9IHhzbV9pb21lbV9wZXJtaXNzaW9uLAogICAgIC5p
b21lbV9tYXBwaW5nICAgICAgICAgICAgICAgICA9IHhzbV9pb21lbV9tYXBw
aW5nLAorICAgIC5pb21lbV9tYXBwaW5nX3ZwY2kgICAgICAgICAgICA9IHhz
bV9pb21lbV9tYXBwaW5nX3ZwY2ksCiAgICAgLnBjaV9jb25maWdfcGVybWlz
c2lvbiAgICAgICAgID0geHNtX3BjaV9jb25maWdfcGVybWlzc2lvbiwKICAg
ICAuZ2V0X3ZudW1haW5mbyAgICAgICAgICAgICAgICAgPSB4c21fZ2V0X3Zu
dW1haW5mbywKIAotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIv
eGVuL3hzbS9mbGFzay9ob29rcy5jCkBAIC0xOTExLDYgKzE5MTEsNyBAQCBz
dGF0aWMgY29uc3Qgc3RydWN0IHhzbV9vcHMgX19pbml0Y29uc3RfCiAgICAg
LmlycV9wZXJtaXNzaW9uID0gZmxhc2tfaXJxX3Blcm1pc3Npb24sCiAgICAg
LmlvbWVtX3Blcm1pc3Npb24gPSBmbGFza19pb21lbV9wZXJtaXNzaW9uLAog
ICAgIC5pb21lbV9tYXBwaW5nID0gZmxhc2tfaW9tZW1fbWFwcGluZywKKyAg
ICAuaW9tZW1fbWFwcGluZ192cGNpID0gZmxhc2tfaW9tZW1fbWFwcGluZywK
ICAgICAucGNpX2NvbmZpZ19wZXJtaXNzaW9uID0gZmxhc2tfcGNpX2NvbmZp
Z19wZXJtaXNzaW9uLAogCiAgICAgLnJlc291cmNlX3BsdWdfY29yZSA9IGZs
YXNrX3Jlc291cmNlX3BsdWdfY29yZSwK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-09.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-09.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBwaW5nIHdp
dGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRlZGljYXRlZCBs
b2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3QgcmVxdWlyZWQg
aGVyZSBhbnltb3JlLgpNb3ZlIHRoZSByZS1wdXJwb3NlZCBkZWRpY2F0ZWQg
WFNNIGNoZWNrIGFzIGVhcmx5IGFzIHBvc3NpYmxlLgoKTWluaW1hbCAibW9k
ZXJuaXphdGlvbiI6IFN3aXRjaCAiYWRkIiB0byBib29sIGFuZCB1c2UgJXBk
IGluIGxvZyBtZXNzYWdlcy4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoK
Rml4ZXM6IGZkYTQ5ZjliM2ZiYiAoIkFkZCBidWlsZCBvcHRpb24gdG8gYWxs
b3cgbW9yZSBoeXBlcmNhbGxzIGZyb20gc3R1YmRvbXMiKQpSZXBvcnRlZC1i
eTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K
U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
PgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNz
b2x1dGlvbnMuY29tPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8
cm9nZXIucGF1QGNpdHJpeC5jb20+CgotLS0gYS94ZW4vY29tbW9uL2RvbWN0
bC5jCisrKyBiL3hlbi9jb21tb24vZG9tY3RsLmMKQEAgLTM3Niw2ICszNzYs
NjYgQEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4
ZQogICAgICAgICAgICAgY29weWJhY2sgPSB0cnVlOwogICAgICAgICBnb3Rv
IGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CiAKKyAgICBjYXNlIFhFTl9E
T01DVExfbWVtb3J5X21hcHBpbmc6CisgICAgeworICAgICAgICB1bnNpZ25l
ZCBsb25nIGdmbiA9IG9wLT51Lm1lbW9yeV9tYXBwaW5nLmZpcnN0X2dmbjsK
KyAgICAgICAgdW5zaWduZWQgbG9uZyBtZm4gPSBvcC0+dS5tZW1vcnlfbWFw
cGluZy5maXJzdF9tZm47CisgICAgICAgIHVuc2lnbmVkIGxvbmcgbnJfbWZu
cyA9IG9wLT51Lm1lbW9yeV9tYXBwaW5nLm5yX21mbnM7CisgICAgICAgIHVu
c2lnbmVkIGxvbmcgbWZuX2VuZCA9IG1mbiArIG5yX21mbnMgLSAxOworICAg
ICAgICBib29sIGFkZCA9IG9wLT51Lm1lbW9yeV9tYXBwaW5nLmFkZF9tYXBw
aW5nOworCisgICAgICAgIHJldCA9IC1FSU5WQUw7CisgICAgICAgIGlmICgg
bWZuX2VuZCA8IG1mbiB8fCAvKiBXcmFwPyAqLworICAgICAgICAgICAgICgo
bWZuIHwgbWZuX2VuZCkgPj4gKHBhZGRyX2JpdHMgLSBQQUdFX1NISUZUKSkg
fHwKKyAgICAgICAgICAgICAoZ2ZuICsgbnJfbWZucyAtIDEpIDwgZ2ZuICkg
LyogV3JhcD8gKi8KKyAgICAgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxv
Y2tfZG9tb25seTsKKworICAgICAgICByZXQgPSB4c21faW9tZW1fbWFwcGlu
ZyhYU01fRE1fUFJJViwgZCwgbWZuLCBtZm5fZW5kLCBhZGQpOworICAgICAg
ICBpZiAoIHJldCB8fCAhcGFnaW5nX21vZGVfdHJhbnNsYXRlKGQpICkKKyAg
ICAgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9tb25seTsKKwor
I2lmbmRlZiBDT05GSUdfWDg2IC8qIFhYWCBBUk0hPyAqLworICAgICAgICBy
ZXQgPSAtRTJCSUc7CisgICAgICAgIC8qIE11c3QgYnJlYWsgaHlwZXJjYWxs
IHVwIGFzIHRoaXMgY291bGQgdGFrZSBhIHdoaWxlLiAqLworICAgICAgICBp
ZiAoIG5yX21mbnMgPiA2NCApCisgICAgICAgICAgICBnb3RvIGRvbWN0bF9v
dXRfdW5sb2NrX2RvbW9ubHk7CisjZW5kaWYKKworICAgICAgICBpb2NhcHNf
ZG91YmxlX2xvY2soZCwgZmFsc2UpOworCisgICAgICAgIHJldCA9IC1FUEVS
TTsKKyAgICAgICAgaWYgKCAhaW9tZW1fYWNjZXNzX3Blcm1pdHRlZChjdXJy
ZW50LT5kb21haW4sIG1mbiwgbWZuX2VuZCkgfHwKKyAgICAgICAgICAgICAh
aW9tZW1fYWNjZXNzX3Blcm1pdHRlZChkLCBtZm4sIG1mbl9lbmQpICkKKyAg
ICAgICAgICAgIC8qIE5vdGhpbmcuICovOworICAgICAgICBlbHNlIGlmICgg
YWRkICkKKyAgICAgICAgeworICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19H
X0RFQlVHCisgICAgICAgICAgICAgICAgICAgIm1lbW9yeV9tYXA6YWRkOiAl
cGQgZ2ZuPSVseCBtZm49JWx4IG5yPSVseFxuIiwKKyAgICAgICAgICAgICAg
ICAgICBkLCBnZm4sIG1mbiwgbnJfbWZucyk7CisKKyAgICAgICAgICAgIHJl
dCA9IG1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihnZm4pLCBucl9tZm5zLCBf
bWZuKG1mbikpOworICAgICAgICAgICAgaWYgKCByZXQgPCAwICkKKyAgICAg
ICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfV0FSTklORworICAgICAgICAg
ICAgICAgICAgICAgICAibWVtb3J5X21hcDpmYWlsOiAlcGQgZ2ZuPSVseCBt
Zm49JWx4IG5yPSVseCByZXQ6JWxkXG4iLAorICAgICAgICAgICAgICAgICAg
ICAgICBkLCBnZm4sIG1mbiwgbnJfbWZucywgcmV0KTsKKyAgICAgICAgfQor
ICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIHByaW50ayhY
RU5MT0dfR19ERUJVRworICAgICAgICAgICAgICAgICAgICJtZW1vcnlfbWFw
OnJlbW92ZTogJXBkIGdmbj0lbHggbWZuPSVseCBucj0lbHhcbiIsCisgICAg
ICAgICAgICAgICAgICAgZCwgZ2ZuLCBtZm4sIG5yX21mbnMpOworCisgICAg
ICAgICAgICByZXQgPSB1bm1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihnZm4p
LCBucl9tZm5zLCBfbWZuKG1mbikpOworICAgICAgICAgICAgaWYgKCByZXQg
PCAwICYmIGlzX2hhcmR3YXJlX2RvbWFpbihjdXJyZW50LT5kb21haW4pICkK
KyAgICAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0VSUgorICAgICAgICAg
ICAgICAgICAgICAgICAibWVtb3J5X21hcDogZXJyb3IgJWxkIHJlbW92aW5n
ICVwZCBhY2Nlc3MgdG8gWyVseCwlbHhdXG4iLAorICAgICAgICAgICAgICAg
ICAgICAgICByZXQsIGQsIG1mbiwgbWZuX2VuZCk7CisgICAgICAgIH0KKwor
ICAgICAgICBpb2NhcHNfZG91YmxlX3VubG9jayhkLCBmYWxzZSk7CisgICAg
ICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9tb25seTsKKyAgICB9CisK
ICAgICBkZWZhdWx0OgogICAgICAgICAvKiBFdmVyeXRoaW5nIGVsc2UgaGFu
ZGxlZCBmdXJ0aGVyIGRvd24uICovCiAgICAgICAgIGJyZWFrOwpAQCAtNzQy
LDY0ICs4MDIsNiBAQCBsb25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExF
X1BBUkFNKHhlCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIGNhc2Ug
WEVOX0RPTUNUTF9tZW1vcnlfbWFwcGluZzoKLSAgICB7Ci0gICAgICAgIHVu
c2lnbmVkIGxvbmcgZ2ZuID0gb3AtPnUubWVtb3J5X21hcHBpbmcuZmlyc3Rf
Z2ZuOwotICAgICAgICB1bnNpZ25lZCBsb25nIG1mbiA9IG9wLT51Lm1lbW9y
eV9tYXBwaW5nLmZpcnN0X21mbjsKLSAgICAgICAgdW5zaWduZWQgbG9uZyBu
cl9tZm5zID0gb3AtPnUubWVtb3J5X21hcHBpbmcubnJfbWZuczsKLSAgICAg
ICAgdW5zaWduZWQgbG9uZyBtZm5fZW5kID0gbWZuICsgbnJfbWZucyAtIDE7
Ci0gICAgICAgIGludCBhZGQgPSBvcC0+dS5tZW1vcnlfbWFwcGluZy5hZGRf
bWFwcGluZzsKLQotICAgICAgICByZXQgPSAtRUlOVkFMOwotICAgICAgICBp
ZiAoIG1mbl9lbmQgPCBtZm4gfHwgLyogd3JhcD8gKi8KLSAgICAgICAgICAg
ICAoKG1mbiB8IG1mbl9lbmQpID4+IChwYWRkcl9iaXRzIC0gUEFHRV9TSElG
VCkpIHx8Ci0gICAgICAgICAgICAgKGdmbiArIG5yX21mbnMgLSAxKSA8IGdm
biApIC8qIHdyYXA/ICovCi0gICAgICAgICAgICBicmVhazsKLQotI2lmbmRl
ZiBDT05GSUdfWDg2IC8qIFhYWCBBUk0hPyAqLwotICAgICAgICByZXQgPSAt
RTJCSUc7Ci0gICAgICAgIC8qIE11c3QgYnJlYWsgaHlwZXJjYWxsIHVwIGFz
IHRoaXMgY291bGQgdGFrZSBhIHdoaWxlLiAqLwotICAgICAgICBpZiAoIG5y
X21mbnMgPiA2NCApCi0gICAgICAgICAgICBicmVhazsKLSNlbmRpZgotCi0g
ICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCBmYWxzZSk7Ci0KLSAgICAg
ICAgcmV0ID0gLUVQRVJNOwotICAgICAgICBpZiAoICFpb21lbV9hY2Nlc3Nf
cGVybWl0dGVkKGN1cnJlbnQtPmRvbWFpbiwgbWZuLCBtZm5fZW5kKSB8fAot
ICAgICAgICAgICAgICFpb21lbV9hY2Nlc3NfcGVybWl0dGVkKGQsIG1mbiwg
bWZuX2VuZCkgfHwKLSAgICAgICAgICAgICAocmV0ID0geHNtX2lvbWVtX21h
cHBpbmcoWFNNX0hPT0ssIGQsIG1mbiwgbWZuX2VuZCwgYWRkKSkgfHwKLSAg
ICAgICAgICAgICAhcGFnaW5nX21vZGVfdHJhbnNsYXRlKGQpICkKLSAgICAg
ICAgICAgIC8qIE5vdGhpbmcuICovOwotICAgICAgICBlbHNlIGlmICggYWRk
ICkKLSAgICAgICAgewotICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0RF
QlVHCi0gICAgICAgICAgICAgICAgICAgIm1lbW9yeV9tYXA6YWRkOiBkb20l
ZCBnZm49JWx4IG1mbj0lbHggbnI9JWx4XG4iLAotICAgICAgICAgICAgICAg
ICAgIGQtPmRvbWFpbl9pZCwgZ2ZuLCBtZm4sIG5yX21mbnMpOwotCi0gICAg
ICAgICAgICByZXQgPSBtYXBfbW1pb19yZWdpb25zKGQsIF9nZm4oZ2ZuKSwg
bnJfbWZucywgX21mbihtZm4pKTsKLSAgICAgICAgICAgIGlmICggcmV0IDwg
MCApCi0gICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX1dBUk5JTkcK
LSAgICAgICAgICAgICAgICAgICAgICAgIm1lbW9yeV9tYXA6ZmFpbDogZG9t
JWQgZ2ZuPSVseCBtZm49JWx4IG5yPSVseCByZXQ6JWxkXG4iLAotICAgICAg
ICAgICAgICAgICAgICAgICBkLT5kb21haW5faWQsIGdmbiwgbWZuLCBucl9t
Zm5zLCByZXQpOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UKLSAgICAgICAg
ewotICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0RFQlVHCi0gICAgICAg
ICAgICAgICAgICAgIm1lbW9yeV9tYXA6cmVtb3ZlOiBkb20lZCBnZm49JWx4
IG1mbj0lbHggbnI9JWx4XG4iLAotICAgICAgICAgICAgICAgICAgIGQtPmRv
bWFpbl9pZCwgZ2ZuLCBtZm4sIG5yX21mbnMpOwotCi0gICAgICAgICAgICBy
ZXQgPSB1bm1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihnZm4pLCBucl9tZm5z
LCBfbWZuKG1mbikpOwotICAgICAgICAgICAgaWYgKCByZXQgPCAwICYmIGlz
X2hhcmR3YXJlX2RvbWFpbihjdXJyZW50LT5kb21haW4pICkKLSAgICAgICAg
ICAgICAgICBwcmludGsoWEVOTE9HX0VSUgotICAgICAgICAgICAgICAgICAg
ICAgICAibWVtb3J5X21hcDogZXJyb3IgJWxkIHJlbW92aW5nIGRvbSVkIGFj
Y2VzcyB0byBbJWx4LCVseF1cbiIsCi0gICAgICAgICAgICAgICAgICAgICAg
IHJldCwgZC0+ZG9tYWluX2lkLCBtZm4sIG1mbl9lbmQpOwotICAgICAgICB9
Ci0KLSAgICAgICAgaW9jYXBzX2RvdWJsZV91bmxvY2soZCwgZmFsc2UpOwot
ICAgICAgICBicmVhazsKLSAgICB9Ci0KICAgICBjYXNlIFhFTl9ET01DVExf
c2V0dGltZW9mZnNldDoKICAgICAgICAgZG9tYWluX3NldF90aW1lX29mZnNl
dChkLCBvcC0+dS5zZXR0aW1lb2Zmc2V0LnRpbWVfb2Zmc2V0X3NlY29uZHMp
OwogICAgICAgICBicmVhazsKLS0tIGEveGVuL2luY2x1ZGUveHNtL2R1bW15
LmgKKysrIGIveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKQEAgLTE2OCwxMyAr
MTY4LDEzIEBAIHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21f
ZG9tY3QKICAgICBzd2l0Y2ggKCBjbWQgKQogICAgIHsKICAgICBjYXNlIFhF
Tl9ET01DVExfaW9wb3J0X21hcHBpbmc6Ci0gICAgY2FzZSBYRU5fRE9NQ1RM
X21lbW9yeV9tYXBwaW5nOgogICAgIGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0
X2lycToKICAgICBjYXNlIFhFTl9ET01DVExfdW5iaW5kX3B0X2lycToKICAg
ICAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihYU01fRE1fUFJJViwg
Y3VycmVudC0+ZG9tYWluLCBkKTsKIAogICAgIGNhc2UgWEVOX0RPTUNUTF9n
ZXRkb21haW5pbmZvOgogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRfZG9tYWlu
X3N0YXRlOgorICAgIGNhc2UgWEVOX0RPTUNUTF9tZW1vcnlfbWFwcGluZzoK
ICAgICAgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CiAgICAgICAgIHJldHVy
biAtRUlMU0VROwogCkBAIC01NjksNyArNTY5LDcgQEAgc3RhdGljIFhTTV9J
TkxJTkUgaW50IGNmX2NoZWNrIHhzbV9pb21lbQogc3RhdGljIFhTTV9JTkxJ
TkUgaW50IGNmX2NoZWNrIHhzbV9pb21lbV9tYXBwaW5nKAogICAgIFhTTV9E
RUZBVUxUX0FSRyBzdHJ1Y3QgZG9tYWluICpkLCB1aW50NjRfdCBzLCB1aW50
NjRfdCBlLCB1aW50OF90IGFsbG93KQogewotICAgIFhTTV9BU1NFUlRfQUNU
SU9OKFhTTV9IT09LKTsKKyAgICBYU01fQVNTRVJUX0FDVElPTihYU01fRE1f
UFJJVik7CiAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24s
IGN1cnJlbnQtPmRvbWFpbiwgZCk7CiB9CiAKLS0tIGEveGVuL3hzbS9mbGFz
ay9ob29rcy5jCisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjUy
LDYgKzY1Miw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3Rs
KHN0cnVjdAogICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00gaG9v
a3MgYW5kIGRvbid0IG1ha2UgaXQgaGVyZS4gKi8KICAgICBjYXNlIFhFTl9E
T01DVExfZ2V0ZG9tYWluaW5mbzoKICAgICBjYXNlIFhFTl9ET01DVExfZ2V0
X2RvbWFpbl9zdGF0ZToKKyAgICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21h
cHBpbmc6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAgICAg
ICByZXR1cm4gLUVJTFNFUTsKIApAQCAtNjU5LDcgKzY2MCw2IEBAIHN0YXRp
YyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAogICAgIGNhc2Ug
WEVOX0RPTUNUTF9zY2hlZHVsZXJfb3A6CiAgICAgY2FzZSBYRU5fRE9NQ1RM
X2lycV9wZXJtaXNzaW9uOgogICAgIGNhc2UgWEVOX0RPTUNUTF9pb21lbV9w
ZXJtaXNzaW9uOgotICAgIGNhc2UgWEVOX0RPTUNUTF9tZW1vcnlfbWFwcGlu
ZzoKICAgICBjYXNlIFhFTl9ET01DVExfc2V0X3RhcmdldDoKICAgICBjYXNl
IFhFTl9ET01DVExfdm1fZXZlbnRfb3A6CiAK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-10.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-10.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nIHdp
dGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRlZGljYXRlZCBs
b2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3QgcmVxdWlyZWQg
aGVyZSBhbnltb3JlLgpBcyB0aGUgaGFuZGxpbmcgaXMgaW4gYXJjaC1zcGVj
aWZpYyBjb2RlICh4ODYgb25seSksIGFsbW9zdCBubyBjb2RlIGlzCmJlaW5n
IG1vdmVkLCBidXQgYSAybmQgKGV4dGVuc2libGUgdG8gb3RoZXIgc3ViLW9w
cykgaW52b2NhdGlvbiBvZgphcmNoX2RvX2RvbWN0bCgpIGlzIGJlaW5nIGFk
ZGVkLiBNb3ZlIGp1c3QgdGhlIHJlLXB1cnBvc2VkIGRlZGljYXRlZCBYU00K
Y2hlY2sgYXMgZWFybHkgYXMgcG9zc2libGUuCgpJbiBmbGFza19kb21jdGwo
KSBkb24ndCBwdXQgI2lmZGVmIGFyb3VuZCB0aGUgbW92ZWQgY2FzZSBsYWJl
bC4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKRml4ZXM6IGZkYTQ5Zjli
M2ZiYiAoIkFkZCBidWlsZCBvcHRpb24gdG8gYWxsb3cgbW9yZSBoeXBlcmNh
bGxzIGZyb20gc3R1YmRvbXMiKQpSZXBvcnRlZC1ieTogQW5kcmV3IENvb3Bl
ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
Um9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkFja2Vk
LWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9u
cy5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVu
L2FyY2gveDg2L2RvbWN0bC5jCkBAIC02NjcsMTIgKzY2NywxNSBAQCBsb25n
IGFyY2hfZG9fZG9tY3RsKAogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KIAorICAgICAgICByZXQgPSB4c21faW9wb3J0X21hcHBpbmcoWFNNX0RN
X1BSSVYsIGQsIGZtcCwgZm1wICsgbnAgLSAxLCBhZGQpOworICAgICAgICBp
ZiAoIHJldCApCisgICAgICAgICAgICBicmVhazsKKwogICAgICAgICBodm0g
PSAmZC0+YXJjaC5odm07CiAgICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhk
LCB0cnVlKTsKIAotICAgICAgICBpZiAoICFpb3BvcnRzX2FjY2Vzc19wZXJt
aXR0ZWQoY3VycmQsIGZtcCwgZm1wICsgbnAgLSAxKSB8fAotICAgICAgICAg
ICAgIChyZXQgPSB4c21faW9wb3J0X21hcHBpbmcoWFNNX0hPT0ssIGQsIGZt
cCwgZm1wICsgbnAgLSAxLCBhZGQpKSApCi0gICAgICAgICAgICByZXQgPSBy
ZXQgPzogLUVQRVJNOworICAgICAgICBpZiAoICFpb3BvcnRzX2FjY2Vzc19w
ZXJtaXR0ZWQoY3VycmQsIGZtcCwgZm1wICsgbnAgLSAxKSApCisgICAgICAg
ICAgICByZXQgPSAtRVBFUk07CiAgICAgICAgIGVsc2UgaWYgKCBhZGQgKQog
ICAgICAgICB7CiAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfSU5GTwot
LS0gYS94ZW4vY29tbW9uL2RvbWN0bC5jCisrKyBiL3hlbi9jb21tb24vZG9t
Y3RsLmMKQEAgLTQzNiw2ICs0MzYsMTAgQEAgbG9uZyBkb19kb21jdGwoWEVO
X0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICBnb3RvIGRvbWN0bF9v
dXRfdW5sb2NrX2RvbW9ubHk7CiAgICAgfQogCisgICAgY2FzZSBYRU5fRE9N
Q1RMX2lvcG9ydF9tYXBwaW5nOgorICAgICAgICByZXQgPSBhcmNoX2RvX2Rv
bWN0bChvcCwgZCwgdV9kb21jdGwpOworICAgICAgICBnb3RvIGRvbWN0bF9v
dXRfdW5sb2NrX2RvbW9ubHk7CisKICAgICBkZWZhdWx0OgogICAgICAgICAv
KiBFdmVyeXRoaW5nIGVsc2UgaGFuZGxlZCBmdXJ0aGVyIGRvd24uICovCiAg
ICAgICAgIGJyZWFrOwotLS0gYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAor
KysgYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTY3LDEzICsxNjcs
MTMgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9kb21j
dAogICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9PVEhFUik7CiAgICAgc3dp
dGNoICggY21kICkKICAgICB7Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9y
dF9tYXBwaW5nOgogICAgIGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToK
ICAgICBjYXNlIFhFTl9ET01DVExfdW5iaW5kX3B0X2lycToKICAgICAgICAg
cmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihYU01fRE1fUFJJViwgY3VycmVu
dC0+ZG9tYWluLCBkKTsKIAogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRkb21h
aW5pbmZvOgogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRfZG9tYWluX3N0YXRl
OgorICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBj
YXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAgICAgICAgIEFTU0VS
VF9VTlJFQUNIQUJMRSgpOwogICAgICAgICByZXR1cm4gLUVJTFNFUTsKQEAg
LTc2NSw3ICs3NjUsNyBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hl
Y2sgeHNtX2lvcG9yCiBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sg
eHNtX2lvcG9ydF9tYXBwaW5nKAogICAgIFhTTV9ERUZBVUxUX0FSRyBzdHJ1
Y3QgZG9tYWluICpkLCB1aW50MzJfdCBzLCB1aW50MzJfdCBlLCB1aW50OF90
IGFsbG93KQogewotICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9IT09LKTsK
KyAgICBYU01fQVNTRVJUX0FDVElPTihYU01fRE1fUFJJVik7CiAgICAgcmV0
dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFp
biwgZCk7CiB9CiAKLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5jCisrKyBi
L3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjUyLDYgKzY1Miw3IEBAIHN0
YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAogICAgIC8q
IFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBYU00gaG9va3MgYW5kIGRvbid0IG1h
a2UgaXQgaGVyZS4gKi8KICAgICBjYXNlIFhFTl9ET01DVExfZ2V0ZG9tYWlu
aW5mbzoKICAgICBjYXNlIFhFTl9ET01DVExfZ2V0X2RvbWFpbl9zdGF0ZToK
KyAgICBjYXNlIFhFTl9ET01DVExfaW9wb3J0X21hcHBpbmc6CiAgICAgY2Fz
ZSBYRU5fRE9NQ1RMX21lbW9yeV9tYXBwaW5nOgogICAgICAgICBBU1NFUlRf
VU5SRUFDSEFCTEUoKTsKICAgICAgICAgcmV0dXJuIC1FSUxTRVE7CkBAIC02
NzAsNyArNjcxLDYgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21j
dGwoc3RydWN0CiAgICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBo
b29rcyAoYXJjaC94ODYvZG9tY3RsLmMpICovCiAgICAgY2FzZSBYRU5fRE9N
Q1RMX3NoYWRvd19vcDoKICAgICBjYXNlIFhFTl9ET01DVExfaW9wb3J0X3Bl
cm1pc3Npb246Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5n
OgogICAgIGNhc2UgWEVOX0RPTUNUTF9nc2lfcGVybWlzc2lvbjoKICNlbmRp
ZgogI2lmZGVmIENPTkZJR19IQVNfUEFTU1RIUk9VR0gK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-11.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-11.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX3ssdW59YmluZF9wdF9pcnEg
d2l0aG91dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKCldpdGggZGVkaWNhdGVk
IGxvY2tpbmcgYWRkZWQsIHRoZSBkb21jdGwgbG9jayBpc24ndCByZXF1aXJl
ZCBoZXJlIGFueW1vcmUuCihJdCBhbHNvIGFscmVhZHkgaXNuJ3QgdXNlZCB3
aGVuIHB0X2lycV97Y3JlYXRlLGRlc3Ryb3l9X2JpbmQoKSBhcmUKaW52b2tl
ZCBmb3IgUFZIIERvbTAuKSBBcyB0aGUgaGFuZGxpbmcgaXMgaW4gYXJjaC1z
cGVjaWZpYyBjb2RlLCBubyBjb2RlCmlzIGJlaW5nIG1vdmVkLCBidXQgdGhl
IDJuZCAoZXh0ZW5zaWJsZSB0byBvdGhlciBzdWItb3BzIGxpa2UgdGhlIG9u
ZXMKaGVyZSkgaW52b2NhdGlvbiBvZiBhcmNoX2RvX2RvbWN0bCgpIGlzIGJl
aW5nIHJlLXVzZWQuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4KCkZpeGVz
OiBmZGE0OWY5YjNmYmIgKCJBZGQgYnVpbGQgb3B0aW9uIHRvIGFsbG93IG1v
cmUgaHlwZXJjYWxscyBmcm9tIHN0dWJkb21zIikKUmVwb3J0ZWQtYnk6IEFu
ZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClNpZ25l
ZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2
aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXgu
Y29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0
dXNzb2x1dGlvbnMuY29tPgpBY2tlZC1ieTogSnVsaWVuIEdyYWxsIDxqdWxp
ZW5AeGVuLm9yZz4KCi0tLSBhL3hlbi9hcmNoL2FybS9kb21jdGwuYworKysg
Yi94ZW4vYXJjaC9hcm0vZG9tY3RsLmMKQEAgLTEwNCw3ICsxMDQsNyBAQCBs
b25nIGFyY2hfZG9fZG9tY3RsKHN0cnVjdCB4ZW5fZG9tY3RsICpkCiAgICAg
ICAgIGlmICggcmMgKQogICAgICAgICAgICAgcmV0dXJuIHJjOwogCi0gICAg
ICAgIHJjID0geHNtX2JpbmRfcHRfaXJxKFhTTV9IT09LLCBkLCBiaW5kKTsK
KyAgICAgICAgcmMgPSB4c21fYmluZF9wdF9pcnEoWFNNX0RNX1BSSVYsIGQs
IGJpbmQpOwogICAgICAgICBpZiAoIHJjICkKICAgICAgICAgICAgIHJldHVy
biByYzsKIApAQCAtMTQwLDcgKzE0MCw3IEBAIGxvbmcgYXJjaF9kb19kb21j
dGwoc3RydWN0IHhlbl9kb21jdGwgKmQKICAgICAgICAgaWYgKCBpcnEgIT0g
dmlycSApCiAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAotICAgICAg
ICByYyA9IHhzbV91bmJpbmRfcHRfaXJxKFhTTV9IT09LLCBkLCBiaW5kKTsK
KyAgICAgICAgcmMgPSB4c21fdW5iaW5kX3B0X2lycShYU01fRE1fUFJJViwg
ZCwgYmluZCk7CiAgICAgICAgIGlmICggcmMgKQogICAgICAgICAgICAgcmV0
dXJuIHJjOwogCi0tLSBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYworKysgYi94
ZW4vYXJjaC94ODYvZG9tY3RsLmMKQEAgLTU3OSw3ICs1NzksNyBAQCBsb25n
IGFyY2hfZG9fZG9tY3RsKAogICAgICAgICBpZiAoICFpc19odm1fZG9tYWlu
KGQpICkKICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIHJldCA9IHhz
bV9iaW5kX3B0X2lycShYU01fSE9PSywgZCwgYmluZCk7CisgICAgICAgIHJl
dCA9IHhzbV9iaW5kX3B0X2lycShYU01fRE1fUFJJViwgZCwgYmluZCk7CiAg
ICAgICAgIGlmICggcmV0ICkKICAgICAgICAgICAgIGJyZWFrOwogCkBAIC02
MTcsNyArNjE3LDcgQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgKICAgICAgICAg
aWYgKCAhaXNfaHZtX2RvbWFpbihkKSApCiAgICAgICAgICAgICBicmVhazsK
IAotICAgICAgICByZXQgPSB4c21fdW5iaW5kX3B0X2lycShYU01fSE9PSywg
ZCwgYmluZCk7CisgICAgICAgIHJldCA9IHhzbV91bmJpbmRfcHRfaXJxKFhT
TV9ETV9QUklWLCBkLCBiaW5kKTsKICAgICAgICAgaWYgKCByZXQgKQogICAg
ICAgICAgICAgYnJlYWs7CiAKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYwor
KysgYi94ZW4vY29tbW9uL2RvbWN0bC5jCkBAIC00MzcsNiArNDM3LDggQEAg
bG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAg
IH0KIAogICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKKyAg
ICBjYXNlIFhFTl9ET01DVExfYmluZF9wdF9pcnE6CisgICAgY2FzZSBYRU5f
RE9NQ1RMX3VuYmluZF9wdF9pcnE6CiAgICAgICAgIHJldCA9IGFyY2hfZG9f
ZG9tY3RsKG9wLCBkLCB1X2RvbWN0bCk7CiAgICAgICAgIGdvdG8gZG9tY3Rs
X291dF91bmxvY2tfZG9tb25seTsKIAotLS0gYS94ZW4vaW5jbHVkZS94c20v
ZHVtbXkuaAorKysgYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTY4
LDEzICsxNjgsMTEgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNr
IHhzbV9kb21jdAogICAgIHN3aXRjaCAoIGNtZCApCiAgICAgewogICAgIGNh
c2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToKLSAgICBjYXNlIFhFTl9ET01D
VExfdW5iaW5kX3B0X2lycToKLSAgICAgICAgcmV0dXJuIHhzbV9kZWZhdWx0
X2FjdGlvbihYU01fRE1fUFJJViwgY3VycmVudC0+ZG9tYWluLCBkKTsKLQog
ICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRkb21haW5pbmZvOgogICAgIGNhc2Ug
WEVOX0RPTUNUTF9nZXRfZG9tYWluX3N0YXRlOgogICAgIGNhc2UgWEVOX0RP
TUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBjYXNlIFhFTl9ET01DVExfbWVt
b3J5X21hcHBpbmc6CisgICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmluZF9wdF9p
cnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAgICAgICBy
ZXR1cm4gLUVJTFNFUTsKIApAQCAtNTM0LDE0ICs1MzIsMTQgQEAgc3RhdGlj
IFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV91bm1hcAogc3RhdGljIFhT
TV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9iaW5kX3B0X2lycSgKICAgICBY
U01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHhlbl9k
b21jdGxfYmluZF9wdF9pcnEgKmJpbmQpCiB7Ci0gICAgWFNNX0FTU0VSVF9B
Q1RJT04oWFNNX0hPT0spOworICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9E
TV9QUklWKTsKICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlv
biwgY3VycmVudC0+ZG9tYWluLCBkKTsKIH0KIAogc3RhdGljIFhTTV9JTkxJ
TkUgaW50IGNmX2NoZWNrIHhzbV91bmJpbmRfcHRfaXJxKAogICAgIFhTTV9E
RUZBVUxUX0FSRyBzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgeGVuX2RvbWN0
bF9iaW5kX3B0X2lycSAqYmluZCkKIHsKLSAgICBYU01fQVNTRVJUX0FDVElP
TihYU01fSE9PSyk7CisgICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX0RNX1BS
SVYpOwogICAgIHJldHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9uLCBj
dXJyZW50LT5kb21haW4sIGQpOwogfQogCi0tLSBhL3hlbi94c20vZmxhc2sv
aG9va3MuYworKysgYi94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAgLTY1MCwx
MCArNjUwLDEyIEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3Rs
KHN0cnVjdAogICAgICAgICByZXR1cm4gYXZjX2N1cnJlbnRfaGFzX3Blcm0o
c3NpZHJlZiwgU0VDQ0xBU1NfRE9NQUlOLCBET01BSU5fX0NSRUFURSwgTlVM
TCk7CiAKICAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tz
IGFuZCBkb24ndCBtYWtlIGl0IGhlcmUuICovCisgICAgY2FzZSBYRU5fRE9N
Q1RMX2JpbmRfcHRfaXJxOgogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRkb21h
aW5pbmZvOgogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRfZG9tYWluX3N0YXRl
OgogICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBj
YXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CisgICAgY2FzZSBYRU5f
RE9NQ1RMX3VuYmluZF9wdF9pcnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNI
QUJMRSgpOwogICAgICAgICByZXR1cm4gLUVJTFNFUTsKIApAQCAtNjY0LDkg
KzY2Niw2IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0
cnVjdAogICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRfdGFyZ2V0OgogICAgIGNh
c2UgWEVOX0RPTUNUTF92bV9ldmVudF9vcDoKIAotICAgIC8qIFRoZXNlIGhh
dmUgaW5kaXZpZHVhbCBYU00gaG9va3MgKGFyY2gvLi4vZG9tY3RsLmMpICov
Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgotICAgIGNhc2Ug
WEVOX0RPTUNUTF91bmJpbmRfcHRfaXJxOgogI2lmZGVmIENPTkZJR19YODYK
ICAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzIChhcmNo
L3g4Ni9kb21jdGwuYykgKi8KICAgICBjYXNlIFhFTl9ET01DVExfc2hhZG93
X29wOgo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-12.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-12.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2lve21lbSxwb3J0fV9wZXJt
aXNzaW9uIHdpdGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRl
ZGljYXRlZCBsb2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3Qg
cmVxdWlyZWQgaGVyZSBhbnltb3JlLgpBcyB0aGUgSS9PIHBvcnQgaGFuZGxp
bmcgaXMgaW4gYXJjaC1zcGVjaWZpYyBjb2RlICh4ODYgb25seSksIG5vIGNv
ZGUgaXMKYmVpbmcgbW92ZWQsIGJ1dCB0aGUgMm5kIGludm9jYXRpb24gb2Yg
YXJjaF9kb19kb21jdGwoKSBpcyByZS11c2VkLiBNb3ZlCnRoZSByZS1wdXJw
b3NlZCBkZWRpY2F0ZWQgWFNNIGNoZWNrcyBhcyBlYXJseSBhcyBwb3NzaWJs
ZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
Um9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkFja2Vk
LWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9u
cy5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVu
L2FyY2gveDg2L2RvbWN0bC5jCkBAIC0yMzcsMTIgKzIzNywxNyBAQCBsb25n
IGFyY2hfZG9fZG9tY3RsKAogICAgICAgICB1bnNpZ25lZCBpbnQgbnAgPSBk
b21jdGwtPnUuaW9wb3J0X3Blcm1pc3Npb24ubnJfcG9ydHM7CiAgICAgICAg
IGludCBhbGxvdyA9IGRvbWN0bC0+dS5pb3BvcnRfcGVybWlzc2lvbi5hbGxv
d19hY2Nlc3M7CiAKKyAgICAgICAgcmV0ID0gLUVJTlZBTDsKKyAgICAgICAg
aWYgKCAoZnAgKyBucCkgPD0gZnAgfHwgKGZwICsgbnApID4gTUFYX0lPUE9S
VFMgKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgcmV0ID0geHNt
X2lvcG9ydF9wZXJtaXNzaW9uKFhTTV9QUklWLCBkLCBmcCwgZnAgKyBucCAt
IDEsIGFsbG93KTsKKyAgICAgICAgaWYgKCByZXQgKQorICAgICAgICAgICAg
YnJlYWs7CisKICAgICAgICAgaW9jYXBzX2RvdWJsZV9sb2NrKGQsIHRydWUp
OwogCi0gICAgICAgIGlmICggKGZwICsgbnApIDw9IGZwIHx8IChmcCArIG5w
KSA+IE1BWF9JT1BPUlRTICkKLSAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7
Ci0gICAgICAgIGVsc2UgaWYgKCAhaW9wb3J0c19hY2Nlc3NfcGVybWl0dGVk
KGN1cnJkLCBmcCwgZnAgKyBucCAtIDEpIHx8Ci0gICAgICAgICAgICAgICAg
ICB4c21faW9wb3J0X3Blcm1pc3Npb24oWFNNX0hPT0ssIGQsIGZwLCBmcCAr
IG5wIC0gMSwgYWxsb3cpICkKKyAgICAgICAgaWYgKCAhaW9wb3J0c19hY2Nl
c3NfcGVybWl0dGVkKGN1cnJkLCBmcCwgZnAgKyBucCAtIDEpICkKICAgICAg
ICAgICAgIHJldCA9IC1FUEVSTTsKICAgICAgICAgZWxzZSBpZiAoIGFsbG93
ICkKICAgICAgICAgICAgIHJldCA9IGlvcG9ydHNfcGVybWl0X2FjY2Vzcyhk
LCBmcCwgZnAgKyBucCAtIDEpOwotLS0gYS94ZW4vY29tbW9uL2RvbWN0bC5j
CisrKyBiL3hlbi9jb21tb24vZG9tY3RsLmMKQEAgLTM3Niw2ICszNzYsMzQg
QEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQog
ICAgICAgICAgICAgY29weWJhY2sgPSB0cnVlOwogICAgICAgICBnb3RvIGRv
bWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CiAKKyAgICBjYXNlIFhFTl9ET01D
VExfaW9tZW1fcGVybWlzc2lvbjoKKyAgICB7CisgICAgICAgIHVuc2lnbmVk
IGxvbmcgbWZuID0gb3AtPnUuaW9tZW1fcGVybWlzc2lvbi5maXJzdF9tZm47
CisgICAgICAgIHVuc2lnbmVkIGxvbmcgbnJfbWZucyA9IG9wLT51LmlvbWVt
X3Blcm1pc3Npb24ubnJfbWZuczsKKyAgICAgICAgYm9vbCBhbGxvdyA9IG9w
LT51LmlvbWVtX3Blcm1pc3Npb24uYWxsb3dfYWNjZXNzOworCisgICAgICAg
IHJldCA9IC1FSU5WQUw7CisgICAgICAgIGlmICggKG1mbiArIG5yX21mbnMg
LSAxKSA8IG1mbiApIC8qIFdyYXA/ICovCisgICAgICAgICAgICBnb3RvIGRv
bWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CisKKyAgICAgICAgcmV0ID0geHNt
X2lvbWVtX3Blcm1pc3Npb24oWFNNX1BSSVYsIGQsIG1mbiwgbWZuICsgbnJf
bWZucyAtIDEsIGFsbG93KTsKKyAgICAgICAgaWYgKCByZXQgKQorICAgICAg
ICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5OworCisgICAg
ICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCB0cnVlKTsKKworICAgICAgICBp
ZiAoICFpb21lbV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJlbnQtPmRvbWFpbiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZm4sIG1m
biArIG5yX21mbnMgLSAxKSApCisgICAgICAgICAgICByZXQgPSAtRVBFUk07
CisgICAgICAgIGVsc2UgaWYgKCBhbGxvdyApCisgICAgICAgICAgICByZXQg
PSBpb21lbV9wZXJtaXRfYWNjZXNzKGQsIG1mbiwgbWZuICsgbnJfbWZucyAt
IDEpOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXQgPSBpb21lbV9k
ZW55X2FjY2VzcyhkLCBtZm4sIG1mbiArIG5yX21mbnMgLSAxKTsKKworICAg
ICAgICBpb2NhcHNfZG91YmxlX3VubG9jayhkLCB0cnVlKTsKKyAgICAgICAg
Z290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5OworICAgIH0KKwogICAg
IGNhc2UgWEVOX0RPTUNUTF9tZW1vcnlfbWFwcGluZzoKICAgICB7CiAgICAg
ICAgIHVuc2lnbmVkIGxvbmcgZ2ZuID0gb3AtPnUubWVtb3J5X21hcHBpbmcu
Zmlyc3RfZ2ZuOwpAQCAtNDM2LDYgKzQ2NCw3IEBAIGxvbmcgZG9fZG9tY3Rs
KFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICAgICAgZ290byBkb21j
dGxfb3V0X3VubG9ja19kb21vbmx5OwogICAgIH0KIAorICAgIGNhc2UgWEVO
X0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9ET01D
VExfaW9wb3J0X21hcHBpbmc6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2JpbmRf
cHRfaXJxOgogICAgIGNhc2UgWEVOX0RPTUNUTF91bmJpbmRfcHRfaXJxOgpA
QCAtNzgzLDMxICs4MTIsNiBAQCBsb25nIGRvX2RvbWN0bChYRU5fR1VFU1Rf
SEFORExFX1BBUkFNKHhlCiAgICAgfQogI2VuZGlmCiAKLSAgICBjYXNlIFhF
Tl9ET01DVExfaW9tZW1fcGVybWlzc2lvbjoKLSAgICB7Ci0gICAgICAgIHVu
c2lnbmVkIGxvbmcgbWZuID0gb3AtPnUuaW9tZW1fcGVybWlzc2lvbi5maXJz
dF9tZm47Ci0gICAgICAgIHVuc2lnbmVkIGxvbmcgbnJfbWZucyA9IG9wLT51
LmlvbWVtX3Blcm1pc3Npb24ubnJfbWZuczsKLSAgICAgICAgaW50IGFsbG93
ID0gb3AtPnUuaW9tZW1fcGVybWlzc2lvbi5hbGxvd19hY2Nlc3M7Ci0KLSAg
ICAgICAgcmV0ID0gLUVJTlZBTDsKLSAgICAgICAgaWYgKCAobWZuICsgbnJf
bWZucyAtIDEpIDwgbWZuICkgLyogd3JhcD8gKi8KLSAgICAgICAgICAgIGJy
ZWFrOwotCi0gICAgICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCB0cnVlKTsK
LQotICAgICAgICBpZiAoICFpb21lbV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJl
bnQtPmRvbWFpbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtZm4sIG1mbiArIG5yX21mbnMgLSAxKSB8fAotICAgICAgICAgICAg
IHhzbV9pb21lbV9wZXJtaXNzaW9uKFhTTV9IT09LLCBkLCBtZm4sIG1mbiAr
IG5yX21mbnMgLSAxLCBhbGxvdykgKQotICAgICAgICAgICAgcmV0ID0gLUVQ
RVJNOwotICAgICAgICBlbHNlIGlmICggYWxsb3cgKQotICAgICAgICAgICAg
cmV0ID0gaW9tZW1fcGVybWl0X2FjY2VzcyhkLCBtZm4sIG1mbiArIG5yX21m
bnMgLSAxKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcmV0ID0gaW9t
ZW1fZGVueV9hY2Nlc3MoZCwgbWZuLCBtZm4gKyBucl9tZm5zIC0gMSk7Ci0K
LSAgICAgICAgaW9jYXBzX2RvdWJsZV91bmxvY2soZCwgdHJ1ZSk7Ci0gICAg
ICAgIGJyZWFrOwotICAgIH0KLQogICAgIGNhc2UgWEVOX0RPTUNUTF9zZXR0
aW1lb2Zmc2V0OgogICAgICAgICBkb21haW5fc2V0X3RpbWVfb2Zmc2V0KGQs
IG9wLT51LnNldHRpbWVvZmZzZXQudGltZV9vZmZzZXRfc2Vjb25kcyk7CiAg
ICAgICAgIGJyZWFrOwotLS0gYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAor
KysgYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTcwLDcgKzE3MCw5
IEBAIHN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZG9tY3QK
ICAgICBjYXNlIFhFTl9ET01DVExfYmluZF9wdF9pcnE6CiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2dldGRvbWFpbmluZm86CiAgICAgY2FzZSBYRU5fRE9NQ1RM
X2dldF9kb21haW5fc3RhdGU6CisgICAgY2FzZSBYRU5fRE9NQ1RMX2lvbWVt
X3Blcm1pc3Npb246CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBw
aW5nOgorICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbjoK
ICAgICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CiAgICAgY2Fz
ZSBYRU5fRE9NQ1RMX3VuYmluZF9wdF9pcnE6CiAgICAgICAgIEFTU0VSVF9V
TlJFQUNIQUJMRSgpOwpAQCAtNTYwLDcgKzU2Miw3IEBAIHN0YXRpYyBYU01f
SU5MSU5FIGludCBjZl9jaGVjayB4c21faXJxX3AKIHN0YXRpYyBYU01fSU5M
SU5FIGludCBjZl9jaGVjayB4c21faW9tZW1fcGVybWlzc2lvbigKICAgICBY
U01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgdWludDY0X3Qgcywg
dWludDY0X3QgZSwgdWludDhfdCBhbGxvdykKIHsKLSAgICBYU01fQVNTRVJU
X0FDVElPTihYU01fSE9PSyk7CisgICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNN
X1BSSVYpOwogICAgIHJldHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9u
LCBjdXJyZW50LT5kb21haW4sIGQpOwogfQogCkBAIC03NTYsNyArNzU4LDcg
QEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9wcml2Xwog
c3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9pb3BvcnRfcGVy
bWlzc2lvbigKICAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAq
ZCwgdWludDMyX3QgcywgdWludDMyX3QgZSwgdWludDhfdCBhbGxvdykKIHsK
LSAgICBYU01fQVNTRVJUX0FDVElPTihYU01fSE9PSyk7CisgICAgWFNNX0FT
U0VSVF9BQ1RJT04oWFNNX1BSSVYpOwogICAgIHJldHVybiB4c21fZGVmYXVs
dF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5kb21haW4sIGQpOwogfQogCi0t
LSBhL3hlbi94c20vZmxhc2svaG9va3MuYworKysgYi94ZW4veHNtL2ZsYXNr
L2hvb2tzLmMKQEAgLTY1Myw3ICs2NTMsOSBAQCBzdGF0aWMgaW50IGNmX2No
ZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICBjYXNlIFhFTl9ET01DVExf
YmluZF9wdF9pcnE6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2dldGRvbWFpbmlu
Zm86CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2dldF9kb21haW5fc3RhdGU6Cisg
ICAgY2FzZSBYRU5fRE9NQ1RMX2lvbWVtX3Blcm1pc3Npb246CiAgICAgY2Fz
ZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nOgorICAgIGNhc2UgWEVOX0RP
TUNUTF9pb3BvcnRfcGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9ET01DVExf
bWVtb3J5X21hcHBpbmc6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmluZF9w
dF9pcnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwpAQCAtNjYy
LDE0ICs2NjQsMTIgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21j
dGwoc3RydWN0CiAgICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBo
b29rcyAoY29tbW9uL2RvbWN0bC5jKSAqLwogICAgIGNhc2UgWEVOX0RPTUNU
TF9zY2hlZHVsZXJfb3A6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lycV9wZXJt
aXNzaW9uOgotICAgIGNhc2UgWEVOX0RPTUNUTF9pb21lbV9wZXJtaXNzaW9u
OgogICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRfdGFyZ2V0OgogICAgIGNhc2Ug
WEVOX0RPTUNUTF92bV9ldmVudF9vcDoKIAogI2lmZGVmIENPTkZJR19YODYK
ICAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzIChhcmNo
L3g4Ni9kb21jdGwuYykgKi8KICAgICBjYXNlIFhFTl9ET01DVExfc2hhZG93
X29wOgotICAgIGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbjoK
ICAgICBjYXNlIFhFTl9ET01DVExfZ3NpX3Blcm1pc3Npb246CiAjZW5kaWYK
ICNpZmRlZiBDT05GSUdfSEFTX1BBU1NUSFJPVUdICg==

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-13.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-13.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX3tpcnEsZ3NpfV9wZXJtaXNz
aW9uIHdpdGhvdXQgYWNxdWlyaW5nIGRvbWN0bCBsb2NrCgpXaXRoIGRlZGlj
YXRlZCBsb2NraW5nIGFkZGVkLCB0aGUgZG9tY3RsIGxvY2sgaXNuJ3QgcmVx
dWlyZWQgaGVyZSBhbnltb3JlLgpBcyB0aGUgR1NJIGhhbmRsaW5nIGlzIGlu
IGFyY2gtc3BlY2lmaWMgY29kZSAoeDg2IG9ubHkpLCBubyBjb2RlIGlzIGJl
aW5nCm1vdmVkIHRoZXJlOyB0aGUgMm5kIGludm9jYXRpb24gb2YgYXJjaF9k
b19kb21jdGwoKSBpcyByZS11c2VkLiBNb3ZlIHRoZQpyZS1wdXJwb3NlZCAo
WFNNX0hPT0sgLT4gWFNNX1BSSVYsIGFzIHhzbV9kb21jdGwoKSBpcyBub3cg
YnlwYXNzZWQpCmRlZGljYXRlZCBYU00gY2hlY2tzIGFzIGVhcmx5IGFzIHBv
c3NpYmxlLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIuCgpTaWduZWQtb2Zm
LWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkFja2VkLWJ5
OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5j
b20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVA
Y2l0cml4LmNvbT4KCi0tLSBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYworKysg
Yi94ZW4vYXJjaC94ODYvZG9tY3RsLmMKQEAgLTI3NiwxMCArMjc2LDEzIEBA
IGxvbmcgYXJjaF9kb19kb21jdGwoCiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgfQogCisgICAgICAgIHJldCA9IHhzbV9pcnFfcGVybWlzc2lvbihY
U01fUFJJViwgZCwgaXJxLCBmbGFncyk7CisgICAgICAgIGlmICggcmV0ICkK
KyAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAgIGlvY2Fwc19kb3VibGVf
bG9jayhkLCB0cnVlKTsKIAotICAgICAgICBpZiAoICFpcnFfYWNjZXNzX3Bl
cm1pdHRlZChjdXJyZCwgaXJxKSB8fAotICAgICAgICAgICAgIHhzbV9pcnFf
cGVybWlzc2lvbihYU01fSE9PSywgZCwgaXJxLCBmbGFncykgKQorICAgICAg
ICBpZiAoICFpcnFfYWNjZXNzX3Blcm1pdHRlZChjdXJyZCwgaXJxKSApCiAg
ICAgICAgICAgICByZXQgPSAtRVBFUk07CiAgICAgICAgIGVsc2UgaWYgKCBm
bGFncyApCiAgICAgICAgICAgICByZXQgPSBpcnFfcGVybWl0X2FjY2Vzcyhk
LCBpcnEpOwotLS0gYS94ZW4vY29tbW9uL2RvbWN0bC5jCisrKyBiL3hlbi9j
b21tb24vZG9tY3RsLmMKQEAgLTQ2NCw4ICs0NjQsNDEgQEAgbG9uZyBkb19k
b21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICBnb3Rv
IGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9ubHk7CiAgICAgfQogCisjaWZkZWYg
Q09ORklHX0hBU19QSVJRCisgICAgY2FzZSBYRU5fRE9NQ1RMX2lycV9wZXJt
aXNzaW9uOgorICAgIHsKKyAgICAgICAgdW5zaWduZWQgaW50IHBpcnEgPSBv
cC0+dS5pcnFfcGVybWlzc2lvbi5waXJxLCBpcnE7CisgICAgICAgIGJvb2wg
YWxsb3cgPSBvcC0+dS5pcnFfcGVybWlzc2lvbi5hbGxvd19hY2Nlc3M7CisK
KyAgICAgICAgcmV0ID0gLUVJTlZBTDsKKyAgICAgICAgaWYgKCBwaXJxID49
IGN1cnJlbnQtPmRvbWFpbi0+bnJfcGlycXMgKQorICAgICAgICAgICAgZ290
byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5OworCisgICAgICAgIGlycSA9
IGRvbWFpbl9waXJxX3RvX2lycShjdXJyZW50LT5kb21haW4sIHBpcnEpOwor
CisgICAgICAgIHJldCA9IC1FUEVSTTsKKyAgICAgICAgaWYgKCBpcnEgKQor
ICAgICAgICAgICAgcmV0ID0geHNtX2lycV9wZXJtaXNzaW9uKFhTTV9QUklW
LCBkLCBpcnEsIGFsbG93KTsKKyAgICAgICAgaWYgKCByZXQgKQorICAgICAg
ICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5OworCisgICAg
ICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCB0cnVlKTsKKworICAgICAgICBp
ZiAoICFpcnFfYWNjZXNzX3Blcm1pdHRlZChjdXJyZW50LT5kb21haW4sIGly
cSkgKQorICAgICAgICAgICAgcmV0ID0gLUVQRVJNOworICAgICAgICBlbHNl
IGlmICggYWxsb3cgKQorICAgICAgICAgICAgcmV0ID0gaXJxX3Blcm1pdF9h
Y2Nlc3MoZCwgaXJxKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0
ID0gaXJxX2RlbnlfYWNjZXNzKGQsIGlycSk7CisKKyAgICAgICAgaW9jYXBz
X2RvdWJsZV91bmxvY2soZCwgdHJ1ZSk7CisgICAgICAgIGdvdG8gZG9tY3Rs
X291dF91bmxvY2tfZG9tb25seTsKKyAgICB9CisjZW5kaWYKKwogICAgIGNh
c2UgWEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbjoKICAgICBjYXNlIFhF
Tl9ET01DVExfaW9wb3J0X21hcHBpbmc6CisgICAgY2FzZSBYRU5fRE9NQ1RM
X2dzaV9wZXJtaXNzaW9uOgogICAgIGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0
X2lycToKICAgICBjYXNlIFhFTl9ET01DVExfdW5iaW5kX3B0X2lycToKICAg
ICAgICAgcmV0ID0gYXJjaF9kb19kb21jdGwob3AsIGQsIHVfZG9tY3RsKTsK
QEAgLTc4NSwzMyArODE4LDYgQEAgbG9uZyBkb19kb21jdGwoWEVOX0dVRVNU
X0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwog
Ci0jaWZkZWYgQ09ORklHX0hBU19QSVJRCi0gICAgY2FzZSBYRU5fRE9NQ1RM
X2lycV9wZXJtaXNzaW9uOgotICAgIHsKLSAgICAgICAgdW5zaWduZWQgaW50
IHBpcnEgPSBvcC0+dS5pcnFfcGVybWlzc2lvbi5waXJxLCBpcnE7Ci0gICAg
ICAgIGludCBhbGxvdyA9IG9wLT51LmlycV9wZXJtaXNzaW9uLmFsbG93X2Fj
Y2VzczsKLQotICAgICAgICBpZiAoIHBpcnEgPj0gY3VycmVudC0+ZG9tYWlu
LT5ucl9waXJxcyApCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldCA9IC1F
SU5WQUw7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotCi0gICAg
ICAgIGlvY2Fwc19kb3VibGVfbG9jayhkLCB0cnVlKTsKLQotICAgICAgICBp
cnEgPSBwaXJxX2FjY2Vzc19wZXJtaXR0ZWQoY3VycmVudC0+ZG9tYWluLCBw
aXJxKTsKLSAgICAgICAgaWYgKCAhaXJxIHx8IHhzbV9pcnFfcGVybWlzc2lv
bihYU01fSE9PSywgZCwgaXJxLCBhbGxvdykgKQotICAgICAgICAgICAgcmV0
ID0gLUVQRVJNOwotICAgICAgICBlbHNlIGlmICggYWxsb3cgKQotICAgICAg
ICAgICAgcmV0ID0gaXJxX3Blcm1pdF9hY2Nlc3MoZCwgaXJxKTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgcmV0ID0gaXJxX2RlbnlfYWNjZXNzKGQs
IGlycSk7Ci0KLSAgICAgICAgaW9jYXBzX2RvdWJsZV91bmxvY2soZCwgdHJ1
ZSk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSNlbmRpZgotCiAgICAgY2Fz
ZSBYRU5fRE9NQ1RMX3NldHRpbWVvZmZzZXQ6CiAgICAgICAgIGRvbWFpbl9z
ZXRfdGltZV9vZmZzZXQoZCwgb3AtPnUuc2V0dGltZW9mZnNldC50aW1lX29m
ZnNldF9zZWNvbmRzKTsKICAgICAgICAgYnJlYWs7Ci0tLSBhL3hlbi9pbmNs
dWRlL3hzbS9kdW1teS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5o
CkBAIC0xNzAsOSArMTcwLDExIEBAIHN0YXRpYyBYU01fSU5MSU5FIGludCBj
Zl9jaGVjayB4c21fZG9tY3QKICAgICBjYXNlIFhFTl9ET01DVExfYmluZF9w
dF9pcnE6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2dldGRvbWFpbmluZm86CiAg
ICAgY2FzZSBYRU5fRE9NQ1RMX2dldF9kb21haW5fc3RhdGU6CisgICAgY2Fz
ZSBYRU5fRE9NQ1RMX2dzaV9wZXJtaXNzaW9uOgogICAgIGNhc2UgWEVOX0RP
TUNUTF9pb21lbV9wZXJtaXNzaW9uOgogICAgIGNhc2UgWEVOX0RPTUNUTF9p
b3BvcnRfbWFwcGluZzoKICAgICBjYXNlIFhFTl9ET01DVExfaW9wb3J0X3Bl
cm1pc3Npb246CisgICAgY2FzZSBYRU5fRE9NQ1RMX2lycV9wZXJtaXNzaW9u
OgogICAgIGNhc2UgWEVOX0RPTUNUTF9tZW1vcnlfbWFwcGluZzoKICAgICBj
YXNlIFhFTl9ET01DVExfdW5iaW5kX3B0X2lycToKICAgICAgICAgQVNTRVJU
X1VOUkVBQ0hBQkxFKCk7CkBAIC01NTUsNyArNTU3LDcgQEAgc3RhdGljIFhT
TV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV91bm1hcAogc3RhdGljIFhTTV9J
TkxJTkUgaW50IGNmX2NoZWNrIHhzbV9pcnFfcGVybWlzc2lvbigKICAgICBY
U01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgaW50IHBpcnEsIHVp
bnQ4X3QgYWxsb3cpCiB7Ci0gICAgWFNNX0FTU0VSVF9BQ1RJT04oWFNNX0hP
T0spOworICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9QUklWKTsKICAgICBy
ZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9t
YWluLCBkKTsKIH0KIAotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysr
IGIveGVuL3hzbS9mbGFzay9ob29rcy5jCkBAIC02NTMsOSArNjUzLDExIEBA
IHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAogICAg
IGNhc2UgWEVOX0RPTUNUTF9iaW5kX3B0X2lycToKICAgICBjYXNlIFhFTl9E
T01DVExfZ2V0ZG9tYWluaW5mbzoKICAgICBjYXNlIFhFTl9ET01DVExfZ2V0
X2RvbWFpbl9zdGF0ZToKKyAgICBjYXNlIFhFTl9ET01DVExfZ3NpX3Blcm1p
c3Npb246CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvbWVtX3Blcm1pc3Npb246
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nOgogICAgIGNh
c2UgWEVOX0RPTUNUTF9pb3BvcnRfcGVybWlzc2lvbjoKKyAgICBjYXNlIFhF
Tl9ET01DVExfaXJxX3Blcm1pc3Npb246CiAgICAgY2FzZSBYRU5fRE9NQ1RM
X21lbW9yeV9tYXBwaW5nOgogICAgIGNhc2UgWEVOX0RPTUNUTF91bmJpbmRf
cHRfaXJxOgogICAgICAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKQEAgLTY2
MywxNCArNjY1LDEyIEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9t
Y3RsKHN0cnVjdAogCiAgICAgLyogVGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhT
TSBob29rcyAoY29tbW9uL2RvbWN0bC5jKSAqLwogICAgIGNhc2UgWEVOX0RP
TUNUTF9zY2hlZHVsZXJfb3A6Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2lycV9w
ZXJtaXNzaW9uOgogICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRfdGFyZ2V0Ogog
ICAgIGNhc2UgWEVOX0RPTUNUTF92bV9ldmVudF9vcDoKIAogI2lmZGVmIENP
TkZJR19YODYKICAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhv
b2tzIChhcmNoL3g4Ni9kb21jdGwuYykgKi8KICAgICBjYXNlIFhFTl9ET01D
VExfc2hhZG93X29wOgotICAgIGNhc2UgWEVOX0RPTUNUTF9nc2lfcGVybWlz
c2lvbjoKICNlbmRpZgogI2lmZGVmIENPTkZJR19IQVNfUEFTU1RIUk9VR0gK
ICAgICAvKgo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-14.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-14.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHZtX2V2ZW50X2NvbnRyb2wgaG9vawoKSW50
ZWdyYXRlIHRoZSBjaGVja2luZyB3aXRoIHhzbV9kb21jdGwoKS4gQ2FyZSBu
ZWVkcyB0byBiZSB0YWtlbiB3aXRoIHRoZQpHRVRfVkVSU0lPTiBzdWItb3As
IHdoaWNoIG1heSBiZSBpbnZva2VkIHdpdGggRE9NSURfSU5WQUxJRCwgYW5k
IHdoaWNoIGhhcwpiZWVuIChhbmQgY29udGludWVzIHRvIGJlKSBieXBhc3Np
bmcgWFNNIGNoZWNraW5nLgoKU2luY2UgdGhlIGxhdHRlciB0d28gcGFyYW1l
dGVycyB3ZXJlIHVudXNlZCwgbW9uaXRvcl9kb21jdGwoKSBpbnZva2luZyB0
aGUKaG9vayB3YXMgYWN0dWFsbHkgcmVkdW5kYW50IHdpdGggdGhlIGVhcmxp
ZXIgeHNtX2RvbWN0bCgpIChhcyBjYW4gYmUgc2VlbgpuaWNlbHkgZnJvbSB0
aGUgaHVua3MgY2hhbmdpbmcgeHNtL2ZsYXNrL2hvb2tzLmMpLgoKQXMgYSBw
b3NpdGl2ZSBzaWRlIGVmZmVjdCwgcGVybWlzc2lvbnMgYXJlIHRoZW4gY2hl
Y2tlZCBhdCB0aGUgc2FtZSBlYXJseQpwb2ludCB3aXRoIGFuZCB3aXRob3V0
IEZsYXNrLgoKV2hpbGUgZm9sZGluZyBYRU5fRE9NQ1RMX21vbml0b3Jfb3Ag
YW5kIFhFTl9ET01DVExfdm1fZXZlbnRfb3AgaW4KZmxhc2tfZG9tY3RsKCks
IGFsc28gZm9sZCBpbiBYRU5fRE9NQ1RMX3NldF9hY2Nlc3NfcmVxdWlyZWQu
CgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4KClNpZ25lZC1vZmYtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQWNrZWQtYnk6IERhbmll
bCBQLiBTbWl0aCA8ZHBzbWl0aEBhcGVydHVzc29sdXRpb25zLmNvbT4KUmV2
aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXgu
Y29tPgoKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYworKysgYi94ZW4vY29t
bW9uL2RvbWN0bC5jCkBAIC00OTYsNiArNDk2LDIzIEBAIGxvbmcgZG9fZG9t
Y3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUKICAgICB9CiAjZW5kaWYK
IAorICAgIGNhc2UgWEVOX0RPTUNUTF92bV9ldmVudF9vcDoKKyAgICAgICAg
aWYgKCBvcC0+dS52bV9ldmVudF9vcC5vcCA9PSBYRU5fVk1fRVZFTlRfR0VU
X1ZFUlNJT04gKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBObyBYU00g
Y2hlY2sgKGFuZCBwb3RlbnRpYWxseSBkID09IE5VTEwpIGhlcmUuICovCisg
ICAgICAgICAgICByZXQgPSB2bV9ldmVudF9kb21jdGwoZCwgJm9wLT51LnZt
X2V2ZW50X29wKTsKKyAgICAgICAgICAgIGlmICggIXJldCApCisgICAgICAg
ICAgICAgICAgY29weWJhY2sgPSB0cnVlOworICAgICAgICAgICAgZ290byBk
b21jdGxfb3V0X3VubG9ja19kb21vbmx5OworICAgICAgICB9CisgICAgICAg
IGlmICggIWQgKQorICAgICAgICB7CisgICAgICAgICAgICByZXQgPSAtRVNS
Q0g7CisgICAgICAgICAgICBnb3RvIGRvbWN0bF9vdXRfdW5sb2NrX2RvbW9u
bHk7CisgICAgICAgIH0KKyAgICAgICAgLyogT3RoZXIgc3ViLW9wcyBoYW5k
bGVkIGZ1cnRoZXIgZG93bi4gKi8KKyAgICAgICAgYnJlYWs7CisKICAgICBj
YXNlIFhFTl9ET01DVExfaW9wb3J0X3Blcm1pc3Npb246CiAgICAgY2FzZSBY
RU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nOgogICAgIGNhc2UgWEVOX0RPTUNU
TF9nc2lfcGVybWlzc2lvbjoKLS0tIGEveGVuL2NvbW1vbi9tb25pdG9yLmMK
KysrIGIveGVuL2NvbW1vbi9tb25pdG9yLmMKQEAgLTMwLDE2ICszMCwxMSBA
QAogCiBpbnQgbW9uaXRvcl9kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgc3Ry
dWN0IHhlbl9kb21jdGxfbW9uaXRvcl9vcCAqbW9wKQogewotICAgIGludCBy
YzsKICAgICBib29sIHJlcXVlc3RlZF9zdGF0dXMgPSBmYWxzZTsKIAogICAg
IGlmICggdW5saWtlbHkoY3VycmVudC0+ZG9tYWluID09IGQpICkgLyogbm8g
ZG9tYWluX3BhdXNlKCkgKi8KICAgICAgICAgcmV0dXJuIC1FUEVSTTsKIAot
ICAgIHJjID0geHNtX3ZtX2V2ZW50X2NvbnRyb2woWFNNX1BSSVYsIGQsIG1v
cC0+b3AsIG1vcC0+ZXZlbnQpOwotICAgIGlmICggdW5saWtlbHkocmMpICkK
LSAgICAgICAgcmV0dXJuIHJjOwotCiAgICAgc3dpdGNoICggbW9wLT5vcCAp
CiAgICAgewogICAgIGNhc2UgWEVOX0RPTUNUTF9NT05JVE9SX09QX0VOQUJM
RToKLS0tIGEveGVuL2NvbW1vbi92bV9ldmVudC5jCisrKyBiL3hlbi9jb21t
b24vdm1fZXZlbnQuYwpAQCAtNjA0LDExICs2MDQsMTAgQEAgaW50IHZtX2V2
ZW50X2RvbWN0bChzdHJ1Y3QgZG9tYWluICpkLCBzdAogCiAgICAgLyogQWxs
IG90aGVyIHN1Ym9wcyBuZWVkIHRvIHRhcmdldCBhIHJlYWwgZG9tYWluLiAq
LwogICAgIGlmICggdW5saWtlbHkoZCA9PSBOVUxMKSApCi0gICAgICAgIHJl
dHVybiAtRVNSQ0g7Ci0KLSAgICByYyA9IHhzbV92bV9ldmVudF9jb250cm9s
KFhTTV9QUklWLCBkLCB2ZWMtPm1vZGUsIHZlYy0+b3ApOwotICAgIGlmICgg
cmMgKQotICAgICAgICByZXR1cm4gcmM7CisgICAgeworICAgICAgICBBU1NF
UlRfVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgcmV0dXJuIC1FSUxTRVE7Cisg
ICAgfQogCiAgICAgaWYgKCB1bmxpa2VseShkID09IGN1cnJlbnQtPmRvbWFp
bikgKSAvKiBubyBkb21haW5fcGF1c2UoKSAqLwogICAgIHsKLS0tIGEveGVu
L2luY2x1ZGUveHNtL2R1bW15LmgKKysrIGIveGVuL2luY2x1ZGUveHNtL2R1
bW15LmgKQEAgLTY0NiwxMyArNjQ2LDYgQEAgc3RhdGljIFhTTV9JTkxJTkUg
aW50IGNmX2NoZWNrIHhzbV9odm1fYQogfQogCiAjaWZkZWYgQ09ORklHX1ZN
X0VWRU5UCi1zdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX3Zt
X2V2ZW50X2NvbnRyb2woCi0gICAgWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBk
b21haW4gKmQsIGludCBtb2RlLCBpbnQgb3ApCi17Ci0gICAgWFNNX0FTU0VS
VF9BQ1RJT04oWFNNX1BSSVYpOwotICAgIHJldHVybiB4c21fZGVmYXVsdF9h
Y3Rpb24oYWN0aW9uLCBjdXJyZW50LT5kb21haW4sIGQpOwotfQotCiBzdGF0
aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX21lbV9hY2Nlc3MoWFNN
X0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQpCiB7CiAgICAgWFNNX0FT
U0VSVF9BQ1RJT04oWFNNX0RNX1BSSVYpOwotLS0gYS94ZW4vaW5jbHVkZS94
c20veHNtLmgKKysrIGIveGVuL2luY2x1ZGUveHNtL3hzbS5oCkBAIC0xNTYs
OCArMTU2LDYgQEAgc3RydWN0IHhzbV9vcHMgewogICAgIGludCAoKmdldF92
bnVtYWluZm8pKHN0cnVjdCBkb21haW4gKmQpOwogCiAjaWZkZWYgQ09ORklH
X1ZNX0VWRU5UCi0gICAgaW50ICgqdm1fZXZlbnRfY29udHJvbCkoc3RydWN0
IGRvbWFpbiAqZCwgaW50IG1vZGUsIGludCBvcCk7Ci0KICAgICBpbnQgKCpt
ZW1fYWNjZXNzKShzdHJ1Y3QgZG9tYWluICpkKTsKICNlbmRpZgogCkBAIC02
NTEsMTIgKzY0OSw2IEBAIHN0YXRpYyBpbmxpbmUgaW50IHhzbV9nZXRfdm51
bWFpbmZvKHhzbV8KIH0KIAogI2lmZGVmIENPTkZJR19WTV9FVkVOVAotc3Rh
dGljIGlubGluZSBpbnQgeHNtX3ZtX2V2ZW50X2NvbnRyb2woCi0gICAgeHNt
X2RlZmF1bHRfdCBkZWYsIHN0cnVjdCBkb21haW4gKmQsIGludCBtb2RlLCBp
bnQgb3ApCi17Ci0gICAgcmV0dXJuIGFsdGVybmF0aXZlX2NhbGwoeHNtX29w
cy52bV9ldmVudF9jb250cm9sLCBkLCBtb2RlLCBvcCk7Ci19Ci0KIHN0YXRp
YyBpbmxpbmUgaW50IHhzbV9tZW1fYWNjZXNzKHhzbV9kZWZhdWx0X3QgZGVm
LCBzdHJ1Y3QgZG9tYWluICpkKQogewogICAgIHJldHVybiBhbHRlcm5hdGl2
ZV9jYWxsKHhzbV9vcHMubWVtX2FjY2VzcywgZCk7Ci0tLSBhL3hlbi94c20v
ZHVtbXkuYworKysgYi94ZW4veHNtL2R1bW15LmMKQEAgLTExNSw4ICsxMTUs
NiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHhzbV9vcHMgX19pbml0Y29uc3Rf
CiAgICAgLm1hcF9nbWZuX2ZvcmVpZ24gICAgICAgICAgICAgID0geHNtX21h
cF9nbWZuX2ZvcmVpZ24sCiAKICNpZmRlZiBDT05GSUdfVk1fRVZFTlQKLSAg
ICAudm1fZXZlbnRfY29udHJvbCAgICAgICAgICAgICAgPSB4c21fdm1fZXZl
bnRfY29udHJvbCwKLQogICAgIC5tZW1fYWNjZXNzICAgICAgICAgICAgICAg
ICAgICA9IHhzbV9tZW1fYWNjZXNzLAogI2VuZGlmCiAKLS0tIGEveGVuL3hz
bS9mbGFzay9ob29rcy5jCisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpA
QCAtNjY2LDcgKzY2Niw2IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tf
ZG9tY3RsKHN0cnVjdAogICAgIC8qIFRoZXNlIGhhdmUgaW5kaXZpZHVhbCBY
U00gaG9va3MgKGNvbW1vbi9kb21jdGwuYykgKi8KICAgICBjYXNlIFhFTl9E
T01DVExfc2NoZWR1bGVyX29wOgogICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRf
dGFyZ2V0OgotICAgIGNhc2UgWEVOX0RPTUNUTF92bV9ldmVudF9vcDoKIAog
I2lmZGVmIENPTkZJR19YODYKICAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1
YWwgWFNNIGhvb2tzIChhcmNoL3g4Ni9kb21jdGwuYykgKi8KQEAgLTc2MCw5
ICs3NTksOCBAQCBzdGF0aWMgaW50IGNmX2NoZWNrIGZsYXNrX2RvbWN0bChz
dHJ1Y3QKICAgICAgICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Blcm0oZCwgU0VD
Q0xBU1NfRE9NQUlOLCBET01BSU5fX1RSSUdHRVIpOwogCiAgICAgY2FzZSBY
RU5fRE9NQ1RMX3NldF9hY2Nlc3NfcmVxdWlyZWQ6Ci0gICAgICAgIHJldHVy
biBjdXJyZW50X2hhc19wZXJtKGQsIFNFQ0NMQVNTX0RPTUFJTjIsIERPTUFJ
TjJfX1ZNX0VWRU5UKTsKLQogICAgIGNhc2UgWEVOX0RPTUNUTF9tb25pdG9y
X29wOgorICAgIGNhc2UgWEVOX0RPTUNUTF92bV9ldmVudF9vcDoKICAgICAg
ICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9NQUlO
MiwgRE9NQUlOMl9fVk1fRVZFTlQpOwogCiAgICAgY2FzZSBYRU5fRE9NQ1RM
X2RlYnVnX29wOgpAQCAtMTMzMiwxMSArMTMzMCw2IEBAIHN0YXRpYyBpbnQg
Y2ZfY2hlY2sgZmxhc2tfaHZtX2FsdHAybWh2bV8KIH0KIAogI2lmZGVmIENP
TkZJR19WTV9FVkVOVAotc3RhdGljIGludCBjZl9jaGVjayBmbGFza192bV9l
dmVudF9jb250cm9sKHN0cnVjdCBkb21haW4gKmQsIGludCBtb2RlLCBpbnQg
b3ApCi17Ci0gICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Blcm0oZCwgU0VDQ0xB
U1NfRE9NQUlOMiwgRE9NQUlOMl9fVk1fRVZFTlQpOwotfQotCiBzdGF0aWMg
aW50IGNmX2NoZWNrIGZsYXNrX21lbV9hY2Nlc3Moc3RydWN0IGRvbWFpbiAq
ZCkKIHsKICAgICByZXR1cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUNDTEFT
U19ET01BSU4yLCBET01BSU4yX19NRU1fQUNDRVNTKTsKQEAgLTE5MzMsOCAr
MTkyNiw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeHNtX29wcyBfX2luaXRj
b25zdF8KICAgICAuZ2V0X3ZudW1haW5mbyA9IGZsYXNrX2dldF92bnVtYWlu
Zm8sCiAKICNpZmRlZiBDT05GSUdfVk1fRVZFTlQKLSAgICAudm1fZXZlbnRf
Y29udHJvbCA9IGZsYXNrX3ZtX2V2ZW50X2NvbnRyb2wsCi0KICAgICAubWVt
X2FjY2VzcyA9IGZsYXNrX21lbV9hY2Nlc3MsCiAjZW5kaWYKIAo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-15.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-15.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBwYXNzIGZ1bGwgc3RydWN0IHhlbl9kb21jdGwgdG8g
eHNtX2RvbWN0bCgpCgpTdWJzZXF1ZW50bHkgc29tZSBzdWItb3BzIHdpbGwg
d2FudCB0byBpbnNwZWN0IHRoZWlyIHN1Yi1zdWItb3BzLiBQbHVzCnRoaXMg
d2F5IHdlIGRvbid0IG5lZWQgdG8gcGFzcyBTU0lEcmVmIHNlcGFyYXRlbHkg
YW55bW9yZSBmb3IKZG9tYWluX2NyZWF0ZS4KClRoaXMgaXMgcGFydCBvZiBY
U0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpBY2tlZC1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRo
QGFwZXJ0dXNzb2x1dGlvbnMuY29tPgoKLS0tIGEveGVuL2FyY2gveDg2L21t
L3BhZ2luZy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYwpAQCAt
NzQ3LDcgKzc0Nyw3IEBAIGxvbmcgZG9fcGFnaW5nX2RvbWN0bF9jb250KAog
ICAgIGlmICggZCA9PSBOVUxMICkKICAgICAgICAgcmV0dXJuIC1FU1JDSDsK
IAotICAgIHJldCA9IHhzbV9kb21jdGwoWFNNX09USEVSLCBkLCBvcC5jbWQs
IDAgLyogU1NJRHJlZiBub3QgYXBwbGljYWJsZSAqLyk7CisgICAgcmV0ID0g
eHNtX2RvbWN0bChYU01fT1RIRVIsIGQsICZvcCk7CiAgICAgaWYgKCAhcmV0
ICkKICAgICB7CiAgICAgICAgIGlmICggZG9tY3RsX2xvY2tfYWNxdWlyZSgp
ICkKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYworKysgYi94ZW4vY29tbW9u
L2RvbWN0bC5jCkBAIC01MjYsOSArNTI2LDcgQEAgbG9uZyBkb19kb21jdGwo
WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICBicmVhazsKICAg
ICB9CiAKLSAgICByZXQgPSB4c21fZG9tY3RsKFhTTV9PVEhFUiwgZCwgb3At
PmNtZCwKLSAgICAgICAgICAgICAgICAgICAgIC8qIFNTSURSZWYgb25seSBh
cHBsaWNhYmxlIGZvciBjbWQgPT0gY3JlYXRlZG9tYWluICovCi0gICAgICAg
ICAgICAgICAgICAgICBvcC0+dS5jcmVhdGVkb21haW4uc3NpZHJlZik7Cisg
ICAgcmV0ID0geHNtX2RvbWN0bChYU01fT1RIRVIsIGQsIG9wKTsKICAgICBp
ZiAoIHJldCApCiAgICAgICAgIGdvdG8gZG9tY3RsX291dF91bmxvY2tfZG9t
b25seTsKIAotLS0gYS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaAorKysgYi94
ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMTYyLDEwICsxNjIsMTAgQEAg
c3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9zZXRfdAogfQog
CiBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX2RvbWN0bCgK
LSAgICBYU01fREVGQVVMVF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgdW5zaWdu
ZWQgaW50IGNtZCwgdWludDMyX3Qgc3NpZHJlZikKKyAgICBYU01fREVGQVVM
VF9BUkcgc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHhlbl9kb21jdGwgKm9w
KQogewogICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9PVEhFUik7Ci0gICAg
c3dpdGNoICggY21kICkKKyAgICBzd2l0Y2ggKCBvcC0+Y21kICkKICAgICB7
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgogICAgIGNhc2Ug
WEVOX0RPTUNUTF9nZXRkb21haW5pbmZvOgotLS0gYS94ZW4vaW5jbHVkZS94
c20veHNtLmgKKysrIGIveGVuL2luY2x1ZGUveHNtL3hzbS5oCkBAIC02MSw3
ICs2MSw3IEBAIHN0cnVjdCB4c21fb3BzIHsKICAgICBpbnQgKCpzeXNjdGxf
c2NoZWR1bGVyX29wKShpbnQgb3ApOwogI2VuZGlmCiAgICAgaW50ICgqc2V0
X3RhcmdldCkoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGRvbWFpbiAqZSk7
Ci0gICAgaW50ICgqZG9tY3RsKShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25l
ZCBpbnQgY21kLCB1aW50MzJfdCBzc2lkcmVmKTsKKyAgICBpbnQgKCpkb21j
dGwpKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCB4ZW5fZG9tY3RsICpvcCk7
CiAgICAgaW50ICgqc3lzY3RsKShpbnQgY21kKTsKICAgICBpbnQgKCpyZWFk
Y29uc29sZSkodWludDMyX3QgY2xlYXIpOwogCkBAIC0yNTgsOSArMjU4LDkg
QEAgc3RhdGljIGlubGluZSBpbnQgeHNtX3NldF90YXJnZXQoCiB9CiAKIHN0
YXRpYyBpbmxpbmUgaW50IHhzbV9kb21jdGwoeHNtX2RlZmF1bHRfdCBkZWYs
IHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGludCBjbWQsIHVpbnQzMl90IHNzaWRyZWYpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsICpv
cCkKIHsKLSAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh4c21fb3BzLmRv
bWN0bCwgZCwgY21kLCBzc2lkcmVmKTsKKyAgICByZXR1cm4gYWx0ZXJuYXRp
dmVfY2FsbCh4c21fb3BzLmRvbWN0bCwgZCwgb3ApOwogfQogCiBzdGF0aWMg
aW5saW5lIGludCB4c21fc3lzY3RsKHhzbV9kZWZhdWx0X3QgZGVmLCBpbnQg
Y21kKQotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIveGVuL3hz
bS9mbGFzay9ob29rcy5jCkBAIC02MzQsMTAgKzYzNCw5IEBAIHN0YXRpYyBp
bnQgY2ZfY2hlY2sgZmxhc2tfc2V0X3RhcmdldChzdHIKICAgICByZXR1cm4g
cmM7CiB9CiAKLXN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0
cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBjbWQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzc2lkcmVmKQorc3Rh
dGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0IGRvbWFpbiAq
ZCwgc3RydWN0IHhlbl9kb21jdGwgKm9wKQogewotICAgIHN3aXRjaCAoIGNt
ZCApCisgICAgc3dpdGNoICggb3AtPmNtZCApCiAgICAgewogICAgIGNhc2Ug
WEVOX0RPTUNUTF9jcmVhdGVkb21haW46CiAgICAgICAgIC8qCkBAIC02NDcs
NyArNjQ2LDggQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwo
c3RydWN0CiAgICAgICAgICAqIE5vdGUgdGhhdCBkIGlzIE5VTEwgYmVjYXVz
ZSB3ZSBoYXZlbid0IGV2ZW4gYWxsb2NhdGVkIG1lbW9yeSBmb3IgaXQKICAg
ICAgICAgICogdGhpcyBlYXJseSBpbiBYRU5fRE9NQ1RMX2NyZWF0ZWRvbWFp
bi4KICAgICAgICAgICovCi0gICAgICAgIHJldHVybiBhdmNfY3VycmVudF9o
YXNfcGVybShzc2lkcmVmLCBTRUNDTEFTU19ET01BSU4sIERPTUFJTl9fQ1JF
QVRFLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuIGF2Y19jdXJyZW50X2hhc19w
ZXJtKG9wLT51LmNyZWF0ZWRvbWFpbi5zc2lkcmVmLCBTRUNDTEFTU19ET01B
SU4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBET01B
SU5fX0NSRUFURSwgTlVMTCk7CiAKICAgICAvKiBUaGVzZSBoYXZlIGluZGl2
aWR1YWwgWFNNIGhvb2tzIGFuZCBkb24ndCBtYWtlIGl0IGhlcmUuICovCiAg
ICAgY2FzZSBYRU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgpAQCAtODIyLDcgKzgy
Miw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVj
dAogICAgICAgICByZXR1cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUNDTEFT
U19ET01BSU4yLCBET01BSU4yX19TRVRfTExDX0NPTE9SUyk7CiAKICAgICBk
ZWZhdWx0OgotICAgICAgICByZXR1cm4gYXZjX3Vua25vd25fcGVybWlzc2lv
bigiZG9tY3RsIiwgY21kKTsKKyAgICAgICAgcmV0dXJuIGF2Y191bmtub3du
X3Blcm1pc3Npb24oImRvbWN0bCIsIG9wLT5jbWQpOwogICAgIH0KIH0KIAo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-16.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-16.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHNjaGVkdWxlcl9vcCBob29rCgpJbnRlZ3Jh
dGUgdGhlIGNoZWNraW5nIHdpdGggeHNtX2RvbWN0bCgpLCBub3cgdGhhdCBp
dCBoYXMgdGhlIGZ1bGwgb3AKc3RydWN0IHBhc3NlZC4gQXMgYSBwb3NpdGl2
ZSBzaWRlIGVmZmVjdCwgcGVybWlzc2lvbnMgYXJlIHRoZW4gY2hlY2tlZCBh
dAp0aGUgc2FtZSBlYXJseSBwb2ludCB3aXRoIGFuZCB3aXRob3V0IEZsYXNr
LgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIuCgpTaWduZWQtb2ZmLWJ5OiBK
YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkFja2VkLWJ5OiBEYW5p
ZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+ClJl
dmlld2VkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+Cgot
LS0gYS94ZW4vY29tbW9uL3NjaGVkL2NvcmUuYworKysgYi94ZW4vY29tbW9u
L3NjaGVkL2NvcmUuYwpAQCAtMjA3MywxMCArMjA3Myw2IEBAIGxvbmcgc2No
ZWRfYWRqdXN0KHN0cnVjdCBkb21haW4gKmQsIHN0cnUKIHsKICAgICBsb25n
IHJldDsKIAotICAgIHJldCA9IHhzbV9kb21jdGxfc2NoZWR1bGVyX29wKFhT
TV9IT09LLCBkLCBvcC0+Y21kKTsKLSAgICBpZiAoIHJldCApCi0gICAgICAg
IHJldHVybiByZXQ7Ci0KICAgICBpZiAoIG9wLT5zY2hlZF9pZCAhPSBkb21f
c2NoZWR1bGVyKGQpLT5zY2hlZF9pZCApCiAgICAgICAgIHJldHVybiAtRUlO
VkFMOwogCi0tLSBhL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCisrKyBiL3hl
bi9pbmNsdWRlL3hzbS9kdW1teS5oCkBAIC0xNDEsMTMgKzE0MSw2IEBAIHN0
YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fZ2V0ZG8KICAgICBy
ZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9t
YWluLCBkKTsKIH0KIAotc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNr
IHhzbV9kb21jdGxfc2NoZWR1bGVyX29wKAotICAgIFhTTV9ERUZBVUxUX0FS
RyBzdHJ1Y3QgZG9tYWluICpkLCBpbnQgY21kKQotewotICAgIFhTTV9BU1NF
UlRfQUNUSU9OKFhTTV9IT09LKTsKLSAgICByZXR1cm4geHNtX2RlZmF1bHRf
YWN0aW9uKGFjdGlvbiwgY3VycmVudC0+ZG9tYWluLCBkKTsKLX0KLQogc3Rh
dGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9zeXNjdGxfc2NoZWR1
bGVyX29wKFhTTV9ERUZBVUxUX0FSRyBpbnQgY21kKQogewogICAgIFhTTV9B
U1NFUlRfQUNUSU9OKFhTTV9IT09LKTsKLS0tIGEveGVuL2luY2x1ZGUveHNt
L3hzbS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS94c20uaApAQCAtNTYsNyAr
NTYsNiBAQCBzdHJ1Y3QgeHNtX29wcyB7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX2dldGRvbWFpbmluZm8g
KmluZm8pOwogICAgIGludCAoKmRvbWFpbl9jcmVhdGUpKHN0cnVjdCBkb21h
aW4gKmQsIHVpbnQzMl90IHNzaWRyZWYpOwogICAgIGludCAoKmdldGRvbWFp
bmluZm8pKHN0cnVjdCBkb21haW4gKmQpOwotICAgIGludCAoKmRvbWN0bF9z
Y2hlZHVsZXJfb3ApKHN0cnVjdCBkb21haW4gKmQsIGludCBvcCk7CiAjaWZk
ZWYgQ09ORklHX1NZU0NUTAogICAgIGludCAoKnN5c2N0bF9zY2hlZHVsZXJf
b3ApKGludCBvcCk7CiAjZW5kaWYKQEAgLTIzOCwxMiArMjM3LDYgQEAgc3Rh
dGljIGlubGluZSBpbnQgeHNtX2dldF9kb21haW5fc3RhdGUoeAogICAgIHJl
dHVybiBhbHRlcm5hdGl2ZV9jYWxsKHhzbV9vcHMuZ2V0X2RvbWFpbl9zdGF0
ZSwgZCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IHhzbV9kb21jdGxfc2No
ZWR1bGVyX29wKAotICAgIHhzbV9kZWZhdWx0X3QgZGVmLCBzdHJ1Y3QgZG9t
YWluICpkLCBpbnQgY21kKQotewotICAgIHJldHVybiBhbHRlcm5hdGl2ZV9j
YWxsKHhzbV9vcHMuZG9tY3RsX3NjaGVkdWxlcl9vcCwgZCwgY21kKTsKLX0K
LQogI2lmZGVmIENPTkZJR19TWVNDVEwKIHN0YXRpYyBpbmxpbmUgaW50IHhz
bV9zeXNjdGxfc2NoZWR1bGVyX29wKHhzbV9kZWZhdWx0X3QgZGVmLCBpbnQg
Y21kKQogewotLS0gYS94ZW4veHNtL2R1bW15LmMKKysrIGIveGVuL3hzbS9k
dW1teS5jCkBAIC0xOCw3ICsxOCw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg
eHNtX29wcyBfX2luaXRjb25zdF8KICAgICAuc2VjdXJpdHlfZG9tYWluaW5m
byAgICAgICAgICAgPSB4c21fc2VjdXJpdHlfZG9tYWluaW5mbywKICAgICAu
ZG9tYWluX2NyZWF0ZSAgICAgICAgICAgICAgICAgPSB4c21fZG9tYWluX2Ny
ZWF0ZSwKICAgICAuZ2V0ZG9tYWluaW5mbyAgICAgICAgICAgICAgICAgPSB4
c21fZ2V0ZG9tYWluaW5mbywKLSAgICAuZG9tY3RsX3NjaGVkdWxlcl9vcCAg
ICAgICAgICAgPSB4c21fZG9tY3RsX3NjaGVkdWxlcl9vcCwKICNpZmRlZiBD
T05GSUdfU1lTQ1RMCiAgICAgLnN5c2N0bF9zY2hlZHVsZXJfb3AgICAgICAg
ICAgID0geHNtX3N5c2N0bF9zY2hlZHVsZXJfb3AsCiAjZW5kaWYKLS0tIGEv
eGVuL3hzbS9mbGFzay9ob29rcy5jCisrKyBiL3hlbi94c20vZmxhc2svaG9v
a3MuYwpAQCAtNTc2LDcgKzU3Niw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sg
Zmxhc2tfZ2V0ZG9tYWluaW5mbygKICAgICByZXR1cm4gY3VycmVudF9oYXNf
cGVybShkLCBTRUNDTEFTU19ET01BSU4sIERPTUFJTl9fR0VURE9NQUlOSU5G
Tyk7CiB9CiAKLXN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tfZG9tY3RsX3Nj
aGVkdWxlcl9vcChzdHJ1Y3QgZG9tYWluICpkLCBpbnQgb3ApCitzdGF0aWMg
aW50IGZsYXNrX2RvbWN0bF9zY2hlZHVsZXJfb3Aoc3RydWN0IGRvbWFpbiAq
ZCwgaW50IG9wKQogewogICAgIHN3aXRjaCAoIG9wICkKICAgICB7CkBAIC02
NjQsNyArNjY0LDYgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21j
dGwoc3RydWN0CiAgICAgICAgIHJldHVybiAtRUlMU0VROwogCiAgICAgLyog
VGhlc2UgaGF2ZSBpbmRpdmlkdWFsIFhTTSBob29rcyAoY29tbW9uL2RvbWN0
bC5jKSAqLwotICAgIGNhc2UgWEVOX0RPTUNUTF9zY2hlZHVsZXJfb3A6CiAg
ICAgY2FzZSBYRU5fRE9NQ1RMX3NldF90YXJnZXQ6CiAKICNpZmRlZiBDT05G
SUdfWDg2CkBAIC03MTIsNiArNzExLDkgQEAgc3RhdGljIGludCBjZl9jaGVj
ayBmbGFza19kb21jdGwoc3RydWN0CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Nl
dGRvbWFpbmhhbmRsZToKICAgICAgICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Bl
cm0oZCwgU0VDQ0xBU1NfRE9NQUlOLCBET01BSU5fX1NFVERPTUFJTkhBTkRM
RSk7CiAKKyAgICBjYXNlIFhFTl9ET01DVExfc2NoZWR1bGVyX29wOgorICAg
ICAgICByZXR1cm4gZmxhc2tfZG9tY3RsX3NjaGVkdWxlcl9vcChkLCBvcC0+
dS5zY2hlZHVsZXJfb3AuY21kKTsKKwogICAgIGNhc2UgWEVOX0RPTUNUTF9z
ZXRfZXh0X3ZjcHVjb250ZXh0OgogICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRf
dmNwdV9tc3JzOgogICAgIGNhc2UgWEVOX0RPTUNUTF9zZXR2Y3B1Y29udGV4
dDoKQEAgLTE4NDcsNyArMTg0OSw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg
eHNtX29wcyBfX2luaXRjb25zdF8KICAgICAuc2VjdXJpdHlfZG9tYWluaW5m
byA9IGZsYXNrX3NlY3VyaXR5X2RvbWFpbmluZm8sCiAgICAgLmRvbWFpbl9j
cmVhdGUgPSBmbGFza19kb21haW5fY3JlYXRlLAogICAgIC5nZXRkb21haW5p
bmZvID0gZmxhc2tfZ2V0ZG9tYWluaW5mbywKLSAgICAuZG9tY3RsX3NjaGVk
dWxlcl9vcCA9IGZsYXNrX2RvbWN0bF9zY2hlZHVsZXJfb3AsCiAjaWZkZWYg
Q09ORklHX1NZU0NUTAogICAgIC5zeXNjdGxfc2NoZWR1bGVyX29wID0gZmxh
c2tfc3lzY3RsX3NjaGVkdWxlcl9vcCwKICNlbmRpZgo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-17.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-17.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHNoYWRvd19jb250cm9sX29wIGhvb2sKCklu
dGVncmF0ZSB0aGUgY2hlY2tpbmcgd2l0aCB4c21fZG9tY3RsKCksIG5vdyB0
aGF0IGl0IGhhcyB0aGUgZnVsbCBvcApzdHJ1Y3QgcGFzc2VkLiBBcyBhIHBv
c2l0aXZlIHNpZGUgZWZmZWN0LCBwZXJtaXNzaW9ucyBhcmUgdGhlbiBjaGVj
a2VkIGF0CnRoZSBzYW1lIGVhcmx5IHBvaW50IHdpdGggYW5kIHdpdGhvdXQg
Rmxhc2suCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ5Mi4KClNpZ25lZC1vZmYt
Ynk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQWNrZWQtYnk6
IERhbmllbCBQLiBTbWl0aCA8ZHBzbWl0aEBhcGVydHVzc29sdXRpb25zLmNv
bT4KCi0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYworKysgYi94ZW4v
YXJjaC94ODYvbW0vcGFnaW5nLmMKQEAgLTY4OSwxMCArNjg5LDYgQEAgaW50
IHBhZ2luZ19kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgc3RydQogICAgICAg
ICByZXR1cm4gLUVCVVNZOwogICAgIH0KIAotICAgIHJjID0geHNtX3NoYWRv
d19jb250cm9sKFhTTV9IT09LLCBkLCBzYy0+b3ApOwotICAgIGlmICggcmMg
KQotICAgICAgICByZXR1cm4gcmM7Ci0KICAgICAvKiBDb2RlIHRvIGhhbmRs
ZSBsb2ctZGlydHkuIE5vdGUgdGhhdCBzb21lIGxvZyBkaXJ0eSBvcGVyYXRp
b25zCiAgICAgICogcGlnZ3ktYmFjayBvbiBzaGFkb3cgb3BlcmF0aW9ucy4g
Rm9yIGV4YW1wbGUsIHdoZW4KICAgICAgKiBYRU5fRE9NQ1RMX1NIQURPV19P
UF9PRkYgaXMgY2FsbGVkLCBpdCBmaXJzdCBjaGVja3Mgd2hldGhlciBsb2cg
ZGlydHkKLS0tIGEveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKKysrIGIveGVu
L2luY2x1ZGUveHNtL2R1bW15LmgKQEAgLTY3NSwxMyArNjc1LDYgQEAgc3Rh
dGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9kb19tYwogICAgIHJl
dHVybiB4c21fZGVmYXVsdF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5kb21h
aW4sIE5VTEwpOwogfQogCi1zdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hl
Y2sgeHNtX3NoYWRvd19jb250cm9sKAotICAgIFhTTV9ERUZBVUxUX0FSRyBz
dHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBvcCkKLXsKLSAgICBYU01fQVNT
RVJUX0FDVElPTihYU01fSE9PSyk7Ci0gICAgcmV0dXJuIHhzbV9kZWZhdWx0
X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgZCk7Ci19Ci0KIHN0
YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4c21fbWVtX3NoYXJpbmdf
b3AoCiAgICAgWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQsIHN0
cnVjdCBkb21haW4gKmNkLCBpbnQgb3ApCiB7Ci0tLSBhL3hlbi9pbmNsdWRl
L3hzbS94c20uaAorKysgYi94ZW4vaW5jbHVkZS94c20veHNtLmgKQEAgLTE3
MCw3ICsxNzAsNiBAQCBzdHJ1Y3QgeHNtX29wcyB7CiAKICNpZmRlZiBDT05G
SUdfWDg2CiAgICAgaW50ICgqZG9fbWNhKSh2b2lkKTsKLSAgICBpbnQgKCpz
aGFkb3dfY29udHJvbCkoc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3Qgb3Ap
OwogICAgIGludCAoKm1lbV9zaGFyaW5nX29wKShzdHJ1Y3QgZG9tYWluICpk
LCBzdHJ1Y3QgZG9tYWluICpjZCwgaW50IG9wKTsKICAgICBpbnQgKCphcGlj
KShzdHJ1Y3QgZG9tYWluICpkLCBpbnQgY21kKTsKICAgICBpbnQgKCptYWNo
aW5lX21lbW9yeV9tYXApKHZvaWQpOwpAQCAtNjczLDEyICs2NzIsNiBAQCBz
dGF0aWMgaW5saW5lIGludCB4c21fZG9fbWNhKHhzbV9kZWZhdWx0CiAgICAg
cmV0dXJuIGFsdGVybmF0aXZlX2NhbGwoeHNtX29wcy5kb19tY2EpOwogfQog
Ci1zdGF0aWMgaW5saW5lIGludCB4c21fc2hhZG93X2NvbnRyb2woCi0gICAg
eHNtX2RlZmF1bHRfdCBkZWYsIHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90
IG9wKQotewotICAgIHJldHVybiBhbHRlcm5hdGl2ZV9jYWxsKHhzbV9vcHMu
c2hhZG93X2NvbnRyb2wsIGQsIG9wKTsKLX0KLQogc3RhdGljIGlubGluZSBp
bnQgeHNtX21lbV9zaGFyaW5nX29wKAogICAgIHhzbV9kZWZhdWx0X3QgZGVm
LCBzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZG9tYWluICpjZCwgaW50IG9w
KQogewotLS0gYS94ZW4veHNtL2R1bW15LmMKKysrIGIveGVuL3hzbS9kdW1t
eS5jCkBAIC0xMjgsNyArMTI4LDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB4
c21fb3BzIF9faW5pdGNvbnN0XwogICAgIC5wbGF0Zm9ybV9vcCAgICAgICAg
ICAgICAgICAgICA9IHhzbV9wbGF0Zm9ybV9vcCwKICNpZmRlZiBDT05GSUdf
WDg2CiAgICAgLmRvX21jYSAgICAgICAgICAgICAgICAgICAgICAgID0geHNt
X2RvX21jYSwKLSAgICAuc2hhZG93X2NvbnRyb2wgICAgICAgICAgICAgICAg
PSB4c21fc2hhZG93X2NvbnRyb2wsCiAgICAgLm1lbV9zaGFyaW5nX29wICAg
ICAgICAgICAgICAgID0geHNtX21lbV9zaGFyaW5nX29wLAogICAgIC5hcGlj
ICAgICAgICAgICAgICAgICAgICAgICAgICA9IHhzbV9hcGljLAogICAgIC5t
YWNoaW5lX21lbW9yeV9tYXAgICAgICAgICAgICA9IHhzbV9tYWNoaW5lX21l
bW9yeV9tYXAsCi0tLSBhL3hlbi94c20vZmxhc2svaG9va3MuYworKysgYi94
ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAgLTM5LDYgKzM5LDcgQEAKIAogI2lm
ZGVmIENPTkZJR19YODYKICNpbmNsdWRlIDxhc20vcHYvc2hpbS5oPgorc3Rh
dGljIGludCBmbGFza19zaGFkb3dfY29udHJvbChzdHJ1Y3QgZG9tYWluICpk
LCB1bnNpZ25lZCBpbnQgb3ApOwogI2Vsc2UKICNkZWZpbmUgcHZfc2hpbSBm
YWxzZQogI2VuZGlmCkBAIC02NjYsMTAgKzY2Nyw2IEBAIHN0YXRpYyBpbnQg
Y2ZfY2hlY2sgZmxhc2tfZG9tY3RsKHN0cnVjdAogICAgIC8qIFRoZXNlIGhh
dmUgaW5kaXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9kb21jdGwuYykgKi8K
ICAgICBjYXNlIFhFTl9ET01DVExfc2V0X3RhcmdldDoKIAotI2lmZGVmIENP
TkZJR19YODYKLSAgICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhv
b2tzIChhcmNoL3g4Ni9kb21jdGwuYykgKi8KLSAgICBjYXNlIFhFTl9ET01D
VExfc2hhZG93X29wOgotI2VuZGlmCiAjaWZkZWYgQ09ORklHX0hBU19QQVNT
VEhST1VHSAogICAgIC8qCiAgICAgICogVGhlc2UgaGF2ZSBpbmRpdmlkdWFs
IFhTTSBob29rcwpAQCAtNzU0LDYgKzc1MSwxMSBAQCBzdGF0aWMgaW50IGNm
X2NoZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICBjYXNlIFhFTl9ET01D
VExfZ2V0X2FkZHJlc3Nfc2l6ZToKICAgICAgICAgcmV0dXJuIGN1cnJlbnRf
aGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9NQUlOLCBET01BSU5fX0dFVEFERFJT
SVpFKTsKIAorI2lmZGVmIENPTkZJR19YODYKKyAgICBjYXNlIFhFTl9ET01D
VExfc2hhZG93X29wOgorICAgICAgICByZXR1cm4gZmxhc2tfc2hhZG93X2Nv
bnRyb2woZCwgb3AtPnUuc2hhZG93X29wLm9wKTsKKyNlbmRpZgorCiAgICAg
Y2FzZSBYRU5fRE9NQ1RMX21lbV9zaGFyaW5nX29wOgogICAgICAgICByZXR1
cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUNDTEFTU19IVk0sIEhWTV9fTUVN
X1NIQVJJTkcpOwogCkBAIC0xNTY2LDcgKzE1NjgsNyBAQCBzdGF0aWMgaW50
IGNmX2NoZWNrIGZsYXNrX2RvX21jYSh2b2lkKQogICAgIHJldHVybiBkb21h
aW5faGFzX3hlbihjdXJyZW50LT5kb21haW4sIFhFTl9fTUNBX09QKTsKIH0K
IAotc3RhdGljIGludCBjZl9jaGVjayBmbGFza19zaGFkb3dfY29udHJvbChz
dHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBvcCkKK3N0YXRpYyBpbnQgZmxh
c2tfc2hhZG93X2NvbnRyb2woc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQg
aW50IG9wKQogewogICAgIHVpbnQzMl90IHBlcm07CiAKQEAgLTE5NjAsNyAr
MTk2Miw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeHNtX29wcyBfX2luaXRj
b25zdF8KICAgICAucGxhdGZvcm1fb3AgPSBmbGFza19wbGF0Zm9ybV9vcCwK
ICNpZmRlZiBDT05GSUdfWDg2CiAgICAgLmRvX21jYSA9IGZsYXNrX2RvX21j
YSwKLSAgICAuc2hhZG93X2NvbnRyb2wgPSBmbGFza19zaGFkb3dfY29udHJv
bCwKICAgICAubWVtX3NoYXJpbmdfb3AgPSBmbGFza19tZW1fc2hhcmluZ19v
cCwKICAgICAuYXBpYyA9IGZsYXNrX2FwaWMsCiAgICAgLm1hY2hpbmVfbWVt
b3J5X21hcCA9IGZsYXNrX21hY2hpbmVfbWVtb3J5X21hcCwK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-18.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-18.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX2dldF9kZXZpY2VfZ3JvdXAg
d2l0aG91dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKCmlvbW11X2dldF9kZXZp
Y2VfZ3JvdXAoKSB1c2VzIGl0cyBvd24gbG9ja2luZy4gVGh1cywgd2l0aCBj
YWxsZXIgc2lkZQpsb2NraW5nIGlycmVsZXZhbnQsIGl0IGNhbiBhcyB3ZWxs
IGJlIGNhbGxlZCB3aXRoIHRoZSBkb21jdGwgbG9jayBub3QKaGVsZC4KCk1v
dmUgdGhlIGhhbmRsaW5nIG5vdCBvbmx5IGFoZWFkIG9mIGFjcXVpcmluZyB0
aGUgbG9jaywgYnV0IGFsc28gYWhlYWQKb2YgdGhlIFhTTSBjaGVjaywgbGV2
ZXJhZ2luZyB0aGF0IHRoZSBzdWItb3AgaGFzIGl0cyBvd24gaG9vay4KClRo
aXMgaXMgcGFydCBvZiBYU0EtNDkyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJl
dWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpBY2tlZC1ieTogRGFuaWVsIFAu
IFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29tPgpSZXZpZXdl
ZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+
CgotLS0gYS94ZW4vY29tbW9uL2RvbWN0bC5jCisrKyBiL3hlbi9jb21tb24v
ZG9tY3RsLmMKQEAgLTUxMyw2ICs1MTMsMTAgQEAgbG9uZyBkb19kb21jdGwo
WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAgICAgICAvKiBPdGhlciBz
dWItb3BzIGhhbmRsZWQgZnVydGhlciBkb3duLiAqLwogICAgICAgICBicmVh
azsKIAorICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRfZGV2aWNlX2dyb3VwOgor
ICAgICAgICByZXQgPSBpb21tdV9kb19kb21jdGwob3AsIGQsIHVfZG9tY3Rs
KTsKKyAgICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5Owor
CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNzaW9uOgogICAg
IGNhc2UgWEVOX0RPTUNUTF9pb3BvcnRfbWFwcGluZzoKICAgICBjYXNlIFhF
Tl9ET01DVExfZ3NpX3Blcm1pc3Npb246CkBAIC05MjQsNyArOTI4LDYgQEAg
bG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZQogICAg
IGNhc2UgWEVOX0RPTUNUTF9hc3NpZ25fZGV2aWNlOgogICAgIGNhc2UgWEVO
X0RPTUNUTF90ZXN0X2Fzc2lnbl9kZXZpY2U6CiAgICAgY2FzZSBYRU5fRE9N
Q1RMX2RlYXNzaWduX2RldmljZToKLSAgICBjYXNlIFhFTl9ET01DVExfZ2V0
X2RldmljZV9ncm91cDoKICAgICAgICAgcmV0ID0gaW9tbXVfZG9fZG9tY3Rs
KG9wLCBkLCB1X2RvbWN0bCk7CiAgICAgICAgIGJyZWFrOwogCi0tLSBhL3hl
bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCisrKyBiL3hlbi9kcml2ZXJz
L3Bhc3N0aHJvdWdoL3BjaS5jCkBAIC0xNzAzLDcgKzE3MDMsNyBAQCBzdGF0
aWMgaW50IGlvbW11X2dldF9kZXZpY2VfZ3JvdXAoCiAgICAgICAgIGlmICgg
KHBkZXYtPnNlZyAhPSBzZWcpIHx8ICgoYiA9PSBidXMpICYmIChkZiA9PSBk
ZXZmbikpICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGlm
ICggeHNtX2dldF9kZXZpY2VfZ3JvdXAoWFNNX0hPT0ssIChzZWcgPDwgMTYp
IHwgKGIgPDwgOCkgfCBkZikgKQorICAgICAgICBpZiAoIHhzbV9nZXRfZGV2
aWNlX2dyb3VwKFhTTV9QUklWLCAoc2VnIDw8IDE2KSB8IChiIDw8IDgpIHwg
ZGYpICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIHNkZXZf
aWQgPSBpb21tdV9jYWxsKG9wcywgZ2V0X2RldmljZV9ncm91cF9pZCwgc2Vn
LCBiLCBkZik7CkBAIC0xNzczLDcgKzE3NzMsNyBAQCBpbnQgaW9tbXVfZG9f
cGNpX2RvbWN0bCgKICAgICAgICAgdTMyIG1heF9zZGV2czsKICAgICAgICAg
WEVOX0dVRVNUX0hBTkRMRV82NCh1aW50MzIpIHNkZXZzOwogCi0gICAgICAg
IHJldCA9IHhzbV9nZXRfZGV2aWNlX2dyb3VwKFhTTV9IT09LLCBkb21jdGwt
PnUuZ2V0X2RldmljZV9ncm91cC5tYWNoaW5lX3NiZGYpOworICAgICAgICBy
ZXQgPSB4c21fZ2V0X2RldmljZV9ncm91cChYU01fUFJJViwgZG9tY3RsLT51
LmdldF9kZXZpY2VfZ3JvdXAubWFjaGluZV9zYmRmKTsKICAgICAgICAgaWYg
KCByZXQgKQogICAgICAgICAgICAgYnJlYWs7CiAKLS0tIGEveGVuL2luY2x1
ZGUveHNtL2R1bW15LmgKKysrIGIveGVuL2luY2x1ZGUveHNtL2R1bW15LmgK
QEAgLTE2Miw2ICsxNjIsNyBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2Zf
Y2hlY2sgeHNtX2RvbWN0CiAgICAgewogICAgIGNhc2UgWEVOX0RPTUNUTF9i
aW5kX3B0X2lycToKICAgICBjYXNlIFhFTl9ET01DVExfZ2V0ZG9tYWluaW5m
bzoKKyAgICBjYXNlIFhFTl9ET01DVExfZ2V0X2RldmljZV9ncm91cDoKICAg
ICBjYXNlIFhFTl9ET01DVExfZ2V0X2RvbWFpbl9zdGF0ZToKICAgICBjYXNl
IFhFTl9ET01DVExfZ3NpX3Blcm1pc3Npb246CiAgICAgY2FzZSBYRU5fRE9N
Q1RMX2lvbWVtX3Blcm1pc3Npb246CkBAIC0zOTQsNyArMzk1LDcgQEAgc3Rh
dGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9nZXRfdgogc3RhdGlj
IFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9nZXRfZGV2aWNlX2dyb3Vw
KAogICAgIFhTTV9ERUZBVUxUX0FSRyB1aW50MzJfdCBtYWNoaW5lX2JkZikK
IHsKLSAgICBYU01fQVNTRVJUX0FDVElPTihYU01fSE9PSyk7CisgICAgWFNN
X0FTU0VSVF9BQ1RJT04oWFNNX1BSSVYpOwogICAgIHJldHVybiB4c21fZGVm
YXVsdF9hY3Rpb24oYWN0aW9uLCBjdXJyZW50LT5kb21haW4sIE5VTEwpOwog
fQogCi0tLSBhL3hlbi94c20vZmxhc2svaG9va3MuYworKysgYi94ZW4veHNt
L2ZsYXNrL2hvb2tzLmMKQEAgLTY1Myw2ICs2NTMsNyBAQCBzdGF0aWMgaW50
IGNmX2NoZWNrIGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICAvKiBUaGVzZSBo
YXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzIGFuZCBkb24ndCBtYWtlIGl0IGhl
cmUuICovCiAgICAgY2FzZSBYRU5fRE9NQ1RMX2JpbmRfcHRfaXJxOgogICAg
IGNhc2UgWEVOX0RPTUNUTF9nZXRkb21haW5pbmZvOgorICAgIGNhc2UgWEVO
X0RPTUNUTF9nZXRfZGV2aWNlX2dyb3VwOgogICAgIGNhc2UgWEVOX0RPTUNU
TF9nZXRfZG9tYWluX3N0YXRlOgogICAgIGNhc2UgWEVOX0RPTUNUTF9nc2lf
cGVybWlzc2lvbjoKICAgICBjYXNlIFhFTl9ET01DVExfaW9tZW1fcGVybWlz
c2lvbjoKQEAgLTY3Miw3ICs2NzMsNiBAQCBzdGF0aWMgaW50IGNmX2NoZWNr
IGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICAgKiBUaGVzZSBoYXZlIGluZGl2
aWR1YWwgWFNNIGhvb2tzCiAgICAgICogKGRyaXZlcnMvcGFzc3Rocm91Z2gv
e3BjaSxkZXZpY2VfdHJlZS5jKQogICAgICAqLwotICAgIGNhc2UgWEVOX0RP
TUNUTF9nZXRfZGV2aWNlX2dyb3VwOgogICAgIGNhc2UgWEVOX0RPTUNUTF90
ZXN0X2Fzc2lnbl9kZXZpY2U6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2Fzc2ln
bl9kZXZpY2U6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2RlYXNzaWduX2Rldmlj
ZToK

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-19.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-19.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGwvWFNNOiBkcm9wIHssZGV9YXNzaWduX3ssZHR9ZGV2aWNlIGhv
b2tzCgpJbnRlZ3JhdGUgdGhlIGNoZWNraW5nIHdpdGggeHNtX2RvbWN0bCgp
LiBBcyBhIHBvc2l0aXZlIHNpZGUgZWZmZWN0LApwZXJtaXNzaW9ucyBhcmUg
dGhlbiBjaGVja2VkIGF0IHRoZSBzYW1lIGVhcmx5IHBvaW50IHdpdGggYW5k
IHdpdGhvdXQKRmxhc2suIEFzIHRoZSBEVCBkZXZpY2UgcGF0aCBuZWVkcyBm
ZXRjaGluZyBlYXJsaWVyIChidXQgbXVzdCBub3QgYmUKZG91YmxlIGZldGNo
ZWQpLCBjYWNoZSBpdCBpbiBhIHByaXZhdGUgZmllbGQgb2YgdGhlIHB1Ymxp
YyBpbnRlcmZhY2UKc3RydWN0LgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIu
CgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j
b20+CkFja2VkLWJ5OiBEYW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1
c3NvbHV0aW9ucy5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOp
IDxyb2dlci5wYXVAY2l0cml4LmNvbT4KCi0tLSBhL3hlbi9jb21tb24vZG9t
Y3RsLmMKKysrIGIveGVuL2NvbW1vbi9kb21jdGwuYwpAQCAtMzI1LDYgKzMy
NSwxMCBAQCBsb25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFN
KHhlCiAgICAgY2FzZSBYRU5fRE9NQ1RMX2RlYXNzaWduX2RldmljZToKICAg
ICAgICAgaWYgKCBvcC0+ZG9tYWluID09IERPTUlEX0lPICkKICAgICAgICAg
eworI2lmZGVmIENPTkZJR19IQVNfREVWSUNFX1RSRUVfRElTQ09WRVJZCisg
ICAgICAgICAgICBpZiAoIG9wLT51LmFzc2lnbl9kZXZpY2UuZGV2ID09IFhF
Tl9ET01DVExfREVWX0RUICkKKyAgICAgICAgICAgICAgICBvcC0+dS5hc3Np
Z25fZGV2aWNlLnUuZHQuZGV2ID0gTlVMTDsKKyNlbmRpZgogICAgICAgICAg
ICAgZCA9IGRvbV9pbzsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9
CkBAIC0zMzIsNiArMzM2LDExIEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVT
VF9IQU5ETEVfUEFSQU0oeGUKICAgICAgICAgICAgIHJldHVybiAtRVNSQ0g7
CiAgICAgICAgIGZhbGx0aHJvdWdoOwogICAgIGNhc2UgWEVOX0RPTUNUTF90
ZXN0X2Fzc2lnbl9kZXZpY2U6CisjaWZkZWYgQ09ORklHX0hBU19ERVZJQ0Vf
VFJFRV9ESVNDT1ZFUlkKKyAgICAgICAgaWYgKCBvcC0+dS5hc3NpZ25fZGV2
aWNlLmRldiA9PSBYRU5fRE9NQ1RMX0RFVl9EVCApCisgICAgICAgICAgICBv
cC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQuZGV2ID0gTlVMTDsKKyAgICAgICAg
ZmFsbHRocm91Z2g7CisjZW5kaWYKICAgICBjYXNlIFhFTl9ET01DVExfdm1f
ZXZlbnRfb3A6CiAgICAgICAgIGlmICggb3AtPmRvbWFpbiA9PSBET01JRF9J
TlZBTElEICkKICAgICAgICAgewotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC9kZXZpY2VfdHJlZS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJv
dWdoL2RldmljZV90cmVlLmMKQEAgLTM0MCwxNSArMzQwLDE1IEBAIGludCBp
b21tdV9kb19kdF9kb21jdGwoc3RydWN0IHhlbl9kb21jdGwKICAgICAgICAg
aWYgKCAoZCAmJiBkLT5pc19keWluZykgfHwgZG9tY3RsLT51LmFzc2lnbl9k
ZXZpY2UuZmxhZ3MgKQogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAg
cmV0ID0gZHRfZmluZF9ub2RlX2J5X2dwYXRoKGRvbWN0bC0+dS5hc3NpZ25f
ZGV2aWNlLnUuZHQucGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRvbWN0bC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQuc2l6ZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkZXYpOwot
ICAgICAgICBpZiAoIHJldCApCi0gICAgICAgICAgICBicmVhazsKLQotICAg
ICAgICByZXQgPSB4c21fYXNzaWduX2R0ZGV2aWNlKFhTTV9IT09LLCBkLCBk
dF9ub2RlX2Z1bGxfbmFtZShkZXYpKTsKLSAgICAgICAgaWYgKCByZXQgKQot
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRldiA9IGRvbWN0bC0+dS5h
c3NpZ25fZGV2aWNlLnUuZHQuZGV2OworICAgICAgICBpZiAoICFkZXYgKQor
ICAgICAgICB7CisgICAgICAgICAgICByZXQgPSBkdF9maW5kX25vZGVfYnlf
Z3BhdGgoZG9tY3RsLT51LmFzc2lnbl9kZXZpY2UudS5kdC5wYXRoLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWN0bC0+
dS5hc3NpZ25fZGV2aWNlLnUuZHQuc2l6ZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmZGV2KTsKKyAgICAgICAgICAgIGlm
ICggcmV0ICkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQog
CiAgICAgICAgIGlmICggZG9tY3RsLT5jbWQgPT0gWEVOX0RPTUNUTF90ZXN0
X2Fzc2lnbl9kZXZpY2UgKQogICAgICAgICB7CkBAIC0zOTYsMTUgKzM5Niwx
NSBAQCBpbnQgaW9tbXVfZG9fZHRfZG9tY3RsKHN0cnVjdCB4ZW5fZG9tY3Rs
CiAgICAgICAgIGlmICggZG9tY3RsLT51LmFzc2lnbl9kZXZpY2UuZmxhZ3Mg
KQogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgcmV0ID0gZHRfZmlu
ZF9ub2RlX2J5X2dwYXRoKGRvbWN0bC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQu
cGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRv
bWN0bC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQuc2l6ZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZkZXYpOwotICAgICAgICBpZiAo
IHJldCApCi0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICByZXQgPSB4
c21fZGVhc3NpZ25fZHRkZXZpY2UoWFNNX0hPT0ssIGQsIGR0X25vZGVfZnVs
bF9uYW1lKGRldikpOwotICAgICAgICBpZiAoIHJldCApCi0gICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgZGV2ID0gZG9tY3RsLT51LmFzc2lnbl9kZXZp
Y2UudS5kdC5kZXY7CisgICAgICAgIGlmICggIWRldiApCisgICAgICAgIHsK
KyAgICAgICAgICAgIHJldCA9IGR0X2ZpbmRfbm9kZV9ieV9ncGF0aChkb21j
dGwtPnUuYXNzaWduX2RldmljZS51LmR0LnBhdGgsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tY3RsLT51LmFzc2lnbl9k
ZXZpY2UudS5kdC5zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZkZXYpOworICAgICAgICAgICAgaWYgKCByZXQgKQor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAKICAgICAgICAg
aWYgKCBkID09IGRvbV9pbyApCiAgICAgICAgIHsKLS0tIGEveGVuL2RyaXZl
cnMvcGFzc3Rocm91Z2gvcGNpLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Ro
cm91Z2gvcGNpLmMKQEAgLTE4MjMsMTAgKzE4MjMsNiBAQCBpbnQgaW9tbXVf
ZG9fcGNpX2RvbWN0bCgKIAogICAgICAgICBtYWNoaW5lX3NiZGYgPSBkb21j
dGwtPnUuYXNzaWduX2RldmljZS51LnBjaS5tYWNoaW5lX3NiZGY7CiAKLSAg
ICAgICAgcmV0ID0geHNtX2Fzc2lnbl9kZXZpY2UoWFNNX0hPT0ssIGQsIG1h
Y2hpbmVfc2JkZik7Ci0gICAgICAgIGlmICggcmV0ICkKLSAgICAgICAgICAg
IGJyZWFrOwotCiAgICAgICAgIHNlZyA9IG1hY2hpbmVfc2JkZiA+PiAxNjsK
ICAgICAgICAgYnVzID0gUENJX0JVUyhtYWNoaW5lX3NiZGYpOwogICAgICAg
ICBkZXZmbiA9IFBDSV9ERVZGTihtYWNoaW5lX3NiZGYpOwpAQCAtMTg2OCwx
MCArMTg2NCw2IEBAIGludCBpb21tdV9kb19wY2lfZG9tY3RsKAogCiAgICAg
ICAgIG1hY2hpbmVfc2JkZiA9IGRvbWN0bC0+dS5hc3NpZ25fZGV2aWNlLnUu
cGNpLm1hY2hpbmVfc2JkZjsKIAotICAgICAgICByZXQgPSB4c21fZGVhc3Np
Z25fZGV2aWNlKFhTTV9IT09LLCBkLCBtYWNoaW5lX3NiZGYpOwotICAgICAg
ICBpZiAoIHJldCApCi0gICAgICAgICAgICBicmVhazsKLQogICAgICAgICBz
ZWcgPSBtYWNoaW5lX3NiZGYgPj4gMTY7CiAgICAgICAgIGJ1cyA9IFBDSV9C
VVMobWFjaGluZV9zYmRmKTsKICAgICAgICAgZGV2Zm4gPSBQQ0lfREVWRk4o
bWFjaGluZV9zYmRmKTsKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0
bC5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaApAQCAtNTc1
LDcgKzU3NSwxMCBAQCBzdHJ1Y3QgeGVuX2RvbWN0bF9hc3NpZ25fZGV2aWNl
IHsKICAgICAgICAgfSBwY2k7CiAgICAgICAgIHN0cnVjdCB7CiAgICAgICAg
ICAgICB1aW50MzJfdCBzaXplOyAvKiBMZW5ndGggb2YgdGhlIHBhdGggKi8K
LSAgICAgICAgICAgIFhFTl9HVUVTVF9IQU5ETEVfNjQoY2hhcikgcGF0aDsg
LyogcGF0aCB0byB0aGUgZGV2aWNlIHRyZWUgbm9kZSAqLworICAgICAgICAg
ICAgWEVOX0dVRVNUX0hBTkRMRV82NChjaGFyKSBwYXRoOyAvKiBQYXRoIHRv
IHRoZSBkZXZpY2UgdHJlZSBub2RlICovCisjaWZkZWYgX19YRU5fXworICAg
ICAgICAgICAgc3RydWN0IGR0X2RldmljZV9ub2RlICpkZXY7IC8qIFJlc29s
dmVkIGRldmljZSBub2RlIG9mIHRoZSBhYm92ZSAqLworI2VuZGlmCiAgICAg
ICAgIH0gZHQ7CiAgICAgfSB1OwogfTsKLS0tIGEveGVuL2luY2x1ZGUveHNt
L2R1bW15LmgKKysrIGIveGVuL2luY2x1ZGUveHNtL2R1bW15LmgKQEAgLTM5
OCw0MCArMzk4LDggQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50IGNmX2NoZWNr
IHhzbV9nZXRfZAogICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhTTV9QUklWKTsK
ICAgICByZXR1cm4geHNtX2RlZmF1bHRfYWN0aW9uKGFjdGlvbiwgY3VycmVu
dC0+ZG9tYWluLCBOVUxMKTsKIH0KLQotc3RhdGljIFhTTV9JTkxJTkUgaW50
IGNmX2NoZWNrIHhzbV9hc3NpZ25fZGV2aWNlKAotICAgIFhTTV9ERUZBVUxU
X0FSRyBzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBtYWNoaW5lX2JkZikK
LXsKLSAgICBYU01fQVNTRVJUX0FDVElPTihYU01fSE9PSyk7Ci0gICAgcmV0
dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFp
biwgZCk7Ci19Ci0KLXN0YXRpYyBYU01fSU5MSU5FIGludCBjZl9jaGVjayB4
c21fZGVhc3NpZ25fZGV2aWNlKAotICAgIFhTTV9ERUZBVUxUX0FSRyBzdHJ1
Y3QgZG9tYWluICpkLCB1aW50MzJfdCBtYWNoaW5lX2JkZikKLXsKLSAgICBY
U01fQVNTRVJUX0FDVElPTihYU01fSE9PSyk7Ci0gICAgcmV0dXJuIHhzbV9k
ZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgZCk7Ci19
Ci0KICNlbmRpZiAvKiBIQVNfUEFTU1RIUk9VR0ggJiYgSEFTX1BDSSAqLwog
Ci0jaWYgZGVmaW5lZChDT05GSUdfSEFTX1BBU1NUSFJPVUdIKSAmJiBkZWZp
bmVkKENPTkZJR19IQVNfREVWSUNFX1RSRUVfRElTQ09WRVJZKQotc3RhdGlj
IFhTTV9JTkxJTkUgaW50IGNmX2NoZWNrIHhzbV9hc3NpZ25fZHRkZXZpY2Uo
Ci0gICAgWFNNX0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQsIGNvbnN0
IGNoYXIgKmR0cGF0aCkKLXsKLSAgICBYU01fQVNTRVJUX0FDVElPTihYU01f
SE9PSyk7Ci0gICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24s
IGN1cnJlbnQtPmRvbWFpbiwgZCk7Ci19Ci0KLXN0YXRpYyBYU01fSU5MSU5F
IGludCBjZl9jaGVjayB4c21fZGVhc3NpZ25fZHRkZXZpY2UoCi0gICAgWFNN
X0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQsIGNvbnN0IGNoYXIgKmR0
cGF0aCkKLXsKLSAgICBYU01fQVNTRVJUX0FDVElPTihYU01fSE9PSyk7Ci0g
ICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1cnJlbnQt
PmRvbWFpbiwgZCk7Ci19Ci0KLSNlbmRpZiAvKiBIQVNfUEFTU1RIUk9VR0gg
JiYgSEFTX0RFVklDRV9UUkVFX0RJU0NPVkVSWSAqLwotCiBzdGF0aWMgWFNN
X0lOTElORSBpbnQgY2ZfY2hlY2sgeHNtX3Jlc291cmNlX3BsdWdfY29yZShY
U01fREVGQVVMVF9WT0lEKQogewogICAgIFhTTV9BU1NFUlRfQUNUSU9OKFhT
TV9IT09LKTsKLS0tIGEveGVuL2luY2x1ZGUveHNtL3hzbS5oCisrKyBiL3hl
bi9pbmNsdWRlL3hzbS94c20uaApAQCAtMTIyLDEzICsxMjIsNiBAQCBzdHJ1
Y3QgeHNtX29wcyB7CiAKICNpZiBkZWZpbmVkKENPTkZJR19IQVNfUEFTU1RI
Uk9VR0gpICYmIGRlZmluZWQoQ09ORklHX0hBU19QQ0kpCiAgICAgaW50ICgq
Z2V0X2RldmljZV9ncm91cCkodWludDMyX3QgbWFjaGluZV9iZGYpOwotICAg
IGludCAoKmFzc2lnbl9kZXZpY2UpKHN0cnVjdCBkb21haW4gKmQsIHVpbnQz
Ml90IG1hY2hpbmVfYmRmKTsKLSAgICBpbnQgKCpkZWFzc2lnbl9kZXZpY2Up
KHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90IG1hY2hpbmVfYmRmKTsKLSNl
bmRpZgotCi0jaWYgZGVmaW5lZChDT05GSUdfSEFTX1BBU1NUSFJPVUdIKSAm
JiBkZWZpbmVkKENPTkZJR19IQVNfREVWSUNFX1RSRUVfRElTQ09WRVJZKQot
ICAgIGludCAoKmFzc2lnbl9kdGRldmljZSkoc3RydWN0IGRvbWFpbiAqZCwg
Y29uc3QgY2hhciAqZHRwYXRoKTsKLSAgICBpbnQgKCpkZWFzc2lnbl9kdGRl
dmljZSkoc3RydWN0IGRvbWFpbiAqZCwgY29uc3QgY2hhciAqZHRwYXRoKTsK
ICNlbmRpZgogCiAgICAgaW50ICgqcmVzb3VyY2VfcGx1Z19jb3JlKSh2b2lk
KTsKQEAgLTUyNiwzNSArNTE5LDggQEAgc3RhdGljIGlubGluZSBpbnQgeHNt
X2dldF9kZXZpY2VfZ3JvdXAoeAogewogICAgIHJldHVybiBhbHRlcm5hdGl2
ZV9jYWxsKHhzbV9vcHMuZ2V0X2RldmljZV9ncm91cCwgbWFjaGluZV9iZGYp
OwogfQotCi1zdGF0aWMgaW5saW5lIGludCB4c21fYXNzaWduX2RldmljZSgK
LSAgICB4c21fZGVmYXVsdF90IGRlZiwgc3RydWN0IGRvbWFpbiAqZCwgdWlu
dDMyX3QgbWFjaGluZV9iZGYpCi17Ci0gICAgcmV0dXJuIGFsdGVybmF0aXZl
X2NhbGwoeHNtX29wcy5hc3NpZ25fZGV2aWNlLCBkLCBtYWNoaW5lX2JkZik7
Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IHhzbV9kZWFzc2lnbl9kZXZpY2Uo
Ci0gICAgeHNtX2RlZmF1bHRfdCBkZWYsIHN0cnVjdCBkb21haW4gKmQsIHVp
bnQzMl90IG1hY2hpbmVfYmRmKQotewotICAgIHJldHVybiBhbHRlcm5hdGl2
ZV9jYWxsKHhzbV9vcHMuZGVhc3NpZ25fZGV2aWNlLCBkLCBtYWNoaW5lX2Jk
Zik7Ci19CiAjZW5kaWYgLyogSEFTX1BBU1NUSFJPVUdIICYmIEhBU19QQ0kp
ICovCiAKLSNpZiBkZWZpbmVkKENPTkZJR19IQVNfUEFTU1RIUk9VR0gpICYm
IGRlZmluZWQoQ09ORklHX0hBU19ERVZJQ0VfVFJFRV9ESVNDT1ZFUlkpCi1z
dGF0aWMgaW5saW5lIGludCB4c21fYXNzaWduX2R0ZGV2aWNlKAotICAgIHhz
bV9kZWZhdWx0X3QgZGVmLCBzdHJ1Y3QgZG9tYWluICpkLCBjb25zdCBjaGFy
ICpkdHBhdGgpCi17Ci0gICAgcmV0dXJuIGFsdGVybmF0aXZlX2NhbGwoeHNt
X29wcy5hc3NpZ25fZHRkZXZpY2UsIGQsIGR0cGF0aCk7Ci19Ci0KLXN0YXRp
YyBpbmxpbmUgaW50IHhzbV9kZWFzc2lnbl9kdGRldmljZSgKLSAgICB4c21f
ZGVmYXVsdF90IGRlZiwgc3RydWN0IGRvbWFpbiAqZCwgY29uc3QgY2hhciAq
ZHRwYXRoKQotewotICAgIHJldHVybiBhbHRlcm5hdGl2ZV9jYWxsKHhzbV9v
cHMuZGVhc3NpZ25fZHRkZXZpY2UsIGQsIGR0cGF0aCk7Ci19Ci0KLSNlbmRp
ZiAvKiBIQVNfUEFTU1RIUk9VR0ggJiYgSEFTX0RFVklDRV9UUkVFX0RJU0NP
VkVSWSAqLwotCiBzdGF0aWMgaW5saW5lIGludCB4c21fcmVzb3VyY2VfcGx1
Z19wY2koeHNtX2RlZmF1bHRfdCBkZWYsIHVpbnQzMl90IG1hY2hpbmVfYmRm
KQogewogICAgIHJldHVybiBhbHRlcm5hdGl2ZV9jYWxsKHhzbV9vcHMucmVz
b3VyY2VfcGx1Z19wY2ksIG1hY2hpbmVfYmRmKTsKLS0tIGEveGVuL3hzbS9k
dW1teS5jCisrKyBiL3hlbi94c20vZHVtbXkuYwpAQCAtNzksMTMgKzc5LDYg
QEAgc3RhdGljIGNvbnN0IHN0cnVjdCB4c21fb3BzIF9faW5pdGNvbnN0Xwog
CiAjaWYgZGVmaW5lZChDT05GSUdfSEFTX1BBU1NUSFJPVUdIKSAmJiBkZWZp
bmVkKENPTkZJR19IQVNfUENJKQogICAgIC5nZXRfZGV2aWNlX2dyb3VwICAg
ICAgICAgICAgICA9IHhzbV9nZXRfZGV2aWNlX2dyb3VwLAotICAgIC5hc3Np
Z25fZGV2aWNlICAgICAgICAgICAgICAgICA9IHhzbV9hc3NpZ25fZGV2aWNl
LAotICAgIC5kZWFzc2lnbl9kZXZpY2UgICAgICAgICAgICAgICA9IHhzbV9k
ZWFzc2lnbl9kZXZpY2UsCi0jZW5kaWYKLQotI2lmIGRlZmluZWQoQ09ORklH
X0hBU19QQVNTVEhST1VHSCkgJiYgZGVmaW5lZChDT05GSUdfSEFTX0RFVklD
RV9UUkVFX0RJU0NPVkVSWSkKLSAgICAuYXNzaWduX2R0ZGV2aWNlICAgICAg
ICAgICAgICAgPSB4c21fYXNzaWduX2R0ZGV2aWNlLAotICAgIC5kZWFzc2ln
bl9kdGRldmljZSAgICAgICAgICAgICA9IHhzbV9kZWFzc2lnbl9kdGRldmlj
ZSwKICNlbmRpZgogCiAgICAgLnJlc291cmNlX3BsdWdfY29yZSAgICAgICAg
ICAgID0geHNtX3Jlc291cmNlX3BsdWdfY29yZSwKLS0tIGEveGVuL3hzbS9m
bGFzay9ob29rcy5jCisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAt
NDQsNiArNDQsMTcgQEAgc3RhdGljIGludCBmbGFza19zaGFkb3dfY29udHJv
bChzdHJ1Y3QgZAogI2RlZmluZSBwdl9zaGltIGZhbHNlCiAjZW5kaWYKIAor
I2lmZGVmIENPTkZJR19IQVNfUEFTU1RIUk9VR0gKKyNpZmRlZiBDT05GSUdf
SEFTX1BDSQorc3RhdGljIGludCBmbGFza19hc3NpZ25fZGV2aWNlKHN0cnVj
dCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBtYWNoaW5lX2JkZik7CitzdGF0
aWMgaW50IGZsYXNrX2RlYXNzaWduX2RldmljZShzdHJ1Y3QgZG9tYWluICpk
LCB1bnNpZ25lZCBpbnQgbWFjaGluZV9iZGYpOworI2VuZGlmCisjaWZkZWYg
Q09ORklHX0hBU19ERVZJQ0VfVFJFRV9ESVNDT1ZFUlkKK3N0YXRpYyBpbnQg
Zmxhc2tfYXNzaWduX2R0ZGV2aWNlKHN0cnVjdCBkb21haW4gKmQsIGNvbnN0
IGNoYXIgKmR0cGF0aCk7CitzdGF0aWMgaW50IGZsYXNrX2RlYXNzaWduX2R0
ZGV2aWNlKHN0cnVjdCBkb21haW4gKmQsIGNvbnN0IGNoYXIgKmR0cGF0aCk7
CisjZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfSEFTX1BBU1NUSFJPVUdIICov
CisKIHN0YXRpYyB1aW50MzJfdCBkb21haW5fc2lkKGNvbnN0IHN0cnVjdCBk
b21haW4gKmRvbSkKIHsKICAgICBzdHJ1Y3QgZG9tYWluX3NlY3VyaXR5X3N0
cnVjdCAqZHNlYyA9IGRvbS0+c3NpZDsKQEAgLTY2NywxNiArNjc4LDYgQEAg
c3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwoc3RydWN0CiAKICAg
ICAvKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzIChjb21tb24v
ZG9tY3RsLmMpICovCiAgICAgY2FzZSBYRU5fRE9NQ1RMX3NldF90YXJnZXQ6
Ci0KLSNpZmRlZiBDT05GSUdfSEFTX1BBU1NUSFJPVUdICi0gICAgLyoKLSAg
ICAgKiBUaGVzZSBoYXZlIGluZGl2aWR1YWwgWFNNIGhvb2tzCi0gICAgICog
KGRyaXZlcnMvcGFzc3Rocm91Z2gve3BjaSxkZXZpY2VfdHJlZS5jKQotICAg
ICAqLwotICAgIGNhc2UgWEVOX0RPTUNUTF90ZXN0X2Fzc2lnbl9kZXZpY2U6
Ci0gICAgY2FzZSBYRU5fRE9NQ1RMX2Fzc2lnbl9kZXZpY2U6Ci0gICAgY2Fz
ZSBYRU5fRE9NQ1RMX2RlYXNzaWduX2RldmljZToKLSNlbmRpZgogICAgICAg
ICByZXR1cm4gMDsKIAogICAgIGNhc2UgWEVOX0RPTUNUTF9kZXN0cm95ZG9t
YWluOgpAQCAtNzU2LDYgKzc1Nyw0OSBAQCBzdGF0aWMgaW50IGNmX2NoZWNr
IGZsYXNrX2RvbWN0bChzdHJ1Y3QKICAgICAgICAgcmV0dXJuIGZsYXNrX3No
YWRvd19jb250cm9sKGQsIG9wLT51LnNoYWRvd19vcC5vcCk7CiAjZW5kaWYK
IAorI2lmZGVmIENPTkZJR19IQVNfUEFTU1RIUk9VR0gKKworICAgIGNhc2Ug
WEVOX0RPTUNUTF90ZXN0X2Fzc2lnbl9kZXZpY2U6CisgICAgY2FzZSBYRU5f
RE9NQ1RMX2Fzc2lnbl9kZXZpY2U6CisgICAgY2FzZSBYRU5fRE9NQ1RMX2Rl
YXNzaWduX2RldmljZToKKyAgICAgICAgc3dpdGNoICggb3AtPnUuYXNzaWdu
X2RldmljZS5kZXYgKQorICAgICAgICB7CisjaWZkZWYgQ09ORklHX0hBU19Q
Q0kKKyAgICAgICAgY2FzZSBYRU5fRE9NQ1RMX0RFVl9QQ0k6CisgICAgICAg
ICAgICByZXR1cm4gb3AtPmNtZCAhPSBYRU5fRE9NQ1RMX2RlYXNzaWduX2Rl
dmljZQorICAgICAgICAgICAgICAgICAgID8gZmxhc2tfYXNzaWduX2Rldmlj
ZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICBkLCBvcC0+dS5hc3NpZ25f
ZGV2aWNlLnUucGNpLm1hY2hpbmVfc2JkZikKKyAgICAgICAgICAgICAgICAg
ICA6IGZsYXNrX2RlYXNzaWduX2RldmljZSgKKyAgICAgICAgICAgICAgICAg
ICAgICAgICBkLCBvcC0+dS5hc3NpZ25fZGV2aWNlLnUucGNpLm1hY2hpbmVf
c2JkZik7CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19IQVNfREVWSUNFX1RS
RUVfRElTQ09WRVJZCisgICAgICAgIGNhc2UgWEVOX0RPTUNUTF9ERVZfRFQ6
CisgICAgICAgIHsKKyAgICAgICAgICAgIHN0cnVjdCBkdF9kZXZpY2Vfbm9k
ZSAqZGV2OworICAgICAgICAgICAgaW50IHJldCA9IGR0X2ZpbmRfbm9kZV9i
eV9ncGF0aChvcC0+dS5hc3NpZ25fZGV2aWNlLnUuZHQucGF0aCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3AtPnUu
YXNzaWduX2RldmljZS51LmR0LnNpemUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZkZXYpOworCisgICAgICAgICAg
ICBpZiAoIHJldCApCisgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKKwor
ICAgICAgICAgICAgb3AtPnUuYXNzaWduX2RldmljZS51LmR0LmRldiA9IGRl
djsKKworICAgICAgICAgICAgcmV0dXJuIG9wLT5jbWQgIT0gWEVOX0RPTUNU
TF9kZWFzc2lnbl9kZXZpY2UKKyAgICAgICAgICAgICAgICAgICA/IGZsYXNr
X2Fzc2lnbl9kdGRldmljZShkLCBkdF9ub2RlX2Z1bGxfbmFtZShkZXYpKQor
ICAgICAgICAgICAgICAgICAgIDogZmxhc2tfZGVhc3NpZ25fZHRkZXZpY2Uo
ZCwgZHRfbm9kZV9mdWxsX25hbWUoZGV2KSk7CisgICAgICAgIH0KKyNlbmRp
ZgorCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAvKiBVbmtub3du
IHR5cGUuICovCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAg
ICAgICByZXR1cm4gYXZjX3Vua25vd25fcGVybWlzc2lvbigiYXNzaWduX2Rl
dmljZSIsIG9wLT5jbWQpOworCisjZW5kaWYgLyogQ09ORklHX0hBU19QQVNT
VEhST1VHSCAqLworCiAgICAgY2FzZSBYRU5fRE9NQ1RMX21lbV9zaGFyaW5n
X29wOgogICAgICAgICByZXR1cm4gY3VycmVudF9oYXNfcGVybShkLCBTRUND
TEFTU19IVk0sIEhWTV9fTUVNX1NIQVJJTkcpOwogCkBAIC0xMzc5LDcgKzE0
MjMsNyBAQCBzdGF0aWMgaW50IGZsYXNrX3Rlc3RfYXNzaWduX2RldmljZSh1
aW50CiAgICAgcmV0dXJuIGF2Y19jdXJyZW50X2hhc19wZXJtKHJzaWQsIFNF
Q0NMQVNTX1JFU09VUkNFLCBSRVNPVVJDRV9fU1RBVF9ERVZJQ0UsIE5VTEwp
OwogfQogCi1zdGF0aWMgaW50IGNmX2NoZWNrIGZsYXNrX2Fzc2lnbl9kZXZp
Y2Uoc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3QgbWFjaGluZV9iZGYpCitz
dGF0aWMgaW50IGZsYXNrX2Fzc2lnbl9kZXZpY2Uoc3RydWN0IGRvbWFpbiAq
ZCwgdWludDMyX3QgbWFjaGluZV9iZGYpCiB7CiAgICAgdWludDMyX3QgZHNp
ZCwgcnNpZDsKICAgICBpbnQgcmMgPSAtRVBFUk07CkBAIC0xNDA5LDcgKzE0
NTMsNyBAQCBzdGF0aWMgaW50IGNmX2NoZWNrIGZsYXNrX2Fzc2lnbl9kZXZp
Y2UoCiAgICAgcmV0dXJuIGF2Y19oYXNfcGVybShkc2lkLCByc2lkLCBTRUND
TEFTU19SRVNPVVJDRSwgZHBlcm0sICZhZCk7CiB9CiAKLXN0YXRpYyBpbnQg
Y2ZfY2hlY2sgZmxhc2tfZGVhc3NpZ25fZGV2aWNlKAorc3RhdGljIGludCBm
bGFza19kZWFzc2lnbl9kZXZpY2UoCiAgICAgc3RydWN0IGRvbWFpbiAqZCwg
dWludDMyX3QgbWFjaGluZV9iZGYpCiB7CiAgICAgdWludDMyX3QgcnNpZDsK
QEAgLTE0NDEsNyArMTQ4NSw3IEBAIHN0YXRpYyBpbnQgZmxhc2tfdGVzdF9h
c3NpZ25fZHRkZXZpY2UoY28KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTlVMTCk7CiB9CiAKLXN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tf
YXNzaWduX2R0ZGV2aWNlKHN0cnVjdCBkb21haW4gKmQsIGNvbnN0IGNoYXIg
KmR0cGF0aCkKK3N0YXRpYyBpbnQgZmxhc2tfYXNzaWduX2R0ZGV2aWNlKHN0
cnVjdCBkb21haW4gKmQsIGNvbnN0IGNoYXIgKmR0cGF0aCkKIHsKICAgICB1
aW50MzJfdCBkc2lkLCByc2lkOwogICAgIGludCByYyA9IC1FUEVSTTsKQEAg
LTE0NzEsNyArMTUxNSw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgZmxhc2tf
YXNzaWduX2R0ZGV2aWMKICAgICByZXR1cm4gYXZjX2hhc19wZXJtKGRzaWQs
IHJzaWQsIFNFQ0NMQVNTX1JFU09VUkNFLCBkcGVybSwgJmFkKTsKIH0KIAot
c3RhdGljIGludCBjZl9jaGVjayBmbGFza19kZWFzc2lnbl9kdGRldmljZSgK
K3N0YXRpYyBpbnQgZmxhc2tfZGVhc3NpZ25fZHRkZXZpY2UoCiAgICAgc3Ry
dWN0IGRvbWFpbiAqZCwgY29uc3QgY2hhciAqZHRwYXRoKQogewogICAgIHVp
bnQzMl90IHJzaWQ7CkBAIC0xOTUwLDEzICsxOTk0LDYgQEAgc3RhdGljIGNv
bnN0IHN0cnVjdCB4c21fb3BzIF9faW5pdGNvbnN0XwogCiAjaWYgZGVmaW5l
ZChDT05GSUdfSEFTX1BBU1NUSFJPVUdIKSAmJiBkZWZpbmVkKENPTkZJR19I
QVNfUENJKQogICAgIC5nZXRfZGV2aWNlX2dyb3VwID0gZmxhc2tfZ2V0X2Rl
dmljZV9ncm91cCwKLSAgICAuYXNzaWduX2RldmljZSA9IGZsYXNrX2Fzc2ln
bl9kZXZpY2UsCi0gICAgLmRlYXNzaWduX2RldmljZSA9IGZsYXNrX2RlYXNz
aWduX2RldmljZSwKLSNlbmRpZgotCi0jaWYgZGVmaW5lZChDT05GSUdfSEFT
X1BBU1NUSFJPVUdIKSAmJiBkZWZpbmVkKENPTkZJR19IQVNfREVWSUNFX1RS
RUVfRElTQ09WRVJZKQotICAgIC5hc3NpZ25fZHRkZXZpY2UgPSBmbGFza19h
c3NpZ25fZHRkZXZpY2UsCi0gICAgLmRlYXNzaWduX2R0ZGV2aWNlID0gZmxh
c2tfZGVhc3NpZ25fZHRkZXZpY2UsCiAjZW5kaWYKIAogICAgIC5wbGF0Zm9y
bV9vcCA9IGZsYXNrX3BsYXRmb3JtX29wLAo=

--=separator
Content-Type: application/octet-stream; name="xsa492/xsa492-20.patch"
Content-Disposition: attachment; filename="xsa492/xsa492-20.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBkb21jdGw6IGhhbmRsZSBYRU5fRE9NQ1RMX3NldF90YXJnZXQgd2l0aG91
dCBhY3F1aXJpbmcgZG9tY3RsIGxvY2sKClRoZSBvbmx5IGxvY2tpbmcgcmVx
dWlyZWQgaGVyZSBpcyB0aGF0IGJldHdlZW4gY2hlY2tpbmcgZC0+dGFyZ2V0
IGFuZApzZXR0aW5nIGl0LiBUbyBhdm9pZCB0aGUgbmVlZCBmb3IgYW4gZXhw
bGljaXQgbG9jaywgdXNlIGNtcHhjaGdwdHIoKSB0bwp1cGRhdGUgZC0+dGFy
Z2V0LgoKTW92ZSB0aGUgaGFuZGxpbmcgbm90IG9ubHkgYWhlYWQgb2YgYWNx
dWlyaW5nIHRoZSBsb2NrLCBidXQgYWxzbyBhaGVhZApvZiB0aGUgWFNNIGNo
ZWNrLCBsZXZlcmFnaW5nIHRoYXQgdGhlIHN1Yi1vcCBoYXMgaXRzIG93biBo
b29rLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00OTIuCgpTaWduZWQtb2ZmLWJ5
OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkFja2VkLWJ5OiBE
YW5pZWwgUC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+
ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0
cml4LmNvbT4KCi0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMKKysrIGIveGVu
L2NvbW1vbi9kb21jdGwuYwpAQCAtNTA1LDYgKzUwNSwzMCBAQCBsb25nIGRv
X2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlCiAgICAgfQogI2Vu
ZGlmCiAKKyAgICBjYXNlIFhFTl9ET01DVExfc2V0X3RhcmdldDoKKyAgICB7
CisgICAgICAgIHN0cnVjdCBkb21haW4gKmUgPSBnZXRfZG9tYWluX2J5X2lk
KG9wLT51LnNldF90YXJnZXQudGFyZ2V0KTsKKworICAgICAgICByZXQgPSAt
RVNSQ0g7CisgICAgICAgIGlmICggIWUgKQorICAgICAgICAgICAgZ290byBk
b21jdGxfb3V0X3VubG9ja19kb21vbmx5OworCisgICAgICAgIGlmICggZCA9
PSBlICkKKyAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7CisgICAgICAgIGVs
c2UgaWYgKCAhaXNfaHZtX2RvbWFpbihlKSApCisgICAgICAgICAgICByZXQg
PSAtRU9QTk9UU1VQUDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0
ID0geHNtX3NldF90YXJnZXQoWFNNX1BSSVYsIGQsIGUpOworCisgICAgICAg
IC8qIEhvbGQgcmVmZXJlbmNlIG9uIEBlIHVudGlsIHdlIGRlc3Ryb3kgQGQu
ICovCisgICAgICAgIGlmICggIXJldCAmJiBjbXB4Y2hncHRyKCZkLT50YXJn
ZXQsIE5VTEwsIGUpICkKKyAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7CisK
KyAgICAgICAgaWYgKCByZXQgKQorICAgICAgICAgICAgcHV0X2RvbWFpbihl
KTsKKyAgICAgICAgZ290byBkb21jdGxfb3V0X3VubG9ja19kb21vbmx5Owor
ICAgIH0KKwogICAgIGNhc2UgWEVOX0RPTUNUTF92bV9ldmVudF9vcDoKICAg
ICAgICAgaWYgKCBvcC0+dS52bV9ldmVudF9vcC5vcCA9PSBYRU5fVk1fRVZF
TlRfR0VUX1ZFUlNJT04gKQogICAgICAgICB7CkBAIC04NTAsMzYgKzg3NCw2
IEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGUK
ICAgICAgICAgZG9tYWluX3NldF90aW1lX29mZnNldChkLCBvcC0+dS5zZXR0
aW1lb2Zmc2V0LnRpbWVfb2Zmc2V0X3NlY29uZHMpOwogICAgICAgICBicmVh
azsKIAotICAgIGNhc2UgWEVOX0RPTUNUTF9zZXRfdGFyZ2V0OgotICAgIHsK
LSAgICAgICAgc3RydWN0IGRvbWFpbiAqZTsKLQotICAgICAgICByZXQgPSAt
RVNSQ0g7Ci0gICAgICAgIGUgPSBnZXRfZG9tYWluX2J5X2lkKG9wLT51LnNl
dF90YXJnZXQudGFyZ2V0KTsKLSAgICAgICAgaWYgKCBlID09IE5VTEwgKQot
ICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgcmV0ID0gLUVJTlZBTDsK
LSAgICAgICAgaWYgKCAoZCA9PSBlKSB8fCAoZC0+dGFyZ2V0ICE9IE5VTEwp
ICkKLSAgICAgICAgewotICAgICAgICAgICAgcHV0X2RvbWFpbihlKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0ID0g
LUVPUE5PVFNVUFA7Ci0gICAgICAgIGlmICggaXNfaHZtX2RvbWFpbihlKSAp
Ci0gICAgICAgICAgICByZXQgPSB4c21fc2V0X3RhcmdldChYU01fSE9PSywg
ZCwgZSk7Ci0gICAgICAgIGlmICggcmV0ICkKLSAgICAgICAgewotICAgICAg
ICAgICAgcHV0X2RvbWFpbihlKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICB9Ci0KLSAgICAgICAgLyogSG9sZCByZWZlcmVuY2Ugb24gQGUgdW50
aWwgd2UgZGVzdHJveSBAZC4gKi8KLSAgICAgICAgZC0+dGFyZ2V0ID0gZTsK
LSAgICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2FzZSBYRU5fRE9NQ1RM
X3N1YnNjcmliZToKICAgICAgICAgZC0+c3VzcGVuZF9ldnRjaG4gPSBvcC0+
dS5zdWJzY3JpYmUucG9ydDsKICAgICAgICAgYnJlYWs7Ci0tLSBhL3hlbi9p
bmNsdWRlL3hzbS9kdW1teS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS9kdW1t
eS5oCkBAIC0xNTAsNyArMTUwLDcgQEAgc3RhdGljIFhTTV9JTkxJTkUgaW50
IGNmX2NoZWNrIHhzbV9zeXNjdAogc3RhdGljIFhTTV9JTkxJTkUgaW50IGNm
X2NoZWNrIHhzbV9zZXRfdGFyZ2V0KAogICAgIFhTTV9ERUZBVUxUX0FSRyBz
dHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZG9tYWluICplKQogewotICAgIFhT
TV9BU1NFUlRfQUNUSU9OKFhTTV9IT09LKTsKKyAgICBYU01fQVNTRVJUX0FD
VElPTihYU01fUFJJVik7CiAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlv
bihhY3Rpb24sIGN1cnJlbnQtPmRvbWFpbiwgTlVMTCk7CiB9CiAKQEAgLTE3
MCw2ICsxNzAsNyBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQgY2ZfY2hlY2sg
eHNtX2RvbWN0CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNz
aW9uOgogICAgIGNhc2UgWEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbjoKICAg
ICBjYXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CisgICAgY2FzZSBY
RU5fRE9NQ1RMX3NldF90YXJnZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3Vu
YmluZF9wdF9pcnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwog
ICAgICAgICByZXR1cm4gLUVJTFNFUTsKLS0tIGEveGVuL3hzbS9mbGFzay9o
b29rcy5jCisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpAQCAtNjcyLDE0
ICs2NzIsMTEgQEAgc3RhdGljIGludCBjZl9jaGVjayBmbGFza19kb21jdGwo
c3RydWN0CiAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9wZXJtaXNzaW9u
OgogICAgIGNhc2UgWEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbjoKICAgICBj
YXNlIFhFTl9ET01DVExfbWVtb3J5X21hcHBpbmc6CisgICAgY2FzZSBYRU5f
RE9NQ1RMX3NldF90YXJnZXQ6CiAgICAgY2FzZSBYRU5fRE9NQ1RMX3VuYmlu
ZF9wdF9pcnE6CiAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAg
ICAgICByZXR1cm4gLUVJTFNFUTsKIAotICAgIC8qIFRoZXNlIGhhdmUgaW5k
aXZpZHVhbCBYU00gaG9va3MgKGNvbW1vbi9kb21jdGwuYykgKi8KLSAgICBj
YXNlIFhFTl9ET01DVExfc2V0X3RhcmdldDoKLSAgICAgICAgcmV0dXJuIDA7
Ci0KICAgICBjYXNlIFhFTl9ET01DVExfZGVzdHJveWRvbWFpbjoKICAgICAg
ICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9NQUlO
LCBET01BSU5fX0RFU1RST1kpOwogCg==

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 12:28:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 12:28:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333190.1595713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWvZH-0007hT-Ed; Tue, 09 Jun 2026 12:28:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333190.1595713; Tue, 09 Jun 2026 12: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 1wWvZH-0007hL-Bj; Tue, 09 Jun 2026 12:28:31 +0000
Received: by outflank-mailman (input) for mailman id 1333190;
 Tue, 09 Jun 2026 12:28:29 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <36gYoagYKCe8jVReaTXffXcV.TfdoVe-UVmVccZjkj.oVegifaVTk.fiX@flex--seanjc.bounces.google.com>)
 id 1wWvZF-0007hA-LU
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 12:28:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWvZF-004JZe-25
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 14:28:29 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <36gYoagYKCe8jVReaTXffXcV.TfdoVe-UVmVccZjkj.oVegifaVTk.fiX@flex--seanjc.bounces.google.com>)
 id 6a2806e2-2eae-0a2a0a5409dd-0a2a4505dd7a-32
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 14:28:29 +0200
Received: from [209.85.210.202] (helo=mail-pf1-f202.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <36gYoagYKCe8jVReaTXffXcV.TfdoVe-UVmVccZjkj.oVegifaVTk.fiX@flex--seanjc.bounces.google.com>)
 id 6a2806eb-aaa8-0a2a45050019-d155d2caac64-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 14:28:28 +0200
Received: by mail-pf1-f202.google.com with SMTP id
 d2e1a72fcca58-8423efdbe6fso3569522b3a.0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 05:28: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=google.com header.i="@google.com" header.h="Content-Transfer-Encoding:Cc:To:From:Subject:Message-ID:References:Mime-Version:In-Reply-To:Date"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20251104; t=1781008107; x=1781612907; 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=unmnrNbCXlEEjkFhHM3DLJAuHv468WBx57rOjaror7w=;
        b=popXHDN6mSBVa6iCU1Gotn/R5dx26dDsQqE6MWFrPy8u80jFuay6pwSoRiuzltz2vr
         me2NMOeSIzvrhXCHeHrjS2iRSwxB0XjHHKgTCiGs0Pn+/YY96tde053jNsjskF89DIsz
         RaxGE9FhjAYXgUFbSr2I9MONsY20HHsnkF9k2urluhgUASGeUZCYMUKqo8Za1Im6uBqh
         Rlqf+Mn6mXHgYNbUZ5bqWz3mhP+rtAhEtpWHzLPInBF3GEcEL1RZKl8Qjlh4iweAVTuB
         LpXuP0q9YsxCJUf7oSjMKG2wlIgoJQ32VDgIUtYVX7uFD/jndWQv/BjNolWIilRbDWCp
         n8fA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781008107; x=1781612907;
        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=unmnrNbCXlEEjkFhHM3DLJAuHv468WBx57rOjaror7w=;
        b=NhDeKFtSKUD/9Mgq/VyubVyLOdnj/LqpDGzdLaPPkhCeiPTWqIS1lRDx32BTBKAEK2
         SZGCw6JhzctL6vowu98w2cjEkmowkKpilemiEZOzU2tNBwRDmpVmiBk0YpfmwCOgKffz
         FuRF8v/DzRhbYYo/gFe0hZ+aBKPOFvC/kZw0NKsxryoNx26iwJBd65vn7vFRO5R0E4/O
         zvbb4LSUqKwbkU8aRnpb7xUYggkn6iFHmGg0KxT4IZexvLm5WMy7Zn2ZxwvBaJNBLxUE
         EYllFdPSzPVBG5jeeCuwvamxmy7P4f1kaWZjX6X2yl5O9j2CgacsMW2FZUmVxWIk6CWY
         z+ow==
X-Forwarded-Encrypted: i=1; AFNElJ/b4ZaWpmBcvg968d0qBks8WRA7O7ZYnb4Zl527MiDWkrD34qnIOQZOd4mNsccVfk4Hvou6VPa/eEE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz1BHKtjYN95+5I9Yruwrak/3557lAHdpM81BbSKR2K8iapm+NP
	koWU/H5s5E7HGO7oHOZLJjFZyfsjfdUE6mJhYdKsfrm05DkRrx1SbedlHF4Td1mGi4ZEewFzSc9
	DoekLiw==
X-Received: from pfjf5.prod.google.com ([2002:a05:6a00:22c5:b0:842:4720:4013])
 (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a00:2910:b0:842:6fce:6171
 with SMTP id d2e1a72fcca58-8430a62f307mr3223335b3a.3.1781008106459; Tue, 09
 Jun 2026 05:28:26 -0700 (PDT)
Date: Tue, 9 Jun 2026 05:28:24 -0700
In-Reply-To: <87a4t440js.ffs@fw13>
Mime-Version: 1.0
References: <20260529144435.704127-1-seanjc@google.com> <20260529144435.704127-11-seanjc@google.com>
 <877boc554l.ffs@fw13> <eef867eae15e30d08482ba16a1a32159745b64a7.camel@infradead.org>
 <aidEfvTMjLa2zt43@google.com> <87a4t440js.ffs@fw13>
Message-ID: <aigG6NdLZtbc7prD@google.com>
Subject: Re: [PATCH v4 10/47] x86/tsc: Consolidate forcing of
 X86_FEATURE_TSC_KNOWN_FREQ for PV code
From: Sean Christopherson <seanjc@google.com>
To: Thomas Gleixner <tglx@kernel.org>
Cc: David Woodhouse <dwmw2@infradead.org>, Paolo Bonzini <pbonzini@redhat.com>, 
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>, 
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org, 
	Kiryl Shutsemau <kas@kernel.org>, "K. Y. Srinivasan" <kys@microsoft.com>, 
	Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, 
	Dexuan Cui <decui@microsoft.com>, Long Li <longli@microsoft.com>, 
	Ajay Kaher <ajay.kaher@broadcom.com>, Alexey Makhalov <alexey.makhalov@broadcom.com>, 
	Jan Kiszka <jan.kiszka@siemens.com>, Andy Lutomirski <luto@kernel.org>, 
	Peter Zijlstra <peterz@infradead.org>, Juergen Gross <jgross@suse.com>, 
	Daniel Lezcano <daniel.lezcano@kernel.org>, John Stultz <jstultz@google.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Rick Edgecombe <rick.p.edgecombe@intel.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, 
	Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Stephen Boyd <sboyd@kernel.org>, kvm@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-coco@lists.linux.dev, 
	linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev, 
	xen-devel@lists.xenproject.org, Tom Lendacky <thomas.lendacky@amd.com>, 
	Nikunj A Dadhania <nikunj@amd.com>, Michael Kelley <mhklinux@outlook.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-c201ff/1781008108-D9F76443-34CAEA80/0/0
X-purgate-type: clean
X-purgate-size: 2126

On Tue, Jun 09, 2026, Thomas Gleixner wrote:
> On Mon, Jun 08 2026 at 15:38, Sean Christopherson wrote:
> > On Sat, Jun 06, 2026, David Woodhouse wrote:
> >> > Along with:
> >> >=20
> >> > =C2=A0=C2=A0 if (!hypervisor_is_type(X86_HYPER_NATIVE)) {
> >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (tsc_khz_early)
> >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pr_warn("Ignoring n=
on-sensical tsc_early_khz command line argument\n");
> >> >=20
> >> > or something daft like that.
> >
> > Ya, I ended up in the same place once Sashiko pointed out that skipping=
 the SNP/TDX
> > setup was hazardous[*], and also once I realized that tsc_khz_early *co=
mplemented*
> > the refinement instead of replacing it.
> >
> > This is what I have locally:
> >
> >         if (cc_platform_has(CC_ATTR_GUEST_SNP_SECURE_TSC))
> >                 known_tsc_khz =3D snp_secure_tsc_init();
> >         else if (boot_cpu_has(X86_FEATURE_TDX_GUEST))
> >                 known_tsc_khz =3D tdx_tsc_init();
> >
> >         /*
> >          * If the TSC frequency wasn't provided by trusted firmware, tr=
y to get
> >          * it from the hypervisor (which is untrusted when running as a=
 CoCo guest).
> >          */
> >         if (!known_tsc_khz && x86_init.hyper.get_tsc_khz)
> >                 known_tsc_khz =3D x86_init.hyper.get_tsc_khz();
> >
> >         /*
> >          * Mark the TSC frequency as known if it was obtained from a hy=
pervisor
> >          * or trusted firmware.  Don't mark the frequency as known if t=
he user
> >          * specified the frequency, as the user-provided frequency is i=
ntended
> >          * as a "starting point", not a known, guaranteed frequency.
> >          */
> >         if (known_tsc_khz && !tsc_early_khz)
> >                 setup_force_cpu_cap(X86_FEATURE_TSC_KNOWN_FREQ);
>=20
> If the frequenct is known via the above then you want to set the
> KNOWN_FREQ feature bit unconditionally. SNP/TDX/hypervisor override the
> command line argument as you print below.

Doh, forgot to remove that check when I shuffled things around.  Thank you!


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 13:10:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 13:10:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333309.1596146 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWwE9-0004tX-WD; Tue, 09 Jun 2026 13:10:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333309.1596146; Tue, 09 Jun 2026 13: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 1wWwE9-0004tQ-TG; Tue, 09 Jun 2026 13:10:45 +0000
Received: by outflank-mailman (input) for mailman id 1333309;
 Tue, 09 Jun 2026 13:10:44 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <john.g.garry@oracle.com>) id 1wWwE8-0004sF-Fx
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 13:10:44 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWwE7-007v4r-LH
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 15:10:43 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <john.g.garry@oracle.com>)
 id 6a2810cf-2eae-0a2a0a5409dd-0a2a4508bd8a-14
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 15:10:43 +0200
Received: from [205.220.165.32] (helo=mx0a-00069f02.pphosted.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <john.g.garry@oracle.com>)
 id 6a2810d1-63b5-0a2a45080019-cddca520e40a-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 15:10:43 +0200
Received: from pps.filterd (m0246627.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 6598FBjG3586798; Tue, 9 Jun 2026 13:05:09 GMT
Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com
 (iadpaimrmta02.appoci.oracle.com [147.154.18.20])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4ema4y4a5a-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 09 Jun 2026 13:05:09 +0000 (GMT)
Received: from pps.filterd
 (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1])
 by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.7/8.18.1.7)
 with ESMTP id 659D3ibN014478; Tue, 9 Jun 2026 13:05:07 GMT
Received: from sn4pr2101cu001.outbound.protection.outlook.com
 (mail-southcentralusazon11012052.outbound.protection.outlook.com
 [40.93.195.52])
 by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id
 4ema0q4104-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 09 Jun 2026 13:05:07 +0000 (GMT)
Received: from DS4PPFEAFA21C69.namprd10.prod.outlook.com
 (2603:10b6:f:fc00::d54) by DS7PR10MB4848.namprd10.prod.outlook.com
 (2603:10b6:5:3a2::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Tue, 9 Jun 2026
 13:04:01 +0000
Received: from DS4PPFEAFA21C69.namprd10.prod.outlook.com
 ([fe80::9da2:46fe:4d63:a74b]) by DS4PPFEAFA21C69.namprd10.prod.outlook.com
 ([fe80::9da2:46fe:4d63:a74b%7]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026
 13:04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=corp-2025-04-25 header.d=oracle.com header.i="@oracle.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-oracle-onmicrosoft-com header.d=oracle.onmicrosoft.com header.i="@oracle.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=
	corp-2025-04-25; bh=hkafPhPn2ZUoqC38Axyejl3/HjFZYDX29rq+w+VMToE=; b=
	cJ/9cs8kVSwoRcyqUajxt5xbP4UaQIjB3EyujxpaYMWxiKOB+McpBXxlxKtaZoRr
	Ws8/GO0PiDNjuoxVrINjURLwAhPh+X+KAkiNuRW9k0zh6zV2dLe54vJSWRH7h9+M
	pA/9wDlJc88jjHSvIdgOx65WE7gBbAI0lHkavDwKQkS70FYoVlIJDL8DFsAW2LNk
	eV50Niff6J+gXUkdbigXIlq1xm/UItWXwuoZgY9OMFsfTGcNVfbgNw7laU3HrHWi
	INKV6YLa3bH96RGxxKbto9+ye4o9uko9qsvW7pYsvH5+FHWrqJ3a70EHABd3HG/P
	pqlWv8uVE6Zh3ssz2fvZCQ==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Ye1oqYUnfYSXu7x/41/sMUQTslcdH8Hnnfo0a+wfIZGL8mLzmxjooqc9TI1iByofwMYXCaOoNbxqhhMjQYzuNBP4r2YrDWR4SQuv/oplPIiVysBPwbeZxn7kNtl7vWIVCFkhrvNl3vX/W2zY/AUzAAC67JPypCys20qf+MCXecwUA4KJX/U88ZWwXW6QJR9w/aq1lMjKsGNfH1tv+GwuoXBXxv4OzKXt7uW//sR+ItHCX4JzrNXLdK72a+Da8PCDyCGDNGr8FyS1K2jfJyd5NkCbIyXM9+UYerD2sdFWmAEjufMgGHmU5HEYo9CG9nYyg5Yie6cvQnFlFX0XV2ZUxQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hkafPhPn2ZUoqC38Axyejl3/HjFZYDX29rq+w+VMToE=;
 b=oc8braw6m9ksUcltuahYe+Bavyed/Tyw/yRI4VRUJyNighO938VQ6PAyNdLo5tqtvqWJmP+mkhuUuX8azdyxUMY3ukdpPjit6Lb89WPHyb/pnrNkZNTNW7QFlCPmUvIc0EltTHqwm5TQz7lnyvBWVS8nIxedHeyo56NEKo6Vnj1387AmbyMbHOKb/d/lBhsPt053+8LhKseBhPwLbKO7/eXympBc9JTTAAEQj4k1qN+A2MuPCC4+/7k136vG4x+MudfRuKcP0dBV3UeRSAnDCXKwi2L5l5Y8aLjdiHakx8c75qB4JVRQFb3UlLjnw8GrmWxc2D6ufcaxpdqcZe4Z/g==
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=hkafPhPn2ZUoqC38Axyejl3/HjFZYDX29rq+w+VMToE=;
 b=Mt/ICtpNZ43a9iX2ctCQzsz+mkpVM3JmJBXWYcoZXL6cN3sSMtqqbChp3jolkZiPtmFju/3ZaCvfuWi+cMdTlNRYSMaYR1m3KxYtk2S+ruxeiqB2RroKt1dZ49TG7ub85yK5UduLYvve4EsMEijGS93Ux2BBIZnIxqlmsW3ZRDc=
Message-ID: <12716adc-a026-4a5d-b981-78431a5be39a@oracle.com>
Date: Tue, 9 Jun 2026 14:03:45 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/4] scsi: host: allocate struct Scsi_Host on the NUMA
 node of the host adapter
To: Sumit Saxena <sumit.saxena@broadcom.com>,
        "Martin K . Petersen" <martin.petersen@oracle.com>,
        Jens Axboe <axboe@kernel.dk>
Cc: "James E . J . Bottomley" <James.Bottomley@HansenPartnership.com>,
        linux-scsi@vger.kernel.org, linux-block@vger.kernel.org,
        Adam Radford <aradford@gmail.com>, Khalid Aziz <khalid@gonehiking.org>,
        Adaptec OEM Raid Solutions <aacraid@microsemi.com>,
        Matthew Wilcox <willy@infradead.org>, Hannes Reinecke <hare@suse.com>,
        "Juergen E . Fischer" <fischer@norbit.de>,
        Russell King <linux@armlinux.org.uk>,
        linux-arm-kernel@lists.infradead.org,
        Finn Thain <fthain@linux-m68k.org>,
        Michael Schmitz <schmitzmic@gmail.com>,
        Anil Gurumurthy <anil.gurumurthy@qlogic.com>,
        Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>,
        Oliver Neukum <oliver@neukum.org>, Ali Akcaagac <aliakc@web.de>,
        Jamie Lenehan <lenehan@twibble.org>,
        Ram Vegesna <ram.vegesna@broadcom.com>, target-devel@vger.kernel.org,
        Bradley Grove <linuxdrivers@attotech.com>,
        Satish Kharat <satishkh@cisco.com>,
        Sesidhar Baddela <sebaddel@cisco.com>,
        Karan Tilak Kumar <kartilak@cisco.com>,
        Yihang Li
 <liyihang9@h-partners.com>,
        Don Brace <don.brace@microchip.com>, storagedev@microchip.com,
        HighPoint Linux Team <linux@highpoint-tech.com>,
        Tyrel Datwyler <tyreld@linux.ibm.com>,
        Madhavan Srinivasan <maddy@linux.ibm.com>,
        Michael Ellerman <mpe@ellerman.id.au>,
        Nicholas Piggin <npiggin@gmail.com>,
        Christophe Leroy <chleroy@kernel.org>, linuxppc-dev@lists.ozlabs.org,
        Brian King <brking@us.ibm.com>, Lee Duncan <lduncan@suse.com>,
        Chris Leech <cleech@redhat.com>,
        Mike Christie
 <michael.christie@oracle.com>,
        open-iscsi@googlegroups.com, Justin Tee <justin.tee@broadcom.com>,
        Paul Ely <paul.ely@broadcom.com>,
        Kashyap Desai <kashyap.desai@broadcom.com>,
        Shivasharan S <shivasharan.srikanteshwara@broadcom.com>,
        Chandrakanth Patil <chandrakanth.patil@broadcom.com>,
        megaraidlinux.pdl@broadcom.com,
        Sathya Prakash Veerichetty <sathya.prakash@broadcom.com>,
        Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
        mpi3mr-linuxdrv.pdl@broadcom.com,
        Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
        Ranjan Kumar <ranjan.kumar@broadcom.com>,
        MPT-FusionLinux.pdl@broadcom.com, Daniel Palmer <daniel@thingy.jp>,
        GOTO Masanori <gotom@debian.or.jp>,
        YOKOTA Hiroshi <yokota@netlab.is.tsukuba.ac.jp>,
        Jack Wang <jinpu.wang@cloud.ionos.com>,
        Geoff Levand <geoff@infradead.org>, Michael Reed <mdr@sgi.com>,
        Nilesh Javali <njavali@marvell.com>,
        GR-QLogic-Storage-Upstream@marvell.com,
        Narsimhulu Musini
 <nmusini@cisco.com>,
        "K . Y . Srinivasan" <kys@microsoft.com>,
        Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>,
        Dexuan Cui <decui@microsoft.com>, Long Li <longli@microsoft.com>,
        linux-hyperv@vger.kernel.org, "Michael S . Tsirkin" <mst@redhat.com>,
        Jason Wang <jasowang@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
        Stefan Hajnoczi <stefanha@redhat.com>,
        Eugenio Perez <eperezma@redhat.com>, virtualization@lists.linux.dev,
        Vishal Bhakta <vishal.bhakta@broadcom.com>,
        bcm-kernel-feedback-list@broadcom.com, Juergen Gross <jgross@suse.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
        xen-devel@lists.xenproject.org
References: <20260609121806.2121755-1-sumit.saxena@broadcom.com>
 <20260609121806.2121755-3-sumit.saxena@broadcom.com>
Content-Language: en-US
From: John Garry <john.g.garry@oracle.com>
Organization: Oracle Corporation
In-Reply-To: <20260609121806.2121755-3-sumit.saxena@broadcom.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0038.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c7::7) To DS4PPFEAFA21C69.namprd10.prod.outlook.com
 (2603:10b6:f:fc00::d54)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS4PPFEAFA21C69:EE_|DS7PR10MB4848:EE_
X-MS-Office365-Filtering-Correlation-Id: f868ae62-f295-40ab-a3c4-08dec6279327
X-LD-Processed: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b,ExtAddr
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
 BCL:0;ARA:13230040|1800799024|366016|376014|7416014|22082099003|18002099003|4143699003|56012099006;
X-Microsoft-Antispam-Message-Info:
 lr9aWUQQvYqYsqHnQ6d89eYodmgt7Gqztr38OR54hPWHHOZGdxJZoRGV3AJpVGbS/qmpxqtkzNrHtTXzqZQKRKEf0KE5Q6KF+4zC4SAAEYo/ZpLwqxbPbmYSXOQvxuSe4JMEkk2y9yWRctmfU/3QGIfOCUOFB2/sfKsHufV0fHYCCuHwTXbwp01JxLbV6Nk29z7SO4oX8TMF2+S7MyxATBxi/B2m+pN103kBg9t9sT5vglOPpD6KymOcYcZHELlLbPCTB9mjs7qyymkv0YLD7ytdfZXObou2ud3ZOzspWFGIHAjlMWGOZNj5ceYXQ3kBe69ynVRHqxmZy9IE8RtPMPgPIpO2bMiU6LtxFyc7hE9wUSXptmR1J5C14OfuUR3suXhdTq6nGW81VtPBG8LFiDTjfCd9V06W2a/9B02lsQWHqBjOyiGklOqou/3iXt88hPtTk0lhKATmTq3nqpyQYAhoEKeEBf9QENTUGFb5WD0P8YUSETayQIJropp5Ajkxx1DchxQlEgiGxzXXe1Zw1p4+ug25uF9D0Es9NSwRlrXydyz4XDWcgba5RfXxdE3N5uaqoPY8OMtToPxqdBYpGv7O21Gycfig81DWcbHwuXiuVAug6FsKI65Xv1mUE1tcb0y900IXKpzVYvTsM9HCJ7OQF2AXEgdcKJIszxTdGyh4g6pB97ExJRBRFOEm5QEP
X-Forefront-Antispam-Report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS4PPFEAFA21C69.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7416014)(22082099003)(18002099003)(4143699003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
 =?utf-8?B?VmN1MEkyMEM4YlpHYlcwWFkrV0tMZGJwZzZsRXVZaXBTWGFsMTlJcU10Zys2?=
 =?utf-8?B?TGZsSEdlWUp3OHN2UFNyM0FwVFIvTm9uM041eitJVXpINExPa01pc0wzNHRX?=
 =?utf-8?B?SmZzODdoSG5USDM3em1ZMERYMWE5V2tnOHU4R1hwOEtMN1l5cHlMZzBBS1A5?=
 =?utf-8?B?ZlBGa0JTRlByY0pVNE1jNkV5ckpFM0crL1pNMnZsNjdJMjYwMEF1eU5uVmI3?=
 =?utf-8?B?eThBWG9KMnBvZEQwTXU5Q2ZlZFdlQnRHelBtUDN5YkU2Q2NUc2Y1MTBDOGVp?=
 =?utf-8?B?bUNibldydG9uSkdSMExtQnYwb0x2MU9SZ2lyejhGMGdhbFI1bVpRREQ5Rlln?=
 =?utf-8?B?K0ZLRVFWQzgyeHo3bXV3R0hqQlAybmlmZ1Z3ZHdBakhTa2hzZmJpQm9TajVx?=
 =?utf-8?B?N2wrck5qZjBpNFBIWWFDSzlZN2x2ZFhkWFRxTGkzVWdTVWVmNU1uOGhadEoz?=
 =?utf-8?B?RUxaQTJGQ3BZOS9GWWVQTVozTEJlYXArbHpWOCswK1JtTUVDVjAweFJiVGpF?=
 =?utf-8?B?Z2V2TngwbWZ1cTVNU29UQktSZ2xBckhPZ0FuZTF1SHNRTkRIY3Y1V003WEdh?=
 =?utf-8?B?OURxNDN2L1RmSUU5WFBHck84V09PYitWTUgyTTIvOUJXUk1pWG9FNzVmc3lq?=
 =?utf-8?B?RVQ1ZHRhMk9jdkt5UWpBaGxDU2VXK2pydlRkL296dU1NcTlrSGE2WWdUOUMx?=
 =?utf-8?B?ZWZnbkZ0dVJGdkFEekZyRXhVc2hFYTVYclgwYlpWZFdFbDJySGllZG5tTzJp?=
 =?utf-8?B?N0VGMnc5eVYrUUJKUTdDWjVja2R1U3pqRGNxOXpiSWp3L2RESHZJREpuWmVj?=
 =?utf-8?B?eExNblZsT0RMdTRvaCs2d1I0Sm1STE1iMzdKSHdWM1diVVlEUFZtUHdRYnRD?=
 =?utf-8?B?ZC9IeHhoMW5wWmJZcWs2THAyZEcxandxdGkwS284cTVxZ21OVHRSblhySTNO?=
 =?utf-8?B?aTI5M1dEUHY2OW9hTmdrZ2E0L1ZqUEpjanRITmYvWllEVS9TWDdDYXY2RW1F?=
 =?utf-8?B?KzVGcE9oYjd1akxQd3VWWmplK01jZFdPeHN0WFlCcXdZeFdMT2svYzdDSzFp?=
 =?utf-8?B?Uk1wczZkWWR0V2lXL3dlTUcxY29vOXpNbTdrQ2cxYXpFMXJuclpzMG1aWDZn?=
 =?utf-8?B?Z2E0NUoxY2tTd0RFRUNWQXppeEVPbmNZUEtFdlREcTZGUW5XbHBlc1FiaG1G?=
 =?utf-8?B?UTk2YkhOSjEvMWFQdUNtR3NnQlU5K0NUNUN1cS9PUVcvaUF3KytCOTd1Rllw?=
 =?utf-8?B?cXVtdXFKMDJDa0dCM2gyN1FOSFR2bzVYc2Q3bk9nL1dhL1Y2Ty9tNUkvdFhw?=
 =?utf-8?B?b0krTXZPZDRicE1GN1E5bWt0YVdNQ25sdHZ6Y0MvYkxhUElNdmgybW45RWRS?=
 =?utf-8?B?T1Z6a3poTEhtSXlSUllUSk12TGsrQ0N0RmlYMXdjVlBHaURMdUQ2bW50cE8w?=
 =?utf-8?B?THI2WHVwaUt3UlFkOGxrWWFPak56SnROSGxQNlgyeW1nRzVTSUhrM0N6TldW?=
 =?utf-8?B?eGpBTU1lYjRSZi85L3dlZUkwYjhrdllqVjRMbGVLTXZxbThiY2x6ZnlPeG02?=
 =?utf-8?B?T2t5enV2QmhDS09sMlc1YlJjMGtDWU40RkxxRWVzVjRDVnpXQVJINU9zTkxs?=
 =?utf-8?B?djBVVkluUEZtaGpia1dUdmRIZHRndU9jVFhlTk1HakVJK3dDMXdETjR3Zit1?=
 =?utf-8?B?UkovNmxneFQwMlM2RENSMWtPcHYyWWZMbzAyczNuMzJObkFITzIzQnFhUE1q?=
 =?utf-8?B?MFdyK0tWNUwvbHppVlBNZGxSbTBWVTJnTjBPNzFFZS90UVFSYlloN2ZlcU4z?=
 =?utf-8?B?M2h0TVY4bUZRbnpKR0ZRNDdweS9RZ1g4bkZuWGhkcHYrTmgxQVV0cHhVS2Zo?=
 =?utf-8?B?a2gwY1ZUa1J4dXM2T3RrOElZbytLZDJ1dkVURkIwWHV5bloyeWhUbTRZeHNB?=
 =?utf-8?B?NEV0OS92VWVHRnlHQmRXWit2SytlbDNGd0NGVUpnNmU0ZlQ5MUo1Ykp1U2Zx?=
 =?utf-8?B?ZXVOQ28rU0RZbG9UL2kyeTV3T3FYNGU3REJ1cjNxYytMWncwYjJhY2FYM0Vj?=
 =?utf-8?B?aVJscndmR09jNEh5eG00OGY3WEYzQTg4MTJaaXhibm1PRDhCSE9HQmJKbGdF?=
 =?utf-8?B?eXdyOUk0ZW5UYzYvSHl2VXBXRE9meitVM3RiKzN0bTNLOC9wTXpUVGVWU0V3?=
 =?utf-8?B?TVFJYk13TWFtdWRwY0ZFKy8zcVFXK09HU2VwQ3o2Q1dTYlgwQnpZWXh2Mk16?=
 =?utf-8?B?M2lxQTk5UW1ZeURKTWRCWmxyS0pkczc2c29oakpiYndhaWM0ZHpiN1hQclBl?=
 =?utf-8?B?V3YyMW9SSWg1UDEzMXBWcVppbThmQkMyU0lPMGNZeStkdU51QVQzUT09?=
X-Exchange-RoutingPolicyChecked:
	rTSJW0lnJNpxXN7Exd6oPBKQhnrdUWbxdwgvh8EjamEknVwUWuenSEQcfRY+JOGnSuOL1N4qnWXe4eINYU/2jBWu2bx+7P1Rb3pYgnpW+ssebSFghi1g04C3StUixisEn4VB7DcTbegDQu0tIvpFN7wKZYYHnbdaJlbN8CP4XPSfizzDjxLHjVLGVahY6tU6ysu5O9Am/mtCL1f3LTsD2MdV/rLQgyuJiksYeFs4v8yyQVUrc6k4M7jZztVxnwOmrDxhrX67z0MoHAJHYYxZdXaKn/tntBfBej+3GWnzvgBWBEkfb2EsoSS6+oPL1P2tjAGkoWczkYx2KT2NstbQTQ==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	OisDCkqTW1Ijmm00C5ZR5NJpaRMFQOR1hxzOaJa5Zry+cigtuaEl/0kAkWAMNw/dI3Zj3/RsdZnzTrVq9+jiFl4J+YIalBKAILktyc8SCXw9YONSOIvwGQS0v9WOu9gAciV542fo6hGL9vSqXK0+pyLNnuJUlk6QM+QaOpTTF1K9s+s7o8VIa0rTYAzYKw5K1g0WepnedIYdMXMbRgeMFijP5JjWxSCq7YROyS/mW/UXpg/s6dSqHLUW2FLbHyOrfzvje+XMwLkN2zogrtFy4Bi4+QP8yuLAXwANL4S5MDXj2iBMbN6BWLNPhHj3yt/4YQYvcz5on8+3a/dOrXmD2UI6IdCorq5MYA7wobfxkOIMwS/K8/96+o6l3Xrjq65tzLG58H0yBXXY6uYUBSWhVnP5GM/OMczOKbULnUXaNvZxUmxiOjqv6VZ2AXDuGFApre056Mt8pNdvrBSoBW2tXeg/i9VZdc+tQfWeCyjWN5YOf9VsdpLjsG5hvWuSWrlNZ9MtBQvX6ikzteMqOZ4okvyshKmwNgC/nm12YSOFA1ZPAfpyKgImkcXo7plD4zUGJctdKeNYL+WSpT9OscW3SVGa0cKFZLJrNpZ/js4tncI=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f868ae62-f295-40ab-a3c4-08dec6279327
X-MS-Exchange-CrossTenant-AuthSource: DS4PPFEAFA21C69.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 13:04:01.0845
 (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: fhxh6ARi7uS+6jN6dZBF5IpOMAU1NgN/AliUPOWchv+PlblYvk66dgJI0/8Tftr2IS5JXFRwiboVPrscI2snpw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB4848
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-09_03,2026-06-09_02,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0
 lowpriorityscore=0 spamscore=0 mlxscore=0 malwarescore=0 mlxlogscore=999
 adultscore=0 suspectscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.19.0-2605130000 definitions=main-2606090124
X-Authority-Analysis: v=2.4 cv=ZMvnX37b c=1 sm=1 tr=0 ts=6a280f85 b=1 cx=c_pps
 a=e1sVV491RgrpLwSTMOnk8w==:117 a=e1sVV491RgrpLwSTMOnk8w==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19
 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10
 a=FelO9ux0wxsA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=jiCTI4zE5U7BLdzWsZGv:22 a=RD47p0oAkeU5bO7t-o6f:22 a=yPCof4ZbAAAA:8
 a=Q-fNiiVtAAAA:8 a=Dtt8aju-Z9gyQQo-GkUA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10
 a=5yU3S35YU4bGjq-dph-N:22 a=Bho9c0fBagfJEIQBS7DQ:22 cc=ntf awl=host:13723
X-Proofpoint-ORIG-GUID: Rgcfr5eQax2Wrx1bz03-wsUGiE2GICQ6
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA5MDEyNCBTYWx0ZWRfX1n2ApWePZitS
 8U6Epot2tJ1QNcDZG+Txmk/L7aAmPqF9lb94UGNYg+B8LALYuWiXW9n2tdnc+wJiPJpmpHo82qa
 BUV7WzQTtIypA/N0GtpR+P94KZBs41+ymCcffXVMSSfhhjtQd51jMcFJKuNUxA416X00xLaKfuN
 mp3ZCAxQOjSDnxV6KrrbJXKihdkgYF4aAtdemEfLeLepeBFdDFU/evIGfry8KnQ0oD83yWht6oX
 pT6l1cOlRg504Fy5pT3evFQYjH/2CelYa4QrpICqjEyZUErX41CIk96hcwwKGFvMWUozHC8ICWs
 ajN+TDYKlWur1pSYU2UHVtchmnHY4jZFIEToqnJD3/s/ooPKtlXAMjSvdGEdDvFnC3rR54Dn6fX
 B0mq8wl6CPuOU0B3YofM3dLqcaBBQUJqg9XkSlktSxNiWzr2fvKj7JMvFkiEM+bGdsbwtsy/u1d
 aBxvoj07sopdA8yyEwRIde6pgw7q7kagDqNMRY8k=
X-Proofpoint-GUID: Rgcfr5eQax2Wrx1bz03-wsUGiE2GICQ6
X-purgate-ID: tlsNG-c1860d/1781010643-BCF62DB1-4C69E611/0/0
X-purgate-type: clean
X-purgate-size: 3102

On 09/06/2026 13:18, Sumit Saxena wrote:
> scsi_host_alloc() used kzalloc(), which always picks an arbitrary node.
> Extend the function to accept a 'struct device *dev' parameter and use
> kzalloc_node() with dev_to_node(dev) so the Scsi_Host struct lands on
> the same NUMA node as the HBA, mirroring the treatment already applied
> to struct scsi_device, struct scsi_target, and shost_data.
> 
> When dev is NULL (legacy ISA/platform drivers without a dma_dev) the
> allocation falls back to NUMA_NO_NODE, preserving existing behaviour.
> 
> Update all in-tree callers:
>    - PCI-based HBA drivers pass &pdev->dev (or the equivalent struct
>      member such as &phba->pcidev->dev, &h->pdev->dev, &ha->pdev->dev)
>      so their host struct is placed on the adapter's node.
>    - Non-PCI drivers (ISA, Amiga, ARM PCMCIA, virtio, Hyper-V, PS3, â€¦)
>      pass NULL.
>    - libfc's libfc_host_alloc() inline helper passes NULL; FC drivers
>      that want NUMA awareness can open-code the call with their pdev.
> 
> Suggested-by: John Garry <john.g.garry@oracle.com>
> Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>

Wow ... I was not expecting such a large change, but admittedly I did 
not consider the implementation.

I did mention that pci-based adapters should already be effectively 
doing kzalloc_node() since the adapter driver is probed on the local 
NUMA node (and kmalloc first tries local NUMA allocations).

> ---

> diff --git a/drivers/scsi/hosts.c b/drivers/scsi/hosts.c
> index e047747d4ecf..e1f42be79729 100644
> --- a/drivers/scsi/hosts.c
> +++ b/drivers/scsi/hosts.c
> @@ -403,12 +403,14 @@ static const struct device_type scsi_host_type = {
>    * Return value:
>    * 	Pointer to a new Scsi_Host
>    **/
> -struct Scsi_Host *scsi_host_alloc(const struct scsi_host_template *sht, int privsize)
> +struct Scsi_Host *scsi_host_alloc(const struct scsi_host_template *sht, int privsize,
> +				  struct device *dev)
>   {
>   	struct Scsi_Host *shost;
>   	int index;
>   
> -	shost = kzalloc(sizeof(struct Scsi_Host) + privsize, GFP_KERNEL);
> +	shost = kzalloc_node(sizeof(struct Scsi_Host) + privsize, GFP_KERNEL,
> +			     dev ? dev_to_node(dev) : NUMA_NO_NODE);
>   	if (!shost)
>   		return NULL;
>   

> -extern struct Scsi_Host *scsi_host_alloc(const struct scsi_host_template *, int);
> +extern struct Scsi_Host *scsi_host_alloc(const struct scsi_host_template *sht,
> +					 int privsize, struct device *dev);
>   extern int __must_check scsi_add_host_with_dma(struct Scsi_Host *,
>   					       struct device *,
>   					       struct device *);


scsi_add_host_with_dma() and scsi_add_host() do assignment of 
shost->dma_dev, so I think that could be moved to scsi_host_alloc().

I can imagine that we always know dev and dma_dev at Scsi_Host alloc 
time (and not just scsi_add_host()) time. However those would be very 
intrusive changes.

Let me consider this more. Maybe we can have a platform device version 
of shost alloc, as I can't imagine that we care about much more. Thanks!


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 15:15:13 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 15:15:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333486.1596499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWyAJ-0006tO-38; Tue, 09 Jun 2026 15:14:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333486.1596499; Tue, 09 Jun 2026 15:14: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 1wWyAJ-0006tH-0Z; Tue, 09 Jun 2026 15:14:55 +0000
Received: by outflank-mailman (input) for mailman id 1333486;
 Tue, 09 Jun 2026 15:14:53 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <tglx@kernel.org>) id 1wWyAH-0006tA-Bj
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 15:14:53 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWyAG-006STS-Ns
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 17:14:52 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <tglx@kernel.org>)
 id 6a282de9-bab6-0a2a0a5309dd-0a2a45029722-4
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:14:52 +0200
Received: from [172.105.4.254] (helo=tor.source.kernel.org)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <tglx@kernel.org>)
 id 6a282deb-af86-0a2a45020019-ac6904fe9216-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:14:52 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by tor.source.kernel.org (Postfix) with ESMTP id E486A600C3;
 Tue,  9 Jun 2026 15:14:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id ED4D31F00893;
 Tue,  9 Jun 2026 15:14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="From:To:Cc:Subject:In-Reply-To:References:Date"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1781018090;
	bh=uRyFSZRVHMnouzvaAVPL92GCgMdl12W9vVxoHpFOSfE=;
	h=From:To:Cc:Subject:In-Reply-To:References:Date;
	b=J1JRSmTT3Pr65ktIYwSRLzrcos1tMVN/f6KWS2nDExwJLaI0lUIE0Ry1IjS1Gk5Di
	 2nikAbM29lucoVup3x3n/GGzfbCdrqm/lsqTm3JkGDInTGp71kVYZ571kZFjNBKOOQ
	 eqcg+vLzOrpGODq/ph923QybBSTcJfLLb5c1Z0ZhCCBLMIJ/9YaKj6dg663cVXstXf
	 JhZ7PpYgeu0N5sZBxJd2NrtjoTGj0LXAch1pJJA+7IU4gkpkcLVvdSJI4QPw/8fpKn
	 grkqwjy5irSN5ojI23STjIQ5F0vBvODAA95m+Ar/2am8JyECFD5YopXIha4cPL5sjG
	 O/uBgPnbWTjXg==
From: Thomas Gleixner <tglx@kernel.org>
To: Teddy Astie <teddy.astie@vates.tech>, "linux-kernel@vger.kernel.org"
 <linux-kernel@vger.kernel.org>, regressions@lists.linux.dev
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Olivier Lambert
 <olivier.lambert@vates.tech>
Subject: Re: [REGRESSION][BISECTED] Long boot time with Xen HVM guests
 during PV spinlock initialization
In-Reply-To: <1780997262.8631fc262581453bbf619ec5b2062170.19eabb58e51000701b@vates.tech>
References: <1780914594.8631fc262581453bbf619ec5b2062170.19ea6c8227b000701b@vates.tech>
 <87ldcp3w16.ffs@fw13>
 <1780997262.8631fc262581453bbf619ec5b2062170.19eabb58e51000701b@vates.tech>
Date: Tue, 09 Jun 2026 17:14:45 +0200
Message-ID: <87y0gn3fve.ffs@fw13>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-720697/1781018092-A877A161-9197A29D/0/0
X-purgate-type: clean
X-purgate-size: 1449

On Tue, Jun 09 2026 at 11:27, Teddy Astie wrote:
> Le 08/06/2026 =C3=A0 17:15, Thomas Gleixner a =C3=A9crit=C2=A0:
>>   struct clocksource * __init __weak clocksource_default_clock(void)
>>   {
>> +	clocksource_register(&clocksource_jiffies);
>>   	return &clocksource_jiffies;
>>   }
>>=20=20=20
>>=20
>>=20
>
> Hmm, there's a case where clocksource_mutex gets taken twice (both in=20
> __clocksource_register_scale() (through clocksource_register()) and=20
> clocksource_done_booting()).

Bah.

> What about making clocksource_jiffies gain ->enable() to setup what ever=
=20
> needs to be (like calling __clocksource_update_freq_scale()) ?

Doesn't work either.

Updated version below. It's not pretty, but it should cure your
problem. If that's confirmed I think about a less ugly solution.

Thanks,

        tglx
---
--- a/kernel/time/jiffies.c
+++ b/kernel/time/jiffies.c
@@ -60,15 +60,14 @@ EXPORT_SYMBOL(get_jiffies_64);
=20
 EXPORT_SYMBOL(jiffies);
=20
-static int __init init_jiffies_clocksource(void)
-{
-	return __clocksource_register(&clocksource_jiffies);
-}
-
-core_initcall(init_jiffies_clocksource);
+static bool cs_jiffies_registered __initdata;
=20
 struct clocksource * __init __weak clocksource_default_clock(void)
 {
+	if (!cs_jiffies_registered) {
+		__clocksource_register(&clocksource_jiffies);
+		cs_jiffies_registered =3D true;
+	}
 	return &clocksource_jiffies;
 }
=20


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 15:15:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 15:15:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333491.1596508 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWyB3-0007L1-Dl; Tue, 09 Jun 2026 15:15:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333491.1596508; Tue, 09 Jun 2026 15:15: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 1wWyB3-0007Kt-AZ; Tue, 09 Jun 2026 15:15:41 +0000
Received: by outflank-mailman (input) for mailman id 1333491;
 Tue, 09 Jun 2026 15:15:40 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <ross.lagerwall@citrix.com>) id 1wWyB1-0007Ke-T9
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 15:15:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWyB1-00DzIb-9t
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 17:15:39 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a282e19-2eae-0a2a0a5409dd-0a2a4506a610-10
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:15:39 +0200
Received: from [52.101.201.26]
 (helo=PH7PR06CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a282e19-7371-0a2a45060019-3465c91a129a-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:15:38 +0200
Received: from CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5)
 by LV3PR03MB7523.namprd03.prod.outlook.com (2603:10b6:408:196::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Tue, 9 Jun 2026
 15:15:32 +0000
Received: from CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096]) by CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096%7]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026
 15:15: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=M5Gf01aCKVSN7aaEAw/y0YvXgrmjKNYEGA0Hc+QhUHRNKsBVcVuSvZnbUvKpW5QXR6OjSBNLpaPZzm2H7+NU14OMbG0wtQ2RTuJL9wFPmk92r/PHNPaUvPvuxg58BnmAdLH7VzcJzJpUSDUeDajP8bGwE8Vu4HQXKnYImAIw+VPZJZkwzOlJ6TYdu5EZo0Qtgv4A2WoqasK+H4oQkONQ/ObYezmL6wNQDVj9sZ03KlM9+D0I3W3ViAgURxG46n5k5+6HCyshPuGj8I/2opyb2MfLB0fLPeb0WEsKHR6IzIGEnfXfZPQnZQ+EZQtrOplamGoWo/gqm7NfXfOkokh93w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=csaVkDL+nTZscT52FfwA4psWTg9b9UBQARWSBm2wEkA=;
 b=tdQv12nRHXUkb/lOIHjnUp0q1e8t3avSEBHx3A1ADwhvZT95JhvAvNJB6XS1CUj2WsPAhLbo2iy9Jf31HZW8bZMtPKh3GC0WEYO/bxdvMdpZx0wbo6VAXBj1vv0Lq6Cnze+9P9xLJphpLW1Cfh4jt8ucR1OiQHP5tCNWrA8lRjR7Z5pkv0xyBQ28o8SHDo7ipBkZT0uvqX6QjdzDB6aO9Uww61V71a2UaU0m2FHxmoLcLUPc6R7g+jPf22tPbcoGrS5D/yLiyFPPHXvM7uBzzAaecV4BcVAoJkFv/t18oS8Xov017ucbtsU7RWqUJcoX6VFBRt5WlGHPF0GNBZst7A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=csaVkDL+nTZscT52FfwA4psWTg9b9UBQARWSBm2wEkA=;
 b=SP8oI/8WvnGAiVEV4uYLa/s68MLiB7hzgHj5cvKQC3GteRf6P6Te9HUgy6SjsjFLVfcqJ/wrj7kq61xsSmrAc4c9ZbPPvjyD7rE+s6pZ0rEyXRR/TVPlg2ktVpTtsRtk9DMHLO/2czAMPWFvopU/lX8luEnLIeSVivpmjpqdeBA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Ross Lagerwall <ross.lagerwall@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	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>
Subject: [PATCH v1 0/2] domctl: Avoid taking domctl lock for certain ops used during migration
Date: Tue,  9 Jun 2026 16:15:26 +0100
Message-ID: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
X-Mailer: git-send-email 2.53.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AS4PR09CA0030.eurprd09.prod.outlook.com
 (2603:10a6:20b:5d4::20) To CH8PR03MB8274.namprd03.prod.outlook.com
 (2603:10b6:610:2ba::5)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8274:EE_|LV3PR03MB7523:EE_
X-MS-Office365-Filtering-Correlation-Id: 9cef766f-a1c4-43cf-b5b9-08dec639f30d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|18002099003|11063799006|6133799003|56012099006;
X-Microsoft-Antispam-Message-Info:
	2exLfBA5MPRvOeCePj8PdD8dHKzrfxmDXZoAhSz2jrOkF/d/rLvjg0e+dJ4XDEgMwjKzTs6Ykm1dVhPNUwbG0Yt+hSumDUP2Yh9cphtrqd5MnbgdcJU9U7ooLy9GIdoUQwnQFeQbvbJihwFY4bKDZUS3WteRpAUSnY7b75PH5qF/uDqEp0jOVHMJ998PKrD0aAUre7bykD/jfoDyrautdG2WpbipcsSjHzsrp/fQr+GuwLihN1w51BBlFx7AeNpAvIhfM7SRe2AD0R9Apr3qNrG2k7inOhJ6txop8F5LVLOHRsGC/PTssSul52QzN/jwM/KzpNW8KjkxdXoputtdHGSLj8EgmjZXjA+uTyvEs4Gl6b5W+L8ioZfaIzYMueBq4QHSO7x78xOUB6k8GmaFB3Oj8zLxrFOCzCQVIhNfGWbdVaqLt3YToMIFMJVmdRAwhVwkWboVGHlrXS5OahNvalNb3tO5l5u88U9prrNxDlZnyZb5qXoFgMhpmR0wI4G1yrxc/0Say8uIZYAd/bDJRDQ3LS/IyLZli14hqXGvirA1xvGfLSFLn1xiWMF/VGCcQIU316Lks2oHq0PRdfFHNKhVoOGXjTDoR1RS7Xu9kz0HyiBGSw4fjZXy1vDQKyKNgRtYgWjg7M0VhLVB06X1cKHK1f0H+/YwbWc2EfKBUA0gqnR/bQBT6q3GbXckUMZc
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8274.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(18002099003)(11063799006)(6133799003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?1Oe1BI3X+PxA/2uYim8OZi21rvocYsOOor/ggETfujmT/VGcY38hxL8Mmc+H?=
 =?us-ascii?Q?1sWY8crlN1vMInnMdHng5izLtFqOwJsWY/uVSQvmy0pV8mGeTtcDjVcbFQ2H?=
 =?us-ascii?Q?1Rvfc2lBS8xTHYeFqHtYtxRV01nRUtog/ZN4eBwmDGCu4c4W3XRDyAQclBd4?=
 =?us-ascii?Q?0Ycw3E4F5dijsgkJ9W7eeiK3ywq8aaOLyIPbbCA1bDQcN4UfXBTQ9q8YYDYE?=
 =?us-ascii?Q?vaodLfdWsWHELTtLo22eKAIYiFQ9wWS4yp/jReLe2AaquF+XV+W5zNPt2vQ/?=
 =?us-ascii?Q?GLb3xwq4OhRJv4bZsekJpr2nl/wnoVjoYTOrMZoZsBsHoX+GYbGSXjX2P2+4?=
 =?us-ascii?Q?FZLr7URmJmTWy9S7+U4WVDPUO1+ESQs+I4+8yRNORvfbntEhAJ0erRRg93ov?=
 =?us-ascii?Q?o2wkR41jYTm/tgfwHEjEI4r3/o74jDrk+ym9nkLKbVmZ7fuEL2/RLhIM+k9G?=
 =?us-ascii?Q?h0QQiCne62aJTMYqnVxyF1WZH9dLC5FKcHU90djS0ER/mGJdEZK+92dwhWqk?=
 =?us-ascii?Q?VGCmUSHhH323NsBgGzLyxLapTdt/+IIyIjck4viTTGHcIkM366fXVpkRitdd?=
 =?us-ascii?Q?F9WwhC65wcLgPmogOGGTu/wM0xe4CYKRGGZmF23h2Yvag466MJPI6EatLemd?=
 =?us-ascii?Q?NNrs07scknyjq6oLExeC4T6qkVEIW/fnyEwKlk2QJ6+IhVV5cUjM4IJQYWxn?=
 =?us-ascii?Q?FE5vAIbWssT6L58W8f1gssNnXUb6gyBXsIlnlTBwz6KbTlBz+5puDdtAwepH?=
 =?us-ascii?Q?BMzaYastuRDoauzG8ULaCZ2Pgzkgx7mOnfmmIaGdNGUBLw9+ZefaKD2TOCUL?=
 =?us-ascii?Q?rGdYQS6nSy2ASXHlenvEGK4wwXQYboqHm/xfk95FPq4JQ3tDisuAoeEKMnsR?=
 =?us-ascii?Q?WJFZ2r85BMMJLv7sgNwfdet0+KQ3n5DQSUdqqxks0UdHpj4DFsX3qqVtJbVB?=
 =?us-ascii?Q?gk+ty776LOiN/I7XKZnlzH13+1Qm6wmPTw3N6tPZR4UTHfVuDjLcvYDzgGXL?=
 =?us-ascii?Q?2N0x+Rar6A0rZh1ga7HzC7vXFZrZWL2j6hHljDr/aLHHzt3VuoXOuaKGOLY9?=
 =?us-ascii?Q?bIAykTsK9I9i9m48w93rPNxe339zIJXZLUt4+x4WezhvLKmIiaEQKyfKc2+o?=
 =?us-ascii?Q?1Ni7dL4tXlwqUFWf0h4G7svqVSVfsyW9OG0RHjz218yHMRGR/9DVbpITC1fi?=
 =?us-ascii?Q?QGTKD4Fnd6Fvb0mb4UP+aDV7ExT8D+uCcI7h2f46LXDX/LeTddQvmr69iDAw?=
 =?us-ascii?Q?vU1GeQspSj163oPd6qaw+pahImFhyv+v4Muya090WKPIv2mWOYsRsNRsOqSt?=
 =?us-ascii?Q?VPoXp6T8JLwMnvSPLy6Zbie49d7NdyCp5XyQdw9MrRDT7n0oBFKji3POAfmo?=
 =?us-ascii?Q?EkXrAJQfI6qvsibsudimHaFbZ2YnGl5pkpNWAptdQOsQ+9aoXt81wsAnW6k1?=
 =?us-ascii?Q?ZsnJe+Nf55svTN3Je9gvbIV2BJUB1tJxFLqU1dE3urfGmxRXSWwJvrqEnkkp?=
 =?us-ascii?Q?rQCzQD8HcjcEXJ0vG1j1n7INJD3Uj+2j53f/Yd7F1CUoS+mwslPh+VtURVGk?=
 =?us-ascii?Q?rlDBNTrVGgOvCSEniIN4boKi3dZWUlIQTSikyL/1Q7CQavulQIPE7+5cRcF+?=
 =?us-ascii?Q?lQVjqC0geEOiHb3HcKIeQJ0zVqhlA836/Hv5baFP7/6IQJiVE58DiGGpeA/g?=
 =?us-ascii?Q?/DIQBJc8mcmPGNHfqRZneU12dl91frhQUutZlTOgdgkevV2Z4lAXzR/LGJ5a?=
 =?us-ascii?Q?sqMn0JWPSX1nq/DhbawRr5XRu++P5/Q=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9cef766f-a1c4-43cf-b5b9-08dec639f30d
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8274.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 15:15:32.7201
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: or/bfqmiz9d/Cj7NMkcQbpSCSlRY8bW6r7xbEzulLvbaiWihG+YKQBY1Qjp7iQuCJMJhCf7F+AGTIs+UAr+z05j2sMO/YAeBu/i+RgukvL0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7523
X-purgate-ID: tlsNG-16d1c6/1781018139-8D387D75-349B6293/0/0
X-purgate-type: clean
X-purgate-size: 840

When performing multiple migrations in parallel, the domctl lock may
become extremely contended:

* Operations like "xl vcpu-list" were observed to take in excess of 20s
  to execute.
* The "clean" shadow op may pause the domain, restart with a
  continuation and then become blocked on the domctl lock, causing VM
  downtime in excess of 20 seconds.

These issues can be fixed by not holding the domctl for the frequently
called operations during migration.

Thanks

Ross Lagerwall (2):
  domctl: Handle XEN_DOMCTL_getpageframeinfo3 without the domctl lock
  domctl: Handle some of XEN_DOMCTL_shadow_op without the domctl lock

 xen/arch/x86/domctl.c    |  4 ++++
 xen/arch/x86/mm/paging.c |  8 ++++++--
 xen/common/domctl.c      | 13 +++++++++++++
 3 files changed, 23 insertions(+), 2 deletions(-)

-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 15:15:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 15:15:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333492.1596514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWyB3-0007Nz-OG; Tue, 09 Jun 2026 15:15:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333492.1596514; Tue, 09 Jun 2026 15:15: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 1wWyB3-0007NR-Ih; Tue, 09 Jun 2026 15:15:41 +0000
Received: by outflank-mailman (input) for mailman id 1333492;
 Tue, 09 Jun 2026 15:15:41 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <ross.lagerwall@citrix.com>) id 1wWyB2-0007Km-Rs
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 15:15:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWyB2-00DzIb-8b
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 17:15:40 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a282e19-2eae-0a2a0a5409dd-0a2a4506a610-16
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:15:40 +0200
Received: from [52.101.201.26]
 (helo=PH7PR06CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a282e19-7371-0a2a45060019-3465c91a129a-4
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:15:39 +0200
Received: from CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5)
 by LV3PR03MB7523.namprd03.prod.outlook.com (2603:10b6:408:196::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Tue, 9 Jun 2026
 15:15:37 +0000
Received: from CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096]) by CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096%7]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026
 15:15: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TVIPmI21Kgdk+ljPvBlSvT+0ax1gmDfqrQ5jA24cf5vZ7g9wkcK0ZA4hmkEsfcy/MMN8V1/mjiGitWS1HKWvfvrUikeeiC2+UNh943O+pMTe9ScFRWH7yUs9sphN0EFoWSz0nkLYFjNg2OrS8yqtiIQ1sBflTrDk2wUocqlBleQctvI1jYYRYbG4IVduBGLGmQ9TI+/rAM4UpntF1OsO0K5mIlU6ypLeqZ1ghnwOKWFTa3YDYDVk0dXotUXT20CD7WwECsPBEvCvnv/tSrmd8eDcH6C83A9Xy9GeOmATipd0YadPB3k4s/J7RQco0ofCJYF/MmMA0fy+RvtuU6uQfA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OCiYcjADFgsxAz71CoNGnpjlgnb+QtefvZ3g0STi4ko=;
 b=A7U6pjT4YvKJvMeMH/5Nyh8kQVEcZ7OpLlwX/xBIGTTRG3FfyiFPttl2qrx1Oos4DD2ZjE6ptppZi8FCas8CWuSg7GIxK21d4ExQMNQskzUcYT+plciSLi3F3WzmER7pMOMxLUtRKmk7e8coavJEzYyGXhQ8hDwbrMMPuHk7YmM5hOY6YPuG9Lp35NghjG380rwf3OlurvwuMgmVqnU9eDkydDym/lhKG66Wy49T3YEC4DjCsmhTEKITqLpYgRNLSQ1ogXdlDnipvhhFY6mPLxU4xBFLyS07epzEJeeaeAkNQOUQABKYrQcwPfn5LT3il5YZ6P/bxwXZ4aY18uLPAg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OCiYcjADFgsxAz71CoNGnpjlgnb+QtefvZ3g0STi4ko=;
 b=vV0OHvGOg7CbHqYBTnbcaYKJtkhe9A2p/6Bc9VibowbBIEyivI4sreI7OdF03CwLfwtbbjhNyF5W0O55mUQKw0rRwyzG1doiCuTF9MS7J7IDo94yRizrJxP7A5VKQFounaqpF0XuDuxHXdcKtm/l5BNdzHnmKsnFFiAgkGT9QeU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Ross Lagerwall <ross.lagerwall@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	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>
Subject: [PATCH v1 1/2] domctl: Handle XEN_DOMCTL_getpageframeinfo3 without the domctl lock
Date: Tue,  9 Jun 2026 16:15:27 +0100
Message-ID: <20260609151528.2426788-2-ross.lagerwall@citrix.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
References: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO4P123CA0363.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18e::8) To CH8PR03MB8274.namprd03.prod.outlook.com
 (2603:10b6:610:2ba::5)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8274:EE_|LV3PR03MB7523:EE_
X-MS-Office365-Filtering-Correlation-Id: 60a4eb8c-e0cd-40a7-3a10-08dec639f5f6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|22082099003|18002099003|11063799006|56012099006|3023799007;
X-Microsoft-Antispam-Message-Info:
	o4/Cfk7w8PzUDPiroYZIqJMdZPomDNix0bHdNMSdHUQFjWC+mR2+4oKYZ5S/VC1zQSXuW18cB65Qvjc65zVOoggBNrowjU1JyXOzkcf0Hj2CeiKMd9BLXW3JWymzP3584aBWgMNTWU64tdBvU+ZVK51JMmvV+gYf4I27Rrl/kUvchO79Cuhpr0ttEFY5jYEk6GT/2aADRoPEUNwbuuA8Q3ZDWOF3fYoUcv5OxOwWDBVbYC55L70pt4xMwxQCj7k0cNeKo7lu2FLzABecNtDT8D5ApGPLgCTekZL8/UrTF5swwdbQIZrvb69Zy6ifO9Cos1NsVRoCwG4KHgoFKtntUWyvrDkxjkteqfME6jXiu0KN2XqxcrveqoHgvW1CIBKn5S3ssNgW3rGD74V1bnD/uZndcHxK/ppyUjoNEAbVJrbrHAaGVLIfxYjNgknJoLQMHK6XgYIyplhG9L9n6yVldZGQSInsIFZcvFuiULPRAzQb/CvE4Dj7yzTMooF8ypqKrqBEboFYGy85HbwIKdXl3mWtANYvGjvIM4s3fJTYDqcGeSQIKovy0uKI15vBx9+LG7hfAbiGfWtMBPoGloAwsGEZiEN/vSL2eKTtJ+kKA0MLGoiz4JDjmEuvJcedmLgAClZaSj8vguwGMRbDVj4bx2bwFVj590+2kFVRQhImznPs9KadZCjoLENr8GQsLehW
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8274.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(22082099003)(18002099003)(11063799006)(56012099006)(3023799007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?APaIZmEvoTTJTZbNQv/czeNiz7H5nQFBjXuBBSBKgcmB16W0GK7whoYASU6R?=
 =?us-ascii?Q?mSWfpygBVNALJyud2Djlg6f3m0HiVGTieLgLdaY0nd2CztET4LY/KA3SveFi?=
 =?us-ascii?Q?7LUlPoLV1a1QP/WcH/NtrKfUASxAGj7F6e9tnq6vm6z2JR/Is+r8G2LRk1LH?=
 =?us-ascii?Q?Xrc78g0tW0rjsL3kv56EnDjRCA4Qfn3DKiNPzkXEXqnt0jtxXa+ukLxkXMKs?=
 =?us-ascii?Q?nbw0h8pMGeBSlAGm+Zd8ruTnS8SBqTYFpFyBgoKxQ9e4WnW1PZ5tNLL3Gl03?=
 =?us-ascii?Q?nG3bgRqmpt0xBpV5JMVbhnr6Jj2DMwLWRQ9/aQPUO7U3Y8+t7cf1Mr7zcqnx?=
 =?us-ascii?Q?DJUtCCIwH2be4H9V4OowSMc84/Gl6BEZE9bzAALEdAeU8lqDdioMcVFvW99Y?=
 =?us-ascii?Q?NS8UBwDGDMecm2ftRzdEec62aoVz1wZgDTc7Rb8iqFGYDEDWnUyBIMCVn4qN?=
 =?us-ascii?Q?9FNUOC3v+kDCnjY99ht3IjwyDlnGJ1o1q1eevj2GGZ74mBxSAnZP2bLGXO1F?=
 =?us-ascii?Q?5MX+pyZjhhcmsPIYJ8FWdqd2Y13Syde5Q5s9H8xIvC95GML8fm1OJTwVVc73?=
 =?us-ascii?Q?nxfMYPhSxJP2S9STSJkFFKgTLOAxwVrEAtQJYOIPJcDe1o3ZJ0O6U8aAFr2a?=
 =?us-ascii?Q?RFdBZCxcNWWaun6osoAiTIU8RoYvlJrVIGBQkCwjU0SVn7SzCuFqbzmgbEG/?=
 =?us-ascii?Q?+zhZEUiyJgb1Xo5PDA6vhJrhCwfoWpicTL8jC9C6Wh3mpxVYiuftk82bfKfD?=
 =?us-ascii?Q?RhPq8cJRkqeJLSDUwpe0OdCtL6PFjxWTJ8ZvQvp/Pw9VQzCe8qrriCnrigla?=
 =?us-ascii?Q?Hh2QFdGMbAx4ZhhJmsM6ZX2XPSEvzYAx4J8OZv027EWnq23tbyA9kQhcLKQE?=
 =?us-ascii?Q?cB1/Q5/IAq93wFtH1+28R4XBM4eejZXgfYQKMQG0mxBXcNsvX8T1KjYmpCSD?=
 =?us-ascii?Q?jIgqDeTJM5ZPjHVEs3Acs+FMEq0p7IrxjthjwBKbZNIvh00xtwCTV/p7Y3pN?=
 =?us-ascii?Q?RHI+Z6NhFdbfu3cIBkAP3BHuff9XBTFa4SNf2uW7fOhLiHgl+Y90gMKyjuxi?=
 =?us-ascii?Q?DiDHPU87F1eOIrHugW9NBWbloB9/mst9YTsyTTBMWiex7tVhAFNPOcrzSV99?=
 =?us-ascii?Q?Bu1l96WqABApR+5GtwhlgashTcwbvJmP1eiv3Vv0Spxqhds1JcFFKckKZx8d?=
 =?us-ascii?Q?RYtoPNsxxpDB1xj2vywf+kXDxOuDIrCde5ErSrRAshdV8RVRLssxX+Y5Zaqo?=
 =?us-ascii?Q?c9Bk7WBJJVLiqzTvAX4UGA3Cz1MfH7nQXI4mRerIZGfswgupiDsCc+8CHxDo?=
 =?us-ascii?Q?6hIVzTi64KSPJk+oWPiSJ1lNw1Cg698jcMsaIH8Ih0K1bBDhSi2WK6c/fnmC?=
 =?us-ascii?Q?6GrZDueRLvdwyoTctbEk8xY2N+kfgiIp/gwWfBfRH4a538h10O/FGkKrrH/v?=
 =?us-ascii?Q?alFhdXC3KeE9/Bo/A4rFAOjpVWOdpNU20AWEvf9szrt6zCIDwD9SApfDh+nI?=
 =?us-ascii?Q?OBUgkD6k0kEcnsjHS7ZG/yno4+3mfN4P5GxfcfJbQLXRePy6ZZhKq4uekNgi?=
 =?us-ascii?Q?wHeNu9iqyv3PvDPuEMkXIMYlhOxb3cKVs2o+Q5Y1ywkTPYOt3P8uxdhOMGQW?=
 =?us-ascii?Q?KhGZdv4qMhj2cmeYXxdoHz50Eacertk4KDJjlai/LdNmsin6uS/8oy+Baepe?=
 =?us-ascii?Q?LmjtIPeyCbq91XlZhV2w6IZyyvGmpsO5+BNrgwdWy1ZPlrc5Js9gV/VG1CCP?=
 =?us-ascii?Q?oNoZWvfa41fSwzYmXsU1iAIxDB6E2uw=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 60a4eb8c-e0cd-40a7-3a10-08dec639f5f6
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8274.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 15:15:37.6724
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OsnLsqLI9L/SdLq5/ebs1Jna+DaB6yzfeVXVcFhAX5/bUvVGfXgQIVpQB+pP3e0aHoyd3iLrIVG+lpye3eRf4QcfUlnrXUgffE3bGJJ96OQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7523
X-purgate-ID: tlsNG-16d1c6/1781018140-8FD7AD75-06035F2D/0/0
X-purgate-type: clean
X-purgate-size: 1358

It does not have side effects and is protected from concurrent changes
by the P2M read lock therefore skip taking the domctl lock.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
---
 xen/arch/x86/domctl.c | 4 ++++
 xen/common/domctl.c   | 1 +
 2 files changed, 5 insertions(+)

diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 83bf51e498df..0e9a2532887e 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -301,6 +301,10 @@ long arch_do_domctl(
         /* Games to allow this code block to handle a compat guest. */
         void __user *guest_handle = domctl->u.getpageframeinfo3.array.p;
 
+        ret = xsm_domctl(XSM_OTHER, d, domctl);
+        if ( ret )
+            break;
+
         if ( unlikely(num > 1024) ||
              unlikely(num != domctl->u.getpageframeinfo3.num) )
         {
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index 3efa5b9d55b9..35144d95b808 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -555,6 +555,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
     case XEN_DOMCTL_gsi_permission:
     case XEN_DOMCTL_bind_pt_irq:
     case XEN_DOMCTL_unbind_pt_irq:
+    case XEN_DOMCTL_getpageframeinfo3:
         ret = arch_do_domctl(op, d, u_domctl);
         goto domctl_out_unlock_domonly;
 
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 15:15:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 15:15:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333495.1596527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWyBB-0007qb-T8; Tue, 09 Jun 2026 15:15:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333495.1596527; Tue, 09 Jun 2026 15: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 1wWyBB-0007qR-Q2; Tue, 09 Jun 2026 15:15:49 +0000
Received: by outflank-mailman (input) for mailman id 1333495;
 Tue, 09 Jun 2026 15:15:49 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <ross.lagerwall@citrix.com>) id 1wWyBB-0007pg-1R
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 15:15:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWyBA-008IjG-EG
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 17:15:48 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a282e17-e002-0a2a0a5209dd-0a2a450ba404-26
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:15:48 +0200
Received: from [52.101.46.25]
 (helo=CO1PR03CU002.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a282e21-212f-0a2a450b0019-34652e19d220-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:15:47 +0200
Received: from CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5)
 by LV3PR03MB7523.namprd03.prod.outlook.com (2603:10b6:408:196::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Tue, 9 Jun 2026
 15:15:41 +0000
Received: from CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096]) by CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096%7]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026
 15:15:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=AijrgETh7YXynvDy+vd+4/yH07MdrbKYNqGWLrgaI2u35j2MstYn+cbHXrDOBwgFGkgscbkedBDkDVGjNCsISVjcRUKq+SPzkARLRL4tenYLRPqMC6zbe2odHHbi8mKAk2YaNeB2BnOPkJ5ZPurwAkkr83nopobQjkquRCD8+lu0+L6PkGGcmhiNk52a6d9aVn5+MydgTwt/I/eZhYN5yZQTwhzAJmTRCeBoV4P+F1HmywQaFbuGTfRTrVrM5KAi+DznQUdXqtTdGXV58dtAfmXjzwbaNGUqlqGwwKjYueC+BuhzDlXx/xK5dd2qa3tUuvXj6FHyd9yLZM+ggaNtwQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nJ+6LjObK/SJhMLiKkSaCczGj1dUVZKr7QNXr8dj8dU=;
 b=lHcQTZRi4oL1Z+hQS6Y77fDOfZAaQWijG/SocescxpLWdKBqHT9Pq2meTjc0t2/6gLQze3tb4qFuGwlfKwNBpFmosA6tU5gsu3ziNGfR51M65YOKrf09z0aYnZ2fhvnNlTMEive2bt5TpieWGrC7WUmUSWqud0bW3GLLryNMdTPfVr+32haZ6s+exbt9AzU3KuCoSKrRrvBsxPuVcFPl0w0LYsK9VP3N1/h8whhWkYkIDunreSCwBFEeRn8OjL0rNSNFNY8a5JLONMkjrw1E2gJYKH9JWy1PpiiezQ9GkqEL9tVb4WT1BeLGlnH2TU3cnIDEQBwVUlUA7JTLgIKDlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nJ+6LjObK/SJhMLiKkSaCczGj1dUVZKr7QNXr8dj8dU=;
 b=ULG/ImJpkyIaUWZFXXwxE/uuh5NjrconYoI1s7JC4lRMvzwyBeMhFFdxc1a1PyGPTJVAiJfYj8uBp2O92iEF7B0KUsvk+mwC76mqtI3lLpHuA0iTBSLUiu1ruFh8G7FRxbfQgM0ayHLpjzNC01W5CAtNiuz1MYycPvECbo1CjOI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Ross Lagerwall <ross.lagerwall@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	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>
Subject: [PATCH v1 2/2] domctl: Handle some of XEN_DOMCTL_shadow_op without the domctl lock
Date: Tue,  9 Jun 2026 16:15:28 +0100
Message-ID: <20260609151528.2426788-3-ross.lagerwall@citrix.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
References: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO4P123CA0362.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18e::7) To CH8PR03MB8274.namprd03.prod.outlook.com
 (2603:10b6:610:2ba::5)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8274:EE_|LV3PR03MB7523:EE_
X-MS-Office365-Filtering-Correlation-Id: 23c9fb07-4e90-4a7f-eeb7-08dec639f827
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|22082099003|18002099003|11063799006|6133799003|56012099006;
X-Microsoft-Antispam-Message-Info:
	nHSdyoZt4jizpJcSyP77QZj6cKVpuYQFGvqg/LvzdJgVtsWJSl495/BfkNZAPYnVvD6qNnQfRWtvz52INjUftQWsRv2CLhWrdkreJyCJlOsMNxohtUihkCy8H5kqwsSyohbLfPbhg1gKxMgCfNRXLXC0w5uxp9OizkKyCexnGylBghaTNSjM4qoh8nNXYRkHNnLBCSUxj52c1/nwYnG/EuIUY8/IszH+TD2Ya67dvPuBecTDA4LpKRjKNP4fCvLRerdrjaVWmreBp8JHKMeIeUDAq8JGn+Pdo+z1XlOjvFSBNbETuEffPnUlylKXPeEMIUO6OYHcW4jty9Nj7gXbdbW0HJzMFqOWIMmWeODayvRPN8gTIA/14sC0AhFmQxKMJdpJbVjg5u55X3IwhdaJljImpK8KrxgbXXPpNbcrDqs74UaVr7lKBDO3tJN1KiwQu9CY+GbMOHhucKo6opYw0oI27ApySWbmlnmQ/PEtPy6A7GLbAFufMEZo1Z4+yDj7nWZ5MayqyGvVBpIuLretgg51OH8K+VMcatiC3VYdXm/bEQLbs5wJfNzfySd0udXc5D9jLsfVugCmkNx/07y8S91SyfzofbNFJak7OPSEpwsUK1ZpTql6f5JuATvn/sOq/46bvaJMylboWY381goeiTeiUtJDpyKV3tvwoxXO7EdSq6icqw/I7tKHPyUvySMk
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8274.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(22082099003)(18002099003)(11063799006)(6133799003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?Ehxi5M7+DWa763er9mCoTlM1UH1wv3rhVOr5QCdTchl9Hko1R1Y/iqP+xLqU?=
 =?us-ascii?Q?C1haJIDaxzdf3kqQNy4S4Y+l6T3TA7yW2+zHCuOr+dyfdrBMdTsamB4/uWYK?=
 =?us-ascii?Q?A992bS1B3OfWayKT1s+RUYlpZRnGr7cvO1hy/dqwXa8eRqWhfcoG23T09D9i?=
 =?us-ascii?Q?HebXP0wlJz/czc9LvZXzcQN9Ez75Ipe8jCf+TBfg+tVKE9monYpEhDJkj7WF?=
 =?us-ascii?Q?xCXGcXI91yFxh5qW+Q1oAKNbDpdOu0+AxrK4l9mb/FjcWgmqzf0Fg1RSOuVS?=
 =?us-ascii?Q?zJkXV9jcK92shXZHCXa4wM/onV9u9X3W7y747M1wz4GMGbZnPAOaTF0vTLzN?=
 =?us-ascii?Q?eU/M6pSrXTTZ85whiiXC3uQnXRbvT2+K1qpOFJh2Rk3O3AHAHGizkAISs+TD?=
 =?us-ascii?Q?Vq4CQ/mVgTMA0q4kzmHH5jvcXTVQSzF1LY4RCjF5A3aSRY22d0gDXvSjA0go?=
 =?us-ascii?Q?8PBo1hfijnWvPduNEtS2mTrkZnFQ10+oc87C1/DRQB2X4B4iYT3mgo8S19Jx?=
 =?us-ascii?Q?2/5Zsq3x10H8fqxoeD+Fh93+dLl30bKAhy8Bt3dtqHjNqMwIaASFK8h6Na/q?=
 =?us-ascii?Q?loFFuL8DxSO1nhKddP7SSOPr3ShJ6pT5W4oyQRA3B575g+49aUPQ+qCJVFFM?=
 =?us-ascii?Q?M1qPMo4MyWoT+oDSzH6zbVqc/KkzD0Bu/SVPe824ED0L9vwImCaGs+gY8d7f?=
 =?us-ascii?Q?qnEYyTThDnlP5eot2nkIQyAT/sPL8u6kWoqJ5wR9bTY0wCyNGg5gcBvVJWci?=
 =?us-ascii?Q?n06kIek1hlfpx6RzcgQC519ziV5rRi03fiJ3zF3NjOiAcJjnPWCAghaNZYIF?=
 =?us-ascii?Q?VCXDxmxKxglWk6H9f6xJC9sICEYka9rzWn1edRDG+JO4S19+M0wr6Fp832kd?=
 =?us-ascii?Q?eEX+tEHG1BxehsfJ9l2mi0fTe41ZPz1cj8BGqcWi9U235Os6fmRCep5y5saP?=
 =?us-ascii?Q?5a1jWn8hJG0SiaQL2/qFyiCeJs0umwtb9aNiPVkvk7v3pPv7kR4mADOybCLP?=
 =?us-ascii?Q?1gRd09lsuF1LMullq7Xa+b+LvRIuNdoZTKDbRTX/2Uxs72pPiXvKarCYlIEQ?=
 =?us-ascii?Q?RSl4vjn/40x9ZGH5+8l9m3bhbBaiHietOdRWQwRuOVlL1FTnfvvWQGF2Uc3o?=
 =?us-ascii?Q?sKW4ZdkvkRzn8unr+oTGLPZkF6nCbKoKgRWjXwsP/xJw909z2MNRZvQls5gB?=
 =?us-ascii?Q?w2dSJI8pqi8/aD743AuVyokrGnhGTSoiy3/g1d7RvHEaJg9lDVSUJexaObsR?=
 =?us-ascii?Q?MDCO4xAu2zJXW5/vJBNnx/8eadLMfxI2dFbrP+bx6BoIoVUzonp64F9jbdPD?=
 =?us-ascii?Q?L5EpHJNY6LJ6wQ0OPtGjw2hMnkQ2baivxGcETMo27rntz57hv4A3fupFG6nQ?=
 =?us-ascii?Q?EZug6emWyqvuSiqiaf4l4/++jaetjiggfBcJQKw/SWZoU9btzoZ618QHfGum?=
 =?us-ascii?Q?sSMGQvaOw9CinRmk5HV3827BFmQnzGPLKtUYI223xj3Y4++vLm251BBWbXdz?=
 =?us-ascii?Q?SWRrCywCqEvvHsG5ga39RrawkxsaF0lYy+6jml1GAft9IneNUwEFzpoZ/+09?=
 =?us-ascii?Q?uVhyVlNOd6pjNV1/KcThtFqVmmyonN7pX8ZJQt6R8o/+/7onbErrmMgMkz13?=
 =?us-ascii?Q?E5/Y8PHbMJnql8soCFWnXRUVuEifNa9RqESr6POverg6PkFAUDv1HtFMOs4D?=
 =?us-ascii?Q?mQfsCrM99QbklMg29EdOs5T+HCWA1bRogMEG9un+umTo/Fmn8/qi8yLpMums?=
 =?us-ascii?Q?7HFXq6CJ8q1uc/SLiuoctBMUzmV4/8Y=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 23c9fb07-4e90-4a7f-eeb7-08dec639f827
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8274.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 15:15:41.2721
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DAHsoZ1cPROLVAtuiXf/kKTMWl2kalWIWYVj9oSdLy7EeYkRxIlG8IWNg0tqu0I0gOi/iGvfpByOtLShRHwPtLsHTsWWX1VcC88qm3corXA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7523
X-purgate-ID: tlsNG-42698a/1781018147-18B60F3B-565615C9/0/0
X-purgate-type: clean
X-purgate-size: 3010

Handle XEN_DOMCTL_SHADOW_OP_{CLEAN,PEEK} without taking the domctl lock.
This is safe because for these subops, the paging lock is mostly held
which prevents it from operating concurrently on the same domain. There
are some parts that are called without the paging lock held:

* hvm_mapped_guest_frames_mark_dirty() - The function itself takes a
  spinlock so is protected from concurrent calls. In any case, it will
  mark all the pages dirty as required.

* domain_pause() - The toolstack cannot unpause the domain while in
  paging_log_dirty_op() because the toolstack's pause/unpause ops have
  a separate ref count.

* p2m_flush_hardware_cached_dirty() - This is called elsewhere without
  the domctl lock held so holding it wouldn't achieve anything. It
  should be fine as long as it is called at least once.

* log_dirty.ops->clean() - If the callback is hap_clean_dirty_bitmap(),
  then it will hold the p2m lock while modifying the table. If the
  callback is sh_clean_dirty_bitmap(), it will hold the paging lock
  while modifying the table. In both cases, this is OK.

* domain_unpause() - Same as the earlier domain_pause().

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
---
 xen/arch/x86/mm/paging.c |  8 ++++++--
 xen/common/domctl.c      | 12 ++++++++++++
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
index 1a5822808620..bfb5b423a0dd 100644
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -746,11 +746,15 @@ long do_paging_domctl_cont(
     ret = xsm_domctl(XSM_OTHER, d, &op);
     if ( !ret )
     {
-        if ( domctl_lock_acquire() )
+        bool lock = !(op.u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_CLEAN ||
+                      op.u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_PEEK);
+
+        if ( !lock || domctl_lock_acquire() )
         {
             ret = paging_domctl(d, &op.u.shadow_op, u_domctl, 1);
 
-            domctl_lock_release();
+            if ( lock )
+                domctl_lock_release();
         }
         else
             ret = -ERESTART;
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index 35144d95b808..a3888c4e87d4 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -559,6 +559,18 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
         ret = arch_do_domctl(op, d, u_domctl);
         goto domctl_out_unlock_domonly;
 
+    case XEN_DOMCTL_shadow_op:
+        if ( op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_CLEAN ||
+             op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_PEEK )
+        {
+            ret = xsm_domctl(XSM_OTHER, d, op);
+            if ( ret )
+                goto domctl_out_unlock_domonly;
+
+            ret = arch_do_domctl(op, d, u_domctl);
+            goto domctl_out_unlock_domonly;
+        }
+        fallthrough;
     default:
         /* Everything else handled further down. */
         break;
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 15:44:35 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 15:44:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333569.1596665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWyd1-0007sj-Ko; Tue, 09 Jun 2026 15:44:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333569.1596665; Tue, 09 Jun 2026 15:44:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWyd1-0007sc-IB; Tue, 09 Jun 2026 15:44:35 +0000
Received: by outflank-mailman (input) for mailman id 1333569;
 Tue, 09 Jun 2026 15:44:34 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wWyd0-0007s0-5n
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 15:44:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWycz-004x8p-Ie
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 17:44:33 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a2834df-e002-0a2a0a5209dd-0a2a450bb8ae-6
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:44:33 +0200
Received: from [52.101.62.70]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a2834df-212f-0a2a450b0019-34653e465aa2-4
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:44:33 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by CH7PR03MB7785.namprd03.prod.outlook.com (2603:10b6:610:24f::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Tue, 9 Jun 2026
 15:44:30 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0113.011; Tue, 9 Jun 2026
 15:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=XKFy9O8XztXGAiR8C/zCBA26YZmXdkLRrTaQDPzB6vO6HMxdHBcjkLeHQbDGjBEBwuF6hj3qNjTaYT13ofNflT1ndBPxaksJGQBK4uVfNtSx1exWGL8QC8uTFQsGgtyB8u1KT9awKD7eUeWvfUqVCv/AYuLSScm41kz85Mu/83OjsTwzleaCwlgMCh/nbtVeN45BhjZ3WQRAqZYn74q+kRAmWxNbxb12p7o45YBxcbU4yvXjY76KGzoA2/6br4w3OUJL7RgoF1cgSEoig03e8v2cQ2zh1SPkhXYbjC2m94NwfJCohD/SsxgStqT+hCn/LxYZXs/9ISvwZ6qnbLG9cg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Bzc1oPu1NL/usio0KuZ5ijXQQ8zkcN2uEf2vo0rgkT0=;
 b=ghwGPqdlAOT77Z/z5uFyTphQnfpzILgbTimb6jqO1pi7DNjqu0oZAH0Ts4KJw4COUUDbXJ/YTwB7+MvV2qcZ3m8+gCwkUhGUQMUoBk/jQfld06nSXddx5kg7jwn1G3+EfvbS8YSVYLU+FDeBmWfePTqGoxvC1FVcOrh1YcEDYKdgshixRzHPZo6qiqlZ7YYCIz3SUKe5Aa7bS3zgxNdz0mYhFB+l+dz6z/0EhDbToxqnp9bU5TTADI43id5RIkVGNpT2s32R4sCHUP6i2WzLZl/l8zX43zAycs76xe+SxrizeLEQIHcYZPgOs0hFYjkQ3QvUX50iPPzCDEEa8ZcXUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Bzc1oPu1NL/usio0KuZ5ijXQQ8zkcN2uEf2vo0rgkT0=;
 b=ffFlcgVZQfdyMCFxLNww30rQxWPyYjz1y9QK+IZFPTxjgnsEQs5jD6H2NSJg2aO/gugblwnCdPkyrExXyoRBMCQnsWq+YMollP1N0OEtCll1UGCD5neaqrXc9SDcl//vEs4qCBifk1wMgddl2hpC/qEvnWGrADiDpa/bmY2pFD0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Kevin Lampis <kevin.lampis@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Kevin Lampis <klampis@citrix.com>
Subject: [PATCH 1/7] x86/kexec: add digest checks
Date: Tue,  9 Jun 2026 16:45:12 +0100
Message-ID: <20260609154518.779757-2-kevin.lampis@citrix.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260609154518.779757-1-kevin.lampis@citrix.com>
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO4P265CA0124.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c6::14) To BY1PR03MB7996.namprd03.prod.outlook.com
 (2603:10b6:a03:5b2::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PR03MB7996:EE_|CH7PR03MB7785:EE_
X-MS-Office365-Filtering-Correlation-Id: 8b147230-7207-4e6c-9906-08dec63dfda6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|18002099003|22082099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	pGo67S51EMGohECkz6pIf5d/paawaz+NTpjUMbeyyTYifXUb1/IZ0wy5TEmkYjN+c6Cu0/h9cGC+pzcHAwr4zbvZY9OKN4NSvscsb96WXVMk7MJqmy3kB/lRecGdAumyDjseK6ibJFJvgTeJ1gNEkL8++rVF0xjQCVqjUkY6addTZAjJv9gwtL2adoTlTMY+4biATz5XdrSCNMBxtW6NF/PSgEpEqCkfIYig3sjkkqXcH0gd+0l2SmpbBwoYZOKCiIMvCTuetPMC6ERCss6ql5nk3eP443Yan49AMF0NFG8t9F3lQZlvm2lTMLz9pVyq26oVgfmeMp5trjOcbR0BszXzluJVh1ntkyJxADzTH8PSc1ieutsflCCpd/r401CqkUo1aHfqDVz5eKRYzVJKuGgup4GSyAb5QVXl5YKv5lPaGAR3z8c/PEO+9mgcsUoQfGJJPjos8rsXbYD3+tN31UgjDtKR9UWr+rNZ0BLgGvDXYTnoPn2BXp/8BxBfm3cWoAPJOV8CcutKbE6t/jLDXfD6VP8lt0Kg6Sm2ACdYvmJKCgBR4SWhJL/0nvF09TxNkwu13V3PHvWNLq8X1hmtkcp4DdKyPJADckI3WhKKnc2ChqvPNxcbqv9wCZZt/Ssoqw0akBvV6Bc3tZZW7algdxyr4evNsv8KNP5kMN7EwgrgpXun1SYNlCroXeTiX/pn
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(18002099003)(22082099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?A8IVL2m6eWDFcEl+wdwi9w/7IVk3UtrLGVpbToPvDFXd3lkFg09s4uO97ypf?=
 =?us-ascii?Q?JxYNtpn7arzz8liSTmsutoyEzNjnVB9nzgm7gNXBiuA6J8HhcP+AiGovsP8o?=
 =?us-ascii?Q?SpV+UGhAZ7lS2vOBahDw3SyMte2gsfwDIh3igr7Bk5Q4unEY9Gg8PGaUT+WZ?=
 =?us-ascii?Q?Kh3PW1z6UCxKEatTU2YhJXt0u6/E5XWEGCAwzTdPTeLz384mTE+ExaOuyfv+?=
 =?us-ascii?Q?BwRWUpN3pdBeF7OaYOFhBeBOM1DwGq5D1MlKPjNTDltbLpSch9pIZx+cQJsm?=
 =?us-ascii?Q?A4sND+I7btxyWReIinx7Jv3BRqw3wLJk52XQF/EpOl9vRBFQxhI1YZUJuFXv?=
 =?us-ascii?Q?uVAhmbUwBC1GWwRh/OibJmczpehHhuGmOAR41onvqiOhrzhLzPlxqXq0y6Eq?=
 =?us-ascii?Q?LQc3lSeHqT+cPAyW3ItluHRFRCsfzzGXS4ME6MVkJDx4WNTmEOvEMVgSn4f1?=
 =?us-ascii?Q?slgfLjtqCne6Io6GjlL6vsaz4Sjl60flLeBlRODo4UGrYmUwgb56eBBjH0P4?=
 =?us-ascii?Q?EYrAnw7zyEDIfCT53+laiyy1UCPiUuZ9/BBePWbdZP/NOC//acLpq/D9BCh+?=
 =?us-ascii?Q?chhOLNlRj8Ck72XTcCiGoYVcQ4PJghqcWTO5Y0NEEFiI7Vsq78eqyxGr0ZzF?=
 =?us-ascii?Q?aVeSbG5XvPTqYjsycBySwjjvJe3mJmOxHwEeO7LAnN6IQgp/Ow9tzvRGWGjx?=
 =?us-ascii?Q?2Jf3Ru8w5Lgd40MXNaXXurHqUYFGaW6bfrK1IFm6W+JLGx5PRuZwuom9AKGb?=
 =?us-ascii?Q?F7423KcI1JG5DmXiUkWbOuDmiICGS2EmZfhZPuEFdWcc3/hLxhajc3nAJnDi?=
 =?us-ascii?Q?AofB6kMIm0PuUpNhbsL4zCK/Ac4OtODcLEZaxsSBlRoxlvpOk2ZBkHGFflf2?=
 =?us-ascii?Q?SIESgJ9VTLDMCIyK/iOLmn9AjsDqjRudd5SloO3FUo/G75tuKBNrahwt1Z+C?=
 =?us-ascii?Q?SAGy8Q62lc8gT4cTzRE3tqIav5Dz8t5lA6BoeMGwHMoe/nhRQxnKN3Xt3659?=
 =?us-ascii?Q?la8nwGO3QD9/TLVH7s7ONQkFHDaDdIgGPmaLazSlHpmXPxgHNN46l6tlb1P8?=
 =?us-ascii?Q?0WY5Spr67ZUQxEYeLSwGRJelIN8DprNV9kQzqaq07Rre8yEukCr7bNCFflnF?=
 =?us-ascii?Q?FDyjDmdAlcE13B3ERJlMxn5W/lYFKhluJ8OTzEm4KlGf5mIf8ArQ3BRjYWlD?=
 =?us-ascii?Q?Bo3cs5d/S0lrRWfC66/eYH4OE0J1rx0cnisSaOmAaLWbGUjpiKk4jZfHhuiX?=
 =?us-ascii?Q?K5c0NoWt8OdlqTAXNdavT7P/SBc98CtnPJqn8o+CmGxbHdFdAaN4C44X5CC1?=
 =?us-ascii?Q?obziI5TvuefwvWvjd7sem54nI6f8vBR+BHvuCGMTlAyloeSQWtI1g0w5QewL?=
 =?us-ascii?Q?QCusVYaClhi55SohgI94AoeIP2DWwkzpxwmfvK9w++HWiBoB2cvQwfBYVb07?=
 =?us-ascii?Q?xpM15iLmVP6UhQ72yNazB3VK+uWgkd/gziB76vvsMAyUZeLfc9TciT/mSfJY?=
 =?us-ascii?Q?MzIjNjSADim1wuyn6Bf84BQLeAIV3/X/QS+ci15HZ28K0D6swmGuFihT8baf?=
 =?us-ascii?Q?wVsrfQj3JTZQrx6acM9Uuu9+9evfWG0dZMBjRhYzBVD8DkZ2PkU02Gnnt470?=
 =?us-ascii?Q?/+A9ZwRLvyLyWk7MHGhcHY2VfeZ4Av4p0VDGb0AnqiMRSEhKmtDnE0aFYlOd?=
 =?us-ascii?Q?x0PqMHgLawgVxfmsPsos/yK5WWXoot9K1kcVqJ40H+VoLYMqdPLs4etRb6Un?=
 =?us-ascii?Q?N+FBrAi38Q=3D=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b147230-7207-4e6c-9906-08dec63dfda6
X-MS-Exchange-CrossTenant-AuthSource: BY1PR03MB7996.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 15:44:29.8994
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4ubGG8shG/XILmEBvcDgkriGt87H61seWvMCLtSF67nNG4r3E21Bxpbwd9mz94r8/esSxOBoveKKsYYGjn6THg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH7PR03MB7785
X-purgate-ID: tlsNG-42698a/1781019873-1B979F3B-A420759C/0/0
X-purgate-type: clean
X-purgate-size: 5961

From: Ross Lagerwall <ross.lagerwall@citrix.com>

During kexec load a sha256 digest is calculated of all the kexec
segments combined. This digest is stored and verified again during kexec
execution.

This is a requirement for Secure Boot to ensure that kexec data has not
been tampered with or corrupted between signature verification and
actual execution.

Only kexec crash is supported. The segments for normal kexec are stored
in temporary buffers and moved to their intended destination during
execution. To calculate/verify the normal kexec data before relocation
would involve walking the relocation table to find every temporary
buffer which was out of scope for Secure Boot work.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Signed-off-by: Kevin Lampis <klampis@citrix.com>

---
 xen/common/kexec.c       | 10 ++++
 xen/common/kimage.c      | 98 ++++++++++++++++++++++++++++++++++++++++
 xen/include/xen/kimage.h |  6 +++
 3 files changed, 114 insertions(+)

diff --git a/xen/common/kexec.c b/xen/common/kexec.c
index 65776a95fd..c920bc6d8a 100644
--- a/xen/common/kexec.c
+++ b/xen/common/kexec.c
@@ -383,6 +383,12 @@ void kexec_crash(enum crash_reason reason)
     if ( !test_bit(KEXEC_IMAGE_CRASH_BASE + pos, &kexec_flags) )
         return;
 
+    if ( kimage_verify_digest(kexec_image[KEXEC_IMAGE_CRASH_BASE + pos]) != 0 )
+    {
+        printk(XENLOG_ERR "kexec digest failed, won't boot corrupted image\n");
+        return;
+    }
+
     kexecing = true;
 
     if ( kexec_common_shutdown() != 0 )
@@ -1132,6 +1138,10 @@ static int kexec_load(XEN_GUEST_HANDLE_PARAM(void) uarg)
     if ( ret < 0 )
         goto error;
 
+    ret = kimage_calc_digest(kimage, kimage->digest);
+    if ( ret )
+        return ret;
+
     ret = kexec_load_slot(kimage);
     if ( ret < 0 )
         goto error;
diff --git a/xen/common/kimage.c b/xen/common/kimage.c
index 6202491f7e..018ef66451 100644
--- a/xen/common/kimage.c
+++ b/xen/common/kimage.c
@@ -20,9 +20,12 @@
 #include <xen/mm.h>
 #include <xen/kexec.h>
 #include <xen/kimage.h>
+#include <xen/sha2.h>
 
 #include <asm/page.h>
 
+#define KIMAGE_SHA256_REGIONS 16
+
 /*
  * When kexec transitions to the new kernel there is a one-to-one
  * mapping between physical and virtual addresses.  On processors
@@ -820,6 +823,101 @@ int kimage_alloc(struct kexec_image **rimage, uint8_t type, uint16_t arch,
     return result;
 }
 
+static int kimage_calc_one_digest(struct sha2_256_state *ctx,
+                                  xen_kexec_segment_t *segment)
+{
+    paddr_t dest;
+    unsigned long sbytes;
+    int ret = 0;
+
+    sbytes = segment->buf_size;
+    dest = segment->dest_maddr;
+
+    while ( sbytes )
+    {
+        unsigned long dest_mfn;
+        void *dest_va;
+        size_t schunk, dchunk;
+
+        dest_mfn = dest >> PAGE_SHIFT;
+
+        dchunk = PAGE_SIZE;
+        schunk = min(dchunk, sbytes);
+
+        dest_va = map_domain_page(_mfn(dest_mfn));
+        if ( !dest_va )
+            return -EINVAL;
+
+        sha2_256_update(ctx, dest_va, schunk);
+
+        unmap_domain_page(dest_va);
+        if ( ret )
+            return -EFAULT;
+
+        sbytes -= schunk;
+        dest += dchunk;
+    }
+    return 0;
+}
+
+int kimage_calc_digest(const struct kexec_image *image,
+                       uint8_t digest[SHA2_256_DIGEST_SIZE])
+{
+    int ret;
+    struct sha2_256_state ctx;
+    unsigned int s;
+
+    if ( image->type == KEXEC_TYPE_DEFAULT )
+    {
+        /* TODO implement digest calculation for normal kexec */
+        return 0;
+    }
+
+    if ( image->nr_segments > KIMAGE_SHA256_REGIONS )
+    {
+        dprintk(XENLOG_DEBUG, "More segments than allocated SHA256 regions\n");
+        return -E2BIG;
+    }
+
+
+    sha2_256_init(&ctx);
+
+    for ( s = 0; s < image->nr_segments; s++ ) {
+        ret = kimage_calc_one_digest(&ctx, &image->segments[s]);
+        if ( ret )
+            return ret;
+    }
+
+    sha2_256_final(&ctx, digest);
+    return 0;
+}
+
+int kimage_verify_digest(const struct kexec_image *image)
+{
+    uint8_t digest[SHA2_256_DIGEST_SIZE];
+    int ret;
+
+    if ( image->type == KEXEC_TYPE_DEFAULT )
+    {
+        /* TODO implement digest check for normal kexec */
+        return 0;
+    }
+
+    ret = kimage_calc_digest(image, digest);
+    if ( ret )
+        return ret;
+
+    if ( memcmp(digest, image->digest, sizeof(digest)) != 0 )
+    {
+        printk(XENLOG_ERR "kexec digest failed expected %*phN but got %*phN\n",
+               SHA2_256_DIGEST_SIZE, image->digest,
+               SHA2_256_DIGEST_SIZE, digest);
+        return 1;
+    }
+
+    return 0;
+}
+
 int kimage_load_segments(struct kexec_image *image)
 {
     int s;
diff --git a/xen/include/xen/kimage.h b/xen/include/xen/kimage.h
index fccba1d88d..ad52551ba2 100644
--- a/xen/include/xen/kimage.h
+++ b/xen/include/xen/kimage.h
@@ -11,6 +11,7 @@
 
 #include <xen/list.h>
 #include <xen/mm.h>
+#include <xen/sha2.h>
 #include <public/kexec.h>
 
 #define KEXEC_SEGMENT_MAX 16
@@ -37,6 +38,8 @@ struct kexec_image {
 
     /* Address of next control page to allocate for crash kernels. */
     paddr_t next_crash_page;
+
+    uint8_t digest[SHA2_256_DIGEST_SIZE];
 };
 
 int kimage_alloc(struct kexec_image **rimage, uint8_t type, uint16_t arch,
@@ -52,6 +55,9 @@ mfn_t kimage_entry_mfn(kimage_entry_t *entry, bool compat);
 unsigned long kimage_entry_ind(kimage_entry_t *entry, bool compat);
 int kimage_build_ind(struct kexec_image *image, mfn_t ind_mfn,
                      bool compat);
+int kimage_verify_digest(const struct kexec_image *image);
+int kimage_calc_digest(const struct kexec_image *image,
+                       uint8_t digest[SHA2_256_DIGEST_SIZE]);
 
 #endif /* __ASSEMBLER__ */
 
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 15:44:35 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 15:44:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333566.1596656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWycr-0007dw-EK; Tue, 09 Jun 2026 15:44:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333566.1596656; Tue, 09 Jun 2026 15: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 1wWycr-0007dp-BT; Tue, 09 Jun 2026 15:44:25 +0000
Received: by outflank-mailman (input) for mailman id 1333566;
 Tue, 09 Jun 2026 15:44:24 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wWycq-0007dj-1M
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 15:44:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWycp-006Yeq-7E
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 17:44:23 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a2834b0-2eae-0a2a0a5409dd-0a2a450bebda-36
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:44:23 +0200
Received: from [40.93.195.71]
 (helo=SN4PR2101CU001.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a2834d5-212f-0a2a450b0019-285dc3473267-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:44:22 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by CH7PR03MB7785.namprd03.prod.outlook.com (2603:10b6:610:24f::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Tue, 9 Jun 2026
 15:44:19 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0113.011; Tue, 9 Jun 2026
 15:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=e4x4V4aHBbvqb530XTcsuAK2eaEn6sb5WF6Gz+elxNeWUArv+b5kP5BOVEOnV/R50qjDx+9TJ9UIemIMOiVaiiX5jIh9fALlmNYp2FkGm8Kz8Gm+wl3RXokbhB6CneOF+bEhky5uF7oNefRgVGQNGfeyQY7PoApG399uF5jhHfxZjeLaTBKs2KexhtwQw3S9UubbyPPgvdiUbLHodkweCXWqW6XrA0BFvG+4d07X/JTJk5pHFt0NQAxwuhBPOevhJ8lDw8SvSrLU8tNevKS5OgS+5dav4sGG7eVw7tm0TvPErLZL2EcuZ0DK/nvBbbcSaazNgMaNizgzXYAmX/Bu9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eRrdUcuadOfoHibR0ucukc4XtiXuGrxKG+qQVPAVGt0=;
 b=UKOP33xvGXAXDWeFmAueO6nEE6jR8BYG7HosEHG0i4eQtPyLNYOkBO6YIDgvx/ir+7d61Ia1334NecqRbMHw45wnBYel43bX+XDUOSwbAx5e8gzbd7EuOmaVqouhWrN+Cmu3yYDnAUc7EUB9DzDjIPAbJyUBYUE11AM8/mcmeLUZb2Asbj09ApRIXa0X3JWKnLiw66bSIk1Q468x3GxNGZCVCjH+ogRkwA6gUMGEqzrlX+ooc/RGWfeSP7kKZpYUoL6fVQc/ioESb9Q01g2kopNvkNiT/LMwZXIIA/g7px87jtTaD+JARtqI41FNigxs3JRADq2rh+4nbDyJ4PNaBw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eRrdUcuadOfoHibR0ucukc4XtiXuGrxKG+qQVPAVGt0=;
 b=nAfNXfqLJoU1ZV40RYiX1LQr0DNY9TLW8z3lyoG8E6cBA1Cu3GmwzFhfUpMezZM737tkqIPPFYPkH5V8Byz+6rb32uLg1OlXqDe5i+itoGWIrW3aXfdFA0EKpqmriq0MvVwfa+O+jzoQ4EKvh+PlS4waGW0N6GTVDd2kwUbHNrY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Kevin Lampis <kevin.lampis@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Kevin Lampis <kevin.lampis@citrix.com>
Subject: [PATCH v2 0/7] x86/kexec: Secure Boot support
Date: Tue,  9 Jun 2026 16:45:11 +0100
Message-ID: <20260609154518.779757-1-kevin.lampis@citrix.com>
X-Mailer: git-send-email 2.52.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO4P123CA0400.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:189::9) To DS1PR03MB7992.namprd03.prod.outlook.com
 (2603:10b6:8:21b::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PR03MB7996:EE_|CH7PR03MB7785:EE_
X-MS-Office365-Filtering-Correlation-Id: 21a85d90-6486-4bca-b1d5-08dec63df69a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	VE8kvUIrecOq8o2aAl/QnLDiRbU3wVKsvghlUE+gmYjD058KwtOnte5qCRXVuw5NZGE2J9RhJWjJylkefgUwmARgLU797+GeParpaMOG9bVwhojfnKKItPIM/frOsnkFtuiRaHG3brG6mYgmp8Flfjj2KNxt0fmsdQmvjYI/BROxJJ9KZ3+PqndBLJMK9y+lO6AT6jHu6VVT5KGsngRkGJXx7W7Lo9qSbiu10Y0X6gXaHl/1P90z3npwvEwSPnoZrOwxr5poB6pBl+3FUcqNbucIPYPBgC7/W727S3FsvdKynTzTDNw+skNEAy1oOngZxshEILnYNd0z8QCDmcYJJ1oL+a2ZSU+RrYJGPlGjqtUdTzuTmYnPgzvA/3cbZwRlwSvzvjGKrPpmyT88d71iQUTBHJaaU86Cc7g771d0eC7Qifour5HY14qPi+hYNm7z4BNcXMP5zX6Z1aWbHntcBPtKbROXs6dwLcCl1K1O9xg299obbPcZmAxDVIBT3bry/TKdl1WsYwwlUQnpZiwhQhIPnr6S9ymOnNt71fesfUs0YG1ya+p5aRwFl7R5hk5IvYAW/6sFrDlkfdbsr06MmJUWl53Opmqm71CXzzJOoEbwrBqLAE9nRB45/lvrN4WZoFzs9+vmULg8uGOSd8sH+fWGBbJw4Y+KKzSPCu20RCGsvhBNgrshNZ0ObMmuGiluwi70eWKHLJhx6L5plHNidg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?bUzBPo/2TX1SNnY5j6JDs8G/76YAfu2D/lVL4caSB/V4hJxR2+a4nfCKj5q7?=
 =?us-ascii?Q?JLTvxYxSTcilCO8qTOYEYqO/9JxmP93bawkNKBd+flMj9sy1ckvm/hYK2T8m?=
 =?us-ascii?Q?owgTFKuz2pe/hF11HG0kW9ZHKIK0iSFfSQJAvZWSnin+54SbJ0srfL0YhBgU?=
 =?us-ascii?Q?3BQXWiH919k0vuYtmToiPbqtp7ZlggJrrVxQMsT85J0ULU+/i6ul6tBcfBZL?=
 =?us-ascii?Q?KqY7yCecbXD6IvSLHvXvBFvJjfBkuG3ef/gIJdMgVcRdALhylVxa0HhnN0zI?=
 =?us-ascii?Q?j9DMyike2VOB8uFKR0snAxCdnYnc/+MePwz5MQC3u7zhDXfwgwzvu5EeCstP?=
 =?us-ascii?Q?6WmCC9Ur3h6ew6y6LHekBz7ZNzdn7Io3KNQJ1nI+ZKTXDGk5uiW2Lb8z+XEk?=
 =?us-ascii?Q?XBqAJGdPaBsAmC07ZInWyBOwEmIfLJP1Qv/BEymvSYpyyeuds4hOnAP2GoYf?=
 =?us-ascii?Q?3XOI5G65zBGII8nCcV8YgL3XCYDjhSx+bdoX03BbiVa48/SJk4Ls2gOYLxeV?=
 =?us-ascii?Q?EiynosH+HzYitmTBn6idGcDM1YqNo44N7xcWTMy8dWpNFTHEE7brWHke3JoL?=
 =?us-ascii?Q?KFGyADF1AtiGZxnyOe/vdaE/wJ4RoEJ0JGM1LmwKvCsmM6LwFlOP5v8QfIa+?=
 =?us-ascii?Q?ZiSXxuoQakPj/hb4N2cu/i/wLjYpDR1dF4my838eCIm/ZQpACcxjqJ2Flucx?=
 =?us-ascii?Q?5FMZjcSSOgXqc2pOJiLkGc96WguzmNWgzBCNhHPH1IjJQrJONmnSVvHzmoCY?=
 =?us-ascii?Q?O7wm9PmofVYRPOpFc6wldi4+3ohIchu2kng6KdBK4/4WncTVNMPj9x5oIO45?=
 =?us-ascii?Q?yEKeDjgbDpw0xpA2fxXfXwR0QcbEhr68ceq4i5iKYlmifaH0bdbsfjwu66Rb?=
 =?us-ascii?Q?bdHHXKBvtWLnpVpD97upEePudVDNgWko37T9OMzWih32NjzDJ+H3M545FmQm?=
 =?us-ascii?Q?PUqIhXGhZFoplZHatsndkndShmwOx4eIM33/lZaM/Aljac5BmtFQ5WpWbYtU?=
 =?us-ascii?Q?kh0RhEgcLrkiFoIWriX0gfGEi48r33ECIBFvlKoBGgUv2CPaBwjpJ+WDPXRk?=
 =?us-ascii?Q?2/JY2anE3yYzcwuG/WGJsWePUsffeIgfFe1EazlQBiz/sFsgHq78xwo/kU2C?=
 =?us-ascii?Q?+zCiQX6zjGuixiy/8TUcXQYSRe6AHz947Ozhqky04FEWH1oyyjnWVUWcF4e4?=
 =?us-ascii?Q?/6dF7SQkA6bSMoBoEFGXeBkBooNfN7WNRuYxtGgs3/I3ylYqJcvgn75cKCSr?=
 =?us-ascii?Q?nkIpwIDdkp1QK1h0PXm2zfe8n1v8Vyu1H9kjh/KahDhgl+OLE+/3jHrpElQk?=
 =?us-ascii?Q?4qlV2116nJAq/vFt8J7+gqeJ/K2EOl78f/IvtjfyQUSe95LqulKezlMZWZih?=
 =?us-ascii?Q?YbWfKCSk98tsYAdp9NfJ+Tkg5Mbhm//r275CdsOo8k3oOFDQMDSD1TMLFlmb?=
 =?us-ascii?Q?S+ywrIIuLu6nAbE2rHQRZWXHlPDFzNiGHiGxLRBwpU9yGknu7YAI0anyU5vm?=
 =?us-ascii?Q?7xAIBKgpGymBDlbTkQ40/bGIGcILkope3OkojuWKiIJ0WKRHu1/xJoxw3o+1?=
 =?us-ascii?Q?HJGHFCahuFtUrxFdKx+9yIlKamXw5E+pJiR96+B8MpKSPprmJKocFEsXWyWu?=
 =?us-ascii?Q?nhV1vM1X0GoNUUwWH7+cBcHRTrG+4jkx0J5fgnwMlruy2zCTMyE1cLFKhVbE?=
 =?us-ascii?Q?OPKcaxhd3Q+heC01ZckenM/fxjDwQm1g8HYXBNgscZvCjrj3ZsOQo4u/QREU?=
 =?us-ascii?Q?J9aN0JtBVw=3D=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 21a85d90-6486-4bca-b1d5-08dec63df69a
X-MS-Exchange-CrossTenant-AuthSource: DS1PR03MB7992.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 15:44:18.7240
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: J3iJ5AF5HGbL9s1GS30JMSv1jeLB28IlmDv+evwy+gUT1Zuze4yzbASOOa7d/gpL+6DKRC87MPVzOlVIBSU7Lg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH7PR03MB7785
X-purgate-ID: tlsNG-42698a/1781019863-18F66F3B-CF9DC29E/0/0
X-purgate-type: clean
X-purgate-size: 2402

These changes allow loading and booting an EFI kexec crash kernel.

For this new EFI kexec type, userspace won't provide purgatory code.
Instead Xen jumps directly to the new kernel.

Signature validation is done by the dom0 kernel. Xen then calculates a
digest for all the segments stored in memory. This digest is verified
again during execution. This digest check obviates the need for Xen to
verify Secure Boot signatures directly.

Link to v1: (I should have changed the title and/or version sorry)
https://lore.kernel.org/xen-devel/20260602164911.2684471-1-kevin.lampis@citrix.com/

Changes in v2:
- Removed dependency on lockdown mode
- Split work into multiple patches
- Move setup_header to appropriate header file bzimage.h
- Renamed setup_header to less generic name bzimage_header
- I couldn't find a way to use the EFI header instead of setup_header
- Extend digest check to non-EFI crash type
- Do digest check earlier for cleaner failure path
- Print expected vs actual digest on failure
- Swap xen_kexec_segment_t to struct kimage_segment in separate patch
- Plumb boot params into assembly code in separate patch
- Rename rsi parameter to arg
- Remove references to "EFI" in boot params assembly code
- Move %rsi assignment earlier so it is valid for the 32bit path too
- Zero general purpose registers in separate patch
- Zero 32bit version of GPRs for performance and correctness
- Zero GPRs on 32bit kexec path too

Ross Lagerwall (5):
  x86/kexec: add digest checks
  x86/kexec: rename setup_header to bzimage_header
  x86/kexec: add new struct kimage_segment
  x86/kexec: Support non-page-aligned kexec segments
  x86/kexec: Implement new EFI load types

Kevin Lampis (2):
  x86/kexec: Pass boot params directly to new kernel
  x86/kexec: Zero general purpose registers

 xen/arch/x86/bzimage.c                   |  47 +---
 xen/arch/x86/include/asm/bzimage.h       |  44 ++++
 xen/arch/x86/include/asm/machine_kexec.h |   2 +-
 xen/arch/x86/machine_kexec.c             |   3 +-
 xen/arch/x86/x86_64/kexec_reloc.S        |  24 ++
 xen/common/kexec.c                       |  42 +++-
 xen/common/kimage.c                      | 268 +++++++++++++++++++----
 xen/include/public/kexec.h               |  11 +-
 xen/include/xen/kimage.h                 |  23 +-
 9 files changed, 363 insertions(+), 101 deletions(-)

-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 15:44:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 15:44:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333570.1596675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWydC-0008DF-Tm; Tue, 09 Jun 2026 15:44:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333570.1596675; Tue, 09 Jun 2026 15:44: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 1wWydC-0008D7-Pu; Tue, 09 Jun 2026 15:44:46 +0000
Received: by outflank-mailman (input) for mailman id 1333570;
 Tue, 09 Jun 2026 15:44:45 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wWydA-0008Ae-VE
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 15:44:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWydA-004xC6-Bv
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 17:44:44 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a2834df-e002-0a2a0a5209dd-0a2a450bb8ae-18
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:44:44 +0200
Received: from [40.93.195.5]
 (helo=SN4PR2101CU001.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a2834ea-212f-0a2a450b0019-285dc3050a70-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:44:44 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by CH7PR03MB7785.namprd03.prod.outlook.com (2603:10b6:610:24f::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Tue, 9 Jun 2026
 15:44:41 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0113.011; Tue, 9 Jun 2026
 15:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=koAZlM+AodrRo+Z5ExfEvGUFVVGWvWOEr57W7+cVtAb5WhXv+Wio4rZFGrpj3DQj2Nba4mrujARaDBJJL5lQ+3uFn614nzdhUWEhxbFvtczDub/UrwFIz4+8jpi3bctBCPXngi9I6vW+F13WAAnca4pt0yL/ayix0NqsJOSuYXNGAWDbOXMkNTgUiPz3G4O0Q+fzwVgyaGos1cJ2fepr6pJFD2kQDGjGknq0q44jIUvpKT5LY9B3NyKNr5HtmarJP1V2b+ZHW++zTOJ/8RbjSi7VkBHMsWag5vW6ir4NSGBnFhbuZpapPKBtWHDGBR9Sj+EHTD21hB5+u9isoL5Lxw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XIH9KvupJ8ijOA24fC5XIyF7FAhRnmR/5dpkrBIvgl0=;
 b=HtKceA6KCAsEamPo0GnDjgE5wtdB3DntEBGAXf2cG9u59zQNYRuQvjvMWqx2FjEhPpkAsAdgLZ+2FaqBoPTX/OQs3JjXU5JS+Qsy1nGVbmzEubgqk3qur3KXM3uxOzRnm4JX3QG/5WKhS4RJ/qEOzBrrQ6rtgV7ziJl7hyelC7LToZ6FH+ITAP1yt1oymj/UWyUHSMlB2BYRr7kuJY23lYC4dOCaXr3OsvlIAME3lMOQ8fC+9+VjF37G/OhCh/tZQSWpiVT66JeusndLPTfcJexvTF1RxB03otDNp7M0W85cw+NkyNkTZTMD25RuRRURj/UJk4rDxc9NPi/t9RzMAQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XIH9KvupJ8ijOA24fC5XIyF7FAhRnmR/5dpkrBIvgl0=;
 b=cxNiQvGyPkWV3Wz+No60fp5eMt7FhO2FvovxHjL71WJPbGDPIXMm3wH8jIDptiPHRBcZo9ks69gRbnGG+Aw+mJAQgIf+dht/LYNpkhutVzTFdSdqRE5lql3lvPWdc2vxEvWg/HsvMmcDmffbCDj44uyXxDXb+9HD35hT7qPmWxY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Kevin Lampis <kevin.lampis@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Kevin Lampis <klampis@citrix.com>
Subject: [PATCH 2/7] x86/kexec: rename setup_header to bzimage_header
Date: Tue,  9 Jun 2026 16:45:13 +0100
Message-ID: <20260609154518.779757-3-kevin.lampis@citrix.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260609154518.779757-1-kevin.lampis@citrix.com>
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO4P123CA0052.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:152::21) To BY1PR03MB7996.namprd03.prod.outlook.com
 (2603:10b6:a03:5b2::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PR03MB7996:EE_|CH7PR03MB7785:EE_
X-MS-Office365-Filtering-Correlation-Id: 321b8c0d-bb79-48df-4ade-08dec63e041c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|18002099003|22082099003|3023799007|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	bfrnUdKKJKIiVeLj7O4iU1VE6TOcmJQv9iLg64QspBaqwmqspEV+dcG2pegmu47FOnIFypuZzHH86vLJhwWJminEdWfdGOcVf36IuXynghlSCd1EYTjIUDk9FAPUVkTIp7Ez4Ym85K5HeyvlrGxeWBtYqAoxhj6oeVwbpruU3bpT5CKCV5e8bOJuz4+/b74qU2Rpj426sAdDBpM2uXHHRGu8XhUAZLhg8kGhvJ3A/WvEBVz/0tk+KWLD1D4eDbl/ZdeNGTpQ1QuPgpevmmYPoael8ScmZQjYh83rmbEGywHOUqnoVs/WaB5Yga8FBvOtizcJ8AzS1Df7Aet63tW2Djd5MPjm/HFwEvwvVdvHwcB5mL7VrnEjcsBiDCbyLYN6lb08P6v5oOB75H4NyjtTxXnxmed58VdWB6I9RTyMqM0SJfbH+YJ3tv3e+ElUXQ8xnw3x8vuEwP8/eEloDE1lIF2YFEHDv+TdZufICVkd/zAogr6qOhTOYaURwmU8iYuE1IkZn7BWLoIQI6gnvNPfviKz/FtaWf142NBzIxS+OxsNN34UnxmsYMKHUFL8a21rn/tWeTQRVu2N0Va18ZXOin0krkCIr3iOVHrtT67i0I4BC5ihytrKMR8oyuZ6+cQ3D/4l3dFVz34lTsauNARyPa1Q6TJVPa9HOncawwOhMgiK2D6RqRPjrNMBUQN0B6Eo
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(18002099003)(22082099003)(3023799007)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?n9MHSLxaE8sI06XlPGtWJw8hdk+R3UUwt3V2SPw9Tz710b8OjY+XDAmIQUNd?=
 =?us-ascii?Q?SoKuZIiAy1S5gpbMkZN75GXaTK7DUE0H4LLa/TMhwalz0JVNhBbBgu/TVHg0?=
 =?us-ascii?Q?vbW4xxF28lH8M+RKYILkNPdGV66Y6sWJJWteZ6/qo0pFi7VUylHW9993nn+H?=
 =?us-ascii?Q?MHCMBWAcdSRnYN9aEci2N/kx8zD/ditI7SRVIlwRo8sO2bgLDHcSBhrrbJd4?=
 =?us-ascii?Q?yYxBojjy2XwZbZpR1d4jMuZ6dpAyu6yvDG3lcwJo5NnOlJySJXI4crb0c1zO?=
 =?us-ascii?Q?o3Dc5KFgddecGS8akPpwI3th8R69eR384zkYVe+SXJDJH6MYZ58/Oka2iUnA?=
 =?us-ascii?Q?suVCDCQH2MzU6Crgal8D1x511/xmop21urPuflgVrPKCqcPfDDQlxUcdLUFM?=
 =?us-ascii?Q?ND6DJ844yKB3/rxZ1v/nxmQFyVX6aNRsxiDyKXAyf3sU/3XiiM0gHjrBhkba?=
 =?us-ascii?Q?Sjg0gbYr/23GU4g+FK0IQbIXQiQ88lT/YWjVAxcBUSZtWR5vu+vZQORA6oip?=
 =?us-ascii?Q?W+WXhHj0Za2ZgbqIhBdFn7V7spvZrrKay/Er3EllPJfN7qN/bHSLMmzgiprn?=
 =?us-ascii?Q?kPRfJVrNBz6xYNHws1ZATT88Tn3R/Vnu/4FEg9YQNB6rYswdcroLf8FdFEtL?=
 =?us-ascii?Q?rrz5yKVQgCIwkKBuVdQOyYrSBNlYPhRU9tJUaE048IA0qmZEJF23Vl8HDgJe?=
 =?us-ascii?Q?c0mvN2C9zAs/UUhY3QrCELmmjTl2Td0fYMCbF4MDbkXEuNQhgwXJQ/ahPkAN?=
 =?us-ascii?Q?0xybOgCluP07hRIt8RU8qZbThQflhQudaWPy02TIpCeboRwvZIyeXsozWxgd?=
 =?us-ascii?Q?US09FL84vuNBSHvFFnP0YNOe4+Rp2MjgkVNY03tfa+2cWAtkjTrjvA8Kkx2o?=
 =?us-ascii?Q?+OnqFH7+pA6C/qNg0jjrNGMCMJ2CMiqvmpxhZ9172PheoLjL1hJUQGIWln0n?=
 =?us-ascii?Q?AHHKCU+Uvbsu4A0TcoiqVL7wZn/NHUFmcH5aXy6i43SrOLjs85/PWT/o8Liy?=
 =?us-ascii?Q?5AYu8wzqRL1jTo3J/1ldVlGemAVbYs8eWmlRisQqremU911OS1DWHwcXnyaK?=
 =?us-ascii?Q?R1NSTHEWubfWYnWZ1IwQd2BVF729Hqvqr2QExmdKGLzWBqVq5NQMUFRW+67k?=
 =?us-ascii?Q?vMeyR/3gVYGrM+K5whU/NiC6HnlPJ8PFRLf68e3zL7EAhAQqyLlDvVC6DLMg?=
 =?us-ascii?Q?omc5lX4DzeIHCfds9g+A2EafJU3PqprhiNrUZzCr3RgtYNHZnIt5RX2Fx8+Z?=
 =?us-ascii?Q?4l87HO7nIUwqiVHZ23yaut2OYc1PGgsjAm0F9CmQilTnoyS6hJ1Cn6BPcFeW?=
 =?us-ascii?Q?QEOaw7uB/VZHsVJY1jcUFbwzoUKigqlT2H5e4X32P4aW6tEDf0k4wP328JpB?=
 =?us-ascii?Q?REvfsyQo4jmWfYxSzOKONLRea/vrlFzXoPOjARYc3uYO2Uu3iNSjMwC9MLfA?=
 =?us-ascii?Q?1ZFHnIvQZgqC143NEnHxURRbwgQYlQirDVH+UJQwmPIpUuOeEFcqHdJa54uN?=
 =?us-ascii?Q?eQYEbU1CwiqsSYu3f9qDGdmbkHJMdSqAFRPG2gwtCLdwCSb2wMNnUjmGOBLJ?=
 =?us-ascii?Q?pzIFxzwRwS/R8AT+jznGCz9ixjbBpLINFohGXrB9xzzzzZQisSt4vLlX6gXg?=
 =?us-ascii?Q?ERylJYKeK+Oj0/DEP5ypQ3GI78+8nd+wGV8GDxDEecBCors9xSLN0b6vfx6K?=
 =?us-ascii?Q?QwgQDSd4Ui+jetcB6N2koEvDDX88uu078bYV/ol9yFvOuIovsJLONlCRgeKL?=
 =?us-ascii?Q?Oj9AvibIJw=3D=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 321b8c0d-bb79-48df-4ade-08dec63e041c
X-MS-Exchange-CrossTenant-AuthSource: BY1PR03MB7996.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 15:44:40.6820
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dLA/SBxQBSv/7raPc2WsAplblU+BJ3yQgtE1GFSBwaUEEH9kxS2ArQebPO7o971vwsAd3h41iGt7+mmTSHAzzw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH7PR03MB7785
X-purgate-ID: tlsNG-42698a/1781019884-1A573F3B-BE93899A/0/0
X-purgate-type: clean
X-purgate-size: 5430

From: Ross Lagerwall <ross.lagerwall@citrix.com>

The newly named bzimage_header is moved to a header file because part of
it will be needed for Secure Boot kexec.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Signed-off-by: Kevin Lampis <klampis@citrix.com>

---
 xen/arch/x86/bzimage.c             | 47 +++---------------------------
 xen/arch/x86/include/asm/bzimage.h | 39 +++++++++++++++++++++++++
 2 files changed, 43 insertions(+), 43 deletions(-)

diff --git a/xen/arch/x86/bzimage.c b/xen/arch/x86/bzimage.c
index 66f648f311..0bbd8b2758 100644
--- a/xen/arch/x86/bzimage.c
+++ b/xen/arch/x86/bzimage.c
@@ -13,48 +13,9 @@ static __init unsigned long output_length(void *image, unsigned long image_len)
     return *(uint32_t *)(image + image_len - 4);
 }
 
-struct __packed setup_header {
-        uint8_t         _pad0[0x1f1];           /* skip uninteresting stuff */
-        uint8_t         setup_sects;
-        uint16_t        root_flags;
-        uint32_t        syssize;
-        uint16_t        ram_size;
-        uint16_t        vid_mode;
-        uint16_t        root_dev;
-        uint16_t        boot_flag;
-        uint16_t        jump;
-        uint32_t        header;
-#define HDR_MAGIC               "HdrS"
-#define HDR_MAGIC_SZ    4
-        uint16_t        version;
-#define VERSION(h,l)    (((h)<<8) | (l))
-        uint32_t        realmode_swtch;
-        uint16_t        start_sys;
-        uint16_t        kernel_version;
-        uint8_t         type_of_loader;
-        uint8_t         loadflags;
-        uint16_t        setup_move_size;
-        uint32_t        code32_start;
-        uint32_t        ramdisk_image;
-        uint32_t        ramdisk_size;
-        uint32_t        bootsect_kludge;
-        uint16_t        heap_end_ptr;
-        uint16_t        _pad1;
-        uint32_t        cmd_line_ptr;
-        uint32_t        initrd_addr_max;
-        uint32_t        kernel_alignment;
-        uint8_t         relocatable_kernel;
-        uint8_t         _pad2[3];
-        uint32_t        cmdline_size;
-        uint32_t        hardware_subarch;
-        uint64_t        hardware_subarch_data;
-        uint32_t        payload_offset;
-        uint32_t        payload_length;
-    };
-
-static __init int bzimage_check(struct setup_header *hdr, unsigned long len)
+static __init int bzimage_check(struct bzimage_header *hdr, unsigned long len)
 {
-    if ( len < sizeof(struct setup_header) )
+    if ( len < sizeof(struct bzimage_header) )
         return 0;
 
     if ( memcmp(&hdr->header, HDR_MAGIC, HDR_MAGIC_SZ) != 0 )
@@ -73,7 +34,7 @@ static unsigned long __initdata orig_image_len;
 unsigned long __init bzimage_headroom(void *image_start,
                                       unsigned long image_length)
 {
-    struct setup_header *hdr = (struct setup_header *)image_start;
+    struct bzimage_header *hdr = (struct bzimage_header *)image_start;
     int err;
     unsigned long headroom;
 
@@ -106,7 +67,7 @@ unsigned long __init bzimage_headroom(void *image_start,
 int __init bzimage_parse(void *image_base, void **image_start,
                          unsigned long *image_len)
 {
-    struct setup_header *hdr = (struct setup_header *)(*image_start);
+    struct bzimage_header *hdr = (struct bzimage_header *)(*image_start);
     int err = bzimage_check(hdr, *image_len);
     unsigned long output_len;
 
diff --git a/xen/arch/x86/include/asm/bzimage.h b/xen/arch/x86/include/asm/bzimage.h
index 7ed69d3910..8c54b21d06 100644
--- a/xen/arch/x86/include/asm/bzimage.h
+++ b/xen/arch/x86/include/asm/bzimage.h
@@ -8,4 +8,43 @@ unsigned long bzimage_headroom(void *image_start, unsigned long image_length);
 int bzimage_parse(void *image_base, void **image_start,
                   unsigned long *image_len);
 
+struct __packed bzimage_header {
+        uint8_t         _pad0[0x1f1];           /* skip uninteresting stuff */
+        uint8_t         setup_sects;
+        uint16_t        root_flags;
+        uint32_t        syssize;
+        uint16_t        ram_size;
+        uint16_t        vid_mode;
+        uint16_t        root_dev;
+        uint16_t        boot_flag;
+        uint16_t        jump;
+        uint32_t        header;
+#define HDR_MAGIC               "HdrS"
+#define HDR_MAGIC_SZ    4
+        uint16_t        version;
+#define VERSION(h,l)    (((h)<<8) | (l))
+        uint32_t        realmode_swtch;
+        uint16_t        start_sys;
+        uint16_t        kernel_version;
+        uint8_t         type_of_loader;
+        uint8_t         loadflags;
+        uint16_t        setup_move_size;
+        uint32_t        code32_start;
+        uint32_t        ramdisk_image;
+        uint32_t        ramdisk_size;
+        uint32_t        bootsect_kludge;
+        uint16_t        heap_end_ptr;
+        uint16_t        _pad1;
+        uint32_t        cmd_line_ptr;
+        uint32_t        initrd_addr_max;
+        uint32_t        kernel_alignment;
+        uint8_t         relocatable_kernel;
+        uint8_t         _pad2[3];
+        uint32_t        cmdline_size;
+        uint32_t        hardware_subarch;
+        uint64_t        hardware_subarch_data;
+        uint32_t        payload_offset;
+        uint32_t        payload_length;
+    };
+
 #endif /* __X86_BZIMAGE_H__ */
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 15:44:56 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 15:44:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333575.1596683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWydM-0000G5-9c; Tue, 09 Jun 2026 15:44:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333575.1596683; Tue, 09 Jun 2026 15: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 1wWydM-0000Fy-4w; Tue, 09 Jun 2026 15:44:56 +0000
Received: by outflank-mailman (input) for mailman id 1333575;
 Tue, 09 Jun 2026 15:44:54 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wWydK-0000B1-IQ
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 15:44:54 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWydJ-004xC6-VS
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 17:44:53 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a2834df-e002-0a2a0a5209dd-0a2a450bb8ae-32
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:44:53 +0200
Received: from [52.101.62.6]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a2834f4-212f-0a2a450b0019-34653e06e59b-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:44:53 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by CH7PR03MB7785.namprd03.prod.outlook.com (2603:10b6:610:24f::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Tue, 9 Jun 2026
 15:44:50 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0113.011; Tue, 9 Jun 2026
 15:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=T5PN7uAN13m4ejfpeyRYNUUUar+8YCf7cIRLk2vQiZQJsSZn8NPjlnK30l8hXxVJcRyucQzwjwN6sy3voe+zz+YXWCKtSv/y/nfVAkPx6arCYKDaoMNPhwzqlRF10MXnH9lEjr9wanO8XPR2mYGBzJiUOtCIMb4bG0xcmDeSK82Dh7GpLwN8BSYJEInz5sAAWPux7BKl1v3ZEkODnWPK3V1lekQYTCNwAM5QYQqFFgpk0zx4UnxdqW747xrp6VauaJpfBCj739+LgOwqKr54ZxwD4TYDwAD2Bi3TGMunvg/PN7BCsoSRWBRFzAqShw/lpHrCR1aiDEJMtvQVw8HSLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4oRcVjU3CohvWdlNeXdCS9k2NhJswH1Ylop2GchbfSo=;
 b=N9C9ZucCGP6DgHMp/LkHC1JGhxB4nQH2edApf9zkugGovvt45AsLSlxbOwRPhWPxnkfl+1KHRqaY/wQkdT6egtJ+Mjm1/Q1AegVTulEHRK62ejE2cApf54NZLrn4AyOnY/d6NqwhafivinyXKDFyp84cLnL+wyi+4WpUsSaAuPmt0ExpK8P+M390ipVZWgnNhV0+BrNXX8ib9Z9JlcOvEz6+ymZ93URYWCIuAyyFbxpgI7P7oC/QqzdfuzhwNIdEefg0K7gfrpdK5SruDn0k6pOifGst8FA+MwmI56a6vZn992at6RjfKa1NW78jYl4bLKq/cH7einnX2cAGEjJtlg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4oRcVjU3CohvWdlNeXdCS9k2NhJswH1Ylop2GchbfSo=;
 b=y1EmouhV7pzH8kA9CwabFtsUTiV2Jd5CK3QswLAYC3+IIRCPPF2rC4eFBkk/ZfUebS7kIAKMqqheip+eJaTBtBgG/dPzabDF26/yUflxn/JaVDIOxHoNLj9EoPAB2NjtxLUumpfMSnHarqKJhcQm1s8Dhw8CDb52dG16H7vuYwo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Kevin Lampis <kevin.lampis@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Kevin Lampis <klampis@citrix.com>
Subject: [PATCH 3/7] x86/kexec: add new struct kimage_segment
Date: Tue,  9 Jun 2026 16:45:14 +0100
Message-ID: <20260609154518.779757-4-kevin.lampis@citrix.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260609154518.779757-1-kevin.lampis@citrix.com>
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO4P123CA0377.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18e::22) To DS1PR03MB7992.namprd03.prod.outlook.com
 (2603:10b6:8:21b::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PR03MB7996:EE_|CH7PR03MB7785:EE_
X-MS-Office365-Filtering-Correlation-Id: 7de2c4f1-df6e-47e1-eb19-08dec63e0946
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|6133799003|18002099003|22082099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	EHzQi2XFnEvM40mpBdIp/uxuQzS4PF+jm3Rswy0n3HDLR0j37dw6mIRqHFHb4QPRVL+mLyKGfqpk8C238ggvdSZozrN5Z+S3QEluU4LUct1LTs9VLME62Gw22GlFqBFJlIxMKixh4GAuEbmfB96Y8YTQDBGtw56QXjdHkCAVFTzSxNKUvkxFEbw3YEZacj2gotnk0rKZI6KOZkxQgKKYwVyGEGT7HPFzXXtg/MsnteojvXK8AcftZA8u2Dkf14igyQ7vHfnE73crToye66kPOCPBeCsrwBUQ3JC/fVjqIcqGmXHKROD2zemR6NAtJ4hIcmfHAmtBYlhEjBUbk7L1+a3+4VCu+zmicGLXWBASLJ+kGYovsKvLfs7OulSo+OpJmTozWZV099pbtD1B16q9qL8VzqQFftEJOojqBFpajkqd+MMXrZWFvLQpG+GzmBAjZdf4XCU+epCu9qNdN4lMpTsmlMaAshNPwzk6etvw9HcAP+Srz50vFOQ2CC0fezEwcOTIGh+hR/LjI4e3e5gR1q+su9BIHbRrIrdJ+VU7/drBP0V1ts7rkH12V81HGCywcIvdUYN3AnzXHQDuOJCkqB6cgyN2abPA5fda7vdTG+e8Y6nPOQsTgRLZK6V2X2O5EVYkIr79HqFjpt4e+VZ2CRkq8uOoWJiz+cdmV3hycW+dBcScBOsECZQ1k4lvRdOX
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(6133799003)(18002099003)(22082099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?fdfAbbArMKmmE3/rBTtxzcl/uoyQE3yMVGUGmrsCpoTc9RCHvZyKuCE5HSn8?=
 =?us-ascii?Q?I1e36PvBaYWw4y/nR0htNL+AHZXwsp4SFeaUBGmc70LELCUT9E6yDarDfsQ9?=
 =?us-ascii?Q?uVLEBCaAhYjnE6uGS7SW+Ha3qZd1IfNVLDgT2lXNWaHKnXJbD6phMYFFZXN5?=
 =?us-ascii?Q?KMwkV+VnuiT6RgJvprVi/2GFUuI8czd7K6nlVXnnrzmdeE/Os4/W51YHV1kf?=
 =?us-ascii?Q?dhxFjXYcWLsKDSNT51HpLdDNvq9WseQprnHnoQHTZwYHw3RqOB46YyqWzSAM?=
 =?us-ascii?Q?+3XnzCE8zNbJZ4EuwcL0RQ01pMaaCqEl1voNJgManfXJugIHEiXvAp5FgWwl?=
 =?us-ascii?Q?hFDp7NEpzWBuGcfEcF84NOd6tHg2QYc1BZIU/gXwACtA9eCVCQWKvDgA8vCN?=
 =?us-ascii?Q?Td4qItzdExYpeQykPUL8WasHn/5dfgQjEbJ10oe/GPlmXF+RGx5szFnOb/fW?=
 =?us-ascii?Q?mL41GiC5agAm25peeDOiRJP/5LiXqUdlIdnUQLf7nnSiKbfzp07A1CVuVbkP?=
 =?us-ascii?Q?Fdb4tO3BS2kyNKU3v8eL98iOsaULcsJkIMt5LBR5a+HBY8SD/EYYJZKjLsWb?=
 =?us-ascii?Q?ReYQxDzJHJvdKGGVA5wvAn9MwiMU18ezYFwnWrwsppVN77V3OHwDQt5FCeat?=
 =?us-ascii?Q?8pO8b1kgvTDkTtOJu7aa7dTZ6By34KQiDFuSpCmgjS47Xd7/1ng1lFeHlUN9?=
 =?us-ascii?Q?CG5QeMmNuG9iobRek8x2nNxjRsPx4R2oYpAd+cbO8GMUsvxhfldVFurXITmX?=
 =?us-ascii?Q?rKmZ+6nPOi/dBAknERjmmjDsGo6DHov8sWVnKi+8SXs2ShpZ8zXhItkU98e3?=
 =?us-ascii?Q?ytH7BgJ+/veTs8IsxESIu8bz51mgjz5Fbs94EqCvJyBniSpUxKnzC5bKW20P?=
 =?us-ascii?Q?rj59K4YPf+4DM9VbGRJP6v3M+U+bLgf0CHLcQqZaP+IXrVBN1ALZEkrm/wEs?=
 =?us-ascii?Q?uUBKshGZi4gw/+SlgtCsnv5LpVllu2oBL43e6+YHleyoeLkuwcPYVNuMLjMT?=
 =?us-ascii?Q?QOCQMbzgIF8hLdwoJ1g1Ob33AzJo6jqChQ3lBPqa4wlC/4M1bB6OWIseI8/b?=
 =?us-ascii?Q?xZPaxmNGffNaR68vEY8e0Rsi5g3GSy62e7Zj+wqpzsmoc3WD/sA5pmWx4/9h?=
 =?us-ascii?Q?LqVyXDSeJjUOEjNNEoY+dVnQ0cSwqPy0OVuiICsdKld90/+iZuNsMkOgIcpt?=
 =?us-ascii?Q?1wCyHyp/fUEIkHzoCbEsr67RFxySLS6TYZY+mqUH45TyZReVk+SECvrpYBxr?=
 =?us-ascii?Q?gGVvr2LpEBsUrnBGKxSKOrSeU2JtC42mJQR+aT4gFXkKm0LC5+Fd1cQvExBi?=
 =?us-ascii?Q?HNJ1on1naUVD6gwz9yoax8KdJL+ub4+FrEHxe0XI2Z8Xzfowo0Szd+fod3dp?=
 =?us-ascii?Q?tfaKltK5838nYB/j8ItoMu5KsktKcLJAkUZkp7e0jvetUW83TzWU0cv0c9kV?=
 =?us-ascii?Q?wcvp5nNi2sgxTfY3n+1/foNAwfD5C+vb4yBXk3Z4KetJWABHOFY9opn0MdkE?=
 =?us-ascii?Q?bxaPrW8zsZlDXI5Ws2PSIpiQPgLPXcf84LWisw5eN2/SjNPO48CiDrdPLZ91?=
 =?us-ascii?Q?H4ic+mwkH/pvfK22C3+Y2lHvhNutsACaPElsc+lMWm4pG5kwObMbE3WyLZHS?=
 =?us-ascii?Q?URWB/7V8AIKn64JxIK3F2bC3341B8aT3W6dhNnXp4AVPlYqgyWZJ720CeSSi?=
 =?us-ascii?Q?rKbeUPV76Xh9zaeakb84jCLqB+CES7DteI1zTZX6ccV8JSqilwb0d4i7/5rx?=
 =?us-ascii?Q?G3T/wtkPjw=3D=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7de2c4f1-df6e-47e1-eb19-08dec63e0946
X-MS-Exchange-CrossTenant-AuthSource: DS1PR03MB7992.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 15:44:48.9729
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Z55srGJRne+5sNe5AkkB1Tubnr6edQJbPqtA5Wl6OxSNrpqPp/y1w/C7rmmE+shh3nN5oajFXm8z1RvIh+tK1w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH7PR03MB7785
X-purgate-ID: tlsNG-42698a/1781019893-18D67F3B-00693EBD/0/0
X-purgate-type: clean
X-purgate-size: 7774

From: Ross Lagerwall <ross.lagerwall@citrix.com>

New struct for interal use because Secure Boot code needs to add an
extra field in a future patch.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Signed-off-by: Kevin Lampis <klampis@citrix.com>

---
 xen/common/kexec.c       | 23 ++++++++++++++---------
 xen/common/kimage.c      | 17 +++++++++--------
 xen/include/xen/kimage.h | 14 ++++++++++++--
 3 files changed, 35 insertions(+), 19 deletions(-)

diff --git a/xen/common/kexec.c b/xen/common/kexec.c
index c920bc6d8a..00346fe616 100644
--- a/xen/common/kexec.c
+++ b/xen/common/kexec.c
@@ -916,7 +916,7 @@ static uint16_t kexec_load_v1_arch(void)
 }
 
 static int kexec_segments_add_segment(unsigned int *nr_segments,
-                                      xen_kexec_segment_t *segments,
+                                      struct kimage_segment *segments,
                                       mfn_t mfn)
 {
     paddr_t maddr = mfn_to_maddr(mfn);
@@ -942,7 +942,7 @@ static int kexec_segments_add_segment(unsigned int *nr_segments,
 
 static int kexec_segments_from_ind_page(mfn_t mfn,
                                         unsigned int *nr_segments,
-                                        xen_kexec_segment_t *segments,
+                                        struct kimage_segment *segments,
                                         bool compat)
 {
     void *page;
@@ -997,7 +997,7 @@ done:
 static int kexec_do_load_v1(xen_kexec_load_v1_t *load, int compat)
 {
     struct kexec_image *kimage = NULL;
-    xen_kexec_segment_t *segments;
+    struct kimage_segment *segments;
     uint16_t arch;
     unsigned int nr_segments = 0;
     mfn_t ind_mfn = maddr_to_mfn(load->image.indirection_page);
@@ -1007,7 +1007,7 @@ static int kexec_do_load_v1(xen_kexec_load_v1_t *load, int compat)
     if ( arch == EM_NONE )
         return -ENOSYS;
 
-    segments = xmalloc_array(xen_kexec_segment_t, KEXEC_SEGMENT_MAX);
+    segments = xmalloc_array(struct kimage_segment, KEXEC_SEGMENT_MAX);
     if ( segments == NULL )
         return -ENOMEM;
 
@@ -1109,9 +1109,10 @@ static int kexec_load_v1_compat(XEN_GUEST_HANDLE_PARAM(void) uarg)
 static int kexec_load(XEN_GUEST_HANDLE_PARAM(void) uarg)
 {
     xen_kexec_load_t load;
-    xen_kexec_segment_t *segments;
+    struct kimage_segment *segments;
     struct kexec_image *kimage = NULL;
     int ret;
+    unsigned int i;
 
     if ( copy_from_guest(&load, uarg, 1) )
         return -EFAULT;
@@ -1119,14 +1120,18 @@ static int kexec_load(XEN_GUEST_HANDLE_PARAM(void) uarg)
     if ( load.nr_segments >= KEXEC_SEGMENT_MAX )
         return -EINVAL;
 
-    segments = xmalloc_array(xen_kexec_segment_t, load.nr_segments);
+    segments = xmalloc_array(struct kimage_segment, load.nr_segments);
     if ( segments == NULL )
         return -ENOMEM;
 
-    if ( copy_from_guest(segments, load.segments.h, load.nr_segments) )
+    for ( i = 0; i < load.nr_segments; i++ )
     {
-        ret = -EFAULT;
-        goto error;
+        if ( copy_from_guest_offset((xen_kexec_segment_t *)&segments[i],
+                                    load.segments.h, i, 1) )
+        {
+            ret = -EFAULT;
+            goto error;
+        }
     }
 
     ret = kimage_alloc(&kimage, load.type, load.arch, load.entry_maddr,
diff --git a/xen/common/kimage.c b/xen/common/kimage.c
index 018ef66451..2c3fd3c3b0 100644
--- a/xen/common/kimage.c
+++ b/xen/common/kimage.c
@@ -86,7 +86,7 @@ static struct page_info *kimage_alloc_zeroed_page(unsigned memflags)
 
 static int do_kimage_alloc(struct kexec_image **rimage, paddr_t entry,
                            unsigned long nr_segments,
-                           xen_kexec_segment_t *segments, uint8_t type)
+                           struct kimage_segment *segments, uint8_t type)
 {
     struct kexec_image *image;
     unsigned long i;
@@ -211,7 +211,7 @@ out:
 
 static int kimage_normal_alloc(struct kexec_image **rimage, paddr_t entry,
                                unsigned long nr_segments,
-                               xen_kexec_segment_t *segments)
+                               struct kimage_segment *segments)
 {
     return do_kimage_alloc(rimage, entry, nr_segments, segments,
                            KEXEC_TYPE_DEFAULT);
@@ -219,7 +219,7 @@ static int kimage_normal_alloc(struct kexec_image **rimage, paddr_t entry,
 
 static int kimage_crash_alloc(struct kexec_image **rimage, paddr_t entry,
                               unsigned long nr_segments,
-                              xen_kexec_segment_t *segments)
+                              struct kimage_segment *segments)
 {
     unsigned long i;
 
@@ -669,7 +669,7 @@ found:
 }
 
 static int kimage_load_normal_segment(struct kexec_image *image,
-                                      xen_kexec_segment_t *segment)
+                                      struct kimage_segment *segment)
 {
     unsigned long to_copy;
     unsigned long src_offset;
@@ -722,7 +722,7 @@ static int kimage_load_normal_segment(struct kexec_image *image,
 }
 
 static int kimage_load_crash_segment(struct kexec_image *image,
-                                     xen_kexec_segment_t *segment)
+                                     struct kimage_segment *segment)
 {
     /*
      * For crash dumps kernels we simply copy the data from user space
@@ -768,7 +768,8 @@ static int kimage_load_crash_segment(struct kexec_image *image,
     return 0;
 }
 
-static int kimage_load_segment(struct kexec_image *image, xen_kexec_segment_t *segment)
+static int kimage_load_segment(struct kexec_image *image,
+                               struct kimage_segment *segment)
 {
     int result = -ENOMEM;
     paddr_t addr;
@@ -799,7 +800,7 @@ static int kimage_load_segment(struct kexec_image *image, xen_kexec_segment_t *s
 
 int kimage_alloc(struct kexec_image **rimage, uint8_t type, uint16_t arch,
                  uint64_t entry_maddr,
-                 uint32_t nr_segments, xen_kexec_segment_t *segment)
+                 uint32_t nr_segments, struct kimage_segment *segment)
 {
     int result;
 
@@ -824,7 +825,7 @@ int kimage_alloc(struct kexec_image **rimage, uint8_t type, uint16_t arch,
 }
 
 static int kimage_calc_one_digest(struct sha2_256_state *ctx,
-                                  xen_kexec_segment_t *segment)
+                                  struct kimage_segment *segment)
 {
     paddr_t dest;
     unsigned long sbytes;
diff --git a/xen/include/xen/kimage.h b/xen/include/xen/kimage.h
index ad52551ba2..258349d774 100644
--- a/xen/include/xen/kimage.h
+++ b/xen/include/xen/kimage.h
@@ -18,12 +18,22 @@
 
 typedef paddr_t kimage_entry_t;
 
+struct kimage_segment {
+    union {
+        XEN_GUEST_HANDLE(const_void) h;
+        uint64_t _pad;
+    } buf;
+    uint64_t buf_size;
+    uint64_t dest_maddr;
+    uint64_t dest_size;
+};
+
 struct kexec_image {
     uint8_t type;
     uint16_t arch;
     uint64_t entry_maddr;
     uint32_t nr_segments;
-    xen_kexec_segment_t *segments;
+    struct kimage_segment *segments;
 
     kimage_entry_t head;
     struct page_info *entry_page;
@@ -44,7 +54,7 @@ struct kexec_image {
 
 int kimage_alloc(struct kexec_image **rimage, uint8_t type, uint16_t arch,
                  uint64_t entry_maddr,
-                 uint32_t nr_segments, xen_kexec_segment_t *segment);
+                 uint32_t nr_segments, struct kimage_segment *segment);
 void kimage_free(struct kexec_image *image);
 int kimage_load_segments(struct kexec_image *image);
 struct page_info *kimage_alloc_control_page(struct kexec_image *image,
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 15:45:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 15:45:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333579.1596692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWydS-0000cc-FG; Tue, 09 Jun 2026 15:45:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333579.1596692; Tue, 09 Jun 2026 15:45: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 1wWydS-0000cV-BR; Tue, 09 Jun 2026 15:45:02 +0000
Received: by outflank-mailman (input) for mailman id 1333579;
 Tue, 09 Jun 2026 15:45:01 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wWydR-0000bC-6t
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 15:45:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWydQ-004xC6-JY
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 17:45:00 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a2834df-e002-0a2a0a5209dd-0a2a450bb8ae-46
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:45:00 +0200
Received: from [40.93.195.55]
 (helo=SN4PR2101CU001.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a2834fb-212f-0a2a450b0019-285dc3379d98-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:45:00 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by CH7PR03MB7785.namprd03.prod.outlook.com (2603:10b6:610:24f::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Tue, 9 Jun 2026
 15:44:57 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0113.011; Tue, 9 Jun 2026
 15:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=wh3BO/RvxfgtaqUYyuMfTwUyvez2TlxN4fOrd41bGFDS9mVH68D31FxHeizRAiS3nR5ycNDKamNPYLOfeAnBAapX9GUds5lsiWqLO5cDiYz2kkVMUeQAwySD6LTMOohc8U9bdnRJbVkNi8CaF24B+y1A9m9YL+LmBS5/KicWrmcz/SGm6GvRcuChZ0jxiniWfp+nOubLJS/8WYTKuhem6v8Sv4jz1vVzQQaS8I+hRetBD1A1T9G32P5DgW8DLqt/SUKNVf/6JVtSZNRW7NKQQWI8UYKK/VXhuSu4XcqORioFWhZCA8N8QLpVjgpKApAVwPh9Y2rNbG+8eD7fu55QNA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XAGW0A7SKMny7hlVxWXRmaflj5yybevs1GYDnoI4BUI=;
 b=y8kzUuyNc9qWcLu8yUQwiPa3cCmGwuqOK5HrbQNQ2PFNrX0coV64L5YL3anKhlyo7OSgdBdFqDYG98+ErbwEqJ/GfNIZr4BHHknZGjyBooONiAVCf9R+7p29IAWZqZpY5zOUkvOg4aUPFP6tT4Wxtjp45nnMErDRURJH7p6TFEcBE+9l7DVHISowZ/mmogAeWukUj7nH9ZqpfLmIlTKBFr9zObSzjDqMrh4mwz0UB4JazA4zUYRntAIkVyQnI4M0O92g/CUWaJEwnKJYPPyhNqPqcN9V1iaeSSnGvIQ2KOEj7hESha8wjswyhMKoUAfMEO9sd8gzVukXxZNCic6i+Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XAGW0A7SKMny7hlVxWXRmaflj5yybevs1GYDnoI4BUI=;
 b=r7jTj0W8QYaySonCdnVZKUfsUYjhRIuLxc2xrh8g9Fxbm0vvWnnbEYFsAO/Nv9XvpCIXcrhtUkgtA/1UoW1wXUiWHMD8AdWNJbMS0Jpo5DB4RpuSEjMAHix9KgsDCZg25pNui5kQcPw7DXZM2RizLroD3A+OXsVCn/oRT3X6QSI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Kevin Lampis <kevin.lampis@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Kevin Lampis <klampis@citrix.com>
Subject: [PATCH 4/7] x86/kexec: Support non-page-aligned kexec segments
Date: Tue,  9 Jun 2026 16:45:15 +0100
Message-ID: <20260609154518.779757-5-kevin.lampis@citrix.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260609154518.779757-1-kevin.lampis@citrix.com>
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO4P123CA0378.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18e::23) To DS1PR03MB7992.namprd03.prod.outlook.com
 (2603:10b6:8:21b::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PR03MB7996:EE_|CH7PR03MB7785:EE_
X-MS-Office365-Filtering-Correlation-Id: a96c737d-bffd-4c40-bcda-08dec63e0e74
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|18002099003|22082099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	ACwPLqAQF5rodZaMuSElq0BwCLn6oTQsp1XdbpIQIt1kmXBd+ToTX2aytvntae2pmZ6h1l84gwsw7LV70OHjzNCTPY6FVIcuv0x3AfInkbtCGqIE0we4RGjiEnq/fDzVyTZ59T7JSKnCoeV4uHOyL+oaEHHAsOsC4NhG0kmuEfa4HSRi0yt3qt669aQM1ZAkOX4REc4p00Oss0RujlyMpq63TK1z38QbIpS23MGKm/90nFDauCIn4bCGvZgOkjDjo6k6oxFroCdYzC5CY40NHQdCMzhmmfvbm3VU1rHRpUkC8GCg4H1zfwp3AobJYVgfOZrlyAjKHSnZL9arL+2/SyoXJ0EPnXvFIB/TOZ9UQqCe0pWDTP+QugLVViIeX1I102vBokhijqQrATRITO6rTgoEVN2S+si3M/i5q1cc5rw4Fy1sCPx9ICAR6fWwvbbm7MdYHldcngJV10gx9wfg+Hf1izlI8rVfxuf9OkqpPOUIdKukF8GafDcHLXnqsqUKzX9rBRN/ZjtnA/rwvLByJVzkcVwJlmXYyp3zLKMpiWnaE/V8KM7FO6eKNBvg5IJLFTibdia1vUK7KgnEk030GG2pt4AIwSXJZvyEhG3fgbr1gtZy7Cw54vR07FMUYCIDsdEGG4y8b39fJpZifropLYgshcQuJeplw3rT2M7cwyaDVlpVycbPhBqDOHgt+0DT
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(18002099003)(22082099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?tEEYCe4K7ALWbVVqWDSQW0gelbQnuD9h6OlD7QotieQBj66+ncZqQXkLWQZ5?=
 =?us-ascii?Q?G6maYFmhbYjkKPPFayeXJEEPp1eNXz7tF/RBc+ZoKDiQXrNXDWLgUAG30cmT?=
 =?us-ascii?Q?xzzHKaQYTG50HqK/gklRwkrba6JCfU94j/nzZxewLVoN3qkCrElhF56TwO7A?=
 =?us-ascii?Q?nyHEDMCcW6Db4l8FuASaE0S1qFxAadkix8tuFQJhaxXLT/Qm2M5ZhhJVLLxN?=
 =?us-ascii?Q?Uj/XNQ1B2L7wR7ZjsfZC6oxYYGTc4cWaIDkgcGgPocAYUieRATl89/M54lRd?=
 =?us-ascii?Q?N9200XjVqd1cG8HhWJ8yVa+COBQu54YWNqBpGA4i5OJe1R+Nk8A8lUHH3nWM?=
 =?us-ascii?Q?pKOcqnGdSgJOXcLOfJgjih/hjQrNSQAwL7e7gHCBlEENN5m5XBFNFCRQS2Eu?=
 =?us-ascii?Q?UBUkvDYDZMhI7pFeYOnS6SLsWmayIQWskIHxiPnoxADkwCB7OZyhpwG1e9zT?=
 =?us-ascii?Q?BXStd2dFi2oG+WPWTRT9UBaEtXV9C+qegWgsTm7KtYIrsujTdh0wWhIZRrtm?=
 =?us-ascii?Q?RELjYcJA21+/YOtkDly0y3e6kiGtweGMEUzimZqYR7hvVXyJVmm+9WCLbGRS?=
 =?us-ascii?Q?3mO4zN3zCkztP4Ea/KOqn4gye00Bl/Ln+VyXHf5lOwVL1PEs9WeNEWPTgbTu?=
 =?us-ascii?Q?Y5ocSelC2YxRMGIeXnDkdYw1pwG8DNfpOhVVTBnibhVAnYoW+jezmq0xQvSn?=
 =?us-ascii?Q?FmLr3M09K5f7jGEzD0doof2+OzqvooxoVYOzYmnxsPXfD3mP/t5q2YdOh84q?=
 =?us-ascii?Q?5DfmxKRstf2A4bcOE06R1shYPk6jxFlNOm+JR8slHZTQOSXjeASkZTcS0gQ/?=
 =?us-ascii?Q?Jy/Z+3Xobh6LLdlJ+Q+Ysc+cUToi93mVNOE5ozPr50tftqfPGwo6eUOPaXoi?=
 =?us-ascii?Q?s4aefRxOFCw5pArsdK76Ihag2wUXi8y4nD7BmOAMb+E94tM0lQ8KWs5fTKfG?=
 =?us-ascii?Q?feer93UnCAAzya9/oATF0m2aNhQDYevoqsEr75J1/wNA0jF2a6OAZ0VtqRWk?=
 =?us-ascii?Q?hueeZLbkyqfxgTPPk5crhlqdWZmgeR+iRn+AKqEH7FlsJOHlRN2LWM3i2vSt?=
 =?us-ascii?Q?Ihgf6ukpAPdjozcHfOyEN8BvDGNWgDL/eMNT+mZxIDxuh1AyTGmjNp3uOCQL?=
 =?us-ascii?Q?MwMkyFEcbduEbitq9LCNGX+BArQ98fHEKTqIijbar8q1FEvllXYw8J03xgqa?=
 =?us-ascii?Q?RD3YMfV0+Rapo+/LdYlhhmpgpPsYzLv6DVi5VL33ViXtn6Lf7RiNz9njAi3y?=
 =?us-ascii?Q?Up/TZWNzaufN1XPDPJfu18L0ySIfsUQj3PVUZH5Tl7AlyOWkMsZHeky3r0uN?=
 =?us-ascii?Q?ti/auDu6C+3ld/fp+rczkqOlrzaovGSfoQ2AfdRsQU4oLtXp9qpyVuqIqbVu?=
 =?us-ascii?Q?wEbEsE7Iacm/EwghV1hEbYzIdAC5/1K42TlK2rmw8zYCCJVwZuw7UUg0a3m4?=
 =?us-ascii?Q?H98o+RSZCtgYKfOZDuBDtssa1mzZESH+N22bQ0AZD7ovi8g4cYi29bcJQotO?=
 =?us-ascii?Q?9+qXtcE8eZhSvd9zmx/hIshrXT5kzdOg9S8Hb898ARtuaLiBjwmkp1Lxbszq?=
 =?us-ascii?Q?1JL1JwMIG+rXq6QHnBZBmvzxsYY69EIzHTD4iXngTkQwq9MhBMS6Lh6i8jwo?=
 =?us-ascii?Q?WbuYPUeG/uDxhslNDidPi07KUYLoyaL7aCKQxwXWJcV2BIRgt3v8pxOKXVCd?=
 =?us-ascii?Q?wlS8pXy+bd04PeCc++HKU41JtSNNSGzV7rehM1fvOzFsu2qRTWNtsH+1RElW?=
 =?us-ascii?Q?gPASEBuJUQ=3D=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a96c737d-bffd-4c40-bcda-08dec63e0e74
X-MS-Exchange-CrossTenant-AuthSource: DS1PR03MB7992.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 15:44:57.2045
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6p/pRz/HzLgdLEtqnu5YCbXXgdqqUooncP1wKJG3q9u6Bo0FQnBwZpN5+hDCGMErmkVrfgq8b9IMsFzY1FoNUA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH7PR03MB7785
X-purgate-ID: tlsNG-42698a/1781019900-1956BF3B-727081C1/0/0
X-purgate-type: clean
X-purgate-size: 3559

From: Ross Lagerwall <ross.lagerwall@citrix.com>

With Secure Boot, userspace passes in the entire kernel loaded for verification
purposes. However, the kernel's startup32 function needs to be aligned (e.g. to
16 MiB) and this results in the start of the segment not being page-aligned
(depending on where the startup32 function lands in the kernel binary). Relax
this restriction in Xen to support this use case.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Signed-off-by: Kevin Lampis <klampis@citrix.com>

---
 xen/common/kimage.c      | 34 ++++++++++++++++++++++++++++++----
 xen/include/xen/kimage.h |  1 +
 2 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/xen/common/kimage.c b/xen/common/kimage.c
index 2c3fd3c3b0..1d872916b9 100644
--- a/xen/common/kimage.c
+++ b/xen/common/kimage.c
@@ -730,12 +730,14 @@ static int kimage_load_crash_segment(struct kexec_image *image,
      */
     paddr_t dest;
     unsigned long sbytes, dbytes;
+    unsigned int dest_offset;
     int ret = 0;
     unsigned long src_offset = 0;
 
     sbytes = segment->buf_size;
     dbytes = segment->dest_size;
     dest = segment->dest_maddr;
+    dest_offset = segment->dest_offset;
 
     while ( dbytes )
     {
@@ -745,24 +747,28 @@ static int kimage_load_crash_segment(struct kexec_image *image,
 
         dest_mfn = dest >> PAGE_SHIFT;
 
-        dchunk = PAGE_SIZE;
+        dchunk = PAGE_SIZE - dest_offset;
         schunk = min(dchunk, sbytes);
 
         dest_va = map_domain_page(_mfn(dest_mfn));
         if ( !dest_va )
             return -EINVAL;
 
-        ret = copy_from_guest_offset(dest_va, segment->buf.h, src_offset, schunk);
+        if ( dest_offset )
+            memset(dest_va, 0, dest_offset);
+        ret = copy_from_guest_offset(dest_va + dest_offset, segment->buf.h,
+                                     src_offset, schunk);
         memset(dest_va + schunk, 0, dchunk - schunk);
 
         unmap_domain_page(dest_va);
         if ( ret )
             return -EFAULT;
 
-        dbytes -= dchunk;
+        dbytes -= dchunk + dest_offset;
         sbytes -= schunk;
-        dest += dchunk;
+        dest += dchunk + dest_offset;
         src_offset += schunk;
+        dest_offset = 0;
     }
 
     return 0;
@@ -803,6 +809,26 @@ int kimage_alloc(struct kexec_image **rimage, uint8_t type, uint16_t arch,
                  uint32_t nr_segments, struct kimage_segment *segment)
 {
     int result;
+    unsigned int i;
+
+    for ( i = 0; i < nr_segments; i++ )
+    {
+        paddr_t mend;
+
+        /*
+         * Stash the destination offset-in-page for use when copying the
+         * buffer later.
+         */
+        segment[i].dest_offset = PAGE_OFFSET(segment[i].dest_maddr);
+
+        /*
+         * Align down the start address to page size and align up the end
+         * address to page size.
+         */
+        mend = segment[i].dest_maddr + segment[i].dest_size;
+        segment[i].dest_maddr &= PAGE_MASK;
+        segment[i].dest_size = ROUNDUP(mend, PAGE_SIZE) - segment[i].dest_maddr;
+    }
 
     switch( type )
     {
diff --git a/xen/include/xen/kimage.h b/xen/include/xen/kimage.h
index 258349d774..aab8707cac 100644
--- a/xen/include/xen/kimage.h
+++ b/xen/include/xen/kimage.h
@@ -26,6 +26,7 @@ struct kimage_segment {
     uint64_t buf_size;
     uint64_t dest_maddr;
     uint64_t dest_size;
+    unsigned int dest_offset;
 };
 
 struct kexec_image {
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 15:45:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 15:45:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333581.1596701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWyda-00010U-LY; Tue, 09 Jun 2026 15:45:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333581.1596701; Tue, 09 Jun 2026 15:45: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 1wWyda-00010N-Ip; Tue, 09 Jun 2026 15:45:10 +0000
Received: by outflank-mailman (input) for mailman id 1333581;
 Tue, 09 Jun 2026 15:45:09 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wWydZ-0000zD-D1
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 15:45:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWydY-008Mzm-Q2
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 17:45:08 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a283501-bab6-0a2a0a5309dd-0a2a450ad3b8-12
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:45:08 +0200
Received: from [52.101.52.15]
 (helo=BL2PR02CU003.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a283503-56b3-0a2a450a0019-3465340f4839-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:45:08 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by CH7PR03MB7785.namprd03.prod.outlook.com (2603:10b6:610:24f::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Tue, 9 Jun 2026
 15:45:05 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0113.011; Tue, 9 Jun 2026
 15: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BuRqPDP4CKgSVn1Son8rNWPkGWfWGtJSwcpY0xJfwRafs6GMke7PseJTEwZa/XuqPMnVvZMHFCUACfiq6eWSUb+stLsbKJwRpyMuT9l//ef/Ehk3FFuDzrC6SCbxh0OAAypEqRCsOisTUDkXlVAHa1RRGs4MhuAocW4JiF7f0br0/KErUW1Kv4K0VA6J2HAQk97Ma+i0WzJ5hKDVw3qFrHp0+X2qmY76c3+SE+9i8iG3WWdBQCWwbmBxXxeSTYf9t27emKdW7bEkHK8YPUsELvKn7leuz22zha+RJe6llxkV4YFyfNE3yVEvryAEdkmwE3EV9jGPpv6FeOGtWhFN0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KI7MOQ10o7YlADLvcQgiPGvdTZ9HEiOmoqZrzV/uJUQ=;
 b=PCVTZPnKnMlr2diS6KOYXpTAS2uAoAC2r4c2cpz7EWkfIrWpQF7F2sszx3QDhFCX83heoVETp0xI+RGXQHs/ZtJn5PlBjDjvfmslC7B6AJdUHDfN2FhB3Zwp6OzEZW08ACXWF3k5lJdn0XComF63eEusGk+5yzD6JV+PD2+Jd2+EjBKxFnQ65kY5f0QridVdjuM/Z1+wUymUTKwZo0gdWBHQEtvnD80XHInq/uO2YU2VlS8qiFd+QYRIH6+6yEXKw0xfNRzczhBFqFHrQ3hpcINNPfVQd7qDgYKYv9NYI5cmLhRyHtu4tL6mfW5Mtr680pAZU7r9pMktIwJTpH7Xsw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KI7MOQ10o7YlADLvcQgiPGvdTZ9HEiOmoqZrzV/uJUQ=;
 b=qC2mNv34kSM64td1KdiAFrkgc/fHhyVfaFHU8O4UIHZ2kZ4tP/99wVO5IyjNaQ4gVDVDO9v+CUg3pc8QXGIS5SVw0lXr93jsbsTVcAfKG88Er3ZSovrVyadx7kxh2TCJ5K+fBCfpyjmZc9fst2yHrP2OMuPOJEmhGMPEB5acoeE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Kevin Lampis <kevin.lampis@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Gerald Elder-Vass <gerald.elder-vass@cloud.com>,
	Kevin Lampis <klampis@citrix.com>
Subject: [PATCH 5/7] x86/kexec: Implement new EFI load types
Date: Tue,  9 Jun 2026 16:45:16 +0100
Message-ID: <20260609154518.779757-6-kevin.lampis@citrix.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260609154518.779757-1-kevin.lampis@citrix.com>
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO4P123CA0188.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a4::13) To BY1PR03MB7996.namprd03.prod.outlook.com
 (2603:10b6:a03:5b2::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PR03MB7996:EE_|CH7PR03MB7785:EE_
X-MS-Office365-Filtering-Correlation-Id: d5a33db9-cff2-415d-6836-08dec63e1346
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|18002099003|22082099003|3023799007|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	H0nEbq2v3FR7gTck7B81/EDKIcWdn63kOyGn0nplL1bLd/4K4jwBr4sIGBO5XJbmuZlpTvy0oI0U819FaUNr1ti2xO/PnU8vOTLbLSeJJQpnFz3bGBxP448AEmSRWfgll95x1G8WeTgXVCPYmvDUBdJPEqbnwoCalDKC7rg2C+mECNMaBugUz1btFOLVihY9Xv8avqPtOdWh4i64ZUpqBj5O/DJYNrN6F3pdS/1Nmt+suOcKWmq/4FwJMJLLY1Jb1kITuKT57hdq7is37970fAXAT4I+CECFuAFDadSG+5U1T+WgcsIqIrzY5gBgwl6aOU55p7tCU9TVauE/YKolDmM8q58/C2XQpkpjkv/NgW7AbaUxF7u3Npet4qSdrirpZUmmChhqJx5IdVEXYoFFYh4biGPJRlGq9720jBqiHwE6f273rMVh4L9za5YTVqBudH09xPy0QQjBYvl67L/u7koMpkcwPWBZ/EyOUuqxymxjI5K+DDYWyVo370nWclXYOWldd5/3bUy7SbLOcX8A9m7ry+zhj+2dJ1Ru7UmisbVzbDY5dtnjpXSMX/plM9AT2f8a+9wky+jcUIktVWWl3vQ5ud++SIPEJ668gODu/GduYaUR5IkVaVGiCQ7VrMkCeVecQd2nrDD1mn7Y0hey/RnxqvqvhqDEoFkPvpdOM8yve52U3J3sImNsxDiD6eyn
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(18002099003)(22082099003)(3023799007)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?hxTJCbF3TNPjnWKRnE+X3EShqeUqS22iyZ1G/InEqHugi8ROKnpmTZr8Fnk5?=
 =?us-ascii?Q?e9VSfJRCit2cxp8Y8Qeq408fm4s2xTIoczO1PpjwgDTucgiQkSz13REKEHri?=
 =?us-ascii?Q?RPJXaY6XlO2q2fWBQ/SUerpGqOjmtD2Q1SmHCKueXajn/ciwBtgrGgTHbJZU?=
 =?us-ascii?Q?arFwcpDG3u2kNZyHa+Zet1NKBWaqJSCUqHBJ67IgJwv5zaepC5498q/N3eOT?=
 =?us-ascii?Q?s6+jAl5m29wFrFADbyXb/6kF27DL88mdFpWXZblznLkR6RqcbAAbdr2A6kw/?=
 =?us-ascii?Q?iB3lkZesnahGk3cFsPksFvUn+KVbJSrJvX12gpuv+JPNvvZI++0TY6vVu0+D?=
 =?us-ascii?Q?eRz3K1EaRpDtFzj3tPyKxUI5HD4f0uKF1n4Zfzt8qbeNiik9gDUJXuvjJIX0?=
 =?us-ascii?Q?onpubRx8JRL54YJD5xoVZousyR/VY2XA5E2FopRc9c/FeuPnBUPJWbOXeWy3?=
 =?us-ascii?Q?/a+8H7VMa2+SJlU7KA9SYgykWEUNI00hJHYZbIreua1ai2aq0mDGuSnfyxp5?=
 =?us-ascii?Q?lMpC+Eu0KMDcpJfDUbdQLKrCAnJPX0cPf12z0TGK/D0dwfJQqW55Lr1fEATR?=
 =?us-ascii?Q?oN9LEC65KGqukGDZb5kXw6qOii+ixRYIx29qDDJOgVheKzvmtCOTyBmXFpMe?=
 =?us-ascii?Q?+zIZdulOsUSre3w38dfg6AJS32IfHmAacWljmYmYsvghRHQyHfTjtlB+0+U0?=
 =?us-ascii?Q?E/5ffSGnIbtx+Pu+Nn/bgK3MkXifPv5uuJvOgQb61Qie9yzqLHWyEYqBcdVO?=
 =?us-ascii?Q?5yZYqJ+5rSMcK3akpN2+65f+AbldXHzYaSgMRsEH4xhLWcIGJW1t8+NQXTYc?=
 =?us-ascii?Q?7J8WAuH/FuQVbPOpqLSPKQxMeSgtxTEk7EaZThMJK+AF4t7l1DJtQqaGX0FQ?=
 =?us-ascii?Q?yXQOqUMc8PrcufVej9Ayqcnf29AMPg1r4HmSrf2bnhhDdXqWmS7KDhb17vPY?=
 =?us-ascii?Q?a6Ho5Mcvvn+SXwmc+jb0kqNbo/AQ3fqkyvNae5WS4SGFbtyvGg4Ai4hAklIa?=
 =?us-ascii?Q?P2UtiEK5gNDNiOcf5f15Pvg9Rcab7iw5rbmscThtf7oumXnLQBxFZwewIKBP?=
 =?us-ascii?Q?uXCR2WswY0CdeW47rTvUMjxai+pyqe4wj4DAP4n0PVMcgx5GdLNulXRZxYE0?=
 =?us-ascii?Q?62bh7G8UpH2Q6PugjU5cDgtYcqk2Wfhv1WtXxD/gZp0OHI2EvZ0mnkQXvnFQ?=
 =?us-ascii?Q?44m1XWepWOpvbmetbAKIDqv6JYCcpjaUWZFVQNlWiWq1mtE3JcUbaX4OQLRV?=
 =?us-ascii?Q?MzlUc3e6PO2KxTlDLOEeGIS/FInL7ErDDKg2vtLz69Hbd6JEvRhkPBzPA6xc?=
 =?us-ascii?Q?lTsMyFBrUbKf03/KChY/it7u2a03Td7ZQbaGteWWry1uAZHuXGxCpwSY3Cwg?=
 =?us-ascii?Q?VB4o5lT6j7K/Ryv52JoqJjvFN/ly9zgd/IjnlSsAmITQF/KzjnUeLw07Kl7r?=
 =?us-ascii?Q?gVIPIhQmVf5lyZU5278mCMNJ/MhSvqU8YVYQ3+k2n0gg6xKuw3gjqEfiR+jt?=
 =?us-ascii?Q?WeR04hXxY8sG10DmAo1lhLMhZtss1tzj4TrVEHaK9OMKzkfAUFkBO3eldkNe?=
 =?us-ascii?Q?e9fMV9p4iZvgexCLyt3fg472/mLTSUCsPhVRSqGqsM7wLnEVzHGCkqInJE7u?=
 =?us-ascii?Q?xAoOnc0gW4m4Iz+jaGocvQ2vDYzdsn+Ou2AdJSA7BC+3izhyzFv2V41idyKN?=
 =?us-ascii?Q?wRGE+kq33meE9SE6wfkWnCHmFI74KCs+YI6X1pNzdxlol5aKlpeWgAJ+j5r3?=
 =?us-ascii?Q?VynAPSLniw=3D=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d5a33db9-cff2-415d-6836-08dec63e1346
X-MS-Exchange-CrossTenant-AuthSource: BY1PR03MB7996.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 15:45:05.5778
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3Y3qxvocIZOSvTM9NTUFF9+T+8S7JeIIefoB5FNTONRoAo94M/sjB/QDDdsA3+ByF65hfQtIZfUL2NqXLXWSfA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH7PR03MB7785
X-purgate-ID: tlsNG-4011c0/1781019908-7CC7A8B7-05B187B5/0/0
X-purgate-type: clean
X-purgate-size: 11502

From: Ross Lagerwall <ross.lagerwall@citrix.com>

Add new EFI load type for kexec. This load type is suitable for use when Secure
Boot is enabled.

When this load type is used, the caller should not pass purgatory as one of
the kexec segments. Instead, Xen will prepare any glue code needed internally.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Signed-off-by: Gerald Elder-Vass <gerald.elder-vass@cloud.com>
Signed-off-by: Kevin Lampis <klampis@citrix.com>

---
 xen/arch/x86/include/asm/bzimage.h |   5 ++
 xen/common/kexec.c                 |   9 +++
 xen/common/kimage.c                | 123 +++++++++++++++++++++--------
 xen/include/public/kexec.h         |  11 ++-
 xen/include/xen/kimage.h           |   2 +
 5 files changed, 115 insertions(+), 35 deletions(-)

diff --git a/xen/arch/x86/include/asm/bzimage.h b/xen/arch/x86/include/asm/bzimage.h
index 8c54b21d06..ed61f9446a 100644
--- a/xen/arch/x86/include/asm/bzimage.h
+++ b/xen/arch/x86/include/asm/bzimage.h
@@ -47,4 +47,9 @@ struct __packed bzimage_header {
         uint32_t        payload_length;
     };
 
+static inline uint64_t kernel_alignment_offset(void)
+{
+    return offsetof(struct bzimage_header, kernel_alignment);
+}
+
 #endif /* __X86_BZIMAGE_H__ */
diff --git a/xen/common/kexec.c b/xen/common/kexec.c
index 00346fe616..1ae4c069c1 100644
--- a/xen/common/kexec.c
+++ b/xen/common/kexec.c
@@ -750,6 +750,7 @@ static int kexec_load_get_bits(int type, int *base, int *bit)
         *bit = KEXEC_FLAG_DEFAULT_POS;
         break;
     case KEXEC_TYPE_CRASH:
+    case KEXEC_TYPE_CRASH_EFI:
         *base = KEXEC_IMAGE_CRASH_BASE;
         *bit = KEXEC_FLAG_CRASH_POS;
         break;
@@ -848,6 +849,7 @@ static int kexec_exec(XEN_GUEST_HANDLE_PARAM(void) uarg)
         ret = continue_hypercall_on_cpu(0, kexec_reboot, image);
         break;
     case KEXEC_TYPE_CRASH:
+    case KEXEC_TYPE_CRASH_EFI:
         kexec_crash(CRASHREASON_KEXECCMD); /* Does not return */
         break;
     }
@@ -1147,6 +1149,13 @@ static int kexec_load(XEN_GUEST_HANDLE_PARAM(void) uarg)
     if ( ret )
         return ret;
 
+    if ( load.type == KEXEC_TYPE_CRASH_EFI )
+    {
+        ret = kimage_efi_setup(kimage, load.parameters);
+        if ( ret )
+            return ret;
+    }
+
     ret = kexec_load_slot(kimage);
     if ( ret < 0 )
         goto error;
diff --git a/xen/common/kimage.c b/xen/common/kimage.c
index 1d872916b9..9b49455e8e 100644
--- a/xen/common/kimage.c
+++ b/xen/common/kimage.c
@@ -22,6 +22,7 @@
 #include <xen/kimage.h>
 #include <xen/sha2.h>
 
+#include <asm/bzimage.h>
 #include <asm/page.h>
 
 #define KIMAGE_SHA256_REGIONS 16
@@ -109,29 +110,6 @@ static int do_kimage_alloc(struct kexec_image **rimage, paddr_t entry,
     INIT_PAGE_LIST_HEAD(&image->dest_pages);
     INIT_PAGE_LIST_HEAD(&image->unusable_pages);
 
-    /*
-     * Verify we have good destination addresses.  The caller is
-     * responsible for making certain we don't attempt to load the new
-     * image into invalid or reserved areas of RAM.  This just
-     * verifies it is an address we can use.
-     *
-     * Since the kernel does everything in page size chunks ensure the
-     * destination addresses are page aligned.  Too many special cases
-     * crop of when we don't do this.  The most insidious is getting
-     * overlapping destination addresses simply because addresses are
-     * changed to page size granularity.
-     */
-    result = -EADDRNOTAVAIL;
-    for ( i = 0; i < nr_segments; i++ )
-    {
-        paddr_t mstart, mend;
-
-        mstart = image->segments[i].dest_maddr;
-        mend   = mstart + image->segments[i].dest_size;
-        if ( (mstart & ~PAGE_MASK) || (mend & ~PAGE_MASK) )
-            goto out;
-    }
-
     /*
      * Verify our destination addresses do not overlap.  If we allowed
      * overlapping destination addresses through very weird things can
@@ -217,17 +195,13 @@ static int kimage_normal_alloc(struct kexec_image **rimage, paddr_t entry,
                            KEXEC_TYPE_DEFAULT);
 }
 
-static int kimage_crash_alloc(struct kexec_image **rimage, paddr_t entry,
-                              unsigned long nr_segments,
-                              struct kimage_segment *segments)
+static int do_kimage_crash_alloc(struct kexec_image **rimage, paddr_t entry,
+                                 unsigned long nr_segments,
+                                 struct kimage_segment *segments,
+                                 uint8_t type)
 {
     unsigned long i;
 
-    /* Verify we have a valid entry point */
-    if ( (entry < kexec_crash_area.start)
-         || (entry > kexec_crash_area.start + kexec_crash_area.size))
-        return -EADDRNOTAVAIL;
-
     /*
      * Verify we have good destination addresses.  Normally
      * the caller is responsible for making certain we don't
@@ -253,8 +227,28 @@ static int kimage_crash_alloc(struct kexec_image **rimage, paddr_t entry,
     }
 
     /* Allocate and initialize a controlling structure. */
-    return do_kimage_alloc(rimage, entry, nr_segments, segments,
-                           KEXEC_TYPE_CRASH);
+    return do_kimage_alloc(rimage, entry, nr_segments, segments, type);
+}
+
+static int kimage_crash_alloc(struct kexec_image **rimage, paddr_t entry,
+                              unsigned long nr_segments,
+                              struct kimage_segment *segments)
+{
+    /* Verify we have a valid entry point */
+    if ( (entry < kexec_crash_area.start)
+         || (entry > kexec_crash_area.start + kexec_crash_area.size))
+        return -EADDRNOTAVAIL;
+
+    return do_kimage_crash_alloc(rimage, entry, nr_segments, segments,
+                                 KEXEC_TYPE_CRASH);
+}
+
+static int kimage_crash_alloc_efi(struct kexec_image **rimage, paddr_t entry,
+                                  unsigned long nr_segments,
+                                  struct kimage_segment *segments)
+{
+    return do_kimage_crash_alloc(rimage, entry, nr_segments, segments,
+                                 KEXEC_TYPE_CRASH_EFI);
 }
 
 static int kimage_is_destination_range(struct kexec_image *image,
@@ -426,6 +420,7 @@ struct page_info *kimage_alloc_control_page(struct kexec_image *image,
         pages = kimage_alloc_normal_control_page(image, memflags);
         break;
     case KEXEC_TYPE_CRASH:
+    case KEXEC_TYPE_CRASH_EFI:
         pages = kimage_alloc_crash_control_page(image);
         break;
     }
@@ -788,6 +783,7 @@ static int kimage_load_segment(struct kexec_image *image,
             result = kimage_load_normal_segment(image, segment);
             break;
         case KEXEC_TYPE_CRASH:
+        case KEXEC_TYPE_CRASH_EFI:
             result = kimage_load_crash_segment(image, segment);
             break;
         }
@@ -838,6 +834,10 @@ int kimage_alloc(struct kexec_image **rimage, uint8_t type, uint16_t arch,
     case KEXEC_TYPE_CRASH:
         result = kimage_crash_alloc(rimage, entry_maddr, nr_segments, segment);
         break;
+    case KEXEC_TYPE_CRASH_EFI:
+        result = kimage_crash_alloc_efi(rimage, entry_maddr,
+                                        nr_segments, segment);
+        break;
     default:
         result = -EINVAL;
         break;
@@ -1064,6 +1064,63 @@ done:
     return ret;
 }
 
+/*
+ * Find the entry point to the new kernel, we need to map the crash region into
+ * memory in order to read the kernel header.
+ */
+#define KERNEL_SEGMENT_IDX 0
+static uint64_t kimage_find_kernel_entry_maddr(struct kexec_image *image)
+{
+    uint64_t alignment_addr;
+    uint32_t alignment;
+    unsigned long dest_mfn;
+    void *dest_va;
+
+    alignment_addr = image->segments[KERNEL_SEGMENT_IDX].dest_maddr +
+                         image->segments[KERNEL_SEGMENT_IDX].dest_offset +
+                         kernel_alignment_offset();
+
+    dest_mfn = alignment_addr >> PAGE_SHIFT;
+    dest_va = map_domain_page(_mfn(dest_mfn));
+    if ( !dest_va )
+        return -EINVAL;
+
+    alignment = *((uint32_t *) ((uint8_t *) dest_va +
+                                                PAGE_OFFSET(alignment_addr)));
+
+    unmap_domain_page(dest_va);
+
+    /*
+     * Ensure the kernel alignment is a valid LOAD_PHYSICAL_ADDR,
+     * which ranges from 0x200000 (2MiB) to 0x1000000 (16Mib) on 64-bit systems
+     * as defined in the kernel x86 Kconfig
+     */
+    if ( alignment % 0x200000 != 0 ||
+         alignment < 0x200000 ||
+         alignment > 0x1000000 )
+        return -EINVAL;
+
+    return ROUNDUP(image->segments[KERNEL_SEGMENT_IDX].dest_maddr +
+                       image->segments[KERNEL_SEGMENT_IDX].dest_offset,
+                   alignment) +
+                   0x200;
+}
+
+int kimage_efi_setup(struct kexec_image *image, uint64_t parameters)
+{
+    int64_t rip;
+
+    rip = kimage_find_kernel_entry_maddr(image);
+
+    if ( rip < 0 )
+        return -EINVAL;
+
+    image->boot_params = parameters;
+    image->entry_maddr = rip;
+
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/public/kexec.h b/xen/include/public/kexec.h
index 40d79e936b..287255ea6f 100644
--- a/xen/include/public/kexec.h
+++ b/xen/include/public/kexec.h
@@ -58,13 +58,16 @@
  * - kexec into a regular kernel, very similar to a standard reboot
  *   - KEXEC_TYPE_DEFAULT is used to specify this type
  * - kexec into a special "crash kernel", aka kexec-on-panic
- *   - KEXEC_TYPE_CRASH is used to specify this type
+ *   - KEXEC_TYPE_CRASH or KEXEC_TYPE_CRASH_EFI are used to specify this type
+ *   - in case of KEXEC_TYPE_CRASH_EFI the first segment will point to full
+ *     the kernel to load and entry point will point to boot params
  *   - parts of our system may be broken at kexec-on-panic time
  *     - the code should be kept as simple and self-contained as possible
  */
 
 #define KEXEC_TYPE_DEFAULT 0
 #define KEXEC_TYPE_CRASH   1
+#define KEXEC_TYPE_CRASH_EFI 3
 
 
 /* The kexec implementation for Xen allows the user to load two
@@ -195,7 +198,11 @@ typedef struct xen_kexec_load {
         XEN_GUEST_HANDLE(xen_kexec_segment_t) h;
         uint64_t _pad;
     } segments;
-    uint64_t entry_maddr; /* image entry point machine address. */
+    /* image entry point machine address or parameters in case of EFI. */
+    union {
+        uint64_t entry_maddr;
+        uint64_t parameters;
+    };
 } xen_kexec_load_t;
 DEFINE_XEN_GUEST_HANDLE(xen_kexec_load_t);
 
diff --git a/xen/include/xen/kimage.h b/xen/include/xen/kimage.h
index aab8707cac..ba5d5c2b92 100644
--- a/xen/include/xen/kimage.h
+++ b/xen/include/xen/kimage.h
@@ -51,6 +51,7 @@ struct kexec_image {
     paddr_t next_crash_page;
 
     uint8_t digest[SHA2_256_DIGEST_SIZE];
+    uint64_t boot_params;
 };
 
 int kimage_alloc(struct kexec_image **rimage, uint8_t type, uint16_t arch,
@@ -69,6 +70,7 @@ int kimage_build_ind(struct kexec_image *image, mfn_t ind_mfn,
 int kimage_verify_digest(const struct kexec_image *image);
 int kimage_calc_digest(const struct kexec_image *image,
                        uint8_t digest[SHA2_256_DIGEST_SIZE]);
+int kimage_efi_setup(struct kexec_image *image, uint64_t parameters);
 
 #endif /* __ASSEMBLER__ */
 
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 15:45:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 15:45:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333592.1596710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWydq-0001pf-2u; Tue, 09 Jun 2026 15:45:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333592.1596710; Tue, 09 Jun 2026 15: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 1wWydq-0001pW-05; Tue, 09 Jun 2026 15:45:26 +0000
Received: by outflank-mailman (input) for mailman id 1333592;
 Tue, 09 Jun 2026 15:45:24 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wWydn-0001j7-SD
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 15:45:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWydn-00DRr1-8p
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 17:45:23 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a28350a-e002-0a2a0a5209dd-0a2a4507d5a0-16
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:45:23 +0200
Received: from [40.107.209.48]
 (helo=PH8PR06CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a28350d-229c-0a2a45070019-286bd130e868-4
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:45:18 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by CH7PR03MB7785.namprd03.prod.outlook.com (2603:10b6:610:24f::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Tue, 9 Jun 2026
 15:45:14 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0113.011; Tue, 9 Jun 2026
 15:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=JTlUq2fUM2pnEw3KtFzYEzVleFHXKR/6jzCEsIu/Gcnw/zPebGO+wU8QZwLsUHMlhbrvzGbd0YBi8lvBOtB4UKIBiNRD4rwyvUoRozOVJYTv3f2O+fiCns+82+tF6VPvDgxFoFey9ZMmqZv4n6OTAzOS1S3yOVnTbOtww3s7Bw7OOAPfh0ESzBDDXAC2sjuj1BkUNupKVFU1Wak3teseqYxEcjKFkJQuWrtZaH/gRXXUhOykStUGQSMsoRu7L85NLlCYv9ifr46SPTA37XVz3cS4YlAN+YyOT1t/aOpZubxwxRkd6PzBMDYEUJoxNZKrtHvK64uEXKOOtIAImoAiLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gPg+TWxKIYR7XaCE1xZJb8H3djSCjAFUgUsgKxDPc0Q=;
 b=Wdq3I/dtHErL1WORbMkdJOYKNj32oSpS/JlTbP4yTt8mDvHb9yZtbZL+URct0Nz6TdAnM8YBrnhCWoqbvTV8l001daCGxPSVb7S5dxJ+CAtGzGm3xfMGWzd3MHeGWLkoPZG/UlfBhWGwl/iuZcm7xQB59TSiACV2h2rl/ZZxYJrqVbQon8T0BYVsmz3i6XdWfEfyKnaLo8zWgFNFfdByHSEnzY+pHoHSiM43YhrcNVGZijspCJ6o6hHdrcdJpp/vTpLrRqxGz/aN2GGCjEx1jKyOZXsa12WpyNNzy03UKbi28qYVl4DB/2JFZWqPocEi3bUElBgSiRTy8YzOABZWNw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gPg+TWxKIYR7XaCE1xZJb8H3djSCjAFUgUsgKxDPc0Q=;
 b=tiwgoMxphYeM5NJ8SLewcpAjM5/a9DwI8vyDEo+ydxUjMM/yx9CptbRItYnjwyWOycx/wcqPO6twrgV4V0RzJPSyUXuML0MGZsP/+xujWW5NgluhN8BgAuHuLV+l95TVC7Un76+YESlNJAneQJABVDgfS5I3aTjqaSmjqBqtqxI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Kevin Lampis <kevin.lampis@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Kevin Lampis <kevin.lampis@citrix.com>,
	Kevin Lampis <klampis@citrix.com>
Subject: [PATCH 6/7] x86/kexec: Pass boot params directly to new kernel
Date: Tue,  9 Jun 2026 16:45:17 +0100
Message-ID: <20260609154518.779757-7-kevin.lampis@citrix.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260609154518.779757-1-kevin.lampis@citrix.com>
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO4P123CA0450.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a9::23) To BY1PR03MB7996.namprd03.prod.outlook.com
 (2603:10b6:a03:5b2::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PR03MB7996:EE_|CH7PR03MB7785:EE_
X-MS-Office365-Filtering-Correlation-Id: bcd852ec-ab58-4522-e3c8-08dec63e1806
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|18002099003|22082099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	YYBOz7E6oipfqvpyR/YMHTTVsaJS1hqWyPLN6MSaJNswnloY++e61Yhq5WAycf6ibHX2RDmAsxkN1jEKmOXxcNT2XLbpmeg9rGH3MDoHFJFbwsURv2PS4NfRysiKmC4KzTZbQXMn0I/V2rqHHdvopKXwFM8feZM1G8mUy2UK2j+SmHp0zbtKtzHtUBEf9k70QRZX4r4q3LbvQaLYcdtmS3MXGRSm2veXcVq5LTMd67ueopdSJPMw36QTe3r9UPO7xX9TAaIspuHzZcymQeNuL9cP341aWrj3YiyfQymH0LxFEkccQKAzO3AdRZK15J4vVVescyeaunMw6HQihLxKApnqt/I1jrJvmNUxUP/kML6c5PP8p/MdUT7fouleyKonLna3Mq2WS49wzuRYE0LWwxgV1+OPptGwAjvRQ03gXL6/uTTbun+XXc9aFAJ1J1r1+4pRcTSKs5aNNYCuLbS7jFEvM/TVYOI2zOWYbji8c5YxuUTygWhNI+IzdRfkD0vXmAyF+sW5Ysu7JFF5KhfmIdvZPuCPbSi5h9h24xe7evlgHSqohndeBZpPXmVDWzi0fGfYJQ/6sbeCYyYIAzTE9K5TxfjNrkqBuJ+W91qSOJOVsBTOwDbKmyDn7Gdo7V8b0ta63BCbF8tQWmeIuJMSQHwKzXX0YX40wOpyA+VRLoVzYBDzxjX5sbirV4000Mfu
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(18002099003)(22082099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?g7Hiv0adepktj0eX9wDa19U7YmyVJujy6VpoHOigMAKN1uAp+B95mg5Z+3f2?=
 =?us-ascii?Q?mA75NaESqEFnJ+yS0LC2EqjZW1n9aVPCr1LL0B5/TakcuaDQLWMg1z4nSWOZ?=
 =?us-ascii?Q?GJM5VzMbMqm4b+aLcDb1ueeBZvBpnvzep0HIfwXjk+i/4CDM9ACbFm7aP90Q?=
 =?us-ascii?Q?g3GMDULO2hhQfcimEQ0SmmOuSK9j2KaxuOSPYASxhGhsLLCwZsVkgG7pcXp5?=
 =?us-ascii?Q?sYcxjJ9zx5ELVdVKxBd5zNk4x05/P3CjVcWzfPpfOyr/gWO6ylWsjfrhPcfM?=
 =?us-ascii?Q?lUx/cYeHA/lUAKda4IualikU91m6tr9DoMcW0t92HO6YDJtwLuKRoacC86g+?=
 =?us-ascii?Q?+DOZ0geIgf/uYCa3Vg/Rgiy3FEjKSSgBErFk4Amfao5UUbtW2ydaHqTh7oB5?=
 =?us-ascii?Q?7tJv7wtiG6LrHMdfS2Oe9hyRdfSPdBZNz/RPhHUGjvPzdVrjacCtvEYjuZh/?=
 =?us-ascii?Q?pv8qximcfxWIuDGTlZDC4e8puJ9YSzMMlwq+n6qhuzisQhtxl857YXYVSEsq?=
 =?us-ascii?Q?nrnEnrlwPFr9e/gADaDhckrnDKtqG/JkAc0R1u6OsMyzQh9wdZ/WVd3JWWzg?=
 =?us-ascii?Q?137L7apLt1P9r/BpQoZCug5MB6FemE8/VMBCXWRAvU2YLqB4DJwCjMG0Pj5h?=
 =?us-ascii?Q?KSP2f7kCtagBzfX17xHXdLAfhy9ucutR+hKfiqDm4/KmPJYC10LoEREbVY0f?=
 =?us-ascii?Q?YHBkLfBy6HlPbfOfMqwVYNvqPzD/D78NS+QGSdAoDzeH36Q1aDUEI7xDeyz/?=
 =?us-ascii?Q?aU7WiVsZvuSG7OcxDLvjx4yh+2HWnNZvHqzLiPrqVZ3+gKUlEJ6Wby4+Ydtt?=
 =?us-ascii?Q?JiAWomZvGs84ZQ8H7U0o1NpZ87FloJX5tlvhskgkX93r73h9nj1/AZtznnAk?=
 =?us-ascii?Q?gl5hoQMn/CxMaUOhicjRLXaK1qgBDLhRFWBwCvRgFnfq881uV0G1wJnosgvy?=
 =?us-ascii?Q?8xweEoChmiRXO+fVtOYdWTAJvWDU8wXTOO7tutXZzskYbPSevS+xOoB6rWoQ?=
 =?us-ascii?Q?GKWW3+XWDIu4QSGFkazY803K8sqHC7uO34/IWxoG+SBGnuUer2kqy8rNAz9L?=
 =?us-ascii?Q?Pt1Yn6AVRGuEfeWCV+eTXYqNxkpaxrDC45b5QSn0UuY6im4nB1BXnnGT2TsM?=
 =?us-ascii?Q?DcvXJG9E6m4orE3XFUeEwN2aK6lfJ9DrOpwTP+mMHx40cXUeAZIj3Sna7MoV?=
 =?us-ascii?Q?jx2y3M4KT4LNV5MvtDWq7BvPQcainzTXvjZHDiyI80V/VzRZwJYc83deK1HG?=
 =?us-ascii?Q?6+e6wZYQiB/TxY/Wgq2YtkKAov0kLdAc2VeIFrWQfj0m7z2Fod4pW+naScir?=
 =?us-ascii?Q?KjjHwygsZIXej+R2y8hYY97XqpclSvDoOeREvFxpwbjOfWbtZL1bV2/Q34eU?=
 =?us-ascii?Q?TEykfo4rMdX9z+HG2awbgjIBdmSSw1MjWAS+0JZ1MBEu7ffoBEFOajt4z6Ly?=
 =?us-ascii?Q?QYvSSWL0l6ZmR2yLvKybIL9GxNb1/YHLzVFl5jAlqRi+yN84DUbo8BLznMnO?=
 =?us-ascii?Q?ZesbKjWVdQocCPZKr1YRlJP5t2K81jBCM4mGXg+c7wE1hwLLydOi8/ptmBic?=
 =?us-ascii?Q?umiqt2AsrbAkZdca3OCQoKhq/zU5sDPdN+fC78PAKpTP2nIzCC8sNYwxpRs0?=
 =?us-ascii?Q?sfVeQ+Ix18mvNKRVoh1TsH6m9+uNwPqd4e1dyubF1FStze5ZVlS/HKkclUxS?=
 =?us-ascii?Q?4Ccd9D5Vl/CSkgF3y2byS1G7w0THLMNYr+JCNV5UqLrtoedwpf+aUsfIWgr8?=
 =?us-ascii?Q?r4C6z4oWGQ=3D=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bcd852ec-ab58-4522-e3c8-08dec63e1806
X-MS-Exchange-CrossTenant-AuthSource: BY1PR03MB7996.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 15:45:13.1258
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jcrPE6PC8LAOep5Vr9d5wg1kbESwr5Wa5SvC3phofBIksjc678378IH2mGbf4BfWtITTwYRYNHnqtxzUy8IrKw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH7PR03MB7785
X-purgate-ID: tlsNG-ef75cf/1781019919-23374C48-7470FF23/0/0
X-purgate-type: clean
X-purgate-size: 2348

When doing kexec on an EFI image there is no purgatory and kexec_reloc.S
hands off straight to the new kernel. To facilitate this the linux
kernel boot params need to be passed through %rsi.

Signed-off-by: Kevin Lampis <klampis@citrix.com>

---
 xen/arch/x86/include/asm/machine_kexec.h | 2 +-
 xen/arch/x86/machine_kexec.c             | 3 ++-
 xen/arch/x86/x86_64/kexec_reloc.S        | 3 +++
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/include/asm/machine_kexec.h b/xen/arch/x86/include/asm/machine_kexec.h
index 3e189acf24..010e0c7046 100644
--- a/xen/arch/x86/include/asm/machine_kexec.h
+++ b/xen/arch/x86/include/asm/machine_kexec.h
@@ -7,7 +7,7 @@
 
 extern void kexec_reloc(unsigned long reloc_code, unsigned long reloc_pt,
                         unsigned long ind_maddr, unsigned long entry_maddr,
-                        unsigned long flags);
+                        unsigned long flags, unsigned long arg);
 
 extern const char kexec_reloc_end[];
 
diff --git a/xen/arch/x86/machine_kexec.c b/xen/arch/x86/machine_kexec.c
index f921eec5aa..2edc1bd0af 100644
--- a/xen/arch/x86/machine_kexec.c
+++ b/xen/arch/x86/machine_kexec.c
@@ -198,7 +198,8 @@ void machine_kexec(struct kexec_image *image)
 
     kexec_reloc(page_to_maddr(image->control_code_page),
                 page_to_maddr(image->aux_page),
-                image->head, image->entry_maddr, reloc_flags);
+                image->head, image->entry_maddr, reloc_flags,
+                image->boot_params);
 }
 
 int machine_kexec_get(xen_kexec_range_t *range)
diff --git a/xen/arch/x86/x86_64/kexec_reloc.S b/xen/arch/x86/x86_64/kexec_reloc.S
index b52d31a654..6a2c839b83 100644
--- a/xen/arch/x86/x86_64/kexec_reloc.S
+++ b/xen/arch/x86/x86_64/kexec_reloc.S
@@ -33,6 +33,7 @@ FUNC(kexec_reloc, PAGE_SIZE)
         /* %rdx - indirection page maddr */
         /* %rcx - entry maddr (%rbp) */
         /* %r8 - flags */
+        /* %r9 - boot params */
 
         movq    %rcx, %rbp
 
@@ -71,6 +72,8 @@ FUNC(kexec_reloc, PAGE_SIZE)
         movq    %rdx, %rdi
         call    relocate_pages
 
+        movq %r9, %rsi /* boot params */
+
         /* Need to switch to 32-bit mode? */
         testq   $KEXEC_RELOC_FLAG_COMPAT, %r8
         jnz     .L_call_32_bit
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 15:45:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 15:45:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333593.1596714 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWydq-0001sQ-CS; Tue, 09 Jun 2026 15:45:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333593.1596714; Tue, 09 Jun 2026 15: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 1wWydq-0001rR-6p; Tue, 09 Jun 2026 15:45:26 +0000
Received: by outflank-mailman (input) for mailman id 1333593;
 Tue, 09 Jun 2026 15:45:24 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wWydo-0001l2-Qe
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 15:45:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWydo-00DRr1-7C
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 17:45:24 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a28350a-e002-0a2a0a5209dd-0a2a4507d5a0-24
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:45:24 +0200
Received: from [40.107.209.48]
 (helo=PH8PR06CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a28350d-229c-0a2a45070019-286bd130e868-5
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 17:45:23 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by CH7PR03MB7785.namprd03.prod.outlook.com (2603:10b6:610:24f::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Tue, 9 Jun 2026
 15:45:21 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0113.011; Tue, 9 Jun 2026
 15:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=VTk47K9I/PRYcV+dll7d7BwxlGryrM2lsb3bkc7CgE59rNseIX2G1tuTrPTvNs8FhmGSLyPxjWDExfED10ECSy6sFRQvgtwEN1lR5raFRbWoTvd6E2sAdv9pBG2kCWruW3pWdwn2ZDBPHWxvHvvfoCC9yJEki8qerpD7qAu2s3dSzJ2/8yGXtET/VmyaLHStA6VTGKxg5InZbhNl+ZHnuv7ftQXbE7EXxAoZGXBFm88S/aazubI0WfESLuwdktSSSSvi75UuWIoGDSv/R0Q5If+FXAm0SbpqCZ8SM9n/20HrGIliq4gMZd5gi3nGD/1oLCz1De8i5n4qYE2cuBzV9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mX8n3a47dmyiQ43p+mrCyQsl4Ss0tUYDgsOf9iF4SZ8=;
 b=t/IwFyNgPB5vn4y5ftGwCMTiWdZ3C2jXF6uIX6J849k+2cjY1hPvSsSyTjvghgT/ORGd7mrriiB2Hk1cOlVq53ZC3H1xYD3fCP0+zhzo8yvFYEzM7dFhNxYFzuIAtunRJpU9h3nAbtIppnRGa4/21P2QSH51GYmOIIKLJSl8IJgnQ6H4wTMUgf2MSjVLxv54K0fsmEbFMZ+5Xg55hmfnChixPZ38KeZb3KYqXXvfSrNOR9AjQrnj31OmdlB6sRBlBcyI+hZAUdkz1+QPyyHH0TGcBiVeD2FQ0Pe4vSX51M4d1Bp7hfoY3tICgXA5LakJ9nPAIldUtOFDTJD2a5M6mA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mX8n3a47dmyiQ43p+mrCyQsl4Ss0tUYDgsOf9iF4SZ8=;
 b=or43tL16AdMOL59FaiCzXS9VNfQPgQLfRDnZYO29+wH75qZhys+kt98Q/cl7NVF8iOYQ7Iqvtik+1InjAnfkT40chQLcwAeegVDlJmH2a6PV13Yt7RNvViTF7QI930y4SoYNr0Uzu6GR5bYbeTORjGKza7OXRmzos/u4YwP7T/Y=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Kevin Lampis <kevin.lampis@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Kevin Lampis <kevin.lampis@citrix.com>,
	Kevin Lampis <klampis@citrix.com>
Subject: [PATCH 7/7] x86/kexec: Zero general purpose registers
Date: Tue,  9 Jun 2026 16:45:18 +0100
Message-ID: <20260609154518.779757-8-kevin.lampis@citrix.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260609154518.779757-1-kevin.lampis@citrix.com>
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO4P265CA0220.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:33a::18) To BY1PR03MB7996.namprd03.prod.outlook.com
 (2603:10b6:a03:5b2::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PR03MB7996:EE_|CH7PR03MB7785:EE_
X-MS-Office365-Filtering-Correlation-Id: a28493b5-cda9-4324-40b0-08dec63e1d0f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|18002099003|22082099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	4YQKk2hPXzsaipMxsx6jZWT+Dzm4i2xf/VWE1z1y2D1K5QrO8hwNWTv2rHzSy0xc/uigHhi6v1tl7qGvz53V/vA6IK72MnbqPqm8pxd2Diz9uprlfrWBsrGMcbsTkn0JCdMlgSbh5ysTlF58EE3Qts2Z9oKH9irvycM6OAqVbAUGXrf3qDakW1xofhjoUO12HE9mmZC0QbhW1uUPKAbrHrrwwK/HoI5XifOxoZ/g69lg9JrAbtxoK/ADpSrzaDnwJeFRozURG73SXkO3b8Ujo9lUr38537pnE+oioDvoG0hxZPXbwaByEbdq6m9z5loIPGagvc8AZZFOnfb3TkB7yGBTWPGHOHoRufSYc2wQw/Nl40hsmkZqLI9pV9twoKESlfSQkpngR7G22neRiJoIYVnn/Js5IXBG+P6/eq9ANE0BJex1mcqxJMdzIgAs9SydAO+vKgTy3iaMhin+qj6iwrxR34jfBP69XZr04Gi3wuAwYb9wB+Co5JlegNN91lniEsj5ZfPVycptiuGalNfetHjj0tpCTptyDHpGbj94I9LtoQvo5280nw/rWTQd/8jWq64YU5yUxbkOy5O0eh/3BdjDhEYaz/IKxisGfCjapWKPhe4TLJcEDXDQP3+Bno7Oue8NK8A0hNiQxanUT5p8DeKv5Vqk8XfcF6/4rbqrigHuRTbt9Zyxl99/LuTrd43v
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(18002099003)(22082099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?GtSefAIIcQ3MwD9wJEPrMXIiJq3bICvdbltG7oh2AtZjbI4PgdzKqHOLSza2?=
 =?us-ascii?Q?c6AqFZxwdrSP0IkJy6XMMm7H9V89PYO+WDJ8WUEiSOItxnsG9I+wB4g4Sk1W?=
 =?us-ascii?Q?oH2KfYqWEgjeYNwRhJ0XnseRyl672Ke0bOszYMVvSK2jzngEOm4TW+O5pOnX?=
 =?us-ascii?Q?UV6bHcnFr22r86JWBeXP7yekdeCnIHu5xPtrqc+xdysBJZ0XgFl/Fu3e+Py4?=
 =?us-ascii?Q?rbD5tLW//9zsPkbNoNBMQZdKG7ArJY4rOSz6enhhakH42f03JJr5FpdHpeM9?=
 =?us-ascii?Q?4j7pMtp+tx/rFupyeByYh8OH9/16SGHnOG3QcNoizUeTXp5OERzSSSJ9p9GD?=
 =?us-ascii?Q?761qD78kCrxLSH607RqPWCx7rkqCyWrxyTn4sRDLxcSad5x8fwq4IZl8Xixm?=
 =?us-ascii?Q?UaAXk1xxNRChS8SBORF1MwdFD+blbOMGgBIwolk11sy6nvrXJqJy2+Fc8Hhr?=
 =?us-ascii?Q?1Yqd9siYz4uKqIESirz9FqRzY3jptcw/lqS3sGtcmrj7tn/AdQZVvbd2teQR?=
 =?us-ascii?Q?JKh/6wcpkfxyLixDkplomXVMLzMLG63Z+bhFpQjdOgaSnjS0C9HPT4jbaUFQ?=
 =?us-ascii?Q?F+XlSb5hnt+giKsLzIy2/ZZBJInNzWcI+EawjbXVFiBvH7kliQp61vxFk9au?=
 =?us-ascii?Q?3CSk7KYhtBrWTsjpi/7g2AtXlC/sDt4kQ6vyq1Ac5+HQCPcnDztRqXHNKBsN?=
 =?us-ascii?Q?BaIcATY4h9iGCHOo+I63rApCLkOFrCTgJBHTpEvz5TtioksIJpovxdC/C0kD?=
 =?us-ascii?Q?ljt1jN+oIrWocfT4dOH6w1VJECMq1f4CU/6P1PDclNuC9YDi4Y+FVX1BIYeY?=
 =?us-ascii?Q?RAsJ2vYnHiWLcHav3ZaFwJdHsNdD4xtPRIJdDHI8Hxjqfc0hI8DKnD/wp0zB?=
 =?us-ascii?Q?NwwiAzHs1ojDm+dazwsSpHU32OsYW6k15rkC/Wk3tXzfP5KKo6C1Q550Z/yZ?=
 =?us-ascii?Q?czr9ZDvH/UCck2XQTcJ+B9RHdZ/LP07Fl3QosF82vZJIerscMHeJZftZBoJD?=
 =?us-ascii?Q?sc0xbeu4jS/aa3hxd0z3NVKKCxiGtqTU6Z/gqpOEBr1xAM9cZJ7iWL7Azo0A?=
 =?us-ascii?Q?DmtX0F4cGESmbtxW+SyBCxX5g0i/y/qutswV7DxVxkZSGspORsj3FA6UN/XU?=
 =?us-ascii?Q?IWueAdDJ+fneP8z2KNCIscxWK+8ZNYDM8YSVnNNrxQ6VGcNpIYXMnpIosaVB?=
 =?us-ascii?Q?XaXgE3a5VBh5dnTiAgLtNjDvI/JIoH9xFwEAnAY4NY/tuO0/pL4ns3V+HQY6?=
 =?us-ascii?Q?mhd5da3AqNpmiKVRu6BF8pp7/sB1yyOZWbut9wkPTPA7SyCeTJEtqK3v97vc?=
 =?us-ascii?Q?oa+PRZAAngDwKdc4LhuVt1t6HB67Tx2+VAEJBY7WMnZ1ji0hwKpVM2WvLQry?=
 =?us-ascii?Q?H8AsxMf7cF6IHAkiTV31bNjMNefykMAJkZfoEkGFpt5pJSJphjrraZrZBOZY?=
 =?us-ascii?Q?W10oLMtufNPkIZUi8DHDen+Z0CjjpCMqiEgveZb3bN2mqfftKWEsyJKzaKfL?=
 =?us-ascii?Q?oHKXSxqYEF2IyaZZclTfxN6e+Zaiw4kKD7Udae9fIQnpAWL9EjCVwXty7h+p?=
 =?us-ascii?Q?zgMrIybfpBrTe1CEvbJrnlvsrYN6+R4MdSq0/JNSz4Jke6fA+qzT2/NLJKpQ?=
 =?us-ascii?Q?8rDTbNKgp7rg2DKXTOsVMP/QmQhdG6XZaYM3Gy3FYOYbmhGBLBPXk0dYFrhG?=
 =?us-ascii?Q?YhS60s5zzsoA4pbhIF4ibRd3tNhvd0sKeuhc7ZYuIzwRyfrTB/0XjQDDtOTq?=
 =?us-ascii?Q?b5iY8Q20JA=3D=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a28493b5-cda9-4324-40b0-08dec63e1d0f
X-MS-Exchange-CrossTenant-AuthSource: BY1PR03MB7996.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 15:45:21.4734
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ABwN6uVU41g18xGFx1sfwHrVsPtHt5v0WoSEjtH9/A2GtWmQ8jyolhmwcju3rnxmcPXJNQuVQ7lREG+wnbcXJA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH7PR03MB7785
X-purgate-ID: tlsNG-ef75cf/1781019924-0A36CC48-933FDABC/0/0
X-purgate-type: clean
X-purgate-size: 1493

Purgatory zeros these general purpose registers before jumping to the
new kernel. When doing kexec on an EFI kernel there is no purgatory so
we need to zero the registers here instead. This change shouldn't affect
the functionality of legacy kexec.

Signed-off-by: Kevin Lampis <klampis@citrix.com>

---
 xen/arch/x86/x86_64/kexec_reloc.S | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/xen/arch/x86/x86_64/kexec_reloc.S b/xen/arch/x86/x86_64/kexec_reloc.S
index 6a2c839b83..be9e487f7a 100644
--- a/xen/arch/x86/x86_64/kexec_reloc.S
+++ b/xen/arch/x86/x86_64/kexec_reloc.S
@@ -78,6 +78,20 @@ FUNC(kexec_reloc, PAGE_SIZE)
         testq   $KEXEC_RELOC_FLAG_COMPAT, %r8
         jnz     .L_call_32_bit
 
+        xor %edi, %edi
+        xor %eax, %eax
+        xor %ebx, %ebx
+        xor %ecx, %ecx
+        xor %edx, %edx
+        xor %r8d,  %r8d
+        xor %r9d,  %r9d
+        xor %r10d, %r10d
+        xor %r11d, %r11d
+        xor %r12d, %r12d
+        xor %r13d, %r13d
+        xor %r14d, %r14d
+        xor %r15d, %r15d
+
         /* Jump to the image entry point */
         jmp     *%rbp
 
@@ -94,6 +108,13 @@ FUNC(kexec_reloc, PAGE_SIZE)
         lea     compatibility_mode(%rip), %rax
         push    $0x10
         push    %rax
+
+        xor %edi, %edi
+        xor %eax, %eax
+        xor %ebx, %ebx
+        xor %ecx, %ecx
+        xor %edx, %edx
+
         lretq
 END(kexec_reloc)
 
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 16:31:01 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 16:31:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333667.1596840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWzLl-0006na-TC; Tue, 09 Jun 2026 16:30:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333667.1596840; Tue, 09 Jun 2026 16: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 1wWzLl-0006nS-PU; Tue, 09 Jun 2026 16:30:49 +0000
Received: by outflank-mailman (input) for mailman id 1333667;
 Tue, 09 Jun 2026 16:30:49 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wWzLl-0006nK-1U
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 16:30:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWzLk-005ED9-EI
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 18:30:48 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a283fa4-2eae-0a2a0a5409dd-0a2a45099e70-44
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 18:30:48 +0200
Received: from [52.101.56.71]
 (helo=BN1PR04CU002.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a283fb7-2497-0a2a45090019-3465384720db-4
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 18:30:48 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by SA0PR03MB5546.namprd03.prod.outlook.com (2603:10b6:806:bb::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Tue, 9 Jun 2026
 16:30:45 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026
 16:30: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=stDTKF+ta5z2wsyt9yj8r/XOq0lkLMzwDjdMCJHZkhSmWrciHQqm46psGT+JjON4aa+OnLrSYtYLTZCpkBOhX4YFiVY/+fgzTWGLA8sXjjtOC07xd5oa/0/XjFXLA+kd0Ac0I7Evca1o/ByP8NceSdiXhYb2PowwjBLMe0BxuPdNofH2BNkZU+snhdCOXl4LPkrqQ0H0NC2hci4Sq+4S3b3qu2e2K/TU65Aw58+Bo4ffsFw0mqgHYieN9k72sHh/TCnfEcHczzjfG93eotfmf4ThH1rJ6kpKnWNowhIE/QD+qKQmHAnYNGGbssPRXc4d6lJR+uKx+7KYwulGy4aF1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IjH3sAuizMS53IN1fY8dPGGLXNVAjqiVjVWBh1c4/nY=;
 b=tcus/kF1od/jJgt7OXY2z+Xnn9REqEZUcaAZYq5ohnFeReLY+6f2YBd3YZOJqsInihGxTN57P5ZBTuLbcqKxXoP2Lb0ePBYu7Ae2gG/BXnu+nYO0QRaQPx+pzfl7jBWh6bZJmXXQ494zP0s0ztKK8NezUMLPpI7cBGGax1rvGSjyjCQb76DUtBxVVZXkfArpdHL3rkRbyElbV63Tg1s2iE6N6Psjvo0gL2U3SktkSfwECbQqPvIW41gfx6gkIydUuD4h9QhOExQ9QxBBrZ/U/gGhgSWrV+8823dHe++HkhU+UTsv9gwDzIrdT5DkvdBNV9w1EcbDXbSbxv/6xNB2VQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IjH3sAuizMS53IN1fY8dPGGLXNVAjqiVjVWBh1c4/nY=;
 b=wnEjJOcxyQ5ON+s1BqD2Atwi842CU5YN729//9n6rfng8JzuFt14Slmw9XU/Xrd05y3UsOWcN0t8iOkEzmjbrnPGkl2tOb671fHFj56tX3wOrh3VaPgy1dDTh9q2n9I/0z7PtMQwgjQEnKa2sgKZQZLQg9ktTFoFlwt/Gu0G7KA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 9 Jun 2026 18:30:40 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH for-4.22] xen/x86: Always strip xen.efi
Message-ID: <aig_sPP3MpBbddXr@macbook.local>
References: <20260608173108.2848469-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260608173108.2848469-1-andrew.cooper3@citrix.com>
X-ClientProxiedBy: MR1P264CA0146.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:54::7) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|SA0PR03MB5546:EE_
X-MS-Office365-Filtering-Correlation-Id: 1c717865-7ba2-4492-4d73-08dec644743f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|11063799006|3023799007|56012099006|6133799003|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	9Pf4RXEjM0B6HLmehhsyHjFa084og1mbwTB3pSxO4IdKEuRGrtpQk6yo0G0VwZH8lJRGZWrsJH8CgAzR2hY9nx7oKKacAyBnn/M8vdfIcQ6bhAvWMRqBdJ6SObdKOXYpxh7mReoTpBeeKff7GlP6YWUzCLsoWYOvdqi7QoYxkyGbZ8scfNYTCQBUucFYV68XyeEKA4tlfB+f10OfqRkE2Y5tKvEIuvbKqtnHBvHS+GGtkIqIOZiWM9Y/LxkEOazFxvEJR4y4ppo9IF1gkPh9SDbMpuWpq5NO2pokIMtGcgqp2MNvZkrCD0/cBGLGAFB/5A9kHdsdU9QJ4DPqd5fYu5BqmqyOa2sKVT4PFiSkq5bq06XI5h9Oa2QkLM7NP5iBCEzqICanTZdAhFM5Wa4p37pWjcNwEWJwOwkMMEmk/L3spzKMHZr7e9zwEwIZKBNwRBLe9OMFjiknA9b7yMAkFjc/DCwsszWxDztMJHPSJ0d4oPeQM4eaMegVO2zJTEiPkbWkfis0G+UIgE36rt/P0CNZ4xKJAX57kcTAcxsQvL+vXwsY5Yk3rp4fFqIOhxJORBu0Chm0EZFTC6Nn7AkCYQTU8wdQusLuB5oRbD+xiDpy5pkbwXjUGoKCpL4XIjyxst7zlnt9gDdoqlnkMhuGMQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(11063799006)(3023799007)(56012099006)(6133799003)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R1NSelQ0UTgzd0VVSjRRV0diS2dWK3F1b2c1V2E2d0ZlTGsyd3dBOGFqdHZL?=
 =?utf-8?B?V2NRU0t2dTBYOTUyT3kxNDhQUHdwaEZma3pmNENCVUpuMjZrUEdwTGlQTjh3?=
 =?utf-8?B?WlNtc0ptNmJ5MzFIblI4ZlBDYndzOUxHQ1FjejdoclNWS2w4VlVlaVBMQUhz?=
 =?utf-8?B?aFQ0UnAwTkM4dkRaeXhhZHNVcmZFWlJtWm5Tc2lUL0p0bnB5QzhkN0UzNnBr?=
 =?utf-8?B?SEZGQ1VoS2VocFJMWU8xSnhObEZ1cVFFWjh4a2R1MElyWnRlaG1TZ0hLK3Nn?=
 =?utf-8?B?dTR5VDZvL3U5Z2tQcGVCcHBsUGE0M3Y3a25jdWZYUEl1ZjRlNnRReG91Tjcx?=
 =?utf-8?B?aSt6dnJTbmlNOW9xSHdHTEpSNVZERFJLRThKV1QydXlwanFBR0VmS2xXK1BR?=
 =?utf-8?B?TlA5VmVvSC84TEdjZ2RMNUhjMnU5VXFneW9pT3QvZkZIWW9oQW95ZzZKeXJ5?=
 =?utf-8?B?eEZ4Q05QOUovVEFEb25RejlXOU41U3YvZTVrZzZ2N1BTbUdjZzZFSWtCZ1ZT?=
 =?utf-8?B?aWRsT21TdzhlMWNWVUJ2VHZrQ0VUTUlaMFZjNXlpai9qUFZIYmtYVzhUL1lh?=
 =?utf-8?B?Sy9IV29pL1drQ3JoME1YK212dGxtV0xsRmZZSjJYempBQVFhNUNwUEthMnNW?=
 =?utf-8?B?S0ExeHJQRjdHNUxkM3VlcGRDeGI5ejhPSVR4dWxXOVkzTW0yMEFjdW81OUpX?=
 =?utf-8?B?bHVLTmdKOGhETE1OcVp3QnkzQm8vMlNRYzNzSzFQT3hVNW5qZ3Z2Rk5vUEs5?=
 =?utf-8?B?bXZBUm81dDV1eURxNFllZUF2Y0xKRmJNYjJZV1p1dEdUanFQSUlERnVvQmJ4?=
 =?utf-8?B?S1BnZXVPSXFqQnQyVmloeVltVy9tQmowS3RQZ0pqMnJMNjl2VkEzQ0o4UEJO?=
 =?utf-8?B?Nld1eFJCS3ErYkJvRXAxTjhDay8ycUtxdzVna3ZuQ1JUYnlKVktEVEg1c1JB?=
 =?utf-8?B?K3NyMWFKc3orUjcxRmxaQmdWSFpqQ082czcwQ3BxWmxKdzRFdXJLbFRySjBW?=
 =?utf-8?B?QVVsOU9yTnpvVDJTMlB6N25Ta1N5RkU2eE83YnRVN0g1UHV2ZytjYzBaZ2JC?=
 =?utf-8?B?Z0plL016YVJpODBPblEvQVNtWmZIZ0FTc1Evd2gvTmIrZ3RYajZtWnJSZy9X?=
 =?utf-8?B?ckJGZUdmZlJtRDQzN3ZVQUlCbEdEWXQxekZvb0Z1UmxTdGFQdXlMZTg5Vzlt?=
 =?utf-8?B?akhKRkJUeUt3M1BXNzcvMWdpUzVvc1B6VHYrSGpHVVVmYVI3QnZDSDM1MGts?=
 =?utf-8?B?Y3dvSmQwV3ZJQXlHMWdraHJIaWdBOGNEV2paVUxmTDAySGh1RnBYMFh4SXMw?=
 =?utf-8?B?WTAycHlYRzJCL2dUdHNKRXZZQTBldWVqVCt1bHJSODVOTVNKU0FkRjM4amF5?=
 =?utf-8?B?dzUyWVorZmRZaHkzV2Fsdm1CZW9INUJvb0J1Zm1PaW96Slh0ZjhERGZHOGxk?=
 =?utf-8?B?UDcvTzlqVTRWeVMrQ0tqRldpVXNkOGIvSkRXWE9YVXM2KytURGppM3RNSHJ3?=
 =?utf-8?B?dEpKQnZXV2FUUXA2TlNFM3pCUzJjSjlUc2orYUFYUUdPaVZ3bDREZEFPTlV2?=
 =?utf-8?B?cXNPaktqMy84cW1yQzBjMEkxM013VHRlVGk2Mk5oQURaVGc4ZzNYSjI5VkN4?=
 =?utf-8?B?OERpMWxWL0pGZHVBYm93VU44UUNEM0o0YmI5di9yQkRLaVREZ0V3UEpaVHM5?=
 =?utf-8?B?blVWNW0rOWFOU1VmWDRQOTB0R1U3ZGVORlFPekEvMkg1NVRjYnJKZkN2NWVI?=
 =?utf-8?B?T2xXcDFCa09mMlUrYUJTS01ZWnNzUnZvTmJ1bUNhUTJWR0ZyTnNQU3kzOTBC?=
 =?utf-8?B?emx1N3NZbVdGR1FqT1FmdlRXdDVwNEtrNHZGR0RHaEJQVmN1cW1pQVRScjNh?=
 =?utf-8?B?YVBMVGtYSi9hTDFHL0FJNy9iWitkOEZBVVk5VEJXU0Y0T1lDaEI4bmZ3QUFr?=
 =?utf-8?B?eDljWlFrQ0tZQk9zUURHYjZBMDRnZU5xbUJ2dWRrbXVTSEVQVEh0OUs1SExv?=
 =?utf-8?B?WGlJRitWSWwzbEZBSFhoekRDLzgwYXovNko4djZna29ROGMyQ29TL1hsdmpr?=
 =?utf-8?B?OFc0VEhQWXJKZUc3V2RtZmNiSDgvdWlHclJzWHFGZ3RtS0lxYUpkYU5IOWZ6?=
 =?utf-8?B?aVAwZ3BDN3FDYlByalFRczNtOXVyOStJMTR6cFBCYUs1QVB2V21xTUZRcllq?=
 =?utf-8?B?YmNBQmNJQm5PNmNySHJJTkY1b2dlc1VyT2g2L0JRK3AvMjEwWmI2VUF6dnA4?=
 =?utf-8?B?eHBRQVBLRmwxZFozRkV0eVhEaFczMHZBUjVReG1MZncxNHdtc2pNVXh5T2NU?=
 =?utf-8?B?RkNPNWZrbWd5NGQwV3dETTU2cCt3UnVUZ3lwRFoxN0UrandiZDRNQT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1c717865-7ba2-4492-4d73-08dec644743f
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 16:30:44.7003
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: guBHdrCFhRyvdb39Jqubem19r/lxd6OuHGXqBrG1WzBy6IMI+Mvq9mLxJOl05tyGeBdz/AKVAmHDzz2G/WBA0Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5546
X-purgate-ID: tlsNG-bad1c0/1781022648-43979A53-B9896A55/10/73395122804
X-purgate-type: spam
X-purgate-size: 8749

On Mon, Jun 08, 2026 at 06:31:08PM +0100, Andrew Cooper wrote:
> From: Frediano Ziglio <frediano.ziglio@citrix.com>
> 
> xen.efi with debugging symbols is ~45MB, down to ~9.3MB when stripped.
> Multiple firmwares (as seen by QubesOS, Trenchboot, and XenServer) are unable
> to boot xen.efi when debugging symbols are included.
> 
> Either way, having debug symbols by default is abnormal and contrary to how
> the non-EFI path works.
> 
> Produce xen-syms.efi unconditionally, just like xen-syms.  If
> CONFIG_DEBUG_INFO is enabled, these will contain debug symbols, and if not,
> then not.  When xen-syms is processed by mkelf32, the debug symbols are simply
> discarded.  For xen-syms.efi, call $(STRIP) to produce xen.efi.
> 
> Some old versions of binutils ld managed to produce efi files which the
> matching version of strip couldn't process.  This includes Binutils 2.26
> included in Ubuntu 16.04.  Delete the workaround for this bug, and require a
> less broken toolchain.

We should then bump the minimum required GNU binutils version in the
README, as strip is also part of the binutils suite itself?

> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.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: Teddy Astie <teddy.astie@vates.tech>
> CC: Frediano Ziglio <frediano.ziglio@citrix.com>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> CC: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
> CC: Daniel P. Smith <dpsmith@apertussolutions.com>
> 
> For 4.22.  This was posted previously as
> 
>   https://lore.kernel.org/xen-devel/20251208133945.61375-1-frediano.ziglio@citrix.com/T/#u
> 
> but merged the two patches and rewritten the commit message to make it clear
> that failing to strip xen.efi is causing boot failures.
> 
> Previously xen.efi.elf was produced but it's unclear why, and unnecessaerily
> different, so I've dropped it.
> 
> While this does want backporting, it can't be.  Xen 4.21 and older still build
> test with Ubuntu 16.04 and choke
> ---
>  .gitignore            |  1 +
>  CHANGELOG.md          |  3 +++
>  docs/misc/efi.pandoc  |  8 +-------
>  xen/Kconfig.debug     |  9 ++-------
>  xen/Makefile          | 19 -------------------
>  xen/arch/x86/Makefile | 11 ++++-------
>  xen/arch/x86/arch.mk  |  7 -------
>  7 files changed, 11 insertions(+), 47 deletions(-)
> 
> diff --git a/.gitignore b/.gitignore
> index bfc7bdf043c3..49e2c6961768 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -224,6 +224,7 @@ tools/flask/policy/xenpolicy-*
>  xen/xen
>  xen/suppression-list.txt
>  xen/xen-syms
> +xen/xen-syms.efi
>  xen/xen-syms.map
>  xen/xen.*
>  
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 5cf19372a361..71d1e9ab8c69 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -14,6 +14,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>   - On x86:
>     - Enable pf-fixup option by default for PVH dom0.
>     - The libxenguest bzImage loader now uses the system liblz4 library.
> +   - The install-time environment variable INSTALL_EFI_STRIP no longer exists.
> +     xen.efi is always stripped, while the symbols remain available in
> +     xen-syms.efi.

This is not x86-only, AFAICT ARM also seems to have a rune to generate
a xen.efi image, which will be affected by the removal of
INSTALL_EFI_STRIP?

>  
>  ### Added
>   - Support for per-domain Xenstore quota in C xenstored (includes
> diff --git a/docs/misc/efi.pandoc b/docs/misc/efi.pandoc
> index 8198a7f063cf..0a3fd67076fc 100644
> --- a/docs/misc/efi.pandoc
> +++ b/docs/misc/efi.pandoc
> @@ -20,13 +20,7 @@ Xen to load the configuration file even if multiboot modules are found.
>  Once built, `make install-xen` will place the resulting binary directly into
>  the EFI boot partition, provided `EFI_VENDOR` is set in the environment (and
>  `EFI_MOUNTPOINT` is overridden as needed, should the default of `/boot/efi` not
> -match your system). When built with debug info, the binary can be quite large.
> -Setting `INSTALL_EFI_STRIP=1` in the environment will cause it to be stripped
> -of debug info in the process of installing. `INSTALL_EFI_STRIP` can also be set
> -to any combination of options suitable to pass to `strip`, in case the default
> -ones don't do. The xen.efi binary will also be installed in `/usr/lib64/efi/`,
> -unless `EFI_DIR` is set in the environment to override this default. This
> -binary will not be stripped in the process.
> +match your system).
>  
>  The binary itself will require a configuration file (names with the `.efi`
>  extension of the binary's name replaced by `.cfg`, and - until an existing
> diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
> index d900d926c555..fcd3fc3d36cf 100644
> --- a/xen/Kconfig.debug
> +++ b/xen/Kconfig.debug
> @@ -147,12 +147,7 @@ config DEBUG_INFO
>  	  Say Y here if you want to build Xen with debug information. This
>  	  information is needed e.g. for doing crash dump analysis of the
>  	  hypervisor via the "crash" tool.
> -	  Saying Y will increase the size of the xen-syms and xen.efi
> -	  binaries. In case the space on the EFI boot partition is rather
> -	  limited, you may want to install a stripped variant of xen.efi in
> -	  the EFI boot partition (look for "INSTALL_EFI_STRIP" in
> -	  docs/misc/efi.pandoc for more information - when not using
> -	  "make install-xen" for installing xen.efi, stripping needs to be
> -	  done outside the Xen build environment).
> +	  Saying Y will increase the size of the xen-syms and xen-syms.efi
> +	  binaries.
>  
>  endmenu
> diff --git a/xen/Makefile b/xen/Makefile
> index 1f11610b5f68..0f9b56fc399d 100644
> --- a/xen/Makefile
> +++ b/xen/Makefile
> @@ -493,22 +493,6 @@ endif
>  .PHONY: _build
>  _build: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
>  
> -# Strip
> -#
> -# INSTALL_EFI_STRIP, if defined, will cause xen.efi to be stripped before it
> -# is installed. If INSTALL_EFI_STRIP is '1', then the default option(s) below
> -# will be used. Otherwise, INSTALL_EFI_STRIP value will be used as the
> -# option(s) to the strip command.
> -ifdef INSTALL_EFI_STRIP
> -
> -ifeq ($(INSTALL_EFI_STRIP),1)
> -efi-strip-opt := --strip-debug --keep-file-symbols
> -else
> -efi-strip-opt := $(INSTALL_EFI_STRIP)
> -endif
> -
> -endif
> -
>  .PHONY: _install
>  _install: D=$(DESTDIR)
>  _install: T=$(notdir $(TARGET))
> @@ -535,9 +519,6 @@ _install: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
>  		ln -sf $(T)-$(XEN_FULLVERSION).efi $(D)$(EFI_DIR)/$(T)-$(XEN_VERSION).efi; \
>  		ln -sf $(T)-$(XEN_FULLVERSION).efi $(D)$(EFI_DIR)/$(T).efi; \
>  		if [ -n '$(EFI_MOUNTPOINT)' -a -n '$(EFI_VENDOR)' ]; then \
> -			$(if $(efi-strip-opt), \
> -			     $(STRIP) $(efi-strip-opt) -p -o $(TARGET).efi.stripped $(TARGET).efi && \
> -			     $(INSTALL_DATA) $(TARGET).efi.stripped $(D)$(EFI_MOUNTPOINT)/efi/$(EFI_VENDOR)/$(T)-$(XEN_FULLVERSION).efi ||) \
>  			$(INSTALL_DATA) $(TARGET).efi $(D)$(EFI_MOUNTPOINT)/efi/$(EFI_VENDOR)/$(T)-$(XEN_FULLVERSION).efi; \
>  		elif [ "$(D)" = "$(patsubst $(shell cd $(XEN_ROOT) && pwd)/%,%,$(D))" ]; then \
>  			echo 'EFI installation only partially done (EFI_VENDOR not set)' >&2; \
> diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
> index 47dd6c50fe88..01ed7302202e 100644
> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -196,10 +196,7 @@ note_file_option ?= $(note_file)
>  
>  extra-$(XEN_BUILD_PE) += efi.lds
>  ifeq ($(XEN_BUILD_PE),y)
> -$(TARGET).efi: $(objtree)/prelink.o $(note_file) $(obj)/efi.lds $(obj)/efi/relocs-dummy.o $(obj)/efi/mkreloc
> -ifeq ($(CONFIG_DEBUG_INFO),y)
> -	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),echo,:) "Will strip debug info from $(@F)"
> -endif
> +$(TARGET)-syms.efi: $(objtree)/prelink.o $(note_file) $(obj)/efi.lds $(obj)/efi/relocs-dummy.o $(obj)/efi/mkreloc
>  	$(objtree)/tools/symbols $(all_symbols) --source-name=$(@F).S --empty \
>  		> $(dot-target).0s.S
>  	$(MAKE) $(build)=$(@D) .$(@F).0s.o
> @@ -233,10 +230,10 @@ endif
>  	$(NM) -pa --format=sysv $@ \
>  		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
>  		> $@.map
> -ifeq ($(CONFIG_DEBUG_INFO),y)
> -	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),:$(space))$(OBJCOPY) -O elf64-x86-64 $@ $@.elf
> -endif
>  	rm -f $(dot-target).[0-9]* $(@D)/..$(@F).[0-9]*
> +
> +$(TARGET).efi: $(TARGET)-syms.efi
> +	$(STRIP) $< -o $@

I'm not that good with Makefiles, but don't we need a similar
adjustment to strip the .efi generated for ARM?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 16:56:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 16:56:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333684.1596857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWzkT-00036a-WD; Tue, 09 Jun 2026 16:56:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333684.1596857; Tue, 09 Jun 2026 16:56: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 1wWzkT-00036T-TA; Tue, 09 Jun 2026 16:56:21 +0000
Received: by outflank-mailman (input) for mailman id 1333684;
 Tue, 09 Jun 2026 16:56:20 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wWzkS-000367-0t
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 16:56:20 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWzkR-0057Nk-Ds
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 18:56:19 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a284598-bab6-0a2a0a5309dd-0a2a4504831c-20
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 18:56:19 +0200
Received: from [52.101.48.8]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2845af-1dec-0a2a45040019-346530088eb1-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 18:56:17 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DM6PR03MB5131.namprd03.prod.outlook.com (2603:10b6:5:1f0::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Tue, 9 Jun 2026
 16:56:13 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026
 16:56: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=rzvtNlX4srjLcyv4mGttFPJOCp8027qqylNK+x4R1TVZb/TgSu7fCKL95gg5LsZu3ScACW4i0Mu1adlrTIOwK+K9Iayv1TtU4vGbi7dFAW2rR3kl77H4tJ/SLPhTgt3AruWuQ67OvrXlwcw8/5puiICPMxXqORY9wVLTqEaBF66NQpapipaA8SXNDeh1PFFRWestbA8hGqJR+6micO8aIyLTXyieSYHacBebfwHFZ/z09EiZDbFeBDtVhArtFWhKEMIRW3V6yikiw3iXO4gYxJNGMfpfNJkZQ7eY+9+DqHmwlj1mQcK5thyvvTXnH5YHKd2A9Z3IrN27l6JZ11zCIw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PJvYR7Rs5w8xc21xSwGvaTN/T2XUc4XuVtXzndOTBPU=;
 b=pDusH6S4TO71fqahVgmjfao1Ywr7QNO4isGvdlgPQXtvW4CwEEXNHUVPaz6Jmnq7JsKDftJlVQV50P9r/wvvrmDSjEiN5aQnX2x+/5bRIAZMSD7r83MQMMwYC2tkbu3bLNSAjX0k2asCy8azsBiKRCeiQwwl5e09J0Ege1P8t4chKUObxSuynkTJNK2O4p43sgctXO0ZwF1SqY79hO24uc2Z4DbYTpQ9ytociq5JNbBJSC+kvlKzfT9FldFjLEW6dfLpHAR0QLwXDwiW0NKsLAijPqgV3mxSabx9DhhQMHstm8znGgfpjkjw6GHQdjDHEPa/CO7tFdcYIO34o6bMCA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PJvYR7Rs5w8xc21xSwGvaTN/T2XUc4XuVtXzndOTBPU=;
 b=humV3xf6SujWsSuWRFrRlPjG3+T6znW2/79LCUxm2NsCeuk4kW2IHk5WUC6LRh0flxKNQIBuodoMBPykmnjjBj2ocl7PKV/weDCarQsyTufftbQs9pzQ8P+Eyh2MB9i2d9sH+uRrZu/nNbeuqftBVYW28978ElkVoUBETYFdQDA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <696a426d-0007-4cc1-9997-169fb9af7c7e@citrix.com>
Date: Tue, 9 Jun 2026 17:56:10 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Frediano Ziglio <frediano.ziglio@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH for-4.22] xen/x86: Always strip xen.efi
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
References: <20260608173108.2848469-1-andrew.cooper3@citrix.com>
 <aicffd9gRs-HQ88v@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: <aicffd9gRs-HQ88v@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0284.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:195::19) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DM6PR03MB5131:EE_
X-MS-Office365-Filtering-Correlation-Id: c146359a-3727-438f-e74d-08dec64803ba
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|5023799004|11063799006|4143699003|56012099006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	GGcharn0bGEa4EgmfUUoA02lgNcBYLHi/mGcLjeZXbSCWUTXmd/PqD2hoNZONUn7P6X3GgRy2XgaM/54aW6qaqf4J9quEZ7dJvCoVvjaExlyrewOfL3LQCqUNyY1R7SMAJqLJwBPDwOLJlDVqyjfaNQA3yjb7aCIAHOI24M9M6YXmqVVmTSpNPCTj6sadr71qizltY47mDncV3Xjqsn5lV7tIVtUXiBYrjRUkWI4nbQJ4V+KpteJMK5fdW7qekXs/87bw6DE8AZz/4GGSIsB/QSNe/EQWReZtnpTtPcmwsovnlrNdn/QWK/ErmZ+0seG2z8TlHXvRNzk+qqkW4YcJkd1S2YOs1M6oqh4jVTl2+RBTsNQkGlNM4d0roRyZ93C1NIVtFuN3U6JFwvDCGQqJET5GG92AzdOvtl0QSmolTTxVq6gDQAer7VviGi/R4c30wnApFMCPXx0vdNsjXf85n01VV2oIdRlUodQ7pd+FKOfyVvM5ctS4TcF/GVgbie3GRTw/5zBWvwK4SeUuXYDWsqAf3dNxmiBYg+aiPNtQvX8DJJHSbODUCE5ZRG+fpFEZb3CbNvHcP0//f0BsVUGbLS1XuJvksft3sV0yEBDu+MBUHvnihFQgSFqIn4gN5ZSkYaUBJdrzgc66l4oe3UO33Td8eIi6o4UsncC7jrZddv0wxIUu3V2e5tMNzF2hHCg
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(5023799004)(11063799006)(4143699003)(56012099006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RlE1NlNxaUZLdVU4SVV4U1pCYm1DeUxGNkRqaHFIT0Q1YTc5T3BtYzNiL0xZ?=
 =?utf-8?B?dkFlZytXY0RKNEVoRW1rSnBzQ3UrcnQ2V0laUko5SEdMRXhMNFI5dmMzZ3gw?=
 =?utf-8?B?dnYvak9Zb0kvR3lYaFZsTWF6OVN0cVZwWHA1cVFkQkFZY05kUGRNNG8zUVli?=
 =?utf-8?B?WjVZVkgyR1l3T3k1cG1CNzVQdzBlZUo3cUdnRkRwMHFjNHE4ZGUzODJHUVQ2?=
 =?utf-8?B?cmcwbytyS1NoQzFPNEJQdGtvQjhwaUJlQllSOTBpN1J3dE9OSDF3MUNpc3d5?=
 =?utf-8?B?T2xUTEROTDhpS2pGQnBBYlNPelFtWEVjNkN0WnZRdUVhandEZ0N2WnJ4SFE0?=
 =?utf-8?B?RWI1WngxdzE5eDlSanRjQzMzUTJteU1nQ1FOU3A2aGJDV01KWWE2SWRrMjRv?=
 =?utf-8?B?UVVPUm5SYWVJeU1zVGJ6Sno5QjFvZVU5ZS9NUFFSajVpRGtHTU9KWE1lcllN?=
 =?utf-8?B?dTRWMlhZNllKL3RVbUJsdFRNUUc2Uk94ZXBQbHpNaHQ5eHNyTHVxbUF2NmJS?=
 =?utf-8?B?d0ZPYmxPREgvOFUyMjQyMnVGTG14am5JMFJ6WGtteE45TFlwS0RTTVl0dWdz?=
 =?utf-8?B?RENDUWtvUTFPM0I1TG1MaC9INVFXSTh5ZGZyMWVPNjZMWVMvRmhuZCsyRDJp?=
 =?utf-8?B?TndweHRlRlB3bjdURVkwS2NzQWZEUlVwaFNuelo0c0w4My9hbzVNVzFJYlgy?=
 =?utf-8?B?WGtxYmtOekRLN0xwbThhenVsYVduS3hZa0EwU1lrMHpIVU41SkVXV1E2dnRO?=
 =?utf-8?B?TG1ka25rTlFkSEZvTnU3cmNaU0dTRjFPcmh1SEZjeHloelJnL3d3Zk1OYjdP?=
 =?utf-8?B?T0VON0ZVbGNqcG1WWHpBR0d4c1l4S1VScTFpNFNJaktIYVI1cXZEcURqL3lQ?=
 =?utf-8?B?RmJZY2R3TVc5ZjNZaEIrc29rR0FBbkJXWDJZNnRsN2MybG9DdzdvNUwwcUJU?=
 =?utf-8?B?c3dKL21rUTBCMjF2MDVDREtLbmRpWlE3NXBTb083NGJFcHhNWVhHUHZkZDY3?=
 =?utf-8?B?RUhpSjkzandlbzlPVHBBUkpHenEyWTJ3cnZwMWptVXp4UUdlM09VMTh3azFC?=
 =?utf-8?B?YlRYWVlaZGM0L3dGbTNpNmNtQ2t6MllCTm9VOXQ2d2dSUDYyaC9tTStUMm9E?=
 =?utf-8?B?czRUb0lnTVJDK0hUcjB4VVNSak93a3N3a0kwNHZKeDZNbzNFd3dXYzI4d0hU?=
 =?utf-8?B?bER5emUyTzBXSVB3bDJlMUFoZHp6ZTNtdGQyVnFKVWZwaVlub0ZKeWtOZjJt?=
 =?utf-8?B?SjRMRTFRUldndFJtVmJtak50R0VkYVdBN2hzVnY1MFhxTThsRDZjdDMwclJ4?=
 =?utf-8?B?UFF6bkk2Qlo1dndEODNIbnIvVjRYYWZrTlRoK1FMZTE3UlF4bUNrb2xnNG5y?=
 =?utf-8?B?ck95emZ6YjY5Qk9zMVlLOWdUdzVqekIvd2Q4UEhkQmFMSm5CMTZUaVdNby8w?=
 =?utf-8?B?K0lHZlRXUUVEVUFRbDZRaEU1KzZmM3dVaEJKRXc3aHBtbHRwT3k5TkpLZjEv?=
 =?utf-8?B?dElzcGhCUlVmS1E0UDFIaFJCcGFDR29nVFd1UVVlcUNzY1JsOW83NkdRVVpY?=
 =?utf-8?B?clZRZUNSOG4xSTZLVjhxVU5xZy9wQjVGWlluMy9JancwNGFwTE40Und0bmZq?=
 =?utf-8?B?eWNGNWZWSWQvS2svUnJ0emlNME9UQno3MEFQYnc1VDdKbnFzRldMY1R3ZzVq?=
 =?utf-8?B?dXRtR2Y3YTZPRjlyRFJrNXdMemVCelMrS1VvSG9xTXoyU09rRXF4RGlxUnFI?=
 =?utf-8?B?eGpkaUhUcEVJRktlRG1NTUoxczNoRUNLcm5Fbm9Sc1hIeFlONkdYN2h3UFdt?=
 =?utf-8?B?NjJDMHVkTUloTlBWYjBYQ0pUSnBiRTE3Y3RIMmozOThsVVFKU0hCQlBqb0No?=
 =?utf-8?B?NGIySjF5SEtPY0FZWThXK2gvT2FhQm42ZDZRMm02TmtaUlY4VFFKc0FXSmtx?=
 =?utf-8?B?RVZmMDNRWXYvbHIxeXN2Vk9vcG9mQS84NVBscmY2cjVnL3llVkhyNDViNUZN?=
 =?utf-8?B?cExQOExibUt6S3ZBMnNLcHk0azUvY1BDeHFjVVhrT3crcTdQMzhDV0NKZkNX?=
 =?utf-8?B?Y0lYN2UzY28ydis0NGVFeTdkUGMrZC9BbktUa2RnVzg1UGNBVktpU3cyM2lD?=
 =?utf-8?B?U0Zlb1J3aWtlamZPUHNFSFFVNnJMaCt4bERjT1c4Rm4zN2xoZUVwZG9mVjhE?=
 =?utf-8?B?akRhVEIrNy9ZNmY1SVk1WHhpbE8vT0lUYnpMOHlrR3hiQldBTGhEcUJDckhk?=
 =?utf-8?B?dW8rWkxubDBKTVRkVTRWcFpZSFg5Yzl6SG5DdVlTRzV6ODlqNEMvMUhhTSt1?=
 =?utf-8?B?azlxanlOdUlIbmdXWUVYb1JlcFJrL0hkc09GRlFuSXJuNTZuVG5lQSsvWmhp?=
 =?utf-8?Q?gCUQW8I6yWkoT1rk=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c146359a-3727-438f-e74d-08dec64803ba
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 16:56:13.6774
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CG7bt9DaufAT5Jc08KcJ2l5OVQ3bg3A8gD8RHrxaWY+zArxDmvmg7zXURcNjmUiZpJ2K+kcTj+iNlVvNd/D1M/S2kgF7YvhXxmxsE+Yw+qM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5131
X-purgate-ID: tlsNG-ebf023/1781024179-40B733FF-01C41925/0/0
X-purgate-type: clean
X-purgate-size: 2403

On 08/06/2026 9:01 pm, Marek Marczykowski-GÃ³recki wrote:
> On Mon, Jun 08, 2026 at 06:31:08PM +0100, Andrew Cooper wrote:
>> From: Frediano Ziglio <frediano.ziglio@citrix.com>
>>
>> xen.efi with debugging symbols is ~45MB, down to ~9.3MB when stripped.
>> Multiple firmwares (as seen by QubesOS, Trenchboot, and XenServer) are unable
>> to boot xen.efi when debugging symbols are included.
>>
>> Either way, having debug symbols by default is abnormal and contrary to how
>> the non-EFI path works.
>>
>> Produce xen-syms.efi unconditionally, just like xen-syms.  If
>> CONFIG_DEBUG_INFO is enabled, these will contain debug symbols, and if not,
>> then not.  When xen-syms is processed by mkelf32, the debug symbols are simply
>> discarded.  For xen-syms.efi, call $(STRIP) to produce xen.efi.
>>
>> Some old versions of binutils ld managed to produce efi files which the
>> matching version of strip couldn't process.  This includes Binutils 2.26
>> included in Ubuntu 16.04.  Delete the workaround for this bug, and require a
>> less broken toolchain.
> While I see Ubuntu 16.04 dropped, how is the "require a less broken
> toolchain" addressed? By implicitly disabling xen.efi build on broken
> toolchain? Maybe README should have a note about needing newer Binutils
> for xen.efi? Currently it says just Binutils 2.25. There is a section
> about optional build deps, maybe add there something like "GNU Binutils
> X.Y (required for building xen.efi)", if the version is known, or at
> least "GNU Binutils capable of producing non-broken PE files (required
> for building xen.efi)" if the version is not known.

xen.efi has never had any relation to the README minimum toolchain version.

It has always probed the toolchain, and silently turned itself off it
doesn't like the result.Â  In this case, we drop one of the "lets work
around this bug different" checks which ends up excluding the problem
revision.

If you prefer, I could re-split the patch, and state on the first patch
that it's a prerequisite to be able to use $(STRIP) in the second patch ?

binutils' PE+ support is horribly buggy and Xen is the only user in this
area.Â  At some point, 2.46 (practically bleeding edge) is going to be
required, seeing as it's the first version of bintuils where we don't
need to hexedit the PE+ header in order to satisfy the signing process.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 17:06:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 17:06:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333695.1596865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wWztu-0005U7-RK; Tue, 09 Jun 2026 17:06:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333695.1596865; Tue, 09 Jun 2026 17:06: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 1wWztu-0005U0-Oh; Tue, 09 Jun 2026 17:06:06 +0000
Received: by outflank-mailman (input) for mailman id 1333695;
 Tue, 09 Jun 2026 17:06:05 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wWztt-0005Tu-BB
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 17:06:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wWzts-00Dj5F-NU
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 19:06:04 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2847ea-2eae-0a2a0a5409dd-0a2a450c8910-28
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 19:06:04 +0200
Received: from [52.101.61.30]
 (helo=DM1PR04CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2847fb-62f1-0a2a450c0019-34653d1ecc2e-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 19:06:04 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by CH7PR03MB7953.namprd03.prod.outlook.com (2603:10b6:610:24d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Tue, 9 Jun 2026
 17:06:00 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026
 17:06:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=WN/Zh4VUw8H48DndWe+PFxxRf4rhNdH1k/5iY9K10v11FmEDsNX6+2Tb0fS4OcsGcr7vjSSi+yNT906+cw7MRPTiQ/KH6Sq8XCUliPdBoUNkoih95kwpLW2JviY+F+IGeYgRcOXsPPPG2UmQQ4EOD3Uxw7r+0ryPeHE1t4lKHuxKgEZM/6qDJz2J+/de+mnZV7c29bk32p6nduZGc6bbdP/GOPkLDENOqIQwl3KlcB9RVaej1ftVWkOhQ7B4YjTHNZ0/3/uiDIZqc2fKcLWsxuFaBtze4MtNXy1ynp1Bb9Zs0vhgSwTckK/hqXcRvYgxfaK5Kv5erIrwD3sgVPo6mA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FjLVxGHqeQXNiv+DlIzuvtQVJzPJba4K/dA5j/DRXy8=;
 b=yKxJ3esVj4JV8yHGZDuwQidapGEeusrKvq2eT2/BCCnN70Zq+Ka/7jnHMXe6HKlbb44NcwMqvdZSuSBSGzthOx01amlDLFz/rVREhshn1tOmiikm6ByWbxxYVBToPFWrodZdSLWSuLlSR50HK6eQNOxOW27o5LJgEbbj30BynyrWOOv9aOwu1rDUqPVQmXWY8fBj+e/lxzmQ4hv3oZpmVanTRCFTI2cdyJ7px+lsAFsVLq82pYB3J6MJ9pjEmrockELtXfHOfgyBLCAPYvZp6/CYLyjg2z/vyH7dJR1vogwgtkxxphBgHSj2QJYpgB+nifMQPlR8H8sKQYkxwVMb9A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FjLVxGHqeQXNiv+DlIzuvtQVJzPJba4K/dA5j/DRXy8=;
 b=oS0rF+VSKsZ3EZFSFoOffzH2GSreDau6AbfKMIIuu2+NVmr+y5Uwdug/hL71zwyjWOvOedU60eZiZBGJwJr+v595CFnHkl02rcUl/f/L4rbk+nprS3u7gUyznJjwZsvozQVFc9OB8B428IJHSwDWhrbzKKxRQw7nEG73YUlAtJA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <14aa7799-96d3-4f3f-baf4-22ae457d7e32@citrix.com>
Date: Tue, 9 Jun 2026 18:05:57 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Frediano Ziglio <frediano.ziglio@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH for-4.22] xen/x86: Always strip xen.efi
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20260608173108.2848469-1-andrew.cooper3@citrix.com>
 <aig_sPP3MpBbddXr@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: <aig_sPP3MpBbddXr@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0419.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18b::10) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|CH7PR03MB7953:EE_
X-MS-Office365-Filtering-Correlation-Id: 12274b4f-0ea8-4406-bffc-08dec64961b9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|6133799003|18002099003|22082099003|56012099006|11063799006|4143699003;
X-Microsoft-Antispam-Message-Info:
	Bm7/Brioeov1ZlVB2ExombJGgauyGKuPIYlTa+4rTkT4EuYbkkoBemji9T/n+/gtDzXbx4SmTWgK+7Fu876E1/pvaO99Btzu05xlYYhAHkrEczMXrgHUDTBS9Gzt+ZlGObLC2kWc04G4X1sDgEDRUn4E7EIkRpwRnJBnY4+6VyCu22OtT2jSftOEgNdTrpggL4O4UrcQpkHwDFevGYK6HmK0FAP3g+mC1aRFt0gnUIP6oqaVriHVLXd8eWTtoU6tIyU8bCBW/07SUJB/HG0tOGYaL/dvBArjzDNGlKSfaHLaOCvuL1e1jvhYbvHWTh6jofe1tRaFthAuSQjEoqNcahNukSe4CT/C8/UTtcikq5yUx3dm5pdNBghWoteR330KkwuKmVHzfPvBF2VslRwsILyHZALLhLY7HV7icsNzWAu8Mf3/3Muvc+/SWEtieO6132ewXxLOqWKeIZUn3OxJ+UZGejfQJ8Mj+bbj9yCiIWR56WbleeMODa1A056Bt+UUJwrfI8DTkks2OIGgFKqu7Zzg/8WIS6RiHdZFUI2U5LkTz8jiQL6KuYvNSZPZlYeRB3QdjwPOYJgLaXgpcT+Upzyv3Iwm1L8oooqrDi2Sn3KWR1EVl9bhdhnLkrRydvlFXTHcwUFolVTTEJOcCr851w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(6133799003)(18002099003)(22082099003)(56012099006)(11063799006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bTJabERGa0t2c01YNlloMUVEamt2M0xNellVNm1NSDRia0JkdlhnWEFNZGJo?=
 =?utf-8?B?aFE0WjRnY05SM2JIS3pHc3FTMVNJNGQraG92STBxWEtaZERYSlpTcE5ZWGdM?=
 =?utf-8?B?TDlyazFJUEJLTURCMHpEYXNUZ0lXQUszeUUxTDZneS9mQ1pSVDltSUZQVEEv?=
 =?utf-8?B?YWRtMjRCVTFIanBrdWlwam1CNTBmMG9XcDN4WHhWdWduVi9KTnJVWHdlb2dr?=
 =?utf-8?B?Sjh4eGZkZFhtTXpDOGt3K0RXTzhvb29oaWtOWmVUV0MvTjdFSnZpYTNsSHRX?=
 =?utf-8?B?TDBTWUx4MGdMUXJDUzRwQVJZVEFxRHVMbDVPRC9kYjdtenR6ZTZLZzQvcEFo?=
 =?utf-8?B?L2NieURDZ2tBRnp5aVNXKy9tRC96WWxoZk9UQ1h5RmVKZDJtZHNiSU51VUVk?=
 =?utf-8?B?NzNiYjB1bHcwcGpaZDFydGNjR0VLSTVPVVp0cnVreHdER3FSWVVxamlBR2J5?=
 =?utf-8?B?WCtTM1NRZHQzZUg3d3pUYlNhSUhMeElPS0I2enhPUExsOWdFa2xXNVM4aXFj?=
 =?utf-8?B?Tm1TQ0YraXE3SnlaT3dhTmQxMGR3SjArWk50U3hvMVMzNlF4NlpBY1Fld0dw?=
 =?utf-8?B?YmVjVmQ4ZTlNNnc2elArck5mMnFtZXh3bVBTTHdmY3NJRGpHcHFxZFBObm83?=
 =?utf-8?B?dGNoVG84TXZrdTAvNXoyeUY1NFFuQ3hhUTlaL2U4elpuK3pIZSt3dFdKeVhK?=
 =?utf-8?B?N0RzMmV3NkJ3Um9jK1ZtYmJwc1BVUlF2UElyd2NIcC9rTUJIaTk4M1BsM1VR?=
 =?utf-8?B?Yjdhb3NZYVdtSTVzcDhSMmNxNkZ1ckN5bTJMVFQzRExKYmxrV2RTdFAxdXA2?=
 =?utf-8?B?OWJuazF4QXZBMjFXK21HbHZhRmNBRmlhZDRBeTlQcjN6UmlDbVJ2ZmNpbGZL?=
 =?utf-8?B?WTc1OWc2ZEk2b3VaVm11R01vOFZtRC9VKzJkOUI2QnZocjhSOSt5ZmFlcDIy?=
 =?utf-8?B?bHlGclZPVlJSS1Jjc3FVMnF1cVdqYXZBVXRUc3pMWW8yTml3bE1OYVNjaXlV?=
 =?utf-8?B?VUpJdjVhLy96S29QZzNyVmFVYklBUkpDcmFWZ3lCaUZpVDM0SnI3VDJOYnZj?=
 =?utf-8?B?cFdmNnhTOGtLTWZaWjQ5VUJDQ1h3V2JtM3RKZlZaL2V2NUJPLzhTVHEwcC9t?=
 =?utf-8?B?RnlYd3llWmRueDF6SUtLY0oyTzFFVlV3UFNNdDRNTHJvQkhNMWVxdnlRWTIx?=
 =?utf-8?B?NWNvZ1pkRXk4Z2IvSVZwRVFaOFR1NEtCV0JYYXNmeFdIdDFYemxyK3NvZzJy?=
 =?utf-8?B?OU1lVk5WcFcxa05hRDZtZGdlcXlwVnN0UFpOb29KVEwvcytwRWFkYjVKMVdF?=
 =?utf-8?B?aVZXN1FUbFdOaG14cGNhZmtxNFB3c09YSkdYcTNuK2ZWOHE1SGNVS3dnWGlP?=
 =?utf-8?B?OXpRWHA0Y3RIK0N3bXVZMFU1K0dhL0twYXZRdy9FMUQxa1ZJNkpsTVE2NVBk?=
 =?utf-8?B?dDZJUHRibnNFREM4ZG4wNG1NbW43L0FtMkdsd2ljN2xHMVRLM0xVZjU1ck5r?=
 =?utf-8?B?THNkc2tvQ0o2Rk12bzRQUncyK1o1MlI3TzIyTW54aWtMRko5MDBpYUNGNllt?=
 =?utf-8?B?K3BFNFYvZUc4aGNiZk8wVzVJZDE4eXB6Slk3UXlzMEs4alVZcnBIcXhoUWo1?=
 =?utf-8?B?WXJqM2xJT2MrT0F3VmtudzV2elR0V0xrNkdoWnRsMkVUVGdMZ3F3bnR3Tzht?=
 =?utf-8?B?VElPOTZTSEJBNlJtcTlpRmpoRU9NZk9sL0tDTWFYQTljR003K29JaTVvdzI4?=
 =?utf-8?B?eVBJU2xFZEpOaUZsN1Q5Rld6TmNhc1ArRCtDbnV0K0xuc1lrSklNK1RaTWhi?=
 =?utf-8?B?SU9XKzlKUVUyUnRpbi9nTEFtQkRVb3Y2STAwRUROWmlIeFg3Y1NXWWtMWW5I?=
 =?utf-8?B?cVFYSW9yY0hrMnpKVzRUbDVzWnNGRVh6MDRDK2E4c1ZzRmhPYkxLbEtEalEr?=
 =?utf-8?B?WGt2SnkrWi9xQUwrUHBtSnp2Z1dEQzZ2dVZsR3creDV0MmZLNjFhWDF2T0hL?=
 =?utf-8?B?TXZsYktyeGV0dm9NS2ZSWW80bWhXUHMwU1BhVExHZVZYeUExM0tPWmZIc2lX?=
 =?utf-8?B?VWFFbVB0Q3QzdEFxL3BqVUxiVUNvT29OWmFKd0JGTzdxVG1mUHUvMHl5Zkh3?=
 =?utf-8?B?TXMwemtaZlRKN3IwQm00WFE0SDJqOUdkTVhKRjdhdFR2cWVreEJFNU9JOEZU?=
 =?utf-8?B?V25TMnptUlZnbk1qRkJrMUswNTRTbGZWWG1BYXp4S1FoSU9taG1mVFF4cGZ4?=
 =?utf-8?B?bUJRaW1BMDVscE56QWF4c0tQelVkT1VTQWZJcDZZRjhZeEk3WnMyM1JEUUJ2?=
 =?utf-8?B?SXVZOUp2Mk00MUQ4MWVzcHpXbWQwUnBVbmtteWtLejZoTGVKdnhFRUlmSklB?=
 =?utf-8?Q?7AgJTB7ExKfoPPBw=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 12274b4f-0ea8-4406-bffc-08dec64961b9
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 17:06:00.8582
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rEWEGYSp1HM8BqPqWZYL/4b0qjbjObcCPa1HTpQa6cVird5ZEHIolDp9C/uJg5t53DwBZcTr0oqODch9NeWM/Xz2mwyt/VGh+reHGuzx4iw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH7PR03MB7953
X-purgate-ID: tlsNG-d25034/1781024764-E176ECF5-5800729E/10/73395122804
X-purgate-type: spam
X-purgate-size: 4072

On 09/06/2026 5:30 pm, Roger Pau MonnÃ© wrote:
> On Mon, Jun 08, 2026 at 06:31:08PM +0100, Andrew Cooper wrote:
>> From: Frediano Ziglio <frediano.ziglio@citrix.com>
>>
>> xen.efi with debugging symbols is ~45MB, down to ~9.3MB when stripped.
>> Multiple firmwares (as seen by QubesOS, Trenchboot, and XenServer) are unable
>> to boot xen.efi when debugging symbols are included.
>>
>> Either way, having debug symbols by default is abnormal and contrary to how
>> the non-EFI path works.
>>
>> Produce xen-syms.efi unconditionally, just like xen-syms.  If
>> CONFIG_DEBUG_INFO is enabled, these will contain debug symbols, and if not,
>> then not.  When xen-syms is processed by mkelf32, the debug symbols are simply
>> discarded.  For xen-syms.efi, call $(STRIP) to produce xen.efi.
>>
>> Some old versions of binutils ld managed to produce efi files which the
>> matching version of strip couldn't process.  This includes Binutils 2.26
>> included in Ubuntu 16.04.  Delete the workaround for this bug, and require a
>> less broken toolchain.
> We should then bump the minimum required GNU binutils version in the
> README, as strip is also part of the binutils suite itself?
>
>> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.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: Teddy Astie <teddy.astie@vates.tech>
>> CC: Frediano Ziglio <frediano.ziglio@citrix.com>
>> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> CC: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
>> CC: Daniel P. Smith <dpsmith@apertussolutions.com>
>>
>> For 4.22.  This was posted previously as
>>
>>   https://lore.kernel.org/xen-devel/20251208133945.61375-1-frediano.ziglio@citrix.com/T/#u
>>
>> but merged the two patches and rewritten the commit message to make it clear
>> that failing to strip xen.efi is causing boot failures.
>>
>> Previously xen.efi.elf was produced but it's unclear why, and unnecessaerily
>> different, so I've dropped it.
>>
>> While this does want backporting, it can't be.  Xen 4.21 and older still build
>> test with Ubuntu 16.04 and choke
>> ---
>>  .gitignore            |  1 +
>>  CHANGELOG.md          |  3 +++
>>  docs/misc/efi.pandoc  |  8 +-------
>>  xen/Kconfig.debug     |  9 ++-------
>>  xen/Makefile          | 19 -------------------
>>  xen/arch/x86/Makefile | 11 ++++-------
>>  xen/arch/x86/arch.mk  |  7 -------
>>  7 files changed, 11 insertions(+), 47 deletions(-)
>>
>> diff --git a/.gitignore b/.gitignore
>> index bfc7bdf043c3..49e2c6961768 100644
>> --- a/.gitignore
>> +++ b/.gitignore
>> @@ -224,6 +224,7 @@ tools/flask/policy/xenpolicy-*
>>  xen/xen
>>  xen/suppression-list.txt
>>  xen/xen-syms
>> +xen/xen-syms.efi
>>  xen/xen-syms.map
>>  xen/xen.*
>>  
>> diff --git a/CHANGELOG.md b/CHANGELOG.md
>> index 5cf19372a361..71d1e9ab8c69 100644
>> --- a/CHANGELOG.md
>> +++ b/CHANGELOG.md
>> @@ -14,6 +14,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>>   - On x86:
>>     - Enable pf-fixup option by default for PVH dom0.
>>     - The libxenguest bzImage loader now uses the system liblz4 library.
>> +   - The install-time environment variable INSTALL_EFI_STRIP no longer exists.
>> +     xen.efi is always stripped, while the symbols remain available in
>> +     xen-syms.efi.
> This is not x86-only, AFAICT ARM also seems to have a rune to generate
> a xen.efi image, which will be affected by the removal of
> INSTALL_EFI_STRIP?

x86 and ARM are entirely different, with x86 being the weird one.

ARM, like every other systems codebase trying to do EFI, is a raw binary
with hand-coded MZ/PE+ headers.Â  In our case, it's deliberately a
polygot which is both EFI and Linux zImage.

Notice how the rule is this:

$(TARGET): $(TARGET)-syms
Â  Â  Â  Â  $(OBJCOPY) -O binary -S $< $@
ifeq ($(CONFIG_ARM_64),y)
Â  Â  Â  Â  ln -sf $(@F) $@.efi
endif

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 17:17:16 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 17:17:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333707.1596875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wX04a-0007wk-TX; Tue, 09 Jun 2026 17:17:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333707.1596875; Tue, 09 Jun 2026 17:17: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 1wX04a-0007wd-QX; Tue, 09 Jun 2026 17:17:08 +0000
Received: by outflank-mailman (input) for mailman id 1333707;
 Tue, 09 Jun 2026 17:17:07 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <3j0ooagYKCR4M84HD6AIIAF8.6IGR8H-78P8FFCMNM.R8HJLID86N.ILA@flex--seanjc.bounces.google.com>)
 id 1wX04Z-0007vR-GR
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 17:17:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wX04Y-00DlQQ-I1
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 19:17:06 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <3j0ooagYKCR4M84HD6AIIAF8.6IGR8H-78P8FFCMNM.R8HJLID86N.ILA@flex--seanjc.bounces.google.com>)
 id 6a284a71-2eae-0a2a0a5409dd-0a2a45078af4-30
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 19:17:06 +0200
Received: from [209.85.214.202] (helo=mail-pl1-f202.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <3j0ooagYKCR4M84HD6AIIAF8.6IGR8H-78P8FFCMNM.R8HJLID86N.ILA@flex--seanjc.bounces.google.com>)
 id 6a284a90-229c-0a2a45070019-d155d6cab0a7-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 19:17:06 +0200
Received: by mail-pl1-f202.google.com with SMTP id
 d9443c01a7336-2bf08c2a24bso55542365ad.2
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=google.com header.i="@google.com" header.h="Cc:To:From:Subject:Message-ID:References:Mime-Version:In-Reply-To:Date"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20251104; t=1781025424; x=1781630224; 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=llq4Kn5i8ui4r4izxxTvg7cm7qJE2krNstJXZkbKQn4=;
        b=Wx9LfUlpXN4erXAxnKrm7q8Wp5xGYI9Fq2BLmo/pSj8yuJmTR+3CVRH6nlkU5QXM/g
         57yCeAI16YqMG/WKZlqW9iVID5OetMmhXJT1G3zT9N7HlrqVr6snXlu2gNng0rUtZVP4
         8nUUVbYtL6cbO9+ojR7porg99Ak+MkieTv1sRhvgDthEzkzrJMPg7b0zBYY1Sv3QKOAw
         A8SYuqldIqw2N03tN8mfAlnE7S3f3akOlsLoBJWAnBDZW5aDBQnIVAvb3zk4haO3YPNh
         v8qFRfrfJ+mc6YAa6vV594uG9XMKSjtpzk5X3TS0Ho7pW0nMn/Ewm2apbXC7evqsgXKI
         we8Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781025424; x=1781630224;
        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=llq4Kn5i8ui4r4izxxTvg7cm7qJE2krNstJXZkbKQn4=;
        b=mKRtlQ80UDrOhIEtXSLW8dq6eFbDqoc/w9JlG3Qf8C8UeJ44esdmi7Ei2UAllWr5cP
         Pd53jKHMi3V7upS+AS/YFUoQkA4i3JDkw8TvsTBibzmKoZleRNVgfV12abTo3jj7vuHC
         VzdoL/BYupzre/GNoUYMFdPD07zWMuCSKzFnV4HSGVnUKvZwlco9pD9hntzoSBAU15Ff
         fjSHfz7ZDo74gCbyzARBqB8GIhRyuMpUVaOwZCUlVFwT6hovGOvmxrIkoUXaT5GHIzb9
         vz+fDpsgtD6b+SKOGdrUGCBEtYixjDbHi1SkAHHE04AVUZqD2om8w9iJQ/eCZMKcKdHJ
         RJrg==
X-Forwarded-Encrypted: i=1; AFNElJ+/wC5cQZU8Ht6ZD5JxiP2b4ehYAi9UFe6YhAcDTDqAQposNIviLCQIWiNkTkc5c39ARVL22TDIV1w=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yza2pOB0Af/8aACEcC2NdCz2j3NKCx5QL29W3eiz/qjP9l3rZIj
	v5OGRyVG06qrG+caoQcapOR8TwNatE6qUdYf8bRntt+ziDAAYp5ewUNNsFOc2eaAMZZzbkFLimQ
	+EgNMag==
X-Received: from plpg1.prod.google.com ([2002:a17:902:9341:b0:2bd:1ca5:b928])
 (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a17:903:196b:b0:2be:3434:4e28
 with SMTP id d9443c01a7336-2c2a1c66522mr44737215ad.19.1781025423861; Tue, 09
 Jun 2026 10:17:03 -0700 (PDT)
Date: Tue, 9 Jun 2026 10:17:03 -0700
In-Reply-To: <87a4t86a0l.ffs@fw13>
Mime-Version: 1.0
References: <20260529144435.704127-1-seanjc@google.com> <20260529144435.704127-2-seanjc@google.com>
 <87fr315fq9.ffs@fw13> <aiMPxl5vkvJDldi9@google.com> <87a4t86a0l.ffs@fw13>
Message-ID: <aihKj-0nP7bUbNHH@google.com>
Subject: Re: [PATCH v4 01/47] x86/tsc: Never re-calibrate TSC frequency if its
 exact timing is known
From: Sean Christopherson <seanjc@google.com>
To: Thomas Gleixner <tglx@kernel.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>, Ingo Molnar <mingo@redhat.com>, 
	Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org, 
	Kiryl Shutsemau <kas@kernel.org>, "K. Y. Srinivasan" <kys@microsoft.com>, 
	Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, 
	Dexuan Cui <decui@microsoft.com>, Long Li <longli@microsoft.com>, 
	Ajay Kaher <ajay.kaher@broadcom.com>, Alexey Makhalov <alexey.makhalov@broadcom.com>, 
	Jan Kiszka <jan.kiszka@siemens.com>, Andy Lutomirski <luto@kernel.org>, 
	Peter Zijlstra <peterz@infradead.org>, Juergen Gross <jgross@suse.com>, 
	Daniel Lezcano <daniel.lezcano@kernel.org>, John Stultz <jstultz@google.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Rick Edgecombe <rick.p.edgecombe@intel.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, 
	Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Stephen Boyd <sboyd@kernel.org>, kvm@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-coco@lists.linux.dev, 
	linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev, 
	xen-devel@lists.xenproject.org, David Woodhouse <dwmw@amazon.co.uk>, 
	Tom Lendacky <thomas.lendacky@amd.com>, Nikunj A Dadhania <nikunj@amd.com>, 
	David Woodhouse <dwmw2@infradead.org>, Michael Kelley <mhklinux@outlook.com>
Content-Type: text/plain; charset="us-ascii"
X-purgate-ID: tlsNG-ef75cf/1781025426-22D77C48-F8569687/0/0
X-purgate-type: clean
X-purgate-size: 954

On Fri, Jun 05, 2026, Thomas Gleixner wrote:
> On Fri, Jun 05 2026 at 11:04, Sean Christopherson wrote:
> But we also should have a check in the TSC init code somewhere which
> validates that X86_FEATURE_CONSTANT_TSC is set when
> X86_FEATURE_TSC_KNOWN_FREQ is set. X86_FEATURE_TSC_KNOWN_FREQ is useless
> w/o X86_FEATURE_CONSTANT_TSC.

Ugh, any objection to punting on this for now?  KVM and Xen guests will trigger
TSC_KNOWN_FREQ without CONSTANT_TSC, thanks to commits:

  e10f78050323 ("kvmclock: fix TSC calibration for nested guests")
  898ec52d2ba0 ("x86/xen/time: Set the X86_FEATURE_TSC_KNOWN_FREQ flag in xen_tsc_khz()")

Hyper-V guests might as well?  Hyper-V's handling of TSC is weird, even for a
hypervisor.

Even when the frequency is provided in CPUID by the hypervisor, QEMU at least
requires a fairly explicit opt-in to advertise CONSTANT_TSC, presumably to try
to prevent users from shooting themselves in the foot.


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 17:31:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 17:31:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333726.1596902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wX0IA-00042Z-Do; Tue, 09 Jun 2026 17:31:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333726.1596902; Tue, 09 Jun 2026 17: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 1wX0IA-00042R-Ag; Tue, 09 Jun 2026 17:31:10 +0000
Received: by outflank-mailman (input) for mailman id 1333726;
 Tue, 09 Jun 2026 17:31:08 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wX0I8-0003ij-Hx
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 17:31:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wX0I7-005Nrm-VC
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 19:31:07 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a284dd9-2eae-0a2a0a5409dd-0a2a450cb48e-4
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 19:31:07 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a284ddb-62f1-0a2a450c0019-d155802dd04d-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 19:31:07 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-4903d730b1fso66200995e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:31:07 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f351ac0sm113509696f8f.27.2026.06.09.10.31.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Jun 2026 10: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1781026267; x=1781631067; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ssvV4JRoq9pZxeGW5W9F5HAe356mfd3Foon8HbphNmg=;
        b=ikv9wKwh+Cq585Zh6LBJo5xRUaA2XXckesaKfyqxnS+/dHRlUo6G5TOYDLitjHsT+w
         c0U0FwJLmklcEWkdUl26h5Ade0B5ZHXv51RpEhP+GDwO15s3R0EWnqCwg95rjJDp8Koq
         XiYf/AY5+0EvHU/Y8aYbeZeM1gE7z2oqO1prY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781026267; x=1781631067;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=ssvV4JRoq9pZxeGW5W9F5HAe356mfd3Foon8HbphNmg=;
        b=Id6bOIrEl4R3FQ81PZMkBrwfd4VNHgmcW6CNDd9yABe6hHVbjfr9cLbTg2KUWmyuK/
         dcquZtCTYBGmQ9ntsbiTG0xkl3tYU0OUiWxf1ua8zINEoltuIq/8Xc8MZergZhFL/FXI
         Ser/lmg1KR7qxgNDcgEE5As3z5qXQtCA7ks2WIluVfjxisYprGb5y9W1N5kLmeKRpSMp
         J1B4rhWD4xGxymonO6mal5ezuva5wWhandK71au00TsELKPOZjQj+1My5/uK4IcwyyPR
         ibdFLEiivkAiHWfFazK3XPna5xsdseO9rl9wbtkaHjMeK2qRC3ycZzXYboOims9MjtjZ
         uACw==
X-Gm-Message-State: AOJu0Yywu6xWD+u9JgvmB4BhvSrXGO0u20andTOhfn2ZW6t+xjhM13iZ
	gy2p0znlcC93TEb6fJXTrda5AgDsaiAT5Qqg/qGmdYNg/1jqUuUB98HZ2UGer1jZ8yhUJ8Y3Q1n
	0P8dS
X-Gm-Gg: Acq92OGKui+tO0wjk/X305MaVHk+IcksdbUeQSIEFxwDHtTSgVXroc/HJjPGKfxX7RI
	xvmZ8zPZo9E8l4Vsmnl2k42jp7/ArdUB80/yGHTbZ/iz/8hMvXmkdNlug1YM7yE91yehAIHEjAU
	d6VoNT37lSBQXlPr6l7LzojyTllMUAiwHbUmiJ0k9FP6mXHCbVQcYuuc+ryuLHZZvRMmhAdOsSS
	5GqLicKPcbq1Vu+VPIvCQGaChWNUoEgEe4UUoiObAmXVaP3X1BuqMMcNG76e0DgcqC9jS7+/F6+
	9rOvCg+70oHQiFcHVtf0EpbuRFfPjRmRknwUrMhGOgH6j9JJIc/j3AbrDvyGJMUgcRQSIj6NO2h
	jIJpMl4fIzDn9Ed04v7AT63whj8bZMj1VxU1MvRgTGgN1FzjhOXkQRoR+SM/rLWDds5YrByC7m2
	6S/Zw3vup3j6G+4R2WH+NlLraK9WKi0f86gjqIiuOQOqgfgr5eyhst10uV1W3m9cLjVlH26k18A
	7z6LGl9+/xmzR0=
X-Received: by 2002:a05:600c:4e13:b0:490:bd1d:4732 with SMTP id 5b1f17b1804b1-490c25eea3bmr388170395e9.23.1781026267210;
        Tue, 09 Jun 2026 10:31: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>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 2/4] CI: Rename xenial-xilinx to xilinx-hw-runner
Date: Tue,  9 Jun 2026 18:31:00 +0100
Message-Id: <20260609173102.2908514-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260609173102.2908514-1-andrew.cooper3@citrix.com>
References: <20260609173102.2908514-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1781026267-E156FCF5-0D0897D7/10/63158204843
X-purgate-type: spam
X-purgate-size: 3792

The container is tied to the runner, not a version of Ubuntu.  Intentionally
give it a generic name so it need not change in the future.

Apply standard cleanup to the dockerfile, except that it must continue to be a
root container to drive real hardware.  Explicitly install ca-certificates to
compensate for --no-install-recommends.

No practical change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 .../build/ubuntu/xenial-xilinx.dockerfile     | 27 ----------------
 .../build/ubuntu/xilinx-hw-runner.dockerfile  | 32 +++++++++++++++++++
 automation/gitlab-ci/test.yaml                |  4 +--
 3 files changed, 34 insertions(+), 29 deletions(-)
 delete mode 100644 automation/build/ubuntu/xenial-xilinx.dockerfile
 create mode 100644 automation/build/ubuntu/xilinx-hw-runner.dockerfile

diff --git a/automation/build/ubuntu/xenial-xilinx.dockerfile b/automation/build/ubuntu/xenial-xilinx.dockerfile
deleted file mode 100644
index 6107d8b7711f..000000000000
--- a/automation/build/ubuntu/xenial-xilinx.dockerfile
+++ /dev/null
@@ -1,27 +0,0 @@
-# syntax=docker/dockerfile:1
-FROM --platform=linux/amd64 ubuntu:16.04
-LABEL maintainer.name="The Xen Project " \
-      maintainer.email="xen-devel@lists.xenproject.org"
-
-ENV DEBIAN_FRONTEND=noninteractive
-ENV USER root
-
-RUN mkdir /build
-WORKDIR /build
-
-# board bringup depends
-RUN apt-get update && \
-    apt-get --quiet --yes install \
-        snmp \
-        snmp-mibs-downloader \
-        u-boot-tools \
-        device-tree-compiler \
-        cpio \
-        git \
-        gzip \
-        file \
-        expect \
-        && \
-        apt-get autoremove -y && \
-        apt-get clean && \
-        rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
diff --git a/automation/build/ubuntu/xilinx-hw-runner.dockerfile b/automation/build/ubuntu/xilinx-hw-runner.dockerfile
new file mode 100644
index 000000000000..1855b11af354
--- /dev/null
+++ b/automation/build/ubuntu/xilinx-hw-runner.dockerfile
@@ -0,0 +1,32 @@
+# syntax=docker/dockerfile:1
+FROM --platform=linux/amd64 ubuntu:16.04
+LABEL maintainer.name="The Xen Project"
+LABEL maintainer.email="xen-devel@lists.xenproject.org"
+
+ENV DEBIAN_FRONTEND=noninteractive
+
+RUN <<EOF
+#!/bin/bash
+    set -e
+
+    apt-get update
+
+    DEPS=(
+        ca-certificates
+        cpio
+        device-tree-compiler
+        expect
+        file
+        git
+        gzip
+        snmp
+        snmp-mibs-downloader
+        u-boot-tools
+    )
+
+    apt-get -y --no-install-recommends install "${DEPS[@]}"
+    rm -rf /var/lib/apt/lists/*
+EOF
+
+USER root
+WORKDIR /build
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 1722800c1541..89760b24e63a 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -105,7 +105,7 @@
 .xilinx-arm64:
   extends: .test-jobs-common
   variables:
-    CONTAINER: ubuntu:xenial-xilinx
+    CONTAINER: ubuntu:xilinx-hw-runner
     LOGFILE: qemu-smoke-xilinx.log
     TEST_TIMEOUT_OVERRIDE: 120
   artifacts:
@@ -124,7 +124,7 @@
 .xilinx-x86_64:
   extends: .test-jobs-common
   variables:
-    CONTAINER: ubuntu:xenial-xilinx
+    CONTAINER: ubuntu:xilinx-hw-runner
     LOGFILE: xilinx-smoke-x86_64.log
     XEN_CMD_CONSOLE: "console=com2 com2=57600,8n1,0x2F8,4"
     TEST_BOARD: "crater"
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 17:31:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 17:31:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333724.1596883 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wX0I8-0003cl-1N; Tue, 09 Jun 2026 17:31:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333724.1596883; Tue, 09 Jun 2026 17:31:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wX0I7-0003cd-UT; Tue, 09 Jun 2026 17:31:07 +0000
Received: by outflank-mailman (input) for mailman id 1333724;
 Tue, 09 Jun 2026 17:31:06 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper3@citrix.com>) id 1wX0I6-0003cX-T5
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 17:31:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wX0I6-000VFH-2r
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 19:31:06 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a284dc4-e002-0a2a0a5209dd-0a2a4505d884-24
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 19:31:06 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a284dd9-aaa8-0a2a45050019-d155802dc190-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 19:31:05 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-490b2b037d2so51294395e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:31:05 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f351ac0sm113509696f8f.27.2026.06.09.10.31.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Jun 2026 10:31:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1781026265; x=1781631065; 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=H/V8Oj+z9badLK0MAxAfwjiv5BFEHOLvaoYDxB7qvSk=;
        b=JpCsr+omOIfMrRelBwVpCJ4kFmi9BjPYJ+c0Sf9ICxjaIjkQs1uJMgPN03AmYiw6l8
         dtOeZIX2oQUjBGAQrqUmSkg3gg0IQTlF5aTeIBVGU8IuEan1+ze1lmark2bmGJjSloZv
         87EUChlH40YvRLKC3E6MgI6m/wIx9SRrJ6fSk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781026265; x=1781631065;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=H/V8Oj+z9badLK0MAxAfwjiv5BFEHOLvaoYDxB7qvSk=;
        b=dBNCAMZGupslJt/TSgllslIRYw26fxgYipZPW+jkMXMjvFAdWc2LR03Wx3gG5zclJn
         kVRc9ag9XjN2BbUwPn/kHkPQdJfPK2h18t5YCG3ktK4OkstL6WRbuXg915szLP7czVHL
         beDt+JL4KaVhOYrRtAgTpajDU0Gi94YnH008bOmS8Iz23n5JZq2wGkCoQ2ckkZ+wfdkN
         ERKky6zTlOSuWcilyUYeKry+yzKutjADoHb/IOJm1hClX0UaDrXDQ4yndbrIpTdu21sI
         GLyQtGGZ1q7arUKvr0K+mK1BTwwwrkCVFYQuUm6pGkMI5vaNbaZAJkiAV9bZtyrGV+uS
         ETYg==
X-Gm-Message-State: AOJu0YyYmKPKic0jh8jtTdH8vINFiRFZF+UygsT7DU7IZ3L4MmsWx2Cx
	f/ZOdFNquQUFsYlQlOgBEimCNsdG2u9j3ufbR+6wvY+SV2TOkkw9epemUbVIZOf4WQVe8ixm/6U
	gW+qu
X-Gm-Gg: Acq92OFDhYCil8Q27JORlQoM7XKmsf8U8tfvlMs4IEGjJIn34JE+cZlKfdqZCKDiSAw
	CudBKRCClaQZOlEF42l8FwcblAwcZS4GtuOgrBiuB5n53thZtJHtM2Ubh70kQSmMJECB/DUT6Nx
	Xe/SrdHjd2LGgh0SJcGMGPvZwWDc6NomJiaViCyf4aWQDQ8sOzHVc4VS86NZ5nbzdGdt+/xrhuZ
	DfQ/MTbB4EI9YVKODb7S7bDJUlHO67UxwTa0nNwGYsEUBP9DUO91FVNkWKmWo3O/EA3wTY7j/aq
	1glOa5KVpoXyEzxYfQKs/P8H7FfZmNh0xkohzm2uWydODvlFZmTAwSFERG0Jpv4YTUdVjSxhNwL
	vZt8p+Leo79kKU0RmJQXByTQjC85YGBHJ2JeyGLseRN3jQh3Ne1n/ncURbP/qVcevPKUdhp9A0c
	c3v7fGsjjIOXbF161gsB/zx0JecUH3uTefrN10NlL4/beOtJ3Eq24HnlClFVgGMil8RZRryWEKy
	4Ul2vAPlUS++oQ=
X-Received: by 2002:a05:600c:8b6a:b0:490:bb19:b110 with SMTP id 5b1f17b1804b1-490c26216ddmr326440775e9.27.1781026265368;
        Tue, 09 Jun 2026 10:31:05 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH for-4.22 0/4] CI: Disentangle hardware runner containers
Date: Tue,  9 Jun 2026 18:30:58 +0100
Message-Id: <20260609173102.2908514-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
X-purgate-ID: tlsNG-c201ff/1781026266-E3788443-534F815F/0/0
X-purgate-type: clean
X-purgate-size: 1289

... and fix archlinux as I happened to get around to it.

There's a query on patch 3 which affects how we proceed.

Andrew Cooper (4):
  CI: Fixes to containerize
  CI: Rename xenial-xilinx to xilinx-hw-runner
  CI: Introduce new qubes-hw-runner.dockerfile
  CI: Rework the archlinux container

 .../build/alpine/qubes-hw-runner.dockerfile   | 21 ++++++++
 .../build/archlinux/current-x86_64.dockerfile | 33 ++++++++++++
 automation/build/archlinux/current.dockerfile | 53 -------------------
 .../build/ubuntu/xenial-xilinx.dockerfile     | 27 ----------
 .../build/ubuntu/xilinx-hw-runner.dockerfile  | 32 +++++++++++
 automation/gitlab-ci/build.yaml               |  8 +--
 automation/gitlab-ci/containers.yaml          |  4 +-
 automation/gitlab-ci/test.yaml                |  6 +--
 automation/scripts/containerize               |  9 ++--
 9 files changed, 99 insertions(+), 94 deletions(-)
 create mode 100644 automation/build/alpine/qubes-hw-runner.dockerfile
 create mode 100644 automation/build/archlinux/current-x86_64.dockerfile
 delete mode 100644 automation/build/archlinux/current.dockerfile
 delete mode 100644 automation/build/ubuntu/xenial-xilinx.dockerfile
 create mode 100644 automation/build/ubuntu/xilinx-hw-runner.dockerfile

-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 17:31:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 17:31:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333728.1596920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wX0ID-0004Uj-0c; Tue, 09 Jun 2026 17:31:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333728.1596920; Tue, 09 Jun 2026 17: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 1wX0IC-0004UT-Sy; Tue, 09 Jun 2026 17:31:12 +0000
Received: by outflank-mailman (input) for mailman id 1333728;
 Tue, 09 Jun 2026 17:31:10 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wX0IA-00042T-H3
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 17:31:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wX0I9-005Nrm-UB
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 19:31:09 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a284dca-2eae-0a2a0a5409dd-0a2a4501ddfe-30
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 19:31:09 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a284ddd-c1f2-0a2a45010019-d1558034a5a9-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 19:31:09 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-490b3e03939so48778055e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:31:09 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f351ac0sm113509696f8f.27.2026.06.09.10.31.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Jun 2026 10: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1781026269; x=1781631069; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Yot+K2Nwc6JWDlJ/XUTkOnFrW9IKjFfRr7/6DQ5TcJY=;
        b=wb4NMY+5c/TvlgjGmdjrnhE/MbiJkLUHYamiqiyJ9ciQiBXhI/VzntCcsHA0riIaRA
         Wh9pbT/yP3QNrSS4O8gSMUtaZQyb6lJQqUxj4r8J/16ri28EErX9DZVGMVBuwpsLKEV9
         bY6sMybJQr0cK6ecz39Q8UnrCzt+SNlKfuCn8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781026269; x=1781631069;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=Yot+K2Nwc6JWDlJ/XUTkOnFrW9IKjFfRr7/6DQ5TcJY=;
        b=elU4W2sD5w+iZmCJA09rdI0qGRO8/9XiER5pQuhb7u2etOPrION7q/AeRKo5VbXzHP
         1QSIolZk7YdzWx6JRE5ReO5WRMH+JFCjAnMr3zAhJG73eZBEO/ikq8jl/6j/UUUU3uIo
         2wWpLarv1oLX9rHsmgtx+tv1HndIH1jTG44cDxPd5ZrODMqu0IlqeTsQSAxzYHJ0e8s/
         cKrWzKGbpIvLBOFCHo6CCDcaUaekRKkgI/EQvQ+0F/ND5Hykn+oICmxroByPwF88YBtu
         GzUj4A1Htu7u6rG2m3arsA2Jg7iOcRoU5mxcHfLpYL1fYBsZJg9otO+Fm/bGHJ1QBCWn
         0vew==
X-Gm-Message-State: AOJu0Yyl6Vh3/1s8lqaotZqgXLmNTiYQHMoQYJob6t5kR0UMLtSCi+ou
	XTWKPo0T4tpbJGV1zQfFjr/3hfsRWG/Vz9lJ+2quAqawxrvNCSk9Bdqga4NgnRzIfSxjHEouuLO
	lv+vq
X-Gm-Gg: Acq92OFFCghrECWdVxtvs1TpbE8r6BpFh+mUJftz7jqHeLVayf5mwrnTVm/i4D9Ud7v
	dnUWK3N7JHvkrm/mCH5ilVZNl74zMK1umYefsHFpOJRDPX3khzNMbZqNvwcYR1nwoPZxVwP62yO
	nJISoVkzyg/zHdhwCL+oSrCQnCsLnqazkPSbOZzG76xc217q/XIB71fATSTSPfSXhVGp9Lrgfof
	6uS/OzoSp0YzAgrV08lFMwCmAJnwm/hPpfY6sTdElu4MX9DMfTnTIKf3WfupeAogc2ExlImO6Ih
	myJ1axDawa2dMarnuvHGtkgfGC9BZQgmJtgSQMvCL7mt9XUlGIkn7OyYJ3zQI+StAsKRb00CHdx
	30q9HqqJ5peM0t6QaeagveckT1bMWlMM+tdsoZRpayi3tNzTjUuKZdS1Yg7SpbDk2m4FURpBBMt
	jxZwG/CisSESG33TYeF/MUUdy4i7bTwb/nAJK9VnDJW3VwF6I4IqdbVxF/VODOU+dkFvp2fAoGS
	92OEaA9upGXfgQ=
X-Received: by 2002:a05:600c:4183:b0:490:ae36:4835 with SMTP id 5b1f17b1804b1-490c2d2002fmr158367255e9.17.1781026269128;
        Tue, 09 Jun 2026 10:31:09 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 4/4] CI: Rework the archlinux container
Date: Tue,  9 Jun 2026 18:31:02 +0100
Message-Id: <20260609173102.2908514-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260609173102.2908514-1-andrew.cooper3@citrix.com>
References: <20260609173102.2908514-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1781026269-AFB56FF4-603457DD/10/63158204843
X-purgate-type: spam
X-purgate-size: 5894

Rename it to have an x86_64 suffix, updating the build job names and scheduled
rebuild task.

Apply standard cleanups.  Trim the package list down to what is actually
needed.  Archlinux's base-devel contains most libraries, but some of those
packages have never been dependenices for Xen, and a lot are QEMU dependenices
which aren't useful owing to the lack of the ninja package.

This shrinks the container from 533MB to 427MB.

No practical change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 .../build/archlinux/current-x86_64.dockerfile | 33 ++++++++++++
 automation/build/archlinux/current.dockerfile | 53 -------------------
 automation/gitlab-ci/build.yaml               |  8 +--
 automation/gitlab-ci/containers.yaml          |  4 +-
 automation/scripts/containerize               |  2 +-
 5 files changed, 40 insertions(+), 60 deletions(-)
 create mode 100644 automation/build/archlinux/current-x86_64.dockerfile
 delete mode 100644 automation/build/archlinux/current.dockerfile

diff --git a/automation/build/archlinux/current-x86_64.dockerfile b/automation/build/archlinux/current-x86_64.dockerfile
new file mode 100644
index 000000000000..bbd5fa72d2d6
--- /dev/null
+++ b/automation/build/archlinux/current-x86_64.dockerfile
@@ -0,0 +1,33 @@
+# syntax=docker/dockerfile:1
+FROM --platform=linux/amd64 archlinux:base-devel
+LABEL maintainer.name="The Xen Project"
+LABEL maintainer.email="xen-devel@lists.xenproject.org"
+
+RUN <<EOF
+#!/bin/bash
+    set -eu
+
+    useradd --create-home user
+
+    pacman-key --init
+
+    DEPS=(
+        # Tools (general)
+        git
+        wget
+        # libxenguest dombuilder
+        lzo
+        # libacpi
+        iasl
+        # Python bindings
+        python-setuptools
+        # Golang bindings
+        go
+    )
+
+    pacman -S --refresh --sysupgrade --noconfirm --noprogressbar --needed "${DEPS[@]}"
+    pacman -S --clean --clean
+EOF
+
+USER user
+WORKDIR /build
diff --git a/automation/build/archlinux/current.dockerfile b/automation/build/archlinux/current.dockerfile
deleted file mode 100644
index a25702777204..000000000000
--- a/automation/build/archlinux/current.dockerfile
+++ /dev/null
@@ -1,53 +0,0 @@
-# syntax=docker/dockerfile:1
-FROM --platform=linux/amd64 archlinux:base-devel
-LABEL maintainer.name="The Xen Project" \
-      maintainer.email="xen-devel@lists.xenproject.org"
-
-RUN pacman-key --init
-
-RUN pacman -S --refresh --sysupgrade --noconfirm --noprogressbar --needed \
-        bzip2 \
-        cpio \
-        discount \
-        dtc \
-        e2fsprogs \
-        ghostscript \
-        git \
-        gnutls \
-        go \
-        iasl \
-        inetutils \
-        iproute \
-        libaio \
-        libcacard \
-        libgl \
-        libjpeg-turbo \
-        libnl \
-        libpng \
-        libseccomp \
-        net-tools \
-        nss \
-        perl \
-        pixman \
-        pkgconfig \
-        python \
-        python-setuptools \
-        sdl \
-        sdl2 \
-        spice \
-        spice-protocol \
-        # systemd for Xen < 4.19
-        systemd \
-        transfig \
-        usbredir \
-        wget \
-        xz \
-        yajl \
-        zlib \
-    && yes | pacman -S --clean --clean
-
-ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
-
-RUN useradd --create-home user
-USER user
-WORKDIR /build
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index acd4acf13138..9eda40dc6e57 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -523,16 +523,16 @@ alpine-3.18-clang-debug:
   variables:
     CONTAINER: alpine:3.18
 
-archlinux-gcc:
+archlinux-x86_64-gcc:
   extends: .gcc-x86-64-build
   variables:
-    CONTAINER: archlinux:current
+    CONTAINER: archlinux:current-x86_64
   allow_failure: true
 
-archlinux-gcc-debug:
+archlinux-x86_64-gcc-debug:
   extends: .gcc-x86-64-build-debug
   variables:
-    CONTAINER: archlinux:current
+    CONTAINER: archlinux:current-x86_64
   allow_failure: true
 
 debian-12-x86_64-gcc-ibt:
diff --git a/automation/gitlab-ci/containers.yaml b/automation/gitlab-ci/containers.yaml
index 8b702a1d8209..8e1c42a0c5a2 100644
--- a/automation/gitlab-ci/containers.yaml
+++ b/automation/gitlab-ci/containers.yaml
@@ -16,11 +16,11 @@
   after_script:
     - docker logout
 
-container-archlinux-current:
+container-archlinux-current-x86_64:
   extends:
     - .container-build-tmpl
   variables:
-    CONTAINER: "archlinux:current"
+    CONTAINER: "archlinux:current-x86_64"
 
 container-opensuse-tumbleweed-x86_64:
   extends:
diff --git a/automation/scripts/containerize b/automation/scripts/containerize
index 70494645e09f..f3c2b48b113f 100755
--- a/automation/scripts/containerize
+++ b/automation/scripts/containerize
@@ -26,7 +26,7 @@ BASE="registry.gitlab.com/xen-project/xen"
 case "_${CONTAINER}" in
     _alpine) CONTAINER="${BASE}/alpine:3.18" ;;
     _alpine-arm64v8) CONTAINER="${BASE}/alpine:3.18-arm64v8" ;;
-    _archlinux|_arch) CONTAINER="${BASE}/archlinux:current" ;;
+    _archlinux|_arch) CONTAINER="${BASE}/archlinux-x86_64:current" ;;
     _fedora) CONTAINER="${BASE}/fedora:43-x86_64";;
     _bullseye-ppc64le) CONTAINER="${BASE}/debian:11-ppc64le" ;;
     _bookworm-ppc64le) CONTAINER="${BASE}/debian:12-ppc64le" ;;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 17:31:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 17:31:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333725.1596893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wX0I9-0003pb-7W; Tue, 09 Jun 2026 17:31:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333725.1596893; Tue, 09 Jun 2026 17: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 1wX0I9-0003pU-4a; Tue, 09 Jun 2026 17:31:09 +0000
Received: by outflank-mailman (input) for mailman id 1333725;
 Tue, 09 Jun 2026 17:31:08 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wX0I8-0003ci-4v
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 17:31:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wX0I7-005Nrm-Hu
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 19:31:07 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a284dd9-2eae-0a2a0a5409dd-0a2a450cb48e-2
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 19:31:07 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a284dda-62f1-0a2a450c0019-d1558030ccd3-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 19:31:06 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-490b8a97b11so64327575e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:31:06 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f351ac0sm113509696f8f.27.2026.06.09.10.31.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Jun 2026 10: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1781026266; x=1781631066; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=M9XiKbIS7n67HdmfB7W1QPCM8I8PH63mcFkD09L83Oo=;
        b=XF/gsP8W/GppIyMVC0k+q64VE5VrPLt0yk51WYZO7Zsv1p0pKrhvt8I9hHYDYYBpTR
         01Svty9fQNBIFTJ7q3uameAfUJOLx5ReZnyZLT53vGONcO+StXvm7/IM06emMnKvrK1Y
         UzrSbusQguZHl3v0jNSgImcZhntQsBzuG8uaQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781026266; x=1781631066;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=M9XiKbIS7n67HdmfB7W1QPCM8I8PH63mcFkD09L83Oo=;
        b=mjBhZLrw+DLCWWsQQCtBNjgrnKUeEKHptT/3C2R0qLdMWVVVGFuCpnAs4x7EicrdRj
         byBCX/tGvAN2QHd8B4Hs7mg9zBJsYL9svQ+i5g0akrpfyOW2uWrdjehgZB4AKpjX2ZgT
         8anKt3626D6EFRCRYMlXbbmAJiiKVWqrWRIHNnNCfQa5wIPS0xg7lvNy2b3QawDkfKWk
         dc+FGEoq0hkJ2fooyst4Q9BvqWy+355YTGKcaZcDYodZ+LiW3QfZabX0JCiwLXuiXmA/
         nP93rbokq8ufecpQhDxR9KFdHBPN0rEB7V86jVq8aGjQSPbV4L0H0czH8rp6Df/akzEo
         N1AA==
X-Gm-Message-State: AOJu0YzsvlesWypB0hzT0hTR3E4R/kTbExzjRGac0CyFm+QnwcPbfivf
	OqxRYsMX3piLgSm0xVJ6Bgj2hN1srMTT5e5CnUKfjMFJAHs7VZRpvevrq+ZbFaNA64mhlWUvgEh
	UV1WY
X-Gm-Gg: Acq92OGIvjB84RNNQVx9S49OQwwkyhlPA5LILZlW5xmwfnoZIOqC1lO1cQsY+bDSYJj
	YwNr+pR8m82wa7MZ7Tc/auTBPFN+T1kFsLv7hoz9bVww/jTs9JtlRjPmjJPuQ0lNGwRjDOih8VE
	pRppkOE/mhkarplMq6xPPayO5peOBVbJkFCwisD21iv2rQ7X46Kw8XwzZQ8o+qEIUYXJGTJCrVZ
	SL7r2nDQK4IDC5virpm/aTVmTjPK359Nk76INXKyoyykmU+2TcX6+HyeY1JJuh+lc6TCGM4Pcxu
	1gzwQoeOU8L9XHyat7WcN6v4fr4Y5aXtd+Og6OUdpDivjCi2l32ALWljZcX/ybHamQrg43iAszc
	f+SHexXViAVvSLJg6qxol+xzSmkpnVFQFdepQQ44mCDhP4kRLIRQaOxkNnQ7F62hDZMMRrvGqHD
	8tDIYx7HQ9O75WRzQdqToVABYgYnz6g4AQStHKI+4nhHaIl1CqhZ770hJYPiUsUnmw2suV88Mkg
	IlaaPyezWWvbM0=
X-Received: by 2002:a05:600c:34d3:b0:490:bd66:e526 with SMTP id 5b1f17b1804b1-490c261391fmr359348995e9.32.1781026266222;
        Tue, 09 Jun 2026 10:31: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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 1/4] CI: Fixes to containerize
Date: Tue,  9 Jun 2026 18:30:59 +0100
Message-Id: <20260609173102.2908514-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260609173102.2908514-1-andrew.cooper3@citrix.com>
References: <20260609173102.2908514-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1781026266-DB97DCF5-C058AD17/10/73395122804
X-purgate-type: spam
X-purgate-size: 2254

These were missed from prior changes.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 automation/scripts/containerize | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/automation/scripts/containerize b/automation/scripts/containerize
index 8bd2a847aac0..70494645e09f 100755
--- a/automation/scripts/containerize
+++ b/automation/scripts/containerize
@@ -27,8 +27,7 @@ case "_${CONTAINER}" in
     _alpine) CONTAINER="${BASE}/alpine:3.18" ;;
     _alpine-arm64v8) CONTAINER="${BASE}/alpine:3.18-arm64v8" ;;
     _archlinux|_arch) CONTAINER="${BASE}/archlinux:current" ;;
-    _centos7) CONTAINER="${BASE}/centos:7" ;;
-    _fedora) CONTAINER="${BASE}/fedora:41-x86_64";;
+    _fedora) CONTAINER="${BASE}/fedora:43-x86_64";;
     _bullseye-ppc64le) CONTAINER="${BASE}/debian:11-ppc64le" ;;
     _bookworm-ppc64le) CONTAINER="${BASE}/debian:12-ppc64le" ;;
     _trixie-ppc64le) CONTAINER="${BASE}/debian:13-ppc64le" ;;
@@ -42,13 +41,13 @@ case "_${CONTAINER}" in
     _bookworm-arm64v8) CONTAINER="${BASE}/debian:12-arm64v8" ;;
     _bookworm-cppcheck) CONTAINER="${BASE}/debian:12-arm64v8-cppcheck" ;;
     _trixie-arm64v8) CONTAINER="${BASE}/debian:13-arm64v8" ;;
-    _opensuse-leap|_leap) CONTAINER="${BASE}/opensuse:leap-15.6-x86_64" ;;
+    _opensuse-leap|_leap) CONTAINER="${BASE}/opensuse:leap-16.0-x86_64" ;;
     _opensuse-tumbleweed|_tumbleweed) CONTAINER="${BASE}/opensuse:tumbleweed-x86_64" ;;
-    _xenial) CONTAINER="${BASE}/ubuntu:16.04-x86_64" ;;
     _bionic) CONTAINER="${BASE}/ubuntu:18.04-x86_64" ;;
     _focal)  CONTAINER="${BASE}/ubuntu:20.04-x86_64" ;;
     _jammy)  CONTAINER="${BASE}/ubuntu:22.04-x86_64" ;;
     _noble)  CONTAINER="${BASE}/ubuntu:24.04-x86_64" ;;
+    _resolute) CONTAINER="${BASE}/ubuntu:26.04-x86_64" ;;
 esac
 
 # Use this variable to control whether root should be used
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 17:31:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 17:31:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333727.1596907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wX0IA-00044G-ME; Tue, 09 Jun 2026 17:31:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333727.1596907; Tue, 09 Jun 2026 17: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 1wX0IA-00043s-GZ; Tue, 09 Jun 2026 17:31:10 +0000
Received: by outflank-mailman (input) for mailman id 1333727;
 Tue, 09 Jun 2026 17:31:09 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wX0I9-0003pe-Cg
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 17:31:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wX0I8-005CfS-PD
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 19:31:08 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a284dd2-5cb7-0a2a0a5109dd-0a2a45029f1e-20
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 19:31:08 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a284ddc-af86-0a2a45020019-d155802bdd4b-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 19:31:08 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-490d1e54b3bso21260295e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 10:31:08 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f351ac0sm113509696f8f.27.2026.06.09.10.31.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Jun 2026 10:31: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1781026268; x=1781631068; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uaVpHtkT0XSlUk2rDGpamTLWDkRogaQpIZrdOR6KAfE=;
        b=jnl18aJGBa/my6FnXRAM8MUoOjy528yp/PAyLFC/vnJ275tnVIrMpvhJw+0DRbJeHu
         0lCQp0/osWM0zjKKLY52X9yMhcLoQ8/hDWNUBoL293ht7iwIzdxKutLa1QgxI3g0kO1i
         1TcLHOvSJuyyeeGvlhO8zCGp61zL8YJwjH98Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781026268; x=1781631068;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=uaVpHtkT0XSlUk2rDGpamTLWDkRogaQpIZrdOR6KAfE=;
        b=EZStuvT0NNdlANUH2/ex3QSiyY0+HECUZTKyVMLnCDoLQWiBayg7QN1Hr4k+bgMmao
         Vmx/5ofrXYMYVTD2FFa8E7Rb/0Lbj5s/+JJkJx5JgFEjeVCBS5ODw8+TcsArzhkCeTor
         sJxwzshFjlHZlPyG1VbmxC5YWosls/o3ojAR4BQuYXObH6ALPhghEKK3ad+iGcM+KOO9
         Z0SkK+eACJUL34q4uxr6gegZKTs3m/w02je/rO5jt2dhnXSLdZBTMRp6gXrYs6g1EzyI
         4NYy3pqh5C47lDDEGr3GdUskOcT8+8cw5XpnaOUsqPeHHAffV8stQgnPTmgfnd3Y3xtH
         saYQ==
X-Gm-Message-State: AOJu0Yze86t4x5xzgd0gE1F/+m4Ncb+vciHqwk6RqVAYqX9Tcj+dsCCA
	OUMATx02m603r7cHvZvSH0067U61Y8wxiPQWe5xwYPYqzmGhwxbBCRV0QCB4UItq+PUZkPQ9x77
	HVJbQ
X-Gm-Gg: Acq92OFmKx3CJXBpHgruodHwU37j26EpkDPgVkrZe7Kp2SyS9cFbC8/0XTfjUydWRMA
	W8XbFK0Z9RbyS+uLKnkeo2BzBm0bhrjRc7LQtz8+qx2iPnHkYTfcpXEWWUgXF+Hwg6vQZ8KL8LU
	dg2ZZXPKcX7votticy3+GT6uwR1fJwxgymnubjAsan5Xti5RFSsb6nWIshIhxKWzLxdtkIKSwGm
	+rvRcv2o72DknCbn10i/ApdM66/95g/AoAvwrYG7R0iCFBtcAiwfNFstIamwJ9Vj0AY9+Ls9Rgg
	rMY1G8Qd2FglFvO++xC1+YsBhJomFiKnyqWK8mUfqtm02Xr/o2G/k+FeyxutxM7buYJYVFknplM
	1W76s3mQNlImIV2V72mxyCo0RoQ7ZN079pxnnsBBznqqq+QMNK9DBubTMTP3Ya7HDzaiqkaTdh4
	H3eG/co7faCZfks1uq3NQHTfekue4v/0vI4yHAAN2mGT2PMjNGwRXJLragl8kBrGY9K3EGRsgLU
	MBLbZ401gAPclQ=
X-Received: by 2002:a05:600c:8183:b0:490:958c:46dc with SMTP id 5b1f17b1804b1-490c25b0a60mr316999875e9.17.1781026268063;
        Tue, 09 Jun 2026 10:31:08 -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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 3/4] CI: Introduce new qubes-hw-runner.dockerfile
Date: Tue,  9 Jun 2026 18:31:01 +0100
Message-Id: <20260609173102.2908514-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260609173102.2908514-1-andrew.cooper3@citrix.com>
References: <20260609173102.2908514-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1781026268-81D77161-E648CE47/10/63158204843
X-purgate-type: spam
X-purgate-size: 2429

We want to make the build containers be non-root, but the hardware runner
needs to continue being root.  Split it out into a dedicated container.
Intentionally give it a generic name so it need not change in the future.

No practical change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

I need to backport this patch to all trees (4.18 and later) before
alpine:3.18-arm64v8 can be converted to be be non-root.

In all other cases we've been renaming the containers to bypass this problem,
but alpine:3.18-arm64v8 is in the correct new form.

Alternatively, I could see about combining it with the Alpine update (which is
long overdue and needs doing).
---
 .../build/alpine/qubes-hw-runner.dockerfile   | 21 +++++++++++++++++++
 automation/gitlab-ci/test.yaml                |  2 +-
 2 files changed, 22 insertions(+), 1 deletion(-)
 create mode 100644 automation/build/alpine/qubes-hw-runner.dockerfile

diff --git a/automation/build/alpine/qubes-hw-runner.dockerfile b/automation/build/alpine/qubes-hw-runner.dockerfile
new file mode 100644
index 000000000000..0af17c6aabc6
--- /dev/null
+++ b/automation/build/alpine/qubes-hw-runner.dockerfile
@@ -0,0 +1,21 @@
+# syntax=docker/dockerfile:1
+FROM --platform=linux/arm64/v8 alpine:3.18
+LABEL maintainer.name="The Xen Project"
+LABEL maintainer.email="xen-devel@lists.xenproject.org"
+
+RUN apk --no-cache add bash
+
+RUN <<EOF
+#!/bin/bash
+    set -eu
+
+    DEPS=(
+          expect
+          openssh-client
+    )
+
+    apk add --no-cache "${DEPS[@]}"
+EOF
+
+USER root
+WORKDIR /build
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 89760b24e63a..70bb4bbb3b45 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -145,7 +145,7 @@
   extends: .test-jobs-common
   variables:
     # the test controller runs on RPi4
-    CONTAINER: alpine:3.18-arm64v8
+    CONTAINER: alpine:qubes-hw-runner
     LOGFILE: smoke-test.log
     PCIDEV: "03:00.0"
     PCIDEV_INTR: "MSI-X"
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Jun 09 18:51:35 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 18:51:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333775.1596929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wX1Xj-0004aO-I0; Tue, 09 Jun 2026 18:51:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333775.1596929; Tue, 09 Jun 2026 18: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 1wX1Xj-0004aH-FL; Tue, 09 Jun 2026 18:51:19 +0000
Received: by outflank-mailman (input) for mailman id 1333775;
 Tue, 09 Jun 2026 18:51:18 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+8950c42430f9c14a92cc+8325+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wX1Xg-0004aB-RA
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 18:51:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wX1Xg-00ETO2-0m; Tue, 09 Jun 2026 20:51:16 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+8950c42430f9c14a92cc+8325+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a28608b-5cb7-0a2a0a5109dd-0a2a4509bae2-10
 for <multiple-recipients>; Tue, 09 Jun 2026 20:51:15 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+8950c42430f9c14a92cc+8325+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a2860a2-2497-0a2a45090019-5a9b3222d954-3
 for <multiple-recipients>; Tue, 09 Jun 2026 20:51:15 +0200
Received: from [2001:8b0:10b:5:6142:9ddd:3a45:5d21]
 (helo=u09cd745991455d.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wX1XQ-0000000GD8M-48LY; Tue, 09 Jun 2026 18:51: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="MIME-Version:Content-Type:References:In-Reply-To:Date:To:From:Subject:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:To:From:Subject:Message-ID:Sender:Reply-To:Cc:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=Je/qwhOHN5nIVTRrk7V2WIb1Wqh//9z1/oEb7+DUvyM=; b=tgnPqv6V2/Ji6KB1G4lqLbJP5p
	oLzPSvMiIWVvulahV35c4IPfJqRpUlPy01KxhqpQHUSXw7HxF4RgQa+Oil7Rh2axEiufq4xt4iTrX
	hnPfNY/AKdzl6lPyR0gI7pF0ZmYuckBdV8gdFz/kVoS23r4YPuTqw3VgO/htl5webiODI+ybPNus4
	LpSk2/Ru+GW8de8kfXd2qjIcxf8Qt0KX8hg8WghnX7vuFoT0xlx2EQAhb3KXOyxFKeWvR0fDYfcDs
	56Sq72c4BMU81maDRlvt5WhDTJ7gy4/H6ZUqOpf0oomkWuXZ0sQTuxE8p4hOFn63ggP6pMdiWhe3I
	0YEO13Ww==;
Message-ID: <674521f9c133c397638a13c55a61d15ecc16816d.camel@infradead.org>
Subject: Re: [PATCH v5 00/34] Cleaning up the KVM clock mess
From: David Woodhouse <dwmw2@infradead.org>
To: Paolo Bonzini <pbonzini@redhat.com>, Jonathan Corbet <corbet@lwn.net>, 
 Shuah Khan <skhan@linuxfoundation.org>, Sean Christopherson
 <seanjc@google.com>, Thomas Gleixner	 <tglx@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>, Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross
 <jgross@suse.com>, Boris Ostrovsky	 <boris.ostrovsky@oracle.com>, Paul
 Durrant <paul@xen.org>, Jonathan Cameron	 <jic23@kernel.org>, Sascha
 Bischoff <Sascha.Bischoff@arm.com>, Marc Zyngier	 <maz@kernel.org>, Joey
 Gouly <joey.gouly@arm.com>, Jack Allister	 <jalliste@amazon.com>, Dongli
 Zhang <dongli.zhang@oracle.com>, 	joe.jin@oracle.com, kvm@vger.kernel.org,
 linux-doc@vger.kernel.org, 	linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org, 	linux-kselftest@vger.kernel.org
Date: Tue, 09 Jun 2026 19:50:59 +0100
In-Reply-To: <20260608145455.89187-1-dwmw2@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-SGiV83CvkmPXW69xBczW"
User-Agent: Evolution 3.60.3 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-bad1c0/1781031075-4015DA53-F10B2205/0/0
X-purgate-type: clean
X-purgate-size: 9129


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

On Mon, 2026-06-08 at 15:47 +0100, David Woodhouse wrote:
> This is v5 of the series to clean up the KVM clock, rebased onto
> tip/timers/ptp (which now includes Thomas's ktime snapshot series and
> the read_snapshot patches for hyperv, kvmclock, and vmclock).
>=20
> The KVM clock has historically suffered from three problems:
>=20
> =C2=A01. Imprecision: get_kvmclock_ns() computed the clock from the *host=
*
> =C2=A0=C2=A0=C2=A0 TSC without applying guest TSC scaling, causing system=
ic drift from
> =C2=A0=C2=A0=C2=A0 the values the guest computes from its own TSC.
>=20
> =C2=A02. Unnecessary discontinuities: gratuitous KVM_REQ_MASTERCLOCK_UPDA=
TE
> =C2=A0=C2=A0=C2=A0 requests caused the master clock reference point to be=
 re-snapshotted,
> =C2=A0=C2=A0=C2=A0 yanking the guest's clock due to arithmetic precision =
differences.
>=20
> =C2=A03. No precise migration API: the existing KVM_[GS]ET_CLOCK only all=
ows
> =C2=A0=C2=A0=C2=A0 setting the clock at a given UTC reference time, which=
 is necessarily
> =C2=A0=C2=A0=C2=A0 imprecise. There was no way to preserve the exact arit=
hmetic
> =C2=A0=C2=A0=C2=A0 relationship between guest TSC and KVM clock across li=
ve migration.
>=20
> This series addresses all three, and adds new APIs for precise clock=20
> migration and TSC frequency reporting. As an added bonus, it now rips
> out the whole pvclock_gtod_data hack which was shadowing the kernel's
> timekeeping, and uses ktime snapshots as $DEITY (well, Thomas) intended.

Updated series with Sashiko's fixes pushed out to
https://git.infradead.org/?p=3Dusers/dwmw2/linux.git;a=3Dshortlog;h=3Drefs/=
heads/kvmclock6

I'll give it a while for meat-based reviewers to opine before sending
another round. (Is there a way to get Sashiko to take another look
without sending it all to the list again?)

--=-SGiV83CvkmPXW69xBczW
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
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI2MDYwOTE4NTA1
OVowLwYJKoZIhvcNAQkEMSIEIKQ4y9DWuP5RRPhQpel32/EUnEAxygoYI8A9y5f5ewKdMGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIAOOo007Teb9xs
KsWdHu76kaFGmdGIPSgSyFwmZlm7TAbCJF2I5N86bbGOHV3m+U+2QRyVMD+fex0m9m7rIXkFS7iT
drtFS8iqPbouu3NMt+ZGv+z7XLhht/UvDeD73whc5OGUfyGyo9DhOlbzD8HA0U4M9vFdA9iPg7tu
ZoyeHYsvgAISA8MtwjgUrSHF96SJ+eqdBIcnUv4VhMJqnMLfpILG+Pmdw48MpIfZoJEXTC7MeeTk
B/nXHsyMfSK6H4AozIYDD8J4YqC96aTFMn75rR51bfwtEY51xtVqNlT1C1sUrYtupoOQ2BJTMzQU
Tj2vQgWNmRAsdI86dZwOjhzUlA9T7QuGsHK7qv8vHPW6g3Z1HlEW3Lgc0zEBoKutlC/5vEVvJVxt
lkMxXdZcvPcFFyvjThntO2ycnkw9z+zSoE9ccj2ke4c2+edl8F3AbIz+knaXTo+PTHRf367g3vUR
F+yGsn1in5mCdhNjPkWtCGbmeMLI/xREJsQSzmzIRrUQsHRzxod14f29ftoG5uy89Zla2+xs4qnm
RW1cueleAgIG4xjpqnMgNNzsNNDW2iHfs8enrLa7ilnzAkcmbiHqDkyzHgJ1eg2rn5csbIIwHUB3
zgmpWsUxzX7p2Sw6YFS32/rorf3Jflyf1nB5SOfvFpA/6ON5DQQ52jKTgEFWr68AAAAAAAA=


--=-SGiV83CvkmPXW69xBczW--


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 18:55:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 18:55:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333781.1596938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wX1bw-0005Jy-0u; Tue, 09 Jun 2026 18:55:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333781.1596938; Tue, 09 Jun 2026 18: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 1wX1bv-0005Jr-Td; Tue, 09 Jun 2026 18:55:39 +0000
Received: by outflank-mailman (input) for mailman id 1333781;
 Tue, 09 Jun 2026 18:55:38 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wX1bu-0005Jk-5D
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 18:55:38 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wX1bt-00HLLC-Bh
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 20:55:37 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a286183-bab6-0a2a0a5309dd-0a2a4506d6cc-32
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 20:55:37 +0200
Received: from [40.93.201.57]
 (helo=CY3PR05CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2861a7-7371-0a2a45060019-285dc939255f-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 20:55:36 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by LV3PR03MB7562.namprd03.prod.outlook.com (2603:10b6:408:28f::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Tue, 9 Jun 2026
 18:55:34 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026
 18:55: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=FcAKcvRIJOpR5aoCHxzWl00Kicmkk9i1veu46omFQqGR4ozf6EpxnhjDNJLsKJOZ2vfrOsq4qMcnxXW6VPln2xp9tDbagk2XBmCLjpFu9WYsxf7awtXOLeRgxPt6rqX+Dhaa5o6/onzoihq7rF4HB/OFx2V81b4YqBMhmta986O12mULaNont5wKbwmhrVrUrvj/raeetRRyuEwvkRwTJ8s+PIxDStqseGBFTWz/cKw4iNsGg7s3f2v86VtYItY463nRUrJi46RIa3NuNHlv0yLH+ZjQSlUjrqBR81pWvCgBj/d+79NcAt1yiq5RuGutsVZlKWI9Em6b3K4kRn8mvg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t6rB2ubt0c1goT4cIg9Pt8jQg3t/gSjmHGLTX9nvMkA=;
 b=wZsoB1J+0/QvXDunNn8bg/D+LYcIHQ0s/2tvBR6wcYhypt5JVuyb+IBdhRs9k6lgYtTWH5y6nlhxtBGXYi3aWg8IEsmAh9uFpFGZjlvzZWEuTjI8ilyRdSSQKYxIRXVInGmkgP64VRTmpS1vMUnoq1Kkz4eh8ySPyO7jZqvr84JN/QG2zQiVuFflq+u8x/So7fClNfR15s1cxKUQUrYuxj2g7ZopnBPdRL/6e/DxpjEfC3Ng/mRowGbqCfNpIw/rjf45lpKjUROk1QrjvwBdREdW/FpggWWRf6WS//zjdGMoMPsp+N6bSp0JXkyCA7hW1u+ZlbC6AYgifjQtAy9DCw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t6rB2ubt0c1goT4cIg9Pt8jQg3t/gSjmHGLTX9nvMkA=;
 b=J2EfG3NsMIfkyKi6kZ1jkPcw9hJhPWRMKn3xHqT2hLVzKkv3oIUsi5VkjGRf4yqjvr7TVHUNKxWX4px0EFep+3HJnKw8sYQGuLO/c9KJJMOOGnq/PR74c0B0H4HW6rGFFEjAMPlFGMPr4iqDNx6X5gtTT+piFe8/UG+HFZcUa34=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <78f86445-10d3-4ea8-971e-b9887a259972@citrix.com>
Date: Tue, 9 Jun 2026 19:55:30 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, jbeulich@suse.com,
 roger.pau@citrix.com, Ross Lagerwall <ross.lagerwall@citrix.com>,
 Kevin Lampis <klampis@citrix.com>
Subject: Re: [PATCH 1/7] x86/kexec: add digest checks
To: Kevin Lampis <kevin.lampis@citrix.com>, xen-devel@lists.xenproject.org
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
 <20260609154518.779757-2-kevin.lampis@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: <20260609154518.779757-2-kevin.lampis@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P302CA0019.GBRP302.PROD.OUTLOOK.COM
 (2603:10a6:600:2c1::11) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|LV3PR03MB7562:EE_
X-MS-Office365-Filtering-Correlation-Id: 6e181a2e-8c9f-4acf-07ae-08dec658af7d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|11063799006|4143699003|56012099006|22082099003|18002099003|6133799003;
X-Microsoft-Antispam-Message-Info:
	XifQMaU9aJc9UqxLWm5JHTsY/HmSRYmEHSUql2TuxlYgDyscke6CNBX5M+CWUlwy83uohnLjiiHIUXev4cBw2lA2++1Bhn1/LOaOH+2W7oUypLa3esuB3X5c32rk5wDrIzDN5ialMHNtYVLP4jnEBqRNt3iV6b3N0T5Fx5rKASEE48OwrO1iAfTkdA/Zg02+YpKOPFU6E0FhIJ8loTleTLVR84uLR5oB3KhMMqwfo1uZO1c8VuSzvehOery4Igo0umAKwPHlIop/e6FhzUM0c1EpZDob7+oig524yHr8pOnYhjP4oiDQqCHFoNmuWPZKV0aKCncAbVTLUhWVUMv499ERz+ZUGBsDxrQfjG9HQDDffRqdzQIbLNetc5xQrU8vAbsWRQ/Ev3PWBqWJ1i2t44Trc6pawz/mPNUO7/IcuQv0Il19WJfSY7vFqTQYELOOnou8pSWg/TsXC47DnPKlgW/zMNiB5ZdVrIpALUeIKngj7tv4f6gDJ2z+Baaf0e/iPocdR3/4nRI+oEQI4HoK+8lRur62q9vJ3HETvKJsO7xqg6v20LySor7cGCTf8FmxjE1m9mVTaEE68MjWTRHW1ynQhPAz8DxIhX58nr0xCzzNN2Vw+UpteP7UYgBUO/sL7y6zMIQ3Qf608VHWiGolax1ECJl5YdcnwjLhN+QOlMzB/wZDSkUTDCHA8E1bMPta
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(11063799006)(4143699003)(56012099006)(22082099003)(18002099003)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d3ZaZnp4T3NrRDhka3c3dXVxdlg5UFVrV0dtWWxUQXVRRlRuWE96ZTdpUUlH?=
 =?utf-8?B?T1B2cERqbStKZ2hYTzVlR0xsSnZ2M20wKzhRbSt2cVhaU2ZtZTUwRWFHdkRy?=
 =?utf-8?B?Q2RENkVuN2lQenhOandjMXZwQnE4Q3NCNExPSTMwaWY1dmRCZittbUpxYUZR?=
 =?utf-8?B?ZVVXeGdUSFRxNVRVQ1RoRFJ3K1JjWThvNnc2eDd3Wmw5dDJjSXZXSXFQUld4?=
 =?utf-8?B?VHo3T1RlM2FYQnZCbkxzTngxT3owRmI1ZFpnM3lXbnVSSnlrOVFQNDYvWlpy?=
 =?utf-8?B?d2gxVURiU0pQN0FvcCtsbFNDVTBEODkrYi9yZmtsVkhnTThWVldTcEFrbUUx?=
 =?utf-8?B?TC9BVjhqSVVIdlkyamQyZStuaVNjajBSZlE4QU8yYXVlZGIvZUs3MVliZHFW?=
 =?utf-8?B?b0gvenFOYk15RVhLbVg4bkN0eEFmY0JhZ1lwZWdaU2JDYlNEWm14OGFJc2FS?=
 =?utf-8?B?alVRL0dxczdqaExNQ0lOb21YVXAwMVA2N1lLVHFjclM1VnBpOVZLVjU2Zkpp?=
 =?utf-8?B?azRrMVJtNFI0cVpvV01SZ3kzcktDdWw3amcrcEIxNWlRbk9VVFdNNjNCYmtE?=
 =?utf-8?B?bXBvaFhNT1BkSXRPL3RzQzVydko5aGRsdm1yYVgxQUVjclJSNlZoR2ZZVzNL?=
 =?utf-8?B?RGtrajUzRmRYRkp2TzdPcngreVdLOTRHMndoWWVVN1NxOWF2bE9ybjRKQTVm?=
 =?utf-8?B?YnFLTDB5cG9aWlRYV1puZVE1OG81UFZkU2ZHZDdqdlBObFliaTVtNVhzcjc5?=
 =?utf-8?B?bUlwSU5CVENPc1ZwQk0rTEs1cGx6aWdOWEJXbzF1Uld6aVN0UmJIUWhDa2V6?=
 =?utf-8?B?Y1ArVDNSWDdGSUxjVHVWSXFxSFp1UXhGZ0hFeHFDUnVPYVFWTzhrMlI2bWda?=
 =?utf-8?B?SmFqWWIxNnZtekN6bHgxZWV0R0tqdWtzdTc3N2VBZGxNc0ViVitwQ2Q0VCtS?=
 =?utf-8?B?dWFSRnlpS2tZSjB3WVR1L1JoRithMWZHZVNLQkRrcGtmZE1INXBONUkrZVdp?=
 =?utf-8?B?aTF4OUsyV25RTFUvVE5vZ3ZPSlFNNGNsbE11aWJOQjFrQmFheS85U3Y2L1BV?=
 =?utf-8?B?azU5VFVGQ2RxMUlvd2pvVTIzbHZlY0kvVGtFMENzWU50ZTgydExwSU9haHBH?=
 =?utf-8?B?Mi9lVmJCY1gxN2JFUFhKbHZYaGpGSUZCYUxkQ01lSVZyRUduRWV0VWQzOVVx?=
 =?utf-8?B?cUx2cXhkeHZXdHJjNEFScXd1TmdOQ1BNKzcydWMxSjBmZVNpRTNKQVZBb3NK?=
 =?utf-8?B?MjdEZmMzbUZaSFNqaGZJNGFDQlJkNXZuQ3VYTm9oaEMySVRYaXlYNnZYSEU2?=
 =?utf-8?B?OEYvamZteVJWWVpqemZkY3BzMzhRRUNvZzhzSjJiTlRXeDZSNlhKSEdKbDFS?=
 =?utf-8?B?VG9YWEttRFpQcndZaC9HSlhrQzJPTGdENE53Rm5WQmxjS29lcllDTFJyMWQy?=
 =?utf-8?B?enBldFE0YW5RVFVZeWYxNDJwanRrVlpGZ0hYc0tYcGpKdTBuQnBYOWFTSzBz?=
 =?utf-8?B?bFRTV3VzN0JQYzBsc2JGVXhITE5lVm1oVC9hNHpibW42UjlDKy94eHF4RjYz?=
 =?utf-8?B?TmplRTlkWE9SY082QmdmSTRiTXFZY1J0SFpPczNWSWFBUTBMd0N2T0hkVE1K?=
 =?utf-8?B?TW83NjErYldublNERElPTkY2SnhuMnJMRk5vWDFObWU2YUdTc1liN1JCZFRK?=
 =?utf-8?B?NXVFaEdSd2hhdFJ6d21wVlJ0WStUdno3QmprUDlOcldwZmVRank5SVdDd3RV?=
 =?utf-8?B?WWtvNjZjVVFENXFkd2tqbWRhaGVtSEhXTXFHWERjd09LS1V2c0lSMDV0VUpB?=
 =?utf-8?B?OThMRXNWNjZHOGRNS1NQUS9kbWNXdjF4aUt5bTduc1hWVG9Mak5WUHVqeWg5?=
 =?utf-8?B?WGhvNjNJbW9nRlRmU2dVcHFhVjUrQVprRzd6NlBoeGlzRkJMVDJjK1FzRXo1?=
 =?utf-8?B?bGhUSmp5MTRsOFhrNGFBY1c0UGpXanFOVld2TVIycldYK1BsTERVVVpJeU5W?=
 =?utf-8?B?a2hUQ2FQc1JxN2R6eTM3M1B3ajMvS1d1d0FPYklreUYycFRjSG5GTEdlKzRi?=
 =?utf-8?B?cWF4c0hUb0t4Z0pyYjMyTTQ4TzQ5OUNJRXdWak9DbjhGL3pxOXZTdWpLRGpK?=
 =?utf-8?B?UGpDYmdBRmc4N1lDaFVsbG9zK1FFUWgxMGJRWVhjb2pBQ2FYa05tTCtlK2Ir?=
 =?utf-8?B?bFQ3ekRReDlOZDYxcVJSUVNtbC9KY0ZjVDFMWFVKViswY2d5enVvNGtkNDUr?=
 =?utf-8?B?Z0FmYkhiQjNxbHJTMVBHdzZEajI0WHdtZmljazFISDdOUWh0MmtsTVZGK01l?=
 =?utf-8?B?cHp5SjIrMEQ3dTJEU1FvTWtIV3IreXRDN2lpNEg5MDhJd2tRbkhIcjZ4QmRz?=
 =?utf-8?Q?KSiwHv+K9c+cgiII=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6e181a2e-8c9f-4acf-07ae-08dec658af7d
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 18:55:33.7739
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1mG7/+STq7UOtpLUJsbfXS0+ukQP8FizeZU3g9x7FBsO7fn/FR2GaYcauvH7ytVtEY8rlFIws/Ex+QnOtQRb0Ns8/TyAcfGOFi59Ze/v+Mg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7562
X-purgate-ID: tlsNG-16d1c6/1781031337-8E78DD75-5C0BAA6D/0/0
X-purgate-type: clean
X-purgate-size: 6186

On 09/06/2026 4:45 pm, Kevin Lampis wrote:
> From: Ross Lagerwall <ross.lagerwall@citrix.com>
>
> During kexec load a sha256 digest is calculated of all the kexec
> segments combined. This digest is stored and verified again during kexec
> execution.
>
> This is a requirement for Secure Boot to ensure that kexec data has not
> been tampered with or corrupted between signature verification and
> actual execution.
>
> Only kexec crash is supported. The segments for normal kexec are stored
> in temporary buffers and moved to their intended destination during
> execution. To calculate/verify the normal kexec data before relocation
> would involve walking the relocation table to find every temporary
> buffer which was out of scope for Secure Boot work.

I'd suggest reordering the information for clarity.Â  How about this:

"In order to support UEFI Secure Boot, we must confirm that the kexec
data has not been tampered with or corrupted between signature
verification and actual execution.Â  However, it's a good check to
perform generally.

During kexec load, calculate a sha2_256 digest over all the kexec
segments.Â  This is stored and verified again later prior to entering the
image.

For now, only kexec crash images are support.Â  The segments for normal
kexec are stored in temporary buffers and moved to their intended
destination during execution. The logic to reconstruct the normal kexec
images runs long after Xen could cleanly cope with a digest failure."


"out of scope" is not really something that wants to end up in the
commit message.

> diff --git a/xen/common/kexec.c b/xen/common/kexec.c
> index 65776a95fd..c920bc6d8a 100644
> --- a/xen/common/kexec.c
> +++ b/xen/common/kexec.c
> @@ -383,6 +383,12 @@ void kexec_crash(enum crash_reason reason)
>      if ( !test_bit(KEXEC_IMAGE_CRASH_BASE + pos, &kexec_flags) )
>          return;
>  
> +    if ( kimage_verify_digest(kexec_image[KEXEC_IMAGE_CRASH_BASE + pos]) != 0 )
> +    {
> +        printk(XENLOG_ERR "kexec digest failed, won't boot corrupted image\n");

"kexec digest failed, aborting kexec crash transfer\n".

The !=0 can be dropped.

> diff --git a/xen/common/kimage.c b/xen/common/kimage.c
> index 6202491f7e..018ef66451 100644
> --- a/xen/common/kimage.c
> +++ b/xen/common/kimage.c
> @@ -20,9 +20,12 @@
>  #include <xen/mm.h>
>  #include <xen/kexec.h>
>  #include <xen/kimage.h>
> +#include <xen/sha2.h>

You don't ned to include sha2.h here in kimiage.c, seeing as you need it
in kimage.h for the struct change.

> @@ -820,6 +823,101 @@ int kimage_alloc(struct kexec_image **rimage, uint8_t type, uint16_t arch,
>      return result;
>  }
>  
> +static int kimage_calc_one_digest(struct sha2_256_state *ctx,
> +                                  xen_kexec_segment_t *segment)
> +{
> +    paddr_t dest;
> +    unsigned long sbytes;
> +    int ret = 0;
> +
> +    sbytes = segment->buf_size;
> +    dest = segment->dest_maddr;
> +
> +    while ( sbytes )
> +    {
> +        unsigned long dest_mfn;
> +        void *dest_va;
> +        size_t schunk, dchunk;
> +
> +        dest_mfn = dest >> PAGE_SHIFT;
> +
> +        dchunk = PAGE_SIZE;
> +        schunk = min(dchunk, sbytes);
> +
> +        dest_va = map_domain_page(_mfn(dest_mfn));
> +        if ( !dest_va )
> +            return -EINVAL;

map_domain_page() doesn't fail.

> +
> +        sha2_256_update(ctx, dest_va, schunk);
> +
> +        unmap_domain_page(dest_va);
> +        if ( ret )
> +            return -EFAULT;

ret is always 0.Â  (This is dead logic from copying the form using
copy_from_guest()).

With these dropped, the function can become void.

> +
> +        sbytes -= schunk;
> +        dest += dchunk;
> +    }
> +    return 0;
> +}
> +
> +int kimage_calc_digest(const struct kexec_image *image,
> +                       uint8_t digest[SHA2_256_DIGEST_SIZE])
> +{
> +    int ret;
> +    struct sha2_256_state ctx;
> +    unsigned int s;
> +
> +    if ( image->type == KEXEC_TYPE_DEFAULT )
> +    {
> +        /* TODO implement digest calculation for normal kexec */
> +        return 0;
> +    }
> +
> +    if ( image->nr_segments > KIMAGE_SHA256_REGIONS )
> +    {
> +        dprintk(XENLOG_DEBUG, "More segments than allocated SHA256 regions\n");
> +        return -E2BIG;
> +    }

This is the only use of KIMAGE_SHA256_REGIONS, but I think it's stale
from the version of digest checking in the patchqueue.Â  I think you can
drop it.

> +
> +
> +    sha2_256_init(&ctx);
> +
> +    for ( s = 0; s < image->nr_segments; s++ ) {

Style.Â  Brace on next line.Â  (The code you copied from was wrong.)

> +        ret = kimage_calc_one_digest(&ctx, &image->segments[s]);
> +        if ( ret )
> +            return ret;
> +    }
> +
> +    sha2_256_final(&ctx, digest);
> +    return 0;

With kimage_calc_one_digest() becoming void, so can kimage_calc_digest().

> +}
> +
> +int kimage_verify_digest(const struct kexec_image *image)
> +{
> +    uint8_t digest[SHA2_256_DIGEST_SIZE];
> +    int ret;
> +
> +    if ( image->type == KEXEC_TYPE_DEFAULT )
> +    {
> +        /* TODO implement digest check for normal kexec */
> +        return 0;
> +    }
> +
> +    ret = kimage_calc_digest(image, digest);
> +    if ( ret )
> +        return ret;
> +
> +    if ( memcmp(digest, image->digest, sizeof(digest)) != 0 )
> +    {
> +        printk(XENLOG_ERR "kexec digest failed expected %*phN but got %*phN\n",

"kexec digest failed:\n"
"Â  expected %" STR(SHA2_256_DIGEST_SIZE) "phN\n"
"Â  Â  Â  Â got %" STR(SHA2_256_DIGEST_SIZE) "phN\n"

The newlines and tabulation are important for legibility if this really
triggers.

In hindsight I should have pointed you at check_digest() for AMD
microcode, which is even closer to what you needed.

> +               SHA2_256_DIGEST_SIZE, image->digest,
> +               SHA2_256_DIGEST_SIZE, digest);
> +        return 1;

return -ENODATA or -EBADMSG.

Error handling needs to be either truly boolean (in which case the
function wants to be bool), or int with -error.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 19:02:04 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 19:02:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333790.1596947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wX1i2-0007YP-NY; Tue, 09 Jun 2026 19:01:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333790.1596947; Tue, 09 Jun 2026 19: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 1wX1i2-0007YI-KZ; Tue, 09 Jun 2026 19:01:58 +0000
Received: by outflank-mailman (input) for mailman id 1333790;
 Tue, 09 Jun 2026 19:01:57 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wX1i1-0007YC-GP
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 19:01:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wX1i0-00EV0F-PY
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 21:01:56 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a28631c-bab6-0a2a0a5309dd-0a2a450c84fa-14
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 21:01:56 +0200
Received: from [52.101.52.36]
 (helo=BL2PR02CU003.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a286322-62f1-0a2a450c0019-3465342422f8-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 21:01:56 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by LV3PR03MB7732.namprd03.prod.outlook.com (2603:10b6:408:281::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.14; Tue, 9 Jun 2026
 19:01:51 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026
 19:01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=b74JAeQsTgnyOCWHfW8IlbogllWstw+z0dO3JdwIan8MIKST/8mdJ3/VCL0BNvkWfb3+OynHD15uqQGTC2vIwWNjJkCuV+ebiatksG3zrfNiXqipiCjEDUDjsTZqTARpOs1yb+k7GnWbAk5RedonsALLvb70OWlFKaBgcsUP9r99f8E6L80/vCLQPp2rUQ5BSG5vUJmsviWgkQUUHeusysNaTg7NDIrq+w3kE4lsLg0D5wvBYGY91B4l9TOlPVCH1x/Zn9FLWTAKC0gxAyfvHTYq7pMFhrtKqPJuB60IvE9PMicAQZVg7l5sTZfqTev4xyjEJFtUaw4gdl5WgixKfA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=R40MhzSV9GmPu2Oq8mPdWnfAGjIHXwzc1X/juP6K8wc=;
 b=Sw4/1ZheEqfiRgvbaLWwPLPiOL7+/53/sJepadRUOhoLDSHs60O7pJXlaiaSAQIr7/65eUKhB7IY/kzjB1xgyPNW489zME1YvPoAOUpTQvTgeGMXlmjX4cICgt7rtN5w2a8yvg8L1UtqW1qoV1cwIX6WSG0787favH83jC9cKH6Y34EZhwLeTHo8JyuGvYwB6dS/FS4ejmGcgWcn5mnNEgHLcTc+Q86K9EyrocFrpyFvOfJ+lstJj8rH3550tDwiES3j7Sz25eCIeUQTpl+1XABrhL+60HEyHJT9aSXSg4gt6dBFBq3h8KHP6IjINkBmm7TngEqG9AmL2j2cIyhzzw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=R40MhzSV9GmPu2Oq8mPdWnfAGjIHXwzc1X/juP6K8wc=;
 b=oCVVhDGdfJPWL2FPCFRHPuV/6cjJA77iJqGpHu63I1Atnli+eWI4nb9QrJVsnSFYXwCyZtITfdUIqdiFRZkobQuUGIMat70lLL0L4sLU3pTXHbS3xhXXltiCJ/bUT97yxuohG8bPJoxGIFjt3PhPWMMBU1VGEe6TV1ytGtDcKNU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <6aa8af05-cd42-4e98-8169-a80cecbca869@citrix.com>
Date: Tue, 9 Jun 2026 20:01:47 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, jbeulich@suse.com,
 roger.pau@citrix.com, Ross Lagerwall <ross.lagerwall@citrix.com>,
 Kevin Lampis <klampis@citrix.com>
Subject: Re: [PATCH 2/7] x86/kexec: rename setup_header to bzimage_header
To: Kevin Lampis <kevin.lampis@citrix.com>, xen-devel@lists.xenproject.org
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
 <20260609154518.779757-3-kevin.lampis@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: <20260609154518.779757-3-kevin.lampis@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0533.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:2c5::18) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|LV3PR03MB7732:EE_
X-MS-Office365-Filtering-Correlation-Id: 5c2bda35-7844-4ebf-d6f0-08dec65990c2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|18002099003|22082099003|4143699003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	QD6CCZn6wwZmD3P5UOaJdVofTdWOA9KuIW6ys8Nj0e/muCYbKiEXR0VUiao5dldm1Xx8shB4Q/tdFUtc9kDlJMd6UTeJo5InB9O4Ij9rfgBW6mybNAOiipFnn24mPiCQtSDPVO587zydJZfnIBoqmn/bYqiRcxQ6k/XwfhJkJS7IIX8r0bPak92/UDY3lZkfzDaCF+COeXMer9t5FayLM79gL4a7JUhdlRF7e0W9g8ERB0lhbXViO9tYi+HnznOThoteNpACRhZ16QAXW7CuOVLdCKveamVhpwVyG7Hx4avQSM5rFm6TvJClb61vq+kkLaSly8CVzrVoCCRzjfQym98QBdA8iZ9Fpt9+tqqtU43FdNldMVwUg3xs/REX12zEGguu69WM7kwI8nflYCi+AhpKs4yGvGRtW6+GuZHn2amYcOsnEXhGBgNN8AI2nGSzErP+eUOa49L1WMY5HFUflB/E4T2iyItgW40/Q2tD13SVhXnGBvnILCYw/7TrDBV3ediXXgE5vAEVI+1jEvs0zh/YT9kxmPSKCfCkqbU4DCkueOUB1JL8mLKSfUCDhzWOKGHaPaO9rVadGAviIYTQsU2Rcw3vr8o8OHlFqzrEIL4AkOoVz/UCXfrm3w8/Dd88wLCvcKLfXTElm5JNhmsrjpCTPgFlG9JmIhd23bQjXkzcbz6axFrR9fMhmobewKq4
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(18002099003)(22082099003)(4143699003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VnZXQmJXbVJVVXlHR3pyWENNejQ3RkRvREhMY1o4K2lrRDRWTXplbmg1dzM5?=
 =?utf-8?B?U1ZqaUJNODd6T1pIMkRwRFk2Qkp1Zyt4UVg5dlhzOENnSEMwekRRUGdyZGRG?=
 =?utf-8?B?OS8rTWJQY2VFVmxOeVhQc3VZSW1jbkIrclo1bWliTXZDRnJqT3l5d2pXd1NX?=
 =?utf-8?B?aENXVncyUUhYRHc2czcwREs4OFNsSVBVN1RDWUlMSS91UHk4T0RsQUh5Y1ly?=
 =?utf-8?B?MlVVMmwxK1BUNzlIOGd6cGxlWm9nRmk5NStVcXB0dm5USGljMW50dWhCK2Mv?=
 =?utf-8?B?KzBSazc5TGVVcEFWck9iSkdQV2d6MDhpWWpPbTl2cENRVkhBa0VuQ29PMU51?=
 =?utf-8?B?emM3UndoZVRrWC9LZFBvVlkzRVV3YzhqazlRN3YzS1Nwc0ZjVndJYTVraDhQ?=
 =?utf-8?B?K3dwVXorMFVFclVHRktUYy91OUx3YjlxRk1qVnVmYUcwUDBsNjNyay9wc0tD?=
 =?utf-8?B?eDhhQldjTHFLZStCUlRuOElpTnQvT3Y3QzBNRVUxaEptT015NlNCbHgvU2NH?=
 =?utf-8?B?WVBhWTBhcVV4cDdvbjliNVgxZjJ5cUdPaDNSdmVTL0J3S3Fuc0NCdnBqKys3?=
 =?utf-8?B?YVgvZkxabkJFeG11RnY4WHBOZ1duaVZyekRBTTQ4dFM4WWQ3NCtrMVphVm9s?=
 =?utf-8?B?bzNlSnM4MjFaRnRuSDNEQkJJRC9OWnNGZXJVZ0llRG5YOWlWdmlvRWtDOWI5?=
 =?utf-8?B?bkphVjF1d1UwWDlUbW96UVA0Wlk1K1BreFJ1eURIaFJaM2tIMHhsSkgwV0xm?=
 =?utf-8?B?VnhmT3lneXNySFpDWVpPMStMMXFiSnhEdnFkUjQvOVJjaUFZL1VpVkdMdWNC?=
 =?utf-8?B?bzBicGlyVTNhR1VKZmlENkVrREFvLzJxWUduYWtObklqVitPeWNnNHpwQVA2?=
 =?utf-8?B?dExXNm42Q0pMb0tERjJRaFpKVUVDbmdWdU10dmlxNEVQZDZPT3ZiZWpCeVZE?=
 =?utf-8?B?cHZqcGRheXBBblZtN3NTOHFLZ2EzMG5uVitoSDZ0RlpRdk91SXhtMlVIOUx0?=
 =?utf-8?B?TkpaV2x2Ulc2N0dLQ2xNbEZCMTVWUWJHSEFnUVliamN1Q092YnhKemNqa3JX?=
 =?utf-8?B?cndVcTQ3eFZOUk5ONGppWlU3U1puK1JPZHJWMXNzSXYrR29Rd0k4bTRDak9y?=
 =?utf-8?B?bk1ob2hFdW5UL1BUWDZNNjdXbE54c0trYklaeTdXVk9lMDdwQWxRWFFQREVk?=
 =?utf-8?B?V2ViNmJXcTV0cFQ4S1lKWWpxdldBejBJL3V5UWN0TWF6YzluczlXa2hKRmlI?=
 =?utf-8?B?eU5KazlvRzhUSlFCMDJOQXVuNVNnUU9Lem5DWndFWm9UYjIwL2IzQ2x1a1p6?=
 =?utf-8?B?ZHFib01BUHJvdGhOdnpHRDFnS3owdnFDbEpkU3MzSUdmL3MyUjBIMVVyZVBR?=
 =?utf-8?B?V2Rqci9Ec3pEalBPME1CQVFOQlZCT2JjOFV6bzMraXdwRHJGRDJNRzFlcWhs?=
 =?utf-8?B?Vk00YnBmNkw4elVlWm5scktPaWdHdHJjQ2hUc25lSFVnMzFocVlxQXphUzBX?=
 =?utf-8?B?WjlJOHFHeWtWTnBLUG5xYjdIZXMyaWxzd3FQNHhwTkpEMFhXci9BNjVSQkJR?=
 =?utf-8?B?bmFjSGl3c3NqamR2K0hEcE8rVjViWUtqbTdmYVBTVnlWV3l0NmlaOXVvL1VV?=
 =?utf-8?B?Sk4xZTAzUWZZeTVQMy9BbkMwRU1tYmYzSVlVa0J3bHFPM1psRC9aSUVBaFhi?=
 =?utf-8?B?VGUwWFAzc0NUbDQ2Wkp2ZkIxaXBlcDR6aXRIcjJmUmwvaVl6WUNwb2JYU0E0?=
 =?utf-8?B?RGFKOUdlc2FoVHp3UXRTYnNlelU0dzYwWUw2d0RXR0RxY3VsZVlxK1ZkK2Js?=
 =?utf-8?B?QnRaektqeEZEd25FNUg2ZmFEVTRHWVZwN2N6LzMrZGl0ci9JdFNZNTBidkNW?=
 =?utf-8?B?dmVNZTVPSVB6THFHL3o3cjJsSEEwdGdGV2NpWnp3a2dycm9qQWl1aW1peVFa?=
 =?utf-8?B?K0ZmYkphR01FTWlnbmFPOEcvc3ZqNldkVVJXU0M3U1A5RmQ1eW5MbS9xZjZ2?=
 =?utf-8?B?SEkyaktqYzR3TWtZZXFQdDhNL2RpcFkrUzZFbDUydzJqYWtJalBnckhCNkZm?=
 =?utf-8?B?ajlvZ0M1UFRpYmg2SXBZVWNCN1VlcmFCRGpOUlVRTDgyMDdtc3JNUS8vOUIx?=
 =?utf-8?B?T1RXaUFBWU5PRXc2K0JycGthTW16cUxBcDhHdnZIb3dBeCtnNWpTK2VsWS9w?=
 =?utf-8?B?VTVjUFFGeGZTUDZRQVQ2VmJLcHFtSEVNYWNTeGtOaDMyelhPamhGbitvS2NP?=
 =?utf-8?B?OTk1bVZmQ0JTTlYxd0dodWc5RHd4bXRrVlBkT2I2cUo4QmJQRE9ISHpTWGFt?=
 =?utf-8?B?ekpiVURjQXlQMzl1N0tMSldyTEQrdUdpQWN2UFVMa3BoQjNWWmVTaFU0R0lQ?=
 =?utf-8?Q?X8btF1r7nflEjHbA=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5c2bda35-7844-4ebf-d6f0-08dec65990c2
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 19:01:51.7122
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: b8rvSi4PVt2/Vd2xOyGpQNc2zsKg+wxRJTEwbMvjnrWRJoZ9Oimj6nXdukrg8LOMbALMzD7oOrlTsNNKvY0F+YG97RRfq7uZlk2i06m5M20=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7732
X-purgate-ID: tlsNG-d25034/1781031716-DA776CF5-5E5D81BC/0/0
X-purgate-type: clean
X-purgate-size: 990

On 09/06/2026 4:45 pm, Kevin Lampis wrote:
> @@ -73,7 +34,7 @@ static unsigned long __initdata orig_image_len;
>  unsigned long __init bzimage_headroom(void *image_start,
>                                        unsigned long image_length)
>  {
> -    struct setup_header *hdr = (struct setup_header *)image_start;
> +    struct bzimage_header *hdr = (struct bzimage_header *)image_start;
>      int err;
>      unsigned long headroom;
>  
> @@ -106,7 +67,7 @@ unsigned long __init bzimage_headroom(void *image_start,
>  int __init bzimage_parse(void *image_base, void **image_start,
>                           unsigned long *image_len)
>  {
> -    struct setup_header *hdr = (struct setup_header *)(*image_start);
> +    struct bzimage_header *hdr = (struct bzimage_header *)(*image_start);

Both of these casts are bogus, and can be dropped as you're editing the
line.Â  (Probably written by a C++ developer.)

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


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 19:07:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 19:07:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333796.1596956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wX1nD-0008El-8E; Tue, 09 Jun 2026 19:07:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333796.1596956; Tue, 09 Jun 2026 19: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 1wX1nD-0008Ee-5B; Tue, 09 Jun 2026 19:07:19 +0000
Received: by outflank-mailman (input) for mailman id 1333796;
 Tue, 09 Jun 2026 19:07:17 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wX1nA-0008EY-WA
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 19:07:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wX1n9-000gGp-T5
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 21:07:15 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a286429-5cb7-0a2a0a5109dd-0a2a450581a6-28
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 21:07:15 +0200
Received: from [52.101.56.60]
 (helo=BN1PR04CU002.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a286462-aaa8-0a2a45050019-3465383c160d-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 21:07:15 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by CH7PR03MB7811.namprd03.prod.outlook.com (2603:10b6:610:252::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Tue, 9 Jun 2026
 19:07:12 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026
 19: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=p/XlWcSVb8R2t+XTS9WNetOVQA5E3upCrHPHXBgnyK2FMeHMvM5YzrisAqbNbCJamU1GnTkyAoIinRA0k5H1lZYWmD/OI/2tWVufzO1gLdnpl2AGlGrYb1i4LaTVAwvOpyIXRfpMM6Vhlo31nebgHSHl9hqlF3dpkamK5uN4O6hsh4S7FfiFxu39h3PvKxarJtzyadliksmbCErlUsdPzfT5E5YcLtE2tMe86mVwSgcayHR2qCTi4a/W4Xa8Hg422CFKrH7SjcBgWOkmkEMFk5dAWRQJYHi4X121ts+8ApSZldJM+6jlqugY2Fu7q8SaSy+PiXWN5C+cTx3I8vxCmA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Wp7e+qyszNZ9hJNHiQ5KJOMalie4vlFL2JQbsbwmja4=;
 b=okh3GaOSyTegvUXN3xKYrmC7TATDM4W9pMutixiVB1aLLsPuqv8dpw1OhMO3Gj3nURTKw69GewE3KW4GfuVkwVZj3Nb0oqLW5vdLh/4Ukv5ZrTkvehQoY2ENWz02CYWZfKkTKIlHHf1vi/MeB/loGcLyB7D1W/BPNVr2G2LF2EEQq4xqHete+qmXKgwdO/yxcb2EqyGGywW5xYQppI7XudFj7L7klIGWRZDXZEoFnbuHm4RuFPKsYE7xK+5hXJJOfRKuxqhpdtOeDTnWbtvk48oJ2eLPlaObz0aocD1KzJxMs0pZUwh3nvM+lpxrKg0zGt77vgUGSX+M1ZivYMxKRA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Wp7e+qyszNZ9hJNHiQ5KJOMalie4vlFL2JQbsbwmja4=;
 b=S1xr+GaKr4tpZ1JUfnxdiUNsWENks+XlVnXnVnqHbTFzZ4liYK2Uk/Vu6iHJ9VcUrBZ3B+mI8AHpj/fr5TOZSctFPxX3Tn1Gznb0EpI8rL4+L9deaW3XBEXr/15svv3J/LmajptRmIF3GbMjmTGADJFQ4PWkCHGJKimIILTrsiI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <fd5b89c9-89ee-41bd-9469-c5cf121debb8@citrix.com>
Date: Tue, 9 Jun 2026 20:07:09 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, jbeulich@suse.com,
 roger.pau@citrix.com, Ross Lagerwall <ross.lagerwall@citrix.com>,
 Kevin Lampis <klampis@citrix.com>
Subject: Re: [PATCH 1/7] x86/kexec: add digest checks
To: Kevin Lampis <kevin.lampis@citrix.com>, xen-devel@lists.xenproject.org
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
 <20260609154518.779757-2-kevin.lampis@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: <20260609154518.779757-2-kevin.lampis@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PA7P264CA0460.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:398::24) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|CH7PR03MB7811:EE_
X-MS-Office365-Filtering-Correlation-Id: 748286a2-f37b-4687-114c-08dec65a502e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|11063799006|4143699003|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	fRl2hVCx57dgHVwioJJWP5CalbNfufzPZReWzCzJBCCIdltfEEwnhv9+NL2O3DTeOXpdx9bihrT+vkG4sI3XHYv1yhboE5TUEHIeWbK4C1rFUGoQp6qroBRsgtY7iIM+VrfbrN7Ty1qilP9rQUElLBLYMUQsWfjzXPKzp8gZ2pesNJz+iqKJy5j+GiJ0hUBZGO5N/BEmdjTLP8ec2pxXjsMoLHDbopyXvvffIV/3AbSiNEUkPScOA40/iLvJ097+4oL1+GuzFEj76rT7d3WwgrtBWRcOzBA4c5m9fGIc4s4jFCkCst3ugrh1RwjWxpBEn/CD1xVJP+6XqeU7KFYvKgCB6t8YGfrTix55Jear72QKMvisQfPxXN1Vc3akE69MrD1hhgCUBDsnyvDbPYFwsUjZJT3D1DR7qoahW6wcLc7MUy9dgMK9VfmDHC+bSs5baTTNNk4E8/XP4GQwTmAD4SnoxayCm1jwlVd9Xk/ATVzluGK40k4I+nK+m4s/TN+dyE/mS7ml6G8k+Fz9/9cQ7G8dKsx8peS/Y3C/DyDP6ThhVSEof81UDySyQwFNYEtvfLQFujPQskILGVajw84urMB3qCj9c6SpdKEeJhvCq2sYB0ZpnSrklknuRNCJBkPRKlnYS5EKYhWEeoYV3E3UTHryUU02U7P4JKf/6sN5o3nF1mHQzWfWEI24KVGU6mdp
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(11063799006)(4143699003)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SUlXWEF2bGdPWjd4OVB6ZTd4Ymkvc0ZZbFUvYzNxNlEzeGVuUlpkd3JvUHBj?=
 =?utf-8?B?VHBlSW1RV0pncUdVVXZLN1RMTDFLZGpvU01EUWFTVjNjNjlZVXEzVEZ0OWpL?=
 =?utf-8?B?UzFFMmZ5OFNJVEZZZXI0aEFKS01RTzcvaGQ3RVZhU29jTkZLSzQzNEZiVTFT?=
 =?utf-8?B?a29uTkU2YjNRdXBYZlhhY3EvV3lHNGQ2eERMV3VNSnNRZHdUN0RGVXU1b0dv?=
 =?utf-8?B?UE53TjVtdS8zZk9MdkZhb3liOG1MU3ZnRy9ZSTdxb1J1UVNkVC9JZ1dxUC93?=
 =?utf-8?B?ckVGdUVlbnE4YjM2Z2d1c2pzdzJRS0QrWXl0NzRrelZHMUhseDd2ckF1Vnhj?=
 =?utf-8?B?bDdQRjlmTWZNbGZDZ0Z4cTNUbzVUandLSi9KY2lyV01yTG9KTUxzNHQ3M1J1?=
 =?utf-8?B?d2hydUdmTVkyeVV4U3RYTlN2K0JVTTYramxWMkYxSG9wQWtabW1UYmpoRGNt?=
 =?utf-8?B?UWZmaFZxM0RZMkxrZ09NMldhK05QTTVUSWxuU2ZNcXc5RHpxNWsrSEkrcGlS?=
 =?utf-8?B?ZWI2Vm8xRFNXMWtWZjNqV2t6c1BldzlyZWNaZnVDR3V5LzF1dm5CQjl6d0dO?=
 =?utf-8?B?TE5BelhHTXQza3dqcVhBQll2RmxwYS8rUm9rSkxYc3RXZ3JyTk5DUi9wb243?=
 =?utf-8?B?WFRpYVAwR1RQQmMzd000Uzkrbmc2ajdaVmJwODJ1Sy81Z2dBQXNNT3orMnNx?=
 =?utf-8?B?NURmazRsZnVnbE1paGYwWHNmdUcwKzkwa3JlbStJeWJqQjY0ZEFWb2RhRHV4?=
 =?utf-8?B?MndKUW1qUlZBWnMwOXlPbkJSRW9RY1Z4ajRWNU1YNysxK1lvdWYzbk5JbmJI?=
 =?utf-8?B?bVlXQkZsaFBUQTJ6KzJ4VmFLTTNsWHkxMldXcUpCc054SzRUb2M0em90OWg0?=
 =?utf-8?B?bExaY1NzYWZPNXRhYnBOMEZTS1FxVHltU2NwZmhkVURBakZxeFRlbXFtOVVW?=
 =?utf-8?B?V0dNbkdiWXhEVGM5THdrK3ZFdWFBSThtTUpuTHVSTmJxWFdRRHlYTFc1WldT?=
 =?utf-8?B?aVBFZmVIVEZPemN6VTJ1OGpyYWxDYUxTSDlBRnRFbDhoWXQxM0J1anZhU3l2?=
 =?utf-8?B?QzlFbU1ZSXBkdTc4N3psR285eFJHSU9mSmRFMGJhcEwvZ1RVV0F2ZWNmLzRn?=
 =?utf-8?B?T3dsdWJhZUtaVnhQa2kyNkw4SFRXbVd3SmVCRW0wUXhYS3JHNjN6SHZRNXBD?=
 =?utf-8?B?dUxDTU4xL0RUaU8xRWZJZyttemJ5WWxDMXNiUno5MDNsNW1qZGZxQmc1RXha?=
 =?utf-8?B?bnpocDNXMVM1ZjB6ZHZyaDVxd3gxRTRuM2tWRFE1Z1dHM29PYkZDNGt2WVBZ?=
 =?utf-8?B?V3hrVE9VN1EyK3JLR21XYzVlVWhJczFseE4ybWI2SzdvTDVLb2lzUGRUZmJK?=
 =?utf-8?B?R1pyZ1Nob0lCL21UT0xCc1Nlc09XOUVwUHJZbWZSME82YjlWK09ud0JxbU5H?=
 =?utf-8?B?L2V4ZG9zNGpqcldwZG5EVGZTVjYvYWpiM2dzSFNOK3V3SXUvcWdBdnNrNHBu?=
 =?utf-8?B?eXlIYnVubnJFVlI2U0lJVkVmT3hNWGxlY01IWDhKVHVwU09LUHhUUDNhRkF3?=
 =?utf-8?B?QmVZcnJ2UlFsbTV2ckFXMHQ1OE9CVG5LeUZFUWFvSXV2aE52enpTcnFRSk5O?=
 =?utf-8?B?UER2YzlaNEx6eUhJNmMySVIzQnlvT1Nha2dleldtb2FxNGYxQ2N1RlhaTkw4?=
 =?utf-8?B?UUNjUEk3c0dBeHJDM3NZdE5mbDZkdU9zVHhRQjNIZm5KTXdnMkZoUTJmM1RE?=
 =?utf-8?B?L09WVlZGNXpOMUdLaHlhakFOVWN5bzB6V3RNRlRGQkZQb2Z1L0VzRFV6WXBO?=
 =?utf-8?B?RFJjOEV0VGFyL2xoalpDL2xubmRnTnlINDJ6THNUWFlyZEFPTDhBVU5NczZo?=
 =?utf-8?B?Sm5HOWFnVWozS0RwVXh2QnhzaVJmb0hscXFCWFlnYTdoWWNDYm51RzJlMHcy?=
 =?utf-8?B?WGtEMjd0THVyUFVmQVpFTnNBVFNIajF2NjQrLzc0YnpJYnlrVHU0MDZIYVc2?=
 =?utf-8?B?dmhBSXJsME8zK1NwUW1DNGNyVGpJVFdjYVprakc0Sy9HbFhZZU1salNEM01Z?=
 =?utf-8?B?c29HUFVuMDQyUUVuSUR3UHZrK3hmREx6eDNHUUE4OXp1am9xVFdsQXJqWGh1?=
 =?utf-8?B?TkJCNGljeEJ0U0VhbzgzL1ZPb2pzZm90WkhTbXVTZGxKTlE1elk4MHorWFp4?=
 =?utf-8?B?bmZNc1dIUmt4b0d6ZFRKekRVeUdyWmxza0QvaGpXUWUyK0Z3dHRxY0JZdGR3?=
 =?utf-8?B?eWFUSWZrSmg1UU1NTm9EUXpyNzg0L0tGT2F0NXQ3M2U0Z2sxdDNGZjRON0M5?=
 =?utf-8?B?MFdCcnJHWW9KVi9oaXErdmpaZ0VkTSt6TUdNYmFJaGgyU0JnSWNTYnRmYmpO?=
 =?utf-8?Q?NV+1j18sWd6uko6o=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 748286a2-f37b-4687-114c-08dec65a502e
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 19:07:12.8573
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JbH06t32gDHn/Spe6JI+3dQNePcH4POICJ90kQAKeHwodnUUSAlViWgP4ODzTG6UUjQZRxHo/sqthGf8j/cC7FSr0ddHbioz0MTT8IO/7kE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH7PR03MB7811
X-purgate-ID: tlsNG-c201ff/1781032035-E1798443-E2745D76/0/0
X-purgate-type: clean
X-purgate-size: 610

On 09/06/2026 4:45 pm, Kevin Lampis wrote:
> diff --git a/xen/common/kexec.c b/xen/common/kexec.c
> index 65776a95fd..c920bc6d8a 100644
> --- a/xen/common/kexec.c
> +++ b/xen/common/kexec.c
> @@ -1132,6 +1138,10 @@ static int kexec_load(XEN_GUEST_HANDLE_PARAM(void) uarg)
>      if ( ret < 0 )
>          goto error;
>  
> +    ret = kimage_calc_digest(kimage, kimage->digest);
> +    if ( ret )
> +        return ret;
> +
>      ret = kexec_load_slot(kimage);
>      if ( ret < 0 )
>          goto error;

You cannot return in the middle here, or you leak a bunch of allocations.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 19:24:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 19:24:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333802.1596965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wX23r-0003qG-KY; Tue, 09 Jun 2026 19:24:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333802.1596965; Tue, 09 Jun 2026 19: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 1wX23r-0003q9-Hp; Tue, 09 Jun 2026 19:24:31 +0000
Received: by outflank-mailman (input) for mailman id 1333802;
 Tue, 09 Jun 2026 19:24:30 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wX23q-0003q3-6v
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 19:24:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wX23p-00EXMr-59
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 21:24:29 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a28684e-5cb7-0a2a0a5109dd-0a2a4502cb36-32
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 21:24:29 +0200
Received: from [52.101.201.57]
 (helo=PH7PR06CU001.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a28686b-af86-0a2a45020019-3465c939a460-4
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 21:24:28 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SA2PR03MB5737.namprd03.prod.outlook.com (2603:10b6:806:113::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.11; Tue, 9 Jun 2026
 19:24:24 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026
 19:24: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=KvkhnJb5qrwGbqan9KXDYAYMZlonhRuo/ooMQ5LvlpvBXQtrHLfWG1ShY7b+paFrLJSYmgPbC45ad2V0zylhBVL8MpPGgQ4qGGROcVvZymZt/9Eogr0TL1/ZJr1s1z6rR8F3jQ7+F+0v4SqCoR9PaAfQxSMqp3FnNB7Xt6BbUERBwkokR9r2nbdTCIYJU3vvmjww12RnbA4n9nn39971WH2gbNro9CcqPfPNiIZ2iU/caInIhAqJkmwlyzY8er985Cdfn9blqG6JzgPzh2DMDR55TCXswX3v0DZgq4gmJJbpQOzLdPh8+YTKvjkDVQqzt3AThgrmTsrZXuBYPb0TjQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RyoiHT2cTEOIOlZnH3NalY2fNPD+WHiukc04aBIndmA=;
 b=b82LSV8AiqZ3WlQuqjvgTIMWz3at2hfzKxjCh1cnoLKMxRVrC7QQSRyV/p2QR8x0lp+V+NIP33gh5M46BZKan2g41uIVCYXaU9B0kTRELW80PUUSbb5uq/mCUCgFa8YfBVmaFD8NkKKUpl7HG5mPI4RlP5L+65YPDlDH/e6edEKLAo69Qp0AXm1GkrJllmKfdDSAemHF7avUbO52Wo3pHPLM6Wo49voby9y56DHYsy07p/3yuLwCrVM0YIB7o8ridXVKkq23//qcjPPO/185iSrvbxe6ANkQPRkoVlYYxmEGxOeX2id/eyKykv2jIFEKwPuCcxYtV3/vnpTKxoxi8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RyoiHT2cTEOIOlZnH3NalY2fNPD+WHiukc04aBIndmA=;
 b=UWNQsPbipn+wJilWw73aXNQ4mWdUsW2NUVXJMy05DbCk+IKrQO/TH9CvoZLGqvIovuiVfxPKdEGiULGs9EWdQbaieBgTmhIHec6b1XFf2zm7SccFuD07BncsQuZbhM+Io+UIgN2w3ErBmQ6+V0iCpbQBWH8usYiDvpDimcISBTI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <51c97f26-2b18-4ae3-93c2-33793c7b8803@citrix.com>
Date: Tue, 9 Jun 2026 20:24:21 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, jbeulich@suse.com,
 roger.pau@citrix.com, Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: Re: [PATCH 3/7] x86/kexec: add new struct kimage_segment
To: Kevin Lampis <kevin.lampis@citrix.com>, xen-devel@lists.xenproject.org
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
 <20260609154518.779757-4-kevin.lampis@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: <20260609154518.779757-4-kevin.lampis@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0222.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:33a::10) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SA2PR03MB5737:EE_
X-MS-Office365-Filtering-Correlation-Id: cd3a5a47-d42d-4b92-6d1d-08dec65cb748
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|56012099006|4143699003|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	PGl+RPbkieGLTNSZpDC79+ijZtOZ2nb7j5l21cX0FyjQTgrrGVHMtXibASDI3v6TmxZdHiYGt2No3x2h9IExF8RojgDtVL8iOrl15ySBe6hCPB9/ZuaWV2U3uYTHT4pNWk8LIJhKX9dGzXrHv4piJV0o2olK0EGLiecX7iH5GvC5RxTSqbuEKkE2TEaMtSyzLS305UcrpqYJ0WcWbJthf+/HNqqV12wl27RSjCxSusTrfLEjVsRVisxdWKH+eq0EMVRqHZqB5GcIKDngjUQp1CT97beDCHDBdLKhWRMCaR7FX8G4jaXqf5n7Sawyd0+zDrAEar0ujiIiS8yb+y9yUxvah/MF1Xodtkww4MmQCYhAJJmOK3H/UDJHIE9Q+qv1F6WpVWIVhbzNKK43Y3Tv/BJWr7x3zzNsZy71/czFfrQGEtWjoaM+wESpAj0cfTc9ZbcbzP/PFieNkqatk8nvSsrxy9od5GPNuFAwSh+uqKHZ//1T+dwo4H1BUjG0EcNejx98tl0CV9ez+P4n3mSMKNrUlpxWeWbmOXBUsT5mSCuSwA1CCU5rqD1awsryinrcuvG/dp0Hh/bjM97UCLTCLtgKl+m5HBGcXhAvwj3OCApCW+cOGA93/gwlpF1mQLExX3TwxNsruzhqmGWQxrGCdKAffW4kwZGb9/nwJbfv/o/DCETYhNAKDDYnzJvmt93e
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(56012099006)(4143699003)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MVdOckliQzB5NFprVlBNblZPbXgwQUFPd0hzUnl1Nlp2V2pISytoaG1HbjVO?=
 =?utf-8?B?VXB3eDU5VGRQUVhFNkcrTW1pSDQ5bEhWVUtYOE0wMVFSQWt3VlUzL1Mvc2JX?=
 =?utf-8?B?MzVJT3BOTDRtczVUelR0R1VQQzhvTEdSSWZJcTBrVllnZzRZTXhycERiRFlp?=
 =?utf-8?B?Z0h5MTdlWmRHUW5URVdLdE1ndllyUjBaS1R2VzdUakpHdGg5a3VFQUVzam9p?=
 =?utf-8?B?UmVjaXhmV0ZHWnM0QU1qUldFc2RZRXBKZngwdGRFRGt2NzlIRHU4eXRYdXVS?=
 =?utf-8?B?b1ZQdTVaR2JRUlNQdWpKUmxTUVRNQ3hDL2daV294YkN0R0xYNEd5M0FrUCtC?=
 =?utf-8?B?RUNobHRDVlJBOXQ0L1dHcUVES3pXSGk4ZnZWTFFOMXBORzVWci9MTU5Saklp?=
 =?utf-8?B?QjREb0hWWnhFbFgyTHNvRzlzZU05RDlFMXJmRDRhNGJXS3prdkFkSUl3VWdh?=
 =?utf-8?B?bm91VjFBMTJBdmNmUWhRa3VDUjJIWHhDeEhSYTgvblhkN2k2VTBoRUdRY2tI?=
 =?utf-8?B?c2VVdm52SDdmWm4yR01vMUVzYWc3UXFJOXU0K1RrbW1MeENqN2M4STBSLzgv?=
 =?utf-8?B?L2k1bzJjMXBDT2djaHgzek5yMUFmSnFKeUhWSkt6TllzUU1wWm5zVDJzRTN0?=
 =?utf-8?B?eDA2Q05WN1Fta2dnYzhjNm9jMkx3Y1Q1YmtEdnNxZ0pITFpZblFiQ2tpMCt5?=
 =?utf-8?B?L0JJakZHMW1pVmYvV1NHd3NsS1NCUE85c2x4L2xBNU56T3pJd1ZPNzhGNXRK?=
 =?utf-8?B?TmVqWUQ5TVluYktobmtpWjJYOU5qUHIyQ2l2dTIvc0tqWHZpVlY0UWJ1L0Js?=
 =?utf-8?B?Njh4T3Q1bXlHRnpjMXFCaFlBYlpObk9BMytFOWE2aDlOOXVaUEIyeXBiVnF4?=
 =?utf-8?B?cCs3clVxUmVtZWxxd2dGMkZxNmNpZGZXWFZsWnpGYXc0WWNhVEx1NzMyeXA3?=
 =?utf-8?B?TC83dktmbDlyVFRiTHhwbEFxdTFHb0ZwdnNIWnZ6N2E1TElZNjNSclJGMEM0?=
 =?utf-8?B?enc3TUZLMzNzeHZiVjVJekNxZ29peXFJZlpsZEFwV2tsM3dtbnNDWTdzUVVI?=
 =?utf-8?B?TXBFNXAzNmVkQjgrYkloT0RIeGRWaWdIMFVkK0xvV0YxL2ZmaFVWVnFEMzFF?=
 =?utf-8?B?RzFyREJsbjN6VHMvNGNrcTh1OE1lQ0UrZGhYQTM2UG5QR1ZTMXVjUmRpZk9m?=
 =?utf-8?B?ekI4WXJEU0pkTFFMcmVyUDQra2RITmZaV3hndEpGSDJVcFpGT3BoTUhpUVg0?=
 =?utf-8?B?dlp2c1FsNkpoa1N5TStORjVqcjBmWDltMWxkVjd4d0F0VjFPTG4vVGFXQlFU?=
 =?utf-8?B?YnhreWZQWTBmQTAySTdTMUFlYSsyMnlpSmpFeUZpQkpPYlZsc1lCVVNYNG1M?=
 =?utf-8?B?WkpOWUtsT1ZEWTAweVdrWHFXV0I3N2NvN01KVGk3L0ZoQ0JGbzhwd0VWd3Zx?=
 =?utf-8?B?WGp6bVlpU3F0dWtkS2lyQ3BmUHNlUlp5SEJYQUd3b3EwV2pOZ2c1aVZobGtG?=
 =?utf-8?B?cURxOHRVZENxellyKzdrNzRxT1dpUjJtdDFOUlBhaGNuOE14b25VODVvMHJQ?=
 =?utf-8?B?OCtLNEJmcW9DWFpTZ0ovMWtaUDNOSlFZNWtiZDhYbEJ0RjRiVWMwMGU4T1Nn?=
 =?utf-8?B?NTJZTExRdlRmTnJRSS9rRkViS1dwSjJtMUo4Z0JiNFI0V1FDeGVJUXZCK3JI?=
 =?utf-8?B?cUYzcml3Y1ZuQ2E4RzlXeStWb21tK1E5QkpuTDIveWVxTkVDM3lPYnJJUjBW?=
 =?utf-8?B?MEZCTmJacHZzT1QyVnRxWExmMVNlWEpGRUU4RkVVSXcrRVdhL3huOVRhbFg4?=
 =?utf-8?B?UllNZXg1ZmxwRmt6TlQrQXlSejhwSys1MnNOdFkzbjRwTktrT1ZtN1FrSjFN?=
 =?utf-8?B?b0M4em5uT2psZFREeStxbktUOEt0NVp4dSsrQStFcHRlZlhseDFWOENocU85?=
 =?utf-8?B?S2tXZ0ZiaXhjeGxXMkhrNW9YSXlQcTkzQ2k1OHcwVWdJYmpFTHpGd0Faa0s4?=
 =?utf-8?B?UlVpTnFDL3lvVGViMGkvOUdqaVh3Z2d2cGpBSmF1K25yeWpWTE5zbmNKREJK?=
 =?utf-8?B?WVkxSTExaHlMelRDZFl0RTZKSEJLTXNtZzArQjRyQ0l3QjZ3S3BFM0VnOVhQ?=
 =?utf-8?B?RXV0MERub0U3N21Oc3orcW9kbFd2TFVLQXlTMFI3SnNEUlJoY096eDlGTnNP?=
 =?utf-8?B?bS9IM0I1YVEyb2dET0IvN2crWmxrNGRzUzAweGJpUUkybnpzcTBZY1hFell6?=
 =?utf-8?B?L3BtSFgydlB6azEvZjlnV25lSUxWRUVvTmVLLzhFYmI1ZVkxZVkvMGcySW1V?=
 =?utf-8?B?T2h3TDQ2Zzd6bEZ2MFJRRnp5Q01KbzVGMHZtZnVLS0s4c3hVTWlXZnZ1VHRL?=
 =?utf-8?Q?La7g/xBAQ21nf+Ao=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cd3a5a47-d42d-4b92-6d1d-08dec65cb748
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 19:24:24.8340
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: a6AJYy6+id6VQJsbOE5Gk0GpTmUhAlhbt8NQFQ+5FjCavqNbBabpm1aCwTtg8G4BA3Q75S+XtBPt1sxorPadWQKaNtbHrSpOu/tR6F4BoEg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5737
X-purgate-ID: tlsNG-720697/1781033069-A937C161-D7A63FE9/0/0
X-purgate-type: clean
X-purgate-size: 1796

On 09/06/2026 4:45 pm, Kevin Lampis wrote:
> diff --git a/xen/common/kexec.c b/xen/common/kexec.c
> index c920bc6d8a..00346fe616 100644
> --- a/xen/common/kexec.c
> +++ b/xen/common/kexec.c
> @@ -1119,14 +1120,18 @@ static int kexec_load(XEN_GUEST_HANDLE_PARAM(void) uarg)
>      if ( load.nr_segments >= KEXEC_SEGMENT_MAX )
>          return -EINVAL;
>  
> -    segments = xmalloc_array(xen_kexec_segment_t, load.nr_segments);
> +    segments = xmalloc_array(struct kimage_segment, load.nr_segments);
>      if ( segments == NULL )
>          return -ENOMEM;
>  
> -    if ( copy_from_guest(segments, load.segments.h, load.nr_segments) )
> +    for ( i = 0; i < load.nr_segments; i++ )
>      {
> -        ret = -EFAULT;
> -        goto error;
> +        if ( copy_from_guest_offset((xen_kexec_segment_t *)&segments[i],
> +                                    load.segments.h, i, 1) )

This cast is unsafe.

It relies on struct kimage_segment having xen_kexec_segment_t at the
start of it, which is not mentioned or enforced anywhere.

In the next patch when you add dest_offset, this leaves parts of
segments[] uninitialised.

Read into a local xen_kexec_segment_t variable and fill in segments[i]
manually as you're wanting to change it's type.

> diff --git a/xen/include/xen/kimage.h b/xen/include/xen/kimage.h
> index ad52551ba2..258349d774 100644
> --- a/xen/include/xen/kimage.h
> +++ b/xen/include/xen/kimage.h
> @@ -18,12 +18,22 @@
>  
>  typedef paddr_t kimage_entry_t;
>  
> +struct kimage_segment {
> +    union {
> +        XEN_GUEST_HANDLE(const_void) h;
> +        uint64_t _pad;

After separating the types, get rid of this union and _pad.Â  It's ABI
abuse which needs to not infect anything it doesn't strictly need to.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 19:27:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 19:27:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333809.1596974 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wX26e-0004TF-5G; Tue, 09 Jun 2026 19:27:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333809.1596974; Tue, 09 Jun 2026 19: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 1wX26e-0004T8-1K; Tue, 09 Jun 2026 19:27:24 +0000
Received: by outflank-mailman (input) for mailman id 1333809;
 Tue, 09 Jun 2026 19:27:23 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <tglx@kernel.org>) id 1wX26d-0004T2-63
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 19:27:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wX26c-008uUt-JH
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 21:27:22 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <tglx@kernel.org>)
 id 6a2868d6-2eae-0a2a0a5409dd-0a2a4502ebb4-38
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 21:27:22 +0200
Received: from [172.234.252.31] (helo=sea.source.kernel.org)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <tglx@kernel.org>)
 id 6a286918-af86-0a2a45020019-aceafc1fa4ae-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 21:27:22 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by sea.source.kernel.org (Postfix) with ESMTP id 0412F42AE7;
 Tue,  9 Jun 2026 19:27:20 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1D2361F0089A;
 Tue,  9 Jun 2026 19:27: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="From:To:Cc:Subject:In-Reply-To:References:Date"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1781033239;
	bh=NlG5HlDElQCbuP6bN10xR/q116+/zHdLSEjJOyQFwVw=;
	h=From:To:Cc:Subject:In-Reply-To:References:Date;
	b=oStFu7N1msk7hGRxaIGxcPhSkCbArM8aV/psZO+WarZaxilvwF2cpbMRAt4n7Fpb8
	 jdoLMC/Us2am6UlMm/XjVRtHxd9CKSOXzbAPqtoDlCiOpZbpOFQ+SdLvuk0GQ7AACZ
	 3CmrygZjXjo8BSZ2RdYoEHPzauVhH2OoyWisV2Oubk42MoerR11HkIf28Ex0JbwmFs
	 FQo5z4rMOOXRCRjhYFFjZN0UvGaCt0DcbGJcLs9foFY3WZlZjLxuhnEKgDEnd+uRNU
	 itpIBzoF6ZpH4lsa9xtkX9k8gZsXaOt9VgUNb/27eAHzLLvBE62W766RQhGapY7M0m
	 b9tzm1j9ME+sA==
From: Thomas Gleixner <tglx@kernel.org>
To: Sean Christopherson <seanjc@google.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, Kiryl Shutsemau <kas@kernel.org>, "K. Y. Srinivasan"
 <kys@microsoft.com>, Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu
 <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>, Long Li
 <longli@microsoft.com>, Ajay Kaher <ajay.kaher@broadcom.com>, Alexey
 Makhalov <alexey.makhalov@broadcom.com>, Jan Kiszka
 <jan.kiszka@siemens.com>, Andy Lutomirski <luto@kernel.org>, Peter
 Zijlstra <peterz@infradead.org>, Juergen Gross <jgross@suse.com>, Daniel
 Lezcano <daniel.lezcano@kernel.org>, John Stultz <jstultz@google.com>, "H.
 Peter Anvin" <hpa@zytor.com>, Rick Edgecombe <rick.p.edgecombe@intel.com>,
 Vitaly Kuznetsov <vkuznets@redhat.com>, Broadcom internal kernel review
 list <bcm-kernel-feedback-list@broadcom.com>, Boris Ostrovsky
 <boris.ostrovsky@oracle.com>, Stephen Boyd <sboyd@kernel.org>,
 kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-coco@lists.linux.dev, linux-hyperv@vger.kernel.org,
 virtualization@lists.linux.dev, xen-devel@lists.xenproject.org, David
 Woodhouse <dwmw@amazon.co.uk>, Tom Lendacky <thomas.lendacky@amd.com>,
 Nikunj A Dadhania <nikunj@amd.com>, David Woodhouse <dwmw2@infradead.org>,
 Michael Kelley <mhklinux@outlook.com>
Subject: Re: [PATCH v4 01/47] x86/tsc: Never re-calibrate TSC frequency if
 its exact timing is known
In-Reply-To: <aihKj-0nP7bUbNHH@google.com>
References: <20260529144435.704127-1-seanjc@google.com>
 <20260529144435.704127-2-seanjc@google.com> <87fr315fq9.ffs@fw13>
 <aiMPxl5vkvJDldi9@google.com> <87a4t86a0l.ffs@fw13>
 <aihKj-0nP7bUbNHH@google.com>
Date: Tue, 09 Jun 2026 21:27:17 +0200
Message-ID: <87pl1z346i.ffs@fw13>
MIME-Version: 1.0
Content-Type: text/plain
X-purgate-ID: tlsNG-720697/1781033242-A937C161-A7F8227D/0/0
X-purgate-type: clean
X-purgate-size: 1349

On Tue, Jun 09 2026 at 10:17, Sean Christopherson wrote:

> On Fri, Jun 05, 2026, Thomas Gleixner wrote:
>> On Fri, Jun 05 2026 at 11:04, Sean Christopherson wrote:
>> But we also should have a check in the TSC init code somewhere which
>> validates that X86_FEATURE_CONSTANT_TSC is set when
>> X86_FEATURE_TSC_KNOWN_FREQ is set. X86_FEATURE_TSC_KNOWN_FREQ is useless
>> w/o X86_FEATURE_CONSTANT_TSC.
>
> Ugh, any objection to punting on this for now?  KVM and Xen guests will trigger
> TSC_KNOWN_FREQ without CONSTANT_TSC, thanks to commits:
>
>   e10f78050323 ("kvmclock: fix TSC calibration for nested guests")
>   898ec52d2ba0 ("x86/xen/time: Set the X86_FEATURE_TSC_KNOWN_FREQ flag in xen_tsc_khz()")
>
> Hyper-V guests might as well?  Hyper-V's handling of TSC is weird, even for a
> hypervisor.

Hypervisors are ranked by weirdness? I ranked them by insanity so far.

> Even when the frequency is provided in CPUID by the hypervisor, QEMU at least
> requires a fairly explicit opt-in to advertise CONSTANT_TSC, presumably to try
> to prevent users from shooting themselves in the foot.

Bah. We really should have enforced the dependency when we introduced
KNOWN_FREQ. But that ship has sailed.

Though for correctness sake this should be fixed at some point in the
foreseeable future.

Thanks,

        tglx


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 19:28:57 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 19:28:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333814.1596984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wX288-00053k-EG; Tue, 09 Jun 2026 19:28:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333814.1596984; Tue, 09 Jun 2026 19:28: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 1wX288-00053d-Ae; Tue, 09 Jun 2026 19:28:56 +0000
Received: by outflank-mailman (input) for mailman id 1333814;
 Tue, 09 Jun 2026 19:28:54 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <3c2koagYKCUAugcpleiqqing.eqozgp-fgxgnnkuvu.zgprtqlgev.qti@flex--seanjc.bounces.google.com>)
 id 1wX286-00053X-NJ
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 19:28:54 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wX286-00E9kZ-4J
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 21:28:54 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <3c2koagYKCUAugcpleiqqing.eqozgp-fgxgnnkuvu.zgprtqlgev.qti@flex--seanjc.bounces.google.com>)
 id 6a28696a-bab6-0a2a0a5309dd-0a2a450b910e-16
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 21:28:54 +0200
Received: from [209.85.216.73] (helo=mail-pj1-f73.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <3c2koagYKCUAugcpleiqqing.eqozgp-fgxgnnkuvu.zgprtqlgev.qti@flex--seanjc.bounces.google.com>)
 id 6a286974-212f-0a2a450b0019-d155d849bc5a-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 21:28:53 +0200
Received: by mail-pj1-f73.google.com with SMTP id
 98e67ed59e1d1-36d982d932aso7369106a91.0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 12:28: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=google.com header.i="@google.com" header.h="Cc:To:From:Subject:Message-ID:References:Mime-Version:In-Reply-To:Date"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20251104; t=1781033332; x=1781638132; 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=guAeemkMCkyys/PJ2ZLLCH34LSaDcqFIXbZHYNdXwyE=;
        b=qP9JOyxyAjmg0eRalWSkkHIVIknItf8kV/V2C5Cx7bp1X90yZIvAzoyFmVhfAF3/Rc
         sMi4EatI4joKq8J4Qdiyzw3MR0wd6SMyR648DZzra28qGEKzREGYSzTh0Hq64gzw4Ygv
         ElDGda2mU2ISicxQYzAv4B6o9id0Twfk2EYerbHDVqJ1Ow/f9XKIcCYTaKGy9MFNLG6H
         twc5WpARPyQvo9FpjPl182rWKYa15PNqrJ1mltgQbrIyFSEZCydSE5qqy96p6OfLvqwc
         RSsHPym6PSdFk/6PyaQfMd8dnyn9uot4yYp8qI5H2LJf+tP43kg89Pd02fVTYbT+xgM2
         AtAw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781033332; x=1781638132;
        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=guAeemkMCkyys/PJ2ZLLCH34LSaDcqFIXbZHYNdXwyE=;
        b=SxvLQoXFNA5dHRJwNgVUgOkVSnidDNshi0SkITeFP0wP0Ceh+eoTuIv1lnYX00OzhT
         JeU8WjK+bk+y0xg+iX09R2p5pZAAd73UD1vhq3UV1pO0e3M6HKHblJ2cgJdmrINWtYfW
         6LgsCDMj08yqDY7DqD7Y0S1QhcKFPUIXTLhuU7kr2BL9FC1xFR2aETZalLrjorDrLQme
         MBo/jtI5j0W2eOnb3eeHLBDOws+HnMcmAA0lw1qNxk0xf1kxhlNvabxXPLqncm1DQmI1
         gCJ2jcMwrlqPswCeUhgbTtCgNLnU3CIOOB2IBqil1rNUd0DjsqKzZJ5+GlAi205Ropu6
         9Fmg==
X-Forwarded-Encrypted: i=1; AFNElJ+VzflAn9hKQXmh4eMRIuA4kqyFQns9uQLnrn6XW6tGf8IWivwvjCI1eJhycrdBBc06qpDBnzYTUPI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzcjCSkI+ECvNYXelR2qUXiYtPbNjpmbcs1mNPdTZ73WTeMgJZX
	EAQlGgxI9t4N/NKniFb4fpudtpBXhSwZOmU5cZyB+f5E5x2ZOD/F/PCU3F073YrpxyG2MHn7U+a
	o7bscKQ==
X-Received: from pjbgq16.prod.google.com ([2002:a17:90b:1050:b0:36d:c3f4:8460])
 (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:390c:b0:36d:f28b:72e2
 with SMTP id 98e67ed59e1d1-370ef2ec248mr22562261a91.8.1781033331787; Tue, 09
 Jun 2026 12:28:51 -0700 (PDT)
Date: Tue, 9 Jun 2026 12:28:50 -0700
In-Reply-To: <20260602034916.GGah5SvARd77mkvxe3@fat_crate.local>
Mime-Version: 1.0
References: <20260529144435.704127-1-seanjc@google.com> <20260529144435.704127-3-seanjc@google.com>
 <20260602034916.GGah5SvARd77mkvxe3@fat_crate.local>
Message-ID: <aihpch8FG6Esl3Jx@google.com>
Subject: Re: [PATCH v4 02/47] x86/tsc: Add a standalone helpers for getting
 TSC info from CPUID.0x15
From: Sean Christopherson <seanjc@google.com>
To: Borislav Petkov <bp@alien8.de>
Cc: Paolo Bonzini <pbonzini@redhat.com>, Thomas Gleixner <tglx@kernel.org>, Ingo Molnar <mingo@redhat.com>, 
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org, 
	Kiryl Shutsemau <kas@kernel.org>, "K. Y. Srinivasan" <kys@microsoft.com>, 
	Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, 
	Dexuan Cui <decui@microsoft.com>, Long Li <longli@microsoft.com>, 
	Ajay Kaher <ajay.kaher@broadcom.com>, Alexey Makhalov <alexey.makhalov@broadcom.com>, 
	Jan Kiszka <jan.kiszka@siemens.com>, Andy Lutomirski <luto@kernel.org>, 
	Peter Zijlstra <peterz@infradead.org>, Juergen Gross <jgross@suse.com>, 
	Daniel Lezcano <daniel.lezcano@kernel.org>, John Stultz <jstultz@google.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Rick Edgecombe <rick.p.edgecombe@intel.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, 
	Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Stephen Boyd <sboyd@kernel.org>, kvm@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-coco@lists.linux.dev, 
	linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev, 
	xen-devel@lists.xenproject.org, David Woodhouse <dwmw@amazon.co.uk>, 
	Tom Lendacky <thomas.lendacky@amd.com>, Nikunj A Dadhania <nikunj@amd.com>, 
	David Woodhouse <dwmw2@infradead.org>, Michael Kelley <mhklinux@outlook.com>, 
	Thomas Gleixner <tglx@linutronix.de>
Content-Type: text/plain; charset="us-ascii"
X-purgate-ID: tlsNG-42698a/1781033334-19D6FF3B-25255361/0/0
X-purgate-type: clean
X-purgate-size: 1032

On Mon, Jun 01, 2026, Borislav Petkov wrote:
> On Fri, May 29, 2026 at 07:43:49AM -0700, Sean Christopherson wrote:
> > +static int cpuid_get_tsc_info(struct cpuid_tsc_info *info)
> > +{
> > +	unsigned int ecx_hz, edx;
> > +
> > +	memset(info, 0, sizeof(*info));
> 
> Let's not clear this unnecessarily...
> 
> > +
> > +	if (boot_cpu_data.cpuid_level < CPUID_LEAF_TSC)
> > +		return -ENOENT;
> 
> ... just to return here...
> 
> > +
> > +	/* CPUID 15H TSC/Crystal ratio, plus optionally Crystal Hz */
> > +	cpuid(CPUID_LEAF_TSC, &info->denominator, &info->numerator, &ecx_hz, &edx);
> > +
> > +	if (!info->denominator || !info->numerator)
> > +		return -ENOENT;
> 
> ... or here.
> 
> We wanna clear it here, when we'll return success.

Actually, if we take the approach of relying on the user to check the return
code, then there's no need to zero the struct since all fields will be explicitly
written, especially if we drop the "tsc_khz" field.  I was zeroing the field
purely as defense in depth.


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 19:43:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 19:43:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333823.1596991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wX2Lo-0000Vx-Gw; Tue, 09 Jun 2026 19:43:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333823.1596991; Tue, 09 Jun 2026 19: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 1wX2Lo-0000Vq-EP; Tue, 09 Jun 2026 19:43:04 +0000
Received: by outflank-mailman (input) for mailman id 1333823;
 Tue, 09 Jun 2026 19:43:03 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wX2Lm-0000Vk-P5
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 19:43:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wX2Lm-00ECLN-24
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 21:43:02 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a286c93-e002-0a2a0a5209dd-0a2a450587f0-42
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 21:43:01 +0200
Received: from [202.12.124.144] (helo=fout-b1-smtp.messagingengine.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a286cc4-aaa8-0a2a45050019-ca0c7c90cb5b-3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 21:43:01 +0200
Received: from phl-compute-06.internal (phl-compute-06.internal [10.202.2.46])
 by mailfout.stl.internal (Postfix) with ESMTP id 60AC41D00095;
 Tue,  9 Jun 2026 15:42:59 -0400 (EDT)
Received: from phl-frontend-04 ([10.202.2.163])
 by phl-compute-06.internal (MEProxy); Tue, 09 Jun 2026 15:42:59 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 9 Jun 2026 15:42: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=1781034179;
	 x=1781120579; bh=BrSrTYsKv4Bx2UIPbYymU/rxe+wBDlosnxvZhnzesBE=; b=
	WeFcjHh1lbku3Ca0UtdAsBrVaOTUf8CzpeN4eojgOFz1rtVtzB+H4gdX6YeBiakV
	jffTYyFm7lkQIRkKxaDdDv/GcDiATpU3Qe3FQ0ThjX6V6EbigijR0mk50TtuuqeN
	oF872xfArQ08YwDbNwD/iSQx6IxPah2S5QJj1Xv4g+zvM0sz7uF+xazvyQCqgf/f
	e6CnVXJLmHB1hEMZ22p2+b+c95m0+EqgRK1xzdK0UXSPSGmmUGyPBYLR1LAIM9xE
	UGfiMEtlj5/LfsxDlbovFGcO10IJJpcUogtcYvue/ODYBtTB2sNhuUUd4L8aoaQ8
	iOJx5mS5M6q9N5Wy9e0/Qw==
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=
	1781034179; x=1781120579; bh=BrSrTYsKv4Bx2UIPbYymU/rxe+wBDlosnxv
	ZhnzesBE=; b=AeETHGipBhl5c837HhwuC2T9uT2xzLUFa/one7UrZZXlgBlheHQ
	8pJVuGqLqm8Km50IXf621VHwmDkFV45rVes7LXjfe/+vIxMyBmj8j+z5fGWug3qQ
	ALgTMuvbb4O5RbDFRNefGg/Fl6TwsSBWkfSI+W9vqnobS/t7mGpl/RPo5qoTnFjH
	8bTvV6CHCamJQjvMrPzRbUOBtOjfSySVVibI1vacNs3Jyj4h4D0kcDof7Dkd86wq
	fWpYSsesyrOfC+waMyA8T5JV6XPsMGzh+Fnu7VJZ0lOvbgusrSG1pNNclfnpBvvJ
	L2pAjINPTsOxKh2ZJlYFD6hK+Rtxgz9tQgQ==
X-ME-Sender: <xms:wmwoajhfTAg48UWTpbs8iZ7EQ29ZIkxfA05_axYjDxQqhnI1K0ztqg>
    <xme:wmwoavHVGQxFwovC_iiyKFvvQdzQqAHmMF6AvpxgSayM74E27dMQe3wPi6x0kvZNW
    s6S9mQzEGrNb65clpYjlNJAD3XUMBbb1pzkW71SHynOUGF5RQ>
X-ME-Received: <xmr:wmwoapRb7ygVQ6iNPiVVKWX5PZgKIXnscn4R6sqh4F2H70H5MGSYb6wg3axyKZR5IRo7Ab7kvn2g9AY0AYGdQKC6Ay0sELozgLo>
X-ME-Proxy-Cause: dmFkZTF69FxdvIpZqaZiRe7lGsWBI+6V5IbX6qHbSYQWpCCo74xgkY3R9JwUVnPGXttW8D
    v7NIl5pwBtx5jlN7JO3kiwVXvhHe/qLQkbsNA04Lj19IPuA+7qH3we1qcuxLTpv+ygpwYV
    /Xe9Ss45vJkjmdSoKhvtGtjN1ljhLlqlETahsvZp4atCJLDOqL+JzvypNSjg5curTg4qda
    t/DvT0HtzinbiK4BlwGRiVUZmENuSqrQPRAR7uF34F9osizd/wIbGs/oe1VhgRwDXlvpHC
    wWUevUBMEN3ceaTpHuaXDOrYR31vs3sasz9flM8e0bHadTYqf+/ZRNZt2KpIA2rBFdzGQ7
    S4y/fwApsWjoPl+zj8XUxAd8tHGBLEGTYUp82md6YX0zd1N6mU3fMFaKw+BQRbJzdrnzz/
    opAf2fIMgzWPrO9CpoLDq43vWRCzpo+p5ZdGeSSFsmn9FaXkd40eSb9qArYZ/3Z6UxZ/kh
    5mvpR0cEgdXw4ib+XnKeXt8LGak+iQWEUaq09oKPc6BMvK3eAyk831eV1G5hnVpGGNCb/Z
    VrLokorMCQBdRsOE/ndAk4mIScfOE7jrqXdvBobjaKkHXk/fKCcxNFhOnxFKLP7KgmAgQF
    YTV1lJFvWJhyFBIDPwpuQ6jk1J1lTRLOJVSozzPQ5y7aDRGKiRi8Shmp3DwQ
X-ME-Proxy: <xmx:wmwoaswTirPjmMVfJHc_W6LrAYMh9KMVJr19VhOb89Qnf_LfSfB5lw>
    <xmx:wmwoaldE4s-yBCcQmZFafYf1331eDbMJ6pNp5sDvdU2t11PzKKE7LQ>
    <xmx:wmwoavNAqR-oQgFT-9pooc_OzzpbcXZjKt6Dw6b5moX1OpvkRiniDA>
    <xmx:wmwoagtKMqh_rhz098H_0JyS1b5oj7lqOsa5TwJSrU9v8DlkQiUrxQ>
    <xmx:w2woav5hhZHODyqcN3z32Og0vksK0XHKmhtL4zKSJ8YYb3Izweait2-->
Feedback-ID: i1568416f:Fastmail
Date: Tue, 9 Jun 2026 21:42:55 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH 3/4] CI: Introduce new qubes-hw-runner.dockerfile
Message-ID: <aihsv37_XNFFn3Mu@mail-itl>
References: <20260609173102.2908514-1-andrew.cooper3@citrix.com>
 <20260609173102.2908514-4-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="TIgY1lK+WAGop7vE"
Content-Disposition: inline
In-Reply-To: <20260609173102.2908514-4-andrew.cooper3@citrix.com>
X-purgate-ID: tlsNG-c201ff/1781034181-D8D7F443-A5E31C76/10/63158204843
X-purgate-type: spam
X-purgate-size: 4511


--TIgY1lK+WAGop7vE
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 9 Jun 2026 21:42:55 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH 3/4] CI: Introduce new qubes-hw-runner.dockerfile

On Tue, Jun 09, 2026 at 06:31:01PM +0100, Andrew Cooper wrote:
> We want to make the build containers be non-root, but the hardware runner
> needs to continue being root.  Split it out into a dedicated container.
> Intentionally give it a generic name so it need not change in the future.

I'd rather prefer to keep the alpine version in the container name, so
future container updates can be made without breaking stable branches. I
have a related patch for this at
https://gitlab.com/xen-project/people/marmarek/xen/-/commits/automation-lin=
ux?ref_type=3Dheads,
but apparently not posted yet.

> No practical change.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Anthony PERARD <anthony.perard@vates.tech>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Michal Orzel <michal.orzel@amd.com>
> CC: Doug Goldstein <cardoe@cardoe.com>
> CC: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> CC: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>=20
> I need to backport this patch to all trees (4.18 and later) before
> alpine:3.18-arm64v8 can be converted to be be non-root.

Converted? Since 3.18 is EOL for quite some time already, simply phase
it out slowly.

> In all other cases we've been renaming the containers to bypass this prob=
lem,
> but alpine:3.18-arm64v8 is in the correct new form.
>=20
> Alternatively, I could see about combining it with the Alpine update (whi=
ch is
> long overdue and needs doing).

Yeah, this.

> ---
>  .../build/alpine/qubes-hw-runner.dockerfile   | 21 +++++++++++++++++++
>  automation/gitlab-ci/test.yaml                |  2 +-
>  2 files changed, 22 insertions(+), 1 deletion(-)
>  create mode 100644 automation/build/alpine/qubes-hw-runner.dockerfile
>=20
> diff --git a/automation/build/alpine/qubes-hw-runner.dockerfile b/automat=
ion/build/alpine/qubes-hw-runner.dockerfile
> new file mode 100644
> index 000000000000..0af17c6aabc6
> --- /dev/null
> +++ b/automation/build/alpine/qubes-hw-runner.dockerfile
> @@ -0,0 +1,21 @@
> +# syntax=3Ddocker/dockerfile:1
> +FROM --platform=3Dlinux/arm64/v8 alpine:3.18
> +LABEL maintainer.name=3D"The Xen Project"
> +LABEL maintainer.email=3D"xen-devel@lists.xenproject.org"
> +
> +RUN apk --no-cache add bash
> +
> +RUN <<EOF
> +#!/bin/bash
> +    set -eu
> +
> +    DEPS=3D(
> +          expect
> +          openssh-client
> +    )
> +
> +    apk add --no-cache "${DEPS[@]}"
> +EOF
> +
> +USER root
> +WORKDIR /build
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.y=
aml
> index 89760b24e63a..70bb4bbb3b45 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -145,7 +145,7 @@
>    extends: .test-jobs-common
>    variables:
>      # the test controller runs on RPi4
> -    CONTAINER: alpine:3.18-arm64v8
> +    CONTAINER: alpine:qubes-hw-runner
>      LOGFILE: smoke-test.log
>      PCIDEV: "03:00.0"
>      PCIDEV_INTR: "MSI-X"
> --=20
> 2.39.5
>=20

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

--TIgY1lK+WAGop7vE
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmoobL8ACgkQ24/THMrX
1ywKLwf+Ittt9mln+pBvY93xB2DTLYK1tDpatiTHTNiAaBHIH7zfv/giaPOsyXhU
BlUQmBCVMXj7jlhVNQnMr9lClwJL0lW3TjRrdVwt8NA6pMROxXEl7CdEKjEZDnt4
1+CdHroeNA1IvmqK8+QDcWXakA3iM7bMrwUDcxQ66yyyL9E+4FhxrWhfTzo10IJf
mlp1OCvASenWGsg1BllyoeY9b/INkmBVqeI85mZ4SKaABhoT+uDSZFkeLWyKA/5W
Wm2yj58ACMi+tAHoGUE/q4+AW3Um4EdO7pQdDBiwOERtjQwxuInFKzWmQH4f6ZsV
T6skkZQLo3kVUjb1Cn0cb3LtNBkgCw==
=uMGp
-----END PGP SIGNATURE-----

--TIgY1lK+WAGop7vE--


From xen-devel-bounces@lists.xenproject.org Tue Jun 09 23:26:51 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Jun 2026 23:26:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333863.1597001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wX5qA-0004zI-Hj; Tue, 09 Jun 2026 23:26:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333863.1597001; Tue, 09 Jun 2026 23: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 1wX5qA-0004zA-DI; Tue, 09 Jun 2026 23:26:38 +0000
Received: by outflank-mailman (input) for mailman id 1333863;
 Tue, 09 Jun 2026 23:26:37 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <rdunlap@infradead.org>) id 1wX5q7-0004z4-HY
 for xen-devel@lists.xenproject.org; Tue, 09 Jun 2026 23:26:37 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wX5q6-005rA8-Uh; Wed, 10 Jun 2026 01:26:34 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <rdunlap@infradead.org>)
 id 6a28a0d7-e002-0a2a0a5209dd-0a2a4509b0cc-36
 for <multiple-recipients>; Wed, 10 Jun 2026 01:26:34 +0200
Received: from [198.137.202.133] (helo=bombadil.infradead.org)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <rdunlap@infradead.org>)
 id 6a28a127-2497-0a2a45090019-c689ca85a64c-3
 for <multiple-recipients>; Wed, 10 Jun 2026 01:26:33 +0200
Received: from [50.53.43.113] (helo=[192.168.254.34])
 by bombadil.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wX5ps-00000006VZd-2m5z; Tue, 09 Jun 2026 23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=bombadil.20210309 header.d=infradead.org header.i="@infradead.org" header.h="Content-Transfer-Encoding:Content-Type:In-Reply-To:From:References:To:Subject:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	Content-Type:In-Reply-To:From:References:To:Subject:MIME-Version:Date:
	Message-ID:Sender:Reply-To:Cc:Content-ID:Content-Description;
	bh=b7kXFBbKNObo56DfTljiu9Pfh/bAzB9MuzypdnWNDDA=; b=Fa2g7uA4IubffrruqBpJWMWO/Q
	mm/mJk0tcZMrqtK6rTOMfEGmzbBoWN0daRp/hU60H+WHxWaSHa2CRDPf3s8fLgHoH4XWE/HVRBBac
	u6iXnmSyvENs9JPGoaNmR4nJmynQQs0Osqk49ze85V/Nu+TslfCYnBVcxxshPC/q6cYeJ2bGMgFhD
	FYbA1nvsi/idpPSld72QM73tuFgMGuwrbvNDlJlHXYuE4WRWLn9bgOWL8kPvoL86fdFslRBCuzjB3
	88JLQn3g1XItGqHvcBNQdJmTRGcRXvWEAPd5LJIrAV39G1nAIyCNRS4VwM8CY1ny2Efuq0qvBx1ia
	eteSIV6A==;
Message-ID: <339b6b8f-ac3d-4b49-acf1-9d846fc1db4a@infradead.org>
Date: Tue, 9 Jun 2026 16:26:19 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 08/34] KVM: x86: Add KVM_VCPU_TSC_SCALE and fix the
 documentation on TSC migration
To: David Woodhouse <dwmw2@infradead.org>, Paolo Bonzini
 <pbonzini@redhat.com>, Jonathan Corbet <corbet@lwn.net>,
 Shuah Khan <skhan@linuxfoundation.org>,
 Sean Christopherson <seanjc@google.com>, Thomas Gleixner <tglx@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>, Vitaly Kuznetsov <vkuznets@redhat.com>,
 Juergen Gross <jgross@suse.com>, Boris Ostrovsky
 <boris.ostrovsky@oracle.com>, Paul Durrant <paul@xen.org>,
 Jonathan Cameron <jic23@kernel.org>,
 Sascha Bischoff <Sascha.Bischoff@arm.com>, Marc Zyngier <maz@kernel.org>,
 Joey Gouly <joey.gouly@arm.com>, Jack Allister <jalliste@amazon.com>,
 Dongli Zhang <dongli.zhang@oracle.com>, joe.jin@oracle.com,
 kvm@vger.kernel.org, linux-doc@vger.kernel.org,
 linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-kselftest@vger.kernel.org
References: <20260608145455.89187-1-dwmw2@infradead.org>
 <20260608145455.89187-9-dwmw2@infradead.org>
Content-Language: en-US
From: Randy Dunlap <rdunlap@infradead.org>
In-Reply-To: <20260608145455.89187-9-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1781047594-43F7EA53-82404477/0/0
X-purgate-type: clean
X-purgate-size: 5871



On 6/8/26 7:47 AM, David Woodhouse wrote:
> diff --git a/Documentation/virt/kvm/devices/vcpu.rst b/Documentation/virt/kvm/devices/vcpu.rst
> index 5e3805820010..167aa4140d30 100644
> --- a/Documentation/virt/kvm/devices/vcpu.rst
> +++ b/Documentation/virt/kvm/devices/vcpu.rst
> @@ -243,7 +243,10 @@ Returns:
>  Specifies the guest's TSC offset relative to the host's TSC. The guest's
>  TSC is then derived by the following equation:
>  
> -  guest_tsc = host_tsc + KVM_VCPU_TSC_OFFSET
> +  guest_tsc = ((host_tsc * tsc_scale_ratio) >> tsc_scale_bits) + KVM_VCPU_TSC_OFFSET
> +
> +The values of tsc_scale_ratio and tsc_scale_bits can be obtained using
> +the KVM_VCPU_TSC_SCALE attribute.
>  
>  This attribute is useful to adjust the guest's TSC on live migration,
>  so that the TSC counts the time during which the VM was paused. The
> @@ -251,44 +254,100 @@ following describes a possible algorithm to use for this purpose.
>  
>  From the source VMM process:
>  
> -1. Invoke the KVM_GET_CLOCK ioctl to record the host TSC (tsc_src),
> +1. Invoke the KVM_GET_CLOCK ioctl to record the host TSC (host_tsc_src),
>     kvmclock nanoseconds (guest_src), and host CLOCK_REALTIME nanoseconds
> -   (host_src).
> +   (time_src) at a given moment (Tsrc).
> +
> +2. For each vCPU[i]:
> +
> +   a. Read the KVM_VCPU_TSC_OFFSET attribute to record the guest TSC offset
> +      (ofs_src[i]).
>  
> -2. Read the KVM_VCPU_TSC_OFFSET attribute for every vCPU to record the
> -   guest TSC offset (ofs_src[i]).
> +   b. Read the KVM_VCPU_TSC_SCALE attribute to record the guest TSC scaling
> +      ratio (ratio_src[i], frac_bits_src[i]).
>  
> -3. Invoke the KVM_GET_TSC_KHZ ioctl to record the frequency of the
> -   guest's TSC (freq).
> +   c. Use host_tsc_src and the scaling/offset factors to calculate this
> +      vCPU's TSC at time Tsrc:
> +
> +      tsc_src[i] = ((host_tsc_src * ratio_src[i]) >> frac_bits_src[i]) + ofs_src[i]
> +
> +3. Invoke the KVM_GET_CLOCK_GUEST ioctl on the boot vCPU to return the KVM
> +   clock as a function of the guest TSC (pvti_src). (This ioctl may not
> +   succeed if the host and guest TSCs are not consistent and well-behaved.)
>  
>  From the destination VMM process:
>  
> -4. Invoke the KVM_SET_CLOCK ioctl, providing the source nanoseconds from
> -   kvmclock (guest_src) and CLOCK_REALTIME (host_src) in their respective
> -   fields.  Ensure that the KVM_CLOCK_REALTIME flag is set in the provided
> -   structure.
> +4. Before creating the vCPUs, invoke the KVM_SET_TSC_KHZ ioctl on the VM, to
> +   set the scaled frequency of the guest's TSC (freq).
> +
> +5. Invoke the KVM_GET_CLOCK ioctl to record the host TSC (host_tsc_dst) and
> +   host CLOCK_REALTIME nanoseconds (time_dst) at a given moment (Tdst).
> +
> +6. Calculate the number of nanoseconds elapsed between Tsrc and Tdst:
> +
> +   Î”T = time_dst - time_src
> +
> +7. As each vCPU[i] is created:
> +
> +   a. Read the KVM_VCPU_TSC_SCALE attribute to record the guest TSC scaling
> +      ratio (ratio_dst[i], frac_bits_dst[i]).
> +
> +   b. Calculate the intended guest TSC value at time Tdst:
> +
> +      tsc_dst[i] = tsc_src[i] + (Î”T * freq[i])
>  
> -   KVM will advance the VM's kvmclock to account for elapsed time since
> -   recording the clock values.  Note that this will cause problems in
> -   the guest (e.g., timeouts) unless CLOCK_REALTIME is synchronized
> -   between the source and destination, and a reasonably short time passes
> -   between the source pausing the VMs and the destination executing
> -   steps 4-7.
> +   c. Use host_tsc_dst and the scaling factors to calculate this vCPU's
> +      raw scaled TSC at time Tdst without offsetting:
> +
> +      raw_dst[i] = ((host_tsc_dst * ratio_dst[i]) >> frac_bits_dst[i])
> +
> +   d. Calculate ofs_dst[i] = tsc_dst[i] - raw_dst[i] and set the resulting
> +      offset using the KVM_VCPU_TSC_OFFSET attribute.
> +
> +8. If pvti_src was provided, invoke the KVM_SET_CLOCK_GUEST ioctl on the boot
> +   vCPU to restore the KVM clock as a precise function of the guest TSC.
> +
> +9. If KVM_SET_CLOCK_GUEST was not available or failed (e.g. because the
> +   master clock is not active), fall back to the KVM_SET_CLOCK ioctl,
> +   providing the source nanoseconds from kvmclock (guest_src) and
> +   CLOCK_REALTIME (time_src) in their respective fields. Ensure that the
> +   KVM_CLOCK_REALTIME flag is set in the provided structure.
> +
> +   KVM will restore the VM's kvmclock, accounting for elapsed time since
> +   the clock values were recorded. Note that this will cause problems in
> +   the guest (e.g., timeouts) unless CLOCK_REALTIME is synchronized between
> +   the source and destination, and a reasonably short time passes between
> +   the source pausing the VMs and the destination resuming them.
> +   Due to the KVM_[SG]ET_CLOCK API using CLOCK_REALTIME instead of
> +   CLOCK_TAI, leap seconds during the migration may also introduce errors.
> +
> +4.2 ATTRIBUTE: KVM_VCPU_TSC_SCALE
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Documentation/virt/kvm/devices/vcpu.rst:327: ERROR: Inconsistent title style: skip from level 2 to 4.

4.2 ATTRIBUTE: KVM_VCPU_TSC_SCALE
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Established title styles: =/= = - [docutils]

Change this "underline" to use "--------------------------" (for whatever
width is needed) and also add the same to the 4.1 heading.

> +
> +:Parameters: struct kvm_vcpu_tsc_scale
> +
> +Returns:
> +
> +	 ======= ======================================
> +	 -EFAULT Error reading the provided parameter
> +		 address.
> +	 -ENXIO  Attribute not supported (no TSC scaling)
> +	 -EINVAL Invalid request to write the attribute
> +	 ======= ======================================


-- 
~Randy



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 05:41:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 05:41:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333924.1597010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXBgQ-0007dQ-Ja; Wed, 10 Jun 2026 05:40:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333924.1597010; Wed, 10 Jun 2026 05:40:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXBgQ-0007dI-DB; Wed, 10 Jun 2026 05:40:58 +0000
Received: by outflank-mailman (input) for mailman id 1333924;
 Wed, 10 Jun 2026 05:40:57 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Zhao.Jiaqing@amd.com>) id 1wXBgO-0007d0-Tb
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 05:40:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXBgN-00A8VC-S7
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 07:40:55 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a28f8de-2eae-0a2a0a5409dd-0a2a4506a376-16
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 07:40:55 +0200
Received: from [40.107.200.32]
 (helo=CH5PR02CU005.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a28f8e6-7371-0a2a45060019-286bc820b3b9-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 07:40:55 +0200
Received: from BN9PR03CA0434.namprd03.prod.outlook.com (2603:10b6:408:113::19)
 by BL3PR12MB6402.namprd12.prod.outlook.com (2603:10b6:208:3b2::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Wed, 10 Jun
 2026 05:40:48 +0000
Received: from BN1PEPF00005FFF.namprd05.prod.outlook.com
 (2603:10b6:408:113:cafe::ac) by BN9PR03CA0434.outlook.office365.com
 (2603:10b6:408:113::19) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.113.11 via Frontend Transport; Wed,
 10 Jun 2026 05:40:48 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN1PEPF00005FFF.mail.protection.outlook.com (10.167.243.231) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.113.7 via Frontend Transport; Wed, 10 Jun 2026 05:40:48 +0000
Received: from zjiaqing-dev.amd.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Wed, 10 Jun
 2026 00:40: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xH45YQ8z9+LViXVqVrGnpiBGXYEUOot4CIhg9nAzAUtCov7snp6wUaASdYYM7tUnKHQ9dxlggdukR24aRdS6RY1dseH743GD0x1iZ6QKUvmLaTL4tZ3qn0xbHV9VGCVmJY5A/h1eg5GwnkV+0u3po6HHENORUtleDpuE6QLqpiEfJPJyrcSo5ql0ZI6GPxVi6ufP/Jms5fNkoERQuXOxwUlzwvVI6RSnFLBba1eyaQlKP9Dkmsd2JNOgZGU28QR2o9rDVDoCSD1bMfFf4kDCkC1zGIEBO5ROYXIgIeJG1XUOtQQfn0KMcp+fdyoElFra5yaLR2PgIngUGe6N0i6RGg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OiwUxfzZ52HOR4Og8Wmwymh6ekARcn9POkjVivbBbj8=;
 b=xUYLHc7UbIdkCztA79QMpJCge16EFdpSQv+Bc+Oi5hFD2cbxINTejjVb6X0sby+OBKpNdLyDXW+ak1H0gyoj67dJfmimsg6g29ybdMVCDxIxr+lNYdrFF40/OPkAmLJLvYsp+zb+k93C1G7v9Rgy3i9+Gx3GxwtLJZ0G/xYIClYKpUN6VpkvzzgD1mfm/snVP1E1WH+1IUaPKOz8uQ26jXV9S2TwN5gHLGqZ6MNMN1vsAPIYKdOZQ5ruB3aKjosPS1fP4ouIgGGAb97IcOAq7THg2t/z3ieIDF0GscmWLJAigj3jmOXYebux6Y2Gy29KF5of5KtYjRFMBGhwcS2QKQ==
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=OiwUxfzZ52HOR4Og8Wmwymh6ekARcn9POkjVivbBbj8=;
 b=xx5lJwJyC85M2Gzo83s4Nu+x/euVwiELZAh3tjE1ya52WI0bKGZBeQeWJfTehpLiZWkM38xqSPrqlaBsR7idZ7dGlGOkWb/fXi3nMf5/U5TIHDnvIsQbWSkGaQ2ylHPr5CQgaRxvkhs/AG5ga7gH896484ovRLWjDqOssphhwIc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Michal Orzel <michal.orzel@amd.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Jiaqing Zhao <Zhao.Jiaqing@amd.com>,
	Denis Mukhin <dmukhin@ford.com>
Subject: [PATCH v6 1/3] ns16550: properly initialize booleans in uart_param[]
Date: Wed, 10 Jun 2026 13:40:28 +0800
Message-ID: <20260610054030.1624662-2-Zhao.Jiaqing@amd.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260610054030.1624662-1-Zhao.Jiaqing@amd.com>
References: <20260610054030.1624662-1-Zhao.Jiaqing@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00005FFF:EE_|BL3PR12MB6402:EE_
X-MS-Office365-Filtering-Correlation-Id: 264105dd-5a81-4c41-8004-08dec6b2d343
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|36860700016|1800799024|82310400026|376014|11063799006|56012099006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	A+jVLhUj5oN9IxSsEDpPKWrqO6PB3IQnVJV4VDqtuG0WvCmj1nhFXmPXT/kbLov3Cb6bJY3w5wZmoFPeIqD851RU7HuxgTkvhJRLospvpG5mjykT/ZiuI7+tj7HvRzztaCV4cMUxUuHFQzvQfTYf3APKaxx/L3RCVVMPvfn7B/fwHZp3bCoum0LGU2H8EXtRUbwwHIUAoRnuFYqDfrlDUzaKojH811HV/4P11L2+qCbSTe86iP1vxwOYPCr7TE+5f9b8lP26oHLRhKAiVVtKEx6jRQGbYen6Itzlr46ZZvotUr9ljICBERHyfChI5MS7YfUzWXK9EtGHNBq8cJ4VBXY0K8azkiQlrdJ0yfPYcG+b7jhknpuGuX8zemKX+fOhBQUgtVKlx+5mxyGFw2cZZvBFJsTDVPe6JlYPE2+zcxXeCo5M+r51Mb7lHHtLtb2jxy0ksw6KkbGdvif3s2pVkB9Os0KrfbBOeh2AG8pbJZvlwZo5ajT70avaS0O0HoIZ0DcWIv2E8WjUbtVL+orIMt211xKZtt6rgMec/ApQgFuwWUTtT8+nUxpAXbQAE6/HDrRaPxpXADYboB9XtK+2F0EqQRFqoXOoM/+MZpIa8mdX+HWR6T5P6UiyFljPtATOONUMTpE6HI+Wh6tPWtqPCIk9HGl7w2agE+7c6EAhj09tkE/GEP/otMBNu3OdkOLmUXzwjjiuIDMLZnTJ7yMOdimVTCofWLceyjrCUy7+ABk=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(23010399003)(36860700016)(1800799024)(82310400026)(376014)(11063799006)(56012099006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	Jd3nuV6UErl0/ktEjnBYonRTcOLNyU+grCz+F7UhJdLHER4DzhG19zKh7W2NoxUNoJSVPrTHAW9WvNJe78+s4C5CEotYetR97pDKIEqTYhvcz8Sn+RairFG1AaMiZ9PWDxKeLgqCq59Lj+VxFQwCj2ZMAV7qTJ1HoDoC5ZzuELHXCTxzxuZd3eXS7Zns8rkvq2FJKdJEP7QxmOsebQodQOR0vByJnbo+LPDfMcfwGCY/XHr4eHECccgViviEksPiyCWy98VHO/foE5+dPSgYDlA7sg72xElGIuUF91lg0A9xfnt/jD5ScBIp0ra1z0gIdvvdQOQgCf4GsyZaMJDB1XiSriKW3QjwJcoMgn2zUhEkU79PXvO84yMuKS088S2i4fFabP2fltPia8xPnyFSeL03jAZWIgyc+y7rUbRJuS5yQRojNLuEmknjMXwD3INn
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 05:40:48.3691
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 264105dd-5a81-4c41-8004-08dec6b2d343
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00005FFF.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6402
X-purgate-ID: tlsNG-16d1c6/1781070055-8797CD75-CDFCB032/0/0
X-purgate-type: clean
X-purgate-size: 4017

.bar0 and .mmio in struct ns16550_config_param are booleans, hence they
should be initialized with "true", not "1". No functional change.

Signed-off-by: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
Reviewed-by: Denis Mukhin <dmukhin@ford.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/drivers/char/ns16550.c | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 878da27f2e..ed4e29ec25 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -758,7 +758,7 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 16,
         .lsr_mask = (UART_LSR_THRE | UART_LSR_TEMT),
-        .mmio = 1,
+        .mmio = true,
         .max_ports = 1,
     },
     [param_oxford] = {
@@ -768,7 +768,7 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 16,
         .lsr_mask = UART_LSR_THRE,
-        .mmio = 1,
+        .mmio = true,
         .max_ports = 1, /* It can do more, but we would need more custom code.*/
     },
     [param_oxford_2port] = {
@@ -778,7 +778,7 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 16,
         .lsr_mask = UART_LSR_THRE,
-        .mmio = 1,
+        .mmio = true,
         .max_ports = 2,
     },
     [param_pericom_1port] = {
@@ -787,7 +787,7 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 16,
         .lsr_mask = UART_LSR_THRE,
-        .bar0 = 1,
+        .bar0 = true,
         .max_ports = 1,
     },
     [param_pericom_2port] = {
@@ -796,7 +796,7 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 16,
         .lsr_mask = UART_LSR_THRE,
-        .bar0 = 1,
+        .bar0 = true,
         .max_ports = 2,
     },
     /*
@@ -809,7 +809,7 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 16,
         .lsr_mask = UART_LSR_THRE,
-        .bar0 = 1,
+        .bar0 = true,
         .max_ports = 4,
     },
     [param_pericom_8port] = {
@@ -818,7 +818,7 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 16,
         .lsr_mask = UART_LSR_THRE,
-        .bar0 = 1,
+        .bar0 = true,
         .max_ports = 8,
     },
     [param_exar_xr17v352] = {
@@ -827,8 +827,8 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 256,
         .lsr_mask = UART_LSR_THRE,
-        .bar0 = 1,
-        .mmio = 1,
+        .bar0 = true,
+        .mmio = true,
         .max_ports = 2,
     },
     [param_exar_xr17v354] = {
@@ -837,8 +837,8 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 256,
         .lsr_mask = UART_LSR_THRE,
-        .bar0 = 1,
-        .mmio = 1,
+        .bar0 = true,
+        .mmio = true,
         .max_ports = 4,
     },
     [param_exar_xr17v358] = {
@@ -847,8 +847,8 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 256,
         .lsr_mask = UART_LSR_THRE,
-        .bar0 = 1,
-        .mmio = 1,
+        .bar0 = true,
+        .mmio = true,
         .max_ports = 8,
     },
     [param_intel_lpss] = {
@@ -857,8 +857,8 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .reg_width = 1,
         .fifo_size = 64,
         .lsr_mask = UART_LSR_THRE,
-        .bar0 = 1,
-        .mmio = 1,
+        .bar0 = true,
+        .mmio = true,
         .max_ports = 1,
     },
 };
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 05:41:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 05:41:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333925.1597012 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXBgQ-0007eo-OB; Wed, 10 Jun 2026 05:40:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333925.1597012; Wed, 10 Jun 2026 05:40:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXBgQ-0007di-KN; Wed, 10 Jun 2026 05:40:58 +0000
Received: by outflank-mailman (input) for mailman id 1333925;
 Wed, 10 Jun 2026 05:40:57 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Zhao.Jiaqing@amd.com>) id 1wXBgP-0007d1-0L
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 05:40:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXBgO-001fT0-3B
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 07:40:56 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a28f8e3-5cb7-0a2a0a5109dd-0a2a4502ac38-8
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 07:40:55 +0200
Received: from [52.101.57.6]
 (helo=BN8PR05CU002.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a28f8e6-af86-0a2a45020019-3465390675b9-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 07:40:55 +0200
Received: from BN1PR10CA0013.namprd10.prod.outlook.com (2603:10b6:408:e0::18)
 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.21.92.13; Wed, 10 Jun
 2026 05:40:44 +0000
Received: from BN1PEPF00006001.namprd05.prod.outlook.com
 (2603:10b6:408:e0:cafe::78) by BN1PR10CA0013.outlook.office365.com
 (2603:10b6:408:e0::18) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.113.11 via Frontend Transport; Wed,
 10 Jun 2026 05:40:44 +0000
Received: from satlexmb07.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_256_GCM_SHA384) id
 15.21.113.7 via Frontend Transport; Wed, 10 Jun 2026 05:40:43 +0000
Received: from zjiaqing-dev.amd.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Wed, 10 Jun
 2026 00:40: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=lo9qQRAO24jVVbcDtmCcWccivd1sjDc+5I4DsehBQeVFfPCPbjg9bLWq0TFYMpjnbkfDCfHf+vBMPlf8HJZOwRakj0TgAiovSORHUT+AV8MngkjL+caOsp5aIvXmlwm1iGoi7LagHnBkI/0TQZO2j9k/YUwWd10OyVMe8dglzZmEKdWv9zrPS8fa888diFGMCLZYZfYDlm2KG33PD7+D+AOt+juGgKUqjgtbXjkJ9fPWFhRr2tqkhbWWed5JqnQVC5czHAgZ6Xc+qwh2VVDjIJkW4xG0JSLWBbsHvvfm15kTMJX0mkTldOvqlktienRq4cnGW+rtYystfJzKdZcDGw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hYcRjw/JSrIgQEQ9O31SGZIlBoyb4G7AtR8nso0H1kc=;
 b=s1ndPnLYMIgRfjeX19tW4uIumM7oGbGcTo6wn+1NBrvoW9A4qAP+xB35n8WIG8JyBsqsmmbsc9pfGRMS0xbeVQufmZSDisBhMqWgN0WDocK+ULp3F1NGE/pl+8Kliz6Ef5Scb3OvQO3Mis/iZu8iK6XYT27Ym5H/63Ul2pPu4TRYGKbBHUC9/Nyijcb+aXAjaBCezuFqKMJQXxJnF+7oG1yMNzCUSfAAwyYpzxBfXqIHTuYB68CS+/Q2W9MToEWCtSZewd08GFSOeTNTbLukJoFfAGfudLiwNIgqTQD4dAuev+/u6Dpyt34DaUFLzdNf83QkAUPyucz4/2Ek57C1Hw==
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=hYcRjw/JSrIgQEQ9O31SGZIlBoyb4G7AtR8nso0H1kc=;
 b=zg+3n6ZXYpITkaR9JF28QLk+pi6QD0WyFRYrIcOj9JmzXTeSCJnvN/of607oYdgFoiBc8WFYa5JLSFN5G1qwtAuFOvfVhoZFNTCAZAUY41dKbReGYgC9sPbomYO5aQQYihtVy50Jd2qslrFsvgU3MHB4NHaEgcT/EcVVriHzeXI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Michal Orzel <michal.orzel@amd.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Jiaqing Zhao <Zhao.Jiaqing@amd.com>
Subject: [PATCH v6 0/3] ns16550: add support for WCH CH382 and ASIX AX99100
Date: Wed, 10 Jun 2026 13:40:27 +0800
Message-ID: <20260610054030.1624662-1-Zhao.Jiaqing@amd.com>
X-Mailer: git-send-email 2.53.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00006001:EE_|DM4PR12MB7528:EE_
X-MS-Office365-Filtering-Correlation-Id: 6219ebf7-c3b3-4ecb-78a4-08dec6b2d099
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|1800799024|376014|36860700016|82310400026|6133799003|18002099003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	TlmtEIv5IcZyoJ7CH5gkPayM4mLPn0ZW7DAJ0jXg6VR2v9Z+YnxB2T87fbv6rYJRRJiCz34/YwTQhDw2ZAZDTWugGpEm3cfL2fq11K4MXKLZwvFgA+kTTUxdfmTlDJu7WpFs60dNMWFGh5WUyMyUIlohRFc+ZFS2g2dH4lxHxYPpgh7vz79/mvIKXOpbvjbpa0kD0mgbhKn9Gn4oIaTy5L/NH/U/YyCbLYLJCNP0fsllbVjGSgzMtaD/jgDQ7plKZxsqhAeSLhT1Z0ZePc0AT1pDVzxtCeG4lK2UIBF/mewZenuz4MVAoE1hdAiXh92f6KtfXPQlhnUlLLh2IKKxXfa8MVrnJO83A99vbEtoC1b5yaptxxhroSIclQ46y7t1cRvZgPMGsCdS30v1oZ6OCkTNbQHf+3Ce6hB+7wPjvOjsKYew8eqHIsfAWpnzhpSh72u1Ngh1WRafdrauw/AC8gDlvGos/L4cW4YFohb+GQ+Xu+58tir5YUL+HmxptrFpVEmZZYQkZKZ/zrXW+Y0BfJIyJw8rr7TW5WRxC9yYthBnnMUrDNGBJOgYBqzSHN4Ty4TwEWJSk58VCLEsZuVUNNVjil0KYpebWHievMNZmLQXmBzPzHXbUX7yTuspWyU4PcPy7zDMBaNJYiDXSaboWjSTJsTP/27Jq5uhPp2y7U4Qf58fWjCR1h8peDQJTwVmzRJWkZn+ryhjQ024rNAlBpFyGHEQHilnfMZRWfknh1I=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(376014)(36860700016)(82310400026)(6133799003)(18002099003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	rLGUclHx+Et6yxQg1sJkO6dnXc+9vsQayfZSr/Ah741aZrPvVVLG6lI30LBjBDdV0M8NcXacclgKTTuKna2Y0tc+zHEYLUXdrTvjTtRZD1sNvoEj1lLgvF9B1jg00IDiTInzPm/QznBhLN1fXGkNLN++l610aviaqPwE4nbr4tPGe9Oupp1EspzVgKU+tqfpdEhfIlaEr7XKnFnoHSRNu0mPlcJkF4zKLh+KMdF6WmUSMP624bk7gEG4g3UAAJikORCjmxRMiyv0IJ8JZVFkEQpYQP/kIrxmvMd1OOitg0Hckhz9eO2A6b2131i5tQvedAs1XL137nMfa4Uk5X772Zx1x5SuJZAPBvsFVgaLN6TX7H7WsEoMn8bsTCi7xrnBMxw1xJOQU8YXYZFEHSf4bOkoVNsyl22bdOEuCsTIBRvjHIC2QMrWp8gGYmMUK2FE
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 05:40:43.8938
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6219ebf7-c3b3-4ecb-78a4-08dec6b2d099
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00006001.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7528
X-purgate-ID: tlsNG-720697/1781070055-83F66161-EA7C69AE/0/0
X-purgate-type: clean
X-purgate-size: 1349

This series adds ns16550 support for two PCIe serial adapters found on
market:

 - WCH (Nanjing Qinheng Microelectronics) CH382, available as
   CH382 2S [1c00:3253] and CH382 2S1P [1c00:3250].
 - ASIX AX99100 PCIe to Multi-I/O Controller [125b:9910].

Both chips expose 16550-compatible UARTs through PCI I/O BAR0 and
work with the existing ns16550 driver once a matching device table
entry and parameter set are added.

v6:
 - Add Reviewed-by from Denis and Acked-by from Jan.

v5:
 - Add Acked-by from Roger.
 - New patch 1/3: Initialize booleans in uart_param[] with "true"
   instead of 1, as suggested by Roger.

v4:
 - Add Reviewed-by from Stefano.

v3:
 - New patch 2/2: add support for ASIX AX99100.
 - Add forgotten Reviewed-by from Denis in patch 1/2 (WCH CH382).

v2:
 - Reorder entries in ns16550_config to keep them sorted by device ID.
 - Rename PCI_VENDOR_ID_WCH to PCI_VENDOR_ID_WCHIC as WCH has multiple
   vendor IDs.

Jiaqing Zhao (3):
  ns16550: properly initialize booleans in uart_param[]
  ns16550: add support for WCH CH382 serial adapters
  ns16550: add support for ASIX AX99100 PCIe Multi-I/O controller

 xen/drivers/char/ns16550.c | 68 +++++++++++++++++++++++++++++---------
 xen/include/xen/pci_ids.h  |  4 +++
 2 files changed, 57 insertions(+), 15 deletions(-)

-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 05:41:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 05:41:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333927.1597037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXBgT-0008G1-CX; Wed, 10 Jun 2026 05:41:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333927.1597037; Wed, 10 Jun 2026 05: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 1wXBgT-0008Fu-9g; Wed, 10 Jun 2026 05:41:01 +0000
Received: by outflank-mailman (input) for mailman id 1333927;
 Wed, 10 Jun 2026 05:41:00 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Zhao.Jiaqing@amd.com>) id 1wXBgR-00085X-VV
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 05:41:00 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXBgR-00FjXF-C3
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 07:40:59 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a28f8de-bab6-0a2a0a5309dd-0a2a4507ba1e-6
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 07:40:59 +0200
Received: from [52.101.48.20]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a28f8e9-229c-0a2a45070019-346530146d18-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 07:40:58 +0200
Received: from BN0PR04CA0125.namprd04.prod.outlook.com (2603:10b6:408:ed::10)
 by DS7PR12MB5840.namprd12.prod.outlook.com (2603:10b6:8:7b::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Wed, 10 Jun
 2026 05:40:54 +0000
Received: from BN1PEPF00005FFC.namprd05.prod.outlook.com
 (2603:10b6:408:ed:cafe::33) by BN0PR04CA0125.outlook.office365.com
 (2603:10b6:408:ed::10) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.113.11 via Frontend Transport; Wed,
 10 Jun 2026 05:40:54 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN1PEPF00005FFC.mail.protection.outlook.com (10.167.243.228) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.113.7 via Frontend Transport; Wed, 10 Jun 2026 05:40:53 +0000
Received: from zjiaqing-dev.amd.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Wed, 10 Jun
 2026 00:40: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=O12o6DkoMS0JQksgxMRiHgT9DOgLK1c1kBWhExT/dWMYxr1UOi1hHsAAZ3L+7IiOfPnZpoKSccNH8avNyrbKPkSKSTV0oSKWOd7thyrXY+bAYiydzieuc/uiDwmIMZaIOk1SOmm9/xq69RvzKfpLRBbJRVWcEpSlCkjpPj7e5/sO4N9sPRKJo1C0DfvxxnQ7lhWh0OeSBYAxN15GII+QaU3t93DIsbQh0hx4MSDnYEUfIdqTQox29yrRaiHQjr4I5xN2aRlyfTyvkrDMBhB9LsjDWKRmGvdkpEqvuQAyvAMONdNuUhbz+ORqOVSGN+pPxjvhWpvlC0D0zgE5ohM39w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JZqNNzSCEegZxbz7cGNIdz/058lNDyqEA0VLDyA8T6k=;
 b=a3QXFkDfqfABqL1X88y6+Y4NDPRcIgEHDl1iUJ7kxO08Nw8mm+ZvRvhh4EvuJfGFbEAQyADWVb84DB2gD0nxLJFVQTlHco1uAvYdDfFMcwuLpqacKAVuhRhN12pyVf9cBm+H/+SK6HLGLpsTr9tWccHUn3IPltmRhmbbNjAeNxu6QIdL8jdQi2HPr8xWtdzNFyUpoecAiHM1owK9Up8ELKQgimXPX/TWpZJzpN9/kmqAi5DvGH8z6ugscb2aqjwPY0i5oly/v9aW6rNeOEoaBKxNhdYeVmJhND1mJ/AMqcoMj4GmAiE+CGVFsU2PL955t5Ac3uFarzE30lRpBNqHvw==
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=JZqNNzSCEegZxbz7cGNIdz/058lNDyqEA0VLDyA8T6k=;
 b=aPi6dKP6MLmPriMdPKZ7Pge65nq+QjEL4AdVxt67mtLignp6fdthcvuzNp/amKTOrGmF1/3ocq13Xa8+hbFxw6e2H8lDhnKkEZgVLk1oM4BxDoBhmY5/F9VuvZgdpqt1dbedGliWRSizJfcDzna52s7lT/omkC89L9eCFUOj3Ag=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Michal Orzel <michal.orzel@amd.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Jiaqing Zhao <Zhao.Jiaqing@amd.com>
Subject: [PATCH v6 3/3] ns16550: add support for ASIX AX99100 PCIe Multi-I/O controller
Date: Wed, 10 Jun 2026 13:40:30 +0800
Message-ID: <20260610054030.1624662-4-Zhao.Jiaqing@amd.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260610054030.1624662-1-Zhao.Jiaqing@amd.com>
References: <20260610054030.1624662-1-Zhao.Jiaqing@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: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00005FFC:EE_|DS7PR12MB5840:EE_
X-MS-Office365-Filtering-Correlation-Id: 6fa556da-a3e5-434c-a55d-08dec6b2d66f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|36860700016|1800799024|82310400026|376014|11063799006|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	n7+fatnGwo+LD4OdPxUSO2/7o/Nervfdd1+v2wY0zMIRcBb5KXMBCwtmhe6dOTL/9yyDORmtZ9iE6JSviJMKrX2m6CNeRUzlqotUmdmAAnUL285F9fEINqC9oIrTcK2WKDnM9sjYburwmpYwWENbaAWV22AZ5cWUdXCsoZ6r7eAeUCI2FecqEzP85uXEbx9Ag+7YW8HXgqjOcIgP67XY6yVQMi6zfqOJ2/tsBAFsKjGkGLaTKuJun2s+vZeVoBydTEvRdGuEym/erX2YtNcs88Fn2l0aVqb8kQFQ3jg0pY7yVCwx2Fb81G4iE38k84IfQr0/LTHtGxcdYCDVbVEhMIQxAlbweRToZHZFpS/T+5csKItLlz3D96qdEuw//2m8SVvCDteaSQenK1biPbDZbS4c9zvp8AXOMfriCEUOqWb3eiECO5JKUtvq+vftPIe83vInuo9qs9/Rn9wCq/tQj9wA1n/QPo+Fodt8lwmmwXanE/AUqPmaJCJwFo4zf+BoG7ednICDFvihnS7qd9VKnppiiG9fSIBN5OW84kHhOBYZo1kN+A1GhrE1YGr/PXCIi0qeG9hqfk7bSpGnYDgvTK1p/yvW/G0VcDFtQlsyfI7JgUfl6NWUeQSwXlU3reOJnYZLOyejPGWY1ODQM2B+fWkxuZztkrCD3yweAYln1y76jgiNsqG2TTJSP8tTApWSq16z+W69hWIPX4ooVK99KCA+UC098uObccBTie5GMfc=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(23010399003)(36860700016)(1800799024)(82310400026)(376014)(11063799006)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	6pnNloe3hni9hV1x3RZIU4DmqkLY1BrLZrGhxk/ISIIFgOhj7WN9Mxbe/87j1UA9gyw0CdZfu4+NA+MgSE2dQJW1v2k+Z9I85mPSZv7SGfJfoLcE/qausEiWwiGTZJvrp9Wlx9Ea9WpXeFc2pj9Q6XRZO/DXpalB0PM0P5mjgylXH9zdwnctrE/c/o4ihESWd/24+vO9mdvx1TqiPWxmMUnVhPYoFylb/szWFPObG5IwBEGXJDoBeXwu5EImiMGu3lrqmcrTZDV2zU1rUslNE9Xsz8nC5uXDdQqaB9E1wkiB84xDmIalMfOkeaX+8TuZpggelSYeCGRAMBj6kh4lOfXxrpmbOWemSSLzTplUX7b81VHykTd6JDrM8RRQZ2lBfNib7N1MlxaS3kUsS91YXr4f7gAS3MyoLvxYNOvajH9uWViFP1krtdLe8X8kD7t4
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 05:40:53.6915
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6fa556da-a3e5-434c-a55d-08dec6b2d66f
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00005FFC.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5840
X-purgate-ID: tlsNG-ef75cf/1781070059-23F7EC48-291A54D1/0/0
X-purgate-type: clean
X-purgate-size: 2104

Add a PCI device table entry and matching parameter for the ASIX
AX99100 PCIe to Multi-I/O controller [125b:9910]. Each port on the
chip is a standalone PCI function, with UART registers on its I/O
BAR0.

Signed-off-by: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Signed-off-by: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
---
 xen/drivers/char/ns16550.c | 15 +++++++++++++++
 xen/include/xen/pci_ids.h  |  2 ++
 2 files changed, 17 insertions(+)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 5a93685da4..1510cf143f 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -96,6 +96,7 @@ struct ns16550_config {
         param_exar_xr17v358,
         param_intel_lpss,
         param_wch_ch382,
+        param_asix,
     } param;
 };
 
@@ -872,6 +873,14 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .bar0 = true,
         .max_ports = 2,
     },
+    [param_asix] = {
+        .base_baud = 115200,
+        .reg_width = 1,
+        .fifo_size = 256,
+        .lsr_mask = UART_LSR_THRE,
+        .bar0 = true,
+        .max_ports = 1,
+    },
 };
 
 static const struct ns16550_config __initconst uart_config[] =
@@ -1212,6 +1221,12 @@ static const struct ns16550_config __initconst uart_config[] =
         .dev_id = 0x3253,
         .param = param_wch_ch382
     },
+    /* ASIX AX99100 PCIe to Multi I/O Controller */
+    {
+        .vendor_id = PCI_VENDOR_ID_ASIX,
+        .dev_id = 0x9910,
+        .param = param_asix
+    },
 };
 
 static int __init
diff --git a/xen/include/xen/pci_ids.h b/xen/include/xen/pci_ids.h
index 15e938225c..fd424ef55d 100644
--- a/xen/include/xen/pci_ids.h
+++ b/xen/include/xen/pci_ids.h
@@ -5,6 +5,8 @@
 
 #define PCI_VENDOR_ID_NVIDIA             0x10de
 
+#define PCI_VENDOR_ID_ASIX               0x125b
+
 #define PCI_VENDOR_ID_PERICOM            0x12d8
 
 #define PCI_VENDOR_ID_EXAR               0x13a8
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 05:41:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 05:41:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333926.1597017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXBgR-0007ik-1s; Wed, 10 Jun 2026 05:40:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333926.1597017; Wed, 10 Jun 2026 05:40:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXBgQ-0007hG-RQ; Wed, 10 Jun 2026 05:40:58 +0000
Received: by outflank-mailman (input) for mailman id 1333926;
 Wed, 10 Jun 2026 05:40:57 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Zhao.Jiaqing@amd.com>) id 1wXBgP-0007d2-85
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 05:40:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXBgO-00FjXF-Dr
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 07:40:56 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a28f8c1-bab6-0a2a0a5309dd-0a2a45059818-40
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 07:40:55 +0200
Received: from [40.107.201.29]
 (helo=CH4PR04CU002.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a28f8e6-aaa8-0a2a45050019-286bc91da918-4
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 07:40:55 +0200
Received: from BL1PR13CA0008.namprd13.prod.outlook.com (2603:10b6:208:256::13)
 by CH0PR12MB8487.namprd12.prod.outlook.com (2603:10b6:610:18c::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Wed, 10 Jun
 2026 05:40:51 +0000
Received: from BN1PEPF00005FFD.namprd05.prod.outlook.com
 (2603:10b6:208:256:cafe::6b) by BL1PR13CA0008.outlook.office365.com
 (2603:10b6:208:256::13) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.113.11 via Frontend Transport; Wed,
 10 Jun 2026 05:40:51 +0000
Received: from satlexmb07.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_256_GCM_SHA384) id
 15.21.113.7 via Frontend Transport; Wed, 10 Jun 2026 05:40:51 +0000
Received: from zjiaqing-dev.amd.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Wed, 10 Jun
 2026 00:40: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=QLVfHD6uniKvju7wQpT3NVUQeGCP/ixbF1e0L/nBKAaQ4pTIioQf6T2ZixL3LBT/NMQ8jvW3fAKLt2NwP+r13zPx6aw3bcIoDgpxpH7HPjMkrxpMGkKra6EdHxdQMBKE6spPPintdShxMFPvaoBVvjC0gG8DjRQ2g7MItQ+6hihpEm0CkbOw33nTvaK4b5v/ut+9K8bQ7XEePFbxYVFmaAxNCJU7pP0pouT9pHFVx4uIoVLdAgZ4/S5lnCtCiITNCZCwU+iN8M9x/B4fZ6A4ngNreslrhxCkRcrNsFrkMWsoF9F5P8QQAKS0fuctKdrtkj7lF8PG1RaUaxG6voxfxQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EK6a2UFU+of/PuSh5uCUJHjyBKBPm7/2jZE4fVYKMsI=;
 b=kVJXYbl8FkXgu+rfTVqOBNkVDnTyiQ1eYMWPIGgMsRSFyyVmcthS42VjBrzgw9Qh1XIlc4IW0/l7t4Tdspv5YrwgMj1WMjplnx4YTakBWqrI9kNPF7D00FwUC95xpGBVDJi3CXkgn7hv15QxuXjVXCgvdovjMVz5AL2HufZgFp2rIb3y7N8Pd0ZgLKv3iOfWKjElOM14vzzWJxhPj0G/LdTkGVIWm4YfqWu5zn4PT9Uwc90ningWbZ6oRlmO2HPb6vP6s+J9jlFKuWo9hQ4NWDRzvgmmOx6gkKmn85/WJlSOxCsNm5dZxRNv05dC4bbxoherRfKxoBGwaNKoe6y7IQ==
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=EK6a2UFU+of/PuSh5uCUJHjyBKBPm7/2jZE4fVYKMsI=;
 b=fckr4FuVzQHhGdXTBsotQbg3Wp/pdme5vpiqbG5lJ7YjhXySYFfByOXl37x9NgA1bYl8YgLMQpMthI3XxuRHgo8Qx+fQ9EvmsK7XFIQa5ANkwU5yfKnGJLZCFmiZQ5yDsEpWgZKGk7EtU0+cwHYPML216bn892LSYQ9E5E2jhl8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Michal Orzel <michal.orzel@amd.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Jiaqing Zhao <Zhao.Jiaqing@amd.com>,
	Denis Mukhin <dmukhin@ford.com>
Subject: [PATCH v6 2/3] ns16550: add support for WCH CH382 serial adapters
Date: Wed, 10 Jun 2026 13:40:29 +0800
Message-ID: <20260610054030.1624662-3-Zhao.Jiaqing@amd.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260610054030.1624662-1-Zhao.Jiaqing@amd.com>
References: <20260610054030.1624662-1-Zhao.Jiaqing@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: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00005FFD:EE_|CH0PR12MB8487:EE_
X-MS-Office365-Filtering-Correlation-Id: 1f7a36ef-e641-4d72-2c22-08dec6b2d4da
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|376014|36860700016|82310400026|1800799024|11063799006|18002099003|22082099003|56012099006|13003099007;
X-Microsoft-Antispam-Message-Info:
	31QOj3dHYF7VKcNKqGdkc7mnAEd68rGqdyzJ1FMKJqY7E1R8vB9FTcN7qIrbfzZoHgsc/v0A65y9Lo6i7hsABy1MsIqRAGl72qcRHuFpJqGCD06vKhbTQFcg841n8CCHo1tGCk/kAi+GEquggPtytARbJ8S0wRfEni1nl8oLYEutvfqaOY2/sOfyk8ZnfG2p1nRXhToW/PIYVX1tyc1vtMs72EESek/Vovr1U1eKnyVxPyKPqf5InmezevotbZKBu2toz4b9eQ69wWephOt1r+vXaQ8WXPDavTfOBm884nusXkQcKelbVcK2XlTm8KcsB1EoXxQoj8tZMJrXv9H9Yrbtwd+e9OWqUDhAqTO8I+sAhU626gAWv4l2WHiApNquIiIWwswqBkqhqvFq75N5jDkhSh7g1cm0s3NESQPkY3T16kSnOhWG2AKEYjSExsNFtQJ7Dw6y9B9bQN1nq8cEivl/BD+cdAptb3aRBjHpFVS4QZDzibMZ2WUKqZ9TM3eclUlhmCRUNDYa1f6E3EV6F8B90cVxth59tMP2wfIDElFlOPz1shV/pCmzMs5WZRuKB9aTGejqiUA70DKglM63b7iw64sOxoyM6SWtiIRxeqDY+BFd5/KtoEBqZzAhAczBs+dxDYmRO8ZpUj891Pk+SfsPsKQegAIiolFLIOdfBsgaNVYp+S/8fUfFEl0ku9xDj3eJzAf5WvlFaFT4OWuK7x2iftyILmS2CF2YGobAcng=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(23010399003)(376014)(36860700016)(82310400026)(1800799024)(11063799006)(18002099003)(22082099003)(56012099006)(13003099007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	RFsOZ6z5jtlIfrY/CTeia3YR23pTI8KLt9PyqKH0IS00zyX7Aj13LLTI6asJwfqbsELj7ZNn71Ba6dUmxYsWHcW3amMSVJ3E6r88CPckvEIvxP0FMFfCHMyEOHPrhDK86TGFSctM8cL5sDOCVyrPGdJpH9ZRF+2otld3YuVo5QmjAYK/zrrQ2ngJPSXn16/NR/KA21X702n+nDDIViEUhYVxd+yUvqzOg8aBpNy2NSwqrlqMTqcH83XFPjqbE1MzECwqkSf14JyIJPygfqw65Nr4/A/oBdFK/43oGNXvU/IBFQmLWWYIcUcCB0Goy5MLLL38FWJzYIgpbuDgSTqFrO9N7XvlzyVlNAlUeedkJb9bdooBK4MeUlKE1GzrcyeV7Fjc2t0N5xi1b8dhpJBBsB7i//rgoAei8lLqNX/oAw4WcN1MU/GQGEoG7IDLPP83
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 05:40:51.0212
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1f7a36ef-e641-4d72-2c22-08dec6b2d4da
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00005FFD.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB8487
X-purgate-ID: tlsNG-c201ff/1781070055-DAD6F443-F3BAE754/0/0
X-purgate-type: clean
X-purgate-size: 2525

Add support for the WCH (Nanjing Qinheng Microelectronics Co., Ltd.)
CH382 PCIe dual port serial adapter. The CH382 is available in two
variants:
 - CH382 2S   [1c00:3253]: 2 serial ports
 - CH382 2S1P [1c00:3250]: 2 serial ports + 1 parallel port

This chip uses IO BAR0, base baud rate 115200, ports starting at offset
0xc0 and spaced 8 bytes apart, and a 256-byte FIFO. [1]

[1] https://www.wch-ic.com/downloads/CH382DS1_PDF.html

Signed-off-by: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
Reviewed-by: Denis Mukhin <dmukhin@ford.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 xen/drivers/char/ns16550.c | 23 +++++++++++++++++++++++
 xen/include/xen/pci_ids.h  |  2 ++
 2 files changed, 25 insertions(+)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index ed4e29ec25..5a93685da4 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -95,6 +95,7 @@ struct ns16550_config {
         param_exar_xr17v354,
         param_exar_xr17v358,
         param_intel_lpss,
+        param_wch_ch382,
     } param;
 };
 
@@ -861,6 +862,16 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .mmio = true,
         .max_ports = 1,
     },
+    [param_wch_ch382] = {
+        .base_baud = 115200,
+        .first_offset = 0xc0,
+        .uart_offset = 8,
+        .reg_width = 1,
+        .fifo_size = 256,
+        .lsr_mask = UART_LSR_THRE,
+        .bar0 = true,
+        .max_ports = 2,
+    },
 };
 
 static const struct ns16550_config __initconst uart_config[] =
@@ -1189,6 +1200,18 @@ static const struct ns16550_config __initconst uart_config[] =
         .dev_id = 0x7adc,
         .param = param_intel_lpss
     },
+    /* WCH CH382 2S1P */
+    {
+        .vendor_id = PCI_VENDOR_ID_WCHIC,
+        .dev_id = 0x3250,
+        .param = param_wch_ch382
+    },
+    /* WCH CH382 2S */
+    {
+        .vendor_id = PCI_VENDOR_ID_WCHIC,
+        .dev_id = 0x3253,
+        .param = param_wch_ch382
+    },
 };
 
 static int __init
diff --git a/xen/include/xen/pci_ids.h b/xen/include/xen/pci_ids.h
index 5884a20b8f..15e938225c 100644
--- a/xen/include/xen/pci_ids.h
+++ b/xen/include/xen/pci_ids.h
@@ -13,6 +13,8 @@
 
 #define PCI_VENDOR_ID_BROADCOM           0x14e4
 
+#define PCI_VENDOR_ID_WCHIC              0x1c00
+
 #define PCI_VENDOR_ID_INTEL              0x8086
 
 #endif /* XEN_PCI_IDS_H */
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 05:45:16 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 05:45:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333945.1597045 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXBkY-0001Hp-T2; Wed, 10 Jun 2026 05:45:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333945.1597045; Wed, 10 Jun 2026 05: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 1wXBkY-0001Hi-QI; Wed, 10 Jun 2026 05:45:14 +0000
Received: by outflank-mailman (input) for mailman id 1333945;
 Wed, 10 Jun 2026 05:45:13 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Zhao.Jiaqing@amd.com>) id 1wXBkX-0001HT-O0
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 05:45:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXBkX-00FkEo-4V
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 07:45:13 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a28f9c4-bab6-0a2a0a5309dd-0a2a4506de24-44
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 07:45:12 +0200
Received: from [52.101.52.8]
 (helo=BL2PR02CU003.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Zhao.Jiaqing@amd.com>)
 id 6a28f9e7-7371-0a2a45060019-34653408db19-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 07:45:12 +0200
Received: from DSWPR12MB999151.namprd12.prod.outlook.com (2603:10b6:8:36b::21)
 by SA1PR12MB6872.namprd12.prod.outlook.com (2603:10b6:806:24c::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Wed, 10 Jun
 2026 05:45:07 +0000
Received: from DSWPR12MB999151.namprd12.prod.outlook.com
 ([fe80::1d57:8e0c:c16d:15e2]) by DSWPR12MB999151.namprd12.prod.outlook.com
 ([fe80::1d57:8e0c:c16d:15e2%6]) with mapi id 15.21.0092.007; Wed, 10 Jun 2026
 05:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=kUlzQjiyS6BtfycrHD1/XJw2IzDJA0ClUe1b6z00FLNVUWQO77bKOxPSCnxwDIOBZxDhyFal7ollmUvsYjO00BM8Hcv1zHYCTSnORYC4hZHoJltkxwI7nAZF06XbOtth8OQkU1NlqLUQ4xQngZX8yAPwD16wsTgPBtfAEU+XXsx3RGem5MgWvu3u9pnBSOFR2yUwXN0bZWFjjJwiXE+CQv43yHBXDu0Q5KrYTOq0LMH5Tf+9TCNsWbyXdry+DC+CpIHClyOkg2oNYQs9WBYHyQ5NFFiE+lHONFvC9FAzeBDRGVaLxjVqjxJZ1pasbxjnxNH0XstLnZYPJJklZOb+2Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/88MLSk8k51BOoLeV7E3T7rLWEmS6HwaqlDk2upVJEM=;
 b=u62FhFkoLarrUrSfZ82bGsLvTSxStjCsFjjTdUryUTzw4V1y+AzQYN/D+5KTsuMAXVfZaPnk8XNO12ZVek/Jbi74dQZzFmnb+CDJ+Ulv+iGyOrleqBZy/Xq9xxgBn9iuYNS0+TxLMrd+LjOQYvZLfWp6KQZVbIy9jTLavz9hhalxj7T8z8g0jIja0bo2vS2F14JKblDtHFLRj5Pd1R+IvdAoRaI/Sh0FinDcvlho4hjW5bzK1crcLnpx7xCJ3AB1IhiipSJ7R8WpCh//CveFcJGIZb7H+1gO1yQKI8XosB9t6cPYcdlJNNXZIDzujgNgkq+Ra491U9i1cgH9r7Q8ag==
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=/88MLSk8k51BOoLeV7E3T7rLWEmS6HwaqlDk2upVJEM=;
 b=OoQ/KkcKZCedoPudRaEzw4HpHn0hZv8zDnJJySjkJGk9nhppd9kx9JgpatXM03FhkNMhKV+cAXb2/j63ee3er5Bti9exOwC/ZmTJu5MK1HeNy2wg++ZUHr7jMkbpdo6ntRzNpiJrMEIhJLrHTHAneRZ50o6eLrlF107g4/ISE1I=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <8fb0441d-a75e-4457-812b-7f8c61dc4e97@amd.com>
Date: Wed, 10 Jun 2026 13:44:59 +0800
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 0/2] ns16550: add support for WCH CH382 and ASIX
 AX99100
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>, Julien Grall <julien@xen.org>,
 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: <20260602053421.773149-1-Zhao.Jiaqing@amd.com>
 <ced10c25-2970-4ba3-96fd-3bc5df4c4797@suse.com>
Content-Language: en-US
From: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
In-Reply-To: <ced10c25-2970-4ba3-96fd-3bc5df4c4797@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: TPYP295CA0020.TWNP295.PROD.OUTLOOK.COM
 (2603:1096:7d0:a::10) To DSWPR12MB999151.namprd12.prod.outlook.com
 (2603:10b6:8:36b::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DSWPR12MB999151:EE_|SA1PR12MB6872:EE_
X-MS-Office365-Filtering-Correlation-Id: 7a9160c4-f0f7-4ea3-8cde-08dec6b36d52
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|23010399003|376014|1800799024|11063799006|4143699003|56012099006|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	FVnrp7ehmI9rwNyrZ5k/FCzuZJ5sXiA9Hgui5r6m5PSop0162xhZKOdn0XLnpIkyJUR8Xl+Oo+Jl0reus9oVQwiR5Qq4d1at3sG8DcouBkcFTLqH4FmcwqxvVEx8W9sW894dgkSLJcj/LVJQoL5cxezOCBXJ5Q2l9MHvALpAUp3CUjqimi+Lgi9o7c69iP40quHIPH0OIj9DgZgSAFEsFat6HVVirKYQffeJggxcQae8lcfwpoFbkLHYZDO5PsawoChil7zZJbEgSxkDKCPQm9mQYOaQE62T9A5XUKp+FFOQQr3hxvZ0PEr3rnekKSI44CS6qdHLOE1UNUIOj+ueNRumXeDwp9A5dq1rjnCcA99gqRLXXEP2pAif5Kb2mQBTSH+/CUppiCI/VyJPDegU5XAWtzo0eDNGc56trmNdRs4erVMBEEJmxvYPQU/avWVlkXYWaNT7Jitd9YfQzlsV/RSg+aBMPA5S3zfrzoD6kQdde/KizsTDWNEMv0UbQNzSudRUmaI+aAieS3ASvy+bv53kxtv5znh9AYl86M6BKOx9dmBSp84ZR/6wDjws9o65Lns8EmvMabowF4p0/+CL9nr3IklCK89sSDm7QJCdbJlg6cnJRX5d8OHlY5y+xkXfQfPdbAJbuHkWSEuTVqrDPVvE/FDuz6SIVMviAazfuEB9jPYqm61MU6Nu5M2SE2xg
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DSWPR12MB999151.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(376014)(1800799024)(11063799006)(4143699003)(56012099006)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YmxudW52U2dhd3l3N1BFV2tQNWVBUzMxNGhPejFwdUFnTGFrTmZEMDdkUWNZ?=
 =?utf-8?B?ZGh6S1FJTmVBQ2JDcTl4dm50a3V3UHUvWjllNVl4WDBMZ0FRYmZVc1k3eXhN?=
 =?utf-8?B?UlFQWnNTM1lieUNtUzNRZStranFGcFp1TnJHUUNCS1l1Qi9HSGxLcDJzUkYy?=
 =?utf-8?B?ajc2MVYrYkhvQ3RuWG9kUWx5dG9RTEo0d2FtYjlOSEJVeTYzM1B3VC8zQzVp?=
 =?utf-8?B?c25PQ1YyNmdUWDEyZk41bTY5UTdwS00zZnNJT0xxbHpvZDkxYTdmeGpqbVRZ?=
 =?utf-8?B?VFQzTDdabWd4L2JuSW9aSDlIazN6ZW1NcEVMdTdkWGwrRnBFQmkwNEVKNjA4?=
 =?utf-8?B?aW02MldYa0l4RmJmTktmWFdPZ0F3UEh4Vng2ZThOWDR5dFE2NDBJOElNQmdz?=
 =?utf-8?B?ZmZQNmJ4OFB4bXMzUEdwUFVEUEVjdUFkdVltOWRxZGFPZFRDdk45M3VqbG80?=
 =?utf-8?B?dmJmRk9PSW9FUGlCWWJ4b1hnRlVNdm5lcDVwZ1pLVHc4emtQYURHYzdlSndD?=
 =?utf-8?B?eW1tVVkxKyt3UG5LcWtJL3pwZUx5V3praklZMWtRK1ZRUXFnMys2ZEJ6ZXAv?=
 =?utf-8?B?RWx6MjZuUW5VZm9lL1lJb2RKSTBZazVGUXBhazNmRTBtWGdOZTFGQnYwcm80?=
 =?utf-8?B?YmZJZkJkOGRMSFFKcDRQZEdtalkvTmxHTmlURXFYNEpOUXp0cHhCa2VmbkRS?=
 =?utf-8?B?WVE5b3huN3hFRFRiZ2sxZXg2WE1Sb01DUittN0ZIVW5aNTJKRTkyZWpjemJi?=
 =?utf-8?B?M3d3MkIvVHd0K1JwV1VRMENmNzZPUTFSSmhYK2IyaEdoSVl5Nm5PV3F2b1hT?=
 =?utf-8?B?a2tkRmdlZmlQSCswK0UvVWpGQ1gzMTNRL0tCakNIMDZ1OEl5aUhscG5tYUZo?=
 =?utf-8?B?R2ZFMkxOYlFKeWNPdWZhd2Z2cTZhOE9hQXhDbW02aVZSdHh3Sk9QVGc0UmRv?=
 =?utf-8?B?YkpyTENxZGdLZWRpelAyWXNZaS9pQ0JGcGVRTExmWVZ6YkhCdVRuU2poZFFZ?=
 =?utf-8?B?c0RBc0QyeXVJZS9JTmxzOE42b0pmU0lLZVI1RlEwOWxyOGR5d2pmVEg3ZXZt?=
 =?utf-8?B?djFMak1iTDRMRW1US1EveWhYRGNBaXc4MWs0T2VlOCtnM2ZCOGgrMUw5WS9n?=
 =?utf-8?B?VDF3MlhOTlZSUlhmbXFQZEJ0NEt6OEgrZWlvOEVaMnd4Vm12ZURIQUltT1ox?=
 =?utf-8?B?SW1MNUNjNVVTcVpoSFRhN1d2RStYT0toMWdZSUxjb3hqWnFrejRoSzk2Z0k5?=
 =?utf-8?B?ZkM5YjV4N0dEUE95c1pNWk9VaUlwTTlyOE1qZllKTmZQNUZwa3VOSUh6Ukth?=
 =?utf-8?B?bU51cWZhU3U2U0dwLzBYOWM0U3g2VnJGYms5N2NPdHRaNHRSaVA1Sk4rQXRi?=
 =?utf-8?B?cnAzUk1MY0ZDOC85bTdVK3ZtQ1RMZUN1ajVBaXlra2dmNmNUeFFBQUhlSTY3?=
 =?utf-8?B?K3Q3MVg3T2xQUFQ4a25xQUJXT1ExdTA3M2pDUk9oTkh6clVFeDhWNTEzelov?=
 =?utf-8?B?N3ZQTU8vTlkzOVdSa1dwS1UycGxVb3ZlSnl6T0d5UjliQXNYWk9yQTdpQTFQ?=
 =?utf-8?B?dlBSUUIvT2hVbkpNQkpCb09nWG1SWmFRYWwvMVgycGZqU0ZVN3UzMktvVlN3?=
 =?utf-8?B?dnRhS0lLNm5BMVBpZDdmMWtKaVNadmxFZXh1UWg4NE14WnVQR1RZR3JxcW50?=
 =?utf-8?B?cjBObE4rNWZXVmpYNXRoRUo5TFVqWXdyOTk4a3owWTZTTVU4a3dhYVVWZkJ2?=
 =?utf-8?B?T0xHaDA1anNrOGJCanhmQmN1UzJaMjc0T0tuOUhwSE12ZTFCa2ZqbUcyNFJM?=
 =?utf-8?B?MHFIeEFZNks5Qzh4dHlsNkU1ZDdDNUZkT3c3VEpJTkliNTJyQ0ZYVXZOVDRR?=
 =?utf-8?B?bllOWlNUeGpSVDJiSm5jd1liTGFBL014aEsvTkExYTJqd1RTS3BqMWpqRE40?=
 =?utf-8?B?QWVHZG9zNEdIVHE2NlNwZ0pST3hmRVlhV1EvT3R4ZG1QTWtrNHNEZCtOQ2lS?=
 =?utf-8?B?ZnQxTUFwdHloQjJWUWJPVERkZnJTb1VPVjVuSHNybnZrcUpJK3c2d2x3Q0Rz?=
 =?utf-8?B?cG11WUtJZVczZ3lxYnBIay9yeWhjbkpiN2dlRjhtdTViQlh1Yi9OcGhsYmxs?=
 =?utf-8?B?bTlmTGpTUEhuQ3pWUFJjNFZhR1F6b1J5RW1UbzlpejNsNVZjTVcvMCtzZHVt?=
 =?utf-8?B?N21WS3BRZWxXTEFQam9ZdVYzRzQ2TmVtWVVWRmdiZExxVjgrN3FoNWVUcEFB?=
 =?utf-8?B?ODJNbEY0bUU5S3hWR1k0NWJ1QjhmZ2FIN1VUZWIwZTIvdDVyY2ttSWlMSkh5?=
 =?utf-8?B?Nm04UGFqNFVsVk1qWlJHbk10anczQ25DK0s4U2o3WGI0Q0lIcEJtdz09?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7a9160c4-f0f7-4ea3-8cde-08dec6b36d52
X-MS-Exchange-CrossTenant-AuthSource: DSWPR12MB999151.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 05:45:07.1457
 (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: x/QQaC5D+oRXdnAEEUUu6Q/wBLLet7bzUWhaFcAMsH1cD4t2dKc+EprijcAUpnX6Y3ub0zw/lr3eJT6k2P5cwA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6872
X-purgate-ID: tlsNG-16d1c6/1781070312-8556ED75-5D2E8F4F/0/0
X-purgate-type: clean
X-purgate-size: 1056

Sorry I missed this mail. Please ignore my latest v6...

On 2026-06-02 18:15, Jan Beulich wrote:
> [You don't often get email from jbeulich@suse.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
> 
> On 02.06.2026 07:34, Jiaqing Zhao wrote:
>> This series adds ns16550 support for two PCIe serial adapters found on
>> market:
>>
>>  - WCH (Nanjing Qinheng Microelectronics) CH382, available as
>>    CH382 2S [1c00:3253] and CH382 2S1P [1c00:3250].
>>  - ASIX AX99100 PCIe to Multi-I/O Controller [125b:9910].
>>
>> Both chips expose 16550-compatible UARTs through PCI I/O BAR0 and
>> work with the existing ns16550 driver once a matching device table
>> entry and parameter set are added.
>>
>> v4:
>>  - Add Reviewed-by from Stefano.
> 
> There's no need to re-submit just for this. Mail volume is already high
> enough. The fact that this wasn't merged yet doesn't indicate any need
> to re-submit: This series simply needs to wait until the tree re-opens
> for the 4.23 dev cycle.
> 
> Jan



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 06:09:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 06:09:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333955.1597055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXC7r-0005xI-R5; Wed, 10 Jun 2026 06:09:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333955.1597055; Wed, 10 Jun 2026 06:09: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 1wXC7r-0005xB-OP; Wed, 10 Jun 2026 06:09:19 +0000
Received: by outflank-mailman (input) for mailman id 1333955;
 Wed, 10 Jun 2026 06:00:05 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <hare@suse.com>) id 1wXByv-0004OL-2v
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 06:00:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXByr-00FnDB-NC
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 08:00:01 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <hare@suse.com>)
 id 6a28fd5c-5cb7-0a2a0a5109dd-0a2a450ce3a2-14
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 08:00:01 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <hare@suse.com>)
 id 6a28fd61-62f1-0a2a450c0019-d1558031e103-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 08:00:01 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490b211ee6aso48962635e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 23:00:01 -0700 (PDT)
Received: from ?IPV6:2001:a62:1439:d001:a0af:1164:c6fd:8c51?
 ([2001:a62:1439:d001:a0af:1164:c6fd:8c51])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f35eae5sm69552212f8f.33.2026.06.09.22.59.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 09 Jun 2026 23:00:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781071201; x=1781676001; 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=0eeq4qUemue69ATVH9Hc0G+s1EX6SM4VcPKiJpjYoUk=;
        b=Oq6Yi9gYxam7qKXUF86+rujHGMTrb9lHIeFEW3HfYurcNcdAlshBSf5G1N86J6auNb
         ywDj34ftw3rtT+g+RlUgD8j/OzUugwb34V14gbLiu9h5u9FaY3YCxo7P0tHjsT5WN69L
         p/9tRN/9iK8gWyD+L9/G6PtS/14okO/jS0cwzioj2saNEgolTFsuOTxzx7Q+blTgn1IB
         La/zaKivanePNBC/g4/IcUv2Xq/9phZ+g7NtZZ1PnPerIqz/3WjrR1ps3TKzEiC3rinq
         Sk3m3rnYPNIxZsvybstmyoKnjV0mwA239hyEOJ+adN/k+osJZOKYsikhraDGE0hYSIiQ
         YaZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781071201; x=1781676001;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=0eeq4qUemue69ATVH9Hc0G+s1EX6SM4VcPKiJpjYoUk=;
        b=NYjl3ZwoGs45Sqtk8P5lJTTiTBL46/ZOCnhfEQKHyPf6xNAqXYLNJ9sQ8/JndWiWNh
         7NF70EAkpHV1/n0mzNwrhIiQQpPPUjdfJlkutEtCybiSOwpTTyE9X5XeU0jF7c84kMOo
         B88jKcdmCDrEY9yKIlt1nNkIpYLamXL3HqUXPuj+dazplIg//sXEc3UDoWyzRhwJiK6f
         APKRtv6T8x9dHXRLBt1X34WuNH//g3eaKHcUAUnwe90Ln0dXr82Un6knDXuWaiyWwv2e
         QerTV7ljJw9Yaw9NDTk7Z7ERZRFhteUayiev3ST2tDTpvc3Mqyl9456hSc3V4qqYZI3P
         cx6w==
X-Forwarded-Encrypted: i=1; AFNElJ8gtM/DR9oQ0yTnZtU4weFNXk9PMXCMtTB49+f96wD8KBBLcI6FejeqI7i4DMdzrhRBtBP+yVndmhw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwyweW5xx/mysOf2GHEgXXp2enYiEx+tBe5r6V65IRr/1j9tZ6y
	6U3B8LTZXWFf/8SHyKDGW+9xsD3dU5Z151heiYYXIMopgrtvjH+fNTCl1mZaMAG2pIM=
X-Gm-Gg: Acq92OG6DepFoAxxNBg6hJWdciaox8RSrKESazb4BYRiH7tKivwCGFXA9INPcqrBk3g
	Md9FuGvMTtwmIg9ounN19BweOx9tScc25Q7EDUDgKGZqabxKK4gF1HhyheK8vZku9J0SHEZqG0N
	bJqSL25NjbKYnQnUraU8uzOqo1w++V4VhqoN3l2UhAf6UrubSKoq4dFFVjWTY1ZRDfTMQK9SNLk
	WRqKYqp0ZL1Bzb2np6u6FANc0Dqotkabhz2Y8DbDd+vMmuUpURJ5MaCZ/GQwIgBkFSTCPvBRAyv
	R+Rh37FnAHWsYlIv4Qi8Wh3qVqoEv/EVCEMRF7WQHxCJmRlusSgl22ISJHp1YD+ovBJfTrpTFw7
	XGU8D87WA1E/twLTLjtWByRJm+asE1E8RtXrWbsRHK6BUQ+yzyka/uU0z215R1oBUBvqJLythM7
	IxAMAp1ixujwOrZtTP+re0sg52dcsCfqpZjYSCMV/s14keKDsoPpe/hd+iGpsiM2H2iU3quS0=
X-Received: by 2002:a05:600c:8285:b0:490:abef:dae6 with SMTP id 5b1f17b1804b1-490c25b09bcmr392960895e9.19.1781071200857;
        Tue, 09 Jun 2026 23:00:00 -0700 (PDT)
Message-ID: <e2a61373-0c27-41c3-b0ca-836a4727a3b5@suse.com>
Date: Wed, 10 Jun 2026 07:59:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/4] scsi: host: allocate struct Scsi_Host on the NUMA
 node of the host adapter
To: Sumit Saxena <sumit.saxena@broadcom.com>,
 "Martin K . Petersen" <martin.petersen@oracle.com>,
 Jens Axboe <axboe@kernel.dk>
Cc: "James E . J . Bottomley" <James.Bottomley@HansenPartnership.com>,
 linux-scsi@vger.kernel.org, linux-block@vger.kernel.org,
 Adam Radford <aradford@gmail.com>, Khalid Aziz <khalid@gonehiking.org>,
 Adaptec OEM Raid Solutions <aacraid@microsemi.com>,
 Matthew Wilcox <willy@infradead.org>, "Juergen E . Fischer"
 <fischer@norbit.de>, Russell King <linux@armlinux.org.uk>,
 linux-arm-kernel@lists.infradead.org, Finn Thain <fthain@linux-m68k.org>,
 Michael Schmitz <schmitzmic@gmail.com>,
 Anil Gurumurthy <anil.gurumurthy@qlogic.com>,
 Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>,
 Oliver Neukum <oliver@neukum.org>, Ali Akcaagac <aliakc@web.de>,
 Jamie Lenehan <lenehan@twibble.org>, Ram Vegesna <ram.vegesna@broadcom.com>,
 target-devel@vger.kernel.org, Bradley Grove <linuxdrivers@attotech.com>,
 Satish Kharat <satishkh@cisco.com>, Sesidhar Baddela <sebaddel@cisco.com>,
 Karan Tilak Kumar <kartilak@cisco.com>, Yihang Li
 <liyihang9@h-partners.com>, Don Brace <don.brace@microchip.com>,
 storagedev@microchip.com, HighPoint Linux Team <linux@highpoint-tech.com>,
 Tyrel Datwyler <tyreld@linux.ibm.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <chleroy@kernel.org>, linuxppc-dev@lists.ozlabs.org,
 Brian King <brking@us.ibm.com>, Lee Duncan <lduncan@suse.com>,
 Chris Leech <cleech@redhat.com>, Mike Christie
 <michael.christie@oracle.com>, open-iscsi@googlegroups.com,
 Justin Tee <justin.tee@broadcom.com>, Paul Ely <paul.ely@broadcom.com>,
 Kashyap Desai <kashyap.desai@broadcom.com>,
 Shivasharan S <shivasharan.srikanteshwara@broadcom.com>,
 Chandrakanth Patil <chandrakanth.patil@broadcom.com>,
 megaraidlinux.pdl@broadcom.com,
 Sathya Prakash Veerichetty <sathya.prakash@broadcom.com>,
 Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
 mpi3mr-linuxdrv.pdl@broadcom.com,
 Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
 Ranjan Kumar <ranjan.kumar@broadcom.com>, MPT-FusionLinux.pdl@broadcom.com,
 Daniel Palmer <daniel@thingy.jp>, GOTO Masanori <gotom@debian.or.jp>,
 YOKOTA Hiroshi <yokota@netlab.is.tsukuba.ac.jp>,
 Jack Wang <jinpu.wang@cloud.ionos.com>, Geoff Levand <geoff@infradead.org>,
 Michael Reed <mdr@sgi.com>, Nilesh Javali <njavali@marvell.com>,
 GR-QLogic-Storage-Upstream@marvell.com, Narsimhulu Musini
 <nmusini@cisco.com>, "K . Y . Srinivasan" <kys@microsoft.com>,
 Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>,
 Dexuan Cui <decui@microsoft.com>, Long Li <longli@microsoft.com>,
 linux-hyperv@vger.kernel.org, "Michael S . Tsirkin" <mst@redhat.com>,
 Jason Wang <jasowang@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 Stefan Hajnoczi <stefanha@redhat.com>, Eugenio Perez <eperezma@redhat.com>,
 virtualization@lists.linux.dev, Vishal Bhakta <vishal.bhakta@broadcom.com>,
 bcm-kernel-feedback-list@broadcom.com, Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, John Garry <john.g.garry@oracle.com>
References: <20260609121806.2121755-1-sumit.saxena@broadcom.com>
 <20260609121806.2121755-3-sumit.saxena@broadcom.com>
Content-Language: en-US
From: Hannes Reinecke <hare@suse.com>
In-Reply-To: <20260609121806.2121755-3-sumit.saxena@broadcom.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1781071201-E2577CF5-CC3E1A74/0/0
X-purgate-type: clean
X-purgate-size: 7035

On 6/9/26 14:18, Sumit Saxena wrote:
> scsi_host_alloc() used kzalloc(), which always picks an arbitrary node.
> Extend the function to accept a 'struct device *dev' parameter and use
> kzalloc_node() with dev_to_node(dev) so the Scsi_Host struct lands on
> the same NUMA node as the HBA, mirroring the treatment already applied
> to struct scsi_device, struct scsi_target, and shost_data.
> 
> When dev is NULL (legacy ISA/platform drivers without a dma_dev) the
> allocation falls back to NUMA_NO_NODE, preserving existing behaviour.
> 
> Update all in-tree callers:
>    - PCI-based HBA drivers pass &pdev->dev (or the equivalent struct
>      member such as &phba->pcidev->dev, &h->pdev->dev, &ha->pdev->dev)
>      so their host struct is placed on the adapter's node.
>    - Non-PCI drivers (ISA, Amiga, ARM PCMCIA, virtio, Hyper-V, PS3, â€¦)
>      pass NULL.
>    - libfc's libfc_host_alloc() inline helper passes NULL; FC drivers
>      that want NUMA awareness can open-code the call with their pdev.
> 
> Suggested-by: John Garry <john.g.garry@oracle.com>
> Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>
> ---
>   drivers/scsi/3w-9xxx.c                    | 2 +-
>   drivers/scsi/3w-sas.c                     | 2 +-
>   drivers/scsi/3w-xxxx.c                    | 2 +-
>   drivers/scsi/53c700.c                     | 2 +-
>   drivers/scsi/BusLogic.c                   | 2 +-
>   drivers/scsi/a100u2w.c                    | 2 +-
>   drivers/scsi/a2091.c                      | 2 +-
>   drivers/scsi/a3000.c                      | 2 +-
>   drivers/scsi/aacraid/linit.c              | 2 +-
>   drivers/scsi/advansys.c                   | 6 +++---
>   drivers/scsi/aha152x.c                    | 2 +-
>   drivers/scsi/aha1542.c                    | 2 +-
>   drivers/scsi/aha1740.c                    | 2 +-
>   drivers/scsi/aic7xxx/aic79xx_osm.c        | 2 +-
>   drivers/scsi/aic7xxx/aic7xxx_osm.c        | 2 +-
>   drivers/scsi/aic94xx/aic94xx_init.c       | 2 +-
>   drivers/scsi/am53c974.c                   | 2 +-
>   drivers/scsi/arcmsr/arcmsr_hba.c          | 3 ++-
>   drivers/scsi/arm/acornscsi.c              | 2 +-
>   drivers/scsi/arm/arxescsi.c               | 2 +-
>   drivers/scsi/arm/cumana_1.c               | 2 +-
>   drivers/scsi/arm/cumana_2.c               | 2 +-
>   drivers/scsi/arm/eesox.c                  | 2 +-
>   drivers/scsi/arm/oak.c                    | 2 +-
>   drivers/scsi/arm/powertec.c               | 2 +-
>   drivers/scsi/atari_scsi.c                 | 2 +-
>   drivers/scsi/atp870u.c                    | 2 +-
>   drivers/scsi/bfa/bfad_im.c                | 2 +-
>   drivers/scsi/csiostor/csio_init.c         | 4 ++--
>   drivers/scsi/dc395x.c                     | 2 +-
>   drivers/scsi/dmx3191d.c                   | 2 +-
>   drivers/scsi/elx/efct/efct_xport.c        | 4 ++--
>   drivers/scsi/esas2r/esas2r_main.c         | 2 +-
>   drivers/scsi/fdomain.c                    | 2 +-
>   drivers/scsi/fnic/fnic_main.c             | 2 +-
>   drivers/scsi/g_NCR5380.c                  | 2 +-
>   drivers/scsi/gvp11.c                      | 2 +-
>   drivers/scsi/hisi_sas/hisi_sas_main.c     | 2 +-
>   drivers/scsi/hisi_sas/hisi_sas_v3_hw.c    | 2 +-
>   drivers/scsi/hosts.c                      | 6 ++++--
>   drivers/scsi/hpsa.c                       | 2 +-
>   drivers/scsi/hptiop.c                     | 2 +-
>   drivers/scsi/ibmvscsi/ibmvfc.c            | 2 +-
>   drivers/scsi/ibmvscsi/ibmvscsi.c          | 2 +-
>   drivers/scsi/imm.c                        | 2 +-
>   drivers/scsi/initio.c                     | 2 +-
>   drivers/scsi/ipr.c                        | 2 +-
>   drivers/scsi/ips.c                        | 2 +-
>   drivers/scsi/isci/init.c                  | 2 +-
>   drivers/scsi/jazz_esp.c                   | 2 +-
>   drivers/scsi/libiscsi.c                   | 2 +-
>   drivers/scsi/lpfc/lpfc_init.c             | 2 +-
>   drivers/scsi/mac53c94.c                   | 2 +-
>   drivers/scsi/mac_esp.c                    | 2 +-
>   drivers/scsi/mac_scsi.c                   | 2 +-
>   drivers/scsi/megaraid.c                   | 2 +-
>   drivers/scsi/megaraid/megaraid_mbox.c     | 2 +-
>   drivers/scsi/megaraid/megaraid_sas_base.c | 2 +-
>   drivers/scsi/mesh.c                       | 2 +-
>   drivers/scsi/mpi3mr/mpi3mr_os.c           | 2 +-
>   drivers/scsi/mpt3sas/mpt3sas_scsih.c      | 4 ++--
>   drivers/scsi/mvme147.c                    | 2 +-
>   drivers/scsi/mvsas/mv_init.c              | 2 +-
>   drivers/scsi/mvumi.c                      | 2 +-
>   drivers/scsi/myrb.c                       | 2 +-
>   drivers/scsi/myrs.c                       | 2 +-
>   drivers/scsi/ncr53c8xx.c                  | 2 +-
>   drivers/scsi/nsp32.c                      | 2 +-
>   drivers/scsi/pcmcia/nsp_cs.c              | 2 +-
>   drivers/scsi/pcmcia/qlogic_stub.c         | 2 +-
>   drivers/scsi/pcmcia/sym53c500_cs.c        | 2 +-
>   drivers/scsi/pm8001/pm8001_init.c         | 2 +-
>   drivers/scsi/pmcraid.c                    | 2 +-
>   drivers/scsi/ppa.c                        | 2 +-
>   drivers/scsi/ps3rom.c                     | 2 +-
>   drivers/scsi/qla1280.c                    | 2 +-
>   drivers/scsi/qla2xxx/qla_mid.c            | 2 +-
>   drivers/scsi/qla2xxx/qla_os.c             | 2 +-
>   drivers/scsi/qlogicfas.c                  | 2 +-
>   drivers/scsi/qlogicpti.c                  | 2 +-
>   drivers/scsi/scsi_debug.c                 | 2 +-
>   drivers/scsi/sgiwd93.c                    | 2 +-
>   drivers/scsi/smartpqi/smartpqi_init.c     | 2 +-
>   drivers/scsi/snic/snic_main.c             | 2 +-
>   drivers/scsi/stex.c                       | 2 +-
>   drivers/scsi/storvsc_drv.c                | 2 +-
>   drivers/scsi/sun3_scsi.c                  | 2 +-
>   drivers/scsi/sun3x_esp.c                  | 2 +-
>   drivers/scsi/sun_esp.c                    | 2 +-
>   drivers/scsi/sym53c8xx_2/sym_glue.c       | 2 +-
>   drivers/scsi/virtio_scsi.c                | 2 +-
>   drivers/scsi/vmw_pvscsi.c                 | 2 +-
>   drivers/scsi/wd719x.c                     | 2 +-
>   drivers/scsi/xen-scsifront.c              | 2 +-
>   drivers/scsi/zorro_esp.c                  | 2 +-
>   include/scsi/libfc.h                      | 2 +-
>   include/scsi/scsi_host.h                  | 3 ++-
>   97 files changed, 107 insertions(+), 103 deletions(-)
> 
Quite a lot of churn for such a (relatively) simple change.

I think it might be better to introduce a new function
(scsi_host_alloc_node() ?) with the additional parameter,
and make scsi_host_alloc() a wrapper around that.

That will reduce the size of this patch immensely.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke                  Kernel Storage Architect
hare@suse.com                               +49 911 74053 688
SUSE Software Solutions GmbH, Frankenstr. 146, 90461 NÃ¼rnberg
HRB 36809 (AG NÃ¼rnberg), GF: I. Totev, A. McDonald, W. Knoblich


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 06:09:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 06:09:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333957.1597061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXC7s-00060e-5A; Wed, 10 Jun 2026 06:09:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333957.1597061; Wed, 10 Jun 2026 06:09:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXC7s-0005zf-01; Wed, 10 Jun 2026 06:09:20 +0000
Received: by outflank-mailman (input) for mailman id 1333957;
 Wed, 10 Jun 2026 06:00:39 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <hare@suse.com>) id 1wXBzT-0005Cs-Ia
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 06:00:39 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXBzS-000ueM-Sy
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 08:00:38 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <hare@suse.com>)
 id 6a28fd85-5cb7-0a2a0a5109dd-0a2a450aa5f4-12
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 08:00:38 +0200
Received: from [209.85.208.170] (helo=mail-lj1-f170.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <hare@suse.com>)
 id 6a28fd86-56b3-0a2a450a0019-d155d0aaa435-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 08:00:38 +0200
Received: by mail-lj1-f170.google.com with SMTP id
 38308e7fff4ca-39661f81eacso68364981fa.0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Jun 2026 23:00:38 -0700 (PDT)
Received: from ?IPV6:2001:a62:1439:d001:a0af:1164:c6fd:8c51?
 ([2001:a62:1439:d001:a0af:1164:c6fd:8c51])
 by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-396abd6cbe6sm59530741fa.0.2026.06.09.23.00.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 09 Jun 2026 23:00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781071238; x=1781676038; 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=gj0YYK+8W8BmuuGLUjKiEFrVEApz47d5/8fZSNVUxGs=;
        b=V64w48G4Four1YxLdefZcBC9ep8pnNcHhB+7DejBF1QBV4hbkYAummz+1qAqD5C5aE
         kRxABoDcyYCzkafScNyfnI/+wWhc1x54NEqUIEeTcaJCl9BGDMBufZqdOOVO4GifMfYT
         2CDhspYEkSywZD4RP6I6TzY4b/bcs3JpCqdAK7CRqCC+HV2BRpiOQSECJ9FI/nUD3GBU
         Xz32oOPrHhYme5eVQR9u+8CR/Gnh9cciEv3REAAv7cbySXBt5FJNSBiHb8qBkykeYg3X
         gNbCX9Oif/vX8w+sSNzwav/U8IJ1RiRPOrRVU6M2vTsgNuAX9SLU9ELLYO7Kw4r0yTys
         xCVA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781071238; x=1781676038;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=gj0YYK+8W8BmuuGLUjKiEFrVEApz47d5/8fZSNVUxGs=;
        b=JEEUvMV3CZ+QrVRwo+726alA9SSi6CQKMrenid+NguFUBpMkW0A25eKIYLnuf/gX4n
         GVU60oB089uvVc9P0UBf4rzKnaeWRgGj5+hB/SEBXzCFZXZmEhDeawYmFU/stkZUaGp3
         wKtOuTTnzPIeCaLyazECF/iVoFmzREasSXL3th1WTcLeNrxbvOCbeLV+tHKWnNUfJUpL
         nXxNIdnUapBez5R8zvOKEhE0KPFsye2IdXNM2v9WQFDP5eF8ljKXmy7d0RmueMhx9B/X
         7g4gE7MdlYEEuqilKcTMXbPB9ribHutBzvRCI+7GK/Fl8mx7zo1vPgpRcKGNQObzp9KJ
         suhg==
X-Forwarded-Encrypted: i=1; AFNElJ/vKn0OtzqOsInlLqbp9Sb45qErDM/J7Hi5ipQ1WzZHx4OYlr3VU6OxmVCDHlwpAmxg3iozBYcN8VI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzVg4M+BKoiit2ykoq4MxNPdQMI7P79DoUYU9LR9LypdTDJSGPc
	udnwWuMZdzmQNxEcmjRBCMzsdUFLT6hmUk6PBUBeIsSFUDnyf0vBpW2stRioRj/EaXY=
X-Gm-Gg: Acq92OHPwzFTKGWSsARKYuDYf015KmVOEF98WAknOTqLPVtL2Ty5dTmhrosnNxyyX2j
	UGBfSJKoEgM46sHbZJH+y74kO5Jsemdb8SHurKw84peSUudOokjoDZ0p77l58CtQBGF/oF0ZB2R
	B2wNQbyTSOEuMvCM+MQMj7GIV8SAUw72VMVDoEDK2KY0BEBLNDqJPfu0dk4snT/pQzFj24E9am6
	mZvuPOq/KpmV/lPWYmB0S2OnA2dY0FD7C3rzPZ2WiQVvLcV50JpS6ZBzqjd/xwQTAEy7wmj0cac
	9aLifrIJfJTUP91fIXP56BquA4wX1NE/JeaLdyN8HwQpO7QGexkylBmCGXWHwUYEzKoEyArEs+/
	AFys3miHCjQHueMCoJvelL5b19tdXP0VMKLmHc6l3bdjf6ZSOl6fPahlBJIrvfbK3u0W85EDT/Q
	/I2yNHPABMxvneLTtgSnj5cjKr3NBItahv+qUef8IrXe0/XQY+lDUZZp+mIE88Y0uWnC/mzro=
X-Received: by 2002:a2e:b8cd:0:b0:396:a647:76f5 with SMTP id 38308e7fff4ca-396d285f55dmr58137321fa.5.1781071237888;
        Tue, 09 Jun 2026 23:00:37 -0700 (PDT)
Message-ID: <21746ee7-cff3-4db8-959d-dd693389492d@suse.com>
Date: Wed, 10 Jun 2026 08:00:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/4] scsi: scan: allocate sdev and starget on the NUMA
 node of the host adapter
To: Sumit Saxena <sumit.saxena@broadcom.com>,
 "Martin K . Petersen" <martin.petersen@oracle.com>,
 Jens Axboe <axboe@kernel.dk>
Cc: "James E . J . Bottomley" <James.Bottomley@HansenPartnership.com>,
 linux-scsi@vger.kernel.org, linux-block@vger.kernel.org,
 Adam Radford <aradford@gmail.com>, Khalid Aziz <khalid@gonehiking.org>,
 Adaptec OEM Raid Solutions <aacraid@microsemi.com>,
 Matthew Wilcox <willy@infradead.org>, "Juergen E . Fischer"
 <fischer@norbit.de>, Russell King <linux@armlinux.org.uk>,
 linux-arm-kernel@lists.infradead.org, Finn Thain <fthain@linux-m68k.org>,
 Michael Schmitz <schmitzmic@gmail.com>,
 Anil Gurumurthy <anil.gurumurthy@qlogic.com>,
 Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>,
 Oliver Neukum <oliver@neukum.org>, Ali Akcaagac <aliakc@web.de>,
 Jamie Lenehan <lenehan@twibble.org>, Ram Vegesna <ram.vegesna@broadcom.com>,
 target-devel@vger.kernel.org, Bradley Grove <linuxdrivers@attotech.com>,
 Satish Kharat <satishkh@cisco.com>, Sesidhar Baddela <sebaddel@cisco.com>,
 Karan Tilak Kumar <kartilak@cisco.com>, Yihang Li
 <liyihang9@h-partners.com>, Don Brace <don.brace@microchip.com>,
 storagedev@microchip.com, HighPoint Linux Team <linux@highpoint-tech.com>,
 Tyrel Datwyler <tyreld@linux.ibm.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <chleroy@kernel.org>, linuxppc-dev@lists.ozlabs.org,
 Brian King <brking@us.ibm.com>, Lee Duncan <lduncan@suse.com>,
 Chris Leech <cleech@redhat.com>, Mike Christie
 <michael.christie@oracle.com>, open-iscsi@googlegroups.com,
 Justin Tee <justin.tee@broadcom.com>, Paul Ely <paul.ely@broadcom.com>,
 Kashyap Desai <kashyap.desai@broadcom.com>,
 Shivasharan S <shivasharan.srikanteshwara@broadcom.com>,
 Chandrakanth Patil <chandrakanth.patil@broadcom.com>,
 megaraidlinux.pdl@broadcom.com,
 Sathya Prakash Veerichetty <sathya.prakash@broadcom.com>,
 Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
 mpi3mr-linuxdrv.pdl@broadcom.com,
 Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
 Ranjan Kumar <ranjan.kumar@broadcom.com>, MPT-FusionLinux.pdl@broadcom.com,
 Daniel Palmer <daniel@thingy.jp>, GOTO Masanori <gotom@debian.or.jp>,
 YOKOTA Hiroshi <yokota@netlab.is.tsukuba.ac.jp>,
 Jack Wang <jinpu.wang@cloud.ionos.com>, Geoff Levand <geoff@infradead.org>,
 Michael Reed <mdr@sgi.com>, Nilesh Javali <njavali@marvell.com>,
 GR-QLogic-Storage-Upstream@marvell.com, Narsimhulu Musini
 <nmusini@cisco.com>, "K . Y . Srinivasan" <kys@microsoft.com>,
 Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>,
 Dexuan Cui <decui@microsoft.com>, Long Li <longli@microsoft.com>,
 linux-hyperv@vger.kernel.org, "Michael S . Tsirkin" <mst@redhat.com>,
 Jason Wang <jasowang@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 Stefan Hajnoczi <stefanha@redhat.com>, Eugenio Perez <eperezma@redhat.com>,
 virtualization@lists.linux.dev, Vishal Bhakta <vishal.bhakta@broadcom.com>,
 bcm-kernel-feedback-list@broadcom.com, Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, James Rizzo <james.rizzo@broadcom.com>
References: <20260609121806.2121755-1-sumit.saxena@broadcom.com>
 <20260609121806.2121755-2-sumit.saxena@broadcom.com>
Content-Language: en-US
From: Hannes Reinecke <hare@suse.com>
In-Reply-To: <20260609121806.2121755-2-sumit.saxena@broadcom.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1781071238-7E58E8B7-1921E2A1/0/0
X-purgate-type: clean
X-purgate-size: 1122

On 6/9/26 14:18, Sumit Saxena wrote:
> From: James Rizzo <james.rizzo@broadcom.com>
> 
> When a host adapter is attached to a specific NUMA node, allocating
> scsi_device and scsi_target via kzalloc() may place them on a remote
> node.  All hot-path I/O accesses to these structures then cross the NUMA
> interconnect, adding latency and consuming inter-node bandwidth.
> 
> Use kzalloc_node() with dev_to_node(shost->dma_dev) so allocations land
> on the same node as the HBA, reducing cross-node traffic and improving
> I/O performance on NUMA systems.
> 
> Signed-off-by: James Rizzo <james.rizzo@broadcom.com>
> Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>
> ---
>   drivers/scsi/scsi_scan.c | 7 ++++---
>   1 file changed, 4 insertions(+), 3 deletions(-)
> 
Reviewed-by: Hannes Reinecke <hare@kernel.org>

Cheers,

Hannes
-- 
Dr. Hannes Reinecke                  Kernel Storage Architect
hare@suse.com                               +49 911 74053 688
SUSE Software Solutions GmbH, Frankenstr. 146, 90461 NÃ¼rnberg
HRB 36809 (AG NÃ¼rnberg), GF: I. Totev, A. McDonald, W. Knoblich


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 06:17:19 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 06:17:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333972.1597072 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXCFX-0008Uj-Vt; Wed, 10 Jun 2026 06:17:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333972.1597072; Wed, 10 Jun 2026 06: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 1wXCFX-0008Uc-TD; Wed, 10 Jun 2026 06:17:15 +0000
Received: by outflank-mailman (input) for mailman id 1333972;
 Wed, 10 Jun 2026 06:17:15 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+081cf7365c78a3b9f81e+8326+infradead.org+hch@bombadil.srs.infradead.org>)
 id 1wXCFW-0008UW-07
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 06:17:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXCFV-000yDq-9l
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 08:17:13 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+081cf7365c78a3b9f81e+8326+infradead.org+hch@bombadil.srs.infradead.org>)
 id 6a290167-2eae-0a2a0a5409dd-0a2a450bc9e6-2
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 08:17:12 +0200
Received: from [198.137.202.133] (helo=bombadil.infradead.org)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+081cf7365c78a3b9f81e+8326+infradead.org+hch@bombadil.srs.infradead.org>)
 id 6a290167-212f-0a2a450b0019-c689ca85de04-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 08:17:12 +0200
Received: from hch by bombadil.infradead.org with local (Exim 4.99.1 #2 (Red
 Hat Linux)) id 1wXCCZ-00000006rUM-2is2;
 Wed, 10 Jun 2026 06:14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=bombadil.20210309 header.d=infradead.org header.i="@infradead.org" header.h="In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=In-Reply-To:Content-Type:MIME-Version
	:References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=5fpuLCYTLSfZqoqCj1yrU/fpNj0jEx06J2udbdGke8E=; b=OFImmvbhxqzG81oeZG+qkLiWj/
	O+FoTgH6IsD9H6izBN+zbpqolbxqx+9PFaalE0ngf4ZPtIVhKG3FWNncNpUvassE+pMoxg7uJ1dlN
	o/1a+N0fBlbkrkKv2jfdrPPcrlf8nC1+BFWDS5uwfZXWKBQIW9aXC8ONxzWjN5GQqHnNRYbkZWGsc
	r9zOlolOC8eIVseUzidKJhPi3wTenh7FHIi9rxabyyO+h/40Pa5f3/VNUtd20iNePgabwc3S+cnjT
	Kd3X/a3mAFndB1a4zGa1uW8ACr+9Jp1LawQAr1tSl3VC1bdB13cQxeZxqMdPuJ1TIqqIwB6io6LeU
	cbljK5hw==;
Date: Tue, 9 Jun 2026 23:14:11 -0700
From: Christoph Hellwig <hch@infradead.org>
To: Sumit Saxena <sumit.saxena@broadcom.com>
Cc: "Martin K . Petersen" <martin.petersen@oracle.com>,
	Jens Axboe <axboe@kernel.dk>,
	"James E . J . Bottomley" <James.Bottomley@hansenpartnership.com>,
	linux-scsi@vger.kernel.org, linux-block@vger.kernel.org,
	Adam Radford <aradford@gmail.com>,
	Khalid Aziz <khalid@gonehiking.org>,
	Adaptec OEM Raid Solutions <aacraid@microsemi.com>,
	Matthew Wilcox <willy@infradead.org>,
	Hannes Reinecke <hare@suse.com>,
	"Juergen E . Fischer" <fischer@norbit.de>,
	Russell King <linux@armlinux.org.uk>,
	linux-arm-kernel@lists.infradead.org,
	Finn Thain <fthain@linux-m68k.org>,
	Michael Schmitz <schmitzmic@gmail.com>,
	Anil Gurumurthy <anil.gurumurthy@qlogic.com>,
	Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>,
	Oliver Neukum <oliver@neukum.org>, Ali Akcaagac <aliakc@web.de>,
	Jamie Lenehan <lenehan@twibble.org>,
	Ram Vegesna <ram.vegesna@broadcom.com>,
	target-devel@vger.kernel.org,
	Bradley Grove <linuxdrivers@attotech.com>,
	Satish Kharat <satishkh@cisco.com>,
	Sesidhar Baddela <sebaddel@cisco.com>,
	Karan Tilak Kumar <kartilak@cisco.com>,
	Yihang Li <liyihang9@h-partners.com>,
	Don Brace <don.brace@microchip.com>, storagedev@microchip.com,
	HighPoint Linux Team <linux@highpoint-tech.com>,
	Tyrel Datwyler <tyreld@linux.ibm.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	linuxppc-dev@lists.ozlabs.org, Brian King <brking@us.ibm.com>,
	Lee Duncan <lduncan@suse.com>, Chris Leech <cleech@redhat.com>,
	Mike Christie <michael.christie@oracle.com>,
	open-iscsi@googlegroups.com, Justin Tee <justin.tee@broadcom.com>,
	Paul Ely <paul.ely@broadcom.com>,
	Kashyap Desai <kashyap.desai@broadcom.com>,
	Shivasharan S <shivasharan.srikanteshwara@broadcom.com>,
	Chandrakanth Patil <chandrakanth.patil@broadcom.com>,
	megaraidlinux.pdl@broadcom.com,
	Sathya Prakash Veerichetty <sathya.prakash@broadcom.com>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	mpi3mr-linuxdrv.pdl@broadcom.com,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Ranjan Kumar <ranjan.kumar@broadcom.com>,
	MPT-FusionLinux.pdl@broadcom.com, Daniel Palmer <daniel@thingy.jp>,
	GOTO Masanori <gotom@debian.or.jp>,
	YOKOTA Hiroshi <yokota@netlab.is.tsukuba.ac.jp>,
	Jack Wang <jinpu.wang@cloud.ionos.com>,
	Geoff Levand <geoff@infradead.org>, Michael Reed <mdr@sgi.com>,
	Nilesh Javali <njavali@marvell.com>,
	GR-QLogic-Storage-Upstream@marvell.com,
	Narsimhulu Musini <nmusini@cisco.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
	Long Li <longli@microsoft.com>, linux-hyperv@vger.kernel.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Eugenio Perez <eperezma@redhat.com>, virtualization@lists.linux.dev,
	Vishal Bhakta <vishal.bhakta@broadcom.com>,
	bcm-kernel-feedback-list@broadcom.com,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	Bart Van Assche <bvanassche@acm.org>
Subject: Re: [PATCH v3 3/4] block: drop shared-tag fairness throttling
Message-ID: <aikAs4X-2NWTuwCc@infradead.org>
References: <20260609121806.2121755-1-sumit.saxena@broadcom.com>
 <20260609121806.2121755-4-sumit.saxena@broadcom.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20260609121806.2121755-4-sumit.saxena@broadcom.com>
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-42698a/1781072232-21581F3B-4C9B736D/0/0
X-purgate-type: clean
X-purgate-size: 917

Just dropping the fairness was rejected before and there is no
explanation here on why any of that has changed.

On Tue, Jun 09, 2026 at 05:48:02PM +0530, Sumit Saxena wrote:
> From: Bart Van Assche <bvanassche@acm.org>
> 
> Original patch [1] by Bart Van Assche; this version is rebased onto the
> current tree.  In testing it improves IOPS by roughly 16-18% by removing
> the fair-sharing throttle on shared tag queues.
> 
> This patch removes the following code and structure members:
> - The function hctx_may_queue().
> - blk_mq_hw_ctx.nr_active and request_queue.nr_active_requests_shared_tags
>   and also all the code that modifies these two member variables.

.. and besides that, this commit message is still entirely useless
as it doesn't explain any of the thoughts of why this change is safe
and desirable.  While the mechanics above are totally obvious from
the code change itself.



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 06:18:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 06:18:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333977.1597082 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXCGw-0000wk-94; Wed, 10 Jun 2026 06:18:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333977.1597082; Wed, 10 Jun 2026 06: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 1wXCGw-0000wd-6C; Wed, 10 Jun 2026 06:18:42 +0000
Received: by outflank-mailman (input) for mailman id 1333977;
 Wed, 10 Jun 2026 06:18:40 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <hare@suse.de>) id 1wXCGu-0000wT-CO
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 06:18:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXCGt-0080OM-Kj
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 08:18:39 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <hare@suse.de>)
 id 6a2901ac-2eae-0a2a0a5409dd-0a2a450bda34-36
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 08:18:39 +0200
Received: from [195.135.223.130] (helo=smtp-out1.suse.de)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <hare@suse.de>)
 id 6a2901bd-212f-0a2a450b0019-c387df8282d6-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 08:18:37 +0200
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 84C956A889;
 Wed, 10 Jun 2026 06:18:35 +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 5D489779A7;
 Wed, 10 Jun 2026 06:18:33 +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 esOfFbkBKWoafQAAD6G6ig
 (envelope-from <hare@suse.de>); Wed, 10 Jun 2026 06:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=susede2_rsa header.d=suse.de header.i="@suse.de" header.h="From:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References"; dkim=permerror header.s=susede2_ed25519 header.d=suse.de header.i="@suse.de"; dkim=pass header.s=susede2_rsa header.d=suse.de header.i="@suse.de" header.h="From:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References"; dkim=permerror header.s=susede2_ed25519 header.d=suse.de header.i="@suse.de"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1781072316; 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=s+GP0a8ZirfMN7kbnOb/KtxqIFFOh8HL22fIzppsPn0=;
	b=SVpKnNC2JmXryTDslmEYyB0e99KwqF0GeUF/jDy2hQBhzx/GP2JUpv/za7n1SlXjbQky3J
	O5ib3hrYKvYihZ0nS0S7P2vfU/PR+Vh5oKJjEqg+EiQc8EenqNwEp1W49gBvuVS+Fp3rl5
	YZ5fQYAJqCmNLjRkpEccnQY9DIYy8wo=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1781072316;
	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=s+GP0a8ZirfMN7kbnOb/KtxqIFFOh8HL22fIzppsPn0=;
	b=da1YS6pBj19j0LUrriJuEsY/iV9lqH1UoI6LSRGX+8tbH3sCd1ifiCGd3fioGtsbKmiFXY
	nCBKTa5oUoKCwgDA==
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1781072315; 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=s+GP0a8ZirfMN7kbnOb/KtxqIFFOh8HL22fIzppsPn0=;
	b=dHBQ9zEWjKpErNcF7KhLeWgzYyK+DK7mkyV2cjFWOFUOVtoI8spaS6pDKDWXZ4UYg2EfEq
	Men+SNGx216/alOXfmS1CZzM/v6R5ZKpxPhkfLsrZwXNfK2MSuuwRFMgNSkWGPduZi97UT
	6V3GFBZtnMLm6qs2V1vuMiKLVZh33Uw=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1781072315;
	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=s+GP0a8ZirfMN7kbnOb/KtxqIFFOh8HL22fIzppsPn0=;
	b=92FfC9HXyMLa/RGf3EI/JTv11kcUg/fkljp6rPccZ1Gmhh52m2g7JvRRyaAZXlhFS0SNDD
	2DZ5M7O9CnfvTSBg==
Message-ID: <93a82831-608d-4462-a019-26b3adc7089c@suse.de>
Date: Wed, 10 Jun 2026 08:18:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/4] block: drop shared-tag fairness throttling
To: Sumit Saxena <sumit.saxena@broadcom.com>,
 "Martin K . Petersen" <martin.petersen@oracle.com>,
 Jens Axboe <axboe@kernel.dk>
Cc: "James E . J . Bottomley" <James.Bottomley@HansenPartnership.com>,
 linux-scsi@vger.kernel.org, linux-block@vger.kernel.org,
 Adam Radford <aradford@gmail.com>, Khalid Aziz <khalid@gonehiking.org>,
 Adaptec OEM Raid Solutions <aacraid@microsemi.com>,
 Matthew Wilcox <willy@infradead.org>, Hannes Reinecke <hare@suse.com>,
 "Juergen E . Fischer" <fischer@norbit.de>,
 Russell King <linux@armlinux.org.uk>, linux-arm-kernel@lists.infradead.org,
 Finn Thain <fthain@linux-m68k.org>, Michael Schmitz <schmitzmic@gmail.com>,
 Anil Gurumurthy <anil.gurumurthy@qlogic.com>,
 Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>,
 Oliver Neukum <oliver@neukum.org>, Ali Akcaagac <aliakc@web.de>,
 Jamie Lenehan <lenehan@twibble.org>, Ram Vegesna <ram.vegesna@broadcom.com>,
 target-devel@vger.kernel.org, Bradley Grove <linuxdrivers@attotech.com>,
 Satish Kharat <satishkh@cisco.com>, Sesidhar Baddela <sebaddel@cisco.com>,
 Karan Tilak Kumar <kartilak@cisco.com>, Yihang Li
 <liyihang9@h-partners.com>, Don Brace <don.brace@microchip.com>,
 storagedev@microchip.com, HighPoint Linux Team <linux@highpoint-tech.com>,
 Tyrel Datwyler <tyreld@linux.ibm.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <chleroy@kernel.org>, linuxppc-dev@lists.ozlabs.org,
 Brian King <brking@us.ibm.com>, Lee Duncan <lduncan@suse.com>,
 Chris Leech <cleech@redhat.com>, Mike Christie
 <michael.christie@oracle.com>, open-iscsi@googlegroups.com,
 Justin Tee <justin.tee@broadcom.com>, Paul Ely <paul.ely@broadcom.com>,
 Kashyap Desai <kashyap.desai@broadcom.com>,
 Shivasharan S <shivasharan.srikanteshwara@broadcom.com>,
 Chandrakanth Patil <chandrakanth.patil@broadcom.com>,
 megaraidlinux.pdl@broadcom.com,
 Sathya Prakash Veerichetty <sathya.prakash@broadcom.com>,
 Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
 mpi3mr-linuxdrv.pdl@broadcom.com,
 Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
 Ranjan Kumar <ranjan.kumar@broadcom.com>, MPT-FusionLinux.pdl@broadcom.com,
 Daniel Palmer <daniel@thingy.jp>, GOTO Masanori <gotom@debian.or.jp>,
 YOKOTA Hiroshi <yokota@netlab.is.tsukuba.ac.jp>,
 Jack Wang <jinpu.wang@cloud.ionos.com>, Geoff Levand <geoff@infradead.org>,
 Michael Reed <mdr@sgi.com>, Nilesh Javali <njavali@marvell.com>,
 GR-QLogic-Storage-Upstream@marvell.com, Narsimhulu Musini
 <nmusini@cisco.com>, "K . Y . Srinivasan" <kys@microsoft.com>,
 Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>,
 Dexuan Cui <decui@microsoft.com>, Long Li <longli@microsoft.com>,
 linux-hyperv@vger.kernel.org, "Michael S . Tsirkin" <mst@redhat.com>,
 Jason Wang <jasowang@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 Stefan Hajnoczi <stefanha@redhat.com>, Eugenio Perez <eperezma@redhat.com>,
 virtualization@lists.linux.dev, Vishal Bhakta <vishal.bhakta@broadcom.com>,
 bcm-kernel-feedback-list@broadcom.com, Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, Bart Van Assche <bvanassche@acm.org>
References: <20260609121806.2121755-1-sumit.saxena@broadcom.com>
 <20260609121806.2121755-4-sumit.saxena@broadcom.com>
Content-Language: en-US
From: Hannes Reinecke <hare@suse.de>
In-Reply-To: <20260609121806.2121755-4-sumit.saxena@broadcom.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Flag: NO
X-Spamd-Result: default: False [-8.30 / 50.00];
	REPLY(-4.00)[];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	MID_RHS_MATCH_FROM(0.00)[];
	TO_DN_SOME(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	RCPT_COUNT_GT_50(0.00)[82];
	FROM_HAS_DN(0.00)[];
	FREEMAIL_CC(0.00)[HansenPartnership.com,vger.kernel.org,gmail.com,gonehiking.org,microsemi.com,infradead.org,suse.com,norbit.de,armlinux.org.uk,lists.infradead.org,linux-m68k.org,qlogic.com,neukum.org,web.de,twibble.org,broadcom.com,attotech.com,cisco.com,h-partners.com,microchip.com,highpoint-tech.com,linux.ibm.com,ellerman.id.au,kernel.org,lists.ozlabs.org,us.ibm.com,redhat.com,oracle.com,googlegroups.com,thingy.jp,debian.or.jp,netlab.is.tsukuba.ac.jp,cloud.ionos.com,sgi.com,marvell.com,microsoft.com,lists.linux.dev,epam.com,lists.xenproject.org,acm.org];
	R_RATELIMIT(0.00)[to_ip_from(RLhytspa9b8ghbrab87o1fjg5u)];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	TO_MATCH_ENVRCPT_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.de:email,suse.de:mid,acm.org:email,broadcom.com:email]
X-Spam-Level: 
X-Spam-Score: -8.30
X-purgate-ID: tlsNG-42698a/1781072317-21382F3B-B9801588/0/0
X-purgate-type: clean
X-purgate-size: 1883

On 6/9/26 14:18, Sumit Saxena wrote:
> From: Bart Van Assche <bvanassche@acm.org>
> 
> Original patch [1] by Bart Van Assche; this version is rebased onto the
> current tree.  In testing it improves IOPS by roughly 16-18% by removing
> the fair-sharing throttle on shared tag queues.
> 
> This patch removes the following code and structure members:
> - The function hctx_may_queue().
> - blk_mq_hw_ctx.nr_active and request_queue.nr_active_requests_shared_tags
>    and also all the code that modifies these two member variables.
> 
> [1]: https://lore.kernel.org/linux-block/20240529213921.3166462-1-bvanassche@acm.org/
> 
> Signed-off-by: Bart Van Assche <bvanassche@acm.org>
> Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>
> ---
>   block/blk-core.c       |   2 -
>   block/blk-mq-debugfs.c |  22 ++++++++-
>   block/blk-mq-tag.c     |   4 --
>   block/blk-mq.c         |  17 +------
>   block/blk-mq.h         | 100 -----------------------------------------
>   include/linux/blk-mq.h |   6 ---
>   include/linux/blkdev.h |   2 -
>   7 files changed, 22 insertions(+), 131 deletions(-)
> 
What tests did you perform?
I'm pretty sure you see an improvement when having just a few drives,
but what about having a lot of them (ie tens of drives)?
The whole point of this was to increase fairness between drives, so
of course removing it will make an individual drive going faster ...

Maybe it's an idea to move the fairness algorithm into an I/O scheduler;
that way we can keep the original behaviour yet get the performance
increase if people want it.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke                  Kernel Storage Architect
hare@suse.de                                +49 911 74053 688
SUSE Software Solutions GmbH, Frankenstr. 146, 90461 NÃ¼rnberg
HRB 36809 (AG NÃ¼rnberg), GF: I. Totev, A. McDonald, W. Knoblich


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 06:21:16 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 06:21:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333984.1597090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXCJO-0002Su-Ka; Wed, 10 Jun 2026 06:21:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333984.1597090; Wed, 10 Jun 2026 06: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 1wXCJO-0002Sn-Hr; Wed, 10 Jun 2026 06:21:14 +0000
Received: by outflank-mailman (input) for mailman id 1333984;
 Wed, 10 Jun 2026 06:21:13 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <hare@suse.de>) id 1wXCJN-0002Sf-37
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 06:21:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXCJM-00Fz7a-Cb
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 08:21:12 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <hare@suse.de>)
 id 6a29024c-2eae-0a2a0a5409dd-0a2a4507dbde-28
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 08:21:12 +0200
Received: from [195.135.223.130] (helo=smtp-out1.suse.de)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <hare@suse.de>)
 id 6a290258-229c-0a2a45070019-c387df828e42-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 08:21:12 +0200
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 C66016A901;
 Wed, 10 Jun 2026 06:21: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 35718779A7;
 Wed, 10 Jun 2026 06:21: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 cGvRC1QCKWqkfwAAD6G6ig
 (envelope-from <hare@suse.de>); Wed, 10 Jun 2026 06:21: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=susede2_rsa header.d=suse.de header.i="@suse.de" header.h="From:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References"; dkim=permerror header.s=susede2_ed25519 header.d=suse.de header.i="@suse.de"; dkim=pass header.s=susede2_rsa header.d=suse.de header.i="@suse.de" header.h="From:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References"; dkim=permerror header.s=susede2_ed25519 header.d=suse.de header.i="@suse.de"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1781072471; 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=WbCQ0d3zTQZ6CGG+6Az/23i9L/arq92TNEcy3sEelj0=;
	b=kK/LCh7DC5z9PCHBhHtrcYqfPUIFZaxHoWYTst7kWk2DY22sG4ILEbfxJ225bLwv52Imfd
	uKFOdpNkBnDaULH+4CDaI2up/l1VU0xj99rOTUygOwtjJof4pJjAnYUz2zYn69EFrIoYu3
	UTarOT0XfKRaRqLCmTyO1ahgnIpS9SE=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1781072471;
	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=WbCQ0d3zTQZ6CGG+6Az/23i9L/arq92TNEcy3sEelj0=;
	b=QXOni70R4TgKlcDEP6Sg+u7z6e4mtu6AOIgsD4dTCJCaxCDxQI2i8scIwV8+n4HXEzjh64
	nyYPuxnLkK7nF3Ag==
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.de header.s=susede2_rsa header.b="waHJe4W/";
	dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=U6EAtjYv
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1781072470; 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=WbCQ0d3zTQZ6CGG+6Az/23i9L/arq92TNEcy3sEelj0=;
	b=waHJe4W/QB/axCJtQRgAST3/L1ZffdvaSfCdsCopUjv8covGVV5Mu6HHQ5ZlTpiH9EpD9Q
	zRFQa5HcZmyHm4tz927PKTsOEuhqSbWWv79hnw/iiQtLMoT8Yx5PxmoLIYnQrbZ7E69uds
	o9AhwRFbIjTMQJ64sGTeky5eMDj3n/c=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1781072470;
	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=WbCQ0d3zTQZ6CGG+6Az/23i9L/arq92TNEcy3sEelj0=;
	b=U6EAtjYvBU2LDrzfCGj83Db9o2/YQoljDhw02wO4Suo5f/iMj8UC41aU4G/FsxU6Rl43RT
	YPgghOAwmqZuiBCQ==
Message-ID: <ca44e52a-ddf7-4bf8-9634-5afaf7413176@suse.de>
Date: Wed, 10 Jun 2026 08:21:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/4] scsi: use percpu counters for iostat counters in
 struct scsi_device
To: Sumit Saxena <sumit.saxena@broadcom.com>,
 "Martin K . Petersen" <martin.petersen@oracle.com>,
 Jens Axboe <axboe@kernel.dk>
Cc: "James E . J . Bottomley" <James.Bottomley@HansenPartnership.com>,
 linux-scsi@vger.kernel.org, linux-block@vger.kernel.org,
 Adam Radford <aradford@gmail.com>, Khalid Aziz <khalid@gonehiking.org>,
 Adaptec OEM Raid Solutions <aacraid@microsemi.com>,
 Matthew Wilcox <willy@infradead.org>, Hannes Reinecke <hare@suse.com>,
 "Juergen E . Fischer" <fischer@norbit.de>,
 Russell King <linux@armlinux.org.uk>, linux-arm-kernel@lists.infradead.org,
 Finn Thain <fthain@linux-m68k.org>, Michael Schmitz <schmitzmic@gmail.com>,
 Anil Gurumurthy <anil.gurumurthy@qlogic.com>,
 Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>,
 Oliver Neukum <oliver@neukum.org>, Ali Akcaagac <aliakc@web.de>,
 Jamie Lenehan <lenehan@twibble.org>, Ram Vegesna <ram.vegesna@broadcom.com>,
 target-devel@vger.kernel.org, Bradley Grove <linuxdrivers@attotech.com>,
 Satish Kharat <satishkh@cisco.com>, Sesidhar Baddela <sebaddel@cisco.com>,
 Karan Tilak Kumar <kartilak@cisco.com>, Yihang Li
 <liyihang9@h-partners.com>, Don Brace <don.brace@microchip.com>,
 storagedev@microchip.com, HighPoint Linux Team <linux@highpoint-tech.com>,
 Tyrel Datwyler <tyreld@linux.ibm.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <chleroy@kernel.org>, linuxppc-dev@lists.ozlabs.org,
 Brian King <brking@us.ibm.com>, Lee Duncan <lduncan@suse.com>,
 Chris Leech <cleech@redhat.com>, Mike Christie
 <michael.christie@oracle.com>, open-iscsi@googlegroups.com,
 Justin Tee <justin.tee@broadcom.com>, Paul Ely <paul.ely@broadcom.com>,
 Kashyap Desai <kashyap.desai@broadcom.com>,
 Shivasharan S <shivasharan.srikanteshwara@broadcom.com>,
 Chandrakanth Patil <chandrakanth.patil@broadcom.com>,
 megaraidlinux.pdl@broadcom.com,
 Sathya Prakash Veerichetty <sathya.prakash@broadcom.com>,
 Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
 mpi3mr-linuxdrv.pdl@broadcom.com,
 Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
 Ranjan Kumar <ranjan.kumar@broadcom.com>, MPT-FusionLinux.pdl@broadcom.com,
 Daniel Palmer <daniel@thingy.jp>, GOTO Masanori <gotom@debian.or.jp>,
 YOKOTA Hiroshi <yokota@netlab.is.tsukuba.ac.jp>,
 Jack Wang <jinpu.wang@cloud.ionos.com>, Geoff Levand <geoff@infradead.org>,
 Michael Reed <mdr@sgi.com>, Nilesh Javali <njavali@marvell.com>,
 GR-QLogic-Storage-Upstream@marvell.com, Narsimhulu Musini
 <nmusini@cisco.com>, "K . Y . Srinivasan" <kys@microsoft.com>,
 Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>,
 Dexuan Cui <decui@microsoft.com>, Long Li <longli@microsoft.com>,
 linux-hyperv@vger.kernel.org, "Michael S . Tsirkin" <mst@redhat.com>,
 Jason Wang <jasowang@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 Stefan Hajnoczi <stefanha@redhat.com>, Eugenio Perez <eperezma@redhat.com>,
 virtualization@lists.linux.dev, Vishal Bhakta <vishal.bhakta@broadcom.com>,
 bcm-kernel-feedback-list@broadcom.com, Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, John Garry <john.g.garry@oracle.com>
References: <20260609121806.2121755-1-sumit.saxena@broadcom.com>
 <20260609121806.2121755-5-sumit.saxena@broadcom.com>
Content-Language: en-US
From: Hannes Reinecke <hare@suse.de>
In-Reply-To: <20260609121806.2121755-5-sumit.saxena@broadcom.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Rspamd-Action: no action
X-Rspamd-Queue-Id: C66016A901
X-Spam-Flag: NO
X-Spam-Score: -4.51
X-Spam-Level: 
X-Spamd-Result: default: False [-4.51 / 50.00];
	BAYES_HAM(-3.00)[100.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)[];
	FREEMAIL_CC(0.00)[HansenPartnership.com,vger.kernel.org,gmail.com,gonehiking.org,microsemi.com,infradead.org,suse.com,norbit.de,armlinux.org.uk,lists.infradead.org,linux-m68k.org,qlogic.com,neukum.org,web.de,twibble.org,broadcom.com,attotech.com,cisco.com,h-partners.com,microchip.com,highpoint-tech.com,linux.ibm.com,ellerman.id.au,kernel.org,lists.ozlabs.org,us.ibm.com,redhat.com,oracle.com,googlegroups.com,thingy.jp,debian.or.jp,netlab.is.tsukuba.ac.jp,cloud.ionos.com,sgi.com,marvell.com,microsoft.com,lists.linux.dev,epam.com,lists.xenproject.org];
	RCVD_TLS_ALL(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	MIME_TRACE(0.00)[0:+];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	ARC_NA(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	DKIM_TRACE(0.00)[suse.de:+];
	R_RATELIMIT(0.00)[to_ip_from(RL4wz7gy1ms4azqntyx4t734n7)];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	TO_MATCH_ENVRCPT_SOME(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	RCPT_COUNT_GT_50(0.00)[82];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	DWL_DNSWL_BLOCKED(0.00)[suse.de:dkim];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.de:dkim,suse.de:email,suse.de:mid,broadcom.com:email]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-purgate-ID: tlsNG-ef75cf/1781072472-28678C48-AB93ED63/0/0
X-purgate-type: clean
X-purgate-size: 1247

On 6/9/26 14:18, Sumit Saxena wrote:
> iorequest_cnt and iodone_cnt are updated on every command dispatch and
> completion, often from different CPUs on high queue depth workloads.
> Using adjacent atomic_t fields causes cache line contention between the
> submission and completion paths.
> 
> Extend the same treatment to ioerr_cnt and iotmo_cnt so all four iostat
> counters in struct scsi_device use struct percpu_counter.
> 
> Suggested-by: John Garry <john.g.garry@oracle.com>
> Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>
> ---
>   drivers/scsi/scsi_error.c  |  4 ++--
>   drivers/scsi/scsi_lib.c    | 10 +++++-----
>   drivers/scsi/scsi_scan.c   |  8 ++++++++
>   drivers/scsi/scsi_sysfs.c  | 23 ++++++++++++++---------
>   drivers/scsi/sd.c          |  2 +-
>   include/scsi/scsi_device.h |  9 +++++----
>   6 files changed, 35 insertions(+), 21 deletions(-)
> 
Good idea.

Reviewed-by: Hannes Reinecke <hare@kernel.org>

Cheers,

Hannes
-- 
Dr. Hannes Reinecke                  Kernel Storage Architect
hare@suse.de                                +49 911 74053 688
SUSE Software Solutions GmbH, Frankenstr. 146, 90461 NÃ¼rnberg
HRB 36809 (AG NÃ¼rnberg), GF: I. Totev, A. McDonald, W. Knoblich


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 06:50:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 06:50:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1333996.1597100 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXClm-0000Ob-R5; Wed, 10 Jun 2026 06:50:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1333996.1597100; Wed, 10 Jun 2026 06: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 1wXClm-0000OU-Nt; Wed, 10 Jun 2026 06:50:34 +0000
Received: by outflank-mailman (input) for mailman id 1333996;
 Wed, 10 Jun 2026 06:50:33 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Oleksii_Moisieiev@epam.com>) id 1wXClk-0000OO-VR
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 06:50:33 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXClk-00ANJw-8U
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 08:50:32 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Oleksii_Moisieiev@epam.com>)
 id 6a290935-bab6-0a2a0a5309dd-0a2a450aee22-4
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 08:50:32 +0200
Received: from [52.101.66.88]
 (helo=DUZPR83CU001.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Oleksii_Moisieiev@epam.com>)
 id 6a290937-56b3-0a2a450a0019-34654258bee2-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 08:50:32 +0200
Received: from DU5PR03MB10263.eurprd03.prod.outlook.com (2603:10a6:10:519::5)
 by VI1PR03MB6253.eurprd03.prod.outlook.com (2603:10a6:800:138::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Wed, 10 Jun 2026
 06:50:28 +0000
Received: from DU5PR03MB10263.eurprd03.prod.outlook.com
 ([fe80::8c9e:b301:61c0:3908]) by DU5PR03MB10263.eurprd03.prod.outlook.com
 ([fe80::8c9e:b301:61c0:3908%6]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 06:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=lcWbvYhe6v9UDDMRhvwpHFJ5rknKULuPq6chlVxvxXn3n1e9BOx7ULBosusSbfiufTJTOAMkgAdL/ixyaTLGFYw3pTi76tiCchfL3eBhGE56427vkZrk4NDVV1gWrqGkTAWvfLGEK6f3cy1RQj7ev8gEn0d5sUxjEaDQx6f/6PDFmBb/foegBStvginN3N+1a8paKbbJq/ngRjPr8xlhwlF8IOZhqLj/CxKVvfQUAPztB4CO0UDTiCba4qEkpD7bTkJEROxxGPobCXEMkwd2FYnRB4LNPm18D8+Atipkl9YDmlLLrwcB9dUFJCO3z6FR77UuIJvtRuOPBUArJMD0Zg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pP87thhXIgbwA+WweNhF1apOKmvKrNauHXGewln+GCg=;
 b=wuhtxNA5gVfNKiBOEWvytbchl6SlVa1U7XqGFLUAULUftekfCUyvY5Iz+2pqT6O8idjlhDY6pLGB8lSJVXGUiw1nt2zH4U8k6j197SKV6fj8g1BwuOdMYXfhdQm1w/KhiWaDqwPB7bDtnqrRDZghBW6zlZDl7FK0ruE8u6boQm8fmb1haZCxjE64BoaPNFwvZGOEAB8ZJUG1ZLx0oCsXr6zFjm/Kd/IcbpXx0O+vDMkIMejT6kHqAXhdi8zSfjJ+H2xrapQBCjvFqpoy7dk14dXK3xD+OcWgzYB9P3iZ4E2ky3w4Tc5syRt7HV50uTfyw8P92XNdJDFBslhgulZU8w==
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=pP87thhXIgbwA+WweNhF1apOKmvKrNauHXGewln+GCg=;
 b=Af4xD7UNgVi220vKhQfTdiQyHir6EzpN+Hkn2WFZerkoIpsH2DYYJEFf20O/hZtmqmlk+p9wonS/rTPrEfXErJYe7vd9QihoX0kcqk9T/vky8VhRhYmUapUGmQqYCu0DV0+jrjGdQcFUWKsUxP9SbCJZGCKLJ/rdI/d2g6gGvGtPPh8MlZCdlu5W63IITeDl9k4bJgP+Na/5iRmv+/B0AEF0qVCsnyp2guKmbHfZecCqLo+pgVljKcmm3OBLetE3oomeK6JltweBEdHPB2uo5eVnLyZ/3J4r7ozbd00I1dX+/tXzglt/v8bW57HeSqxYgBfkntOM1+ZLhVhxMZQrVA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <cafef621-024f-4c3f-862a-4c61a1ab4293@epam.com>
Date: Wed, 10 Jun 2026 09:50:26 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] sched/rtds: refill cur_budget when extratime is toggled
 on a depleted vCPU
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Dario Faggioli <dfaggioli@suse.com>, George Dunlap <gwd@xenproject.org>,
 Juergen Gross <jgross@suse.com>, Meng Xu <mengxu@cis.upenn.edu>
References: <9f20b6ac8176da6c67e1084e862158a2e47abc40.1779285422.git.oleksii_moisieiev@epam.com>
Content-Language: en-US
From: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
In-Reply-To: <9f20b6ac8176da6c67e1084e862158a2e47abc40.1779285422.git.oleksii_moisieiev@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: WA3PEPF00000512.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d8::666) To DU5PR03MB10263.eurprd03.prod.outlook.com
 (2603:10a6:10:519::5)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU5PR03MB10263:EE_|VI1PR03MB6253:EE_
X-MS-Office365-Filtering-Correlation-Id: 6a627cd3-755e-45ce-688f-08dec6bc8e5e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|23010399003|366016|1800799024|22082099003|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	lw85EEPu6f9KtmlktuRtui51uVZzCXPBJIx/DI4gOd9mnqaQWIveL4qYLXRBjZIC7qdmAoqovpjJB/fA2s1oXCQKSEHzIFcZVmAP/FJq8Q+BuZD+3ghUH+ZtAPF85ff72RfPZ/RVJp1h7srruP2FI+mslomXcXqRibZY7M1XXsKPEpE6Rsp9kowVbK8KLSk9sa3yJTqugI/b86nHiVeoKXHTxm9r7RfFNTN4kXFyM9DlLBATcUKR969PzYfDNeDtetaoqMmmDLGD2q3KGO+RaGf+G70zhG5Iphjbe+zqlFsSqliWfqAzJ5x0yu56mYIL8axClaJHBoqF+5HC4LHdBtvpPsSobvpXnTStHEPsoZjO8LHnAH3QKzv5HRJQt4CEF+i8Oc+gXMVn3jhgxZcn5I3RPUqw7orPwnN4xe0tt6tSRrbezeVNEdDNome0xXRYba24fOrRmAYNhz1wWGP3EUo5o5MC2eVg9szb3XxOLiXTBrGQTjH89XcEjERlfYeotkwSjYvLCTuh1nknnTedcl4QCruC0NwvuW6mwT/LoFamfvnDATh9/y1PkDuGhi80fjagDgDZL7ioqbp8F3Hind/qpL0riTJXo7oEIFGfwrpOng8s9bra7qmv80I2Mm0dH7g9CNAXp2vOzwjaIn9MsQo1pB/fhznTaa3JiFp+BDbfLv0DX0/jcgA4pVZi7GMd
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU5PR03MB10263.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(23010399003)(366016)(1800799024)(22082099003)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d29Wc2h5SW5od1A4VUMzSUVSOW1MVGhIeXgvRWVoNExNakQyUEc4YXBNS04v?=
 =?utf-8?B?N2ErOUNwYjhwODJhb1pBRitQVFR2L1dpb2FNdWRpeGdwNDZHR3NFV2ZWdVYy?=
 =?utf-8?B?SnNJem5taUluMmgvMTlHZnpyVVhwRWhIeGkzV1FyeUdwQnhjaXhLa01WOHU0?=
 =?utf-8?B?R296VTZveTR5TDZqMzNlNlhuSU1RNnBOUkQwVFFidEkrY2Qza0FEc1B2QlRu?=
 =?utf-8?B?OHpOeWhoek4vQVZlbGl0SWhwazdhV09mMWR6U1JmQUZVdU54S2ZFcTJzWllh?=
 =?utf-8?B?dkQ5eGpOOFQ1M09aUjFWV3RWQ0xCb1RIa3JTem9EanNGNjA5SG9MWDloUC80?=
 =?utf-8?B?MnJBaXVVOGFuMEhnK05JUnVGb3pmMHhXWUVkWFV2dFRzbi92Q0pvNU5ldXRa?=
 =?utf-8?B?OWVKUnVQMU5mTTJyaHE0d203UnhPRGpsR0RBd29vTnNzL2tJcjBDSU0yd0Ur?=
 =?utf-8?B?aGk3S1YrRERKWUROTXhoNW1XVURsSGYrYnZzS0FsWi90SitBOVFZUHRuQkRL?=
 =?utf-8?B?aGVaZnpBa3lqQUJ2NXVoajh5c3RMUUVmRGp1cWFIN0lrUzk3OGl6bTRocWo2?=
 =?utf-8?B?bExsZVd2YzFBbnZGZ244WGJhWnVyTHR5VW9HandEdEVKSThrbW1xZVE2ZVZJ?=
 =?utf-8?B?WUl5U1lndCtRemZRazlKZ04ySjM4UVRQMGZhRXVhT2xxd3BzQjVaMExmeUNk?=
 =?utf-8?B?SG42dGRhSHpnY2NtbGJsRXJMQVcvcjZJTzJadERYTXVkeXRadUpxVVpoMjNN?=
 =?utf-8?B?ejdRZk5oWm82cnJnTzJ1RU9YdlNyYWZwcVpzRCs2TzJqdnVCL1NXUE8xSUND?=
 =?utf-8?B?S2lXS0FNOTVpVW92a1dJblp0VzJORU5tWnNVNk1BK1JmdVppdVFXL0xvK29Q?=
 =?utf-8?B?MFBtaThOd0lZR3dKU1o4d3Z1a3BpSkh0cHJyQ3NpbURaNVhhTlMreUUrSGpk?=
 =?utf-8?B?NTZnbFA0emlYbld3UkVveWRFWE1GeFRqV2NaZ3FYZU5ROTBScGVHTFFMeHpX?=
 =?utf-8?B?L2prWEdsR2xiYTBlNGluT2d2R3FVV3MvNWZtMzBoVm03ZXRJazc4TC8yTWhL?=
 =?utf-8?B?MTdLSHNkUHVXTGdNTDhOdXNkQXVyNFVCd1JjQVdHUlJRVDdoaGE3cVAxOXJm?=
 =?utf-8?B?MU15NFkyejMwT2hTN1dCaXk1MkNmRWw3RGdwRTBEOEdLRFZmcUJ0Y2VhNm5m?=
 =?utf-8?B?cTZ5YVpCaXhoWUtXSytRb0xMMXZvOGp5UHJVclBpQUdvUks4ZThsOEFUbVJC?=
 =?utf-8?B?R01FdU9PaWREaGZzeGFWOG14ZE9JWjYycWtYa0pUNzh6NHAwUWFHYnZOTGZr?=
 =?utf-8?B?NWJ3d2ZndVZMMXdBM2pVenhTNzFqNzd6empZNTVxbjBNNWVGRnFoRldUNTV2?=
 =?utf-8?B?YnBwMmRIaTFVYnB4eDA3Z3FDN3pHMWkxbStwZkhhV2RzbkI1V0YyWFFsRkZl?=
 =?utf-8?B?dHlRZW1abHA4NjJUam1pRkNyK2R0d1pxVDd3WDE0OHJ1a1RuV09rMi8xeGda?=
 =?utf-8?B?aThNM2N3OW9KS1JZRHBVL29Oem9WMkNXdzE3MVlzUXdWa3JDN0ExaE8rRGxO?=
 =?utf-8?B?YmpXbXlBdlFMcXpPNXNHNVhOSERkcWgzTVltRVQ2MUpqU0lqWUZ3WkthaUFk?=
 =?utf-8?B?bnh4OEhJNUM0MU40eGgyeTlua21mOGEvL1JaUFpmaW4yMU50aERTakFlVkE3?=
 =?utf-8?B?djdUTGs3dEZYU3RRYzQxaDdUd1RSVVhyZ3hXaHYwSC9HN0FudFBZWkZvdUhU?=
 =?utf-8?B?emNVOHFjVnBWU1lNeGpGU202c1RBNlR6Wndkc3l4MGVSYzZvbzdleURYUnFP?=
 =?utf-8?B?WDlyMkZoUUdPSU5jeDJHZm1BR01odnhtU1JpWFBVTWEwMW1sdWU0Zy9ENi8y?=
 =?utf-8?B?SlpNZEYrby9Cc2o2KzQ5Z045Z3MwemxXc2ZBN1p0Vk5jYVdMcng4TURmREla?=
 =?utf-8?B?UFp0SFh0QVpMbDBVRmxiUkY2UmNUaG9zZndMTG1vTnFNSmY4bUVONU5oT0hK?=
 =?utf-8?B?Smp0TU9TZEs4L0FCVjFBbWlVbXlzajJ5bVM3allUMk9MZW5JYVFKT0djSWJ3?=
 =?utf-8?B?RDZEQ3hSSElIcDFVTFkxdFRMREV3bnZuRjlvdFhONjZxMEdRdjBDbjBkQUNO?=
 =?utf-8?B?ZzczV25sa1V2cjZ4cWdISlQxZlg0S0ZodjIwTnV4YTdmSmM1Uy9PdGh6dENu?=
 =?utf-8?B?Kzk1VjBDQmQxckJPcnBiZ3lzWkV5VXYvWWxBQzRSV1FoK3JvMlZLb0ZLSU8y?=
 =?utf-8?B?TTc0ZGFPaXYwQ0JvbXZuZndLRUhHYXgyckV5R1lRWkFzQ3c2K0dHeldscVZk?=
 =?utf-8?B?UFpyc0s2dGxQbFRGWk5yQzNJYjRmTlV3UHVwWG03QlhlRlBvMFV1T0J3Vngv?=
 =?utf-8?Q?m6mn2+9hVIIRA2jI=3D?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6a627cd3-755e-45ce-688f-08dec6bc8e5e
X-MS-Exchange-CrossTenant-AuthSource: DU5PR03MB10263.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 06:50:27.9468
 (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: PLzlZ26Pvqdj2DB2ulDuBDAjCDVd+mkUs4+sVTCXFhpijR4mWAriDJhRyiDZDvaOLAU6M1IpubPXLhiSubSL7gFLk9kdrqutG5j6iRIPkhA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6253
X-purgate-ID: tlsNG-4011c0/1781074232-7357C8B7-865E0B11/0/0
X-purgate-type: clean
X-purgate-size: 6184

Gentle Ping.

I've already got R-b from Juergen. Maybe someone else will have time to 
review?

Oleksii

On 20/05/2026 16:57, Oleksii Moisieiev wrote:
> XEN_DOMCTL_SCHEDOP_putvcpuinfo can flip the RTDS_extratime bit on a vCPU
> that is currently depleted (cur_budget == 0, possibly sitting on the
> depleted queue). rt_dom_cntl() touches only svc->flags; cur_budget is
> left unchanged. As a result the next code path that calls runq_insert()
> on this vCPU - rt_unit_wake() after a domain_unpause(),
> rt_context_saved() following a delayed runq add, or repl_timer_handler()
> after a replenishment - places the vCPU on the run queue, because
> has_extratime(svc) is now true and runq_insert() admits extratime units
> regardless of cur_budget:
>
>      /* add svc to runq if svc still has budget or its extratime is set */
>      if ( svc->cur_budget > 0 ||
>           has_extratime(svc) )
>          deadline_runq_insert(svc, &svc->q_elem, runq);
>      else
>          list_add(&svc->q_elem, &prv->depletedq);
>
> The very next rt_schedule() iterates the run queue from runq_pick()
> and trips the ASSERT(iter_svc->cur_budget > 0) at the bottom of the
> loop, panicking the host. Observed trace:
>
>      Assertion 'iter_svc->cur_budget > 0' failed at common/sched/rt.c:1035
>      ----[ Xen-4.22-unstable  arm64  debug=y ubsan=y  Not tainted ]----
>      [<...>] rt.c#rt_schedule+0x1558/0x33e0 (PC)
>      [<...>] core.c#do_schedule+0x2e4/0x15b4
>      [<...>] core.c#schedule+0xb14/0xe50
>      [<...>] softirq.c#__do_softirq+0x20c/0x3d4
>      [<...>] do_softirq+0x14/0x1c
>      [<...>] domain.c#idle_loop+0x194/0x558
>
> Minimal reproducer: pin a single-vCPU domU to a pCPU, program RTDS with
> extratime off and a low utilisation (e.g. budget = 10ms / period = 100ms)
> so the vCPU spends most of its time in the depleted queue, pause the
> domain, issue a putvcpuinfo that sets XEN_DOMCTL_SCHEDRT_extra, then
> unpause. As soon as the schedule softirq fires on the pCPU, the BUG
> hits. The same sequence is reachable without an explicit pause: any
> window in which rt_dom_cntl() runs between burn_budget()'s budget
> exhaustion and rt_context_saved()'s runq_insert() also closes onto the
> same broken state, because the per-scheduler lock is dropped between
> those two points.
>
> The semantics for "extratime gets exhausted budget refilled" already
> live in burn_budget():
>
>      if ( has_extratime(svc) )
>      {
>          svc->priority_level++;
>          svc->cur_budget = svc->budget;
>      }
>
> Apply the same priority-demotion-and-refill in rt_dom_cntl() when the
> flag transitions from off to on while the vCPU is depleted, clear
> RTDS_depleted to match, and - if the vCPU is currently on the depleted
> queue - move it to the run queue using the same q_remove() +
> runq_insert() pattern already used by repl_timer_handler(). The vCPU
> remains on the replenishment queue throughout, so its normal
> replenishment cadence is preserved.
>
> The complementary transition (on -> off) is already safe: clearing the
> flag only narrows the runq_insert() admission condition, so subsequent
> depleted insertions correctly route to the depleted queue.
>
> No other call sites need changes: with cur_budget restored before the
> flag is observable to runq_insert(), runq_pick()'s long-standing
> invariant (every run-queue entry has cur_budget > 0) is preserved.
>
> Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> ---
>
>   xen/common/sched/rt.c | 34 ++++++++++++++++++++++++++++++++++
>   1 file changed, 34 insertions(+)
>
> diff --git a/xen/common/sched/rt.c b/xen/common/sched/rt.c
> index b156f61afa..18e39977be 100644
> --- a/xen/common/sched/rt.c
> +++ b/xen/common/sched/rt.c
> @@ -1465,7 +1465,41 @@ rt_dom_cntl(
>                   svc->period = period;
>                   svc->budget = budget;
>                   if ( local_sched.u.rtds.flags & XEN_DOMCTL_SCHEDRT_extra )
> +                {
> +                    /*
> +                     * Turning extratime on while the vCPU is depleted
> +                     * (cur_budget <= 0) leaves cur_budget unchanged. The
> +                     * next runq_insert() on this vCPU - from
> +                     * rt_unit_wake() after a domain unpause,
> +                     * rt_context_saved() following a delayed runq add, or
> +                     * repl_timer_handler() - then places it on the run
> +                     * queue because has_extratime() is now true, even
> +                     * though cur_budget is 0. The very next rt_schedule()
> +                     * iterates the run queue from runq_pick() and trips
> +                     * the ASSERT(iter_svc->cur_budget > 0).
> +                     *
> +                     * Apply the same priority-demotion-and-refill that
> +                     * burn_budget() would have performed if the flag had
> +                     * been set when the budget ran out, clear the
> +                     * depleted state, and - if the vCPU is currently on
> +                     * the depleted queue - move it to the run queue so
> +                     * the new extratime allocation is picked up
> +                     * immediately instead of waiting for the next
> +                     * replenishment.
> +                     */
> +                    if ( !has_extratime(svc) && svc->cur_budget <= 0 )
> +                    {
> +                        svc->priority_level++;
> +                        svc->cur_budget = svc->budget;
> +                        __clear_bit(__RTDS_depleted, &svc->flags);
> +                        if ( unit_on_q(svc) )
> +                        {
> +                            q_remove(svc);
> +                            runq_insert(ops, svc);
> +                        }
> +                    }
>                       __set_bit(__RTDS_extratime, &svc->flags);
> +                }
>                   else
>                       __clear_bit(__RTDS_extratime, &svc->flags);
>                   spin_unlock_irqrestore(&prv->lock, flags);


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 07:23:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 07:23:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334003.1597109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXDHS-0006U0-94; Wed, 10 Jun 2026 07:23:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334003.1597109; Wed, 10 Jun 2026 07:23: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 1wXDHS-0006Tt-6E; Wed, 10 Jun 2026 07:23:18 +0000
Received: by outflank-mailman (input) for mailman id 1334003;
 Wed, 10 Jun 2026 07:23:16 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wXDHQ-0006Tl-9Q
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 07:23:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXDHO-001yi6-QZ
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 09:23:14 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a2910db-2eae-0a2a0a5409dd-0a2a450a9f12-22
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 09:23:14 +0200
Received: from [195.135.223.131] (helo=smtp-out2.suse.de)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgross@suse.com>)
 id 6a2910e2-56b3-0a2a450a0019-c387df83c766-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 09:23:14 +0200
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 12239758D4;
 Wed, 10 Jun 2026 07:23: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 C3A45779A7;
 Wed, 10 Jun 2026 07:23: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 30WgLuEQKWoLPgAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 10 Jun 2026 07:23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=susede1 header.d=suse.com header.i="@suse.com" header.h="From:Date:Message-ID:To:Cc:MIME-Version:Content-Transfer-Encoding"; dkim=pass header.s=susede1 header.d=suse.com header.i="@suse.com" header.h="From:Date:Message-ID:To:Cc:MIME-Version:Content-Transfer-Encoding"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1781076194; 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=Cfq2FfqHtO1NRi9DW7QQNjwr+68aVwiKJSlYH+uVHIA=;
	b=aixwFIOehzmcQm1ZKmecRHfr/avvySg8WzEOPNYI8ff/Jbbp1R2laSB+7ZaqdkAY5Xe/2+
	z60choHepT/RHgxFk9W+S0Phlqe4j96kh9F/c+CfLK3MUJBUMaPbiHJIGeDmZEoGJENRPS
	cXnvWOy3yVwbTQe53BFDioqRgiXBD8E=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1781076194; 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=Cfq2FfqHtO1NRi9DW7QQNjwr+68aVwiKJSlYH+uVHIA=;
	b=aixwFIOehzmcQm1ZKmecRHfr/avvySg8WzEOPNYI8ff/Jbbp1R2laSB+7ZaqdkAY5Xe/2+
	z60choHepT/RHgxFk9W+S0Phlqe4j96kh9F/c+CfLK3MUJBUMaPbiHJIGeDmZEoGJENRPS
	cXnvWOy3yVwbTQe53BFDioqRgiXBD8E=
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>,
	Dario Faggioli <dfaggioli@suse.com>,
	Meng Xu <mengxu@cis.upenn.edu>
Subject: [PATCH] MAINTAINERS: remove RTDS specific entry
Date: Wed, 10 Jun 2026 09:23:08 +0200
Message-ID: <20260610072308.597383-1-jgross@suse.com>
X-Mailer: git-send-email 2.54.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Flag: NO
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];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_HAS_DN(0.00)[];
	MIME_TRACE(0.00)[0:+];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:mid,imap1.dmz-prg2.suse.org:helo];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	RCPT_COUNT_SEVEN(0.00)[11];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	TO_DN_SOME(0.00)[];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Level: 
X-purgate-ID: tlsNG-4011c0/1781076194-73D788B7-56A8DEC1/0/0
X-purgate-type: clean
X-purgate-size: 1042

Remove the RTDS scheduler specific entry in MAINTAINERS.

The effective changes will be:

- Meng will no longer be a maintainer. His last Ack on a RTDS patch
  was given in 2019, since then I can't remember having seen any
  reaction on a RTDS patch.

- I'll be made a maintainer of this scheduler. Dario has indicated
  that he doesn't have lots of cycles for doing reviews, so he would
  be grateful for not being effectively the only maintainer of the
  RTDS scheduler.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 MAINTAINERS | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index ccb01b8e39..195d6cb0e2 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -515,12 +515,6 @@ S:	Supported
 F:	config/riscv64.mk
 F:	xen/arch/riscv/
 
-RTDS SCHEDULER
-M:	Dario Faggioli <dfaggioli@suse.com>
-M:	Meng Xu <mengxu@cis.upenn.edu>
-S:	Supported
-F:	xen/common/sched/rt.c
-
 SCHEDULING
 M:	Dario Faggioli <dfaggioli@suse.com>
 M:	Juergen Gross <jgross@suse.com>
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 07:31:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 07:31:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334009.1597118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXDP7-0008Id-0C; Wed, 10 Jun 2026 07:31:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334009.1597118; Wed, 10 Jun 2026 07: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 1wXDP6-0008IW-So; Wed, 10 Jun 2026 07:31:12 +0000
Received: by outflank-mailman (input) for mailman id 1334009;
 Wed, 10 Jun 2026 07:31:11 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wXDP5-0008IQ-Gz
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 07:31:11 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXDP4-00AWd5-Gs
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 09:31:10 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2912b8-2eae-0a2a0a5409dd-0a2a4505b698-22
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 09:31:10 +0200
Received: from [52.101.56.47]
 (helo=BN1PR04CU002.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2912bc-aaa8-0a2a45050019-3465382fb4df-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 09:31:10 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by SJ0PR03MB5583.namprd03.prod.outlook.com (2603:10b6:a03:28e::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Wed, 10 Jun
 2026 07:31:06 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 07:31: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Um64GGzMUSASEAcjCGMW5bj04+pto7PpyFIrbZe9eQOFfQy0+SSeBGXeIEwk6WQelU32lMr/pev/T4GcyQ02VZp/3z8nRF2MXuvrabtDQ/UQeDjcCrvapwZyj1IqP2gFz61SgU6sEnQA692A7ADnoRho5E8eHPhxQRvUz6fKthcUCsWsbWACybyXcYVee7DkbRPBECB8vYvFyyYXXWK9GF7d02HwJ8uDdQy7AdgcdOP4TTR16l3N2+N7Z3mNhpiww2Jo5/CrMqbB9WeDlx7Gi3H/cyuq3n5EU4iYyE9Yjv5yCJzIaT561Il9sYC1+IwN4gPFhUt3x7Nf6x1dbT/IIQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+qCusDfXLPo6FSyos7dqcr8VokFVlL3Z45lxOvArRpg=;
 b=tHskxp83NfPYuu8ui5jiugXA2i/gLFebwpT9fiWUMqMkjI9odB3xSD8fDaAfPKCHX51xb+1UvA8NfqYFQ3O6LazLoLFc/AoCGMAWNNMn+8v/Wb26QpQYk4YGz+rHDBENLtHSngTYQsHDyjUMb7XZS375bX0BLTHSIdOd7FbqzAvdGxCT7joy6Rzg3LgzOUcdBky0I1BAImr5sJlERIlKeE02kqrdPa/bvZStLRr7vAFDrbtJ9Ed2m4NAtOtvnu2ynZcpfnhKJePo9uPuZvpoW5wbRaL/+YT9q+1Lz7nsT0ypdw2Vh27mrt9gIK/sYUKmKGKct8qYOCUAcqRYZYVGLw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+qCusDfXLPo6FSyos7dqcr8VokFVlL3Z45lxOvArRpg=;
 b=LqbqEyW3fYeQ3cSI9tHy/3Qhp8DaakZ3Mg+JnrumdDiXKbSFZKyj+T6d5lRePVY0tO0d7J+3GKwTwuNcKtOZGraolffRMfoZcXAbx8v0/Yo4mAsxx5qllGnCXZIQbMyC98tfDfqs21tPq6yTscidZE5tpT7WAu+r6FDN61/tN6Y=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 10 Jun 2026 09:31:03 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH for-4.22] xen/x86: Always strip xen.efi
Message-ID: <aikSt8UeUvOFWtUw@macbook.local>
References: <20260608173108.2848469-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260608173108.2848469-1-andrew.cooper3@citrix.com>
X-ClientProxiedBy: BN9PR03CA0072.namprd03.prod.outlook.com
 (2603:10b6:408:fc::17) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|SJ0PR03MB5583:EE_
X-MS-Office365-Filtering-Correlation-Id: cece9693-2bf8-41bf-d369-08dec6c23b89
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|23010399003|376014|366016|22082099003|18002099003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	NiCsZnjw+TnGhnT+ZmHanamU9y8eMZWG4xueXRl/ouB/yvGOncp/piB5Vuv5lPCuKVZV96aVxN3ppbeM3dqp3hRa83UIV0yhCBCYAFQba4p9EWO6NGD6QNRsBGBHUyYWRhZLXDFtEksoeua1Ht5vatIKAj1xW0qz8y2Af/FnE/b8Lu74CtLuYuw2aXw9tdmFyn1HrZBh/nGYmvSBkp0SKiUYyeje3svZABuOH3UJ2LVgDE8DopN0sryShafEdy2IVIEX7u88UA5Scy/fVJrV1VrlOWaz6VNFNuZ32bP0R23nUjPD4g4MHn7zavk2tg6mdsGAZSJ3jRrhs3U4ErXZm7JzylCff6dLlXMu9Mi9NByqlo9CdzhRVD80uKR9T1XnkPFFtxLl3lTAZ84eXoxmSCf36hFGRztBRiGxDZN+5zGLNXF9AwjzyBCaXutEZT9WfAwRdcEvuVvcunIJaC7sOgeBNs6/Ki0MwMsfgdqAbDS6HlvDekpiNsbsDs6X4S7ItcLGylvUaOjDPjhzQIpXsGyNagM60zSzubOO6nWCvRn0Hqm408uD8ZXjHEvcuzyxNby5y0WQH4tWBCYpZDKWw+/nB3EaMUrndqmH/kncd15r+fqQOlleDjPNFeKWZaFT+Z5etJCkeVQv4snOkBwNFgkBnYal1iaCmfge5VkSkMmHe7hh6QqRB3z3wPYdWiwY
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(376014)(366016)(22082099003)(18002099003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TW5PL0dyR3pyM2p0NnZqVWx0WGpxL2lWVlZaSDZsZ1d6ZHQ5R25HbXNmQ0NK?=
 =?utf-8?B?cDkyMTlTNXU2NVBUTVhhQXJOZnlibW1WbTVWbkVxL1ZRa3dKNnFaQjNHdWp2?=
 =?utf-8?B?TTVnMm1sZFdJNmVYR1lZV0F2RnBIbzA0YkVzdFZZUFJ1dHRNdGwwVjg4aVhI?=
 =?utf-8?B?YWJmbFlXQnhESjFpWDJBcnNROEJqNGp6ZlV3NUM5ZGs1Z1dpTjVuRFgxMDYr?=
 =?utf-8?B?bHp0UlAyUmVkbkJ4UDI5MEYyTHM3OTI1RFN4dUpKT1Y1bWQrblhPYWJRMkxY?=
 =?utf-8?B?MURLY1lqUmpQODFGSnQvNVdxS0FqM0lRU3pXTmtJR2dZemRGS2VUSEpKcHVW?=
 =?utf-8?B?ekI1N2F3eWhIRGRMbkZqaUdKcFNOb0tuTDhtZVdyZUxwdkNOSGFzQ2gyR21t?=
 =?utf-8?B?UmV3Q3FieUNYdjNucm1JZFRVOGJzNk42MHFmdDloWjg2VlhmT1piTjk0dVVY?=
 =?utf-8?B?UUVweitzVU4vN3d6bkxJMzJRVGlsWDJyVHcyMlpyWTJuV3J0QnE4dVZsVXVu?=
 =?utf-8?B?V1lwRG1ZNFgxR0xlVnVmcEZhVkVzQVU1SjM5eWZ6TkV0eVFjektMV0FVdHZM?=
 =?utf-8?B?NVdhZ3NpTjg5cUk0YlF6R2Y5OG0yeXFPaFdzSmlEQjN4ajBXcFkva0pqSC9T?=
 =?utf-8?B?NHl3MVp6WU9CWW5lSk1paWlnRUtQRWZaTUxjUFI2MVRuU2Q5ZkExZGloZDZP?=
 =?utf-8?B?NFh3VlJuU28rNHozMEgwQUdTK1dmS3pBTWxtVHRLZHNLNW1jU1NXdGE0NXln?=
 =?utf-8?B?K05hM0sycjRpNmdVaWxldkFBRHhueEV1M3FsOGI4RHFVbFozSnl1a25kVlZX?=
 =?utf-8?B?dTlZZkZSY1BNOG9Bcko0SG51aTliMU5VUHhLelJpdXBRZHNGMUpTY3FhNG1i?=
 =?utf-8?B?bnduMUVTUFd0RzRyck9EanZJTk5GbjZEb1dHQjdEYVl1Q2RRMlUzSmhMYzk1?=
 =?utf-8?B?bHJVUExEWkwyK2ZiK3kvNW9hOFZ3VEtCOSszSllmQkt2TlQ1ZzliQVk1N3Rp?=
 =?utf-8?B?eU9CVDVPNDlmVjNCdzF6cldHamtqTXNpS3JXZUMwMnZYbG9SeEYwT1RaZ042?=
 =?utf-8?B?NHBQaWliVjFPdzJscm9vV3FBTkc1Z0lKbHpSdzlta1lhNk9vbHpvcGJVS1dq?=
 =?utf-8?B?a2RxMnNOZFh4Z3ZKc21wMHBsa2pYKzhBRTNaZnFuci96dzgxajRBSFc1ZFVC?=
 =?utf-8?B?WmhYZ0IxMVJNWTJOaGJRVnNGdkFEbG5HKzA4RkprdEUyTnRpbGpEOUVOcnRV?=
 =?utf-8?B?UlZTeEtIZUQwM1VkUmdMVW02U3R1TVpPa1REcHNKQWpsRE9VbGc3YmVoc1dU?=
 =?utf-8?B?YjdxWUxMcENOR3Y2ejJtT1pqTER2M2ozbDI0bXVPRXJjcXZoRjV3Q2ZlVDAw?=
 =?utf-8?B?MWZ5Z24razVnRmNDdDdVOWlmOStLZ3VZUW9tMVFzQ3VUdEs4WVJDZUNIY3Y5?=
 =?utf-8?B?NUQxMjFrYkdJV1ZVc1FxRkIwbVp5c3B0Uks2ZFdVS1dQNXpmTWVJSzNNUjNK?=
 =?utf-8?B?Q3A0RUpVSGhaOUpIKzIrc0gzRDlWVEJtSDJWUU4rUVdXS2U1WDdaeUlYcE5W?=
 =?utf-8?B?SFRwaUs1MWpwVDVTWjIvMXRaUHdUNS9keDAyekt1NzhBSzU3VmtkS3gxdUZQ?=
 =?utf-8?B?OEdFdE9YN3lzaUdqZTRZK3FEaUV0SHR0d2drRytjazNkemU5M3lFb0ZQNHh4?=
 =?utf-8?B?QXA1cGJ2ME9UMXhvSitRb3k3aXFleWlSakpJOXB4Z0JubHpZTVFpc3RzT290?=
 =?utf-8?B?YnVETWVYdzIva2x5MGVTVXJPM1ZMZGF1V1BRandvUDlYM2tIeEtWTHFINkRo?=
 =?utf-8?B?VWF6aVFPZ2g4bGN4V2ZlT1hlQUZaOFUwSU1NQWNFTU1Ea08zWHpZTmV5d2sx?=
 =?utf-8?B?bWZlVG1kTkNaS2p5T0VIRWg0cEVNSkhTZk03Q1RQVks4OHBNLzNvMHg0bjhE?=
 =?utf-8?B?NjBsSmNsWGVOR0lmK2lXdk5FckxnUUkvamJ1c2hvclBFTG9jRWtHaHRTbXdt?=
 =?utf-8?B?MWFMYmdFYys5aUNOVE5BYzJmNksyQ3ZMMjVWVUhtaGk3R212aWZIQ2J3WDRO?=
 =?utf-8?B?aGYveElsMDNzK1JGLzFEUStMUXZ2cXoyeVIyeEFGYmY1VHBCQTVCdFV2MHFR?=
 =?utf-8?B?VTZFSEFZVmFYUzg4QjFIdkphOTVwMDFlOGUzTkQ3UXl2WkRRMGZ0RHFnSzBy?=
 =?utf-8?B?U1o2TzRYRHptdUVQN3pkNnVaYTJjSUFsbEpqZHRYMXh2aXljR3pKOWI0YlNq?=
 =?utf-8?B?T0ZYemdPRHFSK2tpMUtsY3p4Zk1ORDNNNkU1WXZYUmZqb0pxNDlueG55TXlL?=
 =?utf-8?B?UjlqNEpEbU41eDNpMDJTaHk0Wm1oRlFLZnM3UmRZUXE0bnVOV0pSdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cece9693-2bf8-41bf-d369-08dec6c23b89
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 07:31:06.0001
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZqcXPqExz1BUZkv08kLSUvBYrpal4i6cEsqT05OOJk8jju5pNphH2XRlJFrgP96t2ljQnGovKktMqKaETdWB+A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5583
X-purgate-ID: tlsNG-c201ff/1781076670-E318B443-169A5A8A/0/0
X-purgate-type: clean
X-purgate-size: 1199

On Mon, Jun 08, 2026 at 06:31:08PM +0100, Andrew Cooper wrote:
> From: Frediano Ziglio <frediano.ziglio@citrix.com>
> 
> xen.efi with debugging symbols is ~45MB, down to ~9.3MB when stripped.
> Multiple firmwares (as seen by QubesOS, Trenchboot, and XenServer) are unable
> to boot xen.efi when debugging symbols are included.
> 
> Either way, having debug symbols by default is abnormal and contrary to how
> the non-EFI path works.
> 
> Produce xen-syms.efi unconditionally, just like xen-syms.  If
> CONFIG_DEBUG_INFO is enabled, these will contain debug symbols, and if not,
> then not.  When xen-syms is processed by mkelf32, the debug symbols are simply
> discarded.  For xen-syms.efi, call $(STRIP) to produce xen.efi.
> 
> Some old versions of binutils ld managed to produce efi files which the
> matching version of strip couldn't process.  This includes Binutils 2.26
> included in Ubuntu 16.04.  Delete the workaround for this bug, and require a
> less broken toolchain.
> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.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 Wed Jun 10 08:05:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 08:05:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334030.1597126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXDvo-0006ZL-UP; Wed, 10 Jun 2026 08:05:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334030.1597126; Wed, 10 Jun 2026 08: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 1wXDvo-0006ZE-Rh; Wed, 10 Jun 2026 08:05:00 +0000
Received: by outflank-mailman (input) for mailman id 1334030;
 Wed, 10 Jun 2026 08:04:59 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <armbru@redhat.com>) id 1wXDvn-0006Z7-Lb
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 08:04:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXDvm-00GRy4-RR
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 10:04:58 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <armbru@redhat.com>)
 id 6a291aa5-5cb7-0a2a0a5109dd-0a2a4506b4fc-12
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 10:04:58 +0200
Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <armbru@redhat.com>)
 id 6a291aa9-7371-0a2a45060019-aa0a817c8a0b-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 10:04:58 +0200
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-645-ik2K_Z19NNi6TCbNuX_RZQ-1; Wed,
 10 Jun 2026 04:04:55 -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-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id BB1FB194510E; Wed, 10 Jun 2026 08:04:53 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.44.22.28])
 by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id 470201800595; Wed, 10 Jun 2026 08:04:53 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id C2F9621E6A37; Wed, 10 Jun 2026 10:04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:content-type:Content-Transfer-Encoding:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1781078697;
	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=j69tvMAjJEVdJM+/oqEsbkPf+mVWEmh1vbSUtmQ5D+E=;
	b=gok2DYbGW0hA4GJs4X5XEThKtUtbtAKcnThi1mGUMRZwTRA5C0CE4VFcxSEJZ4vs3n+IQz
	WTAfUyMuhNw7bGc1WgPHPB/iLH1JUpNXcIScBI1wY4kI1ZnKg0okzf30Aiaf/M4rjrV0KM
	Y3hNYPcoWiql3l6u76Th7yS4YE9QuPg=
X-MC-Unique: ik2K_Z19NNi6TCbNuX_RZQ-1
X-Mimecast-MFC-AGG-ID: ik2K_Z19NNi6TCbNuX_RZQ_1781078693
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: stefanha@redhat.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony@xenproject.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org
Subject: [PULL 13/42] MAINTAINERS: Drop bad F: in "X86 Xen CPUs"
Date: Wed, 10 Jun 2026 10:04:18 +0200
Message-ID: <20260610080447.1156502-14-armbru@redhat.com>
In-Reply-To: <20260610080447.1156502-1-armbru@redhat.com>
References: <20260610080447.1156502-1-armbru@redhat.com>
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93
X-Mimecast-MFC-PROC-ID: 2etjRQ3Yb5zYYJrxuDFvUTCRTtFBv8pM7SZ810OKhj4_1781078693
X-Mimecast-Originator: redhat.com
Content-Transfer-Encoding: 8bit
content-type: text/plain; charset="US-ASCII"; x-default=true
X-purgate-ID: tlsNG-16d1c6/1781078698-8DF81D75-6C07DB30/0/0
X-purgate-type: clean
X-purgate-size: 949

include/hw/block/dataplane/xen* does not exist.
hw/block/dataplane/xen* does, and is covered.  Drop the bad line.

Fixes: fcab2b464e (xen: add header and build dataplane/xen-block.c, 2019-01-08)
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Anthony PERARD <anthony@xenproject.org>
Cc: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Cc: xen-devel@lists.xenproject.org
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Anthony PERARD <anthony@xenproject.org>
Message-ID: <20260603064032.3733394-10-armbru@redhat.com>
---
 MAINTAINERS | 1 -
 1 file changed, 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 40413cae91..dd691ddbd3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -636,7 +636,6 @@ F: hw/xen/
 F: hw/xenpv/
 F: hw/i386/xen/
 F: hw/pci-host/xen_igd_pt.c
-F: include/hw/block/dataplane/xen*
 F: include/hw/xen/
 F: include/system/xen.h
 F: include/system/xen-mapcache.h
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 08:17:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 08:17:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334037.1597135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXE7k-00006V-Uq; Wed, 10 Jun 2026 08:17:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334037.1597135; Wed, 10 Jun 2026 08:17: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 1wXE7k-00006O-SH; Wed, 10 Jun 2026 08:17:20 +0000
Received: by outflank-mailman (input) for mailman id 1334037;
 Wed, 10 Jun 2026 08:17:19 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wXE7j-00006I-JP
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 08:17:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXE7i-00GVhH-OF
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 10:17:18 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a291d85-e002-0a2a0a5209dd-0a2a450be806-34
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 10:17:18 +0200
Received: from [40.93.194.50]
 (helo=SN4PR0501CU005.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a291d8d-212f-0a2a450b0019-285dc232c12b-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 10:17:18 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by SJ0PR03MB5486.namprd03.prod.outlook.com (2603:10b6:a03:28d::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Wed, 10 Jun
 2026 08:17:14 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 08:17: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dcpGzxqrglWlrVpDCg6hS0HvMbKCKm8FcSZjvbklbXROR8mMy87p4RGMM2Zn170G30Hv/xhepCQlNPuTTmiWBaasX4rxKZ1EkR/jWAyvGHflgzrgDtFahG9QYW+Zref2Vq7OILa0A3rBMLB9+ZVhCd8Q3ox8iDpwS0NcAT6Sf8TCA4ITkk4SvMiYvIvTzqgAQkBCzVRJbJZfx1Grhr05qh5KY64XpZHBVo8ILVHqB8ZApNf7OcgfXP1di8YqXo2lvuOiQW6gXM9CLcBcNhx1eoakmHh3NjDB+0I1Ugx2UUVUXbtOF0wpyw2AUx5KwGVHHpf2L+WfsFeRzU9Dhlxp6Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hgxPeQiHzy5MFC53Ih6zlOVW63bX/+mDZKrUhHs5CNY=;
 b=f70P1yC8sXBbmedbFdcepj5Q1QVV0OUwqGLxpURX3AxP95kWhIDzWCWIao4J2qjZWyeGa63fB9i9nuGcXmWvqdi1y/ffuQ+NsnRBuM0zaISmBYtAEms+etAlFtXSW3wyATXzdBr9JI5NuTlhXVSNPnjCWJfdG68BAl4BMSYsfGgZs0/yqMD3f4EId8dWRgR1I+isAQ4RM5mdJe/nPufTddR0BY8f17V+xkfQhskqwtFFlwxOvmvEG1oRQvFls6fzqaUvllMmjnXtsho7XKeNp4otgrMCmywpddMs0YXWyBPoYYcpBCjFC1mp4IxSZp2/9mmsD3anXgMpO3BiFDIqow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hgxPeQiHzy5MFC53Ih6zlOVW63bX/+mDZKrUhHs5CNY=;
 b=ToWgxJ32E03WSrjJV2H+ylr5Kx1X65DIk3Hl1oJ0YaLOkOZMV13eq07YgpsdsYt/N6n6uzV8tJs/7ieLG6vLWtCODKDZfsxfSk/2t9PJTRTLqWC8/eoy1LP1lIqlY99TIlUfqQFFWwZr7CMZeSU177Ab5tMoGhdaYtjOGBHZoLA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 10 Jun 2026 10:17:11 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Ross Lagerwall <ross.lagerwall@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	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>
Subject: Re: [PATCH v1 1/2] domctl: Handle XEN_DOMCTL_getpageframeinfo3
 without the domctl lock
Message-ID: <aikdh1quWI8TF47O@macbook.local>
References: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
 <20260609151528.2426788-2-ross.lagerwall@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260609151528.2426788-2-ross.lagerwall@citrix.com>
X-ClientProxiedBy: BN9PR03CA0089.namprd03.prod.outlook.com
 (2603:10b6:408:fc::34) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|SJ0PR03MB5486:EE_
X-MS-Office365-Filtering-Correlation-Id: aa888245-50ba-49dc-d8bb-08dec6c8ad98
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|376014|366016|1800799024|18002099003|22082099003|4143699003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	ODedK+WGDL9fAo2g//IPbNAL4Zdk1t4WupCLOvzOeYQE3MdvZeE1BximeT3gZVF0G/ohSOC/tXxjq/9iYfJ7Ly47RwvQzVkaxOG2ZNYsNobTg3fe89XhUrKI+6lnWRtRpeZZlYN4gJSgnJ/gH1raAfG8QgycSlhx0n2LdaxdNjJa+cuKyRinQTe0mtP79Fkc/Bwykn1f+MYEXY9seiKf15+QI2zUJHYjnrz8P5h6ivy9zpsq68fMNQISYy7MRcEjGOIvec4Hmpvj+dy8yuJcJI7f+Exj4NXQKQeXozrXbVklG6vqr56YrOKrz8WADSUN3uW8benBFGB38820oxBB4FinruMA1rN+GR6IEB5BUMiWmng/VCa1p4VS+cCMBWU7qtzvaC2V6i8EgtC+lEmQo/YynNZgKCNEWa/tR1ItCH3YvqPEyvBauchKJaNNYXgJk/6UVj/orslgYuAxF6H6cZez4R0EFAvMEPXRZ91w7IsKHAnHNfY9Or3MgF5EBfsgIHbGo7luBU5DxHoWdar0hmQgwa9zhT7wXKrL+xwONQOsLKasH2bt5cS8aBpP73qr9pRuZHjq8fT+9xcV/f6GSIJvz2t6tzIdr1wCVaALEWiYX2veqohUEugX0gmr8kide456c3trtudRJAlXMOvNxyor107dWOf+gYvEeALb0ULE9savF9/CtH6o0x1B1rYR
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(366016)(1800799024)(18002099003)(22082099003)(4143699003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VHJ0UVpEU1dtRHhXRU9wUUZWRFkyUTZOTWExcm1TZUU1bGloY0xuV09oblFL?=
 =?utf-8?B?T1F6TzFSSm5nOEVrSGVMYTZjcHlEL1V0c0dWU2kwMGZGNFlsUk1OcGJtRXM0?=
 =?utf-8?B?M3hPWUR6OU40cmYrSmw4VndOMlNrTmYxaGNLMk56aUlFbFcvZTRnQVFnaWxL?=
 =?utf-8?B?ZHRtb1ZKQVhEZGYrNW5vQUxHTndjSjVpdVJvYVlTdy9mTytKaUZVOWhCSDlK?=
 =?utf-8?B?NitkNTFzZS9wSXY2WVNOWThzZlF6djAwZ0Z3Yk54aHpVcHlubWpqTHdlODEx?=
 =?utf-8?B?LzJWQXpSSEplcUpzbVdUcVdjd3I2Q0ZaS3loYVZKTTd0dUlZYU5scG12V0Fw?=
 =?utf-8?B?R3gwZGV3U3M4b0tsaHA3TkNvL3Y0TTZVSkRMZVZFMGFweVI0Rm5mRTZCZytn?=
 =?utf-8?B?aXJwbnlJK09yVnA5ZXBOMk1xbXdDMC9SRlZLL3hpOHIwa09jdDZYRGtzQ203?=
 =?utf-8?B?ekh2ajdLMDNVWTV5ZklMbWZjL25BUUtPdyt5bDA0ZnVYdzZwTlMrOTl6K21V?=
 =?utf-8?B?TTdGUUNvVmk5QXJBNkhOZEl0UFVZbGNFQkNHMWxRa0dzV2JQNU15RzVXZmdF?=
 =?utf-8?B?WXJ6R2FvYUVSWVN0S1pJR0gybHlUYWVjZFlsRU1yeU9BTTB5MmRQVzZpbjlk?=
 =?utf-8?B?anNRMU9GM21NM0QrdTQzYTV6NzY5REZsRjRydFByMnZiYzFjbXFUNThLNmkv?=
 =?utf-8?B?NzFaOEt4aE44a21XYjdEL2Y3d2RjalN5MmNHbzEwdW5UVjFJcVZzQldqeFBJ?=
 =?utf-8?B?VTdFUzZQNHRqN1lZMTQzN2VtT3FSZzJzcDBZZzVsOVhjNkRLN3NoSEgwYjZT?=
 =?utf-8?B?U3VJRVUzUWlLdnpOcHBXMzNteWFLTnVuTFplNVBzbXExU0t1M1c2U004ZHVG?=
 =?utf-8?B?SFZCQXBTY3FZLzFIQyt1dzlFWDFGaTZSRGtXVXVZVm5ieFpLeDlIUUhWRWN2?=
 =?utf-8?B?ZnlYemdQcHc4bExLSkJKa2lXcTJ5MHhhOHBEMnpQKzRRejhETElVVnlBS1RW?=
 =?utf-8?B?YnplWGxDSWZ1c2VMYmNrbjFIUlh2RG5ycW5HQlJYZUZKLzZWYUR4L2NLbUxm?=
 =?utf-8?B?djFpRyt3STdxM05jSytheWhJT2wxdDB0eEIxLy9oVmU4WDdrUnUwM2d5Sk5M?=
 =?utf-8?B?S3BBZTBNc3JvMGtMV1NtYTV4Nm9oNG9ZRExrRjNzQUFUQ3NXWjdnWUVPWUFN?=
 =?utf-8?B?VlErV1R2eGVnbHAxNVhucXdxR2dMT285NlB5S1VNNEVLZUdNVDN4WFd5blJI?=
 =?utf-8?B?dythUExMcjBsUDhsV0xIUERrR0oyVjFuL3RObzlFS081anNBSVYvQjRuNzdr?=
 =?utf-8?B?NXJ5SDl2WmtqZ3crb3dTcWhxUHZ2VEpHcFlYYlF0dnhxUnpENFQ5YWRpRjJV?=
 =?utf-8?B?MUlRSGdqMHFLSThIVWIyditSOVliVGVCRlR1U1QyQUZyUEpBQVV5MnhneWgx?=
 =?utf-8?B?anMxSXZMZzUyd2JOM1RXczN3ay9hSEVldVF6YU4rcUpIT0NtYk5vbzNFYmpp?=
 =?utf-8?B?UlhYMHJZeEdCWVBHMXpRa29TL2VMa0xCbHRweFFIZEtxbHRzLzhkTHd1M1hH?=
 =?utf-8?B?cVNTTjQyd1ZkZzJndExRQTk2Z2NPdzAzUEo0TGE3djhKZkV5dnJtczVTZFFY?=
 =?utf-8?B?VE1DUk50RjJXckdRTURKdTNPMm5EdHVEN3NCc3UycE0yYUNFS1p1M2M4UVlu?=
 =?utf-8?B?ajZYbUdrekVpTmt0SE55bHlrS0pNckRleUVLRmpEbFVwb3c4dHM4UmhmY2Iv?=
 =?utf-8?B?SFJDWTJpdXR1K2FHOE9nZlJiaHRtcTIyRFRrNUVtN1RGaHp5SjNrVUZGdG9R?=
 =?utf-8?B?a1p5RFo4UzZIUGxCUVVnWVpRQWU3TXM0aU93bnNxd3FWWFdmWGlRMFZRdTVW?=
 =?utf-8?B?Y09ldnhyK0t1MnIwNjJHTDFhdTA0aGhuOS9uMHFocXM4dCsxVWFuY0hIN1Ra?=
 =?utf-8?B?a0FpSnBzMnBTRVVTTkJQSXZFZ0N3bmNLdkZ5dmJBSFlCdG5DdnA0TjZSV1Ix?=
 =?utf-8?B?V294NnQ1OWZEanU4U1JCb2FMeERtYWVTbUFaOENHZnliRjhoWUtjTm1ydzNx?=
 =?utf-8?B?OTA4VWw1RVdiSG9HU0E0SVpWMlNGU3IzTkZUeHo4Rm1jeE1PWVNQZnZtOExH?=
 =?utf-8?B?OGZrRjRJeWJTenQ2QnUxeFpNUjZIQUFUZkxGM0NOMWFhaW5NN0ZxZ21MN3FX?=
 =?utf-8?B?WDAyRlB6RVIrZ0ZrZDRPU2NzSmVCMVFuSWc5Q0l5T2xnaWVpdHhtNm9XdU9E?=
 =?utf-8?B?WGNEckZQbGVHS1ErazEvZjVYMFNNVy82anZmdGsvTDlWNUMyTHdFVlJSZFpS?=
 =?utf-8?B?MXhPRmh6cC9CVS9GcXhDUm5uam1rSENyWWMvWUdGZ21PZDAyYk5rQT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aa888245-50ba-49dc-d8bb-08dec6c8ad98
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 08:17:14.3311
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XufISh02tEbwuk2YBdO0v2AIiGpr0n+W1g+vH13mvA7ffFpRmVbwQ7np8JRxr9atyH/HX0PAvhGfU7DWJrDRmA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5486
X-purgate-ID: tlsNG-42698a/1781079438-13B78F3B-D7B94DF2/0/0
X-purgate-type: clean
X-purgate-size: 341

On Tue, Jun 09, 2026 at 04:15:27PM +0100, Ross Lagerwall wrote:
> It does not have side effects and is protected from concurrent changes
> by the P2M read lock therefore skip taking the domctl lock.
> 
> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>

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

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 08:35:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 08:35:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334043.1597145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXEPI-0003iT-AV; Wed, 10 Jun 2026 08:35:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334043.1597145; Wed, 10 Jun 2026 08: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 1wXEPI-0003iM-7a; Wed, 10 Jun 2026 08:35:28 +0000
Received: by outflank-mailman (input) for mailman id 1334043;
 Wed, 10 Jun 2026 08:35:27 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wXEPH-0003iF-2W
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 08:35:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXEPE-002Cyk-U9
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 10:35:24 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2921c6-5cb7-0a2a0a5109dd-0a2a450ca894-22
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 10:35:24 +0200
Received: from [40.107.209.33]
 (helo=PH8PR06CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2921ca-62f1-0a2a450c0019-286bd12197bb-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 10:35:24 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by IA1PR03MB8357.namprd03.prod.outlook.com (2603:10b6:208:5af::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Wed, 10 Jun
 2026 08:35:21 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 08:35:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ODQdQXfdSXafDHvhIeRPgAErYDAx0c1AW2LQ7Ua6Y8ElQPuMmP8a734NNlI1gWnm2ePMkznnbzRBK9IWILeu+YfMvdctrO5CgE/ksbE7eQdL6U/w6/pRp1keCMYUBDkrYLj6BnRYl+PKPNytlq5kv7J7K91wTuni44jkM/kLRVElAPSdG5Ywfon6j2gxqguwSMCGnAtnMDG16NbnD1v96AYHGNMoHhlXLONWfYYsQ6aJrWNfHurvXpqln8kE581yHouqgXujR5tWFV1ORvSFe9DvvqkNNeiTMzLJsHq9XrLKhKDI+3jQQV2GLyRflPjo+/t5eQ35dfHkNQSaEhb7uA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jTYXo62toH32kokY6IG22glmgp1L3u5fR7iuZMsSv1s=;
 b=QXjgig/DpIVnpWm2quSLYjPx2fNfjU3cZSTLwwPneQvCGMu7tWETyDs2Kh9PqC5YOwj4J364+D74t2CvhJDnO2eI+sGChGbFACDrIfDaOOe25c8PdkgYLRLnRQ+hminU8KYTsiEFD77V3EMPPqmfDkaFx09PB6ExduqKS6JBLNMKr5APPxFksbwaEzOw4iY39iy8jxgLlhsgEb91SAorhZ56ik1qgUGsUjAtLmi6HcjfRZd41jber+TXNWvQlRiXXf8GPFkKovuB21ZtuHU+urp7ivCvHS3zBH9qgH/RbCci7jbtaUke3VMpoTZtxaLFqRty+UP17x0qI2nTcv9Bkw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jTYXo62toH32kokY6IG22glmgp1L3u5fR7iuZMsSv1s=;
 b=GrdbCLvo+ZyAEco4G8B5tsBVja+NWJHkeQ4k2S5sH0koSPDWsMncoA8NMuK/AzXfxBWL+VKHs8y5qx7an+tKzh+8KQ28Vt/VUVnTSmBHUAbidBq7I3vOWXIVD/SQ+7fXFtcivMr6M/BMzoN6E0xoOP2fENCXUqZ9btdFJdd4jok=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 10 Jun 2026 10:35:17 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Ross Lagerwall <ross.lagerwall@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	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>
Subject: Re: [PATCH v1 2/2] domctl: Handle some of XEN_DOMCTL_shadow_op
 without the domctl lock
Message-ID: <aikhxaH3ZKyd33IY@macbook.local>
References: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
 <20260609151528.2426788-3-ross.lagerwall@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260609151528.2426788-3-ross.lagerwall@citrix.com>
X-ClientProxiedBy: MR1P264CA0122.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:50::32) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|IA1PR03MB8357:EE_
X-MS-Office365-Filtering-Correlation-Id: 21a12dd5-bad9-4821-21ef-08dec6cb3543
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|1800799024|376014|366016|6133799003|22082099003|18002099003|56012099006|11063799006|5023799004|4143699003;
X-Microsoft-Antispam-Message-Info:
	ReKF2mqsMqN/PlDxEoDbGbR1xNLVuF9Ko/mUy+1MVO3viafXaMsmpTT3WNPlcDwuBO4aC1m68mO/15RKOqBKezhU6giE+aHrHzXVtfQPUL3l/cOU0kbYFLIC4vcbz2E6AyCdywMBnslYM8sGk1vVWF0f2wHZqklBYfx+J8KXBQ/wVrpT7t6DxHm1mUMv7RZYMEv11j0S/lb9sHO3pdOD8B+9YU6zeRRm3ltacOgEM5YSuIYc5RDVCKdjXhzY0NK4K3bamuWaaR0OcCzmemtWWcdIaMdHZ/VQudv6nIDda00uW+HExJE3xxOqArKeDVacycPMTNTUCeDWSuchlU4Qjy2uxoLpGhOBaLq7rI3YQFN1ZjeiXP1i0P3AnxnDiyQPbqYTFforWITpdhXEEOKGePthm8X/r5hTD3vpnXgAz+boY5SSjTgBnKNsT51iqcHAMjSvX2uh55ERFu5EuCp9NGHqanI84al3SRIk677Wjy483RmqAmA2u/+0OJXK5VPPk8N3UyhEqlJv4CBQo1jSHo3PV6UpblM4nS0QbtrFYJaK+ad+obmumNNyKbfSOKaQ/Dx7yZPWpCV8IEduMifTqfeU6F1HVIpI8cFi7rg6Bmywd4XvfebkMWL3hY0I/SrKXnjRkNhhLLQenp/kbCBFupFX5m9uZVinagT8ZGioYjOz/SggdPtUg63Ym0pJfzb9
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(376014)(366016)(6133799003)(22082099003)(18002099003)(56012099006)(11063799006)(5023799004)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eUZncStOMmJvc2lXQzlEbkJBbVVVekhrT1JBMk1zQ2JXcElaZTJTcHg5MlZN?=
 =?utf-8?B?RWUxcVlFNUZvS05rRWlBN01PUWxsamZVT3BleFBpVXF1Z0Y5SGxjanVubFgr?=
 =?utf-8?B?N25vdjI1T29DdVE5bTk1bGdXVFo5UC9mVmRPYkZHSUFWdXU1U2hNOUtmR0ww?=
 =?utf-8?B?dEJmM09NVm5rblYxazUvQnpxMWlXc0JJNWFtK3Vmb3FWRDJ6dUJHcjJVQ3N0?=
 =?utf-8?B?a0NubCtBRys5Wm9BZkJ6THdoRXorZXZNNWhMaysxcm10SDBSVFh3VWRxdFlK?=
 =?utf-8?B?UW9aVEZQV0J6MU1NTXpEc1hWOUh4THhIdHZ6WE5mTWFGNytIaEVBeEgzVWQ2?=
 =?utf-8?B?OUhtMzZaeFEzbjBPQ1hhbEJNNXNvNXBKRFZpTmdyYk5FaDNvKzFpbFRHcGsy?=
 =?utf-8?B?S1lCZVlILy9RUkJzN1NuVmZMSW1mTktZYzI3N3JDNDgrMDU0RjRDQUdGSTJ4?=
 =?utf-8?B?cWRuWmx5b0JGeDBHWVdOUHN2M3pVOWdQNWhMbHBFemtxeUgrOFhhTGcyUjFN?=
 =?utf-8?B?ZjFoaXpmRVJEYUY0OU9tT0oxb2k5UEpyaTl0aXFrRWZIaThSVkRrSnE4SStR?=
 =?utf-8?B?WDRDbXlyWFV3Q0FRTEtZSnVHN3hLUmFFVlN6aTc2R1dodDBjekczUUVGdE5o?=
 =?utf-8?B?MzBuMmNmdnJIdTIzQSt2ekJMZWJqdmZGUTZXa0RObzdlbFhlT2w5MmxZL0pq?=
 =?utf-8?B?ZklKTlRvRC9CbGo2WDlHQjQxbHFzUDlFSUlZTUVQQ2JKbWw3UVVvZnhUU056?=
 =?utf-8?B?QWVab3ZkeWdsdG5jRGIzM08rTDNaM25PMlN3MkNqYnY1ejkrSnNVKzlHdm8w?=
 =?utf-8?B?QzFZMHpOZnk5d3cvdHlIbGJDVmhBNU5hSzVUaUhsVWJIb2FtWGZ0cUJ0VGNK?=
 =?utf-8?B?NTJHSDhxQnorNDh1Y3VRNXdaOEU5NW1jak1Nd0lrcnRZT21ISVpOclhKNzRP?=
 =?utf-8?B?VTdKVUxpVGduZ2tEMFhTM3NGekthQmo1cTFwY2ZrYkVpbktTb2VIV1hGYy9u?=
 =?utf-8?B?SG0zdUtiQjROWlBydElnWUF0OVpPVHMvNTNOVWh5NUthTUVkNHlLUDFFYXZG?=
 =?utf-8?B?QVlGWlNnM1pRdTF3cG9DZkJTRUxNZGFQQk12L1J5MVZtME0yV01nNmRhamo5?=
 =?utf-8?B?d0hhSVRtY0UyTXVxOWVuVXRwZ3BRaGtwNjAzVUh0THVFSlJKWEViSFB2Y0hU?=
 =?utf-8?B?cGtMVExKamdINVBTWHlyNi9iUy9YQXpsME54ZmlUKzl2bGlDMHQ0YjVhc0xN?=
 =?utf-8?B?K21sODRRcDBSeko1TmJDZ29rWExOaVNNV3RaNFhJdG5qcDVpRWM2ajVKTFlj?=
 =?utf-8?B?SUJCeXhiSWFQd0VNWjZiSHZtTmxxaTBlUlpRMVJKM1ovS3F3RHlhZWxzNVZS?=
 =?utf-8?B?Z3YwUForWVJiMkRjMTdQMzA5aDYzNXEvb1VaUmlYLzJIcEgxUC9xSDU4NmVr?=
 =?utf-8?B?VnR3TUdDNjQvWEFmZGVuRVBFQ1NDVEN2R3FIb25aaU1OeGlFeURzYWJqMmdR?=
 =?utf-8?B?d1BBbXlMajArbVl5THRpL3J6U3luYUJrQ3ArRlh0OGJUTnZ6SHF1MjcyWFUv?=
 =?utf-8?B?OXl3dGc5THdSK3o2MXdmdWlyck0wcE9CY25IVkcyTGJXc1YxNHdVMTMreG5U?=
 =?utf-8?B?MGR0Mkx6dFhmTWt1NWpaZVhIdHl1TS8yTmVHemp1eWhJVytMU3B3RnJ4WTA0?=
 =?utf-8?B?cElaRlVEMVlwQkxyam9KSkZaWk5pMDBpbEpwYXNzTzl1anltRnVKU2RLOUY2?=
 =?utf-8?B?djFxaUpBbzB3UVl0Nkh3dVRld3p3Q3lraXdDT2ZwYmhXczdrTGdqdHFreURQ?=
 =?utf-8?B?UC9aRys1MjBRdEx0dFlUS1U4TG9nWUVXQWR1WnVvVjNqNG1YeFhlMDBTWjFG?=
 =?utf-8?B?eTJGcU04OTcxMHowTzdJY00wUlh3VHBVbzRVS1hleW51dWJFblFEMEVOWjAv?=
 =?utf-8?B?NWcvYml0SEhzQVNuY21qN2Z3cnJQMXVVRjFqZWxUbi9GWk5idllzcGJsZ093?=
 =?utf-8?B?K0UyaENTa0VrN3RvckFpdlNZWWUvOTlVSnpaNjZVVWpQeDBhQm93bDhvOHdZ?=
 =?utf-8?B?NEFLRmdOcTE1UE00azZaNWpCN2hFOHhRMk1KcmVGcGRsdlNJb09heWZmWVJi?=
 =?utf-8?B?ZzYzd1pRM043YjRHTktvYUY1VUNEakwybFJIQS9aY1BiMDRQYWE1c0NxWlg5?=
 =?utf-8?B?bEhLTXI2VzBYTE1Dd3Q4RFhQVmRRc25DbWd0TDEwc1Z6S2NJUHdoNmtXaVlx?=
 =?utf-8?B?ek9TRk5valA1eTVpbVlPa0RieERTemM0NXlZVHBDdjVrTjRNZ09sNkxVb2hI?=
 =?utf-8?B?WDJMS2VSM1FqbWVuV2JQSURYNjYwaWpsdnljQkpkcGQzMkIydEFRZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 21a12dd5-bad9-4821-21ef-08dec6cb3543
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 08:35:21.0063
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 02SX+5tRtDUe7Y+SOeKi77BVCZfK2Rd/EHBzNa5CvN4b4olMu9DGtajBux1JYBgNOFXoP6Obw2BEmlVdmgbjGg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR03MB8357
X-purgate-ID: tlsNG-d25034/1781080524-DAF72CF5-1EADBC79/0/0
X-purgate-type: clean
X-purgate-size: 3774

On Tue, Jun 09, 2026 at 04:15:28PM +0100, Ross Lagerwall wrote:
> Handle XEN_DOMCTL_SHADOW_OP_{CLEAN,PEEK} without taking the domctl lock.
> This is safe because for these subops, the paging lock is mostly held
> which prevents it from operating concurrently on the same domain. There
> are some parts that are called without the paging lock held:
> 
> * hvm_mapped_guest_frames_mark_dirty() - The function itself takes a
>   spinlock so is protected from concurrent calls. In any case, it will
>   mark all the pages dirty as required.
> 
> * domain_pause() - The toolstack cannot unpause the domain while in
>   paging_log_dirty_op() because the toolstack's pause/unpause ops have
>   a separate ref count.
> 
> * p2m_flush_hardware_cached_dirty() - This is called elsewhere without
>   the domctl lock held so holding it wouldn't achieve anything. It
>   should be fine as long as it is called at least once.
> 
> * log_dirty.ops->clean() - If the callback is hap_clean_dirty_bitmap(),
>   then it will hold the p2m lock while modifying the table. If the
>   callback is sh_clean_dirty_bitmap(), it will hold the paging lock
>   while modifying the table. In both cases, this is OK.
> 
> * domain_unpause() - Same as the earlier domain_pause().

You could join both into a single domain_{,un}pause() bullet point.

> 
> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>

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

> ---
>  xen/arch/x86/mm/paging.c |  8 ++++++--
>  xen/common/domctl.c      | 12 ++++++++++++
>  2 files changed, 18 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
> index 1a5822808620..bfb5b423a0dd 100644
> --- a/xen/arch/x86/mm/paging.c
> +++ b/xen/arch/x86/mm/paging.c
> @@ -746,11 +746,15 @@ long do_paging_domctl_cont(
>      ret = xsm_domctl(XSM_OTHER, d, &op);
>      if ( !ret )
>      {
> -        if ( domctl_lock_acquire() )
> +        bool lock = !(op.u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_CLEAN ||
> +                      op.u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_PEEK);
> +
> +        if ( !lock || domctl_lock_acquire() )
>          {
>              ret = paging_domctl(d, &op.u.shadow_op, u_domctl, 1);
>  
> -            domctl_lock_release();
> +            if ( lock )
> +                domctl_lock_release();
>          }
>          else
>              ret = -ERESTART;
> diff --git a/xen/common/domctl.c b/xen/common/domctl.c
> index 35144d95b808..a3888c4e87d4 100644
> --- a/xen/common/domctl.c
> +++ b/xen/common/domctl.c
> @@ -559,6 +559,18 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
>          ret = arch_do_domctl(op, d, u_domctl);
>          goto domctl_out_unlock_domonly;
>  
> +    case XEN_DOMCTL_shadow_op:
> +        if ( op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_CLEAN ||
> +             op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_PEEK )
> +        {
> +            ret = xsm_domctl(XSM_OTHER, d, op);
> +            if ( ret )
> +                goto domctl_out_unlock_domonly;
> +
> +            ret = arch_do_domctl(op, d, u_domctl);
> +            goto domctl_out_unlock_domonly;
> +        }
> +        fallthrough;

Newline, and I would use break rather than fallthrough, if further
cases are added below you don't what to fallthrough, and there's
nothing to do in the default case anyway.

See for example how this is similar to XEN_DOMCTL_vm_event_op which
also handles some sub-ops without a lock and uses a break instead of a
fallthrough.

FWIW, I would also put the XEN_DOMCTL_shadow_op case after
XEN_DOMCTL_get_device_group and ahead of the
XEN_DOMCTL_ioport_permission block, but that's just my taste.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 09:19:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 09:19:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334055.1597154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXF5Y-0001y2-DR; Wed, 10 Jun 2026 09:19:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334055.1597154; Wed, 10 Jun 2026 09:19: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 1wXF5Y-0001xv-Ar; Wed, 10 Jun 2026 09:19:08 +0000
Received: by outflank-mailman (input) for mailman id 1334055;
 Wed, 10 Jun 2026 09:19:07 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <marmarek@invisiblethingslab.com>) id 1wXF5X-0001xp-EW
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 09:19:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXF5W-008lMq-5g
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 11:19:06 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a292c08-e002-0a2a0a5209dd-0a2a4502c468-4
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 11:19:06 +0200
Received: from [202.12.124.144] (helo=fout-b1-smtp.messagingengine.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a292c08-af86-0a2a45020019-ca0c7c908839-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 11:19:05 +0200
Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42])
 by mailfout.stl.internal (Postfix) with ESMTP id 309821D00103;
 Wed, 10 Jun 2026 05:19:04 -0400 (EDT)
Received: from phl-frontend-03 ([10.202.2.162])
 by phl-compute-02.internal (MEProxy); Wed, 10 Jun 2026 05:19:04 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 10 Jun 2026 05:19:02 -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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=1781083143;
	 x=1781169543; bh=FGNOd1fmLA0U9beI/bvQjteaeaan28/WYbWhwXISHjY=; b=
	fxLJGSeendqeKmQ0khpiY0IossveGzT2ICg7WXvIp2ufagp7cTjwLZ1r5pkAb3iF
	lM0VrNhaBWMB1ElPdNw5blpbTlrhUmfkKKv7Grx4ORH0AW5DIxOroVLWWJKL7lhZ
	dSdWA61KT8uhRoskwAEek6EEiE7/js4RjHykIgqrvAc/I6S7W9+2TRCCaPGYZIdO
	yees+4rzrnTorddL8axv+0NdbjEVuFQoNV5QTcyggCkn3wY5/wSL4tYIIODXvly0
	zl1OnWFeFpL8N/SRTn8ZyKUA7QNqhrfNpePMQSwZhjwbr9cPEJXpTzuJH1Jdmr5O
	vR85iPSXbR1/q62QnFtDMg==
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=
	1781083143; x=1781169543; bh=FGNOd1fmLA0U9beI/bvQjteaeaan28/WYbW
	hwXISHjY=; b=EQ/t85FNWeBvBGSjWmL9q9/+Dl5xRZ4flKzxxgvGLnERjpRMHir
	vd49gKwFN9owFkXro2p2C1IIyi1Jy4LcqCw50P2F3ckiFMGhCleTL+51aJon4bc8
	zmV/vzpoZHfmqvazgQN9yUFjvVFQweFHtUFf4KB5Sje01YJSNs9QCHb94ngpxmEr
	zNNEns/KJgTe8ateFr+nl8kYV2pARLFO3zFVHkJ5iemfk3ljwNKyMMTGS4Et+fTn
	YyD5VZuyuFDmVHueTVtdK2esoFqZNn7v1eAQoKB8hagasyWbJVOrgtJhwW/4t6qn
	XXY2Ca/5cBVkZx1v6tfxf85QtXIzHVHXtnw==
X-ME-Sender: <xms:BywpapB4UgdF7XrCTUClo_tL0RcDvRuyTnilXb0-FA2ggEGHEZBGog>
    <xme:Bywpammwl8mFz_KoDq_jwBfi5vLof3X49gsnYiI3Of4dLMrqIOUTjtVhhdb6uuLHs
    3dCc6yGaR5oYOz9PFQaweeDiWYt51QqLJ9d_N1-w5M1OFJvDA>
X-ME-Received: <xmr:BywpaqwwbWCo9i3delSr1J_Srl8Fudk4S7blJ1rAFQ2-MjgVzTFvpX94CTEFvxPZ0WYUWdCw2TD0Ew-xNvTZqCsuHDLAcuGnO_U>
X-ME-Proxy-Cause: dmFkZTFiAnne/jbfKc4DdlUbNn8EoGq2rniK9JsuW8Z8k5CtQsigcNmug2lL5wE1loBqW/
    iVvkG1b/EsNVN+g8jqCT5rG4Rkz49Plw60Fdnxn3WsYpttVReiaaIEBaaWmczGqzl/RGIW
    vs45TkUZjZXcy3v3ldmJPSfEQIIhrUxphgi7fuYapzUHova9blLEOUEhqpv7oBhGVKCoA6
    WQ7omLa2jCtGRvdFJ99fimYx++f4jLK5IwD4uNt3aLRT/F2txjamzv97s6hi6xI6Ln/Hax
    qtXwn/cmy7/cJkToAbaGHMfHSN0L2HdGHpsaugDAH0DPQ9kscFLbh1xlhJe+NHi9axuORR
    T9yrh9ze+ck6cIswF/Put+p48tgKfkIEDuJ2afQG2IuhcydfsTEiX1k/Q56T0ohPYag3+R
    4wYVNIkKfhVmfpIz+/xuSKQjemM5Vc7Vy+AdaGao6MQzr4O8NFXLw8Q1r1IviTRtCiIWFd
    QKtXbyGQbxMSxImuiIkYwmEp3S9OOw3VV8mqNTy1hAD35z1dRo1/CyOncxR2vUiJoLAREB
    SiA/pAVlPXucn6qY+GlhA0BNKeiA64LiKhlFhLlb5OFZc0OZddIdVuqpJDoK+09NilDMza
    GzBt6Hs5lUx/WAcZPyWOg+ZxVqq2n7nBZTlsahSpWEFmfj7+ZWd1aDYsB/nQ
X-ME-Proxy: <xmx:BywpagRfsaNSDQUHN8k0HKDpNBRjrRLiaNGSQRXrLPoHRRPFzLT6Uw>
    <xmx:Bywpai-b0UWZI7CLO4Pl2zCG_8fie-52K6AfPJNC3GZYPJJAv5MrWA>
    <xmx:BywpautKt71VWHtm0Cjos61HSs_q6xOrRnSiPematRKQW8q5AIsHtA>
    <xmx:BywpaqNYwdHeYlI0R7SP6qDUB55u9Sgfa-tpdMBf_rjmWxTx2W9TKg>
    <xmx:BywpajkzduA91_0elxYGx406c0RWz7Pbrk7pd7KxFv1HNE9HTbjGt69B>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 10 Jun 2026 11:19:00 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH for-4.22] xen/x86: Always strip xen.efi
Message-ID: <aiksBFm6Pfe7chWZ@mail-itl>
References: <20260608173108.2848469-1-andrew.cooper3@citrix.com>
 <aicffd9gRs-HQ88v@mail-itl>
 <696a426d-0007-4cc1-9997-169fb9af7c7e@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="WCBoUGbWHLWUz0VF"
Content-Disposition: inline
In-Reply-To: <696a426d-0007-4cc1-9997-169fb9af7c7e@citrix.com>
X-purgate-ID: tlsNG-720697/1781083146-82F6E161-D2808BD2/0/0
X-purgate-type: clean
X-purgate-size: 4105


--WCBoUGbWHLWUz0VF
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 10 Jun 2026 11:19:00 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH for-4.22] xen/x86: Always strip xen.efi

On Tue, Jun 09, 2026 at 05:56:10PM +0100, Andrew Cooper wrote:
> On 08/06/2026 9:01 pm, Marek Marczykowski-G=C3=B3recki wrote:
> > On Mon, Jun 08, 2026 at 06:31:08PM +0100, Andrew Cooper wrote:
> >> From: Frediano Ziglio <frediano.ziglio@citrix.com>
> >>
> >> xen.efi with debugging symbols is ~45MB, down to ~9.3MB when stripped.
> >> Multiple firmwares (as seen by QubesOS, Trenchboot, and XenServer) are=
 unable
> >> to boot xen.efi when debugging symbols are included.
> >>
> >> Either way, having debug symbols by default is abnormal and contrary t=
o how
> >> the non-EFI path works.
> >>
> >> Produce xen-syms.efi unconditionally, just like xen-syms.  If
> >> CONFIG_DEBUG_INFO is enabled, these will contain debug symbols, and if=
 not,
> >> then not.  When xen-syms is processed by mkelf32, the debug symbols ar=
e simply
> >> discarded.  For xen-syms.efi, call $(STRIP) to produce xen.efi.
> >>
> >> Some old versions of binutils ld managed to produce efi files which the
> >> matching version of strip couldn't process.  This includes Binutils 2.=
26
> >> included in Ubuntu 16.04.  Delete the workaround for this bug, and req=
uire a
> >> less broken toolchain.
> > While I see Ubuntu 16.04 dropped, how is the "require a less broken
> > toolchain" addressed? By implicitly disabling xen.efi build on broken
> > toolchain? Maybe README should have a note about needing newer Binutils
> > for xen.efi? Currently it says just Binutils 2.25. There is a section
> > about optional build deps, maybe add there something like "GNU Binutils
> > X.Y (required for building xen.efi)", if the version is known, or at
> > least "GNU Binutils capable of producing non-broken PE files (required
> > for building xen.efi)" if the version is not known.
>=20
> xen.efi has never had any relation to the README minimum toolchain versio=
n.
>=20
> It has always probed the toolchain, and silently turned itself off it
> doesn't like the result.=C2=A0 In this case, we drop one of the "lets work
> around this bug different" checks which ends up excluding the problem
> revision.

Ok, in that case

Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

> If you prefer, I could re-split the patch, and state on the first patch
> that it's a prerequisite to be able to use $(STRIP) in the second patch ?
>=20
> binutils' PE+ support is horribly buggy and Xen is the only user in this
> area.=C2=A0 At some point, 2.46 (practically bleeding edge) is going to be
> required, seeing as it's the first version of bintuils where we don't
> need to hexedit the PE+ header in order to satisfy the signing process.
>=20
> ~Andrew

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

--WCBoUGbWHLWUz0VF
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmopLAQACgkQ24/THMrX
1yyXBgf8CjAGnYKGFSBYfdQ0g1WiZWwIGnD/Zq/yZu1RZ0SKbgVJXk8vlwqMJxGy
Lr6CSrhhUjAOYM9IqlC3Re12KFOsO7C4B+PmsanXgsRl+TShgyjayPtVyJAUFnZ9
LdiMEuUWg/2a5m3F303RMyHMmH18NzvWIu/0xPLekG1SBwyKD9MVMECtY1qd87yi
tWA4q8jAr97KToO6oy/EcwMJ2ylxdOstLrC1EYoNFS218m2YXGq1D7Tl7wJKDcnV
RlkQiBQfs3bkFWAZ8C9wPszCd6NhX9WrIjTYa/18YHtFKGj4Q0DPaAXzkYJJ6Bwj
/nEwXa+zD4Vg43aP9obgnzLt65kqvw==
=J5yx
-----END PGP SIGNATURE-----

--WCBoUGbWHLWUz0VF--


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 09:22:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 09:22:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334063.1597163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXF8R-0003V3-1h; Wed, 10 Jun 2026 09:22:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334063.1597163; Wed, 10 Jun 2026 09:22: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 1wXF8Q-0003Uw-UK; Wed, 10 Jun 2026 09:22:06 +0000
Received: by outflank-mailman (input) for mailman id 1334063;
 Wed, 10 Jun 2026 09:22:06 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eb0d69a94000701b@swg.vates.tech>)
 id 1wXF8N-0003Uj-VE
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 09:22:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXF8N-001dKU-Bi
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 11:22:03 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eb0d69a94000701b@swg.vates.tech>)
 id 6a292ca9-2eae-0a2a0a5409dd-0a2a4508d28a-18
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 11:22:03 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eb0d69a94000701b@swg.vates.tech>)
 id 6a292cba-63b5-0a2a45080019-b9ff1c12acc7-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 11:22:02 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19eb0d69a94000701b.008 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Wed, 10 Jun 2026 09:21:54 +0000
Received: from l14 (lfbn-lyo-1-414-55.w2-7.abo.wanadoo.fr [2.7.24.55])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id 0F9C982383;
 Wed, 10 Jun 2026 11:21:54 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=yDfyDx6m4KyUc65qL2NGoQvI5QITUAISoEsvfJUi8Do=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=PM+cyw6ZTlv+t667M8NCfo0Li5bTIUEVbIGNQQXAMhUbPe3jNCt/KYytEEstwK6FZiAB8jioK
 TLWnbftSeRPTeEX5H38CJMUGGaErwiD2z3ZxBPvCOo13034y8pP5YokaAQO2fD8Xv9nR3pUvPzw
 iNguuGYGLbSrP5dqAJvfTqW8ibpY0qJWw0FfEzZ1b7PtsI3i3Ytn76njky33QldxbFi0EvcIiBs
 ajfHLVGYV6rhjQCbAmAInUE53EUW+0lMiQER4kp044pYtl610hZKWo9emPDt66jPTB1xuKuh6EC
 j5Rml/Pfl+6FUL5BCBdyjXCyw8HFshyGFlJuWzjryEVw==
X-Zone-Loop: 6ee5ca2749ed35aa879b4b917130b9554a6846fb6340
x-campaign-type: default
x-transaction-id: 6c6ad509-12bc-4c81-99f3-d8bb3ca88b50
x-swg-uid: 01-b1607f3a-c1b9-46c3-9c85-21595355ee35
X-Mailer: Sweego
Message-ID:
 <1781083314.8631fc262581453bbf619ec5b2062170.19eb0d69a94000701b@vates.tech>
x-swg-bid: 1781083314.8631fc262581453bbf619ec5b2062170.19eb0d69a94000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Wed, 10 Jun 2026 11:21:53 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH 1/4] CI: Fixes to containerize
References: <20260609173102.2908514-1-andrew.cooper3@citrix.com>
 <20260609173102.2908514-2-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20260609173102.2908514-2-andrew.cooper3@citrix.com>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.253a.cda5263f327d7808.19eb0d69838.72266b7da08eed4c=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781083314232
X-purgate-ID: tlsNG-c1860d/1781083323-C487BDB1-90671912/0/0
X-purgate-type: clean
X-purgate-size: 593

---=Part.253a.cda5263f327d7808.19eb0d69838.72266b7da08eed4c=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Tue, Jun 09, 2026 at 06:30:59PM +0100, Andrew Cooper wrote:
> These were missed from prior changes=2E
>=20
> Signed-off-by: Andrew Cooper <andrew=2Ecooper3@citrix=2Ecom>

Reviewed-by: Anthony PERARD <anthony=2Eperard@vates=2Etech>

Thanks,


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vate=
s solutions

web: https://vates=2Etech
---=Part.253a.cda5263f327d7808.19eb0d69838.72266b7da08eed4c=---


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 09:32:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 09:32:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334075.1597171 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXFIN-0005VI-V8; Wed, 10 Jun 2026 09:32:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334075.1597171; Wed, 10 Jun 2026 09:32: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 1wXFIN-0005VB-SA; Wed, 10 Jun 2026 09:32:23 +0000
Received: by outflank-mailman (input) for mailman id 1334075;
 Wed, 10 Jun 2026 09:32:22 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eb0e00eac000701b@swg.vates.tech>)
 id 1wXFIM-0005V4-OW
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 09:32:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXFIM-00GYGU-1W
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 11:32:22 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eb0e00eac000701b@swg.vates.tech>)
 id 6a292f21-bab6-0a2a0a5309dd-0a2a4504c9e8-32
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 11:32:22 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eb0e00eac000701b@swg.vates.tech>)
 id 6a292f25-1dec-0a2a45040019-b9ff1c12a5ef-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 11:32:21 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19eb0e00eac000701b.008 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Wed, 10 Jun 2026 09:32:14 +0000
Received: from l14 (lfbn-lyo-1-414-55.w2-7.abo.wanadoo.fr [2.7.24.55])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id 9E05C813C7;
 Wed, 10 Jun 2026 11:32:13 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=hur9DcvtqW8IGC4KS9cpWtMmupPLoykzOrNT5tRiDUA=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=OvEU3eOFIyd0vohcOrkiCSXRn39lsbijh8iqQFWScpvtTBkj85OXtKR4/s0vJrNx6RQzCy3CA
 YlGN/oUc8Y51cwCsZXpn78oZSzTMDdBRbDhso9s0niloZzNVR/GcmIS763JqtEmzWW05GstCrnB
 rVWvyK5xL8gtp8Ff0DxsRfFald4ZNYVdhS+10MljJlsdgcOqCM1dDpdT4x7Y92UksbE6fH7WrrA
 3Bz9CTxWICn4iF//PwXrbshcC58cmdTs2YmtmuUmNrR4D0nfrNgmufPjqPi50UNFHiGDKt72LgM
 l+A9RsSWCVSZwxKY9zYL2qtXoeCgFxA9hAPEP24T0g/g==
X-Zone-Loop: b85fa4eb9e08f88df8559c19144400de3e37994b62e3
x-campaign-type: default
x-transaction-id: fe242ddf-de61-4ba5-b3f1-10be0bcbd0bd
x-swg-uid: 01-f0adf4a8-902d-4f61-b05a-9279b7b7a2ab
X-Mailer: Sweego
Message-ID:
 <1781083934.8631fc262581453bbf619ec5b2062170.19eb0e00eac000701b@vates.tech>
x-swg-bid: 1781083934.8631fc262581453bbf619ec5b2062170.19eb0e00eac000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Wed, 10 Jun 2026 11:32:13 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH 2/4] CI: Rename xenial-xilinx to xilinx-hw-runner
References: <20260609173102.2908514-1-andrew.cooper3@citrix.com>
 <20260609173102.2908514-3-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20260609173102.2908514-3-andrew.cooper3@citrix.com>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.2549.901c8ec704b0167.19eb0e00c6d.c5fce72eb44cbb06=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781083933805
X-purgate-ID: tlsNG-ebf023/1781083942-415783FF-C5FE0203/0/0
X-purgate-type: clean
X-purgate-size: 952

---=Part.2549.901c8ec704b0167.19eb0e00c6d.c5fce72eb44cbb06=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Tue, Jun 09, 2026 at 06:31:00PM +0100, Andrew Cooper wrote:
> The container is tied to the runner, not a version of Ubuntu=2E  Intenti=
onally
> give it a generic name so it need not change in the future=2E
>=20
> Apply standard cleanup to the dockerfile, except that it must continue t=
o be a
> root container to drive real hardware=2E  Explicitly install ca-certific=
ates to
> compensate for --no-install-recommends=2E
>=20
> No practical change=2E
>=20
> Signed-off-by: Andrew Cooper <andrew=2Ecooper3@citrix=2Ecom>

Reviewed-by: Anthony PERARD <anthony=2Eperard@vates=2Etech>

Thanks,


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vate=
s solutions

web: https://vates=2Etech
---=Part.2549.901c8ec704b0167.19eb0e00c6d.c5fce72eb44cbb06=---


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 09:33:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 09:33:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334080.1597180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXFJT-0005zs-75; Wed, 10 Jun 2026 09:33:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334080.1597180; Wed, 10 Jun 2026 09: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 1wXFJT-0005zl-4R; Wed, 10 Jun 2026 09:33:31 +0000
Received: by outflank-mailman (input) for mailman id 1334080;
 Wed, 10 Jun 2026 09:33:29 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wXFJR-0005zc-5p
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 09:33:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXFJQ-00GYVL-IT
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 11:33:28 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a292f61-2eae-0a2a0a5409dd-0a2a450ab3f6-22
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 11:33:28 +0200
Received: from [52.101.57.55]
 (helo=BN8PR05CU002.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a292f67-56b3-0a2a450a0019-34653937a3d5-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 11:33:28 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DM6PR03MB4955.namprd03.prod.outlook.com (2603:10b6:5:1e4::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Wed, 10 Jun
 2026 09:33:24 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.011; Wed, 10 Jun 2026
 09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TmlY/pb56wqjw5OOTmCe/WgoN10qrS5+4tnfZ3YQGpdI4Hz6BKAPT9vVYAEuSH96bR9vHahtzdYM70y1oxQ21Ltswn9xsWTeTtlHWQ5ymmza1Gkl/gvG6P/CvxJH7MPv3WlegRlpkiY5HeslWxzI0JMOfSYhgMMvy0utexaf39zoFyrFU4jtQDgYyKrXSEShL9oRZ1Ga9xGw78QIxtTCE+KNfwlRk7WQr6LnqFCPkOYok6U+vCXljPGCk3C4bZDfTUnW9CeldYW9tqThOmf8U+G7LWXV6hrF3XiW/OYfXeokHoXo99k5y1V+9tZzmvmIpdT4g6ssJr155U0KZz3N+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=PRbLC+Vbh3/UTKdJavqw3R9SKVtWpjODEXOXt7O5vTE=;
 b=fvOi2DjljIz1A1I4iu/rhBejp7Dqkpu7iX4XcXwfF/JFLSE1P+GUjPhZXyT/wN84jPoYQRQfFGrz20JrHnW73TqaVNvB/IdON400L3nVTM9A5yW6QVYGis5oTJuOSYc1kpOD4mFSWq1QQHqnG9PcmFC95Kjwv1NbNGL2b7BVMIlkyXBIk3Jdu7CsBoSeDAoBMNssrR3wX689BBLfYD/NZxblYsaqxn1lj9SRwjKqC3t/slwB96+w78tCMJ1Sye10PktN8uFWU7Wu3wpmgCz6UEchcfO2izmOzFCPnLYi3hgBu+LyIaAkfiHgjir0ORAMJGwlVSigXFKIe9oBnp3NUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PRbLC+Vbh3/UTKdJavqw3R9SKVtWpjODEXOXt7O5vTE=;
 b=cy3TUFBUHkEYhnpgHemt63PLHmUQTm+nnXDrcLDJqo2Wgo722nG1mDEqP0snmtlR2RP5psQel75KivMFl/Ac4hQBNM2fxw4YCJ46G31A6OGKa35Li53EcboI06aQuHKoxpxjdNYRvwvWmziT0n9ZDxuf5/Iq2IeMgxEA+GNA0ZQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <84df378f-d30a-42fa-8f80-cd4c2e3fa87a@citrix.com>
Date: Wed, 10 Jun 2026 10:33:19 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH 3/4] CI: Introduce new qubes-hw-runner.dockerfile
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
References: <20260609173102.2908514-1-andrew.cooper3@citrix.com>
 <20260609173102.2908514-4-andrew.cooper3@citrix.com>
 <aihsv37_XNFFn3Mu@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: <aihsv37_XNFFn3Mu@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PA7P264CA0205.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:36d::6) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DM6PR03MB4955:EE_
X-MS-Office365-Filtering-Correlation-Id: a75af192-391e-4ec5-7000-08dec6d35167
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|376014|366016|1800799024|4143699003|5023799004|11063799006|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	/cuMCfEIZvJqMhEKJxt/QS2TE35Jft8cUQhmZxb5G1AeOOmdQ/IMd3LKiTEBCHNL3ushhhzPqApfGKwy7XZIWo9Z9KZLhp3M+F9RQRiDi1cMhN835abPPR8ZM8vNA7WNL6S6x2YDgj6cYAuiyd5dgrMzbaczKUI2wP3IFBDgSFbQoAu1amHH2DSXLnfW581gLEpxD9pnbELyqGyYM+xH1qeuFOGDVFbDLhnRtiObF6qbYiHU2Zv9AaSMsp8FzV3th9DTrY8WhXKm9W1krCL4BImGcp7PbuhUZ/0x58PQJAxbA2iFK9BjzZP5sJAg1FDTQS4n/5hh3ss/P6Ok5/vGqdFWJ0aXeT3BYds5MCm5BE0ElZyi51OGddabjaaZt7dn1Xx6T/Sqb0LR3GfJVwqsa9cZU1HyCIQT42jAlouW9w7KVPl3r6s+G03ERyvXONWjgN7ut78iZDl9YvocnQ7tdN/vaFDMRPEISErM0khfkQHC8+wC/P5ik8ZWMx0V+l2TYX6tPUK5kcynjX2FSDIEHnUwNrH1gRICmNDHawfhoUdnbpm0RozJx9elnKMnMT5rNF1ngTux4gunRBH1HkC43s+dKo4HAsecj9BPa+cL3VXcND1CiIQ+Z5Be43Mw+scL+2RZWNvZACn9SwmdEHbi/G6MIPIq/PXAwcZmYmcnvS/LgJ3atX+/NhylmM0wBfAimCNINmsKt6pMAzXnJIe4jw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(366016)(1800799024)(4143699003)(5023799004)(11063799006)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TWp6cVhOOWNYRmZ2c1RDWCt0RS9DOSswcUgyWGYvVC9vTlRBUXI4MnBhNXpY?=
 =?utf-8?B?aXd3ZXV3dHEwcVNWcE1HbGFZSGpienRoelR1NnplaXlpcENLekZCMFpObnAw?=
 =?utf-8?B?dDlTWmY1a0N5bDJZZk5wTmdJNnlid3BxWmdxRmcrZWFjVXR5T1dpSitQSlRl?=
 =?utf-8?B?UWlVVG0wMkRBbitDY29SODl1djdwdDRycHhUaFkwZWhlc3FuMm5Xa29nOEcx?=
 =?utf-8?B?eTY3SlpRUVR6V1NMcURoaDMrZC9oM1YzamhKQkxiaFJXemJZL2ExR2VOVUdq?=
 =?utf-8?B?WXJVbDVDekx6L0VUYlZNYXJmdUlJUFpPVUdubmpRZ1JiUlROUGgrSmFzYitX?=
 =?utf-8?B?VTQyWml4THZoYWRWWldBUVA0TlZUM0VHVi9tR2FLTjdETUVmNUthc0V2UWxo?=
 =?utf-8?B?cDA3bzNQM0ZtT3h6QXZ1M0E4ZUs3dVlHTVlXTGNwRDY0SG1oeWRxRWUrRlN2?=
 =?utf-8?B?cDRXZ2FDcWFadmNrWElQWWE1MTNCS3FvZ3d6Z3oyRzdzQThYZ1ZmbnlCaFVv?=
 =?utf-8?B?MzRFeEF3RmJhWkpGQ3ltY2xlQ3pONEJueWhrZzNyVEs2cXJxdmE3QW9Ed2hH?=
 =?utf-8?B?OFErRnl6T0toMklyTVRqT0JwZG9hNFp4bGZqL2srckNQVVVSalljekxwazNm?=
 =?utf-8?B?OU0rbFd2TGJBRTNMZ3pkSnhHMkh0MWtqQVJmem5jeHRtc3MrT256TlFJVkF6?=
 =?utf-8?B?VDJDbFpRYklTK0hNQVc3VWFLeEJuWCt4Y3dNQUZUbHB3bGNCK0Y5c3ZkVjho?=
 =?utf-8?B?VVhPZW9udEZ3aUFMR3FZaVU1SEJ1QWhFWkc3KytiQTg5alVzUEYrU08yTkhq?=
 =?utf-8?B?YWczaFNxN3hMTWJWRFUybUcrTmNxLzhadC9ucTBVOG9ST2hBRGZzNElZRjhH?=
 =?utf-8?B?QTZxSllGRkQ3L0FWL3Z1OEdGa1hRNERKK1BLZ1FMeEFYY255TExwMW40Q0M0?=
 =?utf-8?B?MnFUM0dBY2ozalY1RWRZTFIvUmE1bTlvUndVeEJPcDBVSjIvVHJaNitPWW9v?=
 =?utf-8?B?MW0zQU0xV3VnemdZQmJ5clhYTzdVL1pRL0xmaVJEckdTVHVIZVdYVUhBaDZw?=
 =?utf-8?B?T0VOUTdqL0VVTmdkU3NoWmJQUGlLWHVhNnd6RjZyTkt1YzNEbkovS251MTlq?=
 =?utf-8?B?cWE0RGZZeVBHM0pMeXI5aVpkVCs4NDd5aGFJSXJNRHNDQkF1bXh1UGNUV0RD?=
 =?utf-8?B?d3NReUZQeENNdTMyVmkyZzJvWkg0ZFNxOHY0a3doQkVpTWFvczc4RHdnSTZG?=
 =?utf-8?B?VWdYYW9PR3ZWbEZWMzhPRVgyQ2JRRGZYTGpRalZFcXE5UjJMMmFHRTN3RTlR?=
 =?utf-8?B?cm9pVys4NGJkSU0yTzZhc1ZLVUg3YTVSQnFLelAyTU1Hc2VRdFduQTRTZUNY?=
 =?utf-8?B?aXB4bTlTdTRhV211ekh1ZmFBMzVCZFdQaXV3VDhuYnRqVUJwMGZxbCsxT0oz?=
 =?utf-8?B?MWtaQzIzTUlFekNvUzRtZFVMS0pPUWNQOWhUMWNMYko1ZzNrT2N6MU93RjR5?=
 =?utf-8?B?czB1SG1oQlZmQUU1ZTZSYjZPeUhwQXFmeTZsb1J2R3lIcFRDVGhQNHV1TGN0?=
 =?utf-8?B?VlU4WGNneW41VmRZak9jRFVGQUVlc2lIaXd1M1hwQ1hCalpHeSs5NXhaSnpt?=
 =?utf-8?B?RW5FeDhNUGwzVkRPRVlHOVREQm1uYlQwVWdEeTdJVU9nMkxjY2MveHNTVm4x?=
 =?utf-8?B?Mm81V1BPWktkUnRzM2xtZXo1cUtnVjkzaHBMZGdCWnZxM0FsN0s5WVZLd2Zz?=
 =?utf-8?B?dUg1ckhlUlNONnNCT2lML1J5WVFJSnZLZUs3bE5wK28wK1FXSFhacCtGUHdL?=
 =?utf-8?B?a1VYNWtRcTRaT1Fid2lsL2JlaUtoWU1zS1FFNnpKbkFzSE9kd1Nkc0p2b3Ni?=
 =?utf-8?B?ZWwzb2Z0MjU5Yks0ZzFBYmppRUlhb1h4OWZ5U2ppU1RWSU1aUlptUEFER01l?=
 =?utf-8?B?Y0JZckc1cVR4amxkL3hKNDlHcHdRdGJnakNsSkdvdEZ6TEV0dWxVNlVYcnB2?=
 =?utf-8?B?UTNuaTVXKzhYZHBNUDBXcWp5L01IcW1JRkY2UHpnMi8yN1Yva0RCam9ybGt6?=
 =?utf-8?B?TnEvaXk5QXVpU2JnUXZMRzlRajQzZGJ3MUdGT0QrUGkxa3V5WXdzdzdsaEtE?=
 =?utf-8?B?L25ZdTJIY21qRUNPRmxza0lDZG9BNGRzaE5uUW1rQ0gwOU5KVVZjZnhTNXc2?=
 =?utf-8?B?bW9INHBuSFc3Q1NSYnVEUmFEM2dGcnlab3NPeS9ENnZySTJ0VGFmdUdXUlds?=
 =?utf-8?B?Z0RXL2FNbEFLUk9nQmhtN2ZSQVJ1NjVaN25zM3pCQ2FCYVdIQ3pWWW1VejRn?=
 =?utf-8?B?V1FvaWdJbWgzK2hFNDNqZ0x0dWtZK0tIUld4ZUV4OWZyYXYxK283aVRNU3h0?=
 =?utf-8?Q?Tbf/T4fXXOWvJUvE=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a75af192-391e-4ec5-7000-08dec6d35167
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 09:33:24.0370
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rVA7RsXczAYljuJnE4AaD8d9gZnufPpvizU5X6Iq5KXtqnTTJVqXLuaI3u+hUMxytt53RU4kbCUQqKZQ/8Symb4nmpwQhRFT2ff/ieaUKxY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4955
X-purgate-ID: tlsNG-4011c0/1781084008-7216A8B7-17F77077/10/73395122804
X-purgate-type: spam
X-purgate-size: 1972

On 09/06/2026 8:42 pm, Marek Marczykowski-GÃ³recki wrote:
> On Tue, Jun 09, 2026 at 06:31:01PM +0100, Andrew Cooper wrote:
>> We want to make the build containers be non-root, but the hardware runner
>> needs to continue being root.  Split it out into a dedicated container.
>> Intentionally give it a generic name so it need not change in the future.
> I'd rather prefer to keep the alpine version in the container name, so
> future container updates can be made without breaking stable branches. I
> have a related patch for this at
> https://gitlab.com/xen-project/people/marmarek/xen/-/commits/automation-linux?ref_type=heads,
> but apparently not posted yet.
>
>> No practical change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Anthony PERARD <anthony.perard@vates.tech>
>> CC: Stefano Stabellini <sstabellini@kernel.org>
>> CC: Michal Orzel <michal.orzel@amd.com>
>> CC: Doug Goldstein <cardoe@cardoe.com>
>> CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
>> CC: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
>> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>
>> I need to backport this patch to all trees (4.18 and later) before
>> alpine:3.18-arm64v8 can be converted to be be non-root.
> Converted? Since 3.18 is EOL for quite some time already, simply phase
> it out slowly.
>
>> In all other cases we've been renaming the containers to bypass this problem,
>> but alpine:3.18-arm64v8 is in the correct new form.
>>
>> Alternatively, I could see about combining it with the Alpine update (which is
>> long overdue and needs doing).
> Yeah, this.

Marek and I had a discussion about this last night.

It's going to be much easier if I merge with the unposted series.Â  That
series needs to land too (all our alpine testing is currently on an
obsolete version).

However as of last night, Alpine 3.24 has been released so I'll bump to
that sorting this out.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 09:43:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 09:43:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334089.1597190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXFSu-00084k-2C; Wed, 10 Jun 2026 09:43:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334089.1597190; Wed, 10 Jun 2026 09:43:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXFSt-00084d-Ux; Wed, 10 Jun 2026 09:43:15 +0000
Received: by outflank-mailman (input) for mailman id 1334089;
 Wed, 10 Jun 2026 09:43:14 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXFSs-00084X-MK
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 09:43:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXFSq-008h1W-Tb
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 11:43:12 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2931a3-e002-0a2a0a5209dd-0a2a4507d054-30
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 11:43:12 +0200
Received: from [209.85.208.49] (helo=mail-ed1-f49.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2931b0-229c-0a2a45070019-d155d031d981-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 11:43:12 +0200
Received: by mail-ed1-f49.google.com with SMTP id
 4fb4d7f45d1cf-68852b58d87so12059912a12.3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 02:43:12 -0700 (PDT)
Received: from [192.168.178.22]
 (dslb-002-205-069-250.002.205.pools.vodafone-ip.de. [2.205.69.250])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bf055308063sm1162843766b.48.2026.06.10.02.43.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 10 Jun 2026 02:43: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781084592; x=1781689392; 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=h2n+Di/Xd5l9GTr0XiN4Ix0zlTO1tRT+Y3xoH/ywzVw=;
        b=fW21IiPf3whB+zn8SX0Lro6qstuU/TVhuvKrh5Gl9hG4JapxR6BIVeymfHnrLW3N3Y
         oKXitWWDFZxHIk2W/06ochQSzEISapWdwz68G00YUasQSQxtPajsEP6IfbFZ4zjTEF75
         7QmTiWlcGy20ySiWm1YtNbEYCRlut5mVrSHLDG+NcM/DG9ly8EPS9DdiikyGcxNQm8YQ
         sonoL2omzGdUN8zNoDN5hatn0Y2V/aMZ9mnoI5U/Lls6W7Dyx6qogKWwoFs3j3Y9ljb8
         P3zSkgXNFUBUYoVlRmA3cQGNQToEOA2wCUjZgiPMN6pwqG1b0AH09lVCNFCUUyjrmw52
         6epA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781084592; x=1781689392;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=h2n+Di/Xd5l9GTr0XiN4Ix0zlTO1tRT+Y3xoH/ywzVw=;
        b=dRxzIGSnnY0+cN88x+fvlYcMsx14nC7pNM4TICkHEfOaj7kyL29UBrC+kBu0cP0LC3
         5MB23JnHil6EQphqYcA9HkzaDGX+JTEXSwdGDxW/IdqvK+dINSl8f02fATGXbmY7/J8t
         T/3eRgDB3dCsMpjFh0R8SwOJ76U/hG6M2s2RLridD4oxFdVIgriXE3XN6md0pPVYYNj3
         OC0GRQDa6fpmUm1bN1hIBdIO59FIOF5qSdWI0HqLTbw1iJ95T8cM2av/7lZerk6KRieH
         T86+G64q343k6+GVeEetZ+2mlpOmSHMwhU6M3+SW5xGpfIazPvLGTVt6Rn1qfLIIDoJj
         mZDg==
X-Forwarded-Encrypted: i=1; AFNElJ/gJPNSxXwFsOmPilsK1+x6jhSudqOImvxSWhvoualPZ9kGR+oiOZgumBi/2UdqkEUam8dRlawm4VY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxqiLuRkMLgFKlFgHwbEaCQ9U65pT4r5io3IJrXx28WLdgEDmmJ
	oC0IA5SRn8NXHr0vmpVu/qkzhxfxyIwswyZJQhIaKl8GW0NjHLXpd1LNsFTiU37clQ==
X-Gm-Gg: Acq92OHrzAjrrO4X3Ox651+tweFBIBfxSr3TsRVgMpK+fPuhZRa8TqZsDHbVqmZdUDl
	sJiW4PsivkWubIofj4m8Ycaer7Y6ZPY67/R97QX1C9GpnGuz2qzdpxlcK1aEMJwy1cv411C9T85
	ty1Zfz953cbR+ymqKKxv0RG4uknOppzawE34l2j8WLmjBVlaa4wm8Kh3CqXDJqzZf+P0SKAcRnZ
	u3UjN2n2HTVbJHobOZUs5+FbfJKllZW5T+jo94dnJuMkMXx1FPuAYsT2knzTo2UBU7acd30zWvU
	Y1xaAyg0d9IOkaRYJ99345+p4PDlqVBiSZ3s3oZD7eH6p6sdDkbQ5W8IgeY/Tj4a2w0neUFXZOn
	lVbKT1OeGSw47n0fX8ABaxP8NXzFmLrAZDcncwoUVhV9kXCURrlDkQDB6DO/P0YpcuHsR+I3Oty
	nyrhojSbxeBl5JioDQklF8j2Z4ityEgrohAQ1VM53r6jL9iNlzdrI3qgty9+82uy/cBZksm9e62
	EB2ND2ynpmBa9Y5pqgkUr2Xn50g
X-Received: by 2002:a17:907:c518:b0:bed:eb8b:d404 with SMTP id a640c23a62f3a-bf370866e4cmr1263043266b.16.1781084592250;
        Wed, 10 Jun 2026 02:43:12 -0700 (PDT)
Message-ID: <5bee4f94-b2d0-4802-a990-b2a378d2f838@suse.com>
Date: Wed, 10 Jun 2026 11:43:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/6] Align all sections to 4KB
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-3-frediano.ziglio@cloud.com>
 <7067092e-ba18-4513-a9b1-83ba084ccbb4@suse.com>
 <CAHt6W4cP57pAPsNDKpssjYB=snLEZgOhWkYkVrJys01-NTMiRQ@mail.gmail.com>
 <75e86d74-9fa1-4090-bea7-332ec31ffb90@suse.com>
 <CAHt6W4dfXdyw4dOkqoQzo0x4XRmLsHXkhhznov+KvanKBi9bWw@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CAHt6W4dfXdyw4dOkqoQzo0x4XRmLsHXkhhznov+KvanKBi9bWw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ef75cf/1781084592-0BF7EC48-F89BD14E/0/0
X-purgate-type: clean
X-purgate-size: 4739

On 06.06.2026 18:02, Frediano Ziglio wrote:
> Frediano
> 
> On Fri, 5 Jun 2026 at 08:45, Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 04.06.2026 12:16, Frediano Ziglio wrote:
>>> On Tue, 2 Jun 2026 at 13:09, Jan Beulich <jbeulich@suse.com> wrote:
>>>> On 29.05.2026 17:35, Frediano Ziglio wrote:
>>>>> --- a/xen/arch/x86/xen.lds.S
>>>>> +++ b/xen/arch/x86/xen.lds.S
>>>>> @@ -162,8 +162,8 @@ SECTIONS
>>>>>         __note_gnu_build_id_end = .;
>>>>>    } PHDR(note) PHDR(text)
>>>>>  #elif defined(BUILD_ID_EFI)
>>>>> -  /* Workaround bug in binutils < 2.36 */
>>>>> -  . = ALIGN(32);
>>>>> +  /* align to satisfy UEFI CA memory mitigation */
>>>>> +  . = ALIGN(PAGE_SIZE);
>>>>>    DECL_SECTION(.buildid) {
>>>>>         __note_gnu_build_id_start = .;
>>>>>         *(.buildid)
>>>>> @@ -330,6 +330,7 @@ SECTIONS
>>>>>    __2M_rwdata_end = ALIGN(SECTION_ALIGN);
>>>>>
>>>>>  #ifdef EFI
>>>>> +  . = ALIGN(PAGE_SIZE);
>>>>>    .reloc ALIGN(4) : {
>>>>>      __base_relocs_start = .;
>>>>>      *(.reloc)
>>>>> @@ -355,6 +356,7 @@ SECTIONS
>>>>>    VIRT_START &= 0;
>>>>>    ALT_START &= 0;
>>>>>
>>>>> +  . = ALIGN(PAGE_SIZE);
>>>>>    .sbat (NOLOAD) : { *(.sbat) }
>>>>>  #elif defined(XEN_BUILD_EFI)
>>>>>    /*
>>>>
>>>> You say "all sections" in the title, yet this is not covering e.g. debug
>>>> info.
>>>
>>> I will change to "all loadable sections". debug sections are not
>>> loadable so they don't cause an issue.
>>
>> Please try to be precise there, as some aspects are subtle. As per my
>> understanding, like .reloc all .debug_* are loadable (and may be loaded).
>> The IMAGE_SCN_MEM_DISCARDABLE flag merely means they can be discarded at
>> a certain point after image loading (for .reloc in particular: after
>> relocations were processed).
> 
> No, debug sections are not loadable, for instance, in a random
> executable I found:
> 
> Sections:
> Idx Name          Size      VMA               LMA               File off  Algn
>   0 .text         0000c7f8  0000000140001000  0000000140001000  00000600  2**4
>                   CONTENTS, ALLOC, LOAD, READONLY, CODE, DATA
>   1 .data         00000250  000000014000e000  000000014000e000  0000ce00  2**4
>                   CONTENTS, ALLOC, LOAD, DATA
>   2 .rdata        00002c70  000000014000f000  000000014000f000  0000d200  2**4
>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
>   3 .pdata        00000654  0000000140012000  0000000140012000  00010000  2**2
>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
>   4 .xdata        00000630  0000000140013000  0000000140013000  00010800  2**2
>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
>   5 .bss          00001ec0  0000000140014000  0000000140014000  00000000  2**4
>                   ALLOC
>   6 .idata        00000c88  0000000140016000  0000000140016000  00011000  2**2
>                   CONTENTS, ALLOC, LOAD, DATA
>   7 .CRT          00000060  0000000140017000  0000000140017000  00011e00  2**2
>                   CONTENTS, ALLOC, LOAD, DATA
>   8 .tls          00000010  0000000140018000  0000000140018000  00012000  2**2
>                   CONTENTS, ALLOC, LOAD, DATA
>   9 .reloc        0000009c  0000000140019000  0000000140019000  00012200  2**2
>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
>  10 .debug_aranges 00000150  000000014001a000  000000014001a000  00012400  2**0
>                   CONTENTS, READONLY, DEBUGGING
>  11 .debug_info   0000d5e4  000000014001b000  000000014001b000  00012600  2**0
>                   CONTENTS, READONLY, DEBUGGING
>  12 .debug_abbrev 000014de  0000000140029000  0000000140029000  0001fc00  2**0
>                   CONTENTS, READONLY, DEBUGGING
>  13 .debug_line   00001a36  000000014002b000  000000014002b000  00021200  2**0
>                   CONTENTS, READONLY, DEBUGGING
>  14 .debug_frame  00000f40  000000014002d000  000000014002d000  00022e00  2**0
>                   CONTENTS, READONLY, DEBUGGING
>  15 .debug_str    000003a0  000000014002e000  000000014002e000  00023e00  2**0
>                   CONTENTS, READONLY, DEBUGGING
>  16 .debug_line_str 00000a76  000000014002f000  000000014002f000  00024200  2**0
>                   CONTENTS, READONLY, DEBUGGING
>  17 .debug_loclists 0000174a  0000000140030000  0000000140030000  00024e00  2**0
>                   CONTENTS, READONLY, DEBUGGING
>  18 .debug_rnglists 0000039c  0000000140032000  0000000140032000  00026600  2**0
>                   CONTENTS, READONLY, DEBUGGING

That's derived from libfd's internal representation, which means nothing at
all to the loader processing the image. If your objdump is suitably enabled,
try using its -P option.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 09:50:56 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 09:50:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334099.1597198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXFaE-0001gu-Sy; Wed, 10 Jun 2026 09:50:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334099.1597198; Wed, 10 Jun 2026 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 1wXFaE-0001gn-Pu; Wed, 10 Jun 2026 09:50:50 +0000
Received: by outflank-mailman (input) for mailman id 1334099;
 Wed, 10 Jun 2026 09:50:49 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <ross.lagerwall@citrix.com>) id 1wXFaD-0001gh-6U
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 09:50:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXFaC-00B6nW-JG
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 11:50:48 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a293377-5cb7-0a2a0a5109dd-0a2a4501cf4a-4
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 11:50:48 +0200
Received: from [40.93.201.27]
 (helo=CY3PR05CU001.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a293376-c1f2-0a2a45010019-285dc91bb7da-4
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 11:50:48 +0200
Received: from CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5)
 by PH8PR03MB989184.namprd03.prod.outlook.com (2603:10b6:510:3b2::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Wed, 10 Jun
 2026 09:50:44 +0000
Received: from CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096]) by CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096%7]) with mapi id 15.21.0092.011; Wed, 10 Jun 2026
 09:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=F1MZCMxYatQqdaLGRA/llyOFTPhdDB7sXjp0Gp8mgR1UovuRHKNrimPAgC/71bpC53qcPt1OK6GYZygiJY8sUpgBuZNIORhC9hL5v1Ln5Xsm2s/cEMPm6Q5SBsxR2OFqtJTojsnzZr/pMdQE/MQ0Mv3HR4teyOq9rvP+9PWnEU6kKieGlFvBs0BeIdvhsfo8fYZNsDDSLk5EKxBihlDc6Nfy3Q5WGyLCP3cAlgyr0Pv6dzVmlSDgQPrJOkAeB17NDf5x5P1aee9ba5tt30KB6wPok85rlpKbON7/xwmw+TRKvpTrb3h/9FSTFxbwboJFlGj+m++0fvtN1cINo5f0+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=/+qm1leoAjrT8y99LtftJEiKLFqQvkzOA5UvxrdnIvE=;
 b=Zz3kBNKzTrfNrRRnEQrPVG4MqJZFgBcfbkv5G0odFPCBFlAUiTjyi9jgJNefN3qzyjhuat+6yaV8OZO/7cdKt2vxFScNJ1++4WJLNgUS1oh5BuFQMS/ulkFWhyvjwtV/U1fNPWgYu/t4LzCCneU/XLzCrUhG2ux9qmGNFTq/hJvI13tHsYslEstB7CY+ouLGhsp+L9bHtfhoE5MFxDWpTWjOo6GQT6bsB5ESyvmLDNY7Wx2RV8xl6jJooXr/diwda9aWfl9mjxi+eDQyHCytNruUo91uUDbUvyt13tQM4VdrL/SoRMbaRMKKoDaSgZCSipPqiFYAArsOuX0gLjsuLw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/+qm1leoAjrT8y99LtftJEiKLFqQvkzOA5UvxrdnIvE=;
 b=g4Fs9XyvVdYWK+7dcoLKwkp0Rq9pF755smLE4NbJWqhpg6qmY0q66CW5kraSNMUjBqzr9LnrzL3+mB3FX0lHxXsCK5UHWcUl2SbYE+hAwIFImKrFGlB0T77LMZYfsRsEXbiGIj/zPQdhrP93TwYoYbyibJr8kwfUonpHkhK+CuM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <8ca2cba1-bea1-430a-9241-4fbc16fa0244@citrix.com>
Date: Wed, 10 Jun 2026 10:50:38 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/2] domctl: Handle some of XEN_DOMCTL_shadow_op
 without the domctl lock
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>,
 Teddy Astie <teddy.astie@vates.tech>,
 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>
References: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
 <20260609151528.2426788-3-ross.lagerwall@citrix.com>
 <aikhxaH3ZKyd33IY@macbook.local>
Content-Language: en-US
From: Ross Lagerwall <ross.lagerwall@citrix.com>
In-Reply-To: <aikhxaH3ZKyd33IY@macbook.local>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0327.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18c::8) To CH8PR03MB8274.namprd03.prod.outlook.com
 (2603:10b6:610:2ba::5)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8274:EE_|PH8PR03MB989184:EE_
X-MS-Office365-Filtering-Correlation-Id: 5c1e0a49-4f0f-45ce-9449-08dec6d5bdc1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|23010399003|366016|376014|56012099006|11063799006|5023799004|22082099003|18002099003|4143699003|6133799003;
X-Microsoft-Antispam-Message-Info:
	cfdxGRSAEZJMz4iRMI2pXGvEuoUIoHLi1KZFty1ZmPUf9o/3wPZh5NoQjHvITIF/0I/s296poZhD1+KhdYdQmgEPEJ9dx6J+zOs/Q/MYSd/zl6IQHTBaSH/sTGL8bVlVNaeriENKDm4HYGbbJc1i7SpUnVnEkfInBZvVnAcvA0NuTxuIjoZRSgCCYMoMQBpXoo3J8X1a7qXiAKsu/1pNXlkcu16yIlcoPEwclrvYVWVsz2fQhyK3aDdSOf4sG9iYaODYu4qzTYJlhXtQC/B5AiiAzR20Iw2jnrR0geD2mclY0+j/bxFVjBA9h5o9rfvm9b+CsWStXWTpgv86ehGcAb8zbCXLJq8CUZ48oREGzymlh4x4btX553G+wzWLsrJpOLdltMubj+BHlMv+4LvDB8mzpxscxv/B4Y4abE7e/frLFnBSZMVLQa/Ydnv0+d8G0SXB35mF2DOsFpVt3q9SKXviGTxWrIHVMnne0KWJn5VRpWDPCS/9fsLpAjecXRVKjuZC6nbmvqbCrRsDW6EyoaBuxAcplFBe9zp8vLhC8nhH2Lik3pLHuMQymcQTOoq06ucpyDKAd5WDNZa2DhDdaoxoOdtOc4dcoWW4YObTA0zosoASmUdMdRfIBq9DsnXBHnKfDJND47PTAPayM6M5PnxKs9wcSTbxviSHT8fFVogjKEc5v6CIRUgr80cIVrEL
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8274.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(366016)(376014)(56012099006)(11063799006)(5023799004)(22082099003)(18002099003)(4143699003)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YkNid21KNFNQNys5RVl4TVozM3dzVFE1b0Rtb0lWemQ5dDk4TGJLNkNKYXhQ?=
 =?utf-8?B?UTRpNGxYR0crT0pURVRBUVE2cmJKdUgvalhuV1VSemtjLzJDRWdlenRBb2ho?=
 =?utf-8?B?ZmhZcHpxS1BiZllUTUhDWjRvbXVUbThuRVZLVlpsMGJwRjhMRFp6bWNscDhi?=
 =?utf-8?B?WGYxSDFmMkhkcFA5ZjljODZ3MWI3ZkY5MHl1aVJpRVUva2pyWUJJMC9KUUly?=
 =?utf-8?B?S2syUy9xZm5TU3IyQ01IN2I5L3NwMUVqWnBhM0FEUHVEZHdCWVV6b2luS1ZB?=
 =?utf-8?B?OWdjMy9JWE9uVnp5ajdFQzJmWWJjclFNSThNYllmenJ6QXFzUDhQTW4zeUNN?=
 =?utf-8?B?WlZCR2tqVG9BWmVWbHBNT3crSDVaNUl2ZlVuNTVyL0NIKzVmQ3V3ODMwRW5X?=
 =?utf-8?B?a2NDc09XUnhNczNheWxicUR3cE1zZjgwT3BQaHVpQ1IrbThrUU1SMlo1dFc3?=
 =?utf-8?B?ZHZVU2RWQllnd29IazltTjFqREs2QWtWeUgvcFdVTXd3MTAxZDJYME9HdG84?=
 =?utf-8?B?WmFnNE1kODJSRUpXdFFMVHdFWGNuTmkzZlVXVXZiTE43S3JpZ29PeFFoc1RD?=
 =?utf-8?B?VVcrL2JvUSt2L0JBeUpWaUI0MUVHNTFHMnd0SHFqUkpUeEwxZ2FlVXd5Mzli?=
 =?utf-8?B?Z1gvZjYybGVsZUdFT1k5NjNBNVduSlkvL1k5aTVlaE9pQkV5TkJyR0w3bFVC?=
 =?utf-8?B?MnZzNm5USU1JR0FGS1RNWWNyTXVLN256TzR0azdhUWttTi9jeWFPMUxmcGZG?=
 =?utf-8?B?enk0YTFRd054ZzVLdERNQTk3UzFpSTFYS2gwdi9icXlPZnZCOEticGFYRStG?=
 =?utf-8?B?eHcyVXU0aW5sWHl4UzFRTHBMeUJuZ1o5U2MyTnlZNEwxTUtDcGN4dkhxZHo5?=
 =?utf-8?B?aGtLV2pZSmUzVld2MmM0Q1VDVDRIenFWV1AyNmM1SGgzOFNXSTJxUjcxdjN2?=
 =?utf-8?B?dVZiZjBnZWh2UFpwRzZsVjNUZm1LNHVTMVZzVWVuODgxN0J6Q3FHTG1TTWlC?=
 =?utf-8?B?ZWx3cW5qN2RNTUZEUmRwekRCWjRCcENldllibmFPdUZ3TUE0SnlxTktuTEV6?=
 =?utf-8?B?Rno3THQxaEdlWXhPVTNpOU5RYnhJUExaMkJ3aDQ4amJwSDAzYUd3cWo5aG9S?=
 =?utf-8?B?ckt2eUVBekZqcWphQ240VUlYNFJIczE4VHpuWlpSUWN2Q0Y3ZFlFaDJ0NGVq?=
 =?utf-8?B?am91bWV1eXFlanFuUWYvM2kwOFE0Y2N2ejJFU2hldW9BbVcrSGJ3YXg0UndE?=
 =?utf-8?B?Nk9IVGJPa2IxckVnTENDV3o0b3hrUHIrTDFWamluRjcrUStTVUsvVnA4QVhO?=
 =?utf-8?B?QVU5SHFCTnF0S3RyNU5lSVkxbVcrNEg2cmwzWDcvb3QxRzFKRm9YOXozOEVJ?=
 =?utf-8?B?dzVNNzBmaVlhOXZLOTU1Y3lhVjFDTUFTQnVTWEd5YitoZFpvWExvalJFUkZR?=
 =?utf-8?B?RzVHeTFMY1BrWHdFMlZ3Q2U3TGVya3VveXptYXhjWEVwR0VnTGhtbEhFTkx0?=
 =?utf-8?B?bXNWM0NSdXFVbnVjbTlEWjRlZW9PYldpMGpmdm5TN0VpYi9PRUZta2U3dE4z?=
 =?utf-8?B?U1pMUmhpRDBXeVgxY0dxTEpJVW5DbTJnTi9rM2ZyY3N5S2piQUJFNFV6OHFl?=
 =?utf-8?B?c2M5UkVFQk1lVHhwUDJzUTF2ZThCaEFlTmlHNGt6c01WYTg1S2RmcVlndzJn?=
 =?utf-8?B?blZVZ0VKbWtGVVkxUWdaZWI3Q2JYbzhhMThuckRoM2tBZlBQeWh5VlljeWpM?=
 =?utf-8?B?cno1Zzc2QjFCY0dwRmtTemN3OGV2YVNKZTRURWNWZXFsUHBYMHVlOUJadmww?=
 =?utf-8?B?SU0yZ2NldDRZSG5WMnFuUnNNRHNac2RrRlU0Y2Mwa3haQWZzL05MSXNCQXVy?=
 =?utf-8?B?VmYxSmZOcTZtRUE1d2pTdGVlVVlDOENXYS9WWXlSdGlsL1FNSk04RElRTkJM?=
 =?utf-8?B?NDlISEJWZVRlS2I3YW9zS05hTFpMNlVrMVRCKzhITmliRE1ZOWR2YXF4MnFz?=
 =?utf-8?B?WGZHYjhoNFk2T3hyU2dtSityTmRXSDFRSFdSWnhVTE13Yll4WkQvU2FUeTFH?=
 =?utf-8?B?dzErV1VBeEMwNFd6RWZnSWJjTTNUTFBiVjZvRThDUm9IUXFFYkxOcEZZNXFT?=
 =?utf-8?B?YUhocGZnNlo3VjJ4TEtQQlQ1NnczQndIQW95cTVFMXIxSmJudGhnUGtZTEV2?=
 =?utf-8?B?MTRUcmQ4enBBMllwaTFaTHN1amlpL2NkWVlRcDR2UE56ZU14RHZLRVpXUmkw?=
 =?utf-8?B?RjRvV3hERWdzMjNTMmtCOS9vY3Z5dTVBQnFEYjlTOThtUXV4U1g2V0NpcStJ?=
 =?utf-8?B?RW15ejZ5VUtlUkVKVkpRYTAxZTJmdlFaRDdocnJ0LzZHYlJQMFB1N0hlQWIw?=
 =?utf-8?Q?oEp2KoIvyxi2VipI=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5c1e0a49-4f0f-45ce-9449-08dec6d5bdc1
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8274.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 09:50:44.8650
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dlmFHn/wT2Go4YOs9TZE66TIlO1z5FtzWFK9o23NW4PYQia7mAyxFKDor5BfhXM/P77dCKm5RGgp7+PBUrevQW/AlCINpfhQhsUTDhARY8Q=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR03MB989184
X-purgate-ID: tlsNG-d62444/1781085048-AD9A9FF4-CF5A18A4/0/0
X-purgate-type: clean
X-purgate-size: 4117

On 6/10/26 9:35 AM, Roger Pau MonnÃ© wrote:
> On Tue, Jun 09, 2026 at 04:15:28PM +0100, Ross Lagerwall wrote:
>> Handle XEN_DOMCTL_SHADOW_OP_{CLEAN,PEEK} without taking the domctl lock.
>> This is safe because for these subops, the paging lock is mostly held
>> which prevents it from operating concurrently on the same domain. There
>> are some parts that are called without the paging lock held:
>>
>> * hvm_mapped_guest_frames_mark_dirty() - The function itself takes a
>>    spinlock so is protected from concurrent calls. In any case, it will
>>    mark all the pages dirty as required.
>>
>> * domain_pause() - The toolstack cannot unpause the domain while in
>>    paging_log_dirty_op() because the toolstack's pause/unpause ops have
>>    a separate ref count.
>>
>> * p2m_flush_hardware_cached_dirty() - This is called elsewhere without
>>    the domctl lock held so holding it wouldn't achieve anything. It
>>    should be fine as long as it is called at least once.
>>
>> * log_dirty.ops->clean() - If the callback is hap_clean_dirty_bitmap(),
>>    then it will hold the p2m lock while modifying the table. If the
>>    callback is sh_clean_dirty_bitmap(), it will hold the paging lock
>>    while modifying the table. In both cases, this is OK.
>>
>> * domain_unpause() - Same as the earlier domain_pause().
> 
> You could join both into a single domain_{,un}pause() bullet point.
> 
>>
>> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
> 
> Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> 
>> ---
>>   xen/arch/x86/mm/paging.c |  8 ++++++--
>>   xen/common/domctl.c      | 12 ++++++++++++
>>   2 files changed, 18 insertions(+), 2 deletions(-)
>>
>> diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
>> index 1a5822808620..bfb5b423a0dd 100644
>> --- a/xen/arch/x86/mm/paging.c
>> +++ b/xen/arch/x86/mm/paging.c
>> @@ -746,11 +746,15 @@ long do_paging_domctl_cont(
>>       ret = xsm_domctl(XSM_OTHER, d, &op);
>>       if ( !ret )
>>       {
>> -        if ( domctl_lock_acquire() )
>> +        bool lock = !(op.u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_CLEAN ||
>> +                      op.u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_PEEK);
>> +
>> +        if ( !lock || domctl_lock_acquire() )
>>           {
>>               ret = paging_domctl(d, &op.u.shadow_op, u_domctl, 1);
>>   
>> -            domctl_lock_release();
>> +            if ( lock )
>> +                domctl_lock_release();
>>           }
>>           else
>>               ret = -ERESTART;
>> diff --git a/xen/common/domctl.c b/xen/common/domctl.c
>> index 35144d95b808..a3888c4e87d4 100644
>> --- a/xen/common/domctl.c
>> +++ b/xen/common/domctl.c
>> @@ -559,6 +559,18 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
>>           ret = arch_do_domctl(op, d, u_domctl);
>>           goto domctl_out_unlock_domonly;
>>   
>> +    case XEN_DOMCTL_shadow_op:
>> +        if ( op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_CLEAN ||
>> +             op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_PEEK )
>> +        {
>> +            ret = xsm_domctl(XSM_OTHER, d, op);
>> +            if ( ret )
>> +                goto domctl_out_unlock_domonly;
>> +
>> +            ret = arch_do_domctl(op, d, u_domctl);
>> +            goto domctl_out_unlock_domonly;
>> +        }
>> +        fallthrough;
> 
> Newline, and I would use break rather than fallthrough, if further
> cases are added below you don't what to fallthrough, and there's
> nothing to do in the default case anyway.

Yes, not sure what I was thinking here. break makes far more sense.

Can this adjustment be done when committing?

> 
> See for example how this is similar to XEN_DOMCTL_vm_event_op which
> also handles some sub-ops without a lock and uses a break instead of a
> fallthrough.
> 
> FWIW, I would also put the XEN_DOMCTL_shadow_op case after
> XEN_DOMCTL_get_device_group and ahead of the
> XEN_DOMCTL_ioport_permission block, but that's just my taste.

I don't have a preference here, either is fine.

Thanks,
Ross


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 09:57:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 09:57:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334106.1597209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXFgW-0002IZ-Hu; Wed, 10 Jun 2026 09:57:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334106.1597209; Wed, 10 Jun 2026 09:57: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 1wXFgW-0002IR-Dt; Wed, 10 Jun 2026 09:57:20 +0000
Received: by outflank-mailman (input) for mailman id 1334106;
 Wed, 10 Jun 2026 09:57:19 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <ross.lagerwall@citrix.com>) id 1wXFgV-0002IL-If
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 09:57:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXFgU-001kyX-79
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 11:57:18 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a2934f9-2eae-0a2a0a5409dd-0a2a4509ab70-44
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 11:57:18 +0200
Received: from [40.93.201.65]
 (helo=CY3PR05CU001.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a2934fc-2497-0a2a45090019-285dc9414abb-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 11:57:17 +0200
Received: from CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5)
 by CHAPR03MB989226.namprd03.prod.outlook.com (2603:10b6:610:2fe::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.15; Wed, 10 Jun
 2026 09:57:15 +0000
Received: from CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096]) by CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096%7]) with mapi id 15.21.0092.011; Wed, 10 Jun 2026
 09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Fg+nROkMJAuEMP6MJFS8Z3YPwCnZn0F2m5jqGLqLcfvhc6ySAKbgfwOXZQrg7CWVuxCwuezS95IV5HEwFNVtG0GBrdbSRnbfOdC5JgcgHiTK8F0jm16iyN2cRV25c2IuIFkzWmQBBZZZjbEozG7beLcarAjBG+O/w0CZNcqtW2MZjhARcIdu3sRP2Xerul9WqES7t763eRok80x8s4kkujS8AcrLrYdGPpDd/pcc42ffpFB++z+XvDwtwrl3xN2c8gr2jC5zSLrx0OuZnGg78mMa1CBFO5VZyiHnFSbmjgS5JMaaxmS7oJwoscM+ErR8lMskQ307an/Rfgv4S8dd1w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZLYJe34Z6WHlwoSJDhl1LQvPgiztpz7D02TDA3ys6oE=;
 b=kShlEGDy3iqNjEENc1QNTf4iaASkem0Za0Z6EIVCkJuVP6h5pG1XiHX/Ma561W126+T9vdB6GViAGT+EKUhZQp+gwQZtXkAd4JB/y5eecn01OEGpqVeH3/R6BvnSDctJdkeKyoYnFc4n5xYkvHblFc3vnHfUARCqUUx0PMvT74HQBKqMQkojr60FhLCbAuEBbLkiAjtrtptD0oEPVyZU/mnSBi5bmvgCFEm/bUzmrcgDowNFp78f3X4BcxfbNeT0gqFo69fZ7cjo09lriwoNdWNw1VCUplINK8Ihmpu4AX00c8cmFTKk4AXwvzJxkKxA+QvHfYaD6ifKd8sNNDFT/w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZLYJe34Z6WHlwoSJDhl1LQvPgiztpz7D02TDA3ys6oE=;
 b=LUzHs4PoY92+tUFOqt1L/EPhbeWluivbFB13TFnpFHr0JeAFkuDbC8yQ4aeVfDuNmQJjZLrpjiwUtCfMY2WnDTX8S+DJXG15OP/0RyPOQEAb8JoHNeYVuaUlIXP6KLnmxngK/UXdJHcDCpNPk2kJLhR61eebb/D58lQCKYWA5Qg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <071947c5-00ad-45b5-b782-121ad2b7f919@citrix.com>
Date: Wed, 10 Jun 2026 10:57:08 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 0/2] domctl: Avoid taking domctl lock for certain ops
 used during migration
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>, Teddy Astie <teddy.astie@vates.tech>,
 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>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
Content-Language: en-US
From: Ross Lagerwall <ross.lagerwall@citrix.com>
In-Reply-To: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0071.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:153::22) To CH8PR03MB8274.namprd03.prod.outlook.com
 (2603:10b6:610:2ba::5)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8274:EE_|CHAPR03MB989226:EE_
X-MS-Office365-Filtering-Correlation-Id: d6e00b43-46db-46f7-f1b3-08dec6d6a644
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|366016|23010399003|22082099003|6133799003|18002099003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	ZoZQKQN6Md9Mrc5Y0zeNI84eHFhTLQFB2liRR3cswfCeBNyJaxPF1drRGIHmKXgLEDZ23fJ96w/A/zTkIcYja+Vi/oKWSe7475tWYTJUeUlFblNTFQLIWKasR8lH4w29N6E8zwyINSpBiJq0AP6dgXxFJgzgsaBrK4CfohdwMG+UToQKRwsTxiQbuFoBd+hC4KwydVVat2Q0jzg50CAMX2gMKGOO/uLnQa71pi1qV6n78Pl5EHBig9hGdW+qRifh5KkChJNh+1hDxmLgEAYGaxnNHoSYPycZX2rvu/maule9gF8q5Y+YlEHbT59EZPyArym3l7rOvYnljTH8a3z1ele7yaXvu7//+6W1pJMP9kTJalcukfD+qk0gmaEzY56DWy5QP/ohc7hEY5JntEhEipm96mFEVuqqb+KFVIrdgqoGKrHsZjUwseln2cIw/9/3hFQs+1pAnG1gm/b8EEKgjh/aCdMKt64gZ28258f/094IxtLCYbX9r2sPxjMA0FainXn16hgMLKuFCOyNwJaw8KFXQz5hlTSQGQcsY74R+nEXnyPjYPhc/FdU0rpFHsl9S59iS2qXKDNIaa6lyRrMyHjdUssXeLe7dnb8q313ohM+BqMD/nc8/rnllwjNTUb3qOp0VzHp1X677H7UVR0TfUGllG2vhpXB6W8D5xEJFb8SOAeI6LPZZNEcEhGkzR7d
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8274.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(23010399003)(22082099003)(6133799003)(18002099003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eForclFJbVNMZ1U5RUpDc0twaFo0aGxGTENOcktYUU1BSHAzYk9UekNxdXlj?=
 =?utf-8?B?eWt6Vk1qNkJOMmZjWlNGZHprZ0l3ZCtvS20xZndnUFNUVGF6YkZlSURIVXZH?=
 =?utf-8?B?d1FieE5wUHN1eE9MWWFXdlFhdXI4RnZYd2N6Um04RVpRcXNTSDc1cXM5V1dy?=
 =?utf-8?B?a3lGZjI0eFovK21YZGh5NHVRa3l0K1pxK1NycTZ0eVZ3WnBIQjUzOWhzYm9I?=
 =?utf-8?B?VVlyb1BPWC9ZVVp2OTNweFNxd1o2Titobk95aVZGbm9UcUdINkZpajlyZFJu?=
 =?utf-8?B?ZFpMSlREbEprQjNsdkJlU1hVSC80clRlc0QzL2pvTHVBekFEQWxiMGpzQWZa?=
 =?utf-8?B?anYzRkRlTHpKajZxaEpPemZGV004cUNQTmVybTB2eTBPeFVzVlN2NHVqL2pV?=
 =?utf-8?B?aXhocVBtUzExMUhNQ1A0SzVFd3ozZnZKSGVFZVd5SEVabHVxSnR3WlNEYXBa?=
 =?utf-8?B?cEZRSDZXbjF3aEdKRUozM2JTZVhicHlOYmpQUG9WQVpqOXo4WHJzNTd6Z1A3?=
 =?utf-8?B?Ym9PbUZValRFcjNlaTE1czdlZEo4R2lyZVdnelhTRlg3TjBBcG1NMnBoMmNM?=
 =?utf-8?B?U0VpZnF0aVBCSmNvOVFSN285L1hpZWtpZ05QOUxlY3dlczg0dmozMFVVOVdH?=
 =?utf-8?B?R05VaHFIKzJlSkc0N3ZsTGJBTUw2SldaYkJ6eW1oSFdhYzBoTWpVVVJiT3Nk?=
 =?utf-8?B?WXZNTk9GWGFrN2JHcHNUdHlheUViRGdWbWFkTm5FYVlteXNLdnhaOE1jM1Jp?=
 =?utf-8?B?bThnb2FpQkFkUkdYVE9kdlVhOC9ySG12SUNkMmdja3IvMFhmdnllU0FsQWYy?=
 =?utf-8?B?bnFDMHU0Uml3WXNneWV4YVFsRFdHQzNWRWo0SFZta0VNdzBTc29GLy9saE5t?=
 =?utf-8?B?WURqQ1pPSmtBMEZiNEhuTGdUY1Fidi9OeDhGbWZnYWFNSG1RSjRUZ3RaUXB4?=
 =?utf-8?B?WlhBaDRudjMvNXdmSTNYMm1yWHB0Ymxic1Z1YzA2dHBXdyt0amlxRnBiSkw5?=
 =?utf-8?B?VFlJVXJNaGhEanFnNFR3eSttQklQMjQ3OTJmUkZzaGgyM2NVNW5ZZ2xsWlk4?=
 =?utf-8?B?NVBwOEhWakdKdVhMMG93Q09iQ3pwWk1EQXlDaEJXaHN6UXdJY204czl6V2c5?=
 =?utf-8?B?MGJZTHBkQjNjTVBrcURQL0d4VmxUdDlTSFdRZ1J2M3RveG0yL2Z0QUhDVVRH?=
 =?utf-8?B?T005Y2dmdjc1WGFjc1ZDVmVmb3F4OUM1akd5SGJKMXJCc3prbllOQk9ZT1gw?=
 =?utf-8?B?QzNtT2w4L1prNlcyNlYwY2JTd1lYdXZKcWY2NmJGY3JrY085SkFVbmdjY3ZY?=
 =?utf-8?B?WnRodDczdFdoRmdRQWlSUUlybm9TZHBaN1JTRWFvMFkxZjExNFp6a0hPdERU?=
 =?utf-8?B?MlU3UDhzNVQ3bWhmd1BFbTFsaTRwbHRQWFQ0c3hGcms5UG9WdUQrVjJJUFk1?=
 =?utf-8?B?TmE0aVdmVDVDQTFjSnBPSno0bHNHT21xT3c1RjViN1dkSWRIbHpzMmlDWjIx?=
 =?utf-8?B?NHlVanloS051dlo1QS9LZVh0K2gxTDN6UExkZU5MbElvOHA1ZEhPVzY4WS82?=
 =?utf-8?B?akZUV1E2eTZibHpmWkQrMUdxTXJzQVEvK3pLdzFzaE03dHhXNlgvaGdSQlNC?=
 =?utf-8?B?eG54b1BFcGI5MUVLQzBZZjJ5cTlZTVdDMldNQVFzcU00S1dScC9EZHdQVEth?=
 =?utf-8?B?VGI3R3h1QlhmVnRCMjh3THV0YzRqSHZ6OUdUT0RsbXY4K2w2bUNPazdDWERU?=
 =?utf-8?B?VTVQR2ZSR1huRnRpeVlacXJ1Q3VReXBBRE14akVBK0JuQldBY3ZOeEx4Nks0?=
 =?utf-8?B?cG5BeDJ6NS9TUngvNXdWSEJEaWprMTlSTDg2eWhhdUlpNVRJR1gwWndvazJX?=
 =?utf-8?B?Yjh3ZmNTdEhWOGNZazRxb3ZZSXlKcXZ5bGMxWTZXSVpPNTB6dGQ2OHp3V09s?=
 =?utf-8?B?QnVPYUE3SDhNNTllejlwcWt6WDhCaUVtWWN2d1NLVHdwWkk5aGZ4MEhteEtO?=
 =?utf-8?B?RnkyZVNGVDJlcTFDNThoY1V0aHVKZU9xbE9HWUxwY201SURXL045czhkeEU0?=
 =?utf-8?B?Q2N3cSszOHZaamovTFBuMjBralMzM21oRTczMFhYNmZDWnVEZkZiSjZVZDM0?=
 =?utf-8?B?MlArallUWHpCbVJXQjhkdXYvMzVCdG4wU1JZeVFMd2VJcGl3elg5MTVpNkZE?=
 =?utf-8?B?NlFRa1dBU3NtRE5LQVhodHhaRnlxT1hhOWc0YzVrRVdMbHFVa1RNZmZYMytm?=
 =?utf-8?B?L0FQcGJvYi9XNmttdVNHSE1hY0ZDS0Z2WjFjVGo5VHQvdlNNcVM5cVhCV3k4?=
 =?utf-8?B?b2ZOUTNvYktVNVhDc01JNXkwRjcyTEJYaTNzdkdEWEVEZk96U1dWL1dLSnBt?=
 =?utf-8?Q?AMEAgN7z/w4SEaRA=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d6e00b43-46db-46f7-f1b3-08dec6d6a644
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8274.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 09:57:14.9604
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QAypjfy8fLsMeWjlZUrMlOH4mYoHRKRnoTRHee3qBj3IPQwPM1TxZ747vXaNKJ0nINCwDQG2MHWP8tCMYDysBgxXak0Rqk6BRmSQtcldc/0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CHAPR03MB989226
X-purgate-ID: tlsNG-bad1c0/1781085438-42772A53-85EFDA38/0/0
X-purgate-type: clean
X-purgate-size: 1160

On 6/9/26 4:15 PM, Ross Lagerwall wrote:
> When performing multiple migrations in parallel, the domctl lock may
> become extremely contended:
> 
> * Operations like "xl vcpu-list" were observed to take in excess of 20s
>    to execute.
> * The "clean" shadow op may pause the domain, restart with a
>    continuation and then become blocked on the domctl lock, causing VM
>    downtime in excess of 20 seconds.
> 
> These issues can be fixed by not holding the domctl for the frequently
> called operations during migration.
> 
> Thanks
> 
> Ross Lagerwall (2):
>    domctl: Handle XEN_DOMCTL_getpageframeinfo3 without the domctl lock
>    domctl: Handle some of XEN_DOMCTL_shadow_op without the domctl lock
> 
>   xen/arch/x86/domctl.c    |  4 ++++
>   xen/arch/x86/mm/paging.c |  8 ++++++--
>   xen/common/domctl.c      | 13 +++++++++++++
>   3 files changed, 23 insertions(+), 2 deletions(-)
> 

I'd like to request inclusion of this in 4.22 since it fixes a real
customer issue we have observed and would have been posted some time ago
but was delayed to avoid drawing attention to and colliding with
XSA-492.

Thanks,
Ross


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 11:13:47 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 11:13:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334127.1597240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXGsJ-0006dA-PR; Wed, 10 Jun 2026 11:13:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334127.1597240; Wed, 10 Jun 2026 11: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 1wXGsJ-0006ch-LF; Wed, 10 Jun 2026 11:13:35 +0000
Received: by outflank-mailman (input) for mailman id 1334127;
 Wed, 10 Jun 2026 11:13:34 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wXGsI-0006A3-9k
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 11:13:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXGsG-00GqBH-Aa
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 13:13:32 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a2946da-5cb7-0a2a0a5109dd-0a2a450880a8-12
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:13:32 +0200
Received: from [52.101.229.134]
 (helo=TY3P286CU002.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a2946d6-63b5-0a2a45080019-3465e5868771-5
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:13:31 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by OS7P286MB6556.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:432::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Wed, 10 Jun
 2026 11:13:27 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 11:13:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=WbQ3bavD4E7BuKM+eKzmqZn5dmLV4JpAe5lMCEFn4vYq0Y/V7fq+GBwhMp2pfD9/DG0RM3Aw9dwcwx/tHgE9iY1S7M2Rtuj/zxBIrrzEEGQQLF/0DmL+vbW3ymb7aOPW/v9rfqC2nYnQ635lyBfpvzRY1XKOiAi0yA0IlC4xv58nH8+Qj4FcpYRmGdaEYII+8jszFSP2MKh7Dd3bfq4iXPLa+OF4YOYaTHpzIoggUz/nu4HfC4lwo7D+2F7b0LmuXvxLXYQa14yRPczxgwFHveVGto4SyiNnZ3GZ2UQasUh7HxP/C6OFgtXTZ7MVJj/l0q8k8BfzO0QaFEAmHezLrw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Cky4J/vAnZ9ZOtWZWlZtLmbIbAOYjiQm6m2bXsjzg8w=;
 b=SJHOh/4XwejsHtlOoPcRHyTDT87trmQeHYI9xxF4kAb+vzEGHtzQbUAcPwvLFRURpi+9HE9zAsX6GJhOg/w9WzuEyggVihZE2TXM/VJKf0lfWT1Dpy6pfSZtMfeo9NuHjNwPscPwnHYNAMgdx7cU8udfmDP8MU1M1A20WoutEgVCpEpeBf9psPcGVxOfiuwNmvr5DObT+YLC7FBJuv+mM/sMXuRQqYPKDxmRugl8NxbDdrh4Jk0cBdbb51/xCarPWjQ1kBotNmXuYE5mkfQVen24s0OJeLVjGIFrb0z6Z8yxHFMGqm6MVpMePAvc45xs9FJzzhwj4hDW+NgJdlsNDA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Cky4J/vAnZ9ZOtWZWlZtLmbIbAOYjiQm6m2bXsjzg8w=;
 b=X1z3dytZnecBhDBvsTfq6ixbTALNV1rKxptavSsCET9JlkCF1mcHwJ2l/vSnGg0OZ+MxB/SJqeFeAsDE6OdzEcjWL/Zapoyclk1eaouS4/egVnAgB+MNsxQTbg5ciNVUwLX3foUeI+HUZLaFctb0m7qeotLn8llofL0QjtbQurE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Mykyta_Poturai@epam.com,
	Hirokazu Takahashi <taka@valinux.co.jp>,
	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>,
	Dario Faggioli <dfaggioli@suse.com>,
	Juergen Gross <jgross@suse.com>,
	George Dunlap <gwd@xenproject.org>
Subject: [PATCH 2/3] xen/sched: Link CPU topology to scheduler
Date: Wed, 10 Jun 2026 20:13:19 +0900
Message-ID: <20260610111320.133784-3-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260610111320.133784-1-taka@valinux.co.jp>
References: <20260610111320.133784-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY6PR01CA0038.jpnprd01.prod.outlook.com
 (2603:1096:405:3bd::18) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|OS7P286MB6556:EE_
X-MS-Office365-Filtering-Correlation-Id: 811ba388-b67a-4479-6437-08dec6e14be2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|10070799003|1800799024|7416014|376014|366016|23010399003|22082099003|18002099003|56012099006|6133799003;
X-Microsoft-Antispam-Message-Info:
	v6cdxQMoigjGpCUeTvzGpfaDceWK3bQozNXE43bss/AoLnI9X8n10n78nRsH9G4gK8SF51l2CaF77cmq1AiCGhIrCTACaSg5wuCyrU8SB6/W8BPA6E0Nl2odB2b8h5XPwhwCu3Q43+TWGqyzaSCjRW1Eninf0GV5w+99EelgzOCN2pu0jlOYOlT9YXUl8oHz1TOw9fmBjFSi7nte6Kfmr3U2CM4HNsfr9XPZqIZHRQIT0NLnX6l+CrooYkf70eBSuExZugIKQkVrfMmfMW3kG+UprcMnZ+B5QX5xKHiCU+SVVEMy+liZGkDhViAslJdUmC/lJcvAJ0d2lLmi1FxW7I4ODUjektz3VBGcqhn3ADjAQCNmBZU/0QHiOWI9WBbWtj+faePSnPEEcfV+Kjk5+4NAn/KICJH1yxtLTYsq4XudTdNfjBakEJ0eqiKF5clHy18oXOKuDsy5Aic7+5jWAUxvYJx0YCe8tPMeVByT3aR9Mr/k+/FAqcpSuHoSlJ0HeL0s145YFl5qy6i8xTEr8n3L6+q5OJp9rVeI7KC+CoWfFaWP4yun2mmSusLIQ6VSFwtPYnc/IFZpgAifiUAa5HVJI7onpekvOY+0eB1ZOvj0P0niLNMoP8bWugvy6/sE91gklhXTlAXLZIwYTF9ex2UlDAXy3FNeXdsjgOsvyzNVzco61z+c716E4dy+kWJ/
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(1800799024)(7416014)(376014)(366016)(23010399003)(22082099003)(18002099003)(56012099006)(6133799003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?jqtZgAigOLEF+fGe4PzBALkhSWmlgNKJxpCStmh0NvP+AJxBnSYVmvwxsXI8?=
 =?us-ascii?Q?tQWGfDRUg1gfzRunGuTJVVdoFSfV2c4aYWYiTxXVxMBx3d583MXkOHGfQnPv?=
 =?us-ascii?Q?jAaag03X1s0q3qOdtcPZvaZo6udskbkmWDvOEJubbkpbTkYhc2mx4Q2CMuhy?=
 =?us-ascii?Q?f/Vxlm1OL8kPPEJHU7S8n0t6E9q6P30OJo2QMmxN/8Cofu0jmNGAD/1xZJMQ?=
 =?us-ascii?Q?gS8XBP8VRPNPABLeBEfdWwikTCTiq3j/YexNTZD0wUCkGwXtKevGgMtZXbN4?=
 =?us-ascii?Q?CspbWbLzL1tyDNlwkkXdnDo6TBHMhQWk0SmbHSQ+oT8uSxeuDTeyU9TDdjbw?=
 =?us-ascii?Q?AYZde4jdYbDsvq8/CQ0Rq+ghIBPZPfhYlR+XRXyr89hVWNgupw6X7xFF4DxJ?=
 =?us-ascii?Q?OUrrCjtnJwKJda5EQgx5wZl6KBQYH1C0joyxDoQCIJIKEBbvvY1rlZkr1eiY?=
 =?us-ascii?Q?DSQuhkgu141q3+xQ7J1XrGdWChB515ePnC2kPHxBPXrR7GLCtTqXPoL5OCtd?=
 =?us-ascii?Q?1MChkjTnOFQfi/BxM9RmDF0SXVMIJ1358Rhmcu48/9aqXAlzC43vGYd8X/7e?=
 =?us-ascii?Q?PKisZiOhrRQdDiQ1qeNk9Ni1YJcXred3lQzJKYsvKRF95zuehZljK0rLAfPC?=
 =?us-ascii?Q?z/bxLIAl97dUgzK9Jg0Y1F7KBGDM//nX57k+UJO4wPDG83ULgT76Vi48WlbK?=
 =?us-ascii?Q?xuOdzvWi9c+eJXIbf+dPcwGfeVHy6JWp/dQDwMBMFQaoEaveX+fOMh2mFuYp?=
 =?us-ascii?Q?mMmsox2+8zUDXBuQrhqYzExbmXuTMGX8k3Iu7X9nudjr4syqbxNDGuqSBF4Y?=
 =?us-ascii?Q?TnOUO338XQxSAge6380rHhTaSksb8JqnYRpGJdwgyAgQaG2oo3XZ5LD53xmQ?=
 =?us-ascii?Q?hUJzqh5+vZ1IHMPRRvcW9Hs093rjTc73iinqQwN592dsdHp5yLxuS95nyS5L?=
 =?us-ascii?Q?/GK3xuRgn0k2/QvidjKB1w8DznxOaLSAv5khC8WGKe7lUF9S+Uy5QHURMhCZ?=
 =?us-ascii?Q?UK+/NkI5EVQaLxNsO2lot4/3o7H6cWBCmG+Cf/4RkJuaudaqqWh1nAaJsIRQ?=
 =?us-ascii?Q?Xq7nXRp3iwQVblDIRtNRZ/QSe+WqhxDKSLsy0ZLfxgJA4895du+MH3cAZ4QI?=
 =?us-ascii?Q?sKvvJA5nZWpW30Bas39D3o2LudKtWXN2ryV9vJSfXMGlaqP2fFFr4xswgK4M?=
 =?us-ascii?Q?99iGRymyNSZPwxC9PZKdsnVnR9z+J3QmkapIAW4nBNuiLTdDwDRUjQagFaRL?=
 =?us-ascii?Q?ynY3EUhOf10LbibDK0IBsUoIhc6TOFKk0NtxnDhQ0ElwBO9Cm+zi6hGRk1Ti?=
 =?us-ascii?Q?Bl8obt9Fsyf58RWC3bbbhhQaxTyBtlE8V5HrxGklWAJNVsVbk7JO/akTxqJB?=
 =?us-ascii?Q?RXNNS0No7GvEg0FKn46H6MUmFKPpm0/ifklcW+QS7a5kt/MphKRN3D3N4k29?=
 =?us-ascii?Q?cbnyEoRaXOvL3jKY9JwmtFjtF0WkT0uwircGZXF3quEDVVK5Bjpe7nYcJc+e?=
 =?us-ascii?Q?rKJV5rDZPZBWqcMmPWLMODiNEa7VbyxbDesKFlyAqem4PUWxr0LdGh/0txQy?=
 =?us-ascii?Q?97qB13TuCPz/qqtOa81TlK8g9NVCGodhSvVyJ1B6ePzhMxbI7ubAsgzo2IID?=
 =?us-ascii?Q?HD5uieDvmZ80193TTtTw7N2DrSkVinhQ/pojX5Ki/kIzLBxRDPXaVtLcorvL?=
 =?us-ascii?Q?MCTQcxhE8GU4eFbHeqgdKOUvvP1sNR9IPwl+wdmJ57y50og1Tr2ECelBsU6F?=
 =?us-ascii?Q?tdykZPV6Btv5CHI7nO6Wq1GcXvBa3f5Z4y/57aFtvpKGigmtxuQAfmA3+DYz?=
X-MS-Exchange-AntiSpam-MessageData-1: sixtv3pmGfYjmw==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 811ba388-b67a-4479-6437-08dec6e14be2
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 11:13:27.6978
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1NdhH9f1Al5ZNQ+pzUOXQ4yUSH6p7UluxqFwprEG7LyeTuPMNG2xX1xlGOdwHCZgwzl4phoPPfdiyuJ5HNRt3g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS7P286MB6556
X-purgate-ID: tlsNG-c1860d/1781090012-C407FDB1-DF26F861/0/0
X-purgate-type: clean
X-purgate-size: 6305

Make CPU topology information available to the Xen scheduler.
Additionally, ensure that this topology information is displayed
when executing the 'xl info -n' command.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/arch/arm/include/asm/processor.h  |  4 ---
 xen/arch/arm/smpboot.c                | 10 ++++--
 xen/common/device-tree/cpu-topology.c | 51 +++++++++++++++++++++++++++
 xen/common/sched/credit2.c            |  3 ++
 xen/common/sysctl.c                   |  1 +
 xen/include/xen/cpu-topology.h        | 10 ++++++
 6 files changed, 72 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/include/asm/processor.h b/xen/arch/arm/include/asm/processor.h
index a3753c317f..41fa73cfc4 100644
--- a/xen/arch/arm/include/asm/processor.h
+++ b/xen/arch/arm/include/asm/processor.h
@@ -613,10 +613,6 @@ void show_stack(const struct cpu_user_regs *regs);
 
 #define cpu_relax() barrier() /* Could yield? */
 
-/* All a bit UP for the moment */
-#define cpu_to_core(_cpu)   (0)
-#define cpu_to_socket(_cpu) (0)
-
 struct vcpu;
 void vcpu_regs_hyp_to_user(const struct vcpu *vcpu,
                            struct vcpu_guest_core_regs *regs);
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index c071f1494f..b25d98c109 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -91,13 +91,17 @@ static int setup_cpu_sibling_map(int cpu)
          !zalloc_cpumask_var(&per_cpu(cpu_core_mask, cpu)) )
         return -ENOMEM;
 
+#ifdef CONFIG_DT_CPU_TOPOLOGY
+    cpumask_copy(per_cpu(cpu_sibling_mask, cpu), &cpu_topology[cpu].thread_sibling);
+    cpumask_copy(per_cpu(cpu_core_mask, cpu), &cpu_topology[cpu].core_sibling);
+#else /* CONFIG_DT_CPU_TOPOLOGY */
     /*
-     * Currently we assume there is no multithread and NUMA, so
-     * a CPU is a sibling with itself, and the all possible CPUs
-     * are supposed to belong to the same socket (NUMA node).
+     * If CONFIG_DT_CPU_TOPOLOGY is disabled, it is assumed that
+     * all CPUs reside in the same socket and that SMT is not used.
      */
     cpumask_set_cpu(cpu, per_cpu(cpu_sibling_mask, cpu));
     cpumask_copy(per_cpu(cpu_core_mask, cpu), &cpu_possible_map);
+#endif /* CONFIG_DT_CPU_TOPOLOGY */
 
     return 0;
 }
diff --git a/xen/common/device-tree/cpu-topology.c b/xen/common/device-tree/cpu-topology.c
index bbdf0d1fe8..7b6c918139 100644
--- a/xen/common/device-tree/cpu-topology.c
+++ b/xen/common/device-tree/cpu-topology.c
@@ -325,6 +325,55 @@ int __init parse_dt_topology(void)
     return parse_socket(map);
 }
 
+static void __init setup_cpu_topology_ids(void)
+{
+    unsigned int cpu;
+    unsigned int next_core_id = 0U;
+    unsigned int next_cluster_id = 0U;
+    unsigned int next_socket_id = 0U;
+
+    for_each_possible_cpu( cpu )
+    {
+        unsigned int first_cpu;
+        struct cpu_topology *topo = &cpu_topology[cpu];
+
+        first_cpu = cpumask_first(&topo->thread_sibling);
+        if ( first_cpu == cpu )
+        {
+            topo->phys_core_id = next_core_id;
+            next_core_id++;
+        }
+        else
+        {
+            topo->phys_core_id = cpu_topology[first_cpu].phys_core_id;
+        }
+
+        first_cpu = cpumask_first(&topo->cluster_sibling);
+        if ( first_cpu == cpu )
+        {
+            topo->phys_cluster_id = next_cluster_id;
+            next_cluster_id++;
+        }
+        else
+        {
+            topo->phys_cluster_id = cpu_topology[first_cpu].phys_cluster_id;
+        }
+
+        first_cpu = cpumask_first(&topo->core_sibling);
+        if ( first_cpu == cpu )
+        {
+            topo->phys_socket_id = next_socket_id;
+            next_socket_id++;
+        }
+        else
+        {
+            topo->phys_socket_id = cpu_topology[first_cpu].phys_socket_id;
+        }
+
+        topo->num_siblings = cpumask_weight(&topo->thread_sibling);
+    }
+}
+
 void __init dt_init_cpu_topology(void)
 {
     unsigned int cpu;
@@ -339,4 +388,6 @@ void __init dt_init_cpu_topology(void)
 
     for_each_possible_cpu( cpu )
         setup_siblings_masks(cpu);
+
+    setup_cpu_topology_ids();
 }
diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c
index 77475ee363..dcce1e361f 100644
--- a/xen/common/sched/credit2.c
+++ b/xen/common/sched/credit2.c
@@ -19,6 +19,7 @@
 #include <xen/softirq.h>
 #include <xen/time.h>
 #include <xen/trace.h>
+#include <xen/cpu-topology.h>
 
 #include <asm/div64.h>
 
@@ -37,6 +38,8 @@ static unsigned int cpu_nr_siblings(unsigned int cpu)
 {
 #ifdef CONFIG_X86
     return cpu_data[cpu].x86_num_siblings;
+#elif CONFIG_DT_CPU_TOPOLOGY
+    return cpu_topology[cpu].num_siblings;
 #else
     return 1;
 #endif
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index 5207664252..81a68fe24c 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -28,6 +28,7 @@
 #include <xen/pmstat.h>
 #include <xen/livepatch.h>
 #include <xen/coverage.h>
+#include <xen/cpu-topology.h>
 
 long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
 {
diff --git a/xen/include/xen/cpu-topology.h b/xen/include/xen/cpu-topology.h
index 1c03f4deaa..f268069449 100644
--- a/xen/include/xen/cpu-topology.h
+++ b/xen/include/xen/cpu-topology.h
@@ -10,6 +10,10 @@ struct cpu_topology {
     cpumask_t thread_sibling;
     cpumask_t core_sibling;
     cpumask_t cluster_sibling;
+    unsigned int phys_core_id;
+    unsigned int phys_cluster_id;
+    unsigned int phys_socket_id;
+    unsigned int num_siblings;
 };
 
 
@@ -19,11 +23,17 @@ extern struct cpu_topology *cpu_topology;
 void map_cpuid_to_node(unsigned int cpuid, struct dt_device_node *cpu_node);
 void dt_init_cpu_topology(void);
 
+#define cpu_to_core(_cpu)   (cpu_topology[_cpu].phys_core_id)
+#define cpu_to_socket(_cpu)   (cpu_topology[_cpu].phys_socket_id)
+
 #elif CONFIG_DEVICE_TREE_PARSE
 
 static inline void map_cpuid_to_node(unsigned int cpuid, struct dt_device_node *cpu_node) {}
 static inline void dt_init_cpu_topology(void) {}
 
+#define cpu_to_core(_cpu)   (0)
+#define cpu_to_socket(_cpu) (0)
+
 #endif /* CONFIG_DEVICE_TREE_PARSE */
 
 #endif /* XEN_CPU_TOPOLOGY_H */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 11:13:47 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 11:13:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334124.1597216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXGsH-0006AV-S4; Wed, 10 Jun 2026 11:13:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334124.1597216; Wed, 10 Jun 2026 11:13:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXGsH-0006AN-Oo; Wed, 10 Jun 2026 11:13:33 +0000
Received: by outflank-mailman (input) for mailman id 1334124;
 Wed, 10 Jun 2026 11:13:31 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wXGsF-00069s-NW
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 11:13:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXGsF-008xp6-3o
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 13:13:31 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a2946da-5cb7-0a2a0a5109dd-0a2a450880a8-2
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:13:31 +0200
Received: from [52.101.229.134]
 (helo=TY3P286CU002.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a2946d6-63b5-0a2a45080019-3465e5868771-4
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:13:30 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by OS7P286MB6556.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:432::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Wed, 10 Jun
 2026 11:13:25 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 11:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=s3sJK662g3oAP+Q2TLe2oFgevpD8CeKzqykzb72rtejn7E4XK8o1EbfyTxVKqxDPPKmE0AweV3FNjvJZ+PqNJG65JCDaMr7nwWavNrn9+xWIVXfzdSKWfgPKFegAQZxU1OwihPGzMhbwooWruCtxA0rfSa2qfYc5cRNfh61/AhOyb3EWFBjut1JTHOsKyuSeVi9Acu54vivTehRv0coWI8HPUHjIeHh33N/wpwZHArFqFeGfxD0ixGogENPHt++BNRuYgTR6/CCpmy3OmYR/7KAA699asE/pCL6Gski7fKkvZOSzEmz35Bt2KeMQjeFuTGWT6NM501GMmBqzcA3wig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IpWh0xgVzIL9fMjPYynsIQUoTP7Vl/xvtVBNtgvLy08=;
 b=AP/9DbNwUO8Of4okc/o+2TFSLu0qMNJ7X3AUYXN+nJk65H0N8Npr5d5zUqvGB2Eg0R4bmBNVRM49tI37ulcU7B4qrIi4Pbauw5pTx9wiAzT1nN1tQbo3P3htwc699nQolFoXoiDlZBpw/4jBy5Uf2M3dubGy92Wrnt+dxWDaV7TsuZUSiKGs25XH1b/6lNBuD5JFfw+Chi1tK9mKqnS5WOj1cnjE4O/ZlDzKTA+pUb9uiT3CZPRJqPi2OOi2BgPMraylD5qUEUVDOe6mtTOjpQEZkMmkPkb4rCGC6fK/Ydi4ov6T3o0lWtbtpcNcZwG6yHY2HCemK4KIVwOzKMHC+Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IpWh0xgVzIL9fMjPYynsIQUoTP7Vl/xvtVBNtgvLy08=;
 b=nC2WzyAHMSN6buam4UDPB67nxm2bTJT5rEp9Wgst9t53DUHzbXxnNGbKiCvJlfASfLORXyG/ZcAet+e3ddfIAHDtC7dFvljTUJeUr8mxs8fCsj7cDFelteEceIIrnAepRc5XXCtZtBCiVp55XVmfYEM2Je6/g7EDH+96h4fWCCc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Mykyta_Poturai@epam.com,
	Hirokazu Takahashi <taka@valinux.co.jp>,
	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 1/3] xen/device-tree: Parse 'cpu-map' node for CPU topology exploration
Date: Wed, 10 Jun 2026 20:13:18 +0900
Message-ID: <20260610111320.133784-2-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260610111320.133784-1-taka@valinux.co.jp>
References: <20260610111320.133784-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY6PR01CA0034.jpnprd01.prod.outlook.com
 (2603:1096:405:3bd::17) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|OS7P286MB6556:EE_
X-MS-Office365-Filtering-Correlation-Id: c745a8bc-2cb3-4a86-7f69-08dec6e14abb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|10070799003|1800799024|7416014|376014|366016|23010399003|22082099003|18002099003|56012099006;
X-Microsoft-Antispam-Message-Info:
	3n/Xdj49m7lTRL/deE/eT1SArTpd0OAMkKpX8vaUn0qSVN8ksC85eIfFEsFj0gY8HPnMqEl3Ux5lvEraocf4IPtUzHmidr61VqdGbIyAm0IzJnQHwbQ+Z4BWAZHIeysTPU8Pogo5uFmM0qK0hZhjLZxVASP4iE8bkk29RHTdU5d3FQ3D+SyUSJiCjgOU/KwibbFO5NJynvf/uPiSxa9YLV2erJQvlL7//eYdrEfTzf5fZxRZlFtkAaca/uO8vCJvNcgr8mfjj0CrqghQ6sxTAMJ6Hf7+D3yZzt4CGGkyj8QuU/CVTGI63+UZyXVcfjgWc0cAzzRpF1ySleUWBDnxD8JX6FHvdV1gUtfiDKgJdSlHj6yhmq27wqwphFeWWCzAqa+EndYItXV/J+DZgc5VJssZ2ELOijyI+0KBBr4UOe+4CCfHUBMtUkYY4iW5v0ceDExKk6N9EcCWUtxiBLTgXpNIV9l7gYcsdLEKs30h/D+Xl9maFV5uSvPhnJnQ/GaKtgIOg4PAGfIt31GxmdkAwkW5fSwSHyJljdLC9v/PHTFthdaUXDzXZ+9A9sU9Df0wPeqdxUauLuXIAhPz1vK4j1E9MeuHBPDH3W+XgIa1R8yx8Cntmd0kXRSrkzUcmZp8/x8n5uRJneviUJEXCzc3MD2xpS/lcjRjMrYVbQ3OnDFePDW8I/g4rLV/CIEzkh0G
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(1800799024)(7416014)(376014)(366016)(23010399003)(22082099003)(18002099003)(56012099006);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?whNdwJk3T85WKqONlt/AHNUBDVE1jcwn/Ap13VxPpyv+W0L7ohwlTJ3Blb8N?=
 =?us-ascii?Q?0WT28cP89cAuyl3EntAtBYxPAGgqmqg2vjIiovqzIxRAWnXJB96RUSNJTWOU?=
 =?us-ascii?Q?zHJy85AOaIffFrGBRK7CR+vGx2iq5Yf2pyMvF6XTtBikU4NLfZ+lIPwvejiI?=
 =?us-ascii?Q?tbRhyNeSeIAYoxu3AK5OVJQZk4qwCNQMTc5qKTUXmM+BaMWmZ2/NPrmIZBYe?=
 =?us-ascii?Q?dbqPHDaIH31i1BgbmEAt58q8o++WPnB4wjprIZUGdt1PZdqErnmPIMStTNKO?=
 =?us-ascii?Q?9M1N4sTM+8BMdS3hQFHUnHH/fgJFkwmOKyvr+ftWr38YSMfxnh0MVtTW26iA?=
 =?us-ascii?Q?+popFE5GxFlq1T1gx1h9UbrdS3pKa3hI6j5nbnrdVw5un1Tqkes5OdmSQ4pU?=
 =?us-ascii?Q?uZlsgersSVtBcz0dFHiNfm3oEI6mUaj67w7ioF8CpUXpa8f+olRp3FyTnHUF?=
 =?us-ascii?Q?mGbOVzokP4B1TQZUxLNGTCMWVODRHgbjfoRwJ8vFUomuK3QeVu1JHgA8J8H9?=
 =?us-ascii?Q?y6iuvtoytQXKFrYN7N8XhFgL6ZFVX8cXXGrq8ChQDgdCbJvb10oYnB4eYk/H?=
 =?us-ascii?Q?er9xaDvi4vtl98nyv/Gid2Bbn+OYyMnsjMWyNFkvWBh9I2r4i+rJ+tyw3LUj?=
 =?us-ascii?Q?l2U+nJmxOsfht++/XhxZ+qL6nBRLmYLbwI251V5sP5sBykQAnTJnEsagI4Gm?=
 =?us-ascii?Q?iLoc07btz9Pp5TQCOU6OfA2FEoHSzZib0VVTIMmFmGNdb/MYgla6UAyUFJWb?=
 =?us-ascii?Q?4oCl0sRxfq2bFJDxk2FrIsmUlzizHeLuWHOWIqeZZ8UOL8rR9NobsR/bgsKy?=
 =?us-ascii?Q?rRytPnuEC59WnWgov6m12QU5UIesKXks+9QCxav3jCx0ToF46pHgVypI38A6?=
 =?us-ascii?Q?n33srKojVmF/cdxQqgSrmaLIrXf3Xd7IANLSDD/VHyBlcxryteL8tpB6OHeH?=
 =?us-ascii?Q?3EKgaAFr/PfaIQgM8DmRxFuWKBPD1j3AKIf76Aw4ot+1SK0v7VYCm1DfhRAJ?=
 =?us-ascii?Q?dmmkrXRVmVETpel/3rPBulypLAzgIRdFpT2wgQgNrLrAY3Ildv1dX5tPb0kQ?=
 =?us-ascii?Q?AXVwbrv00l18m3Dw2AIlt+fHwQmxsr+fl1WdwLJEYmzj/ziOM8qTpmj9DYhe?=
 =?us-ascii?Q?+OSL/nqgoskRry6N0HStzp5fI0G2nJGDcpuTl4ICJtjWyE2bkqADWkP0na0l?=
 =?us-ascii?Q?BtypyoXMZOG+vyRVnqtjjld07eWxah7a2Jv4sN6z/f0yueH2rHF3ZPAdndv3?=
 =?us-ascii?Q?U7Txch9i+33A/w4o0ETrzM1KWkmpkkqxi6sdiFzkv+HO7GOCJ4b2S6fsPOdJ?=
 =?us-ascii?Q?B1MCz9PlZYw2bGp9n27lt2Rr8LOB4w7a/Xc0sl5GQnKkir3SDptR+awfKL/v?=
 =?us-ascii?Q?BT+J31PEpukKcEP+PHjkn9W1q8eBfh6p8cDXJ4nE7Gon9N2U4PAgWDOjbpPE?=
 =?us-ascii?Q?bPrlgKbq6mGu1Bnc90Ub0I+lJ0SjtbqBEb184n9M46xgZH/aSHtYUHHSXXmR?=
 =?us-ascii?Q?Ui2q1iN+G1EtOiqJIqFYS8GCUzLZJNOoidHJGle04mQw4LVeEvd9bETUX04g?=
 =?us-ascii?Q?lkUQiPQvGJ4mgXF4/oo1Xk9x8nXQ8PAFcg4sHAUCp5diDMBllilMEaPLRi/A?=
 =?us-ascii?Q?nSnvAL3nfKutzAtL2FQhCwt42zIUXl7TBAdyWtVhuTP+wrkE7If7T+Z0uPvZ?=
 =?us-ascii?Q?a145T1D8cstiSn8N0Pk8FFeWU1wVzP/BfZ6q4LHHhli63PMUwmwSDYZpsRK+?=
 =?us-ascii?Q?ipy5t2EZ5UcohmHfwpjmzkLN8RtMWublZXBAh3vsX3IpDhPsWE76fHoqDnAU?=
X-MS-Exchange-AntiSpam-MessageData-1: GN/rsN2lqPhToQ==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: c745a8bc-2cb3-4a86-7f69-08dec6e14abb
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 11:13:25.7773
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8xI1UkHf1f4IU1Xl5Z0wLwDjfpiYelwAva29SBbsUqFaW8hz8pQ5ANmjpejZr8PUi2bKp3DxJvy/WVFaTh+kFA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS7P286MB6556
X-purgate-ID: tlsNG-c1860d/1781090011-C487BDB1-FD7C428F/0/0
X-purgate-type: clean
X-purgate-size: 13239

Parse the 'cpu-map' node in the Device Tree to extract CPU topology
information. If the 'cpu-map' node is absent, fall back to
generating the topology data from the NUMA information. This
generation assumes exactly one socket per NUMA node and that SMT
is unsupported.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/arch/arm/smpboot.c                |   6 +
 xen/common/Kconfig                    |   7 +
 xen/common/device-tree/Makefile       |   1 +
 xen/common/device-tree/cpu-topology.c | 342 ++++++++++++++++++++++++++
 xen/include/xen/cpu-topology.h        |  38 +++
 5 files changed, 394 insertions(+)
 create mode 100644 xen/common/device-tree/cpu-topology.c
 create mode 100644 xen/include/xen/cpu-topology.h

diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index 7f3cfa812e..c071f1494f 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -24,6 +24,7 @@
 #include <xen/warning.h>
 #include <xen/irq.h>
 #include <xen/console.h>
+#include <xen/cpu-topology.h>
 #include <asm/cpuerrata.h>
 #include <asm/gic.h>
 #include <asm/procinfo.h>
@@ -242,6 +243,8 @@ static void __init dt_smp_init_cpus(void)
         }
         else
             tmp_map[i] = hwid;
+
+        map_cpuid_to_node(i, cpu); /* pass the info to dt_init_cpu_topology() */
     }
 
     if ( !bootcpu_valid )
@@ -275,7 +278,10 @@ void __init smp_init_cpus(void)
     }
 
     if ( acpi_disabled )
+    {
         dt_smp_init_cpus();
+        dt_init_cpu_topology();
+    }
     else
         acpi_smp_init_cpus();
 
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 5ff71480ee..9f9b48a4b7 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -188,6 +188,13 @@ config VM_EVENT
 config NEEDS_LIBELF
 	bool
 
+config DT_CPU_TOPOLOGY
+	bool "Device tree based CPU topology support (UNSUPPORTED)" if UNSUPPORTED
+	depends on HAS_DEVICE_TREE_DISCOVERY
+	help
+	  Retrieve CPU topology information from the device tree to optimize
+	  virtual CPU scheduling.
+
 config NUMA
 	bool
 
diff --git a/xen/common/device-tree/Makefile b/xen/common/device-tree/Makefile
index 9036e455d6..38bc5d5306 100644
--- a/xen/common/device-tree/Makefile
+++ b/xen/common/device-tree/Makefile
@@ -1,6 +1,7 @@
 obj-y += bootfdt.init.o
 obj-$(CONFIG_HAS_DEVICE_TREE_DISCOVERY) += bootinfo-fdt.init.o
 obj-$(CONFIG_HAS_DEVICE_TREE_DISCOVERY) += bootinfo.init.o
+obj-$(CONFIG_DT_CPU_TOPOLOGY) += cpu-topology.o
 obj-y += device-tree.o
 obj-$(CONFIG_DOMAIN_BUILD_HELPERS) += domain-build.init.o
 obj-$(filter $(CONFIG_DOM0LESS_BOOT),$(CONFIG_HAS_DEVICE_TREE_DISCOVERY)) += dom0less-build.init.o
diff --git a/xen/common/device-tree/cpu-topology.c b/xen/common/device-tree/cpu-topology.c
new file mode 100644
index 0000000000..bbdf0d1fe8
--- /dev/null
+++ b/xen/common/device-tree/cpu-topology.c
@@ -0,0 +1,342 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Derived from Linux kernel 7.0's $drivers/base/arch_topology.c
+ * Parse cpu topology information.
+ *
+ * Copyright (c) 2026 VA Linux Systems Japan K.K.
+ * Author: Hirokazu Takahashi <taka@valinux.co.jp>
+ */
+
+#include <xen/cpu.h>
+#include <xen/cpumask.h>
+#include <xen/delay.h>
+#include <xen/device_tree.h>
+#include <xen/cpu-topology.h>
+#include <xen/numa.h>
+#include <xen/domain_page.h>
+#include <xen/errno.h>
+#include <xen/init.h>
+
+struct cpu_map {
+    unsigned int thread_id;
+    unsigned int core_id;
+    unsigned int cluster_id;
+    unsigned int package_id;
+};
+
+struct cpu_topology *cpu_topology;
+static struct cpu_map __initdata cpu_map[NR_CPUS] = {
+    [0 ... NR_CPUS-1] = {~0U, ~0U, ~0U, 0U}
+};
+static struct dt_device_node * __initdata dt_cpu_table[NR_CPUS];
+static const unsigned int __initdata invalid_topo_id = (~0U);
+
+static void __init setup_siblings_masks(unsigned int cpuid)
+{
+    struct cpu_topology *cpuid_topo = &cpu_topology[cpuid];
+    struct cpu_map *cpuid_map = &cpu_map[cpuid];
+    unsigned int cpu;
+
+    /* Update core and thread sibling masks */
+    for_each_possible_cpu( cpu )
+    {
+        struct cpu_topology *cpu_topo = &cpu_topology[cpu];
+        struct cpu_map *map = &cpu_map[cpu];
+
+        if ( cpuid_map->package_id != map->package_id )
+            continue;
+
+        cpumask_set_cpu(cpuid, &cpu_topo->core_sibling);
+        cpumask_set_cpu(cpu, &cpuid_topo->core_sibling);
+
+        if ( cpuid_map->cluster_id != map->cluster_id )
+            continue;
+
+        if ( cpuid_map->cluster_id != invalid_topo_id )
+        {
+            cpumask_set_cpu(cpu, &cpuid_topo->cluster_sibling);
+            cpumask_set_cpu(cpuid, &cpu_topo->cluster_sibling);
+        }
+
+        if ( cpuid_map->core_id != map->core_id )
+            continue;
+
+        cpumask_set_cpu(cpuid, &cpu_topo->thread_sibling);
+        cpumask_set_cpu(cpu, &cpuid_topo->thread_sibling);
+    }
+}
+
+static struct dt_device_node * __init dt_find_child_node_by_name(struct dt_device_node *from, const char *name)
+{
+    struct dt_device_node *np;
+    const struct dt_device_node *dt = from;
+
+    dt_for_each_child_node( dt, np )
+        if ( np->name && (dt_node_cmp(np->name, name) == 0) )
+            break;
+
+    return np;
+}
+
+void __init map_cpuid_to_node(unsigned int cpuid, struct dt_device_node *cpu_node)
+{
+    if ( cpuid < NR_CPUS )
+        dt_cpu_table[cpuid] = cpu_node;
+}
+
+static unsigned int __init cpu_node_to_id(struct dt_device_node *cpu_node)
+{
+    unsigned int cpu;
+    bool found = false;
+
+    for_each_possible_cpu( cpu )
+    {
+        found = (cpu_node == dt_cpu_table[cpu]);
+        if ( found )
+            return cpu;
+    }
+
+    return invalid_topo_id;
+}
+
+/*
+ * This function returns the logic cpu number of the node.
+ */
+static unsigned int __init get_cpu_for_node(struct dt_device_node *node)
+{
+    struct dt_device_node *cpu_node = dt_parse_phandle(node, "cpu", 0);
+
+    if ( !cpu_node )
+        return invalid_topo_id;
+
+    return cpu_node_to_id(cpu_node);
+}
+
+static int __init parse_core(struct dt_device_node *core,
+                unsigned int package_id, unsigned int cluster_id,
+                unsigned int core_id)
+{
+    char name[20];
+    bool leaf = true;
+    unsigned int i = 0U;
+    unsigned int cpu;
+
+    do {
+        struct dt_device_node *t;
+
+        snprintf(name, sizeof(name), "thread%u", i);
+        t = dt_find_child_node_by_name(core, name);
+
+        if ( !t )
+            break;
+
+        leaf = false;
+        cpu = get_cpu_for_node(t);
+        if ( cpu != invalid_topo_id )
+        {
+            cpu_map[cpu].package_id = package_id;
+            cpu_map[cpu].cluster_id = cluster_id;
+            cpu_map[cpu].core_id = core_id;
+            cpu_map[cpu].thread_id = i;
+        }
+        else
+        {
+            printk(XENLOG_ERR "ERROR: %pOF: Can't get CPU for thread\n", t);
+            return -EINVAL;
+        }
+        i++;
+    } while ( true );
+
+    cpu = get_cpu_for_node(core);
+
+    if ( cpu != invalid_topo_id )
+    {
+        if ( !leaf )
+        {
+            printk(XENLOG_ERR "ERROR: %pOF: Core has both threads and CPU\n",
+                   core);
+            return -EINVAL;
+        }
+
+        cpu_map[cpu].package_id = package_id;
+        cpu_map[cpu].cluster_id = cluster_id;
+        cpu_map[cpu].core_id = core_id;
+        cpu_map[cpu].thread_id = 0U;
+    }
+    else if ( leaf )
+    {
+        printk(XENLOG_ERR "ERROR: %pOF: Can't get CPU for leaf core\n", core);
+        return -EINVAL;
+    }
+
+    return 0;
+}
+
+static int __init parse_cluster(struct dt_device_node *cluster,
+                unsigned int package_id, unsigned int cluster_id,
+                unsigned int depth)
+{
+    char name[20];
+    bool leaf = true;
+    bool has_cores = false;
+    unsigned int core_id = 0U;
+    unsigned int i;
+    int ret;
+
+    /*
+     * First check for child clusters; we currently ignore any
+     * information about the nesting of clusters and present the
+     * scheduler with a flat list of them.
+     */
+    i = 0U;
+    do {
+        struct dt_device_node *c;
+
+        snprintf(name, sizeof(name), "cluster%u", i);
+        c = dt_find_child_node_by_name(cluster, name);
+
+        if ( !c )
+            break;
+
+        leaf = false;
+        ret = parse_cluster(c, package_id, i, depth + 1U);
+        if ( depth > 0U )
+            printk(XENLOG_WARNING "WARNING: Topology for clusters of clusters not yet supported\n");
+        if ( ret != 0 )
+            return ret;
+        i++;
+    } while ( true );
+
+    /* Now check for cores */
+    i = 0U;
+    do {
+        struct dt_device_node *c;
+
+        snprintf(name, sizeof(name), "core%u", i);
+        c = dt_find_child_node_by_name(cluster, name);
+
+        if ( !c )
+            break;
+
+        has_cores = true;
+
+        if ( depth == 0U )
+        {
+            printk(XENLOG_ERR "ERROR: %pOF: cpu-map children should be clusters\n", c);
+            return -EINVAL;
+        }
+
+        if ( leaf )
+        {
+            ret = parse_core(c, package_id, cluster_id, core_id++);
+            if ( ret != 0 )
+                return ret;
+        }
+        else
+        {
+            printk(XENLOG_ERR "ERROR: %pOF: Non-leaf cluster with core %s\n",
+                   cluster, name);
+            return -EINVAL;
+        }
+
+        i++;
+    } while ( true );
+
+    if ( leaf && !has_cores )
+        printk(XENLOG_WARNING "WARNING: %pOF: empty cluster\n", cluster);
+
+    return 0;
+}
+
+static int __init parse_socket(struct dt_device_node *socket)
+{
+    char name[20];
+    bool has_socket = false;
+    unsigned int package_id = 0U;
+    int ret;
+
+    do {
+        struct dt_device_node *c;
+
+        snprintf(name, sizeof(name), "socket%u", package_id);
+        c = dt_find_child_node_by_name(socket, name);
+
+        if ( !c )
+            break;
+
+        has_socket = true;
+        ret = parse_cluster(c, package_id, invalid_topo_id, 0U);
+        if ( ret != 0 )
+            return ret;
+
+        package_id++;
+    } while ( true );
+
+    if ( !has_socket )
+        ret = parse_cluster(socket, 0U, invalid_topo_id, 0U);
+
+    return ret;
+}
+
+/*
+ * Generate cpu topology information when cpu-map node doesn't exist.
+ * It assumes that the cpu doesn't have SMT and all CPUs on a NUMA
+ * node belong to the same socket.
+ */
+static void __init fixup_topology(void)
+{
+    unsigned int cpu;
+    unsigned int clid = 0U;
+    unsigned int pkgid = 0U;
+
+    for_each_possible_cpu( cpu )
+    {
+        struct cpu_map *map = &cpu_map[cpu];
+
+        map->package_id = cpu_to_node(cpu);
+        if ( map->package_id != pkgid )
+        {
+            pkgid = map->package_id;
+            clid = 0U;
+        }
+        map->cluster_id = clid++;
+        map->core_id = 0U;
+        map->thread_id = 0U;
+    }
+}
+
+int __init parse_dt_topology(void)
+{
+    struct dt_device_node *cpus;
+    struct dt_device_node *map;
+
+    cpus = dt_find_node_by_path("/cpus");
+
+    if ( !cpus )
+    {
+        printk(XENLOG_ERR "ERROR: No CPU information found in DT\n");
+        return -EINVAL;
+    }
+
+    map = dt_find_child_node_by_name(cpus, "cpu-map");
+    if ( !map )
+        return -ENOENT;
+
+    return parse_socket(map);
+}
+
+void __init dt_init_cpu_topology(void)
+{
+    unsigned int cpu;
+    const unsigned int nr_cpus = cpumask_last(&cpu_possible_map) + 1U;
+
+    cpu_topology = xzalloc_array(struct cpu_topology, nr_cpus);
+    if ( !cpu_topology )
+        panic("Failed to allocate memory for cpu_topology array\n");
+
+    if (parse_dt_topology())
+        fixup_topology();
+
+    for_each_possible_cpu( cpu )
+        setup_siblings_masks(cpu);
+}
diff --git a/xen/include/xen/cpu-topology.h b/xen/include/xen/cpu-topology.h
new file mode 100644
index 0000000000..1c03f4deaa
--- /dev/null
+++ b/xen/include/xen/cpu-topology.h
@@ -0,0 +1,38 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef XEN_CPU_TOPOLOGY_H
+#define XEN_CPU_TOPOLOGY_H
+
+#include <xen/types.h>
+#include <xen/device_tree.h>
+
+struct cpu_topology {
+    cpumask_t thread_sibling;
+    cpumask_t core_sibling;
+    cpumask_t cluster_sibling;
+};
+
+
+#ifdef CONFIG_DT_CPU_TOPOLOGY
+
+extern struct cpu_topology *cpu_topology;
+void map_cpuid_to_node(unsigned int cpuid, struct dt_device_node *cpu_node);
+void dt_init_cpu_topology(void);
+
+#elif CONFIG_DEVICE_TREE_PARSE
+
+static inline void map_cpuid_to_node(unsigned int cpuid, struct dt_device_node *cpu_node) {}
+static inline void dt_init_cpu_topology(void) {}
+
+#endif /* CONFIG_DEVICE_TREE_PARSE */
+
+#endif /* XEN_CPU_TOPOLOGY_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 11:13:48 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 11:13:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334126.1597234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXGsJ-0006aD-GK; Wed, 10 Jun 2026 11:13:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334126.1597234; Wed, 10 Jun 2026 11: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 1wXGsJ-0006a6-Dh; Wed, 10 Jun 2026 11:13:35 +0000
Received: by outflank-mailman (input) for mailman id 1334126;
 Wed, 10 Jun 2026 11:13:34 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wXGsH-0006AU-W2
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 11:13:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXGsH-00GqBH-CQ
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 13:13:33 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a2946da-5cb7-0a2a0a5109dd-0a2a450880a8-22
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:13:33 +0200
Received: from [52.101.229.134]
 (helo=TY3P286CU002.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a2946d6-63b5-0a2a45080019-3465e5868771-6
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:13:33 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by OS7P286MB6556.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:432::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Wed, 10 Jun
 2026 11:13:29 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 11:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=vOVSRPQ30nPYvnHW7krgjG2/WV0y+S0dUUlSJIN2h7ZxYjtKFUGNkldxafBzBRvr40mEKWVRLml2E4Kx0+CkAWz6iQP2N0IzWouWSGlK3utGcklztXRo78aBZ9rl9iqhzUB0pgyogZ3HADm3/UGcyk0qyUg9YcvKLuGc9EltGZyixeMo70/Uw2aJA0vIw6xFqVinbpEcXPnq4qrNztu8U6FlLvqtVIBj/pFgVmsJB61MTEXEsBKMS+4SyIwACKfmG14JA0Y6kWjKfMCh/n60rmltb5YqxTiuIpvCRAJygfwrCKdlfxbDNKqfOFZYs8987YW9JqRrrqwiWDzJ9irfww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FULNXB41nFxLdVdMIO10H4z2ozWVoFFKD0Vvei/1HYg=;
 b=IDwr+lp8LxHG+6ElHPR/zTchd9Wv+U8a8Ui9B/CALiMl3zwA/tjIIMyhTaR6vw+Pfyn/QX/wxE3XVHw4oAD1aUAyocb6p8o9JbXFfMly/kFJXPu0UURaCTA83J3FeDFBntsL8/tV1WMvKjaDQqCyB8ZOkZqd0bgpcl3GdVcaKd1Ybc9ZtsRSc3IXnA+mj6qgAxUTKdIGvS38FSDXuV9ez1Yj3rUSHsVmfI9qE2AsliJD2biupBHf6eH/XmBba2dNUNalg0/kvZUoKqwwBFTc8JdnKNOFzdOPNcOzeDCOvNHgTjYfGyk+qV2G/tZl47zOZRGlf4j90OF25Tka+FkThw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FULNXB41nFxLdVdMIO10H4z2ozWVoFFKD0Vvei/1HYg=;
 b=aF24DM07/0p0AyK2+yR5SJKUfqEEAhNJMLtlmGANHFAYYYNEzGaAMyPOuhgHBhHAdusjdpzw5qlQNqMAHZG3cxCOLkmWdlEsBNGkrWKsKxventu4DgFKBFRl1SHDbMTgMLf44KognVHsExC6esfzeA0YeqBJssTJxHgG1FEX0nc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Mykyta_Poturai@epam.com,
	Hirokazu Takahashi <taka@valinux.co.jp>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	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>
Subject: [PATCH 3/3] xen/sched: Make cpu_nr_siblings() architecture-specific
Date: Wed, 10 Jun 2026 20:13:20 +0900
Message-ID: <20260610111320.133784-4-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260610111320.133784-1-taka@valinux.co.jp>
References: <20260610111320.133784-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY6PR01CA0035.jpnprd01.prod.outlook.com
 (2603:1096:405:3bd::7) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|OS7P286MB6556:EE_
X-MS-Office365-Filtering-Correlation-Id: 4e34474e-4a06-4ae5-6483-08dec6e14ced
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|10070799003|1800799024|7416014|376014|366016|23010399003|22082099003|18002099003|56012099006;
X-Microsoft-Antispam-Message-Info:
	/XXh1U4It6k3QAcsjNUORrHgwEv6XVYDvbZnKr6sxysS/tP0i/Uapi5nuOJtLYug60BaDq44Cra/UnS3j2LqiQ3wIjqAZZjFNYnsAP5N1sRUbD3nIO/yld4KtO7SHnGX/iLKigmK9Ds7JUkW+nonkqpVI2v8qkp5OZct8nv4Eb7QJmKseIJ7I6XCiH0lhuCX8iX9glA8PpbmK9sEipbuTsrzd5dSPdwDx1DWxCA8rRD7uynHZy0RtPvazVGaH5u+kqusqNMnW0jQhzMzm+jUUsIOxjEHfW0WrfgrX7q6n4UECvooEfJoR8CYehxtBNwXuc38zS+Lmptd8YsCQdzTAGzf6gHdxTyNStooEffrPXSWBCfPHGYgM3ivtJvB6QQWyRj7yPaNHZeGzvZL16SL3PFNA4g3Lw5I45drb/AUucruPwc2xKbKUg0aWQLqGdJ4yrxWGPOD/panQjotANbb3fLIHf6muecKv7Z5IIcVx/z3sozfw9nCSbOTYOXBkYrfkge+ZNL0vqQmleu1kF/qi/Z3DhqFVPGTGxEet06nKE86xdTqDD3YPxJdvKWYtPPjQWGzzaAmGffkGvN+oXsx0H4jf0ShKhSdvqmWmG2sBX517au/WJuSHOIqK/wZBfIVdbLKmsm7Y0dsNEsV+zAR/gVnBN3/MKPS/Ibgkn4m+IMuMYBkRmXpkHU73cXkr6RY
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(1800799024)(7416014)(376014)(366016)(23010399003)(22082099003)(18002099003)(56012099006);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?VUAFPo3zIJ9ebqE1xwMDJS4IaJEL97d0EVO+VhrQg40dtv72XGch5SRkZgco?=
 =?us-ascii?Q?9pCK/zPJv/lxHmKzRdQyaXGnMilMV1s75vmH4FeuirACUOrYKvhuWP3LZjsV?=
 =?us-ascii?Q?EaniY0pM0srxGaMHobrd0LcF5zrjcpagFZNrcjMUoFfKlOvoTerKAswe0pSX?=
 =?us-ascii?Q?YFg67/UvUc5XQjk8Tl+oEq4k7Raj9EWz9a0GqOFxagbOXoyE91mtPub1duAc?=
 =?us-ascii?Q?hREy25q077BmBRFIdQgmlIiLRPNCVDXdyRtnUfrNkN2Bx/rnW20vgeynB29Z?=
 =?us-ascii?Q?s6neBPErk7OZYsZK+WPt32NUi2Wsle3KgVqFEZ6pXhoKTtze/9dy/x774yYC?=
 =?us-ascii?Q?Suk7UkFVAaG4nQe+EshUWQahn8Q6nPgo8QmlwLEzksn17PrpcM8dOPHf2+Kp?=
 =?us-ascii?Q?GWTIs1haSphAtU+MxXD6HqWkQQXoKfLW4XXl35/cPoMlm+69npf2i1/mbYMs?=
 =?us-ascii?Q?HPpnyEV2utCFjBkZPf8SLdwyMj365omuGjYvVd2fROXKjJrywZUxXBgPzbg3?=
 =?us-ascii?Q?5RMuRrVUEpu3eHAhovbBrI99KLiGhdgz/0hnhLzqYQ37VI6xiJ7frcs5AFWu?=
 =?us-ascii?Q?iZx/qSq/QMFQ7/OSpRV9v863p6fYWOReeYxtCAS2rZj+6vtSxJjHJGOLh88G?=
 =?us-ascii?Q?gvCGWfphXQe5ZT19z+9aYm86PoIih4Rf41OK499HxIrzMAi8A5lbwkakBKXF?=
 =?us-ascii?Q?TcaMyLjsafeFVK3H0hG05HkZhFgKJdIOsyDwGM9RUoQCgpWTcOoae6cHWKwl?=
 =?us-ascii?Q?CUB3iYijEfkUxTrhf/L9pFciRtZtQc08GZ6Gcteu1L+IJTEJRKLulYiagOoJ?=
 =?us-ascii?Q?nMBur+0tRqwW06/cZ59JvD4928uobpSJ/MGp9s4WPAl+Rlgs7d5TC0qhjE8p?=
 =?us-ascii?Q?9M3v8YBrGaGc3SssFWbzy2xLevCQdmSV2HSrb7wmj/afeL3xdRaDRMMZ0Dnb?=
 =?us-ascii?Q?5q6U2nH3Gyf0GStNWrXzDjiX5NQxR7lKk2Halj4Hpe7EiTD8bJxcp+LYoxC/?=
 =?us-ascii?Q?qyJjetI0MZmt11/HkVLuyWY+QfcB+GXE/fcgIsxVv1aPShwVHK+0tmiE7xMe?=
 =?us-ascii?Q?H4/hbUwUcwVOOrbeyPmgWPZCtBerz4mquY0BXf/DpH/PhYCcg5LbXLMrWcuj?=
 =?us-ascii?Q?jNXFfxquR7MHtxKlDrGLsnX4GQVitW3CrlhyVEnYjF57FMhHnWGzZijov1zQ?=
 =?us-ascii?Q?YIewXUOIH5+fsSMCvxH+ji/nsd16so+vb/nESxiM4qlHH0cs6BcAUjYWLuTK?=
 =?us-ascii?Q?4ElvRk9/VxezeWvS5d06kxdpAQTkFWns+aYvht5eQbBDrxzUv4yacdgxcGTA?=
 =?us-ascii?Q?NSdYlzstpXDqG7za+E8B+fQxCheeI7nRBOEtdCYD1OxF6CyzHDEwi7VjRhV8?=
 =?us-ascii?Q?ehji9Y2Kp6KAzJInKys1T0/VQiP9azeu9cpRLgGiKCCbcRhbWJNPp5ZKDtVk?=
 =?us-ascii?Q?gCNMMA2751P9Vc0HgX6Q2PSbvxG+Uo8FY/BEA15VmTXPDJjbosKsXovTtftb?=
 =?us-ascii?Q?w55hslpyZuTlIj770I8ykB/U5VpKxG3iwboSoQlZM7Rs7+BqvuDc0vRZdfox?=
 =?us-ascii?Q?YMjZE5faBqaI0WtDTJ9mis7iK6akJtqfyeV8WT2iqQgMPdi+Drz8e/twyDW/?=
 =?us-ascii?Q?oIQga5a7Pw/h0mDf55j5YRTSbLX+6EvaFttYJ0L3G/HgIDcz0a/7b2H9aQWv?=
 =?us-ascii?Q?rwa3csiDg2TJC+Whsqm89UlaoIGTq1R08N5uh/giXEh0vkLbCycbbOX4rwBk?=
 =?us-ascii?Q?dmzSrlQDe65QBDxrW4bV/ssZRN89qcALkIgXfzVuqayEABhgjRENdtFo5DNd?=
X-MS-Exchange-AntiSpam-MessageData-1: Lc3KGPaOeWHR/w==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 4e34474e-4a06-4ae5-6483-08dec6e14ced
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 11:13:29.4732
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RRRiL1zFvj6d1IyZAzce1W70odoC5fHQmIM4KE4/BmAnd9uM25JbrFQQhOdnpzfJV7dcFBOEO3xSRIWopl5V5w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS7P286MB6556
X-purgate-ID: tlsNG-c1860d/1781090013-C5784DB1-68BCA8E8/0/0
X-purgate-type: clean
X-purgate-size: 3311

Make cpu_nr_siblings() an architecture-specific function.
This patch provides the implementation for x86 and a common
version for Device Tree-based architectures.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/arch/x86/include/asm/processor.h |  1 +
 xen/common/sched/credit2.c           | 23 +++++------------------
 xen/include/xen/cpu-topology.h       |  2 ++
 3 files changed, 8 insertions(+), 18 deletions(-)

diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index 8ca6799a81..9758060129 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -106,6 +106,7 @@ extern void intel_init_arat(void);
 
 #define cpu_to_core(_cpu)   (cpu_data[_cpu].cpu_core_id)
 #define cpu_to_socket(_cpu) (cpu_data[_cpu].phys_proc_id)
+#define cpu_nr_siblings(_cpu) (cpu_data[_cpu].x86_num_siblings)
 
 unsigned int apicid_to_socket(unsigned int apicid);
 
diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c
index dcce1e361f..2d93944824 100644
--- a/xen/common/sched/credit2.c
+++ b/xen/common/sched/credit2.c
@@ -29,22 +29,6 @@
 /* #define d2printk printk */
 #define d2printk(x...)
 
-/*
- * TODO: Abstract this properly, and figure out what Credit2 wants to do with
- *       the fact that x86_num_siblings doesn't even have the same meaning
- *       between x86 vendors.
- */
-static unsigned int cpu_nr_siblings(unsigned int cpu)
-{
-#ifdef CONFIG_X86
-    return cpu_data[cpu].x86_num_siblings;
-#elif CONFIG_DT_CPU_TOPOLOGY
-    return cpu_topology[cpu].num_siblings;
-#else
-    return 1;
-#endif
-}
-
 /*
  * Credit2 tracing events ("only" 512 available!). Check
  * include/public/trace.h for more details.
@@ -884,8 +868,11 @@ cpu_runqueue_match(const struct csched2_runqueue_data *rqd, unsigned int cpu)
  * Additional checks, to avoid separating siblings in different runqueues.
  * This deals with both Intel's HTs and AMD's CUs. An arch that does not have
  * any similar concept will just have cpu_nr_siblings() always return 1, and
- * setup the cpu_sibling_mask-s acordingly (as currently does ARM), and things
- * will just work as well.
+ * setup the cpu_sibling_mask-s acordingly, and things will just work as well.
+ *
+ * TODO: Abstract cpu_nr_siblings properly, and figure out what Credit2 wants
+ *       to do with the fact that x86_num_siblings doesn't even have the same
+ *       meaning between x86 vendors.
  */
 static bool
 cpu_runqueue_siblings_match(const struct csched2_runqueue_data *rqd,
diff --git a/xen/include/xen/cpu-topology.h b/xen/include/xen/cpu-topology.h
index f268069449..ea5518bb16 100644
--- a/xen/include/xen/cpu-topology.h
+++ b/xen/include/xen/cpu-topology.h
@@ -25,6 +25,7 @@ void dt_init_cpu_topology(void);
 
 #define cpu_to_core(_cpu)   (cpu_topology[_cpu].phys_core_id)
 #define cpu_to_socket(_cpu)   (cpu_topology[_cpu].phys_socket_id)
+#define cpu_nr_siblings(_cpu) (cpu_topology[_cpu].num_siblings)
 
 #elif CONFIG_DEVICE_TREE_PARSE
 
@@ -33,6 +34,7 @@ static inline void dt_init_cpu_topology(void) {}
 
 #define cpu_to_core(_cpu)   (0)
 #define cpu_to_socket(_cpu) (0)
+#define cpu_nr_siblings(_cpu) (1)
 
 #endif /* CONFIG_DEVICE_TREE_PARSE */
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 11:13:48 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 11:13:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334125.1597223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXGsI-0006EB-6D; Wed, 10 Jun 2026 11:13:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334125.1597223; Wed, 10 Jun 2026 11:13: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 1wXGsI-0006DD-0o; Wed, 10 Jun 2026 11:13:34 +0000
Received: by outflank-mailman (input) for mailman id 1334125;
 Wed, 10 Jun 2026 11:13:31 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wXGsE-00069r-RD
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 11:13:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXGsE-008xp6-0R
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 13:13:30 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a2946c3-5cb7-0a2a0a5109dd-0a2a4508a5de-46
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:13:29 +0200
Received: from [52.101.229.134]
 (helo=TY3P286CU002.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a2946d6-63b5-0a2a45080019-3465e5868771-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:13:28 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by OS7P286MB6556.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:432::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Wed, 10 Jun
 2026 11:13:23 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 11:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=vmq+4GodjlAkpGOvrd5GTLBYqKbNHcc317EsZw6oMZkPbuxWO9bgTxSW/MfkZcb9pDQiqVnb1OVn47tsDKgRlVdLRLOUPJ0u37oTu/W8GHGldMSw64xOOzR+BtCc6+wpkfq7/D3vWa5Ys6oIxOWi1VL0SbqioTPKnE0alV6fRpr6iz1HYfqs7+LXh0DPRGLUc6AsaS7eYG+/SY/QZTS7h7zg2d7qs+4LeqfvVWr6LOQO2P6gRS2kC5pZw47T88GuwkZVq25MxMdzv6Lbkey5pGkyipi7obKB0NXtaPnDOTSNAo2iWVRtP4VRsocUnjlH0cGoKcOroI0Ge95OV9UIyw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=34rsH+F2NRs2isIyTtDSehq5A47h7DkUrBhtacMnahQ=;
 b=LpwWhRbn7Ln4Le8RZHuGOUmFsOaTpZUFZVbwWfe5DVujcagvcvfgp08yduMzqmdweUGO6Sa7zhc9pI4+vu5rZVjZFGGH7f4+7jqJYkjsEJ0NoXUgO2VPs40XEerV1c/JGEC16e8sa50ZZHH52Mw+91numOwMF0/DkhVzd18TD4gb4okBkAAYqHMmkrhQUZm3RItyRwjmr/gHZQCaQcOLHOii+y152EK5AJhg3qVioGe4khh7UF85d3XTip5Oe0seuSfcJeb6TM/ROsTXDyoFJW59LWrCTBLKRrTH3DbNFt4kjtlEfC36ADG4VuPzhTiOMc1JCyPOls8y0gl0tiswcw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=34rsH+F2NRs2isIyTtDSehq5A47h7DkUrBhtacMnahQ=;
 b=W8L5pbFH6ZtSTsSQqC27+maNO+78AlODT6aO1hKFH3P2Htci+/1piCIp1R6ql35dg5E2+rLsICIQ5NlXM7SNu91MHeBK9H2hKhQD7R4z4pwaNJWfKuFDmdqHu7QbC1LfNRnQvg+cj7IhZUevz9ArIzGMfjU6MEoWltkCcKNJpoM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Mykyta_Poturai@epam.com,
	Hirokazu Takahashi <taka@valinux.co.jp>
Subject: [PATCH 0/3] xen/arm: Device Tree based CPU topology support
Date: Wed, 10 Jun 2026 20:13:17 +0900
Message-ID: <20260610111320.133784-1-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY6PR01CA0030.jpnprd01.prod.outlook.com
 (2603:1096:405:3bd::9) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|OS7P286MB6556:EE_
X-MS-Office365-Filtering-Correlation-Id: a00fc723-d6cb-4835-30de-08dec6e14987
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|10070799003|1800799024|376014|366016|23010399003|18002099003|56012099006;
X-Microsoft-Antispam-Message-Info:
	NYH4VN8HlyZMYIUHw9olR/EBw5NjCwUSq8YzOqT9sxuLiFHnCevB8Ktp3yh4j/i++PHhdLaoMZyxTo232/GxN/CWsgg0YjPBdtjlB8Af+EomVV1v0gwzIFC/yL/uTRy5M5AaV/wwl/OuOM8eUObEclYIRoV8G8l6oE3P6gNBiX11wnjt1whq0Zk5Mk0cvpy6TtEvWFMLU7byC1kCrh5zlw60eaKhlELvyHtXtLgYxXggJGIcPFzhXP5T5Wkd2YcU+vrR1NlkUJ5GOAlqp157f0rHLdclS4oChG9y8A/RwsMmp2LrPs3YUmjP65I/AUNyupAz0brdH2hOEbp1E+r7y+sycjlAzqdNn8J5oGPDc9FgeJ36H4Yw3iThzo5mYjvTPO8ggGmKK+M6P+tN2fzb3ijXVlu+hcOUSeACAW4ajX/Hualr85tvIILRylgsD74wURAQ1QF5rmCzwn14+HPNHWXNfG3YvvO4yuq9UQuO9HdYp+OA2tBK9oqlUN6+A9pP7zzCOpLt9+r9OGQdzv7pDGtw5STzXKfqLfy9D3aQDC0rnDTyha/GAB3ns7d66f2Zf8Uv9jckS3Pbr0B5eYphrv4yO37TG9IV9rxoysG3vrUOBrSOVrG0Xe/oAYAJzA7xks1yB3tat59RPvOoMlWV2SDtqI7J7P/VWDLjC6xIcCaxIdGQoDjxMmzzOv87axL5
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(1800799024)(376014)(366016)(23010399003)(18002099003)(56012099006);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?zJKyrOo1mfcUVuuuconNjuiBdgvri31hwUBibCXw+/vDcgNca4YaryOoFPna?=
 =?us-ascii?Q?vVJ8VqNb/Exu9mhHZzJiy3bJ24RzCoEuAfGOGkuTkyi2eOYD2g33Pq7uX0JI?=
 =?us-ascii?Q?4eLhjSbq5RvnxAjdJjZIFiy4cg38Eky2YLuECGJPbE3RjJlRbo7aEaSf4CdP?=
 =?us-ascii?Q?SjWhrt741I0PM7WIAT+1CwFSaTqIUqdyME8lXcvGpJ6ze4OaEeA6U79naNkT?=
 =?us-ascii?Q?1ijcY2a766rv08xPi93Hat8o7s7eXtwp6xY+2kUAeGlwSK1m57jS3/qaPlqE?=
 =?us-ascii?Q?dbTswJXoL072QkbSHSxm9M3W1QquT2yUvIONTMKziqctzgmufqu3mFPygHuF?=
 =?us-ascii?Q?/85XeOeW2G7YwykyPo6KefkBA+1pNHNetixv0GaF0ZQ4pQW9MFcy6Y+oZtgB?=
 =?us-ascii?Q?3qwYN2yakMlK9XeY7jNSrJHVE9qlYdf1neSJanaU5msMXf4UEP0dbEPVbP7e?=
 =?us-ascii?Q?Jtfd2XUH0XTDBXJ3MqHfUKnHfdNVI/y2dDiLM9e72MWxH4s0gT+oejTk6w1C?=
 =?us-ascii?Q?DLDv68pSK4YeYeih92za5LpHgqm+Ra7ay8fQotmP2wgvh98TJBuQ+SOHAgDH?=
 =?us-ascii?Q?0GbTD6ixzUp+44JNv8LdMbKswpY0ak9gNjrAEZqnFPinJd0dGeOknEEL5fdC?=
 =?us-ascii?Q?RRtjq6uL/dSlNMQSRDkboHskkmt+J4OcO9829Zt1D+nfFyaMJ+qOh0ba5Hrx?=
 =?us-ascii?Q?kiIVwRQ80hOAIIuJ+fsLdSn0My+W8NXraKQ/rHVzfPCOtL62CVaqbs+510Un?=
 =?us-ascii?Q?qE5I2Kezp9Ss17jLcwpXN2TdDecZproTleGshJ5DotbgrnggRy67sVz4D0/r?=
 =?us-ascii?Q?wbn0bYdn+SnhAx88EWBOLNZKyOaCG7rQj33gcapeEsSoFM+9StHx1dv6R4hr?=
 =?us-ascii?Q?/WNs96s1TCEFyY2Nub5v61ge1kjLoCf4UUlRKBxy7aUFYt6HSwL5zXqPzzGP?=
 =?us-ascii?Q?cDFQF4niBy1BMCWkPM01r+fiuxMjR4+ryUPiIsnUHr3gcTQrKrkDa8Aqkt1Z?=
 =?us-ascii?Q?7U4qPJ9oCVsOCkVklwrh+GBNmQqF0FI1k6gojlOW5FRC+tAcSvNfpQghqhgT?=
 =?us-ascii?Q?cOoKuAt9UKE6kuUWxOT9lXSFe81lTkMIVo4p3TpjcZD/evfA4M0dMf7bK/8A?=
 =?us-ascii?Q?L9/Pza3RdufeMfi/QCW+l2mESUb0bhtIqplJ8Lz7ll3Mn/2BgfYq+fdwd/fl?=
 =?us-ascii?Q?3xIkBI9A6SWJb94YR94p6iLIUBA+kAyZoHvQqlubvuZNgf/ky3JAz6rIJl18?=
 =?us-ascii?Q?U2wSYj9QNZ72Acz2xqNlQE4d/tLsclUmeyjAh5e+kHz6IV15UFpMq46hlznA?=
 =?us-ascii?Q?R0JV/KFIH7K5Qj/d/t79uLULfy/NT3z+yhAfDenmpbhKO/1/QuKlPz45CDVi?=
 =?us-ascii?Q?xnxfWIWOBRD9POxVRVtarkeMHfDoLhHqa9kRZT4zxdNkdPJrRVr3/ZQQeaWX?=
 =?us-ascii?Q?DDN7hmyU3wQkYXLeUhqNqyu8cKJYC50yhueqL2uAhDo49jjTzfQymk1Qc5Uj?=
 =?us-ascii?Q?adIZrTwIKeU/pCaTurUAsi3ow9aq9njEllo3GiK5vWKq3alp75RJmtZinJxN?=
 =?us-ascii?Q?deRBRCZ601O22LQ+uIyO9S6sYCAOj91rj5+Vs2zIsWiL+5/RoVFhLtoZQkmR?=
 =?us-ascii?Q?sxanUANFYTUmLZleqbGDJD0qGq8+CF03t7CrdC958wui4ALiyWcI3DPjQeIa?=
 =?us-ascii?Q?NFt+9oJxhjhNOzTRU5JvkK4HL5eysf+6UsRauSlY6nKz0BljwZYymfo+U7pW?=
 =?us-ascii?Q?AXD/2ItKgkyuT1TQuJhH1cbIiN82VVqzMowy0ukRnYjW9RMajgHoA+7JYmi0?=
X-MS-Exchange-AntiSpam-MessageData-1: Z2wwqEJoQhrAvw==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: a00fc723-d6cb-4835-30de-08dec6e14987
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 11:13:23.7654
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sztB6D9cyyF+aVXpdgtTvQglvTjYknoqD9JxLCv50I0scncHzmo29hyNOhOvI1GqS0zYNRU9iQMINzhGXQei3A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS7P286MB6556
X-purgate-ID: tlsNG-c1860d/1781090009-BE577DB1-07166749/0/0
X-purgate-type: clean
X-purgate-size: 2442

Hello,

This patch series introduces Device Tree based CPU topology support for
ARM Xen.

These patches were previously part of my "Introduce Device Tree based NUMA
support for ARM Xen" series. Since the CPU topology feature can perfectly
work on its own, I decided to split it out and submit it as a standalone
series to make the review process easier.

Compared to the previous version included in the NUMA series, I have made
a few key improvements based on earlier discussions:

1. Optimized Memory Allocation:
   The series now allocates only the minimum required memory area to manage
   the essential data for the CPUs.

2. Flexible Device Tree Parsing:
   The parsing logic no longer depends on the definition order of the 'cpu'
   nodes and 'cpu-map' nodes in the Device Tree. They can now be read
   correctly even if their orders do not match.

3. CPU Hotplug Readiness:
   To support future CPU hotplug, the system assumes that inactive CPUs are
   also described in the Device Tree. Xen will pre-load and generate the
   topology information for these inactive CPUs during the boot phase so
   it stays available in memory.

Summary of changes:
 - Patch 1: Parses the 'cpu-map' node in the Device Tree to extract topology
            information.
 - Patch 2: Connects the extracted CPU topology data to the Xen scheduler.
 - Patch 3: Refactors `cpu_nr_siblings()` to be an architecture-specific
            function, providing an x86 implementation and a common version
            for Device Tree-based systems.

Thank you,
Hirokazu Takahashi

Hirokazu Takahashi (3):
  xen/device-tree: Parse 'cpu-map' node for CPU topology exploration
  xen/sched: Link CPU topology to scheduler
  xen/sched: Make cpu_nr_siblings() architecture-specific

 xen/arch/arm/include/asm/processor.h  |   4 -
 xen/arch/arm/smpboot.c                |  16 +-
 xen/arch/x86/include/asm/processor.h  |   1 +
 xen/common/Kconfig                    |   7 +
 xen/common/device-tree/Makefile       |   1 +
 xen/common/device-tree/cpu-topology.c | 393 ++++++++++++++++++++++++++
 xen/common/sched/credit2.c            |  22 +-
 xen/common/sysctl.c                   |   1 +
 xen/include/xen/cpu-topology.h        |  50 ++++
 9 files changed, 472 insertions(+), 23 deletions(-)
 create mode 100644 xen/common/device-tree/cpu-topology.c
 create mode 100644 xen/include/xen/cpu-topology.h

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 11:30:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 11:30:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334154.1597254 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXH8p-0002Zv-6y; Wed, 10 Jun 2026 11:30:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334154.1597254; Wed, 10 Jun 2026 11: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 1wXH8p-0002Zo-3A; Wed, 10 Jun 2026 11:30:39 +0000
Received: by outflank-mailman (input) for mailman id 1334154;
 Wed, 10 Jun 2026 11:30:37 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eb14c4ec6000701b@swg.vates.tech>)
 id 1wXH8n-0002Zi-Hh
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 11:30:37 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXH8m-0025kM-DK
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 13:30:36 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eb14c4ec6000701b@swg.vates.tech>)
 id 6a294adb-5cb7-0a2a0a5109dd-0a2a4504b59e-2
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:30:36 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eb14c4ec6000701b@swg.vates.tech>)
 id 6a294adc-1dec-0a2a45040019-b9ff1c12a125-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:30:36 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19eb14c4ec6000701b.008 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Wed, 10 Jun 2026 11:30:28 +0000
Received: from l14 (lfbn-lyo-1-414-55.w2-7.abo.wanadoo.fr [2.7.24.55])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id BFBFC86F92;
 Wed, 10 Jun 2026 13:30:27 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=1TSBHoISKY8Tpy76jHQz80tRDkBKRWUDDsQvzHFCD4Q=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=rHdbFLAhxjkc/1AAPy6b2H2A2/wxWcPbHoE6xKx1l/aVuUNGgMlVT0qf30/bv84O2ZXmbmRNX
 fv1jpcGru4vfLeRwN4HETkS6aekZAsFZuiRFBxU8Ef6XAg08nyoLbkRk3CYfiz4BPadRU01ztYu
 jjHZxvj/GiyouIVT4XhAZYzgBDdzUYRyVouOmgwEDs7w1ngepxSIYlJwW69uaLuC20SmF4VE3Zk
 CZFg/7mlryu1Q/0veGz3IVmjYjs+L18YpxC9ykU7WtE+pKPDKy70WhouY8gk9ez2VAeKnD0kJSl
 zTGqU6pC0n4vbMlvxGjP+JWmTbnXQiIiuGhut86/pWMQ==
X-Zone-Loop: 4c879a77de03ff1aeea80a3b46a875d16942cbf163c5
x-campaign-type: default
x-transaction-id: 52111614-d25e-4c22-9d85-ff4449fa8efc
x-swg-uid: 01-075c240c-856c-4fc6-aa0d-a4bfdfab92b7
X-Mailer: Sweego
Message-ID:
 <1781091028.8631fc262581453bbf619ec5b2062170.19eb14c4ec6000701b@vates.tech>
x-swg-bid: 1781091028.8631fc262581453bbf619ec5b2062170.19eb14c4ec6000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Wed, 10 Jun 2026 13:30:27 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH 4/4] CI: Rework the archlinux container
References: <20260609173102.2908514-1-andrew.cooper3@citrix.com>
 <20260609173102.2908514-5-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20260609173102.2908514-5-andrew.cooper3@citrix.com>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.255d.ae5262b65ddd9331.19eb14c4bf2.5d4f0d5b593102f9=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781091027955
X-purgate-ID: tlsNG-ebf023/1781091036-48E6F3FF-61FB71B7/0/0
X-purgate-type: clean
X-purgate-size: 1764

---=Part.255d.ae5262b65ddd9331.19eb14c4bf2.5d4f0d5b593102f9=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Tue, Jun 09, 2026 at 06:31:02PM +0100, Andrew Cooper wrote:
> --- a/automation/build/archlinux/current=2Edockerfile
> -    && yes | pacman -S --clean --clean

> +++ b/automation/build/archlinux/current-x86_64=2Edockerfile
> +    pacman -S --clean --clean

The "yes |" is needed, otherwise the files aren't removed from the
caches=2E

I've only got, without:
    :: Do you want to remove ALL files from cache? [y/N] :: Do you want to=
 remove unused repositories? [Y/n]
and no messages about the files been cleaned=2E

I tried --noconfirm, but seems to just get the default response, so
nothing is removed=2E

With "yes|", I drop from 1=2E32 GB to 1=2E26 GB on my machine=2E

> diff --git a/automation/scripts/containerize b/automation/scripts/contai=
nerize
> index 70494645e09f=2E=2Ef3c2b48b113f 100755
> --- a/automation/scripts/containerize
> +++ b/automation/scripts/containerize
> @@ -26,7 +26,7 @@ BASE=3D"registry=2Egitlab=2Ecom/xen-project/xen"
>  case "_${CONTAINER}" in
>      _alpine) CONTAINER=3D"${BASE}/alpine:3=2E18" ;;
>      _alpine-arm64v8) CONTAINER=3D"${BASE}/alpine:3=2E18-arm64v8" ;;
> -    _archlinux|_arch) CONTAINER=3D"${BASE}/archlinux:current" ;;
> +    _archlinux|_arch) CONTAINER=3D"${BASE}/archlinux-x86_64:current" ;;

The "-x86_64" should be added to "current"=2E

With both fix:
Reviewed-by: Anthony PERARD <anthony=2Eperard@vates=2Etech>

Thanks,


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vate=
s solutions

web: https://vates=2Etech
---=Part.255d.ae5262b65ddd9331.19eb14c4bf2.5d4f0d5b593102f9=---


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 11:38:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 11:38:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334162.1597261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXHGC-0003KZ-TE; Wed, 10 Jun 2026 11:38:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334162.1597261; Wed, 10 Jun 2026 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 1wXHGC-0003KS-QN; Wed, 10 Jun 2026 11:38:16 +0000
Received: by outflank-mailman (input) for mailman id 1334162;
 Wed, 10 Jun 2026 11:38:15 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wXHGB-0003KM-7u
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 11:38:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXHGA-00Gv6K-Ej
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 13:38:14 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a294ca3-2eae-0a2a0a5409dd-0a2a4503ea46-12
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:38:14 +0200
Received: from [52.101.52.0]
 (helo=BL2PR02CU003.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a294ca4-672d-0a2a45030019-34653400736c-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:38:13 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by MW5PR03MB6907.namprd03.prod.outlook.com (2603:10b6:303:1c2::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Wed, 10 Jun
 2026 11:38:09 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.011; Wed, 10 Jun 2026
 11:38:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=vPMJFP0+unA1PuFexlsva4o5ybmqQce7Mul4ZRMQ/mgTBt9zz8P9FIy+/l+GreO2IoHnLNUHQ4G2gDYNx+J8lLFpS8fVpPhakH2D3n/xY5KYqFzys1DNb02A1y0zTw8yKgrdVbCyjalfwHC5nrM3sxj6a5gPgF8otopjXa7Ysi+HeWaSwH351NUDEjigr/khENbNddm5mc8wuP30HM2lNTcckvq0n6MdepeECWfR0PhwsqL0XUL2Qr/wOMtako2n79gBP3R1IG5FpwUcFW/mO2ZLlSrjh8Ss+TxHuMQ4gkzAqc/VEVynENpa9QRp94lDOT8dBVZuUHOnKQWf9IUiAw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=10qREtX1h6L6v6b8s3zX21plySwoamdzPbTjTUFeuRg=;
 b=mf1pxeHULiPax9tu5HYxCqLbNDJqPHHn64zdWIS5NcKgj54aLBP/dIJjgQH8bQu5rEofKN/OinMp6roj2TteIiCS+2ONo7A++v226OLCt8gQpBHKTacOFi2D8fJKG3sKEobfLDcQxI91J6HUBXGt55HqZLqCWOpADE5yhWnnfRohhPeQYFUr9yBnxiBoPbQ904ftQn/potNrN7ytBaMKceJJByF7FqEkqYhwOqvf16GnY+GVTT5uOc6IApjO2TtLNI95XSxpw4Ys75YYObDZTu592Lsz8t+8FEN3b6od2DcuAC0t170fNOKBfmbKcn99mjJBkLuA+QA+umiG6G1fvw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=10qREtX1h6L6v6b8s3zX21plySwoamdzPbTjTUFeuRg=;
 b=x7QvNUPYkLw4GaRnGSUJ8UXdMha5t+Oe7v1TlGjhhUPmlRMgFN/l/aCrhnsVPGDTZ1/hjWxNVBiuW06A1H6AkULJNucSAsaml48yLlzQDqIuQBMArSGMTG51s7d9FnMvOyXMSdLW6Pau9UJCYqr8sZAmlbwQ4HejMHoGQ5BCntE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <45a5e1d6-0262-448f-a415-d7b1b3135d87@citrix.com>
Date: Wed, 10 Jun 2026 12:38:00 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH 4/4] CI: Rework the archlinux container
To: Anthony PERARD <anthony.perard@vates.tech>
References: <20260609173102.2908514-1-andrew.cooper3@citrix.com>
 <20260609173102.2908514-5-andrew.cooper3@citrix.com>
 <1781091028.8631fc262581453bbf619ec5b2062170.19eb14c4ec6000701b@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: <1781091028.8631fc262581453bbf619ec5b2062170.19eb14c4ec6000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PA7P264CA0014.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:2d3::20) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|MW5PR03MB6907:EE_
X-MS-Office365-Filtering-Correlation-Id: 38c0b5f3-076d-4b11-eed5-08dec6e4bf36
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|1800799024|366016|376014|5023799004|4143699003|11063799006|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	8VVBxUfwTYzL++4oTa4GJV4Cx0BB7HpQHqi6f18j7jbdsmffq1lVMRxaQAIsarPrBwqXo9e2flD1s0bx0oA6XBOf2DImp2t88G4YwR8FZWHCUOQJR2K0nOyD6BygTDUSO0BBEqehJ7mOpBJ+eRW6uFk0FfNL9inQ0taiMHXs3q4lRVTExpK1CNh5JjFLnHMBNX7kKDXja8h8kQkis0OaFFAt3LLii89pssgNkN95aRzPwER7tYKHrS9POfNpTHkv2GXMOYVqDNIki/BnsZDjOCgmK4VHqOQ6K3+ri0H5kWo1lnevvUD6P6Nv1Ifylo5MetV9ERVgdFHpDXWW4voeOo9qp7QBG0ghnb9FyrUri3gwy4L5VQO+Zt9ujUVA5bOKKp6mKEgPstPez4OcwG5q2MfGC5li7oa+STVECsZQWCOhIOD2ID41GRaF+5KimVfeeeF4KT5igmrH0TWNKvYr/fHiayka9Eq+OlbBsBxW04/2bgmVKhsec3ccvB6wRDzIt8WJ61rdvSlNjuZ2/P4Qr2ZDNv6eWwDpCjOm9bMRvhzF6VyhNp4safmzOpILuV/PbHKIdxFD+mRdujlS/eYosjEzPIll/AOXcL+dsuqf5URyaF/FKh6I+BC4cyaMuj3P9u6FDV86Xk0FULfOiYZXOh/8xEBoKkqjWhYBlzVunO119Ev5XNcApb4QTLsKA4oAU9/fjmZrYRY1LMff3Oii/Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(366016)(376014)(5023799004)(4143699003)(11063799006)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QXMxTS9wVG95QURuNGpUOHpvWmxVU1NHWWNTOHNSOFU0eWFMa2E1ZFovSVRJ?=
 =?utf-8?B?aTNmUldmcEdiNFhXMHkvM1p5ZyszOGNtRzJMTnFHd0hUN2ZvK1gxOVlWMGNU?=
 =?utf-8?B?QUwwbkY4bFJkMFVUejVCWnAybTArYzVyY3dYYU9zTG8vU0p3VUdDNWNlZVNL?=
 =?utf-8?B?UGxSd1IrUnZWUDJVR3pYSXhMZ2ZjK1htQVdxMm5GWmIxZWlseWJ6WTZlZ1dk?=
 =?utf-8?B?NGE2VGJsd21iQkNaUjFRMjRJaEVnbkduL0JDbzJ0MUwrREVPeDJrdGhqSXYw?=
 =?utf-8?B?dFNBUzczTEo4dm9KTHU3dUpZYktKa204WmdVWG91UkJQeVVHaEljcEFHWGYy?=
 =?utf-8?B?em9VVWJPNmNiL3BQajJGVUtiU2d0bFpBdjllME1QNWhob1ZyZlN1S0tyK2dh?=
 =?utf-8?B?eWxUUmNTZTNHRnllcW1Mb0h6YXdaa2xldUNlaHEwdnZTM0FISUZ3MElDWjFQ?=
 =?utf-8?B?ZWdBN1JEYTdSUlRKZFJaS1Q5VUNEaWhFaDc4RlpuZzUwRTk4Mkh0a2kyNUZL?=
 =?utf-8?B?U3pJRW1RY3o5ZlNNRmJINlNlVDVOem1uTVhQUWJWODE5WU1PcGRNNDQrR1o3?=
 =?utf-8?B?VlBETkczSWsxQ3FXWHg0TzM5NEtYU1BTbVhUdmthYjVtNU0wc2V1VkgxcHR6?=
 =?utf-8?B?SEpwVU5QVjN2ekZqRmtxSnBJNU9TQmdnM1JabkxnTEU2VTlRTlFhT2lDT0JB?=
 =?utf-8?B?WVNjYm5aTG5EOFBqNC9BU2xPd2VtWG5ERWpERnBEZW4rU2h2b3dwdXpOSEFM?=
 =?utf-8?B?N1A1a090dWRrZmF5dlgxOXpkQU5OUllCdy9BcWxSYlRkc0VrYmo5VDlTMm1m?=
 =?utf-8?B?cC9LdHoxYi96UmJPazRxS2xLMDNLZ3dqMTJnVnlYaDNJMWR1bjIxNDNRS01M?=
 =?utf-8?B?bHNOeFFja09DNkFFaEh2bzc1eFNmNWw0T29MTUpjMjk5SnBEY0ltaWRwMm44?=
 =?utf-8?B?RVFMb1dCYjh6UXNOTlBDazRhbDJkRGpEUDJ3MkcyeGpTNzExWjdKaFJ1N3Ba?=
 =?utf-8?B?Z3ZVZ2dqVTNEOVBFWFlTRVV6YTJ2bTRMUlZ4OUc1RWVzSkZLNzQyVlB1VFg4?=
 =?utf-8?B?UCtFZ21NUlJ3RWRsVC9GK3hiNHAzc3ozaVkxN1pQQUtGTjRqMDcwN1RFV1Zp?=
 =?utf-8?B?VU04UUZ6VGliZWVtZEZnemRqaXhaSkw3dFlJd0ZZYTk0T0ZWSVFNRXN2UmFE?=
 =?utf-8?B?Z2pDVjQ4VWZ0d3phM1MzMG1UcWxjT1EvcXUxZ3J0Y2NrTDNDUllKZ1NJakJL?=
 =?utf-8?B?b2syWHUxT3IxK25jRWlpZEJPanl5SFp1TjdWTjcrQzdrVVViL1JSOVQvdURU?=
 =?utf-8?B?TFV5MGtoenNKWHIxYlNhNnFWOVBrdHBsaE9MY0txRHBMVG52c1BCMHA1VmRj?=
 =?utf-8?B?d2FiTWo5blQ4bE5SamRkeXUyN0x5Ly9TS3VKYlZVS1NLTGFiQTJaWVZ2ZEEw?=
 =?utf-8?B?TkoydXBWZ2ViR3ZGUG5JOHd2Q3hLbENDamRkNiswTTZIVHpOU3pUYktiSE56?=
 =?utf-8?B?QURWRkh2MHYvT2daRlZtTGVYVTRuVXdMbjhGNVpXN1d6bU5ubWZNK2dXMXZN?=
 =?utf-8?B?RzdxSnBmNXJ3NTIyYkpINWRjcm1BM2pMQWZhdjl0THRjY0E0V3pWVUJrNUpI?=
 =?utf-8?B?YlhBVUJsZU1OanhWcmtWbkZkdjJNeEgrWlJyVlh1MmZROXRWTmJ6OEpnSzZS?=
 =?utf-8?B?QWk0Sm9zbWZ3SFlvN3RrNHFCRUlNenc4MHdtT3ZobnprR0dhQ3orZVFRb2tV?=
 =?utf-8?B?T1krVVpvd3FmdDNxNXBwYmRYbU1jaTRPQ0RJZ1NjUDFGaEloSDNVZXVBam1U?=
 =?utf-8?B?QytUZnFqNWNYeStHVXRtNXdZRkRzTlN1c3czNVdsMVpibzR5azh6Z0Q4dFZG?=
 =?utf-8?B?aks2d00xS2FwMytCdVRrZTJXcUxQeXBDRUNFaFZMZlNQclVpbkdZN2RGeTI1?=
 =?utf-8?B?UWFzVndVdmlpN3BYVXJjWUxSSGRDczYybFV4RlE4M0JCVlR4Q2hpam9IelRO?=
 =?utf-8?B?bDZReSsyVTExTko0NG9VVUkxcUFjRGo4NUxya2sraE85UGEwdWkwUUdUNU1M?=
 =?utf-8?B?K0JaZHYxbnRJNjNMbGoxcjJtRjQwVitIZzBMaDVpamlpaUdzeVA1SHNKWmgv?=
 =?utf-8?B?NEFCNno5K252STcyRkYvWTJkeHhOTGFYTm1CYytKTzIrTG8vT0NXeThiVWQw?=
 =?utf-8?B?UVlSNWg0V1ZQMG45UWFZZzliL2FQL0UvcERoa1dvaUhDQmFEWkh2RHBZOGRl?=
 =?utf-8?B?ZHpJdi9WRTVhMU1PYzdXRU1pOEtaQTBNTExHRmduZ3dJMkVyMzNQT0FoVWlI?=
 =?utf-8?B?RVM2SmhMOURBV0pXMlhNd3hNRHpJU2dXUmF2TEs5dzJJemptSEFBdWV1Ty9O?=
 =?utf-8?Q?MF1NGVnBVuXhnpfw=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 38c0b5f3-076d-4b11-eed5-08dec6e4bf36
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 11:38:09.6899
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NCevJhmEbmzhXyfqJ+9YJo0LkQNrVMKC4XB6PE0viTRLSvD9vW0/II+F4s9D1RAzxASyVm35AcqQC4Zl3+d7nlOOpoW+AQLIcMDS0eHKbCo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR03MB6907
X-purgate-ID: tlsNG-33051d/1781091494-39D7B938-68FA4B5F/0/0
X-purgate-type: clean
X-purgate-size: 1482

On 10/06/2026 12:30 pm, Anthony PERARD wrote:
> On Tue, Jun 09, 2026 at 06:31:02PM +0100, Andrew Cooper wrote:
>> --- a/automation/build/archlinux/current.dockerfile
>> -    && yes | pacman -S --clean --clean
>> +++ b/automation/build/archlinux/current-x86_64.dockerfile
>> +    pacman -S --clean --clean
> The "yes |" is needed, otherwise the files aren't removed from the
> caches.
>
> I've only got, without:
>     :: Do you want to remove ALL files from cache? [y/N] :: Do you want to remove unused repositories? [Y/n]
> and no messages about the files been cleaned.
>
> I tried --noconfirm, but seems to just get the default response, so
> nothing is removed.

Lovely :(

>
> With "yes|", I drop from 1.32 GB to 1.26 GB on my machine.
>
>> diff --git a/automation/scripts/containerize b/automation/scripts/containerize
>> index 70494645e09f..f3c2b48b113f 100755
>> --- a/automation/scripts/containerize
>> +++ b/automation/scripts/containerize
>> @@ -26,7 +26,7 @@ BASE="registry.gitlab.com/xen-project/xen"
>>  case "_${CONTAINER}" in
>>      _alpine) CONTAINER="${BASE}/alpine:3.18" ;;
>>      _alpine-arm64v8) CONTAINER="${BASE}/alpine:3.18-arm64v8" ;;
>> -    _archlinux|_arch) CONTAINER="${BASE}/archlinux:current" ;;
>> +    _archlinux|_arch) CONTAINER="${BASE}/archlinux-x86_64:current" ;;
> The "-x86_64" should be added to "current".
>
> With both fix:
> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 11:48:13 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 11:48:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334174.1597270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXHPh-0005W0-QY; Wed, 10 Jun 2026 11:48:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334174.1597270; Wed, 10 Jun 2026 11: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 1wXHPh-0005Vt-O1; Wed, 10 Jun 2026 11:48:05 +0000
Received: by outflank-mailman (input) for mailman id 1334174;
 Wed, 10 Jun 2026 11:48:05 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wXHPh-0005Vn-9G
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 11:48:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXHPg-00HNtC-Lq
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 13:48:04 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a294ef1-e002-0a2a0a5209dd-0a2a450b8322-18
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:48:04 +0200
Received: from [209.85.221.46] (helo=mail-wr1-f46.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a294ef4-212f-0a2a450b0019-d155dd2ee4f2-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:48:04 +0200
Received: by mail-wr1-f46.google.com with SMTP id
 ffacd0b85a97d-45ef372c58aso3514689f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 04:48:04 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2f2710sm55831289f8f.14.2026.06.10.04.48.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 10 Jun 2026 04:48:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781092084; x=1781696884; 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=klKAI6eDIO5WBI16a8BB5I2aJDmDuSM0lhrEUoezX3A=;
        b=H1AuvL6pJ09lXaq3N7z+iyBbgvagrsxBBMeP+bx5KJWzZ4m0r374nF0Y6/Wq9l3vs1
         7xLLyre+h7aUZE68VQhyGmCwcyadefRNOvmHWbTfh7g53eMMvyUyMFlR/gVZNZONpcDA
         DaxiGxh0SbHil17AO/rZQxmgP5E3jHYG2DRDMZQ7mF9FRb2E+O5AT3N4UHLHrZyk545E
         EHNevJ9afjmbVmhIKHOUup/ljn44CfcI3maT1wc+XPlfyNMwGvUaNS/TldBIFEWyvVRc
         c0zl25ivcxYYdDws7+JAjX1f+S7vWLIRiNS0VBJCh+wGfoo37mO9+Ws/7pDgwfEFKpd8
         qOSA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781092084; x=1781696884;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=klKAI6eDIO5WBI16a8BB5I2aJDmDuSM0lhrEUoezX3A=;
        b=sgUmaLRK66i16hyi8hgQw7mJBlqmOC2RbyHYtr6ug3QJwP0HtkHU1wQXJrrqAK+61o
         QNx/jzn9NDv0jwvXS7vaVwZPTS9vrdoVwBb/Z4D8QWqteBRKcGQjblDLxN9wzEjIhHum
         p2bMfwrdaCXu/xdr56lTRJIgcYumaVQPefS2aQt7I85aClKeelBJXazKDTed6VQWEYen
         vOiRaoSuVwGxiwoWcnbE6lfWWw47b3pO6msvivSwiGs3YFmbGwqSbXVqOdIaIUWlMa2c
         OXu/nn2cnNgrKAXwbRT2OUfDA6ezqabnUYiSMsTv3f21l6W9/Q+pGvAaNDbVN6QcHegS
         Hf5A==
X-Forwarded-Encrypted: i=1; AFNElJ+JnlKzR4DBXghkF6geCBFU1L3TtYgQyB53cmeFAmX9+ZPoEdUHWe+g6lHdbMPOvi1pyptZ0e+omjU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzNk3x4avZKUbf0BdmL2uI9JLGpDZPTUl6O5locGECiUv820NZm
	TtfLuhayb0STjsEGOfzLPCwZG631eDJoVRNdbk2Y2gBY41cVDKhpdjEb
X-Gm-Gg: Acq92OE43bwbJMez1jXBgUKXa3hduufHxkU22/oR1Ja97ivSS4VlcIVUuyw18lcxXfF
	sbkI0+YKaPNGi/5jM1uU/gVYTflk4P+jhXB0UYv7I2gk/p1gxEcVVb+EPTkqa1y+d1fXiYfPsCP
	teIZIU7gUIQk4yka5UTRbKmTfthQYsik16FrruUpXlu9of0G+cqI1rvuiYPPRkS61rWVclYPheH
	EEZBZ3zUcr0MtKPBwEGlhmmVhNpI0iv/j4QX2Vrzbd3eAkclPfNoIJ/3SkefZ4H+iH3Ro4rpwS4
	jW1pNaKEY7V8jKUxO5AuqypdI0iuNipnma4nNeqTTahwc4K5hglMsfjrNRo3efqSJrlMrFnd6us
	os3QOspbgBaCnLLIKuTvexF1e6/u5KVxapKIJqbOYI+YXuQITYTkmgXzagjF+p6m2f9lkDSQf82
	cPRKTD5ZkiA/yzhntB5gfxWZ8O2PvZOc49jLce1I0q5VzFJyR7go78Rtky3+z5mbTKFnSEdOZnf
	Bp2z2zwQepHJxza
X-Received: by 2002:a05:6000:2081:b0:43b:4f86:e985 with SMTP id ffacd0b85a97d-4603075ded1mr42698738f8f.33.1781092083661;
        Wed, 10 Jun 2026 04:48:03 -0700 (PDT)
Message-ID: <e8827d99-c45d-44fa-9981-d012ab651891@gmail.com>
Date: Wed, 10 Jun 2026 13:48:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 0/2] domctl: Avoid taking domctl lock for certain ops
 used during migration
To: Ross Lagerwall <ross.lagerwall@citrix.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>, Teddy Astie <teddy.astie@vates.tech>,
 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>
References: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
 <071947c5-00ad-45b5-b782-121ad2b7f919@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <071947c5-00ad-45b5-b782-121ad2b7f919@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1781092084-2087FF3B-0B50F3DF/10/73395122804
X-purgate-type: spam
X-purgate-size: 1430



On 6/10/26 11:57 AM, Ross Lagerwall wrote:
> On 6/9/26 4:15 PM, Ross Lagerwall wrote:
>> When performing multiple migrations in parallel, the domctl lock may
>> become extremely contended:
>>
>> * Operations like "xl vcpu-list" were observed to take in excess of 20s
>> Â Â  to execute.
>> * The "clean" shadow op may pause the domain, restart with a
>> Â Â  continuation and then become blocked on the domctl lock, causing VM
>> Â Â  downtime in excess of 20 seconds.
>>
>> These issues can be fixed by not holding the domctl for the frequently
>> called operations during migration.
>>
>> Thanks
>>
>> Ross Lagerwall (2):
>> Â Â  domctl: Handle XEN_DOMCTL_getpageframeinfo3 without the domctl lock
>> Â Â  domctl: Handle some of XEN_DOMCTL_shadow_op without the domctl lock
>>
>> Â  xen/arch/x86/domctl.cÂ Â Â  |Â  4 ++++
>> Â  xen/arch/x86/mm/paging.c |Â  8 ++++++--
>> Â  xen/common/domctl.cÂ Â Â Â Â  | 13 +++++++++++++
>> Â  3 files changed, 23 insertions(+), 2 deletions(-)
>>
> 
> I'd like to request inclusion of this in 4.22 since it fixes a real
> customer issue we have observed and would have been posted some time ago
> but was delayed to avoid drawing attention to and colliding with
> XSA-492.

Considering this and performance improvements it would be really nice to 
have in in 4.22:
  Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 11:48:30 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 11:48:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334177.1597280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXHQ6-0005v1-2n; Wed, 10 Jun 2026 11:48:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334177.1597280; Wed, 10 Jun 2026 11:48: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 1wXHQ5-0005to-VV; Wed, 10 Jun 2026 11:48:29 +0000
Received: by outflank-mailman (input) for mailman id 1334177;
 Wed, 10 Jun 2026 11:48:28 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wXHQ4-0005sc-Gn
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 11:48:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXHQ3-0093bl-Sg
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 13:48:27 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a294f03-e002-0a2a0a5209dd-0a2a450ab1ae-32
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:48:27 +0200
Received: from [209.85.208.54] (helo=mail-ed1-f54.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgross@suse.com>)
 id 6a294f0b-56b3-0a2a450a0019-d155d036e08b-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:48:27 +0200
Received: by mail-ed1-f54.google.com with SMTP id
 4fb4d7f45d1cf-68c19f1f3ceso10708860a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 04:48:27 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-68e65027662sm9977446a12.11.2026.06.10.04.48.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 10 Jun 2026 04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781092107; x=1781696907; 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=GaNEqwUdQ9ePWE4UGxADukb2g8iVupQLLKH37U+8B6o=;
        b=FMcuV/kYrWDsw4tpPNtJx9q0nq31In0+TPgaiTOLLxD/KVWDD+ZysnEcwI8vfyNena
         qohgiJxyH970cMzh83wuv8cj0L7GF7XFi+wdfP72sZRPE0AQlLs1vFvxFEdb4SnBcsI4
         sfRIW2nyDDqRyZ19rAoIRvhwZNU0irogKm7/4qxJe9yWWNU3lZbXkf3U/cHtKdp4Mhgu
         Yv2PXlZbEcjNo8tRxKGB1yvDpW36CQiIzPrQrlRHSb0p+P8h6UkwFNMQhafShq7vypgS
         xnbXm68hkKpjCckxoS5+FzI/8Nsv2psygQ+qaeVcjEtGrnGOr1XH607A1n9sVwbCckUW
         1+5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781092107; x=1781696907;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=GaNEqwUdQ9ePWE4UGxADukb2g8iVupQLLKH37U+8B6o=;
        b=UdhxfuVjSftG3sJSmgVRFTkgibMEgCGdHoucmy5DhsH/qbsC+qHszszVgTGW28ztoh
         cWIXgHiLkydSqZFOExqZIjN9/Qsep1xlRFhlMKukfBCT3P7M9Z/SooffQSJy0Q50H1jZ
         DATTpf7UFV4D7DXTwyctyA4pQ8rKph7NPxtFpwkqnJoDSzPn5NsScakAwQbItfLcIfuh
         bbQk9u+qLtzfr0NymiZE2u1WPDkaEuQVeYedTosKoIH9cDYWn6IBw410mW88FGGx65xQ
         Yv2zkVPosOIDCc/UpUq0bt82mv6GfgZeqdsyVI/6/+qmhLVgTJqXWr+ZeJ8NL0MQiFIc
         sL9Q==
X-Gm-Message-State: AOJu0YwkyRYQ57/wWRcNAkjBla4jGy3nbRcBmydBsZLtvWH3zRFyoWC4
	/qA0FQALS/S8wuLCLwdFCLpFgLpPfiqgQYH5ze5+FVsDbBKhzYBCVMFTaxSwz1MH61U=
X-Gm-Gg: Acq92OF5IPqsIBzQn+O0h5HUi80X6ytAgwc/0gB6A6tS3+NzTgrawUn1M3MbasvaOGm
	gCPhSMfq3KO86Ugo2xHuRlWgHUeMClMMkaO6Qc4Gj1r+gB5IAJegtaa/XlztD/ciW5NRuEmPpSG
	wQ2drk+W6ypxdL6F+ZSyJqmUrH1xD9I5lu7AZbtQZPNoHCP8F7wnzRwJuriPkBtmnzweWz/9jke
	ATl65Y1qjM0wD4D1fmWhzfptW+N+UWxluvh01jp+G5F5VDZm9ErSBqyv9ZCNPo/3tNf9N03yO4v
	M34A0MO7C6YMxBpSw6RculHbNACqs0gwf+YCeMmnfWYIAzm57EKc2JZYi1fGE50ZhZOeNzr9D4A
	crMNWiIe4JLIao2TxH1tZFQbIqtjOV8Mn0TFSUikTqg2eZmRVGVEHHgIforsd18nKD6S7q6m8Fr
	lFgsUWDYZoFpjRRBpqqCRmOpnITyoyztx3kPPKKYfF2BEcbGF4bBqJjtMWj3G83d3X5sPtjfrzj
	oIOGlARpC3h8kQABzBZVl7hq+lW/jAdmu42bISpXcJbRg//CxophXVLy9Ag/YwVRoxk4RuIOEA=
X-Received: by 2002:a05:6402:35cd:b0:68d:651f:ccf6 with SMTP id 4fb4d7f45d1cf-68fa4c06618mr11673993a12.4.1781092107043;
        Wed, 10 Jun 2026 04:48:27 -0700 (PDT)
Message-ID: <b19b3b96-db17-4ed7-890c-be174b21f391@suse.com>
Date: Wed, 10 Jun 2026 13:48:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/pvcalls: bound backend response req_id before
 indexing rsp[]
To: Michael Bommarito <michael.bommarito@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20260610114137.3749027-1-michael.bommarito@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: <20260610114137.3749027-1-michael.bommarito@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Tx1LOYp8wW1aTJ53SXNaFzfJ"
X-purgate-ID: tlsNG-4011c0/1781092107-7D9808B7-704C218E/0/0
X-purgate-type: clean
X-purgate-size: 9178

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Tx1LOYp8wW1aTJ53SXNaFzfJ
Content-Type: multipart/mixed; boundary="------------d9yYnYsWYCkJQbR32k9vbJ6W";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Michael Bommarito <michael.bommarito@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <b19b3b96-db17-4ed7-890c-be174b21f391@suse.com>
Subject: Re: [PATCH] xen/pvcalls: bound backend response req_id before
 indexing rsp[]
References: <20260610114137.3749027-1-michael.bommarito@gmail.com>
In-Reply-To: <20260610114137.3749027-1-michael.bommarito@gmail.com>

--------------d9yYnYsWYCkJQbR32k9vbJ6W
Content-Type: multipart/mixed; boundary="------------Q20YPybG4hq1agZCvh2N8YwM"

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

T24gMTAuMDYuMjYgMTM6NDEsIE1pY2hhZWwgQm9tbWFyaXRvIHdyb3RlOg0KPiBwdmNhbGxz
X2Zyb250X2V2ZW50X2hhbmRsZXIoKSB0YWtlcyByZXFfaWQgZGlyZWN0bHkgZnJvbSB0aGUN
Cj4gYmFja2VuZC1zdXBwbGllZCByaW5nIHJlc3BvbnNlIGFuZCB1c2VzIGl0IHRvIGluZGV4
IHRoZSBmaXhlZC1zaXplDQo+IGJlZGF0YS0+cnNwW10gYXJyYXkgZm9yIGEgbWVtY3B5KCkg
YW5kIGEgc3RvcmUsIHdpdGggbm8gcmFuZ2UgY2hlY2suIEENCj4gbWFsaWNpb3VzIG9yIGJ1
Z2d5IGJhY2tlbmQgY2FuIHNldCByZXFfaWQgcGFzdCBQVkNBTExTX05SX1JTUF9QRVJfUklO
Rw0KPiBhbmQgZHJpdmUgYW4gb3V0LW9mLWJvdW5kcyB3cml0ZSBwYXN0IHRoZSBiZWRhdGEg
YWxsb2NhdGlvbi4NCj4gDQo+IHJlcV9pZCB3YXMgYWxzbyBkZWNsYXJlZCBpbnQgd2hpbGUg
dGhlIHdpcmUgZmllbGQgcnNwLT5yZXFfaWQgaXMgdTMyLCBzbw0KPiBhIHJhbmdlIGNoZWNr
IG9uIHRoZSBzaWduZWQgdmFsdWUgaXMgaW5zdWZmaWNpZW50IG9uIGl0cyBvd246IGEgYmFj
a2VuZA0KPiByZXFfaWQgb2YgMHhmZmZmZmZmZiBiZWNvbWVzIC0xLCBwYXNzZXMgdGhlID49
IFBWQ0FMTFNfTlJfUlNQX1BFUl9SSU5HDQo+IHRlc3QsIGFuZCBpbmRleGVzIGJlZGF0YS0+
cnNwWy0xXSwgYW4gb3V0LW9mLWJvdW5kcyB3cml0ZSB0byB0aGUgbGVmdCBvZg0KPiB0aGUg
YXJyYXkuIERlY2xhcmUgcmVxX2lkIGFzIHUzMiBhbmQgYWRkIHRoZSByYW5nZSBjaGVjayBz
byBib3RoIGVuZHMgb2YNCj4gdGhlIGluZGV4IGFyZSBjb3ZlcmVkLg0KPiANCj4gVGhlIHB2
Y2FsbHMgZnJvbnRlbmQgY3VycmVudGx5IHRydXN0cyBpdHMgYmFja2VuZCwgc28gdGhpcyBp
cyBub3QgYQ0KPiBjbGFzc2ljLVhlbiBzZWN1cml0eSBpc3N1ZSwgYnV0IGl0IG1hdHRlcnMg
Zm9yIGhhcmRlbmluZyBQViBmcm9udGVuZHMNCj4gYWdhaW5zdCBtYWxpY2lvdXMgYmFja2Vu
ZHMgKGNvbmZpZGVudGlhbCBhbmQgZGlzYWdncmVnYXRlZCBkZXBsb3ltZW50cykuDQo+IFJl
amVjdCByZXNwb25zZXMgd2hvc2UgcmVxX2lkIGlzIG91dCBvZiByYW5nZS4NCj4gDQo+IEZp
eGVzOiAyMzVhNzFjNTM5MDMgKCJ4ZW4vcHZjYWxsczogaW1wbGVtZW50IHJlbGVhc2UgY29t
bWFuZCIpDQo+IEFzc2lzdGVkLWJ5OiBDbGF1ZGU6Y2xhdWRlLW9wdXMtNC04DQo+IFNpZ25l
ZC1vZmYtYnk6IE1pY2hhZWwgQm9tbWFyaXRvIDxtaWNoYWVsLmJvbW1hcml0b0BnbWFpbC5j
b20+DQo+IC0tLQ0KPiAgIGRyaXZlcnMveGVuL3B2Y2FsbHMtZnJvbnQuYyB8IDkgKysrKysr
KystDQo+ICAgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt
KQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL3B2Y2FsbHMtZnJvbnQuYyBiL2Ry
aXZlcnMveGVuL3B2Y2FsbHMtZnJvbnQuYw0KPiBpbmRleCA1MGNlNDgyMGY3ZWViLi43OGJk
NGU4OTRiMzJlIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL3hlbi9wdmNhbGxzLWZyb250LmMN
Cj4gKysrIGIvZHJpdmVycy94ZW4vcHZjYWxscy1mcm9udC5jDQo+IEBAIC0xNjgsNyArMTY4
LDggQEAgc3RhdGljIGlycXJldHVybl90IHB2Y2FsbHNfZnJvbnRfZXZlbnRfaGFuZGxlcihp
bnQgaXJxLCB2b2lkICpkZXZfaWQpDQo+ICAgCXN0cnVjdCBwdmNhbGxzX2JlZGF0YSAqYmVk
YXRhOw0KPiAgIAlzdHJ1Y3QgeGVuX3B2Y2FsbHNfcmVzcG9uc2UgKnJzcDsNCj4gICAJdWlu
dDhfdCAqc3JjLCAqZHN0Ow0KPiAtCWludCByZXFfaWQgPSAwLCBtb3JlID0gMCwgZG9uZSA9
IDA7DQo+ICsJdTMyIHJlcV9pZCA9IDA7DQo+ICsJaW50IG1vcmUgPSAwLCBkb25lID0gMDsN
Cj4gICANCj4gICAJaWYgKGRldiA9PSBOVUxMKQ0KPiAgIAkJcmV0dXJuIElSUV9IQU5ETEVE
Ow0KPiBAQCAtMTg1LDYgKzE4NiwxMiBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgcHZjYWxsc19m
cm9udF9ldmVudF9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmRldl9pZCkNCj4gICAJCXJzcCA9
IFJJTkdfR0VUX1JFU1BPTlNFKCZiZWRhdGEtPnJpbmcsIGJlZGF0YS0+cmluZy5yc3BfY29u
cyk7DQo+ICAgDQo+ICAgCQlyZXFfaWQgPSByc3AtPnJlcV9pZDsNCj4gKwkJaWYgKHJlcV9p
ZCA+PSBQVkNBTExTX05SX1JTUF9QRVJfUklORykgew0KPiArCQkJLyogTWFsaWNpb3VzIG9y
IGJ1Z2d5IGJhY2tlbmQ6IHJlcV9pZCBvdXQgb2YgcmFuZ2UuICovDQoNClBsZWFzZSBhZGQg
YW4gZXJyb3IgbWVzc2FnZSBoZXJlLCB1c2luZyBwcl9lcnJfb25jZSgpLg0KDQpJbnN0ZWFk
IG9mIGp1c3QgaWdub3Jpbmcgc3VjaCByZXNwb25zZXMsIEknZCBjb25zaWRlciBzdG9wcGlu
ZyBjb21tdW5pY2F0aW9uDQp3aXRoIHRoZSBiYWNrZW5kIGZvciB0aGlzIGRldmljZS4NCg0K
DQpKdWVyZ2VuDQo=
--------------Q20YPybG4hq1agZCvh2N8YwM
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-----

--------------Q20YPybG4hq1agZCvh2N8YwM--

--------------d9yYnYsWYCkJQbR32k9vbJ6W--

--------------Tx1LOYp8wW1aTJ53SXNaFzfJ
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/Ey8FAmopTwoFAwAAAAAACgkQsN6d1ii/Ey+d
Ggf/XZKVztHeDyIB+onfzbh23KeZaRucCZKP8MzxYj9KpYAI53ojxWV4t3yGtfMWnf0JA7TWGgUe
+nYVwi1C2B9eHdkt1kfIhmcKY1AXtMIv8/bwK1+2lpLqhbG+cg/oIOLCNj/J3QWgwVNOBF6D1Zqq
o5XSsaMHgr+jGx5iR7sY2ng23SsX2/3+6dhEF/g1wiXKCex07yaLB9zqACxACC+kIYdQKz7MjXGf
wzt+ZQs3DoPga6t9So3JtZZCOv6TZROi/QGW/OtGZ3X9N0M28gDS+MZZC7IR9a9ERmviy/hOIlUR
4I6UXmoEk4/fqC0opgKIQa2OTsCaunoNngt2PUQb5A==
=OUlR
-----END PGP SIGNATURE-----

--------------Tx1LOYp8wW1aTJ53SXNaFzfJ--


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 11:48:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 11:48:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334168.1597289 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXHQP-0006KV-EK; Wed, 10 Jun 2026 11:48:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334168.1597289; Wed, 10 Jun 2026 11:48:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXHQP-0006KN-BA; Wed, 10 Jun 2026 11:48:49 +0000
Received: by outflank-mailman (input) for mailman id 1334168;
 Wed, 10 Jun 2026 11:41:43 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <michael.bommarito@gmail.com>) id 1wXHJX-00051J-0h
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 11:41:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXHJW-0092Ij-6Y
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 13:41:42 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <michael.bommarito@gmail.com>)
 id 6a294d76-bab6-0a2a0a5309dd-0a2a4506bc24-0
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:41:42 +0200
Received: from [209.85.219.52] (helo=mail-qv1-f52.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <michael.bommarito@gmail.com>)
 id 6a294d75-7371-0a2a45060019-d155db34b915-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:41:42 +0200
Received: by mail-qv1-f52.google.com with SMTP id
 6a1803df08f44-8cceaacd07bso69386396d6.3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 04:41:41 -0700 (PDT)
Received: from server0 (c-68-48-65-54.hsd1.mi.comcast.net. [68.48.65.54])
 by smtp.gmail.com with ESMTPSA id
 6a1803df08f44-8cecd26b9d5sm253263426d6.44.2026.06.10.04.41.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Jun 2026 04:41: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781091701; x=1781696501; 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=ZpBQlFHxPmh6RO32iI4WOJ4ByDFhk3PQ/XSlBDQpR+c=;
        b=AlRDxUKOdIq2ryKXm+6YekSU+vwjjPP1yKzdb2GxlS2llJHG+e9fSLHlurU2XccRqP
         fS54m2Ifbpemnd/oMFKjm4FPFg3H+Wa+ye135QoCexjeZR/qagyVdW9iemzr09rINRtE
         rJw8JcqKEzAXzslrWgRBsUb5dohz0aq6xSmzcTO7SEM0MiYmBdvwkSb2nQBpnbIZYxmH
         4n8rZZ8BMaJAR7C6lufjlBqCFRUFN+oSlxX5jzHgh4OksJzhZEzKYd4tPEwWOHlUWu0n
         dO0YkOHXVE6aPjWUGjRTkmRujz7Pibq8p88pxA5pLuLdavAZD14kPCtIf5oAughTgTW8
         mecg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781091701; x=1781696501;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ZpBQlFHxPmh6RO32iI4WOJ4ByDFhk3PQ/XSlBDQpR+c=;
        b=G5mkbxbyMFJPcsszyzvFraLqMFpPi7qj45yUABYsAiNPy5LhEKwazSxYrlg4LbrFA9
         rNKGiHQPmBjFMtO6QR6sctWeNI7zDddFs2/AoO6XS8NKNTyVy0yM6I+WfAGyFXRH/iO7
         G/5JJq307AOmreE544VWJXRzdzOC+CWlSDD8U93o7QcbDokLM4u/5TzM2RhO5SA9jL7X
         9WhnJbGRGNAPe0CtnoSENrPJ426EKv5/o28X0BVx+AnEYDtIzuZE2bTvvepleO6uR/fo
         VNTIgpn8s3D9Dz2jemmENzJhQbhjHIBvAgzJGBh9oQmTGEp/u6aBag50FT8ILyCg0lYT
         xb9g==
X-Gm-Message-State: AOJu0YyMn/16tBDeIqFaqM76/6LDgSeM0Vyye+IiQ6ttQeKGH68G79oh
	etTK/HpMWuqEEYDSOKORjm2Zw7z0farxs2jT+NoWFMg91NVKW24pCSiO
X-Gm-Gg: Acq92OE+aHEo4RRL3JaypnqHDK5vpiEuhi0cUnPGbozpury80wLf69rJuWKOIdzTOZa
	79Z3szi4jbQFzdWiQWqM0M9MLrX+M4teiMOZkv2s6ZzCD6nPoMbk3nw8WUFwXYqvmHTPOaOPTaK
	dE4bC66LD+ND2iZv3fSDlNSWRe6QIL0X9TbJT8NWX7bUMD5rAvZ+DB/SDnu6Bc0XnMs5hvrGNoX
	ol9/GrpO4Yh78QcTOtO7V174R5a4szFW55Qc9UQT86T41bmwKBWla3wl/dIM8d3qIGGB1mTyNdw
	LGLH117c17gs1+cSzRsWJ2vq7rI7u89e4p3SQn+hbFgLkpNE59Amqlg5BiDvz5DgSTN/jadeQsH
	m+rP75UnnYGTSamW1nPt0d+zWmrpIwBZJaHW2mDPFj4l4Pz0PBj3ZH1ml4BL+tWD3BO7pbKW4Mj
	QY+ozbMxxyoQWQ52KLlq0+a8qaunCUP4liK1/Jz0XWwgp6DJZEJI62zlrP5h069gXieEt79oezy
	7coywIssgi/MX/HOrgIh967cZd3SWg=
X-Received: by 2002:ad4:4447:0:b0:8cc:ea2c:f2b5 with SMTP id 6a1803df08f44-8cee61359bemr283431546d6.23.1781091700398;
        Wed, 10 Jun 2026 04:41:40 -0700 (PDT)
From: Michael Bommarito <michael.bommarito@gmail.com>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH] xen/pvcalls: bound backend response req_id before indexing rsp[]
Date: Wed, 10 Jun 2026 07:41:37 -0400
Message-ID: <20260610114137.3749027-1-michael.bommarito@gmail.com>
X-Mailer: git-send-email 2.53.0
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1781091702-8D186D75-79C2F078/0/0
X-purgate-type: clean
X-purgate-size: 2266

pvcalls_front_event_handler() takes req_id directly from the
backend-supplied ring response and uses it to index the fixed-size
bedata->rsp[] array for a memcpy() and a store, with no range check. A
malicious or buggy backend can set req_id past PVCALLS_NR_RSP_PER_RING
and drive an out-of-bounds write past the bedata allocation.

req_id was also declared int while the wire field rsp->req_id is u32, so
a range check on the signed value is insufficient on its own: a backend
req_id of 0xffffffff becomes -1, passes the >= PVCALLS_NR_RSP_PER_RING
test, and indexes bedata->rsp[-1], an out-of-bounds write to the left of
the array. Declare req_id as u32 and add the range check so both ends of
the index are covered.

The pvcalls frontend currently trusts its backend, so this is not a
classic-Xen security issue, but it matters for hardening PV frontends
against malicious backends (confidential and disaggregated deployments).
Reject responses whose req_id is out of range.

Fixes: 235a71c53903 ("xen/pvcalls: implement release command")
Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Michael Bommarito <michael.bommarito@gmail.com>
---
 drivers/xen/pvcalls-front.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/xen/pvcalls-front.c b/drivers/xen/pvcalls-front.c
index 50ce4820f7eeb..78bd4e894b32e 100644
--- a/drivers/xen/pvcalls-front.c
+++ b/drivers/xen/pvcalls-front.c
@@ -168,7 +168,8 @@ static irqreturn_t pvcalls_front_event_handler(int irq, void *dev_id)
 	struct pvcalls_bedata *bedata;
 	struct xen_pvcalls_response *rsp;
 	uint8_t *src, *dst;
-	int req_id = 0, more = 0, done = 0;
+	u32 req_id = 0;
+	int more = 0, done = 0;
 
 	if (dev == NULL)
 		return IRQ_HANDLED;
@@ -185,6 +186,12 @@ static irqreturn_t pvcalls_front_event_handler(int irq, void *dev_id)
 		rsp = RING_GET_RESPONSE(&bedata->ring, bedata->ring.rsp_cons);
 
 		req_id = rsp->req_id;
+		if (req_id >= PVCALLS_NR_RSP_PER_RING) {
+			/* Malicious or buggy backend: req_id out of range. */
+			bedata->ring.rsp_cons++;
+			done = 1;
+			continue;
+		}
 		if (rsp->cmd == PVCALLS_POLL) {
 			struct sock_mapping *map = (struct sock_mapping *)(uintptr_t)
 						   rsp->u.poll.id;
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 11:49:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 11:49:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334186.1597297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXHQv-0006v2-KQ; Wed, 10 Jun 2026 11:49:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334186.1597297; Wed, 10 Jun 2026 11: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 1wXHQv-0006uv-Hr; Wed, 10 Jun 2026 11:49:21 +0000
Received: by outflank-mailman (input) for mailman id 1334186;
 Wed, 10 Jun 2026 11:49:19 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wXHQt-0006uP-UC
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 11:49:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXHQt-0093kH-Au
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 13:49:19 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a294f30-2eae-0a2a0a5409dd-0a2a4507e082-24
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:49:19 +0200
Received: from [209.85.221.54] (helo=mail-wr1-f54.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a294f3f-229c-0a2a45070019-d155dd36cd79-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:49:19 +0200
Received: by mail-wr1-f54.google.com with SMTP id
 ffacd0b85a97d-45eee266c6cso5372645f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 04:49:19 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f351d69sm126391619f8f.29.2026.06.10.04.49.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 10 Jun 2026 04:49: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781092159; x=1781696959; 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=wwUZ6bchHsQ0LqLygRKM4OkGUP74HWilAolQZmegxiI=;
        b=eV6dBa8a6Gvw5xHvwe/PWNqEtcGTplTNyUjMEBgMXiHCkC4oa0PmYzclLIXrGktUc+
         O0wepeIc35I0U6qkCzjeps5bRRAWH64CqiuPwoxh+r90jq9uTI4hPLHv4LsVmUkRgp/b
         pWInm0oD2GlzRgdpZxfEZaP1oV/smJw14AXzvzTvcQ6ANxNRowt8kADfLsCHL79sAk8P
         DejDJXorCRlrJCT9w3O7SBmX4kXOS3i/QRVPTp36s7m+j645d43g85aWrbo8fEIh9rsT
         J4O200yWDGN2s/wA5P92J/kE+y6qBDv4wNMmZpaKli4YKouwCgvUNHfsYXtADx4bLimH
         yUzw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781092159; x=1781696959;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=wwUZ6bchHsQ0LqLygRKM4OkGUP74HWilAolQZmegxiI=;
        b=igJ98T5oXG4eg4wC9qQM5bHPMT5rVPqTM2JqzmX7fI9Kbe6i6ArNXKI2hDbaa6s8wg
         zqiNrzeKBedc5ZJda9PQ2SJiLCNkMZOZrX1FRHyC6rOtHud3e9orkL7h7OxeoCA2o21t
         rUhxXJ7ZguajLZ8zr9UyXqyLHxX+b6W+cL3mWmGt+9RJqiPVC7XC9+LH62RrgdyS5VC5
         zNdiqh4I/wyTJKpZlkwBHE/Ir7ug+XLymbFeuv6yy2Q5khsXZATd3l7fWv2vR3zwiwSV
         +HNHiFmz6WB+TUbPjDiI9TSF7OtUxppuhNS6bE3SU4BHxvtcGK3HIkMksARXCqXyx99p
         8s0g==
X-Forwarded-Encrypted: i=1; AFNElJ96Y1KjiMLdhcJ1/MHNeZzfjLlP2EX6B/ibuib2j7qzgSAwpo4RU+qoRZARUi8Y4DUg6xQEsQ8vmac=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyDgOO0Y0WuLU5EuIp2nHkNY8eDlStrPkTFZ/B4Dywha338lWJO
	mhntYnri6GDt0gL0tNief98E8C5sGbllyP3NUy5EdbAD89PckU0DmJ6BwIrbyw==
X-Gm-Gg: Acq92OEhYUb5ZljAudI0X4FsR1q0iMQCoW4MhMqGMWs9MGazPKRkeZ0jIMChFlxJ5rU
	G4oC2v8OhjRgt2ZYXbjCdvL9TTyCWIqxZzk5Kw/XUU+QGZuF7P/v6+XQliKwIDzfcEXOZy9s4bd
	PPP0XbQn7fhOgi6m+NMGifwI+SQnmzn8bfSfNMl7IUTR+o5fcQFo1s3/AaromTNW8Y5EJPUwK6h
	EAb3JcrBdU9k2S8vn/dB1oGI70k1LOlFytRUT95HUsbyOapRgs5Ed7i2yD+sY1zL/BuxrgcQ08a
	LINGOfrVdemhrNFsjWiH9AE5cQg8mgnRqdbKNk6gR2loIHuGZrEKAHJMC3euyQF6quKtvBXuI1f
	8oY8EoJ7yTQ1tTK99yYRnuWFKo+9hWph8nObMfD3/Atz2EWCwE6/TZT3oYt+4nRnDIhuPTbZpZV
	Mvv7KMdtrCmvid4FVgGF6Ob7yTqz+Qj4JM2CdpLVczyWOhiqeOFEi+3KovJP+zGgNdbZRuhAC4s
	bR8lWKSYveu0r6R
X-Received: by 2002:a5d:4811:0:b0:45e:7997:8b7a with SMTP id ffacd0b85a97d-460302e8170mr28236136f8f.16.1781092158714;
        Wed, 10 Jun 2026 04:49:18 -0700 (PDT)
Message-ID: <25af9d04-897a-40ea-97a2-17466ee4dde6@gmail.com>
Date: Wed, 10 Jun 2026 13:49:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 0/4] CI: Disentangle hardware runner containers
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <20260609173102.2908514-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260609173102.2908514-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ef75cf/1781092159-23175C48-6B7C46FE/10/73395122804
X-purgate-type: spam
X-purgate-size: 1481



On 6/9/26 7:30 PM, Andrew Cooper wrote:
> ... and fix archlinux as I happened to get around to it.
> 
> There's a query on patch 3 which affects how we proceed.
> 
> Andrew Cooper (4):
>    CI: Fixes to containerize
>    CI: Rename xenial-xilinx to xilinx-hw-runner
>    CI: Introduce new qubes-hw-runner.dockerfile
>    CI: Rework the archlinux container
> 
>   .../build/alpine/qubes-hw-runner.dockerfile   | 21 ++++++++
>   .../build/archlinux/current-x86_64.dockerfile | 33 ++++++++++++
>   automation/build/archlinux/current.dockerfile | 53 -------------------
>   .../build/ubuntu/xenial-xilinx.dockerfile     | 27 ----------
>   .../build/ubuntu/xilinx-hw-runner.dockerfile  | 32 +++++++++++
>   automation/gitlab-ci/build.yaml               |  8 +--
>   automation/gitlab-ci/containers.yaml          |  4 +-
>   automation/gitlab-ci/test.yaml                |  6 +--
>   automation/scripts/containerize               |  9 ++--
>   9 files changed, 99 insertions(+), 94 deletions(-)
>   create mode 100644 automation/build/alpine/qubes-hw-runner.dockerfile
>   create mode 100644 automation/build/archlinux/current-x86_64.dockerfile
>   delete mode 100644 automation/build/archlinux/current.dockerfile
>   delete mode 100644 automation/build/ubuntu/xenial-xilinx.dockerfile
>   create mode 100644 automation/build/ubuntu/xilinx-hw-runner.dockerfile
> 

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 11:51:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 11:51:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334199.1597306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXHSb-00005q-V4; Wed, 10 Jun 2026 11:51:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334199.1597306; Wed, 10 Jun 2026 11:51: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 1wXHSb-00005j-Rl; Wed, 10 Jun 2026 11:51:05 +0000
Received: by outflank-mailman (input) for mailman id 1334199;
 Wed, 10 Jun 2026 11:51:03 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <michael.bommarito@gmail.com>) id 1wXHSZ-00005c-S0
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 11:51:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXHSZ-007gq1-8i
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 13:51:03 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <michael.bommarito@gmail.com>)
 id 6a294f9a-2eae-0a2a0a5409dd-0a2a4508aeec-36
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:51:03 +0200
Received: from [74.125.224.48] (helo=mail-yx1-f48.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <michael.bommarito@gmail.com>)
 id 6a294fa6-63b5-0a2a45080019-4a7de030a9c7-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:51:03 +0200
Received: by mail-yx1-f48.google.com with SMTP id
 956f58d0204a3-660390acd71so6173117d50.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 04:51: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1781092261; cv=none;
        d=google.com; s=arc-20240605;
        b=H76PFujfVztEbnOuxHrZc+0hmjy7r0x+LVnQtKgSMwCEO9Jz8el73aH4n6vaoHj4zw
         2Grgh6mGtoJYOa6AHuxmEq8WUdGshMJiDDR8A7bHnFlymKyjxX6bCA5wZ8zGYG+HNMlJ
         zMY80Sbo02TTl8SbETDPffhFaRzVxYhZdpDyyU8Dr9ZeOEIRM4sfJ5RSHsze/U0ZZYq4
         ZaKapRnoqoIJiuopF8uhNwQYiVbWZ5SbyNeUUCIsbvzYkZC/g9h/fHWCI0n38Sqg+z0H
         HMZv5JITE2U9maRroCXeXSrobMrbQqZU+PMwZuh5dWMdZ2UJEDbEEX+AX4UKkGqgz+8x
         83DA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=dwPq3PrJhCSLcrbWMlkdgCrTzqM/jvJ6qgHnrU/vgKM=;
        fh=wGqDb8M5Tq2pYxpgnqPoIrthiDox5J+X9J0zPG7sXvg=;
        b=MMnNUa6mbD6DMNeD4udltoW+dOOtmusP0FTp0L8W779Rjm32+9dIjTTzzrHnfZYxiP
         Uxug3NpEIJz7gYYm2WqU/lrYo9+mF6hN8jVFREeTqKQASaxLD8/i3qcpIpQbKwdDU5rT
         mgZ8WUKvg06N8jMV6fo8a1fobO4+gih0ufJzY9khoMrGwdxDhsZrLzYIxU4gUlDZrI3p
         K0f46bbwK6FeM1MeQQDFkFc3IakJJ4Xiy2yNGOH8b56LrKPAYhaolqap20WJ3OD21tWW
         +vKGhl2XfDS4LFm8G6LQRPJ83hZGZvynGnDz7hJFXZiayyMHS+IE/BnN49SU5ZIZiViC
         5sSw==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781092261; x=1781697061; 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=dwPq3PrJhCSLcrbWMlkdgCrTzqM/jvJ6qgHnrU/vgKM=;
        b=atOb7Hs3gUX4fn0zEUVhBF2nu+26PsvVlriKL6/B3zpfbTBdVoJFZNFZqGlE5x7IkN
         gkpHdARTwmtwH+qbvuH3k+u9/J86L1qqahV/3HUuN+Ag6NCo1oVf+sE5Jk+Yp9TbhqKk
         Ib0DwBBrKMiPzCVABJGM/6ECwoZ0CajXkZJ4OE/NqnSJAxvpzRFpDR6vQroMEnhS6y5a
         CFERddqySUBntZSvvVuACPZl9riW3QzS5ZrVLBdC4MbEMVDe+02LzkZpSMe3ci/S2oX3
         eKMqR6IruHskq+UyRmwO7yIQFfNDQHYPpPl3CEyLHP9I10YiyEBGKgt9xtM+Y2/PFScL
         bSbg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781092261; x=1781697061;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=dwPq3PrJhCSLcrbWMlkdgCrTzqM/jvJ6qgHnrU/vgKM=;
        b=njnXYbYl7lO3w9u2TxF23r10PZvLZhPKU4X+AN2BeezJvMVPYcdgNCWST5GLsmWpj7
         uLjOX/F8VhAfLbnfg8pC2wkvnP9Gu7jOZ/35j+yxS5eO6aJ3oSKaGqMYVIrUXPQ86Zbx
         AWbU/jcLRZGvRfpGYvko/nCnAfraaLMfVcuyQCcGcsI5htfRXhUz5yk7dzymExxL//+s
         UB0svMHKI9AkerACXbQwX+EybctZvXagBKzqZGbtEQ/nsvNkSGVc8Zp8vcihek2hMQ1A
         03/3J5dYVRWfpfHEBPfUgPtx3eLSWXJy3Q3+VBEvyCO5ufAuIIt9dVIYBOwloul4AKrE
         os9w==
X-Forwarded-Encrypted: i=1; AFNElJ8so+8SOwTRl695OzR+/rICqbHLxeHq7CC8K/zS/Tkh5oNtRSuEUwsOmePKLtwnX3rRUPxx1mHNgWk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzSy+QYLttjdITwGputhJr0LuLJc86zu97F5C7Ar6IaaVh5qK1l
	wAsnN2buAUv3gD+TFqfiZrcf6iuQZXSGO9BD68hsb4ar4sCMpgGXs9w6ZqmWFG6VZ79z6nCkhXC
	/zNAe+thhdFY0DGYBUUM8T0sl8vOGytPPPeM3
X-Gm-Gg: Acq92OFv2tDd0O2HXzsR+FiOv1Ji83yHDipdYyHJwSUEqTIiHENSHpq/j5MsAfY2VWB
	CmkFeypQ3OSJdLiOxwYG++gd34vHWakqWKkI2xgNNCLUjO5XAhr5+rjfNz/okYAJU6+Tlua6ZKs
	p4v571XgBg0dar4afOYkRmYO67NmqKJyQLf30dzQHOSzL++YC5Hfo58Pw7Co9dz0S7LXlpsMEQb
	f01s/IeSxWvkThh3MkoEPtEMXvnpbSi/EvXgpyr8H4/GgKw3JAPS3Y7YaTfjjX6+eY437vOaqFB
	DzG2cLeUcRt4mQJ4J8qRb+IDtNSGdzX8AeZ/AXYxRgOIjNPj3EJtajrKbA==
X-Received: by 2002:a05:690c:63c6:b0:7e9:18f:3778 with SMTP id
 00721157ae682-7ed5028b682mr178627467b3.4.1781092261652; Wed, 10 Jun 2026
 04:51:01 -0700 (PDT)
MIME-Version: 1.0
References: <20260610114137.3749027-1-michael.bommarito@gmail.com> <b19b3b96-db17-4ed7-890c-be174b21f391@suse.com>
In-Reply-To: <b19b3b96-db17-4ed7-890c-be174b21f391@suse.com>
From: Michael Bommarito <michael.bommarito@gmail.com>
Date: Wed, 10 Jun 2026 07:50:50 -0400
X-Gm-Features: AVVi8CcVWtYlxSk3K_sxCwT39zqlVg5P_kt6D6e0HsTfuH3uHGfRxqf-bQDC2fA
Message-ID: <CAJJ9bXyFatHYnqvwHyupzZWOVCd02Fu4dpOdZTvLE-At+Z5TRQ@mail.gmail.com>
Subject: Re: [PATCH] xen/pvcalls: bound backend response req_id before
 indexing rsp[]
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, xen-devel@lists.xenproject.org, 
	linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-c1860d/1781092263-BCB64DB1-622FC108/0/0
X-purgate-type: clean
X-purgate-size: 379

On Wed, Jun 10, 2026 at 7:48=E2=80=AFAM Juergen Gross <jgross@suse.com> wro=
te:
> Please add an error message here, using pr_err_once().
>
> Instead of just ignoring such responses, I'd consider stopping communicat=
ion
> with the backend for this device.

Good points.  Do you know if there is a canonical way to track
bad/buggy backends I should reference or reuse?


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 11:54:30 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 11:54:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334207.1597315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXHVm-0000gH-Bs; Wed, 10 Jun 2026 11:54:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334207.1597315; Wed, 10 Jun 2026 11:54:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXHVm-0000gA-9N; Wed, 10 Jun 2026 11:54:22 +0000
Received: by outflank-mailman (input) for mailman id 1334207;
 Wed, 10 Jun 2026 11:54:21 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wXHVl-0000fx-KB
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 11:54:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXHVk-008TV0-PI
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 13:54:20 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a295066-2eae-0a2a0a5409dd-0a2a450b9e06-20
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:54:20 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a29506c-212f-0a2a450b0019-d155802dc4a4-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 13:54:20 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-490cdae130cso22147025e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 04:54:20 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490bc3d6c65sm548270825e9.12.2026.06.10.04.54.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 10 Jun 2026 04:54: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781092460; x=1781697260; 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=x3rSKkKvBSkUw1yVL7Wc98rHFbLn/xMwuexpV7snvpc=;
        b=Zq4IOpdUJtnDQgE5PJOGDwnTkPttwBpf9im4SxUAklukVaFG5vnAtUQ7eduQhOdJYn
         Rx3PC7R3hFNSjMc6SKD4ote3A5hXX97MiFTzmazzPeLzb+FTdkRRpWuEiww+V4wuLn9b
         Gi4TEAZeaBQSOLQwIxHbRSrIgqwoFP0W/uNRmdPEoKpjPXbPYk4cttjdXw8e9xZBphf8
         TqmEPgTl5t7ks6RoHvx8RBMUSg3X44e1yds/Amvn31zh1CQe8pd7B4TAJ2CerzkwVr7f
         DrwWwpUfM697gIC0neygx8Je+G3Cpx/+1eh1VJHdoQXh2fklAnWMqBb6AtkBYZ43TfhO
         t6YA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781092460; x=1781697260;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=x3rSKkKvBSkUw1yVL7Wc98rHFbLn/xMwuexpV7snvpc=;
        b=ZAeADl3idUlMvNTIKLWqx4nDW9SO+e8DYOpkVDXITTg0MKHIaCmULe29jYtM13IX5L
         0n6xT0WtfUfkuNyhm+7PvfQRgcodtXXKnHQ+X4Jq73PatKp8s6fCInG26oeiy8wgdIZd
         AF/eoXuxdwtrArFwmF3N6recJAzMRJ+PUnNlT0eLW9yLZeR088TzIG6VWTLYepbjMUvF
         GIXO/n2gQDXoWXaNO+9Fup/UEBafqp9TKukhUTroUYB4Sjb7yHnL4Wg3xfbOGcB02+6t
         5xBcpj3lyfttl89l+95Ql/AhY8g6N13EBsiXRxnmybexVljQ04d6pas6NYThK8nz3tZ/
         weUQ==
X-Forwarded-Encrypted: i=1; AFNElJ/AgWCImt2X1DCGu7z39qi4CY7FqabPr2PgarWTPMvyFDreO5fefWelTPTGbJFYMbF2UCSz/f4LBgc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx3aSJ2DnL3rv+4KVh4EJzHwDtUUiZtsdpriUdYB/vfCnQngHed
	AhEgQ9rrbaXk4g7XeK06FmnAq23X7q4zIpTetnxONnKLjGOV9E7smb32Htw4VA==
X-Gm-Gg: Acq92OEREJ8ssJgDs2cmPSIq+pO4ZiKwH9VmO8gJsj1zU7+J0hAHC0xO4Drc/jwL95T
	oYGE0C++PLqKq9VCFr2z4pkeNg4ZWsGKC88TjoC1iJKobSkymuPAnMf1igZ6VcITyNnN9hWtDmM
	o9wA97xIgPhPua8Ysa+eQOgFoO+ASjfhRsI3DB3fmFKmDo4frEnRBP1mMTPZ+PAyEkMyyxTOJ2+
	4ZFyvRg+AzFwRW8bdDXuFxImTKsu3o5ox7MAqw6vrmbk6XP1iztePZZw7n2owfeqS4RyHdmgygV
	tASQ6mk7YW6P2hKAdrxkvnhKlLxV122SJRWf4qZONpGNrTdtH5Xi0ZcOYIxVX8WmGzo/KcQ1jVe
	ZQnB/+eUGfThDAc6Qbm2CiCprks9CVYT89VILWOxNWP5HX9wKnbIllHpGYWPEZ/KDzZlgXLNgUW
	OmU+RISURXveLJfh6NsVUyL4CXaBaAyK1m6bBaHUyF5Bt92yJNrO+yf4L7aX+0BhHH7eQ5CHqpr
	3BK7CHlXEc8D08l
X-Received: by 2002:a05:600c:1387:b0:48a:75b9:b0bc with SMTP id 5b1f17b1804b1-490c2619945mr379815115e9.29.1781092459869;
        Wed, 10 Jun 2026 04:54:19 -0700 (PDT)
Message-ID: <898862be-387b-47cd-b32f-3b8cf2338ef3@gmail.com>
Date: Wed, 10 Jun 2026 13:54:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 0/2] xen/x86: Change stub page freeing to fix smt=0
To: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Teddy Astie <teddy.astie@vates.tech>
References: <20260609000638.121027-1-jason.andryuk@amd.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260609000638.121027-1-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1781092460-13374F3B-B45BEDD7/10/73395122804
X-purgate-type: spam
X-purgate-size: 859



On 6/9/26 2:06 AM, Jason Andryuk wrote:
> This is a third approach to fixing the stub page handling that is
> broken with !CONFIG_PV and smt=0.
> 
> There is a CPU-indexed stubs array and a NUMA node-indexed node_stubs
> for allocating the stub buffers.
> 
>  From v2, this patch
>    xen/x86: Remove unneeded stub_page setting
> is dropped as stub_page is removed as part of patch 2.
> 
> Jason Andryuk (2):
>    xen/x86: Return virtual address from alloc_stub_page()
>    xen/x86: Change stub page allocation/free
> 
>   xen/arch/x86/include/asm/stubs.h |   2 +-
>   xen/arch/x86/setup.c             |   3 +-
>   xen/arch/x86/smpboot.c           | 114 +++++++++++++++++++++----------
>   3 files changed, 79 insertions(+), 40 deletions(-)
> 

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 12:19:54 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 12:19:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334228.1597324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXHuB-00056B-Cz; Wed, 10 Jun 2026 12:19:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334228.1597324; Wed, 10 Jun 2026 12: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 1wXHuB-000564-AB; Wed, 10 Jun 2026 12:19:35 +0000
Received: by outflank-mailman (input) for mailman id 1334228;
 Wed, 10 Jun 2026 12:19:34 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wXHuA-00055y-6C
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 12:19:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXHu9-00H4CO-D0
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 14:19:33 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a295651-2eae-0a2a0a5409dd-0a2a450890c2-12
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:19:33 +0200
Received: from [209.85.208.51] (helo=mail-ed1-f51.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgross@suse.com>)
 id 6a295655-63b5-0a2a45080019-d155d033d100-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:19:33 +0200
Received: by mail-ed1-f51.google.com with SMTP id
 4fb4d7f45d1cf-691c5776f35so4763466a12.3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 05:19:33 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-68e65c542c7sm10265556a12.31.2026.06.10.05.19.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 10 Jun 2026 05:19:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781093973; x=1781698773; 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=+X9v4AH4EPovn7PyfazOjunLmvToT2UVwfsQrO3ZJFc=;
        b=Q2p/wjlFwIgRFvTOchi+NtZsgu6wYbcc6W8K437tfA/LUGw0ieXCvOFi0zDW9wGBCg
         /mRbdEYHwD07EtiNgiJLxpGjGhhrU5sEUXePp73Q+wpBmb3BrJNt64PpL4pPic6aItS4
         wIMGiYrDc6Fg+6xdNWjPINR0b2Xw1blPIqnWbyG/eIjjUkkcflK/6I4iaS7vwfB7Dw1y
         kMAT1I/qXoI+43VhfSDhIxgZTeYbMoVcqIaRnBq630d8FSZVANP35BMcebdfpd9Alv2/
         YtyB/rbyX8ccXUI3rHbhYRxnNTMMt4C6S7T6TPOryufbci7Hx81Hqy64WRVIgRNc7Ruy
         oRWw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781093973; x=1781698773;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=+X9v4AH4EPovn7PyfazOjunLmvToT2UVwfsQrO3ZJFc=;
        b=F5/VZKyM9F2Nf9EmgjLwa651afaoyq7fd9CwSUH4rmirjo+b6Fkx5t8AqwiaXg0+9B
         3Li9A4ihnhec/yQjJF/UJeqFX5OIiauCWGSllIF1Ux1V4G97s6Ku7papI81+BL1oDTgs
         KIqR5I/m+Tn9K96KouWrB41M7Db6M7ESGMhaCPzU5KqUf7m9F+7WDPs/B63IP0S3o+qG
         w/Kc7kMjw6gioqOf3GC4q+ENBJzgcL31ToTL+TCq/d23Zuxsxq9fykBj/dBXF2Iq2yL4
         XoJv06E/Rh8b0+oygrMaciNEKxFO8NfQ+t1mVDakIX4VYmyQV6bKfEBE5yYa8ZnQqgUN
         yxuw==
X-Forwarded-Encrypted: i=1; AFNElJ+viPnCzokv1+zgzapx2xdsk0ap3aA4MTK8sdPVkLg0ANTxRk+0KAkCdlKMlO/KekOPQYJ68Nksy5o=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw6JNEqiGbOX3+hN0vu9zs7CbkzgkrWqfXyhS8dfGoR6UXce6qC
	ln9B1xlkz/Gsag4DXgdobwF3ElfIv/bUGmYk5s2YrTps0ImBsa5pz9HskYXbffqJWaU=
X-Gm-Gg: Acq92OFCNyxM5vimPhtiIXQBF+8WlNqruOTS2YmtBqzJtfa6529Yab467dWlcpOfO1r
	TqlefTo+peYKLR3rLaquMmuXbegOMmv/URDYRCmsDkEp43NGchE3EpiXBotAXXs3Ony2NKxbPnk
	yzqRmFIEVfTtLrSMwZPYHNIAPKU+4qHQqVS4JMGimVY1s1wH6vNj0Omt2G7lZpjrGUd2Y153WPl
	DqG5KYkllXJMev1tane9KgOPrUw7nh7zS7dtVz/326G9awXJ5koxzwPFmI7WLCupQRE7uKHej2G
	BBSJqGvPn64z6s86sVfYu7n/4uMHcmIhc08Yrj/FQupUrX5hq4Y5ykQYDiKe3jWvNALQI3tLJwF
	lkIotcO26IDrrdbUE8EabTOfvk4pcurSCpoSxY9gp4h5oAxROWOQ2YySRd6cqQCTWOiKnG7rgPC
	Lcvmx6s2KIqq60EjC8EPBOVVPiLa8xKfGVPvpVmmi6F/rAJLzdjA8zr4Hzm+7eQKf2MwTC0ZGRi
	P5LqPa9/iUGTWA4JLjjxZ0gsKzqgUfxjafHrOS1f+okB8wqhU3hE0tR0C4Bc5tH
X-Received: by 2002:a05:6402:2346:b0:68d:3b2:202d with SMTP id 4fb4d7f45d1cf-68fa50359f7mr11804276a12.15.1781093972734;
        Wed, 10 Jun 2026 05:19:32 -0700 (PDT)
Message-ID: <ecb43fc6-e821-4532-9f75-06c86a6ac76c@suse.com>
Date: Wed, 10 Jun 2026 14:19:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/pvcalls: bound backend response req_id before
 indexing rsp[]
To: Michael Bommarito <michael.bommarito@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20260610114137.3749027-1-michael.bommarito@gmail.com>
 <b19b3b96-db17-4ed7-890c-be174b21f391@suse.com>
 <CAJJ9bXyFatHYnqvwHyupzZWOVCd02Fu4dpOdZTvLE-At+Z5TRQ@mail.gmail.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: <CAJJ9bXyFatHYnqvwHyupzZWOVCd02Fu4dpOdZTvLE-At+Z5TRQ@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------ohSzSy6lEsDZo0O9lrS7WWJQ"
X-purgate-ID: tlsNG-c1860d/1781093973-B6F72DB1-3E83B59B/0/0
X-purgate-type: clean
X-purgate-size: 6832

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------ohSzSy6lEsDZo0O9lrS7WWJQ
Content-Type: multipart/mixed; boundary="------------tNLccPUfg5OU0HT16Fv4rXuv";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Michael Bommarito <michael.bommarito@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <ecb43fc6-e821-4532-9f75-06c86a6ac76c@suse.com>
Subject: Re: [PATCH] xen/pvcalls: bound backend response req_id before
 indexing rsp[]
References: <20260610114137.3749027-1-michael.bommarito@gmail.com>
 <b19b3b96-db17-4ed7-890c-be174b21f391@suse.com>
 <CAJJ9bXyFatHYnqvwHyupzZWOVCd02Fu4dpOdZTvLE-At+Z5TRQ@mail.gmail.com>
In-Reply-To: <CAJJ9bXyFatHYnqvwHyupzZWOVCd02Fu4dpOdZTvLE-At+Z5TRQ@mail.gmail.com>

--------------tNLccPUfg5OU0HT16Fv4rXuv
Content-Type: multipart/mixed; boundary="------------0Z56FMQZZWvA1v0Py9mrYZKr"

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

T24gMTAuMDYuMjYgMTM6NTAsIE1pY2hhZWwgQm9tbWFyaXRvIHdyb3RlOg0KPiBPbiBXZWQs
IEp1biAxMCwgMjAyNiBhdCA3OjQ44oCvQU0gSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2Uu
Y29tPiB3cm90ZToNCj4+IFBsZWFzZSBhZGQgYW4gZXJyb3IgbWVzc2FnZSBoZXJlLCB1c2lu
ZyBwcl9lcnJfb25jZSgpLg0KPj4NCj4+IEluc3RlYWQgb2YganVzdCBpZ25vcmluZyBzdWNo
IHJlc3BvbnNlcywgSSdkIGNvbnNpZGVyIHN0b3BwaW5nIGNvbW11bmljYXRpb24NCj4+IHdp
dGggdGhlIGJhY2tlbmQgZm9yIHRoaXMgZGV2aWNlLg0KPiANCj4gR29vZCBwb2ludHMuICBE
byB5b3Uga25vdyBpZiB0aGVyZSBpcyBhIGNhbm9uaWNhbCB3YXkgdG8gdHJhY2sNCj4gYmFk
L2J1Z2d5IGJhY2tlbmRzIEkgc2hvdWxkIHJlZmVyZW5jZSBvciByZXVzZT8NCg0KWW91IGNv
dWxkIGZvbGxvdyB0aGUgeGVuLW5ldGJhY2sgZXhhbXBsZSAoc2VlIHhlbnZpZl9mYXRhbF90
eF9lcnIoKSBhbmQgaXRzDQpjYWxsZXJzIGluIGRyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL25l
dGJhY2suYykuDQoNCg0KSnVlcmdlbg0K
--------------0Z56FMQZZWvA1v0Py9mrYZKr
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-----

--------------0Z56FMQZZWvA1v0Py9mrYZKr--

--------------tNLccPUfg5OU0HT16Fv4rXuv--

--------------ohSzSy6lEsDZo0O9lrS7WWJQ
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/Ey8FAmopVlQFAwAAAAAACgkQsN6d1ii/Ey9r
PAf/S/7JBfI1qJb6IBJgbGHlg0/umfYnGxINlYy88ti2oXV1ar2KTI+r6Unspnq7gdr+7Zps40st
PCmfHl+YtVV1oKhHLycRiw4g8mB1klHdfEblqa608ARbULq+z5gA5hd7rDXumT/ciU3vtugh3BLQ
6YYzY0LICTL6THaeKrQkuhAFrg1jDXHqTG+sxCODKm/KWTzcbj4nGkEZQ+bDlFXZ5A/z/t/pyl0b
tgfUjWB+lr6DbS+8t2pcKt4unnVsL//CcGjzGA294M6THNip1cHd3DzHhimMYsMtEE8RmnODOgka
v5vlunUveiZ1xAD7TqU1J4Jj49Ylb8ne5TXrCNz3vg==
=ktka
-----END PGP SIGNATURE-----

--------------ohSzSy6lEsDZo0O9lrS7WWJQ--


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 12:47:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 12:47:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334266.1597374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXIKo-0001rx-E4; Wed, 10 Jun 2026 12:47:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334266.1597374; Wed, 10 Jun 2026 12:47: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 1wXIKo-0001pM-1p; Wed, 10 Jun 2026 12:47:06 +0000
Received: by outflank-mailman (input) for mailman id 1334266;
 Wed, 10 Jun 2026 12:45:33 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Mykola_Kvach@epam.com>) id 1wXIJJ-0001Cs-1Y
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 12:45:33 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXIJI-00H9hG-EE
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 14:45:32 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c60-5cb7-0a2a0a5109dd-0a2a4508dcb8-20
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:32 +0200
Received: from [52.101.65.132]
 (helo=DU2PR03CU002.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c6c-63b5-0a2a45080019-3465418425f0-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:32 +0200
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com (2603:10a6:20b:61d::18)
 by AM9PR03MB7558.eurprd03.prod.outlook.com (2603:10a6:20b:415::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Wed, 10 Jun
 2026 12:45:27 +0000
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7]) by AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7%4]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 12:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=LDBR4EgiHWDfctDyQOFveoNwrGy3CE8i7ESuRVWF8++TtRjyAw8ymU8kq74AO8//3ErQpBu1ldjcTc74xz/eQgmYEbbNZFCapJbiptAzOrwBC/c41Ur7O1ZC8c/T/fBTtNQMMCw2+jLPRkxE2gOAUVw9G6iDBgir0pZP2MQJsKznLsR54WB3iU+8UZKdX4caWQEplHSVHwSyjtzkXsELRCCAaGBfmY0FrSlmwrEitD3oMKD774QTjHWShYFTEvFnmMnA/BruLoF0OenJxWF4xd+BPY4lay0HKa3hJc9Vl0g1DUa880ZUyjrk4rEysvoveun8I2jiy0V9d/X0subAMg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RRVpxeM0gaRhUjO9d6z4tc/MJuoIRCJQUNdQDfFlEeE=;
 b=F15kTgcSYiPMEC+vHRL41Dq8itkZ9fBRXWuFmMbQtxQf87I7tFsZB43QFxBPNxgCD4CL5NkKKkJPyhK4PBDkJb2zGSz2VWD0MEAjcYvmKDdx5+QK0ulJfaZgoguGpALyCcYIbPvsWVI6LAUes5OVNna4oKUgQRBRuV4FvcTi1NpNG+Waj3fDk0CwMIOcihTkwLfX5NhvCxluZoMzUjkRqKAZQfuTNVqawp+pk5RWIjJPnAJhER2YdyRax5jUtYDshOhCDYLgR4Mgz4PE15torZ+UoUA2+J1pRWyTGAbINpShCaa4RnKJxj17zTtr/giFpzsRbClyQnz+P/64CHt+tw==
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=RRVpxeM0gaRhUjO9d6z4tc/MJuoIRCJQUNdQDfFlEeE=;
 b=H+8w52V6eKOybGENTInrgbg97nlNH2OWQbHacydgKopkvWP2fT0t/tJ8HVKA1N6+/iVNv1FfqTajabgs5SQqEcJbzM6lMuoJj+5zE3qm1OFwBIKWXqOvjscawWtBo0QcvWpVx1dM/x0W+Jb5hIc6xPu21JQ28X9KCWgouZzRqCW0M4DI6GjrykZgACIBcTsuOg3lZUJZmmnBkolKHA5UnduCqEzz+S8wtiR1EvgM7lhgYXRHj+4RpikNVe2SQrIpfTSmBZwzItVTXW9O/UGcUfGa62LN4esPJLTDy5aUY6gSeFSByZFuPqBaix/yQjK5gH4BH9S9n1ulLF5HxOAIVw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
From: Mykola Kvach <mykola_kvach@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@epam.com>,
	Mykola Kvach <xakep.amatop@gmail.com>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Luca Fancellu <luca.fancellu@arm.com>
Subject: [PATCH v11 06/13] xen/arm: tee: keep init_tee_secondary() for hotplug and resume
Date: Wed, 10 Jun 2026 15:44:26 +0300
Message-ID: <839baea8d07b4de595296c274cc0a5a4867f4e5b.1781084290.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1781084290.git.mykola_kvach@epam.com>
References: <cover.1781084290.git.mykola_kvach@epam.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: WA1P291CA0008.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:19::19) To AS8PR03MB9746.eurprd03.prod.outlook.com
 (2603:10a6:20b:61d::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9746:EE_|AM9PR03MB7558:EE_
X-MS-Office365-Filtering-Correlation-Id: d3c62d1c-a63a-4cf0-a84c-08dec6ee2604
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|366016|1800799024|376014|56012099006|11063799006|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	E23G6cjbq1oAZKJ0MJQa8O1b2LlIA1uoHyd71vnM4ZqRfy0NXyD79t7668P8mgO/DA2n1TUgk2p9lXw/nYrSAsYnZ7nZZgwP5M3ioJTHSjF7XCOuYg1Z3pjJ+kF8IKPFuPAj2cd2RDRishb+tr8DchMDgOENxeS3SuwJ9fUJyniuBue5T3DThCSfXK83Ge8/ZVrOitfU+8qy9Gfxr6BVolxRX97X6RLKZlDtSibV/DG5qJnISw9gQS5s6WaP92pYLF21N/XPFTu2KVqj2PbpN9pJ0HfeTqWeMy59lum1ZWZecOhPCmUb+8v8W0TDtqji8/mkiZsdnrVXDXrYoe/Uzyknpmv4+xOESTka+hItDIVKeEXl5q0SF651iK0zG4qqBAGKK5OPoaveJ6/5YVwpCM2JdE6OY6nHxb+dZXpY8SZWXduyrmPHaxgVBM+JoklJ9bW3hiFdE+53+XVl3oQWCdBhpAP0MIQByhmnHoRyoGJouzyjPPMUCKY+k5rOdgaCeyKbmPiF5kyepFPvNtbJ4Ax+BIf3JXJgBcMJDHD4YREJ6xXuBxCAi2XCqaSaUNQ65WcrCLXnl+YZ9T15RRJ/KSCU167fJyyqx9gqKwLczv6JBVrOuXye/jvrPooL7pmlKqFsxFVyqk2A0ipmS1rR7FerOwjZeA3HZtlLlnlmINX7ZH2I9PmHyTDJsOJh/99i
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9746.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(366016)(1800799024)(376014)(56012099006)(11063799006)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?x8D90J2UWMsVuGFgnW/t9ATE1N3GyB/zWFkv/MFLFVki5/Q+CV68AVjgcTlw?=
 =?us-ascii?Q?eP7ayugwJJvLQfm+2XkxOw5+P4QcSaTtVR9Bq4BasDhc/Lr5Yg13PJ3Q2ufn?=
 =?us-ascii?Q?wKY0eGaStOU79FpN3wihaUFjO7PPG2GbbcbsVvmxhhrsUc0HbzxsOTqxDmyN?=
 =?us-ascii?Q?iL0AlgUgaIycz+IVlclct3s7n09+SFSwHsL481WrjI76/ZoIIDFsVJmEwX1D?=
 =?us-ascii?Q?cSdd06nAdeg1FQXcUHAQKgXf5sOEnmYiL9fJ9rHdAzCQPnP5NfBR2tMs6lQN?=
 =?us-ascii?Q?J52kE1qIAUkDP3BN0x9kjW3dvRFJmfhzJSqdl1qBg0KxwfWgQawKYRxn7TRz?=
 =?us-ascii?Q?VSiJuVibffh1+dUUiCO9DI9JOgns5UY8WaawhCXuPZBAdbCCB4aTmaj/Xjvj?=
 =?us-ascii?Q?CoAplESNz+hP1+tI8YRNqCkuuQepUheOB/k8sVc8JUiDDWDSA7PUegDjp2c3?=
 =?us-ascii?Q?rJHdoPGTd0L+oayvb4y7mB5eo6L0JW5bKF8MFkSYd8RstjHubjTrIKDjulOW?=
 =?us-ascii?Q?E0NVJd1bCwCvt2uWfEQO8lmWhkGeqPVhHo5upcwW28nk+bG98mmOf2GuYJQP?=
 =?us-ascii?Q?IAIJ0WxAp8MdITPmPU2v0FJKA7UdZyg097lOjdrPMmVhN1hJECRc8pv0yLYD?=
 =?us-ascii?Q?1LRMhbpxAJAr1Ewy94ml2SMCqYpFvso1DmphPgzKdZMXifEw7A7OHiWnEC58?=
 =?us-ascii?Q?twXxCjNFuLEpUfcdK5uV+TQ91aWmDInuGd39UAAHj8cNer66j4tiJ7rIujAk?=
 =?us-ascii?Q?KM6VNE0TpEIsvU1XDS485qdTCLJ4/JFfcRNdlXZtsg7mOrI7IZItfzK0ZNVA?=
 =?us-ascii?Q?Fb1KD9MkrtmKuhH5+eabSHoCsqxYLCE2Yp+A03JYDTqKjbu46XfxHsJGZqES?=
 =?us-ascii?Q?R2Vd+V4BaI004j88HMARk7jPBvgQLoDrB2qJ7MT1Im8XUabfG1C5arEOGrxa?=
 =?us-ascii?Q?2Mi9ivr3UUOvnX3x1wHjbza4osMo7uZos6KqNj3u/IsvlwAI+3oNoN3ab+MV?=
 =?us-ascii?Q?SqcRYUk6l2aZha36FsCZhUswEZxxAUcUNvke+z4d+SSHP2rueCgDnuBNrW5b?=
 =?us-ascii?Q?fNCeaD3O9Xg4Vz/g+dCMVcOqghsC5mLm5ePFta6yxL8J9yA1QEPqLc+KCkTp?=
 =?us-ascii?Q?mnN8lwQDMilotE8RpZbmOFRMYSEOVplwoncA9Tw6YoE/5RTbmTSOsE8eHucZ?=
 =?us-ascii?Q?kP9U7LGKJw6K0EXrLGmL87X1Nb19eJVviEB0/mWH0bQVMke8w67MRTswTdFL?=
 =?us-ascii?Q?dLQilSGQuODTwrBl40ZcNrYwvzPp8cn8rlZo67SUy/l5TtChIxTg6VCkKTdz?=
 =?us-ascii?Q?wL58A0NmJFrGMnaf1nUxiBW2lYOaVV4e20DTIhcJLENUusrn92o42aXjevgM?=
 =?us-ascii?Q?zInAJOjfHwip7rWTpTMgfunSX9fadjMhR5QS0tIEQO0rtPBmPLMsVJo6LI9L?=
 =?us-ascii?Q?QlnH+X3wvIVi0Jv66nYCftBuxVZZWYf5Aam1S/nysbMtQ97GrFKnGUluXgQX?=
 =?us-ascii?Q?2Jkk/Jdt4GYHXgN+KNrPDEpSFVkxOJNG25UfUMdfE9uPOxug2fltv/MF8nTd?=
 =?us-ascii?Q?uweS7YwhKHcFCV0p6mUIpMPq4O7DgcVDL0MaWi+KMuq6VcYlQYS6BVdrNhQi?=
 =?us-ascii?Q?M5gYJ6bCQUYPibTxTknHdqmgJxj2b62mC3RLaIuTV1KpbYdrUrYkmHVexy98?=
 =?us-ascii?Q?qHeIuyzjo+rg5Rsr6XzW8dMNN+A2tFPURoTEi55WkW96OVZHmJ+kMa7RzasW?=
 =?us-ascii?Q?73JKOqtMUQ=3D=3D?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d3c62d1c-a63a-4cf0-a84c-08dec6ee2604
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9746.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 12:45:27.7725
 (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: ckLFgBP/SdiGUKkGfCt9UQsdciqEBk4CqGpfLhClOL8W+U/S7MsYwDPm2DHQx8pmFiYzLy2zab7ulStFnORxDA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7558
X-purgate-ID: tlsNG-c1860d/1781095532-C5F80DB1-4340F1EB/0/0
X-purgate-type: clean
X-purgate-size: 1017

init_tee_secondary() was marked __init and freed after boot. Calling it
from the CPU hotplug/resume path then executed discarded code, which
could crash Xen. Drop __init so the TEE mediator secondary init can run
safely on hotplugged and resumed CPUs.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 xen/arch/arm/tee/tee.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/tee/tee.c b/xen/arch/arm/tee/tee.c
index 8501443c8e..00e561fc78 100644
--- a/xen/arch/arm/tee/tee.c
+++ b/xen/arch/arm/tee/tee.c
@@ -128,7 +128,7 @@ static int __init tee_init(void)
 
 presmp_initcall(tee_init);
 
-void __init init_tee_secondary(void)
+void init_tee_secondary(void)
 {
     if ( cur_mediator && cur_mediator->ops->init_secondary )
         cur_mediator->ops->init_secondary();
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 12:47:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 12:47:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334272.1597394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXIKp-0002Ht-JI; Wed, 10 Jun 2026 12:47:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334272.1597394; Wed, 10 Jun 2026 12:47: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 1wXIKp-0002G6-Ai; Wed, 10 Jun 2026 12:47:07 +0000
Received: by outflank-mailman (input) for mailman id 1334272;
 Wed, 10 Jun 2026 12:45:39 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Mykola_Kvach@epam.com>) id 1wXIJO-0001F1-Qs
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 12:45:39 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXIJO-00H9hG-74
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 14:45:38 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c67-5cb7-0a2a0a5109dd-0a2a4504ad8a-44
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:38 +0200
Received: from [52.101.65.103]
 (helo=DU2PR03CU002.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c71-1dec-0a2a45040019-3465416798a7-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:38 +0200
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com (2603:10a6:20b:61d::18)
 by AM9PR03MB7558.eurprd03.prod.outlook.com (2603:10a6:20b:415::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Wed, 10 Jun
 2026 12:45:35 +0000
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7]) by AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7%4]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 12:45:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Ls2akCtxHCrDXkkdEcXzSXzUiy3QotfjYADyI2WbWxiRGwpxrHNirdp65VnAtDgxwNmId3QJHeoldhsGI/tcPqo3Lo5pdEYa29UR5deD/4KLEXV2L0s5wNFf4qfxiDBLmmq3mLxiM7pnsdC5c2tKKZ3IOdoytpEnOq/pj0PIAsM0YQa8gctPlQNoUyEU/9VuSfV38ss5D0Y6MMHUYD8HXScWq2qNwe0CxCdbU6EC1j2gGWvPsDRCVGFOFsackI37Hi22Jld1J38LtplZfcD+6qyuSkyA2pCeuX9Fam4Cy3jB/fquPeJHD6KwwomHmNdfWS0Qz3eVxLBMVQMyndl9qw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zuU9qIia0v/KlFmfmQr2PfYUlwI141FZNiLujMqRB9A=;
 b=j2q2dlLPoVvdjM2FkVP4QzSWmC5xI8M83BFLfrsSoKqmFgg7ycts/YQOS26R3wn96dRSb6KWeGefI9tTI+Na3RyXLTaV3yI0n4qFlzxPeEQS3wI77pGVCQJJbjkXOTiDCatwNByAjIbThnzdOAmgWl6P1w0Ln7SPnX3hazJScM7u63YRLRZCmPRP4MZdlYfvX2pkUvb8amYtvncTd19T6qirpwDtKmy0Leqhdnjad0BX+A8P3fLJ9mb5DbxBnw5SRE0a3fNprR3jF0Bn612fJXvW+KlYtGt+EGM/oMNMgrU/f6uuAK6JrLtC6Fqdc1BYuNMdOS9R6l8U0rIiUo7Lxw==
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=zuU9qIia0v/KlFmfmQr2PfYUlwI141FZNiLujMqRB9A=;
 b=hk6GtzdKDrgsx55KMiSCjFB2jCF2jG6Qp7ubXzpw1xRyNSXYZuBASGcsVrD5leMnqws4Uxhty0U0rFMFkRfEIClvHExi4NsJO9rUCmREqWja2S6eFeoSDx2D0OycK6OD3X3+j86gs6a5qj0KpC2GPXmIpKLBQoICPj1MqHstOFMvY/7z0To+Mds8yqYPAx1DjIlgsQFxiTYmmHP40XZWF006/fQ4yX2OtuXGibLYKgyVFunrjyvGHPHXYHf/yUVxQxQnIhadlgGVQPNvbQ42d7OOznN/UO9KRBynjtnF3Z3cY2OPTjkcFrAGiIXjXsF63JX+40ZqFyLMQmhA/0TffA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
From: Mykola Kvach <mykola_kvach@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@epam.com>,
	Mykola Kvach <xakep.amatop@gmail.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Rahul Singh <rahul.singh@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Pranjal Shrivastava <praan@google.com>,
	Luca Fancellu <luca.fancellu@arm.com>
Subject: [PATCH v11 09/13] xen/arm: smmu-v3: add suspend/resume handlers
Date: Wed, 10 Jun 2026 15:44:29 +0300
Message-ID: <f802a42d15c0ae3d78fa159431e0cb2bb0f0bf8a.1781084290.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1781084290.git.mykola_kvach@epam.com>
References: <cover.1781084290.git.mykola_kvach@epam.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: WA1P291CA0008.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:19::19) To AS8PR03MB9746.eurprd03.prod.outlook.com
 (2603:10a6:20b:61d::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9746:EE_|AM9PR03MB7558:EE_
X-MS-Office365-Filtering-Correlation-Id: 19d77b4b-6690-49e2-b0d0-08dec6ee2ab8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|366016|1800799024|376014|3023799007|56012099006|11063799006|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	+4EWl3k3PQKfOBHPNt4O8R6W+YG/djPMZ1AEsd5fRXELZC1s9c7wi7QMl8ML7/KUZrSFE7fN0oOWmq3gI6Tr+BBHCjInuIxkvYmnF6tP0JLuFI2+QmYehaF+6xqWRoDVT6QDSYNX5L+Sw5BslpyHuvrQkWx0rJNTQWy1iipqcYWyEyY2KQzwmJvRugrFdWYDjmOxmAGfgNi+8OzA8LBmkuWmAKk/V1Ih6znUebe5QJ8ntXBZmG8S7U8mxNiQaoVYhxQATrV8Y/2dm7kKdFW+Rtxz1UpmFPLbDcSBHjXCbe/q0m3/0QoGxA1WMrRUv8Wcj75rWW+6Kj0p6JcYQ03WorxeCPJ3VD7gQdhfXKcO0HwoUYN1Tot+m/ivtBnmaB56yQyjJDKSEgbyi5DtlTaJktddeYtU1legYUt96xOv5Our8bVGNA6HqCeG3mLoRHllpGLmSrRXlcpHTgxruIw7VswIhA7A9SlyaWAQOFaJ8eY7kPcm+GTgUSVcpMUMLEajy/ajoNhYl6YPSEmor1i3FYBgmVg5I4DAQ1lB22VuNuqDjcmdmLzukEd5trPMjDRumnn3NMaXvBHjsH34qSYol1TvGwey6QcJLAO1xNnDy6E952Rivl/0dSl1l5sBJmer6bcZQHcJQmzH7N1JJqsoqcectqqwJi/+5WRtGJTfXt/bCwYgSUQ9n+0kJJqAIS1t+dxJHAmkJZHVwe7OpkFyQg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9746.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(366016)(1800799024)(376014)(3023799007)(56012099006)(11063799006)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?yw4m8nky4dwxiApT6yp3pgf67x+QJVmywGl5B5Y1tKDy/Nymf2iyeCZnep9A?=
 =?us-ascii?Q?2MEoJCtcwelfizu29SzUe5VZu9FpCxhLB/rnPG1OEYpPnRUUqRe22vSp60O3?=
 =?us-ascii?Q?6kqksZi4FbkkZZAs3sdRI+KqHruvcsmLhMmd9ig1///ivnAUEg6XbBM3La/r?=
 =?us-ascii?Q?C4L3FKMr4/ny3chZl6nAnTNQ1lyNs1pwZ+4cntFFcf99nJY+Oqjw/Erw/Rd0?=
 =?us-ascii?Q?pmcVjDB37/GTPJ6wzbpYYQhUP2OpL3cTcaTMqlx9TNqI2obd8CGFyIEMHn9O?=
 =?us-ascii?Q?Z8/0xubGK1v7SddO1Od06yTL4lU8hTNgiJP7pVghP/1GjH15IoSae+4Wb2Xb?=
 =?us-ascii?Q?UPqOBBt4SzblX3PUYo/RI/351fWpxz/AIstjsIl/D1jZMlADLVMhzYplWZnE?=
 =?us-ascii?Q?dWS83Z8byez5N0exRlCkJfM/FihZ7Noqd8mQ0skIbnFIRGj7TlfTREJsmmv7?=
 =?us-ascii?Q?NfjJb/vzcuFBpUL8SPsy0Y4N0pzVPw4Qz6uG2f7R/ainihanRdDoa9DVxXdk?=
 =?us-ascii?Q?ivH9TUwVGBFSFejTsIFXpqAwxkV+1bFtfEcIilfVSS5X+6C3bH+vgPA34Bw5?=
 =?us-ascii?Q?rsrxFu3+/HDmWjmnnKi/U/EzLYI9xDPoTxFsX8OCAJOcpaRrPPHnJs4VK3B9?=
 =?us-ascii?Q?UA0a5jLxKhXLg8O/UN71mxPXRMQFZwrVcFB844QnZhY+SKHbRGLSsF56qKk9?=
 =?us-ascii?Q?oEr+ieQ6LF4BiU5QAcWS7VhehTvYdHKi7LxxBe9GM3J0fuIEBksdCwzfwxr9?=
 =?us-ascii?Q?L7KSPIujuSrUXGc50umUU+dG+LDRHq25cvmd3kJMF1ZxBZdP7q0OOQcAke2A?=
 =?us-ascii?Q?pZsylLDbL/saFBaq7WGiN6hJDfS8GsQoBKgh22+eDp5z1orphVIe1Aksi1lG?=
 =?us-ascii?Q?9JgzHUiLDClvOtlgFTIgOh7QiOdooZye87AuueNgzcjE0NvbUWH8lBX5pXvD?=
 =?us-ascii?Q?cZWKVtZ2HjwDWM8qpa9QGZk59iGUsy3tpzN3/51fABDEFnG9BO3AJRWAnucX?=
 =?us-ascii?Q?mEtC1S4S7YnCZ1qalPNJM2EHoUrXBdYIOQIF3yu6R54BMb5X2300EvtKT8Sj?=
 =?us-ascii?Q?G9QaX4oMu0+HEG5qMUYL00FtS2wI5TYmL+Tghx/JUutFBvMVvPX9m+ipnQJd?=
 =?us-ascii?Q?eaG+rKQs2aS0nr/sLHjCyjyu8p81N8aWGzRSyNNWw0RGSjQd5HYriXf4k41Q?=
 =?us-ascii?Q?4XfbjpCuScdA3dRWcJFxVCtFXreMCBfTYkNzr37u/86JJs+/7MGRvFFPw5Qm?=
 =?us-ascii?Q?v6Lgt5N527bE7baGT9kB3S3Gh7E1hFIS9PKVV5DdGFQ6Feh6KaGjZixv1Xsr?=
 =?us-ascii?Q?UD9pDyc0XGy1UT3GBbaahgpsjWLK6nXAxi37EiQDmPsnVMBw91LwE8hOfCmc?=
 =?us-ascii?Q?ODlbcm3oDkVicQ6mwaaNZvQ4TS0WI0pFv40ytCkLTl632AMcJdMp9QQNKpyG?=
 =?us-ascii?Q?atI3SO31rc4Iy/0mXg980VatxXgZ+zWfKpc5aLmt8EkeQdnOzb+80C7ufSua?=
 =?us-ascii?Q?+8lCpoK91DPEb7PNypb7i7vH4Gm9ZViphf3tXyPKpreY7u2WUeAOYaj7Tb1O?=
 =?us-ascii?Q?otHRhPSK0O9BddGbc95l7j8i39+F2g3WuRWrTfnoZ47x6ZikvWCx7ssorX7l?=
 =?us-ascii?Q?7uMTUB4jPQEEABlRhypANWkzGA8u1valLSPbf+mw992GWlclmmXEb1nCHR9n?=
 =?us-ascii?Q?L6baLSKSqSeXkHXOZsJxXfX5IylCxjXaIUKIt9am6Hpvyk3MkHhRdavNNysH?=
 =?us-ascii?Q?+7+bOw7ekA=3D=3D?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 19d77b4b-6690-49e2-b0d0-08dec6ee2ab8
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9746.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 12:45:35.5440
 (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: PL+WuQP7PI6lnc+yZF731wuC9SBAOOXGidsdiNrZexWIESRPApwxfqdzOUzOGM5Ero7sWCj/Og3RLQJwqgzugg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7558
X-purgate-ID: tlsNG-ebf023/1781095538-2A5603FF-12F23C5C/0/0
X-purgate-type: clean
X-purgate-size: 11069

Add system suspend/resume callbacks for the Arm SMMUv3 driver.

During suspend, configure GBPA to abort incoming transactions, disable the
translation interface while keeping CMDQ enabled, issue CMD_SYNC to ensure
all previously issued commands have completed, then disable the SMMU IRQs
and SMMU.

Resume uses arm_smmu_device_reset() to reprogram the SMMU and re-enable
translation and interrupt generation.

The IRQ setup split follows the approach from Pranjal Shrivastava's Linux
arm-smmu-v3 runtime/system sleep series: IRQ handlers are requested once
during probe, while reset/resume only restores SMMU hardware state and
re-enables IRQ_CTRL.

Only the pieces relevant to Xen's currently supported SMMUv3 path are
ported here. Xen documents SMMUv3 MSI and PCI ATS as unsupported and not
compiled/tested, so this patch does not restore SMMU MSI IRQ_CFGn registers
nor reinitialize ATS/PRI endpoints. If those paths become usable,
suspend/resume will need corresponding MSI restore and ATS/PRI
quiesce/reinit steps.

Link: https://lore.kernel.org/r/20260414194702.1229094-1-praan@google.com/
Based-on-patch-by: Pranjal Shrivastava <praan@google.com>
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes in V11:
- Keep arm_smmu_update_gbpa() and arm_smmu_device_reset() in init text when
  CONFIG_SYSTEM_SUSPEND is disabled.

Changes in V10:
- Disable SMMU interrupt generation during suspend before disabling the
  SMMU interface, matching the resume/reset path which re-enables IRQ_CTRL.

Changes in V9:
- Use CMD_SYNC in suspend instead of polling CMDQ_CONS, so the suspend
  path waits for command completion rather than only command consumption.
- Document that arm_smmu_setup_irqs() is probe-only and that future Xen
  SMMUv3 MSI support will need to restore SMMU IRQ_CFGn registers on
  resume.
- Restore the reference to Pranjal's Linux runtime/system sleep series and
  clarify that MSI/ATS/PRI resume handling is outside the supported Xen
  path.
- Prefix the subject with xen/arm for consistency with the rest of the
  Arm suspend/resume series.

Changes in V8:
- Honor ARM_SMMU_FEAT_SEV when draining the CMDQ during suspend, matching
  the existing runtime CMD_SYNC path.
- Fold the suspend rollback reset path into a helper and rename the error
  reporting to describe suspend rollback rather than resume.
- Treat SMMU reset failure during resume as fatal instead of logging and
  continuing with a potentially unusable IOMMU.
- cosmetic changes
---
 xen/drivers/passthrough/arm/smmu-v3.c | 194 +++++++++++++++++++++-----
 1 file changed, 158 insertions(+), 36 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index bf153227db..7f1d00fb81 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -94,6 +94,12 @@
 
 #include "smmu-v3.h"
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+#define __init_or_smmu_suspend
+#else
+#define __init_or_smmu_suspend __init
+#endif
+
 #define ARM_SMMU_VTCR_SH_IS		3
 #define ARM_SMMU_VTCR_RGN_WBWA		1
 #define ARM_SMMU_VTCR_TG0_4K		0
@@ -1814,8 +1820,8 @@ static int arm_smmu_write_reg_sync(struct arm_smmu_device *smmu, u32 val,
 }
 
 /* GBPA is "special" */
-static int __init arm_smmu_update_gbpa(struct arm_smmu_device *smmu,
-                                       u32 set, u32 clr)
+static int __init_or_smmu_suspend
+arm_smmu_update_gbpa(struct arm_smmu_device *smmu, u32 set, u32 clr)
 {
 	int ret;
 	u32 reg, __iomem *gbpa = smmu->base + ARM_SMMU_GBPA;
@@ -1995,10 +2001,35 @@ err_free_evtq_irq:
 	return ret;
 }
 
+static int arm_smmu_enable_irqs(struct arm_smmu_device *smmu)
+{
+	int ret;
+	u32 irqen_flags = IRQ_CTRL_EVTQ_IRQEN | IRQ_CTRL_GERROR_IRQEN;
+
+	if ( smmu->features & ARM_SMMU_FEAT_PRI )
+		irqen_flags |= IRQ_CTRL_PRIQ_IRQEN;
+
+	/* Enable interrupt generation on the SMMU */
+	ret = arm_smmu_write_reg_sync(smmu, irqen_flags,
+				      ARM_SMMU_IRQ_CTRL, ARM_SMMU_IRQ_CTRLACK);
+	if ( ret )
+	{
+		dev_warn(smmu->dev, "failed to enable irqs\n");
+		return ret;
+	}
+
+	return 0;
+}
+
+/*
+ * Probe-time only: request host IRQs and, when available, program the SMMU's
+ * MSI doorbells. Resume does not restore the SMMU *_IRQ_CFGn MSI registers,
+ * so any host suspend support must treat the active MSI IRQ path as
+ * unsupported until that restore path exists.
+ */
 static int __init arm_smmu_setup_irqs(struct arm_smmu_device *smmu)
 {
 	int ret, irq;
-	u32 irqen_flags = IRQ_CTRL_EVTQ_IRQEN | IRQ_CTRL_GERROR_IRQEN;
 
 	/* Disable IRQs first */
 	ret = arm_smmu_write_reg_sync(smmu, 0, ARM_SMMU_IRQ_CTRL,
@@ -2028,22 +2059,7 @@ static int __init arm_smmu_setup_irqs(struct arm_smmu_device *smmu)
 		}
 	}
 
-	if (smmu->features & ARM_SMMU_FEAT_PRI)
-		irqen_flags |= IRQ_CTRL_PRIQ_IRQEN;
-
-	/* Enable interrupt generation on the SMMU */
-	ret = arm_smmu_write_reg_sync(smmu, irqen_flags,
-				      ARM_SMMU_IRQ_CTRL, ARM_SMMU_IRQ_CTRLACK);
-	if (ret) {
-		dev_warn(smmu->dev, "failed to enable irqs\n");
-		goto err_free_irqs;
-	}
-
 	return 0;
-
-err_free_irqs:
-	arm_smmu_free_irqs(smmu);
-	return ret;
 }
 
 static int arm_smmu_device_disable(struct arm_smmu_device *smmu)
@@ -2057,7 +2073,8 @@ static int arm_smmu_device_disable(struct arm_smmu_device *smmu)
 	return ret;
 }
 
-static int __init arm_smmu_device_reset(struct arm_smmu_device *smmu)
+static int __init_or_smmu_suspend
+arm_smmu_device_reset(struct arm_smmu_device *smmu)
 {
 	int ret;
 	u32 reg, enables;
@@ -2163,17 +2180,9 @@ static int __init arm_smmu_device_reset(struct arm_smmu_device *smmu)
 		}
 	}
 
-	ret = arm_smmu_setup_irqs(smmu);
-	if (ret) {
-		dev_err(smmu->dev, "failed to setup irqs\n");
+	ret = arm_smmu_enable_irqs(smmu);
+	if ( ret )
 		return ret;
-	}
-
-	/* Initialize tasklets for threaded IRQs*/
-	tasklet_init(&smmu->evtq_irq_tasklet, arm_smmu_evtq_tasklet, smmu);
-	tasklet_init(&smmu->priq_irq_tasklet, arm_smmu_priq_tasklet, smmu);
-	tasklet_init(&smmu->combined_irq_tasklet, arm_smmu_combined_irq_tasklet,
-				 smmu);
 
 	/* Enable the SMMU interface, or ensure bypass */
 	if (disable_bypass) {
@@ -2181,20 +2190,16 @@ static int __init arm_smmu_device_reset(struct arm_smmu_device *smmu)
 	} else {
 		ret = arm_smmu_update_gbpa(smmu, 0, GBPA_ABORT);
 		if (ret)
-			goto err_free_irqs;
+			return ret;
 	}
 	ret = arm_smmu_write_reg_sync(smmu, enables, ARM_SMMU_CR0,
 				      ARM_SMMU_CR0ACK);
 	if (ret) {
 		dev_err(smmu->dev, "failed to enable SMMU interface\n");
-		goto err_free_irqs;
+		return ret;
 	}
 
 	return 0;
-
-err_free_irqs:
-	arm_smmu_free_irqs(smmu);
-	return ret;
 }
 
 static int arm_smmu_device_hw_probe(struct arm_smmu_device *smmu)
@@ -2558,10 +2563,23 @@ static int __init arm_smmu_device_probe(struct platform_device *pdev)
 	if (ret)
 		goto out_free;
 
+	ret = arm_smmu_setup_irqs(smmu);
+	if ( ret )
+	{
+		dev_err(smmu->dev, "failed to setup irqs\n");
+		goto out_free;
+	}
+
+	/* Initialize tasklets for threaded IRQs*/
+	tasklet_init(&smmu->evtq_irq_tasklet, arm_smmu_evtq_tasklet, smmu);
+	tasklet_init(&smmu->priq_irq_tasklet, arm_smmu_priq_tasklet, smmu);
+	tasklet_init(&smmu->combined_irq_tasklet, arm_smmu_combined_irq_tasklet,
+				smmu);
+
 	/* Reset the device */
 	ret = arm_smmu_device_reset(smmu);
 	if (ret)
-		goto out_free;
+		goto out_free_irqs;
 
 	/*
 	 * Keep a list of all probed devices. This will be used to query
@@ -2575,6 +2593,8 @@ static int __init arm_smmu_device_probe(struct platform_device *pdev)
 
 	return 0;
 
+out_free_irqs:
+	arm_smmu_free_irqs(smmu);
 
 out_free:
 	arm_smmu_free_structures(smmu);
@@ -2855,6 +2875,104 @@ static void arm_smmu_iommu_xen_domain_teardown(struct domain *d)
 	xfree(xen_domain);
 }
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+
+static void arm_smmu_reset_for_suspend_rollback(struct arm_smmu_device *smmu)
+{
+	int ret = arm_smmu_device_reset(smmu);
+
+	if ( ret )
+		dev_err(smmu->dev, "Failed to reset during suspend rollback: %d\n",
+				ret);
+}
+
+static int arm_smmu_suspend(void)
+{
+	struct arm_smmu_device *smmu;
+	int ret = 0;
+
+	list_for_each_entry(smmu, &arm_smmu_devices, devices)
+	{
+		/* Abort all transactions before disable to avoid spurious bypass */
+		ret = arm_smmu_update_gbpa(smmu, GBPA_ABORT, 0);
+		if ( ret )
+			goto fail;
+
+		ret = arm_smmu_write_reg_sync(smmu, 0, ARM_SMMU_IRQ_CTRL,
+					ARM_SMMU_IRQ_CTRLACK);
+		if ( ret )
+		{
+			dev_err(smmu->dev, "Timed-out while disabling SMMU irqs\n");
+			goto fail;
+		}
+
+		/* Disable the SMMU via CR0.EN and all queues except CMDQ */
+		ret = arm_smmu_write_reg_sync(smmu, CR0_CMDQEN, ARM_SMMU_CR0,
+					ARM_SMMU_CR0ACK);
+		if ( ret )
+		{
+			dev_err(smmu->dev, "Timed-out while disabling smmu\n");
+			goto fail;
+		}
+
+		/*
+		 * At this point the translation interface is disabled and the
+		 * SMMU won't access translation/config structures, even
+		 * speculatively, as per the IHI0070 spec (section 6.3.9.6).
+		 * CMDQ is still enabled so that a CMD_SYNC can complete any
+		 * previously issued commands.
+		 */
+
+		/* Ensure all previously issued commands have completed. */
+		ret = arm_smmu_cmdq_issue_sync(smmu);
+		if ( ret )
+		{
+			dev_err(smmu->dev, "Timed-out waiting for pending commands\n");
+			goto fail;
+		}
+
+		/* Disable everything */
+		ret = arm_smmu_device_disable(smmu);
+		if ( ret )
+			goto fail;
+
+		dev_dbg(smmu->dev, "Suspended smmu\n");
+	}
+
+	return 0;
+
+ fail:
+	/* Reset the device that failed as well as any already-suspended ones. */
+	arm_smmu_reset_for_suspend_rollback(smmu);
+
+	list_for_each_entry_continue_reverse(smmu, &arm_smmu_devices, devices)
+		arm_smmu_reset_for_suspend_rollback(smmu);
+
+	return ret;
+}
+
+static void arm_smmu_resume(void)
+{
+	int ret;
+	struct arm_smmu_device *smmu;
+
+	list_for_each_entry(smmu, &arm_smmu_devices, devices)
+	{
+		dev_dbg(smmu->dev, "Resuming device\n");
+
+		/*
+		 * The reset will re-initialize all the base addresses, queues,
+		 * prod and cons maintained within struct arm_smmu_device as well as
+		 * re-enable the interrupts.
+		 */
+		ret = arm_smmu_device_reset(smmu);
+		if ( ret )
+			panic("SMMUv3: %s: Failed to reset during resume: %d\n",
+			      dev_name(smmu->dev), ret);
+	}
+}
+#endif
+
 static const struct iommu_ops arm_smmu_iommu_ops = {
 	.page_sizes		= PAGE_SIZE_4K,
 	.init			= arm_smmu_iommu_xen_domain_init,
@@ -2867,6 +2985,10 @@ static const struct iommu_ops arm_smmu_iommu_ops = {
 	.unmap_page		= arm_iommu_unmap_page,
 	.dt_xlate		= arm_smmu_dt_xlate,
 	.add_device		= arm_smmu_add_device,
+#ifdef CONFIG_SYSTEM_SUSPEND
+	.suspend		= arm_smmu_suspend,
+	.resume			= arm_smmu_resume,
+#endif
 };
 
 static __init int arm_smmu_dt_init(struct dt_device_node *dev,
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 12:47:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 12:47:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334253.1597337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXIKm-0001Iz-CV; Wed, 10 Jun 2026 12:47:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334253.1597337; Wed, 10 Jun 2026 12:47: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 1wXIKm-0001Is-9g; Wed, 10 Jun 2026 12:47:04 +0000
Received: by outflank-mailman (input) for mailman id 1334253;
 Wed, 10 Jun 2026 12:44:58 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Mykola_Kvach@epam.com>) id 1wXIIk-00017n-4a
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 12:44:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXIIj-009Dx3-9q
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 14:44:57 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c44-bab6-0a2a0a5309dd-0a2a4507bd70-10
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:44:57 +0200
Received: from [52.101.65.132]
 (helo=DU2PR03CU002.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c48-229c-0a2a45070019-346541848232-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:44:57 +0200
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com (2603:10a6:20b:61d::18)
 by DB9PR03MB7706.eurprd03.prod.outlook.com (2603:10a6:10:2c8::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Wed, 10 Jun
 2026 12:44:54 +0000
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7]) by AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7%4]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 12:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BK0xhJ8lEVc05sY8oLcuo6DNM0q8J6iONWuYGOcY0bilY2v0BwmyMzGOk2xsEblVIi5nig5b1iFHXHM5Ck+otmQHaDTCSDd2MSx3nb0oXKxbmRMx326ZvyLJXcg6UUVx2BpFx5QdaUw94tEhn8QP+VP1IKfz58rOEKoZU76YGGHRimALuSTRvUPod7vKfld64SoXUdZcOAdgJRFU74i6ExxWS81e3jJl6jMWVOSDroUGpOXSUf0ahlflecr9h0w+D9b3KH2cCvfgipPckbjEBDqvUO2qn198fwnCbcg2MVjAHuoZPUcwrizkPgjlOUb7fg9cuUvuUWwB5QIUVn9bmw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=geZCPGGVe3t5qiSzHFGv7JpUvpI0ztKOEZwmaUd1wnk=;
 b=gCb3ggPvfEvva7MFxm3gVs7fokgRccr/1P3ZV8B5l8jGScKWsHqAB/s0E34Gz1lI4Pj5MzVNLLQ6prex8d4WwOB7EhaNeg2B0K/6hEk4gkCLg6bM4+AnZYwsxnqlWSzvL2O9c0oeNI00jTkTBoCuiF0mh4V2jbBVaJCdaiibRKcw6MQiA/h2AGCiGFa4YEs9hSUxlbOysL8tkD9qfZlcIgfpqq/K3vx1cHa8Qp8OmxLKcyeE50KbvqRZZHEyfJBongJo0FqUWH409LnPwUA8X8SWVxlthpvD5Qw5FZ+Se8lVjhjFWjNqp+N+3BQswiD85dlA7b7hkP4q+OvdvTqECA==
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=geZCPGGVe3t5qiSzHFGv7JpUvpI0ztKOEZwmaUd1wnk=;
 b=kmOWDSnoyntImsS+a89308ZBee8fVwd5jeTmzb6G8uGKRXilkcW151P/IH1CDtpGHw6Fi6VlIto9XhcCByxmk1IZda+zlWXi2FQacKhdMhYEyqTiVxn/vg7LyiuBclaTVR2vNT0LWXIlN1z67RXL3eWLNINh2qaxLrmo/lbXzl0gx4z40imBJZGIAQg8AtoGwOAs0ocWfTYLyijCE7UtxkTTEupXr7DyYAzxLl4N/LLYo7z+LNJ0LauIqk1xhTAY1id0IAq5Ia0lY23U2h+NlyvoML9QavPew1Pq8wELCq79PDI+7TPJB6sTGWpfT0tRrO2K7WJIGZlVEJ0agQrD7A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
From: Mykola Kvach <mykola_kvach@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@epam.com>,
	Mykola Kvach <xakep.amatop@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>,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Rahul Singh <rahul.singh@arm.com>
Subject: [PATCH v11 00/13] Add initial Xen Suspend-to-RAM support on ARM64
Date: Wed, 10 Jun 2026 15:44:20 +0300
Message-ID: <cover.1781084290.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: WA1P291CA0008.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:19::19) To AS8PR03MB9746.eurprd03.prod.outlook.com
 (2603:10a6:20b:61d::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9746:EE_|DB9PR03MB7706:EE_
X-MS-Office365-Filtering-Correlation-Id: 48487aa9-903c-4c05-3b6b-08dec6ee11f1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|1800799024|376014|7416014|366016|5023799004|56012099006|11063799006|18002099003|6133799003;
X-Microsoft-Antispam-Message-Info:
	bndTJzf6PsgdEfKwvJ9ieJBHIGelVZPjDuKPKOT/HSHQUnLvwlWX1zi+pDWkNmuhddy1Y54N+Ef+mm3yhW6/C5aBtN5X2dix9c7pFZIvcm4Mf3rgsihqLupypotMWh9aQFr3fFy/f88vSwn6X1jttu99qOEGlFO++e00fWTH52bfxfRRYxD+xGG0RVlRBcmxD9nF2hj0/OSLTt5tMbPMiZRa+WBdVVFVYTFCvsPGJlUlK3fikwqEicXX5+LceMXgWq+DTVwnHFmrhBiktr+gXI75Gf1xkh+hut5mW5QFBxN0Ts6BfVVhi1NvjhOmOMtDy1PV3CVStTiQrpJrvaiXnOcTHhgA/juUhF6cbRzTZlEA+hRNQxQNxBD2x3NZ3pXPAk4jE4xiEyd1bf7kJL6QFkLXMwGXoiCgeo7fGGTm2MmmiptK71I5gjn6WtHNjWdYVo5KRIemW2jffxmrBd99zTmOpyo4xKmjr9OwL8CNme6e9nNWuCA6JPcgO0fxB/uYhXKkKRY46ICKiB9ZlcsXx4Tvjo2ijhXmupAyVmf+iADx2BCybj3YzWvO2yVU1/Hew53XE6YMEZ/z9tYIMoiC6S+6t1LhGUxTAd+wxKIi0uTbVApMq20uwPVUAJzi7AnAdOFbym0LFOHf6hXs9qzgvAonGrnnSnu5Wa1MTl/T7UFhQReDaKGK2eBcNPdmpoZh
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9746.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(376014)(7416014)(366016)(5023799004)(56012099006)(11063799006)(18002099003)(6133799003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?Iyq45izxAnRDODyx7wnYr/+xa5y2oeYzJ2sUZ32gak9FwUyonKJMEUnH6VBB?=
 =?us-ascii?Q?/C2gvAkfRYQ/SVXna06BXdkN+gFh0CaENuIuK1Iq7ab2G24q4H/q0m9PY6cI?=
 =?us-ascii?Q?MCpeLzMPNXP/ZkAgxOl7gxlLYrUFbecJPxxuTuuV1leSlS7Wpw2FvX3kMWF3?=
 =?us-ascii?Q?t2md/osgGLh0HfsOL42R1M1OeU14CZchSoxSiESYdA/NqvqRs1trlH3cCd9k?=
 =?us-ascii?Q?k62cnP9f3CRcxpIT9sBpXgE3r+ghgJyt5rLVnzz/i1BkqakcQA8OjLsfHFtE?=
 =?us-ascii?Q?He/McApN0nHdjHgfp2KgNJeYnCIf6T1M2QVrG7T9zhsRiffs7G/F2raUpOHe?=
 =?us-ascii?Q?IOXC9jEouONle8Z47TWhzKrlAKB4FtVgAxx/yZ1JMtJpjlO1fXZ7ub5XhpJT?=
 =?us-ascii?Q?bG6iGJG/+SwPfk8g8MoJXqfk+GMnpxKDTHBAuGrvZOF8hltgqu1jRRSEr5CV?=
 =?us-ascii?Q?kSNx4/5cTbL5KuhrL0RM8CYUtHrxFalfUtpkspHx09K4cjozy4Q6UcESXhqy?=
 =?us-ascii?Q?l7/4oOlTRiVOZ9lGyYkIz5jXnAqOveZkoG357/QT0Gi2QldxZLxFTM2OhYgh?=
 =?us-ascii?Q?abq7aFJPPezPaQF59gl7UqB8wyqGaG6+ZoOlZi1aLWXexGGyhpzPkLDbgKo6?=
 =?us-ascii?Q?cSjAPSaPiJZFUgZTrJyFQvCUgjpFGRoVeLhx+97CVSKIvTrp7hagQzsaUdVl?=
 =?us-ascii?Q?Te42QB09tyrJuEOOwvEMyi7qjqO41rXn5pTeqezNW2Jp6pOH7FNrZDcXmG99?=
 =?us-ascii?Q?CIqfUuKCJ+/v0WqI7kPgv2VHh+RATZ+qnapx/atKoViaZp6LtgVDKlZj7lII?=
 =?us-ascii?Q?z20Jxf1jjcrM3pAACOK/SsLDvvYar4KZRJqcnos/e4Np0k3EvcuKlb0vnGHC?=
 =?us-ascii?Q?MlbtKWBxSOnMQjbIa8yX9Mofnj3SyA4GlTv5XIh5KlRqghGqLLJ6WXT1d/jS?=
 =?us-ascii?Q?bhyeDxfszTCtz2CAVBSudbfOTVpqXMjlHzAohuNgi07jybYVlAD86mRHbCaa?=
 =?us-ascii?Q?rpTyPxH4dU6WwY4ekHSww1bC+dm3/eGbu9O8rnOXpmONefmgusYN7WCVe7Kg?=
 =?us-ascii?Q?dlkTcyRYLueV7CqsZPDvMQn3oTbHGs+4hAxlbxbda/5BZX8hFbL1lw3V3DoP?=
 =?us-ascii?Q?pCYYCnYCSBsMf0+vyIWqypNGKCNWb/3Rakb1h60+PYAmhSH3+ccsxT52SE3O?=
 =?us-ascii?Q?bCeybGsNikZA/nsI0ChM97n+R5Fg85j7kvB8MLNXNXr1PzYiU/EXkwb0nDFA?=
 =?us-ascii?Q?DiENdredxsJKKq6pWbR7z97bKflqM2HeT9eCtUZN4KD3lDP+2ZDqR2eWVNax?=
 =?us-ascii?Q?tiMufb4DSWJJ9GSzitsIUjlKoBxKHyzZTJ0AT9yvbKA+1JENc9UFEYcOkpSJ?=
 =?us-ascii?Q?fy3tKd8XNmuufdt/j2zHj4GBKp1cKSOMn/bMUZu4KVajo6iaE3PzZ6vV9eXt?=
 =?us-ascii?Q?gJO2QhOXiKXJq4ZY2JqDq7k5+xTUkktMb/4Uh6Z5gIqrobGPxBvZ9JlrrtCc?=
 =?us-ascii?Q?7M2deBOp+ISqWP8GHL54smMCqAtI5tBKqGSJ7/MohwkDiGFqE897YI26RLcw?=
 =?us-ascii?Q?Y3mo5dCYbIwnFWrRA49GKGDeskttn/ewY3EC2Ghk1xOt9PRZU1SGLueDbFOL?=
 =?us-ascii?Q?OtPQ0pmOJLAHsOfXFDI823ac/2M3m7/2RhnpKnoeQI2gzlo/6dE9jIbu7Veo?=
 =?us-ascii?Q?Q9J7O00f0mgdgLF0d6ib/kqYeUVrFn5PCyHqMvwrRdk1lbVd/MIz3iP5snTm?=
 =?us-ascii?Q?27ShEQRY3Q=3D=3D?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 48487aa9-903c-4c05-3b6b-08dec6ee11f1
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9746.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 12:44:54.0992
 (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: i4+uV71QQtV3fQvtS1Ogy7zn1g44K4WCGKuCGJ/6K10GE66Vaoa6QxZa0koWIkPd1Ppp6JhVbUUKWm53MIEKmA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR03MB7706
X-purgate-ID: tlsNG-ef75cf/1781095497-0B57BC48-78E68EDD/0/0
X-purgate-type: clean
X-purgate-size: 8546

This is part 2 of the ARM Xen system suspend/resume patch series, based
on earlier work by Mirela Simonovic and Mykyta Poturai.

Part 1, covering guest suspend functionality, is already in mainline.

NOTE: Host-wide suspend/resume support is guarded by CONFIG_SYSTEM_SUSPEND,
which can currently only be selected when UNSUPPORTED is set, and thus the
host suspend backend is neither enabled by default nor built in supported
configurations. The separate HAS_HWDOM_SYSTEM_SUSPEND policy bit only changes
how ARM treats SHUTDOWN_suspend from the hardware domain; it does not enable
the host-wide suspend backend by itself.

This version is ported to Xen master and includes extensive improvements
based on reviewer feedback. The patch series restructures code to improve
robustness and maintainability, and implements initial ARM64 host-wide
Suspend-to-RAM support driven by control-domain PSCI SYSTEM_SUSPEND
requests. vPSCI also exposes SYSTEM_SUSPEND as a domain suspend operation
for all domains; attempt-time host-suspend policy failures are reported as
PSCI_DENIED rather than hidden through PSCI_FEATURES.

Key updates in this series:
 - Introduced architecture-specific suspend/resume infrastructure
 - Integrated GICv2/GICv3 suspend and resume, including memory-backed context
   save/restore with error handling
 - Added time and IRQ suspend/resume hooks, ensuring correct timer/interrupt
   state across suspend cycles
 - Implemented proper PSCI SYSTEM_SUSPEND invocation and version checks
 - Added vPSCI SYSTEM_SUSPEND policy for domain suspend and host-wide
   control-domain sequencing
 - Improved state management and recovery in error cases during suspend/resume
 - Added support for IPMMU-VMSA/SMMUv3 context save/restore
 - Added support for GICv3 eSPI registers context save/restore
 - Added support for ITS registers context save/restore
---

TODOs:
 - Enable "xl suspend" support on ARM
 - Add suspend/resume CI test for ARM (QEMU if feasible)
 - PCI suspend ?
---

Detailed changelogs can be found in each patch.

Changes in v11:
- Keep SMMUv3 reset helpers in init text when CONFIG_SYSTEM_SUSPEND is
  disabled.
- Update host suspend policy blockers after review: make the runtime gate
  __ro_after_init, log the SMMUv3 MSI blocker only once, and wrap the Arm
  IOMMU blocker in CONFIG_SYSTEM_SUSPEND.

Changes in v10:
- Clarify the vPSCI SYSTEM_SUSPEND policy summary: keep SYSTEM_SUSPEND
  advertised once implemented and return PSCI_DENIED, rather than
  PSCI_NOT_SUPPORTED, for attempt-time host-suspend policy failures.
- Tighten GICv2/GICv3 suspend/resume based on review feedback: avoid
  reserved interrupt register ranges, check visible active-priority state,
  restore configuration before enable state, and re-enable the redistributor
  before restoring CPU/virtual interface state on abort paths.
- Refine ITS resume so MAPC is replayed only for ITS-backed collections and
  clarify the collection-ID assumptions.
- Rework IPMMU and SMMUv3 resume/suspend handling, including root-before-cache
  IPMMU restore ordering and disabling SMMU interrupt generation before
  suspend.
- Save and restore CNTHCTL_EL2 in the arm64 CPU resume context and simplify
  the resume trampoline/context hand-off.
- Re-apply boot CPU errata/workaround handling after SYSTEM_SUSPEND and move
  set_init_ttbr() declaration to asm/mmu/mm.h.
- Update patch 12 details: shorten SYSTEM_SUSPEND blocker logs, use %pd for
  control-domain logging, mark serial_suspend_available as __ro_after_init,
  and mention the xen/suspend.h struct domain forward declaration.

Changes in v9:
- Split the control-domain SYSTEM_SUSPEND flow so host availability,
  runtime blockers and domain-readiness checks are handled separately from
  the host suspend backend.
- Gate vPSCI SYSTEM_SUSPEND on cached host PSCI support and Xen runtime
  suspend blockers, and log firmware support during initialization.
- Fold the arm64 resume trampoline into the CPU context save/restore patch
  and use asm-offsets-generated RESUME_CTX_* definitions for the assembly
  save/restore path.
- Tighten the GICv2/GICv3/ITS/IPMMU/SMMUv3 suspend/resume paths based on
  review feedback, including state-save/restore fixes and safer failure
  handling.
- Reorder the host suspend/resume phases so timer and GIC state are
  handled with local IRQs disabled and restored before console/IOMMU
  resume.

Changes in v8:
- Rebased to latest master and refreshed the series accordingly.
- Added a new GICv3 patch to tolerate retained redistributor LPI state
  across CPU_OFF/CPU_ON.
- GICv2 suspend now disables the CPU interface and distributor before
  saving state.
- GICv3 suspend/resume fixes the redistributor base used for LPI state.
- ITS and SMMUv3 suspend/resume paths were tightened, with safer
  restore/rollback handling and stricter fatal-error handling.
- System suspend now checks that all domains are already in
  SHUTDOWN_suspend before proceeding, and renames the hardware-domain
  suspend capability/helper for clearer semantics.
- Fixed alignment/cleanup issues in the low-level suspend/resume code.

Changes in v7:
- Timer helper renamed/clarified; virtual/hyper/phys handling documented.
- GICv2 uses one context block; restore saved CTLR; panic on alloc failure.
- GICv3/eSPI/ITS always suspend/resume; restore LPI/eSPI; rdist timeout.
- IPMMU suspend context allocated before PCI setup.
- System suspend: control domain drives host suspend.
- Dropped v6 IRQ descriptor restore patches; use setup_irq and re-register
  local IRQs on resume instead.

For earlier changelogs, please refer to the previous cover letters.

Mirela Simonovic (5):
  xen/arm: Add suspend and resume timer helpers
  xen/arm: gic-v2: Implement GIC suspend/resume functions
  xen/arm64: Save/restore CPU context across SYSTEM_SUSPEND
  xen/arm: Implement PSCI SYSTEM_SUSPEND call (host interface)
  xen/arm: Add host system suspend backend

Mykola Kvach (7):
  xen/arm: gic-v3: tolerate retained redistributor LPI state across
    CPU_OFF
  xen/arm: gic-v3: Implement GICv3 suspend/resume functions
  xen/arm: gic-v3: add ITS suspend/resume support
  xen/arm: tee: keep init_tee_secondary() for hotplug and resume
  xen/arm: ffa: fix notification SRI across CPU hotplug/suspend
  xen/arm: smmu-v3: add suspend/resume handlers
  xen/arm: Add vPSCI SYSTEM_SUSPEND policy

Oleksandr Tyshchenko (1):
  iommu/ipmmu-vmsa: Implement suspend/resume callbacks

 xen/arch/arm/Kconfig                     |   2 +
 xen/arch/arm/Makefile                    |   1 +
 xen/arch/arm/arm64/asm-offsets.c         |  21 +
 xen/arch/arm/arm64/head.S                | 122 ++++++
 xen/arch/arm/cpuerrata.c                 |   7 +-
 xen/arch/arm/gic-v2.c                    | 226 +++++++++++
 xen/arch/arm/gic-v3-its.c                | 146 ++++++-
 xen/arch/arm/gic-v3-lpi.c                |  80 +++-
 xen/arch/arm/gic-v3.c                    | 482 ++++++++++++++++++++++-
 xen/arch/arm/gic.c                       |  35 ++
 xen/arch/arm/include/asm/arm64/sysregs.h |   5 +
 xen/arch/arm/include/asm/cpuerrata.h     |   1 +
 xen/arch/arm/include/asm/gic.h           |  16 +
 xen/arch/arm/include/asm/gic_v3_defs.h   |   3 +
 xen/arch/arm/include/asm/gic_v3_its.h    |  28 ++
 xen/arch/arm/include/asm/mmu/mm.h        |   2 +
 xen/arch/arm/include/asm/psci.h          |   4 +
 xen/arch/arm/include/asm/suspend.h       |  37 ++
 xen/arch/arm/include/asm/time.h          |   5 +
 xen/arch/arm/mmu/smpboot.c               |   2 +-
 xen/arch/arm/psci.c                      |  38 +-
 xen/arch/arm/suspend.c                   | 210 ++++++++++
 xen/arch/arm/tee/ffa_notif.c             |  63 ++-
 xen/arch/arm/tee/tee.c                   |   2 +-
 xen/arch/arm/time.c                      |  44 ++-
 xen/arch/arm/vpsci.c                     | 120 +++++-
 xen/common/Kconfig                       |   3 +
 xen/common/domain.c                      |   7 +-
 xen/drivers/char/serial.c                |  12 +
 xen/drivers/passthrough/arm/iommu.c      |   6 +
 xen/drivers/passthrough/arm/ipmmu-vmsa.c | 323 ++++++++++++++-
 xen/drivers/passthrough/arm/smmu-v3.c    | 203 ++++++++--
 xen/include/xen/list.h                   |  14 +
 xen/include/xen/serial.h                 |   1 +
 xen/include/xen/suspend.h                |   2 +
 35 files changed, 2169 insertions(+), 104 deletions(-)
 create mode 100644 xen/arch/arm/suspend.c

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 12:47:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 12:47:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334268.1597387 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXIKp-0002C4-70; Wed, 10 Jun 2026 12:47:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334268.1597387; Wed, 10 Jun 2026 12:47: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 1wXIKo-0002AG-Vx; Wed, 10 Jun 2026 12:47:06 +0000
Received: by outflank-mailman (input) for mailman id 1334268;
 Wed, 10 Jun 2026 12:45:35 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Mykola_Kvach@epam.com>) id 1wXIJK-0001DU-VN
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 12:45:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXIJK-00H9hG-BU
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 14:45:34 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c67-5cb7-0a2a0a5109dd-0a2a4504ad8a-34
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:34 +0200
Received: from [52.101.69.76]
 (helo=AM0PR83CU005.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c6e-1dec-0a2a45040019-3465454cb0ef-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:34 +0200
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com (2603:10a6:20b:61d::18)
 by AM9PR03MB7558.eurprd03.prod.outlook.com (2603:10a6:20b:415::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Wed, 10 Jun
 2026 12:45:32 +0000
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7]) by AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7%4]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 12: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=WQZEunZqsEASvaFPCdrXsuSBLqTLylVpmghm//4nXqy74ql/VYssIP+v+iXLteTDZAKyeYQoJLejCUMhLuIRX+UdCpcZ+/KLSzTCAHAYzICJ7uqwXa7m0Sy4Zwu2C5czbJNAFwVjbiCVFX1RV4E3SZGNM6hsJUMFE0oom8ACWNyjqXU5nI/t3H0VqJayNeqY13IAL9rlH41X5rtsKqDMWxbvio5DdDWmqDAeckfjbt/xtPnLFCcORzCuS3Eyd5f7ZBaDvAteOJv1dDZl/sbZK+lk/J/kVV00JYNDOwe9TvLGZzxbzfn9GYwpgwXKkffTZbB4OkJxyvfwT+HjlTjonQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nQ4kNGerzyiusut8IWEJPjH9AN7FUvIvVDuMBpOnlU4=;
 b=Xa7ux/i8rNQHIsKHgeLQINmZ8SdDJKmGPkQbv1KRUIjgUdcg7cxYgQymfbe2wlje0JWL12aa2ZyoIHuZ9ELck+F/wwrrhoypjhZc3m8Yu6LufT/vw6cauHQFTGYC4YDN/YmXBfQnLDRGB6h4Lk1emhKYfO7hrPNFOt8IghryY7+wPxVErGLRRrrsNzrj0Dc5O6IdlLvNLM8x8ay5qEGWU9pPz/XIjsHGtTlCRCSJjUi410zpaxNDyaPWKu7ijyG6SwWMmNSTR2v0dsP3T3ZH8eTKTQ4AfC2rPTvIy7dDMBaZVxBCkgi7wekY39+WtE2gtDG57pZxiYsUVZMHfWNIVg==
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=nQ4kNGerzyiusut8IWEJPjH9AN7FUvIvVDuMBpOnlU4=;
 b=quTNwmsuY1UqqmjG2gbzZXqT1DKrxIDl3jVn752Pmf4ucKBhCB3P+9HHLjld/oqfV1azXAjGrDJQIuDtLpv5ALVRmsc/33tWKb/vvouiHxb7OmOcWEr+ohGVifsu7mXFYJoRfpTHMplBCgb3pi8/Mb1dKa38U/KjQpI8yGQm9tIgyoWXojEAvLLxHosOuTBlC3AKsYnilfFbCOq/3i9G36UWOPZIGjYhH9qjfMWORyY7W/Q/Ly1mb2N2WzsmLXl1EYpHVJj+4muarxIbdjkV9ehQZUP7h0KZr/U0CuBSGEq2o6kymb2s8lqlGeqS6yknZEfG2W2vPiGJPqdlDgHRVQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
From: Mykola Kvach <mykola_kvach@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@epam.com>,
	Mykola Kvach <xakep.amatop@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>,
	Luca Fancellu <luca.fancellu@arm.com>
Subject: [PATCH v11 08/13] iommu/ipmmu-vmsa: Implement suspend/resume callbacks
Date: Wed, 10 Jun 2026 15:44:28 +0300
Message-ID: <a1c9e3defdd8fc772b78e93b7758294828246eea.1781084290.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1781084290.git.mykola_kvach@epam.com>
References: <cover.1781084290.git.mykola_kvach@epam.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: WA1P291CA0008.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:19::19) To AS8PR03MB9746.eurprd03.prod.outlook.com
 (2603:10a6:20b:61d::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9746:EE_|AM9PR03MB7558:EE_
X-MS-Office365-Filtering-Correlation-Id: fd442826-6b7c-448a-a4fb-08dec6ee288a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|366016|1800799024|376014|56012099006|11063799006|5023799004|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	ZYwVDvAgZZfnoUM4g76PTIgTaLoOMguf+SJArSTv84JGxYaaaAURxE+PVO/PUYy4KaSp/JtnOJ0msP1Kam+BpvDUrScj4ipj1DcAIh96wzdg9b8Hdd+aXqwX7z+eQ/t1AVvXISBbjo+7eq6n2UzEQZFAg3hhDcFic+p041siUc+cl0yBlWJREPypytOSeWGWWVgWLeiZrJViibz6cIS9KQt61GIPbQK6aQNMyuDoIn3fX00KxOjuvk7OdynJivjibIzy4INIErr85237GyNo/zj+FFwb4tImiOvw+u44FIb6LesNre91EhjksfQUy1CACA9wuc43DL6/ErBy6pkxZyQCchORuRTy8bgw+HLPhVdy7dWUiy+okvQ7cH/suNHPs4D03xi8hcH/nnmqi9C61n55JXDBRvTvq2+5/yD2e3+I8KawsLiFWF42W+5KQz5LMaLfNvD+dqZeYSwpxOJVcvjh9uVQrUz87cfmJHIHPrxp6TOt5BPBJGIEkzO5VTNFGUSGllH4jiGoLtF4U0M0nv87EOnk/qcIe1+7nE6d/DAiUlFFOmQQGl6E5qny+pEkO/Kxq+KjiuMUqcmnx6hibh6GejRqNzFgIwT9/zkilyI1aAYrufrxXLXCCTqlKC2PvL3LbWQ3tLuB17T8z9GSdT0fSahDBy+p0s5MZZrLVFsfEqBwlSeOM4dOg8JLc25x
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9746.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(366016)(1800799024)(376014)(56012099006)(11063799006)(5023799004)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?Ij+YgkJf4oOGnpUZjvBNEmUsGZ1xkd6wnfAM89MFadwGi32grOVLPIXuVTz/?=
 =?us-ascii?Q?U8Vqo/rce2G31/u6QXIfOqZ7TKJ6xSERvP9VRiFH+MQlzhuNOnHtOke3XebS?=
 =?us-ascii?Q?xKfBOeRsg5bvbQOPnj0QDrtZaNqX4Go6qoD+gu9Ja0k1F2zc/QshLcgqWzz7?=
 =?us-ascii?Q?K29tfYbs5SxH1vgKFxyPWaBJCXugciOpVKp1/AeRiPkaKKeEo9YDuaY1jEuP?=
 =?us-ascii?Q?qtAWzJtN4ykk7gBSZBDcPcBdtlm1LEQOCX1OU9UhzTHwfBsqn14/ULGFOwEm?=
 =?us-ascii?Q?91V9YKU/FOyRxUEawK4hMMsW/ukuz/BAaNB3mtqpihBFnbyYGojAMvcSFPlp?=
 =?us-ascii?Q?v+Qdvx5YgD9KPfgAAK/Pd3ji/c6TgcyXhaeKnfn6Lrir7yQQNQ+LhnjuX1ZQ?=
 =?us-ascii?Q?7/c2BiEyD8PxzlgyvnKIw5hOQjuVOMflLuU3IIztwWYH2SANZmJ1JtTiCoAM?=
 =?us-ascii?Q?ivwHWrUjvL++MbzggN3FS2UUZHm7H2u8Mo5rV7kNNNyfLPYJfm6gSC/tZMVL?=
 =?us-ascii?Q?aRL+tqZeTzmi+Q2nw/x/70xpWcz+wKORBCzk9rAwtQqCTnOrkfU0Gr+nDGFd?=
 =?us-ascii?Q?8DaUdTw1by+wg5V2vjDQZaeP4xJm+0miuvGz46RxRs8fG8C13fUsRpujfu6C?=
 =?us-ascii?Q?RhBtZZPhlcCk8WXlpxyutw9yqdM4GaTopYrxyvBAv6CUoYL/q58vB2BDg+sQ?=
 =?us-ascii?Q?0nnxrYS37tBKSZloApC3MLeY7hjvAXFONijCrYg/VOlWWjNIduLcOSojSxAu?=
 =?us-ascii?Q?N1+Z3UZpq6QFL2tmmwyz/Ra+yA7Dt13Lg7hNsMyIK/XL94P91J703MjraAy6?=
 =?us-ascii?Q?8oz8Qniyo5s4if+KkNQC9zVxDvAnG5GUOyriYNP8ZOIhrFsylvgH/uX2VoPT?=
 =?us-ascii?Q?V6LcfUgyO9wOISecPO2Ji8T1LIWF0tAiQyASCpPszwewLIeO7k+lbSiAOqmw?=
 =?us-ascii?Q?y0rpffusNmau+8SbfM9aAsvswkT9dnE9TfOlpJwuZDOVigOA/qPDV7h6vS/A?=
 =?us-ascii?Q?bjVctkdvq/T4wUULL5GO5PeecZfRSqB39PUVXjSlt6ZtS+x8UIEmlcuXQ499?=
 =?us-ascii?Q?g7Zw3iKMzpjrpfkuk163z3G6Iwyhk+2xPL3gwCFczI9ffjLFUuj6othoCBz/?=
 =?us-ascii?Q?2w+ALdxcYWSumuW1M1WFpCS8wlVJkVlKfxsIcfPY7RvV/gkifuHzbg42v6+p?=
 =?us-ascii?Q?aWlBBO7AjKt+l4FrCp+k479tZZSwRd4ZoyWRXOauyBEbforLRkfsQRDKU0Og?=
 =?us-ascii?Q?KaorFtSMWwPLZzTFbGLPaWab0T8DYAz//NaTwd9MGIK9qBI95ea32+U+xms/?=
 =?us-ascii?Q?wiH77+tOcbK296F7VKJrUaKCq8/K6V2CRRGLS7AxvYhh6J+kINBBjIkf0zjZ?=
 =?us-ascii?Q?MVPHqJcrnAPPbgq/nRzLP9bt8OshluLGDPAgxOSDNgdDuuuOe3nfMoWTuhS9?=
 =?us-ascii?Q?yHhuMNJRQOmMKvmg05CJY9HeoPpEbHyxBn1J0V9J+6Fi/H3fc7ytadAR/YQ/?=
 =?us-ascii?Q?TBXp+eXlc0pNDYmJw9xYu39ZA01lXC1oTwmQB6C7I/ATaKT2sulBPyXiC9ql?=
 =?us-ascii?Q?xf/+v4f/DXGJlv4yjjywnr/w9ioSZup2v1t31jSuMDPCFnDhkqYdD8QzUO7D?=
 =?us-ascii?Q?pYwqxNwm0KyVRC5v6FDwAG+W8PzoSj7EV7XE3Ofsx1DqJ2kCCl7ODhDJvBql?=
 =?us-ascii?Q?SwOfl2aeW+E3IUwVUgtkuE9THhI/P0w9jnMcT16n0WGnVR7nUFZqAncOOHAh?=
 =?us-ascii?Q?TYEJYoA0vA=3D=3D?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fd442826-6b7c-448a-a4fb-08dec6ee288a
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9746.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 12:45:31.9088
 (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: 7HI80ajRachY0b2IJ6shS5rbW45IiSinAaxVg1dXxub8GdHMleoYKkDb28RC2LfN8oZqwHsUDiEs5h/9dnWrDg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7558
X-purgate-ID: tlsNG-ebf023/1781095534-291763FF-8D6A7073/0/0
X-purgate-type: clean
X-purgate-size: 14456

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Store and restore active context and micro-TLB registers.

On resume, restore Root IPMMU context state before restoring Cache IPMMU
micro-TLB state. Cache IPMMUs select Root contexts through their micro-TLB
configuration, so restoring Cache micro-TLBs before the Root context
registers are restored can expose stale or uninitialized context state.

Tested on R-Car H3 Starter Kit.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes in V10:
- Iterate over registered IPMMUs in reverse order during resume so Root IPMMU
  context state is restored before Cache IPMMU micro-TLB state.

Changes in V9:
- set dt_device_set_protected() only after ipmmu_alloc_ctx_suspend()
  succeeds, so DT devices do not remain protected on allocation failure.

Changes in V7:
- moved suspend context allocation before pci stuff
---
 xen/drivers/passthrough/arm/ipmmu-vmsa.c | 323 +++++++++++++++++++++--
 1 file changed, 308 insertions(+), 15 deletions(-)

diff --git a/xen/drivers/passthrough/arm/ipmmu-vmsa.c b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
index fa9ab9cb13..2e54fa63d6 100644
--- a/xen/drivers/passthrough/arm/ipmmu-vmsa.c
+++ b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
@@ -71,6 +71,8 @@
 })
 #endif
 
+#define dev_dbg(dev, fmt, ...)    \
+    dev_print(dev, XENLOG_DEBUG, fmt, ## __VA_ARGS__)
 #define dev_info(dev, fmt, ...)    \
     dev_print(dev, XENLOG_INFO, fmt, ## __VA_ARGS__)
 #define dev_warn(dev, fmt, ...)    \
@@ -130,6 +132,24 @@ struct ipmmu_features {
     unsigned int imuctr_ttsel_mask;
 };
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+
+struct ipmmu_reg_ctx {
+    unsigned int imttlbr0;
+    unsigned int imttubr0;
+    unsigned int imttbcr;
+    unsigned int imctr;
+};
+
+struct ipmmu_vmsa_backup {
+    struct device *dev;
+    unsigned int *utlbs_val;
+    unsigned int *asids_val;
+    struct list_head list;
+};
+
+#endif
+
 /* Root/Cache IPMMU device's information */
 struct ipmmu_vmsa_device {
     struct device *dev;
@@ -142,6 +162,9 @@ struct ipmmu_vmsa_device {
     struct ipmmu_vmsa_domain *domains[IPMMU_CTX_MAX];
     unsigned int utlb_refcount[IPMMU_UTLB_MAX];
     const struct ipmmu_features *features;
+#ifdef CONFIG_SYSTEM_SUSPEND
+    struct ipmmu_reg_ctx *reg_backup[IPMMU_CTX_MAX];
+#endif
 };
 
 /*
@@ -547,6 +570,249 @@ static void ipmmu_domain_free_context(struct ipmmu_vmsa_device *mmu,
     spin_unlock_irqrestore(&mmu->lock, flags);
 }
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+
+static DEFINE_SPINLOCK(ipmmu_devices_backup_lock);
+static LIST_HEAD(ipmmu_devices_backup);
+
+static struct ipmmu_reg_ctx root_pgtable[IPMMU_CTX_MAX];
+
+static uint32_t ipmmu_imuasid_read(struct ipmmu_vmsa_device *mmu,
+                                   unsigned int utlb)
+{
+    return ipmmu_read(mmu, ipmmu_utlb_reg(mmu, IMUASID(utlb)));
+}
+
+static void ipmmu_utlbs_backup(struct ipmmu_vmsa_device *mmu)
+{
+    struct ipmmu_vmsa_backup *backup_data;
+
+    dev_dbg(mmu->dev, "Handle micro-TLBs backup\n");
+
+    spin_lock(&ipmmu_devices_backup_lock);
+
+    list_for_each_entry( backup_data, &ipmmu_devices_backup, list )
+    {
+        struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(backup_data->dev);
+        unsigned int i;
+
+        if ( to_ipmmu(backup_data->dev) != mmu )
+            continue;
+
+        for ( i = 0; i < fwspec->num_ids; i++ )
+        {
+            unsigned int utlb = fwspec->ids[i];
+
+            backup_data->asids_val[i] = ipmmu_imuasid_read(mmu, utlb);
+            backup_data->utlbs_val[i] = ipmmu_imuctr_read(mmu, utlb);
+        }
+    }
+
+    spin_unlock(&ipmmu_devices_backup_lock);
+}
+
+static void ipmmu_utlbs_restore(struct ipmmu_vmsa_device *mmu)
+{
+    struct ipmmu_vmsa_backup *backup_data;
+
+    dev_dbg(mmu->dev, "Handle micro-TLBs restore\n");
+
+    spin_lock(&ipmmu_devices_backup_lock);
+
+    list_for_each_entry( backup_data, &ipmmu_devices_backup, list )
+    {
+        struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(backup_data->dev);
+        unsigned int i;
+
+        if ( to_ipmmu(backup_data->dev) != mmu )
+            continue;
+
+        for ( i = 0; i < fwspec->num_ids; i++ )
+        {
+            unsigned int utlb = fwspec->ids[i];
+
+            ipmmu_imuasid_write(mmu, utlb, backup_data->asids_val[i]);
+            ipmmu_imuctr_write(mmu, utlb, backup_data->utlbs_val[i]);
+        }
+    }
+
+    spin_unlock(&ipmmu_devices_backup_lock);
+}
+
+static void ipmmu_domain_backup_context(struct ipmmu_vmsa_domain *domain)
+{
+    struct ipmmu_vmsa_device *mmu = domain->mmu->root;
+    struct ipmmu_reg_ctx *regs = mmu->reg_backup[domain->context_id];
+
+    dev_dbg(mmu->dev, "Handle domain context %u backup\n", domain->context_id);
+
+    regs->imttlbr0 = ipmmu_ctx_read_root(domain, IMTTLBR0);
+    regs->imttubr0 = ipmmu_ctx_read_root(domain, IMTTUBR0);
+    regs->imttbcr  = ipmmu_ctx_read_root(domain, IMTTBCR);
+    regs->imctr    = ipmmu_ctx_read_root(domain, IMCTR);
+}
+
+static void ipmmu_domain_restore_context(struct ipmmu_vmsa_domain *domain)
+{
+    struct ipmmu_vmsa_device *mmu = domain->mmu->root;
+    struct ipmmu_reg_ctx *regs = mmu->reg_backup[domain->context_id];
+
+    dev_dbg(mmu->dev, "Handle domain context %u restore\n", domain->context_id);
+
+    ipmmu_ctx_write_root(domain, IMTTLBR0, regs->imttlbr0);
+    ipmmu_ctx_write_root(domain, IMTTUBR0, regs->imttubr0);
+    ipmmu_ctx_write_root(domain, IMTTBCR,  regs->imttbcr);
+    ipmmu_ctx_write_all(domain,  IMCTR,    regs->imctr | IMCTR_FLUSH);
+}
+
+/*
+ * Xen: Unlike Linux implementation, Xen uses a single driver instance
+ * for handling all IPMMUs. There is no framework for ipmmu_suspend/resume
+ * callbacks to be invoked for each IPMMU device. So, we need to iterate
+ * through all registered IPMMUs performing required actions.
+ *
+ * Also take care of restoring special settings, such as translation
+ * table format, etc.
+ */
+static int __must_check ipmmu_suspend(void)
+{
+    struct ipmmu_vmsa_device *mmu;
+
+    if ( !iommu_enabled )
+        return 0;
+
+    printk(XENLOG_DEBUG "ipmmu: Suspending...\n");
+
+    spin_lock(&ipmmu_devices_lock);
+
+    list_for_each_entry( mmu, &ipmmu_devices, list )
+    {
+        if ( ipmmu_is_root(mmu) )
+        {
+            unsigned int i;
+
+            for ( i = 0; i < mmu->num_ctx; i++ )
+            {
+                if ( !mmu->domains[i] )
+                    continue;
+                ipmmu_domain_backup_context(mmu->domains[i]);
+            }
+        }
+        else
+            ipmmu_utlbs_backup(mmu);
+    }
+
+    spin_unlock(&ipmmu_devices_lock);
+
+    return 0;
+}
+
+static void ipmmu_resume(void)
+{
+    struct ipmmu_vmsa_device *mmu;
+
+    if ( !iommu_enabled )
+        return;
+
+    printk(XENLOG_DEBUG "ipmmu: Resuming...\n");
+
+    spin_lock(&ipmmu_devices_lock);
+
+    /*
+     * IPMMUs are registered with list_add(), with Root IPMMU probed first.
+     * Walk backwards to restore Root contexts before Cache micro-TLBs.
+     */
+    list_for_each_entry_reverse( mmu, &ipmmu_devices, list )
+    {
+        uint32_t reg;
+
+        /* Do not use security group function */
+        reg = IMSCTLR + mmu->features->control_offset_base;
+        ipmmu_write(mmu, reg, ipmmu_read(mmu, reg) & ~IMSCTLR_USE_SECGRP);
+
+        if ( ipmmu_is_root(mmu) )
+        {
+            unsigned int i;
+
+            /* Use stage 2 translation table format */
+            reg = IMSAUXCTLR + mmu->features->control_offset_base;
+            ipmmu_write(mmu, reg, ipmmu_read(mmu, reg) | IMSAUXCTLR_S2PTE);
+
+            for ( i = 0; i < mmu->num_ctx; i++ )
+            {
+                if ( !mmu->domains[i] )
+                    continue;
+                ipmmu_domain_restore_context(mmu->domains[i]);
+            }
+        }
+        else
+            ipmmu_utlbs_restore(mmu);
+    }
+
+    spin_unlock(&ipmmu_devices_lock);
+}
+
+static int ipmmu_alloc_ctx_suspend(struct device *dev)
+{
+    struct ipmmu_vmsa_backup *backup_data;
+    unsigned int *utlbs_val, *asids_val;
+    struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev);
+
+    utlbs_val = xzalloc_array(unsigned int, fwspec->num_ids);
+    if ( !utlbs_val )
+        return -ENOMEM;
+
+    asids_val = xzalloc_array(unsigned int, fwspec->num_ids);
+    if ( !asids_val )
+    {
+        xfree(utlbs_val);
+        return -ENOMEM;
+    }
+
+    backup_data = xzalloc(struct ipmmu_vmsa_backup);
+    if ( !backup_data )
+    {
+        xfree(utlbs_val);
+        xfree(asids_val);
+        return -ENOMEM;
+    }
+
+    backup_data->dev = dev;
+    backup_data->utlbs_val = utlbs_val;
+    backup_data->asids_val = asids_val;
+
+    spin_lock(&ipmmu_devices_backup_lock);
+    list_add(&backup_data->list, &ipmmu_devices_backup);
+    spin_unlock(&ipmmu_devices_backup_lock);
+
+    return 0;
+}
+
+#ifdef CONFIG_HAS_PCI
+static void ipmmu_free_ctx_suspend(struct device *dev)
+{
+    struct ipmmu_vmsa_backup *backup_data, *tmp;
+
+    spin_lock(&ipmmu_devices_backup_lock);
+
+    list_for_each_entry_safe( backup_data, tmp, &ipmmu_devices_backup, list )
+    {
+        if ( backup_data->dev == dev )
+        {
+            list_del(&backup_data->list);
+            xfree(backup_data->utlbs_val);
+            xfree(backup_data->asids_val);
+            xfree(backup_data);
+            break;
+        }
+    }
+
+    spin_unlock(&ipmmu_devices_backup_lock);
+}
+#endif /* CONFIG_HAS_PCI */
+
+#endif /* CONFIG_SYSTEM_SUSPEND */
+
 static int ipmmu_domain_init_context(struct ipmmu_vmsa_domain *domain)
 {
     uint64_t ttbr;
@@ -559,6 +825,9 @@ static int ipmmu_domain_init_context(struct ipmmu_vmsa_domain *domain)
         return ret;
 
     domain->context_id = ret;
+#ifdef CONFIG_SYSTEM_SUSPEND
+    domain->mmu->root->reg_backup[ret] = &root_pgtable[ret];
+#endif
 
     /*
      * TTBR0
@@ -615,6 +884,9 @@ static void ipmmu_domain_destroy_context(struct ipmmu_vmsa_domain *domain)
     ipmmu_ctx_write_root(domain, IMCTR, IMCTR_FLUSH);
     ipmmu_tlb_sync(domain);
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+    domain->mmu->root->reg_backup[domain->context_id] = NULL;
+#endif
     ipmmu_domain_free_context(domain->mmu->root, domain->context_id);
 }
 
@@ -1338,10 +1610,11 @@ static int ipmmu_add_device(u8 devfn, struct device *dev)
     struct iommu_fwspec *fwspec;
 
 #ifdef CONFIG_HAS_PCI
+    int ret;
+
     if ( dev_is_pci(dev) )
     {
         struct pci_dev *pdev = dev_to_pci(dev);
-        int ret;
 
         if ( devfn != pdev->devfn )
             return 0;
@@ -1358,17 +1631,24 @@ static int ipmmu_add_device(u8 devfn, struct device *dev)
     if ( !to_ipmmu(dev) )
         return -ENODEV;
 
-    if ( !dev_is_pci(dev) )
+    if ( !dev_is_pci(dev) && dt_device_is_protected(dev_to_dt(dev)) )
     {
-        if ( dt_device_is_protected(dev_to_dt(dev)) )
-        {
-            dev_err(dev, "Already added to IPMMU\n");
-            return -EEXIST;
-        }
+        dev_err(dev, "Already added to IPMMU\n");
+        return -EEXIST;
+    }
 
-        /* Let Xen know that the master device is protected by an IOMMU. */
-        dt_device_set_protected(dev_to_dt(dev));
+#ifdef CONFIG_SYSTEM_SUSPEND
+    if ( ipmmu_alloc_ctx_suspend(dev) )
+    {
+        dev_err(dev, "Failed to allocate context for suspend\n");
+        return -ENOMEM;
     }
+#endif
+
+    /* Let Xen know that the master device is protected by an IOMMU. */
+    if ( !dev_is_pci(dev) )
+        dt_device_set_protected(dev_to_dt(dev));
+
 #ifdef CONFIG_HAS_PCI
     if ( dev_is_pci(dev) )
     {
@@ -1377,26 +1657,28 @@ static int ipmmu_add_device(u8 devfn, struct device *dev)
         struct pci_host_bridge *bridge;
         struct iommu_fwspec *fwspec_bridge;
         unsigned int utlb_osid0 = 0;
-        int ret;
 
         bridge = pci_find_host_bridge(pdev->seg, pdev->bus);
         if ( !bridge )
         {
             dev_err(dev, "Failed to find host bridge\n");
-            return -ENODEV;
+            ret = -ENODEV;
+            goto free_suspend_ctx;
         }
 
         fwspec_bridge = dev_iommu_fwspec_get(dt_to_dev(bridge->dt_node));
         if ( fwspec_bridge->num_ids < 1 )
         {
             dev_err(dev, "Failed to find host bridge uTLB\n");
-            return -ENXIO;
+            ret = -ENXIO;
+            goto free_suspend_ctx;
         }
 
         if ( fwspec->num_ids < 1 )
         {
             dev_err(dev, "Failed to find uTLB");
-            return -ENXIO;
+            ret = -ENXIO;
+            goto free_suspend_ctx;
         }
 
         rcar4_pcie_osid_regs_init(bridge);
@@ -1405,7 +1687,7 @@ static int ipmmu_add_device(u8 devfn, struct device *dev)
         if ( ret < 0 )
         {
             dev_err(dev, "No unused OSID regs\n");
-            return ret;
+            goto free_suspend_ctx;
         }
         reg_id = ret;
 
@@ -1420,7 +1702,7 @@ static int ipmmu_add_device(u8 devfn, struct device *dev)
         {
             rcar4_pcie_osid_bdf_clear(bridge, reg_id);
             rcar4_pcie_osid_reg_free(bridge, reg_id);
-            return ret;
+            goto free_suspend_ctx;
         }
     }
 #endif
@@ -1429,6 +1711,13 @@ static int ipmmu_add_device(u8 devfn, struct device *dev)
              dev_name(fwspec->iommu_dev), fwspec->num_ids);
 
     return 0;
+#ifdef CONFIG_HAS_PCI
+ free_suspend_ctx:
+#ifdef CONFIG_SYSTEM_SUSPEND
+    ipmmu_free_ctx_suspend(dev);
+#endif
+    return ret;
+#endif
 }
 
 static int ipmmu_iommu_domain_init(struct domain *d)
@@ -1490,6 +1779,10 @@ static const struct iommu_ops ipmmu_iommu_ops =
     .unmap_page      = arm_iommu_unmap_page,
     .dt_xlate        = ipmmu_dt_xlate,
     .add_device      = ipmmu_add_device,
+#ifdef CONFIG_SYSTEM_SUSPEND
+    .suspend         = ipmmu_suspend,
+    .resume          = ipmmu_resume,
+#endif
 };
 
 static __init int ipmmu_init(struct dt_device_node *node, const void *data)
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 12:47:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 12:47:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334260.1597354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXIKn-0001XR-5j; Wed, 10 Jun 2026 12:47:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334260.1597354; Wed, 10 Jun 2026 12:47: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 1wXIKn-0001Vw-1d; Wed, 10 Jun 2026 12:47:05 +0000
Received: by outflank-mailman (input) for mailman id 1334260;
 Wed, 10 Jun 2026 12:45:22 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Mykola_Kvach@epam.com>) id 1wXIJ8-000198-Ce
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 12:45:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXIJ7-007rhd-PW
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 14:45:21 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c52-2eae-0a2a0a5409dd-0a2a4506e28e-48
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:21 +0200
Received: from [40.107.162.86]
 (helo=PA4PR04CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c61-7371-0a2a45060019-286ba256b90f-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:21 +0200
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com (2603:10a6:20b:61d::18)
 by AM9PR03MB7558.eurprd03.prod.outlook.com (2603:10a6:20b:415::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Wed, 10 Jun
 2026 12:45:19 +0000
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7]) by AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7%4]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 12:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=oNPULTbuKpQUrV4rM2awB6yB43Uf2rsJ6TO9gLqRhBiXbJftBMvjVEKeR+daIZ/pceRHgQKOgyGJd+PbVoeAVFtdPTGACbQcIzh13uPpwn0prPfyckhlo6Kdo2jXbFQq8fb1mQB7zT/91iC1fBxpiSeJZlVyGYJr0vQPxcFtm2CrewdyksF5F52G2WdlGr13NFFksGPP9+miBfCxC54RCVZavy9siKhj/EZNw0894NtqHbeyv168s5pRC5qwSBP/vQXPy7DHOAql6/e7yRIwN59XZEiR+skI1hlbeE+ezteOSQHoZ9GkOVQ4ulSnWoaA+tWvX4xn9RFkF8zittfa7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bykUR/xLFuasoQUfLUvHqdOV3+AtF8rtSjNfXAIXxmQ=;
 b=PQCitOZ0R0lcRnqBVTOpZS2KOggTGfExJQ+zSBhVCvSqhgBxAyLv8IRWak844tXHvJrGiLP6lVU7tKClYv6l3h6myUa/R5z5E9EIdZthoRw0Vyr8otXsbJ3U+6srAVtK+U1Ez5BLwi1M0OOm95HePFvG4imSY1pJRzLqfcgChgk6NOrlR35osTmBz7ifPbvngKtqBAuF3IOGluruK9nWUn12ZJObV/mrGCcOzvxYZquD+K4pUn19Ch9QFFT6ENZw26W4b65/fCwds8tt7CcQD4w8pDuDL9/Kn0vckym/jNCp58Ti21kd0hsPJLIoiArASfWsD9mVssTxu+0U/ebIGg==
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=bykUR/xLFuasoQUfLUvHqdOV3+AtF8rtSjNfXAIXxmQ=;
 b=Uj/nOgwvoWOIkLH0/YDRwOFA23RDi50CYyL5VYCdA2WthlMCjjBRBthfpCHxsEesnfI9BxPX1izVcvEA1Na9wMymVD13WAkI25GTQHOYyemCDNuixegsleTnxu99oYjFaEaJ36gX/iX1+c7YoINBDSsQ9DfWaEgQGI5SG9xNMOek5HRCgTHhgGVaefgFCo1ycLVjwlQX106+hgF6zmfUsCaXxf0jaxd3gYQjbgiooMFw3HUiaNxLQWxeeCnJ8yXpwA1IcCLGWMzoff6OmCEsjWMYCK3UAEZAVnQN9QDdU4arLpgVWPCIFF95+Vr63ztcYWhUx5bEBKAvcBfPhecSDQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
From: Mykola Kvach <mykola_kvach@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@epam.com>,
	Mykola Kvach <xakep.amatop@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>,
	Luca Fancellu <luca.fancellu@arm.com>
Subject: [PATCH v11 03/13] xen/arm: gic-v3: tolerate retained redistributor LPI state across CPU_OFF
Date: Wed, 10 Jun 2026 15:44:23 +0300
Message-ID: <74b4ab2e7957e16a0b922dc5431a9ef6406acffa.1781084290.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1781084290.git.mykola_kvach@epam.com>
References: <cover.1781084290.git.mykola_kvach@epam.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: WA1P291CA0008.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:19::19) To AS8PR03MB9746.eurprd03.prod.outlook.com
 (2603:10a6:20b:61d::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9746:EE_|AM9PR03MB7558:EE_
X-MS-Office365-Filtering-Correlation-Id: 531d3c5f-fd17-4b77-ac2a-08dec6ee211b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|366016|1800799024|376014|56012099006|11063799006|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	IxwgL4M3TROMdrecNUHjKb7eB+gIKPCOCKacM36Ulw5DwNGBc+M6PCMLonm3tf83ZAZn46QrmngB6OkQ7D3P32MMd6wUvj3k82RE4Q1dKg1tBlVUdJqEd61w4/Y5wBqbzEdLFeY9M81SmxBzjjiE+JjPZBDDjmRp/eZDQqQWyCpunckPAN41+qLTfGaoRO26SkKa/nH1QR3vDx//+vYZrzVjmGvs5bLFiFCJjxH65C1PDkPQQmEdvhSkW2giD6z9gxRic4HBdZjJ7ahBU9426pBUtxhmiJSMV+Li1VAwdV4k3ZtZDGiwIqPkDU5EGQzxMlxjfenQEtIt7VUYNJHiDlzeHX0nj5x7RDL38RmqEgZDeWlIPXjlXnS7IiS9FLvrURmLIbK3L6RMErmsE1dRQLklgY72lH7LiDdNS8xZbcF/uyROE7KRHF+RmiyWcewh7xNmUhOtwE2becshbVAedpW45CgvzNg8tEHRob04zXnV6h4LrEsEdYVlSTdJ+Abg918f1f4zq58ZzE+aHzWQ1NnwqCU3QUvCnYfCq4y+aEGsZRs+PBKHTZCTjHHYwvWQRfaj08jCqYhJIhox0gX1ISc7V3Gez0WsHnW2ZJUvK+eaT8ZW9dkfO9Jlq7gyXttIlWsIbWD6gboCvfT6At1xGeq3NCXg2l021CIkc6njw4SDHfKjHI5ZPrwv5+0Gab4S
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9746.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(366016)(1800799024)(376014)(56012099006)(11063799006)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?N6n/+sjLH8vU5wdBGCZBexT/ucXyQn1b0AGNUzEbiG2tTkbKeCdpYuPHQnFI?=
 =?us-ascii?Q?lVlMH36qViTf2V0B6KuZSiBCM+mHzHM5KUlq5wFyJqQ95IlGh49PREQY49dR?=
 =?us-ascii?Q?t/oHXH4X+w0JrwwDFKrZIk9mwn3mKHdtMr9Cy0P61xJIgEJemue0/AR+E5Ez?=
 =?us-ascii?Q?L2NBcxDjJb0E/jMdByr8a5tvFdajrIDlDzw4qajCjr2U51vWVjgJKUd1va8n?=
 =?us-ascii?Q?OGaHCTQ1sVjKSVr+VUzO7Ys7ReahNLRFXDh5nmPoFRMhj38F6fFVh06XJqW1?=
 =?us-ascii?Q?iUuLBLYeorGN5XCYAS+5ai1y/e7hCiqYcVInpB26oiKxYdzVQp/mwb3mtqCi?=
 =?us-ascii?Q?LcdsTx+Ml8Oe56Q9Xdkt43YhcPhJtyZKqK7dU1xpXRVeid7wpjgHz0n4Xekm?=
 =?us-ascii?Q?SdBEZD8dhre08VxYyoOPX4a/o6PsCz0BNIWt3LgbOewMXL0WbncAskEI4rJt?=
 =?us-ascii?Q?EbmifODj4RMP2CfUVg0Gq3NADEibc/nSTIxNSgiWSW0FuWvH3PrNODM39ngZ?=
 =?us-ascii?Q?0sG5yPsQz44SM0mbaJT0snGQtYV+0UdmVyKeUJc3sI80iU910HmuNv0WzQTR?=
 =?us-ascii?Q?Hg+cg4e18dzOCTQlM0v2aPI8yR6nR696VxKf4DQJNevReJARcrxluhcbY6Lo?=
 =?us-ascii?Q?UJrSl9SNnkjkJCHQZsyHbaSP8gLezHx/zFHFi3LqOEmAzc2cJ/VfN1DkLdr+?=
 =?us-ascii?Q?8dMLMA7DtTCl0DdhcOcCdBxrmDB+6Y7s7a7Jz8VAXvFbtXOUixqXfg8oyI5I?=
 =?us-ascii?Q?uTVxphmz6oYsNobEDZduUv1YqZkWd7LucrFuQNcwbVFbVSe54C0dGF2Yyaxe?=
 =?us-ascii?Q?I0DQNnOW8K3hgf5UTcHykPUbObggz8cdyfmb7Hp/l1T1muctgqrr95iS4Pv3?=
 =?us-ascii?Q?T9N50jIKa/8ZUs6fQcJEBQ1svgUp0v95efRdyuRxmCT/nRTXV7lPqkihjQOA?=
 =?us-ascii?Q?Cvq4dSqAiX9JiSpHzKLYP/VmhJWqef5WcK/wsTwoLNFSr/ixLT3JS2kM25K8?=
 =?us-ascii?Q?rSmJEc6TTH2IIdr/wjLsMRot9JlTjTLwJtPSqyVuhuJwQLsV1gB+SIPCWpCj?=
 =?us-ascii?Q?NWHQn2xIsX9SCLPEAFt4nlSXgc/UdKR44yEzNha4rGLHe3mg+f3ZhFaH9yxl?=
 =?us-ascii?Q?vn2L7JRKOztyeFnSl6+9G4NZfpbeCi/jyEcqYpWFKVhahMlIt+ou+Net/mKO?=
 =?us-ascii?Q?pv+F6URXSfFDD9GaJRPTqVxLoPKGmm87Ybc0A4qlgqJBWKXf+MQfzYT//quw?=
 =?us-ascii?Q?t2CDpB4ZHeDIpW+Brxoo1qfuPnnR7e6CiGoXh4HDCuoWEUwGwY7b9HwDOOvo?=
 =?us-ascii?Q?OrDzP4juGkdTDFhiWeujQXdKHyRCwaP/TL4lfnD3hfg3HghVDR/qawF5/Tad?=
 =?us-ascii?Q?Wu19f3yDHvbMP9qxO72Q0sMVyxVYU5kLUFBzON5XxkbPkwQ3e2xslGbtaf4B?=
 =?us-ascii?Q?HOVq3gkpANS+diWLcFFg+cSqcl8sfM9fu38q4bAPLdlW8EDhjlMcbhEqqqcn?=
 =?us-ascii?Q?8EQ2xNdLbqWCtOG/CSDZIf7TljkHeLRUq/uW5fVEoKrcetRF9tb6RSLnEkbv?=
 =?us-ascii?Q?bawbg5bLPIoZ6vaGDCijIL6BTj+XjSTJuehIehci0owxvW3IH/eZjfWflTLB?=
 =?us-ascii?Q?M3qM1t4AU0zDI49pTNHUUX5SPKHemga3Qhc5ODyokIdVT0Ii+fdTWWXKhhGP?=
 =?us-ascii?Q?ctZrxf8ul4AANbS/01xbZ6yOkpWwSVTVeEHF8EMNT6J9f5awrJcdYLlCGhr+?=
 =?us-ascii?Q?7Fzp7QDutw=3D=3D?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 531d3c5f-fd17-4b77-ac2a-08dec6ee211b
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9746.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 12:45:19.4427
 (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: /fKHJ0L1tV7aXttg9KOqJXAjlTuJN5Vf1l2nikbUoGBH7SvWfk5JEput8+rMNnDLYQAovoJffEgGXazh6ndUHA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7558
X-purgate-ID: tlsNG-16d1c6/1781095521-7F77FD75-6431D11C/0/0
X-purgate-type: clean
X-purgate-size: 9556

PSCI does not guarantee that a GICv3 redistributor is powered down across
CPU_OFF -> CPU_ON.

DEN0022F.b says CPU_OFF powers down the calling core (5.5) and CPU_ON
brings the core back with a defined initial CPU state (5.6, 6.4).
However, PSCI leaves interrupt migration and GIC re-initialization to the
supervisory software/firmware stack: the caller must migrate interrupts
away before CPU_OFF (5.5.2), and the execution context that is lost in a
powerdown state must be saved and restored by software (6.8). PSCI also
calls out GIC management explicitly in 6.8, including retargeting SPIs,
preventing PPIs/SGIs from targeting a powered down CPU, and reinitializing
the CPU interface after CPU_ON.

This matches the GIC architecture. IHI0069H.b Chapter 11.1 requires the PE
and CPU interface to share a power domain, but explicitly allows the
associated redistributor, distributor, and ITS to remain powered while the
PE and CPU interface are off. All other GIC power-management behavior is
IMPLEMENTATION DEFINED. DEN0050D Chapter 4.2, "Generic Interrupt
Controller (GIC)", says the GICv3 redistributor may live either in the AP
core power domain or in a relatively always-on parent domain. So after
CPU_OFF -> CPU_ON a secondary CPU can legitimately come back to a live
redistributor with GICR_CTLR.EnableLPIs still set.

Handle that case in the LPI setup path instead of assuming a fully reset
redistributor.

The LPI path needs special care because the GIC spec makes redistributor
LPI state sticky and partially implementation defined. IHI0069H.b 5.1.1
and 5.1.2 say that changing GICR_PROPBASER or GICR_PENDBASER while
GICR_CTLR.EnableLPIs == 1 is UNPREDICTABLE. After clearing EnableLPIs,
software must wait for GICR_CTLR.RWP == 0 before touching the pending
table. The architecture also permits implementations where, once
EnableLPIs has been set, clearing it again is not guaranteed to work.
Where an ITS is present, the spec strongly recommends moving LPIs to
another redistributor before clearing EnableLPIs.

Because of that, treat a retained EnableLPIs state as valid when the
redistributor still points at Xen's expected PROPBASER/PENDBASER tables.
Only try to clear EnableLPIs when the retained configuration does not
match Xen's state, and wait for RWP before reprogramming the tables.

This is also consistent with platform firmware reality: PSCI and the GIC
architecture allow platform-specific redistributor power handling, and not
all platform firmware implementations force a full redistributor power-off
through implementation-defined controls during CPU_OFF. Xen therefore needs
to tolerate retained redistributor state on secondary CPU bring-up.

Keep gicv3_populate_rdist() resident as well, because gicv3_cpu_init()
reuses it on secondary CPU bring-up after init.

Tested using Xen's non-boot CPU disable/enable path on Arm
FVP_Base_RevC-2xAEMvA, both with and without:
-C gic_distributor.allow-LPIEN-clear=1
-C gic_distributor.GICR-clear-enable-supported=1
and on Orange Pi 5.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes in v10:
- Drop unrelated gicv3_populate_rdist() printk() format cleanups to keep
  the patch focused on retained redistributor LPI state.

Changes in v9:
- move gicv3_do_wait_for_rwp prototype from its related header to gic.h
- drop __init from gicv3_populate_rdist(), which is reused on secondary
  CPU bring-up after boot
- changed print format for smp_processor_id in gicv3_populate_rdist func
- cosmetic changes
---
 xen/arch/arm/gic-v3-lpi.c      | 77 +++++++++++++++++++++++++++++++++-
 xen/arch/arm/gic-v3.c          | 15 ++++---
 xen/arch/arm/include/asm/gic.h |  4 ++
 3 files changed, 90 insertions(+), 6 deletions(-)

diff --git a/xen/arch/arm/gic-v3-lpi.c b/xen/arch/arm/gic-v3-lpi.c
index 9ee338edc2..847da26ff7 100644
--- a/xen/arch/arm/gic-v3-lpi.c
+++ b/xen/arch/arm/gic-v3-lpi.c
@@ -81,6 +81,13 @@ static DEFINE_PER_CPU(struct lpi_redist_data, lpi_redist);
 #define MAX_NR_HOST_LPIS   (lpi_data.max_host_lpi_ids - LPI_OFFSET)
 #define HOST_LPIS_PER_PAGE      (PAGE_SIZE / sizeof(union host_lpi))
 
+#define GICR_PROPBASER_XEN_MASK  GENMASK_ULL(51, 12)
+/*
+ * For retained redistributor state, match the pending table by address only.
+ * Attribute bits such as PTZ may not read back with the programmed value.
+ */
+#define GICR_PENDBASER_XEN_MASK  GENMASK_ULL(51, 16)
+
 static union host_lpi *gic_get_host_lpi(uint32_t plpi)
 {
     union host_lpi *block;
@@ -296,6 +303,60 @@ static int gicv3_lpi_set_pendtable(void __iomem *rdist_base)
     return 0;
 }
 
+static uint64_t gicv3_lpi_expected_proptable(void)
+{
+    return virt_to_maddr(lpi_data.lpi_property);
+}
+
+static uint64_t gicv3_lpi_expected_pendtable(void)
+{
+    return virt_to_maddr(this_cpu(lpi_redist).pending_table);
+}
+
+static bool gicv3_lpi_tables_match(void __iomem *rdist_base)
+{
+    uint64_t propbase, pendbase;
+
+    if ( !lpi_data.lpi_property || !this_cpu(lpi_redist).pending_table )
+        return false;
+
+    propbase = readq_relaxed(rdist_base + GICR_PROPBASER);
+    pendbase = readq_relaxed(rdist_base + GICR_PENDBASER);
+
+    return ((propbase & GICR_PROPBASER_XEN_MASK) ==
+            (gicv3_lpi_expected_proptable() & GICR_PROPBASER_XEN_MASK)) &&
+           ((pendbase & GICR_PENDBASER_XEN_MASK) ==
+            (gicv3_lpi_expected_pendtable() & GICR_PENDBASER_XEN_MASK));
+}
+
+static int gicv3_lpi_disable_lpis(void __iomem *rdist_base)
+{
+    uint32_t reg = readl_relaxed(rdist_base + GICR_CTLR);
+    int ret;
+
+    if ( !(reg & GICR_CTLR_ENABLE_LPIS) )
+        return 0;
+
+    writel_relaxed(reg & ~GICR_CTLR_ENABLE_LPIS, rdist_base + GICR_CTLR);
+
+    /*
+     * The spec only guarantees programmability when we have observed the bit
+     * cleared. Where clearing is supported, RWP must reach 0 before touching
+     * PROPBASER/PENDBASER again.
+     */
+    wmb();
+
+    ret = gicv3_do_wait_for_rwp(rdist_base, GICR_CTLR_RWP);
+    if ( ret )
+        return ret;
+
+    reg = readl_relaxed(rdist_base + GICR_CTLR);
+    if ( reg & GICR_CTLR_ENABLE_LPIS )
+        return -EBUSY;
+
+    return 0;
+}
+
 /*
  * Tell a redistributor about the (shared) property table, allocating one
  * if not already done.
@@ -374,7 +435,21 @@ int gicv3_lpi_init_rdist(void __iomem * rdist_base)
     /* Make sure LPIs are disabled before setting up the tables. */
     reg = readl_relaxed(rdist_base + GICR_CTLR);
     if ( reg & GICR_CTLR_ENABLE_LPIS )
-        return -EBUSY;
+    {
+        if ( gicv3_lpi_tables_match(rdist_base) )
+            return -EBUSY;
+
+        ret = gicv3_lpi_disable_lpis(rdist_base);
+        if ( ret == -EBUSY )
+        {
+            printk(XENLOG_ERR
+                   "GICv3: CPU%u: LPIs still enabled with unexpected redistributor tables\n",
+                   smp_processor_id());
+            return -EINVAL;
+        }
+        if ( ret )
+            return ret;
+    }
 
     ret = gicv3_lpi_set_pendtable(rdist_base);
     if ( ret )
diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index 17ff85ef5d..cae4ec28a1 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -275,7 +275,7 @@ static void gicv3_enable_sre(void)
 }
 
 /* Wait for completion of a distributor/redistributor change */
-static void gicv3_do_wait_for_rwp(void __iomem *base, uint32_t rwp_bit)
+int gicv3_do_wait_for_rwp(void __iomem *base, uint32_t rwp_bit)
 {
     uint32_t val;
     bool timeout = false;
@@ -299,17 +299,22 @@ static void gicv3_do_wait_for_rwp(void __iomem *base, uint32_t rwp_bit)
     } while ( 1 );
 
     if ( timeout )
+    {
         dprintk(XENLOG_ERR, "RWP timeout\n");
+        return -ETIMEDOUT;
+    }
+
+    return 0;
 }
 
 static void gicv3_dist_wait_for_rwp(void)
 {
-    gicv3_do_wait_for_rwp(GICD, GICD_CTLR_RWP);
+    (void)gicv3_do_wait_for_rwp(GICD, GICD_CTLR_RWP);
 }
 
 static void gicv3_redist_wait_for_rwp(void)
 {
-    gicv3_do_wait_for_rwp(GICD_RDIST_BASE, GICR_CTLR_RWP);
+    (void)gicv3_do_wait_for_rwp(GICD_RDIST_BASE, GICR_CTLR_RWP);
 }
 
 static void gicv3_wait_for_rwp(int irq)
@@ -866,7 +871,7 @@ static bool gicv3_enable_lpis(void)
     return true;
 }
 
-static int __init gicv3_populate_rdist(void)
+static int gicv3_populate_rdist(void)
 {
     int i;
     uint32_t aff;
@@ -934,7 +939,7 @@ static int __init gicv3_populate_rdist(void)
                     gicv3_set_redist_address(rdist_addr, procnum);
 
                     ret = gicv3_lpi_init_rdist(ptr);
-                    if ( ret && ret != -ENODEV )
+                    if ( ret && ret != -ENODEV && ret != -EBUSY )
                     {
                         printk("GICv3: CPU%d: Cannot initialize LPIs: %u\n",
                                smp_processor_id(), ret);
diff --git a/xen/arch/arm/include/asm/gic.h b/xen/arch/arm/include/asm/gic.h
index fbf0d69edd..84e146b832 100644
--- a/xen/arch/arm/include/asm/gic.h
+++ b/xen/arch/arm/include/asm/gic.h
@@ -301,6 +301,10 @@ 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_GICV3
+int gicv3_do_wait_for_rwp(void __iomem *base, uint32_t rwp_bit);
+#endif
+
 #ifdef CONFIG_SYSTEM_SUSPEND
 /* Suspend/resume */
 extern int gic_suspend(void);
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 12:47:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 12:47:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334255.1597343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXIKm-0001Le-Lm; Wed, 10 Jun 2026 12:47:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334255.1597343; Wed, 10 Jun 2026 12:47: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 1wXIKm-0001L2-HC; Wed, 10 Jun 2026 12:47:04 +0000
Received: by outflank-mailman (input) for mailman id 1334255;
 Wed, 10 Jun 2026 12:45:15 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Mykola_Kvach@epam.com>) id 1wXIJ0-00018L-Rp
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 12:45:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXIJ0-007rhd-1Y
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 14:45:14 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c4f-2eae-0a2a0a5409dd-0a2a4508b56c-36
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:13 +0200
Received: from [52.101.66.72]
 (helo=DUZPR83CU001.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c59-63b5-0a2a45080019-3465424806ab-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:13 +0200
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com (2603:10a6:20b:61d::18)
 by DB9PR03MB7706.eurprd03.prod.outlook.com (2603:10a6:10:2c8::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Wed, 10 Jun
 2026 12:45:11 +0000
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7]) by AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7%4]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 12:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=CAzuTfeSUc4P/MiEmlPkECyD1hNXFpooh5GYiiQnkDUtJbhTbZBLTsW6J7EOyxqSChJkuzt9DUDOWs322E+LcjKM/PE7nnc0bPTsBgtvE5M2EA1Lz/4zjFt+ZREnQ5QghnzUgwjTGNEUQyxOgN4Jlur38oXcyXkVQKXv61AiVUkSccRmrectw7nZg2TeDFRQnmR93joU06N3SVAtl4M5o35JPfhlj9jtrVVWAMvPkv753h8f8tFuQ9Ynidhic76Tzah6vOWGBxGfmPhmYoT7aG539pQOf0J2gIp9wjlg7rDjQtj1ViOcJKbNRv5Dkhh/8PUGdwdvQ5CHutp1mwgM6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=j/x0rT1oB7OVwr8zqPawvId6h6lac1Z+SScMfAw/LeE=;
 b=LRud86CaDjRzQQhiS9xFRq+bPjAkkx3mNjskn5gpyHKZVG0rz7upjlayGOG6EAmFOV4SSBlwMe/IuBKh+oYdWonmLpG1mraUCUPv9nkbrGLv02LBybHnGLIMhGDkxvBM+Wocv8+SL79XonnC28/a282nsYZmQWAsn6KSw333cZjSlUkiFghiHkx3KqoWy4d9UMm+yO7CdM1tOzJGuf/qernsCAtw3EcZdRdHiF4T87poHk5Eyr2RK0tT5cloqDDKJ7R5TYuVpMHqxaJOa6e9U+zBMbvvVGag/MEhSg0ms79LKzTdzEUkinFArDEAlKSGE38SewzfbE+amPNK/4xhtw==
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=j/x0rT1oB7OVwr8zqPawvId6h6lac1Z+SScMfAw/LeE=;
 b=JRqJ3b57fpOO8zntxFNyuZZNpqPONRlFbV+ycfMAZ++wvMNgwMqEbx6GENFKQ5AZ7N89g/hAxoVTxoEYMPjDjVfHa5BtcQ1KMFph8oCQtjAw5LWj0jGC/sEV5CAcWhzft6gEmzgBJ1JdREQflb5LQVvG/pT6i4M9i6KhEQRFBp+mgRA/daDheruitgEyD4pTlxT18zsLhozMolFHtrNUR8FhUzUQllu60GIXz5LAZ4F7aXLppnGcXBeXmzDMlE2XXUaB3i9C0DBB6GX91n/jQx60jM6FkwjmlyS9sEKpyuOmC6Jx7WSB4F1DAguScJdhr7seIvwpRmvWI0n12OSxUQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
From: Mykola Kvach <mykola_kvach@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@epam.com>,
	Mykola Kvach <xakep.amatop@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>,
	Julien Grall <jgrall@amazon.com>,
	Luca Fancellu <luca.fancellu@arm.com>
Subject: [PATCH v11 01/13] xen/arm: Add suspend and resume timer helpers
Date: Wed, 10 Jun 2026 15:44:21 +0300
Message-ID: <c6c326fd9a7e6fce44d97f332a8b5d815ffad841.1781084290.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1781084290.git.mykola_kvach@epam.com>
References: <cover.1781084290.git.mykola_kvach@epam.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: WA1P291CA0008.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:19::19) To AS8PR03MB9746.eurprd03.prod.outlook.com
 (2603:10a6:20b:61d::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9746:EE_|DB9PR03MB7706:EE_
X-MS-Office365-Filtering-Correlation-Id: 77c52398-2fef-4888-487d-08dec6ee1c87
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|1800799024|376014|366016|3023799007|56012099006|11063799006|18002099003|22082099003|6133799003;
X-Microsoft-Antispam-Message-Info:
	Ol+8jfu3EV6t1S9G7B7hocjuuZ+LxeWyanHXnFUqrJhjfA0iHbVuZ9iO+03WxNnRZPNvx1BvCL23RJ4H4uTulK+/AE59Z1vdo/dy22cEYw62F79GWPHmJ1n/oVCRNpst2T9+ptlfxGszPeitnKMIbZYeHVJHu90I18KrD07R2k1nxDEFa/PENGTquoW+zzgsHZ8UnUEuAZofqTilJAV0tBa2joKJ+XocbqUkUdkPyXRZnDwN5TPbmn3mF5Gi3YXzkV0RUt6jyOxdkFJ3dtQg+L7d1W5RfXtU4tmCG3T6taoVRKau/r7OalixVkSm+F8XJRU274IKunhrRuGe2R+3c3BAfk7B6MhmQKiKEIWiW2orjhZbOV3gZxiDpMUAeJhq0GJJvdJX5qzWX98OeYWx2yDyUHk70gGLoQkAzpo+ytxzOPcb7aMTolROlq1f6f4ZkrQoaA4ERTLnOuG6JN5YgDVw0GYC+v8jfDGsoZpzeD0fQrOtffVw7Nl1phnBA0Fx5rI33FRtF2l0UiVPCWhT3JY/KhZubrNyurfOsLhvgud8HMD1L0F2QqxKfXd62u303a0zo79eZDwp1PbGaMOnzd0M4oFbcmwfiyHm/iG6yMe3QSD0seSrUmgAzygproHAi4/2X2S7w+qoxKa+Cr2NmdMqpvQODnPR1y6KJreLDepObB+hPSnU1dq+Z6MTavoz
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9746.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(376014)(366016)(3023799007)(56012099006)(11063799006)(18002099003)(22082099003)(6133799003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?P+SVnulLqut7slHm0nXwtAdhWpljY9N+RSLhuyPRPPkZuBePuh2/Cjb3pHB1?=
 =?us-ascii?Q?xpI5H+MW7V/ZfolGbyPAPEaruiREe0spP/DKw1XHIp6txhtmhNtZCFd4JOL4?=
 =?us-ascii?Q?bAJ0OIeJEie/MCEHkV1UzKsWdQ/mAewaUiQkSms5evtzddCczSzNiBXH+12J?=
 =?us-ascii?Q?npQcO4YrgnXqNOMigcLUL6dBNqMIvGdARkSSXXbpHFLyQFEmxMnbfEoqHZnA?=
 =?us-ascii?Q?g50hSY/r5AnzKiJif1thMgYKAwjOIK8leEXppKq0am1B50xU4c1YpCHncokQ?=
 =?us-ascii?Q?6H6jRlGWro6s3g2bUCSyObhCw0IQ0Vq59FtVMjT/RIdm3a3phSi4u7b56sS+?=
 =?us-ascii?Q?dTsSbcNlAu3imFYj2B0cxr7t8kIbtJ9RQX0S+D4958kNgwSwq+6SyJdNQZ3T?=
 =?us-ascii?Q?m7A/FvOmrL2Z/QxntCyI2bRAogZYz00b+65DonNEjWVm9geUQu7/szCxl/Ji?=
 =?us-ascii?Q?x2+Rcled0WNWyH2AiLuaRrZ3IEoWaAhCV4P8DUo6y58vXZ2xNLHH8sQacgc0?=
 =?us-ascii?Q?RA23TPw5wYDU/EMHFOjKJP4C5ampaOOpk3oUxR3zKBSjElj3sTbVXuTeRRCr?=
 =?us-ascii?Q?sduaPX3ZmfcCuxajFv+GGQB4E/SKehZwgOXB6y+lTygyLA1KAJY2Q8JHtM0i?=
 =?us-ascii?Q?7d4aE6aE9hmiiRl/Zu6sU2nSGR7+NhEu5os5AX9x8mZSZeG7/6uowHmByxdx?=
 =?us-ascii?Q?u9lOIV3Hg/0z1GFOdbYnoxoYnTPQH1d8iKQA96mjL3SDE6DedLG0zrXyo8wl?=
 =?us-ascii?Q?IM/TEtOgdqUo4lUkBipJkNImv8M5a+wdcs1cIkRHpi7oA5gdHelzE2hLdUma?=
 =?us-ascii?Q?wdJfradrojLUo4IJarhSM3LW2R/k7WAb8Yb647SdPS7JnI0CZ5VAdmOOCuC0?=
 =?us-ascii?Q?LovHL+2nC7fQswe5CMC8feEPG5Ej6i5/Zebd1qlPysH7XZa5X71buA7fu0FB?=
 =?us-ascii?Q?fVUQwtAnl0oVkKbMWfeVt6uGJ3jfwtGPBebo0GNrubtwYCDOOPq0iBYwZk+j?=
 =?us-ascii?Q?3Gw4qooihYNyD3qfmY9oFFR29udfa2km/HT2Z9TekdLGhcpoATYxWtqMLK7A?=
 =?us-ascii?Q?4kyXOwwMRVGja3kNf/jnGbYv79QWy9hxz65B9wHRM9FgPoJUxg75/NHw/4FS?=
 =?us-ascii?Q?l/HiR4PXey6Bz3Ji6We1gdMVYlYl8iCtCYGtbLwToCgp/Vlie6+7Hvftenrf?=
 =?us-ascii?Q?neg2VZZFkNRBxr4a8VDm+1bBRWUh2tREz9m5fOHX1WQKsMFpUVEGS0mXJzGu?=
 =?us-ascii?Q?bxsfyED1SmV5wNGxtQozDdb1ZDHvfCaNez7fvRZII+b7CTwh//TnLO+507sL?=
 =?us-ascii?Q?8NoSf7O7e4TxW+ZBFbDUxmBQS2wfrgrnvSiERndaFaGvEdq8Tvbvpf5bWgm7?=
 =?us-ascii?Q?WjDFJSkD6OccLXXq6/o7Ky5gtERKs0yyG/FYcaiPmK4KfUkyWkhN2NEijJ2H?=
 =?us-ascii?Q?CiC+zoRV/lHhZbCYv2NhU/NPaDnpm17cto843O8HRSTUJAQyjjlOCZ0/Q+rS?=
 =?us-ascii?Q?aB0KsGpSOd32OS0fbEe9qzqglRrTY2mTAWwjySFEPyVrGLnAEWtf+TYa8Fu0?=
 =?us-ascii?Q?DCzrp5Z6kqIfSVurVPcM23bMC/Bfrpz/7JBfuS6lM8xytVCr9jJqW4uadj2h?=
 =?us-ascii?Q?fAcnwpOhn9042Xz/5/eO64RIMbZUA9lYg6gBWHPXlV7V2kUzP5jlEkEla8Q5?=
 =?us-ascii?Q?7VI3PyLODFOdrD14YqgyZXGaAz8wlNVkj8eMQLtCEL/LqRRa9HJRXhaokHLp?=
 =?us-ascii?Q?3LFbaaKnAw=3D=3D?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 77c52398-2fef-4888-487d-08dec6ee1c87
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9746.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 12:45:11.7839
 (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: DB721hZWBwKcinEDQskQE576MKSSHCTw/61XlPMljuAPqkBqPcT+e8BqRoZGDEDw01vZaVcoPvZLLyJljSDnXQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR03MB7706
X-purgate-ID: tlsNG-c1860d/1781095513-BCB64DB1-9DF22876/0/0
X-purgate-type: clean
X-purgate-size: 5064

From: Mirela Simonovic <mirela.simonovic@aggios.com>

Timer interrupts must be disabled while the system is suspended to prevent
spurious wake-ups. Suspending timers in Xen consists of disabling the
physical timer and the hypervisor timer on the current CPU. The virtual
timer does not need explicit handling here, as it is already disabled on
vCPU context switch and its state is restored per-vCPU on the next context
restore.

Resuming consists of raising TIMER_SOFTIRQ, which prompts the generic
timer code to reprogram the hypervisor timer with the correct timeout.

Xen does not use or expose the physical timer, so it remains disabled
across suspend/resume.

Introduce a new helper, disable_phys_hyp_timers(), to encapsulate disabling
of the physical and hypervisor timers.

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>
Acked-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes in V7:
  - Dropped EL1/EL2 wording; use "physical timer" and "hypervisor timer"
  - Renamed helper to disable_phys_hyp_timers() to reflect its actual scope
  - Clarified virtual timer handling (disabled on vCPU switch-out, restored
    on context restore) and added comments in suspend/resume paths
  - Added resume comment explaining which timers are restored by
    TIMER_SOFTIRQ
---
 xen/arch/arm/include/asm/time.h |  5 ++++
 xen/arch/arm/time.c             | 44 ++++++++++++++++++++++++++++-----
 2 files changed, 43 insertions(+), 6 deletions(-)

diff --git a/xen/arch/arm/include/asm/time.h b/xen/arch/arm/include/asm/time.h
index c194dbb9f5..9313b157ea 100644
--- a/xen/arch/arm/include/asm/time.h
+++ b/xen/arch/arm/include/asm/time.h
@@ -105,6 +105,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 6955b2788f..fff8e4aca6 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -296,6 +296,14 @@ static void check_timer_irq_cfg(unsigned int irq, const char *which)
 static DEFINE_PER_CPU_READ_MOSTLY(struct irqaction, irq_hyp);
 static DEFINE_PER_CPU_READ_MOSTLY(struct irqaction, irq_virt);
 
+/* Disable physical and hypervisor timers on the current CPU */
+static inline void disable_phys_hyp_timers(void)
+{
+    WRITE_SYSREG(0, CNTP_CTL_EL0);    /* Physical timer disabled */
+    WRITE_SYSREG(0, CNTHP_CTL_EL2);   /* Hypervisor's timer disabled */
+    isb();
+}
+
 /* Set up the timer interrupt on this CPU */
 void init_timer_interrupt(void)
 {
@@ -306,9 +314,7 @@ void init_timer_interrupt(void)
     WRITE_SYSREG64(0, CNTVOFF_EL2);     /* No VM-specific offset */
     /* Do not let the VMs program the physical timer, only read the physical counter */
     WRITE_SYSREG(CNTHCTL_EL2_EL1PCTEN, CNTHCTL_EL2);
-    WRITE_SYSREG(0, CNTP_CTL_EL0);    /* Physical timer disabled */
-    WRITE_SYSREG(0, CNTHP_CTL_EL2);   /* Hypervisor's timer disabled */
-    isb();
+    disable_phys_hyp_timers();
 
     hyp_action->name = "hyptimer";
     hyp_action->handler = htimer_interrupt;
@@ -333,9 +339,7 @@ void init_timer_interrupt(void)
  */
 static void deinit_timer_interrupt(void)
 {
-    WRITE_SYSREG(0, CNTP_CTL_EL0);    /* Disable physical timer */
-    WRITE_SYSREG(0, CNTHP_CTL_EL2);   /* Disable hypervisor's timer */
-    isb();
+    disable_phys_hyp_timers();
 
     release_irq(timer_irq[TIMER_HYP_PPI], NULL);
     release_irq(timer_irq[TIMER_VIRT_PPI], NULL);
@@ -375,6 +379,34 @@ 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)
+{
+    /* CNTV already disabled by virt_timer_save() during vcpu context switch. */
+    disable_phys_hyp_timers();
+}
+
+void time_resume(void)
+{
+    /*
+     * Raising TIMER_SOFTIRQ triggers generic timer code to reprogram the
+     * hypervisor timer with the correct timeout (not known here).
+     *
+     * Xen doesn't use or expose the physical timer, so it remains disabled
+     * across suspend/resume.
+     *
+     * The virtual timer state is restored per-vCPU on the next context switch.
+     *
+     * No further action is needed to restore timekeeping after power down,
+     * since the system counter is unaffected. See ARM DDI 0487 L.a, D12.1.2
+     * "The system counter must be implemented in an always-on power domain."
+     */
+    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 Jun 10 12:47:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 12:47:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334262.1597360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXIKn-0001cm-H3; Wed, 10 Jun 2026 12:47:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334262.1597360; Wed, 10 Jun 2026 12:47: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 1wXIKn-0001bO-8d; Wed, 10 Jun 2026 12:47:05 +0000
Received: by outflank-mailman (input) for mailman id 1334262;
 Wed, 10 Jun 2026 12:45:26 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Mykola_Kvach@epam.com>) id 1wXIJC-0001BR-FD
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 12:45:26 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXIJB-007rkt-SI
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 14:45:25 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c63-e002-0a2a0a5209dd-0a2a4509d228-14
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:25 +0200
Received: from [52.101.83.85]
 (helo=GVXPR05CU001.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c64-2497-0a2a45090019-3465535525e5-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:25 +0200
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com (2603:10a6:20b:61d::18)
 by AM9PR03MB7558.eurprd03.prod.outlook.com (2603:10a6:20b:415::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Wed, 10 Jun
 2026 12:45:22 +0000
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7]) by AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7%4]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 12:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qy4btD1g19thg/5ndVWseDM7RDshRK1JCBA7zwZujGtdEJRN7Fz59HX4jvgUaFZlDp2rda4/ves/k9N34bbzVuBmy/HwXmU+uO0Ar98ZRem1e+V1p+8poJtFQPKH5wK/EO5zDhowoUtiUOoaOLiLT9uXXTbQ9ms9I0EUTkPLLg/y+gRlyFHzChM6fRlRXH7XVqoWSs6l5cpqfwGY6vwktpq+9n24XNuh7gcpXPN8MPC2XtE97/DDkwXsJEyCeiD+STjkInDRfMESFSM5B9kIdEQsXfNm0ch52botRrDi/9OcNcUR+Su4wYLY/4YR92fP97OYaolOn065twiNopjZjw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dh3U6cg6sHHug97rKagQGLrX6CLgD+gnss748WpNxZQ=;
 b=QPiyIhKJiqhxJEK3o/SeEcpBPEOmEqmp7qBFrvn4WT1jSixx3jt/jhxV9W7LY8/9VOpCvTEH4/ADl6ovx8wA52yWR4JgtMAPXWaqyw37j0htcwZ9QXkkDF7SvKuCmSR5LGqbnduQJn1Sj/HfT10TiWNZM/8BWV/T/RjHT7/TUCH1umpx86WEeg2r+roGqs3I92X75kN5Z3hgsKUhKFnZ3YNK9oCiiuSAjiQMk9cbFZpyJQdWDqMvAuo7kBFWsl6kybBypoYjmMYtkhUi2aIPoVFIdlPnbm08bnTQEapV4gD7VjkwC2dtky0weMrsaArDdiHQPLQ1/kK/1pryNkR+sw==
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=dh3U6cg6sHHug97rKagQGLrX6CLgD+gnss748WpNxZQ=;
 b=IB7KvO2sIvl96NC4E3kvRZwIg5d2te25hE/I5Y/4J3AgoQkGyFT/kJ7YdCmNyg0jTNpvm33ZWtyRJf9FEdgeskv/i4woJiqIRH5TWVx5coXhdMLjZyYFK5DM2j4uhkWK92rdTo/e4OAXegqZ4fzJOhqMcFiSLKCpp+XfqShQdzhWy2Kx3VDJspUEjZ8nEyH0hJYJD7T8PAxlb0XIpx5jFzmOmX4Bvq3CwnIk1AjnBjA41Ak7eDiWqFEXT/RBgweKe8IsfEjmSfBQznp8Oz321b3dsuEPiJczLHyPZkAHULWRwtz14O8KQLEN4iSzR2veKPJKB19oXRuuYV7gfeTjNw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
From: Mykola Kvach <mykola_kvach@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@epam.com>,
	Mykola Kvach <xakep.amatop@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>,
	Luca Fancellu <luca.fancellu@arm.com>
Subject: [PATCH v11 04/13] xen/arm: gic-v3: Implement GICv3 suspend/resume functions
Date: Wed, 10 Jun 2026 15:44:24 +0300
Message-ID: <51618361a911b527c1aaa4ab6a96bd1bd2239006.1781084290.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1781084290.git.mykola_kvach@epam.com>
References: <cover.1781084290.git.mykola_kvach@epam.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: WA1P291CA0008.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:19::19) To AS8PR03MB9746.eurprd03.prod.outlook.com
 (2603:10a6:20b:61d::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9746:EE_|AM9PR03MB7558:EE_
X-MS-Office365-Filtering-Correlation-Id: ca39d394-72d2-4762-4d76-08dec6ee22ea
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|366016|1800799024|376014|56012099006|11063799006|5023799004|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	58OIdrEZlRntCfwn5jBxKsoFpmLtkg4ySRJIZZjWAg+OayzHu0D3IvqsL1qsx1DaLcPIDgq5Tt1UgseHdOua8RSrA84EZFp1wOqK8HS1ANny71S69k4TezP9E7UoYtR0clDX4cISoQW5w6vVDAt81FijF4VbWhpIf50aUcNuN3IRFAIAkymgsppph2YSlDDFoKRu1xPG1EYAz9GMAgCjEdJ0rcXMKAkj69ZvDH5FdPEYt1zwJWgk/AKUpUw7fOxWmnRiKhhPKSSeimV0DSuo9uws8lU9hy61qKIdrjG7Pi0bkuJIyH/NwDgc2hyoYlUEUq++0lhKbpKPUKm9d24wjzZmz51tL9ps4cSs0pD6x/5LYbhzgha5fTNiqOQIeX9RfgZIwJaRBD1yRwEdu7OsYVNFF/AZC4C/4FF1tnVXw3aPmxk6Dddm7YhIwJVX4kIG8jnYT1lkN7jiEVeEzL7/8RpBdW1NA3seLNV/eROOUCWhLRgk7pwtO+E7mwi4IrdKt7p3T+7QAYg6LBD13cVFxAqCJ2KA87nCjG/sOCNSteB6HGNLfsuNBtkpXYUJRHe75HcKtF8SX2AMtAZN6PkTL8BKmIrscL7jml50ubMUCX5sQBlPJ4tKF95izTJ4KvCUQZ5arZTscpikeWCryI2nchi6XDP4G2687OlfI+iYm4Qhj4pPWFSvJJO2c7Fme9lP
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9746.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(366016)(1800799024)(376014)(56012099006)(11063799006)(5023799004)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?iUP2L6+IoMutcS9Uq/hrcM6wAIGfQ/ck+U7znda4iobeP90rjFonrTdwsVNo?=
 =?us-ascii?Q?uyB3woarOW0hykaYhtJ3wFUxj3gIRGYcAIVHDbc+r2cvjXo6lhHRzg6o5KUG?=
 =?us-ascii?Q?69NF9gWYilrXoWNFcGT2G3yNF13G473TIjLLSLt6XcFhHHm2m1SGdf3lwGNs?=
 =?us-ascii?Q?mg0tTHAZvGZv3SyehPpvo0VozfSi7BRnPDSz2hJD0RdYMNp1Yl6BexUYw+JT?=
 =?us-ascii?Q?I8twd/GLD7zxT5DRpangoy+vH1tfAAMThXtwcKvNVqzZ6hrYnHQbH3sCUByN?=
 =?us-ascii?Q?dOQDsQ84U9kk/rF9Niz1WukV6eFmRPAoKRfcv+iBQzFcTpSGxyeHLwY3apjP?=
 =?us-ascii?Q?kzIOMRnMQ+FJfxR/3pBvtCasZj0lVMps/cjT8itBqN1uC6Y0PlPl6FZXL7rC?=
 =?us-ascii?Q?lXTlSx3hDUC15PaYp2/I4UUJ3Jf3nD0o0ZoM3VjhoY90i3j/tGK+qqDfg8U2?=
 =?us-ascii?Q?0PLmqSy8MloEwK7jgkjfRhJ1YhPbBKEZzAseaJ6vBuAfs8hsUNd3VkaMy0M1?=
 =?us-ascii?Q?PJb0RjRoy1lf5bH6WHHgs2dyRNrytp807nisIG20uBwA0tJ/cNjugQBLncwi?=
 =?us-ascii?Q?T0LR7/oeXhEoff3n/hiEE3wKgQ+9pwqMxrXsHOHfYuE2oUJeO+HikXSvCLCs?=
 =?us-ascii?Q?JhWLsaGGnTg5uA3YaKx4deCPOsCb1mpmAyvaZCTGJKGf0FyfgcqINgKMByS9?=
 =?us-ascii?Q?UOY7aRlFK7h/gHVa6MRdTvmZNveanzY1kizZU8Tid7l5Mb9X4aedp1B2SQyk?=
 =?us-ascii?Q?xMYjb2PfZAsDr9MnIKNxWXJIrr0e62PrrY8XD5KatRTnHtn8wS20Blvl9eUo?=
 =?us-ascii?Q?ONaEzXK59eslWeNKgizREJUZ5LdPPvS9tO3tkabbQuUf5wnJtUJqgiPC0++e?=
 =?us-ascii?Q?tAp4y5MYKdtre681+Fl/jwpuKWdMu65v9b/eQYBt3WSi6WbhdRM8CUa/oZFc?=
 =?us-ascii?Q?86MLhYWdhOzZZQxyStUclDloivesZlqjj0tr4/W88axidSC7KML1J0N5lxKW?=
 =?us-ascii?Q?R+8VxPtpiY8pZJWcar5qzV2QDzKNBPOJUFEfIkPUbogGK+lwSzPv0e01Myt4?=
 =?us-ascii?Q?PenRWBnScoDUWUtSVNplg43fqBMpolSeWPpl4Kdrkcw5PdvITBe8I+pWplmV?=
 =?us-ascii?Q?4of3Bs6ZAtjQPEc2CS6I5F4K4gVAgYK2xbiM+vnKg7FEsrRN2Payjy8WfWcw?=
 =?us-ascii?Q?zm9U4TscHjVT3KnrekQr85NgJkxN31iP/24bDZL1cF8Ur2NlU3LjwR8OJmIk?=
 =?us-ascii?Q?AXoQKS+pLQK/zXF3nFF5Ue80ooRJH6tvzYO2XqobZJiGmH3i/aHSEird02SP?=
 =?us-ascii?Q?fiCWRXrRVPpGtFKBf+l/m9swLqHfyqunS2qJKSuWaOqsEsD7KU3OTImG4KQy?=
 =?us-ascii?Q?VSsqRG9mfo0AL+C82i5o2FyeGYxSaDtuVnstbPOEtyvAg/oSjPzdredcziq9?=
 =?us-ascii?Q?Ewb5mW/rRiEhx9MtWs7e7Ec7aUjzUUH0zcss5V0WRF1R0fIynuptdw6TsqBs?=
 =?us-ascii?Q?JhOZR2OTMsQ6OTqjKQQ1Kk4BTf86ssKozAiMs+4i4s31t+0YKQ5FRHEq1KaZ?=
 =?us-ascii?Q?yFjpxTzvoTpcmnEXCEB6q0gfGt3BgUaOvIWc4KiufrqmnhGBJxskKAbC3HzU?=
 =?us-ascii?Q?mtH+7bYxo+Yf3FrkH4mOizHsoiTS3xR9XeTjze8NWw9OZm9o6WjUeeaf3u3W?=
 =?us-ascii?Q?i3nRFZ8cNNvegnaErGQrbo+pF5tLiiJNdq4nL6Dmfd8ZmeC3PBhrsA0SGiKy?=
 =?us-ascii?Q?EiXSr0+zaQ=3D=3D?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ca39d394-72d2-4762-4d76-08dec6ee22ea
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9746.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 12:45:22.5409
 (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: wLVB+1Yulgb/KqEtY2vH0zFW2aaaTaAqvXuI94XGybV51R5ItDrm5n9zf3bpPzYezK32L0OXVsh9IOpIsUtH9A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7558
X-purgate-ID: tlsNG-bad1c0/1781095525-4015DA53-57EBD25A/0/0
X-purgate-type: clean
X-purgate-size: 21035

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.

Before continuing suspend, also verify that the physical CPU interface
has no Group 1 active-priority state left. Use ICC_CTLR_EL1.PRIbits to
decide which ICC_AP1R<n>_EL1 registers are implemented, so Xen does not
read an unimplemented AP1R register.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes in V10:
- abort suspend when the physical Group 1 active-priority state is still
  present, deriving accessible ICC_AP1R<n>_EL1 registers from
  ICC_CTLR_EL1.PRIbits;
- re-enable the redistributor before restoring CPU and virtual interface
  state on the suspend abort path;
- panic if the redistributor cannot be re-enabled on the suspend abort path;
- avoid saving/restoring reserved GICD_IPRIORITYR and GICD_IROUTER entries
  for a partially populated last SPI block;
- disable Distributor group forwarding while preserving affinity routing
  state before restoring Distributor configuration;
- disable SPI/eSPI forwarding and wait for RWP before restoring
  GICD_ICFGR<n>.Int_config.

Changes in V9:
- fix the suspend-context comment typo and split dist_ctx declarations;
- restore ICC_IGRPEN1_EL1 on the suspend error path;
- re-initialize GICD_IGROUPRnE during resume;
- restore GICD_IROUTER only after re-enabling ARE_NS during resume.

Changes in V8:
- use right rdist base for prop/pend baser and ctrl

Changes in V7:
- restore LPI regs on resume
- add timeout during redist disabling
- squash with suspend/resume handling for GICv3 eSPI registers
- drop ITS guard paths so suspend/resume always runs; switch missing ctx
  allocation to panic
- trim TODO comments; narrow redistributor storage to PPI icfgr
- keep distributor context allocation even without ITS; adjust resume
  to use GENMASK(31, 0) for clearing enables
- drop storage of the SGI configuration register, as SGIs are always
  edge-triggered
---
 xen/arch/arm/gic-v3-lpi.c                |   3 +
 xen/arch/arm/gic-v3.c                    | 458 ++++++++++++++++++++++-
 xen/arch/arm/include/asm/arm64/sysregs.h |   5 +
 xen/arch/arm/include/asm/gic_v3_defs.h   |   3 +
 4 files changed, 466 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/gic-v3-lpi.c b/xen/arch/arm/gic-v3-lpi.c
index 847da26ff7..a63c8c4979 100644
--- a/xen/arch/arm/gic-v3-lpi.c
+++ b/xen/arch/arm/gic-v3-lpi.c
@@ -467,6 +467,9 @@ static int cpu_callback(struct notifier_block *nfb, unsigned long action,
     switch ( action )
     {
     case CPU_UP_PREPARE:
+        if ( system_state == SYS_STATE_resume )
+            break;
+
         rc = gicv3_lpi_allocate_pendtable(cpu);
         if ( rc )
             printk(XENLOG_ERR "Unable to allocate the pendtable for CPU%lu\n",
diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index cae4ec28a1..be223dd915 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -1081,12 +1081,12 @@ out:
     return res;
 }
 
-static void gicv3_hyp_disable(void)
+static void gicv3_hyp_enable(bool enable)
 {
     register_t hcr;
 
     hcr = READ_SYSREG(ICH_HCR_EL2);
-    hcr &= ~GICH_HCR_EN;
+    hcr = enable ? (hcr | GICH_HCR_EN) : (hcr & ~GICH_HCR_EN);
     WRITE_SYSREG(hcr, ICH_HCR_EL2);
     isb();
 }
@@ -1193,7 +1193,7 @@ static void gicv3_disable_interface(void)
     spin_lock(&gicv3.lock);
 
     gicv3_cpu_disable();
-    gicv3_hyp_disable();
+    gicv3_hyp_enable(false);
 
     spin_unlock(&gicv3.lock);
 }
@@ -1929,6 +1929,450 @@ static bool gic_dist_supports_lpis(void)
     return (readl_relaxed(GICD + GICD_TYPER) & GICD_TYPE_LPIS);
 }
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+
+/* This struct represents a block of 32 IRQs */
+struct dist_irq_block {
+    uint32_t icfgr[2];
+    uint32_t ipriorityr[8];
+    uint64_t irouter[32];
+    uint32_t isactiver;
+    uint32_t isenabler;
+};
+
+struct redist_ctx {
+    uint32_t ctlr;
+    uint32_t icfgr; /* only PPIs stored */
+    uint32_t igroupr;
+    uint32_t ipriorityr[8];
+    uint32_t isactiver;
+    uint32_t isenabler;
+
+    uint64_t pendbase;
+    uint64_t propbase;
+};
+
+/* GICv3 registers to be saved/restored on system suspend/resume */
+struct gicv3_ctx {
+    struct dist_ctx {
+        uint32_t ctlr;
+        struct dist_irq_block *irqs;
+        struct dist_irq_block *espi_irqs;
+    } dist;
+
+    /* have only one rdist structure for last running CPU during suspend */
+    struct redist_ctx rdist;
+
+    struct cpu_ctx {
+        uint32_t ctlr;
+        uint32_t pmr;
+        uint32_t bpr;
+        uint32_t sre_el2;
+        uint32_t grpen;
+    } cpu;
+};
+
+static struct gicv3_ctx gicv3_ctx;
+
+static void __init gicv3_alloc_context(void)
+{
+    uint32_t blocks = DIV_ROUND_UP(gicv3_info.nr_lines, 32);
+
+    /* The spec allows for systems without any SPIs */
+    if ( blocks > 1 )
+    {
+        gicv3_ctx.dist.irqs = xzalloc_array(struct dist_irq_block, blocks - 1);
+        if ( !gicv3_ctx.dist.irqs )
+            panic("Failed to allocate memory for GICv3 suspend context\n");
+    }
+
+#ifdef CONFIG_GICV3_ESPI
+    if ( !gic_number_espis() )
+        return;
+
+    blocks = gic_number_espis() / 32;
+    gicv3_ctx.dist.espi_irqs = xzalloc_array(struct dist_irq_block, blocks);
+    if ( !gicv3_ctx.dist.espi_irqs )
+        panic("Failed to allocate memory for GICv3 eSPI suspend context\n");
+#endif
+}
+
+static int gicv3_disable_redist(void)
+{
+    void __iomem *waker = GICD_RDIST_BASE + GICR_WAKER;
+    s_time_t deadline;
+
+    /*
+     * Avoid infinite loop if Non-secure does not have access to GICR_WAKER.
+     * See Arm IHI 0069H.b, 12.11.42 GICR_WAKER:
+     *     When GICD_CTLR.DS == 0 and an access is Non-secure accesses to this
+     *     register are RAZ/WI.
+     */
+    if ( !(readl_relaxed(GICD + GICD_CTLR) & GICD_CTLR_DS) )
+        return 0;
+
+    deadline = NOW() + MILLISECS(1000);
+
+    writel_relaxed(readl_relaxed(waker) | GICR_WAKER_ProcessorSleep, waker);
+    while ( (readl_relaxed(waker) & GICR_WAKER_ChildrenAsleep) == 0 )
+    {
+        if ( NOW() > deadline )
+        {
+            printk("GICv3: Timeout waiting for redistributor to sleep\n");
+            return -ETIMEDOUT;
+        }
+        cpu_relax();
+        udelay(10);
+    }
+
+    return 0;
+}
+
+#define GET_SPI_REG_OFFSET(name, is_espi) \
+    ((is_espi) ? GICD_##name##nE : GICD_##name)
+
+static void gicv3_store_spi_irq_block(struct dist_irq_block *irqs,
+                                      unsigned int i, unsigned int nr_irqs,
+                                      bool is_espi)
+{
+    void __iomem *base;
+    unsigned int irq, nr_priority_regs;
+
+    ASSERT(nr_irqs && nr_irqs <= 32);
+    nr_priority_regs = DIV_ROUND_UP(nr_irqs, 4);
+
+    base = GICD + GET_SPI_REG_OFFSET(ICFGR, is_espi) + i * sizeof(irqs->icfgr);
+    irqs->icfgr[0] = readl_relaxed(base);
+    irqs->icfgr[1] = readl_relaxed(base + 4);
+
+    base = GICD + GET_SPI_REG_OFFSET(IPRIORITYR, is_espi);
+    base += i * sizeof(irqs->ipriorityr);
+    for ( irq = 0; irq < nr_priority_regs; irq++ )
+        irqs->ipriorityr[irq] = readl_relaxed(base + 4 * irq);
+
+    base = GICD + GET_SPI_REG_OFFSET(IROUTER, is_espi);
+    base += i * sizeof(irqs->irouter);
+    for ( irq = 0; irq < nr_irqs; irq++ )
+        irqs->irouter[irq] = readq_relaxed_non_atomic(base + 8 * irq);
+
+    base = GICD + GET_SPI_REG_OFFSET(ISACTIVER, is_espi);
+    base += i * sizeof(irqs->isactiver);
+    irqs->isactiver = readl_relaxed(base);
+
+    base = GICD + GET_SPI_REG_OFFSET(ISENABLER, is_espi);
+    base += i * sizeof(irqs->isenabler);
+    irqs->isenabler = readl_relaxed(base);
+}
+
+static void gicv3_restore_spi_irq_config(struct dist_irq_block *irqs,
+                                         unsigned int i, unsigned int nr_irqs,
+                                         bool is_espi)
+{
+    void __iomem *base;
+    unsigned int irq, nr_priority_regs;
+
+    ASSERT(nr_irqs && nr_irqs <= 32);
+    nr_priority_regs = DIV_ROUND_UP(nr_irqs, 4);
+
+    base = GICD + GET_SPI_REG_OFFSET(ICFGR, is_espi) + i * sizeof(irqs->icfgr);
+    writel_relaxed(irqs->icfgr[0], base);
+    writel_relaxed(irqs->icfgr[1], base + 4);
+
+    base = GICD + GET_SPI_REG_OFFSET(IPRIORITYR, is_espi);
+    base += i * sizeof(irqs->ipriorityr);
+    for ( irq = 0; irq < nr_priority_regs; irq++ )
+        writel_relaxed(irqs->ipriorityr[irq], base + 4 * irq);
+}
+
+static void gicv3_restore_spi_irq_routing(struct dist_irq_block *irqs,
+                                          unsigned int i, unsigned int nr_irqs,
+                                          bool is_espi)
+{
+    void __iomem *base;
+    unsigned int irq;
+
+    ASSERT(nr_irqs && nr_irqs <= 32);
+
+    base = GICD + GET_SPI_REG_OFFSET(IROUTER, is_espi);
+    base += i * sizeof(irqs->irouter);
+    for ( irq = 0; irq < nr_irqs; irq++ )
+        writeq_relaxed_non_atomic(irqs->irouter[irq], base + 8 * irq);
+}
+
+static void gicv3_disable_spi_irq_block(unsigned int i, bool is_espi)
+{
+    void __iomem *base;
+
+    base = GICD + GET_SPI_REG_OFFSET(ICENABLER, is_espi) + i * 4;
+    writel_relaxed(GENMASK(31, 0), base);
+}
+
+static void gicv3_restore_spi_irq_state(struct dist_irq_block *irqs,
+                                        unsigned int i, bool is_espi)
+{
+    void __iomem *base;
+
+    base = GICD + GET_SPI_REG_OFFSET(ISENABLER, is_espi);
+    base += i * sizeof(irqs->isenabler);
+    writel_relaxed(irqs->isenabler, base);
+
+    base = GICD + GET_SPI_REG_OFFSET(ICACTIVER, is_espi) + i * 4;
+    writel_relaxed(GENMASK(31, 0), base);
+
+    base = GICD + GET_SPI_REG_OFFSET(ISACTIVER, is_espi);
+    base += i * sizeof(irqs->isactiver);
+    writel_relaxed(irqs->isactiver, base);
+}
+
+static int gicv3_check_ap1r(unsigned int n, register_t apr)
+{
+    if ( !apr )
+        return 0;
+
+    printk(XENLOG_ERR "GICv3: suspend aborted: ICC_AP1R%u_EL1=%#"
+           PRIregister"\n", n, apr);
+
+    return -EBUSY;
+}
+
+static int gicv3_check_active_priorities(register_t ctlr)
+{
+    unsigned int pribits = MASK_EXTR(ctlr, ICC_CTLR_EL1_PRIBITS_MASK) + 1;
+    int ret;
+
+    /*
+     * Xen enables physical Group 1 interrupts through ICC_IGRPEN1_EL1,
+     * so only the physical Group 1 active-priority registers are relevant
+     * here. Use ICC_CTLR_EL1.PRIbits for the physical CPU interface, not
+     * ICH_VTR_EL2, which describes the virtual interface. ICC_AP1R1_EL1 is
+     * only implemented with at least 6 physical priority bits, and
+     * ICC_AP1R2_EL1/ICC_AP1R3_EL1 with at least 7.
+     */
+    switch ( pribits )
+    {
+    case 8:
+    case 7:
+        ret = gicv3_check_ap1r(3, READ_SYSREG(ICC_AP1R3_EL1));
+        if ( ret )
+            return ret;
+        ret = gicv3_check_ap1r(2, READ_SYSREG(ICC_AP1R2_EL1));
+        if ( ret )
+            return ret;
+        /* Fall through */
+    case 6:
+        ret = gicv3_check_ap1r(1, READ_SYSREG(ICC_AP1R1_EL1));
+        if ( ret )
+            return ret;
+        /* Fall through */
+    default:
+        return gicv3_check_ap1r(0, READ_SYSREG(ICC_AP1R0_EL1));
+    }
+}
+
+static int gicv3_suspend(void)
+{
+    unsigned int i, nr_irqs;
+    void __iomem *base;
+    int ret;
+    struct redist_ctx *rdist = &gicv3_ctx.rdist;
+
+    /* Save GICC configuration */
+    gicv3_ctx.cpu.ctlr     = READ_SYSREG(ICC_CTLR_EL1);
+    gicv3_ctx.cpu.pmr      = READ_SYSREG(ICC_PMR_EL1);
+    gicv3_ctx.cpu.bpr      = READ_SYSREG(ICC_BPR1_EL1);
+    gicv3_ctx.cpu.sre_el2  = READ_SYSREG(ICC_SRE_EL2);
+    gicv3_ctx.cpu.grpen    = READ_SYSREG(ICC_IGRPEN1_EL1);
+
+    gicv3_disable_interface();
+
+    ret = gicv3_check_active_priorities(gicv3_ctx.cpu.ctlr);
+    if ( ret )
+        goto out_enable_iface;
+
+    ret = gicv3_disable_redist();
+    if ( ret )
+        goto out_enable_iface;
+
+    /* Save GICR configuration */
+    gicv3_redist_wait_for_rwp();
+
+    base = GICD_RDIST_BASE;
+
+    rdist->ctlr = readl_relaxed(base + GICR_CTLR);
+
+    rdist->propbase = readq_relaxed(base + GICR_PROPBASER);
+    rdist->pendbase = readq_relaxed(base + GICR_PENDBASER);
+
+    base = GICD_RDIST_SGI_BASE;
+
+    /* Save priority on PPI and SGI interrupts */
+    for ( i = 0; i < NR_GIC_LOCAL_IRQS / 4; i++ )
+        rdist->ipriorityr[i] = readl_relaxed(base + GICR_IPRIORITYR0 + 4 * i);
+
+    rdist->isactiver = readl_relaxed(base + GICR_ISACTIVER0);
+    rdist->isenabler = readl_relaxed(base + GICR_ISENABLER0);
+    rdist->igroupr   = readl_relaxed(base + GICR_IGROUPR0);
+    rdist->icfgr     = readl_relaxed(base + GICR_ICFGR1);
+
+    /* Save GICD configuration */
+    gicv3_dist_wait_for_rwp();
+    gicv3_ctx.dist.ctlr = readl_relaxed(GICD + GICD_CTLR);
+
+    for ( i = 1; i < DIV_ROUND_UP(gicv3_info.nr_lines, 32); i++ )
+    {
+        nr_irqs = min(32U, gicv3_info.nr_lines - i * 32);
+        gicv3_store_spi_irq_block(gicv3_ctx.dist.irqs + i - 1, i, nr_irqs,
+                                  false);
+    }
+
+#ifdef CONFIG_GICV3_ESPI
+    for ( i = 0; i < gic_number_espis() / 32; i++ )
+        gicv3_store_spi_irq_block(gicv3_ctx.dist.espi_irqs + i, i, 32, true);
+#endif
+
+    return 0;
+
+ out_enable_iface:
+    if ( gicv3_enable_redist() )
+        panic("GICv3: Failed to re-enable redistributor after suspend abort\n");
+
+    gicv3_hyp_enable(true);
+    WRITE_SYSREG(gicv3_ctx.cpu.grpen, ICC_IGRPEN1_EL1);
+    isb();
+
+    return ret;
+}
+
+static void gicv3_resume(void)
+{
+    int ret;
+    unsigned int i, nr_irqs;
+    uint32_t dist_ctlr;
+    void __iomem *base;
+    struct redist_ctx *rdist = &gicv3_ctx.rdist;
+
+    dist_ctlr = gicv3_ctx.dist.ctlr & GICD_CTLR_ARE_NS;
+
+    /* Disable group forwarding while preserving affinity routing state. */
+    writel_relaxed(dist_ctlr, GICD + GICD_CTLR);
+    gicv3_dist_wait_for_rwp();
+
+    /*
+     * IHI0069H.b 12.9.9 says changing GICD_ICFGR<n>.Int_config
+     * while the interrupt is individually enabled is UNPREDICTABLE.
+     * Disable SPIs first; 4.7.1 defines GICD_ICENABLER<n>, n > 0,
+     * as the per-SPI disable mechanism.
+     */
+    for ( i = 1; i < DIV_ROUND_UP(gicv3_info.nr_lines, 32); i++ )
+        gicv3_disable_spi_irq_block(i, false);
+
+#ifdef CONFIG_GICV3_ESPI
+    for ( i = 0; i < gic_number_espis() / 32; i++ )
+        gicv3_disable_spi_irq_block(i, true);
+#endif
+
+    gicv3_dist_wait_for_rwp();
+
+    for ( i = NR_GIC_LOCAL_IRQS; i < gicv3_info.nr_lines; i += 32 )
+        writel_relaxed(GENMASK(31, 0), GICD + GICD_IGROUPR + (i / 32) * 4);
+
+    for ( i = 1; i < DIV_ROUND_UP(gicv3_info.nr_lines, 32); i++ )
+    {
+        nr_irqs = min(32U, gicv3_info.nr_lines - i * 32);
+        gicv3_restore_spi_irq_config(gicv3_ctx.dist.irqs + i - 1, i, nr_irqs,
+                                     false);
+    }
+
+#ifdef CONFIG_GICV3_ESPI
+    for ( i = 0; i < gic_number_espis() / 32; i++ )
+    {
+        writel_relaxed(GENMASK(31, 0), GICD + GICD_IGROUPRnE + i * 4);
+        gicv3_restore_spi_irq_config(gicv3_ctx.dist.espi_irqs + i, i, 32,
+                                     true);
+    }
+#endif
+
+    if ( dist_ctlr )
+    {
+        for ( i = 1; i < DIV_ROUND_UP(gicv3_info.nr_lines, 32); i++ )
+        {
+            nr_irqs = min(32U, gicv3_info.nr_lines - i * 32);
+            gicv3_restore_spi_irq_routing(gicv3_ctx.dist.irqs + i - 1, i,
+                                          nr_irqs, false);
+        }
+
+#ifdef CONFIG_GICV3_ESPI
+        for ( i = 0; i < gic_number_espis() / 32; i++ )
+            gicv3_restore_spi_irq_routing(gicv3_ctx.dist.espi_irqs + i, i,
+                                          32, true);
+#endif
+    }
+
+    for ( i = 1; i < DIV_ROUND_UP(gicv3_info.nr_lines, 32); i++ )
+        gicv3_restore_spi_irq_state(gicv3_ctx.dist.irqs + i - 1, i, false);
+
+#ifdef CONFIG_GICV3_ESPI
+    for ( i = 0; i < gic_number_espis() / 32; i++ )
+        gicv3_restore_spi_irq_state(gicv3_ctx.dist.espi_irqs + i, i, true);
+#endif
+
+    writel_relaxed(gicv3_ctx.dist.ctlr, GICD + GICD_CTLR);
+    gicv3_dist_wait_for_rwp();
+
+    ret = gicv3_lpi_init_rdist(GICD_RDIST_BASE);
+    /*
+     * If LPIs are already enabled, assume firmware or the still-powered
+     * redistributor has valid PROPBASER/PENDBASER and skip reprogramming.
+     * Return -EBUSY so callers can ignore this case.
+     */
+    if ( ret && ret != -ENODEV && ret != -EBUSY )
+        panic("GICv3: Failed to re-initialize LPIs during resume\n");
+    else if ( ret == -EBUSY ) /* extra checks, just to be sure */
+    {
+        base = GICD_RDIST_BASE;
+        if ( readq_relaxed(base + GICR_PROPBASER) != rdist->propbase ||
+             readq_relaxed(base + GICR_PENDBASER) != rdist->pendbase )
+            panic("GICv3: LPIs already enabled with unexpected PROPBASER/PENDBASER during resume\n");
+    }
+
+    /* Restore GICR (Redistributor) configuration */
+    if ( gicv3_enable_redist() )
+        panic("GICv3: Failed to re-enable redistributor during resume\n");
+
+    base = GICD_RDIST_SGI_BASE;
+
+    writel_relaxed(GENMASK(31, 0), base + GICR_ICENABLER0);
+    gicv3_redist_wait_for_rwp();
+
+    for ( i = 0; i < NR_GIC_LOCAL_IRQS / 4; i++ )
+        writel_relaxed(rdist->ipriorityr[i], base + GICR_IPRIORITYR0 + i * 4);
+
+    writel_relaxed(rdist->isactiver, base + GICR_ISACTIVER0);
+    writel_relaxed(rdist->igroupr,   base + GICR_IGROUPR0);
+    writel_relaxed(rdist->icfgr,     base + GICR_ICFGR1);
+
+    gicv3_redist_wait_for_rwp();
+
+    writel_relaxed(rdist->isenabler, base + GICR_ISENABLER0);
+    writel_relaxed(rdist->ctlr, GICD_RDIST_BASE + GICR_CTLR);
+
+    gicv3_redist_wait_for_rwp();
+
+    WRITE_SYSREG(gicv3_ctx.cpu.sre_el2, ICC_SRE_EL2);
+    isb();
+
+    /* Restore CPU interface (System registers) */
+    WRITE_SYSREG(gicv3_ctx.cpu.pmr,   ICC_PMR_EL1);
+    WRITE_SYSREG(gicv3_ctx.cpu.bpr,   ICC_BPR1_EL1);
+    WRITE_SYSREG(gicv3_ctx.cpu.ctlr,  ICC_CTLR_EL1);
+    WRITE_SYSREG(gicv3_ctx.cpu.grpen, ICC_IGRPEN1_EL1);
+    isb();
+
+    gicv3_hyp_init();
+}
+
+#endif /* CONFIG_SYSTEM_SUSPEND */
+
 /* Set up the GIC */
 static int __init gicv3_init(void)
 {
@@ -2003,6 +2447,10 @@ static int __init gicv3_init(void)
 
     gicv3_hyp_init();
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+    gicv3_alloc_context();
+#endif
+
 out:
     spin_unlock(&gicv3.lock);
 
@@ -2042,6 +2490,10 @@ static const struct gic_hw_operations gicv3_ops = {
 #endif
     .iomem_deny_access   = gicv3_iomem_deny_access,
     .do_LPI              = gicv3_do_LPI,
+#ifdef CONFIG_SYSTEM_SUSPEND
+    .suspend             = gicv3_suspend,
+    .resume              = gicv3_resume,
+#endif
 };
 
 static int __init gicv3_dt_preinit(struct dt_device_node *node, const void *data)
diff --git a/xen/arch/arm/include/asm/arm64/sysregs.h b/xen/arch/arm/include/asm/arm64/sysregs.h
index f3c11d871e..2261620316 100644
--- a/xen/arch/arm/include/asm/arm64/sysregs.h
+++ b/xen/arch/arm/include/asm/arm64/sysregs.h
@@ -16,6 +16,11 @@
 #define ICC_SRE_EL1               S3_0_C12_C12_5
 #define ICC_IGRPEN1_EL1           S3_0_C12_C12_7
 
+#define ICC_AP1R0_EL1             S3_0_C12_C9_0
+#define ICC_AP1R1_EL1             S3_0_C12_C9_1
+#define ICC_AP1R2_EL1             S3_0_C12_C9_2
+#define ICC_AP1R3_EL1             S3_0_C12_C9_3
+
 #define ICH_VSEIR_EL2             S3_4_C12_C9_4
 #define ICC_SRE_EL2               S3_4_C12_C9_5
 #define ICH_HCR_EL2               S3_4_C12_C11_0
diff --git a/xen/arch/arm/include/asm/gic_v3_defs.h b/xen/arch/arm/include/asm/gic_v3_defs.h
index 3714cfeb7d..f741587322 100644
--- a/xen/arch/arm/include/asm/gic_v3_defs.h
+++ b/xen/arch/arm/include/asm/gic_v3_defs.h
@@ -94,12 +94,15 @@
 #define GICD_TYPE_LPIS               (1U << 17)
 
 #define GICD_CTLR_RWP                (1UL << 31)
+#define GICD_CTLR_DS                 (1U << 6)
 #define GICD_CTLR_ARE_NS             (1U << 4)
 #define GICD_CTLR_ENABLE_G1A         (1U << 1)
 #define GICD_CTLR_ENABLE_G1          (1U << 0)
 #define GICD_IROUTER_SPI_MODE_ANY    (1UL << 31)
 
 #define GICC_CTLR_EL1_EOImode_drop   (1U << 1)
+#define ICC_CTLR_EL1_PRIBITS_SHIFT   8
+#define ICC_CTLR_EL1_PRIBITS_MASK    (0x7U << ICC_CTLR_EL1_PRIBITS_SHIFT)
 
 #define GICR_WAKER_ProcessorSleep    (1U << 1)
 #define GICR_WAKER_ChildrenAsleep    (1U << 2)
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 12:47:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 12:47:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334257.1597349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXIKm-0001QZ-VG; Wed, 10 Jun 2026 12:47:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334257.1597349; Wed, 10 Jun 2026 12:47: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 1wXIKm-0001Ou-Os; Wed, 10 Jun 2026 12:47:04 +0000
Received: by outflank-mailman (input) for mailman id 1334257;
 Wed, 10 Jun 2026 12:45:20 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Mykola_Kvach@epam.com>) id 1wXIJ6-00018v-KG
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 12:45:20 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXIJ6-007rhd-0F
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 14:45:20 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c52-2eae-0a2a0a5409dd-0a2a4506e28e-44
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:19 +0200
Received: from [52.101.69.129]
 (helo=AM0PR83CU005.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c5f-7371-0a2a45060019-346545819085-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:19 +0200
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com (2603:10a6:20b:61d::18)
 by AM9PR03MB7558.eurprd03.prod.outlook.com (2603:10a6:20b:415::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Wed, 10 Jun
 2026 12:45:16 +0000
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7]) by AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7%4]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 12:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=K/hhWj5WJd5hc85c6PXMB+N0EUi607sahOxlc4iK2BtVQ8SquVflO2n1+KUB+omBU3S2vXBG/2SG9aAs95k0ZEV4OsaCk/kYuXbeieXfQKeQlHJQvBxyYFxA7yTCsBp95mXimpcOJhOtpjf2MTfZpoy6vrod+8i5leVUrr2RuG1qef5Bbg1YR/OL0hXe9NkOCvj195/lMTLO4eBNXhBYBWzwOr5KIEA6MuN09Y5xl3HHb8Oz3j7tjazMiU4op7ce6Bc8DwgJyUB6LWlOh2MBhbhG7VwiV82PXhcF47VeVQYVAaoD1A/ecemCoqwLoJNfexPof7AdnqT2yaszxuijSg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hFH8jnaLS3sxcH//YEoJ5xUIiJKXTPNp5wgdig2F9i0=;
 b=N9yKyIfg0/lExcnDXkTNtiD+1wVj7PkgjgUido9mqxddNwr6A3rmWxnsF/LH7K1N77+C9AP8BSiqommwUy64LaCoEFEFCkEiB8vq/AKxsJuDP3YEMKbXJzrpBXc0zJfsRmlVShn9gGXxK6sIKG803uewinV56ETNOfVJEeZmV//ZdXAULHD9lv2+k4iYNWdz3sXr7s6hjIzuoP3FaQQHqoxlO/rIvaMKKFdW/fzhrAkrKYkTGWcrQoornfX+r/i4qNZlr3bAw5oVndal2gZUNttJOJRNEkt3nbxoRJzONz2nyHvzZv0/zwgI2FTJvaR9I8z76lElBQCrbJDmf1Ogsw==
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=hFH8jnaLS3sxcH//YEoJ5xUIiJKXTPNp5wgdig2F9i0=;
 b=IjzzpeQMfILK2LYUv6/MIpxDVDMKnJT/QWDXFwaUOe7GS1v/EvOudHf6RRkKnKYkeOoiyrkwgJXN0IhjHYvpqzognusaSRMkwLfThfPSZs+xbdM7eC4THlaz7KyDmifLwJMDs48scnNFPRrZCZedOtOmRacEfmp00ZNkGPMxBlGucjldy+KcFAc79VeSPWQVGRLTCMLhhozcO8M9JJus7thw2LYIY4EWv52Dftq239JnHwwgnPJRgPYzUcO60F43Ixc6HWdayZa4N/jrAzPLEd3ZoWL5bSZSbc6EOdn30VtOitS02Gn887NUlSBQywUPAXQQz+QN9Gcn4NtzpC14WQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
From: Mykola Kvach <mykola_kvach@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@epam.com>,
	Mykola Kvach <xakep.amatop@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>,
	Luca Fancellu <luca.fancellu@arm.com>
Subject: [PATCH v11 02/13] xen/arm: gic-v2: Implement GIC suspend/resume functions
Date: Wed, 10 Jun 2026 15:44:22 +0300
Message-ID: <e8a716c7660bd90fef49f2611542152cf2a4fa80.1781084290.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1781084290.git.mykola_kvach@epam.com>
References: <cover.1781084290.git.mykola_kvach@epam.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: WA1P291CA0008.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:19::19) To AS8PR03MB9746.eurprd03.prod.outlook.com
 (2603:10a6:20b:61d::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9746:EE_|AM9PR03MB7558:EE_
X-MS-Office365-Filtering-Correlation-Id: dc26a7e2-55f7-46b3-0479-08dec6ee1f52
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|366016|1800799024|376014|56012099006|11063799006|20046099003|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	sMAHFHteUnyIFhFo+S39iU3/oNWgXAnXo5eBcsceyXVNPycAmnaxqU/P26ZsIixyBEiot12FgvJK7qIXBhUQPA6B8SBnoIVGjrMxt5qlAALat67S3uZLna79gfjua5jPhIpujqqv7sxhAwdkd94B1ay+H9y0pJTlGm56ZnjvdUe/ZphAHmynJEMs6+hxd21PCCd7zZy5zl160XjfZAhE5CsG0b3Owv/SuWO1R1M++sK2huw2llqGZySffSdq5r1VpXgjjhJ7NTuh2INHPyks7hDqzvdCgdTN9IDqwGpug5b8OySAOaod85VP3dsg+y7NU3/+63xz11RGwu83HH7SG0kqT33C2Y4fHSMl+6YONu2jn1iBW/hVleoOYQa89ood4ZDRzOmp63BPG+yciPzUIguLjQ/1TXskslSf95nccQZV/sr5XigAF6Q/9isgQrWPer4y9C6lXVcdM99DpeR1E+YEzt+AvcjmSQoeNf8vJ792hHtPrIKtxj1fmuaoOB68gPB42Tz+BAalVz/pISJGkrsPopwENQVuzsyGE2VXSbZu/hthPb8RhifaI8KhKkkbN/hKaXds2n5oKwrOcP88l+7v8syXx2G+0Lgh0nQjbwKfhIx3wPpuwLooLWnro0pt66WObXB4qzyPWuftfqcMKEddQzFn/YceAQgcsV/sSwCi53NlrKkECXZwo2ejEbEE
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9746.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(366016)(1800799024)(376014)(56012099006)(11063799006)(20046099003)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?Wpe5BZiXIAy0KoSasViuJqF8COV9zuF/y9j9m/UoN2USJqa9Jy/M3fTF7jcs?=
 =?us-ascii?Q?m8K3Qav9sOgF7DvVqvluPrNhNzA71ubqOW0owvRuoB+C0ybXJ5lo3NphdvQn?=
 =?us-ascii?Q?mrLz2X+6K2HCTGhGYPHV7yI4BbRoFSaJl381f/7BCAvGQb0aQvsFfpIIJCKR?=
 =?us-ascii?Q?W1dWAxg+zBsP1Oz8a9T3VmX9XiVrbajJSf+2awlJT1LyD+zKacjcBiUWrM85?=
 =?us-ascii?Q?9ESmzQqyp5dG5tloEBLEtQUtH6XA5wAXfdS4h533H+qdRproPAWoOTaEQrIi?=
 =?us-ascii?Q?xngK8sGFAevS+YF8fuB3UJxThb4zVUkyNptoz8nvLAd+BMrqe7RCdZFRUDdR?=
 =?us-ascii?Q?X7CcIv8si/+VpgRzFJvXZ4T91cdCFWz/wOjBt4mqJbrpy67EjWPTIbWpBrm8?=
 =?us-ascii?Q?3mY/53xklnr/3RPNzLfdxGR5GsWH+E33CxNCmPnd4rK1pEcsDTG9OpqYpfPn?=
 =?us-ascii?Q?7c+4O9lQmjsFBFiq8eGNmGJUfspe+5bQrapbT4fqFHNsM4RIMmV/LpgwrUh2?=
 =?us-ascii?Q?XysMEOrHDlgU1B73qYkvD3A1hPfvX2dFjR4df5fhem7o39rdCLGTE+SDKQ+G?=
 =?us-ascii?Q?hhRVHYESJ1whTjU66YlGY1I1dHfPzNN2PPI3L05Ilh0Nrb3TcRvnu+KwEJZq?=
 =?us-ascii?Q?mB0/UXHBZkFsTE1GkKWP+yMsEMrw1dSmPI0jzZLjS+cwM+PtOCFxtYgvprHL?=
 =?us-ascii?Q?EbW27CXbNxad4LiwaJmu0YHVk5ehXZb1kbUw6N9hAayeFAo8nGTgebrhQlBC?=
 =?us-ascii?Q?9FRXQ7O37hVS56xNid2ibESxyniizbv5D+kdQCTBHQ5nbEkSgfo8g3hIYeXQ?=
 =?us-ascii?Q?CIrA4e/r6AX4LxTMbOdHnfI99HL7eTdfTd1g81b92hL9BtOxn5boV11iCA0g?=
 =?us-ascii?Q?1TLrhxwBePuqdGW/MlrtpIu+hVcgdRou3R6LAt/CgFbkxzzHczqxaDzyDYKp?=
 =?us-ascii?Q?xYaZDiHsratdu+rL4Xo5dab4WSpfjB4K4mEbjvR0QSn7mRYZOVJPm1pAcgvj?=
 =?us-ascii?Q?t8OE0VC6GljrG+QwUyLMNT1H9I7BaGEPUJ5HP2RImZRpDAm+W7EsIYb/Iopt?=
 =?us-ascii?Q?N5zHEnGPAJ3fvhoC/N0vOfQVX88R8GkIQFuJDu6eThBRtXFi2tob3DDdSH7J?=
 =?us-ascii?Q?NisjWQ7RAfW33DLoD0l0JXe3mecim0tGDsz51tDAw3Zzd6cuEFRX18V/JOdK?=
 =?us-ascii?Q?h50g0+1zq7xWvFvFS1j4LFCWjbK+u7zmkyVeXWpq1GjmOcvEMHXSCTKTbSj6?=
 =?us-ascii?Q?0DdYOkdo+gvNGET45NXv6gDDkxhV3+fD7MjcUeX/wQY9amR1tKGs2QVJ+qSS?=
 =?us-ascii?Q?GMn+Y57mKfXQf4NPNcsbqyorcesVkxwb9fDkr3GLQ8QkSbYSwyOdVqA9qdXq?=
 =?us-ascii?Q?Qe7Mw/HPjwWwrcGpLquWDJWCfbLAOHqIa+ySUb4rbvfOq0eFX3AD7knPbp32?=
 =?us-ascii?Q?hf8KgN5YWxjVl2ZOePLwS3pjnJokFMiy+z61vlwIOAyA7VhBuWsVkL65a3WF?=
 =?us-ascii?Q?5sDkG4FW+7eSNbPF/sH+JSIIPPNUAoqMkO77GiEFNT6W6jYEq14GYTQGBBpP?=
 =?us-ascii?Q?ZbI8pJCnFniusxxp0eRoexGezqYiH1+J1eAEBuwPrmBpG4ZWnjLy9/t5ry6L?=
 =?us-ascii?Q?STEZAROD4ClNdl2ONbHfqoGngizHg7pH5v/RrluvrQjkYY7afXQ8Dft8voZw?=
 =?us-ascii?Q?kIoONay4cx5yewLl1WeB0YMkd0xxchPTd30/jzjDdFPO5ZL3bKzkjEQ6AT+c?=
 =?us-ascii?Q?Og8IkJWW2g=3D=3D?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dc26a7e2-55f7-46b3-0479-08dec6ee1f52
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9746.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 12:45:16.4596
 (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: p1q+d8Vl18SXyCwU3glgXzM3qxWh73sErasTFoumNW1WZuhgpzvNQuzpFNFnJIQtf/cykAIdOdnV5/8Gajzctg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7558
X-purgate-ID: tlsNG-16d1c6/1781095519-86974D75-4C6A66A1/0/0
X-purgate-type: clean
X-purgate-size: 13573

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.

Transient physical SGI pending state (GICD_CPENDSGIRn/GICD_SPENDSGIRn)
is intentionally excluded. CPU-interface active-priority state is also
not restored across suspend/resume. Xen reaches the final suspend path
at a quiescent point, so there is no active-priority execution context
to replay after resume. Enforce this with a runtime check after
disabling the CPU interface: if any implemented GICC_APRn word is still
non-zero, restore GICC_CTLR and abort suspend with -EBUSY.

This does not apply to distributor active state. With GICv2 EOImode==1,
EOIR only drops the interrupt priority; final deactivation is a separate
step. For guest-routed interrupts, Xen can have already EOIed the physical
IRQ while deactivation is still pending on the vGIC/GICV path. Therefore
GICD_ISACTIVER is preserved as architectural in-flight interrupt state.

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>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes in V10:
- Limit GICC_APR<n> active-priority checks to APR bits visible from
  the Xen CPU-interface view.
- Avoid touching reserved GICD_IPRIORITYR/GICD_ITARGETSR words when the
  last implemented interrupt block is partial.
- Restore distributor configuration before restoring interrupt enable
  state, so GICD_ICFGR is written while the corresponding interrupts are
  disabled.

Changes in V9:
- Skip saving/restoring GICD_ITARGETSR0..7 because SGI/PPI target
  registers hold no state (read-only on MP, RAZ/WI on UP).
- Add a runtime GICC_APRn quiescence check after disabling the CPU
  interface, and restore GICC_CTLR before returning -EBUSY.

Changes in V8:
- disable cpu interface + distributor before suspend
- change 0xffffffff to GENMASK;
- cosmetic changes;

Changes in V7:
- Allocate one contiguous memory block for the GICv2 dist suspend context.
- gicv2_resume() no longer unconditionally re-enables the distributor/CPU
  interface; it now writes back the saved CTLR values as-is.
- gicv2_alloc_context() now returns 0 on success and panics on failure,
  since suspend context allocation is not recoverable.
---
 xen/arch/arm/gic-v2.c          | 226 +++++++++++++++++++++++++++++++++
 xen/arch/arm/gic.c             |  29 +++++
 xen/arch/arm/include/asm/gic.h |  12 ++
 3 files changed, 267 insertions(+)

diff --git a/xen/arch/arm/gic-v2.c b/xen/arch/arm/gic-v2.c
index 43a379fdda..a0ef6ffc7f 100644
--- a/xen/arch/arm/gic-v2.c
+++ b/xen/arch/arm/gic-v2.c
@@ -1108,6 +1108,223 @@ static int gicv2_iomem_deny_access(struct domain *d)
     return iomem_deny_access(d, mfn, mfn + nr - 1);
 }
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+
+/* This struct represents block of 32 IRQs */
+struct irq_block {
+    uint32_t icfgr[2]; /* 2 registers of 16 IRQs each */
+    uint32_t ipriorityr[8];
+    uint32_t isenabler;
+    uint32_t isactiver;
+    uint32_t itargetsr[8];
+};
+
+/* GICv2 registers to be saved/restored on system suspend/resume */
+struct gicv2_context {
+    /* GICC context */
+    struct cpu_ctx {
+        uint32_t ctlr;
+        uint32_t pmr;
+        uint32_t bpr;
+    } cpu;
+
+    /* GICD context */
+    struct dist_ctx {
+        uint32_t ctlr;
+        /* Includes banked SGI/PPI state for the boot CPU. */
+        struct irq_block *irqs;
+    } dist;
+};
+
+static struct gicv2_context gic_ctx;
+
+#define GICV2_NR_APRS          4
+#define GICV2_APR_BITS_PER_REG 32U
+
+static int gicv2_check_active_priorities(uint32_t bpr)
+{
+    unsigned int i, apr_bits, nr_aprs;
+
+    /*
+     * Xen writes GICC_BPR to 0 during CPU init and does not change it. Per
+     * IHI0048B.b, a write below the implementation minimum reads back as the
+     * minimum supported BPR value. Table 4-47 maps that Xen-visible BPR value
+     * to the visible GICC_APR<n> bits. Avoid reading APR registers outside
+     * that visible range.
+     *
+     * This covers both GICv2 with and without Security Extensions.
+     */
+    apr_bits = 1U << (7 - (bpr & 0x7));
+    nr_aprs = DIV_ROUND_UP(apr_bits, GICV2_APR_BITS_PER_REG);
+
+    ASSERT(nr_aprs <= GICV2_NR_APRS);
+
+    for ( i = 0; i < nr_aprs; i++ )
+    {
+        unsigned int bits = min(GICV2_APR_BITS_PER_REG,
+                                apr_bits - i * GICV2_APR_BITS_PER_REG);
+        uint32_t mask = GENMASK(bits - 1, 0);
+        uint32_t apr = readl_gicc(GICC_APR + i * 4) & mask;
+
+        if ( !apr )
+            continue;
+
+        printk(XENLOG_ERR "GICv2: suspend aborted: GICC_APR%u=%#08x\n",
+               i, apr);
+        return -EBUSY;
+    }
+
+    return 0;
+}
+
+static int gicv2_suspend(void)
+{
+    unsigned int i, blocks = DIV_ROUND_UP(gicv2_info.nr_lines, 32);
+    int ret;
+
+    /* Save GICC_CTLR configuration. */
+    gic_ctx.cpu.ctlr = readl_gicc(GICC_CTLR);
+
+    /* Quiesce the GIC CPU interface before suspend. */
+    gicv2_cpu_disable();
+
+    gic_ctx.cpu.bpr = readl_gicc(GICC_BPR);
+
+    /*
+     * Check the active-priority state for the group Xen drives through the
+     * CPU interface. GICC_CTL_ENABLE enables Group 0 without SecurityExtn and
+     * Group 1 in Xen's Non-secure view with SecurityExtn, and in both cases
+     * the relevant state is visible through GICC_APRn. The APR layout is
+     * implementation-defined, so only test the bits visible from Xen's CPU
+     * interface view instead of reading every possible APR register.
+     */
+    ret = gicv2_check_active_priorities(gic_ctx.cpu.bpr);
+    if ( ret )
+    {
+        writel_gicc(gic_ctx.cpu.ctlr, GICC_CTLR);
+        return ret;
+    }
+
+    gic_ctx.cpu.pmr = readl_gicc(GICC_PMR);
+
+    /* Save GICD configuration */
+    gic_ctx.dist.ctlr = readl_gicd(GICD_CTLR);
+    writel_gicd(0, GICD_CTLR);
+
+    for ( i = 0; i < blocks; i++ )
+    {
+        struct irq_block *irqs = gic_ctx.dist.irqs + i;
+        size_t j, off = i * sizeof(irqs->isenabler);
+        size_t nr_regs = ARRAY_SIZE(irqs->ipriorityr);
+
+        if ( i == blocks - 1 )
+            nr_regs = DIV_ROUND_UP(gicv2_info.nr_lines - i * 32, 4);
+
+        irqs->isenabler = readl_gicd(GICD_ISENABLER + off);
+
+        /*
+         * Save distributor active state as part of the hypervisor-owned
+         * physical interrupt state. In GICv2 EOImode==1, EOIR only drops the
+         * priority; final deactivation is separate. For guest-routed
+         * interrupts, Xen may have EOIed the physical IRQ while the guest/vGIC
+         * side still owns the deactivate step. Therefore GICD_ISACTIVER can
+         * legitimately remain set even though transient SGI pending state and
+         * CPU-interface active-priority state are expected to be quiesced here.
+         */
+        irqs->isactiver = readl_gicd(GICD_ISACTIVER + off);
+
+        off = i * sizeof(irqs->ipriorityr);
+        for ( j = 0; j < nr_regs; j++ )
+            irqs->ipriorityr[j] = readl_gicd(GICD_IPRIORITYR + off + j * 4);
+
+        /*
+         * GICD_ITARGETSR0..7 cover SGIs/PPIs and hold no state to save:
+         * they are read-only on multiprocessor implementations and RAZ/WI
+         * on uniprocessor implementations.
+         */
+        if ( i )
+        {
+            off = i * sizeof(irqs->itargetsr);
+            for ( j = 0; j < nr_regs; j++ )
+                irqs->itargetsr[j] = readl_gicd(GICD_ITARGETSR + off + j * 4);
+        }
+
+        off = i * sizeof(irqs->icfgr);
+        for ( j = 0; j < ARRAY_SIZE(irqs->icfgr); j++ )
+            irqs->icfgr[j] = readl_gicd(GICD_ICFGR + off + j * 4);
+    }
+
+    return 0;
+}
+
+static void gicv2_resume(void)
+{
+    unsigned int i, blocks = DIV_ROUND_UP(gicv2_info.nr_lines, 32);
+
+    gicv2_cpu_disable();
+    /* Disable distributor */
+    writel_gicd(0, GICD_CTLR);
+
+    for ( i = 0; i < blocks; i++ )
+    {
+        struct irq_block *irqs = gic_ctx.dist.irqs + i;
+        size_t j, off = i * sizeof(irqs->isenabler);
+        size_t nr_regs = ARRAY_SIZE(irqs->ipriorityr);
+
+        if ( i == blocks - 1 )
+            nr_regs = DIV_ROUND_UP(gicv2_info.nr_lines - i * 32, 4);
+
+        writel_gicd(GENMASK(31, 0), GICD_ICENABLER + off);
+
+        off = i * sizeof(irqs->icfgr);
+        for ( j = 0; j < ARRAY_SIZE(irqs->icfgr); j++ )
+            writel_gicd(irqs->icfgr[j], GICD_ICFGR + off + j * 4);
+
+        off = i * sizeof(irqs->ipriorityr);
+        for ( j = 0; j < nr_regs; j++ )
+            writel_gicd(irqs->ipriorityr[j], GICD_IPRIORITYR + off + j * 4);
+
+        /*
+         * GICD_ITARGETSR0..7 cover SGIs/PPIs and hold no state to save:
+         * they are read-only on multiprocessor implementations and RAZ/WI
+         * on uniprocessor implementations.
+         */
+        if ( i )
+        {
+            off = i * sizeof(irqs->itargetsr);
+            for ( j = 0; j < nr_regs; j++ )
+                writel_gicd(irqs->itargetsr[j], GICD_ITARGETSR + off + j * 4);
+        }
+
+        off = i * sizeof(irqs->isenabler);
+        writel_gicd(irqs->isenabler, GICD_ISENABLER + off);
+
+        writel_gicd(GENMASK(31, 0), GICD_ICACTIVER + off);
+        writel_gicd(irqs->isactiver, GICD_ISACTIVER + off);
+    }
+
+    /* Restore distributor control state. */
+    writel_gicd(gic_ctx.dist.ctlr, GICD_CTLR);
+
+    /* Restore GIC CPU interface configuration */
+    writel_gicc(gic_ctx.cpu.pmr, GICC_PMR);
+    writel_gicc(gic_ctx.cpu.bpr, GICC_BPR);
+
+    /* Enable GIC CPU interface */
+    writel_gicc(gic_ctx.cpu.ctlr, GICC_CTLR);
+}
+
+static void __init gicv2_alloc_context(void)
+{
+    uint32_t blocks = DIV_ROUND_UP(gicv2_info.nr_lines, 32);
+
+    gic_ctx.dist.irqs = xzalloc_array(struct irq_block, blocks);
+    if ( !gic_ctx.dist.irqs )
+        panic("Failed to allocate memory for GICv2 suspend context\n");
+}
+
+#endif /* CONFIG_SYSTEM_SUSPEND */
+
 #ifdef CONFIG_ACPI
 static unsigned long gicv2_get_hwdom_extra_madt_size(const struct domain *d)
 {
@@ -1312,6 +1529,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();
+#endif /* CONFIG_SYSTEM_SUSPEND */
+
     return 0;
 }
 
@@ -1355,6 +1577,10 @@ static const 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 ee75258fc3..7727ffed5a 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -432,6 +432,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 ff22dea40d..fbf0d69edd 100644
--- a/xen/arch/arm/include/asm/gic.h
+++ b/xen/arch/arm/include/asm/gic.h
@@ -301,6 +301,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,
@@ -444,6 +450,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 Jun 10 12:47:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 12:47:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334267.1597382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXIKo-00021h-TR; Wed, 10 Jun 2026 12:47:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334267.1597382; Wed, 10 Jun 2026 12:47: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 1wXIKo-0001zh-HZ; Wed, 10 Jun 2026 12:47:06 +0000
Received: by outflank-mailman (input) for mailman id 1334267;
 Wed, 10 Jun 2026 12:45:33 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Mykola_Kvach@epam.com>) id 1wXIJJ-0001Cy-NN
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 12:45:33 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXIJJ-00H9hG-3a
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 14:45:33 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c67-5cb7-0a2a0a5109dd-0a2a4504ad8a-28
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:33 +0200
Received: from [52.101.69.118]
 (helo=AM0PR83CU005.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c6c-1dec-0a2a45040019-34654576fec7-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:33 +0200
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com (2603:10a6:20b:61d::18)
 by AM9PR03MB7558.eurprd03.prod.outlook.com (2603:10a6:20b:415::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Wed, 10 Jun
 2026 12:45:30 +0000
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7]) by AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7%4]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 12: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NxQer9Uknijvh6HcxISJL7OOQ0b6FuQ67/MBVCJIip00SDa2vEHMGodboWBIQbg/COluM8RkR1QbOBoWtZc7+fjQAeqCwBwwyQCUy6UyuAbfJilToCCOnsYZe2iHvO3/FrQqSPcYMJyihAAnEw5LjcwS/HaswKLWJdzHJCQ+p7/664T2wh5HQQTYJVymz8avcAFXUvgciagLeAH74a5CzxwW4XvP4uirJR3GJMw01QDSzHOKmlSgW6nAJS5KzpCWhGWELSXF/IuxtEctsD8CMj+WlEXFIMo+MiFbPKY33JwJg+u8SynPxv9AtWPKHu6PiPe0NIAiMXUiVNGlxBPPNA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QnPckwdgpBUr+17cYI0AaPCAdJVEhHccUrVHQZ13anc=;
 b=SKEttrGiRjNUFrHX92OMsYAitxJUi/94sZPIJ0XI4QknaKw22C9BTmEiNZadVpL864e0UOo1FmpOOLHvNP5aSDZJ6oWxvMHkXlUShZu+G+P1H4OKnlTtThCqazAKYR5b5pGKmoSOC7eJPBvz2QQD4i0lYuP9NYI41+gPAPwwe57gx3S/jba/9KZhggl06DVe9ZWI+/mD4c4QQEVXhmK3V35vNbR31IKVblBY901zrwZ9GM8QGkX3BJgztHPzqMpYTmwzVOjbFm8GKCdQN7kwwui8vjvFv3gqY1spRFcmwcnMTrxBQ1WVmwxkVkcrEvDK5XGe8p2Kuy2qVy/X0N1aeg==
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=QnPckwdgpBUr+17cYI0AaPCAdJVEhHccUrVHQZ13anc=;
 b=jSEAsYmMTeaqFQP6JTCcCKsITRurGOEGKpxaHsOzoBWFHqf81oQbeYA/dktRGUKisHHuTB5XSwCipxKKZkinWqbU5YehwYLahtF23AHU3eGErsDmXoqKDgDio7Xgyf+cpzh6TVuKmPQ5+FR08VqlpYyYrF7yLnk6MZtcpvV7CBg/81abFn+oJnocccA4Fnmiecwr7PpOHgcL3+ColnOaqSqF9zwlIbsScOJvJYOwwtZA+TCITvQzvryNfl8gEjU/X8fwLE7M10VSOYLyBdRakFjkHxNPtbvCuH7QhIp9aRSGR+CEbx8E2X880w8bpm7BT+KzLpHW1KRvVLICvkBe+g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
From: Mykola Kvach <mykola_kvach@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@epam.com>,
	Mykola Kvach <xakep.amatop@gmail.com>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Luca Fancellu <luca.fancellu@arm.com>
Subject: [PATCH v11 07/13] xen/arm: ffa: fix notification SRI across CPU hotplug/suspend
Date: Wed, 10 Jun 2026 15:44:27 +0300
Message-ID: <cba6e41f56c242085ae468e91a59181ecfd403eb.1781084290.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1781084290.git.mykola_kvach@epam.com>
References: <cover.1781084290.git.mykola_kvach@epam.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: WA1P291CA0008.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:19::19) To AS8PR03MB9746.eurprd03.prod.outlook.com
 (2603:10a6:20b:61d::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9746:EE_|AM9PR03MB7558:EE_
X-MS-Office365-Filtering-Correlation-Id: 19837be2-0888-44be-7fff-08dec6ee2733
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|366016|1800799024|376014|56012099006|11063799006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	F3c2389LQyrlBaOy0bblq/YWqdTtTp/n/Wh8B/hxE7aDRPhg1OQyvnkRyBG69eFDjJ5xvZTrf3lNGNDzxto3qyZh704TVWsPbFnc+/QX071VbL1+vQYkXTPzGp4FoyZkcXtnxlhks305gBuCYvcU5qq24GSi33iIoy7RCoJFJuFdg6va7D7evVFk7kslOjARCgpyuDTMedP7GbIQo91v48QItY2l1fJPbHV2FSna38SLC7EBAYzAz+XPxvnkPRLlXe7UjQe4IHBWzLtExhFFtoz5P+OavUZPDI6FaWcdV6b/hvbYLs5INEaFSsoMdZUWPA8GVh0rgzKBWODbksJoO+S+1WCtrG78bF6lruHdpkAvfiMkLydSzYPqhEVoEvBrM97IdcTasTmiIQLAfaD490d8o5e+AAaF6V/VWVU5t0Z/QuOkJy+wCdanCEByFSMwbqpVejAAGy40y5OA4uyIaO4EsVDywd8VWF2akTAo/haHJWRHw3EuZnVbNhqOyDZ4/q6jqgKRVY+BLSjvS3Ohc5DuYPgZGLCa6piIWBFc+xNpUNgbal1NZRXQEUpLfry4m7iwDQEYRU0I5CzgSymiswjn36zbF35CWZ76knha+R4K3oZd64ebrfgmDzEBzRdK62L0kcFA64oneZLU5IYH60aMH93t0JXElpBtUJMRM9IDj6v0Kv31+WHTdcHJyDvJ
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9746.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(366016)(1800799024)(376014)(56012099006)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?qq4SH96ykzfGTIbO3hQQY8QHBLz98ep31Vfdtpd8GKtxHShv3UXYYQnoBAZt?=
 =?us-ascii?Q?xudISUqK93oxrtDfX9zmgNjsnh1YiUaxWEHWHXrg4LCoRnac1Gus+3os/k1s?=
 =?us-ascii?Q?kBtvYmgeipTWMrdKtUdsw4EEByU8a1FWmEEoE0Fl7KI8ZSgXUUP9f6UfE2hK?=
 =?us-ascii?Q?EUvGqeKtc2SijvR5V1R1t6LQuw/BDIXe6M1bwiWKZ7g0AAnAZ/TAI7mb8dt5?=
 =?us-ascii?Q?Dn6ew2n+PR46FMsE92pm8hbqHGQP5DuyeuQMtsB8aOW+7Y27bsq9S/9D33pd?=
 =?us-ascii?Q?2OiPyhLhh5Dh3Wzk+N5ii7xxWgM/noOEePn1OVlk8AdFs3sDUNc9cwGOgYeH?=
 =?us-ascii?Q?7OE9NHqSZrAICuHQASas5i21uWXGTsu8JcuKddGRwsdehoR7e6qz1znRPOOI?=
 =?us-ascii?Q?u2AB4gHF9noZpnmJJTFMfcasQ+IffvbcsEZR1B1Q6pfLM9ARmMauK+gGvQED?=
 =?us-ascii?Q?+wBF/Rldr3tD5S/8dk+WKGeRRyWBz0A6+98I3QV4uDaR3BBB+pScvqHXfkZ1?=
 =?us-ascii?Q?SWESYgJ2Bd1brpB/V+odfJ6clv2+O9LNcD+PqXVXd6pSPzxnBkW7RjHz50TY?=
 =?us-ascii?Q?NkVsMwJtv5iNmmBhQnxGe3JS9ZYU5RZjEJvRcNdUcFcG+3iN+Ao0HNTj7HeV?=
 =?us-ascii?Q?2PJbkZ2C/4x2ff2Z9U8VLelFQtXqOqbM3r4QSWdxWw6LoXJzzH+nik+MW32Q?=
 =?us-ascii?Q?aZQCHZVLBEEwlizKVFWbpEqAZeC3m8kD6+OBjVXmPiCZFXEFrIK7AKSkhwBC?=
 =?us-ascii?Q?/sfYyZQnOoiOXdeNl/IpomH1rmeqTGhdYRjs0DNTqKegOShehnsah8RpyLoq?=
 =?us-ascii?Q?2DgCWofhiYlqx7/b4aqAVTCSmtDRpMSRSrwmWe/UdtxnaJjP55CYT3wBicRP?=
 =?us-ascii?Q?nwGrcjpjejq2XRTCbr/P4ZrufjqlVbz0H8t5eAK5F1hmTq5X9Qj+3AN7UDGP?=
 =?us-ascii?Q?7rthE7bpeC/6mTz3rLVuxEA+aCbzHfcLA4/l1X1F5Jp/CsoNl2EjLx5v41Or?=
 =?us-ascii?Q?twmX5eec8QpDXYDoPkmr1H5G4oV4UOgPbQ7naoFSdpEeSaBi4SFNufzqKNkx?=
 =?us-ascii?Q?5ZxzJRgsnpkv7dAyGyJIar8ki0EVUXF8niuSq7yt/euvURyNO0PA4yY9fso0?=
 =?us-ascii?Q?KnNnq9e0YVxYH0C8fXnMsoiLBzjQE7JOeoXVJxze+lm+FxcJp6C7XfqqZp+w?=
 =?us-ascii?Q?sucOJfWSQSOhITSZ8Cla5grSo5bsVW4k2iosdrmaha19M5XdJv4Cd3VNpXET?=
 =?us-ascii?Q?ja5MmotDhMoNcm124LuKAuB2YHbcx+x+VFgIOZ/U/ZaHtleQH6spU2XgygQ+?=
 =?us-ascii?Q?LXcvKh2CiofCNlsquGlxb7/G5Qdneis9/lgmGHcn9Oi4h5Po8gHRkBdPVtkP?=
 =?us-ascii?Q?9e/SnLB+zCPGqRQtHL7nlv/a+KWbAaONlj8woSjnPcP+Qv7PuA7asEJSQwaq?=
 =?us-ascii?Q?ThivFGrZdtms9HCRPxNCQTwwwzSZ3pK0tbSBX0NOeK9qXttQi2OUJrE0oHEI?=
 =?us-ascii?Q?7xt0gNB2N/X0i2a4GWQE3Cs1VgaKpR+a+nte1Uksxalz+V+6uaFJW6mVRaC6?=
 =?us-ascii?Q?FFp0Le7uH5jqmWCoiBMFHxkRLIQHANcSDIydzPHsvtJjY9cDFhu+xjl61P7o?=
 =?us-ascii?Q?wbtDo6OuzqhkI02W3Mcs5CIiBaph6p4y4vZBFRRgEOwwiKkGof9Gd6pEB5Vo?=
 =?us-ascii?Q?U+YUeubz7WrtIJTZibPGGhaHlQxQ1omuy52wFvxWXzpu1GbtxK9KX3S/DqdD?=
 =?us-ascii?Q?kRdSgLX1aA=3D=3D?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 19837be2-0888-44be-7fff-08dec6ee2733
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9746.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 12:45:29.6704
 (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: cfXX71M3T5cFAkjR5wXf3mIx7TJcxftI0a5lZ4BbO/ilOT9ekQwX5bWPlFNIJr3ksF3UjZ18o9yY+xDnPbWBlQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7558
X-purgate-ID: tlsNG-ebf023/1781095533-413773FF-9C015285/0/0
X-purgate-type: clean
X-purgate-size: 3654

The FF-A notification SRI interrupt handler was not correctly tied to
CPU hotplug and suspend/resume. As a result, CPUs going offline and
back online could end up with stale or missing handlers, breaking
delivery of FF-A notifications.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/tee/ffa_notif.c | 63 ++++++++++++++++++++++++++++--------
 1 file changed, 50 insertions(+), 13 deletions(-)

diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
index 186e726412..513c399594 100644
--- a/xen/arch/arm/tee/ffa_notif.c
+++ b/xen/arch/arm/tee/ffa_notif.c
@@ -360,10 +360,28 @@ static int32_t ffa_notification_bitmap_destroy(uint16_t vm_id)
     return ffa_simple_call(FFA_NOTIFICATION_BITMAP_DESTROY, vm_id, 0, 0, 0);
 }
 
-void ffa_notif_init_interrupt(void)
+static DEFINE_PER_CPU_READ_MOSTLY(struct irqaction, sri_irq);
+
+static int request_sri_irq(void)
 {
     int ret;
+    struct irqaction *sri_action = &this_cpu(sri_irq);
+
+    sri_action->name = "FF-A notif";
+    sri_action->handler = notif_irq_handler;
+    sri_action->dev_id = NULL;
+    sri_action->free_on_release = 0;
+
+    ret = setup_irq(notif_sri_irq, 0, sri_action);
+    if ( ret )
+        printk(XENLOG_ERR "ffa: setup_irq irq %u failed: error %d\n",
+               notif_sri_irq, ret);
 
+    return ret;
+}
+
+void ffa_notif_init_interrupt(void)
+{
     if ( fw_notif_enabled && notif_sri_irq < NR_GIC_SGI )
     {
         /*
@@ -376,14 +394,36 @@ void ffa_notif_init_interrupt(void)
          * pending, while the SPMC in the secure world will not notice that
          * the interrupt was lost.
          */
-        ret = request_irq(notif_sri_irq, 0, notif_irq_handler, "FF-A notif",
-                          NULL);
-        if ( ret )
-            printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\n",
-                   notif_sri_irq, ret);
+        request_sri_irq();
     }
 }
 
+static void deinit_ffa_notif_interrupt(void)
+{
+    if ( fw_notif_enabled && notif_sri_irq < NR_GIC_SGI )
+        release_irq(notif_sri_irq, NULL);
+}
+
+static int cpu_ffa_notif_callback(struct notifier_block *nfb,
+                                  unsigned long action,
+                                  void *hcpu)
+{
+    switch ( action )
+    {
+    case CPU_DYING:
+        deinit_ffa_notif_interrupt();
+        break;
+    default:
+        break;
+    }
+
+    return NOTIFY_DONE;
+}
+
+static struct notifier_block cpu_ffa_notif_nfb = {
+    .notifier_call = cpu_ffa_notif_callback,
+};
+
 void ffa_notif_init(void)
 {
     const struct arm_smccc_1_2_regs arg = {
@@ -392,7 +432,6 @@ void ffa_notif_init(void)
     };
     struct arm_smccc_1_2_regs resp;
     unsigned int irq;
-    int ret;
 
     /* Only enable fw notification if all ABIs we need are supported */
     if ( ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_CREATE) &&
@@ -408,13 +447,11 @@ void ffa_notif_init(void)
         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);
+
+        if ( request_sri_irq() )
             return;
-        }
+
+        register_cpu_notifier(&cpu_ffa_notif_nfb);
         fw_notif_enabled = true;
     }
 }
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 12:47:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 12:47:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334264.1597368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXIKn-0001jp-Tg; Wed, 10 Jun 2026 12:47:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334264.1597368; Wed, 10 Jun 2026 12:47: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 1wXIKn-0001he-JJ; Wed, 10 Jun 2026 12:47:05 +0000
Received: by outflank-mailman (input) for mailman id 1334264;
 Wed, 10 Jun 2026 12:45:28 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Mykola_Kvach@epam.com>) id 1wXIJE-0001Bl-81
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 12:45:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXIJD-007rkt-Kn
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 14:45:27 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c60-e002-0a2a0a5209dd-0a2a450ce894-28
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:27 +0200
Received: from [40.107.162.84]
 (helo=PA4PR04CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c67-62f1-0a2a450c0019-286ba25465a7-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:27 +0200
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com (2603:10a6:20b:61d::18)
 by AM9PR03MB7558.eurprd03.prod.outlook.com (2603:10a6:20b:415::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Wed, 10 Jun
 2026 12:45:25 +0000
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7]) by AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7%4]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 12:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=XH0n3vjXwU05fwa3RYrpg47RDGakN+O+g/GkMBgEH3GV/EMSMA/BrE2WeQVBtG714k+hM5CcPoEGyltcEFA0vu0PePdK/k012TGL0Lb3bLzqpCqCpz7gihaqNp5/ByPQvkI+Y0bp3n9QJUahnf7b3xgfrUu8rndtIOKKfzkc967IPEKCSRGzADd1a6S33TefQRzoTYNZrFVAOvbBMtnI4AePsfDhav79x7muKzChvH5V0InUZ+m52o2jgaLrmrGitj8lDwGVjFIQRxo7aPJKBCiQVR+gqp3QgRrd8lNmZQzaiiuspoewgWpABHr248+uAYHpb90hkyob77I8xlMu7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4t1Xm4aK6uMytKQzSuYsfAastWOi/MneAuLBcif8+7Y=;
 b=r1q9FwhoFjZU4jcAjbXbvX66gRVlMTh5xAIYZhV//frKYZ0e6ZcBze9r0EjwshZIgOnd2W3CmezNiC2c11nQWFo9y9Z7mgM+8qT+h8txbzu+p6Q4eNK7P1CDcum6az/x0Pak4vErVq+Mijp6Gmo7RAMHGFfAT3OlzINBPW7va0z3xZnUwAuC2GlZk8/E17Zq6hJ0h80SUJs7MdlghMYyuncAKA8F6V+j9L95LF0HtpPRa8zfeIzjNM1BIrQ8oI90U467Tdsrds9nq/xnQj6zu2Q8ri7vcz17XSTs9MLpsiXTwb0tQvOJZPBVs+yO8DUc40NExMZdvv027HuPOVAV3w==
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=4t1Xm4aK6uMytKQzSuYsfAastWOi/MneAuLBcif8+7Y=;
 b=Z2xYLGRYPkGXxQwxDOXF/Bv66E6wFw0LSiqz5kJ+3gCdzmW187R72KZCrMEuRGzylpg6T16TO7+Fn/9I/3CnSgVFx9/9jreYVYU9OiSQZa1M5u7SSjoB7meP45OQD0CXeCcaoxVIUcBD0Ms0BxPHXP/h7kVakuJsdXjleBE67+9mg1Eqb6XVcC/ZPgvXurHzok+1SCg4BjVSKD4C2Qz/ymuONdfY9bEL6YrB29j2y7yZKw6CMigjFsXbbc9/b5lVFmltXLT8ifmcPkmFOyOigeIBrJmwBghE3PqWcM7PkWPukqt2isVUvrta8z/C8Kt6NrHzGaJ9oDbbOHt2Qd05Cw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
From: Mykola Kvach <mykola_kvach@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@epam.com>,
	Mykola Kvach <xakep.amatop@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>,
	Luca Fancellu <luca.fancellu@arm.com>
Subject: [PATCH v11 05/13] xen/arm: gic-v3: add ITS suspend/resume support
Date: Wed, 10 Jun 2026 15:44:25 +0300
Message-ID: <1e1bc01dad04d8b4e94af1cffc0afef51dc030e2.1781084290.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1781084290.git.mykola_kvach@epam.com>
References: <cover.1781084290.git.mykola_kvach@epam.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: WA1P291CA0008.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:19::19) To AS8PR03MB9746.eurprd03.prod.outlook.com
 (2603:10a6:20b:61d::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9746:EE_|AM9PR03MB7558:EE_
X-MS-Office365-Filtering-Correlation-Id: dc3e2d95-a38f-4a51-4f4c-08dec6ee2485
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|366016|1800799024|7416014|376014|3023799007|56012099006|11063799006|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	Q7S7CoxM+LJEIRmx90GfBtOwlhR1+EaMSWPqOMZMNGTai4TULCEzY/5NXQrOZOQETZZDTb0gZ512NUaUZz+MovmGy9ePLzHKH3L7CSut52WcTptZ6zHGoUB+6XoyVCDy5Ni2uqtvFvtIYJzaS6WmtMkKFjMMyXqJt0+2rv2sF7BYBupkZrDPYM/yaYa32mh1g8CeNdyx2s1/d3hlkTcWXIA680dtbhMgId4gxQXowTjexBdXJhYp++Sz2PjwY9pqCnvqfjpWdFymOb1Lg3Xj1BpUvZ+gvRfzud3J4oKES+vxqwpB9/AHjiX/5r0nMpO7wuQka4M+FJEYdSGqpFXv1za8tOzBZiuvxNe64EXsap8sE+Balyvknp5jxnpCt2EkbeEVhro4NUF41gdzMg5mAVXuH9L+a6DbcGwEUqNK96CVaV5DiQr2ZMLbbS7CVnowSxS0xTdOXW0KZ30WC3lOZlCbiEI+TT+hNjmjWVr4pG2TPyn4uzXrUEZn/GeRzIQFztItlH/5PlJCflmJevPeAUNVB41IvxlJMo+cbqEeVrZp5Dzzy9SF8lhV+zqCeAy3xMfZkqi53GP33Vy67JCGE8UMumAfUdj6VBcP8pqnWT3ynM60jb+VVOuetUWkfoPlMLSXlfVwS3gg5ng7yofQLZ3izhWrojDw9mpxBdvnFdAjHBtNNbZqBhNYnWVXvm0w
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9746.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(366016)(1800799024)(7416014)(376014)(3023799007)(56012099006)(11063799006)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?/w0eVdyQGbDQYXUqymz+rM1c/3NQdeDR0ujAgM/vV3Lv7s4klYu8qVffzyDD?=
 =?us-ascii?Q?Qpq2dINklpFfnix6oV5SZy4Wn+iTdYk+q5iD7jAO3W9gXYmeKh9k3IfZ04aR?=
 =?us-ascii?Q?lFrpPD7gMtrq1BwC/rcExIF/48+Ek85lO/zjbd5bEodEilnZUnlgrxLH7yk+?=
 =?us-ascii?Q?MiQwEyUrfgNwpHh7CtfznSF67iidSkRI8bE961vmbKMpEACPwM6+ZmEFt8Jt?=
 =?us-ascii?Q?A9oevqzAwDivcQqESsVyfEGpph3ERPICM1zoGVTMdcIv0bsq0AYhrUEyG/gV?=
 =?us-ascii?Q?wzdSUfRbSdi4D17cdBouQdxg6uOx+xqbfaOBijWNOfruAfIrnr7R4YcD8FWo?=
 =?us-ascii?Q?EraAZ4mKRJfis9aPiEAbfOiFEd49fCLN9WW2/HJOque/U6Tn1AspH9rcXCNN?=
 =?us-ascii?Q?JrHsLCbsJclwQY3Ngo0Te1W+o3mZknIfEqcWWQAK0MsMuBPM0ZozX7422780?=
 =?us-ascii?Q?OpaH4+JhVolIDstaTAqI0WaQYSqfSnI8u5OMvyj14B6mDsV9dF59g+0Wv4iS?=
 =?us-ascii?Q?F3Be8NnOH/t6G2o/gEeM1skmgHNzxe9HXJHpLhkIsT36/JKvSvcfqVWAWy4N?=
 =?us-ascii?Q?EAJtAr226H/HWrfJozTrMMozVUzkDlrv/VQcLv0rA0QWifKAAMEqKiiR4veF?=
 =?us-ascii?Q?82LpMSE7MnwOSoaEmhw/OU2EgZQh1TKNLVFNoWwrCW8rukEMPyYmMiqWD5EH?=
 =?us-ascii?Q?486wz/amP5cM6euk8dF/Ty3ZphS3NVQbgJi1yhY0DxXM2fsTodFNX/19ZTsw?=
 =?us-ascii?Q?rkGugQ0zPYGgKYxL0OhH5RRB8atR7d923Oqtnuf0IpL10zP/y6eHNbcE2tOk?=
 =?us-ascii?Q?c9PVM8u7RjH15IRRjNeZ06wkmVQ/LdV+OOAXUVFymfL+ha/w2j/cK/IfBYpV?=
 =?us-ascii?Q?FQv7QF6gE7ExB7++3Eq6A/P/c7OU8jJ0mQr8cjQEI8x3rf/ScEw7xoRqPb3K?=
 =?us-ascii?Q?cnekAbYVEBcVKEsytCARfvuM+isGJDzxiqQmFnl4o83P4VT/E4xknYtiRvWx?=
 =?us-ascii?Q?b0bU4eIO7ailaT7MwF6fjCMk9fQGYP2XbrpVDN8bjoqkOKGmawfc2AmjECod?=
 =?us-ascii?Q?I2LdtcB2qsvLHUlIU4mrxjvWAohNObXGrt0DU2CwZE7uiPaCmNIlpbVoe4vS?=
 =?us-ascii?Q?OZc6UHp1m7wDTJN3g29gVZ5Vejs607cZSVLWcgH3Pl5HzcOE0ttO/f9lOyxI?=
 =?us-ascii?Q?utMAbn4a3MDuwkkEElT6q7MY8fNCc2reEyEIXO7pQ64RR0rz0eRprw4fT01f?=
 =?us-ascii?Q?pqy0UkmyCphyRtCsYn522zlgqq3NgdMVciypk1Gw0ZOUr4dbj59cgeMq9Zmf?=
 =?us-ascii?Q?XqiWCzUJ8EwsLQxwfK+OTcXKKf2PELJa5onc/dTfHomiGCPK9agaWhzfJWQN?=
 =?us-ascii?Q?DXpq4ZfkUgkHqol6tBTntEHYMeVTqO55NLUhkPa64FPKQCNi3tb5fQ5yCRzY?=
 =?us-ascii?Q?kY3Ilwm5pwCaS/USAGFhY+6SanqV5ULHFHsEzqXjWAlr3FgGTwCQClz//UrU?=
 =?us-ascii?Q?1thhsr//+qxq7x+2/o9VdrYPJ0Y2FEtCkFXlR6yBLeaK+GKWSWAdiTxIkIi5?=
 =?us-ascii?Q?WUVG4o8JRzAdPd5tfUe3MAKeOlZjLKcrAqnQLekxzSJenPnoygki3js5iIli?=
 =?us-ascii?Q?KBRs514EMWcQyJsq+UcNAML79N72Gail85h3RH8d5tDNJXi7/tdeKjFEtKBU?=
 =?us-ascii?Q?oNGzXEdBwNkH+AnckhzqBFFQ8nbzMb6UxGJ+pCTe4HBKky5fQmtAukiWtl/w?=
 =?us-ascii?Q?mN1LduZDoQ=3D=3D?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dc3e2d95-a38f-4a51-4f4c-08dec6ee2485
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9746.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 12:45:25.1911
 (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: FrxE3U82P20y9Dk+/x/SeyNY6FfyUrpEKLuqh/CaCIAXP+A5mP3jEQp3RUCyM7P6uAwBaun8IwslSoNTfjhUYA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7558
X-purgate-ID: tlsNG-d25034/1781095527-E3370CF5-5006A541/0/0
X-purgate-type: clean
X-purgate-size: 11113

Handle system suspend/resume for GICv3 with an ITS present so LPIs keep
working after firmware powers the GIC down.

Save and restore the ITS CTLR, CBASER and BASER registers. On resume,
re-establish the collection mapping only when the collection is held in
the ITS itself. Memory-backed collections are restored through the
restored GITS_BASER tables and must not be remapped unconditionally.

Add list_for_each_entry_continue_reverse() in list.h for the ITS suspend
error path that needs to roll back partially saved state.

Based on Linux commit dba0bc7b76dc:
"irqchip/gic-v3-its: Add ability to save/restore ITS state".
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes in V10:
- Replay MAPC on resume only for collections held in the ITS itself, as
  indicated by GITS_TYPER.HCC. Memory-backed collections are restored
  through GITS_BASER and are no longer remapped unconditionally.
- Make the current Xen col_id == cpu assumption explicit in the ITS
  resume path.
- Use "unpredictable" instead of "undefined" in the CBASER/BASER restore
  comment.

Changes in V9:
- fix the ITS suspend/resume coding-style nits;
- preserve the saved GITS_CTLR state while masking the read-only
  QUIESCENT bit.

Changes in V8:
- Reword the CBASER/CWRITER comment to match Xen and drop the stale Linux
  cmd_write reference.
- Clarify the list_for_each_entry_continue_reverse() comment.
- Factor out per-ITS helpers for collection setup and resume.
- Restore each ITS and re-establish its collection mapping in the same
  loop, so a failed ITS resume is not followed by MAPC/SYNC on that
  un-restored instance.
- panic in case when resume of an ITS failed
- cleanup baser cache during suspend
---
 xen/arch/arm/gic-v3-its.c             | 146 ++++++++++++++++++++++++--
 xen/arch/arm/gic-v3.c                 |  11 +-
 xen/arch/arm/include/asm/gic_v3_its.h |  28 +++++
 xen/include/xen/list.h                |  14 +++
 4 files changed, 189 insertions(+), 10 deletions(-)

diff --git a/xen/arch/arm/gic-v3-its.c b/xen/arch/arm/gic-v3-its.c
index 7560d46c6d..dd53209865 100644
--- a/xen/arch/arm/gic-v3-its.c
+++ b/xen/arch/arm/gic-v3-its.c
@@ -335,6 +335,22 @@ static int its_send_cmd_inv(struct host_its *its,
     return its_send_command(its, cmd);
 }
 
+static int gicv3_its_setup_collection_single(struct host_its *its,
+                                             unsigned int cpu)
+{
+    int ret;
+
+    ret = its_send_cmd_mapc(its, cpu, cpu);
+    if ( ret )
+        return ret;
+
+    ret = its_send_cmd_sync(its, cpu);
+    if ( ret )
+        return ret;
+
+    return gicv3_its_wait_commands(its);
+}
+
 /* Set up the (1:1) collection mapping for the given host CPU. */
 int gicv3_its_setup_collection(unsigned int cpu)
 {
@@ -343,15 +359,7 @@ int gicv3_its_setup_collection(unsigned int cpu)
 
     list_for_each_entry(its, &host_its_list, entry)
     {
-        ret = its_send_cmd_mapc(its, cpu, cpu);
-        if ( ret )
-            return ret;
-
-        ret = its_send_cmd_sync(its, cpu);
-        if ( ret )
-            return ret;
-
-        ret = gicv3_its_wait_commands(its);
+        ret = gicv3_its_setup_collection_single(its, cpu);
         if ( ret )
             return ret;
     }
@@ -1211,6 +1219,126 @@ int gicv3_its_init(void)
     return 0;
 }
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+int gicv3_its_suspend(void)
+{
+    struct host_its *its;
+    int ret;
+
+    list_for_each_entry( its, &host_its_list, entry )
+    {
+        unsigned int i;
+        void __iomem *base = its->its_base;
+
+        /*
+         * By the time Xen reaches gic_suspend(), every domain is already in
+         * SHUTDOWN_suspend, so ITS-targeting interrupt sources are expected
+         * to have been quiesced by the owning OS before SYSTEM_SUSPEND.
+         */
+        /* Preserve saved GITS_CTLR state, excluding read-only QUIESCENT. */
+        its->suspend_ctx.ctlr = readl_relaxed(base + GITS_CTLR) &
+                                ~GITS_CTLR_QUIESCENT;
+        ret = gicv3_disable_its(its);
+        if ( ret )
+        {
+            writel_relaxed(its->suspend_ctx.ctlr, base + GITS_CTLR);
+            goto err;
+        }
+
+        its->suspend_ctx.cbaser = readq_relaxed(base + GITS_CBASER);
+
+        for ( i = 0; i < GITS_BASER_NR_REGS; i++ )
+        {
+            uint64_t baser = readq_relaxed(base + GITS_BASER0 + i * 8);
+
+            its->suspend_ctx.baser[i] = 0;
+
+            if ( !(baser & GITS_VALID_BIT) )
+                continue;
+
+            its->suspend_ctx.baser[i] = baser;
+        }
+    }
+
+    return 0;
+
+ err:
+    list_for_each_entry_continue_reverse( its, &host_its_list, entry )
+        writel_relaxed(its->suspend_ctx.ctlr, its->its_base + GITS_CTLR);
+
+    return ret;
+}
+
+static int gicv3_its_resume_single(struct host_its *its, unsigned int cpu)
+{
+    void __iomem *base = its->its_base;
+    unsigned int i;
+    int ret;
+    uint64_t typer;
+    unsigned int col_id = cpu; /* Xen currently uses col_id == cpu. */
+
+    /*
+     * Make sure that the ITS is disabled. If it fails to quiesce,
+     * don't restore it since writing to CBASER or BASER<n>
+     * registers is unpredictable according to the GIC v3 ITS
+     * Specification.
+     */
+    WARN_ON(readl_relaxed(base + GITS_CTLR) & GITS_CTLR_ENABLE);
+    ret = gicv3_disable_its(its);
+    if ( ret )
+        return ret;
+
+    writeq_relaxed(its->suspend_ctx.cbaser, base + GITS_CBASER);
+
+    /*
+     * Writing CBASER resets CREADR to 0, so reset CWRITER to
+     * keep the command queue pointers aligned.
+     */
+    writeq_relaxed(0, base + GITS_CWRITER);
+
+    /* Restore GITS_BASER from the value cache. */
+    for ( i = 0; i < GITS_BASER_NR_REGS; i++ )
+    {
+        uint64_t baser = its->suspend_ctx.baser[i];
+
+        if ( !(baser & GITS_VALID_BIT) )
+            continue;
+
+        writeq_relaxed(baser, base + GITS_BASER0 + i * 8);
+    }
+
+    writel_relaxed(its->suspend_ctx.ctlr, base + GITS_CTLR);
+
+    typer = readq_relaxed(base + GITS_TYPER);
+
+    /*
+     * Only collections with IDs below HCC are held in the ITS itself
+     * and lose their state across an ITS reset/power loss. Memory-backed
+     * collections are restored by restoring GITS_BASER and must not be
+     * remapped here.
+     */
+    if ( col_id < GITS_TYPER_HCC(typer) )
+        return gicv3_its_setup_collection_single(its, cpu);
+
+    return 0;
+}
+
+void gicv3_its_resume(void)
+{
+    struct host_its *its;
+    unsigned int cpu = smp_processor_id();
+    int ret;
+
+    list_for_each_entry( its, &host_its_list, entry )
+    {
+        ret = gicv3_its_resume_single(its, cpu);
+        if ( ret )
+            panic("GICv3: ITS@%"PRIpaddr": failed to restore during resume: %d\n",
+                   its->addr, ret);
+    }
+}
+
+#endif /* CONFIG_SYSTEM_SUSPEND */
 
 /*
  * Local variables:
diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index be223dd915..05e42cdd55 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -2189,10 +2189,14 @@ static int gicv3_suspend(void)
     if ( ret )
         goto out_enable_iface;
 
-    ret = gicv3_disable_redist();
+    ret = gicv3_its_suspend();
     if ( ret )
         goto out_enable_iface;
 
+    ret = gicv3_disable_redist();
+    if ( ret )
+        goto out_its_resume;
+
     /* Save GICR configuration */
     gicv3_redist_wait_for_rwp();
 
@@ -2232,6 +2236,9 @@ static int gicv3_suspend(void)
 
     return 0;
 
+ out_its_resume:
+    gicv3_its_resume();
+
  out_enable_iface:
     if ( gicv3_enable_redist() )
         panic("GICv3: Failed to re-enable redistributor after suspend abort\n");
@@ -2358,6 +2365,8 @@ static void gicv3_resume(void)
 
     gicv3_redist_wait_for_rwp();
 
+    gicv3_its_resume();
+
     WRITE_SYSREG(gicv3_ctx.cpu.sre_el2, ICC_SRE_EL2);
     isb();
 
diff --git a/xen/arch/arm/include/asm/gic_v3_its.h b/xen/arch/arm/include/asm/gic_v3_its.h
index fc5a84892c..0f8cb16e41 100644
--- a/xen/arch/arm/include/asm/gic_v3_its.h
+++ b/xen/arch/arm/include/asm/gic_v3_its.h
@@ -43,6 +43,11 @@
 #define GITS_CTLR_QUIESCENT             BIT(31, UL)
 #define GITS_CTLR_ENABLE                BIT(0, UL)
 
+#define GITS_TYPER_HCC_SHIFT            24
+#define GITS_TYPER_HCC_MASK             0xffUL
+#define GITS_TYPER_HCC(r)               (((r) >> GITS_TYPER_HCC_SHIFT) & \
+                                                 GITS_TYPER_HCC_MASK)
+
 #define GITS_TYPER_PTA                  BIT(19, UL)
 #define GITS_TYPER_DEVIDS_SHIFT         13
 #define GITS_TYPER_DEVIDS_MASK          (0x1fUL << GITS_TYPER_DEVIDS_SHIFT)
@@ -129,6 +134,13 @@ struct host_its {
     spinlock_t cmd_lock;
     void *cmd_buf;
     unsigned int flags;
+#ifdef CONFIG_SYSTEM_SUSPEND
+    struct suspend_ctx {
+        uint32_t ctlr;
+        uint64_t cbaser;
+        uint64_t baser[GITS_BASER_NR_REGS];
+    } suspend_ctx;
+#endif
 };
 
 /* Map a collection for this host CPU to each host ITS. */
@@ -204,6 +216,11 @@ uint64_t gicv3_its_get_cacheability(void);
 uint64_t gicv3_its_get_shareability(void);
 unsigned int gicv3_its_get_memflags(void);
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+int gicv3_its_suspend(void);
+void gicv3_its_resume(void);
+#endif
+
 #else
 
 #ifdef CONFIG_ACPI
@@ -271,6 +288,17 @@ static inline int gicv3_its_make_hwdom_dt_nodes(const struct domain *d,
     return 0;
 }
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+static inline int gicv3_its_suspend(void)
+{
+    return 0;
+}
+
+static inline void gicv3_its_resume(void)
+{
+}
+#endif
+
 #endif /* CONFIG_HAS_ITS */
 
 #endif
diff --git a/xen/include/xen/list.h b/xen/include/xen/list.h
index 98d8482dab..2aab274157 100644
--- a/xen/include/xen/list.h
+++ b/xen/include/xen/list.h
@@ -535,6 +535,20 @@ static inline void list_splice_init(struct list_head *list,
          &(pos)->member != (head);                                        \
          (pos) = list_entry((pos)->member.next, typeof(*(pos)), member))
 
+/**
+ * list_for_each_entry_continue_reverse - iterate backwards from the given point
+ * @pos:    the type * to use as a loop cursor.
+ * @head:   the head for your list.
+ * @member: the name of the list_head within the struct.
+ *
+ * Iterate over list of given type backwards, starting from the element previous
+ * to the current one in list order.
+ */
+#define list_for_each_entry_continue_reverse(pos, head, member)           \
+    for ((pos) = list_entry((pos)->member.prev, typeof(*(pos)), member);  \
+         &(pos)->member != (head);                                        \
+         (pos) = list_entry((pos)->member.prev, typeof(*(pos)), member))
+
 /**
  * list_for_each_entry_from - iterate over list of given type from the
  *                            current point
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 12:47:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 12:47:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334274.1597405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXIKq-0002R8-Ez; Wed, 10 Jun 2026 12:47:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334274.1597405; Wed, 10 Jun 2026 12:47: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 1wXIKp-0002P3-OX; Wed, 10 Jun 2026 12:47:07 +0000
Received: by outflank-mailman (input) for mailman id 1334274;
 Wed, 10 Jun 2026 12:45:40 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Mykola_Kvach@epam.com>) id 1wXIJQ-0001FS-ND
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 12:45:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXIJQ-007roF-3w
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 14:45:40 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c63-e002-0a2a0a5209dd-0a2a4509d228-44
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:40 +0200
Received: from [52.101.65.137]
 (helo=DU2PR03CU002.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c73-2497-0a2a45090019-34654189f24b-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:40 +0200
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com (2603:10a6:20b:61d::18)
 by AM9PR03MB7558.eurprd03.prod.outlook.com (2603:10a6:20b:415::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Wed, 10 Jun
 2026 12:45:37 +0000
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7]) by AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7%4]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 12:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=o9P6F818+1NEmAqx4GX5Y2ORpz8/xaUVvSosTGfEf9gTZfN7CCxyKCLF3sQCBt8e1BsHE4MZYMS/KUdW0BwhqaZivo0kS5rSwFqqUTXTF33baqGx41O6xRupP1613rvVVHZ4atKf8uEaoxc+G9Ht217FMbBI3IW0lOW7mlQFjWrc6yRiPj3NgWof0HMSb1R0jLLOLAq85A+Ax3/Y26GJqC56gNkCNFEE2WEIicytWs5PWmzcOHwjuq1c8op+jDLdD0/K1eMO6Up4UuekT279LyJoWvoeoHlkR1vp5VCHBzs593XGBK6/3YkIYaIqAoAxjakJJDkqYK8A1iK+OE2rag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sHwpIqiqjUhBvqtSggh5esR4e9b+MV3aX2Xvrv+38P8=;
 b=O+J0cnjVjQznnSIVbSYQLHjJ/ODQFY/iORwKe7suhMd4MHbHsILx4BCKzekj9G/z5K156RMw6Xx9U/SYIF2/DOEniUi+0X6Z2OxjugqPbeTKWxPST5THUSjNFaDuljXC6uhc/CXc5HgzHSHIzkH02w0kV27pvNVXh6uUqsIDSAeNVpQQMmc92jIGrVqGaOyT+oJPpMHFnH9+SD+Uq3ao8SDpyr6DSQP/Fpgz/NIVr7sBsrDw5n6axuNN97m8+dZOIhrAUybaf1fd8MLZ1mf2ArIhX3+Qvfm4+k6qfmwHAQN3VVtF/26iRGlURX0yCca0iaMGQn1p680yh8eTmIwtrA==
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=sHwpIqiqjUhBvqtSggh5esR4e9b+MV3aX2Xvrv+38P8=;
 b=Jr+mejaHQoO7Qv+YpTWqXfr8wKOKEk024/kqamWbWkNQOdBlN2iL06EVRz3S1hYHww9kANBe/iVVREq1ZnbjyX/ezmqAqM4KlChV94ZEuKPtKJQaox9Dn8eMCIBFPSorK0d3JOavahsozHPav1gYIj1QbPlxeew9CfZ9ktk0T84Vz6/IiVKcObJqNEaGiK6JSm6kKpEiXKH4hWZnNa2ZszBdxMp5tgMc9QrZGoi8wWn1MJhhhu7vvImjl8EGBCwmvUZUhXy/8PY8ip2w0CbUIst8ys5gl9xUGrZZ4Fq485sfS0Fg0lad4YBEB1RbnWnJF/9JcIaAldCwNZ7vG4ynFg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
From: Mykola Kvach <mykola_kvach@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@epam.com>,
	Mykola Kvach <xakep.amatop@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>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Luca Fancellu <luca.fancellu@arm.com>
Subject: [PATCH v11 10/13] xen/arm64: Save/restore CPU context across SYSTEM_SUSPEND
Date: Wed, 10 Jun 2026 15:44:30 +0300
Message-ID: <0df881b529384afbfd6ac289d3d6a14e188f5c57.1781084290.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1781084290.git.mykola_kvach@epam.com>
References: <cover.1781084290.git.mykola_kvach@epam.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: WA1P291CA0008.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:19::19) To AS8PR03MB9746.eurprd03.prod.outlook.com
 (2603:10a6:20b:61d::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9746:EE_|AM9PR03MB7558:EE_
X-MS-Office365-Filtering-Correlation-Id: 3217c138-79ac-4843-bcb4-08dec6ee2bee
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|366016|1800799024|376014|56012099006|11063799006|5023799004|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	N2/RSBYwWc43KrAmv2WLRKd663OQIz1+Abbp2Fws4xhdQnB4qDtpw1Knnu18VRKaA8Mq0nirU2TXr9LRJ54j/krrLiGKxdE3Qy9Vo9S7Nr4kbFalrvl+xqPYVwMXTpf18h4tJpuyoWzgHtxPq4o0SsJrLPP7CEon34haAMX0Os2AjTT3aih8T9m8XAmS70GXXJS4Fph96KXVnsrliaejJurpOvpHiWWViWMlTOQGYFBe2iJTIo3BW4/t9YO2fKxfXcbYeSlF7aNJSIfnYYQHycbA8GPJsohyCDzVyDm0YgL+W8d6+7DgVvgxlHEEFqCF+/L84IWfsLuJCiLuFKjvovGkStSarTfvYfg0bATBtNmfjz4Z/1VR36TPBmu5QNUq4W6MIwDnVrllvH6U626wHujomWHOKREGhw642q4Sbfp92vfZHGeGvzDl3IBRMT6dTnUf4mblUXc7u99VtjJh8vzRy/btij0gwBhX5iOTI9phMV9C9DGv7sKcEphNh6XRqKZFi9kOS6zaChBLkHOokUUf8kTg2LPlxEe8BmWsQkj/exTHsgLUEKxLhc6ghOWTEzm5GyedNqt/PNUGTObxRLfx5erSYsANFjST/IOys3iEq52KJrarBpBvtq5Szs7dAJoTHJJxFb47YfUOauG/SSiqJd2I4VHeakn5ds5iUD6NtiYGKjbLKrzByC4swAKG
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9746.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(366016)(1800799024)(376014)(56012099006)(11063799006)(5023799004)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?JfWsuICEPiMSUj8N18SXYmEixbEmAWnAR8RXpxVfT86mk9Ov3SsRK1gWwftK?=
 =?us-ascii?Q?rEBHSAjAWO7RI9ssRMOb/RzJFw8hDyIxPKavqJzrTpYPNv63SI39fBn9Lrl8?=
 =?us-ascii?Q?dOlo0ELKu8qBuJkMqNquTuQ+VWp73dk8ZFzMSzBVpoScZS7bD743DOuGtte0?=
 =?us-ascii?Q?IIzi7Bic36/Hmbucd6kmAzLifCKjbiDLkdXcgJl/HjeSedEcU2MHwX4THUoH?=
 =?us-ascii?Q?aK0jScl3XKqb9rznUxKU38W+rso2sM0584w6w5WULNxSGKOddkCchzlkqsiy?=
 =?us-ascii?Q?crHKWlOMeXsI5MxLXw/682tKtB54v1S6Q8yhZKixW261WDDMjFVne/fUViBM?=
 =?us-ascii?Q?O3G5Xgmo8809kWW8Piw0RoFZOWhhimGdxL10Y2CFsFCRaf6yDyMcSPsh+/Up?=
 =?us-ascii?Q?++2+n4HiSUU0ClCaIRssWmTwR9rZSg6KBsg10ZdYxfn3j/HTnRrU/kgRnxZM?=
 =?us-ascii?Q?FFLxAZEQW0A9+sEefPfY7DHmUkBfUgboTkmTczj/lcUvnJsA8bJf/EnEMA63?=
 =?us-ascii?Q?EwP1e3GK4YdD7lBrTKINrFf/ZcO2xDJbysNtRfJZtzonGpl08CiPGFXz5IF8?=
 =?us-ascii?Q?AzsYnOz4Ad888+Mp6CximuT5xra/qlPuVChZoT+JDmG0NpIYCNPvArk+1h4V?=
 =?us-ascii?Q?l1vj9g736ETycZXyhf6GlS40txEG2JzLAZbHL8Bg4I9rAZ1O2drZeDXN3EWm?=
 =?us-ascii?Q?X5NlYvPuMgt4Bjjk0UL92nau5LIW07h1Dv7dFhW8QB6U2PPc1JquCGJ8gd2F?=
 =?us-ascii?Q?MKsiP1rQio+a2Cmp4OkdMu2pgDS+HX88MqU8H8Ly08WERw5Aji4WanvqIy/z?=
 =?us-ascii?Q?e2lRNlgj9lkTTeJcw5FQCWEVG7t0DsZw0pXXnZL/RPpWfWRl4SXJEBVYnx48?=
 =?us-ascii?Q?EKjIETUhAojEFNtzZQJGjemwBGzjgb0X13Nk8biBTvNQcvk4FjTm8FB9Yy7i?=
 =?us-ascii?Q?pMMPUDgmFly2UxEQhAAD2rGiJocVyNYvgiS37gSU7YzQjI5B2nREiTEuDXZQ?=
 =?us-ascii?Q?Ej76kKV2mB7HznIaYEWT5Hu8icGl4S3SSJgPMOB6rDPQTdKYr+9BEcjVetAZ?=
 =?us-ascii?Q?XVQ7KSHzW+hgQEM/oO9QcX6UCLijokEPgakVTWj5PHNIDDiag/lwMZOntdar?=
 =?us-ascii?Q?EmjI5iKgd2yq6BoU9SEn/kxfbck3vVXUPpem5FiQGwwjDTr57o9aL+RSm50M?=
 =?us-ascii?Q?SKUpakwXkTNT9jqGo4GTCKolFxHJaA90qnOiZAqNyEl1FMrYxi4rLFdfjvlg?=
 =?us-ascii?Q?mVzmu6M4aEsxTp0KsnvaUUMLa5kr7WGWxfVTjXEN0ub6myiGgquBpumaCcTB?=
 =?us-ascii?Q?6pWpqfI0o+ZMgdJYQ/vrz3oD8fszwMkVY2E+b2qEYv2k4cxs2C8Aeccui3jb?=
 =?us-ascii?Q?vKlG738DPerkushLTkuFiUdfXHCWQ9yRXuITISvWCMUzhz0s6KzmdVCKqglZ?=
 =?us-ascii?Q?dUIQZiv0hyXhso8Gu40w7kmlYJKPTqspQ1PrlOPLtazZWyLb7WM7dG/M69D2?=
 =?us-ascii?Q?jfED61qPL2PjB0bOv0SwbbQSCM5l1aEm22urD8+mJapjrdweyPS6VSk7+st/?=
 =?us-ascii?Q?DFbSGOpwbTVso5XpF2unHY2kG8jRDhxgJIE0Ie3tHkGoJEYScbpNrSvRqSxi?=
 =?us-ascii?Q?K4CoK/241C3uycTQpYrP/d1YEy1tWkXh2J9NAtHVy4OEangqSzw4syJPwhfE?=
 =?us-ascii?Q?pHeBZDidHoQwq8M9DTysStkFH92KGbCVvfKtlRAMY4dIFt9etN46yrrTWMpU?=
 =?us-ascii?Q?eLko7YP/qw=3D=3D?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3217c138-79ac-4843-bcb4-08dec6ee2bee
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9746.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 12:45:37.6398
 (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: oFoy28qX0pFvFgTUHT+XqTBf9iqSgbxxCBhqYPPgr4kss01gn3EJWXwFX37DQpb7tHBIxLKX1VFt9C3l6/67QQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7558
X-purgate-ID: tlsNG-bad1c0/1781095540-89174A53-26438CAD/0/0
X-purgate-type: clean
X-purgate-size: 11487

From: Mirela Simonovic <mirela.simonovic@aggios.com>

On wakeup from PSCI SYSTEM_SUSPEND, Xen re-enters EL2 with the MMU and
data cache disabled. The resume path must first switch back to Xen's
runtime page tables before it can access the saved CPU context using
virtual addresses.

Add an arm64 hyp_resume trampoline that reuses enable_secondary_cpu_mm()
to enable the data cache and MMU, switch to init_ttbr, and resume in the
runtime virtual mapping. The trampoline then restores the saved CPU
general-purpose and system-control register context.

prepare_resume_ctx() must be invoked just before the PSCI system suspend
call is issued to the platform firmware. It saves the current CPU context
and returns a non-zero value so that the caller enters the physical
SYSTEM_SUSPEND call.

On resume, hyp_resume restores the saved context, including the saved link
register. Control therefore returns to the place where prepare_resume_ctx()
was called. To avoid re-entering the suspend path, the restored path sees
prepare_resume_ctx() return zero.

The assembly save/restore code uses offsets generated by asm-offsets.c
from struct resume_cpu_context, keeping the assembly memory accesses in
sync with the C structure layout.

Support for ARM32 is not implemented. Instead, compilation fails with a
build-time error if suspend is enabled for ARM32.

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>
Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes in v10:
- Save and restore CNTHCTL_EL2 across SYSTEM_SUSPEND

Changes in v9:
- Drop the misleading prepare_resume_ctx() pointer argument and make both
  save/restore paths use the global resume_cpu_context.
- Squash the arm64 resume trampoline into the context save/restore patch.
- Document in code that hyp_resume relies on PSCI initial-state rules.
- Use generic platform firmware wording instead of ATF-specific wording.
- Rename the saved context type/storage to resume_cpu_context and rely on
  implicit zero-initialization for the file-scope object.
- Use asm-offsets.c-generated RESUME_CTX_* offsets to keep the assembly
  save/restore code in sync with struct resume_cpu_context.

Changes in v8:
- Fix alignments in code.

Changes in v7:
- No functional changes, just moved commit.
---
 xen/arch/arm/Makefile              |   1 +
 xen/arch/arm/arm64/asm-offsets.c   |  21 +++++
 xen/arch/arm/arm64/head.S          | 122 +++++++++++++++++++++++++++++
 xen/arch/arm/include/asm/suspend.h |  27 +++++++
 xen/arch/arm/suspend.c             |  14 ++++
 5 files changed, 185 insertions(+)
 create mode 100644 xen/arch/arm/suspend.c

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 84c4062b30..e256b0b348 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -51,6 +51,7 @@ obj-y += setup.o
 obj-y += shutdown.o
 obj-y += smp.o
 obj-y += smpboot.o
+obj-$(CONFIG_SYSTEM_SUSPEND) += suspend.o
 obj-$(CONFIG_SYSCTL) += sysctl.o
 obj-y += time.o
 obj-y += traps.o
diff --git a/xen/arch/arm/arm64/asm-offsets.c b/xen/arch/arm/arm64/asm-offsets.c
index 38a3894a3b..5d60406e9c 100644
--- a/xen/arch/arm/arm64/asm-offsets.c
+++ b/xen/arch/arm/arm64/asm-offsets.c
@@ -13,6 +13,7 @@
 #include <asm/mm.h>
 #include <asm/setup.h>
 #include <asm/smccc.h>
+#include <asm/suspend.h>
 
 #define DEFINE(_sym, _val)                                                 \
     asm volatile ( "\n.ascii\"==>#define " #_sym " %0 /* " #_val " */<==\""\
@@ -57,6 +58,26 @@ void __dummy__(void)
    OFFSET(INITINFO_stack, struct init_info, stack);
    BLANK();
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+   OFFSET(RESUME_CTX_X19, struct resume_cpu_context, callee_regs[0]);
+   OFFSET(RESUME_CTX_X21, struct resume_cpu_context, callee_regs[2]);
+   OFFSET(RESUME_CTX_X23, struct resume_cpu_context, callee_regs[4]);
+   OFFSET(RESUME_CTX_X25, struct resume_cpu_context, callee_regs[6]);
+   OFFSET(RESUME_CTX_X27, struct resume_cpu_context, callee_regs[8]);
+   OFFSET(RESUME_CTX_X29, struct resume_cpu_context, callee_regs[10]);
+   OFFSET(RESUME_CTX_SP, struct resume_cpu_context, sp);
+   OFFSET(RESUME_CTX_VBAR_EL2, struct resume_cpu_context, vbar_el2);
+   OFFSET(RESUME_CTX_VTCR_EL2, struct resume_cpu_context, vtcr_el2);
+   OFFSET(RESUME_CTX_VTTBR_EL2, struct resume_cpu_context, vttbr_el2);
+   OFFSET(RESUME_CTX_TPIDR_EL2, struct resume_cpu_context, tpidr_el2);
+   OFFSET(RESUME_CTX_MDCR_EL2, struct resume_cpu_context, mdcr_el2);
+   OFFSET(RESUME_CTX_HSTR_EL2, struct resume_cpu_context, hstr_el2);
+   OFFSET(RESUME_CTX_CPTR_EL2, struct resume_cpu_context, cptr_el2);
+   OFFSET(RESUME_CTX_HCR_EL2, struct resume_cpu_context, hcr_el2);
+   OFFSET(RESUME_CTX_CNTHCTL_EL2, struct resume_cpu_context, cnthctl_el2);
+   BLANK();
+#endif
+
    OFFSET(SMCCC_RES_a0, struct arm_smccc_res, a0);
    OFFSET(SMCCC_RES_a2, struct arm_smccc_res, a2);
    OFFSET(ARM_SMCCC_1_2_REGS_X0_OFFS, struct arm_smccc_1_2_regs, a0);
diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 72c7b24498..962be716ae 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -561,6 +561,128 @@ END(efi_xen_start)
 
 #endif /* CONFIG_ARM_EFI */
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+/*
+ * int prepare_resume_ctx(void)
+ *
+ * CPU context saved here will be restored on resume in hyp_resume function.
+ * prepare_resume_ctx shall return a non-zero value. Upon restoring context
+ * hyp_resume shall return value zero instead. From C code that invokes
+ * prepare_resume_ctx, the return value is interpreted to determine whether
+ * the context is saved (prepare_resume_ctx) or restored (hyp_resume).
+ */
+FUNC(prepare_resume_ctx)
+        ldr   x0, =resume_cpu_context
+
+        /* Store callee-saved registers */
+        stp   x19, x20, [x0, #RESUME_CTX_X19]
+        stp   x21, x22, [x0, #RESUME_CTX_X21]
+        stp   x23, x24, [x0, #RESUME_CTX_X23]
+        stp   x25, x26, [x0, #RESUME_CTX_X25]
+        stp   x27, x28, [x0, #RESUME_CTX_X27]
+        stp   x29, lr, [x0, #RESUME_CTX_X29]
+
+        /* Store stack-pointer */
+        mov   x2, sp
+        str   x2, [x0, #RESUME_CTX_SP]
+
+        /* Store system control registers */
+        mrs   x2, VBAR_EL2
+        str   x2, [x0, #RESUME_CTX_VBAR_EL2]
+        mrs   x2, VTCR_EL2
+        str   x2, [x0, #RESUME_CTX_VTCR_EL2]
+        mrs   x2, VTTBR_EL2
+        str   x2, [x0, #RESUME_CTX_VTTBR_EL2]
+        mrs   x2, TPIDR_EL2
+        str   x2, [x0, #RESUME_CTX_TPIDR_EL2]
+        mrs   x2, MDCR_EL2
+        str   x2, [x0, #RESUME_CTX_MDCR_EL2]
+        mrs   x2, HSTR_EL2
+        str   x2, [x0, #RESUME_CTX_HSTR_EL2]
+        mrs   x2, CPTR_EL2
+        str   x2, [x0, #RESUME_CTX_CPTR_EL2]
+        mrs   x2, HCR_EL2
+        str   x2, [x0, #RESUME_CTX_HCR_EL2]
+        mrs   x2, CNTHCTL_EL2
+        str   x2, [x0, #RESUME_CTX_CNTHCTL_EL2]
+
+        /* prepare_resume_ctx must return a non-zero value */
+        mov   x0, #1
+        ret
+END(prepare_resume_ctx)
+
+FUNC(hyp_resume)
+        /*
+         * PSCI states that SYSTEM_SUSPEND follows the CPU_SUSPEND initial
+         * state rules, so PSCI-compliant firmware must enter the return
+         * exception level with DAIF masked.
+         */
+
+        /* 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   x0, =start
+        adr   x20, start             /* x20 := paddr (start) */
+        sub   x20, x20, x0           /* x20 := phys-offset */
+        ldr   lr, =mmu_resumed
+        b     enable_secondary_cpu_mm
+
+mmu_resumed:
+        /* Now we can access the saved context, so restore it here. */
+        ldr   x0, =resume_cpu_context
+
+        /* Restore callee-saved registers */
+        ldp   x19, x20, [x0, #RESUME_CTX_X19]
+        ldp   x21, x22, [x0, #RESUME_CTX_X21]
+        ldp   x23, x24, [x0, #RESUME_CTX_X23]
+        ldp   x25, x26, [x0, #RESUME_CTX_X25]
+        ldp   x27, x28, [x0, #RESUME_CTX_X27]
+        ldp   x29, lr, [x0, #RESUME_CTX_X29]
+
+        /* Restore stack pointer */
+        ldr   x2, [x0, #RESUME_CTX_SP]
+        mov   sp, x2
+
+        /* Restore system control registers */
+        ldr   x2, [x0, #RESUME_CTX_VBAR_EL2]
+        msr   VBAR_EL2, x2
+        ldr   x2, [x0, #RESUME_CTX_VTCR_EL2]
+        msr   VTCR_EL2, x2
+        ldr   x2, [x0, #RESUME_CTX_VTTBR_EL2]
+        msr   VTTBR_EL2, x2
+        ldr   x2, [x0, #RESUME_CTX_TPIDR_EL2]
+        msr   TPIDR_EL2, x2
+        ldr   x2, [x0, #RESUME_CTX_MDCR_EL2]
+        msr   MDCR_EL2, x2
+        ldr   x2, [x0, #RESUME_CTX_HSTR_EL2]
+        msr   HSTR_EL2, x2
+        ldr   x2, [x0, #RESUME_CTX_CPTR_EL2]
+        msr   CPTR_EL2, x2
+        ldr   x2, [x0, #RESUME_CTX_HCR_EL2]
+        msr   HCR_EL2, x2
+        ldr   x2, [x0, #RESUME_CTX_CNTHCTL_EL2]
+        msr   CNTHCTL_EL2, x2
+        isb
+
+        /*
+         * Since context is restored return from this function will appear
+         * as return from prepare_resume_ctx. To distinguish a return from
+         * prepare_resume_ctx 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 */
+
 /*
  * Local variables:
  * mode: ASM
diff --git a/xen/arch/arm/include/asm/suspend.h b/xen/arch/arm/include/asm/suspend.h
index 31a98a1f1b..c848fc6340 100644
--- a/xen/arch/arm/include/asm/suspend.h
+++ b/xen/arch/arm/include/asm/suspend.h
@@ -3,6 +3,8 @@
 #ifndef ARM_SUSPEND_H
 #define ARM_SUSPEND_H
 
+#include <xen/types.h>
+
 struct domain;
 struct vcpu;
 struct vcpu_guest_context;
@@ -14,6 +16,31 @@ struct resume_info {
 
 void arch_domain_resume(struct domain *d);
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+#ifdef CONFIG_ARM_64
+struct resume_cpu_context {
+    register_t callee_regs[12];
+    register_t sp;
+    register_t vbar_el2;
+    register_t vtcr_el2;
+    register_t vttbr_el2;
+    register_t tpidr_el2;
+    register_t mdcr_el2;
+    register_t hstr_el2;
+    register_t cptr_el2;
+    register_t hcr_el2;
+    register_t cnthctl_el2;
+} __aligned(16);
+#else
+#error "Define resume_cpu_context structure for arm32"
+#endif
+
+extern struct resume_cpu_context resume_cpu_context;
+
+int prepare_resume_ctx(void);
+void hyp_resume(void);
+#endif /* CONFIG_SYSTEM_SUSPEND */
+
 #endif /* ARM_SUSPEND_H */
 
 /*
diff --git a/xen/arch/arm/suspend.c b/xen/arch/arm/suspend.c
new file mode 100644
index 0000000000..6ea4a0f9cc
--- /dev/null
+++ b/xen/arch/arm/suspend.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <asm/suspend.h>
+
+struct resume_cpu_context resume_cpu_context;
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 12:47:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 12:47:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334276.1597411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXIKr-0002e4-2t; Wed, 10 Jun 2026 12:47:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334276.1597411; Wed, 10 Jun 2026 12:47: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 1wXIKq-0002az-Bq; Wed, 10 Jun 2026 12:47:08 +0000
Received: by outflank-mailman (input) for mailman id 1334276;
 Wed, 10 Jun 2026 12:45:43 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Mykola_Kvach@epam.com>) id 1wXIJT-0001G1-8Q
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 12:45:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXIJS-007roF-LC
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 14:45:42 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c75-e002-0a2a0a5209dd-0a2a4509edfa-2
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:42 +0200
Received: from [52.101.72.83]
 (helo=AM0PR02CU008.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c76-2497-0a2a45090019-34654853ba2b-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:42 +0200
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com (2603:10a6:20b:61d::18)
 by AM9PR03MB7558.eurprd03.prod.outlook.com (2603:10a6:20b:415::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Wed, 10 Jun
 2026 12:45:40 +0000
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7]) by AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7%4]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 12:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=oYqAFxO9WriTpN6UHnaYCQ1s5lWXCvxhCdsuhpPZLJVtzLnLGRzBPISmyfCqPhecmjLlfL4hT6eixy6QttttPpyPHntFfz/FR3FfqpEVUzeY90QATM32j4n568uaHyerUlVlzYyCZLzMoc5W1wGeQkxg00NuwyacZK0VbGuOhie02LoqGg8OhVe2jfJjCXC6K5RY1w2kHkyhnW/+EEBDvw7yuMj+vWw72UUAkcsKVh0Uk/sc2dbHvUNi92IUT2HsALaonJ1sxf6qP6VA263IQvWJ7i97w/HgD3LBH0GS2IQ5vCxw7B4sYUbBm3NX6N9UlPTNnPIhloL2OJBsbMZcoA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9Q1Fsw7I5VcRKOn6Vwcp1VtMdJtga40n5Ed4Emmc+5c=;
 b=MttiLgnubCorR63FeNIhlqHe/88i1rOWAc5EuqvtZgOQdKecPlpwRuQti2LmEjX5W4XJN/0YEmsDcy5/MXoDaqXEyGYtGM+6jojQkK9lQfN1QBsN/8+/KrWJE8smvXxjtLiXgfhKtIK2T2BWSUXH7oj895EUxezaz3QEDtYU7gLrnETLtPWtYFDGQKXZ+HbRklsTpujTWKqdCVq50c45Lditd9eozfBEPrTEHUkFQbWvTlwJiyUkot3+YamnGtwUvjQ0RhnkNjrPoUXnsO/qMr71XZB+ULb9VovZPffkE3TmmEmLFCPwItqme6X5GegejDiflQLk0/Cw/NQ0F56bog==
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=9Q1Fsw7I5VcRKOn6Vwcp1VtMdJtga40n5Ed4Emmc+5c=;
 b=hChIU2nE4+B0KQz+25FU/YnMcmk3Uycb9acMFdERJdsWjWi+0k4QIyNrMZton4LH/4aCplO+QqvOvvFAENgEKP8dkQ6X3382ihAkQXb6FveS3zHsmlr6Ryp9UZVZd9fKXV22NYqSVwiXtc2RQ6SmvgR995fsF9eWypG8OS0pdf3MXztvzdCYUEsV8059tCekybruWf8zB/zSgbSPfgR89xidWBgaOJk10TfVU/m56pJAax9htojlkzD5EeDRncWR9JyQvp18I9KZ1vLhltuc2N+CKsSGpBg/yPGbd1dBWCgVAEZXXc5NXylaY63xC7eGKn/HONaCpUzXmD3ji8Io/Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
From: Mykola Kvach <mykola_kvach@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@epam.com>,
	Mykola Kvach <xakep.amatop@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>,
	Luca Fancellu <luca.fancellu@arm.com>
Subject: [PATCH v11 11/13] xen/arm: Implement PSCI SYSTEM_SUSPEND call (host interface)
Date: Wed, 10 Jun 2026 15:44:31 +0300
Message-ID: <bf6645f78b982800527b3d8955745fc80f325a3c.1781084290.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1781084290.git.mykola_kvach@epam.com>
References: <cover.1781084290.git.mykola_kvach@epam.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: WA1P291CA0008.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:19::19) To AS8PR03MB9746.eurprd03.prod.outlook.com
 (2603:10a6:20b:61d::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9746:EE_|AM9PR03MB7558:EE_
X-MS-Office365-Filtering-Correlation-Id: 4c8e49bb-9f50-4e71-53b5-08dec6ee2dbb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|366016|1800799024|376014|56012099006|11063799006|5023799004|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	PyPGwlfat60c4X9V0EPlTKI5aaa3rq3dm1Zh8FUd3LeJhbLbPoxSzq4QwMDqbAYl9Y69k2WLPU98eShJZtYCaGsDZYQSXIRm7jUPP/bhzVRyN3ZrwlmBwtxSOr4S+ydI+SDxHhNA4z4uNApjipJYrkQSfgabbkgYuIG30fXINpyfLQT+CGLXEgBQU0kXgd+/sI8m8hjqF+CRFjzBUg54dsVkQkRdZqzMIBeSWDITVqSxr81BzQumbSlDEFyQPQNoPR+EibjT+VCphAllfj+9dZpal+r9zvHE+uVIB+kdY3QQmDpTdgaiop1/OzFKBwApJ18WeYv9d5+0FHo498+Ekr6wUGYECh86bIuSnS5CBnkCgrDehPla1AjgMb2ThiOq2KZ3H/UXZi9oOI6AI5Ld3SV5G+nSLnW4K3f4RDDpHipsmriD5wHP4RYQTeq4pplCMouiWz3YCLB+RCRBm/b/nw888DT+9VfbD7pyiHnMAIJaUoBG8p5bwztp8mZSGbUCm/3jdagoEnktiyu81BD48CJZAQpK1HtgDOb9LctrTThVaXUfwZFo+CnlvwWxdVptCMrtpUJHYHjxRZZbNBC40SeME4W/zXpeOrs3EKGCeHB4TNXj/j+N1RXxeFMHZ2L2RF1tBDdjTkZk2oFWtlHRw5pk5Xg/XjR1yl+54ikg7pt2RNRu1DZY5aPCbQ6LoiMS
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9746.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(366016)(1800799024)(376014)(56012099006)(11063799006)(5023799004)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?8Jk5hx+dR2gBkG7z+XeERo2Vu83vLXXfWCXVQPHpMiTuSyE0FnDexxpN1p6P?=
 =?us-ascii?Q?7JWSSiGUh7U0sTVnIumM10Fi4T9MA6tBJYCDI75DUJCDAOojpe3SeVuf3lOs?=
 =?us-ascii?Q?nFTyNJ5Wr4wzhz4D4dSfU8uUmCvz2ChhgzxBstfxeyOsUiIeMlUkGjcULw7a?=
 =?us-ascii?Q?DqDduat+FD9jWFUoIicicdA+R/835jkjsMlBi2DHec7S+HOA5q4t2FtXFZNi?=
 =?us-ascii?Q?DM3oAKaLfWTLfStF3RYYC8FW1paB1dqDF6u62iNDmtLvN4FOSE/nZDaNQwlo?=
 =?us-ascii?Q?xDd7yEw/OHJEVW3MbgUCYgLfFiGKMpFyL/wNpCvJNI9YKprd+/EqPzYAyVWH?=
 =?us-ascii?Q?6JmEKW6w6+vl+3yykfUSJLUZsWVuA62SSULCpDwwDpT0FtpWXJSmleHgODeu?=
 =?us-ascii?Q?WsrElT21j0AuanYkVsgYz74YGRhZ8kIfbJWn5xQP6H2sdUjqxr3SHft58i+I?=
 =?us-ascii?Q?Py10jSzkO4nYtin9rREouoXD58UsAwLEitI6lJw6txJRyPkESP/YwciuiSAw?=
 =?us-ascii?Q?+6mVlNdipo2Lpz+dnSGVRWT8A1KUK3sS8HgF1qaioe8trNBNVGA9lLpL+oBE?=
 =?us-ascii?Q?L7S0sxQ0EHMM/TnR9eUt/JAmCNs6eQurYy9m79q6pMCkTfq81t8jky2EdoAE?=
 =?us-ascii?Q?oxMlEzIbYSbRpdEKY5ivb6MZ5WGZqMulB7Q9f1cm5+3kgJQQHVYbzKor0Nu/?=
 =?us-ascii?Q?FW2tcPikBTr98APF4y1isk4suy5aXVvYLB5KXH+QUMhpt1Udp0F5lmDY5D7A?=
 =?us-ascii?Q?2SxTY2Vns/rwBQFDQ64FpTb7BYpJNJyDRmCWWv6n+5RTVnX91SPBgGFDnUDe?=
 =?us-ascii?Q?ROsI4i8v05AaQHx2eDrzXinpDP629CSO7TfarZYQZDLmETEhQuj4EoSWOY/6?=
 =?us-ascii?Q?dq2VquW/wWtB6JMk6D4bqGtJ8sOsk+bAdmunF7BZ+SFqmem2c6TGqTlQdVk+?=
 =?us-ascii?Q?BnUifUobQiMCeQ1doRrx3AppEeUcb20Y5WBz8K2Tgj6oJJuMmrZiZ1wcInHN?=
 =?us-ascii?Q?I7OcV8CjEw7T9wg2p/NG76MHV8WdHzyrVQZx85jFTp1Fiu31NGH79jAQM4wS?=
 =?us-ascii?Q?fMf2fEbXy/9Uy+VaJLOLajnk17QBc6XjOpLqH7zKJe1O+nr2cv3BXxkAPFXJ?=
 =?us-ascii?Q?ksZVyR/jaX2YW308sxnLS2Tj/33q4EktSzoyKGVTlmhrVBoOw4aDXbLNNo14?=
 =?us-ascii?Q?aoxT456K+RdqOxe6QZ5un8/Shl7XjUhhAnoQOI8OBpywyjw+Dj9fEeQ/CrKh?=
 =?us-ascii?Q?rg0LIR7zZMss1EPlyIehnGfvrwQWbtuazCTjnDaCGkquyGkvnYDO5O3jAu17?=
 =?us-ascii?Q?daz1+xezOHNjsRwOYKVQUzFM5ECr/1+RDfxZnFvUu4gIUWUV9hqfmQJ7fuuw?=
 =?us-ascii?Q?tDFQQaYdmn7KzKmBRDKIMIcShXW1NXLUvU2t3XjZrka0mKT85KeE05gLwEzj?=
 =?us-ascii?Q?7kK2wek/nWcrHix2LirI68Na0Bu2AROBzzEor8ZUPHTbVDXa4uipDbztXouY?=
 =?us-ascii?Q?SoDBuUI5Ij9T7C+apP2oMX6F6Y5KkuHSPgZmid9dq2OgrAOLzUhi3gjaFsSW?=
 =?us-ascii?Q?8GYhtGt6Z3xIzwmR7KqhxkGJEvfDw05VIFqHV+q3pyTOSJhuqZ1p6f6GGLNL?=
 =?us-ascii?Q?LY/MlJ08F709doO3Qar/MDzfIHYfOqtPVEYJJPysVaEoQb4Aov8HupQTQ8MW?=
 =?us-ascii?Q?R3SP4s+0FUlXxHnZIq7tA5GQQmCHD3i8G5dTzUV/mPOP83xVm/h5o4AfmEVf?=
 =?us-ascii?Q?9r2RiA+3hg=3D=3D?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4c8e49bb-9f50-4e71-53b5-08dec6ee2dbb
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9746.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 12:45:40.6981
 (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: znTOm2RgPgTWjxTSkdsw12O7JlS7TxtwEQte/g8tqdczjs6qZ7PK9Qcu430PrExrbGAszofyWkbotg8B7JWCeA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7558
X-purgate-ID: tlsNG-bad1c0/1781095542-8B193A53-6591A88C/0/0
X-purgate-type: clean
X-purgate-size: 4081

From: Mirela Simonovic <mirela.simonovic@aggios.com>

Invoke PSCI SYSTEM_SUSPEND to finalize Xen's suspend sequence on ARM64
platforms. Pass the Xen resume entry point (hyp_resume) to EL3 together
with a zero context ID, matching Linux.

This patch wires up only the host-side PSCI SYSTEM_SUSPEND invocation.
The resume trampoline and context restore are provided by earlier patches
in the series.

Only enable this path when CONFIG_SYSTEM_SUSPEND is set and PSCI
advertises SYSTEM_SUSPEND via PSCI_FEATURES.

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>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes in v9:
- cache SYSTEM_SUSPEND support using PSCI_FEATURES and gate the host call
  on the cached capability
- keep the cached SYSTEM_SUSPEND capability read-only after init
- log whether firmware reports SYSTEM_SUSPEND support
- pass an explicit zero context ID in the SYSTEM_SUSPEND call
- drop the stale note claiming hyp_resume is still a stub
---
 xen/arch/arm/include/asm/psci.h |  1 +
 xen/arch/arm/psci.c             | 31 ++++++++++++++++++++++++++++++-
 2 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/include/asm/psci.h b/xen/arch/arm/include/asm/psci.h
index 48a93e6b79..bb3c73496e 100644
--- a/xen/arch/arm/include/asm/psci.h
+++ b/xen/arch/arm/include/asm/psci.h
@@ -23,6 +23,7 @@ int call_psci_cpu_on(int cpu);
 void call_psci_cpu_off(void);
 void call_psci_system_off(void);
 void call_psci_system_reset(void);
+int call_psci_system_suspend(void);
 
 /* Range of allocated PSCI function numbers */
 #define	PSCI_FNUM_MIN_VALUE                 _AC(0,U)
diff --git a/xen/arch/arm/psci.c b/xen/arch/arm/psci.c
index b6860a7760..e05dae1133 100644
--- a/xen/arch/arm/psci.c
+++ b/xen/arch/arm/psci.c
@@ -17,23 +17,27 @@
 #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
  * some calls it is necessary to use SMC64 to pass or return 64-bit values.
- * For such calls PSCI_0_2_FN_NATIVE(x) will choose the appropriate
+ * For such calls PSCI_*_FN_NATIVE(x) will choose the appropriate
  * (native-width) function ID.
  */
 #ifdef CONFIG_ARM_64
 #define PSCI_0_2_FN_NATIVE(name)    PSCI_0_2_FN64_##name
+#define PSCI_1_0_FN_NATIVE(name)    PSCI_1_0_FN64_##name
 #else
 #define PSCI_0_2_FN_NATIVE(name)    PSCI_0_2_FN32_##name
+#define PSCI_1_0_FN_NATIVE(name)    PSCI_1_0_FN32_##name
 #endif
 
 uint32_t psci_ver;
 uint32_t smccc_ver;
 
 static uint32_t psci_cpu_on_nr;
+static bool __ro_after_init has_psci_system_suspend;
 
 #define PSCI_RET(res)   ((int32_t)(res).a0)
 
@@ -60,6 +64,25 @@ void call_psci_cpu_off(void)
     }
 }
 
+int call_psci_system_suspend(void)
+{
+#ifdef CONFIG_SYSTEM_SUSPEND
+    struct arm_smccc_res res;
+
+    if ( !has_psci_system_suspend )
+        return PSCI_NOT_SUPPORTED;
+
+    /* Context ID is unused for the Xen resume path. */
+    arm_smccc_smc(PSCI_1_0_FN_NATIVE(SYSTEM_SUSPEND), __pa(hyp_resume), 0,
+                  &res);
+    return PSCI_RET(res);
+#else
+    dprintk(XENLOG_WARNING,
+            "SYSTEM_SUSPEND not supported (CONFIG_SYSTEM_SUSPEND disabled)\n");
+    return PSCI_NOT_SUPPORTED;
+#endif
+}
+
 void call_psci_system_off(void)
 {
     if ( psci_ver > PSCI_VERSION(0, 1) )
@@ -223,9 +246,15 @@ int __init psci_init(void)
 
     psci_init_smccc();
 
+    has_psci_system_suspend =
+        psci_features(PSCI_1_0_FN_NATIVE(SYSTEM_SUSPEND)) == 0;
+
     printk(XENLOG_INFO "Using PSCI v%u.%u\n",
            PSCI_VERSION_MAJOR(psci_ver), PSCI_VERSION_MINOR(psci_ver));
 
+    printk(XENLOG_DEBUG "PSCI SYSTEM_SUSPEND is %ssupported by firmware\n",
+           has_psci_system_suspend ? "" : "not ");
+
     return 0;
 }
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 12:47:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 12:47:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334278.1597419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXIKr-0002nv-L7; Wed, 10 Jun 2026 12:47:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334278.1597419; Wed, 10 Jun 2026 12:47: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 1wXIKr-0002lR-0k; Wed, 10 Jun 2026 12:47:09 +0000
Received: by outflank-mailman (input) for mailman id 1334278;
 Wed, 10 Jun 2026 12:45:48 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Mykola_Kvach@epam.com>) id 1wXIJY-0001H0-0X
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 12:45:48 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXIJX-009EBh-DE
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 14:45:47 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c6f-bab6-0a2a0a5309dd-0a2a450cbe3a-48
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:47 +0200
Received: from [52.101.69.83]
 (helo=AM0PR83CU005.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c7b-62f1-0a2a450c0019-346545532a7e-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:47 +0200
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com (2603:10a6:20b:61d::18)
 by AM9PR03MB7558.eurprd03.prod.outlook.com (2603:10a6:20b:415::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Wed, 10 Jun
 2026 12:45:44 +0000
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7]) by AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7%4]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 12: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=sFENJWjp6vpe4JCg7uBY9k2rtKuOblzWkiatvKfjejCivJ7qPqUTDQQxk2X/JuZF2WhlX/YhxFK8WRxIRaS0QPsyyAiG+53Blw6Oq5Gty6O3KLu2FjdMAnPyWtRAlgT1a9QpcmwGGFtV/lH0V4nOudjflWj1FdSEQ30ckNc8hS7SJ5C6p4ZdGdaFyBwYBVLi4Uuo0dWZ5oxCXg4WmCyUy9qmzKfpdRAoT7Avtaqc4fh6jOWuiIqJi2OkePViPlhWmnhRToN+KYj+GVWfZg1u2PslEBrJyVa9ziclP76f0+3Lbu0cq/0RPKmdik87+OPEFR5IelClfwu/9sWWKiNqdA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tFuYFSOecUKDErsyX3reeE5XOMbs8qgQiXdEZieBcHY=;
 b=blQROoOMJZ7uSE9krhXyjGBFMwJuHgm5mkdCtGRXLLQ4YLSrGfKReaW8Y3HV0dU5zUbB6SV0As3cwR2uuVk0RA5SJgl4UreNGa6fCHtAo3Frh1pLUXAwPRK8fLhe6MxInAMP4yEYD9/XWE+eKVwm+n9N1OXaRCSx/zJoyots7YPp8vdOpdxmvURqm+PB13uSvHcMP7Iroz/fjIE123fsJDKm8OMTNU5BJ+PafRn2KWtXvev52Sg6UYcSA+Gc7HZIXYUKghDi0PS5QoKtEyRHAzFjZac3y8C9U52dSnLgTgiYPD8GeX7Xve9Jqzsh/RO0adLoP31Gwrw7TNi39XdVnw==
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=tFuYFSOecUKDErsyX3reeE5XOMbs8qgQiXdEZieBcHY=;
 b=vf1bzzP3hn6FuGn4+11tNRiwiU2KvnOOOuA/DaOnK+4XdRvWbB/9MtjnNh9FwNry8jd7GTmYvMncT1vsla+FAkhAJ9DI3mOD9Q8bs0eT6q/070u7ES7RLiwB7b+tkvCqLxLnrGal9kkbE1rkidj2G61isfDAErzylULZC50tIK/FGBNzoSE7FCT5SarWemBf+cY6JNjWFI6EHhXei5ctzag47cGn/n9YFodyg4aewbIhA8P6Hbyeuj/8UEEOVS8oG5D7hdO4NicK4YzyrDY9FsQV2kgpfxIEJpm9fKZHH4xvoMq1RXWWEVHs/9TYulBLiS0wJvSQkBAjv9DztE01Jg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
From: Mykola Kvach <mykola_kvach@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@epam.com>,
	Mykola Kvach <xakep.amatop@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>,
	Rahul Singh <rahul.singh@arm.com>,
	Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
Subject: [PATCH v11 12/13] xen/arm: Add vPSCI SYSTEM_SUSPEND policy
Date: Wed, 10 Jun 2026 15:44:32 +0300
Message-ID: <b8b3675b0c8993349d829becabc2267fb755f5a8.1781084290.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1781084290.git.mykola_kvach@epam.com>
References: <cover.1781084290.git.mykola_kvach@epam.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: WA1P291CA0008.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:19::19) To AS8PR03MB9746.eurprd03.prod.outlook.com
 (2603:10a6:20b:61d::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9746:EE_|AM9PR03MB7558:EE_
X-MS-Office365-Filtering-Correlation-Id: 9dcc0362-d773-4f48-2cc7-08dec6ee2f2f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|366016|1800799024|7416014|376014|56012099006|11063799006|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	TyMmcxTH3pgd1/LNPkFM2wW0B245+U+dPGBk47RHt833trsJoQt0XBmtq9DGfxpBHXPE0GwwVjRKoFdjkzSRdkawrvsZnp6YE0VfieRt6trSFpGpW7GH+Kymjzz67069GsU0nCEsXXeiiLpTs8uMtAYQD3SJ2lbEz3OCJYrY0wlO9LZPkiErvm34YTwS+ZEbdNYSTdhSOx0Psx3jnWcmN8VQOEGS86kVKdeIpzIlF78MH4q/ot5HI+6ooIhEydic3Dk/35Hm29/U1f3/vay85DLtBXCgtbytXQpcEOMEK0EwlqruYv1QDuvFmztBb9AtHXezNwVxxlLB3J/f4YqBEtDMYwcCxnq/nhNsTjCgSJZbTlZtkOWOnvspPlJEbdWNgLGhwcFF6EeQF0WlWPJ4kWV/Utf+1zQtkGU9JAfjZtUtCOdPVPTXZGYJmDYfeem/fv8H7Mx2vndcSnUQvZ3VtQqwXoo3/te5P0qNsjTxVGR8F1BSGMtjxK+taosXN6uFCqYbzNY8231gHU93GqCUu57bWGTKMD1ClAwK/2+DX+5qkMrFDtnNUG19c56WJtnYQHj/HAhAhHWjpPkV9PkKTTwiWXmVOgtf46mGPXyKdTROEC2cqJiy4PBU2O02CgitYe9Mjze0OBG/wvn7NSF0CmsDiav4rKHeAJSrK4qpkl4jZj1bSo2KX50GR+4sTQoo
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9746.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(366016)(1800799024)(7416014)(376014)(56012099006)(11063799006)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?5HTXcxKUqjp3vh2bOV6qGzGSDyq0LoSZTfQaL3OLG+xg6URedz6/MRdXWQIt?=
 =?us-ascii?Q?kR9FCxUmoir3wd8ac2OEyn6YJvmK3T+Z11wZ3K0dDI3lfkjL95wSftNkZC/c?=
 =?us-ascii?Q?JVK/gXCg49WZqT2np3HHVMIZ5IhqCN+xPql0hGTVPgpK90iKE5v/A8dcBVlG?=
 =?us-ascii?Q?AZTsQKezasQTPXTW8npen7PocQvTd5sy8Xv0Dsh699jAGku0orM2j79d7CJ7?=
 =?us-ascii?Q?v+1u+zVUqcBHjkknDUqWSSuLNIPshgk5SYf3EN8XoaEgK/1OwGzD0LbqJ+2r?=
 =?us-ascii?Q?G+95TLiDY5rP1rlorUdDjo1da3kWIIGNxXQJkx8peDWWDTLw2xH5bclVZ6ks?=
 =?us-ascii?Q?ShC8pO+ObSA9Fjdx6CWkecaac9VD3V2W2GOf/k3RLXQ6zppTFLPKSpTHun4w?=
 =?us-ascii?Q?//7O71XmYuOZMoR7bcQYo3L3Y9J/IBbPvbu3NK58/8yyTd0Dq7rnN745ytQ2?=
 =?us-ascii?Q?As/zA2+Edw6vbPSIQJQvmRnj+7UydB+f810uSZtwLtSfq+D6L5ju+pfsXATZ?=
 =?us-ascii?Q?JFdRt/m1Q2ec3ho+8Z4GIWh3X0wrZlTpcrAUHXTuuZdNgNLK50/BsqYWHW/A?=
 =?us-ascii?Q?k0wGQUIX4V4SdZflbRRtS5sJdfE41WVjC9HdJz38dtySgAyszZOIMMN11XVj?=
 =?us-ascii?Q?qA5MgiX3tVHWPhOp6oU6r1VWuLUFhm+LwSX5Imh7cEiP61fN+jC1a8olrmqB?=
 =?us-ascii?Q?kNEwx+ee1SE+N8au2zPs60Pc8tW8B5rAudZ3q733r/SONvG2FmPIeHOrenAb?=
 =?us-ascii?Q?18DLa3pAzsbOIFJ5rgVc/v4q1+pqCVcjUi7gPcwy+B4+5knKgQZyIdypE+Bb?=
 =?us-ascii?Q?H5iHmVuYrzB6ZYLLSqUtwroa+hn9C0QWTJdTXicDCcMCR6O4Chiib9qAhgSr?=
 =?us-ascii?Q?bqF+wOsdTeWqCNNfzxNmLLrtFbevrKhbxqSPT4OzQx76WR30jlDsWwz1Ka5u?=
 =?us-ascii?Q?/08aKFtX5JSvn3WYztXVL0wU/sPBqLKxp+VEWpKywFwJyp1RX8aYvZNqX+iF?=
 =?us-ascii?Q?p+Gf/b8DMWMRLe368Czugv0sZ5ENWFf+GI0Thv0uB52Z7KCZXc17iAiWK83O?=
 =?us-ascii?Q?GhefZ+B3Rxi2j8S1un4QZY+FTE4BGK03Laynpld8ux1eE7booMSYbKbNTAnb?=
 =?us-ascii?Q?IOFRoRr/Vhgl+uo1fKm0JJ2EIeRupZna22e0DHG3QbMznle4RGMoa8y6EmbR?=
 =?us-ascii?Q?VxhCCJi96LzbZ/7RMZw1V3/aQanYOPUL5k1H4IIERmUWpodazJsVnLJsC0zj?=
 =?us-ascii?Q?OswQ3NfoPPppHEnN6mLzblU6ePPnOHwQqxNraEipM4+9KgK7DrIaJVqf8Tn/?=
 =?us-ascii?Q?N6WMFCR8gpKb2HNtsoDTDQAwMvDvPYwUgSVHFniFiPTUMp4DY/poIeMSUzFH?=
 =?us-ascii?Q?9H6J64cWsIs8UT9OOianXXdT+p4AxLeeS9jsGOeuqOYQb2mTgyFocEFr4bCN?=
 =?us-ascii?Q?vxZpd3SQ3t2nUQPPZZfHnLGse2aRwX2Vfvp0HjvT29hFLHG9N+ILk8H9G23h?=
 =?us-ascii?Q?ltP+fiXu+U1JoUanTQKz3SuKxX0mb18ll5e1w2bjKDDudBWUQAsYV5rqDADD?=
 =?us-ascii?Q?iTefchPl18IkhAX35pHv+bsU6iZjT6nb0/UWDLlsy9WTYtfjh6gR+v2OUB7w?=
 =?us-ascii?Q?tCHgZDINwGNdbn7z4bOGFURuTzOyTaFe2Iww49R1mHwA/ydbd8PX4JtvuvGz?=
 =?us-ascii?Q?Rv+UT/wUBoCjf8Wg2EzqMwpBSeLFZfBjwZ1HZPViORGz0op6mYPpI2LytCVE?=
 =?us-ascii?Q?RV9w8zKWFQ=3D=3D?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9dcc0362-d773-4f48-2cc7-08dec6ee2f2f
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9746.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 12:45:43.2223
 (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: ZIjjPsG15CZbmm8eSRrGvim933OrgHzOuk1QBbaaoLlfitAc85+YOFSqPwfW2+U8W5qzWiEbwm6jEyWyidBRHg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7558
X-purgate-ID: tlsNG-d25034/1781095547-DB370CF5-FA17FB19/0/0
X-purgate-type: clean
X-purgate-size: 18210

Introduce CONFIG_HAS_HWDOM_SYSTEM_SUSPEND as an architecture-selected
capability for platforms where the hardware domain can be parked with
SHUTDOWN_suspend without calling hwdom_shutdown().

Expose PSCI SYSTEM_SUSPEND as a vPSCI operation for all domains. For
non-control domains, including the hardware domain when it is not acting
as a control domain, the call is handled as a guest/domain suspend request
and parks the domain in SHUTDOWN_suspend.

Control domains need additional sequencing because their SYSTEM_SUSPEND
request is used to coordinate host-wide suspend. A non-last awake control
domain may be parked in SHUTDOWN_suspend without requiring the host
suspend path to be available. The last awake control domain is treated as
the point where the request becomes a host-suspend request, and it may
only proceed when all non-control domains are already in SHUTDOWN_suspend
and the host suspend path is available.

Keep the control-domain sequencing and domain-readiness checks out of
PSCI_FEATURES. They are per-attempt runtime conditions rather than stable
PSCI function availability. Advertise SYSTEM_SUSPEND as implemented by
vPSCI and report attempt-time policy failures as PSCI_DENIED.

Select HAS_HWDOM_SYSTEM_SUSPEND independently from CONFIG_SYSTEM_SUSPEND
so that SHUTDOWN_suspend from the hardware domain can be treated as a
domain suspend state rather than as a hardware-domain initiated host
shutdown. This does not by itself imply that host-wide suspend is
available.

Add host_system_suspend_allowed() to combine the host PSCI SYSTEM_SUSPEND
capability with runtime blockers reported by Xen-owned subsystems. Add
runtime blockers for registered serial, IOMMU, GIC and SMMUv3 MSI IRQ
paths lacking suspend/resume support. These blockers are runtime based,
so they only apply to drivers or paths that Xen actually uses on the
platform. For SMMUv3, the blocker applies only when Xen actually uses the
MSI IRQ path, since resume does not restore the SMMU *_IRQ_CFGn MSI
registers yet.

Add a struct domain forward declaration to xen/suspend.h so the generic
header can expose arch_domain_resume() without requiring a full domain.h
include.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
---
Changes in V11:
- Mark host_system_suspend_runtime_allowed as __ro_after_init.
- Avoid printing the SMMUv3 MSI IRQ host suspend blocker more than once
  when multiple SMMUv3 instances use MSIs.
- Wrap the Arm IOMMU host suspend blocker in CONFIG_SYSTEM_SUSPEND to make
  its policy-only use explicit.

Changes in V10:
- Return PSCI_DENIED rather than PSCI_NOT_SUPPORTED when the last awake
  control domain cannot proceed to host suspend, keeping PSCI_FEATURES
  stable once SYSTEM_SUSPEND is advertised.
- Shorten SYSTEM_SUSPEND blocker messages and use %pd when logging the
  control domain.
- Mark serial_suspend_available as __ro_after_init.
- Mention the struct domain forward declaration added to xen/suspend.h.

Changes in V9:
- Select HAS_HWDOM_SYSTEM_SUSPEND independently from CONFIG_SYSTEM_SUSPEND
  so that hardware-domain SHUTDOWN_suspend support is not tied to
  host-wide system suspend availability.
- Add runtime host suspend blockers for Xen-owned subsystems lacking
  suspend/resume support.
- Keep vPSCI SYSTEM_SUSPEND advertised through PSCI_FEATURES and enforce
  control-domain sequencing in the call handler.
---
 xen/arch/arm/Kconfig                  |   1 +
 xen/arch/arm/gic.c                    |   6 ++
 xen/arch/arm/include/asm/psci.h       |   3 +
 xen/arch/arm/include/asm/suspend.h    |  10 ++-
 xen/arch/arm/psci.c                   |   7 ++
 xen/arch/arm/suspend.c                |  40 +++++++++
 xen/arch/arm/vpsci.c                  | 114 +++++++++++++++++++++++---
 xen/common/Kconfig                    |   3 +
 xen/common/domain.c                   |   7 +-
 xen/drivers/char/serial.c             |  12 +++
 xen/drivers/passthrough/arm/iommu.c   |   6 ++
 xen/drivers/passthrough/arm/smmu-v3.c |   9 ++
 xen/include/xen/serial.h              |   1 +
 xen/include/xen/suspend.h             |   2 +
 14 files changed, 208 insertions(+), 13 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 5fa89fcb24..9acd342f09 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -19,6 +19,7 @@ config ARM
 	select HAS_ALTERNATIVE if HAS_VMAP
 	select HAS_DEVICE_TREE_DISCOVERY
 	select HAS_DOM0LESS
+	select HAS_HWDOM_SYSTEM_SUSPEND if !MPU
 	select HAS_GRANT_CACHE_FLUSH if GRANT_TABLE
 	select HAS_STACK_PROTECTOR
 	select HAS_UBSAN
diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index 7727ffed5a..60488c95b4 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -26,6 +26,7 @@
 #include <asm/device.h>
 #include <asm/io.h>
 #include <asm/gic.h>
+#include <asm/suspend.h>
 #include <asm/vgic.h>
 #include <asm/acpi.h>
 
@@ -44,6 +45,11 @@ static void __init __maybe_unused build_assertions(void)
 void register_gic_ops(const struct gic_hw_operations *ops)
 {
     gic_hw_ops = ops;
+
+#ifdef CONFIG_SYSTEM_SUSPEND
+    if ( !ops->suspend || !ops->resume )
+        host_system_suspend_disable("GIC driver lacks suspend support");
+#endif
 }
 
 static void clear_cpu_lr_mask(void)
diff --git a/xen/arch/arm/include/asm/psci.h b/xen/arch/arm/include/asm/psci.h
index bb3c73496e..142fa1bfe5 100644
--- a/xen/arch/arm/include/asm/psci.h
+++ b/xen/arch/arm/include/asm/psci.h
@@ -24,6 +24,9 @@ void call_psci_cpu_off(void);
 void call_psci_system_off(void);
 void call_psci_system_reset(void);
 int call_psci_system_suspend(void);
+#ifdef CONFIG_SYSTEM_SUSPEND
+bool psci_system_suspend_allowed(void);
+#endif
 
 /* Range of allocated PSCI function numbers */
 #define	PSCI_FNUM_MIN_VALUE                 _AC(0,U)
diff --git a/xen/arch/arm/include/asm/suspend.h b/xen/arch/arm/include/asm/suspend.h
index c848fc6340..50dc6e9fdf 100644
--- a/xen/arch/arm/include/asm/suspend.h
+++ b/xen/arch/arm/include/asm/suspend.h
@@ -39,7 +39,15 @@ extern struct resume_cpu_context resume_cpu_context;
 
 int prepare_resume_ctx(void);
 void hyp_resume(void);
-#endif /* CONFIG_SYSTEM_SUSPEND */
+bool host_system_suspend_allowed(void);
+void host_system_suspend_disable(const char *reason);
+
+#else /* !CONFIG_SYSTEM_SUSPEND */
+
+static inline bool host_system_suspend_allowed(void) { return false; }
+static inline void host_system_suspend_disable(const char *reason) {}
+
+#endif
 
 #endif /* ARM_SUSPEND_H */
 
diff --git a/xen/arch/arm/psci.c b/xen/arch/arm/psci.c
index e05dae1133..e9d78668fd 100644
--- a/xen/arch/arm/psci.c
+++ b/xen/arch/arm/psci.c
@@ -41,6 +41,13 @@ static bool __ro_after_init has_psci_system_suspend;
 
 #define PSCI_RET(res)   ((int32_t)(res).a0)
 
+#ifdef CONFIG_SYSTEM_SUSPEND
+bool psci_system_suspend_allowed(void)
+{
+    return has_psci_system_suspend;
+}
+#endif
+
 int call_psci_cpu_on(int cpu)
 {
     struct arm_smccc_res res;
diff --git a/xen/arch/arm/suspend.c b/xen/arch/arm/suspend.c
index 6ea4a0f9cc..c7c26bcf03 100644
--- a/xen/arch/arm/suspend.c
+++ b/xen/arch/arm/suspend.c
@@ -1,9 +1,49 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
+#include <asm/psci.h>
 #include <asm/suspend.h>
 
+#include <xen/lib.h>
+#include <xen/serial.h>
+
 struct resume_cpu_context resume_cpu_context;
 
+/*
+ * Non-PSCI infrastructure can make host suspend impossible even when the PSCI
+ * SYSTEM_SUSPEND conduit is present, e.g. when a Xen-owned driver has no valid
+ * suspend/resume path.
+ *
+ * This gate is checked only when the last awake control domain attempts to
+ * turn a guest SYSTEM_SUSPEND request into a host-suspend request.
+ */
+static bool __ro_after_init host_system_suspend_runtime_allowed = true;
+
+static bool host_serial_suspend_allowed(void)
+{
+    if ( serial_suspend_supported() )
+        return true;
+
+    printk_once(XENLOG_INFO
+                "Host SYSTEM_SUSPEND blocked: serial unsupported\n");
+
+    return false;
+}
+
+bool host_system_suspend_allowed(void)
+{
+    return psci_system_suspend_allowed() &&
+           host_serial_suspend_allowed() &&
+           host_system_suspend_runtime_allowed;
+}
+
+void host_system_suspend_disable(const char *reason)
+{
+    host_system_suspend_runtime_allowed = false;
+
+    printk(XENLOG_INFO "Host SYSTEM_SUSPEND blocked: %s\n",
+           reason ? reason : "unsupported suspend/resume path");
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/vpsci.c b/xen/arch/arm/vpsci.c
index ac6af6118f..0bae42c1bd 100644
--- a/xen/arch/arm/vpsci.c
+++ b/xen/arch/arm/vpsci.c
@@ -5,6 +5,7 @@
 
 #include <asm/current.h>
 #include <asm/domain.h>
+#include <asm/suspend.h>
 #include <asm/vgic.h>
 #include <asm/vpsci.h>
 #include <asm/event.h>
@@ -219,6 +220,89 @@ static void do_psci_0_2_system_reset(void)
     domain_shutdown(d,SHUTDOWN_reboot);
 }
 
+/*
+ * Serialise SYSTEM_SUSPEND policy decisions with the domain suspend transition,
+ * so multiple control domains cannot all observe each other as still awake.
+ */
+static DEFINE_SPINLOCK(vpsci_system_suspend_lock);
+
+static bool domain_in_suspend_state(struct domain *d)
+{
+    bool suspended;
+
+    spin_lock(&d->shutdown_lock);
+    suspended = d->is_shut_down && d->shutdown_code == SHUTDOWN_suspend;
+    spin_unlock(&d->shutdown_lock);
+
+    return suspended;
+}
+
+static int32_t domain_psci_system_suspend_policy(struct domain *d)
+{
+    struct domain *other;
+    bool last_awake_control_domain = true;
+    bool awake_non_control_domain = false;
+
+    /* Only control domains participate in sequencing policy. */
+    if ( !is_control_domain(d) )
+        return 0;
+
+    rcu_read_lock(&domlist_read_lock);
+
+    for_each_domain ( other )
+    {
+        bool suspended;
+
+        if ( other == d )
+            continue;
+
+        suspended = domain_in_suspend_state(other);
+        if ( suspended )
+            continue;
+
+        if ( is_control_domain(other) )
+        {
+            last_awake_control_domain = false;
+            break;
+        }
+
+        awake_non_control_domain = true;
+    }
+
+    rcu_read_unlock(&domlist_read_lock);
+
+    /*
+     * Another control domain is still awake. This request is only the first
+     * phase of the sequencing: park this control domain and leave the host
+     * running. Host-wide suspend gates must not block this intermediate state.
+     */
+    if ( !last_awake_control_domain )
+        return 0;
+
+    /*
+     * This is the last awake control domain. It must not be parked unless the
+     * request can proceed as a host-suspend request; otherwise Xen would lose
+     * the last domain that can coordinate the system suspend.
+     */
+    if ( awake_non_control_domain )
+    {
+        printk(XENLOG_DEBUG
+               "SYSTEM_SUSPEND denied for %pd: non-control domains awake\n",
+               d);
+        return PSCI_DENIED;
+    }
+
+    /*
+     * Host-wide gates are relevant only for the last-control-domain case. They
+     * must not block parking of a non-last control domain, but they must deny
+     * the last control domain when host suspend is not currently available.
+     */
+    if ( !host_system_suspend_allowed() )
+        return PSCI_DENIED;
+
+    return 0;
+}
+
 static int32_t do_psci_1_0_system_suspend(register_t epoint, register_t cid)
 {
     int32_t rc;
@@ -232,10 +316,6 @@ static int32_t do_psci_1_0_system_suspend(register_t epoint, register_t cid)
     if ( is_64bit_domain(d) && is_thumb )
         return PSCI_INVALID_ADDRESS;
 
-    /* SYSTEM_SUSPEND is not supported for the hardware domain yet */
-    if ( is_hardware_domain(d) )
-        return PSCI_NOT_SUPPORTED;
-
     /* Ensure that all CPUs other than the calling one are offline */
     domain_lock(d);
     for_each_vcpu ( d, v )
@@ -252,16 +332,29 @@ static int32_t do_psci_1_0_system_suspend(register_t epoint, register_t cid)
     if ( rc )
         return PSCI_DENIED;
 
-    rc = domain_shutdown(d, SHUTDOWN_suspend);
+    spin_lock(&vpsci_system_suspend_lock);
+
+    rc = domain_psci_system_suspend_policy(d);
+    if ( !rc )
+    {
+        rc = domain_shutdown(d, SHUTDOWN_suspend);
+        if ( rc )
+            rc = PSCI_DENIED;
+        else
+        {
+            rctx->ctxt = ctxt;
+            rctx->wake_cpu = current;
+        }
+    }
+
+    spin_unlock(&vpsci_system_suspend_lock);
+
     if ( rc )
     {
         free_vcpu_guest_context(ctxt);
-        return PSCI_DENIED;
+        return rc;
     }
 
-    rctx->ctxt = ctxt;
-    rctx->wake_cpu = current;
-
     gprintk(XENLOG_DEBUG,
             "SYSTEM_SUSPEND requested, epoint=%#"PRIregister", cid=%#"PRIregister"\n",
             epoint, cid);
@@ -287,10 +380,9 @@ static int32_t do_psci_1_0_features(uint32_t psci_func_id)
     case PSCI_0_2_FN32_SYSTEM_RESET:
     case PSCI_1_0_FN32_PSCI_FEATURES:
     case ARM_SMCCC_VERSION_FID:
-        return 0;
     case PSCI_1_0_FN32_SYSTEM_SUSPEND:
     case PSCI_1_0_FN64_SYSTEM_SUSPEND:
-        return is_hardware_domain(current->domain) ? PSCI_NOT_SUPPORTED : 0;
+        return 0;
     default:
         return PSCI_NOT_SUPPORTED;
     }
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 5ff71480ee..816a1a4ecb 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -140,6 +140,9 @@ config HAS_EX_TABLE
 config HAS_FAST_MULTIPLY
 	bool
 
+config HAS_HWDOM_SYSTEM_SUSPEND
+	bool
+
 config HAS_IOPORTS
 	bool
 
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 8f2bfcae28..a8750c3839 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -1377,6 +1377,11 @@ void __domain_crash(struct domain *d)
     domain_shutdown(d, SHUTDOWN_crash);
 }
 
+static inline bool want_hwdom_shutdown(uint8_t reason)
+{
+    return !IS_ENABLED(CONFIG_HAS_HWDOM_SYSTEM_SUSPEND) ||
+           reason != SHUTDOWN_suspend;
+}
 
 int domain_shutdown(struct domain *d, u8 reason)
 {
@@ -1393,7 +1398,7 @@ int domain_shutdown(struct domain *d, u8 reason)
         d->shutdown_code = reason;
     reason = d->shutdown_code;
 
-    if ( is_hardware_domain(d) )
+    if ( is_hardware_domain(d) && want_hwdom_shutdown(reason) )
         hwdom_shutdown(reason);
 
     if ( d->is_shutting_down )
diff --git a/xen/drivers/char/serial.c b/xen/drivers/char/serial.c
index adb312d796..e5348b5445 100644
--- a/xen/drivers/char/serial.c
+++ b/xen/drivers/char/serial.c
@@ -497,6 +497,8 @@ const struct vuart_info *serial_vuart_info(int idx)
 
 #ifdef CONFIG_SYSTEM_SUSPEND
 
+static bool __ro_after_init serial_suspend_available = true;
+
 void serial_suspend(void)
 {
     int i;
@@ -513,6 +515,11 @@ void serial_resume(void)
             com[i].driver->resume(&com[i]);
 }
 
+bool serial_suspend_supported(void)
+{
+    return serial_suspend_available;
+}
+
 #endif /* CONFIG_SYSTEM_SUSPEND */
 
 void __init serial_register_uart(int idx, struct uart_driver *driver,
@@ -521,6 +528,11 @@ void __init serial_register_uart(int idx, struct uart_driver *driver,
     /* Store UART-specific info. */
     com[idx].driver = driver;
     com[idx].uart   = uart;
+
+#ifdef CONFIG_SYSTEM_SUSPEND
+    if ( !driver->suspend || !driver->resume )
+        serial_suspend_available = false;
+#endif
 }
 
 void __init serial_async_transmit(struct serial_port *port)
diff --git a/xen/drivers/passthrough/arm/iommu.c b/xen/drivers/passthrough/arm/iommu.c
index 100545e23f..461e01703e 100644
--- a/xen/drivers/passthrough/arm/iommu.c
+++ b/xen/drivers/passthrough/arm/iommu.c
@@ -19,6 +19,7 @@
 #include <xen/device_tree.h>
 #include <xen/iommu.h>
 #include <xen/lib.h>
+#include <xen/suspend.h>
 
 #include <asm/device.h>
 
@@ -46,6 +47,11 @@ void __init iommu_set_ops(const struct iommu_ops *ops)
     }
 
     iommu_ops = ops;
+
+#ifdef CONFIG_SYSTEM_SUSPEND
+    if ( !ops->suspend || !ops->resume )
+        host_system_suspend_disable("IOMMU driver lacks suspend support");
+#endif
 }
 
 int __init iommu_hardware_setup(void)
diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index 7f1d00fb81..16947a12f2 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -91,6 +91,7 @@
 #include <asm/io.h>
 #include <asm/iommu_fwspec.h>
 #include <asm/platform.h>
+#include <asm/suspend.h>
 
 #include "smmu-v3.h"
 
@@ -1866,6 +1867,7 @@ static void arm_smmu_write_msi_msg(struct msi_desc *desc, struct msi_msg *msg)
 
 static void arm_smmu_setup_msis(struct arm_smmu_device *smmu)
 {
+	static bool __ro_after_init host_suspend_blocked_by_msi;
 	struct msi_desc *desc;
 	int ret, nvec = ARM_SMMU_MAX_MSIS;
 	struct device *dev = smmu->dev;
@@ -1910,6 +1912,13 @@ static void arm_smmu_setup_msis(struct arm_smmu_device *smmu)
 		}
 	}
 
+	if ( !host_suspend_blocked_by_msi )
+	{
+		host_suspend_blocked_by_msi = true;
+		host_system_suspend_disable(
+			"SMMUv3 MSI IRQ path is unsupported for host suspend");
+	}
+
 	/* Add callback to free MSIs on teardown */
 	devm_add_action(dev, arm_smmu_free_msis, dev);
 }
diff --git a/xen/include/xen/serial.h b/xen/include/xen/serial.h
index 8e18445552..418b00ead0 100644
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -137,6 +137,7 @@ const struct vuart_info* serial_vuart_info(int idx);
 /* Serial suspend/resume. */
 void serial_suspend(void);
 void serial_resume(void);
+bool serial_suspend_supported(void);
 #endif
 
 /*
diff --git a/xen/include/xen/suspend.h b/xen/include/xen/suspend.h
index 6f94fd53b0..a941331035 100644
--- a/xen/include/xen/suspend.h
+++ b/xen/include/xen/suspend.h
@@ -6,6 +6,8 @@
 #if __has_include(<asm/suspend.h>)
 #include <asm/suspend.h>
 #else
+struct domain;
+
 static inline void arch_domain_resume(struct domain *d) {}
 #endif
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 12:47:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 12:47:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334279.1597425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXIKs-00030E-6n; Wed, 10 Jun 2026 12:47:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334279.1597425; Wed, 10 Jun 2026 12: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 1wXIKr-0002vo-Nh; Wed, 10 Jun 2026 12:47:09 +0000
Received: by outflank-mailman (input) for mailman id 1334279;
 Wed, 10 Jun 2026 12:45:48 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Mykola_Kvach@epam.com>) id 1wXIJY-0001H1-5c
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 12:45:48 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXIJX-00HZzX-Ik
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 14:45:47 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c7b-2eae-0a2a0a5409dd-0a2a450cccde-0
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:47 +0200
Received: from [52.101.69.83]
 (helo=AM0PR83CU005.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a295c7b-62f1-0a2a450c0019-346545532a7e-4
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 14:45:47 +0200
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com (2603:10a6:20b:61d::18)
 by AM9PR03MB7558.eurprd03.prod.outlook.com (2603:10a6:20b:415::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Wed, 10 Jun
 2026 12:45:45 +0000
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7]) by AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7%4]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 12:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=AEWDXlosCvNifLpDxluL+1iiRhpjrp+h3Fy1Xa/J0DaftDyx0aw13w26R4Jr2KC/ZyTuO4qnqnRv7zJngAV6/eE6DJ6sulBvnIk1TLbhs2eB9oIU7m00LecidFh7ZEthgaoX9qiFyDi8aP35dd4KjmxPEXgwqhkuwfhXhVDRaUWNcgVAF02MG2rWLYd1nfcaMX7qOdoJNhdGnVdOL83fBThbn8gnmxcZMKp68BWWONvYAlCJIveGtzp+j8ZWOFmJei61HzoGQxs6C9thrl11RMsQKq+fihpUVCWy68kAnMihL5a2Afkgj6uuVJsH5PiC/tc5w8iKkRCRDN+5R8KL3g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CmvxC/INp19b+i88n0k6NHOjs/Hn3KkLy2VeOHRcLXY=;
 b=AZkFmpalzgjJIvUj2MX9OERXpgqq56HTiG31jWED4pFpM5fUxYxnSOgvecDSz7nm+vo1R+6HVtz0eju5HS3exuLQ+YZBc/aRQt3GYgQnTSyhVe0MwxLOIJtZsz6uFnpvzASmdBRbXjp3HVk9KBSvA4/lUtcG2DQCGXk2eI4JsjlWuOirAcC+Q7uGe+XGXUjShgI9yBaPcT2mgvvGa0JsXzu8NeIvG5teHxcd4lWIF7fvtUhZIbxFJva9gs4hLpo1HwuW6AdxUd+bNxk4v6UzBEbEiCYOTJVMWld0WO0l5p99fl4y2XIx5OPHodclgE6WIcr9ITyztnj2Sf/aqy5fCQ==
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=CmvxC/INp19b+i88n0k6NHOjs/Hn3KkLy2VeOHRcLXY=;
 b=iqGiAEbukuy8V+6CEBUNXqWkOSxscfZMPkNHwRkUJnYfgcDY8o09JHijQXtfHdUwH3bbqKw/p9Fchsyztbh7sBqb6X9WUFs647/0mNmghHMrNaBpbKcCnb5G1Lcl4vHUv+glELwiqPBEIEw733DhXbDosTqnMza1rL6hH7tsL2xHWcS2r/U7s65GwfxCgOOeW/Vt1aVGBUoAr6tFkYffCFpu7kWTFWWnh7gUB9cBvA8/1wkNYK5qh2bL2+4YRHSGzZ7NB7RCUCdONWpLIZ1c0DYO/npjyX6aGO347HXdbtBMUHdgCXBfZeS7Z30ukxRg/fgRvuXaM5BCsH7AuuRSSA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
From: Mykola Kvach <mykola_kvach@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Mykola Kvach <mykola_kvach@epam.com>,
	Mykola Kvach <xakep.amatop@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>
Subject: [PATCH v11 13/13] xen/arm: Add host system suspend backend
Date: Wed, 10 Jun 2026 15:44:33 +0300
Message-ID: <8396f8bfd4a17a6aa38a824f317fb20000ebd940.1781084290.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1781084290.git.mykola_kvach@epam.com>
References: <cover.1781084290.git.mykola_kvach@epam.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: WA1P291CA0008.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:19::19) To AS8PR03MB9746.eurprd03.prod.outlook.com
 (2603:10a6:20b:61d::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9746:EE_|AM9PR03MB7558:EE_
X-MS-Office365-Filtering-Correlation-Id: 2840ef83-8f1b-4b58-2081-08dec6ee309f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|366016|1800799024|376014|3023799007|56012099006|11063799006|5023799004|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	ep29k07wTH7rppEfb81arMHWUoXmqelkfYXEcVOkiR+B5bePO104+4oSyt74sSlAPFoH9DE0DXqYb4G+by7sXRwr3J5Cx2/obk0YghajVYuwtLC/RtUNgvBSvw/Rx+UdfB1XVz5f1bVFTRb2rpT0uows94BI5ZISqPUlh4B8goujSPlZNHk4AZDtzyofcWy06Mca7umX8kRmJjpAc/BM7odO39TMPqM65obsdtt44An2QkoSbG2JopT3gkj0FZS8wt+mukLz3CBxTz6PfzNZBQ6QKGh4hQtfp3c4EXdhobsjAiQVFhRbd271Ea37HbDsKVgtauIMXhHKhtqVmsQIJuye48uFxCJAUzoTpexlq/NNGVkT7RfF+gU/dgkGL4wfwWLA83jblWwTnDylUR/YVcjekhFn/PYjz156k6Gf9nlcGNxLQ332eV8ElYiX56OzXIrh/Q28jyVNeOaYnmCoyi6FCETUGIOU0J8KR95s1K1kdwL+1LoRxoicr7bFmbLd1DbrY8puAdkfxjE3YYxZxjgwvi9B9HOA1DJr0Cm6Sg0alzcaVoC0rhhiOJ+WfKjh8Utr+ahjShrm5C1cP4svraXcrLYoqwHdBemHLUSO3VSHKrV915MddsTtJllXcWwzj55tzat6NvisWY4zZZehTsOaqSpAtXWXkmIY1RQBwmKJKGqrrgF3QaZvAt0SGQic
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9746.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(366016)(1800799024)(376014)(3023799007)(56012099006)(11063799006)(5023799004)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?miKEKD1rjW5wzjl+GnUu1jp3HZk8J6rjeMyIbyydxOn6aNabjovZwHsC77oz?=
 =?us-ascii?Q?fIVMlG/mNWYQKfg7Lrrn7y6AFSE2BhKHDTV2PvLiMrp9IStBRXq/ZpcyRYcU?=
 =?us-ascii?Q?pu9QjiLItA1TDFpnKKLAD07qOm/e6D/JCdAPDxudHimLsKqH8qUVza8QBKDH?=
 =?us-ascii?Q?9jf4Gx8wHwWxnm8el3UKdv7Mfuw3Fgfr4nJqXdq4VItV3gcx8nvYDBvmp9/s?=
 =?us-ascii?Q?2CgCqT296AEHoCXx6ZOyPFIiy2ksdqOSQ88um0wDlBYfNMnLSvZpVM9asaO1?=
 =?us-ascii?Q?RKCIAXNQLkrVkWK+KAFTD+KWDl+LOfSc2cDoonf8205r3STDv9l9bjs0PShH?=
 =?us-ascii?Q?Be/ES4WWBYfClhd0N0aQPbCUleQxkPwgEs+4sQpgyx2FkomIIbcHsOO1XyYw?=
 =?us-ascii?Q?n2YWbMSqua2iwkg4bhcbbei228ifPPs79HorFVl9Fqs8HMj+aaztdVAD1heE?=
 =?us-ascii?Q?ILVwvuZ4/rPTEXKEhqYQkZLXWegMsgfCDaFjLfxN6w0H+p1RN5fSNTLg6gXf?=
 =?us-ascii?Q?G6+ljeNiQv5MzO5Sn1kCrA06B0qej9jZkdkP7JBKQRvlkAC/Q202d6UjBGQj?=
 =?us-ascii?Q?yRP3LcpFUx4okttBLP6c1oLLnQz4MMg8p5ewenXn3DXDsx9wWH///PskRvh0?=
 =?us-ascii?Q?hAkSqbOBQvDRTsMkNGPvtTGNDl8TkUKLaZkKFHS9eRyxnOqD54HP1uYa9WRV?=
 =?us-ascii?Q?ngxjnZHBHDCronJqEYdO8KJeZtfdeMsVta+eoCaOW6QEWYHLDLSdQtnZpQMd?=
 =?us-ascii?Q?GjmA1+ss/JJFLuXk2wgiJ3mJI3b/Um5NF1wRWAH8aRfKoU9sPmNRdKmekcDd?=
 =?us-ascii?Q?Nd/hL38LqozuXmizca2OAuiHwlQZ9pfrKqEA8j3XWjL76sDRFcek5q03gjwO?=
 =?us-ascii?Q?pXEsjIyMleDQ/9HRjuv+oisH3J+ZD2BCA16IzlxSJcaifuNXriP5xfISaQ+d?=
 =?us-ascii?Q?27wZZdpah8dLhZecXF3K4TKlQsNvTVqV4wzfkGkTW5D2hHuEl80mT6idBqBw?=
 =?us-ascii?Q?nO4ZabXP8HxyNan5e7HHONCjy3PrGWY9H6PVkSYthFOJt7d8DigW62oj8B4X?=
 =?us-ascii?Q?GdM4eKAYwOjQbE5WwBjNu0fEcLKIpcifXIUVd1lnJbg7fKGE1yCLkJCKUtfi?=
 =?us-ascii?Q?gcbXNme2baJHvXZ/PWaxNElzglFOQu50v2ynO+nVuCXR0c4R3nOIuHAVZAO3?=
 =?us-ascii?Q?cFaZJnffn9RBEF9H2kzlYg+6RVKU4A8JmbuN0RCWDBDtMHZtzwHSv5ggd3BZ?=
 =?us-ascii?Q?V9u0RIDdfwe2KTVXcO+injofSvl26PXMIFjPWvGvwxlGc2UClpYCeYUTpuGe?=
 =?us-ascii?Q?hz32iIsHQfRMPgFVWr1IxYKqXc9Ow850/D9CHIDNbHcLEo/YOwxXfVeXneun?=
 =?us-ascii?Q?ciCBWidUqodLxAwcLBYk0uxFmkVvNQ/eXf++86gVsbku2nDFguWNDuJgOM2D?=
 =?us-ascii?Q?N8KNrI6ttGBTiEdJ9+G5XpdefbRIdcjki8sVFjNd2qokKU5+/EuBnj+mVgTp?=
 =?us-ascii?Q?Nd8aK0eCjvOogX1y6riOeXU2vDwy9GRzNrpqnvv/u+Aw/B8joEQdbImg0oW8?=
 =?us-ascii?Q?/r2jN78mDi48GQW06JCA4Ucwe76/hzS2NMOgsqlGhzbFvI0Snmu2kco7q4g3?=
 =?us-ascii?Q?myQ3xNyDABThBYwJgSi4Zni9jxiAW1tOIAPBdgjc3femmG6sT2GovePXYSNN?=
 =?us-ascii?Q?+z7HiuYwVkR9pJ/nzVs7YTLEgEKU7c86bJvy9EH+h4fd6X/xN8We2586g5Ag?=
 =?us-ascii?Q?ZaxPNZ36qQ=3D=3D?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2840ef83-8f1b-4b58-2081-08dec6ee309f
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9746.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 12:45:45.5027
 (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: r7vgIt8HtYEtHGDWnDy9PYbxmNPUMa563oD4erczjubjXJbA2wvIp5FC4rmN4lhBQpoU4+ruu0rp/haPqIDcBw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7558
X-purgate-ID: tlsNG-d25034/1781095547-DA169CF5-0DD9C169/0/0
X-purgate-type: clean
X-purgate-size: 13927

From: Mirela Simonovic <mirela.simonovic@aggios.com>

Add the Xen-wide suspend/resume backend used after a control-domain
vPSCI SYSTEM_SUSPEND request has been accepted. The vPSCI policy,
runtime driver blockers and control-domain sequencing checks are handled
by the preceding commit; this change adds the code that actually drives
the host suspend attempt.

The backend runs from a tasklet scheduled on pCPU0, because non-boot CPUs
are disabled during suspend. It freezes domains, disables the scheduler
and then disables non-boot CPUs.

Host-side suspend participants are handled in phases. IOMMU and console
state are suspended first. Local IRQs are then disabled before suspending
timer and GIC state. On resume or failure, the completed suspend phases
are unwound in reverse: GIC and timer state are restored while IRQs are
still disabled, local IRQs are restored, and then console and IOMMU state
are restored.

On boot, init_ttbr is normally initialized during secondary CPU hotplug.
On uniprocessor systems this can leave init_ttbr uninitialized, so set it
from the boot CPU before entering suspend.

Note: the code is behind CONFIG_HAS_SYSTEM_SUSPEND, which is currently
only selected when UNSUPPORTED is set and MPU is not set.

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 V10:
- Re-apply boot CPU local errata/workaround handling after SYSTEM_SUSPEND,
  before resuming the rest of the host suspend path.
- Move set_init_ttbr() declaration to asm/mmu/mm.h, since it is
  MMU-specific.

Changes in V9:
- Split vPSCI availability policy, runtime host-suspend blockers and the
  domain-readiness precheck into the preceding commit.
- Trigger the host suspend backend from the control-domain SYSTEM_SUSPEND
  path.
- Reorder the host suspend/resume phases so the timer is suspended with
  local IRQs disabled and local IRQs are restored after the GIC and timer
  resume paths, before the console and IOMMU resume paths.
- Move HAS_HWDOM_SYSTEM_SUSPEND and related logic to policy patch.

Changes in V8:
- Add a pre-suspend check in system_suspend() after scheduler_disable() to
  require all domains to be in the shut down state with SHUTDOWN_suspend
  before proceeding with the global suspend flow.
- Drop the common-level depends on !ARM_64 || !SYSTEM_SUSPEND from
  CONFIG_HAS_HWDOM_SHUTDOWN_ON_SUSPEND and model the ARM64 suspend case
  with an arch-selected capability instead.
- Rename CONFIG_HAS_HWDOM_SHUTDOWN_ON_SUSPEND to
  CONFIG_HAS_HWDOM_SYSTEM_SUSPEND.
- Rename need_hwdom_shutdown() to want_hwdom_shutdown().

Changes in V7:
- Control domain is responsible for host suspend.
- Add an empty inline host_system_suspend() function when SYSTEM_SUSPEND
  config is disabled.
- Use IS_ENABLED() for config checking instead of #ifdef.
- Replace #ifdef checks in domain_shutdown() with IS_ENABLED() to simplify
  control flow.
- Factor hardware domain shutdown condition into a helper
  (need_hwdom_shutdown()) to avoid preprocessor directives inside the
  function.
- Squash with iommu suspend/resume commit.
---
 xen/arch/arm/Kconfig                 |   1 +
 xen/arch/arm/cpuerrata.c             |   7 +-
 xen/arch/arm/include/asm/cpuerrata.h |   1 +
 xen/arch/arm/include/asm/mmu/mm.h    |   2 +
 xen/arch/arm/include/asm/suspend.h   |   2 +
 xen/arch/arm/mmu/smpboot.c           |   2 +-
 xen/arch/arm/suspend.c               | 156 +++++++++++++++++++++++++++
 xen/arch/arm/vpsci.c                 |  10 +-
 8 files changed, 177 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 9acd342f09..09ae8e1aac 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -9,6 +9,7 @@ config ARM_64
 	select 64BIT
 	select HAS_DOMAIN_TYPE
 	select HAS_FAST_MULTIPLY
+	select HAS_SYSTEM_SUSPEND if !MPU && UNSUPPORTED
 	select HAS_VPCI_GUEST_SUPPORT if PCI_PASSTHROUGH
 
 config ARM
diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c
index 3a32183618..e6499aaab3 100644
--- a/xen/arch/arm/cpuerrata.c
+++ b/xen/arch/arm/cpuerrata.c
@@ -782,6 +782,11 @@ void check_local_cpu_errata(void)
     update_cpu_capabilities(arm_errata, "enabled workaround for");
 }
 
+int enable_local_cpu_errata_workarounds(void)
+{
+    return enable_nonboot_cpu_caps(arm_errata);
+}
+
 void __init enable_errata_workarounds(void)
 {
     enable_cpu_capabilities(arm_errata);
@@ -818,7 +823,7 @@ static int cpu_errata_callback(struct notifier_block *nfb,
          * fixed to expect an error at CPU_STARTING phase.
          */
         ASSERT(system_state != SYS_STATE_boot);
-        rc = enable_nonboot_cpu_caps(arm_errata);
+        rc = enable_local_cpu_errata_workarounds();
         break;
     default:
         break;
diff --git a/xen/arch/arm/include/asm/cpuerrata.h b/xen/arch/arm/include/asm/cpuerrata.h
index 1799a16d7e..b93521326f 100644
--- a/xen/arch/arm/include/asm/cpuerrata.h
+++ b/xen/arch/arm/include/asm/cpuerrata.h
@@ -5,6 +5,7 @@
 #include <asm/alternative.h>
 
 void check_local_cpu_errata(void);
+int enable_local_cpu_errata_workarounds(void);
 void enable_errata_workarounds(void);
 
 #define CHECK_WORKAROUND_HELPER(erratum, feature, arch)         \
diff --git a/xen/arch/arm/include/asm/mmu/mm.h b/xen/arch/arm/include/asm/mmu/mm.h
index 7f4d59137d..ee73a77777 100644
--- a/xen/arch/arm/include/asm/mmu/mm.h
+++ b/xen/arch/arm/include/asm/mmu/mm.h
@@ -110,6 +110,8 @@ void dump_pt_walk(paddr_t ttbr, paddr_t addr,
 extern void switch_ttbr(uint64_t ttbr);
 extern void relocate_and_switch_ttbr(uint64_t ttbr);
 
+void set_init_ttbr(lpae_t *root);
+
 #endif /* __ARM_MMU_MM_H__ */
 
 /*
diff --git a/xen/arch/arm/include/asm/suspend.h b/xen/arch/arm/include/asm/suspend.h
index 50dc6e9fdf..889a6509d9 100644
--- a/xen/arch/arm/include/asm/suspend.h
+++ b/xen/arch/arm/include/asm/suspend.h
@@ -41,11 +41,13 @@ int prepare_resume_ctx(void);
 void hyp_resume(void);
 bool host_system_suspend_allowed(void);
 void host_system_suspend_disable(const char *reason);
+void host_system_suspend(struct domain *d);
 
 #else /* !CONFIG_SYSTEM_SUSPEND */
 
 static inline bool host_system_suspend_allowed(void) { return false; }
 static inline void host_system_suspend_disable(const char *reason) {}
+static inline void host_system_suspend(struct domain *d) {}
 
 #endif
 
diff --git a/xen/arch/arm/mmu/smpboot.c b/xen/arch/arm/mmu/smpboot.c
index 37e91d72b7..ff508ecf40 100644
--- a/xen/arch/arm/mmu/smpboot.c
+++ b/xen/arch/arm/mmu/smpboot.c
@@ -72,7 +72,7 @@ static void clear_boot_pagetables(void)
     clear_table(boot_third);
 }
 
-static void set_init_ttbr(lpae_t *root)
+void set_init_ttbr(lpae_t *root)
 {
     /*
      * init_ttbr is part of the identity mapping which is read-only. So
diff --git a/xen/arch/arm/suspend.c b/xen/arch/arm/suspend.c
index c7c26bcf03..3fe2ffa4fb 100644
--- a/xen/arch/arm/suspend.c
+++ b/xen/arch/arm/suspend.c
@@ -1,10 +1,18 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
+#include <asm/cpuerrata.h>
+#include <asm/cpufeature.h>
+#include <asm/gic.h>
 #include <asm/psci.h>
 #include <asm/suspend.h>
 
+#include <xen/console.h>
+#include <xen/cpu.h>
+#include <xen/iommu.h>
 #include <xen/lib.h>
+#include <xen/sched.h>
 #include <xen/serial.h>
+#include <xen/tasklet.h>
 
 struct resume_cpu_context resume_cpu_context;
 
@@ -44,6 +52,154 @@ void host_system_suspend_disable(const char *reason)
            reason ? reason : "unsupported suspend/resume path");
 }
 
+/* Xen suspend. data identifies the domain that initiated suspend. */
+static void system_suspend(void *data)
+{
+    int status;
+    unsigned long flags;
+    struct domain *d = (struct domain *)data;
+
+    BUG_ON(system_state != SYS_STATE_active);
+
+    system_state = SYS_STATE_suspend;
+
+    printk("Xen suspending...\n");
+
+    freeze_domains();
+    scheduler_disable();
+
+    /*
+     * 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.
+     */
+    status = disable_nonboot_cpus();
+    if ( status )
+    {
+        system_state = SYS_STATE_resume;
+        goto resume_nonboot_cpus;
+    }
+
+    console_start_sync();
+    status = iommu_suspend();
+    if ( status )
+    {
+        system_state = SYS_STATE_resume;
+        goto resume_end_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_iommu;
+    }
+
+    local_irq_save(flags);
+
+    time_suspend();
+
+    status = gic_suspend();
+    if ( status )
+    {
+        system_state = SYS_STATE_resume;
+        goto resume_time;
+    }
+
+    set_init_ttbr(xen_pgtable);
+
+    /*
+     * Enable identity mapping before entering suspend to simplify
+     * the resume path
+     */
+    update_boot_mapping(true);
+
+    if ( prepare_resume_ctx() )
+    {
+        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 prepare_resume_ctx.
+         * The difference in returning from prepare_resume_ctx 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_WARNING, "PSCI system suspend failed, err=%d\n",
+                    status);
+
+        system_state = SYS_STATE_resume;
+    }
+    else
+    {
+        system_state = SYS_STATE_resume;
+
+        /*
+         * CPU0 resumes directly from hyp_resume(), bypassing the CPU hotplug
+         * path that re-checks and re-enables errata workarounds for secondary
+         * CPUs.
+         */
+        check_local_cpu_errata();
+        check_local_cpu_features();
+        BUG_ON(enable_local_cpu_errata_workarounds());
+    }
+
+    update_boot_mapping(false);
+
+    gic_resume();
+
+ resume_time:
+    time_resume();
+
+    local_irq_restore(flags);
+
+    console_resume();
+
+ resume_iommu:
+    iommu_resume();
+
+ resume_end_sync:
+    console_end_sync();
+
+ 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();
+
+    scheduler_enable();
+    thaw_domains();
+
+    system_state = SYS_STATE_active;
+
+    printk("Resume (status %d)\n", status);
+
+    domain_resume(d);
+}
+
+static DECLARE_TASKLET(system_suspend_tasklet, system_suspend, NULL);
+
+void host_system_suspend(struct domain *d)
+{
+    system_suspend_tasklet.data = (void *)d;
+    /*
+     * The suspend procedure has to be finalized by the pCPU#0 (non-boot pCPUs
+     * will be disabled during the suspend).
+     */
+    tasklet_schedule_on_cpu(&system_suspend_tasklet, 0);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/vpsci.c b/xen/arch/arm/vpsci.c
index 0bae42c1bd..6e332d6a12 100644
--- a/xen/arch/arm/vpsci.c
+++ b/xen/arch/arm/vpsci.c
@@ -237,7 +237,8 @@ static bool domain_in_suspend_state(struct domain *d)
     return suspended;
 }
 
-static int32_t domain_psci_system_suspend_policy(struct domain *d)
+static int32_t domain_psci_system_suspend_policy(struct domain *d,
+                                                 bool *host_suspend)
 {
     struct domain *other;
     bool last_awake_control_domain = true;
@@ -300,6 +301,7 @@ static int32_t domain_psci_system_suspend_policy(struct domain *d)
     if ( !host_system_suspend_allowed() )
         return PSCI_DENIED;
 
+    *host_suspend = true;
     return 0;
 }
 
@@ -310,6 +312,7 @@ static int32_t do_psci_1_0_system_suspend(register_t epoint, register_t cid)
     struct vcpu *v;
     struct domain *d = current->domain;
     bool is_thumb = epoint & 1;
+    bool host_suspend = false;
     struct resume_info *rctx = &d->arch.resume_ctx;
 
     /* THUMB set is not allowed with 64-bit domain */
@@ -334,7 +337,7 @@ static int32_t do_psci_1_0_system_suspend(register_t epoint, register_t cid)
 
     spin_lock(&vpsci_system_suspend_lock);
 
-    rc = domain_psci_system_suspend_policy(d);
+    rc = domain_psci_system_suspend_policy(d, &host_suspend);
     if ( !rc )
     {
         rc = domain_shutdown(d, SHUTDOWN_suspend);
@@ -359,6 +362,9 @@ static int32_t do_psci_1_0_system_suspend(register_t epoint, register_t cid)
             "SYSTEM_SUSPEND requested, epoint=%#"PRIregister", cid=%#"PRIregister"\n",
             epoint, cid);
 
+    if ( host_suspend )
+        host_system_suspend(d);
+
     return rc;
 }
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 13:34:03 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 13:34:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334386.1597464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXJ3z-0000fH-M0; Wed, 10 Jun 2026 13:33:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334386.1597464; Wed, 10 Jun 2026 13:33: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 1wXJ3z-0000fA-IR; Wed, 10 Jun 2026 13:33:47 +0000
Received: by outflank-mailman (input) for mailman id 1334386;
 Wed, 10 Jun 2026 13:33:46 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wXJ3y-0000f4-BU
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 13:33:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXJ3x-0080RQ-I4
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 15:33:45 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2967b8-bab6-0a2a0a5309dd-0a2a4506ec78-6
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 15:33:45 +0200
Received: from [40.93.196.58]
 (helo=SA9PR02CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2967b7-7371-0a2a45060019-285dc43ac4d3-4
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 15:33:45 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DS7PR03MB5512.namprd03.prod.outlook.com (2603:10b6:5:2c1::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Wed, 10 Jun
 2026 13:33:41 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.011; Wed, 10 Jun 2026
 13:33:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=WYuyi9D9IDK7kdSaqbyfXLl5ZgLe52XVSBp5GqHNi2XETzhfF5eNdYnhosU3kxo42ZYR8BTQJ51NvYhjegySF8mgQ8xY9em17GSRkF3K4gWYT5SJCbpWsaZ52drAafobj8mOlMpNzy2V6XHeCQMW253O3nRcghr4dpz6G71oJKzSP8cMncmbxPFtuFtlY/F0x4urPmm/+94onP+qU25nySopkXwB8JOzFxXW/jhwn+Pw/w9Tn1zkK0EE1pSNNzlnTg7XzvhEUTN4JjUoA0KqMXPXSIALOQRrHLtAkRnVTlV5d6W6YculilHZ7v6EroZrXJgfXqeDKb4GmWccP+hLxQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=z0wyc0bMJKv2g26ryzfS0+whRcSWZGIub50sR+BDb8A=;
 b=WndswmutNJ0FzmbELJ9vqkCJwta6CSxTTIXCpFDXza1CZtIgt4WAXukw4+4Cw3pIOCW2xmbPPFGdmyIg+43hXWS210zpcYMPvlUyYmLodZUj1MZYhiVn2I9Oq4LePsyTwExF+82YbEkXBq54mgGOSIflTUdHgjYO/3gMmGUIqQSyDTvahujIytMbVDutjaM0t+vBSjfdR0fn2hNhC9HcyYMsWofS05Yi+p0V9MZrNlMhVlGOktS8Ipx9CEuXWKbeijfYZsxmgugqVvlaym8yU6ubFIaQc20p5IJXAqx8tWqkDBRlQnpuRAh2PVD7FUvJGToCYjTG4TlIjOZB0F4doA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=z0wyc0bMJKv2g26ryzfS0+whRcSWZGIub50sR+BDb8A=;
 b=PZsKO0/KIzuQwbuZ6y8j2dRcTa0yarKyXRz7t4lr7cW96vN/YUK6I735wMknQ2GAbZWDco2QCzk8LtjKGcoJLB8dij7FZsHRiNsz/o/o0XppyMXl3X7G5VzYGOoR2+Y/zqwOtPA+Zk05vuC1oeVQGSOx6sBNZblgdUaiVwqehq8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <5c397f5b-cd5a-4218-92b5-074e52be5f11@citrix.com>
Date: Wed, 10 Jun 2026 14:33:37 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH 4/4] CI: Rework the archlinux container
To: Anthony PERARD <anthony.perard@vates.tech>
References: <20260609173102.2908514-1-andrew.cooper3@citrix.com>
 <20260609173102.2908514-5-andrew.cooper3@citrix.com>
 <1781091028.8631fc262581453bbf619ec5b2062170.19eb14c4ec6000701b@vates.tech>
 <45a5e1d6-0262-448f-a415-d7b1b3135d87@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: <45a5e1d6-0262-448f-a415-d7b1b3135d87@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0690.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:37b::7) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DS7PR03MB5512:EE_
X-MS-Office365-Filtering-Correlation-Id: 2b961fdd-b070-4120-4593-08dec6f4e2ab
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|376014|1800799024|366016|11063799006|4143699003|56012099006|5023799004|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	Tj7lTqathidpFV1CquvUWARZeTNhD/h7rGJaO7E08ZznXrkcE0Z9fGUTv6GYXGDkrZubp5Hm/vvjhuYZXt3abNW17qnO/wLmnXPiWyI8qX0sRxeH4pZ7HbeyczguVBvYX41dRQowGw+vVHJp0khN1YhQThc5J5U5UAHuGC8bYM+Xl7jIiQqTysoTxRZbirdicyopUyZhvUmBu1cJuON7qDWYe1UwSqr21iBO5BIW06ohFRM0+O50XkT4T+Eoz7EEgw+5bK6E+ufAqTeJ9Cuyzj5TnWt9Nvp1GEnoCnpaaIp45Lk26iXpRjSP85/pwr351pLrQjIWmRK3rQG3/LeIu/97fExbQ3AY27f55AR6HFybhDkq3grK/sgdovYTkYAWE2+zKhhZFge7ThsglpCcDncjthAu6Z0iz+Vq+GKT1F52ZmqDjiM/xS4ERH0pSO1iFshjBsr8I0icxQpORp0JsEC0+j6xkkc0BbPNOyjWMXpqs1OGfmQEp6sM1MIQZDYDviLFvNUe9CbXn58dKaR/H7CPQqbNAqUze4R5IiWKupJKGOzd5d0h50oBvbn9hutvl11Fr6c325bQvgS6G0j5Ry4BahfGyaNYjlFSIRTZe9XbByCxRbJkAeXs//ZohpiwkWTKK2E1a/aaqu5oPesFc8Jp85wLU/H90fz03bbup14oA14iOtj4zSHmuCEEltvw
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(1800799024)(366016)(11063799006)(4143699003)(56012099006)(5023799004)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L0Z3Z3hkZlU5VG8za1djNmVQQVZId2d2cExYYmxIZkdIbWJHK3B5aWVyU2lo?=
 =?utf-8?B?K3hGbUI5WVlRUlBNRHNxNHkxSFg2cVl0bHBHcnRMOGdCZFhKaVYzMFdxV1Nu?=
 =?utf-8?B?R0cvdXc1L3JKeXJqM09oeml3K0daRnNqdnpWVjVSWE5tRE9vYlA5bnBaWEFr?=
 =?utf-8?B?eHJLVmZDZUowZEh1OFZVMmFsbWVsL0tTNU1rbmlLemlyYWlsVWIvWUdsZWVE?=
 =?utf-8?B?ODNKRUtDUlVtYmw3NEpDc2RNQm9FZEJ1OCtnNUIydjB2eWN1Z3VvS2Z6WWN3?=
 =?utf-8?B?OUdmTVNPZjRUSWdPU21XU1V6RTV2Sk9MVURhNEtqK2VtQVQzVmdqdXF2Nyt5?=
 =?utf-8?B?ZDFZeVZhWUlta2s5VWpTV3VCdFlXUW1ldjVHVDZBWTg0L1lLeHZjN3lJcFFx?=
 =?utf-8?B?M0hiYWJaMERsdE53K0EveE1ZK2Z4bEg0RkZocHltWTdId0hnbE93dlFNNXpt?=
 =?utf-8?B?TVBybWM1THJ1ZWVFNWRZb0dheXRuTlNnU3NRRmpUUDhuY2ZGVTBGcVhaaEpZ?=
 =?utf-8?B?S3prTFlNT0c3MUNBamhKRUNWNWFhWUhTYmFWSm5KR0w0R0tCR3JYeUJwV0Zs?=
 =?utf-8?B?NXRRME1IYXZWeFFwUitRNmRmazdGbks4cCtnNitVSGlYRkw3RTJVMi9NbFc4?=
 =?utf-8?B?cmtFUFhFQWgrZ2dYaCtMZ1BzQXZNMGtiWGtBbFRkR2tpaDdZcHQrdW1DbWR2?=
 =?utf-8?B?MnlGVGdaVndqbjJ1ZHJJaW5CWEh2bTd6RXIveDJPRWsxS3lnQmFWcW9QeXdC?=
 =?utf-8?B?Y1J5a0ZSN2toNnVPUDByVXMrN1RaQVpWSkN3bTRhS01CMnRJV1doemN0U1pz?=
 =?utf-8?B?MXpWWlJYYWJmbWtyM09jcFU2VDBoQVNscTZkN2F6TFFDZEszM2FYS3Y2U0RV?=
 =?utf-8?B?QzVCRWh0aDFrRFpVSmg5UUF0UlBpRmluenRacUYySk93WU1oa3Fpb0RiWnV1?=
 =?utf-8?B?T1VXRHA5MlpYQWhBQzF1blFnT0I0U01TOWkrZVFmdFNvL2YxeHFnN0M5WGtu?=
 =?utf-8?B?a0g4R0o4cUs4amlwRUYrc09qOUNnWEluMTU5Y29KQWV0ZTRTVUFjOENET25Y?=
 =?utf-8?B?MHhBc2lrSDN2S0F3MXZ1cUh6a1RRMWlEcEh2ZFZQT0ZSK0t2ZFhoRm5BZnVz?=
 =?utf-8?B?ekJxMUlBdGVkWFY3NFVhd09KUEpDVk1vZ0JSUi9xZ1E1L2hnZFhlSWY0bGJR?=
 =?utf-8?B?N1R3cDRhbG1ScUV3aTF3b1lTdzJXK3dVNGx0V3pGL1F3RlVsZE5uRm4zWGZP?=
 =?utf-8?B?YWgwUVBYeVZad0xWZ0U2SnJOT05iUnZqTURmQUJiRnp4Ly9kWHE0ek1RR1lM?=
 =?utf-8?B?WC9GQ3lBSTBWbnozNXVaVDVzY3NvV3hqYmdNYWk3YkFuakZlMnlRMExCdzVi?=
 =?utf-8?B?Z3FlZWltWnRHUVd6RkxrcW96ajlKd3Fqam5JejFlUjh6dWNRWlEwcDY3Yzdr?=
 =?utf-8?B?NnhIVkR3amx4REllQXk5RUN2QkIwSXpCVThiQU9FVzVKYXF4eTRURGI1bXJy?=
 =?utf-8?B?dzFDS3lWOEZaQk5VUzZNZjIvSHlMZ3h2bUVNNXVuNTAwMjRmQ05vbGUrUnVh?=
 =?utf-8?B?Sm4wd2M3NkEraVk2MmdpeS9SdzFWWktoclpoRXJ0K0ZpMHZHa0VDV29iVnNE?=
 =?utf-8?B?dW0vdkhmM2JlczFGbmZpSmJqVmFscE0wT3ZQL0VLcnNFcDBqWWw5cGpjR1Zh?=
 =?utf-8?B?WFJDb0VCdi9vYjdSSmFvYUlsSUhOR2gyemg2OTdEWUw1d2EvWng2Z2NDZ1Y4?=
 =?utf-8?B?SnhBVTFPWDhYamdCWlhOY1pmSDVqZ2xLeFl1RFhPSjBUS2hUUG9lQXF0RG84?=
 =?utf-8?B?RU9oVWVuNm1VS1JDeFNUUWkreGduaEwvTUFBUDdXL1o5ZmFIck1OOFp0c1M2?=
 =?utf-8?B?Rlgwb3E5Ri8vR1lvWjRBTGIzOExoOGI3NnovSTJGVXMveXlGQnpvUGhjVzJZ?=
 =?utf-8?B?aUxxM1pDRHd4ay9SL1RJTHhQNGpEajhKNncxVHZnMWJxRHRGZ0I5RkdQazha?=
 =?utf-8?B?bzZiWmwxV0o1Z2ozUm9hR0ZPN2ppYVhsZVY2K1J4SDlOVWN6T25DM01jbnE5?=
 =?utf-8?B?MUZnQlNEUUkyV1B2dVFaT2Y2aFJtZ3h3WFhDaHpyTHZLS3RUcVhsYXI4NHV0?=
 =?utf-8?B?TmtKQmt4aDNuUnBaZVVZRURtSFhTc2JoQ3lFekZHL0MzRElqZDhxVERGdUJW?=
 =?utf-8?B?WU5ISEFITUwxRGtyZDN2aG4za0JkbXJRY3N2TWdvaUhJRkVjRWVmMnE1VDUy?=
 =?utf-8?B?QlRPaE5Kcnp0SXFxOWpiTXpSSzRTYnpEMzVSTUt1RStBWFFoTlFDUUUyaWM1?=
 =?utf-8?B?bEVHdUhQRGp3SFJ6RlI4Rm9GM2NMMVc3UFozd2IzYVJjMVk0T0J2SEpka3dn?=
 =?utf-8?Q?FufprYMcGwW+xvSg=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2b961fdd-b070-4120-4593-08dec6f4e2ab
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 13:33:41.1233
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Mfg3Jfc8hNFJi4sY0M7jyyE0Yv0QdOAvZl4Z3EGXxe7V+1+Ei7nSr48pO0c+XOTnMj4jU3k5haWn9Zxc/KsGxNIn2kipQZF6tf+0FddfGiY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5512
X-purgate-ID: tlsNG-16d1c6/1781098425-8E38FD75-D0DB1151/0/0
X-purgate-type: clean
X-purgate-size: 948

On 10/06/2026 12:38 pm, Andrew Cooper wrote:
> On 10/06/2026 12:30 pm, Anthony PERARD wrote:
>> On Tue, Jun 09, 2026 at 06:31:02PM +0100, Andrew Cooper wrote:
>>> --- a/automation/build/archlinux/current.dockerfile
>>> -    && yes | pacman -S --clean --clean
>>> +++ b/automation/build/archlinux/current-x86_64.dockerfile
>>> +    pacman -S --clean --clean
>> The "yes |" is needed, otherwise the files aren't removed from the
>> caches.
>>
>> I've only got, without:
>>     :: Do you want to remove ALL files from cache? [y/N] :: Do you want to remove unused repositories? [Y/n]
>> and no messages about the files been cleaned.
>>
>> I tried --noconfirm, but seems to just get the default response, so
>> nothing is removed.
> Lovely :(
>
>> With "yes|", I drop from 1.32 GB to 1.26 GB on my machine.

Gitlab says that the "yes |" alone shrunk the resulting container from
427MB to 380MB, so a substantial saving.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 15:02:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 15:02:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334454.1597481 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXKRU-0005dZ-55; Wed, 10 Jun 2026 15:02:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334454.1597481; Wed, 10 Jun 2026 15: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 1wXKRU-0005dR-0i; Wed, 10 Jun 2026 15:02:08 +0000
Received: by outflank-mailman (input) for mailman id 1334454;
 Wed, 10 Jun 2026 15:02:07 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wXKRT-0005dL-0E
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 15:02:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXKRS-002qIM-BS
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 17:02:06 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a297c59-e002-0a2a0a5209dd-0a2a4507e530-44
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 17:02:06 +0200
Received: from [52.101.201.44]
 (helo=PH7PR06CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a297c6c-229c-0a2a45070019-3465c92ce4e8-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 17:02:05 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by SJ0PR03MB7023.namprd03.prod.outlook.com (2603:10b6:a03:432::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Wed, 10 Jun
 2026 15:02:01 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 15:01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=tuvZDPOGJsXZqAifcIWt6qAd33trpuLLuNGRG9zA7PdiwWTZlfTyVbT5MNFeIuNjKfBgZ5lTiPCIS+oJsT39aQ1erh13YtJ6NL2Pq+UEBaHcfe5OtEWtC+6OgcE5rTUGY3+3AF/MpOcK6WZV5uNqBwWz4oNjZwbmR5a9hv0cKvMV3+Oivinak1kbJnSyzdBhUVdOZ3Dvc+G7o0dOX07+ItQbnMKGWCDTUYE3sw2CvT+5Sw9Mp3F4tbjHTJVowViamksgnOI31E/JwkWUfTpCBIrhSNMEuWdSrtCwcHDrQcO9E3B8XY7i1W4YBEzCRAVy3lZa19fdVKjTA3Cl29E31g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZC8xab3PAcBLGhMrSXGFXnhDEoysBJE2GEKNiaKZmPw=;
 b=vdEMY59gFROCHoQfQRz5cCzy/vuVX90JvyCJSXMTZ6I68ctlMxQ/m00cGCIzwPXgm/sXz4Je/opXGoLuUDX5k3sxQEzKf2mxJFv7JecCtK9jEvVlQYOOcnAh7hKWlrl2pdSutVkznWZEi9zZr/Mnhq8EoJCXlqoRkxRDPSVLjKIYZ49sI+yGCM34KiUgztjWdXiAxH43FmzuQp8xM9w7YDMQYHbsFBzsu7+xlIv8ivcji+8aQnosVaCm9dxRJlcs12NM9HQdqW4bqdspza9cf2x2j8F/aqlCsrOyxwPvE4AUZI9Rl2HQvkbNsmEGsFtquYU9drX+cExWlk23y73Ynw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZC8xab3PAcBLGhMrSXGFXnhDEoysBJE2GEKNiaKZmPw=;
 b=Ljv9xnIwIMxZ+TuUFlqowd16dZdFlSK553j/q3XSMk9e+EWQIeEDoGcAbgNS0NL1Uk/yX4fX0bRRxKdyF1BdSxNsr0p15d4qYzepeRSNZqd8iCYMbsuv+mPnQpGJh0TYpvvsOEa10y0H9PYCmjZ5gyG9N0/VVnRkDIBqy2y/UyQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 10 Jun 2026 17:01:52 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: Re: [PATCH v3 2/2] xen/x86: Change stub page allocation/free
Message-ID: <ail8YNrQLZ9bumiH@macbook.local>
References: <20260609000638.121027-1-jason.andryuk@amd.com>
 <20260609000638.121027-3-jason.andryuk@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20260609000638.121027-3-jason.andryuk@amd.com>
X-ClientProxiedBy: MR1P264CA0009.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:2e::14) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|SJ0PR03MB7023:EE_
X-MS-Office365-Filtering-Correlation-Id: c63d61e6-6318-4a28-5195-08dec70136ad
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|23010399003|376014|366016|22082099003|18002099003|11063799006|4143699003|56012099006;
X-Microsoft-Antispam-Message-Info:
	xMbXy7gwfGjuB9MlAIHIG7L1UOpDmrlATy/bgFsDT7icDUYgQBKKroWH5XtxTj+BE2nIyOvJmE1HHikU4MsdoF4gQ9DgY+VCWZkQ47l6BB0RlD57RR8uaKozYaC2Oz1xbRDbl8f/MYPiWGNkdtFAHWJTh4VqIWL4tHQXaFqSa7I39nhNazgUNynfB4puraM74xpReEV0RuGz52SSBtaGBxp0p7Kc54U//bqFS5pgNfUdPOcNqqAvJlFtj8VAITRkvXneABUzRxRChp56wOBjWKO4zTbwmYQWN+g23QxE4VB037q3eHI5He0vPrpLGwl+7BU4wqbv5IqXL/jHpXYgYpAnKEupcdjgyXNROURbee8TIUXQfLjuCXHB3GgJcRuVyyEeJosHZQ5ZKOITNJ8TLEd4M7Lr303C87pd6R2LzUf26V0AgOtl2XKhkyuxTg42T+1mUFe+MzkVq/JDIZrgvTwytnzGv5l1jXRD5+jwoVHOHJFpAzYyz7uJ1DrVU6MGMTpoeYx+EcXngUmITjjMQ0YwS3bC0X69ye+ECHeuVhH+HKZMhFkSXMnmZLUxo8Jw8jJcaGghxUz+AjrYQpQeDfTTvCsdwttuK421Z9ChVvWArNpp2hIe+HZaRV4UqqMVvPfx2sJ+4IKCZo0sZ1XVe0G/esVrf2UhQWP/TD3nrAalZHrvDwv1HTTIU8F9UDwM
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(376014)(366016)(22082099003)(18002099003)(11063799006)(4143699003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MUNwbnU2dklwaGRpRUUyNkl4NERkWU8vZHliUlc4SzJsTjNzclVGSVQyM0wr?=
 =?utf-8?B?cW5wcW1DV3pmbStpSDMyMjlESHdqd0R4aGtPdzhFNCtwUEluNkYzcXE4bWR4?=
 =?utf-8?B?Mmtsc20yOXJGM2ZaUkl1ajUrZDhLdTFJMEFrZFdkRzZyTlNkVDhENS85enhv?=
 =?utf-8?B?enh0b0lrMkkzMnByalA1QjZpdEd3cWpjMURNYy9Pa2pIYmdON0F0Z0ZoY2JD?=
 =?utf-8?B?aTNOUTNLM0tpdEJ3M3ZYaUIzdnJBMjVvOGcrZCtMMVc3bnhIM1Rvd1JQYW5r?=
 =?utf-8?B?MXN2NlYvNnhTNWhNcEk2LytkaDVzOWZFYUsvVlJSTU5aOUo1cmNNVE9Cd2tY?=
 =?utf-8?B?eE8yVGtUanNsNVVud0FXZnE0Z0MvbzdTMUpFNGFubzZzWlorUko0KzlVTkw1?=
 =?utf-8?B?SWdpVzBaeUpXbFNKMmFkVllzU2E2akVrdUpFUUMwL2xpVGxsZHZCc29qZVZC?=
 =?utf-8?B?QWNYbm5kUnFxRm40UGc1bG1uamQ2THVHdGIvQ1BjamJaTFdiWVlkdHY0SG5W?=
 =?utf-8?B?SDlkZGZUSVdPYlNoMWwrQTc3QmRWQk84S05qMmJFTkVkc3ByUDRqdFFteGJa?=
 =?utf-8?B?aWVLajkxRlUyN0REZXlxaU01d0NPNnh2N2FFUDdqWDNjVnFoNGFIZ1hrOTc4?=
 =?utf-8?B?SmZENWl5RUVQUU9iY240NHVJR2MySWQ1K3NyREVYdVJqb1Y4S0JaOVdLM2tz?=
 =?utf-8?B?YzJjaHo3eTFnSXVCUjdLRHk0RXlrR2hQOUs4ekFiL3Rvb2FFcWF0UEhGMFlm?=
 =?utf-8?B?cUlFT0hYekYwN1VPU2FxOEY3YW9jS0xsVlV0SFE2TGdEUkZWNHlxbjB5RmU5?=
 =?utf-8?B?ZEVWRW5VYzUvbFo1K3lpMXlLcldCWVZtNjhNMjFWSFlJeDRjMXc2OUovSk01?=
 =?utf-8?B?VnRydTRzaW44LzZTMTZ4SzZPdmRaSDVyRlNWTUdwOFJ1ZDhPVlh2Y3dQZHg2?=
 =?utf-8?B?YjBwOE1IR2I5REt6TEgrK2FIcnZpUndHSjZsdXZjRFkvdmVJS09Oa1hKVGg5?=
 =?utf-8?B?L2E2eFZLWmg5WTI1NVpOeHRYYmpPU1p4cDBWZmRTMHlLQnFNMm9pY1AzaUpw?=
 =?utf-8?B?emFmaFVWL25rTTdjYStDeEVLczBZS1NKcVhuR3hJTWdBeEpvd3grekFUVG9p?=
 =?utf-8?B?emRnclJwcHpLVENkeEtrZEZVeFZ2RzBaWWNVdGY0SE1ITnR5RmY5NytmNjBE?=
 =?utf-8?B?UGpUOFU4TGJvdkw5d3BtbWJoV3dTYmlRaXBoU2VGalFEclFMVVJkby8yMGxI?=
 =?utf-8?B?QVZrbDd4Qk1XZWpDZEhOaWFBZ092aXZPMDRJN2RkeHk0SmpheUcwTXJVQUJz?=
 =?utf-8?B?UWVMOVJ4bmVPVDF5NkY1bUR5QWdFNHppemRkWHdWY2FCMGh1MkNkQXNVWU00?=
 =?utf-8?B?a0hRMzlSOXBBYVRRblc3b0dYZlFtb3VZdHcreXRFTko3UTc4NE9QSlRwdW5o?=
 =?utf-8?B?a2JHcExZQ0I2R0c2V3VXaUpsbklta0RMcEFUTExEckJqckgvVnJmQ1QrVGxW?=
 =?utf-8?B?VjM2U1JSeXFoSGJvUnhnbE1lNHIvSnArYU93QVA2ekNqSnBpZk9DUzladmhy?=
 =?utf-8?B?MlhPajRyZFdWRzVuOWp0MzlYZW5oZW5Lcm9IVlNXME03bDhvNWVnT3BCZm5a?=
 =?utf-8?B?ODNJUkJIbjR4alhYMFk1MG1zNVZUY0xObitKNTJ0a1pxWklHTFhCZzJPd0Qw?=
 =?utf-8?B?YmpDeUR1eVZzQlBXT0ZCUDBPL2doaEpYU3k0SVVjL3RYdWZCQ0tKUjFZSmFQ?=
 =?utf-8?B?NWdmV1ZNKzArU0RlNjk5eHFkS1NZYVVTcGpFMTZueWFHcXJvcElLWVVCa29z?=
 =?utf-8?B?R3RvdEhTbEt0Qk5tRzNjNkVoeUhLcXhSeUI2ZXFrWmtLaUxiR3RhVlFLckZn?=
 =?utf-8?B?QnFFeGNkZlFsYjYvekNmTUJPODVjK2JPZG8rbG9yWGV6UDNIQ3Mxc01DUXJU?=
 =?utf-8?B?WHpYQ1p6OThTeThxU1pCTDEwYWhJcXJCVmhNalRkSEpmaVhWa0Jaamh3QTFv?=
 =?utf-8?B?MjRmYStnWEM5Um1WMXNYT3pPaU1GQ2JKMEdET1A1cUhHVVZObHdPREo4M2lG?=
 =?utf-8?B?b1Bya3FBV3ZNTWI0SU9QbjBsWXJDbXg3L2JTWkk5VEdibGxyZzkzZERJY0JF?=
 =?utf-8?B?UnNyUDBENTRYdGpKdk05Z0U0N0tCSGJWUWpocHJqek15RVN3bmRSbWp6bFJG?=
 =?utf-8?B?Yi9KV21IdzZOL0tnQ2RwcisrbkI3M1F6THYvallqcTdRSE80RzRYQWo1cTFL?=
 =?utf-8?B?VVNCdm1jRE5IYTNoSnBYQjJSRVVIWlA1bkhoY2dTV0FkL3RWWE53cjRTVG91?=
 =?utf-8?B?U3dsb0RjSGJlcmVPWnVjaGZWaGdqTFBZNWhQd1dGMjljbExCL0dOZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c63d61e6-6318-4a28-5195-08dec70136ad
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 15:01:56.1505
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /SkarikLqL9XyjG2+i0eot3YF9jDw8ZdFB5LKjheh+k8fKb27LF/PD5eRw1piHsbqL2D4cQ6qhaypstjL7mi8Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB7023
X-purgate-ID: tlsNG-ef75cf/1781103726-23374C48-3D4CCB62/0/0
X-purgate-type: clean
X-purgate-size: 11736

On Mon, Jun 08, 2026 at 08:06:38PM -0400, Jason Andryuk wrote:
> Today the inline tracking of the stub page is problematic.  0xcc is used
> to indicate unused, but it is also a "clear value."  A !CONFIG_PV build
> with smt=0 will bring up CPU0, bring up CPU1, bring down CPU1, and free
> the in-use stub page.  Subsequent CPU onlining can write to the re-used
> page.
> 
> The new approach uses a global, CPU-indexed array of stub pages.
> However, to handle NUMA aware allocations, we cannot allocate all the
> pages in advance because the NUMA information is not available.  Keep
> track of 1 current page for each NUMA node, allocated on demand, and
> allocate the stub buffers out of those pages.
> 
> The current NUMA allocation approach is opportunistic sharing among the
> groups of 32 processors.  The new approach will allocate buffers densely
> in a NUMA node.
> 
> stub pages are no longer freed.  They remain referenced in the global
> CPU-indexed array and are re-used if the CPU is re-onlined.
> 
> stubs and node_stubs don't have an explicit lock.  During boot they are
> accessed single threaded.  During runtime, &cpu_add_remove_lock
> serializes access.
> 
> Fixes: 7a66ac8d1633 ("x86: move syscall trampolines off the stack")
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---
> I'm not sure how to test the NUMA part - I don't have an NUMA system.
> Also, if NUMA is active, is a cpu node of NUMA_NO_NODE still possible?
> I used the MAX_NUMNODES + 1 array sizing to handle that, but it's not
> obvious to me if that is necessary.
> 
> Roger mentioned removing the per-cpu stubs.mfn.  We'd need to replace
> that with exposing the stubs array for traps and the emulator.  I have
> no idea if that will be an improvement and am looking for agreement on
> this patch before attempting.
> ---
>  xen/arch/x86/include/asm/stubs.h |   2 +-
>  xen/arch/x86/setup.c             |   3 +-
>  xen/arch/x86/smpboot.c           | 110 +++++++++++++++++++++----------
>  3 files changed, 77 insertions(+), 38 deletions(-)
> 
> diff --git a/xen/arch/x86/include/asm/stubs.h b/xen/arch/x86/include/asm/stubs.h
> index a520928e9a..9d776f81dd 100644
> --- a/xen/arch/x86/include/asm/stubs.h
> +++ b/xen/arch/x86/include/asm/stubs.h
> @@ -32,6 +32,6 @@ struct stubs {
>  };
>  
>  DECLARE_PER_CPU(struct stubs, stubs);
> -unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn);
> +unsigned long assign_stub_page(unsigned int cpu);
>  
>  #endif /* X86_ASM_STUBS_H */
> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index 19ee857abf..0cac94cbdb 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -2089,8 +2089,7 @@ void asmlinkage __init noreturn __start_xen(void)
>  
>      init_idle_domain();
>  
> -    this_cpu(stubs.addr) = alloc_stub_page(smp_processor_id(),
> -                                           &this_cpu(stubs).mfn);
> +    this_cpu(stubs.addr) = assign_stub_page(0);

Given stub pages is first used quite late in the boot process, the above
arrays would better be dynamically allocated using xvmalloc_array().

>      BUG_ON(!this_cpu(stubs.addr));
>  
>      bsp_traps_reinit(); /* Needs stubs allocated, must be before presmp_initcalls. */
> diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
> index d7619f534b..d9cd90389d 100644
> --- a/xen/arch/x86/smpboot.c
> +++ b/xen/arch/x86/smpboot.c
> @@ -641,41 +641,96 @@ static int do_boot_cpu(int apicid, int cpu)
>      return rc;
>  }
>  
> -#define STUB_BUF_CPU_OFFS(cpu) (((cpu) & (STUBS_PER_PAGE - 1)) * STUB_BUF_SIZE)
> +/*
> + * Indexed by CPU.  `pg` may be shared by up to STUBS_PER_PAGE CPUs.  Offset
> + * is the byte offset into the stub page for the CPU's stub buffer.
> + */
> +struct stub_info {
> +    struct page_info *pg;
> +    unsigned int offset;
> +};
> +struct stub_info __read_mostly stubs[NR_CPUS];
>  
> -unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn)
> +/*
> + * Index by NUMA node.
> + *
> + * `pg` is the current stub page for the node.
> + * `next` is the next available stub index (STUBS_PER_PAGE available).
> + *
> + * if `pg` is NULL, allocate a new one.
> + * if `pg` is !NULL, use `pg` and stub `next`
> + * When STUBS_PER_PAGE are all assigned, clear `pg` and `next`.
> + */
> +struct stub_node {
> +    struct page_info *pg;
> +    unsigned int next;
> +};
> +struct stub_node stub_nodes[MAX_NUMNODES + 1];

I think we could get away with a single array, that uses the CPU as
the index and stores the physical address of the stub.

We could also simplify the allocation logic, assuming that CPUs
belonging to the same NUMA node are packed contiguously in the common
case.  I've given a try at this, and adjusted your original commit.  I
however only tested this in QEMU so far.  If you think it's OK I can
test it on XenRT and see how that goes.

Sorry I took over the patch, I didn't want to force you into another
direction without knowing whether it would be OK, as it wasn't clear
to me this approach would be fine (seem so, but still needs further
testing).

One thing that would simplify the logic greatly, which Andrew brought
up, is foregoing the NUMA memory affinity for the allocated stubs page, and
allocate and map them contiguously in both the physical and the linear
address spaces, so that you would find the VA using:

XEN_VIRT_END - FIXADDR_X_SIZE - (cpu + 1) * STUB_BUF_SIZE

This would possibly allow to simply populate the whole range up to
num_present_cpus() at boot and get done with it.  However that's a
bigger change that should likely be done after 4.22 is out.

Thanks, Roger.
---
diff --git a/xen/arch/x86/include/asm/stubs.h b/xen/arch/x86/include/asm/stubs.h
index a520928e9a50..d575f1eb0631 100644
--- a/xen/arch/x86/include/asm/stubs.h
+++ b/xen/arch/x86/include/asm/stubs.h
@@ -32,6 +32,7 @@ struct stubs {
 };
 
 DECLARE_PER_CPU(struct stubs, stubs);
-unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn);
+unsigned long assign_stub_page(unsigned int cpu);
+void init_bsp_stub(void);
 
 #endif /* X86_ASM_STUBS_H */
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 4192edf635b6..cddf8806c877 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -2089,9 +2089,7 @@ void asmlinkage __init noreturn __start_xen(void)
 
     init_idle_domain();
 
-    this_cpu(stubs.addr) = alloc_stub_page(smp_processor_id(),
-                                           &this_cpu(stubs).mfn);
-    BUG_ON(!this_cpu(stubs.addr));
+    init_bsp_stub();
 
     bsp_traps_reinit(); /* Needs stubs allocated, must be before presmp_initcalls. */
 
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index b3045eac5b5e..dd0972a3025e 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -20,6 +20,7 @@
 #include <xen/serial.h>
 #include <xen/softirq.h>
 #include <xen/tasklet.h>
+#include <xen/xvmalloc.h>
 
 #include <asm/apic.h>
 #include <asm/cpuidle.h>
@@ -641,41 +642,61 @@ static int do_boot_cpu(int apicid, int cpu)
     return rc;
 }
 
-#define STUB_BUF_CPU_OFFS(cpu) (((cpu) & (STUBS_PER_PAGE - 1)) * STUB_BUF_SIZE)
+/* Dynamically allocated, indexed by CPU.  Store physical address of stubs. */
+static paddr_t *__ro_after_init stubs;
 
-unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn)
+unsigned long assign_stub_page(unsigned int cpu)
 {
     unsigned long stub_va;
-    struct page_info *pg;
+    paddr_t addr = stubs[cpu];
 
-    BUILD_BUG_ON(STUBS_PER_PAGE & (STUBS_PER_PAGE - 1));
-
-    if ( *mfn )
-        pg = mfn_to_page(_mfn(*mfn));
-    else
+    if ( addr == INVALID_PADDR )
     {
-        nodeid_t node = cpu_to_node(cpu);
-        unsigned int memflags = node != NUMA_NO_NODE ? MEMF_node(node) : 0;
+        nodeid_t nid = cpu_to_node(cpu);
 
-        pg = alloc_domheap_page(NULL, memflags);
-        if ( !pg )
-            return 0;
+        /*
+         * Attempt to use the same page as the previous CPU if possible,
+         * otherwise allocate a new one.
+         */
+        if ( cpu && nid == cpu_to_node(cpu - 1) &&
+             PAGE_OFFSET(stubs[cpu - 1] + STUB_BUF_SIZE) )
+            addr = stubs[cpu - 1] + STUB_BUF_SIZE;
+        else
+        {
+            struct page_info *pg = alloc_domheap_page(NULL, MEMF_node(nid));
 
-        unmap_domain_page(memset(__map_domain_page(pg), 0xcc, PAGE_SIZE));
+            if ( !pg )
+                return 0;
+            addr = page_to_maddr(pg);
+        }
+        stubs[cpu] = addr;
     }
 
     stub_va = XEN_VIRT_END - FIXADDR_X_SIZE - (cpu + 1) * PAGE_SIZE;
-    if ( map_pages_to_xen(stub_va, page_to_mfn(pg), 1,
+    if ( map_pages_to_xen(stub_va, maddr_to_mfn(addr), 1,
                           PAGE_HYPERVISOR_RX | MAP_SMALL_PAGES) )
-    {
-        if ( !*mfn )
-            free_domheap_page(pg);
-        stub_va = 0;
-    }
-    else if ( !*mfn )
-        *mfn = mfn_x(page_to_mfn(pg));
+        return 0;
+
+    per_cpu(stubs.mfn, cpu) = PFN_DOWN(addr);
+    return stub_va + PAGE_OFFSET(addr);
+}
+
+void __init init_bsp_stub(void)
+{
+    const unsigned int num_cpus = num_present_cpus();
+    unsigned int i;
+
+    ASSERT(!stubs);
+    stubs = xvmalloc_array(typeof(*stubs), num_cpus);
+    if ( !stubs )
+        panic("Unable to allocate stub array");
+
+    for ( i = 0; i < num_cpus; i++ )
+        stubs[i] = INVALID_PADDR;
 
-    return stub_va ? stub_va + STUB_BUF_CPU_OFFS(cpu) : 0;
+    this_cpu(stubs.addr) = assign_stub_page(0);
+    if ( !this_cpu(stubs.addr) )
+        panic("Unable to initialize BSP stub region");
 }
 
 void cpu_exit_clear(unsigned int cpu)
@@ -990,19 +1011,12 @@ static void cpu_smpboot_free(unsigned int cpu, bool remove)
     {
         mfn_t mfn = _mfn(per_cpu(stubs.mfn, cpu));
         unsigned char *stub_page = map_domain_page(mfn);
-        unsigned int i;
 
-        memset(stub_page + STUB_BUF_CPU_OFFS(cpu), 0xcc, STUB_BUF_SIZE);
-        for ( i = 0; i < STUBS_PER_PAGE; ++i )
-            if ( stub_page[i * STUB_BUF_SIZE] != 0xcc )
-                break;
+        memset(stub_page + PAGE_OFFSET(stubs[cpu]), 0xcc, STUB_BUF_SIZE);
         unmap_domain_page(stub_page);
         destroy_xen_mappings(per_cpu(stubs.addr, cpu) & PAGE_MASK,
                              (per_cpu(stubs.addr, cpu) | ~PAGE_MASK) + 1);
         per_cpu(stubs.addr, cpu) = 0;
-        per_cpu(stubs.mfn, cpu) = 0;
-        if ( i == STUBS_PER_PAGE )
-            free_domheap_page(mfn_to_page(mfn));
     }
 
     if ( IS_ENABLED(CONFIG_PV32) )
@@ -1041,7 +1055,7 @@ void *cpu_alloc_stack(unsigned int cpu)
 static int cpu_smpboot_alloc(unsigned int cpu)
 {
     struct cpu_info *info;
-    unsigned int i, memflags = 0;
+    unsigned int memflags = 0;
     nodeid_t node = cpu_to_node(cpu);
     seg_desc_t *gdt;
     unsigned long stub_va;
@@ -1092,15 +1106,7 @@ static int cpu_smpboot_alloc(unsigned int 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 )
-        if ( cpu_online(i) && cpu_to_node(i) == node )
-        {
-            per_cpu(stubs.mfn, cpu) = per_cpu(stubs.mfn, i);
-            break;
-        }
-    BUG_ON(i == cpu);
-    stub_va = alloc_stub_page(cpu, &per_cpu(stubs.mfn, cpu));
+    stub_va = assign_stub_page(cpu);
     if ( !stub_va )
         goto out;
     per_cpu(stubs.addr, cpu) = stub_va;


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 15:11:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 15:11:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334470.1597498 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXKah-0007g0-0T; Wed, 10 Jun 2026 15:11:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334470.1597498; Wed, 10 Jun 2026 15:11: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 1wXKag-0007ft-TM; Wed, 10 Jun 2026 15:11:38 +0000
Received: by outflank-mailman (input) for mailman id 1334470;
 Wed, 10 Jun 2026 15:11:37 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Markus.Elfring@web.de>) id 1wXKaf-0007fn-9r
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 15:11:37 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXKae-000Vn6-AV
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 17:11:36 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Markus.Elfring@web.de>)
 id 6a297e99-5cb7-0a2a0a5109dd-0a2a4508d210-12
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 17:11:36 +0200
Received: from [212.227.15.4] (helo=mout.web.de)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Markus.Elfring@web.de>)
 id 6a297ea8-63b5-0a2a45080019-d4e30f04d2ab-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 17:11:36 +0200
Received: from client.hidden.invalid by smtp.web.de (mrweb005
 [213.165.67.108]) with ESMTPSA (Nemesis) id 1N7gXO-1xKIDH3PqE-00wJp6; Wed, 10
 Jun 2026 17:11:25 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=s29768273 header.d=web.de header.i="markus.elfring@web.de" header.h="X-UI-Sender-Class:Message-ID:Date:MIME-Version:To:Cc:From:Subject:Content-Type:Content-Transfer-Encoding"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de;
	s=s29768273; t=1781104285; x=1781709085; i=markus.elfring@web.de;
	bh=/67hHk+W7NbPsYULrCbnnZFhKtw0QsXXIqIOpv7d2jI=;
	h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:To:Cc:From:
	 Subject:Content-Type:Content-Transfer-Encoding:cc:
	 content-transfer-encoding:content-type:date:from:message-id:
	 mime-version:reply-to:subject:to;
	b=ZiZ2eGe/ykaqQ9uWwKmbO8c7WTyUHvApBvZmkqDai0rlaRCofDmIU1sXQR1klcOQ
	 J6TUd92lWMFNeLpVkr6WoDRi9nPEkFsujtr0ZCtOKlM838OfJ7bNnQI2y9CSPzh/A
	 UgfOAe7gjQqzXw+yW8+uyuaxZA1JlqjBSWScMeIuX06xH/Q1eWf9YJiA3m8RUYFkR
	 noJYuzEuJZUpB4t/2d40YbGkvCIiuTVoadFlVlaDrucxG5Qyfyj+u3QyOUDnniUMt
	 1nx8Ck9db+ljUb6JYbs54faGtuhG/CQDEDQDcGGZ/MFvyroH06M+A/fboxJfjn8DQ
	 l2XoRAfzJD1KscnTjQ==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
Message-ID: <f13e34bc-20e2-479f-92e5-167a139bcea7@web.de>
Date: Wed, 10 Jun 2026 17:11:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: xen-devel@lists.xenproject.org, =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?=
 <jgross@suse.com>, Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Content-Language: en-GB, de-DE
Cc: LKML <linux-kernel@vger.kernel.org>, kernel-janitors@vger.kernel.org
From: Markus Elfring <Markus.Elfring@web.de>
Subject: [PATCH] xen/mcelog: Use common error handling code in
 bind_virq_for_mce()
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:MAq7XN4d+MqNcQHceBR09FGGS5D+dnyHF50hd5vl3mcYCbkhfBh
 cV5Y4yEAp1Vd+oG145zvrFIqalhWK2TEUCj4NaPAQlmIQCkQstz/CNeCdglRo7V9tU4fZwE
 FqTYu9gVPRCdjglBx+XysoQyPlxDrg3mPTdfCE0MwTA7feJrJlscA0Lu65FqankvaOz4QPP
 GOUPan+I8zAyvjh4RNX/Q==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:6mJcs9brbtw=;/YqmtxyExKkVsjjT+y/2uP4HMwB
 7cskJ01Vz/INcpJU9D38+6/QzdDqsO/s7egU5OvWMFmxnDnM1JvlvrZlTA90pFURV5e1+g1IQ
 hKG75w/6JCBkt6880dPvHSfly3/Hwgz0aPkWGwJjCUB76kC3J1obx/ZNNwzmpf9mWwDBSc6lv
 5F+c0kOSgXwu5vNnGLWWZ28cjSQ4kk9dydWvIa3uNO8lCPad4lBXQ4O16c6f7LqtkWtEBOteu
 B+db00Ua0bWfmvvDzbl4qh3IBMlWhrfcvTXslFuDdMvwdXIJ0PGm84r41g5CyiAN6VKdl0zkE
 /VbZ9rjNIhrjLTmcLShOcN+f/1ddTzSOhkjv6/XGkuvyZTPjHmXNPpJpW8PY0nMtzSstFpEn+
 QtwCJ+2WCJefEbJswqxx629bdBAQfYZzuqsGTYWqCAZtxHBiUn56Ul0jGNlCf/TLnUhFbpvkK
 hTq7v4bXzPnHBawd1c1zFE02lgnK6KlwaMF9j7B/qe9SKcxme7NrBPy3KP58DcdZh60FZFszh
 OCiE9btpcREY9r5KVAIt9OfsBPonyd8qMCR6VgXNFRIfDmyN06YzYdT7RnnmillLWZfFnM6Y1
 76hghHjWohtto9urywwcbuEw21wMez3KXr+F7NXNc5zFCCo+dbInBB3jWjJQX9aKGuMZX9jFk
 lBZSZdCEvNY7F5vvC6RMVGOg2yo2yblImWh033hbM6qUvYP+gclFRLtSS755Uk2XM7OFW6Psn
 BAWQQJXnT9/g8kr4LcvBaSXsiLcuqrP+zW2kzYiRA+d3OWGwshP5BBQC/6r8xwsjJOUzA/H2l
 AfMKkTnPH0KDLgoH2RSt3lY1K3tDnfDNaJnNubWQIspM3nW+85E/juw9vvEfIEXKgSmWmavmX
 hxC63/j3kdyssE5Gv6YvguEsu5On3ZJ59DizsUHm043/9E7+zdqXJ4GQf8ztVCI1uvP3wzF3z
 k1LhZ+th2Ck/9RZ2iCZR/QoYMjUYDEHjAyohole5FqvMxlqWXFJ/vliVxVZ/VWUKxHzyEm8XY
 idEzNENeviS/rc/9R5FSKuA0SiKhQJSB6zPAQObamGzXrLK9TSITnlH5DGI4aQ3Pjvz2o9kta
 TpTMEICVTZ8qVSmkHIRXH3rv8+4WvqYwDfWpckeuXKbXOA2SG+ckCxYlUhwSmbiWzI7ln7Is5
 gKXkZF+46AZfLoKFL6pp9Au0FUxArOObPAcq4XCWXcVFH6wM/c0vOqxPGavs5VvRJyqAaiM8K
 4Mnrt+p9sNLOtgcXTUIee6uneyUlv1YBOhqTJ01PoNQhyVvzq8H/NX/Kf5McwfJLpHRhhQ3Xd
 QYwt4JxVb0D6emWr7K0Ag53i3DceBXRYH6dYljcT2yn4he64jgX8T7cQyTocRV8eYu7Tqlww+
 ML9WjkMzSV/M2FB+IPoi87SiK7rWtxQMQl1XPEiIAVQOJ5IcSe2adLqO/aM6DdMV/ln4tiYsS
 hEk7fAl33fDmrXem04vS34U01cvUkfhegvcnrPaAsM9EKFXIvKZyOvtUsoxmZDmhl2V9fJ+UY
 u+hlNOQcKtux+nxzjNenhuXLGail8yRJ7xF82ScKiWD7FdeI52XEWqGLyfUPONN/cXv0gkc8v
 O1OOXubK80UfjUnC6EMcPkkb4uZRTsAX6mz8LIirawOh7kPP4wyoMshcDicFRU99fpQSMHS5r
 mNLbHUHrRS8bxm+l5yuSDljNNz+S+35VqjIarxkd3KCM9xTnezn4rRce95F42EAOKC5h+lrRT
 3mborARU7T2veU2AdFoDLNpTuzr2ZQgstTLi+KVozju5C7kHHF6+7PJaulSP10CTol91b4UuZ
 mRNaZUQqUjsAbpboaqxnjPMepdCWc8ri7NgBpq6koHiCHzqaM0cr7rRaJCGVgDI4P3/tZNwjE
 bGNUKZ1CzFKC2b6beAfuGU2vL6lLJM+73pBdHkbP3h36TWq0IAoSBQTjrJcxh9WldT5r3LWyf
 LBrQSrS5qmVKACLu0e7jQTI1+9MvcOnzaLWLZhYBR+nK1AQvjblgkTMPfTWLzBFvyxjSF7bhk
 y8CvLCKS9/M7vgxGQ/r4lTgRiJxJbAtv0wu/QE4DfnZxSAPxarRte5dDxQbDiVftJnSjSM/vk
 mMYdVWEO4BPxllXos0lWR+jjiz4HMM8AA+ozxgiLsLj98NwDjqUJWvkN63TbBoX2dxKQr61sy
 CroMtKvcixlsomzzdC588xCB+WFkXAgplmMk3ywzpZpcE9Y1BrfdwK7o5O3RQqyPID6Nrl739
 oAF5PFTH6NUbXZ2ADvTd8x+58TjCSMtHk2ualuOJ2rwVRua1TP+CyLikF58GAncwkLZ1JeNGL
 hTZOFHHIjvRaFwqeQU121N4adBbM25WoUbAzRdwIuTP5tnaSUuQfvNtB+AbW58vUdcurUVv6v
 M63K0lkBG0Phxz2CYYzjMEzgGSlExoxOefsJz9crZ341mMqEkD5nZoWG5obwrIlbMKgqLpQPm
 N3ICgjlqjVQwR/0zSNT6Z7Sf4Rsl4A49V0SUojs2T4FBajGA+LD8rMVbx+QnRLlQFX5wnvyZe
 py70mqwpIN2K+xjFd498x7md26ZmyoF4zDx6qN6lLZtZdmDPXNV7qUjpGCudrvIqlW4pATD49
 wNmpf+v/4QVusu4DqRTTQUbE1+ikbr9Ejgr/z1ShvD9hPVfmta/D5pAFbdVo91OWkVTxu0FJo
 IUCCuG3twYCQSvMO/J9fwHVeVL0tI2wAfp8jX4vwiaUZYyQz2tMdRojJJx5y9M8rNr+z4/bJv
 f9LphznA91AA+YBqRC1/Gljb85cHVorhXYaSkLlvLZN5D1PO0FQS+zn2cLYNWzsiPgGxiX/Es
 A5top4KrgEJt7MXvru2X/UhtAKdTsNQYmbHfjwaIP1E0Sd67lMRUE9gUCpnq81ETzHfG1QZog
 uPdusr0wprEoqYd6+wDbnk13dX8zPS7uLxsAdRwFvxJc/GYYp4xln7KZr/4g5HYxZhrRPNTyq
 mcNVJ5GoVbe1cTEKL0ELzfKzOZvQqaZbqo6ROA6SDOWvVSrH3Rz/vUIt0aOGck6tdVZn2woH7
 iHtZueO6t39rgVdmECfBC1Q/2qnA5VOBA+Vz959fWxqI9XAoOjN3ZYARyYspK9el9gKZLR+Kn
 JReP+qPo4QhwPEaWszH3jmdd0xbH8njQUiKiBcM7aCZxo6hudgtmgeVhyRj4HrUqymVe+m0R3
 12ZY/KfU1xhMs90Z01cXonhplBsuyAbbVf/alkqfsEAOJoDBcS1rVf3Wpba3BRkcc8HSECv/7
 9w/IbepK11x8muFm8x06uAXw/YxD1ctRpEEEctC4ZZgIJYeKf/AFyYQh5QcyX1/g/nXvFH2gy
 pW3WDTFSmFwd4jary7vNSs/jOOtH8xIREL9ns4ZZ+0we6TSD5kQd2FkdqsWNE5iUQ/erpxnyb
 AcRL5PqVUaobxpLX1eLWG0Zhvf+qHjl97g1Jr7+EJVURGvglJ8rN2ix1y2NJIiro6E0whH6W2
 n4bD2QF/zCUpW5D1iQthCB/qLdtwbmXVNfYUQadvzCeEc+lr2IHs5DIVIuzatRNf0rvmKPX7X
 yUFuuuumkktWwnZCvbsrOCiNbZX/l15Ixv5VqrsJXC3PXiygLXb6qm/tsaMogPUlZAxU6redG
 ZN1d5Qd3xHVE91G/FWB2trH/Pb3ojHMYqXSB8ICjdvIWmm21rIbehCx/BW0JI2Ll3YY4yRQG+
 kT3y2haSH4M+sMbJ6SwpUcd4QvivIGvJpCgy15kLU5G+XzJEVzvp+w+XctxtHx5Bx9QvPkVkM
 KhsOERqhHCHEtHvTD5pbxlwCwtSwzIMS35V1zV1jmePqBkIpNMPDnFwEYZfEQw/GCvffjCKzJ
 ZYjD44Ea4tiS4nOrhVe8h0QVHaC60sJ+7gneM2yyXgc77TRW8b/1J57Nsxv8gXfU2OQD37quh
 U2biiPujSqHOwjZeU3ax2kTKOrHY15BTvwinpj0saryI3WOaSJZnjfG4JetEEA7iQ2Zc0vr8r
 Og/BBpB0U4sa/fXZUuf/7Pub0nvxjKGZ21gMkaFltCY+zOCmW8fnn2HiddMdsdZkJ1r9Z3hKY
 Q7WJiSwV5DOQh9OKupO4uH02AaJ9X+dNclBs4s9qAYgXe4M9RqADYEDtHZH/0NeTZ9skE67iz
 IIjKIpbX8ZTqZuVlbPRaFuoS5MaEik+urzwQU2wztvlf9hdq5reNGpdl3XHqUxvP053beWDp0
 3kY4nGwRpKXFxG4yWfgV7Ln/D+wuh61QumlMxxmTrDYfal/nIFq4JRToj6k7XOF10kzh2fFjR
 qkSkqah3GeQ/i3zaul/8qygsKHhYe2XfaLmuQmNYU780o30BFZ/CD2yf+KpeiZMaNi2HMI+9J
 tqcvDvC99MivTScBb/JEE3ag2DGeXyU2WQON83J0ZxmPYaaAT16IshLld7Fs8k+dZQFX5uofP
 dwqyH/NuFJkhn/UTjx+3w3HgGo7Gn9s8KzGRh9ovNmkUZUth2zN1CA51c2S0SS+fmayKOH3qZ
 U1niAEC6oXy9+KmtvLWRL9HLKPKfofo1T0hQidsp0GNELM7HHf5lU8reRTok8f0UiArm6anXi
 LX8w+oVTmtb9yLh8/CYivhC4KmYhQGUjyufdrUKlLZCeggbmRIXiipwxkWk2PVJJNFyyqZbVC
 PCPydCwLgXGcjSh5mFYPFrZTi+rxMlGrKxxU/WVMgFbcVLGbztBF7utNPTl93faP1uW8zNTuK
 re+5+HmVtZnBCBW0AVP6Afg9GLGuJrW8cqfjZfSyiGxCT/Xy+fNCJ6zEk3Op5TbyfB1BxfyM7
 8/40zFAaMA1WfhF6cN0OzsRAkVudwXYbN2KcbJQRqBz0TiB2IMZTARy60rMWE+HKDryOhfuXx
 VJ+LGI979WcYpl/QkOHoZjGyRq+tC1hwUVYkI/bPVvvjWUc3X3cChh2ehykF+PrApSmIRJ8X8
 +L3+ckAk3fHe5meysuG/y2ZUC3zJGQzw5tHcQ9dce/lO0KeB0TkiQSEDk2rJNl6yZlVOZHQvs
 6paXhSPvQ79H7T/tBI/6BzG/m/ET2FZlXx7uwoLSZR4rbIKk36X/H5Mmd+V472RM/Yn8TByn8
 AcHpckH+z10Gn8SrvGO11C+AYYlzhR7ZsymjjcbeHuXqfbk5y9XPZSfS3uCxe7tG/OT4qNYDv
 gSgxOfdWDDYe5ZbEjTnVQs1NPQuJqWOdUG/jfcEiyRC9psx/4VF8CGaiLthKijPLDMbUHs9mc
 GDq6YxZ40QgygSKw6jHqtfHrzdZrDGxNjG2dk2+0yj3vVkSu+rWiU6GT7nsxOeroVxYlyc4xR
 E0jDLOYBKoCnNK9jBtq0Oj/EgCr21v/A4IM4v7e+ChAa/+Hrkd4vyHS4b9mZ/oPzgu87iTTW6
 Bb/v0c0QLvY9R/Bd1jyi1EL/N/0nmbV/jwtJwrN7wtmMWy4OywK1Y0GMtBOz43RiBRUQGzoo9
 0CtM9zcXsQ3wyw6YDGTVVyi1iUsc2fvok0kVhEeltCiuzcXbVGpGXnhNsL5L+oul2nohTKIXR
 JY0DFo0mxUGSdN+4XnqOZAIQHn6++dQQ0Q7oMhuomTMro3kBNO6vtx1w4f7gdtRfo17mArv52
 nN4Lha2McnitVjD5NoOR4UgMcJRbIlGJbIO+fWL4oBwOygMD
X-purgate-ID: tlsNG-c1860d/1781104296-BD96DDB1-9ADE20B2/0/0
X-purgate-type: clean
X-purgate-size: 1112

From: Markus Elfring <elfring@users.sourceforge.net>
Date: Wed, 10 Jun 2026 17:05:22 +0200
Subject: [PATCH] xen/mcelog: Use common error handling code in bind_virq_f=
or_mce()

Use an additional label so that a bit of exception handling can be better
reused at the end of an if branch.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
=2D--
 drivers/xen/mcelog.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/mcelog.c b/drivers/xen/mcelog.c
index 53a8720f5cae..df15d5cf6d4c 100644
=2D-- a/drivers/xen/mcelog.c
+++ b/drivers/xen/mcelog.c
@@ -380,14 +380,14 @@ static int bind_virq_for_mce(void)
 	ret =3D HYPERVISOR_mca(&mc_op);
 	if (ret) {
 		pr_err("Failed to get CPU info\n");
-		kfree(g_physinfo);
-		return ret;
+		goto free_info;
 	}
=20
 	ret  =3D bind_virq_to_irqhandler(VIRQ_MCA, 0,
 				       xen_mce_interrupt, 0, "mce", NULL);
 	if (ret < 0) {
 		pr_err("Failed to bind virq\n");
+free_info:
 		kfree(g_physinfo);
 		return ret;
 	}
=2D-=20
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 15:41:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 15:41:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334503.1597506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXL3M-00042U-9h; Wed, 10 Jun 2026 15:41:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334503.1597506; Wed, 10 Jun 2026 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 1wXL3M-00042N-6v; Wed, 10 Jun 2026 15:41:16 +0000
Received: by outflank-mailman (input) for mailman id 1334503;
 Wed, 10 Jun 2026 15:41:14 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper3@citrix.com>) id 1wXL3K-00042H-If
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 15:41:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXL3J-002yQ2-Ux
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 17:41:13 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a29858d-e002-0a2a0a5209dd-0a2a4508dca0-10
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 17:41:13 +0200
Received: from [209.85.221.42] (helo=mail-wr1-f42.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a298599-63b5-0a2a45080019-d155dd2ac1dc-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 17:41:13 +0200
Received: by mail-wr1-f42.google.com with SMTP id
 ffacd0b85a97d-45ef82204c6so3879528f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 08:41:13 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2dcde3sm74605802f8f.1.2026.06.10.08.41.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Jun 2026 08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1781106073; x=1781710873; 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=qndYU0vQVsNeLM+JlpEy3a/0w2lL2uNqn7mfGncOCjw=;
        b=ux5y/heict7tvN/gH25PSDAuPgqnN7ZgUIX0RXPsbAkNvwepApr8J9XVG6Qc+egPJ8
         hQ7f2vS5OV+g5RircDRnhMppga6LWa7pjyOdefKpfDMniRvW8JVDKC711d9oSJ3RNttT
         fY8MRd7Xd6TPivSRSbMd6MqsbKGjAWJb3e8KY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781106073; x=1781710873;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qndYU0vQVsNeLM+JlpEy3a/0w2lL2uNqn7mfGncOCjw=;
        b=Jqb5pkLfkY6xzryiep/UnnjlbNwx5MvDkWIEH0/POYmCWApzcX/2ZfqlvblTP33kRz
         DvCfy4wA37JB0bUPBeKwIrZVJ051nSwiWykNie6VbX158QWsBPO9W+mW5uoLLx1/D9Vn
         qnIhM8ulrynJ8RgviTRudyMvCy2fDEJzvXcT6Zd1JVXiHlOIZeaeDAREYrMiBmyryS0k
         4Vwx+MfpamHiKrjbYPz/0mWAsNdOteZzsc1fiVT+qS7DezrLr29djHr9pXPgyypLoAa8
         SDCruhq9tGI93GqrgYQG0t2FKBjZMjkgz9iThHTtLy/OSfYl9RvynWMDvfDk9rtxU2Za
         RIzg==
X-Gm-Message-State: AOJu0YwoMiwNrN9uAQgSX+AduWbwEWBfrBEZbpTIfsK/dkxTLAzdKba5
	Bt3qmuW6WloB5aoehOqk9dFjKe8Ir48/G0heuVxiFab0/7/K+s6w8L4dOMFKHoEgWoyijK9CStG
	lF8Xj
X-Gm-Gg: Acq92OE334xPUh3LmT4OsRYex7DJSt5Ao+VQDgfyTuiyUpeoseRFbzGqAvca4LEVPal
	4XalmVYmhOuQScDB1X8YpfwbIflXz9b/ndPGXhLBMX5j/7IrQdwgcXESws+Y9Hg9kim0Gri+olU
	qGUuSPnjMUsZlEj5lgt3kyqyhsPK0a5gs25Z1S0vGzmn0K+AiYYYUHk7pH5IDkTxK8FULrLlSx/
	KM76dWOJNl/NqNB1hzmJSCSEWDjxQxZZtFDt0o5F3IrBSDRNrVlnSw0tLtPegnqybmfOCgf463C
	g81xqXYSkmEFtnBl4s7w8mZ7oITFtQzNZBMV4bsD8gW+oejT6sTLbfs8wVgxTOcfLC5RKBkFoD3
	6sxJkhnnFn4xNGcE4SzlhQT9zPHmPGu3GaktzFFNecJMLnRLLDsejgZWJpCmfvAkUZef9d7oZ0S
	oFoz2PaAEvPQNio07+cKHiKM5ocNqIZNKOIudJtN95Uxnx11TT/VRXh1g8cg0ulCeSItwDtCOOG
	I63uhzFAp1iuYk=
X-Received: by 2002:adf:ff89:0:b0:45e:ef2e:25a8 with SMTP id ffacd0b85a97d-46030623f7emr30417911f8f.32.1781106072650;
        Wed, 10 Jun 2026 08:41:12 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	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>,
	Kevin Lampis <kevin.lampis@citrix.com>
Subject: [PATCH for-next] xen/kexec: Style fixes
Date: Wed, 10 Jun 2026 16:41:10 +0100
Message-Id: <20260610154110.2979888-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
X-purgate-ID: tlsNG-c1860d/1781106073-BC567DB1-5811F338/0/0
X-purgate-type: clean
X-purgate-size: 12351

Adjust kexec and kimage to more closely adhere to Xen style.

Sort the includes, dropping duplicates (kexec.h) and unused (ctype.h and
kernel.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: Kevin Lampis <kevin.lampis@citrix.com>

Fix these before they get copied around in the EFI changes.
---
 xen/common/kexec.c  | 94 +++++++++++++++++++++++++--------------------
 xen/common/kimage.c | 23 ++++++-----
 2 files changed, 64 insertions(+), 53 deletions(-)

diff --git a/xen/common/kexec.c b/xen/common/kexec.c
index 65776a95fd70..9ff22e43991c 100644
--- a/xen/common/kexec.c
+++ b/xen/common/kexec.c
@@ -6,31 +6,33 @@
  * - Magnus Damm <magnus@valinux.co.jp>
  */
 
-#include <xen/init.h>
-#include <xen/lib.h>
 #include <xen/acpi.h>
-#include <xen/ctype.h>
+#include <xen/console.h>
+#include <xen/cpu.h>
+#include <xen/cpumask.h>
 #include <xen/elfcore.h>
 #include <xen/errno.h>
 #include <xen/guest_access.h>
-#include <xen/param.h>
-#include <xen/watchdog.h>
-#include <xen/sched.h>
-#include <xen/types.h>
 #include <xen/hypercall.h>
+#include <xen/init.h>
 #include <xen/kexec.h>
 #include <xen/keyhandler.h>
-#include <public/kexec.h>
-#include <xen/cpumask.h>
-#include <asm/atomic.h>
+#include <xen/kimage.h>
+#include <xen/lib.h>
+#include <xen/param.h>
+#include <xen/sched.h>
 #include <xen/spinlock.h>
+#include <xen/types.h>
 #include <xen/version.h>
-#include <xen/console.h>
-#include <xen/kexec.h>
-#include <xen/kimage.h>
-#include <public/elfnote.h>
+#include <xen/watchdog.h>
+
+#include <asm/atomic.h>
+
 #include <xsm/xsm.h>
-#include <xen/cpu.h>
+
+#include <public/elfnote.h>
+#include <public/kexec.h>
+
 #ifdef CONFIG_COMPAT
 #include <compat/kexec.h>
 #endif
@@ -162,6 +164,7 @@ static int __init cf_check parse_crashkernel(const char *str)
 
             ++idx;
         } while ( *str == ',' );
+
         if ( idx < ARRAY_SIZE(ranges) )
             ranges[idx].size = 0;
     }
@@ -317,7 +320,7 @@ void kexec_crash_save_cpu(void)
     ELF_Prstatus *prstatus;
     crash_xen_core_t *xencore;
 
-    BUG_ON ( ! crash_notes );
+    BUG_ON(!crash_notes);
 
     if ( cpumask_test_and_set_cpu(cpu, &crash_saved_cpus) )
         return;
@@ -418,6 +421,7 @@ static void cf_check do_crashdump_trigger(unsigned char key)
 static void setup_note(Elf_Note *n, const char *name, int type, int descsz)
 {
     int l = strlen(name) + 1;
+
     strlcpy(ELFNOTE_NAME(n), name, l);
     n->namesz = l;
     n->descsz = descsz;
@@ -427,7 +431,7 @@ static void setup_note(Elf_Note *n, const char *name, int type, int descsz)
 static size_t sizeof_note(const char *name, int descsz)
 {
     return (sizeof(Elf_Note) +
-            ELFNOTE_ALIGN(strlen(name)+1) +
+            ELFNOTE_ALIGN(strlen(name) + 1) +
             ELFNOTE_ALIGN(descsz));
 }
 
@@ -439,7 +443,7 @@ static size_t sizeof_cpu_notes(const unsigned long cpu)
         + sizeof_note("Xen", sizeof(crash_xen_core_t));
 
     /* CPU0 also presents the crash_xen_info note. */
-    if ( ! cpu )
+    if ( !cpu )
         bytes = bytes +
             sizeof_note("Xen", sizeof(crash_xen_info_t));
 
@@ -450,24 +454,27 @@ static size_t sizeof_cpu_notes(const unsigned long cpu)
  * crash heap if the user has requested that crash notes be allocated
  * in lower memory.  There is currently no case where the crash notes
  * should be free()'d. */
-static void * alloc_from_crash_heap(const size_t bytes)
+static void *alloc_from_crash_heap(const size_t bytes)
 {
-    void * ret;
+    void *ret;
+
     if ( crash_heap_current + bytes > crash_heap_end )
         return NULL;
-    ret = (void*)crash_heap_current;
+
+    ret = crash_heap_current;
     crash_heap_current += bytes;
+
     return ret;
 }
 
 /* Allocate a crash note buffer for a newly onlined cpu. */
 static int kexec_init_cpu_notes(const unsigned long cpu)
 {
-    Elf_Note * note = NULL;
+    Elf_Note *note = NULL;
     int ret = 0;
     int nr_bytes = 0;
 
-    BUG_ON( cpu >= nr_cpu_ids || ! crash_notes );
+    BUG_ON(cpu >= nr_cpu_ids || !crash_notes);
 
     /* If already allocated, nothing to do. */
     if ( crash_notes[cpu].start )
@@ -505,7 +512,7 @@ static int kexec_init_cpu_notes(const unsigned long cpu)
 
         /* If the allocation failed, and another CPU did not beat us, give
          * up with ENOMEM. */
-        if ( ! note )
+        if ( !note )
             ret = -ENOMEM;
         /* else all is good so lets set up the notes. */
         else
@@ -518,7 +525,7 @@ static int kexec_init_cpu_notes(const unsigned long cpu)
             setup_note(note, "Xen", XEN_ELFNOTE_CRASH_REGS,
                        sizeof(crash_xen_core_t));
 
-            if ( ! cpu )
+            if ( !cpu )
             {
                 /* Set up Xen Crash Info note. */
                 xen_crash_note = note = ELFNOTE_NEXT(note);
@@ -548,8 +555,6 @@ static int cf_check cpu_callback(
          * fail the CPU_UP_PREPARE */
         kexec_init_cpu_notes(cpu);
         break;
-    default:
-        break;
     }
     return NOTIFY_DONE;
 }
@@ -592,7 +597,7 @@ static int __init cf_check kexec_init(void)
             get_order_from_bytes(crash_heap_size),
             MEMF_bits(crashinfo_maxaddr_bits) );
 
-        if ( ! crash_heap_current )
+        if ( !crash_heap_current )
             return -ENOMEM;
 
         memset(crash_heap_current, 0, crash_heap_size);
@@ -604,7 +609,7 @@ static int __init cf_check kexec_init(void)
        Only the individual CPU crash notes themselves must be allocated
        in lower memory if requested. */
     crash_notes = xzalloc_array(crash_note_range_t, nr_cpu_ids);
-    if ( ! crash_notes )
+    if ( !crash_notes )
         return -ENOMEM;
 
     register_keyhandler('C', do_crashdump_trigger, "trigger a crashdump", 0);
@@ -620,7 +625,8 @@ presmp_initcall(kexec_init);
 
 static int kexec_get_reserve(xen_kexec_range_t *range)
 {
-    if ( kexec_crash_area.size > 0 && kexec_crash_area.start > 0) {
+    if ( kexec_crash_area.size > 0 && kexec_crash_area.start > 0 )
+    {
         range->start = kexec_crash_area.start;
         range->size = kexec_crash_area.size;
     }
@@ -636,7 +642,7 @@ static int kexec_get_cpu(xen_kexec_range_t *range)
     if ( nr < 0 || nr >= nr_cpu_ids )
         return -ERANGE;
 
-    if ( ! crash_notes )
+    if ( !crash_notes )
         return -EINVAL;
 
     /* Try once again to allocate room for the crash notes.  It is just possible
@@ -726,7 +732,7 @@ static int kexec_get_range_compat(XEN_GUEST_HANDLE_PARAM(void) uarg)
     {
         XLAT_kexec_range(&compat_range, &range);
         if ( unlikely(__copy_to_guest(uarg, &compat_range, 1)) )
-             ret = -EFAULT;
+            ret = -EFAULT;
     }
 
     return ret;
@@ -760,7 +766,7 @@ void vmcoreinfo_append_str(const char *fmt, ...)
     int r;
     size_t note_size = sizeof(Elf_Note) + ELFNOTE_ALIGN(strlen(VMCOREINFO_NOTE_NAME) + 1);
 
-    if (vmcoreinfo_size + note_size + sizeof(buf) > VMCOREINFO_BYTES)
+    if ( vmcoreinfo_size + note_size + sizeof(buf) > VMCOREINFO_BYTES )
         return;
 
     va_start(args, fmt);
@@ -776,7 +782,7 @@ static void crash_save_vmcoreinfo(void)
 {
     size_t data_size;
 
-    if (vmcoreinfo_size > 0)    /* already saved */
+    if ( vmcoreinfo_size > 0 )    /* already saved */
         return;
 
     data_size = VMCOREINFO_BYTES - (sizeof(Elf_Note) + ELFNOTE_ALIGN(strlen(VMCOREINFO_NOTE_NAME) + 1));
@@ -835,7 +841,7 @@ static int kexec_exec(XEN_GUEST_HANDLE_PARAM(void) uarg)
     if ( !test_bit(base + pos, &kexec_flags) )
         return -ENOENT;
 
-    switch (exec.type)
+    switch ( exec.type )
     {
     case KEXEC_TYPE_DEFAULT:
         image = kexec_image[base + pos];
@@ -917,8 +923,8 @@ static int kexec_segments_add_segment(unsigned int *nr_segments,
     unsigned int n = *nr_segments;
 
     /* Need a new segment? */
-    if ( n == 0
-         || segments[n-1].dest_maddr + segments[n-1].dest_size != maddr )
+    if ( n == 0 ||
+         segments[n-1].dest_maddr + segments[n-1].dest_size != maddr )
     {
         n++;
         if ( n > KEXEC_SEGMENT_MAX )
@@ -1139,7 +1145,7 @@ static int kexec_load(XEN_GUEST_HANDLE_PARAM(void) uarg)
     return 0;
 
 error:
-    if ( ! kimage )
+    if ( !kimage )
         xfree(segments);
     kimage_free(kimage);
     return ret;
@@ -1229,32 +1235,38 @@ static int do_kexec_op_internal(unsigned long op,
     switch ( op )
     {
     case KEXEC_CMD_kexec_get_range:
-        if (compat)
-                ret = kexec_get_range_compat(uarg);
+        if ( compat )
+            ret = kexec_get_range_compat(uarg);
         else
-                ret = kexec_get_range(uarg);
+            ret = kexec_get_range(uarg);
         break;
+
     case KEXEC_CMD_kexec_load_v1:
         if ( compat )
             ret = kexec_load_v1_compat(uarg);
         else
             ret = kexec_load_v1(uarg);
         break;
+
     case KEXEC_CMD_kexec_unload_v1:
         if ( compat )
             ret = kexec_unload_v1_compat(uarg);
         else
             ret = kexec_unload_v1(uarg);
         break;
+
     case KEXEC_CMD_kexec:
         ret = kexec_exec(uarg);
         break;
+
     case KEXEC_CMD_kexec_load:
         ret = kexec_load(uarg);
         break;
+
     case KEXEC_CMD_kexec_unload:
         ret = kexec_unload(uarg);
         break;
+
     case KEXEC_CMD_kexec_status:
         ret = kexec_status(uarg);
         break;
diff --git a/xen/common/kimage.c b/xen/common/kimage.c
index 6202491f7e76..a0e4e67df7ee 100644
--- a/xen/common/kimage.c
+++ b/xen/common/kimage.c
@@ -11,15 +11,13 @@
  * Version 2.  See the file COPYING for more details.
  */
 
-#include <xen/types.h>
-#include <xen/init.h>
-#include <xen/kernel.h>
 #include <xen/errno.h>
-#include <xen/spinlock.h>
 #include <xen/guest_access.h>
-#include <xen/mm.h>
+#include <xen/init.h>
 #include <xen/kexec.h>
 #include <xen/kimage.h>
+#include <xen/mm.h>
+#include <xen/spinlock.h>
 
 #include <asm/page.h>
 
@@ -166,7 +164,7 @@ static int do_kimage_alloc(struct kexec_image **rimage, paddr_t entry,
             goto out;
     }
 
-    /* 
+    /*
      * Page for the relocation code must still be accessible after the
      * processor has switched to 32-bit mode.
      */
@@ -221,8 +219,8 @@ static int kimage_crash_alloc(struct kexec_image **rimage, paddr_t entry,
     unsigned long i;
 
     /* Verify we have a valid entry point */
-    if ( (entry < kexec_crash_area.start)
-         || (entry > kexec_crash_area.start + kexec_crash_area.size))
+    if ( entry < kexec_crash_area.start ||
+         entry > kexec_crash_area.start + kexec_crash_area.size )
         return -EADDRNOTAVAIL;
 
     /*
@@ -244,8 +242,8 @@ static int kimage_crash_alloc(struct kexec_image **rimage, paddr_t entry,
         mstart = segments[i].dest_maddr;
         mend = mstart + segments[i].dest_size;
         /* Ensure we are within the crash kernel limits. */
-        if ( (mstart < kexec_crash_area.start )
-             || (mend > kexec_crash_area.start + kexec_crash_area.size))
+        if ( mstart < kexec_crash_area.start ||
+             mend   > kexec_crash_area.start + kexec_crash_area.size )
             return -EADDRNOTAVAIL;
     }
 
@@ -606,7 +604,7 @@ static struct page_info *kimage_alloc_page(struct kexec_image *image,
         }
     }
     page = NULL;
-    for (;;)
+    for ( ;; )
     {
         kimage_entry_t *old;
 
@@ -825,7 +823,8 @@ int kimage_load_segments(struct kexec_image *image)
     int s;
     int result;
 
-    for ( s = 0; s < image->nr_segments; s++ ) {
+    for ( s = 0; s < image->nr_segments; s++ )
+    {
         result = kimage_load_segment(image, &image->segments[s]);
         if ( result < 0 )
             return result;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 15:45:34 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 15:45:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334509.1597516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXL7U-0004Zz-Ow; Wed, 10 Jun 2026 15:45:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334509.1597516; Wed, 10 Jun 2026 15: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 1wXL7U-0004Zs-MI; Wed, 10 Jun 2026 15:45:32 +0000
Received: by outflank-mailman (input) for mailman id 1334509;
 Wed, 10 Jun 2026 15:45:31 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wXL7S-0004Zl-Lw
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 15:45:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXL7R-009xxa-O8
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 17:45:29 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a298680-2eae-0a2a0a5409dd-0a2a4503b146-34
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 17:45:29 +0200
Received: from [40.107.200.61]
 (helo=CH5PR02CU005.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a298697-672d-0a2a45030019-286bc83d3d0a-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 17:45:29 +0200
Received: from CH5PR05CA0017.namprd05.prod.outlook.com (2603:10b6:610:1f0::7)
 by SA3PR12MB9226.namprd12.prod.outlook.com (2603:10b6:806:396::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.11; Wed, 10 Jun
 2026 15:45:20 +0000
Received: from CH2PEPF0000009F.namprd02.prod.outlook.com
 (2603:10b6:610:1f0:cafe::8a) by CH5PR05CA0017.outlook.office365.com
 (2603:10b6:610:1f0::7) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.113.12 via Frontend Transport; Wed,
 10 Jun 2026 15:45:16 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 CH2PEPF0000009F.mail.protection.outlook.com (10.167.244.21) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.113.7 via Frontend Transport; Wed, 10 Jun 2026 15:45:16 +0000
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Wed, 10 Jun
 2026 10:45:16 -0500
Received: from [172.17.22.200] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Wed, 10 Jun 2026 10:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=mt8eC5tzQv6OQCZBJKFR9XWMohwxy50/8eOUKOnYOxdTA33h9H+TmCN2Ckg6vr1akHDrzxEa6wOQc31lrT+G+fyC0eIZP0qJgmiBiaUR0IFiZzIpLwDCTqHbxuKK2+pGePSKoVnQ+4B9eO2k3rPnsujiO4SLunDPZmGMRJnp5lkN9SQ1mkb1UNz/6IpNYQQ/WLIK0Lz9QDgXHBkQ733Hx4zsCPM8GApBJGbGOKkkTFlJNpBovXgFZpHcspcT3YSYKijavaqbTJtu9qOvug7gPPHQCACks89M7UoVaXe/fp4tR58vmk/Dl0Q5y2YZ437MOYywitNrB2q5mvp5SfeOPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VwDpoZYDoqRnwaMk4OgJztsPnMqVvdDuo/by29s8Q+o=;
 b=HuLQMeN9UhO5U0AbjrbbPN4DU0HSL6Cr+0QbutTkJoIdS10hPxn0lYCUWHFqLWDXHe0apF/tIK86EdmuqeQJ023Ofd4J4Xwt+wVU+Mj9f5zImGMlqIj3zRfMcUqWbPhs/1TBdoplVtDE7pj6t7AKk1N3+k0SQiyVo0rrCp36G7bPggpzIU3Y58gvWipkrC7iMPXk3Wz1raopw2PuEAPtvSTbx/M/2RmCH1BPuwEvsCyaedbqpkxXyRrbfBI3f8L33CypvWablLoXLSHiIibLbCA84LgyNMMpnZQuDhZPulDVkp4NVeDkRFcXJCfFodWfBHfZGDzg397o6REYUHRnxA==
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=VwDpoZYDoqRnwaMk4OgJztsPnMqVvdDuo/by29s8Q+o=;
 b=uFEWcaPdmg03C/gZy+H3r8icP73uYPl+GJcnAkF3vJym3lBPj3DcOPgU9LvRJxVQmQyDNsxvJftbWD4y6DoFrDfzESZvxJ1I46gJzKd8aauT8YtrRGeSvt7kaI3K4DKnwYrQ1QUAp1h2asD2jY19Sebe7G2NdyT+aRmkPytbma4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <085ebfb8-d76c-4a13-8b5b-130959b25b51@amd.com>
Date: Wed, 10 Jun 2026 11:23:46 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/2] xen/x86: Change stub page allocation/free
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>, Teddy Astie <teddy.astie@vates.tech>
References: <20260609000638.121027-1-jason.andryuk@amd.com>
 <20260609000638.121027-3-jason.andryuk@amd.com>
 <ail8YNrQLZ9bumiH@macbook.local>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <ail8YNrQLZ9bumiH@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: CH2PEPF0000009F:EE_|SA3PR12MB9226:EE_
X-MS-Office365-Filtering-Correlation-Id: 90d3b8f6-5f4b-4795-26b5-08dec70744d4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|1800799024|82310400026|376014|36860700016|22082099003|18002099003|4143699003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	2DWm5PwWJbQdDW/szJ13uIMcYUzeqlNDe5a+CByqy/iqiDDTj6Of9lijnsKsymO5txzKkssp0zc7TBQTN6oxY6bOthLOjzI10PYAywWC2AlPQibOqF/dPQg2lrUCbluzcPLg/P7k0OJSbTo7kPmduqy8F+ZCkTPQ+gUx9m01wm4QHQfjTDWd+uUs82mgg7m1SHOkFVNaDtstLwgonuy3ZCvtEDskof25vpzrT0zEb/zudl5PbaxIRl5mM1c7nfDDlB9lcdk4bmt5aUDsoiJlENm86Bm/lNv2j/FZKzbcsSjeHmbwwZaEnNW2cw88mbD/Aw7cfZJ68sIAp+e+vNZlOXIljhgvEGORqiAQx4rrLoxy2DeQ2p6XOiB+SMM68ufhenK1slzgXFjDtQn7VJX+SY62IIqDpL9WibtZppVtHDf5ocK5tYDXDkxkfCClUnqDhN290ZC0/Qu7eKxXiHaQ2VPbunPUwMlRdznvKg/Ax5pJ8OTbGAD6uuMU+fRMMg1XRmOQzUg/dkcuKTiPs98OZ7foJJGLTuueajrZ2uEeUs5Nx2WzhOtvoF+GoxKHaYVEbsRpvQbsiuEQIVpo1fQRGQPtKTuLvyOpy8Fg6y4BLn0gdtI7fSzW2EpuIcJ/FD6Nkui6skIUIDgjzma7SA13+mQTJIMvx4z/ZFllZK615E6F1AvIDBNya0Rb+TPTW1ExCaYWh4kzD8EOaznTttkvohgsD3hsnuT3qd7Zv56T7Rg=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(82310400026)(376014)(36860700016)(22082099003)(18002099003)(4143699003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	YBhOwWqWdvAbDRp95HRPbLbk2/HNWVtFm2ZA1LD9ki8NCJrPbxsPUHcrCyTLLlKF9xuF5HNvRQPKjoBtyDTZzMt+bWgeU476NLKaBE35oegTLMXGGJqemVo1T2lHmTDP7XCICjdXJ7Tq1aQEslDRi1bhvJQtdXPH2H1RrhSuM9fP4Yfw41l+RoA3l9MOjRwyeA8PxRnfMzrKUPlVyznh0QZ3KKrZr9o68vx8uImUB4EUQUMNhWLjHH4Ig22SRbm4RfbanTWjXRGwZ8JIpAV7j44o/xi2tkKXLgR3eM2kzBdKPKKLpQCAGgc0fbnbzoxDxIEIuTtWVZZ4So3x4PQXeTpmcnrrWIcyWXUXSXhCv8F1xLjtoX26YDYcq5qv7mNzUnN2MO+F/Lmf341TQxgW53PmlLfn36SJMSjDYJgVp40EaU0EAXTlTENze1mbccbB
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 15:45:16.6344
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 90d3b8f6-5f4b-4795-26b5-08dec70744d4
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH2PEPF0000009F.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB9226
X-purgate-ID: tlsNG-33051d/1781106329-38B74938-FE977C3B/0/0
X-purgate-type: clean
X-purgate-size: 9922

On 2026-06-10 11:01, Roger Pau MonnÃ© wrote:
> On Mon, Jun 08, 2026 at 08:06:38PM -0400, Jason Andryuk wrote:
>> Today the inline tracking of the stub page is problematic.  0xcc is used
>> to indicate unused, but it is also a "clear value."  A !CONFIG_PV build
>> with smt=0 will bring up CPU0, bring up CPU1, bring down CPU1, and free
>> the in-use stub page.  Subsequent CPU onlining can write to the re-used
>> page.
>>
>> The new approach uses a global, CPU-indexed array of stub pages.
>> However, to handle NUMA aware allocations, we cannot allocate all the
>> pages in advance because the NUMA information is not available.  Keep
>> track of 1 current page for each NUMA node, allocated on demand, and
>> allocate the stub buffers out of those pages.
>>
>> The current NUMA allocation approach is opportunistic sharing among the
>> groups of 32 processors.  The new approach will allocate buffers densely
>> in a NUMA node.
>>
>> stub pages are no longer freed.  They remain referenced in the global
>> CPU-indexed array and are re-used if the CPU is re-onlined.
>>
>> stubs and node_stubs don't have an explicit lock.  During boot they are
>> accessed single threaded.  During runtime, &cpu_add_remove_lock
>> serializes access.
>>
>> Fixes: 7a66ac8d1633 ("x86: move syscall trampolines off the stack")
>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>> ---
>> I'm not sure how to test the NUMA part - I don't have an NUMA system.
>> Also, if NUMA is active, is a cpu node of NUMA_NO_NODE still possible?
>> I used the MAX_NUMNODES + 1 array sizing to handle that, but it's not
>> obvious to me if that is necessary.
>>
>> Roger mentioned removing the per-cpu stubs.mfn.  We'd need to replace
>> that with exposing the stubs array for traps and the emulator.  I have
>> no idea if that will be an improvement and am looking for agreement on
>> this patch before attempting.
>> ---
>>   xen/arch/x86/include/asm/stubs.h |   2 +-
>>   xen/arch/x86/setup.c             |   3 +-
>>   xen/arch/x86/smpboot.c           | 110 +++++++++++++++++++++----------
>>   3 files changed, 77 insertions(+), 38 deletions(-)
>>
>> diff --git a/xen/arch/x86/include/asm/stubs.h b/xen/arch/x86/include/asm/stubs.h
>> index a520928e9a..9d776f81dd 100644
>> --- a/xen/arch/x86/include/asm/stubs.h
>> +++ b/xen/arch/x86/include/asm/stubs.h
>> @@ -32,6 +32,6 @@ struct stubs {
>>   };
>>   
>>   DECLARE_PER_CPU(struct stubs, stubs);
>> -unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn);
>> +unsigned long assign_stub_page(unsigned int cpu);
>>   
>>   #endif /* X86_ASM_STUBS_H */
>> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
>> index 19ee857abf..0cac94cbdb 100644
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -2089,8 +2089,7 @@ void asmlinkage __init noreturn __start_xen(void)
>>   
>>       init_idle_domain();
>>   
>> -    this_cpu(stubs.addr) = alloc_stub_page(smp_processor_id(),
>> -                                           &this_cpu(stubs).mfn);
>> +    this_cpu(stubs.addr) = assign_stub_page(0);
> 
> Given stub pages is first used quite late in the boot process, the above
> arrays would better be dynamically allocated using xvmalloc_array().

Ok.  At some point I intended to dynamically allocate.  But x86 doesn't 
have num_possible_cpus(), and I thought num_present_cpus() wouldn't have 
the correct value.  nr_cpu_ids seemed close to the value, but then I 
convinced myself NR_CPUS would be okay.

>>       BUG_ON(!this_cpu(stubs.addr));
>>   
>>       bsp_traps_reinit(); /* Needs stubs allocated, must be before presmp_initcalls. */
>> diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
>> index d7619f534b..d9cd90389d 100644
>> --- a/xen/arch/x86/smpboot.c
>> +++ b/xen/arch/x86/smpboot.c
>> @@ -641,41 +641,96 @@ static int do_boot_cpu(int apicid, int cpu)
>>       return rc;
>>   }
>>   
>> -#define STUB_BUF_CPU_OFFS(cpu) (((cpu) & (STUBS_PER_PAGE - 1)) * STUB_BUF_SIZE)
>> +/*
>> + * Indexed by CPU.  `pg` may be shared by up to STUBS_PER_PAGE CPUs.  Offset
>> + * is the byte offset into the stub page for the CPU's stub buffer.
>> + */
>> +struct stub_info {
>> +    struct page_info *pg;
>> +    unsigned int offset;
>> +};
>> +struct stub_info __read_mostly stubs[NR_CPUS];
>>   
>> -unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn)
>> +/*
>> + * Index by NUMA node.
>> + *
>> + * `pg` is the current stub page for the node.
>> + * `next` is the next available stub index (STUBS_PER_PAGE available).
>> + *
>> + * if `pg` is NULL, allocate a new one.
>> + * if `pg` is !NULL, use `pg` and stub `next`
>> + * When STUBS_PER_PAGE are all assigned, clear `pg` and `next`.
>> + */
>> +struct stub_node {
>> +    struct page_info *pg;
>> +    unsigned int next;
>> +};
>> +struct stub_node stub_nodes[MAX_NUMNODES + 1];
> 
> I think we could get away with a single array, that uses the CPU as
> the index and stores the physical address of the stub.

Yes, this is a good idea.

> We could also simplify the allocation logic, assuming that CPUs
> belonging to the same NUMA node are packed contiguously in the common
> case.  I've given a try at this, and adjusted your original commit.  I
> however only tested this in QEMU so far.  If you think it's OK I can
> test it on XenRT and see how that goes.
> 
> Sorry I took over the patch, I didn't want to force you into another
> direction without knowing whether it would be OK, as it wasn't clear
> to me this approach would be fine (seem so, but still needs further
> testing).

No worries.  Thank you!

> One thing that would simplify the logic greatly, which Andrew brought
> up, is foregoing the NUMA memory affinity for the allocated stubs page, and
> allocate and map them contiguously in both the physical and the linear
> address spaces, so that you would find the VA using:
> 
> XEN_VIRT_END - FIXADDR_X_SIZE - (cpu + 1) * STUB_BUF_SIZE
> 
> This would possibly allow to simply populate the whole range up to
> num_present_cpus() at boot and get done with it.  However that's a
> bigger change that should likely be done after 4.22 is out.

 From your initial feedback, I intended to use a single array, but NUMA 
quickly complicated that.

> 
> Thanks, Roger.
> ---
> diff --git a/xen/arch/x86/include/asm/stubs.h b/xen/arch/x86/include/asm/stubs.h
> index a520928e9a50..d575f1eb0631 100644
> --- a/xen/arch/x86/include/asm/stubs.h
> +++ b/xen/arch/x86/include/asm/stubs.h
> @@ -32,6 +32,7 @@ struct stubs {
>   };
>   
>   DECLARE_PER_CPU(struct stubs, stubs);
> -unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn);
> +unsigned long assign_stub_page(unsigned int cpu);
> +void init_bsp_stub(void);

With init_bsp_stub(), assign_stub_page can be static and not exported.

>   
>   #endif /* X86_ASM_STUBS_H */

> diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
> index b3045eac5b5e..dd0972a3025e 100644
> --- a/xen/arch/x86/smpboot.c
> +++ b/xen/arch/x86/smpboot.c
> @@ -20,6 +20,7 @@
>   #include <xen/serial.h>
>   #include <xen/softirq.h>
>   #include <xen/tasklet.h>
> +#include <xen/xvmalloc.h>
>   
>   #include <asm/apic.h>
>   #include <asm/cpuidle.h>
> @@ -641,41 +642,61 @@ static int do_boot_cpu(int apicid, int cpu)
>       return rc;
>   }
>   
> -#define STUB_BUF_CPU_OFFS(cpu) (((cpu) & (STUBS_PER_PAGE - 1)) * STUB_BUF_SIZE)
> +/* Dynamically allocated, indexed by CPU.  Store physical address of stubs. */
> +static paddr_t *__ro_after_init stubs;
>   
> -unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn)
> +unsigned long assign_stub_page(unsigned int cpu)
>   {
>       unsigned long stub_va;
> -    struct page_info *pg;
> +    paddr_t addr = stubs[cpu];
>   
> -    BUILD_BUG_ON(STUBS_PER_PAGE & (STUBS_PER_PAGE - 1));
> -
> -    if ( *mfn )
> -        pg = mfn_to_page(_mfn(*mfn));
> -    else
> +    if ( addr == INVALID_PADDR )
>       {
> -        nodeid_t node = cpu_to_node(cpu);
> -        unsigned int memflags = node != NUMA_NO_NODE ? MEMF_node(node) : 0;
> +        nodeid_t nid = cpu_to_node(cpu);
>   
> -        pg = alloc_domheap_page(NULL, memflags);
> -        if ( !pg )
> -            return 0;
> +        /*
> +         * Attempt to use the same page as the previous CPU if possible,
> +         * otherwise allocate a new one.
> +         */
> +        if ( cpu && nid == cpu_to_node(cpu - 1) &&
> +             PAGE_OFFSET(stubs[cpu - 1] + STUB_BUF_SIZE) )
     PAGE_OFFSET(stubs[cpu - 1] + STUB_BUF_SIZE)
is to ensure we it remains inside the allocated stub page?

> +            addr = stubs[cpu - 1] + STUB_BUF_SIZE;
> +        else
> +        {
> +            struct page_info *pg = alloc_domheap_page(NULL, MEMF_node(nid));
>   

> @@ -1092,15 +1106,7 @@ static int cpu_smpboot_alloc(unsigned int 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 )
> -        if ( cpu_online(i) && cpu_to_node(i) == node )
> -        {
> -            per_cpu(stubs.mfn, cpu) = per_cpu(stubs.mfn, i);

This loop tries hard to re-use the same page for a NUMA node.  My posted 
approach will densely allocate the stubs.  Your approach would re-use 
less, unless the CPUs are contiguous in a node.

This is just an observation.  I have no idea how NUMA nodes are 
allocated.  The "round robin" code in numa_init_array() made me worry 
that CPUs are more likely to be non-contiguous.

If you have NUMA systems in XenRT, I think it would be worthwhile to 
test.  Some printks to see how many pages are allocated would be useful.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 15:46:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 15:46:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334516.1597524 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXL8V-00056Y-54; Wed, 10 Jun 2026 15:46:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334516.1597524; Wed, 10 Jun 2026 15: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 1wXL8V-00056R-2L; Wed, 10 Jun 2026 15:46:35 +0000
Received: by outflank-mailman (input) for mailman id 1334516;
 Wed, 10 Jun 2026 15:46:34 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sumit.saxena@broadcom.com>) id 1wXL8T-00056J-RF
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 15:46:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXL8T-009yCd-5D
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 17:46:33 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sumit.saxena@broadcom.com>)
 id 6a2986cd-bab6-0a2a0a5309dd-0a2a450489aa-12
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 17:46:32 +0200
Received: from [209.85.161.97] (helo=mail-oo1-f97.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sumit.saxena@broadcom.com>)
 id 6a2986d7-1dec-0a2a45040019-d155a161e43b-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 17:46:32 +0200
Received: by mail-oo1-f97.google.com with SMTP id
 006d021491bc7-69e46524711so4276777eaf.0
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 08:46:31 -0700 (PDT)
Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com
 (address-144-49-247-101.dlp.protect.broadcom.com. [144.49.247.101])
 by smtp-relay.gmail.com with ESMTPS id
 006d021491bc7-69e4641277bsm941033eaf.14.2026.06.10.08.46.28
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Wed, 10 Jun 2026 08:46:30 -0700 (PDT)
Received: by mail-lj1-f197.google.com with SMTP id
 38308e7fff4ca-3969ddebd36so28060431fa.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=broadcom.com header.i="@broadcom.com" header.h="Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781106390; x=1781711190;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature:x-gm-gg:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Fo+66ip9LIcRLuvg5bHQhDaDWh6gx3Nvf5HQ6A2hn6w=;
        b=VHI9NwLwoSCbqzHdszQfINFsVj1qAncs95zX/kYORRtk9tPuV7ZRyhAPx69x4hY+N0
         JBrOfMlCP3Wyb+8gvABF5ES346TYv8xZxWMxUhxjgpgWUj0cEx4PBZtkjMVAgDdot6HH
         CWDpIr/tcwf4u3WuNndRk7kOT/ZIAgq7VZLhR4tAd6ydXn9qBcfJ5mlh+3GaA33fZy5a
         PR+0e7PijTa7+I4ax4cL17+Ac04bPt04BqMCYNGRcZGNf0zlzF29J24oNXB/CHm1zIsG
         hVqo8FLJmMuDKCCS6qbv/xJBP36JyRHRBkt31Yc093LZ31cCIMHovaWmLGsoTSVgeI10
         NdNw==
X-Forwarded-Encrypted: i=1; AFNElJ86+YEwJBnsgr+43qAVEDX5mXmRH2Ynf4dBlA0P5PeXu2AFPplvh1Xo79iNBhjVMZcvGXjljdGFs9E=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxoG2Ht97YIiMHLYUKO/uBYPkaCYgb6tUGnfnY25n/yjaPnH9la
	YPOcMUtHL4SO4bjyeprg3/r3Ub7UCnQ8JrkyYhrxviKAa/bIS/mXo9tLDPxfsOt2p++zxE8iv9y
	e12VOeQYYxju3ORwMRb2M0gKFCBwLpoPdkvA/4SJWnigZbjZjAIyO1TimL1UGMAoh0ducsYOVuG
	aMAnv6/oFOE6+ai077eWZQd70rWzhunSD0GbqH/aWu+iy7HzL8DP0a8DigBZDm4fgFPVlcVKpIu
	xWg+NcOcFGkXSmMjaZxpQ==
X-Gm-Gg: Acq92OEu/1jOAYYp/ILEzEHAsb2pvxpJe17zM2++ss4SLulLeHPrlQ5u1F4rRn/t0j6
	fg8/qyi7rqAjL3ba36ddPqhJ5Ge7qa0aCsQHzlFBNTJGr166ll8Q9dL0IvIfr6/csolAjlC7Qef
	M0eRm1Mlc5XaUytmnEXsGbagCgDCIJYF1wlvwG2LD0L+7FxhPcf4vynHv3otyd8eGKhnNIpw8KL
	7OywH1ta1sMXXwtr1UjmnZdbEYESQ/UJURZ/QSnmk5WEARRXPAInCOszh5iyVgQ4SUwb2Xj1GzI
	nVZrfevTRRjQTu9a8AdvSathEc6UYez1x+q3UgaTITg3+B2WVM95MkCAlGK4wVPjR+CJvJkpC1Y
	x/o0NoJqNtc6r8gOj4icDLDcKQyNZnjocbZxAd4pcRMrVsoHsvXJzBhhy+bLp6HXNOxJ+zXIrLA
	6FGfGpkh9fzt5EKk8X29QFF1nDVgD7O0C8z4eUpk2dXWTOiP3KJnGGTj/2ihCRVRoe+zd/DA==
X-Received: by 2002:a05:6820:c96:b0:69e:32a9:de0f with SMTP id 006d021491bc7-69e68b1b398mr13292091eaf.1.1781106390223;
        Wed, 10 Jun 2026 08:46:30 -0700 (PDT)
X-Relaying-Domain: broadcom.com
X-CFilter-Loop: Reflected
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=broadcom.com; s=google; t=1781106387; x=1781711187; 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=Fo+66ip9LIcRLuvg5bHQhDaDWh6gx3Nvf5HQ6A2hn6w=;
        b=R4r1Us6Wq/o7v74yRPGRxzpkPJFhoLSYky24NnB/3Ue/dnI9Ljq5RxOIb74Cf/cqPe
         rQHmzDwxYYAEwZ41I+/Fds1K0Ocu13GCpxHQf3mLdwAcR1CZ4PRHt0MxrUOwz54cMXS7
         1r7OH4SD1+Z60Mo6eNdknYy+iwVxlxJsau3Ak=
X-Forwarded-Encrypted: i=1; AFNElJ9saBveXaGr8g6MFkkbsSMdyFJNzy7czJSpUEntQtDy8dgEhIlCUGRHjszkhYsJMq1TFzKxs+XtVi8=@lists.xenproject.org
X-Received: by 2002:a2e:2a45:0:b0:396:6842:b604 with SMTP id 38308e7fff4ca-396d08bd989mr56540841fa.6.1781106386493;
        Wed, 10 Jun 2026 08:46:26 -0700 (PDT)
X-Received: by 2002:a2e:2a45:0:b0:396:6842:b604 with SMTP id
 38308e7fff4ca-396d08bd989mr56540501fa.6.1781106385873; Wed, 10 Jun 2026
 08:46:25 -0700 (PDT)
MIME-Version: 1.0
References: <20260609121806.2121755-1-sumit.saxena@broadcom.com>
 <20260609121806.2121755-4-sumit.saxena@broadcom.com> <aikAs4X-2NWTuwCc@infradead.org>
In-Reply-To: <aikAs4X-2NWTuwCc@infradead.org>
From: Sumit Saxena <sumit.saxena@broadcom.com>
Date: Wed, 10 Jun 2026 21:16:11 +0530
X-Gm-Features: AVVi8CczcMQl6yLccvF8BXqLxlWeOM_I7Uvs7Y8aVoY_zDLtG6L1R0wGVRxim8s
Message-ID: <CAL2rwxr1uGshb1o=jvP2OnBffNz2cKXj8tHuAUCN5HFuy2vB_g@mail.gmail.com>
Subject: Re: [PATCH v3 3/4] block: drop shared-tag fairness throttling
To: Christoph Hellwig <hch@infradead.org>
Cc: "Martin K . Petersen" <martin.petersen@oracle.com>, Jens Axboe <axboe@kernel.dk>, 
	"James E . J . Bottomley" <James.Bottomley@hansenpartnership.com>, linux-scsi@vger.kernel.org, 
	linux-block@vger.kernel.org, Adam Radford <aradford@gmail.com>, 
	Khalid Aziz <khalid@gonehiking.org>, Adaptec OEM Raid Solutions <aacraid@microsemi.com>, 
	Matthew Wilcox <willy@infradead.org>, Hannes Reinecke <hare@suse.com>, 
	"Juergen E . Fischer" <fischer@norbit.de>, Russell King <linux@armlinux.org.uk>, 
	linux-arm-kernel@lists.infradead.org, Finn Thain <fthain@linux-m68k.org>, 
	Michael Schmitz <schmitzmic@gmail.com>, Anil Gurumurthy <anil.gurumurthy@qlogic.com>, 
	Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>, Oliver Neukum <oliver@neukum.org>, 
	Ali Akcaagac <aliakc@web.de>, Jamie Lenehan <lenehan@twibble.org>, 
	Ram Vegesna <ram.vegesna@broadcom.com>, target-devel@vger.kernel.org, 
	Bradley Grove <linuxdrivers@attotech.com>, Satish Kharat <satishkh@cisco.com>, 
	Sesidhar Baddela <sebaddel@cisco.com>, Karan Tilak Kumar <kartilak@cisco.com>, 
	Yihang Li <liyihang9@h-partners.com>, Don Brace <don.brace@microchip.com>, 
	storagedev@microchip.com, HighPoint Linux Team <linux@highpoint-tech.com>, 
	Tyrel Datwyler <tyreld@linux.ibm.com>, Madhavan Srinivasan <maddy@linux.ibm.com>, 
	Michael Ellerman <mpe@ellerman.id.au>, Nicholas Piggin <npiggin@gmail.com>, 
	Christophe Leroy <chleroy@kernel.org>, linuxppc-dev@lists.ozlabs.org, 
	Brian King <brking@us.ibm.com>, Lee Duncan <lduncan@suse.com>, Chris Leech <cleech@redhat.com>, 
	Mike Christie <michael.christie@oracle.com>, open-iscsi@googlegroups.com, 
	Justin Tee <justin.tee@broadcom.com>, Paul Ely <paul.ely@broadcom.com>, 
	Kashyap Desai <kashyap.desai@broadcom.com>, 
	Shivasharan S <shivasharan.srikanteshwara@broadcom.com>, 
	Chandrakanth Patil <chandrakanth.patil@broadcom.com>, megaraidlinux.pdl@broadcom.com, 
	Sathya Prakash Veerichetty <sathya.prakash@broadcom.com>, 
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>, mpi3mr-linuxdrv.pdl@broadcom.com, 
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>, 
	Ranjan Kumar <ranjan.kumar@broadcom.com>, MPT-FusionLinux.pdl@broadcom.com, 
	Daniel Palmer <daniel@thingy.jp>, GOTO Masanori <gotom@debian.or.jp>, 
	YOKOTA Hiroshi <yokota@netlab.is.tsukuba.ac.jp>, Jack Wang <jinpu.wang@cloud.ionos.com>, 
	Geoff Levand <geoff@infradead.org>, Michael Reed <mdr@sgi.com>, Nilesh Javali <njavali@marvell.com>, 
	GR-QLogic-Storage-Upstream@marvell.com, Narsimhulu Musini <nmusini@cisco.com>, 
	"K . Y . Srinivasan" <kys@microsoft.com>, Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, 
	Dexuan Cui <decui@microsoft.com>, Long Li <longli@microsoft.com>, linux-hyperv@vger.kernel.org, 
	"Michael S . Tsirkin" <mst@redhat.com>, Jason Wang <jasowang@redhat.com>, 
	Paolo Bonzini <pbonzini@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>, 
	Eugenio Perez <eperezma@redhat.com>, virtualization@lists.linux.dev, 
	Vishal Bhakta <vishal.bhakta@broadcom.com>, bcm-kernel-feedback-list@broadcom.com, 
	Juergen Gross <jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, xen-devel@lists.xenproject.org, 
	Bart Van Assche <bvanassche@acm.org>
X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256;
	boundary="00000000000089551e0653e82531"
X-purgate-ID: tlsNG-ebf023/1781106392-295783FF-70B6D730/0/0
X-purgate-type: clean
X-purgate-size: 12633

--00000000000089551e0653e82531
Content-Type: multipart/alternative; boundary="000000000000700d920653e8250c"

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

On Wed, Jun 10, 2026 at 11:44=E2=80=AFAM Christoph Hellwig <hch@infradead.o=
rg>
wrote:
>
> Just dropping the fairness was rejected before and there is no
> explanation here on why any of that has changed.

I missed the fact that this patch had been previously rejected.

The motivation for this change stems from performance issue we
encountered due to false sharing of the 'nr_active_requests_shared_tags'
counter
on certain CPU architectures. I initially submitted a patch to move that
counter to
its own cache line to avoid conflicts with 'nr_requests' and other hot
fields
(see:
https://patchwork.kernel.org/project/linux-scsi/patch/20260402074637.92417-=
3-sumit.saxena@broadcom.com/
).

During the review, Bart shared his work, which eliminates the
counter entirely by removing the fairness throttling. My testing confirmed
that
this approach resolved the performance issues and improved IOPS.
This patch is part of a larger set, and I have reported the cumulative
performance
improvements in the cover letter.

Thanks,
Sumit

>
> On Tue, Jun 09, 2026 at 05:48:02PM +0530, Sumit Saxena wrote:
> > From: Bart Van Assche <bvanassche@acm.org>
> >
> > Original patch [1] by Bart Van Assche; this version is rebased onto the
> > current tree.  In testing it improves IOPS by roughly 16-18% by removin=
g
> > the fair-sharing throttle on shared tag queues.
> >
> > This patch removes the following code and structure members:
> > - The function hctx_may_queue().
> > - blk_mq_hw_ctx.nr_active and
request_queue.nr_active_requests_shared_tags
> >   and also all the code that modifies these two member variables.
>
> .. and besides that, this commit message is still entirely useless
> as it doesn't explain any of the thoughts of why this change is safe
> and desirable.  While the mechanics above are totally obvious from
> the code change itself.
>

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

<div><br>
<br>
On Wed, Jun 10, 2026 at 11:44=E2=80=AFAM Christoph Hellwig &lt;<a href=3D"m=
ailto:hch@infradead.org" target=3D"_blank">hch@infradead.org</a>&gt; wrote:=
<br>
&gt;<br>
&gt; Just dropping the fairness was rejected before and there is no<br>
&gt; explanation here on why any of that has changed.<br>
<br></div><div dir=3D"auto">
I missed the fact that this patch=C2=A0had been previously rejected.<br>
<br>
The motivation for this change stems from performance issue we<br>
encountered due to false sharing of the &#39;nr_active_requests_shared_tags=
&#39; counter<br>
on certain CPU architectures. I initially submitted a patch to move that co=
unter to<br>
its own cache line to avoid conflicts with &#39;nr_requests&#39; and other =
hot fields <br>
(see: <a href=3D"https://patchwork.kernel.org/project/linux-scsi/patch/2026=
0402074637.92417-3-sumit.saxena@broadcom.com/" rel=3D"noreferrer" target=3D=
"_blank">https://patchwork.kernel.org/project/linux-scsi/patch/202604020746=
37.92417-3-sumit.saxena@broadcom.com/</a>).<br>
<br>
During the review, Bart shared his work, which eliminates the<br>
counter entirely by removing the fairness throttling. My testing confirmed =
that<br>
this approach resolved the performance issues and improved IOPS. <br>
This patch is part of a larger set, and I have reported the cumulative perf=
ormance<br>
improvements in the cover letter.<br>
<br>
Thanks,<br>
Sumit</div><div><br>
&gt;<br>
&gt; On Tue, Jun 09, 2026 at 05:48:02PM +0530, Sumit Saxena wrote:<br>
&gt; &gt; From: Bart Van Assche &lt;<a href=3D"mailto:bvanassche@acm.org" t=
arget=3D"_blank">bvanassche@acm.org</a>&gt;<br>
&gt; &gt;<br>
&gt; &gt; Original patch [1] by Bart Van Assche; this version is rebased on=
to the<br>
&gt; &gt; current tree.=C2=A0 In testing it improves IOPS by roughly 16-18%=
 by removing<br>
&gt; &gt; the fair-sharing throttle on shared tag queues.<br>
&gt; &gt;<br>
&gt; &gt; This patch removes the following code and structure members:<br>
&gt; &gt; - The function hctx_may_queue().<br>
&gt; &gt; - blk_mq_hw_ctx.nr_active and request_queue.nr_active_requests_sh=
ared_tags<br>
&gt; &gt;=C2=A0 =C2=A0and also all the code that modifies these two member =
variables.<br>
&gt;<br>
&gt; .. and besides that, this commit message is still entirely useless<br>
&gt; as it doesn&#39;t explain any of the thoughts of why this change is sa=
fe<br>
&gt; and desirable.=C2=A0 While the mechanics above are totally obvious fro=
m<br>
&gt; the code change itself.<br>
&gt;<br>
</div>

--000000000000700d920653e8250c--

--00000000000089551e0653e82531
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIIVWQYJKoZIhvcNAQcCoIIVSjCCFUYCAQExDzANBglghkgBZQMEAgEFADALBgkqhkiG9w0BBwGg
ghLGMIIGqDCCBJCgAwIBAgIQfofDCS7XZu8vIeKo0KeY9DANBgkqhkiG9w0BAQwFADBMMSAwHgYD
VQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSNjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UE
AxMKR2xvYmFsU2lnbjAeFw0yMzA0MTkwMzUzNTNaFw0yOTA0MTkwMDAwMDBaMFIxCzAJBgNVBAYT
AkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMSgwJgYDVQQDEx9HbG9iYWxTaWduIEdDQyBS
NiBTTUlNRSBDQSAyMDIzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwjAEbSkPcSyn
26Zn9VtoE/xBvzYmNW29bW1pJZ7jrzKwPJm/GakCvy0IIgObMsx9bpFaq30X1kEJZnLUzuE1/hlc
hatYqyORVBeHlv5V0QRSXY4faR0dCkIhXhoGknZ2O0bUJithcN1IsEADNizZ1AJIaWsWbQ4tYEYj
ytEdvfkxz1WtX3SjtecZR+9wLJLt6HNa4sC//QKdjyfr/NhDCzYrdIzAssoXFnp4t+HcMyQTrj0r
pD8KkPj96sy9axzegLbzte7wgTHbWBeJGp0sKg7BAu+G0Rk6teO1yPd75arbCvfY/NaRRQHk6tmG
71gpLdB1ZhP9IcNYyeTKXIgfMh2tVK9DnXGaksYCyi6WisJa1Oa+poUroX2ESXO6o03lVxiA1xyf
G8lUzpUNZonGVrUjhG5+MdY16/6b0uKejZCLbgu6HLPvIyqdTb9XqF4XWWKu+OMDs/rWyQ64v3mv
Sa0te5Q5tchm4m9K0Pe9LlIKBk/gsgfaOHJDp4hYx4wocDr8DeCZe5d5wCFkxoGc1ckM8ZoMgpUc
4pgkQE5ShxYMmKbPvNRPa5YFzbFtcFn5RMr1Mju8gt8J0c+dxYco2hi7dEW391KKxGhv7MJBcc+0
x3FFTnmhU+5t6+CnkKMlrmzyaoeVryRTvOiH4FnTNHtVKUYDsCM0CLDdMNgoxgkCAwEAAaOCAX4w
ggF6MA4GA1UdDwEB/wQEAwIBhjBMBgNVHSUERTBDBggrBgEFBQcDAgYIKwYBBQUHAwQGCisGAQQB
gjcUAgIGCisGAQQBgjcKAwwGCisGAQQBgjcKAwQGCSsGAQQBgjcVBjASBgNVHRMBAf8ECDAGAQH/
AgEAMB0GA1UdDgQWBBQAKTaeXHq6D68tUC3boCOFGLCgkjAfBgNVHSMEGDAWgBSubAWjkxPioufi
1xzWx/B/yGdToDB7BggrBgEFBQcBAQRvMG0wLgYIKwYBBQUHMAGGImh0dHA6Ly9vY3NwMi5nbG9i
YWxzaWduLmNvbS9yb290cjYwOwYIKwYBBQUHMAKGL2h0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5j
b20vY2FjZXJ0L3Jvb3QtcjYuY3J0MDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwuZ2xvYmFs
c2lnbi5jb20vcm9vdC1yNi5jcmwwEQYDVR0gBAowCDAGBgRVHSAAMA0GCSqGSIb3DQEBDAUAA4IC
AQCRkUdr1aIDRmkNI5jx5ggapGUThq0KcM2dzpMu314mJne8yKVXwzfKBtqbBjbUNMODnBkhvZcn
bHUStur2/nt1tP3ee8KyNhYxzv4DkI0NbV93JChXipfsan7YjdfEk5vI2Fq+wpbGALyyWBgfy79Y
IgbYWATB158tvEh5UO8kpGpjY95xv+070X3FYuGyeZyIvao26mN872FuxRxYhNLwGHIy38N9ASa1
Q3BTNKSrHrZngadofHglG5W3TMFR11JOEOAUHhUgpbVVvgCYgGA6dSX0y5z7k3rXVyjFOs7KBSXr
dJPKadpl4vqYphH7+P40nzBRcxJHrv5FeXlTrb+drjyXNjZSCmzfkOuCqPspBuJ7vab0/9oeNERg
nz6SLCjLKcDXbMbKcRXgNhFBlzN4OUBqieSBXk80w2Nzx12KvNj758WavxOsXIbX0Zxwo1h3uw75
AI2v8qwFWXNclO8qW2VXoq6kihWpeiuvDmFfSAwRLxwwIjgUuzG9SaQ+pOomuaC7QTKWMI0hL0b4
mEPq9GsPPQq1UmwkcYFJ/Z4I93DZuKcXmKMmuANTS6wxwIEw8Q5MQ6y9fbJxGEOgOgYL4QIqNULb
5CYPnt2LeiIiEnh8Uuh8tawqSjnR0h7Bv5q4mgo3L1Z9QQuexUntWD96t4o0q1jXWLyrpgP7Zcnu
CzCCBYMwggNroAMCAQICDkXmuwODM8OFZUjm/0VRMA0GCSqGSIb3DQEBDAUAMEwxIDAeBgNVBAsT
F0dsb2JhbFNpZ24gUm9vdCBDQSAtIFI2MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpH
bG9iYWxTaWduMB4XDTE0MTIxMDAwMDAwMFoXDTM0MTIxMDAwMDAwMFowTDEgMB4GA1UECxMXR2xv
YmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
bFNpZ24wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCVB+hzymb57BTKezz3DQjxtEUL
LIK0SMbrWzyug7hBkjMUpG9/6SrMxrCIa8W2idHGsv8UzlEUIexK3RtaxtaH7k06FQbtZGYLkoDK
RN5zlE7zp4l/T3hjCMgSUG1CZi9NuXkoTVIaihqAtxmBDn7EirxkTCEcQ2jXPTyKxbJm1ZCatzEG
xb7ibTIGph75ueuqo7i/voJjUNDwGInf5A959eqiHyrScC5757yTu21T4kh8jBAHOP9msndhfuDq
jDyqtKT285VKEgdt/Yyyic/QoGF3yFh0sNQjOvddOsqi250J3l1ELZDxgc1Xkvp+vFAEYzTfa5MY
vms2sjnkrCQ2t/DvthwTV5O23rL44oW3c6K4NapF8uCdNqFvVIrxclZuLojFUUJEFZTuo8U4lptO
TloLR/MGNkl3MLxxN+Wm7CEIdfzmYRY/d9XZkZeECmzUAk10wBTt/Tn7g/JeFKEEsAvp/u6P4W4L
sgizYWYJarEGOmWWWcDwNf3J2iiNGhGHcIEKqJp1HZ46hgUAntuA1iX53AWeJ1lMdjlb6vmlodiD
D9H/3zAR+YXPM0j1ym1kFCx6WE/TSwhJxZVkGmMOeT31s4zKWK2cQkV5bg6HGVxUsWW2v4yb3BPp
DW+4LtxnbsmLEbWEFIoAGXCDeZGXkdQaJ783HjIH2BRjPChMrwIDAQABo2MwYTAOBgNVHQ8BAf8E
BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUrmwFo5MT4qLn4tcc1sfwf8hnU6AwHwYD
VR0jBBgwFoAUrmwFo5MT4qLn4tcc1sfwf8hnU6AwDQYJKoZIhvcNAQEMBQADggIBAIMl7ejR/ZVS
zZ7ABKCRaeZc0ITe3K2iT+hHeNZlmKlbqDyHfAKK0W63FnPmX8BUmNV0vsHN4hGRrSMYPd3hckSW
tJVewHuOmXgWQxNWV7Oiszu1d9xAcqyj65s1PrEIIaHnxEM3eTK+teecLEy8QymZjjDTrCHg4x36
2AczdlQAIiq5TSAucGja5VP8g1zTnfL/RAxEZvLS471GABptArolXY2hMVHdVEYcTduZlu8aHARc
phXveOB5/l3bPqpMVf2aFalv4ab733Aw6cPuQkbtwpMFifp9Y3s/0HGBfADomK4OeDTDJfuvCp8g
a907E48SjOJBGkh6c6B3ace2XH+CyB7+WBsoK6hsrV5twAXSe7frgP4lN/4Cm2isQl3D7vXM3PBQ
ddI2aZzmewTfbgZptt4KCUhZh+t7FGB6ZKppQ++Rx0zsGN1s71MtjJnhXvJyPs9UyL1n7KQPTEX/
07kwIwdMjxC/hpbZmVq0mVccpMy7FYlTuiwFD+TEnhmxGDTVTJ267fcfrySVBHioA7vugeXaX3yL
SqGQdCWnsz5LyCxWvcfI7zjiXJLwefechLp0LWEBIH5+0fJPB1lfiy1DUutGDJTh9WZHeXfVVFsf
rSQ3y0VaTqBESMjYsJnFFYQJ9tZJScBluOYacW6gqPGC6EU+bNYC1wpngwVayaQQMIIGjzCCBHeg
AwIBAgIMdI2Nfq/Vk8dzZMUnMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAkJFMRkwFwYDVQQK
ExBHbG9iYWxTaWduIG52LXNhMSgwJgYDVQQDEx9HbG9iYWxTaWduIEdDQyBSNiBTTUlNRSBDQSAy
MDIzMB4XDTI1MDYyMDEwNTUwNVoXDTI3MDYyMTEwNTUwNVowgdcxCzAJBgNVBAYTAlVTMRMwEQYD
VQQIEwpDYWxpZm9ybmlhMREwDwYDVQQHEwhTYW4gSm9zZTEZMBcGA1UEYRMQTlRSVVMrREUtNjYx
MDExNzEPMA0GA1UEBBMGU2F4ZW5hMQ4wDAYDVQQqEwVTdW1pdDEWMBQGA1UEChMNQlJPQURDT00g
SU5DLjEiMCAGA1UEAwwZc3VtaXQuc2F4ZW5hQGJyb2FkY29tLmNvbTEoMCYGCSqGSIb3DQEJARYZ
c3VtaXQuc2F4ZW5hQGJyb2FkY29tLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
ANWfdRsD0NsQr9oaNovE6N6ldgUGyJipSPE9u2SuA5SLtk4//f6PIFdR6h5fMMUsw7H4eBqY88Do
ifscJ8gSasrjdgcsGC9lCyPXLwfNEU5C3Mbnua8OK6sTBpf6mvY88HW/6AoKiSpfo5jxCZQOm4Zz
oJWD5ea7ThJ2XdDk1rRtGUkwFgN9GRNfOoiIwkkA7EdEfV0eQkVqNgkqUyBSABXcduul2sd4/JQO
SsVmTdSKid7L6yZsqk5b3Xj+GMJwPdRfeKP2SRoys0SVnajc9Di+9Jy7uGKxxtb562egZauDFX/0
o0UgYfZrbwWfzJDYMLKzlrOD0M8yGkD8BnyIiVECAwEAAaOCAd0wggHZMA4GA1UdDwEB/wQEAwIF
oDAMBgNVHRMBAf8EAjAAMIGTBggrBgEFBQcBAQSBhjCBgzBGBggrBgEFBQcwAoY6aHR0cDovL3Nl
Y3VyZS5nbG9iYWxzaWduLmNvbS9jYWNlcnQvZ3NnY2NyNnNtaW1lY2EyMDIzLmNydDA5BggrBgEF
BQcwAYYtaHR0cDovL29jc3AuZ2xvYmFsc2lnbi5jb20vZ3NnY2NyNnNtaW1lY2EyMDIzMGUGA1Ud
IAReMFwwCQYHZ4EMAQUDAzALBgkrBgEEAaAyASgwQgYKKwYBBAGgMgoDAjA0MDIGCCsGAQUFBwIB
FiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9yZXBvc2l0b3J5LzBBBgNVHR8EOjA4MDagNKAy
hjBodHRwOi8vY3JsLmdsb2JhbHNpZ24uY29tL2dzZ2NjcjZzbWltZWNhMjAyMy5jcmwwJAYDVR0R
BB0wG4EZc3VtaXQuc2F4ZW5hQGJyb2FkY29tLmNvbTATBgNVHSUEDDAKBggrBgEFBQcDBDAfBgNV
HSMEGDAWgBQAKTaeXHq6D68tUC3boCOFGLCgkjAdBgNVHQ4EFgQURSmmYGaiq6dg3CEvXQGHEXJF
8xwwDQYJKoZIhvcNAQELBQADggIBAAl0pcCjujKdwmgtiGl2naEY5wB4G601Kuu3032tR7wmgZLg
k+lg9fhAA0boPsi1FE1Pwb93YDBGr/naS/oQ9JglSMeEVzeRvCqjFS4FpouBAFHB77c8w3ZwJ3+t
FSRJW9SbW0DADBn5t8GAjv2aSm5vDorqFe9MKOYEe50yYDQEUAsEt5QkrLTcEx9ntvVb25MxI8vM
bdfqna+/TyCmFmnGAz58jiw5DxLn++6wMmAk0SeUEuMrAlRIyhte6BBSBQ5cL1P+DWSqQbm/pwCq
NhySSLNtTi2dKJvvg6Ax9au913KiJj6uZfPlh6/0kaVKM5GhIABUcm3c6g2qD7ITJxB/p1kjYKLa
hVrtrjK7000lHKTPFr6MWB4Ggx7yKQ9yIlPMKKF/Lj8FabYCqeM5ovG7kaK8FYXug5vjNjN0nedR
X3P8o+8aL6WFIAAAKm2DqZh3252Gcken8v5c+f0SXWSJFvemfFNgrJiQFnFVrOE5v7qwvM/KvVCA
dYm4Ph9QYI0sm+Xitx8MkdOJtq5mcPWowGi8UiCgkOidv4ki1SA0wptfquUhbfS9b2M3XUHCEIUX
4ECvIjR3f+E0NbBIfPccWfYUaDLvo2qhLYS3KQbhKdXcJ83ha17mbVNZbDDo9upNcLO/oPyDbCNF
J6UpXZmis1wnCynhK4kQfwFhW7H+MYICVzCCAlMCAQEwYjBSMQswCQYDVQQGEwJCRTEZMBcGA1UE
ChMQR2xvYmFsU2lnbiBudi1zYTEoMCYGA1UEAxMfR2xvYmFsU2lnbiBHQ0MgUjYgU01JTUUgQ0Eg
MjAyMwIMdI2Nfq/Vk8dzZMUnMA0GCWCGSAFlAwQCAQUAoIHHMC8GCSqGSIb3DQEJBDEiBCCkloji
6Psi9zgrhimshQEAXKX+Z3yyQJFQIYG+6+6wADAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwG
CSqGSIb3DQEJBTEPFw0yNjA2MTAxNTQ2MjdaMFwGCSqGSIb3DQEJDzFPME0wCwYJYIZIAWUDBAEq
MAsGCWCGSAFlAwQBFjALBglghkgBZQMEAQIwCgYIKoZIhvcNAwcwCwYJKoZIhvcNAQEHMAsGCWCG
SAFlAwQCATANBgkqhkiG9w0BAQEFAASCAQCYkSOlUjhevx7TwDrrcUikBx++JLOdmjvHvdLqiUSZ
LP/AHE+UOlhenxZBe0mJddO6A0cm4DvKbYBitK52BHvnPp5sayvbQwnmojWZ2FfXGtbLC3y2AQxg
y+kKRdIK8nqgue6aiI50ZGCY6BTiO+KYTWolTWPeSocn7DOEjYCU+F9EA+/c0znhteowRkfRGm20
O4IcrxtdF6hnqGNdMcHCQbDxfE5HGXqedqIrIW6Cc11hNiZRWMu8NmWUS8Jwes1GMNkXBUs97yWD
XLqB7veCg3bBdlewSxfBRoaM2zwl9AAisQpG7w81yThfEwDpilRp1b7UAWMNt9Tx1JluD3Zt
--00000000000089551e0653e82531--


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 15:56:51 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 15:56:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334533.1597533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXLIK-00078Y-12; Wed, 10 Jun 2026 15:56:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334533.1597533; Wed, 10 Jun 2026 15:56: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 1wXLIJ-00078R-UV; Wed, 10 Jun 2026 15:56:43 +0000
Received: by outflank-mailman (input) for mailman id 1334533;
 Wed, 10 Jun 2026 15:56:42 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sstabellini@kernel.org>) id 1wXLII-00078J-JL
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 15:56:42 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXLIH-00CQ7M-P2
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 17:56:41 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a298939-bab6-0a2a0a5309dd-0a2a4509bcd2-4
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 17:56:41 +0200
Received: from [172.105.4.254] (helo=tor.source.kernel.org)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a298938-2497-0a2a45090019-ac6904fec6d8-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 17:56:41 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by tor.source.kernel.org (Postfix) with ESMTP id D362760172;
 Wed, 10 Jun 2026 15:56:39 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 255081F00893;
 Wed, 10 Jun 2026 15:56: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:From:To:cc:Subject:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1781106999;
	bh=OVYQFfLKJF4iLeCO+8a3Ef3RTz9KqGXiHZuRczNGxoI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References;
	b=fJnygjQTi+R1+420KQ85+gT3RmXsZZaz4WjIV6ynVzFnnbZ6fratXkbDZtnJ5Ngjj
	 OFH7C5kNaTbl49hPSXrN4ufO91HyKY/PWYMzALL1rte5ha1+BhXGH8CLeUyKoj7uZX
	 RrldQPpOAugUc7k2w/49TaZ3EtfMyL5lHnTnHEaY43SIpFT1S0O0C/tr1tvwY9VUUo
	 Xc1TOsCB1T8o51QdCanXk80hljIh+tSMYR5RKtEY3OaXXF8XLHLO6c306Xxz5V5G1e
	 uCzEQL6ZqGQ2UFamfEAHwDPhpx6uMwfOgTuwCMPjq/TEGXGzqDuFMgWMFaT7N1DNKd
	 RPYOOpl3f9Rrg==
Date: Wed, 10 Jun 2026 08:56:33 -0700 (PDT)
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>, 
    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>, Meng Xu <mengxu@cis.upenn.edu>
Subject: Re: [PATCH] MAINTAINERS: remove RTDS specific entry
In-Reply-To: <20260610072308.597383-1-jgross@suse.com>
Message-ID: <alpine.DEB.2.22.394.2606100856250.368315@ubuntu-linux-20-04-desktop>
References: <20260610072308.597383-1-jgross@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
X-purgate-ID: tlsNG-bad1c0/1781107001-89D85A53-1214120C/0/0
X-purgate-type: clean
X-purgate-size: 1222

On Wed, 10 Jun 2026, Juergen Gross wrote:
> Remove the RTDS scheduler specific entry in MAINTAINERS.
> 
> The effective changes will be:
> 
> - Meng will no longer be a maintainer. His last Ack on a RTDS patch
>   was given in 2019, since then I can't remember having seen any
>   reaction on a RTDS patch.
> 
> - I'll be made a maintainer of this scheduler. Dario has indicated
>   that he doesn't have lots of cycles for doing reviews, so he would
>   be grateful for not being effectively the only maintainer of the
>   RTDS scheduler.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

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


> ---
>  MAINTAINERS | 6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index ccb01b8e39..195d6cb0e2 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -515,12 +515,6 @@ S:	Supported
>  F:	config/riscv64.mk
>  F:	xen/arch/riscv/
>  
> -RTDS SCHEDULER
> -M:	Dario Faggioli <dfaggioli@suse.com>
> -M:	Meng Xu <mengxu@cis.upenn.edu>
> -S:	Supported
> -F:	xen/common/sched/rt.c
> -
>  SCHEDULING
>  M:	Dario Faggioli <dfaggioli@suse.com>
>  M:	Juergen Gross <jgross@suse.com>
> -- 
> 2.54.0
> 


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 16:25:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 16:25:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334575.1597543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXLjb-0004QO-3b; Wed, 10 Jun 2026 16:24:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334575.1597543; Wed, 10 Jun 2026 16:24: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 1wXLjb-0004QH-0V; Wed, 10 Jun 2026 16:24:55 +0000
Received: by outflank-mailman (input) for mailman id 1334575;
 Wed, 10 Jun 2026 16:24:53 +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 1wXLjZ-0004QB-Bc
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 16:24:53 +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 1wXLjZ-003Izl-0T;
 Wed, 10 Jun 2026 16:24:52 +0000
Received: from [2a02:8012:3a1:0:187b:85f9:f7d:a6e9]
 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 1wXLjY-006be7-1C;
 Wed, 10 Jun 2026 16:24: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=MLfufS7vnJdcPtGUWss2ymmmIB5z1a5HUldodTCEOQc=; b=nTU5yekw+S6Uofujd7twxOfjWY
	p9+6MGBWQUD7F5jArthA4mjTr+fpxnPeDTYgiwXvnVPnBZoAP4F5a9CoQMR/hj3+LfGTK1KKynPan
	4QDNSE0kd7Gb1MCWGa642yFIMAGcCOFQSEze0dVLvBBfqpM1aAXfcA1CP+5rqhQ+fjew=;
Message-ID: <bd0588e3-2824-4c2a-a1cc-6ff62fed7f62@xen.org>
Date: Wed, 10 Jun 2026 17:24:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 02/23] xen/arm: smmuv3: Add support for stage-1 and
 nested stage translation
To: Milan Djokic <milan_djokic@epam.com>,
 "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>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1774305918.git.milan_djokic@epam.com>
 <cb8a2cb5df50128f4c49d34a7ab8faa4e73f83c6.1774305918.git.milan_djokic@epam.com>
 <56a7c116-4ecb-4dfc-a7dd-774d53041fe9@xen.org>
 <87a04781-5765-43b6-8b21-cb993609bd91@epam.com>
 <cd2c76a2-7a13-4bbf-9c29-5dcf3ae06fc0@xen.org>
 <4c96c478-aeb5-443c-a6ca-f23caf7d5430@epam.com>
 <e489f44e-ef61-425c-bd0e-0a992c32f7cf@xen.org>
 <f258e2e5-f7ba-4183-8b33-c3a169dc1d7c@epam.com>
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
In-Reply-To: <f258e2e5-f7ba-4183-8b33-c3a169dc1d7c@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 08/06/2026 10:25, Milan Djokic wrote:
> Hi Julien,

Hi Milan,
> On 5/24/26 13:00, Julien Grall wrote:
>> Hi Milan,
>>
>> On 28/04/2026 11:16, Milan Djokic wrote:
>>>>> The original idea was to also allow stage-1-only support. But I'm not
>>>>> sure if stage-1-only usecase is useful or even valid for Xen.. I will
>>>>> update the patch series with the missing parts for stage-1-only 
>>>>> support,
>>>>> pointed out by Luca, but the question remains if this is needed at 
>>>>> all.
>>>>> If not, I can revert to original state where stage-2 was always
>>>>> required.
>>>>
>>>> By "stage-1 only" support, do you mean Xen would use the stage-1 in
>>>> replacement of the stage-2? Or do you mean the guest will use the
>>>> stage-1 page-table and there will be no isolation from Xen?
>>>>
>>>> If the former, then I believe the page tables don't have the exact same
>>>> format. Today, the page-tables are shared between the CPU and IOMMU, so
>>>> this would need to be duplicated. For now, I am not sure this is worth
>>>> to do.
>>>>
>>>> If the latter, this would require the guest to be directly mapped (i.e.
>>>> IPA == PA) but it would also open a big hole. So I would want to
>>>> understand the exact use case first.
>>>>
>>>
>>> The latter. In this case, the guest would configure stage-1 while
>>> stage-2 translation is not used, so there is no additional isolation
>>> enforced by Xen. This would only be intended for specific usecases with
>>> trusted domains. But yes, this opens a significant hole if used with
>>> untrusted guests. If there is no strong usecase, we could restrict the
>>> implementation to always require stage-2.
>>
>> It is still unclear what would be the exact use-case. Is it a system
>> where the SMMU doesn't support stage-2? Performance reason?
>>
> 
> This primarily targets systems where the SMMU does not support Stage-2 
> translation.
> If we decide to keep this code, I will address the associated security 
> considerations and document the corresponding AoU in the design. 
> Otherwise, we can fall back to supporting only the "nested" translation 
> case.

Thanks for the feedback. I think for such setup, I would consider 
whether we can use the stage-1 in Xen to protect the device. AFAIK, this 
what Linux will do.

I would be interested to hear what the other maintainers think.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Wed Jun 10 16:36:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 16:36:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334599.1597553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXLuT-0006W7-83; Wed, 10 Jun 2026 16:36:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334599.1597553; Wed, 10 Jun 2026 16: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 1wXLuT-0006W0-45; Wed, 10 Jun 2026 16:36:09 +0000
Received: by outflank-mailman (input) for mailman id 1334599;
 Wed, 10 Jun 2026 16:36:08 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kbusch@kernel.org>) id 1wXLuR-0006Vu-Un
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 16:36:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXLuR-00389q-A7
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 18:36:07 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kbusch@kernel.org>)
 id 6a299269-2eae-0a2a0a5409dd-0a2a4508a4d4-26
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 18:36:07 +0200
Received: from [172.234.252.31] (helo=sea.source.kernel.org)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <kbusch@kernel.org>)
 id 6a299275-63b5-0a2a45080019-aceafc1fe91c-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 18:36:06 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by sea.source.kernel.org (Postfix) with ESMTP id 6EF3743DF2;
 Wed, 10 Jun 2026 16:36:04 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E40111F00893;
 Wed, 10 Jun 2026 16:36: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:From:To:Cc:Subject:References:In-Reply-To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1781109364;
	bh=nh8wY943fEj9O68DsnnpwY2/V+toQvePmwkX7p5hMSw=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To;
	b=dYINVrSZftHL1+14yqMRRxzqdHQ5Aru2hX4Xj5usxEkwHzPmZX+0xwOsW6Dztp5wP
	 buvP2PuA+QV5xPj78OletWBvmwhb43jqvV5GFsrZnuZuAMghgSwQoh0S8sgN+S9BTm
	 ixgW2hKOY1IFxC79EBrsQJFmBJhTgHzktayoDV1vYQ6PUatVZ8z/Tcr6XFUKU/a9/Z
	 pheURjB4DZFygToELeoT3p6Kl+8pJ6zz/rbZLD4ZtWjHEo3RFM2sDUxPLErYC7D1UE
	 E752J6xO3yZ8ppjwDDHNoD60M4V39r80G3RPynl7+S0nx3QFq8NW+mgS9cg+pAi3HA
	 Rq8MlrT88sswQ==
Date: Wed, 10 Jun 2026 10:35:59 -0600
From: Keith Busch <kbusch@kernel.org>
To: Sumit Saxena <sumit.saxena@broadcom.com>
Cc: Christoph Hellwig <hch@infradead.org>,
	"Martin K . Petersen" <martin.petersen@oracle.com>,
	Jens Axboe <axboe@kernel.dk>,
	"James E . J . Bottomley" <James.Bottomley@hansenpartnership.com>,
	linux-scsi@vger.kernel.org, linux-block@vger.kernel.org,
	Adam Radford <aradford@gmail.com>,
	Khalid Aziz <khalid@gonehiking.org>,
	Adaptec OEM Raid Solutions <aacraid@microsemi.com>,
	Matthew Wilcox <willy@infradead.org>,
	Hannes Reinecke <hare@suse.com>,
	"Juergen E . Fischer" <fischer@norbit.de>,
	Russell King <linux@armlinux.org.uk>,
	linux-arm-kernel@lists.infradead.org,
	Finn Thain <fthain@linux-m68k.org>,
	Michael Schmitz <schmitzmic@gmail.com>,
	Anil Gurumurthy <anil.gurumurthy@qlogic.com>,
	Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>,
	Oliver Neukum <oliver@neukum.org>, Ali Akcaagac <aliakc@web.de>,
	Jamie Lenehan <lenehan@twibble.org>,
	Ram Vegesna <ram.vegesna@broadcom.com>,
	target-devel@vger.kernel.org,
	Bradley Grove <linuxdrivers@attotech.com>,
	Satish Kharat <satishkh@cisco.com>,
	Sesidhar Baddela <sebaddel@cisco.com>,
	Karan Tilak Kumar <kartilak@cisco.com>,
	Yihang Li <liyihang9@h-partners.com>,
	Don Brace <don.brace@microchip.com>, storagedev@microchip.com,
	HighPoint Linux Team <linux@highpoint-tech.com>,
	Tyrel Datwyler <tyreld@linux.ibm.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	linuxppc-dev@lists.ozlabs.org, Brian King <brking@us.ibm.com>,
	Lee Duncan <lduncan@suse.com>, Chris Leech <cleech@redhat.com>,
	Mike Christie <michael.christie@oracle.com>,
	open-iscsi@googlegroups.com, Justin Tee <justin.tee@broadcom.com>,
	Paul Ely <paul.ely@broadcom.com>,
	Kashyap Desai <kashyap.desai@broadcom.com>,
	Shivasharan S <shivasharan.srikanteshwara@broadcom.com>,
	Chandrakanth Patil <chandrakanth.patil@broadcom.com>,
	megaraidlinux.pdl@broadcom.com,
	Sathya Prakash Veerichetty <sathya.prakash@broadcom.com>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	mpi3mr-linuxdrv.pdl@broadcom.com,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Ranjan Kumar <ranjan.kumar@broadcom.com>,
	MPT-FusionLinux.pdl@broadcom.com, Daniel Palmer <daniel@thingy.jp>,
	GOTO Masanori <gotom@debian.or.jp>,
	YOKOTA Hiroshi <yokota@netlab.is.tsukuba.ac.jp>,
	Jack Wang <jinpu.wang@cloud.ionos.com>,
	Geoff Levand <geoff@infradead.org>, Michael Reed <mdr@sgi.com>,
	Nilesh Javali <njavali@marvell.com>,
	GR-QLogic-Storage-Upstream@marvell.com,
	Narsimhulu Musini <nmusini@cisco.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
	Long Li <longli@microsoft.com>, linux-hyperv@vger.kernel.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Eugenio Perez <eperezma@redhat.com>, virtualization@lists.linux.dev,
	Vishal Bhakta <vishal.bhakta@broadcom.com>,
	bcm-kernel-feedback-list@broadcom.com,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	Bart Van Assche <bvanassche@acm.org>
Subject: Re: [PATCH v3 3/4] block: drop shared-tag fairness throttling
Message-ID: <aimSb9I0Vl-68hy9@kbusch-mbp>
References: <20260609121806.2121755-1-sumit.saxena@broadcom.com>
 <20260609121806.2121755-4-sumit.saxena@broadcom.com>
 <aikAs4X-2NWTuwCc@infradead.org>
 <CAL2rwxr1uGshb1o=jvP2OnBffNz2cKXj8tHuAUCN5HFuy2vB_g@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CAL2rwxr1uGshb1o=jvP2OnBffNz2cKXj8tHuAUCN5HFuy2vB_g@mail.gmail.com>
X-purgate-ID: tlsNG-c1860d/1781109366-BC567DB1-2770D79F/0/0
X-purgate-type: clean
X-purgate-size: 1026

On Wed, Jun 10, 2026 at 09:16:11PM +0530, Sumit Saxena wrote:
> The motivation for this change stems from performance issue we
> encountered due to false sharing of the 'nr_active_requests_shared_tags'
> counter
> on certain CPU architectures. I initially submitted a patch to move that
> counter to
> its own cache line to avoid conflicts with 'nr_requests' and other hot
> fields
> (see:
> https://patchwork.kernel.org/project/linux-scsi/patch/20260402074637.92417-3-sumit.saxena@broadcom.com/
> ).
> 
> During the review, Bart shared his work, which eliminates the
> counter entirely by removing the fairness throttling. My testing confirmed
> that
> this approach resolved the performance issues and improved IOPS.
> This patch is part of a larger set, and I have reported the cumulative
> performance
> improvements in the cover letter.

So the problem is just the atomic operation accounting overhead? I
previously thought the device just really needed to consume all the tags
to hit performance.


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 18:20:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 18:20:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334672.1597561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXNXC-0005rx-2F; Wed, 10 Jun 2026 18:20:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334672.1597561; Wed, 10 Jun 2026 18:20: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 1wXNXB-0005rq-VG; Wed, 10 Jun 2026 18:20:13 +0000
Received: by outflank-mailman (input) for mailman id 1334672;
 Wed, 10 Jun 2026 18:20:12 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wXNX9-0005rk-SB
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 18:20:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXNX9-009dhS-6r
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 20:20:11 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a29aac7-bab6-0a2a0a5309dd-0a2a4505a5fc-22
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 20:20:11 +0200
Received: from [52.101.53.70]
 (helo=BL0PR03CU003.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a29aad9-aaa8-0a2a45050019-3465354665ca-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 20:20:10 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by SA1PR03MB7053.namprd03.prod.outlook.com (2603:10b6:806:326::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.14; Wed, 10 Jun
 2026 18:20:07 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.011; Wed, 10 Jun 2026
 18:20:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=FbLr4AnaqRi692JDcIz+3YWLbJGQrXQ9WifI90DEIBN3V0QA/97/7gPdKqa/Xihv5NVf80EpoypoKUur4YJG22QOU2k4y3GjG5fEfhk4kbWaMkAXvp0CXQ1Z3zpYIO52s1hfASFXZC6tNqcMbjLnjTCFinHUYGVTM4VlWUWy7FME4u+tfqvBpwAVmoML7inTyBM41EnP4v43LADpX9x2N4CqyzGGn/iaU9p6rgH0+P+m60ZMTdsdJRAwfZ3G9hPpnEh8adW6+CqTTO9ll1+99sSjVN13UqEjwrFiELc9z66tyIR2M0pQMzrakwxn5hXIc4TEZRDmMcR/nMC1xwwAZg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+zGDy93rB1DYgqXEzkIxkMsUHXhpUViBeCTDJx1Nj2M=;
 b=vD3+IkNimOFKKPeO4TwC+XwZm7AubKxgtFEYfQ1HNLzG0x7ULcYGIKK7TmnrQTpUhCJr1YaToDT+gZt6IL4VT2dhXzr8vr9Cw9FfiZhxEC8fsApg4sGlMTkAsV0MnNf3F2oRoKffUtFdB36/flErsruVmXT/L6izQ0IuOy1sFya55KvWRgT64fJJvAatjPk75ZsaRggVlhyoN2ieVClFC9yQ/0juk6JWKF9x8pe5zZPr/2Qamzr50oTwubbtKbjyaYuxKOyEWXVK4Lpw7DmJ72stufZCIBPsfkTdlbrWqHtCfDr9R4TRuiZe58uwK6/IBgA+AdEGk7bJU1JA3jQ0MQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+zGDy93rB1DYgqXEzkIxkMsUHXhpUViBeCTDJx1Nj2M=;
 b=z9GWyU1VYqdLZxltL8edHb9bgT4z9sY2g7nTNF1W2dvnCq8XEtVjQiUoxiB4sAoLqEmXAHEoexWxy7SAws5cZTZzCi1hnTWapr3CWc+5xNQyAR/w/DLOMa8Iij0HZOjr9kDVNjCYxcX6BaB1NzZ2iy0YK1ZYcWD4nW7DQXZWNLY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 10 Jun 2026 20:20:02 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: Re: [PATCH v3 2/2] xen/x86: Change stub page allocation/free
Message-ID: <aimq0g_XqJQ-7Gqe@macbook.local>
References: <20260609000638.121027-1-jason.andryuk@amd.com>
 <20260609000638.121027-3-jason.andryuk@amd.com>
 <ail8YNrQLZ9bumiH@macbook.local>
 <085ebfb8-d76c-4a13-8b5b-130959b25b51@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <085ebfb8-d76c-4a13-8b5b-130959b25b51@amd.com>
X-ClientProxiedBy: PA7P264CA0269.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:375::19) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|SA1PR03MB7053:EE_
X-MS-Office365-Filtering-Correlation-Id: 652191c8-84b2-40b9-6018-08dec71ce604
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|23010399003|1800799024|376014|22082099003|18002099003|11063799006|4143699003|56012099006;
X-Microsoft-Antispam-Message-Info:
	06rzRzOUECiGInN4/QnQhev/ZDh265s9BVHSgdCqYKwmUOOfJi8Z1vw+1FEJzwuYjRqQnMZm3VGgITvSBrfLLc0WbcgpEr9eP/RWu8buEow2u0VgGsFCWii+uzSKU+AVtdG3BYzz4Kn3OCv1Nnua/FW2K6fBedFphJ89cA3kDCRLuOnqOOog8BKpUhpgTSm9LHrbhZmJKSNd/A59XuJTHfY/tbil5sgBToDrxpu+jVQIEmjgUlRoJiH835Hfc9Exy+4pLa+odtwSJ8X6cTg40Y8rM5S3QkGZOThVCL7JkfXDvZhCLjqvoVSOrTRaghK/+q8diklcmNQR7NBSYGt1XFSo6e/LovkwV2EWLejvN0hcSvOQOTwPc3vLXKci7znm28p2x1EOMtj5A5/U/C6gvwFte23Cak3WqVq4c/Chfo8BIrIeOUqBRXp0lp2E3g8vlCQc6jbA7wRQRREVvB552DDJ5QlVJ9dUjgDjUlZNQhSz8oPm1Asu28UkHgLH37wc3Q9nTd1eyusQonMk9djdVAQAOFw1yU4qCWzxsow5xmUvbTBGWSrOWWypZX3fAtdkwQvpArHfEzX6UpHk7kZXQWnzsxoDLexNaVhb6FGfcazQ0KEXTyAuaLRibSrCKFL071PSyNTO6oOK47jrAueGP1EtQl4Y0yYwkp8mfS0xvhQWwXsCRHU1LPkSBkBG7Nhu
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(1800799024)(376014)(22082099003)(18002099003)(11063799006)(4143699003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dTQ2OHY3MFV2UHlBbi9BQjc5UnFkc0hjajBhNzVuM1JPT25jL0dKT2pKd1pk?=
 =?utf-8?B?d0FKWWhLRUZVVEJyemhPT3N2ajJJdElhUXN0N1gyOXBoTCtNbDdxaGpnRG1l?=
 =?utf-8?B?Y0FCbkJ2SHBLSHNZRWpKQjhPUGNxamNnTDdoQWppbzEvZEt5a2hNZ01tcVNk?=
 =?utf-8?B?eS9wL3pON3pIZndaZVNiM1VvaDdWQ0h0VE5ySjBXUlJvVzlrUnMrVHJtQXd4?=
 =?utf-8?B?cUQwZDVVT0d5bEl2ZEt4VTBPZUpUanNQazRlQ2JBL21kcDZ6eGUyTXNuS0d6?=
 =?utf-8?B?VStWemhQdERVM1N1SXZHSE1EZWRkWGdjbHA5alFwanFVTUd3WDh3RUxQSVFU?=
 =?utf-8?B?eDFHR21LN3lUZ29ma0t1VnJqTkk2bFYrSE5LTHhIZmFRcjk0c1UvK0dNdjFB?=
 =?utf-8?B?VVlPYXRUbEJpTVduaGFXeW52bzR5OVV2dGpKcmxqelcrYldjVnhhcitmSXRT?=
 =?utf-8?B?WTVyZjhSam5HS3lFMnd1NHBBajk0UFZ4eXBVQ1daTjRXZW5WWldkSGhJN2ZF?=
 =?utf-8?B?Yngrd25qRDZCMzJRdjRoN0JwMFkzZ3hab2dMUm9UbExoajFJMWlnckJsOXhk?=
 =?utf-8?B?Y2RCcDdBTkx4WUdFNzdDNDBuMC83REg1eS9Ib0ZKZDBpYU1UN1E0TzFTeUxx?=
 =?utf-8?B?ZnhzckdmdG9FRUZZSU9wWUdqOVNRNms0amY2SXllaGxEYUh3ajlwMVhwSndL?=
 =?utf-8?B?WkNJb0xLazh1Uk9GTFFGbnZpeVdBNlp1RTlJZHNlQkFSYU5LdUhpanY1WkVl?=
 =?utf-8?B?NWRGQ1MvbmdJY0JER1FGV1lMcU9WZThqK3hIbWdKdXZSUWh5YnoxcklYOVRT?=
 =?utf-8?B?dW1Nb1Q3ZndJaXZNSDlTMEh4M1BaeUp0SWhKS204MHl2OGJBaUtNM0JwbVFK?=
 =?utf-8?B?eFk4eERXYVhjdTVxV1RaOEd5eUIxYVFxMUJtTEZUeVNZMUN2V2xzZEtCaENz?=
 =?utf-8?B?OTg2ZW8zeWZJeDc5QVVGb0UrZk55Vkxoa2Z5RFNtSFlGcldDMTc5QkgwTkMv?=
 =?utf-8?B?QnZIRlY4anFqYU9xcVRPck53R1lHd1ZaOG9HeG1FUUMzVG1IbzRDQmRwcVpM?=
 =?utf-8?B?VDZRRUQzVGJaM3pCUzJ1NXp6VUV1d2JyMlNheWsyYklUYncyTFV5MmdZZGF5?=
 =?utf-8?B?UXI1ZmtGWFB1WUpDa2pBM2dveGhSbUdyb0R3ekEvZTA3d3pQWS9vNlY3ZWtJ?=
 =?utf-8?B?OVAxd08wSUk4MkhzSVlRU1dYbkw4b3A2VnhnekZGMnZ2V3BrUU85SS91MVlG?=
 =?utf-8?B?RXY1SmxFSVZvYnVhanZzUmNnYnIxSitZYzNaYk5oR1g0RzNmZ28vUW5uNjBS?=
 =?utf-8?B?cHA0QXpDbndKVXhkSjZRZHc5TGloOGRreTJoWjIrT3cveENOTENQNmI4VmZD?=
 =?utf-8?B?UHRncFM4c2FtSUV4NldDNnFScVgzSThaeVl6VVRQeGxsd0tKb1JaUzYxZXNt?=
 =?utf-8?B?UjFIVW5yQ0FRYnlqblVHQ1gzU0gybG02R2ZIRVBrejZlczZJSktrWlo4SGY3?=
 =?utf-8?B?TWJ0eGhrWUU4M1dvU3R5MStPTzNWMW8xc2d6OFVzK2tYZXdVd25HTk82ekFS?=
 =?utf-8?B?d1lYc1h1QThpZ0U5aDdFdnJxMVhuTWJNV3RWbm8zeXI3TTV5T3dWb3dPS3pq?=
 =?utf-8?B?R2REdi94VzEraTB6UEw1eFlvOER2WjNiRFJtZ0hYYkhyUlB0WFl1UUdya3hl?=
 =?utf-8?B?bXJidVcyOHpSWUpTSFE0ZGNrVTdkQUc0alc0dVQ0NmZ6dmFqa0Z0NlZZUTl0?=
 =?utf-8?B?a0lqTnJpNThJTkdnOTZCSUlGSFlWeEhXVnQ1K3YxR3NuRUtKb3ZZT1hGRy8v?=
 =?utf-8?B?Q1ZxZ2k4bWsyeEhrRmlPWDBHU1l6YXQ4OWYrSFdKWWwybCtETUt0cU1mMC9Y?=
 =?utf-8?B?S1d6TzQzZlhFaG9rQnVVR21ETW5HRlJqZUtJbHU5ZWpkUnkxeitWNFJTV0Vm?=
 =?utf-8?B?UTNJV0gzRFdOSHdncy9iQ2IzT0hieTZrK0tQeGNhSEFCRjhBS3ZtVUFqd0V2?=
 =?utf-8?B?NUw3UStFSnVGa1dvVlRqUzVMTlk0R2xUcVJaVktuQmRlem45TkNlTG1qVmlp?=
 =?utf-8?B?OGtobUZCOU1oa0JGZGY2VTF0QWo3UkVsd09RYUNIRlNoUHY2RUh2RHk4bkZu?=
 =?utf-8?B?NXVmSUlwK0xHY0I2ZXk1Q2g2My9BWEZnZkh2aTM5aEFBYktSQVRuVXRNWDdu?=
 =?utf-8?B?ejBwaE5WalplZkcyWGZhampGWGgxVDJ5OVBzLzkxYlpxczAvVnpsRmI4Mzdm?=
 =?utf-8?B?UkJ3d3Z5azc0bEdqVG1UQ25TNXFVTzV2bDBnclA4NHYveUFUZnd0dDAreXkr?=
 =?utf-8?B?VExJOXlsS21tK1lYYzFXalhXVUYyd2xvdlVsWG5ISWwvd0JLZnhCdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 652191c8-84b2-40b9-6018-08dec71ce604
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2026 18:20:06.8057
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bShDqStLSze2HSGCBgopEQxT4OQCUP8w1+pRWZYehsHWY9B0L/nbhqgNE/I+/+H8888a4YpdPN7+S0USRZBKog==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB7053
X-purgate-ID: tlsNG-c201ff/1781115611-E0867443-6F95CB6C/0/0
X-purgate-type: clean
X-purgate-size: 8148

On Wed, Jun 10, 2026 at 11:23:46AM -0400, Jason Andryuk wrote:
> On 2026-06-10 11:01, Roger Pau MonnÃ© wrote:
> > On Mon, Jun 08, 2026 at 08:06:38PM -0400, Jason Andryuk wrote:
> > > Today the inline tracking of the stub page is problematic.  0xcc is used
> > > to indicate unused, but it is also a "clear value."  A !CONFIG_PV build
> > > with smt=0 will bring up CPU0, bring up CPU1, bring down CPU1, and free
> > > the in-use stub page.  Subsequent CPU onlining can write to the re-used
> > > page.
> > > 
> > > The new approach uses a global, CPU-indexed array of stub pages.
> > > However, to handle NUMA aware allocations, we cannot allocate all the
> > > pages in advance because the NUMA information is not available.  Keep
> > > track of 1 current page for each NUMA node, allocated on demand, and
> > > allocate the stub buffers out of those pages.
> > > 
> > > The current NUMA allocation approach is opportunistic sharing among the
> > > groups of 32 processors.  The new approach will allocate buffers densely
> > > in a NUMA node.
> > > 
> > > stub pages are no longer freed.  They remain referenced in the global
> > > CPU-indexed array and are re-used if the CPU is re-onlined.
> > > 
> > > stubs and node_stubs don't have an explicit lock.  During boot they are
> > > accessed single threaded.  During runtime, &cpu_add_remove_lock
> > > serializes access.
> > > 
> > > Fixes: 7a66ac8d1633 ("x86: move syscall trampolines off the stack")
> > > Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> > > ---
> > > I'm not sure how to test the NUMA part - I don't have an NUMA system.
> > > Also, if NUMA is active, is a cpu node of NUMA_NO_NODE still possible?
> > > I used the MAX_NUMNODES + 1 array sizing to handle that, but it's not
> > > obvious to me if that is necessary.
> > > 
> > > Roger mentioned removing the per-cpu stubs.mfn.  We'd need to replace
> > > that with exposing the stubs array for traps and the emulator.  I have
> > > no idea if that will be an improvement and am looking for agreement on
> > > this patch before attempting.
> > > ---
> > >   xen/arch/x86/include/asm/stubs.h |   2 +-
> > >   xen/arch/x86/setup.c             |   3 +-
> > >   xen/arch/x86/smpboot.c           | 110 +++++++++++++++++++++----------
> > >   3 files changed, 77 insertions(+), 38 deletions(-)
> > > 
> > > diff --git a/xen/arch/x86/include/asm/stubs.h b/xen/arch/x86/include/asm/stubs.h
> > > index a520928e9a..9d776f81dd 100644
> > > --- a/xen/arch/x86/include/asm/stubs.h
> > > +++ b/xen/arch/x86/include/asm/stubs.h
> > > @@ -32,6 +32,6 @@ struct stubs {
> > >   };
> > >   DECLARE_PER_CPU(struct stubs, stubs);
> > > -unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn);
> > > +unsigned long assign_stub_page(unsigned int cpu);
> > >   #endif /* X86_ASM_STUBS_H */
> > > diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> > > index 19ee857abf..0cac94cbdb 100644
> > > --- a/xen/arch/x86/setup.c
> > > +++ b/xen/arch/x86/setup.c
> > > @@ -2089,8 +2089,7 @@ void asmlinkage __init noreturn __start_xen(void)
> > >       init_idle_domain();
> > > -    this_cpu(stubs.addr) = alloc_stub_page(smp_processor_id(),
> > > -                                           &this_cpu(stubs).mfn);
> > > +    this_cpu(stubs.addr) = assign_stub_page(0);
> > 
> > Given stub pages is first used quite late in the boot process, the above
> > arrays would better be dynamically allocated using xvmalloc_array().
> 
> Ok.  At some point I intended to dynamically allocate.  But x86 doesn't have
> num_possible_cpus(), and I thought num_present_cpus() wouldn't have the
> correct value.  nr_cpu_ids seemed close to the value, but then I convinced
> myself NR_CPUS would be okay.

I will double check, but I think num_present_cpus() accounts for the
maximum number of online CPUs possible at any point.

> > diff --git a/xen/arch/x86/include/asm/stubs.h b/xen/arch/x86/include/asm/stubs.h
> > index a520928e9a50..d575f1eb0631 100644
> > --- a/xen/arch/x86/include/asm/stubs.h
> > +++ b/xen/arch/x86/include/asm/stubs.h
> > @@ -32,6 +32,7 @@ struct stubs {
> >   };
> >   DECLARE_PER_CPU(struct stubs, stubs);
> > -unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn);
> > +unsigned long assign_stub_page(unsigned int cpu);
> > +void init_bsp_stub(void);
> 
> With init_bsp_stub(), assign_stub_page can be static and not exported.

Oh, nice one.

> 
> >   #endif /* X86_ASM_STUBS_H */
> 
> > diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
> > index b3045eac5b5e..dd0972a3025e 100644
> > --- a/xen/arch/x86/smpboot.c
> > +++ b/xen/arch/x86/smpboot.c
> > @@ -20,6 +20,7 @@
> >   #include <xen/serial.h>
> >   #include <xen/softirq.h>
> >   #include <xen/tasklet.h>
> > +#include <xen/xvmalloc.h>
> >   #include <asm/apic.h>
> >   #include <asm/cpuidle.h>
> > @@ -641,41 +642,61 @@ static int do_boot_cpu(int apicid, int cpu)
> >       return rc;
> >   }
> > -#define STUB_BUF_CPU_OFFS(cpu) (((cpu) & (STUBS_PER_PAGE - 1)) * STUB_BUF_SIZE)
> > +/* Dynamically allocated, indexed by CPU.  Store physical address of stubs. */
> > +static paddr_t *__ro_after_init stubs;
> > -unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn)
> > +unsigned long assign_stub_page(unsigned int cpu)
> >   {
> >       unsigned long stub_va;
> > -    struct page_info *pg;
> > +    paddr_t addr = stubs[cpu];
> > -    BUILD_BUG_ON(STUBS_PER_PAGE & (STUBS_PER_PAGE - 1));
> > -
> > -    if ( *mfn )
> > -        pg = mfn_to_page(_mfn(*mfn));
> > -    else
> > +    if ( addr == INVALID_PADDR )
> >       {
> > -        nodeid_t node = cpu_to_node(cpu);
> > -        unsigned int memflags = node != NUMA_NO_NODE ? MEMF_node(node) : 0;
> > +        nodeid_t nid = cpu_to_node(cpu);
> > -        pg = alloc_domheap_page(NULL, memflags);
> > -        if ( !pg )
> > -            return 0;
> > +        /*
> > +         * Attempt to use the same page as the previous CPU if possible,
> > +         * otherwise allocate a new one.
> > +         */
> > +        if ( cpu && nid == cpu_to_node(cpu - 1) &&
> > +             PAGE_OFFSET(stubs[cpu - 1] + STUB_BUF_SIZE) )
>     PAGE_OFFSET(stubs[cpu - 1] + STUB_BUF_SIZE)
> is to ensure we it remains inside the allocated stub page?

Yup, if there's no offset it means we have consumed the full page, and
we need to allocate a new one (at least that was my intention).

> 
> > +            addr = stubs[cpu - 1] + STUB_BUF_SIZE;
> > +        else
> > +        {
> > +            struct page_info *pg = alloc_domheap_page(NULL, MEMF_node(nid));
> 
> > @@ -1092,15 +1106,7 @@ static int cpu_smpboot_alloc(unsigned int 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 )
> > -        if ( cpu_online(i) && cpu_to_node(i) == node )
> > -        {
> > -            per_cpu(stubs.mfn, cpu) = per_cpu(stubs.mfn, i);
> 
> This loop tries hard to re-use the same page for a NUMA node.  My posted
> approach will densely allocate the stubs.  Your approach would re-use less,
> unless the CPUs are contiguous in a node.

>From what I saw on a couple of systems, CPUs are contiguous inside a
node, for example:

(XEN) [ 2384.850395] CPU0...39 -> NODE0
(XEN) [ 2384.850397] CPU40...79 -> NODE1

> This is just an observation.  I have no idea how NUMA nodes are allocated.
> The "round robin" code in numa_init_array() made me worry that CPUs are more
> likely to be non-contiguous.

Well, the approach here would still work for non-contiguously assigned
CPUs, it would just be sub-optimal.  We can adjust if we ever find
such a system, but I think it's unlikely.

> If you have NUMA systems in XenRT, I think it would be worthwhile to test.
> Some printks to see how many pages are allocated would be useful.

Sure, I will give it a try across what we have on the lab.



> 
> Thanks,
> Jason


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 21:02:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 21:02:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334770.1597571 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXQ3r-0001fm-Th; Wed, 10 Jun 2026 21:02:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334770.1597571; Wed, 10 Jun 2026 21:02: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 1wXQ3r-0001ff-QB; Wed, 10 Jun 2026 21:02:07 +0000
Received: by outflank-mailman (input) for mailman id 1334770;
 Wed, 10 Jun 2026 21:02:06 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sstabellini@kernel.org>) id 1wXQ3q-0001fT-Gf
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 21:02:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXQ3p-00Aa9r-DV
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 23:02:05 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a29d0af-2eae-0a2a0a5409dd-0a2a4508b3ae-18
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 23:02:05 +0200
Received: from [172.105.4.254] (helo=tor.source.kernel.org)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a29d0cc-63b5-0a2a45080019-ac6904fec698-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 23:02:05 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by tor.source.kernel.org (Postfix) with ESMTP id 8885F601FC;
 Wed, 10 Jun 2026 21:02:03 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E65B91F00893;
 Wed, 10 Jun 2026 21:02:02 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:From:To:cc:Subject:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1781125323;
	bh=7LvkrGPlvKUxxAcZ5C5MrkJVWLDXbW3opvnSMnwIiP0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References;
	b=UTYynPg6PLWHEU1ekhceF+Cc/T+QM5kRxL3P/cIF2TJz8j75DDlNzlaDjZYUT7Q92
	 944strVjM3OKMQyr4Nk6EDRlTGFidm2zeTg9NHNnkg0dsB96dhCHRpeJ/WrYnP+KCy
	 hGU0Sah1fWJuAGfLHC+MkGPMy7qnKHGbBsusK9yP7GH/yAr4bG4aPoOggM3Pd55gdT
	 ztIOQ8SoYKPuy7fQLk/ZCzSUsF+TM+ESHCr2Z8K9RJ5FhGDfP+Et/FrCwv79BHD1Xb
	 X4dWld8qYBOGj+l5xGv7823xCO8zNH8Cufa6rptGgzMp9nUm7p9RaNFfoKBBPsjP8M
	 BBQ1vZNjJRNkA==
Date: Wed, 10 Jun 2026 14:02:02 -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: Andrew Cooper <andrew.cooper3@citrix.com>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
    Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH 1/4] CI: Fixes to containerize
In-Reply-To: <1781083314.8631fc262581453bbf619ec5b2062170.19eb0d69a94000701b@vates.tech>
Message-ID: <alpine.DEB.2.22.394.2606101401560.368315@ubuntu-linux-20-04-desktop>
References: <20260609173102.2908514-1-andrew.cooper3@citrix.com> <20260609173102.2908514-2-andrew.cooper3@citrix.com> <1781083314.8631fc262581453bbf619ec5b2062170.19eb0d69a94000701b@vates.tech>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
X-purgate-ID: tlsNG-c1860d/1781125325-BF171DB1-36271340/0/0
X-purgate-type: clean
X-purgate-size: 341

On Wed, 10 Jun 2026, Anthony PERARD wrote:
> On Tue, Jun 09, 2026 at 06:30:59PM +0100, Andrew Cooper wrote:
> > These were missed from prior changes.
> > 
> > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

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


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 21:03:01 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 21:03:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334775.1597579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXQ4j-00028r-4B; Wed, 10 Jun 2026 21:03:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334775.1597579; Wed, 10 Jun 2026 21:03:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXQ4j-00028k-1Z; Wed, 10 Jun 2026 21:03:01 +0000
Received: by outflank-mailman (input) for mailman id 1334775;
 Wed, 10 Jun 2026 21:03:00 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sstabellini@kernel.org>) id 1wXQ4i-00028e-2N
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 21:03:00 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXQ4g-00AOOu-Bj
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 23:02:58 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a29d0d1-bab6-0a2a0a5309dd-0a2a450a9d0a-36
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 23:02:58 +0200
Received: from [172.105.4.254] (helo=tor.source.kernel.org)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a29d101-56b3-0a2a450a0019-ac6904fedd9c-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 23:02:58 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by tor.source.kernel.org (Postfix) with ESMTP id DE226601FC;
 Wed, 10 Jun 2026 21:02:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EC1461F00893;
 Wed, 10 Jun 2026 21:02:55 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:From:To:cc:Subject:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1781125376;
	bh=V7haqysB2nWTKSvDDoglm6Kew8K63EbVCD2eg/vs0XY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References;
	b=b3p8UBPB5INx8HaioP2sSYCVaaeugI1wtl+5wWCktyCK/ylSsRLuvy4SUeZtQc+ws
	 4JuoN6ekE9uWpcqgs3PXmz59RfQMF6QNLB8ZvpAL4pmHPd3U5AmBgUEb7I3QJo3XEv
	 /4BWwrUkrhLLaPodlYrzmGkypcm7I2VPdvi3oq4cGS7y1zWyOcBDz0xgZRAa3DP3q+
	 ZQ5vBRfJNJ0WpOtrgrpC3AeJUsLc5EVT4GHLz/0nxhL/+NDW+AHRZkLgDvTqX/Gwyg
	 nL/INuw8A0X9m4IsHDIwli9gx6JWuShoAet2E9NMCajrjtHgL5dDM6YZo44gJZCfNU
	 Dst7JBEjZsKxQ==
Date: Wed, 10 Jun 2026 14:02:55 -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: Andrew Cooper <andrew.cooper3@citrix.com>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
    Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH 2/4] CI: Rename xenial-xilinx to xilinx-hw-runner
In-Reply-To: <1781083934.8631fc262581453bbf619ec5b2062170.19eb0e00eac000701b@vates.tech>
Message-ID: <alpine.DEB.2.22.394.2606101402340.368315@ubuntu-linux-20-04-desktop>
References: <20260609173102.2908514-1-andrew.cooper3@citrix.com> <20260609173102.2908514-3-andrew.cooper3@citrix.com> <1781083934.8631fc262581453bbf619ec5b2062170.19eb0e00eac000701b@vates.tech>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
X-purgate-ID: tlsNG-4011c0/1781125378-727758B7-64078140/0/0
X-purgate-type: clean
X-purgate-size: 758

On Wed, 10 Jun 2026, Anthony PERARD wrote:
> On Tue, Jun 09, 2026 at 06:31:00PM +0100, Andrew Cooper wrote:
> > The container is tied to the runner, not a version of Ubuntu.  Intentionally
> > give it a generic name so it need not change in the future.
> > 
> > Apply standard cleanup to the dockerfile, except that it must continue to be a
> > root container to drive real hardware.  Explicitly install ca-certificates to
> > compensate for --no-install-recommends.
> > 
> > No practical change.
> > 
> > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

I don't have an opinion on the best name for this container

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


From xen-devel-bounces@lists.xenproject.org Wed Jun 10 21:04:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Jun 2026 21:04:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1334782.1597587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXQ5t-0002iw-Hh; Wed, 10 Jun 2026 21:04:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1334782.1597587; Wed, 10 Jun 2026 21: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 1wXQ5t-0002ip-Ee; Wed, 10 Jun 2026 21:04:13 +0000
Received: by outflank-mailman (input) for mailman id 1334782;
 Wed, 10 Jun 2026 21:04:12 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sstabellini@kernel.org>) id 1wXQ5s-0002ii-Ep
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 21:04:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXQ5r-001VYZ-Rw
 for xen-devel@lists.xenproject.org; Wed, 10 Jun 2026 23:04:11 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a29d132-e002-0a2a0a5209dd-0a2a450b8900-16
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 23:04:11 +0200
Received: from [172.105.4.254] (helo=tor.source.kernel.org)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sstabellini@kernel.org>)
 id 6a29d14a-212f-0a2a450b0019-ac6904fece6c-3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Jun 2026 23:04:11 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by tor.source.kernel.org (Postfix) with ESMTP id 23F9760204;
 Wed, 10 Jun 2026 21:04:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8D65D1F00893;
 Wed, 10 Jun 2026 21:04:09 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:From:To:cc:Subject:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1781125449;
	bh=eWYlmtbf08A6xzk6/b7Q6309rsJrqAUC94pZOr+jZl0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References;
	b=WucHnUPeH8CKf0zRAnt45lMEmGmfYQ+2Lwk2NjZpXQnUDF6TceoGNf8j2dt8X5AzR
	 t6OFO9oZDBDZXD2M0EXRCnJLVI4OTuB9A1nPPAMR4kqI1a2TaqwK0KNSJxrM8tmRAR
	 llVSPvAJ57DGl2TkP4R0f4O/6ivas+rnN/Sr6/wfXPrAVrG3tXw2+rXCTFpP3hzGNG
	 W0JtsP1K+7lsDEEOQPCjFOYGsl443HIq75sPbN5pd6wCsXlEhhkuy7uL9EJmJ1+faz
	 dP8ZCUaESv0u2JIsn5gn7F3cPlApR23ALgQnrCSUZWOjiRRNl0caJUSK7ewp9j3HZl
	 iFiNGuZM2Qz+g==
Date: Wed, 10 Jun 2026 14:04:09 -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: Anthony PERARD <anthony.perard@vates.tech>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
    Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH 4/4] CI: Rework the archlinux container
In-Reply-To: <5c397f5b-cd5a-4218-92b5-074e52be5f11@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2606101403450.368315@ubuntu-linux-20-04-desktop>
References: <20260609173102.2908514-1-andrew.cooper3@citrix.com> <20260609173102.2908514-5-andrew.cooper3@citrix.com> <1781091028.8631fc262581453bbf619ec5b2062170.19eb14c4ec6000701b@vates.tech> <45a5e1d6-0262-448f-a415-d7b1b3135d87@citrix.com>
 <5c397f5b-cd5a-4218-92b5-074e52be5f11@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
X-purgate-ID: tlsNG-42698a/1781125451-18D67F3B-A0B0FF15/0/0
X-purgate-type: clean
X-purgate-size: 1057

On Wed, 10 Jun 2026, Andrew Cooper wrote:
> On 10/06/2026 12:38 pm, Andrew Cooper wrote:
> > On 10/06/2026 12:30 pm, Anthony PERARD wrote:
> >> On Tue, Jun 09, 2026 at 06:31:02PM +0100, Andrew Cooper wrote:
> >>> --- a/automation/build/archlinux/current.dockerfile
> >>> -    && yes | pacman -S --clean --clean
> >>> +++ b/automation/build/archlinux/current-x86_64.dockerfile
> >>> +    pacman -S --clean --clean
> >> The "yes |" is needed, otherwise the files aren't removed from the
> >> caches.
> >>
> >> I've only got, without:
> >>     :: Do you want to remove ALL files from cache? [y/N] :: Do you want to remove unused repositories? [Y/n]
> >> and no messages about the files been cleaned.
> >>
> >> I tried --noconfirm, but seems to just get the default response, so
> >> nothing is removed.
> > Lovely :(
> >
> >> With "yes|", I drop from 1.32 GB to 1.26 GB on my machine.
> 
> Gitlab says that the "yes |" alone shrunk the resulting container from
> 427MB to 380MB, so a substantial saving.

Nice!

Consider my acked-by


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 06:14:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 06:14:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335065.1597597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXYg1-0008Kw-1P; Thu, 11 Jun 2026 06:14:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335065.1597597; Thu, 11 Jun 2026 06:14: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 1wXYg0-0008Kn-Sx; Thu, 11 Jun 2026 06:14:04 +0000
Received: by outflank-mailman (input) for mailman id 1335065;
 Thu, 11 Jun 2026 06:14:03 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Bertrand.Marquis@arm.com>) id 1wXYfz-0008Kh-5E
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 06:14:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXYfy-009btB-Hu
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 08:14:02 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Bertrand.Marquis@arm.com>)
 id 6a2a521b-e002-0a2a0a5209dd-0a2a45059458-48
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 08:14:00 +0200
Received: from [40.107.159.34]
 (helo=OSPPR02CU001.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Bertrand.Marquis@arm.com>)
 id 6a2a5228-aaa8-0a2a45050019-286b9f22705d-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 08:14:00 +0200
Received: from AS4P195CA0041.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:65a::13)
 by AS2PR08MB8927.eurprd08.prod.outlook.com (2603:10a6:20b:5fa::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Thu, 11 Jun 2026
 06:13:54 +0000
Received: from AM1PEPF000252E1.eurprd07.prod.outlook.com
 (2603:10a6:20b:65a:cafe::57) by AS4P195CA0041.outlook.office365.com
 (2603:10a6:20b:65a::13) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.113.13 via Frontend Transport; Thu,
 11 Jun 2026 06:13:54 +0000
Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by
 AM1PEPF000252E1.mail.protection.outlook.com (10.167.16.59) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.113.7
 via Frontend Transport; Thu, 11 Jun 2026 06:13:53 +0000
Received: from DBAPR08MB5590.eurprd08.prod.outlook.com (2603:10a6:10:1aa::17)
 by AS2PR08MB8363.eurprd08.prod.outlook.com (2603:10a6:20b:546::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.13; Thu, 11 Jun
 2026 06:12:45 +0000
Received: from DBAPR08MB5590.eurprd08.prod.outlook.com
 ([fe80::f68e:1311:9070:68b]) by DBAPR08MB5590.eurprd08.prod.outlook.com
 ([fe80::f68e:1311:9070:68b%4]) with mapi id 15.21.0113.011; Thu, 11 Jun 2026
 06:12:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=wygmKx3i4vUBnpRvR55C9cFKR+hap7Bv/I28sR6pv28nPTnm95OWQsegr66qEgpHJIT9Mi7e2Gn27ORxv83nJ7e+Ei6oJspr38ur/Cls31J6J1zlSNPHjQzzLEjoSlg414ul7J47WoeIGet2gaxqd1SRD1A3PgM9+E91dHcR8iBbN8p2bzqMUNqPcY1jYUgyrjA8/MsDcvZ3xlFoc1a70JwyxpePuPwGqCmF+WSFQk+PD62d9MbfuM3HICbSBc0qeQJas3AXevk4ul9ZFHqA52c2aE7HmL2i39jkA1/p56JOxTUGbRdfDxpWraeRaJ9SALm9G/wiiucJdSRAr0YUyw==
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=gXDvUv2PMe5nnuUKGR/91V45d4NDhbyAmB81s5ANGak=;
 b=yFBMsRHpeL4vK4rNMhxkOWzH4Nxme+TNOh34JffDYXAx5RQv8AFp7XNKnOlGf+/kkHR2iTic9FK7gv2Rbv5SMoeTx2IFWMgYJIb8NI4S7yHvkUVoTlpfDw4bZCY03xES/7oUVzXJk/V7f9D/B82uPktMt+2S9dPaS2HcAhEQI8X5Q4UZ5XUF/Bu81D3OxIXKEJf97d89tmctuZ5GPONs5ZIEZA8zdEw6GGOy6cJxNrjx00HOjQ+NBBfENlKVbEiGEcexEPb+2FD+xEWDfDyRrUJJi6RfKqSMsV3HZDf8YxvsTCGqPQIc/imT35xnX7xPzM7fgatnVhrqfkr2gqNCag==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 4.158.2.129) smtp.rcpttodomain=xen.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=gXDvUv2PMe5nnuUKGR/91V45d4NDhbyAmB81s5ANGak=;
 b=VWM2aEOsULrGiXP/E/KIRYiUOWvhMDe/kSp4XQwDhrYViA1x3/dws1QqorpkP7iNYFy3Ut9PMmjH/oaKC1WHjgberiSzE9qbtLHJIK63RMhLKcRXvZrYfX7wfP80FigQnxAn5PjPqzhAZoJHOUzreHEYYli6EtAgwc5+pBZxXq0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 4.158.2.129 as permitted sender) receiver=protection.outlook.com;
 client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=JL8q4bc5Q5aOtylVkdr5stzhufIbc1ds5AAsV+EXFD2EMVm4c+LCPBJICOkZii7beBQ90p5/3Av+uSxF8VtaebbzlWdr+V7EMzyNC+lYujzDF4FWUNwI/83vRGrIOAM/gtt1J4j+ZKjdydeEZrB9f36MTwme37CL4YOG4LwLF0nsHoYPX2qeGnzLIK/m9nPm4RzcJkfiOyn708af+diuv9h2Wneqswj1cq8Vw3+HgplWVnyVFYzIZe9gcECn2AGcGBH1pt000zmpHN+jhPaT7YV823SRqsLQ0PSB7rhCC/i5QrfvvH8CBCDWkvdN4HeLyVlpj8JcehyJNXQpwm/CFA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gXDvUv2PMe5nnuUKGR/91V45d4NDhbyAmB81s5ANGak=;
 b=w2ylOklPoUbjnJsaO9yNE88ApDgQbN/eyR8NuHT8SRwh07mSprMqKrT34s6sMzO9H4PogCp2yBzDJu4HZhgcA1JxhL2A35OeF9iuesXq+AMeWFyaYhUf+KUJA5yj+Lebm32dK999uj9xox+xO9+WZAixSJomYxg+saCsEAqLc7BbboqX5sN9d2S2q5OyA15RzyC5B486qb1zccccHfmF0AKBLK/hUBbBc1qxtVOuQEDujvgU755vvNhD+AmYqzyFezcqcF+z377rIgmQdr5HFlbP2ESLp3uxNOMNxLdAmRJ4zz4BoDYjKazRQahdqncfUZjxeOgMWAHvKMVlH7fhJg==
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=gXDvUv2PMe5nnuUKGR/91V45d4NDhbyAmB81s5ANGak=;
 b=VWM2aEOsULrGiXP/E/KIRYiUOWvhMDe/kSp4XQwDhrYViA1x3/dws1QqorpkP7iNYFy3Ut9PMmjH/oaKC1WHjgberiSzE9qbtLHJIK63RMhLKcRXvZrYfX7wfP80FigQnxAn5PjPqzhAZoJHOUzreHEYYli6EtAgwc5+pBZxXq0=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Milan Djokic <milan_djokic@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Rahul Singh <Rahul.Singh@arm.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 02/23] xen/arm: smmuv3: Add support for stage-1 and
 nested stage translation
Thread-Topic: [PATCH v2 02/23] xen/arm: smmuv3: Add support for stage-1 and
 nested stage translation
Thread-Index:
 AQHcuxeUeXMMAhMgNk65vf8IyW5YQ7Xd846AgAjb84CAApA2gIALGl0AgCjouoCAF3h0gIADmeAAgADnRAA=
Date: Thu, 11 Jun 2026 06:12:44 +0000
Message-ID: <21F24A06-115C-4384-89AF-B6A04029F356@arm.com>
References: <cover.1774305918.git.milan_djokic@epam.com>
 <cb8a2cb5df50128f4c49d34a7ab8faa4e73f83c6.1774305918.git.milan_djokic@epam.com>
 <56a7c116-4ecb-4dfc-a7dd-774d53041fe9@xen.org>
 <87a04781-5765-43b6-8b21-cb993609bd91@epam.com>
 <cd2c76a2-7a13-4bbf-9c29-5dcf3ae06fc0@xen.org>
 <4c96c478-aeb5-443c-a6ca-f23caf7d5430@epam.com>
 <e489f44e-ef61-425c-bd0e-0a992c32f7cf@xen.org>
 <f258e2e5-f7ba-4183-8b33-c3a169dc1d7c@epam.com>
 <bd0588e3-2824-4c2a-a1cc-6ff62fed7f62@xen.org>
In-Reply-To: <bd0588e3-2824-4c2a-a1cc-6ff62fed7f62@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.3864.600.51.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DBAPR08MB5590:EE_|AS2PR08MB8363:EE_|AM1PEPF000252E1:EE_|AS2PR08MB8927:EE_
X-MS-Office365-Filtering-Correlation-Id: ea91101d-90c0-4809-d254-08dec7809d27
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|10070799003|366016|23010399003|38070700021|18002099003|22082099003|56012099006|4143699003|11063799006;
X-Microsoft-Antispam-Message-Info-Original:
 qfOt49VnZMTyD9c8TTF7XEFijkBHcpKK5Cy4ozJuNdmOgvMnNqxH+BE9lv77e/cl33dr3Rr+NIjz6x5EiglkhPr4ezVeDRr/tir1f5+N0pqKUfBRcQgZ+7ulmM7xmG7kqNsbNhvbRNRdpkcQqYpDg82zhN9tNSbMY7/YPbn5+urIIL/U8nUSNNAyGF/l0EefcyywcwQmskYYBYPnpNiiRSmQBfiPfy3kQxpvgPYIRhO0rWTIEY9Ly+Cuw6fOSnLrIZcewFw+PZ33JHBnkNst065YoPZe7l3z674OfB7rf3bOBBILulAmFOHWvxJ0w35CNZusckp3kknCLTEAjeLAv1mzOmtZtThWcoGe1/EGcRipJddis6jYwwrGMsvx2KgE7hvOj5o51RnnDbkcT0pDtjixCR3gLr7h/gB7ZHCI5g2Pt8pMJMyga2CMXsTillfIWihPvnYnlpjydcL4zKVFliCasaHesEkr+FJG3mMW3OhwXwLzJVWt4uenNzYBRsFbRt5Ji9aZMgSoao2RAY1O/mkX3U8nVkKXDQ0mq9Ylm9hV9ZujGBE+1t+dL0qzkv1urgmZ3FYGoBlcLnZQkAJ6NVmAk2QG30BTLQM/bbh6eJB4MOwypJhrqShIOj+sSb0z9weDZ5ZbxPxJBLfT6Uo94FZREM2yQ2JgGA82CspblG9AOGu/blR4uVQohR+rhq5LnOuy3rpgXtvwDR/Q8OulFPx9BmNkSpuBjVuzofRk2/j1rvNomJXgtXqPaREyQxUI
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBAPR08MB5590.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(10070799003)(366016)(23010399003)(38070700021)(18002099003)(22082099003)(56012099006)(4143699003)(11063799006);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <9C3CB20BA00F244BAE159FCE4129A06E@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Exchange-RoutingPolicyChecked:
 GoH/TtCuBsdL6PbnLr+V92Ya7Dk3S18WzGcZpcn3s3ePwDa5unZCFtwCxwD2g4kJubcGJMMeb387ZIhgYKy6njN4dyLCImfPB9jVtyLmMPpJQpntIRW/Q+NcCGOgUSYRBadeAaeLKJOtNOD6T4DxHgF9MW+Z8U4qindTXq3tqrukKwDf84/zYyjLvXYc1LiT4YZ6r72MwoPxh7jWIBc5fXKC4JtX1krlUlTs6EFw6D5/qL5S26iUPxba7b/fwnlnPJpCKLZU24VxcUO9iJar2ePJqiNmwYbawoDimnbF/Med4HKmOEK/ZuE4zWluvmcvck4P0suwEg6/2heV9XzCtg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8363
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM1PEPF000252E1.eurprd07.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	8578dc7e-e20a-4320-7b14-08dec78073fc
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|82310400026|35042699022|36860700016|376014|1800799024|14060799003|11063799006|56012099006|22082099003|4143699003|18002099003;
X-Microsoft-Antispam-Message-Info:
	5X7dp0W05VeyOk6vlI8UXzVLYDJvTnyuzWwDPcAFEyIMXkrFm8Ul7ti6BIrfyzFiuHFtsRBeSTdNxPV+ZhdpGI7YucKOM/kibGdoXvG0lCaIjo62P+M9UpjxK2X0Ypj8i9qKA8SRGTay/kb25mAnPeL0ksutQFbcRyzOw0SiqvGWejhTIrdxyoGSK704xj1Im0fRpradyGI/0e1p7hYfmH9rVtc3+cQRiaQXXUKKFO5ios5YwtNm55Qb67EcvRSne+tLbfRvnu1Zyt+tIm3zgng6PuIRZW24xSOltV03ft8DwyGHVqZlAk4L5nRhRCp1Wn5xvJfw5lMQpg0tTp2KgvmZD1CwjfHVFFANJGAK1ukkRa1Z0PknJ54U1OH436jSVINWl8hX3t9TOpkaFWDOzaEs4fUN+rEayMMbNMIWKrmcyWGijpyPfDzSUYCEgLk814Qy6nwpejt4XxEZ24BHkwJ7sEB6Ie9iR+upYWigYjCn/68K5SfnHQy7Al7TyS2jh7zL0E2KviUGttmZr/2PmAsQX8682RtwqPzvchCRKsZ0fv7zUaKwLXnBs0G5WWO14PoihiitHZSXPKAR0XKPEmXQqlz2cWDnmgFKDtED/DKi+iu+yzTUGIdQMXnLZ818bflY/aeIx32cGa8vuxskLwu4bdjswMr8acy7ga0W25jkvJ5/HdzXmZFhgNT/D1wn3kWHkqFKE9dFzwGLovYFv3l/NJGVkisrBtmzhGUEDNk=
X-Forefront-Antispam-Report:
	CIP:4.158.2.129;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:outbound-uk1.az.dlp.m.darktrace.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(23010399003)(82310400026)(35042699022)(36860700016)(376014)(1800799024)(14060799003)(11063799006)(56012099006)(22082099003)(4143699003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	zSc4T0GfRYYid4cXtE2pZH5+C7JRNPVinTUFGxVfdpFwFyZUFo8CCA4jcSyawgySwdF9oOJ1dwP1rBRf4QkTLXf0Nu38ZrCYuVOn9ABTumf0fay7Iu1tYhLk+kH2zrbDRY1lqAKSeefy4AzsVZOhJupqK3LYZx+/7Z1sR4DF96CH4Z/e3JBhZRPlkdyX6LmHvU7btpVAonUVJ54DLsN8PgL6bgks72mr6wk6TWi/Dmj5B6kYiJ0bnZWbtUIa8etLpab0y4oOXbkJOHAwXG24RV77hrDdqlZsMtttwDuq4qQ+QuOXAH6r/5DGQVFfcuWj/ghYnI4ia+hgaleI9q3dBwa31klFuRMOP6Mbo1Otcgky3ATaoNb35TsLvMeM2XG1eau3YTTRBrjftkyrj3Dpa1eR2uDH8OX5Zhc4zNq9aaU2b2U2wpoPSG4wyOW1dcNM
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jun 2026 06:13:53.8605
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ea91101d-90c0-4809-d254-08dec7809d27
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[4.158.2.129];Helo=[outbound-uk1.az.dlp.m.darktrace.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM1PEPF000252E1.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8927
X-purgate-ID: tlsNG-c201ff/1781158440-E0A66443-D7C09FF4/0/0
X-purgate-type: clean
X-purgate-size: 3373

Hi,

> On 10 Jun 2026, at 18:24, Julien Grall <julien@xen.org> wrote:
>=20
>=20
>=20
> On 08/06/2026 10:25, Milan Djokic wrote:
>> Hi Julien,
>=20
> Hi Milan,
>> On 5/24/26 13:00, Julien Grall wrote:
>>> Hi Milan,
>>>=20
>>> On 28/04/2026 11:16, Milan Djokic wrote:
>>>>>> The original idea was to also allow stage-1-only support. But I'm no=
t
>>>>>> sure if stage-1-only usecase is useful or even valid for Xen.. I wil=
l
>>>>>> update the patch series with the missing parts for stage-1-only supp=
ort,
>>>>>> pointed out by Luca, but the question remains if this is needed at a=
ll.
>>>>>> If not, I can revert to original state where stage-2 was always
>>>>>> required.
>>>>>=20
>>>>> By "stage-1 only" support, do you mean Xen would use the stage-1 in
>>>>> replacement of the stage-2? Or do you mean the guest will use the
>>>>> stage-1 page-table and there will be no isolation from Xen?
>>>>>=20
>>>>> If the former, then I believe the page tables don't have the exact sa=
me
>>>>> format. Today, the page-tables are shared between the CPU and IOMMU, =
so
>>>>> this would need to be duplicated. For now, I am not sure this is wort=
h
>>>>> to do.
>>>>>=20
>>>>> If the latter, this would require the guest to be directly mapped (i.=
e.
>>>>> IPA =3D=3D PA) but it would also open a big hole. So I would want to
>>>>> understand the exact use case first.
>>>>>=20
>>>>=20
>>>> The latter. In this case, the guest would configure stage-1 while
>>>> stage-2 translation is not used, so there is no additional isolation
>>>> enforced by Xen. This would only be intended for specific usecases wit=
h
>>>> trusted domains. But yes, this opens a significant hole if used with
>>>> untrusted guests. If there is no strong usecase, we could restrict the
>>>> implementation to always require stage-2.
>>>=20
>>> It is still unclear what would be the exact use-case. Is it a system
>>> where the SMMU doesn't support stage-2? Performance reason?
>>>=20
>> This primarily targets systems where the SMMU does not support Stage-2 t=
ranslation.
>> If we decide to keep this code, I will address the associated security c=
onsiderations and document the corresponding AoU in the design. Otherwise, =
we can fall back to supporting only the "nested" translation case.
>=20
> Thanks for the feedback. I think for such setup, I would consider whether=
 we can use the stage-1 in Xen to protect the device. AFAIK, this what Linu=
x will do.
>=20
> I would be interested to hear what the other maintainers think.

Giving access to the smmu to a guest means giving it a solution to access w=
hatever he wants through a DMA engine.
This is not less secure than no SMMU at all but I would definitely think th=
at in such a case SMMU should be reserved for
Xen to use it to protect from accessing other guests memory using DMA.

Now i know that in some setups there are cases where a specific device cann=
ot be used without an SMMU (mostly GPUs
but there might be others). In that case, the device cannot be used easily =
if the kernel cannot use the SMMU to remap the
memory at a convenient place for the device.

We should not disallow such cases completely but we should give strong reco=
mmandations when such a setup is used.

Cheers
Bertrand

>=20
> Cheers,
>=20
> --=20
> Julien Grall




From xen-devel-bounces@lists.xenproject.org Thu Jun 11 07:44:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 07:44:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335151.1597613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXa5T-0002VM-E7; Thu, 11 Jun 2026 07:44:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335151.1597613; Thu, 11 Jun 2026 07:44: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 1wXa5T-0002VF-AR; Thu, 11 Jun 2026 07:44:27 +0000
Received: by outflank-mailman (input) for mailman id 1335151;
 Thu, 11 Jun 2026 07:44:26 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wXa5R-0002V9-W1
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 07:44:26 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXa5R-005Rxw-42
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 09:44:25 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2a6758-2eae-0a2a0a5409dd-0a2a450bdc48-2
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 09:44:25 +0200
Received: from [40.107.209.36]
 (helo=PH8PR06CU001.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2a6751-212f-0a2a450b0019-286bd124bbf9-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 09:44:19 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by PH7PR03MB7438.namprd03.prod.outlook.com (2603:10b6:510:2ef::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.13; Thu, 11 Jun
 2026 07:44:15 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.013; Thu, 11 Jun 2026
 07:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=f2gJ60IrSnUxde7XvbxyvvtLF0Ly5Sbj0QYMoMghvqZ1d5Jd04pQpSyw3R0BxnCcf2glRivwKlzONAa8cFVsJ8WRTQm7tToUYU3+8aZ1mXgUjYsWFtv87l8v9dWpXkJykx36wY0na3wt5LT27YbviqEkexBvCUaMpqDxfQl/rrCqa9KzCB0rqYohamaxHU+CbzDG3eBkWydiZfdmOuvadJuNvYB0KECm3UX2rmjFkh7DjPA0vCfNd9iX8ZxDZbwJhUpPeRjfgboKWFUZBl49+fNfXVyTtabfBielRLBdZH7eZAzCPBnulT8w6PdfXr4LJgKNTty0AkQRrraKXEYJkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iDRDIKj0jmz4g1amR/yxmB6LsLWG3XEhVeJAV5BrM/s=;
 b=UkQyOXSlUm9mik5JCfSO8KEkqlw2j1L+bY6b2Zyv5ejTQh4fD/TLk8TWeuUtXIw0OB6RMaRA6GhNQkFg9nFw9fARc0bS3hUP26MWEFkzprCyYT+ctIO0+mmqshfN+3mI6u1YsqREQZsWKTqWdX3j51Xxx9/eEOwJp/1+5dLV5bAVJEhmYXcK/gVUt/H3159ZbmzMYs2IDN1Jbf3t485iaAvEL+WH9sngQuL4WVwIOvbyzX+aKr7WjopuNb4a6wdYyc2UN22YbqEMCIIDpXCeGrEME+00RmLoRaOzJl4SMUfETxFl1ye1h6d9t8+ubvKFpfvz9asd8Oe5+UWX3fYgCg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iDRDIKj0jmz4g1amR/yxmB6LsLWG3XEhVeJAV5BrM/s=;
 b=CWYnsEVuUdtaFIdDIrE7KM150CZToMtgCGmJfSGGFIFYjcRTgH9N7/Ll4hSMm2FQM2y52WaEmtzlNxVsH4wCUQr+f6l/7/NSvWiBjnOddFZinRCALCG0k1j5xeb+PsNbVNykATq45Z09bh3jIWrsy/eiAWzdjqiNPXce8vPB2GM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 11 Jun 2026 09:44:11 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	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>,
	Kevin Lampis <kevin.lampis@citrix.com>
Subject: Re: [PATCH for-next] xen/kexec: Style fixes
Message-ID: <aipnS6AwvCjBlme3@macbook.local>
References: <20260610154110.2979888-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260610154110.2979888-1-andrew.cooper3@citrix.com>
X-ClientProxiedBy: MR1P264CA0009.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:2e::14) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|PH7PR03MB7438:EE_
X-MS-Office365-Filtering-Correlation-Id: 7e1b4960-d23e-42af-eec2-08dec78d3c52
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|23010399003|6133799003|18002099003|22082099003|3023799007|56012099006|5023799004|11063799006;
X-Microsoft-Antispam-Message-Info:
	+1/8hooPgKTxouzFw9TZ344NTwbXXaKpbOKf4dsvF7DXvyADDEzab7ekFc/SEqWvYzkYgjTZ/p7+3h4O0i6aY1DYwQKCpBZ9Kim9C8AEBJlEeWDvh8kML5XsrCa4Aj1caYk1A6rSK3t+cFF/ztdU3/hjSyk3Q1xLhmCNNJjU9fMSX6g8IEEsMPRXety2VhFCQJ121ALJEhA+gSjpOSQWBe0eZ8iZX38GAhs5r6mcPjJDapELdFp58WK96tGajoxiVmNSY75w9tpM4qpL9CwW4n72nNmVaqe2l9xLf7wyCBU1/CU/HQ+Pe1/kKDmiZpOmwuP7/hawAhyAQZIqPZHaxmbMYzMudKBgZ+ufjlUYIMqzoXH2xZDVXICXmAWt+G6BZ8+nkvxQ6LFJ24OFa8hnyM7ogig61Y6FdZkGNVhJ9H6HKlXFQQgGaDepLjLlwKSVyB7C/QMKBy87p8cp2omA0DWIzTURWKvv3x3y5NiK/j5qF4AT3JFXX4Id5UiKzyj1In19j7/Zpbx4s5O8KJ+pctFHg1/xKH0GgVSB+bXJXA2VHti82/vVomTpHQN7tgPcFX2bpHSxVkVAPLrbrC2ci5mqTqTAhgRJ+vD0QFIFTRHFDcl3fsHV5q4IyZvmzWD9Xm8hsyYesS0itrih9g0LOFTXhKcX8vTIhkH2MMgoeICI208hutLJwWTHcNCPRuux
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(23010399003)(6133799003)(18002099003)(22082099003)(3023799007)(56012099006)(5023799004)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NW8vdWhpR0J5bXJpL3BrcUN4LzdWZlZjWHJiOWRtb1dXT0ZUdEhaMkE4RXc4?=
 =?utf-8?B?d1k2bE5rQU53aUp6NTNNcVNnaGNRNk5XSzRvd1g0dWM0ZjBXcWo1Nnpld00v?=
 =?utf-8?B?RkEzWldOQkZhb1lhdVcrYithd1cvM2FkZ2N2UTFvWmRZb1NZUTBBeUZoWlB2?=
 =?utf-8?B?bU1EZE0wQkVBNW5sMkFYMXg3N0FNK3dJaC94SWJlbjNSaStkY0JLdjVyUGcw?=
 =?utf-8?B?WlZhR1NIY3YzRkhMdk1mOHo2RU9rWWFncFYxVTFpSEM2ZGtjV3Q2cVQ2Mi9i?=
 =?utf-8?B?TmFVR1QvdzVyNit1Y0xaZ0dIRWpxWXo5UzBpSjN0OGhtT1p5ZVdwbEw4c0kx?=
 =?utf-8?B?V25LY09LZyt3bVdZTEVwY0YwNmVxTndtUlIyaTFacm0raTRkcjhVUnJTVzVm?=
 =?utf-8?B?YkZhTjJhRFg2V3MyYWsxbkM5QXI0OWI1SS9nRENHNVVwZ0NOcFRROFF3U3dF?=
 =?utf-8?B?SVJWT2MyWWFCTGJ5OFdXL0JNalNpalZES0hob1pRT0MwRFgrM2gwYVFBMFVI?=
 =?utf-8?B?Y1gxRFYzQnZ1TVo2Tms2alE2M0tvRERaaWdkZG4rYThNT1dZUVpSanlSTDN6?=
 =?utf-8?B?c01VdVhWbkdmc3IvV1RhY29aS0xGYTl0amdRbE5DNG8xZ3RXcGlXdHAyTlZN?=
 =?utf-8?B?VGdEQXZVN01QUUNodTBJN1BtbUQwNzA1VDBhQ0pFMU5zejlxa1ZKMVhmTWhx?=
 =?utf-8?B?V0JVVzkwKzhPdzExQkVTV0hGMmY4d0dLTHFvanlaaG8wQzVoNVFUdkJUMDcw?=
 =?utf-8?B?bzgyVExCcGlFeDRaWW5DWmcwS05UK04yNE8xbko5M3piajNCSVJHbWxibHVW?=
 =?utf-8?B?NXNmOVM1aldwS1pjL2lrQ1VTWjN0SnBLSUNmQVhXcFptT3ZldFJ0dUNhTGxr?=
 =?utf-8?B?N01tOGFLRlduSTRlUCtrN2JDN0hwUE5aM1FLNXdTVzJlT2hpYVJITHY5T1ZE?=
 =?utf-8?B?S0pydStYY3plUUp5MWZ6QTkyZlc2SG1WOXlOVkQ2bUROSmR1cVc4UGU2Z3Bq?=
 =?utf-8?B?MU9IVEhpVlJ0VXNSeFUrY2x1Z3hiUExIUXB0V3NUZldYQU9vcTdraW9zVUx3?=
 =?utf-8?B?QzI1bmM1TXFqczh0MFltL2NlOUJ5cDJlZHR4YzVlYlZ1b2NLV0luWnBlYmtG?=
 =?utf-8?B?elZyZ29sOUZKVDFPYUQ1L3NWb0MrWU5XY2w3bFBqQ21Yb2NhWmVtQkJIV0RQ?=
 =?utf-8?B?SmlmRnlBNVRxUlVCYnl5YlY1a3FRZmdSSkE2ZmprdFVrU1RFQjNyWFV5Tm1i?=
 =?utf-8?B?UzFHT3YwTjlham53UkZwR1lqa3ZIQmorTkZVYlNoQlRVQThIazRLL1I4RkVC?=
 =?utf-8?B?Um95V0F2V1MzZnkwQVNLY2ttTHlBWHh5N25TQUFnOTd4MGJ4aXJCRXNTT3Fr?=
 =?utf-8?B?TlYyZXdnWWZKa2YxSUx2dXVmUnY3ZytXSXBZUUQ4NzIwRjd2SHYzRWRiVmNs?=
 =?utf-8?B?SjZBNllUR1FhU1lhZGpwaDQ3QXQ4ZXg5OW5PTFZRRjJibmxRYWxxSlJ4NWZq?=
 =?utf-8?B?VkxJdFFGNnluaUJEbGhpQVlxb0V1cnZXRkV0MDQxS3A2RjRFeFdybEJqYnhJ?=
 =?utf-8?B?bkwxakhtZCtIUUt5ME9WWS9uQ3BHOVFkb0dWWit6MHNGYUR1Y3FOUDRyU1cv?=
 =?utf-8?B?T3NJNjBhMlNXY2hSclJFUng4R0d3VTBoRVlPVDdkeW5aT2lOVU5mSkY1RVpO?=
 =?utf-8?B?RHRqcDBiNDBSWENYQ21Wb2cxdDI1MWRpMS9XZm9kWWg3RzdyV3dNZEJsa0RI?=
 =?utf-8?B?Rjh6cXptaW14MG1uOFpDQWlKMFF5T2pDeXRxMWZyTk0rMWRWVWlpUDMwaDJ2?=
 =?utf-8?B?d1BFQlltMnh2ZFNCOUhGWWxnWWVtUkZpMGQrZnRrZWw0SGhhRlF1Y1ZNQkkz?=
 =?utf-8?B?cFNTTzZBU2UvM2FkVWZQdGFHRnp1V1g2RE5hbXpuTXNvVk9uWW9pNi9kbEc0?=
 =?utf-8?B?eTEvVHhCSnJwdzBTcWtZZkVZMDZZYnJlV0Y3cFpGa2NMSUxQVVg4ZEdsNGQ0?=
 =?utf-8?B?S21ZVmowMDJKd05uTkVDUmgyanoxTTVyVWg3QlVIUjljQUdBSnl0eEpDTkdV?=
 =?utf-8?B?bHBlWTJlbHFLZDE4NnpWZmpTaU9hU0F1V1BtT1J6RHhMdGUvTWRUaTYwd0or?=
 =?utf-8?B?V1RibjZtZFFTZlJnTkdZbi9FRWtpdWVZL1Rja1ZGQjBUcGt0S0dzZWpPRnR2?=
 =?utf-8?B?dUxTVFpJbzVRamNDTTBUQmY5WDBWUUJQODZRRitmVnFad2NQYklCUnE4SnFy?=
 =?utf-8?B?YlZwcGYzTVg1SFVLcjBnYU8wNTlqQmN4TUxYNVJQbmF4Z2s1VTI4SnVNRHU0?=
 =?utf-8?B?NDlsSkt2VG5WNjJvQzVVOWU0emk5clJJUG9SMTFaeDRFYy9NZ200dz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7e1b4960-d23e-42af-eec2-08dec78d3c52
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jun 2026 07:44:15.2186
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sOQpzKrlnj3vJ1VbzBLxnQBUlNbe0z7HT4vHECZjkGMA3TfamESFSaH9+1nmvG7GkOhgTc9j1khkfGcR33k18w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7438
X-purgate-ID: tlsNG-42698a/1781163859-1815DF3B-95D38174/0/0
X-purgate-type: clean
X-purgate-size: 9588

On Wed, Jun 10, 2026 at 04:41:10PM +0100, Andrew Cooper wrote:
> Adjust kexec and kimage to more closely adhere to Xen style.
> 
> Sort the includes, dropping duplicates (kexec.h) and unused (ctype.h and
> kernel.h).
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

I've made some further suggestions below.

> ---
> 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: Kevin Lampis <kevin.lampis@citrix.com>
> 
> Fix these before they get copied around in the EFI changes.
> ---
>  xen/common/kexec.c  | 94 +++++++++++++++++++++++++--------------------
>  xen/common/kimage.c | 23 ++++++-----
>  2 files changed, 64 insertions(+), 53 deletions(-)
> 
> diff --git a/xen/common/kexec.c b/xen/common/kexec.c
> index 65776a95fd70..9ff22e43991c 100644
> --- a/xen/common/kexec.c
> +++ b/xen/common/kexec.c
> @@ -6,31 +6,33 @@
>   * - Magnus Damm <magnus@valinux.co.jp>
>   */
>  
> -#include <xen/init.h>
> -#include <xen/lib.h>
>  #include <xen/acpi.h>
> -#include <xen/ctype.h>
> +#include <xen/console.h>
> +#include <xen/cpu.h>
> +#include <xen/cpumask.h>
>  #include <xen/elfcore.h>
>  #include <xen/errno.h>
>  #include <xen/guest_access.h>
> -#include <xen/param.h>
> -#include <xen/watchdog.h>
> -#include <xen/sched.h>
> -#include <xen/types.h>
>  #include <xen/hypercall.h>
> +#include <xen/init.h>
>  #include <xen/kexec.h>
>  #include <xen/keyhandler.h>
> -#include <public/kexec.h>
> -#include <xen/cpumask.h>
> -#include <asm/atomic.h>
> +#include <xen/kimage.h>
> +#include <xen/lib.h>
> +#include <xen/param.h>
> +#include <xen/sched.h>
>  #include <xen/spinlock.h>
> +#include <xen/types.h>
>  #include <xen/version.h>
> -#include <xen/console.h>
> -#include <xen/kexec.h>
> -#include <xen/kimage.h>
> -#include <public/elfnote.h>
> +#include <xen/watchdog.h>
> +
> +#include <asm/atomic.h>
> +
>  #include <xsm/xsm.h>
> -#include <xen/cpu.h>
> +
> +#include <public/elfnote.h>
> +#include <public/kexec.h>
> +
>  #ifdef CONFIG_COMPAT
>  #include <compat/kexec.h>
>  #endif
> @@ -162,6 +164,7 @@ static int __init cf_check parse_crashkernel(const char *str)
>  
>              ++idx;
>          } while ( *str == ',' );
> +
>          if ( idx < ARRAY_SIZE(ranges) )
>              ranges[idx].size = 0;
>      }
> @@ -317,7 +320,7 @@ void kexec_crash_save_cpu(void)
>      ELF_Prstatus *prstatus;
>      crash_xen_core_t *xencore;
>  
> -    BUG_ON ( ! crash_notes );
> +    BUG_ON(!crash_notes);
>  
>      if ( cpumask_test_and_set_cpu(cpu, &crash_saved_cpus) )
>          return;
> @@ -418,6 +421,7 @@ static void cf_check do_crashdump_trigger(unsigned char key)
>  static void setup_note(Elf_Note *n, const char *name, int type, int descsz)
>  {
>      int l = strlen(name) + 1;
> +
>      strlcpy(ELFNOTE_NAME(n), name, l);
>      n->namesz = l;
>      n->descsz = descsz;
> @@ -427,7 +431,7 @@ static void setup_note(Elf_Note *n, const char *name, int type, int descsz)
>  static size_t sizeof_note(const char *name, int descsz)
>  {
>      return (sizeof(Elf_Note) +
> -            ELFNOTE_ALIGN(strlen(name)+1) +
> +            ELFNOTE_ALIGN(strlen(name) + 1) +
>              ELFNOTE_ALIGN(descsz));
>  }
>  
> @@ -439,7 +443,7 @@ static size_t sizeof_cpu_notes(const unsigned long cpu)
>          + sizeof_note("Xen", sizeof(crash_xen_core_t));
>  
>      /* CPU0 also presents the crash_xen_info note. */
> -    if ( ! cpu )
> +    if ( !cpu )
>          bytes = bytes +
>              sizeof_note("Xen", sizeof(crash_xen_info_t));
>  
> @@ -450,24 +454,27 @@ static size_t sizeof_cpu_notes(const unsigned long cpu)
>   * crash heap if the user has requested that crash notes be allocated
>   * in lower memory.  There is currently no case where the crash notes
>   * should be free()'d. */
> -static void * alloc_from_crash_heap(const size_t bytes)
> +static void *alloc_from_crash_heap(const size_t bytes)
>  {
> -    void * ret;
> +    void *ret;
> +
>      if ( crash_heap_current + bytes > crash_heap_end )
>          return NULL;
> -    ret = (void*)crash_heap_current;
> +
> +    ret = crash_heap_current;
>      crash_heap_current += bytes;
> +
>      return ret;
>  }
>  
>  /* Allocate a crash note buffer for a newly onlined cpu. */
>  static int kexec_init_cpu_notes(const unsigned long cpu)
>  {
> -    Elf_Note * note = NULL;
> +    Elf_Note *note = NULL;
>      int ret = 0;
>      int nr_bytes = 0;
>  
> -    BUG_ON( cpu >= nr_cpu_ids || ! crash_notes );
> +    BUG_ON(cpu >= nr_cpu_ids || !crash_notes);
>  
>      /* If already allocated, nothing to do. */
>      if ( crash_notes[cpu].start )
> @@ -505,7 +512,7 @@ static int kexec_init_cpu_notes(const unsigned long cpu)
>  
>          /* If the allocation failed, and another CPU did not beat us, give
>           * up with ENOMEM. */
> -        if ( ! note )
> +        if ( !note )
>              ret = -ENOMEM;
>          /* else all is good so lets set up the notes. */
>          else
> @@ -518,7 +525,7 @@ static int kexec_init_cpu_notes(const unsigned long cpu)
>              setup_note(note, "Xen", XEN_ELFNOTE_CRASH_REGS,
>                         sizeof(crash_xen_core_t));
>  
> -            if ( ! cpu )
> +            if ( !cpu )
>              {
>                  /* Set up Xen Crash Info note. */
>                  xen_crash_note = note = ELFNOTE_NEXT(note);
> @@ -548,8 +555,6 @@ static int cf_check cpu_callback(
>           * fail the CPU_UP_PREPARE */
>          kexec_init_cpu_notes(cpu);
>          break;
> -    default:
> -        break;
>      }

A newline here might be nice also.

>      return NOTIFY_DONE;
>  }
> @@ -592,7 +597,7 @@ static int __init cf_check kexec_init(void)
>              get_order_from_bytes(crash_heap_size),
>              MEMF_bits(crashinfo_maxaddr_bits) );
>  
> -        if ( ! crash_heap_current )
> +        if ( !crash_heap_current )
>              return -ENOMEM;
>  
>          memset(crash_heap_current, 0, crash_heap_size);
> @@ -604,7 +609,7 @@ static int __init cf_check kexec_init(void)
>         Only the individual CPU crash notes themselves must be allocated
>         in lower memory if requested. */
>      crash_notes = xzalloc_array(crash_note_range_t, nr_cpu_ids);
> -    if ( ! crash_notes )
> +    if ( !crash_notes )
>          return -ENOMEM;
>  
>      register_keyhandler('C', do_crashdump_trigger, "trigger a crashdump", 0);
> @@ -620,7 +625,8 @@ presmp_initcall(kexec_init);
>  
>  static int kexec_get_reserve(xen_kexec_range_t *range)
>  {
> -    if ( kexec_crash_area.size > 0 && kexec_crash_area.start > 0) {
> +    if ( kexec_crash_area.size > 0 && kexec_crash_area.start > 0 )
> +    {
>          range->start = kexec_crash_area.start;
>          range->size = kexec_crash_area.size;
>      }
> @@ -636,7 +642,7 @@ static int kexec_get_cpu(xen_kexec_range_t *range)
>      if ( nr < 0 || nr >= nr_cpu_ids )
>          return -ERANGE;
>  
> -    if ( ! crash_notes )
> +    if ( !crash_notes )
>          return -EINVAL;
>  
>      /* Try once again to allocate room for the crash notes.  It is just possible
> @@ -726,7 +732,7 @@ static int kexec_get_range_compat(XEN_GUEST_HANDLE_PARAM(void) uarg)
>      {
>          XLAT_kexec_range(&compat_range, &range);
>          if ( unlikely(__copy_to_guest(uarg, &compat_range, 1)) )
> -             ret = -EFAULT;
> +            ret = -EFAULT;
>      }
>  
>      return ret;
> @@ -760,7 +766,7 @@ void vmcoreinfo_append_str(const char *fmt, ...)
>      int r;
>      size_t note_size = sizeof(Elf_Note) + ELFNOTE_ALIGN(strlen(VMCOREINFO_NOTE_NAME) + 1);
>  
> -    if (vmcoreinfo_size + note_size + sizeof(buf) > VMCOREINFO_BYTES)
> +    if ( vmcoreinfo_size + note_size + sizeof(buf) > VMCOREINFO_BYTES )
>          return;
>  
>      va_start(args, fmt);
> @@ -776,7 +782,7 @@ static void crash_save_vmcoreinfo(void)
>  {
>      size_t data_size;
>  
> -    if (vmcoreinfo_size > 0)    /* already saved */
> +    if ( vmcoreinfo_size > 0 )    /* already saved */

I would maybe move the comment so it's in its own line ahead of the
return statement.

>          return;
>  
>      data_size = VMCOREINFO_BYTES - (sizeof(Elf_Note) + ELFNOTE_ALIGN(strlen(VMCOREINFO_NOTE_NAME) + 1));
> @@ -835,7 +841,7 @@ static int kexec_exec(XEN_GUEST_HANDLE_PARAM(void) uarg)
>      if ( !test_bit(base + pos, &kexec_flags) )
>          return -ENOENT;
>  
> -    switch (exec.type)
> +    switch ( exec.type )
>      {
>      case KEXEC_TYPE_DEFAULT:
>          image = kexec_image[base + pos];

Maybe also add a newline after the break in the switch here?

> @@ -917,8 +923,8 @@ static int kexec_segments_add_segment(unsigned int *nr_segments,
>      unsigned int n = *nr_segments;
>  
>      /* Need a new segment? */
> -    if ( n == 0
> -         || segments[n-1].dest_maddr + segments[n-1].dest_size != maddr )
> +    if ( n == 0 ||

For consistency with the rest of the code in the file, since you are
also modifying the line possibly use !n?

> +         segments[n-1].dest_maddr + segments[n-1].dest_size != maddr )

Spaces between operator and operands?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 08:09:13 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 08:09:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335176.1597621 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXaTH-00063w-OT; Thu, 11 Jun 2026 08:09:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335176.1597621; Thu, 11 Jun 2026 08: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 1wXaTH-00063p-LM; Thu, 11 Jun 2026 08:09:03 +0000
Received: by outflank-mailman (input) for mailman id 1335176;
 Thu, 11 Jun 2026 08:09:02 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wXaTG-00063j-MN
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 08:09:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXaTF-00A091-OA
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 10:09:01 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2a6d1d-e002-0a2a0a5209dd-0a2a4507d518-0
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 10:09:01 +0200
Received: from [52.101.48.40]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2a6d1b-229c-0a2a45070019-3465302846ab-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 10:09:01 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by MWHPR03MB989341.namprd03.prod.outlook.com (2603:10b6:303:2a8::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.13; Thu, 11 Jun
 2026 08:08:57 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.013; Thu, 11 Jun 2026
 08:08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xu73hOPIeRcV3Es5GvZ8mlzII+RsZhvglOUf8m2eGSo93gqoLZgK6fQkcaqMNKtmN1iwmpEE8RzvVAUL2armtuTfPzfLqJ1YDcqom78WR/KRF0MEiLlN68uMtjZDDwudqwiJapz9Wr2tw0/d1Ae6//kHUYgFWeYnUQxLZuVCgyn5Exj2LUg9dwYTO5w1iEXvCbxzqXAYQEZ0W7qOmTKDu7C2Cs9Iluxe+3/OeGwaJUpqawxF2t+JwZG2a+nElI30Mj9Wp2utipd2KG3IuBX9lfHxJpx6fpRTMiosCJ7G1TsBw+UgggGlUdnNvJSb0dRzbUyo5DLWwVFcH+8bNuEhGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uhM9SDJwUwcFVUro1wVHTOQpVWwH6UWu6BSkodrAWSI=;
 b=gk2anq1OX+UVTqH+yzscaOtqygxD3afdVAleOaHF/afKxGpmWhH9VB7CUIcff/qCIInyU4uw0rsTrspRDNyOJl7aeNorki0kOGK+V0LPlt9qwKn8l/TQVOPOFxiv/1Ey/2q5SxKc92vrtrHALncBVPaSp+Aya3WPUmUkzIczlkIvmcCIYsRsmKYXSXryspi2UfPobsXTVIy95RPRslRmo3WUKBRqBFUKPkfK/4VF61FzScCiMAur6HzH6GgVBRRFIcDXCYplxiTrTlBYd+oKt4t2T1kZ0kId0Wj8uamUxtMyAG143ruqAReDCWtQMCUXjlZqQrDMKbS1F3SCvj4ywg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uhM9SDJwUwcFVUro1wVHTOQpVWwH6UWu6BSkodrAWSI=;
 b=j7W40Gnqko2XHuyuHn0XzPbOpxpABs+4yRCsNL2BFnLHbjbCKbVG8OYCL8SKdtsBZTil9GEQlZX221ZPZLgkQ4GNllz4OsTGqmspq35ZFWjGbQIYldaRYrJZkztGu5ZG2l5k3n3s0Jx7Y2+oLgRVappKyJcPbIWOAoFqZZeVMAE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Jason Andryuk <jason.andryuk@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: [PATCH for-4.22] xen/x86: Change stub page allocation/free
Date: Thu, 11 Jun 2026 09:53:42 +0200
Message-ID: <20260611075342.58428-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: BN9PR03CA0512.namprd03.prod.outlook.com
 (2603:10b6:408:131::7) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|MWHPR03MB989341:EE_
X-MS-Office365-Filtering-Correlation-Id: b09eab00-9e20-407b-c8de-08dec790af8d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|23010399003|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	X4GbKWVq0u1347bDBxdOkPWFBeyrVVfHjhAg1D6AphD5YMgNgZKrjSX9dXX9nls0Xml5nUpn+Qp6M5m+8UJ36mlizPkGg+W5gDyk8gwFUm3s/sb0pWibCPjksJofVjphBlQVSqDkr/rTIBZc8/0Mnh9/IrGq7GSIsEm1Qqt2RCqMimQf4jxpsCU3h+jQ5wzsrsaXnLhAEx7kXVvIbbXUl4kI4/lVC2ysWe+xxGvuG3VXAt6eEOHDvU2lEhRIOrUZlwHW+Gsi+Z22qIoDVnv6/lQyBHzNnw3y7tv2l/C4HJWQppEwfmW5GpKttTfjumknbWyQq1ATnLz6XDluMLL458Q63gfEn7AJBZgta9RVGp6fDRC4E99XjLp9yB1iGaRQccW/6zJttFbwA7B1ZJkTH2yzTkOzyAVqEgfhK8GPdVc2JbFI6IfGl/3KhxGlEBwNWTYIxftaRteayPhnt6UTvVBKL/P7WsHHPq05mwg/NRL9NaLG8PVCDYIAm6b4W+0xokY312pO9/7H3NPrIeGEUNUNB92fTEVUdBJm4Zzau3po/R3Z4GdIMKZG5V2ta+CEAx+LOiy9ysbQVvbNUvog+Pw+7YmNfeX8pwFa5R8Zvfrzzc6CdNeS+mJx0WQaFG3/wNJ+WmtFwNrxShu3Lv57zyre03ja5YXYe7GE0FVtn3xCS3rVbZiN7rnlqfOzleOj
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(23010399003)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L3BSVmdieHJEU01wYnp6RDA5dnBhblN4SEZVZDFQNlVFSHpPSHNtc2FSTGo4?=
 =?utf-8?B?ZlZTM3hXOUJ5RTY0UWVRTHVJSFhEd3Z2TXNOZERGRkRuZy8wbjJyL3dDa3Jj?=
 =?utf-8?B?andBd3NueGlzVFJPdm1MYzBjaUxNODBKZ2hjWlZLOExpRnBycVJQWEZWWjdy?=
 =?utf-8?B?eUx5ck5BZnE2SEw1RmEyL2crK2Z3MGlWVHp4bjduQURGVExUaXdrTjZ3VGd0?=
 =?utf-8?B?a0s5OERwSUlyVm5QUHE5bkNHL2FyTFpDQWFXdG5wMmFoYm02WHBtWlNodmov?=
 =?utf-8?B?Q0k2SUFidTZmUVNWb1dtRFNCVU9HT0tFdHNTN0NvdTVZeG1IazdTalRRY2Rs?=
 =?utf-8?B?ZU10RDVieXdoSlI4UlZVNkNRcUhWVHFGeDgxakszYXkyTEJKSDhGc1VSZmRD?=
 =?utf-8?B?YjlGL2RRZlpROWlJbnZhZHM4ZDZ6V2RyRGtFRU0vUkRCTlpvM3lmeERxZG5H?=
 =?utf-8?B?dkx6NlVvM1hrQWRTcjRaNTE5N3UwUFg2K3ByMUdocHQ2LzNMTko5ODF3Zk1w?=
 =?utf-8?B?ODBrVG9zVDZKVkRPOGJvSGlueFpaREdncVl4ckpxcWdUbmFsU0tFdWhWUi9s?=
 =?utf-8?B?eUxDRDd5c0dtSUtUc0JqSzB1QU1OdEQ3MkVlM1BCLy9vaU9GL0JMTUJ6Q3lv?=
 =?utf-8?B?Vk83UWV0emlIS2wzWHZtSkpJdUs3SkZEZzY2OUZLaUVZNlRNUzM2dWcvTUYv?=
 =?utf-8?B?ekN0RTh6Sk04VWRGaWs2dVNMOHFySHBJbDZNTlR0WFlBK3E0a2U0UGczTTB1?=
 =?utf-8?B?Q0NJcTF5elBteGtBVlZXdGJhQ041K1htZ3NuQkh2Q21vZm1WdlhTVGk4UDU2?=
 =?utf-8?B?WGRhdUVacTJITFRTSkRxekkwSlFxNjY3NStjcFVxTE11SUtLeW40UzNvenlw?=
 =?utf-8?B?bGNPQVAzanloVjFhV1FmYXFVZllMeXo2cjdqbWI4SklLVkUyeXk0NE5BREVG?=
 =?utf-8?B?eXNVOG1aMEcwZ0h4WmEvakNyV3UraERpeDIwNndkc1doaWNlRVE0RDU4TU0v?=
 =?utf-8?B?aEJFaTd3SUhoL2QxM0ZFbmpvNUx4YlF6ckwrUnBoMUErOS9YdzV3cUk1enV2?=
 =?utf-8?B?NEZZVUxONU9Na0RyUHJpZHhYRGJyTFFBNFE0OWtjUmxQWTYvZEdORU42MDlF?=
 =?utf-8?B?aTNCYktXcnI5MThUS0pzZG0rckhDOTUyOEJ2eEZJeTJHTmN2eHpzRGxGb1RV?=
 =?utf-8?B?b252YWphRlFlejJTQ0JaNm42bEk5UFdmR3ZRZmE1Ri80UTY0cytTRUdSVTBX?=
 =?utf-8?B?VnR5QzcrRzc4a2kydjF6QmladDhIajVoazFFSi9zWlBUYU5LcEJ1Rm16bUh6?=
 =?utf-8?B?aDY0V2ZhbkE4MjRvSDRPYXhmV01qdWpPem9XWW1XZGtFNC9WeUcxM2pTUGQ0?=
 =?utf-8?B?YnJCMENWQTYvajJDZWNTU01iVzgzYTVhWWQzci96eVBGWVpIOVYxSjBxb0Y4?=
 =?utf-8?B?b3FQbjhQN3dub29hK2J4aXhGUmJ5emNwWUZsUzVMUTk3VmJLTlVadEhjaXZF?=
 =?utf-8?B?N1VVQlEzeUVzVmtoRWlVUmlIbzhwdEsvMUgvKzJKOHo2dk4zMVpwaWdVYS9p?=
 =?utf-8?B?eE50ajRZR2NHU2FhSFp4RncrVTdadEsyM2JlK3hodC96dTdmblBBVjhOQ1JG?=
 =?utf-8?B?RFhIaHkzVUhPUVM1Y0tDYkxva29Ob2VxaVBZOGRVSS9NMElrK2EzeGNnQWkz?=
 =?utf-8?B?YnR1SkdxRm1vN3FyUURUd242d3ptWHd2NU42amhQaDc1dHdDWTY4MThSbUl1?=
 =?utf-8?B?SUpWclpjL3dYL3dJV0VqNFZBaVltWEJndTZQL2cvME1kU2tEbnZQdSt2cE1R?=
 =?utf-8?B?dDNzM1VSajY4SzhVcDFpc0ZCbHJsREpTMkxBcWEyVVpiTC9lU1phRkhFTk5p?=
 =?utf-8?B?c01IUkxCRlVTL1dnRUd6dDQyOW1GQU0rVEFuM3IwOHo2VU5MNXp2OHFBYURJ?=
 =?utf-8?B?M0tXQzRDT0xjMzhINHZ6L1Z5b2NqejVSOHhZNmJHeVhRZ1dWOGpMZjVLTGxH?=
 =?utf-8?B?L3g4TnlIWnVqT0k3Z0grU3krczI2cmJXRy9qZzd3VEkrdHFTc3kvcDVTSGUv?=
 =?utf-8?B?cU5hSEJsbXF4VXJzVks2WXpob3g0enNueVM3OTlRMTU4UzJzeUxsR0tVOXpk?=
 =?utf-8?B?cHVDTGgrdW9DeHhzNGNybHJUZGVSQUptKzgxQjVKMDFsallOaEVWT0Zid0Nu?=
 =?utf-8?B?Y2dWc2tjYS9OdWFBcHZJU01HRHpTeGMzbzdibVRrdXZnNHdoN0hjeFkxOWFL?=
 =?utf-8?B?c2ZwaXdUeUtRSys3OUJ5WnE0bEgxTkVldkNuOGJyb3ZnaUhsY25DVmRiTDYy?=
 =?utf-8?B?ZjRpNEUydnJQTlN6cVFVMXNvNDlSZWliSlZCcFNOeTBMcWlmaFpQdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b09eab00-9e20-407b-c8de-08dec790af8d
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jun 2026 08:08:56.9495
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 00+GmuMgiZ9re/JuQaBWmDC17yU7aizD8lnRctXHWHLxb8kGZQqdfdm61+baamzxZs13sTmqjM74zfmojJn9LQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR03MB989341
X-purgate-ID: tlsNG-ef75cf/1781165341-23374C48-8D0306E1/0/0
X-purgate-type: clean
X-purgate-size: 8111

From: Jason Andryuk <jason.andryuk@amd.com>

Today the inline tracking of the stub page is problematic.  0xcc is used to
indicate unused, but it is also a "clear value."  A !CONFIG_PV build with
smt=0 will bring up CPU0, bring up CPU1, bring down CPU1, and free the
in-use stub page.  CPU0 or subsequent onlined CPUs can write to the re-used
page.

The new approach uses a global, CPU-indexed dynamically allocated array of
stub addresses.  However, to handle NUMA aware allocations, we cannot
allocate all the memory in advance because of the NUMA dependency.  Take
advantage of the fact that Xen will attempt to contiguously pack CPUs on
the same NUMA node (see normalise_cpu_order()), and on CPU bringup use the
same stubs page the previous CPU did if suitable.  Note the code would
still function properly even if CPUs from NUMA nodes are not contiguously
packed, it just consumes more memory.

stub pages are no longer freed.  They remain referenced in the global
CPU-indexed array and are re-used if the CPU is re-onlined.

stubs and node_stubs don't have an explicit lock.  During boot they are
accessed single threaded.  During runtime, &cpu_add_remove_lock serializes
access.

Fixes: 7a66ac8d1633 ("x86: move syscall trampolines off the stack")
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
There are other even more simple options here: for example Andrew proposed
to pack stubs contiguously in both the physical and the linear address
spaces, at the cost of possibly loosing the NUMA memory affinity between
the allocated page and the CPU using it.  We have decided to go for a more
conservative approach here, that keeps the same properties as the current
logic regarding NUMA memory affinity of the stub region.
---
 xen/arch/x86/include/asm/stubs.h |  2 +-
 xen/arch/x86/setup.c             |  4 +-
 xen/arch/x86/smpboot.c           | 91 +++++++++++++++++---------------
 3 files changed, 49 insertions(+), 48 deletions(-)

diff --git a/xen/arch/x86/include/asm/stubs.h b/xen/arch/x86/include/asm/stubs.h
index a520928e9a50..7d8d302e0623 100644
--- a/xen/arch/x86/include/asm/stubs.h
+++ b/xen/arch/x86/include/asm/stubs.h
@@ -32,6 +32,6 @@ struct stubs {
 };
 
 DECLARE_PER_CPU(struct stubs, stubs);
-unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn);
+void init_bsp_stub(void);
 
 #endif /* X86_ASM_STUBS_H */
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 4192edf635b6..cddf8806c877 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -2089,9 +2089,7 @@ void asmlinkage __init noreturn __start_xen(void)
 
     init_idle_domain();
 
-    this_cpu(stubs.addr) = alloc_stub_page(smp_processor_id(),
-                                           &this_cpu(stubs).mfn);
-    BUG_ON(!this_cpu(stubs.addr));
+    init_bsp_stub();
 
     bsp_traps_reinit(); /* Needs stubs allocated, must be before presmp_initcalls. */
 
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index d8fd71ffab37..3282392317f4 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -20,6 +20,7 @@
 #include <xen/serial.h>
 #include <xen/softirq.h>
 #include <xen/tasklet.h>
+#include <xen/xvmalloc.h>
 
 #include <asm/apic.h>
 #include <asm/cpuidle.h>
@@ -641,41 +642,61 @@ static int do_boot_cpu(int apicid, int cpu)
     return rc;
 }
 
-#define STUB_BUF_CPU_OFFS(cpu) (((cpu) & (STUBS_PER_PAGE - 1)) * STUB_BUF_SIZE)
+/* Dynamically allocated, indexed by CPU.  Store physical address of stubs. */
+static paddr_t *__ro_after_init stubs;
 
-unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn)
+static bool assign_stub_page(unsigned int cpu)
 {
     unsigned long stub_va;
-    struct page_info *pg;
+    paddr_t addr = stubs[cpu];
 
-    BUILD_BUG_ON(STUBS_PER_PAGE & (STUBS_PER_PAGE - 1));
-
-    if ( *mfn )
-        pg = mfn_to_page(_mfn(*mfn));
-    else
+    if ( addr == INVALID_PADDR )
     {
-        nodeid_t node = cpu_to_node(cpu);
-        unsigned int memflags = node != NUMA_NO_NODE ? MEMF_node(node) : 0;
+        nodeid_t nid = cpu_to_node(cpu);
 
-        pg = alloc_domheap_page(NULL, memflags);
-        if ( !pg )
-            return 0;
+        /*
+         * Attempt to use the same page as the previous CPU if possible,
+         * otherwise allocate a new one.
+         */
+        if ( cpu && nid == cpu_to_node(cpu - 1) &&
+             PAGE_OFFSET(stubs[cpu - 1] + STUB_BUF_SIZE) )
+            addr = stubs[cpu - 1] + STUB_BUF_SIZE;
+        else
+        {
+            struct page_info *pg = alloc_domheap_page(NULL, MEMF_node(nid));
 
-        unmap_domain_page(memset(__map_domain_page(pg), 0xcc, PAGE_SIZE));
+            if ( !pg )
+                return false;
+            addr = page_to_maddr(pg);
+        }
+        stubs[cpu] = addr;
     }
 
     stub_va = XEN_VIRT_END - FIXADDR_X_SIZE - (cpu + 1) * PAGE_SIZE;
-    if ( map_pages_to_xen(stub_va, page_to_mfn(pg), 1,
+    if ( map_pages_to_xen(stub_va, maddr_to_mfn(addr), 1,
                           PAGE_HYPERVISOR_RX | MAP_SMALL_PAGES) )
-    {
-        if ( !*mfn )
-            free_domheap_page(pg);
-        stub_va = 0;
-    }
-    else if ( !*mfn )
-        *mfn = mfn_x(page_to_mfn(pg));
+        return false;
 
-    return stub_va;
+    per_cpu(stubs.mfn, cpu) = PFN_DOWN(addr);
+    per_cpu(stubs.addr, cpu) = stub_va + PAGE_OFFSET(addr);
+    return true;
+}
+
+void __init init_bsp_stub(void)
+{
+    const unsigned int num_cpus = num_present_cpus();
+    unsigned int i;
+
+    ASSERT(!stubs);
+    stubs = xvmalloc_array(typeof(*stubs), num_cpus);
+    if ( !stubs )
+        panic("Unable to allocate stub array");
+
+    for ( i = 0; i < num_cpus; i++ )
+        stubs[i] = INVALID_PADDR;
+
+    if ( !assign_stub_page(0) )
+        panic("Unable to initialize BSP stub region");
 }
 
 void cpu_exit_clear(unsigned int cpu)
@@ -990,19 +1011,12 @@ static void cpu_smpboot_free(unsigned int cpu, bool remove)
     {
         mfn_t mfn = _mfn(per_cpu(stubs.mfn, cpu));
         unsigned char *stub_page = map_domain_page(mfn);
-        unsigned int i;
 
-        memset(stub_page + STUB_BUF_CPU_OFFS(cpu), 0xcc, STUB_BUF_SIZE);
-        for ( i = 0; i < STUBS_PER_PAGE; ++i )
-            if ( stub_page[i * STUB_BUF_SIZE] != 0xcc )
-                break;
+        memset(stub_page + PAGE_OFFSET(stubs[cpu]), 0xcc, STUB_BUF_SIZE);
         unmap_domain_page(stub_page);
         destroy_xen_mappings(per_cpu(stubs.addr, cpu) & PAGE_MASK,
                              (per_cpu(stubs.addr, cpu) | ~PAGE_MASK) + 1);
         per_cpu(stubs.addr, cpu) = 0;
-        per_cpu(stubs.mfn, cpu) = 0;
-        if ( i == STUBS_PER_PAGE )
-            free_domheap_page(mfn_to_page(mfn));
     }
 
     if ( IS_ENABLED(CONFIG_PV32) )
@@ -1041,10 +1055,9 @@ void *cpu_alloc_stack(unsigned int cpu)
 static int cpu_smpboot_alloc(unsigned int cpu)
 {
     struct cpu_info *info;
-    unsigned int i, memflags = 0;
+    unsigned int memflags = 0;
     nodeid_t node = cpu_to_node(cpu);
     seg_desc_t *gdt;
-    unsigned long stub_page;
     int rc = -ENOMEM;
 
     if ( node != NUMA_NO_NODE )
@@ -1092,18 +1105,8 @@ static int cpu_smpboot_alloc(unsigned int 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 )
-        if ( cpu_online(i) && cpu_to_node(i) == node )
-        {
-            per_cpu(stubs.mfn, cpu) = per_cpu(stubs.mfn, i);
-            break;
-        }
-    BUG_ON(i == cpu);
-    stub_page = alloc_stub_page(cpu, &per_cpu(stubs.mfn, cpu));
-    if ( !stub_page )
+    if ( !assign_stub_page(cpu) )
         goto out;
-    per_cpu(stubs.addr, cpu) = stub_page + STUB_BUF_CPU_OFFS(cpu);
 
     rc = setup_cpu_root_pgt(cpu);
     if ( rc )
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 11 10:44:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 10:44:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335322.1597646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXctk-0000hq-Od; Thu, 11 Jun 2026 10:44:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335322.1597646; Thu, 11 Jun 2026 10:44: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 1wXctk-0000hj-Ln; Thu, 11 Jun 2026 10:44:32 +0000
Received: by outflank-mailman (input) for mailman id 1335322;
 Thu, 11 Jun 2026 10:44:30 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <sumit.saxena@broadcom.com>) id 1wXcti-0000hd-Fr
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 10:44:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXcth-00CNUj-J4
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 12:44:29 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <sumit.saxena@broadcom.com>)
 id 6a2a9184-e002-0a2a0a5209dd-0a2a45068fe2-22
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 12:44:29 +0200
Received: from [209.85.128.228] (helo=mail-yw1-f228.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <sumit.saxena@broadcom.com>)
 id 6a2a918b-7371-0a2a45060019-d15580e4b186-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 12:44:28 +0200
Received: by mail-yw1-f228.google.com with SMTP id
 00721157ae682-7e2fd65f968so74225887b3.3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 03:44:28 -0700 (PDT)
Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com
 (address-144-49-247-121.dlp.protect.broadcom.com. [144.49.247.121])
 by smtp-relay.gmail.com with ESMTPS id
 00721157ae682-7f6901adbfbsm544287b3.0.2026.06.11.03.44.26
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 11 Jun 2026 03:44:27 -0700 (PDT)
Received: by mail-lf1-f69.google.com with SMTP id
 2adb3069b0e04-5aa5b598829so5234627e87.0
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 03:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=broadcom.com header.i="@broadcom.com" header.h="Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781174667; x=1781779467;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature:x-gm-gg:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=DfJ0nGWquwiM7bDgPtenwuuQ8uhF1U2CzBQIIhROw1g=;
        b=iCfyfAs8+CSQxEMU6YcT5SMCEzwWi3lYab9RNZTI+MBJHVjl0tFUqW+mPv2+M5h59h
         eJFX6N4MEPW50A+5Tr6coUSn/eblDAevC1JSTreSUoL5qi/1X33CPKZq6Y8NlhpSCYxr
         mUh86cfDp7snudoArFVD3hbdom6h4YcxD22Mk8ANCU0KShWu3LeD1vELkj+nPBfHt9PH
         EV9D2VYbqiqhl8k7DW/DjBNQ7WuRteWO8yKb/eSRPQxbl4qEyWMPCOMdRu/Kd4SOYL2I
         k91y0Sn3uXXcYrl3YHG42Uapm73HN8sv7+lPDm2p/EpScTP/Y98hna3rCoAsIGOLxaXB
         CfhA==
X-Forwarded-Encrypted: i=1; AFNElJ/kg/BHRvJkqEUHLx7cH9+xjgdnJVuLLgiBAGIISzjsfXPJNA9vG2g2zjcYD5kYR+mkT+SjLeW14eM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YykwFEELYkyVYh2tBgYtTtkFHOjfISmzEiWaRGs35r80I8q4fUl
	7scg5b+8Qo+J8Wz+L0LsgTmn+IVIGBwAl4GG8a3LL1Xyvn+P0Pc1jhugDKH3ZjIJ6vmFlWLD0Ht
	O+2Uvd1xND8Ya/EcLsUaRv+pYlD793D5+rSDk7XYRNZ/52FJKvYy+Bm9j0qC+9IGyM8nazvflus
	xn+b4fSctsB9xE6PjxZD60snvQ+SYwFD+WklkSLD2+H6r7rK5PDAlBPAnucpqtCIShqV3OZ44Le
	QZDSZmBOgcyVI9gEm70Dg==
X-Gm-Gg: Acq92OEsqOyAp64PdeD3KqV3wESLahoe4MjxOIM/o8NpklbsCXN+uKHOTBxzE9KS7Ng
	g6MZ7+GwL16Vh2ZpGulXlFEiIlOo8OaYPgeR1aaGs4DvcwczqKVcGsup6ae2Eq8zcU8XuZEbmOH
	d/mqeTPov3ZDiwqRXzax70N3v4yiErZhPGWKjwdwpi29fol3bAwHb1kUnqU0kz51oVY1dSK21p3
	HRBJBNCpOKGRWHZKgwxIM1QdzouwDxwlsNs+NdZ1QdmxxniDviYUGMLqufipgmHo0HyXTnWKG8N
	ZbSbqYv/MPuon4c0j6WHSg/kFndhdsJVy1nNEu8nP3rwEk+M1w65dPQAPtB+gVspwPwzDH9NeHa
	4dmiEoOzE2acWVmP1nYiKKVkcTNa4E4ES8JgPdp1Qn71MxzTlROteN1fmn76MrNwI6B6Iua62X3
	ULsqdHZptRcolmo4yk5DDuhvpUT3MVlsfkeWJIqzNUV9JV2BU/w1Je831wIFbe1lvKiI9xDA==
X-Received: by 2002:a05:690c:3583:b0:7db:d730:4b8e with SMTP id 00721157ae682-7f657480991mr20181307b3.26.1781174667110;
        Thu, 11 Jun 2026 03:44:27 -0700 (PDT)
X-Relaying-Domain: broadcom.com
X-CFilter-Loop: Reflected
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=broadcom.com; s=google; t=1781174665; x=1781779465; 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=DfJ0nGWquwiM7bDgPtenwuuQ8uhF1U2CzBQIIhROw1g=;
        b=C9ZcAXvpkvUiIkXppVFrdGlEEWo1O96DGXrVuUXa0iPCJ/czcVG6Nov0Q3DUVOyL5X
         pCQ3CiM9cP9hmtYmBDCQTvgV8AhXiN6fM+OiHK/92UFb9BRtOezwmbYAsQjN0y8ffofJ
         GWICY7W/S4cIO2n3+g6qj6/B949UzYXlgDBD8=
X-Forwarded-Encrypted: i=1; AFNElJ//CF4BgyDkjcYPVhlHr+qI0/raSELZklanLl14PRw4hlMhgFprRxge1rtTZmiQ8g30sngfyexMSvM=@lists.xenproject.org
X-Received: by 2002:a05:6512:3a8a:b0:5aa:6290:f78d with SMTP id 2adb3069b0e04-5ad27a9c764mr696817e87.2.1781174665125;
        Thu, 11 Jun 2026 03:44:25 -0700 (PDT)
X-Received: by 2002:a05:6512:3a8a:b0:5aa:6290:f78d with SMTP id
 2adb3069b0e04-5ad27a9c764mr696784e87.2.1781174664507; Thu, 11 Jun 2026
 03:44:24 -0700 (PDT)
MIME-Version: 1.0
References: <20260609121806.2121755-1-sumit.saxena@broadcom.com>
 <20260609121806.2121755-4-sumit.saxena@broadcom.com> <aikAs4X-2NWTuwCc@infradead.org>
 <CAL2rwxr1uGshb1o=jvP2OnBffNz2cKXj8tHuAUCN5HFuy2vB_g@mail.gmail.com> <aimSb9I0Vl-68hy9@kbusch-mbp>
In-Reply-To: <aimSb9I0Vl-68hy9@kbusch-mbp>
From: Sumit Saxena <sumit.saxena@broadcom.com>
Date: Thu, 11 Jun 2026 16:13:46 +0530
X-Gm-Features: AVVi8Cd88XM9WQCmkDM1ogPmYgU9Pn0rqq_dsX0LdbdBcAzp9xGlrg8ZceRzVXQ
Message-ID: <CAL2rwxqtjjFYkSbBo1VSyw8JQ7JUnX9nqB9twOH9jhuTY1DD2w@mail.gmail.com>
Subject: Re: [PATCH v3 3/4] block: drop shared-tag fairness throttling
To: Keith Busch <kbusch@kernel.org>
Cc: Christoph Hellwig <hch@infradead.org>, "Martin K . Petersen" <martin.petersen@oracle.com>, 
	Jens Axboe <axboe@kernel.dk>, 
	"James E . J . Bottomley" <James.Bottomley@hansenpartnership.com>, linux-scsi@vger.kernel.org, 
	linux-block@vger.kernel.org, Adam Radford <aradford@gmail.com>, 
	Khalid Aziz <khalid@gonehiking.org>, Adaptec OEM Raid Solutions <aacraid@microsemi.com>, 
	Matthew Wilcox <willy@infradead.org>, Hannes Reinecke <hare@suse.com>, 
	"Juergen E . Fischer" <fischer@norbit.de>, Russell King <linux@armlinux.org.uk>, 
	linux-arm-kernel@lists.infradead.org, Finn Thain <fthain@linux-m68k.org>, 
	Michael Schmitz <schmitzmic@gmail.com>, Anil Gurumurthy <anil.gurumurthy@qlogic.com>, 
	Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>, Oliver Neukum <oliver@neukum.org>, 
	Ali Akcaagac <aliakc@web.de>, Jamie Lenehan <lenehan@twibble.org>, 
	Ram Vegesna <ram.vegesna@broadcom.com>, target-devel@vger.kernel.org, 
	Bradley Grove <linuxdrivers@attotech.com>, Satish Kharat <satishkh@cisco.com>, 
	Sesidhar Baddela <sebaddel@cisco.com>, Karan Tilak Kumar <kartilak@cisco.com>, 
	Yihang Li <liyihang9@h-partners.com>, Don Brace <don.brace@microchip.com>, 
	storagedev@microchip.com, HighPoint Linux Team <linux@highpoint-tech.com>, 
	Tyrel Datwyler <tyreld@linux.ibm.com>, Madhavan Srinivasan <maddy@linux.ibm.com>, 
	Michael Ellerman <mpe@ellerman.id.au>, Nicholas Piggin <npiggin@gmail.com>, 
	Christophe Leroy <chleroy@kernel.org>, linuxppc-dev@lists.ozlabs.org, 
	Brian King <brking@us.ibm.com>, Lee Duncan <lduncan@suse.com>, Chris Leech <cleech@redhat.com>, 
	Mike Christie <michael.christie@oracle.com>, open-iscsi@googlegroups.com, 
	Justin Tee <justin.tee@broadcom.com>, Paul Ely <paul.ely@broadcom.com>, 
	Kashyap Desai <kashyap.desai@broadcom.com>, 
	Shivasharan S <shivasharan.srikanteshwara@broadcom.com>, 
	Chandrakanth Patil <chandrakanth.patil@broadcom.com>, megaraidlinux.pdl@broadcom.com, 
	Sathya Prakash Veerichetty <sathya.prakash@broadcom.com>, 
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>, mpi3mr-linuxdrv.pdl@broadcom.com, 
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>, 
	Ranjan Kumar <ranjan.kumar@broadcom.com>, MPT-FusionLinux.pdl@broadcom.com, 
	Daniel Palmer <daniel@thingy.jp>, GOTO Masanori <gotom@debian.or.jp>, 
	YOKOTA Hiroshi <yokota@netlab.is.tsukuba.ac.jp>, Jack Wang <jinpu.wang@cloud.ionos.com>, 
	Geoff Levand <geoff@infradead.org>, Michael Reed <mdr@sgi.com>, Nilesh Javali <njavali@marvell.com>, 
	GR-QLogic-Storage-Upstream@marvell.com, Narsimhulu Musini <nmusini@cisco.com>, 
	"K . Y . Srinivasan" <kys@microsoft.com>, Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, 
	Dexuan Cui <decui@microsoft.com>, Long Li <longli@microsoft.com>, linux-hyperv@vger.kernel.org, 
	"Michael S . Tsirkin" <mst@redhat.com>, Jason Wang <jasowang@redhat.com>, 
	Paolo Bonzini <pbonzini@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>, 
	Eugenio Perez <eperezma@redhat.com>, virtualization@lists.linux.dev, 
	Vishal Bhakta <vishal.bhakta@broadcom.com>, bcm-kernel-feedback-list@broadcom.com, 
	Juergen Gross <jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, xen-devel@lists.xenproject.org, 
	Bart Van Assche <bvanassche@acm.org>
X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256;
	boundary="0000000000003a2fc10653f80b6d"
X-purgate-ID: tlsNG-16d1c6/1781174669-8556ED75-97964335/0/0
X-purgate-type: clean
X-purgate-size: 11139

--0000000000003a2fc10653f80b6d
Content-Type: multipart/alternative; boundary="000000000000294eed0653f80b73"

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

On Wed, Jun 10, 2026 at 10:06=E2=80=AFPM Keith Busch <kbusch@kernel.org> wr=
ote:
>
> On Wed, Jun 10, 2026 at 09:16:11PM +0530, Sumit Saxena wrote:
> > The motivation for this change stems from performance issue we
> > encountered due to false sharing of the 'nr_active_requests_shared_tags=
'
> > counter
> > on certain CPU architectures. I initially submitted a patch to move tha=
t
> > counter to
> > its own cache line to avoid conflicts with 'nr_requests' and other hot
> > fields
> > (see:
> >
https://patchwork.kernel.org/project/linux-scsi/patch/20260402074637.92417-=
3-sumit.saxena@broadcom.com/
> > ).
> >
> > During the review, Bart shared his work, which eliminates the
> > counter entirely by removing the fairness throttling. My testing
confirmed
> > that
> > this approach resolved the performance issues and improved IOPS.
> > This patch is part of a larger set, and I have reported the cumulative
> > performance
> > improvements in the cover letter.
>
> So the problem is just the atomic operation accounting overhead? I
> previously thought the device just really needed to consume all the tags
> to hit performance.
That's correct, it's the atomic operation accounting overhead.

Thanks,
Sumit

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

<div dir=3D"ltr"><br><br>On Wed, Jun 10, 2026 at 10:06=E2=80=AFPM Keith Bus=
ch &lt;<a href=3D"mailto:kbusch@kernel.org">kbusch@kernel.org</a>&gt; wrote=
:<br>&gt;<br>&gt; On Wed, Jun 10, 2026 at 09:16:11PM +0530, Sumit Saxena wr=
ote:<br>&gt; &gt; The motivation for this change stems from performance iss=
ue we<br>&gt; &gt; encountered due to false sharing of the &#39;nr_active_r=
equests_shared_tags&#39;<br>&gt; &gt; counter<br>&gt; &gt; on certain CPU a=
rchitectures. I initially submitted a patch to move that<br>&gt; &gt; count=
er to<br>&gt; &gt; its own cache line to avoid conflicts with &#39;nr_reque=
sts&#39; and other hot<br>&gt; &gt; fields<br>&gt; &gt; (see:<br>&gt; &gt; =
<a href=3D"https://patchwork.kernel.org/project/linux-scsi/patch/2026040207=
4637.92417-3-sumit.saxena@broadcom.com/">https://patchwork.kernel.org/proje=
ct/linux-scsi/patch/20260402074637.92417-3-sumit.saxena@broadcom.com/</a><b=
r>&gt; &gt; ).<br>&gt; &gt;<br>&gt; &gt; During the review, Bart shared his=
 work, which eliminates the<br>&gt; &gt; counter entirely by removing the f=
airness throttling. My testing confirmed<br>&gt; &gt; that<br>&gt; &gt; thi=
s approach resolved the performance issues and improved IOPS.<br>&gt; &gt; =
This patch is part of a larger set, and I have reported the cumulative<br>&=
gt; &gt; performance<br>&gt; &gt; improvements in the cover letter.<br>&gt;=
<br>&gt; So the problem is just the atomic operation accounting overhead? I=
<br>&gt; previously thought the device just really needed to consume all th=
e tags<br>&gt; to hit performance.<div>That&#39;s correct, it&#39;s the ato=
mic operation accounting overhead.</div><div><br></div><div>Thanks,</div><d=
iv>Sumit</div></div>

--000000000000294eed0653f80b73--

--0000000000003a2fc10653f80b6d
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIIVWQYJKoZIhvcNAQcCoIIVSjCCFUYCAQExDzANBglghkgBZQMEAgEFADALBgkqhkiG9w0BBwGg
ghLGMIIGqDCCBJCgAwIBAgIQfofDCS7XZu8vIeKo0KeY9DANBgkqhkiG9w0BAQwFADBMMSAwHgYD
VQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSNjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UE
AxMKR2xvYmFsU2lnbjAeFw0yMzA0MTkwMzUzNTNaFw0yOTA0MTkwMDAwMDBaMFIxCzAJBgNVBAYT
AkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMSgwJgYDVQQDEx9HbG9iYWxTaWduIEdDQyBS
NiBTTUlNRSBDQSAyMDIzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwjAEbSkPcSyn
26Zn9VtoE/xBvzYmNW29bW1pJZ7jrzKwPJm/GakCvy0IIgObMsx9bpFaq30X1kEJZnLUzuE1/hlc
hatYqyORVBeHlv5V0QRSXY4faR0dCkIhXhoGknZ2O0bUJithcN1IsEADNizZ1AJIaWsWbQ4tYEYj
ytEdvfkxz1WtX3SjtecZR+9wLJLt6HNa4sC//QKdjyfr/NhDCzYrdIzAssoXFnp4t+HcMyQTrj0r
pD8KkPj96sy9axzegLbzte7wgTHbWBeJGp0sKg7BAu+G0Rk6teO1yPd75arbCvfY/NaRRQHk6tmG
71gpLdB1ZhP9IcNYyeTKXIgfMh2tVK9DnXGaksYCyi6WisJa1Oa+poUroX2ESXO6o03lVxiA1xyf
G8lUzpUNZonGVrUjhG5+MdY16/6b0uKejZCLbgu6HLPvIyqdTb9XqF4XWWKu+OMDs/rWyQ64v3mv
Sa0te5Q5tchm4m9K0Pe9LlIKBk/gsgfaOHJDp4hYx4wocDr8DeCZe5d5wCFkxoGc1ckM8ZoMgpUc
4pgkQE5ShxYMmKbPvNRPa5YFzbFtcFn5RMr1Mju8gt8J0c+dxYco2hi7dEW391KKxGhv7MJBcc+0
x3FFTnmhU+5t6+CnkKMlrmzyaoeVryRTvOiH4FnTNHtVKUYDsCM0CLDdMNgoxgkCAwEAAaOCAX4w
ggF6MA4GA1UdDwEB/wQEAwIBhjBMBgNVHSUERTBDBggrBgEFBQcDAgYIKwYBBQUHAwQGCisGAQQB
gjcUAgIGCisGAQQBgjcKAwwGCisGAQQBgjcKAwQGCSsGAQQBgjcVBjASBgNVHRMBAf8ECDAGAQH/
AgEAMB0GA1UdDgQWBBQAKTaeXHq6D68tUC3boCOFGLCgkjAfBgNVHSMEGDAWgBSubAWjkxPioufi
1xzWx/B/yGdToDB7BggrBgEFBQcBAQRvMG0wLgYIKwYBBQUHMAGGImh0dHA6Ly9vY3NwMi5nbG9i
YWxzaWduLmNvbS9yb290cjYwOwYIKwYBBQUHMAKGL2h0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5j
b20vY2FjZXJ0L3Jvb3QtcjYuY3J0MDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwuZ2xvYmFs
c2lnbi5jb20vcm9vdC1yNi5jcmwwEQYDVR0gBAowCDAGBgRVHSAAMA0GCSqGSIb3DQEBDAUAA4IC
AQCRkUdr1aIDRmkNI5jx5ggapGUThq0KcM2dzpMu314mJne8yKVXwzfKBtqbBjbUNMODnBkhvZcn
bHUStur2/nt1tP3ee8KyNhYxzv4DkI0NbV93JChXipfsan7YjdfEk5vI2Fq+wpbGALyyWBgfy79Y
IgbYWATB158tvEh5UO8kpGpjY95xv+070X3FYuGyeZyIvao26mN872FuxRxYhNLwGHIy38N9ASa1
Q3BTNKSrHrZngadofHglG5W3TMFR11JOEOAUHhUgpbVVvgCYgGA6dSX0y5z7k3rXVyjFOs7KBSXr
dJPKadpl4vqYphH7+P40nzBRcxJHrv5FeXlTrb+drjyXNjZSCmzfkOuCqPspBuJ7vab0/9oeNERg
nz6SLCjLKcDXbMbKcRXgNhFBlzN4OUBqieSBXk80w2Nzx12KvNj758WavxOsXIbX0Zxwo1h3uw75
AI2v8qwFWXNclO8qW2VXoq6kihWpeiuvDmFfSAwRLxwwIjgUuzG9SaQ+pOomuaC7QTKWMI0hL0b4
mEPq9GsPPQq1UmwkcYFJ/Z4I93DZuKcXmKMmuANTS6wxwIEw8Q5MQ6y9fbJxGEOgOgYL4QIqNULb
5CYPnt2LeiIiEnh8Uuh8tawqSjnR0h7Bv5q4mgo3L1Z9QQuexUntWD96t4o0q1jXWLyrpgP7Zcnu
CzCCBYMwggNroAMCAQICDkXmuwODM8OFZUjm/0VRMA0GCSqGSIb3DQEBDAUAMEwxIDAeBgNVBAsT
F0dsb2JhbFNpZ24gUm9vdCBDQSAtIFI2MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpH
bG9iYWxTaWduMB4XDTE0MTIxMDAwMDAwMFoXDTM0MTIxMDAwMDAwMFowTDEgMB4GA1UECxMXR2xv
YmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
bFNpZ24wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCVB+hzymb57BTKezz3DQjxtEUL
LIK0SMbrWzyug7hBkjMUpG9/6SrMxrCIa8W2idHGsv8UzlEUIexK3RtaxtaH7k06FQbtZGYLkoDK
RN5zlE7zp4l/T3hjCMgSUG1CZi9NuXkoTVIaihqAtxmBDn7EirxkTCEcQ2jXPTyKxbJm1ZCatzEG
xb7ibTIGph75ueuqo7i/voJjUNDwGInf5A959eqiHyrScC5757yTu21T4kh8jBAHOP9msndhfuDq
jDyqtKT285VKEgdt/Yyyic/QoGF3yFh0sNQjOvddOsqi250J3l1ELZDxgc1Xkvp+vFAEYzTfa5MY
vms2sjnkrCQ2t/DvthwTV5O23rL44oW3c6K4NapF8uCdNqFvVIrxclZuLojFUUJEFZTuo8U4lptO
TloLR/MGNkl3MLxxN+Wm7CEIdfzmYRY/d9XZkZeECmzUAk10wBTt/Tn7g/JeFKEEsAvp/u6P4W4L
sgizYWYJarEGOmWWWcDwNf3J2iiNGhGHcIEKqJp1HZ46hgUAntuA1iX53AWeJ1lMdjlb6vmlodiD
D9H/3zAR+YXPM0j1ym1kFCx6WE/TSwhJxZVkGmMOeT31s4zKWK2cQkV5bg6HGVxUsWW2v4yb3BPp
DW+4LtxnbsmLEbWEFIoAGXCDeZGXkdQaJ783HjIH2BRjPChMrwIDAQABo2MwYTAOBgNVHQ8BAf8E
BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUrmwFo5MT4qLn4tcc1sfwf8hnU6AwHwYD
VR0jBBgwFoAUrmwFo5MT4qLn4tcc1sfwf8hnU6AwDQYJKoZIhvcNAQEMBQADggIBAIMl7ejR/ZVS
zZ7ABKCRaeZc0ITe3K2iT+hHeNZlmKlbqDyHfAKK0W63FnPmX8BUmNV0vsHN4hGRrSMYPd3hckSW
tJVewHuOmXgWQxNWV7Oiszu1d9xAcqyj65s1PrEIIaHnxEM3eTK+teecLEy8QymZjjDTrCHg4x36
2AczdlQAIiq5TSAucGja5VP8g1zTnfL/RAxEZvLS471GABptArolXY2hMVHdVEYcTduZlu8aHARc
phXveOB5/l3bPqpMVf2aFalv4ab733Aw6cPuQkbtwpMFifp9Y3s/0HGBfADomK4OeDTDJfuvCp8g
a907E48SjOJBGkh6c6B3ace2XH+CyB7+WBsoK6hsrV5twAXSe7frgP4lN/4Cm2isQl3D7vXM3PBQ
ddI2aZzmewTfbgZptt4KCUhZh+t7FGB6ZKppQ++Rx0zsGN1s71MtjJnhXvJyPs9UyL1n7KQPTEX/
07kwIwdMjxC/hpbZmVq0mVccpMy7FYlTuiwFD+TEnhmxGDTVTJ267fcfrySVBHioA7vugeXaX3yL
SqGQdCWnsz5LyCxWvcfI7zjiXJLwefechLp0LWEBIH5+0fJPB1lfiy1DUutGDJTh9WZHeXfVVFsf
rSQ3y0VaTqBESMjYsJnFFYQJ9tZJScBluOYacW6gqPGC6EU+bNYC1wpngwVayaQQMIIGjzCCBHeg
AwIBAgIMdI2Nfq/Vk8dzZMUnMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAkJFMRkwFwYDVQQK
ExBHbG9iYWxTaWduIG52LXNhMSgwJgYDVQQDEx9HbG9iYWxTaWduIEdDQyBSNiBTTUlNRSBDQSAy
MDIzMB4XDTI1MDYyMDEwNTUwNVoXDTI3MDYyMTEwNTUwNVowgdcxCzAJBgNVBAYTAlVTMRMwEQYD
VQQIEwpDYWxpZm9ybmlhMREwDwYDVQQHEwhTYW4gSm9zZTEZMBcGA1UEYRMQTlRSVVMrREUtNjYx
MDExNzEPMA0GA1UEBBMGU2F4ZW5hMQ4wDAYDVQQqEwVTdW1pdDEWMBQGA1UEChMNQlJPQURDT00g
SU5DLjEiMCAGA1UEAwwZc3VtaXQuc2F4ZW5hQGJyb2FkY29tLmNvbTEoMCYGCSqGSIb3DQEJARYZ
c3VtaXQuc2F4ZW5hQGJyb2FkY29tLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
ANWfdRsD0NsQr9oaNovE6N6ldgUGyJipSPE9u2SuA5SLtk4//f6PIFdR6h5fMMUsw7H4eBqY88Do
ifscJ8gSasrjdgcsGC9lCyPXLwfNEU5C3Mbnua8OK6sTBpf6mvY88HW/6AoKiSpfo5jxCZQOm4Zz
oJWD5ea7ThJ2XdDk1rRtGUkwFgN9GRNfOoiIwkkA7EdEfV0eQkVqNgkqUyBSABXcduul2sd4/JQO
SsVmTdSKid7L6yZsqk5b3Xj+GMJwPdRfeKP2SRoys0SVnajc9Di+9Jy7uGKxxtb562egZauDFX/0
o0UgYfZrbwWfzJDYMLKzlrOD0M8yGkD8BnyIiVECAwEAAaOCAd0wggHZMA4GA1UdDwEB/wQEAwIF
oDAMBgNVHRMBAf8EAjAAMIGTBggrBgEFBQcBAQSBhjCBgzBGBggrBgEFBQcwAoY6aHR0cDovL3Nl
Y3VyZS5nbG9iYWxzaWduLmNvbS9jYWNlcnQvZ3NnY2NyNnNtaW1lY2EyMDIzLmNydDA5BggrBgEF
BQcwAYYtaHR0cDovL29jc3AuZ2xvYmFsc2lnbi5jb20vZ3NnY2NyNnNtaW1lY2EyMDIzMGUGA1Ud
IAReMFwwCQYHZ4EMAQUDAzALBgkrBgEEAaAyASgwQgYKKwYBBAGgMgoDAjA0MDIGCCsGAQUFBwIB
FiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9yZXBvc2l0b3J5LzBBBgNVHR8EOjA4MDagNKAy
hjBodHRwOi8vY3JsLmdsb2JhbHNpZ24uY29tL2dzZ2NjcjZzbWltZWNhMjAyMy5jcmwwJAYDVR0R
BB0wG4EZc3VtaXQuc2F4ZW5hQGJyb2FkY29tLmNvbTATBgNVHSUEDDAKBggrBgEFBQcDBDAfBgNV
HSMEGDAWgBQAKTaeXHq6D68tUC3boCOFGLCgkjAdBgNVHQ4EFgQURSmmYGaiq6dg3CEvXQGHEXJF
8xwwDQYJKoZIhvcNAQELBQADggIBAAl0pcCjujKdwmgtiGl2naEY5wB4G601Kuu3032tR7wmgZLg
k+lg9fhAA0boPsi1FE1Pwb93YDBGr/naS/oQ9JglSMeEVzeRvCqjFS4FpouBAFHB77c8w3ZwJ3+t
FSRJW9SbW0DADBn5t8GAjv2aSm5vDorqFe9MKOYEe50yYDQEUAsEt5QkrLTcEx9ntvVb25MxI8vM
bdfqna+/TyCmFmnGAz58jiw5DxLn++6wMmAk0SeUEuMrAlRIyhte6BBSBQ5cL1P+DWSqQbm/pwCq
NhySSLNtTi2dKJvvg6Ax9au913KiJj6uZfPlh6/0kaVKM5GhIABUcm3c6g2qD7ITJxB/p1kjYKLa
hVrtrjK7000lHKTPFr6MWB4Ggx7yKQ9yIlPMKKF/Lj8FabYCqeM5ovG7kaK8FYXug5vjNjN0nedR
X3P8o+8aL6WFIAAAKm2DqZh3252Gcken8v5c+f0SXWSJFvemfFNgrJiQFnFVrOE5v7qwvM/KvVCA
dYm4Ph9QYI0sm+Xitx8MkdOJtq5mcPWowGi8UiCgkOidv4ki1SA0wptfquUhbfS9b2M3XUHCEIUX
4ECvIjR3f+E0NbBIfPccWfYUaDLvo2qhLYS3KQbhKdXcJ83ha17mbVNZbDDo9upNcLO/oPyDbCNF
J6UpXZmis1wnCynhK4kQfwFhW7H+MYICVzCCAlMCAQEwYjBSMQswCQYDVQQGEwJCRTEZMBcGA1UE
ChMQR2xvYmFsU2lnbiBudi1zYTEoMCYGA1UEAxMfR2xvYmFsU2lnbiBHQ0MgUjYgU01JTUUgQ0Eg
MjAyMwIMdI2Nfq/Vk8dzZMUnMA0GCWCGSAFlAwQCAQUAoIHHMC8GCSqGSIb3DQEJBDEiBCBgNfCS
txCUmh9RVm3ywWZ+FqUrhzMno4QjbIxP56bEHTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwG
CSqGSIb3DQEJBTEPFw0yNjA2MTExMDQ0MjVaMFwGCSqGSIb3DQEJDzFPME0wCwYJYIZIAWUDBAEq
MAsGCWCGSAFlAwQBFjALBglghkgBZQMEAQIwCgYIKoZIhvcNAwcwCwYJKoZIhvcNAQEHMAsGCWCG
SAFlAwQCATANBgkqhkiG9w0BAQEFAASCAQA4a94UH1n8Q6oB/bStbW3ay+559D8DevwSDQGM4pzx
YvFHxranMU8DCmF3wRjpr7OT19xPbxEmYvuFyy1qK8WnJYcZK5+3OaFgW4Q9+M27QrNQuhkeXBsn
KDxNid4QqOD1wDZKmePV3euKKF81Kep8eCZPLII7hVbBQ/OeCd1LU6jde54CMGFm45kIUKgfQxLI
lyXcG/vw10DPi3K6THNvA+QSYWXcyylarB1UgSiRxT/qn2G4JDDpZxGHexmaiqE+UQKDBj8K11k3
9w5dyXpp6wY/Ua9Y99FzSb1fRBZFDcyrRsQr6sn8ZJL5ZvUK93sSc2x59Pc4eIJoehPCE+dU
--0000000000003a2fc10653f80b6d--


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 11:39:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 11:39:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335378.1597655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXdkM-0007gr-KP; Thu, 11 Jun 2026 11:38:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335378.1597655; Thu, 11 Jun 2026 11:38: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 1wXdkM-0007gk-Gh; Thu, 11 Jun 2026 11:38:54 +0000
Received: by outflank-mailman (input) for mailman id 1335378;
 Thu, 11 Jun 2026 11:38:54 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wXdkL-0007ge-Lp
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 11:38:54 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXdkL-00CcGe-2G
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 13:38:53 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2a9e3a-5cb7-0a2a0a5109dd-0a2a450883f6-46
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 13:38:52 +0200
Received: from [52.101.52.47]
 (helo=BL2PR02CU003.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2a9e4b-63b5-0a2a45080019-3465342f3511-4
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 13:38:52 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by LV3PR03MB7610.namprd03.prod.outlook.com (2603:10b6:408:284::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.13; Thu, 11 Jun
 2026 11:38:49 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.016; Thu, 11 Jun 2026
 11:38: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=R2WwZhSSfC0mGXYK1c8VLTkIy7/1oPhS4jIyi40sZz74Ya4SB8E/iObg+mgayC80A50mUlliJ7sPdVX5WHlfi8iDPBO5TLJiGZd7D5zTbo127eaQcMUzCix7XZBM/5YPkh7x+tsDGWT5Hp5PvTw1K/nRIBPIxIz1l/H28GlPxvqo9tEvjJLuuqIJ4Z4WtUacEh80vlH9RJNhdrWkiRF57xoYIulerBnynpHllJyGCQtZhkrkeZjwyP1hDSGA91I8pDSDEE0VCtzTXtW/ktbVlRIt7t8RoAk4CDxEKgUqRl4eHZ+7a/oMPUE9x4gB32CReM+qyXaHUO0lmu8IkiCbJg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gkcOpXLqx8Dpk9SWFpSlhznieldPbPgCx9xc5lpDY3Y=;
 b=oP8XmY8KS4njxfC7IiF/Z/f1rtbjjAxKoPr1PLZcJa2QSoSSeucHHe5pzH44ZrSWcuOLUxvLABtZb9OdrrbcXlJpp/2FbLoXi83SZLUo8Tah/Zd8yjogxAOXA/T9KzXbDjkxyWXiVNTiIoS2RWpDvwP8UDMDsqR8CbXzkMqWV2NJYnHM6K0ne04T2IS65FCv6raRP/K8FkFoB9okjc1dtIcHMuOiCaaft1Fm0mN9EewxyS7qLOY1VR5Ut7S8xLcI9VO/YwR8Qrx97y+af3fEXxKrFYkG9l0IXYrTKy39v1BNV4mu1cFIlw06s7O7JOmJzodSG0Hy69+wGy3GwX+C2w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gkcOpXLqx8Dpk9SWFpSlhznieldPbPgCx9xc5lpDY3Y=;
 b=yJP9EkB/8eD8UsHwxE0pAbM96RKy+3jeqbEdkzKmA+Xa2Y4lxFlSjrwo6qWqFB2pifaYFNBP0csOyf0ImUMbWwnqXkd0Hlxj7VuYjjmFKRCINU1mwF+0wtn+PphlDXOzI1IO32fD4JVJWsGMQoX944tCHZDbQr8tm+76fMTts8k=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <1639ef93-4260-4a2b-bcfd-d39a059c1c56@citrix.com>
Date: Thu, 11 Jun 2026 12:38:46 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Jason Andryuk <jason.andryuk@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Teddy Astie <teddy.astie@vates.tech>
Subject: Re: [PATCH for-4.22] xen/x86: Change stub page allocation/free
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <20260611075342.58428-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: <20260611075342.58428-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0063.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2af::16) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|LV3PR03MB7610:EE_
X-MS-Office365-Filtering-Correlation-Id: c8b6a2d8-59df-426f-0bf5-08dec7ae0174
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|23010399003|366016|1800799024|18002099003|22082099003|56012099006|6133799003|11063799006;
X-Microsoft-Antispam-Message-Info:
	qF9p54Vq6EssXaVka7w7HhiM6JSUAtfUCZcPYPDvq8L1XwtZIs9qc8oMB4p8QQ/4mIHL+U27LswGlW3ycb90BOs49gdyRug7YnvBM5EnVWPwbiTkYfqW884RVsYK2/Df2wvOxqVJTi4CFGKo2S70jFC3eh2c3wcCriH+BmAC13RMHC6wYM0vmf6SeogFaaqSsbGiLuN/Veg4fLoDeNNLxboXKMJc2WCHRVvtd7f0FCprwC0uhPdkjzoeh8CrvWsg/8fhKhN2UmF3UeNi93psIbnp3ue14UsnDrUFI31qJw4BmnFohV5SZxZuLx8fXsyDP+7txv9cJjDiA4xxQvgypXN18ZXJ6JCt7aKPP6pK0JVLyxnbtMmuACnmuKke9ItTMvRZIdOWgvkG2biU0X3pg3X4KRMmSBd82KvSN2uuJ/L/kVAiZ4H4O2ahfawaA2/HG+Dl1RJstXfOUN99I2hJX41oucIh4XZWBWsECFhZHBaqVt8Ze3TWFH1k64JiicuAcWHRTpl86CLilzTSZaAOx5qLMx4qA0F4JmvACfsCp8xRVt6ZDnoOlqyKLPwXtkUg2S0kxVIHpBc4gObV18MZPaq4sFedL5bl6HHrMFwL91hT27cVFiIC8xV8o2/hi5ez2/CPUAv/PO/iZHEs9Pku7VVGgKBedbKHday+f0iGxX2qnHbzfGc8EloO+faovm9R
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(23010399003)(366016)(1800799024)(18002099003)(22082099003)(56012099006)(6133799003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RkZ4WUFYRFFXaTVid0x0cFB5ZkZidFNSOXFXQ2d1MWpzV3l5YXBMYjhnaTZy?=
 =?utf-8?B?QmhSNjdGSU5CV1plVkl0UXdtWmJVOHJlMUp1b1Y2NjdiL3lpRFBBNE92Nmdj?=
 =?utf-8?B?ejJOWHdGS3prb2o2YWZzUllsN3E3T29lUDQ1ZmdaZnA2WWM1NHZhRmZuZ0ZU?=
 =?utf-8?B?MG5pcmVDK2ZVUk9zQ3ZvK3MvV2JuTVc4eE9qdEIzbWxGZHdsZ2lYTC9CeFhk?=
 =?utf-8?B?RDJYeW0zMWZTenR6cUxSZHhtOTdnTTd5Q0Z0NFh6cTVNQmhTWm56Q2lRR0Za?=
 =?utf-8?B?Tml1emdDMnFUdXpSQi83TVJFWHBSQkhMdEVITHVFenhLRHBTaEhLYjQ1Wnhi?=
 =?utf-8?B?Y2lrVVdleXEwdWlaYmt6RGdSb3lZSXZJTk91RDVWV2FlNVJDN2pTTXFWSUJN?=
 =?utf-8?B?UkdIZUs0K0VHRFlJTFI5d1RXbWF3aXJMdHQzZEdVVTJzSGYrNmtENG00WE8r?=
 =?utf-8?B?a3J0WFlhOHlOYmNndGhQbHViQlUrcDVVakN3T01FcEZMak0yTCtQdjZMb0ln?=
 =?utf-8?B?RSt0VCs4czdyeTVJVzJGejJUMXVYTDRPKzVEZHF5WWNSeDdXRnBnVkRKRW0y?=
 =?utf-8?B?enhqejlyNS8xZTd5QTcvbEdJWDFqeldOcVd4SWM3WDVXK2Jwb3JTc1RFd25v?=
 =?utf-8?B?cWx2TCtWZ0ZaWFN6YUtzRW5reElXUFNIVGptK2taTklMRERjUExpU2lleWNn?=
 =?utf-8?B?czZkWDlhWUJLWVRCeE9oMzJkRWxNNTZwakhBVG1GT0ttTGFYTitRdmNGdGp3?=
 =?utf-8?B?VVl0ellXVGNnK3ZZeDZ3ZURiblUrK1Z2c3BnN3RVUmRIWnlMUWZuRzJZN0ZG?=
 =?utf-8?B?dTdjQWtyZEZ0UkJ5RFRMeU40cDFNc0tkZjNJbFdSNDJDOG45QWdjSm5uV1pU?=
 =?utf-8?B?L3lzTGhIVjc1L1dkQzJORk11elVYZEdsU3RDemZGVkZzZUVnbk5aVWc1alRH?=
 =?utf-8?B?SGIwdnI0M3Y2SXRTQUhhY25jMzlmbFhnOExIZTFkcEROY1dNOG1TWCt4Ti84?=
 =?utf-8?B?SkczYUdwblp1bFlIeWdCR3dIdTlDRHNTNG45bkhOK1VyaGx6VlN1bjNTNFda?=
 =?utf-8?B?ejJBNDhkWTRoYWxuV29VTjRWYVhmdkU0WiswMURmZWR3M1p6dE03MnRDTmJP?=
 =?utf-8?B?aittdFhVVnBzMVUzSDJubmg1VTAwS24rQU5VUkZJVDlTeWdBenp2TnZ2a1lw?=
 =?utf-8?B?QWhURkhWTmJ6VXJNRmszcTh6WXVwbmU3MG9PSTk2QlRoUTB1ekxSNUZDclhE?=
 =?utf-8?B?b1VCRjh0bVZtbDlqZmI5cG9DTEVCTmFNcC8rOXhhK0dVZExZdXFZTGF3WkJa?=
 =?utf-8?B?SW5oOTl2bHhVTjVFWlBjakdtYmYvOUxTbEFnYXEyMjNjTVFid2RPaUtFWC85?=
 =?utf-8?B?U0JmUHVVWklMeFRuK0RvTXN3elFNeW9XSGxjVUJjVWEzZG54bTA5MHo4emRj?=
 =?utf-8?B?RFBHMnB3MVpJemp3SkhNdlV1TGNEMHRmWjdSSHRIcm9GeXpwN0s3OW5neDNH?=
 =?utf-8?B?U2FiTjhuWG1mZUMyZkVqTHc5eFJSU0xpejAvbGVQNHpidmg3UHh3MXVobndw?=
 =?utf-8?B?S3UwbTkvMDdPUXgxSi84QXc5aG1Sb3NEcGpmdEpvZjlaakRucVZSUGs5eWNS?=
 =?utf-8?B?dXg0R1NDNXQ1cEU2azM1dmhNRTJMZ3EyNmxiNXpOdVgxa0RaeXFvT2tjdzM2?=
 =?utf-8?B?cENiem55aDVVNlRzYk5XYnQxeEhMK1JRQ2xNbHNNazk4WTAvb1FDTHRLMHF3?=
 =?utf-8?B?UFJZbmZRbGpCTE4wSEZaTW40ekMyejN2eERZeklsUUlta0JTK0JZWlhwNG9m?=
 =?utf-8?B?UW92RHZPSDVPVDljTFRheXRNQ3BHUTB2UmJuN3UyNExiTEFMbEkwNTlxNnlH?=
 =?utf-8?B?TWRkYko0Q0pHNFBzVVJwWk5zdzZBNEJncXc2L1JXNmY4bExGNTN3a0szTjlP?=
 =?utf-8?B?MG1pKzdRRnVsWVZjdElLQUtTTFlUVFJBUG1nKzFQcjFpRTg4aElwZHVURFpC?=
 =?utf-8?B?dXhOd0p0TElPeEJaNFZuTm1Tck9xb3lLVURmT2VpWXNycUMyWVMza3dvN0w3?=
 =?utf-8?B?TlVwbWs1Qk9OUUwzUDhqSW1rbklQRHpnZGNVU3VjOTNCRlY1WHl0WE5HM25B?=
 =?utf-8?B?TUIwUGFNTTZNV3Nlem1tcWlEbmc4VVVYYTV3eXJWZCtLRkt2b3hjYlNCckk2?=
 =?utf-8?B?Ulc3L3RkTDE2c1dpWks1cVMvRVRmeGJiQmFjUlJXM2hHN3VxcGY2UytmbzBS?=
 =?utf-8?B?T3krUUplckY0MFpWelNDMTNSWGxiM29oeWd3NC9DODFQY015S3BEWSttZmt2?=
 =?utf-8?B?a0ordTlJT2tNRElTTDJwcUNhSXVYOWIyQWlhUnpKT3kxVnlqUGRwQVlRY2w4?=
 =?utf-8?Q?m9ia9q2a4tH5MpNk=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c8b6a2d8-59df-426f-0bf5-08dec7ae0174
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jun 2026 11:38:49.6777
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2QiSE2kOAIvBVXEDraAJefdNht1uFlJDvLQ1qbsTgKFdNMFNwSZff7CcJd2wu4m2RKYHnCYPyhAmOMbXrWCDSAitVeUcSeXV7EZ4VdMu+Cc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7610
X-purgate-ID: tlsNG-c1860d/1781177932-BC567DB1-2C4D07B8/0/0
X-purgate-type: clean
X-purgate-size: 7598

On 11/06/2026 8:53 am, Roger Pau Monne wrote:
> From: Jason Andryuk <jason.andryuk@amd.com>
>
> Today the inline tracking of the stub page is problematic.  0xcc is used to
> indicate unused, but it is also a "clear value."  A !CONFIG_PV build with
> smt=0 will bring up CPU0, bring up CPU1, bring down CPU1, and free the
> in-use stub page.  CPU0 or subsequent onlined CPUs can write to the re-used
> page.

I'm pretty sure a CONFIG_PV build booted on a FRED enabled system will
do the same.

This is the other case where we (now) forgo writing out the LSTAR/CSTAR
stubs.

>
> The new approach uses a global, CPU-indexed dynamically allocated array of
> stub addresses.  However, to handle NUMA aware allocations, we cannot
> allocate all the memory in advance because of the NUMA dependency.  Take
> advantage of the fact that Xen will attempt to contiguously pack CPUs on
> the same NUMA node (see normalise_cpu_order()), and on CPU bringup use the
> same stubs page the previous CPU did if suitable.  Note the code would
> still function properly even if CPUs from NUMA nodes are not contiguously
> packed, it just consumes more memory.
>
> stub pages are no longer freed.  They remain referenced in the global
> CPU-indexed array and are re-used if the CPU is re-onlined.
>
> stubs and node_stubs don't have an explicit lock.  During boot they are
> accessed single threaded.  During runtime, &cpu_add_remove_lock serializes
> access.

Is node_stubs stale?Â  Stub(s) should be capitalised at the start of the
sentence.Â  In context, it's not clear that it's a variable name, and it
doesn't need to be the literal variable name to convey the intended meaning.

>
> Fixes: 7a66ac8d1633 ("x86: move syscall trampolines off the stack")
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> ---
> There are other even more simple options here: for example Andrew proposed
> to pack stubs contiguously in both the physical and the linear address
> spaces, at the cost of possibly loosing the NUMA memory affinity between
> the allocated page and the CPU using it.  We have decided to go for a more
> conservative approach here, that keeps the same properties as the current
> logic regarding NUMA memory affinity of the stub region.

Part of the suggestion was made in error, but there's a second aspect
which I'll discuss at the end of the email.

> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index 4192edf635b6..cddf8806c877 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -2089,9 +2089,7 @@ void asmlinkage __init noreturn __start_xen(void)
>  
>      init_idle_domain();
>  
> -    this_cpu(stubs.addr) = alloc_stub_page(smp_processor_id(),
> -                                           &this_cpu(stubs).mfn);
> -    BUG_ON(!this_cpu(stubs.addr));
> +    init_bsp_stub();

Personally, I'd name this init_stubs().Â  It does work for more than just
the BSP, and the bsp_* part is only really needed for clarity when
there's a matching ap_* variant, which is not the case here.

>  
>      bsp_traps_reinit(); /* Needs stubs allocated, must be before presmp_initcalls. */
>  
> diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
> index d8fd71ffab37..3282392317f4 100644
> --- a/xen/arch/x86/smpboot.c
> +++ b/xen/arch/x86/smpboot.c
> @@ -641,41 +642,61 @@ static int do_boot_cpu(int apicid, int cpu)
>      return rc;
>  }
>  
> -#define STUB_BUF_CPU_OFFS(cpu) (((cpu) & (STUBS_PER_PAGE - 1)) * STUB_BUF_SIZE)
> +/* Dynamically allocated, indexed by CPU.  Store physical address of stubs. */
> +static paddr_t *__ro_after_init stubs;
>  
> -unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn)
> +static bool assign_stub_page(unsigned int cpu)
>  {
>      unsigned long stub_va;
> -    struct page_info *pg;
> +    paddr_t addr = stubs[cpu];
>  
> -    BUILD_BUG_ON(STUBS_PER_PAGE & (STUBS_PER_PAGE - 1));
> -
> -    if ( *mfn )
> -        pg = mfn_to_page(_mfn(*mfn));
> -    else
> +    if ( addr == INVALID_PADDR )
>      {
> -        nodeid_t node = cpu_to_node(cpu);
> -        unsigned int memflags = node != NUMA_NO_NODE ? MEMF_node(node) : 0;

I think you need to retain this calculation of memflags.Â 
MEMF_node(NUMA_NO_NODE) doesn't work as expected.

> +        nodeid_t nid = cpu_to_node(cpu);
>  
> -        pg = alloc_domheap_page(NULL, memflags);
> -        if ( !pg )
> -            return 0;
> +        /*
> +         * Attempt to use the same page as the previous CPU if possible,
> +         * otherwise allocate a new one.
> +         */
> +        if ( cpu && nid == cpu_to_node(cpu - 1) &&
> +             PAGE_OFFSET(stubs[cpu - 1] + STUB_BUF_SIZE) )
> +            addr = stubs[cpu - 1] + STUB_BUF_SIZE;
> +        else
> +        {
> +            struct page_info *pg = alloc_domheap_page(NULL, MEMF_node(nid));
>  
> -        unmap_domain_page(memset(__map_domain_page(pg), 0xcc, PAGE_SIZE));

You've dropped this memset() of the whole page to 0xcc.

As a consequence, the stubs for not-yet-onlined CPUs, or for gaps
because of NUMA, are rubble yet mapped executably.

> +            if ( !pg )
> +                return false;
> +            addr = page_to_maddr(pg);
> +        }
> +        stubs[cpu] = addr;
>      }
>  
>      stub_va = XEN_VIRT_END - FIXADDR_X_SIZE - (cpu + 1) * PAGE_SIZE;
> -    if ( map_pages_to_xen(stub_va, page_to_mfn(pg), 1,
> +    if ( map_pages_to_xen(stub_va, maddr_to_mfn(addr), 1,
>                            PAGE_HYPERVISOR_RX | MAP_SMALL_PAGES) )
> -    {
> -        if ( !*mfn )
> -            free_domheap_page(pg);
> -        stub_va = 0;
> -    }
> -    else if ( !*mfn )
> -        *mfn = mfn_x(page_to_mfn(pg));
> +        return false;
>  
> -    return stub_va;
> +    per_cpu(stubs.mfn, cpu) = PFN_DOWN(addr);
> +    per_cpu(stubs.addr, cpu) = stub_va + PAGE_OFFSET(addr);
> +    return true;
> +}
> +
> +void __init init_bsp_stub(void)
> +{
> +    const unsigned int num_cpus = num_present_cpus();
> +    unsigned int i;
> +
> +    ASSERT(!stubs);
> +    stubs = xvmalloc_array(typeof(*stubs), num_cpus);
> +    if ( !stubs )
> +        panic("Unable to allocate stub array");
> +
> +    for ( i = 0; i < num_cpus; i++ )
> +        stubs[i] = INVALID_PADDR;
> +
> +    if ( !assign_stub_page(0) )
> +        panic("Unable to initialize BSP stub region");

\n's for both panic messages.

With the above stuff addressed, I think this is looking ok, but
definitely subject to Jason confirming it resolves his issue.Â  And for
4.22, that might even be sufficient to go in.

The other thing I want to discuss is this:

>      stub_va = XEN_VIRT_END - FIXADDR_X_SIZE - (cpu + 1) * PAGE_SIZE;

because it creates 32 virtual aliases of every stub.

AIUI, this was a hard requirement for the old freeing scheme, but the
optimisation guides recommend against creating aliases like this.Â 
Besides microarchitectural tracking/safety effects, one consequence is
that we end up with 31 aliases which have unsafe branches in them;
disp32's depend on the linear address the code is executed at.

The ideal solution would be allocate VAs just like we allocate paddrs,
and for the map_pages_to_xen() be beside the alloc_domheap_page(),
rather than outside of INVALID_PADDR check.

This reduces the amount of VA space (and L1 pagetables) used by 32
times, and removes the risk of accidentally using the wrong alias.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 12:32:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 12:32:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335446.1597682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXea6-0007K7-6g; Thu, 11 Jun 2026 12:32:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335446.1597682; Thu, 11 Jun 2026 12: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 1wXea6-0007K0-3Y; Thu, 11 Jun 2026 12:32:22 +0000
Received: by outflank-mailman (input) for mailman id 1335446;
 Thu, 11 Jun 2026 12:32:21 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <michael.bommarito@gmail.com>) id 1wXea5-0007Cf-DT
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 12:32:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXea4-002Uok-QL
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:32:20 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <michael.bommarito@gmail.com>)
 id 6a2aaacd-bab6-0a2a0a5309dd-0a2a4504c934-22
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 14:32:20 +0200
Received: from [209.85.222.174] (helo=mail-qk1-f174.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <michael.bommarito@gmail.com>)
 id 6a2aaad3-1dec-0a2a45040019-d155deaeac03-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 14:32:20 +0200
Received: by mail-qk1-f174.google.com with SMTP id
 af79cd13be357-9156ceb55ffso682753885a.0
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 05:32:19 -0700 (PDT)
Received: from server0 (c-68-48-65-54.hsd1.mi.comcast.net. [68.48.65.54])
 by smtp.gmail.com with ESMTPSA id
 af79cd13be357-9160b02f758sm171220685a.36.2026.06.11.05.32.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Jun 2026 05:32: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781181138; x=1781785938; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VGR23VQQ0KIak7ZD7YLq3Alex+Q6WU/vJpcU1WhhyY0=;
        b=SqYRJRjfAsuiK4VUJdw08i8ouV2H2KIYBcZqoX+JBuQIrj1RYMRrYXgSTh6vKMx8pd
         mjdLKJt0D7abDOmQnQrN4zbkqsxb5h9Y5RCwKqgly3tV1xgJGWm/UOuZKKmlI/VnHt56
         RqY9Fid30TE+2i259NOt94bulV6O8On/Y0tjf8KZHu4ETgCxj5uzfCtMjfLEa1yRyqdB
         HkPazyl1yXaIpD17fszyr5ypHn0tCEIVy8xnkITJDR1HGps5IfEpJUMM0lvYetuNA3e2
         tDKgLpKsMt8wwfp1wL0tCURqIyTkRl/ru9VqyH5T3iZ4eZpNArQd0gRJbvUOHMM5VKtW
         aU7Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781181138; x=1781785938;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=VGR23VQQ0KIak7ZD7YLq3Alex+Q6WU/vJpcU1WhhyY0=;
        b=J2KNEaW+9+59ZtS+ZjFuYEFUApy7gM8SbmJ9koi8d6sEzZwPs270jFYRdv6173u8Wf
         lo6nWisOwJ5zhvyzQ8U8pO7GKTal9qG7H5nRLqQTaxuKa0Gx4VxNyr043gbOkMv9287I
         eWl5UiCI/FbaSq983ZKTEk+czLTGoj12k1bqTMqx/TY760Txt5exr6HasqxkgVgMgjRG
         Ojm7GLtRFDCEO5mM9RnqXYsKUsrGKHwJPP6Lzp/1nx0N7bjkj34jbaribOdsV/k1E+/X
         ZOD7+/Z3r7OYO5BZhuADExIN7CnCvN8OYPTjtZTDaCnw3vURUIcA56j0nbQhtjFBOmwF
         bCuQ==
X-Gm-Message-State: AOJu0Yywcs/BEZJe62YxaVGciPGcF1EIHpT/4ebjLvhO/bdyaA5qMaTW
	PzjfDCER5TsmDH1k5raZp+kd+hnuU2XRiJzIUD2/7pJfrGHeHrE2lqnvKSetayijMx0=
X-Gm-Gg: Acq92OFhATUnkLtaSznvW7CmlVX4zWqDpUDecu+Dj6QnMBQ4SXOsM5T4XerlliiNC15
	GyuEivsMt8lC1AYQ5lerGjhHP1K5aRrnqs3iL/7gPAqkA2dy7aeXXAD8jRsLVuXPWZ493Ln0Sft
	7Pq0GfkU2edCjbMBUB2ICBD2WXOqCaUbwAmC0Xd+oFjiqMmcuAKRfW8zITDSXgxwQM832w5SMCE
	jCmbG9ime5HtDupldztciMZ3wGW6rY4vllxhjlCqeZJcJcfiuMebl64SYsquNN0yFLOflj7wN0+
	sXY1DxsjMdbdr9o8Ygfu8txLwNHhmgUfbCckGhzf7pSP8okEgI2Gje9EqAlgRQaS84vdfsVtKD6
	4eF/MmwMF4j5ASR6+tQuyKDVIiRh8VUDxXyGern2KcVFUdvk6XBzyiOmaL9FKQ6djXtSLOP6hl5
	ckAPeAvchplYgoJRufcShU1bOrG9Bb13RzBNyL1XXHR0L4ZfAO/4PaN5R0uhsnHbzqd7rtADjrq
	ZGPMO6PnkiZWaznWv8a+yerEy0WkYw=
X-Received: by 2002:a05:620a:17a2:b0:915:3542:ff72 with SMTP id af79cd13be357-9160acc37e6mr365473885a.22.1781181138395;
        Thu, 11 Jun 2026 05:32:18 -0700 (PDT)
From: Michael Bommarito <michael.bommarito@gmail.com>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org,
	linux-scsi@vger.kernel.org,
	stable@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH 2/2] xen/scsiback: free the command tag on the TMR submit-failure path
Date: Thu, 11 Jun 2026 08:30:46 -0400
Message-ID: <20260611123046.2323342-3-michael.bommarito@gmail.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260611123046.2323342-1-michael.bommarito@gmail.com>
References: <20260611123046.2323342-1-michael.bommarito@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1781181140-28F753FF-CCF362B0/0/0
X-purgate-type: clean
X-purgate-size: 1697

scsiback_device_action() obtains a command tag in
scsiback_get_pend_req() and submits a task-management request with
target_submit_tmr(). When target_submit_tmr() fails it returns < 0
and scsiback jumps to the err: label, which sends a response but
frees nothing, leaking the tag.

Impact: a pvSCSI guest can leak the command tags of a LUN's
session, stopping the LUN, by issuing VSCSIIF_ACT_SCSI_ABORT or
RESET requests whenever target_submit_tmr() fails.

transport_generic_free_cmd() cannot be used here. By the time
target_submit_tmr() returns an error it has already run
__target_init_cmd() (so se_cmd->cmd_kref is one, not zero), and on
its target_get_sess_cmd() error path it has freed se_cmd->se_tmr_req
via core_tmr_release_req() while leaving SCF_SCSI_TMR_CDB set and
the pointer dangling. Letting the command release run
target_free_cmd_mem() would then double-free se_tmr_req.

Use the same helper, which returns just the tag, on this path too.

Fixes: 2dbcdf33dbf6 ("xen-scsiback: Convert to percpu_ida tag allocation")
Cc: stable@vger.kernel.org
Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Michael Bommarito <michael.bommarito@gmail.com>
---
 drivers/xen/xen-scsiback.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/xen/xen-scsiback.c b/drivers/xen/xen-scsiback.c
index f324732eba7f8..c7036e0e41bda 100644
--- a/drivers/xen/xen-scsiback.c
+++ b/drivers/xen/xen-scsiback.c
@@ -658,7 +658,7 @@ static void scsiback_device_action(struct vscsibk_pend *pending_req,
 	return;
 
 err:
-	scsiback_do_resp_with_sense(NULL, err, 0, pending_req);
+	scsiback_resp_and_free(pending_req, err);
 }
 
 /*
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 11 12:32:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 12:32:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335444.1597664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXea3-0006uV-OA; Thu, 11 Jun 2026 12:32:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335444.1597664; Thu, 11 Jun 2026 12:32: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 1wXea3-0006uO-LX; Thu, 11 Jun 2026 12:32:19 +0000
Received: by outflank-mailman (input) for mailman id 1335444;
 Thu, 11 Jun 2026 12:32:18 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <michael.bommarito@gmail.com>) id 1wXea1-0006uC-Rw
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 12:32:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXea1-002Uok-1n
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:32:17 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <michael.bommarito@gmail.com>)
 id 6a2aaacd-bab6-0a2a0a5309dd-0a2a4504c934-10
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 14:32:17 +0200
Received: from [209.85.222.52] (helo=mail-ua1-f52.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <michael.bommarito@gmail.com>)
 id 6a2aaad0-1dec-0a2a45040019-d155de34e958-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 14:32:16 +0200
Received: by mail-ua1-f52.google.com with SMTP id
 a1e0cc1a2514c-961556c15ceso2514169241.3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 05:32:16 -0700 (PDT)
Received: from server0 (c-68-48-65-54.hsd1.mi.comcast.net. [68.48.65.54])
 by smtp.gmail.com with ESMTPSA id
 af79cd13be357-9160b02f758sm171220685a.36.2026.06.11.05.32.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Jun 2026 05:32: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781181135; x=1781785935; 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=hGPUMpfdaDQCNkNjTMnCmLU/jdnRUY0BJXqb4atgwFI=;
        b=rydqUrDoo15CSfiGUIdjxR+2fWJ/4cuq/oP52v6Upu9/6wRrdpZUaZQjehS6gyPd8i
         7buV73GpBPdXsrGgGZ/43WGiktQkQbcFNpIgAqmPFEm6G04DUCtz2tfmnmndP7X1cV0E
         wLPYQ+7DV/3AJ3UxOsO2VSAGbgzbcidAJ1UjVAgPQ6J6nQVdoRunOfKOaWx5vPCR0IzX
         9Fvad/dM6tPUrk8Q0g85lPwxKxsvnb4hB4itHLZZPVEwdRX8yKw8qMYtYpvBYhQ2UbnC
         FzsZFLPeC/CNTPl1dDs3h+T6xBGJqOL/VXvBw/JWbmh4o7nc+yBoCgGRHODrboNaQtnb
         NClA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781181135; x=1781785935;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hGPUMpfdaDQCNkNjTMnCmLU/jdnRUY0BJXqb4atgwFI=;
        b=NzAgOZtOj3NAsvxkkoyQsUmmNO385oC4G8QRBA0AJOP6E/h6u5jxJOSZHj4XpPiZ2Y
         c5VoEtw8+o+XVQnPD+HfjB2BFc5TxkizltDufsPekMw9KV7ivwi147x+maTMEp58D3q5
         XoTho14tw+y8fNQcea7zTvNKcxV+LbxFaxNDgGC/xnY7eJkpy0yp03XxxZuis+n8z4vx
         z3vmg2EJqQhV2af0rKgCFnkfCmlC1oSra1sFXdbgk6ywKBlZo8xTRCNrpgPGE6l/Ij32
         tSosQv8pomL+u9jn6qTp0Qt/JwqjS8WCP+WlY2refutcV+URq3Y20hp681YumXbtOgNG
         HG4w==
X-Gm-Message-State: AOJu0YzDFIxmzN2TB+lc7A1PKm4pxBKVlx7Ytiysw/xqKOfj6ago1DY8
	ghkcelUxeoZTIKsnBZ0RHlpeK5zhORfBWikjqCQLXYjvOYvbh+WvLZF/
X-Gm-Gg: Acq92OG3jdQIYpFuwUFnWD2QvuqIq7bvzfUZh0Jr5j1qIzkwJWkbNl98QxBhFtp8HVP
	Xp7XkMHtK4aG8APBzd8BvWhG0UQEwNY9eS8Kn+kYmL3d0StaeXWcOyzyrMQqws3ycBmkQFH7YDL
	XYaGCvf923PfwPQY3V+GCk1o5/3HS9/CRVcyZa9KX+k/O++A2CUYkE5oTEBrDsKZda7TgRu/cvS
	XbFLxqsa28zCqFBGNGsSnYJI1Kx3PwajmyADhiqHcGp7VMkIkSOW6IdKafZjjqDk9+x5pddm1Bi
	sdZKnWAa3LZVWeAn/ug44jv1abFhUpLBblitOL/jV+PNRqYSffjEM93b7o7RKnePFCQ3G0Os5pt
	0Is23I/KTIP4b6Adp7x+b4+6f+t9vojRB+ZoknV9aUnYGuUEYjng4VsH790V3nc/TFMQ1fXkmwR
	Scr+2ldhBNTsPZDOLwBBzJhA14fEeRCjZNR/dfeXvynQS4F2pXsxwjIi742f6jp+709o+xvoU7g
	LLlOmKaunCbOLnpYS+G85RmW0kIGTlQ9hsD1DjtQg==
X-Received: by 2002:a05:6102:442c:b0:6c2:e290:cc75 with SMTP id ada2fe7eead31-71d5989b9demr795299137.4.1781181135386;
        Thu, 11 Jun 2026 05:32:15 -0700 (PDT)
From: Michael Bommarito <michael.bommarito@gmail.com>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org,
	linux-scsi@vger.kernel.org,
	stable@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH 0/2] xen/scsiback: fix command-tag handling on pre-completion error paths
Date: Thu, 11 Jun 2026 08:30:44 -0400
Message-ID: <20260611123046.2323342-1-michael.bommarito@gmail.com>
X-Mailer: git-send-email 2.53.0
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1781181137-289723FF-F64FD054/0/0
X-purgate-type: clean
X-purgate-size: 1553

scsiback_get_pend_req() hands a pvSCSI frontend request a session tag and
a zeroed se_cmd.  Two error paths that run before the command completes
through the target core mishandle that command and leak (or, in one case,
underflow) the tag.

Impact: a pvSCSI guest can exhaust a LUN's per-session command tag pool,
stopping the LUN, via crafted ring requests; for the first case the
refcount underflow also panics the host under panic_on_warn.

Patch 1 fixes scsiback_do_cmd_fn(): on a failed grant map and on an
unknown request type the never-initialised command (cmd_kref == 0) is
freed with transport_generic_free_cmd(), which underflows the zero
refcount and leaks the tag.

Patch 2 fixes scsiback_device_action(): when target_submit_tmr() fails the
err: path frees nothing.  transport_generic_free_cmd() cannot be used there
either, since the command is initialised by then and se_tmr_req has already
been freed on one error sub-path.

Both paths go through one helper that returns just the tag.

Patch 1's underflow was reproduced on a Xen dom0 (guest to host, with a
panic_on_warn host panic); with the series applied the same request is
handled with no underflow.

Michael Bommarito (2):
  xen/scsiback: free unsubmitted command instead of double-putting it
  xen/scsiback: free the command tag on the TMR submit-failure path

 drivers/xen/xen-scsiback.c | 30 +++++++++++++++++++++++-------
 1 file changed, 23 insertions(+), 7 deletions(-)


base-commit: 5200f5f493f79f14bbdc349e402a40dfb32f23c8
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 11 12:32:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 12:32:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335445.1597673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXea4-00077A-Vx; Thu, 11 Jun 2026 12:32:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335445.1597673; Thu, 11 Jun 2026 12:32: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 1wXea4-000773-TO; Thu, 11 Jun 2026 12:32:20 +0000
Received: by outflank-mailman (input) for mailman id 1335445;
 Thu, 11 Jun 2026 12:32:19 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <michael.bommarito@gmail.com>) id 1wXea3-0006uI-0P
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 12:32:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXea2-002Uok-D9
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:32:18 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <michael.bommarito@gmail.com>)
 id 6a2aaad2-bab6-0a2a0a5309dd-0a2a4503808c-0
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 14:32:18 +0200
Received: from [209.85.222.170] (helo=mail-qk1-f170.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <michael.bommarito@gmail.com>)
 id 6a2aaad1-672d-0a2a45030019-d155deaaa823-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 14:32:18 +0200
Received: by mail-qk1-f170.google.com with SMTP id
 af79cd13be357-915d64fead9so104059985a.0
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 05:32:17 -0700 (PDT)
Received: from server0 (c-68-48-65-54.hsd1.mi.comcast.net. [68.48.65.54])
 by smtp.gmail.com with ESMTPSA id
 af79cd13be357-9160b02f758sm171220685a.36.2026.06.11.05.32.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Jun 2026 05:32: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781181137; x=1781785937; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mLymrEZazNmQKknDX1QeqtCgPzdIbUvDepEeTIb67zo=;
        b=cufL1e0IaEr6ZzGH8Q18AIdilotUMvlN3U5swlRHZHTkXTOuMFjd1ZizV09Re5jKNp
         ki1LgeHx8SRr+9i+P3Caka7IQqwki4yeR1zwD6/7Dh3jb1CxrJf81jwW/zr737j4BwWL
         owtRGDJR32oCiucMJXwFQ5i4NuWP/PHtRht3FAIX0PVIQwFj4bo1r5NxMnHITqJ8YPoM
         mvPuieNPQEEHBW/mHuSGKjJZ8m1/h1hrMN/a6AyNgp1vDCQ6RVdMT27+lH4Kd05GyVvp
         j3oplICphnJiOv6c2a3sxZ8c/43Xf6J13pi6ly6vAqOTqvz03PAJb4Vn7JKTiHI682he
         auLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781181137; x=1781785937;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=mLymrEZazNmQKknDX1QeqtCgPzdIbUvDepEeTIb67zo=;
        b=NANzepFsJxgaPEZgrPGDY4XAjIE3tlqEcGt48WTa3Z9xF2JHrGYoZTYkbkydSmKkhB
         lCko/QKfFu3FyquFIkPM6b/RukpDEIqG6kj93OZezrexax3gVY7wc/7DQLZeNgUsDcpf
         /YUKK5EwUp/zdEUc6YHWZOVOzQZtf2x8LqEV4zxpaDC9xiIeVpTuRq+flUFxFYxKTmYz
         5KhImEn3gfvoa35Db9zJK1ZdRoSC8BYiVftPw/u4EI19qNBeTZw9JWC63Ms8iTOIaGEm
         ZKmg7y1ZxZ8rn6/rUpmWEQPs+c79wGU65V+ax71LrtYmSzfNNJ8nLmSlTdAW/JWp2oQv
         KxMQ==
X-Gm-Message-State: AOJu0YydcvXs3GleSiBLj3iwoRndLXNK4JBX7bf83zCcj+jEdOaeRCIx
	PGpY9xlLeOUm+5UvsIgwsYTsrnuWCln5/ankQN01i05LZvrpSQimXGcr
X-Gm-Gg: Acq92OFEzBNox4jvCyACz9szgr/Q7XXcePs39cljiYBG3XbecaXlVRr2DQs/xDTlEcB
	9dUbFzsisoETg2zUxWFDQnmFtnEBzZmJ7SOm58JCrJEDEGPM71wDj4NmSZpY+Taswt/ymkb8p9H
	oUwRlShyW6UhidxRaDDtsY6mOszyiQ685ruBOu+CO19aj/IRtpwQDv6zv6RRJ7EuoAnGqTgAHuQ
	0Uzabh/dKCfW6Uug2RV10r8WAXBi9mNZJe9hnS+7QeFzK46xPpucDM/lzQjhb7vhHFbioduDQ61
	U8Wyu65rE54IB9FiHXW0jLtOoyPc975vPJa3F2uLXfT4qKK6AsYPZ5u6K2zWXB0ZAa0Gr8b3YlY
	SSR8nu9132qWkyI2I9cqpv2b2Ojjg+nbIWhwss7/4xrYeEOICCpjtjNX+p11bxca5lpQyw50XMI
	0d3OikfF3Tb2leqBH3EHQKJI1ETzwFJVf2QZnRsTiSwoXbm+JE7acSBsWeFVDr/zM47dUhcgksu
	QtwZhYuM7Y0v01ZjOuBcxzYilnFX5c=
X-Received: by 2002:a05:620a:440c:b0:910:c1ba:91d3 with SMTP id af79cd13be357-9160a841f7fmr283346285a.45.1781181136610;
        Thu, 11 Jun 2026 05:32:16 -0700 (PDT)
From: Michael Bommarito <michael.bommarito@gmail.com>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org,
	linux-scsi@vger.kernel.org,
	stable@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH 1/2] xen/scsiback: free unsubmitted command instead of double-putting it
Date: Thu, 11 Jun 2026 08:30:45 -0400
Message-ID: <20260611123046.2323342-2-michael.bommarito@gmail.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260611123046.2323342-1-michael.bommarito@gmail.com>
References: <20260611123046.2323342-1-michael.bommarito@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1781181138-4259D938-C8929943/0/0
X-purgate-type: clean
X-purgate-size: 4396

scsiback_get_pend_req() obtains a command tag and returns a
vscsibk_pend whose embedded se_cmd has only been memset to 0, so
its cmd_kref is 0; the se_cmd is initialised (kref_init() via
target_init_cmd()) only later, in scsiback_cmd_exec(), on the
successful VSCSIIF_ACT_SCSI_CDB path. The two error paths in
scsiback_do_cmd_fn() taken before the command is submitted -- a
failed scsiback_gnttab_data_map() and an unknown ring_req.act --
call transport_generic_free_cmd(&pending_req->se_cmd, 0), which
kref_put()s a refcount of 0. That underflows it ("refcount_t:
underflow; use-after-free") and, as the release function is not
run, leaks the command tag.

Impact: a pvSCSI guest can leak every command tag of a LUN's
session, stopping the LUN, by submitting requests with a bad
grant reference or an unknown request type; under panic_on_warn
the refcount underflow panics the host.

Add a helper that just returns the tag with target_free_tag() and
sends the error response. It frees the tag while the v2p reference
still pins the session, and snapshots the response fields
beforehand because freeing the tag can let another ring reuse the
pending_req slot.

Fixes: 2dbcdf33dbf6 ("xen-scsiback: Convert to percpu_ida tag allocation")
Cc: stable@vger.kernel.org
Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Michael Bommarito <michael.bommarito@gmail.com>
---
Reproduced on a Xen dom0 (Linux 6.1.y) exporting a pvSCSI LUN to a guest.
A frontend that sends a single ring request with an unknown action type
drives scsiback_do_cmd_fn() into transport_generic_free_cmd() on the
never-initialised command and logs

  refcount_t: underflow; use-after-free
  WARNING: ... refcount_warn_saturate
   transport_generic_free_cmd+0x... [target_core_mod]
   scsiback_do_cmd_fn+0x... [xen_scsiback]
   scsiback_irq_fn+0x... [xen_scsiback]

from the vscsiif IRQ thread, and panics the dom0 under panic_on_warn.  The
failed grant-map path reaches the same free.  With this patch the same
request is answered with DID_ERROR and the tag is returned, with no
underflow.  These error paths are unchanged since 2dbcdf33dbf6, so mainline
is affected identically.

 drivers/xen/xen-scsiback.c | 28 ++++++++++++++++++++++------
 1 file changed, 22 insertions(+), 6 deletions(-)

diff --git a/drivers/xen/xen-scsiback.c b/drivers/xen/xen-scsiback.c
index e33f95c91b096..f324732eba7f8 100644
--- a/drivers/xen/xen-scsiback.c
+++ b/drivers/xen/xen-scsiback.c
@@ -611,6 +611,25 @@ static void scsiback_disconnect(struct vscsibk_info *info)
 	xenbus_unmap_ring_vfree(info->dev, info->ring.sring);
 }
 
+/*
+ * Send the error response for a request that did not reach the target core
+ * and return its tag.  Free the tag before the response drops the v2p
+ * reference that keeps the session alive, and snapshot what the response
+ * needs since returning the tag can let the slot be reused.
+ */
+static void scsiback_resp_and_free(struct vscsibk_pend *pending_req,
+				   int32_t result)
+{
+	struct vscsibk_info *info = pending_req->info;
+	struct v2p_entry *v2p = pending_req->v2p;
+	struct se_session *se_sess = v2p->tpg->tpg_nexus->tvn_se_sess;
+	u16 rqid = pending_req->rqid;
+
+	target_free_tag(se_sess, &pending_req->se_cmd);
+	scsiback_send_response(info, NULL, result, 0, rqid);
+	kref_put(&v2p->kref, scsiback_free_translation_entry);
+}
+
 static void scsiback_device_action(struct vscsibk_pend *pending_req,
 	enum tcm_tmreq_table act, int tag)
 {
@@ -792,9 +811,8 @@ static int scsiback_do_cmd_fn(struct vscsibk_info *info,
 		case VSCSIIF_ACT_SCSI_CDB:
 			if (scsiback_gnttab_data_map(&ring_req, pending_req)) {
 				scsiback_fast_flush_area(pending_req);
-				scsiback_do_resp_with_sense(NULL,
-						DID_ERROR << 16, 0, pending_req);
-				transport_generic_free_cmd(&pending_req->se_cmd, 0);
+				scsiback_resp_and_free(pending_req,
+						       DID_ERROR << 16);
 			} else {
 				scsiback_cmd_exec(pending_req);
 			}
@@ -808,9 +826,7 @@ static int scsiback_do_cmd_fn(struct vscsibk_info *info,
 			break;
 		default:
 			pr_err_ratelimited("invalid request\n");
-			scsiback_do_resp_with_sense(NULL, DID_ERROR << 16, 0,
-						    pending_req);
-			transport_generic_free_cmd(&pending_req->se_cmd, 0);
+			scsiback_resp_and_free(pending_req, DID_ERROR << 16);
 			break;
 		}
 
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 11 12:58:16 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 12:58:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335477.1597692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXeyx-0002Ta-6h; Thu, 11 Jun 2026 12:58:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335477.1597692; Thu, 11 Jun 2026 12:58: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 1wXeyx-0002TT-2p; Thu, 11 Jun 2026 12:58:03 +0000
Received: by outflank-mailman (input) for mailman id 1335477;
 Thu, 11 Jun 2026 12:58:01 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <stefanha@redhat.com>) id 1wXeyv-0002TN-MA
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 12:58:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXeyv-00Csrf-2a
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:58:01 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <stefanha@redhat.com>)
 id 6a2ab0a3-e002-0a2a0a5209dd-0a2a450ba044-48
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 14:58:00 +0200
Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <stefanha@redhat.com>)
 id 6a2ab0d7-212f-0a2a450b0019-aa0a817c92a1-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 14:58:00 +0200
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-359-ljIudu3YMUiI3vj_euAS4A-1; Thu,
 11 Jun 2026 08:57:57 -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-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id 193FA18D65C3; Thu, 11 Jun 2026 12:57:48 +0000 (UTC)
Received: from localhost (unknown [10.2.16.137])
 by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP
 id 179B1180057F; Thu, 11 Jun 2026 12:57: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1781182679;
	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=wutI1NEOrxe0Ga9sQ5pG620uXi0d0C5Aj7NTI3FNepo=;
	b=WJqB3KdnoX2lUVrwIePkjJ6aswOz/mkycQOWECcgTHtIeYR8BmpylujZICSJmcYW+Hqs+v
	64qO1Blz97Z283bcRiQuOBsQYPxtbKRi9rv2eF+/JTDrpBiYjQbmVmn7R357F0CeTDQPIH
	smY+JhvQ7YGnU2FaJPCLNXte730Llwk=
X-MC-Unique: ljIudu3YMUiI3vj_euAS4A-1
X-Mimecast-MFC-AGG-ID: ljIudu3YMUiI3vj_euAS4A_1781182671
Date: Wed, 10 Jun 2026 11:37:47 -0400
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Sumit Saxena <sumit.saxena@broadcom.com>,
	"Michael S. Tsirkin" <mst@redhat.com>
Cc: "Martin K . Petersen" <martin.petersen@oracle.com>,
	Jens Axboe <axboe@kernel.dk>,
	"James E . J . Bottomley" <James.Bottomley@hansenpartnership.com>,
	linux-scsi@vger.kernel.org, linux-block@vger.kernel.org,
	Adam Radford <aradford@gmail.com>,
	Khalid Aziz <khalid@gonehiking.org>,
	Adaptec OEM Raid Solutions <aacraid@microsemi.com>,
	Matthew Wilcox <willy@infradead.org>,
	Hannes Reinecke <hare@suse.com>,
	"Juergen E . Fischer" <fischer@norbit.de>,
	Russell King <linux@armlinux.org.uk>,
	linux-arm-kernel@lists.infradead.org,
	Finn Thain <fthain@linux-m68k.org>,
	Michael Schmitz <schmitzmic@gmail.com>,
	Anil Gurumurthy <anil.gurumurthy@qlogic.com>,
	Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>,
	Oliver Neukum <oliver@neukum.org>, Ali Akcaagac <aliakc@web.de>,
	Jamie Lenehan <lenehan@twibble.org>,
	Ram Vegesna <ram.vegesna@broadcom.com>,
	target-devel@vger.kernel.org,
	Bradley Grove <linuxdrivers@attotech.com>,
	Satish Kharat <satishkh@cisco.com>,
	Sesidhar Baddela <sebaddel@cisco.com>,
	Karan Tilak Kumar <kartilak@cisco.com>,
	Yihang Li <liyihang9@h-partners.com>,
	Don Brace <don.brace@microchip.com>, storagedev@microchip.com,
	HighPoint Linux Team <linux@highpoint-tech.com>,
	Tyrel Datwyler <tyreld@linux.ibm.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <chleroy@kernel.org>,
	linuxppc-dev@lists.ozlabs.org, Brian King <brking@us.ibm.com>,
	Lee Duncan <lduncan@suse.com>, Chris Leech <cleech@redhat.com>,
	Mike Christie <michael.christie@oracle.com>,
	open-iscsi@googlegroups.com, Justin Tee <justin.tee@broadcom.com>,
	Paul Ely <paul.ely@broadcom.com>,
	Kashyap Desai <kashyap.desai@broadcom.com>,
	Shivasharan S <shivasharan.srikanteshwara@broadcom.com>,
	Chandrakanth Patil <chandrakanth.patil@broadcom.com>,
	megaraidlinux.pdl@broadcom.com,
	Sathya Prakash Veerichetty <sathya.prakash@broadcom.com>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	mpi3mr-linuxdrv.pdl@broadcom.com,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Ranjan Kumar <ranjan.kumar@broadcom.com>,
	MPT-FusionLinux.pdl@broadcom.com, Daniel Palmer <daniel@thingy.jp>,
	GOTO Masanori <gotom@debian.or.jp>,
	Jack Wang <jinpu.wang@cloud.ionos.com>,
	Geoff Levand <geoff@infradead.org>, Michael Reed <mdr@sgi.com>,
	Nilesh Javali <njavali@marvell.com>,
	GR-QLogic-Storage-Upstream@marvell.com,
	Narsimhulu Musini <nmusini@cisco.com>,
	"K . Y . Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
	Long Li <longli@microsoft.com>, linux-hyperv@vger.kernel.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eugenio Perez <eperezma@redhat.com>, virtualization@lists.linux.dev,
	Vishal Bhakta <vishal.bhakta@broadcom.com>,
	bcm-kernel-feedback-list@broadcom.com,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	John Garry <john.g.garry@oracle.com>
Subject: Re: [PATCH v3 2/4] scsi: host: allocate struct Scsi_Host on the NUMA
 node of the host adapter
Message-ID: <20260610153747.GA121666@fedora>
References: <20260609121806.2121755-1-sumit.saxena@broadcom.com>
 <20260609121806.2121755-3-sumit.saxena@broadcom.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="57Se20/pMUpk+P8R"
Content-Disposition: inline
In-Reply-To: <20260609121806.2121755-3-sumit.saxena@broadcom.com>
X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93
X-purgate-ID: tlsNG-42698a/1781182680-1B77AF3B-E51D8BD2/0/0
X-purgate-type: clean
X-purgate-size: 1636


--57Se20/pMUpk+P8R
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Jun 09, 2026 at 05:48:01PM +0530, Sumit Saxena wrote:
> diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio_scsi.c
> index 5fdaa71f0652..88375574cb18 100644
> --- a/drivers/scsi/virtio_scsi.c
> +++ b/drivers/scsi/virtio_scsi.c
> @@ -929,7 +929,7 @@ static int virtscsi_probe(struct virtio_device *vdev)
>  	num_targets =3D virtscsi_config_get(vdev, max_target) + 1;
> =20
>  	shost =3D scsi_host_alloc(&virtscsi_host_template,
> -				struct_size(vscsi, req_vqs, num_queues));
> +				struct_size(vscsi, req_vqs, num_queues), NULL);

A virtio_device has a parent (this is the virtio transport, like
virtio_pci) and that may have NUMA node.

drivers/virtio/virtio.c:register_virtio_device() could call
set_dev_node(dev, dev_to_node(dev->parent)) to propagate the NUMA node
to the virtio_device if it is not already automatically propagated.

Stefan

--57Se20/pMUpk+P8R
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCgAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmophMsACgkQnKSrs4Gr
c8h+7Af/Yl5xc4DOlpzwRNKEPqqogmtmADQbRI91eNljCoArG1qdxcTTSKksIgWC
5g0jjNOCwbOatljS+FxPkDgpPYoZbsIv+K4p/D6UyHLP+Dff2FQhwPaAKkOvJi6k
9BoNOORgp8ZKrf0RrCTr2M5clKgG0GT+5WxgezSZtTh6wSoN0ksL5kwqx+8B4sWw
irnTFz4hZhKlUsYHWWYvNhiq0ChdmzYMdxw6GFwIWrRpNcElfSmOAMBE12bJeqIi
u2/3ah3cSSanhmuITCC+dXImHUlYtxtFRBowqsxCEtdiRFs5srPStR/WW8yyZoXe
mhXbMPjGmQXNdAT61yT9lw+ZVx2y1w==
=kfg0
-----END PGP SIGNATURE-----

--57Se20/pMUpk+P8R--



From xen-devel-bounces@lists.xenproject.org Thu Jun 11 13:11:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 13:11:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335496.1597701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXfC3-0005Kc-DG; Thu, 11 Jun 2026 13:11:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335496.1597701; Thu, 11 Jun 2026 13:11: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 1wXfC3-0005KV-9F; Thu, 11 Jun 2026 13:11:35 +0000
Received: by outflank-mailman (input) for mailman id 1335496;
 Thu, 11 Jun 2026 13:11:33 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dpsmith@apertussolutions.com>) id 1wXfC1-0005KP-AV
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 13:11:33 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXfC0-006aPN-7u
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 15:11:32 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a2ab3fa-e002-0a2a0a5209dd-0a2a4506c7ac-20
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 15:11:31 +0200
Received: from [136.143.188.51] (helo=sender4-of-o51.zoho.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a2ab401-7371-0a2a45060019-888fbc335287-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 15:11:30 +0200
Received: by mx.zohomail.com with SMTPS id 1781183476971788.4278693599908;
 Thu, 11 Jun 2026 06:11: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=zoho header.d=apertussolutions.com header.i="dpsmith@apertussolutions.com" header.h="Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding"
ARC-Seal: i=1; a=rsa-sha256; t=1781183480; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=maqe0zEljAsZc5Z7mFNegrlJRx0ayOblz0nYyKmyZlHNjmGuL8Z50kQpYwg8UJtDSu1O9ft3aFvVTVnIUb7zXKpIWLF9Zg83LkAuyfU1Z4w8pr3ec+mI8HES44IMq8gw6cMZfieNnkdrl81gOWRjLCw2CFyvZLPpqPhyaSEO230=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1781183480; 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=6SVmJda0/ihaiKMENcSONOEu0BYW6DAROXOmb9ogDrs=; 
	b=RVY/w+Dm8US4qgvUorV6Q5W+oXxybyeiYnxUbfsqnKuGdKTuUTb1wctOK1z2D4SHhKdEvQbqskNvVCFUjwsMD61HdQUhOsZbR7HOgk396ZqqKMWMvPFhRsn7vfmygrYQ57VMByf9V/0Z4XWVcXlL43ElQQS/nqSzdiqLzP4Irbc=
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=1781183480;
	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=6SVmJda0/ihaiKMENcSONOEu0BYW6DAROXOmb9ogDrs=;
	b=E9ntllf3qqyxqIlbpEnbrQPRTbYwMXQfT5JmzxVMcuVGbalcTu3xywrgmlG2GRtA
	6N07L7KZ+1jv9P3hSkWAUG8EQPmjJWDw1MWIYi42BHOyzACGJWgEn2V33TE0EkohpHI
	/CQdSmCeb/2u96ReeogFaJORnYXeYvero6dpFZ9g=
Message-ID: <e5be8bcd-1699-442e-bcc4-25bb2e1c4234@apertussolutions.com>
Date: Thu, 11 Jun 2026 09:11:15 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/2] domctl: Handle XEN_DOMCTL_getpageframeinfo3
 without the domctl lock
To: Ross Lagerwall <ross.lagerwall@citrix.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>, Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
 <20260609151528.2426788-2-ross.lagerwall@citrix.com>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20260609151528.2426788-2-ross.lagerwall@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External
X-purgate-ID: tlsNG-16d1c6/1781183491-8E98AD75-8D066838/0/0
X-purgate-type: clean
X-purgate-size: 1849

On 6/9/26 11:15 AM, Ross Lagerwall wrote:
> It does not have side effects and is protected from concurrent changes
> by the P2M read lock therefore skip taking the domctl lock.
> 
> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
> ---
>   xen/arch/x86/domctl.c | 4 ++++
>   xen/common/domctl.c   | 1 +
>   2 files changed, 5 insertions(+)
> 
> diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
> index 83bf51e498df..0e9a2532887e 100644
> --- a/xen/arch/x86/domctl.c
> +++ b/xen/arch/x86/domctl.c
> @@ -301,6 +301,10 @@ long arch_do_domctl(
>           /* Games to allow this code block to handle a compat guest. */
>           void __user *guest_handle = domctl->u.getpageframeinfo3.array.p;
>   
> +        ret = xsm_domctl(XSM_OTHER, d, domctl);
> +        if ( ret )
> +            break;
> +
>           if ( unlikely(num > 1024) ||
>                unlikely(num != domctl->u.getpageframeinfo3.num) )
>           {
> diff --git a/xen/common/domctl.c b/xen/common/domctl.c
> index 3efa5b9d55b9..35144d95b808 100644
> --- a/xen/common/domctl.c
> +++ b/xen/common/domctl.c
> @@ -555,6 +555,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
>       case XEN_DOMCTL_gsi_permission:
>       case XEN_DOMCTL_bind_pt_irq:
>       case XEN_DOMCTL_unbind_pt_irq:
> +    case XEN_DOMCTL_getpageframeinfo3:
>           ret = arch_do_domctl(op, d, u_domctl);
>           goto domctl_out_unlock_domonly;
>   
I would respectfully ask to be mindful when XSM hooks are being 
manipulated in a patch that a review from an XSM maintainer should be 
sought before committing a patch. In this case case the change itself is 
good, though I would have liked the opportunity to comment that the 
commit message should have had some explanation on the xsm change.

V/r,
Daniel P. Smith


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 13:18:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 13:18:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335503.1597708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXfIl-00063Q-16; Thu, 11 Jun 2026 13:18:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335503.1597708; Thu, 11 Jun 2026 13: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 1wXfIk-00063J-Ua; Thu, 11 Jun 2026 13:18:30 +0000
Received: by outflank-mailman (input) for mailman id 1335503;
 Thu, 11 Jun 2026 13:18:30 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dpsmith@apertussolutions.com>) id 1wXfIj-00063B-Un
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 13:18:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXfIj-006bdp-Be
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 15:18:29 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a2ab5a1-2eae-0a2a0a5409dd-0a2a4504bfe4-22
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 15:18:28 +0200
Received: from [136.143.188.51] (helo=sender4-of-o51.zoho.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a2ab5a2-1dec-0a2a45040019-888fbc335297-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 15:18:28 +0200
Received: by mx.zohomail.com with SMTPS id 1781183897179415.6699944155713;
 Thu, 11 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=zoho header.d=apertussolutions.com header.i="dpsmith@apertussolutions.com" header.h="Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding"
ARC-Seal: i=1; a=rsa-sha256; t=1781183898; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=KiK47b7Wx5F3S1vodA2pJOSTE3OqXdM64WJGAjhygW68M86WSO+VAWTYAFrjnro7laGTPZWi2vb0QOHFw1WO24Ubvp+o1gT0PhnOozE4HNHPT98EIOKCDBd2hBam19L/qPbC2Xr0VrYWuu/jGsj0QA+mOm7QnWzh2echnO2P9rM=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1781183898; 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=qQCFxp6aIawyEFEbO9MDcAvAv2Pl6Hm7nYjdGiVHO1U=; 
	b=KePHQ15fJBu8G9KoDzfkGXkdfnLcMPn2WwGUD1JrEHG9sPZVQytOmR793ZtUSUXIXKLxLAjqYyQOVv9pH8wDrWwpDv0Tc85kEWca8i+xB4Auon98vRnxorLf+6lbCfAcZOg4cRUyXL1sXVf+mRJcGgCeBTxI6mJOhBjFsQU/2cg=
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=1781183898;
	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=qQCFxp6aIawyEFEbO9MDcAvAv2Pl6Hm7nYjdGiVHO1U=;
	b=JJw7VYzSiCICel4H9XzClWYdd1vqOUmmez8W2aWRWLFAeWM2Zz9DhkXJUvJt6ynM
	STbRUJlwaT3XriG+9wSEBLbr79d+q2REZXqw0X0s+fXiZpJNQMmOtEBdhxF3N2f9yVm
	Vxrhw58gJhZWoPRATiOeYjXB3jsA3/74KdKEgyas=
Message-ID: <987f029b-02c0-423c-88fc-2e588f03a5bf@apertussolutions.com>
Date: Thu, 11 Jun 2026 09:18:15 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/2] domctl: Handle some of XEN_DOMCTL_shadow_op
 without the domctl lock
To: Ross Lagerwall <ross.lagerwall@citrix.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>, Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
 <20260609151528.2426788-3-ross.lagerwall@citrix.com>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20260609151528.2426788-3-ross.lagerwall@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External
X-purgate-ID: tlsNG-ebf023/1781183908-42F653FF-13200196/0/0
X-purgate-type: clean
X-purgate-size: 3405

On 6/9/26 11:15 AM, Ross Lagerwall wrote:
> Handle XEN_DOMCTL_SHADOW_OP_{CLEAN,PEEK} without taking the domctl lock.
> This is safe because for these subops, the paging lock is mostly held
> which prevents it from operating concurrently on the same domain. There
> are some parts that are called without the paging lock held:
> 
> * hvm_mapped_guest_frames_mark_dirty() - The function itself takes a
>    spinlock so is protected from concurrent calls. In any case, it will
>    mark all the pages dirty as required.
> 
> * domain_pause() - The toolstack cannot unpause the domain while in
>    paging_log_dirty_op() because the toolstack's pause/unpause ops have
>    a separate ref count.
> 
> * p2m_flush_hardware_cached_dirty() - This is called elsewhere without
>    the domctl lock held so holding it wouldn't achieve anything. It
>    should be fine as long as it is called at least once.
> 
> * log_dirty.ops->clean() - If the callback is hap_clean_dirty_bitmap(),
>    then it will hold the p2m lock while modifying the table. If the
>    callback is sh_clean_dirty_bitmap(), it will hold the paging lock
>    while modifying the table. In both cases, this is OK.
> 
> * domain_unpause() - Same as the earlier domain_pause().

Please add a comment that that xsm check is to continue protecting the 
sub-ops with XS_PRIV.


> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
> ---
>   xen/arch/x86/mm/paging.c |  8 ++++++--
>   xen/common/domctl.c      | 12 ++++++++++++
>   2 files changed, 18 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
> index 1a5822808620..bfb5b423a0dd 100644
> --- a/xen/arch/x86/mm/paging.c
> +++ b/xen/arch/x86/mm/paging.c
> @@ -746,11 +746,15 @@ long do_paging_domctl_cont(
>       ret = xsm_domctl(XSM_OTHER, d, &op);
>       if ( !ret )
>       {
> -        if ( domctl_lock_acquire() )
> +        bool lock = !(op.u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_CLEAN ||
> +                      op.u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_PEEK);
> +
> +        if ( !lock || domctl_lock_acquire() )
>           {
>               ret = paging_domctl(d, &op.u.shadow_op, u_domctl, 1);
>   
> -            domctl_lock_release();
> +            if ( lock )
> +                domctl_lock_release();
>           }
>           else
>               ret = -ERESTART;
> diff --git a/xen/common/domctl.c b/xen/common/domctl.c
> index 35144d95b808..a3888c4e87d4 100644
> --- a/xen/common/domctl.c
> +++ b/xen/common/domctl.c
> @@ -559,6 +559,18 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
>           ret = arch_do_domctl(op, d, u_domctl);
>           goto domctl_out_unlock_domonly;
>   
> +    case XEN_DOMCTL_shadow_op:
> +        if ( op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_CLEAN ||
> +             op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_PEEK )
> +        {
> +            ret = xsm_domctl(XSM_OTHER, d, op);
> +            if ( ret )
> +                goto domctl_out_unlock_domonly;
> +
> +            ret = arch_do_domctl(op, d, u_domctl);
> +            goto domctl_out_unlock_domonly;
> +        }
> +        fallthrough;
>       default:
>           /* Everything else handled further down. */
>           break;

After commit message change,

Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 13:44:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 13:44:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335538.1597717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXfhU-0001Z5-TI; Thu, 11 Jun 2026 13:44:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335538.1597717; Thu, 11 Jun 2026 13:44: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 1wXfhU-0001Yy-Qf; Thu, 11 Jun 2026 13:44:04 +0000
Received: by outflank-mailman (input) for mailman id 1335538;
 Thu, 11 Jun 2026 13:44:03 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXfhT-0001Ys-1r
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 13:44:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXfhS-00CyOC-EU
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 15:44:02 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2abb97-5cb7-0a2a0a5109dd-0a2a45019632-34
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 15:44:02 +0200
Received: from [209.85.221.45] (helo=mail-wr1-f45.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2abba2-c1f2-0a2a45010019-d155dd2dcd2b-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 15:44:02 +0200
Received: by mail-wr1-f45.google.com with SMTP id
 ffacd0b85a97d-45eee266c6cso6564091f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 06:44:02 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70d:3054:345c:e2ed:ca23:72c4?
 (p200300cab70d3054345ce2edca2372c4.dip0.t-ipconnect.de.
 [2003:ca:b70d:3054:345c:e2ed:ca23:72c4])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490e2d046d5sm65839725e9.13.2026.06.11.06.44.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781185441; x=1781790241; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=2oLsIpt2hMOfn3gNlCBuGP3OxTBlSmMK2Hz+z75rlGc=;
        b=goiUYblxWzytFW2RfVF965nHWrpI2ZCePZxQYV0vDsKnbL2A7ZzoJlIeTWQLN6ooIE
         ys+eTrA/bq/+0rh/SJEiqfLRQzskEsnjhuNTcxi+JZLxY529CgR0dMFaejHLESFiD6tJ
         3zLqWvE4iLkphrj6464vYRYYqX1u2ITA2+vzYqJW12dsWSn97Fli/fPXTG06sOIEyn20
         Y0ObHs73wekWyEldxe2rz/PCCOrPmFy/2WIx5ajjPd1yI+QDOWPNGBDM432fhifgiNKE
         OSuRZnersNKCp5kNiTnRTSM9Fz82rmJt1MrnzJpBbRY10tZ/LrQtQTfe7J1iK8do2MiY
         +jYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781185441; x=1781790241;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2oLsIpt2hMOfn3gNlCBuGP3OxTBlSmMK2Hz+z75rlGc=;
        b=DAP8S4af+sFBoGNgLYhpC5JYonmJd5LfIqKHyM+JdzIOVj6GmEoYsPXtJQ6/ZUqFki
         3KzXQH6XnOYZPz/jdLvUiSK/IoredUQ79ySzMezIw+MTDR65uoObGALXBfd/WZ9MoEmO
         KfC1nPyieD3U1o4aRWvjSfYOJfaFaxjwtzn25k6BfhX3iIXgRdx8Blcawc/aGH6ArfWE
         a3AXNI/O5oh8wY72AzmWlLnoPLdgY5vh3Srmr5NZM0Xo69hQIZLbfLIyAVQ89XH7/7WO
         jJDzHZVfTPbUdTFcXERd0SXCdffF9EYU6bSWoxUcGdwzIhwDZnsuVEsHh7Fmw/xGFaDv
         uzPA==
X-Forwarded-Encrypted: i=1; AFNElJ/2VN8dKoI2o9y+E8b0Bu7DA2YFIXZ2aDWuO1PYoFF4XR5hpsgB1u1vrBkWByPdKIrQoGvg6FFYjNo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxxGpaif6xHBeLs+6HxTNkyS9eVYu9HVMNIvfwwBLHJAuii/c52
	/b6fR2ygGbbAwWhh+MlF4y6vTdG0LICo0kfLH4vmk86vL/NZA8tKx/ndpL9hPnTN/Q==
X-Gm-Gg: Acq92OFdAcktGP82cD90rankVPhQNOsjggWWokCLGhVRFv3YVfvnfMo6ogxu7wGY8mC
	qEJ739xjrvFI/iMPBshd3+F09ij8zPyVyp5jjUutUwnubslOlvut/59sYRSfQtu5LGB8qEbAGfe
	Ql8Id/95GWv4BF/G3KORwTGAnEW5cSii+YS0bQGvRBWTHAxGSgChnWn9QS06OCpa/kmgnohFEuP
	f0oDIfKoWnourXt1wOKvK3bdbww34SvJkOIkAs/2HTkcpjBmmUlL+S5OVmyNaKC39VLr/r9iySz
	g6oJs6pzNXzbMXf+IHVYzEn7VdkpSNPhnGx42IIJ35hgSKkrD++zTLvXfjuggEroizJd8UnK6Bl
	wkUusNaCPR13dWLAVluysKfXf18mfb3NCXBJjDY/RoWN4jLmncSmI/Mgz8Q2l6TW6dSAkYhRgoI
	Cj0kx6AHGMi0Y63nRZgY0v2QsuVIkVRqikxSVrBe1yv9AlJSOLJupjCAkBfFoGN+9Tt1368zPeX
	2MH3URuUAUEwPO0guYVXV4sbrhwyCWlaF/DRFvWAUSZsp+32H5dQcqibGEaF4I3uz9KbyU=
X-Received: by 2002:a05:600c:c8c:b0:488:9bf8:7f17 with SMTP id 5b1f17b1804b1-490e560e39fmr43698925e9.14.1781185441387;
        Thu, 11 Jun 2026 06:44:01 -0700 (PDT)
Message-ID: <46ec5166-e147-499a-acbe-d3115551db42@suse.com>
Date: Thu, 11 Jun 2026 15:43:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] sched/rtds: refill cur_budget when extratime is toggled
 on a depleted vCPU
To: Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
 Dario Faggioli <dfaggioli@suse.com>
Cc: George Dunlap <gwd@xenproject.org>, Juergen Gross <jgross@suse.com>,
 Meng Xu <mengxu@cis.upenn.edu>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <9f20b6ac8176da6c67e1084e862158a2e47abc40.1779285422.git.oleksii_moisieiev@epam.com>
 <cafef621-024f-4c3f-862a-4c61a1ab4293@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: <cafef621-024f-4c3f-862a-4c61a1ab4293@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1781185442-AEB5EFF4-9E7BB699/0/0
X-purgate-type: clean
X-purgate-size: 7406

On 10.06.2026 08:50, Oleksii Moisieiev wrote:
> Gentle Ping.
> 
> I've already got R-b from Juergen. Maybe someone else will have time to review?

Dario,

didn't you mean to submit a patch to ./MAINTAINERS, after which JÃ¼rgen's
R-b would suffice for committing?

Jan

> On 20/05/2026 16:57, Oleksii Moisieiev wrote:
>> XEN_DOMCTL_SCHEDOP_putvcpuinfo can flip the RTDS_extratime bit on a vCPU
>> that is currently depleted (cur_budget == 0, possibly sitting on the
>> depleted queue). rt_dom_cntl() touches only svc->flags; cur_budget is
>> left unchanged. As a result the next code path that calls runq_insert()
>> on this vCPU - rt_unit_wake() after a domain_unpause(),
>> rt_context_saved() following a delayed runq add, or repl_timer_handler()
>> after a replenishment - places the vCPU on the run queue, because
>> has_extratime(svc) is now true and runq_insert() admits extratime units
>> regardless of cur_budget:
>>
>> Â Â Â Â  /* add svc to runq if svc still has budget or its extratime is set */
>> Â Â Â Â  if ( svc->cur_budget > 0 ||
>> Â Â Â Â Â Â Â Â Â  has_extratime(svc) )
>> Â Â Â Â Â Â Â Â  deadline_runq_insert(svc, &svc->q_elem, runq);
>> Â Â Â Â  else
>> Â Â Â Â Â Â Â Â  list_add(&svc->q_elem, &prv->depletedq);
>>
>> The very next rt_schedule() iterates the run queue from runq_pick()
>> and trips the ASSERT(iter_svc->cur_budget > 0) at the bottom of the
>> loop, panicking the host. Observed trace:
>>
>> Â Â Â Â  Assertion 'iter_svc->cur_budget > 0' failed at common/sched/rt.c:1035
>> Â Â Â Â  ----[ Xen-4.22-unstableÂ  arm64Â  debug=y ubsan=yÂ  Not tainted ]----
>> Â Â Â Â  [<...>] rt.c#rt_schedule+0x1558/0x33e0 (PC)
>> Â Â Â Â  [<...>] core.c#do_schedule+0x2e4/0x15b4
>> Â Â Â Â  [<...>] core.c#schedule+0xb14/0xe50
>> Â Â Â Â  [<...>] softirq.c#__do_softirq+0x20c/0x3d4
>> Â Â Â Â  [<...>] do_softirq+0x14/0x1c
>> Â Â Â Â  [<...>] domain.c#idle_loop+0x194/0x558
>>
>> Minimal reproducer: pin a single-vCPU domU to a pCPU, program RTDS with
>> extratime off and a low utilisation (e.g. budget = 10ms / period = 100ms)
>> so the vCPU spends most of its time in the depleted queue, pause the
>> domain, issue a putvcpuinfo that sets XEN_DOMCTL_SCHEDRT_extra, then
>> unpause. As soon as the schedule softirq fires on the pCPU, the BUG
>> hits. The same sequence is reachable without an explicit pause: any
>> window in which rt_dom_cntl() runs between burn_budget()'s budget
>> exhaustion and rt_context_saved()'s runq_insert() also closes onto the
>> same broken state, because the per-scheduler lock is dropped between
>> those two points.
>>
>> The semantics for "extratime gets exhausted budget refilled" already
>> live in burn_budget():
>>
>> Â Â Â Â  if ( has_extratime(svc) )
>> Â Â Â Â  {
>> Â Â Â Â Â Â Â Â  svc->priority_level++;
>> Â Â Â Â Â Â Â Â  svc->cur_budget = svc->budget;
>> Â Â Â Â  }
>>
>> Apply the same priority-demotion-and-refill in rt_dom_cntl() when the
>> flag transitions from off to on while the vCPU is depleted, clear
>> RTDS_depleted to match, and - if the vCPU is currently on the depleted
>> queue - move it to the run queue using the same q_remove() +
>> runq_insert() pattern already used by repl_timer_handler(). The vCPU
>> remains on the replenishment queue throughout, so its normal
>> replenishment cadence is preserved.
>>
>> The complementary transition (on -> off) is already safe: clearing the
>> flag only narrows the runq_insert() admission condition, so subsequent
>> depleted insertions correctly route to the depleted queue.
>>
>> No other call sites need changes: with cur_budget restored before the
>> flag is observable to runq_insert(), runq_pick()'s long-standing
>> invariant (every run-queue entry has cur_budget > 0) is preserved.
>>
>> Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
>> ---
>>
>> Â  xen/common/sched/rt.c | 34 ++++++++++++++++++++++++++++++++++
>> Â  1 file changed, 34 insertions(+)
>>
>> diff --git a/xen/common/sched/rt.c b/xen/common/sched/rt.c
>> index b156f61afa..18e39977be 100644
>> --- a/xen/common/sched/rt.c
>> +++ b/xen/common/sched/rt.c
>> @@ -1465,7 +1465,41 @@ rt_dom_cntl(
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  svc->period = period;
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  svc->budget = budget;
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  if ( local_sched.u.rtds.flags & XEN_DOMCTL_SCHEDRT_extra )
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  {
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /*
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  * Turning extratime on while the vCPU is depleted
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  * (cur_budget <= 0) leaves cur_budget unchanged. The
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  * next runq_insert() on this vCPU - from
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  * rt_unit_wake() after a domain unpause,
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  * rt_context_saved() following a delayed runq add, or
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  * repl_timer_handler() - then places it on the run
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  * queue because has_extratime() is now true, even
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  * though cur_budget is 0. The very next rt_schedule()
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  * iterates the run queue from runq_pick() and trips
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  * the ASSERT(iter_svc->cur_budget > 0).
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  *
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  * Apply the same priority-demotion-and-refill that
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  * burn_budget() would have performed if the flag had
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  * been set when the budget ran out, clear the
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  * depleted state, and - if the vCPU is currently on
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  * the depleted queue - move it to the run queue so
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  * the new extratime allocation is picked up
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  * immediately instead of waiting for the next
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  * replenishment.
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  */
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  if ( !has_extratime(svc) && svc->cur_budget <= 0 )
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  {
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  svc->priority_level++;
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  svc->cur_budget = svc->budget;
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  __clear_bit(__RTDS_depleted, &svc->flags);
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  if ( unit_on_q(svc) )
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  {
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  q_remove(svc);
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  runq_insert(ops, svc);
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  }
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  }
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  __set_bit(__RTDS_extratime, &svc->flags);
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  }
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  else
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  __clear_bit(__RTDS_extratime, &svc->flags);
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  spin_unlock_irqrestore(&prv->lock, flags);
> 



From xen-devel-bounces@lists.xenproject.org Thu Jun 11 13:46:55 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 13:46:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335546.1597727 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXfkE-00024B-Ag; Thu, 11 Jun 2026 13:46:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335546.1597727; Thu, 11 Jun 2026 13: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 1wXfkE-000244-7E; Thu, 11 Jun 2026 13:46:54 +0000
Received: by outflank-mailman (input) for mailman id 1335546;
 Thu, 11 Jun 2026 13:46:53 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXfkD-00023y-LE
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 13:46:53 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXfkD-00AwxU-0b
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 15:46:53 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2abc44-bab6-0a2a0a5309dd-0a2a4505b6f8-30
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 15:46:52 +0200
Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2abc4c-aaa8-0a2a45050019-d155dd35bdfd-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 15:46:52 +0200
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-45fe59255beso4334849f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 06:46:52 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70d:3054:345c:e2ed:ca23:72c4?
 (p200300cab70d3054345ce2edca2372c4.dip0.t-ipconnect.de.
 [2003:ca:b70d:3054:345c:e2ed:ca23:72c4])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2ec711sm78545635f8f.12.2026.06.11.06.46.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 06:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781185612; x=1781790412; 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=/HZuT9k6Z48d6OVPdJE9YIhgJiAiSSch+MUzdSYF09k=;
        b=UiqF4UdEjcYnfXfvPDWh64V6w4aTh0a+jTB5uc7t4PgWHH5jKLUPhgZkwlJcb1XciJ
         +qyeZMPZ+x3X65lkRbQmLRHMffP4HZH8j2aiJVrMLpEPuFjM+rP6TNH/XaJyPHPXV3Dh
         f7km3h3a9l4l9lg3keisOxhFE6knLImypeSuRS5k9sT56cXOp2h77xhVSdl0baWU3iEj
         g3KBlPvItIQ5vcvCg9IKRlMXmktrTr9pqkRLqYFYXnIF4eYZOSsvOxzMjerzSmfeOYwI
         FKLfu1KokW638ADEcBhfqCqOeZ1Row04uwE0a4YB/1DGDiQ8FLwva6EArjCiEIf+9gLE
         zytw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781185612; x=1781790412;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/HZuT9k6Z48d6OVPdJE9YIhgJiAiSSch+MUzdSYF09k=;
        b=Jarmm5HKzZW/huko0sFPDVSjrX2b6Tx1NwneuvcqRNm93aKO7AviIP8zmZnEvORysw
         3RN8lZOmUq9ySlNbgbF4Zj7oVJGj93CwTYOm+sqJJu4TfLhxmMf0qGTx6Fu8dAPCKZV1
         sEeD/95kLrE3h4CBLyzONj4n2Z6z+H/QGKQguL329fBlJynEiNCH5K7ULpfLBbsM2XHy
         SW4o0gEFqXMuoEayal4WNa3H1kWlmQhXOVIlN8/eO6It8X0u5beqy1532JqRekfT6iln
         NkzSN6iZURiqX5EAWrzqsMohJ3wMhJjRxeLUL34A491xDP/TOKTRTl5EUbJbUuUid/sV
         h6Lg==
X-Forwarded-Encrypted: i=1; AFNElJ/ig3G/MYORDZJWvOMCcw+zEnImFbwiF46Qbq5hkeXyFBqBZNkuOY2Tyn1A3/RoBIlgrlF1mkQ/Abw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzLK9n2lG5BI7UgXZ9fPLlKnNg4nX+E3WUX9GZG5cNrLWG7bzS4
	rd7L4UjT+UBzquOomx1VLUjK2aStp0sILcB2IC6U5N4X7a3gr5CSEy5urKzvAtfc36yMp4HRc8R
	z62Q=
X-Gm-Gg: Acq92OFQdT4LrbEBf3pcsrIHTIQkNm/+gXMRWXEU5ajVKllF6aAzxJ6ozpQkcESB5rq
	6/8+LSRpLfU2lcFypi9IxtdxuErYceofhg/mslc2qRh4ZEqVO0oy2cdmJf+9iBvEn3k+gHwyzwR
	x9gvkBiQH+9e6W20gv2INzsJgVCjwwBw7Quv0HFJWaa1xGfjZpZPQvrNThoxakaY09OqJpoUOll
	QOB7g7+nTKSNUqsv0NpSEdrJ9hG+AhXgzhWc6qfzQnu4EyO/VqS+e4X/D7zX60Ndo8olsC/IoCE
	LezEgYcxJ1jg2I+qAbNa1mU94dw3L9r/pP2MpPd7qiMZ2mHiZkX9gaztIT3YU3otvE7pVueOsI2
	mNgkYGpdTIfm1jZg7RvVT6wN//X2L4dY9Ou2XULXmMDgaAVwYHpLhnuyir4Jt49ogXh2H/DMBiE
	ls6qWMjmk04t2v0iEpwn2rc2WWyf9wgeN0fh86pUl+lD7iFiTD7agO02rk4mLokQN/npi/OThre
	+V6mnOKxwmcj4+itqb7DNwumEdIXYX0PF+RcusKlmLPEEY0AhQrZL1M4iC3cGn7nh0TjXs=
X-Received: by 2002:a05:6000:1844:b0:45e:a0ab:8bd1 with SMTP id ffacd0b85a97d-4606746a073mr4464970f8f.7.1781185612463;
        Thu, 11 Jun 2026 06:46:52 -0700 (PDT)
Message-ID: <906bd0bf-39a8-4c0c-b158-a82c81428984@suse.com>
Date: Thu, 11 Jun 2026 15:46:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] sched/rtds: refill cur_budget when extratime is toggled
 on a depleted vCPU
From: Jan Beulich <jbeulich@suse.com>
To: Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
 Dario Faggioli <dfaggioli@suse.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: George Dunlap <gwd@xenproject.org>, Juergen Gross <jgross@suse.com>,
 Meng Xu <mengxu@cis.upenn.edu>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <9f20b6ac8176da6c67e1084e862158a2e47abc40.1779285422.git.oleksii_moisieiev@epam.com>
 <cafef621-024f-4c3f-862a-4c61a1ab4293@epam.com>
 <46ec5166-e147-499a-acbe-d3115551db42@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: <46ec5166-e147-499a-acbe-d3115551db42@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1781185612-DAD6F443-213EE1A8/0/0
X-purgate-type: clean
X-purgate-size: 457

On 11.06.2026 15:43, Jan Beulich wrote:
> On 10.06.2026 08:50, Oleksii Moisieiev wrote:
>> Gentle Ping.
>>
>> I've already got R-b from Juergen. Maybe someone else will have time to review?
> 
> Dario,
> 
> didn't you mean to submit a patch to ./MAINTAINERS, after which JÃ¼rgen's
> R-b would suffice for committing?

Ah, I now see JÃ¼rgen sent such a patch. Oleksii - then a release ack would
be needed for this fix to (finally) go in.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 13:49:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 13:49:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335554.1597736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXfmP-0002f0-Rb; Thu, 11 Jun 2026 13:49:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335554.1597736; Thu, 11 Jun 2026 13:49: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 1wXfmP-0002et-Ny; Thu, 11 Jun 2026 13:49:09 +0000
Received: by outflank-mailman (input) for mailman id 1335554;
 Thu, 11 Jun 2026 13:49:08 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wXfmO-0002en-3c
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 13:49:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXfmN-00FvyU-GE
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 15:49:07 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a2abcc8-e002-0a2a0a5209dd-0a2a4504a30c-32
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 15:49:07 +0200
Received: from [209.85.218.53] (helo=mail-ej1-f53.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgross@suse.com>)
 id 6a2abcd2-1dec-0a2a45040019-d155da35ac48-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 15:49:06 +0200
Received: by mail-ej1-f53.google.com with SMTP id
 a640c23a62f3a-beb7f26ed62so900597666b.0
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 06:49:06 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bfcb53c3587sm67622666b.34.2026.06.11.06.49.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781185746; x=1781790546; 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=/u2Fpj2bpIbUc9hH/emoRhr6LRHejArOjpvCjWMJJKg=;
        b=Z3JxIzwXIgW5VVgFQUcBT0YiXqSWHORZkT+JF1dH1bi5eXvbYGNSOP7zxv9a3BaXEC
         HTkh6Z0NVdfKxnGcub79HOZez5a9/Q6UtukyawzrQUczXTlfRo8wrZLOOMqapJ974191
         X1/p2AlnyUO9nl9XRHJEw7wdZYADz07C+mwnyKNZ2rIHre4LefQ1Ofd0pHW4Tw8jZsRE
         tH01BwrqhLponnHuFfr/Ptkg05oN9elZo4HNeFB10unIHkuG2mgNrU78l/ecflyJLf9a
         2IS0lhnIewnYZe3UZ7m0frggJZg5nbT20KPpDe+Q5QcQaBUeVJSB1w4mvjUrfLFXutE5
         dgyw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781185746; x=1781790546;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=/u2Fpj2bpIbUc9hH/emoRhr6LRHejArOjpvCjWMJJKg=;
        b=BFyqhoIshfUQG/Fl5jBqzkYs+HT5rJXr5IwlRprTd0RSzYCwBUHEfKRNsUcRCTBOwB
         TVD/kTnzZZmxAPIH7wlHkvPAuGgT8IfmTPxP77CVxHi7T9pzQV/J9koUE2htdFtQNQcd
         jMxXx3sAccFTp4J0bJjozpuK92IQ7lLwSIkmBG17hVJjoXceNSXhameY6/Ae2gBljVed
         jBSGHXatBNxIXaKbS5yOpSZqYQbN5P5DyvdYCfczzBbXYiQj3FcXWCA57KiLFpTq2o+U
         dyn6hsDUNZQ2QCuEakTUdZ42K7YrbVgxs3U0E/jOb6XOpMW8xwCtb9QMHe4UYJbqW0v2
         wcUg==
X-Forwarded-Encrypted: i=1; AFNElJ/n4DwJwuqBMl3Mxr+q8KBv3jR1pNnS8XRLnbJ7qmhQOKZODgX3qW8MH1CYHelUOnDQ/+YbSgzHHDk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxICnNBhF+KspfsNe/iMSu8sKp/UvtX946wqyhs7GgY2MeZCII9
	oluHH2f9tdo7Xx4YJPo8d9ZZ5joqe7qUIcWSDsBF22OvTR8ILK4mEldP4MWe/VQB1uM=
X-Gm-Gg: Acq92OEP6DpDGuuDfNq3SqjFwpcbR0xZPkx56NuGWEnCqqvV/kl9UOWlVWbdgQmE3nJ
	FfOuYGv6ASvINeHS5vOszE8pr/vlrQaAA/xyJEg1MiDVjhVSmn//YDEVvBaYvzB62fDbdK94dL6
	eb3Vf2Pihuo66u9icr1psHP+ObgOy0Pd24LNRXb+ExvAD/Ektr9HLlflgZUqxp5wM3A4LOk7gEJ
	fYiygHMsHLJNepGZn1KID0iwV44q8ix7WMnZOLe9ypCf74WihmIQJ+FPUKZFzboUPUzfOUZT8g6
	GJ8FOyXJMU3oYb9Wr7QPVfCfNz5hAdJrCAnDXjstbjSLhiwPe+ImnxYAKDnFhBl9Kd7GDROR5PT
	KQ7C6BNiVvcbyohFkH8dx/zMc1DaueNcE0moJ+ekTZFwxUoA7gavKAjo0OKzJ9GE/2bNMPU8jdd
	VT9xNNJdv15pCJoKMp/gxC5jV2ffq9gV5XdW/pYGF+VmVy4Ag1G5K1/JisEMiEncEByTypMnIZc
	38STtJ10UUZ+P9I+JbtuQJzDmYpLpkkaFx3kR6zRgTpXfd3bG/w+0wKGvdvbeiK
X-Received: by 2002:a17:906:5a59:b0:bd8:f919:5c0 with SMTP id a640c23a62f3a-bfc863e1c4emr121598766b.27.1781185745811;
        Thu, 11 Jun 2026 06:49:05 -0700 (PDT)
Message-ID: <8c3fcb8a-fe03-4a6f-afd7-561fc1bff0d4@suse.com>
Date: Thu, 11 Jun 2026 15:49:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] sched/rtds: refill cur_budget when extratime is toggled
 on a depleted vCPU
To: Jan Beulich <jbeulich@suse.com>,
 Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
 Dario Faggioli <dfaggioli@suse.com>
Cc: George Dunlap <gwd@xenproject.org>, Meng Xu <mengxu@cis.upenn.edu>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <9f20b6ac8176da6c67e1084e862158a2e47abc40.1779285422.git.oleksii_moisieiev@epam.com>
 <cafef621-024f-4c3f-862a-4c61a1ab4293@epam.com>
 <46ec5166-e147-499a-acbe-d3115551db42@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: <46ec5166-e147-499a-acbe-d3115551db42@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------pv0jz9i91qVVItugJ9BAiUpf"
X-purgate-ID: tlsNG-ebf023/1781185746-43F6D3FF-1644305F/0/0
X-purgate-type: clean
X-purgate-size: 8426

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------pv0jz9i91qVVItugJ9BAiUpf
Content-Type: multipart/mixed; boundary="------------oXwmCWxjEc9NjOuzQ0ggP2Di";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
 Dario Faggioli <dfaggioli@suse.com>
Cc: George Dunlap <gwd@xenproject.org>, Meng Xu <mengxu@cis.upenn.edu>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <8c3fcb8a-fe03-4a6f-afd7-561fc1bff0d4@suse.com>
Subject: Re: [PATCH] sched/rtds: refill cur_budget when extratime is toggled
 on a depleted vCPU
References: <9f20b6ac8176da6c67e1084e862158a2e47abc40.1779285422.git.oleksii_moisieiev@epam.com>
 <cafef621-024f-4c3f-862a-4c61a1ab4293@epam.com>
 <46ec5166-e147-499a-acbe-d3115551db42@suse.com>
In-Reply-To: <46ec5166-e147-499a-acbe-d3115551db42@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=

--------------oXwmCWxjEc9NjOuzQ0ggP2Di
Content-Type: multipart/mixed; boundary="------------zn16Riv9R9I0CfE5Sd6IuEtL"

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

T24gMTEuMDYuMjYgMTU6NDMsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxMC4wNi4yMDI2
IDA4OjUwLCBPbGVrc2lpIE1vaXNpZWlldiB3cm90ZToNCj4+IEdlbnRsZSBQaW5nLg0KPj4N
Cj4+IEkndmUgYWxyZWFkeSBnb3QgUi1iIGZyb20gSnVlcmdlbi4gTWF5YmUgc29tZW9uZSBl
bHNlIHdpbGwgaGF2ZSB0aW1lIHRvIHJldmlldz8NCj4gDQo+IERhcmlvLA0KPiANCj4gZGlk
bid0IHlvdSBtZWFuIHRvIHN1Ym1pdCBhIHBhdGNoIHRvIC4vTUFJTlRBSU5FUlMsIGFmdGVy
IHdoaWNoIErDvHJnZW4ncw0KPiBSLWIgd291bGQgc3VmZmljZSBmb3IgY29tbWl0dGluZz8N
Cg0KSSBkaWQgc28gYWxyZWFkeSwgc2VlaW5nIE9sZWtzaWkncyBtYWlsLg0KDQpJIGd1ZXNz
IHdlIHdhbnQgdG8gZ2l2ZSBNZW5nIGEgY2hhbmNlIHRvIHJlYWN0IGluIGNhc2UgaGUgaXMg
c3RpbGwgcmVjZWl2aW5nDQp0aGVzZSBtYWlscy4NCg0KDQpKdWVyZ2VuDQo=
--------------zn16Riv9R9I0CfE5Sd6IuEtL
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-----

--------------zn16Riv9R9I0CfE5Sd6IuEtL--

--------------oXwmCWxjEc9NjOuzQ0ggP2Di--

--------------pv0jz9i91qVVItugJ9BAiUpf
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/Ey8FAmoqvNEFAwAAAAAACgkQsN6d1ii/Ey8a
Zwf/WBcbgLIn1xSDst7o4OmsKUKWpXytqXe+yczL0qAyE4KGEf0K5PLAZe0OLgpiDCci9lsFuj8c
Cr2/v2PjBw0tMFxYs+G2Z/LmJzJG0tFXLJEs8i5hF0/qhNM34CmPOLWYSXQcc0FniZ5LtKf8WI39
OEgcr+g3/cVFGHnTG6QagPdY0KJaA8SFOn98FHrvzgXYTYbcm6eeHmGtGXbPB7CYj+N1arK7YcV8
t0693X2JA6SJRZiqUG97qXeX6TsTmuWxJNGb8C4DOrIB7RtDoa9eM8vtkpQTCTKZ5yD8a5Rhk4b4
w7Zh3urNrJru7LNJU98s/gUPZDgRmWzi93gGQy8eXw==
=suoL
-----END PGP SIGNATURE-----

--------------pv0jz9i91qVVItugJ9BAiUpf--


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 13:56:55 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 13:56:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335562.1597745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXftq-0004Bo-Hc; Thu, 11 Jun 2026 13:56:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335562.1597745; Thu, 11 Jun 2026 13:56: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 1wXftq-0004Bh-Ec; Thu, 11 Jun 2026 13:56:50 +0000
Received: by outflank-mailman (input) for mailman id 1335562;
 Thu, 11 Jun 2026 13:56:49 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wXftp-0004BL-3q
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 13:56:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXfto-00D1NM-9y
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 15:56:48 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2abe96-2eae-0a2a0a5409dd-0a2a4507b33a-18
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 15:56:48 +0200
Received: from [209.85.208.50] (helo=mail-ed1-f50.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2abea0-229c-0a2a45070019-d155d032ad90-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 15:56:48 +0200
Received: by mail-ed1-f50.google.com with SMTP id
 4fb4d7f45d1cf-68d23396ed3so14333219a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 06:56:48 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-68e65868049sm10854668a12.24.2026.06.11.06.56.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 06:56:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781186208; x=1781791008; 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=nHP74RHtJAMJj+Qu4dTQooUNBbVls9nJuCfXbi3DdN8=;
        b=nr8NRH9xIPx16Zn4anWwqgl/e1goOs4Um0uvKrlb0P9iOkjCwwLLrxfzHOOAxvClrZ
         Lrs7SRmMF2Ns985+/3hNyTwgQGlrZG27g4e7DYC17ROxwVSSlsa8aZIkEdWOg5oFs+kY
         vBL9UlSWeYys0TZIaVpCeL7Y1Tx8IQfIA5CglQ7Ql4KlF97MIENsv5TqsKZvViDohL2S
         j1sTEupTvLOXgkvGFq9U3cXZU1AA4b7XOwLPdK/Hwe7m34Q9l21eNl96/sU0Ecotycu8
         nIQ+nQNNKKpwAG9QEpfuQOncNlKTRHxVtylZsLkrZ3G+OwvHF6sQgLq9MB1sO2xwgyBe
         mCWQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781186208; x=1781791008;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=nHP74RHtJAMJj+Qu4dTQooUNBbVls9nJuCfXbi3DdN8=;
        b=SKbJY3ufhOc7l88sdX+Gn+qY5JB/WhKRcpaZLMVWMfz+c4WELEvgV8j7L+2xB+sZZ8
         NWhWIva5egNRy1t7pBQZzbOLx8gv5yRdwPioq3EiW33GXFQrsge7np3w6WISV6KHqVZ9
         qFBP6cGRO8mcrP7USDBJidf3tsc8nJybmnZM2xQgJC/1iDwiYuQASXFe6Ad6Q8x9gXOa
         VGSOubtAovUfCUHy1UPZHV+3bl9woHx3DLN+Ziy0TV0reNVrqPIu+RQc5qKi02y+3g+l
         jBvVDzw62Kv87VN/FRcu+RsYhYINzYyI8pG4569V5pi4czuf1ZHN7kyweshASTjJ5coi
         arHw==
X-Forwarded-Encrypted: i=1; AFNElJ8WlvZFxdQxdG6soqv6MYdcDOsPeuinP+1CdvfnFzBrgnccNQWbwq7QnuWOb4Gkdkdm9Rpkau8KUOo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxl9rmXcOhZ29ZmZJ8A4ciRFIdV8tUTWfUr5mqw1i20gO7pMJfm
	ZXQ2SC1cJidKbnZ+F4/eGh0U0IFR7e5MKKqdDeQCCWiQQ+nuFeT1vumn
X-Gm-Gg: Acq92OHU5Q7/RdNhnqF0QGmdWXnMhtjmN1pGsnM+x2DTKUm/VId6h2FQRL1hi0pN4OY
	DRURcX+WYeyswIIAE5kxqSlg6MaMsAXD7K6DHTzJfliuq5JCePDq5Tt2BzCdutWQ9AO9RGZf+Uj
	My86f8YeVb+ls04XD43Rw60Bp6BaUZsuCOp6g0RmZv/FNHXSZlmO0arKRSwLsERs4mdgoM+UrmN
	dJvlmLvRTdO5Ux6zArkjBNZi2u+Jcp7MBT5xoalxJbkyM5eTu6pqxVW/T3XkLW9FPGVfcMQtXZ3
	VEEt4OUzo0laRgTdpKl9poo+ADw1femyQviHnwhXax5qXjDiAyydMtrX1zsLHj8BzfsNedA1c5M
	dBqW/0f1IpD4zzbqtsuJB404+Gv5AbKB52mXOLUUoDX/0GyAtjBxS4mU4aNY/lxYUxxg9Z3Awne
	4RQjdlEdrQ4y3tio9lGfsaPhUidweOCNcTCeP+WM6AKW035195LVOoxRTANtqH68up5+HEex77b
	3J07YoeW3TpQW3qXFo1ENOMPeQ=
X-Received: by 2002:a05:6402:3226:b0:691:5124:45de with SMTP id 4fb4d7f45d1cf-6930e2c359dmr1529062a12.16.1781186207473;
        Thu, 11 Jun 2026 06:56:47 -0700 (PDT)
Message-ID: <aeed4ea8-c300-4c68-9dc5-2c7a41719505@gmail.com>
Date: Thu, 11 Jun 2026 15:56:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] xen/x86: Change stub page allocation/free
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Teddy Astie <teddy.astie@vates.tech>
References: <20260611075342.58428-1-roger.pau@citrix.com>
 <1639ef93-4260-4a2b-bcfd-d39a059c1c56@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <1639ef93-4260-4a2b-bcfd-d39a059c1c56@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1781186208-0BD7FC48-742639B3/10/73395122804
X-purgate-type: spam
X-purgate-size: 8009



On 6/11/26 1:38 PM, Andrew Cooper wrote:
> On 11/06/2026 8:53 am, Roger Pau Monne wrote:
>> From: Jason Andryuk <jason.andryuk@amd.com>
>>
>> Today the inline tracking of the stub page is problematic.  0xcc is used to
>> indicate unused, but it is also a "clear value."  A !CONFIG_PV build with
>> smt=0 will bring up CPU0, bring up CPU1, bring down CPU1, and free the
>> in-use stub page.  CPU0 or subsequent onlined CPUs can write to the re-used
>> page.
> 
> I'm pretty sure a CONFIG_PV build booted on a FRED enabled system will
> do the same.
> 
> This is the other case where we (now) forgo writing out the LSTAR/CSTAR
> stubs.
> 
>>
>> The new approach uses a global, CPU-indexed dynamically allocated array of
>> stub addresses.  However, to handle NUMA aware allocations, we cannot
>> allocate all the memory in advance because of the NUMA dependency.  Take
>> advantage of the fact that Xen will attempt to contiguously pack CPUs on
>> the same NUMA node (see normalise_cpu_order()), and on CPU bringup use the
>> same stubs page the previous CPU did if suitable.  Note the code would
>> still function properly even if CPUs from NUMA nodes are not contiguously
>> packed, it just consumes more memory.
>>
>> stub pages are no longer freed.  They remain referenced in the global
>> CPU-indexed array and are re-used if the CPU is re-onlined.
>>
>> stubs and node_stubs don't have an explicit lock.  During boot they are
>> accessed single threaded.  During runtime, &cpu_add_remove_lock serializes
>> access.
> 
> Is node_stubs stale?Â  Stub(s) should be capitalised at the start of the
> sentence.Â  In context, it's not clear that it's a variable name, and it
> doesn't need to be the literal variable name to convey the intended meaning.
> 
>>
>> Fixes: 7a66ac8d1633 ("x86: move syscall trampolines off the stack")
>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
>> ---
>> There are other even more simple options here: for example Andrew proposed
>> to pack stubs contiguously in both the physical and the linear address
>> spaces, at the cost of possibly loosing the NUMA memory affinity between
>> the allocated page and the CPU using it.  We have decided to go for a more
>> conservative approach here, that keeps the same properties as the current
>> logic regarding NUMA memory affinity of the stub region.
> 
> Part of the suggestion was made in error, but there's a second aspect
> which I'll discuss at the end of the email.
> 
>> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
>> index 4192edf635b6..cddf8806c877 100644
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -2089,9 +2089,7 @@ void asmlinkage __init noreturn __start_xen(void)
>>   
>>       init_idle_domain();
>>   
>> -    this_cpu(stubs.addr) = alloc_stub_page(smp_processor_id(),
>> -                                           &this_cpu(stubs).mfn);
>> -    BUG_ON(!this_cpu(stubs.addr));
>> +    init_bsp_stub();
> 
> Personally, I'd name this init_stubs().Â  It does work for more than just
> the BSP, and the bsp_* part is only really needed for clarity when
> there's a matching ap_* variant, which is not the case here.
> 
>>   
>>       bsp_traps_reinit(); /* Needs stubs allocated, must be before presmp_initcalls. */
>>   
>> diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
>> index d8fd71ffab37..3282392317f4 100644
>> --- a/xen/arch/x86/smpboot.c
>> +++ b/xen/arch/x86/smpboot.c
>> @@ -641,41 +642,61 @@ static int do_boot_cpu(int apicid, int cpu)
>>       return rc;
>>   }
>>   
>> -#define STUB_BUF_CPU_OFFS(cpu) (((cpu) & (STUBS_PER_PAGE - 1)) * STUB_BUF_SIZE)
>> +/* Dynamically allocated, indexed by CPU.  Store physical address of stubs. */
>> +static paddr_t *__ro_after_init stubs;
>>   
>> -unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn)
>> +static bool assign_stub_page(unsigned int cpu)
>>   {
>>       unsigned long stub_va;
>> -    struct page_info *pg;
>> +    paddr_t addr = stubs[cpu];
>>   
>> -    BUILD_BUG_ON(STUBS_PER_PAGE & (STUBS_PER_PAGE - 1));
>> -
>> -    if ( *mfn )
>> -        pg = mfn_to_page(_mfn(*mfn));
>> -    else
>> +    if ( addr == INVALID_PADDR )
>>       {
>> -        nodeid_t node = cpu_to_node(cpu);
>> -        unsigned int memflags = node != NUMA_NO_NODE ? MEMF_node(node) : 0;
> 
> I think you need to retain this calculation of memflags.
> MEMF_node(NUMA_NO_NODE) doesn't work as expected.
> 
>> +        nodeid_t nid = cpu_to_node(cpu);
>>   
>> -        pg = alloc_domheap_page(NULL, memflags);
>> -        if ( !pg )
>> -            return 0;
>> +        /*
>> +         * Attempt to use the same page as the previous CPU if possible,
>> +         * otherwise allocate a new one.
>> +         */
>> +        if ( cpu && nid == cpu_to_node(cpu - 1) &&
>> +             PAGE_OFFSET(stubs[cpu - 1] + STUB_BUF_SIZE) )
>> +            addr = stubs[cpu - 1] + STUB_BUF_SIZE;
>> +        else
>> +        {
>> +            struct page_info *pg = alloc_domheap_page(NULL, MEMF_node(nid));
>>   
>> -        unmap_domain_page(memset(__map_domain_page(pg), 0xcc, PAGE_SIZE));
> 
> You've dropped this memset() of the whole page to 0xcc.
> 
> As a consequence, the stubs for not-yet-onlined CPUs, or for gaps
> because of NUMA, are rubble yet mapped executably.
> 
>> +            if ( !pg )
>> +                return false;
>> +            addr = page_to_maddr(pg);
>> +        }
>> +        stubs[cpu] = addr;
>>       }
>>   
>>       stub_va = XEN_VIRT_END - FIXADDR_X_SIZE - (cpu + 1) * PAGE_SIZE;
>> -    if ( map_pages_to_xen(stub_va, page_to_mfn(pg), 1,
>> +    if ( map_pages_to_xen(stub_va, maddr_to_mfn(addr), 1,
>>                             PAGE_HYPERVISOR_RX | MAP_SMALL_PAGES) )
>> -    {
>> -        if ( !*mfn )
>> -            free_domheap_page(pg);
>> -        stub_va = 0;
>> -    }
>> -    else if ( !*mfn )
>> -        *mfn = mfn_x(page_to_mfn(pg));
>> +        return false;
>>   
>> -    return stub_va;
>> +    per_cpu(stubs.mfn, cpu) = PFN_DOWN(addr);
>> +    per_cpu(stubs.addr, cpu) = stub_va + PAGE_OFFSET(addr);
>> +    return true;
>> +}
>> +
>> +void __init init_bsp_stub(void)
>> +{
>> +    const unsigned int num_cpus = num_present_cpus();
>> +    unsigned int i;
>> +
>> +    ASSERT(!stubs);
>> +    stubs = xvmalloc_array(typeof(*stubs), num_cpus);
>> +    if ( !stubs )
>> +        panic("Unable to allocate stub array");
>> +
>> +    for ( i = 0; i < num_cpus; i++ )
>> +        stubs[i] = INVALID_PADDR;
>> +
>> +    if ( !assign_stub_page(0) )
>> +        panic("Unable to initialize BSP stub region");
> 
> \n's for both panic messages.
> 
> With the above stuff addressed, I think this is looking ok, but
> definitely subject to Jason confirming it resolves his issue.Â  And for
> 4.22, that might even be sufficient to go in.

Release-Acked-by: Oleksii Kurochko <oleskii.kurochko@gmail.com>

Thanks.

~ Oleksii

> 
> The other thing I want to discuss is this:
> 
>>       stub_va = XEN_VIRT_END - FIXADDR_X_SIZE - (cpu + 1) * PAGE_SIZE;
> 
> because it creates 32 virtual aliases of every stub.
> 
> AIUI, this was a hard requirement for the old freeing scheme, but the
> optimisation guides recommend against creating aliases like this.
> Besides microarchitectural tracking/safety effects, one consequence is
> that we end up with 31 aliases which have unsafe branches in them;
> disp32's depend on the linear address the code is executed at.
> 
> The ideal solution would be allocate VAs just like we allocate paddrs,
> and for the map_pages_to_xen() be beside the alloc_domheap_page(),
> rather than outside of INVALID_PADDR check.
> 
> This reduces the amount of VA space (and L1 pagetables) used by 32
> times, and removes the risk of accidentally using the wrong alias.
> 
> ~Andrew



From xen-devel-bounces@lists.xenproject.org Thu Jun 11 14:00:13 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 14:00:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335569.1597753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXfwz-0005cO-Vu; Thu, 11 Jun 2026 14:00:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335569.1597753; Thu, 11 Jun 2026 14:00:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXfwz-0005bn-Sp; Thu, 11 Jun 2026 14:00:05 +0000
Received: by outflank-mailman (input) for mailman id 1335569;
 Thu, 11 Jun 2026 14:00:04 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXfwy-0005Dw-2B
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:00:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXfwx-006jA1-75
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:00:03 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2abf53-2eae-0a2a0a5409dd-0a2a450c9314-26
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:00:02 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2abf62-62f1-0a2a450c0019-d1558035b9f4-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:00:02 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-490b915ded5so71721875e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 07:00:02 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70d:3054:345c:e2ed:ca23:72c4?
 (p200300cab70d3054345ce2edca2372c4.dip0.t-ipconnect.de.
 [2003:ca:b70d:3054:345c:e2ed:ca23:72c4])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490e2c7ea21sm69275655e9.1.2026.06.11.07.00.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 07:00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781186402; x=1781791202; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=gAKTHP2t7nuqCN93yJrgDm27S1CUkTxm064xhGemVZE=;
        b=gg5yt6IPzoEJXh9J1fpS6KhpJAp7hZPtrgKY6N4lS3+dFzTpqZeMA/+hTq6K8deNAp
         8Edk4h1QbZ5ubGS2Y75X4bAKaJ2oH8LkgUZzwUEvm0Aj7vaaBAaQNskTitwH9xq2meXW
         8j8W3IfXl1ajJzHmkkAHAHSsbCHalSQ5Sqxt9f8AqmauXuGbc1fyNxn/aw9zsRNnnz9w
         Ij5ARpaT4vptikyNrbZSBSaMAv/SY3QzpSqur9VOwc1osVHIU3qyaqjdpu6mTgiV5see
         GBDZrk9Xog6vy/6BTGTbEshdWDtkn2RV4ORI/W6qdJ0MuzUONCgF/nO40QoH67RF0Uyd
         9RSg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781186402; x=1781791202;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gAKTHP2t7nuqCN93yJrgDm27S1CUkTxm064xhGemVZE=;
        b=A9ZKdmnk0dri7oEqqo8vKLBGuOBjbERLYMHMZJ6ZNsRrVZMbhbB8/2XtP3vqDDeY8U
         n/ElkD11IFsOI4oCZ2JUVFicfXKTdG+K81+Y2HKToPoRlse4Azj2Yw+erjIqHrnplKRl
         Vv5MsQ6FgYdWAm+J/l/IcG9mYHpto2X+nA1Lshq8OchkPUPcvCRql2fIGAc4RsfQuynx
         6mI7F6XZdXJxr4nQSH1WPB1z0ahLNwcInMNFCGMstQBVgG4aV//ehB0ZOeMMRmIbrSap
         OGgkqGJW7GX8d1VQsn/vDYQToBhj8Znl9wEkV0nriBlu4CUJMf8tIDV2nwYVe75mKJc+
         jf1A==
X-Forwarded-Encrypted: i=1; AFNElJ9as/3DtWOAVuFhuTRpZfk6AabAQUBq6uDcegZg4Dab9imJnHZfqhRKBS73/U+2IDuuOQZhjfotsAk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzAt/0wRJHoc6RqAtp+7bK+9oBdnWc8sIKdLfGhuBHsrKCBnM6k
	DxwkNLEGgq0NkekXFHh62oqZR5j7D2GswCoBL1YzAv1ZcmZv3INQ8mDntCmap1AmPw==
X-Gm-Gg: Acq92OG/B5FtSctdq1658Kv8IzDH6vpteJX1627AbMrQ9nr7w3S/4Q6Yux/yUu+bWmW
	+5yZpvyvbXn+YrvUIwJefqxuS6lZEo/K2WtPJmCjNtaEzlKABlzs28f0Z/3jlwKp46NGZBHM18v
	fn7AYmiXHf58xl/nJ6XkyW0gs4gLXE3D7a96/gpO7WhJh++bmxqWGRk6su7q4HmEWGk5oZvKhWa
	r+51TG3QVgoRBkfPWckItPS83Vre1loJOGa40uIScyElyf1jiLDhoy0J2HRjzTDKVLcRyIJVV0f
	UChz5Hrv7t08v1+rwbyuAVVJYobgsmqJTF28Mt2bYNnx6OvSwr4IfSKjVdZTyHdkarwIKUtBoyI
	rX0FP+s9gc18JRy/l+cg84c459EKxkPFtF7DOmBMyxhKFi5Fp1n85oH9hz3Izs0CMFydSGOMhNQ
	t1fN4De7ZBAVQFf4RSmTPLmxHbpxLnhuQQ07yA1+piFS7hrhwjiHaEgRuux4sBG2jxyIonfqmM9
	f4i/f6quDmnMczXIORhgKYlCuNIoFp2NX7DNTIQ5+fLi9HLrhNEOqXwhpI0peczXJxgdPSPIuFp
	09dJVA==
X-Received: by 2002:a05:600c:8585:b0:48a:9428:5522 with SMTP id 5b1f17b1804b1-490e562a82emr38806375e9.16.1781186402446;
        Thu, 11 Jun 2026 07:00:02 -0700 (PDT)
Message-ID: <a0838cac-d75b-40ba-a2c7-bc099e817535@suse.com>
Date: Thu, 11 Jun 2026 16:00:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 0/3] ns16550: add support for WCH CH382 and ASIX
 AX99100
To: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>, Julien Grall <julien@xen.org>,
 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: <20260610054030.1624662-1-Zhao.Jiaqing@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: <20260610054030.1624662-1-Zhao.Jiaqing@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1781186402-F447DCF5-DEEC04AC/0/0
X-purgate-type: clean
X-purgate-size: 729

On 10.06.2026 07:40, Jiaqing Zhao wrote:
> This series adds ns16550 support for two PCIe serial adapters found on
> market:
> 
>  - WCH (Nanjing Qinheng Microelectronics) CH382, available as
>    CH382 2S [1c00:3253] and CH382 2S1P [1c00:3250].
>  - ASIX AX99100 PCIe to Multi-I/O Controller [125b:9910].
> 
> Both chips expose 16550-compatible UARTs through PCI I/O BAR0 and
> work with the existing ns16550 driver once a matching device table
> entry and parameter set are added.
> 
> v6:
>  - Add Reviewed-by from Denis and Acked-by from Jan.

In reply to the v4 cover letter I already said that there is no need to
re-submit just for adding tags. Now you have again needlessly increased
mail volume.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 14:02:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 14:02:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335577.1597763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXfz8-0006N4-E9; Thu, 11 Jun 2026 14:02:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335577.1597763; Thu, 11 Jun 2026 14:02: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 1wXfz8-0006Mx-Bb; Thu, 11 Jun 2026 14:02:18 +0000
Received: by outflank-mailman (input) for mailman id 1335577;
 Thu, 11 Jun 2026 14:02:17 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXfz7-0006Mr-Lb
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:02:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXfz7-00B068-27
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:02:17 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2abfe8-e002-0a2a0a5209dd-0a2a450a9a3e-4
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:02:17 +0200
Received: from [209.85.208.45] (helo=mail-ed1-f45.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2abfe8-56b3-0a2a450a0019-d155d02dadee-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:02:17 +0200
Received: by mail-ed1-f45.google.com with SMTP id
 4fb4d7f45d1cf-68d23396ed3so14346969a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 07:02:16 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70d:3054:345c:e2ed:ca23:72c4?
 (p200300cab70d3054345ce2edca2372c4.dip0.t-ipconnect.de.
 [2003:ca:b70d:3054:345c:e2ed:ca23:72c4])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f35fb24sm87667610f8f.34.2026.06.11.07.02.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 07:02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781186536; x=1781791336; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=lUB+1e9G7PUVHBrfIxUpF64WT22JlUrvzAKlSsEnJcM=;
        b=TJH9sliBKZuN/CvgElh3VUIMyiMzOUZhXb/fi/tSHwzHiwgsDfZl2SDUxQjSkevfYg
         9PX8maEra5ef/lLVIU4iVUWe48OpqrWFC6rgETsUDZCw/9V6ZCNujpaRNbtKJIGQGxnX
         LgXzCptfm2uGRyZJ10q/+/XPj1FZ4FLYfJAhmKM9qha978q+FiWyt/NQpkHel978Oi43
         SZMzfEddgP1G6UMaK0WeVh28JafkpdvXZuoVxFa0Z2MfG8DmE2Nk+7w/BdeBmVylvAyo
         jyGVHXIGoK4qXG7Y7XQOBtmOV43RkojquaD7s5t6Mq+l2VrGqh1ILoU5YFg6R5Zr8766
         GIVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781186536; x=1781791336;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lUB+1e9G7PUVHBrfIxUpF64WT22JlUrvzAKlSsEnJcM=;
        b=AXrSL+cqGuRK8C5qtVmPmfGLidTh9TB8nB5v9LvotJX/z7Kz69s0dzrgK+tT0jkNqT
         Mg05d77YV+9uvdweg8nFEdxGHDPkZgQgkg75RI7DQ9V1ftcn7xbBzCArlA964xfkRZ5f
         s2TSfM2mN6E+dw59QEjmmymqwxaDwY+1Aw4fDi9AymyRoAuB9Pcsb61MQ55sZUyymMuj
         B/ZSZV3A/d9mYB87Aui9KCup7KFR17eaUlZf37rrf+0YgxBw791axsrY5pLCmVgUfWSt
         8m9OnuiW7zXzRzuP4fx1jelY/jxZGlXmycBuES5Q18QJlTVZ1oNqx0IXN5aMoOXpB6d5
         KW1w==
X-Forwarded-Encrypted: i=1; AFNElJ8ao22JecoA2rzdYc3g+NVxltYeqqrBk1xgnF4+bnzXVG3lzBS0amougYsiWsGuXukp0ltc+NEY7w4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxy6Dkb/I/VCEkw/WP5ytv1SgmEE+nan7a0KARgTwLUXKLL9iQz
	kY2uzTOQIHIMI77p/ysei6YUc/IIch5y3xy/b3a2DfBztqjVabyrkcGg4EVGc8++Lg==
X-Gm-Gg: Acq92OGTs2wlfE801IYOOEHs/GdBYTB6MDQuQwQw0Z41oecdwIcXRM3W2XlvLesH9ti
	1ehObMAz0pxLf2DepDF7Zq0tmKW08Jpd1x/FEIm4F8da/JPjQiztSC5Ufflakp7zsbrBRlLqUCF
	I210g94Jx3/Eh4g9uDHZG4KTaeGUPLdKZQFTTm4IkO4q9o5EgLS5v4gTiGoSnS7mpFESFflvksP
	wbYpGBD6TqjWXNCuH2jvYt7rQJJ/bcmvrAbp34k+7iX8vOxB7q/BaB4/Hvbm1ms5PUN3wO+r9Ka
	cJQb56lfVhI7tqm+OhsFJXsq2Wf9zlufKFs9Oda/3nMJ5qd+ZatitALpSEH2meYlthe13moU0sN
	lzxbYydUC2t/mia9xDGFcs00q2Q0Vv+lRMdo0PYsNl5h5sI7glET6wu0Gewbcz0bq2Aq2lxV53F
	s5xSfZZO1LQ2qvqVYXRqmdmZa8fMCXe7rYKxMnwA19RGAxLj8xwDadPpp7qnm5AnecmzOyKIjKP
	oyViw3911Ay5U9O0yKZBtfrVSB9u1sYVJ1CdPHq/rr/1cPJF5sSb5UD
X-Received: by 2002:a05:6402:4143:b0:68d:92cf:52f4 with SMTP id 4fb4d7f45d1cf-6930e26fb24mr1552266a12.5.1781186536580;
        Thu, 11 Jun 2026 07:02:16 -0700 (PDT)
Message-ID: <ce12da62-2376-41fc-9526-36f99f3564d4@suse.com>
Date: Thu, 11 Jun 2026 16:02:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 3/3] ns16550: add support for ASIX AX99100 PCIe
 Multi-I/O controller
To: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>, Julien Grall <julien@xen.org>,
 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: <20260610054030.1624662-1-Zhao.Jiaqing@amd.com>
 <20260610054030.1624662-4-Zhao.Jiaqing@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: <20260610054030.1624662-4-Zhao.Jiaqing@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1781186537-73B7F8B7-CFA74140/0/0
X-purgate-type: clean
X-purgate-size: 603

On 10.06.2026 07:40, Jiaqing Zhao wrote:
> Add a PCI device table entry and matching parameter for the ASIX
> AX99100 PCIe to Multi-I/O controller [125b:9910]. Each port on the
> chip is a standalone PCI function, with UART registers on its I/O
> BAR0.
> 
> Signed-off-by: Jiaqing Zhao <Zhao.Jiaqing@amd.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> Signed-off-by: Jiaqing Zhao <Zhao.Jiaqing@amd.com>

Why the 2nd S-o-b? (And no, please don't submit a v7 to get rid of it.
The committer can take care of that.)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 14:06:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 14:06:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335586.1597772 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXg2p-0006xT-UE; Thu, 11 Jun 2026 14:06:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335586.1597772; Thu, 11 Jun 2026 14:06: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 1wXg2p-0006xM-Qc; Thu, 11 Jun 2026 14:06:07 +0000
Received: by outflank-mailman (input) for mailman id 1335586;
 Thu, 11 Jun 2026 14:06:07 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXg2p-0006xG-0Y
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:06:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXg2o-00D42t-Cc
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:06:06 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2ac0c8-bab6-0a2a0a5309dd-0a2a4501dcc0-30
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:06:06 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2ac0cd-c1f2-0a2a45010019-d1558035e95b-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:06:05 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-490aebf33e9so44904195e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 07:06:05 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70d:3054:345c:e2ed:ca23:72c4?
 (p200300cab70d3054345ce2edca2372c4.dip0.t-ipconnect.de.
 [2003:ca:b70d:3054:345c:e2ed:ca23:72c4])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f3444fesm81282110f8f.20.2026.06.11.07.06.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 07:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781186765; x=1781791565; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=LI4nS8srKhuYqm7gnQBScxw87fY4Y5TJ3oOg//bJqSo=;
        b=WZz3Y2PhMzQRVIEdmVuZJ1dgCn67lQRxWmzTdwaLhmc1u7c69rM+cSkA9KRfEj2bxC
         W+UbYX2B6GNTPIhTBnjiCaBACvMJaGixpY9nFP/duIauxX+CBaJjb2+zEFeTnKuNwa3c
         3n2b/o1Sm80ob1GtH+To09efb8NiWpDJHoOGswY5eDppm8krEDohT9tSXuuqK6XjjTSf
         MK+1fFMnQzD16/G2WT12qbVqHosikJ3V3j37dmQ0oKSZGJSf6SPFPueqpNwVHm2yK4Rx
         rCdJ3X6yXvEN23DrheslG5Yntn7M2/73Y/KFmlldParZqPVk4cX/GprCRj7qaY/59kQj
         DkKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781186765; x=1781791565;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LI4nS8srKhuYqm7gnQBScxw87fY4Y5TJ3oOg//bJqSo=;
        b=f9X189Suc1wCAI1vecR1liARRjMQuBXmXQVMWdCOMy4MmN8r5yU+ciGetlG3cdpVlr
         GNoNVp2aUEWGqwHTRzu3ELmDcNk1NXqzszct+WnT/k1BpOh39royhpS7kVLV5G38TeXf
         zz25+4ISrL0jgQDZFCbG9yWahI1EuEgnIU8gZ3KtQXYNOkaJ5wxw+0/5v7alfMRK7ZEf
         wvSQxKeBY36LcsONGRC86Dznl82Pl/8CssNMayvww6nCga98xhkt/V74qAnH4ML2wjsJ
         nUqTtSmsxndDHTqNRN1nwqzfm7LmEwKGrRPrN6dRialcwYyB6Yf5wFvSdVzT4Q6zBFuU
         oKag==
X-Forwarded-Encrypted: i=1; AFNElJ/NxIDrh6WSUtKNnm4saxFIWqevGy4ui0cZRvdpSDZect5GA/ude3vhYOqzZOG97c0kUarfbxPW+OI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyLrzSGQymDKgn0uPFnpXQJPWkWfvT7R8Re5mTUA87oo2P8/X0K
	jUbVTmU+BvnyxSSotOP04jwMK+9T9EkCTUynmfqhTkj2PSrZX1BrUIsDKtBlGHLg/A==
X-Gm-Gg: Acq92OF38W8F2JDw9YrjsvEfz/g+vUoGJRcql97y43YLsE41xOvnaSi7S/ppQHBDI4q
	hXSUZs0bMf7Dgd1nEkciiHaDXIPtGc0tGy1+gxCuv8EI1OQChuD+mYZ9ZdrJy/FIXuAkKEB1jCs
	qxCYs0D3F3LT1OwMuZrOZPW5IQbRW3LhPRzBUDF/1jS/T8sqzT7SjQGyIFL+4135z36AFqMfTrO
	rvIsfkru48X5m7t6t6mutCf6kp6SxY95iQORn7uLYixWF/5AjYB3XqjFr1XEZxCgThpoHN5P+tf
	ZR8PuqAnA6TRoEAxaPpwWXQJMEjwjhOHl2c2N3XDNX/G6ShvPms/v9YZkgCbpT5Z8cpcqq6m+F7
	UXEaN52xNTFRmeiFamEqAFYJfS9G8MUywNxN4SVnYbkRReyNPLLCLY1tdATZITz9jIFxkmhQmwJ
	MudoC/cT+ZWRNHb3ArAVFJ96i8PjQKNVauYbGa54zcl/GE+4rfxnBmWDRrgA/klHbfVxgp9CJHF
	YHDeMeZRk9xmyyCAulfpn9FmDJhckfOZuUufjflp18LIy9Sr7Xr8KIJmwXK3r9dqXGWd3eP4qKM
	pwIYQw==
X-Received: by 2002:a05:600c:1d12:b0:490:bd1d:472a with SMTP id 5b1f17b1804b1-490e55ef48fmr37069365e9.15.1781186765335;
        Thu, 11 Jun 2026 07:06:05 -0700 (PDT)
Message-ID: <25065ffe-4bfa-450d-87ff-982ec37a77b3@suse.com>
Date: Thu, 11 Jun 2026 16:06:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
To: Hirokazu Takahashi <taka@valinux.co.jp>
Cc: 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>,
 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: <20260610111320.133784-1-taka@valinux.co.jp>
 <20260610111320.133784-2-taka@valinux.co.jp>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20260610111320.133784-2-taka@valinux.co.jp>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1781186765-AEB5EFF4-09E900DE/0/0
X-purgate-type: clean
X-purgate-size: 898

On 10.06.2026 13:13, Hirokazu Takahashi wrote:
> --- /dev/null
> +++ b/xen/include/xen/cpu-topology.h

The name of the new file does not in any way ...

> @@ -0,0 +1,38 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#ifndef XEN_CPU_TOPOLOGY_H
> +#define XEN_CPU_TOPOLOGY_H
> +
> +#include <xen/types.h>
> +#include <xen/device_tree.h>
> +
> +struct cpu_topology {
> +    cpumask_t thread_sibling;
> +    cpumask_t core_sibling;
> +    cpumask_t cluster_sibling;
> +};
> +
> +
> +#ifdef CONFIG_DT_CPU_TOPOLOGY
> +
> +extern struct cpu_topology *cpu_topology;
> +void map_cpuid_to_node(unsigned int cpuid, struct dt_device_node *cpu_node);
> +void dt_init_cpu_topology(void);

... express this is all about DT stuff. Is this intentional? Else it
may want adjusting.

> +#elif CONFIG_DEVICE_TREE_PARSE

DYM "#elif defined(CONFIG_DEVICE_TREE_PARSE)"?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 14:07:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 14:07:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335591.1597781 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXg4K-0007WG-89; Thu, 11 Jun 2026 14:07:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335591.1597781; Thu, 11 Jun 2026 14:07: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 1wXg4K-0007W9-4e; Thu, 11 Jun 2026 14:07:40 +0000
Received: by outflank-mailman (input) for mailman id 1335591;
 Thu, 11 Jun 2026 14:07:39 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wXg4J-0007Ua-1e
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:07:39 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXg4I-00G0hP-4C
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:07:38 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2ac114-2eae-0a2a0a5409dd-0a2a4502aa26-48
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:07:38 +0200
Received: from [52.101.62.32]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2ac128-af86-0a2a45020019-34653e20aef8-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:07:37 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by DM6PR03MB5289.namprd03.prod.outlook.com (2603:10b6:5:24c::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.11; Thu, 11 Jun
 2026 14:07:34 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.013; Thu, 11 Jun 2026
 14:07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Q1w4zz0jzXX7qyd0xL5HD/9XK2HcjzUMgU2WYNyJ+wZGNk7BvXF/dpz+slyq8V57xg1334G7JKarWFz2/368plMJ1ryBTQDbwrqvvGgeSDaz09ThFTyYByw2Jc7yh6ZDrynVKehDzvfvlIWCwoxo2ZdoSvQQcQoZpLPrdTikek/gagjgBjKHiML9enTISUwYv47nLGn37SEN4eKSG2HNyePCOfJQINMxN5AsKxZyxeLtwpYTfmiXapEt2Byn8dCESAFtCJXAlZRbpygbj6ILg3W85um/JnWwsY4Bhw6x/hwqZrl3520H5w79AkmSs4Kdfp2Mk/87GAR0xdz3kFpZwQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MdIFMsg6ROC+4Esu5v132n3LafhJovr9ECI+32VkfhM=;
 b=DpkijUP83SvzoaKhSF/22QXhcGvD0FWkojjqPVEomkU+y0mc2YQtFXt0xYQilHE2GJ/ctc4StxHbNIC2lQzqA9FLIRHcB+F11wFS7VH2WTu+tA25r9ms10nwS3po40BhUzNTw4Qb8HGKZVretB1WHRl7oz1flda0fFZHXKw2g1EHaX7rGtm219GUT1dXeO6PAJWkMTuzt3EPrcxf636Gyr63u5OeagiaHJHmjM76iF1f4dNtdiuwyJmvYnYkdIveZ+cCQmt14PPdih7Xo0UcibthvkjOTCH3A2Ew4zpCbSroTT6JNv22wkN2Yv2D1Ii+8QGaUDhK4V6aZTOi5ywbcQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MdIFMsg6ROC+4Esu5v132n3LafhJovr9ECI+32VkfhM=;
 b=wqb8QNnCNsp2lQg8LkY90gcRS5aUed95rc5pWhoyoJs9jbIIFD63A522b62FBbQoh1hhyf6pNuhzQH7TtmTlelrETypD5BalZTnUz1I6pXELTpNkWctJT/f7zdy46tnCFbJKbYKSUH0gAeRdcGkZsLU6ZhLmRDvnU65QodTf20M=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 11 Jun 2026 16:07:30 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Jason Andryuk <jason.andryuk@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: Re: [PATCH for-4.22] xen/x86: Change stub page allocation/free
Message-ID: <airBIotw8RKqjtmv@macbook.local>
References: <20260611075342.58428-1-roger.pau@citrix.com>
 <1639ef93-4260-4a2b-bcfd-d39a059c1c56@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <1639ef93-4260-4a2b-bcfd-d39a059c1c56@citrix.com>
X-ClientProxiedBy: BL1PR13CA0278.namprd13.prod.outlook.com
 (2603:10b6:208:2bc::13) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|DM6PR03MB5289:EE_
X-MS-Office365-Filtering-Correlation-Id: 83429e6f-e390-4184-3d40-08dec7c2c898
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|23010399003|376014|22082099003|18002099003|56012099006|11063799006|4143699003|6133799003;
X-Microsoft-Antispam-Message-Info:
	TnHljxArs+xiv11VYM3oSIc1vInVeQrlZNWVZ4J46RmZ/azUpu7wCnQ1gnDc+44Uq39Rd/rjpvzdIAzdhHmthes8mrLT3Gk36YBCM+oH+B23XNExgiXJDuQHpFUSp+/pX0g33ZIm2xnkWizMiT8SF+Es3LulLZyyWQUQ8/iYJEW8PxO3nWJlhiPGJ47+YW0v20kg5qFDBXlGXnzeW2/6D24BPP+4wiNBiIsIJTTsTJq8op1+R9Zsr6soj5gFslqgITb1UBUvdR550mxyGy75AaubUvr6FMvxd4W2dd/mBGE/FENTbr5VXCJ+Nyw9zYpRLtaEDi8PgLInphkny9DFuq8UR6rMJ50LJNASOjVjZmbgoXHQRUxRbE27CYss6au23pJ5Ft0cc05Y+NC7XhiTHwrg3j2NcbxTPUWrMqx6V5QY4KnAGmoPUthqxuy4siLOrpnTQZEcYzm2LcvppVMFxDwKCdgogNq+u0a96pEvPonWVRhMWEEoY6xgpBO008reKxgbIYGlH1pTiWR9o+AqawVmbawO7AbzNQprZnUXhXAvw6BQbjYvdrbLruVers2/YMuyL2fvuIABWrEDioJO55vcTf5nIXjollz1Qt2E6HQxJFz4d6uUee6YCCy21g85xiroaLoPyCZ9hA8AhcoTXuQaBO/hrdwjYQngkqAXipxFpRU0jRjjDEmovSWz8GA1
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(23010399003)(376014)(22082099003)(18002099003)(56012099006)(11063799006)(4143699003)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bFJkZUg5WDV5cENOY0ZwaDVjSHVWOVdpVjhienl6OW5FZkx6NDF2Mi9QSlpl?=
 =?utf-8?B?QkE2bzVsTzJxcW8wUjZUeWd4amMyYUVEd3FUVUpERnBsamZVVlp5T0JmSFhj?=
 =?utf-8?B?K3VTOVR5S1ZIT25NZFd3L1dCMFhMUGFMdDQxQ0UyQXJBRER6SkRCNW5rRUtj?=
 =?utf-8?B?MURxQ3lWdE5QcnMyYXlFRzdZZ2E2a285NXdVVWZNTkZmU1RIL3l4aFoxUUJu?=
 =?utf-8?B?bDJCb1N6VUlpQXF6cUx5RVRTRzg3dFgzZ0VLbDg4VFVyL0FidmtLNm9rc2pU?=
 =?utf-8?B?VDhJclhmNndaVUJxVzV1aG43VE1qUVV6YlMzcFpjVXliM2tNSTFXUXBxV1ZS?=
 =?utf-8?B?bDVIVmdaSERtaE9RZ1MzWkZRWUZYNDZMS2g1T1lOaXFjK3Z0RldGbVBVOFhW?=
 =?utf-8?B?aWZSWHBuUUQ0UnI2Qlk4OFY4S0V5UHFBQ0swQ0x2Vm5aNU13MzJReW9uRWdo?=
 =?utf-8?B?VGVwYWVOMHBWTzRMUXpJYWplMjh5Tjk4c1NMd2tqWE0xNUlYUDFrSUxzcnc3?=
 =?utf-8?B?TGk2TjJwYklRYU05ZHlraEh5bUNSQmZOWnE0ZUlXR0ZkWkdXKzgxc0k0T2Zo?=
 =?utf-8?B?djhWUTVuSm1LcTg2UzdyL1V4VUthQXdBQlhCR1FBck1UYzdjR3A5YTkyckJE?=
 =?utf-8?B?VkZOdm11SDNiM0gwKy9uelhNNUQ5cHJSY050cUt5NDBqelM4ZmFJVXdmUUJJ?=
 =?utf-8?B?M1VEeHkrenBHT3hPSWYrcGZDUHNaNHJEazN5ZjBRWklSemIyaEhITE5raFpF?=
 =?utf-8?B?YklMWTFWWGRQWi9wN0Q5NU5vWUNaL2xnOUE2VjVwTkt0STFZY0JaeEdiUXgw?=
 =?utf-8?B?SjJCTVZrVjBXcDZ2T0tXYTMremNoMUpOZ3JZYTVUQStVVHFjZHd5cytzeVZq?=
 =?utf-8?B?Y0E1akVwbjFHOVZqcWxEdm84dmwrWjV1ZEFaUmRKanUzN0VicXlMbW9iZlI4?=
 =?utf-8?B?Z3RCR0hIN0Z6L2J5UVhqMUxGbFBjMFA2M0haRzJtRVdaWmYrNTZCTzYrZEQ5?=
 =?utf-8?B?d3BUYWM1UkdUSURvRGxBT3FzcEQ1dUJCb0t5SjEvWklmM1p1RHBwK2JoRi9w?=
 =?utf-8?B?NklDZzhUbnRZZWVFbVlSZ3NzcCtuVWZxUCtlWlNYRUV2c21zRlVWUVlXMXJ3?=
 =?utf-8?B?eVYwbDcxb3phM0hWNU96Nm1QVk9sb2dMWlk0SXZhSmVtMkJueHliRDNxN0pV?=
 =?utf-8?B?R05HUXE3TFNIQ2JIUnhKa0ltOW00MzZCR0lOeks2bVpzUWw1R282eXMrWCtS?=
 =?utf-8?B?N0ExalUyL0lOeWl6cUMrOVBQaGlVYnBFcXdYWEJVNmtNNHJuVmlpUDRQSlRU?=
 =?utf-8?B?UXVBalBKN25UT040ZXZBN3JOdy8ycVVyUjVZUTdHV2g0bDBWUlZFV2VqU3lM?=
 =?utf-8?B?MXliZ0pCRWo1cm9XUC9Mbmd2SjlObU9zaitwMVE2eFBEdGJKN0tNbmJOaWNU?=
 =?utf-8?B?dndCWmVLV25JbUw3MlBUMVJMelIwZHVSSDRWTHlJaGdzZWRZV3RYQnNveXhB?=
 =?utf-8?B?NXBYQ3NtbU5PTXJWYVA5aThZbEJrYkRZSEYvYWVXZjB4Y2gzRFN2bWY0NmZE?=
 =?utf-8?B?RUlkNUk4bUFpMXg3dVBiU3ZaelBSVkJFdEY1NGVpR0IxaDNQZHNkVXZ4cWp6?=
 =?utf-8?B?eVRjeFNHUVdwWCt1Qkg2Ty9McE83WXJaQS9uOEgwNVZzKzkyaEl5a3AvWStY?=
 =?utf-8?B?ajZOM1o3b25FTERWR2NTRithVFBncTY5UjR4Mm40YldlRmNHdFU0RmhwaWFB?=
 =?utf-8?B?Z2R1U3hraEhSalhSVlBmSEhOUUx1RGtTdjlTdjRldTNRUjB1OStLMVRGNFZh?=
 =?utf-8?B?S21hL0JycXB5R0hvWElIRVlxdExDUlUvN0dEMHFpUFpuR2IwbTkzUlNvckk5?=
 =?utf-8?B?MlR1UTYxblNVc2JVb2VibFFyTlBmYk85UHl4ZHQ4YlNWU1FMYVhYT2E4QlJn?=
 =?utf-8?B?bzFmenpiaWthSVBqcVNyMGtHRTRmeTJ3WVFRb1gwd0c1MXI0WDdwUjk4b2VY?=
 =?utf-8?B?TFlNMTZMUzZPaGpDNklBcXhDNjdQZ3lIeVQ3eUQxL3psQjNiSFZ1RDdCMWVL?=
 =?utf-8?B?cVR5VE4vSG5TNkpXb2JtZFp5ZXFmMEZlY0dnN3l6bHgzR1ZqRi82SUxXMjJ4?=
 =?utf-8?B?bEJsNGp5R3NUK2RLU29nSUZrbFpzUXZFSUVxOFErQWdIM1JZU0h4QWVZVFRi?=
 =?utf-8?B?UmNjUUxIcFJGWTMraS90N05wYzlrZUJVVG9KQnVpSG5QOTM2NUtweURQQUh4?=
 =?utf-8?B?ZXoyQXpjLzBMOWhTbVNyckpicjBwYXFhdTJ3UEhOM3dUbmdnaWQzb0M4QU9O?=
 =?utf-8?B?TnRqWDJCZ05POWNUUGlpOUQ2UnRrZXBzUnpmM0xSbUYrc2Nuazc2Zz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 83429e6f-e390-4184-3d40-08dec7c2c898
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jun 2026 14:07:33.9053
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zGQq/1sUPTy5nUyTsIEpQ+g/hkT75A1EXu3G5aAqyUftGelaFRRxfwoo8ntx9rZ/uRD28a78gY6eQmg0KVpTqg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5289
X-purgate-ID: tlsNG-720697/1781186857-A937C161-44D4427B/0/0
X-purgate-type: clean
X-purgate-size: 9201

On Thu, Jun 11, 2026 at 12:38:46PM +0100, Andrew Cooper wrote:
> On 11/06/2026 8:53 am, Roger Pau Monne wrote:
> > From: Jason Andryuk <jason.andryuk@amd.com>
> >
> > Today the inline tracking of the stub page is problematic.  0xcc is used to
> > indicate unused, but it is also a "clear value."  A !CONFIG_PV build with
> > smt=0 will bring up CPU0, bring up CPU1, bring down CPU1, and free the
> > in-use stub page.  CPU0 or subsequent onlined CPUs can write to the re-used
> > page.
> 
> I'm pretty sure a CONFIG_PV build booted on a FRED enabled system will
> do the same.
> 
> This is the other case where we (now) forgo writing out the LSTAR/CSTAR
> stubs.
> 
> >
> > The new approach uses a global, CPU-indexed dynamically allocated array of
> > stub addresses.  However, to handle NUMA aware allocations, we cannot
> > allocate all the memory in advance because of the NUMA dependency.  Take
> > advantage of the fact that Xen will attempt to contiguously pack CPUs on
> > the same NUMA node (see normalise_cpu_order()), and on CPU bringup use the
> > same stubs page the previous CPU did if suitable.  Note the code would
> > still function properly even if CPUs from NUMA nodes are not contiguously
> > packed, it just consumes more memory.
> >
> > stub pages are no longer freed.  They remain referenced in the global
> > CPU-indexed array and are re-used if the CPU is re-onlined.
> >
> > stubs and node_stubs don't have an explicit lock.  During boot they are
> > accessed single threaded.  During runtime, &cpu_add_remove_lock serializes
> > access.
> 
> Is node_stubs stale?Â  Stub(s) should be capitalised at the start of the
> sentence.Â  In context, it's not clear that it's a variable name, and it
> doesn't need to be the literal variable name to convey the intended meaning.

Oh, yes, that's a leftover from the previous version that I picked up
from Jason.  What about using "The stubs array don't have..." to make
it clear it's referring to the variable.

> >
> > Fixes: 7a66ac8d1633 ("x86: move syscall trampolines off the stack")
> > Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> > Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> > ---
> > There are other even more simple options here: for example Andrew proposed
> > to pack stubs contiguously in both the physical and the linear address
> > spaces, at the cost of possibly loosing the NUMA memory affinity between
> > the allocated page and the CPU using it.  We have decided to go for a more
> > conservative approach here, that keeps the same properties as the current
> > logic regarding NUMA memory affinity of the stub region.
> 
> Part of the suggestion was made in error, but there's a second aspect
> which I'll discuss at the end of the email.
> 
> > diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> > index 4192edf635b6..cddf8806c877 100644
> > --- a/xen/arch/x86/setup.c
> > +++ b/xen/arch/x86/setup.c
> > @@ -2089,9 +2089,7 @@ void asmlinkage __init noreturn __start_xen(void)
> >  
> >      init_idle_domain();
> >  
> > -    this_cpu(stubs.addr) = alloc_stub_page(smp_processor_id(),
> > -                                           &this_cpu(stubs).mfn);
> > -    BUG_ON(!this_cpu(stubs.addr));
> > +    init_bsp_stub();
> 
> Personally, I'd name this init_stubs().Â  It does work for more than just
> the BSP, and the bsp_* part is only really needed for clarity when
> there's a matching ap_* variant, which is not the case here.

Np, I will change it.

> >  
> >      bsp_traps_reinit(); /* Needs stubs allocated, must be before presmp_initcalls. */
> >  
> > diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
> > index d8fd71ffab37..3282392317f4 100644
> > --- a/xen/arch/x86/smpboot.c
> > +++ b/xen/arch/x86/smpboot.c
> > @@ -641,41 +642,61 @@ static int do_boot_cpu(int apicid, int cpu)
> >      return rc;
> >  }
> >  
> > -#define STUB_BUF_CPU_OFFS(cpu) (((cpu) & (STUBS_PER_PAGE - 1)) * STUB_BUF_SIZE)
> > +/* Dynamically allocated, indexed by CPU.  Store physical address of stubs. */
> > +static paddr_t *__ro_after_init stubs;
> >  
> > -unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn)
> > +static bool assign_stub_page(unsigned int cpu)
> >  {
> >      unsigned long stub_va;
> > -    struct page_info *pg;
> > +    paddr_t addr = stubs[cpu];
> >  
> > -    BUILD_BUG_ON(STUBS_PER_PAGE & (STUBS_PER_PAGE - 1));
> > -
> > -    if ( *mfn )
> > -        pg = mfn_to_page(_mfn(*mfn));
> > -    else
> > +    if ( addr == INVALID_PADDR )
> >      {
> > -        nodeid_t node = cpu_to_node(cpu);
> > -        unsigned int memflags = node != NUMA_NO_NODE ? MEMF_node(node) : 0;
> 
> I think you need to retain this calculation of memflags.Â 
> MEMF_node(NUMA_NO_NODE) doesn't work as expected.

I think I'm confused, MEMF_node() macro is:

((((n) + 1) & MEMF_node_mask) << _MEMF_node)

So when n == 0xff the memflags result is 0 (0x100 & 0xff).  And then doing
MEMF_get_node(0) gives you NUMA_NO_NODE, so works as expected?

> > +        nodeid_t nid = cpu_to_node(cpu);
> >  
> > -        pg = alloc_domheap_page(NULL, memflags);
> > -        if ( !pg )
> > -            return 0;
> > +        /*
> > +         * Attempt to use the same page as the previous CPU if possible,
> > +         * otherwise allocate a new one.
> > +         */
> > +        if ( cpu && nid == cpu_to_node(cpu - 1) &&
> > +             PAGE_OFFSET(stubs[cpu - 1] + STUB_BUF_SIZE) )
> > +            addr = stubs[cpu - 1] + STUB_BUF_SIZE;
> > +        else
> > +        {
> > +            struct page_info *pg = alloc_domheap_page(NULL, MEMF_node(nid));
> >  
> > -        unmap_domain_page(memset(__map_domain_page(pg), 0xcc, PAGE_SIZE));
> 
> You've dropped this memset() of the whole page to 0xcc.
> 
> As a consequence, the stubs for not-yet-onlined CPUs, or for gaps
> because of NUMA, are rubble yet mapped executably.

My bad, sorry, I will re-add it.

> > +            if ( !pg )
> > +                return false;
> > +            addr = page_to_maddr(pg);
> > +        }
> > +        stubs[cpu] = addr;
> >      }
> >  
> >      stub_va = XEN_VIRT_END - FIXADDR_X_SIZE - (cpu + 1) * PAGE_SIZE;
> > -    if ( map_pages_to_xen(stub_va, page_to_mfn(pg), 1,
> > +    if ( map_pages_to_xen(stub_va, maddr_to_mfn(addr), 1,
> >                            PAGE_HYPERVISOR_RX | MAP_SMALL_PAGES) )
> > -    {
> > -        if ( !*mfn )
> > -            free_domheap_page(pg);
> > -        stub_va = 0;
> > -    }
> > -    else if ( !*mfn )
> > -        *mfn = mfn_x(page_to_mfn(pg));
> > +        return false;
> >  
> > -    return stub_va;
> > +    per_cpu(stubs.mfn, cpu) = PFN_DOWN(addr);
> > +    per_cpu(stubs.addr, cpu) = stub_va + PAGE_OFFSET(addr);
> > +    return true;
> > +}
> > +
> > +void __init init_bsp_stub(void)
> > +{
> > +    const unsigned int num_cpus = num_present_cpus();
> > +    unsigned int i;
> > +
> > +    ASSERT(!stubs);
> > +    stubs = xvmalloc_array(typeof(*stubs), num_cpus);
> > +    if ( !stubs )
> > +        panic("Unable to allocate stub array");
> > +
> > +    for ( i = 0; i < num_cpus; i++ )
> > +        stubs[i] = INVALID_PADDR;
> > +
> > +    if ( !assign_stub_page(0) )
> > +        panic("Unable to initialize BSP stub region");
> 
> \n's for both panic messages.
> 
> With the above stuff addressed, I think this is looking ok, but
> definitely subject to Jason confirming it resolves his issue.Â  And for
> 4.22, that might even be sufficient to go in.

I will go with the adjusted version of this patch for 4.22, if it
fixes Jason's issue.

> The other thing I want to discuss is this:
> 
> >      stub_va = XEN_VIRT_END - FIXADDR_X_SIZE - (cpu + 1) * PAGE_SIZE;
> 
> because it creates 32 virtual aliases of every stub.
> 
> AIUI, this was a hard requirement for the old freeing scheme, but the
> optimisation guides recommend against creating aliases like this.Â 
> Besides microarchitectural tracking/safety effects, one consequence is
> that we end up with 31 aliases which have unsafe branches in them;
> disp32's depend on the linear address the code is executed at.
> 
> The ideal solution would be allocate VAs just like we allocate paddrs,
> and for the map_pages_to_xen() be beside the alloc_domheap_page(),
> rather than outside of INVALID_PADDR check.
> 
> This reduces the amount of VA space (and L1 pagetables) used by 32
> times, and removes the risk of accidentally using the wrong alias.

I think the point of having a different page for each CPU is that we
can remove the page-table entry when the CPU goes offline, and hence
any mismatched attempts to use that stub region by a different CPU
would result in a page-fault.  In practice I'm not sure how useful
that is, at the end we already clobber the stubs region with int3's.

I don't mind looking into that as a followup change, but for 4.22 I
would rather take this less risky version.  The mapping adjustments
will be a different patch anyway, I don't think it should be squashed
with the content here.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 14:12:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 14:12:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335603.1597790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXg94-0000mm-Sq; Thu, 11 Jun 2026 14:12:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335603.1597790; Thu, 11 Jun 2026 14: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 1wXg94-0000mf-Pj; Thu, 11 Jun 2026 14:12:34 +0000
Received: by outflank-mailman (input) for mailman id 1335603;
 Thu, 11 Jun 2026 14:12:33 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXg93-0000mZ-CX
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:12:33 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXg92-004hwz-Ol
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:12:32 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2ac236-bab6-0a2a0a5309dd-0a2a450ab05e-42
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:12:32 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2ac250-56b3-0a2a450a0019-d155802db430-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:12:32 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-4908b92904fso91381795e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 07:12:32 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70d:3054:345c:e2ed:ca23:72c4?
 (p200300cab70d3054345ce2edca2372c4.dip0.t-ipconnect.de.
 [2003:ca:b70d:3054:345c:e2ed:ca23:72c4])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490e52b3970sm53755545e9.8.2026.06.11.07.12.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781187152; x=1781791952; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt: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+lYOvK+T5TelkpZQ6ctHctNpCXL6IBhBGS8VvO/AU=;
        b=MZenZbwe70aeV/rwy7Q7iQfWym5s43rYpyH7rZTAZL9DR3re8nY+NhWFvZczSTa4lI
         0P5LMBYoD8a+XSjl0Uk+EEaDFRy41pCh5G2RwOf8sukuucrl7d9l+PSqxZpNEdKFSdLu
         ILyOrvehL4ed3RddsJOMzjVEy+yAobKhS8t2HRQ9QYpCwfW9uRpa8eZIXDMIoRxfwvmY
         SGU4ozD2VkqOeW+MczJL5jfik41fVaNnBYc2qpviNNA1DoCkNvcWL39/sBTOv/JqbdVJ
         qU7r2OcVbdka/b36SwFE6hiEieNXf97Q6oOAQrz7KZt4F0ZGD+MHIR/fHwg2Pyljlh0d
         V3+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781187152; x=1781791952;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/o+lYOvK+T5TelkpZQ6ctHctNpCXL6IBhBGS8VvO/AU=;
        b=EhybkYTfchy6tjxDejmpSzsdL+lmIiBEP4y25i8Xw6FATQm1PGQsBjmssodWjmZj39
         NwQeVH/sryW0ngE8zfyvuLmwYFzGcoIwBfMBOkyOXB2vFb+ZcW6uMdp7xpH6jxvg1ozN
         FW6D+TFewr5j2aS86RgfQWP0ZXmH2A1dvvtQzakTHFGef6Kl8hbgdkKk0u/ohxHtVVke
         een+0t2WghNUxoM94L0c5a3VAqetg2LhFILbBNs7/OIjd0mxIj4im/afkX+Y3SNQLfh4
         g33yY1LvJZqec7SvPTCUaSnJBsMVZWd5Q2uoAOX5PdSS0j3+uEijT0TeK4s0C3Pz2Sdl
         75Fw==
X-Forwarded-Encrypted: i=1; AFNElJ8kMBtWcQLY1SuBQL2nS+/iaycff37wNAv0hB9zxIfJnIPPLv1QczDUKYF1najq9XJ4zZLzwZI99tw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwmexW7qUvXgmN/OcCDz6v/DkQSgSe14gw0vn6wtuy+Xx2R4s9C
	jmFxQBThMKaZHfPAdIk5xOl366DZwPwenRzw4nKtA2mOPYc0yuOiZOVgNBChmUgZMNWqAAeVDPH
	5Jic=
X-Gm-Gg: Acq92OFHa8zmVxiMReVukp9JurI70k4pPU0GSq+we5YbmyK48guTVtHpfdxbjgsSXay
	6UKryiW4MTqCaV0unwTny9cgH5U3+3c0daBIlAwnk62kHjD4yxnaYdE/ol6HnirFH9qf4CzsAa0
	ZzNEUlqGequ7hn0FlFVGjVtQzvsTr3F/tu6HtTFoGTjISHOxG2xzfHcr8Tk5L5GZdwWtxYYM1yi
	2zjrv/XpZRo9LXlYeV2zihk33Ece2gCQ1zftl/xmKfhlOB2CJ6LNAIi55LoafvGYrGqiTnmo1Lj
	YCXw7uCx9hP/UbmF9C/7Wm8McldqVy1v22a6/7sNX1A51lSZ+TPEvGvNt3tfxy3lD3DM5sWAfUd
	UhYrhDHOf4N/bgL4V2geaxH/JZK7WX1UvMhU9FBW2WS0ruC6cxYBmo2++zA4/vjey8kieIfqNWV
	3hnwRVM+Ly6F0elLqhCLueD3XEjM9hrxr7xQny7NKtF197dRKw14znMjZTcuPu9EeC7WRYdYFBS
	agboG531wviel9fP/nYogWeTRjVZXIbDJpbfvDzTv5+lCQ3LYDTM7hEjoPNXstJjttKIic=
X-Received: by 2002:a05:600c:8b85:b0:490:cdb2:fb5e with SMTP id 5b1f17b1804b1-490e5636650mr38803455e9.22.1781187151896;
        Thu, 11 Jun 2026 07:12:31 -0700 (PDT)
Message-ID: <4ad6cce2-c15d-4614-9d73-5ed1354047b8@suse.com>
Date: Thu, 11 Jun 2026 16:12:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/sched: Link CPU topology to scheduler
To: Hirokazu Takahashi <taka@valinux.co.jp>
Cc: 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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 =?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>, xen-devel@lists.xenproject.org
References: <20260610111320.133784-1-taka@valinux.co.jp>
 <20260610111320.133784-3-taka@valinux.co.jp>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20260610111320.133784-3-taka@valinux.co.jp>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-4011c0/1781187152-7CE7B8B7-52718AFB/0/0
X-purgate-type: clean
X-purgate-size: 2541

On 10.06.2026 13:13, Hirokazu Takahashi wrote:
> Make CPU topology information available to the Xen scheduler.
> Additionally, ensure that this topology information is displayed
> when executing the 'xl info -n' command.

Both in title and description you're pretty generic, yet then ...

>  xen/arch/arm/include/asm/processor.h  |  4 ---
>  xen/arch/arm/smpboot.c                | 10 ++++--
>  xen/common/device-tree/cpu-topology.c | 51 +++++++++++++++++++++++++++
>  xen/common/sched/credit2.c            |  3 ++
>  xen/common/sysctl.c                   |  1 +
>  xen/include/xen/cpu-topology.h        | 10 ++++++
>  6 files changed, 72 insertions(+), 7 deletions(-)

... only the credit2 scheduler is actually enabled.
> --- a/xen/common/device-tree/cpu-topology.c
> +++ b/xen/common/device-tree/cpu-topology.c
> @@ -325,6 +325,55 @@ int __init parse_dt_topology(void)
>      return parse_socket(map);
>  }
>  
> +static void __init setup_cpu_topology_ids(void)
> +{
> +    unsigned int cpu;
> +    unsigned int next_core_id = 0U;
> +    unsigned int next_cluster_id = 0U;
> +    unsigned int next_socket_id = 0U;
> +
> +    for_each_possible_cpu( cpu )

Nit (style): Either you deem for_each_possible_cpu a (pseudo-)keyword
(then there's a blank missing) or you don't (then there are excess
blanks).

> +    {
> +        unsigned int first_cpu;
> +        struct cpu_topology *topo = &cpu_topology[cpu];
> +
> +        first_cpu = cpumask_first(&topo->thread_sibling);
> +        if ( first_cpu == cpu )
> +        {
> +            topo->phys_core_id = next_core_id;
> +            next_core_id++;
> +        }
> +        else
> +        {
> +            topo->phys_core_id = cpu_topology[first_cpu].phys_core_id;
> +        }

Nit, here and below: Please omit unnecessary figure braces.

> @@ -339,4 +388,6 @@ void __init dt_init_cpu_topology(void)
>  
>      for_each_possible_cpu( cpu )
>          setup_siblings_masks(cpu);
As to the earlier remark: Bad pre-existing examples don't count.

> @@ -19,11 +23,17 @@ extern struct cpu_topology *cpu_topology;
>  void map_cpuid_to_node(unsigned int cpuid, struct dt_device_node *cpu_node);
>  void dt_init_cpu_topology(void);
>  
> +#define cpu_to_core(_cpu)   (cpu_topology[_cpu].phys_core_id)
> +#define cpu_to_socket(_cpu)   (cpu_topology[_cpu].phys_socket_id)

Please can you avoid introducing new name space violations (identifiers
with leading underscores should name file scope entities); also again
below.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 14:14:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 14:14:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335611.1597799 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXgB6-0001K4-6y; Thu, 11 Jun 2026 14:14:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335611.1597799; Thu, 11 Jun 2026 14: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 1wXgB6-0001Jx-3b; Thu, 11 Jun 2026 14:14:40 +0000
Received: by outflank-mailman (input) for mailman id 1335611;
 Thu, 11 Jun 2026 14:14:38 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXgB4-0001Jp-Al
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:14:38 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXgB3-006lyS-Nb
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:14:37 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2ac2b3-5cb7-0a2a0a5109dd-0a2a4507d422-42
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:14:37 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2ac2cd-229c-0a2a45070019-d1558030bc02-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:14:37 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-490e1904089so12603005e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 07:14:37 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70d:3054:345c:e2ed:ca23:72c4?
 (p200300cab70d3054345ce2edca2372c4.dip0.t-ipconnect.de.
 [2003:ca:b70d:3054:345c:e2ed:ca23:72c4])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490e5314dedsm61733445e9.9.2026.06.11.07.14.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 07:14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781187277; x=1781792077; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=8c0UumPY++RY+GdKhUDJVlGKm6PQgjTrG5mmy4h4u4Q=;
        b=fBBvBDzibkrXLHfdVoaRmAaHrOJ+VKhxf4PGtRoddiTnF9mqnzBFg9pjMotC02hOGp
         RsU/HwOq8mwx47UbSAsCbi97y7uPrQw8SqxW2yOkvmm8JduDPxyUKVckW1cQe7juXkwm
         5QsNiQNH4vlViCa9fYFv8k+qdtfS5/P9ZGdVqlmI+DD5tF4m1LURNahNln33KTSqdoYF
         0Lp6xz+UVh5somjGpseV6GtLCcXoU7XwZWHrQ6YkILNPRWEH85tc4KXCHFwK2KieJQU+
         SlSpKh9pEz1rvuQnqelGBMqw5bX31P0e7kOsA6tATLNQYsFWNYW1CQvHFrBxA37h0wCc
         rh6A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781187277; x=1781792077;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8c0UumPY++RY+GdKhUDJVlGKm6PQgjTrG5mmy4h4u4Q=;
        b=LjrUk7QCsCrZf9KzpIMiJyWewp/uG/1Puz3AkuRjDWFslktUq4IVpduBmjJFDxGmzI
         TRWjOv7d6PDCY+ziasyrMOvLL4nIQ/DhiYPoEO2uVXBdYPfo9B7QoRiZFmViZ78xXXgS
         2lPnzCs3qT2LrQCgxwzc4Udoh8oQ3D1c38X+kQVx2n6hukYfNGGRK9SR3HrgfNBJqfHz
         ag1gdZGsI/E1caMrgoTOQSHq0ExFpQaI4TCvh7cGN/wulmoQJJny4M/thJwuaeeSDsxH
         Kt8qfkjVdBq0sED70p44vx94sCBcqqaxuUIo++CEipFN2AVFfvqVDxRtoFwh3MA6XqfA
         UKOg==
X-Forwarded-Encrypted: i=1; AFNElJ+X+6nWM3bq/HdxH8QQVAPfCVjkZHyO79cWnxcu3k3ZUcz8b0LaGDV70FxC5JZy2l5aqOuGHgu1Z5k=@lists.xenproject.org
X-Gm-Message-State: AOJu0YykEzJ1BaoipAWzgk6W1xmgQ5KZaI7mnqfXgzNMCbXEjrTqTfmx
	wpIDgSuVhU6082u+dNyFpeQQks16VG41sZrpAFBPpBV5Te8ZqtR+qp1FBDrgGnsMHQ==
X-Gm-Gg: Acq92OH9gdDfACz6vOwXUKRVd8R1js2eMW13pZzFfm0Qm1Bge8C6f6pml7iD5PaBTum
	MnAtK6KnUBrSGv1GIgjal4UVfz5u/c6jMWErAp7mDHEfWw+u1q+0qiBhzIBsEWOyNnjH8bzHT6r
	oFa/o77eMN/ng/DAdx/c8potspx8oi5dir5WNdkj1CF+mYzvlQsqeiaOmiYA5hW/uh6QJd14b25
	ZRMkX3rslyv5szVRSXgCQlfCKFR75/EFLxERK5HmqcYnpg7//T9afSOO/TfgQ9yGHj1KoZ6wwYs
	TV6GtGa/AeIUCUUfhxGB4MjWB41ZKqtgEUXv4wTk1sY+s711eysWCgAQAsLeqrXnPAv1/esMVN9
	eqg4N4wgity0jIMShA84milVYej4+KlJPZzr7cPfvXz1vH7OgfvfyVec6WmGNDsBQEmlMq+jsCQ
	9f+aot5qKO/vT+YXntS5M3vX4TXcuYCBmNNLv13xIM/aDAAYkEzet5yIZ38vgjlRucNdnHTfGWw
	eNIIulPHp9k1/rkvZEQwKjsex65Oc39BESj2PkGFLROQfc//89OIfmcBeHvMbtbc61GLrY=
X-Received: by 2002:a05:600c:8b2b:b0:490:44eb:c1e7 with SMTP id 5b1f17b1804b1-490e561447fmr40603585e9.30.1781187276983;
        Thu, 11 Jun 2026 07:14:36 -0700 (PDT)
Message-ID: <188b21b9-dd46-4414-861c-20a0ff28c23a@suse.com>
Date: Thu, 11 Jun 2026 16:14:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] xen/sched: Make cpu_nr_siblings()
 architecture-specific
To: Hirokazu Takahashi <taka@valinux.co.jp>
Cc: Mykyta_Poturai@epam.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 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>, xen-devel@lists.xenproject.org
References: <20260610111320.133784-1-taka@valinux.co.jp>
 <20260610111320.133784-4-taka@valinux.co.jp>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20260610111320.133784-4-taka@valinux.co.jp>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ef75cf/1781187277-21F6EC48-F2815F6F/0/0
X-purgate-type: clean
X-purgate-size: 1701

On 10.06.2026 13:13, Hirokazu Takahashi wrote:
> --- a/xen/common/sched/credit2.c
> +++ b/xen/common/sched/credit2.c
> @@ -29,22 +29,6 @@
>  /* #define d2printk printk */
>  #define d2printk(x...)
>  
> -/*
> - * TODO: Abstract this properly, and figure out what Credit2 wants to do with
> - *       the fact that x86_num_siblings doesn't even have the same meaning
> - *       between x86 vendors.
> - */
> -static unsigned int cpu_nr_siblings(unsigned int cpu)
> -{
> -#ifdef CONFIG_X86
> -    return cpu_data[cpu].x86_num_siblings;
> -#elif CONFIG_DT_CPU_TOPOLOGY
> -    return cpu_topology[cpu].num_siblings;
> -#else
> -    return 1;
> -#endif
> -}
> -
>  /*
>   * Credit2 tracing events ("only" 512 available!). Check
>   * include/public/trace.h for more details.
> @@ -884,8 +868,11 @@ cpu_runqueue_match(const struct csched2_runqueue_data *rqd, unsigned int cpu)
>   * Additional checks, to avoid separating siblings in different runqueues.
>   * This deals with both Intel's HTs and AMD's CUs. An arch that does not have
>   * any similar concept will just have cpu_nr_siblings() always return 1, and
> - * setup the cpu_sibling_mask-s acordingly (as currently does ARM), and things
> - * will just work as well.
> + * setup the cpu_sibling_mask-s acordingly, and things will just work as well.
> + *
> + * TODO: Abstract cpu_nr_siblings properly, and figure out what Credit2 wants
> + *       to do with the fact that x86_num_siblings doesn't even have the same
> + *       meaning between x86 vendors.

Hmm, the "abstract properly" part is being addressed by this patch. Why would
you keep saying it needs addressing in the comment you move?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 14:21:16 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 14:21:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335618.1597808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXgHM-00033u-RP; Thu, 11 Jun 2026 14:21:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335618.1597808; Thu, 11 Jun 2026 14: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 1wXgHM-00033n-ON; Thu, 11 Jun 2026 14:21:08 +0000
Received: by outflank-mailman (input) for mailman id 1335618;
 Thu, 11 Jun 2026 14:21:08 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wXgHM-00033g-1t
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:21:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXgHK-006jUr-Sk
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:21:06 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2ac44d-bab6-0a2a0a5309dd-0a2a4505e434-24
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:21:06 +0200
Received: from [52.101.52.0]
 (helo=BL2PR02CU003.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2ac451-aaa8-0a2a45050019-346534007a3b-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:21:06 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by IA3PR03MB7762.namprd03.prod.outlook.com (2603:10b6:208:507::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.18; Thu, 11 Jun
 2026 14:21:01 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.013; Thu, 11 Jun 2026
 14:21: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=A1x2oYA7KdqiaODtGrUWfVuVSNcGz6jEh/rppUM3j80g3BQkZvH/W5gZTBVU75ESj3XrCi47xrAxnMS09z8vQgYZLs5RoT6SHJw9xowxNhz/i9I+Q7m5GWhLmulAhCbZzRzZIWJePCCXTXYJW9BLdiGxr5IhH7lajLYyypAWSQQqgmMMAQ1EWG2Bv11HgitnP23M8UiPmE+iifEXyeWQGkN++H8rxNAIcjNrr1XyS2YSYPvNRzXi0PgUfurch4yHZSPEblE/aTV3OLfSgTMTEIrxYpw+ik/nBxJJ1+OPSHAajxSel6zDEpTxRPVuIW1kJNVKsva/y0kBWml7u/D0ew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZKsxN/lRc27+NZHDKUQc73SxfuDFyPo67W3xsWBf27Q=;
 b=Oxk/pB9Gx/gWFcXizWj78ySvQfUvUhQ5ZKbwmGPQYgOxSkXYGl4cvphvWMygNRPAdlem0UZ41zZ8qgjAiNYaW71NurW2ogKSNlQF+4WN5KLRk9y153JBB2h+QasDW10OCO9zS2ZS0ydh0aj/pRuzY1t04SySyvukHHwK6rDk5uILlkmxgtd8s6Yr4VYhJAHk3txcr2NqoUfdsWkR2KEpLrGPORohRoQ3JMa0BjOYZmFmxuNQRpasZB26FZU90CEbw+5Jvsir6iOZnKl5aGVrVHDEEHNijBdbf6hPrqQUs6NRFJJf0yyV7ynA9lpJNyfSY3gnwD0f+O2qvWZuh0kY0w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZKsxN/lRc27+NZHDKUQc73SxfuDFyPo67W3xsWBf27Q=;
 b=KWUVisbR3BfcVwidtSMsO8NA37kAjzyuQ5gcInErf0ScJ/7ApCbIdZoag6WrdHzp0FaEmGRGEl+ooRk3ItQNpqbUX70qn+LWACQIRQ2UIeI2uQ9Run0V44xtX7/mcbYBlgqBGlwXcf4EShj5+hUCBiMDsYFGGtoLDlRRb5v/aY8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 11 Jun 2026 16:20:58 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>,
	xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	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 v1 2/2] domctl: Handle some of XEN_DOMCTL_shadow_op
 without the domctl lock
Message-ID: <airESvOliZS6tSch@macbook.local>
References: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
 <20260609151528.2426788-3-ross.lagerwall@citrix.com>
 <987f029b-02c0-423c-88fc-2e588f03a5bf@apertussolutions.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <987f029b-02c0-423c-88fc-2e588f03a5bf@apertussolutions.com>
X-ClientProxiedBy: BN1PR10CA0022.namprd10.prod.outlook.com
 (2603:10b6:408:e0::27) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|IA3PR03MB7762:EE_
X-MS-Office365-Filtering-Correlation-Id: d98fd397-3893-401a-9a5d-08dec7c4aa03
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|23010399003|376014|1800799024|56012099006|11063799006|4143699003|5023799004|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	M68FHFAeGDfMiRVxS0d0JlD0HOM4dWMgrQTptOWGT9e4HtqhoW2y44i4MBJ2o2V/Y0zFhmNypfmHYh5EzZ9sW/o2JW08llLe9Y/XO2qkAo47U71W8j/7+Z2qmPkeK7qlSLnCzLZ2WFyn8Uj1PdSRlpS7EwjjQSCrrEEzUYH3cv7cWURwD+146Ubb2+afsWr6XXdOBR+a7MX3M1RGB6+Pz4PdGo8VlTQ7LVy1f1PeFbwrfbfCIX12WNrZ7ai5CyvKwgnTwBDue55TZIORlznR3XQMaV1pJyvkLfNfQghLrIXwRNNwYsEW62Dxo3FJ3P8rtRwZHJM9wjA/3oB+iFDpqiQUIvK9cZN689HRhqYe+dMpZCPPLzAcaKa0PdZAnqlx8qS4kF/xHIAdag9rJo78wLHhtu4+kdsKvKCEATeOofzZwYtucqEt9M0Hm506CsZrlVU1WhbnzW56rrIGJ6qNyloYzOd2+a8UfZDoZca2VVQ/8/6bosaMa2RQyE9haalfBT4RtudnWvI1zJLijls3l4XxCz0QR+RA+pZRI7FlkzYU1MN7D/DD6a7FDBrYuCf2O77wGqRXMOZ8+MEw7PqrwmFhoy1gw9FW4DiZ36HQ1sv4w8hEcZ5LNLXvxJ4hdfnWmLYknSvjWkQhYoYy1N2B472r35eAh7kfyuU285K1DX0/BEl2lhYG5Jm2gmk1f+yM
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(376014)(1800799024)(56012099006)(11063799006)(4143699003)(5023799004)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YkJNV3lJYTZzR25pRnpWVFZucnJtcHNPSDZPbEtYUzRwUVlHOVRPbncrSmRm?=
 =?utf-8?B?Z1VlRkx5S0U2Qi9KUFZRMk1YZnUwdzNhaVpXbkR6OUFrcGZRcTZmMnpuT2t1?=
 =?utf-8?B?dGtMdWxTYkVoSzRTTk4zVVFPaEpEM1p0bEY5SXlOUEhlaVpZZk4zMDBKeXVB?=
 =?utf-8?B?UGVWUm1IVk1pY2RVaE5xeTNwVVZTcTIrSGRFR2NUTXY2NnpUVzh3RmpvK3k3?=
 =?utf-8?B?eEx1OFA1TTZHeVQ2YnU3dk5BTmNlYzgxSWVPSzc1eDZjNDNmOE9ZUjBweFJM?=
 =?utf-8?B?VlFUVmJsOC9RUmxmNzZLYWh4WGwraUtlUnhqelg0ekJrUXNNZzhwSHA5aFZq?=
 =?utf-8?B?Yk04Y3l2ZzZ4RUxjek9MeXR3aWROUjBVZXJ6V0tyNCtwVDFhMG9KaTRnQVpV?=
 =?utf-8?B?dHc4eDl5YTZiYkhVaGVBayt4VFkwYndRbXdIM04wck5RSXRmakZsVjhZbi9I?=
 =?utf-8?B?MkJzaGFyWk9VSnBtNUc0alo2K2NwQnkrRmZ2QTlYbjI1eHBMclorUXJsRFlM?=
 =?utf-8?B?U2hlMHhTYW5UUzFIZDdScjNMRkhTZnZ0cTNsYnJ5alVYL0JLZWNrbWV3OEZM?=
 =?utf-8?B?RFdyT0dDV2JlYWdVVUIyS3lRZ05ISk1HRXovWm5rSHlXNXFSand2eWFCYUVy?=
 =?utf-8?B?My95c2VnVHEwUnZETTN3QndmUVhkdTFvTndKYUEvVmgyNzFDWjJCL2wyNHFK?=
 =?utf-8?B?dnhkdmJBV0NFMDFjZjlHeWdvTmlMOHIzUXdEUG5YZVdhNlVEVGUrZEdSUnFM?=
 =?utf-8?B?TDkrUEVZRVhzcm5PdGNMZ3lBWHRUTDJoZDRJMUxWYUh3STNmYytaRnkvQ0lx?=
 =?utf-8?B?VzJTYUtyQVBpeHFPZjR0UnplNEo2UlZqUG9UNGQ3cjNkaDFYRE1uaFlQSnYw?=
 =?utf-8?B?dnRKL05UWUcvZkpKMmQ2NXNVVTZ4Si91RHZ6MmMxMEk5RWtoQjAwdzF2eitr?=
 =?utf-8?B?WVd2b0NWWmw3MkVkQVN2aER3ckNLZ2dkaUY0NWNYQmU2cjhTQVh3ZGt1Z0tF?=
 =?utf-8?B?L3NSdHJMcXlIQ0NLZHF4b3VGdStZZzdVZ0c2cG5xaGpNeGZ3SXZ5L29jYXJi?=
 =?utf-8?B?Q2NjTFljSnFORFYyRnFiaHk0ZHM1RW92NzBIYmdSYVhjb2ZZV0UrSmVCM3ZM?=
 =?utf-8?B?T0UxRDB5eFJsTmNOSUJYMlRYbnpXK2pIZ1pzYWZybXVqd2JPalVzQkx3SDJp?=
 =?utf-8?B?dm1wckphcGQ4MzdLdVA1YlY2UVU0Z3NRdkVsOFVsUmc0TnBCdjkrQmg4aER1?=
 =?utf-8?B?NjVDZ1ZadklzSXF6Q2dJSGJ0NnBsZmJmSjJZU1lNOC9iZGZPSUlaRW03WSto?=
 =?utf-8?B?OEtFM1hrL2VSdWVOTkc0OVFETWRSNlBmN1laYXVnK29WRFhXL3orbFp3V0F4?=
 =?utf-8?B?VG5UZWtkMFNlRk96TWJyZHluV1dKVEhvc3lTVlJOT1JMVitnU1g2QnBtaVFL?=
 =?utf-8?B?UmozOEhaUUIzR0EzZW9HK3hxNE5SYWZPWDltZFpPT0JmUW8rOXQ5clFiUDQ0?=
 =?utf-8?B?dnE1SW5PSmozR3k0NGoxeEcyRTY5a3VwNXAwQk1zL0lVWE9DaXRINWNNenpF?=
 =?utf-8?B?Z21wS29YSkVmbmdmek43UWgxTnVzS1YzYWlQOE1TUzE3bGtRMm82eldqeHVn?=
 =?utf-8?B?R0RFVDBFT3V3ZCs3NHBnSWpiUlFsZGtqMy9zdE1pMlVjQjcraVRaNTBORzVX?=
 =?utf-8?B?WGtyajRCY2U1TFRhT1E2aEdPRFJURmpCc3R2cVFtbkdhcThKbVF5cG8vczZH?=
 =?utf-8?B?eC9GVGFJcmVqeVVSZW93K0xBOUpBMnlDWnZLYTZuYkcrYXFCWnI0Q0ZuVkd6?=
 =?utf-8?B?TVlTNVE3Snc2K1JkYXhBNzN2Qng1ZU9mNXZKVUgrS1JMY0Zncms1dktxWGd3?=
 =?utf-8?B?M2JLM3oxTnZVejB0djZ3MzE5YTdIb1MvMWFyMU1UWUdIQm1qOTh5SDNZU3dS?=
 =?utf-8?B?T2dhNlg1RlR6VXcxWUxPcFpwTEY4SUpRb1dsendRMGFxMVhTWnZkMXlkTmgz?=
 =?utf-8?B?UTlDWEd4S1F0d3k1TWxpWm8xL3lWTVdWckJIaFVYTzNsTWxxMldpRnNuck9C?=
 =?utf-8?B?ald2ekVUQmMxZTFVSVdjL1FxUEtWWFFvZlc1VkZTeU9qNko2cndpL3RabFp3?=
 =?utf-8?B?SXJHaW1kd0srSlluUHY0MzlySmozWDlpWjZqMnVldFBqVHlFS2cxUkM3bW1E?=
 =?utf-8?B?cWtqUHpzMDF3R2hKWXJsQ1pKM3djOG5FekRkMm5UZlZwR0hBZUYzeDgrdEhW?=
 =?utf-8?B?N1FuUXNobUd6Y3c1RFNDLzNnek1la2FtRk1TcTVTU09ndWpHS3dzTm9DUWFp?=
 =?utf-8?B?ZEsrQXhmTUZXUHJIVFRhQ0xHVW02YXMxckpoK1BjNWhpaWN3U3V5Zz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d98fd397-3893-401a-9a5d-08dec7c4aa03
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jun 2026 14:21:01.5957
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qws8PeElKIvPj7vjF+CHcBZTZTb1a3yrq/9tfyNepKDpLTXlB6BUVZSxRNA6fn12vEUEm8uYCMsM1QYTFin60Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA3PR03MB7762
X-purgate-ID: tlsNG-c201ff/1781187666-D937C443-837F87A8/0/0
X-purgate-type: clean
X-purgate-size: 4001

On Thu, Jun 11, 2026 at 09:18:15AM -0400, Daniel P. Smith wrote:
> On 6/9/26 11:15 AM, Ross Lagerwall wrote:
> > Handle XEN_DOMCTL_SHADOW_OP_{CLEAN,PEEK} without taking the domctl lock.
> > This is safe because for these subops, the paging lock is mostly held
> > which prevents it from operating concurrently on the same domain. There
> > are some parts that are called without the paging lock held:
> > 
> > * hvm_mapped_guest_frames_mark_dirty() - The function itself takes a
> >    spinlock so is protected from concurrent calls. In any case, it will
> >    mark all the pages dirty as required.
> > 
> > * domain_pause() - The toolstack cannot unpause the domain while in
> >    paging_log_dirty_op() because the toolstack's pause/unpause ops have
> >    a separate ref count.
> > 
> > * p2m_flush_hardware_cached_dirty() - This is called elsewhere without
> >    the domctl lock held so holding it wouldn't achieve anything. It
> >    should be fine as long as it is called at least once.
> > 
> > * log_dirty.ops->clean() - If the callback is hap_clean_dirty_bitmap(),
> >    then it will hold the p2m lock while modifying the table. If the
> >    callback is sh_clean_dirty_bitmap(), it will hold the paging lock
> >    while modifying the table. In both cases, this is OK.
> > 
> > * domain_unpause() - Same as the earlier domain_pause().
> 
> Please add a comment that that xsm check is to continue protecting the
> sub-ops with XS_PRIV.
> 
> 
> > Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
> > ---
> >   xen/arch/x86/mm/paging.c |  8 ++++++--
> >   xen/common/domctl.c      | 12 ++++++++++++
> >   2 files changed, 18 insertions(+), 2 deletions(-)
> > 
> > diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
> > index 1a5822808620..bfb5b423a0dd 100644
> > --- a/xen/arch/x86/mm/paging.c
> > +++ b/xen/arch/x86/mm/paging.c
> > @@ -746,11 +746,15 @@ long do_paging_domctl_cont(
> >       ret = xsm_domctl(XSM_OTHER, d, &op);
> >       if ( !ret )
> >       {
> > -        if ( domctl_lock_acquire() )
> > +        bool lock = !(op.u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_CLEAN ||
> > +                      op.u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_PEEK);
> > +
> > +        if ( !lock || domctl_lock_acquire() )
> >           {
> >               ret = paging_domctl(d, &op.u.shadow_op, u_domctl, 1);
> > -            domctl_lock_release();
> > +            if ( lock )
> > +                domctl_lock_release();
> >           }
> >           else
> >               ret = -ERESTART;
> > diff --git a/xen/common/domctl.c b/xen/common/domctl.c
> > index 35144d95b808..a3888c4e87d4 100644
> > --- a/xen/common/domctl.c
> > +++ b/xen/common/domctl.c
> > @@ -559,6 +559,18 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
> >           ret = arch_do_domctl(op, d, u_domctl);
> >           goto domctl_out_unlock_domonly;
> > +    case XEN_DOMCTL_shadow_op:
> > +        if ( op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_CLEAN ||
> > +             op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_PEEK )
> > +        {
> > +            ret = xsm_domctl(XSM_OTHER, d, op);
> > +            if ( ret )
> > +                goto domctl_out_unlock_domonly;
> > +
> > +            ret = arch_do_domctl(op, d, u_domctl);
> > +            goto domctl_out_unlock_domonly;
> > +        }
> > +        fallthrough;
> >       default:
> >           /* Everything else handled further down. */
> >           break;
> 
> After commit message change,
> 
> Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>

Sorry, this was already picked up in a rush to get it into 4.22 and I
didn't realize it was missing an XSM maintainer Ack.  That's entirely
my fault, there was no intention to bypass or overrule your opinion.

Given it's already committed, and there are no objections aside from
the commit message adjustment my preference would be to leave it
alone.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 14:22:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 14:22:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335629.1597817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXgIK-0003a9-6x; Thu, 11 Jun 2026 14:22:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335629.1597817; Thu, 11 Jun 2026 14:22: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 1wXgIK-0003a2-4C; Thu, 11 Jun 2026 14:22:08 +0000
Received: by outflank-mailman (input) for mailman id 1335629;
 Thu, 11 Jun 2026 14:22:07 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wXgIJ-0003Zq-6E
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:22:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXgII-004jwn-CZ
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:22:06 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2ac482-bab6-0a2a0a5309dd-0a2a450ae9fc-38
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:22:06 +0200
Received: from [40.107.209.17]
 (helo=PH8PR06CU001.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2ac48a-56b3-0a2a450a0019-286bd111a96b-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:22:05 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by MW4PR03MB6868.namprd03.prod.outlook.com (2603:10b6:303:1b8::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Thu, 11 Jun
 2026 14:21:59 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.013; Thu, 11 Jun 2026
 14:21: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=lqhBMSVpYxgOK8QmS/MZtjydpQj5KYjOT5KWwbmKc7Kqw/qcMtXomjEqrBEiVBzzuP04Dc4K4EAJOju7pdO136ABnceUbhFyBefVAr92TpIt1j0UZohVuKGj9tk0j98yOgHWAcHqtyS6BGHzqKctHDt3/6BxC0cFUIkC2MVEkg4NYgYHG/hgEvp9GIxNKL2i3oYCQj/Se3qd9OQP5Vrr4QWrDOH7M+BP+Qv+FzbBwiis2oRWeVyDS8jxPoGQWlPO9dpv9BDKfOfxjSGU02WHB1YI8k2fUsr/IUbNvIYt6O9aXKOBnvvXnmFnYIgQICLZ0WmS/IpiSFmhU4XuBKatsw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=w8o7/s7koCPnxEkhlH28JSJXfj8ZLAGi46hUfnB7CrM=;
 b=NwH1Pplzu+Nn1KlYMGfLzzlzDXOuBDtLVKdKU1yl4yDJnPREx3USXXEzyriIB/aVwrnWmaPWgzgDafWd7GqmEsDiEOhT1Nzcoinuc5bALUDOpke+QWtPCOaMn1va4izKJ7ChArTo1PGxFzuS3/BqpLJAiDYK8kdJ6MiXQawRbtnvr728TrbS/6MEsFy8lgxpbqnPnBNWX8wv7eYenVEeKyKKtyQt8TIElZK/Bcj+5yb0mDi1yAhXcgJZ6uUzzIC9V4JFki5PjdtsCe5ks6AUMfkM/9PqTINeB7ncCSi/Nt6mbPQ8zcprM0Qb6pMrUjKCRQGkJp72idkuV4keQFYCnA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=w8o7/s7koCPnxEkhlH28JSJXfj8ZLAGi46hUfnB7CrM=;
 b=qewjLxUsEabcN3xZs4b89cl4fFyubVTri0wqjDsvUlc7JLhDbM4rmGN+8kWbxTfPjOQY5aJIAOUYwdVeZx+SeE0OwtOcC7bC314xqhd7ewOiDnqUR5G/kZsN6PFUeUhJG1X+42ClrMwKT10JGC8RbO6zB69UP6z4+PCWuFaeD3Q=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Jason Andryuk <jason.andryuk@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: [PATCH for-4.22 v2] xen/x86: Change stub page allocation/free
Date: Thu, 11 Jun 2026 16:21:54 +0200
Message-ID: <20260611142154.64525-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: IA4P220CA0012.NAMP220.PROD.OUTLOOK.COM
 (2603:10b6:208:558::17) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|MW4PR03MB6868:EE_
X-MS-Office365-Filtering-Correlation-Id: 16ff0c55-8db4-419c-0cf1-08dec7c4cc77
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|23010399003|376014|366016|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	qIml6B84rzXD3EVw/ED98OqIuqk1pvBp7q162488RqmRcpR62dZSBEz2+11Pt8Zv6Dj5GrNtSsBlOzziL4G3H7hs1wW5WybHhcQJhlls0LmnsEh8RZ05Ku4mX2NLcKLjtypCR9w5/0t6aZs2tA01R8ayVdT/ARRpnAff5L3zf6SyMIp2IVh4lMtvANJ7uh4CDNWDozM6p679bP86TptDj4hXyssBQtrXhE2lph78t9GPx3LFQ+wiS79wb1KYolt8M8odtzH6QERYwpH68rrlocTmVvqSLlNgylQ05NMwrKPfxqnkubVtQDl6d/gG6fCM9OKq0HDq4kbAhN4Gxm9i37u4sESnYZIzLu2oDMOdYJ1+NHZ6Alo5zAHCTaNngbfvmtj+oDZ9PFFMg5gBkRlCDSHKnsXv5ncRNXUYLwQ2YraMlQWv6FXr6fO0Fz470Sth/mlwvqIfSMtxB3EBXJm2CiGJehbvT7a3Bz9pV7tqmYgJhMkvaY0Dlz18GcqtbZumwByrBhbFs07xWMq+q5ccVZHE/kFwn/qcj870o44Eal7lv7WoXc64EBDT/mYD5q/tSzC9yL5Z35m8IYPqyfpFY5jynbG8oHyQcmAd5WyraxmBz8DnpADxI5GxP3birLCRgl/LYCaFNo11AE3kkDuFJVpZUEBbQ/tPuBVI0X3iJHwsgFJEfrgepd9N13F/zjva
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(376014)(366016)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b0dzL05JU015WmxhYmErb29jU3hFVENDKzVoVXAvQWlXWE5Kb004N2RzSWM3?=
 =?utf-8?B?MzZFUUhhcVhEcmpsSHd5YW8xcXRhWHlOSHltRUNhMWZNRVhKaWZWRURaUEJr?=
 =?utf-8?B?ZVY5Z0k4QmJRSStISGszR1F3UllaZ1Q2bVp3TVlja2hwQUFKTGFQckJDMGph?=
 =?utf-8?B?U0x6ZGZIN2NUMm1xSDlGeWNVMjFBS0YvYmVvMGJieHdEaUNwbFVTUEhCb0do?=
 =?utf-8?B?b1FST0tNRVNHVVVuWFJqSXZ6NWVKS2xMUER0M20vS0RoOEdoUVIreDZYV2l2?=
 =?utf-8?B?bDFybDQ3WFhxQWVSQjJzRmo2Sk5xdG9HcGhYUWpsQTZvaFZnY3ZEVk5uWkFW?=
 =?utf-8?B?TjJyTFh1L1F6enJFRXZyVzJ2MWFJbjM4MDBpbE9BeVdPLy9GWFBpZDdLRVRH?=
 =?utf-8?B?ejJJa3JDK202dVRmaVBRRzRmUE40ZklNeVpYYTlmL2MvWG9jR2RiR1FmbGlJ?=
 =?utf-8?B?enhhSXlEUWVpcWptMG5Fell2Ymt2dTJ3NFdxazRBcVBSTGJqU2d6eWFuWHk2?=
 =?utf-8?B?blJjZDdiL3RqWTdZZGthZW0xUFlxeUZ1TElFa1U2TTZHYTkzeDdOaVRsbzFs?=
 =?utf-8?B?QTBkVzhQaEhhSE9sNHZmV1hGRUhaZEVPTXY0MEtNdlVLRjAxSm13RTlWUkww?=
 =?utf-8?B?eGQ1elBHZG5xVGxWZVRrYitMakZYYmtKSmdvVnpPdWUyTWx5d3lWMERIZ0VP?=
 =?utf-8?B?bitKNHY4eTdZZVQwLzcxbndNVHdHS01PdlJGU0x3TW5NRFcxTloxTlI2Yk9z?=
 =?utf-8?B?ejBqNU5qY3RNVFRRVkVNMzdwMWEreXVHcUlLV09hdnI5Wnh1SzRxUndKenB4?=
 =?utf-8?B?a25QRk1SbTFQRmxENlBJNkFxOXY1N05DdHFqd2d4endxVTNWTnNETEZyUEdU?=
 =?utf-8?B?UEx3akdodGtiQ29kTzF0RUtvaXZLSkhxazNweExzOGtTVnBHR3Fud0hxcG9K?=
 =?utf-8?B?MENjT3ZNV2NHMktLeG5uczRuTzA5THBwMHR1cU8wNDRLSWYwTzBqQ3U5eDdJ?=
 =?utf-8?B?bzVobXlkQmJOeFdzaDNTOXRwTHNCb1l4TmFObjlVTGNSSmhIeU13RkpKK1lI?=
 =?utf-8?B?eCtiaUZpR1pDUEdSRXA2NWMxZWhPRkIvUGJiN3JkRW9jOEU5VVVDL0V6dUN1?=
 =?utf-8?B?TXl3cW8vVkc3YUl6RlBXcC9Fckc5SXdOQ094cENiMUpyM3FVNWpUNWJYaDE1?=
 =?utf-8?B?WVJVNTVRV0Qwemp1SWZmdXJwclFocDZpYy93T2lWMEQ5eFUrSXNZQTNpUStu?=
 =?utf-8?B?OVdIVkJ0b3pLWk5YdE5CM1JnUnlEWGVTamlQSklzWE56MTgxNE9SWmQ1WW1T?=
 =?utf-8?B?RlJKdE00Y0NQa2FXa0pXd01QN2hBSVNNazcrRXl4QW9JVk1RTTJSRUkvR0Np?=
 =?utf-8?B?TEwxeHJXcWltOVg4d2t1MjJWUU9sMzV5S3QyYm02eS9pbmo4STlJbExScDB2?=
 =?utf-8?B?c2RiTGJwKzJ2MGtud0Y0ZHkvenZhTXBLWENJaCtVSG1XSEFJNTFacmxmUDM3?=
 =?utf-8?B?QUxiTDBLMlVLTjZrNkJlVmpYRDNXVisyS2haQUo2MFRnZWxYUzhJaDU4NmtK?=
 =?utf-8?B?Rk4wRUh6bGlEcVozdEI2ZUFPazNLeFdvcEZveFA0b0VENy9EUVA4SEZ6b0Q2?=
 =?utf-8?B?UlZ5c0VoVlJ1M0VVQm4xMkZVY05DZlJvVmZ4RW55R3g3eFNGa0ZOYzFTM0J1?=
 =?utf-8?B?d0tSZGxtcCtDQ0lKRCt0TEJ2L2FlOXZoMlhEMngzMmpXVHY5RWZ1T2ZNeDV1?=
 =?utf-8?B?T2FKanhHblpKTTV2dHZFVXhsd3ZkbzlnZnFYekFTaXduVWJ0bFJLZXFrUFJF?=
 =?utf-8?B?VllNQ0d5SE4xd0VjMmtNRGZnTWRHZUd3UTNXR2lwTlJNellIYW5tM2xIQml1?=
 =?utf-8?B?WXZoUVBCNkJqZ2JaOFVhWVIrT0o5TVFkOUZOeGVvMXdJY1Y0cnRFVmVEcllM?=
 =?utf-8?B?aW5XN3A3Mmt4d29xQW9aOUlPZ1FzR2trTjRoV0dEODZDdjR1eUFPcmh1bHdG?=
 =?utf-8?B?NzFtTEFaZW5FMEpHTlNybDRzczRERklCV2hZNWZzbGY1RXdabFpTM3hyM3VG?=
 =?utf-8?B?SWVuOEpKQVRiakNuS3JHMWtLdU9qQUJGTVFzK1hid1I3SGhRNmF2TUdFUzR4?=
 =?utf-8?B?c0llaDl3K0FabWpLZnEvL2E3SGdSTTRkaXNXYnczRWEyRjZPMER5d1o1UExP?=
 =?utf-8?B?QnkyMEgyblpOcWhLWkdiUVhMOVdlZWd4M1l3KzVUeWNETHRFSmVvS3I3aXV3?=
 =?utf-8?B?MXlmbU9FbzBOa0NOOXdVM09VUi9jd2pKMXJSaU16RXFKTDlrZ3oxd056aUNv?=
 =?utf-8?B?Ulk2RlhRVkJvKzhSeGpwUkptR294SktIZndDZk5EM2F6NkdDVi9rQT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 16ff0c55-8db4-419c-0cf1-08dec7c4cc77
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jun 2026 14:21:59.3020
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: us8s5Gs7sHdzuYTZol9DazDMTEqg1t8wSn6ylfCh3R4XKGLmL3uvmpjM+6ZNw8xzIX2cpsWzFEpJ43J5EV7wfA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6868
X-purgate-ID: tlsNG-4011c0/1781187726-7DF838B7-C18BB2F6/0/0
X-purgate-type: clean
X-purgate-size: 7740

From: Jason Andryuk <jason.andryuk@amd.com>

Today the inline tracking of the stub page is problematic.  0xcc is used to
indicate unused, but it is also a "clear value."  A !CONFIG_PV build with
smt=0 will bring up CPU0, bring up CPU1, bring down CPU1, and free the
in-use stub page.  CPU0 or subsequent onlined CPUs can write to the re-used
page.

The new approach uses a global, CPU-indexed dynamically allocated array of
stub addresses.  However, to handle NUMA aware allocations, we cannot
allocate all the memory in advance because of the NUMA dependency.  Take
advantage of the fact that Xen will attempt to contiguously pack CPUs on
the same NUMA node (see normalise_cpu_order()), and on CPU bringup use the
same stubs page the previous CPU did if suitable.  Note the code would
still function properly even if CPUs from NUMA nodes are not contiguously
packed, it just consumes more memory.

stub pages are no longer freed.  They remain referenced in the global
CPU-indexed array and are re-used if the CPU is re-onlined.

The stubs array doesn't have an explicit lock.  During boot it's accessed
single threaded.  During runtime, &cpu_add_remove_lock serializes access.

Fixes: 7a66ac8d1633 ("x86: move syscall trampolines off the stack")
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 xen/arch/x86/include/asm/stubs.h |  2 +-
 xen/arch/x86/setup.c             |  4 +-
 xen/arch/x86/smpboot.c           | 92 +++++++++++++++++---------------
 3 files changed, 50 insertions(+), 48 deletions(-)

diff --git a/xen/arch/x86/include/asm/stubs.h b/xen/arch/x86/include/asm/stubs.h
index a520928e9a50..467551136a2a 100644
--- a/xen/arch/x86/include/asm/stubs.h
+++ b/xen/arch/x86/include/asm/stubs.h
@@ -32,6 +32,6 @@ struct stubs {
 };
 
 DECLARE_PER_CPU(struct stubs, stubs);
-unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn);
+void init_stub(void);
 
 #endif /* X86_ASM_STUBS_H */
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 4192edf635b6..0253d22c349d 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -2089,9 +2089,7 @@ void asmlinkage __init noreturn __start_xen(void)
 
     init_idle_domain();
 
-    this_cpu(stubs.addr) = alloc_stub_page(smp_processor_id(),
-                                           &this_cpu(stubs).mfn);
-    BUG_ON(!this_cpu(stubs.addr));
+    init_stub();
 
     bsp_traps_reinit(); /* Needs stubs allocated, must be before presmp_initcalls. */
 
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index d8fd71ffab37..f0c104b9f072 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -20,6 +20,7 @@
 #include <xen/serial.h>
 #include <xen/softirq.h>
 #include <xen/tasklet.h>
+#include <xen/xvmalloc.h>
 
 #include <asm/apic.h>
 #include <asm/cpuidle.h>
@@ -641,41 +642,62 @@ static int do_boot_cpu(int apicid, int cpu)
     return rc;
 }
 
-#define STUB_BUF_CPU_OFFS(cpu) (((cpu) & (STUBS_PER_PAGE - 1)) * STUB_BUF_SIZE)
+/* Dynamically allocated, indexed by CPU.  Store physical address of stubs. */
+static paddr_t *__ro_after_init stubs;
 
-unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn)
+static bool assign_stub_page(unsigned int cpu)
 {
     unsigned long stub_va;
-    struct page_info *pg;
+    paddr_t addr = stubs[cpu];
 
-    BUILD_BUG_ON(STUBS_PER_PAGE & (STUBS_PER_PAGE - 1));
-
-    if ( *mfn )
-        pg = mfn_to_page(_mfn(*mfn));
-    else
+    if ( addr == INVALID_PADDR )
     {
-        nodeid_t node = cpu_to_node(cpu);
-        unsigned int memflags = node != NUMA_NO_NODE ? MEMF_node(node) : 0;
+        nodeid_t nid = cpu_to_node(cpu);
 
-        pg = alloc_domheap_page(NULL, memflags);
-        if ( !pg )
-            return 0;
+        /*
+         * Attempt to use the same page as the previous CPU if possible,
+         * otherwise allocate a new one.
+         */
+        if ( cpu && nid == cpu_to_node(cpu - 1) &&
+             PAGE_OFFSET(stubs[cpu - 1] + STUB_BUF_SIZE) )
+            addr = stubs[cpu - 1] + STUB_BUF_SIZE;
+        else
+        {
+            struct page_info *pg = alloc_domheap_page(NULL, MEMF_node(nid));
 
-        unmap_domain_page(memset(__map_domain_page(pg), 0xcc, PAGE_SIZE));
+            if ( !pg )
+                return false;
+            unmap_domain_page(memset(__map_domain_page(pg), 0xcc, PAGE_SIZE));
+            addr = page_to_maddr(pg);
+        }
+        stubs[cpu] = addr;
     }
 
     stub_va = XEN_VIRT_END - FIXADDR_X_SIZE - (cpu + 1) * PAGE_SIZE;
-    if ( map_pages_to_xen(stub_va, page_to_mfn(pg), 1,
+    if ( map_pages_to_xen(stub_va, maddr_to_mfn(addr), 1,
                           PAGE_HYPERVISOR_RX | MAP_SMALL_PAGES) )
-    {
-        if ( !*mfn )
-            free_domheap_page(pg);
-        stub_va = 0;
-    }
-    else if ( !*mfn )
-        *mfn = mfn_x(page_to_mfn(pg));
+        return false;
 
-    return stub_va;
+    per_cpu(stubs.mfn, cpu) = PFN_DOWN(addr);
+    per_cpu(stubs.addr, cpu) = stub_va + PAGE_OFFSET(addr);
+    return true;
+}
+
+void __init init_stub(void)
+{
+    const unsigned int num_cpus = num_present_cpus();
+    unsigned int i;
+
+    ASSERT(!stubs);
+    stubs = xvmalloc_array(typeof(*stubs), num_cpus);
+    if ( !stubs )
+        panic("Unable to allocate stub array\n");
+
+    for ( i = 0; i < num_cpus; i++ )
+        stubs[i] = INVALID_PADDR;
+
+    if ( !assign_stub_page(0) )
+        panic("Unable to initialize BSP stub region\n");
 }
 
 void cpu_exit_clear(unsigned int cpu)
@@ -990,19 +1012,12 @@ static void cpu_smpboot_free(unsigned int cpu, bool remove)
     {
         mfn_t mfn = _mfn(per_cpu(stubs.mfn, cpu));
         unsigned char *stub_page = map_domain_page(mfn);
-        unsigned int i;
 
-        memset(stub_page + STUB_BUF_CPU_OFFS(cpu), 0xcc, STUB_BUF_SIZE);
-        for ( i = 0; i < STUBS_PER_PAGE; ++i )
-            if ( stub_page[i * STUB_BUF_SIZE] != 0xcc )
-                break;
+        memset(stub_page + PAGE_OFFSET(stubs[cpu]), 0xcc, STUB_BUF_SIZE);
         unmap_domain_page(stub_page);
         destroy_xen_mappings(per_cpu(stubs.addr, cpu) & PAGE_MASK,
                              (per_cpu(stubs.addr, cpu) | ~PAGE_MASK) + 1);
         per_cpu(stubs.addr, cpu) = 0;
-        per_cpu(stubs.mfn, cpu) = 0;
-        if ( i == STUBS_PER_PAGE )
-            free_domheap_page(mfn_to_page(mfn));
     }
 
     if ( IS_ENABLED(CONFIG_PV32) )
@@ -1041,10 +1056,9 @@ void *cpu_alloc_stack(unsigned int cpu)
 static int cpu_smpboot_alloc(unsigned int cpu)
 {
     struct cpu_info *info;
-    unsigned int i, memflags = 0;
+    unsigned int memflags = 0;
     nodeid_t node = cpu_to_node(cpu);
     seg_desc_t *gdt;
-    unsigned long stub_page;
     int rc = -ENOMEM;
 
     if ( node != NUMA_NO_NODE )
@@ -1092,18 +1106,8 @@ static int cpu_smpboot_alloc(unsigned int 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 )
-        if ( cpu_online(i) && cpu_to_node(i) == node )
-        {
-            per_cpu(stubs.mfn, cpu) = per_cpu(stubs.mfn, i);
-            break;
-        }
-    BUG_ON(i == cpu);
-    stub_page = alloc_stub_page(cpu, &per_cpu(stubs.mfn, cpu));
-    if ( !stub_page )
+    if ( !assign_stub_page(cpu) )
         goto out;
-    per_cpu(stubs.addr, cpu) = stub_page + STUB_BUF_CPU_OFFS(cpu);
 
     rc = setup_cpu_root_pgt(cpu);
     if ( rc )
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 11 14:23:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 14:23:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335637.1597825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXgJP-00046G-FC; Thu, 11 Jun 2026 14:23:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335637.1597825; Thu, 11 Jun 2026 14:23:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXgJP-000469-Cf; Thu, 11 Jun 2026 14:23:15 +0000
Received: by outflank-mailman (input) for mailman id 1335637;
 Thu, 11 Jun 2026 14:23:14 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wXgJO-00045z-Ai
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:23:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXgJN-002s3Q-Nb
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:23:13 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2ac4b8-e002-0a2a0a5209dd-0a2a45018e34-38
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:23:13 +0200
Received: from [40.107.209.46]
 (helo=PH8PR06CU001.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2ac4d0-c1f2-0a2a45010019-286bd12e522b-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:23:13 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by MW4PR03MB6868.namprd03.prod.outlook.com (2603:10b6:303:1b8::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Thu, 11 Jun
 2026 14:23:09 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.013; Thu, 11 Jun 2026
 14:23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ZhPFThPUn91Hgu77rERG8qHPtiL8OXA35kV9sv/iP4Kv2/vSh3AREzilp1Fcgopi6GM/W8lY0jpjpW7+IPrlRYFD3eQmXl01X/ub1W3YhnF7bU4oqCL2T9BKT99SXC6SfO5NCu1hVaFBPNRHwwTUSdd1MpOEgIKG5AFio3aQ/PIy7FXnM+r957zDId4KM8XcuB4Yg340eyu1m4+bAOocVK1t1AOiAKUVu/2f2ZDj0NNTmVXhmHWht15ItGgwUNOYvgu/06Gb1R7H1Gmx7xF23LUmmSDcXyPY6yy1xwBmpXIDrLNPfGbidXRenmAeXo0Por5AeDf3e/N/VjdptahyjA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qe4tf15hT1j67LjPeEYkl0fRGQTF6kndGFvCqDcbhHw=;
 b=eIYToCIwMhzNoAZN7TW2VsWadXAm1+P9UJh+68OJKWJ4xtggXjTDZstkjgLmRMhIYAAq+zEj69C0Y4qanWg5+5j4U+2h24UOw0mF+Ld91lvILH1LNLW3yFt1tVbWtonz6mj1UQ3VnGjFcCMQws7GVlwcB/4yuzvAJDzAQNmo8QoBCBHaEuj02Uu3vdhfQrR1tAAZBCRc82c3k+Wbk90+j8X89bnulbmVlEWCv+8tPnIKyQHy+rugSMp0gEXpDEkZAA6it6ffTR5ZITTd3Fyw287p/TDC5vWhkCoQK/yp2oF6VDRczKPZKRJhuCToEtAELEBaoF/PCpHauaRFmlonUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qe4tf15hT1j67LjPeEYkl0fRGQTF6kndGFvCqDcbhHw=;
 b=d4M96X0FfjUA+/NbFY292wLTv+VjW4uJHPbPVRrCrpliTw732Zi9KCzIkQa2qmqhppSv/PEvL1JQWkFETvaX2mPMKho9ptsr7Uk7RKxGJBxK1mAVp5rsylOfYQw4WCfo7cg+Gb46M3NNLiNnKEgBItLbuMRC6ZAkXRJJ7goc9MI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 11 Jun 2026 16:23:05 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>,
	xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	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 v1 1/2] domctl: Handle XEN_DOMCTL_getpageframeinfo3
 without the domctl lock
Message-ID: <airEye3YHSEmNUCG@macbook.local>
References: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
 <20260609151528.2426788-2-ross.lagerwall@citrix.com>
 <e5be8bcd-1699-442e-bcc4-25bb2e1c4234@apertussolutions.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <e5be8bcd-1699-442e-bcc4-25bb2e1c4234@apertussolutions.com>
X-ClientProxiedBy: MR1P264CA0205.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:56::6) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|MW4PR03MB6868:EE_
X-MS-Office365-Filtering-Correlation-Id: f767d677-1d41-4c32-2a26-08dec7c4f63a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|23010399003|376014|366016|18002099003|22082099003|56012099006|11063799006|3023799007|5023799004|4143699003;
X-Microsoft-Antispam-Message-Info:
	yIbGIXLCcznaLRC+uznLyRkxSBdz2BMH9evFu2Ernuy8pcEjOGkZ0yEGhHAHaEXS5dIXzUK+a7fYxp3fs9hBWS6skIDdnrwdwg1iyn+As29/I9bfarztUKh+v0SJe0Lfqxnn3HQKZ5Tg6UwzgML5FzKDpL3grMPe9VQuTgzSH+fseiJP2W9V/Mo31sgzAOp07T8h6xNX4FI8cjW+nC+aSp0TlKXTLlpCw/AIr3A4sH6geAGlnTJuLKNIRkFnXfF6r6uSVVXCQ8PV3KWZmW2zlgtNTzCaBZh5VnRy09av2P0CprwlvbOWqMP2VWB615hHsFEBf3gJJu/Q8d74qBt52Xi9MfC4Y4gf3MBDx+9BFIM4nCkPDzmRPlTzE8d4LUFARIcKTgHBPhVTjNZ/eRWyGMIGWIopBSgf6JNlgQ+b3UrpmDUdUeRddrxwrBGQxpB6z9fzXb6Mq/dLR+2v64DvzUSdbOSrHiIYc+TSluWq64mXFTbMJM4u0w05e3rdXyWp1D+NbvaM7lGDl5h06IjuHWFRQNnXSc6DJW27UXPuaAzjgk4oByGFmeSUf2kqIEM23OCNar7N+5q6VTECLOEBP2oMOkRTwX4Nc+kbf/TykAC4VHjgheCqKcy8jUxrF0ygXG+j3EHFmzc49bTG/eGIgloCy+GU2WLdgBk5J3KPyl1OP9Wt7B2VaKS9PMZIFi2i
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(376014)(366016)(18002099003)(22082099003)(56012099006)(11063799006)(3023799007)(5023799004)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y21FK0gyMXlxNVhmNjZCZERTRXl1cXlFWWFqY2ZtR2haTEQ0OGFmZnBFc3JM?=
 =?utf-8?B?NG11V2QzZjhwNDBBYUhsYUdPWVdhd0FlU2RLZE1vU0JUd1RPVzVMWW9kN0ZC?=
 =?utf-8?B?M21kVnNYdUszQkt2enZKc1JwZWhPc1NhYWozV3RWQU10NnUwcDhZNngvazdT?=
 =?utf-8?B?dzgzajlHUytsRkdvTGhrN0dkYytXRXFSWXhSYVJMVlV5RWh6V3A2L3FWUGQv?=
 =?utf-8?B?V0R2OCsraXF6ZkJySTJURFQ1M0dhODlFUVordzBEOTlQUmJmTVdnaFhrRFhx?=
 =?utf-8?B?bHBYY3ZmTXNGaXE5Y3Z3QTJIN003U1RzWi80SUtCcGJyc2lPUTB4SzF4dDRN?=
 =?utf-8?B?bm13bVVXYmxtSmRPTjYybWJ3TXV6RmdRRER0RlYrdy9JaW5Nc1ZEVzlWSGlF?=
 =?utf-8?B?ek9FQy9lZTdvKzd4OUhoMjlMdTFHRUw2aXhCek5ZclltZWF1L2Y1TmJzL05E?=
 =?utf-8?B?bzdxTDQzcGRoWE5SanlXMXNmZ2EyMmRFUlBHV0tWMHByZzl4UzZ3dUlPa2dN?=
 =?utf-8?B?SDlXZ2NWallpaVVISXFDTkFzU2I0QXR5SDNXU2xuK1BPK3VJbjFkUll0VVBx?=
 =?utf-8?B?YURqNXRZZG1nS3JBbkdsdVBtSE96b3J1cldqSXJGNWpNYVZPZ2tnZ2dSb2VD?=
 =?utf-8?B?VmVxbUVDVWJmYk9EOFpxdEl3S2IwUjFuRVIxQXp4Mm82T1VrZGpmdm1kNW56?=
 =?utf-8?B?Mi9jNVptSWNqZ244R1NZaGM1K0xIdFZVQkNxemdaZXBWazdJeTRKSTgvcGJv?=
 =?utf-8?B?enZLOTU2OU5sd053RFhmQk5wTXpMd0FOSTBNSWRiWUhBS2NUaDQzWmw2UHlV?=
 =?utf-8?B?c0QzVWh5RGl0dUJkemJmWnVmUDZ4b1FJZHVSWnpjam9DeTZJMWJrYzljVENG?=
 =?utf-8?B?YTZrOVpnWXUxeXc5Ui9kb3hIbzVPNDh2Lzh6VjF2aFVzRTNZaXJLZXFweXNC?=
 =?utf-8?B?RElRalhsOXNiT2ozY2d0aHAvayswK3QwWUJLM25uTkFwMnRjV0FZR00yTVlh?=
 =?utf-8?B?S0hmQXloU21YWFdGdCtZOXBxai8wVGVoWlhXQlZuRjJ2aXczektORXVnRFRF?=
 =?utf-8?B?V0ZlNnNWNURhNzl3MkIybytaak1TZ09HdC9yNmZVZ2RXRHM0aVhMc3pPZm01?=
 =?utf-8?B?bi94b1QvenJQQzkwcU9ycVZVR28wcEgrRWpGSGtkamJIVjFiNkZSdU5yN1hK?=
 =?utf-8?B?d3JnNEZHMTlNd3ZFRW10QlVZcmZlMnN3UzlHMGRLYXBYZ25vQUl4Y2lJVlht?=
 =?utf-8?B?Q0R2VXZUZkYwZ2pPM29laTJwVDh4Tm8zWUZHeURhdHorcHJMWWNiZndWZHdE?=
 =?utf-8?B?aVBDSXdqd000RzEzWlNUYkt1Q2UzRTdhRmJrSUlnVmVXM3lKSnNZbXVqRXNC?=
 =?utf-8?B?L0cwWEMxZ0wzT1pyRkFTWUJRTnJodm1ldUpGckErTUFRamN6Tk10MlJSQmtZ?=
 =?utf-8?B?elJxYVQzTlBadmtiWWpoampabzRSUGlNeHhCTExpRlh2RGhZSFp5aFE2eUF3?=
 =?utf-8?B?RWJjWDM0d05jdTJYWWJ4T3F6SjVvMXJBNzB1dmY5Sjk2ZmYza2tScVdxaklm?=
 =?utf-8?B?WTlJZ3IzVmlnSG5sSmFUUXorcW1zWSsxRUhWU3V0QU8yajNMSG9wQmtMYTk0?=
 =?utf-8?B?S0t5NHZYRzZkamVucTZtdnRkSHczSVUrOEE0d3N5dEtXZGRKd3dKNExuZzly?=
 =?utf-8?B?ZmdkbW14RFJhd1ErU0IyRXloQ2ZYdUpNa0JBRUE1aC9HVVB6OHJnNkduVzBr?=
 =?utf-8?B?WE5ZNWFhN0YyT0l0emcyL2J6amZkeW5NZ2VmUXNEcjNlZmV5aHBWdTNxbjhO?=
 =?utf-8?B?NUZHdTRPanR2bVZ6K09NWGtPQnJQMFZUODQxclozWEtqQnZkc0ZCS3NxUkw2?=
 =?utf-8?B?eEpGVEJnQnd0QmJNdjF3aW81R2lJTWlvSEoySVdhRTFuc081YnNPeXFFZUFS?=
 =?utf-8?B?YThvWDlCbGQvUEQ2d1lkZ09WblRmTlU5YVhKNkdvQUxMVzJ3U2RleWRVd0JJ?=
 =?utf-8?B?Vk5EUjNKa3ljclNRd3FUaXZLUEl4ejV4MTlkWlNOZ25GWHVBUzdzWjhSVFBw?=
 =?utf-8?B?TTF2Y0dIbXZIZFZYemlNNUtJT1ljRDFBS3dYVzhSNTA5Sm43V0gwbnIxNGZl?=
 =?utf-8?B?ZU9ITXd3SFl4eHNFd004UFFQSVRNSzF2bkdyVEZkUEhjcWs0MERnb3hOU1dK?=
 =?utf-8?B?S3IyRlRXSHoybG5kT1U1NnlISGVqNWZabFJnVWJyVXZPZ3pvSGo5QWpLNHF1?=
 =?utf-8?B?bGNRZE51NTgzaVdOUjNHUmdqVmRYRUZleGpHdmZTR0ZXZ3B6eGNpZDN6UmI1?=
 =?utf-8?B?T201QWtXd3JuUWFQZkhNNGY4ZTloY0J0Zzg3QW5YdU9ueUcxYXMrdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f767d677-1d41-4c32-2a26-08dec7c4f63a
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jun 2026 14:23:09.3874
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: trE+W2BedLjO3o3odIKXwiKx40d31KF5zlp2dukZdejfgIRQY7RaqvZ4qB1mVS8il1aPcCbnGUd9SbiNbDdG0Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6868
X-purgate-ID: tlsNG-d62444/1781187793-ADD41FF4-1DA9B0AE/0/0
X-purgate-type: clean
X-purgate-size: 2310

On Thu, Jun 11, 2026 at 09:11:15AM -0400, Daniel P. Smith wrote:
> On 6/9/26 11:15 AM, Ross Lagerwall wrote:
> > It does not have side effects and is protected from concurrent changes
> > by the P2M read lock therefore skip taking the domctl lock.
> > 
> > Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
> > ---
> >   xen/arch/x86/domctl.c | 4 ++++
> >   xen/common/domctl.c   | 1 +
> >   2 files changed, 5 insertions(+)
> > 
> > diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
> > index 83bf51e498df..0e9a2532887e 100644
> > --- a/xen/arch/x86/domctl.c
> > +++ b/xen/arch/x86/domctl.c
> > @@ -301,6 +301,10 @@ long arch_do_domctl(
> >           /* Games to allow this code block to handle a compat guest. */
> >           void __user *guest_handle = domctl->u.getpageframeinfo3.array.p;
> > +        ret = xsm_domctl(XSM_OTHER, d, domctl);
> > +        if ( ret )
> > +            break;
> > +
> >           if ( unlikely(num > 1024) ||
> >                unlikely(num != domctl->u.getpageframeinfo3.num) )
> >           {
> > diff --git a/xen/common/domctl.c b/xen/common/domctl.c
> > index 3efa5b9d55b9..35144d95b808 100644
> > --- a/xen/common/domctl.c
> > +++ b/xen/common/domctl.c
> > @@ -555,6 +555,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
> >       case XEN_DOMCTL_gsi_permission:
> >       case XEN_DOMCTL_bind_pt_irq:
> >       case XEN_DOMCTL_unbind_pt_irq:
> > +    case XEN_DOMCTL_getpageframeinfo3:
> >           ret = arch_do_domctl(op, d, u_domctl);
> >           goto domctl_out_unlock_domonly;
> I would respectfully ask to be mindful when XSM hooks are being manipulated
> in a patch that a review from an XSM maintainer should be sought before
> committing a patch. In this case case the change itself is good, though I
> would have liked the opportunity to comment that the commit message should
> have had some explanation on the xsm change.

I've already replied to 2/2, but would like to re-instate my apology
here so it doesn't seem like this went unnoticed:

Sorry, this was already picked up in a rush to get it into 4.22 and I
didn't realize it was missing an XSM maintainer Ack.  That's entirely
my fault, there was no intention to bypass or overrule your opinion.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 14:23:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 14:23:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335645.1597835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXgJn-0004VX-NM; Thu, 11 Jun 2026 14:23:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335645.1597835; Thu, 11 Jun 2026 14: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 1wXgJn-0004VQ-K3; Thu, 11 Jun 2026 14:23:39 +0000
Received: by outflank-mailman (input) for mailman id 1335645;
 Thu, 11 Jun 2026 14:23:38 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <vulab@iscas.ac.cn>) id 1wXgJm-0004Tg-EB
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:23:38 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXgJl-004kQW-RP
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:23:37 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <vulab@iscas.ac.cn>)
 id 6a2ac4e4-bab6-0a2a0a5309dd-0a2a4502a182-18
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:23:36 +0200
Received: from [159.226.251.25] (helo=cstnet.cn)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <vulab@iscas.ac.cn>)
 id 6a2ac4e5-af86-0a2a45020019-9fe2fb1997a8-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:23:35 +0200
Received: from localhost.localdomain (unknown [117.182.75.76])
 by APP-05 (Coremail) with SMTP id zQCowACXHgLixCpq43AXEw--.957S2;
 Thu, 11 Jun 2026 22:23:32 +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>
Authentication-Results: eu.smtp.expurgate.cloud; none
From: WenTao Liang <vulab@iscas.ac.cn>
To: jgross@suse.com,
	sstabellini@kernel.org
Cc: oleksandr_tyshchenko@epam.com,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org,
	WenTao Liang <vulab@iscas.ac.cn>,
	stable@vger.kernel.org
Subject: [PATCH] xen/gntdev: fix refcount leak in gntdev_ioctl_map_grant_ref()
Date: Thu, 11 Jun 2026 22:23:28 +0800
Message-ID: <20260611142328.87566-1-vulab@iscas.ac.cn>
X-Mailer: git-send-email 2.50.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:zQCowACXHgLixCpq43AXEw--.957S2
X-Coremail-Antispam: 1UD129KBjvJXoW7AF13Zw4kWr1UXFyxtFy8Grg_yoW8GF1fpa
	9xCa43ArWrXw1Iq3WqqayagFy5X3sxJFy3Cry0k3s8ZFnIy3WIyr15tFy8ur4UJrs7CrW5
	Ar4kCFyruFW5A3DanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
	9KBjDU0xBIdaVrnRJUUUkG14x267AKxVW8JVW5JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
	rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02
	1l84ACjcxK6xIIjxv20xvE14v26r4j6ryUM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4j
	6F4UM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s
	0DM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xII
	jxv20xvE14v26r1j6r18McIj6I8E87Iv67AKxVW8JVWxJwAm72CE4IkC6x0Yz7v_Jr0_Gr
	1lF7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7MxkF7I0En4kS14v26r12
	6r1DMxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI
	0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc40Y
	0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxV
	WUJVW8JwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Gr0_Cr1l
	IxAIcVC2z280aVCY1x0267AKxVW8Jr0_Cr1UYxBIdaVFxhVjvjDU0xZFpf9x0JUf8nOUUU
	UU=
X-Originating-IP: [117.182.75.76]
X-CM-SenderInfo: pyxotu46lvutnvoduhdfq/1tbiCRAPA2oqh4XCBgAAsT
X-purgate-ID: tlsNG-720697/1781187816-7BD67161-C9C54D9A/0/0
X-purgate-type: clean
X-purgate-size: 1382

When gntdev_ioctl_map_grant_ref() fails to copy the operation
result back to userspace after successfully adding the mapping to
the list, the error path returns -EFAULT without releasing the
reference acquired by gntdev_alloc_map(). The mapping remains in
priv->maps with a refcount of 1, causing a memory leak and a
dangling list entry.

Fix this by moving the copy_to_user() before gntdev_add_map(),
so that the mapping is only inserted into the list on success.
This avoids the need to remove the mapping from the list on error.

Cc: stable@vger.kernel.org
Fixes: 68b025c813c2 ("xen-gntdev: Add reference counting to maps")
Signed-off-by: WenTao Liang <vulab@iscas.ac.cn>
---
 drivers/xen/gntdev.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c
index 61ea855c4508..a1c230756b3d 100644
--- a/drivers/xen/gntdev.c
+++ b/drivers/xen/gntdev.c
@@ -672,8 +672,13 @@ static long gntdev_ioctl_map_grant_ref(struct gntdev_priv *priv,
 	op.index = map->index << PAGE_SHIFT;
 	mutex_unlock(&priv->lock);
 
-	if (copy_to_user(u, &op, sizeof(op)) != 0)
+	if (copy_to_user(u, &op, sizeof(op)) != 0) {
+		mutex_lock(&priv->lock);
+		list_del(&map->next);
+		mutex_unlock(&priv->lock);
+		gntdev_put_map(priv, map);
 		return -EFAULT;
+	}
 
 	return 0;
 }
-- 
2.50.1 (Apple Git-155)



From xen-devel-bounces@lists.xenproject.org Thu Jun 11 14:24:56 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 14:24:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335666.1597845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXgL2-00059T-4W; Thu, 11 Jun 2026 14:24:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335666.1597845; Thu, 11 Jun 2026 14: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 1wXgL2-00059M-0z; Thu, 11 Jun 2026 14:24:56 +0000
Received: by outflank-mailman (input) for mailman id 1335666;
 Thu, 11 Jun 2026 14:24:54 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dpsmith@apertussolutions.com>) id 1wXgL0-000594-19
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:24:54 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXgKz-006oCD-7Y
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:24:53 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a2ac527-5cb7-0a2a0a5109dd-0a2a45048a8e-28
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:24:52 +0200
Received: from [136.143.188.51] (helo=sender4-of-o51.zoho.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a2ac532-1dec-0a2a45040019-888fbc335278-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:24:52 +0200
Received: by mx.zohomail.com with SMTPS id 178118788136187.22204318317074;
 Thu, 11 Jun 2026 07:24: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=zoho header.d=apertussolutions.com header.i="dpsmith@apertussolutions.com" header.h="Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding"
ARC-Seal: i=1; a=rsa-sha256; t=1781187884; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=DYWNnJ+i7+8AyBerhU8SnQ0H5uzqqi3vmJWjGkZlV8OQ2FtWnSEPtk47xnWzoft8nQ77isB5ybmI+Qj7r0H/Mto9ByFnfcKzO23HaxZ3BEUeLfC+5suJziztRselaOjR+7plYuMLSpZJscIiIMrasK2OH4H79V+JPpWcauurDF0=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1781187884; 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=Hb7eJla8sBDts27YuSATiqA9EwenDS4luGbIZd+phLA=; 
	b=RF4NRH0bi9m074fKXXCd7hXwUbuQFeir6q7ADGtyNrN4vWlLf1qqlkDLMA9AcNpl2DpovJFstFKsyWFDiDCJNA4j4byEm5g9qBp6Z5Csv8j2xhs7EnM3SW3goBRNjtIHhZRNzeSHlSwdiAsyYI0b/tvfMbMZgRYL6yASmdd+38s=
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=1781187884;
	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=Hb7eJla8sBDts27YuSATiqA9EwenDS4luGbIZd+phLA=;
	b=YZu/AMSsIa6dM2jbYnzG+A21eTiuNh7/rMDNMjuv0kCUmot5+rFDi9aSR1K4Sb7x
	MmTNJjvd3rkDZRXjY6olCz+BbXwqeyZLbF6FCTf5c0HYTSi5aEHkkMq6mpkY9sX8Di1
	RnKSoPU6fp2pNivm2N2IyMDvgm/k85DXG67656K8=
Message-ID: <a73d8e52-d5d5-4d9b-a860-15e6d5aff020@apertussolutions.com>
Date: Thu, 11 Jun 2026 10:24:39 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/2] domctl: Handle some of XEN_DOMCTL_shadow_op
 without the domctl lock
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>,
 xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
 <20260609151528.2426788-3-ross.lagerwall@citrix.com>
 <987f029b-02c0-423c-88fc-2e588f03a5bf@apertussolutions.com>
 <airESvOliZS6tSch@macbook.local>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <airESvOliZS6tSch@macbook.local>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External
X-purgate-ID: tlsNG-ebf023/1781187892-40D743FF-1AA8229E/0/0
X-purgate-type: clean
X-purgate-size: 4196



On 6/11/26 10:20 AM, Roger Pau MonnÃ© wrote:
> On Thu, Jun 11, 2026 at 09:18:15AM -0400, Daniel P. Smith wrote:
>> On 6/9/26 11:15 AM, Ross Lagerwall wrote:
>>> Handle XEN_DOMCTL_SHADOW_OP_{CLEAN,PEEK} without taking the domctl lock.
>>> This is safe because for these subops, the paging lock is mostly held
>>> which prevents it from operating concurrently on the same domain. There
>>> are some parts that are called without the paging lock held:
>>>
>>> * hvm_mapped_guest_frames_mark_dirty() - The function itself takes a
>>>     spinlock so is protected from concurrent calls. In any case, it will
>>>     mark all the pages dirty as required.
>>>
>>> * domain_pause() - The toolstack cannot unpause the domain while in
>>>     paging_log_dirty_op() because the toolstack's pause/unpause ops have
>>>     a separate ref count.
>>>
>>> * p2m_flush_hardware_cached_dirty() - This is called elsewhere without
>>>     the domctl lock held so holding it wouldn't achieve anything. It
>>>     should be fine as long as it is called at least once.
>>>
>>> * log_dirty.ops->clean() - If the callback is hap_clean_dirty_bitmap(),
>>>     then it will hold the p2m lock while modifying the table. If the
>>>     callback is sh_clean_dirty_bitmap(), it will hold the paging lock
>>>     while modifying the table. In both cases, this is OK.
>>>
>>> * domain_unpause() - Same as the earlier domain_pause().
>>
>> Please add a comment that that xsm check is to continue protecting the
>> sub-ops with XS_PRIV.
>>
>>
>>> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
>>> ---
>>>    xen/arch/x86/mm/paging.c |  8 ++++++--
>>>    xen/common/domctl.c      | 12 ++++++++++++
>>>    2 files changed, 18 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
>>> index 1a5822808620..bfb5b423a0dd 100644
>>> --- a/xen/arch/x86/mm/paging.c
>>> +++ b/xen/arch/x86/mm/paging.c
>>> @@ -746,11 +746,15 @@ long do_paging_domctl_cont(
>>>        ret = xsm_domctl(XSM_OTHER, d, &op);
>>>        if ( !ret )
>>>        {
>>> -        if ( domctl_lock_acquire() )
>>> +        bool lock = !(op.u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_CLEAN ||
>>> +                      op.u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_PEEK);
>>> +
>>> +        if ( !lock || domctl_lock_acquire() )
>>>            {
>>>                ret = paging_domctl(d, &op.u.shadow_op, u_domctl, 1);
>>> -            domctl_lock_release();
>>> +            if ( lock )
>>> +                domctl_lock_release();
>>>            }
>>>            else
>>>                ret = -ERESTART;
>>> diff --git a/xen/common/domctl.c b/xen/common/domctl.c
>>> index 35144d95b808..a3888c4e87d4 100644
>>> --- a/xen/common/domctl.c
>>> +++ b/xen/common/domctl.c
>>> @@ -559,6 +559,18 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
>>>            ret = arch_do_domctl(op, d, u_domctl);
>>>            goto domctl_out_unlock_domonly;
>>> +    case XEN_DOMCTL_shadow_op:
>>> +        if ( op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_CLEAN ||
>>> +             op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_PEEK )
>>> +        {
>>> +            ret = xsm_domctl(XSM_OTHER, d, op);
>>> +            if ( ret )
>>> +                goto domctl_out_unlock_domonly;
>>> +
>>> +            ret = arch_do_domctl(op, d, u_domctl);
>>> +            goto domctl_out_unlock_domonly;
>>> +        }
>>> +        fallthrough;
>>>        default:
>>>            /* Everything else handled further down. */
>>>            break;
>>
>> After commit message change,
>>
>> Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> 
> Sorry, this was already picked up in a rush to get it into 4.22 and I
> didn't realize it was missing an XSM maintainer Ack.  That's entirely
> my fault, there was no intention to bypass or overrule your opinion.

I fully understand and take no offense.


> Given it's already committed, and there are no objections aside from
> the commit message adjustment my preference would be to leave it
> alone.

Hmm, I saw patch 1 but not patch 2. Sorry for the extra noise.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 14:24:57 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 14:24:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335667.1597848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXgL2-0005CH-Bk; Thu, 11 Jun 2026 14:24:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335667.1597848; Thu, 11 Jun 2026 14: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 1wXgL2-0005Bl-6z; Thu, 11 Jun 2026 14:24:56 +0000
Received: by outflank-mailman (input) for mailman id 1335667;
 Thu, 11 Jun 2026 14:24:54 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXgL0-00059B-Bn
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:24:54 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXgKz-006oCD-OM
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:24:53 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2ac527-5cb7-0a2a0a5109dd-0a2a45048a8e-30
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:24:53 +0200
Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2ac535-1dec-0a2a45040019-d1558036cd3e-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:24:53 +0200
Received: by mail-wm1-f54.google.com with SMTP id
 5b1f17b1804b1-490aaeabdb4so53721535e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 07:24:53 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70d:3054:345c:e2ed:ca23:72c4?
 (p200300cab70d3054345ce2edca2372c4.dip0.t-ipconnect.de.
 [2003:ca:b70d:3054:345c:e2ed:ca23:72c4])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490e52a54a1sm50050525e9.3.2026.06.11.07.24.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781187893; x=1781792693; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Uyqx5RU4X8dwws89SGmJH89G6IgazxjsfZpMpm+xJiI=;
        b=UgWM9dl3qZjvn2R9GTseyXCGa5Or30vbGEr/jro8rUjFAkGdGX/5+wXNWa88/jFYHX
         q+l5RPM+C0Obq8529kWSP9+ycx3PipvTUDr5piWR5sZvAb3H2UiqNHpCR/idy96k/rCC
         1+WQJhid9XZBE9bQ5Aq0x3UQnIWKdHUvmGGz2EMLu3CZyZnFyXl30pNXQX+O3KdXL0+w
         BzZkZsdReVNSw4Aag+4WSQ/fZof6TTeAYJf1/5Mqc3rPkxllPu1SJczmO+weqDrIAPo1
         XqOFyX9ykbJ/VbkhZjeMhSfkDQckKdxtWeuftdl2n5wUmBl9WR76UKmlXG7+yKE5yZBq
         Nr0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781187893; x=1781792693;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Uyqx5RU4X8dwws89SGmJH89G6IgazxjsfZpMpm+xJiI=;
        b=DkrlQHsF3HbDtMsY+uvcAf/SGfG+FhOt4TklruFopEm5Qq4zlAgQvL3eP3/jhOkQtG
         eDtpZSxFSh06bBRxYa86vGI0HU6xhULBA4ZG5wmSbjzkEfJCXh2mPCjFcWZabVqOxj9m
         y34j0+DbBEpeYs7h6Paf6b+7Xic8cgwYAqANgQ9ej/4x30lb8hGxX34aiXlCol/y1FGW
         8mMwqe1nMh+AxuM2SLTM6CoiI7wD4XDnfj8E2mGMQB8YYKHwt6O1BQsW4trylO9sB6UC
         jnnIC7xn6bfYbgMOu9IVFZ9VJ72mM6doZWU5T+cw8BNcbvnEj5K9zrHJKRZ5FPoc4p86
         1OgQ==
X-Forwarded-Encrypted: i=1; AFNElJ8LG+BgtsB3/wyo0bZcA2XnYIXa8jaNUimqT75lhj4webkSHUMPCcQSaSRrUR1fAGQmj7Ereew9LAM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxpOz0uYHH7RCltGZ2lO1D4syoc8jQtSpSRv3unPSBEjK6TZ/DQ
	76JS8iMnugKKuhMskl87vkfwt49qRCKRJPQAU4GcqREfPW9c1MDjEdJ4/7kzEZ48AA==
X-Gm-Gg: Acq92OEcJMcwgpIKDw83bD6zlmrxzFMHDI/lZSuiGrH+nEeThVD4gjGh8PgSL3cRAWb
	DmVU4agtRJFvIU9Yg9MkNZVXKQB8xR21ymdjaJAR179YZ98DTF/qFRaTBVchi+cT+l8eLCB2Fgs
	hdmuByf+f0O6UqZTpKsgknAmBgaVVcY5c9jfa0w54HXFMNh2zzKEZyydkQFiweC1FNmUNMDVAjv
	iyvtYyQwvkjfJMETa8dITWf/vInsJu7QLtSPdw/Arc19Fdo7V8OLcFB+OM3PmAqAUl4NZ6G6NOe
	hEv7wvuwJIHuXCrNlv8VM/XdNFUcGM6N1ybMJyQxiRs74XZpYT4r8NqVTNHN4vvHOp7xR5FudaB
	ik82CrlWWtTlBLPiKDrrOyEtS8guDJ3Z2QDVcs/EdGHNE3u1r0BTYkgKLk5Qbi5k4UrJqbqfKO+
	QlE3QfQjbg54Bq0Iv2tXiei/DgJ5Nr6QeG/iP9e4qfZe42ptMeF4Gmh2W8OOemzeTo/RBT0am2e
	7WD0nXAiv/rAPU9A8s3/57l27XFk8BKQ84QRvTM8GOgky+gE1hjFHL8rxZ4tvrS4KGSSLQ=
X-Received: by 2002:a05:600c:535a:b0:490:e18f:d0db with SMTP id 5b1f17b1804b1-490e563e68bmr30999005e9.26.1781187892961;
        Thu, 11 Jun 2026 07:24:52 -0700 (PDT)
Message-ID: <aa06a820-3543-4fdb-8824-06a0008b8e0a@suse.com>
Date: Thu, 11 Jun 2026 16:24:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/7] x86/kexec: Implement new EFI load types
To: Kevin Lampis <kevin.lampis@citrix.com>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 Gerald Elder-Vass <gerald.elder-vass@cloud.com>,
 Kevin Lampis <klampis@citrix.com>, xen-devel@lists.xenproject.org
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
 <20260609154518.779757-6-kevin.lampis@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: <20260609154518.779757-6-kevin.lampis@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1781187893-425603FF-8B722098/0/0
X-purgate-type: clean
X-purgate-size: 478

On 09.06.2026 17:45, Kevin Lampis wrote:
> --- a/xen/arch/x86/include/asm/bzimage.h
> +++ b/xen/arch/x86/include/asm/bzimage.h
> @@ -47,4 +47,9 @@ struct __packed bzimage_header {
>          uint32_t        payload_length;
>      };
>  
> +static inline uint64_t kernel_alignment_offset(void)
> +{
> +    return offsetof(struct bzimage_header, kernel_alignment);
> +}

Why the uint64_t return type? If at all, size_t. Yet likely unsigned int
would suffice.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 14:25:55 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 14:25:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335677.1597862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXgLz-00065e-Kk; Thu, 11 Jun 2026 14:25:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335677.1597862; Thu, 11 Jun 2026 14: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 1wXgLz-00065X-I5; Thu, 11 Jun 2026 14:25:55 +0000
Received: by outflank-mailman (input) for mailman id 1335677;
 Thu, 11 Jun 2026 14:25:54 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dpsmith@apertussolutions.com>) id 1wXgLy-00065R-8g
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:25:54 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXgLx-002scC-Lb
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:25:53 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a2ac56a-5cb7-0a2a0a5109dd-0a2a45029382-30
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:25:53 +0200
Received: from [136.143.188.51] (helo=sender4-of-o51.zoho.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a2ac56f-af86-0a2a45020019-888fbc335282-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:25:53 +0200
Received: by mx.zohomail.com with SMTPS id 1781187941402987.899345823625;
 Thu, 11 Jun 2026 07:25: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=zoho header.d=apertussolutions.com header.i="dpsmith@apertussolutions.com" header.h="Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding"
ARC-Seal: i=1; a=rsa-sha256; t=1781187942; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=iUB9NjPkztSucQYFwILCw7LsCwxwkV/RsRsQLISwhb2+FBcYlcPdyDtHAshuIS5XidjL4UkxzTeKsRBNbrpxZMwvsl0kJ+necixxs9YtnechXIr2gxBFFjl6WRVq+NJgpZJ3C2cSiar6mqF0xBLV/rXm5fnpFv1Fudr8cU6i7jw=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1781187942; 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=hWWP/VKoTAppFucoEMfjeJWddtXW1qqJrnfJNCSjCiA=; 
	b=Mp8lGOghI4w8tFW8sdoA+ZZTGBViocYaSMNkzTdNXfPU7x/33P5S7rB1kS5gtGcIyhdoj15Po4mtUoUBGvvBJyQ9oW/42l/IHuKB2NbYLKlCNHNvpsmdVzw0ZqQqDCt2JnsS5ReVP7cgDl8N1XBpDacCEvQX03Spr+hFFoCyzR4=
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=1781187942;
	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=hWWP/VKoTAppFucoEMfjeJWddtXW1qqJrnfJNCSjCiA=;
	b=GRGL6BIBfcxWlx2nzZxq1t1yjLOnpHc/lOOp10gzeVcfTV1XGX97wwXlYPu9hBpt
	2Szp/o2n/tdGLkTuwIiA5fxbCPsSUyTOiECN19M99h5/z5qA5AZOB/1obYgpPQJTwmt
	qsA/6/j9gn/CvZ0UVxq0H1qs400wQ+9ZKzZ9z2Es=
Message-ID: <1c570ddd-c785-4798-8c04-0a997d42acdf@apertussolutions.com>
Date: Thu, 11 Jun 2026 10:25:39 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/2] domctl: Handle XEN_DOMCTL_getpageframeinfo3
 without the domctl lock
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>,
 xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
 <20260609151528.2426788-2-ross.lagerwall@citrix.com>
 <e5be8bcd-1699-442e-bcc4-25bb2e1c4234@apertussolutions.com>
 <airEye3YHSEmNUCG@macbook.local>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <airEye3YHSEmNUCG@macbook.local>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External
X-purgate-ID: tlsNG-720697/1781187953-A8145161-C11BC304/0/0
X-purgate-type: clean
X-purgate-size: 2419

On 6/11/26 10:23 AM, Roger Pau MonnÃ© wrote:
> On Thu, Jun 11, 2026 at 09:11:15AM -0400, Daniel P. Smith wrote:
>> On 6/9/26 11:15 AM, Ross Lagerwall wrote:
>>> It does not have side effects and is protected from concurrent changes
>>> by the P2M read lock therefore skip taking the domctl lock.
>>>
>>> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
>>> ---
>>>    xen/arch/x86/domctl.c | 4 ++++
>>>    xen/common/domctl.c   | 1 +
>>>    2 files changed, 5 insertions(+)
>>>
>>> diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
>>> index 83bf51e498df..0e9a2532887e 100644
>>> --- a/xen/arch/x86/domctl.c
>>> +++ b/xen/arch/x86/domctl.c
>>> @@ -301,6 +301,10 @@ long arch_do_domctl(
>>>            /* Games to allow this code block to handle a compat guest. */
>>>            void __user *guest_handle = domctl->u.getpageframeinfo3.array.p;
>>> +        ret = xsm_domctl(XSM_OTHER, d, domctl);
>>> +        if ( ret )
>>> +            break;
>>> +
>>>            if ( unlikely(num > 1024) ||
>>>                 unlikely(num != domctl->u.getpageframeinfo3.num) )
>>>            {
>>> diff --git a/xen/common/domctl.c b/xen/common/domctl.c
>>> index 3efa5b9d55b9..35144d95b808 100644
>>> --- a/xen/common/domctl.c
>>> +++ b/xen/common/domctl.c
>>> @@ -555,6 +555,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
>>>        case XEN_DOMCTL_gsi_permission:
>>>        case XEN_DOMCTL_bind_pt_irq:
>>>        case XEN_DOMCTL_unbind_pt_irq:
>>> +    case XEN_DOMCTL_getpageframeinfo3:
>>>            ret = arch_do_domctl(op, d, u_domctl);
>>>            goto domctl_out_unlock_domonly;
>> I would respectfully ask to be mindful when XSM hooks are being manipulated
>> in a patch that a review from an XSM maintainer should be sought before
>> committing a patch. In this case case the change itself is good, though I
>> would have liked the opportunity to comment that the commit message should
>> have had some explanation on the xsm change.
> 
> I've already replied to 2/2, but would like to re-instate my apology
> here so it doesn't seem like this went unnoticed:
> 
> Sorry, this was already picked up in a rush to get it into 4.22 and I
> didn't realize it was missing an XSM maintainer Ack.  That's entirely
> my fault, there was no intention to bypass or overrule your opinion.

No worries, thank you for the apologies.
.



From xen-devel-bounces@lists.xenproject.org Thu Jun 11 14:28:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 14:28:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335685.1597871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXgO8-0006s1-W6; Thu, 11 Jun 2026 14:28:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335685.1597871; Thu, 11 Jun 2026 14:28: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 1wXgO8-0006ru-TH; Thu, 11 Jun 2026 14:28:08 +0000
Received: by outflank-mailman (input) for mailman id 1335685;
 Thu, 11 Jun 2026 14:28:07 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXgO7-0006rm-F1
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:28:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXgO6-00B4mR-S2
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:28:06 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2ac5eb-e002-0a2a0a5209dd-0a2a450c967c-16
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:28:06 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2ac5f6-62f1-0a2a450c0019-d1558031e03e-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:28:06 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490be29c1c5so102297765e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 07:28:06 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70d:3054:345c:e2ed:ca23:72c4?
 (p200300cab70d3054345ce2edca2372c4.dip0.t-ipconnect.de.
 [2003:ca:b70d:3054:345c:e2ed:ca23:72c4])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490e2cf5537sm84191595e9.9.2026.06.11.07.28.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 07:28: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781188086; x=1781792886; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt: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+RIyVrJishCoaXfp0zeK7q+OZY47NiTrvppT6W0Vk4=;
        b=NJP3ciBQST/yuW5WC2C2VVp/YyuH3MJzfegl8EOPzqTcohWNlk2L3lK4tqhdxRMSIf
         vt80N4XgSPorYcAoQL/UwFviLpmQWqe97R6nelKQId9XZbGKtABEULP2bWecelugA+nL
         SSM3nmO9hFBdgaDSG1GI7AZJxNUW5X1LNg9ZI618Aio3kqboksX1imOkBM3ftvtaW255
         fkc9TCFewbxsJsmBDAKDJxm8gm+/PoCkLEYX4keoKE7Lk1idgP7AMt8hxcBjRf+EOGax
         jzf5OHC2pETbrarTUsSMSQJFZ0R0veGeHai4O/JThotx1+VbxmfIx/5mxIpbpvzam7y4
         uWQg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781188086; x=1781792886;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=C+RIyVrJishCoaXfp0zeK7q+OZY47NiTrvppT6W0Vk4=;
        b=ZSyf6ImU8Vf4LdKUcTghJr8YWxH/dPBIu6GPITQ6TdEPkvydEoPdZBVxEdFpQ58Gq5
         mzka7u0Li0BZBDimndEs0KoyRGak6eAca+bqC4cv+fi9OEKEUAfPmjJrdgUwIN58bblh
         sdQf/cQzGHdDwDLD9QGgDvGlUZUUK5EIVpiwNSXmechfDQhICK6FpK+7tL8ceFsTD9pB
         pJgFt7Vdp+QhAlIsoc5XnUaXpk8mNUQ8MXgMaABjhTc+9OtnCfAExXKSslr3oKrXJ1s7
         7NtwTPFXTFbIqQRG04pLiyPL4JXr1nVR/XUIGByBzvUVmuRtE7JiBdWlId/1HKEXRE0V
         HB0w==
X-Forwarded-Encrypted: i=1; AFNElJ/xSKryDW4SbzPdlsJAMwTphiiTLMFSLrmIQGVHYhS2aI4fvqPhq85EGp1wqp4puun5PVIk2MMm8Xo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxdcmb3BrNVXeJapausYzfwtOyiVwyxgQm2+Ol7LJLwdH712VeP
	ZlPKOJyHSWE15DEq1060YJuZI2RlvBzF9krREoENGDRwdWn62rugQDznN2x8Zdowmg==
X-Gm-Gg: Acq92OF0Z142jWefznkGrSfVFTuQIzpEj8Q9WIVe8Z834iLr417pTFwu/y1OPMrcGxZ
	Rl9GjrJygFPB5S2GzNfkXOQ+KYncknScxqOxwq5aflQyPeDQ1lfgJm1lMuRsHW38PCp80SySLU3
	Q6cKSg7kD/kfHs2+fTMIoanXslzhmXU6tOG78/O9McEqE6RigrH2rtY6WSLpHbVRFsqKtS9BkGa
	o4+3L4xpeL9LlZTSrRVZ4AJSIdJzwBCnOTnbPHYSuh9jJI7AX/cTFL4viDzhSCnrv18qkcsjPMg
	UJmCxnK2Nxjm1ppHvrxbaf4we7Ydxj4ng/vPEUBaVV8qigoAdO8xwKDmm2pwlZO3SJatfeUCxwM
	tQZv1Ni6BVci/+cFtqUWHEEeaP+nJkEgtvXmpQ8Taqgomt0cOyGCJy93SZysiMH9G+J+OioOWDr
	D/ZcLjiKUBsFt6G5Om6N/UTuFVY5svuTUzVF0SNQmFz8zGaaiN6tSFHHXT84I2DNRYLAT6WfqSH
	D+rLsJI8gJ3HhJscCxo3h/TOo43PLsxGtiQfmCLU7cAjkqxyD5Gp/rg6Bzg4l5xywcBuyM=
X-Received: by 2002:a05:600c:354d:b0:490:469c:556b with SMTP id 5b1f17b1804b1-490e55e22admr49718865e9.12.1781188086073;
        Thu, 11 Jun 2026 07:28:06 -0700 (PDT)
Message-ID: <0f991641-ffe9-4afd-94d6-dcaeb98d13d5@suse.com>
Date: Thu, 11 Jun 2026 16:28:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 7/7] x86/kexec: Zero general purpose registers
To: Kevin Lampis <kevin.lampis@citrix.com>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com,
 Kevin Lampis <klampis@citrix.com>, xen-devel@lists.xenproject.org
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
 <20260609154518.779757-8-kevin.lampis@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: <20260609154518.779757-8-kevin.lampis@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1781188086-E0567CF5-B90E6438/0/0
X-purgate-type: clean
X-purgate-size: 978

On 09.06.2026 17:45, Kevin Lampis wrote:
> --- a/xen/arch/x86/x86_64/kexec_reloc.S
> +++ b/xen/arch/x86/x86_64/kexec_reloc.S
> @@ -78,6 +78,20 @@ FUNC(kexec_reloc, PAGE_SIZE)
>          testq   $KEXEC_RELOC_FLAG_COMPAT, %r8
>          jnz     .L_call_32_bit
>  
> +        xor %edi, %edi
> +        xor %eax, %eax
> +        xor %ebx, %ebx
> +        xor %ecx, %ecx
> +        xor %edx, %edx
> +        xor %r8d,  %r8d
> +        xor %r9d,  %r9d

Why the double blanks after the comma here? While that aligns with what
follows, it misaligns with what comes earlier.

> +        xor %r10d, %r10d
> +        xor %r11d, %r11d
> +        xor %r12d, %r12d
> +        xor %r13d, %r13d
> +        xor %r14d, %r14d
> +        xor %r15d, %r15d
> +
>          /* Jump to the image entry point */
>          jmp     *%rbp

Please take surrounding code as reference as to style, i.e. particularly
the number of blanks to insert after the insn mnemonic.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 14:39:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 14:39:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335699.1597880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXgYi-0000Nq-13; Thu, 11 Jun 2026 14:39:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335699.1597880; Thu, 11 Jun 2026 14:39:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXgYh-0000Ni-UI; Thu, 11 Jun 2026 14:39:03 +0000
Received: by outflank-mailman (input) for mailman id 1335699;
 Thu, 11 Jun 2026 14:39:02 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXgYg-0000NW-3n
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:39:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXgYf-00DBr4-28
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:39:01 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2ac866-bab6-0a2a0a5309dd-0a2a4506af98-46
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:39:00 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2ac884-7371-0a2a45060019-d1558035c536-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:39:00 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-490ae94a89eso69144805e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 07:39:00 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70d:3054:345c:e2ed:ca23:72c4?
 (p200300cab70d3054345ce2edca2372c4.dip0.t-ipconnect.de.
 [2003:ca:b70d:3054:345c:e2ed:ca23:72c4])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490e531e6acsm59127275e9.12.2026.06.11.07.38.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 07:38: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781188740; x=1781793540; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ZGN3dQ0qDWmI21IwkH/ZAtvxBn8xKrsbNLbZu47ovMQ=;
        b=Lg/YEAj1VgTGs2G3graCDci2X6vZ6LCWXWm574OFCJs2ZE1MwD2/gNeQJQ/Jflhb16
         q52n2Bw9mmS+SYgL+yQBwetn3S6umugXQK8JXuMXhPrChUpRPj51bNxMXrv/kWqFvOu0
         2MyYyeKwioCe9Ruz85LqrL1gqhH0Brvv0Lm7QbQPocx/M3d6xdDdYXF2p5TcoV5XNvbt
         wD4AtfhdXDWO5eDHW0kq/wmfJCzavQMvDMRBKwZNP3jLlatZxvAdVV1KFgvSDwINUDnG
         HT5UXlYPCuB8DnfvDy3ILUMTuQ3BebP9tw+uV19//TxdcUpQ57TI+Q4m3YkvemUrN8Z8
         WJoQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781188740; x=1781793540;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ZGN3dQ0qDWmI21IwkH/ZAtvxBn8xKrsbNLbZu47ovMQ=;
        b=fDbjXuiIHGzpkGbvlnvmz/Renanv712VnsEbNzGbV4rMrO69sweAPkU66nxpiWrMJu
         IFXcmXT556Cjv91e5p1voTY5FhjQBz7FZrOAejHyOYCdjrimc8zdRZ0Xig8Vl9s9o5ik
         aQRPZ/ZJVVzSNepMUIotGbC2EtrpY+zSXME6JfZOX0W3V0kLlpVZiwgyV1oxasJklixI
         +3KNc2TJdCBA/qKlnAyUchtBgZTNHPNfahp+gKVQwyrfcAPbdDC6dQBDfpRU5HAk/4DK
         Evsw2Gt6rmrRhUYuGzD3eCpcgAQdQwAvBtPgVqBPFd7OrXQOi2O8WZyo1Gx3dB86SqMy
         tUgw==
X-Forwarded-Encrypted: i=1; AFNElJ9TFKGf+6i1KeRSfm/rCQB89KnisxYy0It/m0j1onqOp9DgR7v//yvsWuVEWIdU/KQVFYzuPXfA9gU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz5TvQWiNUkIn1wnitUlAQT8px/KOmfssr4m8G2u9gumHfxE+1U
	4buNjGx1HZD4KocSPgOpCqLzug7v9HhfGGsh2hY/LdKBvwTqF1RibITz7Ft0+cHyWA==
X-Gm-Gg: Acq92OEAl1twWubwgs9zFvFetrtY/fpGQ/rlSbbOI1xj3plaWL9BILMiXPqibqyG3i6
	pwyfgczn4R4dlpuGglg3lNsOHufxfyPQFzhVjhFHphr97KFVE4A/iUa8ZHEJf5iZ4OA7DrUlkwr
	SkWZK14rIbE9uSmpLJwOtjASEhH8cju8aaMj2C1pxEAVg71A6XXdp3FszRYHk/sBC5TGw2zqhDS
	13FycJMiQE7B1epHfJMz+Xktn2a45I3P5vta78AuOt3eHGm9xNnrkWkYIOYfGGb6wsmk9j19p8t
	qhOb1Win6oeYeEby88asXOvc11SSm+//JcqUUDIYRG/IfBKnMTarbz4kLzvAOCaMybsOktGpCnC
	d7MAdp+EpK12ZxvICdor70qzRTvEbOgkdduz1jtITPQER+LdSQ9lUzo7TJOwCa3eMDujTgEI7ds
	epl39yUE502pSnQnLYs0l2O2SKJhc/i6PPkOWRmR1y0mx/BLmvmEpFm3AyfB1j8Cmm80h0ADoY8
	if3AjWrXBedujza9y753L0j1IBEke3/0EQbWeAD54jZEzhd5NWPmhNIhc2lxcIcQNr3Io0=
X-Received: by 2002:a05:600c:620b:b0:490:e342:127 with SMTP id 5b1f17b1804b1-490e561e427mr40169185e9.34.1781188740315;
        Thu, 11 Jun 2026 07:39:00 -0700 (PDT)
Message-ID: <b310db60-850a-4096-8900-54d0816e5063@suse.com>
Date: Thu, 11 Jun 2026 16:38:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] xen/x86: Always strip xen.efi
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260608173108.2848469-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: <20260608173108.2848469-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1781188740-8CE79D75-144DC2B6/0/0
X-purgate-type: clean
X-purgate-size: 1791

On 08.06.2026 19:31, Andrew Cooper wrote:
> From: Frediano Ziglio <frediano.ziglio@citrix.com>
> 
> xen.efi with debugging symbols is ~45MB, down to ~9.3MB when stripped.
> Multiple firmwares (as seen by QubesOS, Trenchboot, and XenServer) are unable
> to boot xen.efi when debugging symbols are included.
> 
> Either way, having debug symbols by default is abnormal and contrary to how
> the non-EFI path works.

I'm not happy with how things are put here. There's nothing abnormal about
including about anything. What is abnormal is the manufacturing of a 32-bit
ELF binary from a 64-bit one by mkelf32, to please bootloaders. An EFI
binary should be permitted to include whatever data it wants, and firmware
should be able to load it as long as memory permits. I don't expect you
mean to indicate that problematic systems don't have 45Mb available at boot.

Including debug info can be a waste of I/O bandwidth and memory, when the
loader doesn't skip loading those .debug_* sections (for valid or bogus
reasons).

> Produce xen-syms.efi unconditionally, just like xen-syms.  If
> CONFIG_DEBUG_INFO is enabled, these will contain debug symbols, and if not,
> then not.  When xen-syms is processed by mkelf32, the debug symbols are simply
> discarded.  For xen-syms.efi, call $(STRIP) to produce xen.efi.
> 
> Some old versions of binutils ld managed to produce efi files which the
> matching version of strip couldn't process.  This includes Binutils 2.26
> included in Ubuntu 16.04.  Delete the workaround for this bug, and require a
> less broken toolchain.

And we're certain newer versions of strip don't do any harm to the binaries?
Already towards Frediano's posting I said that having looked at how things
work there, I'm far from certain.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 14:42:16 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 14:42:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335713.1597889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXgbm-0002K1-EX; Thu, 11 Jun 2026 14:42:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335713.1597889; Thu, 11 Jun 2026 14:42: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 1wXgbm-0002Ju-As; Thu, 11 Jun 2026 14:42:14 +0000
Received: by outflank-mailman (input) for mailman id 1335713;
 Thu, 11 Jun 2026 14:42:12 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXgbk-0002Jo-Jb
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:42:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXgbk-004oHX-06
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:42:12 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2ac938-5cb7-0a2a0a5109dd-0a2a4507d6a6-28
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:42:11 +0200
Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2ac943-229c-0a2a45070019-d155dd35d00b-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:42:11 +0200
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-45ef56d9b67so6383770f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 07:42:11 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70d:3054:345c:e2ed:ca23:72c4?
 (p200300cab70d3054345ce2edca2372c4.dip0.t-ipconnect.de.
 [2003:ca:b70d:3054:345c:e2ed:ca23:72c4])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-46028a6dce6sm74061727f8f.30.2026.06.11.07.42.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 07:42:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781188931; x=1781793731; 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=xBKTSRIV9BktafX3RnSo2QH4cW10l3FYgQVjiuk4XFo=;
        b=L6FE70vJi7XpqXh8w2qNFi0PgfVr8W4TcSXqLc4PnmzrZC/7d+Yb3//NgREcQRm3OA
         smEKyXj6c0Qk2VUmJFVxoHjQoW+7WyB0S7rckoxnF22jrvNx+1MZMpH01lrUprF7Xv1I
         zZ4zYkKmj1K+AQpy5brjEVLjnurbxW/5dzghhTrepzPY1PBPdYXuFWPtDOiXfaNfcfP0
         g01hE4/8BMjr+GcqLLchVA3+vgyeQcyL112tzAN9q9o1viFiJASnMo3bSKBjEqviiZNi
         ob88zA/R6WtydoLmwPl7XJxMlnc7tF1giPJ1ZOlSDPIt4iO73Kzdc46jIagkvMdPihXx
         hD4g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781188931; x=1781793731;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xBKTSRIV9BktafX3RnSo2QH4cW10l3FYgQVjiuk4XFo=;
        b=V/iBukV4HYkDcd71coP2tjkUGU1NzG7LHxrIsqW0VlVjXHJenDs0uzm3hgLD5iHVYD
         r/K8fnszGZrrDJXzrzgEpbugb3uDcv27ISNKicgWj6VN/g4TdRfiM+F0I+BFAoP27reI
         BXQHlaRHZZVlgxJtr4IbCJYCoP+OLyHz5mW2YlvtZJv4/Nvu2KvkDk0u5Hl7xZFSTYMH
         C4pp5dU0IPos5Zl5BvJnEiYz8ET7in9qLe7S7E5Kcv1fmCgRciXlbOZJ1Cv7jnIZJv+7
         c8+dk+LKeM2F5UBPwzhcStOdXp10WYp47FUjYk4fmeNB7usPQJodB/JdMHIA5/mURY7V
         3fkA==
X-Forwarded-Encrypted: i=1; AFNElJ9Yvox4m96sypEH0Px8wHp/NsIHu3Q7T4l++n4SKafyHfCJ9mpnxh2o2BX9Cpv/24Q+A4sNTGDoZ9o=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy5Ogd9X5sNv3+gBW1XnfpgxPz6R+gP/0SjTRkVAcNtO/5393Q0
	XReUhGXOpQy7d3XFFwxIZzhtEDR13Ln9bt3unaVKEBr5F30a0fQxxXOPQDEX+Yxp0A==
X-Gm-Gg: Acq92OHQHNyaU0j5rr6Dm59tMrNT5uNdbEW/z5YqZUPgHrWdtOKH1rVUmPETKF4Wcng
	qWmZKHgCstx4PnP6+nuLNc+DZu6QHvkkD22MLcblF9UJDa8F+/+GTpO9uvT0qyLxA87BuBDbY1r
	mDGx0U6ByLs67CA32WuXM2Td2RYn2ObDwEbVkEjTS066ZnMP5JNfH0LgBgkR39JGnYIMlHE04wg
	W0Fgn81rJGwAAUZ9u4LznonEKrqdhVIo61v7dODz7bFMd4ohzbosZABjgLwKYyqqM/77hoUKa8u
	UCitRIZJYBpSof9GWqbNB2TCpqBFBhUeNWF2IR7IB+hAlwq9UDQ0fXnI+sqFEO3SE0w7nic9s5j
	zY+aERqIFdJRiIuDy7ntfTmuVmcGxKx5pSFC3JXMyoK5nFEVTtH+GMy7Ir2PW2PInffaCIiwMRJ
	6f5DxeXTQT34LXY+Ytce9JVkNsTcleqZSbXtd46aqcn61Po31sfMO9PZd3uQPr/oHigvWL6jcAx
	RV4vZQmF0E7V4mmuiT6nFvTJQ7i7Pql8l+9voYwT17pAHP+zHoHkYwEXgtfmBpQ49UGsSQ=
X-Received: by 2002:a05:6000:4601:b0:45e:739b:3e43 with SMTP id ffacd0b85a97d-460673e3420mr4688358f8f.0.1781188931159;
        Thu, 11 Jun 2026 07:42:11 -0700 (PDT)
Message-ID: <965bcf53-accf-4297-bf8c-903dce45cba0@suse.com>
Date: Thu, 11 Jun 2026 16:42:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] xen/x86: Always strip xen.efi
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260608173108.2848469-1-andrew.cooper3@citrix.com>
 <b310db60-850a-4096-8900-54d0816e5063@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: <b310db60-850a-4096-8900-54d0816e5063@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ef75cf/1781188931-0A772C48-24E9A351/0/0
X-purgate-type: clean
X-purgate-size: 926

On 11.06.2026 16:38, Jan Beulich wrote:
> On 08.06.2026 19:31, Andrew Cooper wrote:
>> Some old versions of binutils ld managed to produce efi files which the
>> matching version of strip couldn't process.  This includes Binutils 2.26
>> included in Ubuntu 16.04.  Delete the workaround for this bug, and require a
>> less broken toolchain.
> 
> And we're certain newer versions of strip don't do any harm to the binaries?
> Already towards Frediano's posting I said that having looked at how things
> work there, I'm far from certain.

I should have added: An option may be to link twice: Once with debug info
included, and once with it stripped. Personally I trust the linker creating
the various headers, including the section ones, more than strip's (or
objcopy's). Yet then I can only repeat my observation that linking PE+ from
ELF inputs looks to be significantly slower than linking ELF -> ELF.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 14:50:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 14:50:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335727.1597897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXgjG-0003Qg-40; Thu, 11 Jun 2026 14:49:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335727.1597897; Thu, 11 Jun 2026 14:49:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXgjG-0003QZ-1C; Thu, 11 Jun 2026 14:49:58 +0000
Received: by outflank-mailman (input) for mailman id 1335727;
 Thu, 11 Jun 2026 14:49:57 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wXgjF-0003QT-Dx
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:49:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXgjE-00DD6U-GV
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:49:56 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2acb13-2eae-0a2a0a5409dd-0a2a4505a53a-6
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:49:56 +0200
Received: from [74.125.224.49] (helo=mail-yx1-f49.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2acb13-aaa8-0a2a45050019-4a7de031a8c0-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:49:56 +0200
Received: by mail-yx1-f49.google.com with SMTP id
 956f58d0204a3-6626b5ace23so522727d50.0
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 07:49: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1781189395; cv=none;
        d=google.com; s=arc-20240605;
        b=hrVpRMJrKeSqB1cOyZCEGX6jaUK+dPHEBi7ik7XEeVz5awXZxu89tdhdd2NWFpoNTv
         XZhdznk3yGKvBgEqruFjGZBPLPfFTSGmWtc9gLk13GbzALrU1R8SDZ03NUmeeFfsw4kC
         00UBAUb4+dKXhfIIwB442dcORpGEHUChHIdkm70WKeILAhyhczB++cfNcSRnCWxv39lf
         hVwJVNgCtaEaMpmVhbC/gqwisvBf6CGz4FiM+7GTdqMx0WF9MQICX3TiP7yd7Wl/hfJp
         NS4sxrPU4PcIIduaNAjvuH+DtZpTZGvjkuX8w6gieNNUEDePxCwuBQYZ/4NqM8I9WgRj
         /i9g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature;
        bh=moTCC/8SdmNIwtUxXbsXuDbFrih4JjrEM9T7hJKhFlg=;
        fh=u9Gugbv7nDZYHETIpcjIyYj9si536uXJFSYjxWXrzIo=;
        b=gq7v0cBzEStnXbKIejYq8PhRyaF306zp+uwTItccTt4kGnZ1crrCyN1VFNQiFT4laX
         cx+Z14GhPmDGxHA2bOyYSGO995orY6a+m9FPOOhEhc8p5hTF4U6HFFHdtV6TUdNubKM0
         lT7s7775A63IKm0kaYOtXB7YfiOKSFeqSxV4hMXxsDAVBTx/xCY8p9ig/o714YBewHt3
         Z+AwwKx9BeaE2rJck8RkrFnfWGCjCi4EQwBC2MSYg1dAu6Ae9EY6XJWz8Vw99vyEbJhu
         NRv8LxnMuILOxg5juqlXQYxPynaE6FAOFPS1hOXz7z0XvxB5nl9s4nyDptU4gQw+gIZi
         GfFQ==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781189395; x=1781794195; 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=moTCC/8SdmNIwtUxXbsXuDbFrih4JjrEM9T7hJKhFlg=;
        b=OfxQzt1xahbysO1YAffXMGDhHjjEpsWs8OAr+qWaioPAa+HBOyQDFF3JDe3WeSHjQm
         6SDLXmFRo9ijkedGU6cvZ1mdMViKGYXYjTyjKzcD0KhncN4rxsyKuu21Cuvoemfy/Knv
         m44MEK6/XSnE4SAMzs1HE+Bggx09JX0mbNH+Hr3H86EyB6uzBVo745EGjw5qOv9AzumN
         dEhdHN5TWsdsVf95TeoXKJcB3W1daEYcTwLma0+K7mdlBItxIPGZOsM++mnKPu4WOqNE
         zCUeX/PMO+dFuQOzvJuPerZqkb9ojMNlGHepU/00f3cbgLGDY27SadBIb9+FrEpaYV2x
         3Org==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781189395; x=1781794195;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=moTCC/8SdmNIwtUxXbsXuDbFrih4JjrEM9T7hJKhFlg=;
        b=ifdSzMcaJUluiikV70W0/ubOvhDcoI65+SR98PGEyehzT1njCqdsp4QMnrwbXY3b7J
         iOHBmUCktz7cE3U7f6PqSfJmYdrXCU3mSUja41t3qWQjJLTjpQ6SKrmLWP56He2Me3X3
         gBJcW4v2pYs+ve+pLBD1v27TBNJJ/WR+Q8W7b/m/8vMga9AqlTxBAq2UWJvgDQSOh2bM
         tXSFyRj4BILJvyNczRkE0nBk6q6Dk2kK+Kfymrh2/lJB6sRkkdKp4xRN4s4vSy0792Nx
         /sQvkz8TI2wT3HbnHDhmOISAV7wiqj7gcMdRr7WcyKPRi1lEpVJwLMWC+TqssQTiy64z
         AaSA==
X-Forwarded-Encrypted: i=1; AFNElJ/Zd1/+1P3DeVgMe7/bOFJlR2NLiD0XcD5537Vo4Q1Nv7u7An+H13YBpkYjXsCuXMyprGF2GW41UtY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz28IEmr+Lts3kwSWc18EX86hnVFVv1JQZoz09jUB+nNV+ty+sU
	sliFJif9Fa/lpDCos0PZSzSI/dw4x1eMbg/5jZXQLv5NbPckt1M45fAs6OwCPN2yMlYEbCOYz/Y
	/ddrbCzddiIHmaFgyiSRUi+uE/+/rAos=
X-Gm-Gg: Acq92OHmR4kFc75BHNg5+EyDxQOmxMoBZhR75QAW2c3tzMsJ6NJeoUDbupASa1ouuyj
	JovXhqCsLC5cDjYL82tw7E8ITL4z5UVMu1TtjKW6rDpb/pAHF2b4s3jtUzhfpgVMDuMXIoqFJ1J
	8oJPhPeAHTVNfZFAG/fOho8C0s8mcW4Ryq+fqOYLS8lSAqwBdSu0ZrLHIxTNwJ1WGIT1T0XQqym
	aUerx3GFaLvrBwVKbp7J+faDIG/GmX/MNTkPkED+Uh49KxKH+BY9NlgmiJm4if+xVPn9Wa7KUAf
	K5ANBP9wmh3ASoCkwbIQ6Dje1tJXDGQgWpVOT1+XmzX7LR7Q
X-Received: by 2002:a05:690e:14cd:b0:65d:f682:a59b with SMTP id
 956f58d0204a3-66269e1e0e3mr1805519d50.26.1781189394703; Thu, 11 Jun 2026
 07:49:54 -0700 (PDT)
MIME-Version: 1.0
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-3-frediano.ziglio@cloud.com> <7067092e-ba18-4513-a9b1-83ba084ccbb4@suse.com>
 <CAHt6W4cP57pAPsNDKpssjYB=snLEZgOhWkYkVrJys01-NTMiRQ@mail.gmail.com>
 <75e86d74-9fa1-4090-bea7-332ec31ffb90@suse.com> <CAHt6W4dfXdyw4dOkqoQzo0x4XRmLsHXkhhznov+KvanKBi9bWw@mail.gmail.com>
 <5bee4f94-b2d0-4802-a990-b2a378d2f838@suse.com>
In-Reply-To: <5bee4f94-b2d0-4802-a990-b2a378d2f838@suse.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Thu, 11 Jun 2026 15:49:42 +0100
X-Gm-Features: AVVi8CdMKLOMLtSAUGMUY11VqKUja0jPKPlX-nqnfonJTpcrDkFbFwUhvhiZQpM
Message-ID: <CAHt6W4cb4R7i79s9wYRpPfOdmkKS+XsaO=VphZ+jvmLKiRw-ZA@mail.gmail.com>
Subject: Re: [PATCH 2/6] Align all sections to 4KB
To: Jan Beulich <jbeulich@suse.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
X-purgate-ID: tlsNG-c201ff/1781189396-E1F9C443-8A529509/0/0
X-purgate-type: clean
X-purgate-size: 7883

On Wed, 10 Jun 2026 at 10:43, Jan Beulich <jbeulich@suse.com> wrote:
>
> On 06.06.2026 18:02, Frediano Ziglio wrote:
> > Frediano
> >
> > On Fri, 5 Jun 2026 at 08:45, Jan Beulich <jbeulich@suse.com> wrote:
> >>
> >> On 04.06.2026 12:16, Frediano Ziglio wrote:
> >>> On Tue, 2 Jun 2026 at 13:09, Jan Beulich <jbeulich@suse.com> wrote:
> >>>> On 29.05.2026 17:35, Frediano Ziglio wrote:
> >>>>> --- a/xen/arch/x86/xen.lds.S
> >>>>> +++ b/xen/arch/x86/xen.lds.S
> >>>>> @@ -162,8 +162,8 @@ SECTIONS
> >>>>>         __note_gnu_build_id_end = .;
> >>>>>    } PHDR(note) PHDR(text)
> >>>>>  #elif defined(BUILD_ID_EFI)
> >>>>> -  /* Workaround bug in binutils < 2.36 */
> >>>>> -  . = ALIGN(32);
> >>>>> +  /* align to satisfy UEFI CA memory mitigation */
> >>>>> +  . = ALIGN(PAGE_SIZE);
> >>>>>    DECL_SECTION(.buildid) {
> >>>>>         __note_gnu_build_id_start = .;
> >>>>>         *(.buildid)
> >>>>> @@ -330,6 +330,7 @@ SECTIONS
> >>>>>    __2M_rwdata_end = ALIGN(SECTION_ALIGN);
> >>>>>
> >>>>>  #ifdef EFI
> >>>>> +  . = ALIGN(PAGE_SIZE);
> >>>>>    .reloc ALIGN(4) : {
> >>>>>      __base_relocs_start = .;
> >>>>>      *(.reloc)
> >>>>> @@ -355,6 +356,7 @@ SECTIONS
> >>>>>    VIRT_START &= 0;
> >>>>>    ALT_START &= 0;
> >>>>>
> >>>>> +  . = ALIGN(PAGE_SIZE);
> >>>>>    .sbat (NOLOAD) : { *(.sbat) }
> >>>>>  #elif defined(XEN_BUILD_EFI)
> >>>>>    /*
> >>>>
> >>>> You say "all sections" in the title, yet this is not covering e.g. debug
> >>>> info.
> >>>
> >>> I will change to "all loadable sections". debug sections are not
> >>> loadable so they don't cause an issue.
> >>
> >> Please try to be precise there, as some aspects are subtle. As per my
> >> understanding, like .reloc all .debug_* are loadable (and may be loaded).
> >> The IMAGE_SCN_MEM_DISCARDABLE flag merely means they can be discarded at
> >> a certain point after image loading (for .reloc in particular: after
> >> relocations were processed).
> >
> > No, debug sections are not loadable, for instance, in a random
> > executable I found:
> >
> > Sections:
> > Idx Name          Size      VMA               LMA               File off  Algn
> >   0 .text         0000c7f8  0000000140001000  0000000140001000  00000600  2**4
> >                   CONTENTS, ALLOC, LOAD, READONLY, CODE, DATA
> >   1 .data         00000250  000000014000e000  000000014000e000  0000ce00  2**4
> >                   CONTENTS, ALLOC, LOAD, DATA
> >   2 .rdata        00002c70  000000014000f000  000000014000f000  0000d200  2**4
> >                   CONTENTS, ALLOC, LOAD, READONLY, DATA
> >   3 .pdata        00000654  0000000140012000  0000000140012000  00010000  2**2
> >                   CONTENTS, ALLOC, LOAD, READONLY, DATA
> >   4 .xdata        00000630  0000000140013000  0000000140013000  00010800  2**2
> >                   CONTENTS, ALLOC, LOAD, READONLY, DATA
> >   5 .bss          00001ec0  0000000140014000  0000000140014000  00000000  2**4
> >                   ALLOC
> >   6 .idata        00000c88  0000000140016000  0000000140016000  00011000  2**2
> >                   CONTENTS, ALLOC, LOAD, DATA
> >   7 .CRT          00000060  0000000140017000  0000000140017000  00011e00  2**2
> >                   CONTENTS, ALLOC, LOAD, DATA
> >   8 .tls          00000010  0000000140018000  0000000140018000  00012000  2**2
> >                   CONTENTS, ALLOC, LOAD, DATA
> >   9 .reloc        0000009c  0000000140019000  0000000140019000  00012200  2**2
> >                   CONTENTS, ALLOC, LOAD, READONLY, DATA
> >  10 .debug_aranges 00000150  000000014001a000  000000014001a000  00012400  2**0
> >                   CONTENTS, READONLY, DEBUGGING
> >  11 .debug_info   0000d5e4  000000014001b000  000000014001b000  00012600  2**0
> >                   CONTENTS, READONLY, DEBUGGING
> >  12 .debug_abbrev 000014de  0000000140029000  0000000140029000  0001fc00  2**0
> >                   CONTENTS, READONLY, DEBUGGING
> >  13 .debug_line   00001a36  000000014002b000  000000014002b000  00021200  2**0
> >                   CONTENTS, READONLY, DEBUGGING
> >  14 .debug_frame  00000f40  000000014002d000  000000014002d000  00022e00  2**0
> >                   CONTENTS, READONLY, DEBUGGING
> >  15 .debug_str    000003a0  000000014002e000  000000014002e000  00023e00  2**0
> >                   CONTENTS, READONLY, DEBUGGING
> >  16 .debug_line_str 00000a76  000000014002f000  000000014002f000  00024200  2**0
> >                   CONTENTS, READONLY, DEBUGGING
> >  17 .debug_loclists 0000174a  0000000140030000  0000000140030000  00024e00  2**0
> >                   CONTENTS, READONLY, DEBUGGING
> >  18 .debug_rnglists 0000039c  0000000140032000  0000000140032000  00026600  2**0
> >                   CONTENTS, READONLY, DEBUGGING
>
> That's derived from libfd's internal representation, which means nothing at
> all to the loader processing the image. If your objdump is suitably enabled,
> try using its -P option.
>
> Jan

You are right, I got

Section headers (at offset 0x00000188):
 # Name     paddr    vaddr    size     scnptr   relptr   lnnoptr   nrel nlnno
 1 .text    0000c7f8 00001000 0000c800 00000600 00000000 00000000     0     0
            Flags: 60000060: EXECUTE,READ,CODE,INITIALIZED DATA
 2 .data    00000250 0000e000 00000400 0000ce00 00000000 00000000     0     0
            Flags: c0000040: READ,WRITE,INITIALIZED DATA
 3 .rdata   00002c70 0000f000 00002e00 0000d200 00000000 00000000     0     0
            Flags: 40000040: READ,INITIALIZED DATA
 4 .pdata   00000654 00012000 00000800 00010000 00000000 00000000     0     0
            Flags: 40000040: READ,INITIALIZED DATA
 5 .xdata   00000630 00013000 00000800 00010800 00000000 00000000     0     0
            Flags: 40000040: READ,INITIALIZED DATA
 6 .bss     00001ec0 00014000 00000000 00000000 00000000 00000000     0     0
            Flags: c0000080: READ,WRITE,UNINITIALIZED DATA
 7 .idata   00000c88 00016000 00000e00 00011000 00000000 00000000     0     0
            Flags: c0000040: READ,WRITE,INITIALIZED DATA
 8 .CRT     00000060 00017000 00000200 00011e00 00000000 00000000     0     0
            Flags: c0000040: READ,WRITE,INITIALIZED DATA
 9 .tls     00000010 00018000 00000200 00012000 00000000 00000000     0     0
            Flags: c0000040: READ,WRITE,INITIALIZED DATA
10 .reloc   0000009c 00019000 00000200 00012200 00000000 00000000     0     0
            Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
11 /4       00000150 0001a000 00000200 00012400 00000000 00000000     0     0
            Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
12 /19      0000d5e4 0001b000 0000d600 00012600 00000000 00000000     0     0
            Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
13 /31      000014de 00029000 00001600 0001fc00 00000000 00000000     0     0
            Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
14 /45      00001a36 0002b000 00001c00 00021200 00000000 00000000     0     0
            Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
15 /57      00000f40 0002d000 00001000 00022e00 00000000 00000000     0     0
            Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
16 /70      000003a0 0002e000 00000400 00023e00 00000000 00000000     0     0
            Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
17 /81      00000a76 0002f000 00000c00 00024200 00000000 00000000     0     0
            Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
18 /97      0000174a 00030000 00001800 00024e00 00000000 00000000     0     0
            Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
19 /113     0000039c 00032000 00000400 00026600 00000000 00000000     0     0
            Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA

I suppose I will change to simply "Align some sections to 4KB"

Frediano


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 14:55:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 14:55:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335736.1597907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXgoG-000507-PB; Thu, 11 Jun 2026 14:55:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335736.1597907; Thu, 11 Jun 2026 14:55: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 1wXgoG-000500-MZ; Thu, 11 Jun 2026 14:55:08 +0000
Received: by outflank-mailman (input) for mailman id 1335736;
 Thu, 11 Jun 2026 14:55:07 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXgoF-0004zu-P8
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 14:55:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXgoF-00B9F4-0V
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:55:07 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2acc49-e002-0a2a0a5209dd-0a2a450c9bc0-12
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:55:06 +0200
Received: from [209.85.221.49] (helo=mail-wr1-f49.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2acc4a-62f1-0a2a450c0019-d155dd31cd22-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 16:55:06 +0200
Received: by mail-wr1-f49.google.com with SMTP id
 ffacd0b85a97d-45eee266c6cso6649379f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 07:55:06 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70d:3054:345c:e2ed:ca23:72c4?
 (p200300cab70d3054345ce2edca2372c4.dip0.t-ipconnect.de.
 [2003:ca:b70d:3054:345c:e2ed:ca23:72c4])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2ec711sm78957452f8f.12.2026.06.11.07.55.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781189706; x=1781794506; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=bPklNMEdDJVPISd4ec5Zz91FVOxy0gGVzXI4MpItx34=;
        b=aBmubILe1Dh8r6PlxZ/SzQGS6LtnBKodbvyPDsAbPtxlYze6LzYC5ugAk9ZB8cjvuK
         X0zA6dxKF1VlqEmWFn240JbXzZGOgBUnJH4fU9bMKY2lv03z+aqTeAzuAauya0d2uStK
         W7qc79fRyPS8gBnsvBBEsyAqcCA7Q/S48f6RGsZhhSOXH2qeHPgCMdwmZuoEaM6fGbxS
         Fjog1kH8BVX6bN/624BXrretSyB1heak26B8sAWPnWR6nS3Y1ilWQKSAt2swcDWq+2PF
         ZsM6yVkMNQk2MQ5tzTKiIHt3HcJi7zxTaQ8nAg1jXdggLGOqz+KKCPjuGAqEa+kZi0Cy
         mSyw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781189706; x=1781794506;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bPklNMEdDJVPISd4ec5Zz91FVOxy0gGVzXI4MpItx34=;
        b=FYzg8OhJVIIiORPlmNYyW4YR0HWr+HjnRkMOztbjM3lYji/G92qXBziG6emZwvLgTy
         yhPsHmDB/F33abinMWPCnNvWkDrjkBlzzv2wLGKLsTn/tng2n/n2EQjfMkA+pOSvhn2T
         MivCZ8r+7VxHbFw34zdxoFB6pTMdtxgSNFwpeMVPKWWmVeyIY1tFxdnTiulB7gfiU4tW
         sDkd4fy8QYhNnC5443IlnVnK7AxOpChCpDtN6ZkLji2CulGHtnhecnf0PL3GTY0gU+2R
         SL42Ha3ddH3NRwm9hAvLqd0skjbQxw9t1WRL9rEcnnNZ7xELS3aPTdYSYOAAA337RbJE
         QtFg==
X-Forwarded-Encrypted: i=1; AFNElJ8CYkOYonvf+nstQ3xnQisjlh+CN9gzrzE41mGBNmyqFvd32IcjvQU3ZxNaMqIxOCK2c2Idxo+5CV8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywissh8UP/p3pwMK5A1FWRMrUBJpt9kXrN6uPPAJj6vVT9iUnFl
	22RdQJStPL5TXhIdGQKGe7JGcH5YTkMP5vqpHRK2pDevyCZOB8O6hkK6sN1ogOtQng==
X-Gm-Gg: Acq92OG1jY8IxXYGhjkN730Rb0rC/Rj08ypbvAF+xhS/XhWfMKPdERGQHBmJC/7Zs6J
	VnWr5seHxn/MzLa0asN19pUcoKwIruLmsuvqySTtBMD+erpYYfhsHpbpcsthx19f9GklWhO5iSY
	flmdA48zotawvSPR5MoSyQ1QZKUGW+2Z2s42ipIMWqOBWPZjiNWw2LSZ2+NtSahXmoBgHxQEV8p
	cZlfFCrgpnFeSRzr6lIXcTCSOhYZnkWoAMVVuiPGEHcZ/Pz9v9Zv6VBJv3TfgIhC3fKN/XDBL1g
	BmnDe/5/3m5+QgRX0GU7blROs7RdJQ7MeJflKv09lwdDLgLXCxD1eEL+zCs5+hQpJZaVqfDDstW
	67+vya1PTe6oKxZbjfnxygj1GYQUvDYmAs8YE26GU5vLWHuwrSRH8pmX+Wqk0or3PgnnKYjlccF
	YOXpGPTsu4d+bu0wf7fl5ppg/BTzXAM8MZbj4avD823rqKLACgYJ+zUtgUhpvzaHXk6rg4KXRu9
	qGpy/HfBzdbh332n0RN7SHPalm1waz+p///5cYUVSWY5MWC+dXSGs1GNQ9khHVC6HxLGsBg5GuV
	0GInuQ==
X-Received: by 2002:a05:6000:41e6:b0:45e:f228:830d with SMTP id ffacd0b85a97d-460677ce997mr4931807f8f.23.1781189706131;
        Thu, 11 Jun 2026 07:55:06 -0700 (PDT)
Message-ID: <3034d82a-f1ae-4c6c-a293-ca44b7e086fc@suse.com>
Date: Thu, 11 Jun 2026 16:55:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 0/2] domctl: Avoid taking domctl lock for certain ops
 used during migration
To: Ross Lagerwall <ross.lagerwall@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 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>,
 xen-devel@lists.xenproject.org
References: <20260609151528.2426788-1-ross.lagerwall@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: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1781189706-E2F72CF5-C7A0C7C8/0/0
X-purgate-type: clean
X-purgate-size: 1000

On 09.06.2026 17:15, Ross Lagerwall wrote:
> When performing multiple migrations in parallel, the domctl lock may
> become extremely contended:
> 
> * Operations like "xl vcpu-list" were observed to take in excess of 20s
>   to execute.

Does "xl vcpu-list" involve ...

> * The "clean" shadow op may pause the domain, restart with a
>   continuation and then become blocked on the domctl lock, causing VM
>   downtime in excess of 20 seconds.
> 
> These issues can be fixed by not holding the domctl for the frequently
> called operations during migration.
> 
> Thanks
> 
> Ross Lagerwall (2):
>   domctl: Handle XEN_DOMCTL_getpageframeinfo3 without the domctl lock

... XEN_DOMCTL_getpageframeinfo3?

Jan

>   domctl: Handle some of XEN_DOMCTL_shadow_op without the domctl lock
> 
>  xen/arch/x86/domctl.c    |  4 ++++
>  xen/arch/x86/mm/paging.c |  8 ++++++--
>  xen/common/domctl.c      | 13 +++++++++++++
>  3 files changed, 23 insertions(+), 2 deletions(-)
> 



From xen-devel-bounces@lists.xenproject.org Thu Jun 11 15:02:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 15:02:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335742.1597916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXgvN-00071f-G1; Thu, 11 Jun 2026 15:02:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335742.1597916; Thu, 11 Jun 2026 15:02:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXgvN-00071Y-CT; Thu, 11 Jun 2026 15:02:29 +0000
Received: by outflank-mailman (input) for mailman id 1335742;
 Thu, 11 Jun 2026 15:02:27 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXgvL-00071S-ME
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 15:02:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXgvK-00DFwJ-S4
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 17:02:26 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2acdfb-5cb7-0a2a0a5109dd-0a2a45098396-22
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 17:02:26 +0200
Received: from [209.85.221.54] (helo=mail-wr1-f54.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2ace02-2497-0a2a45090019-d155dd36b87a-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 17:02:26 +0200
Received: by mail-wr1-f54.google.com with SMTP id
 ffacd0b85a97d-45efa80e0afso6347847f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 08:02:26 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70d:3054:345c:e2ed:ca23:72c4?
 (p200300cab70d3054345ce2edca2372c4.dip0.t-ipconnect.de.
 [2003:ca:b70d:3054:345c:e2ed:ca23:72c4])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f2f2710sm63963025f8f.14.2026.06.11.08.02.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 08:02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781190146; x=1781794946; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=K6UVZZE8h1cEWvbz96LqlxMrECq0XtvdJCYmIs3PbBA=;
        b=Vl+iEhCFCcbF10iThflqrxsjOPpXEtFWJF03L5rY5fPkFqfAiQOFFYfc2dcNbKST3b
         jqGXLMrxHVbnbj3jSxjml5QJdFWWbpHUuYZP2qI72Y0YqJ+sA3ii1xwSRkike1Up4x96
         BU5SUO2htJ8UeLkzm6UY5Eu2ecIybxoXhlkvT+no0XY0FmqUN+ApvUdAmDmFb3F512tp
         RAsqdirnztQCTpaFqntVS6op7+jY/KwkGPHDy0kTgpUBGFkcQZ4jIXubPXn4qXxhFaZF
         aWPnqzLOa6Klg7LTtw80aoBKKDipGl46bagXUuwP47eRO0ki7EMv6WEUJGnuLKEE/7Et
         6PdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781190146; x=1781794946;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=K6UVZZE8h1cEWvbz96LqlxMrECq0XtvdJCYmIs3PbBA=;
        b=Af8tFZ+vWMG4f6pgndaLpAag79RKghsaWkafkdnE/4d2OVq9C3ovO7iNPqVbK6x1SA
         hLBSf9PJutgSHDPiaPlZCmrAaNmvdQGOfoQW1w8g7tyV9nHIK/ss86p30OIjM3RMZSQc
         pQJUd+DrhGKvW2e67sERRYtJsBqv02npwCo5HW0ge7ScDD5rzxPgyE5EwbJNDzss9ezg
         p0q3m9n1Q0igubjG3gEnZhUfPmsrEtP4QJyoJSdl2MKZzFHPtY5l1pLFdK9bNAS11d/g
         B4jQm/lR2/2awRvv37cNI7JTbvQm3xvuOKEvpHDu2r2379g4PZkkilITrFt2p5jkCxou
         r2eg==
X-Forwarded-Encrypted: i=1; AFNElJ+PjRLHwQqy/iXD4KkfF9IsQLwNJADKfnPkeuPtYgIGK0Y5+j9BuL6g03OTKH+XahXJVF2oECVMvfw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyo1/ARHtlwHLhvXXQS3AzJMa9fl+OeJ+5h/bqMRO20bUxKcaLe
	gsGyh/0fqcuoPHQe8WWgy5zZeyahKvvFc166qdmQ53cF35CtC4EZBJOp5eZK0MAkow==
X-Gm-Gg: Acq92OEKnfFWGqZlZ6UpsxxmILJt/OOgSHQZDdTzkWgr4UyYdFRBGI32h4oxTGqe6lo
	u0J/vWlF1gjbc8f/XqZK2dTWfAHDtzmKrsMVoWXSIdRM2NWefBkZbqvhLedjRAlBN0URkap3NlG
	+h2RzN+4+fJ5MyGD50D8g6zSAXcOZ82P0LOIvPlfMcAHIMpf+doR8nUU3yQKMO7J2YrRdwPIZEK
	IPgd8Rzf0wO1n0Zbg2iY64XnWVBHl4FCgydzjPVxrTK9mr32K7g7WwJam/XqWMcHZSlmwyfg6gA
	FdDrVr72Z6zUkAdqeSlT1sGeh9uzbVeK9A1ukbku+M4PhoAyYZ9Bkgu1MRpjBvadf4TcNbjvFTC
	n3cY6wgvJw4VFLj/A8kGTDsqs1Mm/i/4pOHPtP3ToSehENpBqiZeh4k7B5QC29iZOcQ4ydjOHIf
	Puubreagi5cv9lyE/q1+TJk/LhFMmOoceR6xG+m92I1CgNv0WcA/P0LZLG6hRUnN/YydH/4Yd7p
	OcgmhgTnCKBqd0AOnbkv4B9MDWXq7UzIFsOFMNmVpxF3zBVUE+4DuFuqrkqKxDpLV64XvE=
X-Received: by 2002:a5d:64e6:0:b0:45e:de0a:1773 with SMTP id ffacd0b85a97d-460677a8feemr5070104f8f.33.1781190145446;
        Thu, 11 Jun 2026 08:02:25 -0700 (PDT)
Message-ID: <83d5f566-37b7-4365-bbf0-ae28abc521a4@suse.com>
Date: Thu, 11 Jun 2026 17:02:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/2] domctl: Handle some of XEN_DOMCTL_shadow_op
 without the domctl lock
To: Ross Lagerwall <ross.lagerwall@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 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>,
 xen-devel@lists.xenproject.org
References: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
 <20260609151528.2426788-3-ross.lagerwall@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: <20260609151528.2426788-3-ross.lagerwall@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1781190146-42B70A53-B54B80E5/0/0
X-purgate-type: clean
X-purgate-size: 1208

On 09.06.2026 17:15, Ross Lagerwall wrote:
> --- a/xen/arch/x86/mm/paging.c
> +++ b/xen/arch/x86/mm/paging.c
> @@ -746,11 +746,15 @@ long do_paging_domctl_cont(
>      ret = xsm_domctl(XSM_OTHER, d, &op);
>      if ( !ret )
>      {
> -        if ( domctl_lock_acquire() )
> +        bool lock = !(op.u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_CLEAN ||
> +                      op.u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_PEEK);

I realize this has been committed already, yet I'd still like to mention
that I never really understood why expressions like this (with a negation
which can easily be avoided:

        bool lock = op.u.shadow_op.op != XEN_DOMCTL_SHADOW_OP_CLEAN &&
                    op.u.shadow_op.op != XEN_DOMCTL_SHADOW_OP_PEEK;

) would be used. Personally I consider such hampering readability. And
no, the other expression (in do_domctl()) being

        if ( op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_CLEAN ||
             op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_PEEK )

imo doesn't justify that either: While in the patch they're close
together and hence the analogy can be easily spotted, in the ultimate
source files the two expressions are far apart.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 15:10:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 15:10:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335749.1597925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXh2o-0000bD-7D; Thu, 11 Jun 2026 15:10:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335749.1597925; Thu, 11 Jun 2026 15: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 1wXh2o-0000b5-3v; Thu, 11 Jun 2026 15:10:10 +0000
Received: by outflank-mailman (input) for mailman id 1335749;
 Thu, 11 Jun 2026 15:10:08 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXh2m-0000az-NH
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 15:10:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXh2l-0030mo-V1
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 17:10:07 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2acfc8-bab6-0a2a0a5309dd-0a2a450cbf80-36
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 17:10:07 +0200
Received: from [209.85.221.51] (helo=mail-wr1-f51.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2acfcf-62f1-0a2a450c0019-d155dd33e57e-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 17:10:07 +0200
Received: by mail-wr1-f51.google.com with SMTP id
 ffacd0b85a97d-46066e640easo621509f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 08:10:07 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70d:3054:345c:e2ed:ca23:72c4?
 (p200300cab70d3054345ce2edca2372c4.dip0.t-ipconnect.de.
 [2003:ca:b70d:3054:345c:e2ed:ca23:72c4])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f344558sm77851111f8f.18.2026.06.11.08.10.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 08:10: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781190607; x=1781795407; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=fsRTffEw0V/KK/MnC8W/EPsNaMjzhPcpDui9mnGJ62c=;
        b=YFZJ+Wd35/LKugEHxQPeuHv1T+l/gvbXQ/LlyCi6dboRyC3WgvpzBH2yyB8KtX15el
         iTm1S5G+1voLdE+VVfC1Rj63fW2FA+5gZe1vv0l0gwAquVnr+yped1/atbVlWEzp183z
         NJqx78z5moCncjlypOAlVq1/q1oORyLfaNX1M8nbKBrOS4pzEXm3zjMZybQsyb4J/T+L
         baAHM4zd3xAi90NwnwNzOrdOFi/Wi0f7fJ32oRyKkPrJaWSy+lZmeuZv0hfX/0gELVs/
         sTGQX1YvanIWCWhbwhg5+VAvMllHwYm0aJ3F2XksyXVBvdofWWTHmT9xTo2KaImZijDl
         k5rQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781190607; x=1781795407;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fsRTffEw0V/KK/MnC8W/EPsNaMjzhPcpDui9mnGJ62c=;
        b=mMNMD1IrzP2ODjBTPlCORR0xQ10ZP/+oqPE/e1jauNvrJZedb8AqEDqJRQDESAVy+E
         6pK9AdzdbiB70xUqYl3BLVQwi4r6ffGaEf/wcMgd/7J/qJ86ocDiNbG3uM73IK3TbFzC
         WcbV+QJJj3mxaheh8Bw6nnOFrhrz7E0QmQO4HLqiXN4jHH5W6yP3zuPLicmQhSyqpRgV
         z8hNLR3sEN7YchPR9WmBjRjtrTcHEAoLtBq2quF7e3o6WJe/2jcHKseQUYhJ5Dnf3O3j
         kc5poGxJ6mwIPJG00HV9aefmwQQKkNRlQZxSAE9bSRoadFhvnr7jQ2O95J4JyX6OjSrc
         iP+Q==
X-Gm-Message-State: AOJu0YxAp5DcsKG8tujU3SVWfGs8rHwiOfaTGhcQMSD/2J6RxqVCkusG
	SpVaAvan8aopvgmUjnq7p7O2syeVFVaM6YySu4Ji/db+NzirCq0qywf01R3RXi4zqQ==
X-Gm-Gg: Acq92OH9haXZS8md572zb375XmW+o2op1cI/hjDEBp/FiQCIt9iil8Ttkv3vVMCy5k5
	XihTKiFp3uHw3XDZ5U7B88vmADMIc8Za5vWkrbnFDhLqFM6m/uGoib+OBqUMko0Ly8ya1zwtye8
	f1R2C1ZqvZOvuIRiCyx6w3IsM2yshd1sjVSaANbme1q/0wCkj8/WptWoKonQvHGGeqC5Zry/2h2
	8DXzoVY6Xx3t9amejYPsiHz8SfiJUk4buZI3MlqG13JwYny0mGKjWlTD79tx6c0uROSfQ5tegKn
	L70NutckRnpJL9GKym1Z0zDWJz7TW36BJybenxBKU31AA//IGyUmN01NDZ0VuGve7xIVVP4nCU6
	0N40Qf+fQoqn3nAvB28IhqZGjTEBUktfwESjVq7NPLbbv6bVS04Ry+JarUZhjkZl2xH1MYEBVhp
	CZr/LPqQCya+que04J8Wxx95dR1Br2ZT8gMQ21FTIl0sChnFkrS52SWFm23/ysn9/f8FP4npdIE
	zU/uHZCjnc35zMc+Avyzy0C7sCv7ByPMPo2tGPuXosl8IVuVK4nIqPbCbFCakSRirhrHB6jRbfT
	qkrqqg==
X-Received: by 2002:a05:6000:4706:b0:45e:e44b:313e with SMTP id ffacd0b85a97d-460675b7081mr4887449f8f.19.1781190607191;
        Thu, 11 Jun 2026 08:10:07 -0700 (PDT)
Message-ID: <c5fe814a-ed01-447a-8d48-edf832326b34@suse.com>
Date: Thu, 11 Jun 2026 17:10:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/2] xen/x86: Change stub page allocation/free
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20260609000638.121027-1-jason.andryuk@amd.com>
 <20260609000638.121027-3-jason.andryuk@amd.com>
 <ail8YNrQLZ9bumiH@macbook.local>
 <085ebfb8-d76c-4a13-8b5b-130959b25b51@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: <085ebfb8-d76c-4a13-8b5b-130959b25b51@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1781190607-D9F6ACF5-24010A98/0/0
X-purgate-type: clean
X-purgate-size: 1261

On 10.06.2026 17:23, Jason Andryuk wrote:
> On 2026-06-10 11:01, Roger Pau MonnÃ© wrote:
>> On Mon, Jun 08, 2026 at 08:06:38PM -0400, Jason Andryuk wrote:
>>> --- a/xen/arch/x86/setup.c
>>> +++ b/xen/arch/x86/setup.c
>>> @@ -2089,8 +2089,7 @@ void asmlinkage __init noreturn __start_xen(void)
>>> Â  Â Â Â Â Â  init_idle_domain();
>>> Â  -Â Â Â  this_cpu(stubs.addr) = alloc_stub_page(smp_processor_id(),
>>> -Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  &this_cpu(stubs).mfn);
>>> +Â Â Â  this_cpu(stubs.addr) = assign_stub_page(0);
>>
>> Given stub pages is first used quite late in the boot process, the above
>> arrays would better be dynamically allocated using xvmalloc_array().
> 
> Ok.Â  At some point I intended to dynamically allocate.Â  But x86 doesn't have num_possible_cpus(), and I thought num_present_cpus() wouldn't have the correct value.Â  nr_cpu_ids seemed close to the value, but then I convinced myself NR_CPUS would be okay.

Not specific to this patch: Using NR_CPUS is almost never okay. It's a last
resort if you need a static upper bound. But NR_CPUS can be _much_ larger
than nr_cpu_ids, and hence arrays generally want dimensioning (allocating)
by using the latter.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 15:18:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 15:18:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335760.1597933 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXhB7-0001ZY-Vt; Thu, 11 Jun 2026 15:18:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335760.1597933; Thu, 11 Jun 2026 15:18:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXhB7-0001ZR-TD; Thu, 11 Jun 2026 15:18:45 +0000
Received: by outflank-mailman (input) for mailman id 1335760;
 Thu, 11 Jun 2026 15:18:44 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXhB6-0001ZL-Gq
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 15:18:44 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXhB5-00DHiS-LR
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 17:18:43 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2ad1c7-e002-0a2a0a5209dd-0a2a4501c880-28
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 17:18:43 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2ad1d3-c1f2-0a2a45010019-d1558034ad85-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 17:18:43 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-490b1bbcf3aso68352115e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 08:18:43 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70d:3054:345c:e2ed:ca23:72c4?
 (p200300cab70d3054345ce2edca2372c4.dip0.t-ipconnect.de.
 [2003:ca:b70d:3054:345c:e2ed:ca23:72c4])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f360bd6sm89007371f8f.36.2026.06.11.08.18.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 08:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781191123; x=1781795923; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=GhN36oGihZlcN5HMIpc98+EDACPfjSLV4HCZg+RvzRg=;
        b=aoi3ogXFoH9f50jifzpAq59HORzSx02watAswwK1+f6EClOy6Z3FNSS4uTrESJmJLa
         ng8Uc2e2C/NJDGr25inJV2SD61DrEXOnVcXHETSyO1AWFJqI4FJQjnNZBW8aG4bQWV56
         Y0EGQ8lS9ma2DDqq/bfUogBXWHRU0gBBBXCl7J8dq2jfC0fq6Pv9H72siVxOn2H3vELF
         79g5/amZ0psZ6qHucuXKY2Z/S0HqQPHB+ZhzpD6RwXVnWioJYvrFaXMOHQnnCEz/Fz/v
         auGmxlQqKNWiggsk5DB0OB4Gmw88AFXy3yhBMUYPoRahvPRUU6DjwDI7cCFq170iQOjD
         6qPw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781191123; x=1781795923;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GhN36oGihZlcN5HMIpc98+EDACPfjSLV4HCZg+RvzRg=;
        b=UdmrWmqomOrJvGNP48OF4zQ16HKaz3yV2RkinihMp/miMBJVzX+8Foq7kupSz7M7/m
         U8jbaibMITpgRoeyNOhSIl/RxxRrkSI3hkSMlg8CTk02SGzclWCoSK2Vt5mKLvRlUilQ
         rg7gGAzJ66OAoVTsmSaIEYsHFa0P8NQKXNGx2Olw/iWl6SCytyKuqcjRYR4OYLQJ7yv0
         BUbrTvp80m/dG8gRjTAcbcjkiVLJxJFf/wn6xWVpC606Wrx5Lh5KZtiK+38vgttLZTKl
         G0ofkikCsHwkcy6aVIP1RqOtVfcBE1aBtlaK6an84TfdFHca8m8KrQjIgJzA5MDjLBbf
         cHPA==
X-Forwarded-Encrypted: i=1; AFNElJ/jLXmki/YSLPESGSCl342aV3jJuEk5w6vgsnWxoJzm41qotubFkbQaEbLsjhXgGn9ove8wDO4dp6g=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw6LxDetiTINbkWbo5o7k349zbBJDzh0qImpCl7MlcpjUSCam1G
	OMUlaqzpIpkA7TtTaX5iL2LSxi1Goh8CkjsYFpbdcaw3RShuRwrzDI84b4OCvLUjDw==
X-Gm-Gg: Acq92OEtulQyUljwY4JBx3uPnGpO9X9tCPLUcBx19Gfa180PWq2xAsps3qpF9amukth
	KiWhIXBfT0PYLjPFfGFqA3C82cphLQ2mXcvVojkzYEciAXzuqVcskhASUy8a0Ug4T8TT3TOwiVm
	5GSTiQTK7+oyn4cnnHx3CaT4J5vYERZq1SHj5CHMh7YDAakJHQTKxjoi88ieoMC6w+7R+P436aE
	+5G50M3HKtgNlTmGFBmMx/pw1DsYoz/f2A+ugAkFHsz0Q0/vumNGFJLYGlHd/TNmRoMg0rGCV1r
	cRECQP7QuthOU9SdOzpRfA+DbZAtosjtbEioF4ZS3sj/ssi7ueX3iCVx2BwYo4rwewJd+1fmka+
	OPUG8wGingvzaEeILls4HzQKJAX/VRn05psE/5PkGz7pVIx6LNiDLx0akvvfqxejzUgZCCqdz89
	FtP2NO9NwQ0pfePmQ3v+Cn5YZaH92HPI7HTrX6gwsOrZbsm/2XJw8BhhCj2ELivZPSI6xXDFUeS
	is6+b9bHR0us06T/q6jZnpJckziRtKcyT89h4VnCmmykCdLcbtHUVA51oP3YeFEHsmERyA=
X-Received: by 2002:a05:600c:400f:b0:490:b8c0:d471 with SMTP id 5b1f17b1804b1-490e56177e6mr30588675e9.23.1781191122840;
        Thu, 11 Jun 2026 08:18:42 -0700 (PDT)
Message-ID: <f83df0b1-9177-4b89-a854-e19a22e181a7@suse.com>
Date: Thu, 11 Jun 2026 17:18:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/6] Align all sections to 4KB
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-3-frediano.ziglio@cloud.com>
 <7067092e-ba18-4513-a9b1-83ba084ccbb4@suse.com>
 <CAHt6W4cP57pAPsNDKpssjYB=snLEZgOhWkYkVrJys01-NTMiRQ@mail.gmail.com>
 <75e86d74-9fa1-4090-bea7-332ec31ffb90@suse.com>
 <CAHt6W4dfXdyw4dOkqoQzo0x4XRmLsHXkhhznov+KvanKBi9bWw@mail.gmail.com>
 <5bee4f94-b2d0-4802-a990-b2a378d2f838@suse.com>
 <CAHt6W4cb4R7i79s9wYRpPfOdmkKS+XsaO=VphZ+jvmLKiRw-ZA@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: <CAHt6W4cb4R7i79s9wYRpPfOdmkKS+XsaO=VphZ+jvmLKiRw-ZA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1781191123-B6342FF4-3ABA4354/0/0
X-purgate-type: clean
X-purgate-size: 8234

On 11.06.2026 16:49, Frediano Ziglio wrote:
> On Wed, 10 Jun 2026 at 10:43, Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 06.06.2026 18:02, Frediano Ziglio wrote:
>>> Frediano
>>>
>>> On Fri, 5 Jun 2026 at 08:45, Jan Beulich <jbeulich@suse.com> wrote:
>>>>
>>>> On 04.06.2026 12:16, Frediano Ziglio wrote:
>>>>> On Tue, 2 Jun 2026 at 13:09, Jan Beulich <jbeulich@suse.com> wrote:
>>>>>> On 29.05.2026 17:35, Frediano Ziglio wrote:
>>>>>>> --- a/xen/arch/x86/xen.lds.S
>>>>>>> +++ b/xen/arch/x86/xen.lds.S
>>>>>>> @@ -162,8 +162,8 @@ SECTIONS
>>>>>>>         __note_gnu_build_id_end = .;
>>>>>>>    } PHDR(note) PHDR(text)
>>>>>>>  #elif defined(BUILD_ID_EFI)
>>>>>>> -  /* Workaround bug in binutils < 2.36 */
>>>>>>> -  . = ALIGN(32);
>>>>>>> +  /* align to satisfy UEFI CA memory mitigation */
>>>>>>> +  . = ALIGN(PAGE_SIZE);
>>>>>>>    DECL_SECTION(.buildid) {
>>>>>>>         __note_gnu_build_id_start = .;
>>>>>>>         *(.buildid)
>>>>>>> @@ -330,6 +330,7 @@ SECTIONS
>>>>>>>    __2M_rwdata_end = ALIGN(SECTION_ALIGN);
>>>>>>>
>>>>>>>  #ifdef EFI
>>>>>>> +  . = ALIGN(PAGE_SIZE);
>>>>>>>    .reloc ALIGN(4) : {
>>>>>>>      __base_relocs_start = .;
>>>>>>>      *(.reloc)
>>>>>>> @@ -355,6 +356,7 @@ SECTIONS
>>>>>>>    VIRT_START &= 0;
>>>>>>>    ALT_START &= 0;
>>>>>>>
>>>>>>> +  . = ALIGN(PAGE_SIZE);
>>>>>>>    .sbat (NOLOAD) : { *(.sbat) }
>>>>>>>  #elif defined(XEN_BUILD_EFI)
>>>>>>>    /*
>>>>>>
>>>>>> You say "all sections" in the title, yet this is not covering e.g. debug
>>>>>> info.
>>>>>
>>>>> I will change to "all loadable sections". debug sections are not
>>>>> loadable so they don't cause an issue.
>>>>
>>>> Please try to be precise there, as some aspects are subtle. As per my
>>>> understanding, like .reloc all .debug_* are loadable (and may be loaded).
>>>> The IMAGE_SCN_MEM_DISCARDABLE flag merely means they can be discarded at
>>>> a certain point after image loading (for .reloc in particular: after
>>>> relocations were processed).
>>>
>>> No, debug sections are not loadable, for instance, in a random
>>> executable I found:
>>>
>>> Sections:
>>> Idx Name          Size      VMA               LMA               File off  Algn
>>>   0 .text         0000c7f8  0000000140001000  0000000140001000  00000600  2**4
>>>                   CONTENTS, ALLOC, LOAD, READONLY, CODE, DATA
>>>   1 .data         00000250  000000014000e000  000000014000e000  0000ce00  2**4
>>>                   CONTENTS, ALLOC, LOAD, DATA
>>>   2 .rdata        00002c70  000000014000f000  000000014000f000  0000d200  2**4
>>>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
>>>   3 .pdata        00000654  0000000140012000  0000000140012000  00010000  2**2
>>>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
>>>   4 .xdata        00000630  0000000140013000  0000000140013000  00010800  2**2
>>>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
>>>   5 .bss          00001ec0  0000000140014000  0000000140014000  00000000  2**4
>>>                   ALLOC
>>>   6 .idata        00000c88  0000000140016000  0000000140016000  00011000  2**2
>>>                   CONTENTS, ALLOC, LOAD, DATA
>>>   7 .CRT          00000060  0000000140017000  0000000140017000  00011e00  2**2
>>>                   CONTENTS, ALLOC, LOAD, DATA
>>>   8 .tls          00000010  0000000140018000  0000000140018000  00012000  2**2
>>>                   CONTENTS, ALLOC, LOAD, DATA
>>>   9 .reloc        0000009c  0000000140019000  0000000140019000  00012200  2**2
>>>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
>>>  10 .debug_aranges 00000150  000000014001a000  000000014001a000  00012400  2**0
>>>                   CONTENTS, READONLY, DEBUGGING
>>>  11 .debug_info   0000d5e4  000000014001b000  000000014001b000  00012600  2**0
>>>                   CONTENTS, READONLY, DEBUGGING
>>>  12 .debug_abbrev 000014de  0000000140029000  0000000140029000  0001fc00  2**0
>>>                   CONTENTS, READONLY, DEBUGGING
>>>  13 .debug_line   00001a36  000000014002b000  000000014002b000  00021200  2**0
>>>                   CONTENTS, READONLY, DEBUGGING
>>>  14 .debug_frame  00000f40  000000014002d000  000000014002d000  00022e00  2**0
>>>                   CONTENTS, READONLY, DEBUGGING
>>>  15 .debug_str    000003a0  000000014002e000  000000014002e000  00023e00  2**0
>>>                   CONTENTS, READONLY, DEBUGGING
>>>  16 .debug_line_str 00000a76  000000014002f000  000000014002f000  00024200  2**0
>>>                   CONTENTS, READONLY, DEBUGGING
>>>  17 .debug_loclists 0000174a  0000000140030000  0000000140030000  00024e00  2**0
>>>                   CONTENTS, READONLY, DEBUGGING
>>>  18 .debug_rnglists 0000039c  0000000140032000  0000000140032000  00026600  2**0
>>>                   CONTENTS, READONLY, DEBUGGING
>>
>> That's derived from libfd's internal representation, which means nothing at
>> all to the loader processing the image. If your objdump is suitably enabled,
>> try using its -P option.
>>
>> Jan
> 
> You are right, I got
> 
> Section headers (at offset 0x00000188):
>  # Name     paddr    vaddr    size     scnptr   relptr   lnnoptr   nrel nlnno
>  1 .text    0000c7f8 00001000 0000c800 00000600 00000000 00000000     0     0
>             Flags: 60000060: EXECUTE,READ,CODE,INITIALIZED DATA
>  2 .data    00000250 0000e000 00000400 0000ce00 00000000 00000000     0     0
>             Flags: c0000040: READ,WRITE,INITIALIZED DATA
>  3 .rdata   00002c70 0000f000 00002e00 0000d200 00000000 00000000     0     0
>             Flags: 40000040: READ,INITIALIZED DATA
>  4 .pdata   00000654 00012000 00000800 00010000 00000000 00000000     0     0
>             Flags: 40000040: READ,INITIALIZED DATA
>  5 .xdata   00000630 00013000 00000800 00010800 00000000 00000000     0     0
>             Flags: 40000040: READ,INITIALIZED DATA
>  6 .bss     00001ec0 00014000 00000000 00000000 00000000 00000000     0     0
>             Flags: c0000080: READ,WRITE,UNINITIALIZED DATA
>  7 .idata   00000c88 00016000 00000e00 00011000 00000000 00000000     0     0
>             Flags: c0000040: READ,WRITE,INITIALIZED DATA
>  8 .CRT     00000060 00017000 00000200 00011e00 00000000 00000000     0     0
>             Flags: c0000040: READ,WRITE,INITIALIZED DATA
>  9 .tls     00000010 00018000 00000200 00012000 00000000 00000000     0     0
>             Flags: c0000040: READ,WRITE,INITIALIZED DATA
> 10 .reloc   0000009c 00019000 00000200 00012200 00000000 00000000     0     0
>             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> 11 /4       00000150 0001a000 00000200 00012400 00000000 00000000     0     0
>             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> 12 /19      0000d5e4 0001b000 0000d600 00012600 00000000 00000000     0     0
>             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> 13 /31      000014de 00029000 00001600 0001fc00 00000000 00000000     0     0
>             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> 14 /45      00001a36 0002b000 00001c00 00021200 00000000 00000000     0     0
>             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> 15 /57      00000f40 0002d000 00001000 00022e00 00000000 00000000     0     0
>             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> 16 /70      000003a0 0002e000 00000400 00023e00 00000000 00000000     0     0
>             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> 17 /81      00000a76 0002f000 00000c00 00024200 00000000 00000000     0     0
>             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> 18 /97      0000174a 00030000 00001800 00024e00 00000000 00000000     0     0
>             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> 19 /113     0000039c 00032000 00000400 00026600 00000000 00000000     0     0
>             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> 
> I suppose I will change to simply "Align some sections to 4KB"

"Some" is imo going to be too imprecise. Please qualify which sections you
intend to align. If new sections need adding in the future, this then can
guide people as to whether those may also need aligning.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 15:20:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 15:20:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335766.1597942 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXhCR-0002yb-Cn; Thu, 11 Jun 2026 15:20:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335766.1597942; Thu, 11 Jun 2026 15:20:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXhCR-0002yU-9j; Thu, 11 Jun 2026 15:20:07 +0000
Received: by outflank-mailman (input) for mailman id 1335766;
 Thu, 11 Jun 2026 15:20:06 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXhCQ-0002tv-Ha
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 15:20:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXhCP-006zB0-UX
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 17:20:05 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2ad221-bab6-0a2a0a5309dd-0a2a4509d4ba-24
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 17:20:05 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2ad225-2497-0a2a45090019-d1558033e123-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 17:20:05 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-490b211ee6aso62910045e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 08:20:05 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70d:3054:345c:e2ed:ca23:72c4?
 (p200300cab70d3054345ce2edca2372c4.dip0.t-ipconnect.de.
 [2003:ca:b70d:3054:345c:e2ed:ca23:72c4])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490e2c0d360sm84891655e9.0.2026.06.11.08.20.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781191205; x=1781796005; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=/T7wH6mUdWM65pZqVWCXuGqv60ER+I6nLJC5QoS87q8=;
        b=NGTPmaURVDtS7USEFsPZzksaj4WXuxnu2ZatXrVs56K5FCcTX5Nafb6uWanVAVrpzo
         W0fXOGMMHpTYBfhb2DBN/4KD4GcFQ/Qa0GHPkMnQr953QzRyh/PR2iQGkF1oRmTM1KZR
         vmbDYX9rOf4DydBMuPBZw4VZO1ToIqZ9mmD+vsV4GeN5dvhsquIAKo9noep1K9Zge+8n
         zUzktfuXProJEqn4HrT1qAjuJsmxYQhIE+952TDoRH4IDbl4B1edBih/pXeFxYqSIVnB
         Zr24dcUymc5Zxk0eDH9e/PA3SzO9oDSaz34OS80B3BGXjh1OqWfg5th3HPQwZzlbij73
         gy/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781191205; x=1781796005;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/T7wH6mUdWM65pZqVWCXuGqv60ER+I6nLJC5QoS87q8=;
        b=cr+7xXDgo4/xgClqYQbDSnmZz2vMyjluFwQm3rut8oxSmWX4w/FzGirRKR9GDpCbsf
         zqhAD1TBKbth4E9qcU3SVdtqkwIydOfbXsjYsSKXDG0rCYfGuc1hqL2qnGNykQrljNpO
         EApfWjqokB3Htn6UiAt4pgIbmF74S4r+FK1hBI8R6VIztrTOqSaW2iZLYjC9jkhhieKL
         Cn71GeKozByyp1Z68DMiMGdBkwwm2XC0j6FnViAnT9C3G2NPL+bMjzGkMWwLKpFiHnTw
         HD7M4PJOrMZPXFyfszm27uDValf7alIA4cHYLmWn4W3OgKx/R1PyeEGz+ySLr9k93p7y
         S/aQ==
X-Gm-Message-State: AOJu0Ywlwl6xqh8lKxmX2fAZ0lalhEYo/94Uv3JM8fy72Xz/aIhAeC2k
	6snB6VMo/d0AOjtJpUqyOvTGdDLzvKhBC63NYykp3Axz5GDWNLLYcgEVI8P1eJwooA==
X-Gm-Gg: Acq92OF78I9hDM+J/14/eBFebbAqedmZuOUzDVkV4d9zZk3yB9Me19zRzY46TGx2Z82
	+n/dX7oO82QwcCKaGB6Cni3Wt9iUxhrX+sN4hkPWGXql2Rgnt4GLE6avADc8UYJo/4mbxzz3qCF
	cLmgVYIvCdMdEoea+73THJW3OSJaStHzjapgjuYRgGWNWtEykaEhBghYVvEe3FThlCK1xTDofpz
	W7MHYA8UZa2QM/Cs6lSnonmNd/1j4ffhNT8NN5xTkAWEEq9wHVgPIuOQoio92jTR0LTBtE2sfl7
	B9YVLmnofgbWX0dt9SaXHpPkrCcSOuZ1xu3Au9XOgz1XPZMB5zXTYvyDxNq1Xk3JKogjHOp5R6g
	02widMphIAxPHBjBcML00ojijaHJvOUOp5JIKZQdBuLwDr0B9SEMJ+Sp7oY5SloKyiWmk3bIhki
	0RY3GinMs2vD1vThuo03O+QwMuIaTO7aTUicYPB9Sre0BZOvjsjixp4QtDwJTMSKw/1Nveo3ZSC
	JYvWlBdmd9BDAyx0O82w2bFttC1Igr0xYtRoFalFJvjM4x+iqgFlDfl77oy9hahkOOZoj0=
X-Received: by 2002:a05:600c:6286:b0:490:e974:e006 with SMTP id 5b1f17b1804b1-490e974e1d1mr8892865e9.29.1781191205244;
        Thu, 11 Jun 2026 08:20:05 -0700 (PDT)
Message-ID: <426c266c-a2f8-4895-b0e6-3205c1c188fa@suse.com>
Date: Thu, 11 Jun 2026 17:20:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 6/6] automation: enable Argo debugging in CI
To: dmukhin@ford.com, "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com,
 anthony.perard@vates.tech, julien@xen.org, michal.orzel@amd.com,
 roger.pau@citrix.com, sstabellini@kernel.org, christopher.w.clark@gmail.com
References: <20260526215823.1452619-1-dmukhin@ford.com>
 <20260526215823.1452619-7-dmukhin@ford.com>
 <e087af10-4fee-4fea-92fa-5a647524af80@apertussolutions.com>
 <aidqm4wKkSxNPr3O@kraken>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <aidqm4wKkSxNPr3O@kraken>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1781191205-41969A53-14DA52E3/0/0
X-purgate-type: clean
X-purgate-size: 1388

On 09.06.2026 03:21, dmukhin@ford.com wrote:
> On Mon, Jun 08, 2026 at 04:18:49PM -0400, Daniel P. Smith wrote:
>>
>>
>> On 5/26/26 5:58 PM, dmukhin@ford.com wrote:
>>> From: Denis Mukhin <dmukhin@ford.com>
>>>
>>> Enable extra Argo traces in CI to help analyze any potential Argo issues.
>>>
>>> Signed-off-by: Denis Mukhin <dmukhin@ford.com>
>>> ---
>>> Changes since v2:
>>> - new patch
>>> - example verbose log: https://gitlab.com/xen-project/people/dmukhin/xen/-/jobs/14552079442
>>> ---
>>>   automation/gitlab-ci/build.yaml | 1 +
>>>   1 file changed, 1 insertion(+)
>>>
>>> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
>>> index 7f5b5938e851..5f9192e53d63 100644
>>> --- a/automation/gitlab-ci/build.yaml
>>> +++ b/automation/gitlab-ci/build.yaml
>>> @@ -319,6 +319,7 @@ alpine-3.18-gcc-debug:
>>>         CONFIG_EXPERT=y
>>>         CONFIG_UNSUPPORTED=y
>>>         CONFIG_ARGO=y
>>> +      CONFIG_ARGO_DEBUG=y
>>>         CONFIG_UBSAN=y
>>>         CONFIG_UBSAN_FATAL=y
>>>         CONFIG_MICROCODE_SCAN_DEFAULT=y
>>
>> Why not just set up a job with the variable ARGO_DEBUG=1 and not have to
>> introduce the first and only Kconfig option turning on a debug logging flag?
> 
> My impression is that Kconfig is a preferred way for parametrizing the
> hypervisor build and upstream Xen CI jobs.

+1

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 15:26:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 15:26:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335774.1597952 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXhIR-0003dy-1C; Thu, 11 Jun 2026 15:26:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335774.1597952; Thu, 11 Jun 2026 15:26:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXhIQ-0003dr-UO; Thu, 11 Jun 2026 15:26:18 +0000
Received: by outflank-mailman (input) for mailman id 1335774;
 Thu, 11 Jun 2026 15:26:18 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXhIQ-0003dl-3j
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 15:26:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXhIP-006vMc-9R
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 17:26:17 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2ad38b-5cb7-0a2a0a5109dd-0a2a450a9baa-42
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 17:26:17 +0200
Received: from [209.85.221.43] (helo=mail-wr1-f43.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2ad399-56b3-0a2a450a0019-d155dd2bbd44-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 17:26:17 +0200
Received: by mail-wr1-f43.google.com with SMTP id
 ffacd0b85a97d-45fe59255beso4421721f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 08:26:17 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70d:3054:345c:e2ed:ca23:72c4?
 (p200300cab70d3054345ce2edca2372c4.dip0.t-ipconnect.de.
 [2003:ca:b70d:3054:345c:e2ed:ca23:72c4])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490e533848asm67339135e9.15.2026.06.11.08.26.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781191577; x=1781796377; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=GTrugLe6FvUIrFVflDGD/CoqeuPHvSFzIUGZgVRq/yY=;
        b=LphuEYKgcJvmDGB+WjyCBsSJyIvwTsarCi5Y8AXVQ6saZsfwzR09OhxDUgfaGOmDiq
         cmTsPT0BSLDLWTgh6jJ7u7sAtqUgOO0T7fImBBr1VHpYosSdJEx2UBMOlqNCKaK1EFSo
         MOdZ1/QNIS1IabMMckz52xD5c0Tftf4p5dlAFHtzNBbQlLe499kWzTMNxU9JQjPFN30T
         S2vNocSD8groB2FbdDFivxCc2/gR1FrC5nFdQqY3WffjpyOfD6U5UK9hxmCqZsTGuB8u
         qOSebTeaCE4GXqnpuLvTGEQX2Wkpqk1VhxzwEMoqlYyWWWSTkArXwmUBVOUb0RzfzHIq
         H6hA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781191577; x=1781796377;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GTrugLe6FvUIrFVflDGD/CoqeuPHvSFzIUGZgVRq/yY=;
        b=VNxIgjU6Wl03KSSEezMIh0CfqEAxUT+X59AogwvTy6Znjz80kWJpe0FvoDt8o5fMaa
         NnfOKvxMU3lNdY9XDPG5+C8/mnvQPOtRw466oj76trybFzEuNFPC7Mm/FYQvVR/Gl1qa
         xqi+CpYlFVVWgq6DWlCnQXcqgA2jIYFypenX+DFGzAPDYB0XxUpZDHbwpLk3rEg6O1Y8
         K+zm9OBB6W7+QIONbWcD92z/riRm7ybveN+SvETrjwB3BwQmiVLyyfRssRc0TZprNZPx
         qNCVVVDR4CwLoQzebY+lkw8aMl5YxGK/Jv9usLqc5/Y5EuUelFmcH/qtqdRnoUg9sEtY
         9Pwg==
X-Forwarded-Encrypted: i=1; AFNElJ8mTRLzPCvovASY3BFH5oQlMjViPVcWx5N76AFMgTISVwnV3qjX6HqNH0/FA6a7vLdpN+HR9jPbGI0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyF4Kgu1/3an85gjnYKtd/ktzi4sYTBGtJwrh3AVToPpKD3hd/i
	BL+tFc38KNV92SRG15QbsARtH0PhjTq9zzByGUHNz5Xjmp6gs5H6J6ha3a2VWbN3UktzBJdT3/O
	MJ9w=
X-Gm-Gg: Acq92OEtWYLZkGP5jz8PVpioq8JDMcdxvosSS5WzBr0KQt7FBokc/b8kxq5JFgl2+DH
	fIR+IZTJ2faVwD+nyaBQWUA4dKeIANVjaKOorS0o/ZwhoFunmDDgTBs/QpL4eh3z7LTj7LOisAK
	ej91mFgbgNiij+CVGjaylzgOjOcES5yO1kYeDubXS9pNrxtdvttO/poR8IblPhLR2DpY/uyLWny
	khgZIlCYcnCKZt08TdqZ+TQKuKIUIPioj49/UiCdvqVg/svvenxGPSy1jvEzEhIma3YDyBqNt5I
	M5P0WaE0teIlXrC+6BKg5h4Rn4teGY6lrKc6w9ujPR6tlUYc15YCwIiUUguYzeYO1JUFcVgMCfp
	OrMKAi4u/Ozpq+1h583wksMS+P9xoqKyqeczqPXDNbVSxEkraOpYiuz+xsHfaebRwRNMMpSm/z1
	tCcjiAOCubbaw5oIuKdyAhjxGv5awlg+EHb1iRacFGKAQjr25C7QmrsUuSky+8c+Cwed/shQxfz
	fVzfgGu16mQDCnWMpCMa1uoO9fMSrm1lyYhCFPCVSr9+NdtreKmuGAakh9AwHzy+QCWaszFiyNs
	eBJGGQ==
X-Received: by 2002:a05:600d:6451:20b0:490:d079:2919 with SMTP id 5b1f17b1804b1-490e55cdbf9mr35861215e9.14.1781191576463;
        Thu, 11 Jun 2026 08:26:16 -0700 (PDT)
Message-ID: <d5e26c5f-31cb-42e3-9a91-ee42674cf184@suse.com>
Date: Thu, 11 Jun 2026 17:26:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/6] argo: lower level of noisy connection-refused log
To: Daniel Smith <dpsmith@apertussolutions.com>
Cc: dmukhin <dmukhin@ford.com>, xen-devel <xen-devel@lists.xenproject.org>,
 "andrew.cooper3" <andrew.cooper3@citrix.com>,
 "anthony.perard" <anthony.perard@vates.tech>, julien <julien@xen.org>,
 "michal.orzel" <michal.orzel@amd.com>, "roger.pau" <roger.pau@citrix.com>,
 sstabellini <sstabellini@kernel.org>,
 "christopher.w.clark" <christopher.w.clark@gmail.com>,
 Mykola Kvach <mykola_kvach@epam.com>, Jason Andryuk <jason.andryuk@amd.com>
References: <20260526215823.1452619-1-dmukhin@ford.com>
 <20260526215823.1452619-2-dmukhin@ford.com>
 <ae19de19-aef5-47af-833d-87a46efb9afc@apertussolutions.com>
 <c51ecc59-7252-4d1f-a192-717ae55dacd5@amd.com>
 <19eac3f10c4.4656d1b3334797.1477306808945740845@apertussolutions.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <19eac3f10c4.4656d1b3334797.1477306808945740845@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-4011c0/1781191577-7C8788B7-B4CA10F9/0/0
X-purgate-type: clean
X-purgate-size: 2178

On 09.06.2026 13:57, Daniel Smith wrote:
> From: Jason Andryuk <jason.andryuk@amd.com>
> Date: Mon, 08 Jun 2026 19:16:01 -0400
>  > On 2026-06-08 15:54, Daniel P. Smith wrote: 
>  > > On 5/26/26 5:58 PM, dmukhin@ford.com wrote: 
>  > >> --- a/xen/common/argo.c 
>  > >> +++ b/xen/common/argo.c 
>  > >> @@ -2034,10 +2034,9 @@ sendv(struct domain *src_d, xen_argo_addr_t 
>  > >> *src_addr, 
>  > >>                                           src_id.domain_id); 
>  > >>       if ( !ring_info ) 
>  > >>       { 
>  > >> -        gprintk(XENLOG_ERR, 
>  > >> -                "argo: vm%u connection refused, src (vm%u:%x) dst 
>  > >> (vm%u:%x)\n", 
>  > >> -                current->domain->domain_id, src_id.domain_id, 
>  > >> src_id.aport, 
>  > >> -                dst_addr->domain_id, dst_addr->aport); 
>  > >> +        argo_dprintk("vm%u connection refused, src (vm%u:%x) dst 
>  > >> (vm%u:%x)\n", 
>  > >> +                     current->domain->domain_id, src_id.domain_id, 
>  > >> src_id.aport, 
>  > >> +                     dst_addr->domain_id, dst_addr->aport); 
>  > >>           ret = -ECONNREFUSED; 
>  > >>       } 
>  > > 
>  > > My apologies but this is not the wisest approach, hitting this is a real 
>  > > error and shouldn't be getting silenced. 
>  >  
>  > -ECONNREFUSED is still returned, and that is the important part, I think? 
>  >  
> 
> Absolutely not. Argo at its essence is a security protocol where you want to minimize the amount of implicit trust we have to have with the endpoint. Telling a bad actor he did a bad action tells you nothing. The send operation is the critical security path and you must have an auditable record that an endpoint misbehaved. If yo want to implicitly trust your end point after passing the accees check, then you can just use grants. 

Yet then - is potentially spamming the log an appropriate model? Furthermore
gprintk()-s are, by default, rate-limited in release builds, and hence there
isn't going to reliably be an "auditable record" anyway. If you want logging
for auditing purposes, I think you'll need to add separate logging (not to
the system console).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 15:33:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 15:33:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335799.1597997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXhPC-0006Qh-P1; Thu, 11 Jun 2026 15:33:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335799.1597997; Thu, 11 Jun 2026 15: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 1wXhPC-0006QQ-MP; Thu, 11 Jun 2026 15:33:18 +0000
Received: by outflank-mailman (input) for mailman id 1335799;
 Thu, 11 Jun 2026 15:33:17 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wXhPB-0005z1-2K
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 15:33:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXhPA-00GHRR-FM
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 17:33:16 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2ad531-2eae-0a2a0a5409dd-0a2a45049ba6-20
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 17:33:16 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2ad53c-1dec-0a2a45040019-d1558034b42a-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 17:33:16 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-4908b92904fso92302075e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 08:33:16 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f0a43e9sm80679900f8f.0.2026.06.11.08.33.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Jun 2026 08:33: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781191996; x=1781796796; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=33TPV9ua1J4veKgMgW4Ng7TdHJYDJOEyknwHEIMN6qs=;
        b=CmvnPSZJXxJ4+GxBIxW/MpyQgD2crML++DUAdp043y2HT4vFCVL/gzvHutDguyYQR0
         N0bb9G4mRGkETHn3aVkbfkAVlwG3McOCxMQzibiSXJNmgY+XaKJfASLFpwkIK6+Utpqp
         sTS6UwRZn/AeCBkxvBpkwqZuz0h3XexFmH81tZsFTEug6/fNEN01tyzWMYbvajsesNeN
         /LX/69yweUUUKlc11F1jTNeYupl3Q0teJ3qbdcU45NM5Ncpxb6CgqhiekTmUEipSpyZO
         T4gEumqtoEvJIf52AwfjLXPEiaUMtj5OWf+bf/cWemely2UwsAlEPh5YHWc7qGL4B8u6
         f7iQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781191996; x=1781796796;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=33TPV9ua1J4veKgMgW4Ng7TdHJYDJOEyknwHEIMN6qs=;
        b=brJj7f+ObHf6sM0nUtLaTa4RaxX+kci6TkQkl5g6zOlyqQ6B0M1iSsT5lRAcD081Hz
         fcEjeemFFtvOfu42bVkyxusCRxU351Rc3O9CX3H9fs/nvP9nonbAQ9mVbUSaBAWSZTj5
         8kv5HC+C2a72E24CR38diahC1Ob/7/f0jpYzJLwI4EkizMseCBAhOcZTXasvPSx6VTkx
         wIoCbfpAZEK7Q7/1FJeeZgBE+KfWFBljKFB1amN6/4dSEqncFZcAKLKP70gpMeeA9O2a
         hVE3mE8UIFeLdc34UZ/RNAxJAI6a+0XCiEya7JBb+0O1H+XRYJq7qr+apaSvAL+V7riF
         IfLQ==
X-Gm-Message-State: AOJu0Yz4BZXfS2VqEni5U+H86CRlUTysOuit+3XHm8xg0vY727Yaheg7
	xDI3UWLt2zz49fSzIgUfx3cdusc8pW3NmQ37TEjwgdrJl3laVZMN6Azmm0QaykdBFW0=
X-Gm-Gg: Acq92OFuMjwkj2WqZmCGyezzY95YXSrSg7FmmSd3iJAPY+oyT5k8ahLOnzUcpT+OHSC
	frzlPTfbwhu6XuQ11mce8Hcvouv3g6Ne049Fi1s7CLpx4l5OJJh59nsb/+Va+9pk6RspiumTP7u
	0r+0mR2rJbKFZN0tpj/S/XpVnBNSJc4pmi+WHiiN/CUIS8E/iSc8GheoxD/pf/XSJjsFmFkPjaB
	h9ONsvtrrD4mCsX98jyndsJXenS5o1Of1JA7M7ZiFxjKNx/rjHrxXXgEQdRQ1XMlxahNRHUgyyU
	YD6z287pmJLkQjod1hVC3sdsXK0ftpwCMfMlF1OFvm1uJ23zflGsz67iJFSVJPRX8r7hMvCtwAR
	vFOrV2ZKiNKYCq0sGzivStCn6ngJ4gjuWBg93Pr1a6XAVKr4iGZpvNCGulULCRdJ4eYt4EqrnL9
	ZZlrBk/AwI3IHapJsaELvnI4qnGFkvQMXXFUNCFOCvQPwDSPoHInT+npqGH5R9cLsTZDjwpEUZf
	7v0CIClJEzyk9OKE1Knxh8n/1t3i+VyfWss
X-Received: by 2002:a05:600c:34c7:b0:490:44eb:c1dd with SMTP id 5b1f17b1804b1-490e563bdd3mr44657285e9.29.1781191995724;
        Thu, 11 Jun 2026 08:33:15 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@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>,
	Teddy Astie <teddy.astie@vates.tech>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v2 4/4] x86: Split .init section to satisfy UEFI CA memory mitigation
Date: Thu, 11 Jun 2026 16:32:57 +0100
Message-ID: <20260611153257.650054-5-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260611153257.650054-1-frediano.ziglio@cloud.com>
References: <20260611153257.650054-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ebf023/1781191996-297793FF-1B629824/0/0
X-purgate-type: clean
X-purgate-size: 1707

Currently .init section is both writeable and executable, split data and code
to have 2 sections satisfying W^X rule.

It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
in the pagetables.

NX_COMPAT is a requirement from shim-review,
https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Change since v2:
- update comment style.
---
 xen/arch/x86/xen.lds.S | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index 749d9719cc..8fefda1816 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -193,11 +193,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.multiboot)
        *(.init.text)
@@ -210,12 +206,12 @@ 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) {
+#ifdef EFI
+  /* Align to satisfy UEFI CA memory mitigation. */
+  . = ALIGN(SECTION_ALIGN);
 #endif
+  DECL_SECTION(.init.data) {
        *(.init.bss.stack_aligned)
        *(.init.data.page_aligned)
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 11 15:33:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 15:33:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335798.1597985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXhPB-00062d-Im; Thu, 11 Jun 2026 15:33:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335798.1597985; Thu, 11 Jun 2026 15: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 1wXhPB-00062O-By; Thu, 11 Jun 2026 15:33:17 +0000
Received: by outflank-mailman (input) for mailman id 1335798;
 Thu, 11 Jun 2026 15:33:16 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wXhPA-0005i8-GT
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 15:33:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXhP9-00DLDY-MM
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 17:33:15 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2ad537-bab6-0a2a0a5309dd-0a2a45019f02-8
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 17:33:15 +0200
Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2ad53b-c1f2-0a2a45010019-d1558036a8e6-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 17:33:15 +0200
Received: by mail-wm1-f54.google.com with SMTP id
 5b1f17b1804b1-490b8ac62baso8779555e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 08:33:15 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f0a43e9sm80679900f8f.0.2026.06.11.08.33.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Jun 2026 08:33: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781191995; x=1781796795; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qoEJu6qfOh2UmjrdngE2nnp9Dsm0B7C3c1boM1iOShI=;
        b=Y7/9WQzbQb9g8jYU6YXpcFQiP81Or8j1ogibRmo34dtA1NEZnH2nWKqVX/x657N8VT
         wc49AajHtV7jr6Zdygc4SzH6KFjNWofnpUkgEpFzzf7dELJ3C3Ndi9zunLUBylcWXA41
         oVsRL4cwLuBDJ+YBbagtU2XwO1gZ7guNgW5TsVHGPoYFNVi12Tixy9qbyzmrSwyuEXv7
         yWm0naXiHhoMjN5AVYT7EUimIibd7V+jveEJaYjMqLkqUlQmrBv6ua5Yqgbn8IKoEgaU
         U3tEq3bc1DE2BhBc54H59M+ApWaRTSH0XsVqalUJl/bsqiv7pNxAtYf85pZMxlJPOtgi
         cNCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781191995; x=1781796795;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=qoEJu6qfOh2UmjrdngE2nnp9Dsm0B7C3c1boM1iOShI=;
        b=GPBtNUhvqoEcP6fSO8vOlb3l+7OO1DIYBLN1ELNQV54kwYzfwAF+WGvd01pklcmeNJ
         ellvC7rctquSIAG9mqVJyg+mvmCBnhpmjk4v5kP86WSTx4iCi3OXQz7YUagrMzisZ1A7
         ohtr1qEW2GpX+yD23ldA1E5w1qiH/quvNQkcXlLV9W0AqqONk3usROWVV8W4ZTPaufHt
         evZ1MLYWFaj22BvympB5Zsy9UxiXIM16aTr7RHmEYZNtF05c/NhHj8sABN4yJiL8/qUf
         TmWOGCyP5IfZ8HfsRQ9CgoXqLJuh8G6SC3RXxOwy+Lb/6ngDcp5itI0zahNe3RIJSmsF
         lR/g==
X-Gm-Message-State: AOJu0YzKx7fH5lgVblIHCmZHmKfAxuPokAwezEYwF+aKthR1rdzWAQ5k
	vAGtJwoWMT2+Bsx1yqUH2NCo4lU+d5Zfg8Dt86ZL1LWXFnUN4Ffghtps5jUW+D1hZK8=
X-Gm-Gg: Acq92OEOq3UfF7mxLaloJDJXX6hLpUvvqRWVEfj2FTklfP1SJ2Aycwmdw+Dd9XTSQV8
	o8OaXLfa6eAvDeQMAZSSUNdlbjHNV9XZ5ZmHr/vg8d4OedGtGeTn0XNl0q3AClwhTLQB/5coL/A
	wzmV9sH4u/SzZpKHW9vPnT6ydKm296Zo9lXJfYsfYKGwqlU9LMKIxVX0fmS+Hf0F776cKhzHyB5
	7JMk7EnNjZ8fc9K8cjMSOScW0u5I9yctmg5cYWfKtZI+tRn04eHA2R0NDOgHdHwq2QmQCcXIhEn
	KsiyQ+0FoZ9Wv/80I/o0iX8ouI5xq9fyPxmTqdym+VrFP3ECyQCwtvW3DmZUZyVTKxc3n31eeuc
	D4WmoffWUlvU1FEdHPcaZeedPvH+FjFRgN1ybOwFP1fKjAAuPZrcnkFBEBfwyAck6RKpvJQ7iQ+
	3Qq9kjNB7H5itDNMldz+725VqkFirpcjC+AALi/HvuSXW7/5KrPnrVVLZe9eoppIs3JN9sP7PcU
	Oqkwt6QWqrQImHyN5pWMYxm0Cu6U3Lvpwsq
X-Received: by 2002:a05:600c:c059:10b0:490:3d3d:805a with SMTP id 5b1f17b1804b1-490e5131ae7mr32259635e9.12.1781191994826;
        Thu, 11 Jun 2026 08:33:14 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <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>,
	Teddy Astie <teddy.astie@vates.tech>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v2 3/4] x86/efi: avoid a relocation in efi_arch_post_exit_boot()
Date: Thu, 11 Jun 2026 16:32:56 +0100
Message-ID: <20260611153257.650054-4-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260611153257.650054-1-frediano.ziglio@cloud.com>
References: <20260611153257.650054-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1781191995-AE342FF4-DF0BB432/0/0
X-purgate-type: clean
X-purgate-size: 1810

From: Roger Pau MonnÃ© <roger.pau@citrix.com>

Instead of using the absolute __start_xen address, calculate it as an
offset from the current instruction pointer.  The relocation would be
problematic if the generated PE binary had .init.text as a standalone
section with just read and execute permissions."

Removing this relocation is necessary to make it safe to split .init.

No functional change intended.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v2:
- Improve commit message.
---
 xen/arch/x86/efi/efi-boot.h | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index d738b839ee..b983f054b5 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -270,7 +270,9 @@ static void __init noreturn efi_arch_post_exit_boot(void)
 
                    /* Jump to higher mappings. */
                    "mov    stack_start(%%rip), %%rsp\n\t"
-                   "movabs $__start_xen, %[rip]\n\t"
+                   "lea    __start_xen(%%rip), %[rip]\n\t"
+                   "add    %[offset], %[rip]\n\t"
+
                    "push   %[cs]\n\t"
                    "push   %[rip]\n\t"
                    "lretq"
@@ -278,7 +280,8 @@ static void __init noreturn efi_arch_post_exit_boot(void)
                      [cr4] "+&r" (cr4)
                    : [cr3] "r" (idle_pg_table),
                      [cs] "i" (__HYPERVISOR_CS),
-                     [ds] "r" (__HYPERVISOR_DS)
+                     [ds] "r" (__HYPERVISOR_DS),
+                     [offset] "r" (__XEN_VIRT_START - xen_phys_start)
                    : "memory" );
     unreachable();
 }
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 11 15:33:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 15:33:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335795.1597965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXhP9-0005cX-TR; Thu, 11 Jun 2026 15:33:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335795.1597965; Thu, 11 Jun 2026 15:33: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 1wXhP9-0005c9-Pd; Thu, 11 Jun 2026 15:33:15 +0000
Received: by outflank-mailman (input) for mailman id 1335795;
 Thu, 11 Jun 2026 15:33:14 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wXhP8-0005ZP-F9
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 15:33:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXhP7-0033ey-S9
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 17:33:13 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2ad52c-5cb7-0a2a0a5109dd-0a2a450bc8cc-22
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 17:33:13 +0200
Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2ad539-212f-0a2a450b0019-d1558036c01f-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 17:33:13 +0200
Received: by mail-wm1-f54.google.com with SMTP id
 5b1f17b1804b1-490c1915793so59513575e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 08:33:13 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f0a43e9sm80679900f8f.0.2026.06.11.08.33.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Jun 2026 08:33: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781191993; x=1781796793; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QxbC6GNVg+EvojTPZihdUDF+yieh851t4HFnrJpjWBU=;
        b=N+2nC5Q5Aoekbl6HPlhd27GyGi00CeI1XAZpSY/5p1ItF9NVvfvGCUDEMBMgDo2S3E
         vXuI/z3Y/AIob1ui7lXp8hNK0bqM7VZ1KtQh4wFHbkNly6XsT393XdDlLCyAvdDHvdXa
         nnFEGDAbAjOGTV92M2bvex/L6qgRDhE6nzOF7BUE78ONwtDvUH8gWDTTFQihsSMV3n20
         s2KKW3Rp74S8jIrYwPOq1VklRE54Ubn4GKmDb4r/lAM1H9rwV8CTb6ltYbQeO65VUbnk
         wrZm32jerrjlU0tCAadeVx8Hbq0dufj4X3UM8ZyW/32STxzrL865wmv2B1B7uq/UhGme
         GQhg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781191993; x=1781796793;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=QxbC6GNVg+EvojTPZihdUDF+yieh851t4HFnrJpjWBU=;
        b=cbJaXUA2DWACyngQYcBwWNxcE2M/W7u6eiETNptw/PSLwdlYoQ5TOY+lZIDVlQrvt9
         OKY0e+AdDhItTcVP2q6u6qoXDLlZrRRraHRIj2kjanrzHxBVk+ex5z1tbBHymf/ucLvW
         YXNzc5K9tsj2DVqzb/UUeoORqqb2hoTXutwB9CsDkhSwj2qQJz37Sj+WWMKMRH9uYBra
         yoI1zgAnsIk6oWANEGH+8i6hEW6lcLGabskzKpDgYfNQfxHci8M2MLoQ+M1VZPVTbkiw
         rx4lzvPyPTZl5PDwRAu7/O6IvH77UUuSkoLU888cGS3IFS4z0s5xEOpoDkYeHN+Y8HsD
         9Xug==
X-Gm-Message-State: AOJu0YzaUh4pHe6qchvcaQixvJob/9vbN/bdjrM2YCi5IvIPaZpIdUu9
	fFTPHln8RkK1QaLmbN5gKGU9s25/Ld11T0ILt0LsJAv5Y/8yl17XnQ4lIi9D1wJX9Mg=
X-Gm-Gg: Acq92OHCixNf+qJIpLS9rnzk17HS+ZcNfrquImMplVazW05tJv8dWltGJDTW4AlgFjQ
	MqfQPfEcZ/I1h+GuRYsmsU0SGD7DWv/TeQwaA1lAFGl2M2inQUvcIkRarJ8iGonSmz7RusmEDHn
	spufA8RErDz4vqovfSEOy79HKj95okRRdKxDcMbyGe4bi7Cs4LH9dEqvIxUU4uw1k5uVsjyfM02
	kUOTYlVNNIi7xXWGdWsrI0o19FYQSyAssQumyCE0wR7Rr/cez32u2X+RfwI5wVk+NlgctlRi8OH
	hcLMsuBnLCX45dYVC7R+JZ/kojlJuxgU7kCUbYke9CrBLsvk6IYHuAZ8PT0hrjl0+n3QCm2e2vM
	VLyFsagq+92c1RUdU6eVPFQogvt1Lx1SMYv/LcOWV5nX/BcndI1fQBbN8slROemkBeW5RcT77BK
	/bBq3yakLwDMGGLFi52giFMXBCPUsXIkQ9S8FRQDrlK6zA6bnCWjAAZJ25/Zx0iQ3+Svzr0N8Qe
	MxoUZoA5w8w0EL8JXZCS8A9YAE4WK2RLEww
X-Received: by 2002:a05:600d:84ca:10b0:490:e1a6:4d13 with SMTP id 5b1f17b1804b1-490e55d842bmr31380305e9.15.1781191992979;
        Thu, 11 Jun 2026 08:33:12 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@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>,
	Teddy Astie <teddy.astie@vates.tech>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v2 1/4] Align some sections to 4KB
Date: Thu, 11 Jun 2026 16:32:54 +0100
Message-ID: <20260611153257.650054-2-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260611153257.650054-1-frediano.ziglio@cloud.com>
References: <20260611153257.650054-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1781191993-19165F3B-878AA1AA/0/0
X-purgate-type: clean
X-purgate-size: 1286

Required by UEFI CA memory mitigation.

It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
in the pagetables.

NX_COMPAT is a requirement from shim-review,
https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v2:
- Change subject.
---
 xen/arch/x86/xen.lds.S | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index b9e888e596..f758940674 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -162,8 +162,8 @@ SECTIONS
        __note_gnu_build_id_end = .;
   } PHDR(note) PHDR(text)
 #elif defined(BUILD_ID_EFI)
-  /* Workaround bug in binutils < 2.36 */
-  . = ALIGN(32);
+  /* Align to satisfy UEFI CA memory mitigation. */
+  . = ALIGN(PAGE_SIZE);
   DECL_SECTION(.buildid) {
        __note_gnu_build_id_start = .;
        *(.buildid)
@@ -330,6 +330,7 @@ SECTIONS
   __2M_rwdata_end = ALIGN(SECTION_ALIGN);
 
 #ifdef EFI
+  . = ALIGN(PAGE_SIZE);
   .reloc ALIGN(4) : {
     __base_relocs_start = .;
     *(.reloc)
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 11 15:33:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 15:33:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335794.1597961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXhP9-0005Zi-Ls; Thu, 11 Jun 2026 15:33:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335794.1597961; Thu, 11 Jun 2026 15:33: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 1wXhP9-0005Zb-Iw; Thu, 11 Jun 2026 15:33:15 +0000
Received: by outflank-mailman (input) for mailman id 1335794;
 Thu, 11 Jun 2026 15:33:13 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wXhP7-0005ZI-Nu
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 15:33:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXhP7-00GHKC-4O
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 17:33:13 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2ad531-2eae-0a2a0a5409dd-0a2a45049ba6-12
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 17:33:13 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2ad538-1dec-0a2a45040019-d1558033d5e1-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 17:33:13 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-490cf322ed0so39734365e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 08:33:13 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f0a43e9sm80679900f8f.0.2026.06.11.08.33.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Jun 2026 08:33: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781191992; x=1781796792; 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=p1MY5uIeAiVt4LwSILRP0ailGWznjvUKHiFsb0PtKoE=;
        b=ju3B9YPsSJqtloyJj8LljjssSaUTLwIn2zL9UXRk9LVIbedwRVHhtFt8YSMer4iil6
         DeN17M4PeKLYqFH6itae6Wv5aphhOVlUJffinSC8Xaa4AeSgEHtcOchu6+BSgRVnBzfu
         6GZkmyLmffCsbDMOBhoSFXVDUahk9khF76LUYA8/AfDNEhsY5rzz25z3AmQ82kni/LU3
         LkHfASHbCn/o+8HNZYm0ZRXQG2brHFOBmghdu8ra15ooVmlu9XAeMjdqc4KrSXZw9/EP
         eivrO48z5QD4PfCDHkcifJY43v3M0epU6nfAMYuCPJJBGOxl5oE8gBEEAooOm1fapj6Q
         tNRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781191992; x=1781796792;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=p1MY5uIeAiVt4LwSILRP0ailGWznjvUKHiFsb0PtKoE=;
        b=ZSm/WlVgcr7UvOl5hqbPt1ZrpTnFQ/K/L0q/3iqrIaPrc6pF3euVvSbPT41/Peicfw
         ckDyMRMAv32ptpVBVObI/kTZWekEKDWCAcjNuZgKqeXIZjzcxC6C1gNLf9NgkkKvhfmI
         3/3toBMyYKUxnAIWNlK9s8W3dzjDlkyyncriQ8TSlDw1i4H2IWufmYT3rB0+e9V5zacL
         vIWVjhx+vi39GUm0uIiM4IuH3tyg5uTccT9Yp/vsxyHLL62JAqvyfE6jg/8Z3gkFe/zA
         XRlLUZiFhuxo9fkgwwoA5LtpdSeMk2VI2oXhtLABSQRXrW8UEB4nsh49KYSSEM+cr5II
         3UyQ==
X-Gm-Message-State: AOJu0YzGwZAeSr4BG642UE18oh0vmQgv/pexFypUL1n4dol3bMpXdrMO
	OZ7Ht+Dm9AuscGBuL5vGddmnL4ZOHF5/DDmQKaGUOFBx/mKSixMFW5L9dT2fcIluCas=
X-Gm-Gg: Acq92OGuPA5vqiIQCALlxeSaUQrYfs87JVeibjwsYlKGfhsuWOGdx192Sii7OiZ/Sow
	4mPNpKzBb0mLnGmY9+2JjIWmMFiPBEEd+zx0dQsIiO0dgh9qyNOb6/6M7FvlUe80tn3KS9yZbEc
	dt1ov3aMFifHT6Y2CQVnpoKQpv36NGNOMZ+l5mG+LGtmaasV/8W17ZuGymF8w1HYqvSGanUr4o2
	2R68BxFLN7sDhTADkh/qOtBb254jMyBsAZMD/HV0hRYcbqDLT1CCJbFrn7tu8OMLCZDtzgnsMTv
	xyR2LJR0k5NxR8QezuNHcN6on8tcD2hD7VxdWbfii/bJk6OFjrI5FPbGEd5a+QZgGj9tXiaBD9E
	45kTGJX1X0C2xV1YONYX3uGaw8qRYlU2WkPANyrCl7Mr6lM7iXqVNWPv3P8w7y4fcP85eqnMeA1
	yibZK25MjZfpi1S7i+5phnC2+r31asZkYOzRNpldA4so24Um59VJT8ZMYO3n5UYftAPO4nlBeu1
	d4ODhi0cCrIAQ+xxIqaQ6lnz6m3b/6IF1Mw
X-Received: by 2002:a05:600c:4e08:b0:490:601f:d766 with SMTP id 5b1f17b1804b1-490e55b86a4mr45682325e9.1.1781191992110;
        Thu, 11 Jun 2026 08:33:12 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@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>,
	Teddy Astie <teddy.astie@vates.tech>,
	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>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v2 0/4] Various patches to improve Secure Boot support
Date: Thu, 11 Jun 2026 16:32:53 +0100
Message-ID: <20260611153257.650054-1-frediano.ziglio@cloud.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-purgate-ID: tlsNG-ebf023/1781191993-411763FF-B53D5CB2/0/0
X-purgate-type: clean
X-purgate-size: 1023

These patches improve support for Secure boot.
UEFI CA memory mitigation requires memory pages to be not executable and
writable at the same time. So changing permissions and splitting some section
is required.
Remove multiboot pieces from EFI executable.

Changes since v1:
- improved some comments;
- merged 2 pacthes removing multiboot support in x86 PE;
- removed a patch dealing with SBAT;
- other minor changes (see single patches).

Frediano Ziglio (2):
  Align some sections to 4KB
  x86: Split .init section to satisfy UEFI CA memory mitigation

Roger Pau MonnÃ© (2):
  x86/efi: discard multiboot support for PE binary
  x86/efi: avoid a relocation in efi_arch_post_exit_boot()

 docs/hypervisor-guide/x86/how-xen-boots.rst |  6 ------
 xen/arch/x86/boot/head.S                    |  3 ++-
 xen/arch/x86/efi/efi-boot.h                 |  7 +++++--
 xen/arch/x86/xen.lds.S                      | 22 +++++++++++----------
 4 files changed, 19 insertions(+), 19 deletions(-)

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 11 15:33:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 15:33:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335796.1597979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXhPB-0005ze-8y; Thu, 11 Jun 2026 15:33:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335796.1597979; Thu, 11 Jun 2026 15: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 1wXhPB-0005zU-35; Thu, 11 Jun 2026 15:33:17 +0000
Received: by outflank-mailman (input) for mailman id 1335796;
 Thu, 11 Jun 2026 15:33:15 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wXhP9-0005ZV-7h
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 15:33:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXhP8-0033fE-KS
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 17:33:14 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2ad52d-e002-0a2a0a5209dd-0a2a4507bebe-30
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 17:33:14 +0200
Received: from [209.85.221.42] (helo=mail-wr1-f42.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2ad53a-229c-0a2a45070019-d155dd2aa95c-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 17:33:14 +0200
Received: by mail-wr1-f42.google.com with SMTP id
 ffacd0b85a97d-45ee5cdbd28so714997f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 08:33:14 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f0a43e9sm80679900f8f.0.2026.06.11.08.33.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Jun 2026 08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781191994; x=1781796794; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sXGTQ7SY9zFCk1adwq1nZVphVofHiD/jgErtshVT0HE=;
        b=TjgqiEk1GcvWpRhq7wNZUMseW9OONgV1uCWQl9w+v0yXE67TspBN2sB85rB+GyZqnT
         hRCNpvuJItwFz2hx52j2dSpSHv3Wt2B/F26rbrW2FKKNzD77tmkPMm3PlmH5qEEZkVr3
         rwBIYAn5oZPLBAy8yUJtl5vWVkkfuSFzs8PVs+bvXVxtsG1/rOWWRo8Nsz372hTDhjA9
         Phk828kRdCbWUnf5XS4VgN3+F6zscu83pfaOiOXzzH/6u0fKsOSLiamVKz8LhauOV8tW
         rpLdJvDmdjWf4HePx3dP7LY1Z2tt8lzWT4OIyFo60vUDqFWlevQo8tMrzeAPdkdbWiYs
         uJ7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781191994; x=1781796794;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=sXGTQ7SY9zFCk1adwq1nZVphVofHiD/jgErtshVT0HE=;
        b=FuxVkiyh+s38bH/3PJD4tmnV7hJkjz1UPYjTxJPyiVDKvb/LZ6Wtbh8Ar6fRpxvGN9
         R1Or/LMP3TOGEUtvbPrVhec3wS/7rifvWICP01rb+ePhO/tcKTLB2oBAFSQWNCfPMTl8
         v74MTVNiIphjA2Y0YB4DwAvH66eKfrFHfDGHdaccO3okusUHuG/xIyrIqfH4X698FWdK
         IxACL1JDKRiq4rFLWanqL60RRkGyRtttOfdlU/XQZO36oIQIinAXNYf5mraISBts6glT
         djK9EkpbhMlgeoztCk1vgs2kr0IJlpR/LnSQlBP0F74NY0555BMw5IEMlWpVaSwr5iwo
         OSlg==
X-Gm-Message-State: AOJu0Yw41H9ihGa2EUB3MlirtOXbYNet+U178i/VcPsmSX9XS2dc9ctg
	Oly3j7IJ9ehuFjjWgsZQPpH7Vwx8cegf8dtGY0O9hjDWW0IWGuK6jQjgGSrBajbqmqc=
X-Gm-Gg: Acq92OEqfX5GrBcRq2X1KLpUD3M57gXkeTOrEDYBw/QRWTjP2N82+HlGoPmYFAnOMRR
	/ExcgAyJNajW3u8gW3ZZwIN3zX3sibMI9p7le2Qvn3Ibbg8uJNWwUxT3nNTPEOC68Ptjz+DxIgW
	dsr1QvXpiwV1DDS6v/ICqGOj2WBeqNk+/daqwK4cqyYfoKi1i8qObWMTIPHs75w4uLRh/2+B3X5
	UQ2NaNiLhjBeD8nr87/1pG4ePmN06SME5BUGlbS8tXV3FdsyScWmHj/JbcGUiyZ2eXifA0AqV0g
	t0f9sZRnzp0Wpo19AIA1GA8Y7WsQZHh2/YPPazTP3sxE8KGNjXnsDGPsLsBjri2iJ0SNjMrWSH2
	MtzN2DV6NDv4GXXJl8+B3/ZPnJcRl3/DmgSuTKv11dmseqqF4/NRpfcxcMf5cBB4VroYY8udM+u
	zofLUq28VqdETzKm3qyOJP69PkYy73cLkzZjAZ7n+n4M72dOuM5VgxIiaYJMU82Y8dUGIA49xgi
	tJ/yytfSqvGcntsvwiLZkp+9VrZXiq1vuFL
X-Received: by 2002:a05:6000:2085:b0:460:1c93:6eb6 with SMTP id ffacd0b85a97d-46067c21fa4mr4285861f8f.20.1781191993913;
        Thu, 11 Jun 2026 08:33:13 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v2 2/4] x86/efi: discard multiboot support for PE binary
Date: Thu, 11 Jun 2026 16:32:55 +0100
Message-ID: <20260611153257.650054-3-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260611153257.650054-1-frediano.ziglio@cloud.com>
References: <20260611153257.650054-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1781191994-22772C48-B9878073/0/0
X-purgate-type: clean
X-purgate-size: 3003

From: Roger Pau MonnÃ© <roger.pau@citrix.com>

The multiboot headers (.text.header section) are not consumed in the PE
binary, hence discard them in the linker script when doing a PE build.

The multiboot and PVH entry points are not used in the PE binary, hence
discard them in the linker script when doing a PE build.

That removes some relocations that otherwise appear due to the usage of the
start and __efi64_mb2_start symbols in the multiboot2 header.

Section discarding is not done updating DISCARD_SECTIONS definition as the
change is specific for x86.

No functional change intended.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v1:
- improve commit message;
- change section orders to avoid changing code order in final executable;
- merge 2 commits;
- removed deprecated documentation section.
---
 docs/hypervisor-guide/x86/how-xen-boots.rst | 6 ------
 xen/arch/x86/boot/head.S                    | 3 ++-
 xen/arch/x86/xen.lds.S                      | 5 +++++
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/docs/hypervisor-guide/x86/how-xen-boots.rst b/docs/hypervisor-guide/x86/how-xen-boots.rst
index 8b3229005c..b6d852050a 100644
--- a/docs/hypervisor-guide/x86/how-xen-boots.rst
+++ b/docs/hypervisor-guide/x86/how-xen-boots.rst
@@ -82,12 +82,6 @@ When a PEI-capable toolchain is found, the objects are linked together and a
 PE32+ binary is created.  It can be run directly from the EFI shell, and has
 ``efi_start`` as its entry symbol.
 
-.. note::
-
-   xen.efi does contain all MB1/MB2/PVH tags included in the rest of the
-   build.  However, entry via anything other than the EFI64 protocol is
-   unsupported, and won't work.
-
 
 Boot
 ----
diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 77bb7a9e21..90faf411b9 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -152,7 +152,7 @@ vga_text_buffer:
 efi_platform:
         .byte   0
 
-        .section .init.text, "ax", @progbits
+        .section .init.multiboot, "ax", @progbits
 
 early_error: /* Here to improve the disassembly. */
 
@@ -710,6 +710,7 @@ trampoline_setup:
         /* Jump into the relocated trampoline. */
         lret
 
+        .section .init.text, "ax", @progbits
 ENTRY(trampoline_start)
 #include "trampoline.S"
 ENTRY(trampoline_end)
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index f758940674..749d9719cc 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -57,6 +57,10 @@ SECTIONS
   __image_base__ = .;
 #else
   . = __image_base__;
+  /DISCARD/ : {
+    *(.text.header)
+    *(.init.multiboot)
+  }
 #endif
 
 #if 0
@@ -195,6 +199,7 @@ SECTIONS
   DECL_SECTION(.init.text) {
 #endif
        _sinittext = .;
+       *(.init.multiboot)
        *(.init.text)
        *(.text.startup)
        _einittext = .;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 11 16:02:55 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 16:02:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335862.1598006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXhrW-0004Rx-R6; Thu, 11 Jun 2026 16:02:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335862.1598006; Thu, 11 Jun 2026 16: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 1wXhrW-0004Rq-Nt; Thu, 11 Jun 2026 16:02:34 +0000
Received: by outflank-mailman (input) for mailman id 1335862;
 Thu, 11 Jun 2026 16:02:33 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <ross.lagerwall@citrix.com>) id 1wXhrV-0004Rk-9K
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:02:33 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXhrU-0076Nz-MI
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 18:02:32 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a2adc13-5cb7-0a2a0a5109dd-0a2a450bac92-12
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 18:02:32 +0200
Received: from [40.107.200.0]
 (helo=CH5PR02CU005.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a2adc17-212f-0a2a450b0019-286bc800077d-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 18:02:32 +0200
Received: from CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5)
 by DS7PR03MB8034.namprd03.prod.outlook.com (2603:10b6:8:250::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.13; Thu, 11 Jun
 2026 16:02:29 +0000
Received: from CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096]) by CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096%7]) with mapi id 15.21.0092.016; Thu, 11 Jun 2026
 16:02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=atbPVOY/mHFyzdqwNgEG3cgdCH8gKMMmIjd7rDZ++jZqCbw4zuXePqG5V5EUiQ0TXRNq4wkEszBzb9NqP/IKk9VSCurxMzfZ5gHlhnTfh5VrcQBIsBd8gFVhzXtrIeQhRH/P8lccNvuphuOZ0BUb5yFBZNEiUTgoZS4xC/s+Pkdh+WoJhaf2vJEzeAQclMF+pRKYbQoeK3acJXsqvoAcKaCiGYGGbsGYy0tinNjV9La9CI5fkexrgwf10iSczXHNJXi/H7OOIbpGwQd5gAQGV4WxODxJckxX+dfBVVLOgcTRXx1r3Ix8dsilpqLV4lhjc0MzeNfq08sTNmey+8WG0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HTZzeQW6Bg1X/5ulfZ1+fcS4tzPxkvTsofSYpu8tyDA=;
 b=FmaKcX/qxMvQegCNGcj/UeIzK7Rf3tyCUUmqDCCEo7U1+HpeU5HKmrRxTFzJ26eQGP8bDhOTp9a0wi+mgg8VoE4ccZw79O387CQlq4T/VkDams4C3Xqz9BSBJVWZk2nknQxuUR50/YNoVHdS3g5kIFU5CHDUQCYx3i9w2YtMqMBPmY6nbZSDkBpSgw96hO2Iya6Q/2WrCIHq9kEoRTJ72fAFPg3hT7bPy2BTA3yt+cb1921P+3cbJa5o72I8NOFtPxPZKMLdZWjvnkyi/QtgX4ql+Yth4AP/SgGsM05wIUy9oAI1QLCATifxmYugI3hJtZfh3TSxT+A3CUOlZyI8Tg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HTZzeQW6Bg1X/5ulfZ1+fcS4tzPxkvTsofSYpu8tyDA=;
 b=qFhBKSx0FmH0LMPauMssrsPuZOic386Iz+OqVKDhb5hx5sOnDC3tJhQVdC9V9P8XV7KTm7i0FegPE0YClmBfC6WOb6q7hBONx4aARf9UuYPtNDbnffouDG3DEkitkA6IaTamG3LgrkrvP6KR8cR/8hi+3zzs3KIvZARaBlEAieI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <552cac1b-2be9-481d-a687-01c965ade221@citrix.com>
Date: Thu, 11 Jun 2026 17:02:24 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 0/2] domctl: Avoid taking domctl lock for certain ops
 used during migration
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>,
 Teddy Astie <teddy.astie@vates.tech>,
 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>,
 xen-devel@lists.xenproject.org
References: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
 <3034d82a-f1ae-4c6c-a293-ca44b7e086fc@suse.com>
Content-Language: en-US
From: Ross Lagerwall <ross.lagerwall@citrix.com>
In-Reply-To: <3034d82a-f1ae-4c6c-a293-ca44b7e086fc@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0001.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:150::6) To CH8PR03MB8274.namprd03.prod.outlook.com
 (2603:10b6:610:2ba::5)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8274:EE_|DS7PR03MB8034:EE_
X-MS-Office365-Filtering-Correlation-Id: 893a66b7-9f70-409d-507c-08dec7d2d6ab
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|23010399003|376014|22082099003|6133799003|18002099003|11063799006|56012099006|4143699003;
X-Microsoft-Antispam-Message-Info:
	SjKLFPKM3W38kKjv6tjk+I7+mMEdCKmPi26xOlkjnATaikrVk6I5ve7B3VyHlqBzzQhGM5SQIZlgSXp5EW2fdSoYqcc+47CxpbeX/xnaeQRCpS2NHEVDn4GuQB35cfIq0lQnRgE1/rPJp3QairJ1kZ5XrXu7Wvw252bJTgRUqjVd/d4Fct3d9dNfxRw7S1iman25UDHwtkXCJJTfmtxmFGiH8GgyR7pXUK/Ib+vUxV+1U0Nr44hLK79g34dpUK0UTsi9VSW6yBl+o+4q37MAJIkhJwHL8mhCc39dq+t8u7pSi9Mep36uIbuIRcWSLv8fT+qhiEfwAnxbmJ3llk4httgV+xZbCQK6ZpfmPOXVugyD4NmhEbWfDI2UDkeKE2JLvPvzNW/kqx9dhnQK8FEOLJOOAv28XLVgC4Zzm/hm9ZCDo0xvtcLvAtEJ9a+RqRzLpCCiG5BOdE1Nz+71YJBXjjHf3rxLIP0o7y+w46QZd2gbUF+6vOgPeWT6P3wiGitnsxNvNRs23I/wVwZicWFL/Q+pYLAIUPS4rHUqZuycYB4Vgx0JehxOc0YvcV9dWf6A7q3vMBMzttA810gWYap1waH3/7rJFBUQUCpvr8QD3Id42Tcr5eAoquPH8EKq7UB5Mm+C57CiK1+ZPZZGRjq4ZOysf4x1gGXrEr8ePWYE6haNdyKWmIRI7LfSKZdYYSDi
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8274.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(22082099003)(6133799003)(18002099003)(11063799006)(56012099006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?anZzZk1GT3FrbFQ2SWRHOGFHZU1wVmRlMFNkdDh4ZEtsaE14SEh3Ui9NdDIz?=
 =?utf-8?B?N2tSSC9majRtbDUxQ3VURDkyMUVrMHRpYUdtYTU4RzZSZFBXQzdJWHJIZHJ6?=
 =?utf-8?B?RElFSGdzTVFrNlVGT0Z1QlJSQUR3enRBMzhOL2drKzV2d3FhckVWRFVVV1l0?=
 =?utf-8?B?aW5mOUhDdGNIQTh2Qnp0Um4rZ1JYQXAwRVQ2bDNTVUw4OUJWUk5pQ0kwQzVG?=
 =?utf-8?B?a3JpcDBxRHVZaG1WRTFTeXBUS1VsbFlqWm5vb3FmUnorc3YxaG1Sc0pIaHdJ?=
 =?utf-8?B?ckhUNW9BbkpJOTNzdTZ5WFNRdDRFZW5wOGVOUm1JQlpNc0VnVUwyZDR2WW5u?=
 =?utf-8?B?NXFLSE9qSlFaQXVwWmFiektqdnNvWEN1WThwb1NzUHpQM3B6WXp6VmFzRWtR?=
 =?utf-8?B?bXppQ1NpUEplbGpUenZnVkgzb3dCUUowaHVmejBPd0pJTzhWNnJNOXNYMjNS?=
 =?utf-8?B?RzJTS3ZhRzI1c3RVNk4zamw0VXdrZzl2WkVzK3FySTdxU2JJNzRrZ082ZThk?=
 =?utf-8?B?MzY0NC9GT3pKdUtBaHZiSnFtdGRCa2tHQlk0VVZOSG9pRlBtSHRBQURML2hp?=
 =?utf-8?B?a3h0eDF6ajBBbFNlbkwyK1ZpalRseHp4eXpHcnBPWXhCRGFSNHE2dHdNN09M?=
 =?utf-8?B?WDhIdEJpbnRaVGNFdXlBNHdqaytGY0Y0anlVYkRwNmVqb1llbkdGSjNDMytj?=
 =?utf-8?B?WForOHdhNUdPTTRuNDFaQ21MbkJwZ0ZTN25pYmM2S3FoZU9teGxKYm9Bamtl?=
 =?utf-8?B?MEVmZTNBcVI3dCtZVkRraCtkV2pOTmU3OXNxaEM3VVJxbWEvSXZMYkxreGM4?=
 =?utf-8?B?ejdXSmhaYkU5ajNNUjlIOXF6UmJ6RkY5OW96MTIvVHpOREoxM2Z3TG1hbTRB?=
 =?utf-8?B?RjQ4Y2NDYStQazlUbTBtQ3Q0bldtVTN0QzZubGFsK0k2V2NpaVdqS0hFUTNo?=
 =?utf-8?B?WmNzUW5BZGhhcllCVlplcWNjKzVVYXh6YWxTMFdHTzNiTXFnS2JTR2ZONzJ6?=
 =?utf-8?B?YjljTDQwU2NhdWpOMHpBNkprN3JKU2hRVnNtVkJaSkk3MXhuZ3ZacUxMS1pu?=
 =?utf-8?B?WXhxWXdjWUpxbnNSeTY2eWJZYkdqVXpVdHpJV21CUFNPV1ROQ2phR0YxaHFo?=
 =?utf-8?B?dGdCeEpna000SDF0WjRIV3l1ODBXbzBJenFrUWo1VlJpZ3Q4T0VXK25od21H?=
 =?utf-8?B?T1RwbjBYQ0d2TUtSMnI2Zmt1MmtKSmh2dEZlUDhZaGpqM2p3bVNEblgyOXpJ?=
 =?utf-8?B?dFFyNjFGT3VTUlRnaDZCckYxYm5ERExUakw4STFQN284cmV6NXZNK1pySmNu?=
 =?utf-8?B?cnh4YkdqWnJDYUZ2Q0gvM2FoMDlPempYSGlRUGw3LysyV0FSY2s1SC93MUFX?=
 =?utf-8?B?QUV1cG1aZUdtdEU0dUJ4eVhMdzI0ZEtrNUlhU2ZYaHdWVW1VYXhKN0lodDRH?=
 =?utf-8?B?SW9VZTBmN3hHVEpROXBudkhidmRtWSt2cWQ0OS9KYytnRGZ5TVppMG5ZcWIv?=
 =?utf-8?B?YjFlMDQvYVBTUkpOMmxhM0xhRGRnWHdxSStWemVMRFBzRjg0TWpadjJHRkFQ?=
 =?utf-8?B?cGdsOFQvWTBJZzN1Szh4cDFUcEs0Qm9CS2tGWmU5cGMzcFRTNCtMN3Y3U0hx?=
 =?utf-8?B?WlpuN2JBMmJKb0VzbWVjd2FnUHU5VEppYzQ5VmJUazY2bWFzVllpTWhmQXdy?=
 =?utf-8?B?b3BVcEViWEpFS244eHFvU0diNVg3N3c4aFpqek8zVWlpSVIrMDNLVWIzdjE0?=
 =?utf-8?B?RzFwVmpxQWw2K2VsQyt0azB0Nzc2ZnBZOHNuSzdnVU5LRTFoYVd3cGZpd05R?=
 =?utf-8?B?eVIwa3drQlBtaThLbDRua2xRd2l6eWhDWTJNRElTRk5rWlNyQ0FQTkNwU05a?=
 =?utf-8?B?SERoMDc1NnhOdGt1YythVFpDNS9PbzZ4a29KOWVheUdRdXR1b1hOVkowaGJM?=
 =?utf-8?B?TmxBQ01BU1FpSHVHWDlTL1VNczJZT1ZFcUZXK201Rnh3RlFmMC9aWnAyd3dF?=
 =?utf-8?B?ZFFEU292c2EzQVlUQno0TUNpK21icGVhcUdHdVdObTV6VUZhdDlyMHBNeDRD?=
 =?utf-8?B?clY2a0o1Tk9jU2tYYXdoVnhHWTl6Y2MxS0RNMzlFWGQ4SEtQRnZMaDA5RTNs?=
 =?utf-8?B?bmVVbUpJV1hxY1FaWGJ2K0VvcExuOGFqN3VUcnlqOHo2OGtma2s0SEEzSlRG?=
 =?utf-8?B?aDQ1alkxZGxMOVA3ejJvK3NLSWlhb1l4Nk5TZmMrTzVRVjB2UnAybWZCdEVF?=
 =?utf-8?B?UCs2bmQrRDNwQ05KNWIyUjQvbVBUQ1YzZlkwYnN5UnlvWDdJdjVwUGJYODBP?=
 =?utf-8?B?RDJ1R0F1MmNHOUxxMS9iclV3ZExObzV2bXpnV1gvZjQwK3AvYTNWZWIvRDdI?=
 =?utf-8?Q?ay2AXdZ6AEJgFsUY=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 893a66b7-9f70-409d-507c-08dec7d2d6ab
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8274.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jun 2026 16:02:29.3741
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TIxkbeWl2Y+ym1eWz9Qrp2kTe97fANqZGf2P5a6zVTWpu8Sgk7NX3wNqL+vTehV8Wers500o6czYXqy4uzOFnDMAPK+1P2CJ/y46JNVrCZs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB8034
X-purgate-ID: tlsNG-42698a/1781193752-18B60F3B-1A549A5F/0/0
X-purgate-type: clean
X-purgate-size: 1144

On 6/11/26 3:55 PM, Jan Beulich wrote:
> On 09.06.2026 17:15, Ross Lagerwall wrote:
>> When performing multiple migrations in parallel, the domctl lock may
>> become extremely contended:
>>
>> * Operations like "xl vcpu-list" were observed to take in excess of 20s
>>    to execute.
> 
> Does "xl vcpu-list" involve ...
> 
>> * The "clean" shadow op may pause the domain, restart with a
>>    continuation and then become blocked on the domctl lock, causing VM
>>    downtime in excess of 20 seconds.
>>
>> These issues can be fixed by not holding the domctl for the frequently
>> called operations during migration.
>>
>> Thanks
>>
>> Ross Lagerwall (2):
>>    domctl: Handle XEN_DOMCTL_getpageframeinfo3 without the domctl lock
> 
> ... XEN_DOMCTL_getpageframeinfo3?
> 

No, but "xl vcpu-list" takes the domctl lock and this contends with
XEN_DOMCTL_getpageframeinfo3 and XEN_DOMCTL_shadow_op taking the domctl lock
which are called frequently by the migration process(es).

Various other operations were slow due to the domctl lock contention but "xl
vcpu-list" was the most obviously visible example.

Ross


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 16:06:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 16:06:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335868.1598015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXhuz-00054c-CO; Thu, 11 Jun 2026 16:06:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335868.1598015; Thu, 11 Jun 2026 16:06: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 1wXhuz-00054V-9J; Thu, 11 Jun 2026 16:06:09 +0000
Received: by outflank-mailman (input) for mailman id 1335868;
 Thu, 11 Jun 2026 16:06:08 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXhuy-00054N-4J
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:06:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXhux-0038JU-H2
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 18:06:07 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2adcdc-5cb7-0a2a0a5109dd-0a2a45078e5a-48
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 18:06:07 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2adcef-229c-0a2a45070019-d1558032b12e-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 18:06:07 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-490b613a17bso79229615e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 09:06:07 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70d:3054:345c:e2ed:ca23:72c4?
 (p200300cab70d3054345ce2edca2372c4.dip0.t-ipconnect.de.
 [2003:ca:b70d:3054:345c:e2ed:ca23:72c4])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490e2c0d360sm88228195e9.0.2026.06.11.09.06.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 09:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781193967; x=1781798767; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=lr6cUvyDcugNQh1xznXABfZY74Bn2GQxNd0pbeVZbQ8=;
        b=B84YQA0LrU3ci0rzwqYbL4lLlGAi/09bivNSahvoRUPKvMoc7+HDVBOGhfh4TNqK2i
         ubcpfOQI626uZPy02ohvkenQiuqd18+UuCOmBiMz/FNwLY4KoQ+tzYNdi+O9sCght0BG
         uNN7LYptJoZCseLwKUGfZJIWWQRUcFJj87hIxNfkzGSSVmyCtN5xRJR8Ql0mzcWpUllw
         rb1gOyS+q47F45cndpXGaD2AV/Pc+Y3iUKVI6Z5/rg0+VpK5lD2c1LAt4MCQzK43s8aC
         xXKMtb6rFFMeacNXJAt9RbrRYESnofjYUm0Btwyo9Y+NqTuWbwK4nwCGzjeQ18zZ6kC7
         oEtA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781193967; x=1781798767;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lr6cUvyDcugNQh1xznXABfZY74Bn2GQxNd0pbeVZbQ8=;
        b=soTUySoPZwARFwjqrYxjCklYfhNyrRn7f0xLWkJChLkmTItACHNSDZNJYX3elqXNEC
         w5jyluLxzqidxGLFZfGtY4CjcEpLiyCt2VleMVp9vgLSImfJNQukkQJMiyWmmaT85nss
         B7KJgPwbCIIyA1FGlHVtJDGlDxiMhIMzNwQtQWwB9FRUxrtLA9p6KVVr42ePz1kWG82V
         pEXz+F6eUFkAX6Bd98NjgydCfMpMINLgLek5cPN6Ph1m5P0iaDyBauVTAvotoG7jXdxw
         MG6YptNE8k4dzizGTYiEjU8PZTs744z4rkS2fq/dgMbqgmMx5EFrQVE552UXmtiyx3TP
         H20Q==
X-Forwarded-Encrypted: i=1; AFNElJ9W0B+swBC/ZVeY1T9d1XQkc8tAbCIlnh+9RUxbPujrU5xYPrKwwbU2HfVVEijVHBim5qpBSGuhlK0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxKNTdO+hJcQTxf656+zwoQ9W1T3Tbs+TYmltcK/Au8ljkt5WDe
	+EZb4rvCJGlzV0qSHsphasFtnLVLv7L+ZDGIg/EIUJR36fMfuxVvOJ6hHVHZ5BFWqA==
X-Gm-Gg: Acq92OESepnCsTsW38/ezJudLEE7v4ODC2mJrgUf+GXHpgCCqxkr/ZTNbd6SBr3MCea
	D8M6aLRlZ708kl1u3mAH5hR7FCdavMJE9PLijJqUBL4D8DnvJIWcV/wbzk0E8mn3Lyj6kTKLgsI
	G6JwfWC1514ESXXUeHs79C1sb/fWO8nBoM60zf/PVL2MDFI9W83prkBEy4agpm38KU4wN5D6rar
	zni6CgGjwyUHJ933d3386telICIj93I/f3klJD31rqWTeqw4oc8R24o2tyiHG+K37ploUzniDzc
	hki/58yZQ8Wcn6rTyYujS+SlRrZVgUhRYgvqspJZn4IujTnYDs/aXnB3xC9MHJOtbWC/gcPU5qz
	i+eAHEhkkLOqJiFEWV3MYihNlB2MlZLONvdwUz35LxOrmFaAZPXxarylLI36A+mQLItA3MMHw+g
	I+6BOW0OpGwngnFvtvlDCTAs9H6niW7F3Zu81iHMj9sIr72zEHj6nx9OfxnDbNxFNXXEl5cHD8e
	Dbm517pl0cmG6wUyWy8hSx4IT4WPgEYNkBSNG2c4pLML29dG2jWJftKJIWzLCbQ8NvJRNY=
X-Received: by 2002:a05:600c:3b19:b0:48a:5565:ec3d with SMTP id 5b1f17b1804b1-490e5613937mr52771315e9.22.1781193966752;
        Thu, 11 Jun 2026 09:06:06 -0700 (PDT)
Message-ID: <a32680d6-e321-4c97-b53d-71d7041e1c0e@suse.com>
Date: Thu, 11 Jun 2026 18:06:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 0/2] domctl: Avoid taking domctl lock for certain ops
 used during migration
To: Ross Lagerwall <ross.lagerwall@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 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>,
 xen-devel@lists.xenproject.org
References: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
 <3034d82a-f1ae-4c6c-a293-ca44b7e086fc@suse.com>
 <552cac1b-2be9-481d-a687-01c965ade221@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: <552cac1b-2be9-481d-a687-01c965ade221@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1781193967-0A971C48-A29230E5/0/0
X-purgate-type: clean
X-purgate-size: 1426

On 11.06.2026 18:02, Ross Lagerwall wrote:
> On 6/11/26 3:55 PM, Jan Beulich wrote:
>> On 09.06.2026 17:15, Ross Lagerwall wrote:
>>> When performing multiple migrations in parallel, the domctl lock may
>>> become extremely contended:
>>>
>>> * Operations like "xl vcpu-list" were observed to take in excess of 20s
>>> Â Â  to execute.
>>
>> Does "xl vcpu-list" involve ...
>>
>>> * The "clean" shadow op may pause the domain, restart with a
>>> Â Â  continuation and then become blocked on the domctl lock, causing VM
>>> Â Â  downtime in excess of 20 seconds.
>>>
>>> These issues can be fixed by not holding the domctl for the frequently
>>> called operations during migration.
>>>
>>> Thanks
>>>
>>> Ross Lagerwall (2):
>>> Â Â  domctl: Handle XEN_DOMCTL_getpageframeinfo3 without the domctl lock
>>
>> ... XEN_DOMCTL_getpageframeinfo3?
>>
> 
> No, but "xl vcpu-list" takes the domctl lock

If this is still the case after XSA-492, then maybe the follow-ups I have
pending to post will eliminate (or at least reduce) this. I don't think
that's 4.22 material, though.

> and this contends with
> XEN_DOMCTL_getpageframeinfo3 and XEN_DOMCTL_shadow_op taking the domctl lock
> which are called frequently by the migration process(es).
> 
> Various other operations were slow due to the domctl lock contention but "xl
> vcpu-list" was the most obviously visible example.

I see.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 16:07:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 16:07:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335874.1598023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXhwA-0005Xo-L1; Thu, 11 Jun 2026 16:07:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335874.1598023; Thu, 11 Jun 2026 16: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 1wXhwA-0005Xh-IA; Thu, 11 Jun 2026 16:07:22 +0000
Received: by outflank-mailman (input) for mailman id 1335874;
 Thu, 11 Jun 2026 16:07:20 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXhw8-0005XZ-KF
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:07:20 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXhw7-00BIl0-U2
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 18:07:19 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2add33-2eae-0a2a0a5409dd-0a2a450198ca-8
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 18:07:19 +0200
Received: from [209.85.221.49] (helo=mail-wr1-f49.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2add37-c1f2-0a2a45010019-d155dd31c8ea-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 18:07:19 +0200
Received: by mail-wr1-f49.google.com with SMTP id
 ffacd0b85a97d-45f3cf907ceso4332606f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 09:07:19 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70d:3054:345c:e2ed:ca23:72c4?
 (p200300cab70d3054345ce2edca2372c4.dip0.t-ipconnect.de.
 [2003:ca:b70d:3054:345c:e2ed:ca23:72c4])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4601f360bd6sm89393001f8f.36.2026.06.11.09.07.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 09:07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781194039; x=1781798839; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=fJHr+noQUffWgdiWOWSpKnjCaCxzCs7rjTswS+tVvdE=;
        b=aoUA7DUupo9a4vJF7rHQ0hwEmV/D9Er4mU8pdxAfFPh91cuF9IObLyh48ybi5PawOD
         9ydLrohNGIUzg8YWOUgljIVknC3KqosEvw5/7uORuOFoQ+6c62SK71Kf9qsLcS3PeAwF
         qsNZ2R/pivRPGZRpVgJBGrgLz5/tSxJQSm7m3o28exsFyrJmXVuWccyydHr+VyCvt+mK
         UU74jaCat4P/RO9MriPjyf5RhOfttTud8F9JKigaFkNlzAoPEMyKqtBKYrbEcha2M45+
         65fADtuyLNlS3wo/wgF9v7Pz3KxI6zpwnpbMBu2DSQCaIiuyoTPm/pwRmuvCDiv0LJk0
         TXYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781194039; x=1781798839;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fJHr+noQUffWgdiWOWSpKnjCaCxzCs7rjTswS+tVvdE=;
        b=CFaYNTcPkWjhQtrzg9QcdInHjxiaEgvkNDh4pP9jbzQ7lUXB0IayOkp37+JtaTTO4J
         jyb50Ld8xT1Hc2rDtgQqIjU75VZmVvztdakTLmMgw+S13HdJfOSouBwcQnebd0cGxs8x
         1GqGwHuLzG7ZA1togwATxlmHTrrxdDvXGMYHDJMC1Lw35CiVqckuX55UCayxFlyl07I/
         005XnQwz3VI7q02a49+6/s1TF/AX9gvQvq8Rl6v3ZHaKNTazKnXdO1gw4P7pmJL1fwV2
         h3iy8sX3Hb9ilGFrcF5sixsXdZKhbP8DuPGv7X9wW8iaHr2VURkP/ut2BdOoOkionbiX
         lOAw==
X-Forwarded-Encrypted: i=1; AFNElJ+u5La8EvgixkJgkD5RLe65/MApzhvCkChKCwUEmb43+w/izvpPDnVpczR3arQvU1pcGDgJ9rtEBbU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxE3HRUolrvwD/0s/M0zkkBjrhHu3k3HsNq2c4HmgpWgWG0T3Km
	Gb6gf1fi8gswz2HLW9GEmMRZGOi7X8yBVWvkHzv+CgLC+Z69Ha1UF+ypb3gg8kQ6rA==
X-Gm-Gg: Acq92OG6TW3J7xHIjCgiOuj6HtOnR/ApVv+tn8sBBZBeoiLwj+fQafTKDGxJJK9uhCx
	4X+Z6jJpDb9Aou76J8Ba0UWhS685hT5nHcHlrkZS/FcS8VCEmNp23Bhjx5IbkkdE6VXQk3vKYzW
	ljeb8zAurU6xMEIenjCldgbAqE+AOGfxRNoGeJG0P71kePwksd2fZJGPRu7KujhQWkp0oDp5ZE7
	F8SQlHsREAmHoDU+7D7XIwL6CwcijdsJyw1xIeTOV6iCVpp9I7SsPCEWBLi9/4aBUL6MT7oxS3h
	74EsbxH8DKCJ/sltOnHcrATmmYBPa1qkZxievHH0LhbCHdPQNeDzAxxNwzZhu0ltpEmqL/1eGDT
	GKpJBxcGFNliz/WiOrnLPk4zgDvbbzyXEDEJkFtcO7auflQ89noybGgWQIUrAf9MybRp3ZvHJp8
	hQnJUN3icUD2n0MwFX9DEQZC7Dx+9c1xwloKZFkz5wqB7xao6ojCLikAyRldZ4G6sVKJOYKfZDj
	hUR3wScX3RnMY5oAVdtg5FMRM8fFbubROe4FdrBP2gt0dACZleQRmeX/L2gsZtJZtwf1cw=
X-Received: by 2002:adf:f48b:0:b0:45e:eec6:500c with SMTP id ffacd0b85a97d-460677e19a6mr4168123f8f.39.1781194039325;
        Thu, 11 Jun 2026 09:07:19 -0700 (PDT)
Message-ID: <9d59cf76-f0e0-4e6e-9413-6c7d70a4594b@suse.com>
Date: Thu, 11 Jun 2026 18:07:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/4] Align some sections to 4KB
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Frediano Ziglio <frediano.ziglio@citrix.com>, xen-devel@lists.xenproject.org
References: <20260611153257.650054-1-frediano.ziglio@cloud.com>
 <20260611153257.650054-2-frediano.ziglio@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: <20260611153257.650054-2-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1781194039-B6143FF4-3FEDA38E/0/0
X-purgate-type: clean
X-purgate-size: 626

On 11.06.2026 17:32, Frediano Ziglio wrote:
> Required by UEFI CA memory mitigation.
> 
> It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
> in the pagetables.
> 
> NX_COMPAT is a requirement from shim-review,
> https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility
> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> --
> Changes since v2:
> - Change subject.

Did you? The description also doesn't look to have had any detail added.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 16:08:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 16:08:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335877.1598033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXhww-0006J3-TB; Thu, 11 Jun 2026 16:08:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335877.1598033; Thu, 11 Jun 2026 16: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 1wXhww-0006Iw-Q1; Thu, 11 Jun 2026 16:08:10 +0000
Received: by outflank-mailman (input) for mailman id 1335877;
 Thu, 11 Jun 2026 16:08:10 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXhww-0006Io-B7
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 16:08:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXhwv-00BIu2-O5
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 18:08:09 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2add55-2eae-0a2a0a5409dd-0a2a450bb894-34
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 18:08:09 +0200
Received: from [209.85.221.52] (helo=mail-wr1-f52.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2add69-212f-0a2a450b0019-d155dd34f17a-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 18:08:09 +0200
Received: by mail-wr1-f52.google.com with SMTP id
 ffacd0b85a97d-45ef616daf6so7680087f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 09:08:09 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70d:3054:345c:e2ed:ca23:72c4?
 (p200300cab70d3054345ce2edca2372c4.dip0.t-ipconnect.de.
 [2003:ca:b70d:3054:345c:e2ed:ca23:72c4])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-46028a6dce6sm74615829f8f.30.2026.06.11.09.08.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781194089; x=1781798889; 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=RKPJofKUVZZ9y/6MKBRftcl3j0GOM42L7DbfM+Eplo4=;
        b=GW+jDGc3mY/ajDKwlLzgbWksarUKHkCMHAghA0Mju5xZqw5EvSV9DLxtr2fB1K369I
         o6Ww4iDABq8tchx1ZX8l598LnPfIHdkD8BspVwE2OZuldNWpnUuHEj9F5AxNFy0tDape
         F6LXN0bN+B9Ebwh4DQLzzsvDLYdBbszWgUiHUauGfiCxyPRPMOWavwevzFFsfgKswNpt
         2KXm5YuOCDb5Nj26hfTITubsmWt2q7R9HdjUyK3VCPhP8FPpL9B8CLpeBdfjCEMB0Mbt
         pZpt9kuXybRlOKYUgZ0HaSWCFOno9wpr5TeA95hPhBjyhPqMsov3ZSMW8H9Z6J9TdoKl
         ldXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781194089; x=1781798889;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=RKPJofKUVZZ9y/6MKBRftcl3j0GOM42L7DbfM+Eplo4=;
        b=FaD3wqRoeEnB79+jMJVx5RIkQBsFa6+3nli4mlmZxqVvvtDptEYcwtbETtwE+AUKhg
         IbAna4QMM6l/0AI2VisnEVc6gb9YkVEpGcy7huOc2b+CcZ/xXTxbE7GqZAWn6EWk3OUh
         ZJz0dMIXQpy0qkEMa/GTB0eclCrkznw6xYFxcqbX13+nxDCGDZMVvBunGTsf+CLyMxwK
         QppnYnQwbF4sJjAamOXnIrUUId2GDV5hQ6Lsljt7IitycffjMImflQwxbtL7dNy3dTvB
         B29DJnyh9UEd/qTZ2Gj9Kos2l6hV/x3R+k1ljCtpKE4HsJN0NPzQF3CjHfx+QbCS83GQ
         5AlQ==
X-Forwarded-Encrypted: i=1; AFNElJ/V6EGMlxlRsdi7VYETy2LpZ4EaYob5/9sZUa4DTDo9qR9D3obu10P1fwBgm53jctMDdjPWCks26Cw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzf5DObCCQukCFjICe+yl41kU4+D4IeZfwdZEQdMfUkvz0yyfkm
	mLDwOR82hYp4+VtD0X84pUSlGJIgdgv0ifwXexIjPdJCMcm0SyvdUpS47glH07O2eA==
X-Gm-Gg: Acq92OEnLd48Cx5nvoYsJw6kOB2znD3gQUcou7e5cAlstmleyVAbzUxAH6GsbTuV7/Z
	c7AvXb9l/FfikFsQ3kRQz+KZFZfzFM8XpdsGwPeQmByONE25gDrgN5GsAeJhdAsnguVjy1JAiiR
	9ScxZCb1j5jrXZ5WfxPOx2ckI8Zr5JKDrs/Fh5LZkuzvkWb32n5NsfXT4zfMSv59btxJseKRYD6
	CHD3WMGxoBFJq1Pl+2wAgqpfgik5vts5ji2q3w1mts9FVDfkRzhmKY+2PbB527XmXk+F3hLbmCk
	KG8zxfYKmkhPWIUxvlwP0UeUw38DkvH3cx5OgUgl27g9sFx1pLZ9epV7zzia1+E+/NOejcnAyaY
	lqVGKG1SrEWeCMb3GXszl0gMAJPPI4w32nvw4dAGEmmtKZCWq/XIolKW26tv3wy9aesi/+2gmOi
	ulT1Hr166UGE87HehVqkt+IZnEN15GggwBy/KTUC0lUYVpxBrkxckKahq+iR+6sqT6HULARp1K1
	SOpLKi11w8/FDzg/1ZxH9eeeGzzoEj/wqmNVH8F/7YKQ4TMQdzKHaKzEys3
X-Received: by 2002:a05:6000:41e3:b0:460:3234:293f with SMTP id ffacd0b85a97d-460677e92a0mr6004174f8f.42.1781194089048;
        Thu, 11 Jun 2026 09:08:09 -0700 (PDT)
Message-ID: <57b3b624-297b-4d31-9933-164cb46795eb@suse.com>
Date: Thu, 11 Jun 2026 18:08:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/4] Align some sections to 4KB
From: Jan Beulich <jbeulich@suse.com>
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Frediano Ziglio <frediano.ziglio@citrix.com>, xen-devel@lists.xenproject.org
References: <20260611153257.650054-1-frediano.ziglio@cloud.com>
 <20260611153257.650054-2-frediano.ziglio@cloud.com>
 <9d59cf76-f0e0-4e6e-9413-6c7d70a4594b@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: <9d59cf76-f0e0-4e6e-9413-6c7d70a4594b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1781194089-13374F3B-AAE57B92/0/0
X-purgate-type: clean
X-purgate-size: 762

On 11.06.2026 18:07, Jan Beulich wrote:
> On 11.06.2026 17:32, Frediano Ziglio wrote:
>> Required by UEFI CA memory mitigation.
>>
>> It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
>> in the pagetables.
>>
>> NX_COMPAT is a requirement from shim-review,
>> https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility
>>
>> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
>> --
>> Changes since v2:
>> - Change subject.
> 
> Did you? The description also doesn't look to have had any detail added.

Or wait - the subject tag also says v2. Did you (re-)post the wrong version?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 17:26:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 17:26:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335957.1598041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXjAb-0000HT-9A; Thu, 11 Jun 2026 17:26:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335957.1598041; Thu, 11 Jun 2026 17: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 1wXjAb-0000HM-6W; Thu, 11 Jun 2026 17:26:21 +0000
Received: by outflank-mailman (input) for mailman id 1335957;
 Thu, 11 Jun 2026 17:26:19 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wXjAZ-0000HG-Eh
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 17:26:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXjAY-00DSDh-4j
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 19:26:18 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a2aefa3-e002-0a2a0a5209dd-0a2a4502d1c8-38
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 19:26:17 +0200
Received: from [40.93.198.51]
 (helo=CY7PR03CU001.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a2aefb7-af86-0a2a45020019-285dc633c599-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 19:26:17 +0200
Received: from SJ0PR03CA0106.namprd03.prod.outlook.com (2603:10b6:a03:333::21)
 by MW4PR12MB5665.namprd12.prod.outlook.com (2603:10b6:303:187::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.9; Thu, 11 Jun 2026
 17:26:12 +0000
Received: from SJ1PEPF00002320.namprd03.prod.outlook.com
 (2603:10b6:a03:333:cafe::8) by SJ0PR03CA0106.outlook.office365.com
 (2603:10b6:a03:333::21) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.113.14 via Frontend Transport; Thu,
 11 Jun 2026 17:26:12 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ1PEPF00002320.mail.protection.outlook.com (10.167.242.86) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.113.7 via Frontend Transport; Thu, 11 Jun 2026 17:26:12 +0000
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Thu, 11 Jun
 2026 12:26:08 -0500
Received: from [172.22.220.35] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Thu, 11 Jun 2026 12:26: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ExtNQ8AU7l/lOwY5MtMquu7RK6X0c2+xvQETbMMDmr+IJPYl6+Dyun3WmeRpYla/7T1kLPT0ZZbILsJ936011j0lYOYbQ4bnRgm+e+QAIj9wAn/P/kW2aNkmS0VIG+rEfCjLRpg9OADqZ1JOcSj0wIajhKf1080h48PztKxmxKvpIOlpZu+70H+6Z/Tu3v2tX16IVsTrYa7AccGmdek9PY3Gn0SqGxGavQg04rngGyXwW1TYNeImAWkcYy0D6XV6F45vj5ZmthU6DFtD+FaQ/yvCDDTJpt8+HNrNeF+6oo/GEadJWy1/5SpRpH9x4ooY5f/nAVxtIraLtnTYjbfdkw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=u8o3963NWYw7wPzD0qV1mgDhdlJGqg9Gy/ZYe9bblvg=;
 b=bgQldTb0k7QX6mjad0kQDYLaoc4RL1q6mBue2M//XV4Uf6BvoJcmLkA5If4BKULJIbafaG6XcKo8biIj38PtTw62bxJnPDpUKRDDyLNyHckWoGZGrvsRvyDuIctGR59O6WD8MCH0FwGY4ITXxXKGmz5jMTBuHKnXVkig33IIRWg7CjxBlIO3kzecSh85v233xBEZw9+uQEsUGvbkc0SAlEtMMw87Xg8v1Gx7m5re7D8JaLTADZDaxkF0pF6RQGYFKkcnbX2dgdIZTIO1d/agTdadapmVWiHrqfiwtnfGYrQN1awuFgq8AlCYHlY4oIlhjosyzYJfTAIR93e3Jna3xQ==
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=u8o3963NWYw7wPzD0qV1mgDhdlJGqg9Gy/ZYe9bblvg=;
 b=jvjvxLjrnnR/ptvQxyjYyRBoSPaXUG4H6sFOYkz+VXoEdOhZWZMTiTqYUsYHH8s+ASyH3ZrUaM3P/BThlamRdKzPxC+93FeoOoCz14xprZC2Q753Ayj+VpTLbqprDOZk2HEPhwckguVDHHw8rpj1txaEMo0lxrqdepDJohqatBw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <4b92c85b-b40c-43d8-91c9-eeac64e597b1@amd.com>
Date: Thu, 11 Jun 2026 13:26:07 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v2] xen/x86: Change stub page allocation/free
To: Roger Pau Monne <roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, Teddy Astie
	<teddy.astie@vates.tech>
References: <20260611142154.64525-1-roger.pau@citrix.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20260611142154.64525-1-roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00002320:EE_|MW4PR12MB5665:EE_
X-MS-Office365-Filtering-Correlation-Id: 5f162a97-3727-49ea-4a25-08dec7de88b3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|23010399003|82310400026|36860700016|11063799006|18002099003|56012099006|22082099003;
X-Microsoft-Antispam-Message-Info:
	XNrqMj8c01UTimKGzioYJuHgWzKc0W5m1rwTBiVQt4RbPFCVPGRCuCb9tMazUmz7KGxX/VxQoSNxugwxiK/JoVdBJVmIaAwxmEtN2KAlG02M/SrPTa9GOUqfM9odp0C89yNmWOEUy6Cm+y02xgwLxYk6b6I4LiMLj0VmjPvVIB8CTu/bZcXPNQ5/anlMQiiZzL4GsELyW2TnY59i87N2g+KHknCASYA0yMTjhRW/an8xveAduHeyQLIF+2pWB4L57ip9BfuNySyOW8kpWcvV88Lr7+BDEyP8KiB1aJPcHzroKzPL4FnEbnEkWcjemVDR/G/ABIdrqXkBh8x19Ja1/NC5VVFBMn6LxYuzCAPDLnhEkFm9sVzOw4PmPtn7IpJstlYyT8eJC+wtkCopLhtlFT0R+MXdYnH6lvgW7zgdc1BR8V2F+TyaeM1IB4PJkNZ/l73001h8iauSQoOEM9nYMnUVrVSUW0t7qdvc9aDQqZqAtoQI0Q2XJmRhrwjl1g9s7kIFHfZ9IwMEkWXN+i+nxvtQzPH5w8YSupyOf6Fk6UR2LIzlKxlXEMtqI4lgWQ46l2WZlm5ARq2V4pAT0i+h/KCQ9Bxg1NYBZBWWgqw69Tdp5qhztoQPfm00QFI5Zdg3m4DWn20C7qSDv2F2ODhOHcA8OMXWnpW2pr2H22ZBcBQBAN/DZDIoQ+RJ+SDNTWREGUA2CPm+mYrOB5YQ3bDWCns1RTPR1/LLF7HQhh+zFxs=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(23010399003)(82310400026)(36860700016)(11063799006)(18002099003)(56012099006)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	zmGQ09V6iRpU5z6D0AiLzgfogwbx0GOoZSLtEa/4OFYFSXgvbZ2P/y61tG8xSWOKoEcZ//huJA0XSWsFjrzTlLndAZUaV4rOndaYH3LdQnB3RCjQfkdnYtffxHlT/pRLsk5XyQ7nqUIn6J60gMtFzeegIGOGDM0CNJyqjLerO5R06m/B96PnH5Y7cHqYj6cI/1MV4EeOXlQ02MW+ppkZ3zIA8izcsWJrH0dw5edATo4O48/bEVlGhGu7KBUE78OZO56MECV/kStvWDS/+EOD9Pmmij00yJGq435EiSsNCN8YKfnW3Yl2MJOhwjzWPn1BICNtfvSvCorj33BMZNyXZR8VDPe9Y1erIuvgoNzcaFoj9rHS7BYrhVHWBXspEo74l2+jdwKb7f4WwY//vUQpSGtXrtM+qusAEbzuCkH7QDd1IwiKVhh1/IDXN14Fl/Uo
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jun 2026 17:26:12.1951
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5f162a97-3727-49ea-4a25-08dec7de88b3
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00002320.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB5665
X-purgate-ID: tlsNG-720697/1781198777-AA374161-EA24B37D/0/0
X-purgate-type: clean
X-purgate-size: 2458

On 2026-06-11 10:21, Roger Pau Monne wrote:
> From: Jason Andryuk <jason.andryuk@amd.com>
> 
> Today the inline tracking of the stub page is problematic.  0xcc is used to
> indicate unused, but it is also a "clear value."  A !CONFIG_PV build with
> smt=0 will bring up CPU0, bring up CPU1, bring down CPU1, and free the
> in-use stub page.  CPU0 or subsequent onlined CPUs can write to the re-used
> page.
> 
> The new approach uses a global, CPU-indexed dynamically allocated array of
> stub addresses.  However, to handle NUMA aware allocations, we cannot
> allocate all the memory in advance because of the NUMA dependency.  Take
> advantage of the fact that Xen will attempt to contiguously pack CPUs on
> the same NUMA node (see normalise_cpu_order()), and on CPU bringup use the
> same stubs page the previous CPU did if suitable.  Note the code would
> still function properly even if CPUs from NUMA nodes are not contiguously
> packed, it just consumes more memory.
> 
> stub pages are no longer freed.  They remain referenced in the global
> CPU-indexed array and are re-used if the CPU is re-onlined.
> 
> The stubs array doesn't have an explicit lock.  During boot it's accessed
> single threaded.  During runtime, &cpu_add_remove_lock serializes access.
> 
> Fixes: 7a66ac8d1633 ("x86: move syscall trampolines off the stack")
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Thanks, Roger.


> -        nodeid_t node = cpu_to_node(cpu);
> -        unsigned int memflags = node != NUMA_NO_NODE ? MEMF_node(node) : 0;
> +        nodeid_t nid = cpu_to_node(cpu);

...

> +            struct page_info *pg = alloc_domheap_page(NULL, MEMF_node(nid));

I agree that MEMF_node(NUMA_NO_NODE) -> 0, so this is okay.  I looked 
around, and there is a mix of places that special case NUMA_NO_NODE or 
don't, which makes it a little confusing.

>   
> -        unmap_domain_page(memset(__map_domain_page(pg), 0xcc, PAGE_SIZE));
> +            if ( !pg )
> +                return false;

Newline here?

> +            unmap_domain_page(memset(__map_domain_page(pg), 0xcc, PAGE_SIZE));
> +            addr = page_to_maddr(pg);
> +        }
> +        stubs[cpu] = addr;

!CONFIG_PV && smt=0 boots (doesn't blow up).

Tested-by: Jason Andryuk <jason.andryuk@amd.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 17:43:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 17:43:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1335981.1598050 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXjRJ-0003FR-N0; Thu, 11 Jun 2026 17:43:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1335981.1598050; Thu, 11 Jun 2026 17: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 1wXjRJ-0003FK-KH; Thu, 11 Jun 2026 17:43:37 +0000
Received: by outflank-mailman (input) for mailman id 1335981;
 Thu, 11 Jun 2026 17:43:36 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dpsmith@apertussolutions.com>) id 1wXjRI-0003FE-09
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 17:43:36 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXjRH-007KOt-8R
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 19:43:35 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a2af3ab-bab6-0a2a0a5309dd-0a2a4506db06-28
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 19:43:34 +0200
Received: from [136.143.188.51] (helo=sender4-of-o51.zoho.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a2af3c4-7371-0a2a45060019-888fbc335298-3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 19:43:34 +0200
Received: by mx.zohomail.com with SMTPS id 1781199800923362.86722773555596;
 Thu, 11 Jun 2026 10:43: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=zoho header.d=apertussolutions.com header.i="dpsmith@apertussolutions.com" header.h="Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding"
ARC-Seal: i=1; a=rsa-sha256; t=1781199802; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=WRBvkp/DPqWN0FSSYBL9JVTErMUrsAgxMxalE//wzexb6axo0Zl3ISZABWzDbyPWcyL/bP5m1fzTl1Vfiwj7U73KI8xZp2xvWAgDJwM+P2YPfxqpBYrzMJJyrs/JPi81JYntB1jUpgJAM/uKnmPRUYJwjc2PxA+QMYXJq+tKWrY=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1781199802; 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=NTufMvdvnTyc8lYUTSyjtj8b9aJg0FrAAmDWS26I/u8=; 
	b=IrUKuNIyKA12tj6E/ZKdMMNZydFzaptHt4Mx0m0MJmzrxtkJPMfDhEV0NDOGHhGyfp3/QkqW+oNyBgSafkF1Qv6fr9w0Sjbusyd5AvqjAmSD8gF1kPHwD4aKGxoQSm6ZjJbuFuSFR33RD0+tl03biSNgN9q3MzCEzcoAqEDsk8o=
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=1781199802;
	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=NTufMvdvnTyc8lYUTSyjtj8b9aJg0FrAAmDWS26I/u8=;
	b=AVAdDa6q6ZGobiQ/v2cK6VbRvacShELIJUJrII972z/gZCSUK7yUzry4yPzVTCBA
	V0Lccp1mLvMEjarU0yfOBepkHK3kaTv+0N2p/nrhi9NhJ5MrBKZVlFKCXT576WLBQY0
	gMgnKCVn5XLHk8Ko0bFGOtw0picKk0eBfSKaWOBk=
Message-ID: <f7b16f43-f3c2-449e-8c09-b65e2cadca85@apertussolutions.com>
Date: Thu, 11 Jun 2026 13:43:19 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/6] argo: lower level of noisy connection-refused log
To: Jan Beulich <jbeulich@suse.com>
Cc: dmukhin <dmukhin@ford.com>, xen-devel <xen-devel@lists.xenproject.org>,
 "andrew.cooper3" <andrew.cooper3@citrix.com>,
 "anthony.perard" <anthony.perard@vates.tech>, julien <julien@xen.org>,
 "michal.orzel" <michal.orzel@amd.com>, "roger.pau" <roger.pau@citrix.com>,
 sstabellini <sstabellini@kernel.org>,
 "christopher.w.clark" <christopher.w.clark@gmail.com>,
 Mykola Kvach <mykola_kvach@epam.com>, Jason Andryuk <jason.andryuk@amd.com>
References: <20260526215823.1452619-1-dmukhin@ford.com>
 <20260526215823.1452619-2-dmukhin@ford.com>
 <ae19de19-aef5-47af-833d-87a46efb9afc@apertussolutions.com>
 <c51ecc59-7252-4d1f-a192-717ae55dacd5@amd.com>
 <19eac3f10c4.4656d1b3334797.1477306808945740845@apertussolutions.com>
 <d5e26c5f-31cb-42e3-9a91-ee42674cf184@suse.com>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <d5e26c5f-31cb-42e3-9a91-ee42674cf184@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External
X-purgate-ID: tlsNG-16d1c6/1781199814-8596CD75-BC2A68AB/0/0
X-purgate-type: clean
X-purgate-size: 4263

On 6/11/26 11:26 AM, Jan Beulich wrote:
> On 09.06.2026 13:57, Daniel Smith wrote:
>> From: Jason Andryuk <jason.andryuk@amd.com>
>> Date: Mon, 08 Jun 2026 19:16:01 -0400
>>   > On 2026-06-08 15:54, Daniel P. Smith wrote:
>>   > > On 5/26/26 5:58 PM, dmukhin@ford.com wrote:
>>   > >> --- a/xen/common/argo.c
>>   > >> +++ b/xen/common/argo.c
>>   > >> @@ -2034,10 +2034,9 @@ sendv(struct domain *src_d, xen_argo_addr_t
>>   > >> *src_addr,
>>   > >>                                           src_id.domain_id);
>>   > >>       if ( !ring_info )
>>   > >>       {
>>   > >> -        gprintk(XENLOG_ERR,
>>   > >> -                "argo: vm%u connection refused, src (vm%u:%x) dst
>>   > >> (vm%u:%x)\n",
>>   > >> -                current->domain->domain_id, src_id.domain_id,
>>   > >> src_id.aport,
>>   > >> -                dst_addr->domain_id, dst_addr->aport);
>>   > >> +        argo_dprintk("vm%u connection refused, src (vm%u:%x) dst
>>   > >> (vm%u:%x)\n",
>>   > >> +                     current->domain->domain_id, src_id.domain_id,
>>   > >> src_id.aport,
>>   > >> +                     dst_addr->domain_id, dst_addr->aport);
>>   > >>           ret = -ECONNREFUSED;
>>   > >>       }
>>   > >
>>   > > My apologies but this is not the wisest approach, hitting this is a real
>>   > > error and shouldn't be getting silenced.
>>   >
>>   > -ECONNREFUSED is still returned, and that is the important part, I think?
>>   >
>>
>> Absolutely not. Argo at its essence is a security protocol where you want to minimize the amount of implicit trust we have to have with the endpoint. Telling a bad actor he did a bad action tells you nothing. The send operation is the critical security path and you must have an auditable record that an endpoint misbehaved. If yo want to implicitly trust your end point after passing the accees check, then you can just use grants.
> 
> Yet then - is potentially spamming the log an appropriate model? Furthermore
> gprintk()-s are, by default, rate-limited in release builds, and hence there
> isn't going to reliably be an "auditable record" anyway. If you want logging
> for auditing purposes, I think you'll need to add separate logging (not to
> the system console).

I must strongly object to the characterization of this logging as 
"spamming the log." The mechanism is functioning exactly as designed.

Argo uses rate-limited logging to report attempts to write to a ring 
that does not exist. Argo also exposes explicit interfaces for a domain 
to determine whether a ring is available and whether access has been 
granted. When software attempts an operation without first verifying 
these preconditions through the provided mechanisms, the resulting log 
message is both expected and necessary. It is not the role of the 
logging interface to remain silent in the face of incorrect usage.

Blaming the interface for correctly surfacing misuse, rather than 
addressing the software that fails to use the capability properly, 
inverts the proper assignment of responsibility. Logging exists to make 
such problems visible; suppressing it does not solve the underlying 
issue.This is especially true in this case, where failed attempts to 
send to a ring is of security relevance.

Consider the direct parallel: a domain is started with the expectation 
that a peer domain will establish a grant mapping for predetermined 
grant reference, instead of coordinating through xenstore. If the first 
domain attempts the mapping without performing or waiting for the proper 
xenstore coordination, the system will correctly log the invalid grant 
reference[1]. The appropriate response in that case is to correct the 
lack of coordination in the domain's startup sequence, not to disable 
the log message that reveals the misuse. The same principle applies here.

Proposals to remove or disable this logging in response to observed 
misuse should be rejected on principle. The correct course of action is 
to ensure that calling code uses the established discovery and 
access-control interfaces before attempting operations on rings.

[1] 
https://elixir.bootlin.com/xen/v4.21.1/source/xen/common/grant_table.c#L1071

V/r,
Daniel P. Smith


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 22:24:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 22:24:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336192.1598062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXnoP-0007dO-7i; Thu, 11 Jun 2026 22:23:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336192.1598062; Thu, 11 Jun 2026 22: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 1wXnoP-0007dH-4r; Thu, 11 Jun 2026 22:23:45 +0000
Received: by outflank-mailman (input) for mailman id 1336192;
 Thu, 11 Jun 2026 22:23:43 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wXnoM-0007dA-Vq
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 22:23:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXnoM-007wP9-Ck
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 00:23:42 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2b3563-e002-0a2a0a5209dd-0a2a4508ab80-8
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 00:23:42 +0200
Received: from [74.125.224.42] (helo=mail-yx1-f42.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2b356d-63b5-0a2a45080019-4a7de02aac57-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 00:23:42 +0200
Received: by mail-yx1-f42.google.com with SMTP id
 956f58d0204a3-6603d8697d2so367762d50.0
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 15:23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1781216621; cv=none;
        d=google.com; s=arc-20240605;
        b=etDAsW0EzZHf9BpPGWrHwNDgInjl7pcqNXUU53DJWcwlyGpxuH9tWWv7p9P2O5dw+P
         w+CNWqozK5UWWwH8gC2XavETuxANr8gMrs2yM3/UUAJzlqyFsodJLSJ/3tBNHs2bNZtB
         a0wXOvcuKk6fHjOJv1Z2H0dAIxdAfm4AZODSOIMwReOV9oVbu1yEP09cmnzTLWZf8voq
         6e9ZzQi6aEQtrdo5529W+5F99ECq7KFk+sB9m12m5ecpDWgKqPYNijulK3DM1A6xGhXM
         qWxkrDukaNxlQd9i30L4XCKS74JRwdScJN6Ua5EGAWaoKw7fMItvMeNRuv9UuXkHKRwG
         R91Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature;
        bh=WfvkcO+uLXTqDgSjP+KHQU7Iz2CNjEWfT63b78r4sN0=;
        fh=oC/kQkef0Xp7NMn8QOiJRI7rTAf9vhety7/OfeS+l+4=;
        b=QeLJiWCRCItNanPifkLlngnjy5gNGcdoiAKAaMDwjb33UKpVcVso2a5iNjc4b4u79Z
         D4dhoTuXpMh+Lw7B9IIGbmNmq8vjF+zN9pdDfAWKwSr5miFBBJXt7jcR3Cx684BPftdU
         qGVMvM+JRZkMRi/QZuL9DOrioZkq/aGFWwqEVrY+cGDl/cjgHNCw7BwdfnxwhPn6CWgI
         I3xXJzhIHjV1v4UhCHXSdz2bjGFd8gbwHA9QAmyX9vGag8w0HzKYPUdmpcVRDxYdRZ2N
         zfhCGDDXgfP+pUEJgL1v4JSWLH6lasqHTzXr5KAy9IXHCjqOjTJXyYKeml9LSuv0UYfT
         tPsQ==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781216621; x=1781821421; 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=WfvkcO+uLXTqDgSjP+KHQU7Iz2CNjEWfT63b78r4sN0=;
        b=fdPVpPJxT2oLfj2WFen1ocLwhI+5xwORDWDGQ7wXGUCm2/EQwo8O/1P14u5UpmFEqN
         4jBc1PPO9hjVVnkJ18I5qnvH7pDhImTi3lrDifb5Ih/IfAqNwYawcze9E9ZbaQPbnQOk
         7YGAM+kgCqrDMNUAWIKZDlqRJ6XsPatt92KOwExN0/YJ7vYLH1daAHaSd6eEJp/rFxts
         wwDW65LhaYzhKTNFnLIlgPznNlWhmfamBj+wZcysNRPBUcwlbHnCQn+cxsTJ2Gf2AvfE
         8FP0Hk1CvrBwN1V3mDfkmwkKgfPsndiOpHR9TznhQ70J7jyJl63uzyAW11apa23rw2R8
         om9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781216621; x=1781821421;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WfvkcO+uLXTqDgSjP+KHQU7Iz2CNjEWfT63b78r4sN0=;
        b=F9B603IwSmRp/33nnvYEIio9q0mX+z4V4Mepw4GPH+OAwEQpZ0qKZfwGaY5i26zrgP
         /LwIl8Ji3H2i9HE3YNxp4WY7czZKJ40M/mKUU/3ZmGf7wkA+GMO3PYZGTuiaYa3gvZrB
         JzoQ4OOG5pjk7uMdhi+MP+nBkreU8Bk+VGc2MHRTOC13sDnHVy/uS4ko0vgT2TxUL/Zt
         jbMAwlvQRGYABynY9B/z6vwePwMwHvJHRirSqGoUhE8N/Yart3Qt7iTR35jqRW9/Lw8W
         r89Z2a0Jj4lZADlOADFWpw7ludhqPhV4/ngfsRO8r4OGtKvOFfOJZYz3IhMMwa2LnN2y
         kOwQ==
X-Forwarded-Encrypted: i=1; AFNElJ8CfnI2JpgGmsBY9n5vIQ6S2MdD2BYvXm3AXGnG1zDKCt0B5nME8A+u0Viu/YYwa8GrWTIIss1DSrc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy5mkibS6ChdStJpTKe1+YSpALV0LxwfvGRjFfAKNgSUZyyFFDi
	C+Sb39Ff6xy4/F5aZH8mJarEtfs9Q6351y0qIRWkHv3KiHZRwLEvaogQaswFVnZjuEqnXH1m9rh
	pZPlX/T3UM9JadYBvU5yU1MzL2H1aw/I=
X-Gm-Gg: Acq92OHgRxi5LcH6do3DiNLDw/OwFDKAtjTo3IPvXafubCMGtYE9rCzbS1WVmtYFcDg
	Hc0kHW2oAd9AqbDVzpm7yWOca+CztP+IZdcuuwB9d/LPtF2qG+2sgdZropCLQxB5xnNOJLs9fg0
	VgwXjXFA2Htva7p6Zm9xd+oWDQJd4YgLgqY7ZDzESbsQvR2/p/SfPAMB3qGDENvLkGzt/wkKoO/
	gtWWXBwk1xrWk7EO6lv+ZpWgqsL8iVITA70JbaEx8ElxtQlcnAAtmPIUchdOw8BgG0E7h3w2gwa
	H7AsxVN6cKaJGNeygXJtZI/YqTzjRRgvP8A88g==
X-Received: by 2002:a05:690e:169c:b0:660:a41d:d180 with SMTP id
 956f58d0204a3-66277f74193mr138196d50.21.1781216620728; Thu, 11 Jun 2026
 15:23:40 -0700 (PDT)
MIME-Version: 1.0
References: <20260611153257.650054-1-frediano.ziglio@cloud.com>
 <20260611153257.650054-2-frediano.ziglio@cloud.com> <9d59cf76-f0e0-4e6e-9413-6c7d70a4594b@suse.com>
 <57b3b624-297b-4d31-9933-164cb46795eb@suse.com>
In-Reply-To: <57b3b624-297b-4d31-9933-164cb46795eb@suse.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Thu, 11 Jun 2026 23:23:28 +0100
X-Gm-Features: AVVi8CfW1mlyM-eU4AZftZRHa8j1yS2bB8naSoc895rcOY9pr5g5Zb8xYtTEwlg
Message-ID: <CAHt6W4d47rCj_ome=SFXrL--5F16-Ly8XcBm=aut-QRAmz6hXg@mail.gmail.com>
Subject: Re: [PATCH v2 1/4] Align some sections to 4KB
To: Jan Beulich <jbeulich@suse.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Frediano Ziglio <frediano.ziglio@citrix.com>, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
X-purgate-ID: tlsNG-c1860d/1781216622-BE368DB1-F5E34224/0/0
X-purgate-type: clean
X-purgate-size: 993

On Thu, 11 Jun 2026 at 17:08, Jan Beulich <jbeulich@suse.com> wrote:
>
> On 11.06.2026 18:07, Jan Beulich wrote:
> > On 11.06.2026 17:32, Frediano Ziglio wrote:
> >> Required by UEFI CA memory mitigation.
> >>
> >> It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
> >> in the pagetables.
> >>
> >> NX_COMPAT is a requirement from shim-review,
> >> https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility
> >>
> >> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> >> --
> >> Changes since v2:
> >> - Change subject.
> >
> > Did you? The description also doesn't look to have had any detail added.
>
> Or wait - the subject tag also says v2. Did you (re-)post the wrong version?
>
> Jan

No, the series is v2, but in the comments should be "Changes since
v1:" (as the majority of emails are).

Frediano


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 22:24:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 22:24:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336194.1598072 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXnof-0007tQ-FJ; Thu, 11 Jun 2026 22:24:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336194.1598072; Thu, 11 Jun 2026 22:24:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXnof-0007tJ-CQ; Thu, 11 Jun 2026 22:24:01 +0000
Received: by outflank-mailman (input) for mailman id 1336194;
 Thu, 11 Jun 2026 22:24: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 1wXnoe-0007sz-Qf
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 22:24: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 1wXnob-004y0q-0T;
 Thu, 11 Jun 2026 22:23:56 +0000
Received: from [2a02:8012:3a1:0:51e8:2886:7874:ff19]
 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 1wXnoa-001tuw-0Y;
 Thu, 11 Jun 2026 22:23: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=JAjXi+ZrCjFY2J266ZrUbMCgFoT3yFFiliMAHJYti9g=; b=wcZQfg3idYWhUef05pC/KPEACE
	d7L+yncA3DIJaLCZpKvve7Vwb877FNEsM1G9YbFv190QJ3gx95kRf6NW6mQp+ABKmFQ3Ri/Ot6Wl1
	MkH65idCi5fT4cSpOh3KSFt+lBMnfmgiWDSViQTuiEnYkHzvvlPNV3Yv8AhB/yLfdAlc=;
Message-ID: <1fe76e3d-ad48-4b75-a690-accff86f0fd2@xen.org>
Date: Thu, 11 Jun 2026 23:23:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/sched: Link CPU topology to scheduler
Content-Language: en-GB
To: Hirokazu Takahashi <taka@valinux.co.jp>, xen-devel@lists.xenproject.org
Cc: Mykyta_Poturai@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>,
 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>,
 Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>
References: <20260610111320.133784-1-taka@valinux.co.jp>
 <20260610111320.133784-3-taka@valinux.co.jp>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20260610111320.133784-3-taka@valinux.co.jp>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 10/06/2026 12:13, Hirokazu Takahashi wrote:
> Make CPU topology information available to the Xen scheduler.
> Additionally, ensure that this topology information is displayed
> when executing the 'xl info -n' command.
> 
> Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
> ---
>   xen/arch/arm/include/asm/processor.h  |  4 ---
>   xen/arch/arm/smpboot.c                | 10 ++++--
>   xen/common/device-tree/cpu-topology.c | 51 +++++++++++++++++++++++++++
>   xen/common/sched/credit2.c            |  3 ++
>   xen/common/sysctl.c                   |  1 +
>   xen/include/xen/cpu-topology.h        | 10 ++++++
>   6 files changed, 72 insertions(+), 7 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/processor.h b/xen/arch/arm/include/asm/processor.h
> index a3753c317f..41fa73cfc4 100644
> --- a/xen/arch/arm/include/asm/processor.h
> +++ b/xen/arch/arm/include/asm/processor.h
> @@ -613,10 +613,6 @@ void show_stack(const struct cpu_user_regs *regs);
>   
>   #define cpu_relax() barrier() /* Could yield? */
>   
> -/* All a bit UP for the moment */
> -#define cpu_to_core(_cpu)   (0)
> -#define cpu_to_socket(_cpu) (0)
> -
>   struct vcpu;
>   void vcpu_regs_hyp_to_user(const struct vcpu *vcpu,
>                              struct vcpu_guest_core_regs *regs);
> diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
> index c071f1494f..b25d98c109 100644
> --- a/xen/arch/arm/smpboot.c
> +++ b/xen/arch/arm/smpboot.c
> @@ -91,13 +91,17 @@ static int setup_cpu_sibling_map(int cpu)
>            !zalloc_cpumask_var(&per_cpu(cpu_core_mask, cpu)) )
>           return -ENOMEM;
>   
> +#ifdef CONFIG_DT_CPU_TOPOLOGY

For Arm, we support both ACPI and Device-Tree in a single binary. That's 
fine if we don't support NUMA with ACPI for now, but we need to make 
sure this doesn't regress for now.

With that in mind, I was expecting some runtime checks based on whether 
ACPI or DT is used. Can you explain why this is not the case?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Jun 11 22:36:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 22:36:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336206.1598081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXo0F-0001cA-Fz; Thu, 11 Jun 2026 22:35:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336206.1598081; Thu, 11 Jun 2026 22:35: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 1wXo0F-0001c2-Bw; Thu, 11 Jun 2026 22:35:59 +0000
Received: by outflank-mailman (input) for mailman id 1336206;
 Thu, 11 Jun 2026 22:35:58 +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 1wXo0E-0001bw-8o
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 22:35:58 +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 1wXo0D-004yEE-27;
 Thu, 11 Jun 2026 22:35:57 +0000
Received: from [2a02:8012:3a1:0:51e8:2886:7874:ff19]
 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 1wXo0C-002F0p-2O;
 Thu, 11 Jun 2026 22:35: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=jKqZWKSWhuwFs1BvT3Cg1v2Y+Lus+9VNtqAZFBTDQQ4=; b=Salw7uwndukWdl8/cJG5ikLgUw
	C6REl2eEZ97TSgHh9bikFjquy9e1BdbnbQRVgNmu/yUfngFi9LifJSHjb7klQQxjFC2ao1mcYPDDm
	V9h08irCvmHEyymxPYlNZMjwbHIjqNnlHQV+d749uoHVDqXFv3KfzzuJxKHJxk86Y64M=;
Message-ID: <8d8b8bcc-7c59-4ea7-bafd-6469643f8aaa@xen.org>
Date: Thu, 11 Jun 2026 23:35:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
Content-Language: en-GB
To: Hirokazu Takahashi <taka@valinux.co.jp>, xen-devel@lists.xenproject.org
Cc: Mykyta_Poturai@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>,
 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: <20260610111320.133784-1-taka@valinux.co.jp>
 <20260610111320.133784-2-taka@valinux.co.jp>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20260610111320.133784-2-taka@valinux.co.jp>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 10/06/2026 12:13, Hirokazu Takahashi wrote:
> diff --git a/xen/common/device-tree/Makefile b/xen/common/device-tree/Makefile
> index 9036e455d6..38bc5d5306 100644
> --- a/xen/common/device-tree/Makefile
> +++ b/xen/common/device-tree/Makefile
> @@ -1,6 +1,7 @@
>   obj-y += bootfdt.init.o
>   obj-$(CONFIG_HAS_DEVICE_TREE_DISCOVERY) += bootinfo-fdt.init.o
>   obj-$(CONFIG_HAS_DEVICE_TREE_DISCOVERY) += bootinfo.init.o
> +obj-$(CONFIG_DT_CPU_TOPOLOGY) += cpu-topology.o
>   obj-y += device-tree.o
>   obj-$(CONFIG_DOMAIN_BUILD_HELPERS) += domain-build.init.o
>   obj-$(filter $(CONFIG_DOM0LESS_BOOT),$(CONFIG_HAS_DEVICE_TREE_DISCOVERY)) += dom0less-build.init.o
> diff --git a/xen/common/device-tree/cpu-topology.c b/xen/common/device-tree/cpu-topology.c
> new file mode 100644
> index 0000000000..bbdf0d1fe8
> --- /dev/null
> +++ b/xen/common/device-tree/cpu-topology.c
> @@ -0,0 +1,342 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * Derived from Linux kernel 7.0's $drivers/base/arch_topology.c
> + * Parse cpu topology information.
> + *
> + * Copyright (c) 2026 VA Linux Systems Japan K.K.
> + * Author: Hirokazu Takahashi <taka@valinux.co.jp>

We don't commonly have copyright header in the tree and instead use the 
commit message to keep track of Copyright. That said, if you want to 
keep it, I think you ought to keep the copyright from Linux because your 
code is based on it.

> + */
> +
> +#include <xen/cpu.h>
> +#include <xen/cpumask.h>
> +#include <xen/delay.h>
> +#include <xen/device_tree.h>
> +#include <xen/cpu-topology.h>
> +#include <xen/numa.h>
> +#include <xen/domain_page.h>
> +#include <xen/errno.h>
> +#include <xen/init.h>
> +
> +struct cpu_map {
> +    unsigned int thread_id;
> +    unsigned int core_id;
> +    unsigned int cluster_id;
> +    unsigned int package_id;
> +};
> +
> +struct cpu_topology *cpu_topology;

Looking at the use in the other patch, you seem to unconditionally use 
cpu_topology when CONFIG_DT_CPU_TOPOLOGY. However, you don't seem to 
fill it when the system is using ACPI.

So I think this either needs to be moved to common code and filled by 
ACPI or we need to make clear in the name that this is DT specific.

[...]

> +void __init dt_init_cpu_topology(void)
> +{
> +    unsigned int cpu;
> +    const unsigned int nr_cpus = cpumask_last(&cpu_possible_map) + 1U;
> +
> +    cpu_topology = xzalloc_array(struct cpu_topology, nr_cpus);
> +    if ( !cpu_topology )
> +        panic("Failed to allocate memory for cpu_topology array\n");
> +
> +    if (parse_dt_topology())

Style: AFAICT, this is following Xen style. So it wants to be:

if ( ... )

> +        fixup_topology();
> +
> +    for_each_possible_cpu( cpu )
> +        setup_siblings_masks(cpu);
> +}
> diff --git a/xen/include/xen/cpu-topology.h b/xen/include/xen/cpu-topology.h
> new file mode 100644
> index 0000000000..1c03f4deaa
> --- /dev/null
> +++ b/xen/include/xen/cpu-topology.h
> @@ -0,0 +1,38 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#ifndef XEN_CPU_TOPOLOGY_H
> +#define XEN_CPU_TOPOLOGY_H
> +
> +#include <xen/types.h>
> +#include <xen/device_tree.h>
> +
> +struct cpu_topology {
> +    cpumask_t thread_sibling;
> +    cpumask_t core_sibling;
> +    cpumask_t cluster_sibling;
> +};
> +
> +
> +#ifdef CONFIG_DT_CPU_TOPOLOGY
> +
> +extern struct cpu_topology *cpu_topology;
> +void map_cpuid_to_node(unsigned int cpuid, struct dt_device_node *cpu_node);
> +void dt_init_cpu_topology(void);
> +
> +#elif CONFIG_DEVICE_TREE_PARSE
> +
> +static inline void map_cpuid_to_node(unsigned int cpuid, struct dt_device_node *cpu_node) {}
> +static inline void dt_init_cpu_topology(void) {}
> +
> +#endif /* CONFIG_DEVICE_TREE_PARSE */
> +
> +#endif /* XEN_CPU_TOPOLOGY_H */
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Jun 11 22:38:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 22:38:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336211.1598090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXo2M-0002S6-Q6; Thu, 11 Jun 2026 22:38:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336211.1598090; Thu, 11 Jun 2026 22:38: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 1wXo2M-0002Rz-N6; Thu, 11 Jun 2026 22:38:10 +0000
Received: by outflank-mailman (input) for mailman id 1336211;
 Thu, 11 Jun 2026 22:38:09 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wXo2L-0002Rt-Cq
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 22:38:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXo2K-00E1wz-Q1
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 00:38:08 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2b3887-e002-0a2a0a5209dd-0a2a4504a486-30
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 00:38:08 +0200
Received: from [40.93.195.2]
 (helo=SN4PR2101CU001.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2b38cf-1dec-0a2a45040019-285dc3020419-4
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 00:38:08 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DS3PR03MB989171.namprd03.prod.outlook.com (2603:10b6:8:39c::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.13; Thu, 11 Jun
 2026 22:38:04 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0092.016; Thu, 11 Jun 2026
 22:38: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=quhVaDxMl7QiMkgL4RVHO4MHq31pI67vQwEXZyqTnIoe2tPrpCuWPUySP9Jx3PORxNd5VLScQO/u7JdIsZoFGhJAA/zje3E37l0hiYFNAdFwI9DjCQVPpnfHAuQ3aNIZe7C+VxvzQSfONFnefU8/USnNbqx7D1vyOcRNIo8x4MgUSIEIyZrdkQF9+XJHJE9JDU8+q7WodoBUX3UxwE9ADWys87n9tDl0GGv//mGjFeZ5BE23zwC88cssteaUu9StAQ3me3FqtD9etzGXMosMiIEM/FScLS6fX1euwqqkPXNKd+OCQUlLqokjpE+KQZwtKMTipqYW/o4Df/+dC5skQw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wdz2NGYsZ6C/lvn0NpaxmREq1wrhdoTHxpjx4YfsDko=;
 b=fxC5wCAAB/ngW5bQDoJDauogoV/k2kYxcaJSJR4WN6Zb5BLQmR8OGgG8bUVjQSishx0F9IcqoUyazGRNY+8dhvHld5mbwF77nYct7eNm7TkAB3TkKru1pXfeoV1KBp7MPntumD8GK/UNY3xwCitF+4RQeJcWYDhzWNEkW3ZFAuU5UKAFHZ3FIu/d1FNdd+gmYnBtm5LVozLNP+LV+jXdv9BL7Wtqk5XYgrN+BWjLt5ZRVzslwCNkBL/UHbONDC53KW/7uNWE1lDDMP2bBW/nrClz49zD7mzTyqrMRslkuc8WHi5S1BWcoXaYYLqLU0Sd18RfppOSExjDoraL6S/SZw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wdz2NGYsZ6C/lvn0NpaxmREq1wrhdoTHxpjx4YfsDko=;
 b=biMprlnjd5jTcFbcjHscT1+3UsgxjdngTjln4ofCjOsC5xsIy22BU8y2maSsalhHBNTZdbOVArwqPd3W52UUOGNAsjd6VlaBK5iHnFYCYcn8NF5OmfEZic1EJGEulU9VXgJqlt6/RrlJDAnl1TA+R0SQfjl8kg1i4R/u95R3zxM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <c0261259-c4b5-412a-a676-039c31c51db5@citrix.com>
Date: Thu, 11 Jun 2026 23:37:59 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Mykyta_Poturai@epam.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Teddy Astie <teddy.astie@vates.tech>,
 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>
Subject: Re: [PATCH 3/3] xen/sched: Make cpu_nr_siblings()
 architecture-specific
To: Hirokazu Takahashi <taka@valinux.co.jp>, xen-devel@lists.xenproject.org
References: <20260610111320.133784-1-taka@valinux.co.jp>
 <20260610111320.133784-4-taka@valinux.co.jp>
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: <20260610111320.133784-4-taka@valinux.co.jp>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0068.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:153::19) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DS3PR03MB989171:EE_
X-MS-Office365-Filtering-Correlation-Id: 26be0a3f-e940-4094-2651-08dec80a198a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|23010399003|366016|376014|7416014|18002099003|22082099003|4143699003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	0KeNryoC2gvw/Xsqt4Oobw/XpovQiqht8oT+KQjVq5N/XYLNbzlH4iQiCpUYqMFYJQ//ZMt6BzUUz+zjNhSQE8/RzheimK6GaJFeEgsnsl2J+AL56u1Od+lh/EDVn7IrP9mqyM/Ea0ndvsPcYHdEKl9q71D5aSKXGfltskZIcOJyLBZIdF21z+g20AXfS52tfOrmfkTYiye+FIp+VB0hzjEl/vSeRgyRLf/B5NOYN1jHRAVKiMXRvXMfn/v9+VQ4zrRyMboYA3uEB5Dttgjg2o3YZmsEBSW/WekomyWCef4Z2U5XaPNnxbIyBI0Ekmqke0Oeq+KN0bqgfC6NW6GdOBJ7O3xwFzmIPdhcZIjIadzBj414wNpHlik7ShIDqDuRFsVgg9HN2Ta2TYJ19f2UZabK69ZmWXG2q4YvviGc8iW0oIKLzXLsrgG2Fayvlz5nQySi9kdGClDSl3z58zVTeuPanN8kEM55cl/97RqK6/UnkG7bC7+JyeBy60zbDybVyi7Ve2PXH/GhBdO+06dUtq8IW0csrQsEZgG1RvUz9XMKLNq7T4ZM/r8FPpjOfBlsMxGm5yy0JNEM9XzSSoaJOvrs7U5mo+IVdYN9TFj9UdPrIIr/XK1nKue2tfzp+UeRQ1UM5KXQARUXkauDGCtt94JKRglPFTNmdjk9V3LoJfjzbeGQXfGEKCL3c++juOTl
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(366016)(376014)(7416014)(18002099003)(22082099003)(4143699003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R0NFTGVmSTNUalNUMjFYSk4xTVpwZ1FTaU01ZkpIZzhCTndwc1pTejMwWjRZ?=
 =?utf-8?B?UzlGSEFDVDBZeDlUVEFkbExyUVRpSlVRMnBnaE9IL1VzSWtPNUxOSUUzbEhh?=
 =?utf-8?B?dGV3TmJqMXBmRENFNHlTWktCOVJQVVNoeXI3cytydW42eWcxL1RpbVFsZklz?=
 =?utf-8?B?Y1lKcEFkYkR4cFdDSTdFQjJRWCtzc0NWczVLV0x6cExsZTFZK0pNSlRJcGNi?=
 =?utf-8?B?SGIwZ2gzV1VEektOa2NzUEN2cUdHYmhWZy8xdG93OFhVUEpxZldlb2tmRmxT?=
 =?utf-8?B?L0tMekd5UjZYMFVQVXpJc0NPUWJlWGtFejRBalRSb2pjWUJHaHlueWV3SWhw?=
 =?utf-8?B?WUlBSmdDMnRRaWNPVExtZjNEOEJXejNETGEwd0Z1RVJDUlFTczVLNHNJM3o2?=
 =?utf-8?B?YTdtOXJObXF5c0R6MitOTXc3eUJOT3BYYmEwZjFQVjlIdkc0VjcvUDA3VmNi?=
 =?utf-8?B?ZDRlZ2dqeUdNUlNBUHhXVDJXM1h2NlZwZFFLRVRqL1pad1Y4RnlUWXFoUUh3?=
 =?utf-8?B?VTlWalp0ZW9tcnVvZ1o4cnIwbWR3b1JyYk4yWFdwaFV2QjR2aTFEa2hsRmhS?=
 =?utf-8?B?L012TWtTQkJEZ0NXQnZaSVBjTlRNWDJzL0Q1MGh6S1paYXlsMkw0QlV5OUlF?=
 =?utf-8?B?eCsvTUlYU0lCRHpoTm1nZjMrOS9ZZlQ0dmZKM2VxV1VwUXhpR0hrTHFibmQw?=
 =?utf-8?B?Nzlwb0lvdWhIY2pVaThFL3MweEZqS3hOVUlCUldsaU5XUWhxOGlGTWcrbzNR?=
 =?utf-8?B?dGx0UDFXNFBxOXVHVDBweU12ZTJGZFo3VnQ2RnczQVFoUHNXRy8wSHA0Y2Np?=
 =?utf-8?B?d3FLcXl6czdYQWRxWnhXRmo3cGJWenVSa3B2cWR5ZWJMamF6U3U2Y1BJSlZD?=
 =?utf-8?B?WitXVFd2Qy8rMTdobEZTcVpQc0JDS1VRS0NTM1FWMEplM014OHFpaGFUQmJ6?=
 =?utf-8?B?L2RoU0tJR3J5djNvMm9IMVhlSDdCUHgxTzVwYW1YZzdBcldWbjZHNU1xZ3RQ?=
 =?utf-8?B?TEJFL0MxSjBiL1ZkSHZQNjdvVnIxNXMrYnNrQ0FvT3VGeXd0V0liNE4rdlF1?=
 =?utf-8?B?MEpyVThQNGozbGRZV08wamk2UHgwdTE5VmdGbmZVb21mQjJwVzNNZkZEWndC?=
 =?utf-8?B?TndTUXVpZ1NQWGxPZUYvblFTTmR4ckpvUkZtMDdLNXNlcWs5TUJROUVTVXlT?=
 =?utf-8?B?eFhqVVMvd1lLZFI0V2xkSGtWRDB4elMyd1dHTlhuVmlBaHBmWXRuY2NEQU5B?=
 =?utf-8?B?NXQzcHVMRGhiVXpFYURRL1RINmlLbTFxTi9JRDVvOE5WTVY4ZS9Yb3VUSHRn?=
 =?utf-8?B?VkF6d1QvOGdGMUcyczQvRnUxU1RIUmRkYWxucFVBTDFYaTJncUl2YzNCYzJL?=
 =?utf-8?B?U2ZYb2dCMWRHOW1qcVRoZzNOUERXTlNNV1o3NnBwSjB0NVZDS2YxVEJSKzBP?=
 =?utf-8?B?Ymk3dTZuRmhhd3BYMFhhREJkcDJvNFpjRmtRc0hTc3FWNHp2YkN2c1JpUjlK?=
 =?utf-8?B?RkdhZkR3REtZU2JvSFNmMThCUnVnRTJrM2RuTEtPVmw0RUFER1NRNU9QN1Vl?=
 =?utf-8?B?Z3NxMERiakxPZXYrU1NSSklaUlFqckp0VmdmQUZWM3NTcnljdkdaaG9GNUp6?=
 =?utf-8?B?T0ZFWkZsSWZ2cVlLNzBSQzZkeEQrRHFLSUw5ZmhPUG1rZlJWK3A0Zk1tKzdU?=
 =?utf-8?B?c1doclkrSHNQYWVHRHUvZElYNXM5QVNWa3FuTWMzazVUTjZnQzNCeHpPd2dU?=
 =?utf-8?B?c2FaRnB3UU5EK0IwTGRVMHZqc3hDZzRqOVEvRFNMMDdvU3hTeVJVb05PRW10?=
 =?utf-8?B?MXdJS0huRFJYM3o3aEtYMG9JV1hMUXpkckJwOVhPdzRqK2xwdjNvenhxVWIy?=
 =?utf-8?B?RDZXaXllZ1VhSEJJY2pGbFRXL0F2eXpSNnlSbzlhd2ZJT0RiMGtGbmd1N2hk?=
 =?utf-8?B?M1l2VktlRGhPMHlRSzZGMnR2UGRuTWMxU0lIVnpSSC9ES0tLTlJsYlI0V3dJ?=
 =?utf-8?B?RkRoVjlZcVFhelRWaXg0ZUV3RW85RzRiN1VTcDV2alhIME9zYnFrVHNUV3BE?=
 =?utf-8?B?MWI1WDJrK1JWbWFtbmZxdEhWaWRHQnRnOFZsSGprclErSjY2Rjc0SUNBUDFZ?=
 =?utf-8?B?UDZKdVVQQ2Z0Yk5jUVJpMEI0SXpSOXE2Y25TNVUvUVByMi8rVUJFQXFmUDg4?=
 =?utf-8?B?M2hrOFEyVVdTWm9OL1ZDSk5NWFJ0eHVqTTc2d0FWK0FYWkh5UWNEMkc0T3hV?=
 =?utf-8?B?K3BkMzBwWlBQZ0lUV01HSWRZQ1hYMUFIWThZdEh5S0lMandEN0RWc1dkSVVx?=
 =?utf-8?B?STI4N2dRbGc5ckJpYkt1QktNaHh4bkFZZXVZaW9sR3FNcWY1alF4bnc5VEVt?=
 =?utf-8?Q?H2IUpSKCfPAJthAw=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 26be0a3f-e940-4094-2651-08dec80a198a
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jun 2026 22:38:03.7712
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LFQITpJ03RmQ67ePXO2QlR0U1+ZWGePZ2Xi5i/vHnfiYhVqgwPHksATTzRfRJR2wn1P7NJRgcxO6z8IMq7S/tmMBXnIFa59VvfP3MvdevXc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS3PR03MB989171
X-purgate-ID: tlsNG-ebf023/1781217488-427613FF-F9E3DF82/0/0
X-purgate-type: clean
X-purgate-size: 622

On 10/06/2026 12:13 pm, Hirokazu Takahashi wrote:
> Make cpu_nr_siblings() an architecture-specific function.
> This patch provides the implementation for x86 and a common
> version for Device Tree-based architectures.
>
> Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>

You're effectively reverting 188d568db8c, but without fixing the
underlying bug.

It is undefined behaviour for Credit2 to use cpu_nr_siblings().Â  It
needs reworking to avoid this function entirely, after which
cpu_nr_siblings() wants to be deleted, rather than being reintroduced to
where it was previously removed.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Jun 11 23:31:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Jun 2026 23:31:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336254.1598099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXoro-0002oa-M6; Thu, 11 Jun 2026 23:31:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336254.1598099; Thu, 11 Jun 2026 23: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 1wXoro-0002oT-It; Thu, 11 Jun 2026 23:31:20 +0000
Received: by outflank-mailman (input) for mailman id 1336254;
 Thu, 11 Jun 2026 23:31:18 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eb906840c000701b@swg.vates.tech>)
 id 1wXorm-0002oN-0N
 for xen-devel@lists.xenproject.org; Thu, 11 Jun 2026 23:31:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXork-003qqR-UI
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 01:31:16 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eb906840c000701b@swg.vates.tech>)
 id 6a2b44df-bab6-0a2a0a5309dd-0a2a4508d570-30
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 01:31:16 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eb906840c000701b@swg.vates.tech>)
 id 6a2b4544-63b5-0a2a45080019-b9ff1c1295c1-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 01:31:16 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19eb906840c000701b.006 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 11 Jun 2026 23:31:12 +0000
Received: from [192.168.1.18] (88-188-240-210.subs.proxad.net [88.188.240.210])
 (Authenticated sender: teddy.astie)
 by mail2.vates.fr (Postfix) with ESMTPSA id B67A3861D9;
 Fri, 12 Jun 2026 01:31:11 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=5174LbockiKMQhbPclevjqaG6U0/r5hLgXa2SgNToko=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=iCTFns3zTYuy14R02fTP9KY9dbnrKoWm2KD8TZdlQx3hwl5pWEamKz/VnNohV/6WNyqDfSKM5
 qkei/fu6u14HlPiwjxRljeo5msOyZAkCeEiHebo5iEI4gkgL6A1kBf+j8uYtQxp3kk5SyRypM0h
 mjOBfiLCJm6Zy7YWIW2Wzk394mEBmS5XnNig5iM0IzW2V5FxIAahqJt085oeRvthf2GvcUze8zq
 gJhrF86W8jZD2q5I9EDwEfXmtUInxlYmY2IayQMHy/lLaQyf9HemwZja93wlrxcjz91WRoFyhyO
 GKeplW2TPDgp17HVqwZWUuhlzuhUA5Y2hM4Lf0AySGJA==
X-Zone-Loop: 2a39dd22df1076ec97fd95b1b7dddb35b8de9de7bfb7
x-campaign-type: default
x-transaction-id: e8bea119-38d7-4e91-8884-d2baa2d570d0
x-swg-uid: 01-e9fdf6e3-0605-4b34-bf38-95dd5f099de8
X-Mailer: Sweego
Message-ID:
 <1781220672.8631fc262581453bbf619ec5b2062170.19eb906840c000701b@vates.tech>
x-swg-bid: 1781220672.8631fc262581453bbf619ec5b2062170.19eb906840c000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 01:31:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/4] x86/efi: discard multiboot support for PE binary
To: Frediano Ziglio <freddy77@gmail.com>, xen-devel@lists.xenproject.org
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Frediano Ziglio <frediano.ziglio@citrix.com>
References: <20260611153257.650054-1-frediano.ziglio@cloud.com>
 <20260611153257.650054-3-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Teddy Astie <teddy.astie@vates.tech>
Autocrypt: addr=teddy.astie@vates.tech; keydata=
 xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7LTBVHV/XO
 Zw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJT4ny+OGntnJntUoR
 KRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJAWicutjkkUgd28Bh6HV9EIumH
 tCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaT
 VqMdqul07o72m3eA2mf+LMu9a04FX/d4wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/
 EoucejoZ5SH49ksmVAmKOLktOaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+S
 PhHar7TPKjFz0G3DPNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89
 MXfQXZ3qt1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
 LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWjmoACGwME
 CwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNzuyOVCskwfUZPla6Z
 pd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp0x0HfuhcYfAYPR46XHTvjaJE
 v99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuROxdK8G+YHccJY8PvWSq2K2yiae2KGiAv
 1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhP
 eP3IdpfWc8cyRLXF06Rk46YMYCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcT
 UwgnYlFRk2FLq0QeKEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9
 Egr/Wmu3MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
 f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEMAKiQiZa3
 yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ3DbVf+en3/FvdVZg
 2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTmetSG5/52AjtmPFtlXAk0NmLv
 fJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0s3109sJeXT5ImVdphFs9cvyZyBT9t1Pb
 Rowv58EgV0zE4hbAeVkULAbxFV5b/ExTjjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKb
 Yu6NCfiHfEyB3Xyg9hfdrRgjMRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ov
 XoK4jm+Py0FiUGUaA6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/
 eVtR2Q1wZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
 IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWjmoACGwwA
 CgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiVoUiHYN5QwhnbZnsa
 JDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764QxyX6rld2f2RcWkDuBHun55ZWXj
 by8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk/dS0XTOQi2wVUb17sW/+ybCEokdVacZG
 zOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fuoGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+
 lOWSvdNHgoEkWR0RXBPQjnGmLKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/Off
 O485NOTKwGOxyWb006cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR
 8ULR9nX0LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
 x9fhaZEsniw8/bYgC3igkk5YJiOa
In-Reply-To: <20260611153257.650054-3-frediano.ziglio@cloud.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------jDHGfCErTntTRWBLYB1CqgKm"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781220671917
X-purgate-ID: tlsNG-c1860d/1781220676-BD161DB1-327AA0C1/0/0
X-purgate-type: clean
X-purgate-size: 9978

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------jDHGfCErTntTRWBLYB1CqgKm
Content-Type: multipart/mixed; boundary="------------g0aGJ7s8Vvl3b9gZ8C0otnp9";
 protected-headers="v1"
From: Teddy Astie <teddy.astie@vates.tech>
To: Frediano Ziglio <freddy77@gmail.com>, xen-devel@lists.xenproject.org
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Frediano Ziglio <frediano.ziglio@citrix.com>
Message-ID: <89ac0da0-c1f4-4635-b50b-cbef8c3feb7a@vates.tech>
Subject: Re: [PATCH v2 2/4] x86/efi: discard multiboot support for PE binary
References: <20260611153257.650054-1-frediano.ziglio@cloud.com>
 <20260611153257.650054-3-frediano.ziglio@cloud.com>
In-Reply-To: <20260611153257.650054-3-frediano.ziglio@cloud.com>

--------------g0aGJ7s8Vvl3b9gZ8C0otnp9
Content-Type: multipart/mixed; boundary="------------1kVAH0WbrZgiV0npv6extKwE"

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

TGUgMTEvMDYvMjAyNiDDoCAxNzozMywgRnJlZGlhbm8gWmlnbGlvIGEgw6ljcml0wqA6DQo+
IEZyb206IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KPiANCj4g
VGhlIG11bHRpYm9vdCBoZWFkZXJzICgudGV4dC5oZWFkZXIgc2VjdGlvbikgYXJlIG5vdCBj
b25zdW1lZCBpbiB0aGUgUEUNCj4gYmluYXJ5LCBoZW5jZSBkaXNjYXJkIHRoZW0gaW4gdGhl
IGxpbmtlciBzY3JpcHQgd2hlbiBkb2luZyBhIFBFIGJ1aWxkLg0KPiANCj4gVGhlIG11bHRp
Ym9vdCBhbmQgUFZIIGVudHJ5IHBvaW50cyBhcmUgbm90IHVzZWQgaW4gdGhlIFBFIGJpbmFy
eSwgaGVuY2UNCj4gZGlzY2FyZCB0aGVtIGluIHRoZSBsaW5rZXIgc2NyaXB0IHdoZW4gZG9p
bmcgYSBQRSBidWlsZC4NCj4gDQoNCm5pdDogaXQgbG9va3MgbGlrZSBib3RoIHBhcmFncmFw
aCBzdGF0ZSB0aGUgc2FtZSB0aGluZw0KDQo+IFRoYXQgcmVtb3ZlcyBzb21lIHJlbG9jYXRp
b25zIHRoYXQgb3RoZXJ3aXNlIGFwcGVhciBkdWUgdG8gdGhlIHVzYWdlIG9mIHRoZQ0KPiBz
dGFydCBhbmQgX19lZmk2NF9tYjJfc3RhcnQgc3ltYm9scyBpbiB0aGUgbXVsdGlib290MiBo
ZWFkZXIuDQo+IA0KPiBTZWN0aW9uIGRpc2NhcmRpbmcgaXMgbm90IGRvbmUgdXBkYXRpbmcg
RElTQ0FSRF9TRUNUSU9OUyBkZWZpbml0aW9uIGFzIHRoZQ0KPiBjaGFuZ2UgaXMgc3BlY2lm
aWMgZm9yIHg4Ni4NCj4gDQo+IE5vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVkLg0KPiAN
Cg0KR2l2ZW4gdGhhdCB0aGlzIG5vdyBwcmV2ZW50cyBib290aW5nIHVzaW5nIG11bHRpYm9v
dDIgd2hlbiB1c2luZyB0aGUgUEUgDQpidWlsZCwgdGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hh
bmdlLCBldmVuIHRob3VnaCBpdCdzIHN0cm9uZ2x5IA0KZGlzY291cmFnZWQgKG5vdCBvZmZp
Y2lhbGx5IHN1cHBvcnRlZCkuDQoNCkkgd291bGQgYWRkIGEgY2hhbmdlbG9nIGVudHJ5IHRv
IGFjdHVhbGx5IHN0YXRlIHRoaXMgY2hhbmdlIChldmVudHVhbGx5IA0KcmVtaW5kaW5nIHRo
YXQgdGhpcyB3YXMgbm90IGFjdHVhbGx5IHN1cHBvcnRlZCBhbnl3YXkpLg0KDQo+IFNpZ25l
ZC1vZmYtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KPiBT
aWduZWQtb2ZmLWJ5OiBGcmVkaWFubyBaaWdsaW8gPGZyZWRpYW5vLnppZ2xpb0BjaXRyaXgu
Y29tPg0KPiAtLQ0KPiBDaGFuZ2VzIHNpbmNlIHYxOg0KPiAtIGltcHJvdmUgY29tbWl0IG1l
c3NhZ2U7DQo+IC0gY2hhbmdlIHNlY3Rpb24gb3JkZXJzIHRvIGF2b2lkIGNoYW5naW5nIGNv
ZGUgb3JkZXIgaW4gZmluYWwgZXhlY3V0YWJsZTsNCj4gLSBtZXJnZSAyIGNvbW1pdHM7DQo+
IC0gcmVtb3ZlZCBkZXByZWNhdGVkIGRvY3VtZW50YXRpb24gc2VjdGlvbi4NCj4gLS0tDQo+
ICAgZG9jcy9oeXBlcnZpc29yLWd1aWRlL3g4Ni9ob3cteGVuLWJvb3RzLnJzdCB8IDYgLS0t
LS0tDQo+ICAgeGVuL2FyY2gveDg2L2Jvb3QvaGVhZC5TICAgICAgICAgICAgICAgICAgICB8
IDMgKystDQo+ICAgeGVuL2FyY2gveDg2L3hlbi5sZHMuUyAgICAgICAgICAgICAgICAgICAg
ICB8IDUgKysrKysNCj4gICAzIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNyBk
ZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9kb2NzL2h5cGVydmlzb3ItZ3VpZGUv
eDg2L2hvdy14ZW4tYm9vdHMucnN0IGIvZG9jcy9oeXBlcnZpc29yLWd1aWRlL3g4Ni9ob3ct
eGVuLWJvb3RzLnJzdA0KPiBpbmRleCA4YjMyMjkwMDVjLi5iNmQ4NTIwNTBhIDEwMDY0NA0K
PiAtLS0gYS9kb2NzL2h5cGVydmlzb3ItZ3VpZGUveDg2L2hvdy14ZW4tYm9vdHMucnN0DQo+
ICsrKyBiL2RvY3MvaHlwZXJ2aXNvci1ndWlkZS94ODYvaG93LXhlbi1ib290cy5yc3QNCj4g
QEAgLTgyLDEyICs4Miw2IEBAIFdoZW4gYSBQRUktY2FwYWJsZSB0b29sY2hhaW4gaXMgZm91
bmQsIHRoZSBvYmplY3RzIGFyZSBsaW5rZWQgdG9nZXRoZXIgYW5kIGENCj4gICBQRTMyKyBi
aW5hcnkgaXMgY3JlYXRlZC4gIEl0IGNhbiBiZSBydW4gZGlyZWN0bHkgZnJvbSB0aGUgRUZJ
IHNoZWxsLCBhbmQgaGFzDQo+ICAgYGBlZmlfc3RhcnRgYCBhcyBpdHMgZW50cnkgc3ltYm9s
Lg0KPiAgIA0KPiAtLi4gbm90ZTo6DQo+IC0NCj4gLSAgIHhlbi5lZmkgZG9lcyBjb250YWlu
IGFsbCBNQjEvTUIyL1BWSCB0YWdzIGluY2x1ZGVkIGluIHRoZSByZXN0IG9mIHRoZQ0KPiAt
ICAgYnVpbGQuICBIb3dldmVyLCBlbnRyeSB2aWEgYW55dGhpbmcgb3RoZXIgdGhhbiB0aGUg
RUZJNjQgcHJvdG9jb2wgaXMNCj4gLSAgIHVuc3VwcG9ydGVkLCBhbmQgd29uJ3Qgd29yay4N
Cj4gLQ0KPiAgIA0KPiAgIEJvb3QNCj4gICAtLS0tDQo+IGRpZmYgLS1naXQgYS94ZW4vYXJj
aC94ODYvYm9vdC9oZWFkLlMgYi94ZW4vYXJjaC94ODYvYm9vdC9oZWFkLlMNCj4gaW5kZXgg
NzdiYjdhOWUyMS4uOTBmYWY0MTFiOSAxMDA2NDQNCj4gLS0tIGEveGVuL2FyY2gveDg2L2Jv
b3QvaGVhZC5TDQo+ICsrKyBiL3hlbi9hcmNoL3g4Ni9ib290L2hlYWQuUw0KPiBAQCAtMTUy
LDcgKzE1Miw3IEBAIHZnYV90ZXh0X2J1ZmZlcjoNCj4gICBlZmlfcGxhdGZvcm06DQo+ICAg
ICAgICAgICAuYnl0ZSAgIDANCj4gICANCj4gLSAgICAgICAgLnNlY3Rpb24gLmluaXQudGV4
dCwgImF4IiwgQHByb2diaXRzDQo+ICsgICAgICAgIC5zZWN0aW9uIC5pbml0Lm11bHRpYm9v
dCwgImF4IiwgQHByb2diaXRzDQo+ICAgDQo+ICAgZWFybHlfZXJyb3I6IC8qIEhlcmUgdG8g
aW1wcm92ZSB0aGUgZGlzYXNzZW1ibHkuICovDQo+ICAgDQo+IEBAIC03MTAsNiArNzEwLDcg
QEAgdHJhbXBvbGluZV9zZXR1cDoNCj4gICAgICAgICAgIC8qIEp1bXAgaW50byB0aGUgcmVs
b2NhdGVkIHRyYW1wb2xpbmUuICovDQo+ICAgICAgICAgICBscmV0DQo+ICAgDQo+ICsgICAg
ICAgIC5zZWN0aW9uIC5pbml0LnRleHQsICJheCIsIEBwcm9nYml0cw0KPiAgIEVOVFJZKHRy
YW1wb2xpbmVfc3RhcnQpDQo+ICAgI2luY2x1ZGUgInRyYW1wb2xpbmUuUyINCj4gICBFTlRS
WSh0cmFtcG9saW5lX2VuZCkNCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ZW4ubGRz
LlMgYi94ZW4vYXJjaC94ODYveGVuLmxkcy5TDQo+IGluZGV4IGY3NTg5NDA2NzQuLjc0OWQ5
NzE5Y2MgMTAwNjQ0DQo+IC0tLSBhL3hlbi9hcmNoL3g4Ni94ZW4ubGRzLlMNCj4gKysrIGIv
eGVuL2FyY2gveDg2L3hlbi5sZHMuUw0KPiBAQCAtNTcsNiArNTcsMTAgQEAgU0VDVElPTlMN
Cj4gICAgIF9faW1hZ2VfYmFzZV9fID0gLjsNCj4gICAjZWxzZQ0KPiAgICAgLiA9IF9faW1h
Z2VfYmFzZV9fOw0KPiArICAvRElTQ0FSRC8gOiB7DQo+ICsgICAgKigudGV4dC5oZWFkZXIp
DQo+ICsgICAgKiguaW5pdC5tdWx0aWJvb3QpDQo+ICsgIH0NCj4gICAjZW5kaWYNCj4gICAN
Cj4gICAjaWYgMA0KPiBAQCAtMTk1LDYgKzE5OSw3IEBAIFNFQ1RJT05TDQo+ICAgICBERUNM
X1NFQ1RJT04oLmluaXQudGV4dCkgew0KPiAgICNlbmRpZg0KPiAgICAgICAgICBfc2luaXR0
ZXh0ID0gLjsNCj4gKyAgICAgICAqKC5pbml0Lm11bHRpYm9vdCkNCj4gICAgICAgICAgKigu
aW5pdC50ZXh0KQ0KPiAgICAgICAgICAqKC50ZXh0LnN0YXJ0dXApDQo+ICAgICAgICAgIF9l
aW5pdHRleHQgPSAuOw0KDQpUZWRkeQ0K
--------------1kVAH0WbrZgiV0npv6extKwE
Content-Type: application/pgp-keys; name="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Disposition: attachment; filename="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7L
TBVHV/XOZw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJ
T4ny+OGntnJntUoRKRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJA
WicutjkkUgd28Bh6HV9EIumHtCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO
8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaTVqMdqul07o72m3eA2mf+LMu9a04FX/d4
wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/EoucejoZ5SH49ksmVAmKOLkt
OaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+SPhHar7TPKjFz0G3D
PNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89MXfQXZ3q
t1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWj
moACGwMECwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNz
uyOVCskwfUZPla6Zpd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp
0x0HfuhcYfAYPR46XHTvjaJEv99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuR
OxdK8G+YHccJY8PvWSq2K2yiae2KGiAv1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50
wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhPeP3IdpfWc8cyRLXF06Rk46YM
YCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcTUwgnYlFRk2FLq0Qe
KEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9Egr/Wmu3
MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEM
AKiQiZa3yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ
3DbVf+en3/FvdVZg2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTm
etSG5/52AjtmPFtlXAk0NmLvfJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0
s3109sJeXT5ImVdphFs9cvyZyBT9t1PbRowv58EgV0zE4hbAeVkULAbxFV5b/ExT
jjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKbYu6NCfiHfEyB3Xyg9hfdrRgj
MRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ovXoK4jm+Py0FiUGUa
A6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/eVtR2Q1w
ZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWj
moACGwwACgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiV
oUiHYN5QwhnbZnsaJDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764Qxy
X6rld2f2RcWkDuBHun55ZWXjby8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk
/dS0XTOQi2wVUb17sW/+ybCEokdVacZGzOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fu
oGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+lOWSvdNHgoEkWR0RXBPQjnGm
LKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/OffO485NOTKwGOxyWb0
06cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR8ULR9nX0
LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
x9fhaZEsniw8/bYgC3igkk5YJiOa
=3DlUIA
-----END PGP PUBLIC KEY BLOCK-----

--------------1kVAH0WbrZgiV0npv6extKwE--

--------------g0aGJ7s8Vvl3b9gZ8C0otnp9--

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

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

wsD5BAABCAAjFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmorRT8FAwAAAAAACgkQZg+p0QLLz9AI
lgv/ZjKVoC678FHs7Ouxq5fo0uEsK4+aWKHS0Wq8v8hGxBegEVbhByNZI6G/CYdDhm3NUPfOld5x
Y3/Yqng8AgmhQybEGqZ36oVU4/1xyrTwUQjWeGkHxlWqPMav9KOodlU/jrqwpwSLn0t1UPet4jMX
47ZGyiuXo2/X7AyxanKlyUAFijkYr3aRY4ih2JCc7WZP/eiSMsuH9ILjI3L5lyN0CyHjRtFoe+V+
KD9HwIPRjg4xyakrx2P6JWawnQROxlbku7acjrVbHMQ5QWD2MGelXsbCFn05NBsKmUwQRdatGMKS
1S828JKx5kxz91Yo1jUYbIyqMoD3MzZfrHNgXLtanICIkTSWWxEyeUzaIIQeDY3qm22V7tjzrye3
NEMnroYShhe5r7FHR44K0nEuNd+8y/wOsmEsetwOI5+2Dem8astMMCVQRb+5XCw3+gUcqre74QIp
LvvsKBKCNDi6Tsk0O7ir8rUgHNI82Vb8EXw4jctxeFdr/mxASFwU2QnhGnUj
=v93y
-----END PGP SIGNATURE-----

--------------jDHGfCErTntTRWBLYB1CqgKm--


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 02:29:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 02:29:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336293.1598109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXreD-00021w-7k; Fri, 12 Jun 2026 02:29:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336293.1598109; Fri, 12 Jun 2026 02: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 1wXreD-00021o-1D; Fri, 12 Jun 2026 02:29:29 +0000
Received: by outflank-mailman (input) for mailman id 1336293;
 Fri, 12 Jun 2026 02:29:28 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wXreB-00021h-7s
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 02:29:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXre9-00CF9q-Us
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 04:29:25 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a2b6ea3-2eae-0a2a0a5409dd-0a2a4503c9f0-24
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 04:29:25 +0200
Received: from [40.107.74.133]
 (helo=OS0P286CU010.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a2b6f03-672d-0a2a45030019-286b4a854133-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 04:29:25 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TY4P286MB5511.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:283::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.14; Fri, 12 Jun
 2026 02:29:17 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0113.011; Fri, 12 Jun 2026
 02:29: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=S+FSKfsBZhSnlEkjTQ3qJN/Lfo+FvSu2rSm3+ZYX79QqRCAovbGKKzdaG5/dCelClWr9gT8nM3+6TXmz6/H1A2ZaALwjDVtuDPVsYm1QuWD7vb8wlAoW2twCG/lEzhOpk3PPOALvc+MC6047NHkcS4FHkjmTg8QSoSF3YFWkdPo1YtyexhTiPQqPLUXQ3/GsjLCfNbcSV25YP6M97Wzeig6BXEEw2JWInALoJS0URmdSFq33D4eAEzFyuGduQTjoJ1BNP0grVxMJf8kRqOUfFMC7kRnLnvjNC88bUkZt+I3lLWoFmjCYyFbpCtooq05+inJ9G99Ge6dBpWYPHnxewA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gKJ7525aI43XAvJkR0xaZW/9PUK0Anwv8gVMuiigYEo=;
 b=l+anIFn/AdqFdtfXW3ia3UF78kBgZnDdRln0YFC8l3oL+TwkF3qmFGlD92pa17CSxapGEIF8l2AmkOMz8iwLIW2WLkpkZ+9KWKLl4+fe95X1oEDQZRkWc4a4jGdJH1rlPRgvqM+23EfYTBUHIRICz3IzKgbrjLtGQilSdeNDRMkOzVf14qBPPCtZV0PIz7ImwyNZd1p6XvWX223obnAY80uHQNBwdgstj2SZOf6mjuGndMjWYV84p9ihqH0Ged5LniKeZ6XuFkAdVyEcPi3BJSzYyoaBHcmY447TBz8vmltxYPOVhXLx00U1euAGWG+z5Rtsik/oaFQ01ZSRqWrcfg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gKJ7525aI43XAvJkR0xaZW/9PUK0Anwv8gVMuiigYEo=;
 b=Tsn5tA9eoCyBRwuM+0XEf8QRXiIhHvoA+3NGfVNQyCIOvq+FCSJ4niNcLeSZHR7dKFEH6/UJORJEOREoKB1/izuuARU76UvQPVWSihxq1Vea+krI3QliMp61RQvKyJTttCd6Opwm2jrOiSgr0l2+bkCe1iIJ7/JwWO5/hwStF8U=
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: Jan Beulich <jbeulich@suse.com>
CC: "Mykyta_Poturai@epam.com" <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>, 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 1/3] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
Thread-Topic: [PATCH 1/3] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
Thread-Index: AQHc+MoozrCC9Pa1YkC7YJKVJ6P2UbY5ZUuAgADOheA=
Date: Fri, 12 Jun 2026 02:29:17 +0000
Message-ID:
 <OS9P286MB7222AA4E4F26E616305D08B882182@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
References: <20260610111320.133784-1-taka@valinux.co.jp>
 <20260610111320.133784-2-taka@valinux.co.jp>
 <25065ffe-4bfa-450d-87ff-982ec37a77b3@suse.com>
In-Reply-To: <25065ffe-4bfa-450d-87ff-982ec37a77b3@suse.com>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: OS9P286MB7222:EE_|TY4P286MB5511:EE_
x-ms-office365-filtering-correlation-id: 87074284-82af-41f9-fc39-08dec82a66ba
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|23010399003|366016|1800799024|7416014|376014|56012099006|4143699003|38070700021|18002099003|22082099003;
x-microsoft-antispam-message-info:
 u/tbW+FIGPTS0Cj20w+t9QT/vo4BzFM/V8uDNWJi2CcbXv3HBcZZNI6IHOT2j8qDHXrYTFCa1GCZOkPtUNKu1pZvydzcV2/XSqNXbTKSHt8t2M1Ko/SyDVE4DMyiAo0Eg2oZ0Odm1euBYxmc6QH3WDprQcDjki1kK9c9LAUH0jQJ8FmWUeFyrWz+q5s5UAglIAckcEYFcZvaUEAD35CxX+gvotQflVRkx9sGUdQkwsJq0ndatpr1WXTtEB172aWF1JXbJz/1T+ioo3vRPtbONpSMF0ls27WMaT/KH29Pb49nVnNVFg3LOJLqeuGIrSiIiUu9J9KOt22lhSkxW53NQmle/r+lJfDeZHalXLajCGPnEMbPmWds8+OUoRkat4psRspNqjfTrfBmECmJ9gYnV4Pyodzdr95lwSCLLFysizIpVvwkl2XeuaqbLaA97mfs/J7cK2BlWk1Wg96cf7RzbwrD4W188BtqOhnGg/iaG86GegUo/XsqxRxTuzJ/NXypuugHAmqRhmwfAKpNj1+r/S3W8zvxZtF+a0YcRVc3STU/OVD3Y1pyftVwHYc6Udvgq1OM3vqjYouM1C6LA4XMQN6LaqzvjM1QtLOHqSSAVUib8bOuz/6IeqroM72b3CmxIJLLqBigV/lI9G8kk2EaYIVYZydw2xVv/Jk1wA2+Gw3W+8JrPdksjZORKP2MPQjr3ZZBy4/kd81UQeB3HoF3IdX/8JahpKXFHiDjd9/Hh2/EiczW+EEZ4C6vN6SVP04V
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(366016)(1800799024)(7416014)(376014)(56012099006)(4143699003)(38070700021)(18002099003)(22082099003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?R1ZQNlc0Rnh0Q040WGdBS0hqUlU0eTF6Y0dFOHZsclJtM0l1NVVLV2k1OENV?=
 =?utf-8?B?SFJsbENKUUdWOXhrd0lteENBanlkc3BKU1hQYmxYemgzQlA3YTE0Vk9ieHNs?=
 =?utf-8?B?NVlDd0NPQkErNnJlQU5yN3hJWXA4THJnTUx4bUZTZTUxNFNTdkdmbTlmUkND?=
 =?utf-8?B?YXJERVlERm55bmNGemtkalVpamVxK2FSK0hTenRPa3laTTZWcmlEQ3JKYW9t?=
 =?utf-8?B?S3puem91bmNoakZkTVlBTms2NEhsbGFmR0MzeVgzejRWbmJLNzZtaFc2ajRK?=
 =?utf-8?B?emlKaUhvdmhncm52MXhHbXBlOTdBSWROUnM5cStCSldrQzR0a1FtUGlMTFdj?=
 =?utf-8?B?ZndyT2dyY3FKYmlKS0NHTDhtS09BZGM5UkpreHRiaWFpVmN4U002UEcrR2lk?=
 =?utf-8?B?U05ZSER2dnN6UDdWZGpiUzRCTjFsNy9IZ3RCQWRTcDNsSE05WFY4b2k0dCs0?=
 =?utf-8?B?LzMwRy83aE15NkNBbHMrZm1FeDhIcTZSYTBqdENyQ0dVMmtmOUxVbVRMU3pE?=
 =?utf-8?B?SjhjaUQwM0UydjhBTDNMbUxDRkViRjFwSkhGN2t1OWs3QWt0RmlNS1g3UWJ1?=
 =?utf-8?B?R1p2ZllZN0ZkRnJReUNZaWdTcTRxTE00bzRIWFJaUHhpcDAvYVBDelE3c2JM?=
 =?utf-8?B?UFowM2VoNE9sTEZlNW1pZ3puQnNlYnlCZUNodVNQQTgxVkd4VE9mZlJNK1k3?=
 =?utf-8?B?WElkY0JYSkYwZXJIU0RHaGF3UlZubXUxT1FVVlhTb2VmY0hCMkF3bVdPVmU4?=
 =?utf-8?B?YVBOWHRNZkwzN2NwNWIvRytVcXNydHJHM3l5NUprWmJxem1TTnNyU1FraG5k?=
 =?utf-8?B?eTVmL3MwNU1XWHBaZkxjNzYweFd6VFUzcXNWcmZUekUyRUw3TGVPclhjT0VC?=
 =?utf-8?B?V2tRM1NSZEVzTnpnNjZMYzEyYnE2WWQrQWNvNVFDclFGUGtIem9Eb2tMUGts?=
 =?utf-8?B?aUhDenc4SlA0bE4xSFJaNFFyY29GQW1RVC9uUkJUZlE2MlJXTVZsWGtZWEg2?=
 =?utf-8?B?ZE5uTTVaVHU1eW9YYnlTWDUxU0NXbGxMLys0b3ArNEhOSUtlSEQwanNIcGdQ?=
 =?utf-8?B?ZlhDcFI3YXZwdzBmb3J3RG0ydU5VamZ1Um5FQU1vRFRJUGQ2dTdHNSsrcDhE?=
 =?utf-8?B?MmJQS01LTU1mUUhDaFliZDZOMWFpaHRRdWI2dCtJYjd4WmY2T000b1o0MS9I?=
 =?utf-8?B?Q2Jmb3h3QldzQ3RpcGJuaG9VYkhzQ3NPUklTWVpST0VMWFJqNWFRWDhiR3hP?=
 =?utf-8?B?NkZKTUJwb0krSDdHRnkwL1VkOUF3aFhXM3hUUWJNakxPUHpqRTFDYXBaTmVk?=
 =?utf-8?B?MmlXU3BEMWF6NUI4cHJNSC9hUVk5UWgzaW84WU16OGVrbm1uMXZnb3pQOFUw?=
 =?utf-8?B?SExQbGMzalliWkdwRzJiMTc0Zm00TWJ6MFQvM1hlR2d5TnhiRkxPeHBCWjAw?=
 =?utf-8?B?aFFQRHNpMFdVeE5aczR1RDBXZ3p3QzhEUDkranhucEFyc0syeStWdkVEc01Y?=
 =?utf-8?B?Z3AvcXdYMXQvdmExb1RGM05QbW1jU2UxWm1PdnI3bS9HNWxabm4vL1p2OU9M?=
 =?utf-8?B?L1pMMjJid0JlZC9HWVFDbWw4TkdOeVljVDQ4cHVhalBtWmd0MlhtNFRGZ1Y2?=
 =?utf-8?B?cmRHZVAxMlFuam5ZemhzVmErSG9LV2xsWGRHc2l3ei9KTFJoNkpiZWhtZUtP?=
 =?utf-8?B?aVFoRlhtbXhSUzJuamFnbkhRRlN4dHVQUFp4dCt4TFE0YmVvNlI0aG90MzZy?=
 =?utf-8?B?MjI3QkpFdUl4aUpmZzhYaHJwM0JwdStGek1vK1hjMlFwbnRxRU5EL1ZhS0h4?=
 =?utf-8?B?M3Nxem5zdEo2L0VVSnV4RWtsUkN2cU1zdXZ3ZnhwYjN1Um12blREU1dPbkhu?=
 =?utf-8?B?VlkycmNhVEpOWEsyd0ZqNmYrNzRoRzFtczJFVnFaUDNJZit6a2hmbVdJTGVC?=
 =?utf-8?B?SVFKWk1VSTcxZG5heklQczJGd3JZZHJneFJCdTNpRDBDem5uVXRDRXBrWGdv?=
 =?utf-8?B?SGFvQXBHQklVY0pEVXF2cmY1eGRGU0hWNFlBdUFZRFRKQ0NRV1BBNWJnVmh0?=
 =?utf-8?B?Y2wxZkhuOGtkMGMrTXo4VGU5SHdmc0VId2VRTXU3WGxsamQyQk4vMC9TS003?=
 =?utf-8?B?eWc3ZTNJc2xXZ2JTWEYvV3RBdmd3WmwvdnNBZysvREhuTjFQaDZBenB3Z3g0?=
 =?utf-8?B?S2MwTDRseW5pUjRpM0t4Zk9XU3hDZGJKZWFmN2hqSGQ4c1FiTFBHeVMrYWpy?=
 =?utf-8?B?WVl3MkJVRFNsOWQyR1JTL0dYczg5dHNqc0gvc0M1L0FPTUxESHVPY1dsbnRP?=
 =?utf-8?Q?JutBt1u6jwImQDlyfv?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 87074284-82af-41f9-fc39-08dec82a66ba
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jun 2026 02:29:17.0606
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: UxLufc5doyY7YmNNW1KCwNZj2wlq1qVX4rYxbxcUhP/xm4swKiiiC3q3B5AJCTWvtLw08ofl/ExQBvQiD7+G2g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY4P286MB5511
X-purgate-ID: tlsNG-33051d/1781231365-3A766938-5FB2F005/0/0
X-purgate-type: clean
X-purgate-size: 1232

SGVsbG8sIA0KDQpUaGFuayB5b3UgZm9yIHRoZSBmZWVkYmFjay4NCg0KPiA+IC0tLSAvZGV2L251
bGwNCj4NCg0KPiBUaGUgbmFtZSBvZiB0aGUgbmV3IGZpbGUgZG9lcyBub3QgaW4gYW55IHdheQ0K
DQo+Li4uIGV4cHJlc3MgdGhpcyBpcyBhbGwgYWJvdXQgRFQgc3R1ZmYuIElzIHRoaXMgaW50ZW50
aW9uYWw/IEVsc2UgaXQNCj4gbWF5IHdhbnQgYWRqdXN0aW5nLg0KDQpUbyBhZGRyZXNzIHRoZSBp
bW1lZGlhdGUgY29uY2VybiwgSSBhZ3JlZSB3aXRoIHJlbmFtaW5nIHRoZSBmaWxlDQp0byAnZHQt
Y3B1LXRvcG9sb2d5LmgnIGluIHYyLCBzaW5jZSB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBp
cw0KcHVyZWx5IERldmljZSBUcmVlLWJhc2VkLg0KDQpIb3dldmVyLCBteSBvcmlnaW5hbCBpbnRl
bnRpb24gYmVoaW5kIHRoZSBnZW5lcmljIG5hbWUgd2FzIHRvDQphY2NvbW1vZGF0ZSBmdXR1cmUg
ZW5oYW5jZW1lbnRzLiBTaW5jZSBBUk0gWGVuIHN1cHBvcnRzIGJvdGggRGV2aWNlDQpUcmVlIGFu
ZCBBQ1BJLWJhc2VkIGJvb3RzIGRldGVybWluZWQgYXQgcnVudGltZSwgSSBob3BlZCB0byBhbGxv
dw0KQUNQSSBib290cyB0byBwb3B1bGF0ZSBhbmQgc2hhcmUgdGhlIHNhbWUgdW5kZXJseWluZyB0
b3BvbG9neSBkYXRhDQpzdHJ1Y3R1cmUuIEkgdGhpbmsgdGhpcyBjYW4gYmUgYWNoaWV2ZWQgYnkg
c2Nhbm5pbmcgdGhlIEFDUEkgUFBUVA0KKFByb2Nlc3NvciBQcm9wZXJ0aWVzIFRvcG9sb2d5IFRh
YmxlKS4NCg0KPiA+ICsjZWxpZiBDT05GSUdfREVWSUNFX1RSRUVfUEFSU0UNCj4NCj5EWU0gIiNl
bGlmIGRlZmluZWQoQ09ORklHX0RFVklDRV9UUkVFX1BBUlNFKSI/DQoNCk9vcHMsIEkgd2lsbCBm
aXggaXQuDQoNClRoYW5rIHlvdSwNCkhpcm9rYXp1IFRha2FoYXNoaS4NCg==


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 06:01:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 06:01:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336334.1598118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXuww-0002li-AJ; Fri, 12 Jun 2026 06:01:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336334.1598118; Fri, 12 Jun 2026 06: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 1wXuww-0002lZ-5H; Fri, 12 Jun 2026 06:01:02 +0000
Received: by outflank-mailman (input) for mailman id 1336334;
 Fri, 12 Jun 2026 06:01:00 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <oliver.sang@intel.com>) id 1wXuwu-0002lC-EC
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 06:01:00 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXuwt-000XzX-D4
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 08:00:59 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oliver.sang@intel.com>)
 id 6a2ba086-bab6-0a2a0a5309dd-0a2a4501b75e-28
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 08:00:58 +0200
Received: from [198.175.65.17] (helo=mgamail.intel.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oliver.sang@intel.com>)
 id 6a2ba097-c1f2-0a2a45010019-c6af4111cacf-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 08:00:57 +0200
Received: from fmviesa010.fm.intel.com ([10.60.135.150])
 by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 11 Jun 2026 23:00:55 -0700
Received: from fmsmsx902.amr.corp.intel.com ([10.18.126.91])
 by fmviesa010.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 11 Jun 2026 23:00:54 -0700
Received: from FMSMSX902.amr.corp.intel.com (10.18.126.91) by
 fmsmsx902.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.37; Thu, 11 Jun 2026 23:00:54 -0700
Received: from fmsedg901.ED.cps.intel.com (10.1.192.143) by
 FMSMSX902.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.37 via Frontend Transport; Thu, 11 Jun 2026 23:00:54 -0700
Received: from BN8PR05CU002.outbound.protection.outlook.com (52.101.57.17) by
 edgegateway.intel.com (192.55.55.81) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.37; Thu, 11 Jun 2026 23:00:54 -0700
Received: from PH0PR11MB5832.namprd11.prod.outlook.com (2603:10b6:510:141::7)
 by PH7PR11MB6772.namprd11.prod.outlook.com (2603:10b6:510:1b6::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.14; Fri, 12 Jun
 2026 06:00:49 +0000
Received: from PH0PR11MB5832.namprd11.prod.outlook.com
 ([fe80::106e:78dd:4c96:d707]) by PH0PR11MB5832.namprd11.prod.outlook.com
 ([fe80::106e:78dd:4c96:d707%5]) with mapi id 15.21.0113.013; Fri, 12 Jun 2026
 06:00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=Intel header.d=intel.com header.i="@intel.com" header.h="Date:From:To:CC:Subject:Message-ID:MIME-Version"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1781244058; x=1812780058;
  h=date:from:to:cc:subject:message-id:mime-version;
  bh=dXOxR4ijc/NsObkBbhOn9bAZoyECT2/85YxXHngYXzA=;
  b=TjbEeQwhy10iakpDZ4NbFSD7R3e40yLZliMnJiVfPih5JXE1LzYwZSCz
   GEdV/ckXtEkFqpii/tfvYEf+hlVYEnoMyNURp2NVJAXoP6cNN0GZW2iEq
   04MTKAga7PIji61AlFSvSuTb6eiw9HQqdP/dRocg/5yvGnLi10xWPy8QQ
   3BB3tqPtPRpBR71wUYckXyJM0v41jhCUbRGXe2LsOOm8oDiowB/R06Fns
   gm6qsBj2yLO6K/jxhcDrJD38Yne7S8d+/KEdPXdTxiJO6Pe7Xr9TO0sdd
   hPp2U7dMOdwcbt9EGtDt0mTfStrxD+E3rY1QMo9gi7AAGU9JCKgDBvHgc
   g==;
X-CSE-ConnectionGUID: 0rq3TSInT7yTXJTn+5Bc6g==
X-CSE-MsgGUID: u1k9dFDiTNuJmQxoX5Zlbw==
X-IronPort-AV: E=McAfee;i="6800,10657,11813"; a="82077022"
X-IronPort-AV: E=Sophos;i="6.24,200,1774335600"; 
   d="scan'208";a="82077022"
X-CSE-ConnectionGUID: kovWFWvnQS2bWXbQroeznQ==
X-CSE-MsgGUID: 9WF6MeTnQUCEiLuc8JBdSQ==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.24,200,1774335600"; 
   d="scan'208";a="242602709"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=J1MJvtS2Lg+uRhghw01/yzBDU9mRQ777nxaVL4+HB+s6CbPMJQKABqK2U1bNvsvSzr7snMGA/I9slEvaNXooRNVgTNURve0zVXVtDz7RHPFuK/+FhWglWxDkA3egKKBshSyHB4FWx3u2w7G1ufhub51ub9MUlNBEtKnZ95YBzbmHsKvR5pW0kE80n94w8lTZwkuRIp/3aJH4PKKb/oS/ILeSCQCYDHJf2NU9LBb+gy56oIsnwkcUx7Cevw1aydfEPla9W3FhqT/wwexAiUYV8gX5Rl0/n+NlUpu2BV21wAHZKYfMq9TjVJnRa7RztuGF8bmcqDsMca9nMOj+uqroBQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HkGhTXsPVJpbYXK8iN6N9ZJWNSb3tIKDqmbH6yviAqw=;
 b=E/zfa1m18EWOIROoPMxafJkg+3mijI/yM1FF+sYP3/CG1CJqH1vrZFhs+syOQTSz7c+iLiEXO5VvacOniyiEc5ofwo03C3zPhdaVXLNVLZRLpKXC8gCWrJcMzWFuMOI/i1nhHVuwDiWqN/QKqyCZvYpLq0a590r1ly2E+NVZ9qg0Yl85jtLviO/7MLpbDMjfwc+STKpUSKUDAf9ReS834aSBkAxTWTbflM4GsxKBqLyK/vOeWo0TvygBRHK07xFtXLli4Sx9iy9R25abTQICm2j8q7FrPIpGgA747SwrjeBnjyqArgeJrq6AxXePpnYTvREk31MrMas3g6gFlWWKzQ==
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, 12 Jun 2026 14:00:39 +0800
From: kernel test robot <oliver.sang@intel.com>
To: Thomas Gleixner <tglx@kernel.org>
CC: <oe-lkp@lists.linux.dev>, <lkp@intel.com>, <linux-kernel@vger.kernel.org>,
	<x86@kernel.org>, Michael Kelley <mhklinux@outlook.com>, Radu Rendec
	<radu@rendec.net>, <linux-perf-users@vger.kernel.org>,
	<linux-hyperv@vger.kernel.org>, <linux-edac@vger.kernel.org>,
	<kvm@vger.kernel.org>, <xen-devel@lists.xenproject.org>,
	<oliver.sang@intel.com>
Subject: [tip:irq/core] [x86/irq]  2b57c69917:
 lkvs.thermal_test.sh_-t_check_pkg_interrupts.fail
Message-ID: <202606121325.97b29701-lkp@intel.com>
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
User-Agent: s-nail v14.9.25
X-ClientProxiedBy: SI2PR01CA0041.apcprd01.prod.exchangelabs.com
 (2603:1096:4:193::15) To PH0PR11MB5832.namprd11.prod.outlook.com
 (2603:10b6:510:141::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH0PR11MB5832:EE_|PH7PR11MB6772:EE_
X-MS-Office365-Filtering-Correlation-Id: 3b5c27c8-68b8-4cf4-7b9f-08dec847f3d0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014|23010399003|18002099003|3023799007|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info: gkICd+ioPGUqdYTqehXlP0giMg7kewVKczEJe0ERMpSQfSiVyQi6qCewiHd4QTwEkDuf082Zix+BFMK0oDMzE1NXvfitTJF4/hd9z9dSFfic9PZI9thFLf3XPyc8iBPLuMlarmtaO0/eWexuljDRtLL5pwwv6AjannQ7+Khxdb0IWuNjfQFZzfYndOy27VkpyCUFfW15FcB8oxEHeGYWfStrQsHAKcb6ROnoS+KlIL6/+A2a07TSfM5AKr3vbt8TMoB7ElOjZKcvS1s13nrqG6KOPvL0eyrsBbsrygJUlBQR3l/oGoLf7rkLR1W93iTzJr0J7RSZ/ePhMSXvIyYbiq+WWdwEysGwXSFHr9fT0RsqJM1hYnHta0IVQdzJtzn+CDDa9PHo9SlbKmN1lC8Y8AuD/becNofCLgGbAt4awXE2kcD6wfn3L/ew3mlV3F0IH5BmJB3gFQCmaC1nurJ2Wu2iojnX+RZ4QLt3eZvAuS/JIVJDcvv92+00XjXPsy/NvMTBuiT7SRljmihgAsoMXB+D4eJge3f9a8J+QtW/4LFu/jfSE94wfo9Z235r9WTC1l0TC8t/vFJJYT4fpItQLikRvkQQwq8H9WPhOFXAlR+WT8fDT5z/GPHUaNJmCj88/0ujasbfSXR2fFKnvyeQVAAdl3WEYuITJSaCscIlsov4yP8M4t5vMHXIR6Hrte425GM8oXrr9Z3zkCX6LDErsA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB5832.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014)(23010399003)(18002099003)(3023799007)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?dgZ7CG7VOAcusUztYCTY3o9WUMnMch8TCh+tdFzI6P8teQ7cZUtTAakuD99C?=
 =?us-ascii?Q?y2G0D6+XBws0sFoeyGypc5cOLIjlCObmvDeCuhqLUe/PhqCZfVlwfr3EREKN?=
 =?us-ascii?Q?N7NacnWroetqBZ4kne8uUu/KnPn5JtAzcveut1LtB7QwsTJuLVI+n46dA9dq?=
 =?us-ascii?Q?8ayZOpbMY38738CHdL5zLlsph6kpnb6cpV5+OPEDsJZ9uC7MpPCSDIF5KO4V?=
 =?us-ascii?Q?l5rLdbXkq8CtvMPnRMyZl6tR9cQ8kul+nRNZgGPUt5t/pasPiYYbISEnpWcR?=
 =?us-ascii?Q?nOMajLrIDT/ed7Boadv0MQR2yeKSu9yVf/uLQhX+dbPcMMJ4apb+eVD/A+H7?=
 =?us-ascii?Q?AmffFcP+OCxF38ZJ9tB25nymTZ8qM2/QYnE2Jvvb087Dg7c5stPbjDJS2mcZ?=
 =?us-ascii?Q?2QQqZ/IBhB1VX1VmgaYg25v9GI2FxZQ958Do7hEANa1Oc0aoPgOHCMz4Q2Hk?=
 =?us-ascii?Q?oRmw4q5HyD2eOwJZgMHCGpq7ZvRp6/DJFoBsBxlyvQjy8RfZ58PprsihnKMU?=
 =?us-ascii?Q?ir4K1isqdgpyBV5jMfFYvzsQVKc9pA4kDZdXX6Nd0PuykWZym8cHpmCLoGl8?=
 =?us-ascii?Q?HA87+MeNVMkK6Jtir7phd36DQuJCRKsza6821ndtQjMuOlcBGwlQlzxX620d?=
 =?us-ascii?Q?FoAe0Vut0IlfWejm3Ng6uoVyfiYDXPZV5hf2aSt4hxLzcax/4Ai9Xouylmth?=
 =?us-ascii?Q?aNCCKrgm8XPbBIHKbpw7teVkkDgu/U9mpXd7+BkSbgvvZaSBz6FvGeh03XcG?=
 =?us-ascii?Q?Jvx1jk52Akf4RtVwysGc71daOUkZkJh+JUSyrIyun7qhVVR0AO2HKl4BdpzQ?=
 =?us-ascii?Q?ZXxzRbKEhW6d+IpdevZ+gpIMi4AlwdS06F0G+ax6IxdUZQn07vFjm0tZwiSP?=
 =?us-ascii?Q?hmzodF4g0nKtzaMRqeHLSgOGplVNUT0eDJDYNMTFcGhyXhMKAF+Sxjj2aCjp?=
 =?us-ascii?Q?olxygTfN+p7dAmqKKVJ1RtkQtytZcyV3NcQ6wkBjQtTt9WC5kAYmF5sqnhRe?=
 =?us-ascii?Q?L/oSIfnU81TaEVB5SCACgC75QZIu1Kcn0Kh5mXXEB59ftXevjY1/bID6lTxc?=
 =?us-ascii?Q?IhpgfrTnCXak42vEepF9ZJwdgnW8PsA1a03OHVz3jBzmEfEmejnLwRtm5Ae2?=
 =?us-ascii?Q?7uNhVIiK1V3QT4EfF9J8P74XNd/lpKZyluUo7xQIfRxNMg0OoyNyhIiW+hE4?=
 =?us-ascii?Q?bbBu8iQoQxCQ/Ym7tvT8yAFo6t9XbotF4tqeKpeQEHL8AYnKxNc7oSu9PX+q?=
 =?us-ascii?Q?Jd/ybJgzSOrwx1KX5hM03Tccj2zfnMiKmxCKVUT1SB8WgJMVH0SaEFo/9nJT?=
 =?us-ascii?Q?iO8dtchWC3l7bSmAs5CaIX0eiMgmZsMeO++lnXzzucaf8HjEpwthPW960Q25?=
 =?us-ascii?Q?SwBWAfjzlPNxQTmVe4xX61TxQ5usDrVuJMLnh1+lsRVVfnwQpi45+Sqa4LaS?=
 =?us-ascii?Q?s/Xk8JJ04IBLPHg+qmUPYqHKgoRC3HSTH6Prct77EsViHxOPvop//5C/kAOT?=
 =?us-ascii?Q?JL795aIvKvj2F5BetlgC85D4DAwM1KEb2Eeer7DAJwXkD1yPRodknZNCa+h+?=
 =?us-ascii?Q?vMWCNKdZFnH7acQyYYWgKvjMbbUuH0pCMsVUx/cBmgoZjHO3IRqtlpQHCqGn?=
 =?us-ascii?Q?py7QhcCVjmdcrlrFXL0ckaT3dWJ6SZ2Pht0a7pho4O97rKbOZzGVem2ZEJ6N?=
 =?us-ascii?Q?4PoXSqBdwD+ZSwsxABM4FoJh5mEgKR0/wrEE5TshNs7J7Xl53ZRmSkFt8KjJ?=
 =?us-ascii?Q?a5wAsmY7Ig=3D=3D?=
X-Exchange-RoutingPolicyChecked: qAP9X6vN40Tnr0Nvx5573pbtEi6WbcBp1kXxp3y9hqRjOy7nA+N7XHHeTkl6PjclfIXOfjR/0lphlJAafsqWbD2zSOxQ/Vrnel3tc2gpC/3S5+CAya2i/1lUbwuWB88k+v/JDWmSdI+YnR7B/h7Cwo0tMLRe9YOfYCN2DrWYBTy//RQ3CAWr/3TePk4CV3LvWVhXzLfDIXpVXhXZH0hFR6jCsjOSroWhKWnmCLJ9snBfHQCBxmiU266jMtmbnt14EBsnzLsgGtFg8whf2tanu67A0Un6cRMPcSqMzZo3evVo6ZtCDoBtL8u17jYGLByPKzfPuTpeXvWKgbaOFVl3+w==
X-MS-Exchange-CrossTenant-Network-Message-Id: 3b5c27c8-68b8-4cf4-7b9f-08dec847f3d0
X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5832.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2026 06:00:49.3861
 (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: 4jhU4hUVB+5S1nU6lDyGY0ErDSPXOtyDwfidmHubdros6F2+nR9Hs62j0GmzowaekIWVM2waSZ/UE24ef4IQsg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB6772
X-OriginatorOrg: intel.com
X-purgate-ID: tlsNG-d62444/1781244058-ADD41FF4-17E5FEE5/0/0
X-purgate-type: clean
X-purgate-size: 2422



Hello,

kernel test robot noticed "lkvs.thermal_test.sh_-t_check_pkg_interrupts.fail" on:

commit: 2b57c69917eeba3ee657f252257e37f31916ba2a ("x86/irq: Make irqstats array based")
https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git irq/core


in testcase: lkvs
version: lkvs-x86_64-388e0c1-1_20260521
with following parameters:

	test: thermal


config: x86_64-rhel-9.4-func
compiler: gcc-14
test machine: 512 threads 4 sockets Intel(R) Xeon(R) 6768P  CPU @ 2.4GHz (Granite Rapids) with 128G 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/202606121325.97b29701-lkp@intel.com


2026-06-10 15:11:39 cd /lkp/benchmarks/lkvs/lkvs/BM
2026-06-10 15:11:39 ./runtests -f thermal/tests
Next run cases from thermal/tests
<<<test start - 'thermal_test.sh -t check_thermal_throttling'>>

...

/lkp/benchmarks/lkvs/lkvs/BM/thermal/thermal_test.sh: line 177: 15994 Killed                  taskset -c 0-"$NUM_CPUS" stress -c "$cpus" -t 20
<<<test end, result: PASS, duration: 41.108s>>

<<<test start - 'thermal_test.sh -t check_pkg_interrupts'>>
|0610_151221.580|ERROR| common.sh:142:die() - FATAL: die() is called by thermal_test.sh:93:pkg_interrupts()|
|0610_151221.584|ERROR| common.sh:143:die() - FATAL: Thermal event interrupts is not detected.|
<<<test end, result: FAIL, duration: 0.786s>>

Test Start Time: 2026-06-10_15-11-39
--------------------------------------------------------
Testcase                                                                     Result    Exit Value  Duration
--------                                                                     ------    ----------  --------
[RESULT][thermal_test.sh -t check_thermal_throttling]                        [PASS]    [0]         [41.108s]
[RESULT][thermal_test.sh -t check_pkg_interrupts]                            [FAIL]    [1]         [0.786s]
--------------------------------------------------------



The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20260612/202606121325.97b29701-lkp@intel.com



-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki



From xen-devel-bounces@lists.xenproject.org Fri Jun 12 06:50:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 06:50:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336352.1598125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXviN-0001MI-U8; Fri, 12 Jun 2026 06:50:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336352.1598125; Fri, 12 Jun 2026 06: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 1wXviN-0001Lo-Qq; Fri, 12 Jun 2026 06:50:03 +0000
Received: by outflank-mailman (input) for mailman id 1336352;
 Fri, 12 Jun 2026 06:50:02 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXviM-0000zH-8r
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 06:50:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXviL-00CfMd-FK
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 08:50:01 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2bac17-2eae-0a2a0a5409dd-0a2a4508ecf8-8
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 08:50:01 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2bac19-63b5-0a2a45080019-d155802ec024-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 08:50:01 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-490c1915793so4566565e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 11 Jun 2026 23:50: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-490e2d046d5sm120706595e9.13.2026.06.11.23.50.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Jun 2026 23:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781247000; x=1781851800; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=iKYlQBb8gM4OcjUKbqwcWw8X/VLJPQKht/pN869PUWM=;
        b=EvHoLGD3dZmTO04xuwGyWduY09q2KEGGRIT4MDR/2SlMgKGGL8Nx5jRdFXsVevQMq/
         /7/i+2afghSByhNexHCh/Ba1zhIJG8Hp2Jx+V10J1j3U9ebYsXFOTRyoLkYqr3ve30DF
         PzCdjA6npC0v+6d5s4Nbi4wF8hLD4okKRNi5k7p75hOq3P5IPkfOKNL6/gbWTpH2b5NX
         0lr2DICyxLzterQAOnvBzUWIoEa2ggDCOiolHJwDRNUHRxjVoIT9OpSURYHKBx+5Of1B
         khT97+osWoKOaYiuDwI6laYKKKJttbdDUm4OK1J/pCrFIyqMR3QYWZev0pjI9ICcjLPQ
         Vs1g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781247000; x=1781851800;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iKYlQBb8gM4OcjUKbqwcWw8X/VLJPQKht/pN869PUWM=;
        b=hjUSfBIQ/EBi2yxeXNGni20GgmjhtKIPSd4Zr/uhCrprOhYQLJCdHE7xFP1vFQP0uT
         862C6pya4aay6KDvsCvywhEjUG9kcYDAzNXbUOGcvH2MMP+g4QFUNdBiU8wCQU0OR7s3
         G8f9UuvRNWxY8LbMoi7lxMYFUEW7aZeQHFj1tu0q1AsPVcun6U3toYGTJ24jJAQMbmbp
         UQ/c1WBbzIb2RQiaYhO4VFWta99XzOP8LR0fvwauyqTJJXQrUFhBKjo1/74xLLZoX/Jk
         hR3Rip3/ibJl1LEQlg/+NrN9nR5roe9rO5svFLIrwuGOxEoPwqX/BU1Nprc9KoNZtDDy
         fnpA==
X-Forwarded-Encrypted: i=1; AFNElJ9x6FKiKbmjnr2Z2vNOMt8zIJQxIfAPDUV9HQUPOmOZar9ox5iRxLOylEeGvS+nQYjOAE0fM1+m30s=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy/w7XQAdMf8+pqWMgc+qjnBmvmzisFzdeoEtM0wQhEW+N3LZPU
	fFlNZAC0+MR/RXmd0dMH+AFe5aQZIaG5f62V43aPk5NIa1WA+4Y1xgnfeycWlpMbxQ==
X-Gm-Gg: Acq92OGkxZ6L7yv11VGXZgdNoRzR8Vj9hVESANEiQiQfGMOu2jUvnx8mxpaDX+VbinU
	Gu26iPaAI+A6K3PHf8EyCW3oW7f15OyqrI6BwJ50xr5oc7HcOfYnvD0XEaRT2KgVkbLc/3lncj/
	yCjAHdWAPHV4XkfoNOBLxCVCpDQXsG/Bw+erHt4Bt7w0eDnuCd1wMTKjdD3Ix3fdPuTFkERdwtJ
	hulKXZAhbQxkjiYudvZqp09j0HcWixSSIh/3tvqDW9cw5FAX4aS/VaRJjIJgimcpXvpT22Jfdf8
	3dgiiL0cdqnFA8L8JexFCEzSvl0igJGC0rHnrUj6VV9LIxqogT6H/o0VOy6UI0yNnEUK1sTnXT5
	5pImBe22pKq/uJKauZwf0uM8JfvtG35hDHAFJQaFKRYCjyzODUm2HU8PWxYixKfGVf3Wzsf0eQV
	7ilZyscybx+wJzsbSd1DV57oecAJMvrvwVRhXB/wkRR8Blhd/JN9EpXQz6IH662RfGWLnAR42q3
	ndLEAFEn9pkJM4=
X-Received: by 2002:a05:600c:820c:b0:490:c2a3:3302 with SMTP id 5b1f17b1804b1-490ec526f4fmr16226695e9.35.1781247000671;
        Thu, 11 Jun 2026 23:50:00 -0700 (PDT)
Message-ID: <5f53ea64-bbac-4814-b96a-2bb49bd034c9@suse.com>
Date: Fri, 12 Jun 2026 08:49:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
To: Hirokazu Takahashi <taka@valinux.co.jp>
Cc: "Mykyta_Poturai@epam.com" <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>,
 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: <20260610111320.133784-1-taka@valinux.co.jp>
 <20260610111320.133784-2-taka@valinux.co.jp>
 <25065ffe-4bfa-450d-87ff-982ec37a77b3@suse.com>
 <OS9P286MB7222AA4E4F26E616305D08B882182@OS9P286MB7222.JPNP286.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: <OS9P286MB7222AA4E4F26E616305D08B882182@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c1860d/1781247001-B7171DB1-B270E1E1/0/0
X-purgate-type: clean
X-purgate-size: 919

On 12.06.2026 04:29, Hirokazu Takahashi wrote:
>>> --- /dev/null
>>
> 
>> The name of the new file does not in any way
> 
>> ... express this is all about DT stuff. Is this intentional? Else it
>> may want adjusting.
> 
> To address the immediate concern, I agree with renaming the file
> to 'dt-cpu-topology.h' in v2, since the current implementation is
> purely Device Tree-based.
> 
> However, my original intention behind the generic name was to
> accommodate future enhancements. Since ARM Xen supports both Device
> Tree and ACPI-based boots determined at runtime, I hoped to allow
> ACPI boots to populate and share the same underlying topology data
> structure. I think this can be achieved by scanning the ACPI PPTT
> (Processor Properties Topology Table).

If that's the plan, then keeping the name is fine (at least with me)
as long as that plan is mentioned in the description.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 07:21:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 07:21:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336363.1598135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXwCj-0006Vj-6y; Fri, 12 Jun 2026 07:21:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336363.1598135; Fri, 12 Jun 2026 07:21: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 1wXwCj-0006Vc-3C; Fri, 12 Jun 2026 07:21:25 +0000
Received: by outflank-mailman (input) for mailman id 1336363;
 Fri, 12 Jun 2026 07:21:23 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXwCh-0006VW-Os
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 07:21:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXwCg-00F6jH-UP
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 09:21:22 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2bb36b-5cb7-0a2a0a5109dd-0a2a4503d8aa-16
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 09:21:22 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2bb372-672d-0a2a45030019-d1558033e8dc-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 09:21:22 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-490c0c92cffso3838485e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 00:21: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-490ea963cf8sm28639715e9.2.2026.06.12.00.21.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Jun 2026 00:21: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781248882; x=1781853682; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=IL5emG44aQz/1fnI3eRugBts7+Yg13g4mUa8npzBCJg=;
        b=NQtQBQOGUcBn8/sVHpkBdWEZiR0hPf5ZjkATz5sA8YOtwVZOLyP1TJmBg7LpTEK02V
         7EKDaLK46At4rtbR+d4ZHWRSHtJXYkS+bzVGhc7XlQ9voDdjG8wkbTeoBmy/rfBXWQYe
         WhpnZ82fFAt/a/VSxEbhCGo5iKD9fCNrqQJmJFrcu9hf9SZyWQg/cuxnDVVF+Sn3uAHf
         lIWPEe8ERSLgfXBLwVZ/ibT/2d4jS6aj8kCVSwu/PGVLQl6zOu5+20j5e7dBUDwww76r
         0rvQ/KctSA+SOhxUAmab1ZwNY5hhBFS8Fr0+1c0n+4+/VELdfD3UFDlaytf8zMxpnVlZ
         MoXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781248882; x=1781853682;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IL5emG44aQz/1fnI3eRugBts7+Yg13g4mUa8npzBCJg=;
        b=fYFA7/vSBLNl4LDzz8idSbE074IGL8oFxLUM3Od6qHkhgkzG8WLuLr1I9Iif/10cq0
         ouTRXr7b0fTkNvsySBbU6BCW2A0gmFWGjcq3Ixtoq4dBYgQ8B1ltjkEf0t/zpbI6/anX
         Y8agYKJXHR+t5rlCLFSf0/FQZMggpGo/W+DpCpjNzQrWHBhM62EIS8R43/vMXyxVOG85
         wMsn041v16wlAb5JR3dRVZOOkOrENE4g2n1+Q77orQ8crE623PRh2exwMC3gYm851qzv
         T4OG0YLbkKdf5YC7WLkYCtpN8mE1IxXAu6WflHGUdAvH3OPFDQ6o7HTrMzwWfNYv+to0
         +vyQ==
X-Forwarded-Encrypted: i=1; AFNElJ8g56lEYEBnaPWXgf82y9gHEfddGH1wXemRVnoR/en9mejTJb9ejsZsd7NElr2ub8xNy8pYLVn2imM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy6e6PWDYJ1i/s3BOK9irqikeuK907OI8pwFmV6Ssj1ZaqlBb2W
	QsUSuikqvMF+1oYFU57NXNJ1pfcJkeONvvQdb8v8mdTfVpSJN50YGmXgg4W3/k5SAA==
X-Gm-Gg: Acq92OEtMzuFuYh9dHalhh26mJSgQG3vdcrNpR7C90HK0JgIHiwWT3ngvbUkzWNLMVw
	3r1IvYCj669bzw63Bws50VhUz/Qu1oPp+HfYiddhODh9HyH7+swtYOw86xFl0zFInTcsbNVusOL
	o+UWAt7qmdUltLJy/IgOpF33c+iXJDTXH4LQkbOwgeXLROPfuSah00ojmRr5lKBEMICEMZyay3k
	fUXbHdRIDWyNpzmSVZhyFO3gI8+Xx6329IixujC/m+DnFhQk09ku1x/LvEOaOikkUXuEE81fIyK
	uHoFVJoY0ZWOXa5KZxJ/T2l7sd4uISx2eTIyzTEhmAL6SMd0Vcofb2ler4YT48xqIFOspbxVIgk
	fQAJW0LT5MK6xGqydfmHM0YM0v38LHqU0J2kwikn7rsmpyqRSFcvuYyofCyGFQWY7/b5IpfBG06
	5oUkD+J4LNu08HsV8nkR6P42JhEaxq/1DgnAjH8TfDTwmTJOT2nelfo3vLg+XZi+M8u2Sze+D3X
	7CjHthSa76wnaM=
X-Received: by 2002:a05:600c:c1c8:20b0:48e:6db3:ff33 with SMTP id 5b1f17b1804b1-490ec4d748cmr11902695e9.14.1781248882157;
        Fri, 12 Jun 2026 00:21:22 -0700 (PDT)
Message-ID: <758494a2-e3ec-42d2-85fe-9ed9d21c682f@suse.com>
Date: Fri, 12 Jun 2026 09:21:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/4] x86/efi: discard multiboot support for PE binary
To: Frediano Ziglio <freddy77@gmail.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Frediano Ziglio <frediano.ziglio@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <20260611153257.650054-1-frediano.ziglio@cloud.com>
 <20260611153257.650054-3-frediano.ziglio@cloud.com>
 <1781220672.8631fc262581453bbf619ec5b2062170.19eb906840c000701b@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1781220672.8631fc262581453bbf619ec5b2062170.19eb906840c000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1781248882-39B7C938-6280EF52/0/0
X-purgate-type: clean
X-purgate-size: 1239

On 12.06.2026 01:31, Teddy Astie wrote:
> Le 11/06/2026 Ã  17:33, Frediano Ziglio a Ã©critÂ :
>> From: Roger Pau MonnÃ© <roger.pau@citrix.com>
>>
>> The multiboot headers (.text.header section) are not consumed in the PE
>> binary, hence discard them in the linker script when doing a PE build.
>>
>> The multiboot and PVH entry points are not used in the PE binary, hence
>> discard them in the linker script when doing a PE build.
>>
> 
> nit: it looks like both paragraph state the same thing
> 
>> That removes some relocations that otherwise appear due to the usage of the
>> start and __efi64_mb2_start symbols in the multiboot2 header.
>>
>> Section discarding is not done updating DISCARD_SECTIONS definition as the
>> change is specific for x86.
>>
>> No functional change intended.
>>
> 
> Given that this now prevents booting using multiboot2 when using the PE 
> build, this is a functional change, even though it's strongly 
> discouraged (not officially supported).
> 
> I would add a changelog entry to actually state this change (eventually 
> reminding that this was not actually supported anyway).

Did that actually work though? If not, I wouldn't see a need for a ChangeLog
entry.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 07:40:13 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 07:40:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336372.1598144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXwUp-0001CZ-Mo; Fri, 12 Jun 2026 07:40:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336372.1598144; Fri, 12 Jun 2026 07:40: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 1wXwUp-0001CH-HU; Fri, 12 Jun 2026 07:40:07 +0000
Received: by outflank-mailman (input) for mailman id 1336372;
 Fri, 12 Jun 2026 07:40:06 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXwUo-00010f-Nt
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 07:40:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXwUn-009FHE-LJ
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 09:40:05 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2bb7d4-2eae-0a2a0a5409dd-0a2a4506d842-6
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 09:40:05 +0200
Received: from [209.85.221.41] (helo=mail-wr1-f41.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2bb7d5-7371-0a2a45060019-d155dd29dc0f-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 09:40:05 +0200
Received: by mail-wr1-f41.google.com with SMTP id
 ffacd0b85a97d-45ef189aa1cso469308f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 00:40: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-4606f2c473bsm3382786f8f.28.2026.06.12.00.40.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Jun 2026 00:40: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781250005; x=1781854805; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=+O3RkmyDQeBLNuDIkuMzAodYtE/+FJRWK666X3VWg2w=;
        b=OX7aH53Xf17UjhDi2NrCJMo3vwKbFEAc+OdsYOiJMBkhA6cBmnGkZjbe/qM/bNSVHP
         f5q72E1QKtdA/IRxNheR7aRU5Ow4Gdgy0BCTdfPaoTI2900iOVLooeH+NbZLbB2rr+Xn
         8Qy5gqrqpnRN6rEtZTnscJYM7s1Xs6tDV+oErMba160mzceyR73vpLRux6dwOdxTsyY2
         02SOkDWhyPYUHVsSip883OKNlf2ONABu+6GFMHhktiNeP4xUIBbAm5agLgNiDXIFga+W
         l/dSBROQlsKfjJVkiPxOTrmUFoWJOb3Z2y5YDEYd3hnEl5JMKc6KAX8dx4Jb45Reiy7o
         ifgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781250005; x=1781854805;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+O3RkmyDQeBLNuDIkuMzAodYtE/+FJRWK666X3VWg2w=;
        b=VJM4pN4T3y0zuHAOZ5lX/Ie9GOcwNKE8UnNHYFeJwWH6PmFo7xxYEyP4HPtKPJdBUI
         89Z2mvpTT8ny66+q4IWeuG0NzS2C7LlTW1lAmLMrfzzpbuAbPbRVZeUr4J1SlG2agBOW
         vhs5QyM9XyCKWXfbDCQHJqQihxr8LqdCsd2mliDOQ0nNGnyjX38B6IJww9TvgqUrcop4
         4AYL84FlbFfGM/6h2ZegaawbbLhrCiJciDCxPs+rD2oBO7D7aH0RnTpbp7KixBRRqd7L
         ux3yJxBVytyMJeyWVZvV6izkk4McdvOJoOVy7F5ia6V3nrXYKZ2iS3VB/3tu3nWK8sUp
         lfbA==
X-Forwarded-Encrypted: i=1; AFNElJ/2TRUzDrERa8zp4Z+bKtd4H3WCSI820zJsaQUSrTb0FB+M6uDKJVXxBLT9+LkPm+Pka01GR7z6E8E=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy63HsZIlNM3zzP/HTnxYSDKscwnSRhQ7cuARWejIFLtCtYr6Kk
	8bU8jz6I6bLoWm1Syt2gXafYFTRNEbTXYBq3pTiJBStCHI37zCDzmJQswW7F+b7jeg==
X-Gm-Gg: Acq92OHqGLkJfKPNHAISkdeuOB2Bm0Bcx8bhxB1YNJ6BW4sLt//OgpfEWcDfHEn8xnl
	ChPOe/BOrK9R5IeXxeva4kZq7iA1rUs2bDlyOd5AwxJXcW6nN5j0Yjm4ao+Ee+z+zlBri6Rs+3h
	VNs5i/hLjIXkfWm4cNc9fFgu74DaDT6s62KJZzpeG1VLoGVTdITrP/sZZ7Pm7mfGZZl7p/pvMOl
	jj+0Y22gzvVTsvetxhVBxNAYUQkfP4xrMuOw5l8MT4YCN87xe9ym0lqimAYkFNpOhD0vLPNMJRS
	29wixwyIQbktFiWJbfQMMKOWge2lQTheZ/eLrmSj3aPFEtsgsocN3vOu6MJHzFpLXGWZKnUADD7
	4yZ/yCPlqNMw324TAHZqix/6JkG3TGsH9nMnUz9xmR20Lq7Ho+yPhsesriUI+gOS0uFlwfwUmNZ
	+rzXVWiNsr7qlHN8S/vtQ0JBXPT3RUh9vr4cncA68pw+/inq2M2J+U6p0i7XmE1HawSz5zuBhkq
	cHkwbduN5nXLOM=
X-Received: by 2002:a05:6000:2903:b0:45e:fa7b:a7cf with SMTP id ffacd0b85a97d-4606da57cacmr2220551f8f.2.1781250004938;
        Fri, 12 Jun 2026 00:40:04 -0700 (PDT)
Message-ID: <0a2e670e-432b-4297-8166-42a1bace6659@suse.com>
Date: Fri, 12 Jun 2026 09:40:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v2] xen/x86: Change stub page allocation/free
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Jason Andryuk <jason.andryuk@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <20260611142154.64525-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: <20260611142154.64525-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1781250005-8D186D75-282F6EF3/0/0
X-purgate-type: clean
X-purgate-size: 1568

On 11.06.2026 16:21, Roger Pau Monne wrote:
> @@ -641,41 +642,62 @@ static int do_boot_cpu(int apicid, int cpu)
>      return rc;
>  }
>  
> -#define STUB_BUF_CPU_OFFS(cpu) (((cpu) & (STUBS_PER_PAGE - 1)) * STUB_BUF_SIZE)
> +/* Dynamically allocated, indexed by CPU.  Store physical address of stubs. */
> +static paddr_t *__ro_after_init stubs;
>  
> -unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn)
> +static bool assign_stub_page(unsigned int cpu)
>  {
>      unsigned long stub_va;
> -    struct page_info *pg;
> +    paddr_t addr = stubs[cpu];
>  
> -    BUILD_BUG_ON(STUBS_PER_PAGE & (STUBS_PER_PAGE - 1));
> -
> -    if ( *mfn )
> -        pg = mfn_to_page(_mfn(*mfn));
> -    else
> +    if ( addr == INVALID_PADDR )
>      {
> -        nodeid_t node = cpu_to_node(cpu);
> -        unsigned int memflags = node != NUMA_NO_NODE ? MEMF_node(node) : 0;
> +        nodeid_t nid = cpu_to_node(cpu);
>  
> -        pg = alloc_domheap_page(NULL, memflags);
> -        if ( !pg )
> -            return 0;
> +        /*
> +         * Attempt to use the same page as the previous CPU if possible,
> +         * otherwise allocate a new one.
> +         */
> +        if ( cpu && nid == cpu_to_node(cpu - 1) &&
> +             PAGE_OFFSET(stubs[cpu - 1] + STUB_BUF_SIZE) )
> +            addr = stubs[cpu - 1] + STUB_BUF_SIZE;

Isn't this path also going to be taken if stubs[cpu - 1] is still INVALID_PADDR?
That may be a purely hypothetical case right now, but imo would better be
covered right away.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 07:44:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 07:44:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336379.1598154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXwZC-0001kK-5u; Fri, 12 Jun 2026 07:44:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336379.1598154; Fri, 12 Jun 2026 07:44: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 1wXwZC-0001kD-1o; Fri, 12 Jun 2026 07:44:38 +0000
Received: by outflank-mailman (input) for mailman id 1336379;
 Fri, 12 Jun 2026 07:44:36 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wXwZA-0001k7-9o
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 07:44:36 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXwZ9-009GUr-MX
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 09:44:35 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2bb8e2-e002-0a2a0a5209dd-0a2a4501c0b6-2
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 09:44:35 +0200
Received: from [40.93.196.48]
 (helo=SA9PR02CU001.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2bb8e1-c1f2-0a2a45010019-285dc430e613-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 09:44:35 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by BLAPR03MB5570.namprd03.prod.outlook.com (2603:10b6:208:29d::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Fri, 12 Jun
 2026 07:44:32 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.014; Fri, 12 Jun 2026
 07:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=JA76dbQ79mY/yJA6ycckWAt6saxhb7b9IqTOvi9+321UZG5gG1HUoRqDaEmUFqAisusBw7th+275+RWSV4A7I4cpY51Me6CQ2ycNMlclNaUeCipiPmspyK2oXbXZAwgDWV5sro66+Muxeo9Y1JJwAFUtHKdogBDIeVDlBwm10dff2SZJYRnN3vN9xO7vCVVzw0hH9lBMOySm3Wf5Sedh5ovtDiLA8kycF2pvQH44/FQfT1sjNOG2/wJWonE0pIIJp23jttDAXQnhAEXbA9MChC9pdq6AwqH3KXVYC7zywDsvYKRgdxXw6m0V0aOdyUyP03htkwZMqOApCf7sh3VPAQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cMHCHFothwqvXToNggJKNvceNejLS4zazL1dXsDL2I4=;
 b=p34Afm+F+cTlR3EXYSKq03u6h/R8EE+RZoFv1JZJ7tZyuHqkfyfMvCfHevceEXwIKWrzJhtXtEzepPMst4Soe+cmzZ+5X+w6ve9HWo6dKqb2um+GvOBdR/E7AkbbCKc8wtQgL84UEGYdwMlomTjiq06NTl+Uv29KgbxUCHf2Ie8CVrQ+cgrSHyII9Xpze/bSHtup/405EhgMwLu4yXLLVpu6eYRB5LKl7qGB/y+xTPRBuH+JLAZPoGkNcVGSC+/8KWp9BqnYl7gkG5p/XjVX/IzJctZNJZN0+QuKba9Y+5JcIGEeWdbjvunojzgNO1pdoOe7/Z+Z8I2gsainhTEhTQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cMHCHFothwqvXToNggJKNvceNejLS4zazL1dXsDL2I4=;
 b=emPi52V6pRa/Hx1I78nBgM/Qv46lXXjNfwWlpHKiVjfrv2eKTx5JDI0e/QHlTirbR7ifFvrCEUITN1iLfwVssdlFoO+L2Y7xzN7QqdQv0ZygbBwRkopCW4ZY2cQoqy2CoR8snj9wllJQ4VtPXgI3Vhvw9r/+z+wzFHNPlKmPZzs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 12 Jun 2026 09:44:27 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Jason Andryuk <jason.andryuk@amd.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH for-4.22 v2] xen/x86: Change stub page allocation/free
Message-ID: <aiu42_rcIxZTvbXy@macbook.local>
References: <20260611142154.64525-1-roger.pau@citrix.com>
 <0a2e670e-432b-4297-8166-42a1bace6659@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <0a2e670e-432b-4297-8166-42a1bace6659@suse.com>
X-ClientProxiedBy: MR1P264CA0039.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:3e::31) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|BLAPR03MB5570:EE_
X-MS-Office365-Filtering-Correlation-Id: 33f184d9-4de5-42c7-6d31-08dec85670c6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|23010399003|376014|1800799024|56012099006|4143699003|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	veR+LN94D87kO+bVmIVLimZ/2lEC3Ddg8NCx4PHycJAsGw9kaajinSn3SdP6OGb5ZEFID5TbxHRqzg9cROElxmfwZzWQe2jbA4K1wa1ILtrYOxkwdwFOaEIY+9yPb08yww/CUwTeVLz7eWHZKQRVz2OTG6pM+g+KYOjGPN3y6KnDGFDy/r3n3drH5hTmiSpZY6QVmoGzwUSPjowq+iUWtZZwrWHwk2H99bg7KXIzHNkkQI07Nb/6z39n0CXucRTEzlNJvWvwju1+Mypm41+BYjnONSBTld70JNwrqoCDV41AiI1BjG0D+37hAB7EIjY11ck2iYCc39lkHFm3ttpW8u2FqAboImsyt5b20crmk5XZJwZHMbsrv7+eZjU6Ky4TqrXn6BikoDJSNhlSjlpicWhlcX23OWyExmW69f5W6VsQRS61GynK5tr8awWRV4IwDnpt+S4Ktw/5sG6T/VvjW4eD5WV+g5O5FCPoXwI+ilODcmC+QMvAHO4nqLuED0nQx0tdFqcwHhNV3BwNip8CXy9WTBDsCcQv8a7vRKiPKB7G/2BzJLELpnRuzQN9RjXQ/FVh8xYG8i59d1fTfx8WBeKeWUJ0banFgjKdAo3dp/0WhOSPcrUKnGid8ADSS4JZkZ0T3gODsi2D6B089dY9VlNOIU3Zaj8DWgiikg9HJKjhyhI0d7vGis0wN7Yz229H
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(376014)(1800799024)(56012099006)(4143699003)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WGVDRHJWR3F2cjVjZEcwQW1KQWxHSHMxMU9IOHMzTnRJVm8ycVRrUHpkbUdj?=
 =?utf-8?B?aXhtV2NnRUpGSmRHTXRyVzRjUG1iMmlSZTRzNDB5Nk5xQ1BzUGlGUkM4ZzRs?=
 =?utf-8?B?amhweGp5bmx1bHZmRXppL2lvbHJyUWVuSzE2N29jVUtEenM3WGlRNUV5VUFx?=
 =?utf-8?B?UnU0VW1qbFdUeERyVmlRL29hZHd4VjE5UjgreWJURVE0cFNsZXlNdEh2NGh6?=
 =?utf-8?B?cEUrSHRFUng4aEhQZVB2M2RMRHJ5eUYzc3kvR2Q5Zmkxc0tSdGdCRlp5c1VL?=
 =?utf-8?B?S05Ea2xONENxbW5EbTZyZkZoN1d3SWp0akEvWWtjK3VSWVJqZFE3WmJRNmFE?=
 =?utf-8?B?VGZnZmZmeFBqaHhOUHJqMHQwVTZ0Q1BnRkRJYXpDbnZ3TXVJZXhreWNJZGNv?=
 =?utf-8?B?ZG81ckhBcXBONTcrK3BKRngxQ0xlc0NYdW9kMTNwSlVwZUNzYXA4cGZOZmV1?=
 =?utf-8?B?WTVicVV1MHdIbk1vSkJHYUhNWVN4T281YmorcWE0R1p2NUZaOWFyZVQxVkdC?=
 =?utf-8?B?SEZsTzUxWklOK0RtTXVIRDZQNVF4cWFrNk1xU0t0WDRBWTZTb3FVMXhQVlJl?=
 =?utf-8?B?ZXFleTEyWDZqdSsvQnBobUpSbmJ1eXRMZFczVUEzQXZQZ2U1N3pkUmswWkwy?=
 =?utf-8?B?TmFPT2dYVWtPMGVvUFVRQU15WTRrb2RjSHJrU0JUZml4VE82YmlKeDlaZDVX?=
 =?utf-8?B?THFLN2ZBWXFHY1dOcXFyVld1ZkZpMzlqclFSUG1saklmL0ZtTWlRREdIc3h6?=
 =?utf-8?B?NFJYS3N0N2ErcTQxTGFpWG56TlpsZVJiZ0lkZHpFZHcwRndhRXRIeXBqQmhB?=
 =?utf-8?B?VnAzSVBPcXFZelh0RHBKNGFrYXNCVEx1VEpQT3B1QVBSdENLQ0hJeENKdE42?=
 =?utf-8?B?RFpsTzRNcTBpMTFUczlWZEJJNGh6RmxSMmxMSzM2a3IxN2I4VUozT25JVnNk?=
 =?utf-8?B?L2VoTnd6WEVPM2FkYmJjQ0dzcjlwVTNEaUJlbWpScXdVMlo2TjBnRGxoU0Fx?=
 =?utf-8?B?UDZxcVBhQmtKdXhQVXIwcmtmZ3ltaWY0VG9aZXg4YmVRTjlFVC94STlKaWJ2?=
 =?utf-8?B?aGtqWCtuWkUxejBFd2VQV0V0Ym1uYzN6c3dGaDl6dllNSEFSTFZoTC9oOXJK?=
 =?utf-8?B?THlwNURMYUVrU0tUVk1YWWQ3blNGbllhd003UXBUU2RNcmtNejNEOUh2cjll?=
 =?utf-8?B?Z3RLaHRwZzFFZmJ1Ui93cG9mY00zWGVaRXducnpJN0Q2RFhPNUpaK2U4ekRZ?=
 =?utf-8?B?a1ZzMFBKMWJ4VTYvcmdVQlVnOFlmL2dwYUNrS3BlOG82RmlMZFUzeUlIY2tp?=
 =?utf-8?B?YUdEeUtUaGRIWjZYcmJiWTMzWTRlUk4wUUVnOEkydWRXNHNUWlJROHFuR2tI?=
 =?utf-8?B?RlJQeTc2S1pRbmRObGNZOU1jTVpXS2o2OUlBS0thWEUvUVIxQWZ3bUkyU0N3?=
 =?utf-8?B?Y3hoUmQwVGozOU1GRWdjaXR1b2xUL3M3NUdWaUpwK0tSL2tDbE1FODBXWjVT?=
 =?utf-8?B?YmsyaEFzV0lmall0WkpzVnYxczA3WDI2T0NuRVEwUkJFdGZ4YkxhKzhkZzNW?=
 =?utf-8?B?UnFLZnlZVHBkOWhiaGg1Q3NHeE5GU2VqanI0bko1Z1hvS3NqQi8yNXlQQ3Ar?=
 =?utf-8?B?eDNMaGFoV3VjUU5mSHF2c01xM3EvR045V29mUzI0clpxOU5KckxuUGxTblRC?=
 =?utf-8?B?RHl0Y01FdzVCWEhqU24zWS9rSE05VzBVc1liWkJMSk5SMlFHL1ZOZEhmTVFP?=
 =?utf-8?B?bVlQVlhWTmdsd0M2cTRBMmJYSHVUcU9BaVBrZTN1ZldDN09aQ1g3Nng4U0Zt?=
 =?utf-8?B?SlIxSTJLN1NhMDE5eVNzWTkxRUFTK3JXOXZMakJhdTlOYUduUXltSEMrSEZj?=
 =?utf-8?B?UVhaLzFJc0dLOXg3U3NKZmpjcEJyWFZNbTVxd0FkRlNsTGRzczI2bldjWStD?=
 =?utf-8?B?bHFFNjQzMmNmdmJZaTl3K3M3MTlwcFZhZkNKdlNQaW05OFFWWXlsZnJUVXhU?=
 =?utf-8?B?YjdIWVZ1L3htbUcxajcrMVlaMmtJY2NZMDN4azRFS0FxR1NZM0p3UWxwMno1?=
 =?utf-8?B?SWRad0VuaGtnYkMyVWZBa3dtL25wV2NvV1FJZzdOazVDTjVoK1k3K2pkbGFM?=
 =?utf-8?B?d0d6MFJvc2kzOVBrQlJHL0YwZXhNVUJlOXBCeVJkazdrbzlmUE4rQmpOK0VT?=
 =?utf-8?B?SS96TTFTQVQvWGloZDhyVDBZMmhIU2JGV0p2b2ZqeERMZGNjNFBndGNHSWNP?=
 =?utf-8?B?Z0JVUDl4dVZZOXIxNlh4eU1tQnArZTJRZ1dNTlg3Mm5wUnIrRWxVSTV0eURh?=
 =?utf-8?B?YVRmZE9NMFJNTUxvUk5ndmFlT1BUWFpoYmRmdi93TW1nZ0NnbE8yUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 33f184d9-4de5-42c7-6d31-08dec85670c6
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2026 07:44:32.0696
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HZUl8FqN9LLQRrxQep/4oiExQZiF+Gv1gf3diThnkZLZKEv1Iya0xkS4GcJmvFjahjobAPjTLl35XrUp9P6zug==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5570
X-purgate-ID: tlsNG-d62444/1781250275-ADB46FF4-F24469B3/0/0
X-purgate-type: clean
X-purgate-size: 1915

On Fri, Jun 12, 2026 at 09:40:03AM +0200, Jan Beulich wrote:
> On 11.06.2026 16:21, Roger Pau Monne wrote:
> > @@ -641,41 +642,62 @@ static int do_boot_cpu(int apicid, int cpu)
> >      return rc;
> >  }
> >  
> > -#define STUB_BUF_CPU_OFFS(cpu) (((cpu) & (STUBS_PER_PAGE - 1)) * STUB_BUF_SIZE)
> > +/* Dynamically allocated, indexed by CPU.  Store physical address of stubs. */
> > +static paddr_t *__ro_after_init stubs;
> >  
> > -unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn)
> > +static bool assign_stub_page(unsigned int cpu)
> >  {
> >      unsigned long stub_va;
> > -    struct page_info *pg;
> > +    paddr_t addr = stubs[cpu];
> >  
> > -    BUILD_BUG_ON(STUBS_PER_PAGE & (STUBS_PER_PAGE - 1));
> > -
> > -    if ( *mfn )
> > -        pg = mfn_to_page(_mfn(*mfn));
> > -    else
> > +    if ( addr == INVALID_PADDR )
> >      {
> > -        nodeid_t node = cpu_to_node(cpu);
> > -        unsigned int memflags = node != NUMA_NO_NODE ? MEMF_node(node) : 0;
> > +        nodeid_t nid = cpu_to_node(cpu);
> >  
> > -        pg = alloc_domheap_page(NULL, memflags);
> > -        if ( !pg )
> > -            return 0;
> > +        /*
> > +         * Attempt to use the same page as the previous CPU if possible,
> > +         * otherwise allocate a new one.
> > +         */
> > +        if ( cpu && nid == cpu_to_node(cpu - 1) &&
> > +             PAGE_OFFSET(stubs[cpu - 1] + STUB_BUF_SIZE) )
> > +            addr = stubs[cpu - 1] + STUB_BUF_SIZE;
> 
> Isn't this path also going to be taken if stubs[cpu - 1] is still INVALID_PADDR?
> That may be a purely hypothetical case right now, but imo would better be
> covered right away.

Yes, indeed I was assuming that stubs[cpu - 1] would always be
populated, which it's the case currently, but you are right that it's
trivial to also take this scenario into account here.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 07:55:56 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 07:55:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336388.1598163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXwk2-0003h6-8n; Fri, 12 Jun 2026 07:55:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336388.1598163; Fri, 12 Jun 2026 07:55: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 1wXwk2-0003gz-4W; Fri, 12 Jun 2026 07:55:50 +0000
Received: by outflank-mailman (input) for mailman id 1336388;
 Fri, 12 Jun 2026 07:55:48 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wXwk0-0003gt-DM
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 07:55:48 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXwjz-00FJeR-CV
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 09:55:47 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2bbb7f-e002-0a2a0a5209dd-0a2a4501b4cc-14
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 09:55:47 +0200
Received: from [209.85.128.172] (helo=mail-yw1-f172.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2bbb82-c1f2-0a2a45010019-d15580acd55f-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 09:55:47 +0200
Received: by mail-yw1-f172.google.com with SMTP id
 00721157ae682-7e1916922b9so7959937b3.1
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 00:55: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1781250946; cv=none;
        d=google.com; s=arc-20240605;
        b=hxWa6fIhUR1sJUPWl3sX5tAFRKO/OgxpnAXgV35ws31YBzx/SZZ01X2/VXlGlSbzfL
         MTXS30nwSpFsOoaEbXfw3rI2J5v8DlV2kxsRj+jFZxxweeK6b2IjaNoRbghqHOaRrDvZ
         2O2286p0GQTwyDcjDw9ayPd11LflOazxJ32CEqUfECPTUqq/pVn8vw2iLnRaLegFhV8R
         rAaHv3EZ5nuEDpmhi3NUUIXbWHrCm5HpitrcGX6A8WAtm6kECDMQ8YpxIqkOXgnyxL/y
         CgNmKmZtmguY8WNYhtr95nw1y4DD5doN+GC98+Ogz5Quxeo//udXKbsxYrhxC5r9xfOL
         Mtpw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=4WAhgM/bwj4Gunw+2eRNScB2cGhm25KSvmpb0zLwcjU=;
        fh=s2+nLqHBycqOi7ZA4ENoQVOPj02eSuGNAm2O5IHcq8w=;
        b=OJbswmarfAZCH8PLCTUaTzaAPgrTZzlrmPKbjte7t+gPbIY3hAgjlb2eIJsuQu2bzI
         bqXMFWAGagUIVdVaL8BtHizDsAPjP5W0ZHB5iOKtY8BMBhc22rDsQ+s26+ZMZ1PeJfTj
         FcR42URVHGW8T5hFTcFtEU7hBKz+hYmfvZ7IsmZ+nxtr373tKCgTS4T/yr7AX1VwRLh1
         gDt1ieexeQvod7ynOWccnnZmgkeKLTw/OmQGzQS9yrxrS/fZ4BgmY3pyajyie+UuUm8z
         wQnR1Yps1RVAZn8hbThRrhCD0ObAs0ruZoMauul0qF6LQR3p83PDANcTMibvJyKwnPka
         7S2g==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781250946; x=1781855746; 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=4WAhgM/bwj4Gunw+2eRNScB2cGhm25KSvmpb0zLwcjU=;
        b=hxYwIQOGXLW86ABPS5dIKAbmeALiG0j+BssU1PvLsPoXrohPcb/gfrbDrIeRGNdyz6
         j9mzG2k3WKrwwNSJ+d5HMzcyyAAwDVrv4Fvrn3cM4yEDYTZ0/HP9i/Y5ETfuvDHK3PtZ
         ToLMaRjWe9TiaGy6zCE2Z+C38Ibdb9D1/f10ll3KGzZeYf8Gv3INyKbcCl6e1ChqpN/n
         TLJJLKM1rTJ+CnG3thc8PU72tnQMIqaf0urGKpQ5iNmVYL3TtmJhnmlBI2zbCOIv94wR
         3eUz6BQ7gL4YVWrDILIxaq0fw7661vRuUC9OOSj8eG92k3PEREiUEHpDDGzbrcc2d2GZ
         ypcg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781250946; x=1781855746;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=4WAhgM/bwj4Gunw+2eRNScB2cGhm25KSvmpb0zLwcjU=;
        b=rMMr5vgiZ+QEkC6RUJuPQFSvG8DWmZyONP6O2xQUvYk5M6kENmt2GtF1fiY7he2fiV
         4N7QYRMvrK2+y5zKYqyzbBT9Rjyft9SR3KyjPa9CyYnWgQdbUqmgYllNthTECTCpbKTw
         TGsQoulB2xynyHjv/mXnAFjk7zdNJOuFX9nLHqyBbW70pYciqDvfM431PV2flQOPChm7
         c77VoKFPNJZTWtZVd8qCkviW/YtsA4bgsOssXdtB6175FzvzJoQUgqKP2k4l4n60MFUd
         jBgc/KL+XfWudRHOehCb/mXgX4Nucxp/YL4lRcLOXEdDA6TOG4AI76/rBDVUgnVKU7ot
         FRNg==
X-Forwarded-Encrypted: i=1; AFNElJ9OZ2ISYG1B2q/wzCUNQAFXCdmuj6WbhMzLwUZUUgmESD2bwhelCkC46LUHc5161vSsQLMMibZKcpc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw89lOSSoMUKB+BP/95bGlg6RT4ldhgVr5g7Qu7bDLFwfoCwTii
	BJ4tB01Adw1wIKkKEl/pGpMI2rdW6nLWgCvdU36/Rxc8BW9OQedtwsfeBxfo29vlKPCrUb7m5gt
	cgBql9zoxb5cTmk7+MR9y7fB8b4EqfkU=
X-Gm-Gg: Acq92OHX0FzQdA8Mvb+zHwz68xXrUOxaDhkjqfmN/x+xBd+WMgM/RgDUZPkXQ/f2oF5
	Ui7B7fN642+NqGLmdh4IFQla17QIKcLPltE8EGyWY+foRPSbdH7xA+JqWMK2bPnd8xGe8iIn9uC
	Zqo7zAGZHJJUgmPG/SIdrAweKZnXh1R0/m9eUav0Ibb9fknNRzR0eva99moeetW1vn6u/xLZUnW
	1vDl/k0pzEHSJ9JA9uwWDZ77vA9slEGI7TLP3TdAYE0hZob6FWxz+z0MX5oGm9Mm/RP8RroBjHy
	xuzuka5sM+LrDdp9CEGoNHHzUdqlY6m64x8pkg==
X-Received: by 2002:a05:690c:2605:b0:7cf:a117:4ec8 with SMTP id
 00721157ae682-7f7b891e0c3mr14176207b3.38.1781250945793; Fri, 12 Jun 2026
 00:55:45 -0700 (PDT)
MIME-Version: 1.0
References: <20260611153257.650054-1-frediano.ziglio@cloud.com>
 <20260611153257.650054-3-frediano.ziglio@cloud.com> <1781220672.8631fc262581453bbf619ec5b2062170.19eb906840c000701b@vates.tech>
 <758494a2-e3ec-42d2-85fe-9ed9d21c682f@suse.com>
In-Reply-To: <758494a2-e3ec-42d2-85fe-9ed9d21c682f@suse.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Fri, 12 Jun 2026 08:55:33 +0100
X-Gm-Features: AVVi8CfAI_lX5QECtp8rA8IyirQ6O22PUYJ6x4hF_kvAOsYE14ZbFlpnqBnJZkY
Message-ID: <CAHt6W4dUzZjFGjB3g94yuPrnzCN4Z=K2gR=zUK=G=0=_J-R0vA@mail.gmail.com>
Subject: Re: [PATCH v2 2/4] x86/efi: discard multiboot support for PE binary
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Frediano Ziglio <frediano.ziglio@citrix.com>, Teddy Astie <teddy.astie@vates.tech>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-d62444/1781250947-AD5AFFF4-42BE9BE7/0/0
X-purgate-type: clean
X-purgate-size: 2316

On Fri, 12 Jun 2026 at 08:21, Jan Beulich <jbeulich@suse.com> wrote:
>
> On 12.06.2026 01:31, Teddy Astie wrote:
> > Le 11/06/2026 =C3=A0 17:33, Frediano Ziglio a =C3=A9crit :
> >> From: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> >>
> >> The multiboot headers (.text.header section) are not consumed in the P=
E
> >> binary, hence discard them in the linker script when doing a PE build.
> >>
> >> The multiboot and PVH entry points are not used in the PE binary, henc=
e
> >> discard them in the linker script when doing a PE build.
> >>
> >
> > nit: it looks like both paragraph state the same thing
> >

This should be enough:

Multiboot and PVH booting are not supported for PE, hence
discards them in the linker script when doing a PE build.

> >> That removes some relocations that otherwise appear due to the usage o=
f the
> >> start and __efi64_mb2_start symbols in the multiboot2 header.
> >>
> >> Section discarding is not done updating DISCARD_SECTIONS definition as=
 the
> >> change is specific for x86.
> >>
> >> No functional change intended.
> >>
> >
> > Given that this now prevents booting using multiboot2 when using the PE
> > build, this is a functional change, even though it's strongly
> > discouraged (not officially supported).
> >
> > I would add a changelog entry to actually state this change (eventually
> > reminding that this was not actually supported anyway).
>
> Did that actually work though? If not, I wouldn't see a need for a Change=
Log
> entry.
>
> Jan

No, multiboot for PE never worked. I agree it's not needed.

Some more long explanations are in place. Multiboot headers and code
was always included in the PE file. Not as ever used but because the
code was common with ELF. Multiboot specifications include support for
a.out and ELF (and potentially some binary loading) and all boot
loaders (as far as I know) followed those specifications. Here at
XenServer we attempted to extend multiboot2 to support PE however at
the end we ditched for another solution (extending
xen_hypervisor/xen_module in grub) as more clean and simple. The
multiboot2 code was never attempted to be upstream in grub (so it was
only an internal PoC) while we intend to upstream the
xen_hypervisor/xen_module solution.

Frediano


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 08:23:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 08:23:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336403.1598170 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXxAg-0000aN-Lu; Fri, 12 Jun 2026 08:23:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336403.1598170; Fri, 12 Jun 2026 08:23: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 1wXxAg-0000aG-J6; Fri, 12 Jun 2026 08:23:22 +0000
Received: by outflank-mailman (input) for mailman id 1336403;
 Fri, 12 Jun 2026 08:23:22 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wXxAf-0000a9-VD
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 08:23:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXxAd-004nzE-OO
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:23:19 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2bc1f1-e002-0a2a0a5209dd-0a2a450cbe8a-14
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 10:23:19 +0200
Received: from [52.101.48.39]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2bc1f5-62f1-0a2a450c0019-34653027b660-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 10:23:19 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by SJ0PR03MB7126.namprd03.prod.outlook.com (2603:10b6:a03:4e2::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.13; Fri, 12 Jun
 2026 08:23:16 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.014; Fri, 12 Jun 2026
 08:23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NEbbYP9to4zTw3wftHZ7mYHHMVXVh0V99Bs+SZoqrgJamCYkVUzR44Dqlkhknx+sUUm4SAos2yBo6ydRNX4Mv2vYR9QA9ZEbTk+8P/IlKXSI5VamPFdKN0uyw95z2qBee9c+Nxd44cKlXxDPss74P0Z71fxroS77v9bPSKclAYdI+hFv4Lzq0E86SDDHIx8zE8wKdyTWS3tLp5DGsThUW4BcWAD8w9ATDT7JKaUo6pxbniWcCrf1MhRSZ8igPZOFp1Qlncb9g20E3dYxQwtwBWJfNLAYhre750Z7oLnVjVZTZ1FTBNaYYUGhaxeGXZ6OQCDAwZrwOX08oNAmSfuTMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Sgoc7mQGRwQ9DHVuyUCgB8OO7E0dQMwM63Ze4e6CDNw=;
 b=I9O7a3S+mkOjRkS933LIRH39KTvuMfHmgetIbBL73b7JtMf/JQ2eF88Y66mQS8cLgh5PLVLPWLxkMV70EWxiuvMIY0Et8yuVLzh9Ow7v1E5/eYpei9q2qNESjGjunOEMzTlO1P+baIUMZ9DvSK7ZdupBDh5P4ycQXo8J+lZ7vLf6D/m+ppDnwDI6eDGJ5PRnD/TgrVOlSb1mPwae/FSWZ3KE6R70zhQR7yZffIC1ovamHFhKxmYJdvCk4fE7YiWRlXu2Txkb4F4wyY9TV9NNt9amuvv42gWINGGwKjA22mOyjLZzr4/9sle2XelsLlWketJZ19iLE4rAHB1itYA3PQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Sgoc7mQGRwQ9DHVuyUCgB8OO7E0dQMwM63Ze4e6CDNw=;
 b=FcTIFQbozZgXc8Yk2l+9nv5cYD7tZJOnji7Mw1+VdIaQv8zFSLRfFqzzjO1fLJk2LduxI9FWZ3TJFYbryzB0YzzcEK8HBlS9fgWOWiu3W1MT0LD2Rvd+JoB5tKDpBEEJ/KgDuRtlZUHX0SOb4F/fm0N2oUBPsO5q5uatpelLcBE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Jason Andryuk <jason.andryuk@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Oleksii Kurochko <oleskii.kurochko@gmail.com>
Subject: [PATCH for-4.22 v3] xen/x86: Change stub page allocation/free
Date: Fri, 12 Jun 2026 10:22:13 +0200
Message-ID: <20260612082213.82235-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR1P264CA0162.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:55::6) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|SJ0PR03MB7126:EE_
X-MS-Office365-Filtering-Correlation-Id: 9df52623-f89a-4633-24b2-08dec85bd9f5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|366016|23010399003|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	ro4xnxPQ6EJ/7J6Wy8WKHdsAfLs6KckZU5JQBr43YX2JDBeiD2o5ypoQDpTe5AZ3tgNTbG1iXjuUTzIcRY+0I0PGWezR6Sf/+hhyIk2jCJpEJRwxpGCWuq6jE78yt0+0ZEbgGzhWo1yyESDiUSOiWzxcL+iJA+FjL5b/gumgvs6aFtN54n0JchcorKHpVn5tI4jn4dyZCZ7/e7OxwSufQgtLflO1xiogyBH/uzsBEdwLvr/E4YHA2oP7jiBb/3zCpNOej2C0+qLEWpgL/zRE7QcDonMfnDsXsl6aBd8EIZmoNolqO/E8oXHSi7sPK/gtrBsf0eteve9UQaDTnlOZO4EhAvRoTBHx/c0IgoDopOk8AjlcXMz8klkW6Xnp/e2ugwxbASYLnJb0Sw+y37PTv46EZyeD6gQJAlLKnJz18A8jeuMRWyPSZ5oXXa55lk77shBQmS/O6aYglTkCLo47U3LIBF4LTT+0vs/FZTt8JNPSEeZKbUQ9p/enEQNhay9yuCr+6jb3ldBRNjwgNsJT/EGdvU1xzOmmeU+1UMrffXnzZapFChq+UyBr5SrIBH4n7TBT3mMP6Kd/A5Qx2cQNekCzQlyuItXPqYsQsqdoVtUDAnr9FotCuNH1eCA4MwK3WhaV47L/8pINrMLeIOqaKFRfqYCbC8BcNjnw89J9QByClbJdkCyK/HdD11d1t/TJ
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(23010399003)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WUtVaTQzL1NZZm1HSjVhUzRLdVU5N2NyQ3E5emxhckVUWkxoSGIrcHBQOFNq?=
 =?utf-8?B?NVA3SjlRODVrLzA0UVVGNGdlNzlEQzAveENCb1FmQjFXZy80UTVNN0wxeUdK?=
 =?utf-8?B?Z3JJM2hsN2tCaTVuV2htTmY4WndTTEFZTmhzY0t1QkNMT1Bybk56ZUZxTHZU?=
 =?utf-8?B?bUgxeU5sZEY2MTU0RmNQbjk1QXk5Yy9jemwweG9jZ3BKdFV4dkMrblV2YkNY?=
 =?utf-8?B?dEJSL3FBTWNHNGMxL1k2eVFYUUhMREZ4cmx5RmdUV21RaCt0U3MzQWVQQUhQ?=
 =?utf-8?B?dU43T1F5aEwxNG8zR0ZER1hmN2srM3VjYUM4Q29haWg5cXNtVmprYXhhZzRy?=
 =?utf-8?B?UmdHT1UrQ09uMHhZVnRWR1REaE5FMUxOelVveGlzMU1sWUw1NVF3ZEpoYjk3?=
 =?utf-8?B?cHhlMDJrZ0VnNDk2eTFlWitDcGNTZVh5RFNkQ1dXbjkwRjE0eVZ5dld4M1Jh?=
 =?utf-8?B?clZmZzl3aCtBZ3FZbUhUTlluQ1AzbkJxRWxQWjQvUFNyTkx4NjltWGpwbnFl?=
 =?utf-8?B?UGpsVHlqTk95NVVKTmlaUks5dG4xVTg2dmNNQXc3c2xnUHRlOUZ2UVZqbkhW?=
 =?utf-8?B?eXhTdENGdnRpZitLV1lRRXluNHF5dXMvNmE5ODgvaEd4cWE4YWJKM1c0V3I2?=
 =?utf-8?B?bHVGN1FKeVM3aGh3clhYd3RhSnUraWVzOTR6V1RpeUFINmJVaFNUUXBQZUxH?=
 =?utf-8?B?ZkQwbHVBVFJGN3lma0ZndHY3WWZXYkZ1OG9BRjdkcTNzUWZQelBpVEFRdG0w?=
 =?utf-8?B?WGo3Ym5zNWtCZVJoUVlVNkwxckdQOXZjNUE1cmJ3WnlTbzZaUnBJNmtvZytT?=
 =?utf-8?B?K1RUQnc3YlpvL0E5SXpQT3BJcW5DZnAvaGJNd2k0RXhISGtId1JPM3Z3ZHNi?=
 =?utf-8?B?aWxsT0Uxc3dKdmdiTExVZnhNRG5kWllHeUFWdVZJb0dRQmdOd0RwV2c1aFY4?=
 =?utf-8?B?cW9RSkovanFoYXdpUTk1dFl6RjBybi93MkR4bWE4aTR1dng2dDl1UUNKV2JL?=
 =?utf-8?B?NXgzTkR6dUVtUUZISTIxeHFwdXNBTUJPa1QxbFNUSEhVZUxTRUdPb0hucVBN?=
 =?utf-8?B?cG1ORzFRMEk4QWNjZmpBaWdLMEpHb1BDMyt0SE5yMk51MGpXR3VGS3RjZ21Q?=
 =?utf-8?B?dnhDYkNxWlBXQ05paXNidVpTY005MDV2aWJsRGljbGZTUlhub0syaGVpakUx?=
 =?utf-8?B?VElDcGJnODNUaTdYeENhTUNsRnA2YUMxQVNleFNqMVMvR0xGcHhUbGcxdWhy?=
 =?utf-8?B?VEJlUCtPSUhLU21pOGhkbVdCUGppa2t2NVlETXAySHMwNWwrZ0prZVdaczdP?=
 =?utf-8?B?S0F6dkFiaDdGT0xlL3hCSllzN05rNmMydnpkZlY2Y0NxRWViT2RPWXNMK1FY?=
 =?utf-8?B?MWNETjJ1aW9kY2xWSWs3MC8wajdrVERpZW5UYklzQjBMZHpraWxkVFZoN2pu?=
 =?utf-8?B?U0YyMFNXRWJtVGIxdDdSeTEzTnc5bHdlMkJ1TGJGQVpsMFRMKzhBdWNTQ0RG?=
 =?utf-8?B?M0xzS3h3OFlyeG44ZDNYV3J4dGRkb0l4RURzNndlR2htQ01DS0FwdW5JYkM2?=
 =?utf-8?B?aXRrT2FzZGdDMHFydzJEL1FOWnFYSzE4VkFHY3c4OGgrNDZ6R1I0Q0xFeHpZ?=
 =?utf-8?B?ZHZYZGcwSThaL0ZraTdudWhGZzlJV0prRzhWbkhwQW1EOUd4K1BMcm1mRy91?=
 =?utf-8?B?eTBEMnN5Q29KdHBjQlN6LzNNOUZ2eWtqZjI1ajJzYkxMSVZ5dXFWVHFYem8x?=
 =?utf-8?B?U2poWnhkZ0VLRHl0VjNhTGhYWmV1eW9oTnJwdWlCQXhLelNWY1NDZm5lUHk0?=
 =?utf-8?B?QXZPdGNiOTZHTjBZSEd1aEhtN29YZXRKMzlKWDVEb1ZPQUhpL1o2Qjh0cjVK?=
 =?utf-8?B?TDMvRk4wYmh3Z0hONXZZSVN0R3pUYmt5QVVIVTZINk5Cb0xtZWl2U3lzVEU4?=
 =?utf-8?B?UVlDaVNDZ3JHWmZva1lkYisrNGZsM3l1QlZkSEtjZEMxb2k5cldXNGRycitF?=
 =?utf-8?B?L1pHMjA4T1FqWjcyY2o3Um4yQUppbkxpNmNMUEF2Wnlvcjd2VnB3V1VTNTcw?=
 =?utf-8?B?MDlYZHlLeUZ1OGhDYmlUZFA2akpzT2prbEY3dUJ0MFhEakI3dDNURWZGNVRz?=
 =?utf-8?B?Z3NRc1FIWVV6bzJIV1pIZEloQVFpUUFOakUrSG5HdzlDcmJoc3pKOWFtaVBu?=
 =?utf-8?B?UkF0UFZYSmduNlY2VEdQMHUxRSttcXZ5Q0R4WUJ5UzhmTGNtUnlPQVl2QUN3?=
 =?utf-8?B?WXh6aG1MLzNUMDdtaVJ2a0ZOZWI1RFkweXdBOEk4QW9lejVFSkZHOVdxd1JL?=
 =?utf-8?B?Wld3bDhUbWJrbjJ0akxVaHpsRkZyT2E3QnduVVJCLzRNaVZjK3lXZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9df52623-f89a-4633-24b2-08dec85bd9f5
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2026 08:23:15.9686
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Dwh5cz3uh1wPtufJHEsRN+gYDXap4lI2GlAXauFZSfVx0hTuIx5D06su0sXJQ0sPm9/UALuXflxjOBmbcZAYSQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB7126
X-purgate-ID: tlsNG-d25034/1781252599-DBB7CCF5-DC37D84B/0/0
X-purgate-type: clean
X-purgate-size: 8160

From: Jason Andryuk <jason.andryuk@amd.com>

Today the inline tracking of the stub page is problematic.  0xcc is used to
indicate unused, but it is also a "clear value."  A !CONFIG_PV build or
when running with FRED support will not populate the LSTAR/CSTAR stubs at
CPU bringup.  If a CPU is then offlined, the stubs page will be freed as
its content will be all 0xcc, regardless of the stubs page still begin
referenced by other CPUs.

The new approach uses a global, CPU-indexed dynamically allocated array of
stub addresses.  However, to handle NUMA aware allocations, we cannot
allocate all the memory in advance because of the NUMA dependency.  Take
advantage of the fact that Xen will attempt to contiguously pack CPUs on
the same NUMA node (see normalise_cpu_order()), and on CPU bringup use the
same stubs page the previous CPU did if suitable.  Note the code would
still function properly even if CPUs from NUMA nodes are not contiguously
packed, it just consumes more memory.

stub pages are no longer freed.  They remain referenced in the global
CPU-indexed array and are re-used if the CPU is re-onlined.

The stubs array doesn't have an explicit lock.  During boot it's accessed
single threaded.  During runtime, &cpu_add_remove_lock serializes access.

Fixes: 7a66ac8d1633 ("x86: move syscall trampolines off the stack")
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Tested-by: Jason Andryuk <jason.andryuk@amd.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
Release-Acked-by: Oleksii Kurochko <oleskii.kurochko@gmail.com>
---
Changes since v2:
 - Adjust commit message.
 - Handle the case where stubs[cpu - 1] == PADDR_INVALID.
---
 xen/arch/x86/include/asm/stubs.h |  2 +-
 xen/arch/x86/setup.c             |  4 +-
 xen/arch/x86/smpboot.c           | 94 +++++++++++++++++---------------
 3 files changed, 52 insertions(+), 48 deletions(-)

diff --git a/xen/arch/x86/include/asm/stubs.h b/xen/arch/x86/include/asm/stubs.h
index a520928e9a50..467551136a2a 100644
--- a/xen/arch/x86/include/asm/stubs.h
+++ b/xen/arch/x86/include/asm/stubs.h
@@ -32,6 +32,6 @@ struct stubs {
 };
 
 DECLARE_PER_CPU(struct stubs, stubs);
-unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn);
+void init_stub(void);
 
 #endif /* X86_ASM_STUBS_H */
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 4192edf635b6..0253d22c349d 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -2089,9 +2089,7 @@ void asmlinkage __init noreturn __start_xen(void)
 
     init_idle_domain();
 
-    this_cpu(stubs.addr) = alloc_stub_page(smp_processor_id(),
-                                           &this_cpu(stubs).mfn);
-    BUG_ON(!this_cpu(stubs.addr));
+    init_stub();
 
     bsp_traps_reinit(); /* Needs stubs allocated, must be before presmp_initcalls. */
 
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index d8fd71ffab37..76e7ee6af6ed 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -20,6 +20,7 @@
 #include <xen/serial.h>
 #include <xen/softirq.h>
 #include <xen/tasklet.h>
+#include <xen/xvmalloc.h>
 
 #include <asm/apic.h>
 #include <asm/cpuidle.h>
@@ -641,41 +642,64 @@ static int do_boot_cpu(int apicid, int cpu)
     return rc;
 }
 
-#define STUB_BUF_CPU_OFFS(cpu) (((cpu) & (STUBS_PER_PAGE - 1)) * STUB_BUF_SIZE)
+/* Dynamically allocated, indexed by CPU.  Store physical address of stubs. */
+static paddr_t *__ro_after_init stubs;
 
-unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn)
+static bool assign_stub_page(unsigned int cpu)
 {
     unsigned long stub_va;
-    struct page_info *pg;
+    paddr_t addr = stubs[cpu];
 
-    BUILD_BUG_ON(STUBS_PER_PAGE & (STUBS_PER_PAGE - 1));
-
-    if ( *mfn )
-        pg = mfn_to_page(_mfn(*mfn));
-    else
+    if ( addr == INVALID_PADDR )
     {
-        nodeid_t node = cpu_to_node(cpu);
-        unsigned int memflags = node != NUMA_NO_NODE ? MEMF_node(node) : 0;
+        nodeid_t nid = cpu_to_node(cpu);
+
+        /*
+         * Attempt to use the same page as the previous CPU if possible,
+         * otherwise allocate a new one.
+         */
+        if ( cpu && nid == cpu_to_node(cpu - 1) &&
+             stubs[cpu - 1] != INVALID_PADDR &&
+             PAGE_OFFSET(stubs[cpu - 1] + STUB_BUF_SIZE) )
+            addr = stubs[cpu - 1] + STUB_BUF_SIZE;
+        else
+        {
+            struct page_info *pg = alloc_domheap_page(NULL, MEMF_node(nid));
 
-        pg = alloc_domheap_page(NULL, memflags);
-        if ( !pg )
-            return 0;
+            if ( !pg )
+                return false;
 
-        unmap_domain_page(memset(__map_domain_page(pg), 0xcc, PAGE_SIZE));
+            unmap_domain_page(memset(__map_domain_page(pg), 0xcc, PAGE_SIZE));
+            addr = page_to_maddr(pg);
+        }
+        stubs[cpu] = addr;
     }
 
     stub_va = XEN_VIRT_END - FIXADDR_X_SIZE - (cpu + 1) * PAGE_SIZE;
-    if ( map_pages_to_xen(stub_va, page_to_mfn(pg), 1,
+    if ( map_pages_to_xen(stub_va, maddr_to_mfn(addr), 1,
                           PAGE_HYPERVISOR_RX | MAP_SMALL_PAGES) )
-    {
-        if ( !*mfn )
-            free_domheap_page(pg);
-        stub_va = 0;
-    }
-    else if ( !*mfn )
-        *mfn = mfn_x(page_to_mfn(pg));
+        return false;
+
+    per_cpu(stubs.mfn, cpu) = PFN_DOWN(addr);
+    per_cpu(stubs.addr, cpu) = stub_va + PAGE_OFFSET(addr);
+    return true;
+}
+
+void __init init_stub(void)
+{
+    const unsigned int num_cpus = num_present_cpus();
+    unsigned int i;
+
+    ASSERT(!stubs);
+    stubs = xvmalloc_array(typeof(*stubs), num_cpus);
+    if ( !stubs )
+        panic("Unable to allocate stub array\n");
 
-    return stub_va;
+    for ( i = 0; i < num_cpus; i++ )
+        stubs[i] = INVALID_PADDR;
+
+    if ( !assign_stub_page(0) )
+        panic("Unable to initialize BSP stub region\n");
 }
 
 void cpu_exit_clear(unsigned int cpu)
@@ -990,19 +1014,12 @@ static void cpu_smpboot_free(unsigned int cpu, bool remove)
     {
         mfn_t mfn = _mfn(per_cpu(stubs.mfn, cpu));
         unsigned char *stub_page = map_domain_page(mfn);
-        unsigned int i;
 
-        memset(stub_page + STUB_BUF_CPU_OFFS(cpu), 0xcc, STUB_BUF_SIZE);
-        for ( i = 0; i < STUBS_PER_PAGE; ++i )
-            if ( stub_page[i * STUB_BUF_SIZE] != 0xcc )
-                break;
+        memset(stub_page + PAGE_OFFSET(stubs[cpu]), 0xcc, STUB_BUF_SIZE);
         unmap_domain_page(stub_page);
         destroy_xen_mappings(per_cpu(stubs.addr, cpu) & PAGE_MASK,
                              (per_cpu(stubs.addr, cpu) | ~PAGE_MASK) + 1);
         per_cpu(stubs.addr, cpu) = 0;
-        per_cpu(stubs.mfn, cpu) = 0;
-        if ( i == STUBS_PER_PAGE )
-            free_domheap_page(mfn_to_page(mfn));
     }
 
     if ( IS_ENABLED(CONFIG_PV32) )
@@ -1041,10 +1058,9 @@ void *cpu_alloc_stack(unsigned int cpu)
 static int cpu_smpboot_alloc(unsigned int cpu)
 {
     struct cpu_info *info;
-    unsigned int i, memflags = 0;
+    unsigned int memflags = 0;
     nodeid_t node = cpu_to_node(cpu);
     seg_desc_t *gdt;
-    unsigned long stub_page;
     int rc = -ENOMEM;
 
     if ( node != NUMA_NO_NODE )
@@ -1092,18 +1108,8 @@ static int cpu_smpboot_alloc(unsigned int 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 )
-        if ( cpu_online(i) && cpu_to_node(i) == node )
-        {
-            per_cpu(stubs.mfn, cpu) = per_cpu(stubs.mfn, i);
-            break;
-        }
-    BUG_ON(i == cpu);
-    stub_page = alloc_stub_page(cpu, &per_cpu(stubs.mfn, cpu));
-    if ( !stub_page )
+    if ( !assign_stub_page(cpu) )
         goto out;
-    per_cpu(stubs.addr, cpu) = stub_page + STUB_BUF_CPU_OFFS(cpu);
 
     rc = setup_cpu_root_pgt(cpu);
     if ( rc )
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 12 09:02:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 09:02:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336426.1598180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXxmd-0006a7-LW; Fri, 12 Jun 2026 09:02:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336426.1598180; Fri, 12 Jun 2026 09: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 1wXxmd-0006a0-HP; Fri, 12 Jun 2026 09:02:35 +0000
Received: by outflank-mailman (input) for mailman id 1336426;
 Fri, 12 Jun 2026 09:02:34 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb118330000701b@swg.vates.tech>)
 id 1wXxmb-0006Zu-Jx
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 09:02:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXxmb-00FP6A-0W
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 11:02:33 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb118330000701b@swg.vates.tech>)
 id 6a2bcb26-bab6-0a2a0a5309dd-0a2a4502d114-18
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 11:02:32 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb118330000701b@swg.vates.tech>)
 id 6a2bcb28-af86-0a2a45020019-b9ff1c12802d-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 11:02:32 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb118330000701b.003 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 09:02:27 +0000
Received: from [192.168.1.18] (unknown [88.188.240.210])
 (Authenticated sender: teddy.astie)
 by mail2.vates.fr (Postfix) with ESMTPSA id F0D668647F;
 Fri, 12 Jun 2026 11:02:26 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=LmXVHT+g0GkUpqc/rP0UVxSCKlXOQ3kDbNcBXmb1bNM=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=Ok8xfVmH3PEcLDEkupVDvcdpXRDAqIISl4fnbqS4OeB79Z79uQCjYLAZjlEVuwBkUmgRT/ByA
 C5/KM0RrAWbbJ6o1HuGB0iyLR/iKW6xCMJYsCoA3Ww/37xgl9D+C0pK+nQGXuDalazqkjAct5nQ
 /WcxAnL3/NL5JkAprPssjBxHENM7TL8ZHbmnWKSzn5KtLW6GT6niNYbOuVG7+1NMrRQ1twnQPOw
 IunYyagVnRLXFipg/0ihblbO4+Jcp7rPm2sItQEB0e8mRu8WoXy6T2v54QcJUFjyY2DQO7Yhb/U
 kkFmaSJ5zGelQMy0wf93hoxaY8GAQWzR069crdBVlxkQ==
X-Zone-Loop: f580fba6374721e853dd7ba285b49592ce725efa160c
x-campaign-type: default
x-transaction-id: 795dd132-bb69-46c0-92e9-29f00bba589f
x-swg-uid: 01-ba408b1c-d92c-4e6d-bd11-8ad6a7c87782
X-Mailer: Sweego
Message-ID:
 <1781254947.8631fc262581453bbf619ec5b2062170.19ebb118330000701b@vates.tech>
x-swg-bid: 1781254947.8631fc262581453bbf619ec5b2062170.19ebb118330000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 11:02:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [REGRESSION][BISECTED] Long boot time with Xen HVM guests during
 PV spinlock initialization
To: Thomas Gleixner <tglx@kernel.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 regressions@lists.linux.dev
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Olivier Lambert <olivier.lambert@vates.tech>
References: <1780914594.8631fc262581453bbf619ec5b2062170.19ea6c8227b000701b@vates.tech>
 <87ldcp3w16.ffs@fw13>
 <1780997262.8631fc262581453bbf619ec5b2062170.19eabb58e51000701b@vates.tech>
 <87y0gn3fve.ffs@fw13>
Content-Language: en-US
From: Teddy Astie <teddy.astie@vates.tech>
Autocrypt: addr=teddy.astie@vates.tech; keydata=
 xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7LTBVHV/XO
 Zw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJT4ny+OGntnJntUoR
 KRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJAWicutjkkUgd28Bh6HV9EIumH
 tCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaT
 VqMdqul07o72m3eA2mf+LMu9a04FX/d4wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/
 EoucejoZ5SH49ksmVAmKOLktOaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+S
 PhHar7TPKjFz0G3DPNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89
 MXfQXZ3qt1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
 LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWjmoACGwME
 CwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNzuyOVCskwfUZPla6Z
 pd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp0x0HfuhcYfAYPR46XHTvjaJE
 v99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuROxdK8G+YHccJY8PvWSq2K2yiae2KGiAv
 1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhP
 eP3IdpfWc8cyRLXF06Rk46YMYCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcT
 UwgnYlFRk2FLq0QeKEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9
 Egr/Wmu3MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
 f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEMAKiQiZa3
 yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ3DbVf+en3/FvdVZg
 2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTmetSG5/52AjtmPFtlXAk0NmLv
 fJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0s3109sJeXT5ImVdphFs9cvyZyBT9t1Pb
 Rowv58EgV0zE4hbAeVkULAbxFV5b/ExTjjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKb
 Yu6NCfiHfEyB3Xyg9hfdrRgjMRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ov
 XoK4jm+Py0FiUGUaA6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/
 eVtR2Q1wZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
 IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWjmoACGwwA
 CgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiVoUiHYN5QwhnbZnsa
 JDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764QxyX6rld2f2RcWkDuBHun55ZWXj
 by8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk/dS0XTOQi2wVUb17sW/+ybCEokdVacZG
 zOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fuoGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+
 lOWSvdNHgoEkWR0RXBPQjnGmLKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/Off
 O485NOTKwGOxyWb006cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR
 8ULR9nX0LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
 x9fhaZEsniw8/bYgC3igkk5YJiOa
In-Reply-To: <87y0gn3fve.ffs@fw13>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------ShdTQzGuWqhtGKUcJNjo7X03"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781254947120
X-purgate-ID: tlsNG-720697/1781254952-8137C161-A9F23976/0/0
X-purgate-type: clean
X-purgate-size: 7157

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------ShdTQzGuWqhtGKUcJNjo7X03
Content-Type: multipart/mixed; boundary="------------s6bllfsCkEUnRoiY7fXZwnjm";
 protected-headers="v1"
From: Teddy Astie <teddy.astie@vates.tech>
To: Thomas Gleixner <tglx@kernel.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 regressions@lists.linux.dev
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Olivier Lambert <olivier.lambert@vates.tech>
Message-ID: <9d7c4329-3a7f-42d0-90cf-1495fb6ad4ab@vates.tech>
Subject: Re: [REGRESSION][BISECTED] Long boot time with Xen HVM guests during
 PV spinlock initialization
References: <1780914594.8631fc262581453bbf619ec5b2062170.19ea6c8227b000701b@vates.tech>
 <87ldcp3w16.ffs@fw13>
 <1780997262.8631fc262581453bbf619ec5b2062170.19eabb58e51000701b@vates.tech>
 <87y0gn3fve.ffs@fw13>
In-Reply-To: <87y0gn3fve.ffs@fw13>

--------------s6bllfsCkEUnRoiY7fXZwnjm
Content-Type: multipart/mixed; boundary="------------0YBRmI0yvOYbFqFFG3ZOPezt"

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

TGUgMDkvMDYvMjAyNiDDoCAxNzoxNywgVGhvbWFzIEdsZWl4bmVyIGEgw6ljcml0wqA6DQo+
IE9uIFR1ZSwgSnVuIDA5IDIwMjYgYXQgMTE6MjcsIFRlZGR5IEFzdGllIHdyb3RlOg0KPj4g
TGUgMDgvMDYvMjAyNiDDoCAxNzoxNSwgVGhvbWFzIEdsZWl4bmVyIGEgw6ljcml0wqA6DQo+
Pj4gICAgc3RydWN0IGNsb2Nrc291cmNlICogX19pbml0IF9fd2VhayBjbG9ja3NvdXJjZV9k
ZWZhdWx0X2Nsb2NrKHZvaWQpDQo+Pj4gICAgew0KPj4+ICsJY2xvY2tzb3VyY2VfcmVnaXN0
ZXIoJmNsb2Nrc291cmNlX2ppZmZpZXMpOw0KPj4+ICAgIAlyZXR1cm4gJmNsb2Nrc291cmNl
X2ppZmZpZXM7DQo+Pj4gICAgfQ0KPj4+ICAgIA0KPj4+DQo+Pj4NCj4+DQo+PiBIbW0sIHRo
ZXJlJ3MgYSBjYXNlIHdoZXJlIGNsb2Nrc291cmNlX211dGV4IGdldHMgdGFrZW4gdHdpY2Ug
KGJvdGggaW4NCj4+IF9fY2xvY2tzb3VyY2VfcmVnaXN0ZXJfc2NhbGUoKSAodGhyb3VnaCBj
bG9ja3NvdXJjZV9yZWdpc3RlcigpKSBhbmQNCj4+IGNsb2Nrc291cmNlX2RvbmVfYm9vdGlu
ZygpKS4NCj4gDQo+IEJhaC4NCj4gDQo+PiBXaGF0IGFib3V0IG1ha2luZyBjbG9ja3NvdXJj
ZV9qaWZmaWVzIGdhaW4gLT5lbmFibGUoKSB0byBzZXR1cCB3aGF0IGV2ZXINCj4+IG5lZWRz
IHRvIGJlIChsaWtlIGNhbGxpbmcgX19jbG9ja3NvdXJjZV91cGRhdGVfZnJlcV9zY2FsZSgp
KSA/DQo+IA0KPiBEb2Vzbid0IHdvcmsgZWl0aGVyLg0KPiANCj4gVXBkYXRlZCB2ZXJzaW9u
IGJlbG93LiBJdCdzIG5vdCBwcmV0dHksIGJ1dCBpdCBzaG91bGQgY3VyZSB5b3VyDQo+IHBy
b2JsZW0uIElmIHRoYXQncyBjb25maXJtZWQgSSB0aGluayBhYm91dCBhIGxlc3MgdWdseSBz
b2x1dGlvbi4NCj4gDQo+IFRoYW5rcywNCj4gDQo+ICAgICAgICAgIHRnbHgNCj4gLS0tDQo+
IC0tLSBhL2tlcm5lbC90aW1lL2ppZmZpZXMuYw0KPiArKysgYi9rZXJuZWwvdGltZS9qaWZm
aWVzLmMNCj4gQEAgLTYwLDE1ICs2MCwxNCBAQCBFWFBPUlRfU1lNQk9MKGdldF9qaWZmaWVz
XzY0KTsNCj4gICANCj4gICBFWFBPUlRfU1lNQk9MKGppZmZpZXMpOw0KPiAgIA0KPiAtc3Rh
dGljIGludCBfX2luaXQgaW5pdF9qaWZmaWVzX2Nsb2Nrc291cmNlKHZvaWQpDQo+IC17DQo+
IC0JcmV0dXJuIF9fY2xvY2tzb3VyY2VfcmVnaXN0ZXIoJmNsb2Nrc291cmNlX2ppZmZpZXMp
Ow0KPiAtfQ0KPiAtDQo+IC1jb3JlX2luaXRjYWxsKGluaXRfamlmZmllc19jbG9ja3NvdXJj
ZSk7DQo+ICtzdGF0aWMgYm9vbCBjc19qaWZmaWVzX3JlZ2lzdGVyZWQgX19pbml0ZGF0YTsN
Cj4gICANCj4gICBzdHJ1Y3QgY2xvY2tzb3VyY2UgKiBfX2luaXQgX193ZWFrIGNsb2Nrc291
cmNlX2RlZmF1bHRfY2xvY2sodm9pZCkNCj4gICB7DQo+ICsJaWYgKCFjc19qaWZmaWVzX3Jl
Z2lzdGVyZWQpIHsNCj4gKwkJX19jbG9ja3NvdXJjZV9yZWdpc3RlcigmY2xvY2tzb3VyY2Vf
amlmZmllcyk7DQo+ICsJCWNzX2ppZmZpZXNfcmVnaXN0ZXJlZCA9IHRydWU7DQo+ICsJfQ0K
PiAgIAlyZXR1cm4gJmNsb2Nrc291cmNlX2ppZmZpZXM7DQo+ICAgfQ0KPiAgIA0KPiANCg0K
WWVzLCB0aGF0IGZpeGVzIGl0Lg0KDQpUZWRkeQ0K
--------------0YBRmI0yvOYbFqFFG3ZOPezt
Content-Type: application/pgp-keys; name="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Disposition: attachment; filename="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7L
TBVHV/XOZw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJ
T4ny+OGntnJntUoRKRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJA
WicutjkkUgd28Bh6HV9EIumHtCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO
8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaTVqMdqul07o72m3eA2mf+LMu9a04FX/d4
wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/EoucejoZ5SH49ksmVAmKOLkt
OaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+SPhHar7TPKjFz0G3D
PNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89MXfQXZ3q
t1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWj
moACGwMECwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNz
uyOVCskwfUZPla6Zpd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp
0x0HfuhcYfAYPR46XHTvjaJEv99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuR
OxdK8G+YHccJY8PvWSq2K2yiae2KGiAv1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50
wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhPeP3IdpfWc8cyRLXF06Rk46YM
YCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcTUwgnYlFRk2FLq0Qe
KEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9Egr/Wmu3
MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEM
AKiQiZa3yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ
3DbVf+en3/FvdVZg2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTm
etSG5/52AjtmPFtlXAk0NmLvfJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0
s3109sJeXT5ImVdphFs9cvyZyBT9t1PbRowv58EgV0zE4hbAeVkULAbxFV5b/ExT
jjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKbYu6NCfiHfEyB3Xyg9hfdrRgj
MRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ovXoK4jm+Py0FiUGUa
A6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/eVtR2Q1w
ZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWj
moACGwwACgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiV
oUiHYN5QwhnbZnsaJDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764Qxy
X6rld2f2RcWkDuBHun55ZWXjby8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk
/dS0XTOQi2wVUb17sW/+ybCEokdVacZGzOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fu
oGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+lOWSvdNHgoEkWR0RXBPQjnGm
LKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/OffO485NOTKwGOxyWb0
06cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR8ULR9nX0
LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
x9fhaZEsniw8/bYgC3igkk5YJiOa
=3DlUIA
-----END PGP PUBLIC KEY BLOCK-----

--------------0YBRmI0yvOYbFqFFG3ZOPezt--

--------------s6bllfsCkEUnRoiY7fXZwnjm--

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

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

wsD5BAABCAAjFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmoryyAFAwAAAAAACgkQZg+p0QLLz9Az
lAwAhWpE3K14gvXKmWFoExTZAmOqPMzd8obz2Wc4SQZdFHrZUg2kF9XHnnlTMFBsz7fczz0GOham
l1ECxk39gPNOX1DXhzBar30Dyt3A5YPWmuTOubmNTUBc4i3n20fRn/tc2DWKEIgBiya6VKsd2AgR
BIGP/9hugqlaiO9mrA49y4bfPLD4fq3TTxmaDePkR0b9r4xBeIYzo1eEGyVdu/WcbOS8Vweq3g5n
z4GpWQIvB30OttuZelR2INDcivlup5xX2RGsils8bzNenfW6yVsmOj7Vs8FkialeLP9R2QBK/Pfm
S2drBYbMcsbAOhhxAuh2dvx4o5XqM+4TFpLVg2i6XZ36OQuypEp4/pDG877Q3N1Pjk1uyVdaSTff
bipoae2y7GnLFIWxnxysIISEE5+BEm59KBwhayUgdlDtMdUvClk9MziCpjBGlCo44L7TA7Js82Gh
04ESyUi75KIANYiZUY/sj7jkNZVgorHUas3WvTHn9JMwffCQyFKi/QgeInxh
=kp2q
-----END PGP SIGNATURE-----

--------------ShdTQzGuWqhtGKUcJNjo7X03--


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 09:28:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 09:28:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336438.1598197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyAz-0001uF-L9; Fri, 12 Jun 2026 09:27:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336438.1598197; Fri, 12 Jun 2026 09:27: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 1wXyAz-0001u8-I1; Fri, 12 Jun 2026 09:27:45 +0000
Received: by outflank-mailman (input) for mailman id 1336438;
 Fri, 12 Jun 2026 09:27:44 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wXyAy-0001u2-3Z
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 09:27:44 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyAu-009dgL-TH
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 11:27:40 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2bd106-bab6-0a2a0a5309dd-0a2a4507a650-28
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 11:27:40 +0200
Received: from [209.85.221.46] (helo=mail-wr1-f46.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2bd10c-229c-0a2a45070019-d155dd2eed6c-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 11:27:40 +0200
Received: by mail-wr1-f46.google.com with SMTP id
 ffacd0b85a97d-45eeba68948so555974f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 02:27: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-490ea843d63sm51441555e9.12.2026.06.12.02.27.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Jun 2026 02:27: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781256460; x=1781861260; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=UuqefO+BCmkHbDRWiT+tgDlqdP5xX1r/enShExC4NfQ=;
        b=FlVuP1/lKV49OWbvs2XtUHPudgL/J3M7znKPyZjxhF361U4yRc1XsWGLiwSp21bMjt
         tXBHnVBZVLtpymRfh/rrtZ6NcuQFd7wJbfx3sJnpHD+SF11PAP4dVjH72KyZ+TTbYkvD
         Dubw6ssNRN5l+KX654YiaKKKOzu/BP0xv1q0lMxCt1Omd0Wyai4IOnF5Jwj1ZDQWqTTi
         /pFTD+FW0+npApnnJQW+gwUT9qg4fUMjkQ4PU+0EMJBg6Zlhk4ZBLPLleVOBXcH9HyhR
         mZAFx6biGOpSYoa1R0taMRWfcr5SzGfhutuagy8lrdsjnCoSsAPCrnLnL6O4CVe9rO1A
         UXJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781256460; x=1781861260;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=UuqefO+BCmkHbDRWiT+tgDlqdP5xX1r/enShExC4NfQ=;
        b=W7PJPU66/BZFzlja7lwY0tSaMo03fZAUle6IYzFlb6kN+JwarhQWw+ttuGqV332c0l
         gMeML8JTFvqTu8xgrb9ORC7+pgingVocvigd2uGJMAsniQMHvw6REEhwCa/4lNfldDJD
         JbQ7ACjTIHSRQGumvkyfPfjAZM+14i3REKTM5wAp213RaXwCnrM3Ws1MCdAdiGLYyp5l
         iaPMw6rrRL6bmKnTqGxJAnosdO3fvJ2+Gx+c3726TXVQpzK13i/xnknx4HODYI2ZT8bx
         GG608kzwI/3/W238TXBo2ZCVl4sLyl685mIVQAJIWA/0/QU5SXIj8N/NSwufAbT5pzsi
         VVDw==
X-Forwarded-Encrypted: i=1; AFNElJ8IAYPDJSjn8N9KaF78P0AEoZyH72M6+QLZe3mTSlQQ0WxOeFL22T40csxNlPEyzx4y2omaRqwP5xA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyJsIirC2ZZY/mruG0G3qKnPbPuyRel9QCAkP2VwEQKc4LYq8wS
	x2uPKINUoaFLMVXnwkFZlv0YcIqsWZBwKTgdiE4Y/76+NAVAF26PQFc1uqsJiewObg==
X-Gm-Gg: Acq92OHkc7eeBxESUDGu4UHyL+mo988RNvcriF9rGhi0sHUN802wf5lQzu4MKBERCSs
	5N4LxcjVcXqSXXt0IlRXPjc5Yk21Z7sYOtAwvKeSmPbxS45yB05uBK2hRr/PU6ifIYEoilbpE67
	3ldfz76SZUJkj00QF7tYL0YI0Lkmn3stzpZOJR/1RLs14cCIVA+J6w0TJdYp0Af9E7aC6gedFzu
	vGVLpoH5sn8+d5Jk4D6QMBue2smALUFD0XB97J6Sxoun5xVJFg05K0g74gkg1tpXKV1QD92ZpYE
	H2xzWXd95SauWr9ORB6mi2OwRWoFp8XpQNGupe0suI+/PULY7nEe4vAfyvqXvDqacOlkFfYyMVT
	JgUe87mF9rdsFsmZkWZaX8ZoADWBxGURt7wTJSfL4ahrE+i3zUeGsvY0WJlllHkJ9wOtrsgvc5h
	ZLrqTJMCS/qsvjM4CUQ1f5miPuqaZjyZSIE/bDjX0waaPtYEvk+edH0fGNvb8q+NiE2y3U7TW5e
	nuf9QlsyUoP7r8=
X-Received: by 2002:a05:600c:3145:b0:490:be44:32ea with SMTP id 5b1f17b1804b1-490ec4a16b9mr24529325e9.7.1781256460151;
        Fri, 12 Jun 2026 02:27:40 -0700 (PDT)
Message-ID: <93904b00-6e26-49c4-be8f-e7d8aed8e590@suse.com>
Date: Fri, 12 Jun 2026 11:27:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v3] xen/x86: Change stub page allocation/free
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Jason Andryuk <jason.andryuk@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleskii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
References: <20260612082213.82235-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: <20260612082213.82235-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1781256460-22772C48-5AC7B3D2/0/0
X-purgate-type: clean
X-purgate-size: 1798

On 12.06.2026 10:22, Roger Pau Monne wrote:
> From: Jason Andryuk <jason.andryuk@amd.com>
> 
> Today the inline tracking of the stub page is problematic.  0xcc is used to
> indicate unused, but it is also a "clear value."  A !CONFIG_PV build or
> when running with FRED support will not populate the LSTAR/CSTAR stubs at
> CPU bringup.  If a CPU is then offlined, the stubs page will be freed as
> its content will be all 0xcc, regardless of the stubs page still begin
> referenced by other CPUs.
> 
> The new approach uses a global, CPU-indexed dynamically allocated array of
> stub addresses.  However, to handle NUMA aware allocations, we cannot
> allocate all the memory in advance because of the NUMA dependency.  Take
> advantage of the fact that Xen will attempt to contiguously pack CPUs on
> the same NUMA node (see normalise_cpu_order()), and on CPU bringup use the
> same stubs page the previous CPU did if suitable.  Note the code would
> still function properly even if CPUs from NUMA nodes are not contiguously
> packed, it just consumes more memory.
> 
> stub pages are no longer freed.  They remain referenced in the global

Nit: Didn't you mean to s/stub/Stub/ as per Andrew's comment?

> CPU-indexed array and are re-used if the CPU is re-onlined.
> 
> The stubs array doesn't have an explicit lock.  During boot it's accessed
> single threaded.  During runtime, &cpu_add_remove_lock serializes access.
> 
> Fixes: 7a66ac8d1633 ("x86: move syscall trampolines off the stack")
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> Tested-by: Jason Andryuk <jason.andryuk@amd.com>
> Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 09:33:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 09:33:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336444.1598205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyGD-0003QJ-5n; Fri, 12 Jun 2026 09:33:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336444.1598205; Fri, 12 Jun 2026 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 1wXyGD-0003QC-39; Fri, 12 Jun 2026 09:33:09 +0000
Received: by outflank-mailman (input) for mailman id 1336444;
 Fri, 12 Jun 2026 09:33:08 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wXyGB-0003Q6-T7
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 09:33:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyGB-00FWqG-2c
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 11:33:07 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2bd24d-e002-0a2a0a5209dd-0a2a45039b1c-8
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 11:33:07 +0200
Received: from [52.101.61.61]
 (helo=DM1PR04CU001.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2bd251-672d-0a2a45030019-34653d3d63ca-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 11:33:06 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by SA2PR03MB5833.namprd03.prod.outlook.com (2603:10b6:806:114::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.15; Fri, 12 Jun
 2026 09:33:03 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.014; Fri, 12 Jun 2026
 09:33: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bZuiqfSa0jRIVKicNiq50v0vjbgJcZ6fEUWESMqjMKoz8diLLD66xkaf06Ek67J7UPuE8Bx4BXQhJaL7AzvlUtDp+c3+NGFn/PfhAjdEbewbyTbgzzMEPSh0r1RzN2McFYRuO3OBahMrzb9j14PHM6GiF5oh4Il4COvo4vNDig9omiA7HylKMwTHQM4SRIa4c9yVKm7pGQZcsow4TiGbvQGwRRZ/rvjNV3SDFRqEcTJZQpXuqx0P5m6yQPXNIDHWtfsLze3NlDUFJHPdgs0qUeswsscdR8jzul6lW5a+MVO9cJPFV/G/Vj8NmGvow55/rzEh1/QAqe/fslEUmpUBUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JhzS6K78HQdOTEozMfsjrDcsVXUUuNnzKqAv47OEqVU=;
 b=ErRQWuBnthMi5Mk42uTFfyPrOfLMqNiOrGosFtuMjBirKPmahKl+TufysWRhND9njmfQHolarrELyIJOiwEynRS66TtyWJRyf867BPtmzfrMMXpTYf8LIWDdVrxuPLS7NXeam///ZtjGgAyRWs3pOao/arpgwP/O2JrhXLsPfx7eIZsjhepuCloT7pkse7tPtnJOi9ocj+xhQvrTaEgs+CRQgjHf1JU9BYMKcGPQ7ScU8p4Xn3ek+t8alXqX10WeZ5oaua3ELNCyZn5IZ7Zgk6kaltOmaxFqt/WDPAVV4fiHMvSd+0CR9AQIRF22NISxlZsNT5u2Ltt7vIJjyfAugQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JhzS6K78HQdOTEozMfsjrDcsVXUUuNnzKqAv47OEqVU=;
 b=G+60S3NVSsXTZK35WInvUL2ZOJq/zsQcrPe/8x8FAHX9N1Dt78mcJKOpllPNv8N8aOb5+Wx4ib64mJkQqyqITJncaVFre7LvxWc7jOJI/2BdsIP7uW6YhUh7n7A3WPqT/Ph62B873WLfUtap9M3XegXDNbO9l6QFjVSQsTBWvzQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 12 Jun 2026 11:32:59 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Jason Andryuk <jason.andryuk@amd.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Oleksii Kurochko <oleskii.kurochko@gmail.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH for-4.22 v3] xen/x86: Change stub page allocation/free
Message-ID: <aivSS-yUhIFWr7Ya@macbook.local>
References: <20260612082213.82235-1-roger.pau@citrix.com>
 <93904b00-6e26-49c4-be8f-e7d8aed8e590@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <93904b00-6e26-49c4-be8f-e7d8aed8e590@suse.com>
X-ClientProxiedBy: MR1P264CA0167.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:55::8) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|SA2PR03MB5833:EE_
X-MS-Office365-Filtering-Correlation-Id: 38467f76-4669-4caf-c4f4-08dec8659978
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|23010399003|22082099003|18002099003|11063799006|56012099006|4143699003;
X-Microsoft-Antispam-Message-Info:
	ak+TrsxHq1Ic8S9Ru0liQUTYl9y1PxbJxhohRTCaf/W91gCWyZSSDlWon15i9ffKvV/YRRABKTqATlf2UBhPJMbpbUMdK+dcVzOfaizQDRskXC96FRPOI4jxI+0drhhquYxAg7rHr1U0bJQssr5OLyN+Qr6elg0nageQhvoWjJ5vnYysKlBOMd2QKEUglsBTJv4XxNGctXCUtUc8bJvA9OUlInVE02eskp7FaQaMduv9CC7vi4Tk0sL0kVZbLE2VzhpiSRjnBs7ZDPTKnslI4qYRPuXL7yiNJGclR0ZN783AO0Qjq1Mk8eEXrK2KLFvpMs7rLrii+8Y5ShgV4513AzqlFGbH1L0f20pD/50zjnoQh2dTlVeZ1zgGiCpa7BYEzfkXkj05cDIbutp/PPvq/Iemx7GqLa754sGpQnv4OA3l/eFTKkshANjZuTfL6YBA/XE/ZBFwAUaNOwrc1mz+JNbwKR/BrokpVXAtddy/trovmd1yeMfSNrUrDtoDwIlihqLxC9JtgLBHY7K4JNFIIa2zAWiTubrmHdX8fve6nYqIkT0wtFE2Lf7LDsoQHnmAzSqz2yVzn06DkdMzl/HsId790TiN5SPA8X0FJNKRNHbjbUouv64zw/Gbe7YtliSHpYpQVEL2cTjBEsR5skA1snfLQ70JPdmKJbf4pHAg8Ua8DclDA2mc4C0rewcDJJ5x
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(23010399003)(22082099003)(18002099003)(11063799006)(56012099006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WHNKNFF6eWdpSFZHNWN1N1AwbWRiZGFobWV0NEpodkZUNzVIVjRhV0VtY2JX?=
 =?utf-8?B?WW13ZGhyZ3lIRWRjM1o0WjJxWUlUK1JDbTZiU2RraXV4OFgrMXhNK3RsMW1M?=
 =?utf-8?B?TldPQWdoYVNIaGlGS0RyMFpCVlBDakZhTjliYTd2djE2ajl6VEh5ME5oZHBi?=
 =?utf-8?B?UmpaM0MzQ3NZQ3BMS2RKM3N6UjBjNXlObmFBaHNSSnNYSld1RWdWK1hHNU91?=
 =?utf-8?B?Mngza2VSdVJ3cWY1WDdVT0FSQnBEeFlKNWZ3MHhNOVZkdldkWDQwdzNRUnky?=
 =?utf-8?B?QlQ3cGpKTGRDQ01QVEUwR1RJa2VDckI1d2FJeHh5clZ2amxZR2pRYlNaNXFW?=
 =?utf-8?B?bUFwa2dPNFN3cTlJY2JLUko1cC9UVW16KytGYzdQMndhOCtxTEpjRDFLTitY?=
 =?utf-8?B?OVJyZFNidldFTXZsWHBxVEluKzU2eXlFcU1KUW1IN1FFNk15MHRCenJJTW5s?=
 =?utf-8?B?Qm52NjYxalJ6amZrY241RitNTjgxOEhGckhnRzJrUFFJdkcxQXI1R3FYdG9K?=
 =?utf-8?B?OExXb3FaaXAzdGRkNEtreC9ia1J3OGk0cXd1alphVExRUnpabkhESW40c0tE?=
 =?utf-8?B?Ui9jNmM1bElFQm1OYUR4cU9TY0d1MFZhTkdZL3dFTWVMeVYxdnI1Q1dydnRz?=
 =?utf-8?B?NjJxMXIzRUtUanZwalBESXFMU2l1K0p5N0NKTWhjbGRSQWpVZ0xmYnEyUVc4?=
 =?utf-8?B?bVB3L2ttR2toQ05CbHVpUzVkN25PZ3htSXRGRkRXNVRaL3VXbUxtL3JmdEVl?=
 =?utf-8?B?N0NrN05uZ1BuN1NjbEF5REFMWGlvR1QwTGpFa3lIenZ2amM5RFYydlpOMWlD?=
 =?utf-8?B?bG1lOEZhdStoRzQ2cm9oZ0hWZ0JPZ2kzNUVETmJiR00yMTlVVHBOYzB1QlZm?=
 =?utf-8?B?VUQyaEdxcTBCMWM2VWIreHNIMWl1M0xHQ1l0cXV5UUdwcG1yQjNSL2JLTWNV?=
 =?utf-8?B?RDFjS2toVkp3Tmk5d3pGN2VLaWFBZGxMV2dBb1JLeGhVSktlam54NWt3ZGtG?=
 =?utf-8?B?eE9tWUZLY0pWZTBNVWNtRmdUeUpEWUVZUVVkaUFxUi95SG55c1EzcDVGYUsx?=
 =?utf-8?B?SjAraVBYUW8vZTVXTURjczhCSURHd0dWK3NXaWk2WWtta0pCREY4TW5OemZX?=
 =?utf-8?B?YmtyaTNGTjJTOHNLbjZXMC9UbEFROG1FSWZncjVFeW13eDdxb3JQTjVzcXIy?=
 =?utf-8?B?dERhSVZTYVRWaFRycjFSNzk0OWhKWUw5UXVQSWhmSVZrTXlodE1YY2Y2VE8y?=
 =?utf-8?B?MjdKdEZYVjNRQ2dvOXgzZCtZK2dHVG0rUVZSUkNjY29Dd21WMmt2SDA5Q2tD?=
 =?utf-8?B?bWpwc3c2NnpOTHdVMDRZbzFCb2pZUG5EN2I2UWU0TWRvcm84Y29ZTGpmTWNy?=
 =?utf-8?B?bURGQWpXT1VNQWk3MVJiZlhrTVZIOGZRSTIyVERCQ0MveGlRUnhWYnFFQVlH?=
 =?utf-8?B?OWVDVFRScVQ3aE1GaVFreXZqUXJOaVNlWlY2aWFac3JHRjl3NGltaVJ1MW5J?=
 =?utf-8?B?TCt3WkI3dXYzTTFwUk8wTGpIOVdUWmh3cXBsRVhzamFrTXJaVm1BMVNJWjg5?=
 =?utf-8?B?T3U5dzRSOWhWUkJTWk0xaW43U1loYi9tTk1LZDRoMTJ5Smo4STlMYjRTWmtS?=
 =?utf-8?B?aU5rRGtyUnRIK2xueHgvRWtpVVBwSGI1ZkdIZ3JOdnk5bWVaVTE2Si9CMjE4?=
 =?utf-8?B?UFhqVHlVZzB3V3F2VUJsdndxRmREL0VaQXozR2taN043N2FMNHp0WWdGZkVJ?=
 =?utf-8?B?Q3B1N3RacFF5MFJWMmE4TkcwWExuRHpBL3RVVWV3RVVxamltSG5YWHNNelVn?=
 =?utf-8?B?bUtOeWpjYUJycjRVZUZHakE5azZKL3Y4cnlBbytyTjVyR0d4czVIYWdHMVlx?=
 =?utf-8?B?VFEzd1hPU2pFSXVwV0lNZnVCbjhlVVYrWmh1dHFEM1hDR01WYXNEWFBoaHFP?=
 =?utf-8?B?M2IrSzR1RWM3aU1TbEhJd2JjdngveEhVQThJVU9NOUR6bURNL0ZjOVhncEFI?=
 =?utf-8?B?WUZrOW5uZHF5UkRoYlZib3NHT2dGOHl5aFYxc0RyVnhxNDZJNS9WK2tyTnNz?=
 =?utf-8?B?aXd4bVQveEFFNXBFblk5Mk1lRmRPQjBCbi9vZkk4K3REdWsyclBVZUxMZ09y?=
 =?utf-8?B?WVBlVERrYzc1OGZWTnpnbGVkWjZ6R1IyOS85UCtwU1NoM0R1c3RSeTFXcjFj?=
 =?utf-8?B?NzROam9DcG5sdDZpQjNQb1lsVWNBVUJCcFZJNFlCMTRQU1RBcHZCWTdvTVpr?=
 =?utf-8?B?K2J6dGNkUDhwcU5yOE1UVWkxL1Ewb2czOWFyMmhscHFFRC9XUHlETEwzeDdK?=
 =?utf-8?B?WUlQMk9tQ3VvY2JZQkkxbWxTMFlPZVNaT3d6c2djT3BWY3dmdk5yZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 38467f76-4669-4caf-c4f4-08dec8659978
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2026 09:33:02.9832
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0brXkMxqC5pjtRPdMXoW+8OBsRYGeTJM9XHsI4ZHxB/ymEmGV/Iwyz2Ga9o8Suc99KaXvM/Mid1eqpnfknolGw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5833
X-purgate-ID: tlsNG-33051d/1781256786-41B92938-4B58D24E/0/0
X-purgate-type: clean
X-purgate-size: 2078

On Fri, Jun 12, 2026 at 11:27:38AM +0200, Jan Beulich wrote:
> On 12.06.2026 10:22, Roger Pau Monne wrote:
> > From: Jason Andryuk <jason.andryuk@amd.com>
> > 
> > Today the inline tracking of the stub page is problematic.  0xcc is used to
> > indicate unused, but it is also a "clear value."  A !CONFIG_PV build or
> > when running with FRED support will not populate the LSTAR/CSTAR stubs at
> > CPU bringup.  If a CPU is then offlined, the stubs page will be freed as
> > its content will be all 0xcc, regardless of the stubs page still begin
> > referenced by other CPUs.
> > 
> > The new approach uses a global, CPU-indexed dynamically allocated array of
> > stub addresses.  However, to handle NUMA aware allocations, we cannot
> > allocate all the memory in advance because of the NUMA dependency.  Take
> > advantage of the fact that Xen will attempt to contiguously pack CPUs on
> > the same NUMA node (see normalise_cpu_order()), and on CPU bringup use the
> > same stubs page the previous CPU did if suitable.  Note the code would
> > still function properly even if CPUs from NUMA nodes are not contiguously
> > packed, it just consumes more memory.
> > 
> > stub pages are no longer freed.  They remain referenced in the global
> 
> Nit: Didn't you mean to s/stub/Stub/ as per Andrew's comment?

Hm, yes, I've fixed the instance below, but not the one here.

> > CPU-indexed array and are re-used if the CPU is re-onlined.
> > 
> > The stubs array doesn't have an explicit lock.  During boot it's accessed
> > single threaded.  During runtime, &cpu_add_remove_lock serializes access.
> > 
> > Fixes: 7a66ac8d1633 ("x86: move syscall trampolines off the stack")
> > Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> > Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> > Tested-by: Jason Andryuk <jason.andryuk@amd.com>
> > Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

I will run a CI pre-commit loop and push it today if it's all fine.

Roger.


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 09:36:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 09:36:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336450.1598216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyJ6-0003wi-LC; Fri, 12 Jun 2026 09:36:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336450.1598216; Fri, 12 Jun 2026 09:36: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 1wXyJ6-0003wb-He; Fri, 12 Jun 2026 09:36:08 +0000
Received: by outflank-mailman (input) for mailman id 1336450;
 Fri, 12 Jun 2026 09:36:07 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wXyJ5-0003wV-Fn
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 09:36:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyJ4-009Ktu-Qm
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 11:36:06 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2bd302-bab6-0a2a0a5309dd-0a2a45028b98-26
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 11:36:06 +0200
Received: from [40.93.198.10]
 (helo=CY7PR03CU001.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2bd305-af86-0a2a45020019-285dc60a9bb5-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 11:36:06 +0200
Received: from IA1PR03MB8288.namprd03.prod.outlook.com (2603:10b6:208:59e::6)
 by DM6PR03MB5241.namprd03.prod.outlook.com (2603:10b6:5:24c::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.15; Fri, 12 Jun
 2026 09:36:03 +0000
Received: from IA1PR03MB8288.namprd03.prod.outlook.com
 ([fe80::b5ee:28c6:e04b:5599]) by IA1PR03MB8288.namprd03.prod.outlook.com
 ([fe80::b5ee:28c6:e04b:5599%3]) with mapi id 15.21.0092.016; Fri, 12 Jun 2026
 09:36: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=AvrTplLYocTb12Qqpdr+dDwD8cNHJ/iO4kmizhCXeLkXbaZmCBrtVnV5PKH048veDyAVOW+5fs6lfc6xHlQzvsPTduSt46fw4A9i2U8lZykydxoEfZ1Z8WYCFWCLh4Y+yrlH7/CpU1h7OlIV/zNyiGIVIyKKXS52EqTLunOBWEFzxhq6Vtul4RClfmBsUCw4NOl59HwBC2RKr4nnonqETAkXRsqJdlxr+LS4HyD7QrpjYOFCkPYFtK+SOlK0IxCyQ4ofjFRXj3PZHACMLkQpgl4kdnQ0alUEMOwr+F2O5lkrnQJ6UKY8ISx6pTyP37cfq2VkZCL44v69c3TbGb3xGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i6plNHbp/4V80zruSMvz+0hbO6RpClWaUheiFlHBQEs=;
 b=I6QDWHQdz/zGK3XfzON2gqIE7jFsy4rgwD1e8HOORnkDAZKc4WNd5YVHdDYtnlCKjoLq1lgdcfzc+xX9dvadZX1XCFzDJ0gDxkwrBD3yaFMHugTMONhnUXLP2QetltJEwt2fftFBUqhJTTBX8GX69XzYLz9VbZ9snMgmTqmvlsjBq474l3hKi/SIqc5hxtTU6bKMqN83fuDMWIesZMeaPHooT6XNXqMmRUHIpOVUV6HT5Mgg8elYqLafmSQwcCz0EWEgk2w0pyCCgEEERwMSH+6cQnZGXknZcldIG/q3wLOxRXxQSjdbiiVt30jjiSPdwFwI9Nx/u+h/tyxeD56Cbw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i6plNHbp/4V80zruSMvz+0hbO6RpClWaUheiFlHBQEs=;
 b=tDExEza17b5GPAvabybZyTCP6T7IdBbm9EwS+ubv1gg9yKOOsCG8uFdvUcg4Tqlix3hNwnxCON3GTcsx1uale0BufHPJmvQDk6gGxAcDGoEE40wbq0zgVtT5stilLlEjxn7DZOOipj1TdCschuqFaYuZLj++kCj7kAz6rmrhpQs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <cda71bb2-9318-4a63-ac0b-95b88e6c5660@citrix.com>
Date: Fri, 12 Jun 2026 10:35:59 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Jason Andryuk <jason.andryuk@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleskii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22 v3] xen/x86: Change stub page allocation/free
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <20260612082213.82235-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: <20260612082213.82235-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO6P265CA0018.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2ff::6) To IA1PR03MB8288.namprd03.prod.outlook.com
 (2603:10b6:208:59e::6)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: IA1PR03MB8288:EE_|DM6PR03MB5241:EE_
X-MS-Office365-Filtering-Correlation-Id: cfc062ac-3fa3-4b06-2bf7-08dec86604c5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|23010399003|376014|18002099003|22082099003|56012099006|3023799007|11063799006;
X-Microsoft-Antispam-Message-Info:
	PH+ouVLxxdR72jq85zSbHMXOsesJuOozcyEisdIOVvkf4ka/5HEweUYCY6Z2/ic1QRLO8qEDlj0isWyTN0wcORlknYQYMMP9vb3FaELOlAvqGk8G2UqxZacx5f+T2hq5B/qvbS6ihP5zwrI/AFIq+pLEssjIsCwG3uO5dQ63nrbqE5VzgK61Zir0uHU21qWgsbWwwj9JPG7wlrrCAgGpjnH4/PbM9CnbcjQ5GStbsnXicCqaYCfcwdvUfd5JYfMfBXhO83mZvqr7gLoccwD44MYq/ofGmix+IWKLx9OruBTW/Q84x95VJNfecYqfq4hTxW82gzBoRRI3UPp/LzBop+KvdCPB7hE4/eiNA5XF9NWKX/zJeWRYsf6JdZ+TnGny+b3/f8OSyeVzvWKUJqgHTNr54T3bW34dXz4jhY/OtlBE2HvNAUYFwHV+9IKGVshOJHyWI2kqRRO1IZi8LiGXRlbeT4oybdf0Kevvo3sLrzPBvA1cFcDB7uDjEZZ4T+3+Odhzw4VonB9pMU/fdoCFWSq2sZ4eOYcTtxJ4yQ4oxD3bXyY+3oIFW4xWJX42hJAhLKFa8jc7lat8Z7v2uG7bWKZ+JOTx3zlwiCz6A6vdzRcuB6IrlKMSCWoKk+IIeXr0lHhHld4TDfNxF29uh7WG/BIIPhvpBFzbTh/crVN0aOyhUmLcsa0J3oCt/1u5GP+q
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA1PR03MB8288.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(18002099003)(22082099003)(56012099006)(3023799007)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZDl3SHREYXVURUExTm9vTWJWRDZGYXVRVnJWTmhpUFhCRWpGeU5TKzBORnBC?=
 =?utf-8?B?RHdKNUt0Vy8vOGJLTCtOdUoyWjdSUTlBcGI1bmI1eWhqTjJGekRWaFY2NjZ0?=
 =?utf-8?B?L0RLc2h0bGZESGN0clAxR0RmWGlqcW9Lenhkd3FuL1dZQ3M2eVFJcUFySW9m?=
 =?utf-8?B?TFZ5dThDUDQxUkRtM1ZGK25VajhPdXpETTQxUGZFVDMxZllIejdHcUI5QU9p?=
 =?utf-8?B?alJwS2tLa0xmM2VBbzdYczVzVVdRaTlZQ09iaDBQTXgyblg2UFBRYXVIYi9p?=
 =?utf-8?B?azF3QUI0bTUycThPU3NpTXIxQlVCM0RNalVNY1RQbU1BYmdjMG9PUDdwSHZj?=
 =?utf-8?B?Y3hGS2M4cHp5SUZlaDJnbDBTUUZpS3hoMjEySHZxNVQ1bWVHOWpkREw1SUxm?=
 =?utf-8?B?T2hIR0s1cXhsQk53MWZnVy93ZjlzOUg4QStvdUI5SWtxWk9sSmtLeXBnS3RY?=
 =?utf-8?B?SVZJc1dxc00wb3licCtoeXA0ZVZUL2EzUkRqQnVYZ2kxL0haMklUYm83SWdZ?=
 =?utf-8?B?U0s4dTlFSHpHNjhyRXdXYTN5eHE5SHNidm9Lc2pBdmNzODlWbW91NHNqZTV3?=
 =?utf-8?B?M054R1JidTZOMVdmNG5RdEJ2SmJLbEhlOXJwdThYL1ppNXlQQ3ArWTFodk5B?=
 =?utf-8?B?akhIa1BJeXZHYTRyWDI4eFpHVkVScmFCNVc2dmZXRHE2Nko3bld5NXkzTm83?=
 =?utf-8?B?UTRmY090YWdzUEYyUVphTGNWQ2NNMjBqNDZKd2JvMXl4WXZpVUszbDVPTS9E?=
 =?utf-8?B?Ykd1UGJlMkR0NzVscDhlcGVTZ1Fqajk5ME9ublFFaWNiMnQ1dFd0eHduYzl1?=
 =?utf-8?B?dlZLdTVFQjVySHFaOVFVZUtVcm9MSm9kKzJneEQ4VEd3cTBvM2ZIWVZCRlFN?=
 =?utf-8?B?Zjd0L3ZyVkZKTzhMeWxCd2MxRWRrRUM2MEdtRTh0SXpiMTNFc25lYXRpTXN2?=
 =?utf-8?B?SlpHNnpBK28wL3NHSlJnMHlFZ2k2U3laT0xhL2lrVXBBNkMwV2lsSmdTNWZr?=
 =?utf-8?B?Rm1mak9TdytHN0FxSkgxc3c3UGozdUdXczFEdUpEbkIrWmN0MzdvbTY1OThO?=
 =?utf-8?B?NkFmREt3cmpCbG9STjFudXNseDlRdVByWnFHdkxHVzhlSDhQNEdrSGdiQ25s?=
 =?utf-8?B?V0l3MFM2cy9Bb0VNTUdHejdGTWdZVDEzaFRPS05EWit3cUloaXkvVHJsMFVE?=
 =?utf-8?B?b2I3VkNmcllQTlEzSkMvd2ZidUdGa2VpWHRMWENWb3lXSzRmamdBSFJOS3B1?=
 =?utf-8?B?MjRNY01menFZRHd2NDNCSDRxdnNkMGo5WSswd0lCYlNEOXc4YmVTZENJMkdX?=
 =?utf-8?B?VWhyQXNtNnNrYUlMRGtabnoyU01YOWhUN1FsNUQ4eHZ3dXYvcVNuL1ZTL0th?=
 =?utf-8?B?Qit4czZIMkZ6cGdkdkdvV0RrUnF0VzhtakMzZHg3aDluRGxtMGxyRS9YazFH?=
 =?utf-8?B?cUVwWElxZS9lRXAvUzFoQUpodVo0OWU5N3NFK0xGNk9hVUZDWVcvUDdON0My?=
 =?utf-8?B?WDdjcEJiVjB2MzRWdEJ2eVl3NzBTenVVSFdmWEp2SkN6dHA5b1hUTzFSeWhu?=
 =?utf-8?B?dE00a2F2NWh3VG1hZmlidUJTYUhkMXV2OE90Vkh4cjU1Rlh1WklYQW5PYWsz?=
 =?utf-8?B?aVZLbzNuM09mQzBUZTBkQm1SWHdHdjFMNGxlQWRYVWdyMUV3dGpKWTYraWg4?=
 =?utf-8?B?aERDUDZQSEg2bllIbzNiRmY2LytiWXlsaFN6MVJMMEFQRDlxMGFYR2RXSnRR?=
 =?utf-8?B?TlYrSUM4ekZneHFEUDdaQkRlUUhIYnJVWGZIMGp5bDIvd3MyMUNPUGpNdWF5?=
 =?utf-8?B?RWZXemtpSVQybXEzQldhMjYxYWhqT0pKdVRaNDkzUHprR2NHcCtkUVJKUDZw?=
 =?utf-8?B?cUcyM1g0NDRIR0owV3BjRjlGV3JlN1lTWFVGVGJ3bU1DME5DWjV4VE9ZV05l?=
 =?utf-8?B?eXJpK21qM2Izdmp3SU1nOGxGMFVxK0Z3a25NNmlNQU55M1A0ZkFJMGpVaE0z?=
 =?utf-8?B?LzJCZWZUdWdZK3ZVaWY0M3pzejFXZWwzc3J6bG5sYWJWc2xEVm81UFVUY3ZP?=
 =?utf-8?B?Qmh3Y1ZQNjZwNHovSXlYNUNrRzUxM1JmYlBaakJNd3RIaGFDL01TZ0tFWklm?=
 =?utf-8?B?NTBTUzFiZXZXaDZoUW13VEpiamJaMWVhL3ZwVytLcUNmbGpQTVdzVDZhRVF6?=
 =?utf-8?B?cU1yMnRNbXdYT3RMWFdJc1IzY3JOZTYvb0hhSUUxQzZRNzRZNTVDNGpKMmRZ?=
 =?utf-8?B?MWZSWWl2K2pIdlRyQkdYWEoyNlEvdDJDVlAvT0huU3U2NXpYNDArVGtQcXdv?=
 =?utf-8?B?T05EalJHUUNpVllMaXlNRGFhZXE2QUVhNTRRNGpLdk9Zb1NUb3I4RXRFY0g4?=
 =?utf-8?Q?wCFJ5qpOrF8f4tG0=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cfc062ac-3fa3-4b06-2bf7-08dec86604c5
X-MS-Exchange-CrossTenant-AuthSource: IA1PR03MB8288.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2026 09:36:02.6363
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SrG140c0NgbloE0dpTDISVuKiC2OeFBdB4d0ZM6kjdP5i6e7nOcD+fgczkSFZrCutS/vZLCreJ7eLXA+eaYZQDttDUyBJ8DzTRJLWgEHmEA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5241
X-purgate-ID: tlsNG-720697/1781256966-81772161-E2A07404/0/0
X-purgate-type: clean
X-purgate-size: 1340

On 12/06/2026 9:22 am, Roger Pau Monne wrote:
> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index 4192edf635b6..0253d22c349d 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -2089,9 +2089,7 @@ void asmlinkage __init noreturn __start_xen(void)
>  
>      init_idle_domain();
>  
> -    this_cpu(stubs.addr) = alloc_stub_page(smp_processor_id(),
> -                                           &this_cpu(stubs).mfn);
> -    BUG_ON(!this_cpu(stubs.addr));
> +    init_stub();

While I hate to nitpick further, "stubs".Â  There are 4 per CPU, and I'm
reasonably sure we're consistently plural elsewhere.

Otherwise (and with Jan's grammar note in the commit message too),
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

One further thought, which would be for a followup patch if we decide to
do it.

We do now use UDB for bugframes.Â  It's also marginally better than INT3
because if we do ever end up finding ourselves executing it, because
we'll #UD on the first one, rather than try to brute force our way
through the #BPs printing a log message per instruction.

One thing I didn't check and I really need to is whether UDB has the
same speculation-halting properties that UD2 has.Â  It's not a guarantee,
given that the encoding is valid in other modes.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 09:51:51 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 09:51:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336459.1598223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyYC-0007FX-V4; Fri, 12 Jun 2026 09:51:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336459.1598223; Fri, 12 Jun 2026 09: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 1wXyYC-0007FQ-SK; Fri, 12 Jun 2026 09:51:44 +0000
Received: by outflank-mailman (input) for mailman id 1336459;
 Fri, 12 Jun 2026 09:51:43 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wXyYB-0007FK-NO
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 09:51:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyYA-00FaCY-LE
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 11:51:42 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2bd6a9-2eae-0a2a0a5409dd-0a2a4504e3d6-16
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 11:51:42 +0200
Received: from [52.101.201.5]
 (helo=PH7PR06CU001.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2bd6ac-1dec-0a2a45040019-3465c9051378-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 11:51:42 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by MW4PR03MB6508.namprd03.prod.outlook.com (2603:10b6:303:127::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.14; Fri, 12 Jun
 2026 09:51:38 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.014; Fri, 12 Jun 2026
 09:51: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=fGGpQ81JTm1GLBURHmGdOpzubPd2rXA0cvcDsXQjp3DzKka5BWPtTJE37CMUN3bRgFp5QwVsFlcyrds53qF5pdrgo5sZBzAeiGLcmKh2KnJKg7/FPH7/zBqPKiDyh2xlIhaDw3B3Nhvv8jVbfMU2UKiEoOhgNoCuwyOTZfUObrEXw24iKkWTvoxBiRZR4LXJ1ygCsyCI2CG0lHZSbR6rZDQsK0ULSEdF5U31WXRcWq1kWISZO8viBMK7tOW2gTElBCWoO8EXuo6paLEpF8Q54wFAgeOPpOKqknuy1ZsXfrHBrghGAJM05GcmoCSanHohFyRfq4OkCjryf+6MaEAVRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wuo4Jwek3qoNujtbRi4UfO6L6g1gowRsFuzpATDRLGM=;
 b=ip7fpX17ADxwGiFvX15vmEsxmnrWa5TebqX0kM2sPQ+vz6mzR9rnXAVhntTv0EV5a8ntH3IReyl5Dn4TPgvn52alxQJK0f3AHpGmrJ6ndOW9HDOO+Cyrcmez1XXyvXvVFGKfULwQVGMtnZiEGlxI+UjlpEvrqXJemm4uujvc4ZMSukBN5r+IOoXk8V3ESLTITxpVpAJbmefmJpNWxBQvlIVf5Cup4fb/9qVrzdga5KhcQNqx459wkHSyBIIrTKP/7UZNd7oc533Lnrf3ZV6l7Ls3d8iOqwu/0TlUwpJ1eqMpC7zLef5LAItjhtXqaQ8b+TRA0NyIwQyZNjf9Mhrdug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wuo4Jwek3qoNujtbRi4UfO6L6g1gowRsFuzpATDRLGM=;
 b=t5i+CBSA3uVb+jA+sHDHOdsfIQSWGC+FsxdevXJCJgGTvO2RUq8XRhr+XWV6VmNoRJ1iWsDkLZa0q/+W2rguw/8XCI1+AUDebBb3zjEPWIKjse8/lmXzKJHktW9Lsiu12/FpkqAPYQ17hvbnrYfA5xqAScbxaHF2WvZJin8NMqI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 12 Jun 2026 11:51:34 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Jason Andryuk <jason.andryuk@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Oleksii Kurochko <oleskii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22 v3] xen/x86: Change stub page allocation/free
Message-ID: <aivWpmFsbr9QwXca@macbook.local>
References: <20260612082213.82235-1-roger.pau@citrix.com>
 <cda71bb2-9318-4a63-ac0b-95b88e6c5660@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <cda71bb2-9318-4a63-ac0b-95b88e6c5660@citrix.com>
X-ClientProxiedBy: MR1P264CA0150.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:54::6) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|MW4PR03MB6508:EE_
X-MS-Office365-Filtering-Correlation-Id: 1f59cd91-b6e9-4eaa-6a6d-08dec8683233
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|23010399003|22082099003|18002099003|4143699003|11063799006|56012099006|3023799007;
X-Microsoft-Antispam-Message-Info:
	vcEjdtQ+YmZ/mPYJJY6SJfnGu7gI2pwaG8yGg3y8eWh76hMDnjUMpbqjP6B0ViBpDdFEwF0X8MtceiB0PvCFUX+EPWrnpf1x1hOYgc2qciN7TqgymidGF2GZ3HDnowy08/2K0ENPz/M9CmIw6YRlX/hl9gav2LTSzqyprHOU6Gl4dkU/CxRrSRqd3Lc8KtQQ6L5YBrTx6XP6EBxk/8/e8mOuU1BKI95i0ZB3yiaLCTDe0Y4H3GZZPk3C1w2PKHjv/FWgROqIpa9h9M4KLMA0xs4jL2x9Wn6jkLw+Ij5VAzJ/O+8d57FLahNOWmeJlwwzNtwAyQrv6T9Tm9NagYM4wqVJmEP4VBtHb7Lq3UIrPYvqTL1zRTs24A6yfv30I7V1rtX+8scbKktohcNR6UnMATG7Kpkkuuaw2VT4qYxVsB5zPQ/rjYbh/WZVxDJoZ1Q5wVme4kw7W9huzrNYjfPUy3OWrzaPBKqLemTrAjNjRes8g4CZp49DpBJc4QPR/shiBhJFIJ7zQMB5xnb7BqZEedFX2mDv5vRIytoVMo9h3XF0s+srNrX4/TGvOAb/GRaD+Bfatg220F24oBVf/Mcuku7pLkCFbYQ9y86+QbW6BBzwDtt19kPIynoJm2DiKX4jdLHgRtGZw4Quu4uIGH/9qvzkzfLUbdMOSWIKaS7uYy45nHRggi0BfCzVi4Kv+9eL
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(23010399003)(22082099003)(18002099003)(4143699003)(11063799006)(56012099006)(3023799007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YTd3bXQ4RWRXTllra0d2TnJpWk5CeWZUVTNSZXhoRWZqR0JtR3ZxZi9FMDd3?=
 =?utf-8?B?T1BDSTdtdGtHOTVJb1VFREVmZlZ0eGUxQ2lDYWNuZkpWVkYwWkRabis4TGlo?=
 =?utf-8?B?QlV1RmxBazdlcXlRWXdRakZDVFd6MnRzQ090NmlUalRLWmNWYkFyeStmUkFY?=
 =?utf-8?B?UjU4VHdMS1BMbHJIZkxDQ2RnbzJFdmVnNGpzU05UYUFOMzNiV0RDS050QUVP?=
 =?utf-8?B?LzR5UmxjZU16YStSaUN1RUNOU0pUblZrd0NyOWlPWlZ4bzF4bTNRK29QYWtY?=
 =?utf-8?B?V1UwR1M5R0hWbDJ6WFM3eHBnZFExVkpWK0swaHhzUDlvQ0hxNzFreTFUeUVI?=
 =?utf-8?B?bXFPSGEyRmFabVE4WkI0RTlkSEdsczdHS3pzeFFHcTlwMXlXTnVSMHhUVDEr?=
 =?utf-8?B?ZXFiM0hWSVQ2c3hrUHp0WDMzU1BScnUzMS9LeVVyUUdvU2NWRjRQOEg2VDJB?=
 =?utf-8?B?ZWZkeTNWV0FCMEtwMU83bytkakhlY0ZQM2Jwbm5ZMzEwOXJyRzhwN000MUNI?=
 =?utf-8?B?MHYxeEUxVVJKN20wV0UrWW1TcUhNUU13SytzWHVBTW8rRkxjNEw4OGlUSXp0?=
 =?utf-8?B?ZWZhZkhwVTdBbnFTVlJFaGtEaDRtSW9MN3VvOHMzUHB2SElXVDRhbXR3UTI3?=
 =?utf-8?B?U0RCVEFOY3VzeWtrZUNrWUZYbk91T1ptVU11WWJGZ2pmOXBHSi8rSTZJaEFx?=
 =?utf-8?B?R29weVZ3NTZ1ZE9LNnUwYmhDb01tMlZ0OW5FaGJLYUt2d3BpdVBPY3c5TW5Q?=
 =?utf-8?B?UDZkZERaUXRqMjJvY08wM1RIcVdyZEJuVEMxbm5CWFVCcyt1dUNpd2k4MWUx?=
 =?utf-8?B?dFYyNk5uSnNDak9Uc0N0bkNQdjBoV0dkM2NYbnpOU2djM0NKazNVTzViS2xh?=
 =?utf-8?B?bnRWUE9xY2hDd21XWWhHYjRZOU1YVjdWRGVsVXFsYnkwM04xZlZvaWllQkI2?=
 =?utf-8?B?U3FzM005TDAwQ0NBZ1A3RUtuWkhPQlhLNEFhSzRmc1lkV0ttTTUxYllnNngy?=
 =?utf-8?B?NXVaYXBSWVBWcmxMV1hJU3dUWVdPR3BZdjI0d3BUWklOQWZlcTFiWVFuNVRr?=
 =?utf-8?B?cTlFV1k4U3J0WUFtNEFrclJnZ1lMUmcvSjBMRit3bEhYejR4aElNY2N4SnI0?=
 =?utf-8?B?Q3Y5ZnE0cnhYdFZXVjVnbzAySzRKK2k4WmhRSWdxT1UwWTZVSmtUL3djTDRG?=
 =?utf-8?B?UStDdHBhYW9OK3ZNYWk0TFMwSGQ2M1lObUp4UHBmaitjR1ZjWFl2UDhuWUNB?=
 =?utf-8?B?Zlp4YndmdVBIT1JjemJDN29GY1ByQSs4SVpsT1o1OExQREhpVWQ1U1ZiS3Ur?=
 =?utf-8?B?NWcwVE81L1pQNFV6djJ6NGNGRzNvMnZ6VnhkT21iNlptb1lYYkMrbDFQZHRr?=
 =?utf-8?B?YUF2ajk0ZWs2Yk9NdGlvRWVpemxKMm5DVFluWTloQ01XWS9jQUIvYjgrNjVY?=
 =?utf-8?B?V2IwUUNRNm1tVHpZNit1MzJ3UmhCRlZEczFaV2VuR3B3SGwyWkNtWFN5KzFm?=
 =?utf-8?B?STJUakYrVjdZcTQwSEsyZ1JUVkRyWjJhVGRWblJSdkhLZ1Y3R21SY3QxSEQx?=
 =?utf-8?B?R3JNaEMzZzRVbnl4S0xFK3NXQzdDK2hQOXpUWjhhbzJwd2o0V091blBoVG9E?=
 =?utf-8?B?cDRtSllzeW80UTJycTBKUTFkYTRCUGVKZUpackx5ZXRTaTg0NFlxeTVXditi?=
 =?utf-8?B?cnFOUUdxemlvWG5nT2ZPamdUVVJpQytyOUtMU3lObTY4aVBYa0VMa0g0R0dJ?=
 =?utf-8?B?cjNrbXdrYVVEdWNMYW95VEZtRXdlbjNiOTRqaGNEM2ZQa3JLdFVjKzBGZUk1?=
 =?utf-8?B?Y2dGUnpUcFV3OXN0VjRDd2dFaVV4WEJnY3dkN283azJDMDNRT3FkUVE5MUdW?=
 =?utf-8?B?SXpINkQ3RzB2UFhjSjVqOUZtS2tGOVhUUGZ1eDNadUtrZ01aMC84TGRxTXpu?=
 =?utf-8?B?V0wrUXQzVlNuZFFGMGIzQ0R5eEk1YWhvcFJwK09JZkRKa1B4Z3RMTGRra2Iw?=
 =?utf-8?B?Q3kyN1RSZGxXdUtrMEFFdDkwKzZFc1FyNDJ3angrdzQ4SnUwY1hsT0JPOTVF?=
 =?utf-8?B?VzBYZlZWZDlQVEo1QXhEN1pnRlh3czJCR0NWN0ZiSXJ1ejB2UVU1ZDI3Tm5Q?=
 =?utf-8?B?cm8zdFRjL2xIbXpwOEM3TlF5dVFYZE44a2w3d1lCOS94UUdlTUFUY09TWjdo?=
 =?utf-8?B?eGc1Qmxqd1ZwbUJSc1RBa2FPdDFFam5JK2M5a1k3UnErRCtwWHFBMjV1S0pY?=
 =?utf-8?B?dmxGN1BpaTgzT3RtL2w4QW9HNWt6eUsvRVZHK2xZRVJhS09KRlJ2Uk9hbExx?=
 =?utf-8?B?YzJUaWJxOTRKQnlTSVJydmQzNkNHWGg0dlRxWmU2VXBNRkxTSGsyUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1f59cd91-b6e9-4eaa-6a6d-08dec8683233
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2026 09:51:37.9418
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: o2xCShWuBPP/fR7rGN0Ko4/h0/pdqK48C1AUHGklB3navp3r9H5N+1nH8A41P6GTo3Gs/nxqfKtnI8YGLzGYxw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6508
X-purgate-ID: tlsNG-ebf023/1781257902-2BD6C3FF-348E5825/0/0
X-purgate-type: clean
X-purgate-size: 1859

On Fri, Jun 12, 2026 at 10:35:59AM +0100, Andrew Cooper wrote:
> On 12/06/2026 9:22 am, Roger Pau Monne wrote:
> > diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> > index 4192edf635b6..0253d22c349d 100644
> > --- a/xen/arch/x86/setup.c
> > +++ b/xen/arch/x86/setup.c
> > @@ -2089,9 +2089,7 @@ void asmlinkage __init noreturn __start_xen(void)
> >  
> >      init_idle_domain();
> >  
> > -    this_cpu(stubs.addr) = alloc_stub_page(smp_processor_id(),
> > -                                           &this_cpu(stubs).mfn);
> > -    BUG_ON(!this_cpu(stubs.addr));
> > +    init_stub();
> 
> While I hate to nitpick further, "stubs".Â  There are 4 per CPU, and I'm
> reasonably sure we're consistently plural elsewhere.

Funny you ask - I had it as "stubs" initially, but then realized the
existing function is named alloc_stub_page(), and hence switched back
to use "stub" as that seemed more inline with the existing usage.

I will adjust on commit.

> Otherwise (and with Jan's grammar note in the commit message too),
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks, yes, that's been adjusted in the commit message.

> One further thought, which would be for a followup patch if we decide to
> do it.
> 
> We do now use UDB for bugframes.Â  It's also marginally better than INT3
> because if we do ever end up finding ourselves executing it, because
> we'll #UD on the first one, rather than try to brute force our way
> through the #BPs printing a log message per instruction.
> 
> One thing I didn't check and I really need to is whether UDB has the
> same speculation-halting properties that UD2 has.Â  It's not a guarantee,
> given that the encoding is valid in other modes.

Hm, yes, let's see if I find some time to change it, or whether
someone else beats me to it :).

Roger.


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:00:57 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:00:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336466.1598242 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyh6-0000z6-VJ; Fri, 12 Jun 2026 10:00:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336466.1598242; Fri, 12 Jun 2026 10: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 1wXyh6-0000yw-SL; Fri, 12 Jun 2026 10:00:56 +0000
Received: by outflank-mailman (input) for mailman id 1336466;
 Fri, 12 Jun 2026 10:00:54 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb46f4d1000701b@swg.vates.tech>)
 id 1wXyh4-0000yS-QD
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:00:54 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyh4-001Vmq-6K
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:00:54 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb46f4d1000701b@swg.vates.tech>)
 id 6a2bd8d4-bab6-0a2a0a5309dd-0a2a450ad9fa-14
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:00:54 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb46f4d1000701b@swg.vates.tech>)
 id 6a2bd8d1-56b3-0a2a450a0019-b9ff1c12992f-4
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:00:52 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb46f4d1000701b.003 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 10:00:50 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id 62B6C81A5D;
 Fri, 12 Jun 2026 12:00:49 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=RlqxdzSDiyAKrkuHoDNLQjE/GaBf/wst6RfEkuJcZIM=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=HMpq9sHbXNM8k6U8JNeac5Zm1PyRj+sSN5yF505N6Q2DI6zluVj7iSLOpONsanKrIGppRj5l4
 +fwOxfZBr9brjjGgzypvoqrjBPWoXq9pMJJj1GRUftNi9M4/gKQuy05/rtaFoHwe+nzVgDAHxwJ
 Dso766XcjDtO8Jox8gaPxe/pMWYg1uEX6tI0NfscJWfW8NA70b1aVpuOryr6yJw1bO0ckd9PuLb
 PbA6pRrFcd1HGmIxtmAA/NTbypXKNVZqhxcZyiXWpvF1qKGL1r+E0nTsCzm53L2+ZQUM/jF7w3E
 6MHIPdO4vKYJK9RFz7lX8gdYsZsruOsuMBh1kQMj3Whw==
X-Zone-Loop: a7d4a78d47c5d8e06b5876a5609dbb89905e92f901d5
x-campaign-type: default
x-transaction-id: a7b0f033-8afa-4bd8-9638-f8112718101c
x-swg-uid: 01-52bebb1f-2e2d-4a03-a73d-c9f0f0cc42bb
X-Mailer: Sweego
Message-ID:
 <1781258450.8631fc262581453bbf619ec5b2062170.19ebb46f4d1000701b@vates.tech>
x-swg-bid: 1781258450.8631fc262581453bbf619ec5b2062170.19ebb46f4d1000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 12:00:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Thierry Escande <thierry.escande@vates.tech>
Subject: Re: [PATCH 01/17] libacpi: Split dsdt.asl file and extract i440
 specific parts
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>
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-2-thierry.escande@vates.tech>
 <afB4cc8wI__auaJu@macbook.local>
Content-Language: en-US
In-Reply-To: <afB4cc8wI__auaJu@macbook.local>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.90.99f9891e8e209ca8.19ebb46f282.ff12cacea3db4b4=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781258449539
X-purgate-ID: tlsNG-4011c0/1781258452-711628B7-6BCE1375/0/0
X-purgate-type: clean
X-purgate-size: 11977

---=Part.90.99f9891e8e209ca8.19ebb46f282.ff12cacea3db4b4=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


On 4/28/26 11:06, Roger Pau Monn=C3=A9 wrote:
> On Fri, Mar 13, 2026 at 04:35:01PM +0000, Thierry Escande wrote:
>> In order to factorize the common parts between i440 and q35 dsdt files,
>> this patch splits dsdt=2Easl and put the i440 specific parts into
>> dsdt_i400=2Easl=2E
>>
>> This also makes use of #include directives instead of file
>> concatenations to build the asl files=2E
>>
>> Also, the anycpu asl files generation makes use of makefile pattern
>> rules to avoid duplication for i440 and q35=2E
>>
>> Becuase the LPC controller BDF (which differs between i440 and q35) mus=
t
>=20
> s/Becuase/Because/
>=20
>> be set at device declaration, it is still set in dsdt=2Easl by checking
>> for a MACHINE_TYPE_I440 macro defined in dsdt_i400=2Easl=2E
>=20
> s/i400/i440/
>=20
>> Signed-off-by: Thierry Escande <thierry=2Eescande@vates=2Etech>
>> ---
>>  tools/firmware/hvmloader/Makefile  |  2 +-
>>  tools/firmware/hvmloader/ovmf=2Ec    |  4 ++--
>>  tools/firmware/hvmloader/seabios=2Ec |  4 ++--
>>  tools/firmware/hvmloader/util=2Ec    |  4 ++--
>>  tools/firmware/hvmloader/util=2Eh    |  4 ++--
>>  tools/libacpi/Makefile             | 10 ++++-----
>>  tools/libacpi/dsdt=2Easl             | 25 ++++-----------------
>>  tools/libacpi/dsdt_i440=2Easl        | 36 ++++++++++++++++++++++++++++=
++
>>  8 files changed, 53 insertions(+), 36 deletions(-)
>>  create mode 100644 tools/libacpi/dsdt_i440=2Easl
>>
>> diff --git a/tools/firmware/hvmloader/Makefile b/tools/firmware/hvmload=
er/Makefile
>> index 21de72187d=2E=2Ebdc33a877f 100644
>> --- a/tools/firmware/hvmloader/Makefile
>> +++ b/tools/firmware/hvmloader/Makefile
>> @@ -78,7 +78,7 @@ rombios=2Eo: roms=2Einc
>>  smbios=2Eo: CFLAGS +=3D -D__SMBIOS_DATE__=3D"\"$(SMBIOS_REL_DATE)\""
>> =20
>>  ACPI_PATH =3D =2E=2E/=2E=2E/libacpi
>> -DSDT_FILES +=3D dsdt_anycpu_qemu_xen=2Ec
>> +DSDT_FILES +=3D dsdt_i440_anycpu_qemu_xen=2Ec
>>  ACPI_OBJS =3D $(patsubst %=2Ec,%=2Eo,$(DSDT_FILES)) build=2Eo static_t=
ables=2Eo
>>  $(ACPI_OBJS): CFLAGS +=3D -iquote =2E -DLIBACPI_STDUTILS=3D\"$(CURDIR)=
/util=2Eh\"
>>  CFLAGS +=3D -I$(ACPI_PATH)
>> diff --git a/tools/firmware/hvmloader/ovmf=2Ec b/tools/firmware/hvmload=
er/ovmf=2Ec
>> index 23610a0717=2E=2Ed264a50c73 100644
>> --- a/tools/firmware/hvmloader/ovmf=2Ec
>> +++ b/tools/firmware/hvmloader/ovmf=2Ec
>> @@ -119,8 +119,8 @@ static void ovmf_load(const struct bios_config *con=
fig,
>>  static void ovmf_acpi_build_tables(void)
>>  {
>>      struct acpi_config config =3D {
>> -        =2Edsdt_anycpu =3D dsdt_anycpu_qemu_xen,
>> -        =2Edsdt_anycpu_len =3D dsdt_anycpu_qemu_xen_len,
>> +        =2Edsdt_anycpu =3D dsdt_i440_anycpu_qemu_xen,
>> +        =2Edsdt_anycpu_len =3D dsdt_i440_anycpu_qemu_xen_len,
>>          =2Edsdt_15cpu =3D NULL,=20
>>          =2Edsdt_15cpu_len =3D 0
>>      };
>> diff --git a/tools/firmware/hvmloader/seabios=2Ec b/tools/firmware/hvml=
oader/seabios=2Ec
>> index 444d118ddb=2E=2E74b0406b5a 100644
>> --- a/tools/firmware/hvmloader/seabios=2Ec
>> +++ b/tools/firmware/hvmloader/seabios=2Ec
>> @@ -90,8 +90,8 @@ static void seabios_acpi_build_tables(void)
>>  {
>>      uint32_t rsdp =3D (uint32_t)scratch_alloc(sizeof(struct acpi_20_rs=
dp), 0);
>>      struct acpi_config config =3D {
>> -        =2Edsdt_anycpu =3D dsdt_anycpu_qemu_xen,
>> -        =2Edsdt_anycpu_len =3D dsdt_anycpu_qemu_xen_len,
>> +        =2Edsdt_anycpu =3D dsdt_i440_anycpu_qemu_xen,
>> +        =2Edsdt_anycpu_len =3D dsdt_i440_anycpu_qemu_xen_len,
>>          =2Edsdt_15cpu =3D NULL,
>>          =2Edsdt_15cpu_len =3D 0,
>>      };
>> diff --git a/tools/firmware/hvmloader/util=2Ec b/tools/firmware/hvmload=
er/util=2Ec
>> index e651342681=2E=2Ef1ed1eb48d 100644
>> --- a/tools/firmware/hvmloader/util=2Ec
>> +++ b/tools/firmware/hvmloader/util=2Ec
>> @@ -843,8 +843,8 @@ void hvmloader_acpi_build_tables(struct acpi_config=
 *config,
>>      s =3D xenstore_read("platform/device-model", "");
>>      if ( !strncmp(s, "qemu_xen", 9) )
>>      {
>> -        config->dsdt_anycpu =3D dsdt_anycpu_qemu_xen;
>> -        config->dsdt_anycpu_len =3D dsdt_anycpu_qemu_xen_len;
>> +        config->dsdt_anycpu =3D dsdt_i440_anycpu_qemu_xen;
>> +        config->dsdt_anycpu_len =3D dsdt_i440_anycpu_qemu_xen_len;
>>          config->dsdt_15cpu =3D NULL;
>>          config->dsdt_15cpu_len =3D 0;
>>      }
>> diff --git a/tools/firmware/hvmloader/util=2Eh b/tools/firmware/hvmload=
er/util=2Eh
>> index 765a013ddd=2E=2E3c5eeff5e7 100644
>> --- a/tools/firmware/hvmloader/util=2Eh
>> +++ b/tools/firmware/hvmloader/util=2Eh
>> @@ -381,8 +381,8 @@ extern struct e820map memory_map;
>>  bool check_overlap(uint64_t start, uint64_t size,
>>                     uint64_t reserved_start, uint64_t reserved_size);
>> =20
>> -extern const unsigned char dsdt_anycpu_qemu_xen[], dsdt_anycpu[], dsdt=
_15cpu[];
>> -extern const int dsdt_anycpu_qemu_xen_len, dsdt_anycpu_len, dsdt_15cpu=
_len;
>> +extern const unsigned char dsdt_i440_anycpu_qemu_xen[], dsdt_anycpu[],=
 dsdt_15cpu[];
>> +extern const int dsdt_i440_anycpu_qemu_xen_len, dsdt_anycpu_len, dsdt_=
15cpu_len;
>=20
> While there you can make this unsigned int, like the dsdt_anycpu_len
> field=2E

Sure=2E

>=20
>> =20
>>  unsigned long acpi_pages_allocated(void);
>> =20
>> diff --git a/tools/libacpi/Makefile b/tools/libacpi/Makefile
>> index b21a64c6b4=2E=2Ed3d4bc9543 100644
>> --- a/tools/libacpi/Makefile
>> +++ b/tools/libacpi/Makefile
>> @@ -11,7 +11,7 @@ endif
>> =20
>>  MK_DSDT =3D $(ACPI_BUILD_DIR)/mk_dsdt
>> =20
>> -C_SRC-$(CONFIG_X86) =3D dsdt_anycpu=2Ec dsdt_15cpu=2Ec dsdt_anycpu_qem=
u_xen=2Ec dsdt_pvh=2Ec
>> +C_SRC-$(CONFIG_X86) =3D dsdt_anycpu=2Ec dsdt_15cpu=2Ec dsdt_i440_anycp=
u_qemu_xen=2Ec dsdt_pvh=2Ec
>>  C_SRC-$(CONFIG_ARM_64) =3D dsdt_anycpu_arm=2Ec
>>  DSDT_FILES ?=3D $(C_SRC-y)
>>  C_SRC =3D $(addprefix $(ACPI_BUILD_DIR)/, $(DSDT_FILES))
>> @@ -39,18 +39,16 @@ $(H_SRC): $(ACPI_BUILD_DIR)/%=2Eh: %=2Easl
>>  $(MK_DSDT): mk_dsdt=2Ec
>>  	$(HOSTCC) $(HOSTCFLAGS) $(MKDSDT_CFLAGS-y) $(CFLAGS_xeninclude) -D__X=
EN_TOOLS__ -o $@ mk_dsdt=2Ec
>> =20
>> -$(ACPI_BUILD_DIR)/dsdt_anycpu_qemu_xen=2Easl: dsdt=2Easl dsdt_acpi_inf=
o=2Easl $(MK_DSDT)
>> +$(ACPI_BUILD_DIR)/dsdt_%_anycpu_qemu_xen=2Easl: dsdt_%=2Easl dsdt=2Eas=
l dsdt_acpi_info=2Easl $(MK_DSDT)
>>  	# Remove last bracket
>>  	awk 'NR > 1 {print s} {s=3D$$0}' $< > $@=2E$(TMP_SUFFIX)
>> -	cat dsdt_acpi_info=2Easl >> $@=2E$(TMP_SUFFIX)
>>  	$(MK_DSDT) --debug=3D$(debug) --dm-version qemu-xen >> $@=2E$(TMP_SUF=
FIX)
>>  	mv -f $@=2E$(TMP_SUFFIX) $@
>> =20
>>  # NB=2E awk invocation is a portable alternative to 'head -n -1'
>> -$(ACPI_BUILD_DIR)/dsdt_%cpu=2Easl: dsdt=2Easl dsdt_acpi_info=2Easl  $(=
MK_DSDT)
>> +$(ACPI_BUILD_DIR)/dsdt_%cpu=2Easl: dsdt_i440=2Easl dsdt=2Easl dsdt_acp=
i_info=2Easl  $(MK_DSDT)
>>  	# Remove last bracket
>>  	awk 'NR > 1 {print s} {s=3D$$0}' $< > $@=2E$(TMP_SUFFIX)
>> -	cat dsdt_acpi_info=2Easl >> $@=2E$(TMP_SUFFIX)
>>  	$(MK_DSDT) --debug=3D$(debug) --maxcpu $*  >> $@=2E$(TMP_SUFFIX)
>>  	mv -f $@=2E$(TMP_SUFFIX) $@
>> =20
>> @@ -65,7 +63,7 @@ $(ACPI_BUILD_DIR)/dsdt_anycpu_arm=2Easl: $(MK_DSDT)
>>  	mv -f $@=2E$(TMP_SUFFIX) $@
>> =20
>>  $(C_SRC): $(ACPI_BUILD_DIR)/%=2Ec: $(ACPI_BUILD_DIR)/%=2Easl
>> -	$(IASL) -vs -p $(ACPI_BUILD_DIR)/$*=2E$(TMP_SUFFIX) -tc $<
>> +	$(IASL) -vs -I $(CURDIR) -p $(ACPI_BUILD_DIR)/$*=2E$(TMP_SUFFIX) -tc =
$<
>>  	sed -e 's/AmlCode/$*/g' -e 's/_aml_code//g' $(ACPI_BUILD_DIR)/$*=2Ehe=
x > $@=2E$(TMP_SUFFIX)
>>  	echo "int $*_len=3Dsizeof($*);" >> $@=2E$(TMP_SUFFIX)
>>  	mv -f $@=2E$(TMP_SUFFIX) $@
>> diff --git a/tools/libacpi/dsdt=2Easl b/tools/libacpi/dsdt=2Easl
>> index 32b42f85ae=2E=2E130826fdcc 100644
>> --- a/tools/libacpi/dsdt=2Easl
>> +++ b/tools/libacpi/dsdt=2Easl
>> @@ -5,8 +5,6 @@
>>   * Copyright (c) 2004, Intel Corporation=2E
>>   */
>> =20
>> -DefinitionBlock ("DSDT=2Eaml", "DSDT", 2, "Xen", "HVM", 0)
>> -{
>>      Name (\PMBS, 0x0C00)
>>      Name (\PMLN, 0x08)
>>      Name (\IOB1, 0x00)
>> @@ -199,7 +197,10 @@ DefinitionBlock ("DSDT=2Eaml", "DSDT", 2, "Xen", "=
HVM", 0)
>> =20
>>              Device (ISA)
>>              {
>> -                Name (_ADR, 0x00010000) /* device 1, fn 0 */
>> +                /* Error will be raised if the machine type is not def=
ined */
>> +                #ifdef MACHINE_TYPE_I440
>> +                    Name (_ADR, 0x00010000) /* device 1, fn 0 */
>> +                #endif
>=20
> I think we want the preprocessor directives not indented the same as
> asl code, like we do in C, iow:
>=20
>             Device (ISA)
>             {
>                 /* Error will be raised if the machine type is not defin=
ed */
> #ifdef MACHINE_TYPE_I440
>                 Name (_ADR, 0x00010000) /* device 1, fn 0 */
> #endif
>=20
> Same with the includes and defines below=2E

Will do=2E

>=20
>> =20
>>                  OperationRegion(PIRQ, PCI_Config, 0x60, 0x4)
>>                  Scope(\) {
>> @@ -329,23 +330,6 @@ DefinitionBlock ("DSDT=2Eaml", "DSDT", 2, "Xen", "=
HVM", 0)
>>                      })
>>                  }
>> =20
>> -                Device (FDC0)
>> -                {
>> -                    Name (_HID, EisaId ("PNP0700"))
>> -                    Method (_STA, 0, NotSerialized)
>> -                    {
>> -                          Return (0x0F)
>> -                    }
>> -
>> -                    Name (_CRS, ResourceTemplate ()
>> -                    {
>> -                        IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
>> -                        IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
>> -                        IRQNoFlags () {6}
>> -                        DMA (Compatibility, NotBusMaster, Transfer8) {=
2}
>> -                    })
>> -                }
>=20
> I need to look at the Q35 changes, but ff the only differences are the
> Name() method at the top and this, we might as well use an #ifdef
> here, and there's no need to split into so many separate files?  I
> need to look at further patches=2E

Since the changes are not that big I can indeed use #ifdef within
dstd=2Easl directly and avoid the split=2E There would be specific files
declaring the machine type and I can keep the current concatenation
mecanism=2E

>=20
> The ACPI table generation stuff could certainly do with an overall
> rework=2E
>=20
>>                  Device (UAR1)
>>                  {
>>                      Name (_HID, EisaId ("PNP0501"))
>> @@ -444,4 +428,3 @@ DefinitionBlock ("DSDT=2Eaml", "DSDT", 2, "Xen", "H=
VM", 0)
>>      Method(_PIC, 1) {
>>          Store(Arg0, PICD)
>>      }
>> -}
>> diff --git a/tools/libacpi/dsdt_i440=2Easl b/tools/libacpi/dsdt_i440=2E=
asl
>> new file mode 100644
>> index 0000000000=2E=2Ee80c454ad9
>> --- /dev/null
>> +++ b/tools/libacpi/dsdt_i440=2Easl
>> @@ -0,0 +1,36 @@
>> +/* SPDX-License-Identifier: LGPL-2=2E1-only */
>> +/*********************************************************************=
*********
>> + * DSDT for Xen with Qemu device model (for i440 machine)
>> + *
>> + * Copyright (c) 2004, Intel Corporation=2E
>> + */
>> +
>> +DefinitionBlock ("DSDT=2Eaml", "DSDT", 2, "Xen", "HVM", 0)
>> +{
>> +    #define MACHINE_TYPE_I440
>=20
> IMO we probably want to define this outside of the DefinitionBlock
> section, just after the copyright header=2E

Yes, I'll define that in dsdt_i440=2Easl and dsdt_q35=2Easl along with the
isa device sbdf=2E

Regards,


-- 
Thierry Escande | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.90.99f9891e8e209ca8.19ebb46f282.ff12cacea3db4b4=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:00:57 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:00:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336465.1598232 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyh2-0000lj-Ov; Fri, 12 Jun 2026 10:00:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336465.1598232; Fri, 12 Jun 2026 10: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 1wXyh2-0000lc-M8; Fri, 12 Jun 2026 10:00:52 +0000
Received: by outflank-mailman (input) for mailman id 1336465;
 Fri, 12 Jun 2026 10:00:51 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb46e0b9000701b@swg.vates.tech>)
 id 1wXyh1-0000lW-Kq
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:00:51 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyh0-00FbNe-TX
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:00:50 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb46e0b9000701b@swg.vates.tech>)
 id 6a2bd8cd-2eae-0a2a0a5409dd-0a2a450ad9f4-38
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:00:50 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb46e0b9000701b@swg.vates.tech>)
 id 6a2bd8d1-56b3-0a2a450a0019-b9ff1c12992f-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:00:50 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb46e0b9000701b.005 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 10:00:44 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id 1FF5786252;
 Fri, 12 Jun 2026 12:00:44 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=MzqbtulDxGhFht/QAO08vFAefKUWGXbGYF76ycrrhMM=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=S4AfchkJ2oxWUgifWvTq7VzhbqcKPWlQEUablgIK6BochNUvp6jIy+/aJLeOk/ciOAz4vPWH2
 kLL1WxNBWkT1HaisPCPJL55Me5FVxY57aiTIQnz/VA9TwU1mNgJgkfbENYlmzhaVwVLlqpQNOH2
 SgZEzpObvpEKFaEaWLaefgYu+U9HuSIvS1So+VRf0eJ+DYTfo7sBPclzfeQYp2/DiwTZJlKA8bN
 omsM2r/aPNfgXgiUSEm7qMi0vjMCIVbsccJAEL8xyIR5UHgyj1eHc1OcjNJQ4gd2q7Tm1VB8ovo
 PzQvEyWK3QU23Fi1Sj1msDbSUCS73necQiJRqrlltSbA==
X-Zone-Loop: 95f17a6fbae412af84b4a1709b6a1d75e3f8ec9a72f1
x-campaign-type: default
x-transaction-id: f581064f-1cce-41de-84af-e1e0a57d490f
x-swg-uid: 01-777db663-d7cd-4049-8511-776a117c9e52
X-Mailer: Sweego
Message-ID:
 <1781258445.8631fc262581453bbf619ec5b2062170.19ebb46e0b9000701b@vates.tech>
x-swg-bid: 1781258445.8631fc262581453bbf619ec5b2062170.19ebb46e0b9000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 12:00:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Thierry Escande <thierry.escande@vates.tech>
Subject: Re: [PATCH 00/17] Q35 initial support for HVM guests
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>, Juergen Gross <jgross@suse.com>
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <afBmWSFsyrwy_Ru1@macbook.local>
Content-Language: en-US
In-Reply-To: <afBmWSFsyrwy_Ru1@macbook.local>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.8f.5d01169edc465011.19ebb46ddf5.470525d403f36299=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781258444282
X-purgate-ID: tlsNG-4011c0/1781258450-7FD788B7-8DA7A02C/0/0
X-purgate-type: clean
X-purgate-size: 3905

---=Part.8f.5d01169edc465011.19ebb46ddf5.470525d403f36299=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


On 4/28/26 09:48, Roger Pau Monn=C3=A9 wrote:
> On Fri, Mar 13, 2026 at 04:35:01PM +0000, Thierry Escande wrote:
>> This series introduces initial Q35 chipset support for HVM guests, base=
d on the
>> patchset at [1] by Alexey Gerasimenko=2E
>>
>> Basic support means that this patchset allows to start an HVM guest tha=
t
>> emulates a Q35 chipset via Qemu and implements access to PCIe extended
>> configuration space for such devices emulated by Qemu=2E
>>
>> Support for PCIe device passthrough is not implemented yet=2E This is p=
lanned but
>> implies modifications in the hypervisor and the firmwares, mainly for t=
he
>> support of multiple PCI buses=2E
>=20
> Why do you need multi bus support to expose PCIe capabilities?  I'm
> not seeing the relation between those two=2E  You could still expose a
> single bus on the MCFG table=2E

I should have explained further but the main reason is that Q35 doesn't
support device hot-plug on its main root bus, which is how toolstacks
are doing device pass-through=2E This needs another PCI root port to
connect pass-through'd devices to and here begin the problems=2E The new
root complex attached to Qemu is not seen as a secondary bus before the
devices are hot-plugged and are simply ignored by the toolstack=2E And
even by hacking around to get the devices plugged, Xen doesn't expose
them to the guest because it's not on PCI bus #0=2E
But instead of adding support for multiple PCIe buses, the solution
could be to not use Qemu hot-plug mechanism but rather attach
passthrough'd devices using Qemu command line option -device=2E A patchset
as been sent the the ML for that=2E See [1]=2E

>=20
>> In order to create a Q35 guest, a new domain config option has been add=
ed,
>> named 'device_model_machine'=2E Possible values are:
>> - "i440" - i440 emulation (default)
>> - "q35"  - emulate a Q35 machine
>>
>> If the option is omitted it defaults to "i440", not impacting existing =
domain
>> configuration files=2E
>>
>> DSDT files for Q35 and i440 are largely similar so the existing file ds=
dt=2Easl
>> has been split with i440 and q35 specific parts put in seperated files=
=2E
>>
>> The PCIe MMCONFIG area is configured by hvmloader and its base address =
and size
>> are set in Xen using a new pair of hypercalls HVMOP_get|set_ecam_space=
=2E
>=20
> I guess I will see how that looks like in the series, but the setting
> of the ECAM region would better be done by the toolstack=2E  Setting it
> in hvmloader is possibly not the best placement, because it doesn't
> run for PVH guests (and we will want ECAM support for PVH at some
> point), and there's also a vague plan/intention to get rid of
> hvmloader even for HVM guests eventually=2E

Since hvmloader is taking care of the bars array arrangements, that
sounds to be the most convenient place to configure the mmconfig entry=2E
All that logic would be moved to the toolstack with the hvmloader
removal plan=2E

I tried to have the toolstack to fix the base address of the ECAM region
but then that breaks the logic of hvmloader PCI setup for BARs
arrangement=2E As you suggested (or Jan), we could state that the ECAM
region must be placed first in the MMIO hole and the toolstack would
just have to indicate that we want an ECAM region, with hvmloader
placing it first and with the smallest possible size (as there's only 1
bus)=2E

Regards,
Thierry

[1]
https://lore=2Ekernel=2Eorg/xen-devel/1776955586=2E8631fc262581453bbf619ec=
5b2062170=2E19dbace7684000f373@vates=2Etech/

Regards,



-- 
 | Vates 

XCP-ng & Xen Orchestra - Vates solutions

web: https://vate=
s=2Etech
---=Part.8f.5d01169edc465011.19ebb46ddf5.470525d403f36299=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:01:00 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:01:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336467.1598251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyhA-0001EP-AK; Fri, 12 Jun 2026 10:01:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336467.1598251; Fri, 12 Jun 2026 10: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 1wXyhA-0001EH-6u; Fri, 12 Jun 2026 10:01:00 +0000
Received: by outflank-mailman (input) for mailman id 1336467;
 Fri, 12 Jun 2026 10:00:59 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb471013000701b@swg.vates.tech>)
 id 1wXyh9-0001DD-2L
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:00:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyh8-001Vrs-F9
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:00:58 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb471013000701b@swg.vates.tech>)
 id 6a2bd8d4-bab6-0a2a0a5309dd-0a2a450ad9fa-36
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:00:58 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb471013000701b@swg.vates.tech>)
 id 6a2bd8d1-56b3-0a2a450a0019-b9ff1c12992f-5
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:00:58 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb471013000701b.003 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 10:00:57 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id 645AE81A5D;
 Fri, 12 Jun 2026 12:00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=nNoIB27OwXyDmxOhJFmt9rR7vWtFTvJTJU44Vm24r/k=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=TKx/1isSEmXCAtQ357Q+5EUAGQbuh26NqQz2o226LVv0nQMrWkWDI8DioIbF3INkT1cvix0XJ
 FF4ITab2ot1CoPb+GyHyNb3d9F2igGfK4+oGxaZTDiPBZu034zLY7bkQ2GZ3O80vFQXg5HQMa+O
 2GnbCLLB1e/cGa+ROUCjVL1bPJlzQJ1ebP037f2ZoV0D1+B8VOwkuotPvXWUoT4AQ6w4XkeYQ5A
 Zd45uP+8vXLvWYS3REZhj5km9vg2oqiwVuk2DXbVZtTXaDs8QEsggGYMTBneYr/c2HRDGgLu5S9
 CSwyLcGoMLUnJdCiKn8COdWPK4yEIY4qd9ZjyjdIjESQ==
X-Zone-Loop: ff2f3ab2887a1598d2253fc316b99278d89266570d1f
x-campaign-type: default
x-transaction-id: 8c197ce9-526f-4c5d-a799-37a1033de9f2
x-swg-uid: 01-ce86c688-cb0c-4fb8-acbf-3250d2914ecf
X-Mailer: Sweego
Message-ID:
 <1781258457.8631fc262581453bbf619ec5b2062170.19ebb471013000701b@vates.tech>
x-swg-bid: 1781258457.8631fc262581453bbf619ec5b2062170.19ebb471013000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 12:00:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Thierry Escande <thierry.escande@vates.tech>
Subject: Re: [PATCH 01/17] libacpi: Split dsdt.asl file and extract i440
 specific parts
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
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-2-thierry.escande@vates.tech>
 <58d73d7e-49e8-4bcb-ad6b-ba92dbf0ce0d@suse.com>
 <904df363-2f46-40fa-be05-7c1998b98c17@suse.com>
Content-Language: en-US
In-Reply-To: <904df363-2f46-40fa-be05-7c1998b98c17@suse.com>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.93.c17785933ee4e986.19ebb470dbc.c0905764df607827=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781258456508
X-purgate-ID: tlsNG-4011c0/1781258458-7E78F8B7-99FD6747/0/0
X-purgate-type: clean
X-purgate-size: 1179

---=Part.93.c17785933ee4e986.19ebb470dbc.c0905764df607827=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


On 5/4/26 16:35, Jan Beulich wrote:
> On 04=2E05=2E2026 16:34, Jan Beulich wrote:
>> On 13=2E03=2E2026 17:35, Thierry Escande wrote:
>>> --- a/tools/firmware/hvmloader/Makefile
>>> +++ b/tools/firmware/hvmloader/Makefile
>>> @@ -78,7 +78,7 @@ rombios=2Eo: roms=2Einc
>>>  smbios=2Eo: CFLAGS +=3D -D__SMBIOS_DATE__=3D"\"$(SMBIOS_REL_DATE)\""
>>> =20
>>>  ACPI_PATH =3D =2E=2E/=2E=2E/libacpi
>>> -DSDT_FILES +=3D dsdt_anycpu_qemu_xen=2Ec
>>> +DSDT_FILES +=3D dsdt_i440_anycpu_qemu_xen=2Ec
>>
>> Instead of merely adding the i440 infix, could we perhaps replace the a=
nycpu
>> one (which doesn't serve any purpose here anymore, afaics)?
>=20
> Thinking about it, qemu and xen perhaps fall into the same category, and=
 could
> perhaps also be dropped=2E

I'll do this in a separate patchset if that's ok=2E

Regards,


-- 
Thierry Escande | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.93.c17785933ee4e986.19ebb470dbc.c0905764df607827=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:01:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:01:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336468.1598260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyhG-0001YJ-HR; Fri, 12 Jun 2026 10:01:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336468.1598260; Fri, 12 Jun 2026 10:01: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 1wXyhG-0001YA-DK; Fri, 12 Jun 2026 10:01:06 +0000
Received: by outflank-mailman (input) for mailman id 1336468;
 Fri, 12 Jun 2026 10:01:05 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb4721b0000701b@swg.vates.tech>)
 id 1wXyhF-0001WV-Fh
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:01:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyhE-009PRP-LO
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:01:04 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb4721b0000701b@swg.vates.tech>)
 id 6a2bd8e0-5cb7-0a2a0a5109dd-0a2a4506e570-0
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:04 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb4721b0000701b@swg.vates.tech>)
 id 6a2bd8e0-7371-0a2a45060019-b9ff1c128b79-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:04 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb4721b0000701b.004 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 10:01:01 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id EC25E86502;
 Fri, 12 Jun 2026 12:01:00 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=NC0fTZHYg2VkRO73ZlLz4BH1Jvnue5GqGDee2Igk/iY=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=gaLeUsxxlaRTdx4+3DZSFStCaURbFKDMRXQAEHIjy5T4I3ImYits5+Cp6dBeG/4NQRPsQKbf0
 oGaS3vEJIXBV06kHbZwzIqihzOyMqXyUStC7jIIG149hNYq5E1OEC/+CH4yAYHZJlnC+I5zTkNs
 xP24KukQILKccAaSHtQsiQAKMHHGHNYLTE+eBAIEObqNGtS8mEDo8dIC/xO7gZ9solA2O12erE8
 uoEn6LSk3bG3DUqm17xhXuuHuxLKHvVN4NKMrLBisORqV/4o7puVdnTm4yEdkGxa0zv/1hpOjXI
 duhjC2RHH+ubwgS/Dyrj/ltXGdemYU6qlXf4hp2tDXsw==
X-Zone-Loop: 594f0875a32ed588de6460aab0fbce3c73033e98cdb2
x-campaign-type: default
x-transaction-id: 3d128196-c033-402e-a238-4436ab3d21a5
x-swg-uid: 01-352306b2-47eb-4c4e-881c-4990081be366
X-Mailer: Sweego
Message-ID:
 <1781258461.8631fc262581453bbf619ec5b2062170.19ebb4721b0000701b@vates.tech>
x-swg-bid: 1781258461.8631fc262581453bbf619ec5b2062170.19ebb4721b0000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 12:01:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Thierry Escande <thierry.escande@vates.tech>
Subject: Re: [PATCH 02/17] libacpi: new DSDT ACPI table for Q35
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>,
 Alexey Gerasimenko <x1917x@gmail.com>
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-3-thierry.escande@vates.tech>
 <afCJTdlBPPyWEejk@macbook.local>
Content-Language: en-US
In-Reply-To: <afCJTdlBPPyWEejk@macbook.local>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.99.f504815354de79d1.19ebb471fc9.f47476d06f00c6ec=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781258461129
X-purgate-ID: tlsNG-16d1c6/1781258464-8F397D75-01FF7E13/0/0
X-purgate-type: clean
X-purgate-size: 11562

---=Part.99.f504815354de79d1.19ebb471fc9.f47476d06f00c6ec=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


On 4/28/26 12:17, Roger Pau Monn=C3=A9 wrote:
> On Fri, Mar 13, 2026 at 04:35:01PM +0000, Thierry Escande wrote:
>> This patch adds the DSDT table for Q35 (new tools/libacpi/dsdt_q35=2Eas=
l
>> file)=2E It only contains the specific Q35 parts that differ from i440)=
=2E
>> At the moment, these are:
>>
>> - BDF location of LPC Controller
>> - Minor changes related to FDC detection
>> - Addition of _OSC method to inform OSPM about PCIe features supported
>>
>> As we are still using 4 PCI router links and their corresponding
>> device/register addresses are same (offset 0x60), no need to change PCI
>> routing descriptions=2E
>>
>> Note that '15cpu' ACPI tables are only applicable to qemu-traditional
>> (which have no support for Q35), so we need to use 'anycpu' version onl=
y=2E
>=20
> Is the above statement fully accurate?  It seems like 15cpu tables are
> used with rombios, so the dependency is not on qemu-trad, but rather
> rombios?
>=20
> If it's truly only dependent on qemu-trad then we should remove those,
> as we have removed qemu-trad=2E

You're right, the dependency is on Rombios=2E And I though Rombios was
only used for qemu-trad, my bad=2E So it implies to use Seabios or OVMF to
have Q35 support=2E Is it something acceptable?

>=20
>>
>> Signed-off-by: Alexey Gerasimenko <x1917x@gmail=2Ecom>
>=20
> If the first SoB if from Alexey, the From: should also match=2E

Ok, I'll change authorship or signed-off order depending on how close it
is from the original patch=2E

>=20
>> Signed-off-by: Thierry Escande <thierry=2Eescande@vates=2Etech>
>> ---
>>  tools/firmware/hvmloader/Makefile |   2 +-
>>  tools/libacpi/Makefile            |   2 +-
>>  tools/libacpi/dsdt=2Easl            |   3 +
>>  tools/libacpi/dsdt_q35=2Easl        | 130 ++++++++++++++++++++++++++++=
++
>>  4 files changed, 135 insertions(+), 2 deletions(-)
>>  create mode 100644 tools/libacpi/dsdt_q35=2Easl
>>
>> diff --git a/tools/firmware/hvmloader/Makefile b/tools/firmware/hvmload=
er/Makefile
>> index bdc33a877f=2E=2E99f045efaa 100644
>> --- a/tools/firmware/hvmloader/Makefile
>> +++ b/tools/firmware/hvmloader/Makefile
>> @@ -78,7 +78,7 @@ rombios=2Eo: roms=2Einc
>>  smbios=2Eo: CFLAGS +=3D -D__SMBIOS_DATE__=3D"\"$(SMBIOS_REL_DATE)\""
>> =20
>>  ACPI_PATH =3D =2E=2E/=2E=2E/libacpi
>> -DSDT_FILES +=3D dsdt_i440_anycpu_qemu_xen=2Ec
>> +DSDT_FILES +=3D dsdt_i440_anycpu_qemu_xen=2Ec dsdt_q35_anycpu_qemu_xen=
=2Ec
>>  ACPI_OBJS =3D $(patsubst %=2Ec,%=2Eo,$(DSDT_FILES)) build=2Eo static_t=
ables=2Eo
>>  $(ACPI_OBJS): CFLAGS +=3D -iquote =2E -DLIBACPI_STDUTILS=3D\"$(CURDIR)=
/util=2Eh\"
>>  CFLAGS +=3D -I$(ACPI_PATH)
>> diff --git a/tools/libacpi/Makefile b/tools/libacpi/Makefile
>> index d3d4bc9543=2E=2Ee6c4a3fd8b 100644
>> --- a/tools/libacpi/Makefile
>> +++ b/tools/libacpi/Makefile
>> @@ -11,7 +11,7 @@ endif
>> =20
>>  MK_DSDT =3D $(ACPI_BUILD_DIR)/mk_dsdt
>> =20
>> -C_SRC-$(CONFIG_X86) =3D dsdt_anycpu=2Ec dsdt_15cpu=2Ec dsdt_i440_anycp=
u_qemu_xen=2Ec dsdt_pvh=2Ec
>> +C_SRC-$(CONFIG_X86) =3D dsdt_anycpu=2Ec dsdt_15cpu=2Ec dsdt_i440_anycp=
u_qemu_xen=2Ec dsdt_q35_anycpu_qemu_xen=2Ec dsdt_pvh=2Ec
>>  C_SRC-$(CONFIG_ARM_64) =3D dsdt_anycpu_arm=2Ec
>>  DSDT_FILES ?=3D $(C_SRC-y)
>>  C_SRC =3D $(addprefix $(ACPI_BUILD_DIR)/, $(DSDT_FILES))
>> diff --git a/tools/libacpi/dsdt=2Easl b/tools/libacpi/dsdt=2Easl
>> index 130826fdcc=2E=2Edc764881c9 100644
>> --- a/tools/libacpi/dsdt=2Easl
>> +++ b/tools/libacpi/dsdt=2Easl
>> @@ -201,6 +201,9 @@
>>                  #ifdef MACHINE_TYPE_I440
>>                      Name (_ADR, 0x00010000) /* device 1, fn 0 */
>>                  #endif
>> +                #ifdef MACHINE_TYPE_Q35
>> +                    Name (_ADR, 0x001f0000) /* device 31, fn 0 */
>> +                #endif
>=20
> You possibly want to do:
>=20
> #ifdef =2E=2E=2E
> #elif defined(=2E=2E=2E)
> #else
> #error =2E=2E=2E
> #endif

Well, the iasl compiler doesn't support the defined() directive (at
least the latest Debian version from 2025) so I'll rather use something
like:

#define MACHINE_TYPE MACHINE_TYPE_XXX

#if MACHINE_TYPE =3D=3D MACHINE_TYPE_XXX
 =2E=2E=2E
#elif MACHINE_TYPE =3D=3D MACHINE_TYPE_YYY
 =2E=2E=2E
#endif

>=20
> But seeing the difference is only for the address, why not do:
>=20
> #define ISA_DEV_SBDF 0x00010000
> =2E=2E=2E
> Name (_ADR, ISA_DEV_SBDF)
> =2E=2E=2E
>=20
> And avoid the ifdef mess?

Yes, sure=2E

>=20
>> =20
>>                  OperationRegion(PIRQ, PCI_Config, 0x60, 0x4)
>>                  Scope(\) {
>> diff --git a/tools/libacpi/dsdt_q35=2Easl b/tools/libacpi/dsdt_q35=2Eas=
l
>> new file mode 100644
>> index 0000000000=2E=2E7cefe63506
>> --- /dev/null
>> +++ b/tools/libacpi/dsdt_q35=2Easl
>> @@ -0,0 +1,130 @@
>> +/* SPDX-License-Identifier: LGPL-2=2E1-only */
>> +/*********************************************************************=
*********
>> + * DSDT for Xen with Qemu device model (for Q35 machine)
>> + */
>> +
>> +DefinitionBlock ("DSDT=2Eaml", "DSDT", 2, "Xen", "HVM", 0)
>> +{
>> +    #define MACHINE_TYPE_Q35
>> +
>> +    #include "dsdt=2Easl"
>> +
>> +    Scope (\_SB=2EPCI0)
>> +    {
>> +       /* _OSC, modified from ASL sample in ACPI spec */
>> +       Name (SUPP, 0) /* PCI _OSC Support Field value */
>> +       Name (CTRL, 0) /* PCI _OSC Control Field value */
>> +       Method (_OSC, 4) {
>> +           /* Create DWORD-addressable fields from the Capabilities Bu=
ffer */
>> +           CreateDWordField (Arg3, 0, CDW1)
>> +
>> +           /* Switch by UUID=2E
>> +            * Only PCI Host Bridge Device capabilities UUID used for n=
ow
>=20
> Comment style, in Xen we use:
>=20
> /*
>  * Switch by UIID=2E
>  * Only PCI Host Bridge Device capabilities UUID used for now=2E
>  */
>=20
> The opening and closing lines are standalone=2E  Also missing a full
> stop on the last line=2E  The rest of the comments below also need
> adjusting=2E

Will fix that=2E

> >> +            */
>> +           If (LEqual (Arg0, ToUUID ("33DB4D5B-1FF7-401C-9657-7441C03D=
D766"))) {
>> +               /* Create DWORD-addressable fields from the Capabilitie=
s Buffer */
>> +               CreateDWordField (Arg3, 4, CDW2)
>> +               CreateDWordField (Arg3, 8, CDW3)
>> +
>> +               /* Save Capabilities DWORD2 & 3 */
>> +               Store (CDW2, SUPP)
>> +               Store (CDW3, CTRL)
>> +
>> +               /* Validate Revision DWORD */
>> +               If (LNotEqual (Arg1, One)) {
>> +                   /* Unknown revision */
>> +                   /* Support and Control DWORDs will be returned anyw=
ay */
>> +                   Or (CDW1, 0x08, CDW1)
>> +               }
>> +
>> +               /* Control field bits are:
>> +                * bit 0    PCI Express Native Hot Plug control
>> +                * bit 1    SHPC Native Hot Plug control
>> +                * bit 2    PCI Express Native Power Management Events =
control
>> +                * bit 3    PCI Express Advanced Error Reporting contro=
l
>> +                * bit 4    PCI Express Capability Structure control
>> +                */
>> +
>> +               /* Always allow native PME, AER (no dependencies)
>> +                * Never allow SHPC (no SHPC controller in this system)
>> +                * Do not allow PCIe Capability Structure control for n=
ow
>> +                * Also, ACPI hotplug is used for now instead of PCIe
>> +                * Native Hot Plug
>> +                */
>> +               And (CTRL, 0x0C, CTRL)
>> +
>> +               If (LNotEqual (CDW3, CTRL)) {
>> +                   /* Some of Capabilities bits were masked */
>> +                   Or (CDW1, 0x10, CDW1)
>> +               }
>> +               /* Update DWORD3 in the buffer */
>> +               Store (CTRL, CDW3)
>=20
> This looks equal to the QEMU code FWIW=2E
>=20
>> +           } Else {
>> +               Or (CDW1, 4, CDW1) /* Unrecognized UUID */
>> +           }
>> +           Return (Arg3)
>> +       }
>> +       /* end of _OSC */
>> +    }
>> +
>> +    /****************************************************************
>> +     * LPC ISA bridge
>> +     ****************************************************************/
>=20
> I would use a normal one-line comment here: /* LPCI ISA Bridge */
>=20
> Has any of this been picked up from the QEMU asl files?  Asking
> because the above comment looks to be verbatim copied from the QEMU
> file, and we then need to carry their copyright notice, which is not
> done in this patch=2E
>=20
>> +
>> +    Scope (\_SB=2EPCI0=2EISA)
>=20
> AFAICT this is adding more content to the ISA device already defined
> in dsdt=2Easl?

AFAIU, yes that's the goal=2E Since I'll revert the split and use #ifdef
directives in dsdt=2Easl this will be removed=2E

>=20
>> +    {
>> +        /*
>> +         LPC ISA bridge
>> +
>> +         PCI Interrupt Routing Register 2 (PIRQE=2E=2EPIRQH) cannot be
>> +         used because of existing Xen IRQ limitations (4 PCI links
>> +         only)
>> +        */
>=20
> Right, and PIRQA=2E=2EPIRQD is already defined in the generic dsdt=2Easl=
=2E
> Might be worth mentioning, otherwise the block looks incomplete=2E
>=20
>> +
>> +        /* LPC_I/O: I/O Decode Ranges Register */
>> +        OperationRegion (LPCD, PCI_Config, 0x80, 0x2)
>> +        Field (LPCD, AnyAcc, NoLock, Preserve) {
>> +            COMA,   3,
>> +                ,   1,
>> +            COMB,   3,
>> +
>> +            Offset(0x01),
>> +            LPTD,   2,
>> +                ,   2,
>> +            FDCD,   2
>> +        }
>> +
>> +        /* LPC_EN: LPC I/F Enables Register */
>> +        OperationRegion(LPCE, PCI_Config, 0x82, 0x2)
>> +        Field(LPCE, AnyAcc, NoLock, Preserve) {
>> +            CAEN,   1,
>> +            CBEN,   1,
>> +            LPEN,   1,
>> +            FDEN,   1
>> +        }
>> +
>> +        Device (FDC0)
>> +        {
>> +            Name (_HID, EisaId ("PNP0700"))
>> +            Method (_STA, 0, NotSerialized)
>> +            {
>> +                Store (FDEN, Local0)
>> +                If (LEqual (Local0, 0)) {
>> +                    Return (0x00)
>> +                } Else {
>> +                    Return (0x0F)
>> +                }
>> +           }
>> +
>> +           Name (_CRS, ResourceTemplate ()
>> +           {
>> +               IO (Decode16, 0x03F2, 0x03F2, 0x00, 0x04)
>> +               IO (Decode16, 0x03F7, 0x03F7, 0x00, 0x01)
>> +               IRQNoFlags () {6}
>> +               DMA (Compatibility, NotBusMaster, Transfer8) {2}
>> +           })
>> +        }
>> +    }
>=20
> This seem to match the blocks in QEMU, so it's likely fine=2E

I'll add qemu copyright header

Would that be ok under the original copyright notice ?
/******************************************************************
 * Q35 part heavily inspired by q35-acpi-dsdt=2Edsl from Qemu
 *
 * Copyright (c) 2010 Isaku Yamahata
 *                    yamahata at valinux co jp
 */


Regards,


-- 
Thierry Escande | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.99.f504815354de79d1.19ebb471fc9.f47476d06f00c6ec=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:01:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:01:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336471.1598269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyhM-0001vk-OD; Fri, 12 Jun 2026 10:01:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336471.1598269; Fri, 12 Jun 2026 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 1wXyhM-0001va-Kc; Fri, 12 Jun 2026 10:01:12 +0000
Received: by outflank-mailman (input) for mailman id 1336471;
 Fri, 12 Jun 2026 10:01:11 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb473e25000701b@swg.vates.tech>)
 id 1wXyhL-0001sS-6s
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:01:11 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyhK-009llX-JD
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:01:10 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb473e25000701b@swg.vates.tech>)
 id 6a2bd8e1-e002-0a2a0a5209dd-0a2a45058ac6-32
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:10 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb473e25000701b@swg.vates.tech>)
 id 6a2bd8e6-aaa8-0a2a45050019-b9ff1c1287c1-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:10 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb473e25000701b.004 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 10:01:08 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id 49788864C8;
 Fri, 12 Jun 2026 12:01:08 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=SgMjdxegYzrvKgMTHiojta7TUkAuW8/NFjXdVBUYF3E=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=O97hIpqN6gn/Vgv4XzggB4xK/gabcqU5YKWsq8Nlx5SkdobfAQK1QGXCCmdoUuke07w45mHvX
 Whv1rtLsVejSu5uUcQVVoQJuMUQxup3fBj3f5Rg4kB2hxGVJG/brxyq9aXu6NEH8qGv7z14cMZc
 uvLC3/f/DFfYE+k+6tV4s+jI4pepGoRC+v/Eazs8o9h5wygUGcxNCU9Zt6p8S77Us5ZCxLKWGAG
 5Eo87EXbDkNy9ldD2l8fkY2wyr9EdJI8pmUvo2wHrvgc40Wt/VCyumEKMrfGF6sDOofkRD5nCDV
 6d7CQD9jXAlQwGI+rrFBFVFVMg12lV4kW3a3VKaGX7Vw==
X-Zone-Loop: 93ed67e546f59fc714809f800e0b386d989becf98e0e
x-campaign-type: default
x-transaction-id: 5cb3ddd8-72f5-4a64-a60e-f89bdaaacec1
x-swg-uid: 01-143717bb-954c-4758-99f1-6aefd653a4d0
X-Mailer: Sweego
Message-ID:
 <1781258468.8631fc262581453bbf619ec5b2062170.19ebb473e25000701b@vates.tech>
x-swg-bid: 1781258468.8631fc262581453bbf619ec5b2062170.19ebb473e25000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 12:01:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Thierry Escande <thierry.escande@vates.tech>
Subject: Re: [PATCH 03/17] hvmloader: add function to set the emulated machine
 type (i440/Q35)
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>,
 Alexey Gerasimenko <x1917x@gmail.com>
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-4-thierry.escande@vates.tech>
 <afCOS0Ufbk790t8J@macbook.local>
Content-Language: en-US
In-Reply-To: <afCOS0Ufbk790t8J@macbook.local>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.9a.50c45423f473a627.19ebb473c42.fc5f5bd48fb3c302=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781258468418
X-purgate-ID: tlsNG-c201ff/1781258470-DB36C443-9DB383DC/0/0
X-purgate-type: clean
X-purgate-size: 5333

---=Part.9a.50c45423f473a627.19ebb473c42.fc5f5bd48fb3c302=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


On 4/28/26 12:39, Roger Pau Monn=C3=A9 wrote:
> On Fri, Mar 13, 2026 at 04:35:01PM +0000, Thierry Escande wrote:
>> This adds a new function init_pc_machine_type() which allows to
>> determine and set the emulated chipset type=2E Possible values are
>> MACHINE_TYPE_I440 and MACHINE_TYPE_Q35 and stored in the global variabl=
e
>> machine_type=2E
>>
>> The machine_type variable will be used from multiple places in followin=
g
>> commits=2E
>=20
> Is this initialization something that OVMF or SeaBIOS also does?
> (maybe not for Xen ATM)
>=20
> Asking myself because as said earlier we want to possibly get rid of
> hvmloader, plus we will want ECAM support in PVH at some point=2E

Possibly=2E There are surely overlaps in term of initialization between
the toolstack, hvmloader and the firmwares but that's another story imo=2E

>=20
>> Signed-off-by: Alexey Gerasimenko <x1917x@gmail=2Ecom>
>=20
> Same as previous patch, if the first SoB is from Alexey the From:
> (patch author) should also match=2E
>=20
>> Signed-off-by: Thierry Escande <thierry=2Eescande@vates=2Etech>
>> ---
>>  tools/firmware/hvmloader/hvmloader=2Ec |  2 ++
>>  tools/firmware/hvmloader/pci_regs=2Eh  |  4 +++
>>  tools/firmware/hvmloader/util=2Ec      | 42 ++++++++++++++++++++++++++=
++
>>  tools/firmware/hvmloader/util=2Eh      | 11 ++++++++
>>  4 files changed, 59 insertions(+)
>>
>> diff --git a/tools/firmware/hvmloader/hvmloader=2Ec b/tools/firmware/hv=
mloader/hvmloader=2Ec
>> index 6d23150fc9=2E=2E626cc53649 100644
>> --- a/tools/firmware/hvmloader/hvmloader=2Ec
>> +++ b/tools/firmware/hvmloader/hvmloader=2Ec
>> @@ -332,6 +332,8 @@ int main(void)
>> =20
>>      init_hypercalls();
>> =20
>> +    init_pc_machine_type();
>> +
>>      memory_map_setup();
>> =20
>>      xenbus_setup();
>> diff --git a/tools/firmware/hvmloader/pci_regs=2Eh b/tools/firmware/hvm=
loader/pci_regs=2Eh
>> index 7bf2d873ab=2E=2E4d4dc0cd01 100644
>> --- a/tools/firmware/hvmloader/pci_regs=2Eh
>> +++ b/tools/firmware/hvmloader/pci_regs=2Eh
>> @@ -107,6 +107,10 @@
>> =20
>>  #define PCI_INTEL_OPREGION 0xfc /* 4 bits */
>> =20
>> +#define PCI_VENDOR_ID_INTEL              0x8086
>> +#define PCI_DEVICE_ID_INTEL_82441        0x1237
>> +#define PCI_DEVICE_ID_INTEL_Q35_MCH      0x29c0
>=20
> In Xen we have a separate file for vendor and device IDs, called
> pci_ids=2Eh=2E  Maybe it would be better to use a similar approach in
> hvmloader, and keep pci_regs=2Eh only containing PCI register offsets=2E

As suggested by Jan, I'll use pci_ids=2Eh from Xen (if it's ok to add a
symlink to pci_ids=2Eh in tools/include/xen)

And is it ok to add the PCI device IDs to pci_ids=2Eh in this commit or
should it be done in a separate one ?

>=20
>> +
>>  #endif /* __HVMLOADER_PCI_REGS_H__ */
>> =20
>>  /*
>> diff --git a/tools/firmware/hvmloader/util=2Ec b/tools/firmware/hvmload=
er/util=2Ec
>> index f1ed1eb48d=2E=2Ef9116bea4d 100644
>> --- a/tools/firmware/hvmloader/util=2Ec
>> +++ b/tools/firmware/hvmloader/util=2Ec
>> @@ -22,6 +22,7 @@
>>  #include "hypercall=2Eh"
>>  #include "ctype=2Eh"
>>  #include "vnuma=2Eh"
>> +#include "pci_regs=2Eh"
>>  #include <acpi2_0=2Eh>
>>  #include <libacpi=2Eh>
>>  #include <stdint=2Eh>
>> @@ -648,6 +649,47 @@ void __bug(const char *file, int line)
>>      crash();
>>  }
>> =20
>> +machine_type_t machine_type;
>> +
>> +void init_pc_machine_type(void)
>=20
> Since detection is done based on PCI device IDs, it might be better
> placed in pci=2Ec, and so you don't need to include pci_regs=2Eh in
> util=2Ec=2E

Yes, that makes more sense=2E And I'll rename it as
pci_init_machine_type() then=2E

>=20
>> +{
>> +    uint16_t vendor_id;
>> +    uint16_t device_id;
>> +
>> +    if ( machine_type !=3D MACHINE_TYPE_UNDEFINED )
>> +        return;
>> +
>> +    vendor_id =3D pci_readw(0, PCI_VENDOR_ID);
>> +    device_id =3D pci_readw(0, PCI_DEVICE_ID);
>> +
>> +    /* only Intel platforms are emulated currently */
>> +    if ( vendor_id !=3D PCI_VENDOR_ID_INTEL )
>> +        goto error;
>> +
>> +    switch ( device_id )
>> +    {
>> +    case PCI_DEVICE_ID_INTEL_82441:
>> +        machine_type =3D MACHINE_TYPE_I440;
>> +        printf("Detected i440 chipset\n");
>> +        break;
>> +
>> +    case PCI_DEVICE_ID_INTEL_Q35_MCH:
>> +        machine_type =3D MACHINE_TYPE_Q35;
>> +        printf("Detected Q35 chipset\n");
>> +        break;
>> +
>> +    default:
>> +        goto error;
>> +    }
>> +
>> +    return;
>> +
>> +error:
>> +    printf("Unknown emulated chipset encountered, VID=3D%04Xh, DID=3D%=
04Xh\n",
>=20
> We don't usually use the h suffix in hex numbers in hvmloader, it's
> more common to prefix them with 0x, so I would recommend to use the %#06=
x
> formatter instead=2E

I did some tests regarding Jan comment and yes, # and width specifier
seem to act weirdly=2E Will use 0x%0nx instead=2E

Regards,


-- 
Thierry Escande | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.9a.50c45423f473a627.19ebb473c42.fc5f5bd48fb3c302=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:01:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:01:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336474.1598277 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyhU-0002Nn-58; Fri, 12 Jun 2026 10:01:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336474.1598277; Fri, 12 Jun 2026 10: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 1wXyhU-0002Ne-1o; Fri, 12 Jun 2026 10:01:20 +0000
Received: by outflank-mailman (input) for mailman id 1336474;
 Fri, 12 Jun 2026 10:01:19 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb4751cb000701b@swg.vates.tech>)
 id 1wXyhS-0002Kd-UU
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:01:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyhS-009PXB-Ak
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:01:18 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb4751cb000701b@swg.vates.tech>)
 id 6a2bd8ec-e002-0a2a0a5209dd-0a2a4506c066-4
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:18 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb4751cb000701b@swg.vates.tech>)
 id 6a2bd8ec-7371-0a2a45060019-b9ff1c128cb5-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:16 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb4751cb000701b.004 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 10:01:13 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id 6599E8649B;
 Fri, 12 Jun 2026 12:01:13 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=iD7zbj9ToOPp5xR4/S+Jgs4RENtDXgKpWed0gmKc5u8=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=c0bEoIQZ2t2aRHOIYzIJmFeop1XeXcNBhmTddGAf3SVbim4chIu/WwRYYy2rokckp5ptLsN4c
 BESbWCiM7vZd7WBFDlX489shvuAcZqMwNnh2T4OYynWsoF9d+w8xEiNWL78abjV1b0R/Oaz7k97
 VIPvJOgO8g6tMkcZythIQk8XFN5mXQAQhnDYAh3ofJ3gveVnTTpoWpEppRi6R7sWyUtzppKVH/j
 siS2zWO0+waAzuKuL/ZVYLszuBHQbnH/Ajgu7BY3z6U8zYeZVeVhdKgV0Rn0RAVvBO9CnaqIVPg
 XksH1tXjFhHYliX/Blw7xq7i+OLtApZkBAID8H/qsyVg==
X-Zone-Loop: 7aa6dbaa65d373c9b3ce875faa3a049846ec6e485e1f
x-campaign-type: default
x-transaction-id: 26f8b09c-4600-4b46-8a53-cfb1e775b33d
x-swg-uid: 01-7637ffeb-2a73-441c-8c10-7013bf05e1c9
X-Mailer: Sweego
Message-ID:
 <1781258474.8631fc262581453bbf619ec5b2062170.19ebb4751cb000701b@vates.tech>
x-swg-bid: 1781258474.8631fc262581453bbf619ec5b2062170.19ebb4751cb000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 12:01:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Thierry Escande <thierry.escande@vates.tech>
Subject: Re: [PATCH 03/17] hvmloader: add function to set the emulated machine
 type (i440/Q35)
To: Jan Beulich <jbeulich@suse.com>, =?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>,
 Alexey Gerasimenko <x1917x@gmail.com>
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-4-thierry.escande@vates.tech>
 <afCOS0Ufbk790t8J@macbook.local>
 <40c2ea90-e3ab-4d4d-b8a9-8d8efb2869ff@suse.com>
Content-Language: en-US
In-Reply-To: <40c2ea90-e3ab-4d4d-b8a9-8d8efb2869ff@suse.com>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.9b.c25fc20caa5b6c3e.19ebb475048.5308ca7602eef5a7=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781258473544
X-purgate-ID: tlsNG-16d1c6/1781258476-87F7BD75-C30EB9E2/0/0
X-purgate-type: clean
X-purgate-size: 2073

---=Part.9b.c25fc20caa5b6c3e.19ebb475048.5308ca7602eef5a7=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


On 5/4/26 12:58, Jan Beulich wrote:
> On 28=2E04=2E2026 12:39, Roger Pau Monn=C3=A9 wrote:
>> On Fri, Mar 13, 2026 at 04:35:01PM +0000, Thierry Escande wrote:
>>> --- a/tools/firmware/hvmloader/pci_regs=2Eh
>>> +++ b/tools/firmware/hvmloader/pci_regs=2Eh
>>> @@ -107,6 +107,10 @@
>>> =20
>>>  #define PCI_INTEL_OPREGION 0xfc /* 4 bits */
>>> =20
>>> +#define PCI_VENDOR_ID_INTEL              0x8086
>>> +#define PCI_DEVICE_ID_INTEL_82441        0x1237
>>> +#define PCI_DEVICE_ID_INTEL_Q35_MCH      0x29c0
>>
>> In Xen we have a separate file for vendor and device IDs, called
>> pci_ids=2Eh=2E  Maybe it would be better to use a similar approach in
>> hvmloader, and keep pci_regs=2Eh only containing PCI register offsets=
=2E
>=20
> Can't hvmloader simply re-use Xen's header(s)?

If it's ok to add a symlink to pci_ids=2Eh in tools/include/xen then yes=
=2E

>>> +error:
>>> +    printf("Unknown emulated chipset encountered, VID=3D%04Xh, DID=3D=
%04Xh\n",
>>
>> We don't usually use the h suffix in hex numbers in hvmloader, it's
>> more common to prefix them with 0x, so I would recommend to use the %#0=
6x
>> formatter instead=2E
>=20
> I'd generally advise against use of # with a width specifier, as that en=
ds
> up awkward for 0=2E That is, %#x is fine and generally to be preferred, =
but
> for a specific with it might better be 0x%0<n>x (with n=3D4 here)=2E Arg=
uably
> here we don't really expect either of the values to be 0, so the suggest=
ed
> use may indeed be okay in this case (while still introducing an example
> which later may be copied elsewhere without much thought)=2E
>=20

Indeed printf("%#08x\n", 0x1234) outputs 0x001234=2E so 0x%04x then=2E

Regards,


-- 
Thierry Escande | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.9b.c25fc20caa5b6c3e.19ebb475048.5308ca7602eef5a7=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:01:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:01:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336479.1598288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyhY-0002rZ-GH; Fri, 12 Jun 2026 10:01:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336479.1598288; Fri, 12 Jun 2026 10: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 1wXyhY-0002rN-Bb; Fri, 12 Jun 2026 10:01:24 +0000
Received: by outflank-mailman (input) for mailman id 1336479;
 Fri, 12 Jun 2026 10:01:23 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb476458000701b@swg.vates.tech>)
 id 1wXyhX-0002lp-5o
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:01:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyhW-009Pc1-I7
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:01:22 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb476458000701b@swg.vates.tech>)
 id 6a2bd8ec-e002-0a2a0a5209dd-0a2a4506c066-22
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:22 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb476458000701b@swg.vates.tech>)
 id 6a2bd8ec-7371-0a2a45060019-b9ff1c128cb5-4
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:22 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb476458000701b.004 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 10:01:18 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id 1A1F086445;
 Fri, 12 Jun 2026 12:01:18 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=Hmxf8p1byidHbSD/narBC20xyG5TgvPQOei13uwg3Ko=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=aKL6+EBoZYn/7Yb0GirVDHsuJkuP7ffCvLLY0S/Jj8YExmit6Bik0qa2PJivvppx1L8g5Gymg
 1wN2YkBvtpPkJD+Edug903J4Etzb28CdK6yTsCvlnj0jBqMqw6/Li5dN9IMGNnHoPvjNKl6UOks
 iP/Fo7oDLeOUmJP7pgCTmKInqlrRnxMv63r+HnsAXm1Rm10T8QoD0cN5L88Fg0vUmzJUuBwZ5sm
 sS1cEGPx/nS+N0l0W2LCZ3gHv6vyDhcYvFP/4J926Flur0jk/W/t8otTaX3qfu3kPCG10cW9wJC
 O07R/fmuNtnUy2WUmsNt8yZAusHw9imSqPpKr1XCe00Q==
X-Zone-Loop: d817cea9fb2c4a1e1413a5caebb9f619f6e17a1363db
x-campaign-type: default
x-transaction-id: a0f68d93-5f96-40af-a125-4cf2c9ba84d6
x-swg-uid: 01-900e4c06-9835-432e-8ec2-2ae6941ba1fe
X-Mailer: Sweego
Message-ID:
 <1781258478.8631fc262581453bbf619ec5b2062170.19ebb476458000701b@vates.tech>
x-swg-bid: 1781258478.8631fc262581453bbf619ec5b2062170.19ebb476458000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 12:01:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Thierry Escande <thierry.escande@vates.tech>
Subject: Re: [PATCH 03/17] hvmloader: add function to set the emulated machine
 type (i440/Q35)
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>,
 Alexey Gerasimenko <x1917x@gmail.com>, xen-devel@lists.xenproject.org
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-4-thierry.escande@vates.tech>
 <9f67c3ee-4450-4d4b-b03c-66ac1aa63014@suse.com>
Content-Language: en-US
In-Reply-To: <9f67c3ee-4450-4d4b-b03c-66ac1aa63014@suse.com>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.9c.4e937718b81e8a5a.19ebb4762d1.6263379c9ef8814c=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781258478290
X-purgate-ID: tlsNG-16d1c6/1781258482-86369D75-753689DA/0/0
X-purgate-type: clean
X-purgate-size: 2009

---=Part.9c.4e937718b81e8a5a.19ebb4762d1.6263379c9ef8814c=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable



On 5/4/26 16:43, Jan Beulich wrote:
> On 13=2E03=2E2026 17:35, Thierry Escande wrote:
>> @@ -648,6 +649,47 @@ void __bug(const char *file, int line)
>>      crash();
>>  }
>> =20
>> +machine_type_t machine_type;
>> +
>> +void init_pc_machine_type(void)
>> +{
>> +    uint16_t vendor_id;
>> +    uint16_t device_id;
>> +
>> +    if ( machine_type !=3D MACHINE_TYPE_UNDEFINED )
>> +        return;
>> +
>> +    vendor_id =3D pci_readw(0, PCI_VENDOR_ID);
>> +    device_id =3D pci_readw(0, PCI_DEVICE_ID);
>> +
>> +    /* only Intel platforms are emulated currently */
>=20
> Nit: Comment style=2E

That's for the missing capital on the first word and full stop, right?

>=20
>> +    if ( vendor_id !=3D PCI_VENDOR_ID_INTEL )
>> +        goto error;
>> +
>> +    switch ( device_id )
>> +    {
>> +    case PCI_DEVICE_ID_INTEL_82441:
>> +        machine_type =3D MACHINE_TYPE_I440;
>> +        printf("Detected i440 chipset\n");
>> +        break;
>> +
>> +    case PCI_DEVICE_ID_INTEL_Q35_MCH:
>> +        machine_type =3D MACHINE_TYPE_Q35;
>> +        printf("Detected Q35 chipset\n");
>> +        break;
>> +
>> +    default:
>> +        goto error;
>> +    }
>> +
>> +    return;
>> +
>> +error:
>=20
> Nit: Labels indented by at least one blank please=2E
>=20
>> +    printf("Unknown emulated chipset encountered, VID=3D%04Xh, DID=3D%=
04Xh\n",
>> +           vendor_id, device_id);
>> +    BUG();
>=20
> Can't this be moved up into the default case, thus avoiding "goto" and l=
abel
> altogether?

There is already a goto error on the vendor ID check=2E That makes it more
readable imo=2E

Regards,


-- 
Thierry Escande | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.9c.4e937718b81e8a5a.19ebb4762d1.6263379c9ef8814c=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:01:30 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:01:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336484.1598296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyhe-0003LZ-OB; Fri, 12 Jun 2026 10:01:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336484.1598296; Fri, 12 Jun 2026 10:01: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 1wXyhe-0003LP-Kd; Fri, 12 Jun 2026 10:01:30 +0000
Received: by outflank-mailman (input) for mailman id 1336484;
 Fri, 12 Jun 2026 10:01:29 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb477688000701b@swg.vates.tech>)
 id 1wXyhd-0003EE-30
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:01:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyhc-00FkJb-Fp
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:01:28 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb477688000701b@swg.vates.tech>)
 id 6a2bd8f8-5cb7-0a2a0a5109dd-0a2a4501caa6-0
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:28 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb477688000701b@swg.vates.tech>)
 id 6a2bd8f7-c1f2-0a2a45010019-b9ff1c129d19-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:28 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb477688000701b.004 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 10:01:23 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id BFF6B86445;
 Fri, 12 Jun 2026 12:01:22 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=xh2R9waaTNMlfuIpEZ+fmHJLfYoYS0YH6zSSnkU3BXg=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=IEOOb7W8uDwv9SWRXxK6GTMFjF1YEnPkPeCX9+O9GSfDktzjqVNOIfu2eJI65H84DGYrUuNWd
 UNVI/m2+hCW54UMgg0i4+0FgD/yoN6eqnbtslzxRizdQYwPIwLvX8BV+ZDbi1X4imYUxQh+P3Nw
 H/+hgS0DKiVwC/+gPVwB98Cn+WzO7NUBw8oC/4hzWLTX74Qk1GJfBhqdlvSxgd4Mg46vYOu4ti3
 ISbdgK8L8nvZYbe9FZ3jID5X9aPYSYCLVdqfXk/fkK9MMkA2nzuEbn3vTTfrJ+kwPwFafYrvvJa
 IacRp8kRfZ0sfTLWbhfhfQ3zbIL3s4qaGOVkDlNMTtIA==
X-Zone-Loop: cd387740805893fc041fcdc0bfb1211f7ed0b1514b48
x-campaign-type: default
x-transaction-id: 8c2abd98-fde3-4191-8203-2d01627deb66
x-swg-uid: 01-50646aa8-31a4-4cc4-8376-51b9307fa75c
X-Mailer: Sweego
Message-ID:
 <1781258483.8631fc262581453bbf619ec5b2062170.19ebb477688000701b@vates.tech>
x-swg-bid: 1781258483.8631fc262581453bbf619ec5b2062170.19ebb477688000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 12:01:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Thierry Escande <thierry.escande@vates.tech>
Subject: Re: [PATCH 05/17] hvmloader: add Q35 DSDT table loading
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>,
 Alexey Gerasimenko <x1917x@gmail.com>
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-6-thierry.escande@vates.tech>
 <afCVKAelR1ZyGB2U@macbook.local>
Content-Language: en-US
In-Reply-To: <afCVKAelR1ZyGB2U@macbook.local>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.9d.e6c60d5e013701e0.19ebb4774ff.df584024bd427cbf=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781258482943
X-purgate-ID: tlsNG-d62444/1781258488-AE55DFF4-CF16CEF1/0/0
X-purgate-type: clean
X-purgate-size: 4426

---=Part.9d.e6c60d5e013701e0.19ebb4774ff.df584024bd427cbf=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


On 4/28/26 13:08, Roger Pau Monn=C3=A9 wrote:
> On Fri, Mar 13, 2026 at 04:35:02PM +0000, Thierry Escande wrote:
>> This patch allows to select Q35 DSDT table in the function
>> hvmloader_acpi_build_tables()=2E The machine_type global variable is us=
ed
>> to select a proper table (i440/q35)=2E
>>
>> As we are bound to the qemu-xen device model for Q35, there is no need
>> to initialize config->dsdt_15cpu/config->dsdt_15cpu_len fields=2E
>>
>> Signed-off-by: Alexey Gerasimenko <x1917x@gmail=2Ecom>
>> Signed-off-by: Thierry Escande <thierry=2Eescande@vates=2Etech>
>> ---
>>  tools/firmware/hvmloader/util=2Ec | 17 +++++++++++++++--
>>  tools/firmware/hvmloader/util=2Eh |  2 ++
>>  2 files changed, 17 insertions(+), 2 deletions(-)
>>
>> diff --git a/tools/firmware/hvmloader/util=2Ec b/tools/firmware/hvmload=
er/util=2Ec
>> index f9116bea4d=2E=2E45519ea583 100644
>> --- a/tools/firmware/hvmloader/util=2Ec
>> +++ b/tools/firmware/hvmloader/util=2Ec
>> @@ -885,8 +885,21 @@ void hvmloader_acpi_build_tables(struct acpi_confi=
g *config,
>>      s =3D xenstore_read("platform/device-model", "");
>>      if ( !strncmp(s, "qemu_xen", 9) )
>=20
> Tying Q35 to xenstore seems a bit sub-optimal, as Q35 detection is
> done purely from the PCI config space=2E  It would be better if we could
> avoid relying on the xenstore node, and hence also fixup at least
> ovmf_acpi_build_tables() and seabios_acpi_build_tables() to use the
> Q35 ACPI tables when Q35 is detected, regardless of the device-model
> xenstore node=2E

Looking at the acpi_build_tables() for ovmf, seabios, and rombios, I
suppose the idea here was to set the correct ACPI tables for guest using
Rombios with qemu-xen=2E

So I can move the qemu-xen check in rombios_acpi_build_tables() and do
the machine_type check in all acpi_build_tables callbacks=2E I'm a bit
puzzled by the duplication, though=2E=2E=2E

>=20
>>      {
>> -        config->dsdt_anycpu =3D dsdt_i440_anycpu_qemu_xen;
>> -        config->dsdt_anycpu_len =3D dsdt_i440_anycpu_qemu_xen_len;
>> +        switch ( machine_type )
>> +        {
>> +        case MACHINE_TYPE_Q35:
>> +            config->dsdt_anycpu =3D dsdt_q35_anycpu_qemu_xen;
>> +            config->dsdt_anycpu_len =3D dsdt_q35_anycpu_qemu_xen_len;
>> +            break;
>> +        case MACHINE_TYPE_I440:
>> +            config->dsdt_anycpu =3D dsdt_i440_anycpu_qemu_xen;
>> +            config->dsdt_anycpu_len =3D dsdt_i440_anycpu_qemu_xen_len;
>> +            break;
>> +        default:
>> +            /* Not likely to happen */
>> +            BUG();
>> +        }
>> +
>>          config->dsdt_15cpu =3D NULL;
>>          config->dsdt_15cpu_len =3D 0;
>>      }
>> diff --git a/tools/firmware/hvmloader/util=2Eh b/tools/firmware/hvmload=
er/util=2Eh
>> index 2f37504aca=2E=2E4641ca0c46 100644
>> --- a/tools/firmware/hvmloader/util=2Eh
>> +++ b/tools/firmware/hvmloader/util=2Eh
>> @@ -393,7 +393,9 @@ bool check_overlap(uint64_t start, uint64_t size,
>>                     uint64_t reserved_start, uint64_t reserved_size);
>> =20
>>  extern const unsigned char dsdt_i440_anycpu_qemu_xen[], dsdt_anycpu[],=
 dsdt_15cpu[];
>> +extern const unsigned char dsdt_q35_anycpu_qemu_xen[];
>=20
> If I'm not mistaken, patch 2 introduces the dsdt_q35_anycpu_qemu_xen
> symbol to the hvmloader build, so that you can reference it here?
>=20
> At first I was going to comment that you are referencing a symbol not
> included in the patch, but I think such symbol was previously added to
> the build in patch 2 (and was unused there)=2E

Right, dsdt_q35_anycpu_qemu_xen=2Ec that declares
dsdt_q35_anycpu_qemu_xen[] is generated by patch 2 and used in this patch=
=2E

>=20
>>  extern const int dsdt_i440_anycpu_qemu_xen_len, dsdt_anycpu_len, dsdt_=
15cpu_len;
>> +extern const int dsdt_q35_anycpu_qemu_xen_len;
>=20
> unsigned int would be better here=2E

Yes, that will be done in a previous patch when dsdt_anycpu_qemu_xen_len
is renamed to dsdt_i440_anycpu_qemu_xen_len=2E

Regards,


-- 
Thierry Escande | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.9d.e6c60d5e013701e0.19ebb4774ff.df584024bd427cbf=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:01:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:01:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336485.1598301 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyhf-0003Oh-15; Fri, 12 Jun 2026 10:01:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336485.1598301; Fri, 12 Jun 2026 10:01: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 1wXyhe-0003Np-SU; Fri, 12 Jun 2026 10:01:30 +0000
Received: by outflank-mailman (input) for mailman id 1336485;
 Fri, 12 Jun 2026 10:01:29 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb478423000701b@swg.vates.tech>)
 id 1wXyhd-0003EV-BG
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:01:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyhc-009Pge-O6
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:01:28 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb478423000701b@swg.vates.tech>)
 id 6a2bd8f2-bab6-0a2a0a5309dd-0a2a4508bdda-34
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:28 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb478423000701b@swg.vates.tech>)
 id 6a2bd8f8-63b5-0a2a45080019-b9ff1c12a977-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:28 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb478423000701b.003 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 10:01:26 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id 4CA7986509;
 Fri, 12 Jun 2026 12:01:26 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=oYy9YgLXe1603Xgx3X3FY7zrTsXhJGcgHp7nx5qF91o=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=DU/2yU5QU19glj5EhZgtltuFV/YxMXJow5GtqFz5zWCuxcIjoJATr6JH2jAOAUKAqxCnIv9BR
 cEcVE8sQNPh1gfFk9aMPxVZ3q4YIjg7nB4gxX3AQnum/yv9og0eyY6/tD4A3jE3qQMZRMCrUo9r
 eaqTW+QmEBrHF//qyqgDAUPk22098FMrbs1eUmb9PTo9SWFSKd0ek0WDrHNh5xNobG7b1p2CRNQ
 UJG4QsLYOYcEDRZ1Q7ZFEryzAz0xfD3FH2PzZNA3l/rhUGkWkFNCXj/aufJ73326507t/hcesgc
 GBB8sm8uzksJA+JyFpoqtN9c/NUfKlsh89DoPXpt9PnQ==
X-Zone-Loop: 0bbb76286eaa2d8fb7590fad95f9cfe4b775e88d3b84
x-campaign-type: default
x-transaction-id: acd69170-0109-40c6-ba4d-1ca468d791fb
x-swg-uid: 01-3f8fc87f-5f45-406c-b9ea-a25bc5487e5a
X-Mailer: Sweego
Message-ID:
 <1781258486.8631fc262581453bbf619ec5b2062170.19ebb478423000701b@vates.tech>
x-swg-bid: 1781258486.8631fc262581453bbf619ec5b2062170.19ebb478423000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 12:01:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Thierry Escande <thierry.escande@vates.tech>
Subject: Re: [PATCH 06/17] hvmloader: Move pci devices setup to a separate
 function
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>
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-7-thierry.escande@vates.tech>
 <afCsimOpaMIr50Ua@macbook.local>
Content-Language: en-US
In-Reply-To: <afCsimOpaMIr50Ua@macbook.local>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.9e.1604d895d609bd5f.19ebb478295.4ebf08a4ccc32d2=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781258486421
X-purgate-ID: tlsNG-c1860d/1781258488-B777EDB1-614A097D/0/0
X-purgate-type: clean
X-purgate-size: 4432

---=Part.9e.1604d895d609bd5f.19ebb478295.4ebf08a4ccc32d2=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


On 4/28/26 14:48, Roger Pau Monn=C3=A9 wrote:
> On Fri, Mar 13, 2026 at 04:35:02PM +0000, Thierry Escande wrote:
>> For readability and code simplification, this patch moves PCI-device
>> specific initializations out of the pci_setup() function to a new
>> function class_specific_pci_device_setup()=2E
>=20
> AFAICT this is a non-functional change=2E  Should likely be mentioned in
> the commit message to avoid any doubts=2E

Sure, will do=2E

>=20
>> Signed-off-by: Thierry Escande <thierry=2Eescande@vates=2Etech>
>> ---
>>  tools/firmware/hvmloader/pci=2Ec      | 117 +++++++++++++++-----------=
--
>>  tools/firmware/hvmloader/pci_regs=2Eh |   4 +
>>  2 files changed, 68 insertions(+), 53 deletions(-)
>>
>> diff --git a/tools/firmware/hvmloader/pci=2Ec b/tools/firmware/hvmloade=
r/pci=2Ec
>> index c41c8d946a=2E=2Ea76d051bdf 100644
>> --- a/tools/firmware/hvmloader/pci=2Ec
>> +++ b/tools/firmware/hvmloader/pci=2Ec
>> @@ -84,12 +84,71 @@ static int find_next_rmrr(uint32_t base)
>>      return next_rmrr;
>>  }
>> =20
>> +static void class_specific_pci_device_setup(uint16_t vendor_id,
>> +                                            uint16_t device_id,
>> +                                            uint16_t class,
>=20
> It's a bit weird to pass the class value into the function, the value
> is only used inside the function itself, and hence could be fetched
> inside the function as the device BDF is provided as parameters?

That was to have less modification and have all calls to pci_readw() in
one place=2E I can move this one to the new function, no problem=2E

>=20
>> +                                            uint8_t bus,
>> +                                            uint8_t devfn, uint8_t *vg=
a_devfn)
>> +{
>> +    switch ( class )
>> +    {
>> +    case PCI_CLASS_DISPLAY_VGA:
>> +        /* If emulated VGA is found, preserve it as primary VGA=2E */
>> +        if ( (vendor_id =3D=3D 0x1234) && (device_id =3D=3D 0x1111) )
>> +        {
>> +            *vga_devfn =3D devfn;
>> +            virtual_vga =3D VGA_std;
>> +        }
>> +        else if ( (vendor_id =3D=3D 0x1013) && (device_id =3D=3D 0xb8)=
 )
>=20
> Since you introduce defines for the device classes, could you also
> introduce defines for the vendor and device IDs used here?

Sure=2E

>=20
>> +        {
>> +            *vga_devfn =3D devfn;
>> +            virtual_vga =3D VGA_cirrus;
>> +        }
>> +        else if ( virtual_vga =3D=3D VGA_none )
>> +        {
>> +            *vga_devfn =3D devfn;
>> +            virtual_vga =3D VGA_pt;
>> +            if ( vendor_id =3D=3D 0x8086 )
>=20
> This one is PCI_VENDOR_ID_INTEL, also a couple of more instances below=
=2E

Right=2E Will do the same for all IDs=2E

>=20
>> +            {
>> +                igd_opregion_pgbase =3D mem_hole_alloc(IGD_OPREGION_PA=
GES);
>> +                /*
>> +                 * Write the the OpRegion offset to give the opregion
>> +                 * address to the device model=2E The device model wil=
l trap
>> +                 * and map the OpRegion at the give address=2E
>> +                 */
>> +                pci_writel(*vga_devfn, PCI_INTEL_OPREGION,
>> +                           igd_opregion_pgbase << PAGE_SHIFT);
>> +            }
>> +        }
>> +        break;
>=20
> Newlines after break statements=2E

Ok

>> diff --git a/tools/firmware/hvmloader/pci_regs=2Eh b/tools/firmware/hvm=
loader/pci_regs=2Eh
>> index 4d4dc0cd01=2E=2Ec94278855b 100644
>> --- a/tools/firmware/hvmloader/pci_regs=2Eh
>> +++ b/tools/firmware/hvmloader/pci_regs=2Eh
>> @@ -111,6 +111,10 @@
>>  #define PCI_DEVICE_ID_INTEL_82441        0x1237
>>  #define PCI_DEVICE_ID_INTEL_Q35_MCH      0x29c0
>> =20
>> +#define PCI_CLASS_STORAGE_IDE            0x0101
>> +#define PCI_CLASS_DISPLAY_VGA            0x0300
>> +#define PCI_CLASS_BRIDGE_OTHER           0x0680
>=20
> As mentioned in a previous patch, this would better be placed in a
> pci_ids=2Eh header=2E

Sure, will do=2E

Regards,


-- 
Thierry Escande | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.9e.1604d895d609bd5f.19ebb478295.4ebf08a4ccc32d2=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:01:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:01:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336490.1598314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyhl-00045M-Ft; Fri, 12 Jun 2026 10:01:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336490.1598314; Fri, 12 Jun 2026 10:01: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 1wXyhl-00045A-CA; Fri, 12 Jun 2026 10:01:37 +0000
Received: by outflank-mailman (input) for mailman id 1336490;
 Fri, 12 Jun 2026 10:01:35 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb479016000701b@swg.vates.tech>)
 id 1wXyhj-0003vN-9g
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:01:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyhi-0056he-MX
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:01:34 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb479016000701b@swg.vates.tech>)
 id 6a2bd8fa-bab6-0a2a0a5309dd-0a2a450cba10-20
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:34 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb479016000701b@swg.vates.tech>)
 id 6a2bd8fe-62f1-0a2a450c0019-b9ff1c12b3f9-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:34 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb479016000701b.003 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 10:01:29 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id 5A20F863FC;
 Fri, 12 Jun 2026 12:01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=lRTVt6TLYyvZxQ4clMT8KEoLagGnL0YlVYAtPQPiWaU=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=ZTNhwTKLdX8aCDQrjnppJb++CFj6JOtRHSOzlVwDBSh6pSrVi4K3C04rMnzTbpMCqBLnmVOKP
 iDkmMGUKr2c//oK3GU8ynuAgiqodH8cv+vrVvyZz/SGz4fXqYP/4a1gsZrbLYl373El5qoKxVNC
 bIyBzDH/VtJFmrl92BrdUARn6XygAURsyUU89Pf4SKXzwQsgWQMm1GzAst3GkjArf00oPfv+v53
 oaOVyvubBFL59nFd+ECCTLu7YXUnCyGCZL2Upyuqr2yrVEG27DW9Xs+UfFnF8R0yOhuLxsaAcox
 jObdi1K8JaO80lrFL+ttEMFwwX2UNF8OepotQy1jQprg==
X-Zone-Loop: 09d72c41ab7896d961535710c121ac73039d7d8975cf
x-campaign-type: default
x-transaction-id: c24f5d4d-d599-4eab-8cb0-06783b17206a
x-swg-uid: 01-d0abcb43-ca14-420c-9c15-fddd7c219c57
X-Mailer: Sweego
Message-ID:
 <1781258489.8631fc262581453bbf619ec5b2062170.19ebb479016000701b@vates.tech>
x-swg-bid: 1781258489.8631fc262581453bbf619ec5b2062170.19ebb479016000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 12:01:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Thierry Escande <thierry.escande@vates.tech>
Subject: Re: [PATCH 06/17] hvmloader: Move pci devices setup to a separate
 function
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
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-7-thierry.escande@vates.tech>
 <99783d58-00b5-4f3e-9393-c713eb6f2606@suse.com>
Content-Language: en-US
In-Reply-To: <99783d58-00b5-4f3e-9393-c713eb6f2606@suse.com>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.9f.16c956ee77c612d4.19ebb478e92.982053e04d65383b=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781258489490
X-purgate-ID: tlsNG-d25034/1781258494-E2B74CF5-37DCDDBB/0/0
X-purgate-type: clean
X-purgate-size: 890

---=Part.9f.16c956ee77c612d4.19ebb478e92.982053e04d65383b=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


On 5/4/26 16:52, Jan Beulich wrote:
> On 13=2E03=2E2026 17:35, Thierry Escande wrote:
>>  void pci_setup(void)
>>  {
>>      uint8_t is_64bar, using_64bar, bar64_relocate =3D 0;
>>      uint32_t devfn, bar_reg, cmd, bar_data, bar_data_upper;
>>      uint64_t base, bar_sz, bar_sz_upper, mmio_total =3D 0;
>> -    uint32_t vga_devfn =3D 256;
>> +    uint8_t vga_devfn =3D 0xff;
>=20
> This change (and the related ones elsewhere) looks bogus to me: 0xff is
> a valid devfn value, whereas 256 isn't=2E

I'll revert this=2E

Regards,



-- 
Thierry Escande | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.9f.16c956ee77c612d4.19ebb478e92.982053e04d65383b=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:01:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:01:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336491.1598319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyhl-00048W-RI; Fri, 12 Jun 2026 10:01:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336491.1598319; Fri, 12 Jun 2026 10:01: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 1wXyhl-00046R-IN; Fri, 12 Jun 2026 10:01:37 +0000
Received: by outflank-mailman (input) for mailman id 1336491;
 Fri, 12 Jun 2026 10:01:36 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb479bcc000701b@swg.vates.tech>)
 id 1wXyhk-0003wZ-1M
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:01:36 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyhj-009Pmd-EL
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:01:35 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb479bcc000701b@swg.vates.tech>)
 id 6a2bd8fc-e002-0a2a0a5209dd-0a2a45029048-12
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:35 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb479bcc000701b@swg.vates.tech>)
 id 6a2bd8fe-af86-0a2a45020019-b9ff1c129983-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:35 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb479bcc000701b.004 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 10:01:32 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id 3E4B486445;
 Fri, 12 Jun 2026 12:01:32 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=7kn4izYLM5TPI406y1etZXXdjeRMXR1lvnRPOBi8rt8=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=EH3mGGo7TKAJzL52iLMAuL2sr9n1oic/4PnjkYNB2weR6QZOi1sLgVK0uwt7FcmRJsEIsJBQh
 RA/dllpEfvHbhTPre23C2kXILFjL3gCn97HVINsGezWaKwjxrzJWYIibJzgsB8ekHALvZe7uTqk
 cuAm3Hp8m4s1XycyAuFNqFFz63sXZBTVTmHx7DmICh3m+flV/SBGeSmClsQCYGD0qtE+0ksuYwN
 +3fCEV43Jmo5z9s5Zt2/eiWcQ3TyWr5kv7vndVAPQ2vtoTT9RRZfoMa2CCkFsbHygFscDUi4DFA
 mbG6LxJ1cWIn7xIdxezcIl61nDtEq4VFRh9cXDmb4iaQ==
X-Zone-Loop: 5a7abf72ed825c83a92ddeb7ebc03c5ae74242f366ce
x-campaign-type: default
x-transaction-id: 60ce2aa9-5b5e-4ca5-8908-23a86b8e2dd8
x-swg-uid: 01-d11fd5b7-7f01-4816-8d44-9f6573c6c748
X-Mailer: Sweego
Message-ID:
 <1781258492.8631fc262581453bbf619ec5b2062170.19ebb479bcc000701b@vates.tech>
x-swg-bid: 1781258492.8631fc262581453bbf619ec5b2062170.19ebb479bcc000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 12:01:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Thierry Escande <thierry.escande@vates.tech>
Subject: Re: [PATCH 07/17] hvmloader: add basic Q35 support
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>,
 Alexey Gerasimenko <x1917x@gmail.com>, xen-devel@lists.xenproject.org
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-8-thierry.escande@vates.tech>
 <06f93b9e-e70e-4c92-92c8-e7835103356d@suse.com>
Content-Language: en-US
In-Reply-To: <06f93b9e-e70e-4c92-92c8-e7835103356d@suse.com>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.a0.7a645b1dcb44a629.19ebb479a49.9a0e7e05a3717bba=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781258492489
X-purgate-ID: tlsNG-720697/1781258495-8336C161-7F235561/0/0
X-purgate-type: clean
X-purgate-size: 1060

---=Part.a0.7a645b1dcb44a629.19ebb479a49.9a0e7e05a3717bba=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


On 5/4/26 16:54, Jan Beulich wrote:
> On 13=2E03=2E2026 17:35, Thierry Escande wrote:
>> @@ -209,7 +225,16 @@ void pci_setup(void)
>>      {
>>          do { isa_irq =3D (isa_irq + 1) & 15;
>>          } while ( !(PCI_ISA_IRQ_MASK & (1U << isa_irq)) );
>> -        pci_writeb(PCI_ISA_DEVFN, 0x60 + link, isa_irq);
>> +
>> +        if ( is_running_on_q35 )
>> +        {
>> +            pci_writeb(PCI_ICH9_LPC_DEVFN, 0x60 + link, isa_irq);
>> +        }
>> +        else
>> +        {
>> +            pci_writeb(PCI_ISA_DEVFN, 0x60 + link, isa_irq);
>> +        }
>=20
> Nit: Easier to read imo without the figure braces=2E

I'll rework that part and use a isa_devfn variable instead=2E

Regards,


-- 
Thierry Escande | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.a0.7a645b1dcb44a629.19ebb479a49.9a0e7e05a3717bba=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:01:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:01:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336495.1598332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyhr-0004o0-2G; Fri, 12 Jun 2026 10:01:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336495.1598332; Fri, 12 Jun 2026 10:01: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 1wXyhq-0004nA-V9; Fri, 12 Jun 2026 10:01:42 +0000
Received: by outflank-mailman (input) for mailman id 1336495;
 Fri, 12 Jun 2026 10:01:41 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb47a989000701b@swg.vates.tech>)
 id 1wXyhp-0004iA-Kw
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:01:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyhp-0056he-0t
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:01:41 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb47a989000701b@swg.vates.tech>)
 id 6a2bd8fe-bab6-0a2a0a5309dd-0a2a450482a6-16
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:41 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb47a989000701b@swg.vates.tech>)
 id 6a2bd904-1dec-0a2a45040019-b9ff1c12a64d-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:40 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb47a989000701b.004 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 10:01:36 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id D1BB68617A;
 Fri, 12 Jun 2026 12:01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=0Z5Cwdb++2idGCheBWjVKl0AzU3Ayz9OcRia9e5cj6k=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=G3KPHZyTYlsjNOzTlUBQVMbOr4CtoYJ7ME3mOBM7RDKTJA1jXcgZw+N1wZVbKySkfbJzH/UU9
 y0R/xj0xqCLHbo9tzBJu+Ipncprbn/hUraaH55SI3o0Xk+IAikWkSc4/V1X+gI29TYJeAQsDhQ6
 tI/KHAlbXzVmtTitjZ3mQECp1Y1OYlVxYquTuxVnDNMEHiuTsrmcxO7+f/JVlRVd6kxh7ClkL/k
 YjKfktQwublFY/2Fe1T9CFk4wQsT/m7t0OU7Avae5+wPyYRDSYpBHhQv19Cn0i5P1clKCBxVwy0
 1t5usRwZ8medwthNMQ9dMMyrxOlT3pDTlPfrLvYVFZvA==
X-Zone-Loop: a0532ff13dbfdef3385ea8a6df809474f2553db469d7
x-campaign-type: default
x-transaction-id: 1c37cc4b-8f6b-430c-b8fc-e5806ee7c565
x-swg-uid: 01-3b3a9b5e-0106-4040-9e9b-e4ccaa4b1bc7
X-Mailer: Sweego
Message-ID:
 <1781258496.8631fc262581453bbf619ec5b2062170.19ebb47a989000701b@vates.tech>
x-swg-bid: 1781258496.8631fc262581453bbf619ec5b2062170.19ebb47a989000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 12:01:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Thierry Escande <thierry.escande@vates.tech>
Subject: Re: [PATCH 08/17] hvmloader: Extend PCI BAR struct
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>,
 Alexey Gerasimenko <x1917x@gmail.com>
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-9-thierry.escande@vates.tech>
 <afC2uLj_fD2qPPsT@macbook.local>
Content-Language: en-US
In-Reply-To: <afC2uLj_fD2qPPsT@macbook.local>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.a1.932943b93a936fff.19ebb47a80c.5349851b6c1bb480=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781258496013
X-purgate-ID: tlsNG-ebf023/1781258500-2B5683FF-4AFD3B3F/0/0
X-purgate-type: clean
X-purgate-size: 3963

---=Part.a1.932943b93a936fff.19ebb47a80c.5349851b6c1bb480=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


On 4/28/26 15:31, Roger Pau Monn=C3=A9 wrote:
> On Fri, Mar 13, 2026 at 04:35:03PM +0000, Thierry Escande wrote:
>> For the upcoming allocation of the MMCONFIG range in MMIO hole, this
>> patch extends the 'bars' structure to make it universal for any
>> arbitrary BAR type=2E Either IO, MMIO, ROM or a chipset-specific resour=
ce=2E
>>
>> One important new field is addr_mask, which tells which bits of the bas=
e
>> address can (should) be written=2E Different address types (ROM, MMIO B=
AR,
>> PCIEXBAR) will have different addr_mask values=2E
>>
>> For every assignable BAR range we store its size, PCI device BDF (devfn
>> actually) to which it belongs, BAR type (mem/io/mem64) and correspondin=
g
>> register offset in device PCI conf space=2E
>>
>> Also, to reduce code complexity, all long mem/mem64 BAR flags checks ar=
e
>> replaced by simple bars[i] field probing, eg=2E:
>> -        if ( (bar_reg =3D=3D PCI_ROM_ADDRESS) ||
>> -             ((bar_data & PCI_BASE_ADDRESS_SPACE) =3D=3D
>> -              PCI_BASE_ADDRESS_SPACE_MEMORY) )
>> +        if ( bars[i]=2Eis_mem )
>=20
> I think this is also supposed to be a non-functional change, just
> adding new fields and adjusting the code to make use of them?

Right=2E It's preparation work for MMCONFIG area setup in a next patch=2E

>=20
>>
>> Signed-off-by: Alexey Gerasimenko <x1917x@gmail=2Ecom>
>> Signed-off-by: Thierry Escande <thierry=2Eescande@vates=2Etech>
>> ---
>>  tools/firmware/hvmloader/pci=2Ec | 58 ++++++++++++++++++++------------=
--
>>  1 file changed, 35 insertions(+), 23 deletions(-)
>>
>> diff --git a/tools/firmware/hvmloader/pci=2Ec b/tools/firmware/hvmloade=
r/pci=2Ec
>> index 91c7fd2171=2E=2E6e6720adae 100644
>> --- a/tools/firmware/hvmloader/pci=2Ec
>> +++ b/tools/firmware/hvmloader/pci=2Ec
>> @@ -160,9 +160,10 @@ static void class_specific_pci_device_setup(uint16=
_t vendor_id,
>> =20
>>  void pci_setup(void)
>>  {
>> -    uint8_t is_64bar, using_64bar, bar64_relocate =3D 0;
>> +    uint8_t is_64bar, using_64bar, bar64_relocate =3D 0, is_mem;
>=20
> The newly introduce fields want to be booleans types=2E

Ok=2E Should I also change the existing ones to bool or this must be in a
separate patch?

>=20
>>      uint32_t devfn, bar_reg, cmd, bar_data, bar_data_upper;
>>      uint64_t base, bar_sz, bar_sz_upper, mmio_total =3D 0;
>> +    uint64_t addr_mask;
>>      uint8_t vga_devfn =3D 0xff;
>>      uint16_t class, vendor_id, device_id;
>>      unsigned int bar, pin, link, isa_irq;
>> @@ -176,10 +177,13 @@ void pci_setup(void)
>> =20
>>      /* Create a list of device BARs in descending order of size=2E */
>>      struct bars {
>> -        uint32_t is_64bar;
>>          uint32_t devfn;
>>          uint32_t bar_reg;
>>          uint64_t bar_sz;
>> +        uint64_t addr_mask; /* which bits of the base address can be w=
ritten */
>> +        uint32_t bar_data;  /* initial value - BAR flags here */
>=20
> Hm, that's just storing the flags of the BAR, given that you already
> store the 64bit and memory flags, you just need the prefetch and ROM
> enabled booleans to have the full set, and then you can remove the
> bar_data field from the struct=2E

Do you mean reading the bar data from their registers in the resource
assignation loop instead of using the bar_data field? Storing it in this
struct saves a few back and forth with Qemu=2E

Or I didn't get the point=2E=2E=2E

>=20
>> +        uint8_t  is_64bar;
>> +        uint8_t  is_mem;
>=20
> Use bool types please for the is_ fields=2E

Sure=2E

Regards,


-- 
Thierry Escande | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.a1.932943b93a936fff.19ebb47a80c.5349851b6c1bb480=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:01:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:01:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336498.1598337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyhr-0004rc-EM; Fri, 12 Jun 2026 10:01:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336498.1598337; Fri, 12 Jun 2026 10:01: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 1wXyhr-0004qz-8i; Fri, 12 Jun 2026 10:01:43 +0000
Received: by outflank-mailman (input) for mailman id 1336498;
 Fri, 12 Jun 2026 10:01:42 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb47b702000701b@swg.vates.tech>)
 id 1wXyhq-0004jM-2t
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:01:42 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyhp-00Fbg3-Fc
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:01:41 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb47b702000701b@swg.vates.tech>)
 id 6a2bd8f8-2eae-0a2a0a5409dd-0a2a4506892e-42
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:41 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb47b702000701b@swg.vates.tech>)
 id 6a2bd905-7371-0a2a45060019-b9ff1c12b475-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:41 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb47b702000701b.004 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 10:01:39 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id 4F6C48617A;
 Fri, 12 Jun 2026 12:01:39 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=iyqV7sqDR7LzSU36oOFn5veRc9F3+bilWuuOxQgljyE=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=NPUesJd2ehYAmLRCSTMj7cpw6THk5bjX2tOPEGbPgkDee03q9wBNtcvwtvDDzBPN7UxXwqL9V
 6FmiFbhVP59f05mOEFVEWyIHLMQQE82LKHM5as7BSgZtCqnMwc9IJqjzBMsw39P0vK4Szt1+gu+
 5RQkgudLhNZi4spgOqcIeTpAUbD7+hzxhBBuYGmkuSWwKJNd/i5IuYxLnxWE3d51snYVfyldwL4
 1pT0ZI9y5EpwAxE+grcyHA4Z8vsYOI8+HQ+7VU7LqB2Te6pFQAazez17IGZqD6nH1Qegz3NlA1a
 5oQpg6IopXI4YVV8B0g03E8TsdgRHTxxHa8o85XMDaiw==
X-Zone-Loop: ca077d2b26e54d74b8defbf40bf9194927c336cfe1e7
x-campaign-type: default
x-transaction-id: 13779a89-ce63-494c-84ec-5cb15bdf036f
x-swg-uid: 01-54144457-b4f5-43cd-bb71-f6c771dbd3f5
X-Mailer: Sweego
Message-ID:
 <1781258499.8631fc262581453bbf619ec5b2062170.19ebb47b702000701b@vates.tech>
x-swg-bid: 1781258499.8631fc262581453bbf619ec5b2062170.19ebb47b702000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 12:01:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Thierry Escande <thierry.escande@vates.tech>
Subject: Re: [PATCH 08/17] hvmloader: Extend PCI BAR struct
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>,
 Alexey Gerasimenko <x1917x@gmail.com>, xen-devel@lists.xenproject.org
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-9-thierry.escande@vates.tech>
 <9d2470a7-18a3-43da-838e-85b1981ebc79@suse.com>
Content-Language: en-US
In-Reply-To: <9d2470a7-18a3-43da-838e-85b1981ebc79@suse.com>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.a2.1944d3c4eb74ecad.19ebb47b586.9bf31e2ec0d5d2cf=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781258499463
X-purgate-ID: tlsNG-16d1c6/1781258501-84F63D75-33453F2A/0/0
X-purgate-type: clean
X-purgate-size: 1839

---=Part.a2.1944d3c4eb74ecad.19ebb47b586.9bf31e2ec0d5d2cf=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


On 5/4/26 17:01, Jan Beulich wrote:
> On 13=2E03=2E2026 17:35, Thierry Escande wrote:
>> @@ -176,10 +177,13 @@ void pci_setup(void)
>> =20
>>      /* Create a list of device BARs in descending order of size=2E */
>>      struct bars {
>> -        uint32_t is_64bar;
>>          uint32_t devfn;
>>          uint32_t bar_reg;
>>          uint64_t bar_sz;
>> +        uint64_t addr_mask; /* which bits of the base address can be w=
ritten */
>> +        uint32_t bar_data;  /* initial value - BAR flags here */
>=20
> Nit: Comment style again (also elsewhere)=2E
>=20
>> @@ -278,13 +282,21 @@ void pci_setup(void)
>>                  bar_reg =3D PCI_ROM_ADDRESS;
>> =20
>>              bar_data =3D pci_readl(devfn, bar_reg);
>> +
>> +            is_mem =3D !!(((bar_data & PCI_BASE_ADDRESS_SPACE) =3D=3D
>> +                       PCI_BASE_ADDRESS_SPACE_MEMORY) ||
>> +                       (bar_reg =3D=3D PCI_ROM_ADDRESS));
>=20
> Nit: Indentation (pending open parentheses want to be reflected by extra
> indenting blanks)=2E With, as requested by Roger, is_mem switched to boo=
l,
> the !! also can go away, and with it perhaps one pair of parentheses=2E
>=20
> (I realize pre-existing code further down has similar issues, yet when
> such code is touched - and even more so when new code is added - this
> wants getting right, to aid readability=2E)
>=20

I wanted to keep the changes as small as possible=2E But it's ok for me to
fix that=2E

Regards,



-- 
Thierry Escande | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.a2.1944d3c4eb74ecad.19ebb47b586.9bf31e2ec0d5d2cf=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:01:56 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:01:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336505.1598350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyi3-0005wT-M8; Fri, 12 Jun 2026 10:01:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336505.1598350; Fri, 12 Jun 2026 10: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 1wXyi3-0005wM-J1; Fri, 12 Jun 2026 10:01:55 +0000
Received: by outflank-mailman (input) for mailman id 1336505;
 Fri, 12 Jun 2026 10:01:53 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb47d2c2000701b@swg.vates.tech>)
 id 1wXyi1-0005qT-N0
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:01:53 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyi0-00D9qT-PK
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:01:52 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb47d2c2000701b@swg.vates.tech>)
 id 6a2bd90b-5cb7-0a2a0a5109dd-0a2a4504a10a-16
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:52 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb47d2c2000701b@swg.vates.tech>)
 id 6a2bd910-1dec-0a2a45040019-b9ff1c12b34f-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:52 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb47d2c2000701b.005 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 10:01:46 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id 4CA518617A;
 Fri, 12 Jun 2026 12:01:46 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=KuTs+bSXa+dcOfhfb0dZ0lGUt1UPSmHtM/144RpaMA0=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=Pj+VEvqLhZHSmASf+BNIFuKoeeT7nLzAEUeVtOeivCZWOJOmrWL5/SfClmjFexnXPjyvl/EQu
 HUMEq9bj8IHHXWAZ3KgkqYT8iINW+FijMZIkTLRPLuACbgbqGaP9tUGBh+Med7O5naz3ZMA8LzD
 zQUalKnWF42Ks4Gsufon+uWhc8p2pjillHNNR9DQ4WC6y05dn+X0viFcOn8G9uAYivQNjDQ2zSh
 ren4ppDn+yOBnlMxq5We180ZoNEW/nFhkj69NX/8RraZjblzxPdWpZUwfL0uTH/DddwPc0EZD8K
 y/354NzUxK8vij0QqOX4qVnLrxswsbNHX6HlYNkz89yg==
X-Zone-Loop: 0549202ccc57666715d195a37ad392d14561d1702665
x-campaign-type: default
x-transaction-id: 72262f71-b515-4eb8-a3c5-716d3e2bfab5
x-swg-uid: 01-f1687bef-dfa1-4d44-bf21-ad82cfc249d2
X-Mailer: Sweego
Message-ID:
 <1781258507.8631fc262581453bbf619ec5b2062170.19ebb47d2c2000701b@vates.tech>
x-swg-bid: 1781258507.8631fc262581453bbf619ec5b2062170.19ebb47d2c2000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 12:01:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Thierry Escande <thierry.escande@vates.tech>
Subject: Re: [PATCH 09/17] xev/hvm: Add HVMOP_get|set_ecam_space hypercalls
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>
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-10-thierry.escande@vates.tech>
 <afC9XAtGOkug0qFB@macbook.local>
Content-Language: en-US
In-Reply-To: <afC9XAtGOkug0qFB@macbook.local>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.a3.dcd0808d80f4b787.19ebb47d12b.e630d13cf4dd56dd=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781258506539
X-purgate-ID: tlsNG-ebf023/1781258512-43F6D3FF-06033B98/0/0
X-purgate-type: clean
X-purgate-size: 7003

---=Part.a3.dcd0808d80f4b787.19ebb47d12b.e630d13cf4dd56dd=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


On 4/28/26 16:00, Roger Pau Monn=C3=A9 wrote:
> On Fri, Mar 13, 2026 at 04:35:03PM +0000, Thierry Escande wrote:
>> This patch adds 2 HVMOP hypercalls, HVMOP_get|set_ecam_space, used to
>> set and get the base address and size of the PCIe ECAM space as
>> configured by hvmloader=2E
>>
>> Signed-off-by: Thierry Escande <thierry=2Eescande@vates=2Etech>
>> ---
>>  xen/arch/x86/hvm/hvm=2Ec            | 52 +++++++++++++++++++++++++++++=
++
>>  xen/arch/x86/include/asm/domain=2Eh |  4 +++
>>  xen/include/public/hvm/hvm_op=2Eh   | 11 +++++++
>>  3 files changed, 67 insertions(+)
>>
>> diff --git a/xen/arch/x86/hvm/hvm=2Ec b/xen/arch/x86/hvm/hvm=2Ec
>> index 4d37a93c57=2E=2Ea46dfa955d 100644
>> --- a/xen/arch/x86/hvm/hvm=2Ec
>> +++ b/xen/arch/x86/hvm/hvm=2Ec
>> @@ -5195,6 +5195,58 @@ long do_hvm_op(unsigned long op, XEN_GUEST_HANDL=
E_PARAM(void) arg)
>>          rc =3D current->hcall_compat ? compat_altp2m_op(arg) : do_altp=
2m_op(arg);
>>          break;
>> =20
>> +    case HVMOP_set_ecam_space: {
>> +        xen_hvm_ecam_space_t ecam;
>> +        struct domain *d;
>> +
>> +        if ( copy_from_guest( &ecam, guest_handle_cast(arg, xen_hvm_ec=
am_space_t), 1 ) )
>                                 ^ extra space, here and at the
>                                   closing parenthesis=2E
>=20
> Line length is also past the 80 character limit, same below in
> HVMOP_get_ecam_space=2E

Ok=2E

>=20
>> +            return -EFAULT;
>=20
> This operation (and the matching get variant) needs an XSM check=2E

I'm not familiar with XSM=2E Does that imply to add a new flask hook ?
Extend an existing one ?

>=20
>> +
>> +        d =3D rcu_lock_domain_by_any_id(ecam=2Edomid);
>> +        if ( d =3D=3D NULL )
>> +            return -ESRCH;
>> +
>> +        if ( d->arch=2Eecam_addr ) {
>=20
> Coding style, opening braces should be on a new line=2E
>=20
>> +            rcu_unlock_domain(d);
>> +            return -EFAULT;
>=20
> This would better return -EBUSY
>=20
>> +        }
>=20
> You also need to check the padding fields are 0=2E
>=20
>> +
>> +        if ( (ecam=2Esize >> 28) || (!ecam=2Eaddr) ) {
>                                      ^ the parenthesis here are
>                                      unneeded=2E
>=20
>> +            rcu_unlock_domain(d);
>> +            return -EINVAL;
>> +        }
>> +
>> +        d->arch=2Eecam_addr =3D ecam=2Eaddr;
>> +        d->arch=2Eecam_size =3D ecam=2Esize;
>=20
> I'm a bit worried about a domain being able to set it's own ECAM hole,
> assessing all the side-effects of this might be complex=2E

Would it be related to the XSM check you mentioned earlier to avoid the
guest to use the set hypercall?

>=20
> Won't the code here better check the region passed in the hypercall is
> indeed not mapped in the p2m, so that trapping of ECAM accesses works
> as expected?

Well, it is mapped as p2m_mmio_dm=2E Do you mean adding a check to make
sure it's mapped correctly or not mapped?

>=20
> Also, how does the ECAM hole get setup on native?  I assume there are
> some magic registers in the PCI config space of a platform device that
> the firmware uses to position the ECAM space?

ASAIU, the guest kernel gets the MMCONFIG area info via the ACPI MFCG
table and checks if the range is reserved in the 820 table=2E If ACPI is
disabled, it uses the PCI_MCH_PCIEXBAR register (0x60) of the bdf 000=2E

>=20
> Are those trapped by QEMU, in which case won't it be better to do it
> the native way (iow: with the config space registers), and let QEMU
> forward it to Xen?  It would then be QEMU the one to call
> HVMOP_set_ecam_space (or whatever hypercall we end up using)=2E

Yes, setting the PCI_MCH_PCIEXBAR register lands in Qemu=2E So it is
possible to do the hypercall from Qemu=2E I didn't do it that way to
(lazily) avoid big changes in Qemu=2E And that would also be better if the
guest modifies the PCI_MCH_PCIEXBAR register for whatever reason=2E

>=20
>> +
>> +        rcu_unlock_domain(d);
>> +        break;
>> +    }
>> +
>> +    case HVMOP_get_ecam_space: {
>> +        xen_hvm_ecam_space_t ecam;
>> +        struct domain *d;
>> +
>> +        if ( copy_from_guest( &ecam, guest_handle_cast(arg, xen_hvm_ec=
am_space_t), 1 ) )
>> +            return -EFAULT;
>> +
>> +        d =3D rcu_lock_domain_by_any_id(ecam=2Edomid);
>> +        if ( d =3D=3D NULL )
>> +            return -ESRCH;
>> +
>> +        if ( ! d->arch=2Eecam_addr || ! d->arch=2Eecam_size ) {
>> +            rcu_unlock_domain(d);
>> +            return -EINVAL;
>> +        }
>> +
>> +        ecam=2Eaddr =3D d->arch=2Eecam_addr;
>> +        ecam=2Esize =3D d->arch=2Eecam_size;
>> +        rc =3D __copy_to_guest(arg, &ecam, 1) ? -EFAULT : 0;
>> +
>> +        rcu_unlock_domain(d);
>> +        break;
>> +    }
>> +
>>      default:
>>          rc =3D -ENOSYS;
>>          break;
>> diff --git a/xen/arch/x86/include/asm/domain=2Eh b/xen/arch/x86/include=
/asm/domain=2Eh
>> index ad7f6adb2c=2E=2E24ec33fc4d 100644
>> --- a/xen/arch/x86/include/asm/domain=2Eh
>> +++ b/xen/arch/x86/include/asm/domain=2Eh
>> @@ -476,6 +476,10 @@ struct arch_domain
>> =20
>>      /* Emulated devices enabled bitmap=2E */
>>      uint32_t emulation_flags;
>> +
>> +    /* PCI ECAM space emulation */
>> +    uint64_t ecam_addr;
>> +    uint32_t ecam_size;
>=20
> This fields would better be in hvm_domain struct, and there you
> already have the mmcfg_regions list, which we should aim to use for
> the q35 introduced ECAM region=2E

Ok=2E

>=20
>>  } __cacheline_aligned;
>> =20
>>  #ifdef CONFIG_HVM
>> diff --git a/xen/include/public/hvm/hvm_op=2Eh b/xen/include/public/hvm=
/hvm_op=2Eh
>> index e22adf0319=2E=2Ec84febc37c 100644
>> --- a/xen/include/public/hvm/hvm_op=2Eh
>> +++ b/xen/include/public/hvm/hvm_op=2Eh
>> @@ -166,6 +166,17 @@ struct xen_hvm_get_mem_type {
>>  typedef struct xen_hvm_get_mem_type xen_hvm_get_mem_type_t;
>>  DEFINE_XEN_GUEST_HANDLE(xen_hvm_get_mem_type_t);
>> =20
>> +#define HVMOP_set_ecam_space    16
>> +#define HVMOP_get_ecam_space    17
>> +struct xen_hvm_ecam_space {
>> +    domid_t  domid;
>> +    uint16_t pad[3]; /* align next field on 8-byte boundary */
>> +    uint64_t addr;
>> +    uint32_t size;
>=20
> There's also a trailing uint32_t padding here on 64bit builds I think?
>=20
> FWIW, you could do:
>=20
>     domid_t  domid;
>     uint16_t pad;
>     uint32_t size
>     uint64_t addr;
>=20
> As that would reduce the padding in the struct?

Indeed, that seems better=2E

Regards,


-- 
Thierry Escande | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.a3.dcd0808d80f4b787.19ebb47d12b.e630d13cf4dd56dd=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:01:57 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:01:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336506.1598360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyi5-0006I2-53; Fri, 12 Jun 2026 10:01:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336506.1598360; Fri, 12 Jun 2026 10:01:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyi5-0006Hp-0G; Fri, 12 Jun 2026 10:01:57 +0000
Received: by outflank-mailman (input) for mailman id 1336506;
 Fri, 12 Jun 2026 10:01:55 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb47e1bc000701b@swg.vates.tech>)
 id 1wXyi3-0005wL-O8
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:01:55 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyi3-00D9qT-4g
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:01:55 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb47e1bc000701b@swg.vates.tech>)
 id 6a2bd90b-5cb7-0a2a0a5109dd-0a2a4504a10a-24
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:55 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb47e1bc000701b@swg.vates.tech>)
 id 6a2bd910-1dec-0a2a45040019-b9ff1c12b34f-4
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:55 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb47e1bc000701b.005 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 10:01:50 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id 37BA28617A;
 Fri, 12 Jun 2026 12:01:50 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=wo38Wb4mhnf9Pj4GWkNkBAFqvtrLKZaAKnM+mE1EOg8=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=jbQwmb9/dqeVvLT4Wwa6LXm0R5xxLhrjQbG+sTV6SJjePEgC8IaGVjbgCBqqEQFmnN+nfxGNT
 KGalCYfj/6pCSAGEjJcmuxWdahODVudcbT059UYcl6v/2hepiL9yhU0x40ZqIgKv5NnukpbWsMl
 y6KJwh7nQtZeWV5ywaf828O1bR/ycHu01se0ZdnNOXto//P+dK38Jd5CWDmAnauFSsEtm5T2/lK
 HLxW3aCpC6Z+8zp3PGUZHr4HhaSEAH5NB+PQMFsfZEieXr6FMSVvV2aYxYwU7D2TcYNeVBZHyC9
 KuIc/Csuv6QZ2KqS6toDFPA9uElmaPDE0l2ztwV85Zrg==
X-Zone-Loop: ceb447816a2f9dc5c9801313aca56b1d1b75bb633db1
x-campaign-type: default
x-transaction-id: 5b8f2ec4-e29a-421c-bf03-cffa32e3ad69
x-swg-uid: 01-54f2050a-e2d9-41e6-952b-2387ef95cb3b
X-Mailer: Sweego
Message-ID:
 <1781258510.8631fc262581453bbf619ec5b2062170.19ebb47e1bc000701b@vates.tech>
x-swg-bid: 1781258510.8631fc262581453bbf619ec5b2062170.19ebb47e1bc000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 12:01:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Thierry Escande <thierry.escande@vates.tech>
Subject: Re: [PATCH 09/17] xev/hvm: Add HVMOP_get|set_ecam_space hypercalls
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>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-10-thierry.escande@vates.tech>
 <df1aff17-1fb1-4ae3-995f-944a1750659b@suse.com>
Content-Language: en-US
In-Reply-To: <df1aff17-1fb1-4ae3-995f-944a1750659b@suse.com>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.a4.af6c48b767941662.19ebb47e040.c82bf858b273b1fe=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781258510400
X-purgate-ID: tlsNG-ebf023/1781258515-4217E3FF-67CC86B2/0/0
X-purgate-type: clean
X-purgate-size: 3429

---=Part.a4.af6c48b767941662.19ebb47e040.c82bf858b273b1fe=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


On 5/4/26 17:12, Jan Beulich wrote:
> On 13=2E03=2E2026 17:35, Thierry Escande wrote:
>> This patch adds 2 HVMOP hypercalls, HVMOP_get|set_ecam_space, used to
>> set and get the base address and size of the PCIe ECAM space as
>> configured by hvmloader=2E
>>
>> Signed-off-by: Thierry Escande <thierry=2Eescande@vates=2Etech>
>=20
> Just in case we want to stick to these (see Roger's earlier comments
> throughout the series), a few remarks here:
>=20
>> --- a/xen/arch/x86/hvm/hvm=2Ec
>> +++ b/xen/arch/x86/hvm/hvm=2Ec
>> @@ -5195,6 +5195,58 @@ long do_hvm_op(unsigned long op, XEN_GUEST_HANDL=
E_PARAM(void) arg)
>>          rc =3D current->hcall_compat ? compat_altp2m_op(arg) : do_altp=
2m_op(arg);
>>          break;
>> =20
>> +    case HVMOP_set_ecam_space: {
>> +        xen_hvm_ecam_space_t ecam;
>> +        struct domain *d;
>> +
>> +        if ( copy_from_guest( &ecam, guest_handle_cast(arg, xen_hvm_ec=
am_space_t), 1 ) )
>> +            return -EFAULT;
>> +
>> +        d =3D rcu_lock_domain_by_any_id(ecam=2Edomid);
>> +        if ( d =3D=3D NULL )
>> +            return -ESRCH;
>> +
>> +        if ( d->arch=2Eecam_addr ) {
>> +            rcu_unlock_domain(d);
>> +            return -EFAULT;
>> +        }
>> +
>> +        if ( (ecam=2Esize >> 28) || (!ecam=2Eaddr) ) {
>> +            rcu_unlock_domain(d);
>> +            return -EINVAL;
>> +        }
>> +
>> +        d->arch=2Eecam_addr =3D ecam=2Eaddr;
>> +        d->arch=2Eecam_size =3D ecam=2Esize;
>=20
> Shorter (and easier to follow as well as less error prone as to the
> rcu_unlock_domain())
>=20
>         if ( d->arch=2Eecam_addr )
>             rc =3D -E=2E=2E=2E;
>         else if ( (ecam=2Esize >> 28) || !ecam=2Eaddr )
>             rc =3D -EINVAL;
>         else
>         {
>             d->arch=2Eecam_addr =3D ecam=2Eaddr;
>             d->arch=2Eecam_size =3D ecam=2Esize;
>         }
>=20
> all utilizing =2E=2E=2E
>=20
>> +        rcu_unlock_domain(d);
>=20
> =2E=2E=2E this=2E

Will rework that part=2E

>=20
> The magic 28 also needs (a) explaining and/or (b) abstracting (a
> suitably named #define might address both)=2E
>=20
>> --- a/xen/include/public/hvm/hvm_op=2Eh
>> +++ b/xen/include/public/hvm/hvm_op=2Eh
>> @@ -166,6 +166,17 @@ struct xen_hvm_get_mem_type {
>>  typedef struct xen_hvm_get_mem_type xen_hvm_get_mem_type_t;
>>  DEFINE_XEN_GUEST_HANDLE(xen_hvm_get_mem_type_t);
>> =20
>> +#define HVMOP_set_ecam_space    16
>> +#define HVMOP_get_ecam_space    17
>> +struct xen_hvm_ecam_space {
>> +    domid_t  domid;
>> +    uint16_t pad[3]; /* align next field on 8-byte boundary */
>=20
> The comment, as is, is wrong for 32-bit HVM guests: There =2E=2E=2E
>=20
>> +    uint64_t addr;
>=20
> =2E=2E=2E this is only 4-byte aligned, and hence the entire structure on=
ly
> has 4-byte alignment, and hence the padding also only guarantees 4-
> byte alignment=2E

Right=2E Roger proposal fixes it:
    domid_t  domid;
    uint16_t pad;
    uint32_t size
    uint64_t addr;

Regards,



-- 
Thierry Escande | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.a4.af6c48b767941662.19ebb47e040.c82bf858b273b1fe=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:01:59 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:01:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336509.1598367 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyi6-0006a0-CZ; Fri, 12 Jun 2026 10:01:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336509.1598367; Fri, 12 Jun 2026 10: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 1wXyi6-0006YS-8R; Fri, 12 Jun 2026 10:01:58 +0000
Received: by outflank-mailman (input) for mailman id 1336509;
 Fri, 12 Jun 2026 10:01:57 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb47f3b1000701b@swg.vates.tech>)
 id 1wXyi4-0006Es-U1
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:01:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyi4-00D9qT-AB
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:01:56 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb47f3b1000701b@swg.vates.tech>)
 id 6a2bd90b-5cb7-0a2a0a5109dd-0a2a4504a10a-28
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:56 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb47f3b1000701b@swg.vates.tech>)
 id 6a2bd910-1dec-0a2a45040019-b9ff1c12b34f-5
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:01:56 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb47f3b1000701b.004 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 10:01:55 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id A88F386509;
 Fri, 12 Jun 2026 12:01:54 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=vvYWXAhDfi/K43ZJ3M5MXl0m5lIQeCMCqJFFe7ErX2k=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=pn+pj8Teq2OSAPXl+7Ox4luXFDrmY7p0earYTDjgvH5vQgo9LqIRuvuqwBDUsVF4GKjPXMbbr
 NzjzWVzJkn43lP623wsdKuXbWlLH2HNH+Ipl9g39dDuxQp8CT9xdX2oDzt5kzeCxesazKN3/MgB
 I/zwm1Dw87nGZiP8odNGENmaeEpBcPtEfqtw2yejxIISBeXC9WaWva2lJmo2bcK+klmxlhFUyeB
 r5St88HmCIaOrgba7dc9vZQ7j3FhTcm8cset2xgbe5wvfxXXQQ9xJvYltjNZllU9SaRnQFEU3MS
 0x0oiXu41e41/vzYibNIBZt8OrZrSyIdesk3kh8QRFUA==
X-Zone-Loop: a50bc79f334c8345876e5ea4354e00800b8855f5c96b
x-campaign-type: default
x-transaction-id: 9d9368f4-7e90-4035-b1ea-90324fbbca58
x-swg-uid: 01-1b48acef-94ab-41bb-8ed6-07de46ad6fc7
X-Mailer: Sweego
Message-ID:
 <1781258515.8631fc262581453bbf619ec5b2062170.19ebb47f3b1000701b@vates.tech>
x-swg-bid: 1781258515.8631fc262581453bbf619ec5b2062170.19ebb47f3b1000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 12:01:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Thierry Escande <thierry.escande@vates.tech>
Subject: Re: [PATCH 11/17] hvmloader: allocate MMCONFIG area in the MMIO hole
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>,
 Alexey Gerasimenko <x1917x@gmail.com>
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-12-thierry.escande@vates.tech>
 <afHPdxc72FDGnQoq@macbook.local>
Content-Language: en-US
In-Reply-To: <afHPdxc72FDGnQoq@macbook.local>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.a5.41b66890c2b53957.19ebb47f22e.2eb5fe2545d91601=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781258514990
X-purgate-ID: tlsNG-ebf023/1781258516-435683FF-DA1B4582/0/0
X-purgate-type: clean
X-purgate-size: 7017

---=Part.a5.41b66890c2b53957.19ebb47f22e.2eb5fe2545d91601=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


On 4/29/26 11:29, Roger Pau Monn=C3=A9 wrote:
> On Fri, Mar 13, 2026 at 04:35:04PM +0000, Thierry Escande wrote:
>> The actual MMCONFIG size depends on the number of PCI buses available
>> which should be covered by ECAM=2E Possible options are 64MB, 128MB and
>> 256MB=2E
>=20
> Are such values inherited from the real q35 impleemntation?
>=20
> AFAICT the ACPI MCFG spec notes:
>=20
> "The size of the memory mapped configuration region is indicated by
> the start and end bus number fields in the Memory mapped Enhanced
> configuration space base address allocation structure as shown in
> Table 4-3=2E 0-255 is the range of allowed bus numbers supported for a
> given PCI Segment Group=2E"
>=20
> So it's in principle possible to specify a MCFG that covers a single
> bus, and then it would have a size of 256 * 4K =3D 1M=2E  Which avoids
> wasting 63M of MMIO space in the low MMIO hole that's already fairly
> tight on space=2E
>=20
> Is this limitation possibly inherited from the way the ECAM region
> position and size must be notified to the chipset?
>=20
> And further seeing the code below - I found the answer myself, it's
> because the chipset only supports negotiation those ECAM sizes=2E  We
> could possibly expose a smaller region in MCFG, but doesn't seem like
> a good move=2E

Yes indeed, it's a waste of space in MMIO hole=2E Maybe it's ok to only
allocate the 1MB needed for 1 bus since there would be no reason for a
guest to access passed the 1st MB=2E I can give it a try but that's
possibly risky=2E=2E=2E

>=20
>> As Xen is limited to the bus 0 currently, the lowest possible
>> setting is used (64MB), defined via PCI_MAX_MCFG_BUSES in
>> hvmloader/config=2Eh=2E When multiple PCI buses support for Xen will be
>> implemented, PCI_MAX_MCFG_BUSES may be replaced by a calculation of the
>> number of buses according to PCI devices enumeration=2E
>>
>> The MMCONFIG entry is inserted into bars array in the same manner like
>> for any other BARs=2E In this case, the devfn field will point to MCH P=
CI
>> device and bar_reg will contain PCIEXBAR register offset=2E It will be
>> assigned a slot in the MMIO hole later in a very same way like for plai=
n
>> PCI BARs, with respect to its size and alignment=2E At this point, the
>> actual base address and size of the ECAM space are passed to Xen using
>> the HVMOP_set_ecam_space hypercall=2E
>>
>> Signed-off-by: Alexey Gerasimenko <x1917x@gmail=2Ecom>
>> Signed-off-by: Thierry Escande <thierry=2Eescande@vates=2Etech>
>> ---
>>  tools/firmware/hvmloader/config=2Eh   |  4 +++
>>  tools/firmware/hvmloader/pci=2Ec      | 55 +++++++++++++++++++++++++++=
++
>>  tools/firmware/hvmloader/pci_regs=2Eh |  7 ++++
>>  3 files changed, 66 insertions(+)
>>
>> diff --git a/tools/firmware/hvmloader/config=2Eh b/tools/firmware/hvmlo=
ader/config=2Eh
>> index baaed91c7f=2E=2Eaa3158bca5 100644
>> --- a/tools/firmware/hvmloader/config=2Eh
>> +++ b/tools/firmware/hvmloader/config=2Eh
>> @@ -55,6 +55,10 @@ extern uint32_t *cpu_to_apicid;
>>  #define PCI_ISA_DEVFN       0x08    /* dev 1, fn 0 */
>>  #define PCI_ISA_IRQ_MASK    0x0c20U /* ISA IRQs 5,10,11 are PCI connec=
ted */
>>  #define PCI_ICH9_LPC_DEVFN  0xf8    /* dev 31, fn 0 */
>> +#define PCI_MCH_DEVFN       0       /* bus 0, dev 0, func 0 */
>> +
>> +/* possible values are: 64, 128, 256 */
>> +#define PCI_MAX_MCFG_BUSES  64
>> =20
>>  #define ACPI_TIS_HDR_ADDRESS 0xFED40F00UL
>> =20
>> diff --git a/tools/firmware/hvmloader/pci=2Ec b/tools/firmware/hvmloade=
r/pci=2Ec
>> index 6e6720adae=2E=2E54c23ffdd8 100644
>> --- a/tools/firmware/hvmloader/pci=2Ec
>> +++ b/tools/firmware/hvmloader/pci=2Ec
>> @@ -413,6 +413,58 @@ void pci_setup(void)
>>          pci_devfn_decode_type[devfn] |=3D PCI_COMMAND_MASTER;
>>      }
>> =20
>> +    /*
>> +     *  Calculate MMCONFIG area size and squeeze it into the bars arra=
y
>> +     *  for assigning a slot in the MMIO hole
>> +     */
>> +    if ( is_running_on_q35 )
>> +    {
>> +        /* disable PCIEXBAR decoding for now */
>> +        pci_writel(PCI_MCH_DEVFN, PCI_MCH_PCIEXBAR, 0);
>> +        pci_writel(PCI_MCH_DEVFN, PCI_MCH_PCIEXBAR + 4, 0);
>> +
>> +        switch ( PCI_MAX_MCFG_BUSES )
>> +        {
>> +        case 64:
>> +            bar_data =3D PCIEXBAR_64_BUSES | PCIEXBAR_ENABLE;
>> +            bar_sz =3D MB(64);
>> +            break;
>> +
>> +        case 128:
>> +            bar_data =3D PCIEXBAR_128_BUSES | PCIEXBAR_ENABLE;
>> +            bar_sz =3D MB(128);
>> +            break;
>> +
>> +        case 256:
>> +            bar_data =3D PCIEXBAR_256_BUSES | PCIEXBAR_ENABLE;
>> +            bar_sz =3D MB(256);
>> +            break;
>> +
>> +        default:
>> +            /* unsupported number of buses specified */
>> +            BUG();
>> +        }
>> +
>> +        addr_mask =3D ~(bar_sz - 1);
>> +
>> +        for ( i =3D 0; i < nr_bars; i++ )
>> +            if ( bars[i]=2Ebar_sz < bar_sz )
>> +                break;
>> +
>> +        if ( i !=3D nr_bars )
>> +            memmove(&bars[i+1], &bars[i], (nr_bars-i) * sizeof(*bars))=
;
>> +
>> +        bars[i]=2Eis_mem    =3D 1;
>> +        bars[i]=2Edevfn     =3D PCI_MCH_DEVFN;
>> +        bars[i]=2Ebar_reg   =3D PCI_MCH_PCIEXBAR;
>> +        bars[i]=2Ebar_sz    =3D bar_sz;
>> +        bars[i]=2Eaddr_mask =3D addr_mask;
>> +        bars[i]=2Ebar_data  =3D bar_data;
>> +
>> +        mmio_total +=3D bar_sz;
>> +        nr_bars++;
>> +    }
>=20
> I think it might be best if the ECAM fake BAR is the first element in
> the bars array, so we ensure it's the first item to consume memory
> from the low MMIO hole=2E  Not sure how that will work with the current
> sorting of the resources based on their size, but it's imperative for
> hvmloader to attempt to position ECAM ahead of the other device
> resources IMO=2E

With a size of 64MB it's always placed first from what I can tell=2E I
don't get why it is imperative=2E Would it be to make sure that it is
actually allocated in the first 4GB?

>=20
>> +
>>      if ( mmio_hole_size )
>>      {
>>          uint64_t max_ram_below_4g =3D GB(4) - mmio_hole_size;
>> @@ -592,6 +644,9 @@ void pci_setup(void)
>>              }
>>          }
>> =20
>> +        if ( bar_reg =3D=3D PCI_MCH_PCIEXBAR )
>> +            hvm_set_ecam_space(base, bar_sz);
>=20
> As noted in a previous patch, it would be better if it's QEMU (as part
> of handling the PCI_MCH_PCIEXBAR writes) that notifies Xen of the ECAM
> window placement=2E

Yes, as mentioned earlier I can do it that way=2E

Regards,


-- 
Thierry Escande | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.a5.41b66890c2b53957.19ebb47f22e.2eb5fe2545d91601=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:02:04 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:02:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336514.1598378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyiC-0007Hs-LE; Fri, 12 Jun 2026 10:02:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336514.1598378; Fri, 12 Jun 2026 10: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 1wXyiC-0007Hj-GN; Fri, 12 Jun 2026 10:02:04 +0000
Received: by outflank-mailman (input) for mailman id 1336514;
 Fri, 12 Jun 2026 10:02:02 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb480060000701b@swg.vates.tech>)
 id 1wXyiA-00075q-MN
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:02:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyiA-0056qV-33
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:02:02 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb480060000701b@swg.vates.tech>)
 id 6a2bd918-bab6-0a2a0a5309dd-0a2a4505e16c-16
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:02:02 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb480060000701b@swg.vates.tech>)
 id 6a2bd919-aaa8-0a2a45050019-b9ff1c12838b-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:02:02 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb480060000701b.004 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 10:01:58 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id E748C8617A;
 Fri, 12 Jun 2026 12:01:57 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=W2PIqGnQPJCzpPlFJa/o78PGJAT62z/Jp0r1WifCJts=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=loMi435AcmY+Oh1gmCMoTG1DhGHggkbfoWDNIClZuSPrceyw7O4HpAp6dFzAOuvXGLihO+9Sy
 WrQdUStk6yLaz+IGmyYD954PUvWY2j+QN9I7WykfleGQyklePRCUuD1HqM8ejIJ7LZ5FPD2EjJm
 KZMaZo0sIHZTCwyjvhLF7Y0akHKlB+i1qA8JEjNr3Odxzy8dwBIZQvX1NjpLQX2yLDMIsEJOS1h
 b/8Zm8gk3GPOuwZOINTM1LWPTtOXgF20HDQXMlJMgmBMgqOTEHXSXNJhFHsZkMWi5957l/iNb3+
 BKSRnbf30yIE7AZoQDdjI2uYOm3okj+iGx3dBNk0XqPQ==
X-Zone-Loop: b1f71015f4aec160f60e3f94f6cadf48b56e32c2833a
x-campaign-type: default
x-transaction-id: bcd295d9-146d-4bb6-922d-88706975e08d
x-swg-uid: 01-a4b653a8-9df2-4ac5-bf23-ef8e0fc6aacb
X-Mailer: Sweego
Message-ID:
 <1781258518.8631fc262581453bbf619ec5b2062170.19ebb480060000701b@vates.tech>
x-swg-bid: 1781258518.8631fc262581453bbf619ec5b2062170.19ebb480060000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 12:01:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Thierry Escande <thierry.escande@vates.tech>
Subject: Re: [PATCH 11/17] hvmloader: allocate MMCONFIG area in the MMIO hole
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>,
 Alexey Gerasimenko <x1917x@gmail.com>
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-12-thierry.escande@vates.tech>
 <afHPdxc72FDGnQoq@macbook.local>
 <f6521590-e51c-4f00-bcf8-faee79a5d3a5@suse.com>
 <afiPsnPYJCtm7VmH@macbook.local>
Content-Language: en-US
In-Reply-To: <afiPsnPYJCtm7VmH@macbook.local>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.a6.4e997faf0f1432c7.19ebb47fede.554d8f88cc1a56d9=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781258518238
X-purgate-ID: tlsNG-c201ff/1781258522-D3F66443-D46FE2C2/0/0
X-purgate-type: clean
X-purgate-size: 3629

---=Part.a6.4e997faf0f1432c7.19ebb47fede.554d8f88cc1a56d9=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


On 5/4/26 14:23, Roger Pau Monn=C3=A9 wrote:
> On Mon, May 04, 2026 at 01:11:44PM +0200, Jan Beulich wrote:
>> On 29=2E04=2E2026 11:29, Roger Pau Monn=C3=A9 wrote:
>>> On Fri, Mar 13, 2026 at 04:35:04PM +0000, Thierry Escande wrote:
>>>> --- a/tools/firmware/hvmloader/pci=2Ec
>>>> +++ b/tools/firmware/hvmloader/pci=2Ec
>>>> @@ -413,6 +413,58 @@ void pci_setup(void)
>>>>          pci_devfn_decode_type[devfn] |=3D PCI_COMMAND_MASTER;
>>>>      }
>>>> =20
>>>> +    /*
>>>> +     *  Calculate MMCONFIG area size and squeeze it into the bars ar=
ray
>>>> +     *  for assigning a slot in the MMIO hole
>>>> +     */
>>>> +    if ( is_running_on_q35 )
>>>> +    {
>>>> +        /* disable PCIEXBAR decoding for now */
>>>> +        pci_writel(PCI_MCH_DEVFN, PCI_MCH_PCIEXBAR, 0);
>>>> +        pci_writel(PCI_MCH_DEVFN, PCI_MCH_PCIEXBAR + 4, 0);
>>>> +
>>>> +        switch ( PCI_MAX_MCFG_BUSES )
>>>> +        {
>>>> +        case 64:
>>>> +            bar_data =3D PCIEXBAR_64_BUSES | PCIEXBAR_ENABLE;
>>>> +            bar_sz =3D MB(64);
>>>> +            break;
>>>> +
>>>> +        case 128:
>>>> +            bar_data =3D PCIEXBAR_128_BUSES | PCIEXBAR_ENABLE;
>>>> +            bar_sz =3D MB(128);
>>>> +            break;
>>>> +
>>>> +        case 256:
>>>> +            bar_data =3D PCIEXBAR_256_BUSES | PCIEXBAR_ENABLE;
>>>> +            bar_sz =3D MB(256);
>>>> +            break;
>>>> +
>>>> +        default:
>>>> +            /* unsupported number of buses specified */
>>>> +            BUG();
>>>> +        }
>>>> +
>>>> +        addr_mask =3D ~(bar_sz - 1);
>>>> +
>>>> +        for ( i =3D 0; i < nr_bars; i++ )
>>>> +            if ( bars[i]=2Ebar_sz < bar_sz )
>>>> +                break;
>>>> +
>>>> +        if ( i !=3D nr_bars )
>>>> +            memmove(&bars[i+1], &bars[i], (nr_bars-i) * sizeof(*bars=
));
>>>> +
>>>> +        bars[i]=2Eis_mem    =3D 1;
>>>> +        bars[i]=2Edevfn     =3D PCI_MCH_DEVFN;
>>>> +        bars[i]=2Ebar_reg   =3D PCI_MCH_PCIEXBAR;
>>>> +        bars[i]=2Ebar_sz    =3D bar_sz;
>>>> +        bars[i]=2Eaddr_mask =3D addr_mask;
>>>> +        bars[i]=2Ebar_data  =3D bar_data;
>>>> +
>>>> +        mmio_total +=3D bar_sz;
>>>> +        nr_bars++;
>>>> +    }
>>>
>>> I think it might be best if the ECAM fake BAR is the first element in
>>> the bars array, so we ensure it's the first item to consume memory
>>> from the low MMIO hole=2E  Not sure how that will work with the curren=
t
>>> sorting of the resources based on their size, but it's imperative for
>>> hvmloader to attempt to position ECAM ahead of the other device
>>> resources IMO=2E
>>
>> Why would this be?
>=20
> I would assume it's best to have ECAM access in the low 4G (for 32bit
> OSes) at the expense of some 32bit BARs possibly not fitting in the
> 32bit space=2E  But the ECAM space could be placed above 4G, and 32bit
> OSes might not care much about extended address space capabilities=2E

Ok, so that replies my previous question=2E

As mentioned earlier, if we agree on the ECAM region being placed first
in MMIO hole, then we don't care who set it up (toolstack, hvmloader,
firmware)=2E It is setup (for now by hvmloader) if we detect a Q35 chipset=
=2E

Regards,



-- 
Thierry Escande | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.a6.4e997faf0f1432c7.19ebb47fede.554d8f88cc1a56d9=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:02:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:02:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336522.1598386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyiH-0007j6-T9; Fri, 12 Jun 2026 10:02:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336522.1598386; Fri, 12 Jun 2026 10:02:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyiH-0007ir-Ok; Fri, 12 Jun 2026 10:02:09 +0000
Received: by outflank-mailman (input) for mailman id 1336522;
 Fri, 12 Jun 2026 10:02:08 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb480f1d000701b@swg.vates.tech>)
 id 1wXyiG-0007dn-HS
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:02:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyiF-009Pwl-UD
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:02:07 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb480f1d000701b@swg.vates.tech>)
 id 6a2bd91a-e002-0a2a0a5209dd-0a2a450792a6-24
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:02:07 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb480f1d000701b@swg.vates.tech>)
 id 6a2bd91f-229c-0a2a45070019-b9ff1c128a33-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:02:07 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb480f1d000701b.003 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 10:02:02 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id C3AB886509;
 Fri, 12 Jun 2026 12:02:01 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=UOJ5/EDqTkqXgS4rusJ5hxyyLdfXSt883UpbBodOjm0=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=Zq4qqFMqQPg9Q0ssfkUfgk/OCpl7FHKs3itUhrmwvsfb+q9ps/JOvlhroOn59fe1dBT/2Rate
 CLcPQGf071nBxHT93aGOyC6IcdYHp6m1hXn0YjOlDN7KLCweaw6RNj0ALvy9qSGiwb8RDo77JJF
 Atq/nyFp5Tft6/ZlwoaVot8BtbfVKbPSLtpJxWc8FJcAYuEg98P/Vq5dhyj/scfHRciTj3q2fI4
 zw8z5e3g1fGhS8vTs3/ngAlKSgOeXF12zN6Fnz8CzC4C1hU6IElMkxEpK93XHYDWToFb3gkP5aW
 nBXjktEgTyBZ/ePSBnouAKg/OloVFPEYdst9cXViWy9g==
X-Zone-Loop: 3768a73e448c586237d9b944000fb38925436364373f
x-campaign-type: default
x-transaction-id: a1b6d9e0-95f8-46b3-9156-46df9b1173c0
x-swg-uid: 01-7e8129f8-05f5-4c68-9c5f-13afcc3e9065
X-Mailer: Sweego
Message-ID:
 <1781258522.8631fc262581453bbf619ec5b2062170.19ebb480f1d000701b@vates.tech>
x-swg-bid: 1781258522.8631fc262581453bbf619ec5b2062170.19ebb480f1d000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 12:02:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Thierry Escande <thierry.escande@vates.tech>
Subject: Re: [PATCH 14/17] libacpi: build ACPI MCFG table if requested
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Alexey Gerasimenko <x1917x@gmail.com>
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-15-thierry.escande@vates.tech>
 <afHZutWoJGHoKemZ@macbook.local>
Content-Language: en-US
In-Reply-To: <afHZutWoJGHoKemZ@macbook.local>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.a7.bcdefbb94d88eba0.19ebb480d91.62d8b4a1b9a8c27f=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781258522002
X-purgate-ID: tlsNG-ef75cf/1781258527-0BB78C48-C1763A98/0/0
X-purgate-type: clean
X-purgate-size: 2263

---=Part.a7.bcdefbb94d88eba0.19ebb480d91.62d8b4a1b9a8c27f=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


On 4/29/26 12:13, Roger Pau Monn=C3=A9 wrote:
> On Fri, Mar 13, 2026 at 04:35:04PM +0000, Thierry Escande wrote:
>> +static struct acpi_10_mcfg *construct_mcfg(struct acpi_ctxt *ctxt,
>> +                                        const struct acpi_config *conf=
ig)
>> +{
>> +    struct acpi_10_mcfg *mcfg;
>> +
>> +    /* Warning: this code expects that we have only one PCI segment */
>=20
> Not only one PCI segment, but just one ECAM region=2E  You could in
> theory have multiple ECAM regions within a single PCI segment=2E

Yes, right=2E AFAIU, Xen guests have only 1 bus within only 1 segment,
with no multiple buses support, hence no multiple segments support, right?

>=20
>> +    mcfg =3D ctxt->mem_ops=2Ealloc(ctxt, sizeof(*mcfg), 16);
>> +    if ( !mcfg )
>> +        return NULL;
>> +
>> +    memset(mcfg, 0, sizeof(*mcfg));
>> +    mcfg->header=2Esignature        =3D ACPI_MCFG_SIGNATURE;
>> +    mcfg->header=2Erevision         =3D ACPI_1_0_MCFG_REVISION;
>> +    mcfg->header=2Ecreator_id       =3D ACPI_CREATOR_ID;
>> +    mcfg->header=2Ecreator_revision =3D ACPI_CREATOR_REVISION;
>> +    mcfg->header=2Elength           =3D sizeof(*mcfg);
>> +    mcfg->header=2Eoem_revision     =3D ACPI_OEM_REVISION;
>> +    fixed_strcpy(mcfg->header=2Eoem_id, ACPI_OEM_ID);
>> +    fixed_strcpy(mcfg->header=2Eoem_table_id, ACPI_OEM_TABLE_ID);
>> +
>> +    mcfg->entries[0]=2Ebase_address      =3D config->mmconfig_addr;
>> +    mcfg->entries[0]=2Epci_segment       =3D 0;
>> +    mcfg->entries[0]=2Estart_pci_bus_num =3D 0;
>> +    mcfg->entries[0]=2Eend_pci_bus_num   =3D
>> +        MCFG_SIZE_TO_NUM_BUSES(config->mmconfig_size) - 1;
>=20
>=20
> You might want to check that mmconfig_addr and mmconfig_size are set
> ahead of using them?  Just in case some bogus toolstack/hvmloader sets
> ACPI_HAS_MCFG without correctly populating the fields?

Makes sense=2E

Regards,


-- 
Thierry Escande | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.a7.bcdefbb94d88eba0.19ebb480d91.62d8b4a1b9a8c27f=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:02:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:02:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336523.1598394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyiJ-0007zO-9x; Fri, 12 Jun 2026 10:02:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336523.1598394; Fri, 12 Jun 2026 10:02: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 1wXyiJ-0007zD-4r; Fri, 12 Jun 2026 10:02:11 +0000
Received: by outflank-mailman (input) for mailman id 1336523;
 Fri, 12 Jun 2026 10:02:08 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb481d12000701b@swg.vates.tech>)
 id 1wXyiG-0007eS-R6
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:02:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyiG-009Pwl-7Q
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:02:08 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb481d12000701b@swg.vates.tech>)
 id 6a2bd91a-e002-0a2a0a5209dd-0a2a450792a6-30
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:02:08 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb481d12000701b@swg.vates.tech>)
 id 6a2bd91f-229c-0a2a45070019-b9ff1c128a33-4
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:02:08 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb481d12000701b.003 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 10:02:05 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id 6CB5986509;
 Fri, 12 Jun 2026 12:02:05 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=/ila6Mpkc37xbjHmyzBdClnckyftmYk9p+r0lCQR5L8=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=sKNhIuaTH1Du1eJLqAy67KZm5lH4kSuqVaD+1eroCHvRe0Xpl2MVDN3VCYoWZTnLzvEStdWKM
 pM3dRYYaHFNRJg6Auv1R2Uy5oxte1Omw49B2+CW+hU6JsSy4QBDbbI7pPTx21Vy291gHPjXUOGM
 nusN05YE69uhBnnhC6kM9jJrHrZyRWwV/XDmHxE9A6p2Dz/Omey9sN6uRIqZi6FQbDQGjSsfE2T
 0KDjVw51bEZu+09VFQn96vFUTUzQqmYS6UJOub0HvdUu3L9YgjtQ115Jp8dk6kQevG34+qdchh2
 /J+6utJ3psqm26qUIk3NCjgfPc5Whyup5NpSjzjHkItg==
X-Zone-Loop: a28fad3bb6c9da989ba9f5982a6f3e5ea6a6cd64a137
x-campaign-type: default
x-transaction-id: db2a5d12-7d4b-41d8-b119-904d9a5e70e8
x-swg-uid: 01-c3ae977d-1454-4430-901b-e41ed3fda3b6
X-Mailer: Sweego
Message-ID:
 <1781258526.8631fc262581453bbf619ec5b2062170.19ebb481d12000701b@vates.tech>
x-swg-bid: 1781258526.8631fc262581453bbf619ec5b2062170.19ebb481d12000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 12:02:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Thierry Escande <thierry.escande@vates.tech>
Subject: Re: [PATCH 15/17] hvmloader: Set MCFG in ACPI table
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>
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-16-thierry.escande@vates.tech>
 <afH6hfPLzCVUoXbR@macbook.local>
Content-Language: en-US
In-Reply-To: <afH6hfPLzCVUoXbR@macbook.local>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.a8.17fcdc806b3d97dd.19ebb481b97.973304fa3abd1317=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781258525591
X-purgate-ID: tlsNG-ef75cf/1781258528-21D6FC48-7F94FD9E/0/0
X-purgate-type: clean
X-purgate-size: 2185

---=Part.a8.17fcdc806b3d97dd.19ebb481b97.973304fa3abd1317=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


On 4/29/26 14:33, Roger Pau Monn=C3=A9 wrote:
> On Fri, Mar 13, 2026 at 04:35:05PM +0000, Thierry Escande wrote:
>> This patch extends hvmloader_acpi_build_tables() to detect if MMCONFIG
>> is available by obtaining its base address and size from the hypercall
>> HVMOP_get_ecam_space and sets the flag ACPI_HAS_MCFG in the ACPI config
>> if needed=2E
>>
>> This also sets the MMCONFIG area in E820 map using the same method=2E
>>
>> Signed-off-by: Thierry Escande <thierry=2Eescande@vates=2Etech>
>> ---
>>  tools/firmware/hvmloader/e820=2Ec | 11 +++++++++++
>>  tools/firmware/hvmloader/util=2Ec |  9 +++++++++
>>  2 files changed, 20 insertions(+)
>>
>> diff --git a/tools/firmware/hvmloader/e820=2Ec b/tools/firmware/hvmload=
er/e820=2Ec
>> index 86d39544e8=2E=2Eff5c270f57 100644
>> --- a/tools/firmware/hvmloader/e820=2Ec
>> +++ b/tools/firmware/hvmloader/e820=2Ec
>> @@ -158,6 +158,8 @@ int build_e820_table(struct e820entry *e820,
>>      unsigned long acpi_mem_end =3D acpi_enabled ?
>>          ACPI_MEMORY_DYNAMIC_START + (acpi_pages_allocated() << PAGE_SH=
IFT) :
>>          RESERVED_MEMBASE;
>> +    uint64_t mmconfig_addr;
>> +    uint32_t mmconfig_size;
>> =20
>>      if ( !lowmem_reserved_base )
>>              lowmem_reserved_base =3D 0xA0000;
>> @@ -260,6 +262,15 @@ int build_e820_table(struct e820entry *e820,
>>          nr++;
>>      }
>> =20
>> +    /* mark MMCONFIG area */
>> +    if ( ! hvm_get_ecam_space(&mmconfig_addr, &mmconfig_size) )
>              ^ extra space
>=20
> However, having to query the hypervisor for something that has been
> set by hvmloader itself seems very inefficient=2E  Just store the values
> in global variables so they can be consumed from here?

Indeed=2E And that would remove the need for the hvm_get_ecam_space() help=
er=2E

Regards,


-- 
Thierry Escande | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.a8.17fcdc806b3d97dd.19ebb481b97.973304fa3abd1317=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:02:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:02:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336527.1598404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyiN-00005h-Ip; Fri, 12 Jun 2026 10:02:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336527.1598404; Fri, 12 Jun 2026 10:02: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 1wXyiN-00005W-FZ; Fri, 12 Jun 2026 10:02:15 +0000
Received: by outflank-mailman (input) for mailman id 1336527;
 Fri, 12 Jun 2026 10:02:14 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb4828f4000701b@swg.vates.tech>)
 id 1wXyiM-0008RO-It
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:02:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyiL-00FboO-Vj
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:02:13 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb4828f4000701b@swg.vates.tech>)
 id 6a2bd922-e002-0a2a0a5209dd-0a2a4502a06c-18
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:02:13 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb4828f4000701b@swg.vates.tech>)
 id 6a2bd925-af86-0a2a45020019-b9ff1c129c31-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:02:13 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb4828f4000701b.003 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 10:02:09 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id 57ECA8617A;
 Fri, 12 Jun 2026 12:02:08 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=/TQZPATJCB9Ma+jK5KCy18g45RoTZ80CZIYEKUyMJqM=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=nH36V0PFcmM94iXFvyFeNHwUtV9qhJyVr+Kuwuh6ukoZ7UCBc+/x5bCK3aYaVTSy6W49aGZhA
 yk0FU6oGPEM3rfy2mbXfLPeXIufIjwOM3voJf5zLaan85TKWOs0bqi0Uqg0T/JnzW4pbKuxvqnw
 wdc+eIX57LGWMe1ElUGu1qiICArWZCJQjlEy4Jgx/AQThTsdPrFSC0w3G8YSTOxfVt/kZDd10Q2
 OcfPQOnqybEiCjP0n/PRaxVu/kUVt/eNZ18jTbspXWkzzX7oWzwUJvvZCd2gUbuUGvZHUE16wKr
 Xl4HkYL/ndRw0Bfy3EHrFsqWgKtP/un6e9Eo5mBaee7Q==
X-Zone-Loop: cdec807dd83b4d1d515292ac3a57243ff27dfa6a9add
x-campaign-type: default
x-transaction-id: 06aa0a67-7bfc-43ae-af20-caabcf78e132
x-swg-uid: 01-cdbe0e8b-b7f7-4171-8eac-f339f7cc38ec
X-Mailer: Sweego
Message-ID:
 <1781258529.8631fc262581453bbf619ec5b2062170.19ebb4828f4000701b@vates.tech>
x-swg-bid: 1781258529.8631fc262581453bbf619ec5b2062170.19ebb4828f4000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 12:02:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Thierry Escande <thierry.escande@vates.tech>
Subject: Re: [PATCH 16/17] Handle PCIe ECAM space access from guests
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>
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-17-thierry.escande@vates.tech>
 <afH8qwKo1z236QbI@macbook.local>
Content-Language: en-US
In-Reply-To: <afH8qwKo1z236QbI@macbook.local>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.a9.f0f32552c5396f53.19ebb482718.3bee6af9abf4df51=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781258528536
X-purgate-ID: tlsNG-720697/1781258533-AA969161-ED089E53/0/0
X-purgate-type: clean
X-purgate-size: 3004

---=Part.a9.f0f32552c5396f53.19ebb482718.3bee6af9abf4df51=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


On 4/29/26 14:42, Roger Pau Monn=C3=A9 wrote:
> On Fri, Mar 13, 2026 at 04:35:05PM +0000, Thierry Escande wrote:
>> This patch adds the logic to decode MMIO-based PCIe ECAM accesses=2E If
>> the IOREQ_TYPE_COPY request is within the ECAM address space configured
>> by hvmloader, the ioreq type is set to XEN_DMOP_IO_RANGE_PCI and the
>> sbdf decoded from the accessed address=2E
>>
>> Signed-off-by: Thierry Escande <thierry=2Eescande@vates=2Etech>
>> ---
>>  xen/arch/x86/hvm/ioreq=2Ec | 15 +++++++++++++++
>>  1 file changed, 15 insertions(+)
>>
>> diff --git a/xen/arch/x86/hvm/ioreq=2Ec b/xen/arch/x86/hvm/ioreq=2Ec
>> index a5fa97e149=2E=2E022fe05222 100644
>> --- a/xen/arch/x86/hvm/ioreq=2Ec
>> +++ b/xen/arch/x86/hvm/ioreq=2Ec
>> @@ -268,6 +268,8 @@ bool arch_ioreq_server_get_type_addr(const struct d=
omain *d,
>>                                       uint64_t *addr)
>>  {
>>      unsigned int cf8 =3D d->arch=2Ehvm=2Epci_cf8;
>> +    unsigned long mmio_start =3D (p->type =3D=3D IOREQ_TYPE_COPY) ?
>> +                                ioreq_mmio_first_byte(p) : 0;
>> =20
>>      if ( p->type !=3D IOREQ_TYPE_COPY && p->type !=3D IOREQ_TYPE_PIO )
>>          return false;
>> @@ -298,6 +300,19 @@ bool arch_ioreq_server_get_type_addr(const struct =
domain *d,
>>                  *addr |=3D CF8_ADDR_HI(cf8);
>>          }
>>      }
>> +    else if ( p->type =3D=3D IOREQ_TYPE_COPY &&
>> +              (mmio_start >=3D d->arch=2Eecam_addr &&
>> +               mmio_start < (d->arch=2Eecam_addr + d->arch=2Eecam_size=
)) )
>> +    {
>> +        pci_sbdf_t sbdf;
>> +        unsigned int reg =3D mmio_start & ~PAGE_MASK;
>> +
>> +        sbdf=2Ebdf =3D  (((mmio_start - d->arch=2Eecam_addr) & 0x0ffff=
000) >> 12);
>> +        sbdf=2Eseg =3D 0;
>> +
>> +        *type =3D XEN_DMOP_IO_RANGE_PCI;
>> +        *addr =3D ((uint64_t)sbdf=2Esbdf << 32) | reg;
>=20
> The trapping & decoding here should better re-use the logic in the
> vpci_mmcfg* handlers in x86/hvm/io=2Ec=2E  You might want to gate the ca=
ll
> to register_mmio_handler() to the domain having vPCI, so that
> otherwise it will be handled by the IOREQ catch-all=2E  It's a bit
> hacky, but we already know that vPCI and IOREQs don't play well, and
> it needs solving properly=2E  Again I don't want to force you having to
> do that just to get q35 merged=2E  But we should at least aim to not
> duplicate the data in the domain structures=2E

I missed that part about vPCI and HVM=2E AFAIR it was not possible to use
vPCI for HVM domains=2E I'll take a deeper look and see if that mmcfg
handling could be reused=2E

Regards,



-- 
Thierry Escande | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.a9.f0f32552c5396f53.19ebb482718.3bee6af9abf4df51=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:02:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:02:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336530.1598413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXyiP-0000Vz-VB; Fri, 12 Jun 2026 10:02:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336530.1598413; Fri, 12 Jun 2026 10:02: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 1wXyiP-0000Vf-R8; Fri, 12 Jun 2026 10:02:17 +0000
Received: by outflank-mailman (input) for mailman id 1336530;
 Fri, 12 Jun 2026 10:02:16 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb48345b000701b@swg.vates.tech>)
 id 1wXyiO-0000Ar-3K
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:02:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXyiN-007pQk-GO
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:02:15 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb48345b000701b@swg.vates.tech>)
 id 6a2bd920-bab6-0a2a0a5309dd-0a2a4505ddc8-24
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:02:15 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebb48345b000701b@swg.vates.tech>)
 id 6a2bd926-aaa8-0a2a45050019-b9ff1c1293f9-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:02:14 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebb48345b000701b.003 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 10:02:11 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id 6946F86509;
 Fri, 12 Jun 2026 12:02:11 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=92EM9nP3x35mrjUjp+rAdIGC+cPMeV72+WgpPkpNH78=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=Qd8rMYJJhLsU+6SNBmlC+4Qpiu+VS3PMywcIb5FT3Jcc+t/NiVYaD+F2N08Ym0siBHFERi0lZ
 dPzEtvF+0XtzXOiGAd7GSCYQBqkP6HX3jbJa3/aKBmWgYJYsW8Nz1gI7tmyBvX8O7klUzN58puN
 RMqymtAmGsgSgcQ2A55Ay2YSEUyA1PJ+dVrCM81NSSWnjs2GCtJmqDkSu0z1JzrNh2DrAn5p4az
 XQQpi9B2VjE6NfQOhsx9VIgT1wQWO4faLPo5G3jHWCC6aA6kel74sX6e20DHb1Ap3/JYL9BgIDV
 Du50uh2UmsEI2+nwXkqbiFzRw4LIBvO/5A/Xrgjgq50g==
X-Zone-Loop: ab1f93464fb1e024ca85a88c2f8321cdaee2c63a173d
x-campaign-type: default
x-transaction-id: 04a1ffb5-fff2-4118-8d65-ff2b4d89bc58
x-swg-uid: 01-3b4278fd-38d1-4bfc-ab96-de1721d0c4e9
X-Mailer: Sweego
Message-ID:
 <1781258532.8631fc262581453bbf619ec5b2062170.19ebb48345b000701b@vates.tech>
x-swg-bid: 1781258532.8631fc262581453bbf619ec5b2062170.19ebb48345b000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 12:02:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Thierry Escande <thierry.escande@vates.tech>
Subject: Re: [PATCH 17/17] docs: provide description for device_model_machine
 option
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>, Alexey Gerasimenko <x1917x@gmail.com>
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-18-thierry.escande@vates.tech>
 <afH823FT5PvnCWiK@macbook.local>
Content-Language: en-US
In-Reply-To: <afH823FT5PvnCWiK@macbook.local>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.aa.7e8f903cd7aea9.19ebb4832e0.ad982a9bd6ac2d12=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781258531552
X-purgate-ID: tlsNG-c201ff/1781258534-DBD67443-932BF693/0/0
X-purgate-type: clean
X-purgate-size: 836

---=Part.aa.7e8f903cd7aea9.19ebb4832e0.ad982a9bd6ac2d12=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


On 4/29/26 14:43, Roger Pau Monn=C3=A9 wrote:
> On Fri, Mar 13, 2026 at 04:35:05PM +0000, Thierry Escande wrote:
>> This patch adds description for 'device_model_machine' option which all=
ows
>> to control which chipset will be emulated by device model=2E
>>
>> Signed-off-by: Alexey Gerasimenko <x1917x@gmail=2Ecom>
>> Signed-off-by: Thierry Escande <thierry=2Eescande@vates=2Etech>
>=20
> This wants squashing with the xl patch that adds the option=2E
>=20

Will do=2E

Regards,



-- 
Thierry Escande | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.aa.7e8f903cd7aea9.19ebb4832e0.ad982a9bd6ac2d12=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:27:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:27:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336587.1598421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXz6t-0007Ma-Ul; Fri, 12 Jun 2026 10:27:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336587.1598421; Fri, 12 Jun 2026 10:27: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 1wXz6t-0007MT-S4; Fri, 12 Jun 2026 10:27:35 +0000
Received: by outflank-mailman (input) for mailman id 1336587;
 Fri, 12 Jun 2026 10:27:35 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wXz6t-0007LY-4G
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:27:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXz6s-005BVI-3O
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:27:34 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2bdf0f-e002-0a2a0a5209dd-0a2a4509a65e-18
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:27:33 +0200
Received: from [209.85.128.47] (helo=mail-wm1-f47.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2bdf15-2497-0a2a45090019-d155802ff0cb-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:27:33 +0200
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-491609cdd8fso2029625e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 03:27:33 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f26393asm4437355f8f.5.2026.06.12.03.27.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 12 Jun 2026 03:27: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1781260053; x=1781864853; 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=CFbdcue/z3xdCwKAm7oVToWlHnJSjldtNGJ5sUlNn6Q=;
        b=LEiEn9L5VRG1Pq7ZqGDpn/L3RH4H5X7hfZCClqgM93zTY0GewV03e9C5UXFRlpIKlK
         E3nZl+vV5OPwy6T8Gnp92vDFo2YR5pXk7SI1TF/Op2losZ8He1zFVdcbzHY9DKWOS/UG
         OPctODnBI3XlmbxcwZ+qtTbZvJ0e9DNMJKu08=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781260053; x=1781864853;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CFbdcue/z3xdCwKAm7oVToWlHnJSjldtNGJ5sUlNn6Q=;
        b=KJorWLt9vC+1uCjowsCGWyRx27MMiCilMTEO9Md1Jodk81qdWJxJDoKq/Xy4TDFXv1
         3KpqiVI20OoLwVOobl2OuBenekQ+OAzr+DHAk5oYPHvfzMM1+Yqnv6FdN8WlWZL4/0j4
         wsxIHf3oCQLOPt3wBhewZBM0+PrpBYDqwXyS0P0cGbZIkufzKzEqjiZsNoI8ZD4WKPoO
         w5EYmhdHlmfwX887F4v+ki48wYnejn3vo17eEhxPrKHsl0JlVYpDqO0AdO7g73pplCb5
         PtY14OFradtogUNC3tPYYoSgXG64i/Mp6mAP459tfXimY1i0msspT13kYIG7lAJMahXI
         bS9A==
X-Gm-Message-State: AOJu0YygUjFhd98PjwRo3p7iApSmUJ+5IxLqq+sLpSBJ6HcrI0HC88ck
	+mUcUhJVE8O6T2JsPHRL0H2xZvKLMGhvUP5ZkfOfGuXWW9M3iU1NHyOpQ7h9/5rRcn3nxeWg0SJ
	HJFHb
X-Gm-Gg: Acq92OFdD5Q9uN/Q0DSk++3Tc0EnM10T7CzHZsDV01RlEbR+ls2Uqnt1Qu2T38RCpkD
	hQrC+h/2qFuYyszaCbLo/C7ZKHodNn2C2SO6qSAwzVvpuxk+SSrXMbB2yn/k3CLdjQnJjA/a5Gr
	6iFOSZCwmSE9rME60kViwpi6K6own7yg2n+poWMN09r+ZLzV62ly/UjqYFpvJIsCsDn3m+mJHET
	CUK5jXLxqMHpf/wI2g8uyotpYaYSq1AFAjCr6f7URnU7BO7iDoKO1xnQNNieJAau8wtNiXE/vHq
	dlYdPT6hIhzWI5yvkJ2CzB+OakneimNj14s7b8i8+cNqyPVKR3Fyl1Z6Xx6JSfRlp2QA8YCmyYf
	RRc+lcnWYiWA0yyTigemuqW5j0YuVZPnsV5pOXndQ8rVjVLcomPvh2pOEM81II4Sr2+ymmeutZc
	W6Y6GW5P1iA/CBgKleCVaZZ6mpljZhPaDigiRF+vF3sgAU+E6/ehJDKTT7Aoujtzwq8pT/lVCSd
	GFa
X-Received: by 2002:a05:6000:40cc:b0:441:1e41:19c with SMTP id ffacd0b85a97d-4606dbad4a3mr3269892f8f.20.1781260052741;
        Fri, 12 Jun 2026 03:27: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>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Kevin Lampis <kevin.lampis@citrix.com>
Subject: [PATCH for-4.23] xen/kexec: Drop the obsolete v1 hypercall implementation
Date: Fri, 12 Jun 2026 11:27:27 +0100
Message-Id: <20260612102727.3121098-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
X-purgate-ID: tlsNG-bad1c0/1781260053-4377AA53-EDD3084B/10/73395122804
X-purgate-type: spam
X-purgate-size: 13493

The v1 interface was declared obsolete in Xen 4.4 (2013) when kexec in Xen was
overhauled.

The only known user of the v1 interface was the classic-xen fork of Linux.
Linux PVOps does not interact with Xen kexec directly, delegating it entirely
to userspace (i.e. kexec-tools).  Xen support in kexec-tools was part of this
work, and uses the "new" interface.

As such, there's no way to test changes to the interface any more.

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>
CC: Kevin Lampis <kevin.lampis@citrix.com>

For 4.23, but I'd like to get this into my for-next branch nowish so other
work can be rebased over it.

This patch will need rebasing over release activities in CHANGELOG.md but
that's easy to do.

Bloat-o-meter reports:
  add/remove: 1/3 grow/shrink: 0/4 up/down: 152/-1431 (-1279)
  Function                                     old     new   delta
  kexec_swap_images                              -     152    +152
  symbols_sorted_offsets                     69592   69576     -16
  symbols_offsets                            53668   53652     -16
  symbols_names                             135309  135272     -37
  do_kexec_op_internal                        2038    1994     -44
  kexec_do_unload.isra                         170       -    -170
  kexec_load_slot                              510       -    -510
  kexec_do_load_v1                             638       -    -638
---
 CHANGELOG.md               |   8 ++
 xen/common/kexec.c         | 241 +------------------------------------
 xen/include/public/kexec.h |  45 +------
 xen/include/xlat.lst       |   1 -
 4 files changed, 13 insertions(+), 282 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5cf19372a361..5c1113ab61af 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,14 @@ 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.23.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
+
+### Removed
+ - On x86:
+   - The kexec "v1" interface, which was declared obsolete in Xen 4.4 (2013).
+     The only know user was the classic-xen fork of Linux.  This does not
+     affect Xen kexec support in the kexec-tools package.
+
 ## [4.22.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
 
 ### Changed
diff --git a/xen/common/kexec.c b/xen/common/kexec.c
index 65776a95fd70..fec67ed6936d 100644
--- a/xen/common/kexec.c
+++ b/xen/common/kexec.c
@@ -900,206 +900,6 @@ static int kexec_load_slot(struct kexec_image *kimage)
     return 0;
 }
 
-static uint16_t kexec_load_v1_arch(void)
-{
-#ifdef CONFIG_X86
-    return is_pv_32bit_domain(hardware_domain) ? EM_386 : EM_X86_64;
-#else
-    return EM_NONE;
-#endif
-}
-
-static int kexec_segments_add_segment(unsigned int *nr_segments,
-                                      xen_kexec_segment_t *segments,
-                                      mfn_t mfn)
-{
-    paddr_t maddr = mfn_to_maddr(mfn);
-    unsigned int n = *nr_segments;
-
-    /* Need a new segment? */
-    if ( n == 0
-         || segments[n-1].dest_maddr + segments[n-1].dest_size != maddr )
-    {
-        n++;
-        if ( n > KEXEC_SEGMENT_MAX )
-            return -EINVAL;
-        *nr_segments = n;
-
-        set_xen_guest_handle(segments[n-1].buf.h, NULL);
-        segments[n-1].buf_size = 0;
-        segments[n-1].dest_maddr = maddr;
-        segments[n-1].dest_size = 0;
-    }
-
-    return 0;
-}
-
-static int kexec_segments_from_ind_page(mfn_t mfn,
-                                        unsigned int *nr_segments,
-                                        xen_kexec_segment_t *segments,
-                                        bool compat)
-{
-    void *page;
-    kimage_entry_t *entry;
-    int ret = 0;
-
-    page = map_domain_page(mfn);
-
-    /*
-     * Walk the indirection page list, adding destination pages to the
-     * segments.
-     */
-    for ( entry = page; ; )
-    {
-        unsigned long ind;
-
-        ind = kimage_entry_ind(entry, compat);
-        mfn = kimage_entry_mfn(entry, compat);
-
-        switch ( ind )
-        {
-        case IND_DESTINATION:
-            ret = kexec_segments_add_segment(nr_segments, segments, mfn);
-            if ( ret < 0 )
-                goto done;
-            break;
-        case IND_INDIRECTION:
-            unmap_domain_page(page);
-            entry = page = map_domain_page(mfn);
-            continue;
-        case IND_DONE:
-            goto done;
-        case IND_SOURCE:
-            if ( *nr_segments == 0 )
-            {
-                ret = -EINVAL;
-                goto done;
-            }
-            segments[*nr_segments-1].dest_size += PAGE_SIZE;
-            break;
-        default:
-            ret = -EINVAL;
-            goto done;
-        }
-        entry = kimage_entry_next(entry, compat);
-    }
-done:
-    unmap_domain_page(page);
-    return ret;
-}
-
-static int kexec_do_load_v1(xen_kexec_load_v1_t *load, int compat)
-{
-    struct kexec_image *kimage = NULL;
-    xen_kexec_segment_t *segments;
-    uint16_t arch;
-    unsigned int nr_segments = 0;
-    mfn_t ind_mfn = maddr_to_mfn(load->image.indirection_page);
-    int ret;
-
-    arch = kexec_load_v1_arch();
-    if ( arch == EM_NONE )
-        return -ENOSYS;
-
-    segments = xmalloc_array(xen_kexec_segment_t, KEXEC_SEGMENT_MAX);
-    if ( segments == NULL )
-        return -ENOMEM;
-
-    /*
-     * Work out the image segments (destination only) from the
-     * indirection pages.
-     *
-     * This is needed so we don't allocate pages that will overlap
-     * with the destination when building the new set of indirection
-     * pages below.
-     */
-    ret = kexec_segments_from_ind_page(ind_mfn, &nr_segments, segments, compat);
-    if ( ret < 0 )
-        goto error;
-
-    ret = kimage_alloc(&kimage, load->type, arch, load->image.start_address,
-                       nr_segments, segments);
-    if ( ret < 0 )
-        goto error;
-
-    /*
-     * Build a new set of indirection pages in the native format.
-     *
-     * This walks the guest provided indirection pages a second time.
-     * The guest could have altered then, invalidating the segment
-     * information constructed above.  This will only result in the
-     * resulting image being potentially unrelocatable.
-     */
-    ret = kimage_build_ind(kimage, ind_mfn, compat);
-    if ( ret < 0 )
-        goto error;
-
-    if ( arch == EM_386 || arch == EM_X86_64 )
-    {
-        /*
-         * Ensure 0 - 1 MiB is mapped and accessible by the image.
-         *
-         * This allows access to VGA memory and the region purgatory copies
-         * in the crash case.
-         */
-        unsigned long addr;
-
-        for ( addr = 0; addr < MB(1); addr += PAGE_SIZE )
-        {
-            ret = machine_kexec_add_page(kimage, addr, addr);
-            if ( ret < 0 )
-                goto error;
-        }
-    }
-
-    ret = kexec_load_slot(kimage);
-    if ( ret < 0 )
-        goto error;
-
-    return 0;
-
-error:
-    if ( !kimage )
-        xfree(segments);
-    kimage_free(kimage);
-    return ret;
-}
-
-static int kexec_load_v1(XEN_GUEST_HANDLE_PARAM(void) uarg)
-{
-    xen_kexec_load_v1_t load;
-
-    if ( unlikely(copy_from_guest(&load, uarg, 1)) )
-        return -EFAULT;
-
-    return kexec_do_load_v1(&load, 0);
-}
-
-static int kexec_load_v1_compat(XEN_GUEST_HANDLE_PARAM(void) uarg)
-{
-#ifdef CONFIG_COMPAT
-    compat_kexec_load_v1_t compat_load;
-    xen_kexec_load_v1_t load;
-
-    if ( unlikely(copy_from_guest(&compat_load, uarg, 1)) )
-        return -EFAULT;
-
-    /* This is a bit dodgy, load.image is inside load,
-     * but XLAT_kexec_load (which is automatically generated)
-     * doesn't translate load.image (correctly)
-     * Just copy load->type, the only other member, manually instead.
-     *
-     * XLAT_kexec_load(&load, &compat_load);
-     */
-    load.type = compat_load.type;
-    XLAT_kexec_image(&load.image, &compat_load.image);
-
-    return kexec_do_load_v1(&load, 1);
-#else
-    return 0;
-#endif
-}
-
 static int kexec_load(XEN_GUEST_HANDLE_PARAM(void) uarg)
 {
     xen_kexec_load_t load;
@@ -1159,34 +959,6 @@ static int kexec_do_unload(xen_kexec_unload_t *unload)
     return 0;
 }
 
-static int kexec_unload_v1(XEN_GUEST_HANDLE_PARAM(void) uarg)
-{
-    xen_kexec_load_v1_t load;
-    xen_kexec_unload_t unload;
-
-    if ( copy_from_guest(&load, uarg, 1) )
-        return -EFAULT;
-
-    unload.type = load.type;
-    return kexec_do_unload(&unload);
-}
-
-static int kexec_unload_v1_compat(XEN_GUEST_HANDLE_PARAM(void) uarg)
-{
-#ifdef CONFIG_COMPAT
-    compat_kexec_load_v1_t compat_load;
-    xen_kexec_unload_t unload;
-
-    if ( copy_from_guest(&compat_load, uarg, 1) )
-        return -EFAULT;
-
-    unload.type = compat_load.type;
-    return kexec_do_unload(&unload);
-#else
-    return 0;
-#endif
-}
-
 static int kexec_unload(XEN_GUEST_HANDLE_PARAM(void) uarg)
 {
     xen_kexec_unload_t unload;
@@ -1234,18 +1006,7 @@ static int do_kexec_op_internal(unsigned long op,
         else
                 ret = kexec_get_range(uarg);
         break;
-    case KEXEC_CMD_kexec_load_v1:
-        if ( compat )
-            ret = kexec_load_v1_compat(uarg);
-        else
-            ret = kexec_load_v1(uarg);
-        break;
-    case KEXEC_CMD_kexec_unload_v1:
-        if ( compat )
-            ret = kexec_unload_v1_compat(uarg);
-        else
-            ret = kexec_unload_v1(uarg);
-        break;
+
     case KEXEC_CMD_kexec:
         ret = kexec_exec(uarg);
         break;
diff --git a/xen/include/public/kexec.h b/xen/include/public/kexec.h
index 40d79e936b86..abb2a49238f1 100644
--- a/xen/include/public/kexec.h
+++ b/xen/include/public/kexec.h
@@ -41,10 +41,6 @@
 
 #include "xen.h"
 
-#if defined(__i386__) || defined(__x86_64__)
-#define KEXEC_XEN_NO_PAGES 17
-#endif
-
 /*
  * Prototype for this hypercall is:
  *  int kexec_op(unsigned long cmd, void *args)
@@ -66,24 +62,6 @@
 #define KEXEC_TYPE_DEFAULT 0
 #define KEXEC_TYPE_CRASH   1
 
-
-/* The kexec implementation for Xen allows the user to load two
- * types of kernels, KEXEC_TYPE_DEFAULT and KEXEC_TYPE_CRASH.
- * All data needed for a kexec reboot is kept in one xen_kexec_image_t
- * per "instance". The data mainly consists of machine address lists to pages
- * together with destination addresses. The data in xen_kexec_image_t
- * is passed to the "code page" which is one page of code that performs
- * the final relocations before jumping to the new kernel.
- */
-
-typedef struct xen_kexec_image {
-#if defined(__i386__) || defined(__x86_64__)
-    unsigned long page_list[KEXEC_XEN_NO_PAGES];
-#endif
-    unsigned long indirection_page;
-    unsigned long start_address;
-} xen_kexec_image_t;
-
 /*
  * Perform kexec having previously loaded a kexec or kdump kernel
  * as appropriate.
@@ -109,16 +87,11 @@ typedef struct xen_kexec_exec {
 } xen_kexec_exec_t;
 
 /*
- * Load/Unload kernel image for kexec or kdump.
- * type  == KEXEC_TYPE_DEFAULT or KEXEC_TYPE_CRASH [in]
- * image == relocation information for kexec (ignored for unload) [in]
+ * Obsolete since Xen 4.4.  Removed in Xen 4.23
+ *
+#define KEXEC_CMD_kexec_load_v1         1
+#define KEXEC_CMD_kexec_unload_v1       2
  */
-#define KEXEC_CMD_kexec_load_v1         1 /* obsolete since 0x00040400 */
-#define KEXEC_CMD_kexec_unload_v1       2 /* obsolete since 0x00040400 */
-typedef struct xen_kexec_load_v1 {
-    int type;
-    xen_kexec_image_t image;
-} xen_kexec_load_v1_t;
 
 #define KEXEC_RANGE_MA_CRASH      0 /* machine address and size of crash area */
 #define KEXEC_RANGE_MA_XEN        1 /* machine address and size of Xen itself */
@@ -149,7 +122,6 @@ typedef struct xen_kexec_range {
     unsigned long start;
 } xen_kexec_range_t;
 
-#if __XEN_INTERFACE_VERSION__ >= 0x00040400
 /*
  * A contiguous chunk of a kexec image and it's destination machine
  * address.
@@ -224,15 +196,6 @@ typedef struct xen_kexec_status {
 } xen_kexec_status_t;
 DEFINE_XEN_GUEST_HANDLE(xen_kexec_status_t);
 
-#else /* __XEN_INTERFACE_VERSION__ < 0x00040400 */
-
-#define KEXEC_CMD_kexec_load KEXEC_CMD_kexec_load_v1
-#define KEXEC_CMD_kexec_unload KEXEC_CMD_kexec_unload_v1
-#define xen_kexec_load xen_kexec_load_v1
-#define xen_kexec_load_t xen_kexec_load_v1_t
-
-#endif
-
 #endif /* _XEN_PUBLIC_KEXEC_H */
 
 /*
diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
index 9d08dcc4bb11..33dc8e2b2a4a 100644
--- a/xen/include/xlat.lst
+++ b/xen/include/xlat.lst
@@ -127,7 +127,6 @@
 ?	hypfs_dirlistentry		hypfs.h
 
 ?	kexec_exec			kexec.h
-!	kexec_image			kexec.h
 !	kexec_range			kexec.h
 
 !	add_to_physmap			memory.h
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Jun 12 10:43:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 10:43:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336598.1598430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wXzLj-0003ex-8r; Fri, 12 Jun 2026 10:42:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336598.1598430; Fri, 12 Jun 2026 10: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 1wXzLj-0003eq-6M; Fri, 12 Jun 2026 10:42:55 +0000
Received: by outflank-mailman (input) for mailman id 1336598;
 Fri, 12 Jun 2026 10:42:54 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wXzLi-0003ek-ED
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 10:42:54 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wXzLh-005ERF-5c
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 12:42:53 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2be2a5-2eae-0a2a0a5409dd-0a2a45019916-26
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:42:53 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2be2ac-c1f2-0a2a45010019-d1558033e87c-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 12:42:53 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-490c0c92cffso5329215e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 03:42:53 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490ea7c0960sm50754075e9.3.2026.06.12.03.42.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Jun 2026 03:42: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781260972; x=1781865772; 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=4vboWpWqeVau85TStrcyd91/xUZBn9uHrUQYRfatDuk=;
        b=c/WPcNCP7q5ae40pri8YxFS10IV76gUUS5s+O7bVBo8qOBZXFu4KWnUvpq1jjqFdSB
         nwiBIPWQvxZ+TxK2s5o2cGsPtwba8lUNY74s9b96qYyBNvxFwspoQzZ3f7gO1/qWJgjL
         IeeV3OMe6Kz68llGMpwFv2hB4n+gBq10N941S9to3xD6L99jk6Ja0NxNGJmldeEB4qsc
         WDMGHxmvQGrM0Gk8TXooR0cVF6UD7m1YwG+P6ekpxeUe+d/yQbwxGa6v0TeFRCwu6Aak
         nHqK3J6JKGx6CwpjdtfmMFTkZz0njIMm4luYuh3pzRqITskBvDZuD7y40HmkUNfOsyqJ
         +XWA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781260972; x=1781865772;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=4vboWpWqeVau85TStrcyd91/xUZBn9uHrUQYRfatDuk=;
        b=X3fCLB7uMn+cuL94cpch53ekz7FrBZRWCrf+57FH7LW9O0XitsDg1HKS96EHB6QHyV
         xp7SiaGlkRj/KFXRxWAFZ9c618LLjM8huABaUTNfUY0LuoQ07CC7lkrf5gJoFoaapoEf
         yPex3ahnOackbgUZIpZ3N4cUjJIzpti2Y/hYb9C87ohLuG5FH7CRBWd09wL0pmQyX764
         hDHVqBWoeCMLAH7LSsLLJLjcpw5DeLATqknp3M3mN231XeUSrn1z0MG/QVaFob0Whoks
         Lb2eWm1JaouP4fc/dkpU28pLG4iSCN2TCsBqFUIKSP0joCw0hF0yhEVanG7JxXd283jG
         84cg==
X-Forwarded-Encrypted: i=1; AFNElJ8mAsWjcWKHlUpnixn1+Zqnoi1BSzssCX8n/gzLtA5zQGsfd0oxVoWavt0AuXJNoblj2p7DqznsTlA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzmIoxjX763cDxPrTLESEwxcfGx9TbGVh4kdVQQToal2y+3dx5g
	lKncFcwtmSvwk1dAweGLAyvrqcVTajjHncLeZPHZK8T3X60hM1kJ/rGe
X-Gm-Gg: Acq92OFiuR2VoNOF3zB4O15mNb/TBcJPvrgeW74Fbc5/Mwlg8TCDouNnXxmklTU3fPL
	qPnmooLviBaP/JsfiP2z12g05y0TcvdqztBDR/D4Gwd3uNJ+j48gqmSUzGNq26JIrYPiRA7hTig
	g0cvjbImqWmh+xPEKChYRhVzG9OZV4DxidAm1jXmsRKc8Yaep6RUrDLWub+7Imlz5f1F8W1cKbc
	l0m4H1SQRcRB/loO82qCzWLzF13tTXcxXjkYwTdcfr8kTmWkghLY2oQgw/OsbipRtUd39ZsloCF
	qQOikyvNzBwiI+ENCJZCH+5efmcPOPpj67gzjYR7JhVjE337Z516a3FA+brSMd/p8FUUm6L+uOb
	v+veOqYiBj9dlfg3B70GNlA5KTTE++WN/4h2cp9Oh2Z/Wynj201ckqB0tUD75aFbzklBwn2GF+M
	1YLVk40A+Onc2gchpBooYQLvZWM0ZA+Xdj3MlkFXVpgY6uAzNyW5KFykso2+B9D39sAjNRgQErx
	Y3eoA==
X-Received: by 2002:a7b:cb87:0:b0:491:a220:6e48 with SMTP id 5b1f17b1804b1-491a2206e91mr8314515e9.32.1781260972327;
        Fri, 12 Jun 2026 03:42:52 -0700 (PDT)
Message-ID: <84915e98-f17c-46d8-891d-2b963e9f2bd6@gmail.com>
Date: Fri, 12 Jun 2026 12:42:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.23] xen/kexec: Drop the obsolete v1 hypercall
 implementation
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>,
 Kevin Lampis <kevin.lampis@citrix.com>
References: <20260612102727.3121098-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260612102727.3121098-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1781260973-AFF50FF4-31134F69/10/73395122804
X-purgate-type: spam
X-purgate-size: 2934



On 6/12/26 12:27 PM, Andrew Cooper wrote:
> The v1 interface was declared obsolete in Xen 4.4 (2013) when kexec in Xen was
> overhauled.
> 
> The only known user of the v1 interface was the classic-xen fork of Linux.
> Linux PVOps does not interact with Xen kexec directly, delegating it entirely
> to userspace (i.e. kexec-tools).  Xen support in kexec-tools was part of this
> work, and uses the "new" interface.
> 
> As such, there's no way to test changes to the interface any more.
> 
> 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>
> CC: Kevin Lampis <kevin.lampis@citrix.com>
> 
> For 4.23, but I'd like to get this into my for-next branch nowish so other
> work can be rebased over it.
> 
> This patch will need rebasing over release activities in CHANGELOG.md but
> that's easy to do.
> 
> Bloat-o-meter reports:
>    add/remove: 1/3 grow/shrink: 0/4 up/down: 152/-1431 (-1279)
>    Function                                     old     new   delta
>    kexec_swap_images                              -     152    +152
>    symbols_sorted_offsets                     69592   69576     -16
>    symbols_offsets                            53668   53652     -16
>    symbols_names                             135309  135272     -37
>    do_kexec_op_internal                        2038    1994     -44
>    kexec_do_unload.isra                         170       -    -170
>    kexec_load_slot                              510       -    -510
>    kexec_do_load_v1                             638       -    -638
> ---
>   CHANGELOG.md               |   8 ++
>   xen/common/kexec.c         | 241 +------------------------------------
>   xen/include/public/kexec.h |  45 +------
>   xen/include/xlat.lst       |   1 -
>   4 files changed, 13 insertions(+), 282 deletions(-)
> 
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 5cf19372a361..5c1113ab61af 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -4,6 +4,14 @@ 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.23.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
> +
> +### Removed
> + - On x86:
> +   - The kexec "v1" interface, which was declared obsolete in Xen 4.4 (2013).
> +     The only know user was the classic-xen fork of Linux.  This does not
> +     affect Xen kexec support in the kexec-tools package.

LGTM:

Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com> # CHANGELOG.md

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 11:31:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 11:31:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336629.1598451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY06e-000490-Q7; Fri, 12 Jun 2026 11:31:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336629.1598451; Fri, 12 Jun 2026 11:31: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 1wY06e-00048t-NI; Fri, 12 Jun 2026 11:31:24 +0000
Received: by outflank-mailman (input) for mailman id 1336629;
 Fri, 12 Jun 2026 11:31:23 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wY06d-00048n-Cf
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 11:31:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY06c-00DQEL-L5
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 13:31:22 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a2bee07-5cb7-0a2a0a5109dd-0a2a4503bb84-6
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 13:31:22 +0200
Received: from [195.135.223.130] (helo=smtp-out1.suse.de)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgross@suse.com>)
 id 6a2bee0a-672d-0a2a45030019-c387df828ae6-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 13:31:22 +0200
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 2163A6BAFE;
 Fri, 12 Jun 2026 11:31:22 +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 F396B779A7;
 Fri, 12 Jun 2026 11:31: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 yMJHOgnuK2pKdwAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 12 Jun 2026 11:31: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=susede1 header.d=suse.com header.i="@suse.com" header.h="From:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding"; dkim=pass header.s=susede1 header.d=suse.com header.i="@suse.com" header.h="From:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1781263882; 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=GzzpDDH06d+LYkskq2a/vG4nWRqiqBRpJhK9F4TaPkM=;
	b=EfOTX4uMPqmj9R+uP5yKbI2vBgKHoidn1NKMWUPXxDFoc3XptPW4UBGPiP96JKCe0pEDa5
	BRc2qwDYL6qW3G29LhUlKEcKpvzemXKb3DwlrFHAGUaq3NtqQiINM3A7cK/lLdoD7M8ZmY
	ZIn+X+X9jTZxlXcnx1IBoh7GO8gqKEw=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=EfOTX4uM
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1781263882; 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=GzzpDDH06d+LYkskq2a/vG4nWRqiqBRpJhK9F4TaPkM=;
	b=EfOTX4uMPqmj9R+uP5yKbI2vBgKHoidn1NKMWUPXxDFoc3XptPW4UBGPiP96JKCe0pEDa5
	BRc2qwDYL6qW3G29LhUlKEcKpvzemXKb3DwlrFHAGUaq3NtqQiINM3A7cK/lLdoD7M8ZmY
	ZIn+X+X9jTZxlXcnx1IBoh7GO8gqKEw=
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 v7.2-rc1
Date: Fri, 12 Jun 2026 13:31:19 +0200
Message-ID: <20260612113121.1424344-1-jgross@suse.com>
X-Mailer: git-send-email 2.54.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Flag: NO
X-Rspamd-Action: no action
X-Spam-Level: 
X-Spamd-Result: default: False [-3.51 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	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)[];
	ARC_NA(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	MIME_TRACE(0.00)[0:+];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.com:mid,suse.com:dkim];
	RCVD_TLS_ALL(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	DWL_DNSWL_BLOCKED(0.00)[suse.com:dkim];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	TO_DN_NONE(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Queue-Id: 2163A6BAFE
X-Spam-Score: -3.51
X-purgate-ID: tlsNG-33051d/1781263882-4006F938-13C168CA/0/0
X-purgate-type: clean
X-purgate-size: 2417

Linus,

Please git pull the following tag:

 git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-7.2-rc1-tag

xen: branch for v7.2-rc1

It contains the following changes:

- Several small cleanups of various Xen related drivers (xen/platform-pci,
  xen-balloon, xenbus, xen/mcelog)

- A 3 patch cleanup series for Xen PV-mode related code (includes dropping
  the Xen debugfs code)

- A 5 patch series dropping the additional lazy mmu mode tracking done by
  Xen specific code


Thanks.

Juergen

 arch/x86/include/asm/paravirt.h       |   9 +-
 arch/x86/include/asm/paravirt_types.h |  11 +-
 arch/x86/include/asm/xen/hypervisor.h |  25 +---
 arch/x86/kernel/paravirt.c            |   6 +-
 arch/x86/xen/Kconfig                  |   7 -
 arch/x86/xen/Makefile                 |   2 -
 arch/x86/xen/debugfs.c                |  16 ---
 arch/x86/xen/enlighten_pv.c           |  30 ++---
 arch/x86/xen/mmu_pv.c                 |  74 +++++------
 arch/x86/xen/p2m.c                    |  45 -------
 arch/x86/xen/xen-ops.h                | 244 ++++++++++++++++------------------
 drivers/xen/mcelog.c                  |   6 +-
 drivers/xen/platform-pci.c            |   8 +-
 drivers/xen/xen-balloon.c             |   6 +-
 drivers/xen/xenbus/xenbus_probe.c     |  13 +-
 include/linux/pgtable.h               |  56 ++++++--
 include/trace/events/xen.h            |  95 +++----------
 include/xen/interface/io/xs_wire.h    |   2 +-
 18 files changed, 250 insertions(+), 405 deletions(-)

David Laight (1):
      xen/xenbus: Replace strcpy() with memcpy()

Juergen Gross (8):
      x86/xen: Guard PV-only stuff in xen-ops.h with CONFIG_XEN_PV
      x86/xen: Cleanup Xen related trace points
      x86/xen: Remove Xen debugfs support
      x86/xen: Drop lazy mode from trace entries
      x86/xen: Change interface of xen_mc_issue()
      mm: Refactor lazy_mmu_mode_pause() and lazy_mmu_mode_resume()
      x86/xen: Get rid of last XEN_LAZY_MMU uses
      x86/xen: Replace generic lazy tracking with cpu specific one

Len Bao (2):
      xen: constify xsd_errors array
      xen/mcelog: mark g_physinfo, ncpus and xen_mce_chrdev_device as __ro_after_init

Uwe Kleine-KÃ¶nig (The Capable Hub) (1):
      xen/platform-pci: Simplify initialization of pci_device_id array

Yash Suthar (1):
      xen: balloon: Replace sprintf() with sysfs_emit()


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 11:47:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 11:47:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336639.1598461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY0Lc-0006BG-2S; Fri, 12 Jun 2026 11:46:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336639.1598461; Fri, 12 Jun 2026 11: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 1wY0Lb-0006B9-Vj; Fri, 12 Jun 2026 11:46:51 +0000
Received: by outflank-mailman (input) for mailman id 1336639;
 Fri, 12 Jun 2026 11:46:50 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wY0La-0006B3-G9
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 11:46:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY0LY-00A8GQ-3S
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 13:46:48 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2bf199-5cb7-0a2a0a5109dd-0a2a45018cb8-38
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 13:46:47 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2bf1a7-c1f2-0a2a45010019-d155802cccae-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 13:46:47 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-490b8a97b11so10264845e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 04:46:47 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f26f726sm4561933f8f.15.2026.06.12.04.46.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Jun 2026 04:46:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781264807; x=1781869607; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ozjSI/ZTiOPvYnvgtd3Mrlif8ZVMJ4SVpUa4b8rj8Tk=;
        b=e456bTAbnabFhOPrs67gDGnKA1uqjO4qzQ+DHBQpfDOcG5IBHCqExF1rYQKP8qxvao
         5V0aBB3prferNeRx+HM2c6vqD1iGX9cM5UbrjlTrMwVVL1BNZvQ8oKOFXHEh7S9MAesv
         z6AUAGcpJ2WjT01t5I7MTlppldnN99m8N/MCu6L5DxnykaQpnkUlaCMxi3DSR4WUAB5z
         I5dMXHUVeHlMb8op9wa21qL5iCgBBijSwOGM9HPXKaY5gCsdBHpX/7BkSO99nz54NivV
         b6d4CiAT9JTo3HbxnDXueyJEzwffWfr3T/eOqu/9U8kMGJeNxTPHr/YbNTBtBZMjJbIz
         fezg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781264807; x=1781869607;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ozjSI/ZTiOPvYnvgtd3Mrlif8ZVMJ4SVpUa4b8rj8Tk=;
        b=D1Z/+s9nX0Ec7RDX+bz+Fe2QAv6/8gBNLYLPoghedDWF2AKZooKMD5raj5rnJeJwMQ
         fCcnC2cgFNB8Txkxfdz+GWjtoUvmN0XCK6Knun0UwbT02sjSz2uCTn/xPFcXwQrnViGX
         pjz04cqbR8DuVssj2+41sOKpDJWmryxi2M3zVWcsQA0XZ3xe7d9EPS7OjikyJIHDO3zt
         72Na3SePk5iA31CKY+Jm4LUoabobTJIBpG++yTG9fuwDBfyAV5owZM3aW39xYbsO77+U
         36sZPr8ihrSxNIIyDSyWbunUkn2J3rJP8Ki1ZxeKP2b2UIcVglylc5hZb3+u9Tx14m10
         rsXw==
X-Forwarded-Encrypted: i=1; AFNElJ8/DsHKZDwHLtqnsTJwzErLrA3xQ+fVek6/MQKkeJ9uNwoxtBvFBOELEF/raeFVqSip72yj/mrghAA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwFOKEeejjv2ocKjlEqfwhXiCowi1oh3RtmzW3Yv3caHKORD3bM
	c2uREQAxq0tusWou4kF5wfhfGfH9YPycXd5VheXwzjb/YgJVH93OgYjOXcaOYTlIvw==
X-Gm-Gg: Acq92OGOT+/S7Efv04t2vpIpE+aJ1dEvoRp0mjiqmp2eboVVmjFnxrh3jFdRL0znYqe
	vhM1lhSJlov+WBPf4PEi0eTZIuAnhX691jGpDcTeTsNWApaSTxqp3bohs3nDW2klE/aKMgxINT1
	ckfctLHD0+K/cjf9gI5hE6cke1R0UaiYftYpE8VWphNq/TDLbQcnFozjISXhwDsyfyQJkSTyj82
	FVqxC3mrIC2EIC1qDQRSaNerehw/hp5KDwHN4DT69/N+NkxfX+Mc2GFxwIzXfKhO+29w7TlC5yN
	bJU9pRX7QdtsbKOuLD7VupyD5mkm+hfWONXGTF6giCwrXi6GYU+KoUCS66HgY0YcmOQ/z6WhGBo
	bpBti8PAoyiQaTVdoXzSgBA1jvkyDLowFPSRH01L7IDrA/EvKY23nFT/uuclOpl2Hwe13/QNz5q
	lXcuw14IJ6ZYKglKAweuWd99unQu2JgaH7nWtuY+7cZpdz55jyz6iPjS4cj68HOoVALLOgxvk6k
	oVv/BsWmhbdKns=
X-Received: by 2002:a05:600c:42cc:b0:490:3fa2:1b93 with SMTP id 5b1f17b1804b1-490ec4c4bb6mr20089685e9.13.1781264807371;
        Fri, 12 Jun 2026 04:46:47 -0700 (PDT)
Message-ID: <f42daff7-dd18-4fc1-b5f6-45cae9d8c6db@suse.com>
Date: Fri, 12 Jun 2026 13:46:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 03/17] hvmloader: add function to set the emulated machine
 type (i440/Q35)
To: Thierry Escande <thierry.escande@vates.tech>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Alexey Gerasimenko <x1917x@gmail.com>, xen-devel@lists.xenproject.org
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-4-thierry.escande@vates.tech>
 <9f67c3ee-4450-4d4b-b03c-66ac1aa63014@suse.com>
 <1781258478.8631fc262581453bbf619ec5b2062170.19ebb476458000701b@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1781258478.8631fc262581453bbf619ec5b2062170.19ebb476458000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1781264807-B5545FF4-73291543/0/0
X-purgate-type: clean
X-purgate-size: 2071

On 12.06.2026 12:01, Thierry Escande wrote:
> 
> 
> On 5/4/26 16:43, Jan Beulich wrote:
>> On 13.03.2026 17:35, Thierry Escande wrote:
>>> @@ -648,6 +649,47 @@ void __bug(const char *file, int line)
>>>      crash();
>>>  }
>>>  
>>> +machine_type_t machine_type;
>>> +
>>> +void init_pc_machine_type(void)
>>> +{
>>> +    uint16_t vendor_id;
>>> +    uint16_t device_id;
>>> +
>>> +    if ( machine_type != MACHINE_TYPE_UNDEFINED )
>>> +        return;
>>> +
>>> +    vendor_id = pci_readw(0, PCI_VENDOR_ID);
>>> +    device_id = pci_readw(0, PCI_DEVICE_ID);
>>> +
>>> +    /* only Intel platforms are emulated currently */
>>
>> Nit: Comment style.
> 
> That's for the missing capital on the first word and full stop, right?

See ./CODING_STYLE - the full stop isn't required here, but the capital first
letter indeed is.

>>> +    if ( vendor_id != PCI_VENDOR_ID_INTEL )
>>> +        goto error;
>>> +
>>> +    switch ( device_id )
>>> +    {
>>> +    case PCI_DEVICE_ID_INTEL_82441:
>>> +        machine_type = MACHINE_TYPE_I440;
>>> +        printf("Detected i440 chipset\n");
>>> +        break;
>>> +
>>> +    case PCI_DEVICE_ID_INTEL_Q35_MCH:
>>> +        machine_type = MACHINE_TYPE_Q35;
>>> +        printf("Detected Q35 chipset\n");
>>> +        break;
>>> +
>>> +    default:
>>> +        goto error;
>>> +    }
>>> +
>>> +    return;
>>> +
>>> +error:
>>
>> Nit: Labels indented by at least one blank please.
>>
>>> +    printf("Unknown emulated chipset encountered, VID=%04Xh, DID=%04Xh\n",
>>> +           vendor_id, device_id);
>>> +    BUG();
>>
>> Can't this be moved up into the default case, thus avoiding "goto" and label
>> altogether?
> 
> There is already a goto error on the vendor ID check. That makes it more
> readable imo.

Hmm, maybe to some people. To me the extra "return" goes against better
readability. I agree we don't want to duplicate things, but we can still get
away with one less "goto" if the label was moved next to the "default" one
in the switch().

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 11:49:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 11:49:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336645.1598470 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY0OO-000747-FP; Fri, 12 Jun 2026 11:49:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336645.1598470; Fri, 12 Jun 2026 11: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 1wY0OO-000740-Br; Fri, 12 Jun 2026 11:49:44 +0000
Received: by outflank-mailman (input) for mailman id 1336645;
 Fri, 12 Jun 2026 11:49:43 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wY0ON-00073o-K0
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 11:49:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY0ON-00DTiP-0g
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 13:49:43 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2bf250-e002-0a2a0a5209dd-0a2a4508a4f4-22
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 13:49:42 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2bf256-63b5-0a2a45080019-d1558033a582-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 13:49:42 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-490b3e03939so7679375e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 04:49:42 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490e2d09a85sm138310285e9.14.2026.06.12.04.49.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Jun 2026 04:49:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781264982; x=1781869782; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=JCFbk7Mid6bfdyxhq+vMc9NS/wqsga9LJwir8Ovp838=;
        b=HUnx+Zlz4dssxlnE+Hp4sRCYpS+VPb4KONiW7eJQq7gW/z8KBN5H7LpK7M+Mlmd12l
         3pfslQsupary5yBIizY3D9KaH2tgvrH0lB0j+LlLRRz/fWmdqWa4xjq7rFulrVT1V2cY
         96UJNuzkjXGCr66c0U0EOejkszRPzzBymBjHhpBs8WBNsMdiq7QE6L1FWFgrPkeTO8/D
         dYgoFm87tHHL3nXnVxK9dsQsmR8TKexsoz7rAO7hS4+T+irl2Ug5m451ULfMde9TntfY
         p7YwQtvZ2BkXdZ6KT9MQj6KHicF9f2BZTv8KGzJdLhjpEn9nbENldp3cgarMaoUUFKqy
         3vNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781264982; x=1781869782;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JCFbk7Mid6bfdyxhq+vMc9NS/wqsga9LJwir8Ovp838=;
        b=bJqe2zxgNuGc6+OL0zcXt8lx7OcUSfDOhIVLjoCUDwXFc1YFXylK9aZ7d46oGfyJuA
         nMQPLdOJp/Jh09nHN6me0e6AkscfnFNabp0BVB7/5a9au+QFk64Hob6onmc69+JGu1a3
         3dnfjWXPG5fkPTgnI/SES3+l5jCQI8n+dfss5e7WAoqHbJ4yAFS+6C5gUHNaR+R5YsM1
         bdUdWWJQEd3LoH3yvKeT6WQBC2MD6EGHH+7rkjckAMSok1Utd0KDBd80+4OguHRv0RIe
         lURgoNWJJexK1x5eyI/P8uA8z0jDSdq2kD/jUGt0XyiYHxaP23ZX4hC23EQnO+FqqQty
         8hMA==
X-Forwarded-Encrypted: i=1; AFNElJ8TQvW0Wu+5ZHYe+VafPkM/jT4BTcybueNrUZ65CEanGaaUaH0wB2cU2U7E4TH3XgoUACwHVeen9LQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwScxF37rN+qPoBbRzGmLpqpmwgtwvgGjUFSYb7z1dEoOL3e2wA
	EncTrHWRbQ8cnkTYolJVeed9OvmQ6oopC/Q0XHbc+bMcRUizVqw29qI/fQ3obHC8Wg==
X-Gm-Gg: Acq92OGBQJtkj457ehKzh+tTaqWge1LvYOkUBuB7xKpvv3XH5fCNAyEPeYQwr6eSWqu
	wgO5l5LyTam8ZH/Md1EQfYPWO9SSjAiqqTMyuh5KiLQwyBvIe8B7yOGfMDxNtlGU6olh37MPio+
	NP/chUPc029x++9sqDOB+RBvSn9cscROS8MFZq2WyJ0I1m50ZTbvdcOWCs2QjLlYipQ06XMMYOZ
	+/9QozjwtSJv7U9RdySbo1KLdLZO23xpFTw61gQU3XaW4yUGj4LTDasMgv2laCWjk+8xLOxebjj
	0vgYii4tqHt6ZdKheDG7vmmHDOhl1wozGSDK2DBLMXI135xMDUqPZKOovBUto1NOr/94rQr8Xd/
	M2i196X8kqmJKDVGFYlMsPmJNBDI7twhzNQA4KOPcUJgYCZ0qcZULSslbxhhYYj/VqL9IHWS5T6
	lOhuyYONgAiOVda8As8oomQo9DHFtvZFtcGYUUEV+XIhLztbjymTZtkx568gTrtcDPJPpcOdyKe
	15rXl7ObYKW774=
X-Received: by 2002:a05:600c:8b5b:b0:490:7df7:9190 with SMTP id 5b1f17b1804b1-490ec49f2bemr26450085e9.8.1781264982378;
        Fri, 12 Jun 2026 04:49:42 -0700 (PDT)
Message-ID: <cd865ae1-b03b-47d7-bd5e-5f51752bb58d@suse.com>
Date: Fri, 12 Jun 2026 13:49:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 09/17] xev/hvm: Add HVMOP_get|set_ecam_space hypercalls
To: Thierry Escande <thierry.escande@vates.tech>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-10-thierry.escande@vates.tech>
 <df1aff17-1fb1-4ae3-995f-944a1750659b@suse.com>
 <1781258510.8631fc262581453bbf619ec5b2062170.19ebb47e1bc000701b@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1781258510.8631fc262581453bbf619ec5b2062170.19ebb47e1bc000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c1860d/1781264982-B596DDB1-29079458/0/0
X-purgate-type: clean
X-purgate-size: 1145

On 12.06.2026 12:01, Thierry Escande wrote:
> On 5/4/26 17:12, Jan Beulich wrote:
>> On 13.03.2026 17:35, Thierry Escande wrote:
>>> --- a/xen/include/public/hvm/hvm_op.h
>>> +++ b/xen/include/public/hvm/hvm_op.h
>>> @@ -166,6 +166,17 @@ struct xen_hvm_get_mem_type {
>>>  typedef struct xen_hvm_get_mem_type xen_hvm_get_mem_type_t;
>>>  DEFINE_XEN_GUEST_HANDLE(xen_hvm_get_mem_type_t);
>>>  
>>> +#define HVMOP_set_ecam_space    16
>>> +#define HVMOP_get_ecam_space    17
>>> +struct xen_hvm_ecam_space {
>>> +    domid_t  domid;
>>> +    uint16_t pad[3]; /* align next field on 8-byte boundary */
>>
>> The comment, as is, is wrong for 32-bit HVM guests: There ...
>>
>>> +    uint64_t addr;
>>
>> ... this is only 4-byte aligned, and hence the entire structure only
>> has 4-byte alignment, and hence the padding also only guarantees 4-
>> byte alignment.
> 
> Right. Roger proposal fixes it:
>     domid_t  domid;
>     uint16_t pad;
>     uint32_t size
>     uint64_t addr;

By not having the bogus comment, yes. It doesn't fix the alignment aspect,
yet that may also not be important here in the end.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 13:24:53 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 13:24:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336693.1598482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY1s6-0004OE-7W; Fri, 12 Jun 2026 13:24:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336693.1598482; Fri, 12 Jun 2026 13:24: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 1wY1s6-0004O7-4t; Fri, 12 Jun 2026 13:24:30 +0000
Received: by outflank-mailman (input) for mailman id 1336693;
 Fri, 12 Jun 2026 13:24:28 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wY1s3-0004O1-UY
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 13:24:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY1s3-00A1wp-4E
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 15:24:27 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2c0889-e002-0a2a0a5209dd-0a2a4506bf02-8
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 15:24:27 +0200
Received: from [52.101.62.12]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2c0889-7371-0a2a45060019-34653e0c1de3-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 15:24:26 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by BN8PR03MB4915.namprd03.prod.outlook.com (2603:10b6:408:dc::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.15; Fri, 12 Jun
 2026 13:24:22 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.014; Fri, 12 Jun 2026
 13:24: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=W5fuodkZ7YPxAZDUPLyLsf0F16U32GYxceMtXlYsUbSNofHFWe3tRlH9enJplpDLktM2yOiYP8JXX7/2cAYuLpNPopJ4AaGZdtlQLlYY9V7dcu0rFG9zTauP9g1mJs++/XwHb5F97YrAAarQfour/fTVtemPa0KBbPrzpdMlGXOvoesN1xEZWBJQQAp7A0Yj8oZWEQkRz1OJbd/jnG5Nt4n/+YMNALTpHQvaYj5jNvs3giB1pW/CSvU2bkJnzt3h6HSazY8t63Axi+JmXydW5h6yN74Q4qbSmbdE4SjFlbM8rzCtvJRQgHqs1fMCVXe2LdUjblQRfItfczJssu5STA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AAAMqwDqSnXiIlcE4/coKSBG4igSentjqk2NxYz9C6A=;
 b=kHC0Zm/0BsRI8Us2gQoQRrphIevxwL5GKwJUest/QZmn8mnaFi5iasYBwFZVm4+U7SitgQUnj+soJ0CxKx5AKgibWDiZiOaJwT5xxp/BP1wCJeLc7zAMCKfsb+nKWUTxy6JAboPVtaFD6xBLqhw0AtpOxsc5ITN64UmTzgHOCGRoCgN16431RDHwf+7Mm/wD2tGj5iP+UPUE9cuvBIXd4eYLZoXpReXBX/FIevIsr/FGqE1XYQ1dH1h2VdAPu1KDR2KBLOmcoepWw0dXxx7MbmOU9OgzUfv5YMT+RYKd9l+/aJDdLO4zkZxAHM/wxXN7vG+Ea+QM3ge7aA8fPkdZiQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AAAMqwDqSnXiIlcE4/coKSBG4igSentjqk2NxYz9C6A=;
 b=FvPBcCnOQExFkVEmJ/05Nz+ti8aEDF2mQp6jKQVNJ+5lkOj5I9oemZevL3Z8u7iF7wCB7MtRa9WH5y20h4Y5IPVeDvnQll64wNY/EnaEdckZU7nQF/TH8A49m+0zjaNLvdmVyowId2G8WA3sIyAls65hglSwLoFFLUmSVPxkrnE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 12 Jun 2026 15:24:18 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Thierry Escande <thierry.escande@vates.tech>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Alexey Gerasimenko <x1917x@gmail.com>
Subject: Re: [PATCH 02/17] libacpi: new DSDT ACPI table for Q35
Message-ID: <aiwIgrerH933SPbC@macbook.local>
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-3-thierry.escande@vates.tech>
 <afCJTdlBPPyWEejk@macbook.local>
 <1781258461.8631fc262581453bbf619ec5b2062170.19ebb4721b0000701b@vates.tech>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <1781258461.8631fc262581453bbf619ec5b2062170.19ebb4721b0000701b@vates.tech>
X-ClientProxiedBy: MA4P292CA0009.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2d::6) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|BN8PR03MB4915:EE_
X-MS-Office365-Filtering-Correlation-Id: c6060590-6028-46d1-7419-08dec885ea38
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|23010399003|376014|366016|4143699003|6133799003|3023799007|56012099006|11063799006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	tfqb7IT6KC3DmwIwyrO6f7uEal5J/MSU63psL4iUYSMtk91CkfQJn8K339uiUzatoga8wffuOUbRHW08TWzte6faxOuV5mDHCG7Y9xhiqcqfgTRiLJEjSz6irLmRV7MzMj+Mxx83Rzn6xpuTVP0xhHQXcv9sI0htKH9nCQvVdfDoTnpfqxpEyuEYHIURDHh2g/FYdML+8fG1TFijDCKbmT5BpUxPXTX1UJAsaT2hCXE5CEdKXe2+URMpGna7F3i1O5OP7tarU3bmvxb9I9isj4HhCzglFE+GoIZeROvHYzsB/vMgjJqHsDr92o+wrs1VQZpZSkKexsrwHE42wSDTypMh0Kiy50kqnDg8JJH1sxUdh9KmiTfluXUw3byzeSBOSHLaqD70aM1Q4CcKGmXaBYAl6EJ3uTj8+lVUogkZ2HTJnlrXUNdGA6V+EsPgPr0bnMvsPb5VKdEppxtzlDesmrprG3lZzEj4FEIohDF/zF+siYsGnXRjvdETk8bKjsaAKGFup5BqBTcpe7zDnyblQxdDeGJObD8cVBLW9cywHACEEaPvidtVTORBbaHrKFOAMHiamT3BGzm5wAsToz/jnXMUtmWwwWrgZ36m6vQD32ILeO3eKDLUB9KghmtnIbZtOUqWiRQkH2V3Vq9bhJoZZ7kaXfCKvDTi4LcBiQQUIHKJ36KsDj+yMXSKyUmUYst0
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(376014)(366016)(4143699003)(6133799003)(3023799007)(56012099006)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cVdScDQ0ZXE5ZlJ0WEpGVFV0dmptZmRwNzZJdjU3ZmlkYVZ4R1lyMTZxdGgx?=
 =?utf-8?B?MUxMSyt5MTZzTWpmMUhMZVlSWEswZ244Vy9vYUdPMFNXUnVKSEFYTFR2cWc5?=
 =?utf-8?B?VHhsdSs1Y25vQ3RmVFZqd0l4dHYvRXhBaHRFcEdXbFkxYlFkM3haNjhYUWN4?=
 =?utf-8?B?Nmx6ekhTc3FUTEdud1ozajJLbUNLRURKVUVkRTB0NktuakM4TTI5VVVJTmIx?=
 =?utf-8?B?Q1FxZzI2ZkJidVBFd1RibHEzTnlnbjJxYXNGWjR4ckFZTy9LbFJjUjU4djF5?=
 =?utf-8?B?K0VkaGxnQjJ0QjM2ZlBObG9QTEp3YVJnSlNMTHk1MG8zN2YwQXVyV0hRVWEv?=
 =?utf-8?B?Z3VpUVo3TkJ5aURzc3dlWGlhT1kvT2xNdTViOEJ0YXROd3NMSTJUWnlZR3NW?=
 =?utf-8?B?QkwwYzJtSkErRHR1eVpoZ3dzajF2NjRjb2U5TXhqRyszclIrS3hsQW5LZzQ1?=
 =?utf-8?B?VEtBRXlhZmdiUlpNWW5oaktwTFZYV01MNEVaL1pOS2I5RHVOa0JXSWpsZ0c5?=
 =?utf-8?B?eThLeTFuQ3BzWWVPQ0dJanFkc2grQ3d2dlNQejc4b0t1YVhHbE9sUDlHTW9r?=
 =?utf-8?B?V21hZTdyWjNKdVhxczdVNDVCWFhOMWVTSUxNN0J4aXN2ZEtHTGoxMm9DTUFY?=
 =?utf-8?B?d1RHOWVmaGhmK0FqUmFjUjhOcThIMzRxeXhWUUhVa0F1cVMxS3hOczFUVzlR?=
 =?utf-8?B?eEhPUzRpSndVWmZ4ZWJIa3pwOWIwdEFaNFppWVZIQU1sNkZNbHVVUy9adktt?=
 =?utf-8?B?VHRCTUI5TmFiRnlxRGkyS1lnTHFGVnJrcXR3ZHUyMC8yMXFOeUtjOWRxSkRT?=
 =?utf-8?B?dGJieGJjSzArcnA1WW4vNjZ5NTlhZ21YYXBUL2lKamZUSXF2SGh6VTVpN1o5?=
 =?utf-8?B?eGM5dzdhOFpIQ0dpeENTRFRSUFpJTTJtbzR0b2hLaUhXcnYxRDV5UUdxYk9y?=
 =?utf-8?B?NG4zQ0VSRktsYWVObEo2UVlnUytPTld5NWpJcHBMUEczemZOaGFjMEcrV1VE?=
 =?utf-8?B?b0pKUTJ6aUJ4WkRlQ3d5NStaY1ZzVW1aQTBHQ3kxRzR0M21xbnYweko4cHNL?=
 =?utf-8?B?UUhJc1BZVlowSHZuRVlJNjFya2ZITllWR1o0c0p5ckZVWTJZUUdFamFRZWxn?=
 =?utf-8?B?QWdlV2QvRXVNS1dzK0tlTDlFWHJURFJUK2hmMGIxNVRyYmZrYlhXblVLVWV0?=
 =?utf-8?B?MVJZRzVZZlR2NGI4ODBSS0tnaDd0M0xvNnY3VDJJS1lHUFlwTkZmVUM5dHBI?=
 =?utf-8?B?UDlraUYrbFVqaGduc0ZIYWYrb2hOUDEyT3hUelhaa2sxSUVGY09uVEd4M3lQ?=
 =?utf-8?B?T05lTVVhNDFsZ2UxNS9wMHJ0RldlMnA2RE1FMmszd0h5c3JsMjF1N0ZLZ1lB?=
 =?utf-8?B?bm42aVFEWXRoLy90ZDV4eHhOeWFieEU5cFVmSUFlN1gxeUNMSEVqeTloMDhQ?=
 =?utf-8?B?dVpWN0NpekJCQjdpS1dBUjVXZnhnMnB3dUgyMkRsRXRWYU1udy90S0syRUl5?=
 =?utf-8?B?QnpKcWhuVEQwLzIxSncvdHIwZ0NqT1pJVTF4MllQaE10TVowZHdON09jN3E5?=
 =?utf-8?B?VnA3T05qeDk4KzFBVCtLVlRxQUNRRWIxQ2xzLytoUDdWOC9JUG5HSTg4ZWZr?=
 =?utf-8?B?ZUFqbStkdWYrQnJKcFFBRGRleitYbGxCanFPVnI1VEJMdFhBazZsVWF4ZzF5?=
 =?utf-8?B?aUMxQ2tjUmxhMEhKYlZSSFo5ZlNjN0lrZlNzWTNKazdiazJ4bCtqMnB3aGZS?=
 =?utf-8?B?VGpUQkFaK1htRGpudENEM2kvOGtpa2Z4TEhKUzEvREMxb0FGc1VpWWFVcmZo?=
 =?utf-8?B?a2RycVlDeWQ0b2VvVlArelVibU81WmJsa1BSdmdFZjh2NmNQUWUyck5XSzNV?=
 =?utf-8?B?ZW14UTduRTlCNGJVRkc2d2JsSnBqMXF1Q2pmcEhNd2owZjFYUHBPeEw0T0F1?=
 =?utf-8?B?UTl2QkNUd0tVcnNiV1VqamxSQ3grMVduMzVsU2k4ZFJDZjBnZUY1VEs5a2Nu?=
 =?utf-8?B?ZVpYS24vdlBFenc0RlJuZlFCRUdBdi80cklYYUM0RkVxWlU1UHRtQ2Jpb0FZ?=
 =?utf-8?B?TlJjVnoxRk85MGsyQlllZ2cva0VBd3M2OVU1VUZNdytRc2FsS0lYSStHTk43?=
 =?utf-8?B?Z1MyaVBsMDBqaXdQK1RadFNtbkdqdVV4MFI3cjZFSlptTGxzVTV3Vjl3TGU3?=
 =?utf-8?B?MkVKcmR0ZGF5SXBSZWMxcmpmYmJOZmxDNVpsSTdaMFdWYS9DVWhNSlhWR1pG?=
 =?utf-8?B?OTJjZ3VaSFp4Z1FPUzBFTG5HaHk1RS9JQThORkRwUkZjcjF2TXA5M1Z6b2Rm?=
 =?utf-8?B?T1c0dnk3TUZoV3JMR0ZpblVUS2VxUEFTQ2NTUVM3cC90Y0FuNlBTUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c6060590-6028-46d1-7419-08dec885ea38
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2026 13:24:22.1282
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wsCW7881iXKkzQKtONYJd4P0gsrOfzkI/rMHXj+8k11sLl0tmaU3MzXJWagrOAqYWfYZqC5TU25Oi4kuZ8Od9w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB4915
X-purgate-ID: tlsNG-16d1c6/1781270666-85B6DD75-E755DFA7/0/0
X-purgate-type: clean
X-purgate-size: 7214

On Fri, Jun 12, 2026 at 12:01:00PM +0200, Thierry Escande wrote:
> 
> On 4/28/26 12:17, Roger Pau MonnÃ© wrote:
> > On Fri, Mar 13, 2026 at 04:35:01PM +0000, Thierry Escande wrote:
> >> This patch adds the DSDT table for Q35 (new tools/libacpi/dsdt_q35.asl
> >> file). It only contains the specific Q35 parts that differ from i440).
> >> At the moment, these are:
> >>
> >> - BDF location of LPC Controller
> >> - Minor changes related to FDC detection
> >> - Addition of _OSC method to inform OSPM about PCIe features supported
> >>
> >> As we are still using 4 PCI router links and their corresponding
> >> device/register addresses are same (offset 0x60), no need to change PCI
> >> routing descriptions.
> >>
> >> Note that '15cpu' ACPI tables are only applicable to qemu-traditional
> >> (which have no support for Q35), so we need to use 'anycpu' version only.
> > 
> > Is the above statement fully accurate?  It seems like 15cpu tables are
> > used with rombios, so the dependency is not on qemu-trad, but rather
> > rombios?
> > 
> > If it's truly only dependent on qemu-trad then we should remove those,
> > as we have removed qemu-trad.
> 
> You're right, the dependency is on Rombios. And I though Rombios was
> only used for qemu-trad, my bad. So it implies to use Seabios or OVMF to
> have Q35 support. Is it something acceptable?

IIRC XenServer still uses RomBIOS with upstream QEMU, for
compatibility purposes.  I'm fine with just adding Q35 support with
SeaBIOS and OVMF, it seems justified to request a newer firmware if
you want to use a newer chipset.

> > 
> >>
> >> Signed-off-by: Alexey Gerasimenko <x1917x@gmail.com>
> > 
> > If the first SoB if from Alexey, the From: should also match.
> 
> Ok, I'll change authorship or signed-off order depending on how close it
> is from the original patch.

I'm not an expert, but I think as long as it's based on a patch from
Alexey you need to keep is SoB first.

> > 
> >> Signed-off-by: Thierry Escande <thierry.escande@vates.tech>
> >> ---
> >>  tools/firmware/hvmloader/Makefile |   2 +-
> >>  tools/libacpi/Makefile            |   2 +-
> >>  tools/libacpi/dsdt.asl            |   3 +
> >>  tools/libacpi/dsdt_q35.asl        | 130 ++++++++++++++++++++++++++++++
> >>  4 files changed, 135 insertions(+), 2 deletions(-)
> >>  create mode 100644 tools/libacpi/dsdt_q35.asl
> >>
> >> diff --git a/tools/firmware/hvmloader/Makefile b/tools/firmware/hvmloader/Makefile
> >> index bdc33a877f..99f045efaa 100644
> >> --- a/tools/firmware/hvmloader/Makefile
> >> +++ b/tools/firmware/hvmloader/Makefile
> >> @@ -78,7 +78,7 @@ rombios.o: roms.inc
> >>  smbios.o: CFLAGS += -D__SMBIOS_DATE__="\"$(SMBIOS_REL_DATE)\""
> >>  
> >>  ACPI_PATH = ../../libacpi
> >> -DSDT_FILES += dsdt_i440_anycpu_qemu_xen.c
> >> +DSDT_FILES += dsdt_i440_anycpu_qemu_xen.c dsdt_q35_anycpu_qemu_xen.c
> >>  ACPI_OBJS = $(patsubst %.c,%.o,$(DSDT_FILES)) build.o static_tables.o
> >>  $(ACPI_OBJS): CFLAGS += -iquote . -DLIBACPI_STDUTILS=\"$(CURDIR)/util.h\"
> >>  CFLAGS += -I$(ACPI_PATH)
> >> diff --git a/tools/libacpi/Makefile b/tools/libacpi/Makefile
> >> index d3d4bc9543..e6c4a3fd8b 100644
> >> --- a/tools/libacpi/Makefile
> >> +++ b/tools/libacpi/Makefile
> >> @@ -11,7 +11,7 @@ endif
> >>  
> >>  MK_DSDT = $(ACPI_BUILD_DIR)/mk_dsdt
> >>  
> >> -C_SRC-$(CONFIG_X86) = dsdt_anycpu.c dsdt_15cpu.c dsdt_i440_anycpu_qemu_xen.c dsdt_pvh.c
> >> +C_SRC-$(CONFIG_X86) = dsdt_anycpu.c dsdt_15cpu.c dsdt_i440_anycpu_qemu_xen.c dsdt_q35_anycpu_qemu_xen.c dsdt_pvh.c
> >>  C_SRC-$(CONFIG_ARM_64) = dsdt_anycpu_arm.c
> >>  DSDT_FILES ?= $(C_SRC-y)
> >>  C_SRC = $(addprefix $(ACPI_BUILD_DIR)/, $(DSDT_FILES))
> >> diff --git a/tools/libacpi/dsdt.asl b/tools/libacpi/dsdt.asl
> >> index 130826fdcc..dc764881c9 100644
> >> --- a/tools/libacpi/dsdt.asl
> >> +++ b/tools/libacpi/dsdt.asl
> >> @@ -201,6 +201,9 @@
> >>                  #ifdef MACHINE_TYPE_I440
> >>                      Name (_ADR, 0x00010000) /* device 1, fn 0 */
> >>                  #endif
> >> +                #ifdef MACHINE_TYPE_Q35
> >> +                    Name (_ADR, 0x001f0000) /* device 31, fn 0 */
> >> +                #endif
> > 
> > You possibly want to do:
> > 
> > #ifdef ...
> > #elif defined(...)
> > #else
> > #error ...
> > #endif
> 
> Well, the iasl compiler doesn't support the defined() directive (at
> least the latest Debian version from 2025) so I'll rather use something
> like:
> 
> #define MACHINE_TYPE MACHINE_TYPE_XXX
> 
> #if MACHINE_TYPE == MACHINE_TYPE_XXX
>  ...
> #elif MACHINE_TYPE == MACHINE_TYPE_YYY
>  ...
> #endif

Oh, I see, I wasn't aware of it not supporting defined() when #ifdef
is available.  Kind of weird to support one but not the other.

> > 
> >> +    {
> >> +        /*
> >> +         LPC ISA bridge
> >> +
> >> +         PCI Interrupt Routing Register 2 (PIRQE..PIRQH) cannot be
> >> +         used because of existing Xen IRQ limitations (4 PCI links
> >> +         only)
> >> +        */
> > 
> > Right, and PIRQA..PIRQD is already defined in the generic dsdt.asl.
> > Might be worth mentioning, otherwise the block looks incomplete.
> > 
> >> +
> >> +        /* LPC_I/O: I/O Decode Ranges Register */
> >> +        OperationRegion (LPCD, PCI_Config, 0x80, 0x2)
> >> +        Field (LPCD, AnyAcc, NoLock, Preserve) {
> >> +            COMA,   3,
> >> +                ,   1,
> >> +            COMB,   3,
> >> +
> >> +            Offset(0x01),
> >> +            LPTD,   2,
> >> +                ,   2,
> >> +            FDCD,   2
> >> +        }
> >> +
> >> +        /* LPC_EN: LPC I/F Enables Register */
> >> +        OperationRegion(LPCE, PCI_Config, 0x82, 0x2)
> >> +        Field(LPCE, AnyAcc, NoLock, Preserve) {
> >> +            CAEN,   1,
> >> +            CBEN,   1,
> >> +            LPEN,   1,
> >> +            FDEN,   1
> >> +        }
> >> +
> >> +        Device (FDC0)
> >> +        {
> >> +            Name (_HID, EisaId ("PNP0700"))
> >> +            Method (_STA, 0, NotSerialized)
> >> +            {
> >> +                Store (FDEN, Local0)
> >> +                If (LEqual (Local0, 0)) {
> >> +                    Return (0x00)
> >> +                } Else {
> >> +                    Return (0x0F)
> >> +                }
> >> +           }
> >> +
> >> +           Name (_CRS, ResourceTemplate ()
> >> +           {
> >> +               IO (Decode16, 0x03F2, 0x03F2, 0x00, 0x04)
> >> +               IO (Decode16, 0x03F7, 0x03F7, 0x00, 0x01)
> >> +               IRQNoFlags () {6}
> >> +               DMA (Compatibility, NotBusMaster, Transfer8) {2}
> >> +           })
> >> +        }
> >> +    }
> > 
> > This seem to match the blocks in QEMU, so it's likely fine.
> 
> I'll add qemu copyright header
> 
> Would that be ok under the original copyright notice ?
> /******************************************************************
>  * Q35 part heavily inspired by q35-acpi-dsdt.dsl from Qemu
>  *
>  * Copyright (c) 2010 Isaku Yamahata
>  *                    yamahata at valinux co jp
>  */
> 
> 
> Regards,

Seems fine.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 13:54:04 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 13:54:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336704.1598492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY2Kc-0000Fs-9z; Fri, 12 Jun 2026 13:53:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336704.1598492; Fri, 12 Jun 2026 13: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 1wY2Kc-0000Fj-7C; Fri, 12 Jun 2026 13:53:58 +0000
Received: by outflank-mailman (input) for mailman id 1336704;
 Fri, 12 Jun 2026 13:53:56 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@swg.vates.tech>)
 id 1wY2KZ-0000FZ-Vr
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 13:53:56 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY2KZ-005lo7-7C
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 15:53:55 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@swg.vates.tech>)
 id 6a2c0f6b-bab6-0a2a0a5309dd-0a2a45048a08-16
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 15:53:54 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@swg.vates.tech>)
 id 6a2c0f72-1dec-0a2a45040019-b9ff1c12aaa9-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 15:53:54 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebc1c488b000701b.006 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 13:53:50 +0000
Received: from l14 (lfbn-lyo-1-414-55.w2-7.abo.wanadoo.fr [2.7.24.55])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id EFF44862B9;
 Fri, 12 Jun 2026 15:53:49 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=JKAhfHm45xgN+zuaajomOoi8u+WopSFAKpFnKCugNVw=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:feedback-id;
 b=UTR88RPWhFVWP/9UUmhDDgUvU5KaZ0WN49q2+NqZ+okbxXDjIjD7AC9vr9TZWe66iSYu7URzz
 y8s8Xl4KDgn4qYExB0y26ujdF5U7hnV1Y8wz3Ynsia/kuF+Is8lSfvGeqg31TAGova61jGboX0d
 EHLDqolZKJPxNSZqGSLqPEYIxp18895MvQMKySImcNE5sgt5YO+qwdzXx7Fbq6VN9OZzU8eHc1U
 2R5H8zV5P35KWGEorlJkQIpAnqSD8CNgeL6PAEiyHBq2JTQ//G82QmuTj2ejKC9xmLvF69E3Tce
 vfqAeIOi7ewEL5MJnNTNbRvO27N2zb52oH6RKfydKS8g==
X-Zone-Loop: c04c46054b1c8ccc98d0239195b3f45d6192c06217bd
x-campaign-type: default
x-transaction-id: 770cb325-bec6-41e4-a8aa-cc17f1f6f1ac
x-swg-uid: 01-c865852e-4bb7-4142-a3a2-d360a972b00c
X-Mailer: Sweego
Message-ID:
 <1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@vates.tech>
x-swg-bid: 1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 15:53:49 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: xen-devel@lists.xenproject.org
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>
Subject: Assertion '!is_idle_vcpu(v)' failed after 'Remove fully_eager_fpu'
 commit on EFI
MIME-Version: 1.0
Content-Disposition: inline
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.11d.be8f80ee35e09593.19ebc1c4631.b71200c26bd7ce99=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781272430134
X-purgate-ID: tlsNG-ebf023/1781272434-435683FF-2F82C22B/0/0
X-purgate-type: clean
X-purgate-size: 1488

---=Part.11d.be8f80ee35e09593.19ebc1c4631.b71200c26bd7ce99=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hi,

Since commit dba44e051209 ("x86: Remove fully_eager_fpu"), I can't boot
a machine and get assertion '!is_idle_vcpu(v)' failed instead=2E It's
netbooted and EFI=2E

Xen call trace:
   [<ffff82d04033da2c>] R vcpu_save_fpu+0x65/0xdc
   [<ffff82d04029c5c4>] S efi_rs_enter+0x37/0x16a
   [<ffff82d04029c7e3>] F efi_get_time+0x19/0xb2
   [<ffff82d04047cbf0>] F init_xen_time+0x1e3/0x2b4
   [<ffff82d040477a49>] F __start_xen+0x1d71/0x24b8
   [<ffff82d0402043e7>] F __high_start+0xb7/0xc0

Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387=2Ec:195

A few more lines from Xen:
    CPU Vendor: Intel, Family 6 (0x6), Model 86 (0x56), Stepping 3 (raw 00=
050663)
    Bootloader: GRUB 2=2E06
    [=2E=2E=2E]
    Enabling APIC mode=2E  Using 2 I/O APICs
    ENABLING IO-APIC IRQs
     -> Using old ACK method
     =2E=2ETIMER: vector=3D0xF0 apic1=3D0 pin1=3D2 apic2=3D-1 pin2=3D-1
    TSC deadline timer enabled
    Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387=2Ec:195

Commit this Xen is built from: 50936ea05660=2E

full logs at:
    https://paste=2Evates=2Etech/?bd8a9a0955798a97#A1DU2efwUt7bbHQUxdo9UXG=
csJ2XPNJNZHPz87LqLtcF

Thanks,


-- 
 | Vates 

XCP-ng & Xen Orchestra - Vates solutions

web: https://vate=
s=2Etech
---=Part.11d.be8f80ee35e09593.19ebc1c4631.b71200c26bd7ce99=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 14:11:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 14:11:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336722.1598513 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY2bg-0003R6-OO; Fri, 12 Jun 2026 14:11:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336722.1598513; Fri, 12 Jun 2026 14:11:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY2bg-0003Qz-LF; Fri, 12 Jun 2026 14:11:36 +0000
Received: by outflank-mailman (input) for mailman id 1336722;
 Fri, 12 Jun 2026 14:11:35 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <marmarek@invisiblethingslab.com>) id 1wY2be-0003Qn-Vj
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 14:11:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY2be-00AaIS-8b
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 16:11:34 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a2c137d-e002-0a2a0a5209dd-0a2a4504a456-36
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:11:34 +0200
Received: from [202.12.124.145] (helo=fout-b2-smtp.messagingengine.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a2c1394-1dec-0a2a45040019-ca0c7c91a9d1-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:11:33 +0200
Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42])
 by mailfout.stl.internal (Postfix) with ESMTP id 573D31D0007C;
 Fri, 12 Jun 2026 10:11:32 -0400 (EDT)
Received: from phl-frontend-03 ([10.202.2.162])
 by phl-compute-02.internal (MEProxy); Fri, 12 Jun 2026 10:11:32 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 12 Jun 2026 10:11: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=1781273492;
	 x=1781359892; bh=l6jzSGl+s4AtdvzahfnOVQLQnnhqkbCrmUN9XCZVM5Y=; b=
	quWf7yjulaepvf1MPW3YgW0c+FHBPzh/oJ13N7SJVX0z2ZYXtWNFv/hwKXVU3MAN
	oXSjBe5ai0hG8/MashcHw92IIO9oSg2iv8SSOOf5nlZ0TgTe9jtpITxBlh+Erk4z
	/rhEXnboaKjTTepWOTbeQE7aRR0eOmosGnYGcwUZ/9fjPQwG5GJANgCfI6W48394
	azFpb7PaBCLbU21eWgUecw+kSrD2ZU7khpKW2vJVBSpjhN0a3nDeatuL4FyTyqxL
	Bdzb0AgmMpfnvWs8ce4PH6qdbMzNPuFU36PD7cyPM2hPqrbrNf+DakznaArdR07Y
	RuLmNoFb807jqm2JxBbyUA==
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=
	1781273492; x=1781359892; bh=l6jzSGl+s4AtdvzahfnOVQLQnnhqkbCrmUN
	9XCZVM5Y=; b=g5i6YJkyW7wz4uP3EOdhb33HBUsyaZMX52vXV5q3rBe9wOYbzLF
	CZuoe3iqs5vW27NDg4GAfnu3hYNWYGqg+2MYYCu9ZpiYtARTAIyF7pN+ura/s4Is
	21cSWbesX9PF8wcaOlkzxHBJ8yRTPxtOk+FEbRx7sfznTBu7wNh3D8lHwAeC2boB
	W5MEi97YkYkeC1L1RMzOkqwJChgh/3uQX+a19wez+N2mOL4DCx7S0D6EIG6Sl8vl
	8a3c/0ONtUcsmRtmP/Z3kSkqCSJsDoQhEE8ri2sdqiVzwoIW00XOnfxzOlxml240
	AI3TdTX3BdAZ41jAHPpxY3V1piB+XmA4XIg==
X-ME-Sender: <xms:kxMsanNVJOy7_Y4zrcjfMpc8f4eHlPTBiYehbyUQy2XSkgnJBOJ9cA>
    <xme:kxMsakO4D6_OJHKUSJ-ltWWiB_yR9N8FtZueLmLddzZsiL7TEOKZG_5dF4Th_S5z-
    U7l62f5SYAaASCBDpplpEbwi2KUKvXqYritEt-g2jMQwF4TWQ>
X-ME-Received: <xmr:kxMsaoiCRYySAQLXpg3mSMYR4bwynYgXXYL2k4JRQuDvt4MG0ZMhmDcyBFu0oQ_HmYI8dyTkg_POE8VEoW8cbAQzDuFvo-HJliA>
X-ME-Proxy-Cause: dmFkZTFigTBUpaLR2tcSzHKlAOkvckFZwQByWYg9y9csNkUGwtJW1wAxyEJjzQUQM8hcK1
    zbrIT6QesyYqKH9AAJaEluP1d9+04zH24W1gISezB+ejf7A3EV2HZCS5qW6okBL6i4LNfw
    +EUDCUiv42xC2B1C+lnWdmMFVWNRLX6AC0p6pfp/94CecTq6odKwDg9q9ss4FwLVsNI4it
    GUSUr7/Rs4jR8WGKbf7heb7PrzL7fbnj0FhJ6AXfWvCOazpciqwkwI1kvjaWqzJhirl8pF
    6bI75Enp/qYyed13gfroGxMDWSLlyDQcyBKMOcQYRZL+BJCQhi+Kw2l1cy/Sj/N+XZ01Wp
    OZF8sutPh5Jjyee91Y7ljcDviEXTN2IrUW7n2zMPb1l5c6/nxAT7bJ0CUXZAF374dgIgeY
    HEPMCoJD6H+vhd7rRjx3be6OXCt9tIDNHy0EnQtWJ2x/GchX/Eo8OE3CB1JfvfuaOFwxCV
    pyMlAy+35JJd2X0C4DmSjvTNipWX1ckKw649vhFvd1ukAmyPJXcjo0++pqjWth6uAHjN8m
    lHj5ZY6KJn7oE4RPYSOuk65Ss149UKgqcf5qDuOx5hF5m1OjLAJq0e8Dy6EbnQ4qZ2Gr/+
    AcbXL/qjsFTSHM8zojEUMoVpLNIJqL8HDvueHmzGHphMAUzG02DRblrGQFVA
X-ME-Proxy: <xmx:kxMsahsy7gBZahdWjlLsYZpSFUCBcRtDEOTMfOIV-V9nXlK7Bbz_3Q>
    <xmx:kxMsauRrCEkAPiKPZyveePFBWIrHuUKzz3EmcDWGGRz2psf5O0TsZA>
    <xmx:kxMsat0nAipLrHgEeGmMG1zS1tLq_FFnuFhGSHm8MslURc7KnnFCrA>
    <xmx:kxMsarviUawThyUZ54Ept-MbUeL8wPuw6gS328mrRDrguJ4acaoRKA>
    <xmx:lBMsamnMXR4-D9W1FnTAbjPbqKGJlBWa4OJy_7HpPFJoHnu_kswx_peb>
Feedback-ID: i1568416f:Fastmail
Date: Fri, 12 Jun 2026 16:11:28 +0200
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,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: Assertion '!is_idle_vcpu(v)' failed after 'Remove
 fully_eager_fpu' commit on EFI
Message-ID: <aiwTkDUP6rDPbV6R@mail-itl>
References: <1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@vates.tech>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="qUR8gW28j25bAxkM"
Content-Disposition: inline
In-Reply-To: <1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@vates.tech>
X-purgate-ID: tlsNG-ebf023/1781273494-28F753FF-6DCADA5A/0/0
X-purgate-type: clean
X-purgate-size: 2907


--qUR8gW28j25bAxkM
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 12 Jun 2026 16:11:28 +0200
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,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: Assertion '!is_idle_vcpu(v)' failed after 'Remove
 fully_eager_fpu' commit on EFI

On Fri, Jun 12, 2026 at 03:53:49PM +0200, Anthony PERARD wrote:
> Hi,
>=20
> Since commit dba44e051209 ("x86: Remove fully_eager_fpu"), I can't boot
> a machine and get assertion '!is_idle_vcpu(v)' failed instead. It's
> netbooted and EFI.
>=20
> Xen call trace:
>    [<ffff82d04033da2c>] R vcpu_save_fpu+0x65/0xdc
>    [<ffff82d04029c5c4>] S efi_rs_enter+0x37/0x16a
>    [<ffff82d04029c7e3>] F efi_get_time+0x19/0xb2
>    [<ffff82d04047cbf0>] F init_xen_time+0x1e3/0x2b4
>    [<ffff82d040477a49>] F __start_xen+0x1d71/0x24b8
>    [<ffff82d0402043e7>] F __high_start+0xb7/0xc0
>=20
> Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387.c:195
>=20
> A few more lines from Xen:
>     CPU Vendor: Intel, Family 6 (0x6), Model 86 (0x56), Stepping 3 (raw 0=
0050663)
>     Bootloader: GRUB 2.06
>     [...]
>     Enabling APIC mode.  Using 2 I/O APICs
>     ENABLING IO-APIC IRQs
>      -> Using old ACK method
>      ..TIMER: vector=3D0xF0 apic1=3D0 pin1=3D2 apic2=3D-1 pin2=3D-1
>     TSC deadline timer enabled
>     Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387.c:195
>=20
> Commit this Xen is built from: 50936ea05660.

Interesting, the efi_get_time() way is nowadays a fallback if cmos one
isn't advertised. Can you try adding `cmos-rtc-probe`?

Anyway, surely it shouldn't crash... The commit you mentioned has "No
functional change intended", but well...

> full logs at:
>     https://paste.vates.tech/?bd8a9a0955798a97#A1DU2efwUt7bbHQUxdo9UXGcsJ=
2XPNJNZHPz87LqLtcF

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

--qUR8gW28j25bAxkM
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmosE5AACgkQ24/THMrX
1ywrVgf/fv+h2l6T2FsC3xZhUccitKvcZcuGLKL9NW20PeahUhmzoBvwZ9dj5CSU
k/mYZsWQaw/MTcpphuGpdf4IagVmz8rE8cyb9OBIu/65hxAh9oUH3/e8QqsGIFdc
Te4ZLruD3K9S4N8KfB1ZFGsK5I1aXQCDt/8DKro7+cpQIcJ3AhwtU7ZB5q0R0DFN
tgGvA3Xe05YVREv48lZh9U3becL7Oq0vC14sAqJkeJFyb5RYO4LDEEJFttSNO4NJ
h+4mdPvyxcVjEwSxWcQbV0hFh7qQgoNmrrqw0oJHJkE/ggDErZ+2MVWxVEXKakHP
0fjJKS/6Yw1KH22SOGsM1q3KUv2Rog==
=Xoe4
-----END PGP SIGNATURE-----

--qUR8gW28j25bAxkM--


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 14:17:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 14:17:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336734.1598522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY2h5-00042y-E3; Fri, 12 Jun 2026 14:17:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336734.1598522; Fri, 12 Jun 2026 14: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 1wY2h5-00042r-BQ; Fri, 12 Jun 2026 14:17:11 +0000
Received: by outflank-mailman (input) for mailman id 1336734;
 Fri, 12 Jun 2026 14:17:10 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wY2h4-00042l-2b
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 14:17:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY2h3-00GOO3-C5
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 16:17:09 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2c14e5-2eae-0a2a0a5409dd-0a2a45038a58-0
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:17:09 +0200
Received: from [209.85.221.48] (helo=mail-wr1-f48.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2c14e4-672d-0a2a45030019-d155dd30c4a5-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:17:09 +0200
Received: by mail-wr1-f48.google.com with SMTP id
 ffacd0b85a97d-45ef1629ff4so707711f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 07:17: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-4606f2c3782sm5772223f8f.25.2026.06.12.07.17.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Jun 2026 07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781273828; x=1781878628; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=6T1/4sCoiuJrs0VOXsIiGjvm15JnE3yFgp6zRo6K2n0=;
        b=Ymqhw4KhOMYjuKx7FelxgMz8OAQhtzEKt0/lcgZqDGBeup3OswqHnXsps8WvxrhqMp
         Q4vuuCYzv2/aVSB1XCYJZgqUfCA9LMbhvh/RsTdwCZZcks8VvusdvvRDZauNYvoxVfUy
         cbiJZ+7W+CUJRJcP3SbNeG4apeCPq4zwCBGkmTxsZOz81AMIiRA3Ao6vkH1voVIcJE/q
         4Lw/878W/SI4Y1t00Cnv35Dbs1RRiw6zlMKV+rFXw45dz3Yc6FGhd8nHfUimsUT3xuCW
         M6PiQweLHbDLxW50MKDMxRytvuJLy+wdnXovkqFL9qpll72mQspJXJ9h0ecZOvYOiRMx
         w2LA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781273828; x=1781878628;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6T1/4sCoiuJrs0VOXsIiGjvm15JnE3yFgp6zRo6K2n0=;
        b=FO8txGJpmdWz/EQoeSJe3bdOi2+eebpzuNe5rH4v8FJlo40ja0scn8Mn4AeqpNUsDg
         7CxBks5dzhplPMV7Md98kcGAt6gZlJmOsUjcbet/I91tG56OR+l1FC8E6WfbvE4VIqVF
         U0hey/9BRnms6+f4KSIV434IhUYr8WE1GLob3EVoH7Zi2QdHJN9k+VXHMRZg5KoePYLq
         z+O00ZBm6SALRuoYP/7cQYwP0qF42iodupR+mQ0MG975rcH6TTTz9xce+GrX1zxQwYxG
         jLsW1NMU1c3lrb8W1Qyp1vJYqBsUqwE96YfT8ucMx+v/eY+H52fdjbl5DWN2d82AMMaG
         GWHA==
X-Forwarded-Encrypted: i=1; AFNElJ/EKvDvlh6Vb155qj+jTjnPzNdS0it9SDDpk9o73LcWqfdrswYf/hoEzKfNMUH/kbXmXk3Zlae76hM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzwSaZjoJeCvPYK9crTVNdOVhGKlRkxp5l2gmdtG/Rwlf9IIAlN
	21LxzorbwMqIqvPjd7Ceh9871OOu8fA0Vif7d5fNW2hCRfJRNN8b2ZscQ3Em9Dhmyw==
X-Gm-Gg: Acq92OFfUoFnz+peybmRs5E5c2Wu8OqGO6RYvXxvrbbh0FdZULQvW7yXiokErAdqPce
	icYR09FEH6GdES4r3DoB454T54Qz1mpqaFEjFBxGJejq2WMDE76L2iZXN5H5x5PbO4H+9EU8/+p
	HM9jgqst2S0ik0pkYQSFj7mPcqTV55oy78e5eau2PfZjLdp7hp1LdK7g1twnkyqbRkzPNPuknJ9
	Hg03pj/hDl+l3xKxQRHh/AAg1YzwAie0ZzRFqzF0pJjjCYgj9+f4YWHi1kkEuFqQEECjFja2uKK
	Fus1PvgfzJPrVopQnMWyp/n4T/G1n+3LHqvw6ftFnmOWoCfQJIil95OZvpiq/YkZA+dyJGUz2AO
	fDzf1uZmeRGHbDRpm8y/wPM7cQ5vLfzQKI96kxvdATJPLx7Dyz5KYAD2va3DqC5SvJA+RXAOKuS
	nhYQiWoafwyufWPXYz7HewZFOvipRbbP+X5/K81Rvus3AslKI6rjcSohqB9T0MVTdnQpkFtD1Gg
	UwX0SRGaJGxIw8=
X-Received: by 2002:a5d:4b52:0:b0:45e:f780:6177 with SMTP id ffacd0b85a97d-4606da70d8amr3568009f8f.18.1781273828320;
        Fri, 12 Jun 2026 07:17:08 -0700 (PDT)
Message-ID: <957a0fea-4099-4470-9b40-3f8b294c44dc@suse.com>
Date: Fri, 12 Jun 2026 16:17:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Assertion '!is_idle_vcpu(v)' failed after 'Remove
 fully_eager_fpu' commit on EFI
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: Ross Lagerwall <ross.lagerwall@citrix.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>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1781273829-36945938-DD14015E/0/0
X-purgate-type: clean
X-purgate-size: 1198

On 12.06.2026 15:53, Anthony PERARD wrote:
> Since commit dba44e051209 ("x86: Remove fully_eager_fpu"), I can't boot
> a machine and get assertion '!is_idle_vcpu(v)' failed instead. It's
> netbooted and EFI.
> 
> Xen call trace:
>    [<ffff82d04033da2c>] R vcpu_save_fpu+0x65/0xdc
>    [<ffff82d04029c5c4>] S efi_rs_enter+0x37/0x16a
>    [<ffff82d04029c7e3>] F efi_get_time+0x19/0xb2
>    [<ffff82d04047cbf0>] F init_xen_time+0x1e3/0x2b4
>    [<ffff82d040477a49>] F __start_xen+0x1d71/0x24b8
>    [<ffff82d0402043e7>] F __high_start+0xb7/0xc0
> 
> Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387.c:195

The thinko looks to be in 4b9851c64522 ("x86: Remove fpu_initialised/fpu_dirty"):
While vcpu_restore_fpu() indeed unconditionally set the two boolean fields to
true at that point, idle vCPU-s may never make it through that function, and
hence ->fpu_dirtied would have remained false, triggering the (original) early
exit from _vcpu_save_fpu(). Perhaps all we can do now is guard the call to
vcpu_save_fpu() (and also the one to vcpu_restore_fpu() out of efi_rs_leave())
by explicit is_idle_vcpu() checks. Much like the calls are guarded in
__context_switch().

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 14:18:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 14:18:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336739.1598531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY2i2-0004Wn-Mz; Fri, 12 Jun 2026 14:18:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336739.1598531; Fri, 12 Jun 2026 14:18: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 1wY2i2-0004Wg-Jd; Fri, 12 Jun 2026 14:18:10 +0000
Received: by outflank-mailman (input) for mailman id 1336739;
 Fri, 12 Jun 2026 14:18:09 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wY2i1-0004WY-2S
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 14:18:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY2i0-00ABGq-FX
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 16:18:08 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2c150f-bab6-0a2a0a5309dd-0a2a450ca87c-26
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:18:08 +0200
Received: from [52.101.85.4]
 (helo=BYAPR05CU005.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2c151e-62f1-0a2a450c0019-346555044e53-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:18:07 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DM8PR03MB6230.namprd03.prod.outlook.com (2603:10b6:8:3c::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.15; Fri, 12 Jun
 2026 14:18:04 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0113.013; Fri, 12 Jun 2026
 14:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hSuKrPGrQrvULz0UO8JnS/9hQ3VAAwYP3UQTPrh0OQf2Ixg98FADoW6MVs+h+Mou0eNvukI2vPOfd9cOES+x0QBQUH2z86zt2Zt7re6G4J/zW0eUo4S3faGWAA4ZafNfI+xUQ4erRGt7zGf707LXMzfQHNsYOpFgoilNON0daxfkbv0AFVwxnmCPZ+T5z59jdqBUnGgZLB6TKGQDVksKef/vcF+FICpjDrX2AsHUlhGhnsLeNoenNsZ70dRT8/kOT8RWu6TtfUR8S/2X0i2CXGtVWDE6Sk/x8LlcagmM2u/+JVDGQlrL/srpcJT3IDoFdUzQlsDtUhIIgTHWkUlalA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=p0gG+fJ1x6Ao3ieM5tuU9q/ptCYrVf7uPi+upNT6piI=;
 b=YMk1XlZvmPcUyih0adKLQn5bEc5TXYt69mNSIrtlOMG9awDHYWJVNODDzfECpH9SwZ2zQrugZGouv+B9PXUmKCR6ouWwq16OEnRpr/wRztBvqJNNGe6/uwDa6SmPwcZIumV2n8h41MVWIVXIN7lRrNalc25V2vmPRCF080X36oOtC4c9PpZe3jqoL5CiKJKJ67M9TY3j5TBLiMFr67i59mvMiNg/PXak6HqgrAbKphfCJhtgZLohlrCOZqraikdD5ez58AXWakunJ38ghigJH52TchLTLMZAjAwlvM5/haR4p5ABN+DQeZKxP2swKI2IuPyznpT5cNcAdl6gKHDuvw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p0gG+fJ1x6Ao3ieM5tuU9q/ptCYrVf7uPi+upNT6piI=;
 b=tLDBpulLGz+8XycTQtzdsrDh0ON94KuKFY4FPQx3WXVDpHuYAyyLMj0x5rrIu/aVOWbF+IxcP7DgbbD9BGbLCYpRMSrOCa9/BoM7dzEo8yDARkpPhGMjX2i/gUCU/dIIMDpUwtehwzR5yMZQYMPFyZlFsiqU+U97AuaA/VYyces=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <0db98119-48f3-4edd-a422-8e50ee713b7c@citrix.com>
Date: Fri, 12 Jun 2026 15:18:00 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org, Ross Lagerwall <ross.lagerwall@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: Assertion '!is_idle_vcpu(v)' failed after 'Remove
 fully_eager_fpu' commit on EFI
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Anthony PERARD <anthony.perard@vates.tech>
References: <1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@vates.tech>
 <aiwTkDUP6rDPbV6R@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: <aiwTkDUP6rDPbV6R@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO6P265CA0011.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:339::17) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DM8PR03MB6230:EE_
X-MS-Office365-Filtering-Correlation-Id: b5cb2a2f-5473-40eb-648f-08dec88d6ac4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|376014|1800799024|366016|56012099006|5023799004|11063799006|4143699003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	qhXaiy0JyZDsFwi8lvJD9jFyJAp2s2KWaDOeyv6RAB4xnOV4BiMro4rNHO7fSKYUmWFKv85StrvjtKVTkPPEkTGvFK8sHoDJ70yF9YKKDGkdKnTGl2WNXaqqJJdau55N0WeUNQrRVX1SbnSJazlVhnsuDwujtIP6FCrymVOu8b3TadIaHKJMzQ1GPCZaw00rzaRaihjvYbwNSygbRdwk+cA49R7QB//ZcVJlsk5F1scEZTz9rlk1QLZvjAYrsYmn2cvSeiu6I6+PqRH8cAtrpUqtowgjaX6H5MjHgNE15MCPyY24V664x+96Zq0qMfpNAa60qX3z7ewti135Jjfdm3LWT4KrlPG4p7+3hkhKatnWBxMQXOWd/AhIfZhiJ5QPtQ1z3Th3j6mUJisidRU7K8aRjwAJsxucE95VE9Y58UAEtVQeuLtGw4p2fD7/ZOpP0FXKXD1bwp/SZAjtNCKtr1Gl87A2w/gHwNGDzbCLnMIssP3P7DmcMMqxj7Nlv68YuFoSWC+slw0JevPh57heGdWtDuOMJ5POe9GovXOz00C1Yr1v+1Nc1YPo4ruDb0VU9dAY5L+1P2mHf9OyZ3kGpUEj9Xf/hDSZRyMfyHzArPEYFi5DynbP8MTW+We/TdJPvu2G2HKaV2gQJOhZmmxBBo1WYSSpOmcObvganEjOtY32jstnPAqpyCbifQo72UKE
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(1800799024)(366016)(56012099006)(5023799004)(11063799006)(4143699003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WXE4d3YxUjJYOTF6aGFIR1VyalRrTGx2VVV4T0ljWEtlYVBoUThRWk5HQjlu?=
 =?utf-8?B?bmx3ZU1xMnY2UFJWMy9jUXRTa3BRYktUa0UvbXJiRXY3VU1sYUdyYWRLS3FC?=
 =?utf-8?B?dkJPOTVTeFpKVlFOV1FUeTNZQTZLNUlwWm9QUE1YYjl2QVRRdmVFTXUrMWJW?=
 =?utf-8?B?eDZ0YUdjRjRpT2RjQUE3RTYxVXUvVjUwQ3UxbDVwUTBJZXZNbGNSVndMb2pO?=
 =?utf-8?B?cjMzNlF1cnc5RjQrT3NFWnFoaWRKS1g5eFlTK3Y3UkhHcjhHa2cxNElrZnZG?=
 =?utf-8?B?eGdINFlTaFRNTngyS0V1Q1dzUGxSSVl1RmFMcWZ1WDU5aGdoTTRrSzJRZGZi?=
 =?utf-8?B?NUJTNTB3eENvYmhsTFQ3THNHNWdqN2x2eWZuVEQ2QXdRZHMxdG9UUUZQd0Zi?=
 =?utf-8?B?b01Jd1cwbzVKcHUwcCt2ZkJWTUhyY0c2cmNuMzZGUlhkb0VLT2YvUzFEZHk1?=
 =?utf-8?B?TGtkMXQ4c2JJUHpNUHZ0Mm9kRzhEQkxSZm5mSkNndW9qaFJrbWVwaWJMVmw5?=
 =?utf-8?B?UkpyKzJ0MzJlRHB5QkVBdlFZZE1VckNqNzVzdVNnRnlsTDA0OVpFaGtDTUxi?=
 =?utf-8?B?c1FDZExBU0lNUWdtMk11RGs4Q0RiUG9EbEUxMkRGWnNieTlEeHYydFlxdTJH?=
 =?utf-8?B?aFhOazZEOWFTL2JRNVhJb1F6RDdMZVhoa1lUMElhNit0NWxvKzhvZnU5SHJp?=
 =?utf-8?B?WG5hUjdGWE1WeGdUQUlETmhIb2ZDcEJzZ3gyckt4MGxUMU1ONmRWMEV6TFo1?=
 =?utf-8?B?ZncyZUhJVFNLVGQzODR3N0VpUDZZVHFoR3dkblNNNDMvTmNOdUh2Y2s0YTFK?=
 =?utf-8?B?cDAwcHpkVTZaZk4xY0FpTnRHTktPbEtWSm5kNDB4RENpNW9ETVBjR25rZllZ?=
 =?utf-8?B?OUdBU1NnN1lXNno0d01sVHU1SXVyNk1rTFExR2llbmpLTHRKbHZhUEVRa3JN?=
 =?utf-8?B?a3dmb1pBaEp1bGhVYXhZWmp1Snk4Yy9HbGVwbHN5R0FWd3FTaEMyLy9BQ1U2?=
 =?utf-8?B?QlB3NkZFSnlkT05GZXhYT1UrL0ozMEZ4ZzdEQ0xURTJLLzVXazJSNHl5Nkgr?=
 =?utf-8?B?QmNWSjBZaUc5Sm5BaTg2WU83aXdSeGtrN1dwSFV2SHpNY0g0aUR6ejZlZDdQ?=
 =?utf-8?B?eUVQaGl1Z20rYmx5b1lwb1A2UTVoL1FKOGdSMjFpVDZ2SWpKd3VFQzNYTWhV?=
 =?utf-8?B?QzUwQUhtM3lNL3VBcHdwbFdlQ1dIbEtvTS84T3lSYU03RWU3UGZGT1VCZmpD?=
 =?utf-8?B?K3p6SC9SYURzazNHdjNiM0t5OFNJakZWdEZUcWkvU0FBazJnRDE4NzVSMExO?=
 =?utf-8?B?dzc4bzNUOFVwNi9WTG5YZjNXeTV0c3RlQkNCR0t2MWdLNW9Ubnp1Z2dmSndF?=
 =?utf-8?B?enpncy9QVExXVmxwODExSHRGb1NhUHlsOVN6NjZjTHgrTDB5Tnk1NGFDUWI2?=
 =?utf-8?B?RDNUWUhreWZKRnhKQXZONnFsZEF5WXFnTzVjcmN5eUE5b1J3VndWWnRpajk0?=
 =?utf-8?B?VVo4dHZZcTFLQnRCVzMxamEzaFR0NDQ3aWtJbElJajBtTml3bndEZVcvNEs3?=
 =?utf-8?B?ditKVkRyOGJHOU5IUEZ4dklKVDZuVDdOQ2dzNFhSU1VuY0MyWXArSzYyWHZP?=
 =?utf-8?B?MENDMGdDNzJvNVVsUGlFYXFtbmZWMEtTTkN1cDVRZkM0OVIrYVVKczgrQWpt?=
 =?utf-8?B?Q2twQW1SbStlenpVQkxSb01xZHQxTEZhVU00ZU1lTm1FbGdWU21hQU15bDZl?=
 =?utf-8?B?TzVvZitGak9FTi9EZGNZWTUzVnVPKytPd1ZtL2duSUMyTmx5TWxobnlsRExz?=
 =?utf-8?B?czlKYk5ZYVNLNTZPNXEyc3U2ZWNHT2orRkVNTlR0WGFQTS9vUHpZK0NUbVlQ?=
 =?utf-8?B?Kys4SjdtYUN3eGtHRWIzS1RRT04rckY4bkpHWVRoVlBVNmc5Ymt0ZDJyMGNw?=
 =?utf-8?B?WlNrS1lBd3N3ZnZBZWZRMlBFZWd4elUwR3BTWktVczZKOFVRckRCcXhEZXhk?=
 =?utf-8?B?RERIeFBvYXk3bTVUbStDVWdhMTZ4ZE5YZDRTNVFQclZaL2NWdmxnUXBVeTNH?=
 =?utf-8?B?SUYwaU03dFp5T2kvUGNHQmVOb3Y2dElLYzlxdVNibTgwQlc4aFJrby9EQUIx?=
 =?utf-8?B?ZFlBM0ZsQm9DOWNxZlpPVmdVaSt3TjJONVZsWE13RGdDWU5nZFBzSUtWUEVE?=
 =?utf-8?B?R3BtTEU3bndZeHhUTXZYSUk2aU93TGdLaFdRZEtxOXdjVFp3aHh1QklMajh0?=
 =?utf-8?B?d3FaaHlXUTduRllEWUhhc3I1dXhiMW1tRTZRT2hldEx4aExCbDJzdnBTckxh?=
 =?utf-8?B?K3ZBN0R6c1QzS21MUkRaZUpXTVhBYzJqeDZ0ZENaUk12cVdWb3dJbEpnYmk4?=
 =?utf-8?Q?rYzHWS3Q1F320Nuc=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b5cb2a2f-5473-40eb-648f-08dec88d6ac4
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2026 14:18:04.1417
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xaU8iG0pJHC6ZWrcqWzGc43qyjvwnYiEUEKookNYvQVkQWBTJ5YBY3XIJuY8qfkLnvBdtiDYVS7QIjKK/qtuQo1eA1G5mxQocHIJ1LIhfto=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR03MB6230
X-purgate-ID: tlsNG-d25034/1781273888-DA975CF5-D708EE62/0/0
X-purgate-type: clean
X-purgate-size: 1846

On 12/06/2026 3:11 pm, Marek Marczykowski-GÃ³recki wrote:
> On Fri, Jun 12, 2026 at 03:53:49PM +0200, Anthony PERARD wrote:
>> Hi,
>>
>> Since commit dba44e051209 ("x86: Remove fully_eager_fpu"), I can't boot
>> a machine and get assertion '!is_idle_vcpu(v)' failed instead. It's
>> netbooted and EFI.
>>
>> Xen call trace:
>>    [<ffff82d04033da2c>] R vcpu_save_fpu+0x65/0xdc
>>    [<ffff82d04029c5c4>] S efi_rs_enter+0x37/0x16a
>>    [<ffff82d04029c7e3>] F efi_get_time+0x19/0xb2
>>    [<ffff82d04047cbf0>] F init_xen_time+0x1e3/0x2b4
>>    [<ffff82d040477a49>] F __start_xen+0x1d71/0x24b8
>>    [<ffff82d0402043e7>] F __high_start+0xb7/0xc0
>>
>> Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387.c:195
>>
>> A few more lines from Xen:
>>     CPU Vendor: Intel, Family 6 (0x6), Model 86 (0x56), Stepping 3 (raw 00050663)
>>     Bootloader: GRUB 2.06
>>     [...]
>>     Enabling APIC mode.  Using 2 I/O APICs
>>     ENABLING IO-APIC IRQs
>>      -> Using old ACK method
>>      ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
>>     TSC deadline timer enabled
>>     Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387.c:195
>>
>> Commit this Xen is built from: 50936ea05660.
> Interesting, the efi_get_time() way is nowadays a fallback if cmos one
> isn't advertised. Can you try adding `cmos-rtc-probe`?
>
> Anyway, surely it shouldn't crash... The commit you mentioned has "No
> functional change intended", but well...

Well, no intended change.Â  It was a very big patch.

Nothing should ever be using efi_get_time().Â  It's unusable (i.e.
crashing) on hundreds of millions of machines.

So, while we obviously do need to fix the assertion, this is "only"
collateral damage from having fallen into the efi_get_time() path in the
first place.Â  That wants investigating too.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 14:20:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 14:20:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336747.1598540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY2kU-0006Dw-2H; Fri, 12 Jun 2026 14:20:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336747.1598540; Fri, 12 Jun 2026 14:20: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 1wY2kT-0006Dp-Vf; Fri, 12 Jun 2026 14:20:41 +0000
Received: by outflank-mailman (input) for mailman id 1336747;
 Fri, 12 Jun 2026 14:20:40 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wY2kS-0006Dj-ES
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 14:20:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY2kR-005pju-R0
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 16:20:39 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2c15b6-e002-0a2a0a5209dd-0a2a4504b074-2
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:20:39 +0200
Received: from [209.85.221.52] (helo=mail-wr1-f52.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2c15b7-1dec-0a2a45040019-d155dd34b83e-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:20:39 +0200
Received: by mail-wr1-f52.google.com with SMTP id
 ffacd0b85a97d-45efa80e0afso823578f8f.2
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 07:20: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-4606f2b0d4fsm6682631f8f.24.2026.06.12.07.20.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Jun 2026 07:20: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781274039; x=1781878839; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=QijMtWb4A3hXsmKkBUTumR39yVrmvt/6rgIUzOpMyRk=;
        b=B3r/2TtfuK60Opc7tsrZmnl/dx7mxKR3S3kSAzxyhgOXuQUiPETgRELHKsoMik2LXA
         tUN1kmaM/wJBgEtm/irgXcvvWTZToRoeha9qsk7MwhizsmCM+xfnDZNVjbJAf1+h8xJF
         CHNLa/obwIwmcvHUc7mprmxTujgP4vWG1L00VKTmN9OUnlOvm6cMNBqRiDiA9d4jDdID
         mDX7VBDzubA4VqnL8NLz6Tjfwev/mwDsbQfw4AE9Av0QtXLM7h2aXRr/wS0I/0UjJIAr
         MxikSSAfN791EleG56HcrCj3fa5yrzrau0Z0PvazwS2Ba8cKHaG/8Aac0E9wpC54y4Zc
         orMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781274039; x=1781878839;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QijMtWb4A3hXsmKkBUTumR39yVrmvt/6rgIUzOpMyRk=;
        b=qkgJJyovtqYHkULMmP+j1HQZLOWLl52CHFxJEGyPkAKxqdOoGZzaQiAEJRfgh2BjB6
         D9iP5mnuGaxMNPEm2r5rrT0FD9QqPS2GPTflWwz6P5+XicweqN14B7E5H1d+KLl06g/x
         CRDxEEHDY10juDOZLPRkynCTvIB/u1CzRh8FUf5ZnIry5oH4RJcM5E7FIvS77LMS3TSz
         8DqZTmHYNcRmaq7oYQEbGJnQUvm+FEKp0EqX8MqLKCUJfPDzGorbWOQDmOoEAmRgLQ+v
         914g4MX4vWCn0YCsCXAD5yLdj/ZRrZ8jIF07Xsg7z64UuD7Qy3stl73XEpi/dUnVAkA1
         LQng==
X-Gm-Message-State: AOJu0YwE2Sa6LLz8fPKlWfdMNiHi5VR7u8gbmNcsckxnGGkXib02Dt4g
	ch+Dup2CWUqcMTNuG0Yktsr0DeBuzcXwa1kLpbZ9xGq3xhoIDUPvXzndVgV3UPRM4w==
X-Gm-Gg: Acq92OEvy4QwXwPmum85KUxgQcaStxZ1QlLho9o+LTBWZwb5lgoqurShn/8Qz5IEIZ8
	GBGrOmcA7dEmIgotLzjkKEBVRSyBr6CJRTHwHmvJVDAr/USZPv8FqBjMJtuYL7tyM5S5P72iVlz
	1T0ryQbKoM1srMLCAANu/CEty2HdinrMLVxpVghPHtbqY5hQObF3CZ3pp1mfEjgiATDLFd/HlEv
	PPDpHcPSfs/xptmKC457IDEUSY+X1F3MCA5SP0W2I0Kpi6EwnsUuGQrY0rCIdeT8PdIrXeWEWnC
	e8LlnBLWtZoDEihbr4+Wcg7angbUC7V0Xdx0haB2Cx/A+E0DPv2okSh9RUgR5SP6LC6/Ooi91Sk
	9gv8P74NEQMKxP36mw1hLod8/mEPchh7CpnJnlWqa42vek6GlR37e2QsfRGuF5RegmdHVQIy7VJ
	jruCP2BNBcMHE/D5WlaZKLAbR9Vis6PvVUlXZ/fGBwjl0BTxZX5D+BZgHPvRftPG4Nhu0imm/YQ
	9B0AhD0wDoHBQ4=
X-Received: by 2002:a05:6000:4213:b0:460:194d:8df0 with SMTP id ffacd0b85a97d-4606db96725mr4204246f8f.4.1781274038960;
        Fri, 12 Jun 2026 07:20:38 -0700 (PDT)
Message-ID: <e84d6765-61fa-4203-a1ee-ac07f54a1026@suse.com>
Date: Fri, 12 Jun 2026 16:20:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Assertion '!is_idle_vcpu(v)' failed after 'Remove
 fully_eager_fpu' commit on EFI
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Ross Lagerwall
 <ross.lagerwall@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Anthony PERARD <anthony.perard@vates.tech>
References: <1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@vates.tech>
 <aiwTkDUP6rDPbV6R@mail-itl> <0db98119-48f3-4edd-a422-8e50ee713b7c@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: <0db98119-48f3-4edd-a422-8e50ee713b7c@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ebf023/1781274039-4846A3FF-04C37A80/0/0
X-purgate-type: clean
X-purgate-size: 2068

On 12.06.2026 16:18, Andrew Cooper wrote:
> On 12/06/2026 3:11 pm, Marek Marczykowski-GÃ³recki wrote:
>> On Fri, Jun 12, 2026 at 03:53:49PM +0200, Anthony PERARD wrote:
>>> Hi,
>>>
>>> Since commit dba44e051209 ("x86: Remove fully_eager_fpu"), I can't boot
>>> a machine and get assertion '!is_idle_vcpu(v)' failed instead. It's
>>> netbooted and EFI.
>>>
>>> Xen call trace:
>>>    [<ffff82d04033da2c>] R vcpu_save_fpu+0x65/0xdc
>>>    [<ffff82d04029c5c4>] S efi_rs_enter+0x37/0x16a
>>>    [<ffff82d04029c7e3>] F efi_get_time+0x19/0xb2
>>>    [<ffff82d04047cbf0>] F init_xen_time+0x1e3/0x2b4
>>>    [<ffff82d040477a49>] F __start_xen+0x1d71/0x24b8
>>>    [<ffff82d0402043e7>] F __high_start+0xb7/0xc0
>>>
>>> Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387.c:195
>>>
>>> A few more lines from Xen:
>>>     CPU Vendor: Intel, Family 6 (0x6), Model 86 (0x56), Stepping 3 (raw 00050663)
>>>     Bootloader: GRUB 2.06
>>>     [...]
>>>     Enabling APIC mode.  Using 2 I/O APICs
>>>     ENABLING IO-APIC IRQs
>>>      -> Using old ACK method
>>>      ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
>>>     TSC deadline timer enabled
>>>     Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387.c:195
>>>
>>> Commit this Xen is built from: 50936ea05660.
>> Interesting, the efi_get_time() way is nowadays a fallback if cmos one
>> isn't advertised. Can you try adding `cmos-rtc-probe`?
>>
>> Anyway, surely it shouldn't crash... The commit you mentioned has "No
>> functional change intended", but well...
> 
> Well, no intended change.Â  It was a very big patch.
> 
> Nothing should ever be using efi_get_time().Â  It's unusable (i.e.
> crashing) on hundreds of millions of machines.
> 
> So, while we obviously do need to fix the assertion, this is "only"
> collateral damage from having fallen into the efi_get_time() path in the
> first place.Â  That wants investigating too.

Perhaps a reduced-hardware system with ACPI_FADT_NO_CMOS_RTC set? On such
systems efi_get_time() would better work properly.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 14:32:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 14:32:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336764.1598549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY2vc-00089L-47; Fri, 12 Jun 2026 14:32:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336764.1598549; Fri, 12 Jun 2026 14:32: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 1wY2vc-00089E-1H; Fri, 12 Jun 2026 14:32:12 +0000
Received: by outflank-mailman (input) for mailman id 1336764;
 Fri, 12 Jun 2026 14:32:11 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wY2vb-000898-0G
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 14:32:11 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY2va-00DtjE-DG
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 16:32:10 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2c185e-2eae-0a2a0a5409dd-0a2a4504d830-20
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:32:10 +0200
Received: from [52.101.201.53]
 (helo=PH7PR06CU001.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2c1868-1dec-0a2a45040019-3465c9355919-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:32:10 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SJ0PR03MB6487.namprd03.prod.outlook.com (2603:10b6:a03:38d::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.13; Fri, 12 Jun
 2026 14:32:07 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0113.013; Fri, 12 Jun 2026
 14:32: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=s4OQj5YJFJ4d40XUOE43mcInzOEemJuLXp2fZCVeYXTwAlyKI+lXfhAWCKrUkasGh1YG/4ztRs90cjg0WEePRoSmDONylFGw0QlpHH5LSAqk5NivtCrK37XOuuyZVc5G0N/s9iNhNwtoCXoBL1MGha9vPePY0mKYwxQb8fWwZrAuAOqV4Q9RaBfgxP8jLe6URRSqB5lBKKv4vvLs4zRni+xalPi/1qwUfFziSWwx2EKz5671lH+7IYJpyM3ZbeVKSu4+uoUJ+cGafQ6AFsKHgyv6h7hQpCKKHCtGFwRIDVMwzPQb/kkDrZCBlixopBjtN+4gYIhSoe16iIjpYONhEQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AURvtv4vVA9cN/K59ZAkSVgMUUGll194fUr1pPUZS6s=;
 b=oNnVE/yZ6eF8lSpdzR4Hwjij1K38LWOSLFisnhKUyafFLJnegJNqGTzSaqfVBJnqXZeuYl6A/V9+8H2ABOKg1xYsT/m/6CXG6ZJDQxMJ8th+Mk84WGQlnlqeBCUTuXydKWEi9sORpsgYK3dwp1VQC5Gd/a2bFZraovmeK9CGeG14alJd+yy+UmautvgtrEefV7zB451PEX8NY+koZ3o2NfuvxX+uPF5YKwWJrDRHUijbWeHvp6hW+lR3jEjXmbragxbAbq6ZHj/eeAQzqY+k+6f2iiQcnSwkBk91yJgAj9T82vd3jVS1uY0rZ08sE/FUhzfFvcXpGNYQunlMP/Xt3w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AURvtv4vVA9cN/K59ZAkSVgMUUGll194fUr1pPUZS6s=;
 b=p/O+8BCbbYThRjdGo4l7NNo2KfeqIimhLNlTt9F95xLa71STI06OBdkbMGDOPOtymQSpXlFKZmGZdXp3dyq8X8cD/uXR7hIhnyI4eDViN0S68Zq+sLRql5s3jtX3EbmZZLLHTVe9uspQFZirO8Z5I0sGSNUcYs691y0cQL3/OEE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <48878ff6-ad36-448f-aa9d-6b37e2e179b1@citrix.com>
Date: Fri, 12 Jun 2026 15:32:00 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org, Ross Lagerwall <ross.lagerwall@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Anthony PERARD <anthony.perard@vates.tech>
Subject: Re: Assertion '!is_idle_vcpu(v)' failed after 'Remove
 fully_eager_fpu' commit on EFI
To: Jan Beulich <jbeulich@suse.com>
References: <1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@vates.tech>
 <aiwTkDUP6rDPbV6R@mail-itl> <0db98119-48f3-4edd-a422-8e50ee713b7c@citrix.com>
 <e84d6765-61fa-4203-a1ee-ac07f54a1026@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: <e84d6765-61fa-4203-a1ee-ac07f54a1026@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0688.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:37b::17) To IA1PR03MB8288.namprd03.prod.outlook.com
 (2603:10b6:208:59e::6)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SJ0PR03MB6487:EE_
X-MS-Office365-Filtering-Correlation-Id: 75c22054-cfcc-456e-4a13-08dec88f5f2f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|23010399003|18002099003|22082099003|11063799006|5023799004|4143699003|56012099006;
X-Microsoft-Antispam-Message-Info:
	fVHaHU5h5i6ncMKrM8LsFM8sPnveH6FgeWgShX9Dsirlp6J2rpUPFilUa8ro5tQM/CED7nHbH+gWXGg3ZrjocaPXRPSc8zd1lljhQsMtXVIBuc8v03jMYB7LM9GZxrluexK8Owk+EckGDQBABCr013M+IoBb8XkhWWMyASl/qyeo2mgo4lE4uFpSLg0OGONCFLOjaob6dX1/Cw08YwXMaeQQAx8A4pFLMakQOp5yzORV568JqfyyCNeQ0K7SQhw/NNTP3M0H9+dsKZrMyMWVzujNko3NHWidXvNCvd9O1b6wpj58LZpovaYRtLzKdsSUeIFn9SLK/zjI1q3WNSdVt9ysGJyqkrynyJNHjfF2C/iM+UgYIXnijFpc4zl1g8S2+UFul2vybXXQ2OGF38Zc0oT/bJvWVS6K8i3qOOGK2H2nZIW4b7773ucdxFObMLS5PPiZg2+3WxANzJaqIFA9elN3eryXFe13jGFkrvtuGONF4P/LXliMOyyVYYAftm8U38rEf2Tj0EB9xdZFzW19b4AG2KRqPzm3Hl2aiwlwUeN8Vs8hr//qYaohfIQ9mVLNnEdh937rlAZYq6w0Hw/buP8MWfKAuZU0vcnZhq0Za4nm1ECScnPy0KuOb9kXh/fmAuGYCfqan9HgcLzdvnOP+CoE06VjKWPY722bvsYLTGxSE5D8ZlAJmtb2uYJ44URT
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(23010399003)(18002099003)(22082099003)(11063799006)(5023799004)(4143699003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VUtkcTFYaHVEQkQ5eUE2emhBZzZJRm5NMTFoZ3dIamovdkNwcXZaWFJqRDc4?=
 =?utf-8?B?d1NEMCtOc29ZWUtucU9TdTV3ZjZ6V1NlZk5GOHV1MEVVM1BWM21KQU9pT0h2?=
 =?utf-8?B?ZE9Ma0lybFRiN3hqTlpqNjE3YnpibU1BalBQWi90WGlyS1RmbHJHWVArRWxL?=
 =?utf-8?B?SlFMaFA3eWYxVUo1MWNPeE5JeGNrZVZVMTZJVVVBcjQ3TnVQbGQ4czFWN3hY?=
 =?utf-8?B?RjlPeU9DUmJEdEdUbHUvcStINE45MzZCL3p4SHRubEQ3bnVhSVE4V3J5SldJ?=
 =?utf-8?B?cm9Zd0lhUmc3eUVkM1FraEJudWYzTVhWUjNrVGJaTk1uVHU3QmhUOTRzd0pS?=
 =?utf-8?B?dlBxMFErcVJPU3NraFlLa3Ftd2xUQXg5VklYTUFRMFpsNHJVMVRWUjNSTWd5?=
 =?utf-8?B?U2R2YUpVUDR1VnpPWDJTY01pbThxMmVOQ056bmxGSGZDV1dXdlhDOGJDYzdD?=
 =?utf-8?B?NWJuMTlYOXI4MW9HS214OWpHODBpNGVVTE9HQkZXd2llUkxHMTcwUDd4QzRR?=
 =?utf-8?B?aUNiZ2NRcHlaY1FqRnhmQi9Oc1lWNXUyREhscTVVRnpHUDFQWTRMMXhRckVX?=
 =?utf-8?B?a3hSV3dPc2R4cm53YSs4Z1ZvRGROVkQxTTNQdFh4NlNzNnI3N3I3Ry9kQ1lF?=
 =?utf-8?B?OTA2RzhkN3U0aW9kTERiQ01hNUw0WC82amNiKzdNYklEdmtXRDJKTHdrbnRU?=
 =?utf-8?B?QlgvOWJ4bFU5U0hZd2xzdFVnbEwzQ09VUTVsa1gxZkdKaFZrbm9xdWZUQ3lY?=
 =?utf-8?B?S1hKb3FDeTVUZXNXTmU2cDF4ZFg4bFJoQzZlTHRYYTB6ZlBYNlRuSi9Odjhz?=
 =?utf-8?B?OC9KK1MzK3MxQVA3QjllMWhGMUYyTm54S2VnR3RSMlRQOXUzZGlqdmZqT3Nx?=
 =?utf-8?B?UVZjVjNTeHZCWTVsM3BwdWJ6a0tzRXBuc2JLcDhLS1NvZXh4aDhNbCtuY2hM?=
 =?utf-8?B?Q3RIU2dBSytHaHU2Unh5VkNPdmVWbEoyWmZMQUtpSjRyRlNVTWlCWnk2Sld4?=
 =?utf-8?B?OGZVaG5FaFBGMEFGWGRSMXRhTmJEcWNHbzk0V2gzdS95Z3VhS1k2WjJFT2pR?=
 =?utf-8?B?SWpTK1NhTk1LOFl0d3NESWhFT1JkVW9ZMGVqem9FZENlb0NSSWNCNWVpM2M5?=
 =?utf-8?B?Rjk4NUVFNmsyZGg3Y1RlR0Ezc2dDaUZtVEdOcjc5VjJiRG91ZUpvWExWQ0xY?=
 =?utf-8?B?S2NweVBZNXpDUk5PU2xjVi9OUzBnSWk1d08rQ0crcHhwQnlyTlNmS20xTFJG?=
 =?utf-8?B?ZkxRNGlMWWtFeDVnUU1qakQ3cktXb0pGQjRsQkZ2UjIzNE84eXFYaUYzb0hw?=
 =?utf-8?B?YjBJb1VQaDRUUFVXOXJEaFkxR2U0RkNRNnVZK2I5U0xjSlFsajVlOWYxSFcr?=
 =?utf-8?B?MjNVOXBqd1NMZENvQmdlZGJNWTJKWnZzTmsrNTErNVlGMkQ1S1VvNGJtYUg0?=
 =?utf-8?B?Vzl1SnpJc0FXQ1lUUmJFVG1SZjV2bnM3VmZHcXRKNERyOXNsSW5lWXRhUVFV?=
 =?utf-8?B?TEJ3alpKTFpxYVRUcmdGcW9IUzRObEFVNEtvS2hTN3RDamZoN2tycVZHY05O?=
 =?utf-8?B?MkZTaUxIUm55bkRVMEJMRzNqK1JvZ1Bob20rb3cvU1pQc3RnVisxSWFpTDIx?=
 =?utf-8?B?dHF4TitDOTcvREhvZnJKTW1jQnl0RS9lcjdxZ0kwTVVIY2EwSldxUXJJeHZW?=
 =?utf-8?B?SFFLZzM1c0Z6d2JWSTd3RW56MFRqYk51cjFVVEpNYzZxUGE0ZlpPQ3RMVVJY?=
 =?utf-8?B?YXNQK1VsQzdGY1M0MnJzUDFOUFIvVmpxSVVENWttVkpJMk96QnBDanczWE5F?=
 =?utf-8?B?WTB5WERJNENURVVDQmtRMC96bW1jbDVRSzVFRGE0QjlzdFdDZGtEOXRVbmsv?=
 =?utf-8?B?UjJzVTQ1S2xSY3BRVmo4Sm5aYVJWWXQwdmZQTkRFbVNVR0dBMjg2bGtHdmk4?=
 =?utf-8?B?dE5xMXNmUkhtRkp5SHZYdUpiYnhLK1JUWndwME1xS2Vtb0ZvY1BxNnlxdENp?=
 =?utf-8?B?YWIzanNqeldVZDRydUx0cDY4cDRCOW5PWTA1UEV3UVBKclhlMHR0WjBsM0pZ?=
 =?utf-8?B?ODhHcTB2UzdSaEMxamt3MFdqRkpLN0gxRXJjdEE0SkRpS2lJMTFPUFJQMGNM?=
 =?utf-8?B?R1B3bndwUDdOaDNzc0FrUENoZUNSUmx4WWFWU3hLQXUyRkhtczU1NjNXTUdh?=
 =?utf-8?B?ZGNpdmxMcVRlSjltTDRDOUFZZ3VjOVNzYmgzSHF1TmhQblQvZTAvc3FnUXV0?=
 =?utf-8?B?dENWR0lWekU1T2FnR1ZGU1czMXNLY2VheVVQcE1NQmkxWDFoYnhodDJrZHBL?=
 =?utf-8?B?YnN3U3RjbnNlMEZEZytPUTZCN2d4Q1d6VU9nc3BpdnJSK2xzZFBNUE4xUVcx?=
 =?utf-8?Q?TWahCqQExq60k1jQ=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 75c22054-cfcc-456e-4a13-08dec88f5f2f
X-MS-Exchange-CrossTenant-AuthSource: IA1PR03MB8288.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2026 14:32:06.8780
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vOmN+q0L8dLgXszELqn/MOcAVsZ4BN3atClImKWBtRuCs13/H8mAKSJ8T4w8G4JCDoeYho7+5qGxU5Noy//09d/ycqAEhg629Yts9pG1XsE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6487
X-purgate-ID: tlsNG-ebf023/1781274730-28B733FF-3CE23705/0/0
X-purgate-type: clean
X-purgate-size: 2716

On 12/06/2026 3:20 pm, Jan Beulich wrote:
> On 12.06.2026 16:18, Andrew Cooper wrote:
>> On 12/06/2026 3:11 pm, Marek Marczykowski-GÃ³recki wrote:
>>> On Fri, Jun 12, 2026 at 03:53:49PM +0200, Anthony PERARD wrote:
>>>> Hi,
>>>>
>>>> Since commit dba44e051209 ("x86: Remove fully_eager_fpu"), I can't boot
>>>> a machine and get assertion '!is_idle_vcpu(v)' failed instead. It's
>>>> netbooted and EFI.
>>>>
>>>> Xen call trace:
>>>>    [<ffff82d04033da2c>] R vcpu_save_fpu+0x65/0xdc
>>>>    [<ffff82d04029c5c4>] S efi_rs_enter+0x37/0x16a
>>>>    [<ffff82d04029c7e3>] F efi_get_time+0x19/0xb2
>>>>    [<ffff82d04047cbf0>] F init_xen_time+0x1e3/0x2b4
>>>>    [<ffff82d040477a49>] F __start_xen+0x1d71/0x24b8
>>>>    [<ffff82d0402043e7>] F __high_start+0xb7/0xc0
>>>>
>>>> Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387.c:195
>>>>
>>>> A few more lines from Xen:
>>>>     CPU Vendor: Intel, Family 6 (0x6), Model 86 (0x56), Stepping 3 (raw 00050663)
>>>>     Bootloader: GRUB 2.06
>>>>     [...]
>>>>     Enabling APIC mode.  Using 2 I/O APICs
>>>>     ENABLING IO-APIC IRQs
>>>>      -> Using old ACK method
>>>>      ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
>>>>     TSC deadline timer enabled
>>>>     Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387.c:195
>>>>
>>>> Commit this Xen is built from: 50936ea05660.
>>> Interesting, the efi_get_time() way is nowadays a fallback if cmos one
>>> isn't advertised. Can you try adding `cmos-rtc-probe`?
>>>
>>> Anyway, surely it shouldn't crash... The commit you mentioned has "No
>>> functional change intended", but well...
>> Well, no intended change.Â  It was a very big patch.
>>
>> Nothing should ever be using efi_get_time().Â  It's unusable (i.e.
>> crashing) on hundreds of millions of machines.
>>
>> So, while we obviously do need to fix the assertion, this is "only"
>> collateral damage from having fallen into the efi_get_time() path in the
>> first place.Â  That wants investigating too.
> Perhaps a reduced-hardware system with ACPI_FADT_NO_CMOS_RTC set?

The identified system is a Broadwell-D.

Come to think of it, there were some systems of that era which (falsely)
claimed to have no CMOS.Â  (An HP Haswell Blade comes to mind, but it
will be a similar chipset.)

> On such systems efi_get_time() would better work properly.

Wouldn't that have been nice.Â  On the bug I looked at at the time, it
was just as broken as prior systems.

It's a vicious positive feedback cycle.Â  Windows and Linux ignore
efi_get_time() entirely because it's broken in a way you can't probe
for, and as a result the codepath get 0 testing by OEMs/ISVs and nothing
gets fixed.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 14:45:51 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 14:45:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336779.1598557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY38k-0001dv-81; Fri, 12 Jun 2026 14:45:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336779.1598557; Fri, 12 Jun 2026 14:45:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY38k-0001do-4o; Fri, 12 Jun 2026 14:45:46 +0000
Received: by outflank-mailman (input) for mailman id 1336779;
 Fri, 12 Jun 2026 14:45:44 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wY38i-0001dg-Hd
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 14:45:44 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY38h-008lGB-E7
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 16:45:43 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2c1b90-2eae-0a2a0a5409dd-0a2a4503add0-12
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:45:43 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2c1b96-672d-0a2a45030019-d155802ec572-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:45:43 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-490ae94a89eso9159535e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 07:45: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-4606f2c4240sm6436005f8f.27.2026.06.12.07.45.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Jun 2026 07:45:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781275542; x=1781880342; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=zK5NJJqNnG/b5LKnqIdoMb2RS+rQPoKjLpENVsPY9ic=;
        b=XnWBFYDr8JN0K6LhjysUce1ef4uzIOj5YwFnhO3JO5fm0FtbX70Cobo9xVoQ4yHeUn
         9qkB/XScBtbpiPf91FaMVW5FM0nD+jD/K0lCBpZhY3W5dlokNkZ0lg0Tgb0Z8cYoaa9c
         bno3UDu3cH2VsuV4y54d4IzFeu3fU5jJX9PjyAEp4VyVn2Tn70ovEE0teOSRewrjeOGP
         EyAKDLi/GjBIo2oNXg/gcpu2YhNX45I7HMKX9OPHDqOS28/sKUKPvWTIU2Rd97mrAZsg
         mv8c3mbZ1btU914pbY16GYDUKwIOYLVqnWCvjahzcOY2c+2uHHKpXSIG3RizIa0nlv6v
         wlnQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781275542; x=1781880342;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zK5NJJqNnG/b5LKnqIdoMb2RS+rQPoKjLpENVsPY9ic=;
        b=k1ly5ZfGRcNuc80T1RC4dTmk2wgol3nRDQUAQJGbvsERZZ4ZaB4EDL9FYswE5oKJPA
         1lX0ZRr/uPwwmWrkYWs08KkNBuOna+LLxONCZ+Cclb3741xQ12aES8d3sKi3XnNYOmpn
         Pm9ruCZGsojJOt90qnAomqdEHnRqm+//rxrKZVnfXMNOXdqrboZ2lLWNZkny/GVPX+ql
         +WHl4OhtD77bXEjjPE1rMnnYa5uz6tlz7xqMCW6rk2NU5+lH2kP94uhXK4bg5WZvQ68S
         Zk88aM8PmfrA637t1TxH1Fuco6xicgYoTzraWc7jsq3Kv6+6r/lATyLzKxfA1IULK9Ru
         PReA==
X-Gm-Message-State: AOJu0YwamjFBwgS41U9+uw5KGleehFVL9sSD0pRu8dOh05hg9zivkIe8
	PUPmMDzmFXuLU7lVK+gR/3X6RMRhajiSbzDlvueqgLuH97Pv1pP6i9sa8K7R+WZNJg==
X-Gm-Gg: Acq92OG5Kdb0MwOnP/ys6oPZzrd6ieXUG9sMfxWdetSB7mGIFcBryt9Di9HjXV8ZgA8
	RhC04yu8k+l9Hz2+NnxE5N1jcjJvrFdDVpG2wzPWSUj3P3kpYVlnOaHC59PoL8cfIlBlDOYGs2t
	o7Ui6IuD++hg8EjLNwokr0Hvca12SZD7fZC+VxAUlu9/zq4UkUHhPHeAN9z5nFYyVo05oaFsUxg
	flWl2RPiCdEvn95ANuxongHcou/T+/t22aIUiiBbuXh6X9WdzB/flJ/OACDbDiOeWi4dNX/5+9U
	20oewlZQyRlz0EPrtHFna9TARWqNlxaqqh+IWZUEo7McO6yaKpF3xbULTxT4zxZ/8elSYvyLcH3
	+Ml9boHt/Nazgqv5YBXF1CuGd398zFrV/TpIrak2c+KPv6AbJWk49qUMY7UqAvKRsqi+dopl6hS
	M2g+sO33VgSd/QeXVLtwnwEWfedMQpRjdFta5FT99DP2zfAmwPDQNDSIvoM2yaGutacYumAayT2
	tUduUnjo7AQF6w=
X-Received: by 2002:a05:600c:1552:b0:490:e170:b7ee with SMTP id 5b1f17b1804b1-490ec4fd378mr43572685e9.17.1781275542325;
        Fri, 12 Jun 2026 07:45:42 -0700 (PDT)
Message-ID: <fb1a10de-c958-4f96-8400-4c0faeba9279@suse.com>
Date: Fri, 12 Jun 2026 16:45:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Assertion '!is_idle_vcpu(v)' failed after 'Remove
 fully_eager_fpu' commit on EFI
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Ross Lagerwall
 <ross.lagerwall@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Anthony PERARD <anthony.perard@vates.tech>
References: <1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@vates.tech>
 <aiwTkDUP6rDPbV6R@mail-itl> <0db98119-48f3-4edd-a422-8e50ee713b7c@citrix.com>
 <e84d6765-61fa-4203-a1ee-ac07f54a1026@suse.com>
 <48878ff6-ad36-448f-aa9d-6b37e2e179b1@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: <48878ff6-ad36-448f-aa9d-6b37e2e179b1@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1781275543-39D7B938-C5A8D046/0/0
X-purgate-type: clean
X-purgate-size: 2961

On 12.06.2026 16:32, Andrew Cooper wrote:
> On 12/06/2026 3:20 pm, Jan Beulich wrote:
>> On 12.06.2026 16:18, Andrew Cooper wrote:
>>> On 12/06/2026 3:11 pm, Marek Marczykowski-GÃ³recki wrote:
>>>> On Fri, Jun 12, 2026 at 03:53:49PM +0200, Anthony PERARD wrote:
>>>>> Hi,
>>>>>
>>>>> Since commit dba44e051209 ("x86: Remove fully_eager_fpu"), I can't boot
>>>>> a machine and get assertion '!is_idle_vcpu(v)' failed instead. It's
>>>>> netbooted and EFI.
>>>>>
>>>>> Xen call trace:
>>>>>    [<ffff82d04033da2c>] R vcpu_save_fpu+0x65/0xdc
>>>>>    [<ffff82d04029c5c4>] S efi_rs_enter+0x37/0x16a
>>>>>    [<ffff82d04029c7e3>] F efi_get_time+0x19/0xb2
>>>>>    [<ffff82d04047cbf0>] F init_xen_time+0x1e3/0x2b4
>>>>>    [<ffff82d040477a49>] F __start_xen+0x1d71/0x24b8
>>>>>    [<ffff82d0402043e7>] F __high_start+0xb7/0xc0
>>>>>
>>>>> Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387.c:195
>>>>>
>>>>> A few more lines from Xen:
>>>>>     CPU Vendor: Intel, Family 6 (0x6), Model 86 (0x56), Stepping 3 (raw 00050663)
>>>>>     Bootloader: GRUB 2.06
>>>>>     [...]
>>>>>     Enabling APIC mode.  Using 2 I/O APICs
>>>>>     ENABLING IO-APIC IRQs
>>>>>      -> Using old ACK method
>>>>>      ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
>>>>>     TSC deadline timer enabled
>>>>>     Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387.c:195
>>>>>
>>>>> Commit this Xen is built from: 50936ea05660.
>>>> Interesting, the efi_get_time() way is nowadays a fallback if cmos one
>>>> isn't advertised. Can you try adding `cmos-rtc-probe`?
>>>>
>>>> Anyway, surely it shouldn't crash... The commit you mentioned has "No
>>>> functional change intended", but well...
>>> Well, no intended change.Â  It was a very big patch.
>>>
>>> Nothing should ever be using efi_get_time().Â  It's unusable (i.e.
>>> crashing) on hundreds of millions of machines.
>>>
>>> So, while we obviously do need to fix the assertion, this is "only"
>>> collateral damage from having fallen into the efi_get_time() path in the
>>> first place.Â  That wants investigating too.
>> Perhaps a reduced-hardware system with ACPI_FADT_NO_CMOS_RTC set?
> 
> The identified system is a Broadwell-D.
> 
> Come to think of it, there were some systems of that era which (falsely)
> claimed to have no CMOS.Â  (An HP Haswell Blade comes to mind, but it
> will be a similar chipset.)
> 
>> On such systems efi_get_time() would better work properly.
> 
> Wouldn't that have been nice.Â  On the bug I looked at at the time, it
> was just as broken as prior systems.
> 
> It's a vicious positive feedback cycle.Â  Windows and Linux ignore
> efi_get_time() entirely because it's broken in a way you can't probe
> for, and as a result the codepath get 0 testing by OEMs/ISVs and nothing
> gets fixed.

Do Linux and Windows then ignore ACPI_FADT_NO_CMOS_RTC on such systems? Else
how would they establish wallclock time there?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 14:55:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 14:55:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336789.1598567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY3Hg-0003V4-3J; Fri, 12 Jun 2026 14:55:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336789.1598567; Fri, 12 Jun 2026 14:55:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY3Hf-0003Ux-WC; Fri, 12 Jun 2026 14:55:00 +0000
Received: by outflank-mailman (input) for mailman id 1336789;
 Fri, 12 Jun 2026 14:54:58 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wY3He-0003Ur-6X
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 14:54:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY3Hd-008nFa-GJ
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 16:54:57 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2c1d97-bab6-0a2a0a5309dd-0a2a450bd6e4-34
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:54:57 +0200
Received: from [52.101.46.11]
 (helo=CO1PR03CU002.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2c1dbf-212f-0a2a450b0019-34652e0b0e13-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:54:57 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by IA3PR03MB7546.namprd03.prod.outlook.com (2603:10b6:208:510::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.18; Fri, 12 Jun
 2026 14:54:52 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0113.013; Fri, 12 Jun 2026
 14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=WTYw5tncW4LxHzSfYvDa/TaRKNjfaQmX8xp5JUylpRI1dR4wp475mYcSzaG4puPFS1kcNEBXMBK7hXYO3lCcYqwxrb4rdJiUu5gwH0waSbs/925C2eOiSauSmgtxVS26HC2SrSqYZUhkIpJu6s3J+nq8TGv7z3oZWD2HKoWxovN8cNeLIta6Jx+WUvxd2JTfaA2/hI3jTJLgUUYUZVmD2xpyWq/JLSwxM4EP7WZ+xJbEzCi4zd7xEIJWNJyYILRBCNDuVTonikkB8nztcH0qA17rFDDnN+DG5S/fcTV4hum/SVArrL4vLV0lH/iUD8kF5o0TD81q6E3zzYeHxItzEg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=23TGQrwG0dA3q1mHRRuC+E9sLNd9izy9T37Iw6ipsOY=;
 b=fERBp/bGhWvpqN3/93Csa2ARNrcSTt8fC8H2mEU3ABc2U35sLNN3Km+yeVfLOzP5FHIUOCi0VkNLk2Q5rTivUcxI/acXc0kUu9gX49woNnD4R3sfSD3H7Colv47iyIqMcOIXNeCvY0NNuXjGQRd1OFQvr7raOogv2i0ku3SWgzXpJGS/7nJkeHsi4Me3cZiNPdVIOAPVVPNyi/b7d5mCI7s0vk15LQZmbmYs8MmHhJ/v0jXiE8HQ9AzdZAPGa6ssx33nMDjmEuJ1Hj0KA9wmy+m+4ovAcY2AaAA2x8Cl2V39HRrZjN6fbnTRpn6axktNRoLQMUB4fvEAcwSBf9+urg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=23TGQrwG0dA3q1mHRRuC+E9sLNd9izy9T37Iw6ipsOY=;
 b=jYivG64ztMtRmrhPfyP/4RGAKvbzEBkyBiwDow2eiHsvdJby9ojxfvFXc0nMcPQCZIG1C1NctkXVinb9jUOcX9/lH1MmACFcSqjWmHLIljkJtXkJDeJlG7dhd6sIm2mJ26WYsXwByhVr9CYltYZbH2qUlmV8tS6A1mzRO/PzuiA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <3f9672c7-651c-4d93-bdcb-38d11f4282da@citrix.com>
Date: Fri, 12 Jun 2026 15:54:48 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org, Ross Lagerwall <ross.lagerwall@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Anthony PERARD <anthony.perard@vates.tech>
Subject: Re: Assertion '!is_idle_vcpu(v)' failed after 'Remove
 fully_eager_fpu' commit on EFI
To: Jan Beulich <jbeulich@suse.com>
References: <1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@vates.tech>
 <aiwTkDUP6rDPbV6R@mail-itl> <0db98119-48f3-4edd-a422-8e50ee713b7c@citrix.com>
 <e84d6765-61fa-4203-a1ee-ac07f54a1026@suse.com>
 <48878ff6-ad36-448f-aa9d-6b37e2e179b1@citrix.com>
 <fb1a10de-c958-4f96-8400-4c0faeba9279@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: <fb1a10de-c958-4f96-8400-4c0faeba9279@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0659.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:316::11) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|IA3PR03MB7546:EE_
X-MS-Office365-Filtering-Correlation-Id: 4e297262-0611-4cc1-0d35-08dec8928ed6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|23010399003|376014|366016|18002099003|22082099003|4143699003|5023799004|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	rQgK1imkH0h5JmW2WEaDdrRa5aj/DUfE4ZSA4b8ioTcp8baRXfJRRUVwREXPsPGIdjh/umPUqer9ixY73y7o1OcFO1vgseeV2df969W2PXqq2xfCfSyF+vY7cmeHE4aKeRiaBfoFKDLZ/a6A82oHaEPV2H3A67CjXEhZV2SZPWVvWBCt/cJiI/CuNeIl/ZR2+Ee5H/7jAtKHEDw/1DOGASuaVBx2WTShKYj4IUueA6pdWZ7k+dT0lOrWmVKq2Qq3KFXIkiBwnp5OnVZVX5x5SSh/mQiS5aDPPZaeId20mGYNgXOZoFU6/bqq1j61lXjlMX51YrzxDYgGiAOWzXcjwY5xH9spxVo4sqy6/P0o/zMdc/+bJ1gOX716ybYwAeOoq9JxRTa8FDqY71WVmKZiMQW1BSaUBPjY8QOv/zC2rs1BphdjKHqGiqwTFSJPTDlf5HRaMHVcacmgtDWGlp9bMnE+pTfp6U3dn7/e74QEn9zeRrrzCcFIyS/92xGuLsQFXOzQvyQqDy3nS0QICDYsqiCElqkwTjwEvmGOeGjv7Gc7tLgElvG5MKl1ncW6/v71/ymaMqIq3r4yYAwwHY9sME2k7K1pI3tcOZVS3gb4lbpM0pt2UgaDbRmZkEvLdJDo6XMIoAOA3lrbThhN5y71b2aP7rg3C8TQjIpmq//YTTPOXXWP+OmZI6jKx6Ur8Rxf
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(376014)(366016)(18002099003)(22082099003)(4143699003)(5023799004)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SmtYalgrOVZLeU1XNGdhc3hXTTc5ZUk2aG9NaUpGd2ZZS1F4UXpZR0RISjdO?=
 =?utf-8?B?aDlLcWlQNG53Tk5iUml0aVhlUDhOTE1ySmlha2tSZ0tDblNQZGd4SlhBdCs4?=
 =?utf-8?B?NVNqVWtLOFZyc21zeEdramdHZDZHR2lhbWlDOGQwL3hLVkMxakYrNG55Q3lD?=
 =?utf-8?B?U1JhWXQxYTdiRmNPT05EcFpmL3o1YlJNWXhFQ0p5UHNRR25mOXpjc1pDZ01u?=
 =?utf-8?B?alZrSFNMK1VFQTVRWGE3UlllZ05YMFdzVUVDamplKzhTSlEwSXZmSE9JcGpD?=
 =?utf-8?B?T1JmK1pDUi9vc3BBYmhVcDV0TENJbDhzU1UvYytlRWJqbzRxWlh2d1RLM21x?=
 =?utf-8?B?UUN1QTFjWGg5dEdKWUFkYVRGbFN0b0xZRjN4S1VGSHpmUy9TWmZhMW04T0c0?=
 =?utf-8?B?U1dZZmFLTEVKQ2lkc3lrZW5EMWxXU3ltWXUwR0c0OWZIeUdtZys0VVZ6RWJm?=
 =?utf-8?B?N1hqcWZyNG1WMWNsTnJ5S3JrUW9CTGtYc0ZSSHJBZE41VmRoR0FVVStnRzJl?=
 =?utf-8?B?d0UxSHlmUVh0VmNYRHVTcCtaWGxWTWQwN0VGVWxiTWE3TFlrT1hKLzVtcERa?=
 =?utf-8?B?WWEvWFFUd3YydDB4Ti96K2NPVHMwcGVxRDQwVTFPNDBpaVh0L1phM0xOUkhR?=
 =?utf-8?B?YVo3NFA4ZVI3SjVVWjJkNjluMlRrZFh5M05yTnBLNmxoTjArVmt6S2M1UW5Z?=
 =?utf-8?B?WWtaUjlrb0IwZ3lNVjlwRVlrOG5TS0RlQTMxSzhIMkZhSmUvNXBlMDRrZG13?=
 =?utf-8?B?a2VIRU9tcXgvaHdFNUpOYWt6eHZFaVhKRkJBb1FKWWppSHpMZUlDakxSY3Az?=
 =?utf-8?B?LzY1dE5yUzZLeVF0eGtKaVZ3bjNzMVpPVVJ5S2J0SjB6SDdoOW52NklYYUxI?=
 =?utf-8?B?eW5NVEY0NGRlWlBQK3pvYnFrU2ZvUkx0cE04dWxLME5pM2VzNlpvWHRVS1pK?=
 =?utf-8?B?VjQ5eE1RTTZsNTdvWnVVMXp5OXlxMVFkQzVkYm1FdGkvQ0RxUkNlNU5ycEYr?=
 =?utf-8?B?SDdMSHl2aDhnbzlQaVFmK0RGL09aVWtxOEtSR1pJcFhpTU1mSUhRYWxxNEJW?=
 =?utf-8?B?eVVLZHZSbDlaL2Q3TXdWTjJlN0hJNlRYMXRzUFRoVXhOVklhZlVuTVBEOFlJ?=
 =?utf-8?B?cVpoUFY2cnFGQ3A1M1ZrL2FrcVhhd2xFejN0QW84bXkvT2VINjRyMmFtSDNn?=
 =?utf-8?B?V0pjTU9KTyt3QUZDKzdmZGVQQlI1bFpYNWpxd0M5WDlGYjN4Mi9mTkx6VFQ4?=
 =?utf-8?B?d0YyVHVVQ01XZEdncUZGd250WGZjVTdyWHZXSk1CTGRTdkFHbktxY0Erd1RH?=
 =?utf-8?B?YTRiY2pwT2dSZThiek1lMmpicFhFcjBEbmQvY3ZZSVIrMmhTSGVORU1EOGU4?=
 =?utf-8?B?RjdVTFVweWh2TmJyVktXbTBvK3dneCtrMXc5ditQaU10QS9CNEZmT3pxdCsv?=
 =?utf-8?B?Nm92QjIxQUJKUUk2ZzRNeVQ3bzNkRWxRU2NkbWtWUjcyMmdLZlFxd1VLUmx6?=
 =?utf-8?B?Q2ozM0RsbkErb3JqUDcvUkRiUEdzNFk4TDBEQ2h2UTBTUHBWUzhzTkhkT0Vh?=
 =?utf-8?B?SERsYTNMOWRsMnd3emVkaGJ2Wmg1VWhoZDRabHZFMXYxLy80cFRwS3VhYnU1?=
 =?utf-8?B?RkMyOER4UTlaVTZHQ04vY3YxT0NYeUo0VkxXRlBpNHZLT2tiTjU5b0JtaFJv?=
 =?utf-8?B?dXJaelFvN0Qwc3BSMHdHbWFOM1lpSFFlV0dxd1pHTDAvdTdLRGdyWXNxTW9N?=
 =?utf-8?B?bEt5c3AyRURmQmpjcHN5bFpaTDM4elB0VHlpWERacGRaM0xTRytHNXpxRk53?=
 =?utf-8?B?eUtwb25YVFY1R2wzL0gwNFdoZmpQdE1pUW5ZbHFpR0VWc1pkNitvcnNGVDht?=
 =?utf-8?B?a3Q0R1Bsek1LZVRhd3RRSWRYOTRacVY1ZnQyWTg4V3laQUhFaDh0VUVxRlpx?=
 =?utf-8?B?Q3FVWEk2VnhVd2FKcjJsYUdibXYycjNibkdpbSszWVJTQUZWTWFBdGllQnNh?=
 =?utf-8?B?ZlFLUXVxUzJyRkdYa28wMXZvaE9ubEVRWDFDMFYzemdWMy9jV00yUWVXN1gx?=
 =?utf-8?B?SWdPTEtROWNIbkZlL1ltc2ZWbkpEbHRuNHdhbVFuVUZvM1JySzZ6K1hHUGp6?=
 =?utf-8?B?MEh0czFIMHlJUjloelVraHZENzJFQjYrZHk3MmNITDJRUEY4OVR1cjBGa1dB?=
 =?utf-8?B?MGlhMVNJcTA1ei9tRzNOTzJZRXRtTDBwOUltTm1GdWMrWTZpd3hER1pjMWdO?=
 =?utf-8?B?Kzc3Qk9PKzB2bGJZdnpZS01zVHdmVmhRejhoOWJvQVhtM1JONVlsZU9iZC9q?=
 =?utf-8?B?VjVjWDJSemx6bjZpaEgyWUZxcUxEVEpSaWxBODdGR0R0cVFUODNxRTArMFNC?=
 =?utf-8?Q?uJhrZWz9FDSbWKvs=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4e297262-0611-4cc1-0d35-08dec8928ed6
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2026 14:54:52.1366
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: y8TUWShDZ0baeF/nQUX76C5uLFqmDbeNCUuHt4LO2G76WGDnWeThsxuLz00YUpWBQlggoG1CNaDTSLJ+cdfUaRXjzOGMiFlz7Ckn/LGZhcw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA3PR03MB7546
X-purgate-ID: tlsNG-42698a/1781276097-1AF76F3B-0192964A/0/0
X-purgate-type: clean
X-purgate-size: 3516

On 12/06/2026 3:45 pm, Jan Beulich wrote:
> On 12.06.2026 16:32, Andrew Cooper wrote:
>> On 12/06/2026 3:20 pm, Jan Beulich wrote:
>>> On 12.06.2026 16:18, Andrew Cooper wrote:
>>>> On 12/06/2026 3:11 pm, Marek Marczykowski-GÃ³recki wrote:
>>>>> On Fri, Jun 12, 2026 at 03:53:49PM +0200, Anthony PERARD wrote:
>>>>>> Hi,
>>>>>>
>>>>>> Since commit dba44e051209 ("x86: Remove fully_eager_fpu"), I can't boot
>>>>>> a machine and get assertion '!is_idle_vcpu(v)' failed instead. It's
>>>>>> netbooted and EFI.
>>>>>>
>>>>>> Xen call trace:
>>>>>>    [<ffff82d04033da2c>] R vcpu_save_fpu+0x65/0xdc
>>>>>>    [<ffff82d04029c5c4>] S efi_rs_enter+0x37/0x16a
>>>>>>    [<ffff82d04029c7e3>] F efi_get_time+0x19/0xb2
>>>>>>    [<ffff82d04047cbf0>] F init_xen_time+0x1e3/0x2b4
>>>>>>    [<ffff82d040477a49>] F __start_xen+0x1d71/0x24b8
>>>>>>    [<ffff82d0402043e7>] F __high_start+0xb7/0xc0
>>>>>>
>>>>>> Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387.c:195
>>>>>>
>>>>>> A few more lines from Xen:
>>>>>>     CPU Vendor: Intel, Family 6 (0x6), Model 86 (0x56), Stepping 3 (raw 00050663)
>>>>>>     Bootloader: GRUB 2.06
>>>>>>     [...]
>>>>>>     Enabling APIC mode.  Using 2 I/O APICs
>>>>>>     ENABLING IO-APIC IRQs
>>>>>>      -> Using old ACK method
>>>>>>      ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
>>>>>>     TSC deadline timer enabled
>>>>>>     Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387.c:195
>>>>>>
>>>>>> Commit this Xen is built from: 50936ea05660.
>>>>> Interesting, the efi_get_time() way is nowadays a fallback if cmos one
>>>>> isn't advertised. Can you try adding `cmos-rtc-probe`?
>>>>>
>>>>> Anyway, surely it shouldn't crash... The commit you mentioned has "No
>>>>> functional change intended", but well...
>>>> Well, no intended change.Â  It was a very big patch.
>>>>
>>>> Nothing should ever be using efi_get_time().Â  It's unusable (i.e.
>>>> crashing) on hundreds of millions of machines.
>>>>
>>>> So, while we obviously do need to fix the assertion, this is "only"
>>>> collateral damage from having fallen into the efi_get_time() path in the
>>>> first place.Â  That wants investigating too.
>>> Perhaps a reduced-hardware system with ACPI_FADT_NO_CMOS_RTC set?
>> The identified system is a Broadwell-D.
>>
>> Come to think of it, there were some systems of that era which (falsely)
>> claimed to have no CMOS.Â  (An HP Haswell Blade comes to mind, but it
>> will be a similar chipset.)
>>
>>> On such systems efi_get_time() would better work properly.
>> Wouldn't that have been nice.Â  On the bug I looked at at the time, it
>> was just as broken as prior systems.
>>
>> It's a vicious positive feedback cycle.Â  Windows and Linux ignore
>> efi_get_time() entirely because it's broken in a way you can't probe
>> for, and as a result the codepath get 0 testing by OEMs/ISVs and nothing
>> gets fixed.
> Do Linux and Windows then ignore ACPI_FADT_NO_CMOS_RTC on such systems? Else
> how would they establish wallclock time there?

I can't speak to windows, but the absence of a wallclock is not a
problem for Linux.

It shouldn't be for Xen either.Â  AIUI, we use the wallclock for two things:

* One of the boot timestamp modes
* vRTC->current_tm (only the internal baseline, which can be done with a
plain s_time_t instead)

Both have been tentatively agreed to be removed for MISRA reasons
(dropping gmtime() specifically), although there's been no real movement
here.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 15:25:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 15:25:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336816.1598592 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY3lC-0008CK-LK; Fri, 12 Jun 2026 15:25:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336816.1598592; Fri, 12 Jun 2026 15:25: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 1wY3lC-0008CC-GD; Fri, 12 Jun 2026 15:25:30 +0000
Received: by outflank-mailman (input) for mailman id 1336816;
 Fri, 12 Jun 2026 15:25:29 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebc701bfb000701b@swg.vates.tech>)
 id 1wY3lB-0008C1-MS
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 15:25:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY3lB-002bt7-3C
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 17:25:29 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebc701bfb000701b@swg.vates.tech>)
 id 6a2c24da-bab6-0a2a0a5309dd-0a2a450ad11e-18
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 17:25:29 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebc701bfb000701b@swg.vates.tech>)
 id 6a2c24e8-56b3-0a2a450a0019-b9ff1c128719-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 17:25:28 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebc701bfb000701b.006 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 15:25:24 +0000
Received: from l14 (lfbn-lyo-1-414-55.w2-7.abo.wanadoo.fr [2.7.24.55])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id 6C9E28658E;
 Fri, 12 Jun 2026 17:17:31 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=Vpw+mCX0aHIoAVGt1Kpz45VSL5bwFu8QnmjlQqsjias=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=a7Lg0BK3/yI+FJjJ2ch3LqomEg4wYH62jIBxgnthM6uMgPmq4h3JH9Iqi2uCpzBlhvyAt1ISZ
 5NPspGHgeVYWeOgdxxft34Dd0nrVWKm6GIiSeucBsh6RcaCNbhRaoxpX7H0HpPHL/UUx0HbHAAx
 IKq3DCw0J/RG/TQueRH5tXz6OcWBFiGOZ6yeAZVzbLAWZIjtmWuHQU+XyDQ2IuTJB7arXvQzhxE
 OVAHFU0L22J+/8EHfaLLq3ALxZnpoZsgYycEmG+1xplGDNgdkZtPM45xIWl90dZNqqmOsL9l25f
 y5RtCqWe1J2SqbMlVa6fKrJWoT3eQ+1Q4A9oDdBSfpFA==
X-Zone-Loop: 380102c53ae20017c498d6f25b67d644cafb2cb68326
x-campaign-type: default
x-transaction-id: 7617c933-f70c-4dd0-aade-a1eec2af7056
x-swg-uid: 01-815a1665-fa6d-4c68-a9aa-d48a6f0742c3
X-Mailer: Sweego
Message-ID:
 <1781277924.8631fc262581453bbf619ec5b2062170.19ebc701bfb000701b@vates.tech>
x-swg-bid: 1781277924.8631fc262581453bbf619ec5b2062170.19ebc701bfb000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 17:17:31 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>
Subject: Re: Assertion '!is_idle_vcpu(v)' failed after 'Remove
 fully_eager_fpu' commit on EFI
References: <1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@vates.tech>
 <aiwTkDUP6rDPbV6R@mail-itl>
 <0db98119-48f3-4edd-a422-8e50ee713b7c@citrix.com>
 <e84d6765-61fa-4203-a1ee-ac07f54a1026@suse.com>
 <48878ff6-ad36-448f-aa9d-6b37e2e179b1@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <48878ff6-ad36-448f-aa9d-6b37e2e179b1@citrix.com>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.142.cec64b929e0f79d6.19ebc68e54b.72557db34583c4d7=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781277451596
X-purgate-ID: tlsNG-4011c0/1781277929-733738B7-BEECD60A/0/0
X-purgate-type: clean
X-purgate-size: 2051

---=Part.142.cec64b929e0f79d6.19ebc68e54b.72557db34583c4d7=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Fri, Jun 12, 2026 at 03:32:00PM +0100, Andrew Cooper wrote:
> On 12/06/2026 3:20 pm, Jan Beulich wrote:
> > On 12=2E06=2E2026 16:18, Andrew Cooper wrote:
> >> Well, no intended change=2E=C2=A0 It was a very big patch=2E
> >>
> >> Nothing should ever be using efi_get_time()=2E=C2=A0 It's unusable (i=
=2Ee=2E
> >> crashing) on hundreds of millions of machines=2E
> >>
> >> So, while we obviously do need to fix the assertion, this is "only"
> >> collateral damage from having fallen into the efi_get_time() path in =
the
> >> first place=2E=C2=A0 That wants investigating too=2E
> > Perhaps a reduced-hardware system with ACPI_FADT_NO_CMOS_RTC set?
>=20
> The identified system is a Broadwell-D=2E
>=20
> Come to think of it, there were some systems of that era which (falsely)
> claimed to have no CMOS=2E=C2=A0 (An HP Haswell Blade comes to mind, but=
 it
> will be a similar chipset=2E)

Some info from the boot log about the machine:
    HPE ProLiant m510 Server Cartridge
    BIOS Version: H05 v1=2E98 (02/02/2023)
    System Memory: 32 GB
    1 Processor(s) detected, 8 total cores enabled, Hyperthreading is enab=
led
    Proc 1: Intel(R) Xeon(R) CPU D-1548 @ 2=2E00GHz
    HPE Power Profile Mode: Custom
    Power Regulator Mode: Dynamic Power Savings
    Advanced Memory Protection Mode: Advanced ECC Support
    Boot Mode: UEFI
    HPE SmartMemory authenticated in all populated DIMM slots=2E

One of the cartridge on a Moonshot=2E

> > On such systems efi_get_time() would better work properly=2E

I guess it works fine on this system=2E On a different cartridge, with a
Xen build prior to the commit, I have in the boot logs:

    Wallclock source: EFI


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vate=
s solutions

web: https://vates=2Etech
---=Part.142.cec64b929e0f79d6.19ebc68e54b.72557db34583c4d7=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 15:25:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 15:25:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336817.1598600 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY3lD-0008P1-PZ; Fri, 12 Jun 2026 15:25:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336817.1598600; Fri, 12 Jun 2026 15: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 1wY3lD-0008Ou-Mp; Fri, 12 Jun 2026 15:25:31 +0000
Received: by outflank-mailman (input) for mailman id 1336817;
 Fri, 12 Jun 2026 15:25:30 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebc701bf9000701b@swg.vates.tech>)
 id 1wY3lC-0008C7-ES
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 15:25:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY3lB-002bt7-RV
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 17:25:29 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebc701bf9000701b@swg.vates.tech>)
 id 6a2c24da-bab6-0a2a0a5309dd-0a2a450ad11e-20
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 17:25:29 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebc701bf9000701b@swg.vates.tech>)
 id 6a2c24e8-56b3-0a2a450a0019-b9ff1c128719-4
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 17:25:29 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebc701bf9000701b.006 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 15:25:24 +0000
Received: from l14 (lfbn-lyo-1-414-55.w2-7.abo.wanadoo.fr [2.7.24.55])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id E762886462;
 Fri, 12 Jun 2026 17:10:41 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=Tbr8I1iMpgkaLnf5k8Q5WSTqhhyF0+HBjO1e05ShTkM=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=LtNh/TtB9WqGO8j7DXWaRD3N5RsoDf4y855AHsLcaILCAhiuH6e9pTmaV8csj156nh83xXi4U
 i2Ick97mLyxuK4n0dDu/PArdu+xHcpLywNc0H0xOtzscMvctmjAzvEtXtrbwgBOIvTDo5I5ujv5
 szK/Y++anMN28JMvg4aB96oqbrMnFtBpBa8g4eNUgSlx4/TX5cySsRUfkXvJGZyJIXMqWfU3eud
 jCoPK1gwUvtabEx43Xkrj99vhR0qCF0CWOaRBxEF64gF/aPfKAhWRRD5Ddn1viKcXFkMjyboyrX
 sKIr8Iii5+Aa36LvqQFgHt+KjUxqHBJ1q9VFZqufY0+w==
X-Zone-Loop: c5768d63b932d4bc3f7e50284a7e203331568778d64a
x-campaign-type: default
x-transaction-id: 97beae1d-918d-46c6-a3ad-0555d056533b
x-swg-uid: 01-b2240e31-8749-4828-9362-b8ee94fea7a3
X-Mailer: Sweego
Message-ID:
 <1781277924.8631fc262581453bbf619ec5b2062170.19ebc701bf9000701b@vates.tech>
x-swg-bid: 1781277924.8631fc262581453bbf619ec5b2062170.19ebc701bf9000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 17:10:41 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
	xen-devel@lists.xenproject.org,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: Assertion '!is_idle_vcpu(v)' failed after 'Remove
 fully_eager_fpu' commit on EFI
References: <1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@vates.tech>
 <aiwTkDUP6rDPbV6R@mail-itl>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <aiwTkDUP6rDPbV6R@mail-itl>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.13e.ef8b376a96e155b6.19ebc62a5ad.4a6b569f23778037=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781277042094
X-purgate-ID: tlsNG-4011c0/1781277929-6FD588B7-0E4EC248/0/0
X-purgate-type: clean
X-purgate-size: 2250

---=Part.13e.ef8b376a96e155b6.19ebc62a5ad.4a6b569f23778037=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Fri, Jun 12, 2026 at 04:11:28PM +0200, Marek Marczykowski-G=C3=B3recki w=
rote:
> On Fri, Jun 12, 2026 at 03:53:49PM +0200, Anthony PERARD wrote:
> > Hi,
> >=20
> > Since commit dba44e051209 ("x86: Remove fully_eager_fpu"), I can't boo=
t
> > a machine and get assertion '!is_idle_vcpu(v)' failed instead=2E It's
> > netbooted and EFI=2E
> >=20
> > Xen call trace:
> >    [<ffff82d04033da2c>] R vcpu_save_fpu+0x65/0xdc
> >    [<ffff82d04029c5c4>] S efi_rs_enter+0x37/0x16a
> >    [<ffff82d04029c7e3>] F efi_get_time+0x19/0xb2
> >    [<ffff82d04047cbf0>] F init_xen_time+0x1e3/0x2b4
> >    [<ffff82d040477a49>] F __start_xen+0x1d71/0x24b8
> >    [<ffff82d0402043e7>] F __high_start+0xb7/0xc0
> >=20
> > Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387=2Ec:195
> >=20
> > A few more lines from Xen:
> >     CPU Vendor: Intel, Family 6 (0x6), Model 86 (0x56), Stepping 3 (ra=
w 00050663)
> >     Bootloader: GRUB 2=2E06
> >     [=2E=2E=2E]
> >     Enabling APIC mode=2E  Using 2 I/O APICs
> >     ENABLING IO-APIC IRQs
> >      -> Using old ACK method
> >      =2E=2ETIMER: vector=3D0xF0 apic1=3D0 pin1=3D2 apic2=3D-1 pin2=3D-=
1
> >     TSC deadline timer enabled
> >     Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387=2Ec:195
> >=20
> > Commit this Xen is built from: 50936ea05660=2E
>=20
> Interesting, the efi_get_time() way is nowadays a fallback if cmos one
> isn't advertised=2E Can you try adding `cmos-rtc-probe`?

Yep, that works=2E I could boot the machine=2E There's not much changes in
the logs, beside different memory mapping, and otherwise this:

    TSC deadline timer enabled
    Wallclock source: CMOS RTC
    Allocated console ring of 128 KiB=2E
    mwait-idle: MWAIT substates: 0x2120
    mwait-idle: lapic_timer_reliable_states 0x2
    HPET: 8 timers usable for broadcast (8 total)
    [=2E=2E=2E the rest of the boot]

Thanks,


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vate=
s solutions

web: https://vates=2Etech
---=Part.13e.ef8b376a96e155b6.19ebc62a5ad.4a6b569f23778037=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 15:36:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 15:36:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336835.1598608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY3vQ-00023C-Mw; Fri, 12 Jun 2026 15:36:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336835.1598608; Fri, 12 Jun 2026 15:36:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY3vQ-000235-KD; Fri, 12 Jun 2026 15:36:04 +0000
Received: by outflank-mailman (input) for mailman id 1336835;
 Fri, 12 Jun 2026 15:36:03 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <robh@kernel.org>) id 1wY3vP-00022z-NA
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 15:36:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY3vO-005zJ3-RC
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 17:36:02 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <robh@kernel.org>)
 id 6a2c2744-e002-0a2a0a5209dd-0a2a4502bdc4-30
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 17:36:02 +0200
Received: from [172.105.4.254] (helo=tor.source.kernel.org)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <robh@kernel.org>)
 id 6a2c2761-af86-0a2a45020019-ac6904fee266-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 17:36:02 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by tor.source.kernel.org (Postfix) with ESMTP id E13AC600AB;
 Fri, 12 Jun 2026 15:36:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 729861F000E9;
 Fri, 12 Jun 2026 15:36: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:From:To:Cc:Subject:References:In-Reply-To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1781278560;
	bh=hQCZKxKvkDpnPl+zzZRxKvokiXAFmUYWGGAQketIbJQ=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To;
	b=TZ0erxgk7x4rAjnfq6hP+rDy7OGNmrJTKBEDD4niSSuXTpcHq9FD8wi8jjmMWuinZ
	 Bs3G2WSUSpiomGX/o+lLWGD3jRIoIHF3zv8Rosa72QZQIAt9Rtqy8xha7XbgLLzTBd
	 khzRwzRhKKL8MxzmjqO4xASQvbX88n7xiXRkqhSY5CluvQMrDKQRbX5CsP9pJHzFAm
	 zoYiGWRig1AISdLfasWRpK+TH1aHxqRqGgYjynGNFQyf5rikGdcFBP73wT/sl3tt+t
	 Uudz0Hhgcm9XMlG5x3PajSx0NjvYFx3yFXW2DO+NjC6iE3kDc/Tm93q6O7aDtRlWTq
	 FDGQEthieY+hQ==
Date: Fri, 12 Jun 2026 10:35:59 -0500
From: Rob Herring <robh@kernel.org>
To: Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>
Cc: Nipun Gupta <nipun.gupta@amd.com>,
	Nikhil Agarwal <nikhil.agarwal@amd.com>,
	Joerg Roedel <joro@8bytes.org>, Will Deacon <will@kernel.org>,
	Robin Murphy <robin.murphy@arm.com>,
	Lorenzo Pieralisi <lpieralisi@kernel.org>,
	Marc Zyngier <maz@kernel.org>, Thomas Gleixner <tglx@kernel.org>,
	Saravana Kannan <saravanak@kernel.org>,
	Richard Zhu <hongxing.zhu@nxp.com>,
	Lucas Stach <l.stach@pengutronix.de>,
	Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= <kwilczynski@kernel.org>,
	Manivannan Sadhasivam <mani@kernel.org>,
	Bjorn Helgaas <bhelgaas@google.com>, Frank Li <Frank.Li@nxp.com>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	Fabio Estevam <festevam@gmail.com>, Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
	iommu@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
	devicetree@vger.kernel.org, linux-pci@vger.kernel.org,
	imx@lists.linux.dev, xen-devel@lists.xenproject.org,
	Charan Teja Kalla <charan.kalla@oss.qualcomm.com>,
	Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Subject: Re: [PATCH v16 0/3] of: parsing of multi #{iommu,msi}-cells in maps
Message-ID: <20260612153559.GA1082302-robh@kernel.org>
References: <20260603-parse_iommu_cells-v16-0-dc509dacb19a@oss.qualcomm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20260603-parse_iommu_cells-v16-0-dc509dacb19a@oss.qualcomm.com>
X-purgate-ID: tlsNG-720697/1781278562-8137C161-D224DC38/0/0
X-purgate-type: clean
X-purgate-size: 2526

On Wed, Jun 03, 2026 at 12:43:11PM +0530, Vijayanand Jitta wrote:
> So far our parsing of {iommu,msi}-map properties has always blindly
> assumed that the output specifiers will always have exactly 1 cell.
> This typically does happen to be the case, but is not actually enforced
> (and the PCI msi-map binding even explicitly states support for 0 or 1
> cells) - as a result we've now ended up with dodgy DTs out in the field
> which depend on this behaviour to map a 1-cell specifier for a 2-cell
> provider, despite that being bogus per the bindings themselves.
> 
> Since there is some potential use[1] in being able to map at least
> single input IDs to multi-cell output specifiers (and properly support
> 0-cell outputs as well), add support for properly parsing and using the
> target nodes' #cells values, albeit with the unfortunate complication of
> still having to work around expectations of the old behaviour too.
> 							-- Robin.
> 
> Unlike single #{}-cell, it is complex to establish a linear relation
> between input 'id' and output specifier for multi-cell properties, thus
> it is always expected that len never going to be > 1.
> 
> These changes have been tested on QEMU for the arm64 architecture and
> on the glymur platform [3].
> 
> Since, this would also need update in dt-schema, raised PR[2] for the
> same.
> 
> [1] https://lore.kernel.org/all/20250627-video_cb-v3-0-51e18c0ffbce@quicinc.com/
> [2] PR for iommu-map dtschema: https://github.com/devicetree-org/dt-schema/pull/184
> [3] https://lore.kernel.org/all/20260515-glymur-v6-5-f6a99cb43a24@oss.qualcomm.com/
> 
> V16:
>   - Patch 2: Fix potential NULL pointer dereference in of_msi_xlate()
>     when msi_np is NULL. Guard the of_check_msi_parent() call with
>     "if (msi_np && ...)" to handle the case where the caller passes
>     NULL for msi_np, as documented. Reported by Sashiko [1].
>   - Patch 2: Fix OF node refcount leak in of_msi_map_get_device_domain():
>     np was never released after of_msi_xlate() transferred ownership.
>   - Patch 3: Default to 1-cell output specifier when the target node
>     lacks the #iommu-cells/#msi-cells property, for backward
>     compatibility with controllers that predate the property
>     (e.g. arm,gic-v2m-frame). Reported by Sashiko [1].
>   - Patch 3: Add !cells_name to the initial parameter guard in
>     of_map_id() to prevent a crash if cells_name is NULL.
>     Reported by Sashiko [1].

I've applied the series, thanks.

Rob


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 15:41:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 15:41:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336845.1598618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY40R-0003on-92; Fri, 12 Jun 2026 15:41:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336845.1598618; Fri, 12 Jun 2026 15: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 1wY40R-0003og-69; Fri, 12 Jun 2026 15:41:15 +0000
Received: by outflank-mailman (input) for mailman id 1336845;
 Fri, 12 Jun 2026 15:41:13 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <bernhardkaindl7@gmail.com>) id 1wY40P-0003oY-7H
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 15:41:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY40O-00GbRW-KV
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 17:41:12 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <bernhardkaindl7@gmail.com>)
 id 6a2c2893-2eae-0a2a0a5409dd-0a2a45068c16-6
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 17:41:12 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <bernhardkaindl7@gmail.com>)
 id 6a2c2898-7371-0a2a45060019-d1558031d92e-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 17:41:12 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490b3637b90so8770505e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 08:41:12 -0700 (PDT)
Received: from ?IPV6:2a02:1748:f7df:8cb1:8428:5f57:cb30:5fcd?
 ([2a02:1748:f7df:8cb1:8428:5f57:cb30:5fcd])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490ea961f18sm61665845e9.2.2026.06.12.08.41.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Jun 2026 08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="In-Reply-To:From:Content-Language:References:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781278872; x=1781883672; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:to:subject:user-agent
         :mime-version:date:message-id:from:to:cc:subject:date:message-id
         :reply-to;
        bh=35ZiRbHcXFIuTMYGuABY0THVvr5nDzHFAHOY5N4BasU=;
        b=dNng9/MFgJwjNgRq1m0nkhC7sv2gcCqj2deSWALjys9tHYscsPfLrX4B4vwG66TJRl
         Y6lVohLnsWp77ZNPe+tGmA+y5Y8s3ZKMOTUQaeKHgMUAboi/+kuYFS1uiNkAdWbbQ2+/
         n4542tX+9TIg8j65aWz13tM3Fheik35fhqF9RuzQmn5D1+SUIhoMJq/XSx7lNFV9xGzd
         NxlMmaKLrQqTNlSbVgfKWoc3oIonpo/xEJr6Gl9hHcyCfCi2f5hgzruELDXM2uRgYuJb
         +p/a9X8PzVYMOkqXXaAQrutZhc0vfl6IFCkkko7yZ8OqMYwYDfncZImIY4Ws8uWgsUs6
         kzMg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781278872; x=1781883672;
        h=in-reply-to:from:content-language:references:to:subject:user-agent
         :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=35ZiRbHcXFIuTMYGuABY0THVvr5nDzHFAHOY5N4BasU=;
        b=lKMGYNf2WW8ZsEBcQLNYjj09Pr89zLGVRVy/gP4ejC29AbyKe2jhI2oTMYayZd/qcw
         qVgkAsfcVJkD/fGrRMpm5JD5/1H2y+m0trH14doWOpzlCVPOHb+R+bfAiCaJoKTbm3GT
         H/bY/SNE0TgsxUSQBMFXYpds7aMZhystpZrhhOdJw1DY/XK2uIHfIYO8ITJQ3h99RUB7
         Fd1D3CSviFavgl2I1HLMIf7aN9A5KzVhBTXcZy8XBCh0AhsOJMvuC6mRw33W0WB/0ZZr
         cdQUSAnCA03ECFsaTSrvY5Y5qdmzYb1a3AnD6wWRmpYkvGesm/1F+EU/y5wtAPMy+3Nv
         phbQ==
X-Gm-Message-State: AOJu0Yy2ZRfoADw0u1JaxybJIWo82psAXNeOjYpFKeLL+qN/Gckl1jW+
	2leadpQAMB81+S0Nzgu/9/sUWSVe3xLJk9tKUuVda0PV0ETra81y7yyY95VM0A==
X-Gm-Gg: Acq92OH0ubj0Hy3dv1EhsiakaAUCqH8FEDNywVG1GCjXyyGMI+oWH1FSeR5NbFruVEr
	GAwx09zdfSjBsy/pBzau05TlytrqH/4wPmfofMea6P1Bx47VJ1vQI1cL+pZDJ85kWUvI5Ms5tTj
	mhJoyoDhDtj1AoJ/RAi7m5DmylkAIPVeCRV0pIoAE8OH+eJfMAckagKIheQSOgkXPIU3imVq+hh
	n64W3llCfRmgw8M2rr7XkT9iklqH4LG7YXwcSEWNe2v+ZfeExG8+4t3Olb84qQY50s78f92WB03
	QiuVVbFoTMzZFjz5hhd0ApIwxaF5CP71a0QO99pSf6sJRcUUkUtTCtPZqNI9yjy2JTAbA4z/tGD
	CxBnZ8ND3PaU56wjYE2Ez87VFCSX+7nrbOL/IOgW7fX3zaZfpX0EGkpp4dcnGqxsa3nkthDVeZ9
	mvvjw7YRm0Bf7LK/OJZLq2+PqAJ/7Q2mO6QZ9jL7zHAKKwQxKmQiLF0q1moz63gWtvr9cwRoyjQ
	VV+PxhJ1iC8wbI=
X-Received: by 2002:a05:600c:46c4:b0:490:e60b:5fd6 with SMTP id 5b1f17b1804b1-490ec4e7b61mr47904535e9.29.1781278871792;
        Fri, 12 Jun 2026 08:41:11 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------LCntiB06HltbOa9A5wVnM96m"
Message-ID: <8b51a40e-028a-42aa-a7e4-55a731ebe10e@gmail.com>
Date: Fri, 12 Jun 2026 17:41:07 +0200
MIME-Version: 1.0
User-Agent: Thunderbird Daily
Subject: [PATCH] x86/efi: Skip FPU save/restore for idle vCPU in EFI, runtime
 path
To: xen-devel@lists.xenproject.org, Anthony PERARD
 <anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>
References: <1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@vates.tech>
 <957a0fea-4099-4470-9b40-3f8b294c44dc@suse.com>
Content-Language: en-US
From: Bernhard Kaindl <bernhardkaindl7@gmail.com>
In-Reply-To: <957a0fea-4099-4470-9b40-3f8b294c44dc@suse.com>
X-purgate-ID: tlsNG-16d1c6/1781278872-85F6BD75-3F508F5F/0/0
X-purgate-type: clean
X-purgate-size: 11282

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

Hi Anthony, could you test this patch which exactly applies the changes 
Jan suggested? Summary:
Guard both EFI runtime FPU calls with !is_idle_vcpu() to skip save/restore
for idle vCPUs, which don't have an FPU context to save/restore,
much like the calls are guarded in __context_switch(),
where save/restore is done only for non-idle vCPUs.
As these simple guards should preferably go into Xen 4.22: Please test 
if there are any further regressions with the 'cmos-rtc-probe' 
workaround you just added removed to check if guarding the assertions as 
Jan suggested is enough to fix the issues triggered on your machine. 
Thanks, Bernhard The patch to test follows: [PATCH] x86/efi: Skip FPU 
save/restore for idle vCPU in EFI, runtime path
Anthony reported a boot-time crash in init_xen_time() via efi_get_time()
on a Broadwell-D system:
 Â  Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387.c:195
The failing path is an EFI runtime call reached early during boot,
where current may still be the idle vCPU.
This became fragile after the lazy-FPU removal cleanup series.
In 1792bb9a99d2 ("x86: Cleanup cr0.TS flag handling"),
efi_rs_enter() was changed from save_fpu_enable() to vcpu_save_fpu(curr),
which unconditionally asserts !is_idle_vcpu(v)
so an EFI runtime call in idle context now asserts.
Likewise, in dba44e051209 ("x86: Remove fully_eager_fpu"),
efi_rs_leave() was changed to call vcpu_restore_fpu(curr),
which has the same assertion and can fail for the same reason.
Guard both EFI runtime FPU calls with !is_idle_vcpu() to skip save/restore
for idle vCPUs, which don't have an FPU context to save/restore,
much like the calls are guarded in __context_switch(),
where save/restore is done only for non-idle vCPUs.
Fixes: 1792bb9a99d2 ("x86: Cleanup cr0.TS flag handling")
Fixes: dba44e051209 ("x86: Remove fully_eager_fpu")
Reported-by: Anthony PERARD <anthony.perard@vates.tech>
Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
---
 Â xen/common/efi/runtime.c | 6 ++++--
 Â 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
index a23fa75e37..596f2710fb 100644
--- a/xen/common/efi/runtime.c
+++ b/xen/common/efi/runtime.c
@@ -98,7 +98,8 @@ struct efi_rs_state efi_rs_enter(void)
 Â  Â  Â  */
 Â  Â  Â sync_local_execstate();
 Â  Â  Â state.cr3 = read_cr3();
- Â  Â vcpu_save_fpu(current);
+ Â  Â if ( !is_idle_vcpu(current) )
+ Â  Â  Â  Â vcpu_save_fpu(current);
 Â  Â  Â asm volatile ( "fnclex; fldcw %0" :: "m" (fcw) );
 Â  Â  Â asm volatile ( "ldmxcsr %0" :: "m" (mxcsr) );
@@ -159,7 +160,8 @@ void efi_rs_leave(struct efi_rs_state *state)
 Â  Â  Â }
 Â  Â  Â irq_exit();
 Â  Â  Â spin_unlock(&efi_rs_lock);
- Â  Â vcpu_restore_fpu(curr);
+ Â  Â if ( !is_idle_vcpu(curr) )
+ Â  Â  Â  Â vcpu_restore_fpu(curr);
 Â }
 Â unsigned long efi_get_time(void)
-- 
2.43.0
--- PS: The suggestion by Jan to fix this issue: On 12/06/2026 16:17, 
Jan Beulich wrote:
> The thinko looks to be in 4b9851c64522 ("x86: Remove fpu_initialised/fpu_dirty"):
> While vcpu_restore_fpu() indeed unconditionally set the two boolean fields to
> true at that point, idle vCPU-s may never make it through that function, and
> hence ->fpu_dirtied would have remained false, triggering the (original) early
> exit from _vcpu_save_fpu(). Perhaps all we can do now is guard the call to
> vcpu_save_fpu() (and also the one to vcpu_restore_fpu() out of efi_rs_leave())
> by explicit is_idle_vcpu() checks. Much like the calls are guarded in
> __context_switch().
>
> Jan
--------------LCntiB06HltbOa9A5wVnM96m
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>
    <div
style="color: #000000;background-color: #ffffff;font-family: Consolas, 'Courier New', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;"><span
    style="color: #000000;">Hi Anthony,

</span>could you test this patch which exactly applies the changes Jan suggested?

Summary:

<div><span style="color: #000000;">Guard both EFI runtime FPU calls with !is_idle_vcpu() to skip save/restore</span></div><div><span
    style="color: #000000;">for idle vCPUs, which don't have an FPU context to save/restore,</span></div><div><span
    style="color: #000000;">much like the calls are guarded in __context_switch(),</span></div><div><span
    style="color: #000000;">where save/restore is done only for non-idle vCPUs.</span></div>
As these simple guards should preferably go into Xen 4.22:

Please test if there are any further regressions with
<span style="white-space: pre-wrap">the 'cmos-rtc-probe' </span>workaround you just added removed
to check if guarding the assertions as Jan suggested is enough
to fix the issues triggered on your machine.

Thanks,

 Bernhard

The patch to test follows:

[PATCH] x86/efi: Skip FPU save/restore for idle vCPU in EFI, runtime path

<div><span style="color: #000000;">Anthony reported a boot-time crash in init_xen_time() via efi_get_time()</span></div><div><span
    style="color: #000000;">on a Broadwell-D system:</span></div>
<div><span style="color: #000000;">Â  Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387.c:195</span></div>
<div><span style="color: #000000;">The failing path is an EFI runtime call reached early during boot,</span></div><div><span
    style="color: #000000;">where current may still be the idle vCPU.</span></div>
<div><span style="color: #000000;">This became fragile after the lazy-FPU removal cleanup series.</span></div>
<div><span style="color: #000000;">In 1792bb9a99d2 ("x86: Cleanup cr0.TS flag handling"),</span></div><div><span
    style="color: #000000;">efi_rs_enter() was changed from save_fpu_enable() to vcpu_save_fpu(curr),</span></div><div><span
    style="color: #000000;">which unconditionally asserts !is_idle_vcpu(v)</span></div><div><span
    style="color: #000000;">so an EFI runtime call in idle context now asserts.</span></div>
<div><span style="color: #000000;">Likewise, in dba44e051209 ("x86: Remove fully_eager_fpu"),</span></div><div><span
    style="color: #000000;">efi_rs_leave() was changed to call vcpu_restore_fpu(curr),</span></div><div><span
    style="color: #000000;">which has the same assertion and can fail for the same reason.</span></div>
<div><span style="color: #000000;">Guard both EFI runtime FPU calls with !is_idle_vcpu() to skip save/restore</span></div><div><span
    style="color: #000000;">for idle vCPUs, which don't have an FPU context to save/restore,</span></div><div><span
    style="color: #000000;">much like the calls are guarded in __context_switch(),</span></div><div><span
    style="color: #000000;">where save/restore is done only for non-idle vCPUs.</span></div>
<div><span style="color: #000000;">Fixes: 1792bb9a99d2 ("x86: Cleanup cr0.TS flag handling")</span></div><div><span
    style="color: #000000;">Fixes: dba44e051209 ("x86: Remove fully_eager_fpu")</span></div><div><span
    style="color: #000000;">Reported-by: Anthony PERARD <a class="moz-txt-link-rfc2396E" href="mailto:anthony.perard@vates.tech">&lt;anthony.perard@vates.tech&gt;</a></span></div><div><span
    style="color: #000000;">Suggested-by: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a></span></div><div><span
    style="color: #000000;">Signed-off-by: Bernhard Kaindl <a class="moz-txt-link-rfc2396E" href="mailto:bernhard.kaindl@citrix.com">&lt;bernhard.kaindl@citrix.com&gt;</a></span></div><div><span
    style="color: #000000;">---</span></div><div><span
    style="color: #000000;">Â xen/common/efi/runtime.c | 6 ++++--</span></div><div><span
    style="color: #000000;">Â 1 file changed, 4 insertions(+), 2 deletions(-)</span></div>
<div><span style="color: #000080;">diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c</span></div><div><span
    style="color: #000000;">index a23fa75e37..596f2710fb 100644</span></div><div><span
    style="color: #000080;">--- a/xen/common/efi/runtime.c</span></div><div><span
    style="color: #000080;">+++ b/xen/common/efi/runtime.c</span></div><div><span
    style="color: #000000;">@@ -98,7 +98,8 @@ struct efi_rs_state efi_rs_enter(void)</span></div><div><span
    style="color: #000000;">Â  Â  Â  */</span></div><div><span
    style="color: #000000;">Â  Â  Â sync_local_execstate();</span></div><div><span
    style="color: #000000;">Â  Â  Â state.cr3 = read_cr3();</span></div><div><span
    style="color: #a31515;">- Â  Â vcpu_save_fpu(current);</span></div><div><span
    style="color: #098658;">+ Â  Â if ( !is_idle_vcpu(current) )</span></div><div><span
    style="color: #098658;">+ Â  Â  Â  Â vcpu_save_fpu(current);</span></div><div><span
    style="color: #000000;">Â  Â  Â asm volatile ( "fnclex; fldcw %0" :: "m" (fcw) );</span></div><div><span
    style="color: #000000;">Â  Â  Â asm volatile ( "ldmxcsr %0" :: "m" (mxcsr) );</span></div><div><span
    style="color: #000000;">Â </span></div><div><span
    style="color: #000000;">@@ -159,7 +160,8 @@ void efi_rs_leave(struct efi_rs_state *state)</span></div><div><span
    style="color: #000000;">Â  Â  Â }</span></div><div><span
    style="color: #000000;">Â  Â  Â irq_exit();</span></div><div><span
    style="color: #000000;">Â  Â  Â spin_unlock(&amp;efi_rs_lock);</span></div><div><span
    style="color: #a31515;">- Â  Â vcpu_restore_fpu(curr);</span></div><div><span
    style="color: #098658;">+ Â  Â if ( !is_idle_vcpu(curr) )</span></div><div><span
    style="color: #098658;">+ Â  Â  Â  Â vcpu_restore_fpu(curr);</span></div><div><span
    style="color: #000000;">Â }</span></div><div><span
    style="color: #000000;">Â </span></div><div><span
    style="color: #000000;">Â unsigned long efi_get_time(void)</span></div><div><span
    style="color: #a31515;">-- </span></div><div><span
    style="color: #000000;">2.43.0</span></div><span
    style="white-space: normal">
---
PS: The suggestion by Jan to fix this issue:

On 12/06/2026 16:17, Jan Beulich wrote:</span></div>
    <blockquote type="cite"
      cite="mid:957a0fea-4099-4470-9b40-3f8b294c44dc@suse.com">
      <pre wrap="" class="moz-quote-pre">The thinko looks to be in 4b9851c64522 ("x86: Remove fpu_initialised/fpu_dirty"):
While vcpu_restore_fpu() indeed unconditionally set the two boolean fields to
true at that point, idle vCPU-s may never make it through that function, and
hence -&gt;fpu_dirtied would have remained false, triggering the (original) early
exit from _vcpu_save_fpu(). Perhaps all we can do now is guard the call to
vcpu_save_fpu() (and also the one to vcpu_restore_fpu() out of efi_rs_leave())
by explicit is_idle_vcpu() checks. Much like the calls are guarded in
__context_switch().

Jan</pre>
    </blockquote>
  </body>
</html>

--------------LCntiB06HltbOa9A5wVnM96m--


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 16:00:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 16:00:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336868.1598628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY4J6-0007d2-Ru; Fri, 12 Jun 2026 16:00:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336868.1598628; Fri, 12 Jun 2026 16:00: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 1wY4J6-0007cu-OD; Fri, 12 Jun 2026 16:00:32 +0000
Received: by outflank-mailman (input) for mailman id 1336868;
 Fri, 12 Jun 2026 16:00:30 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebc903979000701b@swg.vates.tech>)
 id 1wY4J4-0007Xt-Po
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 16:00:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY4J3-008y3d-Vf
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 18:00:29 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebc903979000701b@swg.vates.tech>)
 id 6a2c2d16-bab6-0a2a0a5309dd-0a2a4505e6ea-24
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 18:00:29 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebc903979000701b@swg.vates.tech>)
 id 6a2c2d1d-aaa8-0a2a45050019-b9ff1c12a613-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 18:00:29 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebc903979000701b.002 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 16:00:29 +0000
Received: from l14 (lfbn-lyo-1-414-55.w2-7.abo.wanadoo.fr [2.7.24.55])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id 5F3EF865B3;
 Fri, 12 Jun 2026 18:00:28 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=3MDYORQ2/HObof12QTlwkRL6Zu9+9HTrgmSn8/TCx1k=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=PQfaBpfVece4r+LkcrWdzWxxn5VpbXqknHsV2micAE5H6duknr24LKXdgOJbgDxHQ1yf1aCMX
 yQDJSebzE6Rg/jg6dSYziYxCnMWQUmIit+uvuJCHpkbRzJUS2GYfasPIfx3VLpDoI2gJfVZPjPH
 rN0ASgMPK2icHS5Vr2XR0HR+ARhZ65Lk0NMRZvGeqDkLQNQ0sF00n8TcJBaX1gdjMitJdyg/J//
 NuYGR/HG58jpZyftudnjNM3H8c+fMimOTGj3qlnpSWXqHqiIEDhcIZEi7+ONEeDaNQNXNtH1qqr
 ublhHxbGUfadXRRESs6PS7d6tsw8kADeAqBdN+tjZO0g==
X-Zone-Loop: 29556d0dec5914c2345b15765337294f43315ee53143
x-campaign-type: default
x-transaction-id: 8ba2bf3a-e7eb-4faf-ba07-62c3d6663f5e
x-swg-uid: 01-51e3ce32-87a9-4dcb-b3a7-9c81f4801e1a
X-Mailer: Sweego
Message-ID:
 <1781280029.8631fc262581453bbf619ec5b2062170.19ebc903979000701b@vates.tech>
x-swg-bid: 1781280029.8631fc262581453bbf619ec5b2062170.19ebc903979000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 18:00:28 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: Bernhard Kaindl <bernhardkaindl7@gmail.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH] x86/efi: Skip FPU save/restore for idle vCPU in EFI,
 runtime path
References: <1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@vates.tech>
 <957a0fea-4099-4470-9b40-3f8b294c44dc@suse.com>
 <8b51a40e-028a-42aa-a7e4-55a731ebe10e@gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <8b51a40e-028a-42aa-a7e4-55a731ebe10e@gmail.com>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.14c.11b94f4865e79323.19ebc903737.aeb62011a2203c77=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781280028471
X-purgate-ID: tlsNG-c201ff/1781280029-DB16D443-0FC8BD84/0/0
X-purgate-type: clean
X-purgate-size: 1259

---=Part.14c.11b94f4865e79323.19ebc903737.aeb62011a2203c77=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Fri, Jun 12, 2026 at 05:41:07PM +0200, Bernhard Kaindl wrote:
> Hi Anthony, could you test this patch which exactly applies the changes =
Jan
> suggested? Summary:

Sure but could you use `git send-email` to send patch please? Trying to
apply this email is not fun=2E The patch part is just corrupted=2E I might
try to edit the source by hand=2E=2E=2E

If you have a good setup, sending a patch is really just `git send-email
-1`, if you want to send it as a reply to an email, there's
`--in-reply-to` for that, but that's not really necessary, and sometime
counter productive=2E And no need to for `--cc` to CC me, has `git` can
also pick that up from the "reported-by"=2E ;-)

If you want to add comments to a patch, and not have it committed, do not
use "PS:" after a signature=2E Add it between the "---" line and the first
line starting by "diff ", like git do with the diffstat=2E

Cheers,


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vate=
s solutions

web: https://vates=2Etech
---=Part.14c.11b94f4865e79323.19ebc903737.aeb62011a2203c77=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 16:58:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 16:58:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336906.1598636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY5Cb-0006JL-Ob; Fri, 12 Jun 2026 16:57:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336906.1598636; Fri, 12 Jun 2026 16: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 1wY5Cb-0006JE-LV; Fri, 12 Jun 2026 16:57:53 +0000
Received: by outflank-mailman (input) for mailman id 1336906;
 Fri, 12 Jun 2026 16:57:52 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <bernhard.kaindl@citrix.com>) id 1wY5Ca-0006J8-8r
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 16:57:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY5CZ-0096qn-M5
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 18:57:51 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a2c3a85-2eae-0a2a0a5409dd-0a2a4501be58-10
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 18:57:51 +0200
Received: from [160.101.131.8] (helo=na1pdmzitismtp01.tibco.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <bernhard.kaindl@citrix.com>)
 id 6a2c3a8e-c1f2-0a2a45010019-a0658308907c-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 18:57:51 +0200
Received: from debian.eng.citrite.net (unknown [10.113.40.46])
 by na1pdmzitismtp01.tibco.com (Postfix) with ESMTP id 347F2449F6A3;
 Fri, 12 Jun 2026 12:56:39 -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>
Authentication-Results: eu.smtp.expurgate.cloud; none
From: Bernhard Kaindl <bernhard.kaindl@citrix.com>
To: xen-devel@lists.xenproject.org,
	Anthony PERARD <anthony.perard@vates.tech>
Cc: Bernhard Kaindl <bernhard.kaindl@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/efi: Skip FPU save/restore for idle vCPU in EFI runtime path
Date: Fri, 12 Jun 2026 17:54:36 +0100
Message-Id: <8de2649558826621d49b404cae7a874f504e6b86.1781282640.git.bernhard.kaindl@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1781283471-B655DFF4-38E03CD2/0/0
X-purgate-type: clean
X-purgate-size: 3114

Anthony reported a boot-time assertion in init_xen_time() via efi_get_time()
-> efi_rs_enter() in vcpu_save_fpu() on a Broadwell-D system:

  Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387.c:195

This became fragile after the lazy-FPU removal cleanup series:

In 1792bb9a99d2 ("x86: Cleanup cr0.TS flag handling"),
efi_rs_enter() was changed from save_fpu_enable() to vcpu_save_fpu(curr),
which unconditionally asserts !is_idle_vcpu(v)
so an EFI runtime call in idle context now asserts.

Likewise, in dba44e051209 ("x86: Remove fully_eager_fpu"),
efi_rs_leave() was changed to call vcpu_restore_fpu(curr),
which has the same assertion and can fail for the same reason.

Guard both EFI runtime FPU calls with !is_idle_vcpu() to skip save/restore
for idle vCPUs, which don't have an FPU context to save/restore,
much like the calls are guarded in __context_switch(),
where save/restore is done only for non-idle vCPUs.

Fixes: 1792bb9a99d2 ("x86: Cleanup cr0.TS flag handling")
Fixes: dba44e051209 ("x86: Remove fully_eager_fpu")
Reported-by: Anthony PERARD <anthony.perard@vates.tech>
Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
---
 xen/common/efi/runtime.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Jan Beulich's suggestion to guard the calls to vcpu_save_fpu() and
vcpu_restore_fpu() in the EFI runtime path with is_idle_vcpu() checks
seems to be the right approach to fix the assertion failure for idle vCPUs:

> The thinko looks to be in 4b9851c64522 ("x86: Remove fpu_initialised/fpu_dirty"):
> While vcpu_restore_fpu() indeed unconditionally set the two boolean fields to
> true at that point, idle vCPU-s may never make it through that function, and
> hence ->fpu_dirtied would have remained false, triggering the (original) early
> exit from _vcpu_save_fpu(). Perhaps all we can do now is guard the call to
> vcpu_save_fpu() (and also the one to vcpu_restore_fpu() out of efi_rs_leave())
> by explicit is_idle_vcpu() checks. Much like the calls are guarded in
> __context_switch().

Anthony, could you test this with the 'cmos-rtc-probe' workaround you just
added removed to check if guarding the assertions as Jan suggested is enough
to fix the issues triggered on your machine?

diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
index a23fa75e3740..596f2710fb21 100644
--- a/xen/common/efi/runtime.c
+++ b/xen/common/efi/runtime.c
@@ -98,7 +98,8 @@ struct efi_rs_state efi_rs_enter(void)
      */
     sync_local_execstate();
     state.cr3 = read_cr3();
-    vcpu_save_fpu(current);
+    if ( !is_idle_vcpu(current) )
+        vcpu_save_fpu(current);
     asm volatile ( "fnclex; fldcw %0" :: "m" (fcw) );
     asm volatile ( "ldmxcsr %0" :: "m" (mxcsr) );
 
@@ -159,7 +160,8 @@ void efi_rs_leave(struct efi_rs_state *state)
     }
     irq_exit();
     spin_unlock(&efi_rs_lock);
-    vcpu_restore_fpu(curr);
+    if ( !is_idle_vcpu(curr) )
+        vcpu_restore_fpu(curr);
 }
 
 unsigned long efi_get_time(void)
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Jun 12 17:30:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 17:30:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336954.1598645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY5hb-0001zN-Tc; Fri, 12 Jun 2026 17:29:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336954.1598645; Fri, 12 Jun 2026 17: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 1wY5hb-0001zG-QF; Fri, 12 Jun 2026 17:29:55 +0000
Received: by outflank-mailman (input) for mailman id 1336954;
 Fri, 12 Jun 2026 17:29:55 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebce20767000701b@swg.vates.tech>)
 id 1wY5hb-0001zA-2C
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 17:29:55 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY5hZ-00Gq88-W9
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 19:29:54 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebce20767000701b@swg.vates.tech>)
 id 6a2c41fe-5cb7-0a2a0a5109dd-0a2a450cb49a-8
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 19:29:53 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ebce20767000701b@swg.vates.tech>)
 id 6a2c4211-62f1-0a2a450c0019-b9ff1c128073-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 19:29:53 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ebce20767000701b.004 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 12 Jun 2026 17:29:50 +0000
Received: from l14 (unknown [82.67.99.167])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id 53BFF865E3;
 Fri, 12 Jun 2026 19:29:49 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=pfeU4m7B3yotx6EMWP6xqFgVmAAjbrDQE6H7yN6E2wE=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=L4eHHogL7N/eLa+8vkoa3A6XFdJ9Zh36UuLT3/4a66tNIQCFeH/ZPW5ZrNtQKoa4j9W1dmU+x
 x36p0pfx3lyMG+zjjKptRiPm0X1Hqo5qRqPbEI7ACV6J4Lc6WaFVzDW+56tGitCtAwZLHYe2kMT
 mIbZfZYj5u3ijripgXgiBJB93Ls/3w8+ZdtJ3sMaINOVoDrLpoXWsF4u14VFRk+1OKPrbfV50DL
 j5IEfsU6o4/EX0w5kl7dUi2H8LI6zeLqNuatUNRyS3w3LyvEEw0btgqmr8evWi6D0srkTC0aAdN
 2gX2NlXUztf2gDZudd+fCAofNEYgnbVwlzhuiY0GtJrw==
X-Zone-Loop: d1149887ae0c6e5c594306c5c37a4cae8d5aa19d1961
x-campaign-type: default
x-transaction-id: dce315c6-e3b2-4eef-8b33-46b066d71cfd
x-swg-uid: 01-0e473e46-d154-4f98-927e-9df6db961908
X-Mailer: Sweego
Message-ID:
 <1781285390.8631fc262581453bbf619ec5b2062170.19ebce20767000701b@vates.tech>
x-swg-bid: 1781285390.8631fc262581453bbf619ec5b2062170.19ebce20767000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 12 Jun 2026 19:29:49 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: Bernhard Kaindl <bernhard.kaindl@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH] x86/efi: Skip FPU save/restore for idle vCPU in EFI
 runtime path
References: <8de2649558826621d49b404cae7a874f504e6b86.1781282640.git.bernhard.kaindl@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <8de2649558826621d49b404cae7a874f504e6b86.1781282640.git.bernhard.kaindl@citrix.com>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.154.fa57a385a660c6ea.19ebce204b1.956fbd88cbecb468=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781285389490
X-purgate-ID: tlsNG-d25034/1781285393-E3370CF5-C512CB85/0/0
X-purgate-type: clean
X-purgate-size: 3082

---=Part.154.fa57a385a660c6ea.19ebce204b1.956fbd88cbecb468=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Fri, Jun 12, 2026 at 05:54:36PM +0100, Bernhard Kaindl wrote:
> Anthony reported a boot-time assertion in init_xen_time() via efi_get_ti=
me()
> -> efi_rs_enter() in vcpu_save_fpu() on a Broadwell-D system:
>=20
>   Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387=2Ec:195
>=20
> This became fragile after the lazy-FPU removal cleanup series:
>=20
> In 1792bb9a99d2 ("x86: Cleanup cr0=2ETS flag handling"),
> efi_rs_enter() was changed from save_fpu_enable() to vcpu_save_fpu(curr)=
,
> which unconditionally asserts !is_idle_vcpu(v)
> so an EFI runtime call in idle context now asserts=2E
>=20
> Likewise, in dba44e051209 ("x86: Remove fully_eager_fpu"),
> efi_rs_leave() was changed to call vcpu_restore_fpu(curr),
> which has the same assertion and can fail for the same reason=2E
>=20
> Guard both EFI runtime FPU calls with !is_idle_vcpu() to skip save/resto=
re
> for idle vCPUs, which don't have an FPU context to save/restore,
> much like the calls are guarded in __context_switch(),
> where save/restore is done only for non-idle vCPUs=2E
>=20
> Fixes: 1792bb9a99d2 ("x86: Cleanup cr0=2ETS flag handling")
> Fixes: dba44e051209 ("x86: Remove fully_eager_fpu")
> Reported-by: Anthony PERARD <anthony=2Eperard@vates=2Etech>
> Suggested-by: Jan Beulich <jbeulich@suse=2Ecom>
> Signed-off-by: Bernhard Kaindl <bernhard=2Ekaindl@citrix=2Ecom>
> ---
>  xen/common/efi/runtime=2Ec | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>=20
> Jan Beulich's suggestion to guard the calls to vcpu_save_fpu() and
> vcpu_restore_fpu() in the EFI runtime path with is_idle_vcpu() checks
> seems to be the right approach to fix the assertion failure for idle vCP=
Us:
>=20
> > The thinko looks to be in 4b9851c64522 ("x86: Remove fpu_initialised/f=
pu_dirty"):
> > While vcpu_restore_fpu() indeed unconditionally set the two boolean fi=
elds to
> > true at that point, idle vCPU-s may never make it through that functio=
n, and
> > hence ->fpu_dirtied would have remained false, triggering the (origina=
l) early
> > exit from _vcpu_save_fpu()=2E Perhaps all we can do now is guard the c=
all to
> > vcpu_save_fpu() (and also the one to vcpu_restore_fpu() out of efi_rs_=
leave())
> > by explicit is_idle_vcpu() checks=2E Much like the calls are guarded i=
n
> > __context_switch()=2E
>=20
> Anthony, could you test this with the 'cmos-rtc-probe' workaround you ju=
st
> added removed to check if guarding the assertions as Jan suggested is en=
ough
> to fix the issues triggered on your machine?

Yes, that patch works=2E I've also checked that I have
"Wallclock source: EFI" in the boot logs=2E

Tested-by: Anthony PERARD <anthony=2Eperard@vates=2Etech>

Thanks,


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vate=
s solutions

web: https://vates=2Etech
---=Part.154.fa57a385a660c6ea.19ebce204b1.956fbd88cbecb468=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 18:04:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 18:04:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336972.1598655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY6EN-00075l-AJ; Fri, 12 Jun 2026 18:03:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336972.1598655; Fri, 12 Jun 2026 18:03: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 1wY6EN-00075e-5j; Fri, 12 Jun 2026 18:03:47 +0000
Received: by outflank-mailman (input) for mailman id 1336972;
 Fri, 12 Jun 2026 18:03:46 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wY6EL-00075Y-Vp
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 18:03:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY6EK-00Go18-U9
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 20:03:44 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2c49b0-5cb7-0a2a0a5109dd-0a2a4502c44a-40
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 20:03:44 +0200
Received: from [209.85.128.47] (helo=mail-wm1-f47.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2c4a00-af86-0a2a45020019-d155802fb52e-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 20:03:44 +0200
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-490cf3000f0so13298525e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 11:03:44 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2b1056sm7859230f8f.18.2026.06.12.11.03.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 12 Jun 2026 11:03: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1781287424; x=1781892224; 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=1SacTP91qWXXzSz6L+kpcrKqGEHKQAv04pOhjTLw2RQ=;
        b=uWHD3IpnshqAuGABiiQm7sM52FqIaIKsj6X7aRe3j8wdrM4IylP9mX4E/qiBdXz9Gn
         BaHsEy2vgKublndCRtvUII6h6qrbViqFkso345d6DXg56B232vwSdyYvRySTovQBXROK
         PEaOh+uz1TDH07gRf/0zJ9Frjk/oOWFIlI0Tg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781287424; x=1781892224;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1SacTP91qWXXzSz6L+kpcrKqGEHKQAv04pOhjTLw2RQ=;
        b=mG7B4KamXNiSQmTg5hwspZHcpxVeOwbpYCqkLBEgaalt0i7VZx6QbysR4QXIExhpty
         E1qtDS52hcjuKsWWzfPxT3mmzPYmLrHz3ck8ah4p6YPuikOpN7r6c+npQrK+psJ1F6mU
         ZsW8XLGPQF8p7yPivEW57i2cwVz+REPYvYYkdFknPB3S0kYRMJLVmUJyprX0v1O2onw4
         6b62qp0Tuxhb/tuohyzduqJTs5RXzGdV1wEozfVvsmgAI+tyQaRReTBD+HDLvfuSPaae
         LgebSgBuzNaHeLQ1dSZImam59TUT9LC4nWWHkbE0OgZgUpbJ7w1VqJPwyzJDAYxNvrQY
         U/zA==
X-Gm-Message-State: AOJu0YzH2JQVLqXuceC5fzBFt+Am8ikgLEkWjpUZvT8u/8dzrpUY3OOZ
	wU974JnPGQNDwzc8Sp7dr+zJ4XUdMa2WyBEVEh4/6N8SO5xnnZweP1leoGzwqp8vYseWzbyj9MU
	K0Vzi
X-Gm-Gg: Acq92OEfSknPliOqcktdG0kAXX85Dscw/qaaM7eFK5lt1AJmbsT7xtQD/aEF760GQkP
	B3fWvg4iYhVEiCu14WeJ0yLT552WwIaPfpHt6+UwhxMU2PlQzw6w2dO49QKNfwudOSkh9Hjrz0f
	yUwB03XU66Lztn78TPWSoccLC+MGpaUAZKmtIyD7H5ADF0l9hcT8+T4pzZQd6VQW6NW0/YBtUSV
	JDKIODMyvb/zgHVnPYXMwlCokeQuyDiYm3H1nKD+mrRzWfKJ4PsfAj9lcG9fXAVKqeqZxOnXFt0
	Enjih11yi+d3jEMd8IRuTEhOiFHh3ssAQuVhcskdJZIeFF3F/tVYA+bOzz3vDcHocztC+StFAFn
	8Qteb6W0WRwJM1FDNl4xJbpRkt+lfXULViMoDIwtkJzpXbG1jFcs5yF76+pGpPV26/ouW+uDli/
	+Ou01LuAlQzjfGBr2DYEp7JJ5oRHTfHuBc4hosCTn+QeBSskYuF/TgSshnRGOTchdG5NbTUJnPo
	xPD
X-Received: by 2002:a05:600c:1591:b0:490:e281:287d with SMTP id 5b1f17b1804b1-490ec4c0ceemr33014185e9.1.1781287424187;
        Fri, 12 Jun 2026 11:03: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>,
	Victor Lira <victorm.lira@amd.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH for-4.22] CI: Use more specific Xilinx runner tags
Date: Fri, 12 Jun 2026 19:03:41 +0100
Message-Id: <20260612180341.3152136-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1781287424-80979161-7454A68C/10/73395122804
X-purgate-type: spam
X-purgate-size: 1529

In order to avoid serialising the testing on both boards, the runner
configuration is being adjusted.

Have the .xilinx-arm64 and .xilinx-x86_64 templates choose the board directly
using a more specific tag.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Victor Lira <victorm.lira@amd.com>
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

For 4.22, and for backport to all branches including security-only.

https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2597755162
showing all the Xilinx jobs still running fine.
---
 automation/gitlab-ci/test.yaml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 89760b24e63a..c375c9730928 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -119,7 +119,7 @@
           && $CI_COMMIT_REF_PROTECTED == "true"
       when: on_success
   tags:
-    - xilinx
+    - xilinx-zynq-423
 
 .xilinx-x86_64:
   extends: .test-jobs-common
@@ -139,7 +139,7 @@
           && $CI_COMMIT_REF_PROTECTED == "true"
       when: on_success
   tags:
-    - xilinx
+    - xilinx-crater-001
 
 .adl-x86-64:
   extends: .test-jobs-common

base-commit: ffb9c3016be3beb4228e9975bfb5f8ca5b5ccd56
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Jun 12 18:15:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 18:15:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1336981.1598662 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY6Py-0000Ng-80; Fri, 12 Jun 2026 18:15:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1336981.1598662; Fri, 12 Jun 2026 18: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 1wY6Py-0000NZ-5P; Fri, 12 Jun 2026 18:15:46 +0000
Received: by outflank-mailman (input) for mailman id 1336981;
 Fri, 12 Jun 2026 18:15:44 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <VictorM.Lira@amd.com>) id 1wY6Pw-0000NR-GO
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 18:15:44 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY6Pv-00AhET-Pl
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 20:15:43 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <VictorM.Lira@amd.com>)
 id 6a2c4cb3-2eae-0a2a0a5409dd-0a2a4503ca3c-30
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 20:15:43 +0200
Received: from [40.93.198.33]
 (helo=CY7PR03CU001.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <VictorM.Lira@amd.com>)
 id 6a2c4ccd-672d-0a2a45030019-285dc6219e61-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 20:15:43 +0200
Received: from BY1P220CA0022.NAMP220.PROD.OUTLOOK.COM (2603:10b6:a03:5c3::14)
 by PH0PR12MB7009.namprd12.prod.outlook.com (2603:10b6:510:21c::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.14; Fri, 12 Jun
 2026 18:15:38 +0000
Received: from MWH0EPF000A6730.namprd04.prod.outlook.com
 (2603:10b6:a03:5c3:cafe::50) by BY1P220CA0022.outlook.office365.com
 (2603:10b6:a03:5c3::14) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.113.15 via Frontend Transport; Fri,
 12 Jun 2026 18:15:38 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 MWH0EPF000A6730.mail.protection.outlook.com (10.167.249.22) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.113.7 via Frontend Transport; Fri, 12 Jun 2026 18:15:38 +0000
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Fri, 12 Jun
 2026 13:15:37 -0500
Received: from [172.19.160.128] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41 via Frontend
 Transport; Fri, 12 Jun 2026 13:15: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=nqbHGu50kT+d2nZGEJiRKLoYAoYs3S5ptYvtseKie1J9eUf7F7aynrwU2KS/ln8GeuoEF1xWmXB+wmFXkoDxriiJ3k8VqVwAuHlflkMLxsYQ0N/ZoZ/yDlcQcQnRsYRBsGJTq0okRevkgzjZZa6OqsZsHlX83crQ3HAW1crvX+QNHiGFS+7LVyxUWlvekD5bR8Kgcq9FHQWqbk3Elp91Y7b0DdsNNZ4mWIPGdXX844O1nxtd23j8800NjQ6tBHKvPDkjvGUT28dmLmob+0IETfsg7H5rwQKVezQQ56pCH8mDMy2PAxVCONrclWCJrkjNMGiwXzIvdg/k6PjvkIxirg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7Z4MYsshMW/Vo+tYRDVIqLMswI2d6uTmS6FjGso4Tq8=;
 b=waIGH4c8BPjZkuYhub7s7hBwYLuD6sbfxXaI8m4D8CmPxPV+/aE+PvR5eK1KL2DVrnW/RdBkRzbqZR+UGbWgnoH0w3NMDyYvb6G1jIHJd3QYyoAs+xTIeV/mhTh/SXOcXeNyhRDvY5kIqI+l6PjUOrCFQlPXIFKPo0vCTU+CBEgWtdmxZ9q0WJuhu29W1j1gT3V6cH9jxPZ5r5fkTNR8rM/HJP9kCjamTKUtsgQ1Eg78snlqIe0xKmLvv8cK16FRO6FoJskWVvGBBV9zpfLZ9OtlPWN76MY8oLBm7UoMNW/qrG7hM5UUe3iVc+x8s1VmrmLgZJ2DTZ5v2tD9SAHU0g==
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=7Z4MYsshMW/Vo+tYRDVIqLMswI2d6uTmS6FjGso4Tq8=;
 b=B+JfpKpE63S3Xy13Nwm8IwCarO/GNWw/E1gCi8fylAOuUh+W4rFBuIUwOpVXlZNzgJl2aBo+mKGv5zISwWPuuNgx9acOthVWuyyw6/HtXFMZWn7fi3At0NHbi2tvgOf/CPxcaIS1AadukHip3tbQ1FfS4CalFEwF5Su0yyUx+Sk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <38a4713d-71e6-4d64-8f04-cfbb970a10fd@amd.com>
Date: Fri, 12 Jun 2026 11:15:37 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] CI: Use more specific Xilinx runner tags
To: Andrew Cooper <andrew.cooper3@citrix.com>, Xen-devel
	<xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@vates.tech>, Stefano Stabellini
	<sstabellini@kernel.org>, Michal Orzel <michal.orzel@amd.com>, Doug Goldstein
	<cardoe@cardoe.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20260612180341.3152136-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: "Lira, Victor M" <victorm.lira@amd.com>
In-Reply-To: <20260612180341.3152136-1-andrew.cooper3@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: MWH0EPF000A6730:EE_|PH0PR12MB7009:EE_
X-MS-Office365-Filtering-Correlation-Id: 3f45959f-9b46-43cf-32e9-08dec8ae9b02
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|36860700016|82310400026|23010399003|18002099003|22082099003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	sEkxXwQFpFHvkCuMSAOPuWbSHulXIjE1MUp50b0PqeYzKah/3z85KK7f5PJzgW/+svWy2XPbn7pjtos+vQxbcFGj/raP5ZVx7xBD8x7FGfkN0WLAqQxsAWSunlfi9OmqLCHavxRDA0zoopE1WDB3hBfmVVlqwffx33eYWGCIZjmTI5BSNmm/7/Dfh9rtZTwZW/e47Yml9thN0P120F9tdnFF0B5npGJwRKAUx8OcxQf83HV/iwHh/aTV2dUL/2ct1F6Yto/FRR0GgrzO9MNui6mUEdUe0ukdGpMl+YUMYRgq58/1nkXvjoyU3Jni2//nlbMbZEZKw2I3dM1kQxHwuY9/j2yNsMjeqQGnMWVEDBSxzc2ullEUNdBI08pCt0qooC8KUHu35aaR43lgLXTz6jJ81w0qxpJiOLEhWo/GI6SwRlqmCEg12hPDFlNPNSDDHo7tIIQi9nmKC1F+wCbQb1kwqVyntklnpOMskq95nL/QXUKyNE/g/ZqXfACaUKyZiwzd+iJTi0sLrNQDGBg1iGlZWi5YG8UvT7h6GcYRG8C7BfLtlngdKgdU4ebo1TOX6JzxjK2HZyoKqUFQW56aSh6DwOGZuDkXU6bG2DIAdfSwotlUyUFQwDQAxsNPbAGuvTzldszQ6ICK79pn6bKb0OXHdlYAYy8eWlolMEosbw1tKsnZ2XSrv68FiiI8PTW+jVoRS2Jvsk1dYe1xRFx2PXemjRJ9cszEPHIBud3hWN0=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700016)(82310400026)(23010399003)(18002099003)(22082099003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	KHBgUgPSrdFM4d0fcXXum40tyZtVIF9dXM8F4JBEXz+DhQd5bMz+gPsoO/+sgcsrCiP6R4DHIRYjba5anP7U2yMFnAYa9t/QbciSkRPjCegaqdj/SLQ5b5QIWoOWc6tVk4vk4ck2jaX5tpzjDYy1jlkH6gL3wxoDeMEmbvv9ouh0O3lPDTtrVXxKVy7i+PezcU8OzRNDrEO+JhKim0Lz//W6nJx5z7zajWLaiTojvJQJvdW/4D+UVIbwHAINnog0h0g2r5xwpNt+nd0zBeGLBJqhocSIqnIk9it34icDbM1N7NjGgUUVgE/6OmJ5ZhWKcMexhriR6oJiWAwyzKLzQb5VSt6NcYG3eTX+MmkxifGwGiWW1318jXkPekKT3Q8IGL/xrROWTMEO3HCQ1dAyrM1pBuELoNQ2t+ge7A8rdQZxPFOKKte/0ToGrpBw7oMZ
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2026 18:15:38.2846
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3f45959f-9b46-43cf-32e9-08dec8ae9b02
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MWH0EPF000A6730.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7009
X-purgate-ID: tlsNG-33051d/1781288143-3754F938-E3D66404/0/0
X-purgate-type: clean
X-purgate-size: 61

Reviewed-by: Victor Lira <victorm.lira@amd.com>


Victor


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 19:54:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 19:54:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337008.1598672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY7wu-0003vR-6P; Fri, 12 Jun 2026 19:53:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337008.1598672; Fri, 12 Jun 2026 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 1wY7wu-0003vK-3R; Fri, 12 Jun 2026 19:53:52 +0000
Received: by outflank-mailman (input) for mailman id 1337008;
 Fri, 12 Jun 2026 19:53:50 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wY7wr-0003vE-El
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 19:53:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY7wq-00ERlC-09
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 21:53:48 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a2c63a3-2eae-0a2a0a5409dd-0a2a450ab794-16
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 21:53:47 +0200
Received: from [52.101.229.104]
 (helo=TY3P286CU002.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a2c63c8-56b3-0a2a450a0019-3465e5688e3f-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 21:53:46 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYRP286MB5249.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:115::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.17; Fri, 12 Jun
 2026 19:53:40 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0113.011; Fri, 12 Jun 2026
 19:53: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=q/1G+triCT8JkXqnC5MpZeBluuQGZTvlKIxpCqbXuvgQzHCIJeanQZfzvBVsa5+GoVHxG5iBlT52nufGQa+p3SAvYngSvMiEfdPUC4Tfwza+JRy//h4CgdvHBthq5jmeZk9ODmW+dWi/QIWM0ePy2JholVjj9f8FycADqbvghuaIyenuUlmfLRgotB+ZQuJAA7voM63T2SyMCLfutHuS21F4cvA9rYO54HOUK0EJ8X1Grsu6Zj+CpKK1RKXAcHI4Ex5iO06g/LS1AE2tnxXR5vkPJ0TRT/IveKlUBOvb1mavzVdwAPKDudU5NshMuBk7kYhYdObB9AogSZbc2tQviA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XAwUhyzwlywENjHgFMhMKyoKocmktssWzq8DspHt9hM=;
 b=co3hEnH5HmbD8Os05Vnh8zjC6ai1nKD/+TmrZ5JqSKMRDZH8zxSS/Y/movZYw9RcLi0m7OpD8CulrbjFsJtlPGqQwA4XjRwzvKxK2y1N4Isd0nrjQ+5LkUfmekU23DTB0FiFMXLPqckU5JbKJXoz0Xd1p+urQgkJ4pxv0JnZTfMKaLyjCSmtJR2tIVnBXkiMkscy6lCjECDriPcoCtF1An6W2e2DmkCq0S3TL4Df4t1KYgcmcZ/QBSKmiRksoTE/S3kPjZa5s9beXqll4k7/ulLlYibi9ydi0ZU82YS4n15hkkL5SwtQ7vgatOXnHOHsg7SIjpfb1Qs53mJWhtPx5Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XAwUhyzwlywENjHgFMhMKyoKocmktssWzq8DspHt9hM=;
 b=AniQ6YFertmqJ+TRT5CjSyUjVMRu/53hSzXzqq1AIZEYRMUVcStvUGl/UucKFDIC/oj7n679FUJQoXDOqzRmAl7HUPQv7rVN7XpopviEOJ9b7WUygzjG9lSykPRksG0bVz58XHVlKyKyxU+yfJnUhDcgHYejW9/XQLOdgy/Z9y4=
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: Jan Beulich <jbeulich@suse.com>
CC: "Mykyta_Poturai@epam.com" <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>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Dario Faggioli
	<dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>, George Dunlap
	<gwd@xenproject.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH 2/3] xen/sched: Link CPU topology to scheduler
Thread-Topic: [PATCH 2/3] xen/sched: Link CPU topology to scheduler
Thread-Index: AQHc+Mopz/Cks6fKlk2NBrgno/uZs7Y5ZxkAgAHeKMA=
Date: Fri, 12 Jun 2026 19:53:39 +0000
Message-ID:
 <OS9P286MB72224A75554691CDC5F82D0E82182@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
References: <20260610111320.133784-1-taka@valinux.co.jp>
 <20260610111320.133784-3-taka@valinux.co.jp>
 <4ad6cce2-c15d-4614-9d73-5ed1354047b8@suse.com>
In-Reply-To: <4ad6cce2-c15d-4614-9d73-5ed1354047b8@suse.com>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: OS9P286MB7222:EE_|TYRP286MB5249:EE_
x-ms-office365-filtering-correlation-id: 6031fdd8-8841-465d-3d28-08dec8bc4c96
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|376014|7416014|366016|23010399003|1800799024|38070700021|4143699003|18002099003|22082099003|56012099006;
x-microsoft-antispam-message-info:
 soBGs/xmcgkBrK9dtnFm66OEk/QiYc1XoG0bB/LL1a1aI+RRBSLwXJ4ToowKkm+5XrkBX+RG391FkAxXRmsVee7+OYQIGdCeItQEqdPzoqR88e4eJ/THBCqayFxmwMH5Le2UB7UoK7C/911y9IKMZJpWAruzYQDBlVIb7QJVHECERGnRK+Q5hQA40jfXanz/FhW314cdv4Ig3doRU8xqSPPSFdeGSwElEOJgEv3w3IznsURYRVlg/K22PeDlucY8kVHxhq/J61Vgq99bbDZIzzKIKJOcYOHWEUzK04PU+vShV8/QLU3qhA9nwYvRIp8KlDCjHbkpuiMKEbWiQHD4+zFVl6XK0P5i8Sy4weOy22ZFQ05CxSfeV31VNtStSsCFmoI6Wn/l1WpWE76dqS38ZUpfEYPcz91TEoMkI6Ra5Ft8/bzHeIr90czd46sLCRfW8zJ60NEel+2SSzucGfiIek71z1ablJRxiTvUh0FzM01ZpAk/FPE5N1TaPOGvoJgVLLJzEQLOO0ZXI+STFULMKub1veRLyKQRudboWu2v9hH8zmPhax6dGMa5qsORXGqGwVNgBsM2EeqC8kR2wFJkW5XmK59in1RK3EqcZgvbvXGhegaDmtkU8jkE44o9iXCha3x0aon2qEUYiH3NLeoVez1dcQUUBC9V+elACiMN/xU+9hJM5r4QasxfRW99FV2g7nekBh+zNceUDC0u8h6SBX59cfYvtPfmz+zuyanc8PLb4eYimxQYm15SWKeB+Qju
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(366016)(23010399003)(1800799024)(38070700021)(4143699003)(18002099003)(22082099003)(56012099006);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?MUYyaWxpOXNDSUtxK25wU0V4WDk4ck1Kckhhd05MckRNeTZWRXlGa1YxZnVT?=
 =?utf-8?B?YzgwT1YrRHhvbUVQbmI2SklNQnhwbmQwczNmeEp1dlFJYTNiZnVRT2EwdVA1?=
 =?utf-8?B?YTBiWmI3Y1B1RkM3d3pvaTBiaHRhZVpSaldkRDhlRndoV1YvN2tHY3ZMUnpM?=
 =?utf-8?B?cVA2a2g5MjNtaGIzVGpPdHkrSDNOU0l6VERxSkV5blhNbyt6UUkzVHluUjFn?=
 =?utf-8?B?OEVSRkRxU3pXSDRlc01vN0JBblZaV1pRcVRmZlNwOThWOFJaTHJHRjV6Q2NI?=
 =?utf-8?B?dEhJcHRRdmNPL3NxMngydS8wTDBZMExybnpVSVBFZDAyQnU5Uk5UTTRyWU1k?=
 =?utf-8?B?OXlZNDVEdFd6bjdISnNFR1JldzBxZUcvVERKZGNXWkQwZHdwZ0F0elJMNTBU?=
 =?utf-8?B?Y3htd0NjZFU4NkEva2V0M0NuUFBOVkE0bi8ya2NZNzA4WmRLcEFxRzlsWHMw?=
 =?utf-8?B?aTR4d1JLYUV6TG8wamMyMmViSmFPK3hPVG5zSFRSSnB5TVNCZ3BQdUNpbnhW?=
 =?utf-8?B?L052dlJnL01OYlVYaU5OWGNmaDdwRFhDbldhUjlSekZpNmRqUHBWTlJuaFVM?=
 =?utf-8?B?VDIwWmQ4ZzBROVI2cEYweEhIV3BLZzBRQzFVK0h3VE1kQ29HdG4yRTgrVEMy?=
 =?utf-8?B?TG1PQmVqaUdZTmlMdEpLVUdCTXJOU2VZVjdVeWE1Q01nSkk1UUJlZ3RBaWgr?=
 =?utf-8?B?TVZQMXNld09DbFNuMWhGdXRUODlJSFp5US9kMWJmS1pGeEdNSWsxVmREdFlw?=
 =?utf-8?B?YmIyRyt0VnZKN2pPL3dLSTYwOFNCc2RML2NaaVlIZE5waGtSaGhsZHVXRkVr?=
 =?utf-8?B?eStyWGVhUFRiSmRxOGZIcDhzbEdkSFR1Y2c3bWRMcDZqSFZ2UEJWZEVqeXdr?=
 =?utf-8?B?OGVjNncxT2hyUXI5OXNyb0FZZ0FpWmh3OTZKSURhN21HRWZFb3ZBdnlCSVRl?=
 =?utf-8?B?S0QvdlJpLy9YdWF1L1VvcnhJUFpFM3BWaHBUc0E0d2d3KzJQUk5RSXVVYWFY?=
 =?utf-8?B?a1JJV2J0eW9pUHdYcXJPTlZmdDI4UWJoNkt1ZE9jYTd5NTMyWTlaaGFJaEJM?=
 =?utf-8?B?dWVvZHBQMW9RTXhHR1QwZForV2cwdjE5SEU0d0xtMjhnRXpmUEFIeUdSR0hx?=
 =?utf-8?B?eE04cmozMUpUbVBGa2VGR2k3RDFFVUREaUFrNVlEb1BzSVZvemJtTXBnSVFw?=
 =?utf-8?B?WlFHN0pydDdmbDBOVTdrOXdvY2FUcFRDNm1PUzFTSzdsbEExQURJVFVNZlpl?=
 =?utf-8?B?WitQRm5CUFBwOG9vQStSY240MU03NGIvblB1bnRxTDR1QVpLVUI1d1BSbk9G?=
 =?utf-8?B?RnBwSEplVUttMEZDV3JLUFo0RjZuL0dOU2tTL0xTL0gyTy91VTIxY2IyZWh4?=
 =?utf-8?B?d1ozWmJLYk5JaHFacGgrMmZCRUFjTFhsUXk2WERTaXdBRlU5MDBBS2hmbmFD?=
 =?utf-8?B?bGhGUS9WNzlQWUozS0x4UGVLNEk5MFo1QTh2OS83SlNFcHE1MDNqNmtNQU1m?=
 =?utf-8?B?MldrcGxNa0ZBNnR0Z3dkcXExSnV3UnFvbWNTck5yek1TM0RNbSt2Mm5nWDdh?=
 =?utf-8?B?ZzllbFUwTEYyemtLVlV2ZzRBL242UmZWaFF1a2F5ZDYyV0plalFMcFRjbC93?=
 =?utf-8?B?VkdsWkpoblhXbFRaMEV2UjhnRy8wZXk1OTZJbVc1UzJENjNaNEFXdmRjNnpi?=
 =?utf-8?B?U0ljd0NiVVRwdmxiZWJtaC80dW11OUxtcXhpS2RlcmhKWkhHbW9JVTQxQ0Z2?=
 =?utf-8?B?RTd4ZVNvRVNwbDJBSE9KS2NyOUYxWlpNS1kwdEc4cEgxdkV6MXYrb0pGMmpE?=
 =?utf-8?B?a0dGZHhvMWNKdUducXR0WExTUzZWY2E2eDFtME5vUFFLTzJoNGpaeVpnM3Ar?=
 =?utf-8?B?c2dmUUhKWFNRdFhRWWZEOG5pa2ZTT01XeHg1TUNaeGNSVWwrR2hvWUJZZnp1?=
 =?utf-8?B?RkJSQUo5RmR6aklrQnUxMFBHYU1ZSmg5QXJieTAvZzZIaS9Cd01MVUliTVg1?=
 =?utf-8?B?aDVKTEVCQVpHWHQxejhmT0xuYjVzL1VtVnJXdUQrb0dHVisrZTRRKzIxSHEx?=
 =?utf-8?B?d2gxZ0MyUlNSbzdLdnRMTXduaWpLNnFEa2xOc3lBdGUxT01UUjgyNlU1T2py?=
 =?utf-8?B?V1NkUXJQWHY0VU9DUlYyT3BWMmN1Qk5MS2pRMmJVRDJCRzIyNVhUL0xWaXhR?=
 =?utf-8?B?Ykl0TXRaRzZjanhsanRRT3BhOE1Sc1BwalRYR013MW45a3JhdG0xUVBWRlAy?=
 =?utf-8?B?dENZNlpoVmVFd05Cd3o0Sjh3cEdlTUNHeDg3azNESlRMbWpzaWtmQlNrTEsx?=
 =?utf-8?Q?XYY/73kfSMrvg9TZLp?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 6031fdd8-8841-465d-3d28-08dec8bc4c96
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jun 2026 19:53:39.7164
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: qVwNwqf1dMNGxOsdzMbv4cF+AL/OljdRyRMUnX5irR7u51e09SFJaR/5WcMlcR2S1YY+o6qKNuTzb/B6qSrJpw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYRP286MB5249
X-purgate-ID: tlsNG-4011c0/1781294027-7F1948B7-4E9E8D0D/0/0
X-purgate-type: clean
X-purgate-size: 4566

SGVsbG8sDQoNCj4gU3ViamVjdDogUmU6IFtQQVRDSCAyLzNdIHhlbi9zY2hlZDogTGluayBDUFUg
dG9wb2xvZ3kgdG8gc2NoZWR1bGVyDQo+IA0KPiBPbiAxMC4wNi4yMDI2IDEzOjEzLCBIaXJva2F6
dSBUYWthaGFzaGkgd3JvdGU6DQo+ID4gTWFrZSBDUFUgdG9wb2xvZ3kgaW5mb3JtYXRpb24gYXZh
aWxhYmxlIHRvIHRoZSBYZW4gc2NoZWR1bGVyLg0KPiA+IEFkZGl0aW9uYWxseSwgZW5zdXJlIHRo
YXQgdGhpcyB0b3BvbG9neSBpbmZvcm1hdGlvbiBpcyBkaXNwbGF5ZWQNCj4gPiB3aGVuIGV4ZWN1
dGluZyB0aGUgJ3hsIGluZm8gLW4nIGNvbW1hbmQuDQo+IA0KPiBCb3RoIGluIHRpdGxlIGFuZCBk
ZXNjcmlwdGlvbiB5b3UncmUgcHJldHR5IGdlbmVyaWMsIHlldCB0aGVuIC4uLg0KPiANCj4gPiAg
eGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oICB8ICA0IC0tLQ0KPiA+ICB4ZW4v
YXJjaC9hcm0vc21wYm9vdC5jICAgICAgICAgICAgICAgIHwgMTAgKysrKy0tDQo+ID4gIHhlbi9j
b21tb24vZGV2aWNlLXRyZWUvY3B1LXRvcG9sb2d5LmMgfCA1MQ0KPiArKysrKysrKysrKysrKysr
KysrKysrKysrKysNCj4gPiAgeGVuL2NvbW1vbi9zY2hlZC9jcmVkaXQyLmMgICAgICAgICAgICB8
ICAzICsrDQo+ID4gIHhlbi9jb21tb24vc3lzY3RsLmMgICAgICAgICAgICAgICAgICAgfCAgMSAr
DQo+ID4gIHhlbi9pbmNsdWRlL3hlbi9jcHUtdG9wb2xvZ3kuaCAgICAgICAgfCAxMCArKysrKysN
Cj4gPiAgNiBmaWxlcyBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQ0K
PiANCj4gLi4uIG9ubHkgdGhlIGNyZWRpdDIgc2NoZWR1bGVyIGlzIGFjdHVhbGx5IGVuYWJsZWQu
DQoNCldoaWxlIGl0IGlzIHRydWUgdGhhdCB0aGlzIHBhdGNoIGlzIGZvY3VzZWQgb24gQ3JlZGl0
MiwgdGhlIENQVSB0b3BvbG9neQ0KaW5mb3JtYXRpb24gaXMgYWxzbyByZWZsZWN0ZWQgaW4gYGNw
dV9zaWJsaW5nX21hc2tgIGFuZCBgY3B1X2NvcmVfbWFza2AuDQpUaGVzZSBtYXNrcyBhcmUgZ2xv
YmFsbHkgcG9wdWxhdGVkIGFuZCBhcmUgYWxyZWFkeSByZWZlcmVuY2VkIGJ5IG90aGVyDQpzY2hl
ZHVsZXJzJyBjb2RlIGFzIHdlbGwuDQoNCj4gPiAtLS0gYS94ZW4vY29tbW9uL2RldmljZS10cmVl
L2NwdS10b3BvbG9neS5jDQo+ID4gKysrIGIveGVuL2NvbW1vbi9kZXZpY2UtdHJlZS9jcHUtdG9w
b2xvZ3kuYw0KPiA+IEBAIC0zMjUsNiArMzI1LDU1IEBAIGludCBfX2luaXQgcGFyc2VfZHRfdG9w
b2xvZ3kodm9pZCkNCj4gPiAgICAgIHJldHVybiBwYXJzZV9zb2NrZXQobWFwKTsNCj4gPiAgfQ0K
PiA+DQo+ID4gK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9jcHVfdG9wb2xvZ3lfaWRzKHZvaWQp
DQo+ID4gK3sNCj4gPiArICAgIHVuc2lnbmVkIGludCBjcHU7DQo+ID4gKyAgICB1bnNpZ25lZCBp
bnQgbmV4dF9jb3JlX2lkID0gMFU7DQo+ID4gKyAgICB1bnNpZ25lZCBpbnQgbmV4dF9jbHVzdGVy
X2lkID0gMFU7DQo+ID4gKyAgICB1bnNpZ25lZCBpbnQgbmV4dF9zb2NrZXRfaWQgPSAwVTsNCj4g
PiArDQo+ID4gKyAgICBmb3JfZWFjaF9wb3NzaWJsZV9jcHUoIGNwdSApDQo+IA0KPiBOaXQgKHN0
eWxlKTogRWl0aGVyIHlvdSBkZWVtIGZvcl9lYWNoX3Bvc3NpYmxlX2NwdSBhIChwc2V1ZG8tKWtl
eXdvcmQNCj4gKHRoZW4gdGhlcmUncyBhIGJsYW5rIG1pc3NpbmcpIG9yIHlvdSBkb24ndCAodGhl
biB0aGVyZSBhcmUgZXhjZXNzDQo+IGJsYW5rcykuDQoNCk9rYXksIEkgd2lsbCBmaXggdGhlbS4N
Cg0KPiA+ICsgICAgew0KPiA+ICsgICAgICAgIHVuc2lnbmVkIGludCBmaXJzdF9jcHU7DQo+ID4g
KyAgICAgICAgc3RydWN0IGNwdV90b3BvbG9neSAqdG9wbyA9ICZjcHVfdG9wb2xvZ3lbY3B1XTsN
Cj4gPiArDQo+ID4gKyAgICAgICAgZmlyc3RfY3B1ID0gY3B1bWFza19maXJzdCgmdG9wby0+dGhy
ZWFkX3NpYmxpbmcpOw0KPiA+ICsgICAgICAgIGlmICggZmlyc3RfY3B1ID09IGNwdSApDQo+ID4g
KyAgICAgICAgew0KPiA+ICsgICAgICAgICAgICB0b3BvLT5waHlzX2NvcmVfaWQgPSBuZXh0X2Nv
cmVfaWQ7DQo+ID4gKyAgICAgICAgICAgIG5leHRfY29yZV9pZCsrOw0KPiA+ICsgICAgICAgIH0N
Cj4gPiArICAgICAgICBlbHNlDQo+ID4gKyAgICAgICAgew0KPiA+ICsgICAgICAgICAgICB0b3Bv
LT5waHlzX2NvcmVfaWQgPSBjcHVfdG9wb2xvZ3lbZmlyc3RfY3B1XS5waHlzX2NvcmVfaWQ7DQo+
ID4gKyAgICAgICAgfQ0KPiANCj4gTml0LCBoZXJlIGFuZCBiZWxvdzogUGxlYXNlIG9taXQgdW5u
ZWNlc3NhcnkgZmlndXJlIGJyYWNlcy4NCg0KT2theSwgSSB3aWxsIHJlbW92ZSB0aGVtLg0KDQo+
ID4gQEAgLTMzOSw0ICszODgsNiBAQCB2b2lkIF9faW5pdCBkdF9pbml0X2NwdV90b3BvbG9neSh2
b2lkKQ0KPiA+DQo+ID4gICAgICBmb3JfZWFjaF9wb3NzaWJsZV9jcHUoIGNwdSApDQo+ID4gICAg
ICAgICAgc2V0dXBfc2libGluZ3NfbWFza3MoY3B1KTsNCj4gQXMgdG8gdGhlIGVhcmxpZXIgcmVt
YXJrOiBCYWQgcHJlLWV4aXN0aW5nIGV4YW1wbGVzIGRvbid0IGNvdW50Lg0KDQpPa2F5Lg0KDQo+
ID4gQEAgLTE5LDExICsyMywxNyBAQCBleHRlcm4gc3RydWN0IGNwdV90b3BvbG9neSAqY3B1X3Rv
cG9sb2d5Ow0KPiA+ICB2b2lkIG1hcF9jcHVpZF90b19ub2RlKHVuc2lnbmVkIGludCBjcHVpZCwg
c3RydWN0IGR0X2RldmljZV9ub2RlDQo+ICpjcHVfbm9kZSk7DQo+ID4gIHZvaWQgZHRfaW5pdF9j
cHVfdG9wb2xvZ3kodm9pZCk7DQo+ID4NCj4gPiArI2RlZmluZSBjcHVfdG9fY29yZShfY3B1KSAg
IChjcHVfdG9wb2xvZ3lbX2NwdV0ucGh5c19jb3JlX2lkKQ0KPiA+ICsjZGVmaW5lIGNwdV90b19z
b2NrZXQoX2NwdSkgICAoY3B1X3RvcG9sb2d5W19jcHVdLnBoeXNfc29ja2V0X2lkKQ0KPiANCj4g
UGxlYXNlIGNhbiB5b3UgYXZvaWQgaW50cm9kdWNpbmcgbmV3IG5hbWUgc3BhY2UgdmlvbGF0aW9u
cyAoaWRlbnRpZmllcnMNCj4gd2l0aCBsZWFkaW5nIHVuZGVyc2NvcmVzIHNob3VsZCBuYW1lIGZp
bGUgc2NvcGUgZW50aXRpZXMpOyBhbHNvIGFnYWluDQo+IGJlbG93Lg0KDQpPaywgSSB3aWxsIHJl
bW92ZSB0aGUgbGVhZGluZyB1bmRlcnNjb3JlcyBmcm9tIHRoZSBtYWNybywgd2hpY2ggd2VyZQ0K
b3JpZ2luYWxseSBkZWZpbmVkIGluIHhlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wcm9jZXNzb3Iu
aC4NCklzIGl0IG9rYXkgdG8gbGVhdmUgdGhlIG1hY3JvIGRlZmluaXRpb25zIGluIHg4NidzIA0K
YHhlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaGAgdW50b3VjaGVkPw0KDQpUaGFu
ayB5b3UsDQpIaXJva2F6dSBUYWthaGFzaGkuDQo=


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 21:07:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 21:07:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337026.1598684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wY95j-0004JN-A0; Fri, 12 Jun 2026 21:07:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337026.1598684; Fri, 12 Jun 2026 21: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 1wY95j-0004JG-7E; Fri, 12 Jun 2026 21:07:03 +0000
Received: by outflank-mailman (input) for mailman id 1337026;
 Fri, 12 Jun 2026 21:07:01 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wY95g-0004JA-QV
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 21:07:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wY95f-009dxM-Rn
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 23:06:59 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a2c74ca-bab6-0a2a0a5309dd-0a2a4508ebc6-36
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 23:06:59 +0200
Received: from [52.101.228.79]
 (helo=OS0P286CU011.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a2c74f0-63b5-0a2a45080019-3465e44fd6b0-3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 23:06:58 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by OS3P286MB2184.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:199::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.15; Fri, 12 Jun
 2026 21:06:53 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0113.011; Fri, 12 Jun 2026
 21:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=FYSkcqVHrSGY+B4iMEoNG6/TouQwJiE56vPb4txCuwuhyetqj1cCFaCU6IrUO6yZtt9e8YMXOcbJXutKOixUegfBkX6qyVr8U3DzUSMeUbj0enn8tBF7P534hWdRoy8dp4alGKopXlYz7L8FYYi26IM2Xc6RM69cKjPUxoEnmCAXe1vu9yKsGymLiONddCtZQBE/ylOQs5+M4enRmItsW+9B+ujpomq7PcED71PI0E5lg5H22LqsJYHz9A99AAoalFDom1b3Am4cMq9qwe2x4B/R674MJhygPXhzVLPIYj21HbirdZwGuxMGNd07g2zRzPzC0xS7iwmrsvZzjNeugg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7Fqug8LLSf55VgWG/bjbxzFX56/3fnDI3rJq6/BP5uQ=;
 b=XUSWq94+zFju4xh7MleZTpIuh6lXyrb0SOGhOIV3n24W4W6twd/5zlv6eAsaLTlAPM/UClJAcShuAYZM1oPnOH/n+b4rj6ku3WjdcIuMmIAPGVHW+Nxq8disII2b8r6rgPbyRJusB+u9JhEIQNEiXW+Z/fKadPdtus1WrX47Z/5n5ObcdX1SdC1FwIJNMQImSeCIJDrXw3YDA0h8n2f9bbv7AFAIQX+g4kyf/MA/jkdgR9vnSZdTOYPNGolRrgCqXvMSpWsdqTbAJbI4Y/57aVTp2PJ7FOTdZoZFsNN4OdD0Q7ipRbYCpt6jWNkUdzxVoZxI5QouZXV/K22l2/yOKA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7Fqug8LLSf55VgWG/bjbxzFX56/3fnDI3rJq6/BP5uQ=;
 b=ODfdJm8q2HWDDLHsm1oDrGia/xB8EA8coZnJpn6+on29TXvNFNozcjN3IG+poVBgOU400TzDt6f8JVDCY3dmhO33zZLjmuiAr0UNvHmfUIcJVjIrBNd7TYr7hQOep6SNimmojJimLXm1BscYWKl3rDbUol06/9BeC1z2Q1urxSo=
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: Jan Beulich <jbeulich@suse.com>
CC: "Mykyta_Poturai@epam.com" <Mykyta_Poturai@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Teddy Astie <teddy.astie@vates.tech>, 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>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH 3/3] xen/sched: Make cpu_nr_siblings()
 architecture-specific
Thread-Topic: [PATCH 3/3] xen/sched: Make cpu_nr_siblings()
 architecture-specific
Thread-Index: AQHc+Moq7p2vtDgwUEGokWD7Uh66HLY5Z66AgAH4l0A=
Date: Fri, 12 Jun 2026 21:06:53 +0000
Message-ID:
 <OS9P286MB72222F58E04636EF6F12BB0A82182@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
References: <20260610111320.133784-1-taka@valinux.co.jp>
 <20260610111320.133784-4-taka@valinux.co.jp>
 <188b21b9-dd46-4414-861c-20a0ff28c23a@suse.com>
In-Reply-To: <188b21b9-dd46-4414-861c-20a0ff28c23a@suse.com>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: OS9P286MB7222:EE_|OS3P286MB2184:EE_
x-ms-office365-filtering-correlation-id: f0a3d229-2413-49b9-e57c-08dec8c68743
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|376014|7416014|1800799024|23010399003|366016|4143699003|56012099006|22082099003|18002099003|38070700021;
x-microsoft-antispam-message-info:
 GmTfMn4y2BhrHed+6S8vH1TZHQ9dEiJ6NcKA0P8T6s4SuZSQ+5Z9eGS2aY1rtQaatpurzkBZxmYRPPUh+ZKrq0ArDiIITAsQGK0gLU3Jm2yfE7FH2e1C5zdJc9b2eU3RYwdszQTDReFw4f38xbVsV4RpgHMk3D8Hpn2IjtxVejtjeYXZlI2eeXnkk4m/QIZMNMmI18osYni3jc/lgauKi99gdo2zQk81LtjaEWQww8ADISqjakpz/NHMikjqBbKO+dGb1xVz7pZrxZXIwRhk8DhEouTZnTjigndBymK+elW2XjqzQwx3jCLHOKXEewyEZN3jRRe2x3pklmFWmv3mAgH26I3YCvNipWW9e58Z8SCt1hPSFzhOk14PQktJkbIpAyz94rx2g2eTaZTGcLbb2X65Psrf7QpGpKkyIZcSrjzJ37pWGHFNQqe7K8v6eoh2g3WLxese0V9DyoXWgPW1cWxxuX6++zj2LzxxzsNnGYLh0VW3AiGx/MQDrUrghPzm08FDj8M5quu4UFIrLulChb5VqOwTavevIDXi3xM9jFJCyJ5DD0mU/JzFsSjAZs1YgxAC5SWrGPTMUL6jy2Fuj8R1vF0NCG6s8YyUDOHcN+OoV8Ssz9BnvnZV9FgSaw9xUVrHHox6V2drPLGe0Tyc38kp/ZtHhHeAs7RUxIbd+h9uQewAr4WG9cxhkCH7l57zyNwIrpJZZLA9Vql26SKaMYgbkHx7O09Q7ge8ZFxX/Vd213z348SAls/ZIRDyBq8Y
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(23010399003)(366016)(4143699003)(56012099006)(22082099003)(18002099003)(38070700021);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ZzRUWUFXOXphbGgvWi9WaVZpMUN4NkJvbDlEbEJOZ3pmbHluNlRPMU85UnBC?=
 =?utf-8?B?dUJCYzNEUkZ6Nmo0ZHo1R1pWaXVxR1I0M3dxclYrYmM4ZmZpbEVSWTh4TjVX?=
 =?utf-8?B?M1dhZ2M4TkUzV1NOYUl3ak8zc0RFWmV0Y2xmZkNxbUlwUWVCRG5HTjgvVXVX?=
 =?utf-8?B?SklJb0J4SkxQYUEzSXo0d21UTG1MdEVZYUJRdjdXS0ozNWlCOWdUQzFFSDdN?=
 =?utf-8?B?TElhNjVXSXB4bkxNUUJZSnc2S05McU4wNFpUWENqRmJpeTZuQUNaQXJDSVZO?=
 =?utf-8?B?eWlOQk93ZlJiSFNXZHJXa2NBaTN5MTBmY3grQThNZHZxSGtNSTNiUXhJSndk?=
 =?utf-8?B?R1FOSHBNZXRqbVJTaXhLL1lZdGR0RzRqeWtnUU12Vk5FdDdpRDN3Z1hwTk9k?=
 =?utf-8?B?d2ZhUjBIY01CYzVPd1pDR2JvZXJVYnhLNjNuc3lmVzdnRG9zdnhlQ3dGU2d2?=
 =?utf-8?B?cnRvQjlYRnZic041d0JPYW14SjkxcGpGaUl0T3RDcytJZXVqSVFQckJsN1lv?=
 =?utf-8?B?R2lZSFRXYzNmNXQ1VW5KM0xzMWcxWG5SZHFYK1V6NnNsSjdIZ3ZEa3d5bmZG?=
 =?utf-8?B?UGlBbFpCNFFsR3BjeHQ1Q0Mrem5HK3VEMVVYcTloRlA1bGd4bGZrOThQYkUx?=
 =?utf-8?B?OEpUK0FydlA3dkRGQ3g4TndzS2hidjNUZzBrOXRGZnc3S2IweVZHSVBQbUdS?=
 =?utf-8?B?NHJPbGlZS1VnYkZ6djNJL00wS21hR1g0OWJIeGNqaFk1a1NUeDdrQnV4RnpK?=
 =?utf-8?B?eXQyTG9qRkVVeWlPV3dPZHZMdGhJVXc4OGkvcHY0bmsrcEpmQkpOc1FYTDVi?=
 =?utf-8?B?aUFqbnRWNXJiUmJUVG4xTmpjaWpua0MvbFlrM3ZBMkp5eWpIT0dJVnlLQmpK?=
 =?utf-8?B?dVI0VW9XdElPanBHTGxvMjlzSm1XY1VZS3ladW1kaGdtMVZtcVFPRXVqMTJy?=
 =?utf-8?B?cDgrcm5LZTRGVkR0N0svSlRtR0lEOGpveU5qY1BYYUpoZVdnVklLaDlmc0JK?=
 =?utf-8?B?RkRreGluMXpUNUpDbUN2TzZIRVZoTGsxYXVrbGxUb1ZsUzgxRkV2N0R0K0t2?=
 =?utf-8?B?R1BXV3FwaVN0ekVQNCsxaUxiMStXc0JnZmhsUitTdFFaR2lmY0ZyZmZOSVlJ?=
 =?utf-8?B?Z0RyWlYzN3o4cFJoOGRUOFJhanI5YzMwbThqdXdXam1GU3VHa1l1NG43M0pM?=
 =?utf-8?B?YVFxeHZGQXhiNXpTcklOSlQ1YkpFZjQ1bzkrdm5nUkdwOENyTFFVenlmTTdP?=
 =?utf-8?B?RVlFUE9wVGN0WEZuQ3VqcmVrN0RKd0gyd2hmY1RuWXAxVVZUZXA2RXVybFdV?=
 =?utf-8?B?ek5aelhxNDduWHVQaEVmNUpHL2pvK0xCS00rVDVoQUliV2JabkJpZTNPc1lt?=
 =?utf-8?B?RDZhRUREYWJTNm1OaEM0UjZWajdLWDR0dHhCcEh6SzlLWmVYajU1SzRKN3dr?=
 =?utf-8?B?R1gxR29aRDhkT1JhbEJQd2U0SS83RkJTKzA1YXJrVjBDZFVOdkt2NW1nODRo?=
 =?utf-8?B?SzA1M0ZhQ2plcHNRc21SYStGc1JlQVdyQUxORk9Za0Vnb2lDODhla2FVbUhv?=
 =?utf-8?B?SmEwVTN2ak1rOUsvWHV6cWllMXBKelgrcmlqWnVqcVpQZHhIcTFmQnIvOEVk?=
 =?utf-8?B?N0NVM1NhdHNVeDhuTTFPeU5qRnh6OVRlSkVTU21iL29vUFdTNE00c1NFY2Zr?=
 =?utf-8?B?eEtkVURkemd5UDZaNllIZGZWS08vZGluQVNDekU5SVJzMnZNaWN1MkpXREJj?=
 =?utf-8?B?L0IrSWk5R2ZJUWp3WFBxWTU2Tzh1Y1B1YVFpRXNmUTRvL2o1VU1tV1MwQUZo?=
 =?utf-8?B?L3RnUi9WWGErZ1BwTHBLUVh1bWhiSzU3T1RoYXNpczdUT1RJMmdjNHhFQzRS?=
 =?utf-8?B?VWRzUlNtdWZMUmx0RXY0RUNUeUFqMWlRaVFEaFR5TUI5M09WaGVtRDJ6UEN1?=
 =?utf-8?B?enRLSm5XaTZ5d0I5OHdHcnFLZzg3QVowdFpVR0lRblpzbHpQVi9yN3JhSmlW?=
 =?utf-8?B?TEFYWFR2ZkkvMERhUVB5cGxLd0NaOFNPc1p0SXBHMEg3R1BzSk9hUHAyWDJY?=
 =?utf-8?B?Q2VTdm5uWmRhWmdreUxwMWxnYlByY0J0eHlHc2ZaWHAzODdzS0x6RmFzYkRC?=
 =?utf-8?B?TUN5VGtYcnJOdTZHU2szdW1uYmFGTy9TU2w0b3hRWFhYS25BaTRJUjlFN2FE?=
 =?utf-8?B?RXFKVHJmZ3ArMG10bnlzR0MzRGNUQmF3L2FiQm9YY0dubHhoLzZaZW9RSmZI?=
 =?utf-8?B?bzhQd2hUQmhSekkrWDNzTTRNTGZMREZxaHlpdUVWcHdnd1RZcGg0a3ZlUXhW?=
 =?utf-8?Q?dYEVWpcMHNRFNCzuS5?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: f0a3d229-2413-49b9-e57c-08dec8c68743
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jun 2026 21:06:53.1512
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: lCFIs7Z5xNtsCaiI9uxYaZkI7Iga4G8IaBa+7UxEpo/hCCGYA0rVRkE/H8D+Prb4LO/P5qLpEcVJF/jy9RnmiQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3P286MB2184
X-purgate-ID: tlsNG-c1860d/1781298419-BC965DB1-23ED12E2/0/0
X-purgate-type: clean
X-purgate-size: 1800

SGVsbG8sIA0KDQo+ID4gLS0tIGEveGVuL2NvbW1vbi9zY2hlZC9jcmVkaXQyLmMNCj4gPiArKysg
Yi94ZW4vY29tbW9uL3NjaGVkL2NyZWRpdDIuYw0KPiA+IEBAIC0yOSwyMiArMjksNiBAQA0KPiA+
ICAvKiAjZGVmaW5lIGQycHJpbnRrIHByaW50ayAqLw0KPiA+IEBAIC04ODQsOCArODY4LDExIEBA
IGNwdV9ydW5xdWV1ZV9tYXRjaChjb25zdCBzdHJ1Y3QgY3NjaGVkMl9ydW5xdWV1ZV9kYXRhICpy
cWQsIHVuc2lnbmVkIGludCBjcHUpDQo+ID4gICAqIEFkZGl0aW9uYWwgY2hlY2tzLCB0byBhdm9p
ZCBzZXBhcmF0aW5nIHNpYmxpbmdzIGluIGRpZmZlcmVudCBydW5xdWV1ZXMuDQo+ID4gICAqIFRo
aXMgZGVhbHMgd2l0aCBib3RoIEludGVsJ3MgSFRzIGFuZCBBTUQncyBDVXMuIEFuIGFyY2ggdGhh
dCBkb2VzIG5vdCBoYXZlDQo+ID4gICAqIGFueSBzaW1pbGFyIGNvbmNlcHQgd2lsbCBqdXN0IGhh
dmUgY3B1X25yX3NpYmxpbmdzKCkgYWx3YXlzIHJldHVybiAxLCBhbmQNCj4gPiAtICogc2V0dXAg
dGhlIGNwdV9zaWJsaW5nX21hc2stcyBhY29yZGluZ2x5IChhcyBjdXJyZW50bHkgZG9lcyBBUk0p
LCBhbmQgdGhpbmdzDQo+ID4gLSAqIHdpbGwganVzdCB3b3JrIGFzIHdlbGwuDQo+ID4gKyAqIHNl
dHVwIHRoZSBjcHVfc2libGluZ19tYXNrLXMgYWNvcmRpbmdseSwgYW5kIHRoaW5ncyB3aWxsIGp1
c3Qgd29yayBhcyB3ZWxsLg0KPiA+ICsgKg0KPiA+ICsgKiBUT0RPOiBBYnN0cmFjdCBjcHVfbnJf
c2libGluZ3MgcHJvcGVybHksIGFuZCBmaWd1cmUgb3V0IHdoYXQgQ3JlZGl0MiB3YW50cw0KPiA+
ICsgKiAgICAgICB0byBkbyB3aXRoIHRoZSBmYWN0IHRoYXQgeDg2X251bV9zaWJsaW5ncyBkb2Vz
bid0IGV2ZW4gaGF2ZSB0aGUgc2FtZQ0KPiA+ICsgKiAgICAgICBtZWFuaW5nIGJldHdlZW4geDg2
IHZlbmRvcnMuDQo+IA0KPiBIbW0sIHRoZSAiYWJzdHJhY3QgcHJvcGVybHkiIHBhcnQgaXMgYmVp
bmcgYWRkcmVzc2VkIGJ5IHRoaXMgcGF0Y2guIFdoeSB3b3VsZA0KPiB5b3Uga2VlcCBzYXlpbmcg
aXQgbmVlZHMgYWRkcmVzc2luZyBpbiB0aGUgY29tbWVudCB5b3UgbW92ZT8NCg0KT2FreSwgSSBz
aG91bGRuJ3QgaGF2ZSBsZWZ0IHRoZSAiYWJzdHJhY3QgcHJvcGVybHkiIHBhcnQuIEkgd2lsbCBk
ZWxldGUgaXQuDQpBZGRpdGlvbmFsbHksIEkgd2lsbCB1cGRhdGUgdGhpcyBjb21tZW50IGJsb2Nr
IHRvIGV4cGxpY2l0bHkgbWVudGlvbiBBUk0ncyANClNNVCB0b3BvbG9neSBhbG9uZ3NpZGUgSW50
ZWwncyBIVHMgYW5kIEFNRCdzIENVcy4NCg0KVGhhbmsgeW91LA0KSGlyb2thenUgVGFrYWhhc2hp
DQo=


From xen-devel-bounces@lists.xenproject.org Fri Jun 12 23:09:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 23:09:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337055.1598756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYB0K-0003KZ-PQ; Fri, 12 Jun 2026 23:09:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337055.1598756; Fri, 12 Jun 2026 23:09: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 1wYB0K-0003KQ-Lc; Fri, 12 Jun 2026 23:09:36 +0000
Received: by outflank-mailman (input) for mailman id 1337055;
 Fri, 12 Jun 2026 23:09:34 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wYB0I-0002qs-Ak
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 23:09:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYB0H-00HQFu-O0
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 01:09:33 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2c91aa-bab6-0a2a0a5309dd-0a2a450cdf7e-4
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 01:09:33 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2c91ad-62f1-0a2a450c0019-d155802dc82e-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 01:09:33 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-490a76757e5so11219995e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:09:33 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2b0d28sm10035907f8f.20.2026.06.12.16.09.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 12 Jun 2026 16:09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1781305772; x=1781910572; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KFyw1G28LeeEU4Gr9TD1kO3R30BodTfCNqazb+xAagQ=;
        b=dy3gqzy6rZpRMjzKbSEbsxYqFsbDBjFrJOV0cb+erwj4lD2UY3bzh3YffjyLp7vovD
         PbONU4LQ1Hv+pNF8kvtpUnKYRAk07OoNIa/1Cu46BD6UTsWQMFgjP8gBorSPC7UFyNvf
         bobQQken0J6+RxQJgFfXnpC2RT7LjuD8rntk0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781305772; x=1781910572;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=KFyw1G28LeeEU4Gr9TD1kO3R30BodTfCNqazb+xAagQ=;
        b=CEvJhngwmlI/i64vXDCPPgpTJRZpB1+oCmhMp2Bf9u14QWAEf7d7CTnDsn8EYf+Cs2
         ls8lvBtXvAvPvtuVZSZIF2XQhi4PwGqxzkAHzpQMo2YxWDLhG4a2BhZYUcvIh6qXRFsD
         krMePttQTTwaBdFxwtDuOHwCfFmFydxewovapPLIhuSHChpob4ojWL7seTL7hk7YYLJP
         unvBBkdj53RQpttUY4hbbjERJvo2uZ0kOoJ70fxqnnZsxC266n3+58fw1Ak1l+xxCzmB
         djzbUhQVH6ZxwHbhe2XFVSgtDFnS+q+l9nalqI4IESw0QywImpkaTrM8wTWzA6aoXSRn
         KyMA==
X-Gm-Message-State: AOJu0Yxk0a5lQ2UeXG7mQs491PHF2Ij/Y5MUPr6sCyBIMI+dwbFBjxsw
	OICyG15zrFxdyHPIw4iPsaGTaOceWiq6IiRvwI/8QmeR8acEylfdatz7bohs7AL5c1nAHL+GSZI
	W3bvJ
X-Gm-Gg: Acq92OH28l7DetbtFqa7Jdx6ppQKkxpJfR0XUXdII3ACRHHaDVWoEb0bJN3nqWPPVW3
	M95+rzWWqQyzFR5Rx8qXgUN8r3cwTQiKD/UmpnIqExh320rF9TR7DIOIyl1fu3c+yiK21e04Ow+
	rC/iYq2Rw/ZP9EzXErvFpGwkBK539cEXHU4OPwhQ79acJg3VuxdLe8uIIN/OR13USV/9QOrp6t/
	s0sfkcSG2DjTxxP+kmL7clM0EnTMEEbi8+83rn5kbRe8vqwo5e5V8yUo67ZTHtt1BDMWkLNt21Y
	XyXF02fYKRowOEcq4u+FFhhYPa3ZkfUpiec2H5cATEsZGiy0oxeinG1igTyLFuwncEZ+QhZ3tIV
	rq5QfAzvHz0tF03b0726icLLA1hyQ1Ryo70KAxWzOTy7yBunPSZ5VB9MIgQgeU/EWxgwe5Ev0lI
	HJ4RUZyhOFpU3xtpoyJSOoXyYsYrePOnwLREle1lxKUMWnepXFzcE9QpXx9gljF9dx06AEmLm/s
	ZeJ
X-Received: by 2002:a05:600c:348b:b0:490:e5c1:b89e with SMTP id 5b1f17b1804b1-49220061e38mr15308485e9.10.1781305771866;
        Fri, 12 Jun 2026 16:09:31 -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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 6/7] CI: Fix inconsistent use of x86-{64,32} vs x86_{64,32}
Date: Sat, 13 Jun 2026 00:09:23 +0100
Message-Id: <20260612230924.3181154-7-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
References: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1781305773-DA577CF5-ACB945E7/10/73395122804
X-purgate-type: spam
X-purgate-size: 29389

The configuration uses a mix of dashes and underscores, which is irritating to
develop for.  Switch to using the underscore form consistently; it is the more
common form and it has the benefit that it allows splitting on dashes to work
sensibly.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

This also removes an artefact from Cody's Gitlab status page, which does use
simple splitting on dashes, and ends up with a mix of "x86" and "x86_64".

I've left Yocto alone.  They have bigger problems than just underscores, and
the jobs have bitrotted while they've been off.
---
 automation/gitlab-ci/build.yaml               | 154 +++++-----
 automation/gitlab-ci/test.yaml                | 280 +++++++++---------
 .../{xtf-x86-64-config => xtf-x86_64-config}  |   0
 ...86-64-efi-config => xtf-x86_64-efi-config} |   0
 .../include/{xtf-x86-64 => xtf-x86_64}        |   0
 .../{xtf-x86-64-efi => xtf-x86_64-efi}        |   0
 .../{qubes-x86-64.sh => qubes-x86_64.sh}      |   0
 7 files changed, 217 insertions(+), 217 deletions(-)
 rename automation/scripts/include/configs/{xtf-x86-64-config => xtf-x86_64-config} (100%)
 rename automation/scripts/include/configs/{xtf-x86-64-efi-config => xtf-x86_64-efi-config} (100%)
 rename automation/scripts/include/{xtf-x86-64 => xtf-x86_64} (100%)
 rename automation/scripts/include/{xtf-x86-64-efi => xtf-x86_64-efi} (100%)
 rename automation/scripts/{qubes-x86-64.sh => qubes-x86_64.sh} (100%)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index fa054a82800b..d5929e34ecaa 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -36,77 +36,77 @@
     CXX: clang++
     clang: y
 
-.x86-64-build-tmpl:
+.x86_64-build-tmpl:
   <<: *build
   variables:
     XEN_TARGET_ARCH: x86_64
   tags:
     - x86_64
 
-.x86-64-build:
-  extends: .x86-64-build-tmpl
+.x86_64-build:
+  extends: .x86_64-build-tmpl
   variables:
     debug: n
 
-.x86-64-build-debug:
-  extends: .x86-64-build-tmpl
+.x86_64-build-debug:
+  extends: .x86_64-build-tmpl
   variables:
     debug: y
 
-.x86-32-build-tmpl:
+.x86_32-build-tmpl:
   <<: *build
   variables:
     XEN_TARGET_ARCH: x86_32
   tags:
     - x86_32
 
-.x86-32-build:
-  extends: .x86-32-build-tmpl
+.x86_32-build:
+  extends: .x86_32-build-tmpl
   variables:
     debug: n
 
-.x86-32-build-debug:
-  extends: .x86-32-build-tmpl
+.x86_32-build-debug:
+  extends: .x86_32-build-tmpl
   variables:
     debug: y
 
-.gcc-x86-64-build:
-  extends: .x86-64-build
+.gcc-x86_64-build:
+  extends: .x86_64-build
   variables:
     <<: *gcc
 
-.gcc-x86-64-build-debug:
-  extends: .x86-64-build-debug
+.gcc-x86_64-build-debug:
+  extends: .x86_64-build-debug
   variables:
     <<: *gcc
 
-.gcc-x86-32-build:
-  extends: .x86-32-build
+.gcc-x86_32-build:
+  extends: .x86_32-build
   variables:
     <<: *gcc
 
-.gcc-x86-32-build-debug:
-  extends: .x86-32-build-debug
+.gcc-x86_32-build-debug:
+  extends: .x86_32-build-debug
   variables:
     <<: *gcc
 
-.clang-x86-64-build:
-  extends: .x86-64-build
+.clang-x86_64-build:
+  extends: .x86_64-build
   variables:
     <<: *clang
 
-.clang-x86-64-build-debug:
-  extends: .x86-64-build-debug
+.clang-x86_64-build-debug:
+  extends: .x86_64-build-debug
   variables:
     <<: *clang
 
-.clang-x86-32-build:
-  extends: .x86-32-build
+.clang-x86_32-build:
+  extends: .x86_32-build
   variables:
     <<: *clang
 
-.clang-x86-32-build-debug:
-  extends: .x86-32-build-debug
+.clang-x86_32-build-debug:
+  extends: .x86_32-build-debug
   variables:
     <<: *clang
 
@@ -244,25 +244,25 @@
   tags:
     - arm64
 
-.yocto-test-x86-64:
+.yocto-test-x86_64:
   extends: .yocto-test
   tags:
     - x86_64
 
-.x86-64-cross-build-tmpl:
+.x86_64-cross-build-tmpl:
   <<: *build
   variables:
     XEN_TARGET_ARCH: x86_64
   tags:
     - arm64
 
-.x86-64-cross-build:
-  extends: .x86-64-cross-build-tmpl
+.x86_64-cross-build:
+  extends: .x86_64-cross-build-tmpl
   variables:
     debug: n
 
-.gcc-x86-64-cross-build:
-  extends: .x86-64-cross-build
+.gcc-x86_64-cross-build:
+  extends: .x86_64-cross-build
   variables:
     <<: *gcc
 
@@ -271,13 +271,13 @@
 # Build jobs needed for tests
 
 alpine-3.24-x86_64-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   <<: *build-test
   variables:
     CONTAINER: alpine:3.24-x86_64
 
 alpine-3.24-x86_64-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends: .gcc-x86_64-build-debug
   <<: *build-test
   variables:
     CONTAINER: alpine:3.24-x86_64
@@ -292,13 +292,13 @@ alpine-3.24-x86_64-gcc-debug:
       CONFIG_XHCI=y
 
 debian-13-x86_64-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends: .gcc-x86_64-build-debug
   <<: *build-test
   variables:
     CONTAINER: debian:13-x86_64
 
 debian-13-x86_64-clang-debug:
-  extends: .clang-x86-64-build-debug
+  extends: .clang-x86_64-build-debug
   <<: *build-test
   variables:
     CONTAINER: debian:13-x86_64
@@ -482,14 +482,14 @@ yocto-qemuarm:
     YOCTO_OUTPUT: --copy-output
 
 yocto-qemux86-64:
-  extends: .yocto-test-x86-64
+  extends: .yocto-test-x86_64
   variables:
     YOCTO_BOARD: qemux86-64
 
 # Cppcheck analysis jobs
 
 debian-12-x86_64-gcc-cppcheck:
-  extends: .gcc-x86-64-cross-build
+  extends: .gcc-x86_64-cross-build
   variables:
     CONTAINER: debian:12-arm64v8-cppcheck
     CROSS_COMPILE: /usr/bin/x86_64-linux-gnu-
@@ -514,29 +514,29 @@ debian-12-arm64-gcc-cppcheck:
 # Build jobs not needed for tests
 
 alpine-3.24-x86_64-clang:
-  extends: .clang-x86-64-build
+  extends: .clang-x86_64-build
   variables:
     CONTAINER: alpine:3.24-x86_64
 
 alpine-3.24-x86_64-clang-debug:
-  extends: .clang-x86-64-build-debug
+  extends: .clang-x86_64-build-debug
   variables:
     CONTAINER: alpine:3.24-x86_64
 
 archlinux-x86_64-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: archlinux:current-x86_64
   allow_failure: true
 
 archlinux-x86_64-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends: .gcc-x86_64-build-debug
   variables:
     CONTAINER: archlinux:current-x86_64
   allow_failure: true
 
 debian-12-x86_64-gcc-ibt:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: debian:12-x86_64-gcc-ibt
     RANDCONFIG: y
@@ -544,42 +544,42 @@ debian-12-x86_64-gcc-ibt:
       CONFIG_XEN_IBT=y
 
 debian-12-x86_64-clang:
-  extends: .clang-x86-64-build
+  extends: .clang-x86_64-build
   variables:
     CONTAINER: debian:12-x86_64
 
 debian-12-x86_64-clang-debug:
-  extends: .clang-x86-64-build-debug
+  extends: .clang-x86_64-build-debug
   variables:
     CONTAINER: debian:12-x86_64
 
 debian-12-x86_64-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: debian:12-x86_64
 
 debian-12-x86_64-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends: .gcc-x86_64-build-debug
   variables:
     CONTAINER: debian:12-x86_64
 
 debian-12-x86_32-clang-debug:
-  extends: .clang-x86-32-build-debug
+  extends: .clang-x86_32-build-debug
   variables:
     CONTAINER: debian:12-x86_32
 
 debian-12-x86_32-gcc-debug:
-  extends: .gcc-x86-32-build-debug
+  extends: .gcc-x86_32-build-debug
   variables:
     CONTAINER: debian:12-x86_32
 
 debian-13-x86_64-clang:
-  extends: .clang-x86-64-build
+  extends: .clang-x86_64-build
   variables:
     CONTAINER: debian:13-x86_64
 
 debian-13-x86_64-clang-randconfig:
-  extends: .clang-x86-64-build
+  extends: .clang-x86_64-build
   variables:
     CONTAINER: debian:13-x86_64
     RANDCONFIG: y
@@ -587,136 +587,136 @@ debian-13-x86_64-clang-randconfig:
       CONFIG_COVERAGE=n # Disable coverage otherwise build times out.
 
 debian-13-x86_64-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: debian:13-x86_64
 
 debian-13-x86_64-gcc-randconfig:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: debian:13-x86_64
     RANDCONFIG: y
 
 debian-13-x86_32-clang-debug:
-  extends: .clang-x86-32-build-debug
+  extends: .clang-x86_32-build-debug
   variables:
     CONTAINER: debian:13-x86_32
 
 debian-13-x86_32-gcc-debug:
-  extends: .gcc-x86-32-build-debug
+  extends: .gcc-x86_32-build-debug
   variables:
     CONTAINER: debian:13-x86_32
 
 fedora-43-x86_64-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: fedora:43-x86_64
 
 fedora-43-x86_64-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends: .gcc-x86_64-build-debug
   variables:
     CONTAINER: fedora:43-x86_64
 
 ubuntu-18.04-x86_64-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: ubuntu:18.04-x86_64
 
 ubuntu-18.04-x86_64-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends: .gcc-x86_64-build-debug
   variables:
     CONTAINER: ubuntu:18.04-x86_64
 
 ubuntu-20.04-x86_64-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: ubuntu:20.04-x86_64
 
 ubuntu-22.04-x86_64-clang:
-  extends: .clang-x86-64-build
+  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
+  extends: .clang-x86_64-build-debug
   variables:
     CONTAINER: ubuntu:22.04-x86_64
 
 ubuntu-22.04-x86_64-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: ubuntu:22.04-x86_64
 
 ubuntu-24.04-x86_64-clang:
-  extends: .clang-x86-64-build
+  extends: .clang-x86_64-build
   variables:
     CONTAINER: ubuntu:24.04-x86_64
 
 ubuntu-24.04-x86_64-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: ubuntu:24.04-x86_64
 
 ubuntu-26.04-x86_64-clang:
-  extends: .clang-x86-64-build
+  extends: .clang-x86_64-build
   variables:
     CONTAINER: ubuntu:26.04-x86_64
 
 ubuntu-26.04-x86_64-clang-debug:
-  extends: .clang-x86-64-build-debug
+  extends: .clang-x86_64-build-debug
   variables:
     CONTAINER: ubuntu:26.04-x86_64
 
 ubuntu-26.04-x86_64-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: ubuntu:26.04-x86_64
 
 ubuntu-26.04-x86_64-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends: .gcc-x86_64-build-debug
   variables:
     CONTAINER: ubuntu:26.04-x86_64
 
 opensuse-leap-16.0-clang:
-  extends: .clang-x86-64-build
+  extends: .clang-x86_64-build
   variables:
     CONTAINER: opensuse:leap-16.0-x86_64
 
 opensuse-leap-16.0-clang-debug:
-  extends: .clang-x86-64-build-debug
+  extends: .clang-x86_64-build-debug
   variables:
     CONTAINER: opensuse:leap-16.0-x86_64
 
 opensuse-leap-16.0-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: opensuse:leap-16.0-x86_64
 
 opensuse-leap-16.0-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends: .gcc-x86_64-build-debug
   variables:
     CONTAINER: opensuse:leap-16.0-x86_64
 
 opensuse-tumbleweed-clang:
-  extends: .clang-x86-64-build
+  extends: .clang-x86_64-build
   variables:
     CONTAINER: opensuse:tumbleweed-x86_64
   allow_failure: true
 
 opensuse-tumbleweed-clang-debug:
-  extends: .clang-x86-64-build-debug
+  extends: .clang-x86_64-build-debug
   variables:
     CONTAINER: opensuse:tumbleweed-x86_64
   allow_failure: true
 
 opensuse-tumbleweed-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: opensuse:tumbleweed-x86_64
   allow_failure: true
 
 opensuse-tumbleweed-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends: .gcc-x86_64-build-debug
   variables:
     CONTAINER: opensuse:tumbleweed-x86_64
   allow_failure: true
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 2a7a0e513e72..fa3f776fc785 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -21,7 +21,7 @@
     job: microcode-x86
     ref: $ARTIFACTS_BRANCH
 
-.x86-64-test-needs: &x86-64-test-needs
+.x86_64-test-needs: &x86_64-test-needs
   - project: $ARTIFACTS_REPO
     job: $LINUX_JOB_X86_64
     ref: $ARTIFACTS_BRANCH
@@ -58,11 +58,11 @@
   tags:
     - arm64
 
-.qemu-x86-64:
+.qemu-x86_64:
   extends: .test-jobs-common
   variables:
     CONTAINER: debian:13-x86_64
-    LOGFILE: qemu-smoke-x86-64.log
+    LOGFILE: qemu-smoke-x86_64.log
   artifacts:
     paths:
       - smoke.serial
@@ -71,8 +71,8 @@
   tags:
     - x86_64
 
-.qemu-smoke-x86-64:
-  extends: .qemu-x86-64
+.qemu-smoke-x86_64:
+  extends: .qemu-x86_64
   variables:
     TEST_TIMEOUT_OVERRIDE: 120
 
@@ -141,7 +141,7 @@
   tags:
     - xilinx
 
-.adl-x86-64:
+.adl-x86_64:
   extends: .test-jobs-common
   variables:
     # the test controller runs on RPi4
@@ -164,9 +164,9 @@
   tags:
     - qubes-hw2
 
-.kbl-x86-64:
+.kbl-x86_64:
   # it's really similar to the ADL one
-  extends: .adl-x86-64
+  extends: .adl-x86_64
   variables:
     PCIDEV: "00:1f.6"
     PCIDEV_INTR: "MSI"
@@ -175,9 +175,9 @@
   tags:
     - qubes-hw3
 
-.zen2-x86-64:
+.zen2-x86_64:
   # it's really similar to the above
-  extends: .adl-x86-64
+  extends: .adl-x86_64
   variables:
     PCIDEV: "01:00.0"
     PCIDEV_INTR: "MSI-X"
@@ -186,9 +186,9 @@
   tags:
     - qubes-hw1
 
-.zen3p-x86-64:
+.zen3p-x86_64:
   # it's really similar to the above
-  extends: .adl-x86-64
+  extends: .adl-x86_64
   variables:
     PCIDEV: "01:00.0"
     PCIDEV_INTR: "MSI-X"
@@ -235,7 +235,7 @@ xilinx-smoke-dom0-x86_64-gcc-debug:
   script:
     - ./automation/scripts/xilinx-smoke-dom0-x86_64.sh ping 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
 xilinx-smoke-dom0-x86_64-gcc-debug-argo:
@@ -254,238 +254,238 @@ xilinx-smoke-dom0-x86_64-gcc-debug-argo:
       job: microcode-x86
       ref: master
 
-adl-smoke-x86-64-gcc-debug:
-  extends: .adl-x86-64
+adl-smoke-x86_64-gcc-debug:
+  extends: .adl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh dom0pv 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh dom0pv 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-adl-smoke-x86-64-dom0pvh-gcc-debug:
-  extends: .adl-x86-64
+adl-smoke-x86_64-dom0pvh-gcc-debug:
+  extends: .adl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh dom0pvh 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh dom0pvh 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-adl-smoke-x86-64-dom0pvh-hvm-gcc-debug:
-  extends: .adl-x86-64
+adl-smoke-x86_64-dom0pvh-hvm-gcc-debug:
+  extends: .adl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh dom0pvh-hvm 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh dom0pvh-hvm 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-adl-suspend-x86-64-gcc-debug:
-  extends: .adl-x86-64
+adl-suspend-x86_64-gcc-debug:
+  extends: .adl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh s3 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh s3 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-adl-pci-pv-x86-64-gcc-debug:
-  extends: .adl-x86-64
+adl-pci-pv-x86_64-gcc-debug:
+  extends: .adl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh pci-pv 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh pci-pv 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-adl-pci-hvm-x86-64-gcc-debug:
-  extends: .adl-x86-64
+adl-pci-hvm-x86_64-gcc-debug:
+  extends: .adl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh pci-hvm 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-adl-pvshim-x86-64-gcc-debug:
-  extends: .adl-x86-64
+adl-pvshim-x86_64-gcc-debug:
+  extends: .adl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh pvshim 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh pvshim 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-adl-tools-tests-pv-x86-64-gcc-debug:
-  extends: .adl-x86-64
+adl-tools-tests-pv-x86_64-gcc-debug:
+  extends: .adl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh tools-tests-pv 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh tools-tests-pv 2>&1 | tee ${LOGFILE}
   artifacts:
     reports:
       junit: tests-junit.xml
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-adl-tools-tests-pvh-x86-64-gcc-debug:
-  extends: .adl-x86-64
+adl-tools-tests-pvh-x86_64-gcc-debug:
+  extends: .adl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh tools-tests-pvh 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh tools-tests-pvh 2>&1 | tee ${LOGFILE}
   artifacts:
     reports:
       junit: tests-junit.xml
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-kbl-smoke-x86-64-gcc-debug:
-  extends: .kbl-x86-64
+kbl-smoke-x86_64-gcc-debug:
+  extends: .kbl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh dom0pv 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh dom0pv 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-kbl-smoke-x86-64-dom0pvh-gcc-debug:
-  extends: .kbl-x86-64
+kbl-smoke-x86_64-dom0pvh-gcc-debug:
+  extends: .kbl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh dom0pvh 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh dom0pvh 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-kbl-smoke-x86-64-dom0pvh-hvm-gcc-debug:
-  extends: .kbl-x86-64
+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}
+    - ./automation/scripts/qubes-x86_64.sh dom0pvh-hvm 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-kbl-suspend-x86-64-gcc-debug:
-  extends: .kbl-x86-64
+kbl-suspend-x86_64-gcc-debug:
+  extends: .kbl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh s3 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh s3 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-kbl-pci-pv-x86-64-gcc-debug:
-  extends: .kbl-x86-64
+kbl-pci-pv-x86_64-gcc-debug:
+  extends: .kbl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh pci-pv 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh pci-pv 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-kbl-pci-hvm-x86-64-gcc-debug:
-  extends: .kbl-x86-64
+kbl-pci-hvm-x86_64-gcc-debug:
+  extends: .kbl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh pci-hvm 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-kbl-pvshim-x86-64-gcc-debug:
-  extends: .kbl-x86-64
+kbl-pvshim-x86_64-gcc-debug:
+  extends: .kbl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh pvshim 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh pvshim 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-kbl-tools-tests-pv-x86-64-gcc-debug:
-  extends: .kbl-x86-64
+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}
+    - ./automation/scripts/qubes-x86_64.sh tools-tests-pv 2>&1 | tee ${LOGFILE}
   artifacts:
     reports:
       junit: tests-junit.xml
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-kbl-tools-tests-pvh-x86-64-gcc-debug:
-  extends: .kbl-x86-64
+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}
+    - ./automation/scripts/qubes-x86_64.sh tools-tests-pvh 2>&1 | tee ${LOGFILE}
   artifacts:
     reports:
       junit: tests-junit.xml
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-zen2-smoke-x86-64-gcc-debug:
-  extends: .zen2-x86-64
+zen2-smoke-x86_64-gcc-debug:
+  extends: .zen2-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh dom0pv 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh dom0pv 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-zen2-suspend-x86-64-gcc-debug:
-  extends: .zen2-x86-64
+zen2-suspend-x86_64-gcc-debug:
+  extends: .zen2-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh s3 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh s3 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-zen3p-smoke-x86-64-gcc-debug:
-  extends: .zen3p-x86-64
+zen3p-smoke-x86_64-gcc-debug:
+  extends: .zen3p-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh dom0pv 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh dom0pv 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-zen3p-smoke-x86-64-dom0pvh-gcc-debug:
-  extends: .zen3p-x86-64
+zen3p-smoke-x86_64-dom0pvh-gcc-debug:
+  extends: .zen3p-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh dom0pvh 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh dom0pvh 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-zen3p-smoke-x86-64-dom0pvh-hvm-gcc-debug:
-  extends: .zen3p-x86-64
+zen3p-smoke-x86_64-dom0pvh-hvm-gcc-debug:
+  extends: .zen3p-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh dom0pvh-hvm 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh dom0pvh-hvm 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-zen3p-pci-hvm-x86-64-gcc-debug:
-  extends: .zen3p-x86-64
+zen3p-pci-hvm-x86_64-gcc-debug:
+  extends: .zen3p-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh pci-hvm 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-zen3p-pvshim-x86-64-gcc-debug:
-  extends: .zen3p-x86-64
+zen3p-pvshim-x86_64-gcc-debug:
+  extends: .zen3p-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh pvshim 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh pvshim 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-zen3p-tools-tests-pv-x86-64-gcc-debug:
-  extends: .zen3p-x86-64
+zen3p-tools-tests-pv-x86_64-gcc-debug:
+  extends: .zen3p-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh tools-tests-pv 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh tools-tests-pv 2>&1 | tee ${LOGFILE}
   artifacts:
     reports:
       junit: tests-junit.xml
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-zen3p-tools-tests-pvh-x86-64-gcc-debug:
-  extends: .zen3p-x86-64
+zen3p-tools-tests-pvh-x86_64-gcc-debug:
+  extends: .zen3p-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh tools-tests-pvh 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh tools-tests-pvh 2>&1 | tee ${LOGFILE}
   artifacts:
     reports:
       junit: tests-junit.xml
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
 qemu-smoke-dom0-arm64-gcc:
@@ -649,54 +649,54 @@ qemu-smoke-dom0less-arm32-gcc-debug-earlyprintk:
     - debian-12-arm32-gcc-debug-earlyprintk
 
 qemu-alpine-x86_64-gcc:
-  extends: .qemu-x86-64
+  extends: .qemu-x86_64
   script:
     - ./automation/scripts/qemu-alpine-x86_64.sh 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc
 
-qemu-smoke-x86-64-gcc:
-  extends: .qemu-smoke-x86-64
+qemu-smoke-x86_64-gcc:
+  extends: .qemu-smoke-x86_64
   script:
-    - ./automation/scripts/qemu-xtf.sh x86-64 pv64 example 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qemu-xtf.sh x86_64 pv64 example 2>&1 | tee ${LOGFILE}
   needs:
     - debian-13-x86_64-gcc-debug
 
-qemu-smoke-x86-64-clang:
-  extends: .qemu-smoke-x86-64
+qemu-smoke-x86_64-clang:
+  extends: .qemu-smoke-x86_64
   script:
-    - ./automation/scripts/qemu-xtf.sh x86-64 pv64 example 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qemu-xtf.sh x86_64 pv64 example 2>&1 | tee ${LOGFILE}
   needs:
     - debian-13-x86_64-clang-debug
 
-qemu-smoke-x86-64-gcc-pvh:
-  extends: .qemu-smoke-x86-64
+qemu-smoke-x86_64-gcc-pvh:
+  extends: .qemu-smoke-x86_64
   script:
-    - ./automation/scripts/qemu-xtf.sh x86-64 hvm64 example 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qemu-xtf.sh x86_64 hvm64 example 2>&1 | tee ${LOGFILE}
   needs:
     - debian-13-x86_64-gcc-debug
 
-qemu-smoke-x86-64-clang-pvh:
-  extends: .qemu-smoke-x86-64
+qemu-smoke-x86_64-clang-pvh:
+  extends: .qemu-smoke-x86_64
   script:
-    - ./automation/scripts/qemu-xtf.sh x86-64 hvm64 example 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qemu-xtf.sh x86_64 hvm64 example 2>&1 | tee ${LOGFILE}
   needs:
     - debian-13-x86_64-clang-debug
 
-qemu-smoke-x86-64-gcc-efi:
-  extends: .qemu-smoke-x86-64
+qemu-smoke-x86_64-gcc-efi:
+  extends: .qemu-smoke-x86_64
   script:
-    - ./automation/scripts/qemu-xtf.sh x86-64-efi pv64 example 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qemu-xtf.sh x86_64-efi pv64 example 2>&1 | tee ${LOGFILE}
   needs:
     - debian-13-x86_64-gcc-debug
 
 qemu-xtf-argo-x86_64-gcc-debug:
-  extends: .qemu-smoke-x86-64
+  extends: .qemu-smoke-x86_64
   variables:
     TEST_TIMEOUT_OVERRIDE: 60
   script:
-    - ./automation/scripts/qemu-xtf.sh x86-64 pv64 argo 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qemu-xtf.sh x86_64 pv64 argo 2>&1 | tee ${LOGFILE}
   needs:
     - alpine-3.24-x86_64-gcc-debug
 
diff --git a/automation/scripts/include/configs/xtf-x86-64-config b/automation/scripts/include/configs/xtf-x86_64-config
similarity index 100%
rename from automation/scripts/include/configs/xtf-x86-64-config
rename to automation/scripts/include/configs/xtf-x86_64-config
diff --git a/automation/scripts/include/configs/xtf-x86-64-efi-config b/automation/scripts/include/configs/xtf-x86_64-efi-config
similarity index 100%
rename from automation/scripts/include/configs/xtf-x86-64-efi-config
rename to automation/scripts/include/configs/xtf-x86_64-efi-config
diff --git a/automation/scripts/include/xtf-x86-64 b/automation/scripts/include/xtf-x86_64
similarity index 100%
rename from automation/scripts/include/xtf-x86-64
rename to automation/scripts/include/xtf-x86_64
diff --git a/automation/scripts/include/xtf-x86-64-efi b/automation/scripts/include/xtf-x86_64-efi
similarity index 100%
rename from automation/scripts/include/xtf-x86-64-efi
rename to automation/scripts/include/xtf-x86_64-efi
diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86_64.sh
similarity index 100%
rename from automation/scripts/qubes-x86-64.sh
rename to automation/scripts/qubes-x86_64.sh
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Jun 12 23:09:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 23:09:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337050.1598704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYB0F-0001vw-5L; Fri, 12 Jun 2026 23:09:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337050.1598704; Fri, 12 Jun 2026 23: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 1wYB0E-0001vp-Uk; Fri, 12 Jun 2026 23:09:30 +0000
Received: by outflank-mailman (input) for mailman id 1337050;
 Fri, 12 Jun 2026 23:09:30 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wYB0E-0001mf-0B
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 23:09:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYB0D-006h7V-DO
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 01:09:29 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2c9156-2eae-0a2a0a5409dd-0a2a4506c6f0-36
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 01:09:29 +0200
Received: from [209.85.221.51] (helo=mail-wr1-f51.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2c91a9-7371-0a2a45060019-d155dd33cce0-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 01:09:29 +0200
Received: by mail-wr1-f51.google.com with SMTP id
 ffacd0b85a97d-45ef41adbc1so1129729f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:09:29 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2b0d28sm10035907f8f.20.2026.06.12.16.09.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 12 Jun 2026 16: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1781305769; x=1781910569; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iHgMJ5pAsBWt/gfP5CP2XcHY/YX5Ol4rY08M9vS2knc=;
        b=jVhGXagrp83OVG74s+7K30m92Pr1HcxAtjAdfssafop5ofZqgnsxwcB8Hks7fTzz5G
         hu1XWq1TT1SttM3lOy1Gt2QAxwIHf/gZt8MPS9c9yz1orsuGb0dZU3d6GiC4UBpkOpKn
         7YLFUxrJMEgaQaSeP1Ni7wgg8r/VATh23E1l4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781305769; x=1781910569;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=iHgMJ5pAsBWt/gfP5CP2XcHY/YX5Ol4rY08M9vS2knc=;
        b=S38jrfOxxM+BwyX7oKh5Ze+eptzj6KpS/Kqjqf9IH9kbyCq672g9J0NnvcfrIlcjmI
         iLj4CdKci17EKVeZ1RW7t188le0xowJi5fEvAwRzyijcy1lH10FJq/0Vo9OCLx/+X+mi
         TAKJuXcXfxkyF9u6tE1UTxlw6QdVPvHEqJErYfxM7MULg6bMDEH827l72xvA4LzQpd/E
         op0h8TTg8N7OHTcH9kPCbQKCGzUz6RWEh8QpwsWiLbeXGBAg2k2vDvTZ5UYcJPS1evvL
         hTCM3eu+qYoPYLGD7O1sdY0/eFX/WjyTTKggnMKWzuQCWsV69P+kL/iNPJ4HKv1Efh+m
         iFkw==
X-Gm-Message-State: AOJu0YwlQu56ep9tRQxYuQT8XFN/A91Cn08GA9//EfZS3dgC6KwIbz39
	UvqaeeELfqe9oRAVerRKWA+PWaITaxSPd8I315HdCU02ouRlZmS1BtEAxKmAZHzR3ebqQI3ZVsn
	Ir9Wv
X-Gm-Gg: Acq92OG33iIqUjhYVvaX/U0I/AMrB+6WALwRvXiT3IPEH/w61k7vyyHTf1eSKQPciY9
	7SkNrleNntEQqAfxUiuDBJPK26j30QcvsRU8EFmuExl1ngmZsgeIsU+hUMNnsyMnotiIjIhf1EU
	ptUch9mKz6YFtgbHgYMmpORWOA2jWjAOIdTS7WlTgO0nACc/GP+xicjjdwE0jsGnA2YOxvGgl0/
	UfetaZyFdfLH4IOdwWriva1TvKJkV9x0L/HLQ5wLxKymtvwIpVTVyC7zO1X2LxAkzg4UwMfYNth
	ezqP71IudL7UdfcD0nHbPDlE8INxYAsIv8fYiysCnXw+L3SGRppJLIvIKH+FxVZ2a68Hbxm+OZf
	YaR2rJc+XLa6kd76LCR8siabfnL03SAIXNgkRQnRsZVri061n/a5AhTOlu5nIOrsM9o5nyQGmTI
	s/Dn/p0O4DZEzabCyMac1tVp6ZGRZT2t30rrrDfNF04CDWQ5Htonkefsw2Jxl895pZCl5s82I9P
	vSb
X-Received: by 2002:a05:6000:4615:b0:45e:f381:cd8c with SMTP id ffacd0b85a97d-4607e90eab5mr1337429f8f.30.1781305768402;
        Fri, 12 Jun 2026 16:09: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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 2/7] Config.mk: Update QEMU to include pip-25.2 bugfix
Date: Sat, 13 Jun 2026 00:09:19 +0100
Message-Id: <20260612230924.3181154-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
References: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1781305769-86369D75-3B12E332/10/73395122804
X-purgate-type: spam
X-purgate-size: 1690

Specifically:

  commit 6ad034e71232c2929ed546304c9d249312bb632f
  Author: Sv. Lockal <lockalsash@gmail.com>
  Date:   Mon Aug 11 20:01:59 2025

      mkvenv: Support pip 25.2

      Fix compilation with pip-25.2 due to missing distlib.version

      Bug: https://gitlab.com/qemu-project/qemu/-/issues/3062

which cherrypicks cleanly onto qemu-xen.git master

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

This needs putting into main qemu-xen.git first, and then the override of
QEMU_UPSTREAM_URL dropping.
---
 Config.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Config.mk b/Config.mk
index 86a4999246d1..11fb39154b73 100644
--- a/Config.mk
+++ b/Config.mk
@@ -213,8 +213,8 @@ endif
 OVMF_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/ovmf.git
 OVMF_UPSTREAM_REVISION ?= ba91d0292e593df8528b66f99c1b0b14fadc8e16
 
-QEMU_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/qemu-xen.git
-QEMU_UPSTREAM_REVISION ?= e064f42c80be6f6ff8c12dcb2a663bdf70f965f6
+QEMU_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/people/andrewcoop/qemu-xen.git
+QEMU_UPSTREAM_REVISION ?= 8ac4f8f52db8943ca389f6040d61d4d98a4c072c
 
 MINIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/mini-os.git
 MINIOS_UPSTREAM_REVISION ?= b6f79f5f44cf69044079c042b88fe9d75367642e
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Jun 12 23:09:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 23:09:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337053.1598738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYB0I-0002qz-8c; Fri, 12 Jun 2026 23:09:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337053.1598738; Fri, 12 Jun 2026 23:09: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 1wYB0I-0002qb-4l; Fri, 12 Jun 2026 23:09:34 +0000
Received: by outflank-mailman (input) for mailman id 1337053;
 Fri, 12 Jun 2026 23:09:32 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wYB0G-0002Rh-Dp
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 23:09:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYB0F-00HQFu-R8
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 01:09:31 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2c91aa-bab6-0a2a0a5309dd-0a2a450cdf7e-2
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 01:09:31 +0200
Received: from [209.85.128.41] (helo=mail-wm1-f41.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2c91ab-62f1-0a2a450c0019-d1558029c58b-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 01:09:31 +0200
Received: by mail-wm1-f41.google.com with SMTP id
 5b1f17b1804b1-490ae94a89eso12816255e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:09:31 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2b0d28sm10035907f8f.20.2026.06.12.16.09.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 12 Jun 2026 16:09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1781305771; x=1781910571; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Kcf/WI93RAFHfmUF0my5rnSxM7s1K4C7gOFPv+zFjeM=;
        b=t5PFUODQ9910psNrkjzf0LLsLSa/X3p+v1S2Uw4bx9i2zSafY7R9LYgoJE/4eNYVz1
         pYSVAqVs6nr/r0r2/7YVRlQGs+Md9pE/VIKPhEwViF2JWDYkAA7VdvZIdN5wSpreZpnk
         L0Xe0g7nO5yKdZPyfTuhF0o0jrUDofTjIOytM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781305771; x=1781910571;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=Kcf/WI93RAFHfmUF0my5rnSxM7s1K4C7gOFPv+zFjeM=;
        b=aXlCoOljVLgTUm8Z43kVD7gqj9X1yCF7ky6CplFafRLROl646ho6fLHJFe0LlaXlNi
         xzH7P4V9ZNgJuulDFdfwqccOFQShrTOhOAFPyb50pv5tTjLYUU30a0PcaxkZKVNXdX+Q
         fzn78sf5iOD3DjuNxb6xPK0z6enFzTQAqQKEm11i96TO8Cs4PeJKVz8f6k0SvpQld0fM
         VyDgeYkGT6oFucIjYjf5iWCVCdwcDVW4XIOYyi9AqNOzWNRJmy4+LyInUc7D6eRQ86U2
         ZfHu1IGtCmYf3SiRaaJfZxWElsdXfAcZHmLCWQtj3nBmtNFugahHrsGrmpl84ImSfEdX
         AY+Q==
X-Gm-Message-State: AOJu0YxO1Nk4vRLvvQfgnA6HM8/uQ5Mm2R5utfrttk/QP2uDHZ+OOxxm
	RjSPT3inAUexrIuI6lhNKmrKMap1DAPD1RVks9LRa+ct8Ot/rTXueOSU9I5OcNpx0Zk82lrvsKV
	KjCAW
X-Gm-Gg: Acq92OG22lo1hXSDbj/NZVPT1oDPVmQL6oe3H+AOwsUQS3vEEclAM7EJRK3RNOFtFE0
	X/jg2uggDPxbJ2Lb7b8n9Eg7imGfLcRt3k8uchSFnwwo7o6WIQjHxbQwUzi3CiGCIIj583EK872
	QjWupJo0VRzBadx4MXg2q6zyQWyyV0ADhBmbJgOKk0j2EM/qv++47hzxErGL5Jen0e9sfIaLtGV
	fposQ5ki3NcT8NIFc1rBLojhy/mjN5lntIMZExrmLEKJ0cBJLLfkirrSWufQ3mn/suOrTq7HGNG
	/KjnFXbXJwHJlvbPFOb6VpdnsQTYypDzbx7qV4ox/X3tap1ogySztOxxIyCp3uYnmO3cNzNp02s
	9WmHOuy/XqK1qPsfiNFFEngzPKH793Efii/JgEAat8p8Nm6cgQ4Lob0HZ5q5a2NYM4HcdptPavq
	goLaMhA9lQ1s/kZG5PabSoXJLClpd6dDCBAj6RySM4s3Pu2Sy3JHuQLJuwrq0trkAfsXgHpLWip
	crK
X-Received: by 2002:a05:600c:47d3:b0:490:d354:bcf4 with SMTP id 5b1f17b1804b1-492200e2409mr9061075e9.27.1781305771094;
        Fri, 12 Jun 2026 16:09:31 -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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 5/7] CI: Update the Alpine arm64 container to 3.24
Date: Sat, 13 Jun 2026 00:09:22 +0100
Message-Id: <20260612230924.3181154-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
References: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1781305771-E0F62CF5-3A5A4768/10/63158204843
X-purgate-type: spam
X-purgate-size: 11574

Perform standard syntax cleanup and make it a non-root container.  Switch yajl
for json-c given the deprecation of the former.  Drop dev86 which is an
x86-only dependency, and QEMU dependencies as we don't build QEMU in this
environment any more.

When updating the job names, also rename some for consistency so the arm64
fragment comes before the compiler.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Requires the test-artefacts change to add alpine-3.24-arm64-rootfs
---
 .../build/alpine/3.18-arm64v8.dockerfile      | 51 ------------------
 .../build/alpine/3.24-arm64v8.dockerfile      | 53 +++++++++++++++++++
 automation/gitlab-ci/build.yaml               | 32 +++++------
 automation/gitlab-ci/test.yaml                | 30 +++++------
 4 files changed, 84 insertions(+), 82 deletions(-)
 delete mode 100644 automation/build/alpine/3.18-arm64v8.dockerfile
 create mode 100644 automation/build/alpine/3.24-arm64v8.dockerfile

diff --git a/automation/build/alpine/3.18-arm64v8.dockerfile b/automation/build/alpine/3.18-arm64v8.dockerfile
deleted file mode 100644
index b8482d5bf43f..000000000000
--- a/automation/build/alpine/3.18-arm64v8.dockerfile
+++ /dev/null
@@ -1,51 +0,0 @@
-# syntax=docker/dockerfile:1
-FROM --platform=linux/arm64/v8 alpine:3.18
-LABEL maintainer.name="The Xen Project" \
-      maintainer.email="xen-devel@lists.xenproject.org"
-
-ENV USER root
-
-RUN mkdir /build
-WORKDIR /build
-
-# build depends
-RUN apk --no-cache add \
-  \
-  # xen build deps
-  argp-standalone \
-  autoconf \
-  bash \
-  bison \
-  curl \
-  dev86 \
-  dtc-dev \
-  flex \
-  gcc \
-  git \
-  iasl \
-  libaio-dev \
-  libfdt \
-  linux-headers \
-  make \
-  musl-dev  \
-  ncurses-dev \
-  ocaml \
-  ocaml-findlib \
-  patch  \
-  python3-dev \
-  py3-setuptools \
-  texinfo \
-  util-linux-dev \
-  xz-dev \
-  yajl-dev \
-  zlib-dev \
-  \
-  # qemu build deps
-  glib-dev \
-  libattr \
-  libcap-ng-dev \
-  pixman-dev \
-  # qubes test deps
-  openssh-client \
-  fakeroot \
-  expect \
diff --git a/automation/build/alpine/3.24-arm64v8.dockerfile b/automation/build/alpine/3.24-arm64v8.dockerfile
new file mode 100644
index 000000000000..5b28d874efae
--- /dev/null
+++ b/automation/build/alpine/3.24-arm64v8.dockerfile
@@ -0,0 +1,53 @@
+# syntax=docker/dockerfile:1
+FROM --platform=linux/arm64/v8 alpine:3.24
+LABEL maintainer.name="The Xen Project"
+LABEL maintainer.email="xen-devel@lists.xenproject.org"
+
+RUN apk --no-cache add bash
+
+RUN <<EOF
+#!/bin/bash
+    set -eu
+
+    adduser -D user
+
+    DEPS=(
+        # Xen
+        bison
+        flex
+        g++
+        gcc
+        make
+
+        # Tools (general)
+        argp-standalone
+        autoconf
+        git
+        linux-headers
+        patch
+        # libxenguest dombuilder
+        bzip2-dev
+        xz-dev
+        zlib-dev
+        zstd-dev
+        # libacpi
+        iasl
+        # libxl
+        dtc-dev
+        json-c-dev
+        util-linux-dev
+        # xentop
+        ncurses-dev
+        # Python bindings
+        python3-dev
+        py3-setuptools
+        # Ocaml bindings/oxenstored
+        ocaml
+        ocaml-findlib
+    )
+
+    apk add --no-cache "${DEPS[@]}"
+EOF
+
+USER user
+WORKDIR /build
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index e295f4d4f25f..fa054a82800b 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -401,68 +401,68 @@ debian-13-arm64-gcc-debug:
   variables:
     CONTAINER: debian:13-arm64v8
 
-alpine-3.18-gcc-arm64:
+alpine-3.24-arm64-gcc:
   extends: .gcc-arm64-build
   <<: *build-test
   variables:
-    CONTAINER: alpine:3.18-arm64v8
+    CONTAINER: alpine:3.24-arm64v8
 
-alpine-3.18-gcc-debug-arm64:
+alpine-3.24-arm64-gcc-debug:
   extends: .gcc-arm64-build-debug
   <<: *build-test
   variables:
-    CONTAINER: alpine:3.18-arm64v8
+    CONTAINER: alpine:3.24-arm64v8
     EXTRA_XEN_CONFIG: |
       CONFIG_UBSAN=y
       CONFIG_UBSAN_FATAL=y
 
-alpine-3.18-gcc-arm64-randconfig:
+alpine-3.24-arm64-gcc-randconfig:
   extends: .gcc-arm64-build
   variables:
-    CONTAINER: alpine:3.18-arm64v8
+    CONTAINER: alpine:3.24-arm64v8
     RANDCONFIG: y
 
-alpine-3.18-gcc-debug-arm64-staticmem:
+alpine-3.24-arm64-gcc-debug-staticmem:
   extends: .gcc-arm64-build-debug
   <<: *build-test
   variables:
-    CONTAINER: alpine:3.18-arm64v8
+    CONTAINER: alpine:3.24-arm64v8
     EXTRA_XEN_CONFIG: |
       CONFIG_EXPERT=y
       CONFIG_UNSUPPORTED=y
       CONFIG_STATIC_MEMORY=y
 
-alpine-3.18-gcc-debug-arm64-static-shared-mem:
+alpine-3.24-arm64-gcc-debug-static-shared-mem:
   extends: .gcc-arm64-build-debug
   <<: *build-test
   variables:
-    CONTAINER: alpine:3.18-arm64v8
+    CONTAINER: alpine:3.24-arm64v8
     EXTRA_XEN_CONFIG: |
       CONFIG_UNSUPPORTED=y
       CONFIG_STATIC_MEMORY=y
       CONFIG_STATIC_SHM=y
 
-alpine-3.18-gcc-debug-arm64-boot-cpupools:
+alpine-3.24-arm64-gcc-debug-boot-cpupools:
   extends: .gcc-arm64-build-debug
   <<: *build-test
   variables:
-    CONTAINER: alpine:3.18-arm64v8
+    CONTAINER: alpine:3.24-arm64v8
     EXTRA_XEN_CONFIG: |
       CONFIG_BOOT_TIME_CPUPOOLS=y
 
-alpine-3.18-gcc-debug-arm64-earlyprintk:
+alpine-3.24-arm64-gcc-debug-earlyprintk:
   extends: .gcc-arm64-build-debug
   <<: *build-test
   variables:
-    CONTAINER: alpine:3.18-arm64v8
+    CONTAINER: alpine:3.24-arm64v8
     EXTRA_XEN_CONFIG: |
       CONFIG_EARLY_UART_CHOICE_PL011=y
       CONFIG_EARLY_UART_BASE_ADDRESS=0x9000000
 
-alpine-3.18-gcc-debug-arm64-mpu:
+alpine-3.24-arm64-gcc-debug-mpu:
   extends: .gcc-arm64-build-debug
   variables:
-    CONTAINER: alpine:3.18-arm64v8
+    CONTAINER: alpine:3.24-arm64v8
     HYPERVISOR_ONLY: y
     EXTRA_XEN_CONFIG: |
       CONFIG_XEN_START_ADDRESS=0x0
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index b651efef1593..2a7a0e513e72 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -10,7 +10,7 @@
     job: $LINUX_JOB_ARM64
     ref: $ARTIFACTS_BRANCH
   - project: $ARTIFACTS_REPO
-    job: alpine-3.18-arm64-rootfs
+    job: alpine-3.24-arm64-rootfs
     ref: $ARTIFACTS_BRANCH
 
 .arm32-test-needs: &arm32-test-needs
@@ -220,7 +220,7 @@ xilinx-smoke-dom0less-arm64-gcc-debug:
     - ./automation/scripts/xilinx-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.18-gcc-debug-arm64
+    - alpine-3.24-arm64-gcc-debug
 
 xilinx-smoke-dom0less-arm64-gcc-debug-gem-passthrough:
   extends: .xilinx-arm64
@@ -228,7 +228,7 @@ xilinx-smoke-dom0less-arm64-gcc-debug-gem-passthrough:
     - ./automation/scripts/xilinx-smoke-dom0less-arm64.sh gem-passthrough 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.18-gcc-debug-arm64
+    - alpine-3.24-arm64-gcc-debug
 
 xilinx-smoke-dom0-x86_64-gcc-debug:
   extends: .xilinx-x86_64
@@ -494,7 +494,7 @@ qemu-smoke-dom0-arm64-gcc:
     - ./automation/scripts/qemu-smoke-dom0-arm64.sh 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.18-gcc-arm64
+    - alpine-3.24-arm64-gcc
 
 qemu-smoke-dom0-arm64-gcc-debug:
   extends: .qemu-arm64
@@ -502,7 +502,7 @@ qemu-smoke-dom0-arm64-gcc-debug:
     - ./automation/scripts/qemu-smoke-dom0-arm64.sh 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.18-gcc-debug-arm64
+    - alpine-3.24-arm64-gcc-debug
 
 qemu-smoke-dom0less-arm64-gcc:
   extends: .qemu-arm64
@@ -510,7 +510,7 @@ qemu-smoke-dom0less-arm64-gcc:
     - ./automation/scripts/qemu-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.18-gcc-arm64
+    - alpine-3.24-arm64-gcc
 
 qemu-smoke-dom0less-arm64-gcc-debug:
   extends: .qemu-arm64
@@ -518,7 +518,7 @@ qemu-smoke-dom0less-arm64-gcc-debug:
     - ./automation/scripts/qemu-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.18-gcc-debug-arm64
+    - alpine-3.24-arm64-gcc-debug
 
 qemu-smoke-dom0less-arm64-gcc-debug-gicv3:
   extends: .qemu-arm64
@@ -526,7 +526,7 @@ qemu-smoke-dom0less-arm64-gcc-debug-gicv3:
     - ./automation/scripts/qemu-smoke-dom0less-arm64.sh gicv3 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.18-gcc-debug-arm64
+    - alpine-3.24-arm64-gcc-debug
 
 qemu-smoke-dom0less-arm64-gcc-debug-staticmem:
   extends: .qemu-arm64
@@ -534,7 +534,7 @@ qemu-smoke-dom0less-arm64-gcc-debug-staticmem:
     - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-mem 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.18-gcc-debug-arm64-staticmem
+    - alpine-3.24-arm64-gcc-debug-staticmem
 
 qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
  extends: .qemu-arm64
@@ -542,7 +542,7 @@ qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | tee ${LOGFILE}
  needs:
    - *arm64-test-needs
-   - alpine-3.18-gcc-debug-arm64
+   - alpine-3.24-arm64-gcc-debug
 
 qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem:
   extends: .qemu-arm64
@@ -550,7 +550,7 @@ qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem:
     - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-shared-mem 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.18-gcc-debug-arm64-static-shared-mem
+    - alpine-3.24-arm64-gcc-debug-static-shared-mem
 
 qemu-smoke-dom0less-arm64-gcc-debug-boot-cpupools:
   extends: .qemu-arm64
@@ -558,7 +558,7 @@ qemu-smoke-dom0less-arm64-gcc-debug-boot-cpupools:
     - ./automation/scripts/qemu-smoke-dom0less-arm64.sh boot-cpupools 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.18-gcc-debug-arm64-boot-cpupools
+    - alpine-3.24-arm64-gcc-debug-boot-cpupools
 
 qemu-smoke-dom0less-arm64-gcc-debug-earlyprintk:
   extends: .qemu-arm64
@@ -566,7 +566,7 @@ qemu-smoke-dom0less-arm64-gcc-debug-earlyprintk:
     - ./automation/scripts/qemu-smoke-dom0less-arm64.sh earlyprintk 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.18-gcc-debug-arm64-earlyprintk
+    - alpine-3.24-arm64-gcc-debug-earlyprintk
 
 qemu-xtf-dom0less-arm64-gcc-hyp-xen-version:
   extends: .qemu-arm64
@@ -574,7 +574,7 @@ qemu-xtf-dom0less-arm64-gcc-hyp-xen-version:
     - ./automation/scripts/qemu-xtf.sh arm64 mmu64le hyp-xen-version 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.18-gcc-arm64
+    - alpine-3.24-arm64-gcc
 
 qemu-xtf-dom0less-arm64-gcc-debug-hyp-xen-version:
   extends: .qemu-arm64
@@ -582,7 +582,7 @@ qemu-xtf-dom0less-arm64-gcc-debug-hyp-xen-version:
     - ./automation/scripts/qemu-xtf.sh arm64 mmu64le hyp-xen-version 2>&1 | tee ${LOGFILE}
   needs:
     - *arm64-test-needs
-    - alpine-3.18-gcc-debug-arm64
+    - alpine-3.24-arm64-gcc-debug
 
 qemu-smoke-dom0-arm32-gcc:
   extends: .qemu-arm32
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Jun 12 23:09:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 23:09:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337052.1598728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYB0G-0002cP-SP; Fri, 12 Jun 2026 23:09:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337052.1598728; Fri, 12 Jun 2026 23: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 1wYB0G-0002bd-Or; Fri, 12 Jun 2026 23:09:32 +0000
Received: by outflank-mailman (input) for mailman id 1337052;
 Fri, 12 Jun 2026 23:09:32 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wYB0F-00029X-NH
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 23:09:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYB0F-00HIs8-3w
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 01:09:31 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2c915b-5cb7-0a2a0a5109dd-0a2a4502ddb2-22
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 01:09:31 +0200
Received: from [209.85.221.44] (helo=mail-wr1-f44.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2c91aa-af86-0a2a45020019-d155dd2ca954-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 01:09:31 +0200
Received: by mail-wr1-f44.google.com with SMTP id
 ffacd0b85a97d-45ee5cdbd28so1556248f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:09:31 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2b0d28sm10035907f8f.20.2026.06.12.16.09.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 12 Jun 2026 16:09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1781305770; x=1781910570; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mNdU35BttH64TZdXrpZk6Pea4Pf1aJ80D0BD0gDbtew=;
        b=RmYL127n0BEpxndNEtFRg/keMW495qiSX/GwTPGq66Rfx9obRxn4FJ/lD1VFZpog0N
         JVwkUfCiOuy0mco39svRfNppNm+VFNu5piYuVo5HbuZrmKSSZlDM1mqEHn8GBm3whK/k
         d+Lo6cUWhhUoSGheE4nAOEKx0LTPtKeGryAHg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781305770; x=1781910570;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=mNdU35BttH64TZdXrpZk6Pea4Pf1aJ80D0BD0gDbtew=;
        b=IWf+LeiYjBvKvninzhCXSdMUtAmZ2P4c64Ks52dMvVQdmwIWCFxH0Ia2eapK3uHygR
         dSr5esztzg0sgOfB9Bg9v9tM8ueEhom09FiQ7NQ+oEiKIPFZYZeEfBI+KlVcy2DHBfL8
         aSLasfxuLiGO9udYblKYHuFd9jIOZ6Up1wos76xCgsAQ/VRAH3QeEZ36h09G1q0tzSRp
         8QqtqopSmrUiPU+kZOkRTuEqYIjXM0xsbMRA8Sv41g18F95wfnwa3zy04UOTXlLj1CmQ
         PVMyEdl3NCvLTpJhiuOfhhgXSHkZeEjbrirHuwN5TQBI0PTKKR7/5wGC3RqcudjqoPHM
         K+hg==
X-Gm-Message-State: AOJu0YzG9yNPH0Q4Ux7qQtvnatopT7KC0F2R8legAtSxtNfUQfbWtojD
	RMJwRV4zSHEoGIOxGCiCGDQVIuTtxu4ms3GEaxJKcBLlvawLzmwlpDIPPWeDlTcXbL+53QxF/Wy
	KxG77
X-Gm-Gg: Acq92OEvysOQGEczuSeqSMu0dAkw189/C7akp7ig/tdN5oIviYHStPCMslKY7QT27Lr
	yFJs26PoKSjPlWfuJ7sQwkNvDbO3CJB7Kt8e94AUmdb2cJaRKPmuuY97GF5ZSKRpjc3WKsTYiPp
	tBt1n/KJXgVFb8Xyqahw7stjSb1i1qRvkzYMGm/H88nkmxDTImlwelAfFSUmaYBq5Qwgua+P2y1
	aQJrT1NVPvXc6K7EI343wbFMRFBsJDVuQPf26F2R9OFybhmn9k9ltSFx0VErftQNa8gMpTrf4sN
	ufLaspa7rpbm19lvvT3FdeZMV8uy/pFK2Mw/qffHe99KLdL67v7HDAoENg19u5ZYf/RXfFry69J
	wuZBdS9yt9gWvi+sA9W504Lj+MQuNH4YZuUbP8pyShRk4LpCEP3P+glMtemn8nDd+6jp1aiINyb
	XRq3XvUahIeBIz9tZC1XVR5PTBNJPorFtHfT1+U//wMQc/KIhpaMZpqfK+Aj3o5VVZD2iLNwilS
	UrdMpgQAT/YrCY=
X-Received: by 2002:a5d:64cd:0:b0:460:395c:7404 with SMTP id ffacd0b85a97d-4606f25dd0dmr6094805f8f.20.1781305770305;
        Fri, 12 Jun 2026 16:09: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>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 4/7] CI: Update the Alpine x86_64 container to 3.24
Date: Sat, 13 Jun 2026 00:09:21 +0100
Message-Id: <20260612230924.3181154-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
References: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1781305771-8256B161-373B2C2A/10/63158204843
X-purgate-type: spam
X-purgate-size: 15246

Perform standard syntax cleanup and make it a non-root container.  Switch yajl
for json-c given the deprecation of the former.

Add an x86_64 suffix for naming consistency with everything else.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Requires the test-artefacts change to add alpine-3.24-x86_64-rootfs
---
 automation/build/alpine/3.18.dockerfile       | 52 ---------------
 .../build/alpine/3.24-x86_64.dockerfile       | 65 ++++++++++++++++++
 automation/gitlab-ci/build.yaml               | 16 ++---
 automation/gitlab-ci/test.yaml                | 66 +++++++++----------
 automation/scripts/containerize               |  2 +-
 5 files changed, 107 insertions(+), 94 deletions(-)
 delete mode 100644 automation/build/alpine/3.18.dockerfile
 create mode 100644 automation/build/alpine/3.24-x86_64.dockerfile

diff --git a/automation/build/alpine/3.18.dockerfile b/automation/build/alpine/3.18.dockerfile
deleted file mode 100644
index 263e9e90d888..000000000000
--- a/automation/build/alpine/3.18.dockerfile
+++ /dev/null
@@ -1,52 +0,0 @@
-# syntax=docker/dockerfile:1
-FROM --platform=linux/amd64 alpine:3.18
-LABEL maintainer.name="The Xen Project" \
-      maintainer.email="xen-devel@lists.xenproject.org"
-
-ENV USER root
-
-RUN mkdir /build
-WORKDIR /build
-
-# build depends
-RUN apk --no-cache add \
-  \
-  # xen build deps
-  argp-standalone \
-  autoconf \
-  bash \
-  bison \
-  clang \
-  curl \
-  dev86 \
-  flex \
-  g++ \
-  gcc \
-  git \
-  grep \
-  iasl \
-  libaio-dev \
-  libc6-compat \
-  linux-headers \
-  make \
-  musl-dev  \
-  ncurses-dev \
-  ocaml \
-  ocaml-findlib \
-  patch  \
-  python3-dev \
-  py3-setuptools \
-  texinfo \
-  util-linux-dev \
-  xz-dev \
-  yajl-dev \
-  zlib-dev \
-  \
-  # qemu build deps
-  glib-dev \
-  libattr \
-  libcap-ng-dev \
-  ninja \
-  pixman-dev \
-  # livepatch-tools deps
-  elfutils-dev \
diff --git a/automation/build/alpine/3.24-x86_64.dockerfile b/automation/build/alpine/3.24-x86_64.dockerfile
new file mode 100644
index 000000000000..f93158e0186d
--- /dev/null
+++ b/automation/build/alpine/3.24-x86_64.dockerfile
@@ -0,0 +1,65 @@
+# syntax=docker/dockerfile:1
+FROM --platform=linux/amd64 alpine:3.24
+LABEL maintainer.name="The Xen Project"
+LABEL maintainer.email="xen-devel@lists.xenproject.org"
+
+RUN apk --no-cache add bash
+
+RUN <<EOF
+#!/bin/bash
+    set -eu
+
+    adduser -D user
+
+    DEPS=(
+        # Xen
+        bison
+        clang
+        flex
+        g++
+        gcc
+        make
+
+        # Tools (general)
+        argp-standalone
+        autoconf
+        git
+        linux-headers
+        patch
+        # libxenguest dombuilder
+        bzip2-dev
+        xz-dev
+        zlib-dev
+        zstd-dev
+        # libacpi
+        iasl
+        # libxl
+        util-linux-dev
+        json-c-dev
+        # RomBIOS
+        dev86
+        # xentop
+        ncurses-dev
+        # Python bindings
+        python3-dev
+        py3-setuptools
+        # Ocaml bindings/oxenstored
+        ocaml
+        ocaml-findlib
+
+        # QEMU
+        glib-dev
+        libattr
+        libcap-ng-dev
+        ninja
+        pixman-dev
+
+        # livepatch-tools deps
+        elfutils-dev
+    )
+
+    apk add --no-cache "${DEPS[@]}"
+EOF
+
+USER user
+WORKDIR /build
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 9eda40dc6e57..e295f4d4f25f 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -270,17 +270,17 @@
 
 # Build jobs needed for tests
 
-alpine-3.18-gcc:
+alpine-3.24-x86_64-gcc:
   extends: .gcc-x86-64-build
   <<: *build-test
   variables:
-    CONTAINER: alpine:3.18
+    CONTAINER: alpine:3.24-x86_64
 
-alpine-3.18-gcc-debug:
+alpine-3.24-x86_64-gcc-debug:
   extends: .gcc-x86-64-build-debug
   <<: *build-test
   variables:
-    CONTAINER: alpine:3.18
+    CONTAINER: alpine:3.24-x86_64
     BUILD_QEMU_XEN: y
     EXTRA_XEN_CONFIG: |
       CONFIG_EXPERT=y
@@ -513,15 +513,15 @@ debian-12-arm64-gcc-cppcheck:
 
 # Build jobs not needed for tests
 
-alpine-3.18-clang:
+alpine-3.24-x86_64-clang:
   extends: .clang-x86-64-build
   variables:
-    CONTAINER: alpine:3.18
+    CONTAINER: alpine:3.24-x86_64
 
-alpine-3.18-clang-debug:
+alpine-3.24-x86_64-clang-debug:
   extends: .clang-x86-64-build-debug
   variables:
-    CONTAINER: alpine:3.18
+    CONTAINER: alpine:3.24-x86_64
 
 archlinux-x86_64-gcc:
   extends: .gcc-x86-64-build
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 70bb4bbb3b45..b651efef1593 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -26,7 +26,7 @@
     job: $LINUX_JOB_X86_64
     ref: $ARTIFACTS_BRANCH
   - project: $ARTIFACTS_REPO
-    job: alpine-3.18-x86_64-rootfs
+    job: alpine-3.24-x86_64-rootfs
     ref: $ARTIFACTS_BRANCH
   - project: $ARTIFACTS_REPO
     job: microcode-x86
@@ -236,19 +236,19 @@ xilinx-smoke-dom0-x86_64-gcc-debug:
     - ./automation/scripts/xilinx-smoke-dom0-x86_64.sh ping 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 xilinx-smoke-dom0-x86_64-gcc-debug-argo:
   extends: .xilinx-x86_64
   script:
     - ./automation/scripts/xilinx-smoke-dom0-x86_64.sh argo 2>&1 | tee ${LOGFILE}
   needs:
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
     - project: xen-project/hardware/test-artifacts
       job: linux-6.6.56-x86_64
       ref: master
     - project: xen-project/hardware/test-artifacts
-      job: alpine-3.18-x86_64-rootfs
+      job: alpine-3.24-x86_64-rootfs
       ref: master
     - project: xen-project/hardware/test-artifacts
       job: microcode-x86
@@ -260,7 +260,7 @@ adl-smoke-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pv 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 adl-smoke-x86-64-dom0pvh-gcc-debug:
   extends: .adl-x86-64
@@ -268,7 +268,7 @@ adl-smoke-x86-64-dom0pvh-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pvh 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 adl-smoke-x86-64-dom0pvh-hvm-gcc-debug:
   extends: .adl-x86-64
@@ -276,7 +276,7 @@ adl-smoke-x86-64-dom0pvh-hvm-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pvh-hvm 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 adl-suspend-x86-64-gcc-debug:
   extends: .adl-x86-64
@@ -284,7 +284,7 @@ adl-suspend-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh s3 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 adl-pci-pv-x86-64-gcc-debug:
   extends: .adl-x86-64
@@ -292,7 +292,7 @@ adl-pci-pv-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh pci-pv 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 adl-pci-hvm-x86-64-gcc-debug:
   extends: .adl-x86-64
@@ -300,7 +300,7 @@ adl-pci-hvm-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 adl-pvshim-x86-64-gcc-debug:
   extends: .adl-x86-64
@@ -308,7 +308,7 @@ adl-pvshim-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh pvshim 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 adl-tools-tests-pv-x86-64-gcc-debug:
   extends: .adl-x86-64
@@ -319,7 +319,7 @@ adl-tools-tests-pv-x86-64-gcc-debug:
       junit: tests-junit.xml
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 adl-tools-tests-pvh-x86-64-gcc-debug:
   extends: .adl-x86-64
@@ -330,7 +330,7 @@ adl-tools-tests-pvh-x86-64-gcc-debug:
       junit: tests-junit.xml
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 kbl-smoke-x86-64-gcc-debug:
   extends: .kbl-x86-64
@@ -338,7 +338,7 @@ kbl-smoke-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pv 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 kbl-smoke-x86-64-dom0pvh-gcc-debug:
   extends: .kbl-x86-64
@@ -346,7 +346,7 @@ kbl-smoke-x86-64-dom0pvh-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pvh 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 kbl-smoke-x86-64-dom0pvh-hvm-gcc-debug:
   extends: .kbl-x86-64
@@ -354,7 +354,7 @@ kbl-smoke-x86-64-dom0pvh-hvm-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pvh-hvm 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 kbl-suspend-x86-64-gcc-debug:
   extends: .kbl-x86-64
@@ -362,7 +362,7 @@ kbl-suspend-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh s3 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 kbl-pci-pv-x86-64-gcc-debug:
   extends: .kbl-x86-64
@@ -370,7 +370,7 @@ kbl-pci-pv-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh pci-pv 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 kbl-pci-hvm-x86-64-gcc-debug:
   extends: .kbl-x86-64
@@ -378,7 +378,7 @@ kbl-pci-hvm-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 kbl-pvshim-x86-64-gcc-debug:
   extends: .kbl-x86-64
@@ -386,7 +386,7 @@ kbl-pvshim-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh pvshim 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 kbl-tools-tests-pv-x86-64-gcc-debug:
   extends: .kbl-x86-64
@@ -397,7 +397,7 @@ kbl-tools-tests-pv-x86-64-gcc-debug:
       junit: tests-junit.xml
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 kbl-tools-tests-pvh-x86-64-gcc-debug:
   extends: .kbl-x86-64
@@ -408,7 +408,7 @@ kbl-tools-tests-pvh-x86-64-gcc-debug:
       junit: tests-junit.xml
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 zen2-smoke-x86-64-gcc-debug:
   extends: .zen2-x86-64
@@ -416,7 +416,7 @@ zen2-smoke-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pv 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 zen2-suspend-x86-64-gcc-debug:
   extends: .zen2-x86-64
@@ -424,7 +424,7 @@ zen2-suspend-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh s3 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 zen3p-smoke-x86-64-gcc-debug:
   extends: .zen3p-x86-64
@@ -432,7 +432,7 @@ zen3p-smoke-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pv 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 zen3p-smoke-x86-64-dom0pvh-gcc-debug:
   extends: .zen3p-x86-64
@@ -440,7 +440,7 @@ zen3p-smoke-x86-64-dom0pvh-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pvh 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 zen3p-smoke-x86-64-dom0pvh-hvm-gcc-debug:
   extends: .zen3p-x86-64
@@ -448,7 +448,7 @@ zen3p-smoke-x86-64-dom0pvh-hvm-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pvh-hvm 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 zen3p-pci-hvm-x86-64-gcc-debug:
   extends: .zen3p-x86-64
@@ -456,7 +456,7 @@ zen3p-pci-hvm-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 zen3p-pvshim-x86-64-gcc-debug:
   extends: .zen3p-x86-64
@@ -464,7 +464,7 @@ zen3p-pvshim-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh pvshim 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 zen3p-tools-tests-pv-x86-64-gcc-debug:
   extends: .zen3p-x86-64
@@ -475,7 +475,7 @@ zen3p-tools-tests-pv-x86-64-gcc-debug:
       junit: tests-junit.xml
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 zen3p-tools-tests-pvh-x86-64-gcc-debug:
   extends: .zen3p-x86-64
@@ -486,7 +486,7 @@ zen3p-tools-tests-pvh-x86-64-gcc-debug:
       junit: tests-junit.xml
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 qemu-smoke-dom0-arm64-gcc:
   extends: .qemu-arm64
@@ -654,7 +654,7 @@ qemu-alpine-x86_64-gcc:
     - ./automation/scripts/qemu-alpine-x86_64.sh 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc
+    - alpine-3.24-x86_64-gcc
 
 qemu-smoke-x86-64-gcc:
   extends: .qemu-smoke-x86-64
@@ -698,7 +698,7 @@ qemu-xtf-argo-x86_64-gcc-debug:
   script:
     - ./automation/scripts/qemu-xtf.sh x86-64 pv64 argo 2>&1 | tee ${LOGFILE}
   needs:
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 qemu-smoke-riscv64-gcc:
   extends: .qemu-riscv64
diff --git a/automation/scripts/containerize b/automation/scripts/containerize
index aea842e1ff2d..e9b2f6122ff1 100755
--- a/automation/scripts/containerize
+++ b/automation/scripts/containerize
@@ -24,7 +24,7 @@ die() {
 #
 BASE="registry.gitlab.com/xen-project/xen"
 case "_${CONTAINER}" in
-    _alpine) CONTAINER="${BASE}/alpine:3.18" ;;
+    _alpine) CONTAINER="${BASE}/alpine:3.24-x86_64" ;;
     _alpine-arm64v8) CONTAINER="${BASE}/alpine:3.18-arm64v8" ;;
     _archlinux|_arch) CONTAINER="${BASE}/archlinux:current-x86_64" ;;
     _fedora) CONTAINER="${BASE}/fedora:43-x86_64";;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Jun 12 23:09:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 23:09:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337051.1598711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYB0F-00029e-KU; Fri, 12 Jun 2026 23:09:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337051.1598711; Fri, 12 Jun 2026 23: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 1wYB0F-00028S-Fb; Fri, 12 Jun 2026 23:09:31 +0000
Received: by outflank-mailman (input) for mailman id 1337051;
 Fri, 12 Jun 2026 23:09:30 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wYB0E-0001mu-Ax
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 23:09:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYB0D-00HIs8-O7
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 01:09:29 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2c91a7-5cb7-0a2a0a5109dd-0a2a45098b92-2
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 01:09:29 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2c91a9-2497-0a2a45090019-d155802dc002-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 01:09:29 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-490c1915793so12536025e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:09:29 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2b0d28sm10035907f8f.20.2026.06.12.16.09.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 12 Jun 2026 16: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1781305769; x=1781910569; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9f8AM+tsFx7VUeIRhpy35Zn5mtNfQ2vEL4QF0LSn/Hk=;
        b=gBVZ1GUDE1eULvlgNBoZBsEp9EHW8ZZVKYIrdOHdfkVqjFIKqXkldSWYe+kJBhtqAL
         7jPNULD243vm99avT3QDuFe7KyL3XObGkMDKbBdKs9C3raWQvigLRHXS+4xSWsmchRWz
         vjkn+XBj9NzBDyYGZ9D4djkkxXTcQblNI9330=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781305769; x=1781910569;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=9f8AM+tsFx7VUeIRhpy35Zn5mtNfQ2vEL4QF0LSn/Hk=;
        b=N9Kdj5b8bgWuMWlkFOMErhshHB2M6KB06icSHhpfrHuiu+c0ipWUkpAjMT3H3hwEam
         XpDlTEHxGjBgAnlEvNd4XQzMlhWuNZWqGFoI9mMvBJq++/muObgzNoEXzWbuLJNv7lVz
         CvkdJH96vGe3BT4fL4EPx3oZxDZX6NBLJgMz2DX7he/hM6RbTtsNhK0NdvKTOboNEidb
         t331iPSZkHMKROBYweUKBO3NbGVQ6e3CqmRv1LlPjvJeujpsniplEWHXwqFx/ZwAqVIS
         Uh3BtfO9bVM6+UzmWfIwu6FWJqqGUCTmW3Ywg1vL0oLEROZaJNQQ9oBHP8vnL15Xhu50
         IGLQ==
X-Gm-Message-State: AOJu0Yz8w8s+y31gzWxmQaWD/aVoaPHIaK3sp222VbDke7ihd1KeWfDh
	fZq02axkCnH/kFH72fHuiVU+yyiLczhDqcJmBXxVeNU67xen626W9agrMzSAVwos/gft6OJutUN
	Al6co
X-Gm-Gg: Acq92OFLom6Wz74CQXhRjnCuzbxumTfMaM65le122eAvvo26nXHylXcIzkLf1Xe2f5b
	qzWMIVHVvuR9oTT0DU0qjM/8jyxHDxeyr0KZDumBG4XRgseeGuWoTGHpSyMQP1AQjhWC++tke0+
	jlKVD+u303zidAUYEmQaSm6BBgzAKZv8frHQG6SmMR+hkUO2fUFpJ+VylrNOCFtVv8JVwigRBSI
	1JoaDe1pVNX6b1cGiDhs9Dcn3KoYc4cI5JyLV1NplsLzspVD7kZJc0ntVHMGW6KZKh+Dbp3HfRD
	MaVdweLQPiEaqzakTTApDWWu6L34AVhz5zQ11JCelKBpoXzRPyqhh9JBab27SA2QK4RxlVfwY8y
	u7c8yTdVUy2MnW9mYVIz4VBzSNqrkDov7RZqnJZB7YCsCoDTzwAR+/fra67Y2ia5w08dNUL1ilY
	bx8InwU8wGp+puPX+OP/EXImw/0hBkHML7FyLpBGQWKvwKRifpyZOh+0cvg085JzuMkg/qfAoLA
	3PX
X-Received: by 2002:a05:600c:c107:b0:490:e196:eaee with SMTP id 5b1f17b1804b1-490ec509c52mr69174555e9.10.1781305769100;
        Fri, 12 Jun 2026 16:09:29 -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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 3/7] CI: Introduce new qubes-hw-runner.dockerfile
Date: Sat, 13 Jun 2026 00:09:20 +0100
Message-Id: <20260612230924.3181154-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
References: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1781305769-8816CA53-0008AE5E/10/63158204843
X-purgate-type: spam
X-purgate-size: 2351

This container is tied to gitlab-runner environment in the RPis driving the
test systems, not a specific version of Alpine.  Intentionally give it a
generic name so it need not change in the future.

Switch to Alpine 3.24 right away, as it doesn't interact with the 3.18 builds
under test.

The container needs to remain a root container.  By no longer using the
arm64v8 build container for dual-purpose, we can finally make the build
containers be non-root.

No practical change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Posted previously, part of the prior CI series.
---
 .../build/alpine/qubes-hw-runner.dockerfile   | 21 +++++++++++++++++++
 automation/gitlab-ci/test.yaml                |  2 +-
 2 files changed, 22 insertions(+), 1 deletion(-)
 create mode 100644 automation/build/alpine/qubes-hw-runner.dockerfile

diff --git a/automation/build/alpine/qubes-hw-runner.dockerfile b/automation/build/alpine/qubes-hw-runner.dockerfile
new file mode 100644
index 000000000000..8b111648721d
--- /dev/null
+++ b/automation/build/alpine/qubes-hw-runner.dockerfile
@@ -0,0 +1,21 @@
+# syntax=docker/dockerfile:1
+FROM --platform=linux/arm64/v8 alpine:3.24
+LABEL maintainer.name="The Xen Project"
+LABEL maintainer.email="xen-devel@lists.xenproject.org"
+
+RUN apk --no-cache add bash
+
+RUN <<EOF
+#!/bin/bash
+    set -eu
+
+    DEPS=(
+          expect
+          openssh-client
+    )
+
+    apk add --no-cache "${DEPS[@]}"
+EOF
+
+USER root
+WORKDIR /build
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 89760b24e63a..70bb4bbb3b45 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -145,7 +145,7 @@
   extends: .test-jobs-common
   variables:
     # the test controller runs on RPi4
-    CONTAINER: alpine:3.18-arm64v8
+    CONTAINER: alpine:qubes-hw-runner
     LOGFILE: smoke-test.log
     PCIDEV: "03:00.0"
     PCIDEV_INTR: "MSI-X"
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Jun 12 23:09:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 23:09:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337049.1598698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYB0E-0001pw-Qu; Fri, 12 Jun 2026 23:09:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337049.1598698; Fri, 12 Jun 2026 23:09: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 1wYB0E-0001pp-LE; Fri, 12 Jun 2026 23:09:30 +0000
Received: by outflank-mailman (input) for mailman id 1337049;
 Fri, 12 Jun 2026 23:09:29 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wYB0D-0001me-OR
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 23:09:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYB0C-00HIs8-AQ
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 01:09:28 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2c915b-5cb7-0a2a0a5109dd-0a2a4502ddb2-20
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 01:09:28 +0200
Received: from [209.85.221.47] (helo=mail-wr1-f47.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2c91a8-af86-0a2a45020019-d155dd2fc5bd-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 01:09:28 +0200
Received: by mail-wr1-f47.google.com with SMTP id
 ffacd0b85a97d-45e9f4a3510so892972f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:09:28 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2b0d28sm10035907f8f.20.2026.06.12.16.09.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 12 Jun 2026 16:09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1781305768; x=1781910568; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6698Uxcu0dfTevWQ4ApQH8lfT2iy2BjmmIOaPm7I/XA=;
        b=FHmhUe9iJhgoXiULmSgrnvCKDrn4Z6yGd8KSl+CvE4v3MyeSgB4eXL+Y8vy85LkJzq
         SwR1yKwkp1eUI+tBndIBN5TH3o4R8TH8pogLbP844SPvb5rZ06eTOImpb6sGXTcCIUxz
         3L6wmA3OOs+cCUOZOGmi/uSlVvZ8gGIzKlUEg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781305768; x=1781910568;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=6698Uxcu0dfTevWQ4ApQH8lfT2iy2BjmmIOaPm7I/XA=;
        b=ddOsXDa8wJ0aA9Lm2qTBeYawWbF2QK5ReVrdcs4DcK/EfdIlkWCCXGX4ktFaDTVu7b
         GivaJqMtYwZpyVtXFa6iU6A68K8NS3oo4IFRbDGOhnSARUOR0ahfrhNuUE5anVRoo/MS
         xi2pfNrSiPYc9g3kfzxTSJiH/5upHEtaXmyDzo5fYrzv37pPlRZgMCELd1CM0DyAqITQ
         sEG2D2i7xzCKGx05TPNh2DjU0b7gGvcjDolmiA8zvDifjrHSx+gHiBCFNzfgOwDdp1WC
         LAw0nPpC0t2ptJ+YRO908/EzDg5YoSdqgBi8o5LETRHfzsKvdaAB65ZUfASurQVOlsVb
         8KiA==
X-Gm-Message-State: AOJu0Yw3ozQbBv10/VFUOYzVmkeJvCaAZ8an9Q8XEYT8oTC07fooqeZR
	VN4YfpE+wyPLyNW4F+HfHFUwFN9ZpEFg4dgBcguL2o5jImSFEceAlFlMwvxB8oomPHJeOm3Pmpa
	N3loZ
X-Gm-Gg: Acq92OH57ioApa+BL8zcXsQ6DiiGEl+QZ8a5retikHrwDo7VZL5c7I8AijauGJnQzdL
	Hi6iMGDjUlwI//K7AvqCRPSOujWV1aZApJIxGU0a25shmuL3UDBEJbgJR7hcRfiVbFD87dHSHCc
	1uBnwv/7bFxfwTBrI58OGx6U9qSY/HjLNtPUxYVetLExLwgD6OCvGOt1B1Qjxf//5m36gRTK6dB
	+p0JRASkp0bwZaADzFLmu7lBJnpXyu2jSklsQ3qM85VfSOFTY/XiujrmQK5WipVOovntV/FTLXb
	Ekvn4HpqxR1dpJPg261dfM0BbcJZ0wcVc+BsIg7Tj3SvWObqUleoUqehunr6ny6mI44Ua+f35PL
	9bsPoEDVLWUxZVTgEprXBHMykM9IEcoGDTYuWCt1jWL2gDafKWv63BWqLU9LMV0yzWyx2YdG8nH
	G/Ky47Lu2lIwGcjQ0qiNCwRFnxkkkkn3mLBk4rDS6f6kvUV81ecZ+KwMQV8bn93mJd0valQir2H
	O5c
X-Received: by 2002:a05:6000:290e:b0:45d:3cb0:5ab1 with SMTP id ffacd0b85a97d-46074b8a30bmr1549717f8f.38.1781305767643;
        Fri, 12 Jun 2026 16:09: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>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 1/7] tools/xenalyze: Work around GCC-15 -Werror=nonnull false positive
Date: Sat, 13 Jun 2026 00:09:18 +0100
Message-Id: <20260612230924.3181154-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
References: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1781305768-A9B70161-0D63E41E/10/73395122804
X-purgate-type: spam
X-purgate-size: 1641

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

I don't particularly like this, but I see no better option.  It's clearly some
kind of VRA failure, yet we don't see it with GCC 15 in other distros.  I
suspect that Musl (as opposed to glibc) might be relevant, and perhaps even as
simple as not realising that error() is terminal for a non-zero input.
---
 tools/xentrace/xenalyze.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/tools/xentrace/xenalyze.c b/tools/xentrace/xenalyze.c
index 876d59d42ca5..cec1354cf779 100644
--- a/tools/xentrace/xenalyze.c
+++ b/tools/xentrace/xenalyze.c
@@ -3789,6 +3789,17 @@ void update_io_address(struct io_address ** list, unsigned int pa, int dir,
             error(ERR_SYSTEM, NULL);
         }
 
+        /*
+         * GCC 15.2 in Alpine Linux 3.24 fails with -Werror=nonnull,
+         * complaining that we're calling bzero(NULL, 128).
+         *
+         * This looks to be a false positive as p being NULL will never reach
+         * here as the error() above will have called exit().
+         *
+         * Work around this by hiding the NULL-ness of p from the compiler.
+         */
+        asm ("" : "+r" (p));
+
         bzero(p, sizeof(*p));
 
         p->pa=pa;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Jun 12 23:09:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 23:09:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337048.1598693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYB0E-0001n8-Hr; Fri, 12 Jun 2026 23:09:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337048.1598693; Fri, 12 Jun 2026 23:09: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 1wYB0E-0001n0-FD; Fri, 12 Jun 2026 23:09:30 +0000
Received: by outflank-mailman (input) for mailman id 1337048;
 Fri, 12 Jun 2026 23:09:29 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper3@citrix.com>) id 1wYB0D-0001md-ON
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 23:09:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYB0B-00HIs8-OY
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 01:09:27 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2c9126-5cb7-0a2a0a5109dd-0a2a4501a0f6-48
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 01:09:27 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2c91a7-c1f2-0a2a45010019-d155802aa805-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 01:09:27 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-490b8ac62baso20243755e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:09:27 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2b0d28sm10035907f8f.20.2026.06.12.16.09.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 12 Jun 2026 16:09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1781305767; x=1781910567; 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=vKX3UaL8sRVjHuxwXMOXB0orZhpfl8ztB+sFX753uHo=;
        b=trp6I5oqTZ+OhoFONDUHW0eVcGbe2k5fJs3wr0mVz3cYsuFKW8osSYtfHqMgw77gA4
         OgP+AAhbTTi3xlOU68uiMeChHcMek9YUxCXzGygamT2brSUwDQWs2P31EEyUXXFaCKHN
         fWctkbRVXtKAaHrXn3ptGiezyV4FUxx2gLD0I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781305767; x=1781910567;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vKX3UaL8sRVjHuxwXMOXB0orZhpfl8ztB+sFX753uHo=;
        b=S2bC4Ye7Be0sIzY62YGRSz8R5KpPuQBHs/NCuDRLbi1OPTvIytRIjjsf8dvxuZJbfC
         yGoao97s1Ptt9NLTlPETP/OXH+/hfWoI6Gc5usWlqWW+hkfar9Gw/yWBL1mk/mzNKRFJ
         JRLISF/ei4+0NNox/gDiCEigVmFxFKqbFg9IbxfUHKXIhci5aHhwac9rhyzEv5ts2OOS
         WmetabIO0mjIwrDSm2FgkfXuDlHF4TIBw3bcr2lIAV/PJdLxKvf2SaWs2kZYA2aNWor9
         NFV6Wp4HsV6rtH2L0I2bIeronIMCTgH7KSTXGDuRbiTo50kHN+F2ItNX6cbxQ8OrHmz6
         dsFw==
X-Gm-Message-State: AOJu0YzvdWcogOKbixGoysmMTIzYVHmQSlfCRzdzMqDetBfJOn0MJ3Wf
	o0r9nqjtQazPmFalH7BUWIw/mWWpJEaZ9ZBsaCnso8382ZdPGnk0o4GMQBqG1qliJQ2mUER7nhU
	+GxSE
X-Gm-Gg: Acq92OEEZdnZJMaDCicrx7NITrEkvxMsEUfD2k2kH6ZXfmmIw+Oqx17M1tQAW7w7yJo
	RKZNPrdJFM29qCClfNWLM06/eevwO4tXFA0BdSmpV0kXmOdRPI2G6VQM7zlt/o1pAjWFjjWGY8e
	+EGudfd2DvW0vvKCGemcIMz9EstKVIlKcxgl8nFFFUIyJRS9FVkEuH3y7jYdpUHoszQhXSDGrSy
	gESIvVYftV020LqccS2shIIDDkX24NNMOiN5IH+3NCmw5dvOjes383vckyrHlWVCXYiw3tIlZVh
	y9C1ziqH6mQQ40f4LMieIDRp4lw30oT4UTD8+2jrlHkXAcbSq8Bio4NpRfysZ4VeFMVNjfwxATa
	6YHwjxhJsq405GZMza2Boc10JcglNwGQwSOLJrotaAAtw3qAJvZaNVDYqADbQXYtV4hev5ekDxi
	JG00x6OEaC/F0GYDYjJKdNeQiep2VNZv/bwSXCxoiynHTKfmk4EYAEg8ZPdoQBDYEbeh/KPy3eQ
	yTk
X-Received: by 2002:a05:6000:719:b0:44f:b82f:2d18 with SMTP id ffacd0b85a97d-4606cb2b59emr7056920f8f.11.1781305766863;
        Fri, 12 Jun 2026 16:09: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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH for-4.22 0/7] CI: Refresh Alpine containers
Date: Sat, 13 Jun 2026 00:09:17 +0100
Message-Id: <20260612230924.3181154-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
X-purgate-ID: tlsNG-d62444/1781305767-B4173FF4-A064707B/0/0
X-purgate-type: clean
X-purgate-size: 2346

Refresh and update the Alpine containers.

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

This gets us off an obsolete version of Alpine, and finishes several
improvement projects (naming, and non-root containers) all at once.

Andrew Cooper (7):
  tools/xenalyze: Work around GCC-15 -Werror=nonnull false positive
  Config.mk: Update QEMU to include pip-25.2 bugfix
  CI: Introduce new qubes-hw-runner.dockerfile
  CI: Update the Alpine x86_64 container to 3.24
  CI: Update the Alpine arm64 container to 3.24
  CI: Fix inconsistent use of x86-{64,32} vs x86_{64,32}
  CI: Remove x86 microcode from arm32 jobs

 Config.mk                                     |   4 +-
 .../build/alpine/3.18-arm64v8.dockerfile      |  51 ---
 automation/build/alpine/3.18.dockerfile       |  52 ---
 .../build/alpine/3.24-arm64v8.dockerfile      |  53 +++
 .../build/alpine/3.24-x86_64.dockerfile       |  65 +++
 .../build/alpine/qubes-hw-runner.dockerfile   |  21 +
 automation/gitlab-ci/build.yaml               | 202 ++++-----
 automation/gitlab-ci/test.yaml                | 385 +++++++++---------
 automation/scripts/containerize               |   2 +-
 .../{xtf-x86-64-config => xtf-x86_64-config}  |   0
 ...86-64-efi-config => xtf-x86_64-efi-config} |   0
 .../include/{xtf-x86-64 => xtf-x86_64}        |   0
 .../{xtf-x86-64-efi => xtf-x86_64-efi}        |   0
 .../{qubes-x86-64.sh => qubes-x86_64.sh}      |   0
 tools/xentrace/xenalyze.c                     |  11 +
 15 files changed, 444 insertions(+), 402 deletions(-)
 delete mode 100644 automation/build/alpine/3.18-arm64v8.dockerfile
 delete mode 100644 automation/build/alpine/3.18.dockerfile
 create mode 100644 automation/build/alpine/3.24-arm64v8.dockerfile
 create mode 100644 automation/build/alpine/3.24-x86_64.dockerfile
 create mode 100644 automation/build/alpine/qubes-hw-runner.dockerfile
 rename automation/scripts/include/configs/{xtf-x86-64-config => xtf-x86_64-config} (100%)
 rename automation/scripts/include/configs/{xtf-x86-64-efi-config => xtf-x86_64-efi-config} (100%)
 rename automation/scripts/include/{xtf-x86-64 => xtf-x86_64} (100%)
 rename automation/scripts/include/{xtf-x86-64-efi => xtf-x86_64-efi} (100%)
 rename automation/scripts/{qubes-x86-64.sh => qubes-x86_64.sh} (100%)

-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Jun 12 23:09:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Jun 2026 23:09:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337054.1598747 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYB0J-00035P-HH; Fri, 12 Jun 2026 23:09:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337054.1598747; Fri, 12 Jun 2026 23:09: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 1wYB0J-00035F-CO; Fri, 12 Jun 2026 23:09:35 +0000
Received: by outflank-mailman (input) for mailman id 1337054;
 Fri, 12 Jun 2026 23:09:33 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wYB0H-0002mH-Ni
 for xen-devel@lists.xenproject.org; Fri, 12 Jun 2026 23:09:33 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYB0H-00HIs8-4i
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 01:09:33 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2c91a7-5cb7-0a2a0a5109dd-0a2a45098b92-4
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 01:09:33 +0200
Received: from [209.85.221.49] (helo=mail-wr1-f49.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a2c91ac-2497-0a2a45090019-d155dd31d98c-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 01:09:33 +0200
Received: by mail-wr1-f49.google.com with SMTP id
 ffacd0b85a97d-45fd464d51fso833554f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 16:09:33 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2b0d28sm10035907f8f.20.2026.06.12.16.09.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 12 Jun 2026 16:09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1781305772; x=1781910572; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Mc80mIuKgxZeSbtKq/Po/qNpxB8HPK61c4YM83MbXes=;
        b=VjLFMpBfqmD8FUFjju2iNN+pkMxOL/5I3PQILWqgrclVm6Dix/Vu5AxqIl5nbBDpy3
         /eCQjY5oySoHMPhD2dinIoXWAHIQ0ekcj6555BzmW/VhwEfM+xn0tsCTfwY0iwVbtSTp
         XWrLkcF9vC7iUtZrjRP/WSjyAr6JHOy2naO14=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781305772; x=1781910572;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=Mc80mIuKgxZeSbtKq/Po/qNpxB8HPK61c4YM83MbXes=;
        b=HiDsHGjf9HEzUsbvqA3nOwtJzHYfbFztHiPM70NEyWisnpV43j7Zm2Y+9q8n2TvOTM
         V+43mGnfuk0FHOfHUD2V8vFOZPjRQwXjqMZcFKJ3fiWnQl6WGg7s1t0/JSz+4eyiMJse
         tfKwSZdLy3VSDA355+KhHx7CwjXG5MXf2jWjmMuDVgOFceQcBe6DrBr694+j1TMqwe7v
         LiPGQ3uJ8aEGIlT/BIFICgpng+S/pn7I4b7FPruVn75TcCof8n+qS8wdwbIPQWJOKQHy
         YzULs8icf5irUFXrfOqBTaepetJz3mdH79peI0jfFgvLSpY3SK6aObdw5YV3mPTgCHbT
         +48A==
X-Gm-Message-State: AOJu0Yzp1Xg+Xz5iNvg/X+B1kvYW50lAGJomZdIZFo+/Q8BBdadYA/ln
	rNxhA1NWwhMleN/P/qGy5BCmgyYCficRtuaTS3VCxKqVH9ni5YGU9Mlhxym9YHBItyB/AMXg/9X
	gPmxv
X-Gm-Gg: Acq92OHLXIhfKhrYoZI084pYC9cPlUaPfekeNUNL1hHYciwEH+CumFbTOkOwz4nU+Ld
	WVQjI3XzhE5IdJ+Z0MZtlhMxpnpsN9gUsoa39ZhTWxW2+0hoHOsm4kq03kgx25MbHW7TBWUWjtV
	Rz58c3yHwCajXb61fkI7+nCT01xm+MNDHAwXUnyw7intvQhcqSrQoPys0xJ8qjtvQTRJrr4qrlD
	thLX3hVpnWcAlSMSKefe+PMDlvER/4Nc+Oi6o4UA1fN5ze+f601OJsEm7wCRWEOFAU6yBikbolW
	7rL8C4i7/LQ1NpQ6P+xmvlGzHAytIQgIp/wtseESAsfuAbffIxqo+8QfBm2Qc7oAyULqO8vnBPs
	317kfZxVa7DDXik7N0q2QeC+Ak1SV8YPIVezzHeKsK+2dZWMjFpvcgkhJktVwCDezSocer43DDs
	zuAdwcgItSkZUmutiDqqyefpPSND78NnKQRt3jKxAkUXibLProduxBw6hb30rxhhnShi0FhcC10
	2VO
X-Received: by 2002:a05:6000:4602:b0:460:edd:ca89 with SMTP id ffacd0b85a97d-460769303demr1212047f8f.26.1781305772429;
        Fri, 12 Jun 2026 16:09: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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 7/7] CI: Remove x86 microcode from arm32 jobs
Date: Sat, 13 Jun 2026 00:09:24 +0100
Message-Id: <20260612230924.3181154-8-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
References: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1781305773-42B70A53-B74FE3B7/10/73395122804
X-purgate-type: spam
X-purgate-size: 1270

All build containers are non-root now.  Complete the todo by dropping the
workaround.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 automation/gitlab-ci/test.yaml | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index fa3f776fc785..4d5831f9ffcf 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -14,12 +14,7 @@
     ref: $ARTIFACTS_BRANCH
 
 .arm32-test-needs: &arm32-test-needs
-  # Bodge to ensure binaries/ is non-root.  Can be any artefact which comes
-  # from a non-root container, and microcode-x86 is the smallest.  Remove when
-  # all build containers have become non-root.
-  - project: $ARTIFACTS_REPO
-    job: microcode-x86
-    ref: $ARTIFACTS_BRANCH
+  -
 
 .x86_64-test-needs: &x86_64-test-needs
   - project: $ARTIFACTS_REPO
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Sat Jun 13 03:13:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 03:13:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337126.1598765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYEo8-0002Al-8Z; Sat, 13 Jun 2026 03:13:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337126.1598765; Sat, 13 Jun 2026 03:13:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYEo8-0002Ac-3e; Sat, 13 Jun 2026 03:13:16 +0000
Received: by outflank-mailman (input) for mailman id 1337126;
 Sat, 13 Jun 2026 03:13:14 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmukhin@ford.com>) id 1wYEo6-0002AE-1B
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 03:13:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYEo3-0045rb-JA
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 05:13:12 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a2ccaaa-2eae-0a2a0a5409dd-0a2a450781ba-16
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 05:13:07 +0200
Received: from [148.163.146.23] (helo=mx0a-00498f03.pphosted.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dmukhin@ford.com>)
 id 6a2ccac0-229c-0a2a45070019-94a392170536-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 05:13:06 +0200
Received: from pps.filterd (m0367126.ppops.net [127.0.0.1])
 by mx0a-00498f03.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 65CHOmdc3659630
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 03:13:03 GMT
Received: from sj2pr03cu001.outbound.protection.outlook.com
 (mail-westusazon11012006.outbound.protection.outlook.com [52.101.43.6])
 by mx0a-00498f03.pphosted.com (PPS) with ESMTPS id 4erpg6uuc2-1
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 03:13:03 +0000 (GMT)
Received: from BN9PR03CA0910.namprd03.prod.outlook.com (2603:10b6:408:107::15)
 by IA6PR16MB7029.namprd16.prod.outlook.com (2603:10b6:208:5da::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.14; Sat, 13 Jun
 2026 03:13:00 +0000
Received: from BN2PEPF000055E1.namprd21.prod.outlook.com
 (2603:10b6:408:107:cafe::2d) by BN9PR03CA0910.outlook.office365.com
 (2603:10b6:408:107::15) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.113.14 via Frontend Transport; Sat,
 13 Jun 2026 03:13:00 +0000
Received: from mx0a-00498f04.pphosted.com (205.220.161.53) by
 BN2PEPF000055E1.mail.protection.outlook.com (10.167.245.11) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.159.0
 via Frontend Transport; Sat, 13 Jun 2026 03:12:59 +0000
Received: from pps.filterd (m0373460.ppops.net [127.0.0.1])
 by mx0a-00498f04.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 65D0PeDv2807341
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 23:12:59 -0400
Received: from smtp-us.ser.proofpoint.com (pmta-use.ser.proofpoint.com
 [44.208.76.22])
 by mx0a-00498f04.pphosted.com (PPS) with ESMTPS id 4eqe733e51-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Fri, 12 Jun 2026 23:12:58 -0400 (EDT)
Received: from localhost ([19.12.92.221]) by cmsmtp with ESMTPSA
 id YEnowuNsJEF2CYEnpwesGr; Sat, 13 Jun 2026 03:12: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppford; bh=hTLFjc2IvsmM6YThWVCY1qXEPlT
	s7mtXgR52UGkorUU=; b=DBHm+xEf3R02aNxfNKU1nYTgBduiCk51+WfdL6WOrZ4
	SUBjDsRYTdS5ixaiorTkGdwZLmdJfJVan3AnpSpg1iGJhnJna1UOKYV4xN4ZjisC
	FzeVNW7wv7l6qynkJcxF2OiQCB+RBbbVbv5h1qo3b0a8Rqu7jTzAPZ0uzlC6nDYf
	OeL8aET5rGVsmmKz93YeleW59bDVKtatFru7e0WveuK/rSiKJU3D3FY8JXwPuZvp
	x78dLRO3teM3wxAx9BsEKRmWC6L2S/vrn/PMQERfMu/qJ6miPnxqvqWJ0e+7hh1x
	TAjyCRsR+hZ5spLW9ztuY7GslAmOaW8MK6qED6ZjiMw==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=JBDeo9dKFrKP+d/uoIbiu7eBs5Ftr+QGatiIYmbfCbt5mZxpw0TQNS38Z0nQD3l5vF3+CfjkwUsJ2wzd0VX4UQx/iNjagUc0aU7OnAXWGNBhen9oomEiCFTlRNPKLCLKZYYOdP1qfcrArOndDykbrSgDjl6DUJhqRP095FmxIeA0pgEIj++vyt4jR4ogOnl5OXwvgS6RMqQ8gaTYgw5Nn/ME3nz79FjqIE6upobZ2ENXBkQ7ySvYGkMabVo+O6Z05hByS8P2BvZJM/CPhdqVOE7lC12YmvI+Y6mdJo3rspDvTouCNwiRvO6muepqFjTpsho12kOGdsqkMdvFiE8+iA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hTLFjc2IvsmM6YThWVCY1qXEPlTs7mtXgR52UGkorUU=;
 b=UWajFasNH7LjAQAIqsXeUWxxFFfu5CFU97jkMmNby40Yufy4CbxAOyyyyI++b0p2pFGVNDVI1VWbLOMiou2M2GHSrrYLqT94cgXAESKJ5ZUChtptsgpA9x4lhKEJ/kIwo4rmia8ozao9IQuZ0CqqXMgXyRjk7elF+ZloYqSAxGxOe2CVcc1mOeHChbcpTzDi7PG8AvcMi6zHdPSqf/gy6rDMPi3qhteIqhqHYP8Erv9acIeSml3OTY6buAw4ZhGe+05dqz37vb6/pyydBxkOansacNG15BX1Ra0NAhVpG2XorSN+iRhSuTl1+SrUmr/EyINLlV86FGyvRzWPQam85A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 205.220.161.53) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none
 header.from=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com; dkim=pass (signature was verified)
 header.d=ford.com; arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=azureford.onmicrosoft.com; s=selector2-azureford-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hTLFjc2IvsmM6YThWVCY1qXEPlTs7mtXgR52UGkorUU=;
 b=Yx0JGAysZma2FZYUsbqx3qBp7wSyFRh4hByner9GNPQRYrhSV0a5yxka5sqJ+MmQYgaANu6EK28wSAbboMOdSO/W35UvXaOMKFvsKG+hXVHf6CpAoNHMSF/XxqIuO1ikp5izxJaVk5JBPs2ffFjMR4jVizGne5PaACStXCvHbAQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 205.220.161.53)
 smtp.mailfrom=ford.com; dkim=pass (signature was verified)
 header.d=saarlouis.ford.com;dkim=pass (signature was verified)
 header.d=ford.com;dmarc=pass action=none header.from=ford.com;
Received-SPF: Pass (protection.outlook.com: domain of ford.com designates
 205.220.161.53 as permitted sender) receiver=protection.outlook.com;
 client-ip=205.220.161.53; helo=mx0a-00498f04.pphosted.com; pr=C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	saarlouis.ford.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=ppserprodsaar;
	 bh=hTLFjc2IvsmM6YThWVCY1qXEPlTs7mtXgR52UGkorUU=; b=OvfLRzmpQT2+
	EDx/BexD1lxMntTvjwifqiR2pp8REoJk5jbZuUOmBqjcipg45S46ncA6I7NrYdmW
	fNxVNdQDOX48guuSaxAFwUukDlScdqurp8knPvYAjSAcZ9SI+Ndr6mGWkoL9XiX8
	FxzZV9Kqfz+pPIaAu9wS5zI8vbkAWiBdSJAmLpyD4Sa4j2mb3VknqKVIgh+Vxdke
	zG8tQsBfLlHS+PrjMYk/8DK4bPo9h5Ss2dGSY38vbN+MDj4Vfc6Fd8tQWhKZkumw
	r3pbrm/Yhz8wQ3k5Gvp4XGPK+Ea1wfeDdlyHzN1qWJorbEHopg+zqU0YWXKyPJFI
	9cwQK0NRLA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ford.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=ppfserpocford; bh=hTLFjc2IvsmM6YThWVCY
	1qXEPlTs7mtXgR52UGkorUU=; b=rorpUzTb3iy8nhQQYE4NMS4gNRsW03FRemRv
	UDrQfnXGDVmiT3lWN2P++pVL/OlAVi4+7fRderbxdXklyP6PN57q5S5k1gcAGLhO
	iPzw3RDya5NAdNTCld0V0NimgjL7OwPY/O5ySjwdYU01dkSw2HtgSqjhj3ELZxnY
	S53RG1OOlBCOWTAskfXWfhxXcc6JNdR5ljAz5T/elpwJoh9zPs3oJsJfthm8mvC0
	jkGnyiVgKP3T6oalyM3B8XZ0xG4CveD0IA1SyHVTbH20yrqZfeAipwZ7hvhH9II2
	8pEYJlqCLuSWNUfzEEGxbnD2Sz86mjad3QRjbimIkUjfhRIElA==
X-Mailer: SER-76bead168636dc6ed1c9e51ce4dea80dbdd4163750742b614a4d871e565792b7
X-Cloudmark-MID: YEnowuNsJEF2CYEnpwesGr
X-Proofpoint-CID: eb09f7eb-2dc2-34ab-a188-7b293c1db1fe
From: dmukhin@ford.com
Date: Fri, 12 Jun 2026 20:12:56 -0700
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
        Anthony PERARD <anthony.perard@vates.tech>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Michal Orzel <michal.orzel@amd.com>,
        Doug Goldstein <cardoe@cardoe.com>,
        Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
        Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>,
        Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22 0/7] CI: Refresh Alpine containers
Message-ID: <aizKuCorSE4myOJ9@kraken>
References: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
PSER-M365-App: SER-APP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-13_01,2026-06-12_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0
 phishscore=0 suspectscore=0 adultscore=0 lowpriorityscore=0 malwarescore=0
 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.22.0-2606040000
 definitions=main-2606130028
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055E1:EE_|IA6PR16MB7029:EE_
X-MS-Office365-Filtering-Correlation-Id: 0af7e2b4-4e98-4ff6-971b-08dec8f9acad
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|376014|36860700016|23010399003|6133799003|18002099003|22082099003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	wbu8NAdshNNJa9kiPD4pAaqmLdz6IUFugmYFXt4f/loiycC3pvYxAP9X6OXvRF1zOsGhuJ2R36hpqx7H+pMag82ynMPkHFbx3h/cdNZD1mq4UEOjLsUsrX9FX5aTL4+oKZkS2V6h78FatYI9vKFAxW+k49dX6O7cMyX21BIX+4zYrvRLL35FG3JoQhjE75korRzkUGIz0EF5B2eCbDjOdoHYhQk9KYo+bNdpnRRhUyL3AHEKHMkgVabvR/TPIO99/f3UEVAyg4a4tt7qGaA/uuTZKhG1n9KN5cMEPKsj5pHILbVCK4hMVQqpSEsbOIx32jveUiwyGrwwMk/xrktIl9HS4lmqpzMPhp7vPJrRJUZiwooXFIijYop79JTro/rJmH94YOJWkXTxpeyXxdDx9bEi8hq44mUyr0uEoaBGngwHzEMwHBLQPuGHkucR/pWwWhuzB7XSTSut3hQgiGzjzqVUYE44bOW1Gg/zA5OCCc7fL45mcWUkrl4HrN1tzPeXwVBmOz+TxKWp9B4CXlfhm7ttwbps+xfh3OegEOm4xH36pPAzyp1PFUj1itox0+PfrIcGedSa3AxYt0qMOI+c+mPJRPAc4JyhuglBJHRTPhUknap4nX/7ey3ArpCuWxRU9T6ey4YKmUDgJaiJRja0W+H4CAUOIxIvWQSChYiSsxuYvc7HRq8RTC+46sJXzEHt2XPMCEBGIwcn24FqbfhUP7dH7r3xft2dJJp3w79Twb4=
X-Forefront-Antispam-Report:
	CIP:205.220.161.53;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mx0a-00498f04.pphosted.com;PTR:mx0a-00498f04.pphosted.com;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(376014)(36860700016)(23010399003)(6133799003)(18002099003)(22082099003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	gfZDevKhDjen6YHH3/pgh02ACQzj2JxkhG02WHv7ZWsh7BXFhALQL458nSm7YcqN4c45T9u1P0bakqs5TKrOdp7UHyqJ0AZP770sRw3c7QVxlW3iBHZ07zdnfpkUcutZ5kZe8dnmTStzj/glckwUlJGl975uIib9GjFDTCbr5SDZqHD4EjiWbvpvH02LgHDAnmD85nMj6tuNx2krsbgmtQbRzJoA8WcqL9Jx1v1W34jCBdKbBYF+hIzhhiWjZDR+Y5NBvhfQPM/8AYAnFbPXZ5CU2a0bJPzFTnQMuETYzpu4kX+P3lQFshS+DQnJqcS1F0K4xgcOAjf63fk7BrBGzMziDnYLen1anHIZVo78sP0AEpITKzMdh01s/D2KthRHpuC3BF/NF6QhzsPK+Wo6Xb3NsBbp93xBSAxLLSkBChu88ni3kfrmm9ShNupQS88B
X-Exchange-RoutingPolicyChecked:
	lfP9KVCWn+Xotew/RYJOOJUb343JU4tzK/vXTpp5OQPr+OYu06sWI8CUkR4hTlWM46k6FZgRpLB9+zi7W9roFpXgPudDA0JJm1XtGyl9A0kqqpynzswUaapn6X9XfJyS5dWLCICYgPQVcLn169Lo30zX10o6BUdYsI5SxK95sCtBjwysh+iKiZ1OFyLxuRmCLHfBoiJ/JQ+hfEHwN8IKQIy1yBlJFoFTk88byPAY8epTOGSlfyKbrAXvHU4DWYvDPp+CdtP11OKbf8SEGrhFZX70BbpSVuCVCgP7qC+ZQmcvmMUylrJ/c5IyVpf11uVTlY1SrvVKSvi1P/MyG/LgBQ==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	RDldZ0vbCR7V3FVpsDO9IvREToFOC+q/BnFW8Q2k8HN4AIKrzyjOTtUXRk3W1p4JeMwZ2PYhHK5NkwIG3eFJgj8F6vgROtUcb7+l6nzMzgHXGDLN1Y4q2iWo0d1MrYAIqcYQ2pi/HoBnQ721+1N3yf9mE+1jReJEP/vbU4xC54d06OVgtGFPorwicCkeigikyd2VKTf1xeKJLYq8a7iv8FkMAc1gg5eIX9YOVD+pAro0AEx+L2HtbblyFYPOOrVUQOFXy/8LKbGT6ZN1fempnZDgvTaZYjXoOoAz+gej5sg322oS+t6xw3Nq/3L2orir+zY4UA8Zmtvwne9qkxJrR9Ek1rp96wN0YWdw7rh21kReoJcNrcoyB5SBEeZT8Or87lNjBUeq6byLGA/pBTPTUv10BcTM4r1MpVomnSs2rFJJk6qPXVswtQ+T1ukb8v43ICRJTFVsHZRv5v7QWEj0tOswezN57c3qp77WIWT/lgXzucx+ngpUFVgHQ4tvXnqasve8eDtKNWPhcSAt58g7JQMhathbJOHU1PsKM2MK2TntBsvtXhdTL9ts0KUufNzzpaLF+b6SLqwU9xM3yjkriXiKiK56TZpNnjqLEhKuSxXC1MEry8UBaQg1lLCH2Z1pP/MrIA8RQapqyCcIM6nUEw==
X-OriginatorOrg: ford.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jun 2026 03:12:59.9587
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0af7e2b4-4e98-4ff6-971b-08dec8f9acad
X-MS-Exchange-CrossTenant-Id: c990bb7a-51f4-439b-bd36-9c07fb1041c0
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c990bb7a-51f4-439b-bd36-9c07fb1041c0;Ip=[205.220.161.53];Helo=[mx0a-00498f04.pphosted.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055E1.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA6PR16MB7029
X-Proofpoint-GUID: H7m7M3EjMs551KhVWtjWjHfMwEf4Yfnd
X-Proofpoint-Spam-Info: AW1haW4tMjYwNjEzMDAyOSBTYWx0ZWRfX9LnjlN6q0FAO
 OVAm4D0okZ71BnNF2phVSStQMMqWmifXzlxrMBLw2mmfzBXsvsqkuKDTELRyAjf76+U2mGeE0eG
 2A0lBhYppuBcK4ut08jNRVLyQdLeR6mLWImhA6lrQtujK49/IH98
X-Authority-Analysis: v=2.4 cv=cverVV4i c=1 sm=1 tr=0 ts=6a2ccabf cx=c_pps
 a=JXicDZ6CVi74U63V4YFJkg==:117 a=lOEMawUel/sSvQipkIvNbg==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=kj9zAlcOel0A:10 a=FelO9ux0wxsA:10
 a=3PXLN80vpJUA:10 a=6NUGLSImWEsA:10 a=w9pew1qAHqMA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=P_n1zlmtWsCQbjROFjcg:22 a=-OawqTZBqJjt90xPb8wn:22
 a=p0WdMEafAAAA:8 a=cbNQJ9GKAAAA:8 a=aTUU4wccGdjc4uoG5QAA:9 a=CjuIK1q_8ugA:10
 a=3whSkbs7g9Me0DR5EJEX:22
X-Proofpoint-ORIG-GUID: H7m7M3EjMs551KhVWtjWjHfMwEf4Yfnd
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjEzMDAyOSBTYWx0ZWRfX9RJHiZUWCqlO
 fB5VCZcEIPBEoeJOmiWln9bOH8xZ9sE7V4mB3Wnu8W9svs4ZU6NyRYEM2ujANBPMzoK2gG1/WVJ
 QPW6CY1KSUPKiLPjI242auB4Bb5L4mICBZ0Svm99EMhP2zJ3rsVddPuRWe75a3NLYi72674COH/
 ENIjkM0EdBtdpS/npXiREum5eRtsHQzEtleigoWkGBKUGMHadnQ+JuvOAaeeDQmAaeu+lklAFw2
 POz9bd1J4Yi0rFVfketkkCmTPutwErq1lTUXk3bdIlyFbs6oLeqgtxRXD2aXmi9UVUj7W/5EeEa
 4STrPAy4X8C8jO82cvmy8LhoX6B3GZYwQKAkw51erwefzBv7dvBiPApPNkHQY4lku1sJLzVLXfQ
 osBRaizZ+AvZMVpqyQ57q+AEiOitbn0MODYRHxETeOnovdQa1qlTTHMYpDVT15HoVn4DZkq715y
 auTPc9LZQbIkzuRcQeA==
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-13_01,2026-06-12_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0
 priorityscore=1501 malwarescore=0 impostorscore=0 lowpriorityscore=0
 phishscore=0 spamscore=0 clxscore=1015 suspectscore=0 adultscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2606040000 definitions=main-2606130029
X-purgate-ID: tlsNG-ef75cf/1781320387-0A573C48-2888CEF9/0/0
X-purgate-type: clean
X-purgate-size: 2602

On Sat, Jun 13, 2026 at 12:09:17AM +0100, Andrew Cooper wrote:
> Refresh and update the Alpine containers.
> 
> https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2598243590
> 
> This gets us off an obsolete version of Alpine, and finishes several
> improvement projects (naming, and non-root containers) all at once.
> 
> Andrew Cooper (7):
>   tools/xenalyze: Work around GCC-15 -Werror=nonnull false positive
>   Config.mk: Update QEMU to include pip-25.2 bugfix
>   CI: Introduce new qubes-hw-runner.dockerfile
>   CI: Update the Alpine x86_64 container to 3.24
>   CI: Update the Alpine arm64 container to 3.24
>   CI: Fix inconsistent use of x86-{64,32} vs x86_{64,32}
>   CI: Remove x86 microcode from arm32 jobs

Please consider

Reviewed-by: Denis Mukhin <dmukhin@ford.com> 

for the entire series.

> 
>  Config.mk                                     |   4 +-
>  .../build/alpine/3.18-arm64v8.dockerfile      |  51 ---
>  automation/build/alpine/3.18.dockerfile       |  52 ---
>  .../build/alpine/3.24-arm64v8.dockerfile      |  53 +++
>  .../build/alpine/3.24-x86_64.dockerfile       |  65 +++
>  .../build/alpine/qubes-hw-runner.dockerfile   |  21 +
>  automation/gitlab-ci/build.yaml               | 202 ++++-----
>  automation/gitlab-ci/test.yaml                | 385 +++++++++---------
>  automation/scripts/containerize               |   2 +-
>  .../{xtf-x86-64-config => xtf-x86_64-config}  |   0
>  ...86-64-efi-config => xtf-x86_64-efi-config} |   0
>  .../include/{xtf-x86-64 => xtf-x86_64}        |   0
>  .../{xtf-x86-64-efi => xtf-x86_64-efi}        |   0
>  .../{qubes-x86-64.sh => qubes-x86_64.sh}      |   0
>  tools/xentrace/xenalyze.c                     |  11 +
>  15 files changed, 444 insertions(+), 402 deletions(-)
>  delete mode 100644 automation/build/alpine/3.18-arm64v8.dockerfile
>  delete mode 100644 automation/build/alpine/3.18.dockerfile
>  create mode 100644 automation/build/alpine/3.24-arm64v8.dockerfile
>  create mode 100644 automation/build/alpine/3.24-x86_64.dockerfile
>  create mode 100644 automation/build/alpine/qubes-hw-runner.dockerfile
>  rename automation/scripts/include/configs/{xtf-x86-64-config => xtf-x86_64-config} (100%)
>  rename automation/scripts/include/configs/{xtf-x86-64-efi-config => xtf-x86_64-efi-config} (100%)
>  rename automation/scripts/include/{xtf-x86-64 => xtf-x86_64} (100%)
>  rename automation/scripts/include/{xtf-x86-64-efi => xtf-x86_64-efi} (100%)
>  rename automation/scripts/{qubes-x86-64.sh => qubes-x86_64.sh} (100%)
> 
> -- 
> 2.39.5
> 
> 


From xen-devel-bounces@lists.xenproject.org Sat Jun 13 11:21:27 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 11:21:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337244.1598774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYMQG-00024b-Pa; Sat, 13 Jun 2026 11:21:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337244.1598774; Sat, 13 Jun 2026 11: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 1wYMQG-00024T-LM; Sat, 13 Jun 2026 11:21:08 +0000
Received: by outflank-mailman (input) for mailman id 1337244;
 Sat, 13 Jun 2026 11:21:07 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wYMQF-00024N-Bg
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 11:21:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYMQE-00BEEH-Om
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 13:21:06 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2d3ce5-5cb7-0a2a0a5109dd-0a2a450180d8-44
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 13:21:06 +0200
Received: from [74.125.224.51] (helo=mail-yx1-f51.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2d3d21-c1f2-0a2a45010019-4a7de033a5e8-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 13:21:06 +0200
Received: by mail-yx1-f51.google.com with SMTP id
 956f58d0204a3-660512d80b4so1849627d50.1
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1781349665; cv=none;
        d=google.com; s=arc-20240605;
        b=ivNEnXO8pkDec+zTPSwNrgdWqn9eiqkqdEmIiW3hmhMZSf4t4KUvXR+DWiUcyIVDyh
         ThVrwtQkPw9C1fU2nzbzhPfCbMVRHyEugbXBBZ35m5FmUqMccMB02DTgfFz8v+Yik542
         Jjl6pELDKziyUrrPLsxIN3KPnE+glBzCF+r54ZnN6M5QT4rrq+qwkZZoT8fHzhUjnVtb
         bpAPCLOHthF3WQOH6mh7zrbCQzstVyPMBCukwYOaB1NMPW+FlzycqdU7gCq5YIdz6n6A
         GJcHLhXEQmXN2E8lhQm4pYroq2M1le1nqd+wfhRIiP8joD/tKbVhXs8m4vSqjKHYsbUN
         XzNw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature;
        bh=3IniDQcAaeOzy6guSBj5CzJJWJ98I6bNY7wzkg/qiTw=;
        fh=5lbqxgCMxf3Y4mAOLO68qUerdJDxNKup8DPHRZ7w9dY=;
        b=EutPzm3kNwD5C3gfz8zeojYX5U1FjYFAV81WFvmGQThBHhjwus6+TmtEGtdnXyjQyx
         4YT04ANg/SAokKGUZ2x71P+GmXzmAP9fqQwYWFDd0nWdQw5Lcy09/K6sNpzmkuZQu1Wi
         1ozpx45qmByAdiuwxWizT+mdmqYtCbGfmpBQcYc5fC+if3w46gHgTtrt2C0dexH+VquK
         1QhPpwub4zhtefyXcogD5AQJ7kk/d1OMRcNKLdkvsZVecUD7sMrUg6Ba7Z4e5ZmFyiFH
         5jwNGacwPyGnjVOSOHnO2IuEADmbbNiXyIuAT817s2fvpsPLWkq6Y3+0qVE0w4JxXtdG
         omPw==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781349665; x=1781954465; 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=3IniDQcAaeOzy6guSBj5CzJJWJ98I6bNY7wzkg/qiTw=;
        b=bCoRjwS4/2C0KHdIR79QR+RCPfig8qtooPUPEsD/LRma4LXn0e8pTB8PXunpX53AJf
         CSkEkHccwY3/iGq7eAV0VYkhwrb/atrj/WPjjJgEBBimiec2X/KCJNCws/i/8x++/rhv
         27cAX26axyk8MZ/Bk63RytM25MnMGrE8K0LgHq4yE7mAOyazALbGHTZXOyIPQJb0lX2n
         dfcjCVuJLn1+AbaEBsZMGH1pwZojkfoye8OdDfuNe0lgw/dbU0+rk9uev3D9D6ezt1d8
         ZPb1QKUR0/zlEnXKrx9PAafJ04hOrgtvxru75k/zSiSEygES0mAz+Xly4KjFLZ9lJWi3
         FQxg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781349665; x=1781954465;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3IniDQcAaeOzy6guSBj5CzJJWJ98I6bNY7wzkg/qiTw=;
        b=at5zuwk5JhUsZ5mQ7uHbmewbrAZaHMryoM97JKABgm9xOmv4LdATSwLkTCuXxGLbTz
         a8wrBRA+bHtJKCOjEYBgPDOCP/50Z8ozPYh8B706j5BZOXdQzzuyb8NRAjxzh3mQLkCB
         8+nmuQE6Iq+5mce4Z6UW6DcdaW2XjH7+DyzI2z2t5CHYJN99X0uNApvdWDQQRQTH/oz+
         1S7WZY84EeimhcCKneL2OsCq0A/sf38PQzQ+lyH4IMTJme9TIioM7jKPXfcnXtpSRdly
         Q2GUAxDIquY4kBY4CdP0nOo4srSKUqgz7wZu8j78nMXsj8b9T78C7O/VnbfkWh5abJFa
         7jcQ==
X-Forwarded-Encrypted: i=1; AFNElJ86sCojW2YkJcBmncypHNgXilZBstFbCGeXU4uuopgC8+EsNJipIcCLLBpGGXBM/as4www3ybl08g8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzaMgRthnrnCoGm6A+DsF46kbT92e1Nx2MzJiP/7xFRCnECAc4r
	l4ByATH2dXeqDkVOf8/K6vrmtf7tfSHwX3KXec0JjkA7o/Rl6Ohul4k4S6k1nrwk9j+uMt4tIaJ
	s1yQSpje5iodGHB8MXyDtsJZvTMbIXJ0=
X-Gm-Gg: Acq92OFph5mGsCvbs0WtpyhQRO2NCodbGdlyhHgCmyPZ3g0fsCcbdv3sePoAS1bvc4X
	iyS5Lm0X1W3oK0tRrmEf3Sy6zALWohk3g6oUpvDC7oXb5dgjCKmdZSM/FBlAOvHOSiKSaEkERup
	miOs7ZLDk6hE5mxnHuzZNyuo4ggxSQ7qR6AjKJcV5Vd3Nqj4wTxJN4AxP/bBrMLG+BuEapMb6zk
	hIIOk1b3Nrqy5/BPLhpyR7wMNLWsb01u9+UausWbIJ/RqON8C/YwQLVqivGSZS3hyb46hEiihBq
	U88lsjcTvmBoilp6tFWHzFEIiwyPETEDSE7u0Sp5
X-Received: by 2002:a05:690e:4801:b0:660:67da:446 with SMTP id
 956f58d0204a3-6627697903cmr3718819d50.18.1781349664983; Sat, 13 Jun 2026
 04:21:04 -0700 (PDT)
MIME-Version: 1.0
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-3-frediano.ziglio@cloud.com> <7067092e-ba18-4513-a9b1-83ba084ccbb4@suse.com>
 <CAHt6W4cP57pAPsNDKpssjYB=snLEZgOhWkYkVrJys01-NTMiRQ@mail.gmail.com>
 <75e86d74-9fa1-4090-bea7-332ec31ffb90@suse.com> <CAHt6W4dfXdyw4dOkqoQzo0x4XRmLsHXkhhznov+KvanKBi9bWw@mail.gmail.com>
 <5bee4f94-b2d0-4802-a990-b2a378d2f838@suse.com> <CAHt6W4cb4R7i79s9wYRpPfOdmkKS+XsaO=VphZ+jvmLKiRw-ZA@mail.gmail.com>
 <f83df0b1-9177-4b89-a854-e19a22e181a7@suse.com>
In-Reply-To: <f83df0b1-9177-4b89-a854-e19a22e181a7@suse.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Sat, 13 Jun 2026 12:20:53 +0100
X-Gm-Features: AVVi8CfizA9xbp-qB2j4vby_ZKvYpsoHduawbFP7mFcQmfNe9cQar-eGka3XVgM
Message-ID: <CAHt6W4efwGwdiTvKnG4n=A6PL_FogynsV23rDDi8rj_smZVoNw@mail.gmail.com>
Subject: Re: [PATCH 2/6] Align all sections to 4KB
To: Jan Beulich <jbeulich@suse.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
X-purgate-ID: tlsNG-d62444/1781349666-B6B5EFF4-879A87EF/0/0
X-purgate-type: clean
X-purgate-size: 8897

On Thu, 11 Jun 2026 at 16:18, Jan Beulich <jbeulich@suse.com> wrote:
>
> On 11.06.2026 16:49, Frediano Ziglio wrote:
> > On Wed, 10 Jun 2026 at 10:43, Jan Beulich <jbeulich@suse.com> wrote:
> >>
> >> On 06.06.2026 18:02, Frediano Ziglio wrote:
> >>> Frediano
> >>>
> >>> On Fri, 5 Jun 2026 at 08:45, Jan Beulich <jbeulich@suse.com> wrote:
> >>>>
> >>>> On 04.06.2026 12:16, Frediano Ziglio wrote:
> >>>>> On Tue, 2 Jun 2026 at 13:09, Jan Beulich <jbeulich@suse.com> wrote:
> >>>>>> On 29.05.2026 17:35, Frediano Ziglio wrote:
> >>>>>>> --- a/xen/arch/x86/xen.lds.S
> >>>>>>> +++ b/xen/arch/x86/xen.lds.S
> >>>>>>> @@ -162,8 +162,8 @@ SECTIONS
> >>>>>>>         __note_gnu_build_id_end = .;
> >>>>>>>    } PHDR(note) PHDR(text)
> >>>>>>>  #elif defined(BUILD_ID_EFI)
> >>>>>>> -  /* Workaround bug in binutils < 2.36 */
> >>>>>>> -  . = ALIGN(32);
> >>>>>>> +  /* align to satisfy UEFI CA memory mitigation */
> >>>>>>> +  . = ALIGN(PAGE_SIZE);
> >>>>>>>    DECL_SECTION(.buildid) {
> >>>>>>>         __note_gnu_build_id_start = .;
> >>>>>>>         *(.buildid)
> >>>>>>> @@ -330,6 +330,7 @@ SECTIONS
> >>>>>>>    __2M_rwdata_end = ALIGN(SECTION_ALIGN);
> >>>>>>>
> >>>>>>>  #ifdef EFI
> >>>>>>> +  . = ALIGN(PAGE_SIZE);
> >>>>>>>    .reloc ALIGN(4) : {
> >>>>>>>      __base_relocs_start = .;
> >>>>>>>      *(.reloc)
> >>>>>>> @@ -355,6 +356,7 @@ SECTIONS
> >>>>>>>    VIRT_START &= 0;
> >>>>>>>    ALT_START &= 0;
> >>>>>>>
> >>>>>>> +  . = ALIGN(PAGE_SIZE);
> >>>>>>>    .sbat (NOLOAD) : { *(.sbat) }
> >>>>>>>  #elif defined(XEN_BUILD_EFI)
> >>>>>>>    /*
> >>>>>>
> >>>>>> You say "all sections" in the title, yet this is not covering e.g. debug
> >>>>>> info.
> >>>>>
> >>>>> I will change to "all loadable sections". debug sections are not
> >>>>> loadable so they don't cause an issue.
> >>>>
> >>>> Please try to be precise there, as some aspects are subtle. As per my
> >>>> understanding, like .reloc all .debug_* are loadable (and may be loaded).
> >>>> The IMAGE_SCN_MEM_DISCARDABLE flag merely means they can be discarded at
> >>>> a certain point after image loading (for .reloc in particular: after
> >>>> relocations were processed).
> >>>
> >>> No, debug sections are not loadable, for instance, in a random
> >>> executable I found:
> >>>
> >>> Sections:
> >>> Idx Name          Size      VMA               LMA               File off  Algn
> >>>   0 .text         0000c7f8  0000000140001000  0000000140001000  00000600  2**4
> >>>                   CONTENTS, ALLOC, LOAD, READONLY, CODE, DATA
> >>>   1 .data         00000250  000000014000e000  000000014000e000  0000ce00  2**4
> >>>                   CONTENTS, ALLOC, LOAD, DATA
> >>>   2 .rdata        00002c70  000000014000f000  000000014000f000  0000d200  2**4
> >>>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
> >>>   3 .pdata        00000654  0000000140012000  0000000140012000  00010000  2**2
> >>>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
> >>>   4 .xdata        00000630  0000000140013000  0000000140013000  00010800  2**2
> >>>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
> >>>   5 .bss          00001ec0  0000000140014000  0000000140014000  00000000  2**4
> >>>                   ALLOC
> >>>   6 .idata        00000c88  0000000140016000  0000000140016000  00011000  2**2
> >>>                   CONTENTS, ALLOC, LOAD, DATA
> >>>   7 .CRT          00000060  0000000140017000  0000000140017000  00011e00  2**2
> >>>                   CONTENTS, ALLOC, LOAD, DATA
> >>>   8 .tls          00000010  0000000140018000  0000000140018000  00012000  2**2
> >>>                   CONTENTS, ALLOC, LOAD, DATA
> >>>   9 .reloc        0000009c  0000000140019000  0000000140019000  00012200  2**2
> >>>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
> >>>  10 .debug_aranges 00000150  000000014001a000  000000014001a000  00012400  2**0
> >>>                   CONTENTS, READONLY, DEBUGGING
> >>>  11 .debug_info   0000d5e4  000000014001b000  000000014001b000  00012600  2**0
> >>>                   CONTENTS, READONLY, DEBUGGING
> >>>  12 .debug_abbrev 000014de  0000000140029000  0000000140029000  0001fc00  2**0
> >>>                   CONTENTS, READONLY, DEBUGGING
> >>>  13 .debug_line   00001a36  000000014002b000  000000014002b000  00021200  2**0
> >>>                   CONTENTS, READONLY, DEBUGGING
> >>>  14 .debug_frame  00000f40  000000014002d000  000000014002d000  00022e00  2**0
> >>>                   CONTENTS, READONLY, DEBUGGING
> >>>  15 .debug_str    000003a0  000000014002e000  000000014002e000  00023e00  2**0
> >>>                   CONTENTS, READONLY, DEBUGGING
> >>>  16 .debug_line_str 00000a76  000000014002f000  000000014002f000  00024200  2**0
> >>>                   CONTENTS, READONLY, DEBUGGING
> >>>  17 .debug_loclists 0000174a  0000000140030000  0000000140030000  00024e00  2**0
> >>>                   CONTENTS, READONLY, DEBUGGING
> >>>  18 .debug_rnglists 0000039c  0000000140032000  0000000140032000  00026600  2**0
> >>>                   CONTENTS, READONLY, DEBUGGING
> >>
> >> That's derived from libfd's internal representation, which means nothing at
> >> all to the loader processing the image. If your objdump is suitably enabled,
> >> try using its -P option.
> >>
> >> Jan
> >
> > You are right, I got
> >
> > Section headers (at offset 0x00000188):
> >  # Name     paddr    vaddr    size     scnptr   relptr   lnnoptr   nrel nlnno
> >  1 .text    0000c7f8 00001000 0000c800 00000600 00000000 00000000     0     0
> >             Flags: 60000060: EXECUTE,READ,CODE,INITIALIZED DATA
> >  2 .data    00000250 0000e000 00000400 0000ce00 00000000 00000000     0     0
> >             Flags: c0000040: READ,WRITE,INITIALIZED DATA
> >  3 .rdata   00002c70 0000f000 00002e00 0000d200 00000000 00000000     0     0
> >             Flags: 40000040: READ,INITIALIZED DATA
> >  4 .pdata   00000654 00012000 00000800 00010000 00000000 00000000     0     0
> >             Flags: 40000040: READ,INITIALIZED DATA
> >  5 .xdata   00000630 00013000 00000800 00010800 00000000 00000000     0     0
> >             Flags: 40000040: READ,INITIALIZED DATA
> >  6 .bss     00001ec0 00014000 00000000 00000000 00000000 00000000     0     0
> >             Flags: c0000080: READ,WRITE,UNINITIALIZED DATA
> >  7 .idata   00000c88 00016000 00000e00 00011000 00000000 00000000     0     0
> >             Flags: c0000040: READ,WRITE,INITIALIZED DATA
> >  8 .CRT     00000060 00017000 00000200 00011e00 00000000 00000000     0     0
> >             Flags: c0000040: READ,WRITE,INITIALIZED DATA
> >  9 .tls     00000010 00018000 00000200 00012000 00000000 00000000     0     0
> >             Flags: c0000040: READ,WRITE,INITIALIZED DATA
> > 10 .reloc   0000009c 00019000 00000200 00012200 00000000 00000000     0     0
> >             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> > 11 /4       00000150 0001a000 00000200 00012400 00000000 00000000     0     0
> >             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> > 12 /19      0000d5e4 0001b000 0000d600 00012600 00000000 00000000     0     0
> >             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> > 13 /31      000014de 00029000 00001600 0001fc00 00000000 00000000     0     0
> >             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> > 14 /45      00001a36 0002b000 00001c00 00021200 00000000 00000000     0     0
> >             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> > 15 /57      00000f40 0002d000 00001000 00022e00 00000000 00000000     0     0
> >             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> > 16 /70      000003a0 0002e000 00000400 00023e00 00000000 00000000     0     0
> >             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> > 17 /81      00000a76 0002f000 00000c00 00024200 00000000 00000000     0     0
> >             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> > 18 /97      0000174a 00030000 00001800 00024e00 00000000 00000000     0     0
> >             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> > 19 /113     0000039c 00032000 00000400 00026600 00000000 00000000     0     0
> >             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> >
> > I suppose I will change to simply "Align some sections to 4KB"
>
> "Some" is imo going to be too imprecise. Please qualify which sections you
> intend to align. If new sections need adding in the future, this then can
> guide people as to whether those may also need aligning.
>
> Jan

The main issue is that sections with different permissions must be in
separate sections.
In the case of debug sections they are contiguous and have the same
permissions so it's not an issue (although better to strip them off).

Any suggestions on how to describe this?

Frediano


From xen-devel-bounces@lists.xenproject.org Sat Jun 13 11:37:03 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 11:37:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337259.1598782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYMfa-0003tQ-4Q; Sat, 13 Jun 2026 11:36:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337259.1598782; Sat, 13 Jun 2026 11:36: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 1wYMfa-0003tJ-1Z; Sat, 13 Jun 2026 11:36:58 +0000
Received: by outflank-mailman (input) for mailman id 1337259;
 Sat, 13 Jun 2026 11:36:57 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <marmarek@invisiblethingslab.com>) id 1wYMfY-0003tD-W1
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 11:36:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYMfY-00CT8d-Cv
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 13:36:56 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a2d405f-e002-0a2a0a5209dd-0a2a4508a8ac-44
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 13:36:56 +0200
Received: from [103.168.172.144] (helo=fout-a1-smtp.messagingengine.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a2d40d6-63b5-0a2a45080019-67a8ac90ea6d-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 13:36:55 +0200
Received: from phl-compute-01.internal (phl-compute-01.internal [10.202.2.41])
 by mailfout.phl.internal (Postfix) with ESMTP id 85DE2EC011C;
 Sat, 13 Jun 2026 07:36:54 -0400 (EDT)
Received: from phl-frontend-03 ([10.202.2.162])
 by phl-compute-01.internal (MEProxy); Sat, 13 Jun 2026 07:36:54 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat,
 13 Jun 2026 07:36:52 -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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=1781350614;
	 x=1781437014; bh=/r/JWaYL/fyaUzj+68PgkcU8H7/VMdu6kERZztXilDA=; b=
	damfCl8h4nZ2cxW8ejsU4eKD7InwoOstQpwauQpR67QlGQ7u1Z4re2fVzEMeeM/B
	ZgPlQkhWOZh9vbyrN34xoSidnvfg9VNAYXYywSRB4l+Q06Bxkp6ePKW3OAAEfoo6
	EcbWOGEKAT+BS7wDorKEyjdij5294vnCD5/O5b+T2X4Q66qrhH7CZxPmpvogw04y
	vbEXroC/icMrY5UQmWZ8UFswG+xsKuoSiF+bdlCqKlJudm+5VYBPTg4++UcLukT4
	LryLk/CmE5ymDyAxEgwHZPUma5yLIatXryAhu6La1nFdwKcgqUsPVia7nv20y7An
	ndqnByKUctTo/IKicGvp9w==
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=
	1781350614; x=1781437014; bh=/r/JWaYL/fyaUzj+68PgkcU8H7/VMdu6kER
	ZztXilDA=; b=XwmTienqfWBV4mdJBPse6OsHtDOET1HbRWUuezTQHMxz3FMsBxz
	RlGKjByubQlSyD6S+8EW5h/V52r6pRambTYPtoidf8STw+HSmHBOPOxkGnh8/xT3
	hxa1ypLiZi/iJsZOwhHyT6DB8isFyLm8Xgj+2AoTZ2CRjY4DsoWc0IvtVG0z+D0E
	A240nAxr0WVd6pV38LxWry8tE95M5ScUxU9vMsePSeEmh4splTx6/pSvU0DFDGl8
	ox5fMwLtCyMqZFhqkV1khRCgvLzkG5pDdcVHnHtv1N3159sWs8jZTFp8da0QsW2/
	uEEMinxLmd9nJWns6nO2ZHZvVz4j+IqhAhg==
X-ME-Sender: <xms:1kAtagZ58fCZQlUArPdBT8EZRkVTpuXrxaU9pAzp63WrVUrZxjGPmA>
    <xme:1kAtatrv4U1YCPLhyoY-LHQ-d2xhBdqUMUaFXp4zzci37NbEi-eid4Omydlemd3NQ
    EmPb9Wsn4ajFskX7T4dne-MkPiAzncfDXIDV72bbdxRepVqBQ>
X-ME-Received: <xmr:1kAtatPX7DrTKBZtBmsJYLB5nyPJXQ-x39BzjU213MGUU2HmUWWACH5somhgO1_ZiHyWLYclV-fXu7COGd9IlsedsoOShBMosfU>
X-ME-Proxy-Cause: dmFkZTEyKldsMfUz7n9eOrcIsH6yxkBZ9aydQ8Nh6H/CfARO6H9NPJ2XOflANQO5kdjJ5G
    0bwXcetA6/7G+YsItgmmIZ+/yfmmbQSFYgaNGE97P1hfOey09hYVwsxazm0wNa1KSz0CQ5
    Jt7VDV2NoPlxAOlpPFF2wcPfrDGdVrr1Lwk8PLWCtZT4JN2T85+oQ2CZY4aXVntawnTaSQ
    R4zTDlr4eIGdVCfyfm5i7QKJasS9HKMqfXgG9DmhBAJH5lnHBXUu5TmtmpFh0aYanDe3j1
    nm1Az7T1ejXQdizsQ5cI8hIQB0k8cB2XY5cnnquqmnFoVK1ILPd1VTJfNuZ7Rwho346CeF
    CRTMlO9FBHm+BqIoRW+5LjEtewDa6B7Ort4cQ9UbvjlJ5QaUCF9Kb4ygncRJQlcsqG5eyz
    pqrfzsTw0Al9FlUHWGHPmXSm1O5CPuhw9udLSztE/yDo3Q/GzQgn4o8iSH2ThtKOo+++Jh
    s8/YJs/28nEJNZVuMKfBXdljjjjOij1klbcXBPZMvQykxfO/vmjDzSF9pW5yuZ6vTgTLSB
    IqP1qDqgC20jCajGaEzgeZkRSKuBe3EQ3nPtiKT4swqHoOcqxxfraNOzqaXeuhy7gJRzpi
    TMvEfYGJnUMUPsq3iQdnLA0kBm0MBgwSiv6dpRC2fZnZNQ01Ad/dszmID+cA
X-ME-Proxy: <xmx:1kAtagrl8l_7Z3cI_fMif1UYm1b0NRVB4hq-Sz4DXqUuVYD2TV4Qtg>
    <xmx:1kAtaqdVHy2uDcxhpW01UsjNT3HpqfctwxzNeEi_EID5apkmmtBwJw>
    <xmx:1kAtauThjHdliswON1eR5jLBiNYd_Bs7ek8vILG3jiwVTOibvTar7w>
    <xmx:1kAtarZh-ePRCdNDtolJ2HNgw-bSXkXUGxc3aJ2ET8JZg_O5OL_UUQ>
    <xmx:1kAtaqgaq2E2m2yxCxbEdfPS1O43d5-4gV2iN5NFSRTI70gUQMmGHW-b>
Feedback-ID: i1568416f:Fastmail
Date: Sat, 13 Jun 2026 13:36:51 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	Frediano Ziglio <frediano.ziglio@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 2/6] Align all sections to 4KB
Message-ID: <ai1A0xEjXZ1j67a8@mail-itl>
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-3-frediano.ziglio@cloud.com>
 <7067092e-ba18-4513-a9b1-83ba084ccbb4@suse.com>
 <CAHt6W4cP57pAPsNDKpssjYB=snLEZgOhWkYkVrJys01-NTMiRQ@mail.gmail.com>
 <75e86d74-9fa1-4090-bea7-332ec31ffb90@suse.com>
 <CAHt6W4dfXdyw4dOkqoQzo0x4XRmLsHXkhhznov+KvanKBi9bWw@mail.gmail.com>
 <5bee4f94-b2d0-4802-a990-b2a378d2f838@suse.com>
 <CAHt6W4cb4R7i79s9wYRpPfOdmkKS+XsaO=VphZ+jvmLKiRw-ZA@mail.gmail.com>
 <f83df0b1-9177-4b89-a854-e19a22e181a7@suse.com>
 <CAHt6W4efwGwdiTvKnG4n=A6PL_FogynsV23rDDi8rj_smZVoNw@mail.gmail.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="YUOYS7nC2vNRwBU6"
Content-Disposition: inline
In-Reply-To: <CAHt6W4efwGwdiTvKnG4n=A6PL_FogynsV23rDDi8rj_smZVoNw@mail.gmail.com>
X-purgate-ID: tlsNG-c1860d/1781350616-B7D7BDB1-1D3CF77A/0/0
X-purgate-type: clean
X-purgate-size: 10877


--YUOYS7nC2vNRwBU6
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Sat, 13 Jun 2026 13:36:51 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	Frediano Ziglio <frediano.ziglio@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 2/6] Align all sections to 4KB

On Sat, Jun 13, 2026 at 12:20:53PM +0100, Frediano Ziglio wrote:
> On Thu, 11 Jun 2026 at 16:18, Jan Beulich <jbeulich@suse.com> wrote:
> >
> > On 11.06.2026 16:49, Frediano Ziglio wrote:
> > > On Wed, 10 Jun 2026 at 10:43, Jan Beulich <jbeulich@suse.com> wrote:
> > >>
> > >> On 06.06.2026 18:02, Frediano Ziglio wrote:
> > >>> Frediano
> > >>>
> > >>> On Fri, 5 Jun 2026 at 08:45, Jan Beulich <jbeulich@suse.com> wrote:
> > >>>>
> > >>>> On 04.06.2026 12:16, Frediano Ziglio wrote:
> > >>>>> On Tue, 2 Jun 2026 at 13:09, Jan Beulich <jbeulich@suse.com> wrot=
e:
> > >>>>>> On 29.05.2026 17:35, Frediano Ziglio wrote:
> > >>>>>>> --- a/xen/arch/x86/xen.lds.S
> > >>>>>>> +++ b/xen/arch/x86/xen.lds.S
> > >>>>>>> @@ -162,8 +162,8 @@ SECTIONS
> > >>>>>>>         __note_gnu_build_id_end =3D .;
> > >>>>>>>    } PHDR(note) PHDR(text)
> > >>>>>>>  #elif defined(BUILD_ID_EFI)
> > >>>>>>> -  /* Workaround bug in binutils < 2.36 */
> > >>>>>>> -  . =3D ALIGN(32);
> > >>>>>>> +  /* align to satisfy UEFI CA memory mitigation */
> > >>>>>>> +  . =3D ALIGN(PAGE_SIZE);
> > >>>>>>>    DECL_SECTION(.buildid) {
> > >>>>>>>         __note_gnu_build_id_start =3D .;
> > >>>>>>>         *(.buildid)
> > >>>>>>> @@ -330,6 +330,7 @@ SECTIONS
> > >>>>>>>    __2M_rwdata_end =3D ALIGN(SECTION_ALIGN);
> > >>>>>>>
> > >>>>>>>  #ifdef EFI
> > >>>>>>> +  . =3D ALIGN(PAGE_SIZE);
> > >>>>>>>    .reloc ALIGN(4) : {
> > >>>>>>>      __base_relocs_start =3D .;
> > >>>>>>>      *(.reloc)
> > >>>>>>> @@ -355,6 +356,7 @@ SECTIONS
> > >>>>>>>    VIRT_START &=3D 0;
> > >>>>>>>    ALT_START &=3D 0;
> > >>>>>>>
> > >>>>>>> +  . =3D ALIGN(PAGE_SIZE);
> > >>>>>>>    .sbat (NOLOAD) : { *(.sbat) }
> > >>>>>>>  #elif defined(XEN_BUILD_EFI)
> > >>>>>>>    /*
> > >>>>>>
> > >>>>>> You say "all sections" in the title, yet this is not covering e.=
g. debug
> > >>>>>> info.
> > >>>>>
> > >>>>> I will change to "all loadable sections". debug sections are not
> > >>>>> loadable so they don't cause an issue.
> > >>>>
> > >>>> Please try to be precise there, as some aspects are subtle. As per=
 my
> > >>>> understanding, like .reloc all .debug_* are loadable (and may be l=
oaded).
> > >>>> The IMAGE_SCN_MEM_DISCARDABLE flag merely means they can be discar=
ded at
> > >>>> a certain point after image loading (for .reloc in particular: aft=
er
> > >>>> relocations were processed).
> > >>>
> > >>> No, debug sections are not loadable, for instance, in a random
> > >>> executable I found:
> > >>>
> > >>> Sections:
> > >>> Idx Name          Size      VMA               LMA               Fil=
e off  Algn
> > >>>   0 .text         0000c7f8  0000000140001000  0000000140001000  000=
00600  2**4
> > >>>                   CONTENTS, ALLOC, LOAD, READONLY, CODE, DATA
> > >>>   1 .data         00000250  000000014000e000  000000014000e000  000=
0ce00  2**4
> > >>>                   CONTENTS, ALLOC, LOAD, DATA
> > >>>   2 .rdata        00002c70  000000014000f000  000000014000f000  000=
0d200  2**4
> > >>>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
> > >>>   3 .pdata        00000654  0000000140012000  0000000140012000  000=
10000  2**2
> > >>>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
> > >>>   4 .xdata        00000630  0000000140013000  0000000140013000  000=
10800  2**2
> > >>>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
> > >>>   5 .bss          00001ec0  0000000140014000  0000000140014000  000=
00000  2**4
> > >>>                   ALLOC
> > >>>   6 .idata        00000c88  0000000140016000  0000000140016000  000=
11000  2**2
> > >>>                   CONTENTS, ALLOC, LOAD, DATA
> > >>>   7 .CRT          00000060  0000000140017000  0000000140017000  000=
11e00  2**2
> > >>>                   CONTENTS, ALLOC, LOAD, DATA
> > >>>   8 .tls          00000010  0000000140018000  0000000140018000  000=
12000  2**2
> > >>>                   CONTENTS, ALLOC, LOAD, DATA
> > >>>   9 .reloc        0000009c  0000000140019000  0000000140019000  000=
12200  2**2
> > >>>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
> > >>>  10 .debug_aranges 00000150  000000014001a000  000000014001a000  00=
012400  2**0
> > >>>                   CONTENTS, READONLY, DEBUGGING
> > >>>  11 .debug_info   0000d5e4  000000014001b000  000000014001b000  000=
12600  2**0
> > >>>                   CONTENTS, READONLY, DEBUGGING
> > >>>  12 .debug_abbrev 000014de  0000000140029000  0000000140029000  000=
1fc00  2**0
> > >>>                   CONTENTS, READONLY, DEBUGGING
> > >>>  13 .debug_line   00001a36  000000014002b000  000000014002b000  000=
21200  2**0
> > >>>                   CONTENTS, READONLY, DEBUGGING
> > >>>  14 .debug_frame  00000f40  000000014002d000  000000014002d000  000=
22e00  2**0
> > >>>                   CONTENTS, READONLY, DEBUGGING
> > >>>  15 .debug_str    000003a0  000000014002e000  000000014002e000  000=
23e00  2**0
> > >>>                   CONTENTS, READONLY, DEBUGGING
> > >>>  16 .debug_line_str 00000a76  000000014002f000  000000014002f000  0=
0024200  2**0
> > >>>                   CONTENTS, READONLY, DEBUGGING
> > >>>  17 .debug_loclists 0000174a  0000000140030000  0000000140030000  0=
0024e00  2**0
> > >>>                   CONTENTS, READONLY, DEBUGGING
> > >>>  18 .debug_rnglists 0000039c  0000000140032000  0000000140032000  0=
0026600  2**0
> > >>>                   CONTENTS, READONLY, DEBUGGING
> > >>
> > >> That's derived from libfd's internal representation, which means not=
hing at
> > >> all to the loader processing the image. If your objdump is suitably =
enabled,
> > >> try using its -P option.
> > >>
> > >> Jan
> > >
> > > You are right, I got
> > >
> > > Section headers (at offset 0x00000188):
> > >  # Name     paddr    vaddr    size     scnptr   relptr   lnnoptr   nr=
el nlnno
> > >  1 .text    0000c7f8 00001000 0000c800 00000600 00000000 00000000    =
 0     0
> > >             Flags: 60000060: EXECUTE,READ,CODE,INITIALIZED DATA
> > >  2 .data    00000250 0000e000 00000400 0000ce00 00000000 00000000    =
 0     0
> > >             Flags: c0000040: READ,WRITE,INITIALIZED DATA
> > >  3 .rdata   00002c70 0000f000 00002e00 0000d200 00000000 00000000    =
 0     0
> > >             Flags: 40000040: READ,INITIALIZED DATA
> > >  4 .pdata   00000654 00012000 00000800 00010000 00000000 00000000    =
 0     0
> > >             Flags: 40000040: READ,INITIALIZED DATA
> > >  5 .xdata   00000630 00013000 00000800 00010800 00000000 00000000    =
 0     0
> > >             Flags: 40000040: READ,INITIALIZED DATA
> > >  6 .bss     00001ec0 00014000 00000000 00000000 00000000 00000000    =
 0     0
> > >             Flags: c0000080: READ,WRITE,UNINITIALIZED DATA
> > >  7 .idata   00000c88 00016000 00000e00 00011000 00000000 00000000    =
 0     0
> > >             Flags: c0000040: READ,WRITE,INITIALIZED DATA
> > >  8 .CRT     00000060 00017000 00000200 00011e00 00000000 00000000    =
 0     0
> > >             Flags: c0000040: READ,WRITE,INITIALIZED DATA
> > >  9 .tls     00000010 00018000 00000200 00012000 00000000 00000000    =
 0     0
> > >             Flags: c0000040: READ,WRITE,INITIALIZED DATA
> > > 10 .reloc   0000009c 00019000 00000200 00012200 00000000 00000000    =
 0     0
> > >             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> > > 11 /4       00000150 0001a000 00000200 00012400 00000000 00000000    =
 0     0
> > >             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> > > 12 /19      0000d5e4 0001b000 0000d600 00012600 00000000 00000000    =
 0     0
> > >             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> > > 13 /31      000014de 00029000 00001600 0001fc00 00000000 00000000    =
 0     0
> > >             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> > > 14 /45      00001a36 0002b000 00001c00 00021200 00000000 00000000    =
 0     0
> > >             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> > > 15 /57      00000f40 0002d000 00001000 00022e00 00000000 00000000    =
 0     0
> > >             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> > > 16 /70      000003a0 0002e000 00000400 00023e00 00000000 00000000    =
 0     0
> > >             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> > > 17 /81      00000a76 0002f000 00000c00 00024200 00000000 00000000    =
 0     0
> > >             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> > > 18 /97      0000174a 00030000 00001800 00024e00 00000000 00000000    =
 0     0
> > >             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> > > 19 /113     0000039c 00032000 00000400 00026600 00000000 00000000    =
 0     0
> > >             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
> > >
> > > I suppose I will change to simply "Align some sections to 4KB"
> >
> > "Some" is imo going to be too imprecise. Please qualify which sections =
you
> > intend to align. If new sections need adding in the future, this then c=
an
> > guide people as to whether those may also need aligning.
> >
> > Jan
>=20
> The main issue is that sections with different permissions must be in
> separate sections.
> In the case of debug sections they are contiguous and have the same
> permissions so it's not an issue (although better to strip them off).
>=20
> Any suggestions on how to describe this?

Maybe something like "Align sections of different permissions to force
them into separate pages"?

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

--YUOYS7nC2vNRwBU6
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmotQNMACgkQ24/THMrX
1yyAHQgAglm+T344Ekbq1t6K43nNa0SWsyDWgyZnVaOciwrFJGw47LXKK7XRM/QY
l7vq8Nx7uYiQt/uzLSk2tlG4DCLgKc1WMiGRCZtYfiR2OjU2n2nW59hdlcZeKGvF
p5o9ii1++eIlMptJynKbr/8CF/PHrpOnGD+sUFJSK7A8CODeF5c+DdvzRwTXZWTP
AuwO9l1yua+PfaAF6zVo98diWxqTXedGz0BUsWvPQyW4bYLoxP1GF1efayGxFIZR
xBzgMTC3JjfRJh7tdrsMx0eYd7fqHpef5Hkm9OwEC6NPdtIrbkaAnvk+IOE8Ak6v
0Dx4tR/tBx4dQNNyXgRMGoBvInTL+g==
=vCU5
-----END PGP SIGNATURE-----

--YUOYS7nC2vNRwBU6--


From xen-devel-bounces@lists.xenproject.org Sat Jun 13 18:07:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 18:07:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337475.1598795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYSlQ-0008LO-CC; Sat, 13 Jun 2026 18:07:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337475.1598795; Sat, 13 Jun 2026 18:07: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 1wYSlQ-0008Ko-8m; Sat, 13 Jun 2026 18:07:24 +0000
Received: by outflank-mailman (input) for mailman id 1337475;
 Sat, 13 Jun 2026 17:52:04 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <philmd@oss.qualcomm.com>) id 1wYSWa-0006zS-Q4
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 17:52:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYSWa-00D7c7-63
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 19:52:04 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <philmd@oss.qualcomm.com>)
 id 6a2d9865-bab6-0a2a0a5309dd-0a2a45089978-44
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 19:52:04 +0200
Received: from [205.220.180.131] (helo=mx0b-0031df01.pphosted.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <philmd@oss.qualcomm.com>)
 id 6a2d98c2-63b5-0a2a45080019-cddcb4839fd6-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 19:52:03 +0200
Received: from pps.filterd (m0279873.ppops.net [127.0.0.1])
 by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 65DFBGOd3258734
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 17:52:02 GMT
Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com
 [209.85.222.199])
 by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ery7gsq5m-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 17:52:01 +0000 (GMT)
Received: by mail-qk1-f199.google.com with SMTP id
 af79cd13be357-9158e75cbc0so312379585a.2
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 10:52:01 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2ce361sm16615053f8f.31.2026.06.13.10.51.59
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Sat, 13 Jun 2026 10:52: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=qcppdkim1 header.d=qualcomm.com header.i="@qualcomm.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=google header.d=oss.qualcomm.com header.i="@oss.qualcomm.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
	cc:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
	gZNeOce+dK0KUkcgQ5PeixCUOSWnH6ycUAlOAzLUVQ4=; b=YhSNFuuIe4WGHWUa
	6NcMP8PeVgTiTdrcWlk2frHViUn59WsDvcbFBLFbCP0BoiqcsXTibD6QoJd/rybr
	lmybUl2eceYoXK1doSe1UvVKZU0xPyf++UKSRuTrvPZ8kslcretujWkDgiIH7Gn+
	PnGfHmFzdK79brT/p+7vMtK0RQI9fm4eegJyTJDiKrMuVYWrw7LTA98oaIbxxGVX
	cp/zmNbVWv3t7G+e5oM6cvIjtFzvBzXjwRW8ekwY9CLryCa7PEeTsGAyPuQSYb9I
	Ptt8szG08p/M0sXzLjFlwwZfTgEJ6y+MvhW8dLW7aLc4f+GyllYVCdGOuMG4EdW+
	b8mmVA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=oss.qualcomm.com; s=google; t=1781373121; x=1781977921; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gZNeOce+dK0KUkcgQ5PeixCUOSWnH6ycUAlOAzLUVQ4=;
        b=GdieRbw7f4q78a9rKZH8pfaEUIlGyrhnCBJD22zswxi/LkJ0BaYRH57Bg9/shIslOr
         C9KUiFYFMGIf6B6+Ik5aKyVDO3YrlCkzllCG0JcNr/j28NqrF7BF8MSHlph7PzXGWYl6
         bMOryEUZK22fHqe3opA1RgZQ+cBCbm1jvD7O+pL17+et+31nPQZAIk0GcOVuAoaktx0D
         LAZhEStLk7TrZmLWfu8tFyxDyvOQH1OTPmqtN/WVaPxvjoJkRyF813Q0yxQxtm7dO84A
         FvPO8cCrzI7Ylh8b3CS9keiYRUz+5kohVHr9khbeK86kOna+jN4YsuJ20g0RhC+80qqC
         NYzw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781373121; x=1781977921;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=gZNeOce+dK0KUkcgQ5PeixCUOSWnH6ycUAlOAzLUVQ4=;
        b=dNh6QSTf8ZwoaQHiotmJRD34XJzivlboGBgj0P+U7SAZX6/QFcWzE5N+XXmX8M1LDt
         9jjyx/DFTjoBAM94j12aWisngmizgaC1RSatB3tquEJB6YGQaJF34LG/sHrcQbUTZuwC
         pVyCAGg8e3/+isd38TbqMA8+jlvvPoUCn+T9wwzQMtr53kdwa0WTJQMdfHYAcAmo4u/m
         84O8gLWiMr6yEAW8AGBjEm+ODxScqLPSmjC3wQg+uE5v6d0OVICHnmLX+CixKtlJrHII
         yxxLiUp2pWnOAEaZoybfx1jDu8DLtw9vX/u+d+NMMZ4bUruvUzJ0MuA/dgiECs0AgaSt
         k+rA==
X-Forwarded-Encrypted: i=1; AFNElJ/LnEWRwpcnl44gk8tqHtZyLgyZSIAG6o8ON/7s2ucgcJ0oziEGWbkinv7+Ejj9+Skxrj0DlTw9ArM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YySfU1UtBjDHcpQXA8ctZjsMEiV/3IhfguteR5QHW83otYcmFEO
	QvN26xk5yJL7qo5wfFyNEYpGncvMrmXZ1EW36zP5OJD6jUkQMYhTPUJcwOtfLe/V7rVWt0+Oel8
	abRfEIbNojWgXxoVYAJUorgaSx1TyMKsqB0004EPRaiPB0F2iRbtf07tMO2GWQI42xrqtQA==
X-Gm-Gg: Acq92OFmWWMXwbF0A73GQHaqFkJt6wBdYgPVIHp+1BnUycHgdvwniHblFnWiD38tCow
	OliZVA2wBPFu7UmBy6jmRC+eTAees3hHKCKDKsCsowE+Y4CAz8b18TStI8uCY3vnXAdpRdl/PJ3
	l8FCoIK+Mt38Vcili64OHtzWffH4jBw4adHAvHposKQBKBfVIZwyyK+YS4SznKJNYbf3kjV+bM1
	o8MincrH520KTK6pKn3PLZRrBEzDYLwnidef3vYI7axSTl4nYq4aVyzoHUhG/kgesYwszRS7YIY
	kBGd5r+92dmcQOlSYjzFMkVwa8Jqe7xcqHHwxYWtOmreyQ/2XcphMQ+ZuvTxM5EowSlcwrrm6aE
	Y2NNT3BKc6j4sp1mbw/RfmopHWDAS4/0a0kZVhizcx+9gL/vduxFY7rJiHvbtWWhwysnk7LP/aO
	J0AwePtWhO
X-Received: by 2002:a05:620a:46a4:b0:915:5ce5:d3ce with SMTP id af79cd13be357-9161b94df24mr1173534885a.0.1781373121190;
        Sat, 13 Jun 2026 10:52:01 -0700 (PDT)
X-Received: by 2002:a05:620a:46a4:b0:915:5ce5:d3ce with SMTP id af79cd13be357-9161b94df24mr1173532085a.0.1781373120808;
        Sat, 13 Jun 2026 10:52:00 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@oss.qualcomm.com>
To: qemu-devel@nongnu.org
Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
        xen-devel@lists.xenproject.org,
        =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
        Anthony PERARD <anthony@xenproject.org>,
        Paolo Bonzini <pbonzini@redhat.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@oss.qualcomm.com>
Subject: [PATCH 1/2] hw/xen/interface: Remove pre-C99 checks
Date: Sat, 13 Jun 2026 19:51:50 +0200
Message-ID: <20260613175151.1357-2-philmd@oss.qualcomm.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260613175151.1357-1-philmd@oss.qualcomm.com>
References: <20260613175151.1357-1-philmd@oss.qualcomm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Proofpoint-Spam-Info: AW1haW4tMjYwNjEzMDE4NiBTYWx0ZWRfXx8ItPjJZnabI
 mKQ3+ymhQDKtGvtNgg++3l6wzR2Ykyy/gRNlI0h4YbbTtC7eoSdEf6Vscdlmq99GhpypDKgMoxE
 6C6FgDxzciEUUiQiEa5sp1IfCfvb0Jw=
X-Authority-Analysis: v=2.4 cv=fLYJG5ae c=1 sm=1 tr=0 ts=6a2d98c1 cx=c_pps
 a=HLyN3IcIa5EE8TELMZ618Q==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17
 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22
 a=EUspDBNiAAAA:8 a=vkG9KRslzty0At4LJNIA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10
 a=bTQJ7kPSJx9SKPbeHEYW:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjEzMDE4NiBTYWx0ZWRfXypt5mFJmjhlO
 spOfFP3LO9W3Whq40ed//TAjR73R6qbv3OdEYojTfUzVuAZTOlGQz5spC7wMc6Pwlq0p0UV7wfT
 QAC43STWSVJQ/lL8d/nDcDdR1p5Oix3FpUW/QhihKeyvpNVDmsRclzjOTx3fWwP8bdKqz0Dt5AK
 TIMv2WdViyfCmPQx7bV0uDcRJHzmFW3/GLAm+JFRb3lIO+O5i4lGmejGRiH3cdTM7m1lYblVZ+C
 ceNiIKGJr+C1/RlhN3JAcdUie+scAZMhkGZhmW1DY6rHYOE175Dc8+I80v5cB5wG14M+YUbCEDl
 PCkB7Cy/sfnNdN9ahzgIPkIjFUlSo7BsUUquXsUX/wUeDpyiez4fG98sw6/XLhnHUWLmqeALOCE
 xunnsfcx3OCijRCuovH8bBicUtGN8stoPmKixFSv2jc/yDJJhlwowYlt0ti9uQeP9Nrt2XCRpQ9
 82NqluvsZ5m1CuunShA==
X-Proofpoint-GUID: cgtWdZ8x-NFDEffJmQR6G6waAgqmeORK
X-Proofpoint-ORIG-GUID: cgtWdZ8x-NFDEffJmQR6G6waAgqmeORK
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-13_03,2026-06-12_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
 adultscore=0 bulkscore=0 suspectscore=0 priorityscore=1501 clxscore=1015
 malwarescore=0 impostorscore=0 phishscore=0 lowpriorityscore=0 spamscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2606040000 definitions=main-2606130186
X-purgate-ID: tlsNG-c1860d/1781373124-C5784DB1-EB530CE6/0/0
X-purgate-type: clean
X-purgate-size: 3619

We mandate a compiler supporting C99 since 2019-01-17 in
commit 7be41675f7c ("configure: Force the C standard to gnu99"),
thus supporting flexible array members. Remove what is now dead
code.

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@oss.qualcomm.com>
---
 include/hw/xen/interface/physdev.h    |  2 +-
 include/hw/xen/interface/version.h    |  5 ++---
 include/hw/xen/interface/xen-compat.h |  2 --
 include/hw/xen/interface/xen.h        | 14 --------------
 4 files changed, 3 insertions(+), 20 deletions(-)

diff --git a/include/hw/xen/interface/physdev.h b/include/hw/xen/interface/physdev.h
index f0c0d4727c0..8da03b685ad 100644
--- a/include/hw/xen/interface/physdev.h
+++ b/include/hw/xen/interface/physdev.h
@@ -283,7 +283,7 @@ struct physdev_pci_device_add {
      * First element ([0]) is PXM domain associated with the device (if
      * XEN_PCI_DEV_PXM is set)
      */
-    uint32_t optarr[XEN_FLEX_ARRAY_DIM];
+    uint32_t optarr[0];
 };
 typedef struct physdev_pci_device_add physdev_pci_device_add_t;
 DEFINE_XEN_GUEST_HANDLE(physdev_pci_device_add_t);
diff --git a/include/hw/xen/interface/version.h b/include/hw/xen/interface/version.h
index 9c78b4f3b6a..41ff28c7ee5 100644
--- a/include/hw/xen/interface/version.h
+++ b/include/hw/xen/interface/version.h
@@ -77,9 +77,8 @@ typedef char xen_commandline_t[1024];
  */
 #define XENVER_build_id 10
 struct xen_build_id {
-        uint32_t        len; /* IN: size of buf[]. */
-        unsigned char   buf[XEN_FLEX_ARRAY_DIM];
-                             /* OUT: Variable length buffer with build_id. */
+        uint32_t        len;    /* IN: size of buf[]. */
+        unsigned char   buf[0]; /* OUT: Variable length buffer with build_id. */
 };
 typedef struct xen_build_id xen_build_id_t;
 
diff --git a/include/hw/xen/interface/xen-compat.h b/include/hw/xen/interface/xen-compat.h
index 97fe6984989..582c0182367 100644
--- a/include/hw/xen/interface/xen-compat.h
+++ b/include/hw/xen/interface/xen-compat.h
@@ -24,6 +24,4 @@
 #error "These header files do not support the requested interface version."
 #endif
 
-#define COMPAT_FLEX_ARRAY_DIM XEN_FLEX_ARRAY_DIM
-
 #endif /* __XEN_PUBLIC_XEN_COMPAT_H__ */
diff --git a/include/hw/xen/interface/xen.h b/include/hw/xen/interface/xen.h
index 920567e0062..a6f4aa61993 100644
--- a/include/hw/xen/interface/xen.h
+++ b/include/hw/xen/interface/xen.h
@@ -36,15 +36,6 @@ DEFINE_XEN_GUEST_HANDLE(uint64_t);
 DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
 DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
 
-/* Define a variable length array (depends on compiler). */
-#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-#define XEN_FLEX_ARRAY_DIM
-#elif defined(__GNUC__)
-#define XEN_FLEX_ARRAY_DIM  0
-#else
-#define XEN_FLEX_ARRAY_DIM  1 /* variable size */
-#endif
-
 /* Turn a plain number into a C unsigned (long (long)) constant. */
 #define __xen_mk_uint(x)  x ## U
 #define __xen_mk_ulong(x) x ## UL
@@ -986,13 +977,8 @@ typedef struct {
       ((d) >>  8) & 0xFF, ((d) >>  0) & 0xFF,                           \
                 e1, e2, e3, e4, e5, e6}}
 
-#if defined(__STDC_VERSION__) ? __STDC_VERSION__ >= 199901L : defined(__GNUC__)
 #define XEN_DEFINE_UUID(a, b, c, d, e1, e2, e3, e4, e5, e6)             \
     ((xen_uuid_t)XEN_DEFINE_UUID_(a, b, c, d, e1, e2, e3, e4, e5, e6))
-#else
-#define XEN_DEFINE_UUID(a, b, c, d, e1, e2, e3, e4, e5, e6)             \
-    XEN_DEFINE_UUID_(a, b, c, d, e1, e2, e3, e4, e5, e6)
-#endif /* __STDC_VERSION__ / __GNUC__ */
 
 #endif /* !__ASSEMBLY__ */
 
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Sat Jun 13 18:07:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 18:07:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337477.1598803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYSlQ-0008Qx-O0; Sat, 13 Jun 2026 18:07:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337477.1598803; Sat, 13 Jun 2026 18:07: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 1wYSlQ-0008OT-G0; Sat, 13 Jun 2026 18:07:24 +0000
Received: by outflank-mailman (input) for mailman id 1337477;
 Sat, 13 Jun 2026 17:52:12 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <philmd@oss.qualcomm.com>) id 1wYSWi-000706-8O
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 17:52:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYSWh-00D7c7-LQ
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 19:52:11 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <philmd@oss.qualcomm.com>)
 id 6a2d9865-bab6-0a2a0a5309dd-0a2a45089978-46
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 19:52:11 +0200
Received: from [205.220.180.131] (helo=mx0b-0031df01.pphosted.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <philmd@oss.qualcomm.com>)
 id 6a2d98ca-63b5-0a2a45080019-cddcb483c258-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 19:52:11 +0200
Received: from pps.filterd (m0279872.ppops.net [127.0.0.1])
 by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 65DHodth3465308
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 17:52:10 GMT
Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com
 [209.85.222.199])
 by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4eryk69pcb-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 17:52:09 +0000 (GMT)
Received: by mail-qk1-f199.google.com with SMTP id
 af79cd13be357-9158e75cbc0so312389085a.2
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 10:52:09 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2cd6c2sm17546743f8f.30.2026.06.13.10.52.06
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Sat, 13 Jun 2026 10:52: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=qcppdkim1 header.d=qualcomm.com header.i="@qualcomm.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=google header.d=oss.qualcomm.com header.i="@oss.qualcomm.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
	cc:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
	RJX4gaIJ647Q/seQvGYx5bjkcSPLY7cILaScJOCZLnM=; b=SCt2ChaiM2dHUs+c
	ZO7j3HLVhdtPpUFlMD3JN0/q0bba6a3C9FjAzUilu4IoG8v5GZ1EDGfpI9TveAbl
	EBk+3cd/xyzUGLHdBrdrWPgBcRvFbMY3QQKB3modneVMDmZf167na6UTQvyky4uH
	C+CBRNVdI8H3j9dTo5x28YRIsxe3UQJFnr8y5MN9hs5oq4k2ddG2K7H1aOJOYi96
	iQLX/dKTOU/luGzqzlXq5Zyu6CyCf6BFpJY0vJr4vOi6NSgiIx2RI/dBO4oGkU4W
	gXLkGv75tp3a699I6NZRd4Ftf5BVQq/nVGXQQaOHYixGViJCjq+/9cBEFq7u+CD5
	pL3LFw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=oss.qualcomm.com; s=google; t=1781373129; x=1781977929; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=RJX4gaIJ647Q/seQvGYx5bjkcSPLY7cILaScJOCZLnM=;
        b=EPNaAXqBS+a6mTk8LUmyZ+5DeOcEKpqdv2Q8mdjqBDLwNUG0Mrdzkfd46yy+Plb7b/
         JTDQeJUJ0I1wQgAP4syn8CtwQvg/xJL/tizJTTsmki6UTeC4vDHqZTi4hvBqBWrDpUEV
         DaeXJLNiCTWFpy6nfqyqqCHKRU2byzz8cBk2fIDQC4vSZHgDJ/nqz/6chuOyjNRjHYNA
         26UT+nrD1TWtWg2E5Kxw9V7BjvpxKc38ZgbUBZXdspOKkkir0T+M+2Z9XIsueOQyomUU
         ZoqI0EnzCGQQ/JnENRf0HEQ7Meelt4xPHSm/onwa/is1SINB6/G/yfwNPCEaaIwmEzaD
         qHyQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781373129; x=1781977929;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=RJX4gaIJ647Q/seQvGYx5bjkcSPLY7cILaScJOCZLnM=;
        b=VKBfpEvzq1E2LHKCut9i32K138eLoDRhy9hVATng12OBN+MrJj4cU+Qdp0yoZAvOcp
         OM0jk7rsEZkdH23OWGt1cftq8uZCVSEkMfNkb8sdzOTcHewWn+K4H8DJfcJ26oBMm/h/
         zSYTrofVirFiANByt0Huk/03aSOFFU7orJBBYTAMg8X3+UnFcdSIPsKgMoSTknaSXL1U
         SWiD60lhduBSnNmJg2MIPyRwwNyz7DMfSsFRNchYEqipraNqantgGEmyBWWaxwKE1SfL
         nFTsVy03NfbhurHvN5ARmG9sCs12lqnV0D7GQTOcaDFhRvKawwylhuV/51uV1DLuMqpA
         R85Q==
X-Forwarded-Encrypted: i=1; AFNElJ9KgtJYdRMoU41M9XtcD11hkqqK1MPq/6l6dhfAp6VwNtAOxacw65Odg/87G2Bqr7SdpyBJs/m0pzY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzeUH0OxWD4NmEN2fbKhU6eVxq9PvlDtyAXzKdZWfkIV+Q2vdZY
	CzVPZ5Awu7NCo7AceNwb8rYJeiOvMF7aQZD7PuoHNeaQyjniqY0X1sScViIFRrWC1wGo2hzSAba
	gF9BuCRYbJiVTNNWLKe3AKhDTI0/NbO4WiO/rIsjV1a87wXA4lk3xlrbXKr1ldpbZsrVDpQ==
X-Gm-Gg: Acq92OGXcUj8k/Lsme7Bu5Uxkjrrle3WfOigjzXqKAot1WPdOn54vd7IHcbIB/7Cejv
	lh9XKcZ+i9yGUF7lnoZpqYltjCvGZY4pk1SACGL+GTbeeWhT86+W0VeTmRETLyllrVgMQkEYEbP
	Rlkp5ptk3LUfjYXSFpIhhqywYhe0FOzVvBxUbsz2Dq1tk1GOfcPilL/0cIzRxAqvl0H6sT85fee
	y3S2B/w22srMYsNvRqXJ8axMv6aZHGQsBQQg/2PBTCLC2i/TSTv2jpgFSgN3M11RlbTpa1gf71l
	1bzpHUCOIma2iy7Snvm7e5/yQoH8Lc1wzCMtrONOBPXpyc9oCMZ/MbMUECOXojh6hkxCsBDd7c4
	0G2oNWlJm8raFl8OxdZUIctne/BgIsU5+gIrWp54/Jap8TbsLXqn6mCU/gb3hHa/4YNgyRaAb/k
	H1h/UKzQFS
X-Received: by 2002:a05:620a:2406:10b0:915:7e22:6f1f with SMTP id af79cd13be357-9161bc23806mr879617185a.22.1781373129205;
        Sat, 13 Jun 2026 10:52:09 -0700 (PDT)
X-Received: by 2002:a05:620a:2406:10b0:915:7e22:6f1f with SMTP id af79cd13be357-9161bc23806mr879615485a.22.1781373128770;
        Sat, 13 Jun 2026 10:52:08 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@oss.qualcomm.com>
To: qemu-devel@nongnu.org
Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
        xen-devel@lists.xenproject.org,
        =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
        Anthony PERARD <anthony@xenproject.org>,
        Paolo Bonzini <pbonzini@redhat.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@oss.qualcomm.com>
Subject: [PATCH 2/2] qom/object: Remove pre-C11 check
Date: Sat, 13 Jun 2026 19:51:51 +0200
Message-ID: <20260613175151.1357-3-philmd@oss.qualcomm.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260613175151.1357-1-philmd@oss.qualcomm.com>
References: <20260613175151.1357-1-philmd@oss.qualcomm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Proofpoint-Spam-Info: AW1haW4tMjYwNjEzMDE4NiBTYWx0ZWRfX0n2g/o6hq+OT
 nRG09ctaVzWtnRMUF4qy5RqAMkJgaNxUSbSWkIaVpX5SinDS7mERNQ9T1Dje7iSomSXlhEte11x
 3t98MhXpyY3G2LSAxYgfJIWO+3IRmaE=
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjEzMDE4NiBTYWx0ZWRfX+o/ZfaiqJ7TP
 CPfaL4gkT2gXGJaW9+Qz3Gp2TtzoGtA8d2cQHluc4b/vng0bwzESV/oPpzbnkXqke6gVqGalhyB
 82DhHtii2Xo0ZUYgu1Dbx0OnXAYR7n4sNpEuXvs7mCeMOguxNHvkL/1RmgDwDN9+cyMMXAGWTN6
 mElTOcHi6QBzfsHNPB65xbnWdzKGFAqyi2tmcfq6uXEkYVzXtO5gyCyasoBp8gI4i6XTIsEwlLv
 iwyHJ6UmcLM4bltG6tLMtkgEGkLI7D5v4VimqAIqInoLRFAbIS4ivs9EE5/sqk1pDzLC9JJcRU0
 F8+Waw+DZhFihWJk5Jw/Um4gSi2BmJaNBj2c7WMpeqm8Q2agGz2QZzqqsv23rmx9far2Ws4pLWF
 yiR4WM+GtPuhKt96amV/l1IHQuMgOAN/z/sepLob7N7BEqDrmQ4S6SbJu3QktB0JfKp1xrF/y7/
 aADlbbNaXFhj1ZbIWXQ==
X-Authority-Analysis: v=2.4 cv=NrThtcdJ c=1 sm=1 tr=0 ts=6a2d98c9 cx=c_pps
 a=HLyN3IcIa5EE8TELMZ618Q==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17
 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22
 a=EUspDBNiAAAA:8 a=1Y-dVNoqs5V1GzGJ_nYA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10
 a=bTQJ7kPSJx9SKPbeHEYW:22
X-Proofpoint-GUID: ATV4eOXpD8K3nS_f_faI9Nybz_ygoro2
X-Proofpoint-ORIG-GUID: ATV4eOXpD8K3nS_f_faI9Nybz_ygoro2
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-13_03,2026-06-12_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
 lowpriorityscore=0 spamscore=0 bulkscore=0 suspectscore=0 impostorscore=0
 clxscore=1015 priorityscore=1501 phishscore=0 adultscore=0 malwarescore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2606040000 definitions=main-2606130186
X-purgate-ID: tlsNG-c1860d/1781373131-C4A7ADB1-025442B8/0/0
X-purgate-type: clean
X-purgate-size: 1303

We mandate a compiler supporting C11 since 2021-06-15 in
commit d22797ce36a ("configure: Use -std=gnu11"), thus the
max_align_t type definition exists. Remove what is now dead
code.

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@oss.qualcomm.com>
---
 qom/object.c | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)

diff --git a/qom/object.c b/qom/object.c
index 0ac201de4c1..f79b2cf3618 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -675,18 +675,6 @@ static void object_finalize(void *data)
     }
 }
 
-/* Find the minimum alignment guaranteed by the system malloc. */
-#if __STDC_VERSION__ >= 201112L
-typedef max_align_t qemu_max_align_t;
-#else
-typedef union {
-    long l;
-    void *p;
-    double d;
-    long double ld;
-} qemu_max_align_t;
-#endif
-
 static Object *object_new_with_type(Type type)
 {
     Object *obj;
@@ -703,7 +691,7 @@ static Object *object_new_with_type(Type type)
      * Do not use qemu_memalign unless required.  Depending on the
      * implementation, extra alignment implies extra overhead.
      */
-    if (likely(align <= __alignof__(qemu_max_align_t))) {
+    if (likely(align <= __alignof__(max_align_t))) {
         obj = g_malloc(size);
         obj_free = g_free;
     } else {
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Sat Jun 13 18:07:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 18:07:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337473.1598792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYSlQ-0008K4-6o; Sat, 13 Jun 2026 18:07:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337473.1598792; Sat, 13 Jun 2026 18:07: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 1wYSlQ-0008Jw-1m; Sat, 13 Jun 2026 18:07:24 +0000
Received: by outflank-mailman (input) for mailman id 1337473;
 Sat, 13 Jun 2026 17:51:58 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <philmd@oss.qualcomm.com>) id 1wYSWU-0006yw-MW
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 17:51:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYSWT-00D7c7-Am
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 19:51:57 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <philmd@oss.qualcomm.com>)
 id 6a2d98bc-bab6-0a2a0a5309dd-0a2a45058dac-0
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 19:51:56 +0200
Received: from [205.220.180.131] (helo=mx0b-0031df01.pphosted.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <philmd@oss.qualcomm.com>)
 id 6a2d98bb-aaa8-0a2a45050019-cddcb4838124-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 19:51:56 +0200
Received: from pps.filterd (m0279872.ppops.net [127.0.0.1])
 by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 65DHodtf3465308
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 17:51:54 GMT
Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com
 [209.85.222.199])
 by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4eryk69pbr-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 17:51:54 +0000 (GMT)
Received: by mail-qk1-f199.google.com with SMTP id
 af79cd13be357-918622c3c7bso151353985a.3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 10:51:54 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f26f23fsm17139643f8f.9.2026.06.13.10.51.52
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Sat, 13 Jun 2026 10:51:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=qcppdkim1 header.d=qualcomm.com header.i="@qualcomm.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:Message-ID:MIME-Version:Subject:To"; dkim=pass header.s=google header.d=oss.qualcomm.com header.i="@oss.qualcomm.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
	cc:content-transfer-encoding:content-type:date:from:message-id
	:mime-version:subject:to; s=qcppdkim1; bh=DPZ8Rdj/aNualg/exgRx39
	JnRnR+j66FFS+dq4fFEgY=; b=HrainCtgQDotbWTnLbxw/OEs4lNg+HjU/RyTZn
	fDpGddX+yAoYJa8iEWkcgLq7ErpnpDMuRRE5nwMKNkUGW+IvFlEYEVm3n7nBe/NK
	fHud4j8NiQst/O4defc6sDeqz1wrr+QTK8ELEPoR0LtfqjoNi6kkQ9zG/A0WUOGa
	4DRUnQEWrQmGQZ8PvOeagn7Qhf1lIY1TfCO2KT88FTwghDkGwUU92Cbg56LVEdTW
	3DjXN5Z1H0yozAc9tGbimSkbdaSoy+3zpN/afD0HRPo+dZ/qAD3d7OBuc27SNQQz
	HtB8Y2QVfGFb85wHwd98B8lLHpFwGwaXURAIvm3UbCiUcFRg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=oss.qualcomm.com; s=google; t=1781373114; x=1781977914; 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=DPZ8Rdj/aNualg/exgRx39JnRnR+j66FFS+dq4fFEgY=;
        b=EVR16Ci6TbHQW3c/FxGQn+EAVX9/wDQnI68WzkHHxQBTJkOozBNuHX0brD3XZ+DCjq
         bRQ1op8rdjXWIqpA/uO4zSG1z3VOA+UaLr/8ApJTM1n4Wyi6CvUIwPYLTVKHcOdqSbHG
         0anEQmELM9+e2JimFm6Jm4+LuhXB1NE2QgUrnmLLjgJIbyeZndCMezpIxanPZMJVrRE3
         e0nJdujC7kLAXVf1ZPhKH/pNjxa97bvbUFpLTbSZtkrgrWVnnqXGBMalWUcSg05EEzXT
         FxKwe9nNzzkJFH+QZLCcbYJkeP0mTdRs1VxxAG0IV+HcMFJLWsYZaQI+aFTWDCpB/4eI
         W96w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781373114; x=1781977914;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DPZ8Rdj/aNualg/exgRx39JnRnR+j66FFS+dq4fFEgY=;
        b=cn1TlZH2kelNmQNylp/C44AqhsPtuJI9vXf2D15u2WgYDl20lLic23I6bmwLXWFJss
         g60ZeF0YRFjh4kih1NTukWnrBv1F/ELYl44D/yAf7OISqn2v527i13/ynW9NnTIOKLaz
         804RgfJLJECIl1enzV0LbQSee8J7pZKQ3F7M8UmWSB7q9RsLVsOEhPHIgDeI/rgML3p9
         +Zn8g6aoQc7+UOmSKiKefIKpdp+4GCe8bnSSEdPy1eF91Sh70V+B82qMXTD7jvi9Xc9K
         IrKalwNAa2xOmoKAaWR1n6gVBDjq+7eaLj9K46A+2m8TDB9V4fD5YNc1CL0gsK2iZ1xR
         oQ5A==
X-Forwarded-Encrypted: i=1; AFNElJ9JX3544ZkjsVOKZuy6vDK317CrAewjXYAjCyTvojLxH/hiz2tSAQZD7BaXiCgpVjXeSOnKhLSgk6I=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx4Q7Yf8t6KSnoyBd+qjORBCMJEgScNd3GC15LnVw1fXxcveHcd
	urX6kRZAqdpQ5nFihFUFhL/f+YFE2ChSKsAJXn4B1P2+6EIMKDu3s2LkUpDJxoydccZ1o1RwAQb
	PKC3QHzrKhM1O1DGwuVcwfy2uhY+GDWxkbrSobFYB9SuHbbDYbwJ/A43tQIvUweWP0JOwfg==
X-Gm-Gg: Acq92OH/r2wh11w1A/jpQzCE3er3hNy+BCoj21cO7cUNjetQ2IvTsrVb+Z04SFfE1uf
	pdf5awJvA1IfZI7jATv6fBdVyc/CIKVORgNJZ1EeabdTEQZXDXKjiDMYnRkGMap0Ox32os8X+qU
	bP/cUQpNv5379ifozRRzNqpYjGt9UXAPX8iyqbwRfBERhL/uNoORHYKbLqjxKfY1u1XhWVl746o
	7oBypIcOmRnyAY/Jaw9du3Q/vJzM9N34azg2aFsJ/qdI4bimV1z760B0Lyhj6gaBP6PLoCT96Ew
	iJ38B1tcKJeSy9D8ow3xI2hsnY17aeDHr1vhwl3WQ0JSov7ElJJ9nSCyOVYKJ84zHq0Le2wWZ7i
	aVgedvoG2VEPcIxR3FHkducUbNKoluZDds9R+WIFiGK2bfHNnTnWvB1Vp3/rLyF3Z2yUjRM5kt0
	D7/qR1qdpV
X-Received: by 2002:a05:620a:31a1:b0:914:d348:fd63 with SMTP id af79cd13be357-917f1865d50mr751744385a.50.1781373113994;
        Sat, 13 Jun 2026 10:51:53 -0700 (PDT)
X-Received: by 2002:a05:620a:31a1:b0:914:d348:fd63 with SMTP id af79cd13be357-917f1865d50mr751741085a.50.1781373113537;
        Sat, 13 Jun 2026 10:51:53 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@oss.qualcomm.com>
To: qemu-devel@nongnu.org
Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
        xen-devel@lists.xenproject.org,
        =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
        Anthony PERARD <anthony@xenproject.org>,
        Paolo Bonzini <pbonzini@redhat.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@oss.qualcomm.com>
Subject: [PATCH 0/2] misc: Remove pre-C99/C11 checks
Date: Sat, 13 Jun 2026 19:51:49 +0200
Message-ID: <20260613175151.1357-1-philmd@oss.qualcomm.com>
X-Mailer: git-send-email 2.53.0
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
X-Proofpoint-Spam-Info: AW1haW4tMjYwNjEzMDE4NiBTYWx0ZWRfX5pgA7XqHJJHj
 ubRgTbVqr6Enuob20ya70YcrF0rop6U0e6f2O0dKHFwCh1JoXPQvCFr/6kRohWJ0OaVjKqszxn4
 ugrtYdR1F9FFvj/pEY5zrlrpVkbli0U=
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjEzMDE4NiBTYWx0ZWRfX37AJ77pt2oM+
 YSFd/9lYKPYUT7Z/FHjUZyqn8SuXfMp/7sQrWkJRtnqZqE7pFAhRN5vGU1OrGbLtzZ88EkcDuTx
 O0WfxJ4CYMlkqGAz3L/zxt2JUb7VFYLOXOPupHunIJnipR8Rvp9ikNUOhXLJaudb3qS63wDo+5R
 8WRs0NyasXieAGHHy8CeBhVRrrVybn/BbdTZ2uTRZYh6xY/Sa+FhvwIHqTdKAlFHIhdUB7/WjeN
 MrlCH7yBSFeCK1Q6G1wUJBQxs0CRHGQ2pbUUYf0oYdC3bNr2WLZgKlVcCgl0FqvXZ48bws2Y3wt
 yWzdicc6dyKyqZ9Z4s/PSz1FSad1MuCcInq81RVC0vz4YJTPGrraYOITi8Db+S8vbRMio90h4P5
 Pj1OazEeCmP7iHXLLiaFkRrAcWA8+b7ugBtimsEJ6atHlKivQNT7fwbEz0+qzDeohmQYpvDNba7
 oEi0SOojQ0DmlyGBXPw==
X-Authority-Analysis: v=2.4 cv=NrThtcdJ c=1 sm=1 tr=0 ts=6a2d98ba cx=c_pps
 a=HLyN3IcIa5EE8TELMZ618Q==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17
 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22
 a=2Kr2Ceio6qlyrOmMFMIA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10
 a=bTQJ7kPSJx9SKPbeHEYW:22
X-Proofpoint-GUID: H7ansbH3wLjN_lftXDXOu5IxK3Co4E24
X-Proofpoint-ORIG-GUID: H7ansbH3wLjN_lftXDXOu5IxK3Co4E24
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-13_03,2026-06-12_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
 lowpriorityscore=0 spamscore=0 bulkscore=0 suspectscore=0 impostorscore=0
 clxscore=1011 priorityscore=1501 phishscore=0 adultscore=0 malwarescore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2606040000 definitions=main-2606130186
X-purgate-ID: tlsNG-c201ff/1781373116-E1798443-330903A1/0/0
X-purgate-type: clean
X-purgate-size: 535

We uses C11 since 5 years now, time to
remove few obsolete __STDC_VERSION__ checks.

Philippe Mathieu-DaudÃ© (2):
  hw/xen/interface: Remove pre-C99 checks
  qom/object: Remove pre-C11 check

 include/hw/xen/interface/physdev.h    |  2 +-
 include/hw/xen/interface/version.h    |  5 ++---
 include/hw/xen/interface/xen-compat.h |  2 --
 include/hw/xen/interface/xen.h        | 14 --------------
 qom/object.c                          | 14 +-------------
 5 files changed, 4 insertions(+), 33 deletions(-)

-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Sat Jun 13 21:48:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 21:48:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337552.1598823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYWD7-0001F4-Hl; Sat, 13 Jun 2026 21:48:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337552.1598823; Sat, 13 Jun 2026 21:48: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 1wYWD7-0001Eb-DH; Sat, 13 Jun 2026 21:48:13 +0000
Received: by outflank-mailman (input) for mailman id 1337552;
 Sat, 13 Jun 2026 21:48:11 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wYWD5-0001Ba-QO
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 21:48:11 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYWD3-006VOz-8p
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 23:48:09 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dcf85-e002-0a2a0a5209dd-0a2a4501d5c0-18
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:09 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd019-c1f2-0a2a45010019-d1558035d05e-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:09 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-4903d730b1fso26447375e9.2
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 14:48:09 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492202edf89sm113877065e9.1.2026.06.13.14.48.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 13 Jun 2026 14:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781387289; x=1781992089; 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=4cqOETzxwCMJLbXds+6uZKS1zVUwkXxLb61iy8LmQhI=;
        b=NHkOtJk5LgEPc0c4YgZ3Cd1ooMZ0esPtOeic6kUmpT9aTe16oiRkOnlYib4g1Q/PJn
         PE17lvlYxpB7h2gYwtAYXqzYhJME/Z3QOTS0hAe56wZiJ3dRU0t4r+wd2uMwyWTVRd3V
         869jk25nbJJV/RvNXxkp5o1YlYzzvf7TdeavKKiF83VMxmnSzlvez37fGRxWvinNlXYi
         QSKCjL4reGvjagXykR4imY4K1gy5IWEH+juay1Hd1iP6XBFKDQ3IPMaGyL1YMGnx2fd5
         z6ego9Fl1YpuDvIJyUhvW3ssuxMCHcQ5j9wqa0MQJsXSM9VFAW2U95e1TXiHgkUZU+ej
         dYSQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781387289; x=1781992089;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4cqOETzxwCMJLbXds+6uZKS1zVUwkXxLb61iy8LmQhI=;
        b=g7uHx6ApItIEgKMpQweaLr+dIJ+5FfNY5nCilftRyMkIR4VpbHgDluvf+97sELnb7D
         6bEiOghsfwEaIgMxG+0BbhIB6g48jqLZD7GszKCsAyNfCRwcESe6PrvxRXE4JaARFOrf
         nb4M/BopV5fdRGDOepVbhFGakHaCBJxaRA1ennYGnZ44qjo7CqXZx3ZT0qaeoFvHvzhe
         zBIkYcrIvRg/0BqJoGmzzenK48EtjxGhMCcjFzeQFDHEYzt3LGaayekDLrQi8P/rg7wR
         nA4HFM5GTL6Hneym4OT6nr2C9dvQSxitzWDGTfXB7R+j8z0gcqV26HNMFmt4PZP8qdtT
         3BcA==
X-Gm-Message-State: AOJu0YwxUbDP28+xY7vpBsyn7g1xMwDRjJm0uPYgivEKTP7LGyNZ7Uze
	frdEYanObiyAu50NvIpiODnPCkAEKaHkhU/xa5RL3Q04X3btX8BE/fk4JKr6cpfFHYw=
X-Gm-Gg: Acq92OF6oM5z1QjHuYOXgvgISiuuUu0kFT0tzH/ngLzjxLZ1KMnvhy5U2clBY6cQagU
	uhxUgo2cjDdsSl800I3pPBMEMS5YWbImrUfCzUm2YWzcqM+BAzmAekVDVJjxMYa3CTfPFKGSPFc
	SFu8a2E93W4qzry+ExnJI5Y54Jrp7x8pbqndD1pErEk+pjzhGFN0FqmAGCmu+dt62obTLe2XUdC
	6kWCdbGBy75P/MBmcsJp6ps3+/3ukEkcBHwwYWM411quDS9UMSarhQOqSNI6f9Aw70acAVesOSD
	0omUqMeX/GeWZpKmW1d6lT41N9/iim3iQrxhk4U/qAVs0NHDOTV2j86Dbuk1cX1DHBlmSqwHyal
	381kLcWXg17yJZ5HMPq5E6el58ol1iV6p38pF/UklOeO1hCAThzklSGmyQYcReH/KX3TVAt4GYW
	F3ZgoOJ8AIJOY6XPp6bQi0a2xky31Mmo4WIUvjgsdkienwMjcYYZioVryRAIgH3jPZ3XcFspCuv
	b+KD0Dp8u084kPAcfAml7lO/jaE0TfG7oA8
X-Received: by 2002:a05:600c:154b:b0:490:d38c:7836 with SMTP id 5b1f17b1804b1-4922005e579mr60566755e9.3.1781387288402;
        Sat, 13 Jun 2026 14:48:08 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v5 00/16] xenguest optimisations
Date: Sat, 13 Jun 2026 22:47:33 +0100
Message-ID: <20260613214749.20620-1-frediano.ziglio@cloud.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-purgate-ID: tlsNG-d62444/1781387289-AD9A9FF4-8A667328/0/0
X-purgate-type: clean
X-purgate-size: 2371

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Reduce some number of parts passed to writev.
Avoid possible allocation sending data with writev.
Reduce number of allocations sending memory state.

Implement and use new Xen and Linux kernel ABI to copy foreign memory.
This new ABI allows to replace theexpensive  map/copy/unmap sequence
with a single call.

Changes since v1:
- add commit to cache up to 4 pages in hypercall;
- add other 2 commits reducing chunks passed to write/writev.

Changes since v2:
- update patches commit prefixes;
- add other 2 optisations.

Changes since v3:
- address some comments;
- add patches for foreign copy optimisation.

Changes since v4:
- added Reviewed-by;
- improved commit messages;
- other minor fixes, see individual commits.

Edwin TÃ¶rÃ¶k (3):
  libs/guest: allocate various migration arrays just once
  libs/call: cache up to 4 pages in hypercall bounce buffers
  PoC: libs/guest: use foreign copy during migration

Frediano Ziglio (12):
  libs/guest: Reduce number of parts in write_split_record
  libs/guest: Reduce number of I/O vectors in write_batch
  libs/guest: Reduce number of I/O vectors in write_batch
  libs/guest: Use a single write_exact in write_headers
  libs/guest: avoids using 2 indexes
  libs/guest: fill directly iov structure
  libs/ctrl: Allows writev_exact to change iov array
  libs/guest: add xg_foreignmemory_copy_{from,to}
  xen: implement new foreign copy hypercall
  privcmd: Add definition for new Linux privcmd to access new Xen
    hypercall
  libs/guest: use new hypercall if available
  libs/guest: finalize PoC

 tools/include/xen-sys/Linux/privcmd.h |  10 ++
 tools/libs/call/buffer.c              |  28 ++--
 tools/libs/call/core.c                |   3 +-
 tools/libs/call/private.h             |   8 +-
 tools/libs/ctrl/xc_private.c          |  26 +--
 tools/libs/ctrl/xc_private.h          |   2 +-
 tools/libs/guest/xg_sr_common.c       |  95 ++++++++++-
 tools/libs/guest/xg_sr_common.h       |  21 +++
 tools/libs/guest/xg_sr_restore.c      | 100 ++++++------
 tools/libs/guest/xg_sr_save.c         | 224 +++++++++++---------------
 xen/common/memory.c                   | 134 +++++++++++++++
 xen/include/public/memory.h           |  40 ++++-
 13 files changed, 474 insertions(+), 219 deletions(-)

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Sat Jun 13 21:48:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 21:48:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337558.1598879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYWDB-0002VN-B1; Sat, 13 Jun 2026 21:48:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337558.1598879; Sat, 13 Jun 2026 21: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 1wYWDB-0002V3-2r; Sat, 13 Jun 2026 21:48:17 +0000
Received: by outflank-mailman (input) for mailman id 1337558;
 Sat, 13 Jun 2026 21:48:16 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wYWDA-0002Fc-06
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 21:48:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYWD9-008PGn-DM
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 23:48:15 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd008-5cb7-0a2a0a5109dd-0a2a4503cafc-10
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:15 +0200
Received: from [209.85.128.47] (helo=mail-wm1-f47.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd01f-672d-0a2a45030019-d155802fcd23-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:15 +0200
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-490aaeabdb4so13454655e9.1
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 14:48:15 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492202edf89sm113877065e9.1.2026.06.13.14.48.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 13 Jun 2026 14:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781387295; x=1781992095; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9UNO2xI/wOnyoP+fG/GB8NiqXOoc6f8puz6dKt7oyRY=;
        b=FB7z/d0Rl5zZzspY/NwsGBFMNJU3eyRQUQl05HoEb3F4KvfPb/iOGJE2U0a9wMtqAK
         HcUbL+Injiggz2zSkkVrivx7dxhmvA1GnZJc+HIYgpQkVLjSTSQ7lj4xXEF8fOrK1rIE
         BwkUK97TSF/1OnJri+GWuQ/3VYYFxgPaFIsQqllx9FaTDTN9xqI6FAXSsOMspyC9vfZ9
         dhrAwXpghxjPlfT1iuEOIBWwOUXId99vyiY7hlZjzyHAix5z/R3xVqTl/kVkS2AWqkpD
         38IEMN55HkFZeVt0pzNJKHpVCAX9B0H5ws9od7F6p6+PgMaACZNJ7c6c+0+RKL2+8n0F
         n5Xw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781387295; x=1781992095;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=9UNO2xI/wOnyoP+fG/GB8NiqXOoc6f8puz6dKt7oyRY=;
        b=nPlsWg8eA/mS8qy8y+PFxN+AutJrge+GwuVDQSCO7acyrNM0I+/foyM4zq380oV2dF
         FSDYT8SlpNBmg3keCwDoL7V1MPGb1VmqjaYOlOAw3vZsi1MS3DkqDpxjZ6TBm+L/eNRV
         plXAvJMbpfADAWrXy8bJKqWEHC4DggO8Z6uuXDi+U3B7k3PNv9sbi0+vPI9AuoXCMxgl
         PHzQc8Xs+Oa0izVqV0yy4ZjFuiFkHGANcwYZjHahN7EyJY1X6KXeG0w8XEKfmWm8jbbj
         8qQSEcZdugUrKO5Z6XxdMDfYs3+PQNVBb/UCYSwCtM2HX8q9ELUovFxjnnaQjiuUE+qm
         2bHQ==
X-Gm-Message-State: AOJu0Yxf09d9UCkuzq8nPuD7vpHQ3yzkMiimJtz63rxYm0xQF32kFWl3
	hMzgD5dGDGqoamUFLpRtNo6abONb5N/D0HHk287if0qNLOMjYW6/F7OE4Kc6a34Mcu8=
X-Gm-Gg: Acq92OEf2b0FZUEllk10sKMVv3zf56ORnh0CFVVm5VhEsRcDRjBv3yh4n1uby5xTFNe
	ioqx8yzE5Jqc27Z38SdFE67+BkJEKQTvbMrLs1vLzrRdeGgi/KEijTSdg0vL7glecXEaaghKx50
	fo7DsyRzFSPZKlb7SWe0EmVU7TPcszkIJ1U3Snwsh3ehY6GnBkLqkIgB2ZYbKKQMGmpvoiywgbf
	9/Ek1D9/Vu0xfwYr0fiZuVGrE7n/zVRYQhTxei4RWzw4vAnKyE4fh41RI4LJpEVy2u+gtpjGdsE
	2goN/PtFLVsCnh7id9d0ceWt48ollh6ZA3ng2gUW4faLo9djlpTn3voVsqOan1g+Xec2ZybKwSd
	Ffqd/TBlRMhl0SGULx1Qqr3PzGdP/jQbgW96Z4jlkQNWCAkp4V/fjGcLqsbyMxRkALCNMDG4ode
	5pyPwNwYWEVachoU9uIpximrd989UYQRIcJhD26h0XA46bp/JDRYAZCrG8fEj+0J+9pKHM2wO9y
	LysgI5FCXJs1r/2h+HwBLQKFQ==
X-Received: by 2002:a05:600c:17d5:b0:490:b4e5:ce7e with SMTP id 5b1f17b1804b1-49220104e46mr35997485e9.25.1781387294695;
        Sat, 13 Jun 2026 14:48:14 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v5 07/16] libs/guest: avoids using 2 indexes
Date: Sat, 13 Jun 2026 22:47:40 +0100
Message-ID: <20260613214749.20620-8-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260613214749.20620-1-frediano.ziglio@cloud.com>
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1781387295-3957F938-350FC35E/0/0
X-purgate-type: clean
X-purgate-size: 2785

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Simplify code, after the first scan of the various arrays we don't need to
keep original types and PFNs but only the ones having data.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
--
Changes since v4:
- added Reviewed-by.
---
 tools/libs/guest/xg_sr_restore.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/tools/libs/guest/xg_sr_restore.c b/tools/libs/guest/xg_sr_restore.c
index e148fc594a..fb46142d87 100644
--- a/tools/libs/guest/xg_sr_restore.c
+++ b/tools/libs/guest/xg_sr_restore.c
@@ -260,9 +260,7 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
     int *map_errs = malloc(count * sizeof(*map_errs));
     int rc;
     void *mapping = NULL, *guest_page = NULL;
-    unsigned int i, /* i indexes the pfns from the record. */
-        j,          /* j indexes the subset of pfns we decide to map. */
-        nr_pages = 0;
+    unsigned nr_pages;
 
     if ( !mfns || !map_errs )
     {
@@ -279,12 +277,18 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
         goto err;
     }
 
-    for ( i = 0; i < count; ++i )
+    nr_pages = 0;
+    for ( unsigned i = 0; i < count; ++i )
     {
         ctx->restore.ops.set_page_type(ctx, pfns[i], types[i]);
 
-        if ( page_type_has_stream_data(types[i]) )
-            mfns[nr_pages++] = ctx->restore.ops.pfn_to_gfn(ctx, pfns[i]);
+        if ( !page_type_has_stream_data(types[i]) )
+            continue;
+
+        mfns[nr_pages] = ctx->restore.ops.pfn_to_gfn(ctx, pfns[i]);
+        pfns[nr_pages] = pfns[i];
+        types[nr_pages] = types[i];
+        nr_pages++;
     }
 
     /* Nothing to do? */
@@ -302,16 +306,13 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
         goto err;
     }
 
-    for ( i = 0, j = 0; i < count; ++i )
+    for ( unsigned i = 0; i < nr_pages; ++i )
     {
-        if ( !page_type_has_stream_data(types[i]) )
-            continue;
-
-        if ( map_errs[j] )
+        if ( map_errs[i] )
         {
             rc = -1;
             ERROR("Mapping pfn %#"PRIpfn" (mfn %#"PRIpfn", type %#"PRIx32") failed with %d",
-                  pfns[i], mfns[j], types[i], map_errs[j]);
+                  pfns[i], mfns[i], types[i], map_errs[i]);
             goto err;
         }
 
@@ -337,7 +338,6 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
             memcpy(guest_page, page_data, PAGE_SIZE);
         }
 
-        ++j;
         guest_page += PAGE_SIZE;
         page_data += PAGE_SIZE;
     }
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Sat Jun 13 21:48:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 21:48:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337553.1598828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYWD7-0001Kn-Oy; Sat, 13 Jun 2026 21:48:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337553.1598828; Sat, 13 Jun 2026 21:48: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 1wYWD7-0001Jb-LB; Sat, 13 Jun 2026 21:48:13 +0000
Received: by outflank-mailman (input) for mailman id 1337553;
 Sat, 13 Jun 2026 21:48:11 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wYWD5-0001Bb-QO
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 21:48:11 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYWD3-00DVVl-Rp
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 23:48:09 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dcf9c-2eae-0a2a0a5409dd-0a2a4507e990-32
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:09 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd019-229c-0a2a45070019-d1558034a55a-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:09 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-490b3e03939so16301755e9.1
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 14:48:09 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492202edf89sm113877065e9.1.2026.06.13.14.48.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 13 Jun 2026 14:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781387289; x=1781992089; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tveinKkdLcmjhqS/kzPOX7fy7Jx+F9+BOrd+vNDtpvg=;
        b=XrkGWS8BiIbjByWP/bNX8NsrFao1xU+Gw6bBX+QM9aepnX+zzIjLenK/9ctU4iiGH6
         tGCb38u203o411r8Q/x+O1wosqxfHPMJC2yMIgYgXNzdCEXWfZsySvA0txDoqcIlXp+o
         2wpmDwJW7Ay+jP5MSPu01GTWKY9zeXNCNXhxp5sUfw2+cUDe8XE9DJj09wnkvS27Lthe
         /+jWADoH7D3uY8e43AQ99m8KxxIQW/U86LktI77hxHfylHyPGVpFaEcaX5mXyb96QXKn
         e7QyZwsHGs7VZQiftMuqX1zizSTTmGSUsiCCPtBvaXd4ceXn3HzUY58brqrcUTkaHtb7
         chuA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781387289; x=1781992089;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=tveinKkdLcmjhqS/kzPOX7fy7Jx+F9+BOrd+vNDtpvg=;
        b=p/7K2ThCUi0ArC0mk6kXgmCncH1GsjbmaZog8fI1JngUiMSItQdOLQvqxk8Fd4RYfx
         gh+pZohdij3/WOOe8li3Rn7ImVbkN4wbYmH9dVv/lrSi7dOJCv169+gkJ4OZMi7xV3Tr
         yyAIsNprKWs2pRRSg5km5u9bSCZavETgSwi5M9k9bjHN/WK3BTyl+dr2dxoqTNxaKM8w
         geICQubiG1/DblrSIqfFBe7AYjAMO8rxEzk9/FlTDZx7HPWpm4yMBVYXJSMNxPD3ZF3p
         vQnu2mccDG8dGFrmtvph2w+2489GQn6HsL4SAG4EyvMB43JoKfUsQ3mD/NbsVM0MaukH
         TqFg==
X-Gm-Message-State: AOJu0Ywxr6Q7SUUJUSp8lQX0iO6ceX9rrdKdqKfIHzNVyBPnSURySEiA
	0JkcqQ/131nGSO1vLx1cUUL9xLnzUoD+E+n3ZdHgCCHLLBJCNZW+wrwHs6RfQdxcdJ4=
X-Gm-Gg: Acq92OHu4l9IU+2WfqsGuwf+RfZ+wQyZuBDBxmRqN0pHJeYPnDJWwfmXCTdCdnhCktB
	+M3km5iztb4OjNb269HhNNIJduSoqcRrcEUzdN25CElqgbxh00Wuk80O4Oygs2FhLfb+2grVv03
	vvq8NVmxVX/84BuIlNa2CkMQQEJN9gx+CGFI9eOLqfCm6uPZMQ0oBE3MYKAD1f5hYXYNJM7Xfr5
	jDUvGZGr1Xi2nd35/YSA+tFC1kQeuMOIZQY7UM+0ec+6kz9da0YNwNRRl1U5h7xmp3fR0RoP8jt
	bFyocU3gEg53YwksrfjVw7NvOcTUwfnn5fuIswriBSNg6Oz63orBiy4h5Gwu03rwkziZuLvKt5C
	F8tOE5gDxQA45dCNB7+6Exwr9tRYROQ0sKeprSRcE2blDnoWV8w2+4KnS9HLOB7oHXEEntXY46g
	7m635lnQiFXeud5Xo+9oYv2EYSUjwwYnOHAbt9F1yLDCs/Sb2QOu2eAgIRYlgOXxI1478tcpDcb
	CbMU0kTx78bPYMXQkdbAs6mIg==
X-Received: by 2002:a05:600d:6451:20b0:490:e180:2e0 with SMTP id 5b1f17b1804b1-490ec481088mr62001335e9.3.1781387289119;
        Sat, 13 Jun 2026 14:48:09 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v5 01/16] libs/guest: Reduce number of parts in write_split_record
Date: Sat, 13 Jun 2026 22:47:34 +0100
Message-ID: <20260613214749.20620-2-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260613214749.20620-1-frediano.ziglio@cloud.com>
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1781387289-09D6FC48-AECF335D/0/0
X-purgate-type: clean
X-purgate-size: 1879

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Small optimization.
There's no much sense to split the header in 2 pieces, it will
just take more time and space to reassemble them in the final
buffer.
This also avoids truncating combined_length to 32 bit in case of
64 bit machines potentially avoiding following record_length check
(it could still be truncated writing it in xc_sr_rhdr structure
but the following check will catch it).
The function become more coherent with following read_record
function.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
--
Changes since v2:
- change prefix in subject.

Changes since v3:
- clarify commit message.

Changes since v4:
- added Reviewed-by;
- improved commit message.
---
 tools/libs/guest/xg_sr_common.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/libs/guest/xg_sr_common.c b/tools/libs/guest/xg_sr_common.c
index c7b3c6f3bc..9b2782b5cf 100644
--- a/tools/libs/guest/xg_sr_common.c
+++ b/tools/libs/guest/xg_sr_common.c
@@ -59,11 +59,11 @@ int write_split_record(struct xc_sr_context *ctx, struct xc_sr_record *rec,
     static const char zeroes[REC_ALIGN] = {};
 
     xc_interface *xch = ctx->xch;
-    typeof(rec->length) combined_length = rec->length + sz;
+    size_t combined_length = rec->length + sz;
     size_t record_length = ROUNDUP(combined_length, REC_ALIGN);
+    struct xc_sr_rhdr rhdr = { rec->type, combined_length };
     struct iovec parts[] = {
-        { &rec->type,       sizeof(rec->type) },
-        { &combined_length, sizeof(combined_length) },
+        { &rhdr,            sizeof(rhdr) },
         { rec->data,        rec->length },
         { buf,              sz },
         { (void *)zeroes,   record_length - combined_length },
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Sat Jun 13 21:48:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 21:48:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337562.1598912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYWDF-0003Nc-6U; Sat, 13 Jun 2026 21:48:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337562.1598912; Sat, 13 Jun 2026 21: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 1wYWDE-0003MW-Tc; Sat, 13 Jun 2026 21:48:20 +0000
Received: by outflank-mailman (input) for mailman id 1337562;
 Sat, 13 Jun 2026 21:48:19 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wYWDD-00035f-NU
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 21:48:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYWDD-002Ajp-3y
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 23:48:19 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dcfda-bab6-0a2a0a5309dd-0a2a4505b0c0-6
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:19 +0200
Received: from [209.85.128.47] (helo=mail-wm1-f47.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd022-aaa8-0a2a45050019-d155802fedbf-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:19 +0200
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-490ac357c55so19282735e9.1
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 14:48:19 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492202edf89sm113877065e9.1.2026.06.13.14.48.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 13 Jun 2026 14:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781387298; x=1781992098; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nZbBEu1yumZubA+jdFXfLBNW/6vA9c6a3PhaM+0TpSU=;
        b=DG1wKx5wywRyDi8ltJZbwsQGb/HK8goSFrgxp7B8qTiv2XBicu5LCL87Srj2pQfi3X
         Ico3ay0rxPrH0PT+9E1frSXSEkipsSMfExwa4FCo3v+IQ26DTaLx8wMMFzdRCQpUOE7Z
         DNejBxCYlvwJt4K2f4bif2kghXK3WmELXJzkohV3KUShZw0EDl332KdWEDkWpvZDISal
         7rFRGtV/MVOHc7+pfIIl4dvfnGG+cb6GkqxxcMfSerTVprLQq1hiVM2VfLOWyODWD4fH
         gqvqON4HhY7iGy6tdxHrmFCgPx+WzCqDXKUgBnFCOFF1QcAaCWaPC0KiFvTWU4dZ3XH1
         NWhg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781387298; x=1781992098;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=nZbBEu1yumZubA+jdFXfLBNW/6vA9c6a3PhaM+0TpSU=;
        b=ZteSnkiSW93kQ5BuaiFcwjZmS7CtZAubE7JAPHz47ji2+1vU7XngONl9pgfAhfT/fj
         890KewlHreyIgwzcR3R+BhD4kQimY9nKUZFaq5kh8hb5mM19WygTIfDa7eDRP3OLRzM9
         3QNcF8Q6Mx0bYwintLbid3O4y1G2DZlaz1PhDzxpag1XctAE82RoULSlcF3Qb4gbL1Db
         Z46L9myxxz0MQ34US3KSB12JJnTQBe29GHi3O7MQmvlf0uUiZjm8M7CvzWQHokIkW2nF
         2TdPV40dl9Esh2/ExzxXlNIm0q8AD5xcJ/lnx2VTHSlxlndXmHtaaMjLUs/d7z3P3c3p
         X3Xw==
X-Gm-Message-State: AOJu0YxKvxr9vZEMcg/ihqX9URZR2iId1OkTINvMX9iqkt5S1kNDY4yx
	ZMjTsDN69gaVFE0ttQ/3LLNAjnAGrej6UBLqm3KGxpI3FCk6eXA1qlOkvsdbksx4HwU=
X-Gm-Gg: Acq92OGDRvg+RUxDWrjcvmJLrGX7xtVXI2nAlQJOWsCTJ0Wr1OmyKoRbqR1DSITJKu3
	hRRcj4StRE94QOwSiX1U/RNPY6Rk4m4bOOMfBoaxYWJ6o+gyVcN+MpXnQWlx2ItAtofrRtlLcpL
	ZzC/JJcFienuy5DsQ1gZwAxPHWXzq5zGj9Nmds4wDf0wqpH3AAL+5/yIhW3nV8Y3f+U3KTTUyH4
	jh7yw37IWQALbp9pIew13xlGBoXOaBSvcPY7slz1sTtdN9HQkpt7gHE2dOWUrkG7YcOWBKtolAF
	+8XQyr5gLdxzzRbycWHsz/R4ZP82+mhnidVtwZbaD5uvBWld+sKWX8rO1OkKshkrpdan2RwgIfP
	YavosMifNKUgi6lz16Om8gA+Rf/aOw33+uzEhEgFVQCiqZB/I2CfwrFbl8cCf4hCU3IB2vPjOO2
	eZt5azxOPv/WaMjU/eLqbr/S27EigWBy/gwIS67i1xL1YzOOVJ3Y6BF7UK1glga9qpECIUu/CrA
	tFchCNhJCXauXfQPzpXiGP0GCP/oDlEfQUB
X-Received: by 2002:a05:600c:8716:b0:490:b355:9c70 with SMTP id 5b1f17b1804b1-490ec4c3582mr93913715e9.11.1781387298380;
        Sat, 13 Jun 2026 14:48:18 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edwin.torok@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v5 11/16] PoC: libs/guest: use foreign copy during migration
Date: Sat, 13 Jun 2026 22:47:44 +0100
Message-ID: <20260613214749.20620-12-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260613214749.20620-1-frediano.ziglio@cloud.com>
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1781387299-D9D77443-5CED8513/0/0
X-purgate-type: clean
X-purgate-size: 8610

From: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>

ministat confirms the improvement:

```
x baseline
+ foreigncopy
    N           Min           Max        Median           Avg        Stddev
x  20     1.1306997     1.1447931     1.1356569     1.1365742   0.003242175
+  20     0.4311504    0.44180303    0.43616705    0.43600089  0.0031094689
Difference at 95.0% confidence
	-0.700573 +/- 0.00203311
	-61.639% +/- 0.133355%
	(Student's t, pooled s = 0.00317652)
```

The tests pass too, which means that it has correctly migrated all guest
memory.

Frediano: This PoC was adapted to be included in a final series.

Signed-off-by: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/libs/guest/xg_sr_common.h  |  1 +
 tools/libs/guest/xg_sr_restore.c | 43 +++--------------
 tools/libs/guest/xg_sr_save.c    | 82 +++++++++-----------------------
 3 files changed, 31 insertions(+), 95 deletions(-)

diff --git a/tools/libs/guest/xg_sr_common.h b/tools/libs/guest/xg_sr_common.h
index e37f805240..d8d8a0f9f7 100644
--- a/tools/libs/guest/xg_sr_common.h
+++ b/tools/libs/guest/xg_sr_common.h
@@ -256,6 +256,7 @@ struct xc_sr_context
             unsigned long nr_deferred_pages;
             xc_hypercall_buffer_t dirty_bitmap_hbuf;
             struct xc_sr_context_save_buffers *buffers;
+            void *dest_buf;
         } save;
 
         struct /* Restore data. */
diff --git a/tools/libs/guest/xg_sr_restore.c b/tools/libs/guest/xg_sr_restore.c
index fb46142d87..ff27560ff7 100644
--- a/tools/libs/guest/xg_sr_restore.c
+++ b/tools/libs/guest/xg_sr_restore.c
@@ -259,8 +259,8 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
     xen_pfn_t *mfns = malloc(count * sizeof(*mfns));
     int *map_errs = malloc(count * sizeof(*map_errs));
     int rc;
-    void *mapping = NULL, *guest_page = NULL;
     unsigned nr_pages;
+    void *const source = page_data;
 
     if ( !mfns || !map_errs )
     {
@@ -295,27 +295,8 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
     if ( nr_pages == 0 )
         goto done;
 
-    mapping = guest_page = xenforeignmemory_map(
-        xch->fmem, ctx->domid, PROT_READ | PROT_WRITE,
-        nr_pages, mfns, map_errs);
-    if ( !mapping )
-    {
-        rc = -1;
-        PERROR("Unable to map %u mfns for %u pages of data",
-               nr_pages, count);
-        goto err;
-    }
-
     for ( unsigned i = 0; i < nr_pages; ++i )
     {
-        if ( map_errs[i] )
-        {
-            rc = -1;
-            ERROR("Mapping pfn %#"PRIpfn" (mfn %#"PRIpfn", type %#"PRIx32") failed with %d",
-                  pfns[i], mfns[i], types[i], map_errs[i]);
-            goto err;
-        }
-
         /* Undo page normalisation done by the saver. */
         rc = ctx->restore.ops.localise_page(ctx, types[i], page_data);
         if ( rc )
@@ -325,29 +306,19 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
             goto err;
         }
 
-        if ( ctx->restore.verify )
-        {
-            /* Verify mode - compare incoming data to what we already have. */
-            if ( memcmp(guest_page, page_data, PAGE_SIZE) )
-                ERROR("verify pfn %#"PRIpfn" failed (type %#"PRIx32")",
-                      pfns[i], types[i] >> XEN_DOMCTL_PFINFO_LTAB_SHIFT);
-        }
-        else
-        {
-            /* Regular mode - copy incoming data into place. */
-            memcpy(guest_page, page_data, PAGE_SIZE);
-        }
-
-        guest_page += PAGE_SIZE;
         page_data += PAGE_SIZE;
     }
+    if ( !ctx->restore.verify )
+    {
+        rc = xg_foreignmemory_copy_to(xch, ctx->domid, nr_pages, mfns, source);
+        if ( rc < 0 )
+            goto err;
+    }
 
  done:
     rc = 0;
 
  err:
-    if ( mapping )
-        xenforeignmemory_unmap(xch->fmem, mapping, nr_pages);
 
     free(map_errs);
     free(mfns);
diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index 8a22267fdf..7a48f6b0a3 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -87,12 +87,10 @@ static int write_batch(struct xc_sr_context *ctx)
 {
     xc_interface *xch = ctx->xch;
     xen_pfn_t *mfns, *types;
-    void *guest_mapping = NULL;
     void **local_pages;
     int *errors, rc = -1;
-    unsigned int i, p, nr_pages = 0, nr_pages_mapped = 0;
+    unsigned int i, nr_pages = 0;
     unsigned int nr_pfns = ctx->save.nr_batch_pfns;
-    void *page, *orig_page;
     uint64_t *rec_pfns;
     struct iovec *iov; int iovcnt = 0;
     struct {
@@ -167,62 +165,18 @@ static int write_batch(struct xc_sr_context *ctx)
 
     iovcnt = 2;
 
-    if ( nr_pages > 0 )
+    rc = xg_foreignmemory_copy_from(xch, ctx->domid, nr_pages, ctx->save.dest_buf, mfns);
+    if ( rc < 0 )
     {
-        guest_mapping = xenforeignmemory_map(
-            xch->fmem, ctx->domid, PROT_READ, nr_pages, mfns, errors);
-        if ( !guest_mapping )
-        {
-            PERROR("Failed to map guest pages");
-            goto err;
-        }
-        nr_pages_mapped = nr_pages;
-
-        for ( i = 0, p = 0; i < nr_pfns; ++i )
-        {
-            if ( !page_type_has_stream_data(types[i]) )
-                continue;
-
-            if ( errors[p] )
-            {
-                ERROR("Mapping of pfn %#"PRIpfn" (mfn %#"PRIpfn") failed %d",
-                      ctx->save.batch_pfns[i], mfns[p], errors[p]);
-                goto err;
-            }
-
-            orig_page = page = guest_mapping + (p * PAGE_SIZE);
-            rc = ctx->save.ops.normalise_page(ctx, types[i], &page);
-
-            if ( orig_page != page )
-                local_pages[i] = page;
-
-            if ( rc )
-            {
-                if ( rc == -1 && errno == EAGAIN )
-                {
-                    set_bit(ctx->save.batch_pfns[i], ctx->save.deferred_pages);
-                    ++ctx->save.nr_deferred_pages;
-                    types[i] = XEN_DOMCTL_PFINFO_XTAB;
-                    --nr_pages;
-                }
-                else
-                    goto err;
-            }
-            else if ( iov[iovcnt - 1].iov_base + iov[iovcnt - 1].iov_len !=
-                      page )
-            {
-                iov[iovcnt].iov_base = page;
-                iov[iovcnt].iov_len = PAGE_SIZE;
-                iovcnt++;
-            }
-            else
-            {
-                iov[iovcnt - 1].iov_len += PAGE_SIZE;
-            }
+        ERROR("xg_foreignmemory_copy_from failed");
+        goto err;
+    }
 
-            rc = -1;
-            ++p;
-        }
+    if ( nr_pages )
+    {
+        iov[iovcnt].iov_base = ctx->save.dest_buf;
+        iov[iovcnt].iov_len = nr_pages << XC_PAGE_SHIFT;
+        iovcnt++;
     }
 
     hdrs.rec.length += nr_pages * PAGE_SIZE;
@@ -239,8 +193,6 @@ static int write_batch(struct xc_sr_context *ctx)
     rc = ctx->save.nr_batch_pfns = 0;
 
  err:
-    if ( guest_mapping )
-        xenforeignmemory_unmap(xch->fmem, guest_mapping, nr_pages_mapped);
     for ( i = 0; local_pages && i < nr_pfns; ++i )
     {
         free(local_pages[i]);
@@ -765,6 +717,7 @@ static int setup(struct xc_sr_context *ctx)
 {
     xc_interface *xch = ctx->xch;
     int rc;
+    const unsigned dest_buf_len = MAX_BATCH_SIZE * XC_PAGE_SIZE;
     DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap,
                                     &ctx->save.dirty_bitmap_hbuf);
 
@@ -776,6 +729,16 @@ static int setup(struct xc_sr_context *ctx)
         xch, dirty_bitmap, NRPAGES(bitmap_size(ctx->save.p2m_size)));
     ctx->save.deferred_pages = bitmap_alloc(ctx->save.p2m_size);
     ctx->save.buffers = calloc(1, sizeof(*ctx->save.buffers));
+    ctx->save.dest_buf = NULL;
+
+    rc = posix_memalign(&ctx->save.dest_buf, XC_PAGE_SIZE, dest_buf_len);
+    if ( rc )
+    {
+        ERROR("Unable to allocate %u bytes of buffer", dest_buf_len);
+        errno = rc;
+        rc = -1;
+        goto err;
+    }
 
     if ( !dirty_bitmap || !ctx->save.deferred_pages || !ctx->save.buffers)
     {
@@ -810,6 +773,7 @@ static void cleanup(struct xc_sr_context *ctx)
                                    NRPAGES(bitmap_size(ctx->save.p2m_size)));
     free(ctx->save.deferred_pages);
     free(ctx->save.buffers);
+    free(ctx->save.dest_buf);
 }
 
 /*
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Sat Jun 13 21:48:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 21:48:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337551.1598818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYWD7-0001CC-AT; Sat, 13 Jun 2026 21:48:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337551.1598818; Sat, 13 Jun 2026 21:48: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 1wYWD7-0001C5-7h; Sat, 13 Jun 2026 21:48:13 +0000
Received: by outflank-mailman (input) for mailman id 1337551;
 Sat, 13 Jun 2026 21:48:11 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wYWD5-0001Bc-QP
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 21:48:11 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYWD4-00DVVl-Cj
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 23:48:10 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dcf9c-2eae-0a2a0a5409dd-0a2a4507e990-34
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:10 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd01a-229c-0a2a45070019-d155802ad0b6-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:10 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-4903d730b1fso26447545e9.2
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 14:48:10 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492202edf89sm113877065e9.1.2026.06.13.14.48.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 13 Jun 2026 14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781387290; x=1781992090; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=eBOu2SGy5SEMj/LwC45bjJ4tbAJiMm9h5HCYGlaqv40=;
        b=AGOLf/ZLvAHsmFgXExBZ0B+cg3h3l2EUW4MVpS0Ylff0GYr4001WberXK+ybHsS81t
         2AKW2trREj5/8qukzJW/HQfp5iw6RrukPIYofsuvyZ7dVYYccYMe3qMPBmxaXeD+W9o2
         E4l4Ir4S5PY0yK3VgLVkdYmxumBrJHOUdRdjuoHWwESjCHuXK76kmEjqmg707KWxW+mc
         m4CqyFvjSOuJPMVISTCfjDSo0YTgipejOQuaT1BAsfu5JqMQjY0SV3cxdr5H3JlMXP4/
         0ZnUNP4DXYSXbGGnJhqVNK1xzUaCNpdH0DpZyoFKADuXdiCiq+qWqAJeaHEvqXUQvQ4Z
         bTmQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781387290; x=1781992090;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=eBOu2SGy5SEMj/LwC45bjJ4tbAJiMm9h5HCYGlaqv40=;
        b=Y8pY8fHB2IMszSy2WpnalvsvmdwSO0laloqJcAGwdTyMU/tgDwP0Fi/ueBzqcmJUIb
         NxWDDvlGrZqX0+sAnoZkXNYyBHAk0I2Mi2yr+2M22yPFZd7bkWtK2xm0d4XafK2hQysV
         PhCfxsnxM7XdVluIK9lI9zoZbVtMExFEKQW9csiws0X+K/hms2sAfYwweBgiOCDc4JNA
         1rwoDLOfRLyNK7JheDref68bML4deX0fB44xuz6EdO+3RKUxp8IapQ4PZOc60npnaEd6
         gipi4YGqddPFYj7/qs+uwrlqThhTmJnp/NlV1iRgI/W4EvpCVwePQSOSEo28aHRnpEbM
         +37g==
X-Gm-Message-State: AOJu0YyyvxPY9Bf9U4R0mGVoEdXSa5sENl4CKOXGmYkkznIlo6SdHv7M
	Rif2rZUjsZCXDGtcdZqQ5x2DrnlVhkAp82sEi6xfxvHoib8z/SMMD9ClJh45ZFXWRd0=
X-Gm-Gg: Acq92OH74X1HKB+UT8Wsiybpp3OpdUGlBi/e7ST5F8LdMGnGMcJ5liwBWN3ZxVvPuaW
	sHVi7rg3AsYcpfPUAuUEAgtOWHkB6ZzdXICHdXb+8x1utoEQfmrFWFw7o/3yblObAqsr5c+upJ7
	1ABEZ7iT5Io/d/r7eUJ9eHFICRCj95gZE7J4LCRoqLnNuQ19i97DaJvZsREmI+zjEdhg0Pes/R7
	EfkaCWsaLMagEEOu/ms4jLr+EZzYpmfPl8w6Jk2DuLzREoYm6Dnh05oVB8Up9k7s6LN7ZDfICZj
	ZOijKZ7MVw554eMQhUKLsjT6jB6JTlU1hNQMitnvCx4RzGw6cMPFM3MAgUQn4cJbbWkgz55Dmx0
	hGX9PqyAk/Xvr9zqNnFa3Pgvrhr2fp/Ldl6sFzYy1cDLY4MHayjiPvt7ae5ZB0GTfP/PWIRjg02
	nwQXs4ABZqANw7BcTsu6jKOJw1pGUllsi99+zso/Me0tiq/KLevS/jBzfxOqw7YXCSHkyM7z/W+
	nmtqhKC+z0A2I7c8LJoV4fXFQ==
X-Received: by 2002:a05:600c:695:b0:490:bd1d:4732 with SMTP id 5b1f17b1804b1-492200dcaebmr34522575e9.23.1781387289825;
        Sat, 13 Jun 2026 14:48:09 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v5 02/16] libs/guest: Reduce number of I/O vectors in write_batch
Date: Sat, 13 Jun 2026 22:47:35 +0100
Message-ID: <20260613214749.20620-3-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260613214749.20620-1-frediano.ziglio@cloud.com>
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1781387290-2216DC48-B05047EE/0/0
X-purgate-type: clean
X-purgate-size: 2700

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Small optimization.
Reduce number of pieces passed to writev.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
--
Changes since v2:
- change prefix in subject.

Changes since v4:
- added Reviewed-by.
---
 tools/libs/guest/xg_sr_save.c | 34 +++++++++++++++-------------------
 1 file changed, 15 insertions(+), 19 deletions(-)

diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index fdbceab52e..68ce1aeb98 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -97,9 +97,11 @@ static int write_batch(struct xc_sr_context *ctx)
     void *page, *orig_page;
     uint64_t *rec_pfns = NULL;
     struct iovec *iov = NULL; int iovcnt = 0;
-    struct xc_sr_rec_page_data_header hdr = { 0 };
-    struct xc_sr_record rec = {
-        .type = REC_TYPE_PAGE_DATA,
+    struct {
+        struct xc_sr_rhdr rec;
+        struct xc_sr_rec_page_data_header page_data;
+    } hdrs = {
+        { .type = REC_TYPE_PAGE_DATA },
     };
 
     assert(nr_pfns != 0);
@@ -115,7 +117,7 @@ static int write_batch(struct xc_sr_context *ctx)
     /* Pointers to locally allocated pages.  Need freeing. */
     local_pages = calloc(nr_pfns, sizeof(*local_pages));
     /* iovec[] for writev(). */
-    iov = malloc((nr_pfns + 4) * sizeof(*iov));
+    iov = malloc((nr_pfns + 2) * sizeof(*iov));
 
     if ( !mfns || !types || !errors || !guest_data || !local_pages || !iov )
     {
@@ -216,28 +218,22 @@ static int write_batch(struct xc_sr_context *ctx)
         goto err;
     }
 
-    hdr.count = nr_pfns;
+    hdrs.rec.length = sizeof(hdrs.page_data);
+    hdrs.rec.length += nr_pfns * sizeof(*rec_pfns);
+    hdrs.rec.length += nr_pages * PAGE_SIZE;
 
-    rec.length = sizeof(hdr);
-    rec.length += nr_pfns * sizeof(*rec_pfns);
-    rec.length += nr_pages * PAGE_SIZE;
+    hdrs.page_data.count = nr_pfns;
 
     for ( i = 0; i < nr_pfns; ++i )
         rec_pfns[i] = ((uint64_t)(types[i]) << 32) | ctx->save.batch_pfns[i];
 
-    iov[0].iov_base = &rec.type;
-    iov[0].iov_len = sizeof(rec.type);
+    iov[0].iov_base = &hdrs;
+    iov[0].iov_len = sizeof(hdrs);
 
-    iov[1].iov_base = &rec.length;
-    iov[1].iov_len = sizeof(rec.length);
+    iov[1].iov_base = rec_pfns;
+    iov[1].iov_len = nr_pfns * sizeof(*rec_pfns);
 
-    iov[2].iov_base = &hdr;
-    iov[2].iov_len = sizeof(hdr);
-
-    iov[3].iov_base = rec_pfns;
-    iov[3].iov_len = nr_pfns * sizeof(*rec_pfns);
-
-    iovcnt = 4;
+    iovcnt = 2;
 
     if ( nr_pages )
     {
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Sat Jun 13 21:48:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 21:48:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337557.1598873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYWDA-0002SM-V6; Sat, 13 Jun 2026 21:48:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337557.1598873; Sat, 13 Jun 2026 21:48: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 1wYWDA-0002SE-R2; Sat, 13 Jun 2026 21:48:16 +0000
Received: by outflank-mailman (input) for mailman id 1337557;
 Sat, 13 Jun 2026 21:48:15 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wYWD9-0001un-7N
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 21:48:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYWD8-00DVVl-KQ
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 23:48:14 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dcfd6-2eae-0a2a0a5409dd-0a2a4508ddf0-2
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:14 +0200
Received: from [209.85.128.41] (helo=mail-wm1-f41.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd01e-63b5-0a2a45080019-d1558029d029-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:14 +0200
Received: by mail-wm1-f41.google.com with SMTP id
 5b1f17b1804b1-4903d730b1fso26448045e9.2
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 14:48:14 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492202edf89sm113877065e9.1.2026.06.13.14.48.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 13 Jun 2026 14:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781387294; x=1781992094; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7om3qzciu7p1Hjf//vy/GA8MoXg6EtRp3ssDnE4xjCc=;
        b=U0W11znpk0ZdDBxXXs2NqOpVpghdC6+lHSJOEp5R5jc4OLigDqfhJusEEmdXl8Ml8N
         SEefZHJQx/q/Za9Sg8fBv+mugq5zH0eRNJN3COHKwGOsakl+6U4KvvFHwhxZhoHXOARL
         RrcyrXZXpmBpNahVEifR6GFtUKYLuisoYQh01cwYDJ/ft9zPbyXw3o1EC3o5TJaYjhsr
         tT+V465X58W2oXANUC8Ca6SwEqS8t7/yjBFhpTwfx2X5FInMgEkKpWAds03PULw1N542
         fN/KWW6F8hAHrPirSMKxZOx+kGgFUf3b3+U+qY6ai6RpIJrIZXbmF8hzMXso16GvbFkU
         y4nA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781387294; x=1781992094;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=7om3qzciu7p1Hjf//vy/GA8MoXg6EtRp3ssDnE4xjCc=;
        b=qFYJjOLKHf8lQvZ0P+TwIMdsQOORDEtkTFbs1xizqXgbitM6a4qtInfCLM29d1KDY/
         3df4MeDZuiAgKjWH3SuTvhCOm3wTWIk4CB2hx/xoXWx5DbZA6mhz4mGjlJ6OoID1C/e0
         iUm3Oznede0TYNHObPUooAORLYSvvl4OlIxzB3WSzDsmBLj3J71iY82Tn4INsM0DPFhD
         A6LEDo5diPiiEFrnTKjjwjBqa+tPE5PXfW/8vBEhnLZRiagujyRHlmHG9/DxfoNtlNm2
         WauU9S4u1CG3Aw1p5MRhiDPL3ApWHmop/tZUNEVreEEacwC0WD3hKsgciF6kIkkmj0Xz
         MsYA==
X-Gm-Message-State: AOJu0Yx4ZDFHdKZWGxq8r+9WB0c3Iz+KR+WAD4ucWheW8YZIBP8RXmBI
	PmbpEGRSzNiDYQ7rYahwnbdw5jSxTxmksR8J+oO+mTbrA5yaQcbhmLjG/ym6ulCRTnc=
X-Gm-Gg: Acq92OFmDyl1M1aND/UYkrrk8uhPzjDp3SCrg4tggFf+2wr7hHawwVXUqIh2tGDrpRs
	vcwpHkgAJK4vH/zMrgQOPcMefVWxAWcwhHYJY9B5MMAJvVRHjc72NCsJdYeXBZ2GNhhD0XVaWUw
	Xdz0wXcUZxEG5PMcfh9TB5qSE+U2JFI+/bJSedkKB36DJ5v+s+NuIKuv7cfagTAauoCV8A3wR8d
	c3IoPOZ4AfIkLtg+pnwSC5mSlzsO6xVnKeHU6/sGrdRbz4ZXHIzkfOCFgz8luA06rILy0HGqpAT
	0/fSkQbShmLeIWf5vaeuft0IP8tAZTWlJqcuHBF/h+x++arwZoVEdznn4PX28GE7JvrZVjGoGlh
	XDQfoz2PFupP1GVYB+aEhWRrsPeHh1zd1sW5pWsezUGvW0Zx4awbcwol++9m2j8smovCzJhjdP7
	jiUrP4JbzHRiTnYF6say0g2bd0GWM6t9kKKx5RWtwfPZ+aSg+/mUid4bGeMxv/VLzsoE7gicbXR
	xr0j+B44XBdn876V/YXbMg6Ng==
X-Received: by 2002:a05:600c:4709:b0:490:5057:f5f7 with SMTP id 5b1f17b1804b1-4922007472cmr57482665e9.11.1781387293908;
        Sat, 13 Jun 2026 14:48:13 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edwin.torok@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v5 06/16] libs/call: cache up to 4 pages in hypercall bounce buffers
Date: Sat, 13 Jun 2026 22:47:39 +0100
Message-ID: <20260613214749.20620-7-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260613214749.20620-1-frediano.ziglio@cloud.com>
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c1860d/1781387294-BF57FDB1-4A758F25/0/0
X-purgate-type: clean
X-purgate-size: 5018

From: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>

During migration there are a lot of mmap/munmap calls,
because `xc_get_pfn_type_batch` exceeds the default hypercall bounce
buffer cache size, and needs to allocate every time it is called.

`munmap` is slow, especially in a PV Dom0 (takes an emulation fault),
so is best avoided.

Eventually it'd be good if the memory pool from  xmalloc_tlsf.c
was reused here, but for now make it handle the commonly encountered
sizes (so far up to 4 pages).

Signed-off-by: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v2:
- change prefix in subject.

Changes since v4:
- fix off-by-one bug.
---
 tools/libs/call/buffer.c  | 28 +++++++++++++++++-----------
 tools/libs/call/core.c    |  3 ++-
 tools/libs/call/private.h |  8 +++++---
 3 files changed, 24 insertions(+), 15 deletions(-)

diff --git a/tools/libs/call/buffer.c b/tools/libs/call/buffer.c
index 155e4f9d43..bde780c32c 100644
--- a/tools/libs/call/buffer.c
+++ b/tools/libs/call/buffer.c
@@ -56,13 +56,13 @@ static void *cache_alloc(xencall_handle *xcall, size_t nr_pages)
     if ( xcall->buffer_current_allocations > xcall->buffer_maximum_allocations )
         xcall->buffer_maximum_allocations = xcall->buffer_current_allocations;
 
-    if ( nr_pages > 1 )
+    if ( nr_pages > ARRAY_SIZE(xcall->buffer_cache) )
     {
         xcall->buffer_cache_toobig++;
     }
-    else if ( xcall->buffer_cache_nr > 0 )
+    else if ( xcall->buffer_cache_nr[nr_pages-1] > 0 )
     {
-        p = xcall->buffer_cache[--xcall->buffer_cache_nr];
+        p = xcall->buffer_cache[nr_pages-1][--xcall->buffer_cache_nr[nr_pages-1]];
         xcall->buffer_cache_hits++;
     }
     else
@@ -84,10 +84,10 @@ static int cache_free(xencall_handle *xcall, void *p, size_t nr_pages)
     xcall->buffer_total_releases++;
     xcall->buffer_current_allocations--;
 
-    if ( nr_pages == 1 &&
-         xcall->buffer_cache_nr < BUFFER_CACHE_SIZE )
+    if ( nr_pages && nr_pages <= ARRAY_SIZE(xcall->buffer_cache) &&
+         xcall->buffer_cache_nr[nr_pages-1] < BUFFER_CACHE_SIZE )
     {
-        xcall->buffer_cache[xcall->buffer_cache_nr++] = p;
+        xcall->buffer_cache[nr_pages-1][xcall->buffer_cache_nr[nr_pages-1]++] = p;
         rc = 1;
     }
 
@@ -108,17 +108,23 @@ void buffer_release_cache(xencall_handle *xcall)
     DBGPRINTF("current allocations:%d maximum allocations:%d",
               xcall->buffer_current_allocations,
               xcall->buffer_maximum_allocations);
-    DBGPRINTF("cache current size:%d",
-              xcall->buffer_cache_nr);
+    for ( unsigned i = 0; i < ARRAY_SIZE(xcall->buffer_cache_nr); ++i )
+    {
+        DBGPRINTF("cache current size[%u pages]:%d", i+1,
+                xcall->buffer_cache_nr[i]);
+    }
     DBGPRINTF("cache hits:%d misses:%d toobig:%d",
               xcall->buffer_cache_hits,
               xcall->buffer_cache_misses,
               xcall->buffer_cache_toobig);
 
-    while ( xcall->buffer_cache_nr > 0 )
+    for ( unsigned i = 0; i < ARRAY_SIZE(xcall->buffer_cache_nr); ++i )
     {
-        p = xcall->buffer_cache[--xcall->buffer_cache_nr];
-        osdep_free_pages(xcall, p, 1);
+        while ( xcall->buffer_cache_nr[i] > 0 )
+        {
+            p = xcall->buffer_cache[i][--xcall->buffer_cache_nr[i]];
+            osdep_free_pages(xcall, p, i + 1);
+        }
     }
 
     cache_unlock(xcall);
diff --git a/tools/libs/call/core.c b/tools/libs/call/core.c
index 02c4f8e1ae..dd8877c1a0 100644
--- a/tools/libs/call/core.c
+++ b/tools/libs/call/core.c
@@ -14,6 +14,7 @@
  */
 
 #include <stdlib.h>
+#include <string.h>
 
 #include "private.h"
 
@@ -44,7 +45,7 @@ xencall_handle *xencall_open(xentoollog_logger *logger, unsigned open_flags)
     xentoolcore__register_active_handle(&xcall->tc_ah);
 
     xcall->flags = open_flags;
-    xcall->buffer_cache_nr = 0;
+    memset(xcall->buffer_cache_nr, 0, sizeof(xcall->buffer_cache_nr));
 
     xcall->buffer_total_allocations = 0;
     xcall->buffer_total_releases = 0;
diff --git a/tools/libs/call/private.h b/tools/libs/call/private.h
index 9c3aa432ef..8e6a208975 100644
--- a/tools/libs/call/private.h
+++ b/tools/libs/call/private.h
@@ -31,13 +31,15 @@ struct xencall_handle {
     Xentoolcore__Active_Handle tc_ah;
 
     /*
-     * A simple cache of unused, single page, hypercall buffers
+     * A simple cache of unused, small, hypercall buffers
+     * buffer_cache[i]'s size is (i+1) pages
      *
      * Protected by a global lock.
      */
 #define BUFFER_CACHE_SIZE 4
-    int buffer_cache_nr;
-    void *buffer_cache[BUFFER_CACHE_SIZE];
+#define BUFFER_CACHE_NRPAGES 4
+    int buffer_cache_nr[BUFFER_CACHE_NRPAGES];
+    void *buffer_cache[BUFFER_CACHE_NRPAGES][BUFFER_CACHE_SIZE];
 
     /*
      * Hypercall buffer statistics. All protected by the global
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Sat Jun 13 21:48:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 21:48:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337559.1598891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYWDC-0002vs-RG; Sat, 13 Jun 2026 21:48:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337559.1598891; Sat, 13 Jun 2026 21: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 1wYWDC-0002vV-NN; Sat, 13 Jun 2026 21:48:18 +0000
Received: by outflank-mailman (input) for mailman id 1337559;
 Sat, 13 Jun 2026 21:48:17 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wYWDB-0002Zz-Iv
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 21:48:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYWDA-008PGn-Vy
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 23:48:16 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd008-5cb7-0a2a0a5109dd-0a2a4503cafc-14
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:16 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd020-672d-0a2a45030019-d1558033c11e-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:16 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-49222b6e871so6073465e9.3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 14:48:16 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492202edf89sm113877065e9.1.2026.06.13.14.48.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 13 Jun 2026 14:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781387296; x=1781992096; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MlYBrPHimuR3p/Sg0YcSFuof0r06EXv6/scdT04tUH0=;
        b=VgZ3Kp2B3lPAfjILM8ZA1bRzi6dd2UYOp76SRqMyJxComo4gfbb2Gt6i/LH67tbGW2
         XF9gvojQ9a0XH0D6N2i8Wfrhfz2DrwGXgeqfCcosnZVldWuusGOOzu3SKQLqSRpxA6EA
         KjAV1W/EokYl/5sBOltvzFc6keeL1wqpuXaYD4c5/5MiEXLRtVg84n5edMf0lXHQ+Wki
         2LiO1o3nipj4Qo8EkhQQ+25Si07A6Q5E/iLYFSzBP6OLfIUmafclth4WLr+ETWragyPW
         52+dC0Vxxt1mIiXvlJ0V7fSzE5jITPjHYN9nxqW+WGXsipBWXOLlfvecI/vxD6DSB71H
         lGag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781387296; x=1781992096;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=MlYBrPHimuR3p/Sg0YcSFuof0r06EXv6/scdT04tUH0=;
        b=AKxtZUnhBX9L/3TZXdj92TZcU91ExP4R2v0EwdEzsVcNCuwgD7c/ookMNL43w3tJgu
         SOtWCiIoSU7fZxkQ9jq8ujQNou37Ur3MU2vWcagITSI8uphlDOjxjwJGHVBE6fRh6w+B
         kfG/GmBpLqZHxl6NNmdN89tjlCxoLTLyEDjiUrDhnyJCHYapI+r7M2HjK9R5Ub/LlpB+
         am5RYkLOQgnhhqhIDm2XDyjJYxFNyA2D6cdZj8iLvU5r0Q4g0TLX9Bq6Ja/KJ16Qdv+k
         CSYUE54LacQ4EwAsfvY4zfYp9a+0GBiGydGcyVIx1bOnns2CL6xX4UCQdnW4IqVOayF+
         odMw==
X-Gm-Message-State: AOJu0YyluiBuILgMkZu341EvvGJHa8m7ZBNyg0t+oYzd8OZNfQwegQ/X
	qDjD9NPMbMeuo3g8XQRBn96qsqUib75VzksmUzJtXCbyx6EngSRT4HoMJbeEGCFsSKs=
X-Gm-Gg: Acq92OFqWxBg4A2SDj6wv5nKhhWpCxLmqdrUwllkiL2RjBwnj3oK6XiRiQ6WtsLegV3
	2542kUtUy9sYLE4c2g90NgYDCIBVOYgg52hPW/wp8ST/DimaKtHe0MXsQu7PAG1eH5eP61g3xV2
	+ObAV1QoJWIHSzkMPGsBA6q8d2F+6yFeJcvRWYCCQWx6K1zTc3x+2RXJeqxksbhH8+ErJ6qdylp
	Vv5JsYiIR/ziHyoItO79dhdTP1LPWwKwyn0yc2+jEMUJa60zuNSSWO7zWqF/eByXxaxxRKjQYMx
	s9aPXSqIu0QGDoKWXYmQ1Xc/5LubYGF7dce7FRUitTjW5n6Lr8PEq6gDBcKD1rcTppdu0GBVH1V
	/uyYGWfIaaqupQ9YGHLZMDimQA+W2JzlYbwb/J99tr0XP9F9daRLTG7P9ksPyyVozmjM94CDrPA
	E5pBy5UTv1G+MglPM/1Ugje5a1OAhJuS8X1VXdh9XLfJZeMG6WULVtR+/6zq9lUe9AeHpd4bZ+9
	eyRpaF61+oD2STDR7D2V1PyJGqaYsrsIAPo
X-Received: by 2002:a05:600c:4685:b0:490:bad8:329c with SMTP id 5b1f17b1804b1-490ec4d4f64mr121404065e9.12.1781387296170;
        Sat, 13 Jun 2026 14:48:16 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v5 08/16] libs/guest: fill directly iov structure
Date: Sat, 13 Jun 2026 22:47:41 +0100
Message-ID: <20260613214749.20620-9-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260613214749.20620-1-frediano.ziglio@cloud.com>
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1781387296-3A378938-1D97C0B6/0/0
X-purgate-type: clean
X-purgate-size: 4598

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Instead of storing page pointers into an array and lately adding to
iov vector add the pages directly to iov to avoid "guest_data"
array.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/libs/guest/xg_sr_common.h |  1 -
 tools/libs/guest/xg_sr_save.c   | 64 ++++++++++++---------------------
 2 files changed, 23 insertions(+), 42 deletions(-)

diff --git a/tools/libs/guest/xg_sr_common.h b/tools/libs/guest/xg_sr_common.h
index 95b0564e5c..b2c441b644 100644
--- a/tools/libs/guest/xg_sr_common.h
+++ b/tools/libs/guest/xg_sr_common.h
@@ -214,7 +214,6 @@ struct xc_sr_context_save_buffers
     xen_pfn_t batch_pfns[MAX_BATCH_SIZE];
     xen_pfn_t mfns[MAX_BATCH_SIZE];
     xen_pfn_t types[MAX_BATCH_SIZE];
-    void *guest_data[MAX_BATCH_SIZE];
     void *local_pages[MAX_BATCH_SIZE];
     struct iovec iov[MAX_BATCH_SIZE + 2]; /* Headers + data. */
     uint64_t rec_pfns[MAX_BATCH_SIZE];
diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index 4988d8040b..8a22267fdf 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -88,7 +88,6 @@ static int write_batch(struct xc_sr_context *ctx)
     xc_interface *xch = ctx->xch;
     xen_pfn_t *mfns, *types;
     void *guest_mapping = NULL;
-    void **guest_data;
     void **local_pages;
     int *errors, rc = -1;
     unsigned int i, p, nr_pages = 0, nr_pages_mapped = 0;
@@ -113,9 +112,6 @@ static int write_batch(struct xc_sr_context *ctx)
     types = ctx->save.buffers->types;
     /* Errors from attempting to map the gfns. */
     errors = ctx->save.buffers->errors;
-    /* Pointers to page data to send.  Mapped gfns or local allocations. */
-    guest_data = ctx->save.buffers->guest_data;
-    memset(guest_data, 0, sizeof(*guest_data) * nr_pfns);
     /* Pointers to locally allocated pages.  Need freeing. */
     local_pages = ctx->save.buffers->local_pages;
     memset(local_pages, 0, sizeof(*local_pages) * nr_pfns);
@@ -158,6 +154,19 @@ static int write_batch(struct xc_sr_context *ctx)
         mfns[nr_pages++] = mfns[i];
     }
 
+    hdrs.rec.length = sizeof(hdrs.page_data);
+    hdrs.rec.length += nr_pfns * sizeof(*rec_pfns);
+
+    hdrs.page_data.count = nr_pfns;
+
+    iov[0].iov_base = &hdrs;
+    iov[0].iov_len = sizeof(hdrs);
+
+    iov[1].iov_base = rec_pfns;
+    iov[1].iov_len = nr_pfns * sizeof(*rec_pfns);
+
+    iovcnt = 2;
+
     if ( nr_pages > 0 )
     {
         guest_mapping = xenforeignmemory_map(
@@ -199,61 +208,34 @@ static int write_batch(struct xc_sr_context *ctx)
                 else
                     goto err;
             }
+            else if ( iov[iovcnt - 1].iov_base + iov[iovcnt - 1].iov_len !=
+                      page )
+            {
+                iov[iovcnt].iov_base = page;
+                iov[iovcnt].iov_len = PAGE_SIZE;
+                iovcnt++;
+            }
             else
-                guest_data[i] = page;
+            {
+                iov[iovcnt - 1].iov_len += PAGE_SIZE;
+            }
 
             rc = -1;
             ++p;
         }
     }
 
-    hdrs.rec.length = sizeof(hdrs.page_data);
-    hdrs.rec.length += nr_pfns * sizeof(*rec_pfns);
     hdrs.rec.length += nr_pages * PAGE_SIZE;
 
-    hdrs.page_data.count = nr_pfns;
-
     for ( i = 0; i < nr_pfns; ++i )
         rec_pfns[i] = ((uint64_t)(types[i]) << 32) | ctx->save.batch_pfns[i];
 
-    iov[0].iov_base = &hdrs;
-    iov[0].iov_len = sizeof(hdrs);
-
-    iov[1].iov_base = rec_pfns;
-    iov[1].iov_len = nr_pfns * sizeof(*rec_pfns);
-
-    iovcnt = 2;
-
-    if ( nr_pages )
-    {
-        for ( i = 0; i < nr_pfns; ++i )
-        {
-            if ( !guest_data[i] )
-                continue;
-
-            if ( iov[iovcnt - 1].iov_base + iov[iovcnt - 1].iov_len !=
-                 guest_data[i] )
-            {
-                iov[iovcnt].iov_base = guest_data[i];
-                iov[iovcnt].iov_len = PAGE_SIZE;
-                iovcnt++;
-            }
-            else
-            {
-                iov[iovcnt - 1].iov_len += PAGE_SIZE;
-            }
-            --nr_pages;
-        }
-    }
-
     if ( writev_exact(ctx->fd, iov, iovcnt) )
     {
         PERROR("Failed to write page data to stream");
         goto err;
     }
 
-    /* Sanity check we have sent all the pages we expected to. */
-    assert(nr_pages == 0);
     rc = ctx->save.nr_batch_pfns = 0;
 
  err:
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Sat Jun 13 21:48:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 21:48:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337556.1598864 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYWD9-0002Df-Nj; Sat, 13 Jun 2026 21:48:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337556.1598864; Sat, 13 Jun 2026 21:48: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 1wYWD9-0002Ck-K3; Sat, 13 Jun 2026 21:48:15 +0000
Received: by outflank-mailman (input) for mailman id 1337556;
 Sat, 13 Jun 2026 21:48:13 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wYWD7-0001F7-N6
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 21:48:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYWD7-00DVVl-3I
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 23:48:13 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dcf18-2eae-0a2a0a5409dd-0a2a450bc4b2-28
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:13 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd01c-212f-0a2a450b0019-d155802ba569-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:13 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-490b3e03939so16301845e9.1
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 14:48:13 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492202edf89sm113877065e9.1.2026.06.13.14.48.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 13 Jun 2026 14:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781387292; x=1781992092; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=aDpOdhu2pX3r4tDQzsxVRLFNGhGBpjSsL2fSh51Ah0k=;
        b=XK54b7VKjEMIbTH28aN8AuBcp2Y0NKIMry5JrJ2oQvFGwQ/5Yi+g/fbuOnWmfO3Yo7
         P3KOOpXL+36LHzgrmLivPdVvJJvhoSb81B52UozAwsVFaneUlynnCCBvJrsLeoG5GxWs
         usC2CTsjHPYDrfazfUAW3bJSbL/aoDWNMbw/HhrYKyUA5JA15ByUnfyTvyZbUdTyz3U+
         U4aKqjnQXU9SHn33aJgQSbx5GYIRmCYNsAsmWX3jHlpShCYVW/kPuTiEgvyLc/t1rstq
         Bvni69xVNlD6SrFoTC6Fj68W+iq/XpSZpbxW0gXjqmSQSzKmnLOySYKatxhnEfwbARzx
         aaig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781387292; x=1781992092;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=aDpOdhu2pX3r4tDQzsxVRLFNGhGBpjSsL2fSh51Ah0k=;
        b=BYRVprisdZgo+Ut0ovjxukA5ZvQJ478Zo20v5NYT3KAp9OAN0ITwc9cZS2VUK01I/B
         PQjzdfnpKuMtyxb9Owl+HETvOFdt+7hUc1ohm6wIDUJagz2coQfTLOYNIbIlyVMjLU5r
         OYY1wFb+murzAC+++auBqoo+g2ZEErrYzvdWCXB/knBcqVFAQSRKNtdqXM11Dd35nFUa
         KU+uUwj6QIwK/Q99TgLrxaa/YWELM+Q8dXTQWpGtWQGOT1ZeJBxZjEezFQdssOvEwSBg
         ZpjccZaDFE63C4geo7y6PtGS8nTeqCr/ulNw5H6BW5AQv4pDSxJLCfBsdxlDQmK9EgXt
         JLRw==
X-Gm-Message-State: AOJu0Yxsxw6z6kx7PrhR0FLzg2KWSrRaIUTwDLE1cXPccPqrYC/SN2Hw
	A+ipgYSCr8MlID58LMjYEJKi9MWiNaUmK9C55o6KFnhUE92JSi3B3WCJFah6lOhwK+8=
X-Gm-Gg: Acq92OErA8rAZlIlb7m1aaRM7kBVc0VYaUTeZxIFd0/+7xrBrkOAYbG4nm/vQUPHu/l
	mFu4FmRDFQc2PtMdUJAd/RSb2FigqvS0Yv/LBAf6nis8im6pUx954IGFhFAN9ZJmOkkEWrqKJRo
	VpbF/L1YNyz6R7y2qF4VUzizF2lI0+iMMa/E9/F+1ePGD133fpmWQ3yfJAGvLL2vQL79ljR+D5w
	r9GKUeuRNjxn+Pa7QoFHl9TUkoDlgG1o/zHwplsHsiS27Tj9mqUCNa8vQSp8rzCEw0ip8q/V6Fh
	Xz40NR5J7MHbvGaa6gIsayuDkY9/+nYFI5tEow1oaclqOmaMQbkwB+vkf54KR1pFFDC7lxbh0/P
	5r68XWMImX4F0HE3NwQOM4RnW1xjU6XF+/Z+jlz077plWeBSWjRiXwNeQYbgzYQnCwmZKardwk7
	BHqXKuSNgPK9odHRs34HHpVResHVKOtetfyP3Dd2H+Elqdu3BO0k1UqfVNrRN/k9CVfzrtrKRg3
	m98tFqyEZu2rNYrNwLFbl+sWA==
X-Received: by 2002:a05:600c:698c:b0:48f:e230:29f5 with SMTP id 5b1f17b1804b1-490ec4e9147mr79639675e9.16.1781387292459;
        Sat, 13 Jun 2026 14:48:12 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edwin.torok@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v5 05/16] libs/guest: allocate various migration arrays just once
Date: Sat, 13 Jun 2026 22:47:38 +0100
Message-ID: <20260613214749.20620-6-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260613214749.20620-1-frediano.ziglio@cloud.com>
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1781387293-1A36CF3B-6CE8E2E1/0/0
X-purgate-type: clean
X-purgate-size: 6557

From: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>

Allocate these array just once at the start of migration,
using the maximum batch size, and free them at the end.

Signed-off-by: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v2:
- change prefix in subject.

Changes since v3:
- fix comment style

Changes since v4:
- change order of fields in structure.
---
 tools/libs/guest/xg_sr_common.h | 13 +++++++
 tools/libs/guest/xg_sr_save.c   | 66 +++++++++++++--------------------
 2 files changed, 39 insertions(+), 40 deletions(-)

diff --git a/tools/libs/guest/xg_sr_common.h b/tools/libs/guest/xg_sr_common.h
index f1573aefcb..95b0564e5c 100644
--- a/tools/libs/guest/xg_sr_common.h
+++ b/tools/libs/guest/xg_sr_common.h
@@ -209,6 +209,18 @@ static inline int update_blob(struct xc_sr_blob *blob,
     return 0;
 }
 
+struct xc_sr_context_save_buffers
+{
+    xen_pfn_t batch_pfns[MAX_BATCH_SIZE];
+    xen_pfn_t mfns[MAX_BATCH_SIZE];
+    xen_pfn_t types[MAX_BATCH_SIZE];
+    void *guest_data[MAX_BATCH_SIZE];
+    void *local_pages[MAX_BATCH_SIZE];
+    struct iovec iov[MAX_BATCH_SIZE + 2]; /* Headers + data. */
+    uint64_t rec_pfns[MAX_BATCH_SIZE];
+    int errors[MAX_BATCH_SIZE];
+};
+
 struct xc_sr_context
 {
     xc_interface *xch;
@@ -244,6 +256,7 @@ struct xc_sr_context
             unsigned long *deferred_pages;
             unsigned long nr_deferred_pages;
             xc_hypercall_buffer_t dirty_bitmap_hbuf;
+            struct xc_sr_context_save_buffers *buffers;
         } save;
 
         struct /* Restore data. */
diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index 8c31f9f86c..4988d8040b 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -86,16 +86,16 @@ static int write_checkpoint_record(struct xc_sr_context *ctx)
 static int write_batch(struct xc_sr_context *ctx)
 {
     xc_interface *xch = ctx->xch;
-    xen_pfn_t *mfns = NULL, *types = NULL;
+    xen_pfn_t *mfns, *types;
     void *guest_mapping = NULL;
-    void **guest_data = NULL;
-    void **local_pages = NULL;
-    int *errors = NULL, rc = -1;
+    void **guest_data;
+    void **local_pages;
+    int *errors, rc = -1;
     unsigned int i, p, nr_pages = 0, nr_pages_mapped = 0;
     unsigned int nr_pfns = ctx->save.nr_batch_pfns;
     void *page, *orig_page;
-    uint64_t *rec_pfns = NULL;
-    struct iovec *iov = NULL; int iovcnt = 0;
+    uint64_t *rec_pfns;
+    struct iovec *iov; int iovcnt = 0;
     struct {
         struct xc_sr_rhdr rec;
         struct xc_sr_rec_page_data_header page_data;
@@ -104,26 +104,24 @@ static int write_batch(struct xc_sr_context *ctx)
     };
 
     assert(nr_pfns != 0);
+    assert(nr_pfns <= MAX_BATCH_SIZE);
+    assert(ctx->save.buffers);
 
     /* Mfns of the batch pfns. */
-    mfns = malloc(nr_pfns * sizeof(*mfns));
+    mfns = ctx->save.buffers->mfns;
     /* Types of the batch pfns. */
-    types = malloc(nr_pfns * sizeof(*types));
+    types = ctx->save.buffers->types;
     /* Errors from attempting to map the gfns. */
-    errors = malloc(nr_pfns * sizeof(*errors));
+    errors = ctx->save.buffers->errors;
     /* Pointers to page data to send.  Mapped gfns or local allocations. */
-    guest_data = calloc(nr_pfns, sizeof(*guest_data));
+    guest_data = ctx->save.buffers->guest_data;
+    memset(guest_data, 0, sizeof(*guest_data) * nr_pfns);
     /* Pointers to locally allocated pages.  Need freeing. */
-    local_pages = calloc(nr_pfns, sizeof(*local_pages));
+    local_pages = ctx->save.buffers->local_pages;
+    memset(local_pages, 0, sizeof(*local_pages) * nr_pfns);
     /* iovec[] for writev(). */
-    iov = malloc((nr_pfns + 2) * sizeof(*iov));
-
-    if ( !mfns || !types || !errors || !guest_data || !local_pages || !iov )
-    {
-        ERROR("Unable to allocate arrays for a batch of %u pages",
-              nr_pfns);
-        goto err;
-    }
+    iov = ctx->save.buffers->iov;
+    rec_pfns = ctx->save.buffers->rec_pfns;
 
     for ( i = 0; i < nr_pfns; ++i )
     {
@@ -209,14 +207,6 @@ static int write_batch(struct xc_sr_context *ctx)
         }
     }
 
-    rec_pfns = malloc(nr_pfns * sizeof(*rec_pfns));
-    if ( !rec_pfns )
-    {
-        ERROR("Unable to allocate %zu bytes of memory for page data pfn list",
-              nr_pfns * sizeof(*rec_pfns));
-        goto err;
-    }
-
     hdrs.rec.length = sizeof(hdrs.page_data);
     hdrs.rec.length += nr_pfns * sizeof(*rec_pfns);
     hdrs.rec.length += nr_pages * PAGE_SIZE;
@@ -267,17 +257,13 @@ static int write_batch(struct xc_sr_context *ctx)
     rc = ctx->save.nr_batch_pfns = 0;
 
  err:
-    free(rec_pfns);
     if ( guest_mapping )
         xenforeignmemory_unmap(xch->fmem, guest_mapping, nr_pages_mapped);
     for ( i = 0; local_pages && i < nr_pfns; ++i )
+    {
         free(local_pages[i]);
-    free(iov);
-    free(local_pages);
-    free(guest_data);
-    free(errors);
-    free(types);
-    free(mfns);
+        local_pages[i] = NULL;
+    }
 
     return rc;
 }
@@ -806,18 +792,18 @@ static int setup(struct xc_sr_context *ctx)
 
     dirty_bitmap = xc_hypercall_buffer_alloc_pages(
         xch, dirty_bitmap, NRPAGES(bitmap_size(ctx->save.p2m_size)));
-    ctx->save.batch_pfns = malloc(MAX_BATCH_SIZE *
-                                  sizeof(*ctx->save.batch_pfns));
     ctx->save.deferred_pages = bitmap_alloc(ctx->save.p2m_size);
+    ctx->save.buffers = calloc(1, sizeof(*ctx->save.buffers));
 
-    if ( !ctx->save.batch_pfns || !dirty_bitmap || !ctx->save.deferred_pages )
+    if ( !dirty_bitmap || !ctx->save.deferred_pages || !ctx->save.buffers)
     {
-        ERROR("Unable to allocate memory for dirty bitmaps, batch pfns and"
-              " deferred pages");
+        ERROR("Unable to allocate memory for dirty bitmaps, deferred pages"
+              " and various batch buffers");
         rc = -1;
         errno = ENOMEM;
         goto err;
     }
+    ctx->save.batch_pfns = ctx->save.buffers->batch_pfns;
 
     rc = 0;
 
@@ -841,7 +827,7 @@ static void cleanup(struct xc_sr_context *ctx)
     xc_hypercall_buffer_free_pages(xch, dirty_bitmap,
                                    NRPAGES(bitmap_size(ctx->save.p2m_size)));
     free(ctx->save.deferred_pages);
-    free(ctx->save.batch_pfns);
+    free(ctx->save.buffers);
 }
 
 /*
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Sat Jun 13 21:48:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 21:48:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337561.1598905 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYWDE-0003Gw-La; Sat, 13 Jun 2026 21:48:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337561.1598905; Sat, 13 Jun 2026 21:48:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYWDE-0003G2-GZ; Sat, 13 Jun 2026 21:48:20 +0000
Received: by outflank-mailman (input) for mailman id 1337561;
 Sat, 13 Jun 2026 21:48:19 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wYWDC-0002vD-RJ
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 21:48:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYWDC-006VOz-8B
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 23:48:18 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dcfe1-e002-0a2a0a5209dd-0a2a4509edf2-6
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:18 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd022-2497-0a2a45090019-d155802bbd49-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:18 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-490b12270b3so12637205e9.1
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 14:48:18 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492202edf89sm113877065e9.1.2026.06.13.14.48.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 13 Jun 2026 14:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781387298; x=1781992098; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kZLqhAsEGWHmz0lV8qaz7KK9CmcVhtj8aflYqjYEp+c=;
        b=mnxIRCsyer12mBvOHgDifaR5ohSDWRcJFb1LaNV0OmKOWDjNxgVED6IxI7SrJFKVnZ
         B8vY9kV4R5rXiB/i/SlpH4QDsvZDCwfawNJgDed3l0L99ryQPshLiqQehN+5z+lhoYPN
         HShjjW9MOtoGrlUBxe5Jrf12DoIGkkCf5mJokoiqx6Q7d0ZY7DhFwMgUzD1QuG+/NgEm
         ohHTiDxLGavqEHGmdkow0ERunE83ovWLEXWOXHTCAXMfepJshtNBfN5alYHjWeTq8wOa
         Ge80jz31rzZpEN7fIuN9w+6QVQ7ywBR85/rGU0V77aky83FU1VnE+GBAB3ecLqG4rTQS
         lZtQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781387298; x=1781992098;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=kZLqhAsEGWHmz0lV8qaz7KK9CmcVhtj8aflYqjYEp+c=;
        b=j7TVbPCn4LYdfoqfVCPcAL6fyvgebrYqqxnawgMExU6CCC0HB1rg5/uPW05lShEYo8
         aYkbrqG5N+M2hX/OGsQPzrIb4W4b4rtu/tb7HCJJYOpB6dETBNFLPxyaBXwRR00DiiM9
         G7wW23WE9cxqonqsVRYMO7tehBW1+LYNaVhWNJAbXICI+ixmP8Wsy5nxKjPrSGqzCAea
         D+wjaeffIq/TAEDkxBK43FR1bxie/hwq2E/3JCJ6Q/CTnuLfRmYkb2QAq3nqgMwSC3+l
         WnRDp2w053H9deQpQtBXiRN2hQKbuc0QqPRB1YQ1QKXfKviSblJjOxiLXlp0VfpFI/Jn
         BdrQ==
X-Gm-Message-State: AOJu0YysDxBFXL9dAcSYt3hV7o8dbcqaqVgSAvi1drGWLGIkXM0n7uBq
	H6E+olkZiaYjOI0si+dbFBPelPpdFVCs2Rxrf5lGZdkaElT43OkwUYPnaNhd6ZAb1xA=
X-Gm-Gg: Acq92OFTxDtFsyW415ztR7D2Is8jsD5xqhaYxZa/j0sSehea28diCldvDF2jhq74y2k
	J9IL66m07N6djHuLWmxjKZMkReTjBdFJ6l3Rw16L6QB3Z2nyzWTljA+e8erj3WvTpR2nsq7K+4O
	7ERrjkddNvYDVwKTEWDSMTpXDyZHk8UZXi0ab4rRv2czOiQpXWQi9SA5joo7uANeSBM67XIvL5Q
	Husq+LNRN7gujES//mqDnPCmpmjA8NXQh3LwNALW1M/0sYFNdJfwI0yWkSlx4PTKpjyfvgZtovj
	2vb31+mFoV9wBtsTqM/oypanAaLQk0yYioRUI3GWNFBwjB2dlR0TXHLneKJSNfgG+XdG0rz1fl4
	EfZkP7CFKd5EW4iKYBL+SOqkDxlD4HpPyiiAq/iInz/IkeKbQBKXd2avvda9xrF5CbxVHQrAuIS
	TvqET7U64n3IOPJxJovpTzDFc1s8SnnSgAgtPQ7M+7VfpskCMoTYCEu8pN/Ow23IlYVL5sK9JvR
	C+1jIZ/2YMxyoXhfi5QE6ltgA==
X-Received: by 2002:a05:600c:3153:b0:490:e5c1:b897 with SMTP id 5b1f17b1804b1-490ec4fe7c2mr108569145e9.20.1781387297616;
        Sat, 13 Jun 2026 14:48:17 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v5 10/16] libs/guest: add xg_foreignmemory_copy_{from,to}
Date: Sat, 13 Jun 2026 22:47:43 +0100
Message-ID: <20260613214749.20620-11-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260613214749.20620-1-frediano.ziglio@cloud.com>
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1781387298-8A98FA53-81DB1CEF/0/0
X-purgate-type: clean
X-purgate-size: 3485

From: Frediano Ziglio <frediano.ziglio@citrix.com>

This change prepare code to use a new "foreign copy" hypercall.
The new hypercall will copy memory from/to a foreign domain.
The new hypercall can be emulated with a sequence of:
- map foreign memory;
- copy memory;
- unmap foreign memory.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/libs/guest/xg_sr_common.c | 60 +++++++++++++++++++++++++++++++++
 tools/libs/guest/xg_sr_common.h |  8 +++++
 2 files changed, 68 insertions(+)

diff --git a/tools/libs/guest/xg_sr_common.c b/tools/libs/guest/xg_sr_common.c
index 9b2782b5cf..f760b63548 100644
--- a/tools/libs/guest/xg_sr_common.c
+++ b/tools/libs/guest/xg_sr_common.c
@@ -156,6 +156,66 @@ static void __attribute__((unused)) build_assertions(void)
     BUILD_BUG_ON(sizeof(struct xc_sr_rec_hvm_params)        != 8);
 }
 
+enum {
+    foreigncopy_from,
+    foreigncopy_to
+};
+
+static int xg_foreignmemory_copy(xc_interface *xch, domid_t domid,
+                                 int dir, size_t nr_pages, void *buffer,
+                                 const xen_pfn_t foreign_pfns[nr_pages])
+{
+    if ( nr_pages == 0 )
+        return 0;
+
+    if ( !buffer || !foreign_pfns )
+    {
+        errno = EINVAL;
+        return -1;
+    }
+
+    int err[nr_pages];
+    const int prot = (dir == foreigncopy_from) ? PROT_READ : PROT_READ|PROT_WRITE;
+
+    void *p = xenforeignmemory_map(xch->fmem, domid, prot, nr_pages, foreign_pfns, err);
+    if ( !p )
+    {
+        errno = EINVAL;
+        return -1;
+    }
+
+    for ( size_t n = 0; n < nr_pages; ++n )
+        if ( err[n] )
+        {
+            xenforeignmemory_unmap(xch->fmem, p, nr_pages);
+            errno = -err[n];
+            return -1;
+        }
+
+    if ( dir == foreigncopy_from )
+        memcpy(buffer, p, nr_pages * XC_PAGE_SIZE);
+    else
+        memcpy(p, buffer, nr_pages * XC_PAGE_SIZE);
+
+    return xenforeignmemory_unmap(xch->fmem, p, nr_pages);
+}
+
+int xg_foreignmemory_copy_from(xc_interface *xch, domid_t dom,
+                               size_t nr_pages, void *dest,
+                               const xen_pfn_t source[nr_pages])
+{
+    return xg_foreignmemory_copy(xch, dom, foreigncopy_from,
+                                 nr_pages, dest, source);
+}
+
+int xg_foreignmemory_copy_to(xc_interface *xch, domid_t dom,
+                             size_t nr_pages, const xen_pfn_t dest[nr_pages],
+                             const void *source)
+{
+    return xg_foreignmemory_copy(xch, dom, foreigncopy_to,
+                                 nr_pages, (void *) source, dest);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/guest/xg_sr_common.h b/tools/libs/guest/xg_sr_common.h
index b2c441b644..e37f805240 100644
--- a/tools/libs/guest/xg_sr_common.h
+++ b/tools/libs/guest/xg_sr_common.h
@@ -553,6 +553,14 @@ static inline bool page_type_has_stream_data(uint32_t type)
     }
 }
 
+int xg_foreignmemory_copy_from(xc_interface *xch, domid_t dom,
+                               size_t nr_pages, void *dest,
+                               const xen_pfn_t source[nr_pages]);
+
+int xg_foreignmemory_copy_to(xc_interface *xch, domid_t dom,
+                             size_t nr_pages, const xen_pfn_t dest[nr_pages],
+                             const void *source);
+
 #endif
 /*
  * Local variables:
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Sat Jun 13 21:48:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 21:48:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337554.1598838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYWD8-0001Sn-8g; Sat, 13 Jun 2026 21:48:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337554.1598838; Sat, 13 Jun 2026 21: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 1wYWD7-0001Rl-VU; Sat, 13 Jun 2026 21:48:13 +0000
Received: by outflank-mailman (input) for mailman id 1337554;
 Sat, 13 Jun 2026 21:48:12 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wYWD6-0001Bd-1p
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 21:48:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYWD5-00DVVl-F2
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 23:48:11 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dcf4e-2eae-0a2a0a5409dd-0a2a4506b662-28
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:11 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd01b-7371-0a2a45060019-d1558035e9ae-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:11 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-490aebf33e9so9222165e9.3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 14:48:11 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492202edf89sm113877065e9.1.2026.06.13.14.48.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 13 Jun 2026 14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781387291; x=1781992091; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=U0X1FdY41+Cjrz6QWLlOKKWLZuKlvYQpTdBJUqPk0yo=;
        b=sgezM7xDgbMt2nAmE2xrL89o/8xjVPvAxSj14nymZf9HEZ1ejks7AjEED95SNKY2EM
         Em/Gql+fMLz0at3Atj5TFDyfAkB9liYt0RzKWYjtC6fwZyGIIMJzi+N0xcI+F6OFr3Yl
         xEoSotwFDr4TzS6IC6yn/jkzsG1pa7am+brMIjgNv77lzESm/Nx9F+9ufXw6HGr8sH6/
         fMDFUwRnCXh0OmQeim92V0nz3VC28P7G/ECj2ayrPnraZ8CAGUvL56rxxmBGUYYmWcnw
         7JxFvuQGyx/qsxS/cWb4y2lFhYu9eSj8onueNAqzQprKeF2mc7wdvWPLdiRg2JoJqM9s
         DxEg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781387291; x=1781992091;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=U0X1FdY41+Cjrz6QWLlOKKWLZuKlvYQpTdBJUqPk0yo=;
        b=rBAlYUPmh1g4fUeXaworPqSmsuK+TxcLKK9iQaufQPl3WGuGX9DHkSHKxb/Zl99hly
         8P+Dmub7yyVtK+1Jji0ji5e0z7dxAFxiiGxR9iipNE9O0ax3kmHyuCSsTBHjbhQAF3PP
         QbnjJtGDyPI4IMQ7JmNtySz97tNW4H9IJv0NRjuJTtWrK8yq8Z7XRPzj5yLK15hec8HO
         XXNCwyrXRCNHTxGHloWxDOYFlwg6H0YM9YSeJ5AcBXOmRratHUIW3ZyVSiJz6tDTl4xQ
         iJ8Gri7xf6LGu0jb4LXGbrFRbj8ZeFM3SJzAe5a9gAFVjJT4RHTGMCF99mbx4Ezz3/+e
         QqSA==
X-Gm-Message-State: AOJu0YxnJonZs5HbZcR8qBPsjubK6+xXNh4EJ2paxA4QdiQ0kzaEXqKC
	DZ47Tq8hJrmrWdPMDdMoWWudfvDt0WRIRRugYUn8H9EOCH0uyJLYRVYqc6zva5IW9Sg=
X-Gm-Gg: Acq92OH8OmOUTIyOhsftNFYTrs4nCfAdADkQj+2Whh8acs+IvIWF+AXAbfjxj2EhisO
	/Iz2sKxYU6QNQIjtz96wbH166mhYGdvjvL2Ps6FVppxs38p1DBbVoyM8g8xeAgNjiMO+gtJxbFn
	NZdpsy8cPHFMdOjGUwP5evMprNz51ZyIu2Ng/19+GWpe4JjznB3MOn3oGiiavKezmq5B9GRigBf
	Wp4we/dwV5KJ3Dtz4P3/eBkO6+AWRqLpCyCen+NzHq4GNgASLHeauaxf5uotOG9as52XWUF3kFl
	1bdVpnzoi85whcfz98I3/aJWNW6f8KB9WWf+moHrj/O4r1/O2ltXZMcIYxKC5Q8Qam2h9VCfwCB
	Ny9NOAK+VMo0XDXWLxT+gFvMvlHgM8TazjRbkeMeImmC9F5HMvDvAy2cORiuwCG9DYFHAwg4hBi
	00gumbmg/sIRPwW8gomNbLThTF99TVJKy1133QL0sN1kQZSpIZdNSYUDB5gZDfIu0kmJgZpMjt9
	9ufslWPStwtuS7qVjMIqroeqQ==
X-Received: by 2002:a05:600c:4595:b0:48f:d5b8:5b07 with SMTP id 5b1f17b1804b1-490ec4fb683mr105962455e9.20.1781387290817;
        Sat, 13 Jun 2026 14:48:10 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v5 03/16] libs/guest: Reduce number of I/O vectors in write_batch
Date: Sat, 13 Jun 2026 22:47:36 +0100
Message-ID: <20260613214749.20620-4-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260613214749.20620-1-frediano.ziglio@cloud.com>
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1781387291-8EB8BD75-75A58380/0/0
X-purgate-type: clean
X-purgate-size: 1609

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Each page was sent using a different iovec item. This potentially exceed
Linux maximum (1024).
Coalesce adjacent IO vector elements to attempt to reduce the number of
overall IO vectors for each operation.
Also some implementation (MiniOS) emulate writev with multiple write calls.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
--
Changes since v2:
- change prefix in subject.

Changes since v4:
- added Reviewed-by;
- improved commit message;
- minor style fix.
---
 tools/libs/guest/xg_sr_save.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index 68ce1aeb98..eba33f861a 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -239,13 +239,21 @@ static int write_batch(struct xc_sr_context *ctx)
     {
         for ( i = 0; i < nr_pfns; ++i )
         {
-            if ( guest_data[i] )
+            if ( !guest_data[i] )
+                continue;
+
+            if ( iov[iovcnt - 1].iov_base + iov[iovcnt - 1].iov_len !=
+                 guest_data[i] )
             {
                 iov[iovcnt].iov_base = guest_data[i];
                 iov[iovcnt].iov_len = PAGE_SIZE;
                 iovcnt++;
-                --nr_pages;
             }
+            else
+            {
+                iov[iovcnt - 1].iov_len += PAGE_SIZE;
+            }
+            --nr_pages;
         }
     }
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Sat Jun 13 21:48:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 21:48:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337560.1598900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYWDE-0003Bu-8e; Sat, 13 Jun 2026 21:48:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337560.1598900; Sat, 13 Jun 2026 21:48:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYWDE-0003Aw-0q; Sat, 13 Jun 2026 21:48:20 +0000
Received: by outflank-mailman (input) for mailman id 1337560;
 Sat, 13 Jun 2026 21:48:18 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wYWDC-0002jU-4a
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 21:48:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYWDB-00DVVl-Hj
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 23:48:17 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dcf18-2eae-0a2a0a5409dd-0a2a450bc4b2-32
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:17 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd021-212f-0a2a450b0019-d1558030c84f-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:17 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-490a76757e5so14953915e9.2
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 14:48:17 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492202edf89sm113877065e9.1.2026.06.13.14.48.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 13 Jun 2026 14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781387297; x=1781992097; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9MhL+IoB2npTTdx+dYewd7GvfekT0Xac13RwRFw6zgo=;
        b=NTvVG6dNhC3mEpRfBD2njqws/hYIb+dx6lb09jaYgR9Xog+3Gb+aiXxRjnqz1NcI9I
         5sub9RwrS36/DeXf3MIAVBQzOhx/ltjqsHMuqvOKNKRe9WuTN4/iRMY6djAhtL4hvCr/
         tfoQlKDYbsZCYOD2VTW5h0j6YL/HCXINYQmYuDbX1f0I5CBmq+3/78f6/GRnvgHiT0Sn
         2pZaG1yk2VU6ns7S2DDYo2Qru7fUL5cXwD3xs4Gv++YgU2vUejR0Xa74zmIHDKeeTfBO
         g+kujPjSY2wsObeL3mGAvy4sUjWOucwXHr4C652njY7kEVvONCtMxg+DhQDCVeTl+95I
         fZrw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781387297; x=1781992097;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=9MhL+IoB2npTTdx+dYewd7GvfekT0Xac13RwRFw6zgo=;
        b=NrWlriWDq7P8X7RyhayyksPXYhvMPsBxmrRpFmuT9PhghsNjkqBOjXWXOmjxjzmd2r
         4LIyKHtEIgQ3y8VmfGYcSM597v8+Npzv8gvAJXEbieiCLaVf7H+XF8Iq1i2fBzaihaHn
         oB+syRMVusRG4KpyjnJX24L6Ub0x8q2I/4qMnPqAfgdFwm9UYaqJdCAT090qjZwsqJKN
         vyBksQmo6+sms8n1GAcbs1ENYtvNEGlY3HRm8eeaOhvGpeV8PDSmUVtvLtvk5AhPVo/j
         K9jON2994n428CKVJ3ykIT/hJ1OwdcUlQIgi+H5IJdpBsFCityUGqoyKBfBI+TIuGRwN
         cruA==
X-Gm-Message-State: AOJu0Yyl9ugs5D5L4rwCw+OqRAfZocNFOtiCnXPk4Ilcg84DpfrBAuo8
	H2QCuXfC7eUr4C8jS8au3tIWlGEOgD3gq+WhO8JqwKoQBB7/fWZnTiNjZjmTa1n4xP4=
X-Gm-Gg: Acq92OF+YuwiyllxGNHF1ULVEiTS2VNQ+LBpTQrIOhiiccULuvmRC+Pi7FBs1Jzwbzd
	BHc64kfasStyD8ME0G3GxexhKTa6sky1I14VA3CBTORXO5JI4D5Lh2ucbEMw/5U6h3XR1E4HlFH
	FZvLg2Kohq6dA1cm9g1650smWU1zMja5o1wbk2a4a3yOjwawknc9KMi9OKRKonjUTszI5WS59s6
	j05D34ISAF5ihXrbgMiTjgYzo5AQ9Eaz+S9zwR3ZC5eTnArjFaOOsRJRCkiqSiqGEpfmIMtRSKr
	sYlszc79MHDp4DjuZElsa98xVnX3EU4T6JKb027s8H9R8t1eZ9jzKCPCUtHKG1Y1ohYIHPCUxw7
	stiDlPBNNouB2UxJPig8o/IGE2rx9+865wXa4tn7O5kViO41+J9YZN/8BG0dZ1jDksrWIDmU6wY
	Za4NLfODq11Tnc1h6wBEndy6r1gO+iLvdzGbzBpP8pfFpwp64PyBNhWvJ28MQOVO1muEHREexBE
	0T71jMW0Q2e0YEOW0KFatYRUQ==
X-Received: by 2002:a05:600c:4e4e:b0:490:e196:e8df with SMTP id 5b1f17b1804b1-492200bb228mr56160055e9.23.1781387296918;
        Sat, 13 Jun 2026 14:48:16 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v5 09/16] libs/ctrl: Allows writev_exact to change iov array
Date: Sat, 13 Jun 2026 22:47:42 +0100
Message-ID: <20260613214749.20620-10-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260613214749.20620-1-frediano.ziglio@cloud.com>
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1781387297-13F7EF3B-2B28A7F9/0/0
X-purgate-type: clean
X-purgate-size: 3226

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Avoid having to allocate and copy the array if a partial write
happens.
The implementation in tools/libs/store/xs.c already use this
signature and method.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v2:
- change prefix in subject.
---
 tools/libs/ctrl/xc_private.c | 26 +++++---------------------
 tools/libs/ctrl/xc_private.h |  2 +-
 2 files changed, 6 insertions(+), 22 deletions(-)

diff --git a/tools/libs/ctrl/xc_private.c b/tools/libs/ctrl/xc_private.c
index bb0f81d6f3..946fc307aa 100644
--- a/tools/libs/ctrl/xc_private.c
+++ b/tools/libs/ctrl/xc_private.c
@@ -635,7 +635,7 @@ int write_exact(int fd, const void *data, size_t size)
 /*
  * MiniOS's libc doesn't know about writev(). Implement it as multiple write()s.
  */
-int writev_exact(int fd, const struct iovec *iov, int iovcnt)
+int writev_exact(int fd, struct iovec *iov, int iovcnt)
 {
     int rc, i;
 
@@ -649,9 +649,8 @@ int writev_exact(int fd, const struct iovec *iov, int iovcnt)
     return 0;
 }
 #else
-int writev_exact(int fd, const struct iovec *iov, int iovcnt)
+int writev_exact(int fd, struct iovec *iov, int iovcnt)
 {
-    struct iovec *local_iov = NULL;
     int rc = 0, iov_idx = 0, saved_errno = 0;
     ssize_t len;
 
@@ -686,23 +685,9 @@ int writev_exact(int fd, const struct iovec *iov, int iovcnt)
                 len -= iov[iov_idx++].iov_len;
             else
             {
-                /* Partial write of iov[iov_idx]. Copy iov so we can adjust
-                 * element iov_idx and resubmit the rest. */
-                if ( !local_iov )
-                {
-                    local_iov = malloc(iovcnt * sizeof(*iov));
-                    if ( !local_iov )
-                    {
-                        saved_errno = ENOMEM;
-                        rc = -1;
-                        goto out;
-                    }
-
-                    iov = memcpy(local_iov, iov, iovcnt * sizeof(*iov));
-                }
-
-                local_iov[iov_idx].iov_base += len;
-                local_iov[iov_idx].iov_len  -= len;
+                /* Partial write of iov[iov_idx]. */
+                iov[iov_idx].iov_base += len;
+                iov[iov_idx].iov_len  -= len;
                 break;
             }
         }
@@ -711,7 +696,6 @@ int writev_exact(int fd, const struct iovec *iov, int iovcnt)
     saved_errno = 0;
 
  out:
-    free(local_iov);
     errno = saved_errno;
     return rc;
 }
diff --git a/tools/libs/ctrl/xc_private.h b/tools/libs/ctrl/xc_private.h
index b5892ae8dc..3af996e900 100644
--- a/tools/libs/ctrl/xc_private.h
+++ b/tools/libs/ctrl/xc_private.h
@@ -383,7 +383,7 @@ int xc_flush_mmu_updates(xc_interface *xch, struct xc_mmu *mmu);
 /* Return 0 on success; -1 on error setting errno. */
 int read_exact(int fd, void *data, size_t size); /* EOF => -1, errno=0 */
 int write_exact(int fd, const void *data, size_t size);
-int writev_exact(int fd, const struct iovec *iov, int iovcnt);
+int writev_exact(int fd, struct iovec *iov, int iovcnt);
 
 int xc_ffs8(uint8_t x);
 int xc_ffs16(uint16_t x);
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Sat Jun 13 21:48:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 21:48:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337555.1598842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYWD8-0001Vb-F6; Sat, 13 Jun 2026 21:48:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337555.1598842; Sat, 13 Jun 2026 21: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 1wYWD8-0001UA-7r; Sat, 13 Jun 2026 21:48:14 +0000
Received: by outflank-mailman (input) for mailman id 1337555;
 Sat, 13 Jun 2026 21:48:12 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wYWD6-0001By-R5
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 21:48:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYWD6-008PGn-8A
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 23:48:12 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd008-5cb7-0a2a0a5109dd-0a2a4503cafc-6
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:12 +0200
Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd01c-672d-0a2a45030019-d1558036c0a3-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:12 +0200
Received: by mail-wm1-f54.google.com with SMTP id
 5b1f17b1804b1-490c1915793so17459295e9.2
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 14:48:12 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492202edf89sm113877065e9.1.2026.06.13.14.48.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 13 Jun 2026 14:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781387292; x=1781992092; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=D4nbEc3Hba3N2KI3dfDDijdsISWgf8o8baaY4LyLZGQ=;
        b=TKYyiPfEpiOm1eXe2WqqNcTigQxahHZW5RUxQZC7S6C1E0LPVmUn7ILQ+lZaAFhhTM
         Xq/lYPY2xxRO2GVYZDSlR5+aIy3rbjVlxawcSs66X0/jU2HxCmCGK8TiaccSL320jTV3
         QjRzGMRazvHVUyPQD41G+HBRrlZOVIb/cHxnfYNc/LrUPn7rW3q+GQvPujgu1ord8Bbv
         Nh5MvHYrBQSnDD4tOE5MEV0E7wL7DSKos3OtoWL3pFewREYprE5tgLIZYylsorSGU0X3
         YLhmOFbheW6+99OxJIfqkGO4Mffrb0xOK9hmPslXbTNWaMh2a1IOV1TiX2sK3gMgqCe7
         Ck/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781387292; x=1781992092;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=D4nbEc3Hba3N2KI3dfDDijdsISWgf8o8baaY4LyLZGQ=;
        b=CR/LllSrXC2RhOqO9iiR3f8KBaQKj7db4uPes6az2RXnTSPW2xNH4jS8jz5MhVVgEl
         khT0nzaRVvSzvGetq+vPhoavTxpNjSYXawzjcE0cOrnlKuExb5HLsM5RT+KX80KeVytg
         rWIWoIlJpSCeAbbIrzCVmN1Y8ZWG4U0iDzErK8LNHyx+8jEpL61q9Mvk0RfmBuMsvdbL
         8SvFSpzfgdLcA9pNv9ostsI+JgSkdW1jjTfQDAa1toJeusqGg+liRpR2VAwFzm2UYOJe
         qBuBXR93b34ZyJ2vAb5pnK4HOMXKq/iXxNsH4lWvtW/Jvjf/V/rorjcK4RAKrQxUK4Ok
         DVsQ==
X-Gm-Message-State: AOJu0YxwydD7i/r/uFbPCyTzoqgUw0p3il7/ZUkYcQiCRu5ExCr8Y1TP
	MmTefZlgfBjIZx+WIiJBoVg/7OgcLeCoGQEzmL8gNYb/3D3/gC8KvAIH+nIIIzEHsE4=
X-Gm-Gg: Acq92OEp5r4i3siKypzU/5F33jC6ftsQ5XOKi3eSx+a9P+QWJSPTQDKMVnoEzMxpCs4
	v4p9yEHzgLFFLQAuJIaWgAjBvvrXR+sfr3tSUZXUmHPo61hUX0/3/Lx3jLeQ/SDxtlA0enHLy8v
	bvWF2ulIdqf4+FX8L2fy/vSQknCYFmfCuyUlZJh5A1O5R8gva9e1yuhZ1v46ptbUXilfcPRHALI
	eM19oKyQ0sEh09O3PPs3twwCTeBBRG4TATxzp0HwOMjjX4RCFK+3g2202toswD+UoNiX2HXt0wg
	QY9Jv5VLzB+RE6UmtsFCaQHHw7qDzh6v81P3vDwTCWDPCbE2ODNRNsGNuFvaNb0ml+KCGHJdxFa
	Jy8vbUbRQdXO9ogf6lAeHnzYrRWUBIhfuz/ZTH3j6cL8puh48LwA9mI1RcrvZN67J2umuD7eF8q
	y5uvPaFBMkqFeKjRncicJOodHPTahSrQuATXxYzuupY4I7wzmeRPDMxKixvp0vTPtxVaUZlUuca
	DvySXK378U1NaF0HyoTMgjetQ==
X-Received: by 2002:a05:600c:3585:b0:490:b642:ce29 with SMTP id 5b1f17b1804b1-490ec4d4f71mr110120395e9.8.1781387291641;
        Sat, 13 Jun 2026 14:48:11 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v5 04/16] libs/guest: Use a single write_exact in write_headers
Date: Sat, 13 Jun 2026 22:47:37 +0100
Message-ID: <20260613214749.20620-5-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260613214749.20620-1-frediano.ziglio@cloud.com>
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1781387292-40E68938-4E91282B/0/0
X-purgate-type: clean
X-purgate-size: 2454

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Reduce number of syscalls by coalescing the image and the domain headers
into a single I/O vector array.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
--
Changes since v2:
- change prefix in subject.

Changes since v4:
- added Reviewed-by;
- improved commit message.
---
 tools/libs/guest/xg_sr_save.c | 37 +++++++++++++++++------------------
 1 file changed, 18 insertions(+), 19 deletions(-)

diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index eba33f861a..8c31f9f86c 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -10,17 +10,22 @@ static int write_headers(struct xc_sr_context *ctx, uint16_t guest_type)
 {
     xc_interface *xch = ctx->xch;
     int32_t xen_version = xc_version(xch, XENVER_version, NULL);
-    struct xc_sr_ihdr ihdr = {
-        .marker  = IHDR_MARKER,
-        .id      = htonl(IHDR_ID),
-        .version = htonl(3),
-        .options = htons(IHDR_OPT_LITTLE_ENDIAN),
-    };
-    struct xc_sr_dhdr dhdr = {
-        .type       = guest_type,
-        .page_shift = XC_PAGE_SHIFT,
-        .xen_major  = (xen_version >> 16) & 0xffff,
-        .xen_minor  = (xen_version)       & 0xffff,
+    struct {
+        struct xc_sr_ihdr ihdr;
+        struct xc_sr_dhdr dhdr;
+    } hdrs = {
+        {
+            .marker  = IHDR_MARKER,
+            .id      = htonl(IHDR_ID),
+            .version = htonl(3),
+            .options = htons(IHDR_OPT_LITTLE_ENDIAN),
+        },
+        {
+            .type       = guest_type,
+            .page_shift = XC_PAGE_SHIFT,
+            .xen_major  = (xen_version >> 16) & 0xffff,
+            .xen_minor  = (xen_version)       & 0xffff,
+        },
     };
 
     if ( xen_version < 0 )
@@ -29,15 +34,9 @@ static int write_headers(struct xc_sr_context *ctx, uint16_t guest_type)
         return -1;
     }
 
-    if ( write_exact(ctx->fd, &ihdr, sizeof(ihdr)) )
-    {
-        PERROR("Unable to write Image Header to stream");
-        return -1;
-    }
-
-    if ( write_exact(ctx->fd, &dhdr, sizeof(dhdr)) )
+    if ( write_exact(ctx->fd, &hdrs, sizeof(hdrs)) )
     {
-        PERROR("Unable to write Domain Header to stream");
+        PERROR("Unable to write Headers to stream");
         return -1;
     }
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Sat Jun 13 21:48:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 21:48:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337563.1598927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYWDH-0003zy-JV; Sat, 13 Jun 2026 21:48:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337563.1598927; Sat, 13 Jun 2026 21:48: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 1wYWDH-0003zf-AH; Sat, 13 Jun 2026 21:48:23 +0000
Received: by outflank-mailman (input) for mailman id 1337563;
 Sat, 13 Jun 2026 21:48:21 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wYWDF-0003Np-6T
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 21:48:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYWDE-008PGn-JF
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 23:48:20 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dcfd3-5cb7-0a2a0a5109dd-0a2a450cacfa-38
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:20 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd024-62f1-0a2a450c0019-d1558033a9e6-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:20 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-490bc6a7958so25605155e9.1
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 14:48:20 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492202edf89sm113877065e9.1.2026.06.13.14.48.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 13 Jun 2026 14:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781387300; x=1781992100; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rC9oMPrikP1DR4bdlCBP5UvN/gvi04b0BUj4Wu7mpg8=;
        b=tKMdMzqCYveqQ3enzFBulLHTraTHTnTPrBmMYNqlWTJ7f1LysP5YLAsy52MffSMZ5i
         2Zq9DSutOGZy+Z8eGn62WDE1pC2e1NmXc0KzGehubUpCCT5uqUv0bBpAvQU80+S6zU0X
         /Gb2WokK8Pk5u4/L6t31uRZw+LHi5cHyXET+Mjzk9gZoBrAPWvk+ayAeJnizD+6q+PFz
         4cmz8tquQ/+k7SzuUKK+VNYAVVP3izgk0ODcN9T7llL5x5JesleUkc8rJ9PcHB0IGSrA
         HA/9Vo0DqzHeptzUcsRxI1Rua42/qpDLJ1578Rw5Rt4ORrBCOuynmJVyI/pqLcrXeKhW
         vdsg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781387300; x=1781992100;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=rC9oMPrikP1DR4bdlCBP5UvN/gvi04b0BUj4Wu7mpg8=;
        b=gKMiDWZvgNft4kXnlmtnyKjQlvqoX1yHrlvXTTyw0xVtC2VUEeXycdvoFln3deecTT
         mLaRBCI+YxnxtCDHPmcsBJD898eeFc4SJ0K70nxohFfGLAcYFlLwjysYOE8lvRc2Zydj
         GTnJamYzwJNE2WExCGpxl0x4+aFI4uQYmEPzYcwEC82xIvusIaiwwZQzq0L8QcU7RX0y
         4gZi+4HJXsHij7951nhGkXNCT5x2N6cKaC3kC1r7z67Y8NPq9/Gqd7NIeDLoRyKOR1Gy
         bkBA1hqjgWXt7x4Z5tmNl+id/GOi0IHtffMt0VfYbLW1hd3uDPiYbpblSMjwbxGHWbDr
         hXJg==
X-Gm-Message-State: AOJu0YwQKo3bpMuLt/8Y6t9A+SiOVghMjO/HVbUDHx6HCWAbfXPoFegw
	N4xSgBIWuvIJnODSDYdaje96tveqDI5fKDmh0LXFq2FIxhzsCtXICPcL4N3xR+cFe8g=
X-Gm-Gg: Acq92OGiGillS3NDren0/wEW5MVZyE8WVmQfSKZq6Hkh2q0AQ6TpRsW5jdS86Q0wA1N
	ZS2t/AG4p5pZs/eC3ykD+HsyWg8P0smrwBxb1F46HpdUC8vpBKiR1Hyg+TRqETKGvOfpWeO0oli
	0XMgiOGDK4OsaLAIQIeQoa3dzyntaNMTrz/sTshlZhuDY1hKXZ5QAZnljO6t6XCqsGLDovyEk0r
	groWX9pXG9xAkvNcrCanOZSpbk7h5acqyFwisgj43CMwyWmb3QQiPyy1SAKSzZIXj1/23tiR6fQ
	03AJUh7GS8j53pfHmbVQQWTlz5+jjjfXM5ZKkFFGbnr/cPAF0LHEK7lR51mfblXnHbmAM7UsNXh
	ngnyJ/pZ84ybGUJIpFx/ME7pYiF3ORq9hpVdTl8dEUtXKnBzVcUb2Bh1+eWpTanpaMVcYIlxS9t
	MBe08j02xaPP2cduJsQqMxKfk5+xvbYPaQp+CquNjYDPwW8qBkUrJmkwVgfY1D84Xsj3z62/JUw
	HvSMElUjUl6HB2ExNN9zK1hPg==
X-Received: by 2002:a05:600c:138b:b0:490:5000:917 with SMTP id 5b1f17b1804b1-490ec480f21mr92445035e9.1.1781387299825;
        Sat, 13 Jun 2026 14:48:19 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v5 12/16] xen: implement new foreign copy hypercall
Date: Sat, 13 Jun 2026 22:47:45 +0100
Message-ID: <20260613214749.20620-13-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260613214749.20620-1-frediano.ziglio@cloud.com>
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1781387300-E0567CF5-A84C957D/0/0
X-purgate-type: clean
X-purgate-size: 6580

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Add a sub hypercall to __HYPERVISOR_memory_op to allow to
read/write memory from/to a foreign domain.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v4:
- Fix typo in comment;
- removed from check.
---
 xen/common/memory.c         | 134 ++++++++++++++++++++++++++++++++++++
 xen/include/public/memory.h |  40 ++++++++++-
 2 files changed, 173 insertions(+), 1 deletion(-)

diff --git a/xen/common/memory.c b/xen/common/memory.c
index 3672bda025..8e6317d3cf 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -1545,6 +1545,133 @@ static int acquire_resource(
     return rc;
 }
 
+/*
+ * The "noinline" qualifier avoids the compiler to create a large function
+ * consuming quite a lot of stack.
+ */
+static int noinline mem_foreigncopy(
+    XEN_GUEST_HANDLE_PARAM(xen_foreigncopy_t) arg)
+{
+    struct domain *d, *const currd = current->domain;
+    xen_foreigncopy_t copy;
+    int rc, direction;
+
+    if ( copy_from_guest(&copy, arg, 1) )
+        return -EFAULT;
+
+    if ( copy.flags & ~1U )
+        return -EINVAL;
+
+    direction = copy.flags & XENMEM_foreigncopy_direction;
+
+    if ( copy.nr_frames == 0 )
+        return 0;
+
+    rc = rcu_lock_remote_domain_by_id(copy.domid, &d);
+    if ( rc )
+        return rc;
+
+    /*
+     * Check we are allowed to map and access these foreign pages.
+     */
+    rc = xsm_map_gmfn_foreign(XSM_TARGET, currd, d);
+    if ( rc )
+        goto out;
+
+    do {
+        /*
+         * Arbitrary size.  Not too much stack space, and a reasonable stride
+         * for continuation checks.
+         */
+        xen_pfn_t gfn_list[32];
+        unsigned int todo = MIN(ARRAY_SIZE(gfn_list), copy.nr_frames);
+
+        rc = -EFAULT;
+        if ( copy_from_guest(gfn_list, copy.frame_list, todo) )
+            goto out;
+
+        for ( unsigned i = 0; i < todo; i++ )
+        {
+            struct page_info *foreign_page;
+            void *foreign;
+            p2m_type_t p2mt;
+            const unsigned long valid_mask =
+#ifdef CONFIG_X86
+                p2m_to_mask(p2m_ram_rw) | p2m_to_mask(p2m_ram_logdirty);
+#else
+                p2m_to_mask(p2m_ram_rw);
+#endif
+
+            foreign_page = get_page_from_gfn(d, gfn_list[i], &p2mt, P2M_ALLOC);
+
+            if ( unlikely(p2m_to_mask(p2mt) & valid_mask) && foreign_page )
+            {
+                put_page(foreign_page);
+                foreign_page = NULL;
+            }
+            if ( unlikely(!foreign_page) )
+            {
+                gdprintk(XENLOG_WARNING,
+                         "Error accessing foreign gfn %" PRI_gfn "\n",
+                         gfn_list[i]);
+                rc = -EINVAL;
+                copy.nr_frames -= i;
+                guest_handle_add_offset(copy.frame_list, i);
+                goto out;
+            }
+
+            /* A page is dirtied when it's being copied to. */
+            if ( direction == XENMEM_foreigncopy_to )
+                paging_mark_dirty(d, page_to_mfn(foreign_page));
+
+            foreign = map_domain_page(page_to_mfn(foreign_page));
+            if ( direction == XENMEM_foreigncopy_from )
+                rc = copy_to_guest(copy.buffer, foreign, PAGE_SIZE);
+            else
+                rc = copy_from_guest(foreign, copy.buffer, PAGE_SIZE);
+            unmap_domain_page(foreign);
+            put_page(foreign_page);
+
+            if ( unlikely(rc) )
+            {
+                gdprintk(XENLOG_WARNING,
+                         "Error %d copying gfn %" PRI_gfn "\n",
+                         -rc, gfn_list[i]);
+                copy.nr_frames -= i;
+                guest_handle_add_offset(copy.frame_list, i);
+                goto out;
+            }
+
+            guest_handle_add_offset(copy.buffer, PAGE_SIZE);
+        }
+
+        copy.nr_frames -= todo;
+        guest_handle_add_offset(copy.frame_list, todo);
+
+        if ( copy.nr_frames && hypercall_preempt_check() )
+        {
+            rc = hypercall_create_continuation(
+                __HYPERVISOR_memory_op, "lh", XENMEM_foreigncopy, arg);
+            goto out;
+        }
+    } while ( copy.nr_frames );
+
+    rc = 0;
+
+ out:
+    rcu_unlock_domain(d);
+
+    /*
+     * Update in all cases, it allows the caller to know how many
+     * frames were successfully copied and the continuation to
+     * continue correctly.
+     */
+    if ( __copy_to_guest(arg, &copy, 1) )
+        rc = -EFAULT;
+
+    return rc;
+}
+
 long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
 {
     struct domain *d, *curr_d = current->domain;
@@ -2012,6 +2139,13 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
             start_extent);
         break;
 
+    case XENMEM_foreigncopy:
+        if ( unlikely(start_extent) )
+            return -EINVAL;
+
+        rc = mem_foreigncopy(guest_handle_cast(arg, xen_foreigncopy_t));
+        break;
+
     default:
         rc = arch_memory_op(cmd, arg);
         break;
diff --git a/xen/include/public/memory.h b/xen/include/public/memory.h
index bd9fc37b52..b48d1f378f 100644
--- a/xen/include/public/memory.h
+++ b/xen/include/public/memory.h
@@ -740,7 +740,45 @@ struct xen_vnuma_topology_info {
 typedef struct xen_vnuma_topology_info xen_vnuma_topology_info_t;
 DEFINE_XEN_GUEST_HANDLE(xen_vnuma_topology_info_t);
 
-/* Next available subop number is 29 */
+/*
+ * Copy memory from/to a given domain.
+ */
+#define XENMEM_foreigncopy 29
+struct xen_foreigncopy {
+    /* IN - The domain whose resource is to be copied. */
+    domid_t domid;
+
+    /* IN - Flags. */
+#define XENMEM_foreigncopy_from 0
+#define XENMEM_foreigncopy_to 1
+#define XENMEM_foreigncopy_direction 1
+    uint16_t flags;
+
+    /*
+     * IN
+     *
+     * As an IN parameter number of frames of the domain to be copied.
+     */
+    uint32_t nr_frames;
+
+    /*
+     * IN
+     *
+     * Frames to be copied.
+     */
+    XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
+
+    /*
+     * IN/OUT
+     *
+     * Userspace buffer to read/write from.
+     */
+    XEN_GUEST_HANDLE(uint8) buffer;
+};
+typedef struct xen_foreigncopy xen_foreigncopy_t;
+DEFINE_XEN_GUEST_HANDLE(xen_foreigncopy_t);
+
+/* Next available subop number is 30 */
 
 #endif /* __XEN_PUBLIC_MEMORY_H__ */
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Sat Jun 13 21:48:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 21:48:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337564.1598933 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYWDJ-0004Dx-12; Sat, 13 Jun 2026 21:48:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337564.1598933; Sat, 13 Jun 2026 21: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 1wYWDI-0004Dd-Mt; Sat, 13 Jun 2026 21:48:24 +0000
Received: by outflank-mailman (input) for mailman id 1337564;
 Sat, 13 Jun 2026 21:48:22 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wYWDG-0003js-E1
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 21:48:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYWDF-008PGn-RB
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 23:48:21 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd008-5cb7-0a2a0a5109dd-0a2a4503cafc-16
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:21 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd025-672d-0a2a45030019-d1558030bc9b-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:21 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-4921eed3fa2so8258805e9.0
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 14:48:21 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492202edf89sm113877065e9.1.2026.06.13.14.48.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 13 Jun 2026 14:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781387301; x=1781992101; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+xFs89+81xqcLpzv1mSuMxyfcArrfVpcycWVoWyDSCc=;
        b=HLgR1pOt5nxcJAg99jTP851Ax5l9qVPasjv+G0APOysmYnGOtaZXWZWc0kRzNWFG73
         Ta5tyIs7Neek8Jj/bCFDwEoIBjy676kF4E0GRR0s/klRGIeQAIk1V0PRjdfI+t8gDSg4
         vZqYjj9242+A7pLaMIm5tjFv5YzxMMj1I6cvYeLRV8YB8KfZOtOrdQrJtKjdRFk7lxRd
         3AkVqxUZlU7Z9qW8MYh6CGeDctL1Ofqgjb2e9Q83Ikx2BhF6+L5hAogTfAe5e59kdT8F
         n+ZpYrOslq+wlLYOJNGWneymtnrE+LSizZ95g2NFNZZ2oV3nmdv17Nz328+3+EMFQ+MM
         bY9Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781387301; x=1781992101;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=+xFs89+81xqcLpzv1mSuMxyfcArrfVpcycWVoWyDSCc=;
        b=f3qnXKt15hZF3rWHwci4+2aX15MNg9AR50avG/56vcO3wtuM5AlUhY95PWyolm8dy9
         VISMjO2zGcfzdCP2fEjtCUhpo+FNU5RZmU6eUN8sCZIrDTB9RgtWbFGW1KN8YvOYn8P6
         pg7WK7ugQdOczphpvDJJzOTYTmFUPEkhL+xZWPM0CPK6QUj3TkeIW3mZrZBt/hL3RxgQ
         fbwKXT8tko3Wy9DeJg4dzTQfyhjsf+936uZYmW14U4rdfT3gAzhwazc8oZCV/3cbwqp1
         y6aTQvsgUYV/viT5+/VDCthXSKrSIq3GhrZtQnaOKfhjxmcI4tOTVzVZUPxOsOACpv6f
         M87w==
X-Gm-Message-State: AOJu0YxaOpT4g2cejlKOVlWTLMAoHSyeMTPj6BnETjKFolJs82kkh6jV
	8DPIYE1TBRqjsiVcmrOPca7gjBDfvilN1hpiZODXk45TJyzxakout0Cg9D8bYrrG77c=
X-Gm-Gg: Acq92OF3k1/MT6dBHsNRAje70A5+6BJmNNmcvhNHZTJoDwJRJE9xzp6zDVmE84id51s
	CccCiOepHFI5SH7Xb9x4V8VObCIF7LQMDJe2DS++AURuboLVid2qbjKrAHJ38fExybKoxN3XUim
	EBZfVglwD7tRPFa0QY9gKqhpD8j3HjOlzXzaRkdI9YfCLT1+8HIXI9VPxwAVclE1ai2tnVUntHs
	7K34O/3cgCWz5j8+0QE06a/qvxomQzKe/JpTWrdLOZa5Nd6IqmoeGVSLyVCh+ouZR3XtFSxri8O
	14biUi3GiTOH80gvImVF+ey6VEGaU+CKAiW/frwb0oQq9+bDK7DJ2DKqx+pTTJcFM+YlsBA6N53
	ZnqNjSjnt/RhmxyrIHhIaKZoWzGDV4NIbZO5BpYoW9VynwN+ybVyv3SuIPiIonuc9CyqOoefuyt
	YN9bprmrSZrtkJ4wEcM5dc9EyLhGB2ixAbg5yJt9643Nh7wfopfWEzcsycbfGpjpbOTi+iTkOnB
	0JJXiHx9hTALwbjAfcGMrwDI5Pu4OhBIbvC
X-Received: by 2002:a05:600c:e556:20b0:490:b9c3:6c58 with SMTP id 5b1f17b1804b1-490ec4fe879mr74128225e9.16.1781387301227;
        Sat, 13 Jun 2026 14:48:21 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v5 13/16] privcmd: Add definition for new Linux privcmd to access new Xen hypercall
Date: Sat, 13 Jun 2026 22:47:46 +0100
Message-ID: <20260613214749.20620-14-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260613214749.20620-1-frediano.ziglio@cloud.com>
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1781387301-36746938-7B93632F/0/0
X-purgate-type: clean
X-purgate-size: 1454

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Userspace should use new ioctl to access new hypercall.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v4:
- update comment.
---
 tools/include/xen-sys/Linux/privcmd.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/tools/include/xen-sys/Linux/privcmd.h b/tools/include/xen-sys/Linux/privcmd.h
index 607dfa2287..7a3c41308b 100644
--- a/tools/include/xen-sys/Linux/privcmd.h
+++ b/tools/include/xen-sys/Linux/privcmd.h
@@ -100,6 +100,14 @@ typedef struct privcmd_pcidev_get_gsi {
 	__u32 gsi;
 } privcmd_pcidev_get_gsi_t;
 
+typedef struct privcmd_foreigncopy {
+	domid_t dom;          /* Foreign domain. */
+	__u16 dir;            /* Direction,  0 from, 1 to. */
+	__u32 num;            /* Number of pages to copy. */
+	const xen_pfn_t __user *pfns; /* Array of pfns. */
+	void __user *buffer;  /* Buffer to copy to/from. */
+} privcmd_foreigncopy_t;
+
 /*
  * @cmd: IOCTL_PRIVCMD_HYPERCALL
  * @arg: &privcmd_hypercall_t
@@ -121,6 +129,8 @@ typedef struct privcmd_pcidev_get_gsi {
 	_IOC(_IOC_NONE, 'P', 7, sizeof(privcmd_mmap_resource_t))
 #define IOCTL_PRIVCMD_PCIDEV_GET_GSI			\
 	_IOC(_IOC_NONE, 'P', 10, sizeof(privcmd_pcidev_get_gsi_t))
+#define IOCTL_PRIVCMD_FOREIGNCOPY				\
+	_IOWR('P', 11, privcmd_foreigncopy_t)
 #define IOCTL_PRIVCMD_UNIMPLEMENTED				\
 	_IOC(_IOC_NONE, 'P', 0xFF, 0)
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Sat Jun 13 21:48:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 21:48:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337565.1598938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYWDK-0004Kg-1W; Sat, 13 Jun 2026 21:48:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337565.1598938; Sat, 13 Jun 2026 21:48: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 1wYWDJ-0004Il-Cw; Sat, 13 Jun 2026 21:48:25 +0000
Received: by outflank-mailman (input) for mailman id 1337565;
 Sat, 13 Jun 2026 21:48:24 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wYWDH-00042b-Rr
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 21:48:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYWDH-00DVVl-7z
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 23:48:23 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dcf9c-2eae-0a2a0a5409dd-0a2a4507e990-40
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:23 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd027-229c-0a2a45070019-d1558035e569-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:23 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-490b4a8e28bso15449405e9.1
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 14:48:23 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492202edf89sm113877065e9.1.2026.06.13.14.48.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 13 Jun 2026 14:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781387303; x=1781992103; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yUOm7tCutCPMEp2EsZgFN8Gvb7lSqyzyFNxwcVNzws0=;
        b=sLKnqmgmVih/QFsnNKfwgBRTw+wi/29W5drCCGUD5khgg2QeuDQ/v/C8FS7UdojJAq
         /FNdC22i6Owd5R1qjgJLj4zv0vwTDmz1pdJd6JJCwUJF3NR/KtSIg58jvpPVoa7ILcgJ
         IyHZWJzR6/weQIpuW5rPvnEq+um/RViurkvCT1pAcPpUPfbvkbYyt8dfvg15fjwUPVck
         GGWOmUmKbfhogLOkbCrNv8bKGFUjI82srhGtt4kVwSLquakH2Xl9XUH1p5W8JpbX4vAF
         KvbrPGfY2ElZvLxYBuTHPbnrUk0vWZ2Z7S7bRL9rPKUI8zj7yoEsK7vMyyrc0x+RzQjD
         T8jA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781387303; x=1781992103;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=yUOm7tCutCPMEp2EsZgFN8Gvb7lSqyzyFNxwcVNzws0=;
        b=Wxr9Si21gSOu1Hvfm+pvVQgVwFexDh2F4MA4FUhb0j2NSv7vjl+KLGla0qPVmsAGcX
         YCWOxOCsD+Zv306097eezlNliEGSOvWkrOxalq8Cq7xM+SimGdnnSfge+H2LPa97i5HZ
         4ITA2z/hFU/07TO2mDwYMtbc1OmRDpUK4Kym5ADKqr/OtyVAm3rLHQ8cQWsRSfAehGUN
         99TuraYwDbsuphlG8WVCLtFonAcUnDmgG2aX7bhYSIZ0SyhwIcuVGuXFzjftcNLdXaFi
         MbsqfgyhCSSHuJf8lr2ZuEwFiHcm3lpnnz4//4hwaSPXMgH9fOxETqW1eVcTIrn1m4oZ
         xHpg==
X-Gm-Message-State: AOJu0YwIpgp9KZ6QrOZrE/XwmDk4g7xVwTVVNU+JQwkCe1pAt7SrSkNZ
	GjjMy8iTTYFGteupo9HYzBSfa6QCUDqGOjZw7zf0Nh45wHfCxqTRiJRjKHZnUluXJl8=
X-Gm-Gg: Acq92OHrIQoA9frNcoLs0PDYVdEzAMnySVsOgVRg5EupYh9HnaLlbwd7yAIbgi7sVyp
	w5uqlT3L5cq9WTXaWaaepPi9pUvoLBTIqaLaSsfkywzYVPhsRhN214HKC/GvIEF85y5b1MOmssW
	JySzMXB5tkc4jMam2R7nC8PIMbPjgZrw6DR/Jo3fTm47FlVq99g6c6+LOuNboSbcjg/gr6u9b5W
	0N664vy99cG7wiRwkOA2NdpJdh6cgfinS3tDVHEb4+0ikYVs9rmZ9wsuvPDnNP2UHErpjWUefWq
	uKq0eFwJG8gyPIhtSlsujyCZua8fh+PkuUEXbOHOdzI7U190OcvpaW4uZFBVQ9vMv2YNp5dl1WO
	d8vwnBX0FsHSpq/AdnOmLIm2r2Ry1UOBNdKRzN1NPSBdEddDOdWqCZuNhdyp7ppRsjzEia7QAo5
	/uZFzPYT1aD1vo+wmJE98LHzdkas6Dv+r9Z4jH3DwNmfbDtjXQB+PrB0fSCxfnJnIpcPYRRM2re
	BRHIVzG1q7N1jErtaC9XVXLrPo5QNRGkqqx
X-Received: by 2002:a05:600c:314a:b0:490:bcc1:4edb with SMTP id 5b1f17b1804b1-490ec504eb5mr92109205e9.27.1781387302615;
        Sat, 13 Jun 2026 14:48:22 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v5 14/16] libs/guest: use new hypercall if available
Date: Sat, 13 Jun 2026 22:47:47 +0100
Message-ID: <20260613214749.20620-15-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260613214749.20620-1-frediano.ziglio@cloud.com>
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1781387303-2236CC48-96F20C25/0/0
X-purgate-type: clean
X-purgate-size: 3659

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Use new hypercall if available, otherwise fall back to map+copy+unmap
sequence.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v4:
- use int8_t instead of char for signed type.
---
 tools/libs/guest/xg_sr_common.c | 47 ++++++++++++++++++++++++++-------
 1 file changed, 38 insertions(+), 9 deletions(-)

diff --git a/tools/libs/guest/xg_sr_common.c b/tools/libs/guest/xg_sr_common.c
index f760b63548..b26633d95f 100644
--- a/tools/libs/guest/xg_sr_common.c
+++ b/tools/libs/guest/xg_sr_common.c
@@ -156,11 +156,6 @@ static void __attribute__((unused)) build_assertions(void)
     BUILD_BUG_ON(sizeof(struct xc_sr_rec_hvm_params)        != 8);
 }
 
-enum {
-    foreigncopy_from,
-    foreigncopy_to
-};
-
 static int xg_foreignmemory_copy(xc_interface *xch, domid_t domid,
                                  int dir, size_t nr_pages, void *buffer,
                                  const xen_pfn_t foreign_pfns[nr_pages])
@@ -174,8 +169,42 @@ static int xg_foreignmemory_copy(xc_interface *xch, domid_t domid,
         return -1;
     }
 
+    /*
+     * If foreign copy is supported, -1 not initialized, 0 not supported,
+     * 1 supported.
+     */
+    static int8_t foreign_copy_supported = -1;
+
+    if ( foreign_copy_supported )
+    {
+        int rc;
+        privcmd_foreigncopy_t copy = {
+            .dom = domid,
+            .dir = dir,
+            .num = nr_pages,
+            .buffer = buffer,
+        };
+        DECLARE_HYPERCALL_BOUNCE_IN(foreign_pfns, nr_pages * sizeof(xen_pfn_t));
+
+        if ( xc_hypercall_bounce_pre(xch, foreign_pfns) )
+            return -1;
+
+        copy.pfns = foreign_pfns;
+
+        rc = ioctl(xencall_fd(xch->xcall), IOCTL_PRIVCMD_FOREIGNCOPY, &copy);
+        if ( foreign_copy_supported < 0 )
+            foreign_copy_supported =
+                (!rc || (errno != ENOTTY && errno != ENOSYS));
+
+        xc_hypercall_bounce_post(xch, foreign_pfns);
+
+        if ( foreign_copy_supported )
+            return rc;
+    }
+
+    /* Fallback, emulate. */
     int err[nr_pages];
-    const int prot = (dir == foreigncopy_from) ? PROT_READ : PROT_READ|PROT_WRITE;
+    const int prot = (dir == XENMEM_foreigncopy_from) ? PROT_READ : PROT_READ|PROT_WRITE;
 
     void *p = xenforeignmemory_map(xch->fmem, domid, prot, nr_pages, foreign_pfns, err);
     if ( !p )
@@ -192,7 +221,7 @@ static int xg_foreignmemory_copy(xc_interface *xch, domid_t domid,
             return -1;
         }
 
-    if ( dir == foreigncopy_from )
+    if ( dir == XENMEM_foreigncopy_from )
         memcpy(buffer, p, nr_pages * XC_PAGE_SIZE);
     else
         memcpy(p, buffer, nr_pages * XC_PAGE_SIZE);
@@ -204,7 +233,7 @@ int xg_foreignmemory_copy_from(xc_interface *xch, domid_t dom,
                                size_t nr_pages, void *dest,
                                const xen_pfn_t source[nr_pages])
 {
-    return xg_foreignmemory_copy(xch, dom, foreigncopy_from,
+    return xg_foreignmemory_copy(xch, dom, XENMEM_foreigncopy_from,
                                  nr_pages, dest, source);
 }
 
@@ -212,7 +241,7 @@ int xg_foreignmemory_copy_to(xc_interface *xch, domid_t dom,
                              size_t nr_pages, const xen_pfn_t dest[nr_pages],
                              const void *source)
 {
-    return xg_foreignmemory_copy(xch, dom, foreigncopy_to,
+    return xg_foreignmemory_copy(xch, dom, XENMEM_foreigncopy_to,
                                  nr_pages, (void *) source, dest);
 }
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Sat Jun 13 21:48:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 21:48:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337569.1598953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYWDM-0004wT-IT; Sat, 13 Jun 2026 21:48:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337569.1598953; Sat, 13 Jun 2026 21:48: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 1wYWDM-0004vI-5D; Sat, 13 Jun 2026 21:48:28 +0000
Received: by outflank-mailman (input) for mailman id 1337569;
 Sat, 13 Jun 2026 21:48:24 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wYWDI-0004Ay-JM
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 21:48:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYWDH-006VOz-Vv
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 23:48:23 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dcfc8-e002-0a2a0a5209dd-0a2a4502cc2a-20
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:23 +0200
Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd027-af86-0a2a45020019-d1558036a867-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:23 +0200
Received: by mail-wm1-f54.google.com with SMTP id
 5b1f17b1804b1-490b8ac62baso23531785e9.0
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 14:48:23 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492202edf89sm113877065e9.1.2026.06.13.14.48.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 13 Jun 2026 14:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781387303; x=1781992103; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ZdUdxNw3V024HIpq9dPJr4uS0iPxLBhpEEH+UqHTafI=;
        b=DOq1NtEo/ze3rMQy/YfqTj5K5+YXbgAXsQfnfee7DnFXe9HbIbgwo/xJr8Yd6Bf1HI
         CagomYznlmHL6m/jkjQ5MEV2lWNGOIExLtyI0xLzf6YR1RsuoxEzFE3POFGfCu+20wiy
         6056/4fAYq1TlgQOdo75zChIB7Mz+NaOjB0hbVzAA96v9doxP6DLx3tXwesNFQ1B4Z1b
         q16vK5PIXlF8b5nfTI/o4R1mGaxrCJ7MkusabQqOOgEQw8q+2Sb74A+NDftsGSv+IG1O
         YI9Zu3HAyrTRDyGd9vfFHmj+AjznN0TV91c7DOuJ7dWOqXuc3cKWWYB86T8Cd4U73rBX
         pduw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781387303; x=1781992103;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=ZdUdxNw3V024HIpq9dPJr4uS0iPxLBhpEEH+UqHTafI=;
        b=QoHJHC0ueAxaf3TD33YIwoHSqOAid8J0ybmc4BjfSFA7B3xJSqZ9XKSKUQMzNAyDC+
         /nqb2AkpDWL1GVwqsjTFjFXfqMOmgTJXvCsHHeTo3NmButG+eizWlCORf7dY7b4h9HDu
         z68qkDByWoXwGGdDQOMBH78T3TaXE5Du98rv8I5+c7CWe8OjmAlOYKdcotutXj0z9iW0
         VcTNRnBVtszTnwaF5gAAxyCWDFUA/YIM1TCWiJYM8fy4N4GEHHBCi50JOuYBRLIvf5zU
         C7jU3sgpKRZ6OCq4nCOUmWxqPh5vt5IIdIRA6NpSewhcy4MFXrpB21dwu79qOyor91ja
         gq/A==
X-Gm-Message-State: AOJu0YyY5jxbqWqMpOtYUzOBc7Pi5XK13G6fvqNTWunWkSGRFMCUzpCU
	hphEna4JXHmrOYW4qH5J67Om2z9cYC8feADM7UeWm/fAP4rWALDkYEcCx7uv5FaWF+4=
X-Gm-Gg: Acq92OHkiUZTNA00LWjBlU9av9H8sM7vbSQ9QoMp1PGt2CMNQJvNYETDCQ8hUqelbPM
	GtkiAkqIUnvBYC0bIEGRf5YbdOsM5SY85fzdRd59gKQl04svW7HpBsqLDhDc7vTfdsn5WwkZ1sN
	0Qu6jyznWFeiCAqXINlTpTb9hfyHRfz/x16/J7FXUNfhdcqQ5zDnH9vY5SoaPOK5tgFhdWJWPqb
	wRUp6qPJmcpjcFRABF3Oe3pemIWjYp8QamGnB0FE1Y16EQUF7iDLYgUt9eTWkw/OiYgQXQzb0Jv
	FZ98mD+fb3g9wf2lGUGL7JoZnRBmb0++x9rZfb/DK3jX2NaiOB9rAWfGH2i9UA6GHnHX4g6T88g
	8hI3iqpVDbe7q2MRHfrp39IUrFuVqtmWI9khXfAXEQ5z80uNXsRmPlAuxTJFB0chKbyjhwwRrRX
	OkeIekkXCduDUETAykI6LY2gr6GT7elQ21Pph7q9ZGcnVhkJOnkI+EWSP7Pwm1KX0G9EtJzo/JZ
	H6q537oS44JAx2qDnuyUdR0gw==
X-Received: by 2002:a05:600c:5290:b0:490:3cf0:8d81 with SMTP id 5b1f17b1804b1-490ec4dfa14mr80878945e9.13.1781387303319;
        Sat, 13 Jun 2026 14:48:23 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v5 15/16] libs/guest: finalize PoC
Date: Sat, 13 Jun 2026 22:47:48 +0100
Message-ID: <20260613214749.20620-16-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260613214749.20620-1-frediano.ziglio@cloud.com>
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1781387303-AA56B161-99C0D3E9/0/0
X-purgate-type: clean
X-purgate-size: 10593

From: Frediano Ziglio <frediano.ziglio@citrix.com>

Remove now unused map_errs array.
Test and restore verification code.
Report correctly errors from writev_exact.
Allocate verification buffer using hypercall buffer to avoid errors
using hypercall.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/libs/guest/xg_sr_common.h  |  4 +-
 tools/libs/guest/xg_sr_restore.c | 45 +++++++++++++++--
 tools/libs/guest/xg_sr_save.c    | 83 +++++++++++++++++++++-----------
 3 files changed, 98 insertions(+), 34 deletions(-)

diff --git a/tools/libs/guest/xg_sr_common.h b/tools/libs/guest/xg_sr_common.h
index d8d8a0f9f7..cd562f028a 100644
--- a/tools/libs/guest/xg_sr_common.h
+++ b/tools/libs/guest/xg_sr_common.h
@@ -217,7 +217,6 @@ struct xc_sr_context_save_buffers
     void *local_pages[MAX_BATCH_SIZE];
     struct iovec iov[MAX_BATCH_SIZE + 2]; /* Headers + data. */
     uint64_t rec_pfns[MAX_BATCH_SIZE];
-    int errors[MAX_BATCH_SIZE];
 };
 
 struct xc_sr_context
@@ -255,8 +254,8 @@ struct xc_sr_context
             unsigned long *deferred_pages;
             unsigned long nr_deferred_pages;
             xc_hypercall_buffer_t dirty_bitmap_hbuf;
+            xc_hypercall_buffer_t dest_buf;
             struct xc_sr_context_save_buffers *buffers;
-            void *dest_buf;
         } save;
 
         struct /* Restore data. */
@@ -267,6 +266,7 @@ struct xc_sr_context
             int send_back_fd;
             unsigned long p2m_size;
             xc_hypercall_buffer_t dirty_bitmap_hbuf;
+            xc_hypercall_buffer_t verify_buf;
 
             /* From Image Header. */
             uint32_t format_version;
diff --git a/tools/libs/guest/xg_sr_restore.c b/tools/libs/guest/xg_sr_restore.c
index ff27560ff7..b2df36c6f6 100644
--- a/tools/libs/guest/xg_sr_restore.c
+++ b/tools/libs/guest/xg_sr_restore.c
@@ -257,16 +257,15 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
 {
     xc_interface *xch = ctx->xch;
     xen_pfn_t *mfns = malloc(count * sizeof(*mfns));
-    int *map_errs = malloc(count * sizeof(*map_errs));
     int rc;
     unsigned nr_pages;
     void *const source = page_data;
 
-    if ( !mfns || !map_errs )
+    if ( !mfns )
     {
         rc = -1;
         ERROR("Failed to allocate %zu bytes to process page data",
-              count * (sizeof(*mfns) + sizeof(*map_errs)));
+              count * sizeof(*mfns));
         goto err;
     }
 
@@ -314,13 +313,33 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
         if ( rc < 0 )
             goto err;
     }
+    else
+    {
+        DECLARE_HYPERCALL_BUFFER_SHADOW(uint8_t, verify_buf,
+                                        &ctx->restore.verify_buf);
+
+        rc = xg_foreignmemory_copy_from(xch, ctx->domid, nr_pages, verify_buf, mfns);
+        if ( rc < 0 )
+            goto err;
+
+        void *guest_page = verify_buf;
+        page_data = source;
+        for ( unsigned i = 0; i < nr_pages; ++i )
+        {
+            /* Verify mode - compare incoming data to what we already have. */
+            if ( memcmp(guest_page, page_data, PAGE_SIZE) )
+                ERROR("verify pfn %#"PRIpfn" failed (type %#"PRIx32")",
+                      pfns[i], types[i] >> XEN_DOMCTL_PFINFO_LTAB_SHIFT);
+
+            guest_page += PAGE_SIZE;
+            page_data += PAGE_SIZE;
+        }
+    }
 
  done:
     rc = 0;
 
  err:
-
-    free(map_errs);
     free(mfns);
 
     return rc;
@@ -710,6 +729,18 @@ static int setup(struct xc_sr_context *ctx)
     int rc;
     DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap,
                                     &ctx->restore.dirty_bitmap_hbuf);
+    DECLARE_HYPERCALL_BUFFER_SHADOW(uint8_t, verify_buf,
+                                    &ctx->restore.verify_buf);
+
+    verify_buf = xc_hypercall_buffer_alloc_pages(
+        xch, verify_buf, MAX_BATCH_SIZE);
+
+    if ( !verify_buf )
+    {
+        ERROR("Unable to allocate memory for test buffer");
+        rc = -1;
+        goto err;
+    }
 
     if ( ctx->stream_type == XC_STREAM_COLO )
     {
@@ -758,6 +789,8 @@ static void cleanup(struct xc_sr_context *ctx)
     unsigned int i;
     DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap,
                                     &ctx->restore.dirty_bitmap_hbuf);
+    DECLARE_HYPERCALL_BUFFER_SHADOW(uint8_t, verify_buf,
+                                    &ctx->restore.verify_buf);
 
     for ( i = 0; i < ctx->restore.buffered_rec_num; i++ )
         free(ctx->restore.buffered_records[i].data);
@@ -766,6 +799,8 @@ static void cleanup(struct xc_sr_context *ctx)
         xc_hypercall_buffer_free_pages(
             xch, dirty_bitmap, NRPAGES(bitmap_size(ctx->restore.p2m_size)));
 
+    xc_hypercall_buffer_free_pages(xch, verify_buf, MAX_BATCH_SIZE);
+
     free(ctx->restore.buffered_records);
     free(ctx->restore.populated_pfns);
 
diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index 7a48f6b0a3..f6ada3152d 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -88,7 +88,7 @@ static int write_batch(struct xc_sr_context *ctx)
     xc_interface *xch = ctx->xch;
     xen_pfn_t *mfns, *types;
     void **local_pages;
-    int *errors, rc = -1;
+    int rc = -1;
     unsigned int i, nr_pages = 0;
     unsigned int nr_pfns = ctx->save.nr_batch_pfns;
     uint64_t *rec_pfns;
@@ -108,8 +108,6 @@ static int write_batch(struct xc_sr_context *ctx)
     mfns = ctx->save.buffers->mfns;
     /* Types of the batch pfns. */
     types = ctx->save.buffers->types;
-    /* Errors from attempting to map the gfns. */
-    errors = ctx->save.buffers->errors;
     /* Pointers to locally allocated pages.  Need freeing. */
     local_pages = ctx->save.buffers->local_pages;
     memset(local_pages, 0, sizeof(*local_pages) * nr_pfns);
@@ -165,18 +163,54 @@ static int write_batch(struct xc_sr_context *ctx)
 
     iovcnt = 2;
 
-    rc = xg_foreignmemory_copy_from(xch, ctx->domid, nr_pages, ctx->save.dest_buf, mfns);
-    if ( rc < 0 )
-    {
-        ERROR("xg_foreignmemory_copy_from failed");
-        goto err;
-    }
-
     if ( nr_pages )
     {
-        iov[iovcnt].iov_base = ctx->save.dest_buf;
-        iov[iovcnt].iov_len = nr_pages << XC_PAGE_SHIFT;
-        iovcnt++;
+        int p;
+        void *page, *orig_page;
+
+        DECLARE_HYPERCALL_BUFFER_SHADOW(uint8_t, dest_buf,
+                                        &ctx->save.dest_buf);
+
+        rc = xg_foreignmemory_copy_from(xch, ctx->domid, nr_pages, dest_buf, mfns);
+        if ( rc < 0 )
+        {
+            ERROR("xg_foreignmemory_copy_from failed");
+            goto err;
+        }
+
+        for ( i = 0, p = 0; i < nr_pfns; ++i )
+        {
+            if ( !page_type_has_stream_data(types[i]) )
+                continue;
+
+            orig_page = page = dest_buf + (p * PAGE_SIZE);
+            rc = ctx->save.ops.normalise_page(ctx, types[i], &page);
+
+            if ( orig_page != page )
+                local_pages[i] = page;
+
+            if ( rc )
+            {
+                if ( rc != -1 || errno != EAGAIN )
+                    goto err;
+
+                set_bit(ctx->save.batch_pfns[i], ctx->save.deferred_pages);
+                ++ctx->save.nr_deferred_pages;
+                types[i] = XEN_DOMCTL_PFINFO_XTAB;
+                --nr_pages;
+            }
+            else if ( iov[iovcnt-1].iov_base + iov[iovcnt-1].iov_len == page )
+            {
+                iov[iovcnt-1].iov_len += PAGE_SIZE;
+            }
+            else
+            {
+                iov[iovcnt].iov_base = page;
+                iov[iovcnt].iov_len = PAGE_SIZE;
+                iovcnt++;
+            }
+            ++p;
+        }
     }
 
     hdrs.rec.length += nr_pages * PAGE_SIZE;
@@ -187,6 +221,7 @@ static int write_batch(struct xc_sr_context *ctx)
     if ( writev_exact(ctx->fd, iov, iovcnt) )
     {
         PERROR("Failed to write page data to stream");
+        rc = -1;
         goto err;
     }
 
@@ -717,30 +752,23 @@ static int setup(struct xc_sr_context *ctx)
 {
     xc_interface *xch = ctx->xch;
     int rc;
-    const unsigned dest_buf_len = MAX_BATCH_SIZE * XC_PAGE_SIZE;
     DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap,
                                     &ctx->save.dirty_bitmap_hbuf);
+    DECLARE_HYPERCALL_BUFFER_SHADOW(uint8_t, dest_buf,
+                                    &ctx->save.dest_buf);
 
     rc = ctx->save.ops.setup(ctx);
     if ( rc )
         goto err;
 
+    dest_buf = xc_hypercall_buffer_alloc_pages(
+        xch, dest_buf, MAX_BATCH_SIZE);
     dirty_bitmap = xc_hypercall_buffer_alloc_pages(
         xch, dirty_bitmap, NRPAGES(bitmap_size(ctx->save.p2m_size)));
     ctx->save.deferred_pages = bitmap_alloc(ctx->save.p2m_size);
     ctx->save.buffers = calloc(1, sizeof(*ctx->save.buffers));
-    ctx->save.dest_buf = NULL;
-
-    rc = posix_memalign(&ctx->save.dest_buf, XC_PAGE_SIZE, dest_buf_len);
-    if ( rc )
-    {
-        ERROR("Unable to allocate %u bytes of buffer", dest_buf_len);
-        errno = rc;
-        rc = -1;
-        goto err;
-    }
 
-    if ( !dirty_bitmap || !ctx->save.deferred_pages || !ctx->save.buffers)
+    if ( !dirty_bitmap || !ctx->save.deferred_pages || !ctx->save.buffers || !dest_buf )
     {
         ERROR("Unable to allocate memory for dirty bitmaps, deferred pages"
               " and various batch buffers");
@@ -761,7 +789,8 @@ static void cleanup(struct xc_sr_context *ctx)
     xc_interface *xch = ctx->xch;
     DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap,
                                     &ctx->save.dirty_bitmap_hbuf);
-
+    DECLARE_HYPERCALL_BUFFER_SHADOW(uint8_t, dest_buf,
+                                    &ctx->save.dest_buf);
 
     xc_shadow_control(xch, ctx->domid, XEN_DOMCTL_SHADOW_OP_OFF,
                       NULL, 0);
@@ -771,9 +800,9 @@ static void cleanup(struct xc_sr_context *ctx)
 
     xc_hypercall_buffer_free_pages(xch, dirty_bitmap,
                                    NRPAGES(bitmap_size(ctx->save.p2m_size)));
+    xc_hypercall_buffer_free_pages(xch, dest_buf, MAX_BATCH_SIZE);
     free(ctx->save.deferred_pages);
     free(ctx->save.buffers);
-    free(ctx->save.dest_buf);
 }
 
 /*
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Sat Jun 13 21:48:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Jun 2026 21:48:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337574.1598958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYWDN-00055M-AQ; Sat, 13 Jun 2026 21:48:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337574.1598958; Sat, 13 Jun 2026 21:48: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 1wYWDM-00052N-O7; Sat, 13 Jun 2026 21:48:28 +0000
Received: by outflank-mailman (input) for mailman id 1337574;
 Sat, 13 Jun 2026 21:48:25 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wYWDJ-0004IA-Bw
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 21:48:25 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYWDI-008PGn-Ox
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 23:48:24 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd008-5cb7-0a2a0a5109dd-0a2a4503cafc-20
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:24 +0200
Received: from [209.85.128.47] (helo=mail-wm1-f47.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2dd028-672d-0a2a45030019-d155802fe467-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 23:48:24 +0200
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-490be03d47bso21011915e9.0
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 14:48:24 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492202edf89sm113877065e9.1.2026.06.13.14.48.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 13 Jun 2026 14:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781387304; x=1781992104; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GO+OrmTMVGaC0OpwuAjvGTXKlxzTulJK0lDq0/wgpGg=;
        b=VPEbClme/eaWceGZUChmMmSgnNFkgAdbwnIrsDOqW9iWjZJARzL397oL83TlSlEcS/
         WF/erNkJvk567/4Ka/mYZYPLVXNhRNBDpVcM8SFyAsxFmZr56t0m1jm4c4dv5d4uIWjH
         Mr76L7wx4pEfvaAh1GcAikFS5PEHIvBtyAw/fVwzJISQPRYOLQHSx9deJ6n3MJyTfcle
         hLUgB2QgXyuoyd7pXWGf6DKQA6j1/87s/tT6RlNj4NnBHR+i3Z8TA/D2isGv8LZMVVgT
         ok61ukHWkJgbPwLsejIi6huX62TAIQ66oNWDJGz9gDKmBocP93MM71jrOJ7xu8YjdDMH
         zIHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781387304; x=1781992104;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=GO+OrmTMVGaC0OpwuAjvGTXKlxzTulJK0lDq0/wgpGg=;
        b=Kpv9KqZ7RCK5sDh0K+ooWiv6qAsVU+JLlH+LXfFJ07hLhnKzInZTiS31d+fxZ+k+YR
         gUVKR03v/u730x+OBLeLQ8mAAx/xbA/zFfHuiw/S5Qm50BxZOIM+L5ABjjJWG5AWQw8w
         1TMtGbRwgKXDJCFlT1PO4lrZvnsPjKGAUioL1xGm/sg6d/E/tgDSbMm14WQWtUdXmc8Y
         XZKv6yCmiMvqkOI4fIRO5d1GRObk95qz2gDwqALPo7PkG6bIJj9uDLrayNQIRkR551y6
         L4SkY+2uJGBzNjE0yXE4uCQMu5OYdZfV3y7Tym3Vv7OsJ441u9Yrhv4/8p8gnRoMME9S
         Gckw==
X-Gm-Message-State: AOJu0YwEVh9u69rjveOWdZyhUmtpTycYuMUSyupjtnZpE3hnb/olFcQQ
	0ORfV6et6IvMbNPJwHxbar1R1cB5JUKeWhvJI795fYB60DabXH/yAEYLm6vxq+uaKgs=
X-Gm-Gg: Acq92OHf6nLR4sQmP0FOvcPaMjAuLWrnY1mzxiDS+2eIEaCf1ntm3Vl3LroebUlcTu4
	1JthL/v0Fs49D/G5G6xvC5Fcgw0ixvBzCsQcTqzqLhl8AuhW7/tFeTyROkyzHL3RxWod5BYhBuh
	/Q/KFVkUurfEHM4xU2s7jpvroDl0GgkKsNgtNwbosvSJ8Upp/RRh0aXlMf3fln0EUf8s2oZUDIK
	CLhQ6lN/jt3A4ONWz3zcgSksuN/dAByA+fu0mWx1b7DoKhUSydRUc880l17uYHNHNNiAH4lgoqo
	8u/WGAOTUele1zjfOGr4eZo8KyVRnXCsLD8dVgVBWy7jqKGUNuWKvpRT6amcePzSe4aDwkptNcE
	ijBfDFm8Ugm0u0s7mmen272x0K9ZWkWQ0+UQS4QPUzwJnRVKy11RgjJf/jKGziMLBXU4jEtUwBK
	VE3cXQanTktf1ybF6/yLuh+P5mkKe1s7K+9uRhoWFS9Lxb8rRgaeDrJDxlbOax/zi+XX0iq87HT
	AqhxoJLzbO36qpIZgJZHYzsrA==
X-Received: by 2002:a05:600c:c177:b0:490:c2a3:3303 with SMTP id 5b1f17b1804b1-490ec51f18dmr104287785e9.34.1781387304042;
        Sat, 13 Jun 2026 14:48:24 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH Linux v5 16/16] xen/privcmd: Add new ABI to allow copying foreign memory
Date: Sat, 13 Jun 2026 22:47:49 +0100
Message-ID: <20260613214749.20620-17-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260613214749.20620-1-frediano.ziglio@cloud.com>
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1781387304-38975938-0D1DB09A/0/0
X-purgate-type: clean
X-purgate-size: 5391

From: Frediano Ziglio <frediano.ziglio@citrix.com>

This new ABI allows to copy foreign domain memory to/from a buffer.
This avoids having to map/copy/unmap foreign memory which is
expensive.
This operation is done particularly when migrating VMs.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v4:
- fix wrong assign;
- use set_xen_guest_handle to set handle;
- wrap slow hypercall with xen_preemptible_hcall_{begin,end};
- use _IOWR for ioctl code to be more specific;
- use __copy_to_user if buffer already checked.

---
 arch/x86/include/asm/xen/interface.h |  1 +
 drivers/xen/privcmd.c                | 49 ++++++++++++++++++++++++++++
 include/uapi/xen/privcmd.h           | 10 ++++++
 include/xen/interface/memory.h       | 37 ++++++++++++++++++++
 4 files changed, 97 insertions(+)

diff --git a/arch/x86/include/asm/xen/interface.h b/arch/x86/include/asm/xen/interface.h
index a078a2b0f032..bac3c3bc60fd 100644
--- a/arch/x86/include/asm/xen/interface.h
+++ b/arch/x86/include/asm/xen/interface.h
@@ -91,6 +91,7 @@ DEFINE_GUEST_HANDLE(int);
 DEFINE_GUEST_HANDLE(void);
 DEFINE_GUEST_HANDLE(uint64_t);
 DEFINE_GUEST_HANDLE(uint32_t);
+DEFINE_GUEST_HANDLE(uint8_t);
 DEFINE_GUEST_HANDLE(xen_pfn_t);
 DEFINE_GUEST_HANDLE(xen_ulong_t);
 #endif
diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
index 725a49a0eee7..4ae9138dd314 100644
--- a/drivers/xen/privcmd.c
+++ b/drivers/xen/privcmd.c
@@ -1522,6 +1522,51 @@ static inline void privcmd_ioeventfd_exit(void)
 }
 #endif /* CONFIG_XEN_PRIVCMD_EVENTFD */
 
+static long privcmd_ioctl_foreigncopy(
+	struct file *file, void __user *udata)
+{
+	const struct privcmd_data *const data = file->private_data;
+	long ret;
+	struct privcmd_foreigncopy copy;
+	struct xen_foreigncopy xcopy;
+
+	if (copy_from_user(&copy, udata, sizeof(copy)))
+		return -EFAULT;
+	if (copy.dir & ~1u)
+		return -EINVAL;
+	if (copy.num >= U32_MAX >> PAGE_SHIFT)
+		return -EINVAL;
+	if (!access_ok(copy.pfns, copy.num * sizeof(*copy.pfns)))
+		return -EFAULT;
+	if (!access_ok(copy.buffer, copy.num << PAGE_SHIFT))
+		return -EFAULT;
+
+	/* If restriction is in place, check the domid matches */
+	if (data->domid != DOMID_INVALID && data->domid != copy.dom)
+		return -EPERM;
+
+	xcopy.domid = copy.dom;
+	xcopy.flags = copy.dir;
+	xcopy.nr_frames = copy.num;
+	set_xen_guest_handle(xcopy.frame_list,  (__force xen_pfn_t *)copy.pfns);
+	set_xen_guest_handle(xcopy.buffer, (__force uint8_t *)copy.buffer);
+
+	xen_preemptible_hcall_begin();
+	ret = HYPERVISOR_memory_op(XENMEM_foreigncopy, &xcopy);
+	xen_preemptible_hcall_end();
+
+	/* copy values back in case of error */
+	if (ret) {
+		copy.num = xcopy.nr_frames;
+		copy.pfns = xcopy.frame_list;
+		copy.buffer = xcopy.buffer;
+		if (__copy_to_user(udata, &copy, sizeof(copy)))
+			ret = -EFAULT;
+	}
+
+	return ret;
+}
+
 static long privcmd_ioctl(struct file *file,
 			  unsigned int cmd, unsigned long data)
 {
@@ -1569,6 +1614,10 @@ static long privcmd_ioctl(struct file *file,
 		ret = privcmd_ioctl_pcidev_get_gsi(file, udata);
 		break;
 
+	case IOCTL_PRIVCMD_FOREIGNCOPY:
+		ret = privcmd_ioctl_foreigncopy(file, udata);
+		break;
+
 	default:
 		break;
 	}
diff --git a/include/uapi/xen/privcmd.h b/include/uapi/xen/privcmd.h
index 8e2c8fd44764..786d769ad4f8 100644
--- a/include/uapi/xen/privcmd.h
+++ b/include/uapi/xen/privcmd.h
@@ -131,6 +131,14 @@ struct privcmd_pcidev_get_gsi {
 	__u32 gsi;
 };
 
+struct privcmd_foreigncopy {
+	domid_t dom;		/* foreign domain */
+	__u16 dir;		/* direction,  0 from, 1 to */
+	__u32 num;		/* number of pages to copy */
+	const xen_pfn_t __user *pfns;	/* array of pfns */
+	void __user *buffer;	/* buffer to copy to/from */
+};
+
 /*
  * @cmd: IOCTL_PRIVCMD_HYPERCALL
  * @arg: &privcmd_hypercall_t
@@ -164,5 +172,7 @@ struct privcmd_pcidev_get_gsi {
 	_IOW('P', 9, struct privcmd_ioeventfd)
 #define IOCTL_PRIVCMD_PCIDEV_GET_GSI				\
 	_IOC(_IOC_NONE, 'P', 10, sizeof(struct privcmd_pcidev_get_gsi))
+#define IOCTL_PRIVCMD_FOREIGNCOPY				\
+	_IOWR('P', 11, struct privcmd_foreigncopy)
 
 #endif /* __LINUX_PUBLIC_PRIVCMD_H__ */
diff --git a/include/xen/interface/memory.h b/include/xen/interface/memory.h
index 1a371a825c55..5981402fccde 100644
--- a/include/xen/interface/memory.h
+++ b/include/xen/interface/memory.h
@@ -325,4 +325,41 @@ struct xen_mem_acquire_resource {
 };
 DEFINE_GUEST_HANDLE_STRUCT(xen_mem_acquire_resource);
 
+/*
+ * Copy memory from/to a given domain.
+ */
+#define XENMEM_foreigncopy 29
+struct xen_foreigncopy {
+    /* IN - The domain whose resource is to be copied */
+    domid_t domid;
+
+    /* IN - Flags */
+#define XENMEM_foreigncopy_from 0
+#define XENMEM_foreigncopy_to 1
+#define XENMEM_foreigncopy_direction 1
+    uint16_t flags;
+
+    /*
+     * IN
+     *
+     * As an IN parameter number of frames of the domain to be copied.
+     */
+    uint32_t nr_frames;
+
+    /*
+     * IN
+     *
+     * Frames to be copied.
+     */
+    GUEST_HANDLE(xen_pfn_t) frame_list;
+
+    /*
+     * IN/OUT
+     *
+     * Userspace buffer to read/write from.
+     */
+    GUEST_HANDLE(uint8_t) buffer;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_foreigncopy);
+
 #endif /* __XEN_PUBLIC_MEMORY_H__ */
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Sun Jun 14 00:01:16 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Jun 2026 00:01:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337663.1598972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYYHZ-0001q4-4A; Sun, 14 Jun 2026 00:00:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337663.1598972; Sun, 14 Jun 2026 00: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 1wYYHZ-0001px-0e; Sun, 14 Jun 2026 00:00:57 +0000
Received: by outflank-mailman (input) for mailman id 1337663;
 Sun, 14 Jun 2026 00:00:55 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wYYHW-0001pn-2m
 for xen-devel@lists.xenproject.org; Sun, 14 Jun 2026 00:00:55 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYYHV-0028z8-30
 for xen-devel@lists.xenproject.org; Sun, 14 Jun 2026 02:00:53 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a2def29-e002-0a2a0a5209dd-0a2a45049b98-6
 for <xen-devel@lists.xenproject.org>; Sun, 14 Jun 2026 02:00:52 +0200
Received: from [52.101.229.97]
 (helo=TY3P286CU002.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a2def31-1dec-0a2a45040019-3465e561be13-3
 for <xen-devel@lists.xenproject.org>; Sun, 14 Jun 2026 02:00:51 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYRP286MB4184.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:134::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.16; Sun, 14 Jun
 2026 00:00:46 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0113.015; Sun, 14 Jun 2026
 00:00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=G3J1D0b0rwb+S4xV9Y8xqnI44yDVK/+U53piPLHsxEPM7Mp9aOYbQF8+DE17cvPI9n7MiEm2Bm70sku10ovAiVMqLxv1ydeQRN1JIYA50qktJotWtendHbzUiGyCd1TlyKYEIhtk3n3TPLcJ29U0fKvBZdccxjWEI9kcz+Qf9cZyDg2r4vtse5Kpn34r1r2Bs5y1eZ8dtGQCtJ6Mhk1hDl2CbRmeBjnHog7N2Tt0EzNcYh3rdse362tX2rcMSOsyNiGCFo+/QakiYmY26KJ5jvFeVGjERCH1KiGNixn1ixwUq0RAAFjmERzfDHqQMg78jCSmGzKJxJsG3ozfduF6Dg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Gju0G6BUGfrAIq1ITyKQaK2KGIOreDoLWj0WRHoJLtc=;
 b=D2qjYxdDKLEAY2DIza1jI2SEVsUkKNhS42RYLZGzrb50sXPr6MXFCMrPNX9ZOerNAJWKmqv0LZwZe0oSbhwfLQiaQkol1J9CTqgZ99yl8WtYEIExINUsUwm2loys6IM7ZF+wcsbms/6saYjZU+pv1Auo0bPKcl2nKSB60djvvNBYwKtsfXGH9BR22krWpYtk9/l2MS4JxMLmba3sAXmFgdAmPXkqt2BeCyTJ7vKhnFpZceeU60yrICAO4RTVgZJwhLQ4SrFelmXuebVjNhFm0tfDWehSs/TgfpyQnm+EOhY6HPAZMzDvFj1Det3k2vPdn8N9rSDRleR55epatLrMXQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Gju0G6BUGfrAIq1ITyKQaK2KGIOreDoLWj0WRHoJLtc=;
 b=tVEfMazvxcIf0fc5N1DwtY91np6/VEYljb8l4YR8eN99H+RFAP7Cyme5eoyuh9KRLVcmOUJu9u09hdh8xL3V9ALeN1GM4MgMyisXztu6bCmuEnuoVC8aeY8elOklOrJLXw5ctO+RB77vzYVukNwSNM4Ia22O4rTxyX0VzSajC2M=
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: "Mykyta_Poturai@epam.com" <Mykyta_Poturai@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>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
Subject: RE: [PATCH 1/3] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
Thread-Topic: [PATCH 1/3] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
Thread-Index: AQHc+MoozrCC9Pa1YkC7YJKVJ6P2UbY5878AgAGxwTA=
Date: Sun, 14 Jun 2026 00:00:45 +0000
Message-ID:
 <OS9P286MB7222B82D2DCF599215D9700B82E72@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
References: <20260610111320.133784-1-taka@valinux.co.jp>
 <20260610111320.133784-2-taka@valinux.co.jp>
 <8d8b8bcc-7c59-4ea7-bafd-6469643f8aaa@xen.org>
In-Reply-To: <8d8b8bcc-7c59-4ea7-bafd-6469643f8aaa@xen.org>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: OS9P286MB7222:EE_|TYRP286MB4184:EE_
x-ms-office365-filtering-correlation-id: 8fed48c9-e856-4255-9f51-08dec9a7fbd7
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|366016|23010399003|7416014|376014|38070700021|18002099003|22082099003|4143699003|56012099006;
x-microsoft-antispam-message-info:
 1RVCpzsYZXr7Cn6FL/auAJlICrsm40iDN7QImPAxu6sHFln4ZjsgZ0001ax6zTJZ+7lThQWXSqw9sg/hyaCErSQ7IpptU8Ir7ASQ4bBjyA/K1Wy/N9afKFh3FqHSaJzzo9eWSPcQRYGAxjqxt0zzB02ZFzick+M9JJabR+YrAS+ziKDCYIMT55VwGR/HOilFJ/ZP7NFc4+vbOcVUjjAQkSgcLnNY+3XwW6DnN8H9jnxyv+zF3UncJpGU6Xqn+q4+NleRKct+BvksfJ9yhdXNQK6glin+nQij74peBZVcw3kS89nGGvQl53F1E1BZ0PP6r3Tes6QbeUDJj2bx0ucLN5K75GXKyhGJVzzbFQM3PBrAMOXas72IwNWyJJirrG56jDapj5srGMMpabEhIqCkgL0qwpSje0qjfVd94Bhu5wMseB9sJERnVITfllkgb19dUEc+LEKhpW1e2MjQI4LLUac5jjekrnZSVl/eZmz099SI6eEgTNE7lsTVloRPT727c/cV+p59ehAiWQLuuDPpCiCXcEei+5U+kaDcPZygzwweXnMoVAAnaM41uOoG5WInYK5ArhyU/WMNwtNcENbg9/XxxwmwACkdHeZ0Wl6ksbMJcTZ4gp1DFLflzWGX27xtLHhHS09QevvAFEEaVhSpcFtF0E2xa4JSeOq5IHITz/7PboQ+sugMw+wn4KKm8BmErjc6ig0nY/icBoNWfhP792+5tZXOunTILAdQSFBUHiSdx2Vyq77LGmbOIwAWqyjD
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(23010399003)(7416014)(376014)(38070700021)(18002099003)(22082099003)(4143699003)(56012099006);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?N1h6bWZsajlXN2FtbnZFdkcwZ1N6Mjc3alBiUmRMTHBMdU1HL3MwZjBpNjlL?=
 =?utf-8?B?YkYxSHEzSGZIbGw4cklkU3liWTI2cFRlOFZIWllPSmp6TkJhZEdKcmN2VHJh?=
 =?utf-8?B?T202b0d3TDlnUncxeGxuSmwwc01ZNkwremVzcHQ0WUphaGdLUUVQNEJySFBy?=
 =?utf-8?B?STdJUGpZYW0weHVNVEdZa0V3aklKZVN4T2N0elRqSU4zMnlSeE84ZktGNGdt?=
 =?utf-8?B?R2JtRVduVWNFT0ptanQ0enVvN3BFSy9IQnB0bGNDbE1xUG0xeUxmc28wRTk0?=
 =?utf-8?B?ODFJaXpTaktnQXp5bkQydjBKSjROYmxVUXVqMXVLcGxibkw3bVpQYWl4b2tX?=
 =?utf-8?B?Ullja05ubllEMk9BK2I3YUlNTS83WWtvU3ErZzY2Sm1uQ0J2cER3TTF3N0t2?=
 =?utf-8?B?S2tnVjNvTTM1UnU1ZVJKcUttVTJmNnhEN1UyNGZ0RDRwS0QvSSs3UlhxU2pN?=
 =?utf-8?B?Ymc2WFN3NkRNRS9GQjh0TlpkOStSRnlVV3grMStpb2NvNG12YnZMcEplTmR4?=
 =?utf-8?B?V0x3NHZ3WENoWlRZUzUyUVhCR3FlQ0RzRVlHMWd5M3k3YVVUWDVMTElZYzlj?=
 =?utf-8?B?aFI2eUtRa3EyLzE3TG4valRROGdwWEtFa1ZnenNmekpHVnNzcEFsNTBDVVgv?=
 =?utf-8?B?RVVkVWlyOFArcWJOWmxEcllhWnVEK3lJVVJmYU1WeFlkUk5vYk1BR3BzaVk0?=
 =?utf-8?B?U2lCcHRoemZtUktmZkg0clFUOWNCL3RwbGp3QW44QU1PQnAwQ2dlMzZPL0tV?=
 =?utf-8?B?UEg2SE93a2o3U2s1Umd3emFrVUxpVm9lejEzSG9lTlBxZGZXeURsemdtL3Nk?=
 =?utf-8?B?eThOWW5WOFpOVllscUdFVFBTV3VpdUlSTWhPSU5sbG4xZlZCbGQ0b1ZEaWNa?=
 =?utf-8?B?dXlPdEs3YW1QUFBRYmNLdFRJRGZYOTVlMjdpdENsWkFseTF1eFJ6VnZEQjFu?=
 =?utf-8?B?WmZYbTN2bE82a2ZZMUpYR3g4NUowUU45L0hmOFJ3bVltWTU1anFFZ0wwT0ZE?=
 =?utf-8?B?NWo1QUR4QndlNlRHSnBOUklsTG5LdW12eEtXN3RGRmVwdTczdkE1cnFnaFU1?=
 =?utf-8?B?Vjh2dVBZWjEwTWlHWDBFNzlCaFo5KzNzTU1aYjJsMmFIMVBMWmY0djh0TVcw?=
 =?utf-8?B?V3ZyVi9FYmFaeGJiSkJ1V2t0dXI3VEIzQ0lmVkJSZDRQdjBzbytYSWlqWjVn?=
 =?utf-8?B?MDdSNUcyNFE4ZWl1OEhtNUVvQjN4aWgvVWtTSFg0WENyM1ZsblBJNU1DQUdG?=
 =?utf-8?B?Z0UvdWJFVjd4Z1Z6cUd5TXdJSG9jNWtiYXY1b2F1K1JyWC9tOS9oVVpTb1lZ?=
 =?utf-8?B?M2orYkJUMm1zMUhjREFvTnRyWHdlWnhzb2RlSEI3bU51Q01mbGJMeGRaVzhV?=
 =?utf-8?B?UWxtLzRzdGp3VmprNkxzTThlWkxyNlhOR2loMnorN1Q5bHFTNXBWYVNabkJP?=
 =?utf-8?B?clJ2N2hlRXorMkNpWmxRZnd3NDVDZFNiZm1YUnFqNjRzZU5zdzNPN1pmVUd5?=
 =?utf-8?B?WHVFNW9LOGNxdTFxc2RERzhSOW9QR2tKam1TUXNUTS93aDIxblNFMUFiSWpZ?=
 =?utf-8?B?bS9ScUZwQnFYWUw5TGt4dUpnNE9EK1RZZHJaZVNOYXFPS0tFdk11NXBMNmNI?=
 =?utf-8?B?VnpINE80ZnhuQ1I3VTRJWXRkZUNkN29VVjZBRmtIMUtpLzlmcDF2NFh4QStl?=
 =?utf-8?B?K3pTek45bmZkY1RUVkd1OEV4VDJpdGluTXlidnJ4RW1oNTQxQXAyZ0IySFhL?=
 =?utf-8?B?OC9VV28yOEttZU9DODc2WjJ6SGdBR2hmenhZcGx2emxzNituelQ4K2dsYmdC?=
 =?utf-8?B?czBXT2hFS1NEbm1PdHZpVVJtR0ZnNjNMQnFJdUJ2NjZEd2xpOEpQdEhqM0FI?=
 =?utf-8?B?T2hJS1p1ZDloK1pyc1Qrc0I3ZmoycmZGblRRbW1QVUpIUXhBVitGWTVGZm1W?=
 =?utf-8?B?UGVWaDVjdzFWUk9HYjZMblJKODRrblpacVZPQStEb1VXUU9xNm9vblNwWDEx?=
 =?utf-8?B?Y0ZwdFc0Q0xaKzE5UWtqbm1td3N0cHpIM2d1aFhKaXY0dHZMSFpKL0QvVWFL?=
 =?utf-8?B?akdYSjJzUzdtTmRkZUR5SVp5aUxrRUZleWphaWtrUG5SV042Y1FheGRjdzZx?=
 =?utf-8?B?NC9hZHM0cmlWYlRtTHRuc2FVRDVVTDJlb1V0cTNxZUl5Y0IvS1Byb0swcWhx?=
 =?utf-8?B?TDJBRzBPUHozenY4RjdHUG5OVjYxdFdPL2NIZ0VNaVVvTG9tdEdzZmJNbWRy?=
 =?utf-8?B?elJFRGlhRVRCc0Rid3VNWUQ2LytBUlNWWTNlekszc2ZzaWg4aC9tOVplNVFz?=
 =?utf-8?Q?IUIdSU1+gMNcIvs3A4?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 8fed48c9-e856-4255-9f51-08dec9a7fbd7
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jun 2026 00:00:45.4878
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: +8eaYuIB0/A2XyHNFb2mb760BpWHV6xUCS4qlpl6o7vkovzg3Xl3IL54tkG4XHelyL5z5iyhJu++DWTvUto3fA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYRP286MB4184
X-purgate-ID: tlsNG-ebf023/1781395252-4014E3FF-FDCD2867/0/0
X-purgate-type: clean
X-purgate-size: 3524

SGVsbG8sDQoNClRoYW5rIHlvdSBmb3IgeW91ciBhZHZpY2UuDQoNCj4gPiBkaWZmIC0tZ2l0IGEv
eGVuL2NvbW1vbi9kZXZpY2UtdHJlZS9jcHUtdG9wb2xvZ3kuYw0KPiBiL3hlbi9jb21tb24vZGV2
aWNlLXRyZWUvY3B1LXRvcG9sb2d5LmMNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGlu
ZGV4IDAwMDAwMDAwMDAuLmJiZGYwZDFmZTgNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIv
eGVuL2NvbW1vbi9kZXZpY2UtdHJlZS9jcHUtdG9wb2xvZ3kuYw0KPiA+IEBAIC0wLDAgKzEsMzQy
IEBADQo+ID4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyICov
DQo+ID4gKy8qDQo+ID4gKyAqIERlcml2ZWQgZnJvbSBMaW51eCBrZXJuZWwgNy4wJ3MgJGRyaXZl
cnMvYmFzZS9hcmNoX3RvcG9sb2d5LmMNCj4gPiArICogUGFyc2UgY3B1IHRvcG9sb2d5IGluZm9y
bWF0aW9uLg0KPiA+ICsgKg0KPiA+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjYgVkEgTGludXggU3lz
dGVtcyBKYXBhbiBLLksuDQo+ID4gKyAqIEF1dGhvcjogSGlyb2thenUgVGFrYWhhc2hpIDx0YWth
QHZhbGludXguY28uanA+DQo+IA0KPiBXZSBkb24ndCBjb21tb25seSBoYXZlIGNvcHlyaWdodCBo
ZWFkZXIgaW4gdGhlIHRyZWUgYW5kIGluc3RlYWQgdXNlIHRoZQ0KPiBjb21taXQgbWVzc2FnZSB0
byBrZWVwIHRyYWNrIG9mIENvcHlyaWdodC4gVGhhdCBzYWlkLCBpZiB5b3Ugd2FudCB0bw0KPiBr
ZWVwIGl0LCBJIHRoaW5rIHlvdSBvdWdodCB0byBrZWVwIHRoZSBjb3B5cmlnaHQgZnJvbSBMaW51
eCBiZWNhdXNlIHlvdXINCj4gY29kZSBpcyBiYXNlZCBvbiBpdC4NCg0KT2ssIEkgd2lsbCByZW1v
dmUgdGhlIGNvcHlyaWdodCBsaW5lcyBmcm9tIHRoZSBoZWFkZXIuDQoNCj4gPiArI2luY2x1ZGUg
PHhlbi9jcHUuaD4NCj4gPiArI2luY2x1ZGUgPHhlbi9jcHVtYXNrLmg+DQo+ID4gKyNpbmNsdWRl
IDx4ZW4vZGVsYXkuaD4NCj4gPiArI2luY2x1ZGUgPHhlbi9kZXZpY2VfdHJlZS5oPg0KPiA+ICsj
aW5jbHVkZSA8eGVuL2NwdS10b3BvbG9neS5oPg0KPiA+ICsjaW5jbHVkZSA8eGVuL251bWEuaD4N
Cj4gPiArI2luY2x1ZGUgPHhlbi9kb21haW5fcGFnZS5oPg0KPiA+ICsjaW5jbHVkZSA8eGVuL2Vy
cm5vLmg+DQo+ID4gKyNpbmNsdWRlIDx4ZW4vaW5pdC5oPg0KPiA+ICsNCj4gPiArc3RydWN0IGNw
dV9tYXAgew0KPiA+ICsgICAgdW5zaWduZWQgaW50IHRocmVhZF9pZDsNCj4gPiArICAgIHVuc2ln
bmVkIGludCBjb3JlX2lkOw0KPiA+ICsgICAgdW5zaWduZWQgaW50IGNsdXN0ZXJfaWQ7DQo+ID4g
KyAgICB1bnNpZ25lZCBpbnQgcGFja2FnZV9pZDsNCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0cnVj
dCBjcHVfdG9wb2xvZ3kgKmNwdV90b3BvbG9neTsNCj4gDQo+IExvb2tpbmcgYXQgdGhlIHVzZSBp
biB0aGUgb3RoZXIgcGF0Y2gsIHlvdSBzZWVtIHRvIHVuY29uZGl0aW9uYWxseSB1c2UNCj4gY3B1
X3RvcG9sb2d5IHdoZW4gQ09ORklHX0RUX0NQVV9UT1BPTE9HWS4gSG93ZXZlciwgeW91IGRvbid0
IHNlZW0gdG8NCj4gZmlsbCBpdCB3aGVuIHRoZSBzeXN0ZW0gaXMgdXNpbmcgQUNQSS4NCj4gDQo+
IFNvIEkgdGhpbmsgdGhpcyBlaXRoZXIgbmVlZHMgdG8gYmUgbW92ZWQgdG8gY29tbW9uIGNvZGUg
YW5kIGZpbGxlZCBieQ0KPiBBQ1BJIG9yIHdlIG5lZWQgdG8gbWFrZSBjbGVhciBpbiB0aGUgbmFt
ZSB0aGF0IHRoaXMgaXMgRFQgc3BlY2lmaWMuDQo+IA0KPiBbLi4uXQ0KDQpZb3UgYXJlIGNvbXBs
ZXRlbHkgcmlnaHQsIGFuZCB0aGFuayB5b3UgZm9yIHBvaW50aW5nIG91dCB0aGlzIGdhcC4gDQpJ
IGFncmVlIHRoYXQgdGhlIEFDUEkgcGF0aCBuZWVkcyB0byBiZSBwcm9wZXJseSBoYW5kbGVkLg0K
SSB3aWxsIGZpbGwgdGhlIGNwdSBpbmZvcm1hdGlvbiB3aXRoIHRlbXBvcmFyeSB2YWx1ZXMgZm9y
IG5vdyB0aG91Z2ggdGhlIGdvYWwgaXMgdG8NCnBvcHVsYXRlIGl0IGJ5IHNjYW5uaW5nIHRoZSBB
Q1BJIFBQVFQgKFByb2Nlc3NvciBQcm9wZXJ0aWVzIFRvcG9sb2d5IFRhYmxlKS4NCg0KPiA+ICt2
b2lkIF9faW5pdCBkdF9pbml0X2NwdV90b3BvbG9neSh2b2lkKQ0KPiA+ICt7DQo+ID4gKyAgICB1
bnNpZ25lZCBpbnQgY3B1Ow0KPiA+ICsgICAgY29uc3QgdW5zaWduZWQgaW50IG5yX2NwdXMgPSBj
cHVtYXNrX2xhc3QoJmNwdV9wb3NzaWJsZV9tYXApICsgMVU7DQo+ID4gKw0KPiA+ICsgICAgY3B1
X3RvcG9sb2d5ID0geHphbGxvY19hcnJheShzdHJ1Y3QgY3B1X3RvcG9sb2d5LCBucl9jcHVzKTsN
Cj4gPiArICAgIGlmICggIWNwdV90b3BvbG9neSApDQo+ID4gKyAgICAgICAgcGFuaWMoIkZhaWxl
ZCB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIGNwdV90b3BvbG9neSBhcnJheVxuIik7DQo+ID4gKw0K
PiA+ICsgICAgaWYgKHBhcnNlX2R0X3RvcG9sb2d5KCkpDQo+IA0KPiBTdHlsZTogQUZBSUNULCB0
aGlzIGlzIGZvbGxvd2luZyBYZW4gc3R5bGUuIFNvIGl0IHdhbnRzIHRvIGJlOg0KPiANCj4gaWYg
KCAuLi4gKQ0KDQpPaywgSSB3aWxsIGZpeCBpdC4NCg0KVGhhbmsgeW91LA0KSGlyb2thenUgVGFr
YWhhc2hpLg0K


From xen-devel-bounces@lists.xenproject.org Sun Jun 14 05:12:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Jun 2026 05:12:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337500.1598981 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYd8Z-00045X-Rd; Sun, 14 Jun 2026 05:11:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337500.1598981; Sun, 14 Jun 2026 05: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 1wYd8Z-00045O-MH; Sun, 14 Jun 2026 05:11:59 +0000
Received: by outflank-mailman (input) for mailman id 1337500;
 Sat, 13 Jun 2026 18:13:13 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <bblank@thinkmo.de>) id 1wYSr2-0002Q4-UX
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 18:13:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYSr2-001SQe-9k
 for xen-devel@lists.xenproject.org; Sat, 13 Jun 2026 20:13:12 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <bblank@thinkmo.de>)
 id 6a2d9db6-bab6-0a2a0a5309dd-0a2a450bbdcc-2
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 20:13:12 +0200
Received: from [162.55.237.202] (helo=mail.thinkmo.de)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <bblank@thinkmo.de>)
 id 6a2d9db7-212f-0a2a450b0019-a237edcabcda-3
 for <xen-devel@lists.xenproject.org>; Sat, 13 Jun 2026 20:13:12 +0200
Received: from localhost (localhost [127.0.0.1])
 by mail.thinkmo.de (Postfix) with ESMTP id 4gd4Hq61FHzygv;
 Sat, 13 Jun 2026 18:13:11 +0000 (UTC)
Received: from mail.thinkmo.de ([127.0.0.1])
 by localhost (mail.thinkmo.de [127.0.0.1]) (amavis, port 10024) with ESMTP
 id uoE-fvk-5wM7; Sat, 13 Jun 2026 18:13:11 +0000 (UTC)
Received: from shell.thinkmo.de (shell.thinkmo.de
 [IPv6:2a01:4f8:271:3f5c:0:22:0:1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (prime256v1) server-signature ECDSA (secp384r1)
 server-digest SHA384) (No client certificate requested)
 by mail.thinkmo.de (Postfix) with ESMTPS id 4gd4Hq52mnzyTR;
 Sat, 13 Jun 2026 18:13:11 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mail202312 header.d=thinkmo.de header.i="@thinkmo.de" header.h="In-Reply-To:Content-Transfer-Encoding:Content-Disposition:Content-Type:MIME-Version:References:Message-ID:Subject:From:Date:Received:Received"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thinkmo.de; h=
	in-reply-to:content-transfer-encoding:content-disposition
	:content-type:content-type:mime-version:references:message-id
	:subject:subject:from:from:date:date:received:received; s=
	mail202312; t=1781374391; bh=6GPKAOobwmNg968WVow6EBZsOTaaulq+Iwz
	Tk8mWKdE=; b=WFA+uWuhApZWf7VWd8/7P3CJSHS062sBwv3TNsSMwW9kgE+xfPU
	I16+IKhuk0wTRdt2/otJTg1KbwM32kFk4GuBfwPXNz1MAokd9s1PTbcUIn1lBL61
	emjwe4xXWcO7NRrV5SU6pYf9YFvXK7p62K3uCxPwEURLSMMImxRTAguyxd2PbvPo
	PMjUHmB2BS0op2zm6aBLNihf/z8l/vvh7oihpm5fRM9bdAvnl6IuMwyFi76Ottfx
	phQR8oHvWZS24876hZA2mq9lIZxAIEuEAMkr8L2w1vN1jLkYpaBUokKKSGKldF7q
	GZLfTQFbqXOkcP+4+Ps66+zH5otlU7GMNNg==
X-Virus-Scanned: Debian amavis at 
Date: Sat, 13 Jun 2026 20:13:10 +0200
From: Bastian Blank <bblank@thinkmo.de>
To: xen-devel@lists.xenproject.org, qemu-devel@nongnu.org
Subject: Re: [PATCH 1/2] hw/xen/interface: Remove pre-C99 checks
Message-ID: <xuuzvpxooyhkbqluaxszcizjxrqzjczejhdqiso6q2mc4cnhjl@kszikmaagunj>
Mail-Followup-To: Bastian Blank <bblank@thinkmo.de>, 
	xen-devel@lists.xenproject.org, qemu-devel@nongnu.org
References: <20260613175151.1357-1-philmd@oss.qualcomm.com>
 <20260613175151.1357-2-philmd@oss.qualcomm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260613175151.1357-2-philmd@oss.qualcomm.com>
X-purgate-ID: tlsNG-42698a/1781374392-19969F3B-2F56AEB2/0/0
X-purgate-type: clean
X-purgate-size: 598

On Sat, Jun 13, 2026 at 07:51:50PM +0200, Philippe Mathieu-DaudÃ© wrote:
> We mandate a compiler supporting C99 since 2019-01-17 in
> commit 7be41675f7c ("configure: Force the C standard to gnu99"),
> thus supporting flexible array members. Remove what is now dead
> code.

> +    uint32_t optarr[0];

This is no flexible array member. "optarr[]" would be.

https://www.gnu.org/software/c-intro-and-ref/manual/html_node/Flexible-Array-Fields.html

Or are you talking about something different?

Bastian

-- 
The best diplomat I know is a fully activated phaser bank.
		-- Scotty


From xen-devel-bounces@lists.xenproject.org Sun Jun 14 16:41:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Jun 2026 16:41:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337827.1598990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYntF-0002Hy-9U; Sun, 14 Jun 2026 16:40:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337827.1598990; Sun, 14 Jun 2026 16: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 1wYntF-0002Hp-3O; Sun, 14 Jun 2026 16:40:53 +0000
Received: by outflank-mailman (input) for mailman id 1337827;
 Sun, 14 Jun 2026 16:40:52 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <philmd@oss.qualcomm.com>) id 1wYntE-0002Hj-3o
 for xen-devel@lists.xenproject.org; Sun, 14 Jun 2026 16:40:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYntD-00FKlb-07
 for xen-devel@lists.xenproject.org; Sun, 14 Jun 2026 18:40:51 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <philmd@oss.qualcomm.com>)
 id 6a2ed97e-5cb7-0a2a0a5109dd-0a2a4506c840-40
 for <xen-devel@lists.xenproject.org>; Sun, 14 Jun 2026 18:40:50 +0200
Received: from [205.220.168.131] (helo=mx0a-0031df01.pphosted.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <philmd@oss.qualcomm.com>)
 id 6a2ed990-7371-0a2a45060019-cddca8832c58-3
 for <xen-devel@lists.xenproject.org>; Sun, 14 Jun 2026 18:40:50 +0200
Received: from pps.filterd (m0279867.ppops.net [127.0.0.1])
 by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 65EGHStr1595459
 for <xen-devel@lists.xenproject.org>; Sun, 14 Jun 2026 16:40:48 GMT
Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com
 [209.85.222.200])
 by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ery9fc3b8-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Sun, 14 Jun 2026 16:40:47 +0000 (GMT)
Received: by mail-qk1-f200.google.com with SMTP id
 af79cd13be357-91598af506cso260369085a.0
 for <xen-devel@lists.xenproject.org>; Sun, 14 Jun 2026 09:40:47 -0700 (PDT)
Received: from [192.168.69.214] (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f26f4f6sm28076640f8f.16.2026.06.14.09.40.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 14 Jun 2026 09:40: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=qcppdkim1 header.d=qualcomm.com header.i="@qualcomm.com" header.h="Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=google header.d=oss.qualcomm.com header.i="@oss.qualcomm.com" header.h="Content-Transfer-Encoding:In-Reply-To:Content-Language:From:References:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
	content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
	rrsAEgadN0S0zN/zXy5uAvi55/YRwQF57zY8ovGr9xI=; b=MbTuFpJh6jb0MMKu
	PpNj/HfcZVOTTwpu/LZ/ATc3vaSEc1dou7maDfbbGLacr89U2cBQ2jA3tFTZiq//
	a/lDEnnRPWKgbpVc5YaqE8EIxoLXxufK/XyWnKHvySyK6REQVEc/XTJCw6U+45Ek
	Gk0s24gSpaCU3eJt2eD5S2vSVyXk5+Wbg2wXA6eIGLo8rAlUby5AVqdxNCj1KIcz
	HbZylIiHGLkKCr0caevfF+uMvcv2Y3BxTQ0t4DJmco4SWgTs0xK1Z4IQSBs3rFFQ
	j6N5/Ru2nquEsB5ZP7LKSW8to6u1bnKdWDuyU25Dm88gHpza0ippkNwGNUUlnt/5
	yEwUFA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=oss.qualcomm.com; s=google; t=1781455247; x=1782060047; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:content-language:from
         :references:to:subject:user-agent:mime-version:date:message-id:from
         :to:cc:subject:date:message-id:reply-to;
        bh=rrsAEgadN0S0zN/zXy5uAvi55/YRwQF57zY8ovGr9xI=;
        b=Z1YDgLSKRh7MT7Z/8rhL8RbCSkVQxvHPBdaJuicoj5mnDjMZYVPsItM800Qchg3/EK
         UN2vLCp3mfxiJpEJi5sNAZGSFQafFAMaQhz2tZ1IVxPFojbqqFFohj4V0oaqPXk4N2hy
         f9jJcYg0Oq9blDDxZCCsioDHODLdgUg2Q4Pb3TIH/17CQm3fHDIiAAA9wPjZWAb6oPo+
         GwMheGd3zBdRrAzZM+Q37rfU1+NsGy5eTask89TFywRcz30calEP7/yq7O5WJ+AUPD6g
         viENLda2xKkeZSr5+V8GcbaoidAKl6saF8xJ7ZE5iqAi5rblFlW15sJUYyxxcrbULCO1
         FXPQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781455247; x=1782060047;
        h=content-transfer-encoding:in-reply-to:content-language:from
         :references:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=rrsAEgadN0S0zN/zXy5uAvi55/YRwQF57zY8ovGr9xI=;
        b=Xes+mCpBSGmJhSMHmUN9dtpUDABNgkftoE3vd/nLvXnO/XiSkQVlXEK2KOcoZnGtcN
         XJLsNr4xwooIWUKyvJFLL1xUPVaCcLCOxG5k7yytwAqxAso37t4oGPtirviaKI+d23mR
         PHfNPv7to0coFZAd+TGMdKnhLUozt2UA98kCCpGoz4Tvp9HHyuNnIvFHMUwbJKILFp6O
         XLrDc/PvfM7Rv/DZHzk9HLL/tbFt1MWiGA4MkJRKhz9Mqi3ZWRE6RGFk/DHs2GBs6yfc
         wj0pjmTklYCpiSQAURiaEaLcK/rmRVrUUgSWiW/Po567C7Ro9libbREL4tFV8XQNO1Tx
         h1pQ==
X-Forwarded-Encrypted: i=1; AFNElJ9I1fIv0i5fbX8e3ZsE86yYLvfFJUtD5RPJ7F5q91Kjf0L9V8FSD4PLQJCby/Ue69NSV7mbRx26PP0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzduBaY9W1tKlk7W8z9s1I30yHOcwq7I6V4wx8Hjb6zpysM2xwd
	cVq5ZPtoKAf5vFxuQh1HXtjGd9ZmqXnXjV0Umje7WI6260TT/aHIY/6RfaN60TnEtkkL830iWzA
	9AGYLJoQUsJo9Ee+qhJc5hc4WGSF0YU0eyI1eH2LXaJh+rlOFmo5f2NYsiELjh2VLmcqP6Q==
X-Gm-Gg: Acq92OG4QicV2+hPpXCMYD5LkU0uXhgIMknjkZcpQf5ckZCetawfyL3k0GqXvWOWXNp
	cax1RpnKwKI8x/d4t/nmvQOG0hGFsC8n53HWIRVdqXzb4OfP0BHbSvI8l60iUJ+ljGM8zfR3X0G
	usISRykwgIq3tkJ5ghcjP6Epyx+wwfIkTt/nr5YeFac6fdQw6WSUiWereaptYhwzQQuSObvhCtn
	Q5WMr5DH7m2ZA8GXHZHD1zn394pBNqMtVhZ3tQ97CZc+lNuY3OA1g1iHjsQ0tGXfuc/U7t9YAFv
	kubPcEwLasASGHQvxwCEmftt+qAu1r14yXQddlk6kiaMh7vMvO7kJ2KpWzHaRH9Ri+Q3Q5Au3J0
	vvqwg1S+Vdg5iVJEB7adECDsvvW6F5zYh7e1ktrg6zyWN41/fMG+z/6Kx2EjVcUCdtRNO3MDG
X-Received: by 2002:a05:620a:bd3:b0:8f1:5e8f:fff3 with SMTP id af79cd13be357-9161bd220cfmr1647977085a.26.1781455246654;
        Sun, 14 Jun 2026 09:40:46 -0700 (PDT)
X-Received: by 2002:a05:620a:bd3:b0:8f1:5e8f:fff3 with SMTP id af79cd13be357-9161bd220cfmr1647973985a.26.1781455246035;
        Sun, 14 Jun 2026 09:40:46 -0700 (PDT)
Message-ID: <c15fb219-8769-4786-9749-d75ce686c4f8@oss.qualcomm.com>
Date: Sun, 14 Jun 2026 18:40:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] hw/xen/interface: Remove pre-C99 checks
To: Bastian Blank <bblank@thinkmo.de>, xen-devel@lists.xenproject.org,
        qemu-devel@nongnu.org
References: <20260613175151.1357-1-philmd@oss.qualcomm.com>
 <20260613175151.1357-2-philmd@oss.qualcomm.com>
 <xuuzvpxooyhkbqluaxszcizjxrqzjczejhdqiso6q2mc4cnhjl@kszikmaagunj>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@oss.qualcomm.com>
Content-Language: en-US
In-Reply-To: <xuuzvpxooyhkbqluaxszcizjxrqzjczejhdqiso6q2mc4cnhjl@kszikmaagunj>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE0MDE3NCBTYWx0ZWRfX03QWEQp8+zBt
 5iYKUv6vjFRXUh/wcdRKCsQ9TqFmatlwxVOJFfgexix9Oeylfm9jRmMV51CH/Er63ew9xhMcI8w
 GtRCERMgT3eAkCgw2QEDn9pe19TDlT9kkmmxdRqPrknx5vs6kIrgJGtooyrlJ4apalwJ0I7ruSA
 Boc8nFkof5VFDZjHoGhgceHmKUHLmyiHcY+/LAJRSleDwYtIy8dCnDhWocKxFcUV4JZveuouHja
 8JrHtSYemJrtHgiIx+X8Pe/eR872lYrSAd/vPRosd71aGdrJcbg20xyFm4ESg4JN9kKRZ5kXuT1
 Hrs/zNkXTVcOHzxEy/U07lNYbHkDmGHMOlaGTaQgKkwrsrZlKtD5bjvaPa6BYzvThVDotln9RHT
 3jWLTm2j8Jpu+TZ0nEU5Njvr7BKl7xqZz95Nkr5o2v2LT8vtTH/UL49exeAPUw5H44F+lmoVN3J
 DtmttTKYsj2VMr9NA2g==
X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE0MDE3NCBTYWx0ZWRfX78SHERpFOouC
 V7l+xDOgE8fNHXK07FwGkQZXbWzjXsxWwrGlH1zLtlYRm4IxsnsIndqph3OmloBfkn6J9wsoMey
 xNexBeck06H9YSQVSM/WEl2fm7BwxxM=
X-Proofpoint-GUID: Xemgmqhk3Pk7AHw874yURkFXG9OBJFYD
X-Proofpoint-ORIG-GUID: Xemgmqhk3Pk7AHw874yURkFXG9OBJFYD
X-Authority-Analysis: v=2.4 cv=ULvt2ify c=1 sm=1 tr=0 ts=6a2ed98f cx=c_pps
 a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17
 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22
 a=mDV3o1hIAAAA:8 a=bxkv4MIWnuf4gb2VlVAA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10
 a=PEH46H7Ffwr30OY-TuGO:22
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-14_03,2026-06-12_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
 suspectscore=0 clxscore=1015 phishscore=0 spamscore=0 priorityscore=1501
 lowpriorityscore=0 bulkscore=0 malwarescore=0 adultscore=0 impostorscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2606040000 definitions=main-2606140174
X-purgate-ID: tlsNG-16d1c6/1781455250-8757ED75-994E635E/0/0
X-purgate-type: clean
X-purgate-size: 647

On 13/6/26 20:13, Bastian Blank wrote:
> On Sat, Jun 13, 2026 at 07:51:50PM +0200, Philippe Mathieu-DaudÃ© wrote:
>> We mandate a compiler supporting C99 since 2019-01-17 in
>> commit 7be41675f7c ("configure: Force the C standard to gnu99"),
>> thus supporting flexible array members. Remove what is now dead
>> code.
> 
>> +    uint32_t optarr[0];
> 
> This is no flexible array member. "optarr[]" would be.

Oops yes you are right... This is what we want here.

> 
> https://www.gnu.org/software/c-intro-and-ref/manual/html_node/Flexible-Array-Fields.html
> 
> Or are you talking about something different?
> 
> Bastian
> 



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 03:45:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 03:45:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337967.1598999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYyG2-0003WA-OW; Mon, 15 Jun 2026 03:45:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337967.1598999; Mon, 15 Jun 2026 03:45:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYyG2-0003W0-J0; Mon, 15 Jun 2026 03:45:06 +0000
Received: by outflank-mailman (input) for mailman id 1337967;
 Mon, 15 Jun 2026 03:45:05 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <pr-tracker-bot@kernel.org>) id 1wYyG1-0003Vu-Fb
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 03:45:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYyG0-00AhXF-P5
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 05:45:04 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <pr-tracker-bot@kernel.org>)
 id 6a2f751a-5cb7-0a2a0a5109dd-0a2a450b935c-8
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 05:45:04 +0200
Received: from [172.234.252.31] (helo=sea.source.kernel.org)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <pr-tracker-bot@kernel.org>)
 id 6a2f753f-212f-0a2a450b0019-aceafc1fd732-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 05:45:04 +0200
Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18])
 by sea.source.kernel.org (Postfix) with ESMTP id 4BC8C40B8F;
 Mon, 15 Jun 2026 03:45:02 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2F8BF1F000E9;
 Mon, 15 Jun 2026 03:45:02 +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
 D0BA23A566D6; Mon, 15 Jun 2026 03:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Subject:From:In-Reply-To:References:Date:To:Cc"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org;
	s=k20260515; t=1781495102;
	bh=zk6VhJUQzqmnxKhW3NIvCl22kdrIw4GgSq7HLc+rYKM=;
	h=Subject:From:In-Reply-To:References:Date:To:Cc;
	b=myd7niCEvUlFmwj9eGuudFE3XDfRPDqDbbF46hDFslf/d4IbB37JSHD0Ge0XTpjLO
	 RatguFYHA2qqNK+ermWWyOxDWaJ5QBWjMxabL56yCdVM+xttYae7MBVK/3Vwx+yif/
	 7LHU/J43tXCbMGp5AdCjrXGabxsm9BAprKY5onTcIvRDYmwKK5hYxlqfi90C2MH41K
	 fnrFZvrXcFb6cqqtUPZOEBoe4P1x/X/bPqt1N19cZus/HtFKCmoDmAJM6iuTrbWlYC
	 DgQhHCn3e9SKUZMpKn7RPj/SxsmhuniDak+6Dz3I6t2TXdYLoKSAYAYorN3rNp6Aw7
	 JHdpEnUm+lL6A==
Subject: Re: [GIT PULL] xen: branch for v7.2-rc1
From: pr-tracker-bot@kernel.org
In-Reply-To: <20260612113121.1424344-1-jgross@suse.com>
References: <20260612113121.1424344-1-jgross@suse.com>
X-PR-Tracked-List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
X-PR-Tracked-Message-Id: <20260612113121.1424344-1-jgross@suse.com>
X-PR-Tracked-Remote: git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-7.2-rc1-tag
X-PR-Tracked-Commit-Id: a174910917a8e93cb5334e9dce8bac32bff22c47
X-PR-Merge-Tree: torvalds/linux.git
X-PR-Merge-Refname: refs/heads/master
X-PR-Merge-Commit-Id: 2bfc56d9f5e82f6aada2a8d68093aab0b1f00f6a
Message-Id: <178149509750.2410512.1020497249441967720.pr-tracker-bot@kernel.org>
Date: Mon, 15 Jun 2026 03:44:57 +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
X-purgate-ID: tlsNG-42698a/1781495104-2087FF3B-275060DB/0/0
X-purgate-type: clean
X-purgate-size: 362

The pull request you sent on Fri, 12 Jun 2026 13:31:19 +0200:

> git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-7.2-rc1-tag

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/2bfc56d9f5e82f6aada2a8d68093aab0b1f00f6a

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 05:06:04 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 05:06:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337981.1599007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wYzW3-0004x0-VA; Mon, 15 Jun 2026 05:05:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337981.1599007; Mon, 15 Jun 2026 05: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 1wYzW3-0004ws-SE; Mon, 15 Jun 2026 05:05:43 +0000
Received: by outflank-mailman (input) for mailman id 1337981;
 Mon, 15 Jun 2026 05:05:42 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <armbru@redhat.com>) id 1wYzW2-0004wm-H1
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 05:05:42 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wYzW0-000LzM-GS
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 07:05:40 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <armbru@redhat.com>)
 id 6a2f880b-5cb7-0a2a0a5109dd-0a2a4509c7de-36
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 07:05:40 +0200
Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <armbru@redhat.com>)
 id 6a2f8822-2497-0a2a45090019-aa0a817c8bc9-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 07:05:40 +0200
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-385-25T9ibBwOyeRJ2FdxCSBhg-1; Mon,
 15 Jun 2026 01:05:36 -0400
Received: from mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com
 (mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.95])
 (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 5670418007F2; Mon, 15 Jun 2026 05:05:35 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.44.22.4])
 by mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id CD05636918; Mon, 15 Jun 2026 05:05:34 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id 6360721E6A01; Mon, 15 Jun 2026 07:05:32 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1781499938;
	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=1ukah0pE80e2c75o55ohnW5seHcFB7Sqn/9erjKGRFo=;
	b=NXfX8nZPkcyU40I3lQNJkGd5p1htbQJilLBLGebAs0okSqD7qRVe9fV1sDWZKvJdcqqrLv
	qeFKysQ6r4QH+Hut17iazvL0Y7c9Us/6PtKSNS4JcHdQvKuRqHUaAmOmWBP6n9N22BQ+gP
	vQoGkKRBUwtWbbTpo5o05K3PSQQ4lhs=
X-MC-Unique: 25T9ibBwOyeRJ2FdxCSBhg-1
X-Mimecast-MFC-AGG-ID: 25T9ibBwOyeRJ2FdxCSBhg_1781499935
From: Markus Armbruster <armbru@redhat.com>
To: Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= <philmd@oss.qualcomm.com>
Cc: qemu-devel@nongnu.org,  "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
  xen-devel@lists.xenproject.org,  Daniel P. =?utf-8?Q?Berrang=C3=A9?=
 <berrange@redhat.com>,  Anthony PERARD <anthony@xenproject.org>,  Paolo
 Bonzini <pbonzini@redhat.com>,  Stefano Stabellini
 <sstabellini@kernel.org>
Subject: Re: [PATCH 2/2] qom/object: Remove pre-C11 check
In-Reply-To: <20260613175151.1357-3-philmd@oss.qualcomm.com> ("Philippe
	=?utf-8?Q?Mathieu-Daud=C3=A9=22's?= message of "Sat, 13 Jun 2026 19:51:51
 +0200")
References: <20260613175151.1357-1-philmd@oss.qualcomm.com>
	<20260613175151.1357-3-philmd@oss.qualcomm.com>
Date: Mon, 15 Jun 2026 07:05:32 +0200
Message-ID: <87h5n4tmub.fsf@pond.sub.org>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 3.6 on 10.30.177.95
X-Mimecast-MFC-PROC-ID: jJScMdWwJPEpMYNa9dbR2D4uiQuCWu0vofinVVgXnN8_1781499935
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-bad1c0/1781499940-41F6EA53-4CE952E1/0/0
X-purgate-type: clean
X-purgate-size: 2022

Philippe Mathieu-Daud=C3=A9 <philmd@oss.qualcomm.com> writes:

> We mandate a compiler supporting C11 since 2021-06-15 in
> commit d22797ce36a ("configure: Use -std=3Dgnu11"), thus the
> max_align_t type definition exists. Remove what is now dead
> code.
>
> Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@oss.qualcomm.com>

> ---
>  qom/object.c | 14 +-------------
>  1 file changed, 1 insertion(+), 13 deletions(-)
>
> diff --git a/qom/object.c b/qom/object.c
> index 0ac201de4c1..f79b2cf3618 100644
> --- a/qom/object.c
> +++ b/qom/object.c
> @@ -675,18 +675,6 @@ static void object_finalize(void *data)
>      }
>  }
> =20
> -/* Find the minimum alignment guaranteed by the system malloc. */
> -#if __STDC_VERSION__ >=3D 201112L
> -typedef max_align_t qemu_max_align_t;
> -#else
> -typedef union {
> -    long l;
> -    void *p;
> -    double d;
> -    long double ld;
> -} qemu_max_align_t;
> -#endif
> -
>  static Object *object_new_with_type(Type type)
>  {
>      Object *obj;
> @@ -703,7 +691,7 @@ static Object *object_new_with_type(Type type)
>       * Do not use qemu_memalign unless required.  Depending on the
>       * implementation, extra alignment implies extra overhead.
>       */
> -    if (likely(align <=3D __alignof__(qemu_max_align_t))) {
> +    if (likely(align <=3D __alignof__(max_align_t))) {
>          obj =3D g_malloc(size);
>          obj_free =3D g_free;
>      } else {
           obj =3D qemu_memalign(align, size);
           obj_free =3D qemu_vfree;
       }

Reviewed-by: Markus Armbruster <armbru@redhat.com>

Context leads me to qemu_try_memalign() via qemu_memalign():

   #elif defined(CONFIG_ALIGNED_MALLOC)
       ptr =3D _aligned_malloc(size, alignment);
   #elif defined(CONFIG_VALLOC)
       ptr =3D valloc(size);
   #elif defined(CONFIG_MEMALIGN)
       ptr =3D memalign(alignment, size);
   #else
       #error No function to allocate aligned memory available
   #endif

C11 provides aligned_alloc().



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 06:34:27 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 06:34:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1337995.1599017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ0th-0007Ou-Lr; Mon, 15 Jun 2026 06:34:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1337995.1599017; Mon, 15 Jun 2026 06: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 1wZ0th-0007On-Ik; Mon, 15 Jun 2026 06:34:13 +0000
Received: by outflank-mailman (input) for mailman id 1337995;
 Mon, 15 Jun 2026 06:34:12 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ0tg-0007Oh-Ae
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 06:34:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ0tf-005oM5-KN
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 08:34:11 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2f9cd7-e002-0a2a0a5209dd-0a2a4501be16-20
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 08:34:11 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2f9ce3-c1f2-0a2a45010019-d1558034b9b0-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 08:34:11 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-490b915ded5so27635425e9.3
 for <xen-devel@lists.xenproject.org>; Sun, 14 Jun 2026 23:34: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-490ea4a128csm314759865e9.0.2026.06.14.23.34.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 14 Jun 2026 23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781505251; x=1782110051; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=dRFi5DxPz4UB00ik4h7/PujLhlijyyRdZ9a0Oy7pi+k=;
        b=G/bA/eZq82nb1wtQRoSir/V3135ThAvjtoKtdaVjeEh3fIUCsL2BcV1UzVj4gT2+S3
         smw8t/RZRJ3DjGKxt/BJ1esMxjJGLAxRXH1ae6zHOr4v+9h6VB89+SwDm1F61Zg4LlMY
         WIXjmDgY+kUmY1C611jPu0HuBGnCyk4CYK8eK2hpGk40V1FFFjvsNK553Ga6e6CWXlW7
         mI5HvmdTvjskoFoB9KFmeNC9yiCftOrzbGuncABJbtopsX172oHLnnmKjIQWgMJK4Nd3
         VvZzOKlw+pFWbWLKfatnxxWqGLBUpTuY31wS0/5h+mI42UVDMT1otcC13l7okxEMrqRL
         g3gw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781505251; x=1782110051;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dRFi5DxPz4UB00ik4h7/PujLhlijyyRdZ9a0Oy7pi+k=;
        b=cPR3xqBYttiYrvAj1R0aUYr6pzxTdOa3Y0iyzbpDarwLSauXbdCBah/1EZbvD+k9Rk
         EnKdVPTqvLSsbwU/8jU1c+z7NsRHyyttsnxnolFzJ83dEZkctsrlepEoz2CnmxYP8dRZ
         H5Lsjv3MD1AWle8vy6tEIz7FK2gHLg/H/e12e4xTw6OVmUs4ZRo230B3QqxMCNFZRz8h
         5uFchhr4fgsE6qeIxVBKiy9XMOecdwtXKzTWjn3uCwraEW2p8GZXT4gfiTAtM35W+puk
         MNQ6+CT3IHa6aGvMxLtD83di4qEpnZhN6Mph0w/5BdaMxi6bPkIEuh6viT8cN9jdbOM6
         NOog==
X-Forwarded-Encrypted: i=1; AFNElJ+tdbDfuTtWdNQgTWsTdVwdh18zVlXs3wzHt2jn9CxvfR3pw1u8LzmovjS06zKZWP/5XgeGKuRi3z4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxKxCdjbXb8JX/+ClDs6bdWyrwr41oJ0CxPG+29dAh6xd1nyZQI
	5Gxt0pwUaKkP23YdH2X7tBQoS+pxblHj/F+EghGJVvWFbqMeyykf9CWnDzQlxpkucA==
X-Gm-Gg: Acq92OFdIHxTboW9r28Os+5qqnmXvZTXp0Eby19iNWlULbWsV/K8W+ikuGskh+xBOTw
	MXcv5hRUUoyhqbvu1/cVNw7Xp6V1RsU6Ljl2BdWtsVZcOqpn45s2DvSkUUMxy7pKcncTuesGrXP
	tZs5xU0BcsFJpqETFvcntxqXOyJ+LjFrKL3/Wjy3LbFreQhm4x1R0rt+IYXNE31ZQ6pUdDA9e6m
	uSrUadhUteC2GE0pHTdwPlh3B94BX6KiK3SZ5hirzRBqoHQCN37vldDRVJcLDC0zheLZ9ykbNGA
	OuwgsiGPHRrSekFKF1Aeq5BKOh3ayyqNtzqR92SxqspFqeWH08dn9d7N0A5q9vhRbvAJRmdyg/8
	EqXtUX1yv8sSlf72LOp+w5qnUtOkQRRDgcpmKI0QexzUy75NZdhiSYdkg6SagDZP/euOB5sL3kT
	RGzYxoDGMD+wHD2PVYjDBsDa2nj+voBxKFxm3V+QLmjzPBlefRW8CahnuL/gXDSaWjw0zm1hkOf
	txNMvsYZDFq+4U=
X-Received: by 2002:a05:600d:84ca:10b0:490:7dfd:f7c2 with SMTP id 5b1f17b1804b1-490ec4dd936mr102172355e9.11.1781505250649;
        Sun, 14 Jun 2026 23:34:10 -0700 (PDT)
Message-ID: <27fce01d-4608-422f-9a1a-3c8206e72e3a@suse.com>
Date: Mon, 15 Jun 2026 08:34:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/6] Align all sections to 4KB
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20260529153531.1341542-1-frediano.ziglio@cloud.com>
 <20260529153531.1341542-3-frediano.ziglio@cloud.com>
 <7067092e-ba18-4513-a9b1-83ba084ccbb4@suse.com>
 <CAHt6W4cP57pAPsNDKpssjYB=snLEZgOhWkYkVrJys01-NTMiRQ@mail.gmail.com>
 <75e86d74-9fa1-4090-bea7-332ec31ffb90@suse.com>
 <CAHt6W4dfXdyw4dOkqoQzo0x4XRmLsHXkhhznov+KvanKBi9bWw@mail.gmail.com>
 <5bee4f94-b2d0-4802-a990-b2a378d2f838@suse.com>
 <CAHt6W4cb4R7i79s9wYRpPfOdmkKS+XsaO=VphZ+jvmLKiRw-ZA@mail.gmail.com>
 <f83df0b1-9177-4b89-a854-e19a22e181a7@suse.com>
 <CAHt6W4efwGwdiTvKnG4n=A6PL_FogynsV23rDDi8rj_smZVoNw@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: <CAHt6W4efwGwdiTvKnG4n=A6PL_FogynsV23rDDi8rj_smZVoNw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1781505251-AF754FF4-94C02B96/0/0
X-purgate-type: clean
X-purgate-size: 9063

On 13.06.2026 13:20, Frediano Ziglio wrote:
> On Thu, 11 Jun 2026 at 16:18, Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 11.06.2026 16:49, Frediano Ziglio wrote:
>>> On Wed, 10 Jun 2026 at 10:43, Jan Beulich <jbeulich@suse.com> wrote:
>>>>
>>>> On 06.06.2026 18:02, Frediano Ziglio wrote:
>>>>> Frediano
>>>>>
>>>>> On Fri, 5 Jun 2026 at 08:45, Jan Beulich <jbeulich@suse.com> wrote:
>>>>>>
>>>>>> On 04.06.2026 12:16, Frediano Ziglio wrote:
>>>>>>> On Tue, 2 Jun 2026 at 13:09, Jan Beulich <jbeulich@suse.com> wrote:
>>>>>>>> On 29.05.2026 17:35, Frediano Ziglio wrote:
>>>>>>>>> --- a/xen/arch/x86/xen.lds.S
>>>>>>>>> +++ b/xen/arch/x86/xen.lds.S
>>>>>>>>> @@ -162,8 +162,8 @@ SECTIONS
>>>>>>>>>         __note_gnu_build_id_end = .;
>>>>>>>>>    } PHDR(note) PHDR(text)
>>>>>>>>>  #elif defined(BUILD_ID_EFI)
>>>>>>>>> -  /* Workaround bug in binutils < 2.36 */
>>>>>>>>> -  . = ALIGN(32);
>>>>>>>>> +  /* align to satisfy UEFI CA memory mitigation */
>>>>>>>>> +  . = ALIGN(PAGE_SIZE);
>>>>>>>>>    DECL_SECTION(.buildid) {
>>>>>>>>>         __note_gnu_build_id_start = .;
>>>>>>>>>         *(.buildid)
>>>>>>>>> @@ -330,6 +330,7 @@ SECTIONS
>>>>>>>>>    __2M_rwdata_end = ALIGN(SECTION_ALIGN);
>>>>>>>>>
>>>>>>>>>  #ifdef EFI
>>>>>>>>> +  . = ALIGN(PAGE_SIZE);
>>>>>>>>>    .reloc ALIGN(4) : {
>>>>>>>>>      __base_relocs_start = .;
>>>>>>>>>      *(.reloc)
>>>>>>>>> @@ -355,6 +356,7 @@ SECTIONS
>>>>>>>>>    VIRT_START &= 0;
>>>>>>>>>    ALT_START &= 0;
>>>>>>>>>
>>>>>>>>> +  . = ALIGN(PAGE_SIZE);
>>>>>>>>>    .sbat (NOLOAD) : { *(.sbat) }
>>>>>>>>>  #elif defined(XEN_BUILD_EFI)
>>>>>>>>>    /*
>>>>>>>>
>>>>>>>> You say "all sections" in the title, yet this is not covering e.g. debug
>>>>>>>> info.
>>>>>>>
>>>>>>> I will change to "all loadable sections". debug sections are not
>>>>>>> loadable so they don't cause an issue.
>>>>>>
>>>>>> Please try to be precise there, as some aspects are subtle. As per my
>>>>>> understanding, like .reloc all .debug_* are loadable (and may be loaded).
>>>>>> The IMAGE_SCN_MEM_DISCARDABLE flag merely means they can be discarded at
>>>>>> a certain point after image loading (for .reloc in particular: after
>>>>>> relocations were processed).
>>>>>
>>>>> No, debug sections are not loadable, for instance, in a random
>>>>> executable I found:
>>>>>
>>>>> Sections:
>>>>> Idx Name          Size      VMA               LMA               File off  Algn
>>>>>   0 .text         0000c7f8  0000000140001000  0000000140001000  00000600  2**4
>>>>>                   CONTENTS, ALLOC, LOAD, READONLY, CODE, DATA
>>>>>   1 .data         00000250  000000014000e000  000000014000e000  0000ce00  2**4
>>>>>                   CONTENTS, ALLOC, LOAD, DATA
>>>>>   2 .rdata        00002c70  000000014000f000  000000014000f000  0000d200  2**4
>>>>>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
>>>>>   3 .pdata        00000654  0000000140012000  0000000140012000  00010000  2**2
>>>>>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
>>>>>   4 .xdata        00000630  0000000140013000  0000000140013000  00010800  2**2
>>>>>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
>>>>>   5 .bss          00001ec0  0000000140014000  0000000140014000  00000000  2**4
>>>>>                   ALLOC
>>>>>   6 .idata        00000c88  0000000140016000  0000000140016000  00011000  2**2
>>>>>                   CONTENTS, ALLOC, LOAD, DATA
>>>>>   7 .CRT          00000060  0000000140017000  0000000140017000  00011e00  2**2
>>>>>                   CONTENTS, ALLOC, LOAD, DATA
>>>>>   8 .tls          00000010  0000000140018000  0000000140018000  00012000  2**2
>>>>>                   CONTENTS, ALLOC, LOAD, DATA
>>>>>   9 .reloc        0000009c  0000000140019000  0000000140019000  00012200  2**2
>>>>>                   CONTENTS, ALLOC, LOAD, READONLY, DATA
>>>>>  10 .debug_aranges 00000150  000000014001a000  000000014001a000  00012400  2**0
>>>>>                   CONTENTS, READONLY, DEBUGGING
>>>>>  11 .debug_info   0000d5e4  000000014001b000  000000014001b000  00012600  2**0
>>>>>                   CONTENTS, READONLY, DEBUGGING
>>>>>  12 .debug_abbrev 000014de  0000000140029000  0000000140029000  0001fc00  2**0
>>>>>                   CONTENTS, READONLY, DEBUGGING
>>>>>  13 .debug_line   00001a36  000000014002b000  000000014002b000  00021200  2**0
>>>>>                   CONTENTS, READONLY, DEBUGGING
>>>>>  14 .debug_frame  00000f40  000000014002d000  000000014002d000  00022e00  2**0
>>>>>                   CONTENTS, READONLY, DEBUGGING
>>>>>  15 .debug_str    000003a0  000000014002e000  000000014002e000  00023e00  2**0
>>>>>                   CONTENTS, READONLY, DEBUGGING
>>>>>  16 .debug_line_str 00000a76  000000014002f000  000000014002f000  00024200  2**0
>>>>>                   CONTENTS, READONLY, DEBUGGING
>>>>>  17 .debug_loclists 0000174a  0000000140030000  0000000140030000  00024e00  2**0
>>>>>                   CONTENTS, READONLY, DEBUGGING
>>>>>  18 .debug_rnglists 0000039c  0000000140032000  0000000140032000  00026600  2**0
>>>>>                   CONTENTS, READONLY, DEBUGGING
>>>>
>>>> That's derived from libfd's internal representation, which means nothing at
>>>> all to the loader processing the image. If your objdump is suitably enabled,
>>>> try using its -P option.
>>>>
>>>> Jan
>>>
>>> You are right, I got
>>>
>>> Section headers (at offset 0x00000188):
>>>  # Name     paddr    vaddr    size     scnptr   relptr   lnnoptr   nrel nlnno
>>>  1 .text    0000c7f8 00001000 0000c800 00000600 00000000 00000000     0     0
>>>             Flags: 60000060: EXECUTE,READ,CODE,INITIALIZED DATA
>>>  2 .data    00000250 0000e000 00000400 0000ce00 00000000 00000000     0     0
>>>             Flags: c0000040: READ,WRITE,INITIALIZED DATA
>>>  3 .rdata   00002c70 0000f000 00002e00 0000d200 00000000 00000000     0     0
>>>             Flags: 40000040: READ,INITIALIZED DATA
>>>  4 .pdata   00000654 00012000 00000800 00010000 00000000 00000000     0     0
>>>             Flags: 40000040: READ,INITIALIZED DATA
>>>  5 .xdata   00000630 00013000 00000800 00010800 00000000 00000000     0     0
>>>             Flags: 40000040: READ,INITIALIZED DATA
>>>  6 .bss     00001ec0 00014000 00000000 00000000 00000000 00000000     0     0
>>>             Flags: c0000080: READ,WRITE,UNINITIALIZED DATA
>>>  7 .idata   00000c88 00016000 00000e00 00011000 00000000 00000000     0     0
>>>             Flags: c0000040: READ,WRITE,INITIALIZED DATA
>>>  8 .CRT     00000060 00017000 00000200 00011e00 00000000 00000000     0     0
>>>             Flags: c0000040: READ,WRITE,INITIALIZED DATA
>>>  9 .tls     00000010 00018000 00000200 00012000 00000000 00000000     0     0
>>>             Flags: c0000040: READ,WRITE,INITIALIZED DATA
>>> 10 .reloc   0000009c 00019000 00000200 00012200 00000000 00000000     0     0
>>>             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
>>> 11 /4       00000150 0001a000 00000200 00012400 00000000 00000000     0     0
>>>             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
>>> 12 /19      0000d5e4 0001b000 0000d600 00012600 00000000 00000000     0     0
>>>             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
>>> 13 /31      000014de 00029000 00001600 0001fc00 00000000 00000000     0     0
>>>             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
>>> 14 /45      00001a36 0002b000 00001c00 00021200 00000000 00000000     0     0
>>>             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
>>> 15 /57      00000f40 0002d000 00001000 00022e00 00000000 00000000     0     0
>>>             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
>>> 16 /70      000003a0 0002e000 00000400 00023e00 00000000 00000000     0     0
>>>             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
>>> 17 /81      00000a76 0002f000 00000c00 00024200 00000000 00000000     0     0
>>>             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
>>> 18 /97      0000174a 00030000 00001800 00024e00 00000000 00000000     0     0
>>>             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
>>> 19 /113     0000039c 00032000 00000400 00026600 00000000 00000000     0     0
>>>             Flags: 42000040: DISCARDABLE,READ,INITIALIZED DATA
>>>
>>> I suppose I will change to simply "Align some sections to 4KB"
>>
>> "Some" is imo going to be too imprecise. Please qualify which sections you
>> intend to align. If new sections need adding in the future, this then can
>> guide people as to whether those may also need aligning.
> 
> The main issue is that sections with different permissions must be in
> separate sections.
> In the case of debug sections they are contiguous and have the same
> permissions so it's not an issue (although better to strip them off).
> 
> Any suggestions on how to describe this?

s/all/relevant/ (or some such) in the subject and then largely what you say
above as part of the description.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 06:53:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 06:53:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338003.1599026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ1Bq-0001jz-8O; Mon, 15 Jun 2026 06:52:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338003.1599026; Mon, 15 Jun 2026 06: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 1wZ1Bq-0001js-5V; Mon, 15 Jun 2026 06:52:58 +0000
Received: by outflank-mailman (input) for mailman id 1338003;
 Mon, 15 Jun 2026 06:52:56 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ1Bn-0001jm-WD
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 06:52:56 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ1Bm-000hSy-Ro
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 08:52:54 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2fa13e-e002-0a2a0a5209dd-0a2a4504c9e8-28
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 08:52:54 +0200
Received: from [209.85.221.42] (helo=mail-wr1-f42.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2fa146-1dec-0a2a45040019-d155dd2ae5c9-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 08:52:54 +0200
Received: by mail-wr1-f42.google.com with SMTP id
 ffacd0b85a97d-46066e640easo1637654f8f.1
 for <xen-devel@lists.xenproject.org>; Sun, 14 Jun 2026 23:52: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-4606f26f3basm30135610f8f.12.2026.06.14.23.52.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 14 Jun 2026 23:52: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Cc:Content-Language:References:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781506374; x=1782111174; 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=dHKaKK1rdCsuUH3+UGUbf6B2KguzwIr0I1My5ay+Xho=;
        b=OgX0+EL2vCxRucCfv4fIJ3+G8yZdr5aABz3SBmbu2ZZdJOuWuhSjbluqhISW3RRqv2
         GeEnTrDZDhsD55AodVS9eQaRo4xl2Fn66Yv5tiLdw/0Odm/Qi/lwWXfINcakvHVkY8fU
         UWyU7OJlm4BtKTz9ofPkrkAJZbvOqzRn5ymDdM64mQKN4xkNLLcdmgsLuaPZ8UZf91fB
         wkC6n38KWY8Mow4ZYYnA3fTudgIuwbOKLBpjJMeY7kUWlj2L5bX2vrvA9ZSVG2u5andq
         BcNKHJ3J75bm7tZXo/diTdMRONvZsy9A2UrEMPzCzGMvidEBtcuIu4U52GttYF+DMsez
         McDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781506374; x=1782111174;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dHKaKK1rdCsuUH3+UGUbf6B2KguzwIr0I1My5ay+Xho=;
        b=sTzEVw+OEaRaMKrvGmRPL8MEy40GLUXa4Sw+C7UYoac3rrRSywLbaB3YrWVnOgWyop
         9ljF7/GsjfDbqf4FcmT3Qpdk4FlwCl6XOc3g8ptd+4PyItZXtT6HFylliHwLic7NSirR
         BR4CfN+srq0iJjZwVAx7ogawamusBI23+NDkua4oaV8bXIci8yWCrsKJ+btlWrz55EIA
         q9LnSAIyO3/ytyEasq7VxgUvrfVFoMEJ4sl2o4K7KIxSEaEiVgfrQhIndz6FYLTK8lDD
         AxrNvMfsawprxwtjvWJ/CKAyK22XyIC5e+vbhQu4KmoiuJCTK6ldImGK2iSf9CZOhwcw
         FsBA==
X-Gm-Message-State: AOJu0YzZZFwza1rkdjPC+dsG3y3ImbXDtrgKpK3UU8zAQ7jEIJ9Bcqfd
	q4zV+sJmVEGh+4VWSLYkuQbM1MeIYxj/y533HJpeHzbmrxHR+/7WStCE5zGG4hcWXA==
X-Gm-Gg: Acq92OE8qqFt8eBh1BgupZpsTqUWw+Lo/7YdhddfV47ERL3jPg0wBBGANIp2d6y7Tf7
	WPmoSmKRyN8vWkADBW32fkKE/d7VPnb9G1SBLC5Cl+1P9rJQerJdHw1isxV1958ofB8e0xmtFK2
	fD9JsqW0Rw9MNlGFVSpbWshl0CEfmQQneP+VmM9NixvQ5+WNPWViIn7Ru7jLaGRyMM6e8iZ9bxt
	/aFiLZNyaMSCAha6KPfsGkfVwYanno3tko5bZms2Pszu1vnizB+DlP3BIrL7U7MyO/2Q29gcs8a
	RVTZ2YqP3IGNqRMaz2jV8DYB5hf2fkz/FgJJ/gXWCJr+hBiDbNKdV8BbZWdxqCsOh8CZjEPW9GD
	pqW31y05w/WzMmLVRzwwT0ygND0lbuk7F38UmOU1N0meBwhOvol/yddo5uxzzJeZrXk0tXfSc/z
	2eOIxJGBM7F12OLN8fmhtNMJZdSkAMXidh6jbI1xvk7Kxpp/LBvk70mHkqfPc9wOhoZLi2N1KpB
	epoEu1Ou3XWRus=
X-Received: by 2002:a05:6000:400c:b0:45e:b99d:dad with SMTP id ffacd0b85a97d-4606dbe5a84mr16714569f8f.38.1781506374032;
        Sun, 14 Jun 2026 23:52:54 -0700 (PDT)
Message-ID: <6b4894bf-61b8-404e-bd00-7e971a7009b4@suse.com>
Date: Mon, 15 Jun 2026 08:52:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/efi: Skip FPU save/restore for idle vCPU in EFI,
 runtime path
To: Bernhard Kaindl <bernhardkaindl7@gmail.com>
References: <1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@vates.tech>
 <957a0fea-4099-4470-9b40-3f8b294c44dc@suse.com>
 <8b51a40e-028a-42aa-a7e4-55a731ebe10e@gmail.com>
Content-Language: en-US
Cc: xen-devel@lists.xenproject.org, Anthony PERARD <anthony.perard@vates.tech>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <8b51a40e-028a-42aa-a7e4-55a731ebe10e@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ebf023/1781506374-29B7B3FF-DB796F78/0/0
X-purgate-type: clean
X-purgate-size: 3669

On 12.06.2026 17:41, Bernhard Kaindl wrote:
> Hi Anthony, could you test this patch which exactly applies the changes 
> Jan suggested? Summary:

So I'm a little irritated by this: The subject suggests this is a proper
patch submission, yet about everything else here suggests it is not. For
the eventual real patch, may I minimally suggest ...

> Guard both EFI runtime FPU calls with !is_idle_vcpu() to skip save/restore
> for idle vCPUs, which don't have an FPU context to save/restore,
> much like the calls are guarded in __context_switch(),
> where save/restore is done only for non-idle vCPUs.
> As these simple guards should preferably go into Xen 4.22: Please test 
> if there are any further regressions with the 'cmos-rtc-probe' 
> workaround you just added removed to check if guarding the assertions as 
> Jan suggested is enough to fix the issues triggered on your machine. 
> Thanks, Bernhard The patch to test follows: [PATCH] x86/efi: Skip FPU 
> save/restore for idle vCPU in EFI, runtime path
> Anthony reported a boot-time crash in init_xen_time() via efi_get_time()
> on a Broadwell-D system:
>  Â  Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387.c:195

... to resolve this line number to a function name, to provide sufficient
context.

> The failing path is an EFI runtime call reached early during boot,
> where current may still be the idle vCPU.
> This became fragile after the lazy-FPU removal cleanup series.
> In 1792bb9a99d2 ("x86: Cleanup cr0.TS flag handling"),
> efi_rs_enter() was changed from save_fpu_enable() to vcpu_save_fpu(curr),
> which unconditionally asserts !is_idle_vcpu(v)
> so an EFI runtime call in idle context now asserts.
> Likewise, in dba44e051209 ("x86: Remove fully_eager_fpu"),
> efi_rs_leave() was changed to call vcpu_restore_fpu(curr),
> which has the same assertion and can fail for the same reason.
> Guard both EFI runtime FPU calls with !is_idle_vcpu() to skip save/restore
> for idle vCPUs, which don't have an FPU context to save/restore,
> much like the calls are guarded in __context_switch(),
> where save/restore is done only for non-idle vCPUs.

I further would help if it was explicitly stated that no other uses of
the two functions are affected (provided the necessary auditing was done,
but ftoad I did go through that already on Friday and didn't find other
problematic call sites).

Jan

> Fixes: 1792bb9a99d2 ("x86: Cleanup cr0.TS flag handling")
> Fixes: dba44e051209 ("x86: Remove fully_eager_fpu")
> Reported-by: Anthony PERARD <anthony.perard@vates.tech>
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
> ---
>  Â xen/common/efi/runtime.c | 6 ++++--
>  Â 1 file changed, 4 insertions(+), 2 deletions(-)
> diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
> index a23fa75e37..596f2710fb 100644
> --- a/xen/common/efi/runtime.c
> +++ b/xen/common/efi/runtime.c
> @@ -98,7 +98,8 @@ struct efi_rs_state efi_rs_enter(void)
>  Â  Â  Â  */
>  Â  Â  Â sync_local_execstate();
>  Â  Â  Â state.cr3 = read_cr3();
> - Â  Â vcpu_save_fpu(current);
> + Â  Â if ( !is_idle_vcpu(current) )
> + Â  Â  Â  Â vcpu_save_fpu(current);
>  Â  Â  Â asm volatile ( "fnclex; fldcw %0" :: "m" (fcw) );
>  Â  Â  Â asm volatile ( "ldmxcsr %0" :: "m" (mxcsr) );
> @@ -159,7 +160,8 @@ void efi_rs_leave(struct efi_rs_state *state)
>  Â  Â  Â }
>  Â  Â  Â irq_exit();
>  Â  Â  Â spin_unlock(&efi_rs_lock);
> - Â  Â vcpu_restore_fpu(curr);
> + Â  Â if ( !is_idle_vcpu(curr) )
> + Â  Â  Â  Â vcpu_restore_fpu(curr);
>  Â }
>  Â unsigned long efi_get_time(void)



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 06:57:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 06:57:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338010.1599035 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ1Fp-0002FN-OX; Mon, 15 Jun 2026 06:57:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338010.1599035; Mon, 15 Jun 2026 06: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 1wZ1Fp-0002FG-LA; Mon, 15 Jun 2026 06:57:05 +0000
Received: by outflank-mailman (input) for mailman id 1338010;
 Mon, 15 Jun 2026 06:57:05 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ1Fp-0002FA-9Z
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 06:57:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ1Fo-000iF5-LH
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 08:57:04 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2fa233-5cb7-0a2a0a5109dd-0a2a4501e71a-20
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 08:57:04 +0200
Received: from [209.85.128.41] (helo=mail-wm1-f41.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2fa240-c1f2-0a2a45010019-d1558029c0e2-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 08:57:04 +0200
Received: by mail-wm1-f41.google.com with SMTP id
 5b1f17b1804b1-490c1915793so25857195e9.2
 for <xen-devel@lists.xenproject.org>; Sun, 14 Jun 2026 23: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
 5b1f17b1804b1-490ea4a128csm316467785e9.0.2026.06.14.23.57.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 14 Jun 2026 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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781506624; x=1782111424; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=lRMPquG8sI7O8264Y7stKa/vThWcl/lWu+nInSfPIGI=;
        b=f7RATeBXELwNR69nUPs50thoy6fi62KPXyp8ooLg7Nkq/QCPphkLFWQdB1hHsA3pgs
         BDwuioCOdL1PvBIZ+10XZHNpvk+1XuUOBSYHZqmQ7cJ5VUbuP8kVII7h9xDphtE4HG0S
         46sPENrsGr3DHBrJ2eih6f/7JQw9U6PyayenRqQt3SpXyBKfXFgdhyworKqmwg4SYOAP
         RFkilS1shIuIdPH3yml4q5eU5E2zlu+5wqv1S/tjKc5/ceCNqKRVVvWsumGMFNn6dpGP
         kpG6M/LP4vxKkG514nn6aDgu9Kw9uYCNLp2fLLzIkMXpG9BPpTDh+nf5/U7YjX96laYz
         Delg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781506624; x=1782111424;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lRMPquG8sI7O8264Y7stKa/vThWcl/lWu+nInSfPIGI=;
        b=H6tZidUB1STWyon9//wqj4Eyv6KFaBWgA2yln1meoDWdfagbgA8zxl0rPQ4hgYWJB2
         AVhb/gl166HqnA+9aaJBoE8Wxhm6hxy4vBRD5CsVHPPwKi+4uLwUKUd9QcbpeGmT1koC
         o3Enn1EchpiiXRWzYExlCyqj6mEYVWJb4qVGbt/7AzEE4jSwyqe41PSp9In4PkDDTM24
         fIvR43STRit+czI1HlA3sD4ja7JNgbUPPGygiFmvGmyL5Li6GGt4MtKnGNLvLEWuxeur
         J5IpKOq3hTseDjhaLxluNah3bmfQLoyUlfgMc/pHOZt6ENH+GRVpuecITw8OUz1laHaj
         3pDg==
X-Forwarded-Encrypted: i=1; AFNElJ+0fuLyvqXoMY1WEjt+uysKl6i58eAdavMHDwjTxDbC3T9uPsqMSR0Nw8Y+9dfaMLIoIkER9Q3zAo0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyk2J3n7+Z14GJMi8Xou+tZCGKMv4va2lLDkU4X+mTNbElCOnfi
	iWAjiY8ikWiThKP66jziQGS4U+CEvNMxLiKZABLw+EPo2rQtU0D5xs1mUl501KEPPw==
X-Gm-Gg: Acq92OHFfMGLePnEzY621RaNwCKvPS4EN7k4OSuD9XSJZO51fNhSFhj4pcwC1EP/xrE
	Cm9FZfNNwKoN4BvU4w+qP0/7O63W8/w7lI5NBWONBHMClpA83KdUoHZbKqnUCp5XhftF6gIFMmz
	2p1tcUm+rnlQcgSkpJP9cgn+Kh2VV91T4o5aHyAYQcnQyWQlDNcTfFwD8G55s5nicAwIeXLoNTm
	7wEFO+zNl7BIV15Ctq7gdOkiccY9+Fxno/GaTSYb8NwcIM+UNafsQUyEKyVnwXO8GAOg+t6IWGL
	fu3h75PkWwKCKNCKv9527k1jzt9KIddOiCQX6SeZbHLTXbS+W7g/5avW5j3IUpmGsPCgt+Gy7H9
	W1ro6eiIX7TnnZhtcaXEN5HmbYUjFffkJMZfng2qMhzbiEVsxPCqA583SyFfnKRKQ0414U4TDRa
	2RH0Cf5NsZ1yHJyywWpdhSjQeAjZ4DvFg8ic51pjdHVfzurUp8FWmgomlMagqCMjWLyZIl7gGvh
	Cv4xADJHo/HcLk=
X-Received: by 2002:a05:600c:4f83:b0:492:2c87:3d34 with SMTP id 5b1f17b1804b1-4922c874027mr10516065e9.15.1781506623872;
        Sun, 14 Jun 2026 23:57:03 -0700 (PDT)
Message-ID: <24399462-e83c-40fa-ae90-e66b09b1a461@suse.com>
Date: Mon, 15 Jun 2026 08:57:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/sched: Link CPU topology to scheduler
To: Hirokazu Takahashi <taka@valinux.co.jp>
Cc: "Mykyta_Poturai@epam.com" <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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 =?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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20260610111320.133784-1-taka@valinux.co.jp>
 <20260610111320.133784-3-taka@valinux.co.jp>
 <4ad6cce2-c15d-4614-9d73-5ed1354047b8@suse.com>
 <OS9P286MB72224A75554691CDC5F82D0E82182@OS9P286MB7222.JPNP286.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: <OS9P286MB72224A75554691CDC5F82D0E82182@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1781506624-AF555FF4-4765A661/0/0
X-purgate-type: clean
X-purgate-size: 912

On 12.06.2026 21:53, Hirokazu Takahashi wrote:
>> On 10.06.2026 13:13, Hirokazu Takahashi wrote:
>>> @@ -19,11 +23,17 @@ extern struct cpu_topology *cpu_topology;
>>>  void map_cpuid_to_node(unsigned int cpuid, struct dt_device_node
>> *cpu_node);
>>>  void dt_init_cpu_topology(void);
>>>
>>> +#define cpu_to_core(_cpu)   (cpu_topology[_cpu].phys_core_id)
>>> +#define cpu_to_socket(_cpu)   (cpu_topology[_cpu].phys_socket_id)
>>
>> Please can you avoid introducing new name space violations (identifiers
>> with leading underscores should name file scope entities); also again
>> below.
> 
> Ok, I will remove the leading underscores from the macro, which were
> originally defined in xen/arch/arm/include/asm/processor.h.
> Is it okay to leave the macro definitions in x86's 
> `xen/arch/x86/include/asm/processor.h` untouched?

If you have no other need to touch them - of course.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 07:04:54 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 07:04:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338017.1599044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ1NJ-0003xF-FK; Mon, 15 Jun 2026 07:04:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338017.1599044; Mon, 15 Jun 2026 07: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 1wZ1NJ-0003x8-CK; Mon, 15 Jun 2026 07:04:49 +0000
Received: by outflank-mailman (input) for mailman id 1338017;
 Mon, 15 Jun 2026 07:04:48 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ1NI-0003wj-7E
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 07:04:48 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ1NG-005Gwj-7V
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 09:04:46 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2fa403-2eae-0a2a0a5409dd-0a2a4502e52a-48
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 09:04:45 +0200
Received: from [209.85.221.51] (helo=mail-wr1-f51.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2fa40d-af86-0a2a45020019-d155dd33a81a-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 09:04:45 +0200
Received: by mail-wr1-f51.google.com with SMTP id
 ffacd0b85a97d-45ef5146b56so2396433f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 00:04: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-4606f2e592csm34243255f8f.36.2026.06.15.00.04.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781507085; x=1782111885; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=DbnndbiCRX9eeK8YSQU/U76IoMhVgTCsFwQQkP8O+aM=;
        b=Jw8NuB8vd8F7xeVXMM46Z0NpHOmyrr0hzLD7rNUxwnd2POle/4JYkLjlGCw+ls8epr
         Hs2S+G2BB4jnEntzb9VQG/01D7ywcsN9vY/7uzI8NXf9UCTHegNd72b77a7tofVobUZf
         Ehp93qh45x+bnTrdXEomKVr785Yv5RJ5xM3cjLXEuCpZqo6anom1MxSQAlAW0fEecDhL
         gVMrjfKBMiNnD/qY2Bk7ZG6R8wBD89H4OuFAfVt8VxOtc59Aejwalb+A8XNRE6KE6NNp
         UdoxS9Y8P2zDyIMhsbNzdRpvojof0CCgSw2EJK/dTpL8SIjq4lxb5Zp/+fa68KWWB5kT
         LcHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781507085; x=1782111885;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DbnndbiCRX9eeK8YSQU/U76IoMhVgTCsFwQQkP8O+aM=;
        b=ITqIEylJYTP837Ymi8+1MmO9Up0ScalqozpkrQI0N/8UAnmN/pfHInPmJP7hMUp2JP
         yOCAqybOLaGPtPWbCoqCqWRC4UbxtauM2qaUUwOWYAnOPGiJsyTLcd2Di/Bgl9MNrCME
         gzczOYmNBKGJDOQJBhJW8Ul4ANrD6NLBacXbic8DyIS0o6zrD0zqHq0KXNNNhkaeOp6+
         bMRJb8FdGVbvuZgkPYPAk3iXLOFD78HJOtjM6cCcxCaSECmrGotooiz0SX0Yz9Sex7Ml
         cknmzeY58lyZAzQSUznO6i/7wTvn7+LWYcqvBtHHKPwAG1oWemYMgCMIm7i+JcUwHQvp
         UPnA==
X-Forwarded-Encrypted: i=1; AFNElJ/ObYQOkUNzn5HhVrGp4xzAc0O1gcL5GF1tqgHvMO8GsSokJw0rie6AfoFyQ8WFxRHfIdx0VZi8xxA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz4FW2nPZ4aZBWVwL0WY0ZD9dJtuNj8525CVQBR4VAQDPF0MhdL
	zMA2TMmBbWVoykmU58L327peVMq5QDf5rdJ1C8CbsdtSSpsFF86YW7tGBqJ5hClLRg==
X-Gm-Gg: Acq92OGBbyXP3dACkIwEd8XQolJPq+OjoUylAmHfm2QTt+zUwGcjN763D61dXlFYdaO
	PECQkQ0ou5d+P42aLRuuZyJdB60ASQ9VqMUODWRyuMCMk/8KYbXUmo8SGzcdjrQUuz3yk/0cGcq
	0SAbaLL0hCL3sKm/Hl3D1PWrlffOL/hNv+OBC5tB/44fK3MK+SRafTLyvxW7/M4N6SZ45cNlIS1
	8wZuaeEfri6l+G2X9IqhiwHBpBXUfZ4PGCaeqmd/vYjj3dzoZ3mpaZ+YhMXBZcE0+k92vHuRyTO
	d8RagvOo1NxfvppenZeOEvOdZtDHRfBPDmXISQfu7ZpbZgNV8PHJ/05Cj69Wi7CcVd7Bk3RQ7Ld
	Yc0sAr7bCKZOK/KnawZtJlAdzcEC5jypPMqcQdnYPuIOO/KXF/LM9i2KDppgtrHdyjOxwPLTuxx
	1iW6H7ZSBgn7TnoHxYvgDFol2lEDS3C31cehTqYmHvbipdenAM5pj2eCG6wmz4a4vq088CVAsWQ
	/qwj22aQ/At+7Q=
X-Received: by 2002:a05:6000:2507:b0:460:d1e:a59a with SMTP id ffacd0b85a97d-4606f2211abmr16117463f8f.8.1781507085253;
        Mon, 15 Jun 2026 00:04:45 -0700 (PDT)
Message-ID: <b871a5c0-8499-47b6-8dff-ecbd21412051@suse.com>
Date: Mon, 15 Jun 2026 09:04:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/efi: Skip FPU save/restore for idle vCPU in EFI
 runtime path
To: Bernhard Kaindl <bernhard.kaindl@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,
 Anthony PERARD <anthony.perard@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <8de2649558826621d49b404cae7a874f504e6b86.1781282640.git.bernhard.kaindl@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: <8de2649558826621d49b404cae7a874f504e6b86.1781282640.git.bernhard.kaindl@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-720697/1781507085-81D77161-7729EF5D/0/0
X-purgate-type: clean
X-purgate-size: 3337

On 12.06.2026 18:54, Bernhard Kaindl wrote:
> Anthony reported a boot-time assertion in init_xen_time() via efi_get_time()
> -> efi_rs_enter() in vcpu_save_fpu() on a Broadwell-D system:
> 
>   Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387.c:195
> 
> This became fragile after the lazy-FPU removal cleanup series:
> 
> In 1792bb9a99d2 ("x86: Cleanup cr0.TS flag handling"),
> efi_rs_enter() was changed from save_fpu_enable() to vcpu_save_fpu(curr),
> which unconditionally asserts !is_idle_vcpu(v)
> so an EFI runtime call in idle context now asserts.
> 
> Likewise, in dba44e051209 ("x86: Remove fully_eager_fpu"),
> efi_rs_leave() was changed to call vcpu_restore_fpu(curr),
> which has the same assertion and can fail for the same reason.
> 
> Guard both EFI runtime FPU calls with !is_idle_vcpu() to skip save/restore
> for idle vCPUs, which don't have an FPU context to save/restore,
> much like the calls are guarded in __context_switch(),
> where save/restore is done only for non-idle vCPUs.
> 
> Fixes: 1792bb9a99d2 ("x86: Cleanup cr0.TS flag handling")
> Fixes: dba44e051209 ("x86: Remove fully_eager_fpu")
> Reported-by: Anthony PERARD <anthony.perard@vates.tech>
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>

Also Cc Oleksii for an eventual release-ack.

Jan

> ---
>  xen/common/efi/runtime.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> Jan Beulich's suggestion to guard the calls to vcpu_save_fpu() and
> vcpu_restore_fpu() in the EFI runtime path with is_idle_vcpu() checks
> seems to be the right approach to fix the assertion failure for idle vCPUs:
> 
>> The thinko looks to be in 4b9851c64522 ("x86: Remove fpu_initialised/fpu_dirty"):
>> While vcpu_restore_fpu() indeed unconditionally set the two boolean fields to
>> true at that point, idle vCPU-s may never make it through that function, and
>> hence ->fpu_dirtied would have remained false, triggering the (original) early
>> exit from _vcpu_save_fpu(). Perhaps all we can do now is guard the call to
>> vcpu_save_fpu() (and also the one to vcpu_restore_fpu() out of efi_rs_leave())
>> by explicit is_idle_vcpu() checks. Much like the calls are guarded in
>> __context_switch().
> 
> Anthony, could you test this with the 'cmos-rtc-probe' workaround you just
> added removed to check if guarding the assertions as Jan suggested is enough
> to fix the issues triggered on your machine?
> 
> diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
> index a23fa75e3740..596f2710fb21 100644
> --- a/xen/common/efi/runtime.c
> +++ b/xen/common/efi/runtime.c
> @@ -98,7 +98,8 @@ struct efi_rs_state efi_rs_enter(void)
>       */
>      sync_local_execstate();
>      state.cr3 = read_cr3();
> -    vcpu_save_fpu(current);
> +    if ( !is_idle_vcpu(current) )
> +        vcpu_save_fpu(current);
>      asm volatile ( "fnclex; fldcw %0" :: "m" (fcw) );
>      asm volatile ( "ldmxcsr %0" :: "m" (mxcsr) );
>  
> @@ -159,7 +160,8 @@ void efi_rs_leave(struct efi_rs_state *state)
>      }
>      irq_exit();
>      spin_unlock(&efi_rs_lock);
> -    vcpu_restore_fpu(curr);
> +    if ( !is_idle_vcpu(curr) )
> +        vcpu_restore_fpu(curr);
>  }
>  
>  unsigned long efi_get_time(void)



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 07:41:35 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 07:41:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338030.1599053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ1wc-0000Ub-4f; Mon, 15 Jun 2026 07:41:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338030.1599053; Mon, 15 Jun 2026 07:41:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ1wc-0000UT-1N; Mon, 15 Jun 2026 07:41:18 +0000
Received: by outflank-mailman (input) for mailman id 1338030;
 Mon, 15 Jun 2026 07:41:16 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ1wa-0000UN-9x
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 07:41:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ1wZ-001iCl-N1
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 09:41:15 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2fac9b-2eae-0a2a0a5409dd-0a2a4508db48-0
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 09:41:15 +0200
Received: from [209.85.221.49] (helo=mail-wr1-f49.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2fac9b-63b5-0a2a45080019-d155dd31edb5-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 09:41:15 +0200
Received: by mail-wr1-f49.google.com with SMTP id
 ffacd0b85a97d-45eeba68948so2199223f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 00:41: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-490ea963cf8sm191853665e9.2.2026.06.15.00.41.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 00:41: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781509275; x=1782114075; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=UuHI6Gu/da2Sf7eCm7CZhxbcwwH09LKnWMjkYuVqYl0=;
        b=QYpvWlYBGol9ZB+/rAhY4VNaTaArHvzO6wkD+aat31ksdtPq/lRm72FUSfcRFKFPbi
         8uyyVXhVETgh+dW6+oGEbI+gpmV3RWB5Juni8dja+6lFv4uMI3hEGgYyIXShW4UHhPJr
         y1KuXkj/qUOCvpCYrodFn23aCQ5ka5jLsqLkkQPcAyo+/qTiWfIDLJ7O3e/xwilVVmOy
         +oDRHEPI9lgxKZ5c4Q+j7XuKCOFy6lD9WjBdq/LiUoFeGkRFsW8cKGnPm2TxPpjP4KDk
         hq9nKDUWMiW4EZgxMcZmgnJQaDXn10bfO8vljB6H3aW7pSfywjYtFYs8mnDgKP2jGC3M
         KVwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781509275; x=1782114075;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=UuHI6Gu/da2Sf7eCm7CZhxbcwwH09LKnWMjkYuVqYl0=;
        b=lV8/vPF8+vkoPQN41etHAJ24zjo65GPSYdikDdgZfEI55Bb2owOObYqMIArn1JP6Xo
         BrlO2w8vqAUvvqTU41HFF9jrwy1gP6vilCc+w9pKQG0IqSjyynf/Uf568jd5Ag5RCeP8
         1kFbp9M9+IRuQGAUIa8Mlqmk75d55inz/uGzBInUV+DC6iVlEKVBjpRX7ROMcwxHHcea
         5aQrY6xdhDnwZMP/peWrMnoi9/wTZDRbK9kSw/HO5H62ifqNmQulEizshJyO+9Avhklg
         4G3XOzxElL/QlNdKfVJ+7Od/410nHmiZdOlhvLjTAPu8Wgyg4B97DGPgch+i4W7/1xGw
         WAYA==
X-Forwarded-Encrypted: i=1; AFNElJ8HV2YfW26Aahl+cWNKMcOX/PYePhcM1eJMyotqqIjgVo/uXjyODD2ENtRF7sHQJ4O1ucUG2M2JSos=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx4ug9sBAPGhnkIs7xxhbPm0RE3+z/qGiQ42GZvrFs9gwq8OqBO
	6bsmNXtE+iRiQxp8blKdGyEwsDmXxUC1rdkYJSJ0RTe6FWPJw/Gsj9+uUMdGCnv4Qv9kSfA4scS
	oEcs=
X-Gm-Gg: Acq92OEF/AdgDAlIAINxUpS703JpZmBJvzMLBfVbVLEylEIoUsnYB8GlYPQ+SZUBNLe
	AU/rzt/W4ulrnmt/7aBDXUiKAU3UtBN/vfUsTkLxrZ3Schp5qqWis4BV29mjueUxDtfWD/lPlB2
	3oyQVAanM5bsgATQbZNHkcV/wYCGsxeay+x+coBubdUHOqpLi8s/rz15QbWdRZpE2oLa4A2iTMx
	UbGEuLHQNPc+dKLpMVfMDyKi9VqexwzxekYIDeqM8ILi1lajvvaLtwN6z1kyWT6QcYRWlbPKaPr
	YmEqNtWlalW9stJptAQOAHj6PK7dg40k9gZQm/Wphwlq0u/DxEkFltJdCPpBeK+4w3Iu8LzpOJ2
	DTv4nULxbvy3QE4B+DyeLbLBhYV1MFwsJkjacoH73tmpoqX4lrWbMzOhRDvlzCdAgxkkKUqgCuH
	Rdk/Vf4n/l9+5/qZXLj3c63z5urLikCktJ/B3XnlLReplQ9OYEB70V3izpaefuT5putKzawzEGn
	iMeS4VVDMmcbCg=
X-Received: by 2002:a05:600c:4f94:b0:490:bd66:e522 with SMTP id 5b1f17b1804b1-490ec50075fmr160204645e9.29.1781509274618;
        Mon, 15 Jun 2026 00:41:14 -0700 (PDT)
Message-ID: <8289ea1d-ceca-40b6-a992-a778be053cd0@suse.com>
Date: Mon, 15 Jun 2026 09:41:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 12/16] xen: implement new foreign copy hypercall
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org, Daniel Smith <dpsmith@apertussolutions.com>
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
 <20260613214749.20620-13-frediano.ziglio@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: <20260613214749.20620-13-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c1860d/1781509275-BE368DB1-06F3F6EC/0/0
X-purgate-type: clean
X-purgate-size: 7742

On 13.06.2026 23:47, Frediano Ziglio wrote:
> --- a/xen/common/memory.c
> +++ b/xen/common/memory.c
> @@ -1545,6 +1545,133 @@ static int acquire_resource(
>      return rc;
>  }
>  
> +/*
> + * The "noinline" qualifier avoids the compiler to create a large function
> + * consuming quite a lot of stack.
> + */
> +static int noinline mem_foreigncopy(
> +    XEN_GUEST_HANDLE_PARAM(xen_foreigncopy_t) arg)
> +{
> +    struct domain *d, *const currd = current->domain;
> +    xen_foreigncopy_t copy;
> +    int rc, direction;
> +
> +    if ( copy_from_guest(&copy, arg, 1) )
> +        return -EFAULT;
> +
> +    if ( copy.flags & ~1U )
> +        return -EINVAL;
> +
> +    direction = copy.flags & XENMEM_foreigncopy_direction;
> +
> +    if ( copy.nr_frames == 0 )
> +        return 0;
> +
> +    rc = rcu_lock_remote_domain_by_id(copy.domid, &d);
> +    if ( rc )
> +        return rc;

Extending my v4 remark: How about a "fully foreign" copy? I.e. one between two
pages in two foreign domains? Getting me back also to the un-answered v4
question of mine as to MMUEXT_COPY_PAGE.

Further, as to the order of checks: I'm not going to insist on re-ordering, yet
I'd like to point out that copying 0 pages to/from a bad domid might better
yield an error.

> +    /*
> +     * Check we are allowed to map and access these foreign pages.
> +     */
> +    rc = xsm_map_gmfn_foreign(XSM_TARGET, currd, d);
> +    if ( rc )
> +        goto out;

As per

K:	xsm_.*
K:	\b(xsm|XSM)\b

in ./MAINTAINERS please Cc the XSM/Flask maintainer for such changes. I for one
question the re-use of an existing predicate here.

> +    do {
> +        /*
> +         * Arbitrary size.  Not too much stack space, and a reasonable stride
> +         * for continuation checks.
> +         */
> +        xen_pfn_t gfn_list[32];
> +        unsigned int todo = MIN(ARRAY_SIZE(gfn_list), copy.nr_frames);
> +
> +        rc = -EFAULT;
> +        if ( copy_from_guest(gfn_list, copy.frame_list, todo) )
> +            goto out;
> +
> +        for ( unsigned i = 0; i < todo; i++ )

Nit: "unsigned int" please (like you have it above).

> +        {
> +            struct page_info *foreign_page;
> +            void *foreign;
> +            p2m_type_t p2mt;
> +            const unsigned long valid_mask =
> +#ifdef CONFIG_X86
> +                p2m_to_mask(p2m_ram_rw) | p2m_to_mask(p2m_ram_logdirty);
> +#else
> +                p2m_to_mask(p2m_ram_rw);
> +#endif

What about, for example, p2m_ram_ro? Or p2m_ram_shared? Or p2m_grant_map_*?
Etc. Any artificial constraining wants justifying in the description and/or
mentioning in the public header.

> +            foreign_page = get_page_from_gfn(d, gfn_list[i], &p2mt, P2M_ALLOC);
> +
> +            if ( unlikely(p2m_to_mask(p2mt) & valid_mask) && foreign_page )

Was this meant to be

            if ( unlikely(!(p2m_to_mask(p2mt) & valid_mask)) && foreign_page )

?

> +            {
> +                put_page(foreign_page);
> +                foreign_page = NULL;
> +            }
> +            if ( unlikely(!foreign_page) )
> +            {
> +                gdprintk(XENLOG_WARNING,
> +                         "Error accessing foreign gfn %" PRI_gfn "\n",
> +                         gfn_list[i]);
> +                rc = -EINVAL;
> +                copy.nr_frames -= i;
> +                guest_handle_add_offset(copy.frame_list, i);
> +                goto out;
> +            }
> +
> +            /* A page is dirtied when it's being copied to. */
> +            if ( direction == XENMEM_foreigncopy_to )
> +                paging_mark_dirty(d, page_to_mfn(foreign_page));
> +
> +            foreign = map_domain_page(page_to_mfn(foreign_page));

Latch page_to_mfn(foreign_page) into a local variable to avoid the redundant
translation (which the compiler may not be able to fold)?

> +            if ( direction == XENMEM_foreigncopy_from )
> +                rc = copy_to_guest(copy.buffer, foreign, PAGE_SIZE);
> +            else
> +                rc = copy_from_guest(foreign, copy.buffer, PAGE_SIZE);
> +            unmap_domain_page(foreign);
> +            put_page(foreign_page);
> +
> +            if ( unlikely(rc) )
> +            {
> +                gdprintk(XENLOG_WARNING,
> +                         "Error %d copying gfn %" PRI_gfn "\n",
> +                         -rc, gfn_list[i]);
> +                copy.nr_frames -= i;
> +                guest_handle_add_offset(copy.frame_list, i);
> +                goto out;
> +            }
> +
> +            guest_handle_add_offset(copy.buffer, PAGE_SIZE);
> +        }
> +
> +        copy.nr_frames -= todo;
> +        guest_handle_add_offset(copy.frame_list, todo);
> +
> +        if ( copy.nr_frames && hypercall_preempt_check() )
> +        {
> +            rc = hypercall_create_continuation(
> +                __HYPERVISOR_memory_op, "lh", XENMEM_foreigncopy, arg);
> +            goto out;
> +        }
> +    } while ( copy.nr_frames );
> +
> +    rc = 0;
> +
> + out:
> +    rcu_unlock_domain(d);
> +
> +    /*
> +     * Update in all cases, it allows the caller to know how many
> +     * frames were successfully copied and the continuation to
> +     * continue correctly.
> +     */
> +    if ( __copy_to_guest(arg, &copy, 1) )
> +        rc = -EFAULT;

It's not quite clear whether replacing an earlier non-zero value held in
rc is a good thing here. The only time when it's strictly necessary is
when you schedule a continuation. I'd suggest to add "&& rc >= 0".

> @@ -2012,6 +2139,13 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>              start_extent);
>          break;
>  
> +    case XENMEM_foreigncopy:
> +        if ( unlikely(start_extent) )
> +            return -EINVAL;

Please address review comments (verbally or by code changes) before submitting
a new version. Here I had asked "Why make this different from other continuable
sub-ops?"

> --- a/xen/include/public/memory.h
> +++ b/xen/include/public/memory.h
> @@ -740,7 +740,45 @@ struct xen_vnuma_topology_info {
>  typedef struct xen_vnuma_topology_info xen_vnuma_topology_info_t;
>  DEFINE_XEN_GUEST_HANDLE(xen_vnuma_topology_info_t);
>  
> -/* Next available subop number is 29 */
> +/*
> + * Copy memory from/to a given domain.
> + */
> +#define XENMEM_foreigncopy 29
> +struct xen_foreigncopy {
> +    /* IN - The domain whose resource is to be copied. */

There's still "resource" here, when this really is about RAM (memory) only,
not any other kind of resource.

> +    domid_t domid;
> +
> +    /* IN - Flags. */
> +#define XENMEM_foreigncopy_from 0
> +#define XENMEM_foreigncopy_to 1
> +#define XENMEM_foreigncopy_direction 1
> +    uint16_t flags;
> +
> +    /*
> +     * IN
> +     *
> +     * As an IN parameter number of frames of the domain to be copied.
> +     */
> +    uint32_t nr_frames;

This isn't just an input, as you update the field (and the handles below).
This property of fields wants reflecting here, so callers know that they (a)
can't re-use the struct on a subsequent call without re-initializing the
fields which may have changed, and (b) can't put the struct in r/o memory.

> +    /*
> +     * IN
> +     *
> +     * Frames to be copied.
> +     */
> +    XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
> +
> +    /*
> +     * IN/OUT
> +     *
> +     * Userspace buffer to read/write from.
> +     */
> +    XEN_GUEST_HANDLE(uint8) buffer;

With these two handles, there continues to be a need to (explicitly) deal
with the compat case as well.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 08:22:55 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 08:22:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338051.1599062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ2am-0006LG-LF; Mon, 15 Jun 2026 08:22:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338051.1599062; Mon, 15 Jun 2026 08: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 1wZ2am-0006L5-HZ; Mon, 15 Jun 2026 08:22:48 +0000
Received: by outflank-mailman (input) for mailman id 1338051;
 Mon, 15 Jun 2026 08:22:47 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ2al-0006Kz-Aa
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 08:22:47 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ2aj-00BPmE-MJ
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 10:22:45 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2fb652-5cb7-0a2a0a5109dd-0a2a450b9fb4-18
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 10:22:45 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2fb655-212f-0a2a450b0019-d1558033b433-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 10:22:45 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-4908b92904fso37213885e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 01: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
 5b1f17b1804b1-492203bfb27sm262307385e9.11.2026.06.15.01.22.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 01:22: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781511765; x=1782116565; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=g6baOI2xojFKk6nBmI/VcA2+TjGmEsRZzpOqmXG3pdk=;
        b=NV8dLQ6q0CvjZzO/cNvbwopWt7/s7+Yhovdw9did0Lz9c9VBCnASNx27YyeyF6Q2M6
         n8KnuxQ46GGNAMeT5K5Z4ceQquOMvxmFSzhSZxQoT5aU7eFxbXq+o9m4wyA/PY18RQae
         yjXGeGZ0LZfCBE1IoxO+shIxEETL6+FvWtUHQQfYthA2jdZ96Acx++vQgV+I2sRcJCdV
         10MwhJfugz8njVmlo/5vd607Ug+/6B/ZodY84xVRbMYdSqiuoJeAsBJz3nE6LSDes49t
         hd2V/CiPgpsevwITgV3ncklDxv7FeUDo7nTkHx4CtH+sxTBFY1HM8dJe+QWHUyeXn2D3
         mTQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781511765; x=1782116565;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=g6baOI2xojFKk6nBmI/VcA2+TjGmEsRZzpOqmXG3pdk=;
        b=q8MTOFIjg3IxcTS6q/LHuv1Bi2C8b2625dA9hjGco1io5pjYitUs6tP2apz/GlZoXH
         t6YUqNEcZnN2sVSfRswd0thvblmvXJVQMwhC5mT7B3VZIfhvfwMbCmX7NIgM5VlHe+Gn
         6MUdzUCp9Yd0muhWx5LQAlLO5jpCsoRGpXUxgZrarTaeid/f2ASNgZ8DvTvVs35+YAki
         zCvx42v3c0wMnU4JlXFMBq7VC9eiuQR/IIHnba9lHpyLh1l2ZFNkd0OS6pgR7wJcC9zl
         Y8qpLIdT3DKzRmiDLyWaeMmZ1V/y6Xrj1yNo7/Udjf150sdPKjH8IvqARXgSLmzw9bNp
         qytg==
X-Forwarded-Encrypted: i=1; AFNElJ8D3Prdm/SeyhGXRfioU7p3sLJh7VUNlwD4BJAMSqJb2Fc/EFq8q7Tv4aPPshoNli5beh56ODxEqbg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxFTn/U6jFBRE3VYYFUT/hkgIr9srjTp6lYNILLOkRXwYTAMaA/
	xA6L03KNhnInsFvL0LH8QDZxudhwWT96hCXS0HLwgTbCnnpVerFo5NcCFaajJp4reg==
X-Gm-Gg: Acq92OE+Yqe4BVO91Bt60xY00VfaL+qT7SsCr0l2lTZBHl0WDWX5A3RWx19OmygKF6O
	JLAGe5izTYbYCMVFgVRKVZ2jCgjtF0MSCD9egjzl0UYckaVsIcDUnPeo/GJ5K/ZQy+hNXT3OcLE
	1RC0XR9ytKPsdFpM3AhGGBJPOV4hRK63O9k+DU97VheunPRZN9oz7DMWQy+b8NiXChaPK0Pdz4r
	WbHKc2n28l4XOZeBUEL9Ljfr1wTxl82NA+8atgNDVkCR8jXB3XJycHyM6OG7Zw3Zv9RSkiEqO+1
	ikiIL/uHZEdS9OMVinr82e45aHspe6qEfL2ZWsMEbStD8mQ5as1t6tdpeSRmsxOOTtfuPl2XSY6
	yW7svJYILefD5pn3RJFJSwuddh0WPHS882QqF3Yj4w1nFNSBNoI9Z5CD6Fx0M3drgWd90R86Wd1
	kzAATFkiZf+VqWggIOTx5TZBqMTQl+30KF0/se7yXWz83eBD8/04nVqrMUQ7RI98GxUcGaivl7S
	vsSGcYNaQzBjKo=
X-Received: by 2002:a05:600c:4693:b0:490:cdb2:fb5e with SMTP id 5b1f17b1804b1-490ec504d88mr199330875e9.22.1781511764604;
        Mon, 15 Jun 2026 01:22:44 -0700 (PDT)
Message-ID: <308c29f1-98e6-4271-9a27-01d405922cba@suse.com>
Date: Mon, 15 Jun 2026 10:22:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.23] xen/kexec: Drop the obsolete v1 hypercall
 implementation
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>,
 Kevin Lampis <kevin.lampis@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260612102727.3121098-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: <20260612102727.3121098-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1781511765-18F66F3B-98AF72D7/0/0
X-purgate-type: clean
X-purgate-size: 1231

On 12.06.2026 12:27, Andrew Cooper wrote:
> The v1 interface was declared obsolete in Xen 4.4 (2013) when kexec in Xen was
> overhauled.
> 
> The only known user of the v1 interface was the classic-xen fork of Linux.
> Linux PVOps does not interact with Xen kexec directly, delegating it entirely
> to userspace (i.e. kexec-tools).  Xen support in kexec-tools was part of this
> work, and uses the "new" interface.
> 
> As such, there's no way to test changes to the interface any more.

Maybe yet less ambiguously "... to the old interface ..."?

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

Reviewed-by: Jan Beulich <jbeulich@suse.com>
with another nit below:

> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -4,6 +4,14 @@ 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.23.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
> +
> +### Removed
> + - On x86:
> +   - The kexec "v1" interface, which was declared obsolete in Xen 4.4 (2013).
> +     The only know user was the classic-xen fork of Linux.  This does not

Nit: known

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 09:02:34 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 09:02:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338061.1599072 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ3Cx-0002yo-CV; Mon, 15 Jun 2026 09:02:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338061.1599072; Mon, 15 Jun 2026 09:02: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 1wZ3Cx-0002yh-8t; Mon, 15 Jun 2026 09:02:15 +0000
Received: by outflank-mailman (input) for mailman id 1338061;
 Mon, 15 Jun 2026 09:02:14 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wZ3Cw-0002yZ-2L
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 09:02:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ3Cv-001DB3-9a
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 11:02:13 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2fbf94-5cb7-0a2a0a5109dd-0a2a4506bc5e-2
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 11:02:13 +0200
Received: from [40.93.194.10]
 (helo=SN4PR0501CU005.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a2fbf93-7371-0a2a45060019-285dc20a9a62-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 11:02:12 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by BY5PR03MB5187.namprd03.prod.outlook.com (2603:10b6:a03:226::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Mon, 15 Jun
 2026 09:02:09 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.015; Mon, 15 Jun 2026
 09:02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ET9owZ/XEeVLpxFwya1uDa1qeyaGPjwCKlnwH/U1Yzm8O7XFbhyLfaFb2MwP6TS57arReBpa/5CCOfcnZNWeu/xLrlQ0RA4Son8TSVnpYRFuXZaF3u+4qmiL11redpTqTZwl57BBqRhoFREOSQI7z9iooomZ0Ve63Qk4ii5y+/MCZCElyFGnxKPAkJj+JDrmlxgjxLIS5CGf9+sFW71ua5VwCceBooM7+IGDRgV4mPIfnYoWsDwd4vkCSWCjkfhE/b9OAf+XWqCAQCWH0pUFUYOI63n7fk0Wp8sjxMB7aLXx8HsQvGs8wjSp/umKU/H+cG7Xc6L3Wrot9+Ce7asN6Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+XIJSJ3hLuT169BQ2K0kEK5w6YTOxqer/mhBVLQ3N6Y=;
 b=TCxfZOJoWgZXV+Tm7uQxPefqVa02DYd9/ln6PLSs6zxl7hH/quXcsJ31JUN2yQjPVtmPmdNM8fkNvuRrCRb2eFqsySPb2kfjNZE6UXjQi1Im409+lLgnYwGQcxkj1muxqhOTqksN7u0aFEfFE2Ax8P/b/8B9fxokNy81kwJiUv8lbxV/PulNtejIp6LrZL+xs5DeJNZNNl8UswVRXlFqoZG1iqtW1jZcA+AHgb7xxOh2GOTj3G45nwbUSLX7k0scgtGoVljdp89Sf2DXix+URPLuuiY8U4lUwFhh597lvIdV8oSbr3AAV4Ce28aR4U6Tsp6l3llpOTlCSLy6bNE5Ng==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+XIJSJ3hLuT169BQ2K0kEK5w6YTOxqer/mhBVLQ3N6Y=;
 b=XP2Je1tcLqOgic4TiNASyKNKOGadiKAAcxZCacbV3dRuXmFwB48PMVMWOmy6e7RVtu1i9DdKGB4oYTlGFn+Ok61Ad1ZMRO+BuTr3pPLiogA7whPKL/OhoZ9WEmHBHHgDA8i7uWizwJcZr3gFPXWjRkO5UEQGuWpbNDBVf8qTHtc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 15 Jun 2026 11:02:05 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: Re: Assertion '!is_idle_vcpu(v)' failed after 'Remove
 fully_eager_fpu' commit on EFI
Message-ID: <ai-_jUw0QmdC7gPK@macbook.local>
References: <1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@vates.tech>
 <aiwTkDUP6rDPbV6R@mail-itl>
 <0db98119-48f3-4edd-a422-8e50ee713b7c@citrix.com>
 <e84d6765-61fa-4203-a1ee-ac07f54a1026@suse.com>
 <48878ff6-ad36-448f-aa9d-6b37e2e179b1@citrix.com>
 <1781277924.8631fc262581453bbf619ec5b2062170.19ebc701bfb000701b@vates.tech>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <1781277924.8631fc262581453bbf619ec5b2062170.19ebc701bfb000701b@vates.tech>
X-ClientProxiedBy: MR1P264CA0089.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:3f::22) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|BY5PR03MB5187:EE_
X-MS-Office365-Filtering-Correlation-Id: 2430c4eb-8777-4736-d16f-08decabcc820
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|23010399003|1800799024|56012099006|4143699003|11063799006|5023799004|6133799003|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	R3m5PsFwXPZS5cZtE/f2EyPwtc5PlO0VFhKSViaxpXdYMeeXTtUfVcVh27ZHZ6EsZffn+/KSWPFqEmfXkVtP4EErC6r1QagftAyt6O2jZQaDxFoqd4xzNB4gwVnqA105YWqBoioDp7aphy8VWgmCWcr8qvanVNBYtgdOBoXNUIXsil8Ey+i7F0R8F5eMm8QCGK7vBen8LNbHD2cQ75hbDHdt9R/qTi7m7EaSQfBLvsiX1k4zUu1zRgKBxsK7J0oe+fNJm00MZ61ufIbplVO9x23BPrVHlRCOQI+rW+i+oLRWhJHRO0LpO96HA55Ndb+Md/uGg2FNYgDsLYfRBj+jzoPB+LjDZMZpAeiUaraYQtMkGb+6/4VVRDQ37OM5Tmn7I4mak39q25D7u07O/p9em6kgSe0EHEiutaw/B2pFz9FKJA/m1wAYHid87krbOQwm3IhUjaJqdDzUbjKVYgCrZsS7zvIuz2ojd+JFw5IoyuEyQvb/kd9btuOws9V/V4gV9U2/J2irZpdczyWpTen/DY8Nt928G71TRfQwGXgS/xj1MzwalwH8gHfd5dJJcYv/96tDrfxS4d5ICnY0kwwRStlxkc2ka8Zft8VuAbxVp19HEFPOhlX5PoVPXMA2UXFVS0zdWkgzZt46PgDA9k5Ridup9ojVGK/kbDx8XFBQQxf1AxZ/0ZTKVpLU6t3MCfeD
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(23010399003)(1800799024)(56012099006)(4143699003)(11063799006)(5023799004)(6133799003)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bzdSR0FKWXNvNzFCRHh5d3h2MEdIclpDbWJQT29jZWRnOW1QczVzNDFWRkNU?=
 =?utf-8?B?d0NtU25tNTlxaitqS1V3SEk3Y3ZteVdYaTJTS2VDMzRiMnVuZ0h6ME9ubW5K?=
 =?utf-8?B?VWU5ZVQ4RDcxN3N2QzBQMm80V1g0NThEaDU2ZmFqMHUrNUM1aFpqRHZBL1FS?=
 =?utf-8?B?STQxOHBUK1lzV0ZNTWJSTmljM3lJSStaTXFjYkVPOEJkblhrbjR0YjkwYW1N?=
 =?utf-8?B?cG5OdHdzbWhOajdQZnk4UG5JN09Qdmc5aHMvblRDSDFhTmdzcFJxWmc1RTdV?=
 =?utf-8?B?dkNpRmZ5Q2lMOC9LZ3dINXg0UCsxYnZocVBNd29sdmVoMUFUT2JzaWVTQ0hF?=
 =?utf-8?B?Sm9iSGJXbU9QeWpiSlFhbFpCUzZ5Z3RzMFYrMVpWRmk3RUh6Y2MrYUY1WG43?=
 =?utf-8?B?V3RYYVNOZUVJcFBSM203c1FIUmxYcklaUkRRQ2QzQ3laNEVQOFRDSG1URE9B?=
 =?utf-8?B?alBlc0xEZnlQaGVCWUV2WUF1SDhrdmRoS3AxczQ2QXdwY3FtWE8xU0hUQ3ZU?=
 =?utf-8?B?WkIwQTdObGpTTGc4bzdyYVpNeXllRDVxR1dIM0dmMjA1WUZQNGI3ZzFPcE82?=
 =?utf-8?B?M1p0QVhkR2t0SVVFa2YrMmY5SFhQWm1qRlZhWE9DeGwwTWdUeVVxT0dNdmV5?=
 =?utf-8?B?a0RqN2NWdEpQVUEvZStQZk9LTTQ1RVlGVlJISXZJbEJVcUlXRGZiaEhhbDdN?=
 =?utf-8?B?NEJNdDZNQWsrRkRsaGo5d0NYUU5pdjdMM29ZRCszalkwNDlsVjhzQTh4TVU0?=
 =?utf-8?B?d0JiYTdyZ0VyUmt5VEZHZnlHc0loS1RzQ0o1NHdMSXdJSnlyT3RVN1QwMndO?=
 =?utf-8?B?UXZBUjBKNUptM1h5akFSTEk0OHp5K29SV2E2Z1JISmR1eDZZZGNxcnphQmdD?=
 =?utf-8?B?Ynp6bGRJRnlvQ000SDBmVlh0K2pua0dVVFBQY2IvMnY5WUZGaUVLcTRDalBW?=
 =?utf-8?B?VURYczAzVFZpSSsxZkhNVFpxYkFHLy80UE9lUHdDVjVLck9iU3lOcm1IalI5?=
 =?utf-8?B?c25aN3A4b2dXUmhoLzhtNC92dzQ3TW1RZnJtYjJwM1RWemp4VGFyaHVmbnY4?=
 =?utf-8?B?TWg0WEFMeGZtd3pZeE55OUljZXFvL0NaR0NCSTdvRURBb010L0NYYzd2eUFF?=
 =?utf-8?B?S0JMQTRkWUlMMWNzMmJLYUFPakY5S2dwOFJ2OWNzOG4xdjJpT2dkZ0RlQzN6?=
 =?utf-8?B?d2F2MUJrL0FxYXdsSUFkMUZqNG5CY3I4SnVWc0tsTk9LUDlJZDVMZE5RRSt5?=
 =?utf-8?B?VjVnVFRXSGZoeUd1WUp4YStuU1ZDYUdFV3pWQlJiRWxJOHJyNUFlS1NGTUx5?=
 =?utf-8?B?MDdvWVh5NmNaZDUvMGtScWs5c0pEc2gzbGw4THNyck9hVVJKTDJJamRIajh5?=
 =?utf-8?B?NGRhV1pKZjRvNW1lOXRnM2hpQWJGRGFLS1N5WHdKL28rUG1rMUhlVStiemF2?=
 =?utf-8?B?YTVKd0E4WUJhVUpwM2pnb3JQZVV5Rjh1cDlnWGtIRlZqMlY4a0ZkR1RkSVZK?=
 =?utf-8?B?M2xtdkpnbWMxWkpvcS96ajBnT3g1OTUvMHRKOHNPMTBFOW1SUERSeU9iUTlj?=
 =?utf-8?B?NTFqaGZMUkdsNW9JTlh6QTVVVmc5MTVJVlpHREMrWHloQ2tmRk9neWdNWmMr?=
 =?utf-8?B?SzBpTzVMUlFyUWlCSmxCQjdjbGpaTkVJb0VST1VIR2pDTUpWUWlRektROFJY?=
 =?utf-8?B?WTdXNnBzc2p0VWtNSzhPY1M5NW16ZDIzYXFmSUlYWDdKZVJJQkpiRGxPOHV6?=
 =?utf-8?B?L0lJTW1vVEpMdzVkUkx0MUR2M0FMOHNuQXNCK2xuU2tSK1MzZ1FYZjBQKzl3?=
 =?utf-8?B?OGozS2pWR2xEQUF2V0xTc3Fza3JTSzlteDhBRy96cEV5ZmZMdVpTT2pPRmJo?=
 =?utf-8?B?WUFPNndYQzB6S1MxS0g4QXVJQlYxMmoxWm5VZldQSW5hdkxxR1lzOHlZaHhR?=
 =?utf-8?B?RHBwQXNWS0xXMUF5RVpMYmxMMmFRMUszM2xkLzAwa3hzTFo4bkpKZXJuODRU?=
 =?utf-8?B?cGJtYUR4NXhUa3lPOHk0TGNRSmtla2thbEJ3cVRwalBBMFoxbGZTZkFvT0Jx?=
 =?utf-8?B?NHdUbUQwVWVFMkk4Qmp6OHdETksyV09qUVdmK1ZuVkUxR2RldTNXczU5N0xM?=
 =?utf-8?B?YmdaQ3ptQTNoZHJTa2ZKMmJ1amw4NjhrQ0JGNnBINnZiaXU4dU8rT0JPWTIw?=
 =?utf-8?B?TkhRMkVkVHllMDhyQU1qSlB2TGp5aE9qVmFtcjZpSkZvZnAwVmUxNThOdTI2?=
 =?utf-8?B?Njg4Mk9yZXAyY1R1UHpLMjRpMTRvS0tjMXhPWmVOQWRKclFKbEREN0dGMnMv?=
 =?utf-8?B?cW1wQW9FelR4L3FGWU1PZEtTYXhtZjhIREhld0JwYkRsS1ZrVTlUQT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2430c4eb-8777-4736-d16f-08decabcc820
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2026 09:02:09.6015
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kpST1H4uIETxXefj8IMcI7tBZIgfeyN1RbyVkC6E9jtalRxlSFRJ66owrjkgkBWymjUChXyIZLn8L3fthv3r0A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5187
X-purgate-ID: tlsNG-16d1c6/1781514133-8757ED75-69C39FD9/0/0
X-purgate-type: clean
X-purgate-size: 1862

On Fri, Jun 12, 2026 at 05:17:31PM +0200, Anthony PERARD wrote:
> On Fri, Jun 12, 2026 at 03:32:00PM +0100, Andrew Cooper wrote:
> > On 12/06/2026 3:20 pm, Jan Beulich wrote:
> > > On 12.06.2026 16:18, Andrew Cooper wrote:
> > >> Well, no intended change.Â  It was a very big patch.
> > >>
> > >> Nothing should ever be using efi_get_time().Â  It's unusable (i.e.
> > >> crashing) on hundreds of millions of machines.
> > >>
> > >> So, while we obviously do need to fix the assertion, this is "only"
> > >> collateral damage from having fallen into the efi_get_time() path in the
> > >> first place.Â  That wants investigating too.
> > > Perhaps a reduced-hardware system with ACPI_FADT_NO_CMOS_RTC set?
> > 
> > The identified system is a Broadwell-D.
> > 
> > Come to think of it, there were some systems of that era which (falsely)
> > claimed to have no CMOS.Â  (An HP Haswell Blade comes to mind, but it
> > will be a similar chipset.)
> 
> Some info from the boot log about the machine:
>     HPE ProLiant m510 Server Cartridge
>     BIOS Version: H05 v1.98 (02/02/2023)
>     System Memory: 32 GB
>     1 Processor(s) detected, 8 total cores enabled, Hyperthreading is enabled
>     Proc 1: Intel(R) Xeon(R) CPU D-1548 @ 2.00GHz
>     HPE Power Profile Mode: Custom
>     Power Regulator Mode: Dynamic Power Savings
>     Advanced Memory Protection Mode: Advanced ECC Support
>     Boot Mode: UEFI
>     HPE SmartMemory authenticated in all populated DIMM slots.
> 
> One of the cartridge on a Moonshot.
> 
> > > On such systems efi_get_time() would better work properly.
> 
> I guess it works fine on this system. On a different cartridge, with a
> Xen build prior to the commit, I have in the boot logs:
> 
>     Wallclock source: EFI

Can you provide the decoded dump of the ACPI FADT table?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 09:13:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 09:13:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338067.1599080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ3Nc-0004ls-9Y; Mon, 15 Jun 2026 09:13:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338067.1599080; Mon, 15 Jun 2026 09:13:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ3Nc-0004ll-6p; Mon, 15 Jun 2026 09:13:16 +0000
Received: by outflank-mailman (input) for mailman id 1338067;
 Mon, 15 Jun 2026 09:13:15 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <philmd@oss.qualcomm.com>) id 1wZ3Nb-0004lf-CR
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 09:13:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ3Na-005TKx-8q
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 11:13:14 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <philmd@oss.qualcomm.com>)
 id 6a2fc225-e002-0a2a0a5209dd-0a2a4506de34-14
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 11:13:13 +0200
Received: from [205.220.180.131] (helo=mx0b-0031df01.pphosted.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <philmd@oss.qualcomm.com>)
 id 6a2fc228-7371-0a2a45060019-cddcb48363fa-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 11:13:13 +0200
Received: from pps.filterd (m0279871.ppops.net [127.0.0.1])
 by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 65F99FbG035652
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 09:13:12 GMT
Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com
 [209.85.222.198])
 by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4etegur0kb-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 09:13:11 +0000 (GMT)
Received: by mail-qk1-f198.google.com with SMTP id
 af79cd13be357-91579011fd1so498381085a.1
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 02:13:11 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2b0d4fsm35375932f8f.24.2026.06.15.02.13.09
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Mon, 15 Jun 2026 02:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=qcppdkim1 header.d=qualcomm.com header.i="@qualcomm.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:Message-ID:MIME-Version:Subject:To"; dkim=pass header.s=google header.d=oss.qualcomm.com header.i="@oss.qualcomm.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
	cc:content-transfer-encoding:content-type:date:from:message-id
	:mime-version:subject:to; s=qcppdkim1; bh=5eKOXCv/vInmR0M9o8Av3s
	sy5kZO4+VBTWH0JYfq89M=; b=kmM52Fj6rboWFjPMnZAS/lb6TCgpsnkguiwo2f
	qRR+x+bCQWx8nWuXsS0l+8+snCT1FFvIYaIvSAyMMowHgiWnewnEhwBGWIKFrGHF
	1e/pGqDJe0GYx7+l293XniWdtWdC2M6z9w/prBVp0IsBBuyezs5YtBECnV7xvHs8
	0NSwskGCrwyTQXmicWPUS6M4ktd+xjCsmaCnXwjX2VUmqiJ/KID7aMtH5gzY6jXx
	s+7uAMsYYrglqcWjItTBL++eBHwVHdpd1pAz/kB03rJqpsTRma3dKZtXRBYwF2lu
	Dq53xyVJff3djQOKfwo9BhLoceHMibHmJuzoUDbE1TGLIrOA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=oss.qualcomm.com; s=google; t=1781514791; x=1782119591; 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=5eKOXCv/vInmR0M9o8Av3ssy5kZO4+VBTWH0JYfq89M=;
        b=WOTsUO7eqgjl8bkEFlW4GaNDcKatpFY8R6EXCXBfs4wCtJBQM3EIt95zZbQM5+tS5M
         G4S7RB58NwXuY80364pWQdcNe2mqsbV+FUQwbdj/PogAtm7Qay5BoB2/LydaMPVQAyH9
         C6BeVNaac0rzpy3/B7yI90/9M34ffh0qm7zFTylSgyqo0chce9uavop91dnHqbQouyDo
         36jo5Uqov1ccuCUr845XB6yBScFjaGNAnyDkEoNKpXGKD7r6z5IDu2svCdGg9paGXir1
         TxIYmC8gEPXgBOyMQaHgQz9cttfEPJoMI/zAJezEpybSLugnTg5jLP3XElN6IUtIp+VF
         cl9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781514791; x=1782119591;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5eKOXCv/vInmR0M9o8Av3ssy5kZO4+VBTWH0JYfq89M=;
        b=cdO2PCOKidaNXOzP9MeyZV37XF1UkOk+6TblMrB4r+/unboKodzMwujE5diexJyN2P
         zNNVNQRWyA9NoR3AwltCVRIYfqIxaynxa0uZg/2jsex87r3s9Lxzoy2VSSQqt5kxl+w2
         Wl+iS3HvujFMaSqShdk0WeF7uqB7HrZVWvWPr/qVhRiswsbYH81uHTzFMWeH6FMvZBQA
         i0ChMnzZOmWDYV8iDEGUoWy65SHKfpBfVBTk5j3LHnJn4clda13T774a+HSP2LYS50e3
         VuSHUnrzmsGBWqzTdIctxchRWbTLPgITDYGh62rZIVOrbslGz1xa9EQqPDf71bh+gA0T
         JpOQ==
X-Gm-Message-State: AOJu0Ywet4oedQKDlL/XQ4uDwa7/odgIzNkgBHOoGHQfvpiksmiX8BDC
	p801dLb9NmJlgADvwoil6ZHVEbcOFIqDn+6p55NDOig3mnMfB8ZUtFIKSBjZACJKKOoMGYU5M1/
	GupThMgQDJ2KgXQOxfDXXUFtxx/Q1zPltCJylBLKm5XxyLNya1w1TQp/+3ch3Uom83S6bqQ==
X-Gm-Gg: Acq92OEgZ7P9mXXRSzoTchJmPYM4uknzkd6leoc2FeaKdixIN2bhbUebuYY1ztEEIb7
	GhG6yZywN6LXovpodPxZx7OEUAlPsCFCRYsxwSURmTrLuAbW9c2Osxh1bkmyZm4FNQd+7HBvMYk
	87CmmkQbKlqG+Kt8qxRu/jSu/HzUBqXMnvQoDYY0yND/umoU927KyH6koueEJ7PCwxusSl9gltP
	K6lMhAR0lrto7KP+57Fgxgoe3tvK0wsfRlBxr6XXU1yRzLR2qYyhJhBsgmun+R3d8ANPrjcd/vW
	Yajj2TsmHPNqWiEL9Dvgaifkb6R1wEe8t4fsYgfLA72dgmg1g5DqFOvyyJSow6tpMfIwFI0GEP+
	rDN66TAi97k5v4VJqJ0aSz0gVEVYnSpUHswLARbx5RK04QMyf2R8YzLGBa2y0g8PPUAv7x0PC3j
	xKg94=
X-Received: by 2002:a05:620a:272a:b0:914:b65f:6b00 with SMTP id af79cd13be357-9161bac4e82mr2152721285a.6.1781514791207;
        Mon, 15 Jun 2026 02:13:11 -0700 (PDT)
X-Received: by 2002:a05:620a:272a:b0:914:b65f:6b00 with SMTP id af79cd13be357-9161bac4e82mr2152717285a.6.1781514790771;
        Mon, 15 Jun 2026 02:13:10 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@oss.qualcomm.com>
To: qemu-devel@nongnu.org
Cc: xen-devel@lists.xenproject.org,
        Stefano Stabellini <sstabellini@kernel.org>,
        Anthony PERARD <anthony@xenproject.org>,
        =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
        "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
        Paolo Bonzini <pbonzini@redhat.com>,
        =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@oss.qualcomm.com>
Subject: [PATCH v2 0/2] misc: Remove pre-C99/C11 checks
Date: Mon, 15 Jun 2026 11:13:06 +0200
Message-ID: <20260615091308.4458-1-philmd@oss.qualcomm.com>
X-Mailer: git-send-email 2.53.0
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE1MDA5NiBTYWx0ZWRfX/HKcKRgm++ZR
 N6bJeCU0cFskGjsUna62f6BYZPPXuzajo77Void6wKQW+WJhxWDcqcbvTKluydi06Ax4YoWH8P3
 GEH8d1k7is3Lj4MgMhCb5z43gKTqnRuUKbFd7CHJbcNEe0ZY6xXbRNpyDEffMxwYaH6giTFBe2u
 7UHulw98fBCWKSycsj/BWJilDt1WhIDJj+WopWhSBpIrN1mnwxnoRid8wCbx3pDih/xNu39UNRI
 72S7k6fRm9PjTjntcuRlFFJIY/l/GaXlatPa0gEKpXr4IbwK9keqN7e2tG1YGN2ov7wLgaO2v1x
 BYT26iMp9uqYqAXycQDnie+ev2l4lMbJMGcAd2ykscb1rwxYyTtahQBlJr+cqDdDfyLMHk48vzZ
 IADipEB+vj819QWqHxTFHe+0fNVplIZhoMzwQhRj27+Eaz/NB7pz2IbwlMq5AagrGC5qdi4H3zE
 sbIW7GdeD9/iYW394Ow==
X-Proofpoint-ORIG-GUID: ZvdRTJ11uBh-5YkA694A7c-jQ4mlLT0w
X-Authority-Analysis: v=2.4 cv=HMvz0Itv c=1 sm=1 tr=0 ts=6a2fc227 cx=c_pps
 a=qKBjSQ1v91RyAK45QCPf5w==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17
 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22
 a=2Kr2Ceio6qlyrOmMFMIA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10
 a=NFOGd7dJGGMPyQGDc5-O:22
X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE1MDA5NiBTYWx0ZWRfX3NCv3HODwldd
 Sge0M7eTLKc+/nWeueyP6qxS0IwERFHw6OX40QRGNGa9B0miyOwiv39s/nmz+/gJJnXATJSYUe/
 yV4wRuOoCzbG9/SnXrI1rfIpkSoaW1A=
X-Proofpoint-GUID: ZvdRTJ11uBh-5YkA694A7c-jQ4mlLT0w
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-15_02,2026-06-12_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
 lowpriorityscore=0 clxscore=1015 spamscore=0 malwarescore=0 suspectscore=0
 phishscore=0 bulkscore=0 adultscore=0 priorityscore=1501 impostorscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2606040000 definitions=main-2606150096
X-purgate-ID: tlsNG-16d1c6/1781514793-86F73D75-B5B13013/0/0
X-purgate-type: clean
X-purgate-size: 591

We uses C11 since 5 years now, time to
remove few obsolete __STDC_VERSION__ checks.

v2:
- Correctly use flexible array member (Bastian)

Philippe Mathieu-DaudÃ© (2):
  hw/xen/interface: Remove pre-C99 checks
  qom/object: Remove pre-C11 check

 include/hw/xen/interface/physdev.h    |  2 +-
 include/hw/xen/interface/version.h    |  5 ++---
 include/hw/xen/interface/xen-compat.h |  2 --
 include/hw/xen/interface/xen.h        | 14 --------------
 qom/object.c                          | 14 +-------------
 5 files changed, 4 insertions(+), 33 deletions(-)

-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 09:13:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 09:13:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338068.1599088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ3Nl-00051C-Gi; Mon, 15 Jun 2026 09:13:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338068.1599088; Mon, 15 Jun 2026 09:13:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ3Nl-000514-Dp; Mon, 15 Jun 2026 09:13:25 +0000
Received: by outflank-mailman (input) for mailman id 1338068;
 Mon, 15 Jun 2026 09:13:23 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <philmd@oss.qualcomm.com>) id 1wZ3Nj-00050D-JF
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 09:13:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ3Ni-005TKx-S9
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 11:13:22 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <philmd@oss.qualcomm.com>)
 id 6a2fc228-e002-0a2a0a5209dd-0a2a4509ae28-34
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 11:13:22 +0200
Received: from [205.220.168.131] (helo=mx0a-0031df01.pphosted.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <philmd@oss.qualcomm.com>)
 id 6a2fc230-2497-0a2a45090019-cddca883bac4-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 11:13:22 +0200
Received: from pps.filterd (m0279865.ppops.net [127.0.0.1])
 by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 65F8qtOE2211269
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 09:13:20 GMT
Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com
 [209.85.222.197])
 by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ete98030u-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 09:13:19 +0000 (GMT)
Received: by mail-qk1-f197.google.com with SMTP id
 af79cd13be357-9157d38ab37so303950085a.1
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 02:13:19 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2d9becsm31131680f8f.34.2026.06.15.02.13.16
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Mon, 15 Jun 2026 02:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=qcppdkim1 header.d=qualcomm.com header.i="@qualcomm.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=google header.d=oss.qualcomm.com header.i="@oss.qualcomm.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
	cc:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
	4s/yUxjPNLve+3gfnP5xoK2AqyLlEffP2tRAyASu6G4=; b=lkBL6qSoRD/Z6Vb4
	UmY4e5QEW9jJL+nu+BvFJtg72MuG8gYgYmcS0A8Wy8rFkgb6Tk+RRmckjLoaLSUu
	tCYR20xqsqqVjKgDKD/5Fj93ZZLX8Pu4QcZO8gSnWGJZO+ULLRxQHaEp1erwxv9U
	q/79nezxMqieHoa0x8lsANj0hvUVE7M5hiKoYeQI3mKifJysURPq12kOfp6gCCw9
	LuAMLHfiaNGTa9t8FStG+GJxrJkuVJWvkkcFQLIcOSqusxg3gmVwM/SfPr3iJ6aZ
	w9lLfENNC5yufpuatA4xh0r9pJ1zRoyg+OPsR/dZ2rcah5giWf1IXBen5mCfoP3x
	hMOXOQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=oss.qualcomm.com; s=google; t=1781514798; x=1782119598; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4s/yUxjPNLve+3gfnP5xoK2AqyLlEffP2tRAyASu6G4=;
        b=WWj90fXrXTqSDiVLrIDqhrKqINdBFulrrVebH0Tu/USOSdNlSJz+LOzRrKFbCE2RaD
         6y8ARW+ggE9pZVeyTsviw1zi1oDRUdtzmpJCbh20Zzi5fSJIBHgRbkB7d0LyEn+guG6j
         S5RfjhbLSaCecuPM0t9LRaMNu/r69iFWNyJtxfbpWY2PH+mvPV4C59LKXnRLPVuwua+0
         hsMXWg/STxNDBnMkZRWGArLURDOeU2I/FCgEpopZcD03WONjp/ZJAXzG+hgyxe5kUThJ
         nEQ+bTdEMcxZsSSaEi4jTHgGA7kHB1oar9VCJ6VTYU7ICbXgJOsmjeMTTA17tfE7p7my
         NvhA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781514798; x=1782119598;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=4s/yUxjPNLve+3gfnP5xoK2AqyLlEffP2tRAyASu6G4=;
        b=hLSTNq9P/31HAKSlZas7W+PgRblq9Wi0Br9qelyjAoTu3THwOtJizmFfO/5lynQzzD
         ef7rDS4FP7lOZmEab/ByPDXOWQLuzD//9x7ld4uLmkCP6Vk6HMdWuCq14/p3rzPmYF8T
         Fb0rYdk6/uhQ57Dkl0oDHXkNdiJgZoqHOXP/wvwgfrzRwtJntj41i4oTcpg7ErXPgCVe
         5oLX3dQW1WcgUOAeP3U22BsR/er0f92lRJZEUiDAY/p29XO8FhUoR9/tGXwcFBhjtaws
         dTCU/9J6KzDs0r1qgwle2Lp22AL6wAMsZ+HDPA+F2v/tjUMYd2pRwGZ86rlH2jo5L5Ac
         uhiQ==
X-Gm-Message-State: AOJu0YyNfqtdGC29iRdGKF0dYrpf7gCd7NVVmZn4aytT4YgTImW8kNID
	WX3CDxZPWzkf+S2HQRpmwplFnpQPeTWxyjtVhXPbw5o/LrmpbcorRqhdSqR8wEL6Cxig/GLVsWk
	atHBzjopltnkr1+FHiB9c1Wot+kP9/yQURBR6b6K4faUtZi/lqgeVWD2pqVDLJeBW88Rc0wSQKy
	8GsQ==
X-Gm-Gg: Acq92OFTWH3pT3Y1h1F30BIRJ2kPOYxOjsZ6ML7/4p+x6/x0aV+ld/3rYMqwoj4koKp
	y7nC/xiv968U5T9wOX3LEK4HJ4gFKOVcPvZtiJXOg1AcrBkXGyOmJHr1DTEHj2uxkBJP9ucQmtu
	M/P+BhHLu3/FJFtpFens486cSoThfY8k48QmRS7apTNy96n6T5KfIAuv6y1F0UxRIqsDdJP8YjY
	7/StTvpDmowbwIhGSD989tPxJ1jOF+A59gZMCejCy95JkHZIEv5bV004gaB6oveU7SyIFxlllVP
	tlxoJeS8/5nPHNWlsOBekKP5UrXwPrM2em9Y2YFwheFf52CLMax2jcgbTlTpmLVnhDD+umxf5XS
	GrCBWPubCmwhylCtqYGQvAZFltgGnmhzfN2cLVTy/9Ji5ZJX0pTm3KGjrKilRGJ8EB0mbAzDUYZ
	BOWxk=
X-Received: by 2002:a05:620a:3198:b0:90e:2f56:2f0b with SMTP id af79cd13be357-9161bac7a1bmr2185348485a.7.1781514798486;
        Mon, 15 Jun 2026 02:13:18 -0700 (PDT)
X-Received: by 2002:a05:620a:3198:b0:90e:2f56:2f0b with SMTP id af79cd13be357-9161bac7a1bmr2185343885a.7.1781514797978;
        Mon, 15 Jun 2026 02:13:17 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@oss.qualcomm.com>
To: qemu-devel@nongnu.org
Cc: xen-devel@lists.xenproject.org,
        Stefano Stabellini <sstabellini@kernel.org>,
        Anthony PERARD <anthony@xenproject.org>,
        =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
        "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
        Paolo Bonzini <pbonzini@redhat.com>,
        =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@oss.qualcomm.com>,
        Bastian Blank <bblank@thinkmo.de>
Subject: [PATCH v2 1/2] hw/xen/interface: Remove pre-C99 checks
Date: Mon, 15 Jun 2026 11:13:07 +0200
Message-ID: <20260615091308.4458-2-philmd@oss.qualcomm.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260615091308.4458-1-philmd@oss.qualcomm.com>
References: <20260615091308.4458-1-philmd@oss.qualcomm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Authority-Analysis: v=2.4 cv=V5tNF+ni c=1 sm=1 tr=0 ts=6a2fc22f cx=c_pps
 a=50t2pK5VMbmlHzFWWp8p/g==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17
 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22
 a=mDV3o1hIAAAA:8 a=EUspDBNiAAAA:8 a=vkG9KRslzty0At4LJNIA:9 a=3ZKOabzyN94A:10
 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22
X-Proofpoint-GUID: _BM02O5aNScGxXlt1PV4VJ0oRwqJhJWi
X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE1MDA5NiBTYWx0ZWRfX2KCYL+jQUYIm
 +tDn5f7IZ4SG/f6amZe8A2dw+053NTtODOMJnp+GkRHNxs0TmEkrsSUqvbtAp9qaFepb/4Z9owk
 rrp3cHHjbRdQZ70CS+MW9byUjcbHEWI=
X-Proofpoint-ORIG-GUID: _BM02O5aNScGxXlt1PV4VJ0oRwqJhJWi
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE1MDA5NiBTYWx0ZWRfX059ViOn6NctN
 LPwiAMwZm63tBxNDk0fQSvHYD0saZVXuGjtFLyp3JhWi4L4Ve0kRzxzmRWbcqIWGcDYsTTPucrL
 Zk2u1AjW7GB944SvTpAtkHPCQvCuYMXPmvg64EI7wbJaRVzspRbD0/IKtxfmI5Y+lJ6NEpQTbNL
 8BqX4akQjn/PEoxh2OxUrXPnqzAIwxVjp27pFjglyW2XBq7SAw0jPDmgeolvH65mYKy7vcBtxXg
 aAwzLeuxii6hmrdY83J3W7sj2wYEyhjOSG5s1cIz0hXayPFba/KvU7k1qlIxyAzJkzO4BDQ89I9
 iajaMnIRmOU/+rsWdP7kdz0bOLpY59mjFr85awGa+Uutzh3EjmiKE/C+/UXsVNsRQfjqF3+tXM5
 teXkqzkfVKbo4ETY7nnFHm/83pktK4g0dPDr5Ya7VOmj4OlxacKat41LMjo6g0iVuveBB/dfESc
 9DUm6AGhWgLxsr5yzhg==
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-15_02,2026-06-12_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
 suspectscore=0 impostorscore=0 phishscore=0 malwarescore=0 priorityscore=1501
 adultscore=0 lowpriorityscore=0 clxscore=1015 bulkscore=0 spamscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2606040000 definitions=main-2606150096
X-purgate-ID: tlsNG-bad1c0/1781514802-40762A53-21FEFE3D/0/0
X-purgate-type: clean
X-purgate-size: 3755

We mandate a compiler supporting C99 since 2019-01-17 in
commit 7be41675f7c ("configure: Force the C standard to gnu99"),
thus supporting flexible array members [*]. Remove what is now
dead code.

[*] https://www.gnu.org/software/c-intro-and-ref/manual/html_node/Flexible-Array-Fields.html
Cc: Bastian Blank <bblank@thinkmo.de>
Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@oss.qualcomm.com>
---
 include/hw/xen/interface/physdev.h    |  2 +-
 include/hw/xen/interface/version.h    |  5 ++---
 include/hw/xen/interface/xen-compat.h |  2 --
 include/hw/xen/interface/xen.h        | 14 --------------
 4 files changed, 3 insertions(+), 20 deletions(-)

diff --git a/include/hw/xen/interface/physdev.h b/include/hw/xen/interface/physdev.h
index f0c0d4727c0..ca2bcbfd159 100644
--- a/include/hw/xen/interface/physdev.h
+++ b/include/hw/xen/interface/physdev.h
@@ -283,7 +283,7 @@ struct physdev_pci_device_add {
      * First element ([0]) is PXM domain associated with the device (if
      * XEN_PCI_DEV_PXM is set)
      */
-    uint32_t optarr[XEN_FLEX_ARRAY_DIM];
+    uint32_t optarr[];
 };
 typedef struct physdev_pci_device_add physdev_pci_device_add_t;
 DEFINE_XEN_GUEST_HANDLE(physdev_pci_device_add_t);
diff --git a/include/hw/xen/interface/version.h b/include/hw/xen/interface/version.h
index 9c78b4f3b6a..2f183c3efd4 100644
--- a/include/hw/xen/interface/version.h
+++ b/include/hw/xen/interface/version.h
@@ -77,9 +77,8 @@ typedef char xen_commandline_t[1024];
  */
 #define XENVER_build_id 10
 struct xen_build_id {
-        uint32_t        len; /* IN: size of buf[]. */
-        unsigned char   buf[XEN_FLEX_ARRAY_DIM];
-                             /* OUT: Variable length buffer with build_id. */
+        uint32_t        len;    /* IN: size of buf[]. */
+        unsigned char   buf[];  /* OUT: Variable length buffer with build_id. */
 };
 typedef struct xen_build_id xen_build_id_t;
 
diff --git a/include/hw/xen/interface/xen-compat.h b/include/hw/xen/interface/xen-compat.h
index 97fe6984989..582c0182367 100644
--- a/include/hw/xen/interface/xen-compat.h
+++ b/include/hw/xen/interface/xen-compat.h
@@ -24,6 +24,4 @@
 #error "These header files do not support the requested interface version."
 #endif
 
-#define COMPAT_FLEX_ARRAY_DIM XEN_FLEX_ARRAY_DIM
-
 #endif /* __XEN_PUBLIC_XEN_COMPAT_H__ */
diff --git a/include/hw/xen/interface/xen.h b/include/hw/xen/interface/xen.h
index 920567e0062..a6f4aa61993 100644
--- a/include/hw/xen/interface/xen.h
+++ b/include/hw/xen/interface/xen.h
@@ -36,15 +36,6 @@ DEFINE_XEN_GUEST_HANDLE(uint64_t);
 DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
 DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
 
-/* Define a variable length array (depends on compiler). */
-#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-#define XEN_FLEX_ARRAY_DIM
-#elif defined(__GNUC__)
-#define XEN_FLEX_ARRAY_DIM  0
-#else
-#define XEN_FLEX_ARRAY_DIM  1 /* variable size */
-#endif
-
 /* Turn a plain number into a C unsigned (long (long)) constant. */
 #define __xen_mk_uint(x)  x ## U
 #define __xen_mk_ulong(x) x ## UL
@@ -986,13 +977,8 @@ typedef struct {
       ((d) >>  8) & 0xFF, ((d) >>  0) & 0xFF,                           \
                 e1, e2, e3, e4, e5, e6}}
 
-#if defined(__STDC_VERSION__) ? __STDC_VERSION__ >= 199901L : defined(__GNUC__)
 #define XEN_DEFINE_UUID(a, b, c, d, e1, e2, e3, e4, e5, e6)             \
     ((xen_uuid_t)XEN_DEFINE_UUID_(a, b, c, d, e1, e2, e3, e4, e5, e6))
-#else
-#define XEN_DEFINE_UUID(a, b, c, d, e1, e2, e3, e4, e5, e6)             \
-    XEN_DEFINE_UUID_(a, b, c, d, e1, e2, e3, e4, e5, e6)
-#endif /* __STDC_VERSION__ / __GNUC__ */
 
 #endif /* !__ASSEMBLY__ */
 
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 09:13:30 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 09:13:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338070.1599098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ3Nq-0005IH-Sk; Mon, 15 Jun 2026 09:13:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338070.1599098; Mon, 15 Jun 2026 09:13:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ3Nq-0005I8-Pg; Mon, 15 Jun 2026 09:13:30 +0000
Received: by outflank-mailman (input) for mailman id 1338070;
 Mon, 15 Jun 2026 09:13:29 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <philmd@oss.qualcomm.com>) id 1wZ3No-0005GT-S0
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 09:13:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ3No-005TNK-8c
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 11:13:28 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <philmd@oss.qualcomm.com>)
 id 6a2fc235-2eae-0a2a0a5409dd-0a2a4508c45c-18
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 11:13:28 +0200
Received: from [205.220.180.131] (helo=mx0b-0031df01.pphosted.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <philmd@oss.qualcomm.com>)
 id 6a2fc236-63b5-0a2a45080019-cddcb483c3c2-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 11:13:28 +0200
Received: from pps.filterd (m0279871.ppops.net [127.0.0.1])
 by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 65F99Brk035442
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 09:13:26 GMT
Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com
 [209.85.222.199])
 by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4etegur0ma-1
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 09:13:26 +0000 (GMT)
Received: by mail-qk1-f199.google.com with SMTP id
 af79cd13be357-9181f3cc5ecso342214285a.1
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 02:13:26 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922031b7d2sm252204735e9.5.2026.06.15.02.13.24
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Mon, 15 Jun 2026 02:13:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=qcppdkim1 header.d=qualcomm.com header.i="@qualcomm.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=google header.d=oss.qualcomm.com header.i="@oss.qualcomm.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
	cc:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
	MF2aozQ8nBaPhoD/R1S5ChTpTVtPNvgch2k7hu45wMU=; b=HQ4JlZ+9iI5Pg8gm
	5OExKe8ys/F/dP7MuxCzdbLqKeA9uVUWbRX/KBfWG/KuBcDVHLrlJjK7jmDRdkyj
	c4OeHQDvet/PAnPzGK2T8foJ9FOrw9OBkE2WGtjgUe+BRHTv/Erj3lzc4BgSPRef
	6rwYzHf3u4ksAB+QYwldlejdoPnQ3NPU6bERbGNtqH8SeDxn2xV6ZSDpw9oQg7ad
	sOqs6RxZ+wTL4agvPmBQ5VNEzPwZYkdWN80siVlKL+OJ1pSgwdMqb5DmUARReFGy
	E9VZ4fn8ryd4Jk2EVvuU+vRU1MHKsYDfFH2/zwoTMar+j/AIspZ6ydBr1N6BaNdl
	tvmY7w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=oss.qualcomm.com; s=google; t=1781514806; x=1782119606; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MF2aozQ8nBaPhoD/R1S5ChTpTVtPNvgch2k7hu45wMU=;
        b=OelKamK4gSQVQJOfqhlXYin471fqi61vduthK6yGTjFI1vWJ+BoFdMJ0J9DDh212sW
         dabApBWcPNe8Tz0haG9/4SGhHS8zTkgffFBjm43ZfxW57JNhHFzRZJGZY+jOplVpHab5
         ToEC31g3CSOj7ZUimaw3q5N4K6xYy6Zg1DSX1wnnQwAziuxymC8AVUK6mBnybo007Cyj
         8v1AUXWHlEaOPoQt87lNIiXYODhjZNzmtdZR7vGfdDJDeJ9r2WTE0S8XXpRX8I7aZcZK
         ykDfNDwq5MDojaR2zY7qydKxHUCEjDGpNqV/W7irjxcVA2mwyhX2mp6Y5xpAWGzggfTF
         CCyw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781514806; x=1782119606;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=MF2aozQ8nBaPhoD/R1S5ChTpTVtPNvgch2k7hu45wMU=;
        b=Ryzsfpxxg4pBpiNgByUpK3hEx7aqyOJtUo6G3r8FUcWCktqEr6i3ZT61UgGeeAElZp
         FakvnqMdwNnEciEY6+1TlWWlpSGrerpO64W5lUWDBkSz82dbnG1WU01o3tvxECVBO+dz
         gozqQGo8NDIp4VDkZAHziHBNApWxzOR9r1Mb/UuxjTH92fhlDtGJ47+goAGWEQvV8Kl1
         EFW+nUXcZR+DKCOvvQWurrHevcT5XarD/hWsnInAruhbMiGuWVXBcF7Rr64/jBnr/KO6
         GgsQnrvqFF12LXd3v5/kf/Yr/HYRHCWfSiYAKEC25eiqHbxamwCf0tH6/Y7tVB5UACtC
         mSRg==
X-Gm-Message-State: AOJu0YyvyYfhRvfJnw5lAzhxU9J+1/U3ir1KFdE+0w/BhRwj506Acapw
	+psg3OzMx6tWMK1uSmBKKyQQ3KXw7RnZrDI0ZLfZJg3o6++2M7gT+rd+1dKWvpOijGRNFUac4vz
	acwkJkE7nx/iMXe/tb5VQaDW6NuVmB1a5zPv8ZEhRa4lxO2ml6g0hTF8WiJtaWTSGX7/38Q==
X-Gm-Gg: Acq92OHVARhS1gi6TGvqQMDKrlGGxwNYSyMzkmnlBDbTYZ8MQ6N7hyVMeuA6ipjsL8b
	qUxRq1usNH4Lw+86p2kPU7suKj64hGua5P45G42xBSjU8RkZ6qZbhNepijSIix4SU5yR3NxNoNI
	+gSBZ81BiCpmBgUT9mEUuEgfF28p0/SUEzzN68TSC7nBsAUMieQgp23nCtc9C3k/c2CgoUnq7tJ
	5QryowCJuou6jbLYYV1jtbfKOgqD7P2wgNY8HQBMW+RBt/uK9uhO2TNPiDfd4Vg+NMNgxpE6d2D
	NYhoOnKN6Gy6gjWlhTbhiYAjBPZUdh//EmqQm3aRpxbNU67NUXmmEJVxl4Qfq3WX4DMcH0iBoFq
	+xVj+LPREXsJ/mewiu7/JznyrYMm/G53FkBw8BOdn2HwZZGPU+ub3yUFMG7vjImzXZp049iRaeP
	KpLKg=
X-Received: by 2002:a05:620a:2681:b0:910:c1ba:91d3 with SMTP id af79cd13be357-91619f7d7b3mr1735524185a.45.1781514805749;
        Mon, 15 Jun 2026 02:13:25 -0700 (PDT)
X-Received: by 2002:a05:620a:2681:b0:910:c1ba:91d3 with SMTP id af79cd13be357-91619f7d7b3mr1735521085a.45.1781514805350;
        Mon, 15 Jun 2026 02:13:25 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@oss.qualcomm.com>
To: qemu-devel@nongnu.org
Cc: xen-devel@lists.xenproject.org,
        Stefano Stabellini <sstabellini@kernel.org>,
        Anthony PERARD <anthony@xenproject.org>,
        =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
        "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
        Paolo Bonzini <pbonzini@redhat.com>,
        =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@oss.qualcomm.com>,
        Markus Armbruster <armbru@redhat.com>
Subject: [PATCH v2 2/2] qom/object: Remove pre-C11 check
Date: Mon, 15 Jun 2026 11:13:08 +0200
Message-ID: <20260615091308.4458-3-philmd@oss.qualcomm.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260615091308.4458-1-philmd@oss.qualcomm.com>
References: <20260615091308.4458-1-philmd@oss.qualcomm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE1MDA5NiBTYWx0ZWRfXyOx5VSi6UrkB
 /xFQFQiZASvi1SwE8UkH/zQfhhV8tQNF3cPTSWHrZ/9dc5orweL+Po4wW8hsduCzRg3HK1aq+2J
 KWjygEPwBlT/ixO9qMZiy2njjbDTPe+kmhhmMP774Go8ILJQzrTMXJNjrlB/aGcXCTh/FVxUaC2
 x9LHdhYyeO/tzlxxXhgb7rbmgwmhOV4jd09HzcrshgOWRkTJXbZjX64OJhvj2n4jyKxJYd3lnLI
 nHl6KOVcyQV6Y7t8w6eWevL8r68UNMzBvPnkcmU67Ilrz+fOPwSaK/7iqh12QhGOYySh5UXBe0j
 Gi0QW+8Qu55TTSCUjIq2Rr/Ys/B6E148UOOdgk6XQhEeX23DXo/PS+AWQvdas0g9HMOUG2ZbDMa
 RaMfmkLYVDCU75i30OENDVhimPigt9jFSp22HEHYTbMRpcLE22aE94vonBWCju4/NT5TgEPOczw
 msJzwBiLXjgPzm7+Y3A==
X-Proofpoint-ORIG-GUID: G0HeaHXiKjZtYVECWpWEtRjdFWkuUjOb
X-Authority-Analysis: v=2.4 cv=HMvz0Itv c=1 sm=1 tr=0 ts=6a2fc236 cx=c_pps
 a=HLyN3IcIa5EE8TELMZ618Q==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17
 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10
 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22
 a=EUspDBNiAAAA:8 a=20KFwNOVAAAA:8 a=_WKHBmQO-qgaVRkQabEA:9 a=3ZKOabzyN94A:10
 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22
X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE1MDA5NiBTYWx0ZWRfX1VJKcirxZJVn
 oVkzV7woQPtcB28SWfJLJfInqqfU/s2IkcCn4tkEN1aSR+Cbmt6RtFJnwANK++HS5quZyFDv9Yt
 Ys5k0X6lSMTyt3ndwbuYpqqjfwWPxKE=
X-Proofpoint-GUID: G0HeaHXiKjZtYVECWpWEtRjdFWkuUjOb
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-15_02,2026-06-12_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
 lowpriorityscore=0 clxscore=1015 spamscore=0 malwarescore=0 suspectscore=0
 phishscore=0 bulkscore=0 adultscore=0 priorityscore=1501 impostorscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.22.0-2606040000 definitions=main-2606150096
X-purgate-ID: tlsNG-c1860d/1781514808-B7D7BDB1-7697760A/0/0
X-purgate-type: clean
X-purgate-size: 1438

We mandate a compiler supporting C11 since 2021-06-15 in
commit d22797ce36a ("configure: Use -std=gnu11"), thus the
max_align_t type definition exists. Remove what is now dead
code.

Note, C11 provides aligned_alloc(). Using it is left as a
future cleanup step.

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@oss.qualcomm.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
---
 qom/object.c | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)

diff --git a/qom/object.c b/qom/object.c
index 0ac201de4c1..f79b2cf3618 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -675,18 +675,6 @@ static void object_finalize(void *data)
     }
 }
 
-/* Find the minimum alignment guaranteed by the system malloc. */
-#if __STDC_VERSION__ >= 201112L
-typedef max_align_t qemu_max_align_t;
-#else
-typedef union {
-    long l;
-    void *p;
-    double d;
-    long double ld;
-} qemu_max_align_t;
-#endif
-
 static Object *object_new_with_type(Type type)
 {
     Object *obj;
@@ -703,7 +691,7 @@ static Object *object_new_with_type(Type type)
      * Do not use qemu_memalign unless required.  Depending on the
      * implementation, extra alignment implies extra overhead.
      */
-    if (likely(align <= __alignof__(qemu_max_align_t))) {
+    if (likely(align <= __alignof__(max_align_t))) {
         obj = g_malloc(size);
         obj_free = g_free;
     } else {
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 09:58:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 09:58:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338089.1599107 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ45U-0002tr-VC; Mon, 15 Jun 2026 09:58:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338089.1599107; Mon, 15 Jun 2026 09:58:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ45U-0002tk-ST; Mon, 15 Jun 2026 09:58:36 +0000
Received: by outflank-mailman (input) for mailman id 1338089;
 Mon, 15 Jun 2026 09:58:34 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZ45S-0002te-ME
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 09:58:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ45R-001OKD-3K
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 11:58:33 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2fccb8-e002-0a2a0a5209dd-0a2a45078b3c-44
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 11:58:33 +0200
Received: from [209.85.208.41] (helo=mail-ed1-f41.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2fccc8-229c-0a2a45070019-d155d029ddfa-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 11:58:33 +0200
Received: by mail-ed1-f41.google.com with SMTP id
 4fb4d7f45d1cf-68acf0a15b3so4712352a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 02:58:33 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-6940c7456a8sm1785401a12.16.2026.06.15.02.58.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781517512; x=1782122312; 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=L2FTYXz+ydXVlmvhvOT8QBgUDqwww618CwcENjKoZzQ=;
        b=jDd+HkcEPHxlVngmZ8HUkONAYVRlJ98RZU0qURx+uLf3nxun7MeyV4wo/jlJXOC/DW
         4OR4+bUvhg8NqOf23XlwdILSGW/3xnaZ+IRjgyHSdO39+jwV33LtKHBQw6beBQgIDtgV
         oOf5cR3yVAnDN0UiHExP8U4O/RhlDTp7y9aerGntw04k5pK6FTLvc6UbRt/tK/mGpE6Y
         GTsnpt9kUZ90lb7BeHszhjqBsIzkv7bFJPeXcEKtZQC4VX9XsHB61u/VS6hN4if6mUis
         6uxwOEvouAfZGtsoyP5IO2nWlcHOAuk2sUNr0isSHqQuDEU8lDEC9U/+O53X5s+RwbfM
         efjg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781517512; x=1782122312;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=L2FTYXz+ydXVlmvhvOT8QBgUDqwww618CwcENjKoZzQ=;
        b=GKt+ufv1x4qyjJ7l7hfRRaiekgTC16TsoBcQtMjBgRzRx90FKRMWk5IiqRPa+Qsbm3
         hLaerkd4/hH0FuYoPDe3ZyxG9wtrK2SwWtFI3JkfNoL7UjvGFcmrDfdulcZE5u6r7jGv
         rCSayoa78bT/q8FtHWb13vGmscv/eZoDJYMiV2LF6CKCKtrf49bzhp0pFBoXvXkyKccd
         8EOMKCj4rnOF6ZqJK1XfkYApUIsZY+pKsUpI08ZCaXyp9WpmUZHwAep6YYOEmfCePXJ7
         luD2Mld1DXalWSwfcQU74K2XTQh0P38R1SsH7ghT3KRMED0COjvK7PxL5KYfutauclfH
         ZCQQ==
X-Forwarded-Encrypted: i=1; AFNElJ+lgvwjDK7LL3QfRSX4e60kIf0fXwrwdqimx66Y7wX6aLofwNjYs0aivKdp0f4XSkkZUGJW8xp3ZM0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx1Jh56OZt2VVFWuJwtdM8ASsooDKAnMchhgPFdIiq6oXxQfzDl
	MRXHBqH1Cozb5dqD9hPwTxR01kPc44l3Ra1m7uzl9lvmMbVdcUyb1qao
X-Gm-Gg: Acq92OGGtR9b9DFpEcOmXUEuMgXuFmwFbqSdoYvSL5wtc9J/g38lnbBgSVYWEnAzLHF
	y07VksHLFREbTIb1qGxNE/B6REaq2mzn7zfBPvsSwrfYlM1sOOUw5du5JSyQ+zxFEUy/XH2Y+wh
	BZWNBlsHT4Mioxm1P6fR7a3MwzSM0JpSRcSA36VtnuyK3RlI9E2OgezIIrFZSdV6pdNHTl/v0Hc
	tiLQOYd6VG0ej3lVQpl0JG5SblPXJr5MNqkjJZG9dpi/jhHhxy7EqbMVDyEJnZCT8vduvgpwbqe
	/JAcbPb2fJnk4UYrCMVRyR5XU/xsASZibZFR+I7Ij1gILbEd7NEV2oFyRd3RAVSIoXdGCra+P3/
	DPEpqhA1r7CpULZ8GAaVnvb7q5y6kn+T5ITTkeOA8v0JM5AiW5JX3nLDl2P0CXvcLLDvxcHmbap
	urikSx0SyZ3wcLt1LD/XmmXmsdQ25D+HBSE68APtpdl/V0AzXFLfVBSJ7IzErgibF41Mh6MSQeH
	pEGaw==
X-Received: by 2002:a05:6402:321f:b0:68f:cc85:7c1c with SMTP id 4fb4d7f45d1cf-69378a51186mr6301148a12.28.1781517512419;
        Mon, 15 Jun 2026 02:58:32 -0700 (PDT)
Message-ID: <59f5872d-34b0-4fae-82c5-ef1e7e0c5986@gmail.com>
Date: Mon, 15 Jun 2026 11:58:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 0/7] CI: Refresh Alpine containers
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ef75cf/1781517513-2357BC48-50182636/10/73395122804
X-purgate-type: spam
X-purgate-size: 2587



On 6/13/26 1:09 AM, Andrew Cooper wrote:
> Refresh and update the Alpine containers.
> 
> https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2598243590
> 
> This gets us off an obsolete version of Alpine, and finishes several
> improvement projects (naming, and non-root containers) all at once.
> 
> Andrew Cooper (7):
>    tools/xenalyze: Work around GCC-15 -Werror=nonnull false positive
>    Config.mk: Update QEMU to include pip-25.2 bugfix
>    CI: Introduce new qubes-hw-runner.dockerfile
>    CI: Update the Alpine x86_64 container to 3.24
>    CI: Update the Alpine arm64 container to 3.24
>    CI: Fix inconsistent use of x86-{64,32} vs x86_{64,32}
>    CI: Remove x86 microcode from arm32 jobs
> 
>   Config.mk                                     |   4 +-
>   .../build/alpine/3.18-arm64v8.dockerfile      |  51 ---
>   automation/build/alpine/3.18.dockerfile       |  52 ---
>   .../build/alpine/3.24-arm64v8.dockerfile      |  53 +++
>   .../build/alpine/3.24-x86_64.dockerfile       |  65 +++
>   .../build/alpine/qubes-hw-runner.dockerfile   |  21 +
>   automation/gitlab-ci/build.yaml               | 202 ++++-----
>   automation/gitlab-ci/test.yaml                | 385 +++++++++---------
>   automation/scripts/containerize               |   2 +-
>   .../{xtf-x86-64-config => xtf-x86_64-config}  |   0
>   ...86-64-efi-config => xtf-x86_64-efi-config} |   0
>   .../include/{xtf-x86-64 => xtf-x86_64}        |   0
>   .../{xtf-x86-64-efi => xtf-x86_64-efi}        |   0
>   .../{qubes-x86-64.sh => qubes-x86_64.sh}      |   0
>   tools/xentrace/xenalyze.c                     |  11 +
>   15 files changed, 444 insertions(+), 402 deletions(-)
>   delete mode 100644 automation/build/alpine/3.18-arm64v8.dockerfile
>   delete mode 100644 automation/build/alpine/3.18.dockerfile
>   create mode 100644 automation/build/alpine/3.24-arm64v8.dockerfile
>   create mode 100644 automation/build/alpine/3.24-x86_64.dockerfile
>   create mode 100644 automation/build/alpine/qubes-hw-runner.dockerfile
>   rename automation/scripts/include/configs/{xtf-x86-64-config => xtf-x86_64-config} (100%)
>   rename automation/scripts/include/configs/{xtf-x86-64-efi-config => xtf-x86_64-efi-config} (100%)
>   rename automation/scripts/include/{xtf-x86-64 => xtf-x86_64} (100%)
>   rename automation/scripts/include/{xtf-x86-64-efi => xtf-x86_64-efi} (100%)
>   rename automation/scripts/{qubes-x86-64.sh => qubes-x86_64.sh} (100%)
> 

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 09:59:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 09:59:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338095.1599115 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ46V-0003Ls-8H; Mon, 15 Jun 2026 09:59:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338095.1599115; Mon, 15 Jun 2026 09: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 1wZ46V-0003Ll-5O; Mon, 15 Jun 2026 09:59:39 +0000
Received: by outflank-mailman (input) for mailman id 1338095;
 Mon, 15 Jun 2026 09:59:38 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZ46U-0003LW-GP
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 09:59:38 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ46T-00Bky1-T4
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 11:59:37 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2fcd07-bab6-0a2a0a5309dd-0a2a4501a90e-18
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 11:59:37 +0200
Received: from [209.85.218.43] (helo=mail-ej1-f43.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a2fcd09-c1f2-0a2a45010019-d155da2bf057-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 11:59:37 +0200
Received: by mail-ej1-f43.google.com with SMTP id
 a640c23a62f3a-bef47b1ac01so416985166b.2
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 02:59:37 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bfdb44208f8sm451717966b.10.2026.06.15.02.59.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781517577; x=1782122377; 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=TvOnrflD88+bJrA67PceZQyJiHR1Tr9BIneJe/Mfpw8=;
        b=Y7YXXJHjb2Aalqq8DTPCwgdw9dGUXDieYGQS5334t85EbbF7Ph8+phsenNI1SCA16k
         wvKrnaFsfac4kkSJQRk/vQvGQ5ef3Tw3WWqzTttQhvVvER02g1Z3PleW3GD2TWhpylca
         oqz0CCSNdjFnJKrtrcWuAqTUorGTVqVAwWBP9YoW6/q/2F+9owl8ns4AnK1ZLyxAIzTr
         oc/IF1CMMaSmdv6b6ijwaGPEBxzPx5IUyEAqvbsoUNHHELgBqh32qvtObe2uq23uHERS
         pfJ6Uf9KfPAcT57LmBd4GupSmOgzjYlQfxPM2Qb0A4qSc6bDtKqUbD31Mjw15Qel+ryt
         iHrg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781517577; x=1782122377;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=TvOnrflD88+bJrA67PceZQyJiHR1Tr9BIneJe/Mfpw8=;
        b=sgzNxpBOCZdgsI5lzDlqosumMezbUvQsCYptb0FPkvP5KCWCyRhhUvuczGoqy1rWwp
         9M+gx2vltqEDaLiBV7epgzrp+VDh53q5GiDFtO3Kkc/NaAdk5Muq7EZFr2I57i3yuLOu
         Bn9zAw1YWsKBpvv0gEXDjYNDNaPwa61Vgo3tZYOQlEATgcFLlGc+9V770GaFMb1wUTtw
         5qgSzPOGai2niCAFeKLQ6Ob/GpNyVTrebk+I7EVQRcFYvSQi0n1/bBFPm91ympCW13Bk
         q5IXpxZX4uAZBc+D29j4IcYuaNJCGi6UqnHIRQ3db0yu2J2qxMDd8LXSyOTj9mxLgg/y
         6NFA==
X-Forwarded-Encrypted: i=1; AFNElJ9ZW1WBraub/skvlETHXMVTmTKze5hNjOao2XYHVxUtbxdPeLl0NpgwRrjZcCmddm6Vbln+82+Athg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxC3s6WkkFhlmvObZ6IfDAEbTi/8MKC9LkK+ggn1hSPyrhPljIV
	josgBTMHro11pirk4Umvr95VsxqwEdXaJ8DmIedwrkizodntR8tZyNIz
X-Gm-Gg: Acq92OFJ0gEfHGh+MCpzFkYmh3opZBE2U2pYFFDRE1cqT1a2JmeW7NDCf8pmwWLdJcu
	cUoTsn9ecpMc5AnNBo3ZVXy5fmUlFJtw5ez5cxjX8cfLd8YjmsnGrdM0Pb63zN46L8Z/jKykLOP
	bqNJvGZ9icH8Ulwyw3BaQucOv1a5ppsG2u76PBBYHCk5BgKQ16XW1BRgQVPixXe0Ta5r8xmQ27p
	8T2/3Is/ViNLQQ5M796wuNY5dWQzyTbjZWvUeZU7O5SFjg1Agm7vDbXPJEy4XCyHopN5emooWO3
	7EurRU2LcCBjxKRTlhL3BffF2hCIvYywECtONs2M8iVdGshqQ2mjNttZcpEl9ZfOG/DUO+1KzRg
	EfjzZtm41UdpsLNpcyFP6zOsz4BCdhEhR71kIobVAPpRWt75L0rpcvKgkfvAGMbst1Y00k8KJVa
	AGp15SDoZ0GEaOtTnDLV+sYFlmM40R+bytWRgSDNvol+TRLUS0SymcXVJ9+93jPYT1Uo6/nHXBz
	I6fwQ==
X-Received: by 2002:a17:907:e11a:b0:bfe:ed16:2840 with SMTP id a640c23a62f3a-bfeed1638ffmr326200266b.52.1781517577071;
        Mon, 15 Jun 2026 02:59:37 -0700 (PDT)
Message-ID: <7756d00b-756e-4b50-bda6-89540428f6c6@gmail.com>
Date: Mon, 15 Jun 2026 11:59:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] CI: Use more specific Xilinx runner tags
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Victor Lira <victorm.lira@amd.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>
References: <20260612180341.3152136-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260612180341.3152136-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1781517577-B675CFF4-96957400/10/73395122804
X-purgate-type: spam
X-purgate-size: 1058



On 6/12/26 8:03 PM, Andrew Cooper wrote:
> In order to avoid serialising the testing on both boards, the runner
> configuration is being adjusted.
> 
> Have the .xilinx-arm64 and .xilinx-x86_64 templates choose the board directly
> using a more specific tag.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Victor Lira <victorm.lira@amd.com>
> CC: Anthony PERARD <anthony.perard@vates.tech>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Michal Orzel <michal.orzel@amd.com>
> CC: Doug Goldstein <cardoe@cardoe.com>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> 
> For 4.22, and for backport to all branches including security-only.
> 
> https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2597755162
> showing all the Xilinx jobs still running fine.
> ---
>   automation/gitlab-ci/test.yaml | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 10:25:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 10:25:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338110.1599125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ4VX-0007Zp-7k; Mon, 15 Jun 2026 10:25:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338110.1599125; Mon, 15 Jun 2026 10: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 1wZ4VX-0007Zi-4e; Mon, 15 Jun 2026 10:25:31 +0000
Received: by outflank-mailman (input) for mailman id 1338110;
 Mon, 15 Jun 2026 10:25:30 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wZ4VV-0007Zb-Pn
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 10:25:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ4VU-00Bs0D-G7
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 12:25:28 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2fd311-e002-0a2a0a5209dd-0a2a4507a5cc-16
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 12:25:28 +0200
Received: from [52.101.48.7]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2fd316-229c-0a2a45070019-34653007c253-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 12:25:27 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by IA5PR03MB989607.namprd03.prod.outlook.com (2603:10b6:208:609::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Mon, 15 Jun
 2026 10:25:25 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0113.015; Mon, 15 Jun 2026
 10:25: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=eiCosNwIeJXPwF6IdCcqe6PZmza604LtwdAy5M+tnlQgL+Mm40N0cWBqOSG7mpKcJAugAUwNDFkMG3xHO5gTXcI89I92iGXS6dbMwlBGqVEJJgZ+dTWIhwU5dIGJtoTjEwR6plPJ1u6C6H6/4/yTY1Z6gHs4Ne10mK1326s4hzsNGmB66649r3NIryiyyxh3k/vEtknluHpl2Q/8GBH3Eh18pK5/3vLFD/WAZvwMUDbc+7oXWdnAxI9Ps7fSuPO5u2PbgwJ4rSKIEyE4+mkTBynLnmM0fzXd8tKPQf1hZf1gMAsvOeVjYd9nQ+s4xBHtvDp4ZPRzk9tVsvK2kkF1kw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=u8m6N+yHFe/AmzMgYZGCH3PegG7gNMLyvgLKoM8nVJo=;
 b=Mgik0iwQECVUsP4HUYvBkqKF3fnbiDxg7HE7U8KPT0qdze8wi8/FwX4pP+ypkBylS0om8NUfaUl4Bq/OESuJ0X+jV1CrfVXuMpeJWSZcMs3VjfzDmCnRyWOTneivmIPhPNHJUtpdLEmBfrz34KRaqAV35f453lCl7IXbQvrqzaiY9ADqzI63ETsNsBQFn/BWfR0dbD1NikGGqHbtBRtrzRZeIf5Vr4nTNP8jazk+t/sGIFF+A0FDl7Q88Sc6x/rzAtErbolOZnbZsgfUM7o2pcKPbX+Va9U0p7uhmDkqJ/uHBo3FQHkqlSvB2rVDllpQMwqR8pC7seZ7EdMPjDZzAg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=u8m6N+yHFe/AmzMgYZGCH3PegG7gNMLyvgLKoM8nVJo=;
 b=R+eDQcy+znQf5MhFuwPae94ZyXJCUseObh9MjC9P86Pgrtl6cDCw10N0INyCC9SGNC20AtDVSgLtrrTct7b4BXkZZSJm2/f6BShTwDiPIBjmT28SdY+tpjSeppPMIaAGulodNgF0BwI7yc5WVEu81bpsSpjDf0Am8hy38Uvk7JQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <494de33a-5033-4c5b-a026-fa8a4ed26cd0@citrix.com>
Date: Mon, 15 Jun 2026 11:25:21 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, jbeulich@suse.com,
 roger.pau@citrix.com, Ross Lagerwall <ross.lagerwall@citrix.com>,
 Kevin Lampis <klampis@citrix.com>
Subject: Re: [PATCH 4/7] x86/kexec: Support non-page-aligned kexec segments
To: Kevin Lampis <kevin.lampis@citrix.com>, xen-devel@lists.xenproject.org
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
 <20260609154518.779757-5-kevin.lampis@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: <20260609154518.779757-5-kevin.lampis@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PA7P264CA0096.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:348::14) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|IA5PR03MB989607:EE_
X-MS-Office365-Filtering-Correlation-Id: ee40fe15-af56-4dcc-5cc0-08decac869a9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|23010399003|6133799003|22082099003|18002099003|4143699003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	gUYpKjIbMcfPkCsx5w6ziA/3C7UC7ntYS5TdzEv/tu4c2nnzrpYTD+WLifIb/raTHbs6FPQf/Ull7X+LhBz9QmHyehuuT1YGWmY+gEyNWYKK9SCFg/1qh/NrxZfP1t4BchYNKOC4cRY3bTiqsjBnQUBahyHy+U9UzMhwZi85P1GF6NRE9LNod4vO2Jc/R9fzXgHniWcfS7Ymk1PXGbADmoQevo4H/hi/flwcGNOrqrvb0mCZx8coztud/mWLDaJDHs02qupJKzN9LlmrUOv2jE4aUhEYkFpytTqRqg0hv4AAi6p4Mo9w7QAYvsCGO/D3Lzr9NjbEOisjjNcB3m1jMNBWwdU2RcmFqBzudW3XW7LlTP164HO0r+K1N6CsWvioS3YnQvKEL09563L3On+YgPBNEx4U7DZXB0/x3HmPJxdRVGjfkM8k/52JHO/jFZPHMfM8q7kIqxXNhkZM9e49i6TpMj/+e3lMoJ+Fx6++Xo4xE/BEKzrFMWSRx1vxeGcS+yYt7LDS9waTfSp6onmZ1RiSfmZOBJy5psbdJEUgxsMUFqoGp7NwvEnJrNGYvxoyAIVrV4MBsTtxX0mKNSs96NoyQcXhH/bShF8qvUjwImORbs4ktvF3A/3+QfeLsVojepnzzB9zQga0jJdIOUgdlwJQF8fKU3/Ckh2UPwR5RPatrREovCiqz7CYpy215zw7
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(23010399003)(6133799003)(22082099003)(18002099003)(4143699003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SW9IUDBUOXAvWUc1Qzh5TDFsVFQvdXJMN1U1ajE3dVpjUlhSUTJYWWZVRjFo?=
 =?utf-8?B?ejdzdWZIRDBSSnVaUTI2Mm5YaEZYb29oUmV3dkMxMzJuSjUwRytldEEveVJF?=
 =?utf-8?B?TmViVlNnK2IxaWc5dFlrUCtPdGdrNDlpSFYzV3dNaDN4YXZIRkFwR1orcE1R?=
 =?utf-8?B?RzBvOW5qZ0Zvc3haVTlZQ29DU1RycWcyTnl0aWRMMGc0MWxkcm52dmhhQVpO?=
 =?utf-8?B?M281bEVQaHZMeVQxRkpFWTVDc0huM1p1UXdnd2Z3L0Z6c3R2aEdHb1ByWm44?=
 =?utf-8?B?L1NkV1JXcld6N2x4eENKNUowYzd3cDEwMnhFTHRwWllGcWJ6emZBcFhYMnkr?=
 =?utf-8?B?TVBlYTlDVjBZdkR1WGhiMlZiMWhRVUU1bld1eWRhejQxMEJhUmtIY3FzRWN4?=
 =?utf-8?B?K2tPUTZjenJBUEdveTR6bHN2bG14bjV0VTM0UHFDRXNKcnVRbjB4UlNkS3Uy?=
 =?utf-8?B?OW9pYWpqL3RrSmwxZkZyOUhUY24vSkFrL282MUZ2a0RNdHR3KzdodEVjTDdX?=
 =?utf-8?B?ajdPNDBoRnk0d0x2S2ZmWlRQcnF3dWJyeUlXYTV4Z0ZDaG1IRnVJQ0tjNXZp?=
 =?utf-8?B?Q2V1enVScldNd0ZXSTBJWmxHbzJSSnJMM2d5Vi9SNFVTU2xQb2lCT2IyVWFP?=
 =?utf-8?B?RFUwNXQ5azdTMVJBSStLRk5ERXJ4d2FIUjN5VFJKaW9YVkVEdis5Ti9odENi?=
 =?utf-8?B?OHpMS25EcXVreVBvSkY1bDZNb3B4U3ZzZzYyRlZORkFuVEMzTEhzYjc0bERa?=
 =?utf-8?B?WTllZURQdXMyUS9ySHNic05sc3k4UEhuQi9kR0F3cGhDVzF6STR6R1dka1Vr?=
 =?utf-8?B?Y1gxVGdTckdwa2hLQ1ZhZ3QrUE9mZmZ6WGNzWFFTTlUxVlFaWG1INEd4QU9D?=
 =?utf-8?B?YTFPL3JnVEVZTG51d3dWL2pueFdTL3FBWFZGaXhWQ0xwNHc4RWFsTDZ3NlJN?=
 =?utf-8?B?bnZzM2VLdDlMYlE0NXAyVFpnYTJ0TmhEelYzMTg2bFRHTTI4VUlnV0ZINkdm?=
 =?utf-8?B?cjhVelhxNjQ2S3BaWUlYS2VWS1RGaHloQVBNQ1pjaG5TM2RJUXBxS1JVWFRI?=
 =?utf-8?B?ckFoTjNjdW5GY0VIOStBWlFTOWRIam54WlhQb2Q1TEZ1NW4ydW5Ec3FhL00w?=
 =?utf-8?B?QWhic1hkOC85WC9YZnlrbmczNmVSVm9qTG5neldNYXBra1dvL0tnQVVxWitE?=
 =?utf-8?B?cUdqV2l1WGg5UmlmemFvcFEwNGNyOHF5TkVuMFk1TC9mbUtrTDdhSllLdEFQ?=
 =?utf-8?B?eVozYXoyR1RPU0RxL2pIU1NmMGs1MklYY1crL3RNVGp1Z3pmdCthNllMQjJQ?=
 =?utf-8?B?NVNUQ3o3aXl4Q1gwRm85ekZOTkdwckl6ZGNjNFlrUlFTVWxtcGpmOEVrV0RD?=
 =?utf-8?B?dmFreFd5Y3gwcm1DbW54OGtEVVJtMis5Uit3TjNqZ0FudHpjRENlbEY0SnYz?=
 =?utf-8?B?UENmQTR2WFh4Sm5ZUTVBV3lXOEFueTd3T0wvcWNlU1k0UXJhSHhxSklKWk5j?=
 =?utf-8?B?SWlTZzZneDV1UVJvTGM1c3gzSW5QNWJWcXlUa2wwRHhRdlJhcVVjTlROQUVE?=
 =?utf-8?B?a2xySXlBUDJZeUo0c05GRklLSU15NjlPYVBqNTFHOWFCTUVYOFpGVDc5aTEw?=
 =?utf-8?B?RUN5SWhObUZIVGxOWlBmYlhyUGlyeHV6MTM0NXBqRkRUMmZGUDEza1g2WjN5?=
 =?utf-8?B?TVBodk12Zm8vWEUxUmNZMk9jRlJHV01iWjYzc3NXay8vcGE4a3A5RnJmenRm?=
 =?utf-8?B?dmhmTEl2M2dpTVpVYVE4c28wcnRuOGJ4MjBuMXJWTW5lcDZKaHlsWEZwVW05?=
 =?utf-8?B?UjF4L043VmFsMkJTZ1Y3dXZ0Sm9ZbUpLMDd6bWJQdjhvUEVxOU9uY1FKVlJ6?=
 =?utf-8?B?V0QzRndiRVo0bjdHVGVwcUN2TDVXa2tDSU1PL1ZjWGltUnhBWENHNS9JNFJE?=
 =?utf-8?B?SFVmWDZwQ0xoVzN4QlhtSlJ6cDh5TC84bFoySENhMlJSWWdWOFBIYmVWUEdE?=
 =?utf-8?B?cWx2KzVtWDQ3Ry92LzZxRGF5azBKZ3ZEc0dtUks4NUFnd05BSmFYUVpwcmpa?=
 =?utf-8?B?bHlXMWhCVXp1YVJCdUdEUURrZ2g3L29xSjRuSWVSQUtGaXJwdnJuTDVJdW5T?=
 =?utf-8?B?VVpNUE5henVwc0J4aXc0bGZRanMzWUo5aFl2SSt1WEF0L3hockFrVFhKT2Ft?=
 =?utf-8?B?N0FXRWZQVjc4R2hoalJGanlqTFpSd25DQU9JT2JEVWxoZk9QeUpVVGhmTjRR?=
 =?utf-8?B?eXRBckJRM1djK291Zmg1TDFxOXdXR2pDNy9hVFVlZHVoWVZXUWFaNnJISEps?=
 =?utf-8?B?NU5qUnFKaVkrVGp4dUpuV1hibTZEcnRMbzR0c3htdnBDMG02bDlPTERhQlhX?=
 =?utf-8?Q?MxPrLPmWkvemFFYs=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ee40fe15-af56-4dcc-5cc0-08decac869a9
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2026 10:25:24.9043
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BPgp0NaVF/PY8b0ZLEiqabygIKPS6P42G61+fc/0H1/+UGTwtyUH7bFC8gMPap3v4SrtdcIf1ptlj9FmhvDOpUA1Um5AVSB4MgixnwRjgnA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA5PR03MB989607
X-purgate-ID: tlsNG-ef75cf/1781519128-0A772C48-70035DB7/0/0
X-purgate-type: clean
X-purgate-size: 783

On 09/06/2026 4:45 pm, Kevin Lampis wrote:
> From: Ross Lagerwall <ross.lagerwall@citrix.com>
>
> With Secure Boot, userspace passes in the entire kernel loaded for verification
> purposes. However, the kernel's startup32 function needs to be aligned (e.g. to
> 16 MiB) and this results in the start of the segment not being page-aligned
> (depending on where the startup32 function lands in the kernel binary).

It's startup_32 not startup32.Â  Yet we hand over in 64bit mode, so why
is startup_32 relevant rather than startup_64?

I can't find any hard alignment restriction (beyond 4k).Â  There is a
check involving BP_kernel_alignment, which is set to 2M, which makes
sense; it's the alignment we set Xen to too.

So, what's the real bug/problem here?

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 10:56:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 10:56:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338127.1599133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ4za-0003LR-LV; Mon, 15 Jun 2026 10:56:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338127.1599133; Mon, 15 Jun 2026 10: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 1wZ4za-0003LK-Iv; Mon, 15 Jun 2026 10:56:34 +0000
Received: by outflank-mailman (input) for mailman id 1338127;
 Mon, 15 Jun 2026 10:56:32 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wZ4zY-0003LE-LA
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 10:56:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ4zX-005oAz-SZ
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 12:56:31 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2fda5b-5cb7-0a2a0a5109dd-0a2a450993ae-14
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 12:56:31 +0200
Received: from [52.101.201.0]
 (helo=PH7PR06CU001.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2fda5e-2497-0a2a45090019-3465c900f490-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 12:56:31 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by LV4PR03MB8212.namprd03.prod.outlook.com (2603:10b6:408:2dc::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Mon, 15 Jun
 2026 10:56:28 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0113.015; Mon, 15 Jun 2026
 10:56: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cp/E462PE3mt9JAbgPd+LBJj8E9PfIHNf9FYLVzQnW/PBkk1s65HcFwszPE2hnlMgdJQGRZ2gYgno9sTLnc+TxdjJlr/dcHtQ1TXFlxtBtw44In25MK+M8/RvOKyYKuzeOOIzTWeEj1S0QXkvc12SJ3Kxk9kLhd9Kfzgs1pUjDGoeHnoGYlK9phR/ph874o/HeZXX2g+/qqXI8TJX3/wKqGWU4niwaxYvlADARnZsGvvnomf40nQDBpnlf2adlqx9t9dKJIc+gxuOF+a9R2mcXEijuEIGcx4ZvW2ZZCCh6d0u5Eh8/xk807n7hOWkTPBKfTINioTmkw9nTe1YLoqVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pAlNxYVc4QRGDwwM8J+8QmCAUE76gH9/VnxxMleB2EQ=;
 b=UK5qbUqUU1EZ2kJK+m+r0/TIc4xO/5E+gP76V9HMGzRNaO945t3eJ6y48mNgLYiSSU6pCkbJZucq/Ti8f++f+9BpL8oC57UR3CW+ihf0fS5LmkAKlKdyEwEMZtyztNMMQNtnqnbqNeBAlgO9cKTQ43iQaQ2+QY/rzRyroWG8uyYBLIpR7ab9kl83ZRW0U8BqUXlg3b/AviKtSRVhhk/bq16LPLM+35zybk/UiuyDlTlMMkRqbneiheEhAE6xVP9G7FPbZSWUcgvy0dMUXCelTfmJt6z7H0bAKxN9R7XUabGN0of/yM6BpexCRcynaXMqlD54L40/Id+jextu+/sYyw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pAlNxYVc4QRGDwwM8J+8QmCAUE76gH9/VnxxMleB2EQ=;
 b=MBGTWw93i+/ivppzr3jQuO9mGyrx8wWhDKzW793phCmsGHWlYcJoqWmzDVPkcZiLLTyRVnSocWmRMAQtdCCiQMtfW/6vDzTRCGRMtfaMdr4z3ASKNa7FFK0AbhbJQbQWt3cF3drTpVk4SxLr7Xi5LlKrd3punqR56K4K9BsCMJE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <1224fa79-d1df-4382-9829-aa2eabe60d5a@citrix.com>
Date: Mon, 15 Jun 2026 11:56:25 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, jbeulich@suse.com,
 roger.pau@citrix.com, Ross Lagerwall <ross.lagerwall@citrix.com>,
 Gerald Elder-Vass <gerald.elder-vass@cloud.com>
Subject: Re: [PATCH 5/7] x86/kexec: Implement new EFI load types
To: Kevin Lampis <kevin.lampis@citrix.com>, xen-devel@lists.xenproject.org
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
 <20260609154518.779757-6-kevin.lampis@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: <20260609154518.779757-6-kevin.lampis@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0228.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a6::17) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|LV4PR03MB8212:EE_
X-MS-Office365-Filtering-Correlation-Id: 705897e2-79b9-4abe-03f2-08decaccc077
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|23010399003|1800799024|56012099006|11063799006|5023799004|4143699003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	Qd5Qk9cEh8KEukunTVJUWK3xa8Gddh/JXKoVgOy5fOgogHDkkuGp+agWTlfra/5UQyzCyJzXAv03+syJ1HnOKznfY5vcLoHsXvkk6RUCLiXcPebmIqmESNaf08t+p8rZRGT3Kb7/Ppvazv4QlN4sJSkpwlALvbO1NBlAQatCuo8qGgF2a6bqRVGm87obAzQ1PFhUhNfaPlT4lf7CjrxNlaIWxWn/ee5DF5EJZlNDAita7W4JYMSyUn4QttDs17qEasSop6WzfjIY+1TGc6uv+lpYuNSStSKOBrdBxJrfCLD7Qww7uzLCo9ZzDsTKau5qtrupJ3pbVYwPCK3gBMuX3KyBF1RbQZNvK8oLGVrMR69P1PK9f2ihmhA1ejuPXsLUgGLDRm2pbdqWF3tCD5wSs3Syx/H/+G/ZwTuYn1YZHh5bAMyUWQNWaa2hSzOQ4j/+jsUoL9LKGHyTXgJUtOf0AB5m5vnktNVm2uWLcn0FOhVBo7LdWZJ8xoOW3HMbma6+Vp8OxhZCHLkhW07IOdS+qpK3uMusMqKQPK2Qg2aWjcA3lP46K1+xHJI9QZwdB2Py0nwUCs8lxVV6uxdUE5vBKvfys6qRPucbtUErTpgW61SjxTtIF/Y3Pq8gGlkMhn+uTZtwfNRk+jh4sedb3yhaQiqBCelqOqz3ciQ1rNtAOxXZ/bHzMHEj2BvxlgXvvplt
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(23010399003)(1800799024)(56012099006)(11063799006)(5023799004)(4143699003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Rk02c0E3MlVuamF1OWRzWThBMk1HZGJsK25aejZzSmhBMU1tS2NJT0x3aElO?=
 =?utf-8?B?OTJId3hncFZ3VTh4MTZLMEQrSGdIdy9oTHU5WnpUMndUSldwMDR0OWNzYXcv?=
 =?utf-8?B?QUJmdVZ2dm9qeUFpUi9TNFBtekJUVXBFUjV6R1NneFhRR0dXcmFMZWZlM0tP?=
 =?utf-8?B?bGZ0c0FDS09heHlocUV5bU9RRUF5T0VucjJOejF6TnlqZG9QS2hqbE5FRnBr?=
 =?utf-8?B?VW1wRkVzSUtPMmVWclZlTDVXLy9yd0tOemh3aEVENjNndXFWVzFXREJXd3VZ?=
 =?utf-8?B?aFNJRlpFVE1OUjFWQWhiRnRwd3VEUkFvVmw0UTNKYjZNUkRDNUVvR09Ya1Fa?=
 =?utf-8?B?NXA1cjZVdEVoTkpNbE1qaU9Fb3pDR1BXc2xYT2ZiVkNzaVVoL1FES3grQTQ5?=
 =?utf-8?B?WEpMMlVzbEJOSUFmTmV0TU04NlFjNUxDSW0vWWlZVUFCb21MZjZSQU1ROXFr?=
 =?utf-8?B?UGpPVXRkV3lubG9pczdUd01aZDBFcWNMelh4UUd6V2JFVkVhYzR6cjVWb3JU?=
 =?utf-8?B?NllVSkxCRlp2NVgwU29FR2d2YmdBdGlWL3ZLU21TRy9SeUdxc3Foc0FVSGVK?=
 =?utf-8?B?QXZMK2t2ajMrQkVhSXZiYW55YmM2cVlXZXpRZHcrdmlmTWdmRU1aYlMyRWpj?=
 =?utf-8?B?YWJHVWZ4emhmZGExVlRSS0NlWWs5TlVjcGtrdnVQcHBjaW9SNk8xbGpsUUpn?=
 =?utf-8?B?ZXQ2NjlGaFoxNnM0SHZzZU92TVpTS0hydlQrZEMzNFc5OEk5WjhhN3A3R1Z6?=
 =?utf-8?B?NWhBQldYNXJKOEpjWURVZVhWdElLN1JOZkNsUG5rMFV2ek9UK2Z1YncrOHZZ?=
 =?utf-8?B?cWdMV05pTmJTUTNsMmExZmZuQ3dsNUxPR3FLVXFsS3k5ekIzc0NidFZQWnE5?=
 =?utf-8?B?V0xtOThwaU54ZUVOQUU5dC9LZ0VVd05INU9pOHQyTG9tWTFyQ0JJbDVsYkVq?=
 =?utf-8?B?alQycTdFUjAxQVFjRGF6aE1ydkQ0ZlZnWFZRQ0g4VysyMERhQy9mbEV1Zjdp?=
 =?utf-8?B?SVAyWTVtUzJhUU1oRE1Qa2dnR0o3R0hiMDQvVmlGYnZ4MVprMytIL3BQRU5Y?=
 =?utf-8?B?bG1IWWtPNWo2cEpqMldlcUpKbnkrV093ZEI4YTZMNGs0ZFU4RDRJZitqdmRF?=
 =?utf-8?B?NkN0RzVKZVVqcUdTT1BvVUNFT2NCQ054cTJ1ZjFLZlJqMEZBaEdoVnI1cTBh?=
 =?utf-8?B?eHpoUFllZTVQV0k2OHFhVlY5aUJOS1QyUmRZWE5PQy92VXJvZEZtRUVHSzh0?=
 =?utf-8?B?ZCtQcFdmYk5EVUh3MC9idHNjWGUzY1E2bVd3eUdpR0ZCK3ArRkFkV0d3N0sw?=
 =?utf-8?B?ZjhEL2tUbDNUUE1OOExNd3Jqa2FmcEEraE8xaERSdFJONUpMT2d3Y1htOXNl?=
 =?utf-8?B?U0t6cldnTmEwNHdsUGVRQkVENDNacnVuaTNlT3J2Um9Jck0veHl5cTdmT3lj?=
 =?utf-8?B?WlhQVzA4UkdPMUt3dDBSUHVzdGhRdTF4bzBhT1M0Si8weXM2TFVkOVRlS1Fj?=
 =?utf-8?B?QmMvZXJ4V1J2RG1vN2c2UkRiZWlQMmkxZzdGOEd0NWFDQUVtTXhZWk0wY09P?=
 =?utf-8?B?SXY5S2tpenliRGRRMFFRUXVyN3VJOTRwSVFLOWNkc1hqV2s1aE16U25oUDds?=
 =?utf-8?B?YUNTc2FhNHFKdTFzQTF5YTQ5RWVWb0wxN05MNWc2VnJ5R296VElZa0JTRHlB?=
 =?utf-8?B?cVBnTkd5eTVNdWpmNmNqdFdHdS9sdEY1SWdQdzE0aUZBVVhyajZBVXNrVDBN?=
 =?utf-8?B?RDdoeUl2enRXMWpnS2RvWk1hL3lNcW9NYnBjRDcrUERGZkdTeUo1UTJpUjBT?=
 =?utf-8?B?TnQ4VklCRjg4TFlIeXZ6K09XaTVDSFppMk5zdUpqTHp3VWQ5ZkppNHRlWGxB?=
 =?utf-8?B?M3lCRXVaTlF2aHJmaUxtRWxzbndRQSt4Tk80dFlIM1NMMjFNMnRBaVRhMVJq?=
 =?utf-8?B?dy8wL0MyUE05SnJBRm1HcE9YNWVDcEdOQTl4b09JU0ZSdHlhbnE3YmVFaTFV?=
 =?utf-8?B?SS9iMFJobm5ZcXZEcTlyNEVkcWRjZmtQSWZ2bjA4amZBeFIxbHk0RTgrT0hT?=
 =?utf-8?B?amdxNXQ5emRoZ1FMWHRvbysvYmxoTGhqSGRCZ0w5MCtTMFZQYkhsRDJ5N1RP?=
 =?utf-8?B?SEJHblBOYUszOEpuL2xpWUZZU1MvaTlVZXJhM2hBMEx1Mjk5YU91am16dS9p?=
 =?utf-8?B?aFRueXZyREl0SXJIdFRmTUNHdkRPWmFQaDdVSWFCRWhPckd0TitPN2Y2dEp4?=
 =?utf-8?B?MGhBT0JBbmN5ZEJ6Q1VZa1JXSkN3bk5HOFVJZ1dZY3JIQ0czQlZWamtJSk5w?=
 =?utf-8?B?Yzdrbk53WXliMllwblRBanU0ODN4RkFSY0U3V2VzRkVJblhxVkRnNitHaFBq?=
 =?utf-8?Q?K+dXMYrEuoBBKIas=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 705897e2-79b9-4abe-03f2-08decaccc077
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2026 10:56:28.6171
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8dF1dxzKEGNA9GAau3z/WcpsmfZ7MK2NOgB5Z4LFV58DmB4w7XnVQFHpqOLsuACMoJwIA0CBxmX8nOb78qk7juhIHEm/r/uhU4ZmHFeUh9c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV4PR03MB8212
X-purgate-ID: tlsNG-bad1c0/1781520991-41165A53-CAF3F031/0/0
X-purgate-type: clean
X-purgate-size: 3175

On 09/06/2026 4:45 pm, Kevin Lampis wrote:
> From: Ross Lagerwall <ross.lagerwall@citrix.com>
>
> Add new EFI load type for kexec. This load type is suitable for use when Secure
> Boot is enabled.
>
> When this load type is used, the caller should not pass purgatory as one of
> the kexec segments. Instead, Xen will prepare any glue code needed internally.
>
> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
> Signed-off-by: Gerald Elder-Vass <gerald.elder-vass@cloud.com>
> Signed-off-by: Kevin Lampis <klampis@citrix.com>

Now that you've dropped regular EFI, the subject should become singular.

> diff --git a/xen/common/kimage.c b/xen/common/kimage.c
> index 1d872916b9..9b49455e8e 100644
> --- a/xen/common/kimage.c
> +++ b/xen/common/kimage.c
> @@ -22,6 +22,7 @@
>  #include <xen/kimage.h>
>  #include <xen/sha2.h>
>  
> +#include <asm/bzimage.h>
>  #include <asm/page.h>

This does not compile for non-x86.Â  But how to fix it depends on a later
question.


> @@ -1064,6 +1064,63 @@ done:
>      return ret;
>  }
>  
> +/*
> + * Find the entry point to the new kernel, we need to map the crash region into
> + * memory in order to read the kernel header.
> + */
> +#define KERNEL_SEGMENT_IDX 0
> +static uint64_t kimage_find_kernel_entry_maddr(struct kexec_image *image)
> +{
> +    uint64_t alignment_addr;
> +    uint32_t alignment;
> +    unsigned long dest_mfn;
> +    void *dest_va;
> +
> +    alignment_addr = image->segments[KERNEL_SEGMENT_IDX].dest_maddr +
> +                         image->segments[KERNEL_SEGMENT_IDX].dest_offset +
> +                         kernel_alignment_offset();
> +
> +    dest_mfn = alignment_addr >> PAGE_SHIFT;
> +    dest_va = map_domain_page(_mfn(dest_mfn));
> +    if ( !dest_va )
> +        return -EINVAL;
> +
> +    alignment = *((uint32_t *) ((uint8_t *) dest_va +
> +                                                PAGE_OFFSET(alignment_addr)));
> +
> +    unmap_domain_page(dest_va);
> +
> +    /*
> +     * Ensure the kernel alignment is a valid LOAD_PHYSICAL_ADDR,
> +     * which ranges from 0x200000 (2MiB) to 0x1000000 (16Mib) on 64-bit systems
> +     * as defined in the kernel x86 Kconfig
> +     */
> +    if ( alignment % 0x200000 != 0 ||
> +         alignment < 0x200000 ||
> +         alignment > 0x1000000 )
> +        return -EINVAL;
> +
> +    return ROUNDUP(image->segments[KERNEL_SEGMENT_IDX].dest_maddr +
> +                       image->segments[KERNEL_SEGMENT_IDX].dest_offset,
> +                   alignment) +
> +                   0x200;

Ok, so here is startup_64, hidden as a magic constant.

The rest doesn't make sense.Â  You're finding and checking the alignment
field is within the known bounds; fine-ish, but liable to go stale, and
not providing a diagnostic when the check fails.

But then, instead of confirming that that segment[0] has the desired
alignment, you're applying the alignment to the pointer and picking
startup_64 out of thin air.

Either it was loaded correctly (and the alignment is correct), or it was
loaded incorrectly and this is unsafe to do, is it not?

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 11:13:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 11:13:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338135.1599143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ5Fd-0006FF-Vl; Mon, 15 Jun 2026 11:13:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338135.1599143; Mon, 15 Jun 2026 11:13:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ5Fd-0006F8-SP; Mon, 15 Jun 2026 11:13:09 +0000
Received: by outflank-mailman (input) for mailman id 1338135;
 Mon, 15 Jun 2026 11:13:07 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wZ5Fb-0006F2-KB
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 11:13:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ5Fa-002QcU-2F
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 13:13:06 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2fde3d-e002-0a2a0a5209dd-0a2a4507d76a-24
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 13:13:06 +0200
Received: from [52.101.53.70]
 (helo=BL0PR03CU003.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2fde40-229c-0a2a45070019-3465354651b3-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 13:13:05 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SA3PR03MB8232.namprd03.prod.outlook.com (2603:10b6:806:45e::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Mon, 15 Jun
 2026 11:13:02 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0113.015; Mon, 15 Jun 2026
 11:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=caDn/MQGGsomIr6VWWEL7nHvUwC3hgG7hshtzI6QZCzJMSe9kNc0gKzGFios8KM+N1AyTDfczLw3lKhPArBChtFLOiT4jaBhO506lvE01wSNU8+fGd+AwiLrENj1ezR+dHMENGxCBSBB9L48bI89PxKcRxLoy4zBF/CW2lHvjTocBcFBaI277Stu/tV/H9man8pd/iPZqGkfjlkMBZyKcIdFexnfW5fBDltSYcv2CQxPzkmiTXubUNCcOsAzfOCrLhz6rbk3NQ5tfdNMh9v4aP+HOwGvccq9HWbDHv/SxmTV5h8fcnFqGOqBzfcvPjntpqITI63iBun3qMJhuS47ng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q8JosXGlf05Jz3oPyxvm2lCt42a/ba3ZfvEMC3LzaWk=;
 b=CfKM2qrY6skBEDiwAHaUrkfwIztteBrGTZJlhdVdrgle8SqCGL3NREhr+kL90RFLMvGuXemcAWFsYFPnazQQWabeallgAZwhOcowVDE27kD8DjPQQ1Y4zsCCfGmMnZJP66WCCxP/fMxmMzZmavd9FosGQ1wHF/li8DSID2u3VJLtsfLaz2xlUw2xw7pR0TMdM3GllpzFB36M423sXDrMutg1ZMyeB8z2qMiaQ56iBmD9hVAyJoWjsWr65iPVAXEFBpfMzo4FpWKFUwj7DacgUWyGbVR7NR5Mb9oq+ZcvW4ghlBej+ZdVzDlubPBnK7MaQ24FPLnRmCcUwbxP0FuNZg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=q8JosXGlf05Jz3oPyxvm2lCt42a/ba3ZfvEMC3LzaWk=;
 b=uE2vdc2QgE/sedhKQTlLJTkDLTtKsUaFSXXG+JCGUefKPNz+36GFgFRJpn4MirKgmf4aiApmqvuEDDsMR5fyt5jfDV/eV7jBJrgwIS8Vt+MxXh+oYwqgoEC7UJcf1GA2bo/XK+xMcJsoq4vw97QeQ7CvA1F0vGLOGtpMY2Jk1L0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <70131a25-b3e6-46b4-a9ee-096b0cf23eb5@citrix.com>
Date: Mon, 15 Jun 2026 12:12:59 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, jbeulich@suse.com,
 roger.pau@citrix.com
Subject: Re: [PATCH 6/7] x86/kexec: Pass boot params directly to new kernel
To: Kevin Lampis <kevin.lampis@citrix.com>, xen-devel@lists.xenproject.org
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
 <20260609154518.779757-7-kevin.lampis@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: <20260609154518.779757-7-kevin.lampis@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0593.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:295::8) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SA3PR03MB8232:EE_
X-MS-Office365-Filtering-Correlation-Id: 83a03bbf-da95-46d6-a727-08decacf10f9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|23010399003|1800799024|56012099006|4143699003|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	1mSM4bqVkGxsckFaqhTxVQgxAgTs6Xa4C0BK16PpAA3W7IbQTyrk4U8ZhiiroYhyHTEhWWbeDVhVBVMPlLJyHgcFvD/xSGxNCxFj4OAfShcFHSRTaVhf7fO6SpVO4rVfNn8KO/pm1pjavEWZxGejUl/TIXQSTZz1QEkAsIFkqaHEl6+IXMp02qWZtksi7yRocNLvcAlYacQxWS45rFQagxBvO8FSTiPVTzeY9/zNvNhI/EvQWY8hPHBG2uOEKk4XUdEy3l24lfVNIphgEnML1/FfjL4M9zswDOvI0PXO0zuSu7N1rjRPnv37O6vNUxTzyc/OfBTznclzSl3/QJf2+lXqHMIIY8BbNirmhMcIOktjyPI+1Oz0sDDw+nmu/rdkApBIhKvFhTmFw8y7Y6sWe5EIttBN0ezdNZ+aXkpultOh1U5n9oXbaVEAbZL0rG2Gin1hfi++dD6KSTuklgzkWVdBbrruP3WfKCekAD1CI2t8jbn2FCq2MSraaqJg1R9os7ScD3MIpPwXJSeGj+yvqHkqzeNECOFlGg6iou8Oymflj7kQq/xbZCR+Jn5nmgSj2CsbNaIMbTz3u4jcCGOxgLs9wPeXo99rrsGAbLlEigNEark8Pfxrxye6ms0rMFArKyCKQGx3a9txcvBiHZH/SsMLpspIox/NTQHEWn8F3SqcE70bFU6Af48BPKy3jqup
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(23010399003)(1800799024)(56012099006)(4143699003)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TDluY2NoN2ZvdDNmY0FnRTNoZGVqZTNzQjVrNDlCWEZxWnRzLzF4amZwejFp?=
 =?utf-8?B?ZTFlajl2QitYR2xoZ3RBdHNmcnA0UFp3UXY1V2FMa2wyTStmQjZHYnV4SzFS?=
 =?utf-8?B?UU8za0txWXdvY0wzcStJdndYME1leE1DYWNFSjB2VmtCTTgzNlg4OUsrbFpL?=
 =?utf-8?B?Ui9kUzRkaTVBVEV2eXhBdW9PeGo0TDhFNmJoZE9qelZ0NndYNnJVQzNzMEtN?=
 =?utf-8?B?MjR0NlRUSG9ZVnJjdlVlL1FiM1VDTmg3NXk3SmkxckpMcTAvUlFOQ3htMktS?=
 =?utf-8?B?eDJKZVdhZWcrd1hpVG5RU2xJN29mQ2VvR2NaQ3VvU2J1d2hFMzBsSDRDOHVT?=
 =?utf-8?B?Z0VCOUt1MjlIcjNlRE14UDlrN1UzbllEM1Y2WjE1N2NyVmlLaDdDYlNXelNL?=
 =?utf-8?B?cXZnbnZzZXNsaVpYeEVqMUxLU21kR3Q0QjhhdlhOdk0ydG96bVgwYTAwR3da?=
 =?utf-8?B?WWxOditSRVZkNnpXalgrK1kwcWo2RlBiSTkwTzNvRTQ4cTY1TWYydzA5dVdI?=
 =?utf-8?B?ekJZcDNWZUEwNGhCUjhCSnIxZ3hBOFJNajA4SWxJN2VjV2ZPR3V5RmUyTng0?=
 =?utf-8?B?bW5pbUhlNmY3RHRqZFFRSXpxdkJ2dDkyNXdYTkk0VVFSR0VnNnFjajNMaEEr?=
 =?utf-8?B?REdyK3cwQ1hyMWZ0elZhQklZNitjTlpuRWcvWU9XdjRKMHZmbDI4OHNqT2RZ?=
 =?utf-8?B?WHQ0S0RIeGpZU0k0VVVZWmhvU2VFSFQzTld4RUFLcjc5Nm1nR041NVkrRk8r?=
 =?utf-8?B?TWp3YWNWc3dqM0k2Qml1bzR0OE1NNEV2RkI3Y1ZWMWFnL29KQ21iQkorU3lT?=
 =?utf-8?B?Z3F5YmlzQUVlNGVMZ1VTKzd5MCtOM2dLcGkwa3NiOGVDNExNbTltNGtHOWFh?=
 =?utf-8?B?UndGZDYrbnFHOFF1c04xbFlMcyszZnlhNUZ6K0VBM2NsLzJWeHkyT1ZiN2JP?=
 =?utf-8?B?VkMrU0plTGM0VzVXcy9KNVZQc1RJSmhoS1E0d3hCRHBlaWYvQmJ2bWVhQk40?=
 =?utf-8?B?RUI3ampSQ1BzM3hET3pDOVlmb1Q3VUh4YTlpZWVqNkQ5Ly9RdHVDdlVLV2I5?=
 =?utf-8?B?MTNNRjJ0Qi8xWnBtNGpLaFBuV0lCdityK215SHcwOUkvRkhNemZ2TUNZZDZX?=
 =?utf-8?B?bURnMEZwN0Y2dDVwajBaWVQ5dWtUdCtSRXF5WVo2R2t4WitITVNNVkpzQlhR?=
 =?utf-8?B?N0FYK0Vmc1Y3SFljak5SenBLanlwNEszTVRhZFBBZUVtV2pKQTcyVHBPKzBE?=
 =?utf-8?B?V3pVNmJ4RXVlV2dCL0FScElYS0lSanUzT1N5U0JhVVl4aEFldTBaek93Qzlj?=
 =?utf-8?B?cjZWNCs3YlV5YnUxUVc0TkFvKzAwcWR1Z1RjdGV1d2k1bWpiaC9FVVVRU1dU?=
 =?utf-8?B?M0ZWYjhoKzR1Z094dGtGazdiejZHNWhYL3Y5WVV0TjBUckpLT2dvWmtxekRZ?=
 =?utf-8?B?bkptZmVtYUNHOXViNVN3SUtwMGU3WGVnOFJPMUVWRmFCalYwL3JSVnNzQlFR?=
 =?utf-8?B?Tzl3S0REZXJwYjU0OVJMUC8xWlpiU0pUZWdsN21XY1F0NXBSTWFZRmtsdjFt?=
 =?utf-8?B?REdWUVZFbGFZR3NoRVFwcnhablRTdGk3eEsxNlgzdWFPUzROcFB6S1hQb3cr?=
 =?utf-8?B?ZzVGYjVaUjZuRUJsYnVDejJTYUkvSVNJMGVHRjh3V1ZkcW5QN0ZON1ZmZXJ6?=
 =?utf-8?B?Um45VmZ4SlFpZXBkK0QvczhZVE5WSjdXYlNiN0dpMXVXamdFaVVNTXk2REZv?=
 =?utf-8?B?WnByZmtqZ0hWS0xMVnliR3FGTWJvQWhhWTR1anJuMUhhV0ExdXBkcXhKR3o2?=
 =?utf-8?B?SGJCMUVxMzJhU2NNU201eUhZMW5pT1NXYll6U2JJUUcrTXQ3SDF5SCt1MmpB?=
 =?utf-8?B?NUNnVi80dGpLRnJHWENvYjBkdEovWWU1TFc2Zmpjb2M1MHUyS0I3SUwzWkZH?=
 =?utf-8?B?M0pncG9QNnhUNU1wQnVjTVdIbll5RkxwcGprZDhydnFLVUd4NnNzOUNQTDd0?=
 =?utf-8?B?MUNhMWExbUZOQkpUU1o2NHB3VWRkU2dMbjBaSmQweHhJYlJLa3hEd0lBL1N3?=
 =?utf-8?B?N1hnQUd6MVR6ak9SVDcvTkc2cUoxeW9DbjliVlUxNHZMYVgya201Y2VmYThJ?=
 =?utf-8?B?U25KdEJLd1hDMEJibERDalFtOE9CY1hUNGFoQVVZajFrblYyY0ZNR2FieGhO?=
 =?utf-8?B?MEtsZm9vYXk2V0E1M2dvNUU2V3ZYMjBBWG00M0s4NWthZW5jTHJYeWZ4VHI2?=
 =?utf-8?B?N01yd3puNW8vc0pidnlBQTg4WTJtYmxBcHdGMTZ6QjdwZFhFWVdqZk84ZkZ1?=
 =?utf-8?B?Y3ovM3U4eFFEWWh0OG05WW5XWi9kdzRjNzkra0tNL3RPK2NuMGVBdFcxS2xi?=
 =?utf-8?Q?MHW9oH0PFNfHdqJ4=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 83a03bbf-da95-46d6-a727-08decacf10f9
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2026 11:13:02.5857
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: J4txDWCpdrhQ480s3dZr3U+2OIe+5oEg7n/P/4/+GGTg9Yi6FQ2R8Jqty+WFC0njUG41YkxJEEnuUhU6jeJbZmu6vtdYTrwDPrlDh5tMW38=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR03MB8232
X-purgate-ID: tlsNG-ef75cf/1781521985-23374C48-81140206/0/0
X-purgate-type: clean
X-purgate-size: 1604

On 09/06/2026 4:45 pm, Kevin Lampis wrote:
> diff --git a/xen/arch/x86/machine_kexec.c b/xen/arch/x86/machine_kexec.c
> index f921eec5aa..2edc1bd0af 100644
> --- a/xen/arch/x86/machine_kexec.c
> +++ b/xen/arch/x86/machine_kexec.c
> @@ -198,7 +198,8 @@ void machine_kexec(struct kexec_image *image)
>  
>      kexec_reloc(page_to_maddr(image->control_code_page),
>                  page_to_maddr(image->aux_page),
> -                image->head, image->entry_maddr, reloc_flags);
> +                image->head, image->entry_maddr, reloc_flags,
> +                image->boot_params);

With this in context, the field really ought to be named entry_arg.

Linux boot_params is just one possible option (even if it is the only
option right now).

>  }
>  
>  int machine_kexec_get(xen_kexec_range_t *range)
> diff --git a/xen/arch/x86/x86_64/kexec_reloc.S b/xen/arch/x86/x86_64/kexec_reloc.S
> index b52d31a654..6a2c839b83 100644
> --- a/xen/arch/x86/x86_64/kexec_reloc.S
> +++ b/xen/arch/x86/x86_64/kexec_reloc.S
> @@ -33,6 +33,7 @@ FUNC(kexec_reloc, PAGE_SIZE)
>          /* %rdx - indirection page maddr */
>          /* %rcx - entry maddr (%rbp) */
>          /* %r8 - flags */
> +        /* %r9 - boot params */
>  
>          movq    %rcx, %rbp
>  
> @@ -71,6 +72,8 @@ FUNC(kexec_reloc, PAGE_SIZE)
>          movq    %rdx, %rdi
>          call    relocate_pages
>  
> +        movq %r9, %rsi /* boot params */
> +

The surrounding code has not been cleaned up to Xen style yet.Â  This
should be:

Â  Â  Â  Â  movÂ  Â  Â %r9, %rsi /* entry_arg */

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 11:18:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 11:18:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338145.1599151 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ5KU-0006t5-Jm; Mon, 15 Jun 2026 11:18:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338145.1599151; Mon, 15 Jun 2026 11:18: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 1wZ5KU-0006sy-H0; Mon, 15 Jun 2026 11:18:10 +0000
Received: by outflank-mailman (input) for mailman id 1338145;
 Mon, 15 Jun 2026 11:18:09 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <ross.lagerwall@citrix.com>) id 1wZ5KT-0006ss-P9
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 11:18:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ5KT-00HBO0-2N
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 13:18:09 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a2fdf5c-5cb7-0a2a0a5109dd-0a2a450bae82-46
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 13:18:09 +0200
Received: from [52.101.46.62]
 (helo=CO1PR03CU002.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a2fdf6f-212f-0a2a450b0019-34652e3eff7b-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 13:18:08 +0200
Received: from CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5)
 by IA1PR03MB8090.namprd03.prod.outlook.com (2603:10b6:208:594::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Mon, 15 Jun
 2026 11:18:04 +0000
Received: from CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096]) by CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096%7]) with mapi id 15.21.0113.015; Mon, 15 Jun 2026
 11:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=UaKxBQykhkyQYhd08juX/7L8o3AHd9XZ1H+kryouNoNU3ZLAlQa/GK+KCKq5P7VPD6C14QR/YzGJsh3uZkzCh/n5V34RRs+ODur0cjOUeGwsOmRH88zapkhPPP0Eex1DzpYfqFBSqmL3dxnxGAHp2RM2KO/qjvemdIxyuJTQcrfpw+1CGFYiTd2UxXhWa+icYCsmcG97EPB0IiS+89wX94ly9S/VCsranKnIW//e0O4nEUq2qeEfcGR0Tvcda/fQhLqY84EKeidWw+7PUGegmVFDBuxjZNF71wWp28TlHMgSCl0n/kG2Clxu+avuU6KN+g/7utYPfEqip3o0cBQsgQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cKnKsblZOtUHkaeMEgVjkBmhyXkauCACqHhYTwaQB90=;
 b=HT/HKypfmJZGfQ42rvSdyvSj4/wT3c+iDiG3SlMCunF+bwbJfFmwj9iH1UVkb0hSM9bHmVI/hz8udHp2S41jflSyrTGUpJL4lRmv0ETicuvsy0en9gx5WewCOJypz+yDVjju/YjB2XDzuhd1dpkEw4N0GIeOOUyusAX5WtKFebabmSg9liF5N54ce0zcxMFxw83RZVy0BADV5TEmEfhr3CT6Jzc7SxgV1W0LZPE3lo34TcryrvLf0tWnOudKtDCiJSZYKTlM0Fke9iceaGTJ2ZoYSJtW2e8YvXFGOsdgCj+F9/SChGr4VmDQhZLoCqJNN+cJMgu7b2VJfLgRCTH2lw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cKnKsblZOtUHkaeMEgVjkBmhyXkauCACqHhYTwaQB90=;
 b=wlIxjlj488IQlBkH9rOL2TSF2mQ+OmW1GJzTooJBm2HODpMPhrjfDRU64SUVn5jBx8HPERt1b8Xajj+kzzr7QKARblkcMp61v1OfS9VOaW0FwrKMvx5BfntCNA1z7Uuzm7HxNqxgtJOl1UQ35jgH/YTMrkf74YfDW2bo98cBVQ8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <683a3df4-21c7-434e-96c8-934631673795@citrix.com>
Date: Mon, 15 Jun 2026 12:17:59 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 0/2] domctl: Avoid taking domctl lock for certain ops
 used during migration
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>,
 Teddy Astie <teddy.astie@vates.tech>,
 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>,
 xen-devel@lists.xenproject.org
References: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
 <3034d82a-f1ae-4c6c-a293-ca44b7e086fc@suse.com>
 <552cac1b-2be9-481d-a687-01c965ade221@citrix.com>
 <a32680d6-e321-4c97-b53d-71d7041e1c0e@suse.com>
Content-Language: en-US
From: Ross Lagerwall <ross.lagerwall@citrix.com>
In-Reply-To: <a32680d6-e321-4c97-b53d-71d7041e1c0e@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0689.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:37b::14) To CH8PR03MB8274.namprd03.prod.outlook.com
 (2603:10b6:610:2ba::5)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8274:EE_|IA1PR03MB8090:EE_
X-MS-Office365-Filtering-Correlation-Id: d0855c8e-9583-4783-096f-08decacfc51a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|23010399003|1800799024|56012099006|4143699003|11063799006|6133799003|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	QVGVEWHOvZiV7zJ4PF3LJ3OfhJq3OQf2fMN+LAn32ejut1FhW5M793G/BNHivFq6MY/rGtkgqvnek4DnnK3ZjFCzsBXWgVbdEMqXn0G39vbx30GSfKHWGC4sIbkZbkVjTad8gIKVihhvbK3FB+xTfGmCwqOHtxRHdBR5lGrLseLAwO2dpTbbuOaPkqqugk1kMiJ/cKBMZbkic1frtkxNrnZGy7eFzCkIWKa4WoSScd9ObDTXbv3VDinnuk5Ll2lfpqWidd3P3KMKapMDUEKSuvc6LIcb1Wi5rklmyY4/aNGAdLUnrmBwQA7WP7KzKT0nDdcxZ0CVDxoRVJYzCS1Dw3tMreC7Zf03+nVSi63oD+gw0VW+Wzl+haBAoY/6LvOKJpCr+HPfkTKdCpt8Is7gfuOp7ZZrnLIUXrA25IqTMOwdaV3uy9Uzx8o9Bigyb1QVqqMKSidjq7QWqlZL5tcbbyQHM8/exO4gMdeOi6OWdtRYS+YFRL2hXvr85KqN2GThJGRlZk58MUgBgtcQl83mxQz5zbCQaUdaNj/sqmoy0DL/HW9cGWeN3LSvHodkmeRGKQsNRqlYFGKRHWY9WfZjcv6R+T4Dd480qvWGgRcEBWtH3cceTGxn0lwkD2zhHpp2VbcwQ5h6Ns48j1LTkPkv7qp8SaK1Owb2vxa8+OQ1VZu61Jui82VnQ9sMh5+lo8ww
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8274.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(23010399003)(1800799024)(56012099006)(4143699003)(11063799006)(6133799003)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Nnh5eTR0NXo2NXZRZm5CNWZHS0FiUTdJYUkvSG5WNHBnYWpaRkVFaWNpWldu?=
 =?utf-8?B?dS8rdlJhYTBLRE9TNHNvNjAvbDJzd2VTRE5ITzRxNnMreVQwdDlWVTZpRUtI?=
 =?utf-8?B?UTZMbUlUWHVoSnRWcnUvRFZQRnIxUGo1WGZRTU8wQldGZ3M4KzVkNWp3U2JN?=
 =?utf-8?B?SWUxN3k2c0QwbjNIVFlyemlCZDUvR0NMUmIySkcvUlU4RzNqekFzdEpJMWky?=
 =?utf-8?B?MW1la2pQQU0rM2R3anZkaEFERmJjYVZlaHlsQmYwcE5zV3laS1gwbGpQck1L?=
 =?utf-8?B?YTdTa0xMQS9WS2NYWWRMNGVMWlBOeC9xaEwrMWRWYkprVXdkSGVkR0hkQm5R?=
 =?utf-8?B?Y3g4eVBVWVlCS3lhODQ4b3I3RHp0RnRRMzVtbE1xUnNRWW5MQkFJdm1Xb0w5?=
 =?utf-8?B?eU84c09rL0NwRWVlNFZpWXd4bTBpei96SEZ3VXdNZ1Z3WVJYcHYrbWg4dG1i?=
 =?utf-8?B?dys3M3ZFdFRMdEZuWlg1WUNiQjFCRnNNMytGRzArMjIxU3d0RFVyWlREMEdM?=
 =?utf-8?B?cDd3N1daYW5BMXZFWjRpYjNSblBKcVNkRVllbmpuNUFLYnExYVJlOGxUU0Ur?=
 =?utf-8?B?c2hWTVp6eGRLNFl0YW5zbXJ0bi8rU3F3ejg4c1pPTkRRN3RiZ04wbDdnSmEw?=
 =?utf-8?B?dmdpZUUxd1lUQnVuR2RHa0xWOExIbjdBOXQ3bUpQMk96L0crZHFkU3NHbEdp?=
 =?utf-8?B?UXVkSUFidzh4TkpVWHNGK1pHZzRERE1Kc21hV3YrUUtITll0ME54d00vbEVH?=
 =?utf-8?B?azMwdHpzbHM4amE5emJoWGlxUUFrd1FOOGpMRW0yNjRFUW9xOHlGTHVQcm5V?=
 =?utf-8?B?TTA2c2h4a2JoZ1BYY3ZsbHJuejZ2T1VEYU5vL3RFSUp4U2ZQUStacVpMMVhX?=
 =?utf-8?B?aWpRbGU2dWdXVXNrZ094cHB3TmtwamNKUU5PMlpRZ0gxL1AzYXlLRkhZZ3pt?=
 =?utf-8?B?VTQ3UTh2Y3dZc3dXenMzbFczOSs1UWl5V3FkNEF6cUE0eDRGV2QwTnZQOTll?=
 =?utf-8?B?SHhReElwQmlwRmUwalVzWXV0eTJqNmpoODNBcXNWNTZqYVJKSVc3TWlicXJT?=
 =?utf-8?B?UGl3UTdrYkx4S3hSa2VWQkd3VnZCMG94dG5CRVBZUURzYmRtWStMeGtOVFRR?=
 =?utf-8?B?czl6akZ5RGo3RFY3NUVQUUtyT1JPZzFJc1pSVEErLzRCVm51c1NLb0FIUGcy?=
 =?utf-8?B?THZsaS9qOWJHTDBydkFhOG01cGJTdTd1bXdDdEk0OWlCSUZTdFkvMVV5VlpT?=
 =?utf-8?B?THIxSGxkNlhhOTh0Mlo0Vy9RLzRkL0xvNllKZHk2S3RPSml2QjJrT2I5alFy?=
 =?utf-8?B?ZUlPcmI1dUxvcDhPUk1jNU9KTEZtc2RiN3ZnbUNicEkvVk15eW9ZWUpBM2lF?=
 =?utf-8?B?QURIRVhaTVlOQmF6ZjVxZFFzTWREdGdhc1RKQVcrZ2l1Y0ZlaGFvSkE4dmhS?=
 =?utf-8?B?V0R6WlQyRmZNclVya0tRZS9mTEtFb3g3UzlpamNvSCtaR2JXeStHSEpNaXJj?=
 =?utf-8?B?R294UUdOL3doSXBUOEtZTGdaSzV4bG9xU3RYREFoOEgvODhxcWg4cmpWaUY3?=
 =?utf-8?B?b0Nwd1NobzdLakdqdmg0Q2svVTN2TTZSVkdmWWtSYUJIV3FYa1J1UUpNcmIv?=
 =?utf-8?B?eldYd0F4ZW0vSVk0M1pSd3lDeHM3T0o1ell0RGhodWFYcTIrZnowWHpXb1NN?=
 =?utf-8?B?c21peWNrZjJ4alZndFhiOS9Hb0RhUnlRVzVDM2djSUtaOWxKMnZJbzFKbjI1?=
 =?utf-8?B?U3FMRjZJNFhuSE9WNkRWd2pXOHZYY1JKS0tZMGJWZ1BmYzIwUG1ad2ZGZGNR?=
 =?utf-8?B?d29BcjI1Vk1pT2MrcGhvOHQ2OUNoYmRpREZtU3JheVBoUmpRSGlCelVoUGNY?=
 =?utf-8?B?Zm9admViK1QxQnFnVnVCQ0RORTRvcjU1OFYxWEtOQ2J4TzJKZ3JYV1Y2ekwx?=
 =?utf-8?B?cW56Q3p6eEJZOFlVWndiK2hzRVdXdFMwTVhCUjNCZVRaQThBWDA4RTVFU293?=
 =?utf-8?B?TU9WNHNLc2tKNlZSL2c1dlFNb0hzR1djRW5xKytEN0ZXejdmWUdNejdwcFF2?=
 =?utf-8?B?ekVKOGdEcTlocFRFR0dkZDlTMVZBZVdqa0tuZU8vQnhNUXVQazRuVVJjS1Ra?=
 =?utf-8?B?YlpHSE5PdXlmQXFYTlpoYldLZmFXWTJVY0J4bEtyQTFISi9YQXZTVEIvdFhj?=
 =?utf-8?B?a3pEWlFWMGlOK0Q1L1J5aFR1WnBYQ0ZuUjZPc2pUdVRWQm03VCtlUjJ0cnVO?=
 =?utf-8?B?ZGIxZXVPZGFIbGdiVkFPdW04NGczdmFaUWZZdVJ2UGRRZzV2U0pUWEoxZjBk?=
 =?utf-8?B?L2VLQ3k1SmpJK2I1bXRXa0ZEcW4vR1dKQ05VV1ZYSlZHU1E4T2VxVTNrQmdR?=
 =?utf-8?Q?4GOflOe35No8+bMM=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d0855c8e-9583-4783-096f-08decacfc51a
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8274.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2026 11:18:04.8803
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YuPZWr/R2aj7o+djWCB/eYK2J1x/ZM+tOboDUwCWJCdBRNSYk1udaxrsbQoZLLpySykgAYh7ipFcAOjMw8fkHluFpnmyPOiMPuIMtXwk7wQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR03MB8090
X-purgate-ID: tlsNG-42698a/1781522289-18961F3B-2E610E22/0/0
X-purgate-type: clean
X-purgate-size: 1335

On 6/11/26 5:06 PM, Jan Beulich wrote:
> On 11.06.2026 18:02, Ross Lagerwall wrote:
>> On 6/11/26 3:55 PM, Jan Beulich wrote:
>>> On 09.06.2026 17:15, Ross Lagerwall wrote:
>>>> When performing multiple migrations in parallel, the domctl lock may
>>>> become extremely contended:
>>>>
>>>> * Operations like "xl vcpu-list" were observed to take in excess of 20s
>>>>     to execute.
>>>
>>> Does "xl vcpu-list" involve ...
>>>
>>>> * The "clean" shadow op may pause the domain, restart with a
>>>>     continuation and then become blocked on the domctl lock, causing VM
>>>>     downtime in excess of 20 seconds.
>>>>
>>>> These issues can be fixed by not holding the domctl for the frequently
>>>> called operations during migration.
>>>>
>>>> Thanks
>>>>
>>>> Ross Lagerwall (2):
>>>>     domctl: Handle XEN_DOMCTL_getpageframeinfo3 without the domctl lock
>>>
>>> ... XEN_DOMCTL_getpageframeinfo3?
>>>
>>
>> No, but "xl vcpu-list" takes the domctl lock
> 
> If this is still the case after XSA-492, then maybe the follow-ups I have
> pending to post will eliminate (or at least reduce) this. I don't think
> that's 4.22 material, though.

Yes, AFAICT "xl vcpu-list" calls XEN_DOMCTL_getvcpuinfo and
XEN_DOMCTL_getvcpuaffinity for each domain and both of these still take
the domctl lock.

Ross


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 11:19:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 11:19:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338150.1599162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ5Lt-0007Mw-2C; Mon, 15 Jun 2026 11:19:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338150.1599162; Mon, 15 Jun 2026 11: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 1wZ5Lr-0007Mn-SW; Mon, 15 Jun 2026 11:19:35 +0000
Received: by outflank-mailman (input) for mailman id 1338150;
 Mon, 15 Jun 2026 11:19:35 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wZ5Lr-0007MJ-1d
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 11:19:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ5Lq-000Hep-7a
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 13:19:34 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2fdfbd-5cb7-0a2a0a5109dd-0a2a45098148-26
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 13:19:34 +0200
Received: from [52.101.56.9]
 (helo=BN1PR04CU002.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2fdfc4-2497-0a2a45090019-346538092820-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 13:19:33 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SA3PR03MB8232.namprd03.prod.outlook.com (2603:10b6:806:45e::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Mon, 15 Jun
 2026 11:19:31 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0113.015; Mon, 15 Jun 2026
 11:19: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ocVor2mXGD1nEQjbSYZ10b6WuO3kO3HF79zfz6bI+hrz1AYYjY35uoYd9/MxK4XLg6E1UyhMEvW5wDK458fEwaEoeD1R+Z1Nd+pDsuQyzCvSIxTG5snZGMWbO0u4yHrrw168EKaNsEgS5xBTHyD44LNQfdmHnmcdFwAy3T5OkWRqH6xrDnET25JaMOL61+FXHcGPqPjcpQohRg+XgG1Cd9AGGN3naMfNMroUFIRYeMh+SgXVl9YIeNCzY4Cr5n2Ylq3ghn4ntctHMm1JdjnN4L9PEAdRlr4ALP34drgp7FmpWvLfYhMeXi9eSYk7UL3Bkal1wcxszs6Sidg0cjdhhw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=s81ac96pbIiBmp1ghCIWxSw7yhhO3XHyOmfwD1mLliw=;
 b=uV9F9oFKFnbYMmzOT/09GbVtJLasXOCr4EiFdjo7euYzO/H5Hu9fspKl6CcKGKx5oenhXk+t3EeqHrySSgbZvRC6V7jKEqY+CP4h71Ho/VBFDMsh4XHO7hTChNAi3Mz9HNG+jo8+I6UBgEa4DOertUZMiZ6KLXLKtyC5cEqAnmO9xYahDN/kQmeLHGItIFpQ52X26zUhJP5D/Cwdqnlm99ChvHvEO7ErTNBlgvmmOTIueN3lcbyW71BJKgcApaoMgkBJk79Thyzq5sPKCu3myYdfrvlgJXHg9LFozOR4ZZndcN2OASC6qJv03QS/nBjYf74C/JRsmEpLlfN60lNI1w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=s81ac96pbIiBmp1ghCIWxSw7yhhO3XHyOmfwD1mLliw=;
 b=SBuIN9LcTf+xDFXFcpyepEw5JtPT2uzQBbZRrrq0RrKP6PV4Ayb2Ji3Prc4a8tyWTfc92OpzNBjw/QwMTPObo1szsZKCe440U1DjySM9KOpoVeg5c8cbmKEpjA84enCzRjalgwh8wZOjsPCmaw1vSPvYxTvHmD1xDO/nI3Lq/4k=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <726828ec-85af-444a-8768-5b07663a48e9@citrix.com>
Date: Mon, 15 Jun 2026 12:19:27 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, jbeulich@suse.com,
 roger.pau@citrix.com
Subject: Re: [PATCH 7/7] x86/kexec: Zero general purpose registers
To: Kevin Lampis <kevin.lampis@citrix.com>, xen-devel@lists.xenproject.org
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
 <20260609154518.779757-8-kevin.lampis@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: <20260609154518.779757-8-kevin.lampis@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PA7P264CA0229.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:372::8) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SA3PR03MB8232:EE_
X-MS-Office365-Filtering-Correlation-Id: 05e872e9-38b6-43d8-f010-08decacff8ad
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|23010399003|1800799024|56012099006|4143699003|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	NKnKEfXXPM+/VuLNs0cxwnjzX6qybfFkBneS7+Q37Tvpz6lmnUNcjWp0HoP9ILXNxz/r1FgziA5jQ7oEXsW5Io663Asdrj2NAsDiMmUqdCsJu0LzV/4XyJsAUFLX/eWcFfgK/tYyksGHC4PYUpRUBfDd4vnGvHgS45TEmGBKivVD9Rnq3vpuVSEG1YYqB1U9cWbhHoYh7rydDKmGsANhYvkBRMIAO9CGz/hkTyTIRqqITK4Ohh7pJejc7fE8ju8ULIJOwk9HLyWY3Oahkbps/flLBj0E0+GqDQELDGfi8MZ6TZsn3d8QqQWbKCwSwczR6NwKZLehOzx9ZzL7WjQq6T8ywT/KGWbDj8N7I2jSfrySBreEzanqo7mAWrYMEwOOC4RQSaJFOZjieygrvrVI4csFFys8zGAhOmMlf/jXnq3yXYNlWVwivFePCBJLZPvZoNAqagBEx8U/rt8sr6uB4U1saWjk6P0J2hs2O9QzdIucm11e37xofx8M+baYblveL21pGNBqCrNUhj54x15fRZhQMJcGWuRhI/o0xCObN2slwLOgzECNHmPUFlYnMO2sJHGsclf8kswLXwmAXyotGcQLucc6Yw6mDng3utSpx6fFMrwlJd1r2pCy9KDGd1AjNAVnc1QmUuYUPGHhBUzptV27MsUnnGJOlD6KYjY9iSOXXUaI9a8XfG7lIO5ONt41
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(23010399003)(1800799024)(56012099006)(4143699003)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VmNCc1JqSFdyUDl2WHhod3R1QTB6UEJid3VRb3FLWXVKMzAwNmhFMlB3d1JW?=
 =?utf-8?B?S2FZM2hXMWpzK25MK3IwRDhEZWkxR1hZL0RHNXZPOWlqZk1PQ0lra3Eyb0hq?=
 =?utf-8?B?cm1EUUFVSTlzT0VXMktXeitDNVJ5S2JGaVYvN3FlNG5ieWRHRVIwOHA2M09w?=
 =?utf-8?B?aUU3RW9XS2lUM1lKS1lNMk4zdVBvc2RONUdWcmhBcWtVYWd6NXE3RGdyS0Iz?=
 =?utf-8?B?TldzcDMrWHI4WXFzNHdvRzNHUTNJaGJKWndnUDBTVzl0MktuYlRFMVIwby9X?=
 =?utf-8?B?U0RIbzBleGNLT2tFVklJVjJvT0hMUWhjeVBzRnQ5WmN2cFRxR3k3Y2JpdEt1?=
 =?utf-8?B?RERVUXJGL1A1RkhDNmhaTy8rUFBLZisxcHkrTy9ycFNOM25hQWwyOWp5QzBZ?=
 =?utf-8?B?NXBiVHFQMHBVakFHcVRVaHVwYzNlTm1HUytNVWRUQjhlSGdpRjRtOGIrV2g4?=
 =?utf-8?B?ZHhXeFNkZkxTV3c0Z0pkRzNEaFJ6QnNUZ3FvcitTK3hnQmlyMTJicnYvcVdV?=
 =?utf-8?B?N2pvQ1ptd0JycEVkVHU4djl5eTFzNHhYWEtrYnAyVUdCb29Pd2lISmlEYlNP?=
 =?utf-8?B?NWdGYW5uWFVNbEE0Vk5qaXBhZFFsTVdYOXIxK0tDQytKZHE5NlgvZVE1RWlJ?=
 =?utf-8?B?SXE2dDRuNndEcDZUVEpjTGdQdUYyVGRmUUNudUE4TlRnTTRmT2xTU3U1MkVL?=
 =?utf-8?B?V3ZtOTVPaVA2MnpxempNNlpnSzc5bzQ0V0tuQTM0dTJ5QnRHTE8wQndRUnNV?=
 =?utf-8?B?NFVsQWJxbEJsbU5kM0xuYVB1Q3FmVVFyY3JZVzhybjRhVXd2QWVLcWUvRkdp?=
 =?utf-8?B?WUpqeEVqY0EwN1JGTnpBQTRNaWZsM0M1ZGxoQlR5Tlg4ZVlTajVzQWFrcnZs?=
 =?utf-8?B?ZDJseVl1L1FlQ2JhSElLQ3J2eTE2U2FVcnJkN0ZwNC9BSHdqWW4yUWRMUUhj?=
 =?utf-8?B?NTJoamZtUUllSTZOZWtRcEVlT2ZlZElVTDJQRFd4eU13c2JzSTZMWjNuTUlP?=
 =?utf-8?B?TW5PTXYvNDcwT29KN1krOElOczZKbmtvVytPYmFETVRDQ0ZBREdDOENKSWJV?=
 =?utf-8?B?Q2xZeTduZkVlMUR3NXl3VkFobkhvVTF2MjZteVNPRml5UU9TSUlXcnI1SUhz?=
 =?utf-8?B?YWFjTElHTFM4M1FYWFZxMTVWL3N6RG84MlJMQWxHV2lVbVZnNUQ3LzFjS1lI?=
 =?utf-8?B?eU0rSFhjbXhOblpjNVJqR1ZIOUU4a0phbzlLcnZCekwxMjZ5eHVnNTYxaDd0?=
 =?utf-8?B?WVp6WmRRbTJISnZwUmRwRy9HSVpvbFJucXdTZ002SkZZNEJCS1E1cHpydGZB?=
 =?utf-8?B?NVY4aThaSmpTcnFTRVVHeUppMTM3Y0kwSm5FWUZZeTZaSFhWcGRyUDBTRy9w?=
 =?utf-8?B?Lzk5ZGlzUTFReUdXc2FHNnRFZGo5ak5UTVJjb2x4VWJTR0pUMWt0eFp2YkJR?=
 =?utf-8?B?RTZPUXplQkMydUNOMHU2dGNqQ1Y2RE9PblAwYVRiVStrMjI2emIxNXY4bCt2?=
 =?utf-8?B?bGpndUY4SmRaMTZBYzltVEdCanU2SXJjVVlyY0x4QXI3UFhCYU5wdjRIT3JL?=
 =?utf-8?B?ZEN2L0lISzlhbkF6ZlBVZlFZd0xBRE03RHZPb1BIQ00vdWxuTk9ZZ2EvT3Br?=
 =?utf-8?B?ajA3SjNZemRCR1ptUWh5RzVmS3YyWE1QVDBqT1B1M2hYc1kwbUk3M0pXcHVE?=
 =?utf-8?B?T3d4b2xqdGRHU2Y4ZEh1eWoxSDg5dmUydWxJcjlzcU5xaCtCUDdmOFozdlV1?=
 =?utf-8?B?VFV5UGhIazN4b04yMEpab0VLR28zMkVFMGFmb0dlUzFxUCtyZWZmOUtwUzEv?=
 =?utf-8?B?dC9vTmlzNDQ4ZEJVazU0VWxpK3NJWEN2UFhlTnBOcWVoVmhvbjRUdTY4V1Vi?=
 =?utf-8?B?Qks4WWY4Tjk2MDF1bnlkbWZYVkFUOVdxWmk0NDhuNnZPUVdNTXIxa3YyeXRQ?=
 =?utf-8?B?RkFEaDdLUklDKzdGU044VUV2TmZxazB5R1V0ZDFHZDN3MnNwRjlEQ3liT0Q1?=
 =?utf-8?B?QVRVeWZCblBTUjltUmZxTDhHVUtwajNZOEhKVlpwRXllbGNVVlozUjFCZjB0?=
 =?utf-8?B?dnlVb1FWNzM2UE9aWWNkR0tydmZpQ0JsMVI3RUMxWFFCa2ttZ28wZGF0aDA4?=
 =?utf-8?B?c2hzdVF4WHNqZlZuR2lyejhIMzg4d0h5Zmc3ZEV0cnhtdUMzSHVsUnBwMGNu?=
 =?utf-8?B?OTgyRWN1cVJLNGJlTUpnczJXbUp3eG55WTNwY3NGOTVSTDhtYUhYMHVvTFlR?=
 =?utf-8?B?Y3U2UnZGL0plZ2xFaExsajZVaFZFTkxaY0RTY0V3YWxYU2xNRWJDZXgxbVli?=
 =?utf-8?B?dzVzcVhnL0lRQlhjUUdQcS83d1lCVzE4emFpUnZzOTlKWEtDWlZJYjdNOXpB?=
 =?utf-8?Q?dWr71Z2WXQ7QY7qA=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 05e872e9-38b6-43d8-f010-08decacff8ad
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2026 11:19:31.3022
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rZX2Acx5yTUosPQer+OtnceaFaDl55qbZ/y9IUb3HGzEWff9unQy2OCdjFy8jttLl+7uTvZDk8pbj33HjdfAMhc8g/IRT84PtCWeew/l8BM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR03MB8232
X-purgate-ID: tlsNG-bad1c0/1781522373-4236CA53-BCF249B1/0/0
X-purgate-type: clean
X-purgate-size: 1184

On 09/06/2026 4:45 pm, Kevin Lampis wrote:
> Purgatory zeros these general purpose registers before jumping to the
> new kernel. When doing kexec on an EFI kernel there is no purgatory so
> we need to zero the registers here instead. This change shouldn't affect
> the functionality of legacy kexec.
>
> Signed-off-by: Kevin Lampis <klampis@citrix.com>

The subject wants to be "x86/kexec: Zero GPRs before entering new
kernel" or similar.

> diff --git a/xen/arch/x86/x86_64/kexec_reloc.S b/xen/arch/x86/x86_64/kexec_reloc.S
> index 6a2c839b83..be9e487f7a 100644
> --- a/xen/arch/x86/x86_64/kexec_reloc.S
> +++ b/xen/arch/x86/x86_64/kexec_reloc.S
> @@ -94,6 +108,13 @@ FUNC(kexec_reloc, PAGE_SIZE)
>          lea     compatibility_mode(%rip), %rax
>          push    $0x10
>          push    %rax
> +
> +        xor %edi, %edi
> +        xor %eax, %eax
> +        xor %ebx, %ebx
> +        xor %ecx, %ecx
> +        xor %edx, %edx
> +
>          lretq
>  END(kexec_reloc)
>  

This hunk is in the wrong place.Â  It wants to be lower down at the end
of compatibility_mode, where there's another /* Jump to the image entry
point */ comment.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 11:34:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 11:34:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338162.1599170 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ5a4-0001kP-HI; Mon, 15 Jun 2026 11:34:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338162.1599170; Mon, 15 Jun 2026 11:34: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 1wZ5a4-0001kI-EY; Mon, 15 Jun 2026 11:34:16 +0000
Received: by outflank-mailman (input) for mailman id 1338162;
 Mon, 15 Jun 2026 11:34:16 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ5a3-0001kC-S0
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 11:34:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ5a2-00CAFw-Nd
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 13:34:14 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2fe334-2eae-0a2a0a5409dd-0a2a450cd482-12
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 13:34:14 +0200
Received: from [209.85.221.49] (helo=mail-wr1-f49.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2fe335-62f1-0a2a450c0019-d155dd31a95a-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 13:34:13 +0200
Received: by mail-wr1-f49.google.com with SMTP id
 ffacd0b85a97d-45ee5cdbd28so2583099f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 04:34: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-4606f2c473bsm37869103f8f.28.2026.06.15.04.34.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 04:34: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781523253; x=1782128053; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=rTY3CK5hYqBEqw7dfyBzrJMcA6c/UzKiHNRRbK+F80I=;
        b=EGt6SaqOEE/IdPkoznbt3DPvgvNnfwKK9XDqIDD88q9kRB/f0oRGGrY7VnTDOD/jQB
         y8+Sh+hiEnOQZLcqFrpAnS/z2HAz95CfQXsLm61QLciTxUros+MOxR7EbfMUm1g6Gm7t
         UtBHWle8R1Vh5ta47eyDPeCAs+Gs7k22OzK/SI7xx+i7AvvYr4RghUEcPpcdP2TOUqo9
         zTBoWE1mKd/48cJVXYUc0rsFBz9y9ABjqbt/6bxWVEXQADuj4qufqDIBN0Jp0VfqGnsp
         NDw3kA807k7UzeIPcjrcKjzRP5kYzs/QEwkCRmwDnGWjXdQHS8kgQ6WQVdau1WWANn0S
         XDdw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781523253; x=1782128053;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rTY3CK5hYqBEqw7dfyBzrJMcA6c/UzKiHNRRbK+F80I=;
        b=L0jM1+oNIV5dBg4NFB5SG1+SNsDeAs1d6qAy4bkXmDtu/Lvu7O6/HXvitgyAqkWyls
         UIpxQxRCkVDdZ6jibqJbHtRtXkI7lFlVe6KFP1qvmm7jlFaFEjt5ZW95uERauSgbjeaB
         9x947fXcIX/sXmcyLlGlM32ELrD2d/ycAchaoL+tNjV6jYii4anHSnANF1BV2dJI5jEG
         PGes7g+yzQTI2VEWwIZxEAGFjhdfen3wwqcoK4BnRY1+GAnO24SCca6KJbrB7fcGBizZ
         xQxr3WPzr5WyUy2fUe8zvW8jA89g2gC8Uc8XpTlv1yZJUnYepf6gPFtndjVvpfGvTgnx
         /cRg==
X-Forwarded-Encrypted: i=1; AFNElJ8Xihk04jn5JdN6gVsFiNhvAiJICOtFYETJPBLx86XlNkimZkrKTWh8U3509+MDvV+NLqZoWcdhMvI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz6XXHvXapek7wXmkQiE4spBPlFhrB5Qb5z/MvizY7R5p7AdD57
	3fswVEpFoV6AGyaHKM+9wRszLWQLCUHlzJBsLP7kX4EaaYYj8e3dgL++wkvmSU4QxQ==
X-Gm-Gg: Acq92OGybss1D/FSJ18do1QHphkt5a08l+e+TnNYgfEDqpzenP1IGFaVXDteWC9FWwy
	hUBT5n0NjrYbwEIHkaqEaVGaSP9dL5qQpJgA42CDysjokRT/sGYOhF7wQmdPH/Y85Mx1N4j26WL
	04h3Xbg+fMOSXgCnUEAERA8fXb1aNxFf8gStYeNfvmZWtMH1k2b31PS8cufIioyjSDb2uys4uXu
	BP/TdV9Jid7g1uLlrEnKF+Q3L1VpjGLEOP+6qveDc+CPoQPrLEbtPu/0o9JoADXnK+zoP3JPq3A
	DFAfMyg5qtZ6+QPvKDu4hVaH+BLjv8y3wvJrVrWpqf5q+dUxx+ElQfX0oX9GdG80gGNbZJ4ZDTy
	zwYgFIu14KNRc6+J+1bRKquQuFGThXqhJT6pxHcplV/PTFRbSrGPfBjFCkarhI4I11zUeTn/No0
	Kk1odIZ3GCUplqyOEu6dIIZRkOSQq3Gu7p6HWJChgjx/j9IujtB1qsAcDEFYENmZAnYdVrlETmj
	OJ4gM026ienz6A=
X-Received: by 2002:a5d:5e82:0:b0:460:2e53:a6f6 with SMTP id ffacd0b85a97d-4606f24cffemr16294328f8f.12.1781523253265;
        Mon, 15 Jun 2026 04:34:13 -0700 (PDT)
Message-ID: <023a55e7-233b-45d0-a4e7-74a6cf2ae45d@suse.com>
Date: Mon, 15 Jun 2026 13:34:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 0/2] domctl: Avoid taking domctl lock for certain ops
 used during migration
To: Ross Lagerwall <ross.lagerwall@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 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>,
 xen-devel@lists.xenproject.org
References: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
 <3034d82a-f1ae-4c6c-a293-ca44b7e086fc@suse.com>
 <552cac1b-2be9-481d-a687-01c965ade221@citrix.com>
 <a32680d6-e321-4c97-b53d-71d7041e1c0e@suse.com>
 <683a3df4-21c7-434e-96c8-934631673795@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: <683a3df4-21c7-434e-96c8-934631673795@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1781523253-F5386CF5-993F7128/0/0
X-purgate-type: clean
X-purgate-size: 1607

On 15.06.2026 13:17, Ross Lagerwall wrote:
> On 6/11/26 5:06 PM, Jan Beulich wrote:
>> On 11.06.2026 18:02, Ross Lagerwall wrote:
>>> On 6/11/26 3:55 PM, Jan Beulich wrote:
>>>> On 09.06.2026 17:15, Ross Lagerwall wrote:
>>>>> When performing multiple migrations in parallel, the domctl lock may
>>>>> become extremely contended:
>>>>>
>>>>> * Operations like "xl vcpu-list" were observed to take in excess of 20s
>>>>>     to execute.
>>>>
>>>> Does "xl vcpu-list" involve ...
>>>>
>>>>> * The "clean" shadow op may pause the domain, restart with a
>>>>>     continuation and then become blocked on the domctl lock, causing VM
>>>>>     downtime in excess of 20 seconds.
>>>>>
>>>>> These issues can be fixed by not holding the domctl for the frequently
>>>>> called operations during migration.
>>>>>
>>>>> Thanks
>>>>>
>>>>> Ross Lagerwall (2):
>>>>>     domctl: Handle XEN_DOMCTL_getpageframeinfo3 without the domctl lock
>>>>
>>>> ... XEN_DOMCTL_getpageframeinfo3?
>>>>
>>>
>>> No, but "xl vcpu-list" takes the domctl lock
>>
>> If this is still the case after XSA-492, then maybe the follow-ups I have
>> pending to post will eliminate (or at least reduce) this. I don't think
>> that's 4.22 material, though.
> 
> Yes, AFAICT "xl vcpu-list" calls XEN_DOMCTL_getvcpuinfo and
> XEN_DOMCTL_getvcpuaffinity for each domain and both of these still take
> the domctl lock.

XEN_DOMCTL_getvcpuinfo is taken care of by my to-be-posted follow-on.
XEN_DOMCTL_[gs]etvcpuaffinity first need to have their own locking added,
before their handling can be moved out.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 11:49:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 11:49:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338173.1599179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ5oL-0003iT-Qp; Mon, 15 Jun 2026 11:49:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338173.1599179; Mon, 15 Jun 2026 11:49: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 1wZ5oL-0003iM-OG; Mon, 15 Jun 2026 11:49:01 +0000
Received: by outflank-mailman (input) for mailman id 1338173;
 Mon, 15 Jun 2026 11:49:00 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wZ5oK-0003iG-1T
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 11:49:00 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ5oJ-000Ouu-Ec
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 13:48:59 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2fe6a9-2eae-0a2a0a5409dd-0a2a450ad4da-2
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 13:48:59 +0200
Received: from [40.107.200.27]
 (helo=CH5PR02CU005.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2fe6aa-56b3-0a2a450a0019-286bc81bc60d-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 13:48:59 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by IA3PR03MB8473.namprd03.prod.outlook.com (2603:10b6:208:544::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Mon, 15 Jun
 2026 11:48:54 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0113.015; Mon, 15 Jun 2026
 11:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=zTozi2vByTh1ysbp6XbLXym/EtRnIr+ssgrI0qQaHQmP/a+rPTOT3z22eKb5W7qFX/BXyqREGFUohvm2YAzwLHrgG2w8Upr/JsfYcSZ2prd2TumP406Le0NIAogn/6pjCR6JMgrxMfIc4GNZ0Bkp39YZ98RrUJa5WneWiMhBRjV/4DYDnwDYLWTru2pYS1LNrxHSB8Q3ASoNO14a5cheWr2gfcXfMxUexeuTMafDNqA0BlEMyDiSC3giIXtkdckTjObJNZ1Jo2lj38PABjyxEIkr6f6usHzBRxDTNYcbkq2ImHVY9t4ag3pNE+W7pFWBEcaeKN1nFdiZvxYfLDMUEQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7Jvskeu8W0xely6F8Fs//rPh2teM3DB2jL/rinDkSgU=;
 b=PUeC5vraMNdAp7dUtLkT+6KnpTr+MhPoMionnknOwqouRjkDBZURDUMB55UiLVl7bFYQveMosygYElFwARenqCJdoThWkXoTcGuU3jRYMLSjmLWMy7foSIxaWhW80Oh3GUcrMJVT1nBQwM5VtjADYBdvUVv5ziILNswgKJu4pjVpNUd96aSYRBzxwvvmfFA2r/i0rFRIxKf3k9sjnXY4/WLDmYOWUDWVJ2KN3vKeeYOOFGakEJt7bV4ml8v1T8emDM0B25ODLhbjIso8R+rz5OBV+/0XOOir35JYJMRYGqjJ3Alr9abdyzzb1qptqxUnzxfaYID/92qgeqEzwoqWDQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7Jvskeu8W0xely6F8Fs//rPh2teM3DB2jL/rinDkSgU=;
 b=EHCZkcNK0rb8/PypTn7Frvn/z650stDUKpXtrj3eE2KFLXtQnwy6oWXjahmN+euaYBsQTUEB9Wvf3A+5Zoj3ZSjN9PeKbLqfFFTDXwTWYw9clT1Ns+CLJNsaiwS3ul3Ea7PeGVmbGAi4NlWt9cfFwaqQC9iQnjShhGcLcpo+N6Y=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <547458e9-6d38-4114-bdab-a20a3cdfc4c0@citrix.com>
Date: Mon, 15 Jun 2026 12:48:50 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, jbeulich@suse.com,
 roger.pau@citrix.com, Ross Lagerwall <ross.lagerwall@citrix.com>,
 Gerald Elder-Vass <gerald.elder-vass@cloud.com>,
 Kevin Lampis <klampis@citrix.com>
Subject: Re: [PATCH 5/7] x86/kexec: Implement new EFI load types
To: Kevin Lampis <kevin.lampis@citrix.com>, xen-devel@lists.xenproject.org
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
 <20260609154518.779757-6-kevin.lampis@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: <20260609154518.779757-6-kevin.lampis@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0042.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:152::11) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|IA3PR03MB8473:EE_
X-MS-Office365-Filtering-Correlation-Id: 7a5e2395-86dc-4308-abdd-08decad41363
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|23010399003|1800799024|56012099006|4143699003|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	0KRjzF8V6dC2uDkvs4qgTr29mpmGn31NE9PtqHytwnfLYCexFezIpdVjWVFY9jDuoRNpoQ+VY/zrGh1NUvsenHuobvCHkS0O3uh/O2T6E5EusbnDkgiorVLBdtTf6AMBwHLKaWwS1jQCkAweyvyhAYTWBixiOe5LjBSXGx9pJdlmMQmQ0SudptF9FFdSHRyVai1BtVNWAS44GClQBtcpfq1YgHH5gLz53aQlEQttsjcxGXmoj9WPT+AOIhp2ZzGSS2zp+DLw9BFVZlN+6dptxeQu6NEBHeYpYeOabosAUYc1ysGescunpdtdfDPVEb27a8tZSDuda6n13EDFC3kMvmNNbDi3l5aQQs/UrLRdpq8+IC2azrtz2cW+skNRD9upfp0wSjysAuLZIG5UpjThpY6/BvpkMCe4LWVa2EymkxSnhvb4wZAGhNYKglvaOVGBI7VwCt+4kohSmeJWPAS7pBOmCX+J5djC0rDB+lqc0R32CvXpqMtKki3Qz4zyXIhbn6LP8/x7nfXA2wlBI7E4I69gfVYaON5pLhLKDHiKZKdTQuZ+UtVQExMca+7dFY4dCdCDNm+VXH7uvUBTz/+X2Gi5PZ9D3qEXdB6Lp8wms6dGVjloEQpQXzMHM208jPLAoGz8gWy/B1CTcBouEdtOpRen68LLRPsE064CG2rvsjvstnTq6aRt4omem9AJydWj
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(23010399003)(1800799024)(56012099006)(4143699003)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?akRzQTdQblE4R0NnVW5CSXo3UGFNSmZpNVExbDI0LzJsVFpCMWdUWWY2NlFJ?=
 =?utf-8?B?T2JaVk1KaHBGVTgyazVkekxkZzlncFkyVjBQWjdxcmJOSXU2eWdYZU1YVno0?=
 =?utf-8?B?ZEtmZHBwUy9DL2xCcUo3d1lQS3BLZlUxanp3dkt1YWJmSURMN3BOc3V4OTRP?=
 =?utf-8?B?ditiTm5GUWtOOW55UDByekxiRHVQQ0RwSFhwODFDc2NiU0JLWHR4Y043a1dP?=
 =?utf-8?B?WWxzYjc3OHQxOXBCdW1oUHlWVjZXOTVwRUlpdFUyVmFKRXROdXkzR0ovcmJM?=
 =?utf-8?B?OTVsUW9OR0dRRGd0UXBZOWhyTHNUK1pHdjc3aUhZcEcvWmVQVE5uVmxNYmx4?=
 =?utf-8?B?YWtja1FNdnRPZGJVd2UzdHR3T0U5OVQvckhSVzd5a3ZydHlpdnU5RmtjaG5v?=
 =?utf-8?B?bllnK0lZSmZNSXNvMVJOa2RWRWFQekJHcTYwcjJkcWR3UnBGYjNOekhHdkdD?=
 =?utf-8?B?RWVaSWxDMkNiZ2NpNW8rOWNYcjdQVHM5UmNIa25LK044MVF1MktoUlZIR3NS?=
 =?utf-8?B?OGZ3UzFLMzI2dVR0UTdJaE8yZnFZZG9vODNVa2xDc3JQQUZBQ2VWYmpCd1Bz?=
 =?utf-8?B?UzdXeXlDMjBzZTJnZHNRMm1FSzVhYlFkZ0R6Y2xFc1Z2eEdpTWI3UmpNbHd1?=
 =?utf-8?B?TVdrcnp2cE9SSTVYRmNISjBOYmpJdlpwNWdrY0phUHFNVWc3cEwxd25zVVZJ?=
 =?utf-8?B?dW9aR2RlRVBrckU2UVVycXJGdGNaRlRTTlQ3d3prMjhJOHozS3liNERPWm1K?=
 =?utf-8?B?NkdlWitPbGdEVWlZMzlxRTNRNFRuVlgwZ3IvdjN2OFY1Tm5xcFRQL3BBMXdH?=
 =?utf-8?B?QzU0aDd1ak9pWXJTbUJSaE5LTVFRUjJPalYrSEJBdXR3cVpPeDhjdlFHWExm?=
 =?utf-8?B?bGswT3ZBbURod2RRem1kaEc3VmVZT0pvK0MvNS9uQ051M05lTE1kTWx3RTNa?=
 =?utf-8?B?c1MwVFZRQ0ZtNFV6RWtqeUtQRTV5cXl6RDlpTEJvanlSa0w5b0t3SkN5eHBt?=
 =?utf-8?B?cVh1dk9VQ3hJckJVTzh3b2xxT080UzBabUJiRnpzT0lhMXBEVm1JWEQyeUxr?=
 =?utf-8?B?bncvRDJtdDdXaVRBSWF6dVJRblRHRmNhRERXTTRRd3JqK3pudTBwbUJPZjNN?=
 =?utf-8?B?bjhlQW5wRDBNNjQwd2hJNThFTldtOFJBNDMyUC9yU0xzUE10MmNVWDFTbXdv?=
 =?utf-8?B?UllqRmZkalM2VlNkOWJwTUFFVmxxN2NMUFNRYURwWGNXMnB4eHcrOWFvajJU?=
 =?utf-8?B?b2U5Q1l5aGNRZXFoTkV0QVB6N0dIRHo0WHFtakxSQnZCcUdPVHpUUmdFUjN6?=
 =?utf-8?B?aTdFclpmajg1RW9IV3d3Umk1QjEwa3BtbU13RGFMSW1ZMDdhT0JnTUJpNzA1?=
 =?utf-8?B?V3BxSG8xRzhmbGVwQWFJT3FYQWVJMDJVNXVwNXR1RWNhT0VLa2JYMFFraStG?=
 =?utf-8?B?TkxucFJuMlNzekFuTjJXcll3aGlSSURZTzlPYlhaYWxoN2l5amlIc2Jxa3Zs?=
 =?utf-8?B?SjNFdngyTk5tb2dNN1BiM21TZnFsSWswS3VMSWtFUVFxc3VtM3BHSmlSUHl4?=
 =?utf-8?B?aFc3cElzd0ZxOUM2TUxJZ0k5V1hCQzZwYVM5VnBpV05XalNhNjdRemRzV0pU?=
 =?utf-8?B?TWlyTDkxNk9DV0VzNnpyc2RTY2h0bjlRUTNBckNMeXVPR2VqYXNuYjR5aUd6?=
 =?utf-8?B?Z0R5cHVyRmRIZDlEUjI4ZTA0QXZXVS9QbXhCNlIrc2g1S0NHMXA3NlRwYmhJ?=
 =?utf-8?B?TTBacHBpV1AyQnN4aHRCYkpFVm1RL2hvSjVCNmwrRmlsY0pzQmxHWFFaN2xX?=
 =?utf-8?B?QVd4cTB3VkdWRUEzai9CNmtWdVlRdXVCbUdxNEJBUzhXY1kvWXZxUkkxR3l4?=
 =?utf-8?B?dkN0azFWditCVExweEJvbm8rakkzRDY5a1FVbEkvTzl0UnlWU3YzMmlQS09R?=
 =?utf-8?B?NU8zR2tSZzg1MWxPRlRuUlgyelJ4MTY0bUt0WHZTU00wVDJ4azdoeExORGpL?=
 =?utf-8?B?M25NK1lDT0Fma0VJdTlTbUVPaEJmblFCanVHcUNIYjlyZ1phMnBwK0p4VnBB?=
 =?utf-8?B?M0kzQ1E2aUYwb2s5RkhyTDNlZ2ZVWlZmVDhRc09WS25Ha3oxUjViUHlMN0ZU?=
 =?utf-8?B?c2pMRlNLcVUvTnFLb3MvTVd2QVBVUnZNL3NxQ3FRRnpIN0Z1YnFBbTR2MVVr?=
 =?utf-8?B?dEU5TzN6anBJaHhFQVZ5aHFlYUVNR3diaVpCMi9ScHhEU1M1Z0xvTTVSZ0lR?=
 =?utf-8?B?RWdneGtCSmNIMXVhQmJyb0U2UDd3Y3hDMndnRkY2MWhiYWJnQWlUdmJJS1do?=
 =?utf-8?B?TTVBUWt3MHFxSGMzMHp1OEM0RjNxOE1PclFpQXVFK2VlaGkwelJUMmdXMVZI?=
 =?utf-8?Q?bsVxnxCRBPf6c18Q=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7a5e2395-86dc-4308-abdd-08decad41363
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2026 11:48:54.1518
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SJOOxBcLohpqmHTAUdD/joNdswnH6m7w7QnaQKnvsA++2+ydvsI6uP7HeDoW6JvANpwUn184+Ivc/ZpwVpihXPEyJlnmmrPZd8vDGH6v2XY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA3PR03MB8473
X-purgate-ID: tlsNG-4011c0/1781524139-729768B7-70E3CBA9/0/0
X-purgate-type: clean
X-purgate-size: 2118

On 09/06/2026 4:45 pm, Kevin Lampis wrote:
> diff --git a/xen/common/kimage.c b/xen/common/kimage.c
> index 1d872916b9..9b49455e8e 100644
> --- a/xen/common/kimage.c
> +++ b/xen/common/kimage.c
> @@ -217,17 +195,13 @@ static int kimage_normal_alloc(struct kexec_image **rimage, paddr_t entry,
>                             KEXEC_TYPE_DEFAULT);
>  }
>  
> -static int kimage_crash_alloc(struct kexec_image **rimage, paddr_t entry,
> -                              unsigned long nr_segments,
> -                              struct kimage_segment *segments)
> +static int do_kimage_crash_alloc(struct kexec_image **rimage, paddr_t entry,
> +                                 unsigned long nr_segments,
> +                                 struct kimage_segment *segments,
> +                                 uint8_t type)
>  {
>      unsigned long i;
>  
> -    /* Verify we have a valid entry point */
> -    if ( (entry < kexec_crash_area.start)
> -         || (entry > kexec_crash_area.start + kexec_crash_area.size))
> -        return -EADDRNOTAVAIL;
> -
>      /*
>       * Verify we have good destination addresses.  Normally
>       * the caller is responsible for making certain we don't
> @@ -253,8 +227,28 @@ static int kimage_crash_alloc(struct kexec_image **rimage, paddr_t entry,
>      }
>  
>      /* Allocate and initialize a controlling structure. */
> -    return do_kimage_alloc(rimage, entry, nr_segments, segments,
> -                           KEXEC_TYPE_CRASH);
> +    return do_kimage_alloc(rimage, entry, nr_segments, segments, type);
> +}
> +
> +static int kimage_crash_alloc(struct kexec_image **rimage, paddr_t entry,
> +                              unsigned long nr_segments,
> +                              struct kimage_segment *segments)
> +{
> +    /* Verify we have a valid entry point */
> +    if ( (entry < kexec_crash_area.start)
> +         || (entry > kexec_crash_area.start + kexec_crash_area.size))
> +        return -EADDRNOTAVAIL;

I've fixed this style in the for-next branch, so you're not copying
around bad style.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 12:01:00 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 12:01:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338183.1599187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ5zf-0006VO-UQ; Mon, 15 Jun 2026 12:00:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338183.1599187; Mon, 15 Jun 2026 12: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 1wZ5zf-0006VH-RY; Mon, 15 Jun 2026 12:00:43 +0000
Received: by outflank-mailman (input) for mailman id 1338183;
 Mon, 15 Jun 2026 12:00:42 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ5ze-0006TW-CY
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 12:00:42 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ5zd-000RFh-A8
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 14:00:41 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2fe95b-5cb7-0a2a0a5109dd-0a2a4503d416-36
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 14:00:41 +0200
Received: from [209.85.128.41] (helo=mail-wm1-f41.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a2fe968-672d-0a2a45030019-d1558029b107-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 14:00:41 +0200
Received: by mail-wm1-f41.google.com with SMTP id
 5b1f17b1804b1-490b613a17bso29071505e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 05:00: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-492203d05d1sm338907405e9.12.2026.06.15.05.00.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 05:00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Autocrypt:Subject:From:Cc:To:Content-Language:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781524840; x=1782129640; 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=eazOSZbXY1it+mlud/La/UkvM4wEAF2FLpdZ7kq+Tpg=;
        b=PTSqSBWpo1i00CGf47OPUni49slchSw0hbnBvVGeJsYTQsGlCA/CBB2337ns3obbr1
         f7JQZ7sSGfbyBH4D1obeq01tbl9XgWCxNk+5UDPM7/RADbRsWhANyIb0rHBweUkN3XaI
         XDwXzLzUuoLD/OaAkcJejqoQwDVLgyIVoCXgZn0HekDDO45qv8X88OL2hwnfTAhCeja/
         3+6T0+Q5EzKXs0aitZ8SizVELIHJIHJ9y3jQHFTXOBzr5mvleGjYDfvg8PPMzdeuGGaK
         Q1SBKifi60XqVvbVyM2fP1Lw2RqgZKdQycI+i0K9JT3RCCEBofkq6Z11YT3Gc40yZ9T3
         hWRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781524840; x=1782129640;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=eazOSZbXY1it+mlud/La/UkvM4wEAF2FLpdZ7kq+Tpg=;
        b=XAqdm64LzuQ8H1MK/EVWyDsg7eOuyz43nxgWKx5VxPJcD5CSWrUUOwijyVyT+S1jUm
         YQ6nv+3BlEYjq/XnRRfaUiZabd7jqeqO8rFDgOynLwjm1O9oXpGGnjocRSWMI27dzU4f
         yMxIW2IU9QC24BUtWJ+rA9WqZWRJzQuGuw8dXofzjlY95O2F8+NlAQrtjyDvRYzQVtWj
         ntRIEpx3zyBHSU1QC+hDYE/+GhXFs6zciPJVOh+rG+7PHxeMJIYjoxwvNXAqobrgfDCm
         U+hNIczKHuBsfDHbwkaWNFEvZybRJAWl90gzJ/ZRz4jnoVIun/N4mraxE6WXIrt6vIDj
         9qPg==
X-Gm-Message-State: AOJu0Ywamkaw1/3yRblykjyrV5IGeqcGEQBS6kyZiNCx9EWmYgSMxwOQ
	1pguibL8/GOP1YGdfgc3izVg6K35vfMlJu8qsxrcerZVyVJ1tbnvkY/KxRXLCMNQ369GeeaDjFy
	mRrk=
X-Gm-Gg: Acq92OEOykCQXdYCadvzL8M5UjEhS+qg2xdNQ6BQFG6akkuDvUXC4D7DJCeaQ4Aqn9H
	4+Hz/BAzgx5st6Phktzj9SX0c0eA1Fn8Jyb5DomrnleMGqBr/FqZSPzLnW4OBLhSo3FJpGzp4hc
	RLhXyh7b7d+3l4QcC7E3FoBB8yanybRHsHd/WOAdUdK8z4D4lwVmHMaTrBllXLt2lKLegD/DGJx
	eTzE2gIdQFibIzs53i313LOdMz007ZwOmaUclmj3ITJ1pMBOoHbZutEcHXJUoMUtKljxEixKC4W
	ISXwSUBqeT+DW0buYUeEBmZb1tzuvKJrZfveO4cZmDHk/HYH6cJLjME47+fy3moM22ZOIiLBYIL
	pG7P6kbzgg6Z0JOhOW1z9ZEyUU2Q4cGJC1nOtFJa3FphKfUfDcbMBKeDHrTPyYWIwgN839eMlBG
	WIS8sSfOvju/cjXinxaDCX3GpDzhiHUu1uEWUahpBnjIVEQC7ivL38DNw3FfwbhViniwE4o1PIP
	eRYe2waOILFqID97AN4jDlnrA==
X-Received: by 2002:a05:600c:ad9:b0:490:b58b:a4a5 with SMTP id 5b1f17b1804b1-490ec50f800mr126507985e9.31.1781524840378;
        Mon, 15 Jun 2026 05:00:40 -0700 (PDT)
Message-ID: <8b7daaa3-418e-4ec7-90a6-775e0a964b76@suse.com>
Date: Mon, 15 Jun 2026 14:00:39 +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: Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH for-4.22?] domctl: correct return value of
 XEN_DOMCTL_[gs]etvcpuaffinity
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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
X-purgate-ID: tlsNG-33051d/1781524841-41794938-2858D23A/0/0
X-purgate-type: clean
X-purgate-size: 2516

cpumask_to_xenctl_bitmap() may return errors. Clearing the error indicator
of an earlier such call by a (successful) later call is misleading the
caller. For "set", keep setting soft affinity if the hard affinity copy-
back fails; only accumulate respective errors.

While fiddling with return values, also drop a redundant clearing of
"ret". This eliminates a Misra C:2012 rule 2.2 ("There shall be no dead
code") violation.

Fixes: 6e4ecc6d5884 ("sched: DOMCTL_*vcpuaffinity works with hard and soft affinity")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -1705,6 +1705,7 @@ int vcpu_affinity_domctl(struct domain *
     {
         cpumask_var_t new_affinity, old_affinity;
         cpumask_t *online = cpupool_domain_master_cpumask(v->domain);
+        int hret = 0;
 
         /*
          * We want to be able to restore hard affinity if we are trying
@@ -1726,8 +1727,6 @@ int vcpu_affinity_domctl(struct domain *
         if ( vcpuaff->flags & XEN_VCPUAFFINITY_FORCE )
             vcpu_temporary_affinity(v, NR_CPUS, VCPU_AFFINITY_OVERRIDE);
 
-        ret = 0;
-
         /*
          * We both set a new affinity and report back to the caller what
          * the scheduler will be effectively using.
@@ -1746,7 +1745,7 @@ int vcpu_affinity_domctl(struct domain *
              * cpupool's online mask and the new hard affinity.
              */
             cpumask_and(new_affinity, online, unit->cpu_hard_affinity);
-            ret = cpumask_to_xenctl_bitmap(&vcpuaff->cpumap_hard, new_affinity);
+            hret = cpumask_to_xenctl_bitmap(&vcpuaff->cpumap_hard, new_affinity);
         }
         if ( vcpuaff->flags & XEN_VCPUAFFINITY_SOFT )
         {
@@ -1777,6 +1776,8 @@ int vcpu_affinity_domctl(struct domain *
             ret = cpumask_to_xenctl_bitmap(&vcpuaff->cpumap_soft, new_affinity);
         }
 
+        ret = hret ?: ret;
+
  setvcpuaffinity_out:
         free_cpumask_var(new_affinity);
         free_cpumask_var(old_affinity);
@@ -1788,7 +1789,7 @@ int vcpu_affinity_domctl(struct domain *
                                            unit->cpu_hard_affinity);
         if ( vcpuaff->flags & XEN_VCPUAFFINITY_SOFT )
             ret = cpumask_to_xenctl_bitmap(&vcpuaff->cpumap_soft,
-                                           unit->cpu_soft_affinity);
+                                           unit->cpu_soft_affinity) ?: ret;
     }
 
     return ret;


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 12:01:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 12:01:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338188.1599197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ60O-0006ud-6v; Mon, 15 Jun 2026 12:01:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338188.1599197; Mon, 15 Jun 2026 12: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 1wZ60O-0006uW-42; Mon, 15 Jun 2026 12:01:28 +0000
Received: by outflank-mailman (input) for mailman id 1338188;
 Mon, 15 Jun 2026 12:01:26 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZ60L-0006sx-RG
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 12:01:26 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ60K-00HLjO-MC
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 14:01:24 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a2fe993-bab6-0a2a0a5309dd-0a2a450b8620-4
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 14:01:24 +0200
Received: from [103.168.172.151] (helo=fout-a8-smtp.messagingengine.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a2fe993-212f-0a2a450b0019-67a8ac97864b-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 14:01:23 +0200
Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45])
 by mailfout.phl.internal (Postfix) with ESMTP id BDF20EC012C;
 Mon, 15 Jun 2026 08:01:22 -0400 (EDT)
Received: from phl-frontend-04 ([10.202.2.163])
 by phl-compute-05.internal (MEProxy); Mon, 15 Jun 2026 08:01:22 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 15 Jun 2026 08:01:20 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=1781524882;
	 x=1781611282; bh=ejZeF8rDhkqE68Ou/lL2YpGjTHYc4eayzk4elYwJWp8=; b=
	CzeRt1K1sN5eC3n1jerE/S+o1mO/QHisot7hBJK68zDm5s1u+D1XQ3a6aUnDUP9e
	NJS8N1MkE16SD1Y5IObUDz+XDPxFcYYF7LkjKnE67mIruvPb6CA39PkXHI2RozvX
	eaUE4RtANZEpsFD+ZZXoBOycTv6M0QpatsXqVnMHWvUVqyTIHgx8fosejWsDORTk
	qwwPDHTAo25f1gRY3AlEE48I8Nhfi1yHHy+OHRpJoczuFzt1YGATWv2MlwCt+KtA
	XlbPb18IXqNsA89n/xbYF3iW9Cpl6eT7ej63/LNZ7kIH53nZLDXhvlVL+j2puvsC
	xxsRbEaH1UGMxS0AnQNTnw==
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=
	1781524882; x=1781611282; bh=ejZeF8rDhkqE68Ou/lL2YpGjTHYc4eayzk4
	elYwJWp8=; b=MW2kSM3f/+LhelJZKR7D4RVH9jXw/o6EdwTqto8uDRDrJcKAwhQ
	oOgFDdkWrOeXhp5m/PEA5G1kKsDRxGgrmXfdfDN3m4DspK1J0BgaVNxblCrXyd3V
	dEhkv26QHk3VpZrYI1P7RejloEAFnaH++ttW9RNnlmiv9BPu9E2DYb/bCn5EUlzL
	Pq41gzjfzyi5lENQttSynBp6AeCySc5XxII/VPph7dKj2Ls9siQuZJy2iyKZNMJU
	xckGGCavl7LbR2KpfRyPAiYYeglg9Z/JuJUQDfmvKbpuFmPz7IkVXZ8/f4+dWkpW
	lR9H0IlGrIjimVGm4CYQZNe/NM+t1PhLhKg==
X-ME-Sender: <xms:kukvar-MpmWi-FdZtCauyvYfICiKgrDpFN2KzBm0JdwRLohMR0iLOQ>
    <xme:kukvamyC2tpJBpsBtVSI3__fkZbZkoJaeVJ_kmDeD9rk4m9XKFUo9fKCP26Y2QDST
    s4divDNj1cisKvuFXUlvqzRYx9OoEKTEjnGR2wX2IB1gBh6>
X-ME-Received: <xmr:kukvavNNU_f9l8t9VBlxSQVGu5OlL-O8lLi0ERF70ApPvRypikBqzarzTG4E-32CLogIRbwSef1zFAXTDCywSu5LaoT8kNke4Tc>
X-ME-Proxy-Cause: dmFkZTFQ/5CqoInJNis6rOzs6Ar24bRvqg4j7TFjkUigBg+ltkXR9mfmajUldkqQAekjtS
    9u8vnIftc0fgiIdmiWOswadejd1aFM2cNmGzcYcN6+uTB6tez5KUqJWTixOvslM3Wn0lMg
    XwwH/JkIrWRc0wzqkeaUXTiBqmweH9mDwNAyq1z4ZMZvbilxr3y4EXkh9eBwDwsWnhncvw
    5IzyCS9hMihImXbCJ4tPNAQsR1w5chYby2JM2NX76UawhbIVrSbZmGlUV1sqnYrnAPu097
    FRO2QdAS3zf/PxCoULC4OUlK08RkQLbJSXWFTs+2Cl1AQV+Hpfpnq5RqoZUdAElL9GcaJz
    CrJ9RxDcYHReD7EzULU9uloZIHw7F4Q+VrfQm7Sa/pVP0wR05KPCRd6Zv/77QHkYtrCX1G
    OtWvukdaMqbO4Vob3pKjKokpX6WwotxOkyiGzT+6+fKNGtdA01+h+AChmOfJPHwdVqW8UX
    uS7DmiMPWZSdd8mZQBOHM+QzBXpjkHBGtj8LtkW9Om9X1W3TBi1+yHdPYaydky+85EOiT5
    ppQ6QIzsH9c8kaU2uwzAWr0TDZC/IoRR4h1cHE1+hE/iRNkdfisdqO9CNgSnlf1Vvv5OIy
    RNFYPNMAAvLCYmD4rhFR7EPNLyFpntiBq1+2HwkL5PGDZ7KZ9Jx5K+ZxbOcA
X-ME-Proxy: <xmx:kukvaj-gbTEu3Wp44ZSopONyCCmCBUmh78hIY-TpOSpC2adUuZyoAA>
    <xmx:kukvak5j-A0VkSnWGgzMKi8MuPf8sfyPlDQ13y6ihEXDmzC0GTLzgA>
    <xmx:kukvah5amixIyCFieDvDs6u8KyHtzEIhmFXjKmUWst1L6ZdlVE2NHA>
    <xmx:kukvalqjGkULeuvGd9SWL6nuKPHJjuTjlgLak8KNz5CI_63VEE6Kaw>
    <xmx:kukvaoVNE5iDMBitVcfn7C-QRSLiRnCTc2y5tDD_klQayrenZds5-FhU>
Feedback-ID: i1568416f:Fastmail
Date: Mon, 15 Jun 2026 14:01:18 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH 3/7] CI: Introduce new qubes-hw-runner.dockerfile
Message-ID: <ai_pjsa2mpTGJzJj@mail-itl>
References: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
 <20260612230924.3181154-4-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="7brszrSjXqGDxlsS"
Content-Disposition: inline
In-Reply-To: <20260612230924.3181154-4-andrew.cooper3@citrix.com>
X-purgate-ID: tlsNG-42698a/1781524884-1B979F3B-95A5777C/10/63158204843
X-purgate-type: spam
X-purgate-size: 4102


--7brszrSjXqGDxlsS
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 15 Jun 2026 14:01:18 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH 3/7] CI: Introduce new qubes-hw-runner.dockerfile

On Sat, Jun 13, 2026 at 12:09:20AM +0100, Andrew Cooper wrote:
> This container is tied to gitlab-runner environment in the RPis driving t=
he
> test systems, not a specific version of Alpine.  Intentionally give it a
> generic name so it need not change in the future.
>=20
> Switch to Alpine 3.24 right away, as it doesn't interact with the 3.18 bu=
ilds
> under test.
>=20
> The container needs to remain a root container.  By no longer using the
> arm64v8 build container for dual-purpose, we can finally make the build
> containers be non-root.
>=20
> No practical change.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

> ---
> CC: Anthony PERARD <anthony.perard@vates.tech>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Michal Orzel <michal.orzel@amd.com>
> CC: Doug Goldstein <cardoe@cardoe.com>
> CC: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> CC: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>=20
> Posted previously, part of the prior CI series.
> ---
>  .../build/alpine/qubes-hw-runner.dockerfile   | 21 +++++++++++++++++++
>  automation/gitlab-ci/test.yaml                |  2 +-
>  2 files changed, 22 insertions(+), 1 deletion(-)
>  create mode 100644 automation/build/alpine/qubes-hw-runner.dockerfile
>=20
> diff --git a/automation/build/alpine/qubes-hw-runner.dockerfile b/automat=
ion/build/alpine/qubes-hw-runner.dockerfile
> new file mode 100644
> index 000000000000..8b111648721d
> --- /dev/null
> +++ b/automation/build/alpine/qubes-hw-runner.dockerfile
> @@ -0,0 +1,21 @@
> +# syntax=3Ddocker/dockerfile:1
> +FROM --platform=3Dlinux/arm64/v8 alpine:3.24
> +LABEL maintainer.name=3D"The Xen Project"
> +LABEL maintainer.email=3D"xen-devel@lists.xenproject.org"
> +
> +RUN apk --no-cache add bash
> +
> +RUN <<EOF
> +#!/bin/bash
> +    set -eu
> +
> +    DEPS=3D(
> +          expect
> +          openssh-client
> +    )
> +
> +    apk add --no-cache "${DEPS[@]}"
> +EOF
> +
> +USER root
> +WORKDIR /build
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.y=
aml
> index 89760b24e63a..70bb4bbb3b45 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -145,7 +145,7 @@
>    extends: .test-jobs-common
>    variables:
>      # the test controller runs on RPi4
> -    CONTAINER: alpine:3.18-arm64v8
> +    CONTAINER: alpine:qubes-hw-runner
>      LOGFILE: smoke-test.log
>      PCIDEV: "03:00.0"
>      PCIDEV_INTR: "MSI-X"
> --=20
> 2.39.5
>=20

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

--7brszrSjXqGDxlsS
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmov6Y4ACgkQ24/THMrX
1yx60gf9F+gphaQ0/cdIAqVkq70uDpw/75tjO6iq4X6WOajHkeyA5DerzeZkmPH/
tpeHIxjWDwXgHHRAcuftGbfCc6w/eB1NEVK/qCJfrSri1oUMtOunNYfcvE7WgszP
yS8BucZqQUg3AlodAoVqeD/9d/VWfTQNbpJNWEgWUd3EKwJ4dvU4UWzY8yp/2x0/
omP9LthrLuHSaIa9dT+f9cfN2qxXM6FwAXujueB0BP4pyzK/G84HIDQMK9y029N2
Yifw4cJoO7U+sjh5JldeqZih2B3YfhSEHS2Pa3REOGS4pdzZGlEs8cPCjZl+LFSD
dIoUi4tMF6Uq7LU8AkVsmn6sqAy4Ug==
=AlBn
-----END PGP SIGNATURE-----

--7brszrSjXqGDxlsS--


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 12:12:00 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 12:12:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338201.1599206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ6AK-0000KI-4P; Mon, 15 Jun 2026 12:11:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338201.1599206; Mon, 15 Jun 2026 12:11: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 1wZ6AK-0000KB-10; Mon, 15 Jun 2026 12:11:44 +0000
Received: by outflank-mailman (input) for mailman id 1338201;
 Mon, 15 Jun 2026 12:11:43 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wZ6AJ-0000K4-G0
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 12:11:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ6AI-001mzL-BO
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 14:11:42 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2febfc-e002-0a2a0a5209dd-0a2a4507ba94-8
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 14:11:42 +0200
Received: from [74.125.224.51] (helo=mail-yx1-f51.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a2febfd-229c-0a2a45070019-4a7de033b5c2-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 14:11:42 +0200
Received: by mail-yx1-f51.google.com with SMTP id
 956f58d0204a3-66062a414fcso3356307d50.1
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 05:11:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1781525501; cv=none;
        d=google.com; s=arc-20240605;
        b=Me7N2hHBOadUtlS8NggcLOr3C+oQ5yrknG/6I2AqmTHFB/QXHYwn1bC0wlpLyKy+hW
         CmyJfKMIA0fowzeY9sXJ3kjOzGNNx3dF+BgEOEKwLJ1HppXElj8PZ83jVG9yR2tJKKG1
         95MTS0gZEtAFAcUkSaVmFAxe2KzbeqpwIureOyTZvjL6z8nCpmF2huKBaOmy4/t+6yfI
         roi3jnrSCsbfz4HhQ+nkohdiX0eyTU9dhrTLKntVcIVvsfccIWEbP8TYB8zxTietfkj9
         Yxk2Q9+cosWIIi3T/lMazDA7qGN1kKtbYhWt4VgoWz3IGVriZLjKk6MRbA4vaXrjrWZe
         I92w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature;
        bh=xJJ0TrZXxPaJpEr8KjLgXJgN11F7eEH2pTkQ47gPnMc=;
        fh=Q/zlzJTkmObwTVH018yy4y7EXpeeA/pAuMFrRuOAqsU=;
        b=cmqJKSvSe5VMq2UO7mwfSdpn8KiKUO0UmkX3i144eIrCDUdJa19vKB8yqVdhyHrBmr
         l/ysmHTimQrSCPLTybAsxk4P5KDxAKB9+Ux92sGnRyMN/BQhNvP39UlXci3ogIOUnQNr
         3NiBU8ovLxSZ4WSw76Rn02/RZVWNdLOZeR9RvPlE3cgqETBUQjMzhHvAtW/EzAGUwUVD
         bJd/darYOoKAWSS0VPAkWLxCGs0G407dJ1cdqDn85ns/tUpPOVyggP8y6uuvlm0+6PLw
         8lWNP2R+F2G+XHvFFuu22GSBci+m7c5qLDJ8U9WyVL750A6zkJ1gf1sJOh5BfjQrN5j7
         q+IQ==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781525501; x=1782130301; 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=xJJ0TrZXxPaJpEr8KjLgXJgN11F7eEH2pTkQ47gPnMc=;
        b=g8YbbQLSBZxZ/Lu+r3+XV2aiivMgkXqAiOWD1cBgTbmpAjvZsg1DdMMgw8MwNnmAuc
         vXpbI0JZX6l7I7tUem9qP/wRsckOe7OlHS0q7EGytK60gC6t8KJEbD5IbU8SVZGZzjpE
         qM3I4L9QZjWCFMdM6+gP+NUTyv45oE0nxQjphAPjMyzO0PiVKtpMaKr6rssTO4fC99vo
         OOdMLqwS+D6S7EN7Agb3C0KxwSwzppBtGQkv2385UN2aGkCulJrNR/Hi/mYpJdvN+tgM
         E6BWjnd3Wm7JbaztkD6TKlLp6dMwtei+g8EMlueUJC7cvyqexiPKtlAPGtvXMVjA5JHq
         BjSQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781525501; x=1782130301;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xJJ0TrZXxPaJpEr8KjLgXJgN11F7eEH2pTkQ47gPnMc=;
        b=aMoimqRC5HfieIB3PgRVeBJJVlAQ1ny0pOdZtsnU93r03PXgRJ2Rm1sWUd7bJKRrXE
         Q5HWnsOzzPeyZF2xQglrbeTaiJpb5Cfw+FB228bQlmtYkTsk3e8hfueK4CNK4fd7hbKR
         Fl24OGm4PMj+jAuPMJ76/z+8K3KpfE95nljv7e2eZqkpan4ZabK71nwmILWlzYIImfHy
         2eOcTk52EXzpPMl2yXhvQSTO5xvt6WuUEBBxjOcpz2R3nrydvQJprGmzK8402P71vXpQ
         r1nSin0RLtWcf5tsvHzpP3Y33dXU4NLxrXTrK/47MRnx5H+OvgWVSfrg8oAM6SU3+O7V
         AH7g==
X-Forwarded-Encrypted: i=1; AFNElJ8UTF1wFbJt+PW/JXTsA/sszFNOkq3UPOlOY8x/LGrY1xVtnboMJz+5UiymgU62ckkSYoP33Hi0jyE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyZr2kxqVaO/J61ZSN0QxSZZINJmUFp94WXkYcI+Kf7OphfdxA2
	+YkNeRHxbvqTGzZq+TMFuSFKmD9PYiAUQsPZVtMlF4gSJRR5dsgKhu7fvS8URiANLPi8Fhv84IM
	eT1qmPBTHCPLheiESlQKIZmKNZL2jIm4=
X-Gm-Gg: Acq92OFg49kZf+KIZl0sq/Agvm6Fwbg8fvULecUjPRocU7uk1sKarCd3WHt3WHyvqRo
	Q65nbfA1D9tJcFP8awrA09I1Sp6fNR19ExnUiewW3+sTz4wNFkQRS2XV2ueJ3MR2b+/wGhv/4ZT
	F6zXuNzZdh0CJ/zpkPwri5xd/Ap1bUemDfCtoUlvEsMp1p3jPAnpi8zf7ntGLU47ZIFN1ywlYjK
	iF5DnEwbVTEqXhP9vYkAkRrWBx3SRNWWIPMyyW5RxZo3Wa7WQPrbxUMDcTVX/PCFN3qXbOQf43N
	0ya3fbJrqFaqN57KpUd/YvE/S+pSE7vUskiK/6Y+Owfq+CbJ
X-Received: by 2002:a05:690e:d09:b0:661:75a5:3b5 with SMTP id
 956f58d0204a3-66277f19a0emr11922826d50.4.1781525500413; Mon, 15 Jun 2026
 05:11:40 -0700 (PDT)
MIME-Version: 1.0
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
 <20260613214749.20620-13-frediano.ziglio@cloud.com> <8289ea1d-ceca-40b6-a992-a778be053cd0@suse.com>
In-Reply-To: <8289ea1d-ceca-40b6-a992-a778be053cd0@suse.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Mon, 15 Jun 2026 13:11:29 +0100
X-Gm-Features: AVVi8CcyBeIAZUuOOLlkUVyaaBm9VyuTLbAJHkRjG7xfFU1wFMt1gkyNWjfnIQ8
Message-ID: <CAHt6W4en1yMLrUXv+RbcoPr-=S_=pi2Rrcm2BC2PzMZT+0ksFw@mail.gmail.com>
Subject: Re: [PATCH v5 12/16] xen: implement new foreign copy hypercall
To: Jan Beulich <jbeulich@suse.com>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, Anthony PERARD <anthony.perard@vates.tech>, 
	Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org, 
	Daniel Smith <dpsmith@apertussolutions.com>
Content-Type: text/plain; charset="UTF-8"
X-purgate-ID: tlsNG-ef75cf/1781525502-2176AC48-C600A2EF/0/0
X-purgate-type: clean
X-purgate-size: 11153

On Mon, 15 Jun 2026 at 08:41, Jan Beulich <jbeulich@suse.com> wrote:
>
> On 13.06.2026 23:47, Frediano Ziglio wrote:
> > --- a/xen/common/memory.c
> > +++ b/xen/common/memory.c
> > @@ -1545,6 +1545,133 @@ static int acquire_resource(
> >      return rc;
> >  }
> >
> > +/*
> > + * The "noinline" qualifier avoids the compiler to create a large function
> > + * consuming quite a lot of stack.
> > + */
> > +static int noinline mem_foreigncopy(
> > +    XEN_GUEST_HANDLE_PARAM(xen_foreigncopy_t) arg)
> > +{
> > +    struct domain *d, *const currd = current->domain;
> > +    xen_foreigncopy_t copy;
> > +    int rc, direction;
> > +
> > +    if ( copy_from_guest(&copy, arg, 1) )
> > +        return -EFAULT;
> > +
> > +    if ( copy.flags & ~1U )
> > +        return -EINVAL;
> > +
> > +    direction = copy.flags & XENMEM_foreigncopy_direction;
> > +
> > +    if ( copy.nr_frames == 0 )
> > +        return 0;
> > +
> > +    rc = rcu_lock_remote_domain_by_id(copy.domid, &d);
> > +    if ( rc )
> > +        return rc;
>
> Extending my v4 remark: How about a "fully foreign" copy? I.e. one between two
> pages in two foreign domains? Getting me back also to the un-answered v4
> question of mine as to MMUEXT_COPY_PAGE.
>

I really thought I replied to this but I cannot find it.
MMUEXT_COPY_PAGE was the first attempt to do this but mmuext is
designed for PV and extending was made the code confusing.

> Further, as to the order of checks: I'm not going to insist on re-ordering, yet
> I'd like to point out that copying 0 pages to/from a bad domid might better
> yield an error.
>

Not strong about this, changed to return -EINVAL. Reordering after
this change won't make much sense, -EINVAL is returned both for wrong
flags or no frames.

> > +    /*
> > +     * Check we are allowed to map and access these foreign pages.
> > +     */
> > +    rc = xsm_map_gmfn_foreign(XSM_TARGET, currd, d);
> > +    if ( rc )
> > +        goto out;
>
> As per
>
> K:      xsm_.*
> K:      \b(xsm|XSM)\b
>
> in ./MAINTAINERS please Cc the XSM/Flask maintainer for such changes. I for one
> question the re-use of an existing predicate here.
>

Added for the next series.

> > +    do {
> > +        /*
> > +         * Arbitrary size.  Not too much stack space, and a reasonable stride
> > +         * for continuation checks.
> > +         */
> > +        xen_pfn_t gfn_list[32];
> > +        unsigned int todo = MIN(ARRAY_SIZE(gfn_list), copy.nr_frames);
> > +
> > +        rc = -EFAULT;
> > +        if ( copy_from_guest(gfn_list, copy.frame_list, todo) )
> > +            goto out;
> > +
> > +        for ( unsigned i = 0; i < todo; i++ )
>
> Nit: "unsigned int" please (like you have it above).
>

Changed. Note that "long" is also not a type but a modifier. Would it
be good to change both the above to "unsigned" instead for consistency
with "long" ?

> > +        {
> > +            struct page_info *foreign_page;
> > +            void *foreign;
> > +            p2m_type_t p2mt;
> > +            const unsigned long valid_mask =
> > +#ifdef CONFIG_X86
> > +                p2m_to_mask(p2m_ram_rw) | p2m_to_mask(p2m_ram_logdirty);
> > +#else
> > +                p2m_to_mask(p2m_ram_rw);
> > +#endif
>
> What about, for example, p2m_ram_ro? Or p2m_ram_shared? Or p2m_grant_map_*?
> Etc. Any artificial constraining wants justifying in the description and/or
> mentioning in the public header.
>

The base of this was taken from migration code where there is such a check.
I suppose that adding p2m_ram_ro (where available) won't hurt.
p2m_ram_shared I'm not sure but seems fine too.
For p2m_grant_map_* it feels a bit a security issue to me. It would
allow a guest to give access to pages of other domains. It's true that
the current domain would have to have write access to this domain
anyway but extend these permissions sounds something it should not be
able to do.

> > +            foreign_page = get_page_from_gfn(d, gfn_list[i], &p2mt, P2M_ALLOC);
> > +
> > +            if ( unlikely(p2m_to_mask(p2mt) & valid_mask) && foreign_page )
>
> Was this meant to be
>
>             if ( unlikely(!(p2m_to_mask(p2mt) & valid_mask)) && foreign_page )
>
> ?
>

Yes, fixed.

> > +            {
> > +                put_page(foreign_page);
> > +                foreign_page = NULL;
> > +            }
> > +            if ( unlikely(!foreign_page) )
> > +            {
> > +                gdprintk(XENLOG_WARNING,
> > +                         "Error accessing foreign gfn %" PRI_gfn "\n",
> > +                         gfn_list[i]);
> > +                rc = -EINVAL;
> > +                copy.nr_frames -= i;
> > +                guest_handle_add_offset(copy.frame_list, i);
> > +                goto out;
> > +            }
> > +
> > +            /* A page is dirtied when it's being copied to. */
> > +            if ( direction == XENMEM_foreigncopy_to )
> > +                paging_mark_dirty(d, page_to_mfn(foreign_page));
> > +
> > +            foreign = map_domain_page(page_to_mfn(foreign_page));
>
> Latch page_to_mfn(foreign_page) into a local variable to avoid the redundant
> translation (which the compiler may not be able to fold)?
>

Sure.

> > +            if ( direction == XENMEM_foreigncopy_from )
> > +                rc = copy_to_guest(copy.buffer, foreign, PAGE_SIZE);
> > +            else
> > +                rc = copy_from_guest(foreign, copy.buffer, PAGE_SIZE);
> > +            unmap_domain_page(foreign);
> > +            put_page(foreign_page);
> > +
> > +            if ( unlikely(rc) )
> > +            {
> > +                gdprintk(XENLOG_WARNING,
> > +                         "Error %d copying gfn %" PRI_gfn "\n",
> > +                         -rc, gfn_list[i]);
> > +                copy.nr_frames -= i;
> > +                guest_handle_add_offset(copy.frame_list, i);
> > +                goto out;
> > +            }
> > +
> > +            guest_handle_add_offset(copy.buffer, PAGE_SIZE);
> > +        }
> > +
> > +        copy.nr_frames -= todo;
> > +        guest_handle_add_offset(copy.frame_list, todo);
> > +
> > +        if ( copy.nr_frames && hypercall_preempt_check() )
> > +        {
> > +            rc = hypercall_create_continuation(
> > +                __HYPERVISOR_memory_op, "lh", XENMEM_foreigncopy, arg);
> > +            goto out;
> > +        }
> > +    } while ( copy.nr_frames );
> > +
> > +    rc = 0;
> > +
> > + out:
> > +    rcu_unlock_domain(d);
> > +
> > +    /*
> > +     * Update in all cases, it allows the caller to know how many
> > +     * frames were successfully copied and the continuation to
> > +     * continue correctly.
> > +     */
> > +    if ( __copy_to_guest(arg, &copy, 1) )
> > +        rc = -EFAULT;
>
> It's not quite clear whether replacing an earlier non-zero value held in
> rc is a good thing here. The only time when it's strictly necessary is
> when you schedule a continuation. I'd suggest to add "&& rc >= 0".
>

Added. Looking at the possible client usage it could think that the
error happened copying the first page but otherwise the copy should
not fail as the opposite direction was fine.

> > @@ -2012,6 +2139,13 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
> >              start_extent);
> >          break;
> >
> > +    case XENMEM_foreigncopy:
> > +        if ( unlikely(start_extent) )
> > +            return -EINVAL;
>
> Please address review comments (verbally or by code changes) before submitting
> a new version. Here I had asked "Why make this different from other continuable
> sub-ops?"
>

There's already a comment in the same file for similar reason

    /*
     * Limiting nr_frames at (UINT_MAX >> MEMOP_EXTENT_SHIFT) isn't ideal.  If
     * it ever becomes a practical problem, we can switch to mutating
     * xmar.{frame,nr_frames,frame_list} in guest memory.
     */

so to avoid the doubt and possible future change I mutate the structure.
Also I use the mutation to give more information to the caller, using
"start_entent" won't allow this.

> > --- a/xen/include/public/memory.h
> > +++ b/xen/include/public/memory.h
> > @@ -740,7 +740,45 @@ struct xen_vnuma_topology_info {
> >  typedef struct xen_vnuma_topology_info xen_vnuma_topology_info_t;
> >  DEFINE_XEN_GUEST_HANDLE(xen_vnuma_topology_info_t);
> >
> > -/* Next available subop number is 29 */
> > +/*
> > + * Copy memory from/to a given domain.
> > + */
> > +#define XENMEM_foreigncopy 29
> > +struct xen_foreigncopy {
> > +    /* IN - The domain whose resource is to be copied. */
>
> There's still "resource" here, when this really is about RAM (memory) only,
> not any other kind of resource.
>
> > +    domid_t domid;
> > +
> > +    /* IN - Flags. */
> > +#define XENMEM_foreigncopy_from 0
> > +#define XENMEM_foreigncopy_to 1
> > +#define XENMEM_foreigncopy_direction 1
> > +    uint16_t flags;
> > +
> > +    /*
> > +     * IN
> > +     *
> > +     * As an IN parameter number of frames of the domain to be copied.
> > +     */
> > +    uint32_t nr_frames;
>
> This isn't just an input, as you update the field (and the handles below).
> This property of fields wants reflecting here, so callers know that they (a)
> can't re-use the struct on a subsequent call without re-initializing the
> fields which may have changed, and (b) can't put the struct in r/o memory.
>

Update comments:

/*
 * Copy memory from/to a given domain.
 */
#define XENMEM_foreigncopy 29
struct xen_foreigncopy {
    /* IN - The domain whose memory is to be copied. */
    domid_t domid;

    /* IN - Flags. */
#define XENMEM_foreigncopy_from 0
#define XENMEM_foreigncopy_to 1
#define XENMEM_foreigncopy_direction 1
    uint16_t flags;

    /*
     * IN/OUT
     *
     * As an IN parameter number of frames of the domain to be copied.
     * On output on error updated number of frames left.
     */
    uint32_t nr_frames;

    /*
     * IN/OUT
     *
     * Frames to be copied.
     * On output on error updated to point to first frame unhandled.
     */
    XEN_GUEST_HANDLE(xen_pfn_t) frame_list;

    /*
     * IN/OUT
     *
     * Userspace buffer to read/write from.
     */
    XEN_GUEST_HANDLE(uint8) buffer;
};
typedef struct xen_foreigncopy xen_foreigncopy_t;
DEFINE_XEN_GUEST_HANDLE(xen_foreigncopy_t);

> > +    /*
> > +     * IN
> > +     *
> > +     * Frames to be copied.
> > +     */
> > +    XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
> > +
> > +    /*
> > +     * IN/OUT
> > +     *
> > +     * Userspace buffer to read/write from.
> > +     */
> > +    XEN_GUEST_HANDLE(uint8) buffer;
>
> With these two handles, there continues to be a need to (explicitly) deal
> with the compat case as well.
>

I don't agree with this. Domains having access to other domains are
limited (like stub domains for Qemu) and won't be 32 bits today so why
allow 32 bits guests if not ever used?

> Jan

Frediano


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 13:27:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 13:27:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338224.1599218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ7L0-0000pr-5X; Mon, 15 Jun 2026 13:26:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338224.1599218; Mon, 15 Jun 2026 13:26: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 1wZ7L0-0000pk-2u; Mon, 15 Jun 2026 13:26:50 +0000
Received: by outflank-mailman (input) for mailman id 1338224;
 Mon, 15 Jun 2026 13:26:49 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ecb7675d9000701b@swg.vates.tech>)
 id 1wZ7Kz-0000pe-3S
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 13:26:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ7Kx-006Kmh-NZ
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 15:26:47 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ecb7675d9000701b@swg.vates.tech>)
 id 6a2ffd92-e002-0a2a0a5209dd-0a2a4505802c-14
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 15:26:47 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ecb7675d9000701b@swg.vates.tech>)
 id 6a2ffd96-aaa8-0a2a45050019-b9ff1c129633-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 15:26:47 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ecb7675d9000701b.008 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 15 Jun 2026 13:26:38 +0000
Received: from l14 (lfbn-lyo-1-414-55.w2-7.abo.wanadoo.fr [2.7.24.55])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id ABBD386688;
 Mon, 15 Jun 2026 15:26:37 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=SIAdfxsfqZQGs6Nv8qfuG2pfAXDrWbeBkwBqcPrOTME=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=G4itn6QfqsqNAIymIeK2pTjZggMsRLrBsxRr+16b8nreRdg7dshcW0YIrdNIV9DDxxTPrll6L
 vaqXQEofpQPvXcYm0DIzhAgxsb0OZOpfMURb4QlnmNI+bALScpCln05zbi+1idR8GMqfFrlUIiu
 TlzGkNzVcyF+W//0j3tnsceW/feJAoHRci4NjaGnA97khjY3dmwOXxM9gKVODUL+FL53wdHwk/W
 P2IzLphdpoUWE5CRqj7z4xf/bkLHC6QpfsrdHp0soe8oSxn2DALamTSU5pwAA25GdKJiM+eMOCt
 yZ3r+SJ2AxVvrkzhZMUjhFm7RcO6PcHJMERGlznIOApw==
X-Zone-Loop: 1b44276f2e636ac638421be988aef5cb5df27a37272c
x-campaign-type: default
x-transaction-id: db4a48e3-d36b-4c6d-beda-9faf9557a89e
x-swg-uid: 01-88f72b76-69eb-44c6-a2db-2f6e1b7019ea
X-Mailer: Sweego
Message-ID:
 <1781529998.8631fc262581453bbf619ec5b2062170.19ecb7675d9000701b@vates.tech>
x-swg-bid: 1781529998.8631fc262581453bbf619ec5b2062170.19ecb7675d9000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Mon, 15 Jun 2026 15:26:37 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH 2/7] Config.mk: Update QEMU to include pip-25.2 bugfix
References: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
 <20260612230924.3181154-3-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20260612230924.3181154-3-andrew.cooper3@citrix.com>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.26f.ba5153379b0955c1.19ecb767223.7aff87b6aefde79a=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781529997860
X-purgate-ID: tlsNG-c201ff/1781530007-E0063443-1F9ACE19/0/0
X-purgate-type: clean
X-purgate-size: 1390

---=Part.26f.ba5153379b0955c1.19ecb767223.7aff87b6aefde79a=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Sat, Jun 13, 2026 at 12:09:19AM +0100, Andrew Cooper wrote:
> Specifically:
>=20
>   commit 6ad034e71232c2929ed546304c9d249312bb632f
>   Author: Sv=2E Lockal <lockalsash@gmail=2Ecom>
>   Date:   Mon Aug 11 20:01:59 2025
>=20
>       mkvenv: Support pip 25=2E2
>=20
>       Fix compilation with pip-25=2E2 due to missing distlib=2Eversion
>=20
>       Bug: https://gitlab=2Ecom/qemu-project/qemu/-/issues/3062
>=20
> which cherrypicks cleanly onto qemu-xen=2Egit master
>=20
> Signed-off-by: Andrew Cooper <andrew=2Ecooper3@citrix=2Ecom>
> ---
>=20
> This needs putting into main qemu-xen=2Egit first, and then the override=
 of
> QEMU_UPSTREAM_URL dropping=2E

Done, you can use 0edeb44c093bea39f0fe4d936ee363b99113ffe1 as
QEMU_UPSTREAM_REVISION=2E

The only difference with you qemu-xen tree is that I've used
`cherry-pick -x` to have the commid id of the original commit=2E

With QEMU_UPSTREAM_URL change drop, and QEMU_UPSTREAM_REVISION
updated: Acked-by: Anthony PERARD <anthony=2Eperard@vates=2Etech>

Cheers,


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vate=
s solutions

web: https://vates=2Etech
---=Part.26f.ba5153379b0955c1.19ecb767223.7aff87b6aefde79a=---


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 13:33:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 13:33:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338233.1599233 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ7RA-0002SC-TE; Mon, 15 Jun 2026 13:33:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338233.1599233; Mon, 15 Jun 2026 13: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 1wZ7RA-0002S5-PV; Mon, 15 Jun 2026 13:33:12 +0000
Received: by outflank-mailman (input) for mailman id 1338233;
 Mon, 15 Jun 2026 13:33:11 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wZ7R9-0002Rp-77
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 13:33:11 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ7R8-00066G-Hz
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 15:33:10 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2fff0f-5cb7-0a2a0a5109dd-0a2a4502b8a6-38
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 15:33:10 +0200
Received: from [40.107.209.46]
 (helo=PH8PR06CU001.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a2fff14-af86-0a2a45020019-286bd12e1819-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 15:33:09 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by PH0PR03MB6445.namprd03.prod.outlook.com (2603:10b6:510:b8::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Mon, 15 Jun
 2026 13:33:06 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0113.015; Mon, 15 Jun 2026
 13:33:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Yqf4FZxtpRvZO46Nle1h434sAn9mxWeDaHorHhoQJ/mn18prFirhiAd5hzPAQMq8biUFZMWttofO6W8tX8ovcCJY6UEO6cN1iF/uQSNPUkip4kMl3U0VX7fwfsHuablne+tee5lTVyPaexrskNaWbVy9KEckG8juC4udhW24voFDt4shPuiVoBwtfTSMmzgJVv6bnL4m2miEY8uRulIfAxdEoYEYuoKSYdw5vVdMfekhe8zjRpYTMN1oZYHpwq6vyDKLnQYk94jpHFhbHRX+mLUOxOJIVuRkU007LIe7Rm1bpCzszqlYWANuaIqo0E/G2vMYEd80cd38mkNRirBevA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0etnpRLG2gDKiRRytEWsD6hp3CKMLTn8Jq3WuX2LqAs=;
 b=JCCvuSPciIXD+DwI4RWWX7hRBLCOEkIkuUASOCLzzNZLaovHopFLcf/ulmaaIMpSExBcb4BvJR8fmyq5wvXuVrx0FWofgZe4hOCaNgEH5C4ey35x6rO5f9z1ThGNaupzziOSWk2uO2tG6HMNPbrds6WSX7hvx3z6SR20YIlC3qoHeUjYFxD0pqpNNgSwyZkdYEpBPL+YUhn55EP9QeHSA7OnDXIGdJfCZBRara25/dkeE3SegL401ylSO5Wy4EbaOi+gwNtvZY3/0vjwFUWfvTC/MIu1Q2aUV9vo6t3xnH2rVZrXOe9NYiyC075DDtZcpV5wmcClKS5Ji+Wkt++UyQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0etnpRLG2gDKiRRytEWsD6hp3CKMLTn8Jq3WuX2LqAs=;
 b=coyytbQyctFZTp+huw0T+t2+dDFRJbwUymTcW9HOqhE3xtBAmFZMiERt3XmDSEjofnSdlIxWSqs3ZtMJSKD4ziNB/ONy1hyINvOsUT7WPsqWqWS6NtgDVuSMgwTfkdlbsbLxFy/jeuNzRjVbcteT2e3llpmLrUZw5+Dcc4Y8INE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <e8bf355d-319d-481e-b27e-fc3561938df9@citrix.com>
Date: Mon, 15 Jun 2026 14:33:02 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH 2/7] Config.mk: Update QEMU to include pip-25.2 bugfix
To: Anthony PERARD <anthony.perard@vates.tech>
References: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
 <20260612230924.3181154-3-andrew.cooper3@citrix.com>
 <1781529998.8631fc262581453bbf619ec5b2062170.19ecb7675d9000701b@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: <1781529998.8631fc262581453bbf619ec5b2062170.19ecb7675d9000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0199.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a5::6) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|PH0PR03MB6445:EE_
X-MS-Office365-Filtering-Correlation-Id: 2b888f3e-f63f-4d28-649c-08decae2a1dd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|23010399003|376014|18002099003|22082099003|56012099006|4143699003|3023799007|11063799006;
X-Microsoft-Antispam-Message-Info:
	1agi1aMcguXE1JEqE1+83bjQJf4PRaIuckGJOIdEL+HRyJjcQgH+GEj27Fx4vRzoUUdABZ5kr5uPYBbaFStAClV3m3hDgeGpE40SgjS2CI3/XWyAEG5ZAU9To5/RWj5LxW0Z3TEYnd39rt1tBwWUZkpSJ8g5y5URZOD0LzBVdy3+bVBn/ircZw1Xfjdr+PUK/YaGoFrad4ezoN+d3CfqM9foXqltInh+UtbbFkKUI9sx1gWHDiBPfQHDVUBQquc0fyezCGx0qbyXcQXFObwjeQQfT4iNYNbtlUtuELzcX5uxRJs9H/w08KIizSZEBEBoPcB+4VLeNf9VND1k8C76dADhhFfwfS5OlqyI2dAqlXf8HGrSLAAJQmUstLO9Md4CZ6LXinY+Bu2DPYKVwgubaxpqNVlHRAJRvdzW4gSjGsezsr1S50qyg2ZB8RZJSMNDe3H6k/G0Frie7i/THrVesjmcvXO/HoVB9DsIuRRQqABh08NG6RrvokCzx4xucfUQKjudfhi4oyUqoXuAY0SlxP8WTkQXPWaxJJ6fRMC9Vfq2E//7Qe8EGcGx6PqKjgeu4DL497FgiPnF9AniYnlk8TIuiMlE2kKsj93Orrh+DX699jnt6FeAxsH7Q6LwOyIHhJ6y/HUH1BTFiipg27SnN8+ImRYKqh4exx154YXdH+NsbR5KGcOSfLsHapnoX00v
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(23010399003)(376014)(18002099003)(22082099003)(56012099006)(4143699003)(3023799007)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eDhKcU90cUlCWXdXWFdqdlpGdm51RG1UZjN5SEN4cTNuSXpDRFhud29GTkFP?=
 =?utf-8?B?NVcxSVpjSlF1eWRpTlo2bVhVSjRpZThuMUpYVE5jeUlqeWxyRXBrWlRScm0v?=
 =?utf-8?B?RGptYXZUN0R1ZXFjN3ZaOG52Nm8xaUJXMHAvWENpeTduWkRUMjRMUlFEVHR4?=
 =?utf-8?B?R2ZkY2IrbEJxcHEyaE9CZmpyMS9SK0JXcUxKV0ZmWG5jdzNKY1hCMm5ucndP?=
 =?utf-8?B?MDJTOU1TN1ArRW5aZWRpSmJ5d1dHRnFDYXBKZi82TElKZ2N1Tmw1TXd2Q1VY?=
 =?utf-8?B?OTIrQTF4Y0FwT3ljWHhRU0xTMy9KRjZFWTlpN3Bad1VkeGRFMmNxTmhjS0RB?=
 =?utf-8?B?dHFSVjFkVk84UTNYZGZxQjlwSWlLdGl1cXFHSXNLWWdNUXFsaGQvM2E3MWNk?=
 =?utf-8?B?WlkvazNGckFna04vbml0YUZHRTlrU0dwMS84bmZuRklRcS8yVDdKV2FRcDhr?=
 =?utf-8?B?NzkzVXBlSnF0OWY5RytXNXpMZDluS1dTYlBTSGlaUUdlY2l5eDBUM0NtZC93?=
 =?utf-8?B?Mm1ZZU40N0tzOThUQ2lLUWFDTktuQWVoVlZ0OFVYcC9uMXZiQkhoR0J3ZDBH?=
 =?utf-8?B?b3E3NlZBc1RSaEZ5ZmtyeXlQOEVUYkJhMXJSTGVqbXR3ZThIMS93NHhrVmtD?=
 =?utf-8?B?QUhWdUwrckt3dXRHRFBtRDRyT1VaRlh1ZzFtUlN1K1FPcHFrcHh4R3ZxYnVC?=
 =?utf-8?B?MFhxYzR3cnh3bUJvdE4xZExPV1pFM2lSSFgrQmN6aHVlRzV3eUxSYXRjK1JM?=
 =?utf-8?B?L1NIMEIzM0p2NFBJNCtpcWM3bUxLTEFIcnh4NC95MHpRd3dBK0NKLzRnZHhU?=
 =?utf-8?B?dkw4ZFZ3enk4MXVWdjhXakJPdUh5aVNTY0h1UzVKVnRzK0kzcTl5eUJycE1Z?=
 =?utf-8?B?cnlwNDRTeEE0djh3ZkZuYXR2NkIrd2k0MXY1bmlHV2JzbG5iUFkzVDNVUFlj?=
 =?utf-8?B?SjJWZHdBcDYwNnFoN3Q0MlFKdHl2ZnpoZEQ0ZHA5SzU4WVBWMTlhZWd2R0N6?=
 =?utf-8?B?OUo4TGFnbDl1WE0yN2NETUJNZERoemE1d3RVWXhWZytSeGJWdkNyWk12bEUw?=
 =?utf-8?B?aVh6NTRlWW4rb21LNDJoV25naVVnV2hTZk1lUFNSVXZMMjRaVTNrTTdkejBF?=
 =?utf-8?B?aGVtQjkyRVViL0wyUTE2SjJ5UVE0KytHckhKRU50UCt1VjNQUlZEV3VRMEhB?=
 =?utf-8?B?N2o3ZkFqSVMvY1Rqck1UenJrTEphZVQ5NEVFZ0kyTHJibCtMQkNxME13dTBz?=
 =?utf-8?B?OWhubHZNTXpYVWxBT2o4bk9sYkl2RUt6eUxqaFdZajB4UitmWEFBVUJjTitz?=
 =?utf-8?B?QzVFbE1KczlVd2FEVytFTkxyd3Zld0FocmtNTmRKRzNpU3R3YzdhWExZOWdk?=
 =?utf-8?B?Z1gwdkNjRVJLLzQ4NkQ1aUxnRENwZFFQbmdRYitabEtqcUkxNnBHV3JvN1Bx?=
 =?utf-8?B?bWI4OTY3TE5XT0E1WlVMTjNrYmJLTFlHVTJvTmI3ODFEL2NhdWlyWHljWVBS?=
 =?utf-8?B?MlpuMnlKN09UVEpoMUl2Y0JkK0lkYzZIZzBNbXZNbXAwVGtVMzhXTzNLVEJH?=
 =?utf-8?B?aFVXMEtOT3BROXBxcHQ3enR5QmJDeXFhQUc4VkpGR1Y1TmdKdXZySDNPL3d1?=
 =?utf-8?B?ZjU3YnpPdTBmYXBZZ0FteCt1TjhObXhPRXJLU0pCcW5tcDhFKzIrRWxpajlM?=
 =?utf-8?B?ck1raWFrL3lQbW9yZk5YNzhabWpGdGFGSWprT2ZleDhIdHhjRE9YZEZWQmJu?=
 =?utf-8?B?SDhrQVFQczFwdWZVTXV4c1liUzZvdHJEclU4Mm5vV0F5bWtZdHVoZnc4b2tN?=
 =?utf-8?B?WXd0RDFkUjl1OTIzQllvV0Q4a25XTmJ2Z2I3Q20yRnRmWHZFNkR3Qi9XUnpy?=
 =?utf-8?B?a3AxSCtROUtYeWEzdmtsekxSTUttd0hUQkJ6endUUEhDVmV1U0VwZFNsVXZh?=
 =?utf-8?B?MllnaXQ1TFM0MG5tSzh2cGluWDJ2ZHJNNjZ0K3l0VlBrZnBkQmZGeVhBZlAr?=
 =?utf-8?B?enhxQ0tvRTNTNzZxTW1rRTlhMVorS1NyV1NraUFwMTNJS2hzVW1uVHVwZnJy?=
 =?utf-8?B?cjlobFNadXNZY3NST0RlWG9LZlhKY2FoN1VqdkEwTW1ES3ZNVmZzRWZONUxW?=
 =?utf-8?B?ckVKbktKRnJtRDRWVzBZZHJiUUlZYmZic2QxRG1yTmd2diswVytaUFMvQzBh?=
 =?utf-8?B?Q1lWa0U0ZHJVV2FZcklKQklLeWgvQ2wrN2o0OStTa0FLRCtNUnUvMlJwbmJX?=
 =?utf-8?B?cnNkeGtQUnpLbEFYeTBTR3M0bHhhYThKNTBEZG9kam1HOWpGUmdrVEhTZ05M?=
 =?utf-8?B?WW52bExtcjdPRTVEU2d1T3BzTGtyaWNIa0F0Z0h4a29jZ1FyQ3FhZnJZK0M3?=
 =?utf-8?Q?eRKuPc9dkMcn/XyE=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2b888f3e-f63f-4d28-649c-08decae2a1dd
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2026 13:33:06.0997
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: itSudPlw4mcqnN2k0gYqxASKyuicIu1VLY3SZrA5ZqIFfFUPQaJIhdE9gijYn/FPAT7TVjqs67ZHFwrv3yNc38ZImMFrgEChw0Xbzw+z80I=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6445
X-purgate-ID: tlsNG-720697/1781530390-AB36C161-23134CD6/0/0
X-purgate-type: clean
X-purgate-size: 1136

On 15/06/2026 2:26 pm, Anthony PERARD wrote:
> On Sat, Jun 13, 2026 at 12:09:19AM +0100, Andrew Cooper wrote:
>> Specifically:
>>
>>   commit 6ad034e71232c2929ed546304c9d249312bb632f
>>   Author: Sv. Lockal <lockalsash@gmail.com>
>>   Date:   Mon Aug 11 20:01:59 2025
>>
>>       mkvenv: Support pip 25.2
>>
>>       Fix compilation with pip-25.2 due to missing distlib.version
>>
>>       Bug: https://gitlab.com/qemu-project/qemu/-/issues/3062
>>
>> which cherrypicks cleanly onto qemu-xen.git master
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>>
>> This needs putting into main qemu-xen.git first, and then the override of
>> QEMU_UPSTREAM_URL dropping.
> Done, you can use 0edeb44c093bea39f0fe4d936ee363b99113ffe1 as
> QEMU_UPSTREAM_REVISION.
> The only difference with you qemu-xen tree is that I've used
> `cherry-pick -x` to have the commid id of the original commit.

Yes, I'd meant to do that, but I was rushing.

>
> With QEMU_UPSTREAM_URL change drop, and QEMU_UPSTREAM_REVISION
> updated: Acked-by: Anthony PERARD <anthony.perard@vates.tech>

Thankyou!

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 14:03:34 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 14:03:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338242.1599244 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ7uS-0006Rw-40; Mon, 15 Jun 2026 14:03:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338242.1599244; Mon, 15 Jun 2026 14:03: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 1wZ7uS-0006Rp-1N; Mon, 15 Jun 2026 14:03:28 +0000
Received: by outflank-mailman (input) for mailman id 1338242;
 Mon, 15 Jun 2026 14:03:26 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ7uQ-0006Ri-M5
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 14:03:26 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ7uP-00ClXj-QK
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 16:03:25 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a300618-2eae-0a2a0a5409dd-0a2a4503d15c-38
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:03:25 +0200
Received: from [209.85.221.52] (helo=mail-wr1-f52.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a30062d-672d-0a2a45030019-d155dd34b096-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:03:25 +0200
Received: by mail-wr1-f52.google.com with SMTP id
 ffacd0b85a97d-45ef4223be7so1913569f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 07:03: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-4606f2b0d4fsm37706457f8f.24.2026.06.15.07.03.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 07:03: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781532205; x=1782137005; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=N6IMLcRi/azmbeEvIQdLqN3ZTZdkkIPe9y7ZjuwDsbM=;
        b=CPNIN79Sru0RuaoRSWkJgR0akDtaMEA9JwSfLMEkkyN7lhfMcm63wmnbZmRJtzj9Cf
         A6I9LEcn5U01+SNWoWDO9OKQevtl6MuqmaPr2C9hHKG5izaMmFVAzkFiND6loAEuwb2u
         +dlxGI009PM7Gk8ouPAK2c27cnio2CLPf9Al1hmmscnwED5npr/8UB1kDdySdoxCu4+d
         mg9gKssMaoq47qKB8qxegWw1BZfqjQANXkwIooJBorF/aS0S1KwrrqHwWkiUn9THPcQQ
         1AYtxCcFvd1IbZXk16OVvarkIfxnE2bd8Gc6psMUl036LNK3iwk61K2/WCFQt7XwH/Nj
         OZzA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781532205; x=1782137005;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=N6IMLcRi/azmbeEvIQdLqN3ZTZdkkIPe9y7ZjuwDsbM=;
        b=lbhguQA18/OIPSpADRdPx+jxs/LkbkIoXyVJSFpuB5Q9mCl/zS/WAqh4VbW8myCCNI
         LBG0gbEUtQGKFlXCnv7SQVeMFBVXSaQJNmD68bp94E32iC6TZE2XSeAbQni5673i34Us
         LzohGG8t0jncTitM9uMYgcr4NuUtGb5Tyv/jbZvv2O76xWV62CYH8Meol188aUBQOUFU
         7Hew56V6qsfsaSqyVPW/3AUtptOKc3jD6jU3ki7NMwDXISHnp+8GOZQ/bcJyu9UjeIjA
         gINxATr+sJSG4SB9fXvNN4R1lHPIpMcZKnDUQYQNiOfEBGKDVUkhZj0GX4s1kKTiCRwu
         0LMw==
X-Forwarded-Encrypted: i=1; AFNElJ9XPa1g6Ep4dg1PdJsz6DizUs7bklRgsytfSYgafZWCYkjOYKYh53J6F0cQXGbCWS/mKG/wYNdgZGA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw8bwrFsBaEsGYWs0VgrEHZXCnvxZ6Q5/RH1xVaq7d7/us1YrsP
	LlRDRuj+zFr6aincSujz7XiFLqijEUlauc89p3RboQpm0zdxDVGNxrhFzgX9ZEuj9g==
X-Gm-Gg: Acq92OGldNpH8LCbBOI1J+CCldeLxG5y85In0FFhWZrTpegGdqF4EYRNdKHFrY4l1yd
	Z7ngS/7MP5usXAVwnrj3TLDqveniAQo5/YE/wpeR/XCSfNKU9YsDy07DqRle08znrA856aJuXWn
	CXzoV55iMnmuxwnjq46U21qSSQZggfNYsrlwcb3Fdw/RXAJvuYP72tGc8W97UQYYyedQpFIyZTv
	JlBHAZi06FSXGpIIXsq7SforUIZFhK55VmcK12Y3uv5DuSdIDQl3bwy3WNUnk2m3hCmVghekAcF
	4Pw7hLD9OUK4qxn/KPSZLoTBrGsbmRqEO0vShis4C0efVkyYyFIjBsjBO3vpVh8LjYHzo41TjCp
	UO5SZWoSk/YpTc9rgoxTj6TRIv0iix5zpgOAf1jdHM7rqk2S7L8/s7wGoEENaYbQSRuMLITqgfn
	TKNOPBlNzPFA+J3WMa+NPm5fvlNQQ3Wh28LQuD8bwKHLS5nE7mhIeCz0XII4AakoOu3geEMo+rZ
	qI83YvO7sbteZA=
X-Received: by 2002:a05:6000:26c5:b0:460:e00:121d with SMTP id ffacd0b85a97d-4606da6237bmr21542244f8f.14.1781532204700;
        Mon, 15 Jun 2026 07:03:24 -0700 (PDT)
Message-ID: <1c1829d2-4cb4-4e29-9012-fdcbca8d79a9@suse.com>
Date: Mon, 15 Jun 2026 16:03:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 12/16] xen: implement new foreign copy hypercall
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org, Daniel Smith <dpsmith@apertussolutions.com>
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
 <20260613214749.20620-13-frediano.ziglio@cloud.com>
 <8289ea1d-ceca-40b6-a992-a778be053cd0@suse.com>
 <CAHt6W4en1yMLrUXv+RbcoPr-=S_=pi2Rrcm2BC2PzMZT+0ksFw@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: <CAHt6W4en1yMLrUXv+RbcoPr-=S_=pi2Rrcm2BC2PzMZT+0ksFw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1781532205-4086B938-9A93CFDA/0/0
X-purgate-type: clean
X-purgate-size: 8457

On 15.06.2026 14:11, Frediano Ziglio wrote:
> On Mon, 15 Jun 2026 at 08:41, Jan Beulich <jbeulich@suse.com> wrote:
>> On 13.06.2026 23:47, Frediano Ziglio wrote:
>>> --- a/xen/common/memory.c
>>> +++ b/xen/common/memory.c
>>> @@ -1545,6 +1545,133 @@ static int acquire_resource(
>>>      return rc;
>>>  }
>>>
>>> +/*
>>> + * The "noinline" qualifier avoids the compiler to create a large function
>>> + * consuming quite a lot of stack.
>>> + */
>>> +static int noinline mem_foreigncopy(
>>> +    XEN_GUEST_HANDLE_PARAM(xen_foreigncopy_t) arg)
>>> +{
>>> +    struct domain *d, *const currd = current->domain;
>>> +    xen_foreigncopy_t copy;
>>> +    int rc, direction;
>>> +
>>> +    if ( copy_from_guest(&copy, arg, 1) )
>>> +        return -EFAULT;
>>> +
>>> +    if ( copy.flags & ~1U )
>>> +        return -EINVAL;
>>> +
>>> +    direction = copy.flags & XENMEM_foreigncopy_direction;
>>> +
>>> +    if ( copy.nr_frames == 0 )
>>> +        return 0;
>>> +
>>> +    rc = rcu_lock_remote_domain_by_id(copy.domid, &d);
>>> +    if ( rc )
>>> +        return rc;
>>
>> Extending my v4 remark: How about a "fully foreign" copy? I.e. one between two
>> pages in two foreign domains? Getting me back also to the un-answered v4
>> question of mine as to MMUEXT_COPY_PAGE.
> 
> I really thought I replied to this but I cannot find it.
> MMUEXT_COPY_PAGE was the first attempt to do this but mmuext is
> designed for PV and extending was made the code confusing.

We discussed this on the x86 call, and yes - the major op being PV-only is
getting in the way here.

>> Further, as to the order of checks: I'm not going to insist on re-ordering, yet
>> I'd like to point out that copying 0 pages to/from a bad domid might better
>> yield an error.
> 
> Not strong about this, changed to return -EINVAL. Reordering after
> this change won't make much sense, -EINVAL is returned both for wrong
> flags or no frames.

Please don't - copying 0 frames with all other arguments correct is not an
error.

>>> +    do {
>>> +        /*
>>> +         * Arbitrary size.  Not too much stack space, and a reasonable stride
>>> +         * for continuation checks.
>>> +         */
>>> +        xen_pfn_t gfn_list[32];
>>> +        unsigned int todo = MIN(ARRAY_SIZE(gfn_list), copy.nr_frames);
>>> +
>>> +        rc = -EFAULT;
>>> +        if ( copy_from_guest(gfn_list, copy.frame_list, todo) )
>>> +            goto out;
>>> +
>>> +        for ( unsigned i = 0; i < todo; i++ )
>>
>> Nit: "unsigned int" please (like you have it above).
> 
> Changed. Note that "long" is also not a type but a modifier. Would it
> be good to change both the above to "unsigned" instead for consistency
> with "long" ?

No, the way we spell types has historical reasons and isn't tied to the
exact lexical meaning of the keywords.

>>> +        {
>>> +            struct page_info *foreign_page;
>>> +            void *foreign;
>>> +            p2m_type_t p2mt;
>>> +            const unsigned long valid_mask =
>>> +#ifdef CONFIG_X86
>>> +                p2m_to_mask(p2m_ram_rw) | p2m_to_mask(p2m_ram_logdirty);
>>> +#else
>>> +                p2m_to_mask(p2m_ram_rw);
>>> +#endif
>>
>> What about, for example, p2m_ram_ro? Or p2m_ram_shared? Or p2m_grant_map_*?
>> Etc. Any artificial constraining wants justifying in the description and/or
>> mentioning in the public header.
> 
> The base of this was taken from migration code where there is such a check.
> I suppose that adding p2m_ram_ro (where available) won't hurt.

Just to mention, to avoid another round trip just because of this: p2m_ram_ro
has different meaning on x86 vs Arm/RISC-V.

> p2m_ram_shared I'm not sure but seems fine too.
> For p2m_grant_map_* it feels a bit a security issue to me. It would
> allow a guest to give access to pages of other domains. It's true that
> the current domain would have to have write access to this domain
> anyway but extend these permissions sounds something it should not be
> able to do.

It could copy the contents of the grant mapped page by other means. Why not
allow it in this new sub-op as well then?

Talking of security: When the page you copy to is owned by a PV guest, I
think you further need to obtain a PGT_writable type ref. (Of course it then
likely is easier to always do this, not just for PV.)

>>> @@ -2012,6 +2139,13 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>>              start_extent);
>>>          break;
>>>
>>> +    case XENMEM_foreigncopy:
>>> +        if ( unlikely(start_extent) )
>>> +            return -EINVAL;
>>
>> Please address review comments (verbally or by code changes) before submitting
>> a new version. Here I had asked "Why make this different from other continuable
>> sub-ops?"
>>
> 
> There's already a comment in the same file for similar reason
> 
>     /*
>      * Limiting nr_frames at (UINT_MAX >> MEMOP_EXTENT_SHIFT) isn't ideal.  If
>      * it ever becomes a practical problem, we can switch to mutating
>      * xmar.{frame,nr_frames,frame_list} in guest memory.
>      */
> 
> so to avoid the doubt and possible future change I mutate the structure.
> Also I use the mutation to give more information to the caller, using
> "start_entent" won't allow this.

You'll want to mention this in the description and/or a code comment. It
wants to become clear that the inconsistency in behavior (with other sub-
ops) is deliberate rather than accidental.

>>> --- a/xen/include/public/memory.h
>>> +++ b/xen/include/public/memory.h
>>> @@ -740,7 +740,45 @@ struct xen_vnuma_topology_info {
>>>  typedef struct xen_vnuma_topology_info xen_vnuma_topology_info_t;
>>>  DEFINE_XEN_GUEST_HANDLE(xen_vnuma_topology_info_t);
>>>
>>> -/* Next available subop number is 29 */
>>> +/*
>>> + * Copy memory from/to a given domain.
>>> + */
>>> +#define XENMEM_foreigncopy 29
>>> +struct xen_foreigncopy {
>>> +    /* IN - The domain whose resource is to be copied. */
>>
>> There's still "resource" here, when this really is about RAM (memory) only,
>> not any other kind of resource.
>>
>>> +    domid_t domid;
>>> +
>>> +    /* IN - Flags. */
>>> +#define XENMEM_foreigncopy_from 0
>>> +#define XENMEM_foreigncopy_to 1
>>> +#define XENMEM_foreigncopy_direction 1
>>> +    uint16_t flags;
>>> +
>>> +    /*
>>> +     * IN
>>> +     *
>>> +     * As an IN parameter number of frames of the domain to be copied.
>>> +     */
>>> +    uint32_t nr_frames;
>>
>> This isn't just an input, as you update the field (and the handles below).
>> This property of fields wants reflecting here, so callers know that they (a)
>> can't re-use the struct on a subsequent call without re-initializing the
>> fields which may have changed, and (b) can't put the struct in r/o memory.
>>
> 
> Update comments:
> 
> /*
>  * Copy memory from/to a given domain.
>  */
> #define XENMEM_foreigncopy 29
> struct xen_foreigncopy {
>     /* IN - The domain whose memory is to be copied. */
>     domid_t domid;
> 
>     /* IN - Flags. */
> #define XENMEM_foreigncopy_from 0
> #define XENMEM_foreigncopy_to 1
> #define XENMEM_foreigncopy_direction 1
>     uint16_t flags;
> 
>     /*
>      * IN/OUT
>      *
>      * As an IN parameter number of frames of the domain to be copied.
>      * On output on error updated number of frames left.
>      */
>     uint32_t nr_frames;

This is updated not only on error, but also when encoding continuations.

>>> +    /*
>>> +     * IN
>>> +     *
>>> +     * Frames to be copied.
>>> +     */
>>> +    XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
>>> +
>>> +    /*
>>> +     * IN/OUT
>>> +     *
>>> +     * Userspace buffer to read/write from.
>>> +     */
>>> +    XEN_GUEST_HANDLE(uint8) buffer;
>>
>> With these two handles, there continues to be a need to (explicitly) deal
>> with the compat case as well.
> 
> I don't agree with this. Domains having access to other domains are
> limited (like stub domains for Qemu) and won't be 32 bits today so why
> allow 32 bits guests if not ever used?

How do you know? Why shouldn't e.g. XTF be permitted to test this in all
possible modes? And even if all arguments end up in favor of "no compat
support", this then wants spelling out to make clear this wasn't an
oversight, but rather a conscious decision.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 14:11:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 14:11:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338254.1599253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ81z-000056-UK; Mon, 15 Jun 2026 14:11:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338254.1599253; Mon, 15 Jun 2026 14:11: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 1wZ81z-00004y-RM; Mon, 15 Jun 2026 14:11:15 +0000
Received: by outflank-mailman (input) for mailman id 1338254;
 Mon, 15 Jun 2026 14:11:14 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ81y-00004s-03
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 14:11:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ81x-000vV0-D3
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 16:11:13 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3007f8-5cb7-0a2a0a5109dd-0a2a4504abf4-18
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:11:09 +0200
Received: from [209.85.221.44] (helo=mail-wr1-f44.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3007fd-1dec-0a2a45040019-d155dd2cac90-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:11:09 +0200
Received: by mail-wr1-f44.google.com with SMTP id
 ffacd0b85a97d-45ef6565cfdso1581550f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 07:11: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-4606f2c3fcfsm30864787f8f.26.2026.06.15.07.11.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 07:11: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Autocrypt:Subject:From:Cc:To:Content-Language:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781532669; x=1782137469; 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=VTVwg+1rtjOErQ0xcrTdPPHqNAYwMKSCfLxEt6Ho6zA=;
        b=OCfm3nTauY7FbnbAeE8bUxwMIwtt+QJGL+F/MVvBRxvmFLi6zA290c+d1sdlQYT7tm
         j9YzGEb7oEkGFivgDUnJUwpU4z2hCma3DR0h9ykA/QuESOTdD5BIrvvNKt4sa6pZdc1o
         OHaehhICFuygRVzW0EMtAbGmwTHWTBhsHl9WuxNYi355TBQkwdVMOP40EHyc+OLvICXv
         zYCTIYAvKjVMXssz7gdolf+sju38tP3OTwDhA7rlYepQ3wMBCP637EkRiprKopxHCcx3
         Jr28Mj+2AOV+Sd8xU8dBuufrOyudtx8j3lUjgmKfUtso9KRiPoEGKm8Psy8CJmrtjEsb
         ODqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781532669; x=1782137469;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=VTVwg+1rtjOErQ0xcrTdPPHqNAYwMKSCfLxEt6Ho6zA=;
        b=hgujl8Ey7nb60uYtdu+z0TeZNqdqZ4wdl4TrYhLBhpzJ4omxMYBpvVCXkOxRUHMIuQ
         0SZZCI1dG5UBR9GgGMTi+jYaaJNNajKd7qgbXzmQc3Q9a2XLgYtSNL55FMWBtbKvD2Jn
         t/xhY2ffONLhbvmYd6BTEtVtNgXm2kWZGzSjdDRZGrbtYLgLY9A9pPJSYzeG7U3AdxWr
         yEgCcp8VVZ+Q2W4n2yzoImyPnGOygeyaDJPnadPa0AVKmaYwOK3Q7Co8BPq65ba+ZQkZ
         20mL/Bl8qqiEMYZnv7WhuzUQsOCpQ9IX60V+ke+E70UXSSpmEpXSqt/mRQd5fUr1Bqvz
         O1ZA==
X-Gm-Message-State: AOJu0YzJapfmfjP0K9nekXE5XiO3zgV4/1uZ/+rCHMfi/9CfspLm/Cl0
	aKlFJbWJqAmt//p+/GIcrN7Ugm/yFKEpBbCQbEjnbJDFIvNHNtr2HOKZixuusZtWNRMRdp8Rzzu
	uJpg=
X-Gm-Gg: Acq92OHIWBZgFcZ2kbBMPVZp9c3pAc06AMqoupZWhJypYqFwZAGbH7mOoVfnqf5P058
	cDuNYo1Y7Fug+InxUDQadEJ/lUzlls79F3ELOdHNBy/FSGbL+eWNx1fLWr0ET3lnHuv3hTY/qyU
	sS1B8E/UtyGa+dyjuMiNwhdYUJxe5S83j1f6QLiziWXd3e7FSz2dvhlNDMChZKwTelqpWZxBRuN
	iXnjmybW8XltCm7YYLrpDovr7yLcDjkZnjjsJ/71L7nLOhIyiGugIEHPfZzwgNGpmXpw0BA5yRI
	b/7RqFh6tTZDkLASOMS81hkKJ2B4WEEes8X1cjtpapsxpAPYnUuBywtjeMaeYPnp7OL99Mmr4Ad
	NwpzQzkGzmX72ZfB1py8v0Zh2svM11/f9qvwkaMKnyP5h/m/Ud1eTwdqDftQyN26rbOp/XBqwWq
	7nDv8JyMWU08m2/aBbUsM7uy23rPp4kpNjRVwUfiO+RE5KILoEy10p0MU3pF2YjlqFOF+N15S76
	RWJicUvmWV/6Nk=
X-Received: by 2002:a05:6000:2dc2:b0:45e:779a:302c with SMTP id ffacd0b85a97d-4606dba03d8mr22259094f8f.29.1781532668607;
        Mon, 15 Jun 2026 07:11:08 -0700 (PDT)
Message-ID: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
Date: Mon, 15 Jun 2026 16:11:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH for-4.22? 0/9] domctl: XSA-492 and -491 follow-on
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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
X-purgate-ID: tlsNG-ebf023/1781532669-40D743FF-D7E12183/0/0
X-purgate-type: clean
X-purgate-size: 991

A number of further possible improvements were identified when putting
together the patches for these XSAs; some therefore already have acks or
alike. Some of these may want considering to take for 4.22.

Many of the patches here are largely independent, but the last one
(following on to XSA-491, while all others are XSA-492 related) really
depends on the 2nd to last one. Or else bigger changes would be
necessary there.

1: sched: introduce specialization of "running only" vcpu_runstate_get()
2: domctl: move XEN_DOMCTL_irq_permission handling to x86 code
3: domctl: rename a label
4: domctl: error code adjustment for unpriv callers
5: domctl/XSM: avoid XSM_OTHER with xsm_domctl()
6: domctl: handle XEN_DOMCTL_getvcpuinfo without acquiring domctl lock
7: domctl: restrict permission check for XEN_DOMCTL_memory_mapping's remove form
8: x86/domctl: don't imply I/O port permissions from I/O port mapping
9: x86/HVM: more checking for XEN_DOMCTL_ioport_mapping

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 14:12:16 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 14:12:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338259.1599263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ82y-0000Yv-5z; Mon, 15 Jun 2026 14:12:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338259.1599263; Mon, 15 Jun 2026 14:12: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 1wZ82y-0000Yn-3H; Mon, 15 Jun 2026 14:12:16 +0000
Received: by outflank-mailman (input) for mailman id 1338259;
 Mon, 15 Jun 2026 14:12:14 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ82w-0000Ya-8m
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 14:12:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ82v-002zjv-Lq
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 16:12:13 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a30083a-2eae-0a2a0a5409dd-0a2a4503e68e-4
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:12:13 +0200
Received: from [209.85.128.41] (helo=mail-wm1-f41.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a30083d-672d-0a2a45030019-d1558029b478-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:12:13 +0200
Received: by mail-wm1-f41.google.com with SMTP id
 5b1f17b1804b1-4908b92904fso41578735e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 07:12: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-490ea4b2e8esm216642525e9.0.2026.06.15.07.12.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 07:12: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781532733; x=1782137533; 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=C0VpXX4v4yr6XMrCiBGbEm94k+mIh1Al+9FcfNgLo2I=;
        b=COswnfE1icG6Gm+mmOEzTvzo8KOcNH+Epia2foZvX27F/hCoYfS0gXWn56NSOTXnZ5
         /0EpcGbI2p4ByZILjxtSAguZchpmRgHWkKmtm1HxcCkNxDM/ber5nIPwir4QRU7tSmYJ
         jLU3+6rg8TPor3kybcyjG9F9hNMIjkz0L4i8BapKkebP8QNgPla5Ih3w9ItW/gcVP13f
         s86TAs7uOjBzl6nwKIxeIH3k16YuZmgG8j5cA0o9EioYacDJbIfpNOHa2t5ZsMH3T4Gh
         RhlnpysdBI+xh8RaA0O9wkOU/SIo6JKFbtfL/CWPY4pJF90M/Mhdp9YfbdxU/1hV/E4z
         VIfw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781532733; x=1782137533;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=C0VpXX4v4yr6XMrCiBGbEm94k+mIh1Al+9FcfNgLo2I=;
        b=PkJhmiigFfHdqduezmDi+AsIgKqOdwXzG4tCg/BK+yQMjG0jm5Dn0I3xgzqCIpIsyl
         nRFV7KptxA4tZN76y6XKNlDbKuV39jZqMrrtCPrsOrgZgTdnaaxTAC6IPo9KSkLU/J7q
         g8SUG/eC7miJDZu9cB2J34DUJwxNbrumu+U5Dpc2Dis33AbyECjD3EsZYnl3x96HeaEz
         51OR/0sWkkeBTGZLjumimvo5v2u7shur/Tl15UHLjaEhEe/NMx3qO/Ojj3A6u/Rc6sQj
         nF8j/lEuBbAdWLEykfANxNCD/3BWGqGXLkc3KxUO8KWGKoEMpxU0mMkeITR9O3rhc8O2
         AyhA==
X-Gm-Message-State: AOJu0Yyv1fZczBc/bUMgmvDb39MjtLMGeXPWvNSJ3aUKTO1H3xnUupm4
	DEe1qPNLHXq8o84DFZsSz2RCgBl8fo4XicSY4T4pKYioCK7tYiV6QoCIwf/zm7cBDPrJ1NVrHhw
	EuCM=
X-Gm-Gg: Acq92OGJ2BeF0NER0xBYZB03ppVbsVL1lDBF6TCPKlmd7JqWN0yWQ1dvqoJmvoogiID
	pDMBqEKjZLSbwTDpWvJMt3wuOv6IBt3XGMPRpGTjYrueDndIaMzrLPzUPrfYW2IaULTFq0CoJF0
	TZG2XF+bmMoTnMydJR9DYNKurD7ZDGR91S12Y4hJhpXs6nhEGAK7UgbIYc+MAVGWTo1LTsORQnr
	ZQa8/LNWASgUPqx4IF32CXYxFL4Jgf7TqbIVIkI9WRSj9axE8eW8wEaPuN1UoivQUd1Wqh0jCsK
	wY2DjnL06hOnvn6/N3omjWvyouBhHm6SFWf/wX17kat/MlRTA8NQc2mPLXS2+3hXljvfAwzCgxE
	UaV/5XOhfgUP6HWz1bvY7EKx8T0WHB3yXCs30EO91XOX655hYKDxzbh5HHQ1u5dZ+O+Mjsef0aa
	yvNPdHHuj7992abLqzvLxenkF8E6tP3H0W0QAeMXu3P+iCpz5cdr/yDZle87ErH44ZZAjcyOU1b
	cfBcjDSF0QZErI6rzmdIX1boA==
X-Received: by 2002:a05:600d:8494:10b0:490:c7dd:de3e with SMTP id 5b1f17b1804b1-490ec521187mr134538065e9.31.1781532732839;
        Mon, 15 Jun 2026 07:12:12 -0700 (PDT)
Message-ID: <67d1e638-a2ab-4d03-b9be-915a8c42e095@suse.com>
Date: Mon, 15 Jun 2026 16:12:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH for-4.22? 1/9] sched: introduce specialization of "running
 only" vcpu_runstate_get()
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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@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: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1781532733-36B44938-ED8400ED/0/0
X-purgate-type: clean
X-purgate-size: 3665

About half the callers of vcpu_runstate_get() are solely after the
"running" time of a vCPU. Introduce a specialization with a smaller
read critical section and thus reduced risk of a need for retries.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
The function name was chosen such that grep-ing for "vcpu_runstate_get"
would still turn up all uses. If that was deemed largely irrelevant, a
better name might be e.g. vcpu_get_running_time().

--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -56,7 +56,6 @@ void getdomaininfo(struct domain *d, str
     struct vcpu *v;
     u64 cpu_time = 0;
     int flags = XEN_DOMINF_blocked;
-    struct vcpu_runstate_info runstate;
 
     memset(info, 0, sizeof(*info));
 
@@ -69,8 +68,7 @@ void getdomaininfo(struct domain *d, str
      */
     for_each_vcpu ( d, v )
     {
-        vcpu_runstate_get(v, &runstate);
-        cpu_time += runstate.time[RUNSTATE_running];
+        cpu_time += vcpu_runstate_get_running(v);
         info->max_vcpu_id = v->vcpu_id;
         if ( !(v->pause_flags & VPF_down) )
         {
@@ -829,8 +827,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
 
     case XEN_DOMCTL_getvcpuinfo:
     {
-        struct vcpu   *v;
-        struct vcpu_runstate_info runstate;
+        const struct vcpu *v;
 
         ret = -EINVAL;
         if ( op->u.getvcpuinfo.vcpu >= d->max_vcpus )
@@ -840,12 +837,10 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
         if ( (v = d->vcpu[op->u.getvcpuinfo.vcpu]) == NULL )
             break;
 
-        vcpu_runstate_get(v, &runstate);
-
         op->u.getvcpuinfo.online   = !(v->pause_flags & VPF_down);
         op->u.getvcpuinfo.blocked  = !!(v->pause_flags & VPF_blocked);
         op->u.getvcpuinfo.running  = v->is_running;
-        op->u.getvcpuinfo.cpu_time = runstate.time[RUNSTATE_running];
+        op->u.getvcpuinfo.cpu_time = vcpu_runstate_get_running(v);
         op->u.getvcpuinfo.cpu      = v->processor;
         ret = 0;
         copyback = 1;
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -325,15 +325,35 @@ void vcpu_runstate_get(const struct vcpu
     }
 }
 
-uint64_t get_cpu_idle_time(unsigned int cpu)
+uint64_t vcpu_runstate_get_running(const struct vcpu *v)
 {
-    struct vcpu_runstate_info state = { 0 };
-    const struct vcpu *v = idle_vcpu[cpu];
+    struct seqcount seq = SEQCNT_ZERO();
+    const struct seqcount *s = v == current ? &seq : &v->runstate_seq;
+    unsigned int count;
+    uint64_t running;
+    s_time_t delta;
+
+    do {
+        count = read_seqcount_begin(s);
+
+        running = v->runstate.time[RUNSTATE_running];
+        delta = v->runstate.state == RUNSTATE_running
+                ? NOW() - v->runstate.state_entry_time
+                : 0;
+    } while ( read_seqcount_retry(s, count) );
+
+    if ( delta > 0 )
+        running += delta;
 
+    return running;
+}
+
+uint64_t get_cpu_idle_time(unsigned int cpu)
+{
     if ( cpu_online(cpu) && get_sched_res(cpu) )
-        vcpu_runstate_get(v, &state);
+        return vcpu_runstate_get_running(idle_vcpu[cpu]);
 
-    return state.time[RUNSTATE_running];
+    return 0;
 }
 
 /*
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -1121,6 +1121,7 @@ int vcpu_affinity_domctl(struct domain *
 
 void vcpu_runstate_get(const struct vcpu *v,
                        struct vcpu_runstate_info *runstate);
+uint64_t vcpu_runstate_get_running(const struct vcpu *v);
 uint64_t get_cpu_idle_time(unsigned int cpu);
 void sched_guest_idle(void (*idle) (void), unsigned int cpu);
 void scheduler_enable(void);



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 14:12:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 14:12:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338262.1599272 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ83N-000106-DX; Mon, 15 Jun 2026 14:12:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338262.1599272; Mon, 15 Jun 2026 14:12: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 1wZ83N-0000zz-Ap; Mon, 15 Jun 2026 14:12:41 +0000
Received: by outflank-mailman (input) for mailman id 1338262;
 Mon, 15 Jun 2026 14:12:40 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ83M-0000zl-Mi
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 14:12:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ83M-002zqf-3P
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 16:12:40 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a300851-2eae-0a2a0a5409dd-0a2a4506d8c6-16
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:12:40 +0200
Received: from [209.85.221.47] (helo=mail-wr1-f47.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a300857-7371-0a2a45060019-d155dd2fc5e5-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:12:40 +0200
Received: by mail-wr1-f47.google.com with SMTP id
 ffacd0b85a97d-4619990ca5fso677726f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 07:12: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-4606f2c3fcfsm30875264f8f.26.2026.06.15.07.12.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 07:12: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781532759; x=1782137559; 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=fK7QM9bVPTyHbmVo2K2FzO8qnNGFwS/xRqf+62OlG7M=;
        b=aNmehiaE+K4GWliA7sc1Wu7AiiLBrnz1MqMXahBr/u9JYkLUU6kH3H8nO9uoivH/HR
         I4kEgzwSb/4NUyckYVQjAl/acYh2FFCvBB45XJ/TUWj0sSgO2Zuc/09Yl8gNzKtLSxwv
         j0JcpyQxQNUmt9NFEnmBqfMQ5eTX38rPkOJT/329pFdEhjCAgYtcY1eEVZGEZrTb5YQC
         ra4cX2+yCXCCijknyRkKlGWXa+Xbz+EDZ5YyOUTecedtccIY/jyTcnvYo13Za9hyp5yM
         mldgoogT11pPbWfXUiom3UJQ7F1a+Q88/ixsVTRzAcDtMXYx6kFidN0ZBwU0i1LToVjY
         I5AA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781532759; x=1782137559;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fK7QM9bVPTyHbmVo2K2FzO8qnNGFwS/xRqf+62OlG7M=;
        b=Js6M3Z5JFTQhtuTsRXFX9RAE7PElo+8pL+pdnTu4f8ZBPQ+7PbFEiSFrF5dCqId/f2
         TKg0QGQwPJlmKgTXG2dIortzQb7Brl0d98t8Cgkk85xWFgj9wQ+4UMwdaWgkwYocBH4S
         AICzQOAZJlvAaO3FRRPjwPp7AJf1Fqri5EWpMh21US5G3dWDY/qwPwd/kT6d5s1fg8I+
         6n6KMR/x9bStDY+WjSt+h8uH3QxeLjWxHyuFtEe/nDeJUm5JBnibyDJpChAwV/E4cmQw
         Bo1808sJnF7lezyc6YUJbfU0TMgdGqtrjubZ9SS/4DgvtmcuHfOMDmLFgvCpqQQ4Dooh
         gtiQ==
X-Gm-Message-State: AOJu0Yx52luQGgOdU3c5sjuHZnvVOdePffAE/7ty+D8670fGaQSPFdQD
	DipcYFZEWIO6ZODEJsC1vDEis9gbHzpxof+e8jgPdqzLhov310uJSqO1vfglHAQTX7dUI/GY8Xs
	4oTM=
X-Gm-Gg: Acq92OGdRgcL8/bwEhjh6MCPo4kLCs1fMWbg0njzKND3oUTDRH3UK1kJ0OX/rW1jB29
	Ji65rVn3XDi6prfu5fPE3sbSmZbWeHBCGO/JqbND2bsbWYs9CIo1wacRPce3mCMSDf5d2X6GeOm
	EIkxuh+MM53PxFB4vsX5erZuvXs1XjTLVCLoQUopMm+h8TUWCrm3/RFFLpOUqnebSfOJANSXtRA
	6IqybT87umtpG7ut/eY4JGoIZ8kB8fBv1Ll9vhR4v37NGDkrQ/vzft1EHkFen21RlBG+wb3ZItf
	EZwWY1FGoR1HnSu0A1kR/igDKRAbyA11MwMbkrO58rizFJ0iNmHFJUrXXK+1Bn024HCvkWqIlXR
	6SEICpCIQA+Wfx+HJ/Wt5fR2EgPHnf6oaRu8Chiu8eEA/RhOVwGAbQpGSTDBVoFoxu7+eQwn4gb
	6quhTRRwYOFpWKP/8v6R87SUJvCwJEYa+iaWcgTa6QQOLnlV+YHNBf1NPUbcqJN/B+/Fp3UMb5u
	h9bpllvbLeihwU=
X-Received: by 2002:a05:6000:1446:b0:43c:fb48:6856 with SMTP id ffacd0b85a97d-46074a5bdeamr15698080f8f.13.1781532759294;
        Mon, 15 Jun 2026 07:12:39 -0700 (PDT)
Message-ID: <96a089dc-a0dd-4f40-b1e4-5573202bf532@suse.com>
Date: Mon, 15 Jun 2026 16:12:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH for-4.22? 2/9] domctl: move XEN_DOMCTL_irq_permission handling
 to x86 code
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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@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: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1781532760-86168D75-1721B01B/0/0
X-purgate-type: clean
X-purgate-size: 2830

HAS_PIRQ is selected by x86 only, and that's expected to remain that way.
Avoid the #ifdef needed by moving the logic to arch_do_domctl(). Leverage
"currd" being available as a local variable there while doing so.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -258,6 +258,36 @@ long arch_do_domctl(
         break;
     }
 
+    case XEN_DOMCTL_irq_permission:
+    {
+        unsigned int pirq = domctl->u.irq_permission.pirq, irq;
+        bool allow = domctl->u.irq_permission.allow_access;
+
+        ret = -EINVAL;
+        if ( pirq >= currd->nr_pirqs )
+            break;
+
+        irq = domain_pirq_to_irq(currd, pirq);
+
+        ret = -EPERM;
+        if ( irq )
+            ret = xsm_irq_permission(XSM_PRIV, d, irq, allow);
+        if ( ret )
+            break;
+
+        iocaps_double_lock(d, true);
+
+        if ( !irq_access_permitted(currd, irq) )
+            ret = -EPERM;
+        else if ( allow )
+            ret = irq_permit_access(d, irq);
+        else
+            ret = irq_deny_access(d, irq);
+
+        iocaps_double_unlock(d, true);
+        break;
+    }
+
     case XEN_DOMCTL_gsi_permission:
     {
         int irq;
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -471,38 +471,6 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
         goto domctl_out_unlock_domonly;
     }
 
-#ifdef CONFIG_HAS_PIRQ
-    case XEN_DOMCTL_irq_permission:
-    {
-        unsigned int pirq = op->u.irq_permission.pirq, irq;
-        bool allow = op->u.irq_permission.allow_access;
-
-        ret = -EINVAL;
-        if ( pirq >= current->domain->nr_pirqs )
-            goto domctl_out_unlock_domonly;
-
-        irq = domain_pirq_to_irq(current->domain, pirq);
-
-        ret = -EPERM;
-        if ( irq )
-            ret = xsm_irq_permission(XSM_PRIV, d, irq, allow);
-        if ( ret )
-            goto domctl_out_unlock_domonly;
-
-        iocaps_double_lock(d, true);
-
-        if ( !irq_access_permitted(current->domain, irq) )
-            ret = -EPERM;
-        else if ( allow )
-            ret = irq_permit_access(d, irq);
-        else
-            ret = irq_deny_access(d, irq);
-
-        iocaps_double_unlock(d, true);
-        goto domctl_out_unlock_domonly;
-    }
-#endif
-
     case XEN_DOMCTL_set_target:
     {
         struct domain *e = get_domain_by_id(op->u.set_target.target);
@@ -563,6 +531,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
 
     case XEN_DOMCTL_ioport_permission:
     case XEN_DOMCTL_ioport_mapping:
+    case XEN_DOMCTL_irq_permission:
     case XEN_DOMCTL_gsi_permission:
     case XEN_DOMCTL_bind_pt_irq:
     case XEN_DOMCTL_unbind_pt_irq:



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 14:13:03 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 14:13:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338268.1599281 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ83j-0001Sr-Lw; Mon, 15 Jun 2026 14:13:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338268.1599281; Mon, 15 Jun 2026 14:13: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 1wZ83j-0001Sk-Im; Mon, 15 Jun 2026 14:13:03 +0000
Received: by outflank-mailman (input) for mailman id 1338268;
 Mon, 15 Jun 2026 14:13:02 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ83i-0001SV-MD
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 14:13:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ83i-002zx9-2u
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 16:13:02 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a30086d-e002-0a2a0a5209dd-0a2a450698b4-2
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:13:01 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a30086d-7371-0a2a45060019-d155802ec47f-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:13:01 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-490cdae130cso16438005e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 07:13: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-49220372ed0sm229600395e9.14.2026.06.15.07.13.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 07:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781532781; x=1782137581; 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=K9wWG9O+maNG12dOUcbH4HjESbxFZUtQp5qiz1i/uAI=;
        b=K4QJfLPnCQSR4HM1CLgxZACY6deIVayQGtTK9D6Foq3hsFlBMac+nIrZu6Cd70B7Dr
         wKX8qPsQ1kQmkxfYttG2woMDnzUN9M8JnlHz+j2ZTTGUVVmShU/Q4Ejpvy/q3ngUYAvq
         CbkLmSLcvBqQt9OIl+xHq6y1GcpFoOQbBCrnvxeXghI0N8jM0GPdPe25nmKk/EgZSjpE
         5XEzQliayxNfi0evrLBBFYb9d2WtPhR8H3ZKjqv/duUHZTioGxqkIDregoz+/h4nC8Mk
         DmlF8DmEZRLnvlI6RjIEcaUxQ7xd1d4abc9EYB39m+u0+zclMnDiRXVyCZbAVJW3FI14
         U14A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781532781; x=1782137581;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=K9wWG9O+maNG12dOUcbH4HjESbxFZUtQp5qiz1i/uAI=;
        b=nyiW2Hb4l0ySW2pxn7GSQRRi42UaEiKSwPqRQ8vg1VwkXs4AvwJi3ULyvYU9aR8XMw
         C0mkRYQO+WYhCVpRh7ZUTU5+KU8OEuPABsK23Y5lDuEymF/RwZi9CwW0xvH2W5giP2ll
         QaT25/vNFVKHQhgdjFx7XY++tqruWJ1m2j/44Ilt5mmLh3nc4Z18mGLoj/qh7/Lq1nxH
         2wOYoRGfgvawRjXKwbRtNyYf4lXg5WNNY67IrwPvHrE464M7dubiDWRaADmh6h62HILN
         T0f7ZKb4rXgnOfDtoZprhXFqvbapnYQRC0a5mpRuxupdFipyydklqxSNIbZha9NXyQgr
         7+Rw==
X-Gm-Message-State: AOJu0Yz+0xmSwNLZbtx69MXy9/6Bj1sLun4UuwuAxj7A+CNyi50nztH+
	4gvgaRSr6c3fStrvS5juVfnc4rz9YHH8DNCIVClgAnivW+QCpM1lmADGSwQb+GDwFJqcvlGJg7W
	tcoo=
X-Gm-Gg: Acq92OHuRU5Umh/Umuns7Rgug3x1vfoUZAlNIO0OIDFVfmffVNrPNOsEwyfN8vbd+ok
	YINXwRx9DSswHKWU3MUA0REzholKbKz324wWXD130gYw6rolaIvwQKU2E18NDUO/rUcQBvXF2Cv
	x44QJOX0dgW5GNkOlIG4a7KC8FU4psWCC+Lvgr+IF1jYlq6bDoM050ffZDdURErttTuTIf+rOYS
	WbbNgYmkUBUXzkWg1WT0uGz+3Qh1+DIjpi43bcWuyuOJTipdRnm80wmHf2pCq2lNneCQItnQEsL
	3itHRF8zTb1eYRtZMFcN+hiDZ7TYF5eOYtZzv0PW86P9hDvjOGWZBx/3EQno6OSmCZt+rByQXIY
	JC/r1crG/gbXgy3UNQPqaooS7ihI5/VISHUZ3l8UuvJcRoO6HrB3ZMYiKsclTAASXEGDNmooi+M
	u+Fok3P9uh/sr1x1JlG6gHmtus9rR8BCcu226kypgH8ts6fx40P2+xtNWcfHQgK0zUiOwX4il+7
	veX+mMYfrOhgQQ=
X-Received: by 2002:a05:600c:6287:b0:485:9a50:3370 with SMTP id 5b1f17b1804b1-492200516d4mr135546605e9.8.1781532781169;
        Mon, 15 Jun 2026 07:13:01 -0700 (PDT)
Message-ID: <afd71b98-7f25-48af-97ca-4f772551f73e@suse.com>
Date: Mon, 15 Jun 2026 16:13:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH for-4.22? 3/9] domctl: rename a label
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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@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: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1781532781-8777FD75-00145725/0/0
X-purgate-type: clean
X-purgate-size: 5383

There's no real domain unlocking here, it's merely RCU which is being
"unlocked".

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -373,7 +373,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
             copyback = true;
         }
 
-        goto domctl_out_unlock_domonly;
+        goto domctl_out_unlock_rcuonly;
 
     case XEN_DOMCTL_get_domain_state:
         ret = xsm_get_domain_state(XSM_XS_PRIV, d);
@@ -381,7 +381,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
             ret = get_domain_state(&op->u.get_domain_state, d, &op->domain);
         if ( !ret )
             copyback = true;
-        goto domctl_out_unlock_domonly;
+        goto domctl_out_unlock_rcuonly;
 
     case XEN_DOMCTL_iomem_permission:
     {
@@ -391,11 +391,11 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
 
         ret = -EINVAL;
         if ( (mfn + nr_mfns - 1) < mfn ) /* Wrap? */
-            goto domctl_out_unlock_domonly;
+            goto domctl_out_unlock_rcuonly;
 
         ret = xsm_iomem_permission(XSM_PRIV, d, mfn, mfn + nr_mfns - 1, allow);
         if ( ret )
-            goto domctl_out_unlock_domonly;
+            goto domctl_out_unlock_rcuonly;
 
         iocaps_double_lock(d, true);
 
@@ -408,7 +408,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
             ret = iomem_deny_access(d, mfn, mfn + nr_mfns - 1);
 
         iocaps_double_unlock(d, true);
-        goto domctl_out_unlock_domonly;
+        goto domctl_out_unlock_rcuonly;
     }
 
     case XEN_DOMCTL_memory_mapping:
@@ -423,17 +423,17 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
         if ( mfn_end < mfn || /* Wrap? */
              ((mfn | mfn_end) >> (paddr_bits - PAGE_SHIFT)) ||
              (gfn + nr_mfns - 1) < gfn ) /* Wrap? */
-            goto domctl_out_unlock_domonly;
+            goto domctl_out_unlock_rcuonly;
 
         ret = xsm_iomem_mapping(XSM_DM_PRIV, d, mfn, mfn_end, add);
         if ( ret || !paging_mode_translate(d) )
-            goto domctl_out_unlock_domonly;
+            goto domctl_out_unlock_rcuonly;
 
 #ifndef CONFIG_X86 /* XXX ARM!? */
         ret = -E2BIG;
         /* Must break hypercall up as this could take a while. */
         if ( nr_mfns > 64 )
-            goto domctl_out_unlock_domonly;
+            goto domctl_out_unlock_rcuonly;
 #endif
 
         iocaps_double_lock(d, false);
@@ -468,7 +468,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
         }
 
         iocaps_double_unlock(d, false);
-        goto domctl_out_unlock_domonly;
+        goto domctl_out_unlock_rcuonly;
     }
 
     case XEN_DOMCTL_set_target:
@@ -477,7 +477,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
 
         ret = -ESRCH;
         if ( !e )
-            goto domctl_out_unlock_domonly;
+            goto domctl_out_unlock_rcuonly;
 
         if ( d == e )
             ret = -EINVAL;
@@ -492,7 +492,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
 
         if ( ret )
             put_domain(e);
-        goto domctl_out_unlock_domonly;
+        goto domctl_out_unlock_rcuonly;
     }
 
     case XEN_DOMCTL_vm_event_op:
@@ -502,12 +502,12 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
             ret = vm_event_domctl(d, &op->u.vm_event_op);
             if ( !ret )
                 copyback = true;
-            goto domctl_out_unlock_domonly;
+            goto domctl_out_unlock_rcuonly;
         }
         if ( !d )
         {
             ret = -ESRCH;
-            goto domctl_out_unlock_domonly;
+            goto domctl_out_unlock_rcuonly;
         }
         /* Other sub-ops handled further down. */
         break;
@@ -517,17 +517,15 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
              op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_PEEK )
         {
             ret = xsm_domctl(XSM_OTHER, d, op);
-            if ( ret )
-                goto domctl_out_unlock_domonly;
-
-            ret = arch_do_domctl(op, d, u_domctl);
-            goto domctl_out_unlock_domonly;
+            if ( !ret )
+                ret = arch_do_domctl(op, d, u_domctl);
+            goto domctl_out_unlock_rcuonly;
         }
         break;
 
     case XEN_DOMCTL_get_device_group:
         ret = iommu_do_domctl(op, d, u_domctl);
-        goto domctl_out_unlock_domonly;
+        goto domctl_out_unlock_rcuonly;
 
     case XEN_DOMCTL_ioport_permission:
     case XEN_DOMCTL_ioport_mapping:
@@ -537,7 +535,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
     case XEN_DOMCTL_unbind_pt_irq:
     case XEN_DOMCTL_getpageframeinfo3:
         ret = arch_do_domctl(op, d, u_domctl);
-        goto domctl_out_unlock_domonly;
+        goto domctl_out_unlock_rcuonly;
 
     default:
         /* Everything else handled further down. */
@@ -546,7 +544,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
 
     ret = xsm_domctl(XSM_OTHER, d, op);
     if ( ret )
-        goto domctl_out_unlock_domonly;
+        goto domctl_out_unlock_rcuonly;
 
     if ( !domctl_lock_acquire() )
     {
@@ -941,7 +939,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
 
     domctl_lock_release();
 
- domctl_out_unlock_domonly:
+ domctl_out_unlock_rcuonly:
     if ( d && !is_system_domain(d) )
         rcu_unlock_domain(d);
 



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 14:13:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 14:13:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338274.1599290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ846-0001vb-1v; Mon, 15 Jun 2026 14:13:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338274.1599290; Mon, 15 Jun 2026 14:13: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 1wZ845-0001vU-V2; Mon, 15 Jun 2026 14:13:25 +0000
Received: by outflank-mailman (input) for mailman id 1338274;
 Mon, 15 Jun 2026 14:13:25 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ845-0001tz-22
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 14:13:25 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ844-006m5v-F8
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 16:13:24 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a300876-e002-0a2a0a5209dd-0a2a4504df92-30
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:13:24 +0200
Received: from [209.85.221.43] (helo=mail-wr1-f43.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a300882-1dec-0a2a45040019-d155dd2be589-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:13:22 +0200
Received: by mail-wr1-f43.google.com with SMTP id
 ffacd0b85a97d-46066e640easo1965456f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 07:13: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-4606f26f726sm32610829f8f.15.2026.06.15.07.13.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 07:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781532802; x=1782137602; 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=81E6k+ygViV9U22cpFsmJTigOesewusphjAS3Y1bdII=;
        b=Cc3dRRzcXvIAJpXIK3teMhqPV0/n6jMSWdZBP744K/JeOWMBAGUVRzZnFtzC+7SFm/
         y2nxjkFSzJmQ11rcZNMbH64VjenjqF6HZYGyqQxmftzQGeawPkUX6IiB0VTWSDF12VvV
         hJmJUPxwGmOjrlrTbQgtLfqc7I4DQVwIzEGwnvVGD0KT/oNLTX2g9u0VPWo6anbo+SMC
         vqUwlbMbktN+z9aLqwspMiaPrz+A4t9pYvVabwQh8IuO3rGcJNGxYiJNznf0xwvNDj+O
         enzK4z2BLwmzMzMNHVSMvlCrHa8NMDQN9nH1dSSQIpdSm+qkmQb29LheL2+2gk9LqbsC
         nQpw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781532802; x=1782137602;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=81E6k+ygViV9U22cpFsmJTigOesewusphjAS3Y1bdII=;
        b=d+JwSVMP+UqRDcDgLBLU3blxJ1lKz0r2K2dEE0o99UCqEqWj8taFO8AF9nVdcbxlYi
         y36810Kx+ra39MxVedFlv+XLKkXBS/3VNVnw0lI8NDa3+Dj7HLMUMKHffs/+mb7u+bZz
         nuNEp+9olE0816Skx5syEsf6NWCshdjcpWUU8/7PghkeKFa/rWawvylSI3IHpntgWOyJ
         IdqU2LMUiMBu+5QTGoefRtdZVmFjXg7o8mGF6XgNdwdPvx2cLcoEiiKbfE/kVRJqL/Zc
         EOyI+qAhs5AikeY+MtE5l4XBlFH9BGLe3zKwk64v1t1Odg/bsFeIwuVFRmRI9uUU89/S
         u3qQ==
X-Gm-Message-State: AOJu0Yx6PHCXcaiv7hJrMlIisBzr17S+yZNouRf1+yLAt6fdQGB1w8oi
	Ro7W/a85WwaNJ1JFES/Pn/OgjZBGiT4yCwGwzSzE4aWqyv3p87LYFaKyEwh1wTY2/FtbjsYT0rG
	SwQM=
X-Gm-Gg: Acq92OFMCLLpmDwrr3r3/wxNDP9GK9+gSbU3SvQgCSDwSD5FTzP85a0XWg35VwM4uu0
	rcx5s5SeRbHTPq3d+FLyNiXkBObghD25iaSmKCpMVWVqt/h+Chpu82pXjPZ2ktH7ZhdDY3eQ5dD
	Jfjn6KU00udEBje5hK0JzZXTCZSjCdGZyhPvh1Wv8o3PKO8rp8+LKUwKBTRhpE/sPcbWi+mPG0L
	4flz3w62uwKYEAurFwgXRx4k1MBgE+4MqGKwN1dlZkTR8KkrztMa3Nu0dFl4Gbq8rS5wxvZpZsC
	gE7/fH/jb/IxFxjRFnlvC0utbSw+MNbdy8nBV0xAcZrwPWhQA2lKYGm/NF3XGe0R8BPCvanku8l
	+ERTHpFuImHZ+bnvu0o9WTD0mCT4j0xj1TvRFKpRPpYVCgGXNk7VqHw8E3SeLLdTOmFw0RpFkxH
	o7H2xtS9dzctJg3IUSRD7FMrcEm7tfpZO/ZonJ9q/dNrVeTq7oNsPU36h5c8DSMq0IkWAqGlJXI
	vIl3FU4j3hZZdU=
X-Received: by 2002:a05:6000:1acb:b0:455:fbb:28bb with SMTP id ffacd0b85a97d-4606dbd7797mr19395256f8f.35.1781532802026;
        Mon, 15 Jun 2026 07:13:22 -0700 (PDT)
Message-ID: <ebb489d4-0670-468d-abd5-8d130636ef45@suse.com>
Date: Mon, 15 Jun 2026 16:13:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH for-4.22? 4/9] domctl: error code adjustment for unpriv
 callers
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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@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: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ebf023/1781532802-2B96A3FF-C8C9C551/0/0
X-purgate-type: clean
X-purgate-size: 912

Unprivileged callers better wouldn't be in the position of figuring out
domain existence from error codes. Adjust the respective path sitting
ahead of XSM checks to produce -EPERM in such cases, just like the
subsequent XSM check would yield.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
With more lockless cases likely to appear down the road, we may want to
centralize determining which error code to use, latching the result into
a local variable.

--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -356,7 +356,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
     default:
         d = rcu_lock_domain_by_id(op->domain);
         if ( !d )
-            return -ESRCH;
+            return is_control_domain(current->domain) ? -ESRCH : -EPERM;
         break;
     }
 



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 14:13:57 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 14:13:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338282.1599299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ84Z-0002V6-9M; Mon, 15 Jun 2026 14:13:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338282.1599299; Mon, 15 Jun 2026 14: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 1wZ84Z-0002Ux-6M; Mon, 15 Jun 2026 14:13:55 +0000
Received: by outflank-mailman (input) for mailman id 1338282;
 Mon, 15 Jun 2026 14:13:54 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ84Y-0002UK-0Q
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 14:13:54 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ84W-006mCl-Tu
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 16:13:52 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a30089a-e002-0a2a0a5209dd-0a2a450c9d2c-16
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:13:52 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3008a0-62f1-0a2a450c0019-d1558035dc20-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:13:52 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-4905529b933so34284455e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 07:13:52 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922033156csm242890575e9.7.2026.06.15.07.13.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 07:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781532832; x=1782137632; 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=zMGq+ldkZYUEV1vp7v9zJ2c75lUX/WxhphkfBdJ74bA=;
        b=eLslGjymOfRi7dYoMnv0R4c37z0in3BWdsV9f5nbADwcMMPx1xZWxXj/Rnp9NbcpGj
         s0DpYO1XDOQuvNGSRyKeYUWs3dxRKpSwniCgC5D+itO3Z37LUnSpGNC+/jowv7U5bkWy
         iCGWInD8SFHWVzgHmUCTT4QPguxKJbOo4FpeLmBDecKPrkGmt9VKJHidp6tB7SEM+Zrs
         SwbjLqXBtV79CVY6AB1WQ2vUEsmi7yOmy28iGPyHZl3GlkoXKIa/XJHaHVHP0rpRUQgF
         td0YNaygx1ZeM7DsoE2ov3Am4C/5gPc9p9xG9L9b2snDypfwmcQvrXpphpOVFf6gOFHl
         RHGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781532832; x=1782137632;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zMGq+ldkZYUEV1vp7v9zJ2c75lUX/WxhphkfBdJ74bA=;
        b=S/OJN/ivVyk6GiF2q1JtqWzKf3UASXTCbG3jjJ6/lThvsQv02rZaqUV9PHdERC6vxp
         PWhJoGgA+gkAUPctb7W7e7ipleGRYYlM4QqaLQWBl+XpB8l1JJIT7KK07B34yLxVDJJL
         GV7dWFiLK1N1//bMwQVMBzenUne2RwV00f98GNnnpXpTK9qVEqucH4VuW6qYqTU0P/xe
         98BoLniKFBx9P+/o+OyAItdq6H5NGuAAkpr4GUXGTpfanHy6KxMBjRCPa1ghHHF9Ng9X
         +s3qyXC4EhxinLoN4hrZC1kW0FICBFDNPPi6+xaxb7OQagsqRGhiZ6z/ZSujwgRACVXy
         mx7A==
X-Gm-Message-State: AOJu0YyMYwzpU+snsLnjyZq5GNKcEtv/TAS4+U9O7X7/wb1Md9VUliq4
	PQDqbASTfUCZnloM3pf9zSJq7tgHktf140FAM6se6RIrs0SVpvE8l6u3YwAuAJKDHcKt3aR4QaE
	h07M=
X-Gm-Gg: Acq92OE6ywmKlvybqEDqBE0a9ZpfqzJMsApXQxfqwFrKPHcibvYS+XDdPvaZW/gnUwo
	7OXOljGKxzPzXh4I9Jj98KYTA7yCbSogVbJ7xx0Di2TtErh1CuO32HhD0jFHwS3nWO0gdBAdbLb
	kC85/EEoCdLPS1gQ1B4GL76gIt6OrPXHNzNphyeVvIjlM/6KFW5Zw+B5fuxP07Juyx5dAwjO/DM
	DhQeD/5wjX1zQKFIF1Ui48F3S391Vr03bo/WxBxA961xsPcbJgI2LEF7Eqb6HlYBQ0k1vqdp4/o
	3OjT1veEDys+lseujRxFpcpy79JCPuPdyexGvhAAfRoIteC2+E4cUdWXPT7QTgzUpDlEBt5X9dU
	zMseDSkKv1lJC8bgNPPsKyJJE9MXoG9gTb/ZbXtis/N0R3Ap4PiS79ptYlRIxTalBLFr1yYAKb3
	IeEaQtFTjoIlTm5Z7DWDrfr90vE6zYzdQ6A8H0VVIU3aFH7ugrCSVcoJMBUTfrGrJ3V/mbKFLj7
	TTmNUHJoKBtddKssV/jZM7thA==
X-Received: by 2002:a05:600c:83c8:b0:492:1e36:d16e with SMTP id 5b1f17b1804b1-4921e36d1a9mr147508545e9.36.1781532832246;
        Mon, 15 Jun 2026 07:13:52 -0700 (PDT)
Message-ID: <0986c7e3-7a1f-4e1e-b132-78593c8b63e1@suse.com>
Date: Mon, 15 Jun 2026 16:13:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH for-4.22? 5/9] domctl/XSM: avoid XSM_OTHER with xsm_domctl()
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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Daniel Smith <dpsmith@apertussolutions.com>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@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: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1781532832-E2D73CF5-81C86F79/0/0
X-purgate-type: clean
X-purgate-size: 2222

Make explicit at the call sites what (default) permission is required.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -331,7 +331,7 @@ long arch_do_domctl(
         /* Games to allow this code block to handle a compat guest. */
         void __user *guest_handle = domctl->u.getpageframeinfo3.array.p;
 
-        ret = xsm_domctl(XSM_OTHER, d, domctl);
+        ret = xsm_domctl(XSM_PRIV, d, domctl);
         if ( ret )
             break;
 
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -743,7 +743,7 @@ long do_paging_domctl_cont(
     if ( d == NULL )
         return -ESRCH;
 
-    ret = xsm_domctl(XSM_OTHER, d, &op);
+    ret = xsm_domctl(XSM_PRIV, d, &op);
     if ( !ret )
     {
         bool lock = !(op.u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_CLEAN ||
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -516,7 +516,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
         if ( op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_CLEAN ||
              op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_PEEK )
         {
-            ret = xsm_domctl(XSM_OTHER, d, op);
+            ret = xsm_domctl(XSM_PRIV, d, op);
             if ( !ret )
                 ret = arch_do_domctl(op, d, u_domctl);
             goto domctl_out_unlock_rcuonly;
@@ -542,7 +542,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
         break;
     }
 
-    ret = xsm_domctl(XSM_OTHER, d, op);
+    ret = xsm_domctl(XSM_PRIV, d, op);
     if ( ret )
         goto domctl_out_unlock_rcuonly;
 
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -157,7 +157,7 @@ static XSM_INLINE int cf_check xsm_set_t
 static XSM_INLINE int cf_check xsm_domctl(
     XSM_DEFAULT_ARG struct domain *d, struct xen_domctl *op)
 {
-    XSM_ASSERT_ACTION(XSM_OTHER);
+    XSM_ASSERT_ACTION(XSM_PRIV);
     switch ( op->cmd )
     {
     case XEN_DOMCTL_bind_pt_irq:
@@ -176,7 +176,7 @@ static XSM_INLINE int cf_check xsm_domct
         return -EILSEQ;
 
     default:
-        return xsm_default_action(XSM_PRIV, current->domain, d);
+        return xsm_default_action(action, current->domain, d);
     }
 }
 



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 14:15:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 14:15:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338292.1599308 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ85s-00033p-IB; Mon, 15 Jun 2026 14:15:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338292.1599308; Mon, 15 Jun 2026 14:15: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 1wZ85s-00033h-En; Mon, 15 Jun 2026 14:15:16 +0000
Received: by outflank-mailman (input) for mailman id 1338292;
 Mon, 15 Jun 2026 14:15:15 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ85r-00033Q-2y
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 14:15:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ85q-00CXS4-Fr
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 16:15:14 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3008e7-2eae-0a2a0a5409dd-0a2a4504c4ec-38
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:15:14 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3008f2-1dec-0a2a45040019-d1558034e98b-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:15:14 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-490aebf33e9so15384345e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 07:15: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-49220304180sm252635745e9.4.2026.06.15.07.15.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781532914; x=1782137714; 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=bSU5BZAbb+7t8p1HVe3R8WCce3JTJoMBKaFkaOagLjk=;
        b=JnY8f0lC2WWkF+sdfo2yRMwBZPERnouwUyt7jrCmY0mWRtxxiBk1CdAYyKxgJUJyU6
         /smZyhcCGxr5M2KCEmX/Ky9JPngqzcmDdBVkSavFdF+iC1L1dKGhTlzg3U7lTSE+kn+4
         a2l96FFb/EmNtkDiEZmLb+kMajNQeeYHN33aiNUdULOONY5AaxpScuEZ9cKvPbXZgKw/
         9gVc2HoQnY9OrWmwUApLdQTUBtoZoPtJGSNxK5pguNc6u1ZAD34BRb/r5zM/YlpzwsmN
         pWW6Andw5viRB3i0Jtyw5VIMu7f7L+nmH9KYKf/Rjtgtwo3tAj9wac4aBeCh3xmL0Yjv
         nc8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781532914; x=1782137714;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bSU5BZAbb+7t8p1HVe3R8WCce3JTJoMBKaFkaOagLjk=;
        b=s6dNNr0Vmx9Vlr3rkveDAFE6ZtQhh77a8/7L3r7phGlJBybOlIyfb7jG1+5iyb2E/s
         MZoMFgbTDtQlwWPJRJcc/ReXPjxyinD2fEPI8STK/b8M0cm9p77iP4bnU9628KVJnW9M
         gVmR/NXRvXJd730voywa2g8bpvUWRlkwqwuUo+j2DSbt5rJQZxgcDDg7afaEUjR57ZYV
         qxukJo+aRxVoJN8a9lg2q02pgmNgsShjdrvsVgjiWLCsNhi4w5eiydDvj4FsznxDhjis
         Mj43m8i0WU82MXnZSbWBugHvkmTwZJY48DNbplwc+rZePrj5fam8OjdcINOGtUd6LDtb
         uePg==
X-Gm-Message-State: AOJu0YwHZiRbZ50a/0n7SAYGnj1+BUoTkuzL3FCqUhqlrX4bvMGMFHNv
	FBO3JV7/pKsJ7LthHnxWsYK/EKDb561ZPeQx3bdlddjQu3/8subcqcNIUbnl9Q/vpwXSjfjfgKX
	y+Qs=
X-Gm-Gg: Acq92OFES1Jfa4yUwIL8KK5tIE/wG3epTBAskrQ6WJLraxEAVmH0/Dq62cimpEqeoNd
	sZqmF2i0NlUhT6ztr4ya94dvwNxDx3cJUOVtMcNm8PvtpH738Ao5HrrcjvRWDXsHWPpUq242oqq
	VBKRHuJZ+gFfcRr6dA0IFHaUXq7rCdhZbwS154Z63tcjzXbBeRdkPXqLwY7BsN0Oqk6C3tce69e
	lBeSTFMuIXAkZMvLMDJnbWo0ySfBg8S9iKolsTlMcS9x3/npPp0yLDqyZvNpkTYputip3HWoYpA
	9fFCWeSt/lvijH+b1NamyH/AUroLsUmOuIiBtjg0i4ELrlayEkLGbNY4p73jFGQeFTn/LdxjpK+
	R2qUhRuzWr/86vy9Q0HX0yrPmBa83O6zDtA6Xt4ult2OL2oR283pa4fCTspOFqIHGJdwbC3Y8u0
	X22BVrDr4yvkwim/5p3SSf70ixXQebviBpVJ/tLthz9HVAEVPc2M7m/g9mQh138ajpa06w8kDs+
	MuKakEYnSu+xbk=
X-Received: by 2002:a05:600c:46c4:b0:490:bad7:3634 with SMTP id 5b1f17b1804b1-490ec4fb506mr190915005e9.19.1781532912851;
        Mon, 15 Jun 2026 07:15:12 -0700 (PDT)
Message-ID: <0e38793c-e201-4cbe-8cee-6cd26996173a@suse.com>
Date: Mon, 15 Jun 2026 16:15:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH for-4.22? 6/9] domctl: handle XEN_DOMCTL_getvcpuinfo without
 acquiring domctl lock
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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@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: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1781532914-4396A3FF-8B3DD307/0/0
X-purgate-type: clean
X-purgate-size: 2222

Like for XEN_DOMCTL_getdomaininfo there's no need to hold the domctl
lock for XEN_DOMCTL_getvcpuinfo. While moving the code also switch to
using domain_vcpu().

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tentatively-acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -546,6 +546,33 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
     if ( ret )
         goto domctl_out_unlock_rcuonly;
 
+    switch ( op->cmd )
+    {
+    case XEN_DOMCTL_getvcpuinfo:
+    {
+        const struct vcpu *v;
+
+        if ( (v = domain_vcpu(d, op->u.getvcpuinfo.vcpu)) == NULL )
+        {
+            ret = -ENOENT;
+            goto domctl_out_unlock_rcuonly;
+        }
+
+        op->u.getvcpuinfo.online   = !(v->pause_flags & VPF_down);
+        op->u.getvcpuinfo.blocked  = !!(v->pause_flags & VPF_blocked);
+        op->u.getvcpuinfo.running  = v->is_running;
+        op->u.getvcpuinfo.cpu_time = vcpu_runstate_get_running(v);
+        op->u.getvcpuinfo.cpu      = v->processor;
+
+        copyback = true;
+        goto domctl_out_unlock_rcuonly;
+    }
+
+    default:
+        /* Everything else handled further up or further down. */
+        break;
+    }
+
     if ( !domctl_lock_acquire() )
     {
         if ( d && d != dom_io )
@@ -792,28 +819,6 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
         break;
     }
 
-    case XEN_DOMCTL_getvcpuinfo:
-    {
-        const struct vcpu *v;
-
-        ret = -EINVAL;
-        if ( op->u.getvcpuinfo.vcpu >= d->max_vcpus )
-            break;
-
-        ret = -ESRCH;
-        if ( (v = d->vcpu[op->u.getvcpuinfo.vcpu]) == NULL )
-            break;
-
-        op->u.getvcpuinfo.online   = !(v->pause_flags & VPF_down);
-        op->u.getvcpuinfo.blocked  = !!(v->pause_flags & VPF_blocked);
-        op->u.getvcpuinfo.running  = v->is_running;
-        op->u.getvcpuinfo.cpu_time = vcpu_runstate_get_running(v);
-        op->u.getvcpuinfo.cpu      = v->processor;
-        ret = 0;
-        copyback = 1;
-        break;
-    }
-
     case XEN_DOMCTL_max_mem:
     {
         uint64_t new_max = op->u.max_mem.max_memkb >> (PAGE_SHIFT - 10);



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 14:15:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 14:15:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338297.1599317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ86G-0003UX-OF; Mon, 15 Jun 2026 14:15:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338297.1599317; Mon, 15 Jun 2026 14: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 1wZ86G-0003UQ-LW; Mon, 15 Jun 2026 14:15:40 +0000
Received: by outflank-mailman (input) for mailman id 1338297;
 Mon, 15 Jun 2026 14:15:39 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ86F-0003U7-A5
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 14:15:39 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ86E-00Coac-Mx
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 16:15:38 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3008fd-bab6-0a2a0a5309dd-0a2a4503b73e-32
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:15:38 +0200
Received: from [209.85.221.46] (helo=mail-wr1-f46.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a30090a-672d-0a2a45030019-d155dd2eed1e-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:15:38 +0200
Received: by mail-wr1-f46.google.com with SMTP id
 ffacd0b85a97d-45eeba68948so2537147f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 07:15: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-4606f20e77asm36923788f8f.0.2026.06.15.07.15.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 07:15: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781532938; x=1782137738; 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=goUyIL9edhfTVAZj5FpuH2+naL6b2BcBcPbCx94rhcM=;
        b=eG+1VtFAl1g7fc875nbv0QbZ6BG03iRcwPJYgseKiWL1HITrdcrbQmw1AQE3VlCfIh
         IVWaaOgkfXhEz4T1NNzrgPK6Y1PECpCEY5SmLRXRe1R1XNrOCoCS4wWbZSkIWQ+fMf5d
         Sfl3iHRzwt1VPqHTHzjkbYMUdty1klS7Cp84edYoZAan+1CnanuynG42LibaUf1UCl6z
         IF/01NBbU1JM/BSatJ7FqBx2Ofu2h34omhJiC1QvfSgdruZj67Qn8/D9prEh63DcwZ29
         WnzCXOXwDevPdGDF/DJvV+MrfKZa/w9RZw980F/RW7/Fu3/vxEQcztkGSKx9bwFrY2/a
         pmCg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781532938; x=1782137738;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=goUyIL9edhfTVAZj5FpuH2+naL6b2BcBcPbCx94rhcM=;
        b=EQFK4u+QTrK6EU7xKzKLd5kz7D3yQzjuf2vkDybw63WTXNfNZn9PjwpbhlLCZqncmU
         5PbeiNaMkN2LGhbQ+7LQciCWmyuOPsPlPwmzGgNkPi4vVgM9HvahfukwTWedrhYFZ9kp
         1Bq8yt2GCl2cDwa489+g1rRAZgoko2CSSJ48En9aSFs0P4t5T6Qf8CbQUp+qOU4MkMtP
         P2suuSDN9qMn6xwNyfjRGNbIKXCOQxHafON5ltRWXNVjUbwFgfykTGZxXb6hIAGLbq+J
         nEYPi4IElsSlTK8Zz/c72lxT/0yBcz6CxjqpVKYMghss/1bpl9vKHHs+xCzakCvjlFoO
         38ww==
X-Gm-Message-State: AOJu0YziL0d40GjzYnmb56w80E8lXjNIOoiqWMoS2C0HKysSgl9XkPFc
	bhFtEv0CwtjO2mwyjKp7YrgIY/bvI2xbLGYMHzNKRXTu3r5oPZJcI5MXzugMJMZZRykO0bL3GyW
	uDL4=
X-Gm-Gg: Acq92OFw4/tlDNhqEJbncVIk/Pq79BykxQV306FhPq4kJUR7n9FnXIsZg5dotaF/09J
	LV2XxTCVmSdgRHi2Mw1VefxG44pR/tci2BFsSMbaZYk4FGxy6shN3s9XcRHdGpHM8FnIQdoPeMZ
	cqYwuqZhISAIyg/+bMTSElnuAbJJT4ytNh5Fw6CyoNoTOEalUjNuJwJ42FVxF2VwwgpICqVyFhS
	E0ejmN7zLdlBKNYb3iroDMstQ3hQ/vtZlQE6K2y1TPoHitMjLgjuMDFv7lvVQvWGOsAigZ6rqUn
	5pGSrTch/+x2Tr8xHM1oc6dt5itPnQqusCtuj74X6zbYCFuiw8gaJhaIfnK9qRnUrXvfU4B2FUN
	c77FTqWnYRSsMmSmB7p7epqQGPGWFJOHRHc3fSQ5X6SV31r4xQVK6u18LPdmD2TSZidRf6kn08X
	etDoRyeuC8sFvz0uh6CMj8Wrx7/Dyy08UCKYpmhRArSJUbkXYx+UQLhN5x4fqvoDNDg79DmoTZN
	ax8XuHR6nhztnoxTeFZtgzWwg==
X-Received: by 2002:adf:e014:0:20b0:45e:73b3:8118 with SMTP id ffacd0b85a97d-4606dbba24amr14282315f8f.29.1781532936652;
        Mon, 15 Jun 2026 07:15:36 -0700 (PDT)
Message-ID: <5f49f890-426e-4076-8326-c2fbff433a35@suse.com>
Date: Mon, 15 Jun 2026 16:15:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH for-4.22? 7/9] domctl: restrict permission check for
 XEN_DOMCTL_memory_mapping's remove form
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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@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: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1781532938-3A965938-7DA2D80D/0/0
X-purgate-type: clean
X-purgate-size: 1010

Like is already done for I/O ports on x86 and for IRQ unbinding, check
only the requesting domain's permissions (for it to not interfere with
MMIO backed by another stubdom DM), but not the target domain's: Removal
should be okay even (perhaps: especially) when permissions were already
revoked.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -436,11 +436,15 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
             goto domctl_out_unlock_rcuonly;
 #endif
 
+        /*
+         * NB: The double lock isn't really needed when !add, but is used anyway
+         * to keep things simple.
+         */
         iocaps_double_lock(d, false);
 
         ret = -EPERM;
         if ( !iomem_access_permitted(current->domain, mfn, mfn_end) ||
-             !iomem_access_permitted(d, mfn, mfn_end) )
+             (add && !iomem_access_permitted(d, mfn, mfn_end)) )
             /* Nothing. */;
         else if ( add )
         {



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 14:16:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 14:16:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338305.1599325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ86o-00044c-48; Mon, 15 Jun 2026 14:16:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338305.1599325; Mon, 15 Jun 2026 14: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 1wZ86o-00044V-1E; Mon, 15 Jun 2026 14:16:14 +0000
Received: by outflank-mailman (input) for mailman id 1338305;
 Mon, 15 Jun 2026 14:16:12 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ86m-00043p-Lx
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 14:16:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ86m-000FX8-2b
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 16:16:12 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a300922-e002-0a2a0a5209dd-0a2a45099f46-46
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:16:12 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a30092b-2497-0a2a45090019-d155802cc1b3-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:16:12 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-49222b6e871so20334905e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 07:16: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-4606f2ce361sm33888958f8f.31.2026.06.15.07.16.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 07:16: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781532971; x=1782137771; 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=7ddBo5SyZdCvv9hPrYmhMposadC8eHObQUBDrwKreYA=;
        b=acH5xgoK/aK4q2zlqFYz9yM8S/lAAWhT3L0mOy75RFL2y4iVX7w8Vwu+Z2uG5qD/RA
         TJaRT1KiLmq19ekXEH5wuIWIyjujIC+VVDedV+H1O7rIs4QsMw4qrLE5Jmhciw0GBWMF
         FGieGv9Zj9fCB+XaiNF08iYJjFhdB2mhWO9oKIGOo9V1nn3rpJLvyBU1e0Tr75m6e948
         rMSOd1VtomTRXA3HkIyVxMXp/Ib27lO3Wu6ocbZydf2XKhPDCqh0kAz6/PKtg9iZUIUK
         bpeduzOrJCpNTfBL28HtNfBeI/gaJ0IsJxSLjcostZuakN8b+P6HNDHlY9510rlsZA8q
         DF+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781532971; x=1782137771;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7ddBo5SyZdCvv9hPrYmhMposadC8eHObQUBDrwKreYA=;
        b=lwK5XDrpl7FadgJirUv+FF9ZZzoP/hZjVuxqFG9RAGd5v9/nr8rW1kAm/GHCo6JaEY
         Q3rGW88Fcmbw3pM5d3IcEe6qsZPDpiAoCK9Bg1xfS7aoLPNEmV7yVE1k8vxuShBFptXw
         eMLODFUs496XwGGvprHEEY762I48f1jmsvLG1drHHZa44oZbKut8DkZ5w22lMZB7DT38
         raK2JBsnXV/hh+SC4axW3YauPSviagIa1TeABKmZpWy+WyWb92xm8KlGJmP/rQjWK7oZ
         zoCbgRMaTON5EcwMn3AU5WO+xP6Gm8AomP1Xfzy5SQl+B/RDXTL1LhsL8EkRWPwQYL0C
         nNoQ==
X-Gm-Message-State: AOJu0YwYz8ZGSqlts2eBBaq/kNQdmdZpBsHmCcHehTjAWF/KACoXgVXI
	K+ArL65oGF5WBN6cyf5ebOtPYsTcHI2S0cio4m0f+fYd+EqMEscO8rXSE53urOwkMPr+eyP0BLY
	Dl6U=
X-Gm-Gg: Acq92OFmH3fp6quCg5ubWHS94SZX06R7JGc8ggqyPEdFUGvoJZTypfYqRXitBtxynoA
	mUe/ELgla4e2+TFS81H9Hf8uX2zX4A4RRgLCiymG0Ch7oSKqbLXpveAm6kfa9wtBAz0/to/u2ig
	6CSqOIutSqMYsbL9kSkthSAZ70xhTkUc0jLwePy/5rCslGgngQXRiz2lizT8Y0NrDH2R7H04qvQ
	0AR0zAjcrPBjxZ4jDmlqltvnKxhejI6MFO0yQrwFOwTgznG1tk+/w0GB3AN+PFSqrd+ezGUS5c4
	HukWonWOi/HfXkvO9cOmbObDXxVqgB3DD5bILxCIbDUzfSmqqCAuK1b6QFQBQysg//lPQjAE1GZ
	zdofaqg5joQpiOCgvrA0j3f3RZqGTSVsjUs7xwJFvj9z3xzj4IlBNqPHSzAfiQ4r7hdnwVEuXNq
	gzzvuX89uGsKJtJCPycpfl11LYORTSIwx852jZF44b3EnSw10AMERAbZPCQeRDv1zIoKVonyLqM
	UPNVIWDGAC3HI0=
X-Received: by 2002:a05:600c:34c8:b0:492:1e36:8c4b with SMTP id 5b1f17b1804b1-4921e368c91mr147026915e9.36.1781532971368;
        Mon, 15 Jun 2026 07:16:11 -0700 (PDT)
Message-ID: <a88eb54a-f0ff-4ad6-971f-ae526297a15d@suse.com>
Date: Mon, 15 Jun 2026 16:16:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH for-4.22? 8/9] x86/domctl: don't imply I/O port permissions
 from I/O port mapping
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@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: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1781532972-37979A53-6C973468/0/0
X-purgate-type: clean
X-purgate-size: 2688

Rather than granting permissions when mapping (an operation that DM-s are
allowed to carry out, while they can't invoke ioport-permission), check
whether permissions actually were granted when adding a mapping. This then
also allows relaxing the necessary locking.

Fixes: 192c4dabc344 ("domctl and p2m changes for PCI passthru")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
libxl has libxl__grant_vga_iomem_permission(), but I can't spot any I/O
port equivalent (nor a revoke counterpart, btw). Everywhere else MMIO and
I/O ports look to be treated equally.

Qemu uses both xc_domain_{iomem_permission,memory_mapping}() in
igd_write_opregion(), but only xc_domain_{memory,ioport}_mapping() in
xen_pt_region_update() and xen_pt_{,un}register_vga_regions(). Is the IGD
region special in any way? Clearly this can't work from a stubdom.

--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -714,9 +714,14 @@ long arch_do_domctl(
             break;
 
         hvm = &d->arch.hvm;
-        iocaps_double_lock(d, true);
+        /*
+         * NB: The double lock isn't really needed when !add, but is used anyway
+         * to keep things simple.
+         */
+        iocaps_double_lock(d, false);
 
-        if ( !ioports_access_permitted(currd, fmp, fmp + np - 1) )
+        if ( !ioports_access_permitted(currd, fmp, fmp + np - 1) ||
+             (add && !ioports_access_permitted(d, fmp, fmp + np - 1)) )
             ret = -EPERM;
         else if ( add )
         {
@@ -747,15 +752,6 @@ long arch_do_domctl(
                 list_add_tail(&g2m_ioport->list, &hvm->g2m_ioport_list);
             }
             write_unlock(&hvm->g2m_ioport_lock);
-            if ( !ret )
-                ret = ioports_permit_access(d, fmp, fmp + np - 1);
-            if ( ret && !found && g2m_ioport )
-            {
-                write_lock(&hvm->g2m_ioport_lock);
-                list_del(&g2m_ioport->list);
-                write_unlock(&hvm->g2m_ioport_lock);
-                xfree(g2m_ioport);
-            }
         }
         else
         {
@@ -772,15 +768,9 @@ long arch_do_domctl(
                     break;
                 }
             write_unlock(&hvm->g2m_ioport_lock);
-
-            ret = ioports_deny_access(d, fmp, fmp + np - 1);
-            if ( ret && is_hardware_domain(currd) )
-                printk(XENLOG_ERR
-                       "ioport_map: error %ld denying dom%d access to [%x,%x]\n",
-                       ret, d->domain_id, fmp, fmp + np - 1);
         }
 
-        iocaps_double_unlock(d, true);
+        iocaps_double_unlock(d, false);
         break;
     }
 



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 14:16:47 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 14:16:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338312.1599335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ87I-0004ah-BZ; Mon, 15 Jun 2026 14:16:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338312.1599335; Mon, 15 Jun 2026 14:16: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 1wZ87I-0004aX-8a; Mon, 15 Jun 2026 14:16:44 +0000
Received: by outflank-mailman (input) for mailman id 1338312;
 Mon, 15 Jun 2026 14:16:43 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ87H-0004aJ-Eb
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 14:16:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ87G-00Cp0v-RW
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 16:16:42 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a300937-bab6-0a2a0a5309dd-0a2a4506863c-44
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:16:42 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a30094a-7371-0a2a45060019-d1558033c923-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:16:42 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-490ac10e337so23624925e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 07:16: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-492202edec6sm283417445e9.3.2026.06.15.07.16.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 07:16: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781533002; x=1782137802; 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=rXHv9yKRduSEsLK27njfQAEzXBihUPnOeQ8o3z6l2bw=;
        b=Pm60VdkLRrwhVQQVW5OWi3DeWCWKe6AAph688PJYiwUVZeqIcFgVHptXu2vgUK8S9g
         Ycv+DHwDfVs0utrrcuIxXy1xZDsZqMBXkaUR1LpRdEcpLsYNNAK8TShMmeuIGRr3UKWJ
         qG1+TzCVKHX3dHoNZzgxUqi7r60+xgcqczmW60sSPsdVh+rCJPH064fjXwBajyA111Fs
         Dvhv6LBCQt+l+gG7KPljNy2kUE4Ag1X2ElGzcG4Ysgovf+/qD3VDnZyQ5UdHneslj5KS
         RVXMIsc6YPKdW+fFt/Gwrcfk7tA8xqqJP8GB0G6dIez+/VPd7zEW+bH7lb3HGERf6Fzs
         q/fQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781533002; x=1782137802;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rXHv9yKRduSEsLK27njfQAEzXBihUPnOeQ8o3z6l2bw=;
        b=r7K8x9GaqqsOz+I7+wHDAIEIzUoxMaODBdj7MLbIBOGw/sLO4rTohYtOMWyAxpO6v8
         311STMnsvV9YD0NDzZumOV4PIunUIDh97mBHD6mrnzGILxFcjQD7qWMd/JNZQ1S69bEN
         Di4u13FY33MnTxv1zMLODckde5JGqzY9wYl790jXk70zkYdkdZ9MbhTePw/JOLalPdzY
         0Cu3PjC/y6JN2qc7ZaWbYsSk550aiPYqZIIS3ugYy9mtsAj/OFAQDWUgaFcFI0PwwuOI
         CRrMWmchwF2UMSoTmlqEKf/1ADI3Cbr9YmJbmI+XLSCjaWm0FM2NFm16iMrUFl5rVJ94
         xWgg==
X-Gm-Message-State: AOJu0Yxy/liLDD2chR3ruAWlDb2qwW6ESVh0Y4ePzTnSdK2+kcTk1RCn
	Spzvkjc4cbCOFK/vwVjWE45K+BgN/wUlkD4IXLb7r4veUMXjKOARmNjzvGESnfC6lfq/NsT6DSU
	Uux4=
X-Gm-Gg: Acq92OECMGeHM8eghvAKsfL5gh2xiquPQhtOdB/ci1wIoQCPttmqIA/BhacsoUNfxH1
	CgQ94+7FGrlnMtlxupYuDdSOnq7PL9Bqj3GfwfI2xikOkj7oJC3Th2oieKfRr93Oj8ID/D/UB7p
	3yYibkLnnC/kNM8sn/W2+oXdji20FL0U8K149n2+jOG4Tt4dmP2y0da1DLKlulCA00bAzsnghzJ
	nQp/kkobvLQcvU4OcbNuZcXiDkqlU87jRleeathvZb+lNsKfpBKBegLaEgCEdaI6hZCPY1juyfR
	o6lUVGa+mU6XYxqsjPUxYTW3jHTu7if7/axUVW2/iA7IpO43rMgIB6VAW9kDrnXpIrdC4l9rdWQ
	x7yprGTsmNMxFaaLMEQFr5Ru7Fi7PxzuR8auJmzIzKNChnARMAcUsW0t0+gf7SqW+wA+vsP+ru+
	yS41Za6pzs3SuIjIKXUIb6541EWSATpFQUnvDLXtRjZRgrCCkgp0iUSVBW7p64ETCD7zlc+5NGZ
	ZB87XHSNRWL9nk=
X-Received: by 2002:a05:600c:314a:b0:490:4b89:5362 with SMTP id 5b1f17b1804b1-492200c0416mr129045525e9.24.1781533001867;
        Mon, 15 Jun 2026 07:16:41 -0700 (PDT)
Message-ID: <b0a50973-7a84-4e69-8241-d761e9b887dc@suse.com>
Date: Mon, 15 Jun 2026 16:16:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH for-4.22? 9/9] x86/HVM: more checking for
 XEN_DOMCTL_ioport_mapping
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@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: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1781533002-86168D75-F4DB4F5E/0/0
X-purgate-type: clean
X-purgate-size: 2286

When adding ranges, only alter existing ones when there is an exact match.
Don't accept ranges overlapping existing ones.

When removing ranges, only remove a range if there's an exact match.
Return an error when the range isn't found, and also don't call
ioports_deny_access() in that case.

Fixes: 192c4dabc344 ("domctl and p2m changes for PCI passthru")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Should "exact match" perhaps also include the guest port number? I'm
uncertain here as that kind of conflicts with "add" being treated as
"change" when the host port (and now count) match.

--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -731,14 +731,21 @@ long arch_do_domctl(
 
             write_lock(&hvm->g2m_ioport_lock);
             list_for_each_entry(g2m_ioport, &hvm->g2m_ioport_list, list)
-                if (g2m_ioport->mport == fmp )
+            {
+                if ( g2m_ioport->mport == fmp && g2m_ioport->np == np )
                 {
                     g2m_ioport->gport = fgp;
-                    g2m_ioport->np = np;
                     found = 1;
                     break;
                 }
-            if ( !found )
+                if ( fmp + np >= g2m_ioport->mport &&
+                     g2m_ioport->mport + g2m_ioport->np >= fmp )
+                {
+                    ret = -EBUSY;
+                    break;
+                }
+            }
+            if ( !found && !ret )
             {
                 g2m_ioport = xmalloc(struct g2m_ioport);
                 if ( !g2m_ioport )
@@ -759,12 +766,14 @@ long arch_do_domctl(
                    "ioport_map:remove: dom%d gport=%x mport=%x nr=%x\n",
                    d->domain_id, fgp, fmp, np);
 
+            ret = -ENOENT;
             write_lock(&hvm->g2m_ioport_lock);
             list_for_each_entry(g2m_ioport, &hvm->g2m_ioport_list, list)
-                if ( g2m_ioport->mport == fmp )
+                if ( g2m_ioport->mport == fmp && g2m_ioport->np == np )
                 {
                     list_del(&g2m_ioport->list);
                     xfree(g2m_ioport);
+                    ret = 0;
                     break;
                 }
             write_unlock(&hvm->g2m_ioport_lock);



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 14:24:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 14:24:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338325.1599343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ8EJ-00072n-0o; Mon, 15 Jun 2026 14:23:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338325.1599343; Mon, 15 Jun 2026 14: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 1wZ8EI-00072g-UW; Mon, 15 Jun 2026 14:23:58 +0000
Received: by outflank-mailman (input) for mailman id 1338325;
 Mon, 15 Jun 2026 14:23:57 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ8EH-00072Z-Ct
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 14:23:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ8EG-000yeF-MF
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 16:23:56 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a300afb-5cb7-0a2a0a5109dd-0a2a4501da4e-4
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:23:56 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a300afc-c1f2-0a2a45010019-d1558033ecf3-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:23:56 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-491b390f9e9so27517835e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 07: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
 ffacd0b85a97d-4606f2cd6c2sm35052906f8f.30.2026.06.15.07.23.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 07:23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781533436; x=1782138236; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=uJPQfOvk22dPaWInezJnDq0or5byYBtpnuTdO7kjQkI=;
        b=KU8TMxknBRoWRacl7MP0I5eCaQbHlnkVlLXw+/++H0BJms2JSTJRJOQST9J3D+pVck
         Sp2TKrUNNlljrjfLr0ut0PcXXxW08PSRzb3nX88XZIzgBvhbncZn5T3uqPaZ1uw+l6BX
         3x1RlYclaC3CmCCZfBpntAnaPcMc9UGuYkYnMyHDLVVgSijTWCjc208cnftMn0qItOic
         UCakd1w7KUJ1rqF25RpPPKxiXyjV9mzXUIkPmo+N7Ea3j1FvSdzmg2l8Vuo0NboQ8jzn
         +Ggc7jQCzYinddxEiudxiNZzXExm+zD021uv/wDRiP2eSIvu2v6Z1Q1MpP2vsh4UVq4b
         N3Yw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781533436; x=1782138236;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uJPQfOvk22dPaWInezJnDq0or5byYBtpnuTdO7kjQkI=;
        b=iR1IdA/Zxn4qVyp6K0JM6Nwh3tKCAM+JEusbtLHmkGono3G2CwnsJzmM6Xcb41xnD9
         S+xn6AytXh9JSViCGE5YkZtWLA05g/76QaVzA9nObN/2CHJN+oFaSYxs1HWxqaJpaV4c
         BTFamgIhnbqXkG7KBLWRFAB5MgRN3fbhP5n9YkNI8AppRwiz0VWbQaAWNd7srsJo541K
         7k16GwjcPUw0UbebUXokF27H4XKDqoseo49puEkWoDfjlpKZEhZG77qaJzM/01ycDCIE
         PgAcqxlbcouBuRn4YPXFjsNXa5kP400iqJH23yoGEZHciWo/JG/DkVPn+YufVB1+cq0P
         cPaQ==
X-Forwarded-Encrypted: i=1; AFNElJ9clT6Qw9KHd8qBtnyWtIOOQv6051T4PNW7/ddPhIlKUsUWA0+s5CXHufpMdPt4+F3LODVVRNgCRaA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzLBYbCuaJ7kMXt0WcWioC4ryUnrNixKDTbi/2G3tpLxTYo4RvX
	L89T4kbOSL8TS9pySmzV+CGkw5qAtxNPAnaKbQ9O9r5AQYnnE5HjyruYF+zWcRxlHA==
X-Gm-Gg: Acq92OHLwRS2ePtYZtvtEAJDnwizq9eEp3gqG3r7tzmDSkiP8F7BIjC4HSbapdzCXQk
	+kcblmEk+BxEwbRnd1hEyKkTYmqwqJVQeI6R0A7GEB1kKX/8yQq4vglPVmtIL+yMSrmrer92bSr
	aW5UNorMLb4EA7terrE5gPFEPgmtlfxRZfB421QOg8Lc7hrMgiciOZdUROkT4w9BAqlVWCJFSaG
	6N7ALwmrrffu3EFpu11vJDz2TfhCFKrtLIJWcD3/f7SWXh4+IhuNyMEQo8yPbc/CAif/0TSlxoQ
	srtti6xTY21z/YfzLIsIIFxqvQrANELYNd58XWgkMWZqzQD+cgf/083MiK+K2jqypH+Phsndtix
	eLN1haA14tMmAxH8i3zcCmjh/pJR7ystvOG1KDxKibZADBX1PbBIVDXPG9VPk7oYxCrai9/DeSt
	qO3vtac7NJa01SLFZKsuLJGILCojTjFII3PLIkjwBCzJcyae179CfnyczOA5u9ZT14SRxKqVgfZ
	W867uFs52XVAgo=
X-Received: by 2002:a05:600d:8486:20b0:490:9782:3eb8 with SMTP id 5b1f17b1804b1-490ec4fc0c4mr137771235e9.25.1781533435686;
        Mon, 15 Jun 2026 07:23:55 -0700 (PDT)
Message-ID: <9804e601-1b11-47d4-9583-02f1001489a8@suse.com>
Date: Mon, 15 Jun 2026 16:23:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/2] domctl: Handle some of XEN_DOMCTL_shadow_op
 without the domctl lock
To: Ross Lagerwall <ross.lagerwall@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 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>,
 xen-devel@lists.xenproject.org
References: <20260609151528.2426788-1-ross.lagerwall@citrix.com>
 <20260609151528.2426788-3-ross.lagerwall@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: <20260609151528.2426788-3-ross.lagerwall@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1781533436-B5545FF4-5B1E520E/0/0
X-purgate-type: clean
X-purgate-size: 1353

On 09.06.2026 17:15, Ross Lagerwall wrote:
> --- a/xen/common/domctl.c
> +++ b/xen/common/domctl.c
> @@ -559,6 +559,18 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
>          ret = arch_do_domctl(op, d, u_domctl);
>          goto domctl_out_unlock_domonly;
>  
> +    case XEN_DOMCTL_shadow_op:
> +        if ( op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_CLEAN ||
> +             op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_PEEK )
> +        {
> +            ret = xsm_domctl(XSM_OTHER, d, op);
> +            if ( ret )
> +                goto domctl_out_unlock_domonly;
> +
> +            ret = arch_do_domctl(op, d, u_domctl);
> +            goto domctl_out_unlock_domonly;
> +        }
> +        fallthrough;
>      default:
>          /* Everything else handled further down. */
>          break;

I understand this did already go in as is, yet I have to admit I'm surprised
that it was ack-ed in this shape. For "domctl: handle XEN_DOMCTL_getvcpuinfo
without acquiring domctl lock" [1] it was specifically requested that I
introduce yet another switch(), to limit the number of xsm_domctl() call
sites. IOW I think subsequently this case block wants moving into the new
switch() that the referenced patch introduces.

Jan

[1] https://lists.xen.org/archives/html/xen-devel/2026-06/msg00857.html


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 14:39:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 14:39:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338334.1599361 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ8TT-0001D2-IY; Mon, 15 Jun 2026 14:39:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338334.1599361; Mon, 15 Jun 2026 14: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 1wZ8TT-0001Cv-Fq; Mon, 15 Jun 2026 14:39:39 +0000
Received: by outflank-mailman (input) for mailman id 1338334;
 Mon, 15 Jun 2026 14:39:38 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ecbb938f1000701b@swg.vates.tech>)
 id 1wZ8TS-0001CQ-K6
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 14:39:38 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ8TS-002Dvf-0B
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 16:39:38 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ecbb938f1000701b@swg.vates.tech>)
 id 6a300ea9-bab6-0a2a0a5309dd-0a2a4508e956-2
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:39:37 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ecbb938f1000701b@swg.vates.tech>)
 id 6a300ea9-63b5-0a2a45080019-b9ff1c128055-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:39:37 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ecbb938f1000701b.006 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 15 Jun 2026 14:39:34 +0000
Received: from l14 (lfbn-lyo-1-414-55.w2-7.abo.wanadoo.fr [2.7.24.55])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id 59A8C8125B;
 Mon, 15 Jun 2026 16:39:33 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=YeBSKmM3d45xA6mIhYRKKU6RC0gpVbPgpdW9t0dv/44=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=sEYXrHAuYo6ST1E1HOsevB1sGRNaI1qEDC3AetveRxQfVtGjon2ZebLDLyKoJGM3JK9K/El9Y
 fUCYiEvnU+TZnLSU2AbbV4KZFLOiwMQHuvEqHqlEjy7qhROIr2S/En5EJu/CYuAoM3im8QhlyXM
 rtvNcABM9mFT3ClWf0dLhf6OzEtHgI9eHwNycFGYM6WXf9rKcXaB9iV84mDc1AsRDwtkfb0H0gU
 M0/Gx5tMZpwsCNhVKW46ZmFdMpwCUY4ZtX82zKQz8NDQuLL5SCNiUvvgt5UiJ8x+kz0AoZ9Lgh/
 JvRrWk/sRnZjoEuXjsLQFpasFryYFsdv7Y1vUCkX8Y7w==
X-Zone-Loop: a01599c3c2de43949be69a82c4da69a760ba6154ea55
x-campaign-type: default
x-transaction-id: 8074d41c-f4b4-4135-9430-f1e30700aa79
x-swg-uid: 01-054d54a4-e51d-4d08-b66a-127303647617
X-Mailer: Sweego
Message-ID:
 <1781534374.8631fc262581453bbf619ec5b2062170.19ecbb938f1000701b@vates.tech>
x-swg-bid: 1781534374.8631fc262581453bbf619ec5b2062170.19ecbb938f1000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Mon, 15 Jun 2026 16:39:33 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>
Subject: Re: Assertion '!is_idle_vcpu(v)' failed after 'Remove
 fully_eager_fpu' commit on EFI
References: <1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@vates.tech>
 <aiwTkDUP6rDPbV6R@mail-itl>
 <0db98119-48f3-4edd-a422-8e50ee713b7c@citrix.com>
 <e84d6765-61fa-4203-a1ee-ac07f54a1026@suse.com>
 <48878ff6-ad36-448f-aa9d-6b37e2e179b1@citrix.com>
 <1781277924.8631fc262581453bbf619ec5b2062170.19ebc701bfb000701b@vates.tech>
 <ai-_jUw0QmdC7gPK@macbook.local>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <ai-_jUw0QmdC7gPK@macbook.local>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.28b.5658017691e213a8.19ecbb9368b.8bb43b920ff56cd9=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781534373516
X-purgate-ID: tlsNG-c1860d/1781534377-BD56FDB1-D8768867/0/0
X-purgate-type: clean
X-purgate-size: 13404

---=Part.28b.5658017691e213a8.19ecbb9368b.8bb43b920ff56cd9=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Mon, Jun 15, 2026 at 11:02:05AM +0200, Roger Pau Monn=C3=A9 wrote:
> On Fri, Jun 12, 2026 at 05:17:31PM +0200, Anthony PERARD wrote:
> > On Fri, Jun 12, 2026 at 03:32:00PM +0100, Andrew Cooper wrote:
> > > On 12/06/2026 3:20 pm, Jan Beulich wrote:
> > > > On 12=2E06=2E2026 16:18, Andrew Cooper wrote:
> > > >> Well, no intended change=2E=C2=A0 It was a very big patch=2E
> > > >>
> > > >> Nothing should ever be using efi_get_time()=2E=C2=A0 It's unusabl=
e (i=2Ee=2E
> > > >> crashing) on hundreds of millions of machines=2E
> > > >>
> > > >> So, while we obviously do need to fix the assertion, this is "onl=
y"
> > > >> collateral damage from having fallen into the efi_get_time() path=
 in the
> > > >> first place=2E=C2=A0 That wants investigating too=2E
> > > > Perhaps a reduced-hardware system with ACPI_FADT_NO_CMOS_RTC set?
> > >=20
> > > The identified system is a Broadwell-D=2E
> > >=20
> > > Come to think of it, there were some systems of that era which (fals=
ely)
> > > claimed to have no CMOS=2E=C2=A0 (An HP Haswell Blade comes to mind,=
 but it
> > > will be a similar chipset=2E)
> >=20
> > Some info from the boot log about the machine:
> >     HPE ProLiant m510 Server Cartridge
> >     BIOS Version: H05 v1=2E98 (02/02/2023)
> >     System Memory: 32 GB
> >     1 Processor(s) detected, 8 total cores enabled, Hyperthreading is =
enabled
> >     Proc 1: Intel(R) Xeon(R) CPU D-1548 @ 2=2E00GHz
> >     HPE Power Profile Mode: Custom
> >     Power Regulator Mode: Dynamic Power Savings
> >     Advanced Memory Protection Mode: Advanced ECC Support
> >     Boot Mode: UEFI
> >     HPE SmartMemory authenticated in all populated DIMM slots=2E
> >=20
> > One of the cartridge on a Moonshot=2E
> >=20
> > > > On such systems efi_get_time() would better work properly=2E
> >=20
> > I guess it works fine on this system=2E On a different cartridge, with=
 a
> > Xen build prior to the commit, I have in the boot logs:
> >=20
> >     Wallclock source: EFI
>=20
> Can you provide the decoded dump of the ACPI FADT table?

Sure, I hope it's the right one, it seems I needed to look for FACP
instead of FADT, here we go:

/*
 * Intel ACPI Component Architecture
 * AML/ASL+ Disassembler version 20221020 (64-bit version)
 * Copyright (c) 2000 - 2022 Intel Corporation
 *
 * Disassembly of facp=2Edat, Mon Jun 15 14:29:25 2026
 *
 * ACPI Data Table [FACP]
 *
 * Format: [HexOffset DecimalOffset ByteLength]  FieldName : FieldValue (i=
n hex)
 */

[000h 0000 004h]                   Signature : "FACP"    [Fixed ACPI Descr=
iption Table (FADT)]
[004h 0004 004h]                Table Length : 0000010C
[008h 0008 001h]                    Revision : 05
[009h 0009 001h]                    Checksum : ED
[00Ah 0010 006h]                      Oem ID : "HP    "
[010h 0016 008h]                Oem Table ID : "ProLiant"
[018h 0024 004h]                Oem Revision : 00000001
[01Ch 0028 004h]             Asl Compiler ID : "HP  "
[020h 0032 004h]       Asl Compiler Revision : 00000001

[024h 0036 004h]                FACS Address : 7B581000
[028h 0040 004h]                DSDT Address : 7B7E2000
[02Ch 0044 001h]                       Model : 00
[02Dh 0045 001h]                  PM Profile : 04 [Enterprise Server]
[02Eh 0046 002h]               SCI Interrupt : 0009
[030h 0048 004h]            SMI Command Port : 000000B2
[034h 0052 001h]           ACPI Enable Value : A0
[035h 0053 001h]          ACPI Disable Value : A1
[036h 0054 001h]              S4BIOS Command : 00
[037h 0055 001h]             P-State Control : 00
[038h 0056 004h]    PM1A Event Block Address : 00000400
[03Ch 0060 004h]    PM1B Event Block Address : 00000000
[040h 0064 004h]  PM1A Control Block Address : 00000404
[044h 0068 004h]  PM1B Control Block Address : 00000000
[048h 0072 004h]   PM2 Control Block Address : 00000450
[04Ch 0076 004h]      PM Timer Block Address : 00000408
[050h 0080 004h]          GPE0 Block Address : 00000420
[054h 0084 004h]          GPE1 Block Address : 00000000
[058h 0088 001h]      PM1 Event Block Length : 04
[059h 0089 001h]    PM1 Control Block Length : 02
[05Ah 0090 001h]    PM2 Control Block Length : 01
[05Bh 0091 001h]       PM Timer Block Length : 04
[05Ch 0092 001h]           GPE0 Block Length : 10
[05Dh 0093 001h]           GPE1 Block Length : 00
[05Eh 0094 001h]            GPE1 Base Offset : 00
[05Fh 0095 001h]                _CST Support : 00
[060h 0096 002h]                  C2 Latency : 0065
[062h 0098 002h]                  C3 Latency : 03E9
[064h 0100 002h]              CPU Cache Size : 0000
[066h 0102 002h]          Cache Flush Stride : 0000
[068h 0104 001h]           Duty Cycle Offset : 01
[069h 0105 001h]            Duty Cycle Width : 00
[06Ah 0106 001h]         RTC Day Alarm Index : 0D
[06Bh 0107 001h]       RTC Month Alarm Index : 00
[06Ch 0108 001h]           RTC Century Index : 32
[06Dh 0109 002h]  Boot Flags (decoded below) : 0033
               Legacy Devices Supported (V2) : 1
            8042 Present on ports 60/64 (V2) : 1
                        VGA Not Present (V4) : 0
                      MSI Not Supported (V4) : 0
                PCIe ASPM Not Supported (V4) : 1
                   CMOS RTC Not Present (V5) : 1
[06Fh 0111 001h]                    Reserved : 00
[070h 0112 004h]       Flags (decoded below) : 000004A5
      WBINVD instruction is operational (V1) : 1
              WBINVD flushes all caches (V1) : 0
                    All CPUs support C1 (V1) : 1
                  C2 works on MP system (V1) : 0
            Control Method Power Button (V1) : 0
            Control Method Sleep Button (V1) : 1
        RTC wake not in fixed reg space (V1) : 0
            RTC can wake system from S4 (V1) : 1
                        32-bit PM Timer (V1) : 0
                      Docking Supported (V1) : 0
               Reset Register Supported (V2) : 1
                            Sealed Case (V3) : 0
                    Headless - No Video (V3) : 0
        Use native instr after SLP_TYPx (V3) : 0
              PCIEXP_WAK Bits Supported (V4) : 0
                     Use Platform Timer (V4) : 0
               RTC_STS valid on S4 wake (V4) : 0
                Remote Power-on capable (V4) : 0
                 Use APIC Cluster Model (V4) : 0
     Use APIC Physical Destination Mode (V4) : 0
                       Hardware Reduced (V5) : 0
                      Low Power S0 Idle (V5) : 0

[074h 0116 00Ch]              Reset Register : [Generic Address Structure]
[074h 0116 001h]                    Space ID : 01 [SystemIO]
[075h 0117 001h]                   Bit Width : 08
[076h 0118 001h]                  Bit Offset : 00
[077h 0119 001h]        Encoded Access Width : 01 [Byte Access:8]
[078h 0120 008h]                     Address : 0000000000000CF9

[080h 0128 001h]        Value to cause reset : 06
[081h 0129 002h]   ARM Flags (decoded below) : 0000
                              PSCI Compliant : 0
                       Must use HVC for PSCI : 0

[083h 0131 001h]         FADT Minor Revision : 00
[084h 0132 008h]                FACS Address : 0000000000000000
[08Ch 0140 008h]                DSDT Address : 000000007B7E2000
[094h 0148 00Ch]            PM1A Event Block : [Generic Address Structure]
[094h 0148 001h]                    Space ID : 01 [SystemIO]
[095h 0149 001h]                   Bit Width : 20
[096h 0150 001h]                  Bit Offset : 00
[097h 0151 001h]        Encoded Access Width : 02 [Word Access:16]
[098h 0152 008h]                     Address : 0000000000000400

[0A0h 0160 00Ch]            PM1B Event Block : [Generic Address Structure]
[0A0h 0160 001h]                    Space ID : 01 [SystemIO]
[0A1h 0161 001h]                   Bit Width : 00
[0A2h 0162 001h]                  Bit Offset : 00
[0A3h 0163 001h]        Encoded Access Width : 00 [Undefined/Legacy]
[0A4h 0164 008h]                     Address : 0000000000000000

[0ACh 0172 00Ch]          PM1A Control Block : [Generic Address Structure]
[0ACh 0172 001h]                    Space ID : 01 [SystemIO]
[0ADh 0173 001h]                   Bit Width : 10
[0AEh 0174 001h]                  Bit Offset : 00
[0AFh 0175 001h]        Encoded Access Width : 02 [Word Access:16]
[0B0h 0176 008h]                     Address : 0000000000000404

[0B8h 0184 00Ch]          PM1B Control Block : [Generic Address Structure]
[0B8h 0184 001h]                    Space ID : 01 [SystemIO]
[0B9h 0185 001h]                   Bit Width : 00
[0BAh 0186 001h]                  Bit Offset : 00
[0BBh 0187 001h]        Encoded Access Width : 00 [Undefined/Legacy]
[0BCh 0188 008h]                     Address : 0000000000000000

[0C4h 0196 00Ch]           PM2 Control Block : [Generic Address Structure]
[0C4h 0196 001h]                    Space ID : 01 [SystemIO]
[0C5h 0197 001h]                   Bit Width : 08
[0C6h 0198 001h]                  Bit Offset : 00
[0C7h 0199 001h]        Encoded Access Width : 00 [Undefined/Legacy]
[0C8h 0200 008h]                     Address : 0000000000000450

[0D0h 0208 00Ch]              PM Timer Block : [Generic Address Structure]
[0D0h 0208 001h]                    Space ID : 01 [SystemIO]
[0D1h 0209 001h]                   Bit Width : 20
[0D2h 0210 001h]                  Bit Offset : 00
[0D3h 0211 001h]        Encoded Access Width : 03 [DWord Access:32]
[0D4h 0212 008h]                     Address : 0000000000000408

[0DCh 0220 00Ch]                  GPE0 Block : [Generic Address Structure]
[0DCh 0220 001h]                    Space ID : 01 [SystemIO]
[0DDh 0221 001h]                   Bit Width : 80
[0DEh 0222 001h]                  Bit Offset : 00
[0DFh 0223 001h]        Encoded Access Width : 01 [Byte Access:8]
[0E0h 0224 008h]                     Address : 0000000000000420

[0E8h 0232 00Ch]                  GPE1 Block : [Generic Address Structure]
[0E8h 0232 001h]                    Space ID : 01 [SystemIO]
[0E9h 0233 001h]                   Bit Width : 00
[0EAh 0234 001h]                  Bit Offset : 00
[0EBh 0235 001h]        Encoded Access Width : 00 [Undefined/Legacy]
[0ECh 0236 008h]                     Address : 0000000000000000


[0F4h 0244 00Ch]      Sleep Control Register : [Generic Address Structure]
[0F4h 0244 001h]                    Space ID : 01 [SystemIO]
[0F5h 0245 001h]                   Bit Width : 08
[0F6h 0246 001h]                  Bit Offset : 00
[0F7h 0247 001h]        Encoded Access Width : 00 [Undefined/Legacy]
[0F8h 0248 008h]                     Address : 0000000000000000

[100h 0256 00Ch]       Sleep Status Register : [Generic Address Structure]
[100h 0256 001h]                    Space ID : 01 [SystemIO]
[101h 0257 001h]                   Bit Width : 08
[102h 0258 001h]                  Bit Offset : 00
[103h 0259 001h]        Encoded Access Width : 00 [Undefined/Legacy]
[104h 0260 008h]                     Address : 0000000000000000

/**** ACPI table terminates in the middle of a data structure! (dump table=
)
CurrentOffset: 10C, TableLength: 10C ***/
Raw Table Data: Length 268 (0x10C)

    0000: 46 41 43 50 0C 01 00 00 05 ED 48 50 20 20 20 20  // FACP=2E=2E=
=2E=2E=2E=2EHP
    0010: 50 72 6F 4C 69 61 6E 74 01 00 00 00 48 50 20 20  // ProLiant=2E=
=2E=2E=2EHP
    0020: 01 00 00 00 00 10 58 7B 00 20 7E 7B 00 04 09 00  // =2E=2E=2E=2E=
=2E=2EX{=2E ~{=2E=2E=2E=2E
    0030: B2 00 00 00 A0 A1 00 00 00 04 00 00 00 00 00 00  // =2E=2E=2E=2E=
=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E
    0040: 04 04 00 00 00 00 00 00 50 04 00 00 08 04 00 00  // =2E=2E=2E=2E=
=2E=2E=2E=2EP=2E=2E=2E=2E=2E=2E=2E
    0050: 20 04 00 00 00 00 00 00 04 02 01 04 10 00 00 00  //  =2E=2E=2E=
=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E
    0060: 65 00 E9 03 00 00 00 00 01 00 0D 00 32 33 00 00  // e=2E=2E=2E=
=2E=2E=2E=2E=2E=2E=2E=2E23=2E=2E
    0070: A5 04 00 00 01 08 00 01 F9 0C 00 00 00 00 00 00  // =2E=2E=2E=2E=
=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E
    0080: 06 00 00 00 00 00 00 00 00 00 00 00 00 20 7E 7B  // =2E=2E=2E=2E=
=2E=2E=2E=2E=2E=2E=2E=2E=2E ~{
    0090: 00 00 00 00 01 20 00 02 00 04 00 00 00 00 00 00  // =2E=2E=2E=2E=
=2E =2E=2E=2E=2E=2E=2E=2E=2E=2E=2E
    00A0: 01 00 00 00 00 00 00 00 00 00 00 00 01 10 00 02  // =2E=2E=2E=2E=
=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E
    00B0: 04 04 00 00 00 00 00 00 01 00 00 00 00 00 00 00  // =2E=2E=2E=2E=
=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E
    00C0: 00 00 00 00 01 08 00 00 50 04 00 00 00 00 00 00  // =2E=2E=2E=2E=
=2E=2E=2E=2EP=2E=2E=2E=2E=2E=2E=2E
    00D0: 01 20 00 03 08 04 00 00 00 00 00 00 01 80 00 01  // =2E =2E=2E=
=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E
    00E0: 20 04 00 00 00 00 00 00 01 00 00 00 00 00 00 00  //  =2E=2E=2E=
=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E
    00F0: 00 00 00 00 01 08 00 00 00 00 00 00 00 00 00 00  // =2E=2E=2E=2E=
=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E=2E
    0100: 01 08 00 00 00 00 00 00 00 00 00 00              // =2E=2E=2E=2E=
=2E=2E=2E=2E=2E=2E=2E=2E


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vate=
s solutions

web: https://vates=2Etech
---=Part.28b.5658017691e213a8.19ecbb9368b.8bb43b920ff56cd9=---


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 14:39:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 14:39:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338333.1599353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ8TK-0000y0-8t; Mon, 15 Jun 2026 14:39:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338333.1599353; Mon, 15 Jun 2026 14: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 1wZ8TK-0000xt-5W; Mon, 15 Jun 2026 14:39:30 +0000
Received: by outflank-mailman (input) for mailman id 1338333;
 Mon, 15 Jun 2026 14:39:29 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ8TI-0000xn-UO
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 14:39:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ8TH-006Yni-Ol
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 16:39:27 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a300e9a-5cb7-0a2a0a5109dd-0a2a450bd286-2
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:39:24 +0200
Received: from [209.85.221.47] (helo=mail-wr1-f47.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a300e9c-212f-0a2a450b0019-d155dd2fbdeb-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 16:39:24 +0200
Received: by mail-wr1-f47.google.com with SMTP id
 ffacd0b85a97d-45fe59255beso1823620f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 07:39: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-4606f2cd6c2sm35151354f8f.30.2026.06.15.07.39.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781534364; x=1782139164; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=jAFoDPIzdLSenYNKrvBMxLxR7ZJSo+vbh/DtyZLMQMk=;
        b=B6J6wjfLhXtVJpTOULNvQ2s6PQpEPtdDHGoUg4cHQc2/SeRCiahKHnfYoih1PtmWGF
         K/Q1hH805nsR4raLsSBCfemX9qNLOcNF2wrnWkx9KoC7xNF9Mje4jS3C94DvIdkMfFeo
         Ls8T55Nal75sfDheIiYDR8TWjROi+FQE9kB7e8y7CFza7fcnpstQpiIxqdxIMTFaVe18
         9/q+c42zQXTP3tekVQWaA+u1Jts7EKmgIBXodKdMfgW9XrHH9EMQve9DAZ7ze3ssrvV1
         mys7y4S2pMu5LYx4tb8qN3QI/u99u3a3f68uQrInk5utXW8gLiyxrJV11hyUR6IekcQl
         1iPQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781534364; x=1782139164;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jAFoDPIzdLSenYNKrvBMxLxR7ZJSo+vbh/DtyZLMQMk=;
        b=rnrE2fQd6BfsOh65ObhXSOCZU4koB1VlE7WSHmLqYQd6KotoWZc6LyaXh9Epo4NDMa
         cAfCGuORFmKpAAlN89uYJkFtZWTrx3cBK3oQr/BIRAmhq8oLStjQPneeUjKhwfIstnnu
         bNBXJ9hoLS4OrDbIDcBwAjFhkq+XBwhsnI8uO0HuEkptPo3nKkMWT7LA8RGTsk4CfbDZ
         1NLOdMUNoOjpsx85SMYtiEtgG2wZa9eTXPHpg1kMUVzTC+gfh+PGNPCTIHOiYQHoW64g
         503lnT5UsGJqEI/mPNt0UR5amTjT0p8tGOKPz0z8ODGxB+gNfFk+LeTek1Fl7zeadvhl
         wT8w==
X-Forwarded-Encrypted: i=1; AFNElJ+mWo9iVniylgKx+YZnuE23pO6MqVQYf19SEsWqC9bluupAuAp6mxVlxWBfRNj7/J/2b/1fLBH57ns=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzYR7HTYZhpO+VUhpCdZV/WYvRl8yF6iTl9ffh9N+rpq6gWHDwA
	pvG/eJLysWcGheRQq+FUZpFQRb9UJT0fjrxbptJaZbAXlEtKemJ/NS+7OKQNeVcCzA==
X-Gm-Gg: Acq92OHoOQpHcifMekoy/F895ZZClQEMc3VxaEYJWToPnmwvxzNw7q6WzCF0NgSK9rG
	kEWXq31DnK65eQwKJ/cuc3WB+9JNQ0l7eTarA3xfdEppq3gWjRTmbUjd5KOiviKpP1SqztOiTOq
	5hb9yCC9CVj3KFK+Aa3TwxH9089D5nVQ1ELdy34vLjoDh9ZcnbPa1nmN10BgfMp2cEP8wSdqoca
	4FVoB4tw5r6beiLSa/1M6nCg7d/C1LYFigrwSOHZOJr4tUAA4JWTGnj6bLguA8T3mJQzzX8JVv0
	Pa1z7yDSoNYTxzNQJWZRAf+dArqPrTIU3136lwYpjgBLJC3EuxRO2yyM6KqvLjxklAvsS84ESFz
	3vLIR1jnlG7NlAEHVG8D7E12HAaId7Cq6d20LDADBDKpDE/nYcHFaMOXw905WHsgdyh4e/YiTac
	FtvAuOk/RPWY1E9NAD2YV8G5CefCc3UA0Ii3NBl2j00u1Jx90e67i92tIaSdbG3a8FUaO0cHnc9
	SZRJs85EWNYuPg=
X-Received: by 2002:a05:6000:2683:b0:43d:1c4a:37c with SMTP id ffacd0b85a97d-4606da5a4bamr21007148f8f.4.1781534364323;
        Mon, 15 Jun 2026 07:39:24 -0700 (PDT)
Message-ID: <75133630-97f1-41b2-889c-9d43bbe767c7@suse.com>
Date: Mon, 15 Jun 2026 16:39:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] xen/domain: make shutdown state explicit
To: Mykola Kvach <xakep.amatop@gmail.com>
Cc: Mykola Kvach <mykola_kvach@epam.com>, Paul Durrant <paul@xen.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Tim Deegan <tim@xen.org>,
 Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>, xen-devel@lists.xenproject.org
References: <accc9b61dc46281289a303155653d48d5fde2084.1780643643.git.mykola_kvach@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: <accc9b61dc46281289a303155653d48d5fde2084.1780643643.git.mykola_kvach@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1781534364-21183F3B-DCFDA23D/0/0
X-purgate-type: clean
X-purgate-size: 1105

On 05.06.2026 09:39, Mykola Kvach wrote:
> From: Mykola Kvach <mykola_kvach@epam.com>
> 
> The shutdown flow currently uses is_shutting_down and is_shut_down to
> represent the domain shutdown lifecycle. The two flags are not mutually
> exclusive: after shutdown completion is_shutting_down remains set until
> domain_resume() clears both flags.
> 
> Replace the two booleans with an enum domain_shutdown_state. Keep
> domain_shutting_down() as the direct replacement for the old
> is_shutting_down flag: it is true once shutdown has been initiated and
> remains true after completion, until domain_resume(). Add
> domain_shutdown_completed() for users that need the final completed
> state.
> 
> This makes the state transition explicit while avoiding a semantic split
> between "in progress" and "completed" at call sites where the old code
> only cared that shutdown had started and had not yet been reset by
> domain_resume().
> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 15:06:30 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 15:06:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338355.1599375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ8tL-0005hO-LM; Mon, 15 Jun 2026 15:06:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338355.1599375; Mon, 15 Jun 2026 15: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 1wZ8tL-0005hH-Hn; Mon, 15 Jun 2026 15:06:23 +0000
Received: by outflank-mailman (input) for mailman id 1338355;
 Mon, 15 Jun 2026 15:06:23 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wZ8tK-0005hB-UA
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 15:06:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ8tJ-00D0HJ-PY
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 17:06:21 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a3014e1-5cb7-0a2a0a5109dd-0a2a4509a444-36
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 17:06:21 +0200
Received: from [209.85.218.52] (helo=mail-ej1-f52.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgross@suse.com>)
 id 6a3014ed-2497-0a2a45090019-d155da34a9b4-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 17:06:21 +0200
Received: by mail-ej1-f52.google.com with SMTP id
 a640c23a62f3a-c029505b389so151850666b.1
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 08:06:21 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bfdb5223309sm495899766b.28.2026.06.15.08.06.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 08:06:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781535981; x=1782140781; 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=K3eYjp6Yi6OnzWqkyUy5OouWMZUCIfhdoEdY/bLTbvk=;
        b=Z9956Dv6ZFFu40mZ6VDMZMSvw3Sa/POpU6mEnsqExxu7KiiPQ1TJ1twPO0Dq1j9joj
         Ag1Eb6rFWaATx56iBh9b2Caul8eyAtDCfcmt01HmbP7qXnimfuQfyA62AlDfkf5vShOy
         w5akvIeyEAAXMK9WbRWGFkIAOhOgkEa3q66DUZPBmQedRTz8n1X4T3R1PpHvXkVYtLwG
         5t80lE/LdIVzdZq6kq94ZSIDIsunQVCWR3uBVa2WkbZMC0WwVOtdQyVgreKNayr3ojUK
         2hyHG9WLbWsbjOW4/0pAEoA7jLP3leGX2L/6l/eTIqLNd1nMRQgzq7zp8wLbw2/XLk29
         +q0g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781535981; x=1782140781;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=K3eYjp6Yi6OnzWqkyUy5OouWMZUCIfhdoEdY/bLTbvk=;
        b=ohFhx/E89ZKuMPsZ3S8oO7OGVAPWxN97tDMYCXMNIrO/Mzq7UVBTle7BsLzAPUT3Vo
         Gv8x0xAXgOQLaMj0sqpQnNn9KujPUlOqex+6vkKGMKUc15Id0YNScjt51mxnYBnKL50j
         1cOf4EcjmTmHZ+EV4Q2xaPAtgu/53xPWnynvzvcOO41xuVINRglnms3hLOlOb9/3AmNj
         2Fu/uT6+fXWuqIssHJqefyqKP0WP2PETexIH05+Ul1zuNOh5FFqaXytQwqJk8MFHjrOw
         J20WuQuVKYu3lUME9Qx7Qt4tMjbP5p241JtLXzZ3gTl3lljNJ/dm22NsjUubfSp3/MX4
         P5vA==
X-Forwarded-Encrypted: i=1; AFNElJ8CX1UoX9T247fjg3ixs6vKM5h6UI66o0o/C+V+En+r5ZUXmcdhHb60rvmY8mEvk2cMXhX9rYUYpeU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxWIh/vv5V4X3aMS5+DgEoL1B8a3eLZvEOpWMRviwyMgpfzfxU4
	DRgGH0zyMaSGzVh5uHCaSsevVVHBWPDoXC+YHLcsfJUFV2S6S5nLkQKtYM5j8qVAaF0=
X-Gm-Gg: Acq92OGfjlA88Pd46S3OaDjhSx+7oU2+5FxLoD/3MxVXppOZFz/4gKo+FCZO0BLokD8
	Vd3u1Jms4Ee3eMILaqcwmZFV+PqkdmMBcZirreBvph8K6vNv1F6fYr/tbQAxtN2FIAVnmbPumUD
	5ZA+fBvuMDG8y/jUhv8H48RK6OY9WkahzSp1Xx5RjDROzIR8ug6qw7EEM4K5LHjvMpCj4/4rlbN
	GrxzpThpw2KulVjioJ0GVWuN/VvQbMajhxq1k1ggLQsbrfrQZaCfXGgQzCo8rp2EorIBDfOhp0J
	kJ3hdpxsqChs0THh6Vhy12g/gv2AY7HrnPZyzYi4XmDEdD60R6mLRQyId7hF5ox4DhQGWG2YuPL
	eDaHnr+831OUc75E+M3mAZYvF+y0Slu0sl7aifjfn99O7Xe0FySer/pN19StOMOZ2oPRSDAxy3p
	wKsaSuoRBTb3Z0voPbjUVpfhj7s5oGZr7FO5PRw+vPbj6HQHya5uZz5oFwrYRybR18rJdHqFpwv
	mo2jGVVuRhbxc24OQkiz0iS5zNazt1p6Rs9SHI+3czMXsZ5ayyHHA==
X-Received: by 2002:a17:907:1c1a:b0:bfa:9457:b517 with SMTP id a640c23a62f3a-bfde53cd624mr598755766b.23.1781535980953;
        Mon, 15 Jun 2026 08:06:20 -0700 (PDT)
Message-ID: <aa977756-cd5e-477d-b326-0d4920ae69d7@suse.com>
Date: Mon, 15 Jun 2026 17:06:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/sched: fix stale file and function references in
 comments
To: Furkan Caliskan <frn1furkan10@gmail.com>, xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com, dfaggioli@suse.com,
 jbeulich@suse.com, gwd@xenproject.org, stewart.hildebrand@amd.com
References: <20260601053022.6044-1-frn1furkan10@gmail.com>
 <20260601122643.54773-1-frn1furkan10@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: <20260601122643.54773-1-frn1furkan10@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------383hrwK06Wh1BuVpNpKrdgbZ"
X-purgate-ID: tlsNG-bad1c0/1781535981-41B68A53-FE177747/0/0
X-purgate-type: clean
X-purgate-size: 8487

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------383hrwK06Wh1BuVpNpKrdgbZ
Content-Type: multipart/mixed; boundary="------------Q4HFyRr6jwh4DCBSaAo0u3HP";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Furkan Caliskan <frn1furkan10@gmail.com>, xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com, dfaggioli@suse.com,
 jbeulich@suse.com, gwd@xenproject.org, stewart.hildebrand@amd.com
Message-ID: <aa977756-cd5e-477d-b326-0d4920ae69d7@suse.com>
Subject: Re: [PATCH v2] xen/sched: fix stale file and function references in
 comments
References: <20260601053022.6044-1-frn1furkan10@gmail.com>
 <20260601122643.54773-1-frn1furkan10@gmail.com>
In-Reply-To: <20260601122643.54773-1-frn1furkan10@gmail.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=

--------------Q4HFyRr6jwh4DCBSaAo0u3HP
Content-Type: multipart/mixed; boundary="------------AmHVl6qt0PAk8nG7Xdly9zaV"

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

T24gMDEuMDYuMjYgMTQ6MjYsIEZ1cmthbiBDYWxpc2thbiB3cm90ZToNCj4gU2V2ZXJhbCBm
aWxlcyBpbiB4ZW4vY29tbW9uL3NjaGVkIHN0aWxsIHJlZmVyZW5jZSBzY2hlZHVsZS5jIGlu
DQo+IHRoZWlyIGNvbW1lbnRzLCB3aGljaCB3YXMgdGhlIG9yaWdpbmFsIG5hbWUgb2YgeGVu
L2NvbW1vbi9zY2hlZC9jb3JlLmMNCj4gYmVmb3JlIGNvbW1pdCA2Y2I0YjAxYzAzICgieGVu
L3NjaGVkOiBtb3ZlIHNjaGVkdWxlcnMgYW5kIGNwdXBvb2wNCj4gY29kaW5nIHRvIGRlZGlj
YXRlZCBkaXJlY3RvcnkiKSByZW5hbWVkIGFuZCBtb3ZlZCBpdC4gU29tZSBjb21tZW50cw0K
PiBhbHNvIHJlZmVyZW5jZSBmdW5jdGlvbnMgdGhhdCBubyBsb25nZXIgZXhpc3QuDQo+IA0K
PiBSZXdvcmsgdGhlIGNvbW1lbnRzIHRvIHJlbW92ZSBzdGFsZSBmaWxlIGFuZCBmdW5jdGlv
biByZWZlcmVuY2VzLg0KPiANCj4gU3VnZ2VzdGVkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRy
ZXcuY29vcGVyM0BjaXRyaXguY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBGdXJrYW4gQ2FsaXNr
YW4gPGZybjFmdXJrYW4xMEBnbWFpbC5jb20+DQoNCkFja2VkLWJ5OiBKdWVyZ2VuIEdyb3Nz
IDxqZ3Jvc3NAc3VzZS5jb20+DQoNCg0KSnVlcmdlbg0K
--------------AmHVl6qt0PAk8nG7Xdly9zaV
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-----

--------------AmHVl6qt0PAk8nG7Xdly9zaV--

--------------Q4HFyRr6jwh4DCBSaAo0u3HP--

--------------383hrwK06Wh1BuVpNpKrdgbZ
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/Ey8FAmowFOwFAwAAAAAACgkQsN6d1ii/Ey9d
0wf+Nh0muwdKLjj3GVRYVYmnEH6knhg/YIKvU3vch8e68Wup+avxmJAwrKh4Rme/DXE8BQkP4x3U
yd3wRzWaseXWW/uG1mNpvQYqjf+eI9su+X0hVF0028x3YExtkfsOWughpyzj/cgeGkRiw/wfJDwt
4d9h9oygU9aVk237t0HQ9iRnKyR0Y3UV9TjOU4dHs/brFoNIOxC7LhHulhCfGDpg420+fJGdRERP
8FlhCc2CTtLjWRluNXxbP7ARZ8wuZqY8+nR8F4YKOuT2A9/7wb3tvqTx92qi2iNbLVm5mf7+n6T5
0dB57E9RKforz2ofVBLdbGfYtFKXsetaWEaevJn1/A==
=irnm
-----END PGP SIGNATURE-----

--------------383hrwK06Wh1BuVpNpKrdgbZ--


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 15:07:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 15:07:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338362.1599384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ8ui-0006JB-0W; Mon, 15 Jun 2026 15:07:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338362.1599384; Mon, 15 Jun 2026 15: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 1wZ8uh-0006J4-UD; Mon, 15 Jun 2026 15:07:47 +0000
Received: by outflank-mailman (input) for mailman id 1338362;
 Mon, 15 Jun 2026 15:07:47 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wZ8ug-0006Iy-Mb
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 15:07:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ8ug-00D0cm-37
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 17:07:46 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a30152f-bab6-0a2a0a5309dd-0a2a4502dc54-26
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 17:07:46 +0200
Received: from [74.125.224.45] (helo=mail-yx1-f45.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a301540-af86-0a2a45020019-4a7de02ddd0a-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 17:07:45 +0200
Received: by mail-yx1-f45.google.com with SMTP id
 956f58d0204a3-6604176b575so2890975d50.1
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 08:07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1781536064; cv=none;
        d=google.com; s=arc-20240605;
        b=eSMqIUotVPNeanjukE2NmekFRtcepv24JkR0abbMAPiRGIsWrN4dW/GwF2BUstbOtY
         eUbqYepCymSN0ltL6MyARureynVUNm5USEbM/dusIYyQIYsuzIacglox4QBO/O37Qqqd
         IqKI2t4R50ZlorwtWWK9GcUZLbzjAYPeo3oYECz7VlkgAKbWvu/9YXm2Tm0TZeADsKsg
         lbMewea42ojjFGVZiH+bg/GjSRZjjqacUTK6U75gYMBQVmUHsqctsGrGRJJnr+64Mk2F
         Zk9UpxHiz3bRJsfh+c8/V3a32bu+8cnI52TmlnyD24XI0kJ2kNLO/YkdezRcznmtNLtR
         WIEw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature;
        bh=CndTcKfCH82aUKj/f1b9neCoIs2mCiGx0N/nrnCEwEQ=;
        fh=OtBKR5Ep8z1KYzMIrXbXTC77nuY2r0q5Jx/RIZj9FDQ=;
        b=ZCrpbivbct07BhXxqxBuZ6aL7OojHpl/lpuuobTDcgALfMgL9vfP5V2O0dfQWYDW6n
         P6H3xAXSI0WiExOPLsEI9PTgmh21kEZzrfCOfifimnblWz562C7HpsQTDJv8iv71tFZf
         3s2ruYuXK1DMaJc8H9kLzj4CHkRhi/1axFCmC8HPZXtGhPiIcAOqqxKpkCQE+Vx6wH0j
         nhj2B0vMa5a9oNpzrO412o9lyJtNdrTnUaIn067zGnBpjGuqWZ9w16EIbbGcpjEMPY6/
         L0y4V4VDsFvnE+r4wXc1abdDZMxdr6PfRXu4LD+SKmj/UQvaoMMzh6q7anN7EQikRB/a
         4YBA==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781536064; x=1782140864; 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=CndTcKfCH82aUKj/f1b9neCoIs2mCiGx0N/nrnCEwEQ=;
        b=Jj3kkRnYDGPS2upM4yeDUL0z+x3ERWZvifwoTN1Ox2NKv2cQqyiuy+GgL6TxA1Sqns
         N2E9XTAUNEMxkccyAyIwHCLOMY5tyM2risrLLCYlKarMVnj9LMIUJZk9QyDTfBE2AiXe
         tmymPAUuOXet1GphS8Zzaay8ivID8AA5hB5mpzCeK+Cq3m+gqcidZX5bOn2PVajd97OG
         9gdfRa/otTUtZsNgMP77PXbLUUlfLa3gofs5x7rJuM3mV5sgtzOqXcr88GZBXFEOfL5M
         ZQ6GUNXtwIltswnTTqXY4fE8THP6zfh5qt3QiCF1N6cwZoLT7DIESZUB7Dx0mI3/RhsW
         wt3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781536064; x=1782140864;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CndTcKfCH82aUKj/f1b9neCoIs2mCiGx0N/nrnCEwEQ=;
        b=Wx3haF5D453bCHfP3lfMyAMugIz/7SzssUT76fQ/LgSNYHNLmf4uQZp1kLcqmBT/Hl
         ZnCr5OisaOU+cOUvYi4xUZi3EGhAnmzGvCX9/c143ynZhUc3PotkvSOjOpp1lWSmlRqY
         tX0RYdTPuheCw0ZlXsRiO3EMndFa5x1agLTDFK/5ow6EZKNTWQe/jXJbCqFjvvwOvK57
         VSjxeABLOfHrGMFmVE/bJhiX1UilBZc+aCCV8mBFfhnSIFQB37wMZFdbATMKI2iEmJal
         NQVxdYopbmKvnem/viSvoiPekWfXOHcmh0EOssgj5RUWHmspexaPmm96RSRVdp0mVC7e
         N6tw==
X-Forwarded-Encrypted: i=1; AFNElJ8ufyOvESrPT5D7x20L2XSKgL+ywEXfncPP2dNpI0+tbS4K540ed1VctL7EbOEvnZkGxPn6/8cB53M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YykR4RanDM7BE4ItEL78r5Fnhqs924H/zrmg8Lv6RGBEonQ+lWt
	LdM9joVtrlFEazapxxudFo+sxvfFK260xe4H3I2EGX0HLpzLIjuaOw/Zn5dwazOmI8RIjv1hG4U
	nPtNCefHEiu2GbDvheuBrx3YJpEeJGFE=
X-Gm-Gg: Acq92OHsZwnEdOGKisg+E8hRTkgtqqvOSuulzMquVLFZ5G/2Ri18v0lCAR/EzQwuOoM
	d3IkMhwCRdvDDvAoOZhI51yFFY8vhspKF9zTdlfoCljvb+kY6f5KMywA5MEinaY58vK93+dXP1W
	lDFn0L7XRUQa0JvF56+OebLsjl1jnKdw8gbwb7/Ke8bsFxH5KnACFasW99S2zxPVs+ruGhnXdgY
	hnupwYKx5COmefksrNQfJ2JSEkeAWvz5DlfJ8/5Fh1uLHrCYq1fYLt29iKx9+6sjf1njgC1Wjsp
	CyNB5UkzkjzvXMyVpsUGuh+lfeZb9diSXeJCGA==
X-Received: by 2002:a05:690e:4410:b0:662:b352:d033 with SMTP id
 956f58d0204a3-662b353026cmr155645d50.29.1781536064280; Mon, 15 Jun 2026
 08:07:44 -0700 (PDT)
MIME-Version: 1.0
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
 <20260613214749.20620-13-frediano.ziglio@cloud.com> <8289ea1d-ceca-40b6-a992-a778be053cd0@suse.com>
 <CAHt6W4en1yMLrUXv+RbcoPr-=S_=pi2Rrcm2BC2PzMZT+0ksFw@mail.gmail.com> <1c1829d2-4cb4-4e29-9012-fdcbca8d79a9@suse.com>
In-Reply-To: <1c1829d2-4cb4-4e29-9012-fdcbca8d79a9@suse.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Mon, 15 Jun 2026 16:07:32 +0100
X-Gm-Features: AVVi8Cd5iJI3srvx1iXlGkNW5-6W5xQwHX_hnkNjxeeI8lUv0FiYIaIPZ7Ex1Jc
Message-ID: <CAHt6W4daGuduOgRNUFOB8SZd+C5bxaubyQoU=xDcJSMzo97VDw@mail.gmail.com>
Subject: Re: [PATCH v5 12/16] xen: implement new foreign copy hypercall
To: Jan Beulich <jbeulich@suse.com>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, Anthony PERARD <anthony.perard@vates.tech>, 
	Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org, 
	Daniel Smith <dpsmith@apertussolutions.com>
Content-Type: text/plain; charset="UTF-8"
X-purgate-ID: tlsNG-720697/1781536066-80145161-2AB6A3F9/0/0
X-purgate-type: clean
X-purgate-size: 10917

On Mon, 15 Jun 2026 at 15:03, Jan Beulich <jbeulich@suse.com> wrote:
>
> On 15.06.2026 14:11, Frediano Ziglio wrote:
> > On Mon, 15 Jun 2026 at 08:41, Jan Beulich <jbeulich@suse.com> wrote:
> >> On 13.06.2026 23:47, Frediano Ziglio wrote:
> >>> --- a/xen/common/memory.c
> >>> +++ b/xen/common/memory.c
> >>> @@ -1545,6 +1545,133 @@ static int acquire_resource(
> >>>      return rc;
> >>>  }
> >>>
> >>> +/*
> >>> + * The "noinline" qualifier avoids the compiler to create a large function
> >>> + * consuming quite a lot of stack.
> >>> + */
> >>> +static int noinline mem_foreigncopy(
> >>> +    XEN_GUEST_HANDLE_PARAM(xen_foreigncopy_t) arg)
> >>> +{
> >>> +    struct domain *d, *const currd = current->domain;
> >>> +    xen_foreigncopy_t copy;
> >>> +    int rc, direction;
> >>> +
> >>> +    if ( copy_from_guest(&copy, arg, 1) )
> >>> +        return -EFAULT;
> >>> +
> >>> +    if ( copy.flags & ~1U )
> >>> +        return -EINVAL;
> >>> +
> >>> +    direction = copy.flags & XENMEM_foreigncopy_direction;
> >>> +
> >>> +    if ( copy.nr_frames == 0 )
> >>> +        return 0;
> >>> +
> >>> +    rc = rcu_lock_remote_domain_by_id(copy.domid, &d);
> >>> +    if ( rc )
> >>> +        return rc;
> >>
> >> Extending my v4 remark: How about a "fully foreign" copy? I.e. one between two
> >> pages in two foreign domains? Getting me back also to the un-answered v4
> >> question of mine as to MMUEXT_COPY_PAGE.
> >
> > I really thought I replied to this but I cannot find it.
> > MMUEXT_COPY_PAGE was the first attempt to do this but mmuext is
> > designed for PV and extending was made the code confusing.
>
> We discussed this on the x86 call, and yes - the major op being PV-only is
> getting in the way here.
>

Added a comment in the commit message:

    Extending MMUEXT_COPY_PAGE seems better on first sight but considering
    that MMUEXT is meant for PV only and trying to change that sub-op this
    solution is better.

> >> Further, as to the order of checks: I'm not going to insist on re-ordering, yet
> >> I'd like to point out that copying 0 pages to/from a bad domid might better
> >> yield an error.
> >
> > Not strong about this, changed to return -EINVAL. Reordering after
> > this change won't make much sense, -EINVAL is returned both for wrong
> > flags or no frames.
>
> Please don't - copying 0 frames with all other arguments correct is not an
> error.
>

This comment seems to contradict  the not insisting  on re-ordering.
Changed the order so to check the domid before nr_frames == 0 :

    rc = rcu_lock_remote_domain_by_id(copy.domid, &d);
    if ( rc )
        return rc;

    if ( copy.nr_frames == 0 )
    {
        rcu_unlock_domain(d);
        return 0;
    }

> >>> +    do {
> >>> +        /*
> >>> +         * Arbitrary size.  Not too much stack space, and a reasonable stride
> >>> +         * for continuation checks.
> >>> +         */
> >>> +        xen_pfn_t gfn_list[32];
> >>> +        unsigned int todo = MIN(ARRAY_SIZE(gfn_list), copy.nr_frames);
> >>> +
> >>> +        rc = -EFAULT;
> >>> +        if ( copy_from_guest(gfn_list, copy.frame_list, todo) )
> >>> +            goto out;
> >>> +
> >>> +        for ( unsigned i = 0; i < todo; i++ )
> >>
> >> Nit: "unsigned int" please (like you have it above).
> >
> > Changed. Note that "long" is also not a type but a modifier. Would it
> > be good to change both the above to "unsigned" instead for consistency
> > with "long" ?
>
> No, the way we spell types has historical reasons and isn't tied to the
> exact lexical meaning of the keywords.
>
> >>> +        {
> >>> +            struct page_info *foreign_page;
> >>> +            void *foreign;
> >>> +            p2m_type_t p2mt;
> >>> +            const unsigned long valid_mask =
> >>> +#ifdef CONFIG_X86
> >>> +                p2m_to_mask(p2m_ram_rw) | p2m_to_mask(p2m_ram_logdirty);
> >>> +#else
> >>> +                p2m_to_mask(p2m_ram_rw);
> >>> +#endif
> >>
> >> What about, for example, p2m_ram_ro? Or p2m_ram_shared? Or p2m_grant_map_*?
> >> Etc. Any artificial constraining wants justifying in the description and/or
> >> mentioning in the public header.
> >
> > The base of this was taken from migration code where there is such a check.
> > I suppose that adding p2m_ram_ro (where available) won't hurt.
>
> Just to mention, to avoid another round trip just because of this: p2m_ram_ro
> has different meaning on x86 vs Arm/RISC-V.
>

That's confusing... should not this be fixed somehow?
It won't save much from a round-trip. Should I allow it or not ?

> > p2m_ram_shared I'm not sure but seems fine too.
> > For p2m_grant_map_* it feels a bit a security issue to me. It would
> > allow a guest to give access to pages of other domains. It's true that
> > the current domain would have to have write access to this domain
> > anyway but extend these permissions sounds something it should not be
> > able to do.
>
> It could copy the contents of the grant mapped page by other means. Why not
> allow it in this new sub-op as well then?
>

I'm more afraid of writing the content of the grant pages than copying it.

> Talking of security: When the page you copy to is owned by a PV guest, I
> think you further need to obtain a PGT_writable type ref. (Of course it then
> likely is easier to always do this, not just for PV.)
>

Wondering how save/restore (or migration) works in this case.

> >>> @@ -2012,6 +2139,13 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
> >>>              start_extent);
> >>>          break;
> >>>
> >>> +    case XENMEM_foreigncopy:
> >>> +        if ( unlikely(start_extent) )
> >>> +            return -EINVAL;
> >>
> >> Please address review comments (verbally or by code changes) before submitting
> >> a new version. Here I had asked "Why make this different from other continuable
> >> sub-ops?"
> >>
> >
> > There's already a comment in the same file for similar reason
> >
> >     /*
> >      * Limiting nr_frames at (UINT_MAX >> MEMOP_EXTENT_SHIFT) isn't ideal.  If
> >      * it ever becomes a practical problem, we can switch to mutating
> >      * xmar.{frame,nr_frames,frame_list} in guest memory.
> >      */
> >
> > so to avoid the doubt and possible future change I mutate the structure.
> > Also I use the mutation to give more information to the caller, using
> > "start_entent" won't allow this.
>
> You'll want to mention this in the description and/or a code comment. It
> wants to become clear that the inconsistency in behavior (with other sub-
> ops) is deliberate rather than accidental.
>

Added a comment in the code:

        if ( copy.nr_frames && hypercall_preempt_check() )
        {
            /*
             * Instead of using "start_extent" we update the structure back,
             * we update it back in anyway to tell caller were the copy
             * stopped.
             */
            rc = hypercall_create_continuation(
                __HYPERVISOR_memory_op, "lh", XENMEM_foreigncopy, arg);
            goto out;
        }

> >>> --- a/xen/include/public/memory.h
> >>> +++ b/xen/include/public/memory.h
> >>> @@ -740,7 +740,45 @@ struct xen_vnuma_topology_info {
> >>>  typedef struct xen_vnuma_topology_info xen_vnuma_topology_info_t;
> >>>  DEFINE_XEN_GUEST_HANDLE(xen_vnuma_topology_info_t);
> >>>
> >>> -/* Next available subop number is 29 */
> >>> +/*
> >>> + * Copy memory from/to a given domain.
> >>> + */
> >>> +#define XENMEM_foreigncopy 29
> >>> +struct xen_foreigncopy {
> >>> +    /* IN - The domain whose resource is to be copied. */
> >>
> >> There's still "resource" here, when this really is about RAM (memory) only,
> >> not any other kind of resource.
> >>
> >>> +    domid_t domid;
> >>> +
> >>> +    /* IN - Flags. */
> >>> +#define XENMEM_foreigncopy_from 0
> >>> +#define XENMEM_foreigncopy_to 1
> >>> +#define XENMEM_foreigncopy_direction 1
> >>> +    uint16_t flags;
> >>> +
> >>> +    /*
> >>> +     * IN
> >>> +     *
> >>> +     * As an IN parameter number of frames of the domain to be copied.
> >>> +     */
> >>> +    uint32_t nr_frames;
> >>
> >> This isn't just an input, as you update the field (and the handles below).
> >> This property of fields wants reflecting here, so callers know that they (a)
> >> can't re-use the struct on a subsequent call without re-initializing the
> >> fields which may have changed, and (b) can't put the struct in r/o memory.
> >>
> >
> > Update comments:
> >
> > /*
> >  * Copy memory from/to a given domain.
> >  */
> > #define XENMEM_foreigncopy 29
> > struct xen_foreigncopy {
> >     /* IN - The domain whose memory is to be copied. */
> >     domid_t domid;
> >
> >     /* IN - Flags. */
> > #define XENMEM_foreigncopy_from 0
> > #define XENMEM_foreigncopy_to 1
> > #define XENMEM_foreigncopy_direction 1
> >     uint16_t flags;
> >
> >     /*
> >      * IN/OUT
> >      *
> >      * As an IN parameter number of frames of the domain to be copied.
> >      * On output on error updated number of frames left.
> >      */
> >     uint32_t nr_frames;
>
> This is updated not only on error, but also when encoding continuations.
>

Yes, but this seems more an implementation detail to me. I don't think
the caller cares about how the continuation is implemented.

> >>> +    /*
> >>> +     * IN
> >>> +     *
> >>> +     * Frames to be copied.
> >>> +     */
> >>> +    XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
> >>> +
> >>> +    /*
> >>> +     * IN/OUT
> >>> +     *
> >>> +     * Userspace buffer to read/write from.
> >>> +     */
> >>> +    XEN_GUEST_HANDLE(uint8) buffer;
> >>
> >> With these two handles, there continues to be a need to (explicitly) deal
> >> with the compat case as well.
> >
> > I don't agree with this. Domains having access to other domains are
> > limited (like stub domains for Qemu) and won't be 32 bits today so why
> > allow 32 bits guests if not ever used?
>
> How do you know? Why shouldn't e.g. XTF be permitted to test this in all
> possible modes? And even if all arguments end up in favor of "no compat
> support", this then wants spelling out to make clear this wasn't an
> oversight, but rather a conscious decision.
>

XTF can do something like

#if COMPAT_GUEST
    /* Compat guests are not supported, return success. */
    return 0;
# endif

(or can be done in the Makefiles I suppose).

Added a comment in memory.h:

    /*
     * Copy memory from/to a given domain.
     * As this call requires target access and guest with target access won't be
     * compat guests supported for compat guests this is not implemented.
     */
    #define XENMEM_foreigncopy 29
    struct xen_foreigncopy {

> Jan

Frediano


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 15:13:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 15:13:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338370.1599392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ90L-0007ql-I2; Mon, 15 Jun 2026 15:13:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338370.1599392; Mon, 15 Jun 2026 15:13:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ90L-0007qe-Ex; Mon, 15 Jun 2026 15:13:37 +0000
Received: by outflank-mailman (input) for mailman id 1338370;
 Mon, 15 Jun 2026 15:13:35 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZ90J-0007qY-IH
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 15:13:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ90I-000QmA-VL
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 17:13:34 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a301699-bab6-0a2a0a5309dd-0a2a4501933e-22
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 17:13:34 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a30169e-c1f2-0a2a45010019-d1558032d429-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 17:13:34 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-490acbb0f89so22821595e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 08:13: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-4922037ba81sm244907275e9.15.2026.06.15.08.13.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 08:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781536414; x=1782141214; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=8AnYitvNUXv0OtlVvfG7YRGg2CPz/gP+9/bPKhnL9l0=;
        b=GJZ6ow3cY21Rq2gnI2Pa+3QjW/qmiAekYQJ2SMCUV6kEhz7zh9vf6MzxAuv9Qb3mhh
         gSI4W8lZC+JIUTAFK0qyRU1LP4uL020bgL7w7bMUFEWCy5uETcwU/cfDD3uioTdBS7E/
         yn4XAP2djgob6kUs4Keg2eL9C3YaqoxvqNwDosVblNajCcs3S5lYS6yN40sXW85F48HR
         kPdRYCe7AjB0pvQrAuREpKqYR/zDyIw79SwyBRDHwXtVdnExS3cad9QBrtVtwzCx7yfP
         bT+6oCLdAQz2sr2iKYO+P+GQu+sl8Pp17NWTuvahdO4k7NvfsCdPvo1OLoj31EPFmzbp
         O3vg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781536414; x=1782141214;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8AnYitvNUXv0OtlVvfG7YRGg2CPz/gP+9/bPKhnL9l0=;
        b=Px/l3DWvV0FM83KLBhoCwDNbaxJUwAmKWsc+hYSRoqwzRBA/5FfyVOigihKz+JUn+2
         D/7a8mzEXiNLiBl0AUdiCkPKCjMTjFvhNRvlZxFqLqRmm+wGGvRfMs5WclqpNgmkaU/b
         /5aqz5R+9yh4YoA6gjP0trEjTdkJDHCUnPV+PUYFYKYDPO2fL+gheuAo3jDPPk+wwqmR
         rWtxX6GebbFdZZtzLogByIjHzM+wnTjKEpGLV1VNsqtsceYi9V1quOhhZwu3gx1HS5k4
         AWogcuUM1WYbjAqwKhkN8W8ajo65AUQFKtm0AShZ7uyYdQTi78Sf4HYMSjdbN693X/zE
         Fhuw==
X-Forwarded-Encrypted: i=1; AFNElJ8w3sOgXYgY54htOg3DoSY4vS4s6INdZHohC7Ua+wvCCSpz4DBXvDj1DEMT/YmGneldqFskALonZlw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywkbc+yed9tc33iQNTi+lcRTo4s+scEEuM/GecOBQZJJfedHeZU
	/jLw5ArDPLdFOMYVV2oICQyBpw7xbsO+2JGuFaKmoNkCBoQyCNvcoxfGwMNYwD3AsQ==
X-Gm-Gg: Acq92OHboCs4YrlDvIlVitUD8/xBzJb43kcJzjubfUPBf6r6bV9rQJ1X0lPZn4XuC8b
	NckkkDdA5Czd/WhMrY/LIKXwdSMU+/yMV/il8VzN6/VugH5TxrTDQeTVCgnYbItiMz2/QY06+t7
	xXWblAk2pG1oPH0xJKtaWRjb9/alNPkp6GUAva6PLmyK1i5tX2bVoB/M8rfhh6JL5p27tfLRs8F
	ve9VZcYt3fmptwelTJPzDKfih5Jd7cI7fo/ooa6idUCbvnKeqcSGAvhr+ztqhZmS4/CaD4Y5aoC
	y7mLrZDhydXPDWMmzQmO8UFCQh3WWUgr8Y2bgBO4PIfC1YilxeQnvuPjxSchcs7hrRu3O0pSsp0
	Dm6XCYqfqKtAaqPKmY545Y6tJifW7Y4DuRgxuLbWJq/0C2qZGFkbjQ34+sj9/b6nxF7rXzXLYB7
	6Cy9ihb81HSezpFEluXsk9OTgZmC80sXEmfGUe+2CACd2vSYj1kgzJOgLd9v2pIGshdLoZrF1tU
	lCg2K2UmIU4RTM=
X-Received: by 2002:a05:600c:4710:b0:490:601f:d766 with SMTP id 5b1f17b1804b1-49220085103mr137115535e9.1.1781536413965;
        Mon, 15 Jun 2026 08:13:33 -0700 (PDT)
Message-ID: <133430db-5605-4f3a-8ff7-77f9b57c91ad@suse.com>
Date: Mon, 15 Jun 2026 17:13:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 21/26] xen/riscv: implement virtual APLIC MMIO
 emulation
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <434e0be590bc0550e143836edff7e8e1e96b28c1.1778250616.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: <434e0be590bc0550e143836edff7e8e1e96b28c1.1778250616.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1781536414-B655DFF4-39B4B005/10/73395122804
X-purgate-type: spam
X-purgate-size: 12329

On 08.05.2026 16:43, Oleksii Kurochko wrote:
> Guests running under Xen program interrupt routing by writing to APLIC
> MMIO registers. Xen must intercept these accesses to enforce interrupt
> isolation between domains and to translate guest routing intent into the
> underlying physical MSI topology.
> 
> Writes are gated by the domain's authorised interrupt bitmap so that a
> guest cannot affect interrupts it does not own. TARGET register writes
> additionally require translation of the hart and IMSIC guest-file
> indices from virtual to physical, as the APLIC uses these fields
> directly to compute the MSI delivery address.
> 
> Delegation (APLIC_SOURCECFG_D) is not yet supported.
> 
> Co-developed-by: Romain Caritey <Romain.Caritey@microchip.com>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in v2:
>  - Merge the following patches into one:
>     xen/riscv: add vaplic access check:
>       - Add check that address is properly aligned.
>       - Check vaplic range intead of APLIC one.
>       - Return bool from vaplic_is_access instead of int.
>     xen/riscv: emulate guest writes to virtual APLIC MMIO
>       - Drop CALC_REG_VALUE.
>       - Use unsigned int instead of uin32_t for offset.
>       - s/.../subtracting in the comment.
>       - start one line comments from the upper case.
>       - Check the value before being written to sourcecfg register.
>       - 'unsigned int' for loop index.
>       - Omit unneessary braces.
>       - s/vaplic_update_target/aplic_msi_target_gen.
>       - Use IMSIC_MMIO_PAGE_SHIFT instead of 12 in aplic_msi_target_gen().
>       - Drop explicit usage of APLIC register in store function.
>       - Drop APLIC_REG_{GET,SET} macros and introudce APLIC specific funtcions.
>       - Ignore write to SOURCECFG_BASE when value is out-of-range.
>       - Drop ASSERT(!target_vcpu) inside handler of targer register setting,
>         just avoid such writings + debug message.
>       - domain_crash() instead of panic() in the case of default case.
>       - Drop ASSERT() in APLIC_SOURCE_CFG_BASE case and use domain_crash()
>         instead.
>     xen/riscv: emulate guest reads from virtual APLIC MMIO:
>       - s/regval_to_irqn/regindx_to_irqn.
>       - pass to to_vaplic() a domain instead of vintc.
>       - add check that load access is aligned.
>       - instead of panic() just crash a domain().
>       - use 'unsigned int' for local variable offset.
>       - Return 0 in the case APLIC_CLRIE_BASE ...APLIC_CLRIE_LAST reading to
>         follow AIA spec.
>       - Drop explicit usage of physical APLIC registers.
> ---
>  xen/arch/riscv/aplic.c              |  25 +++
>  xen/arch/riscv/include/asm/aplic.h  |   9 +
>  xen/arch/riscv/include/asm/intc.h   |  10 +-
>  xen/arch/riscv/include/asm/vaplic.h |   3 +
>  xen/arch/riscv/vaplic.c             | 289 +++++++++++++++++++++++++++-
>  5 files changed, 333 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/riscv/aplic.c b/xen/arch/riscv/aplic.c
> index 1c8fd0145eb2..1976733dfbaa 100644
> --- a/xen/arch/riscv/aplic.c
> +++ b/xen/arch/riscv/aplic.c
> @@ -40,6 +40,31 @@ static struct intc_info __ro_after_init aplic_info = {
>      .hw_version = INTC_APLIC,
>  };
>  
> +uint32_t aplic_hw_read_reg(unsigned int offset, uint32_t mask)
> +{
> +    unsigned long flags;
> +    uint32_t val;
> +
> +    ASSERT(offset < aplic.size);

Further assert suitable alignment of "offset"?

> +    spin_lock_irqsave(&aplic.lock, flags);
> +    val = readl((void __iomem *)((uintptr_t)aplic.regs + offset)) & mask;

Easier as

    val = readl((volatile void __iomem *)aplic.regs + offset) & mask;

? (Note that like const, volatile also shouldn't be cast away.)

> --- a/xen/arch/riscv/include/asm/aplic.h
> +++ b/xen/arch/riscv/include/asm/aplic.h
> @@ -15,6 +15,8 @@
>  
>  #include <asm/imsic.h>
>  
> +#define APLIC_NUM_REGS 32

What's this? It isn't used afaics, and it also doesn't match up with ...

> @@ -24,6 +26,8 @@
>  #define APLIC_DOMAINCFG_IE      BIT(8, U)
>  #define APLIC_DOMAINCFG_DM      BIT(2, U)
>  
> +#define APLIC_SOURCECFG_D       BIT(10, U)
> +
>  #define APLIC_SOURCECFG_SM_INACTIVE     0x0
>  #define APLIC_SOURCECFG_SM_DETACH       0x1
>  #define APLIC_SOURCECFG_SM_EDGE_RISE    0x4
> @@ -71,6 +75,8 @@
>  #define APLIC_SIZE(nr_cpus)     (APLIC_MIN_SIZE + \
>                                   APLIC_SIZE_ALIGN(APLIC_IDC_SIZE * (nr_cpus)))
>  
> +#define APLIC_SETCLR_OFFSET_MASK  ((32 * sizeof(uint32_t)) - 1)
> +
>  struct aplic_regs {
>      uint32_t domaincfg;         /* 0x0000 */
>      uint32_t sourcecfg[1023];   /* 0x0004 */
> @@ -114,4 +120,7 @@ struct aplic_regs {
>      uint32_t target[1023];      /* 0x3008 */
>  };

... this struct holding all the (far more than 32) registers.

As to APLIC_SETCLR_OFFSET_MASK: Any reason it has the low 2 bits set? The
literal 32 in there also looks rather arbitrary. It would be helpful if
there was a connection to those 32-s in struct aplic_regs that it actually
matches up with.

> --- a/xen/arch/riscv/include/asm/vaplic.h
> +++ b/xen/arch/riscv/include/asm/vaplic.h
> @@ -26,6 +26,9 @@ struct vaplic_regs {
>  struct vaplic {
>      struct vintc vintc;
>      struct vaplic_regs regs;
> +
> +    paddr_t regs_start;
> +    paddr_t regs_size;

Can regs_size really go beyond 4G?

> --- a/xen/arch/riscv/vaplic.c
> +++ b/xen/arch/riscv/vaplic.c
> @@ -26,6 +26,283 @@
>  
>  #define FDT_VAPLIC_INT_CELLS 2
>  
> +#define AUTH_IRQ_BIT(d, irqn) ( \
> +    ((irqn) <= (d)->arch.vintc->irq_nums) && \
> +    test_bit(irqn, (d)->arch.vintc->allocated_irqs) )
> +
> +#define regindx_to_irqn(reg_val) ((reg_val) / sizeof(uint32_t))
> +
> +static inline uint32_t generate_auth_mask(const struct domain *d,
> +                                          unsigned int irqsn)
> +{
> +    if ( irqsn >= DIV_ROUND_UP(d->arch.vintc->irq_nums,
> +                               sizeof(uint32_t) * BITS_PER_BYTE) )

Why the rounding up? Isn't ->irqs_num the proper upper bound?

> +    {
> +        dprintk(XENLOG_DEBUG, "incorrect irqsn(%d) is passed\n", irqsn);

Once again: %u please with an unsigned int argument.

> +        return 0U;
> +    }
> +
> +    return *((uint32_t *)d->arch.vintc->allocated_irqs + irqsn);

Such casts would better be avoided

> +static int vaplic_emulate_load(const struct vcpu *vcpu,

v please for struct vcpu * variables (in the common case, of course there can
be exceptions).

> +                               const unsigned long addr, uint32_t *out)
> +{
> +    const struct domain *d = vcpu->domain;
> +    const struct vaplic *vaplic = to_vaplic(d);
> +    const unsigned int offset = addr & APLIC_REG_OFFSET_MASK;
> +    uint32_t auth_mask;
> +    unsigned int i;
> +
> +    switch ( offset )
> +    {
> +    case APLIC_DOMAINCFG:
> +        *out = vaplic->regs.domaincfg;
> +
> +        return 0;
> +
> +    case APLIC_SETIPNUM:
> +    case APLIC_SETIPNUM_LE:
> +    case APLIC_CLRIPNUM:
> +    case APLIC_SETIENUM:
> +    case APLIC_CLRIENUM:
> +    case APLIC_CLRIE_BASE ... APLIC_CLRIE_LAST:

For ranges like this APLIC_REG_OFFSET_MASK having the low two bits clear
(or there being some other mechanism to ensure only properly aligned
offsets are handled) would help. Mis-aligned accesses shouldn't be
handled ...

> +        /*
> +         * Based on the RISC-V AIA spec a read of these registers
> +         * always returns zero
> +         */
> +        *out = 0;
> +
> +        return 0;

... like this.

> +    case APLIC_SETIP_BASE ... APLIC_SETIP_LAST:
> +    case APLIC_CLRIP_BASE ... APLIC_CLRIP_LAST:
> +    case APLIC_SETIE_BASE ... APLIC_SETIE_LAST:
> +        i = regindx_to_irqn(offset & APLIC_SETCLR_OFFSET_MASK);
> +        auth_mask = generate_auth_mask(d, i);
> +
> +        break;
> +
> +    case APLIC_TARGET_BASE ... APLIC_TARGET_LAST:
> +        /*
> +         * As target registers start for 1:

s/for/from/ ?

> +         *  0x3000 genmsi
> +         *  0x3004 target[1]
> +         *  0x3008 target[2]
> +         *   ...
> +         *  0x3FFC target[1023]
> +         * It is necessary to calculate an interrupt number by substracting
> +         * of APLIC_GENMSI instead of APLIC_TARGET_BASE.

Stray "of"? Or did you mean "subtraction"? (Also check other similar comments.)

> +    default:
> +        gdprintk(XENLOG_WARNING, "Unhandled APLIC read at offset %#x\n",
> +                 offset);
> +
> +        domain_crash(vcpu->domain);
> +
> +        return -EINVAL;
> +    }
> +
> +    *out = aplic_hw_read_reg(offset, auth_mask);

You blindly assume a 32-bit access here (and also in the write counterpart).
How do you end up knowing?

> +static int cf_check vaplic_emulate_store(const struct vcpu *vcpu,
> +                                         unsigned long addr, uint32_t value)

Why cf_check here but not for vaplic_emulate_load()?

> +{
> +    int rc = -EINVAL;
> +    const struct domain *d = vcpu->domain;
> +    unsigned int offset = addr & APLIC_REG_OFFSET_MASK;
> +
> +    switch ( offset )
> +    {
> +    case APLIC_SETIP_BASE ... APLIC_SETIP_LAST:
> +    case APLIC_CLRIP_BASE ... APLIC_CLRIP_LAST:
> +    case APLIC_SETIE_BASE ... APLIC_SETIE_LAST:
> +    case APLIC_CLRIE_BASE ... APLIC_CLRIE_LAST:
> +    {
> +        unsigned int irqn = regindx_to_irqn(offset & APLIC_SETCLR_OFFSET_MASK);
> +        value &= generate_auth_mask(d, irqn);
> +
> +        break;
> +    }
> +
> +    case APLIC_SOURCECFG_BASE ... APLIC_SOURCECFG_LAST:
> +        if ( value & APLIC_SOURCECFG_D )
> +        {
> +            rc = -EOPNOTSUPP;
> +
> +            dprintk(XENLOG_ERR, "APLIC_SOURCECFG_D isn't supported\n");
> +
> +            goto fail;
> +        }
> +
> +        /*
> +         * As sourcecfg register starts from 1:
> +         *   0x0000 domaincfg
> +         *   0x0004 sourcecfg[1]
> +         *   0x0008 sourcecfg[2]
> +         *    ...
> +         *   0x0FFC sourcecfg[1023]
> +         * It is necessary to calculate an interrupt number by subtracting
> +         * of APLIC_DOMAINCFG instead of APLIC_SOURCECFG_BASE.
> +         */
> +        if ( !AUTH_IRQ_BIT(d, regindx_to_irqn(offset - APLIC_DOMAINCFG)) )
> +            /* Interrupt not enabled, ignore it */
> +            return 0;
> +
> +        if ( value > APLIC_SOURCECFG_SM_LEVEL_LOW )
> +        {
> +            gdprintk(XENLOG_ERR,
> +                     "value(%u) is incorrect for sourcecfg register\n", value);
> +
> +            return 0;
> +        }
> +
> +        break;
> +
> +    case APLIC_TARGET_BASE ... APLIC_TARGET_LAST:
> +    {
> +        struct vcpu *target_vcpu = NULL;
> +
> +        /*
> +         * Look at vaplic_emulate_load() for explanation why
> +         * APLIC_GENMSI is subtracted.
> +         */
> +        if ( !AUTH_IRQ_BIT(d, regindx_to_irqn(offset - APLIC_GENMSI)) )
> +            /* Interrupt not enabled, ignore it */
> +            return 0;
> +
> +        for ( unsigned int i = 0; i < vcpu->domain->max_vcpus; i++ )
> +        {
> +            struct vcpu *v = vcpu->domain->vcpu[i];
> +
> +            if ( v->vcpu_id == (value >> APLIC_TARGET_HART_IDX_SHIFT) )
> +            {
> +                target_vcpu = v;
> +                break;
> +            }
> +        }

Why is a loop needed here? vCPU-s are numbered sequentially.

> +static bool cf_check vaplic_is_access(const struct vcpu *vcpu,
> +                                      unsigned long addr)
> +{
> +    const struct vaplic *vaplic = to_vaplic(vcpu->domain);
> +    paddr_t start = vaplic->regs_start;
> +    paddr_t end = vaplic->regs_start + vaplic->regs_size;
> +
> +    if ( addr & 0x3 )

Nit: Does the 0x here add any value?

> +    {
> +        dprintk(XENLOG_DEBUG,
> +                "APLIC MMIO address should be properly aligned\n");
> +
> +        return false;
> +    }

Ah, okay - here is the alignment check. Mind me asking for a (documenting)
assertion then in the actual read and write handlers?

> +    /* check if it is an APLIC access */

Nit: Style.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 15:14:03 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 15:14:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338374.1599402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ90l-0008HP-Tk; Mon, 15 Jun 2026 15:14:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338374.1599402; Mon, 15 Jun 2026 15:14: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 1wZ90l-0008HI-Qp; Mon, 15 Jun 2026 15:14:03 +0000
Received: by outflank-mailman (input) for mailman id 1338374;
 Mon, 15 Jun 2026 15:14:02 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wZ90k-0008Ff-Hq
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 15:14:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ90j-006yH4-Um
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 17:14:01 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a3016b9-e002-0a2a0a5209dd-0a2a4507d500-0
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 17:14:01 +0200
Received: from [209.85.218.45] (helo=mail-ej1-f45.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgross@suse.com>)
 id 6a3016b9-229c-0a2a45070019-d155da2db1c1-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 17:14:01 +0200
Received: by mail-ej1-f45.google.com with SMTP id
 a640c23a62f3a-c03a466c96aso97445466b.3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 08:14:01 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bfdb5318d8dsm476577766b.26.2026.06.15.08.14.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 08:14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781536441; x=1782141241; 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=baXP0rsce8RxgN3E4KwK75xIeIhqJL8ydG3/ruWWQ8Y=;
        b=EuZxTsguccJss+Cv72BZK5n/qsFea0bV3yZiGf+vCxaelJ96NNTUdRmrWNmn9WqBiV
         I5L9MG+JTqWkNO7pmOSPHCkkLx6Uz+ySsLhJypphKzLJSSZ67X9TQVXmvInsUMWq5p4L
         vtCy+RQXljv8/BII8w3D5g1flGC2FOke/fAHsHoN1wYz8YLj2X4NO16atWPh8540j/Ik
         Upa0gOYsYLCllrQPFgEVA+VhGJNWtaYWkiIv/48pSd3D66QrSJ8HiJcARtnCyvbVoVJW
         EebJcFZ4NwHEsLyOuwxls+bb6n6PmFbHCnuW5BwTJEUuydMXhv4U5nMvb8z7Te33G0Tf
         M/GA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781536441; x=1782141241;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=baXP0rsce8RxgN3E4KwK75xIeIhqJL8ydG3/ruWWQ8Y=;
        b=cqiI2/l2CfI2sH4ugUmRCx5gyeJRkIqYcqIwKLfc0Fe5jvreuzmKQ5JzvcirYi/iSA
         EFm4cb15wy2lZ3UDMq+gDe0xAUbjtlbnZEHMT6HIH9hVsyJ32u0xlJ6qFKagdsisVHdp
         R4nrgUxyEBRHXWzmqQEaKFGHdSDaUSP0ALcbD+6Yc8FMCrGebAJtCfmUatrDFpDLPqeW
         JrES8w8T+8lKJfWt2W0rObHjiL+5z5yvRCUpcJ+EHE/+/AfBGfSIK8ncZb5r6ycoBbOm
         DKPZnW41kJglMGWwUMW586wx2YE3r3fLwPLLroxKp9NFX0oQ7xExWLe59Jj0V/08oH69
         b1rA==
X-Gm-Message-State: AOJu0YyFIbXuYl3D6WyfOu+9/EW6qoryy6vRg0fkMn5hehP4UKZmHmaV
	nIFSAPUS5owllOfGXSTwEQYR8PX85/DsIjkuFKtLAsRIsfYRcppCYPTugjkAcqPfjq4=
X-Gm-Gg: Acq92OE65pRmI1VqjQK6X1eqMvwA5Vs98RXLfumLVbSDd8xoSZ3QuTUlYEk2Jg91g5i
	jTE1Zm3CzdF6OLNI7mR4MNumBCifQpL1oUbYE63GSZVvdpudD8NJr92NSJaALCOIqiqC82as8tu
	fRwbaBtU8BHz3NLqEpTk99d5lxwUWCBX5WMZpK9vos2ekPTBDOkCrUqIfUxxqFetD/J7oLkSBVB
	c35tcWYcB2kvfpThABZoiIV0aCg+apuH1ZCQSp7cbHyasRBVduyxq4VqFm/CJAjRMkVPruAijP1
	lhOSVzGrDc+G5BXzzndUnV/HeekLLDzhVW6H/1i2P/P/jUQh1IgR3VT92jiqnnKUA8TsRF+QPHr
	QMIb6KugGQjEeQc88RnHqQk+wRZieRduk7JKewILvdU1tEVBtFbdwavwft8NifaXIZ8ynHE1QQh
	4pRjcRgxTVfGBdMOa8wqOotDHsEMGyhkamlz+PUuC0KMCF1pWOY1vbQIYKtpVslGJS7zRuEhw/f
	eFtLa2CwzoIdNN/G0xSNm5EuY+Q2VztokBInG2cm4aHfySK9LCfBg==
X-Received: by 2002:a17:906:8a49:b0:bfe:ed25:c563 with SMTP id a640c23a62f3a-bfeed25c992mr358963766b.52.1781536441214;
        Mon, 15 Jun 2026 08:14:01 -0700 (PDT)
Message-ID: <dbc707b0-accd-49a0-96b8-7be2f19dac2f@suse.com>
Date: Mon, 15 Jun 2026 17:14:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] xen/scsiback: free unsubmitted command instead of
 double-putting it
To: Michael Bommarito <michael.bommarito@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org, linux-scsi@vger.kernel.org,
 stable@vger.kernel.org, linux-kernel@vger.kernel.org
References: <20260611123046.2323342-1-michael.bommarito@gmail.com>
 <20260611123046.2323342-2-michael.bommarito@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: <20260611123046.2323342-2-michael.bommarito@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Jf4ySejmD5HzM4B60G7A8ifN"
X-purgate-ID: tlsNG-ef75cf/1781536441-20961C48-5AD0C9FA/0/0
X-purgate-type: clean
X-purgate-size: 8148

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Jf4ySejmD5HzM4B60G7A8ifN
Content-Type: multipart/mixed; boundary="------------gFy1erWC8z42liK4wRBk1f9H";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Michael Bommarito <michael.bommarito@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org, linux-scsi@vger.kernel.org,
 stable@vger.kernel.org, linux-kernel@vger.kernel.org
Message-ID: <dbc707b0-accd-49a0-96b8-7be2f19dac2f@suse.com>
Subject: Re: [PATCH 1/2] xen/scsiback: free unsubmitted command instead of
 double-putting it
References: <20260611123046.2323342-1-michael.bommarito@gmail.com>
 <20260611123046.2323342-2-michael.bommarito@gmail.com>
In-Reply-To: <20260611123046.2323342-2-michael.bommarito@gmail.com>

--------------gFy1erWC8z42liK4wRBk1f9H
Content-Type: multipart/mixed; boundary="------------d3RfpG0bv0bddNhBytEpBYqL"

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

T24gMTEuMDYuMjYgMTQ6MzAsIE1pY2hhZWwgQm9tbWFyaXRvIHdyb3RlOg0KPiBzY3NpYmFj
a19nZXRfcGVuZF9yZXEoKSBvYnRhaW5zIGEgY29tbWFuZCB0YWcgYW5kIHJldHVybnMgYQ0K
PiB2c2NzaWJrX3BlbmQgd2hvc2UgZW1iZWRkZWQgc2VfY21kIGhhcyBvbmx5IGJlZW4gbWVt
c2V0IHRvIDAsIHNvDQo+IGl0cyBjbWRfa3JlZiBpcyAwOyB0aGUgc2VfY21kIGlzIGluaXRp
YWxpc2VkIChrcmVmX2luaXQoKSB2aWENCj4gdGFyZ2V0X2luaXRfY21kKCkpIG9ubHkgbGF0
ZXIsIGluIHNjc2liYWNrX2NtZF9leGVjKCksIG9uIHRoZQ0KPiBzdWNjZXNzZnVsIFZTQ1NJ
SUZfQUNUX1NDU0lfQ0RCIHBhdGguIFRoZSB0d28gZXJyb3IgcGF0aHMgaW4NCj4gc2NzaWJh
Y2tfZG9fY21kX2ZuKCkgdGFrZW4gYmVmb3JlIHRoZSBjb21tYW5kIGlzIHN1Ym1pdHRlZCAt
LSBhDQo+IGZhaWxlZCBzY3NpYmFja19nbnR0YWJfZGF0YV9tYXAoKSBhbmQgYW4gdW5rbm93
biByaW5nX3JlcS5hY3QgLS0NCj4gY2FsbCB0cmFuc3BvcnRfZ2VuZXJpY19mcmVlX2NtZCgm
cGVuZGluZ19yZXEtPnNlX2NtZCwgMCksIHdoaWNoDQo+IGtyZWZfcHV0KClzIGEgcmVmY291
bnQgb2YgMC4gVGhhdCB1bmRlcmZsb3dzIGl0ICgicmVmY291bnRfdDoNCj4gdW5kZXJmbG93
OyB1c2UtYWZ0ZXItZnJlZSIpIGFuZCwgYXMgdGhlIHJlbGVhc2UgZnVuY3Rpb24gaXMgbm90
DQo+IHJ1biwgbGVha3MgdGhlIGNvbW1hbmQgdGFnLg0KPiANCj4gSW1wYWN0OiBhIHB2U0NT
SSBndWVzdCBjYW4gbGVhayBldmVyeSBjb21tYW5kIHRhZyBvZiBhIExVTidzDQo+IHNlc3Np
b24sIHN0b3BwaW5nIHRoZSBMVU4sIGJ5IHN1Ym1pdHRpbmcgcmVxdWVzdHMgd2l0aCBhIGJh
ZA0KPiBncmFudCByZWZlcmVuY2Ugb3IgYW4gdW5rbm93biByZXF1ZXN0IHR5cGU7IHVuZGVy
IHBhbmljX29uX3dhcm4NCj4gdGhlIHJlZmNvdW50IHVuZGVyZmxvdyBwYW5pY3MgdGhlIGhv
c3QuDQo+IA0KPiBBZGQgYSBoZWxwZXIgdGhhdCBqdXN0IHJldHVybnMgdGhlIHRhZyB3aXRo
IHRhcmdldF9mcmVlX3RhZygpIGFuZA0KPiBzZW5kcyB0aGUgZXJyb3IgcmVzcG9uc2UuIEl0
IGZyZWVzIHRoZSB0YWcgd2hpbGUgdGhlIHYycCByZWZlcmVuY2UNCj4gc3RpbGwgcGlucyB0
aGUgc2Vzc2lvbiwgYW5kIHNuYXBzaG90cyB0aGUgcmVzcG9uc2UgZmllbGRzDQo+IGJlZm9y
ZWhhbmQgYmVjYXVzZSBmcmVlaW5nIHRoZSB0YWcgY2FuIGxldCBhbm90aGVyIHJpbmcgcmV1
c2UgdGhlDQo+IHBlbmRpbmdfcmVxIHNsb3QuDQo+IA0KPiBGaXhlczogMmRiY2RmMzNkYmY2
ICgieGVuLXNjc2liYWNrOiBDb252ZXJ0IHRvIHBlcmNwdV9pZGEgdGFnIGFsbG9jYXRpb24i
KQ0KPiBDYzogc3RhYmxlQHZnZXIua2VybmVsLm9yZw0KPiBBc3Npc3RlZC1ieTogQ2xhdWRl
OmNsYXVkZS1vcHVzLTQtOA0KPiBTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEJvbW1hcml0byA8
bWljaGFlbC5ib21tYXJpdG9AZ21haWwuY29tPg0KDQpSZXZpZXdlZC1ieTogSnVlcmdlbiBH
cm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQoNCkp1ZXJnZW4NCg==
--------------d3RfpG0bv0bddNhBytEpBYqL
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-----

--------------d3RfpG0bv0bddNhBytEpBYqL--

--------------gFy1erWC8z42liK4wRBk1f9H--

--------------Jf4ySejmD5HzM4B60G7A8ifN
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/Ey8FAmowFrgFAwAAAAAACgkQsN6d1ii/Ey+O
PAf/Qg12ML1MvaFXxcUkr/ZYb8gAt35wBMav4rH0yQXzWpF6WOyOrncQ6S5bzDOMyJffd+JlDsq9
rvwh2VU3bzxlNzz8tzLk2CHOJ53bUyB/IfBkGmZN9hJ7zMPoUwEVyUxwkWp79JB1HDXWzIoBKpzs
b6MGp3Sg/BwANrz4tKbbWJ+m/GrTOaJNAUb2rJb3XZ7SjcTTWnWPpE2g4ZI4djCbYIUsAXCJXX64
HYkLfTrMWF9LbTjN8tkGy+kUVseyYRvG46nz2VCThoRHi9GZIkPZCHL79Tz1LnrWZ9xiBTMiZvfP
leBsJB6fUa1Zc2v70+ANSnk7DB3hxjzsFc/LdcGFpQ==
=3jap
-----END PGP SIGNATURE-----

--------------Jf4ySejmD5HzM4B60G7A8ifN--


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 15:14:53 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 15:14:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338382.1599410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ91Y-0000Ny-4Y; Mon, 15 Jun 2026 15:14:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338382.1599410; Mon, 15 Jun 2026 15:14: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 1wZ91Y-0000Nr-1z; Mon, 15 Jun 2026 15:14:52 +0000
Received: by outflank-mailman (input) for mailman id 1338382;
 Mon, 15 Jun 2026 15:14:50 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wZ91W-0000Nh-Nf
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 15:14:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ91W-006yOr-4X
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 17:14:50 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a3016c7-e002-0a2a0a5209dd-0a2a45038fe6-30
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 17:14:49 +0200
Received: from [209.85.208.47] (helo=mail-ed1-f47.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgross@suse.com>)
 id 6a3016e9-672d-0a2a45030019-d155d02fc823-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 17:14:49 +0200
Received: by mail-ed1-f47.google.com with SMTP id
 4fb4d7f45d1cf-6913160c9ddso6458677a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 08:14:49 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-693c43a6d9csm3070699a12.13.2026.06.15.08.14.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 08:14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781536489; x=1782141289; 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=B3sS3PLpEox/I90orKXtXi+fuwEPT4sqQMjXEhQJhEA=;
        b=ZOW37VQJjAJv0SNKLPs8WcCBVSAL5dz8FEknq1v3tEezqN/KzoIUHEpxx9iJthpi7U
         CjNbF97BEmXYwhXrodG8evZb+b66ip5SV6elfOtLCi7kGtbrL8xiaFENluNY0uJAaruj
         aR1eTOMT3WAZBeD6UA0JJzfvOETbDG3VYlI+5GDkTdH5UWQytHazwyX/UyAvaerftFW7
         3jm8gRXn0tLJeDde7JSMWKnvWYo7ffOZCSjk1V+svDlx+gVidLmsVStx5ApnA9OladyU
         Im3HXhK680PARaCdcNbVmgxiYgYYhTBFjg1D2wAdKbkgLjq31XiXehF6Ss7rtgbxN+Gg
         sI2g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781536489; x=1782141289;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=B3sS3PLpEox/I90orKXtXi+fuwEPT4sqQMjXEhQJhEA=;
        b=JRdWQbufvLLUL/UwFje72pNGrxmQ30AyoE87fOZ/yFOhhmh2vyqwDRlwskH7Nx46CP
         9waNoiKq88NBD+JkVPAMmxx7LYdixhgJYMM8WiSohBTCgfPT1OT5tzvRda6sfGUGg1xs
         6ANm4gdYQ3O9Fd/F3E/op97pxhf5CwUiDOc7rZPBn8GRjbd783aDUuSITEk1f6Kmy/HF
         9R9au2lyezeDN8eaWj9gGqzJifiCTtOW9qWZNS9E3yv1Jv4uz+tOG5puwM9QjxVULga+
         xHdqO4h/qoU2l8xxE9pSqlndfDjK2W/T7WdV2zwltHhkQh45Jcn/A9h++ZKpZRBqqOkx
         Mteg==
X-Gm-Message-State: AOJu0Yxk+m7YBbn803S3QnZ4IRknxV775vv88sSa1a4iVztjKDMdBMvS
	F67SFXBltOz6t1/15U3vjQqIBsYUD2GX+iBITFdHtsHNJ5oEOhBbmLHLGghvMefAwHo=
X-Gm-Gg: Acq92OFhJG9jFUtqb0NjZR5yTL4gd4RfLsOfBr+GdycxKsA5F1cUcL1fOEoSXwy9VgR
	dG4FRId7FdlE+tdjBKwoJ6JtI2V0xwN4FgBfpTAjKjdocChnrGlUFUsE2D2lWDp3Wi+tZQ8bzMN
	v6uGcawTBYOGWAUEBFvl22O42NNp+Hoiltgjq1fKlKtwm8hCC6WX6yViILXjRBJFo6OmM+8sgwh
	KJ5zhkTMpo2Oc/WHB/6UmUreLa6JNf1/xY7SyvbMnnlS9fAiH2uDHVjhucx0jNmbbQ/we6JlOhd
	UhN3Mm+fASK2dyxjuQOcB+ShO1fb5O/yqEnOJS8W/2xcLtvPdYT5BfgToKGTg87V2CaTlkvCgqe
	cTP/Yj4/DsEozqkAGHfZlWoFdIDPFrPJMTQ7YWhf8z24nzL39KjoqpLjCw/avAjf8DYbt4LQCUL
	e9F24iYTiRumqUxsGintpl/eAbDJfAOuqYyZ8NrYPPlHYgm6Uq2zYixckb4U3quw3cE1yJcIwfz
	GpTFXCQ7/W+hTSTdGmPaSsnZpv5/GO4r8GBx8tm9znNmkeb2kxMNQ==
X-Received: by 2002:a05:6402:3588:b0:68f:cc95:ba5b with SMTP id 4fb4d7f45d1cf-693c6a8cf7cmr5170579a12.27.1781536489059;
        Mon, 15 Jun 2026 08:14:49 -0700 (PDT)
Message-ID: <a2c4253b-99ed-4dab-9f2b-1906f958522b@suse.com>
Date: Mon, 15 Jun 2026 17:14:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] xen/scsiback: free the command tag on the TMR
 submit-failure path
To: Michael Bommarito <michael.bommarito@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org, linux-scsi@vger.kernel.org,
 stable@vger.kernel.org, linux-kernel@vger.kernel.org
References: <20260611123046.2323342-1-michael.bommarito@gmail.com>
 <20260611123046.2323342-3-michael.bommarito@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: <20260611123046.2323342-3-michael.bommarito@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------30fN0dc4b3OHkvjxlNkt3JWf"
X-purgate-ID: tlsNG-33051d/1781536489-42965938-194704F2/0/0
X-purgate-type: clean
X-purgate-size: 7854

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------30fN0dc4b3OHkvjxlNkt3JWf
Content-Type: multipart/mixed; boundary="------------JnwtXeAGP8AktzTMtTeWLuja";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Michael Bommarito <michael.bommarito@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org, linux-scsi@vger.kernel.org,
 stable@vger.kernel.org, linux-kernel@vger.kernel.org
Message-ID: <a2c4253b-99ed-4dab-9f2b-1906f958522b@suse.com>
Subject: Re: [PATCH 2/2] xen/scsiback: free the command tag on the TMR
 submit-failure path
References: <20260611123046.2323342-1-michael.bommarito@gmail.com>
 <20260611123046.2323342-3-michael.bommarito@gmail.com>
In-Reply-To: <20260611123046.2323342-3-michael.bommarito@gmail.com>

--------------JnwtXeAGP8AktzTMtTeWLuja
Content-Type: multipart/mixed; boundary="------------Lx4hjADfd9WcEZaF3yim000E"

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

T24gMTEuMDYuMjYgMTQ6MzAsIE1pY2hhZWwgQm9tbWFyaXRvIHdyb3RlOg0KPiBzY3NpYmFj
a19kZXZpY2VfYWN0aW9uKCkgb2J0YWlucyBhIGNvbW1hbmQgdGFnIGluDQo+IHNjc2liYWNr
X2dldF9wZW5kX3JlcSgpIGFuZCBzdWJtaXRzIGEgdGFzay1tYW5hZ2VtZW50IHJlcXVlc3Qg
d2l0aA0KPiB0YXJnZXRfc3VibWl0X3RtcigpLiBXaGVuIHRhcmdldF9zdWJtaXRfdG1yKCkg
ZmFpbHMgaXQgcmV0dXJucyA8IDANCj4gYW5kIHNjc2liYWNrIGp1bXBzIHRvIHRoZSBlcnI6
IGxhYmVsLCB3aGljaCBzZW5kcyBhIHJlc3BvbnNlIGJ1dA0KPiBmcmVlcyBub3RoaW5nLCBs
ZWFraW5nIHRoZSB0YWcuDQo+IA0KPiBJbXBhY3Q6IGEgcHZTQ1NJIGd1ZXN0IGNhbiBsZWFr
IHRoZSBjb21tYW5kIHRhZ3Mgb2YgYSBMVU4ncw0KPiBzZXNzaW9uLCBzdG9wcGluZyB0aGUg
TFVOLCBieSBpc3N1aW5nIFZTQ1NJSUZfQUNUX1NDU0lfQUJPUlQgb3INCj4gUkVTRVQgcmVx
dWVzdHMgd2hlbmV2ZXIgdGFyZ2V0X3N1Ym1pdF90bXIoKSBmYWlscy4NCj4gDQo+IHRyYW5z
cG9ydF9nZW5lcmljX2ZyZWVfY21kKCkgY2Fubm90IGJlIHVzZWQgaGVyZS4gQnkgdGhlIHRp
bWUNCj4gdGFyZ2V0X3N1Ym1pdF90bXIoKSByZXR1cm5zIGFuIGVycm9yIGl0IGhhcyBhbHJl
YWR5IHJ1bg0KPiBfX3RhcmdldF9pbml0X2NtZCgpIChzbyBzZV9jbWQtPmNtZF9rcmVmIGlz
IG9uZSwgbm90IHplcm8pLCBhbmQgb24NCj4gaXRzIHRhcmdldF9nZXRfc2Vzc19jbWQoKSBl
cnJvciBwYXRoIGl0IGhhcyBmcmVlZCBzZV9jbWQtPnNlX3Rtcl9yZXENCj4gdmlhIGNvcmVf
dG1yX3JlbGVhc2VfcmVxKCkgd2hpbGUgbGVhdmluZyBTQ0ZfU0NTSV9UTVJfQ0RCIHNldCBh
bmQNCj4gdGhlIHBvaW50ZXIgZGFuZ2xpbmcuIExldHRpbmcgdGhlIGNvbW1hbmQgcmVsZWFz
ZSBydW4NCj4gdGFyZ2V0X2ZyZWVfY21kX21lbSgpIHdvdWxkIHRoZW4gZG91YmxlLWZyZWUg
c2VfdG1yX3JlcS4NCj4gDQo+IFVzZSB0aGUgc2FtZSBoZWxwZXIsIHdoaWNoIHJldHVybnMg
anVzdCB0aGUgdGFnLCBvbiB0aGlzIHBhdGggdG9vLg0KPiANCj4gRml4ZXM6IDJkYmNkZjMz
ZGJmNiAoInhlbi1zY3NpYmFjazogQ29udmVydCB0byBwZXJjcHVfaWRhIHRhZyBhbGxvY2F0
aW9uIikNCj4gQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcNCj4gQXNzaXN0ZWQtYnk6IENs
YXVkZTpjbGF1ZGUtb3B1cy00LTgNCj4gU2lnbmVkLW9mZi1ieTogTWljaGFlbCBCb21tYXJp
dG8gPG1pY2hhZWwuYm9tbWFyaXRvQGdtYWlsLmNvbT4NCg0KUmV2aWV3ZWQtYnk6IEp1ZXJn
ZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCg0KDQpKdWVyZ2VuDQo=
--------------Lx4hjADfd9WcEZaF3yim000E
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-----

--------------Lx4hjADfd9WcEZaF3yim000E--

--------------JnwtXeAGP8AktzTMtTeWLuja--

--------------30fN0dc4b3OHkvjxlNkt3JWf
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/Ey8FAmowFugFAwAAAAAACgkQsN6d1ii/Ey/u
1QgAgMgugck5RFkPC7QeBaJ0LIT21B2fLVOBow5S7PSnFm6QhyL3zdSMJbufs0wxNTf286qDaqXy
7ncVw63W4hvoOY0hkJQwGEqOB3JCJ+sK1recDIoFTLP3FEHHjVaWbXnlz1IZFEidgvzlgs0s1ZLW
dF0wVrA1G5PXNixuoENucei6EiDC8lqFxFxEbBbby/1ZOi2yWjb5yycjWE5rFf8L+atKcPY24Mzg
2E8/IRPNNFdaNPm2wFxh709znikGqTzzVTB10xD1s693wAwgInz4jyDvEDDGW2WZM9Diux/WatzF
TBM0r3yfrZpWFpEHIeMUQ4mNXGRbalbyc/6zQ327Bw==
=y292
-----END PGP SIGNATURE-----

--------------30fN0dc4b3OHkvjxlNkt3JWf--


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 15:23:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 15:23:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338394.1599421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ9AA-0002CV-W2; Mon, 15 Jun 2026 15:23:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338394.1599421; Mon, 15 Jun 2026 15: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 1wZ9AA-0002CO-SC; Mon, 15 Jun 2026 15:23:46 +0000
Received: by outflank-mailman (input) for mailman id 1338394;
 Mon, 15 Jun 2026 15:23:46 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZ9AA-0002CI-8N
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 15:23:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ9A9-003BGp-LW
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 17:23:45 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3018f0-5cb7-0a2a0a5109dd-0a2a45099b2e-34
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 17:23:45 +0200
Received: from [209.85.128.47] (helo=mail-wm1-f47.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a301901-2497-0a2a45090019-d155802fc9ed-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 17:23:45 +0200
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-490ac10e337so24233955e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 08:23: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-4922fa50c26sm37485e9.7.2026.06.15.08.23.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 08:23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781537025; x=1782141825; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt: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+u4Tu1hZbOgWDdNIRYdiJKQGAwEFympF9C9pYpoo2w=;
        b=ereW2+bzfKWBKAHVTtwUBfNOYOmuPVU5kSQZ0DE/AMwGkoj72rx5KDCGLX62d3jDYP
         w2U3KMbh4SIBNvTTSLlkdjb5iK6G+qH0q/YCh8vJNs4Ji3OxpcheXE1TBrYVqxwho6cI
         Dq8x8ZD+TxLDG+yyVLPFNdtr3Je63TkM5NNm7+TVQQvS83Nqt+OVtv/wNMzPnxEQqL4N
         tYMvyhaQcXbJ6wE2PZNi0SqZHyLlQzaXdJYdOuGuk0srMvGFwcuUuCSxT3MnlvRamOIm
         TOsmb7L0mTTRGQIZ6TgPnzUe4OsS7447EbgxwMc2tqez1Swq/WkK6zmGBCqpEWZ+Y9Q2
         pbcw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781537025; x=1782141825;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=p+u4Tu1hZbOgWDdNIRYdiJKQGAwEFympF9C9pYpoo2w=;
        b=Nx+XbamSJHk6Z9RwWVibi965aVCM9LIoTCh5z0gLtKgtIln6fcou9Jg/cMHKH/vTzf
         AYXJQtnOMA8ycoQRONF1Y10gsrUVCrnuzetX4px5TqGsLdoy1yQbeIVbD8fd77crrpo8
         cRxfwKuDRVzxlUez7ZcPEa2B7+HqKRV2RdPvGmK5B4WVH+ljJQ1pMA+G6nm6Q2zejtdv
         PG2EOmQxUX3rkrZNVHxy70hdczu2oT/Y68n8F24N1MN88XzXX/Foef3vIytfslDzyMfw
         Hi4IouGiwFvVc2Y4nPZlQCwkG4LuJExdny/A9i+QWI/ChyildKV0Iv819ylVI/BITtoV
         s88Q==
X-Forwarded-Encrypted: i=1; AFNElJ/yXW6D8XE1g1NqMXZ8riUVK8QKIl58PJqQ/6H6SCm8N5CEYW/a5ZZ9/Qpk8zHY62IXtYNOkqyv6QI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw2bKIqRDLRh5N+/U1lVyojG3+0tTIRrQ43TXh1S0O1f1q7yUOo
	PTuXRLopLrgsH5mEvOLfqj+1HvMHO4P0z72C0KTSguxyfpTnI0WR8z6iZIqD9M3aaQ==
X-Gm-Gg: Acq92OFmQH8VlFUQdF2j2fXan17uvBWy+zT8a+ndbQcXa9CWWlNXynEmWc/x/xtRK8S
	01APmoRcU9PmIv++XuRPRIlD/HWd0jRaVzdHB6MbxFQMUf1J/WiZXpap9TmokEwRgoZNTvAn+LN
	xZrmlCQKIckjkRgnMG3Gqoc+YsyQF6xRUX7wt+BetP2rxNr2LGqPSPHu47I9EsNfPzCoROnwiBf
	RBXLhNSGEMgCE9AXN79V8259Hr7Cb5uh9EqXRaSUhjccyXyJhChUfLWH75nxaA2GWy6CEwyrRfT
	rXj2YyAFbmyTpk1IT4Ouf34wPeVmIKqGuEA4wBHlg8zrjTpj2sed455N/qOf9Dnnn8VeUPh7xoX
	/+QQLH8mu+wf5D8OjwGPZRXxkco2RO5Fltm1eRW/AkoHEuC1PWKwqLBXiUz9zE/EAaMSTiG2FVH
	/gGBERJJxi5fyqJG/ZUxSYXgwCvmd/ULMhiB2f6WDGKQC9WRV+Y60RaSqatl/2JAzbmqMRr/HzR
	tMHgo4muS0oM6o=
X-Received: by 2002:a05:600c:3b02:b0:492:2f3c:d0ed with SMTP id 5b1f17b1804b1-4922f3cd1a2mr7476315e9.30.1781537024666;
        Mon, 15 Jun 2026 08:23:44 -0700 (PDT)
Message-ID: <024e626a-e1be-4959-bd78-4e229beade98@suse.com>
Date: Mon, 15 Jun 2026 17:23:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 12/16] xen: implement new foreign copy hypercall
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org, Daniel Smith <dpsmith@apertussolutions.com>
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
 <20260613214749.20620-13-frediano.ziglio@cloud.com>
 <8289ea1d-ceca-40b6-a992-a778be053cd0@suse.com>
 <CAHt6W4en1yMLrUXv+RbcoPr-=S_=pi2Rrcm2BC2PzMZT+0ksFw@mail.gmail.com>
 <1c1829d2-4cb4-4e29-9012-fdcbca8d79a9@suse.com>
 <CAHt6W4daGuduOgRNUFOB8SZd+C5bxaubyQoU=xDcJSMzo97VDw@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: <CAHt6W4daGuduOgRNUFOB8SZd+C5bxaubyQoU=xDcJSMzo97VDw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1781537025-41165A53-69C1767D/0/0
X-purgate-type: clean
X-purgate-size: 8357

On 15.06.2026 17:07, Frediano Ziglio wrote:
> On Mon, 15 Jun 2026 at 15:03, Jan Beulich <jbeulich@suse.com> wrote:
>> On 15.06.2026 14:11, Frediano Ziglio wrote:
>>> On Mon, 15 Jun 2026 at 08:41, Jan Beulich <jbeulich@suse.com> wrote:
>>>> On 13.06.2026 23:47, Frediano Ziglio wrote:
>>>>> +        {
>>>>> +            struct page_info *foreign_page;
>>>>> +            void *foreign;
>>>>> +            p2m_type_t p2mt;
>>>>> +            const unsigned long valid_mask =
>>>>> +#ifdef CONFIG_X86
>>>>> +                p2m_to_mask(p2m_ram_rw) | p2m_to_mask(p2m_ram_logdirty);
>>>>> +#else
>>>>> +                p2m_to_mask(p2m_ram_rw);
>>>>> +#endif
>>>>
>>>> What about, for example, p2m_ram_ro? Or p2m_ram_shared? Or p2m_grant_map_*?
>>>> Etc. Any artificial constraining wants justifying in the description and/or
>>>> mentioning in the public header.
>>>
>>> The base of this was taken from migration code where there is such a check.
>>> I suppose that adding p2m_ram_ro (where available) won't hurt.
>>
>> Just to mention, to avoid another round trip just because of this: p2m_ram_ro
>> has different meaning on x86 vs Arm/RISC-V.
> 
> That's confusing... should not this be fixed somehow?
> It won't save much from a round-trip. Should I allow it or not ?

Ask the Arm maintainers. I raised this issue more than once, without any real
success.

>>> p2m_ram_shared I'm not sure but seems fine too.
>>> For p2m_grant_map_* it feels a bit a security issue to me. It would
>>> allow a guest to give access to pages of other domains. It's true that
>>> the current domain would have to have write access to this domain
>>> anyway but extend these permissions sounds something it should not be
>>> able to do.
>>
>> It could copy the contents of the grant mapped page by other means. Why not
>> allow it in this new sub-op as well then?
> 
> I'm more afraid of writing the content of the grant pages than copying it.

But the same is true for writing to the granted page: The domain could do so
by other means.

>> Talking of security: When the page you copy to is owned by a PV guest, I
>> think you further need to obtain a PGT_writable type ref. (Of course it then
>> likely is easier to always do this, not just for PV.)
> 
> Wondering how save/restore (or migration) works in this case.

Save is not relevant here. Restore happens before the guest gains control.
Which is entirely different from hypercall handling.

>>>>> @@ -2012,6 +2139,13 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>>>>              start_extent);
>>>>>          break;
>>>>>
>>>>> +    case XENMEM_foreigncopy:
>>>>> +        if ( unlikely(start_extent) )
>>>>> +            return -EINVAL;
>>>>
>>>> Please address review comments (verbally or by code changes) before submitting
>>>> a new version. Here I had asked "Why make this different from other continuable
>>>> sub-ops?"
>>>>
>>>
>>> There's already a comment in the same file for similar reason
>>>
>>>     /*
>>>      * Limiting nr_frames at (UINT_MAX >> MEMOP_EXTENT_SHIFT) isn't ideal.  If
>>>      * it ever becomes a practical problem, we can switch to mutating
>>>      * xmar.{frame,nr_frames,frame_list} in guest memory.
>>>      */
>>>
>>> so to avoid the doubt and possible future change I mutate the structure.
>>> Also I use the mutation to give more information to the caller, using
>>> "start_entent" won't allow this.
>>
>> You'll want to mention this in the description and/or a code comment. It
>> wants to become clear that the inconsistency in behavior (with other sub-
>> ops) is deliberate rather than accidental.
>>
> 
> Added a comment in the code:
> 
>         if ( copy.nr_frames && hypercall_preempt_check() )
>         {
>             /*
>              * Instead of using "start_extent" we update the structure back,
>              * we update it back in anyway to tell caller were the copy
>              * stopped.
>              */
>             rc = hypercall_create_continuation(
>                 __HYPERVISOR_memory_op, "lh", XENMEM_foreigncopy, arg);
>             goto out;
>         }

Please can this go into the hunk that I commented on?

>>>>> --- a/xen/include/public/memory.h
>>>>> +++ b/xen/include/public/memory.h
>>>>> @@ -740,7 +740,45 @@ struct xen_vnuma_topology_info {
>>>>>  typedef struct xen_vnuma_topology_info xen_vnuma_topology_info_t;
>>>>>  DEFINE_XEN_GUEST_HANDLE(xen_vnuma_topology_info_t);
>>>>>
>>>>> -/* Next available subop number is 29 */
>>>>> +/*
>>>>> + * Copy memory from/to a given domain.
>>>>> + */
>>>>> +#define XENMEM_foreigncopy 29
>>>>> +struct xen_foreigncopy {
>>>>> +    /* IN - The domain whose resource is to be copied. */
>>>>
>>>> There's still "resource" here, when this really is about RAM (memory) only,
>>>> not any other kind of resource.
>>>>
>>>>> +    domid_t domid;
>>>>> +
>>>>> +    /* IN - Flags. */
>>>>> +#define XENMEM_foreigncopy_from 0
>>>>> +#define XENMEM_foreigncopy_to 1
>>>>> +#define XENMEM_foreigncopy_direction 1
>>>>> +    uint16_t flags;
>>>>> +
>>>>> +    /*
>>>>> +     * IN
>>>>> +     *
>>>>> +     * As an IN parameter number of frames of the domain to be copied.
>>>>> +     */
>>>>> +    uint32_t nr_frames;
>>>>
>>>> This isn't just an input, as you update the field (and the handles below).
>>>> This property of fields wants reflecting here, so callers know that they (a)
>>>> can't re-use the struct on a subsequent call without re-initializing the
>>>> fields which may have changed, and (b) can't put the struct in r/o memory.
>>>>
>>>
>>> Update comments:
>>>
>>> /*
>>>  * Copy memory from/to a given domain.
>>>  */
>>> #define XENMEM_foreigncopy 29
>>> struct xen_foreigncopy {
>>>     /* IN - The domain whose memory is to be copied. */
>>>     domid_t domid;
>>>
>>>     /* IN - Flags. */
>>> #define XENMEM_foreigncopy_from 0
>>> #define XENMEM_foreigncopy_to 1
>>> #define XENMEM_foreigncopy_direction 1
>>>     uint16_t flags;
>>>
>>>     /*
>>>      * IN/OUT
>>>      *
>>>      * As an IN parameter number of frames of the domain to be copied.
>>>      * On output on error updated number of frames left.
>>>      */
>>>     uint32_t nr_frames;
>>
>> This is updated not only on error, but also when encoding continuations.
>>
> 
> Yes, but this seems more an implementation detail to me. I don't think
> the caller cares about how the continuation is implemented.

You just can't know what a caller may or may not care about. You want to
be precise.

>>>>> +    /*
>>>>> +     * IN
>>>>> +     *
>>>>> +     * Frames to be copied.
>>>>> +     */
>>>>> +    XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
>>>>> +
>>>>> +    /*
>>>>> +     * IN/OUT
>>>>> +     *
>>>>> +     * Userspace buffer to read/write from.
>>>>> +     */
>>>>> +    XEN_GUEST_HANDLE(uint8) buffer;
>>>>
>>>> With these two handles, there continues to be a need to (explicitly) deal
>>>> with the compat case as well.
>>>
>>> I don't agree with this. Domains having access to other domains are
>>> limited (like stub domains for Qemu) and won't be 32 bits today so why
>>> allow 32 bits guests if not ever used?
>>
>> How do you know? Why shouldn't e.g. XTF be permitted to test this in all
>> possible modes? And even if all arguments end up in favor of "no compat
>> support", this then wants spelling out to make clear this wasn't an
>> oversight, but rather a conscious decision.
>>
> 
> XTF can do something like
> 
> #if COMPAT_GUEST
>     /* Compat guests are not supported, return success. */
>     return 0;
> # endif
> 
> (or can be done in the Makefiles I suppose).
> 
> Added a comment in memory.h:
> 
>     /*
>      * Copy memory from/to a given domain.
>      * As this call requires target access and guest with target access won't be
>      * compat guests supported for compat guests this is not implemented.
>      */

Well, okay. Right now what I can say is that with this it's then going to be
rather unlikely that I'd ack the overall change. You make assumptions on
what people may or may not do. There are still benefits to 32-bit environments
in certain situations, even more so that the x32 mode of x86-64 didn't really
take off.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 15:23:53 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 15:23:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338395.1599429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ9AG-0002QK-7t; Mon, 15 Jun 2026 15:23:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338395.1599429; Mon, 15 Jun 2026 15: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 1wZ9AG-0002QD-4w; Mon, 15 Jun 2026 15:23:52 +0000
Received: by outflank-mailman (input) for mailman id 1338395;
 Mon, 15 Jun 2026 15:23:51 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wZ9AE-0002Pn-SP
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 15:23:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ9AE-006hNO-8v
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 17:23:50 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a3018e0-2eae-0a2a0a5409dd-0a2a4503d820-34
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 17:23:50 +0200
Received: from [209.85.208.54] (helo=mail-ed1-f54.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgross@suse.com>)
 id 6a301906-672d-0a2a45030019-d155d036c1c3-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 17:23:50 +0200
Received: by mail-ed1-f54.google.com with SMTP id
 4fb4d7f45d1cf-691c5776f95so6804238a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 08:23:50 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-6937919a009sm3908132a12.2.2026.06.15.08.23.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 08:23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781537030; x=1782141830; 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=U0pD8sfvonRfZhHhrXQLk0kLzLYL7vz4j3GNsAzo0Lk=;
        b=dX2Fu7wRBUYVVC781PeYz7+iayVKjcOZU62eYQqEPtVkB7lDsJ9b/9ndn2hKPLxcSd
         3+WFapBqr1R4D7mU66UuofO1YN45MsBVJ9kgvjS5HifBtAsALITZv0RxHgGgrKmm+qBK
         QS/Zn3/T23y/OgSSSVqGhZkT8KEKh58hlEbalcnUNyo8HMfN8BEzMrwI8phnNNOKgOeS
         hBiyxyvXuQ4EZd2qIZ9UWqCR1cvzTHrkbrMntKRTRpAHPNt+uT5MwJhmZQ8Cr0DR0T5T
         0ryZkrxKcNZTQr1Mt+F7O2RvzkMk2EX0ub0aIhqEnbWnLPr7J9oQ2hfb4LYr1R5IEKel
         4nmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781537030; x=1782141830;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=U0pD8sfvonRfZhHhrXQLk0kLzLYL7vz4j3GNsAzo0Lk=;
        b=GcYdIYDo/f17ixtdmgDfrAF15Tez6B5JqvDHNgnBcuoD/xg5i5JNUCTEwSf4yiCKQh
         ITRwf0mmqd6g/Tr79FoAvxtbK3vwDrqQ/L1AaBPCvwDWXTuuVuH1UclOodK7DYYIVIpr
         qA22Ooi1UcOls4tUHnSkjSqxC/XgGDGaFlx8CLf7JVtWYkX0lxd9n/8PwGMl5fTlDoZA
         K5ivZBZ1GHd0v0GScjOmp4b55MnYPy2yrxg1GATv9rdvTIxEI9y4jso6WFPzPlkiJTm/
         C3juSbo2KjUaTEpzNnU/T0N3ajGIarT+qnaJHZT5pqk7GupPmoDPgRALGcLYOBawmcRe
         V/5Q==
X-Forwarded-Encrypted: i=1; AFNElJ8EuPfTc9j1zgzfe3cSoMQ018ZHAkD9oYUGydnXmqoetzpVUEr3DYUWtEDE4wYO57dLawZ21Aw4hFg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwxsCjdGIezCduKig9KrVEjHjUPobgMr8QBp7eWQI5B1RWj6CcP
	MPxw/Eveiv8ZJMuTDk52xHCMWnvQxpW50sX7ArI3h+zTtAfFgTGlKfctgTmIpdBe1+A=
X-Gm-Gg: Acq92OHomWPtmFw26FtLJ+8olvYx+SEou94nbth2y5/qhhDCfz2nEz0htfACFdQU9wx
	4NCN8uoqgKKPs9IwrwvOMk2DcUSqdf8IDWoWdo2wqrDazAy6ne46ieOGjvNg+A1XKdWL7zKSiwt
	ma0opC+6eSUVRMgNvwWQlID9yYO3RSKk5lqsLuT4OXpmnuqrT7xaBDuhzPkL9GDppOGFDS3h0nE
	QGZENYojzfwgLtLKCwArGS3XUnH92iE/e567HVr1wkEgdNVoRCOE5sPZcg4bVslg1WtcMoJA5SD
	MeAfBG4djV/4PsArMS8pSLsPaMLXCLX2LbfZ9QVpKbi6edb4VblNpw9zJ8OXWD7yeFOUk9BxC/y
	2CepcV/TlQgJ7VcDPgK+kZ0Hj24J+Gtou0xFJBrSpyUKUq0B0C9GmUBerTh8K2DHTP5GhwCmJp4
	7e7jXR/SxaONvEtxELFujSWMI7NGcc8hLQdPpZIUqs7h1DD2qgklDZNqt/LgZSZ+eqtYJoLeGzC
	3u/+LhNUdSd98DsSvVD5wIX7Fu29s1OMnGLNLQ4tieayasOxWC3gQ==
X-Received: by 2002:a05:6402:a284:10b0:694:fd48:83a8 with SMTP id 4fb4d7f45d1cf-694fd48843amr193808a12.7.1781537029705;
        Mon, 15 Jun 2026 08:23:49 -0700 (PDT)
Message-ID: <69464e3f-895f-4f8f-bd10-a97938e71dbe@suse.com>
Date: Mon, 15 Jun 2026 17:23:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/gntdev: fix refcount leak in
 gntdev_ioctl_map_grant_ref()
To: WenTao Liang <vulab@iscas.ac.cn>, sstabellini@kernel.org
Cc: oleksandr_tyshchenko@epam.com, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, stable@vger.kernel.org
References: <20260611142328.87566-1-vulab@iscas.ac.cn>
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: <20260611142328.87566-1-vulab@iscas.ac.cn>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------quszfhjmjkSSdySO1vWrN1LH"
X-purgate-ID: tlsNG-33051d/1781537030-41F90938-9804FDAE/0/0
X-purgate-type: clean
X-purgate-size: 8168

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------quszfhjmjkSSdySO1vWrN1LH
Content-Type: multipart/mixed; boundary="------------xNzf8DtKZGPX2Os0YABuur72";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: WenTao Liang <vulab@iscas.ac.cn>, sstabellini@kernel.org
Cc: oleksandr_tyshchenko@epam.com, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, stable@vger.kernel.org
Message-ID: <69464e3f-895f-4f8f-bd10-a97938e71dbe@suse.com>
Subject: Re: [PATCH] xen/gntdev: fix refcount leak in
 gntdev_ioctl_map_grant_ref()
References: <20260611142328.87566-1-vulab@iscas.ac.cn>
In-Reply-To: <20260611142328.87566-1-vulab@iscas.ac.cn>

--------------xNzf8DtKZGPX2Os0YABuur72
Content-Type: multipart/mixed; boundary="------------8JfUFMriZHEtIaFRQ8lwwLxE"

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

T24gMTEuMDYuMjYgMTY6MjMsIFdlblRhbyBMaWFuZyB3cm90ZToNCj4gV2hlbiBnbnRkZXZf
aW9jdGxfbWFwX2dyYW50X3JlZigpIGZhaWxzIHRvIGNvcHkgdGhlIG9wZXJhdGlvbg0KPiBy
ZXN1bHQgYmFjayB0byB1c2Vyc3BhY2UgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IGFkZGluZyB0aGUg
bWFwcGluZyB0bw0KPiB0aGUgbGlzdCwgdGhlIGVycm9yIHBhdGggcmV0dXJucyAtRUZBVUxU
IHdpdGhvdXQgcmVsZWFzaW5nIHRoZQ0KPiByZWZlcmVuY2UgYWNxdWlyZWQgYnkgZ250ZGV2
X2FsbG9jX21hcCgpLiBUaGUgbWFwcGluZyByZW1haW5zIGluDQo+IHByaXYtPm1hcHMgd2l0
aCBhIHJlZmNvdW50IG9mIDEsIGNhdXNpbmcgYSBtZW1vcnkgbGVhayBhbmQgYQ0KPiBkYW5n
bGluZyBsaXN0IGVudHJ5Lg0KPiANCj4gRml4IHRoaXMgYnkgbW92aW5nIHRoZSBjb3B5X3Rv
X3VzZXIoKSBiZWZvcmUgZ250ZGV2X2FkZF9tYXAoKSwNCj4gc28gdGhhdCB0aGUgbWFwcGlu
ZyBpcyBvbmx5IGluc2VydGVkIGludG8gdGhlIGxpc3Qgb24gc3VjY2Vzcy4NCj4gVGhpcyBh
dm9pZHMgdGhlIG5lZWQgdG8gcmVtb3ZlIHRoZSBtYXBwaW5nIGZyb20gdGhlIGxpc3Qgb24g
ZXJyb3IuDQo+IA0KPiBDYzogc3RhYmxlQHZnZXIua2VybmVsLm9yZw0KPiBGaXhlczogNjhi
MDI1YzgxM2MyICgieGVuLWdudGRldjogQWRkIHJlZmVyZW5jZSBjb3VudGluZyB0byBtYXBz
IikNCj4gU2lnbmVkLW9mZi1ieTogV2VuVGFvIExpYW5nIDx2dWxhYkBpc2Nhcy5hYy5jbj4N
Cj4gLS0tDQo+ICAgZHJpdmVycy94ZW4vZ250ZGV2LmMgfCA3ICsrKysrKy0NCj4gICAxIGZp
bGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+IA0KPiBkaWZm
IC0tZ2l0IGEvZHJpdmVycy94ZW4vZ250ZGV2LmMgYi9kcml2ZXJzL3hlbi9nbnRkZXYuYw0K
PiBpbmRleCA2MWVhODU1YzQ1MDguLmExYzIzMDc1NmIzZCAxMDA2NDQNCj4gLS0tIGEvZHJp
dmVycy94ZW4vZ250ZGV2LmMNCj4gKysrIGIvZHJpdmVycy94ZW4vZ250ZGV2LmMNCj4gQEAg
LTY3Miw4ICs2NzIsMTMgQEAgc3RhdGljIGxvbmcgZ250ZGV2X2lvY3RsX21hcF9ncmFudF9y
ZWYoc3RydWN0IGdudGRldl9wcml2ICpwcml2LA0KPiAgIAlvcC5pbmRleCA9IG1hcC0+aW5k
ZXggPDwgUEFHRV9TSElGVDsNCj4gICAJbXV0ZXhfdW5sb2NrKCZwcml2LT5sb2NrKTsNCj4g
ICANCj4gLQlpZiAoY29weV90b191c2VyKHUsICZvcCwgc2l6ZW9mKG9wKSkgIT0gMCkNCj4g
KwlpZiAoY29weV90b191c2VyKHUsICZvcCwgc2l6ZW9mKG9wKSkgIT0gMCkgew0KPiArCQlt
dXRleF9sb2NrKCZwcml2LT5sb2NrKTsNCj4gKwkJbGlzdF9kZWwoJm1hcC0+bmV4dCk7DQo+
ICsJCW11dGV4X3VubG9jaygmcHJpdi0+bG9jayk7DQoNCkkgZG9uJ3QgdGhpbmsgdGhpcyBp
cyByYWNlIGZyZWUuDQoNCkp1c3QgZGVyZWZlcmVuY2luZyBtYXAgd2l0aG91dCB2ZXJpZnlp
bmcgaXQgaXMgc3RpbGwgb24gdGhlIGxpc3QgKHRoZSBtdXRleCB3YXMNCmRyb3BwZWQgaW4g
YmV0d2VlbiEpIG1pZ2h0IGFjY2VzcyBhbiBhbHJlYWR5IGZyZWVkIG9iamVjdC4NCg0KSSB0
aGluayB5b3UgbmVlZCB0byBrZWVwIHRoZSBtdXRleCBoZWxkIGFjcm9zcyB0aGUgY29weV90
b191c2VyKCkgYW5kIGRyb3AgaXQNCm9ubHkgYWZ0ZXIgdGhlIGxhc3QgdGltZSBhY2Nlc3Np
bmcgbWFwLg0KDQoNCkp1ZXJnZW4NCg==
--------------8JfUFMriZHEtIaFRQ8lwwLxE
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-----

--------------8JfUFMriZHEtIaFRQ8lwwLxE--

--------------xNzf8DtKZGPX2Os0YABuur72--

--------------quszfhjmjkSSdySO1vWrN1LH
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/Ey8FAmowGQUFAwAAAAAACgkQsN6d1ii/Ey9T
kwgAgJU1P+urvXdXak7fVaX/9ExbOquaa9iDZupzNMBjwOIogdhdCA53gBQ1jawpUzxCu/uQoRx2
2Jbyh0bPywjds0dlkICRe7QiZd/DP8Xgtqi7hDs9twnNVGjEN0BvFZoZpsZv+AUvKPB4Ffek9qVm
8BjhpQ+L6RzcgFDpBwfb/2hBGaNjL473WjYYpnmaLZPmUbJlvv7lxoYRc/+lgZnFtvCx8U28fXuN
fmJJiIcm4WiLrVSGo/ysKojCa9JcVEXxdAxe+O4HAtIa/mWt4ayq/TpuZZdWtqQXVUalWUk9APDM
iZno4/t4P45hGwek5gTxS0nuEbwo9m09OLPE3/JGdA==
=PkCK
-----END PGP SIGNATURE-----

--------------quszfhjmjkSSdySO1vWrN1LH--


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 15:27:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 15:27:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338410.1599438 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ9DL-0003FK-KP; Mon, 15 Jun 2026 15:27:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338410.1599438; Mon, 15 Jun 2026 15: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 1wZ9DL-0003FD-Hd; Mon, 15 Jun 2026 15:27:03 +0000
Received: by outflank-mailman (input) for mailman id 1338410;
 Mon, 15 Jun 2026 15:27:01 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZ9DJ-0003F7-SW
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 15:27:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ9DJ-001ADP-5I
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 17:27:01 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3019b7-2eae-0a2a0a5409dd-0a2a4509b71e-34
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 17:27:01 +0200
Received: from [209.85.221.54] (helo=mail-wr1-f54.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3019c4-2497-0a2a45090019-d155dd36b46c-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 17:27:01 +0200
Received: by mail-wr1-f54.google.com with SMTP id
 ffacd0b85a97d-45fd461e4a5so2808193f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 08: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
 ffacd0b85a97d-4606f2c5266sm40410769f8f.29.2026.06.15.08.26.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 08:26: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781537220; x=1782142020; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=nZSp+UeZrFhJTM26btPscK7HJUUQJAebEmPCc68wNSs=;
        b=dZQnNV3D2KEw9IZaZQTsKu59/4l8Wn7+OLryIBR2V58kcm4Oh0zHnhSf8AklsPZn/Q
         xcAVUY/NCrTsQYzkkdqArGnMsxXmlQUsOWdoCvDdW1AMzoVwtALFPLHsFr9/zemU4NWY
         6tr6scbG1sh/laTIqBmR8oDIRyGjFQbj0u+dO0XGihbh8DeXBFs/57aqnNnH7PbWHP/e
         3ni5qAIxf70IPATndBBegRO1EgIkzKYUAHDuLxSs/o5s21SWxcoudfZy82wJZxJLgajh
         DMfhG98psa+crEZDUTwL3znRmTRt0CpbmxJck9xFatghyyGuoYgIBXqyUcVrNdVr7Rx3
         O4kg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781537220; x=1782142020;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nZSp+UeZrFhJTM26btPscK7HJUUQJAebEmPCc68wNSs=;
        b=JcaVxzltdhLgynmKaSdi4AbnSTfdZxQK3hiBBOX9qum92UZHa1gdT9yQfW8z/KJlqz
         R4GYAWKihsaql53FAW0XHT68XcrInrxY1swUBHnB80FhDkBObMr/VtQ8O4oOYR1c9SbD
         gx+agZga/L5uZ+okQSkU2Veqob5hJxFhhBYLXfIifvmPWQi5/zv2Aome9p+hhTrlPt22
         fyhPj2eV36vFCN0FLNBwh5+MVRrftR7ckRlCcY0DSGQxFqKnHzeitVaYzl1/KnkBTXZ9
         oMDxAU3w+oX6Thzg4LsAJCAqamcV+qVGrDGuiEpfbnEpb3vLOhnvoefM67A7way6ok8P
         /1kg==
X-Forwarded-Encrypted: i=1; AFNElJ9gp22U6rIki2usJqB9h6Sbf5Mbr0I6HDVG8CALjrrUQTR3DTInSlnVeV/sWvwXLhM6/D5GiSQRxUY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx7CAbWEHx7G6tAxy8F1/o/VyOCzruiqSSJQxyP6RlLi+9tFtSx
	9dbnTdGK27fzqb6rGWVUm4gVj3qGHOE/3EwQhl4lE/1HjtKNdHMr1OU9JJN/6kc+Bg==
X-Gm-Gg: Acq92OHZjTvft8Avygg/jbrZ+vCVaOUaMBPhJVS6oosrJh2505uxloa5HTsgaPlJ5n4
	7vlryLJKU8LP17HPmp8kL4oH2Bt7Arau64wG1Hq5NDnpRxdg2y03ED+gsgwY6klKaLUstvAKFB3
	SdnD1nPUgVTYYaq4AuSKM7trvkXxIGZK+tBRQu5h7EW/MaLxqHZf5zxPWBP3JXnAMPVjnHfAZI8
	SPR7K4rL7pPuiD9SQU+6Rd82OG+oMwu41cUqYtb5WNt11TBVdmPE0/001MwIzQ1KCfllj9XNiUq
	iqA2N2kJl91nf/twFSg2sceF0ePcEU/bBm37itJ7tAeSbGa++ncubqv03rrnF1htVw6KCheDJML
	TmLuUQjNywrs/Vs7RyTv1l0mZ+JyGEJzLBYrf354fOIMPTn+CTb7SjrYqBohd91MPYPlg6CZpEg
	LLSBGRpGR6oFuwUlDufBgLpONpSx1zoDq8qsH+3GU6lKQlu2oG81hHJYqXYsUZqUMV9E769fb1k
	1zv660UUO0Bhuk=
X-Received: by 2002:a5d:5d01:0:b0:45e:ec18:f20a with SMTP id ffacd0b85a97d-4606dbeff08mr21739340f8f.32.1781537220337;
        Mon, 15 Jun 2026 08:27:00 -0700 (PDT)
Message-ID: <b15238bc-6102-4388-8eff-5b1ecf767ee1@suse.com>
Date: Mon, 15 Jun 2026 17:26:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 23/26] xen/riscv: initialize RCU, scheduler, and system
 domains in start_xen()
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <824f8624bf920d0e7f558a07ace58bfc18a44788.1778250616.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: <824f8624bf920d0e7f558a07ace58bfc18a44788.1778250616.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1781537221-37175A53-6F9AFAB2/10/73395122804
X-purgate-type: spam
X-purgate-size: 437

On 08.05.2026 16:43, Oleksii Kurochko wrote:
> Wire up the missing early-boot initialization steps in start_xen().
> 
> The scheduler must be initialized prior to do_initcalls() because
> cpupool_create_pool() is called during initcalls; without it,
> BUG_ON(IS_ERR(pool)) is triggered inside cpupool_create_pool().
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 15:36:35 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 15:36:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338417.1599446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ9MT-00059N-F3; Mon, 15 Jun 2026 15:36:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338417.1599446; Mon, 15 Jun 2026 15:36: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 1wZ9MT-00059G-Bx; Mon, 15 Jun 2026 15:36:29 +0000
Received: by outflank-mailman (input) for mailman id 1338417;
 Mon, 15 Jun 2026 15:36:27 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZ9MR-00059A-Ed
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 15:36:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ9MQ-002M2E-Bz
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 17:36:26 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a301bfa-2eae-0a2a0a5409dd-0a2a4507cd5e-2
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 17:36:26 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a301bfa-229c-0a2a45070019-d155802df0b0-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 17:36:26 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-491609cdd8fso16957885e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 08:36: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-4922f9cd140sm1633355e9.0.2026.06.15.08.36.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 08:36: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781537785; x=1782142585; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=WQBHaevgBAaT29lBBS8xknWKa8na0j/Kg2/5JeoSVYQ=;
        b=HXt3T03KdPefCMi/6D0tsO0t64H8Jxh8gsZ+/Q6QZX3PCry772BI22BKaAFtufel0C
         dCMr3Gact1chD1HyR00Vz584y2+puW21PSqy5NGaEyyO8VYnr1FAeoVS16O8lfCvh4Bk
         cj45g2BFTp1rsC1h0jEdPOlnoYf/sRsCb39gzLdaU4eI5NMwL07w4SG50XtlK4kIA8iP
         Ax2RwzznzFtFZq87Zwxm39mOgrmwq/N7NryT3/ucuo848ugwBwLe8j4J7tdWbe9Du83+
         ZhM328w4dpjOnfedPTRTmM4xdlwCP8cT5/E0usTJWMrhc4cj1tUsahUAgzzrdSVJOafJ
         HHvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781537785; x=1782142585;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WQBHaevgBAaT29lBBS8xknWKa8na0j/Kg2/5JeoSVYQ=;
        b=Wp+nhn/4MjJhTU0RDPqtHPQ66Nr+Ai3FGFkuKMT8vWPIoXlKqwvLrtLgBOVPR3u02z
         UPJb709/uJXXtWCleHXlvAvDnf6sGZ4KwYbPfCJIZro+zEy675Dw0wWfV++6yzozzoYm
         lMMp7i35RIuao0cV/HF9fKSLGLOjBzoS4wg/nXhRb+cany/BK3GwIjw1bF6Qqnur0fhS
         EgNCUKJFV/HJ2Tc+1LDKr2MwziGTxPgzUxvx736K2n3CZNQurpRy93Bmpke7OpDxNrtq
         aKY/PjqEGueklhFMKbGQZ9vMM4MozVB7QbLGeDar47yr60ambewq5rdec4w0Rplu+VVc
         X7Aw==
X-Forwarded-Encrypted: i=1; AFNElJ++XwRMy9dkulUb2iWTsFXitPXLwH92n48JewYNr+kLqgqU2pJjVra8g6BhdfgP0z7o066EIsXGlBA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwJw4SPUOLfLla1QZf5lFFNZei7geSUXH+mEis/9BDwVPi+Ycam
	+nGNfPe0vFDZFkDXZTjmuZs/u+iy0Tq8z1QV+E1ut887fH0g01ObEZuYfTc+xp4Auw==
X-Gm-Gg: Acq92OHLjo1JjamTeVu/m2wAqILIidUKFCrSjg7SYKh9b9wXdY41Sm7FKaitB9PgTTl
	0nxkqjZ437ekUfcN4u25GgPVWwEoAoECXD+JK0yNgENdh54TdPclRp0YETXLoXyFumxnWUrPkgM
	CI0/Xexgob6pIFzDsmlH00dYDE3+1IhATdIidk8N0+lfXzyBACPTq3ZqZq1nn8rl91zKk3wV17I
	x+0m/HGEoWVk/MfQ6TDk+mun3pO/rrST4cX+xKpr/WXzhpUt7ztTxLPvR/uMm28uvfCgUTEHpFf
	Wk+9ltMy102Mi1/IvghQAn8sByM5IXA/8MXX4oQfgoPa+KA8listyfQlp8Zh/0AffYk1yIoveQ3
	FDdjHtXassYNhvm2CtKQBKAjbdHXHy8qbFh3y0qtgINPVO2XdJXU40wBj5VntqQlzQcf+zpUl+r
	VIOrszsWVr+GOWy8ksAMjnhYMp/RFMsdONFeCaAddx19N6CUU93Cy8BNyqZ7BH4LRKafNAXHWhT
	BRhy1+ZQpRk9KM=
X-Received: by 2002:a05:600d:844f:20b0:490:b8e2:6380 with SMTP id 5b1f17b1804b1-490ec4c3d2fmr144824025e9.12.1781537785297;
        Mon, 15 Jun 2026 08:36:25 -0700 (PDT)
Message-ID: <386f089a-9e68-428b-bdc4-0d36526f27fc@suse.com>
Date: Mon, 15 Jun 2026 17:36:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 25/26] xen/riscv: add initial dom0less infrastructure
 support
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1778250616.git.oleksii.kurochko@gmail.com>
 <0b52530fe7287ed8600b1877b573b5cd0168634a.1778250616.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: <0b52530fe7287ed8600b1877b573b5cd0168634a.1778250616.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ef75cf/1781537786-20B60C48-9D661B50/10/73395122804
X-purgate-type: spam
X-purgate-size: 3447

On 08.05.2026 16:43, Oleksii Kurochko wrote:
> Enable dom0less support for RISC-V by selecting HAS_DOM0LESS and
> providing the minimal architecture hooks required by the common
> dom0less infrastructure.
> 
> Add stub implementations for architecture-specific helpers used when
> building domains from the device tree. These currently perform no
> additional work but allow the generic dom0less code to build and run
> on RISC-V.
> 
> Introduce max_init_domid as a runtime variable rather than a constant
> so that it can be updated during dom0less domain creation.
> 
> Provide missing helpers and definitions required by the domain
> construction code, including domain bitness helpers and the
> p2m_set_allocation() prototype.
> 
> Additionally define the guest magic memory region in the public
> RISC-V interface.
> 
> As HAS_DOM0LESS is selected for RISC-V now it could be a compilation
> issue if CONFIG_STATIC_MEMORY=y as guest_physmap_add_pages() isn't
> yet provided.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in v2:
>  - Move declaration of p2m_set_allocation() to p2m-common.h.
>  - Add __initdata for max_init_domid and drop initalizer for it.
>  - Add CONFIG_STATIC_MEMORY=n to CI's randconfig to avoid
>    compilation error because of guest_physmap_add_pages()
>    isn't provided.

Yet another trap for people to fall into, and yet another item to clean
up before the port is really ready to use. Imo there want to be
HAS_STATIC_MEMORY, which RISC-V simply wouldn't select (for the time
being).

> --- a/xen/arch/riscv/dom0less-build.c
> +++ b/xen/arch/riscv/dom0less-build.c
> @@ -102,3 +102,9 @@ int __init arch_parse_dom0less_node(struct dt_device_node *node,
>  
>      return 0;
>  }
> +
> +int __init arch_handle_passthrough_prop(struct kernel_info *kinfo,
> +                                        struct dt_device_node *node)
> +{
> +    return 0;
> +}

No FIXME comment or anything alike? That is, nothing is going to be needed
here even once pass-through is supported?

> --- a/xen/arch/riscv/domain-build.c
> +++ b/xen/arch/riscv/domain-build.c
> @@ -158,9 +158,22 @@ int __init make_cpus_node(const struct domain *d, struct kernel_info *kinfo)
>      return fdt_end_node(fdt);
>  }
>  
> +int __init construct_hwdom(struct kernel_info *kinfo,
> +                           const struct dt_device_node *node)
> +{
> +    return -EOPNOTSUPP;
> +}
> +
>  int __init make_timer_node(const struct kernel_info *kinfo)
>  {
>      /* There is no need for timer node for RISC-V. */
>  
>      return 0;
>  }
> +
> +int __init make_hypervisor_node(struct domain *d,
> +                                const struct kernel_info *kinfo,
> +                                int addrcells, int sizecells)

The last two parameters being of plain int type is, I suppose, dictated
by DT code?

> --- a/xen/arch/riscv/include/asm/guest-layout.h
> +++ b/xen/arch/riscv/include/asm/guest-layout.h
> @@ -24,4 +24,7 @@
>  #define GUEST_RAM_BANK_BASES   { GUEST_RAM0_BASE, GUEST_RAM1_BASE }
>  #define GUEST_RAM_BANK_SIZES   { GUEST_RAM0_SIZE, GUEST_RAM1_SIZE }
>  
> +#define GUEST_MAGIC_BASE  xen_mk_ullong(0x39000000)
> +#define GUEST_MAGIC_SIZE  xen_mk_ullong(0x01000000)

Why xen_mk_ullong()? That's needed in the public headers only, iirc.

Also these are again two seemingly arbitrary numbers.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 15:53:53 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 15:53:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338427.1599456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ9d7-0008E5-UE; Mon, 15 Jun 2026 15:53:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338427.1599456; Mon, 15 Jun 2026 15:53: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 1wZ9d7-0008Dy-RM; Mon, 15 Jun 2026 15:53:41 +0000
Received: by outflank-mailman (input) for mailman id 1338427;
 Mon, 15 Jun 2026 15:53:40 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZ9d6-0008Ds-NW
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 15:53:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ9d5-00755E-Dy
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 17:53:39 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a301fff-5cb7-0a2a0a5109dd-0a2a4506af78-12
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 17:53:39 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a302003-7371-0a2a45060019-d155802bb4f1-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 17:53:39 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-4908b92904fso42923085e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 08:53: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-4606f26f4f6sm38817085f8f.16.2026.06.15.08.53.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 08:53: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781538818; x=1782143618; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=vLPIMyze5rWcNUNeET2GyTTIAiJmLn+nae/3ySjnuog=;
        b=FUcDK+v+EIWjwlTl+F7Os4ZVMteLFqk4Ccijv6iwPWAb36vDpb61e1t8e95wXufMmE
         AHZCtNuQGhBCTKbVvZy58t8HDWoifo+YQD9MtMhQwSyc1uwwJLfsehxSwDvj4niiR/3G
         E1oODvL8rmhzulr9skYGC2WYQ992r9LSmSl4i59Ee05PsD3msOKDN9kFLWgdLNK/bSio
         2YMEbV9qhatbkoB4n7RWguvFNgb6/mtdoc/Fz3RWq5pRlDFbqmLuyR+pH/Q71+akpj9S
         zlv8UmuAHH4meovRntx7QQjx8Th7BSrCSj39PKvmU+SvUh68JMQalUGBKGAPepf8jQDM
         8bdg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781538818; x=1782143618;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vLPIMyze5rWcNUNeET2GyTTIAiJmLn+nae/3ySjnuog=;
        b=I9TEyBTP7BWfSbnrfnuZjIfuf8FQZmXWUZMNZijdccMPA16jz7+8quJsTSXKZXQ8yS
         S7KNG5/zP2TOTtFst2+xLO/o+eQf+r+2GWhl528kVttNEV7yAcEPtltQUivrmJ1EKqjS
         bX3f9Fm38eXlIKcfgUX6DT37FZ3BAO6cn40kmdomRhNqCxbAYif7bkDF58M0D1AdFDff
         uJms4yQNBNF4OFvQJyWdtb9EafS0ypeDsfbuw1R1a8Caiz9+sYZ3gVFbAqv7RlWSevgn
         mJw7tCk8sJ68MO/7KOgfIei/P5MHKhgDojK6l3WXgs6F/iSRd4tFSJk2HDjGLLaG1mWg
         cI8A==
X-Forwarded-Encrypted: i=1; AFNElJ9ETnfpq9xYACpCwqyJv0bvA1TrrVnE+MPJaAOeFBeljVbALAFa1kZVxgGOly8jAVKYaWmFEvoiZeI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxUbMDIaF3QSSxRSeEGlzSzhpIKNb4CRc5MF/7eD79au+5+HzdE
	ULXypObL5TA2gGfLx/mqx8VMMcym8SlfYQ9War2ax6p1X0WH1ZTOseR6nTD4AkBorA==
X-Gm-Gg: Acq92OEX8h7djwRxctrjidMmdRI+MttG0+QEoCGcDJXGyTDq+SWwFMBzYJ5leKoenBx
	dLPmDh/aei6Rak4rJ7dGryHHrFbBzvsW4dRz9z5x0heE33GKzsOFBZ017TmTC/RNgMLH2T93McT
	nqwvo8IcGJd1zsPthiFvn5oB2ztJBQAqm4aIC51K3Iu6OjQx0mAziwfYEdmLjELFkEguKUZy5mr
	YZJh1ObUtVIyfDaKf+cHVx6i9weBl03z5aCxgh940KOdfB7imax2EYrl2DkurjyfcjScDrj+dDc
	U2BfEpxKNwFpSLwOctEywN34oljm7uYtWJV/j2bLD+regQjWkggrQQDfWvHmmEgMTJfG1W0bd/G
	dfVNwr1SLzDiKgwV3mhZtA7IpxGFliUuTbFYI4GRILBZXaKKTvu9q6ls0FXUM1VQ6u7AWqoiTvn
	/tZh78+IO4C9ffcoqrmSDHQH2QJBBMu+p8jjnZG2XZ0RGE3efox6Qa7vdNumUIbCKGvJZXBes4k
	czh71GnJ4P544Q=
X-Received: by 2002:a05:600c:c16f:b0:490:6e11:c303 with SMTP id 5b1f17b1804b1-490ec4e6f22mr182801995e9.13.1781538818114;
        Mon, 15 Jun 2026 08:53:38 -0700 (PDT)
Message-ID: <4580492d-c5e7-454d-b4a9-4bc959268cfb@suse.com>
Date: Mon, 15 Jun 2026 17:53:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 26/26] xen/riscv: manage IRQ_DISABLED flag in APLIC irq
 enable/disable callbacks
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <6121dce6347f03030a2de05f29c1780b6fc0cd01.1778250616.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: <6121dce6347f03030a2de05f29c1780b6fc0cd01.1778250616.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1781538819-8E58CD75-48DE188E/10/73395122804
X-purgate-type: spam
X-purgate-size: 3071

On 08.05.2026 16:43, Oleksii Kurochko wrote:
> desc->status is only set once during setup_irq(), but interrupts can be
> enabled/disabled at runtime, so update it in the corresponding callbacks.
> 
> wmb() in aplic_irq_enable() ensures do_IRQ(), which can fire immediately
> after the interrupt is enabled, sees the updated desc->status.

This doesn't look entirely correct. Aiui ...

> No rmb() is
> needed on the do_IRQ() side because desc->status is read under a spinlock,
> which implies an acquire barrier.
> 
> No barrier is needed in aplic_irq_disable() because the hardware disables
> the interrupt before the status is updated, so do_IRQ() cannot fire, and
> spin_unlock() makes the updated value visible.
> 
> Fixes: d4676a1398bc5 ("xen/riscv: implementation of aplic and imsic operations")
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in v2:
>  - New patch.
> ---
>  xen/arch/riscv/aplic.c | 5 +++++
>  xen/arch/riscv/irq.c   | 3 ---
>  2 files changed, 5 insertions(+), 3 deletions(-)
> 
> --- a/xen/arch/riscv/aplic.c
> +++ b/xen/arch/riscv/aplic.c
> @@ -161,6 +161,9 @@ static void cf_check aplic_irq_enable(struct irq_desc *desc)
>  
>      spin_lock(&aplic.lock);
>  
> +    desc->status &= ~IRQ_DISABLED;
> +    wmb();
> +
>      /* Enable interrupt in IMSIC */
>      imsic_irq_enable(desc->irq);

... you want to order the ->status update ahead of the imsic_irq_enable()
operation. Yet that's a CSR write. Do fences really cover that? If not,
you may need to resort to mb(), to order the ->status write against the
->irq read, in lieu of being able to order against a CSR write.

Of course with imsic_irq_enable() itself acquiring a lock (which
necessarily has a memory write), you could then further argue that wmb()
is indeed sufficient, bot for a reason different from the one presently
stated in the description. (I would also strongly suggest to annotate the
wmb() with an explanatory comment.)

> @@ -189,6 +192,8 @@ static void cf_check aplic_irq_disable(struct irq_desc *desc)
>      /* Disable interrupt in IMSIC */
>      imsic_irq_disable(desc->irq);
>  
> +    desc->status |= IRQ_DISABLED;
> +
>      spin_unlock(&aplic.lock);
>  }

The ->status write becoming globally visible ahead of imsic_irq_disable()
doing its work is not an issue? In the paragraph in the description you
again appear to assume that the CSR write and the memory write of the
spin-unlock are ordered wrt one another.

> --- a/xen/arch/riscv/irq.c
> +++ b/xen/arch/riscv/irq.c
> @@ -145,9 +145,6 @@ int setup_irq(unsigned int irq, unsigned int irqflags, struct irqaction *new)
>          desc->handler->set_affinity(desc, cpumask_of(smp_processor_id()));
>  
>          desc->handler->startup(desc);
> -
> -        /* Enable irq */
> -        desc->status &= ~IRQ_DISABLED;
>      }

Arm and x86 are different in this regard, so it's hard to tell which way
it ought to be for RISC-V. This removal surely wants a sentence or two in
the description.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 16:15:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 16:15:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338440.1599469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZ9y3-0003Yi-AG; Mon, 15 Jun 2026 16:15:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338440.1599469; Mon, 15 Jun 2026 16:15: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 1wZ9y3-0003Yb-74; Mon, 15 Jun 2026 16:15:19 +0000
Received: by outflank-mailman (input) for mailman id 1338440;
 Mon, 15 Jun 2026 16:15:17 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZ9y1-0003YV-9S
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 16:15:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZ9y0-001JHn-ET
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 18:15:16 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ecc10bc48000701b@swg.vates.tech>)
 id 6a302513-e002-0a2a0a5209dd-0a2a450cbb4e-2
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 18:15:16 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ecc10bc48000701b@swg.vates.tech>)
 id 6a302513-62f1-0a2a450c0019-b9ff1c12936d-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 18:15:16 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ecc10bc48000701b.008 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 15 Jun 2026 16:15:09 +0000
Received: from l14 (lfbn-lyo-1-414-55.w2-7.abo.wanadoo.fr [2.7.24.55])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id A2FEA818B6;
 Mon, 15 Jun 2026 18:15:08 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=OYOIGxGcHVN6InOJfYQfIcc9nvmgnwhfCBtvYs8fbw0=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=WH1VXjVyNuQ7RYbO9ZaU6ezTb5H49aNl+pHa3VXQKvCYt7dPSsL17yzDOndgrk2AO1LSunag8
 G58ahorGA5FWeZ4fvWREgUY4BZbgklJli+pwFs/V6cMSuRKfU6x0JTf/7I5g/T2BCVMFHwUqH2a
 DVUH6zWEgEn34bTKNfupxhsQlPKydu6m9A5wWEKzWxFjH5EqDj3kbhqBzEAzyhjjS/UaUZzoEe2
 0itXXEoRP4R8u4ck5e+1s8PS28xKh1TtO/x//ROKZATuQm8ci3OpgNyyUaJYHuocl4IBXDLorrD
 bcKVsarWiSmojuIMaF5yM8UzeFF08i/ZOZSkE3l0+ZZg==
X-Zone-Loop: 9d251205c7d39f2f4eeb3839cffe39afdbeb82faefe1
x-campaign-type: default
x-transaction-id: 6bbc0cd9-0b58-4965-be1e-f81b437fb5bc
x-swg-uid: 01-d9831a92-59c8-44b6-b11d-180a02fcbf45
X-Mailer: Sweego
Message-ID:
 <1781540109.8631fc262581453bbf619ec5b2062170.19ecc10bc48000701b@vates.tech>
x-swg-bid: 1781540109.8631fc262581453bbf619ec5b2062170.19ecc10bc48000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Mon, 15 Jun 2026 18:15:08 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH 1/7] tools/xenalyze: Work around GCC-15 -Werror=nonnull
 false positive
References: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
 <20260612230924.3181154-2-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20260612230924.3181154-2-andrew.cooper3@citrix.com>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.2c1.85abe5221e4de6c0.19ecc10ba14.7e9442218251a525=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781540108821
X-purgate-ID: tlsNG-d25034/1781540116-E2368CF5-9519D6AD/10/73395122804
X-purgate-type: spam
X-purgate-size: 2869

---=Part.2c1.85abe5221e4de6c0.19ecc10ba14.7e9442218251a525=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Sat, Jun 13, 2026 at 12:09:18AM +0100, Andrew Cooper wrote:
> Signed-off-by: Andrew Cooper <andrew=2Ecooper3@citrix=2Ecom>
> ---
> CC: Anthony PERARD <anthony=2Eperard@vates=2Etech>
> CC: Stefano Stabellini <sstabellini@kernel=2Eorg>
> CC: Michal Orzel <michal=2Eorzel@amd=2Ecom>
> CC: Doug Goldstein <cardoe@cardoe=2Ecom>
> CC: Roger Pau Monn=C3=A9 <roger=2Epau@citrix=2Ecom>
> CC: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab=2Ecom>
> CC: Oleksii Kurochko <oleksii=2Ekurochko@gmail=2Ecom>
>=20
> I don't particularly like this, but I see no better option=2E  It's clea=
rly some
> kind of VRA failure, yet we don't see it with GCC 15 in other distros=2E=
  I
> suspect that Musl (as opposed to glibc) might be relevant, and perhaps e=
ven as
> simple as not realising that error() is terminal for a non-zero input=2E

While it's true in this case, maybe it's a bit too complicated for gcc
to find out? error() is terminal only if the first argument is greater
than opt=2Etolerance, but there's a check that it can't be too high (when
parsing options) and ERR_SYSTEM is above that=2E

If I do that:

     void error(enum error_level l, struct record_info *ri)
     {
    -    if ( l > opt=2Etolerance )
    +    if ( l > opt=2Etolerance || l > ERR_MAX_TOLERABLE)

gcc seems happy enough=2E

And I've notice the compilation error only happens with `debug=3Dn`=2E

What do you thing of changing the error() function instead of hidding
NULL-less of the pointer?

> ---
>  tools/xentrace/xenalyze=2Ec | 11 +++++++++++
>  1 file changed, 11 insertions(+)
>=20
> diff --git a/tools/xentrace/xenalyze=2Ec b/tools/xentrace/xenalyze=2Ec
> index 876d59d42ca5=2E=2Ecec1354cf779 100644
> --- a/tools/xentrace/xenalyze=2Ec
> +++ b/tools/xentrace/xenalyze=2Ec
> @@ -3789,6 +3789,17 @@ void update_io_address(struct io_address ** list,=
 unsigned int pa, int dir,
>              error(ERR_SYSTEM, NULL);
>          }
> =20
> +        /*
> +         * GCC 15=2E2 in Alpine Linux 3=2E24 fails with -Werror=3Dnonnu=
ll,
> +         * complaining that we're calling bzero(NULL, 128)=2E
> +         *
> +         * This looks to be a false positive as p being NULL will never=
 reach
> +         * here as the error() above will have called exit()=2E
> +         *
> +         * Work around this by hiding the NULL-ness of p from the compi=
ler=2E
> +         */
> +        asm ("" : "+r" (p));
> +
>          bzero(p, sizeof(*p));
> =20
>          p->pa=3Dpa;


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vate=
s solutions

web: https://vates=2Etech
---=Part.2c1.85abe5221e4de6c0.19ecc10ba14.7e9442218251a525=---


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 16:29:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 16:29:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338447.1599477 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZABb-0005QT-Ed; Mon, 15 Jun 2026 16:29:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338447.1599477; Mon, 15 Jun 2026 16: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 1wZABb-0005QM-C0; Mon, 15 Jun 2026 16:29:19 +0000
Received: by outflank-mailman (input) for mailman id 1338447;
 Mon, 15 Jun 2026 16:29:18 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZABa-0005QE-88
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 16:29:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZABZ-000cwg-1x
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 18:29:17 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a302842-e002-0a2a0a5209dd-0a2a450ca3f0-40
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 18:29:16 +0200
Received: from [52.101.46.46]
 (helo=CO1PR03CU002.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a30285b-62f1-0a2a450c0019-34652e2e2d58-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 18:29:16 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by CH2PR03MB5336.namprd03.prod.outlook.com (2603:10b6:610:94::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.13; Mon, 15 Jun
 2026 16:29:11 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0113.015; Mon, 15 Jun 2026
 16:29: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=CYxznrTiOFICXH0m21/Dwfzmktv9n1xXZbegYyz04dJ/H2TgyGdVXAKuG34qIVlaVzdzr64+WOUOFvzLyTa7SyT8gnGAm+jJ4pS52S8ZyuPVXLQL1JkYQ43AbbjRcUQHFxBSmOJXaUKNOlaE523IcZL16jSwqs1JFKM6IgBWEVo9F+3dxSKjGyzt6FBrGq9ycPuaaXe8MrjvGHgUVYCSBUkGNOEud8D0SctQHsm+vntK+/gLO+qFdp9aQFYGeNUkv7K0aaqKkkJgN/N3ZTuSizUfQCIOqF3zanN+hvREaGsfGsawpbMkk76Yq6dBd6JHAq4IPHG+IxiqYuPoGrJWZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=naZk8zrx/K0GHJaF9yJ3UU+t1ZhkV/BkblcUf0h8Wys=;
 b=QU80X7cVj41DSXQa4voBK41SfbkDrstZKgBKhIcEF6nIo2/FaxNouscbiX8UMIck5Wd2kfWY+wOtCD0Zi/fqnvq5smbLHRl3usi6MdZz1Bs3vhI7dfMt0NJo8kgR/6fD6rw+9tqNgFoj8x2Fp/5FlhshHq1CLQt+Oe0jrGKaTqySe/lOJMRW2LLoDgKXd0/MnbPbGNBHAE15ErlM4t+arV+ILbRVkl2q38JfQnvLDzCbfqpLS2PEp8vPCNfH/INBr/DDBzy+ov7NNuwJqcCskU7a4icbEENqDdZAbq9vk6EB6jppElm1TPLaezx1jRauTvcWJeTUkt9CPRAAlysX/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=naZk8zrx/K0GHJaF9yJ3UU+t1ZhkV/BkblcUf0h8Wys=;
 b=DjM38lJW84YPbdkwHKGsrzNXzwmoY+mOWMM9DNwX1pRWvTwwn7mU6BBcgxQOthQ3/9PB0kide918hwGDCC/PBeyyPS2EpsHcXaNqyuDY+j432TcLJ8vAwS7h92ehLrQooILWfg7aEEVa77R5+ZGt0kjk8ClKRRc+mGCUA8oqygA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <07a48547-9229-4b49-81fd-18de45ce37c1@citrix.com>
Date: Mon, 15 Jun 2026 17:29:08 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH 1/7] tools/xenalyze: Work around GCC-15 -Werror=nonnull
 false positive
To: Anthony PERARD <anthony.perard@vates.tech>
References: <20260612230924.3181154-1-andrew.cooper3@citrix.com>
 <20260612230924.3181154-2-andrew.cooper3@citrix.com>
 <1781540109.8631fc262581453bbf619ec5b2062170.19ecc10bc48000701b@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: <1781540109.8631fc262581453bbf619ec5b2062170.19ecc10bc48000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0075.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2bd::16) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|CH2PR03MB5336:EE_
X-MS-Office365-Filtering-Correlation-Id: 972ae17f-062e-4481-7706-08decafb3b94
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|23010399003|22082099003|18002099003|11063799006|56012099006|4143699003;
X-Microsoft-Antispam-Message-Info:
	GFNfmODDBiN+ijHK3dezXdN0E/dHQ+781EHMIQMsZT5/CyzfjU7lK61hPq4um17g2sZmgUZ/fnUKizMdzqGnjqi5A4Z+ghrUA5jNn2tbgk82GLzdZRJbooWaBsrZWdrzHoTQhh7w8aetiUcwpAgldC9S3bZfWIj/dv4M90NohGB/LZG/T/j68v8fH7ZhDwdXYIZd2o4nxQ1AQtG+Oa9WdQoSs7NZn0Wc/yxT16/kzRmqGlSlEb7c0lcpQmRb/5mdMbLvS9pQLFJ85mm+47sOpWLkol+UgFlkRxjAj3Hf7OK3OjsWFZLFVRDS+bo9tqMyswdmUQMr7EKGzJnVKewlNU7M1tQkqM62xryDpSLLpLzUiIbMlaOSm60XsmH72nlfyt8ucEh14ZOUqd03eUuNYhMcWKxSFoIEMs399n8ehjfj7G+RCh6oXzW+AGchH0GP5s9QYfFPDPSAsJ2I+ypVD7FKUBBwST3MScpGnd7FPUxqVi4/F7IMyKQHvjChEUbMWJewTCze22vg+Nxt7sgonPWW1bCQFyZTZcmTYD9q1EDaJ1YgKnSEoobzNyeh7XNZaE2vomwCrkv2g39iiKirbRLni9+1ucWN2BD6gyZBT+wifAAFAA2k+q5sKmR4w4eGisGrP2eSUBAaZqOeG2ASZTFi4i1JegV8BJO/2bQS+nyK8HNI8epnUADhTF35Xa6m
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(23010399003)(22082099003)(18002099003)(11063799006)(56012099006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Nm5uRWZUb2FYNXVsaE9lUVF0bXdKcVQ2ckpoSDluTDltTnpEWjhUWkttaHpY?=
 =?utf-8?B?Zmh3eVJrUUJnZjBJSDlCZFhMSWNBc0xkZFp2amZEeEQ3NVBEYUZVa2swYmhz?=
 =?utf-8?B?bGk2TXVJSVhBZHpCUjBXa1FYL1dXeEJVMElEK1ErMEx6RmJpcVhiZ1cwRTla?=
 =?utf-8?B?bUpCN05IWHBPeDd5cXJKTjdSbGNzaDNpZnE2NDZWQmdsUmYrbXJIQlhZc1d4?=
 =?utf-8?B?UmFVcEhLRFV6UnVxd1FObS9SeGRnSGtWMDlGOWJBRm1XNzBUejN2N2FZTjdD?=
 =?utf-8?B?R0hhOUhIRUVXZmlHZGJseHdyY0lIOHBZMk5VNGM0MXFnWTFFWENEL01ycmJW?=
 =?utf-8?B?NVI0T3hVa0ZTU0tLK2RZalY1Y2NlcXdJQ1VuQ3VsMDNjY3RXWkNLamVSVkda?=
 =?utf-8?B?OXNmeU9YSTc5RVFaYit3QXdMZnhsOG96NWl6VGJjdEd6ZWNuY3pLWjgvcGsy?=
 =?utf-8?B?aE54endFc0lTT1J5amhEbjdkcWJIVmxFRkQ2ZWY2ZzFnM3lOQTRLeXp2amM4?=
 =?utf-8?B?RWNiZHNXZmR6TVZMMVlLOW84bjdjTnpQQUxoWDhIUTlCWFpjUmV2Szc1blNu?=
 =?utf-8?B?RUF1NE5MLzlyMHBwT20rVElYRm5Md2FiKytValNmbGh5ajVwRTB1SU40NUU4?=
 =?utf-8?B?dTZVN3oyeU5oU3NiVk5xK3V4K29scnVxc0ZPVWwyb3JLZG1wbldWTlNpL00z?=
 =?utf-8?B?VWVUQkRubkJFT1dvcXNnNlZhaGhlMlVRMlZCTGJHUXVhVWtDMGxRbUJzWlQ5?=
 =?utf-8?B?MFhLdmIxUlRraUthUDRYbjdrR3ZhcWk4QzA3d205dXhWeEU5MVJ6cGdJTTVO?=
 =?utf-8?B?cUNMR05XWmpLYmNhWVBZZ2k5Y3NzN3FJSHl0Ylc2c29vVm4zc3FkQUlBaUlO?=
 =?utf-8?B?N2VreXlQMEIwNVBRMzhaQm55UW9UNmtRRzNpQUV0MEhvaFFtL0NqaEM1eHFw?=
 =?utf-8?B?bmNIUWdhQkhYS09RS2h0UFRVbEkwQ1E5RUNCVjhvbnlBN3NSLzdSV1VxaXlT?=
 =?utf-8?B?MDN0aW55RDROZ2NPRUV0bE1OOFhJdktVU3IwME1HVjlPc2ViWGhySFYxQlBE?=
 =?utf-8?B?UnprWHBVS1FoRm9qd2IzZUo1c3p3M1Jacmp4YW9RdnY0WjZNYWkxMm5idjRp?=
 =?utf-8?B?NXZJejIxMU1QcVpiQnR2VFlRRTJOS1JvMmFacFlkei9WR2o3NlVOWEJPWWpH?=
 =?utf-8?B?dlFDVU0wRndNMC8wckNNOXpJNGhuWnVqeG04c05QSWRMeXVHcjcwaTFrazVp?=
 =?utf-8?B?WGpkVzUxR25pUElJTm1ZeHp4UFVjUE95bktxcEFHckI2ZFhxWFduQk84aVZ2?=
 =?utf-8?B?SmtWZUg3VkZKMFdDRnVhMndldkkxdmVrdU9jRmpGbmlPamI4Yk8vQXJpRWIw?=
 =?utf-8?B?MDBVS0FEZmcxaTlXYUJ0QnhhSVVla3lob2V2Q1ZSR01BZ1RmMTRlVmRwK2Zu?=
 =?utf-8?B?dWlEemhHTVFzaWc1c2lldFdwYlVIZFJTUEV6cmM1S0piWW8zVDBnZjNEa0pE?=
 =?utf-8?B?Y2NRWkZtV0x4RUx6TGZpZ3lhSC9UWjNubXNBcUVERnRmRjNFajh4SGE4bmxL?=
 =?utf-8?B?NlIxZEF0S3kzZG5YcWwxcTdZRzd6SVFmalVOVnZma3JVV0x2aExHTGMwa0N3?=
 =?utf-8?B?eW9nR0FINFRNVHFtL2hvU2NWd2ZLdHBISWJtdG5hSkZyeHJydFlVS2orL3k5?=
 =?utf-8?B?eE1pcVNWdlNiUC9RYWR2d3RyVlBVSmFCdUY3SU1adnIzRGJCMkp2REpmK0xX?=
 =?utf-8?B?VjVWZmg3VDZTRHBUUWVaYXFxL2lsT1VlMmtEKzZDSEpDZVNCZThWUHQ5QkND?=
 =?utf-8?B?aW1CbEdMaFR4S3NRRDNpMk5WdkVCMzBOWDZ2VHUvQ3JRVGk3UUdvdVIvWGty?=
 =?utf-8?B?TVVnWHI0Q1ZpRHY2L2Vja2RTSERUTVlHdUFRdHJ3VVlVL3JJTWFyTWJHWEVG?=
 =?utf-8?B?NjBuaTlXSGdrbEpIZVBJQ1FoRTZiTS8vY1Q5QzhMTmR4ak4yT2J0ZFdiMmxz?=
 =?utf-8?B?M3krNGpyUmgvU25yemJKeGlvclVWR0Q1bElMQnJKakpncldNUnhjaVBUZHI2?=
 =?utf-8?B?YSszOVFLWXZSRmR5OE1wQ21wQ1BKWTB3Qlk5cnVSZDlKZ2VaamZlalhMNkJo?=
 =?utf-8?B?blFFb0J0cHBvbm5TNDJ2c0g2SVQyaE5NVmtpaFpYQWFMN0hLQlZLRzlhZzdG?=
 =?utf-8?B?SjVWNUtiVm1zTEVnLzZJWnY3eWRKSkN0UkgzTVI3aCtnZS9aTjBTenNMT2dj?=
 =?utf-8?B?WjFHNFlmeVk4RWNyaDdwNU5kV3pPaElzbVYxZkNrWnVLRFlHTkt6NllIdjBH?=
 =?utf-8?B?Y1UvcDRhQ0ZxcjlVS0dJWk9Rb1R4MUc4amRYelF2OXZ3TnA1WTBad1NPVXZP?=
 =?utf-8?Q?zwCuRIhrurGgR9YU=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 972ae17f-062e-4481-7706-08decafb3b94
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2026 16:29:11.9230
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EJWp/LYmadwFm66SrHw+x479NLSE5MRqjAm+bcVarTv3dWjwvSGsXDmcj3h0D5L4KNFuqbYTfafr0fFHpTvg1v7pos16cyBWYORLyD/4P7o=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5336
X-purgate-ID: tlsNG-d25034/1781540956-F5585CF5-4D458BB0/10/73395122804
X-purgate-type: spam
X-purgate-size: 1929

On 15/06/2026 5:15 pm, Anthony PERARD wrote:
> On Sat, Jun 13, 2026 at 12:09:18AM +0100, Andrew Cooper wrote:
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Anthony PERARD <anthony.perard@vates.tech>
>> CC: Stefano Stabellini <sstabellini@kernel.org>
>> CC: Michal Orzel <michal.orzel@amd.com>
>> CC: Doug Goldstein <cardoe@cardoe.com>
>> CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
>> CC: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
>> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>
>> I don't particularly like this, but I see no better option.  It's clearly some
>> kind of VRA failure, yet we don't see it with GCC 15 in other distros.  I
>> suspect that Musl (as opposed to glibc) might be relevant, and perhaps even as
>> simple as not realising that error() is terminal for a non-zero input.
> While it's true in this case, maybe it's a bit too complicated for gcc
> to find out? error() is terminal only if the first argument is greater
> than opt.tolerance, but there's a check that it can't be too high (when
> parsing options) and ERR_SYSTEM is above that.
>
> If I do that:
>
>      void error(enum error_level l, struct record_info *ri)
>      {
>     -    if ( l > opt.tolerance )
>     +    if ( l > opt.tolerance || l > ERR_MAX_TOLERABLE)
>
> gcc seems happy enough.
>
> And I've notice the compilation error only happens with `debug=n`.
>
> What do you thing of changing the error() function instead of hidding
> NULL-less of the pointer?

:-/

I'd not even spotted that this was a local function called error(),
shadowing the standard library function of the same name.

In which case it isn't a false positive; it's a correct diagnostic,
because the local function _can_ return without exiting.

I'll take your approach, but flipping the checks around so the
opt.tolerance check can be optimised out.

~Andrew



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 16:43:51 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 16:43:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338455.1599488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZAPY-00089V-NO; Mon, 15 Jun 2026 16:43:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338455.1599488; Mon, 15 Jun 2026 16: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 1wZAPY-00089O-Jz; Mon, 15 Jun 2026 16:43:44 +0000
Received: by outflank-mailman (input) for mailman id 1338455;
 Mon, 15 Jun 2026 16:43:43 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZAPW-00089E-US
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 16:43:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZAPV-007CPv-O3
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 18:43:41 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a302ba2-2eae-0a2a0a5409dd-0a2a45048be4-42
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 18:43:41 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a302bbd-1dec-0a2a45040019-d155802ea4d3-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 18:43:41 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-4921e4dd62dso20167145e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 09:43:41 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa97a07sm8140625e9.14.2026.06.15.09.43.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 15 Jun 2026 09:43: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1781541821; x=1782146621; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3Uxz4AFsb6BuvOZ2L5jpMpjXOP12D2W1S6mLyHuiDvU=;
        b=hjr+tzJUJ+eCx5agLkbKX+it1KF0/h6hT4BAPa4xAr9nW2ogNp6PcBT54mLj/j3fML
         VhKiwI/06msKP1TfT3nkbS66OuUpCiI68DDslc7m8qQB7FjjBYsuxEWiUFhkq4Lu5Nqf
         51bdTEclKoOc3xj0HeKAiJuX5QpZROutMxVeU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781541821; x=1782146621;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=3Uxz4AFsb6BuvOZ2L5jpMpjXOP12D2W1S6mLyHuiDvU=;
        b=F3Wfr6xs+WmJmnaRwVGeNmd1gLE24NJy5ULSaiUzgaDxjz9ggeMW4m9/9lrA8+8K+R
         gi5F0II5Yr7s1o1nlgR04rItY9lZiEFdnHEjqJvVgdxBqza8EIpn4m7qZ1QiAxeYT2CA
         T4o1LqzxUCJNGZMFvCMptr6pP24pGt849IVdejvbsVoWTQfbbLxQRXP7+yY+fG4D9bHS
         8ErIq6GXPnmB7VkT/5JVJpeczuh3KPzzPTuWpE6abkchVepux9b3PuCFA5kuHK7MRT+I
         ovEpFqe6Wh9LTUnvJ5Xa7KdkBOjRa8j796gldtbjakJQzH4vLj/ccpwEy7sDNWGrUtJO
         ff/A==
X-Gm-Message-State: AOJu0YxSh7Uk0PZELCI0QXiXoHmeoX0EBjC/eOyanvxIJ1s+ayDiw7HP
	fxlRTFhcoR1CXIDUz9DTTVmrqohb8RfJ7XAYRinCsBlXdbJaKuG5NLTyLAF0iZtZgL7pG2tMQrz
	U1A/L
X-Gm-Gg: Acq92OFkwKjVadt6rY9ojaatfRNtJrYMm6uG+I2opwA+X6KbQzLpUmhsi+A1F9NAnvn
	G6zsFFqOSzqGCBlBT1qsflIeYWKf4Ch9/rqziT3jsfXb9G2CHmWUwtSWKM4RVVN6kjiP2H2xfGl
	1YfHa7Un8IF31KCy8RjNTCTYY+SpaNVezvyyRFMlT08wu+qbmH2brwShAuzpEdGOEnaHmgGLT3H
	zwEYIUevqoRxVVlVJs61Jy0M32wuhLRxMngKl7KoMwf8xsgbyetSZE4n6rQDKgP6AKdhWnGl832
	MsFehbuOl2reDcPSfCOzL9MttNAN8QJ6MPrpC3pDd2jB0dVgXDcZcJ9Q5Ha0bnsnl5vXAIiJUuG
	tJ9jFuSsP6ge1bqeRCNeJWUJywE2F9TU8twplgxEfEereYM0WseDpPlahycqouU0vwj/9IeviK3
	AmiSV8MOSpp3bE2gPjxaO60ecNLbsok8meCmgdR65SVABVtvI78aqe+NTgN1V+oaPhUZzI9lkeZ
	/3s
X-Received: by 2002:a05:600c:6215:b0:490:e180:2e0 with SMTP id 5b1f17b1804b1-4922fab22c9mr4202245e9.3.1781541820907;
        Mon, 15 Jun 2026 09:43:40 -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>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH v2 1/7] tools/xenalyze: Fix -Werror=nonnull failure
Date: Mon, 15 Jun 2026 17:43:19 +0100
Message-Id: <20260615164319.3206324-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20260612230924.3181154-2-andrew.cooper3@citrix.com>
References: <20260612230924.3181154-2-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ebf023/1781541821-433673FF-C27E6193/10/73395122804
X-purgate-type: spam
X-purgate-size: 1256

GCC 15.2 with Alpine Linux 3.24 fails with -Werror=nonnull, complaining that
we're calling bzero(NULL, 128).

This is a legitimate diagnostic.  xenalyze has it's own error() function
shadowing the standard library one, and can in principle return when p is
NULL.

Extend the check in error() with ERR_MAX_TOLERABLE to short circuit the
variable tolerance check.

Suggested-by: Anthony PERARD <anthony.perard@vates.tech>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
v2:
 * Fix in light of error() being local

https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2602806440
---
 tools/xentrace/xenalyze.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/xentrace/xenalyze.c b/tools/xentrace/xenalyze.c
index 876d59d42ca5..42feeb282e31 100644
--- a/tools/xentrace/xenalyze.c
+++ b/tools/xentrace/xenalyze.c
@@ -8767,7 +8767,7 @@ void dump_raw(const char * s, struct record_info *ri)
 
 void error(enum error_level l, struct record_info *ri)
 {
-    if ( l > opt.tolerance )
+    if ( l > ERR_MAX_TOLERABLE || l > opt.tolerance )
     {
         if ( ri )
             dump_generic(warn, ri);
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 17:03:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 17:03:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338464.1599495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZAi9-0002fD-4L; Mon, 15 Jun 2026 17:02:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338464.1599495; Mon, 15 Jun 2026 17: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 1wZAi9-0002f6-1V; Mon, 15 Jun 2026 17:02:57 +0000
Received: by outflank-mailman (input) for mailman id 1338464;
 Mon, 15 Jun 2026 17:02:55 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wZAi7-0002ef-9A
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 17:02:55 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZAi6-007Evf-Cx
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 19:02:54 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a303038-e002-0a2a0a5209dd-0a2a4506cb02-28
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 19:02:54 +0200
Received: from [52.101.62.70]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a30303c-7371-0a2a45060019-34653e46bc9a-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 19:02:53 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by CO1PR03MB7889.namprd03.prod.outlook.com (2603:10b6:303:275::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Mon, 15 Jun
 2026 17:02:49 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0113.015; Mon, 15 Jun 2026
 17:02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=oT9JsT7v772bqScIabVpp4Ahl1ZVo2X/8azNfpk5ZJ/XTEo/MMpNgPmKzqDfnwoLoKG3anYjRfXKZWLL5y2QXvSNeIosi6OshjmoeIiRUp/MFpHQB+XneuRpFi2PfthQ8IwYjWrgE9UtwcEjltngzjjDPqdjPCFDFZYW1PxRXJozdj7H62b3ws6HQUGBCZbQhGxhCdjV/CtDxCgfdLJOab/VkGLW0gwy5XnBrzjOl59yGxcGmitKjrC1Vtj69+dGT6Jh9ei1hZZSDW0N8LOhJO82gL92zqHjpgfomOXhmN1Vyog2no0EMaxnkI+lIAl+vEKxZORaZ6ILOIEq1tG04A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JvOV7WXETWJzVyv8Lab9eshfLRKxquPFigfzOzAxzBs=;
 b=LZX2koj/E5ANb14/IHDEzML3T2XPa6QdUjo3EPmMc1PaW/LxH9XLODdmV7ndcFlCUznNqkQq/5NIk4frejj0YDCJ+hSTZ5HOA4wcscRJdRvI2J6hlrgVl3TasW2o0mIC+bbULFOL1yo+cqCebpy7m27BK4iP/1+tVUZZFutGW20FdLvSPwU0EdblLhko9ik6P3Kn3TAkj2MXUkRjRtWT67VsD6OS/lPLzrNavMnThqt/44e2cHwuM/6H1a//FxkUik7uzUHu6AgqrzLJTAjd+9zg3vY07xDYDu7j2xg25KZeqi3/a8GOri9SYjzZJ77IMCLgpfXbbdU31WAHkk0yEQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JvOV7WXETWJzVyv8Lab9eshfLRKxquPFigfzOzAxzBs=;
 b=FRGtKdW/jZt31PP6JC0vNnQkabOvPQIes8zFXcIi/Y+sHMAG7bs7Nq9B2V48WeM7IGLH8wQDd2J7L/204NW2GRBRxIMx0gXa9OQOnwAv79WyN4q+HAn0QLuLiuQaNm9oKoPwv34c8GWwbrvtx9vco6B5YOj+rgGQeqKQ1aGW8Yo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <aea699f2-c869-4301-b67c-ddea1e08ae9a@citrix.com>
Date: Mon, 15 Jun 2026 18:02:45 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: Re: Assertion '!is_idle_vcpu(v)' failed after 'Remove
 fully_eager_fpu' commit on EFI
To: Anthony PERARD <anthony.perard@vates.tech>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@vates.tech>
 <aiwTkDUP6rDPbV6R@mail-itl> <0db98119-48f3-4edd-a422-8e50ee713b7c@citrix.com>
 <e84d6765-61fa-4203-a1ee-ac07f54a1026@suse.com>
 <48878ff6-ad36-448f-aa9d-6b37e2e179b1@citrix.com>
 <1781277924.8631fc262581453bbf619ec5b2062170.19ebc701bfb000701b@vates.tech>
 <ai-_jUw0QmdC7gPK@macbook.local>
 <1781534374.8631fc262581453bbf619ec5b2062170.19ecbb938f1000701b@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: <1781534374.8631fc262581453bbf619ec5b2062170.19ecbb938f1000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P302CA0015.GBRP302.PROD.OUTLOOK.COM
 (2603:10a6:600:2c2::11) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|CO1PR03MB7889:EE_
X-MS-Office365-Filtering-Correlation-Id: 7f83352e-d287-47a5-261c-08decaffedae
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|23010399003|1800799024|56012099006|4143699003|11063799006|18002099003|22082099003|3023799007|6133799003;
X-Microsoft-Antispam-Message-Info:
	ooHU4KNRKs76VsjfSII0Zv2hCvuwsbSvxpUpxL9gz4f5PXA5ngZWXkwLENB/K/aXsP+W5ksqcqlSEW3l4hcc8sgyxCxdxkLN+VrJedoJLDIEJB6/8kEXoRfeF9UzPdihTBY6r60LMVVk7vau7RbwkSSwkUjTwYBddc82livFHsaYOen6cGxsQNHkA4lsf8oq/1JkIah8XczEpjo3Kda9p5gXHDQ+TfdXiiBFLQ84xEO9UWKpWCz2qLgtVcMzoYZVx2i2Pkk137c+7tSUoNePyjy0Y6w+WSG5qc7UkH+rs8D3iMdWI5shBiwYBpvngyZe9YqfV4u7i3fve00yt+Om5S3QhXdSOHVAkkhADzLvdix0PKt+ItdFzmVIsq3dUrkf62Rn064dm/cOKMz5OlUZtxq60mFX0WW7itXLFHiQsoNlH15G01wu7TXDTEf5uPrHOnzvdKLsEk1o7NipNezq4mm0w4hEuMOZBNHoQh69zH/HcFUa3Eb7sluSBIDIsp0KMQlu23tsYyItJGwDDvcXQ+D8kWN9WXWm9KnOkIISKWw7k1XzOKoLnwtpbB6c7J8c/QRz04n681Yye1mR8EKtS1+B78LSMWH6x+PcyTEEInLeLEuel8Nyee2bjuBBS/6ADdCqNbYWahE0PRM52dYrWjAtI4pJIJ47Vo441KDGGsZk9odleepx7DdqLmQJhCqL
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(23010399003)(1800799024)(56012099006)(4143699003)(11063799006)(18002099003)(22082099003)(3023799007)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QTl5L1lTZm8wNUFzV1R1UW51NWY4am9Kcm9VdnNTeVYvRGt0eFI1cnRRNHYy?=
 =?utf-8?B?dzNSc0pQbHpLOGFsL2dVLzR2VTQzSlZHZHVLWllVZFVRNGVZN0txS1EvWkNz?=
 =?utf-8?B?bnkya3JjSlJlYWFFOXBUUDVGYnQ3V3NMK1dFdU56dmNJOFRGdW5id0R5VHBs?=
 =?utf-8?B?TjF1bXo2ZU9ZNTZ6dUM3TnQ4NWEvN3EwMHI4T0VUVis1bVVvZFlxeGhhK0Fp?=
 =?utf-8?B?NXJxcjAzb0pSSWgzdUtCQ1ZyeDZHamtvWnIxUkVHdnY2NVVlRlY5YXE0cHM1?=
 =?utf-8?B?VVVSR28vNU9lS0J3aThxb2R0V0JSYW5mSXBRT2FBRUoxU1pLSVgvS1lyeHJh?=
 =?utf-8?B?S1h4aDZmNVBwYU9uZnNrNjBhbW9nN0N1L3liRFJSMndmTzBtcjRHSEY3N1hW?=
 =?utf-8?B?TTZ1TFlOamY0UDB0cXEvUWlMNStBS2hEeVlvbno5MEpka3V0RXlET0l1R3pB?=
 =?utf-8?B?c3ZPdGx2czdiemExeER3a1JLZk1EdG5IT1J5SW9pb2lWS3YrNjdGRy9pMzZ1?=
 =?utf-8?B?TmtKbWk1NTliMFAzZE9CNTc1K2dJWG45bEkwSXdXdzVRQ2VVYnFFb3cyNlpv?=
 =?utf-8?B?VGRFNXROY2w3T0NUSHVLSmErMEdxTFdra3B3Z1g5NTVPNkhDYnR4NnhOZ3dE?=
 =?utf-8?B?ajJDRVIwVnlnVjQyTjhhZlMwaU9qZDNpbmwxdWx3amQwN24vclU0WS9NWHBi?=
 =?utf-8?B?bjBPRUdHc1ZVYVNuTHNLdUI2eDRpZzR0VWljY2l2Q2c3Q0dQaHRSTGxpcWps?=
 =?utf-8?B?aGJiNUY3aXVzTVZGNU8xOXQ1Z0V4YjVjNkFYV3ZrTStCc2ViU2FnaGxZOG1h?=
 =?utf-8?B?S3l0OFJRZGhvbnIrOE5OUE5ZN0xSdFIvTlFtVUVjNXFKRnhTRHNYUjhOZ1No?=
 =?utf-8?B?eWVOUm9BVldnbTdKMldSUXIvR1d1Y2J3VmFCalJDV1UvV01YZGtGVWR4bjll?=
 =?utf-8?B?OUd2MW5rT1BxR2lKNlNnTmozb1JJSzZSd1ZkWXpQMHNXcm5IVHZiaGE1UW5q?=
 =?utf-8?B?bWJhZ1VDMUxiaXBBZFltM3ZBeFFpUCtyYWI0UlpvZkZDNWNLcytFT09qdnJl?=
 =?utf-8?B?aFZUN2xwM3hCeWJzRU4vTkJsRUJSTitzcGkwb3ZWREhYbUZ1WHVnUHpycHN2?=
 =?utf-8?B?UGlCa0VxajY2cVkwWU1pUGJZeEs1Nkl4VXpCTnk2cUpGS3ZuMzFib21CZnJZ?=
 =?utf-8?B?R2RHV1dGbVBQZk9TT2hEUWlkMk9FRFhXckxjc1FzUEoyczdFd0hvdlBnNUlN?=
 =?utf-8?B?Qkd2V1lDRmZCbUFvVFgzS0hLRFJCeGNBSGFPa3o2RVRSdGVkR1M5UEVMbkQ2?=
 =?utf-8?B?S2QvTDc3ODFjSkgveGtNSmxMMGticzZlTGJLYUlSek1tTUJFM1p0UThOOXN5?=
 =?utf-8?B?UVFVT2RncWtvTDFNd241Lzl3UTlITlcra3h0UnFoeVM0TWlaWVMyRmgySGlJ?=
 =?utf-8?B?M3lCc0lMcFpiUSt1N1VUbXBHbTdSeE9TbFlrTDJhOEl5aGcvc3RCK2EzYlhB?=
 =?utf-8?B?REF4aHlTR0kvam9palBLU0RxK2ZBc25nK1ZaSWgxb0xxa2dOTDVhVkpkVjRL?=
 =?utf-8?B?UjdKUHFPMkRiRHkya2piNHFYMm0vMEJXQWdsdEJqdlVnNlZBdnErSlB1RmlJ?=
 =?utf-8?B?SG44SlhOT3pUVERkdWd1cUJ2QWY2V3ovRXplY2lFRHNhT2JNMEcrbFNMb0l1?=
 =?utf-8?B?RGRCZlhwOEFQQTBQUWxFak5XaVhXOHIrWHpFWG9MZUUyV3ZSdkRReXpjNlIv?=
 =?utf-8?B?akJNWjVkQTBLSDBtdWpXUEhWYUhVVGNHR3FGVnZWMXliaWgyaTNMTUdNTzFm?=
 =?utf-8?B?ZCs4Ynhjc0xCeDZkUzNEbGwrS2h3eWFzVWdwcXFjYy9UWlBwSkRQdlRTTzNG?=
 =?utf-8?B?OUU3ZmNoVnQrSXdDRGFuc0w2VjA4NExTdm5QcVRpNGRoeVE0Yml5bllVZXp3?=
 =?utf-8?B?aC9GcUNCWkx2UXJmU3FKQ2RKNkFNQkR2SzVET0syYmxKVVBvZUNkdG1NYmI1?=
 =?utf-8?B?eWZ4RlIwclA3M2l6VUYxNUhyNHZvdzlDVUZyNGtVQ0xVbjlSR0lPRGhMNWMw?=
 =?utf-8?B?YjlTTnJLY21kWGMyRGlvVHU2SjdoNFc0ckdDUlpxdFpCNjNSanpBdGRnMzNy?=
 =?utf-8?B?T1Y1U1EwVmplNytZR1QxYUFmdVAwTkVUdlFscXlNNWtjS0grVVBwNUVjZk9M?=
 =?utf-8?B?Q05aeXluSmJPTm4xM0kyRldkVWlkSGZESjgyY0d2OThBK2JvMHVIWTJEZS9x?=
 =?utf-8?B?aUJ2cW5Yd0FVR2hTNXlIMjlwMGY3Z0JlK1NYU3gwSGRXcjBBMUY5T3M4TWlZ?=
 =?utf-8?B?UFZQTzNRdVVsOURvZ3BOVTIzTjdCRmFIOXVzNGpqck1BN1ByVG9sMVJNMHZ5?=
 =?utf-8?Q?fsy3b5hkCdIf8b28=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7f83352e-d287-47a5-261c-08decaffedae
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2026 17:02:49.4822
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zU0jDhMv24x5EA5+ldklRQF/kFckXCuq4Vv8MwO5f/ITDonzQ/MXX4s3SaRH2Lg3PMLnff6jQ4UuwpDLhn4Smup4GMNxsIHyJ9mlz9UEsPw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB7889
X-purgate-ID: tlsNG-16d1c6/1781542974-85D6AD75-11B86309/0/0
X-purgate-type: clean
X-purgate-size: 1309

On 15/06/2026 3:39 pm, Anthony PERARD wrote:
> [06Ah 0106 001h]         RTC Day Alarm Index : 0D
> [06Bh 0107 001h]       RTC Month Alarm Index : 00
> [06Ch 0108 001h]           RTC Century Index : 32
> [06Dh 0109 002h]  Boot Flags (decoded below) : 0033
>                Legacy Devices Supported (V2) : 1
>             8042 Present on ports 60/64 (V2) : 1
>                         VGA Not Present (V4) : 0
>                       MSI Not Supported (V4) : 0
>                 PCIe ASPM Not Supported (V4) : 1
>                    CMOS RTC Not Present (V5) : 1
> [06Fh 0111 001h]                    Reserved : 00
> [070h 0112 004h]       Flags (decoded below) : 000004A5
>       WBINVD instruction is operational (V1) : 1
>               WBINVD flushes all caches (V1) : 0
>                     All CPUs support C1 (V1) : 1
>                   C2 works on MP system (V1) : 0
>             Control Method Power Button (V1) : 0
>             Control Method Sleep Button (V1) : 1
>         RTC wake not in fixed reg space (V1) : 0
>             RTC can wake system from S4 (V1) : 1

There's 3 pieces of information on here which confirm an RTC is
present.Â  Setting RTC_NOT_PRESENT is clearly a bug.

We should probably have a quirk to ignore RTC_NOT_PRESENT on this system.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 17:45:19 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 17:45:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338475.1599504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZBMt-0008L1-1I; Mon, 15 Jun 2026 17:45:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338475.1599504; Mon, 15 Jun 2026 17:45: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 1wZBMs-0008Ku-Uq; Mon, 15 Jun 2026 17:45:02 +0000
Received: by outflank-mailman (input) for mailman id 1338475;
 Mon, 15 Jun 2026 17:45:01 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wZBMr-0008Ko-FE
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 17:45:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZBMq-00DTLi-RJ
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 19:45:00 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a303a02-5cb7-0a2a0a5109dd-0a2a450cc536-18
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 19:45:00 +0200
Received: from [52.101.43.30]
 (helo=SJ2PR03CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a303a1a-62f1-0a2a450c0019-34652b1e1d4f-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 19:45:00 +0200
Received: from SJ0PR05CA0187.namprd05.prod.outlook.com (2603:10b6:a03:330::12)
 by LV2PR12MB999095.namprd12.prod.outlook.com (2603:10b6:408:353::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Mon, 15 Jun
 2026 17:44:56 +0000
Received: from SJ1PEPF00001CDF.namprd05.prod.outlook.com
 (2603:10b6:a03:330:cafe::54) by SJ0PR05CA0187.outlook.office365.com
 (2603:10b6:a03:330::12) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.7 via Frontend Transport; Mon, 15
 Jun 2026 17:44:55 +0000
Received: from satlexmb08.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_256_GCM_SHA384) id
 15.21.139.8 via Frontend Transport; Mon, 15 Jun 2026 17:44:55 +0000
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 15 Jun
 2026 12:44:54 -0500
Received: from [172.21.53.33] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Mon, 15 Jun 2026 12:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=SztQJkYgErYujOXzf8AglqY/F2/BffSmZk7L9PUl20pfcUEKIQuNu4rc53DwPH/icMMNB+DacEKdbEC+ns8RM1dv656VC/R29Ldhkq54U2I7ES2wBu+9pVvLPUKJHPA7q8DnqPfHBybCvcnfHu8V9Fzn1/co1RpQ2l8eg/4ayYqkl8uPmPp9royY06Dd8BOskpmj+Meojf0TmGExQHDY8NihLVwwgFoh/CtTJvPK2pCevNAl/1DKdCU/MB0kAy4hKXWFryn3r4+sYJ9/qZOdcxIrh6j1zQkWTfh3qqvoHK44EpFlT4np+uWu7XNKnScUN1b5grxyu9nlvzqrxeMAUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QDoPIxv9i7O13kXGh5GBrpXz05kp6T5/s6TDbkxue/8=;
 b=b5CeMDNIHGDZzakeoH2GRbHNAmdLZ1nPDzAoCLW1y50gYt5/O40TH5hapOi6LdWFIkbEGuJkEk1M07wrknps1Mr3N4ffXgYwigFZuxeeJ0Qk46V6ii2O6RolotVKcNZjuNNi3bEwKtMQSoMHVd6ddHFmD9jzzVeymPP0tcbcvcnBQxbvuM0T9iuGg6IsTvVJZr35g90ZVNwgGSIiyJ9b4jAIFyYgPvjXnJ+kiRwUqmy/a4IHGL5q4A9G8ABXeTA0OBWDAUmlVVnNuoROaTRKLaU+WigMcwwzviBE720tOtHEwqp4hM3ZzW+cRBiQA+DKfUl5lytcs1z0PpJ0ZM5kAQ==
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=QDoPIxv9i7O13kXGh5GBrpXz05kp6T5/s6TDbkxue/8=;
 b=vJ43lr/KVhHeOZWawEGkTipvuWwMYmaiV/H9731j/G3NBnJrcsnshenOch7xuI29RHaTBzaeNabqfYA3kqofNR2ERYNkM6qIKXzcw7UP70FrV6Qs6Le2/mBt1epQwLMRi7SjdY5P8QwEijZDM1Kcimpal5do1jEH7OzuBccBS+I=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <d00f8d01-33c2-4b43-9ca5-c7aa98488ff2@amd.com>
Date: Mon, 15 Jun 2026 13:44:54 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] xen/cpufreq: fix usages of align_timer() in the
 on-demand governor
To: Roger Pau Monne <roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>
References: <20260227073259.1200-1-roger.pau@citrix.com>
 <20260227073259.1200-3-roger.pau@citrix.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20260227073259.1200-3-roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CDF:EE_|LV2PR12MB999095:EE_
X-MS-Office365-Filtering-Correlation-Id: bb9de9e6-909c-4550-25ac-08decb05cfbb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|376014|82310400026|36860700016|1800799024|56012099006|11063799006|4143699003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	/rNZlHyi3HU4ZHOm7VYiYO6hP/VTrgiKR+raL9uYmR/yXN8orxE1MIslkYWTgLlYDmxKY+OaQc6H4TIDcBvZaSLNBgFd2RwQOEG8KjzYCYGK9FgZiZmEb5ShuxhzZuqqRfKhgLvFeGNphLAYv6Qe4CpGtBduZ74W+t6NKy+mg4ubAsiPDZUGXHDFpwn1eOGYhBECPmEW3yTVfCcHR+Ti38MrjKdLZt3kpFp4RMndu8DDRPIY02H1LF4oND+l4ZSmRXory/0EV2d+01zZ4XOx2rlR4APJWNielIBGdqAikT3v+Lu8o925HLtjOVG5wjtjcnRYQ5tvjti1iIB1VlHJGUftRsr5NwjBY6HCbuOCDNAGuAI/MlbOC8d3JL+Vx2vVPcoDAsOmCf/Q4NG5ujal4ELlCXhVh5iT1y0+3i/jIp/xwP5wX34DRoBgSx4/PLYWeYYoPgicdzwSYeBsUom3EN21Oii9y/FcMB+bHeoMXAeFuHJ6P8r5MLts8WX26ecijkgIvWN5Rrrxdw9DMPxKB0UvEZeGTqfY+jGJsWnZgbCbuTc8QD3+DwMJgG0g6UFx/Yha1CO80chCez30UzzBbH+idodf6Su48BDAK0KJS9iK2LXD5SpYevxbij0/HMqtPXBwWtr7gOyrtWhwe13YHrE0hErxDsriZhPs1+Wwct2uld+xHY1Q2Zyu/Z6NVqECqRwnIlqyXRmn5ablUy6xfyExxA+seBgRBnk+SQMXl/4=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(23010399003)(376014)(82310400026)(36860700016)(1800799024)(56012099006)(11063799006)(4143699003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	8oQkASVHnassggRKX5cW6Ii8Ja+ypcUhd2NedQosU3xErUzyObi1Czm8qOsgM4buuSjfxZAPaQe6VZFA54302GeDuKRfrVKI2cR+NrQBvxz9pd3OO24eS8QmTiBOn8nMPwd6d61hvPELNl84bXlINvC8N78RfKlhYyemYQsJrfHArJiFkBomTNuOx/N5ZqS+x+lSMOmwGag84EaaO289zsUnLw84Q0HWg7CjejJotJxwx4jiVd8xn6M9MSEcMgWa9cY65WqyzWU4uPjRETKka26JzhmJWnFTLB2FUBjn8KiRfThb8UVbfMbnmHpq+UqtpTFs/fOrkQk4p4h8XfsaW5yY8Li39/ppIm0wL+YMAgfl5Q4qmkxcoJtnvrZ9PcTEK7JQOOdbvXf0bvRzsI8xi/qBJ15hDATxsu9VQz/vXudYBSxtEd1YyUoDKPFpd6pt
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2026 17:44:55.2917
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bb9de9e6-909c-4550-25ac-08decb05cfbb
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CDF.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB999095
X-purgate-ID: tlsNG-d25034/1781545500-E0159CF5-714F70FF/0/0
X-purgate-type: clean
X-purgate-size: 2592

On 2026-02-27 02:32, Roger Pau Monne wrote:
> The first parameter passed to align_timer() is the timer expiration, not
> the current time.  Adjust the calls to align_timer() in the on-demand
> governor to pass the expected timer expiration as the first parameter.

Internally, we have a report of a benchmark regressing ~6% with this 
change on 4.20.

s_time_t align_timer(s_time_t firsttick, uint64_t period)
{
     if ( !period )
         return firsttick;

     return firsttick + (period - 1) - ((firsttick - 1) % period);
}

The code rounds firsttick up to the next period:

align_timer(0, period)          -> 0
align_timer(1, period)          -> period
align_timer(period - 1, period) -> period
align_timer(period, period)     -> period
align_timer(period + 1, period) -> 2 * period

With the change of this patch adding the period before calling 
align_timer(), the timer is set for two periods in the future.  The only 
exception is when firsttick % period == 0.  I think that is unlikely to 
happen since NOW() will always be a little after the period.  Even if it 
did happen, the timer would fire immediately, but the next timer would 
be set for 1 period later.

So I think we want to revert?

Regards,
Jason

> 
> Fixes: af74e3a15a83 ("cpufreq: align dbs timer for better package C state residency")
> Fixes: 382b95f627a9 ("Fix cpufreq HW-ALL coordination handle")
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> ---
>   xen/drivers/cpufreq/cpufreq_ondemand.c | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/drivers/cpufreq/cpufreq_ondemand.c b/xen/drivers/cpufreq/cpufreq_ondemand.c
> index 537695eaab19..0d94c0e464a6 100644
> --- a/xen/drivers/cpufreq/cpufreq_ondemand.c
> +++ b/xen/drivers/cpufreq/cpufreq_ondemand.c
> @@ -185,7 +185,8 @@ static void cf_check do_dbs_timer(void *dbs)
>       dbs_check_cpu(dbs_info);
>   
>       set_timer(&per_cpu(dbs_timer, dbs_info->cpu),
> -            align_timer(NOW() , dbs_tuners_ins.sampling_rate));
> +              align_timer(NOW() + dbs_tuners_ins.sampling_rate,
> +                          dbs_tuners_ins.sampling_rate));
>   }
>   
>   static void dbs_timer_init(struct cpu_dbs_info_s *dbs_info)
> @@ -400,6 +401,6 @@ void cpufreq_dbs_timer_resume(void)
>               (void)cmpxchg(stoppable, -1, 1);
>           }
>           else
> -            set_timer(t, align_timer(now, dbs_tuners_ins.sampling_rate));
> +            set_timer(t, align_timer(t->expires, dbs_tuners_ins.sampling_rate));
>       }
>   }



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 18:09:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 18:09:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338487.1599517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZBkb-0003AI-0y; Mon, 15 Jun 2026 18:09:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338487.1599517; Mon, 15 Jun 2026 18: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 1wZBka-0003AB-Ty; Mon, 15 Jun 2026 18:09:32 +0000
Received: by outflank-mailman (input) for mailman id 1338487;
 Mon, 15 Jun 2026 18:09:32 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wZBkZ-0003A5-Se
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 18:09:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZBkY-000qdu-PU
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 20:09:30 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a303fcb-e002-0a2a0a5209dd-0a2a4505ceb6-14
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 20:09:30 +0200
Received: from [40.107.201.6]
 (helo=CH4PR04CU002.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a303fd9-aaa8-0a2a45050019-286bc9063764-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 20:09:30 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SJ0PR03MB6534.namprd03.prod.outlook.com (2603:10b6:a03:38e::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Mon, 15 Jun
 2026 18:09:26 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0113.015; Mon, 15 Jun 2026
 18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=rFWS48T1IyryIw0s225zi8GbRL8d4WZTZSP/oS/lb+Uqm5ngCe1jFnCpYC0htOGOJELpuy/d5ErFP0onRkXo8D5FuU6V4EwyxFgUPxVa0ZPHhu9Z1wjODNgUhs3SxBfL6T+expayu/XvLRwf2zKl4T3SJIA5YDH90ayAUBDtmPbJzyPEpEnQO3VJuhJC8MHPNx1OrztJeqFHbYEGlEY/na0iWUOQwj45qB7a17g3uXiGur4YP4t5UYLAS2eY+Fhl4w+bxTWibfVYeja52l5bvGoCycP0EmO2DoAEFjjnHj99WBA9z/VCz3+5MWF5kBL3oihrLHg7Um3lFqtGqQ1B/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=87qHOZhlqH6FaTwsdv/MTXLwIAYTiW5BH53wP0WpXuk=;
 b=hVdDMq/OS9lFLbnvLSEoarjnkt4z/eg7go5Uqji1HrOJo7yIE2SJ+8rQAT910mhHukVSD2KkPOo0jjpQ50hlbE/SulukKto97NCmKhsGTKrAtrSXk+xch6oMWJdzIkJ7QdlSgPZG0XS0U/cI3w9z6JlYyYDuNzM04AJb2dGGABoPzOMUfqPOeMKI+5k0JiPSPhGPdpC2409+zwmks2YCW8SSafVHc4kGhZssL4/MgBsNeyFmKiq35aUIq9DruHX8QgHxXDKVEnuCtayuDJFRkzV25DqueMPJHTXvSCEL+zSN7+rzvDin7qkteLobRfA2OHx5OP0Mj7jk/U2E7HpPhg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=87qHOZhlqH6FaTwsdv/MTXLwIAYTiW5BH53wP0WpXuk=;
 b=k1i8NVlH1Qjcu/PZRsryY6MsK55m6nE1NmFJrAgNgluANzGMzj8sXQa98Qyg8KQC/9amKF67opoDB4Pkw9HEsqdGGAhLkgqAxsdns7L1JkooshbJcUKcmTdZdcLATr+XFY5aaVwGqpJOh/vQOUq2cuRDj6gIsADeYHJ4HZXfj/Q=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <09dab381-fb87-45b0-ba82-f42dad8dafd0@citrix.com>
Date: Mon, 15 Jun 2026 19:09:22 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, anthony.perard@vates.tech,
 michal.orzel@amd.com, jbeulich@suse.com, julien@xen.org,
 roger.pau@citrix.com, sstabellini@kernel.org
Subject: Re: [PATCH v3] docs/process: document AI-assisted patch tags
To: Cody Zuschlag <cody.zuschlag@gmail.com>, xen-devel@lists.xenproject.org
References: <20260527174528.27903-1-cody.zuschlag@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: <20260527174528.27903-1-cody.zuschlag@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO6P265CA0012.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:339::16) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SJ0PR03MB6534:EE_
X-MS-Office365-Filtering-Correlation-Id: 87b39924-fb1f-473b-662e-08decb093c8f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|23010399003|56012099006|5023799004|11063799006|3023799007|6133799003|22082099003|20052099010|18002099003;
X-Microsoft-Antispam-Message-Info:
	C8EtsQhgbzdwa0FFeBwxu3vF/86WteXDKaqFPGEe6gZrTYt7EZ+bqgCjmujyuZUcZaAgmRaLMv/9PCquhu0VYQn88lAuPg66lQVLSx0HkW0lqVZZC7lrjTLuygJiw6bXUhz+YFwigqZdBEaSuCPFwHjxrx50DxcIDdEIP22HBk8Co8LVT4efywKD2Tov2AL3B5QgEcyw/tbILqrVD/vT3zz/reNmuNIm9ew3JWE7yfWelVoc12fogG92r+3ih+75tGcWUC7tfBJ0bveJtUcePB8v8qxgMivjE2eOj14E5TJgKGqoBnjStUFLKURrs0x50iYTHGKXDXRfxi8TzZOWDJ9cyrfT1eo1dKfOEx36/pOj8ls/PvHeRTiy4G3MDNFc1LZHeOWJsTXN55WJr4t1ix87bZ/zuKQhso7DAUN9VRUWyB5gX/GBiBcWX7D9EsOlopie2YHbtsfNdiq0ILvseVQNEB8wQvzWoNQgR2CBh0PajG48impKiJhAIl+b6bl67TqN4a/mViovrRsJwnVzeY0I1gSblGavAaA9jFSgm/n7M+DOe0NHs0oeqH+Y8PVV+oeCFholKui1BbwaGJq42QL5d23sUghwTfOZH2VRyjc4zWaylp2/DGayBuo8OTG+ecpLkVjy4hEqTgXhwRdv4ZSwIez5onr7fcSX5IWzh31zzu1AW1ox4Co8c1+kqvRz
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(23010399003)(56012099006)(5023799004)(11063799006)(3023799007)(6133799003)(22082099003)(20052099010)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dElmcU1HbGRUcm5Ld1lrYjZDZUd3YjNNM1o5VCtvcGdxUXZ2QXpVS1QvVlpj?=
 =?utf-8?B?YzlWZGhtdERhclVJOXhvUzNhWkhRWVBnMk9TU3dLYlhzTERmd09nd1ZySEtQ?=
 =?utf-8?B?ZmNVbG4rZTBaSUFCUEZjV2FjWU94SkhVTTJUT0xsWmJXNDJHcFFtdEg1L0FY?=
 =?utf-8?B?N3FRYlRIM1NUVTJ2YUU1bFRDUEN4ZW9pdjdrejZMeVgzWDdKc3FvT0grbHRa?=
 =?utf-8?B?cVdxdmZlZHI4NU9KNktWMUtlZ0V5bTBiUkllT0dQdnVXMGxOSDNHUVNWRC9s?=
 =?utf-8?B?Q3lpajFOQWZMaVhpazJHZjlmQ0VxOG1ucnFsMTc0UHJvczdBM2h3d29DWWFL?=
 =?utf-8?B?Qk5zcFZjV1FkM3pKZjFkZWFNOSthclhBZ0dhZzliTU1BY3RJVG4zb2VEcU8y?=
 =?utf-8?B?NDVDL3NST281SktqQ0wyd0ZRa0lEZnFjQ3IvN1pIZGY4SU9xV3AvZDE4UUtm?=
 =?utf-8?B?WENyd2paL2prRzdCdVdDRXBEb0hwdFMyZWxabFRJRjlKZFJYOThONGVUQ0Rt?=
 =?utf-8?B?NUs2bWpwODFHQy9UckZYQytOMExMSktQQmRrMk5Hd3Y0Vk9BU1lpTk1BN3NR?=
 =?utf-8?B?NklUb2ZnSEZiY0EzSVIvQWE3ZTlTZzVmZmRIakVxZmFhb2t5T240Y0VKVXh6?=
 =?utf-8?B?eWhRU3lCTmlQbG55VnE5NWI5NUxlZkRlZ0ZabW1PSnpYRXp1NXVneGFCakl6?=
 =?utf-8?B?WUtZOUNlM2s5UmhKeXh5dXcvamw1V0dndlFVMzVmMU1wU2VJM280NVZpbjlF?=
 =?utf-8?B?ekIvUVNZcENEVWJJSy9rQU9sMVdoV2JaZHdKVlcrU2NSaG94UHp6ditCNkov?=
 =?utf-8?B?SlpFUFB4T0pyLzVYc0JIaXo1dFV4SDV0alNaSm9CVU5JTE1rR2M3T254ZGVt?=
 =?utf-8?B?KzNBWUZSQlVKbXVQclZZZXJjVFZMeWFDUjlLNEpXR0R1bjUwOE5xdjB0eVpK?=
 =?utf-8?B?UjY0dFBQcmdCV0hqVS9TZ3VqTVp1bEI1OVZkME5lYmZtSExZaFA3REMwOGFG?=
 =?utf-8?B?L1Z3OU40Ti9uTk1zWkFseU9BdjkzWGN3Yk9nZXRjMG43ZVhRWDhMWHU4S0ZG?=
 =?utf-8?B?bVBKeEc4cjNSaEdGQVU1QXgzdHU0RjcrNXUxZHJ4UGJwdjZERzFDcjYyOVp2?=
 =?utf-8?B?VlJwdUJZcVE0OWgvNTR5aitENERYNmdIT0dDVjh2R3l3VWNCYklhOGs5aE15?=
 =?utf-8?B?NkNGcXEybkh3cDVyUk1JN0E0Q1hLT0FodVB3MFRsMDFSRy92aTVXR2Q3YUlt?=
 =?utf-8?B?OGcxUUk0b1Vubmh5amJxeE5mT0pOY2pWcmNCSUVhbFNYeFlDMTI2Ym9FOVdj?=
 =?utf-8?B?eVYvTy9NeGcvSGZIVjhiQWwydmdUOWRnaTlqL3lkV0YrWGlocFM3MmFWUGsz?=
 =?utf-8?B?L29uYjE0bWZHcW5RUkpvczhXVU1mM1diL3lmSFd6bnRlUFM3cC9oS2lidUxZ?=
 =?utf-8?B?eXd1K2RzdFFhUzMwWjBUS2ZsdjJ5ZnhSM2RiaHZwUkpaU0pSN203UHprakhV?=
 =?utf-8?B?R1Fjb3ZtcW00ZXJzb0Y0VzVQU3Z5RjRWd0pYVHIrbVFsTjRUbnE0bDBUQzRr?=
 =?utf-8?B?alNXaFpCVWhFelBlTVo1aStkaGw3KzZNeGF4MXdneWFWenNqam5nYXpRVmpy?=
 =?utf-8?B?YXZNQ2RhdHZDNURhK05KalZYOVpmZnBaWXBJcUlLS1Nmc05iSmVIRDB4RDhT?=
 =?utf-8?B?K0crU1RlTGMxWE1IYnRIZXY2QWhaR2NhMDYyOXF6RWFmcGNiZkR5MmlTeWE0?=
 =?utf-8?B?TXRCUXJXOU80L0N3anY5ekVDbjRjeTZTSHV2d0RYNDcrc2dZci9JMnBiK3JH?=
 =?utf-8?B?UFdlK1d5NGljek53cktlUkUxSko0YjBQb0prQ08rdEhpcTkyOTFCK242MEFL?=
 =?utf-8?B?RWI2bzRmNVpQUDRGdHlVNnFtV2VpWS94bjJudnFEbnlvbVdHbWVHQ3ljd0hR?=
 =?utf-8?B?TkxVM2pNWjAwdU0vT0wvMXZIaGJxZjE4UnFmMCtUSko4YTBqc2FERUZPOXVa?=
 =?utf-8?B?N0M5UG9mNTBhOHJoN09ZRDlIZW5mSzFGcDFTWTIzZjhQVVdWNkd1Q2s2MDI5?=
 =?utf-8?B?QlhjdjFGWjZ1dlBhcWE5N3FqRW5CS3pnbDlKN2hvblNzcmtWUEhBcmdGSWIz?=
 =?utf-8?B?SkhwVHNPNHc2ZHgyWkN6Nm5xMjJzclN0TUJtTTFwNlhHLzdVRjNlaSt1WlFX?=
 =?utf-8?B?SWgvRFpFYmQ0SThVaS8razFmNWpwZW1DNGNKUzNPZ2tJNzhNN1BUeFhrbVhU?=
 =?utf-8?B?NC9tazBlanV5VkU0ZFZXaDhTWTRhV3BiMVRITHJ2akxwTFgvWEJqTmZPTzg1?=
 =?utf-8?B?N2FoMU1tTGc2VHRMK1FaVXlSeWZyTFlPYVJCWGhsNEZvbTlVRyt0bmVtUmJP?=
 =?utf-8?Q?F2T8e4Edm3tMWTeo=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 87b39924-fb1f-473b-662e-08decb093c8f
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2026 18:09:26.5380
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2iCWYGGHYDhj63r9MfRvH9aWwxW837Aatlc/kiBxRIxAMIm6KhE1nZhiTgQe1zw+Cbd/MmZI5U1JE+BWqaYCaJuwkybESXS8odXfcQb1SYQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6534
X-purgate-ID: tlsNG-c201ff/1781546970-E1599443-498B3BAA/0/0
X-purgate-type: clean
X-purgate-size: 3141

On 27/05/2026 6:45 pm, Cody Zuschlag wrote:
> Add documentation for the Assisted-by tag to clarify how
> AI-assisted tooling may be disclosed in Xen patches.
>
> The guidance follows the Linux kernel documentation.
>
> Assisted-by: ChatGPT:gpt-5.5
> Signed-off-by: Cody Zuschlag <cody.zuschlag@gmail.com>
> ---
> Changes in v3:
> - Align wording more closely with Linux kernel guidance.
> - Use verbatim Linux wording where practical.
> - Use MUST NOT wording for AI agents adding Signed-off-by tags.
>
> Changes in v2:
> - Drop unintended executable bit change.
>
>  docs/process/sending-patches.pandoc | 30 +++++++++++++++++++++++++++++
>  1 file changed, 30 insertions(+)
>
> diff --git a/docs/process/sending-patches.pandoc b/docs/process/sending-patches.pandoc
> index 798ecceb..79e24af1 100644
> --- a/docs/process/sending-patches.pandoc
> +++ b/docs/process/sending-patches.pandoc
> @@ -195,6 +195,27 @@ E.g.:
>  
>      Requested-by: Jane Doe <jane.doe@example.org>
>  
> +### Assisted-by:
> +
> +When AI tools contribute to Xen development, proper attribution
> +helps track the evolving role of AI in the development process.
> +Contributions should include an `Assisted-by:` tag in the
> +following format:
> +
> +    Assisted-by: AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2]
> +
> +Where:
> +
> +* `AGENT_NAME` is the name of the AI tool or framework
> +* `MODEL_VERSION` is the specific model version used
> +* `[TOOL1] [TOOL2]` are optional specialized analysis tools used
> +  (e.g., coccinelle, sparse, smatch, clang-tidy)
> +
> +Basic development tools (git, gcc, make, editors) should not be listed.
> +
> +Example:
> +
> +    Assisted-by: Claude:claude-3-opus coccinelle sparse
> +
>  ### Signed-off-by:
>  
>  This mandatory tag specifies the author(s) of a patch (for each author a
> @@ -209,6 +230,15 @@ E.g.:
>  The author must be a natural person (not a team or just a company) and the
>  `Signed-off-by:` tag must include the real name of the author (no pseudonym).
>  
> +AI agents MUST NOT add `Signed-off-by:` tags. Only humans can legally
> +certify the Developer Certificate of Origin (DCO). The human submitter
> +is responsible for:
> +
> +* Reviewing all AI-generated code
> +* Ensuring compliance with licensing requirements
> +* Adding their own `Signed-off-by:` tag to certify the DCO
> +* Taking full responsibility for the contribution
> +
>  By signing the patch with her/his name the author explicitly confirms to have
>  made the contribution conforming to the `Developer's Certificate of Origin`:
>  

I've tried committing this, and both the hunk headers are malformed.Â 
They're off-by-one line on the + side.

Also, while this is what Linux says, none of those specialised tools
operate on the Xen repo (patches for coccinelle were posted years ago
but not taken.Â  sparse and smatch need instrumented headers which we
don't have.Â  clang-tidy can in principle be used but it's not plumbed
nicely and is hard to use).

I'm going to send a v4 which is a well formed patch, and limits it to
just AI tools.

~Andrew




From xen-devel-bounces@lists.xenproject.org Mon Jun 15 18:33:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 18:33:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338500.1599527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZC7Z-0001TQ-Ra; Mon, 15 Jun 2026 18:33:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338500.1599527; Mon, 15 Jun 2026 18: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 1wZC7Z-0001TI-MC; Mon, 15 Jun 2026 18:33:17 +0000
Received: by outflank-mailman (input) for mailman id 1338500;
 Mon, 15 Jun 2026 18:33:17 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wZC7Y-0001TC-VH
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 18:33:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZC7X-00Dbes-KS
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 20:33:15 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a304539-bab6-0a2a0a5309dd-0a2a4502ac6e-40
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 20:33:15 +0200
Received: from [52.101.56.1]
 (helo=BN1PR04CU002.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a30456a-af86-0a2a45020019-34653801149a-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 20:33:15 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by DS2PR03MB8135.namprd03.prod.outlook.com (2603:10b6:8:27a::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.14; Mon, 15 Jun
 2026 18:33:09 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.015; Mon, 15 Jun 2026
 18:33: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=KeTi5Q9hW5KeFAzX6fwerX1SOloKgNrw9AwwMyM2hkVWYBaWV0e0x6yMrPKbzasJ3QXJQ+lS7cGljuunMOYZRZXUHlnc24BvJ+v3Mo254oSP8YOExRrn96Nw1cDGbmKKkJdnpzdK4ycu6GhNSSd5Pu6Y3Mbx93t8qbDuT0jl3YHozPL0Nauq7JQEeTfgSmEhTtvGqupB1E+auBe0HvuSkvdER5TScZ8DWBGFzRxItgY/lt7S2Mq89L4qBMZk51ixnhB6tGgAVoGhtRQGZ7r+iY+qnk9+VXAuMNsRTfD9mqlVs+2LJ3OtqAoLZ/oE9XOPyJLtRoi/TDyEXuoEVDhXqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WhZYQQIlyY8LvXei3rfhL+t1Sa1oDzRsSZR2UVkCws4=;
 b=exwpBplWpy2G69mekeuVHH7KwcPjq0JDr/T86ryEtr8/8xMtiuRZdIpvojEMSuej8m+7YaYzum+erwW/yrrwkF50yB440vx6XY5huXzq9dJFDgAq1LDOkVCukqd1z8qYFhGrCTM7VFTh/Zo4vd85ugGMEIDQh4u3qVOezOD+mSpH86X2qnW1eV27Kt9v1nbdVBP1bVAB/kezIvB9iHnaLxMBLp12DXoVAou5guSsJJv9BGUL/zwMRUaDAAiBf5STbupEOiZnlKgSwfDNzUJndo6YkvmOG7PpAR9M3Upwnv5QHqN7Rfy8q36OQS59KUcXexYsEjgzr8kDhTrqGmNVaw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WhZYQQIlyY8LvXei3rfhL+t1Sa1oDzRsSZR2UVkCws4=;
 b=kGkKtLjsXpaTVy4g5vG1cfG1AqrSZN/9Zdde899qedNVk+VmzYJXNmIgoozaUDtRiUdew/qBfGgJwtcoKfm0fPRTrtqEA4X2sxSpZnof6q951v0tz4s9bAzT+J/xb9Ti5/o2obcfAXSqDgRlYZ0i+HWXxKcZOvoqkNIzr58rD0A=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 15 Jun 2026 20:33:05 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH 2/2] xen/cpufreq: fix usages of align_timer() in the
 on-demand governor
Message-ID: <ajBFYYY83dmeM4Kp@macbook.local>
References: <20260227073259.1200-1-roger.pau@citrix.com>
 <20260227073259.1200-3-roger.pau@citrix.com>
 <d00f8d01-33c2-4b43-9ca5-c7aa98488ff2@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <d00f8d01-33c2-4b43-9ca5-c7aa98488ff2@amd.com>
X-ClientProxiedBy: MA3P292CA0062.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:49::18) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|DS2PR03MB8135:EE_
X-MS-Office365-Filtering-Correlation-Id: f07a74a5-4c49-4052-99c1-08decb0c8bc5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|23010399003|366016|1800799024|11063799006|56012099006|4143699003|22082099003|18002099003|6133799003;
X-Microsoft-Antispam-Message-Info:
	/h/2zLMEfcXL8Dh4PfJpmZ/na2txpoX04PEXjH2OuZecpqoD91to8dwp5XFurfWHKGtQ5Yr6+XvxTlHe0D/8nd60xa3YPbrkkw6bEoA9TIPE9uRtOGFRq28T/kXrj3hNCddJ9ib2X640cpRuWfhRAjHPMiLuKo9aMiA9bf9GcLFE90Q4sptfNKRyEPj9BXK4vQvTZGs1xOzxoKzry5ZystM0XnCd7FF9uHwUmlhnAiuF8jFJu38YhRG0OtwDBCF8i8cRs0p/ig7Ti6F5CPS0hPYKyzZCtgPBnAeFEX2itRnWu4sFnWJUoz/OXlFwihPgch36uqM0N1IIOZzWUCDdfS4tYK17fv+Pi0X/4JAx/7b8vgpd293s134eLKPPvVWqv2/vqOUlS7fIX2N/oue01IDY57XYh/381E5/Oyt4wihSnla3FBdWXhDwbVp+/Z/LvJ6IrzLHAqRy1eiZqN+KCgjR1B04WSCe7UA+XOJN2fgQ0Wm4ZTxVnNVqWkCz1Po+FvmMdYwlwUZtUYKPiX1svHUuY3OZDLwRoV2o6AQ+fv+sMK9QTJ8oZkVM5TPuiDpdaKOSQynIW04ZbMdxhRIW5dfQ60O3hBRsGB2467T5iaqDefyrYiKN9tFrKBlXN5d5Ptwu28mjjvtavQANANpo/BQAP5liwNkhZJ+Ux1OqIE2Mb0KTe6flW22OcLOqrZbH
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(23010399003)(366016)(1800799024)(11063799006)(56012099006)(4143699003)(22082099003)(18002099003)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M1RrWERSaGVvbmNWaE0vclNLeCtLam1mNENvaTZmVnB3TTBtZzBPUFpYWXVv?=
 =?utf-8?B?ZzRzMzByMjRwZ2V3SzhxT3Z5Sm01dDU1aTVVNlBXSndZejU3bUlkSGFMRm5P?=
 =?utf-8?B?c1ZZbVNzNFJqYjErQzNGTXV2N29oRlBuNVQ0bWthR210eXV2aFAvUkRmR091?=
 =?utf-8?B?Mmg1TTRYdnBJVHhIcnU4STFubkk2UWVmSXVPOG1TT2Nma1Q0YkgzRUhYK2wv?=
 =?utf-8?B?UUdpK29OeXo5YnJsQXF2N05XbXFzWEpiUDhZcXJIR0M4YktmUGxacHBRZXBQ?=
 =?utf-8?B?eWUwS3VHeWsvczJhSTlFVGlrcDFWZEtoMDlLZ2J1TVJ4UjBWdWhXWEFqTktT?=
 =?utf-8?B?NDR5VmV2U1N0Z2p6TmRaL05PKy9qMTI0RGIrNHhmVk9JbWxUbERlTW9jTEFR?=
 =?utf-8?B?Tjk4akp6M1J0ZDJxWkN0ckdxb2kzNExQUTBsK0daTTRoVmUyK1BtOVhNZTFr?=
 =?utf-8?B?Y1NoVUxCMU5mcVpCemwxRStKZm10MS83d1NDaFFhdUY2cnFTN01tUkp1Zzgr?=
 =?utf-8?B?VmVNTjU4T29nZmgzUkZTbzFmY0xJMisyYnREQVpFamJPR1M3R3NUL3NhYnhp?=
 =?utf-8?B?citpa0c3ZVVENm5NeUZHejRUNVBjK2s5TkQxbnhIbjZVa2FscFFvdzRScGxY?=
 =?utf-8?B?WFBtdWt3L2xhMjF5dzE1eEJOSUVwNER1ZkZWMm1LSGIvQzI1L3p3SEJDRzZH?=
 =?utf-8?B?eEdZUS9JYUtzd3JVQ08zU1h3cVVIUVg4SkRHSVRUUWtia0dNUytnbk5uaE5a?=
 =?utf-8?B?MktQTEZRNEZVMCtOWk1tNDVPTDlyVStnWnFqY1hCMVVOdmZxSmJWNjllRUNI?=
 =?utf-8?B?UFk3aTZDNFM5U2hOWTc1cW1DZmljdDV6VS9HUXAyNXdndnZqYm15ZTl4WFcy?=
 =?utf-8?B?Q3R2RjJzQnlFa1FvTTVTRWNsaC9PK0Q4WVIxOWxseUtxOWlnTlZybXBBYzlE?=
 =?utf-8?B?LzVvTTI3cXVabTVicnBtQ3F6WmNvcllwZ21DMHBvNjVURWZ1eTBSSnV2Mkc0?=
 =?utf-8?B?REVEWnBPRjVqdjhwZ29Hc1FaMGNaQ1U4Q1NIaWpURVY2ZU1TVG9yYWp6ZGtM?=
 =?utf-8?B?c0JHRWJCVnpPc2xSSjVJRk9uVjlLV2xsYXl2SmI2dHA5N2lpZStIWnB6VGto?=
 =?utf-8?B?M1JqcG1mb2tRNXNxWjBPbGwySEVBRDFneld1eEFjTmRXRGloVzRmdWpHNVU4?=
 =?utf-8?B?Qk04di9DcmhKa3BZeXc4MFByN0RDcVN2ZTRnYStEeW1VdEwvaWwrOGVFaHVj?=
 =?utf-8?B?MWc3ZGlJWW5sa00zWm40NFk1dGtMakZmTHIvVzlvWkg5b1kyQXY1SlJHQ0Zy?=
 =?utf-8?B?WnUwOFZqbjlvMjJMc3RIaVZpMFNtVU1xNHhMcURUcGk0OGp6a1Z3TUlkVHh1?=
 =?utf-8?B?RkJ3c01NL0c1THBJSE1ZcnNrUUlBM1BQN0g2RzcvSXQ1TzZBSnpKcktZQjMv?=
 =?utf-8?B?anNCRjRlWXdHTWRrUUIydW1tRjQrYU5GMlpvVUUvOExkczQ0MWd4QTkwTGtK?=
 =?utf-8?B?eVY0SUZrelFPRmFlUGJSQ2NleFNyb200THNqdGJ3MUFLN0pCMy9WS0lLdytk?=
 =?utf-8?B?bnhjalp1Um9HWFlQSFNWaFNvdC9yK0dtQUthanNadWMramYxbU9qY1hOUGpv?=
 =?utf-8?B?aVhkV2c0OExmUnV5WksyWTRmZHdrUmdYWDg4bjVIT3MrTWZKSERJNDRMQ0l0?=
 =?utf-8?B?Y2t2eERGOEtCMlN0SE1UNVJmTmk1VDBIZWZTT28zQjkyRElWOStLQUtuaVI4?=
 =?utf-8?B?WVhmSXoyRmppaUk5Y0VhRVZ0Zlkrb0FsRTFCc1dtRHFnMFJ1TUpObWpGUW90?=
 =?utf-8?B?cmUvOC9pcnlVVTNlQjJzdFJhNUlBT1RtUm1KLzVOUW5neFV6MnZ3ZXhtbDZH?=
 =?utf-8?B?UTY1d1JGRThjdVRSbHN1c2p4N2tlc3oxMDc1VmhsR0JlZkliK1MzRXdER2JJ?=
 =?utf-8?B?bjRsOW5mMVU0NFJYN2JmY0Zlb3ZzdFpFbHc2ZytNZlFKeENBV3g3ZjFCejFm?=
 =?utf-8?B?ckZkN3ByZjgrb1hIMWdDeFNWMEpRczdPdzd0ZU95OGNuRzNTdkxza0wyTUxt?=
 =?utf-8?B?WmtlUi8wdjA0cTRBUEhQSVNQaVpYdVhhZE9rd1BPWkZ3VCtWaXF2TGpiU3Iy?=
 =?utf-8?B?K2hjZG1HYmtPU3J5enl0a1dJdFNXZ0N6aVBNUGRlSEFnU1FxVVN4L0xLeXNU?=
 =?utf-8?B?YXJkVk9ISGp0d00zaXBGNmdDRDB2RDBlYkk3c1hmVE11eE02Y3VVTHBHWStU?=
 =?utf-8?B?b1R5MWROUjZ4UFFxVlpQYVdSQXJyOHo1cHBFMUEwQlk1V0RwMVJDa29GZlYv?=
 =?utf-8?B?ejRqZXpJQ0lhTzk0b0ZQT3FLODl2WGNXWUNoN05jN3g1dGZ1ZzlIUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f07a74a5-4c49-4052-99c1-08decb0c8bc5
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2026 18:33:08.0251
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0lIR6WL9Rft2ZFjg6s4zOqR27avLyVHffsU3h3i2tJF+GSZcAJoXj+72fb3G6OwcYwzPpIM2BMiFYoVUZW73ww==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS2PR03MB8135
X-purgate-ID: tlsNG-720697/1781548395-8276A161-69EF072E/0/0
X-purgate-type: clean
X-purgate-size: 3744

On Mon, Jun 15, 2026 at 01:44:54PM -0400, Jason Andryuk wrote:
> On 2026-02-27 02:32, Roger Pau Monne wrote:
> > The first parameter passed to align_timer() is the timer expiration, not
> > the current time.  Adjust the calls to align_timer() in the on-demand
> > governor to pass the expected timer expiration as the first parameter.
> 
> Internally, we have a report of a benchmark regressing ~6% with this change
> on 4.20.
> 
> s_time_t align_timer(s_time_t firsttick, uint64_t period)
> {
>     if ( !period )
>         return firsttick;
> 
>     return firsttick + (period - 1) - ((firsttick - 1) % period);
> }
> 
> The code rounds firsttick up to the next period:
> 
> align_timer(0, period)          -> 0
> align_timer(1, period)          -> period
> align_timer(period - 1, period) -> period
> align_timer(period, period)     -> period
> align_timer(period + 1, period) -> 2 * period
> 
> With the change of this patch adding the period before calling
> align_timer(), the timer is set for two periods in the future.  The only
> exception is when firsttick % period == 0.  I think that is unlikely to
> happen since NOW() will always be a little after the period.  Even if it did
> happen, the timer would fire immediately, but the next timer would be set
> for 1 period later.

Hm, I see.  So this is explicitly done to never exceed one period
between sampling, even if that implies using a smaller period and
over-sampling.  That's kind of different from how the other caller
uses align_timer(), where it's expected the timer to fire after the
period has expired, not before.  I think create_periodic_time() is
fine, because it's only the first tick that might be delayed,
afterwards the next tick should be aligned to the period already.

> So I think we want to revert?

I think we want to revert the first chunk...

> Regards,
> Jason
> 
> > 
> > Fixes: af74e3a15a83 ("cpufreq: align dbs timer for better package C state residency")
> > Fixes: 382b95f627a9 ("Fix cpufreq HW-ALL coordination handle")
> > Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> > ---
> >   xen/drivers/cpufreq/cpufreq_ondemand.c | 5 +++--
> >   1 file changed, 3 insertions(+), 2 deletions(-)
> > 
> > diff --git a/xen/drivers/cpufreq/cpufreq_ondemand.c b/xen/drivers/cpufreq/cpufreq_ondemand.c
> > index 537695eaab19..0d94c0e464a6 100644
> > --- a/xen/drivers/cpufreq/cpufreq_ondemand.c
> > +++ b/xen/drivers/cpufreq/cpufreq_ondemand.c
> > @@ -185,7 +185,8 @@ static void cf_check do_dbs_timer(void *dbs)
> >       dbs_check_cpu(dbs_info);
> >       set_timer(&per_cpu(dbs_timer, dbs_info->cpu),
> > -            align_timer(NOW() , dbs_tuners_ins.sampling_rate));
> > +              align_timer(NOW() + dbs_tuners_ins.sampling_rate,
> > +                          dbs_tuners_ins.sampling_rate));
> >   }
> >   static void dbs_timer_init(struct cpu_dbs_info_s *dbs_info)
> > @@ -400,6 +401,6 @@ void cpufreq_dbs_timer_resume(void)
> >               (void)cmpxchg(stoppable, -1, 1);
> >           }
> >           else
> > -            set_timer(t, align_timer(now, dbs_tuners_ins.sampling_rate));
> > +            set_timer(t, align_timer(t->expires, dbs_tuners_ins.sampling_rate));

... but possibly keep this as-is?  Thinking about it, t->expires
should already be aligned, and hence we could drop the align_timer()
call here?  It should be equivalent to aligning NOW() to the next
period boundary, so yes, we could revert this chunk also and
timer expiry should be the same.

And maybe we want to add an extra align_timer() in dbs_timer_init() to
align the first call also in a separate patch.

Do you want to send the revert, or should I?

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 18:43:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 18:43:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338508.1599536 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZCHU-00034d-LT; Mon, 15 Jun 2026 18:43:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338508.1599536; Mon, 15 Jun 2026 18:43: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 1wZCHU-00034W-IV; Mon, 15 Jun 2026 18:43:32 +0000
Received: by outflank-mailman (input) for mailman id 1338508;
 Mon, 15 Jun 2026 18:43:31 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wZCHT-00034Q-7k
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 18:43:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZCHR-001eoq-VF
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 20:43:29 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a3047c7-2eae-0a2a0a5409dd-0a2a450ce05e-14
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 20:43:29 +0200
Received: from [52.101.52.71]
 (helo=BL2PR02CU003.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a3047d0-62f1-0a2a450c0019-34653447aae3-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 20:43:29 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by BY1PR03MB7262.namprd03.prod.outlook.com (2603:10b6:a03:522::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Mon, 15 Jun
 2026 18:43:25 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0113.015; Mon, 15 Jun 2026
 18:43: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jaObRey4xe91W6klfHFv518WgDatkXptajgaJEiiNxpCDnFr/NGyzyeDpEq4iiuyglmn4/H2G9NPreAC9o4Lwkb3cgWKXN98x1CUfDjbxBVF0os8F4/wCdyAa76y2tbwcxvfvaSCpBqdoOUT2XECCuttUZMtOhtkFKkoYwa89SAGE5j5mjMJ2g+41sU9BtVOON1qCiGnhYKfctncc2aTmpASeOhTwFnHMvEMK6f89+d1oni/Dpvt1mWN/98DGiKxlvdzQnpDimQBECPdNX74wZHNouni8skZmaI0DA4OBR+Xq9RuMUa9K1PVmdUtjdOd0eL3dSm4Y3YgS7bD4QmCIw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6ouyFQ0eU6ubnvg+fcK0usVcZr5Tkjl83MuVqcjkRDI=;
 b=D0vZYb2cMgUisysLJmc7mR3I3cVseiFbq2R7nF6/4NtaJVq8+k9ZXHb0fNGvuoh4r2vlYat208OC5K4Hy23CEhwPAyehKPKz7hNPEkfpG5a7MyoUSOUfSPSr65JAmBx1hAFftMhY0F0ypbqbKNSQCmJtYz57poKw990kAG37wgXobTvob2inMuQc15TTqytqBAwaEIFOghcnuHKGsYSpnBYPfDxdQU1n5GEONNr5KwE5kA1uau7MjpbqF3qlZpzSCJHTfJj/QAjh5eioVkMUO02zPlZOwTrf7y3yOQ3NCblb50dcwLWGDTh9SEody/PouzFCZkCLLc/MaeOlntU0+w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6ouyFQ0eU6ubnvg+fcK0usVcZr5Tkjl83MuVqcjkRDI=;
 b=BC5fIlcbV9ijwmYReC97QfxUF/mG9HAPIU3fsJhWTmq7yE+j6iA4IG/PYI/Ev+fti76ph4TdAYENrSjxOG7rvUwyVi5EE2NPZo6MGosvsf2d0NAF4ekYn8BMfO/YIzISASp93pJcrDDsD2PuMNr2sRefbg8S/efAM1ZdjfrHbeA=
From: Kevin Lampis <kevin.lampis@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: "jbeulich@suse.com" <jbeulich@suse.com>, Roger Pau Monne
	<roger.pau@citrix.com>, Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: Re: [PATCH 4/7] x86/kexec: Support non-page-aligned kexec segments
Thread-Topic: [PATCH 4/7] x86/kexec: Support non-page-aligned kexec segments
Thread-Index: AQHc+CbsApGJa6zrgUWsa1X0ikSoUrY/cjuAgACCg5A=
Date: Mon, 15 Jun 2026 18:43:25 +0000
Message-ID:
 <BY1PR03MB799653CD160FBD7BA81CF931F3E62@BY1PR03MB7996.namprd03.prod.outlook.com>
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
 <20260609154518.779757-5-kevin.lampis@citrix.com>
 <494de33a-5033-4c5b-a026-fa8a4ed26cd0@citrix.com>
In-Reply-To: <494de33a-5033-4c5b-a026-fa8a4ed26cd0@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BY1PR03MB7996:EE_|BY1PR03MB7262:EE_
x-ms-office365-filtering-correlation-id: 93277227-7ea5-45cb-159b-08decb0dfbdf
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|376014|23010399003|1800799024|56012099006|4143699003|11063799006|6133799003|22082099003|18002099003|38070700021;
x-microsoft-antispam-message-info:
 vUGU8IjtEPyOMRmK33HeHrkj795o5WWkTG4HIh4X5gySyPus7j/VRm/ZcFQILHs1Rf4JnGaoycnIZrUDaBuu16Lk0hnzhTGrOAg1/MoLUKcOR6H53GhjNjTMcx473G2Mwri1XBnI1ZXW4vHe0zDcutTGmWg78IId+BzY/pYGH3BsUyGKaSsa8RytUU86lEflLX9K0xl+gfyBpNT5ArJWvXD+/66VxIIiPKrUrs6CbsDx1iYxUyh68x6HPPk3A4S3sb9bEz4NAAK/ui33wyc6hl+Q9DC6d+iMl/cH4KPCwrxAg6Qnw262cW3es+ulzwe+19KSNwqaDA4i85vvucohDnXkghIuP87m5Y/cRWJUpNnzW+qvIQDId6512qs/mPwcS3gnG4oHrbuU/dQzmjXLX8eWEOj7QlYabQU4n+862LkuBI+TMOVzM7Nzt9rtfGQEl8fd2UwZfOns8B1nHlsZZuOdTnXnKEBOHTInWUh5No4+I5Y81LAdBcrZCANwRsv4XGIHtIH309qwyW8ByUndZZI+DeaoWhSoHbnQ9iL+D5qq80h0jA7SVN6CGUHO/G+ymBON4y1AROyuW/2hIWIOVGsiEbgOrhNFaY7vrX6j9j/fPU/FIVgr6RqHwJcxBn//bvSg1IEOgSvbZNHJCeuylOwFJphkKEfqmTPcowPt0tMNahvUMPWZTnzM6LLw/h16IAmvkZjVErBXi4ioXYdpvAdwJCdw2EtfLCzWmKAGRa7MFwj464hXZ4mimPEVDaG8
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(23010399003)(1800799024)(56012099006)(4143699003)(11063799006)(6133799003)(22082099003)(18002099003)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?uZQTZ8W9NDpHj+0SAtPQJjc1ZRbW2T9PImpSTeX5r/so2023pUMo371csd?=
 =?iso-8859-1?Q?y5REwFaBTcVvK+qvHlXViGm+jm2bvMhZVi2cHVeK/O8ZmH9FdN7bPH2En/?=
 =?iso-8859-1?Q?QwP7yXJ+ngiFn+l/SPVSgViAno4JGZNfV26Ve9Tu+9zfRQUEcTCN1iEFPl?=
 =?iso-8859-1?Q?SxtmklpSrXC26jnmOyB/AmsUTE+KEeXrFKV4gk3Yi2LUmi5MdZfGor5ASD?=
 =?iso-8859-1?Q?0z5Y+kkuLEHjQmm/q69PWcts5ikIaB2MMYt2dBefXJoQVvX+Yzu651oCMQ?=
 =?iso-8859-1?Q?qzTQhy71J7GT/xbkEvwf8yrweCC+Vl6ksF7yG2Umy5Ajm6PI6usFFo2BAe?=
 =?iso-8859-1?Q?knxVjo1tU5lGVpUcg46ouzl9jySyB2lU/tw52bLcDM5gmID1mfWdTC0z81?=
 =?iso-8859-1?Q?+k+78+DJxFJa1OIfuEaXYeMsTuiAcXyGUBcXRUMzXNREmpeyDhcBkzppMx?=
 =?iso-8859-1?Q?DXBqUx0UZn2aHBXpOcVt64Qmsbt8qqQzmVRN188UqMVKvPY10k70iQjMKk?=
 =?iso-8859-1?Q?v5hE+wBMn1VEjfsf1eTcaKj961L/WWqiF5g8MIAEm6qKcU1RxcRHzZGuTX?=
 =?iso-8859-1?Q?gSEoaY1/zR5OlU3Z5ynFPpeOwSXS9pCx/0wqVOIO/Fc13yHi8WEW6k1Vgj?=
 =?iso-8859-1?Q?8yshTQUFXRc1T7rGpT4djjbTFrOdz3Jfj5Jj0LhY9mt4F2Bqu8nIgtrl1E?=
 =?iso-8859-1?Q?t0M7z1D2BeYr8p96cQdKDNt4rDD99LL9ZYIrUV6GgUg0+RrdU4YeOgOU/A?=
 =?iso-8859-1?Q?WXQM5yLmXoxWw2DwGCoqq79L8yrchMciT8lWuVN878n8PY00yUwp4EvLUG?=
 =?iso-8859-1?Q?4dZ7E55Bov/85IVx6I1ZLD9H0TJy/3QxDN8zuPE/xqm1xoBFeAf+/P/M6X?=
 =?iso-8859-1?Q?UXh6g192JgEIVrmhY2y1E9O/dNpVtWcke3L6wqq1SXfKQqNGF6oRwBVJW3?=
 =?iso-8859-1?Q?ZYnTW0ETGle5SDDcR9Ciqg7Ul5DbaNvbr3gvzmnDEXTFMllH1d7oD2GOWU?=
 =?iso-8859-1?Q?jBLcQK5goPzAHNszl2T0juFMuHq2VH25I1LNoZSCD1VRrV3c4rLS5PB2wP?=
 =?iso-8859-1?Q?0epve1bB9hli8Gk3aCs8Q+tbErmpeWGei/exm0q3GNjuJv1um91QSIIGXr?=
 =?iso-8859-1?Q?BNK2LaWeyMTT2vM4CsHMajQfcVH+6pRK+s/DYmrJxqih1veNVidtCBUH5e?=
 =?iso-8859-1?Q?CeDfhU5rJKNcsQiqYf05wS5MRHYKHk3PcH2HPXXssPZy8xvzDaGHU7Zyl3?=
 =?iso-8859-1?Q?B+2fu8VRtpgxWypxwXdoLFDFDd1+cZJy5dZk5e1P2FY2upvdbDjxnlGFtI?=
 =?iso-8859-1?Q?1PZaTTgPBMk6HuxUjyVl1IgvZb7BONGtZJ7+fgSbThH2IJiCzMDOHbdisX?=
 =?iso-8859-1?Q?rnt2GeRX9qg63D5sqBaHRK8jgY7WrEyvZmLhc29Jz7Vh0EJcZJx1Lj8FN+?=
 =?iso-8859-1?Q?jekIfG8WbIPrdaL7e00ZIYC1v+DQgqyTITtrbvhgaCpSo2lSLV1IIq5DXy?=
 =?iso-8859-1?Q?3M25BQU26ycjseOaB4/VobQxZjoxfkCQ3uV5BXhy2NRQYfZvQH5ROyb6Ub?=
 =?iso-8859-1?Q?bNRqFIS8gywQNKyW2y/xoFN4I8dchm/44jcFQlAO8dnYKQEzClGC9HubB5?=
 =?iso-8859-1?Q?3k4LfFhdfQ3cb+02UM9cYVoohnBG5qsWeg7Iwjuk4JIIzrbhSiB3nD7dqO?=
 =?iso-8859-1?Q?Zx4xjIbKFIXH7O2C8+3YUhhmq5klaQv0n/bq/AQUpzwDRLKy1dX9Sfv+Lx?=
 =?iso-8859-1?Q?V1BsQ1ClSxKUsgW7M/Spq4dKeiFo0D+kBcNKgp/U/TazoM?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BY1PR03MB7996.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 93277227-7ea5-45cb-159b-08decb0dfbdf
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jun 2026 18:43:25.3492
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: UQyV48IdXQsafv+wjPFIzCZOTn3mZuRu9HsMjMbeXjcKhlaT+36zBLb2rNY3WcgQkVUAdHOjHv19h8fS+9axAQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB7262
X-purgate-ID: tlsNG-d25034/1781549009-E0567CF5-0CC3EB1B/0/0
X-purgate-type: clean
X-purgate-size: 1052

>It's startup_32 not startup32.=A0 Yet we hand over in 64bit mode, so why=
=0A=
>is startup_32 relevant rather than startup_64?=0A=
=0A=
Probably just careless wording. I don't think it was the author's=0A=
intention to draw a distinction between 32 and 64.=0A=
=0A=
>I can't find any hard alignment restriction (beyond 4k).=A0 There is a=0A=
>check involving BP_kernel_alignment, which is set to 2M, which makes=0A=
>sense; it's the alignment we set Xen to too.=0A=
>So, what's the real bug/problem here?=0A=
=0A=
For normal kexec the userspace tools chop off the first part of the=0A=
kernel so everything aligns correctly.=0A=
=0A=
For Secure Boot we need to load the whole kernel unmodified to pass=0A=
the signature check and that means the startup function is not aligned=0A=
correctly anymore.=0A=
=0A=
We also changed the userspace tools to add padding to the start of the=0A=
kernel segment so the startup function is pushed out to the next 2M=0A=
byte boundary. So Secure Boot kexec does still work without this patch.=


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 18:43:54 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 18:43:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338512.1599548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZCHq-0003Vx-3R; Mon, 15 Jun 2026 18:43:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338512.1599548; Mon, 15 Jun 2026 18:43: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 1wZCHq-0003Vq-0E; Mon, 15 Jun 2026 18:43:54 +0000
Received: by outflank-mailman (input) for mailman id 1338512;
 Mon, 15 Jun 2026 18:43:52 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper3@citrix.com>) id 1wZCHo-0003U7-90
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 18:43:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZCHn-0075Ge-M3
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 20:43:51 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a3047e5-bab6-0a2a0a5309dd-0a2a4505c1e6-6
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 20:43:51 +0200
Received: from [209.85.128.41] (helo=mail-wm1-f41.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a3047e7-aaa8-0a2a45050019-d1558029ed36-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 20:43:51 +0200
Received: by mail-wm1-f41.google.com with SMTP id
 5b1f17b1804b1-490ac357c55so35785475e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 11:43:51 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490ea95c51dsm253809785e9.1.2026.06.15.11.43.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 15 Jun 2026 11:43: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1781549031; x=1782153831; 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=A/1/6OXQlnAPNmNdLEZZtcs4HQ4ofhXtcUfxTuix260=;
        b=aXlnx9peIQRNCRvKHvrm0iF8kkb6XAcpQCEXiTShnFDyOG/wxf0dOZZdAFaIW0C8dB
         BvUnao82dh18vscOFnVkrxFKxSy6Kpc7b81WcNQmbdPZMUgDmLpDUVB08yzVTKZBOhgo
         eS89IoxNlAQvF2BbF9oV88sVxbo13uDKgXpKo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781549031; x=1782153831;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=A/1/6OXQlnAPNmNdLEZZtcs4HQ4ofhXtcUfxTuix260=;
        b=dbzc/cGnGgJ2kOLmV7+3OExUPsrs3ctWFDVzjOtOqEbde+X/kJBqFchRZF8N6F4sbf
         a7fudtHlS3iYEMvLx29EWWBSuSeCCYQwvPD/xyA7Zl+KLdJxHAuKNH4WBDR7dG7xR0fU
         L8j2XF9kc1zdKJVGNag9mbhF8sD8/seairAOexwzryFuQsxO8eVIBcWgxfUhaZ/q1OMX
         U2DUgsC7VyFjYmV9CYKBinW6RvBqA99/TIkKbHLTt5tBPDPWpUwEob+2W51JlCTh/5ao
         4eqb+HISW1a25/ee8I/dKm4dDMYQ5KxNEgaHADtZTkyLg9844meZlOZNfMEnF2Uer5xP
         cLwA==
X-Gm-Message-State: AOJu0Yx+9dEnFsyGKqhYZydH2Pth5ZwO07aoaaHmg+QM0N36rQRTu4oE
	gdfpiMd8yjEMx51tBrHq5MbZY/Ta6wwbqRBW+LdsfybDJiF4ldx9VIWVgnwh6so+RCWqIc028YP
	ySY6F
X-Gm-Gg: Acq92OHZkwK1ymMjkeQX5aYpi/+qbwsIsT/3hgbfoxgufBAq4BP9efhWYs6K2ps6Q7R
	oNgB8nNdkd4FgKe2Cn0rxhQMj8meiXCayMk26ee6xRFLqnWm+mYzkgdsF2wkP2e0LgbcZv+C3eH
	nvyvDCGaZ/HLaq8emrG0UMt5KwhJgHy3ZbK1sIBcFMjV3IaaBJrL6edTo8mTilAqOiO+EGXt0nZ
	C3v8wsEI3oMABCEqxlWGvLpaBcR0MUk6/0XBNKsz44BJkMqyo9cfb0CYRelvkD+ncEAy9hfh1f4
	6Nq9TZFWL1lyZSwp7hsMCEjdMzVXPayC7ZxpQxmev0wOmeK+KWbkWH9jaJWTpCiGU8RwoXnavM0
	WbzjgClZ403w4bwRkINYg36BWVtZlWL3kZFNW23f87WIRMI8LNzd88E6I6wMnRxo19lZEraXy8R
	P+V+lg6amnAVa4JXkXaoUHo+Zigb+UFotgxGT8fJtc1XSOmaRksgfIUGuoK5X+aNySw8rL4uf3S
	Zf5
X-Received: by 2002:a05:600c:4711:b0:490:b8e2:6380 with SMTP id 5b1f17b1804b1-4922ff93bb3mr6522825e9.12.1781549030860;
        Mon, 15 Jun 2026 11:43:50 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Cody Zuschlag <cody.zuschlag@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 v4] docs/process: document AI-assisted patch tags
Date: Mon, 15 Jun 2026 19:43:48 +0100
Message-Id: <20260615184348.7804-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
X-purgate-ID: tlsNG-c201ff/1781549031-E2790443-47660529/0/0
X-purgate-type: clean
X-purgate-size: 2727

From: Cody Zuschlag <cody.zuschlag@gmail.com>

Add documentation for the Assisted-by tag to clarify how
AI-assisted tooling may be disclosed in Xen patches.

The guidance follows the Linux kernel documentation.

Assisted-by: ChatGPT:gpt-5.5
Signed-off-by: Cody Zuschlag <cody.zuschlag@gmail.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>

v4:
 * Make it a well-formed patch
 * Remove reference to tools which don't work in the Xen tree
---
 docs/process/sending-patches.pandoc | 31 +++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/docs/process/sending-patches.pandoc b/docs/process/sending-patches.pandoc
index 798ecceb39d1..b924fa2b87b2 100644
--- a/docs/process/sending-patches.pandoc
+++ b/docs/process/sending-patches.pandoc
@@ -195,6 +195,28 @@ E.g.:
 
     Requested-by: Jane Doe <jane.doe@example.org>
 
+### Assisted-by:
+
+When AI tools contribute to Xen development, proper attribution
+helps track the evolving role of AI in the development process.
+Contributions should include an `Assisted-by:` tag in the
+following format:
+
+    Assisted-by: AGENT_NAME:MODEL_VERSION [, ...]
+
+Where:
+
+* `AGENT_NAME` is the name of the AI tool or framework
+* `MODEL_VERSION` is the specific model version used
+
+Basic development tools (git, gcc, make, editors) should not be listed.
+Specialised but deterministic tools may optionally be listed, but their use
+should be clear from other context in the commit message.
+
+Example:
+
+    Assisted-by: Claude:claude-3-opus
+
 ### Signed-off-by:
 
 This mandatory tag specifies the author(s) of a patch (for each author a
@@ -209,6 +231,15 @@ E.g.:
 The author must be a natural person (not a team or just a company) and the
 `Signed-off-by:` tag must include the real name of the author (no pseudonym).
 
+AI agents MUST NOT add `Signed-off-by:` tags. Only humans can legally
+certify the Developer Certificate of Origin (DCO). The human submitter
+is responsible for:
+
+* Reviewing all AI-generated code
+* Ensuring compliance with licensing requirements
+* Adding their own `Signed-off-by:` tag to certify the DCO
+* Taking full responsibility for the contribution
+
 By signing the patch with her/his name the author explicitly confirms to have
 made the contribution conforming to the `Developer's Certificate of Origin`:
 

base-commit: efcb4c5e2f2734cd4cac38a9f01e03c5e54c8eb8
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 19:17:58 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 19:17:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338526.1599557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZCoY-00088c-HM; Mon, 15 Jun 2026 19:17:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338526.1599557; Mon, 15 Jun 2026 19: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 1wZCoY-00088V-E3; Mon, 15 Jun 2026 19:17:42 +0000
Received: by outflank-mailman (input) for mailman id 1338526;
 Mon, 15 Jun 2026 19:17:42 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wZCoX-00088P-Qc
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 19:17:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZCoV-001jJQ-3K
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 21:17:39 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a304f86-5cb7-0a2a0a5109dd-0a2a450cbaf8-36
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 21:17:39 +0200
Received: from [52.101.53.36]
 (helo=BL0PR03CU003.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a304fd1-62f1-0a2a450c0019-34653524f828-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 21:17:38 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by CH3PR03MB7344.namprd03.prod.outlook.com (2603:10b6:610:1a8::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Mon, 15 Jun
 2026 19:17:36 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.015; Mon, 15 Jun 2026
 19:17: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=fzl7QNj4Yb8wEjShLT5DgdA1p7+vRcXi0szg7E3szmcXzrkehpEG0J+HDDjHsns+Hs8UNxV88NtlafENF5JTo5AjIYO6lgBBNjl4OXoxh8bvxoWbKWMrWYF8Whg0mV3EzldX1roRFnSigNDJF4eziloMKMeF8/gFforpV/xXXbp1J4ZMONHGavHrcxCR3tAMNBKALifElXnMKOOgbk1Whip5icBfUoAigoagCh5FaWOxQ1E5f/MazHTbjhqdrs+DBzGOO7wvMA9ddbUsEYTSTwwD2AWfMjPKD71ymt1Rgyz+QWSYf2d5B5ekLoENyd+4r+rd3OWLIitXjK6wg9t+HA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZTGX1K6vuvY9CuOVd9AMvsVJoCCn9HzNjeI6FWxJaF4=;
 b=psuiKTbKHUViM4Xms9uwZVg/F9yWDZTX7VO7dXNE9xr/ROBHOI+W9pSqRqEpauzojKiiGunURM6l4hBpA/7hNVcpWe+S54ov7URS7MFhLXsQxj1t6zKJ9KbwS4+aw8B5KZe/+xsW4nf1SSbGM14AF6WnrCWsw3WcjFivk5cxxM5wEIRzuIaos3GM8EKQuiHrGPs9FLpzQCNbhCj9fteo8L7tvGqQse0CggT05DV7MS8tnnjjyWdfLOzTvBBK1DjzrHAI8qbb8zVtFcxzk/2pvF5KdUvp6v2STeFGlheSx+QqHTa2aWFO430/nwzChnae8sBDWlB0Z1eakCUkFlLGRQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZTGX1K6vuvY9CuOVd9AMvsVJoCCn9HzNjeI6FWxJaF4=;
 b=ZIbfg5lZF/N4rAcFobVTCcjJr1VhgYvAesN24bu702nB936BDF+pEvriWbhpDUwedCOk2DTJq9hKj/6ypN2AhQnZAESWtVBl8uCMZATFduB4J++GEzG6olsNcDpIxFGFgWXxVU8u6dBjmba6tIuVGHaNlpE7VcMU5rNSCn9SuMI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 15 Jun 2026 21:17:32 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Cody Zuschlag <cody.zuschlag@gmail.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v4] docs/process: document AI-assisted patch tags
Message-ID: <ajBPzKlWJAePD7rW@macbook.local>
References: <20260615184348.7804-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20260615184348.7804-1-andrew.cooper3@citrix.com>
X-ClientProxiedBy: MR1P264CA0111.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:50::11) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|CH3PR03MB7344:EE_
X-MS-Office365-Filtering-Correlation-Id: 53d4e5ec-cf13-4103-ab28-08decb12c229
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|376014|366016|1800799024|56012099006|11063799006|6133799003|3023799007|5023799004|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	ZolL9Kxdju7w5GTCS4eE3DahcNV/qQMZNNwnLT77gBVXTOZDYjyNBT5wshQJgXJy8NCDUCsE/UZcA7VCAwJ+sZSCiGIuTnacIWBtyCNuu2S5kf39QRJsXVe5IMO0OWtzqCQy17EVuCS6KkCvPHQwn1ns9M5mg/UPVTZSosynHiuOQbnZv9jPpVeMjw58VgWz0HARQh/tcVraszWfxjy/pANoo43U9QRWAuhT+iBh5unp1Lhs1IKOiov3P6CxpPBBm7fJUQZJlnICaRqoUA6KPLdZePVOIIbvvYHl6/gt3Dsihf4Sq954JNtJsta3QdAXMRNiVRcCaxLDcivm8ktLX8f4fdGzSDXcQyk5HTwEEL6FF6dSvBjQE6ea7JcvED58YH41E8o4iMovMLAaYpfdZT3/Eic7nJn4F0N7z8RNY65GoxB1nTJNp6d4mgxzaCrG/gc73sKvKn5Rh/Hu0IYh6jKb6ukxf7jSl60EaX7h00Bi6Rbjt9UgT0IqjI80XPUKnUy90MMhKsOqXYrCEnCf4SB9b4noHdfRQnydKJlIGTaBRkpwHWmb+tr0ZZU1IRMiNK/viuku5xqJaIyULwLH+Cu/tCOxvdSjTwa0MVlIt8mkURJwl9LJlYmnaCrUR4zB+Z6RJBqrIOCHSO4+cQ9DO+BXojqHWNz/ays4Hneic3g+zBG8G9v6bXLv00qXh3LQ
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(366016)(1800799024)(56012099006)(11063799006)(6133799003)(3023799007)(5023799004)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QmVBdzR1eW9Wd1dyYnVDWkpBMVZ0RW0rRnUySTIzaU1aV1NkNXdTUGpKM0ZG?=
 =?utf-8?B?cFQ2VGVzeEVhRE0wVnpPMWU2QjRZVWIrRWxaSysydHVwb3JzR1ArWVNlOW5p?=
 =?utf-8?B?b0d2VDEzdlE4bVRhUnZOMnVSL1NORWR4YTQ0NkkwWEN4Y0d5Q3FGRXBIakVT?=
 =?utf-8?B?VS9BK01OSUVBYkxXbE82dmZKSlp1SDducnJHbmltaEQrTktkcVRnQVE4dDFQ?=
 =?utf-8?B?OStoSnZ3UjJDYzNPQTFwNlZDTGV6Y1k3QVl4N0wrNlJzNzB6ZU1nL1BDUHhD?=
 =?utf-8?B?R3I2a2lRREdIeDVPN0hSUk9yRDNEU0hEekV5TzFOcDVKMnZPc1Y5d0phYXk2?=
 =?utf-8?B?YXpkN3FUaDNMTmVqQldGd25GRkZBTnYrWmViZ0Zld3cyYmxQZi9JWEU5QVRF?=
 =?utf-8?B?b0hIc3I1SDdaeXF6S2E4Q2NZWnRJT0dLdXNVb3VGMHFwQ2ZydkozWFNTTDJj?=
 =?utf-8?B?amVMc0F4VDZCSjBNY1NqQWRxSG16RWt0MU91b1pHeUp6NkNyV0pJdlN1Zzhp?=
 =?utf-8?B?dFhNMXM2VXRXc2ZJNlNhVFN0VlJaaExaVDJzVy9EeXhKZWZZYlg5cXNLUzM0?=
 =?utf-8?B?SjBxNzQxSko0dDJEUy9JUHJ4d0lTWmJhQlVncmhCSmlwa1N1K01ZQ0tGK05h?=
 =?utf-8?B?UlhvY1ZwaXVoSGJxVldEazAzRXZwSXdwZzBwcU9iZUNjU3FhNVNjektISDhQ?=
 =?utf-8?B?SVRPNytDK1dHWE9vSWhKK3pNY0luRVAyUG1GMEJ4OHBxTFhNUVlQVDlhTjRJ?=
 =?utf-8?B?dVRsRmlOcDIvM1ZjSnBKMngrS3BnNXZrdktvVWw3SlRlQTExU0FuMTRVcmY5?=
 =?utf-8?B?dXEwMHdSM1dDL1lrK3I3SmhTZVVwY3pRT2w0bUtWbnpGSkRVRVZwT051akhx?=
 =?utf-8?B?WmRiYTlGWklJTmdiTVRCeEZBaUg0SnRqOXlWMGhBemhZNXRXSDdWL2ZWb0V4?=
 =?utf-8?B?YmlaRnduazgxNlcrM2VpdzlLdFhoN3A0WDVNSmw2c2VkejR1Zm1MYlFRaXFI?=
 =?utf-8?B?aTBVRnRlUVlLc1JGbDFvOHlsdTF4T2U5SG83SnRHN1lMd2xFRXRWckdUWjZX?=
 =?utf-8?B?ckFRRlFxL3FhTUVDSE02WW03a1hFL1h5OGkybWZoTk1kZmpDSjRBeVA5QXYz?=
 =?utf-8?B?MVp0WkY3Z0RhRlUzeDRZb280TDJlWVdZL1B5Y1NjZ20zMmcwY0tRVHBXK0d1?=
 =?utf-8?B?VEM3dlFvQXYxZjVXdEhwdDNpU0dmWDgxV09HMFgzRW0yOXo5b2RMNU1JNCs0?=
 =?utf-8?B?RFF4ZzRFYVZCK2tzTnNyU1lzTEdvQXVPdzlNeVlkbUk5dnJxMkRzaHc1UkpB?=
 =?utf-8?B?SWhGazRZVnV4TEJraE9VQVJwTitpMFE4M3BtNTFBQXpQZnRMRGVRbFArWWRN?=
 =?utf-8?B?NWptMGpuRXBqNDhiWU43ZzdNK080VnEyTVNwME95QmNnUTZVaFNOUDd4ZnVt?=
 =?utf-8?B?VFFtLy9UMUlKNkR0L2ZLL1NDMFJxMjY5WjQ5TUptNmRhWTF5LzFEWlIxSUJL?=
 =?utf-8?B?TWtjeFpoRk5iOER4TEIxTE9INHB6R0o0bng1bDVUd0EwKytJOTBEcU00ZW5w?=
 =?utf-8?B?anN1WEorWWRlMDRSRjFRTWl0Q21EWWwzN29EZ0JDcldTc3FkSVN0MUVTZVM0?=
 =?utf-8?B?N1p4cnpDZmxjQzc5T2NZL1RFdkcyVklGV1pwSXdyelZTaWN6aGFSakIrTk5z?=
 =?utf-8?B?VFpPb2ZxT1pHY3I0emREOHJFQUhKc0ZHUTMrR3pCZUN4VHhKWnJUaXN2Rjc2?=
 =?utf-8?B?QUVHYnlURitteE9QdE8zZ21mUTBuNmNLcG9HZ2pMQTE5cmY4M0U0OGNjN2x4?=
 =?utf-8?B?eXFJQ0dIZG9PUnFWaFdKZ2pQYldWUkozT005Q3huTmVTMzk5Z1RacG84M04z?=
 =?utf-8?B?UHBCRWtpbkxjYS9kSUVzbDMxeCtqeUEyWGg0aU5RaDlkUnNzQUxaamJNYzF2?=
 =?utf-8?B?Nk55ekhVVDF6UGZ6S2lJRnQwTjNONFhmOEFucFBSU043akZWVEs2TlJER0Zn?=
 =?utf-8?B?azBjMDVnZ1RiNjMwc05WVFkzeTdha1VpSnMwV1lHWW1pMTdoMVMxMUY5Z0hk?=
 =?utf-8?B?MlVYbTdOZXp3Q2F3cXozLzlpcHpvWi9EdFFaSE1wS2d4VkJ5bUJYVXZwUHE2?=
 =?utf-8?B?cFRpbE15blBaWTM3S2Ztc2w2ME16Vkhxd3BQU0c1TW9uaE0wdEpnakRtZ2Vp?=
 =?utf-8?B?NEkrWmhLeUl0UGZiYzluQW5OVjlUaUYvaFgrdTVHL2ZJQTgyaGFOOUk4ZmpT?=
 =?utf-8?B?WVljZ0RhWk9YSnpKcFU1QTljajdUOW5Ca25MclNNN1pweHhDa3hkYTdTYTU3?=
 =?utf-8?B?Zy83ckUrZlFINEJIOGxJNytyWUlTcC9RMnR0dll3Z3ZGWkFKRy9jUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 53d4e5ec-cf13-4103-ab28-08decb12c229
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2026 19:17:36.2060
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 33J32VAVx0cTjex8PwGQVBwB7VmEoKfaXE0LC2IPfHIgmq6mRYk4N77S8W0mUWE+LDn07ew3F38DFAkv+9s7XA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR03MB7344
X-purgate-ID: tlsNG-d25034/1781551059-DBD7BCF5-55F0D674/0/0
X-purgate-type: clean
X-purgate-size: 828

On Mon, Jun 15, 2026 at 07:43:48PM +0100, Andrew Cooper wrote:
> From: Cody Zuschlag <cody.zuschlag@gmail.com>
> 
> Add documentation for the Assisted-by tag to clarify how
> AI-assisted tooling may be disclosed in Xen patches.
> 
> The guidance follows the Linux kernel documentation.
> 
> Assisted-by: ChatGPT:gpt-5.5

Really, seeing how it managed to mangle an otherwise extremely simple
patch to the point that required manual fixup to apply I would
consider removing this Assisted-by.

The wording is verbatim from Linux, and Andrew is the one that has
adjusted the chunks plus removed the inapplicable references.

> Signed-off-by: Cody Zuschlag <cody.zuschlag@gmail.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 19:22:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 19:22:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338536.1599583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZCtJ-0001Rd-6d; Mon, 15 Jun 2026 19:22:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338536.1599583; Mon, 15 Jun 2026 19:22: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 1wZCtJ-0001RW-3q; Mon, 15 Jun 2026 19:22:37 +0000
Received: by outflank-mailman (input) for mailman id 1338536;
 Mon, 15 Jun 2026 19:22:35 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wZCtH-0001RJ-No
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 19:22:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZCtH-008Ihy-1A
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 21:22:35 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3050c0-bab6-0a2a0a5309dd-0a2a4506abd2-48
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 21:22:34 +0200
Received: from [40.93.195.14]
 (helo=SN4PR2101CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3050f9-7371-0a2a45060019-285dc30e8cff-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 21:22:34 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by LV3PR03MB7588.namprd03.prod.outlook.com (2603:10b6:408:282::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Mon, 15 Jun
 2026 19:22:31 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.015; Mon, 15 Jun 2026
 19:22: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bUzV4oU2uLJH+tMvBJTA2VCId8L7vC1wEhHLzmQfXR/sWqYHTgra7ISS8CrbRpu31LpwKTDpYLYeaQgmuuUs68c3zUmn1AUHm2tATyJGWYBxWc6l344TKNtg5YDAdii10W+5f+Ql9mJdS/D+nA0faLMWGH/4eiayYRkmCXXCh6xFAMGO9swBBiFQpe6IpOhA4kNscK+iqqjV581NM1BkDwilGgEM3zO2S+dI35kPQoO57YBNwriAqtBBzyxZL5XiomWsYfEk14aVamsKO7OfFw3NvH+v+a6QC/PNRQksAXJplYzkigP4hQaPxO9gGEizYJVHobmuQD7V20wQvo3Llw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FecxwQS6kcbeT4bx3k9WML8Vxo1g1CpGIYKKV8HUbgM=;
 b=qdWnaBpNEDv+POC/WzF/Nyfv0G75/MovK93HOOKAI+NIn3xnPzrNheNqu8APmaDx8PPImIhrDV6QUxuvfhyeZ5Q9kywsVup+6gFuAjXmdIOX82aWzgAqOydUFMWghfUVMKnPKWs+yObXyq1PgUzKVg7QfEBOSH5yx/wC6MNb5ufVA5QTkV97hoSkCgOSnseoqqn2uMLaL1uPyTF5uU8bPHXVqDD6MC9TLIzQHHYUaG53Oi6DdnF/C49nerH+4ue8LIyOKGGnmN/zdvCWgQ3P9s2FRHG59wpUbAKZ3yjTkfy0Zc8jfeI1bm4jW1KjwVpeqsKMsM4HsLIXnYMhLQMmTg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FecxwQS6kcbeT4bx3k9WML8Vxo1g1CpGIYKKV8HUbgM=;
 b=BdcaQdGP8jvfiUNePPkVaSUfQX5MQaBVjCctPWqr0o3V/ErZgShQ1vR3ZxmB7XqF5dztAeqVU5/PsuWkubaJa69SnWp8qCHR6Dm2o+FgmKTLfwMVLKNBUweUYCGEoqAyQHmWUUHm07iqzouUON1KLuOxUNphIUz4vyGixplhi/M=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 15 Jun 2026 21:22:28 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH 2/2] xen/cpufreq: fix usages of align_timer() in the
 on-demand governor
Message-ID: <ajBQ9G0_M8WIdUQn@macbook.local>
References: <20260227073259.1200-1-roger.pau@citrix.com>
 <20260227073259.1200-3-roger.pau@citrix.com>
 <d00f8d01-33c2-4b43-9ca5-c7aa98488ff2@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <d00f8d01-33c2-4b43-9ca5-c7aa98488ff2@amd.com>
X-ClientProxiedBy: MR1P264CA0127.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:51::13) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|LV3PR03MB7588:EE_
X-MS-Office365-Filtering-Correlation-Id: b9c27d66-3946-4c47-6638-08decb137226
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|23010399003|1800799024|56012099006|4143699003|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	3WwGcXB3OmJtOfLgCfbsoNI+3RVYO70IZ7Jd//QMhHPGA+t1j2SV/r/SubizMMuzDZuhOLqqJei4e3YCUwDH+0wf0bROBRZLRMu1R5kbM19YGVlnS5fkztz/nrwR4QpxTX1JccQVUtD7AM2WwcfosR0rTBUWSozucarEG/VNH2NiLebXhgHmuX/HAIinqjvmZCjatgPV/AKnZaXrcH0VZQWjujzD67x7Js1YsTB/PiIymtUKqqqujUs7KETeQ0yav/oP+YHFmy7K8D7UoQ+bxvpaDqKPAh03J9QQWM+JwU4s3xT3O1Px85OOWD5yVk513qJsiFxmGKKU/TtulykLZ85JV9NT0CdtpCwJBKt0PACBqyto6aeGQGhtFCgYrNMmZeIF1WH73X12A4caaC3YJg25WPhfm/6gg2tgo5kmswGDUepSxEuMSCV+wbvt2CSu9XpMEgWnXsK0MCIxUdJ5ZD03MJS1U1N/leveOoSiYQLcrcilSGP/UGWgabT58+GUe16AQkiiVZQHiN5RTvXqfiWqQvOYT5QlmthJUjvVSjyI4MwE/6QLMCA7TP2O2boedKpci99ShqkvR+krMJQOPobZJEjXPMh0FbAUSjkt4BdwJojjIGOTxitpFLuQXzTpPB1NuicLhH47dqjx03pn4YEVDRwuWlT9lPGGf/pBRjy5SmJIKzQPfNcXrbiwnfgJ
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(23010399003)(1800799024)(56012099006)(4143699003)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MW9NRGZzNUxGTTdLTVlvVzFlby8wMEJOcXhodStabFh1MjEwTVJiY3FLU0VN?=
 =?utf-8?B?WlpSVnkzekVwQVM0NWt0SktHaXJhckV4Z0s5NERib1d6MzJhc0ZmWm1GS09H?=
 =?utf-8?B?M2xlZUp5SE5sTzYva1A3a2FUVVB1N2hNYldXZXFMcENUbzdUUndpS0lZeUJN?=
 =?utf-8?B?bW9FZlBYRXltVWpEUGRXUmpJU3c4SERMeVBkQXJsZWl1d0V0R0VjRVFuTURl?=
 =?utf-8?B?bysyTURQRTdWQ1JTaWhtVE9Tb2pQVngza2xjcDFPbFZnYUxXS2VNZDBBck41?=
 =?utf-8?B?MGN0V2dEZXFjaHRsazgxMnhXMVJlQ012dEF0L3FQT2N4bysyMEt0OTU3TjUv?=
 =?utf-8?B?MlhheGVxOHhRT0xuQitIeDBKMURBU0sxc1Erb0hwR3lIUDhzQlk2RU5MTXJV?=
 =?utf-8?B?Sk10MFBlbUQyc1gwR085eGZrcUFPWnFNdlV1UGJSZURRUXJRamhmMlJITWlh?=
 =?utf-8?B?aFZ4a1V0VmtTVnFmbGJZTmJpc0k5VmlUam9la2VoaG1oWnVxWUx2N0ZEZU5z?=
 =?utf-8?B?cGZMZXJoVk5pSVRmd3ZTdThpQXcxL1VoUmRrWTk0Q0V5b3c5REVRSm0rRGlE?=
 =?utf-8?B?WVBnTnBDWFdRbEhNaDJlQnBodnpSdUpxa0d2SDRrdmFOMi9ZRCtlbUQ0SzlE?=
 =?utf-8?B?NENaanhzRUFLMzQrWlBPa1NDTkFjVjFyeVZ6RGdaazE5L0JZUkpSdGxOUy9w?=
 =?utf-8?B?NWpZWW1aK1dmc0pFT3BFc1lJbjZtUmdXZWZLR2RsTWZvUFZ4QzBQOVVjd3k1?=
 =?utf-8?B?ejM1THBCK0FBTGxoRldnU0cxeGo4cWozVHFPQmZMTWpOLzRFNXd0MDV2aTdn?=
 =?utf-8?B?dkFYYk85akdJdXZ0SUNOWDRlajdYOWFPNXNIVzM0QTlXbzU3TlljelUrV2JM?=
 =?utf-8?B?VVpmKzJRVGNNenNydHlEVzdhby8wYWJpcXVJZHhEQXNyUWpjV0VyUm5RckMr?=
 =?utf-8?B?WWFKOEJqZkl2bXZMd2ZqcnJsZngyZWR0amFHWUx2WXFQVWhiV0trTVYvTEpF?=
 =?utf-8?B?SzB6dEcvQjQxS3NhNUpFdkNXc3FDekhzaGdkZW5BTzFjWGdKbERReXM3Skx5?=
 =?utf-8?B?VVhMQi9ORW9DN0ZpcVhHbmg5R3IvMlhVTnlQYlJxeGQ4Unp5OU55dTFtUlpy?=
 =?utf-8?B?aVYremRCY2JRMlNGalBrZUd4ZmNUa3VEMFBzOEpOMkZoQkZMbUFFd1BLTTdE?=
 =?utf-8?B?MTg3RXVSd3lVdC81d2JQM2Y3aHNTS0VzSlkrbHJKYjRETWhtQTBZTEVMbkhn?=
 =?utf-8?B?RzJEdFVncFJBWjkweEZTcXJrN1Y2M0JBK0tYL0FESkhxOU02WllyZWdjSXdJ?=
 =?utf-8?B?Um5vSjkreUMzYklBaWtoeDZiMWE1QlJ4S2VQTmxhdTVlT20zTXJQVGpXZnFn?=
 =?utf-8?B?U1d0N1RxYTNicGxGMGJOS0xyMGJKNlJzNU5sNjUrdUNCMTQ0QWhsMlRTem9M?=
 =?utf-8?B?M0gwb3drVy9OYXNXSWgzREE4ZFIvK0JlcFlaN2xYeWVjNWpxbDFlQjkyMFhx?=
 =?utf-8?B?SklMcEJHQzJJTmE4eW10MkhDVStrSkdzQUd3cnZaV3ZWMUxyUkJzN1pleU9S?=
 =?utf-8?B?ei9QcVpFdmxKdURiK2RXU0FqdHZWdGJnWnV5U1p3TU9NKzJZNkhCcU5hUzVB?=
 =?utf-8?B?ekw4YzBwTnFOZ3lwRGtmWGl4bTJlenZKQ2FYdlJTN014eStnTnh5WHFZazBK?=
 =?utf-8?B?d29SWGFJd2Q5MEk0MTB1WkpuZ0hhcmt6RlIydGU0bGJ4S2ltWDhTUGlJRkx2?=
 =?utf-8?B?cjNydnRWeGUrQnBvam4vRnZWdm1lM2lkRWVXdHZKQmFXRWtpS24wRmdkYmxp?=
 =?utf-8?B?dTV6QjRZdWtvK3UzNjlrQlBpb3lSbVFmK3Q3eFlOL3VCQmh1RlFIdXNnUnJs?=
 =?utf-8?B?RkpRZGJnN3hlU0thNWtLVmJNNVpZTmJGenZYMDlRSENTQWtQbldxdHI4OUN3?=
 =?utf-8?B?UjVHOW43dnNqVmVqV01MTUMyejltb0wzM1JNTDZiYWVhSFJ4b0RyTFdsdWYx?=
 =?utf-8?B?MVRoODdHUVZmckhQMThnYUF5RDB5Zm10NXVJQmhYaDVaY09MWktzdEI1ejRF?=
 =?utf-8?B?SjVXb1JPd096VEVMQnVxc1hCQXdWMy9LRnlHWjJ5VDgxSGtDRjVjbGhYU09D?=
 =?utf-8?B?MXh2WGlESXFrdGZ6Z2hNMDMzZFJ0U1c0YVhOY3pLYThlbzc2L0greXozL1Bl?=
 =?utf-8?B?MEhTcHdZbENyWXFLcUtSUlNKM3dRMTZvSnNHM2oxZEFiekxSblNKa1RaOFZa?=
 =?utf-8?B?dndEeWgrRGpNWkZSSTlJNEhxWVh2L0pQTXFBcXV0TlpwMTMzUFdQOFJiei9a?=
 =?utf-8?B?N29UM3g1UlFzczFVenNONnN4WmZnV2J0UmNJN1k5STgrd3Z5TStoUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b9c27d66-3946-4c47-6638-08decb137226
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2026 19:22:31.5861
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1RXkv0cZc7//lIO2B0Gx8HXqc2LZcvTRGFAijCrgrxGk3cACJajW++R4gJeUuQ0xQ02fDSAZjnRH+Pt48e6qCQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7588
X-purgate-ID: tlsNG-16d1c6/1781551354-7FF7BD75-577810C0/0/0
X-purgate-type: clean
X-purgate-size: 1543

On Mon, Jun 15, 2026 at 01:44:54PM -0400, Jason Andryuk wrote:
> On 2026-02-27 02:32, Roger Pau Monne wrote:
> > The first parameter passed to align_timer() is the timer expiration, not
> > the current time.  Adjust the calls to align_timer() in the on-demand
> > governor to pass the expected timer expiration as the first parameter.
> 
> Internally, we have a report of a benchmark regressing ~6% with this change
> on 4.20.
> 
> s_time_t align_timer(s_time_t firsttick, uint64_t period)
> {
>     if ( !period )
>         return firsttick;
> 
>     return firsttick + (period - 1) - ((firsttick - 1) % period);
> }
> 
> The code rounds firsttick up to the next period:
> 
> align_timer(0, period)          -> 0
> align_timer(1, period)          -> period
> align_timer(period - 1, period) -> period
> align_timer(period, period)     -> period
> align_timer(period + 1, period) -> 2 * period
> 
> With the change of this patch adding the period before calling
> align_timer(), the timer is set for two periods in the future.  The only
> exception is when firsttick % period == 0.  I think that is unlikely to
> happen since NOW() will always be a little after the period.  Even if it did
> happen, the timer would fire immediately, but the next timer would be set
> for 1 period later.
> 
> So I think we want to revert?

Forgot to mention in the first reply, as I went straight into the
technical side: thanks for finding and reporting this, we can
hopefully get it sorted before the release.

Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 19:32:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 19:32:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338550.1599609 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZD2M-0003OU-B1; Mon, 15 Jun 2026 19:31:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338550.1599609; Mon, 15 Jun 2026 19: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 1wZD2M-0003ON-6p; Mon, 15 Jun 2026 19:31:58 +0000
Received: by outflank-mailman (input) for mailman id 1338550;
 Mon, 15 Jun 2026 19:31:56 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wZD2K-0003O1-Mz
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 19:31:56 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZD2K-007ABX-3b
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 21:31:56 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a305325-2eae-0a2a0a5409dd-0a2a4503974a-8
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 21:31:55 +0200
Received: from [52.101.85.27]
 (helo=BYAPR05CU005.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a30532a-672d-0a2a45030019-3465551b0da2-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 21:31:55 +0200
Received: from SJ0PR03CA0053.namprd03.prod.outlook.com (2603:10b6:a03:33e::28)
 by BY5PR12MB4164.namprd12.prod.outlook.com (2603:10b6:a03:207::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Mon, 15 Jun
 2026 19:31:49 +0000
Received: from SJ5PEPF000001EE.namprd05.prod.outlook.com
 (2603:10b6:a03:33e:cafe::a8) by SJ0PR03CA0053.outlook.office365.com
 (2603:10b6:a03:33e::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.113.18 via Frontend Transport; Mon,
 15 Jun 2026 19:31:49 +0000
Received: from satlexmb07.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_256_GCM_SHA384) id
 15.21.139.8 via Frontend Transport; Mon, 15 Jun 2026 19:31:48 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 15 Jun
 2026 14:31:48 -0500
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 15 Jun
 2026 14:31:48 -0500
Received: from [172.21.53.33] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Mon, 15 Jun 2026 14:31: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Q16iGFgKWYQnmdhkXpFJsSS2XvH0MtSS+HJQvKfQzhWSZFVsLHUyvWsHhWDZWIZvMPRZHhayGM/1ijBp4Q2oVsHDJqbeo2hU4ZGdOE5avBSQZJcxXbXDDnMXel7YbfnIAL9Ek7a6TR0wOOe6IcSG0Nof4xcXmXUBvpU8MUJYiaU77O+6RjHH14oHhuXaGZ2i6umZSgfX8R1Vj2c0/oaKr84Kt9rNzk0+0wl5nTXWPQSC+zcahS5BlpHPKe3QXomrzt6EHoRcZKNK6OxMNWhI9UB1qEYTeFAZTLspFQV3xSjQD+QJWK/tSymeCaYPL3oDoy3TSMv154AetUxyok/k+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=32/HDYwV3U+rT5UP/W3xk6EvChPv0wrqIhFs5/uVG/Q=;
 b=skoxoBD/s0THAyjJl3MjQ0AAVx9BioTDIpgr0wFAjZflclTYvNXnh2R6kvM8+tRLiXPo9RJeYPM4ZvZ1Uz7YvHH8OkIYATDeJ5eVhkKu9QuC7E6uSsiLz7r2q5HigLiYm0o8Wxf5joOz9F11yPNAlroRedgq9tspbydHNQ2xU67FNNEeSa9cggUya223Xd8Qyd/3gyFKUnrlsK4tULrMB/vTpZ77YX1QPCB55EY2cDwGq3LeEjdQAlLbZxRhkAl4Y4Z59W7BMt2fsd/hp44YYNJV5qkRXe1KK10r5KGBvjal/U4JTPVsuOAXDyyS2jYJ/QOhXTExbvBAmxHBeFUMBA==
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=32/HDYwV3U+rT5UP/W3xk6EvChPv0wrqIhFs5/uVG/Q=;
 b=DzqKEtzP7C5NFtQg4/fiuCxVi4PElIWp2+4AsS6NOcS11S6pr6T3+jwGSghGfPgMWwQezEd8bKEtYKS/+D0/43Bo7aW+6bb05uKep1N/Nlzg0e2Y9s2vvA5ZHdyWXOs3Hm+eHjbFpQxQ/fjvWR16Z/D/IawnzehoXoxZ2bPNcMA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <35b84d51-6942-4d2d-ad07-e9d464013ef4@amd.com>
Date: Mon, 15 Jun 2026 15:31:47 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] xen/cpufreq: fix usages of align_timer() in the
 on-demand governor
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: <20260227073259.1200-1-roger.pau@citrix.com>
 <20260227073259.1200-3-roger.pau@citrix.com>
 <d00f8d01-33c2-4b43-9ca5-c7aa98488ff2@amd.com>
 <ajBFYYY83dmeM4Kp@macbook.local>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <ajBFYYY83dmeM4Kp@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: SJ5PEPF000001EE:EE_|BY5PR12MB4164:EE_
X-MS-Office365-Filtering-Correlation-Id: c97d2ff4-b6c5-473e-d558-08decb14be9a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|376014|23010399003|36860700016|22082099003|18002099003|6133799003|56012099006|4143699003|11063799006;
X-Microsoft-Antispam-Message-Info:
	gCJs1I+Ey/h4Y8PwJMYH0FxZrT7QB6xyozuiUUTBax6vEJWazEpTLRCS/okZw7/AG8V8BhkKvU9wARHlafHvlBR0U3ryC1xqjeJTCjqn+M5dFbGk2yjOXb8LtxSF9t0QlCMXmsae2zFg7TuLZP/ZqwwZcLMgcP07PC6vB9pYhNNVttOqRwFzQP41eWUBm3P1O0o5SO+pN/vlxDY6SuiodmVaqAF6vk9hIauLe8eUkaHTJ3LcoFtjpFzQYxUt2e/yp8kISJ4aH8i03CrcXQXQT0nvoW68/vNywfOQYZdXNRwcnpX15HQwKTmyf/KSl4O+tsyxxB+KoLcN9kPTpuC2KINqsIhbolCLAPbh2Vyfl7PaVAujSWBNYL7jM9dX0tZGgnJwwZt7lMgbU/fuuqNUdgl+r4s/11iDQhgP9PG6R3FFFmNE7K7ZGClrzEqavYFGdDMRELveZvIITSVOqf1sQ2/yZLfxeRbSGS1YNWic1yjLjrrMP7F2fAHJzCYwe525O60BioV9wDJsWyBcGkTq9j9hIunBKW9uKfyLp1kvOje91SMZFzZ5BFtneUxO4eMvEhbFhXFr07Oj0u37VRbycu27yTuQorvaNbMUhrzGVHgDGG2iMGPTNe15KOx4cPS1tk0us3WAVIS1yi8TINQ+vH2Ta2RILTm34a3wOOhHlSbtYIyUZx4VRWUc0Yd3NHXGH2RFAOlNzYaorQLibDu/dTKl97y1CM6CZ9QrWUniaxs=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(376014)(23010399003)(36860700016)(22082099003)(18002099003)(6133799003)(56012099006)(4143699003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	q6xx96yAbnVNAE+q68ncEmeb7cksbKNcZ4YopT8yrP+RXD5Ey99l3oyshhbpy//NSP50fChdIoy+kZCIS8XqT65ky7kfRAKQ26GrW9pb/Y58Kbs4K06kXqUItRKViVzbSnvcoVGj3WBhyHUJAZ9U/WfifxYjmE5mDsfCR5O0+TVd45mKPr7UXZTJ2sN3TZeFJBKD0wYkRdnYEm0eROBW9bdh7Xxe7+gFUhSnEOrZ8KRVWkO/Dhl3waURcKX6Z5jRTfM2PZkofZopnHn9+RfNMkVDX2Hqp9hcuPNgbo+Kp74Ma2fKGJau02jsi7OPDGn01rNmjh1F2rTZ2DDG4V51g8h15mE1yNUb6/M+n7JGRapUXUpRCGvm6/94vVXS5M/Rn1I/9/ZCN9wnE+hugYUmlAdKVolecE/q0NvwFEds07scQBevUb2fLxGRBiNmOcr6
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2026 19:31:48.9714
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c97d2ff4-b6c5-473e-d558-08decb14be9a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001EE.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4164
X-purgate-ID: tlsNG-33051d/1781551915-3B56F938-733C8CC6/0/0
X-purgate-type: clean
X-purgate-size: 4008

On 2026-06-15 14:33, Roger Pau MonnÃ© wrote:
> On Mon, Jun 15, 2026 at 01:44:54PM -0400, Jason Andryuk wrote:
>> On 2026-02-27 02:32, Roger Pau Monne wrote:
>>> The first parameter passed to align_timer() is the timer expiration, not
>>> the current time.  Adjust the calls to align_timer() in the on-demand
>>> governor to pass the expected timer expiration as the first parameter.
>>
>> Internally, we have a report of a benchmark regressing ~6% with this change
>> on 4.20.
>>
>> s_time_t align_timer(s_time_t firsttick, uint64_t period)
>> {
>>      if ( !period )
>>          return firsttick;
>>
>>      return firsttick + (period - 1) - ((firsttick - 1) % period);
>> }
>>
>> The code rounds firsttick up to the next period:
>>
>> align_timer(0, period)          -> 0
>> align_timer(1, period)          -> period
>> align_timer(period - 1, period) -> period
>> align_timer(period, period)     -> period
>> align_timer(period + 1, period) -> 2 * period
>>
>> With the change of this patch adding the period before calling
>> align_timer(), the timer is set for two periods in the future.  The only
>> exception is when firsttick % period == 0.  I think that is unlikely to
>> happen since NOW() will always be a little after the period.  Even if it did
>> happen, the timer would fire immediately, but the next timer would be set
>> for 1 period later.
> 
> Hm, I see.  So this is explicitly done to never exceed one period
> between sampling, even if that implies using a smaller period and
> over-sampling.  That's kind of different from how the other caller
> uses align_timer(), where it's expected the timer to fire after the
> period has expired, not before.  I think create_periodic_time() is
> fine, because it's only the first tick that might be delayed,
> afterwards the next tick should be aligned to the period already.
> 
>> So I think we want to revert?
> 
> I think we want to revert the first chunk...
> 
>> Regards,
>> Jason
>>
>>>
>>> Fixes: af74e3a15a83 ("cpufreq: align dbs timer for better package C state residency")
>>> Fixes: 382b95f627a9 ("Fix cpufreq HW-ALL coordination handle")
>>> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
>>> ---
>>>    xen/drivers/cpufreq/cpufreq_ondemand.c | 5 +++--
>>>    1 file changed, 3 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/xen/drivers/cpufreq/cpufreq_ondemand.c b/xen/drivers/cpufreq/cpufreq_ondemand.c
>>> index 537695eaab19..0d94c0e464a6 100644
>>> --- a/xen/drivers/cpufreq/cpufreq_ondemand.c
>>> +++ b/xen/drivers/cpufreq/cpufreq_ondemand.c
>>> @@ -185,7 +185,8 @@ static void cf_check do_dbs_timer(void *dbs)
>>>        dbs_check_cpu(dbs_info);
>>>        set_timer(&per_cpu(dbs_timer, dbs_info->cpu),
>>> -            align_timer(NOW() , dbs_tuners_ins.sampling_rate));
>>> +              align_timer(NOW() + dbs_tuners_ins.sampling_rate,
>>> +                          dbs_tuners_ins.sampling_rate));
>>>    }
>>>    static void dbs_timer_init(struct cpu_dbs_info_s *dbs_info)
>>> @@ -400,6 +401,6 @@ void cpufreq_dbs_timer_resume(void)
>>>                (void)cmpxchg(stoppable, -1, 1);
>>>            }
>>>            else
>>> -            set_timer(t, align_timer(now, dbs_tuners_ins.sampling_rate));
>>> +            set_timer(t, align_timer(t->expires, dbs_tuners_ins.sampling_rate));
> 
> ... but possibly keep this as-is?  Thinking about it, t->expires
> should already be aligned, and hence we could drop the align_timer()
> call here?  It should be equivalent to aligning NOW() to the next
> period boundary, so yes, we could revert this chunk also and
> timer expiry should be the same.
> 
> And maybe we want to add an extra align_timer() in dbs_timer_init() to
> align the first call also in a separate patch.
> 
> Do you want to send the revert, or should I?

I'll send out a straight revert soon.  Additional changes can go on top 
(though probably not for 4.22?).  Thanks for the feedback.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 19:34:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 19:34:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338556.1599616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZD4f-0003y1-Ou; Mon, 15 Jun 2026 19:34:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338556.1599616; Mon, 15 Jun 2026 19: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 1wZD4f-0003xu-Ln; Mon, 15 Jun 2026 19:34:21 +0000
Received: by outflank-mailman (input) for mailman id 1338556;
 Mon, 15 Jun 2026 19:34:19 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wZD4d-0003xo-Hx
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 19:34:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZD4c-007Xdr-RJ
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 21:34:18 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a3053b1-e002-0a2a0a5209dd-0a2a450bd870-10
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 21:34:18 +0200
Received: from [52.101.43.5]
 (helo=SJ2PR03CU001.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a3053b8-212f-0a2a450b0019-34652b055f93-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 21:34:18 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by LV1PR03MB989609.namprd03.prod.outlook.com (2603:10b6:408:3f3::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Mon, 15 Jun
 2026 19:34:14 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0113.015; Mon, 15 Jun 2026
 19:34: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=amrqswVXF17eZ5Gx2w86j4TMmFblloCE20EV4Zc1UXj1gMTDi+uchI8EjFKZmKux0vmii/5+h12a7Gg2HwsDenYCE76gi5amBsOlwrz/fI3op8XfF+A42y+1dTqex/keh3BqauL5MIW9sM8UZkeSKpOuq5u+3HnnL4PG7h0wiP5MknW2sgGfyGfe59Y6we5QC3cY4MGfbxFSwlFoR2ERT17ZAo1VjMq4UyxORdhNO2VGRmqg2VWbw/LFz7fdm8z0WY7HeqNnRpR1BjJeUszuRlghPZgpivvUHhXDDJ4QxgJwz1XQeA6ZOxwCd5N28Ys3K1WwBeUcUoLK6wx3lgK34g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r6aSlzydHYF9pgKPn1kSt8F5KMI/Y5LhfNx96QOGIvU=;
 b=vl8ujNFWM4l41hTbNCtAH0fvl6SWNviPSKqXkASl/Y7EiS4ASZdHIaFyDJuPKV54iHCbhJI3zBzYDlQSBfbjriOPJ9Fr8OJPsjEzpmzCV8xWGSOL7TxwgP8sS8KFzRc7S4W+AIMGsJELzLQ6JI3nzZDTAXsVSF0l2z0odnEJlVIgaC53zPfqXOjTS1DToxGrAyz/VbDqdGxVL8K+f7skAKoFgAupDNC7d8IX/di7t7J4K0IPRvMtjAyvpoS/nHj4fUZj9SiJzlzS6OeDgEJrYY3C095W5VIoRP1JUVao6Yy3m4MzVOb5VGA7RB3IygoXBOtJW0ZP6kEX1YGp9kLs6g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=r6aSlzydHYF9pgKPn1kSt8F5KMI/Y5LhfNx96QOGIvU=;
 b=P4dj4c/TqdSxWAowdXSmj78lpc2E7+Mzv+uLuSnQtTsofIlzq326CAg/Yf/5FhFrHdpPOXvPL69ggNPUhRDYMYPOqPEzgaT5JVR2Y5/YUFaVzxBZ5rtuj6pVzF32Got1inaXmRqfKL05O0T6lh63lN1uFFMH1bKKn2IJosNpPDM=
From: Kevin Lampis <kevin.lampis@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: "jbeulich@suse.com" <jbeulich@suse.com>, Roger Pau Monne
	<roger.pau@citrix.com>, Ross Lagerwall <ross.lagerwall@citrix.com>, Gerald
 Elder-Vass <gerald.elder-vass@cloud.com>
Subject: Re: [PATCH 5/7] x86/kexec: Implement new EFI load types
Thread-Topic: [PATCH 5/7] x86/kexec: Implement new EFI load types
Thread-Index: AQHc+CbxFmOq1F1kZkKmEXG/eV0SdLY/euqAgACCoWM=
Date: Mon, 15 Jun 2026 19:34:14 +0000
Message-ID:
 <BY1PR03MB7996FE744B091E767809F62BF3E62@BY1PR03MB7996.namprd03.prod.outlook.com>
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
 <20260609154518.779757-6-kevin.lampis@citrix.com>
 <1224fa79-d1df-4382-9829-aa2eabe60d5a@citrix.com>
In-Reply-To: <1224fa79-d1df-4382-9829-aa2eabe60d5a@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BY1PR03MB7996:EE_|LV1PR03MB989609:EE_
x-ms-office365-filtering-correlation-id: fd2ca36b-8b88-4350-bf6f-08decb151511
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|376014|1800799024|23010399003|6133799003|22082099003|18002099003|8096899003|38070700021|56012099006|4143699003|11063799006|5023799004;
x-microsoft-antispam-message-info:
 JwLnMrcAEY5/sRCc1LWS42h+QNgg+2UENmVXIYVStIIBzbelOi//gPX4so1B59uxr+/PxvXd+/BJbUHfjZFuaK0yYteITeylbkjBE8Q8g2r9P7z1XAwJ4Y+OABQ38OLQHxLJODSMCAonRelh1GLNCJ8Pd4IW9vgO77b0GuaYoCk2uiTaeY+RHAVzmUaQ7jv5cFWkXV80ISe/reGX3iAyK7YqZnIw66FtUNx/8LkVGVuY8elArENgdFOlphg1/Kzk5P4w2/wSJFy5vWiR/q0dP5qPSfUmRwxiDexBjaAW5NQd/Yk+NqAayzbU6AcgrrtSV1VABwgtE2UkzZRPfSKVcPdtstF5fpPMkJmHIv7hJwnqlb+PCBxFHfLm6EUyYea6XV/tRkj8U7OKPNvx3MuPT3XxjRVZFPb55USxDbi9fFUi6xjgn5JwptA09qSKPQbfGhRCIj7JSXAGuYaKlEzvEtKfHr7vw2xy8NhG7Cl3CTM39Vwdv9htd/VFeuQ1pQNQNrlMX44yQjOKinHwxWgX6wDzs80uf2nTLAdQilOm2/wD9mJsxyoZVdHNWogtyf94GDuDlVueMIlHgdmZQ8my4cIDcYAKGmr2Bd7tYDoJPFUD3OpZhBn9jmInaRVhbiENRThGftygCZmYUSnux8mRe+p4Ch0QShhZhnrN4oV4mqw7ayjm4qeS4Jh2A+9HGRELdEH9NlTTpWghoxZtBJefG9YGgwEKywmN+8znDmUp25Yi97Bl+9EmoUSGBsxNjqgB
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(23010399003)(6133799003)(22082099003)(18002099003)(8096899003)(38070700021)(56012099006)(4143699003)(11063799006)(5023799004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?mFANomf1qmm4pileElkwEKVSopPILUp/uBy3jiYYsPyyGheCvMSuU8rHMj?=
 =?iso-8859-1?Q?jcKQXiSrbCvWCzK1/g5TCZFLtQ+T0jjRvAyNr1J/AITbJeQ95HC5C4ScEW?=
 =?iso-8859-1?Q?aWAfnwVg0kjg06uXnZcYTVhfYW4x+2AI1J3vC+agebksuvYVH/alx3uxnK?=
 =?iso-8859-1?Q?ofOmTKVQaS7pfplrGHBVhBucLQdVl0K5+DJaQyFRvRhBKgdgTRLUGg4ovw?=
 =?iso-8859-1?Q?H1SAp8GX9PebhXvQ4noSUq91/fnppdxi2hMwSQKKVnMaisutjRqDgjipWS?=
 =?iso-8859-1?Q?leH/47Of8SfDQrM2NRQv2raFZuh62Fyn2SQqGQlq9xRxmV7h8xjldZGcea?=
 =?iso-8859-1?Q?+5aCiX2G/lwCgejfRSQZpOP7HJ2L5wPQEd6eBLVTOWckxH3GfRcHokzKPJ?=
 =?iso-8859-1?Q?nD+6+vTw/FGYGMgYUzRFmFplCMzSHwBdC8JvXrKWFjXwcegejHghSGkqfH?=
 =?iso-8859-1?Q?f/FCJ/2bC1RPGTby2/gqPnhZixP69hv3xNdEnJLI4TVJDOKicwV1kBEXEE?=
 =?iso-8859-1?Q?XzYoNwAm7pXelpiPNyRcNpaTgdQCNyF03znahBMn4nzxmVlq86GatPUGzN?=
 =?iso-8859-1?Q?q5h8Vuv7IWX9Iv5fUDKxoxiZeahgRldxWc6pA7tglmrc6Gps/Z7nwWFHj4?=
 =?iso-8859-1?Q?65afnb5nyUe/BhNBBUH0XU/8ro1PkBwNk8zQqNtSRVZwYRFXr51uYlzfn7?=
 =?iso-8859-1?Q?g2vK5zUwoPBJTFx4hmtH4a1WEr85fVI4eXpY/5JWwxmWzBtjPupSHHpTvQ?=
 =?iso-8859-1?Q?qFpIwptJdjoaWs3YeYUryX8Sqh87wJpPbooGCk6+S7VlW90EoGptYD6HXk?=
 =?iso-8859-1?Q?5F3+TMYlhh8aHGBiBDVkl9nuLrnR4O97KDN7fptydK14lmreILSKuPTxHs?=
 =?iso-8859-1?Q?3W6dTnZuLHZvcZr+dDcRBoUUrqq1rxEU2vTPbi02lm1/tMLaw+LBMuk3yE?=
 =?iso-8859-1?Q?EKxg5UbMwsqKVaZfM5vHZw/STR6VP5Cr/3pP4bX27LkjWAYGgtq5Ipru1F?=
 =?iso-8859-1?Q?YPGeHl48BmmDRaMqDYusBPSMv1ZSCFy1YfaXshi/OjGWR1K0rZ//VoPwJD?=
 =?iso-8859-1?Q?rDeteOJvM+Ty/5hdPeLhWXytoKjeSxuPYmUKyu8wOn+IwpItZCykycT6G9?=
 =?iso-8859-1?Q?FztLjFDa9AiRNnVEQjBUDWsIEiiM5ifIIIdRJazL6G3kSbFmFG8Me++e7y?=
 =?iso-8859-1?Q?Pzekujt8ri68frjR8Hec12pn84USLDb474Bdr+1vnIiW/+sgDXh/tzkbkU?=
 =?iso-8859-1?Q?gWEgoBdmpC5Dxak4YhzgIkGbU3DdoN7UIKtvHB3WXVsXiaWymD24r+VRgA?=
 =?iso-8859-1?Q?+bd1nv7AK0PXdNVE3lA0sd77qCh8O7H6NoQChauU0zvybuzZNWiCvDU8un?=
 =?iso-8859-1?Q?WtwR3k0A0tXDDjDg+MKLaALEHLUrVlzcwAQQ4FYFG8e4VTY6+MVihBsUvv?=
 =?iso-8859-1?Q?txFzwyC9ONvh4WRU5BZQuQ1IVDi5EE5gDg2uuvP3lxga+ds+ui/jA+nFXI?=
 =?iso-8859-1?Q?IcnZOxggZgMsniBligTVh9P4zDTfIWT4jIlhp9goeJzDVnCmFe9vI0gJia?=
 =?iso-8859-1?Q?BbiJvZcsolPWDAyZJA5RXxCl1Kz4xxNKUbEZJrAdfbrplNAqKPoYmjCEsq?=
 =?iso-8859-1?Q?mGNyTJR1W06FRokJdsEFpGIQOTtz6BaSkJZEfkQw+yJiyn7AUP8jCtqsrA?=
 =?iso-8859-1?Q?2nu2AFoTqQPBlV+v90RL77A2HD5EZ0S6x2Y22Kf3OYVdfmUwJkYAZSw+BW?=
 =?iso-8859-1?Q?eFJBHGvdj/7gotAq+pz4lA041NWC6jFvD9gpEVYWfXpKiy?=
Content-Type: multipart/alternative;
	boundary="_000_BY1PR03MB7996FE744B091E767809F62BF3E62BY1PR03MB7996namp_"
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BY1PR03MB7996.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fd2ca36b-8b88-4350-bf6f-08decb151511
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jun 2026 19:34:14.1120
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 8RqWcorRBXRept/ShYDq/W8mROUr7dN2FKjioMQ66Sx/zT+zSrvVHxZ4H9lEbrOdMUEajRhEU435GDxsM2skBw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV1PR03MB989609
X-purgate-ID: tlsNG-42698a/1781552058-19364F3B-BFBC810B/0/0
X-purgate-type: clean
X-purgate-size: 6913

--_000_BY1PR03MB7996FE744B091E767809F62BF3E62BY1PR03MB7996namp_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

>Ok, so here is startup_64, hidden as a magic constant.
>... you're applying the alignment to the pointer and picking
>startup_64 out of thin air.

I'm going to be cheeky and play the Linux-does-it-too card.
https://github.com/torvalds/linux/blob/master/arch/x86/kernel/kexec-bzimage=
64.c#L660

>Either it was loaded correctly (and the alignment is correct), or it was
>loaded incorrectly and this is unsafe to do, is it not?

This is what the kernel kexec segment looks like in memory

                                          .- dest_maddr + alignment
   .-dest_maddr                           |
   v                                      v
   +--------------------------------------+--------------------...
   | padding            | real-mode setup | kernel
   +--------------------------------------+--------------------...
0x000000                               0x200000

In the old non-EFI kexec the 16-bit real-mode setup portion is
chopped off by the userspace tools and the segment buffer that Xen
receives is just the "kernel" part. But we need to pass both the
real-mode setup + kernel to kexec_load to pass Secure Boot
verification. And add padding so it straddles a 2M boundary like this.

What the 0x200000 "alignment" variable is doing is skipping over the
real-mode setup and padding.

It won't necessarily be 0x200000 though which is why we need to read
the value from Linux's setup_header->kernel_alignment.

If you're hinting that perhaps userspace should take care of all this
and just tell Xen where startup_64 is then perhaps. That would be a
bigger change we need to get input from Ross on though.


--_000_BY1PR03MB7996FE744B091E767809F62BF3E62BY1PR03MB7996namp_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div>&gt;Ok, so here is startup_64, hidden as a magic constant.</div>
<div>&gt;... you're applying the alignment to the pointer and picking</div>
<div>&gt;startup_64 out of thin air.</div>
<div><br>
</div>
<div>I'm going to be cheeky and play the Linux-does-it-too card.</div>
<div>https://github.com/torvalds/linux/blob/master/arch/x86/kernel/kexec-bz=
image64.c#L660</div>
<div><br>
</div>
<div>&gt;Either it was loaded correctly (and the alignment is correct), or =
it was</div>
<div>&gt;loaded incorrectly and this is unsafe to do, is it not?</div>
<div><br>
</div>
<div>This is what the kernel kexec segment looks like in memory</div>
<div><br>
</div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style=3D"font-family: &quot;Aptos Mono&quot;, Aptos_EmbeddedFont, Apt=
os_MSFontService, monospace;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &=
nbsp; &nbsp; &nbsp; &nbsp; .- dest_maddr + alignment</span></div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
<span style=3D"font-family: &quot;Aptos Mono&quot;, Aptos_EmbeddedFont, Apt=
os_MSFontService, monospace;">&nbsp; &nbsp;.-dest_maddr &nbsp; &nbsp; &nbsp=
; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |</=
span></div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
<span style=3D"font-family: &quot;Aptos Mono&quot;, Aptos_EmbeddedFont, Apt=
os_MSFontService, monospace;">&nbsp; &nbsp;v &nbsp; &nbsp; &nbsp; &nbsp; &n=
bsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp;v</span></div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
<span style=3D"font-family: &quot;Aptos Mono&quot;, Aptos_EmbeddedFont, Apt=
os_MSFontService, monospace;">&nbsp; &nbsp;+-------------------------------=
-------+--------------------...</span></div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
<span style=3D"font-family: &quot;Aptos Mono&quot;, Aptos_EmbeddedFont, Apt=
os_MSFontService, monospace;">&nbsp; &nbsp;| padding &nbsp; &nbsp; &nbsp; &=
nbsp; &nbsp; &nbsp;| real-mode setup | kernel</span></div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
<span style=3D"font-family: &quot;Aptos Mono&quot;, Aptos_EmbeddedFont, Apt=
os_MSFontService, monospace;">&nbsp; &nbsp;+-------------------------------=
-------+--------------------...</span></div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
<span style=3D"font-family: &quot;Aptos Mono&quot;, Aptos_EmbeddedFont, Apt=
os_MSFontService, monospace;">0x000000 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &=
nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x2000=
00</span></div>
<div><br>
</div>
<div>In the old non-EFI kexec the 16-bit real-mode setup portion is</div>
<div>chopped off by the userspace tools and the segment buffer that Xen</di=
v>
<div>receives is just the &quot;kernel&quot; part. But we need to pass both=
 the</div>
<div>real-mode setup + kernel to kexec_load to pass Secure Boot</div>
<div>verification. And add padding so it straddles a 2M boundary like this.=
</div>
<div><br>
</div>
<div>What the 0x200000 &quot;alignment&quot; variable is doing is skipping =
over the</div>
<div>real-mode setup and padding.</div>
<div><br>
</div>
<div>It won't necessarily be 0x200000 though which is why we need to read</=
div>
<div>the value from Linux's setup_header-&gt;kernel_alignment.</div>
<div><br>
</div>
<div>If you're hinting that perhaps userspace should take care of all this<=
/div>
<div>and just tell Xen where startup_64 is then perhaps. That would be a</d=
iv>
<div>bigger change we need to get input from Ross on though.</div>
<div><br>
</div>
</body>
</html>

--_000_BY1PR03MB7996FE744B091E767809F62BF3E62BY1PR03MB7996namp_--


From xen-devel-bounces@lists.xenproject.org Mon Jun 15 19:40:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 19:40:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338565.1599625 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZDAB-0004vn-98; Mon, 15 Jun 2026 19:40:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338565.1599625; Mon, 15 Jun 2026 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 1wZDAB-0004vJ-6R; Mon, 15 Jun 2026 19:40:03 +0000
Received: by outflank-mailman (input) for mailman id 1338565;
 Mon, 15 Jun 2026 19:40:02 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wZDAA-0004gn-Nr
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 19:40:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZDA9-007B9d-AZ
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 21:40:01 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a305506-2eae-0a2a0a5409dd-0a2a450ae082-8
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 21:40:00 +0200
Received: from [52.101.48.1]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a30550f-56b3-0a2a450a0019-346530015220-4
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 21:40:00 +0200
Received: from SJ0PR03CA0373.namprd03.prod.outlook.com (2603:10b6:a03:3a1::18)
 by MW3PR12MB4377.namprd12.prod.outlook.com (2603:10b6:303:55::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Mon, 15 Jun
 2026 19:39:56 +0000
Received: from CO1PEPF00012E84.namprd03.prod.outlook.com
 (2603:10b6:a03:3a1:cafe::84) by SJ0PR03CA0373.outlook.office365.com
 (2603:10b6:a03:3a1::18) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.113.18 via Frontend Transport; Mon,
 15 Jun 2026 19:39:56 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 CO1PEPF00012E84.mail.protection.outlook.com (10.167.249.59) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.139.8 via Frontend Transport; Mon, 15 Jun 2026 19:39:55 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 15 Jun
 2026 14:39:54 -0500
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 15 Jun
 2026 14:39:54 -0500
Received: from fedora.mshome.net (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Mon, 15 Jun 2026 14:39: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=U+kUcirfx8I9hQY2Ruz7Pn1Pv7j+U8g+oNIR1aw0wC94zjy2O1DWHDIVa6gTmTlqOjab0FmiIYp+EzkFmI1fjzuHG4M0HErQB8yo6HSsfdG2YQfzpn3MsJBzm7KCOizAna2ekUDVKpaeC4Zkzf+fdhLgYVoZblalKw3LgkSaIeXeMF7pU4opbzqEma3FLrqJI6niy/cjMGlt5VoIKCkSLB7pDgcaMbl96slNiV+A8WThfHzZvy2n8cdXBi/h3/9Ub3DdGQ2cL6y2mbxMPItODXQBlvJnrxrE6GzlFY4+5Dlpy5z2AwWq6Y7YVtSIWWOtAYbjZheyaEaqpZvrizpaiA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=teoBfYHHS7C45KLJXxm9+ZQbI7VZO+28Yj4mxqqWvqk=;
 b=NQ8St5cDKZRfIql89yXB0M/xI6jZD4TbWEf7Fbrmmq4O7xKiTwLCk8GUf7ujn/g5Z/tUUPWfB5G23BOdVX17rCK11JwI94YnXHT0FPhX6bs7xmgJe8kUK1XdSQYoCQimOsS/HLJrOJbk+Dkr6sNCTNpmJlfQuGhoFD+kDs/324CJWamTUdQw/npAmNyTgCJx0WefgnLvaw0EOw2YZKL7S4DS3mGKRoNCe1fIUHITAZyRGGjp/SwEsZ1paDjeCvzMr7dwXPqnUsYS3S6ShbU4p8JbDQl1MebEIeZj8QdQpjYv3ab0BYFHYjCIh6iZ9v/h7C1SHZNifBrgJByqxADjeg==
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=teoBfYHHS7C45KLJXxm9+ZQbI7VZO+28Yj4mxqqWvqk=;
 b=W1bcPhhDHkh7tRLJPhfdJvJYTQ3TJsW0wDjWvSavT2kQxrBiUzasGzdnXOf4RWoY6kA2wG4EDEDOmdmHWkAXRvYLez9UlQya3IKg4/15wH4AaXdtAQTAeGg1p1fIu0Q3TkXzs+Id1lzGhRhLnXYzNrmFpCVQ4NKYmjD0NV+R2kc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Jason Andryuk
	<jason.andryuk@amd.com>, Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] Revert "xen/cpufreq: fix usages of align_timer() in the on-demand governor"
Date: Mon, 15 Jun 2026 15:39:44 -0400
Message-ID: <20260615193944.19392-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.54.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF00012E84:EE_|MW3PR12MB4377:EE_
X-MS-Office365-Filtering-Correlation-Id: 22014e04-de28-4c55-a177-08decb15e0c2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|36860700016|23010399003|376014|18002099003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	oTc4UOWvEhRXPuL31yVReQFLO8Sez6PnBgrd9/WriO7BFFbCKoJiWA/eBgyOgiEM+sgDgowAQLVlVN6soEmGbXwueVuCquuxiV9GWli/HPnjXMSln/u3x5ov9JmmLghHudspsdzFBBZXKEYPTU4q77+D9N4PSbrXFaevSubFburrYcdJmsi5GQYfPfYOII4Mmn5dLOjfIZSOJa91qhYuOPhfSv+ltVOvzLwioze/q3puS2EBsfuqUZYhXTPsaEG/lHmmIeev8QZWjltHx4Ny6jGf153fzBxZ25hSO/wPuDITdQkfaqTf10flfrdHa++fAMOrmN+9i1jk7m+WnCBWpTwrZSx5XVTjM4wap9HbaSI4XVJ788vp9Tl27FQl9zU2iH/SiNRP6jHOynKCT41cjOCvPI4RXHDZ6MPN/GA+Cm0ziStzl7cIMpSHXBY5lMOtL5KV9dekYWmqOPwlCOQPgEdtgYRVtbwQs8pZIj08XtNJZqH1U2cfrY+vx68WHeYbSL9Qkp5OXKnq7Ve5jc2C5FitsDR1jjHmua1G/JjlHQ3XoZ2PvjHoe5vy1G8lh8+kj72GOdeCOcT8tVn9jwraqiegMEw3Jgyv2Ec3FmO+gWZvS0as8PysRxkSJSDIs6YuE1amrL3M/VfxRsE69Mjq163+MzS8ZHTOaTtW5iFcIVBNirN+CTxcOLaeRs5ny0M0bvRZFiS9UKPNQaRVHAR3qoNEkA0WCiNAuQdewQ8CGIc=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700016)(23010399003)(376014)(18002099003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	aFDpovvNz8bQMr8qAglL3EbLUqLAKvIxwe3wR6OWlas25pamR44Hu6z47KCyTSJYzt9EbW3+cqh8tOWD2Uysr//3oEw8/SHOHs1FtSQCJZtIO8MUXiTS0hv348GnvPnEGl2nTNPeInzXo0OStiR4+fq9HK+NEu8DXNLnyyhuUhuj5epmcuj9pVpo7OPsSJPt1VoAbqZPNhN27FAn0XE9GSxiZYr1i3SGG9S+ofmb7JKLuCeG/qmN1Ijs5aGrnmU3qI8MMkG+DulCiUMxFuuA9y+4+JUfxoenyojB9dOj5r1ZznCtfRJlbrm9y7yP2daOtTDPY+tKfJGofzSPO27m2r0iJUjLg20hSOGMVssvNSnXlYYBt9OLewvgpQkK/td/5E9tG/9Tl25475bUycAKVXyVm1ag3/pXvR8qXnUZt15/Wokqth5eUP5pRQeB16Jc
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2026 19:39:55.7687
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 22014e04-de28-4c55-a177-08decb15e0c2
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF00012E84.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4377
X-purgate-ID: tlsNG-4011c0/1781552400-7FB918B7-6C370827/0/0
X-purgate-type: clean
X-purgate-size: 2069

The original commit showed a ~6% regression in a benchmark.  The call to
align_timer(firsttick, period) rounds firsttick up to the next mutiple
of the period, if firsttick % period != 0:

align_timer(0, period)          -> 0
align_timer(1, period)          -> period
align_timer(period, period)     -> period
align_timer(period + 1, period) -> 2 * period

So adding the period (sampling_rate) before calling align_timer() will
in most cases incease the expiration to 2 * period (sampling_rate) (the
exception being firsttick % period == 0).  This longer timer slows the
reaction time of the algorithm.

This reverts commit a0ed5bcfbeee81c91c574ad484faa057054eaf09.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
This is backported in stable trees and should be reverted there as well
(found in 4.20.3).

A Fixes seems superfluous and not normally used with a revert, but if
needed:
Fixes: a0ed5bcfbeee ("xen/cpufreq: fix usages of align_timer() in the on-demand governor")
---
 xen/drivers/cpufreq/cpufreq_ondemand.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/cpufreq/cpufreq_ondemand.c b/xen/drivers/cpufreq/cpufreq_ondemand.c
index 0d94c0e464..537695eaab 100644
--- a/xen/drivers/cpufreq/cpufreq_ondemand.c
+++ b/xen/drivers/cpufreq/cpufreq_ondemand.c
@@ -185,8 +185,7 @@ static void cf_check do_dbs_timer(void *dbs)
     dbs_check_cpu(dbs_info);
 
     set_timer(&per_cpu(dbs_timer, dbs_info->cpu),
-              align_timer(NOW() + dbs_tuners_ins.sampling_rate,
-                          dbs_tuners_ins.sampling_rate));
+            align_timer(NOW() , dbs_tuners_ins.sampling_rate));
 }
 
 static void dbs_timer_init(struct cpu_dbs_info_s *dbs_info)
@@ -401,6 +400,6 @@ void cpufreq_dbs_timer_resume(void)
             (void)cmpxchg(stoppable, -1, 1);
         }
         else
-            set_timer(t, align_timer(t->expires, dbs_tuners_ins.sampling_rate));
+            set_timer(t, align_timer(now, dbs_tuners_ins.sampling_rate));
     }
 }
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 15 20:58:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Jun 2026 20:58:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338589.1599666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZENn-0006oK-1N; Mon, 15 Jun 2026 20:58:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338589.1599666; Mon, 15 Jun 2026 20: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 1wZENm-0006oD-V4; Mon, 15 Jun 2026 20:58:10 +0000
Received: by outflank-mailman (input) for mailman id 1338589;
 Mon, 15 Jun 2026 20:58:09 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dpsmith@apertussolutions.com>) id 1wZENl-0006o7-Hr
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 20:58:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZENk-001yAg-Q2
 for xen-devel@lists.xenproject.org; Mon, 15 Jun 2026 22:58:08 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a306756-5cb7-0a2a0a5109dd-0a2a45018250-4
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 22:58:07 +0200
Received: from [136.143.188.51] (helo=sender4-of-o51.zoho.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a30675d-c1f2-0a2a45010019-888fbc3352a2-3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 22:58:07 +0200
Received: by mx.zohomail.com with SMTPS id 1781557075955537.0765508599555;
 Mon, 15 Jun 2026 13:57: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=zoho header.d=apertussolutions.com header.i="dpsmith@apertussolutions.com" header.h="Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding"
ARC-Seal: i=1; a=rsa-sha256; t=1781557079; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=VJ4CRmWVuHyrtyj8pZ3zmsGueqWWh/WBW6EF4knnADJ0cDLbOTC3O+qX+pmujaYWAKdVmTbRshUcy9WFTdW27Et+6nIc1hq5dOIAUSEKAr8pLvXS4FDfEKOMwiKncEPGgyoiUjVLwczeQRRA7VpMUam2ibmKc5mLy+PICJD5/YI=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1781557079; 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=pq6G/TrdOTj3+AGR//pinKM6urItHglXx3EtWTrB7xM=; 
	b=NyOnrPKdldeck2Rh202j9nJJTIC7T9mHyk7MrTr1O4Ps1MduUDgH3sLptkeZ/yKW7MWDUUSIcrX/p1fSCdyIXYZiPLs5FSG6ol9kx90QRssFcVE7JPtGVxr+W7fPIAyEScyU5S0Yf3ZcCOu2GgHRoTDLMmy2hrwgJNX/odyVPNE=
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=1781557079;
	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=pq6G/TrdOTj3+AGR//pinKM6urItHglXx3EtWTrB7xM=;
	b=Fb8Pt4JM+gv0mNChvGzm/j+KJHqUGlqLU7pEJfqGtnLqy1ww0sUr5QBbmCvcRFdh
	c3Du9dmdTTCmNiszCHi5lTDLlpiYf1f2yI/XjtGfpI7PJx62KqljnirSgzrcO8CcJ0+
	0K270c2lT8qUUjpYRNXo9qocOZHo0RwKmzLT6wzw=
Message-ID: <814fbf20-3652-4051-acef-01abbae49362@apertussolutions.com>
Date: Mon, 15 Jun 2026 16:57:54 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22? 5/9] domctl/XSM: avoid XSM_OTHER with
 xsm_domctl()
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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <0986c7e3-7a1f-4e1e-b132-78593c8b63e1@suse.com>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <0986c7e3-7a1f-4e1e-b132-78593c8b63e1@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External
X-purgate-ID: tlsNG-d62444/1781557087-ADBA8FF4-9988D806/0/0
X-purgate-type: clean
X-purgate-size: 2495

On 6/15/26 10:13 AM, Jan Beulich wrote:
> Make explicit at the call sites what (default) permission is required.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/arch/x86/domctl.c
> +++ b/xen/arch/x86/domctl.c
> @@ -331,7 +331,7 @@ long arch_do_domctl(
>           /* Games to allow this code block to handle a compat guest. */
>           void __user *guest_handle = domctl->u.getpageframeinfo3.array.p;
>   
> -        ret = xsm_domctl(XSM_OTHER, d, domctl);
> +        ret = xsm_domctl(XSM_PRIV, d, domctl);
>           if ( ret )
>               break;
>   
> --- a/xen/arch/x86/mm/paging.c
> +++ b/xen/arch/x86/mm/paging.c
> @@ -743,7 +743,7 @@ long do_paging_domctl_cont(
>       if ( d == NULL )
>           return -ESRCH;
>   
> -    ret = xsm_domctl(XSM_OTHER, d, &op);
> +    ret = xsm_domctl(XSM_PRIV, d, &op);
>       if ( !ret )
>       {
>           bool lock = !(op.u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_CLEAN ||
> --- a/xen/common/domctl.c
> +++ b/xen/common/domctl.c
> @@ -516,7 +516,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
>           if ( op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_CLEAN ||
>                op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_PEEK )
>           {
> -            ret = xsm_domctl(XSM_OTHER, d, op);
> +            ret = xsm_domctl(XSM_PRIV, d, op);
>               if ( !ret )
>                   ret = arch_do_domctl(op, d, u_domctl);
>               goto domctl_out_unlock_rcuonly;
> @@ -542,7 +542,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
>           break;
>       }
>   
> -    ret = xsm_domctl(XSM_OTHER, d, op);
> +    ret = xsm_domctl(XSM_PRIV, d, op);
>       if ( ret )
>           goto domctl_out_unlock_rcuonly;
>   
> --- a/xen/include/xsm/dummy.h
> +++ b/xen/include/xsm/dummy.h
> @@ -157,7 +157,7 @@ static XSM_INLINE int cf_check xsm_set_t
>   static XSM_INLINE int cf_check xsm_domctl(
>       XSM_DEFAULT_ARG struct domain *d, struct xen_domctl *op)
>   {
> -    XSM_ASSERT_ACTION(XSM_OTHER);
> +    XSM_ASSERT_ACTION(XSM_PRIV);
>       switch ( op->cmd )
>       {
>       case XEN_DOMCTL_bind_pt_irq:
> @@ -176,7 +176,7 @@ static XSM_INLINE int cf_check xsm_domct
>           return -EILSEQ;
>   
>       default:
> -        return xsm_default_action(XSM_PRIV, current->domain, d);
> +        return xsm_default_action(action, current->domain, d);
>       }
>   }
>   
> 

Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 02:01:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 02:01:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338640.1599676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZJ6r-0006ZL-DT; Tue, 16 Jun 2026 02:01:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338640.1599676; Tue, 16 Jun 2026 02:01: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 1wZJ6r-0006ZD-8N; Tue, 16 Jun 2026 02:01:01 +0000
Received: by outflank-mailman (input) for mailman id 1338640;
 Tue, 16 Jun 2026 02:01:00 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <martin.petersen@oracle.com>) id 1wZJ6p-0006Yn-W9
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 02:01:00 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZJ6o-002ZpC-O3
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 04:00:58 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <martin.petersen@oracle.com>)
 id 6a30ae3d-5cb7-0a2a0a5109dd-0a2a4505919a-48
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 04:00:58 +0200
Received: from [205.220.165.32] (helo=mx0a-00069f02.pphosted.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <martin.petersen@oracle.com>)
 id 6a30ae58-aaa8-0a2a45050019-cddca520a796-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 04:00:58 +0200
Received: from pps.filterd (m0333521.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 65FJNwYv1382432; Tue, 16 Jun 2026 02:00:50 GMT
Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com
 (phxpaimrmta01.appoci.oracle.com [138.1.114.2])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4es1ay3n7n-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 16 Jun 2026 02:00:50 +0000 (GMT)
Received: from pps.filterd
 (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1])
 by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.7/8.18.1.7)
 with ESMTP id 65G1r5b9007099; Tue, 16 Jun 2026 02:00:50 GMT
Received: from sa9pr02cu001.outbound.protection.outlook.com
 (mail-southcentralusazon11013030.outbound.protection.outlook.com
 [40.93.196.30])
 by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id
 4etq66v2qp-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 16 Jun 2026 02:00:50 +0000 (GMT)
Received: from CH0PR10MB5338.namprd10.prod.outlook.com (2603:10b6:610:cb::8)
 by CH0PR10MB4873.namprd10.prod.outlook.com (2603:10b6:610:c7::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Tue, 16 Jun
 2026 02:00:47 +0000
Received: from CH0PR10MB5338.namprd10.prod.outlook.com
 ([fe80::e525:dd71:b002:6ad5]) by CH0PR10MB5338.namprd10.prod.outlook.com
 ([fe80::e525:dd71:b002:6ad5%6]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 02:00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=corp-2025-04-25 header.d=oracle.com header.i="@oracle.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-oracle-onmicrosoft-com header.d=oracle.onmicrosoft.com header.i="@oracle.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
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-2025-04-25; bh=aFn316IGv+KL1guyUZ
	eCfFJv1oXasbSyu8/9/CADhq8=; b=mR8FO6LSTY7Sb2xQUkFUsLocLf63A5pTJ/
	AEpSqbekWrZWfSj+CJG3vm1QGUdK5dp/Ur/X+VmIJnBaRX8Di89gk+QbCoeXCPOv
	EFD4+bSl6NjveH5rTIze0k+Q1lEz58y9UlBQYSXqNvKpn5Kdy63OzuiY0/LhzY5j
	GzM+k10X9DiQa9SMBRxSugup+hOIl2D3evMWe+Xg/mkqdgLcWUsnYzgiibq5+3F1
	2qJUsoq//kfmS+J3VS7BGQ/JrCBUZZ6+naPoW1yYxXSrDRda8xlavtgMWB5Z5TUk
	J3r/nWdUXWWi+U5Xd0vm/HkujyFH6aVVnHkuvTKte9blN7gj4MYA==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=RK6sV9HM5u0EuwtyAnWF8Y3fLAlgB1eAXBFeIxvI10DDR+rzwWDYAgNrpSkrYjQMlSiQi+obVyEtvbnr+5P6iSV10N6pWgLKSyGD7l8lSHmn9iRLMQ6VDxM1P/V66tOLDK2aWmxuqNPSOcMFXH//bAFdnb/WbOfkCU86tA64/lW/MhfYho3SvHicEUt5fJIRX/hPL43P03DgLhTrS+Qq5E9htEddNlVNq0yiKoUQXvhzKoN7VeIwR6l0MXzKgG9HmjBQpc3ESkFJDsquGFL7oQzfOHU9EQt0hyNNUko6iEZJAhEtJfAzyIhpBa/7sYNKR7zUrdnRZAWUqWvr7p/6Aw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aFn316IGv+KL1guyUZeCfFJv1oXasbSyu8/9/CADhq8=;
 b=u6GZgxDnhvF3f3bQjn4bU1z8fNtK7yiFrtrp6lMwTgOOeo4yHkJcNUpOvzVeb8uJfLR2WOFt2QJcCwhAO2qRdyN86fTIM4nleova7HPLl8eU9/3xXxFAXiDIJVCt0wVeoDm86Vnf1VtD98MvBXkXZMyEm9s+S2wrvhtS4AeTPSIVgmNeHS4UdOVyysg4vvwNMLthzUB2hsSej6tRGFw0vH+yQ0zes5Svxm7/qqkrVc7BbtAvnoD2Yill9ZfCPKdam3OOy5LCbP1lITP7FSAzxMITYywHGqBHHODDNFy4GDmDKPhgYh/tsukzQAsn+F2r8WfvRUjLscRohLD+ZSHtoQ==
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=aFn316IGv+KL1guyUZeCfFJv1oXasbSyu8/9/CADhq8=;
 b=B5F5caGi7s9oMhRe0aYQaXUNCOjNup/fjh1FnWHw5oq9AW683xwFlyvpRThCwNGCYDIGRJfBxKUJsvSuV0BkL75yebaEGeapY8SF6LvhkOpdqP9WSlcZulKmeClOgtUKSgjFInt9Yn5Ky4GGSA5p7tmgrAnPJQAVhI8XWkCcMyk=
To: Michael Bommarito <michael.bommarito@gmail.com>
Cc: Juergen Gross <jgross@suse.com>,
        Stefano Stabellini
 <sstabellini@kernel.org>,
        Oleksandr Tyshchenko
 <oleksandr_tyshchenko@epam.com>,
        xen-devel@lists.xenproject.org, linux-scsi@vger.kernel.org,
        stable@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/2] xen/scsiback: fix command-tag handling on
 pre-completion error paths
From: "Martin K. Petersen" <martin.petersen@oracle.com>
In-Reply-To: <20260611123046.2323342-1-michael.bommarito@gmail.com> (Michael
	Bommarito's message of "Thu, 11 Jun 2026 08:30:44 -0400")
Organization: Oracle
Message-ID: <yq1cxxrutvh.fsf@ca-mkp.ca.oracle.com>
References: <20260611123046.2323342-1-michael.bommarito@gmail.com>
Date: Mon, 15 Jun 2026 22:00:45 -0400
Content-Type: text/plain
X-ClientProxiedBy: YQZPR01CA0005.CANPRD01.PROD.OUTLOOK.COM
 (2603:10b6:c01:85::29) To CH0PR10MB5338.namprd10.prod.outlook.com
 (2603:10b6:610:cb::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH0PR10MB5338:EE_|CH0PR10MB4873:EE_
X-MS-Office365-Filtering-Correlation-Id: 33cfa179-7675-404b-b5ff-08decb4b1510
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|23010399003|22082099003|18002099003|56012099006;
X-Microsoft-Antispam-Message-Info:
	zDtLDCZDF+wp+XYVfwaegJj3EiWZRBhkXGeJRxDDIcIpUclN3pQlmq9pNhi3wkDeixXhqq2oR1ZhIf+VxZlAnPG+FAsiCfRts+8rsqBLuTJdwR2xRfL1Ftz7qL41cg4RqWxxMqQeasCBWrTTvVuvxuXCGSobqwWYQZO/DOXJ0D7aXcgEOtWFy3jOQ/HlJoH2Jo4AhU44Yagu8GKLq8o5F3c6JS2lsX4GSntxpN+jdhDJEBLvbjqX24zpLrMNt+Oo1upKhyZ9jGinXibsioUwhR7qRTk4TQza1Wja3RGh/FBb+NSIEPuekZ0ARRyDAIrihClFNkM4brqF9swdF97V8YVCchEuxI8VIFK/xfT1BliqN7xsV4U2NiZ97DKMOLSuRqjz1wtG42P/QHSkKbG0PtMctwgjMp0iaTQQM6QnWib2w9pPaQPoVDWSObv4irVNTmz0HHHlpnw4dFLBPar0yT1o4+A0nK7OkaanByyO/qCXG9k5A3j4xd61im5gcq8N6p0tYaSPC/n4wjjvRyGyvhaIOJKpje2H7uer5egsQbY6l3uCJ+zpY6Pv9Ez2p8fx4Dc7UKdL8UJwsnpjX1xL2vANEXtrwPdMiMh7q+FLLqtjsIenaOsIo4xIBAKEme7L4RNHo/QfgQyEQTNadG8zw+LLAxKQhp3sVPPzonvUe19p4Z/xiYlm70bROJqRM4Jb
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR10MB5338.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(23010399003)(22082099003)(18002099003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?AFAKbgEr5bkjd5AkoetxQClQ3F9/UkkwnSq9bjXQwzJJB9ka3lG1b8oFjb4g?=
 =?us-ascii?Q?ZJ9ECwhEJEEE7XNiQHx+G+vX9Z5YQHUqmKqkT2ivCWN8dQBzq1GxMOUHalsv?=
 =?us-ascii?Q?Q+P5RzrZ5J1a4SrSEVn/maca0bbh2XkyoE9g65rdSt+EB2edCc16t/n675K6?=
 =?us-ascii?Q?2yoDK7OXkI9DSBPKXUv572mwAjGgwrQfRMw+MNHX6S9qgZOJaSx3vt6vRy0p?=
 =?us-ascii?Q?QVum4PLgFcKkcAAglMiXiB4KfR0oLBaH8HDW151foR68yGxEtjQLrmyAFflS?=
 =?us-ascii?Q?mRJzGyHX5OMK98GB2MOy+SCHXC5riaUWtbdLlXmzizBWOD3+e6seC7Lc8H64?=
 =?us-ascii?Q?vcSlaem/ZhdhyEMg8HMeOnsOMREevVkfUTPVkynRuUOShkKdtDtrY1DJmCrf?=
 =?us-ascii?Q?/Oop3V9a/zEOA9ApC7oKwG3aa+bntt2dCBsWq59BzV1JysyFYUHYwQ46OYcU?=
 =?us-ascii?Q?5rbaTcCJCWxfFBuBSWjkAdKcDFUUxkYSOZY6VZZ1TnDrjSZ/kXjyjcxt9qBs?=
 =?us-ascii?Q?H7C3Mr+BDVJhFF/NkkOqHYalv4NL+AupZd6i3Ys7zFh7JsA5R4M6oTkBn6By?=
 =?us-ascii?Q?VKFAJZzBHMS2Wd8LfeNHE3U2A2Ku2tD9IkYhO0J2qEKw+Ci0wk7PiYc3SDt3?=
 =?us-ascii?Q?V0jUfcGycN7PHOiDz5dHvslQcwd+Ww5vyNDiUne/mzxvNYBlTICtrmyZu6eI?=
 =?us-ascii?Q?BF48XBaiynUrzGejhCShxdyJneyaNd+QRmhQcNzHzZuJUVskCVMlauoNT2zE?=
 =?us-ascii?Q?g1d+aUU/agvbGAOe/F3550813C/+C+EsPb5tCx/tUXswnSPKqIRjvlykwAKG?=
 =?us-ascii?Q?EhHLsdbPPUlHHOigobi0j5/RI6o1AVj5qcHA1bUMbRtA6sjFVbkJnTbhdJ0L?=
 =?us-ascii?Q?I1fvWtGYw/FGG6um+H3nCcpnrABTAZcS3l9uN5vD27/+q21dgf6spOk2Tm3+?=
 =?us-ascii?Q?tpVE2jO0m4FW5NmCYJVb46esnwPek8Fc2McdpyI04sOOp8TFJLkpJ1LziJn8?=
 =?us-ascii?Q?uO/GlOP4KkwZBBz9k9Dwrz3WHQ+wxx19L/gCLXnNDn0E5cZQp3dLQJ9O0J3c?=
 =?us-ascii?Q?1TISqd5wKPkyLRzFiFTfgZvlPnv4lTnU8APQ0U1X2hZWAfksKyhfYBMi5l38?=
 =?us-ascii?Q?d84QQFZr/vf0+d65wskpiyXL76nnMus16eXaLpW0bQQDpUZiXD9STyS4wSKU?=
 =?us-ascii?Q?PZ+SFZ+vAPmxWJVcF3q5ZI1Um+a6C2KIUOpv55MU7X3aHS5HfCcjMGEHHurm?=
 =?us-ascii?Q?eFhODCqyYzVQr2zYaKFGXuMs+6rSNG23fSiu3+b6WCCTMEyMtpDCLstn4Pus?=
 =?us-ascii?Q?vxnagENl8nAc/dls+5sxjG87js2/cRBgpXjhfepXZ2vUlFsojJZIyCuLpENx?=
 =?us-ascii?Q?39NQWuF4PtfUj6KW9VMQsrXdJrKojEy7vegDOdt10M+6CLPDBiZfh/cCDmXn?=
 =?us-ascii?Q?jwmF6jfzHfapLYnA5SYc5H7mSc6hnZkIv8oCn6hVinSeB/IMzhWvAAyjOA1h?=
 =?us-ascii?Q?pQX5Ue+6EIS26iW5Ustsq2J/sLd/D3P7G/R15s4nl1aUfw7tAMb9KLjyy/+r?=
 =?us-ascii?Q?ODqbBnybxaQquvTMoWDlmVI1yFr8s/x8i/oMGyy2AGuVTdEJUgZ3xo+AUXsd?=
 =?us-ascii?Q?mWr7BDc/yElmbpZQlNZebSYz9ZJp+TzcurfD+lelTnbtmRX9SXiR6hSDQAl6?=
 =?us-ascii?Q?2uJcR1mp8HQmdSU1vronYh9un4/Qk71mHbIBDOEANoI7q6xrFCW9pZDpyFKA?=
 =?us-ascii?Q?88giEutBWTbi84SFggAJJiaPiECLc8k=3D?=
X-Exchange-RoutingPolicyChecked:
	MnhQTp/M0+9aPBw8jr7Spwisw9QhfMGJuUkv7r0oN06Mb95EqG1VjUSUYn17OW2s4soqGkfwmJllKwu/gX5eXGjVwuv0Ypl07IcTBSumYQXa58QgkDdHxJh6z2zPzQB0Bko426D9wBfKy5WfOop7xdPsX1IjXN8LdPLshUYyamCjUU1w/I2CGXPyr0kiCbkUhzY5EXIedgKdod1FUvWTRIIrpR2FUtlGZB8QkkE+C6+NvBfc4ttTK9cc9fVICyCLsEvbVw+VwdOy0/kyWR0QVf4ExdJU4M0bFlLijsm2fWxevoi+XBSKC45fuljtBKN7qXTps9/8EjvYCZ3CLFsgTw==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	vwqAh3/Gw+pwne3r3oOF7iluqQC2AOr0EpONKaO2n27zlE+VywSV/RKq3KRJo/vk3O/QQuw5JbCPp0qtk+Q9qDhfPKzXB/ifP+JQaz+DHUg+kXTg2a3bxfmPBpgDT9Yo4vpPRvFrYKtt3A6ctoJxBK7xhT7+oj3Q9kR8nEjkwIyUJBaxBSHC1Bc5eiKBaOm8rQB3InVMBB0z80o1Fhb6+4A2tb4vVhEHJ2yAVNycU3jK/QkzQNqXNhHHGvX5oAJ4aJByagOTt2q/o+60Gb4WvcFklyKtd5w1HazxtyT6j9wK9sLKUWr973SJdw/wBSXFjRaFNtqQdJ6ephYQSllZtkrCZU2ek2std9oMh63VswNTMZr23Nv5Vk8uBOMI1P9ng2fTF/WSWOZ4LpTvw3qjGNA01J2LLykAL/0BMXqLDkY1icPcBfc6KjS6NpF8ErFJ8RYz5LLLma7uiI/jgQ/5Yo2Pt0byccxS4C+LZIIob7uwNKklZg9HY+pftWs0jPvAQfvRMPpcLeLzFQPn4SuFlbrWlYdSmE6aZtw8GjG0oGea6VbQHgGlrykw2KbCIkvf4shVy63zebat1JPfZVqVF2AEtdhc3rfC9H6Lj1HXxFU=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 33cfa179-7675-404b-b5ff-08decb4b1510
X-MS-Exchange-CrossTenant-AuthSource: CH0PR10MB5338.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 02:00:47.0844
 (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: aQZzZwNJuxUoziDFdbq0d+1pKswMMjNneiXgQXoAQhbfdMUrpTErAxydQ2LNPNCTN58mwjlxlLNE4wwuZYEMKBT5b8jdKo5j6fYwWhv616A=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB4873
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-16_01,2026-06-15_04,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0
 lowpriorityscore=0 phishscore=0 suspectscore=0 adultscore=0 mlxlogscore=999
 mlxscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.19.0-2606040000 definitions=main-2606160016
X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE2MDAxNiBTYWx0ZWRfX62aGZj6Ch/TG
 UtJdYzqnPfZ2ioKclwAcjOYJOAvtvO7HBqevtHll7E4O0J4+RslZYkEYLlOtcosn88e2KxmtMAQ
 onAorksnLPJahbY5nuJr8E5TGIjYk3SHGQeHCGMvyVFnCWEx3cyw
X-Proofpoint-GUID: Y_ZQnv_xGJZahWp83NTb00QZQ9hGbzh3
X-Proofpoint-ORIG-GUID: Y_ZQnv_xGJZahWp83NTb00QZQ9hGbzh3
X-Authority-Analysis: v=2.4 cv=PazPQChd c=1 sm=1 tr=0 ts=6a30ae52 cx=c_pps
 a=XiAAW1AwiKB2Y8Wsi+sD2Q==:117 a=XiAAW1AwiKB2Y8Wsi+sD2Q==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19
 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=FelO9ux0wxsA:10
 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22
 a=x0eKOSpe3m1H3M0S9YoZ:22 a=cd8x-zEzMShnuW5xUh0A:9
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE2MDAxNiBTYWx0ZWRfX77R8zl3HawcM
 ok7Ijme2Eb7UinyJ9s8TJIJ8jJywOIyEZvLyK7LJEYP4nUYglnDtNi+xEoKghJ79seBxYzV+aLK
 n2lsQ8iTuxXNDLuKoWtrFSsMLXQm8bOxEpBkyuAQN4HXLRKKpfok+POrSgpK2kqCh1f9ODB1nbK
 IpTgNNpG1h9Y+TgJfy4UFnPsMaTmEnq5juRu9qvUKkHbsf6LU0vMZlBmJLn22z1tOPdxaVxI6W8
 pKehQymnIUzuMnYQ7JBuEisLJRqp2HMbcczj8XtBs+q5tfBLdbNcDykesBQyl/kEQyWVhT7NDcm
 tv6/HWPjqquWw7Ioo+28D4bralwoLT+XovLZtwgW3vOeCnECXjm4S1fKnagjD6O4T4Fa4e18aps
 Rys/KIzULNics/oTnOye6KP9PzTA3Xa93yaPFDK/LIItCQgR4GDVR3yBn8vvwv3GkpTIahlHNen
 zoXH5ePhrao2qGrAxBg==
X-purgate-ID: tlsNG-c201ff/1781575258-DB563443-5F2A0737/0/0
X-purgate-type: clean
X-purgate-size: 332


Michael,

> scsiback_get_pend_req() hands a pvSCSI frontend request a session tag
> and a zeroed se_cmd. Two error paths that run before the command
> completes through the target core mishandle that command and leak (or,
> in one case, underflow) the tag.

Applied to 7.2/scsi-staging, thanks!

-- 
Martin K. Petersen


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 06:17:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 06:17:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338657.1599685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZN6Q-0002uB-Mo; Tue, 16 Jun 2026 06:16:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338657.1599685; Tue, 16 Jun 2026 06: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 1wZN6Q-0002u3-Hr; Tue, 16 Jun 2026 06:16:50 +0000
Received: by outflank-mailman (input) for mailman id 1338657;
 Tue, 16 Jun 2026 06:16:49 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZN6O-0002tx-VJ
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 06:16:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZN6K-004EYp-V8
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 08:16:44 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a30ea33-e002-0a2a0a5209dd-0a2a450cae18-26
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 08:16:44 +0200
Received: from [209.85.221.42] (helo=mail-wr1-f42.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a30ea4c-62f1-0a2a450c0019-d155dd2addbb-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 08:16:44 +0200
Received: by mail-wr1-f42.google.com with SMTP id
 ffacd0b85a97d-45ef779c1c2so3101737f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 23:16: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-4606f26f309sm39518222f8f.14.2026.06.15.23.16.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 23:16: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781590604; x=1782195404; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=0Qx29apA+FKhNRV7HHzoMBSrTmjvf5CKFT/qaonk3Ag=;
        b=GlcssZrxEj7QdH4aIGWWyO7yYIPBFo5QDoNrNmiiIkwTB9M1IxeC4X99Z9PavR9Usf
         yqXyBBLNQXzaNRqcb80QZPrhZmkRi42iXJEi37iRf/F+YudpDzV7D1n8zyN1uWtvbkb8
         XcjJAEheGJ2uAO/rli7gAsfCHeJ654gQuDBaxCa1ETiElbVCkosBfWqgaMA1hQbL9XFA
         hmNtTNT1pfIudp9L+poCTApDaUYQYfQiar1I8+lxPLkSHRuR7TLgv71UPp9DLAtQqKQv
         I2XK7txoVfjbO3p9/P2QuEo4NymKrY+D9YGu02bzMqDYJcsdjAWGesjB/JrDYoasJKgC
         ISIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781590604; x=1782195404;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0Qx29apA+FKhNRV7HHzoMBSrTmjvf5CKFT/qaonk3Ag=;
        b=MgcwFRk9ZKQ4PDbBwwTpU7AwkNl+4fzuzG0oM04WC/EbNAqUpp1DxVDnQlFlMleRW6
         ziXvJxqt8cUE++35xr9Bk38dCdQDYbDh39ZWMJCDIl4FCn5GM9EXtrrOYeHeyeRN5X5J
         Szw/zHu3JQ2nvUUEIkl4Z/YlH77fPeBR5YPi6EWaCeBy0jj0oyvc1hgA8OsktREEdwwl
         iM6+4wAceyOfP7ywAzvC/M6CaAzE3NLCXItOpKkP9eLAhnueBJcgsCq1Tf/1M4ArjW0k
         lNLgSw9LkNf/Ict5szieye0BZEF4ErGv4GJR/XkntiJ8hSRXdScDvTxiypfMMf0uXatT
         YUbw==
X-Gm-Message-State: AOJu0YxOww2bGW3Uh8udmq/CA8v3CAr5LGwYQlI6YCQuzeU+xDazU8d3
	mUrhBjIc79iMi09WOKhUtm3cpzyzv6SffaOtuAGl7U2nr+YBH4v6dMhuy0TU2a/Y4Q==
X-Gm-Gg: Acq92OFhNpalS4rVQM6yG63Bja9HWD++gb1AWy2X1V6sefB7wPCQe6BTz1L3W04SEYp
	2BvKB3CZORFgw0Iv3SZqBBpsQLSKD+2lqfKgt+ud8vzzWpYT1ca02cXbwoXbz1Ao/hEwSrmvXEu
	XmsMIm27ZL98irGdOhW7EBZOycKUySUJBS0gWwyMUKO2sfPlPJMgpxUNL2k5MF3FhTsx42RILbw
	KFKtF1UwvqVmK7J6JzC+BcS6wCatT9CwAqzFL0ft1ZrFbLyMjkaIJpWVXK/EwYDKBUAx6VjCozd
	mUz3WKVXvaQNEd0PBaiBgoW2w5eUIrYvGpqmVfrkdvE3O82C2P2jfXz0BkrZS0XPBKDIMeqVAfa
	XZVH1qIaztAUMUGErmkQxC3bEfBGrFtREH/YQo0DlZ5oOyn+5pQ6WTLK+8cXNcEVqtC+v3ZNjTF
	D/gWDauElpZnNyWTxPw2lbul7KFvxvWQP9F3t4bEBxzVQbbnfFsi7jMVXvgH/MNLM8sEtSdP3aP
	vfQUSO+fO4EHW4=
X-Received: by 2002:a05:6000:15c1:b0:460:71e6:e11 with SMTP id ffacd0b85a97d-4619f3afba7mr2989189f8f.24.1781590603580;
        Mon, 15 Jun 2026 23:16:43 -0700 (PDT)
Message-ID: <0037ce13-8db1-4855-8ef0-dbeefba54fab@suse.com>
Date: Tue, 16 Jun 2026 08:16:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Assertion '!is_idle_vcpu(v)' failed after 'Remove
 fully_eager_fpu' commit on EFI
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Ross Lagerwall
 <ross.lagerwall@citrix.com>, "Daniel P. Smith"
 <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Anthony PERARD
 <anthony.perard@vates.tech>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@vates.tech>
 <aiwTkDUP6rDPbV6R@mail-itl> <0db98119-48f3-4edd-a422-8e50ee713b7c@citrix.com>
 <e84d6765-61fa-4203-a1ee-ac07f54a1026@suse.com>
 <48878ff6-ad36-448f-aa9d-6b37e2e179b1@citrix.com>
 <1781277924.8631fc262581453bbf619ec5b2062170.19ebc701bfb000701b@vates.tech>
 <ai-_jUw0QmdC7gPK@macbook.local>
 <1781534374.8631fc262581453bbf619ec5b2062170.19ecbb938f1000701b@vates.tech>
 <aea699f2-c869-4301-b67c-ddea1e08ae9a@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: <aea699f2-c869-4301-b67c-ddea1e08ae9a@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1781590604-E3D7BCF5-3D15A3B4/0/0
X-purgate-type: clean
X-purgate-size: 1487

On 15.06.2026 19:02, Andrew Cooper wrote:
> On 15/06/2026 3:39 pm, Anthony PERARD wrote:
>> [06Ah 0106 001h]         RTC Day Alarm Index : 0D
>> [06Bh 0107 001h]       RTC Month Alarm Index : 00
>> [06Ch 0108 001h]           RTC Century Index : 32
>> [06Dh 0109 002h]  Boot Flags (decoded below) : 0033
>>                Legacy Devices Supported (V2) : 1
>>             8042 Present on ports 60/64 (V2) : 1
>>                         VGA Not Present (V4) : 0
>>                       MSI Not Supported (V4) : 0
>>                 PCIe ASPM Not Supported (V4) : 1
>>                    CMOS RTC Not Present (V5) : 1
>> [06Fh 0111 001h]                    Reserved : 00
>> [070h 0112 004h]       Flags (decoded below) : 000004A5
>>       WBINVD instruction is operational (V1) : 1
>>               WBINVD flushes all caches (V1) : 0
>>                     All CPUs support C1 (V1) : 1
>>                   C2 works on MP system (V1) : 0
>>             Control Method Power Button (V1) : 0
>>             Control Method Sleep Button (V1) : 1
>>         RTC wake not in fixed reg space (V1) : 0
>>             RTC can wake system from S4 (V1) : 1
> 
> There's 3 pieces of information on here which confirm an RTC is
> present.Â  Setting RTC_NOT_PRESENT is clearly a bug.
> 
> We should probably have a quirk to ignore RTC_NOT_PRESENT on this system.

Imo we should go that far only if EfiGetTime() didn't work there. Afaics
Linux also has no such quirk.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 06:30:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 06:30:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338664.1599694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZNJf-0005YV-Oe; Tue, 16 Jun 2026 06:30:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338664.1599694; Tue, 16 Jun 2026 06:30:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZNJf-0005YO-Lj; Tue, 16 Jun 2026 06:30:31 +0000
Received: by outflank-mailman (input) for mailman id 1338664;
 Tue, 16 Jun 2026 06:30:30 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZNJd-0005YH-UY
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 06:30:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZNJc-00FL6R-K2
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 08:30:28 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a30ed81-5cb7-0a2a0a5109dd-0a2a4502a83a-24
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 08:30:28 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a30ed83-af86-0a2a45020019-d1558033d0af-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 08:30:27 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-4903d730b1fso52563395e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 23:30: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-461abb44c3dsm142837f8f.9.2026.06.15.23.30.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 23:30: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781591427; x=1782196227; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=GuJ38IK9EwFymKF6pZK9hlCOwvCYQ/y1c/SgaMdkOFI=;
        b=dGpfPU2XT+dFsa7zSi4DZFXx9kvlVqriXa7agxW0KWtrvr9ApYYWPL8yJocjNHikss
         Ek+94cys6+rn9lS29QmX6p9/e9O9tBy/kw6Wcc77CMmgPQEClzyggszU4ioXlox9NLO0
         Ty8brGzo7YK3Rf8iySdV1ITOdCkwwFRUBE7oim7ZMEpCtRL+MMT8ycl2/iUn3b/RsAe/
         bzrY7+0OXs37hZFHKm02rCPm4Ay+THIjV44K0X9fpp/2vmYKd3QBQGbH/W3EoZ0x3+ww
         4yUtPP3GxcDp3cfE6NUi0afO0wEDwPS4pIhzwLe22k+arE/why+FVy+JkWdhd8OsQeja
         trHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781591427; x=1782196227;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GuJ38IK9EwFymKF6pZK9hlCOwvCYQ/y1c/SgaMdkOFI=;
        b=lIBnKWSBBm7DMpx+3FaeBgQGgdqKaXavHbycbmr+AT+Y7wD1hfligSuDCzZ3o+YHu+
         06ZFGHy5jo9mB9WJh+ufO2ObiSOQN6GooWhJpIUsndVDuXm91alFRe2gxusYfky50ccr
         fYHNJEJn7psPNr4xM7BSLxNOWF3wUzUUdiZbl3ulXeJZAXKSxO/MJm+1enJIeBxENF9I
         1nHAyZnSd5ZVvfLpS7hEWWKwEs0+CrorFhqXVNcSYfZ8nY8BxX3y73njkCyUtNsKWV4n
         ZUr5R9BzVnjp1At/16kL2k6yC92FfNxit2jADeub0z0/KHPCbyqwcm846yyKIc4ZQ7FD
         Og4g==
X-Gm-Message-State: AOJu0YwsPdFQJQlaYjJl6+ONT76OvfANaqt/uTQuXUY3iuPdtSZ8TsMK
	TSyXImVY6YZSJen9ufUy6jeK+VdQWRY8u5eICFhXybkis5dI2gH7cAZ/ujwJeFSQAiDUjFnSfP/
	6Mns=
X-Gm-Gg: Acq92OHtU9W8PpUqnzKkpaINyJ0kANcE4nHycLig6zcK+lj2FUwVECNdsQxDj0XOF9Z
	Fh2O4Mz8q3USM/pf8C2stpGVLovk5oKDyqhfl6DS1RKcKDQOnx+kQKcal3mPQ1DQOiAehFsLiYQ
	IjZjQMAD/SzjCaTBLz9qaAO+LJNC+DHmWW0f66bqdXDMK0R4UY7zbkIDTe9GZYDk+QIE4CAfsK2
	Dsebo0Wa0Wz0cN6frUVhYSYnO4BNp3+/lDUozYsQtMT6tD0eK6xX2Bw/Bsr2XI4X45ce8f8C7dd
	QqNtVvfyqYfmnh0pGwRfLK2IkOSYpJmaYqAxmYVHkqdqzcUkz/ePYx35YYE6DInerMH9O7YhOPL
	Rk2571rR4R4QE6+0a5yOBDMxyrdDmqEUNWcN4nzMXsfFjBiQDPPpCv6elxXTOBm7aXPEdXIVYO2
	U4/sg4cQMHTWU6CwgwZZ5SDz0H9GU4km4jqF1b3EfG16g7ZrBlLoxRjweteE4mZ4HWgsyIxjruy
	gx+gUaw+yyGs14=
X-Received: by 2002:a05:600c:34c9:b0:492:1e50:978d with SMTP id 5b1f17b1804b1-492200838bemr190504895e9.16.1781591427241;
        Mon, 15 Jun 2026 23:30:27 -0700 (PDT)
Message-ID: <1fbb67ab-09f3-4924-b6aa-139fc5d1acc7@suse.com>
Date: Tue, 16 Jun 2026 08:30:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Revert "xen/cpufreq: fix usages of align_timer() in the
 on-demand governor"
To: Jason Andryuk <jason.andryuk@amd.com>,
 Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
References: <20260615193944.19392-1-jason.andryuk@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20260615193944.19392-1-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-720697/1781591427-80145161-51CAE332/0/0
X-purgate-type: clean
X-purgate-size: 2165

On 15.06.2026 21:39, Jason Andryuk wrote:
> The original commit showed a ~6% regression in a benchmark.  The call to
> align_timer(firsttick, period) rounds firsttick up to the next mutiple
> of the period, if firsttick % period != 0:
> 
> align_timer(0, period)          -> 0
> align_timer(1, period)          -> period
> align_timer(period, period)     -> period
> align_timer(period + 1, period) -> 2 * period
> 
> So adding the period (sampling_rate) before calling align_timer() will
> in most cases incease the expiration to 2 * period (sampling_rate) (the
> exception being firsttick % period == 0).  This longer timer slows the
> reaction time of the algorithm.
> 
> This reverts commit a0ed5bcfbeee81c91c574ad484faa057054eaf09.
> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---
> This is backported in stable trees and should be reverted there as well
> (found in 4.20.3).
> 
> A Fixes seems superfluous and not normally used with a revert, but if
> needed:
> Fixes: a0ed5bcfbeee ("xen/cpufreq: fix usages of align_timer() in the on-demand governor")

If "git grep" is intended to (also) find such straight reverts by merely
matching "Fixes: ", I think the tag should still be put there.

Talking of Fixes: tags - the original change had two of them, so there
must have been a problem? Or, Roger, was this purely an observation from
looking the the code?

> --- a/xen/drivers/cpufreq/cpufreq_ondemand.c
> +++ b/xen/drivers/cpufreq/cpufreq_ondemand.c
> @@ -185,8 +185,7 @@ static void cf_check do_dbs_timer(void *dbs)
>      dbs_check_cpu(dbs_info);
>  
>      set_timer(&per_cpu(dbs_timer, dbs_info->cpu),
> -              align_timer(NOW() + dbs_tuners_ins.sampling_rate,
> -                          dbs_tuners_ins.sampling_rate));
> +            align_timer(NOW() , dbs_tuners_ins.sampling_rate));
>  }

As much as I understand you wanting to have things simple by doing a
straight revert, imo the formatting flaws better wouldn't be introduced
again. If I ended up committing this, I'd very likely take the liberty
of doing so. Yet before ack-ing the question above needs answering.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 06:31:30 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 06:31:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338671.1599703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZNKc-00065N-5h; Tue, 16 Jun 2026 06:31:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338671.1599703; Tue, 16 Jun 2026 06:31: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 1wZNKc-00065G-1w; Tue, 16 Jun 2026 06:31:30 +0000
Received: by outflank-mailman (input) for mailman id 1338671;
 Tue, 16 Jun 2026 06:31:29 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZNKb-000658-0r
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 06:31:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZNKa-004IHF-Dg
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 08:31:28 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a30edb3-2eae-0a2a0a5409dd-0a2a4509de04-36
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 08:31:28 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a30edc0-2497-0a2a45090019-d155802cad8a-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 08:31:28 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-490b1bbcf3aso30742295e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 15 Jun 2026 23:31: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-4922fa97227sm52927065e9.13.2026.06.15.23.31.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Jun 2026 23:31:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781591487; x=1782196287; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=y10XFG+2FXIPHRwy8fqM6pUjca/EM4vhaqsauDGPwYI=;
        b=CCQU7jDp1q65kdkMRIhJkDToInmB2o7hOmvY78dklRunniwe/ZLuA31fQKDQPdvnLW
         NfogbRXm1dJQB6GzWQc1zbRrHnvcbPz/y8nS5eXp5Lyrt/T47FkKLQb0aOEGgtN16mMt
         e0Oiw7NCudmkzB4Ho1jp14zVV5llb9wYjjPD9h7u6+nqGd0+p/QHGgWZ3EbqZCTWB1Aq
         DUIoh+PPsX3jz6DHFnUClqqnvoyTSE6jR8bXVWr8eYZCYClj3fjRVHI4vGDmxnHA/G6V
         ZfrIgb6MwZErrtw6UFyZ/Z+lL57NQrynFp0FxvreBtofMFjodoh75A6NMt7+AGkjIb6T
         oHPw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781591487; x=1782196287;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=y10XFG+2FXIPHRwy8fqM6pUjca/EM4vhaqsauDGPwYI=;
        b=ZuunrOHYy0H4ZoiC5ehBi2/UOSuqofeo/3hloDbYrh2uCghDf+e4KoDt78NM15qbUp
         eyiJr2tUH2gZl14A2asW9TW9Vuj6/GvSmwnKDZaTD5h6hKzNW7WspP4Nif+aPNZsnYNs
         6IvLoh7rLpTmDHr/SWNXm121ZqyGoHbsAS1K7HTWCNocjbxdKvulNL6Xos44sPt/zT+4
         sOmY3/LsHYhrnCLfgIjKLtRbp12MT69ayPRcnEaxGB0A2amI/XBKk+wXb56YaaEAJMqv
         AWxI4Wmc34FS5GIu2TJlkMYel0X7lgBonBgV6G6RfeX7oH/hCPyOY8IYBxTrRLoV5eFj
         48+Q==
X-Forwarded-Encrypted: i=1; AFNElJ8cdyCJdHVmr3BCmy/Hs0KIgwEtBQQlbepwUI8Gr0R9erO9CAv7n25TQ1kH5SP1I/npIXy/l7+WPaY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyhw34FjOrQArikD6KpYG6wjL7YQG+8OEo8xKYuQtuyxzvOWrhe
	KGA35IV95P+u+O631xkUCinQKXD0q9lHR4g0BiGb1T44fEcUoFlCqyF7Pnj5tY9emw==
X-Gm-Gg: Acq92OGwZtgxIafHS82cIfd2IOHgmZAAbvCTXbkEnC1KCf6mVJOM/ZUhGK1EcO54tA6
	uzK31Ex0IF9UOwym6/yzkUlr6RW71V3YdNyCV26jHNtiNh+xbVaKVXqawbg41NMqZ6budL97yPG
	pCvwXelZjPk6DcHlGkktROp9prgQso07FfSd0U0DzvF401SJi1QZ4H3Ff5Seuij7fUVOoL6E4m5
	z27f0olv2cq/T8+BatpGzhX+Fi/hsUuRI8PAsQ2UoJmoQ85iQfw7k0GdSA4bHfdjgLc26RIio5H
	FfZtTnCITVK6+hy5s81HbfgKesmDbcXwz1Q67eRkuICgc05UvMSm1rXIEqnfYtN9d3SyZawxXju
	zrAn2+VY29ENzqQgOmHL+PbYg6MlMWcK2Kwski5SrUPmhFlPiLMRCz4DsZ7e9tgHkh8tWKR3M6m
	Oi/SYiwLnCwciD/NoGok7X4Sy/hl9RHb4O47FmE087VspQCd4GxeJ1Q0vgdrXjwSkk9KPjMyQU4
	AuBX6wQBaWMDxs=
X-Received: by 2002:a05:600c:3151:b0:490:d354:bd00 with SMTP id 5b1f17b1804b1-4922ffb823bmr32257245e9.25.1781591487492;
        Mon, 15 Jun 2026 23:31:27 -0700 (PDT)
Message-ID: <ae26a645-7842-434f-b67e-88587380dc3b@suse.com>
Date: Tue, 16 Jun 2026 08:31:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Revert "xen/cpufreq: fix usages of align_timer() in the
 on-demand governor"
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20260615193944.19392-1-jason.andryuk@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20260615193944.19392-1-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1781591488-37979A53-CC912D5A/0/0
X-purgate-type: clean
X-purgate-size: 863

On 15.06.2026 21:39, Jason Andryuk wrote:
> The original commit showed a ~6% regression in a benchmark.  The call to
> align_timer(firsttick, period) rounds firsttick up to the next mutiple
> of the period, if firsttick % period != 0:
> 
> align_timer(0, period)          -> 0
> align_timer(1, period)          -> period
> align_timer(period, period)     -> period
> align_timer(period + 1, period) -> 2 * period
> 
> So adding the period (sampling_rate) before calling align_timer() will
> in most cases incease the expiration to 2 * period (sampling_rate) (the
> exception being firsttick % period == 0).  This longer timer slows the
> reaction time of the algorithm.
> 
> This reverts commit a0ed5bcfbeee81c91c574ad484faa057054eaf09.
> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

Oh, also Cc: Oleksii for a release-ack.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 06:47:54 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 06:47:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338680.1599711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZNaM-0001Fc-Cm; Tue, 16 Jun 2026 06:47:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338680.1599711; Tue, 16 Jun 2026 06: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 1wZNaM-0001FV-AA; Tue, 16 Jun 2026 06:47:46 +0000
Received: by outflank-mailman (input) for mailman id 1338680;
 Tue, 16 Jun 2026 06:47:45 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wZNaK-0001DS-QM
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 06:47:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZNaJ-004MxQ-JO
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 08:47:43 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a30f18c-bab6-0a2a0a5309dd-0a2a4509d934-12
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 08:47:43 +0200
Received: from [40.107.209.19]
 (helo=PH8PR06CU001.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a30f18d-2497-0a2a45090019-286bd113a059-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 08:47:43 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by SA1PR03MB6548.namprd03.prod.outlook.com (2603:10b6:806:1c7::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Tue, 16 Jun
 2026 06:47:39 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 06:47: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dgOhQPIRpd1E7RV8kcHYgwiru6HKbHCIOX+nJMfxspLAwSq+DP8HiQbD07EypV8g5EhvENlt78DPZi7O2xAf+tvGBoFAbMoxr0zbr+Z1xfRZT+9pFu8nat1XudENim6RfpRtY74KCG641b+tsaVwW711NInvszXaweeaBRnpRb/yMfKGl1ncdORNNKLj+zHox5qBhtdG1XU3/1ctvjqnGrVNtCcoqVZph4pU56KLykry7O4DA8iDeT2W/wqLVQWxl+w+IT8z7uo20pmEb2f9A7mjanTvjIULRJbtLfPq6hG+YZSoxJRCdCRuaZcbPrShPiPSTIs2fWWn+WaEEaIFzA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zn2S0ajeUitG6erztRvDBXWugCanY7dAJEDOOBeN9SY=;
 b=ta7Ha3rf7zRJL4Lo2WhBjpiyYUtfxUvlIF7+eBlTgF3HxCswpp4oELWrBjkdnK07LsJot5MUneRsX4uOS92PYq+rZXTaSAUDamGOlqJoUhWsAHtMBJG8yoMA/b8gnsuwGi3VilVvDorLw7TNJWCagy7PqFru6JPkZNPiOlGIemf5IkBPSmpwmWWy3+oBCxQgQHfD5WxwtiCQzTgw2gjJJmIlx61ld5FgENEk5neum8FktjrCoot0eLRerx1f7NODtuOHpBYUImsyvuboIUPv3T80x7zp8pfjjvoaLgjubMH+qJNqceu4+wiRpcsFObigPUhj2QsBKWNYwWBKCQv9TQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zn2S0ajeUitG6erztRvDBXWugCanY7dAJEDOOBeN9SY=;
 b=Eoy8cMi5V7avJmoU1INZq2p+x6DHjDD9B/4VAAM2TXovq5IzfMcWlBg8Dz0RH7ZWFp98Moq8oVcOPzgQOmNKKSWXIwRmE8LMndu2iGN9pni8FnKQATIANjTGqUfrVwhOveuYSq9QF9omXfH8qcIKwIDxwBVHz0W2uJsO5ITyyMQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 16 Jun 2026 08:47:34 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, oleksii.kurochko@gmail.com
Cc: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH for-4.22] Revert "xen/cpufreq: fix usages of
 align_timer() in the on-demand governor"
Message-ID: <ajDxhjCed3cQ81od@macbook.local>
References: <20260615193944.19392-1-jason.andryuk@amd.com>
 <1fbb67ab-09f3-4924-b6aa-139fc5d1acc7@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <1fbb67ab-09f3-4924-b6aa-139fc5d1acc7@suse.com>
X-ClientProxiedBy: MR1P264CA0008.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:2e::13) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|SA1PR03MB6548:EE_
X-MS-Office365-Filtering-Correlation-Id: 3ea9c72d-c15e-4819-3cd1-08decb732819
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|23010399003|18002099003|22082099003|11063799006|4143699003|56012099006;
X-Microsoft-Antispam-Message-Info:
	miiUVsikFkFGMFqDN00MAwkoaF0Ulx82d1oQfOIUTMmJ3O4u3RaM7ESNFv2amRSAlyeZdbC8hNSO45JbHSggg8VBaTlGpEhZiy8GRSwoZT4mXURrAl/2+s6KNsIupWSukPSGSopV1qGUfAO6F35SOPBEviGnDx0641b9Y2c4EHhuEuonJkmFLSUxE3i54tXDyULHdFrX+bLxZ7MCpaWE4ETvpmlv9q5IWge/JYyOX1y23x68OeHVk0VIvJWkv1kcLNPUtbyLfA8AQdo2lJ63QzKSWvonLXCIZkh2Z3VrQLLljJ3T63DgtXShkq9KWwXPtJTbc0iw5J9I5QINnGdnSyMQn58JuINq2JC25dm92HWJNFXsbI0mmMcznor7kX30dbypD4Mx8poB73FnrcBQRWzWKgs6cQvjkJOoWfnziKIl+ApuiR//YYaey4XN7dls37gCK3KrmBH33Bwn/Lu0sv0OG0Kw3JQj3uAFNSteq+MstOJuRIxhWOhDVYVmqxFkWEzmiSkVp+VGZXqdqCK0fuUIQk/RjNT+dN9hfwVbvHfys56XfgvXHb+WnxZsOubV6IFctKKNb602IsKPYU9ukZzZY+7SqYwn8AZfPoWOIIMTaUZXrdq7Dua9KstM2Opyo9ZCxiSm6iN7b23AbxOCObsqzZpKMONYFdg6j8/4jAlstJF8ln5FJ2g+8RVW46rT
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(23010399003)(18002099003)(22082099003)(11063799006)(4143699003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MkVjQytQbWZZRlNVaCtXdjJOVFNCY28vTGZWQUpKU2ZNRE16QStkN0p4ZnA3?=
 =?utf-8?B?Z1FQSFhuTlVYWUM1czJwY2dacXZaekk2aEl0YjJTUkZEMUZUVWhFeVY3bFZJ?=
 =?utf-8?B?NDFGSHdrSUZ0V3NiSmRTZkpSN05hbHkweFNDa043S1owU0xsQXVUNUR5M3lx?=
 =?utf-8?B?VmhiZ2xuNzhDOE0zTURnajVzdVg0d3hIK09MNHRBY3BDbGxHQURPUEhBWGxj?=
 =?utf-8?B?dTRjODQxWDhlU1BScFRCK0xjUnE3L1VLVmNxNmJuZGx0blpWSEwrNFE5NS9K?=
 =?utf-8?B?WTVCaVlodFBhQW42enFRcW43bTQ4b1I5MHIwOEljN29BYVd1UGRTcEszT3BX?=
 =?utf-8?B?MkFOOVBrck4yakJ6V1dNdDhpb3IxaHdiakZ1VUtCdjJMaVp4bjl2Q0xGUm1x?=
 =?utf-8?B?emh0OWxGZENCakd4b0JJMWVEeDdMa09WMmQvV1A4dW16djhyREdUVTVMbGQ1?=
 =?utf-8?B?Sk1Va3lNRFR1Q2FhbWNRZ2o2UlJmclVUekxoelJtSExIVmljL1VKNzhEajRn?=
 =?utf-8?B?UDROMkFBcnBiTmNCbEEyL1hLa2JVS2JLbkl0cHJZK0N0NEs2S0Q3cFkxc2pa?=
 =?utf-8?B?bEZjMEdpcjFjWEZCL0kvS3BCSGdoVURJU2hSTHo2Nmgvc051bUNaeWsxQnUv?=
 =?utf-8?B?am1KbkNiQ1hnWC9ENjU0dGlaUEF1M0Y4aklibkNPRHJFcEdUQXYyNEZzNDFm?=
 =?utf-8?B?ODRWNWFJTUhWT2tFaUh5VEYxVzRZd0Fxb1lMR3Q1alFNOUpkdk05dW1QTjI5?=
 =?utf-8?B?c0Vja3F5QnlTRkhSTE1wZFBlNmlQWGdLSi9CYzhRZ21Jb3ppbHlPZjBZcHpZ?=
 =?utf-8?B?QTA0cmN4OStkZldHZXVWNldZM0svUWhvcTErYkRzS1VpaWQ2c2JSU0pQMjNW?=
 =?utf-8?B?MXdsQy80VTlad2hNUzFPRjdTbHo1Y1NVSUJRLzdCc0FrZHVQSUpoWlRGUjFV?=
 =?utf-8?B?a0dTbm5kZzhNMUNZVkdYTHBJM2Fyckh4bDBuV3hWZFBPa1ZOTkFrbXpvY3Iy?=
 =?utf-8?B?emdKR1cyQWVNWDJ3MkVERkJWeEo4TTYzYS9CT2hEYlM2amQ1d0NIZlY4MzlP?=
 =?utf-8?B?VkRjTFNWWnMxMUtPWGp1d25nUXdvY2FJRlBvS05sL2hJZlFqMU1ZVjl2bWtZ?=
 =?utf-8?B?Y1VkaU1OdFVVT0tvS21TMzRQcm1uU0RYSXQxcHBLSit0RUlLWGQwSm1wKzB1?=
 =?utf-8?B?TEQ0Nk9NdlJRTWtZRlFKODBzZmE0Z3BlM2taU2FjOWZrRzRDQzUyaUdZczlm?=
 =?utf-8?B?SnNUL2FkWTBsZ1JiSTkyV05ibGxWOExicWk3Ui9pYThjOGRJcmZKRkUvSDhk?=
 =?utf-8?B?MGR2WDg4MDVZb0RSWUFTbEszMlRqVksvMzRDdThmVnZOWlZGNE1DZVA4dEE5?=
 =?utf-8?B?eG5SbHlKN2JEeVVtMXhmS3l6a2tIR0ZPcHpseGdyK05qT2VEMnBsbW9NeGM1?=
 =?utf-8?B?RGNXMEZyemsweEpOYjVDaE8yek04MG1GaXhWSzNmY1RnSzRDRTRpemVDR05L?=
 =?utf-8?B?UGNKamhOaUZyemIzMFBGM2tka1NvWTFkMVBoNllPYTNmTW1vSTlwM3EzN29H?=
 =?utf-8?B?cDZLLzg4ZlRXSGt5TU5KZFArUEN1aDJnUE16MDVzdmE2NmphMVFmMlNUalFv?=
 =?utf-8?B?NzgrRkVNZ3Q1eEQxNkwvVFIvUGZGYnhuNzcrWDhkbTRmOXdBeFZKdWtQOWph?=
 =?utf-8?B?NzR2Vjh3eEc0MEd3TTlFTDhVN1lVMWQ4dUZRSXBmUW5jaUlJM2Y0NE14NzI1?=
 =?utf-8?B?U25mb2Y3RHFJMDZaQkt1MnREd2REZnVlNkZ5VHh5TVdYYWdSUTg0Vm9mUUxO?=
 =?utf-8?B?WnNaMXU3K0t5bjhVY0lwMmdlMFBnT2luUEhqekNTN0paUzIrZlFqQ2tHWHk4?=
 =?utf-8?B?cytpYis5UmNNSkxkZFUwVkxGdVZrRjBWbFNHeER5S3ZiUHRMY3k1ZG1zcVk4?=
 =?utf-8?B?dXpZQ1Y4ejVqbVhHREJuS3RsdFVFa2ZaNnd3QVlodFUvZFF6TTZWWUJuSFlp?=
 =?utf-8?B?TnBrejVWaUVmVlFFamNGMWtlQkhjVUh0L1k5RkwzeTFmdjkraktCT2Y2OWFY?=
 =?utf-8?B?Zm9ObEF6RFJiV1hqQ3RzVGZrVlpkVytRZXVOaDVGTWxPS2xHL1E3RHEwK1Rt?=
 =?utf-8?B?OFFSNUMzUHJZb3RTNGdaNHJJY2Y4K29CZ2Jqc2kyMUJXSXF3K01RamNQNjJt?=
 =?utf-8?B?bW9YbkxJcDdYc0lla1E4cXJKdUJ3cHZaR3l1bDk1czVOdHFvYXVVYm9MeVUz?=
 =?utf-8?B?L3pHai9ueTE4ZWsvaGQ4dHRxTmJiV1RLOEU2ZmN6N0phL0Jxc2tDcjQ2b2VH?=
 =?utf-8?B?MG9xRjhneXM5NEpBZThzeXlsVXRma1ZwUDJ4TExJSWdZR1kra2ozUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3ea9c72d-c15e-4819-3cd1-08decb732819
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 06:47:38.9665
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bOPZGmeNtbl9LNToeoo3kof1BfOCADnOEtkbUM3Il4mMVBnsMvmpOAuAeYvWSFyhwqrxsM4wrcYIb+JOMaOPlA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6548
X-purgate-ID: tlsNG-bad1c0/1781592463-8A788A53-B8429192/0/0
X-purgate-type: clean
X-purgate-size: 2780

On Tue, Jun 16, 2026 at 08:30:25AM +0200, Jan Beulich wrote:
> On 15.06.2026 21:39, Jason Andryuk wrote:
> > The original commit showed a ~6% regression in a benchmark.  The call to
> > align_timer(firsttick, period) rounds firsttick up to the next mutiple
> > of the period, if firsttick % period != 0:
> > 
> > align_timer(0, period)          -> 0
> > align_timer(1, period)          -> period
> > align_timer(period, period)     -> period
> > align_timer(period + 1, period) -> 2 * period
> > 
> > So adding the period (sampling_rate) before calling align_timer() will
> > in most cases incease the expiration to 2 * period (sampling_rate) (the
> > exception being firsttick % period == 0).  This longer timer slows the
> > reaction time of the algorithm.
> > 
> > This reverts commit a0ed5bcfbeee81c91c574ad484faa057054eaf09.
> > 
> > Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

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

Adding Oleksii for a release-ack.

> > ---
> > This is backported in stable trees and should be reverted there as well
> > (found in 4.20.3).
> > 
> > A Fixes seems superfluous and not normally used with a revert, but if
> > needed:
> > Fixes: a0ed5bcfbeee ("xen/cpufreq: fix usages of align_timer() in the on-demand governor")
> 
> If "git grep" is intended to (also) find such straight reverts by merely
> matching "Fixes: ", I think the tag should still be put there.
> 
> Talking of Fixes: tags - the original change had two of them, so there
> must have been a problem? Or, Roger, was this purely an observation from
> looking the the code?

It was purely by observation that the current timer setup will very
likely fire before the set period, making the sampling intervals
possibly shorter.  However shorter periods are fine, we simply
over-sample.  Longer periods as shown by Jason have an adverse
impact in the response time of the governor.

> > --- a/xen/drivers/cpufreq/cpufreq_ondemand.c
> > +++ b/xen/drivers/cpufreq/cpufreq_ondemand.c
> > @@ -185,8 +185,7 @@ static void cf_check do_dbs_timer(void *dbs)
> >      dbs_check_cpu(dbs_info);
> >  
> >      set_timer(&per_cpu(dbs_timer, dbs_info->cpu),
> > -              align_timer(NOW() + dbs_tuners_ins.sampling_rate,
> > -                          dbs_tuners_ins.sampling_rate));
> > +            align_timer(NOW() , dbs_tuners_ins.sampling_rate));
> >  }
> 
> As much as I understand you wanting to have things simple by doing a
> straight revert, imo the formatting flaws better wouldn't be introduced
> again. If I ended up committing this, I'd very likely take the liberty
> of doing so. Yet before ack-ing the question above needs answering.

I wouldn't mind adjusting this at commit.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 06:49:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 06:49:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338685.1599720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZNbx-0001sn-Mu; Tue, 16 Jun 2026 06:49:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338685.1599720; Tue, 16 Jun 2026 06:49:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZNbx-0001sg-KA; Tue, 16 Jun 2026 06:49:25 +0000
Received: by outflank-mailman (input) for mailman id 1338685;
 Tue, 16 Jun 2026 06:49:24 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dongli.zhang@oracle.com>) id 1wZNbw-0001rV-Iv
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 06:49:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZNbv-009tqQ-UW
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 08:49:23 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dongli.zhang@oracle.com>)
 id 6a30f1ec-5cb7-0a2a0a5109dd-0a2a4503ea6e-40
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 08:49:23 +0200
Received: from [205.220.165.32] (helo=mx0a-00069f02.pphosted.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <dongli.zhang@oracle.com>)
 id 6a30f1f1-672d-0a2a45030019-cddca5206f24-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 08:49:23 +0200
Received: from pps.filterd (m0246627.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id
 65FJhX6f1349246; Tue, 16 Jun 2026 06:48:41 GMT
Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com
 (iadpaimrmta03.appoci.oracle.com [130.35.103.27])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4es1acbwhw-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 16 Jun 2026 06:48:41 +0000 (GMT)
Received: from pps.filterd
 (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1])
 by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.7/8.18.1.7)
 with ESMTP id 65G6mVDV022583; Tue, 16 Jun 2026 06:48:40 GMT
Received: from bl0pr03cu003.outbound.protection.outlook.com
 (mail-eastusazon11012005.outbound.protection.outlook.com [52.101.53.5])
 by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id
 4erwnq4jsm-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 16 Jun 2026 06:48:39 +0000 (GMT)
Received: from BN0PR10MB5109.namprd10.prod.outlook.com (2603:10b6:408:124::23)
 by SA2PR10MB4540.namprd10.prod.outlook.com (2603:10b6:806:110::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Tue, 16 Jun
 2026 06:47:42 +0000
Received: from BN0PR10MB5109.namprd10.prod.outlook.com
 ([fe80::d9fa:7ad2:804b:bb83]) by BN0PR10MB5109.namprd10.prod.outlook.com
 ([fe80::d9fa:7ad2:804b:bb83%6]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 06:47: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=corp-2025-04-25 header.d=oracle.com header.i="@oracle.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-oracle-onmicrosoft-com header.d=oracle.onmicrosoft.com header.i="@oracle.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=
	corp-2025-04-25; bh=PBjsNmogYJDFNJNERnWkReC1Z4B0usGw7EMqGw7tZJk=; b=
	Qs1MUN9EaqRtiXC70wKCzT3gD/tP5tnvnmk0ewvG8s+Kz5valnKB2EQ0YEPbhH5e
	SQwp5PX2PLo1svr9oTiLroFpsTbY9Qfi0jK3G7D6Ha4TEJyNCtNtP/eo5pOr2hD3
	4DWgpryLqtVMSHWHRnyiAqAWAnMxUrfDzfI3ZoJykmKc7FtXXiA2nlTnzQcAkvGB
	DuTSyOQcnXdhs3ucfR/HLeWsqyvMrATH9MQSR7rMtzKKSuCMOYVZcMqNdVn4BXfA
	zofWH71bWRaaeZhNQ2gE/54o5JZuGPA1w0MSiWrXGGyKmAlXMJv8haNf39xZUNLV
	G1hawdYW9qgajsjgeOSyVA==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Cd2ICzqx2/Y9HQdnST7U5KOo34EHX5qqTpFrejphSETyAS2LlfHl1iUsTfARKw/eqi9/7uOIetSjtMsrR4tDFOV19u93s7AIzXr6SHc6gd0moyHxTxvepx2QgK8gvKqAajS7IZGGzIvAO9C9vOuYqthfpzYuAeXILH0lqZ6NcD6CsOAdIpDCCgxHY4e/jnKoB08rUdkm6AT/f209DRv9FM658DngXIduy5qX6ERLaA8kcCjnNV51pvQ2gysYBhynnErwj/+Sa7uocQDDHIjqobxJRqpHjwyGFTA9jwOEsavqMK0J5/G/tBAVA5iR3uOQjKhcVZAcSpE5RuUAOgzMTw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PBjsNmogYJDFNJNERnWkReC1Z4B0usGw7EMqGw7tZJk=;
 b=ib48SsWPM9r+UonPCZcCNvaqXuqS1BJ8oprkyDSeH0XWxwx42uxBy68OHFDNKma/Oe0o8a9hvJNeI0E4i4YLgtsst854qbsyIiVBGsOhbSjswj3SOyBoemhHWTeHYAL5bh/Qyc9o3J2PEuSSPdFpBO4W6gIpk8zW1l+ALTSWwbJgycj8p+4ZZOsaR1p/yENb53w9tQv0YP00PoBslnRv67g/JR8i7ZQECy4/ajygbNtbrS84OXiety1W3QTaf0PxprSrkJpXnUtjRgf4BZvSeEt9waOBlBoDo3/c+h9SeTJn8cKZyhu6Im8Lo3gRxQOKytc1elhlIgXS2Cy2I/iQIg==
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=PBjsNmogYJDFNJNERnWkReC1Z4B0usGw7EMqGw7tZJk=;
 b=l81Kt9YYbQjfxP/WeZpjIhWUhOW3H7Y9KmgFrK6/+41LeaurzK0bL/QKd/pqAH//0jI5Xn3QJpWsV1Ub8AFl1B9ScyADjYmiyL+MnY6BiV7QiW/9pm0E7k1WFnR0i/+IxHqDPAXpBOwP04kNtGniwZ1IHVtM9h6yPy4rlsLOSQY=
Message-ID: <77f541f7-b346-4c86-8e66-3d2439e29cbb@oracle.com>
Date: Mon, 15 Jun 2026 23:47:39 -0700
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 04/34] KVM: x86: Add KVM_[GS]ET_CLOCK_GUEST for
 accurate KVM clock migration
To: David Woodhouse <dwmw2@infradead.org>, x86@kernel.org, kvm@vger.kernel.org,
        linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-kselftest@vger.kernel.org
References: <20260608145455.89187-1-dwmw2@infradead.org>
 <20260608145455.89187-5-dwmw2@infradead.org>
Content-Language: en-US
Cc: Paolo Bonzini <pbonzini@redhat.com>, Jonathan Corbet <corbet@lwn.net>,
        Shuah Khan <skhan@linuxfoundation.org>,
        Sean Christopherson <seanjc@google.com>,
        Thomas Gleixner <tglx@kernel.org>, Ingo Molnar <mingo@redhat.com>,
        Borislav Petkov <bp@alien8.de>,
        Dave Hansen <dave.hansen@linux.intel.com>,
        "H. Peter Anvin" <hpa@zytor.com>,
        Vitaly Kuznetsov <vkuznets@redhat.com>,
        Juergen Gross <jgross@suse.com>,
        Boris Ostrovsky <boris.ostrovsky@oracle.com>,
        Paul Durrant <paul@xen.org>, Jonathan Cameron <jic23@kernel.org>,
        Marc Zyngier <maz@kernel.org>,
        Sascha Bischoff <Sascha.Bischoff@arm.com>,
        Jack Allister <jalliste@amazon.com>, joe.jin@oracle.com,
        Joey Gouly <joey.gouly@arm.com>
From: Dongli Zhang <dongli.zhang@oracle.com>
In-Reply-To: <20260608145455.89187-5-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SJ0PR05CA0185.namprd05.prod.outlook.com
 (2603:10b6:a03:330::10) To BN0PR10MB5109.namprd10.prod.outlook.com
 (2603:10b6:408:124::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN0PR10MB5109:EE_|SA2PR10MB4540:EE_
X-MS-Office365-Filtering-Correlation-Id: a858dcc5-5782-4abb-2a0d-08decb732a45
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|7416014|376014|23010399003|22082099003|18002099003|3023799007|4143699003|56012099006;
X-Microsoft-Antispam-Message-Info:
	DYIClzSVTp3sAqy5/1XAbk0wUHMK54c/0EXWxKHFwUV/V5279UuwQPuNu5+fFDg4HbB9bjaWQ9K89NDWm6Vx+Za6ZwsUsW8NPZpfB6OvnllL7baelArT9LtpjSol55qA2WaxWKOWwpmv5MVd3Dk7JKXMPhKCCyI0vYX8I2NiNAOrr//T67vkzJ0v5XXdcl7Lggg7u5Xw8Hm1yzE48VLjOFPVroHee159Lt/5RHO7VLXQPnmp30wIoNyvqEeiJRwGJ8/mesZd02W+MKXz8/aL0Ht/xLQ55mrp19aYQuzSW9EQCJ2pcJ8n/z7whWoV1TkrDBZJOoQT9w8M0cM+qhbpPC205G8YBymK9HYiKK89rXLTTzd+7y9yD4FMET82zjIuCfz/mHaNnAAUlfZHSZ4f0BT35TIeRFBZRWTvJi6qQqG0F3oI3VjyKq9lVqaL1/YXBrwt2TbW4kfPY/Y2mzsnt61tJn+p/TjFdyYOOBeo+ZxT48XhA72q2AeOVEN0lg0mAXuAS/A4y333VX/Feb825RHrszq1HF0HvSoPBRlf20osac+/lwxAGjBtqfFHi07XZOEIEOB9M8BK8tjdlE10jH6dbwEuKxPJPFtVvaW4nhOWSOqChOm+rTCWt1LHeY34975/4X3FNrvanhn7M1pflb/hUDAC2q457ZnqA6p8mDhIFo70yK8mTAwH6J3TYg/TYMOUOqrmAJNtRNIUYzAS0g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN0PR10MB5109.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014)(23010399003)(22082099003)(18002099003)(3023799007)(4143699003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MVJMVytxcGhzYnBIdTlFVDlZWnZDcG14bnZDb1g1bXRBUVM4Z3RSenZ2VzB0?=
 =?utf-8?B?amNoaFM5TzN0UkhuL2swL1MwZFp1LzViajlRSVY4R1JiTm94dUR4czNoTUwv?=
 =?utf-8?B?NWJlRXQrRmpKVTBBRWMwVCtDMVVKeVJ0T0RwbWhGRnhCUVBNZHU0U254aE1K?=
 =?utf-8?B?MTkzZDFXOEViaVdFTFMyV2h0OWdWSFc0d05HYUxDZFV4aGxDdXJ4YWNLbnFs?=
 =?utf-8?B?b01UakhZL1c5Z0VwUGNJR2QrUXVsUFQ2UlpDZ0w4WitlVnNlbG15dVA0alIv?=
 =?utf-8?B?UDB3L3hrS0lpd3VoTEc3dTlJWjZPSVg1TmpEd1RPRzdFUG9TeitTYzY0SUIr?=
 =?utf-8?B?QmhYTTB6Qno0dEhnWUR5VHlPbTRNQkVUUUVRcVlxblpaWUxPM2VrRlpKUVlC?=
 =?utf-8?B?cEw2MGg4SElIRDVpZ2NDbXFIL09TemFNMXhOdjZicW5YSjQzK3N2dlY5Q2JL?=
 =?utf-8?B?S3ZMTm80NDl6ZjZwV21xSit6d1MxUWQ0TW93Y2pHUnBCNDRUckJDSlo2OUEv?=
 =?utf-8?B?UTFha0JBbk9IS1FZNEVxNE91TEJQNzBTUDRMMTNqc3VMWHhmN3JVVmJNdjhu?=
 =?utf-8?B?R0wveU1kRFBveW9WV1Npc211aFJmSkR0OTJlZnJHR3g5NkRrbGV2L25SU3pE?=
 =?utf-8?B?bkRjY1ErWkwwRE0zTGttWlNUUFFWNG51UXVNSFF3eUNoS29nVjhQYUlYMTdR?=
 =?utf-8?B?R1pySG9kc242SllxeUpoU1NuQTdZeEdsY1FOV1dxbEhTNWpvSGpLdUdseEp4?=
 =?utf-8?B?dGVNQnJ4MWVBMlVZUTM3bXplK0xMaVl6RisyekQ5YUdyRktTUXcxWGN1QzJE?=
 =?utf-8?B?WTRhbVdVTzB2UjRmOWZtcHBLUFA3bGkydEFCdHc5WUIxQjJ5T2FRYlcyRExP?=
 =?utf-8?B?Y253WVlPQnRYbUdkQTVaUk82eStUUzd4TWdwQnV1OWtOUHBSeFNkeVNUM01D?=
 =?utf-8?B?c1d6ZjhtNXMxaEx1R0VnRStXR2hZR3dxUTVjbGxGbGwyVnJUNmNlRWVIWk5Q?=
 =?utf-8?B?UWhpbGJFNHZURDI4K1E4b1Q0KzhMQlptWGNadjZZNzVzbHdaVGo2N1JuQmpM?=
 =?utf-8?B?SHppRHZicUVocm1vMkg3VDRtbDFJQjI0WThWUTlGTDlDTUFsa3g1UnlZdmk0?=
 =?utf-8?B?OGluTmo2RmhjYmROL2V3eEQ0cEZyd1pyZFBYa2wzSndCQmplbUtWTmRmQjgv?=
 =?utf-8?B?RWJKSXNPK2FVdjVpdk1zVGh6RWExOFdjbk1sUWxwdGw2a0t6VVQwaXFad05S?=
 =?utf-8?B?MGhxTjArODgvVXE3MzFBWlVGclNsRS9ZMFh1K1pKQ0NFYVA4MVNVSkpUTmpJ?=
 =?utf-8?B?c1Fpejk0VVRtTG1XYXh3N3RRNWJqMDlHVmxzRkR5d1ZLRVV6alNYWnNCTWdK?=
 =?utf-8?B?VFFLUW96SEJESFora3VLZG40V0lKRHR2QjA5YTRzaUdpRDhNN3dhVVNWWHpa?=
 =?utf-8?B?RmxIaWFCeitBR2hvWXpESThISlBCODJkT09JKzVwUUJCSEp1eUt5dmM3U3B0?=
 =?utf-8?B?M0xPMllvQkNZejdlRWU3NnZLeG1hMXc1SVFiaUd4azYrdXpRMGhHa2JLaDVw?=
 =?utf-8?B?MmF2QW9DOStOWUg5Z3N4T3dTdEUvRHpQcUJCM3p6S1pUTHMweDhEVEJPZHdD?=
 =?utf-8?B?em95MUZLdnVVTnphN05pU3o4VHBxQW82TFlteUlWclcxUnJWRVo2aC80YXM5?=
 =?utf-8?B?bmxCMkN6akREN3ZCZnFvVkFDekE4NXpYNndaQ1dNQjNCNGtjVEZlMEF5a2hP?=
 =?utf-8?B?UUhPZmNMVjJmRXVKMTk0NFU0NXJXTjVRQWN6Vk5WalhaU3ZyUDFFNy9XclBj?=
 =?utf-8?B?M3VqT2ZOZitKTGtOSVBRQ2wvbG82R3BSbzRPNXdDYkxzRFpGMjhQL1hITDg1?=
 =?utf-8?B?OTVzQmVYN01lK3BDdHFRSHB2dTZYRlBHVEc3eVl5NXVMKzlnZXZreTVrMS80?=
 =?utf-8?B?M3FMN3lZcWxpK0hQSm1jZExoZ1RXSHJ2L0wwQ3lUSGtJTkI0Qi9YbVJsUDJx?=
 =?utf-8?B?dXRNL0N0eWh5UmdTV3NVd3I3U2hrWk9DK1BYQ3htMVgxYTB6Q3pnaFQrL2l6?=
 =?utf-8?B?ZjVqVzAxY2NQL1IyaGR0YUlzelh2TFFsVGRXcXZ3ZG82bXhGckFpSkl3eWtI?=
 =?utf-8?B?TDR3bWUzZnZQTFM4cENZV2ozUlJBcFBISG9saml5d0dGSmdwNGd4dC9oWWhP?=
 =?utf-8?B?cndNbEczbTc1ZDJjZVlyZkVEbm91WmxEY3gxeE9MQkI4ak5kNndUeXllWTlY?=
 =?utf-8?B?UndWTzJ1ZUVqS2xmUVllUkl4YVdsWmhPUm1ITEozS2hxMGtCT1FyUldjTWlV?=
 =?utf-8?B?KzlHRmhiTTZaSWw4bVhrNGRUbDZFaVFTOElXb2tyQ0JLTTR5VmNVZz09?=
X-Exchange-RoutingPolicyChecked:
	ZR++TwQ1b0x4OJVFCxhyfHjAXJFpcWXUa4mbshdU/bKpJztpvljSJKd4X+XOXaDWV6MO+HG5BightjgLKXIPw2HFCvAHnJcCng3QLsWMeEHtlVyR62cWBfcKWEgKMSJgYQtDHHe2tZkkAAI64xr4u6UR326dgVBh9GBMdOPEEtgk3/Uf+vDK5Cxrusm6d7f4V2IVq1s/ToaD8w3kt7P8Bq1RrrTxYu8HNhA9kuGDBqzJJ/ZgQdsE3LC0T/zCNdzzudRE+ImIxof/5n56D5b5kg7M9/nfHsN+vYUApqNjNoa7esM9yuki2oXpQFSrqtLwkGFIjov3l3Ar3TDQDZ7WcQ==
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	KiMFHKzRvpPoJLFvnwreo0giIm65TSoouCdkmtMd1QdF7Oz1F91uCse+Mb4UR/b1/C46/Ku5Mr9ne/a3l5tWJ/wpni5wMEL8itZWdlCkFcUmJZri00AHeLYe+c9dIUVx+0znpjQ6jPWlKMr3C8kY5dNN0nw5d99dqAg3k5k+cYYEMXPPytAlGLVfmpRkBcyAuWHSu3+zCpSM5/9OFZ48Xr2sF/4hxJ1OEllT0xHE3eSZADN0PQaPwEBoyPdQdX+BZDUxbgfP+QrEj0W9x94Gdns0995k/jBDTUVQrOY+H3gby9FuOQwJJbrhoELkVM48RMndDaLiFUkjmer+05dK0zws7JlAwTDiZIDjU9VgpepzZ9p12a/g8316ydk/1p4qU0lOe42Hc0PFcmIViu1hJyTOIQhKp72CKIV0legLI4MTGNClcHz9j1CxWcublZoLIdh0vmWm/1dbpxQdD8JoHpIsafvKd1bYjZPqEL44DscCKDLe9SN6/WhEpBb/55rVcrdljNQbEHK9cbWB1GhUG+TOzQ3JF4bqaYPsxAR8d6QqXAAwXZusBlI4upMyIily4mM20PEDIuPuD71GNmfVMyqiXgo8bNFj+xXiZEuFWJ8=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a858dcc5-5782-4abb-2a0d-08decb732a45
X-MS-Exchange-CrossTenant-AuthSource: BN0PR10MB5109.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 06:47:42.7065
 (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: PiBEOcrn5MEnPqf38+sPcEJfX+ET2OzK2d1RsaOWVm4ed3e9dsdpSivGbtQF7eaZ5L0PTPnGbU7hwVccs/0OwQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR10MB4540
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49
 definitions=2026-06-16_02,2026-06-15_04,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0
 phishscore=0 malwarescore=0 spamscore=0 lowpriorityscore=0 bulkscore=0
 suspectscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0
 reason=mlx scancount=1 engine=8.19.0-2606040000 definitions=main-2606160066
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE2MDA2NSBTYWx0ZWRfX3XnmVOlkedqm
 d6Q8+SMsIFt+vl8Qaxv8Li3GvU5zvVtTEg7iUuTTXRKuvLc3EKnCpazet11EFE21z1GBIshFNYL
 FizqCjvlK2KeLOtZN/GXEFo5U05y8PKjoM4uf5zwdzNlOFrBrjokECZcnTw7YDYscr1vTERNun7
 MJsAJWeg6qb4vRdwMrLd1RjMLbpw5dtUD9TvTHtLqRiATOG+4oa3bax/nTrxszh0Fd0pHIb7Jdh
 dhH9OJJLwCm+I46vEy7RU3l8RU2C1yeYUVYv+PNHDkPbyLern5X62AkGaBP3PTWYcFSyGgHZo1b
 YLaOi1nqC5oldmUYOz7O7cgMDOe8VEg4IUM8yGXWgQ/qT9IPMbNmbXicZUQJaJsKwrOpdrc3iQL
 l7cThqXQolHLr0yhIqHZxV22Fa1g51VHvALpt4O/T6boc7FaopTyma/SfIIAphJYiyXXUOYOfEd
 p+ai7Cra3v9aOFTLWEJDcF0wkF+mmt1lNnN9WAQE=
X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE2MDA2NSBTYWx0ZWRfX0i3umPsQnfqW
 1m2U4O1Ywbdp9p131gJls0xg9o5cfUbGW56J2RmTTXtPykeedMEyfXatRD/pybype/JW6B+Hx5u
 iJLh4GafO1FQMspXH+KmnHiVBYbq4S7nRbOoVP/8g/eYNn7yZW7P
X-Proofpoint-ORIG-GUID: FeX2pajFOXgT-37ZOnZ8gQrdR972yi-M
X-Proofpoint-GUID: FeX2pajFOXgT-37ZOnZ8gQrdR972yi-M
X-Authority-Analysis: v=2.4 cv=IqQutr/g c=1 sm=1 tr=0 ts=6a30f1c9 b=1 cx=c_pps
 a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17
 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19
 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10
 a=FelO9ux0wxsA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=jiCTI4zE5U7BLdzWsZGv:22 a=RD47p0oAkeU5bO7t-o6f:22 a=VwQbUJbxAAAA:8
 a=yPCof4ZbAAAA:8 a=vggBfdFIAAAA:8 a=pBOR-ozoAAAA:8 a=mLnsDVdbAAAA:8
 a=RXWFDia8kwHKEAyOmR0A:9 a=QEXdDO2ut3YA:10 a=xnp1pY6zelCj5OLna2To:22
 a=5yU3S35YU4bGjq-dph-N:22 a=Bho9c0fBagfJEIQBS7DQ:22 cc=ntf awl=host:12313
X-purgate-ID: tlsNG-33051d/1781592563-36D43938-EEA511F5/0/0
X-purgate-type: clean
X-purgate-size: 12766

I tested patches 02, 03, 04, and 26 by customizing QEMU to support kexec live
updates (LUO and KHO), preserving the memfd across kexec.

For my use case, I used KVM_[GS]ET_CLOCK_GUEST instead of the existing
KVM_[GS]ET_CLOCK. I didn't account the downtime in my QEMU code, although host
TSC never resets across kexec.

Clock drift was zero, and I did not observe any unnecessary master clock updates
after KVM_SET_CLOCK_GUEST completed.


Another interesting observation from my experiments is that tsc_khz changes
across kexec. Since the TSC value itself does not reset across kexec, I'm
wondering whether there is any reason to switch to the new tsc_khz value after
the kexec.

I previously sent a QEMU patch that takes advantage of your KVM commit
ffbb61d09fc5 ("KVM: x86: Accept KVM_[GS]ET_TSC_KHZ as a VM ioctl.").

[PATCH 1/1] target/i386/kvm: set VM ioctl KVM_SET_TSC_KHZ to maintain TSC
synchronization
https://lore.kernel.org/qemu-devel/20260210202041.153736-1-dongli.zhang@oracle.com


While live migration involves two different machines, kexec is performed on the
same machine. Given that the TSC value itself is preserved across kexec, would
it make sense to reuse the pre-kexec tsc_khz value instead of using the new
tsc_khz after kexec?

I tested this by using LUO to preserve tsc_khz across kexec, and the results
looked good.

Thank you very much!

Dongli Zhang

On 2026-06-08 7:47 AM, David Woodhouse wrote:
> From: Jack Allister <jalliste@amazon.com>
> 
> In the common case (where kvm->arch.use_master_clock is true), the KVM
> clock is defined as a simple arithmetic function of the guest TSC, based
> on a reference point stored in kvm->arch.master_kernel_ns and
> kvm->arch.master_cycle_now.
> 
> The existing KVM_[GS]ET_CLOCK functionality does not allow for this
> relationship to be precisely saved and restored by userspace. All it can
> currently do is set the KVM clock at a given UTC reference time, which
> is necessarily imprecise.
> 
> So on live update, the guest TSC can remain cycle accurate at precisely
> the same offset from the host TSC, but there is no way for userspace to
> restore the KVM clock accurately.
> 
> Even on live migration to a new host, where the accuracy of the guest
> time-keeping is fundamentally limited by the accuracy of wallclock
> synchronization between the source and destination hosts, the clock jump
> experienced by the guest's TSC and its KVM clock should at least be
> *consistent*. Even when the guest TSC suffers a discontinuity, its KVM
> clock should still remain the *same* arithmetic function of the guest
> TSC, and not suffer an *additional* discontinuity.
> 
> To allow for accurate migration of the KVM clock, add per-vCPU ioctls
> which save and restore the actual PV clock info in
> pvclock_vcpu_time_info.
> 
> The restoration in KVM_SET_CLOCK_GUEST works by creating a new reference
> point in time just as kvm_update_masterclock() does, and calculating the
> corresponding guest TSC value. This guest TSC value is then passed
> through the user-provided pvclock structure to generate the *intended*
> KVM clock value at that point in time, and through the *actual* KVM
> clock calculation. Then kvm->arch.kvmclock_offset is adjusted to
> eliminate the difference.
> 
> Where kvm->arch.use_master_clock is false (because the host TSC is
> unreliable, or the guest TSCs are configured strangely), the KVM clock
> is *not* defined as a function of the guest TSC so KVM_GET_CLOCK_GUEST
> returns an error. In this case, as documented, userspace shall use the
> legacy KVM_GET_CLOCK ioctl. The loss of precision is acceptable in this
> case since the clocks are imprecise in this mode anyway.
> 
> On *restoration*, if kvm->arch.use_master_clock is false, an error is
> returned for similar reasons and userspace shall fall back to using
> KVM_SET_CLOCK. This does mean that, as documented, userspace needs to
> use *both* KVM_GET_CLOCK_GUEST and KVM_GET_CLOCK and send both results
> with the migration data (unless the intent is to refuse to resume on a
> host with bad TSC).
> 
> Co-developed-by: David Woodhouse <dwmw@amazon.co.uk>
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> Signed-off-by: Jack Allister <jalliste@amazon.com>
> Reviewed-by: Paul Durrant <paul@xen.org>
> Cc: Dongli Zhang <dongli.zhang@oracle.com>
> ---
>  Documentation/virt/kvm/api.rst |  37 ++++++++
>  arch/x86/kvm/x86.c             | 164 +++++++++++++++++++++++++++++++++
>  include/uapi/linux/kvm.h       |   3 +
>  3 files changed, 204 insertions(+)
> 
> diff --git a/Documentation/virt/kvm/api.rst b/Documentation/virt/kvm/api.rst
> index 52bbbb553ce1..2268b4442df6 100644
> --- a/Documentation/virt/kvm/api.rst
> +++ b/Documentation/virt/kvm/api.rst
> @@ -6553,6 +6553,43 @@ KVM_S390_KEYOP_SSKE
>    Sets the storage key for the guest address ``guest_addr`` to the key
>    specified in ``key``, returning the previous value in ``key``.
>  
> +4.145 KVM_GET_CLOCK_GUEST
> +----------------------------
> +
> +:Capability: none
> +:Architectures: x86_64
> +:Type: vcpu ioctl
> +:Parameters: struct pvclock_vcpu_time_info (out)
> +:Returns: 0 on success, <0 on error
> +
> +Retrieves the current time information structure used for KVM/PV clocks,
> +in precisely the form advertised to the guest vCPU, which gives parameters
> +for a direct conversion from a guest TSC value to nanoseconds.
> +
> +When the KVM clock is not in "master clock" mode, for example because the
> +host TSC is unreliable or the guest TSCs are oddly configured, the KVM clock
> +is actually defined by the host CLOCK_MONOTONIC_RAW instead of the guest TSC.
> +In this case, the KVM_GET_CLOCK_GUEST ioctl returns -EINVAL.
> +
> +4.146 KVM_SET_CLOCK_GUEST
> +----------------------------
> +
> +:Capability: none
> +:Architectures: x86_64
> +:Type: vcpu ioctl
> +:Parameters: struct pvclock_vcpu_time_info (in)
> +:Returns: 0 on success, <0 on error
> +
> +Sets the KVM clock (for the whole VM) in terms of the vCPU TSC, using the
> +pvclock structure as returned by KVM_GET_CLOCK_GUEST. This allows the precise
> +arithmetic relationship between guest TSC and KVM clock to be preserved by
> +userspace across migration.
> +
> +When the KVM clock is not in "master clock" mode, and the KVM clock is actually
> +defined by the host CLOCK_MONOTONIC_RAW, this ioctl returns -EINVAL. Userspace
> +may choose to set the clock using the less precise KVM_SET_CLOCK ioctl, or may
> +choose to fail, denying migration to a host whose TSC is misbehaving.
> +
>  .. _kvm_run:
>  
>  5. The kvm_run structure
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index d9ef165df6a1..b7e5f6e3dc6c 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -6205,6 +6205,162 @@ static int kvm_get_reg_list(struct kvm_vcpu *vcpu,
>  	return 0;
>  }
>  
> +#ifdef CONFIG_X86_64
> +static int kvm_vcpu_ioctl_get_clock_guest(struct kvm_vcpu *v, void __user *argp)
> +{
> +	struct pvclock_vcpu_time_info hv_clock = {};
> +	struct kvm_vcpu_arch *vcpu = &v->arch;
> +	struct kvm_arch *ka = &v->kvm->arch;
> +	unsigned int seq;
> +
> +	/*
> +	 * If KVM_REQ_CLOCK_UPDATE is already pending, or if the pvclock
> +	 * has never been generated at all, call kvm_guest_time_update().
> +	 */
> +	if (kvm_check_request(KVM_REQ_CLOCK_UPDATE, v) || !vcpu->hw_tsc_hz) {
> +		int idx = srcu_read_lock(&v->kvm->srcu);
> +		int ret = kvm_guest_time_update(v);
> +
> +		srcu_read_unlock(&v->kvm->srcu, idx);
> +		if (ret)
> +			return -EINVAL;
> +	}
> +
> +	/*
> +	 * Reconstruct the pvclock from the master clock state, matching
> +	 * exactly what kvm_guest_time_update() writes to the guest.
> +	 */
> +	do {
> +		seq = read_seqcount_begin(&ka->pvclock_sc);
> +
> +		if (!ka->use_master_clock)
> +			return -EINVAL;
> +
> +		hv_clock.tsc_timestamp = kvm_read_l1_tsc(v, ka->master_cycle_now);
> +		hv_clock.system_time = ka->master_kernel_ns + ka->kvmclock_offset;
> +	} while (read_seqcount_retry(&ka->pvclock_sc, seq));
> +
> +	hv_clock.tsc_shift = vcpu->pvclock_tsc_shift;
> +	hv_clock.tsc_to_system_mul = vcpu->pvclock_tsc_mul;
> +	hv_clock.flags = PVCLOCK_TSC_STABLE_BIT;
> +
> +	if (copy_to_user(argp, &hv_clock, sizeof(hv_clock)))
> +		return -EFAULT;
> +
> +	return 0;
> +}
> +
> +/*
> + * Reverse the calculation in the hv_clock definition.
> + *
> + * time_ns = ( (cycles << shift) * mul ) >> 32;
> + * (although shift can be negative, so that's bad C)
> + *
> + * So for a single second,
> + * NSEC_PER_SEC = ( ( FREQ_HZ << shift) * mul ) >> 32
> + * NSEC_PER_SEC << 32 = ( FREQ_HZ << shift ) * mul
> + * ( NSEC_PER_SEC << 32 ) / mul = FREQ_HZ << shift
> + * ( NSEC_PER_SEC << 32 ) / mul ) >> shift = FREQ_HZ
> + */
> +static u64 hvclock_to_hz(u32 mul, s8 shift)
> +{
> +	u64 tm = NSEC_PER_SEC << 32;
> +
> +	/* Maximise precision. Shift right until the top bit is set */
> +	tm <<= 2;
> +	shift += 2;
> +
> +	/* While 'mul' is even, increase the shift *after* the division */
> +	while (!(mul & 1)) {
> +		shift++;
> +		mul >>= 1;
> +	}
> +
> +	tm /= mul;
> +
> +	if (shift > 0)
> +		return tm >> shift;
> +	else
> +		return tm << -shift;
> +}
> +
> +static int kvm_vcpu_ioctl_set_clock_guest(struct kvm_vcpu *v, void __user *argp)
> +{
> +	struct pvclock_vcpu_time_info user_hv_clock;
> +	struct kvm *kvm = v->kvm;
> +	struct kvm_arch *ka = &kvm->arch;
> +	u64 curr_tsc_hz, user_tsc_hz;
> +	u64 user_clk_ns;
> +	u64 guest_tsc;
> +	int rc = 0;
> +
> +	if (copy_from_user(&user_hv_clock, argp, sizeof(user_hv_clock)))
> +		return -EFAULT;
> +
> +	if (user_hv_clock.pad0 || user_hv_clock.pad[0] || user_hv_clock.pad[1])
> +		return -EINVAL;
> +
> +	if (!user_hv_clock.tsc_to_system_mul)
> +		return -EINVAL;
> +
> +	if (user_hv_clock.tsc_shift < -32 || user_hv_clock.tsc_shift > 32)
> +		return -EINVAL;
> +
> +	user_tsc_hz = hvclock_to_hz(user_hv_clock.tsc_to_system_mul,
> +				    user_hv_clock.tsc_shift);
> +
> +	kvm_hv_request_tsc_page_update(kvm);
> +
> +	/*
> +	 * kvm_start_pvclock_update() takes tsc_write_lock and opens
> +	 * the pvclock seqcount; kvm_end_pvclock_update() closes both.
> +	 * All clock state modifications between them are atomic with
> +	 * respect to readers in kvm_guest_time_update().
> +	 */
> +	kvm_start_pvclock_update(kvm);
> +	pvclock_update_vm_gtod_copy(kvm);
> +
> +	if (!ka->use_master_clock) {
> +		rc = -EINVAL;
> +		goto out;
> +	}
> +
> +	curr_tsc_hz = (u64)get_cpu_tsc_khz() * 1000;
> +	if (unlikely(curr_tsc_hz == 0)) {
> +		rc = -EINVAL;
> +		goto out;
> +	}
> +
> +	if (kvm_caps.has_tsc_control)
> +		curr_tsc_hz = kvm_scale_tsc(curr_tsc_hz,
> +					    v->arch.l1_tsc_scaling_ratio);
> +
> +	/*
> +	 * Allow for a discrepancy of 1 kHz either way between the TSC
> +	 * frequency used to generate the user's pvclock and the current
> +	 * host's measured frequency, since they may not precisely match.
> +	 */
> +	if (user_tsc_hz < curr_tsc_hz - 1000 ||
> +	    user_tsc_hz > curr_tsc_hz + 1000) {
> +		rc = -ERANGE;
> +		goto out;
> +	}
> +
> +	/*
> +	 * Calculate the guest TSC at the new reference point, and the
> +	 * corresponding KVM clock value according to user_hv_clock.
> +	 * Adjust kvmclock_offset so both definitions agree.
> +	 */
> +	guest_tsc = kvm_read_l1_tsc(v, ka->master_cycle_now);
> +	user_clk_ns = __pvclock_read_cycles(&user_hv_clock, guest_tsc);
> +	ka->kvmclock_offset = user_clk_ns - ka->master_kernel_ns;
> +
> +out:
> +	kvm_end_pvclock_update(kvm);
> +	return rc;
> +}
> +#endif
> +
>  long kvm_arch_vcpu_ioctl(struct file *filp,
>  			 unsigned int ioctl, unsigned long arg)
>  {
> @@ -6605,6 +6761,14 @@ long kvm_arch_vcpu_ioctl(struct file *filp,
>  		srcu_read_unlock(&vcpu->kvm->srcu, idx);
>  		break;
>  	}
> +#ifdef CONFIG_X86_64
> +	case KVM_SET_CLOCK_GUEST:
> +		r = kvm_vcpu_ioctl_set_clock_guest(vcpu, argp);
> +		break;
> +	case KVM_GET_CLOCK_GUEST:
> +		r = kvm_vcpu_ioctl_get_clock_guest(vcpu, argp);
> +		break;
> +#endif
>  #ifdef CONFIG_KVM_HYPERV
>  	case KVM_GET_SUPPORTED_HV_CPUID:
>  		r = kvm_ioctl_get_supported_hv_cpuid(vcpu, argp);
> diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
> index 6c8afa2047bf..9b50191b859c 100644
> --- a/include/uapi/linux/kvm.h
> +++ b/include/uapi/linux/kvm.h
> @@ -1669,4 +1669,7 @@ struct kvm_pre_fault_memory {
>  	__u64 padding[5];
>  };
>  
> +#define KVM_SET_CLOCK_GUEST	_IOW(KVMIO, 0xd6, struct pvclock_vcpu_time_info)
> +#define KVM_GET_CLOCK_GUEST	_IOR(KVMIO, 0xd7, struct pvclock_vcpu_time_info)
> +
>  #endif /* __LINUX_KVM_H */



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 07:02:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 07:02:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338696.1599730 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZNoZ-0005Zn-TA; Tue, 16 Jun 2026 07:02:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338696.1599730; Tue, 16 Jun 2026 07:02: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 1wZNoZ-0005Zg-PR; Tue, 16 Jun 2026 07:02:27 +0000
Received: by outflank-mailman (input) for mailman id 1338696;
 Tue, 16 Jun 2026 07:02:26 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZNoY-0005Za-Sz
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 07:02:26 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZNoX-004QxI-1i
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:02:25 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a30f4f9-5cb7-0a2a0a5109dd-0a2a45098de0-16
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:02:24 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a30f500-2497-0a2a45090019-d155802ae440-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:02:24 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-49230a567a9so1613475e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 00:02: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-49230a8ec56sm32172025e9.9.2026.06.16.00.02.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 00:02:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Autocrypt:Subject:From:Cc:To:Content-Language:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781593344; x=1782198144; 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=bgyRZYATOgcCc1f1nXN5l+8GA+GHT5k21gBFZWEcl0Y=;
        b=Kv+pyeXhecS/kZVF91oZ8gkWR7fNWzPBeCd632Ui3uyRqOQrOq2I8QXDGEdfN+MGkj
         k6KhGN4qDYaoQxYKxpEQMXYvnujqwibqqka4xA9X6xQUUOo0MiHFH91WPrDxBoC4iBzs
         q6yN/PUHTaU9edqmukGPMTnsYULaoka79cDzKYZyWUSGgD7b5tQqCdUHX8QKhfnyuKBb
         H04DTX8u+/ceDts0phKz/FW8q5B8nkSc7rVWz1z6yKt30OJWQ/Mvin88Te9md3O2bxAX
         ucRA676kBZIjIjoglFCWmFQOpbCEFFrTKEca5dYih+CdiIqtEmLqXQu0zRCEmrIHk18R
         RtBA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781593344; x=1782198144;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=bgyRZYATOgcCc1f1nXN5l+8GA+GHT5k21gBFZWEcl0Y=;
        b=n8P9klMM3SuN7QjI5wONuz3+X2DGiyUDioZ6heY5GoXDRa6IFm08qyUgaHa4jkqfXv
         WU9Vk1otlEif79hIc244x2gQ5FtKTOEG8N2zvjKtjsZYxH3/+SkdFLiKtDFKF164xsGH
         QKv5vHWRQ4b7AWIxFJHPf6jYKdss6lDrwCIellVOjrJaX7fKFmJV74ZGq3Ll8aV8QMth
         nq+SCUzkHVfWr2W8XWzKHvcQoRUKILOMwcoM7423/axkMrdBpVKKI7uGmJmxrs7oF/kb
         DPbRKeGF6O6Td4BQ4WsiHWcsa+MZyWAJm5w5ZXr3j8mcJEW2aRGiEmkiE3oxbdUXhaYz
         BsvA==
X-Gm-Message-State: AOJu0YwUybsUM7SzGE96A/SrboEeypBoekY6LurUzgzgWLjY6qXoWiue
	23OrPAx2MqOYZuvbcBl0RhaECOQGzvWuAxJd7soo4xHeCBlC6uxeOgtcFGl4PrTuiKj8c9yT/ux
	13xA=
X-Gm-Gg: Acq92OF+4AT8IZo04znifnS82jdof5CQH7M5hgyqr9/LtuJN3YCAXoZDVspq75mvwDw
	qyQn/KmD8EntfG7bUkoPQrQXiUuSd55OAGSPa/anRtYHMOVCDalCO6tOkKZrrD3zy/YIXkzFBjB
	OAFzL36QLzewJyTalu7EsaqN5f533GNeZ68SGZ2fp4Q2mo9gSqYn1sZP30IulpI3zGcQng4o2gG
	V0L0/uxwVDqhpUJFV551oYxnlnw4+GXdAQmtFTjB0Qvq4KlqItZUYPPM+fkh4tt/wFxMQcDgtDJ
	zXM/xG550y8NDvsInl5CoptOabj3Gfsj4EP4YizouTBtRk6aFbP8BHQK8Rn4aayguyKaRlyvaPz
	05JZlCUSqZl2YJHSGkJkPCZC47TYOFaFvryTFuwZbixBJrfmkQFIoTQgDjrkqufSw4+kNjAJOq6
	cBf10XucZYKusu7MyDjXJyTUF7jT0h+HefrTxb27lz0wvgTBFdm69riy5rXx3y8phT/EtC3rq8M
	5Ztua04emj5gDQ=
X-Received: by 2002:a05:600d:8496:10b0:492:3214:cbe6 with SMTP id 5b1f17b1804b1-4923214cd1emr1984885e9.23.1781593344040;
        Tue, 16 Jun 2026 00:02:24 -0700 (PDT)
Message-ID: <d0702419-2cec-45fe-86b4-470cf4d55b5e@suse.com>
Date: Tue, 16 Jun 2026 09:02:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH for-4.22] gnttab: drop dead local variable from
 gnttab_map_frame_begin()
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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
X-purgate-ID: tlsNG-bad1c0/1781593344-3777AA53-5C9C681F/0/0
X-purgate-type: clean
X-purgate-size: 950

As Michal had indicated in review, status is now a variable that is set
but never read. I made the resulting change locally, but then committed a
stale version of the patch (also omitting Michal's R-b).

Amends: eff88c4d3543 ("gnttab: simplify (really: drop) gnttab_set_frame_gfn()")
Reported-by: Michal Orzel <michal.orzel@amd.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -4255,7 +4255,6 @@ int gnttab_map_frame_begin(
 {
     int rc = 0;
     struct grant_table *gt = d->grant_table;
-    bool status = false;
 
     if ( gfn_eq(gfn, INVALID_GFN) )
     {
@@ -4268,8 +4267,6 @@ int gnttab_map_frame_begin(
     if ( evaluate_nospec(gt->gt_version == 2) && (idx & XENMAPIDX_grant_table_status) )
     {
         idx &= ~XENMAPIDX_grant_table_status;
-        status = true;
-
         rc = gnttab_get_status_frame_mfn(d, idx, mfn);
     }
     else


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 07:07:13 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 07:07:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338703.1599739 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZNtA-0006V2-D5; Tue, 16 Jun 2026 07:07:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338703.1599739; Tue, 16 Jun 2026 07: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 1wZNtA-0006Uv-9w; Tue, 16 Jun 2026 07:07:12 +0000
Received: by outflank-mailman (input) for mailman id 1338703;
 Tue, 16 Jun 2026 07:07:10 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wZNt8-0006Up-Dg
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 07:07:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZNt7-002VvA-Qj
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:07:09 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a30f612-e002-0a2a0a5209dd-0a2a4505ea1a-32
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:07:09 +0200
Received: from [40.93.194.24]
 (helo=SN4PR0501CU005.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a30f61c-aaa8-0a2a45050019-285dc2181693-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:07:09 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by PH7PR03MB6972.namprd03.prod.outlook.com (2603:10b6:510:12f::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Tue, 16 Jun
 2026 07:07:06 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 07:07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=lkzliKXKg8R9+eECyyCQ2VMg/28bLqRSxLGZt+U16rr+AHI2gmvwNHbG//PfxGpz5zdbGbVGVGQTUAzAkSJ0q7G2GVfT8Kr6fVm4FX7vYcojFXOLCnqV+0AoC60Cem8UgWmi2ItB0YnrkTCA9TjM2HMkuf0tQkcwKhtexRmIMCMc6v/WHEp8lwO16iBK51VGMifMSYQFSRc+d5v5QF3JuvJTGICGEqC0o3GOLYHjacGgqbWHu7+HasDqFsHb29Y5ITKiggUhPVwaSPRMDXT0wacb/E9lX1iEoBVM13dxcGhENOhxyqs4llJ9F/Ji+gLIohQRULimQ2ptksgIS8+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=QRYILiT18lSFa7t9cXA8I8OaQEncr1fMGMhOLRcf2xI=;
 b=Gc0NjjFQRm3S4WtXiMC8RzEy/4xY81OmGmmExKiZ4tRj6WxX3EShg73fv6CPPen8gn4ouhhy8wcpGlTM+DqqMef70Cx88mq4806FfD9JM1lXI5Dyftg4zMgjLgjXSfUpa5uY5k2hnFKr0FMA2LHTN9lK9y+8xdbUL+35LRdN+kcH7Y7rTlFIRqqoAiaw9bnYaUvoPmqvGXWQQPvReOKH/roGzH+K0C/VOhu2fmWlZo0uwanWjHhCcYxS34gb42MWr/69iSk/XdRqUuWJhHWIov1pzM3DH2SbDUIhhIwaDBrX21P46R+k7PN3cphT/83OeQvUIhsLutZloTTAmF/jUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QRYILiT18lSFa7t9cXA8I8OaQEncr1fMGMhOLRcf2xI=;
 b=jNmEDgXtWEqZfdyuNTF41Oe41McauUPViVIv5GNDqMeLB0o0CddtLU0tnRID3zqQxp6twOO8hF5AbMJU9yTyYkGg5QFd5msDMgOADoO7cgQYSldMmA1yRPwD/ZgycIsZkjOD+D6RpyQ0LuriiKTOBWMzDzJSvwgSkrOuMhmX/sc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 16 Jun 2026 09:07:03 +0200
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,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: Re: Assertion '!is_idle_vcpu(v)' failed after 'Remove
 fully_eager_fpu' commit on EFI
Message-ID: <ajD2Fxt9hCypuDrb@macbook.local>
References: <1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@vates.tech>
 <aiwTkDUP6rDPbV6R@mail-itl>
 <0db98119-48f3-4edd-a422-8e50ee713b7c@citrix.com>
 <e84d6765-61fa-4203-a1ee-ac07f54a1026@suse.com>
 <48878ff6-ad36-448f-aa9d-6b37e2e179b1@citrix.com>
 <1781277924.8631fc262581453bbf619ec5b2062170.19ebc701bfb000701b@vates.tech>
 <ai-_jUw0QmdC7gPK@macbook.local>
 <1781534374.8631fc262581453bbf619ec5b2062170.19ecbb938f1000701b@vates.tech>
 <aea699f2-c869-4301-b67c-ddea1e08ae9a@citrix.com>
 <0037ce13-8db1-4855-8ef0-dbeefba54fab@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <0037ce13-8db1-4855-8ef0-dbeefba54fab@suse.com>
X-ClientProxiedBy: BN9PR03CA0934.namprd03.prod.outlook.com
 (2603:10b6:408:108::9) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|PH7PR03MB6972:EE_
X-MS-Office365-Filtering-Correlation-Id: 464a2ac7-5af8-4f26-ad87-08decb75dfdb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|23010399003|376014|3023799007|6133799003|11063799006|4143699003|56012099006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	eq+fuH74loWXGwjU2QFM1qnc1TccHydplqpMLgw/I5SVD/bJeOjzpXLnNFjTT0bUh4/34Wyfjtv8YCz9wN6Y4tHLnL8cuF8ceb89LIULMrQS+dPN0XKwlSLjRh/uoNwK+YKs2yu/TtyIfUPRf+hyrJKk9h+MXNETsrMunrss0LTqq1xIb144qeOljrZ0PLrvntng9bT2ga4SPHHUk5l5MyU8sPH4YEt8wppcgSei3YqV2uNxPEf1I+MyU11OW6AbIl6ta3KaKV3mkEFS2Aq8ev4+pAY0tw3d/rF+NDimBoR0+Eqj3plJaexQofIAYt8Aitkok36cRY8cTSHQalin4sxFuXSq/LOTEiU5v3WUpuYgoPsJEipImnpiiWWflRsw8A2waz1QKoHXG/6ntb7xTq15GZgOyoYMiG+4xKMS1lp1UPjRVrrerox/Z007+aQ2pdghTfgUVeUkp3FYdopZjxTzt/0HSwyf/Y5F8GQzTXZm7FJjFwkwttazvZZ2yO3TUK8APiARDwC1UEDdcC5OZ2aJC/TaBL42aOLHCf0YDcdPkjz4kr14JoWgTqrFUaiCbxeYn24EfUsFDLI2BB976/QsnJvtJZhIt0QrYiPWZWM2ezCks09idvHS1O5lATFrhsos+AL7ZMyjOZ/zb0dHuNXQ4zhnVwo96Fw4gnueEGWbwbgcAWzf6oxk4Ud3LeQE
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(23010399003)(376014)(3023799007)(6133799003)(11063799006)(4143699003)(56012099006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UllHS1lMSG9hMFlEN0ZGZWZCTGdQdDBHeDJpNnQxWDYySHRHdUxTMTJjZ1Yr?=
 =?utf-8?B?NUg3anNiWnFVVkY2bmNkeDlxNzRnbHBCZHhZcFM0aEtXR2hlZXVrQ0RxNFB1?=
 =?utf-8?B?SmhsdWFQWnVlTU51VGlBbkZBL0E5RGJPVTdEcUZxUmo2ZlFrdWFIdnRwclI4?=
 =?utf-8?B?Vi9lck5iRmRIVDFOU1U0UVhuRVpsRUNndlBXeDQvVlV5aUVveUMvVHVFZ3Y3?=
 =?utf-8?B?R1YwcVA2RndBU1IwRnNPSllUTTUyMUdsYVhSa1dPZi9KRkRPTUhaQnB3d2hD?=
 =?utf-8?B?anIvcXlaSjByelA0c04rOEdoRmpCeVZVN1NiVm81cW43VzNLSkhCd1VENUh5?=
 =?utf-8?B?bnpaa3dvRHk4TEcvNncwdFdGdFd6c0FURG1teTF1SDRkeFpWNWwxZDM2M1dv?=
 =?utf-8?B?emVSRW1SRVllTXlLc2psU0pZSkFGWkF6VEJQSnYzMXVvTCtYdk1LZlZMU2Ew?=
 =?utf-8?B?Z05KYmQwUndpZE5BaXlrV0hoeFJ4c3JDQ09YM0NQbHNsL3VSOTB0ZlVHTUNx?=
 =?utf-8?B?d1ZXU1VKRS9DdVJhZSt2dktWaGZPQzR5MXQyRHYxQ2tyNjdFMXVBblltTzNP?=
 =?utf-8?B?NUQ3SGtURklzKzR5b09UVjgwVVh1L1JDY09Ya0M3V3FMZWV4Z2tYVXRpVTF2?=
 =?utf-8?B?bWl1cXFqck9UQ3luUHg0VlMvaHpiTjhqRjFwazVEN0NRRndlVG5jSnV3ZDFG?=
 =?utf-8?B?dFJqcFBPTTlDUnhFM0E2MFh0L3RDbTBQcEI2eFVJVUlTYStVQWFMbmo3bEhP?=
 =?utf-8?B?eitya0VodHdsZlBwbDNHUm1DRHpuZE1xL2NJRlVIbko2OUlkc0wwMkI5QnpH?=
 =?utf-8?B?YXU1YVRyTDJnSXJzT05XeGpXczBvZ1F1d1J6Nit3SDcwV3VSUUdacWhFSjJk?=
 =?utf-8?B?OWg4Y0pQNTlvSFF3ZnZoWVRhS3VES0luMlNMeXROR0p6YUwvUnNIb2pHMXlj?=
 =?utf-8?B?N3BEc1NCMFU5STVjN3JKeDhrQldpSlBqVjFqOXNTL1hMVEY3SW5GT2NxcXR4?=
 =?utf-8?B?a2pjNk5QSVFPZHVoSkRCNG1LU2JRdXJxU2RCamY5MnlsUlkrNGJPMnlFNlNi?=
 =?utf-8?B?c1djWjYyRDNGMkZqSjR1VG5ac2xiekpIUFU5Q09tb0JoVjJjZldhTHIwTmZD?=
 =?utf-8?B?NEl6TUxjVTN1VFhEdkxvdmcyZXVsOHFsNzdXcjFoYWs0Wk84TmtSaDQxd0to?=
 =?utf-8?B?bXE5VWxqbkF5SnEvTkIwd1ZFamk2Um5RNkhJS1ZjZ2tqQlRNM25MZkNZVlBN?=
 =?utf-8?B?K3F0bFhEeE9sZ1RNQWxDWVUzS1ZlTlh6b3FTTC9iT2RVL0RoUHFkWGZuQUhu?=
 =?utf-8?B?ZEFNazd0SUZyRE1pRXczUVJYZUMxRjY4NytuN1duL3h2MW5ib2tjYkVBTk1P?=
 =?utf-8?B?d2hWY3hDQ0NvMGVlSzB1RHlwTHBWY29obWUydzJ1VTg4T2s4NnRjeEpzUEZE?=
 =?utf-8?B?RkphZDFNU0NmbkhwdzdTbHVUWnk3Sng1V1JqVk9FNXJYNTgrQUlIQ0xPVVg2?=
 =?utf-8?B?ZElRS2k5M0FnZS84NWlua2xrTFZHenVMamhJNEk4MnFUcmtMaCt3MFRpbjUy?=
 =?utf-8?B?R1pqVTRhNlpoRmhuakxFdUc4MzFpUzRKTjcyeFlXa0k3Ti85NE9NSW9takFz?=
 =?utf-8?B?ME5mTnB4clBIc0tlNFJJV0pYQ283SzlBSm5RMkYzb3phMFZ5TEhFZUhGUlVF?=
 =?utf-8?B?elVYTWxjcHNPUzcxSDVjQW1XOTFqalN2SWRIOWtJc0s5aEVzZFYyZTZpaEFm?=
 =?utf-8?B?TTFTSWR1OE96TlV0VmxlM0I1dG5RNjZaQ3NGNmY0TTdGc21RTXRWYW1ROEJq?=
 =?utf-8?B?UW5jeEtLemJGUlcxWGNlT3hOZlgrL3FQVDVCT09uM3E4K1FlS29SOWh3eXNk?=
 =?utf-8?B?NWQzT21KYkRCMCt2dzg3dUxjRnk5aEprdFV2YTJRd2x0OGdsY3dESEFOeVhW?=
 =?utf-8?B?MnV3ZHdmS2t1VWtmL0k1L3ExM1JtOExZS2NmTTVUSktnL2k2Y090UTlhQUdD?=
 =?utf-8?B?L3F1b3hTQ2tvUGx4cCs2NlZ1ZTdsVndPRzNwU3Q5bW5jR2k4OUxheFd3eDVS?=
 =?utf-8?B?STZaZGRhRVg2M0NTMW5Jb3luRm9aVHpKeXdDM2w5ci9TMzRSbzFYUUxGeWFm?=
 =?utf-8?B?YmhhbWZuRFF4VEtDTENVT0VLWC9sSDdZbHNBVG9waDcxN0NPaWQwVDlQd2hI?=
 =?utf-8?B?eWhwNGVISzlvU2plektCOFFoV1hhYkd3djR6MkVmU2lha0tkdm5OVnM2eXk3?=
 =?utf-8?B?MkxlR3VEeUpieDN4Qm1yY2dkU0hBMVcrVFlyV25DbEcrVnF0THRCRXRoUzFl?=
 =?utf-8?B?UThsVXJGN1ltcTBqL0h1ZHpKTTNrYkJ6ZTl6dXA0ZDhZcWErcENWZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 464a2ac7-5af8-4f26-ad87-08decb75dfdb
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 07:07:06.2785
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: M6pacXs0SriYmCsUL1CU2XVUf0+OH7u77sN7nYb7UO9ku9zEo8XabJM8267x/339uhYoo5BdmersGQPuClkVaA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB6972
X-purgate-ID: tlsNG-c201ff/1781593629-E2F94443-AC7DB3FB/0/0
X-purgate-type: clean
X-purgate-size: 1772

On Tue, Jun 16, 2026 at 08:16:41AM +0200, Jan Beulich wrote:
> On 15.06.2026 19:02, Andrew Cooper wrote:
> > On 15/06/2026 3:39 pm, Anthony PERARD wrote:
> >> [06Ah 0106 001h]         RTC Day Alarm Index : 0D
> >> [06Bh 0107 001h]       RTC Month Alarm Index : 00
> >> [06Ch 0108 001h]           RTC Century Index : 32
> >> [06Dh 0109 002h]  Boot Flags (decoded below) : 0033
> >>                Legacy Devices Supported (V2) : 1
> >>             8042 Present on ports 60/64 (V2) : 1
> >>                         VGA Not Present (V4) : 0
> >>                       MSI Not Supported (V4) : 0
> >>                 PCIe ASPM Not Supported (V4) : 1
> >>                    CMOS RTC Not Present (V5) : 1
> >> [06Fh 0111 001h]                    Reserved : 00
> >> [070h 0112 004h]       Flags (decoded below) : 000004A5
> >>       WBINVD instruction is operational (V1) : 1
> >>               WBINVD flushes all caches (V1) : 0
> >>                     All CPUs support C1 (V1) : 1
> >>                   C2 works on MP system (V1) : 0
> >>             Control Method Power Button (V1) : 0
> >>             Control Method Sleep Button (V1) : 1
> >>         RTC wake not in fixed reg space (V1) : 0
> >>             RTC can wake system from S4 (V1) : 1
> > 
> > There's 3 pieces of information on here which confirm an RTC is
> > present.Â  Setting RTC_NOT_PRESENT is clearly a bug.
> > 
> > We should probably have a quirk to ignore RTC_NOT_PRESENT on this system.
> 
> Imo we should go that far only if EfiGetTime() didn't work there. Afaics
> Linux also has no such quirk.

Linux also checks for the presence of a device in ACPI tables with the
ID "ACPI000E", and attaches the RTC driver to it.  We can't do this
on Xen.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 07:14:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 07:14:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338709.1599748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZNzj-0000FJ-1I; Tue, 16 Jun 2026 07:13:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338709.1599748; Tue, 16 Jun 2026 07: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 1wZNzi-0000FC-UQ; Tue, 16 Jun 2026 07:13:58 +0000
Received: by outflank-mailman (input) for mailman id 1338709;
 Tue, 16 Jun 2026 07:13:57 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZNzh-0000Dk-8o
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 07:13:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZNzg-008Udk-0d
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:13:56 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a30f7ac-5cb7-0a2a0a5109dd-0a2a4506b370-26
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:13:55 +0200
Received: from [209.85.221.42] (helo=mail-wr1-f42.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a30f7b3-7371-0a2a45060019-d155dd2acd2c-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:13:55 +0200
Received: by mail-wr1-f42.google.com with SMTP id
 ffacd0b85a97d-45eee266c6cso3720334f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 00:13:55 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3abd0sm60697795e9.1.2026.06.16.00.13.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 00:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781594035; x=1782198835; 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=gWaOqXusk5UH7sy1tR/gB25isu2gr52oSgtgNWgDo/A=;
        b=bQSdJvrNrKISQcHHGz9Q6EwDThxOEpVYPMbu9Gx2OZ04pKmtP5tnxG9rY7yKbOAfzl
         V2fGt9TLAPKn5jxPdmak+aUKQCRKFVv7L374xATa5zTFh2Cf6keeCNsmlpi0zklCPxqw
         yBiJa9VttXhs6iBjocklozSO82vYBozgKs0vJ052ELJ5wtKqdhXEFQN4GjAzVnAGtgin
         bDu+p4ywDBS8DzJU0oqdBxYwDzwIFKE0hYVgVqBlM4RqzvzXtJktc9U1l4eFyygI1I+0
         4EXz9choMsWKGADOEzOOvWeQPIgJq7kpjB7v6vodkwc2BGHx3lbmY22uMlFCkrnf1/ng
         LgGA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781594035; x=1782198835;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=gWaOqXusk5UH7sy1tR/gB25isu2gr52oSgtgNWgDo/A=;
        b=hdPU+GwP5sxKfEwlNw3lfgTs7+NhFiZ7jj8B8e7aClIbg0GjFbEeAOb5DhBtZqcDsi
         QyOmpKQrIfWyjaG2DHWxrbFE3e3WzfULXkOrO0D/4dOg5BC8SMxVXORAMG5AZKD6Ed5w
         HQfyYHDb3/1mTV5EOaSfFEngHWf5w/2oTBzt6k8RcuMtELOs2hktV0MA0f9tKkKHSWKs
         5xqGyBom9fZSf6mYLGgeLActmBR/TvXARRCJXxARIARAYEd8OvajOfB/xbssUSA/XVqT
         x+udy6cddaWc3zS6kp7XVos6e3V+rocBj8GvRovFSx/JoHGGcJfjP2J7FlbJZxOaeSe+
         NHsw==
X-Forwarded-Encrypted: i=1; AFNElJ+Iq1b23McjMTl1Z59AlYYtFXKNpFo1EVYtEnw41M0qD/iBPKHsUIH+BS7zyyM6H3T+l7ASzD5yRbw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzA+fC0qPjtTNFTe48CW3VlnkTIMMqjYRqW0z7c348fT5cm0M3o
	kXcfJGeA4atXHeTHgOYFrfOYcaojgKEyH4lQD/My5LItuBqtF5m18Dve
X-Gm-Gg: Acq92OH0nWGrIhV55WVTSfXE+NVHcp2YAeBxInfDA2q5HNTEmAXIo3iKfqlYw6tHfuQ
	EsY1ZMzu1g2U/5x4188jEvjmf83yHyKXUMwG7kFlNu4H/NbvMH87q8qJ7Fu6685VVs5fy6i4axL
	+cxpEmOmCEQ6+mDV0ImTnoOtW1+47rdzph8YvM2W0A5kgp1CLZId3q7utBYKzkNdt6mHX/J1v2K
	u86kQ4lKhFdTugBkcX4lqbYIH1IlPK1a2eLqDek+keY+yWfnGkcDW9orzJxRN09NX1BtcySrTAy
	xn8Akz/OwuuI5ArJAm1UtEgCigI9cxx8Uwt/qFUd99ISPFElqlj6ec/rh0JgmFbXBqXKBHc8yCO
	bmaha3b6WCZ6Gigc84A3xVPuzPoeHdqxIBre4PKSMgVQsQcwujCA9gsIQ8b0ixbgNnf6TQ1aw2F
	tpjfsLu90rxbyX5AJJmq+NYA/gvqizcLul9gjN6wAmwxYo+PF3cqACOenTCBF2QKVdtpXqIDtQ4
	+nVXj7dliRqrgh8
X-Received: by 2002:a05:600c:34c9:b0:492:1e50:978d with SMTP id 5b1f17b1804b1-492200838bemr192849145e9.16.1781594035260;
        Tue, 16 Jun 2026 00:13:55 -0700 (PDT)
Message-ID: <0bba1000-531a-45b0-a442-59fbf4a288b3@gmail.com>
Date: Tue, 16 Jun 2026 09:13:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] gnttab: drop dead local variable from
 gnttab_map_frame_begin()
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <d0702419-2cec-45fe-86b4-470cf4d55b5e@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <d0702419-2cec-45fe-86b4-470cf4d55b5e@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1781594035-84158D75-3E976DC4/10/73395122804
X-purgate-type: spam
X-purgate-size: 542



On 6/16/26 9:02 AM, Jan Beulich wrote:
> As Michal had indicated in review, status is now a variable that is set
> but never read. I made the resulting change locally, but then committed a
> stale version of the patch (also omitting Michal's R-b).
> 
> Amends: eff88c4d3543 ("gnttab: simplify (really: drop) gnttab_set_frame_gfn()")
> Reported-by: Michal Orzel <michal.orzel@amd.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 

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

Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 07:17:16 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 07:17:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338716.1599757 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZO2k-00016n-Gp; Tue, 16 Jun 2026 07:17:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338716.1599757; Tue, 16 Jun 2026 07:17:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZO2k-00016g-CB; Tue, 16 Jun 2026 07:17:06 +0000
Received: by outflank-mailman (input) for mailman id 1338716;
 Tue, 16 Jun 2026 07:17:05 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZO2j-00016N-Pq
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 07:17:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZO2j-008VSB-6N
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:17:05 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a30f866-bab6-0a2a0a5309dd-0a2a450cdbf4-32
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:17:05 +0200
Received: from [209.85.221.52] (helo=mail-wr1-f52.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a30f86f-62f1-0a2a450c0019-d155dd34a88d-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:17:03 +0200
Received: by mail-wr1-f52.google.com with SMTP id
 ffacd0b85a97d-45ef5146b56so3096563f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 00:17:03 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-461abb44c3dsm474778f8f.9.2026.06.16.00.17.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Subject:From:Cc:To:Content-Language:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781594223; x=1782199023; darn=lists.xenproject.org;
        h=content-transfer-encoding:subject:from:cc:to:content-language
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2dlpqqTIrE/umxs8iERnMH33cBn/5LUCcuUcwC3Hzq0=;
        b=aaj476IJsshyJer8hiFMQzEMJD530y7AADFGHrA10LJYNTnZ+ouiLwnlfj6ngRp3fS
         NK39D4fVHNG0R9QPfZjlHVSjiUCq20cU7+WELuvGpLfA15Jcq0PRVT8IqFFuL1RHKB9b
         oICxeQVFcorcDI/28Vq9NArKK0VB/hKrsab2fINyVIKc2cD3Tfncc4sr1M6zrv4We5bB
         bHx/dJSdGLf68owNo45agSp+D86ezwS4XQoaHBLrjwsQ2O+EuqC0bQWr+7inRwvtxFwe
         pM4u/WOE5ocIsKT/9F6tsEpfE/+5jkFX/J22saCIj5/ShJzXgXCB27DQ/hYmNHXkAFcB
         SevA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781594223; x=1782199023;
        h=content-transfer-encoding:subject:from:cc:to:content-language
         :user-agent:mime-version:date:message-id:x-gm-gg:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=2dlpqqTIrE/umxs8iERnMH33cBn/5LUCcuUcwC3Hzq0=;
        b=nNF48bCg9JMp8kWrRdD1hRdoriMuJ5HgcQEhGrOG2idlHmifTlIQ3R32y32QeWDB+8
         e65h2+EAdGbjRax56TvHIoZf+eVfPkfwAt2GQYoTwHZ8CKa+H5yIREdjMxJsyJfxbahG
         IiFKCdxDhOklBM2d5AwPdL/FsXDU7ZPa9ft2POQAo8cpsmJYkkpmlMU+75MJoUN9Ag/q
         SzjZ89ahj2WBF6Ggmy/DjfASyiJLHKP7gx2L2cD5N3MjxPOrCUHPVbbrrF2kcqQvKv7O
         MkbDMV7zEUjDzVUNNNjk8ka2n8w6IZ9lranOUp4XP22WohhZBiODyXZBJ38SJahhv0rk
         39vA==
X-Gm-Message-State: AOJu0Yydo+KQzBVvE1WA3AQPBEvBBzPAR3BNsReIRSP5uEhqGlToJIsR
	+9XzDAyejjKg181NfhGuZlofedO2KF/xUWCFvxNuACfj/gCV91k0mrMr8EdZyw==
X-Gm-Gg: Acq92OGHpteSJpYngndtXCDGZcUD7/nQD6DM6r2AtWLmIRplAx+1eTJDarQRhf//15g
	ZS4e81zc3sFYXkLRdZ+Whvzfjet/W9uYBMkThyNKeWOABP6AbdLgBp11psHZAlaHNgSvEoOlupN
	IzF7CVc6tnOL1uk6zZ404J+18LMLmkqU/VGkd9NKx7ZSUW0YPxOi0+nmnKWFPV82uGejWEQeICe
	ppF/F/au+89619OI8kqBlHuJxcEDdeIC+d9Z0jF9mS3qbGINwxM25sefC4SIBBB5vbHHCIfTsp8
	ArlbDTdx/WxO21rlIj4SnLz1/cvheZsHfm63YD+j3XMqpGD48PxSc7iZ26qygAqcnNUL+gJrNzm
	P4TvPpt0UL2iZ4Vj6UUwYEwOp6A1se+z6bvVhb9QDcSPKsGzvSsF/5qqo16ybs11lwzvU3Wz2eu
	w3MEpl4xA+o7cf/GN8RUJ3B9A3JNbjBxumqCjrNpTGy5lex2L9Ip/ORcI00y7BfX/WPpVvTE6bl
	cPLZw==
X-Received: by 2002:a5d:5f44:0:b0:45a:5392:3a19 with SMTP id ffacd0b85a97d-4619f3082c6mr4226270f8f.16.1781594223156;
        Tue, 16 Jun 2026 00:17:03 -0700 (PDT)
Message-ID: <835bdbbd-d971-4374-a8f7-8b7c5b3c9f16@gmail.com>
Date: Tue, 16 Jun 2026 09:17:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Community Manager <community.manager@xenproject.org>,
 "committers@xenproject.org" <committers@xenproject.org>,
 xen-announce@lists.xenproject.org
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [ANNOUNCEMENT] Xen 4.22.0-rc2 is tagged
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1781594224-E3171CF5-C81B1363/10/73395122804
X-purgate-type: spam
X-purgate-size: 421

Hello everyone,

Xen 4.22 rc2 is tagged. You can check that out from xen.git:
git://xenbits.xen.org/xen.git 4.22.0-rc2

For your convenience there is also a tarball and the signature at:

https://downloads.xenproject.org/release/xen/4.22.0-rc2/xen-4.22.0-rc2.tar.gz

And the signature is at:

https://downloads.xenproject.org/release/xen/4.22.0-rc2/xen-4.22.0-rc2.tar.gz.sig

Have a nice week!

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 07:22:56 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 07:22:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338725.1599765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZO8J-0003SX-54; Tue, 16 Jun 2026 07:22:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338725.1599765; Tue, 16 Jun 2026 07:22: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 1wZO8J-0003SQ-2E; Tue, 16 Jun 2026 07:22:51 +0000
Received: by outflank-mailman (input) for mailman id 1338725;
 Tue, 16 Jun 2026 07:22:50 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZO8I-0003SK-El
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 07:22:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZO8H-008Wfo-OB
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:22:49 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a30f9c4-2eae-0a2a0a5409dd-0a2a450bbd3e-26
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:22:49 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a30f9c9-212f-0a2a450b0019-d1558031b58c-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:22:49 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490cf3000f0so41677615e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 00:22:49 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa9f2c0sm65589865e9.15.2026.06.16.00.22.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 00:22: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781594569; x=1782199369; 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=nWhuxszkX2FvAo4yqppz9zsn0IUjl7bh60RfgSaOJxQ=;
        b=G0p9Ar+bw3T5Aany0dwl510xFnK1W8tqEl+MAtOI/GwDVCoCoK2eS6BoN+pyvuxm1f
         xKR316SN+HuJrRgdpQj7zO+LNTXwXS2SWmi93QVM0RFZrJInWBP1YHX+aAZey9cnJuVW
         fVJbLR9NJg2Cy2n08mo3mjVGU38tIwPj0NLK2x76xYJjcBz3GYZmJ10Tl6952QysEX/3
         PGUWWqcaKxQwi3CWoRuUfxkARkAOG5OOKiMqx7cXwz9K0NmhXBP+Wq1rliynVevdD2Ft
         DcEFAamXHprS3HtNVzNwu8w9qfNvCikfVKENetf2YfESaRV3B+ztZbi/3vFCsgpRtg2N
         4BUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781594569; x=1782199369;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=nWhuxszkX2FvAo4yqppz9zsn0IUjl7bh60RfgSaOJxQ=;
        b=SGbgMW9VRZ552QQYIKxy0pa6UWqIT0wx52o9rUrLYldc8TDShN/8P5DVVHTedWaKTy
         yVtmrEsf67zK0R1ZfrCQX72gVrvcu964hTKYy69JGYVAhziS094frpPP1TtQA5pnin8w
         w9Umj8h4vuKV2A/kdyHLjSpFBtlggJlvTsyyDWndfq9LeOrgVocx/KngqYo1Xg0wnN+Z
         XUtrF/0yi1iYYxPk/6lBmxkT06aA7PD9tp1faLnGQGcX1b2xrF/121Bs03FCFsUpF0G3
         iitCexCL5LSQMxnq4O0ZZmWG+NHGZKnIOO6z3vTKl/0RDWws3gzBU31o5Kl/ejxTw5fJ
         76uQ==
X-Forwarded-Encrypted: i=1; AFNElJ8v7hgkK7Odji3Wwes7rmi326XtFyJwYmP6oyNohKA9fz4u4KSl36hyPHkMWuxX31et8ginCTxK/Pc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx4CdaMFohoQp6Nq5rLOsY6ckkeCqIuLloBjeFsU/qKmxNG/rWp
	nKvkH0vgUT5iiF8M6HjnIjhdmeeGvC59Ky72sFzHESBZn04NMqNfN4rB
X-Gm-Gg: Acq92OGU0lFE7BFsD2Wu8qUFbJu+2DlOmlw7/WFTi4xr2HPYyT0DBLI1EmpxfTsZshI
	WE32lOQYLRWkgm54WWoJAc+slBfhfp10n32bKDzPZw5q4EUuHLGmV31Vu08XcDuhRvOeMiNCFQ6
	fLAVBGSoVrafsOIth1UzLh25Jp9uq8qNFKQnfl4vqx3Ew4TUcxxiAcIs93CZ0hOuuf55JJcU6zD
	6GhCMQCKTLlMiuCde9a7iOfaO6kd1oq/nMSM7RtL0DwoCk6BYSyGm57HTGh6d/zviB/FWwirODg
	w3zcPaeshwjeh/e+QhNt5YIiwkacWnBNrPyE2375JGwv5onm+LNvLdNrVHGukfpwBIWCOCYkIPt
	6wuK5NGbsljAGNf/qkLTbdowEC5C11Dt0jdAWExfiBNOpfuhEcaW2pOKWEXn7I0kXGrhErnr3Tx
	WvSru7b4cxSn6PC+rKLw4PaiRRJkgrfjLAXvLU+Vc2XwX+OFUDltomu7wtX+WrAnI0t6IBUlaAb
	ZQBkUOUXMVM2FP9
X-Received: by 2002:a05:600c:4743:b0:492:1e36:bafd with SMTP id 5b1f17b1804b1-4921e36bb83mr206227365e9.37.1781594569045;
        Tue, 16 Jun 2026 00:22:49 -0700 (PDT)
Message-ID: <e0d6f8a1-749a-4e23-bd09-1665be6e431d@gmail.com>
Date: Tue, 16 Jun 2026 09:22:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22? 2/9] domctl: move XEN_DOMCTL_irq_permission
 handling to x86 code
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <96a089dc-a0dd-4f40-b1e4-5573202bf532@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <96a089dc-a0dd-4f40-b1e4-5573202bf532@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1781594569-1BD7FF3B-864B7D1F/10/73395122804
X-purgate-type: spam
X-purgate-size: 472



On 6/15/26 4:12 PM, Jan Beulich wrote:
> HAS_PIRQ is selected by x86 only, and that's expected to remain that way.
> Avoid the #ifdef needed by moving the logic to arch_do_domctl(). Leverage
> "currd" being available as a local variable there while doing so.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> 

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 07:23:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 07:23:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338731.1599775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZO97-0003u7-DS; Tue, 16 Jun 2026 07:23:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338731.1599775; Tue, 16 Jun 2026 07: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 1wZO97-0003u0-AQ; Tue, 16 Jun 2026 07:23:41 +0000
Received: by outflank-mailman (input) for mailman id 1338731;
 Tue, 16 Jun 2026 07:23:40 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZO96-0003ts-2l
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 07:23:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZO95-003Skf-Fg
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:23:39 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a30f9f7-bab6-0a2a0a5309dd-0a2a4509bfe0-22
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:23:39 +0200
Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a30f9fb-2497-0a2a45090019-d1558036ede1-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:23:39 +0200
Received: by mail-wm1-f54.google.com with SMTP id
 5b1f17b1804b1-490ac357c55so40316085e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 00:23:39 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2cd6c2sm41875027f8f.30.2026.06.16.00.23.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 00:23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781594619; x=1782199419; 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=CkMgoqR8G4vXDVve+8JORkijk7EDfW8/KZR/2bygv88=;
        b=ZRn9JYF8F6TDb9dk81kHgX5vS0y+8QWt9cZaYVWfvW/7MAdWqj+r5pmpi4KM2vFjfO
         Nvyu3AnQ5pFLLOF9KLiS/pv/02WVwWfPT9B9Mk+rPEGSSVF7lX5qyn5hp6aZ8hM8QXDp
         dKnLgV//3OcdNzRoD1vBubVIRE/nEqMOe9KzL2B9ftVdGBb6iudyxD/HkhyRcr4E45UL
         jIOrVJD0zfEcpRwz9NfsUaGyZKIFbwCdEDExRvc4XlcbwJojHepaY479AFWcbac5IAph
         5FH4jdWfyCPv05B2gbPEJBlyTKGU8wNTJPcX4SCLwd0kjsgahj1Q53I8X++ERltHEXar
         JvWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781594619; x=1782199419;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=CkMgoqR8G4vXDVve+8JORkijk7EDfW8/KZR/2bygv88=;
        b=O7+bFrDsMo+ftAelpqUXLga4hE/BC9GGA9pqaNQQ2QD3kCh1M4Z7wIlSocfBi8dH62
         2oeBYWhoD+OPrHO1vGEP4LXTwDOueB4midyjkXBZebO+RTrXwBSAtNRobuI2JUVcScvb
         7woRAcrIkYgcSC7t8ocAvAYYICR9WUtAC8XxCkO0xMhcSx7hqQkAZ2SEYJ8d2gS1SY7J
         UCLylO9arupl+m8JbkxvCFcQBHGKG6evxbL/GysYr9qTLGhgbPN2vex7SDD8zpsvz4t6
         G2Y5PJ7Vukn9KvP9CVT63hxH79Sntxtg4QIwFDeqdomQ0NtXcZVPajyAcNiD1UGI7ncO
         tbmA==
X-Forwarded-Encrypted: i=1; AFNElJ+zJ5wSFuYi/UBvXTJP5bWTvrWBVxDEFFAt597Yu3zSfbS0Jt8NOPab4GUi8XXa5Ibiv1oM6nMagOU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyAEwUlxgZtVFiuPP6RxP2/KYYS9ydh73o3/TU9dLlSVpC3jOBn
	6OhJxWzRsVDZzgoTM4U27NcXIv/CiUobGWH9R6W+OARve4Jay7BF4mvv
X-Gm-Gg: Acq92OEOdyRCRFuuPsVS/NiW+YVJSpNqH/+4HtiwbYpLhkAk6KfLaMGKvoqiLiUaoqO
	/j+r7NhfmbQt67DsOSX8QwOeQmr1HPtLkxJ11XLzUN+Bni25az0bIjM4LtJ8ZhawEgcS481Uals
	6yek1ICcVogwabAHCBTN8PhU85P0Xkyo3SNIN/LP4/3EtFPbXwJMWFOgBJEb2z3DuLWSUhfYP+m
	8hXTUZTRxh1tNloyC5V4X0q9qsclMgbP49eEbqclfW3XpR2G0G0zFvdtCMHhsnwfg1Ca7ngsfx3
	ftan8T5BxOeGwb4NHs+YWO8PRvnRKBucjxuT+v7PlEv5+xS0qaoq3ft1JFxcnQUKWC3VmyLwFd+
	90GL7GIw3X69qRnOZ2fRZTwoqw33WpNiQIWE3t3J4Niv3RnGlkuvisUPRfq5bIrfXCGrc3N8Vw/
	SeZpBuO0pMExwdwCvYygI205QzhPd+Q+e480upS4ICwdyrMyD2N4hsR39obL4RYepCkWBNechl5
	O6qtA==
X-Received: by 2002:a05:600c:4e09:b0:490:e19b:bd99 with SMTP id 5b1f17b1804b1-4922ffb7641mr40303605e9.30.1781594618907;
        Tue, 16 Jun 2026 00:23:38 -0700 (PDT)
Message-ID: <77d83630-585c-4a54-aba9-da18e4afb2ed@gmail.com>
Date: Tue, 16 Jun 2026 09:23:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22? 3/9] domctl: rename a label
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <afd71b98-7f25-48af-97ca-4f772551f73e@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <afd71b98-7f25-48af-97ca-4f772551f73e@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1781594619-8A98FA53-27136CBE/10/73395122804
X-purgate-type: spam
X-purgate-size: 334



On 6/15/26 4:13 PM, Jan Beulich wrote:
> There's no real domain unlocking here, it's merely RCU which is being
> "unlocked".
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
Release-Acked-by: Oleskii Kurochko <oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 07:27:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 07:27:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338738.1599784 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZOCS-0004Rp-QU; Tue, 16 Jun 2026 07:27:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338738.1599784; Tue, 16 Jun 2026 07:27:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZOCS-0004Ri-Nh; Tue, 16 Jun 2026 07:27:08 +0000
Received: by outflank-mailman (input) for mailman id 1338738;
 Tue, 16 Jun 2026 07:27:06 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZOCQ-0004RW-Sg
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 07:27:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZOCO-00EKES-Nf
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:27:04 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a30fac8-2eae-0a2a0a5409dd-0a2a4501842e-4
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:27:04 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a30fac8-c1f2-0a2a45010019-d1558032d8ff-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:27:04 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-490b9318997so30114125e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 00:27:04 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490ea95c51dsm284043735e9.1.2026.06.16.00.27.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 00:27: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781594824; x=1782199624; 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=jrSYDPDlVWjUeoucDY1EObQmfc5ahfrAVbGngBPnjxA=;
        b=pmPmFV68aLliLEC4H4LDjftZwVbbippWcDFIRTAA+JG/nXEn2qdaidLd7ulyDpBft7
         NTYT+oaTRm6q3EBHFU49QfuEplsg32q6SyE1cgCl7c3DkJxd62dDb4jNEuvGDCnppys/
         1qTvzG0EIP49VGH0Ki7mnAloRoSAw2YwjBq2ByVMTmRp1hOOjeQ6XSsBqR8qH7XpAokE
         +wOzeFElVxqHV63Lze3cpZRcZVKK+u+6J1qSj93Q4GmbUghAeYVcuWNLEmUoYv3ZnndD
         LxUaegWAa1amAcP2lqWd5w2rF+eE6eFsKoNZ8oHjXONyqsGiwz9HMptFXQyCa8+Oh8Zt
         raDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781594824; x=1782199624;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=jrSYDPDlVWjUeoucDY1EObQmfc5ahfrAVbGngBPnjxA=;
        b=BxjClqGxbQ2LAwABMN7nvsAJ2KK/iY1u5zJm6ouqXjQA9WMinfP+sJtpyJ4WwhU6o9
         BOjAKrtw4U94KIFkLAj1RBsOIOclPB9wK2NqGusebcf3USOt/zy1ZQFN4zpl1Am61gf8
         +xIRaGjxC/6qWtXhXq5vdvEkqEW7V76SHIVHbKLrBdZIwIx87EDZNGuDb9Ub0TjsErCH
         eteVi6IFK9oJ0irVlRuuR09GBHffJpJKTOq/etbpPwHYMebvwHNG3KwaaVva/+uWOJx0
         7cum/HuNAgVqrjpnlsl/Pc9ftb9qOXSwOc+uRIcPojHUaPC28t9YZSrO996xXWPfp2Dg
         dw+w==
X-Forwarded-Encrypted: i=1; AFNElJ+dlj+7dpOEu1SV0/eFSwAlNlKyO/nBF+KJPe0DrZPMyVMPrTKZ92OAq3zrPEzpxETlr1srmq3gea0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzDLRtFFc1eJgAdoCA665KFsJ0Gb0TC5NTAobVMupwRx7gwiKo1
	aO++H99LZ+OjL2cDYU95jYRqPyMeuLcG/q0WBufVkr0yaaj9vgtSVgBGEXVjvg==
X-Gm-Gg: Acq92OEr5cSDid76p4DJ+QHYIYtYCT45Isj4CjH3xt3OaQxbl5ZMQj4Wwc2UZVlpZf8
	agUREme9Crd4Sr4C2+NGDMZoxAZz5F9+igtA3S/txqUWn31KdBvAVjtleBsrsKVXGqs5oPDy9jb
	cJxMoJCDNrxPyKOb+eSbKn+80NwwH5Ub14yXKXienVOf13zHob5TkaiP82nWxgTm0Kw2cHjuPkz
	NuRy8UQYy6kLG2VvKfLpdre1hM32u0kftu+vtIkr925GCtfTYyTA6hlMZxTy1maLY/gd0Tkviqw
	g4+W8EUWRTgZs4AmJnZFnvlUTXQ9mN5DbQeSP/bKwV4IkiAI9ANFoPX0u94KIxvRYJK65HUWKfN
	Muc5wJWFCbSmyWkJWgeqH9ZFSXKaVhZPUB0wFn4/XKzdX0GHQMpsgNbFUltbu+GRk5hUbjQbF0/
	59VG7fN65t4bj51vVMIgemfxgC7No+7lHy/rkLeLoWop1F5lOtWr0AcC+5E+tT7ypTw3nHAz7Rn
	rf9Cg==
X-Received: by 2002:a05:600c:4ed0:b0:490:5e2a:f924 with SMTP id 5b1f17b1804b1-4922008485fmr182428755e9.7.1781594822563;
        Tue, 16 Jun 2026 00:27:02 -0700 (PDT)
Message-ID: <72c3ad29-1bdb-467e-8dc3-c326cf60cf13@gmail.com>
Date: Tue, 16 Jun 2026 09:27:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22? 4/9] domctl: error code adjustment for unpriv
 callers
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <ebb489d4-0670-468d-abd5-8d130636ef45@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <ebb489d4-0670-468d-abd5-8d130636ef45@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1781594824-AFB56FF4-19BDEFE2/10/73395122804
X-purgate-type: spam
X-purgate-size: 558



On 6/15/26 4:13 PM, Jan Beulich wrote:
> Unprivileged callers better wouldn't be in the position of figuring out
> domain existence from error codes. Adjust the respective path sitting
> ahead of XSM checks to produce -EPERM in such cases, just like the
> subsequent XSM check would yield.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

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

Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 07:27:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 07:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338740.1599792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZOCm-0004pu-0j; Tue, 16 Jun 2026 07:27:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338740.1599792; Tue, 16 Jun 2026 07: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 1wZOCl-0004pn-UN; Tue, 16 Jun 2026 07:27:27 +0000
Received: by outflank-mailman (input) for mailman id 1338740;
 Tue, 16 Jun 2026 07:27:26 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Michal.Orzel@amd.com>) id 1wZOCj-0004la-Qd
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 07:27:26 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZOCj-002aYM-7G
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:27:25 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a30fad4-5cb7-0a2a0a5109dd-0a2a450485d8-38
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:27:24 +0200
Received: from [52.101.53.0]
 (helo=BL0PR03CU003.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a30fadb-1dec-0a2a45040019-3465350086b6-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:27:24 +0200
Received: from MW4P221CA0011.NAMP221.PROD.OUTLOOK.COM (2603:10b6:303:8b::16)
 by PHXPR12MB999257.namprd12.prod.outlook.com (2603:10b6:510:3ca::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.16; Tue, 16 Jun
 2026 07:27:20 +0000
Received: from MWH0EPF000C6192.namprd02.prod.outlook.com
 (2603:10b6:303:8b:cafe::a2) by MW4P221CA0011.outlook.office365.com
 (2603:10b6:303:8b::16) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.113.18 via Frontend Transport; Tue,
 16 Jun 2026 07:27:19 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 MWH0EPF000C6192.mail.protection.outlook.com (10.167.249.102) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.113.7 via Frontend Transport; Tue, 16 Jun 2026 07:27:19 +0000
Received: from Satlexmb09.amd.com (10.181.42.218) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 16 Jun
 2026 02:27:19 -0500
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb09.amd.com
 (10.181.42.218) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 16 Jun
 2026 00:27:19 -0700
Received: from [10.252.145.116] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Tue, 16 Jun 2026 02:27: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hjcpOPUSko0CUEKQRbJnHK8mmOMRInla5hi/52GWtGiiF9wThhceVdNj+LpINbJDYS9fcbZ4Em2wVDKNsbSnzA1raNhJh5/1GuiT1TVZEditHBzauNxWg8dSvKQDXboD1So/xAIzp4YOQ/0/+ompsLbd4odUyPiwFBiYahdELdninAKxuBEZMo3pbNOw1mi3nTRLBaNB7RC10jGDCuA1/VLvmfa+VG9WexK+qeCDCTgkZsVE82d7iesdSjXcjsVSxhF5kfs3aR6bSvN1A1zfvi9fvDV46n9jLHpFu4msd/JsgE2f068hLeYjybM/Qax0v9t9DSi6TiOfckTaZPsBtA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r4Ir/S2IwEo3pVKjYLUFXRo5kDzYyMx5CooExoVCkZY=;
 b=v8zkIC5dt9U/hxAny/EPR99zLjcUHqJcV88LKVmw8NGH4OPS94UZ3uxsiy4nmU2HAWnh3YYZ9JkZbabUo/QkkjT0miLpsAdsxmYDpWnbBNHlC2hwL2nhqXQHgXSuFRCrxfqvjFY1Q/qUlOq+UjUTc8d5TgvZW/klJqJu5hTUNHCAsvK9UbX98z7haMq5V7/2kV5yLeGRc5dysUZMwyRAk08y0SqYPmrWdGL2Gy0iJ/0YXnZoBH0vh7gcUrhkaKfoYmdCNK+x5+nYhMa1HVOzYEeUsC3ON9aTIBie1jVBlk2IPRBSEwjP3Akl32cn4DeRLTwIntqudJQS5Sw+DsHZnA==
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=r4Ir/S2IwEo3pVKjYLUFXRo5kDzYyMx5CooExoVCkZY=;
 b=H3RAx4r15aJIqyvwJ3yVWL22ub/mHviqmkA0W6zHosiC/wYmf9UR+aqvjIYxF0FQZq1ypcGhB5023sqM9ciMpLXmukEF1fVPZMDhfNnmexHbsnw7Fgg5bgPUotwISPPvYFLrVr5Bh+BAyFQ56hYoV9DIDSNL+Tq/LgJfpgtsI/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=satlexmb08.amd.com; pr=C
Message-ID: <e792e106-4301-4a50-9aa7-8884bca0df6e@amd.com>
Date: Tue, 16 Jun 2026 09:27:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] gnttab: drop dead local variable from
 gnttab_map_frame_begin()
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>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <d0702419-2cec-45fe-86b4-470cf4d55b5e@suse.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <d0702419-2cec-45fe-86b4-470cf4d55b5e@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000C6192:EE_|PHXPR12MB999257:EE_
X-MS-Office365-Filtering-Correlation-Id: 77e752ef-030d-477b-bc5a-08decb78b34f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|36860700016|23010399003|1800799024|56012099006|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	mZVFDaChWllVrbfWlt7iGuA3tw2SrZ+JYS9nz9JDvZ15bhWp0Ku7t/OCpmzURTV8VHBJq22h/J11vV2sMFZeNbVHSI6Yyx8DvgSI0MwbU3+9N1mEuBYBfL98Zrbef8Eehwm0p2T3X1Sppzv0q+YHa0SLEVTYBxyCiGCwMPs289BhXIX9QOSMIy+Ecv0F1lfNXj+Zu/WBTZyPyy7itixaSHFXD6gAWR0KftPu51ZAsfaQLNXe0RYHTox4ao0TaUAWeC1Gfnw1qrTD+4jHxYl4h54q1JWtWhUM4dD11N+Q4cxC64ZeyZ6db6/XIC4tyyXKJdTP53bTEzDuwQtdt18AQefLmmTiWUxggSiWROXzlZp5mh7Ntd58sI2dm/mXOZOx/XNUg3ALe5byRShcgzr6p09x0/P4CqEesjUqLq9A3AQn9qVWcKs1ycqP0cLRS0Lz9FQCBLSI64E8Rl1bgPJdQaxTYOJnCSab1Luv/JwoyoiGj0Cl64zhCLUndHbMx2NKUV18ydMfjIuDfLTn0WMTEnPgkgt5XAW/Z2yQ7CVvk+PUJFn/HYRwlYN0biIoP978Vw5JTVz4sETwbwg7GYMy0oxguuxs+ZEchT4FrI2/bIcwmhg/5nlbxuqa6IyEfLEUGY7HP4oYBIngb0PLcRBSXPcma57ROd0GaIo1n6mRJXkJ4G0M+eyQvbIMOIkhXsT1UPmCylZE/bi9Hqlon9IwnU+8zFAMEf/UYMFWHx7r/0E=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700016)(23010399003)(1800799024)(56012099006)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	iFBf1+33Y5s7huq2ZD7HVsoQ+1viEf4ETeCqZZYttpE7mvUjvqgNbGrX4XcI2ujW34I3+LvNfyjrcEhTHXtlxA1wGBLmiz1J2A0jSF/apNIfXNsjISJpWfqGgpWQJg5StzDgNmFPFsS5hqJDNVSku9GH7PPVK5dfuKKafoDE776XPAAhzbtuDYGq9cuui16kaB9XFtuc8ac8494A9/9rpk1z6PKCQ/JVNyucL4lJAkYDo5yyIcnAGis3RN77eWZVNFaTcDgVGBDAwf/MLwdHmzVWGWR2uKeYCIL0XTppQ05XbPdCQ+cygHr0CNFtEZhQa2n/1qm66V4BMHCAIFvMNDJQo5g6o+iOMv5omLbR+pKGQ7QTVCD73xSFlKMckvEP/wmrQqAD+q9LBOTw5oFvF+vIeNfJ6q40BnUpFMmS5/lNz5ePyCWXmO5F6rUfprX0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 07:27:19.6747
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 77e752ef-030d-477b-bc5a-08decb78b34f
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MWH0EPF000C6192.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PHXPR12MB999257
X-purgate-ID: tlsNG-ebf023/1781594844-2A5603FF-53EAE43E/0/0
X-purgate-type: clean
X-purgate-size: 508



On 16-Jun-26 09:02, Jan Beulich wrote:
> As Michal had indicated in review, status is now a variable that is set
> but never read. I made the resulting change locally, but then committed a
> stale version of the patch (also omitting Michal's R-b).
> 
> Amends: eff88c4d3543 ("gnttab: simplify (really: drop) gnttab_set_frame_gfn()")
> Reported-by: Michal Orzel <michal.orzel@amd.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 07:31:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 07:31:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338752.1599802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZOGp-0006tO-FW; Tue, 16 Jun 2026 07:31:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338752.1599802; Tue, 16 Jun 2026 07:31: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 1wZOGp-0006tH-CD; Tue, 16 Jun 2026 07:31:39 +0000
Received: by outflank-mailman (input) for mailman id 1338752;
 Tue, 16 Jun 2026 07:31:37 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZOGn-0006tB-Pk
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 07:31:37 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZOGn-004tq3-6J
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:31:37 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a30fbd9-2eae-0a2a0a5409dd-0a2a4502c162-2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:31:37 +0200
Received: from [209.85.218.48] (helo=mail-ej1-f48.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a30fbd9-af86-0a2a45020019-d155da30f0a2-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:31:37 +0200
Received: by mail-ej1-f48.google.com with SMTP id
 a640c23a62f3a-bef47b1ac01so591578366b.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 00:31:37 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bfdb7b6dc48sm598107566b.36.2026.06.16.00.31.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 00:31: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781595097; x=1782199897; 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=xgq4liH7Jz4cbnB2BqbOfY+iuZH2QCjiC950WcU4bEA=;
        b=oiB/xt5yyMfrQ5B760rgo5SFYG1ZMGZtTSMM9Imgdxk0EASHtl9NLSd4XaRenyNawx
         VU4t1qmj4FiI8HrLL2Y9Im939JTR+AZXt69SBIISBwzpinw2mD7WEpYmyRrrvFag1MIE
         PghKdGJsYwC6yj0D0MFehAsIZE31c/liH9ujRVtOkrRUN1engU4uvJEkpArA0LBHhGSv
         EBAY5BIf46Av1eywX69wBBXDfvN19j9muEHZ1uS98MMbhEwx1Vyh+izi0XPJ8CzXbXKA
         0iZUnPoz1RbetQAJnnwdRsl2TFNB5YqA+ZXsaWL8GBFU8wS3o653IKkbHZS5Q26t30h7
         P/bg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781595097; x=1782199897;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=xgq4liH7Jz4cbnB2BqbOfY+iuZH2QCjiC950WcU4bEA=;
        b=ReKnKn3fNPgGQ6BPq1cpIPVv2spmJTt4Z59Qg2wl5z2KDGZCokSmnT48RV3fy3Je8A
         knZgVpyuWlGtya6H19tLXYu15g+Zhm4laojJQRHlu14OI8TrTb0Ml1t540HE8Mbmb1Pa
         k/cJJjL4d+ytEJr/5mUAWmVsJ0WrjdeTB8cDdbAf0unaSH19pPqmQkvVaQTPBG9FxIJU
         Zyd699VQR+XIsEL3PaBHbyyHkwIpFMcmaCSAzIOkFj8Hgc5PnhcdkzHKudyqO4e0NSiF
         9D0rIqGee3ig2d6OnKCa6LgCwRM5mmnHQ8ytxM3viEwfSWEjSjr/MCITM0b1gSwKKYrG
         h6iw==
X-Forwarded-Encrypted: i=1; AFNElJ/r4DkFG3//h6R63ewWNmeCL1H8M0v9tQGNIaEWMF79ODYtYBbDWLomShTxPW02ePAO3eJVnki0mt0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy2YOU9tjZj6nDRaeOSuYnzoUBoiZ9CKKYmCEIkWdRqmoLzVfBe
	NC8+xu0sbJtrbIeCL4c2cOkkrBsZ+zZx+Or9Psrfe7M2XIEZ1NHWiRA9hfPzxg==
X-Gm-Gg: Acq92OFgRfN3lOcEp4CvdSc/uWaICQvdD+BxaHG0BWv1SSlD3MNcdhPxSCmKpqqJFLZ
	YC39GM7524a2dnFD3z2sFbE1wVA0nJTLJB4Z+FpPK+1D3hdH9le2fHdCYDKCFWnqRD3p2Ka0Xl/
	oTk3WNdMBlywgD180oC4RIe7DEGAO2Q3mkanT1shnb7ZX4R5IRDqnwVGmG1KVMv6D0mtMQ8ak6O
	2WGjiYad/bfCETXIbNuJErgd29/brbMLXdW6oJXg78So0V/DzO1ckabaoKoy1vCoSaA493kbICp
	TTQU23Gjod+JZ7O3Ta+7DN4T3eELWdGC9njplOl8WhVZj0CeIf5vlF3iBcaoMGsFgQGNs+sXrgJ
	DHIJzaA3t/a6A4ajy5MUeSgkreCvFdb62/9tE9VSoAsnJtQjz9fsUvMow0fw45qQq2ar1V40/dI
	LQIDilGbaZ0aRo4tu8/5cJRpL+Y8fnfjWDeDKCmf9B56lec77cEv9dYSTqZAKPqBJ9H62aPAQml
	Nkcbg==
X-Received: by 2002:a17:907:a28a:b0:bee:1e36:8772 with SMTP id a640c23a62f3a-c043cdd53a7mr104867166b.20.1781595096024;
        Tue, 16 Jun 2026 00:31:36 -0700 (PDT)
Message-ID: <a20eb654-8d77-4778-ad1b-09424065a69b@gmail.com>
Date: Tue, 16 Jun 2026 09:31:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] Revert "xen/cpufreq: fix usages of align_timer()
 in the on-demand governor"
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>
Cc: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org
References: <20260615193944.19392-1-jason.andryuk@amd.com>
 <1fbb67ab-09f3-4924-b6aa-139fc5d1acc7@suse.com>
 <ajDxhjCed3cQ81od@macbook.local>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <ajDxhjCed3cQ81od@macbook.local>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1781595097-AAD6F161-50A43679/10/73395122804
X-purgate-type: spam
X-purgate-size: 1152



On 6/16/26 8:47 AM, Roger Pau MonnÃ© wrote:
> On Tue, Jun 16, 2026 at 08:30:25AM +0200, Jan Beulich wrote:
>> On 15.06.2026 21:39, Jason Andryuk wrote:
>>> The original commit showed a ~6% regression in a benchmark.  The call to
>>> align_timer(firsttick, period) rounds firsttick up to the next mutiple
>>> of the period, if firsttick % period != 0:
>>>
>>> align_timer(0, period)          -> 0
>>> align_timer(1, period)          -> period
>>> align_timer(period, period)     -> period
>>> align_timer(period + 1, period) -> 2 * period
>>>
>>> So adding the period (sampling_rate) before calling align_timer() will
>>> in most cases incease the expiration to 2 * period (sampling_rate) (the
>>> exception being firsttick % period == 0).  This longer timer slows the
>>> reaction time of the algorithm.
>>>
>>> This reverts commit a0ed5bcfbeee81c91c574ad484faa057054eaf09.
>>>
>>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> 
> Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> 
> Adding Oleksii for a release-ack.
> 

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 07:33:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 07:33:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338759.1599810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZOIX-0007TP-TX; Tue, 16 Jun 2026 07:33:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338759.1599810; Tue, 16 Jun 2026 07: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 1wZOIX-0007TI-QQ; Tue, 16 Jun 2026 07:33:25 +0000
Received: by outflank-mailman (input) for mailman id 1338759;
 Tue, 16 Jun 2026 07:33:25 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZOIX-0007TC-4K
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 07:33:25 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZOIW-004Xhi-Gu
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:33:24 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a30fc44-5cb7-0a2a0a5109dd-0a2a450abd92-0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:33:24 +0200
Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a30fc44-56b3-0a2a450a0019-d155dd35e90c-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:33:24 +0200
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-45eec22fab7so1818806f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 00:33:24 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f26434dsm42333445f8f.1.2026.06.16.00.33.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 00:33:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781595204; x=1782200004; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:to:subject:user-agent:mime-version:date:message-id:from
         :to:cc:subject:date:message-id:reply-to;
        bh=xLzbH1EO0RjlWW65gsY+VbF3zJHfV+KfASUqTVuyoWo=;
        b=k9dJzMt/su/kbXCMDKoBw6u/OV2/MGLIal7tIN5GxhEU8O+BWltG39XVRwAPgMkDrw
         DDMVJFPi+3F9FJVBmb8yvr+RtZYzvWFvJNh2naaPeKH4RiRH6L+E2VYnP/f9/l36gGft
         x0wpoH8HRSimEYklniNlyGfbDUVBgZLGXAi3JJASktXzbUyAvOn/+hZIDfxO3rPPSa49
         4GyCU0XgoDxxxVFbKXGawAQFRBpX0KkpZHXI81x0oepnLAjqIDwzVzylKT9h9NmgG+UC
         aXlfvKV8lBGEbhOrHE5YBNuj2AWrnMZkoYaJoA/liCFyQdvIOiyLz2uZWoDw/P/IPXg+
         0BHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781595204; x=1782200004;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=xLzbH1EO0RjlWW65gsY+VbF3zJHfV+KfASUqTVuyoWo=;
        b=mTEUnQnc3zgQ9mVuCE0P3TCCsSZi7wRyO3X21X+fVTbiverLbGPTHmxQ7/hg9Oegkl
         DxqRmlMTGjavNDWPFSoEww2OY38Nvr3vqIm4O7+T3dnZPLivM1ijec4xPvyU2AV91cZy
         YgT/v6teYR9e7LQOVl8D0hcy6UWRLa/PS03bEqNzkAB6s+8KPtTbpLvFY0opsVRmltZZ
         Uic7gVkJhycVzIiHckns5j6UQEtjEAiRIHVGHecsm32iWu7HPfdUpANIpc2Ldr+sF4w0
         uqWJEGwD7bqufyTAhVUjo3q4HUohCCrbtXpJIJkVPXyqkO3cO7X+RudbSDESwdXrG+UC
         M7pA==
X-Forwarded-Encrypted: i=1; AFNElJ/VULlUhp9GeRqz/o56S26zAwC+nrwHQWAlLkFqr3ykU0n0Chifo0gWeMGawInhVOSCBK0llCDmlvI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwQMBqSLXvfKi6lq+L76XNLfGlrWP4YBJpWIMRZHKKtztNAek5v
	47Sw8fz7BT0oZnwI//vvvKxAOlwq1d+HZQolv6StlzSLfyKHBvHkTkfmW9lgoQ==
X-Gm-Gg: Acq92OEP5DbPsmuDoldLBjBSEkPeRzmOFCvsb2019aJM366A4T11/W2qqDqIBjaUNWB
	HtZrYM/gwJ3hLizG3wEQ2utjUpMrVq72GkkDqxkMNkFyo5qnfaN6VqkwSf35tYFrlj9Fi9axigy
	3x9PeQPLVK1Xgk7odeiXGGmLn+hIBS4jLkbKrt+hsmWBopjpuhGa24CPYuUWA5kfSNmi0JTiulF
	b/XBBtivp1Cy1oV2meLTfBE9j0mA4W1qhuDdJENIi8Po7kZfwsd2zYEGuv5UB3mmbh7kN7ZCf6Y
	Tc88E/GDa90POl886CWEy1UKrP5uZ8CUjFyOKIMQcYXyXBDjbCK/PsVA6pRBcuw1bmS5W1wEDDE
	9RILUwV/bqLUd1YtOV/PR3uTVN8rrowzUijK3N04zcwGG1Mh6r2bTUZc8/gJWCXqvOBI4543Nqt
	EiwH65D0LStL73l2kIIU4RRHF3RMiOpD95sjFdQ2nNk47EBscgnwHctJw9qgc/4h3fYfTjZ1vOU
	AqMpw==
X-Received: by 2002:a5d:4e44:0:b0:45f:f142:d569 with SMTP id ffacd0b85a97d-4619f387c53mr2818562f8f.15.1781595203790;
        Tue, 16 Jun 2026 00:33:23 -0700 (PDT)
Message-ID: <d2203f8a-baf8-40b0-b34a-c1ef5822e2a4@gmail.com>
Date: Tue, 16 Jun 2026 09:33:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/efi: Skip FPU save/restore for idle vCPU in EFI,
 runtime path
To: Bernhard Kaindl <bernhardkaindl7@gmail.com>,
 xen-devel@lists.xenproject.org, Anthony PERARD <anthony.perard@vates.tech>,
 Jan Beulich <jbeulich@suse.com>
References: <1781272430.8631fc262581453bbf619ec5b2062170.19ebc1c488b000701b@vates.tech>
 <957a0fea-4099-4470-9b40-3f8b294c44dc@suse.com>
 <8b51a40e-028a-42aa-a7e4-55a731ebe10e@gmail.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <8b51a40e-028a-42aa-a7e4-55a731ebe10e@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1781595204-7FD788B7-5D008F89/10/73395122804
X-purgate-type: spam
X-purgate-size: 2254



On 6/12/26 5:41 PM, Bernhard Kaindl wrote:
> Hi Anthony, could you test this patch which exactly applies the changes 
> Jan suggested? Summary:
> Guard both EFI runtime FPU calls with !is_idle_vcpu() to skip save/restore
> for idle vCPUs, which don't have an FPU context to save/restore,
> much like the calls are guarded in __context_switch(),
> where save/restore is done only for non-idle vCPUs.
> As these simple guards should preferably go into Xen 4.22: Please test 
> if there are any further regressions with the 'cmos-rtc-probe' 
> workaround you just added removed to check if guarding the assertions as 
> Jan suggested is enough to fix the issues triggered on your machine. 
> Thanks, Bernhard The patch to test follows: [PATCH] x86/efi: Skip FPU 
> save/restore for idle vCPU in EFI, runtime path
> Anthony reported a boot-time crash in init_xen_time() via efi_get_time()
> on a Broadwell-D system:
>  Â  Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387.c:195
> The failing path is an EFI runtime call reached early during boot,
> where current may still be the idle vCPU.
> This became fragile after the lazy-FPU removal cleanup series.
> In 1792bb9a99d2 ("x86: Cleanup cr0.TS flag handling"),
> efi_rs_enter() was changed from save_fpu_enable() to vcpu_save_fpu(curr),
> which unconditionally asserts !is_idle_vcpu(v)
> so an EFI runtime call in idle context now asserts.
> Likewise, in dba44e051209 ("x86: Remove fully_eager_fpu"),
> efi_rs_leave() was changed to call vcpu_restore_fpu(curr),
> which has the same assertion and can fail for the same reason.
> Guard both EFI runtime FPU calls with !is_idle_vcpu() to skip save/restore
> for idle vCPUs, which don't have an FPU context to save/restore,
> much like the calls are guarded in __context_switch(),
> where save/restore is done only for non-idle vCPUs.
> Fixes: 1792bb9a99d2 ("x86: Cleanup cr0.TS flag handling")
> Fixes: dba44e051209 ("x86: Remove fully_eager_fpu")
> Reported-by: Anthony PERARD <anthony.perard@vates.tech>
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
> ---


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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 07:53:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 07:53:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338767.1599819 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZObT-0002cR-Bw; Tue, 16 Jun 2026 07:52:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338767.1599819; Tue, 16 Jun 2026 07: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 1wZObT-0002cK-9E; Tue, 16 Jun 2026 07:52:59 +0000
Received: by outflank-mailman (input) for mailman id 1338767;
 Tue, 16 Jun 2026 07:52:57 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZObR-0002cC-OQ
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 07:52:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZObQ-0093Qw-F3
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:52:56 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3100d3-e002-0a2a0a5209dd-0a2a4503c91e-18
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:52:56 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3100d8-672d-0a2a45030019-d1558031e9db-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:52:56 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490aebf33e9so19375405e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 00:52:56 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-49230a9b45bsm32118775e9.15.2026.06.16.00.52.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 00:52:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Autocrypt:Subject:From:Cc:To:Content-Language:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781596376; x=1782201176; 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=2jH6gKjlHKXvmMdLN2fFkunY4PM8p0ZuL4r/03YA3qA=;
        b=VJB9kcIgSAHhV4GFcmmHdoDGPi1K938R7ag1LYeKC6G/Koc2/i63TJi4FPFr0XnwBE
         UliM1t1TQNReT2Oc5fsziv6cOqPNJ6cMk3v+PR4dCH5VShtzam/kIAXBgQUZGqE6HTdg
         qg5Lb7/mU87ymfN1VyZ7S8kfpi63KE54GZb4eWOSgwo4LM46cSayJ/Tl7UqOnSWw0k4E
         ZE0EA6Bo7PyMKcVk12woUg2oooTBR/478e6egzdm3Ak3WOwyboIHdkRDxm+3fzevMNy4
         Jr09cY2OAhdij7d6R/p7U4ukAUTDENXrPiH9uD4pWdUzq9WR5HVd3pnFrjEb2vXAzYMI
         D9JA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781596376; x=1782201176;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=2jH6gKjlHKXvmMdLN2fFkunY4PM8p0ZuL4r/03YA3qA=;
        b=lIq7R6BbUZ53GSzE/7ZXjXtZB/qqMD9/nKsAecA5f9QxQyJXzwQaTq0BvbCjNfY8lj
         oiN/ia2G95qCSf40T1eNDjOVInaLw9qbKoAt/2Q2Ne73XZnOnS4H2re7DqIDqNnJ0MyK
         mjvwASGImGNw1QggVpQ/Vq0GZV9YxubDsfVI1s6cW4ZUzEZho3GQ55upyxDYsGlRB9Fs
         +KNz0Hvgyf+YcaP/t7TSmAxlpS3jv65j5i0clGPEz2zjHXiY3AfKECBJN1wB4UKDp5GL
         DLLiauZW5hgz570ltV65lF4bQVPNj9E87x0UKF7LCOKjMdoVQCgnRWM1EfMpqD/CAZjN
         UnlQ==
X-Gm-Message-State: AOJu0YyORQeWXVb2NeYDacK8TeVKmhN4RRFpT3i4Ji025ma0rPIlurfN
	dKhKJmTz2zYkKGFtG7CUexKfK25GqF03r7q1QeQjRiZas1x6H+uFyovcIt3+KAl9ycGJPLiLy9m
	OFXM=
X-Gm-Gg: Acq92OFwOeJCRdIvvQw4iKuESjXR1IlhNDtLkMoGQrZzkGA0a3f+qa16s6lEVNI7GYV
	W2vOJXstTmCt0oyluZRD8vngYuTBROhgfGy8JtfDo9Zs2+vp6mQQ662RwZYIXUfdeCQndpTNe3w
	rJtCCz9YToCiyQXIhrkHkJAO1qN5xAXTZBBcQEI2pzpsED9qGShEmw1Ig+Ik7H/Faslo03MqWq9
	duov1tfewZ/bHqZhsSK3y138+vi4VruIfSqBeP6s5iXk9fuiqgFigZmrzVGXQjePvOt0Mdcrhl5
	cDRPGlTmHL88CvL36ZgiYiuEEuPqDUQVZ9UJA2p/Q11w0Rp7nCpJsKIYWCY1oprD4uXnYUINFw0
	8kXd8i9JHaCrA4d0oAH34O9hvs7WE1408GJ2HEvTiB3rrADApPQHdcE6A+4ADbLl3JdSGty/dlA
	DRx/oE8aGzmScWOgzx2ZfKCqiZ8jjlhUfEVz4+aA6PPZIH0ZefBfqjMYTRmpScvug75NvjdkEbe
	IhWW93TJtG+gO0=
X-Received: by 2002:a05:600c:8b31:b0:490:c2a3:3303 with SMTP id 5b1f17b1804b1-4922ffc89eamr37295625e9.34.1781596375829;
        Tue, 16 Jun 2026 00:52:55 -0700 (PDT)
Message-ID: <c9109e8c-e471-4f4c-b58b-fdfe3cb044d2@suse.com>
Date: Tue, 16 Jun 2026 09:52:54 +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: 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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Timothy Pearson <tpearson@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] non-x86: sync tidying logic at end of linking
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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
X-purgate-ID: tlsNG-33051d/1781596376-41D91938-B1770C5A/0/0
X-purgate-type: clean
X-purgate-size: 1357

Mirror what 761bb575ce97 ("x86: fix build race when generating temporary
object files") did there to other ports: These ..*.cmd files aren't useful
to have/keep.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -117,7 +117,7 @@ $(TARGET)-syms: $(objtree)/prelink.o $(o
 	$(NM) -pa --format=sysv $@ \
 		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
 		> $@.map
-	rm -f $(@D)/.$(@F).[0-9]*
+	rm -f $(dot-target).[0-9]* $(@D)/..$(@F).[0-9]*
 
 .PHONY: include
 include:
--- a/xen/arch/ppc/Makefile
+++ b/xen/arch/ppc/Makefile
@@ -32,7 +32,7 @@ $(TARGET)-syms: $(objtree)/prelink.o $(o
 	$(NM) -pa --format=sysv $@ \
 		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
 		> $@.map
-	rm -f $(@D)/.$(@F).[0-9]*
+	rm -f $(dot-target).[0-9]* $(@D)/..$(@F).[0-9]*
 
 $(obj)/xen.lds: $(src)/xen.lds.S FORCE
 	$(call if_changed_dep,cpp_lds_S)
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -52,7 +52,7 @@ $(TARGET)-syms: $(objtree)/prelink.o $(o
 	$(NM) -pa --format=sysv $@ \
 		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
 		> $@.map
-	rm -f $(@D)/.$(@F).[0-9]*
+	rm -f $(dot-target).[0-9]* $(@D)/..$(@F).[0-9]*
 
 $(obj)/xen.lds: $(src)/xen.lds.S FORCE
 	$(call if_changed_dep,cpp_lds_S)


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 08:38:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 08:38:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338784.1599830 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPIw-0005z2-07; Tue, 16 Jun 2026 08:37:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338784.1599830; Tue, 16 Jun 2026 08: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 1wZPIv-0005yv-SE; Tue, 16 Jun 2026 08:37:53 +0000
Received: by outflank-mailman (input) for mailman id 1338784;
 Tue, 16 Jun 2026 08:37:53 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZPIv-0005yi-Ah
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 08:37:53 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZPIt-00FoaE-G4
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:37:51 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a310b5b-2eae-0a2a0a5409dd-0a2a4506ace8-16
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 10:37:51 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a310b5f-7371-0a2a45060019-d155802cc0cc-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 10:37:51 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-490c1915793so36422975e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 01:37: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-4922fa97a07sm104242195e9.14.2026.06.16.01.37.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 01:37: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781599071; x=1782203871; 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=J+EK7LRCgAJ6DQtSQZpni+/GAh5s32eCb8/3hXvF+ps=;
        b=LBNVTNpLNy6b9tfoyoygoMdR/zT4durrsMarGXsWXUs+xF21bDfU7TQ6j2AIY0zJ9x
         aHruhr6rAhaBp6+TMqSbNWCiCQQp7GgLPUXer37DAR94ILDS7KTuGKeZ69AVYyK8q1ui
         8FcqzmSKQ23YTDQz4A7/h+Ck0NJ2qrRjxAnVUjG4x6XwyYrXDIj1F0Cn+x3EVVy2/8fw
         kNPfnQUftTOPOQm10HyKZUZWSzlxcNzK1oazlTmkA1DUQSJeZ5igmEpPzr7DjG2EL0CP
         kRG5sjnFJPGQh6MBj/1TZHveB7tYrOWF0p9jBJGvK5eeCx3jR1601SpOYxZ+rJ/fTFSd
         xs5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781599071; x=1782203871;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=J+EK7LRCgAJ6DQtSQZpni+/GAh5s32eCb8/3hXvF+ps=;
        b=q7dPTilRVrfG0LUvneYOP+zpBQbPqBo7ozHj7EduKb3Lcqu0gDJB8ZK2O77VRGHIXL
         1e70mGOV1YlEXTfxu3lwOX/plYnXschdb/DWcRpld5Yh5ohxWW1nb0bUgS/GJQyS6P95
         HQt3WLVBUeeTX6idXLe8P/2qTIoWHeHzI9SP3Z7/CijYdzGuJ0mymY3ezU41pQ57S/23
         UWIG6OrFw1JN8ntbNt6izStCLcB4ryyecjjtHD2fRv6+RNuvZ57mwWdql2jtxc9kSRNG
         1SqXSPlqeE3suria9OXLUHe5cyU/iiWyJ4Ju7aN/iZSzoyyhXE9CxKs6jT0rwXS9fXm6
         LX9w==
X-Forwarded-Encrypted: i=1; AFNElJ898ZekqQv0omIvBumqTsLzbCUxjbPVbv3OjiVMWtJZccOzYEH2AI/f5G5zpSgLbPiqpzG644HUayQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzxEoLmY0E4l9qnVgYq++UaAYRf+8v9jwu0LaF1p2CrVFc/wKUK
	xpQlZNq55HVxRN/kFEDc4BxljukfpWmHUKgCBhOo5ah2WuW1qKb+9D020wZO5aeIrA==
X-Gm-Gg: Acq92OHb6idht1jneFTJDIdeeR+ohAcSylYHYVys3B5lw49hIKqJsMviDpy/2PUQ/vG
	gpOD2ZNOotgo3ugokJ1k5mroA5dEtOUZzbDNSUDtP2MeGAt5fhryNG52xd4cr+M+thAUd88R//X
	gdZMnhIDsJ/ruT8y4k2JzHGospFn9X1HlZZFKAEb+TJkrCYHGdawbEbRAvRIkihLyBNxEDIeaxZ
	wq6Gx3l3FH1Oqui6/R7JoEUf1NX15rMyULzJMYEcqeYgXF7Oj0xiNfPKxH/hwY+uHxSVO1aASsf
	uxczXtQBECzUfg+w1kfv++V9/1SFfc33FjTmnJauszYpRtGkWm0+YjKyQ4XW3OrLCbdTTd+Ap+N
	newzpIW+8A9FwgfMV5E2e7Fe2xblFFWV2RxyJ+RlHHAElfzOQN7JV58jPgjk7j4uZHPW3L6l3bC
	Ev9/WlNqTePXJYZIvwuxKwsb1dUjbCLHYkPSMLmCjOd1QMvVD4IP0IXNNoL+Hsf6Xz2pJ2/AcSz
	kMmOlnW1Tm7mVo=
X-Received: by 2002:a05:600c:524b:b0:492:1f06:ec9b with SMTP id 5b1f17b1804b1-4921f06ee55mr198134065e9.24.1781599070372;
        Tue, 16 Jun 2026 01:37:50 -0700 (PDT)
Message-ID: <6b8b204c-3c4f-4949-a476-8a84625ed4d6@suse.com>
Date: Tue, 16 Jun 2026 10:37:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] xen/x86: Always strip xen.efi
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260608173108.2848469-1-andrew.cooper3@citrix.com>
 <b310db60-850a-4096-8900-54d0816e5063@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: <b310db60-850a-4096-8900-54d0816e5063@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1781599071-87D7AD75-6CE1747D/0/0
X-purgate-type: clean
X-purgate-size: 1149

On 11.06.2026 16:38, Jan Beulich wrote:
> On 08.06.2026 19:31, Andrew Cooper wrote:
>> From: Frediano Ziglio <frediano.ziglio@citrix.com>
>>
>> xen.efi with debugging symbols is ~45MB, down to ~9.3MB when stripped.
>> Multiple firmwares (as seen by QubesOS, Trenchboot, and XenServer) are unable
>> to boot xen.efi when debugging symbols are included.
>>
>> Either way, having debug symbols by default is abnormal and contrary to how
>> the non-EFI path works.
> 
> I'm not happy with how things are put here. There's nothing abnormal about
> including about anything. What is abnormal is the manufacturing of a 32-bit
> ELF binary from a 64-bit one by mkelf32, to please bootloaders. An EFI
> binary should be permitted to include whatever data it wants, and firmware
> should be able to load it as long as memory permits. I don't expect you
> mean to indicate that problematic systems don't have 45Mb available at boot.

Meanwhile it occurred to me to further ask: How would unified images work
on such systems imposing size restrictions? They're pretty likely to be
yet larger, especially if the initrd is rather big.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 08:41:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 08:41:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338790.1599838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPM5-0007wH-Ca; Tue, 16 Jun 2026 08:41:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338790.1599838; Tue, 16 Jun 2026 08: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 1wZPM5-0007wA-9d; Tue, 16 Jun 2026 08:41:09 +0000
Received: by outflank-mailman (input) for mailman id 1338790;
 Tue, 16 Jun 2026 08:41:08 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wZPM4-0007uz-4r
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 08:41:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZPM2-008p7x-Vo
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:41:06 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a310c1e-e002-0a2a0a5209dd-0a2a4501c9ac-28
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 10:41:06 +0200
Received: from [40.93.198.50]
 (helo=CY7PR03CU001.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a310c21-c1f2-0a2a45010019-285dc6321cd8-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 10:41:06 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by CH0PR03MB6033.namprd03.prod.outlook.com (2603:10b6:610:bc::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Tue, 16 Jun
 2026 08:41:03 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 08:41: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=pe9z95IpGyK0B33D09M2c7K+GFPZPDZPYa6VnZ79EzbAb2t/+5CFSR4To9wkxX2pgq0XkCLJ8EfBZneRg2ui0rLzYdzuEqK9hHJuoQJs0XcKfIrf9rEuRnjSBb0+olTJIcWBlHCARRWjAbA9PNBNR73eWGeHLBNdieh/GYOH6einehJG69HwCaqSlAr+g0CYr/u+9ubCmo5THy7Uoi3r4avyY5P4L9FFeVqRBgYVAiLSdmYXT40ls2CLI7R+E6ghW3b9JUqQ11t8RXIKbNTX58pK8dFspjFhvVeYnEZZymzrq6VJxYK4GYdxqulHQx6TTBqgodWvne6Q+XVV8aoo7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=h9rDnPCnH3MHgCBZIVdkyEmzw7QXfupbZyecdorN3Zo=;
 b=tUs6XO3X6WIq8sVYr+fZe0ZyHF0IPKwX1BQYbhnxhEWengNTkLM/P0afOP36ypDnxKMXHCgd3B0vtrVUSk+QgIySrgt4I9P7VotFK8L7BiM2C49Y6BO6+I9Oo9akQwxd5StM+5faPDTPHRzXZSMhT8LD5Ph3UW2Uq8Fg2bW90c0Ezxc2Gp/dYgXqA1nGLkZJ3eROHfyVZGH1+9br53FyJehayoPF2LmFIB0dPrrLt0eHNEAn9UM/WMc8/8FZSdZx6cBt8s+erO6JWUw9OmluqQKQwAxFAn3iWe8RpOMc08HPizLkd7yoUacDh0dcEi94jjEHhKMZJsnlXxENyGDvEw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=h9rDnPCnH3MHgCBZIVdkyEmzw7QXfupbZyecdorN3Zo=;
 b=TtwMu+GolqnfrWDIWiQr5r1JQRdYcNRm1VLK9NwDIl4hz8wB87wI8NMdmNvBLBjD3V8YUVEXuW9B1nMpPsqLmi7iDkTBXNBjTocvKxNUrUUaHT36Sr0VFJvzadJ4/yFctRKkfzJPenDdUgnzX0Mp8AjOgFhT5j6jXM1Och0M3m8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 16 Jun 2026 10:41:00 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Dario Faggioli <dfaggioli@suse.com>,
	Juergen Gross <jgross@suse.com>, George Dunlap <gwd@xenproject.org>
Subject: Re: [PATCH for-4.22? 1/9] sched: introduce specialization of
 "running only" vcpu_runstate_get()
Message-ID: <ajEMHBY6su6tPtZG@macbook.local>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <67d1e638-a2ab-4d03-b9be-915a8c42e095@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <67d1e638-a2ab-4d03-b9be-915a8c42e095@suse.com>
X-ClientProxiedBy: BN9PR03CA0294.namprd03.prod.outlook.com
 (2603:10b6:408:f5::29) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|CH0PR03MB6033:EE_
X-MS-Office365-Filtering-Correlation-Id: 9a1f0aa1-b5af-49d9-baca-08decb82ffb5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|7416014|376014|23010399003|22082099003|18002099003|56012099006|4143699003|11063799006;
X-Microsoft-Antispam-Message-Info:
	FkZFBdBgc/GFVgIqM47Zfg3rxy2Xfhz/b/E+Vce318S3qaQw8i6cnHOSbMVPaJiusf+IMrpZ/sQzd8Jlhz1laHIVn5Akj/5lZwbXCZmf1NjRXTg0Z5ylDFV3qA4Z0Norq1oj7C3ZTZHBdPhvkPmgf3iwPBH5vx1vYx3JN4LWUgKHfa2nM61CCSgUqbL3NcnH0v8cbzbMZYmIzrSmxdmncvzMxfzTj9K4TvXh5BCo+M6nlnAA+X+ERsq/QYXe+431QIa4UAfI08aG5I4PYT0g26RFx5QsUECqf0HnRB0JszE9PK2X3bkec581w3WJ3y1y/jmLDzgJBDSpOE53n8S2xRF6VmoYyE6/gpEhdYmGnEK6Q9h7DB2BW2LHM1BzFazVVYi7+A0/KhjUCAKbvBqxgbp9OSjeYIz5beT/V0qN1ljO5wEQN8vRuwKRg1i1OtXT5l5JDy76an1fXMMyl8ZTkTY6o4Ai73Cy1Trsu5h1d7eFg5sHpC/Oyvb/t7dI+niV/sZurXyPSBStYywrOZLzYq29TJWdM8ywWPBA7Yu6O/EDqVU0DdnEmgqTKqbbjKKHxwKnb+PJtGCGUqAvappwYRrFBSCrs0azjqxqcZKDIQzV3rYXLFBL8n2vlha4NOTfBnMuFHWC7+3/Iq9QVIVf3RRN5rFUDxerMkTrxwcd56xiNCHIfN/Pze2qGpePV1DF
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014)(23010399003)(22082099003)(18002099003)(56012099006)(4143699003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ems3cDZJRmd0MHBROHh4THE0Rng2aWxQT0F0T2dLWWFuZEQ2YzVMbXJBd2NP?=
 =?utf-8?B?a0tHalBvWUorSmx1RS9IVnNVNzhFSjRUMk15cDZSSTZnalhyVU5DZGxRMkNy?=
 =?utf-8?B?MkE3VnlxTlNCYklRZFhlZjFwYjA3bUFpZDJDRzRjaWF5SldOdDlzK0x3L0ZO?=
 =?utf-8?B?WHNxcTRIeWcxQ1hVcENxM01aazQ2RGdrRzVVbkRQRjdWZ3VMMTQvR1hjR2Fm?=
 =?utf-8?B?dE0vL0phY1pYNEY0cUcxeXNnM1RKV25zSTVWZmdFYkcycEc2WGlUcGlCNUpp?=
 =?utf-8?B?K0xJU0xzVFBEbG5laG1WYUdKN1oyd3VJYjlFbWhjTzRhWk1wdGRzWGRLSkxP?=
 =?utf-8?B?QW5lNU1QU1UwTUw1ZnVGTzBiUTJUYloxSFA3WkkzRzViSldRekVKRUgxc1dj?=
 =?utf-8?B?YTJYUFNIV3NBSTNFS2ZvUTExYWt0ZXBmQzdoRUN2MG80REJqTkt5SERiNU9N?=
 =?utf-8?B?Yk9VUEdWNHhSZTBsWU4xVTBCOE5DanFSZDZGQkQxTnFZU1Z4WGNqQUQvY2dG?=
 =?utf-8?B?K1NoUEFGeHVJTTM3TnpPd0l6dUhmdzN4WFM0amFzSUZDcGdnM01MdE5jT3F1?=
 =?utf-8?B?Tk54ajByZDdodFU4SzU5WEllYWtjYzlLVEdpR2lvMkZ1OTdGaVZ2NnVERVVl?=
 =?utf-8?B?ZnpuVWc4TmhTa1lXYk5obVZic2JkbThHS2JrLzRQSHlMeUNKRk1WQnhSTlU4?=
 =?utf-8?B?UjZXenpFdUFnK01QcjUrVE03MmhRN2MzRjQ2S29FSkd6Q1FDWG84dW5POWlL?=
 =?utf-8?B?KzgzSG5GVld2UCtPY2xWd0x1VlpTZlpadk0rUThJYWtoeEdiclYvdXN3ZjFs?=
 =?utf-8?B?bGd0NlF2RmN4RkJuMmZPbzNEOUIxUlFlV3BTZDVmQ3RVTkJtdG5IOXpGZEtZ?=
 =?utf-8?B?d1JnbU82bndsS0NVRjJvN0F0UjJoZGQ5bWFKSHhMZi80YlVZUzRoWll3eEtq?=
 =?utf-8?B?VjgydFdoS1Ardkd0dFcrWU1OZDdXMzlaVVFHQXpiTUhiOFhRdXh1OEMxN0FQ?=
 =?utf-8?B?dmNsUER4aTl2T3RodUdna0N1bEtXNHNUNW11ZTYxeldGWlE3dGt6c2FscWJE?=
 =?utf-8?B?TWN0ZnlZUll6V3JZYmxhc0x0VW9TNDZVMTZXTG5BWmZCWmpKZ21oc1JHM0lZ?=
 =?utf-8?B?dmZqUkVsYkR2Q0czejQ1aVVRQ3EyTy9qT1g2ZDFOT3FQc1dCbk9FNDJzTGwr?=
 =?utf-8?B?MWR5b1BzekM1bVk3TllRaTdZYlBsVzZOUnJ4OTR2VFlOMXZwVzAzT1BBcmps?=
 =?utf-8?B?UXJyVFlZWG1rVDVuWjlZdlFuQnRlVUhtTEVmSnY0ejdhVnFDMjgyeXJEU0w1?=
 =?utf-8?B?MGM3d1NZVytzTndOdVU1ekNHMnJNQ1VYTWpUOHFKczJ4NitlTFYzdjJSUVFD?=
 =?utf-8?B?NGY5ME9VSlBJYTd1NWgvckQrWnpTeElXd21maW5hWkR5d1VPQTdNc20vTDh5?=
 =?utf-8?B?OUpER0Y1ckRxS1V3eUdWNWVoaVlhY3hNR2F6R1NoUklUbVRWMHhRczI0ODdR?=
 =?utf-8?B?TDQ1RDdZUnFJT1F0WlhVQ2xwUVRGcWFtSEZGMHA1VkRXL3luQXBrK280dXE5?=
 =?utf-8?B?QXVMUUFVOEQ4L0pmaG9qeXBxMWt6UXp6b3dtSzhVRmlieVdYcUFoTTNxVkJk?=
 =?utf-8?B?RGIyZjVoRnd6ZHBPbm9PU3BtNkM3ODEyYVQzemdEN0VqUHJscUVPeWNGdHZk?=
 =?utf-8?B?M0dkMGdYa2oxYWZ1cTBGWVdEREhxN2l3bkNxQk45S2dQVDlaWklza1E3ZVV6?=
 =?utf-8?B?NlVtNTlJTmgxTlo3enFBUGw0R1RuTzBkamp4V3hPVzJQWDhXSElrTXNJWTNR?=
 =?utf-8?B?MDFrWWFkbG1sU2lVQk82ZDZqWk50eDYxbkdSQnpoaktyRHRNTkFGN0U3NU1X?=
 =?utf-8?B?SEw5NlpvZEMrRmRCY0xuTEhnTDZyNENsZHF4cnZMWUY0dWdtODN6dlc5TkV5?=
 =?utf-8?B?UkpnYy9xY3hacFdIWnJQYnZtcldaVHB1UzlKNHUyTEp2cXhTYjZldVhiVFl2?=
 =?utf-8?B?Tk9GOVlxc2FGUW82RkZIY1Q4bENHczN4dUhXK2pqN25rdDJoWGtnSXR6NXNY?=
 =?utf-8?B?UUdUYm8zbGE2VXdDUUJBUXdyVUw1Nmw1eUhzNWxQaHpiU1hOYWpWT3Y5bW1y?=
 =?utf-8?B?cGRyTm5yMUw0V3JZaEhwMlB0UVRRamNFWm5ndHg3WUtKOHYwYWpXOHp5eUl1?=
 =?utf-8?B?YXJEMlFHbVRpQUkrL0g3ZE93QTYyTFZyMnI4Z1l2UFhGWk9zbHVYZ2hJa3F2?=
 =?utf-8?B?bjNGWmNJZzBLeFJRT1dKblgrL3NKbkt6Y3BiaVlwQytwZnJHeUlSWVBnSHpB?=
 =?utf-8?B?YnVrbFdRdDRod0RwSW8rR0RTM01LUXlSSzdDRWN1R3g3MGZhdGhLQT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9a1f0aa1-b5af-49d9-baca-08decb82ffb5
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 08:41:03.1469
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KMDtMgn7tkkSUDaA/Z/REvxd1Acj3TQzBvL5i3cMXG50jSuddBoBL7kW7PJwUpyJSE/C7xXy+MR3NT82kqKpuA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6033
X-purgate-ID: tlsNG-d62444/1781599266-B6F58FF4-191E8BD1/0/0
X-purgate-type: clean
X-purgate-size: 3324

On Mon, Jun 15, 2026 at 04:12:11PM +0200, Jan Beulich wrote:
> About half the callers of vcpu_runstate_get() are solely after the
> "running" time of a vCPU. Introduce a specialization with a smaller
> read critical section and thus reduced risk of a need for retries.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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

> ---
> The function name was chosen such that grep-ing for "vcpu_runstate_get"
> would still turn up all uses. If that was deemed largely irrelevant, a
> better name might be e.g. vcpu_get_running_time().

FWIW, I think the fact that you can find call sites by using
vcpu_runstate_get is likely to become irrelevant in the long run.

> 
> --- a/xen/common/domctl.c
> +++ b/xen/common/domctl.c
> @@ -56,7 +56,6 @@ void getdomaininfo(struct domain *d, str
>      struct vcpu *v;
>      u64 cpu_time = 0;
>      int flags = XEN_DOMINF_blocked;
> -    struct vcpu_runstate_info runstate;
>  
>      memset(info, 0, sizeof(*info));
>  
> @@ -69,8 +68,7 @@ void getdomaininfo(struct domain *d, str
>       */
>      for_each_vcpu ( d, v )
>      {
> -        vcpu_runstate_get(v, &runstate);
> -        cpu_time += runstate.time[RUNSTATE_running];
> +        cpu_time += vcpu_runstate_get_running(v);
>          info->max_vcpu_id = v->vcpu_id;
>          if ( !(v->pause_flags & VPF_down) )
>          {
> @@ -829,8 +827,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
>  
>      case XEN_DOMCTL_getvcpuinfo:
>      {
> -        struct vcpu   *v;
> -        struct vcpu_runstate_info runstate;
> +        const struct vcpu *v;
>  
>          ret = -EINVAL;
>          if ( op->u.getvcpuinfo.vcpu >= d->max_vcpus )
> @@ -840,12 +837,10 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
>          if ( (v = d->vcpu[op->u.getvcpuinfo.vcpu]) == NULL )
>              break;
>  
> -        vcpu_runstate_get(v, &runstate);
> -
>          op->u.getvcpuinfo.online   = !(v->pause_flags & VPF_down);
>          op->u.getvcpuinfo.blocked  = !!(v->pause_flags & VPF_blocked);
>          op->u.getvcpuinfo.running  = v->is_running;
> -        op->u.getvcpuinfo.cpu_time = runstate.time[RUNSTATE_running];
> +        op->u.getvcpuinfo.cpu_time = vcpu_runstate_get_running(v);
>          op->u.getvcpuinfo.cpu      = v->processor;
>          ret = 0;
>          copyback = 1;
> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -325,15 +325,35 @@ void vcpu_runstate_get(const struct vcpu
>      }
>  }
>  
> -uint64_t get_cpu_idle_time(unsigned int cpu)
> +uint64_t vcpu_runstate_get_running(const struct vcpu *v)
>  {
> -    struct vcpu_runstate_info state = { 0 };
> -    const struct vcpu *v = idle_vcpu[cpu];
> +    struct seqcount seq = SEQCNT_ZERO();
> +    const struct seqcount *s = v == current ? &seq : &v->runstate_seq;

Does it make a difference to use a local fake sequence counter or the
real one if the vCPU is the one currently running in this pCPU?  If
it's the running vCPU then it won't get the counters updated, and
hence using the real or a fake counter won't matter, as it will never
be updated while carrying out the read.  IOW: the usage of a local
sequence counter for that specific case just adds more logic without a
real benefit?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 08:43:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 08:43:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338797.1599847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPOW-0000Xg-S4; Tue, 16 Jun 2026 08:43:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338797.1599847; Tue, 16 Jun 2026 08:43: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 1wZPOW-0000XY-Op; Tue, 16 Jun 2026 08:43:40 +0000
Received: by outflank-mailman (input) for mailman id 1338797;
 Tue, 16 Jun 2026 08:43:40 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wZPOV-0000XQ-Ux
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 08:43:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZPOV-008pfE-6m
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:43:39 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a310cb3-bab6-0a2a0a5309dd-0a2a4506a014-34
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 10:43:39 +0200
Received: from [40.93.198.37]
 (helo=CY7PR03CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a310cb9-7371-0a2a45060019-285dc625cfe9-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 10:43:38 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by CH0PR03MB6033.namprd03.prod.outlook.com (2603:10b6:610:bc::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Tue, 16 Jun
 2026 08:43:36 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 08:43: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ETZxOO/y/gMeOqdOI1sGi4mGUVE7cgYOmPDmIH+BC+fA1XS30Nx9ADIrpci67b8blIsz7fn95oi9STt0BIBNA4Cqj+HyWXqhf/t4QDS2tuoNK2p40aAB+dFNqcZ5sMSBQrHCTgvSWAm7UfQkFqRs4ExbmmZmBoK3ro4tQnt5o8yts8gk8CsckCE8Tkb/v4jvfGG3PX/kvp8T9nuFNrzJltu+xHtUMVsUnUVX7Yh7b7wTUgXEjatZQT/L+1loC93DUGXVhcVQQaHPnjcJ5QAgIHW6nrnTddlHdy3/hkSwPUAGPMVc9YBA2MonlsGWxZiqPWtM0FjX0KTVTV9L40YxnA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0kGtT7L5W5sXd6OqUOVtJ02CEdxyi8TClkSbRoIMv2E=;
 b=uKjrwIE2mvXmFeVvr7k4c2zhMy7/Hnef6V03qyzM6F5dm3CXY/071+HNWtLPCINjn5Ms/4p8JYPU03oh4skL0JVQs+pis8H8/7xvYuuVH93BhqFF+a2CpKyYdpKhDWNO3RijcfHc6qfYbMM0mpdoJd44A8pTvRqKHOyJrRMUDYbiaL4ywQXQY7aIkGRLnm33HUhvd/0GXZTgQNFm963athkbA+zKSF80kfTubFjMTSRuI5HmLHSjdXXERHacaBMr6FHZfQjHjvnmUgi/lghtm47A14hPtZnzx6+5AuClKuCyX3ofu+1ANyrUViUxoHSlCPCwRn+v2x9V14JDlOztTQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0kGtT7L5W5sXd6OqUOVtJ02CEdxyi8TClkSbRoIMv2E=;
 b=lw0NizRhe5ThUcSNG2dSqQMFwrYoMDpmProLl2v9Rn4/jeEtJd3pDQ0NbW+UALjTXiuTaPqC+9MeYzSfQy2UTfxmdzMOpxkTXJkhNc5GF6UFZAUYox2ftp95KonbIqlZOfaMetQdxERzzNs/WtYIoEDwDC+nhXGeiNbneaUAp8I=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 16 Jun 2026 10:43:32 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22? 3/9] domctl: rename a label
Message-ID: <ajEMtMD8ss98kG9D@macbook.local>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <afd71b98-7f25-48af-97ca-4f772551f73e@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <afd71b98-7f25-48af-97ca-4f772551f73e@suse.com>
X-ClientProxiedBy: MA3P292CA0017.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:47::8) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|CH0PR03MB6033:EE_
X-MS-Office365-Filtering-Correlation-Id: 62a21caf-02ef-4114-5848-08decb835ad4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|23010399003|22082099003|18002099003|56012099006|4143699003|11063799006;
X-Microsoft-Antispam-Message-Info:
	rAammO5qfTyyw6IFbevngnpFejZ8yOQWvG7a8nMPM02TPjyakPiMfEcnPO9Z4LDAJ5ZvKNWTaQVsZNUvxe8jjHYaI0oqGUuHLSqkPtZZ/Ip+lQwz9ONxEWoQdz7ShW67ZJR9CoIuay13mOBCNBKrdMq+MmfBkEa95pg+u2Z6syUvPqhBXYKUfWScyxNcZ6pl6U0cGZ2duLIF+G8fANHxwSHhvwsyzc1XaIh8RoD+IBwoWAMquj1Jzy+JUSybG2g/1EFD2gI50phfvd6HO8ziQKw6DncQMeYHQdxlDd6C9BeyKYlLEuC/sfFZxugYAHJRQ+skXq5IbJ+pq/D9Omf+pmXeEmdCjH6w9O0y59LRcq3o+K7ODhanCg+KhRf9IVpjRLjCFguSWZZGS9JIw1atOrk6AyqgY2CSjV3loiGTMf2JxIZp1EFrfrcfmy8hn9ECoKiXrFt2a/u9ClPzZtOFgX9iROCZEJMzVBgPXimW5HgU4ozuiE1p1C7rPSds4NP2edairfNy+lv+ct74/ejnZotlcBk5qV4u1JZbLbBoGFvDXOOESelaFCyxSIlvHJCwPi59eLh/eliJWJHAU9eLIi+5jby0oE/D+4qiO2iHatmr52zwwuC0CC/cIXtsZSX0C2G4mxtj8csvomRR42+iS07AFRiyRpNCposC343SwIYvd13+HB2Ar/n267zwUjhR
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(23010399003)(22082099003)(18002099003)(56012099006)(4143699003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M3dwb1cwMnR1YW5lQkdTTkdhazkwWVJuM29PQ1NyTlZmRjdyVk9ucTlvd3cr?=
 =?utf-8?B?OFpTYW5EQjAyd25paWloWThFVlIyTXRiU3dKcURVNWdLMmxTMmRoNnppSVdS?=
 =?utf-8?B?MnU5b0RMVEZFR2VRQThVT29zaGp5cUNUdHJ1eE1sd3dyY2YrcnVjTU1ieGkv?=
 =?utf-8?B?dWFwZnRCVW52TjJrSkdGNVc2SXhPWGtwNEdYM0ljM0E3blVaS3Z0QzdzM2N6?=
 =?utf-8?B?eFJLK2lWVnZJaVg4V1Q0Z0dGVURoaklwYTVsU29jZGhxYUI0ZXVuMnZBb21q?=
 =?utf-8?B?WVpvT2U2NmRTcFFzVnl1aURpNTBkSHJsakc1WFh5a1FNK2U2MVUzSmxVR0M3?=
 =?utf-8?B?RHg2R0piVHNRa0taZkJoVk9obXhwOTRRK3FrUHBTV3g2dmxoNlNCWXVhdnhi?=
 =?utf-8?B?c3YzT0FIZU81WUFOTG03MWROR09pc3VDa3R1YUo5TjJOQzFlZ1NXQm9RRXM2?=
 =?utf-8?B?M1dFOTNlT2RaeGl1R1ZYdHp2YS9ockNoVVJrUmJUOGlHd1lIV29haVJvZVNk?=
 =?utf-8?B?RVU4NTJ5eXF4OEV1MDBHeVJEN3dBT1JCVStSRnhCWUZhcWZkRmtCN1ZzR2Zn?=
 =?utf-8?B?aVM5VGJMcUhDckdQSVFlOXlvWEhzc3Rkd0dJWEpUdnhiWVBFdlQrUEtlMm1k?=
 =?utf-8?B?U0VTK2hSMEJPVTJva25UZ2haU01sREpqa0sycldSMHNtcWJrZnpqTDJPNUhP?=
 =?utf-8?B?clQvSkZzSmdoLzdFM1UwNUIwa3U3TkFpd1NLdUZoN2dUWmJBSHVSSllsY3RM?=
 =?utf-8?B?dUhKaVd6azVZVGYvS2E1Vzh2V1NPSzBQc2cyS281K21ZRFVaTmFpc1grM01v?=
 =?utf-8?B?NG5iVENBK2tKcnBJN1ZocWhOU01BelNMclRPM2xDYk0wS3Z5aW5BQldpYmRK?=
 =?utf-8?B?dXhYbmhtdFRtcjlPcGp5MjBEd2NpMlF5QkRiWkkvSG1nUjJkeGRWVnI4S0N6?=
 =?utf-8?B?ZWNGelBsR0tQUFVEd0VoNFlJcWZzdFVpM1NPb0V5ajFwY2FQcVB2QVJJdXh6?=
 =?utf-8?B?Sm5iVzMzMWcrbnc4ZHlBUmp1Zm5tRjdJOUxscEEzU25EQmF2L3RTV1VvT0xO?=
 =?utf-8?B?U3g0bWpYQ3YwVmdwN1ZxMXVlc0pKWHNVY2tzNkdzNmRnQUJoNWlIOXVXTGUr?=
 =?utf-8?B?ZWZtVmw5VndxT1pObVIvWi9Pc3hGdVR2dm41dHBpTmhLcDd4SHRiMkdwYlhI?=
 =?utf-8?B?SmtteWRFUGNPYXY0Rjk3ZG9rVGk0Um1Db1FLR0ZJZGhKajVmRHBMVFlwU0JM?=
 =?utf-8?B?dTFKUG01M2RnSjAxRk5xWDd2R2hrclNEOEtrWE9ObVlRclJmN05VZnh5NnRo?=
 =?utf-8?B?aDcwbkdxdlVSbmVrTVJPSHVhYlVJTjJtK2FKSEdWVU4zWFRZTWJ6OXlzWE5W?=
 =?utf-8?B?RFNtZ0N3QmNyMGxBcEV3ZXJMbkJLWDhkQTBsdWJMSnNkTFZaTi9tbmI3bFRk?=
 =?utf-8?B?bUxOeW05OFJDSVdGbGMzakovTHZKdWkwQ2dTOGlVSVl2OWNvUkpmNml1VDlt?=
 =?utf-8?B?cDRIK0RSU051S0pKdTRlN2ZlMG15bE5XUzgra1BnMEpPc3lvcFNKR2hvZDc1?=
 =?utf-8?B?UHcwWkdyKzB5QTRoSk9DSUgyS3BWK2hocDNHR1NwaG1LS1A5akpuNitielZx?=
 =?utf-8?B?WkxSZDlLeFZCZzNTSDJabHlMWUZIYStaY240OHlPUCs1UWg3ai9FMlA2M1RE?=
 =?utf-8?B?cUM4bzZ0TjJXK0IzVXhudjhLNXowc3FsTWNlK2UxRi90anR0Z0U2dzBOY1BO?=
 =?utf-8?B?SDhSWURjSXpOWFE1Z1dGd2JVaXhxalRtV2tPcEpqYUFhZUdVbTJqSCtDak96?=
 =?utf-8?B?aE1WYzAxVWI1VWtjQ1FCTDVpR2FqbWd6Zy9RNm4xZy9IL2RXZlQrYURSTm0v?=
 =?utf-8?B?MVVUUzYxQzF1d3BjeWFVOWJBampZeExhZ1Npb01RaGxtNGZBVXEzSHlVemlC?=
 =?utf-8?B?UzRKUm4xcDVNWHRqdHBXTVBvNUxMcFoyQ1htV3U1a3pPSkdsRmdzVjFMWWlv?=
 =?utf-8?B?dDM5NzBaOGN1T2c0TVVSYjFHSkZlTURnZW04OWFjRXpNcDF3K3FibnVHZUdo?=
 =?utf-8?B?dXJ0cmJUcGJBZkRYSnY0T1M2cGdxWHhjU0hyYjJVYmY0cTlQR1RFUG5qK1VM?=
 =?utf-8?B?U1pSUDV3MjYrdXc2QmlHVlZ1b3ZIVGtmbGNFcEV4STdDOVF1RE9hWUErTm9S?=
 =?utf-8?B?YjU0bmJFakxVNUFEQzlubWxpdDdyako2UU9scVVFWU01V3J4S0NEaFNJUC9R?=
 =?utf-8?B?TzgyM3E3NUVZdmNZZ3pZMmowdXFjeCtiZk1xQVg3UWhlM2xiZGo3Ri9tV2xZ?=
 =?utf-8?B?RFN4TzhZZVZDSHBTQkRaTmJ6TFhPaXJtQkVCRkcxajN6T09hcndjdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 62a21caf-02ef-4114-5848-08decb835ad4
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 08:43:36.0739
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9zndH3083R2zoKTsq9T71YlmgUCXiH5RfI/t2jXN1zHlxYE2IuBqqeAvEcd4VtwrHgyW/dsdyQ8QPHT4FmHKoA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6033
X-purgate-ID: tlsNG-16d1c6/1781599419-87D7AD75-A4457CF9/0/0
X-purgate-type: clean
X-purgate-size: 334

On Mon, Jun 15, 2026 at 04:13:01PM +0200, Jan Beulich wrote:
> There's no real domain unlocking here, it's merely RCU which is being
> "unlocked".
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 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 Tue Jun 16 08:48:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 08:48:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338805.1599857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPT5-0002Od-E4; Tue, 16 Jun 2026 08:48:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338805.1599857; Tue, 16 Jun 2026 08:48: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 1wZPT5-0002OW-8j; Tue, 16 Jun 2026 08:48:23 +0000
Received: by outflank-mailman (input) for mailman id 1338805;
 Tue, 16 Jun 2026 08:48:21 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZPT3-0002OQ-AE
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 08:48:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZPT2-008qfY-Jt
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:48:20 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a310dd0-2eae-0a2a0a5409dd-0a2a4503a558-8
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 10:48:17 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a310dd1-672d-0a2a45030019-d155802eb872-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 10:48:17 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-490b7866869so44061745e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 01:48: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-490ea95c51dsm287766585e9.1.2026.06.16.01.48.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781599697; x=1782204497; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=EGWs8/Im/BfYHBz/SictQyVMJADsVkv/l+1C7PXdQgM=;
        b=S70ERyAsJYjDzQE+VjJjUbeDIeo91zLKnqt3CMTECi6WKTMPZH09Nyx29y7g2ttqTJ
         8swe++c0lA9XH6hOiu8005irNR9/1nz7UxQmHMBDzDqgIa0VqULnkV6X/FL7K2VYLFEZ
         W5KNOoFM1iKvheyo3aDyb5boM7atFUgcdVObTxBKyMOSJtGpznu1pcWF5DXmMeVSNS68
         TEcVPf1geS6c2JsKgeq/NI507CDl0ncOhzBrf/f54VEl6c/srs7J8zFsVr8QBjNswOjF
         9DQ2jmE8LxnuWF8Dpv/+KYNGSEwwycGtJapfnXhq7XMCT+55NL7peKw7K1meJq9z4TdW
         nA1w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781599697; x=1782204497;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=EGWs8/Im/BfYHBz/SictQyVMJADsVkv/l+1C7PXdQgM=;
        b=LSpXHB4WC/9ciHJIOH+zGU3ExXx+kWx5qYx3ZXlnmCGBuG6MUXOFZByoq5uIJiEWAs
         QE6e7pOBNaQrEY8h/1XsyA57Xy5nD/YqypzXtyBsMGeOhW1qerTNltdeUDCOnVboZYnJ
         wFc8Nt7mB3LQ7edVq4Q1BgTQPfKM5guyakd+At+atI68vLxrP2lJmm+6whDNeOm/LlkU
         3S/5Z2Dh1FPX6MSKochX8ujtpwKj2m99oN2+HyGeLcaD6Mjr0H3EEfhewpRmco/NjdpJ
         o7hGV4M1pDoFw+A2lJkcY8j/oVmOeLPfxNAACRlEOb/+caDmP7zOlmyqew+9GrCp/W6p
         ypVA==
X-Gm-Message-State: AOJu0YyEF4YfdUFIpu9EY5+uoS49DdrE+guLNMZg/WZPxh7f1daau/pq
	gU7WAvOOty2lDXbOj8vLPpfOkBWwN4roLdl8kYFxpXsIQxBcboRDSg0kYKHlPSquU6BKtdULCPX
	+6/c=
X-Gm-Gg: Acq92OGv8I/Y1ZQ2F4PpYSpmaOW16S7tW4Jk84IzOoAMdDdkeq+fJqFmbvC/8Pf8utX
	dWMLIKvgWRNAlMMZesUZo2koOnSmlsWBB9Coai6J0IqG9r7iyGLCAcTr4ZgyAeOfEER5n8wNeiw
	uorGSMqErbc7CZBMuW9AC8ja2CY31EoxT70eYZ9VQaW+5Vp2lWa9lepFstFqRPIklPmE1CXUkp/
	TihjmJ9BMu22XhzPg01fQ/oxSY2o9U2iTK34WBHp9cpEtHWGnswfi7FZrj5PFA/o1ZSGEbVG5dV
	byT1I1+/tQQCohXUCv1tWP7MLKiP3pSEmlCeyozjv/ljixCpOaAJiJPXcaywaUWetwvcD0fdT4S
	1u9Ma31yMGTP2arJEfJNcDTt0dgmm8Vpzakgy93Ltti9BRDJDsGm31qfJ/EG2TVWM+fqB/w8ZWg
	hmbt/v/c/QXCxG0AS6pR8uE2UV663EsMZ2lztiVZZnNwK3J5tzklzvQj3cJTk/g9LHih/Cax2Kp
	YJM0EeToKbExnk=
X-Received: by 2002:a05:600c:4fd6:b0:492:2f2e:e7e7 with SMTP id 5b1f17b1804b1-4922f2ee803mr53180495e9.17.1781599696942;
        Tue, 16 Jun 2026 01:48:16 -0700 (PDT)
Message-ID: <9eb03d4e-681d-4024-a382-90e837872962@suse.com>
Date: Tue, 16 Jun 2026 10:48:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22? 1/9] sched: introduce specialization of "running
 only" vcpu_runstate_get()
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <67d1e638-a2ab-4d03-b9be-915a8c42e095@suse.com>
 <ajEMHBY6su6tPtZG@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: <ajEMHBY6su6tPtZG@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1781599697-39B7C938-30215F7E/0/0
X-purgate-type: clean
X-purgate-size: 1850

On 16.06.2026 10:41, Roger Pau MonnÃ© wrote:
> On Mon, Jun 15, 2026 at 04:12:11PM +0200, Jan Beulich wrote:
>> About half the callers of vcpu_runstate_get() are solely after the
>> "running" time of a vCPU. Introduce a specialization with a smaller
>> read critical section and thus reduced risk of a need for retries.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Thanks.

>> --- a/xen/common/sched/core.c
>> +++ b/xen/common/sched/core.c
>> @@ -325,15 +325,35 @@ void vcpu_runstate_get(const struct vcpu
>>      }
>>  }
>>  
>> -uint64_t get_cpu_idle_time(unsigned int cpu)
>> +uint64_t vcpu_runstate_get_running(const struct vcpu *v)
>>  {
>> -    struct vcpu_runstate_info state = { 0 };
>> -    const struct vcpu *v = idle_vcpu[cpu];
>> +    struct seqcount seq = SEQCNT_ZERO();
>> +    const struct seqcount *s = v == current ? &seq : &v->runstate_seq;
> 
> Does it make a difference to use a local fake sequence counter or the
> real one if the vCPU is the one currently running in this pCPU?  If
> it's the running vCPU then it won't get the counters updated, and
> hence using the real or a fake counter won't matter, as it will never
> be updated while carrying out the read.  IOW: the usage of a local
> sequence counter for that specific case just adds more logic without a
> real benefit?

While the counter wouldn't be updated, adjacent items in struct vcpu may
be touched from remote CPUs. By using a stack variable we avoid possible
cache line bouncing in that case.

In any event - what is done here follows what vcpu_runstate_get() does,
i.e. this is meant to strictly be a special case thereof. If we wanted
to omit this extra logic, it should also (either first, or subsequently
in both places) be dropped from there.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 08:57:04 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 08:57:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338813.1599864 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPbP-0005kN-43; Tue, 16 Jun 2026 08:56:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338813.1599864; Tue, 16 Jun 2026 08:56:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPbP-0005kG-1B; Tue, 16 Jun 2026 08:56:59 +0000
Received: by outflank-mailman (input) for mailman id 1338813;
 Tue, 16 Jun 2026 08:56:58 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wZPbN-0005k9-Rd
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 08:56:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZPbM-00FtTC-P8
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:56:56 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a310fc5-5cb7-0a2a0a5109dd-0a2a4507dd20-22
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 10:56:56 +0200
Received: from [40.93.198.40]
 (helo=CY7PR03CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a310fd7-229c-0a2a45070019-285dc6285d19-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 10:56:56 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by BN9PR03MB5980.namprd03.prod.outlook.com (2603:10b6:408:135::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Tue, 16 Jun
 2026 08:56:52 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 08:56: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=GzviwhUik65yPIauuBtlJ71WC4DjhUMKM2TWS9DGPx4Pws6pg7pgj5ICtcOMi2aLdo1KnetTh/Pk2VzPaugOeFJlOVIHXPtdTfyF5y7Rh9TJ/aH8YObEmMxiNxl++7GZTn1MkdVzxusK4tQflelvU26lHDuRfcgjNCkjS1RVQm2HRgWcx5hGVh1gOjBGIrmASd1/6AKbn9cNvGKSaAi5xqWDqABbXK+L/F1dcMVii3OIbInPMu/jsf4YXMrFd3499TDlyNtT8fXPB2Dp/VXdLU1ejWTO9eHETf+qbJfRt2GBXUeYDhxYHRreNgcwuP0ZOxE3qk9J/hanCZTrK0nHXg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-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+TSV25DALnz94oXS6n5Wi7qRMedJIKxHFC4W9wf72Y=;
 b=sJFhw1rS3uCbc0hD2+NWX255qkc/F97Aus52SJRwWfFrNW5b0rcw1N+aoTi6jBTQilhd8uqVMuGhnbBBRl6IWeddnO3lsWgdQ6qef9qdbs6xbR+QxtkTIgHNE4d6Z6F6KGPxO05D4P8JO6a51pViV6AM7WD/E60Fos1GRypHQlY72g5KUY4G/XVVhd8IAVDsW4rHXvWzIbEETydDmkB1Xgc0pAwNpNrhao6srghk2rDxk/9dWu7ShHS9oQVDo2lrfOSB3Ir1lPVOhoS1h7qHqXLoYN840Lgv9Wv3dOJxVoq5LWVGKdpZDEZczQUZ+PFCOY2ZcpDlH0jyrH/SvrR2ag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=A+TSV25DALnz94oXS6n5Wi7qRMedJIKxHFC4W9wf72Y=;
 b=MFrdSsLhn0F1f68PoiRpzzStjTeBkW7X6cw6CcZK3aQp4ZfB9jWjURix1YjXiQkyC1pQkgenrZTG2+JWr3n3K9+XiU8agAb8H0WfwEKJeV0Wx/ly9xT2F7vmyO7zojMS0iTZ/+nDWq9dXZzj7k6eZVxvVUepqt2B6UEpLSUVjsI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 16 Jun 2026 10:56:48 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22? 6/9] domctl: handle XEN_DOMCTL_getvcpuinfo
 without acquiring domctl lock
Message-ID: <ajEP0N9_VYAnPxKH@macbook.local>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <0e38793c-e201-4cbe-8cee-6cd26996173a@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <0e38793c-e201-4cbe-8cee-6cd26996173a@suse.com>
X-ClientProxiedBy: MA2P292CA0021.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250::13)
 To CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|BN9PR03MB5980:EE_
X-MS-Office365-Filtering-Correlation-Id: 60738360-c616-4274-2c9a-08decb853553
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|23010399003|376014|22082099003|18002099003|56012099006|4143699003|11063799006;
X-Microsoft-Antispam-Message-Info:
	cAbGQtOuJlQrb88wwPz+bn/xPzU2Fa2LVdPT1ExeuMN23yy0IsZwR4g3h9bGfx7ziYZIY7RPp8ikbeL4zLJzc4nJ2N7R6OL92FRehvnke/9fNWtY2mkEHiRHA/iGnA34Wx5Q9eKL7pihogNnkze7JPqDnaL4UZTNggwTa4cEFW9k3K2UgZQPLvzWRZvjrDBtqNmUpQxLIYm7o4TIZQnCIgjfjhQZ8n0X63xQGdyL0+ow/wIw2cGK76caMB6LJ87SjXkqWaYheUUZX7hf1T9r3O5uL28iYmyylMHk4njflXZwuBmvqCvNLop8BBZdGCeew2yHeVar6DD/p4xZTtKgUUW8BCSJqzKM/FVYI3nZ66NgxjZ5PVaFtZbW4tDUG6nrGRY6rD+lay56Ak7EgzCbl8f/xcYkIPfQ5tsJg2IPldGxwx9KO5aufcM1MJrLUg04oPwjxTmacs7Pq3uNSjuqXpwHdPtPgwIJOCytOpRsS4eRGiKTeI67qmTQ9MJFgjVF6UNwFS3D8Y+2H13POfWjDIB0aG39ZFs92sr4ogW8es0V8If04FSAvW7GuG1fes0YS96lLkm6L1fzAJSBk5tQ9ECL6axetzvRQZ0SNiX1CZfS4jT4d1lcCHnyOpGMNEB3MJBaTUpL1znDnraK9D9pMwUnVLHFDD8L4nnWqZf3phpAuG1RkK7b1fljzx9BDvYf
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(22082099003)(18002099003)(56012099006)(4143699003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b1o0RTY2akxLM0NOR1AybWJic3gwbEdlVnBEYmZzTWRkR081S0haRUcrTnhU?=
 =?utf-8?B?QlJzUDU4amM1eEpoKzgwZEFCR2R2NHoyZFJpR215aFVPZmZ4UEhOQlJVak1s?=
 =?utf-8?B?UjJ0ZkoraEw0amczZStEcG0ySlFESUpZYkhFSHZWVThaV3lLTk9GL0ZtanRD?=
 =?utf-8?B?WW9Md1U0UDlsN2RicU4xMXhocjg4RjNEQkRKSDhRRC93NzZKVlQ3ekd3Tndq?=
 =?utf-8?B?RGdSMGFiTEgzYTBIVy9KUW1Id0NPY1YyWlRlOHRYTmpGelJHR3MxcnpuYzhX?=
 =?utf-8?B?R1JVeDd2b2QvSnlqejB2eG4xazA0dlZxdW9yZXJzVHN2aWZUblJXUjdNQzFn?=
 =?utf-8?B?bmcxVmY5YjA4ZmQyeEdtajdXSnJFcU1XNW52YjdOMldtOGowZ2NBRFc4dU12?=
 =?utf-8?B?dzR6Y3RzenhKayt6aDdFMDl2MGNkVVk4cVdzQnhUdHBJQmlrazNOWHVjR0R5?=
 =?utf-8?B?MEh0R0ZKK1dWYmhxeU9SaFd6VWxSWDdBL25FaVZOTmdFRWMyMlk0Z25xc1dr?=
 =?utf-8?B?QzE5cWRlMlFhY2c3QUMxYVBBalQ4Vys1K0tHY0RDSlYvS01sbWNVaTlhdmt3?=
 =?utf-8?B?cVZKQnRwMDduOW02cmJ3V01SdVZqbmJ1S0Z4QzRDYmF0ZE5RT09OYVppMG9v?=
 =?utf-8?B?MnBFTnpKZllCN1QvL0hublFiY01jZTlZaW5BYk5FOE95UlFrWG5BcndsR05p?=
 =?utf-8?B?ZVJBQ2wxMks3SmxhaVRycFlHQm53Q1Q3MkxlaWx6Ym5lUmlhTXdGZkkxUlZI?=
 =?utf-8?B?Q1NCOFBDMGVZRWdDb1lKWDZSMUhVb0FueWhMWWRYbjlhTnZmYXlTY3VZNjNv?=
 =?utf-8?B?R0RmZ0tXM3JPaG9EU2ZrQ1Y4cHoxanAvMHg2WGZLdW5EbTNJWENwUVBrTTNz?=
 =?utf-8?B?Q1VpYkVEaWwxQ1ZiZ25MVWs4RysraURpSGRGN1gwVGl3Z0FqNFlZUkVCVVkw?=
 =?utf-8?B?SEsrY2dscGFpVkg4MTQ5UVVwL0NEN013WktOOGRPck5Dc04zOFA4cDdiVTdW?=
 =?utf-8?B?TXk2dFpFM2Y3WjcvUGs4cFppVVlvNjBhdnk4THluOVJwVy84ZmdqSVp5THMz?=
 =?utf-8?B?VTBxUnZOYTdlMzhuUEMvRVRtN0xnbUQxMiswTXpBQmM0WCsxdWRTT2IxSGt5?=
 =?utf-8?B?MkNkRUtnMFhmMmc4dnYzRUVMc0crRGVTU2lHMTBVY0hXSy9KVU5FeUk4UnZC?=
 =?utf-8?B?a1EyU1kzaVZYWUZ3UVBQQ1JiU0ZIWForTWxmWVV6eU5CamxjV2Y0M1hKdHlu?=
 =?utf-8?B?V1k5NXBxZy9kTzFnTE5EbkNjRTdVQ1JmNmc2S3VnTGxnaTBMVTIxU1FnL21J?=
 =?utf-8?B?d3R6dUtRbk5JZS9PcEF3ejNQeVZqc1luQWF0cUk1aFRmQkNWRkFUNmwwS1Rr?=
 =?utf-8?B?RERkSHBRdHZvZUIrT0hudU9KdjdyWFJjMWpFNTJEeTdNeUVrU2tOcDRITWtB?=
 =?utf-8?B?dTAxVEt5aTFtR2FBQkptS0U1bW1ZSDloSWNWRFFzS3pXT2NjUjlzY2ppOEpz?=
 =?utf-8?B?VGdCanN3N1FUdCtRMVNsZEliUWNwSi9qRXpzMTNxTE45SE9DcTd3L2UvSVBH?=
 =?utf-8?B?VTBJWVY4SkUybERLWDBkOHlhYlVvY2dyN01RS0NyVjBGcUdwZldZdCtUbUJ0?=
 =?utf-8?B?WTV5NTNDZHNJa3lMclhoVWVzQVdpdHRrUHBWYk16WjlvZEVFOWYwWHpETEgv?=
 =?utf-8?B?cEU0OXYvdWZ4RUxLLzRGT1FmRFVlTkhEMS90Rk5oUlNLMFRBa2U3MzlBRlAx?=
 =?utf-8?B?VjBGTUdHN2FUd3k5Q3ladUV4NjV1c0YxTEplV3ZjTXJ4aTFHdGxvczhIWWR3?=
 =?utf-8?B?ZXQvSkpsSUhMbml4ZFlNYlJ0TlI0ZWhJUEFIcGp0YUJTbnljSjAwRW5JcUlH?=
 =?utf-8?B?bE1iZmNKTmc1WjhwMjBxZkRsS1VaeWx6VG5IdU1Hb0x3M1JUMDdjSXZLV0Jt?=
 =?utf-8?B?alEwZXE0ZVpPNkRJd1pvY0NESEthdHAzZnZpcWZmNWRqK0hySG9jZmRSMXJs?=
 =?utf-8?B?Tk9TL2taTmJXb1ZZUDVFenUyNVliNUxhYkh5bW5EWkk2aFltTjBmdjN1cXQv?=
 =?utf-8?B?cDlUY204NHVyY1NkdDlpQlRzV2t4M0dQajFWUlFLWll3eWtnYXhEaFdCaTlM?=
 =?utf-8?B?R0Y5MGNzZTJqQkk4RzIvT21DWWI3Yll0Y1dKUzhDOUI5VDJsTXFyY2V3Zktq?=
 =?utf-8?B?V00yejYzdExWcHJhdlFNN3BmdllrQW9USTM0MElCUEFXTlhaclhXalBQZ1J0?=
 =?utf-8?B?RnppaDQ5VFlwbnorU0FDMjVpcHBUV2N6VUErUUdXbFFpdXlTc3RhMXdBRjRO?=
 =?utf-8?B?bVNvR0VUTURYR0VxSStOaHFpcGY1MG9lbm4zNmhXbVkwVkJ4WTRwdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 60738360-c616-4274-2c9a-08decb853553
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 08:56:52.0652
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nzJs9FNYXoEtEa41IEb9hFQaLs/y+0cS5fETtAlUSh5YsTgo2jLWyh0a6pDAYREqi4nOnT6aHnoCCf0I3K8rGQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB5980
X-purgate-ID: tlsNG-ef75cf/1781600216-21364C48-5D515B43/0/0
X-purgate-type: clean
X-purgate-size: 1841

On Mon, Jun 15, 2026 at 04:15:12PM +0200, Jan Beulich wrote:
> Like for XEN_DOMCTL_getdomaininfo there's no need to hold the domctl
> lock for XEN_DOMCTL_getvcpuinfo. While moving the code also switch to
> using domain_vcpu().
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Tentatively-acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

Some suggestions below.

> 
> --- a/xen/common/domctl.c
> +++ b/xen/common/domctl.c
> @@ -546,6 +546,33 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
>      if ( ret )
>          goto domctl_out_unlock_rcuonly;
>  
> +    switch ( op->cmd )
> +    {
> +    case XEN_DOMCTL_getvcpuinfo:
> +    {
> +        const struct vcpu *v;
> +
> +        if ( (v = domain_vcpu(d, op->u.getvcpuinfo.vcpu)) == NULL )

Since you are moving the code anyway, I would rather do:

        const struct vcpu *v = domain_vcpu(d, op->u.getvcpuinfo.vcpu);

        if ( !v )
            ...

> +        {
> +            ret = -ENOENT;
> +            goto domctl_out_unlock_rcuonly;
> +        }
> +
> +        op->u.getvcpuinfo.online   = !(v->pause_flags & VPF_down);
> +        op->u.getvcpuinfo.blocked  = !!(v->pause_flags & VPF_blocked);
> +        op->u.getvcpuinfo.running  = v->is_running;
> +        op->u.getvcpuinfo.cpu_time = vcpu_runstate_get_running(v);
> +        op->u.getvcpuinfo.cpu      = v->processor;
> +
> +        copyback = true;
> +        goto domctl_out_unlock_rcuonly;
> +    }
> +
> +    default:
> +        /* Everything else handled further up or further down. */
> +        break;
> +    }

As you are introducing this here, we might want to also move
XEN_DOMCTL_shadow_op handling into this new switch block: with the RCU
taken and after the xsm_domctl() call.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 08:59:53 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 08:59:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338821.1599874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPeB-0006vg-J1; Tue, 16 Jun 2026 08:59:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338821.1599874; Tue, 16 Jun 2026 08:59:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPeB-0006vZ-GL; Tue, 16 Jun 2026 08:59:51 +0000
Received: by outflank-mailman (input) for mailman id 1338821;
 Tue, 16 Jun 2026 08:59:50 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZPeA-0006uL-BK
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 08:59:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZPe9-003rZZ-7E
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:59:49 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a311062-5cb7-0a2a0a5109dd-0a2a450bbad4-46
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 10:59:49 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a311084-212f-0a2a450b0019-d1558032e0ca-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 10:59:49 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-490be29c1c5so47118685e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 01:59: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-49230a4fd31sm43245565e9.4.2026.06.16.01.59.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 01:59: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Autocrypt:Subject:From:Cc:To:Content-Language:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781600388; x=1782205188; 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=nurJDa/+cduzPTcAaGzvFsiIXKoctAlrlCQFUVpz8R0=;
        b=QYaFRl/gBG8cd8bkdLEVXMjE1sorUI/G3pBfdPw8uz0e4T1Q1ZNZ1+GomPEvw0lEzZ
         SxTiJcJYWwEqbsSETPZhizCO5XV2dQq1kx+WmpEBZPc/RQbQ3kt1hx9QccM+ccH8gGE4
         OfF9CNuhY9NVbU+8t/1t8YomgzUOUNk3QDRu+/wzlFOqZcRLtTOiTi5wZP/t7MohBsL/
         Xwg7FbN5diIueW1TYONzQf6wqQsdKmwTEOIITv0cw1PdwqgGD6a+wNlEgtMJEB9am7+1
         sICCb/OzA0d35bpF0xfDJ94HiScyxifDdK+kUQmJgYma89/jpoD7iEt3moGXHex8JjrR
         OWMA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781600388; x=1782205188;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=nurJDa/+cduzPTcAaGzvFsiIXKoctAlrlCQFUVpz8R0=;
        b=eT1Jk4dHwWKRR20sR7PX1164FV93jGOqwvliZX71/6g3SynU72jakI2zoQGnX72oG+
         D+Er6muE6mmCzRc7WWC+yaBKxy1EJNLkYT3mLn3z68rCoPqiStXSWInhRXs7XaXYtNJv
         N6mx1t3LspYIodsaSR+Ql6dO0anYzn6p/cmv8311JBlj+VQLHnn0QZ0D1eMx0Y+LOKfl
         BTy2jGAU1gSHM9POXoUfhgymO/W0TsabCEbN0XCLmSiz3R5bD5KwC0eKeuquxLrAEsm6
         ZIcu0AhBZfZszhkvNnSiamoJxEkFoL9+8putPRZaNe6Bo7AuoppVLpdMRSFjiQ3AYU5u
         +cEg==
X-Gm-Message-State: AOJu0YwYMzptoKD9zuVqlUtkbgTNv7BR0dED4Uofjo6d6H7EhtECCGn6
	oLb6huhCx4GCFNhPIKTqGuMmw6HMtS9jK0NIoEiPhft/vV6Wyuo7ejEDphxFO4k5ncoq1WzNhqk
	uuoc=
X-Gm-Gg: Acq92OHeqfgrynHOXUK02EX+SsGEb5fSHQzF96i+DZBOw5dCWvPXkAGXN6Yd44h6b4g
	vk+578TNwn/vzlfzdoWCR64xqF53UcUrnibr2xa3AxxVfxYCHHo6U2/B+3KOW2aNlpkWYkbf3Ci
	HZY3wmZCr2WTPKCEStKsMxuWcZejFc6xUwRZzWZ1NHW4eOKtoPgarChwnnLqiZPVGi23R1C/XHM
	sEuvzsYIckaqsHrubxFhHe8FHkb7VwdhIEifo4HYJl/Cwmo66/CTQUqcPnyh3OEDtjZa1E20etm
	+7ea9WTGHejp5/dqPekcBbvaaNGkZz09OZrQDEN19yszukTsVcH/XNDm6ioxDbZT7H4nv6VZ4/y
	3SHQ958hFDFjazrPLKA9G5FkVYkPkg06OhnkEKE+b9cWPjbn2pQ9Tg4F4HScTuNzBGO0UQ1cWTG
	0aCBkL3nrtv5Ueq6Hoj6vLQcPwEePFJ+Kp/NUqMuq5W4Msnn6ysQG6AF/dB/TRwr535XN0lu/gV
	g+Vp7rvm7hQfqPHhA8cs3znVw==
X-Received: by 2002:a05:600c:1f89:b0:490:da12:f1fa with SMTP id 5b1f17b1804b1-4922ffa09a0mr44192025e9.31.1781600388518;
        Tue, 16 Jun 2026 01:59:48 -0700 (PDT)
Message-ID: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
Date: Tue, 16 Jun 2026 10:59:47 +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>, Juergen Gross <jgross@suse.com>,
 Daniel Smith <dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 0/4] hypercall string inputs
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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
X-purgate-ID: tlsNG-42698a/1781600389-12D77F3B-369C01B0/0/0
X-purgate-type: clean
X-purgate-size: 734

While doing the XSA-492 work I further noticed an inefficiency with
safe_copy_string_from_guest(). All callers pass PAGE_SIZE as the maximum
buffer size, and with the function adding 1 to append a nul terminator
the resulting allocations are all order-1 ones. Which we'd better avoid.
Require respective callers of hypercalls to nul-terminate the strings
within the buffer supplied. While an ABI change, I think it's an
acceptable one.

1: libxc: adjust string size calculations in xc_{,de,test_}assign_dt_device()
2: libxc: drop size parameter from xc_flask_context_to_sid()
3: libxc: adjust string size calculations in xc_flask_{getbool_byname,setbool}()
4: lib: make safe_copy_string_from_guest() validate input

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:01:00 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:01:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338828.1599883 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPfG-000081-WB; Tue, 16 Jun 2026 09:00:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338828.1599883; Tue, 16 Jun 2026 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 1wZPfG-00007u-Sz; Tue, 16 Jun 2026 09:00:58 +0000
Received: by outflank-mailman (input) for mailman id 1338828;
 Tue, 16 Jun 2026 09:00:57 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZPfF-00007m-Qf
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:00:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZPfF-008tyZ-7I
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:00:57 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3110c8-5cb7-0a2a0a5109dd-0a2a4506c738-4
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:00:57 +0200
Received: from [209.85.221.52] (helo=mail-wr1-f52.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3110c8-7371-0a2a45060019-d155dd34d44f-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:00:57 +0200
Received: by mail-wr1-f52.google.com with SMTP id
 ffacd0b85a97d-45ef29c5561so2305033f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 02: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-4606f26393asm45176510f8f.5.2026.06.16.02.00.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781600456; x=1782205256; 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=3KIC7FhXKRQjgufOU+xqDX7cseUxDHhdniiRrgNNmds=;
        b=TvA6OQCnA1iAaf6MB/1LqUfTG7XFlSQliEWj1LZwlS6txF9hiHzVUe2w9FOCTnAbTW
         PWXiQ1jtiE8w/pmHu+taZp3Pu7SZOZHmmhcCxgOKvjt33hHoWbbFWe58/v2rDwZAlCU/
         buyu7YINHBhLHxOFvC4TYS8Xk8J8rZRRZZIv79rvnZX0F69tb9PYXEIu973TSIFmFop/
         gWv8soeUUx+Ef/cjCmHQnapK7wr1P2QBEUIM9Sd9E3fjhpQDZUFrtdZtz/AfQVg/ZUd0
         eqp4FlBgUwePwtL+dIdzUkZSs/0v9vKVv17s/vmq1s49Sd0WoeIf0Fr26w4/FHmxY1xO
         ZgHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781600456; x=1782205256;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3KIC7FhXKRQjgufOU+xqDX7cseUxDHhdniiRrgNNmds=;
        b=FcCfYPCw7bipLXL1Wn67oy8Ml8Xeef97fQDh6ik2OEXfeBHs5xtPWz0GLEZnv5f9pX
         cXTadjbhbjZe7oGFyolnX+PaU7Iv2Aefvzu1xjA9PF3GA9OESmoLoRt07VKEIDcflTQ4
         C1sbAPvg3h0P4hTJp/soxWhOpfTOpBihZm+G47/0UunP0IDUGMrOT+DfLJXhLxPcMI5o
         2Lj0jOLJxtU8YHDsqV/2On5GCaUaavELtYnt4MrPkAUutjrYog0w+H7eWvx49ZT/PY9B
         Bw2KRq3kQv2/23RAjxjc0VM9I0b3r4/3fKGZLrCku9l6b2f3z4RMnC3PhqML/ZRmiUZJ
         jPig==
X-Gm-Message-State: AOJu0YxiQ0Ozq3fZjVipSsL1srpt2Bbs9elRy2s1AgfTbJHpkqC8pjAw
	EVfivEOpmZaDow9HqQ8A0Dp5GrgwyqD35Rrhy7DXKczHB1dxqTVzFM3KzysI0c4FA/e0OTXqtOY
	TwyM=
X-Gm-Gg: Acq92OGT1gSYCOA6TzGoLPkznp3B/oRi73Yy/uy0A+WUQuf8pVirTw63BCoidNWsC0v
	ZlFBCpUjE1vmJ8CqVsJc9gjFBCF5JAuo3Wb9Zcdfanw8Obz3moyuLcblSHpLm0a9Hl92YRV4Pwx
	NjGGxU7oQa5TxVpjE3L/OSleJgqFNJIGy62KVynxs6yUH/Z0QnUXUO1pOahXPHRMCoaZsRJScF1
	aRqtYXV9cq5dpvpB0YUd4PO6QMJLtOlJ92eIAo+bZ1OPLWVxVG4MClB4MS5888tpNBaoOB3SYoG
	o4tMuL+tK8V+FG+TqW/ST1cgQ2w8+uoyQiCBn6e6cGTGDxSTEOFa9F86tJW8ShZ+8bbvWpd48vZ
	chXZW1t12rX+J/4UeTZX6HnSZCwMT3o/z2N+DLUEbBd9fuBvba+0VNF/7skL77suL69PXEzNWX3
	ttQS7Ff9KKf5957LBHoqSP/Ahlsd8Hs5X8pULrgdvM14ErvrsnWSYQDIxu1T+Nvi7nZ4i78e3Tt
	r9ruAF+NUgtPF0=
X-Received: by 2002:a05:6000:987:b0:460:3233:f994 with SMTP id ffacd0b85a97d-4607ebf6969mr19546916f8f.43.1781600456261;
        Tue, 16 Jun 2026 02:00:56 -0700 (PDT)
Message-ID: <8adede4b-f25d-4a77-9fec-bd099119b005@suse.com>
Date: Tue, 16 Jun 2026 11:00:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 1/4] libxc: adjust string size calculations in
 xc_{,de,test_}assign_dt_device()
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@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: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1781600457-8596CD75-D3A002AA/0/0
X-purgate-type: clean
X-purgate-size: 1043

In preparation for a hypervisor change also include the nul terminator in
the size calculations.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/tools/libs/ctrl/xc_domain.c
+++ b/tools/libs/ctrl/xc_domain.c
@@ -1592,7 +1592,7 @@ int xc_assign_dt_device(
     char *path)
 {
     int rc;
-    size_t size = strlen(path);
+    size_t size = strlen(path) + 1;
     struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BOUNCE(path, size, XC_HYPERCALL_BUFFER_BOUNCE_IN);
 
@@ -1624,7 +1624,7 @@ int xc_test_assign_dt_device(
     char *path)
 {
     int rc;
-    size_t size = strlen(path);
+    size_t size = strlen(path) + 1;
     struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BOUNCE(path, size, XC_HYPERCALL_BUFFER_BOUNCE_IN);
 
@@ -1652,7 +1652,7 @@ int xc_deassign_dt_device(
     char *path)
 {
     int rc;
-    size_t size = strlen(path);
+    size_t size = strlen(path) + 1;
     struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BOUNCE(path, size, XC_HYPERCALL_BUFFER_BOUNCE_IN);
 



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:01:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:01:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338833.1599892 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPg1-0000kW-8N; Tue, 16 Jun 2026 09:01:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338833.1599892; Tue, 16 Jun 2026 09: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 1wZPg1-0000kP-4f; Tue, 16 Jun 2026 09:01:45 +0000
Received: by outflank-mailman (input) for mailman id 1338833;
 Tue, 16 Jun 2026 09:01:44 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZPg0-0000j8-3E
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:01:44 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZPfz-004tva-G3
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:01:43 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3110e6-bab6-0a2a0a5309dd-0a2a4503830c-38
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:01:43 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3110f7-672d-0a2a45030019-d1558031a5dc-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:01:43 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490b3e03939so30648505e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 02:01: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-4606f26434dsm43025805f8f.1.2026.06.16.02.01.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 02:01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781600503; x=1782205303; 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=+Ir8X1cHcnOxogTsg6S6E9OZXlvuN+lWcXDa5be49dE=;
        b=Lyl8l4gO41zxDLpe+GFN2claHMqUj6NJUQIRBMro6g4kTAMnJIhCCZT7toiaapa0Tg
         Qpjen9r2KbQGzzvHmn7XEtmMDmtIIly3Y+XIsh+DvRBa8qWsFbH5shAGFjAJFPtJM7Lz
         ckoZ9cNhMgB7PFTxNH0R3tGpWyf8dAeXWnjRc2x9fKuIzo4h4/VdfjBQfegF01U0e+eB
         34YnvMHvG2LcM2w/OKyEo0Wcbx5HYhBYe6WeF9cW+J/gzicQmPg6FsvSN6EPGUg78+d+
         Ncq/PhMsHNM10uMWuVYzmQ7LfMItZJHFau9biG2nmAwpjWhJ4oTDYGqJ43W6bjuVA6ue
         Ajnw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781600503; x=1782205303;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+Ir8X1cHcnOxogTsg6S6E9OZXlvuN+lWcXDa5be49dE=;
        b=sGCr4E4rwpKKtIvRcyFIPm811HyAdJ6V1E1Hx9c6PyKV4XckLHP439S58DJyBkIpti
         54ig1XMFuJGhDnUKkdYoX7ZqcVj65woJRAkkcRQhGohEpNfsnQ6aKiaUyqvCyDoJ0v5X
         wjWYJ/0OhhIiA+J650NzPR/aZoWqeJrY8rQ2BNEjSFYVmkprQ07z/4IV42iSmvuwpXps
         mFEisUIzT2IGoA5mCpDcg/lfA/2tkFxff98oEwbn8LZ2f9okP4ouWGf+gaJhdB4mZExC
         btpFyPREtr0l26u0IE7FAlYQd5B/Oik3YAVXykPfPR4wiUCBIbp+TedRr6vYQnAN0NH3
         uEmA==
X-Gm-Message-State: AOJu0YznuP1zFHjA7PZY4vkkV2NVYvEBdM6u6IEUVUM8i/v/PaFP2uXW
	v573o33qaoI8UlXo1qMVrTvGFHuXw044S3KrGswIr9tgo9mAJ7Qmvnq5ipLe7U0KS+0Srpmgsi3
	b8rs=
X-Gm-Gg: Acq92OEWbKgtZnsqBnrpB2dTduRiGgs4qCkGxYvDZFC+Cu9ZrbbSz8DSodt0EGwErca
	6x/gUy8dh49JLpzTIGCI68Fk38ND1AV8L51gAD6yu529elbFJ5mCZANYSM6GyADcBz1PKQ6epzB
	1j+H22MqCYFVqjEZ4rDdBlmnPCaDn8MKQh4pUjbWlQDqiDHK+gd6/LC4+1KhmIecWKpZnWFSblA
	yXjZq2ZItWUYKAmCiJlHqj/kfbEjDss/vDkdO0bhGh2wxVq9FeCbrYjF4PALIxtFEoTfqkxCtCI
	w1GvAaCu1U19geSrWyyNzl0+1vDYq0/UiyUg2iAUP/UVoPUrBe+tX7rZSwwfUbPT/udpRgX/c4Z
	QOJ/Pk8xvGIigxU5AEo5stMjL2E4Rm01TVj8gfqe9X/XuPa8TnPkBAJ6pKmouvzoTGLobtg3lQA
	xIi2I0JVzg8xpZqig4eHVOn09o6o+wbve65T1J9pMtRCdq0LnGn3INlK4kvWaiQR+s8h+EPP8eH
	f6VGsxJQC4Pgjg=
X-Received: by 2002:a05:600c:4a12:b0:490:bf3d:c7de with SMTP id 5b1f17b1804b1-4922faf9363mr27448125e9.10.1781600502479;
        Tue, 16 Jun 2026 02:01:42 -0700 (PDT)
Message-ID: <e2d95536-655d-4ce4-8170-e5be8f5baa99@suse.com>
Date: Tue, 16 Jun 2026 11:01:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 2/4] libxc: drop size parameter from xc_flask_context_to_sid()
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, Daniel Smith
 <dpsmith@apertussolutions.com>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@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: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1781600503-42F62938-4E29E7BF/0/0
X-purgate-type: clean
X-purgate-size: 3553

Nul-terminated strings are passed in all cases, so the strlen() can very
well be invoked by the function itself. In preparation for a hypervisor
change also include the nul terminator in the size calculation.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Ideally libxl_flask_context_to_sid() would follow suit, but aiui doing so
would break its (stable) ABI.

Of course the casts in xc_flask_access() are suspicious.

--- a/tools/helpers/init-xenstore-domain.c
+++ b/tools/helpers/init-xenstore-domain.c
@@ -108,7 +108,7 @@ static int build(xc_interface *xch)
 
     if ( flask )
     {
-        rv = xc_flask_context_to_sid(xch, flask, strlen(flask), &config.ssidref);
+        rv = xc_flask_context_to_sid(xch, flask, &config.ssidref);
         if ( rv )
         {
             fprintf(stderr, "xc_flask_context_to_sid failed\n");
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -2372,7 +2372,7 @@ long xc_sharing_used_frames(xc_interface
 /*** End sharing interface ***/
 
 int xc_flask_load(xc_interface *xc_handle, char *buf, uint32_t size);
-int xc_flask_context_to_sid(xc_interface *xc_handle, char *buf, uint32_t size, uint32_t *sid);
+int xc_flask_context_to_sid(xc_interface *xc_handle, char *buf, uint32_t *sid);
 int xc_flask_sid_to_context(xc_interface *xc_handle, int sid, char *buf, uint32_t size);
 int xc_flask_getenforce(xc_interface *xc_handle);
 int xc_flask_setenforce(xc_interface *xc_handle, int mode);
--- a/tools/libs/ctrl/xc_flask.c
+++ b/tools/libs/ctrl/xc_flask.c
@@ -83,10 +83,11 @@ int xc_flask_load(xc_interface *xch, cha
     return err;
 }
 
-int xc_flask_context_to_sid(xc_interface *xch, char *buf, uint32_t size, uint32_t *sid)
+int xc_flask_context_to_sid(xc_interface *xch, char *buf, uint32_t *sid)
 {
     int err;
     struct xen_flask_op op = {};
+    size_t size = strlen(buf) + 1;
     DECLARE_HYPERCALL_BOUNCE(buf, size, XC_HYPERCALL_BUFFER_BOUNCE_IN);
 
     if ( xc_hypercall_bounce_pre(xch, buf) )
@@ -247,7 +248,7 @@ static int xc_flask_add(xc_interface *xc
     int err;
     struct xen_flask_op op = {};
 
-    err = xc_flask_context_to_sid(xch, scontext, strlen(scontext), &sid);
+    err = xc_flask_context_to_sid(xch, scontext, &sid);
     if ( err )
         return err;
 
@@ -323,10 +324,10 @@ int xc_flask_access(xc_interface *xch, c
     struct xen_flask_op op = {};
     int err;
 
-    err = xc_flask_context_to_sid(xch, (char*)scon, strlen(scon), &op.u.access.ssid);
+    err = xc_flask_context_to_sid(xch, (char*)scon, &op.u.access.ssid);
     if ( err )
         return err;
-    err = xc_flask_context_to_sid(xch, (char*)tcon, strlen(tcon), &op.u.access.tsid);
+    err = xc_flask_context_to_sid(xch, (char*)tcon, &op.u.access.tsid);
     if ( err )
         return err;
 
--- a/tools/libs/light/libxl_flask.c
+++ b/tools/libs/light/libxl_flask.c
@@ -21,7 +21,8 @@ int libxl_flask_context_to_sid(libxl_ctx
 {
     int rc;
 
-    rc = xc_flask_context_to_sid(ctx->xch, buf, len, ssidref);
+    assert(len == strlen(buf));
+    rc = xc_flask_context_to_sid(ctx->xch, buf, ssidref);
 
     return rc;
 }
--- a/tools/python/xen/lowlevel/xc/xc.c
+++ b/tools/python/xen/lowlevel/xc/xc.c
@@ -1754,7 +1754,7 @@ static PyObject *pyflask_context_to_sid(
         return PyErr_SetFromErrno(xc_error_obj);
     }
 
-    ret = xc_flask_context_to_sid(xc_handle, ctx, strlen(ctx), &sid);
+    ret = xc_flask_context_to_sid(xc_handle, ctx, &sid);
 
     xc_interface_close(xc_handle);
 



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:02:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:02:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338840.1599900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPgk-0001Mw-Fg; Tue, 16 Jun 2026 09:02:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338840.1599900; Tue, 16 Jun 2026 09:02: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 1wZPgk-0001Mp-Cx; Tue, 16 Jun 2026 09:02:30 +0000
Received: by outflank-mailman (input) for mailman id 1338840;
 Tue, 16 Jun 2026 09:02:29 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZPgi-0001Ma-Ta
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:02:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZPgi-002z0G-AE
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:02:28 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a311118-bab6-0a2a0a5309dd-0a2a450bbc0e-48
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:02:28 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a311124-212f-0a2a450b0019-d1558032dda2-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:02:28 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-49222fb062bso32872445e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 02:02: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-49230a45b30sm41084035e9.2.2026.06.16.02.02.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781600548; x=1782205348; 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=+O/5aLoJh/nqfou7kFqhsCjNAsFYq66chW2xynNKcIA=;
        b=BOXPYbZr0sbBrzg4gFtmFF8Wj7+I4EoJK4kf4Ykp/gO6994ieJIhKvvxMWdG1sIKE8
         0SnSW6cnHNiNlIG1IKAxIqIA1BjeuW1ZsJAEYjUP0DgvX3eQQG7lAlxJqsllsvWFggww
         t+hhzOSYWuyJk+Jv7DO41xqZg17D2ejJFV/FoJbza1KzmJ6PX/AjFtCElBkjPYlDY/Kv
         PfVbFdIkKjsMhbNKvUtpsK4K5WpGvlRKiiEClVxc+wr29s8NaqR7UOh8rDpRBKmOIWgD
         7yZCsIUR1CiHeoRm4lrTy4njYXiSE4eVRceLEKBwjXHq9pqnbJS+eoqagVF7nkMnSask
         UFYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781600548; x=1782205348;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+O/5aLoJh/nqfou7kFqhsCjNAsFYq66chW2xynNKcIA=;
        b=ChtOl5s+m/dsoPo7PMKpSZQY2RuKWUlA15o9sKAoxSYQ2SxkRX+NeOrSKGgCsp49Tu
         E1r2XE2lyQhERIbqbSHCjnpWmbyhyakE0EF0cXll7EDU1W+Bs5ZX0V0ODdit22k2kv6y
         q4giSUavbpavMsNsKGZvlF92Pcq5gbnQIQCUgeBnt46RkaOfiIEUDcYCkl0p4U+GwerH
         Kfcy7GOMPjHryysSdalq94Ogvcs82uAWlG54LHtH+ZevmOX6BNbvjptfipB86zLGoHn0
         JHlQHYIHe/+0K/BgUHk7tQwcqxBe0Twv7KJdXYKKmfIFthfvsvZ5TVrLOoWfsWCmndlM
         lN+g==
X-Gm-Message-State: AOJu0YxRZOnT0xTKrEY35xXu+Z4II/a5w6O0aeeqLMF7rB6IDaztw5bO
	4kqoi4vipWs9RLbrFxMWLp12O+QQTRSQZ8tW0M+gcEe0fsiMvIvBnAkoLy0tB1IGED5HfiqrhVA
	RXKY=
X-Gm-Gg: Acq92OHCUxox8bjv71Oe8Yz/ZRed9LSXvZ0OAc6NA2RHIh77NPcjkYpoGmyVVcFCFD0
	+LfWFzofJVtB3BkH6Ef77Dp1egT34Z8apMqyuAQjG9Eeggu0h/3qDOnu0a3GSaZuCgDMqKJ99We
	lm1eLCuJ+d3r3vgTpT19ukeJr+oe4AAAjeDkEA3+dnFAV+FQ5JK63RHdB9Ed9b/o+3xIzAGnL4w
	C5NwmA/1h4yCtCo+ds9fjRzQOZU6UPDuo+6sEriUX6xXTuBFQbuxBgPyYskFc9BNRDJMD3abENV
	6PtV8pdgchEAxRuygeAT7RYDrLkzByjahKhEkaesmJ5sUPajARQ8Z3dEYaMENcTVshmiB3SNvwe
	zqhCcO6Bf9aB+BSzuR8RGBapxDSefh8Xjul6vG4JV5RDimzWbCev4vuagjWaIEYafBxcd/WdxbC
	+QidUmPgxEGEHeiKBeE+9GHKfDUil98ygqZuezu9AVJ01XouJlJl1PhRmWW/D/V6rybjv/Trts9
	LzC79azMukL2YM=
X-Received: by 2002:a05:600c:4e4e:b0:490:b28d:a6f9 with SMTP id 5b1f17b1804b1-4922ff72917mr38595785e9.8.1781600547537;
        Tue, 16 Jun 2026 02:02:27 -0700 (PDT)
Message-ID: <83af338a-3ef2-4be3-99f0-cfe38a09cda0@suse.com>
Date: Tue, 16 Jun 2026 11:02:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 3/4] libxc: adjust string size calculations in
 xc_flask_{getbool_byname,setbool}()
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, Daniel Smith <dpsmith@apertussolutions.com>
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@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: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1781600548-13F7EF3B-8FC96224/0/0
X-purgate-type: clean
X-purgate-size: 1718

In preparation for a hypervisor change also include the nul terminator in
the size calculations. (Note that xc_flask_getbool_byid() doesn't support
FLASK_GETBOOL's "ID being -1" variant of operation, and hence doesn't need
fiddling with.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/tools/libs/ctrl/xc_flask.c
+++ b/tools/libs/ctrl/xc_flask.c
@@ -187,7 +187,8 @@ int xc_flask_getbool_byname(xc_interface
 {
     int rv;
     struct xen_flask_op op = {};
-    DECLARE_HYPERCALL_BOUNCE(name, strlen(name), XC_HYPERCALL_BUFFER_BOUNCE_IN);
+    size_t size = strlen(name) + 1;
+    DECLARE_HYPERCALL_BOUNCE(name, size, XC_HYPERCALL_BUFFER_BOUNCE_IN);
 
     if ( xc_hypercall_bounce_pre(xch, name) )
     {
@@ -197,7 +198,7 @@ int xc_flask_getbool_byname(xc_interface
 
     op.cmd = FLASK_GETBOOL;
     op.u.boolean.bool_id = -1;
-    op.u.boolean.size = strlen(name);
+    op.u.boolean.size = size;
     set_xen_guest_handle(op.u.boolean.name, name);
 
     rv = xc_flask_op(xch, &op);
@@ -219,7 +220,8 @@ int xc_flask_setbool(xc_interface *xch,
 {
     int rv;
     struct xen_flask_op op = {};
-    DECLARE_HYPERCALL_BOUNCE(name, strlen(name), XC_HYPERCALL_BUFFER_BOUNCE_IN);
+    size_t size = strlen(name) + 1;
+    DECLARE_HYPERCALL_BOUNCE(name, size, XC_HYPERCALL_BUFFER_BOUNCE_IN);
 
     if ( xc_hypercall_bounce_pre(xch, name) )
     {
@@ -231,7 +233,7 @@ int xc_flask_setbool(xc_interface *xch,
     op.u.boolean.bool_id = -1;
     op.u.boolean.new_value = value;
     op.u.boolean.commit = 1;
-    op.u.boolean.size = strlen(name);
+    op.u.boolean.size = size;
     set_xen_guest_handle(op.u.boolean.name, name);
 
     rv = xc_flask_op(xch, &op);



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:03:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:03:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338846.1599910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPhg-00026s-Sw; Tue, 16 Jun 2026 09:03:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338846.1599910; Tue, 16 Jun 2026 09:03: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 1wZPhg-00026k-PO; Tue, 16 Jun 2026 09:03:28 +0000
Received: by outflank-mailman (input) for mailman id 1338846;
 Tue, 16 Jun 2026 09:03:26 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZPhe-00026b-OH
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:03:26 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZPhe-009KpH-50
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:03:26 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a311155-2eae-0a2a0a5409dd-0a2a4502defc-46
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:03:25 +0200
Received: from [209.85.221.54] (helo=mail-wr1-f54.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a31115d-af86-0a2a45020019-d155dd36ad45-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:03:25 +0200
Received: by mail-wr1-f54.google.com with SMTP id
 ffacd0b85a97d-45fd45e596cso2403789f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 02:03: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-4619b9b7750sm14807493f8f.6.2026.06.16.02.03.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 02:03: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781600605; x=1782205405; 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=Dga1/oyfPqrdOGX1Yrc05VbMApsKHkKaZphLkonwUHo=;
        b=btlMAXWbl6LoCkfw9vbx4ER5AFrsec2liHhD7z+7BbvPk9AMYGbFqFksg8EJb4XBre
         ZA4ATa8z5ODkL04mqQV9aswBaEYxD+lV84N9opLeZ5i1E0vnp+N3biNFoAOS/ccxGUEM
         Y6sblVfKjO9qWVHdlIMotBDOzgdCwNaI8qorPjrAOvcehDXQslC5sJa7kTFdh3IJVYjO
         WIYCFWompVTTwwWC5Rr02ZbAL2BiCqtS/7FVBegI7aGo1cTy3f+mvRzhv1tUye3CshsU
         VX4Gp5WUJJsy1tzfLKLN8VpzGmEyV9P8rwY2gGbR6IRs3cLy2RLA7vT4zV7cflB7wLEe
         CjGA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781600605; x=1782205405;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Dga1/oyfPqrdOGX1Yrc05VbMApsKHkKaZphLkonwUHo=;
        b=ie2KcYBos7ckbI9wPgIzLXWVZBj9ixydLWDPORPMMx1GugeAwTvoAbm9/k6zSUB+Ha
         0OC68kbxJ/6pkIK98vJh8ZQK9JEWCIzE1ybkZbFDj/u8ze0qGKUdK4po7mYWHNwbR/BS
         xX/dPZpSx2g2D9X4CzAbUdocsf9Yf6/7ReXcJSZkcnuTsLfzWzKQ5U6yBI6URjqd8unx
         7bAhczNQ2fHoD0qbBsGia29Qj77vhmM5r8lYzT0ZGSHgUxpTvuWbHg5bewXDb1OCaAvq
         CPC0aBkGCbnYDEuQOgsAyXGf7eIuuVlD6g2/b5vyHahot7Yg+rzszd8Z2p83mn28gOhC
         yGNg==
X-Gm-Message-State: AOJu0YwGuCc2xPNJ88chthr84QkoQYrRDHGcFXLNFWXfrubGmnTusWTV
	UN/NTSHIudUxbQ8yo7S0vrWFtuQB+yEBXp0No4JtPeRjAfOsvRCvK38bwbA5wnWETZaihFQWic+
	P9Dg=
X-Gm-Gg: Acq92OGRoIv07SCytCnDZEzfkt3TQqH7wAvhiwuRMYxVsBqngi3piCLl7EC0wEvIvmw
	Ze6Hiw58CHD4inWjdKlvABv36SMMOGEDdFM6aijZRTiTizIZeDE+VTLUf50FuZFlNi2jYGJd4q5
	nJfYh7GfYNuGuVqH8Lo64M5Kn9iLTXdeDpyaEojMDzCzjBi4g/pb+Ta6T4+CfB02ScWko0PkrQj
	1mNv4kQhOV345EmJ0FSxLWcqB3jBuYeC4H7SFHmewi28jgQazru28w3r4R80/RL7UCRhNgvbYiC
	0kUorfWjlAzIgS/UaU4jMlYvqXISdrg7Xa8t1FPdqctEA9zP8gHD5kQCIl6piieh2eMUvvy3tK9
	4+qtHtB6sBGDgo0//JY7PaWnDL8pYpy5Ll24PvFj8gzkpQaIcdA4IUyl3sict5qr9NM++n8h0uT
	1so2cSzOJtHnIxoXPkKWSkdGT3bCZaVnmId3VWS1dsDk1pRca2IG1uvATUW2Xw4oOvCu7DHsP5g
	/g13Bxlsx0Gd3U=
X-Received: by 2002:a05:600c:34c3:b0:490:c2a2:e91e with SMTP id 5b1f17b1804b1-4922ffc0622mr43887735e9.34.1781600604754;
        Tue, 16 Jun 2026 02:03:24 -0700 (PDT)
Message-ID: <7e492b98-26d5-4d90-a703-ee25beae7e23@suse.com>
Date: Tue, 16 Jun 2026 11:03:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 4/4] lib: make safe_copy_string_from_guest() validate input
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>, Daniel Smith <dpsmith@apertussolutions.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@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: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-720697/1781600605-80145161-240C44FE/0/0
X-purgate-type: clean
X-purgate-size: 3965

... rather than papering over guest flaws: Strings passed ought to be nul-
terminated (yet sadly libxc hasn't been doing so thus far). This way we
also avoid order-1 allocations, seeing that all present callers pass
PAGE_SIZE for max_size.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I can't spot any caller side use of FLASK_DEVICETREE_LABEL, hence there's
no corresponding prereq patch.

--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,8 @@ The format is based on [Keep a Changelog
    to obtain an automatically allocated domid.  The prior sentinel values (0
    since the start of Xen, and DOMID_INVALID since Xen 4.21) now no longer
    represent a wildcard input.
+ - XEN_DOMCTL_DEV_DT's, FLASK_[GS]ETBOOL's, and FLASK_DEVICETREE_LABEL's input
+   string sizes need to include the nul terminator.
  - On x86:
    - Enable pf-fixup option by default for PVH dom0.
    - The libxenguest bzImage loader now uses the system liblz4 library.
--- a/xen/lib/guest-strcpy.c
+++ b/xen/lib/guest-strcpy.c
@@ -3,8 +3,8 @@
 #include <xen/err.h>
 
 /*
- * The function copies a string from the guest and adds a NUL to
- * make sure the string is correctly terminated.
+ * The function copies a string from the guest and checks there's a NUL
+ * terminating the string.
  */
 char *safe_copy_string_from_guest(XEN_GUEST_HANDLE(char) u_buf,
                                   size_t size, size_t max_size)
@@ -14,8 +14,7 @@ char *safe_copy_string_from_guest(XEN_GU
     if ( size > max_size )
         return ERR_PTR(-ENOBUFS);
 
-    /* Add an extra +1 to append \0 */
-    tmp = xmalloc_array(char, size + 1);
+    tmp = xmalloc_array(char, size);
     if ( !tmp )
         return ERR_PTR(-ENOMEM);
 
@@ -24,7 +23,12 @@ char *safe_copy_string_from_guest(XEN_GU
         xfree(tmp);
         return ERR_PTR(-EFAULT);
     }
-    tmp[size] = '\0';
+
+    if ( !memchr(tmp, 0, size) )
+    {
+        xfree(tmp);
+        return ERR_PTR(-EMSGSIZE);
+    }
 
     return tmp;
 }
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -574,7 +574,7 @@ struct xen_domctl_assign_device {
             uint32_t machine_sbdf;   /* machine PCI ID of assigned device */
         } pci;
         struct {
-            uint32_t size; /* Length of the path */
+            uint32_t size; /* Length of the path, including nul terminator */
             XEN_GUEST_HANDLE_64(char) path; /* Path to the device tree node */
 #ifdef __XEN__
             struct dt_device_node *dev; /* Resolved device node of the above */
--- a/xen/include/public/xsm/flask_op.h
+++ b/xen/include/public/xsm/flask_op.h
@@ -26,7 +26,8 @@ typedef struct xen_flask_setenforce xen_
 struct xen_flask_sid_context {
     /* IN/OUT: sid to convert to/from string */
     uint32_t sid;
-    /* IN: size of the context buffer
+    /*
+     * IN: size of the context buffer, including nul terminator
      * OUT: actual size of the output context string
      */
     uint32_t size;
@@ -86,8 +87,11 @@ struct xen_flask_boolean {
     uint8_t new_value;
     /* IN: commit new value instead of only setting pending [SET] */
     uint8_t commit;
-    /* IN: size of boolean name buffer [GET/SET]
-     * OUT: actual size of name [GET only] */
+    /*
+     * IN: size of boolean name buffer [GET/SET]; must cover nul terminator
+     *     if "name" (below) is an input
+     * OUT: actual size of name [GET only]
+     */
     uint32_t size;
     /* IN: if bool_id is -1, used to find boolean [GET/SET]
      * OUT: textual name of boolean [GET only]
@@ -150,7 +154,7 @@ typedef struct xen_flask_relabel xen_fla
 struct xen_flask_devicetree_label {
     /* IN */
     uint32_t sid;
-    uint32_t length;
+    uint32_t length; /* length of the path, including nul terminator */
     XEN_GUEST_HANDLE(char) path;
 };
 typedef struct xen_flask_devicetree_label xen_flask_devicetree_label_t;



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:07:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:07:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338854.1599919 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPlP-0003Kw-AP; Tue, 16 Jun 2026 09:07:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338854.1599919; Tue, 16 Jun 2026 09: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 1wZPlP-0003Kp-7g; Tue, 16 Jun 2026 09:07:19 +0000
Received: by outflank-mailman (input) for mailman id 1338854;
 Tue, 16 Jun 2026 09:07:18 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZPlO-0003Ki-Cy
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:07:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZPlN-00AUh0-It
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:07:17 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a31123b-bab6-0a2a0a5309dd-0a2a450be47c-16
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:07:17 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a311245-212f-0a2a450b0019-d1558030ec04-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:07:17 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-491b390f9e9so35811615e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 02:07:17 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa47ce3sm70453485e9.6.2026.06.16.02.07.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781600837; x=1782205637; 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=TjnduMJFHS+xxz3cT4hM41FU48yKcZFCce1UDtuUHkw=;
        b=Ry2aSVEgtQ27DiqmjgE9kRhMprlZDjMq4TAEds80Ac4fJyjKDBG0nsDJ3zLqaTMjtc
         Sq6sPIJgyvsuSoIjagTdO1WVDKRmp/auddSGTsQAw67YISFxJnA7bqtQyRQXW1K/tfh3
         cyg5gBwLk7dPPPq1rttXeKs2SiQOPF4UQJLS76m+Q5SZRnXERI4cBWaI+LINiC6NJk1q
         ZpquThJ05jyEzSKt9UIqN0JN3f6o7fTWYS8tJq6Dk9dlfMNujZLo8vLjOg3OLIKHUdqp
         i/NRY8tM108T7V5iYM5yHBbs2zIN9m4hT6FyY1rIBNltcxErX2xAcu3J8gP4t3My/uvo
         Oc4A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781600837; x=1782205637;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=TjnduMJFHS+xxz3cT4hM41FU48yKcZFCce1UDtuUHkw=;
        b=lf+clIwT49/ZlZ/1PnG3SWJI9UHg1+LnzDFs4alZMbjrrWmNDAjikp0zI8vXF2roDF
         5lN9kGPW8ztGdTMN6ZxunQf0WXPGoUJvQNp1vPhOFX4JDuChl2hDcd+qiPQ5X0Gl2W7Y
         ieNDM+m734gimhM6pxmxAYWT2SOX1vaz8ALh7fD0B5+XL4REreWGaud4CpUXOLrhQIFa
         cQo1lh8MwI+ViMRHqTxBUbP9rQR8DnY7PEB0gQOQxFtrkH6bbrhXM2qJ10UmUstVVZ1+
         vWmQUuETvLmfaJHANCbR4bs4M0BX91g6a2mWlpmS14enDRNPHnm3Sm5WMp+k0maCTQTN
         ykig==
X-Forwarded-Encrypted: i=1; AFNElJ8eQwVBp2rSYpneJmO3NbpTx2RxP+bQjnP0ZR8WziCp4PBbha6Z7lfdorvva1BXUMhUTWGIjhFwrZ0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxKRPJYMkaUh+pyvkHj8RtgVpC6+b/v8Vioft3ncsJnBpU3kEYQ
	bar/XsbnqbPMGrD4ezE1Y0wbogH8bc5amYmFt5MjIG2KJNvTEvHUyzff
X-Gm-Gg: Acq92OHJP2OXdcvQptYKe/PS0nhM8sPlx3DpkYE4WTqrzGSJftHM5erACuWfroZYDla
	Jp117y9BWyUBXysmBZXwf4hnPWoJndUFAqZWzoje8afszj/NWAHJbzaGZiZrnFdSahdVuOZvoJD
	lMxPPqkPreikZmy/OfSE4d6qwKGxZ5I65SIw1Z7e/wIlszkV/SduY/vfUeZNxkYu8zkzv9spIhk
	J9Qu//d0UTaFJSOrHi22egBxzHYKVbHpByoBhTc3oHeBt9LU+jTM/BMvG8PdraJ6VbDrgDcNuUd
	kmqHN8/TMPmrfw9FPPoZvOecxM2d0JoJ2QuZNwYALi8Jv+8KuAKCo9PK3PNdm87zjcMeSoZtrOZ
	ct9lNSwHlM+CYDB0MBQvwn/odSNo0EBn3CkJLby5MGwW9+I3v1Vwxh84njgEwwSbp5OqegjuuTK
	MSrPyA8OJgX5ZOsWI6yBb5WBG9qEOaUgIJWLhvbeku2SBAU9oDzhOZZUkajS1fOq4MUEntyiLdW
	3QgBQ==
X-Received: by 2002:a05:600c:8b16:b0:490:c6c2:52 with SMTP id 5b1f17b1804b1-4922ff8ee70mr39556045e9.3.1781600836261;
        Tue, 16 Jun 2026 02:07:16 -0700 (PDT)
Message-ID: <68a7f2bc-91f5-4a19-afa7-4a9fd065f558@gmail.com>
Date: Tue, 16 Jun 2026 11:07:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 21/26] xen/riscv: implement virtual APLIC MMIO
 emulation
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <434e0be590bc0550e143836edff7e8e1e96b28c1.1778250616.git.oleksii.kurochko@gmail.com>
 <133430db-5605-4f3a-8ff7-77f9b57c91ad@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <133430db-5605-4f3a-8ff7-77f9b57c91ad@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1781600837-1B175F3B-FECCBCE2/10/73395122804
X-purgate-type: spam
X-purgate-size: 18417



On 6/15/26 5:13 PM, Jan Beulich wrote:
> On 08.05.2026 16:43, Oleksii Kurochko wrote:
>> Guests running under Xen program interrupt routing by writing to APLIC
>> MMIO registers. Xen must intercept these accesses to enforce interrupt
>> isolation between domains and to translate guest routing intent into the
>> underlying physical MSI topology.
>>
>> Writes are gated by the domain's authorised interrupt bitmap so that a
>> guest cannot affect interrupts it does not own. TARGET register writes
>> additionally require translation of the hart and IMSIC guest-file
>> indices from virtual to physical, as the APLIC uses these fields
>> directly to compute the MSI delivery address.
>>
>> Delegation (APLIC_SOURCECFG_D) is not yet supported.
>>
>> Co-developed-by: Romain Caritey <Romain.Caritey@microchip.com>
>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> ---
>> Changes in v2:
>>   - Merge the following patches into one:
>>      xen/riscv: add vaplic access check:
>>        - Add check that address is properly aligned.
>>        - Check vaplic range intead of APLIC one.
>>        - Return bool from vaplic_is_access instead of int.
>>      xen/riscv: emulate guest writes to virtual APLIC MMIO
>>        - Drop CALC_REG_VALUE.
>>        - Use unsigned int instead of uin32_t for offset.
>>        - s/.../subtracting in the comment.
>>        - start one line comments from the upper case.
>>        - Check the value before being written to sourcecfg register.
>>        - 'unsigned int' for loop index.
>>        - Omit unneessary braces.
>>        - s/vaplic_update_target/aplic_msi_target_gen.
>>        - Use IMSIC_MMIO_PAGE_SHIFT instead of 12 in aplic_msi_target_gen().
>>        - Drop explicit usage of APLIC register in store function.
>>        - Drop APLIC_REG_{GET,SET} macros and introudce APLIC specific funtcions.
>>        - Ignore write to SOURCECFG_BASE when value is out-of-range.
>>        - Drop ASSERT(!target_vcpu) inside handler of targer register setting,
>>          just avoid such writings + debug message.
>>        - domain_crash() instead of panic() in the case of default case.
>>        - Drop ASSERT() in APLIC_SOURCE_CFG_BASE case and use domain_crash()
>>          instead.
>>      xen/riscv: emulate guest reads from virtual APLIC MMIO:
>>        - s/regval_to_irqn/regindx_to_irqn.
>>        - pass to to_vaplic() a domain instead of vintc.
>>        - add check that load access is aligned.
>>        - instead of panic() just crash a domain().
>>        - use 'unsigned int' for local variable offset.
>>        - Return 0 in the case APLIC_CLRIE_BASE ...APLIC_CLRIE_LAST reading to
>>          follow AIA spec.
>>        - Drop explicit usage of physical APLIC registers.
>> ---
>>   xen/arch/riscv/aplic.c              |  25 +++
>>   xen/arch/riscv/include/asm/aplic.h  |   9 +
>>   xen/arch/riscv/include/asm/intc.h   |  10 +-
>>   xen/arch/riscv/include/asm/vaplic.h |   3 +
>>   xen/arch/riscv/vaplic.c             | 289 +++++++++++++++++++++++++++-
>>   5 files changed, 333 insertions(+), 3 deletions(-)
>>
>> diff --git a/xen/arch/riscv/aplic.c b/xen/arch/riscv/aplic.c
>> index 1c8fd0145eb2..1976733dfbaa 100644
>> --- a/xen/arch/riscv/aplic.c
>> +++ b/xen/arch/riscv/aplic.c
>> @@ -40,6 +40,31 @@ static struct intc_info __ro_after_init aplic_info = {
>>       .hw_version = INTC_APLIC,
>>   };
>>   
>> +uint32_t aplic_hw_read_reg(unsigned int offset, uint32_t mask)
>> +{
>> +    unsigned long flags;
>> +    uint32_t val;
>> +
>> +    ASSERT(offset < aplic.size);
> 
> Further assert suitable alignment of "offset"?

Sure, I will update ASSERT(...) to:
   ASSERT((offset < aplic.size) && IS_ALIGNED(offset, sizeof(uint32_t)));

> 
>> +    spin_lock_irqsave(&aplic.lock, flags);
>> +    val = readl((void __iomem *)((uintptr_t)aplic.regs + offset)) & mask;
> 
> Easier as
> 
>      val = readl((volatile void __iomem *)aplic.regs + offset) & mask;
> 
> ? (Note that like const, volatile also shouldn't be cast away.)

Is arithmetic on void * pointers correct from the C standard's point of 
view?

It works with GCC (see 
https://gcc.gnu.org/onlinedocs/gcc/Pointer-Arith.html), but I can't find 
anything that guarantees the same behavior for other compilers.

I'm okay with the suggested change if it's acceptable for Xen to rely on 
GCC's void * pointer arithmetic extension.

> 
>> --- a/xen/arch/riscv/include/asm/aplic.h
>> +++ b/xen/arch/riscv/include/asm/aplic.h
>> @@ -15,6 +15,8 @@
>>   
>>   #include <asm/imsic.h>
>>   
>> +#define APLIC_NUM_REGS 32
> 
> What's this? It isn't used afaics, and it also doesn't match up with ...

It is rudement and isn't used anymore. It should be just dropped.

> 
>> @@ -24,6 +26,8 @@
>>   #define APLIC_DOMAINCFG_IE      BIT(8, U)
>>   #define APLIC_DOMAINCFG_DM      BIT(2, U)
>>   
>> +#define APLIC_SOURCECFG_D       BIT(10, U)
>> +
>>   #define APLIC_SOURCECFG_SM_INACTIVE     0x0
>>   #define APLIC_SOURCECFG_SM_DETACH       0x1
>>   #define APLIC_SOURCECFG_SM_EDGE_RISE    0x4
>> @@ -71,6 +75,8 @@
>>   #define APLIC_SIZE(nr_cpus)     (APLIC_MIN_SIZE + \
>>                                    APLIC_SIZE_ALIGN(APLIC_IDC_SIZE * (nr_cpus)))
>>   
>> +#define APLIC_SETCLR_OFFSET_MASK  ((32 * sizeof(uint32_t)) - 1)
>> +
>>   struct aplic_regs {
>>       uint32_t domaincfg;         /* 0x0000 */
>>       uint32_t sourcecfg[1023];   /* 0x0004 */
>> @@ -114,4 +120,7 @@ struct aplic_regs {
>>       uint32_t target[1023];      /* 0x3008 */
>>   };
> 
> ... this struct holding all the (far more than 32) registers.
> 
> As to APLIC_SETCLR_OFFSET_MASK: Any reason it has the low 2 bits set? 

Agree, with the current defintion of AIA spec. low 2 bits are always 0 
so APLIC_SETCLR_OFFSET_MASK should be updated correspondingly ...


The
> literal 32 in there also looks rather arbitrary. It would be helpful if
> there was a connection to those 32-s in struct aplic_regs that it actually
> matches up with.

t could be updated to make the relationship clearer:

#define APLIC_SETCLR_OFFSET_MASK  (sizeof_field(struct aplic_regs, 
setip) - 1)

Using setip is fine here, as all SET* and CLR* register groups consist 
of 32 registers and therefore have identical sizes. Adding a brief 
comment above APLIC_SETCLR_OFFSET_MASK to explain this could improve 
readability:

/*
  * Using setip is fine here, as all SET* and CLR* register groups 
consist of 32
  * registers and therefore have identical sizes.
  */
#define APLIC_SETCLR_OFFSET_MASK  (sizeof_field(struct aplic_regs, 
setip) - 1)

Also, BUILD_BUG_ON() could be added to aplic_preinit() to verify what is 
mentioned in the comment if it makes sense.

...:

#define APLIC_SETCLR_OFFSET_MASK
     (sizeof_field(struct aplic_regs, setip) - sizeof(uint32_t))

> 
>> --- a/xen/arch/riscv/include/asm/vaplic.h
>> +++ b/xen/arch/riscv/include/asm/vaplic.h
>> @@ -26,6 +26,9 @@ struct vaplic_regs {
>>   struct vaplic {
>>       struct vintc vintc;
>>       struct vaplic_regs regs;
>> +
>> +    paddr_t regs_start;
>> +    paddr_t regs_size;
> 
> Can regs_size really go beyond 4G?

Good question and it depends on an amount of vCPUs:

#define APLIC_MIN_SIZE          0x4000
#define APLIC_SIZE_ALIGN(x)     ROUNDUP(x, APLIC_MIN_SIZE)

#define APLIC_SIZE(nr_cpus)     (APLIC_MIN_SIZE + \
                                  APLIC_SIZE_ALIGN(APLIC_IDC_SIZE * 
(nr_cpus)))

paddr_t aplic_size = APLIC_SIZE(d->max_vcpus);

With the current limitation of 128 vCPUs max (IIRC) it won't beyond 4G.

> 
>> --- a/xen/arch/riscv/vaplic.c
>> +++ b/xen/arch/riscv/vaplic.c
>> @@ -26,6 +26,283 @@
>>   
>>   #define FDT_VAPLIC_INT_CELLS 2
>>   
>> +#define AUTH_IRQ_BIT(d, irqn) ( \
>> +    ((irqn) <= (d)->arch.vintc->irq_nums) && \
>> +    test_bit(irqn, (d)->arch.vintc->allocated_irqs) )
>> +
>> +#define regindx_to_irqn(reg_val) ((reg_val) / sizeof(uint32_t))
>> +
>> +static inline uint32_t generate_auth_mask(const struct domain *d,
>> +                                          unsigned int irqsn)
>> +{
>> +    if ( irqsn >= DIV_ROUND_UP(d->arch.vintc->irq_nums,
>> +                               sizeof(uint32_t) * BITS_PER_BYTE) )
> 
> Why the rounding up? Isn't ->irqs_num the proper upper bound?

Probably irqsn isn't a correct name here as it looks like "IRQ source 
number" (an IRQ number), but regindx_to_irqn(offset & MASK) actually 
computes offset / 4 - a word index into the used_irqs bitmap. Word 0 
covers IRQs 0â€“31, word 1 covers IRQs 32â€“63, etc.
Given that, the bounds check:
   irqsn >= DIV_ROUND_UP(irq_nums, sizeof(uint32_t) * BITS_PER_BYTE)
is "word index >= number of 32-bit words in the bitmap" which is 
correct. The DIV_ROUND_UP converts the IRQ count into a word count to 
compare against the word index.

So the real issue is naming. There are two options to resolve it:
- rename to reflect reality; call it word_idx (not irqsn), and rename 
regindx_to_irqn to something like regoffset_to_word_idx. The 
DIV_ROUND_UP check then reads clearly.

- Change the API to take an actual IRQ number, pass irqsn * 32 (the 
first IRQ in the word) and check irqsn >= irq_nums directly, computing 
the word index inside generate_auth_mask. This aligns with how 
AUTH_IRQ_BIT works.

Which one option do you prefer?

> 
>> +    {
>> +        dprintk(XENLOG_DEBUG, "incorrect irqsn(%d) is passed\n", irqsn);
> 
> Once again: %u please with an unsigned int argument.
> 
>> +        return 0U;
>> +    }
>> +
>> +    return *((uint32_t *)d->arch.vintc->allocated_irqs + irqsn);
> 
> Such casts would better be avoided

It was just a convenient way to find necessary word.

Would it be better to have the following:
  return (uint32_t)(d->arch.vintc->used_irqs[(irqsn * 32) / 
BITS_PER_LONG] >> ((irqsn * 32) % BITS_PER_LONG));


> 
>> +static int vaplic_emulate_load(const struct vcpu *vcpu,
> 
> v please for struct vcpu * variables (in the common case, of course there can
> be exceptions).
> 
>> +                               const unsigned long addr, uint32_t *out)
>> +{
>> +    const struct domain *d = vcpu->domain;
>> +    const struct vaplic *vaplic = to_vaplic(d);
>> +    const unsigned int offset = addr & APLIC_REG_OFFSET_MASK;
>> +    uint32_t auth_mask;
>> +    unsigned int i;
>> +
>> +    switch ( offset )
>> +    {
>> +    case APLIC_DOMAINCFG:
>> +        *out = vaplic->regs.domaincfg;
>> +
>> +        return 0;
>> +
>> +    case APLIC_SETIPNUM:
>> +    case APLIC_SETIPNUM_LE:
>> +    case APLIC_CLRIPNUM:
>> +    case APLIC_SETIENUM:
>> +    case APLIC_CLRIENUM:
>> +    case APLIC_CLRIE_BASE ... APLIC_CLRIE_LAST:
> 
> For ranges like this APLIC_REG_OFFSET_MASK having the low two bits clear
> (or there being some other mechanism to ensure only properly aligned
> offsets are handled) would help. Mis-aligned accesses shouldn't be
> handled ...
> 
>> +        /*
>> +         * Based on the RISC-V AIA spec a read of these registers
>> +         * always returns zero
>> +         */
>> +        *out = 0;
>> +
>> +        return 0;
> 
> ... like this.

There is such check in vaplic_is_access() below. I will add a comment 
above vaplic_emulate_load() that offset is properly aligned because of 
the check in vaplic_is_access(). The similar comment I'll add for 
vaplic_emulate_store().

> 
>> +    case APLIC_SETIP_BASE ... APLIC_SETIP_LAST:
>> +    case APLIC_CLRIP_BASE ... APLIC_CLRIP_LAST:
>> +    case APLIC_SETIE_BASE ... APLIC_SETIE_LAST:
>> +        i = regindx_to_irqn(offset & APLIC_SETCLR_OFFSET_MASK);
>> +        auth_mask = generate_auth_mask(d, i);
>> +
>> +        break;
>> +
>> +    case APLIC_TARGET_BASE ... APLIC_TARGET_LAST:
>> +        /*
>> +         * As target registers start for 1:
> 
> s/for/from/ ?

I'll apply that.

> 
>> +         *  0x3000 genmsi
>> +         *  0x3004 target[1]
>> +         *  0x3008 target[2]
>> +         *   ...
>> +         *  0x3FFC target[1023]
>> +         * It is necessary to calculate an interrupt number by substracting
>> +         * of APLIC_GENMSI instead of APLIC_TARGET_BASE.
> 
> Stray "of"? Or did you mean "subtraction"? (Also check other similar comments.)

Agree, 'of' should be dropped here.

> 
>> +    default:
>> +        gdprintk(XENLOG_WARNING, "Unhandled APLIC read at offset %#x\n",
>> +                 offset);
>> +
>> +        domain_crash(vcpu->domain);
>> +
>> +        return -EINVAL;
>> +    }
>> +
>> +    *out = aplic_hw_read_reg(offset, auth_mask);
> 
> You blindly assume a 32-bit access here (and also in the write counterpart).
> How do you end up knowing?

he APLIC spec requires all register accesses to be 32-bit wide.

Also, I have the following at the caller side (yes, it can't be 
understand from the current patch):

     /* Fault address should be aligned to length of MMIO */
     if ( fault_addr & (len - 1) )
         return -EIO;

     if ( vintc->ops->is_access(vcpu, fault_addr) )
     {
         /* PLIC/APLIC access are always on 32bit */
         ASSERT( len == 4 );
         rc = vintc->ops->emulate_store(vcpu, fault_addr, data32);
         if ( rc < 0 )
             return rc;
     }

Probably it would be better addi a size parameter to both callbacks:

int (*emulate_load)(const struct vcpu *vcpu, unsigned long addr,
                     unsigned int size, uint32_t *out);
int (*emulate_store)(const struct vcpu *vcpu, unsigned long addr,
                      unsigned int size, uint32_t in);
Then vaplic_emulate_load can validate upfront:


if ( size != sizeof(uint32_t) )
{
     gdprintk(XENLOG_WARNING, "APLIC: unsupported access size %u\n", size);
     domain_crash(vcpu->domain);
     return -EINVAL;
}

or maybe it would be better instead of domain_crash() just ignore such 
loads:

if ( size != sizeof(uint32_t) )
{
     gdprintk(XENLOG_WARNING,
              "APLIC: unsupported %u-byte access at offset %#x, ignoring\n",
              size, offset);
     *out = 0;   /* for loads */
     return 0;
}

I want to add size argument as I think that I want to introduce common 
MMIO handling instead of is_access() to avoid growing of if/else in the 
snippet above

> 
>> +static int cf_check vaplic_emulate_store(const struct vcpu *vcpu,
>> +                                         unsigned long addr, uint32_t value)
> 
> Why cf_check here but not for vaplic_emulate_load()?

It should be added for both.

> 
>> +{
>> +    int rc = -EINVAL;
>> +    const struct domain *d = vcpu->domain;
>> +    unsigned int offset = addr & APLIC_REG_OFFSET_MASK;
>> +
>> +    switch ( offset )
>> +    {
>> +    case APLIC_SETIP_BASE ... APLIC_SETIP_LAST:
>> +    case APLIC_CLRIP_BASE ... APLIC_CLRIP_LAST:
>> +    case APLIC_SETIE_BASE ... APLIC_SETIE_LAST:
>> +    case APLIC_CLRIE_BASE ... APLIC_CLRIE_LAST:
>> +    {
>> +        unsigned int irqn = regindx_to_irqn(offset & APLIC_SETCLR_OFFSET_MASK);
>> +        value &= generate_auth_mask(d, irqn);
>> +
>> +        break;
>> +    }
>> +
>> +    case APLIC_SOURCECFG_BASE ... APLIC_SOURCECFG_LAST:
>> +        if ( value & APLIC_SOURCECFG_D )
>> +        {
>> +            rc = -EOPNOTSUPP;
>> +
>> +            dprintk(XENLOG_ERR, "APLIC_SOURCECFG_D isn't supported\n");
>> +
>> +            goto fail;
>> +        }
>> +
>> +        /*
>> +         * As sourcecfg register starts from 1:
>> +         *   0x0000 domaincfg
>> +         *   0x0004 sourcecfg[1]
>> +         *   0x0008 sourcecfg[2]
>> +         *    ...
>> +         *   0x0FFC sourcecfg[1023]
>> +         * It is necessary to calculate an interrupt number by subtracting
>> +         * of APLIC_DOMAINCFG instead of APLIC_SOURCECFG_BASE.
>> +         */
>> +        if ( !AUTH_IRQ_BIT(d, regindx_to_irqn(offset - APLIC_DOMAINCFG)) )
>> +            /* Interrupt not enabled, ignore it */
>> +            return 0;
>> +
>> +        if ( value > APLIC_SOURCECFG_SM_LEVEL_LOW )
>> +        {
>> +            gdprintk(XENLOG_ERR,
>> +                     "value(%u) is incorrect for sourcecfg register\n", value);
>> +
>> +            return 0;
>> +        }
>> +
>> +        break;
>> +
>> +    case APLIC_TARGET_BASE ... APLIC_TARGET_LAST:
>> +    {
>> +        struct vcpu *target_vcpu = NULL;
>> +
>> +        /*
>> +         * Look at vaplic_emulate_load() for explanation why
>> +         * APLIC_GENMSI is subtracted.
>> +         */
>> +        if ( !AUTH_IRQ_BIT(d, regindx_to_irqn(offset - APLIC_GENMSI)) )
>> +            /* Interrupt not enabled, ignore it */
>> +            return 0;
>> +
>> +        for ( unsigned int i = 0; i < vcpu->domain->max_vcpus; i++ )
>> +        {
>> +            struct vcpu *v = vcpu->domain->vcpu[i];
>> +
>> +            if ( v->vcpu_id == (value >> APLIC_TARGET_HART_IDX_SHIFT) )
>> +            {
>> +                target_vcpu = v;
>> +                break;
>> +            }
>> +        }
> 
> Why is a loop needed here? vCPU-s are numbered sequentially.

Agree, it isn't needed. The following will be enough:

         unsigned int hart_idx = value >> APLIC_TARGET_HART_IDX_SHIFT;

         if ( hart_idx < vcpu->domain->max_vcpus )
             target_vcpu = vcpu->domain->vcpu[hart_idx];

> 
>> +static bool cf_check vaplic_is_access(const struct vcpu *vcpu,
>> +                                      unsigned long addr)
>> +{
>> +    const struct vaplic *vaplic = to_vaplic(vcpu->domain);
>> +    paddr_t start = vaplic->regs_start;
>> +    paddr_t end = vaplic->regs_start + vaplic->regs_size;
>> +
>> +    if ( addr & 0x3 )
> 
> Nit: Does the 0x here add any value?

Agree, there is no any sense.

> 
>> +    {
>> +        dprintk(XENLOG_DEBUG,
>> +                "APLIC MMIO address should be properly aligned\n");
>> +
>> +        return false;
>> +    }
> 
> Ah, okay - here is the alignment check. Mind me asking for a (documenting)
> assertion then in the actual read and write handlers?

Sure, I will add the comment above or add a correspondent ASSERT().

> 
>> +    /* check if it is an APLIC access */
> 
> Nit: Style.

I will update that.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:08:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:08:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338861.1599928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPmE-0004Mn-NM; Tue, 16 Jun 2026 09:08:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338861.1599928; Tue, 16 Jun 2026 09: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 1wZPmE-0004Mg-KT; Tue, 16 Jun 2026 09:08:10 +0000
Received: by outflank-mailman (input) for mailman id 1338861;
 Tue, 16 Jun 2026 09:08:09 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wZPmD-0004MS-Ps
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:08:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZPmD-003uFS-6N
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:08:09 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a311274-5cb7-0a2a0a5109dd-0a2a450294f6-28
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:08:09 +0200
Received: from [52.101.52.18]
 (helo=BL2PR02CU003.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a311277-af86-0a2a45020019-346534127838-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:08:08 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by IA5PR03MB989582.namprd03.prod.outlook.com (2603:10b6:208:602::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Tue, 16 Jun
 2026 09:08:06 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 09:08:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=e8kFJaeyZ27gqjRszIOB7h5aG1XF/UhddBm7uhhiVjo/8oNci80B6NLj7wBicZvkG5pUY/r1965RUUNkvSUW+3JRdXiKnFwYTxpixqZiM5r1oXJR6ZhGafZUXrFFQOJGqYDY3hh5afeZcZnhdFf9Z2zJGxW8LZhF0RCXe/UTD1znQ63SIJ6IbqUfMihkYMyDrHGRqxlxG6NUy0w1W+YcikIZR/ZsLge0ybegIcp0Xh0R/7Mk/MEYd4KaQKXUnlnw/j2uQyo5hLfRULFUD82SHVuJV5JL2FUgxCF6zTSUTP1lDCinnROzYPZIZW/CDy9rKbENF1DfM63IAwE7YY/IRg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iM6TSo4/zzYWieftzZTIFXzLwVw4Q7MsnYwayOY/Fn4=;
 b=wd0qsZKeuG7BkrcdfWbJUv+fmAZtmqHRwz1gmVrY0Pfov23W8/JwfxwepB84W19Vc5UpXrGbYPSAVUR8iwcrDNsCC1nwi25XnACIlV41PR96AwIQ+5B8DH7RwzaxIsH6t1yhoyMlncyTHZhNe8UGK8zpeP2DsUO+9fXoAPutQSJAHamQfUoZNDga4/FwHw6nK8zbtDExlhvVM6ERf2Wax4rnYKMU4Ngyq6lw3PYcXCP7ydkf9LCK0KPcnU/jxYUGCIYsVydW1Ixwl/fAfMz+9YQhZQgYH15v2neAsYjqJZgG220xGSox6ItXqvvCG1JjweC4HnsEvySIR9Y6u8MMkg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iM6TSo4/zzYWieftzZTIFXzLwVw4Q7MsnYwayOY/Fn4=;
 b=TqbmhYnomAKfxdMy13tWONSOtOlkqw94md/Kk8lD4f3lW7R0yYWc0CHXzrHz0xAleOtr2tuaAl4tka3OVE/6ksk4111FQ3JyejhNDaTtLoT94xEbI88x3utGAcnzVW4rGETBdT3rDP/5kZ8Gi12OCD9rVROCjnLpiWGx315E9Ac=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 16 Jun 2026 11:08:03 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22? 7/9] domctl: restrict permission check for
 XEN_DOMCTL_memory_mapping's remove form
Message-ID: <ajESc7Ae_0bzd3IV@macbook.local>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <5f49f890-426e-4076-8326-c2fbff433a35@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <5f49f890-426e-4076-8326-c2fbff433a35@suse.com>
X-ClientProxiedBy: BN9PR03CA0124.namprd03.prod.outlook.com
 (2603:10b6:408:fe::9) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|IA5PR03MB989582:EE_
X-MS-Office365-Filtering-Correlation-Id: a5cbee43-d1d4-4e4c-b859-08decb86c6e3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|23010399003|18002099003|22082099003|4143699003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	/P9G7F2drmlGFGshfc4ZaKq1lRr9K7zkOtNmSnv5Y7xjIzylKN9VIZN79Ks2rJFoZGBO1yNvY2mL4k+V4lz1fJDziJwQpesD6zv7wrnODSkhKwwlxf1wLURlzKgPwZS7NjJr6GbE+p43QRLfvX4Iz9v8LAoshBzfMN1cpuW6EOAHGNSzt2K0p89DeXk0288/cBtGE4ALRMhUfDB2+b9abl9km12qQixSHqStRs3eVvdMmESLas14dhmaw904oxVHkt89vzvzY3CMauYtR19AAwVZl9j6kP7prXOwrwDTj77D683zQr2b9pa3lt/RHtx8wcvLdhkcZ1umFha4nCRVpO2U6pwOFduGGeASXEepfX9xrTHzgXMYiOO2lCcBOZ4lPu/y0q9luW5tdmhLliPh9l4zwOhZsOQZ3DUWCcod5PCGoiL2MmiLflx8ECbse/96mggDKxGluy3BWXNrl0UBtU2AQplETV/ZADXM1j9Y6Ix5q5i7j4o152e4gczCDEucAhZeSukwUnro3I4bqR9ReRulj/PWoIJyCr+AUEsSnolb/oI9zU2fQtkThchHy2aEeXGbUKKxS91RgKptcHpBfP2evbIamxYU5O8rUqPIXZuqB9F+kUAC7N/NPMpS7kPm/FACU4Aor/HvFEYGQW4B7PPgBH5+qLARXaiN6pMi7mDuh7BxFeQd8iq3dkJx0eSV
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(23010399003)(18002099003)(22082099003)(4143699003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d3RSd1RzUkJGRUlLamF3ZTZOZ3lOQlJGYXBEUU00bUQ4TUowWkJIQzMzVTVP?=
 =?utf-8?B?Z0JHYWsreG4xVndLc2M4U21rUVYzdS9manI2THJ1MU9rTzVKa2h1Y3o1MTha?=
 =?utf-8?B?cWxOVS9qbGVBSGdUSzQwR283TXJ3a0ZUcUJOMXFINVU1YVQya2UrYVpqN29h?=
 =?utf-8?B?dXpubXUwKzRWRHhvRHR5SUE2QkdmZUVUWjUzZXBwMFJkVEUwQXBQQ09PNWgw?=
 =?utf-8?B?MFVtYlpEMG9DcGFTSU5MbEtRa0dxT2xRcCt3b0N6YUFGNmpqNkpJWGFZamFR?=
 =?utf-8?B?YWttaThwS29ZN0NGemIxL25hQ0Y1SlF3NE53Q1F4d2swdG42SGhtTXJUYnZB?=
 =?utf-8?B?NjZ4L0ZHUkFrdGlFRUc3cWNNQnAvQVZuVEVqak43dEFzcWZtYzExOUZoYnk3?=
 =?utf-8?B?VzgrZW4xLzIwckRlYTQvcVVKYVcrcUFjUGNVVitUaFZsSG9ZL05JYjJ2ZVRI?=
 =?utf-8?B?d0pjTFpobjYvNHdaamNmK3hTZlhCZnhFenNFbVlpMUtFdXRCWEd1bzlhdXlm?=
 =?utf-8?B?b1BQR0kzQlBINUxrbVJpQWhJODZFalRKNjVZWTI1OEVYNVVLVDhpT3JSV2Ew?=
 =?utf-8?B?VGZIKzBWb2IzdTdnUldDVmJ6dEZtME1DZldJOU9HR3ZKNGpyRGk4a0FtRTdH?=
 =?utf-8?B?ekxjYmZLMWE1bHVQSFZucnZ6WGJyWmxiTjJMOUR4TkExZVYwOUJ4T0VMZmpL?=
 =?utf-8?B?Skd1QWxzV1ZNUjJMSmEyQmtjNG4wL0plVlBwZk1ERWFOQUtKd09LTGhDZkdL?=
 =?utf-8?B?b011bURjdThQWkNySzM2MWhTaVRmSW5VQ3V0ZVR6NmgvSmkybWxsaHhvaEQ0?=
 =?utf-8?B?WEl5cHQzaldHQmtPbTM4M3NmWk9oZ0JQZWtxa1JkNFozWUkvbk5pa09LT2xr?=
 =?utf-8?B?eExkVnlvY0xhaWp3OUtMZWJhUEFqMXRDcUtkMy90OVdVb1c5UytsZzhnL0xG?=
 =?utf-8?B?MUZzQkV2aUVtTnhKSThkMkxjVWNaWFEyN3VHN05uQUVHYURXcldiUEZuRzYx?=
 =?utf-8?B?NXZ4WVZPSDhjV1RMWEZSTytnelg0anZCUFgwQ2F3Y2lWQTY1ZTNacy9zOGJr?=
 =?utf-8?B?c3hveCtiRjYxMTdaaHZpWXNsRld6RmhSTVh2em1YVzBEZStheExNNTA3RzBW?=
 =?utf-8?B?TjYreE9oMm9nQ2xXMnFsWTNkVlZRTUdiTU83dlB5WFJBRExSaXdLM2h2UTVN?=
 =?utf-8?B?cFpxOVBvMTR0cUd1K1dtWnpSb2FyQmZ3eVRGRk5ha0xiTVhPQTFqdHdtcmp6?=
 =?utf-8?B?a0N4alptWUt4YkxacnpzVThvempWbzdkeDV6aER3dWxYNit0V1NpdW1kUy9o?=
 =?utf-8?B?SllJbU5UVUllS1poeC85S2tvODlKVUNvcUlzanJWc3pNT2hIV0p5UkV2TWFY?=
 =?utf-8?B?aythcWxvK3IxbnpEekJkTW9BRmxaMW1VVk9URTR4VmpRdzI3MFBRbGtOQWRo?=
 =?utf-8?B?NTZ4a1ZsSDZxQXVMd3VkaW9peWNvWkI0TjFDanJHTTZWSVdmZDZ6amprRDdJ?=
 =?utf-8?B?KzZpSURFL1pYTWF3YS9lWWNFaDAyR3NvLzFSZnBUblI1UFFGM1gyOXkvOCtw?=
 =?utf-8?B?MFAvVUxkU3R5SkhJOExCQ1pmUlZaZlA1bDN2TEQ5bHZEWk41SHUydDdpaHMw?=
 =?utf-8?B?UjN4QzFITzF6N1JCd0FaZUhOKzQ2dFl6MUxOWGV3VW9HVUdSWm5pNW15ZExj?=
 =?utf-8?B?ZW9CWXFSRG5VdTJ4NzdRaUFVUFZPTDJMOGJLRWlkckdKVlBQKy9rMXJscHdY?=
 =?utf-8?B?eDJFbVBFem1sMGYvL1l0OGpxKzJUREJ1ZWF1MDNlZE90MGtjRmQ1UnF1L2ZY?=
 =?utf-8?B?R2FlREV2NFA0Sy93a3RFd1dmUkkrQmxMQUJHbUlpcERtNWx6c2svQS9qVFdK?=
 =?utf-8?B?THU2YmlPeTJqQ0xCRHNKQmRRc01LYVlpbHZ2RXVTUlY0OEZkRW9INWJYbEdl?=
 =?utf-8?B?bnErZGdnMnhqTkorUXEydndNZWtrUXhCd1ExZkJ1Z1pkWkNnK0hvZWI4azNO?=
 =?utf-8?B?dnhMaTJDL29XYlJOK2l1YUY4UG91UU9WMnVvZjRVaUR5SkgxVmpLZlJHc29k?=
 =?utf-8?B?aVh1WloycXF3VzR5eG5hNzhoVmpWb1BXTXFnYlpWT1B2bzBZRzNIUHBXeldo?=
 =?utf-8?B?NUtQWjFNNDNtVDVJbE1RdlpKNFJCanNWYjlWWFplL3pyYUdTQmJXc3dJamlj?=
 =?utf-8?B?ajg1alBCTklBdHhJK1hYRVFDbWxBWW1rc2NHTlhTb1Z4U0hmUlJGcUFxZmZW?=
 =?utf-8?B?YVJrRjBXUjQydkN1UnNnaEY5Y2Z2YkJUdmdRVjlqU1I1Wmpldnluc1NZMDVJ?=
 =?utf-8?B?SkxiOEl2Q3FxSFZMVG9NUVNSL28wc09wS2c4alZRdkVxZkYzL2lnQT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a5cbee43-d1d4-4e4c-b859-08decb86c6e3
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 09:08:05.8323
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5sIKDOFkWdqwYYmK9EFJ4aFXxGubljs9bvM5CgomkJjIvwbg3pQf3k2rf073lYzfulda4QKAVgtyhwOt0Qk9sg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA5PR03MB989582
X-purgate-ID: tlsNG-720697/1781600888-82D6F161-7EFBF660/0/0
X-purgate-type: clean
X-purgate-size: 1543

On Mon, Jun 15, 2026 at 04:15:36PM +0200, Jan Beulich wrote:
> Like is already done for I/O ports on x86 and for IRQ unbinding, check
> only the requesting domain's permissions (for it to not interfere with
> MMIO backed by another stubdom DM), but not the target domain's: Removal
> should be okay even (perhaps: especially) when permissions were already
> revoked.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/common/domctl.c
> +++ b/xen/common/domctl.c
> @@ -436,11 +436,15 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
>              goto domctl_out_unlock_rcuonly;
>  #endif
>  
> +        /*
> +         * NB: The double lock isn't really needed when !add, but is used anyway
> +         * to keep things simple.
> +         */
>          iocaps_double_lock(d, false);
>  
>          ret = -EPERM;
>          if ( !iomem_access_permitted(current->domain, mfn, mfn_end) ||
> -             !iomem_access_permitted(d, mfn, mfn_end) )
> +             (add && !iomem_access_permitted(d, mfn, mfn_end)) )

You seem to be doing the opposite of what the commit message states
here, and checking for permissions on the target domain, not
permissions of the requesting domain?

XEN_DOMCTL_ioport_mapping does check against current->domain, and not
against d.

FWIW, we could also remove one branch here by doing:

ret = -EPERM
if ( add && iomem_access_permitted(current->domain, mfn, mfn_end) )
{
    /* add logic. */
}
else if ( !add )
{
    /* remove logic. */
}

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:08:47 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:08:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338866.1599936 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPmp-0004zI-0F; Tue, 16 Jun 2026 09:08:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338866.1599936; Tue, 16 Jun 2026 09:08:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPmo-0004zB-TY; Tue, 16 Jun 2026 09:08:46 +0000
Received: by outflank-mailman (input) for mailman id 1338866;
 Tue, 16 Jun 2026 09:08:45 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZPmn-0004z1-Ht
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:08:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZPmm-009MIu-Uf
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:08:44 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a311293-e002-0a2a0a5209dd-0a2a4506ca8a-18
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:08:44 +0200
Received: from [209.85.221.41] (helo=mail-wr1-f41.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a31129c-7371-0a2a45060019-d155dd29c98c-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:08:44 +0200
Received: by mail-wr1-f41.google.com with SMTP id
 ffacd0b85a97d-45efb698ef2so2290754f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 02: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
 5b1f17b1804b1-4922fa5120esm62220735e9.8.2026.06.16.02.08.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781600924; x=1782205724; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=3JUDVRgeMDZPIQkKrHMxp07axqEpk6Xa+nbtqsCBslc=;
        b=To1dW4DOEDl21wt6dJ60gVzQyhwj1JeNDXyWDn9Ihn4MFhxjCa/Rz4/88VJ9K2gvpo
         RiPsnTTQODUvHr18awHuOcqghP9ioGqWocY002tDJ0IgDwT8Em3/ntdj6Pf8m/H4Rp8u
         Fn60Ji1vze98I8/ZGTBb2TLixOn9j2jWDea/M4ulOuGK1XyjFCTsnIvpjHEcC61xHxZg
         h1k6h1CzHX9IGCm+1J4FZkXyiL1FmiDbgAfxjF/afTVeXZ8sqqupNP6Z5O6WN3U/Byak
         O0dI0Dc4uhVuYTdn8tgVFYVEm1gLosZH6XwdSdz7lnE08sZxW517y/tnDL0OtPxQlSj3
         XAZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781600924; x=1782205724;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3JUDVRgeMDZPIQkKrHMxp07axqEpk6Xa+nbtqsCBslc=;
        b=tPUVUIKvsIibAF/kNyscm7XqF73EYO1WytjXklRPR0ME3h3/JJK+Muj6w23JdHOlQg
         WiHk2e2+1ME2Lyg2ZoC4W7K54oxjgeDGYkb71on6jpdQvZQK1K7jWNmfSzXCSPOg1PL6
         XydkH7XLdVezlfSe/4kgpdSwO1l4ZnD+uzh1hktOzD0Xh8GKdMyfjcEXM0CowyQufFS7
         AY3toY3DaKdUdBkNqD8PSvcvxA94HdBkEWKZA+0UkxGF4MHcJQ/fuX4JW+3aaZEcVAUR
         IPgkBu/aX955inZc2R9pQk9tCHSMuVZE1E6j90qBjbkG90SyhNDLcSiDEWWfLJigLnE/
         A1kA==
X-Gm-Message-State: AOJu0YyZEAkfKOVFdm5vr74DU7uCVqh9GhJ1oMpGmydbeSunRGRSeY/A
	z88lltRDXpJXawuPvswVy5sCGKg+W9cHHmhkWNVhKLN5IBiIKEZ3oTmlFWb6nT5G/A==
X-Gm-Gg: Acq92OGid9TldTylCstBOd80owgGHDi8ZilZVI+/2ovHSzv9/M2oM9s+uzr2ArbQ7jT
	arhu1J4gTO+6ccT9AHKvrkvSjK5FXgPbec9sC9EgZb7iHVWpuheT8jqU61iMVixfJQk/bpZZelp
	Y24Cc/0/ubGjbeDMemZ+ABT2CA6QFXEm/C766D3a44PGjU1GqdpbPsIkxvHcIy+5NnHENBF0tf9
	E/dsSxQUiLUub7/tXEpAOcpKS0W0kftEZBf4rjNEeXsuJLg01eRz5WqIlgndOeoToQxK224I9RO
	6LIP73K8kENnIRuePyuiuHVbo26uZ3qblRb6wM1ombacGBrFx4/WQyb8GZtvVe7u4AkDxbxtedY
	GiWTJO+d9GGynwd2xvPt6/Ukoo00iXZABJz2zc+2eBTgDuO+OdzEbVjjTGw3CZaut8q6E1ZF8wB
	L898uups+zbc3Kg9iKP9hblAIqTupO0UWw9GRx83HelUJsIA25v3BIR6y9QvRiaFGukS3mq+wVw
	wMXq95XzckwFvU=
X-Received: by 2002:a05:600c:4e0e:b0:492:2e1c:1d19 with SMTP id 5b1f17b1804b1-4922e1c1d3dmr75537485e9.31.1781600924055;
        Tue, 16 Jun 2026 02:08:44 -0700 (PDT)
Message-ID: <178ae0e7-158b-4532-8edd-a11acaa858ee@suse.com>
Date: Tue, 16 Jun 2026 11:08:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22? 6/9] domctl: handle XEN_DOMCTL_getvcpuinfo
 without acquiring domctl lock
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <0e38793c-e201-4cbe-8cee-6cd26996173a@suse.com>
 <ajEP0N9_VYAnPxKH@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: <ajEP0N9_VYAnPxKH@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1781600924-8C87AD75-67578D72/0/0
X-purgate-type: clean
X-purgate-size: 2134

On 16.06.2026 10:56, Roger Pau MonnÃ© wrote:
> On Mon, Jun 15, 2026 at 04:15:12PM +0200, Jan Beulich wrote:
>> Like for XEN_DOMCTL_getdomaininfo there's no need to hold the domctl
>> lock for XEN_DOMCTL_getvcpuinfo. While moving the code also switch to
>> using domain_vcpu().
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> Tentatively-acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Thanks.

>> --- a/xen/common/domctl.c
>> +++ b/xen/common/domctl.c
>> @@ -546,6 +546,33 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
>>      if ( ret )
>>          goto domctl_out_unlock_rcuonly;
>>  
>> +    switch ( op->cmd )
>> +    {
>> +    case XEN_DOMCTL_getvcpuinfo:
>> +    {
>> +        const struct vcpu *v;
>> +
>> +        if ( (v = domain_vcpu(d, op->u.getvcpuinfo.vcpu)) == NULL )
> 
> Since you are moving the code anyway, I would rather do:
> 
>         const struct vcpu *v = domain_vcpu(d, op->u.getvcpuinfo.vcpu);
> 
>         if ( !v )
>             ...

Ah yes, I agree.

>> +        {
>> +            ret = -ENOENT;
>> +            goto domctl_out_unlock_rcuonly;
>> +        }
>> +
>> +        op->u.getvcpuinfo.online   = !(v->pause_flags & VPF_down);
>> +        op->u.getvcpuinfo.blocked  = !!(v->pause_flags & VPF_blocked);
>> +        op->u.getvcpuinfo.running  = v->is_running;
>> +        op->u.getvcpuinfo.cpu_time = vcpu_runstate_get_running(v);
>> +        op->u.getvcpuinfo.cpu      = v->processor;
>> +
>> +        copyback = true;
>> +        goto domctl_out_unlock_rcuonly;
>> +    }
>> +
>> +    default:
>> +        /* Everything else handled further up or further down. */
>> +        break;
>> +    }
> 
> As you are introducing this here, we might want to also move
> XEN_DOMCTL_shadow_op handling into this new switch block: with the RCU
> taken and after the xsm_domctl() call.

Indeed, as indicated yesterday in [1]. Meanwhile I have a patch ready to
include in a possible v2 of this series.

Jan

[1] https://lists.xen.org/archives/html/xen-devel/2026-06/msg00861.html


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:10:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:10:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338873.1599946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPoY-0006pJ-CV; Tue, 16 Jun 2026 09:10:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338873.1599946; Tue, 16 Jun 2026 09: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 1wZPoY-0006pC-8I; Tue, 16 Jun 2026 09:10:34 +0000
Received: by outflank-mailman (input) for mailman id 1338873;
 Tue, 16 Jun 2026 09:10:32 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wZPoW-0006oB-QJ
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:10:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZPoV-005Deg-I4
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:10:31 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a311300-e002-0a2a0a5209dd-0a2a4503b38e-36
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:10:31 +0200
Received: from [40.93.195.36]
 (helo=SN4PR2101CU001.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a311305-672d-0a2a45030019-285dc3240a8b-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:10:31 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by IA1PR03MB8287.namprd03.prod.outlook.com (2603:10b6:208:5ae::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Tue, 16 Jun
 2026 09:10:28 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 09:10: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=sWHPjj6np2CGqbSupLWzj/6sleY0LAzx9kiPEKz9Xv2/PfKs9uCTjAMi9gOrYYOMR9fk1xY/AJoTz3QvpATN7q+77nvIWc9PMudCJAjhO3HZQTQzqkCXgT7fkEOpchZfOhHos8NXB+CuZW0BMwItzw3LAtqRX2iEWGPfRgVUYWq5cQpbJaBHIS66lU5MVJuowOb5+nsHEhHRyiIqNBSueQazgyoIp/CbKXTnY4U9MBKYZvNRWjVFwhtEfv56r5U6+b4ek+qoWX0JQUxee6kIfQ6OcpCJ3INMRtKl2YUzY3p0sQWhWH402n/2MUfEWKJXiSdYxBqcAuXFpwkrKjcXVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zFVO+ko0F80uHwvTt8DpLcBKL5xKFTNyjegt/hvf14c=;
 b=NAP9drk4PR9j/A09ImVqXZHGbD4c7QhlDaqMBkhQ1G+F+G0cqvYukHwnj6PRM6dVIdBuR7njGcVShd2itPW2d+2YtHzP3bzPBD+9FvrbMcKHWDkPM+mv4orerJ+O+xrBCbIgdw9vHmDSB4HIadVOowSJKk1JOhjHV25X8oUV02A2ud13IgD3W1fvrRRBJjs96ylvXORamZz/Aa1lmvTIDcgJRhUziUw5QTkxG8cl1dsR193TuDkjz8gMKEuQLS5A29pXt4rOdSbOKo+Ug37UppE3JnBj58fVJ9OBu1jn0PgEKIWLEXLVwv3AhFysCNB48O7MAqli4+dOgOZpIrly5Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zFVO+ko0F80uHwvTt8DpLcBKL5xKFTNyjegt/hvf14c=;
 b=Pgwu1rscIZ/IaWH2S4MFoVh7/dz4Ys2x/2mEeG/aCCJCq1EgIByD3sWyPQ+cr3cyTJpG6aNKNaOg8R/c1BAtctEhPFdBmhSx8uTlNtOmTR/L5vlua4jrt4brJYeHS482uCzqpIbOugTfp+M8f9Gs+33YBsrPckp96qVJp8yQ00c=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <9aa3c6d2-44b8-4563-8a38-036947479377@citrix.com>
Date: Tue, 16 Jun 2026 10:10:24 +0100
User-Agent: Mozilla Thunderbird
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>,
 Daniel Smith <dpsmith@apertussolutions.com>
Subject: Re: [PATCH 0/4] hypercall string inputs
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@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: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0469.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a8::6) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|IA1PR03MB8287:EE_
X-MS-Office365-Filtering-Correlation-Id: 216042e6-3092-4b9d-f029-08decb871bc1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|23010399003|376014|11063799006|56012099006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	MLxGVjhknKHQ8/DrRV6S6vyYmUEQ8wDg9DBCI7yCJU2X90P37dWIQVmMPqB4zDNQMQ5FP0d8DQYezSVRv7Va65r0KilPt+ZLYvLvj46e9JeQWopf1M8ujNZ7YNlmWV5gXR5SoVH5OfNuN1mCELAJ+DR4/3awz04UfVDzx+Qjmu+fPZJI5Xdb9U7RmMYremW3HNfW7hQVT9sh2Wab2of4jn2micP3l8rAGTEX9NwTB+BY/uNy+9QEo2gMfqscua8bMkLsA0Ox/4+E1/30StI3VLqVrZH4vAHaUEoGVycvwX+Xte+GVJi7AhSVN94ezHdjAIQMYYkB9SCkyV08vdDVGqLKvvjMqqm+qSA9QpWOmEjgpDM/7fN/CpwfRrBxECVH4aoNP4M55ej3jI4rYeznuaRwbZtHEU7N+2vFoCX4eiKP/kGIdP1tnkG9D+fc0EXUvJpQDOdoxblckjrPnbdRPMn1m6VmzqKU1a66H8q02QXkUF8djbvp/T4zcofpZma6PincRV13BGUKK0+EhUvuIS5EpaBTbNsgepTDGkRK3/kzQZWr8O5cHGhRWpBeh2I8483A3obv/u0BIHAQs6JhqJgfuwPqlXewddYFLniu3FaZzKDKEDqzS309KKqXh3BSTC7mBhFZoHKEG+5slPK/jFxHjNIpvF/wXyJ4tidUMxEX3h/4mTteVB/xwv8AvWgz
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(23010399003)(376014)(11063799006)(56012099006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V0NNV21xUTNIYTVhcDhNNTk3bldSN1RRTFl0WUx6VWdBcTlsazJ3R2tLNjZ6?=
 =?utf-8?B?WC9iRzZqMFFIS2lUNlJyZGF5OHpvNDczL3JXSmt6cjc3Njl4VEhEL0lRVXVt?=
 =?utf-8?B?TkpFYUs3aEd2MGRtcHpDbFVpNWdhOEREN2RsZW8wYlMrTXJHaEdub25EMlhq?=
 =?utf-8?B?djgyVldiekxFdEIxQVdBYzE0Mks1bmc0MVNzdXJ3MDZuNkU5KzdvQUNSUjBN?=
 =?utf-8?B?alZZNld5dTRUTytMZ25NV3ozb2ZjZ1BPNGlEWW1ndmhLZUcxTTlYcFlwWXBk?=
 =?utf-8?B?Zk0zVStuaTNxUVg1TGdnV09wWGthK0czc2FYcFViSlRlRnNlVzUwNkZGZmVU?=
 =?utf-8?B?dmttUE05YjVmMllSTXdTeEd0QUlwN1RpbzNFZ3UrN1JXQ2xDalRWSzJCMUNl?=
 =?utf-8?B?NS8wZW4xYStpNWYyZTdrM1l5K0hNTG1ieHB5SHQxd3ZXMHV0YmpvV3hINktE?=
 =?utf-8?B?WGhvL015V2R5c1dJT0pCb2l6Z0N2ZURwWERWa3dHeEhJaHBaN2NGTnVEdEVj?=
 =?utf-8?B?NHhHUXM4ZGJKbWRLK1BFRFZvcG5Qa2hKSkY4UVNuTVc3NjhDYi9lQ3BvNHVq?=
 =?utf-8?B?YW9mbGRWZ2xzWDkvV09OS0RrM1BoK2Q4R1poUVJ4cXcxM1VHTVBsbloyOU5F?=
 =?utf-8?B?ODNzTi9KelZicmNadkRXRFRMbmdFUWJoQ3hXMW1uVFZmSzk3clBZTkhlczAr?=
 =?utf-8?B?aE1sOUhTRUhZT2QvU0NRckxhR2pkSzRPY3JoTHVuQ09zT2pLcWRybHFyVGdY?=
 =?utf-8?B?Zk5VUVlMSlhMM3dtVzdJcW5nRng3YzdmQnBNa212cmFJMlM4dHpkbExqTXFE?=
 =?utf-8?B?cHdFejk4VVpVSDVtN3pCNElLY25PZ3JnSVM0bUFDT0szeGtQeE9xemRlWnVK?=
 =?utf-8?B?ZjN4V1RCbFNQVjN0MUJCU1dSU0ZtYUptUUc2aTZSV3lFUWQ5eHdTa3JnSmww?=
 =?utf-8?B?Q0plbmZPckN0WnpaN3lEQzNwNGtBeDZVaDMvODJhL09RWDR4K01wc0xsbW1P?=
 =?utf-8?B?TUNjaHpDK21ZUnhHVndGQVVFZ2hneko3YmRHQmtYSFlTVVNiYkV2TFF6M1o5?=
 =?utf-8?B?d2VHVS9jZEJGT3Q2YnZOL0tkbUdrSWVKSVd4RnhoaHJyQkQ1Q21LTUJpSm5w?=
 =?utf-8?B?ZGJVNFpuUHJ5NGkrWVVBK21sazFnRUpJN3l1QmF6OHlXaXQ1R1lqUnVUV05w?=
 =?utf-8?B?R2V6R1N1UEhTcWYwcVlSUGZwYnZ0QSs4V2U1TXdVVk85VExLdmJ3ZmZKNFY0?=
 =?utf-8?B?dkZRTXplZE5wNEZjVTVwRzVNNVMyZC9XNEZtNjQzS1lhdmpqY1p6ZElXbmsr?=
 =?utf-8?B?YXEyUUdoR1pXaWNwS3FPam5ySndZcnYxVE0yQlVaTXRSdllqdGJ5bThSNllY?=
 =?utf-8?B?R1ZPMVc1ZEdOeGx2RjZPU3F5a2Z3Q3RydEtjajRpWFpSMlFRL1hnYng4OEZy?=
 =?utf-8?B?UStaUU1pTmRRV0x4TDNKU1U2VFF0VFhJck5QWlpaUjhPZk5GSFBrcURXN0NX?=
 =?utf-8?B?WC9WeEdYSlJ2Mmlqa1ZnWnRPSmZNUDFuUFFxUnhLaG5pQVpzUlJrT0VtS1FT?=
 =?utf-8?B?UzE3ZEwraE11RXBtcnQxSkRQbVJMekdrTDI1WlVIdi9OQ01PVDExVC9rbU1B?=
 =?utf-8?B?enh0ejZxVmhzdVRwOXlremttVXZwUi9jVzhGSldHdjcvcURBOUQ1a0VHdGdF?=
 =?utf-8?B?UFFrdmV5Z2w3Z3ZJMkxkRjBZOTNBc3dHc1IvQ0JHeTZTOHM2ckxiaHppeEpx?=
 =?utf-8?B?enJTWHZycFRrQld0dUVWbGlsWTNvS0xQNGt0WDA4cUd2V1l6OEhXVnFyVm5r?=
 =?utf-8?B?RzN1MVAwZ0FNbjc5Qy9Yekw4dW5YQ0xnQmxDemo3M2NndSs3MGIzaFMvT1pT?=
 =?utf-8?B?cmkyWVRxS2UzTTZldHBmK3h0b1l1MTh5UXlRRWFyQVhYRmFsNGgrL2dpaFZH?=
 =?utf-8?B?Tk55VCtWb0ExSWx4WjBqYUh1cjlyZXAxVW5INnBmelhqTXNQZkdvNGdDajZs?=
 =?utf-8?B?dWxKN3RwakVEV2NiNlQ5TDBWL1o4SkVyZjhWZ05IcVZFSDhRR1NPUHpNNGE3?=
 =?utf-8?B?aFkwM1hxZmtmYkt5TUFoRnkyZUEyQmpvQkRqZjY2cUVZUUhkK2xlTVJTZE9w?=
 =?utf-8?B?dmMxUS9xSithNUxoWEhSQUMrM2EyMDhaYVY2QlhIMWc4VSsvTVFDL1ZCTTc3?=
 =?utf-8?B?UVBjQ3g3bm5hanhKRGYxcExRaXphTmRGSHNZQkVvNlpuZDZ6cjJ4WTlUbnlH?=
 =?utf-8?B?ektnVlBETmdvMitlelNRMnJqWkt5c29sSUw3MW9mQlRmc0lOdTdMSDhuckJw?=
 =?utf-8?B?SC9weHFpSkYrZTk3d3d0SFZjRWxqZzJpcUYwOVdZdzRGSUNBdXZWS3FQR1p3?=
 =?utf-8?Q?wOzWHiL5RfFNMzMA=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 216042e6-3092-4b9d-f029-08decb871bc1
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 09:10:28.0732
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: d4bqsnVJ/yQWDmlf4W+tLuEl81XIAfjlqYzqkAaz3kUJdKWqoyZ38jXW+65GDhj5rzPjn/t6m2qogG2LPYtP5PlAVH1WFBUByeF2lRdpQQ8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR03MB8287
X-purgate-ID: tlsNG-33051d/1781601031-36547938-9C1E1396/0/0
X-purgate-type: clean
X-purgate-size: 638

On 16/06/2026 9:59 am, Jan Beulich wrote:
> While doing the XSA-492 work I further noticed an inefficiency with
> safe_copy_string_from_guest(). All callers pass PAGE_SIZE as the maximum
> buffer size, and with the function adding 1 to append a nul terminator
> the resulting allocations are all order-1 ones. Which we'd better avoid.
> Require respective callers of hypercalls to nul-terminate the strings
> within the buffer supplied. While an ABI change, I think it's an
> acceptable one.

FWIW, I think this is an acceptable ABI change too.Â  The chances of
there being any users outside of libxc/libxl is slim.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:18:01 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:18:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338884.1599955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPvg-0000Pw-6G; Tue, 16 Jun 2026 09:17:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338884.1599955; Tue, 16 Jun 2026 09: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 1wZPvg-0000Pp-3H; Tue, 16 Jun 2026 09:17:56 +0000
Received: by outflank-mailman (input) for mailman id 1338884;
 Tue, 16 Jun 2026 09:17:55 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ecfb8fc96000701b@swg.vates.tech>)
 id 1wZPvd-0000OZ-PW
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:17:54 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZPvc-003x20-HH
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:17:52 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ecfb8fc96000701b@swg.vates.tech>)
 id 6a3114c0-e002-0a2a0a5209dd-0a2a4508a56c-0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:17:52 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ecfb8fc96000701b@swg.vates.tech>)
 id 6a3114bf-63b5-0a2a45080019-b9ff1c129029-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:17:51 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ecfb8fc96000701b.001 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 16 Jun 2026 09:17:47 +0000
Received: from [192.168.1.18] (88-188-240-210.subs.proxad.net [88.188.240.210])
 (Authenticated sender: teddy.astie)
 by mail2.vates.fr (Postfix) with ESMTPSA id CD6AA86729;
 Tue, 16 Jun 2026 11:17:46 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=54mWMuVXXrF7y5OV2w7XnB+XyW/Z31FPas7mMIU0D/Y=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=FE9asuonAm+BNYZPV8nzb5UYCzS+TqK/5JsrE78UMfikTTsFid5e6jyFK0e/XjEIyDCVmbxl+
 vDv0HjXq3XVFXrtkY8MWVASJAPA3M7Up51OUymSYaMOi8jgewh7AYUTCxJU8bPPE0hUGDkhDgxo
 z2GRuCCdAcTV0432ejbx7j7x7bqmWD1u1pOv8PFR+wBQH6L34rQCmCclvfhJ++PMDWMpSEUa+u5
 G5Js38kyS0qv2v1ek6IPF/UKkCYgFHPJkydJ5MD8Xw+V+yqTmO/gpE4uWF8JJ659BZ+QoPeZk1+
 vt4lmbbWi7aDNT8Y2vA+q0+kM2jtreHqWRm5gafaRdUQ==
X-Zone-Loop: b7519174dc4d918633580c663d4d91f7d634ff05df89
x-campaign-type: default
x-transaction-id: 9017320c-c1ce-490c-9d6e-c5b4f57c15e9
x-swg-uid: 01-cb0b9d10-ee6b-42f0-b5a4-98c62e1d2b57
X-Mailer: Sweego
Message-ID:
 <1781601467.8631fc262581453bbf619ec5b2062170.19ecfb8fc96000701b@vates.tech>
x-swg-bid: 1781601467.8631fc262581453bbf619ec5b2062170.19ecfb8fc96000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Tue, 16 Jun 2026 11:17:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/4] libxc: adjust string size calculations in
 xc_{,de,test_}assign_dt_device()
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
 <8adede4b-f25d-4a77-9fec-bd099119b005@suse.com>
Content-Language: en-US
From: Teddy Astie <teddy.astie@vates.tech>
Autocrypt: addr=teddy.astie@vates.tech; keydata=
 xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7LTBVHV/XO
 Zw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJT4ny+OGntnJntUoR
 KRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJAWicutjkkUgd28Bh6HV9EIumH
 tCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaT
 VqMdqul07o72m3eA2mf+LMu9a04FX/d4wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/
 EoucejoZ5SH49ksmVAmKOLktOaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+S
 PhHar7TPKjFz0G3DPNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89
 MXfQXZ3qt1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
 LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWjmoACGwME
 CwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNzuyOVCskwfUZPla6Z
 pd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp0x0HfuhcYfAYPR46XHTvjaJE
 v99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuROxdK8G+YHccJY8PvWSq2K2yiae2KGiAv
 1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhP
 eP3IdpfWc8cyRLXF06Rk46YMYCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcT
 UwgnYlFRk2FLq0QeKEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9
 Egr/Wmu3MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
 f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEMAKiQiZa3
 yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ3DbVf+en3/FvdVZg
 2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTmetSG5/52AjtmPFtlXAk0NmLv
 fJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0s3109sJeXT5ImVdphFs9cvyZyBT9t1Pb
 Rowv58EgV0zE4hbAeVkULAbxFV5b/ExTjjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKb
 Yu6NCfiHfEyB3Xyg9hfdrRgjMRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ov
 XoK4jm+Py0FiUGUaA6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/
 eVtR2Q1wZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
 IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWjmoACGwwA
 CgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiVoUiHYN5QwhnbZnsa
 JDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764QxyX6rld2f2RcWkDuBHun55ZWXj
 by8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk/dS0XTOQi2wVUb17sW/+ybCEokdVacZG
 zOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fuoGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+
 lOWSvdNHgoEkWR0RXBPQjnGmLKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/Off
 O485NOTKwGOxyWb006cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR
 8ULR9nX0LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
 x9fhaZEsniw8/bYgC3igkk5YJiOa
In-Reply-To: <8adede4b-f25d-4a77-9fec-bd099119b005@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------N7AqxFM76sssjj7JNbI30IQ0"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781601466948
X-purgate-ID: tlsNG-c1860d/1781601472-BF171DB1-D3C974E7/0/0
X-purgate-type: clean
X-purgate-size: 8252

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------N7AqxFM76sssjj7JNbI30IQ0
Content-Type: multipart/mixed; boundary="------------vmxuHu0Xw2Jg0omKt5iQpA1Y";
 protected-headers="v1"
From: Teddy Astie <teddy.astie@vates.tech>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>
Message-ID: <dfa53176-dc5e-4759-869c-f49a9441d913@vates.tech>
Subject: Re: [PATCH 1/4] libxc: adjust string size calculations in
 xc_{,de,test_}assign_dt_device()
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
 <8adede4b-f25d-4a77-9fec-bd099119b005@suse.com>
In-Reply-To: <8adede4b-f25d-4a77-9fec-bd099119b005@suse.com>
Autocrypt-Gossip: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==

--------------vmxuHu0Xw2Jg0omKt5iQpA1Y
Content-Type: multipart/mixed; boundary="------------hpS6dVnLRAQ1ERI4hf5p2Tcd"

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

TGUgMTYvMDYvMjAyNiDDoCAxMTowMiwgSmFuIEJldWxpY2ggYSDDqWNyaXTCoDoNCj4gSW4g
cHJlcGFyYXRpb24gZm9yIGEgaHlwZXJ2aXNvciBjaGFuZ2UgYWxzbyBpbmNsdWRlIHRoZSBu
dWwgdGVybWluYXRvciBpbg0KPiB0aGUgc2l6ZSBjYWxjdWxhdGlvbnMuDQo+IA0KPiBTaWdu
ZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IA0KPiAtLS0g
YS90b29scy9saWJzL2N0cmwveGNfZG9tYWluLmMNCj4gKysrIGIvdG9vbHMvbGlicy9jdHJs
L3hjX2RvbWFpbi5jDQo+IEBAIC0xNTkyLDcgKzE1OTIsNyBAQCBpbnQgeGNfYXNzaWduX2R0
X2RldmljZSgNCj4gICAgICAgY2hhciAqcGF0aCkNCj4gICB7DQo+ICAgICAgIGludCByYzsN
Cj4gLSAgICBzaXplX3Qgc2l6ZSA9IHN0cmxlbihwYXRoKTsNCj4gKyAgICBzaXplX3Qgc2l6
ZSA9IHN0cmxlbihwYXRoKSArIDE7DQo+ICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsIGRvbWN0
bCA9IHt9Ow0KPiAgICAgICBERUNMQVJFX0hZUEVSQ0FMTF9CT1VOQ0UocGF0aCwgc2l6ZSwg
WENfSFlQRVJDQUxMX0JVRkZFUl9CT1VOQ0VfSU4pOw0KPiAgIA0KPiBAQCAtMTYyNCw3ICsx
NjI0LDcgQEAgaW50IHhjX3Rlc3RfYXNzaWduX2R0X2RldmljZSgNCj4gICAgICAgY2hhciAq
cGF0aCkNCj4gICB7DQo+ICAgICAgIGludCByYzsNCj4gLSAgICBzaXplX3Qgc2l6ZSA9IHN0
cmxlbihwYXRoKTsNCj4gKyAgICBzaXplX3Qgc2l6ZSA9IHN0cmxlbihwYXRoKSArIDE7DQo+
ICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsIGRvbWN0bCA9IHt9Ow0KPiAgICAgICBERUNMQVJF
X0hZUEVSQ0FMTF9CT1VOQ0UocGF0aCwgc2l6ZSwgWENfSFlQRVJDQUxMX0JVRkZFUl9CT1VO
Q0VfSU4pOw0KPiAgIA0KPiBAQCAtMTY1Miw3ICsxNjUyLDcgQEAgaW50IHhjX2RlYXNzaWdu
X2R0X2RldmljZSgNCj4gICAgICAgY2hhciAqcGF0aCkNCj4gICB7DQo+ICAgICAgIGludCBy
YzsNCj4gLSAgICBzaXplX3Qgc2l6ZSA9IHN0cmxlbihwYXRoKTsNCj4gKyAgICBzaXplX3Qg
c2l6ZSA9IHN0cmxlbihwYXRoKSArIDE7DQo+ICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsIGRv
bWN0bCA9IHt9Ow0KPiAgICAgICBERUNMQVJFX0hZUEVSQ0FMTF9CT1VOQ0UocGF0aCwgc2l6
ZSwgWENfSFlQRVJDQUxMX0JVRkZFUl9CT1VOQ0VfSU4pOw0KPiAgIA0KPiANCj4gDQoNClJl
dmlld2VkLWJ5OiBUZWRkeSBBc3RpZSA8dGVkZHkuYXN0aWVAdmF0ZXMudGVjaD4NCg0KVGVk
ZHkNCg==
--------------hpS6dVnLRAQ1ERI4hf5p2Tcd
Content-Type: application/pgp-keys; name="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Disposition: attachment; filename="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7L
TBVHV/XOZw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJ
T4ny+OGntnJntUoRKRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJA
WicutjkkUgd28Bh6HV9EIumHtCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO
8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaTVqMdqul07o72m3eA2mf+LMu9a04FX/d4
wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/EoucejoZ5SH49ksmVAmKOLkt
OaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+SPhHar7TPKjFz0G3D
PNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89MXfQXZ3q
t1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWj
moACGwMECwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNz
uyOVCskwfUZPla6Zpd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp
0x0HfuhcYfAYPR46XHTvjaJEv99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuR
OxdK8G+YHccJY8PvWSq2K2yiae2KGiAv1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50
wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhPeP3IdpfWc8cyRLXF06Rk46YM
YCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcTUwgnYlFRk2FLq0Qe
KEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9Egr/Wmu3
MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEM
AKiQiZa3yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ
3DbVf+en3/FvdVZg2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTm
etSG5/52AjtmPFtlXAk0NmLvfJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0
s3109sJeXT5ImVdphFs9cvyZyBT9t1PbRowv58EgV0zE4hbAeVkULAbxFV5b/ExT
jjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKbYu6NCfiHfEyB3Xyg9hfdrRgj
MRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ovXoK4jm+Py0FiUGUa
A6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/eVtR2Q1w
ZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWj
moACGwwACgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiV
oUiHYN5QwhnbZnsaJDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764Qxy
X6rld2f2RcWkDuBHun55ZWXjby8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk
/dS0XTOQi2wVUb17sW/+ybCEokdVacZGzOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fu
oGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+lOWSvdNHgoEkWR0RXBPQjnGm
LKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/OffO485NOTKwGOxyWb0
06cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR8ULR9nX0
LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
x9fhaZEsniw8/bYgC3igkk5YJiOa
=3DlUIA
-----END PGP PUBLIC KEY BLOCK-----

--------------hpS6dVnLRAQ1ERI4hf5p2Tcd--

--------------vmxuHu0Xw2Jg0omKt5iQpA1Y--

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

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

wsD5BAABCAAjFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmoxFLoFAwAAAAAACgkQZg+p0QLLz9CA
dgwAixZMrlc57gcWMlZOcZKYO9pf/3uVqIV+NE00M/YfInumhqdXVIOufiqkVw8qlZP2OXVMPcuA
RQwfLI0iKtWMFkLCSudM/QqBBzEUit0YgRCDIwfGQyylbhwmJamQ4IpY4Ho8YDLQhBKMcNRhQlEL
sbunD4IVyP1mV0SWfruyC9xBhCWFyEAvZiqgv0C+M8bXGkmtbujZAtK6RU7CzcMfSxzbT2icFwpc
kmKg8O1C4hNbjpcrMBp+Qk1SdF4deRavi1jCrc++Z2CKE1h/BHUMsLGOySMe12CPTK2OchUxt7Iu
5lkCjumO8Rym+8avXP6/EbyTEPp/qH9+eTNfVHqfL6J2ZWriJ/F49PUWTUKAWrpren8ltTdU22jA
jUKi70hADnVF3NSBfiFvz1avVHzrgxXl0cw2QnvvlkKCUAcWB8rvj9TPzOM3QzMS8LYFFMqTeKdC
KkubMPnDut/RY2QfBY8NXmeAfddF4mXASYjgbXJI/mZ0B06vXq6zH5n2CgDD
=WC5V
-----END PGP SIGNATURE-----

--------------N7AqxFM76sssjj7JNbI30IQ0--


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:19:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:19:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338890.1599964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPwo-0001FC-Gg; Tue, 16 Jun 2026 09:19:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338890.1599964; Tue, 16 Jun 2026 09:19: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 1wZPwo-0001F5-CZ; Tue, 16 Jun 2026 09:19:06 +0000
Received: by outflank-mailman (input) for mailman id 1338890;
 Tue, 16 Jun 2026 09:19:05 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wZPwn-0001Ec-Mc
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:19:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZPwm-008yMq-UT
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:19:04 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a311504-2eae-0a2a0a5409dd-0a2a4508c3f2-22
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:19:04 +0200
Received: from [209.85.218.44] (helo=mail-ej1-f44.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgross@suse.com>)
 id 6a311508-63b5-0a2a45080019-d155da2cbdf4-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:19:04 +0200
Received: by mail-ej1-f44.google.com with SMTP id
 a640c23a62f3a-bed19623d6eso552237066b.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 02:19:04 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bfdb910f89bsm618881666b.61.2026.06.16.02.19.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 02:19: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781601544; x=1782206344; 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=24GeNQKtA6+rcHxnHOjymJyEVdy1kIyYq61giJVGZzg=;
        b=Ntro8BUYptGqi3cuS0hy2+XDB6HO8XQBYcQzGEnWmRLY0Ua++zZgxBrXYjxg3fayQF
         Q7B6dHqb0zrN9qHYqBcrmXRT8h1EAsa3w80eB90vfnyWzysllG3ARAb6DET5KJ0aXqZx
         O1fI92Tq8XnjQQmLYEf/p7QaBmjAPPSSpt8/aG3Rm3/1K18bR1SrXrICYDPYUo//va2O
         yohoJ3i3qY94VrF3GPzvaTWS9eDHyUm0nsKXfL5RBAfVBNyGs7OPpuwPoQMJ6xt0r09i
         s5qqyfFQlR6CUlCSmSei78I/Q1sX2V0jGHdz+YlkPCwGuAQw8bEAiO8dsAGILmzR0/f9
         FXdg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781601544; x=1782206344;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=24GeNQKtA6+rcHxnHOjymJyEVdy1kIyYq61giJVGZzg=;
        b=rKVYU7uHc/bAAVIzQXVvZKBO9Ogzd5EiYh8QIRgaMyCAkR8ue5kQHmHbqqhUIC+fYs
         URVuUHnpAnLTep58vuNOlFZtOx5Jg/JxVPyaDVnbInSDLAii1S/sS2fR9Upr3GhfPpN+
         8SVgEAga1MADLiB47Rb1mScTTPIJlKxz8HTsfeYWOfkbbxLuF6YagSuHeZZe/m7QmkUL
         /CHHDnB3swuCKlwuKDFSRg4xobBIMLrHlfe5+OKmkT4MVAWgwh32aLwcqMf+CYNvxJkQ
         dvH3ggIPK2XAoXUQ9rpBYTDjDCo5UVqxWd4W5s55wwQYkpNOWXKKApbseS3mlkZFLAWA
         Zcfg==
X-Forwarded-Encrypted: i=1; AFNElJ8az7P8H8q9iM5JjEb01o3FZC3XSCgPCvBZpg2dHIyvKP/FRWTSDu9lj3m9+YZ7k9azErYkEd57QwQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxAi3bY8PbSPSxIhw0yu4ZP1AO2uq4FweNkBWhd7UUc2xAItPnM
	HJ7pI1zarZNMV9W8G9FQPp+2ElHtD/5xOaA049kNULsP6jwrPhqkFzbfuuf8uINEvpg=
X-Gm-Gg: Acq92OHVeN1GSxSaEBMnSIVmOLRah5TMpnAdkUh6Tz9wRiga87Drh4T0YqqRYh/UmoZ
	CpwDFEqFbb9mP0Xyp2LdsaOaDtrgDez06Bqf3EatVO3MNzFRAoMsMOFu7JbkWKXHn+BNst1tsyd
	mWaNLX5cRosMmFMAkcZ6sB8kGQ1cmAIey7JFzeJGHZDfEfawXgmTUzCozz+uoXOm4XQch2iT3n2
	CTSb4RV4PDQajWcOSJtVNZGz0QqB7SOdz3AhKbd9piecoo9YbKr+kDzutnXNsy4QGECIBTsIpme
	Tc0BoYKXtljP6XtWjgKDsLWz7EIxsvl8DlkCOUCk99YAxjSq+iDXYbw/OgeTCkQkKtw3JBodY2d
	lMD9HnoWiuEwESLhUEhpZJvszn5LuF/gFV9GBnJQSj7QGL5A/yfuSgBRoeULjJazxKh0Fk4RoTO
	OiwIJBJUiP6iBPRtc5BF4BSxNNbMYKSQh0gjYiI/kbzoH72wXOEZlhwdU4PZgdjnK5sbfkhlvxo
	GD+xN8maL9nCpTwlwfQLbGrI3ZQ67+bLvmEG7F3HxjQo1fs0/PymA==
X-Received: by 2002:a17:907:9447:b0:bec:929b:cedb with SMTP id a640c23a62f3a-bfe2bcb8bd4mr939661766b.46.1781601544330;
        Tue, 16 Jun 2026 02:19:04 -0700 (PDT)
Message-ID: <33cc1e9d-38c5-44b4-b25b-0f38b625d279@suse.com>
Date: Tue, 16 Jun 2026 11:19:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/4] libxc: drop size parameter from
 xc_flask_context_to_sid()
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
 <e2d95536-655d-4ce4-8170-e5be8f5baa99@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: <e2d95536-655d-4ce4-8170-e5be8f5baa99@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------s0oLXtDPzdAijqM82x1vqoBv"
X-purgate-ID: tlsNG-c1860d/1781601544-B7F7ADB1-F50ABB58/0/0
X-purgate-type: clean
X-purgate-size: 8669

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------s0oLXtDPzdAijqM82x1vqoBv
Content-Type: multipart/mixed; boundary="------------u0iSDoBF7TBtlY8b01XwoYqd";
 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>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>
Message-ID: <33cc1e9d-38c5-44b4-b25b-0f38b625d279@suse.com>
Subject: Re: [PATCH 2/4] libxc: drop size parameter from
 xc_flask_context_to_sid()
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
 <e2d95536-655d-4ce4-8170-e5be8f5baa99@suse.com>
In-Reply-To: <e2d95536-655d-4ce4-8170-e5be8f5baa99@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=

--------------u0iSDoBF7TBtlY8b01XwoYqd
Content-Type: multipart/mixed; boundary="------------d8kJ9OwrvxgnoMH0A7QzNM0G"

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

T24gMTYuMDYuMjYgMTE6MDEsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBOdWwtdGVybWluYXRl
ZCBzdHJpbmdzIGFyZSBwYXNzZWQgaW4gYWxsIGNhc2VzLCBzbyB0aGUgc3RybGVuKCkgY2Fu
IHZlcnkNCj4gd2VsbCBiZSBpbnZva2VkIGJ5IHRoZSBmdW5jdGlvbiBpdHNlbGYuIEluIHBy
ZXBhcmF0aW9uIGZvciBhIGh5cGVydmlzb3INCj4gY2hhbmdlIGFsc28gaW5jbHVkZSB0aGUg
bnVsIHRlcm1pbmF0b3IgaW4gdGhlIHNpemUgY2FsY3VsYXRpb24uDQo+IA0KPiBTaWduZWQt
b2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IC0tLQ0KPiBJZGVh
bGx5IGxpYnhsX2ZsYXNrX2NvbnRleHRfdG9fc2lkKCkgd291bGQgZm9sbG93IHN1aXQsIGJ1
dCBhaXVpIGRvaW5nIHNvDQo+IHdvdWxkIGJyZWFrIGl0cyAoc3RhYmxlKSBBQkkuDQoNCllv
dSBjb3VsZCB1c2UgTElCWExfQVBJX1ZFUlNJT04gaW4gbGlieGwuaCB0byBtb2RpZnkgdGhl
IGludGVyZmFjZSBmb3IgbmV3DQpsaWJ4bCB2ZXJzaW9ucy4gU2VlIGhvdyBpdCBpcyBkb25l
IGUuZy4gZm9yIGxpYnhsX2RvbWFpbl9jcmVhdGVfcmVzdG9yZSgpLg0KDQpOb3RlIHRoYXQg
dGhlIEFCSSBvZiBsaWJ4bCBpc24ndCBzdGFibGUsIG9ubHkgdGhlIEFQSSBpcyAod2hpY2gg
aXMgZmFyIGZyb20NCmlkZWFsLCBidXQgT1RPSCBpdCBpcyB0aGUgY3VycmVudCByZWFsaXR5
KS4NCg0KDQpKdWVyZ2VuDQo=
--------------d8kJ9OwrvxgnoMH0A7QzNM0G
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-----

--------------d8kJ9OwrvxgnoMH0A7QzNM0G--

--------------u0iSDoBF7TBtlY8b01XwoYqd--

--------------s0oLXtDPzdAijqM82x1vqoBv
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/Ey8FAmoxFQcFAwAAAAAACgkQsN6d1ii/Ey8R
PAgAgDXxNjoUFALlm6g8AGUqSiVfQc3h6Fov35hMU8i0WBQtnaOTdo1onMEzoXIiC6sV/5xD+5EH
lCia5kGzI+grAJtvXhVlQMJR/Xgwv79eA4rMX1LlOInTo0YT9AgAIMQRVuh5tAmM0tiSuwdTK9di
zPF64nTfbOcV9/ipLhhkRp793Jw84nEBZuGfoYEk+Mv51sPUsM6+QAxmGRIVsf6sSr2hlpJAP+u2
kTU65LJDGtvzmI8RoXgpdVqVx33kyM4NvhvOP9WNbROeK1BMXF2DjBdYxevMhbWweOK/wSzsnCVX
AXleFxAtRt1EgmOrHt/QC8xgWBDNfykFFnS8KUsLiw==
=moC2
-----END PGP SIGNATURE-----

--------------s0oLXtDPzdAijqM82x1vqoBv--


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:19:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:19:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338897.1599972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPxI-0001k3-RV; Tue, 16 Jun 2026 09:19:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338897.1599972; Tue, 16 Jun 2026 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 1wZPxI-0001jw-Ob; Tue, 16 Jun 2026 09:19:36 +0000
Received: by outflank-mailman (input) for mailman id 1338897;
 Tue, 16 Jun 2026 09:19:35 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wZPxH-0001iC-51
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:19:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZPxG-004y84-Hk
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:19:34 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a31151f-5cb7-0a2a0a5109dd-0a2a4501d5fe-44
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:19:34 +0200
Received: from [209.85.208.46] (helo=mail-ed1-f46.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgross@suse.com>)
 id 6a311526-c1f2-0a2a45010019-d155d02eb82c-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:19:34 +0200
Received: by mail-ed1-f46.google.com with SMTP id
 4fb4d7f45d1cf-68c1630159bso4591062a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 02:19:34 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-693ab54e6e5sm4034052a12.1.2026.06.16.02.19.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 02:19: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781601574; x=1782206374; 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=bVg4rpaPmkjNw5Nwz00qCaUf8LLWe+qn6n3daWhJshI=;
        b=TkUBmHlgPQgudVMz4M1ZDUkIqj/1mx/XEyWPaP5MQQNu03jlAwPx+EO7gP+k36A4VU
         wkZ/i0+xvz5AlypqtjH3/VaXAEltnMEyXsh77HtJKn8b5Ziy8rk6zEsqP3UwEUwEtvRW
         UIxhYaItP4iZhupZdleriM3e8yAc+rlkDw42j7Y6FBwcvFZDWNu1UrIOgQVt8myD9c8f
         4GWy/rYntXOW4CqsD9005AmdoT5sHCLweb6gEIvdi5YQ5m3buKdjUeClUyvc0PzPlDz8
         ILJ4BPhvcFLDOKrx6ZvItFfp/wlaS/AUTIeqxS6oMPKHD9+qw/tmmru3IC+ILlUnn8mJ
         u9XQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781601574; x=1782206374;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=bVg4rpaPmkjNw5Nwz00qCaUf8LLWe+qn6n3daWhJshI=;
        b=D813tenY0Zty428kHR3eUZhsenyIFQQZngSgzRiqY6xD8Ph9Cvl4F75I7x2n++/0jY
         DUkz71rGFR1QC/n3aTtqwTVRB5kMn2BThc5nbmJjvZ1jYJnp2vDCxHGeyw9tTVYfrqIZ
         6rLW6ReXy1FGl1C2sU+zZo4Kik+EGRF2R/m06As6NBxDBRPBHEPTk1xXt78SYxFHPpiz
         epWcOVT7iOzs1d3vKAvxL1Zmsu/EseALzmYjuAHJJBUq74n3bQKVwQ8uDB9bpS6pzPtX
         EFLHcSpBnvaNwm0IFA6XqEO+btK+5MsY3131IAB639CstwVMcklcRYYUOz+r1RicDjpv
         e/xA==
X-Forwarded-Encrypted: i=1; AFNElJ+0w3+0suZ7GTZ/7dOGSPmn10HeQPpaIQ4uoo+1AMMX/6e4sVQWda2iJ5AYVR2qNEu2bF/YRCuXWek=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxuBrJOt0RKDORyu4Z/SI8k6S3si+EhnCvXcySvv6ap1FD0qt1v
	w+/qA11VRmngbd8bhg6Kd0ynK6vVvKW+9NpgwRMzTcKk8UWinNhf/5ixw1wnnaP8egku6TW45bw
	3HU8YAwI=
X-Gm-Gg: Acq92OEyMV8cTg8SQaE6fZimQr/nDipelBCPKjvP9Yt+A3kFfuBY5uZoYN1BAxrBl9B
	9+jXt+Ex/6rGXVfYp3ktHISklDnWEiLop0Z7sdD03d9Ui0Z2ZKWiBtCXd3UmdPORu8joLpSdNhI
	765SeDS6zlnkcIxREEOBcKwBoL0Q/8wbKrAO1sC326B03VkMym+FrqHGuK9tA6jd29G5yTxhbU1
	5AMWX9LLKyA5vdBIhtUliHMOT+ZEZ0xpb1I0xxZEuTnUgNukcmrVCNXV+OJLmCb8s0D+xKtjVAP
	jg59PmLa4BI3nRJjfN1OcDKWMZQjbgzKQ4PhVLyPT2hDKvBRflohA/ofr3iqxfXKv5QA7AVxBvI
	q7GE6+sXd7EsWXGStq86Nhaici0g3g/9lAasHROrkJmxI7kQAhe4Jc8Us1ZulSK3M1MB/wxSsg1
	SKyMsBWtpbpUbCPSgPtu4pfn4bylhMjYel3iBLncJWJ6C9BV4m075VUNNzF40F+vQtK07sU1+AK
	e+P03IIPacFCkRLzV+w6qHSFF9G0q2xfoVxbILR5IbR+XT9jutBiQbYQ1xD2nSr
X-Received: by 2002:a05:6402:a50a:20b0:695:873:b215 with SMTP id 4fb4d7f45d1cf-6950873b38emr874828a12.20.1781601573737;
        Tue, 16 Jun 2026 02:19:33 -0700 (PDT)
Message-ID: <886b5595-b880-4ea2-bb01-f3379b50f91e@suse.com>
Date: Tue, 16 Jun 2026 11:19:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/4] libxc: adjust string size calculations in
 xc_{,de,test_}assign_dt_device()
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
 <8adede4b-f25d-4a77-9fec-bd099119b005@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: <8adede4b-f25d-4a77-9fec-bd099119b005@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Oy0SSBVdRarB9Xe5q4IA6C6S"
X-purgate-ID: tlsNG-d62444/1781601574-B4B4EFF4-A865ABB3/0/0
X-purgate-type: clean
X-purgate-size: 7949

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Oy0SSBVdRarB9Xe5q4IA6C6S
Content-Type: multipart/mixed; boundary="------------0MCOXaT0IuWGR0Y4h8yLeoeF";
 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: <886b5595-b880-4ea2-bb01-f3379b50f91e@suse.com>
Subject: Re: [PATCH 1/4] libxc: adjust string size calculations in
 xc_{,de,test_}assign_dt_device()
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
 <8adede4b-f25d-4a77-9fec-bd099119b005@suse.com>
In-Reply-To: <8adede4b-f25d-4a77-9fec-bd099119b005@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=

--------------0MCOXaT0IuWGR0Y4h8yLeoeF
Content-Type: multipart/mixed; boundary="------------XVEDfy0HmUaNiwIoCteuOvVj"

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

T24gMTYuMDYuMjYgMTE6MDAsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBJbiBwcmVwYXJhdGlv
biBmb3IgYSBoeXBlcnZpc29yIGNoYW5nZSBhbHNvIGluY2x1ZGUgdGhlIG51bCB0ZXJtaW5h
dG9yIGluDQo+IHRoZSBzaXplIGNhbGN1bGF0aW9ucy4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6
IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KUmV2aWV3ZWQtYnk6IEp1ZXJn
ZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCg0KDQpKdWVyZ2VuDQo=
--------------XVEDfy0HmUaNiwIoCteuOvVj
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-----

--------------XVEDfy0HmUaNiwIoCteuOvVj--

--------------0MCOXaT0IuWGR0Y4h8yLeoeF--

--------------Oy0SSBVdRarB9Xe5q4IA6C6S
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/Ey8FAmoxFSUFAwAAAAAACgkQsN6d1ii/Ey8x
Pwf+I6hWL6mthusUaJRH5bHzEbgo2ew19rcRq32hm7UwUga4sm1isGtXOmrQReKblJ0fOCLl0kG/
K8SsebpXmgopSVMOB6njKymC3eWP32pRKglwBnuF0HYJQg4C0WV7bcK1gLHVKVHqOOfvPZhPv7ar
mKuGH0tunlKjNeIweMMxi4GFIN1tCtSBr9hYe6vqB6RAOIJWF5WU1/AqtJzsl/AE1ue/l+izUMn8
pAXRL2dDa8pMU7mE9GY0xSExZEApuQlx32DQpfdZq5CC7aME/z+DcbpEMzYtdwbFoOM82WuTA3g9
zxXda17+SvUaPloux8ow6OxC8dZLxmVZcrUQfR+0aw==
=c3bJ
-----END PGP SIGNATURE-----

--------------Oy0SSBVdRarB9Xe5q4IA6C6S--


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:20:58 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:20:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338905.1599982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPya-0003FG-49; Tue, 16 Jun 2026 09:20:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338905.1599982; Tue, 16 Jun 2026 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 1wZPya-0003F9-1J; Tue, 16 Jun 2026 09:20:56 +0000
Received: by outflank-mailman (input) for mailman id 1338905;
 Tue, 16 Jun 2026 09:20:54 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ecfbbc702000701b@swg.vates.tech>)
 id 1wZPyY-0003Et-JK
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:20:54 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZPyX-005FzJ-GP
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:20:53 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ecfbbc702000701b@swg.vates.tech>)
 id 6a311574-e002-0a2a0a5209dd-0a2a4508b192-6
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:20:53 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ecfbbc702000701b@swg.vates.tech>)
 id 6a311575-63b5-0a2a45080019-b9ff1c12a5e5-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:20:53 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ecfbbc702000701b.003 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 16 Jun 2026 09:20:50 +0000
Received: from [192.168.1.18] (88-188-240-210.subs.proxad.net [88.188.240.210])
 (Authenticated sender: teddy.astie)
 by mail2.vates.fr (Postfix) with ESMTPSA id A434082DF7;
 Tue, 16 Jun 2026 11:20:49 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=y8HSdR9pp623a1LAq9JQbwaUudFVyHZnzuLdZg9tJ4g=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=rT93quT6jZeczeILvrcR/GgDwu5yZkmXiZeFC5ZEosbNxEY5xsO7Rs5TChABM/0imRvYHtECT
 iNt6kiRnwPW1HhBBbCNRZTEq0DdGFPejTtaa2RUnsw77+P0zp7+u+MApNd5wsM1ArkdHHowzVRP
 /fYAES7I5cxlN+gKBsqv5uemZ/Z8POgWGjGsF53wn9xqMaCs/xVB9y0AWEphSJsCoiyzPWKo2f3
 IM9ni76cvt71kTwRMLeBrFr+erM8DQgCTnxjnBIUz+MqHnTQlXInfROiCrYgdQQYb0D9q4Kcxg8
 fivu+BAHpXMHGvXs0KbmD9/Fbn9t1x8+2il79BMENYLw==
X-Zone-Loop: b1f203287ea06d63cc2d3864361dea310dec6ae64717
x-campaign-type: default
x-transaction-id: 375d9200-daf7-4a5f-9aa4-5f6e85a11634
x-swg-uid: 01-5f57ca30-9fbd-4d0e-8f86-013cee3577b4
X-Mailer: Sweego
Message-ID:
 <1781601650.8631fc262581453bbf619ec5b2062170.19ecfbbc702000701b@vates.tech>
x-swg-bid: 1781601650.8631fc262581453bbf619ec5b2062170.19ecfbbc702000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Tue, 16 Jun 2026 11:20:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/4] libxc: drop size parameter from
 xc_flask_context_to_sid()
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, Daniel Smith
 <dpsmith@apertussolutions.com>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
 <e2d95536-655d-4ce4-8170-e5be8f5baa99@suse.com>
Content-Language: en-US
From: Teddy Astie <teddy.astie@vates.tech>
Autocrypt: addr=teddy.astie@vates.tech; keydata=
 xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7LTBVHV/XO
 Zw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJT4ny+OGntnJntUoR
 KRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJAWicutjkkUgd28Bh6HV9EIumH
 tCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaT
 VqMdqul07o72m3eA2mf+LMu9a04FX/d4wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/
 EoucejoZ5SH49ksmVAmKOLktOaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+S
 PhHar7TPKjFz0G3DPNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89
 MXfQXZ3qt1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
 LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWjmoACGwME
 CwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNzuyOVCskwfUZPla6Z
 pd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp0x0HfuhcYfAYPR46XHTvjaJE
 v99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuROxdK8G+YHccJY8PvWSq2K2yiae2KGiAv
 1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhP
 eP3IdpfWc8cyRLXF06Rk46YMYCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcT
 UwgnYlFRk2FLq0QeKEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9
 Egr/Wmu3MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
 f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEMAKiQiZa3
 yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ3DbVf+en3/FvdVZg
 2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTmetSG5/52AjtmPFtlXAk0NmLv
 fJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0s3109sJeXT5ImVdphFs9cvyZyBT9t1Pb
 Rowv58EgV0zE4hbAeVkULAbxFV5b/ExTjjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKb
 Yu6NCfiHfEyB3Xyg9hfdrRgjMRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ov
 XoK4jm+Py0FiUGUaA6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/
 eVtR2Q1wZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
 IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWjmoACGwwA
 CgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiVoUiHYN5QwhnbZnsa
 JDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764QxyX6rld2f2RcWkDuBHun55ZWXj
 by8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk/dS0XTOQi2wVUb17sW/+ybCEokdVacZG
 zOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fuoGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+
 lOWSvdNHgoEkWR0RXBPQjnGmLKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/Off
 O485NOTKwGOxyWb006cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR
 8ULR9nX0LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
 x9fhaZEsniw8/bYgC3igkk5YJiOa
In-Reply-To: <e2d95536-655d-4ce4-8170-e5be8f5baa99@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------IFcwSYLC3cNoDRuJSqJ9lOsp"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781601649895
X-purgate-ID: tlsNG-c1860d/1781601653-BC567DB1-40FB9E7A/0/0
X-purgate-type: clean
X-purgate-size: 11976

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------IFcwSYLC3cNoDRuJSqJ9lOsp
Content-Type: multipart/mixed; boundary="------------Pwtw3jErIieSPFPYAPaWSd2a";
 protected-headers="v1"
From: Teddy Astie <teddy.astie@vates.tech>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, Daniel Smith
 <dpsmith@apertussolutions.com>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>
Message-ID: <d0acddd8-1203-46cf-acab-fb0cfc8ca027@vates.tech>
Subject: Re: [PATCH 2/4] libxc: drop size parameter from
 xc_flask_context_to_sid()
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
 <e2d95536-655d-4ce4-8170-e5be8f5baa99@suse.com>
In-Reply-To: <e2d95536-655d-4ce4-8170-e5be8f5baa99@suse.com>
Autocrypt-Gossip: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==

--------------Pwtw3jErIieSPFPYAPaWSd2a
Content-Type: multipart/mixed; boundary="------------gCQBHcE2z2KDeHjXHDRDdnjR"

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

TGUgMTYvMDYvMjAyNiDDoCAxMTowMywgSmFuIEJldWxpY2ggYSDDqWNyaXTCoDoNCj4gTnVs
LXRlcm1pbmF0ZWQgc3RyaW5ncyBhcmUgcGFzc2VkIGluIGFsbCBjYXNlcywgc28gdGhlIHN0
cmxlbigpIGNhbiB2ZXJ5DQo+IHdlbGwgYmUgaW52b2tlZCBieSB0aGUgZnVuY3Rpb24gaXRz
ZWxmLiBJbiBwcmVwYXJhdGlvbiBmb3IgYSBoeXBlcnZpc29yDQo+IGNoYW5nZSBhbHNvIGlu
Y2x1ZGUgdGhlIG51bCB0ZXJtaW5hdG9yIGluIHRoZSBzaXplIGNhbGN1bGF0aW9uLg0KPiAN
Cj4gU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiAt
LS0NCj4gSWRlYWxseSBsaWJ4bF9mbGFza19jb250ZXh0X3RvX3NpZCgpIHdvdWxkIGZvbGxv
dyBzdWl0LCBidXQgYWl1aSBkb2luZyBzbw0KPiB3b3VsZCBicmVhayBpdHMgKHN0YWJsZSkg
QUJJLg0KPiANCj4gT2YgY291cnNlIHRoZSBjYXN0cyBpbiB4Y19mbGFza19hY2Nlc3MoKSBh
cmUgc3VzcGljaW91cy4NCj4gDQo+IC0tLSBhL3Rvb2xzL2hlbHBlcnMvaW5pdC14ZW5zdG9y
ZS1kb21haW4uYw0KPiArKysgYi90b29scy9oZWxwZXJzL2luaXQteGVuc3RvcmUtZG9tYWlu
LmMNCj4gQEAgLTEwOCw3ICsxMDgsNyBAQCBzdGF0aWMgaW50IGJ1aWxkKHhjX2ludGVyZmFj
ZSAqeGNoKQ0KPiAgIA0KPiAgICAgICBpZiAoIGZsYXNrICkNCj4gICAgICAgew0KPiAtICAg
ICAgICBydiA9IHhjX2ZsYXNrX2NvbnRleHRfdG9fc2lkKHhjaCwgZmxhc2ssIHN0cmxlbihm
bGFzayksICZjb25maWcuc3NpZHJlZik7DQo+ICsgICAgICAgIHJ2ID0geGNfZmxhc2tfY29u
dGV4dF90b19zaWQoeGNoLCBmbGFzaywgJmNvbmZpZy5zc2lkcmVmKTsNCj4gICAgICAgICAg
IGlmICggcnYgKQ0KPiAgICAgICAgICAgew0KPiAgICAgICAgICAgICAgIGZwcmludGYoc3Rk
ZXJyLCAieGNfZmxhc2tfY29udGV4dF90b19zaWQgZmFpbGVkXG4iKTsNCj4gLS0tIGEvdG9v
bHMvaW5jbHVkZS94ZW5jdHJsLmgNCj4gKysrIGIvdG9vbHMvaW5jbHVkZS94ZW5jdHJsLmgN
Cj4gQEAgLTIzNzIsNyArMjM3Miw3IEBAIGxvbmcgeGNfc2hhcmluZ191c2VkX2ZyYW1lcyh4
Y19pbnRlcmZhY2UNCj4gICAvKioqIEVuZCBzaGFyaW5nIGludGVyZmFjZSAqKiovDQo+ICAg
DQo+ICAgaW50IHhjX2ZsYXNrX2xvYWQoeGNfaW50ZXJmYWNlICp4Y19oYW5kbGUsIGNoYXIg
KmJ1ZiwgdWludDMyX3Qgc2l6ZSk7DQo+IC1pbnQgeGNfZmxhc2tfY29udGV4dF90b19zaWQo
eGNfaW50ZXJmYWNlICp4Y19oYW5kbGUsIGNoYXIgKmJ1ZiwgdWludDMyX3Qgc2l6ZSwgdWlu
dDMyX3QgKnNpZCk7DQo+ICtpbnQgeGNfZmxhc2tfY29udGV4dF90b19zaWQoeGNfaW50ZXJm
YWNlICp4Y19oYW5kbGUsIGNoYXIgKmJ1ZiwgdWludDMyX3QgKnNpZCk7DQo+ICAgaW50IHhj
X2ZsYXNrX3NpZF90b19jb250ZXh0KHhjX2ludGVyZmFjZSAqeGNfaGFuZGxlLCBpbnQgc2lk
LCBjaGFyICpidWYsIHVpbnQzMl90IHNpemUpOw0KPiAgIGludCB4Y19mbGFza19nZXRlbmZv
cmNlKHhjX2ludGVyZmFjZSAqeGNfaGFuZGxlKTsNCj4gICBpbnQgeGNfZmxhc2tfc2V0ZW5m
b3JjZSh4Y19pbnRlcmZhY2UgKnhjX2hhbmRsZSwgaW50IG1vZGUpOw0KPiAtLS0gYS90b29s
cy9saWJzL2N0cmwveGNfZmxhc2suYw0KPiArKysgYi90b29scy9saWJzL2N0cmwveGNfZmxh
c2suYw0KPiBAQCAtODMsMTAgKzgzLDExIEBAIGludCB4Y19mbGFza19sb2FkKHhjX2ludGVy
ZmFjZSAqeGNoLCBjaGENCj4gICAgICAgcmV0dXJuIGVycjsNCj4gICB9DQo+ICAgDQo+IC1p
bnQgeGNfZmxhc2tfY29udGV4dF90b19zaWQoeGNfaW50ZXJmYWNlICp4Y2gsIGNoYXIgKmJ1
ZiwgdWludDMyX3Qgc2l6ZSwgdWludDMyX3QgKnNpZCkNCj4gK2ludCB4Y19mbGFza19jb250
ZXh0X3RvX3NpZCh4Y19pbnRlcmZhY2UgKnhjaCwgY2hhciAqYnVmLCB1aW50MzJfdCAqc2lk
KQ0KPiAgIHsNCj4gICAgICAgaW50IGVycjsNCj4gICAgICAgc3RydWN0IHhlbl9mbGFza19v
cCBvcCA9IHt9Ow0KPiArICAgIHNpemVfdCBzaXplID0gc3RybGVuKGJ1ZikgKyAxOw0KPiAg
ICAgICBERUNMQVJFX0hZUEVSQ0FMTF9CT1VOQ0UoYnVmLCBzaXplLCBYQ19IWVBFUkNBTExf
QlVGRkVSX0JPVU5DRV9JTik7DQo+ICAgDQo+ICAgICAgIGlmICggeGNfaHlwZXJjYWxsX2Jv
dW5jZV9wcmUoeGNoLCBidWYpICkNCj4gQEAgLTI0Nyw3ICsyNDgsNyBAQCBzdGF0aWMgaW50
IHhjX2ZsYXNrX2FkZCh4Y19pbnRlcmZhY2UgKnhjDQo+ICAgICAgIGludCBlcnI7DQo+ICAg
ICAgIHN0cnVjdCB4ZW5fZmxhc2tfb3Agb3AgPSB7fTsNCj4gICANCj4gLSAgICBlcnIgPSB4
Y19mbGFza19jb250ZXh0X3RvX3NpZCh4Y2gsIHNjb250ZXh0LCBzdHJsZW4oc2NvbnRleHQp
LCAmc2lkKTsNCj4gKyAgICBlcnIgPSB4Y19mbGFza19jb250ZXh0X3RvX3NpZCh4Y2gsIHNj
b250ZXh0LCAmc2lkKTsNCj4gICAgICAgaWYgKCBlcnIgKQ0KPiAgICAgICAgICAgcmV0dXJu
IGVycjsNCj4gICANCj4gQEAgLTMyMywxMCArMzI0LDEwIEBAIGludCB4Y19mbGFza19hY2Nl
c3MoeGNfaW50ZXJmYWNlICp4Y2gsIGMNCj4gICAgICAgc3RydWN0IHhlbl9mbGFza19vcCBv
cCA9IHt9Ow0KPiAgICAgICBpbnQgZXJyOw0KPiAgIA0KPiAtICAgIGVyciA9IHhjX2ZsYXNr
X2NvbnRleHRfdG9fc2lkKHhjaCwgKGNoYXIqKXNjb24sIHN0cmxlbihzY29uKSwgJm9wLnUu
YWNjZXNzLnNzaWQpOw0KPiArICAgIGVyciA9IHhjX2ZsYXNrX2NvbnRleHRfdG9fc2lkKHhj
aCwgKGNoYXIqKXNjb24sICZvcC51LmFjY2Vzcy5zc2lkKTsNCj4gICAgICAgaWYgKCBlcnIg
KQ0KPiAgICAgICAgICAgcmV0dXJuIGVycjsNCj4gLSAgICBlcnIgPSB4Y19mbGFza19jb250
ZXh0X3RvX3NpZCh4Y2gsIChjaGFyKil0Y29uLCBzdHJsZW4odGNvbiksICZvcC51LmFjY2Vz
cy50c2lkKTsNCj4gKyAgICBlcnIgPSB4Y19mbGFza19jb250ZXh0X3RvX3NpZCh4Y2gsIChj
aGFyKil0Y29uLCAmb3AudS5hY2Nlc3MudHNpZCk7DQo+ICAgICAgIGlmICggZXJyICkNCj4g
ICAgICAgICAgIHJldHVybiBlcnI7DQo+ICAgDQo+IC0tLSBhL3Rvb2xzL2xpYnMvbGlnaHQv
bGlieGxfZmxhc2suYw0KPiArKysgYi90b29scy9saWJzL2xpZ2h0L2xpYnhsX2ZsYXNrLmMN
Cj4gQEAgLTIxLDcgKzIxLDggQEAgaW50IGxpYnhsX2ZsYXNrX2NvbnRleHRfdG9fc2lkKGxp
YnhsX2N0eA0KPiAgIHsNCj4gICAgICAgaW50IHJjOw0KPiAgIA0KPiAtICAgIHJjID0geGNf
Zmxhc2tfY29udGV4dF90b19zaWQoY3R4LT54Y2gsIGJ1ZiwgbGVuLCBzc2lkcmVmKTsNCj4g
KyAgICBhc3NlcnQobGVuID09IHN0cmxlbihidWYpKTsNCj4gKyAgICByYyA9IHhjX2ZsYXNr
X2NvbnRleHRfdG9fc2lkKGN0eC0+eGNoLCBidWYsIHNzaWRyZWYpOw0KPiAgIA0KPiAgICAg
ICByZXR1cm4gcmM7DQo+ICAgfQ0KPiAtLS0gYS90b29scy9weXRob24veGVuL2xvd2xldmVs
L3hjL3hjLmMNCj4gKysrIGIvdG9vbHMvcHl0aG9uL3hlbi9sb3dsZXZlbC94Yy94Yy5jDQo+
IEBAIC0xNzU0LDcgKzE3NTQsNyBAQCBzdGF0aWMgUHlPYmplY3QgKnB5Zmxhc2tfY29udGV4
dF90b19zaWQoDQo+ICAgICAgICAgICByZXR1cm4gUHlFcnJfU2V0RnJvbUVycm5vKHhjX2Vy
cm9yX29iaik7DQo+ICAgICAgIH0NCj4gICANCj4gLSAgICByZXQgPSB4Y19mbGFza19jb250
ZXh0X3RvX3NpZCh4Y19oYW5kbGUsIGN0eCwgc3RybGVuKGN0eCksICZzaWQpOw0KPiArICAg
IHJldCA9IHhjX2ZsYXNrX2NvbnRleHRfdG9fc2lkKHhjX2hhbmRsZSwgY3R4LCAmc2lkKTsN
Cj4gICANCj4gICAgICAgeGNfaW50ZXJmYWNlX2Nsb3NlKHhjX2hhbmRsZSk7DQo+ICAgDQo+
IA0KPiANCg0KUmV2aWV3ZWQtYnk6IFRlZGR5IEFzdGllIDx0ZWRkeS5hc3RpZUB2YXRlcy50
ZWNoPg0KDQpUZWRkeQ0K
--------------gCQBHcE2z2KDeHjXHDRDdnjR
Content-Type: application/pgp-keys; name="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Disposition: attachment; filename="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7L
TBVHV/XOZw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJ
T4ny+OGntnJntUoRKRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJA
WicutjkkUgd28Bh6HV9EIumHtCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO
8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaTVqMdqul07o72m3eA2mf+LMu9a04FX/d4
wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/EoucejoZ5SH49ksmVAmKOLkt
OaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+SPhHar7TPKjFz0G3D
PNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89MXfQXZ3q
t1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWj
moACGwMECwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNz
uyOVCskwfUZPla6Zpd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp
0x0HfuhcYfAYPR46XHTvjaJEv99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuR
OxdK8G+YHccJY8PvWSq2K2yiae2KGiAv1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50
wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhPeP3IdpfWc8cyRLXF06Rk46YM
YCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcTUwgnYlFRk2FLq0Qe
KEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9Egr/Wmu3
MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEM
AKiQiZa3yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ
3DbVf+en3/FvdVZg2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTm
etSG5/52AjtmPFtlXAk0NmLvfJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0
s3109sJeXT5ImVdphFs9cvyZyBT9t1PbRowv58EgV0zE4hbAeVkULAbxFV5b/ExT
jjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKbYu6NCfiHfEyB3Xyg9hfdrRgj
MRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ovXoK4jm+Py0FiUGUa
A6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/eVtR2Q1w
ZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWj
moACGwwACgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiV
oUiHYN5QwhnbZnsaJDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764Qxy
X6rld2f2RcWkDuBHun55ZWXjby8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk
/dS0XTOQi2wVUb17sW/+ybCEokdVacZGzOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fu
oGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+lOWSvdNHgoEkWR0RXBPQjnGm
LKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/OffO485NOTKwGOxyWb0
06cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR8ULR9nX0
LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
x9fhaZEsniw8/bYgC3igkk5YJiOa
=3DlUIA
-----END PGP PUBLIC KEY BLOCK-----

--------------gCQBHcE2z2KDeHjXHDRDdnjR--

--------------Pwtw3jErIieSPFPYAPaWSd2a--

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

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

wsD5BAABCAAjFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmoxFXEFAwAAAAAACgkQZg+p0QLLz9Ci
1Av/a/J/G27LMEOJoDSn1M/kT8xFwpmFisg2EuO/9G7/MZjQyzu3FiYvOHq9ZNwPU0RSk/JYiQUR
jZUqESGZmvm0ROtxBNb3P560t6exjfKmU2XUmdtV5kGHvu3ag6sKFGUrewdmO4jmPxem847KDqll
sum6xRtKjV1F3vzrWuezZNvHuHoSSHQSLynA2b5CsVZJjadpM7c3d8CvKGzypqw7g/8+nn6jykJq
5vU07eISjr5u2IHuxVGWIORFSyxilD8mrAynFF4d/3GErr8LWUl+5FJ8C9umQrOEpH8pez9lvYTa
JxwmU1LtGptFJsVzGYOW9N+fXS1jHpHFafgl9LmIjwcL+CIC1UyIsxVRmz/gOHRZ++JNxYbto5IP
1varMi/vs3JLASmiW52QPtCFXgz6t6c9ABgNK73GOtbP7jxBbor2tPYwLkLC1xFy3zQJcrHcXtlu
5u2esoHg9TqVnIt+9Qn9uimPLbHtrcF5JK/2vALmrzPnRaQTfsV4C8AERtSz
=YVZF
-----END PGP SIGNATURE-----

--------------IFcwSYLC3cNoDRuJSqJ9lOsp--


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:21:13 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:21:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338907.1599991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPyr-0003ab-HO; Tue, 16 Jun 2026 09:21:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338907.1599991; Tue, 16 Jun 2026 09: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 1wZPyr-0003aU-D2; Tue, 16 Jun 2026 09:21:13 +0000
Received: by outflank-mailman (input) for mailman id 1338907;
 Tue, 16 Jun 2026 09:21:12 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wZPyq-0003Zz-NJ
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:21:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZPyq-0033LY-3x
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:21:12 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a311575-5cb7-0a2a0a5109dd-0a2a45048068-48
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:21:12 +0200
Received: from [209.85.208.42] (helo=mail-ed1-f42.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgross@suse.com>)
 id 6a311587-1dec-0a2a45040019-d155d02ae4b3-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:21:11 +0200
Received: by mail-ed1-f42.google.com with SMTP id
 4fb4d7f45d1cf-68ced97b6eeso6724918a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 02:21:11 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-6937919b54asm4793778a12.3.2026.06.16.02.21.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 02:21: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781601671; x=1782206471; 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=hhfXjEbvESnqmbVViZ8q+eeabuLUKxKGMyJXWI+3EE8=;
        b=NeBJ9biM4GLTqOP5geSt0zY7dz0VhEU4+shiSx8Reply3J0KvB7y70w2meGlJbVUD6
         Vxg23NGI2kQFSLH4yHdcxdQyjsjYlKcs+PIIpTJYtWsgtnYNYfP2f6WVJXXADz/ry/GS
         1leNLR1nJXCh72WwYPHT0DTVYwSJdZQhwwTWT/FI67AmKXTFDsepCgQQSAsEqtz/PLBu
         b8IX+FKQQ0cupZajp0W+P6ivN0Y1eLTLwdTK8b6neFP54Cpq1DX5ea3IGmiHu8aE7Cy3
         EHcvpOO6Co8FY9tcY4k2wChQcq9ZSrnia7HtP+N3M6it8ekzVpKcmVxAmQ2eRl3dZOTB
         ehKw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781601671; x=1782206471;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=hhfXjEbvESnqmbVViZ8q+eeabuLUKxKGMyJXWI+3EE8=;
        b=ljwSpfUYbA8GzzbwfDeSLcIT8XSpMEDN8OGCjOAc1c9fck4EQ7VEs5T6PB/R94onHU
         cIG83OooCEFaQoreRQkw1T4emtMcO5HVE5H+3XbkvZ8b8Y5xGOsAQIjyAXxZp2/gILdQ
         swchD3WEX3U/2beBgn011an1KATmgl3WVr4fJnWSDZn7e0pZnuEfZxlWgTMWGdqokF0G
         FLuwubnyfry0zduY3kZ1IwRwB5YmWKi+GZH+eKqclGVYnHXKOSYS0GOtGtJajApISHUQ
         slMF5KcuI15PqHFJvrfBSznt1PhX2+Ce1FwJU6pOlQ8PMbjFM2LV2ZHVbWeoYtVb6cwN
         1wow==
X-Forwarded-Encrypted: i=1; AFNElJ858cQ/wXSxTftCWKrRP31jUgR2xoNZkLd2qRb3no7irChxGHgjFsmIn0Kx+p/aVXgY4yd7vpTGepg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwDUtX03FZmqMmGbQ3+1nz6xJd2xPlPdzOh9dYqWE15SiPjKWDA
	eIdpEid3L1Ej4ki3Om5ZHogir3nd/FWuqRxTRi5dyYFSpOC4v20i+O2jRL7w6h5iZCE=
X-Gm-Gg: Acq92OG84zshrFndKVD/QFZ/c4pkgKLsEKIyrNIr2ffJQfx6UoQpuV1iAvWMUnY9dju
	A6Tg9l0wbcO5ULDRMYY2jTLbrQgIgAGlImapV6qe/ZV/M2WNfiKzWbMfOctl1P+XlVDtvqGmv8x
	9ykEcmFnnTNbt7/q/XCFIMPdHuDh8anOyYOqG+mNDnaxloa6ufReWVZJMqVMLChm/di9YAoDXPm
	kaE9B7TMOWI+4THZHiEoje8F8aVtO89spKj4jTU7pCaO2n5961qOIYcQBiGgmnpyVbN02IwB6Wz
	FyU1wCgLNZPSrThBu4v+Qsvp7ZuszO0jgUNzAh9mDwksPsSxFblHfSU7RiZwZLrJIRMUnwVITSK
	rFP6fudWS6tDXKU/0U2R0a1rMfXu9Y9iB+AlMPzaYi/1vaSMfOPFboqb4DJMQSvWw+/ONoWUfmp
	jfOxd77iYr8L60Pbufzpk8/d6zBbdn1V1ECP7uYrEjtRjrzCxJNvW9/ex8Aqw89l3suyQ4v781A
	gjw1jn3smuqR0vlPDO9byvNM0/+NPfn441hnd3cyahHCWmdBGzy1t0JxKLNXb93
X-Received: by 2002:a05:6402:2788:b0:691:afc9:f59c with SMTP id 4fb4d7f45d1cf-695086ee914mr1474054a12.1.1781601671534;
        Tue, 16 Jun 2026 02:21:11 -0700 (PDT)
Message-ID: <b9097845-5083-4f3f-bc2f-ac08bad81ee2@suse.com>
Date: Tue, 16 Jun 2026 11:21:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/4] libxc: adjust string size calculations in
 xc_flask_{getbool_byname,setbool}()
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Daniel Smith <dpsmith@apertussolutions.com>
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
 <83af338a-3ef2-4be3-99f0-cfe38a09cda0@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: <83af338a-3ef2-4be3-99f0-cfe38a09cda0@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Gicl6ABj7UUImiYr7TgoTICO"
X-purgate-ID: tlsNG-ebf023/1781601672-29F7D3FF-50222293/0/0
X-purgate-type: clean
X-purgate-size: 8201

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Gicl6ABj7UUImiYr7TgoTICO
Content-Type: multipart/mixed; boundary="------------ykYOO43E8KlwfkjX3mFFY4iD";
 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>,
 Daniel Smith <dpsmith@apertussolutions.com>
Message-ID: <b9097845-5083-4f3f-bc2f-ac08bad81ee2@suse.com>
Subject: Re: [PATCH 3/4] libxc: adjust string size calculations in
 xc_flask_{getbool_byname,setbool}()
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
 <83af338a-3ef2-4be3-99f0-cfe38a09cda0@suse.com>
In-Reply-To: <83af338a-3ef2-4be3-99f0-cfe38a09cda0@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=

--------------ykYOO43E8KlwfkjX3mFFY4iD
Content-Type: multipart/mixed; boundary="------------cX19xoaG01mp5YDFjbry9JUF"

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

T24gMTYuMDYuMjYgMTE6MDIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBJbiBwcmVwYXJhdGlv
biBmb3IgYSBoeXBlcnZpc29yIGNoYW5nZSBhbHNvIGluY2x1ZGUgdGhlIG51bCB0ZXJtaW5h
dG9yIGluDQo+IHRoZSBzaXplIGNhbGN1bGF0aW9ucy4gKE5vdGUgdGhhdCB4Y19mbGFza19n
ZXRib29sX2J5aWQoKSBkb2Vzbid0IHN1cHBvcnQNCj4gRkxBU0tfR0VUQk9PTCdzICJJRCBi
ZWluZyAtMSIgdmFyaWFudCBvZiBvcGVyYXRpb24sIGFuZCBoZW5jZSBkb2Vzbid0IG5lZWQN
Cj4gZmlkZGxpbmcgd2l0aC4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4NCg0KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9z
c0BzdXNlLmNvbT4NCg0KDQpKdWVyZ2VuDQo=
--------------cX19xoaG01mp5YDFjbry9JUF
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-----

--------------cX19xoaG01mp5YDFjbry9JUF--

--------------ykYOO43E8KlwfkjX3mFFY4iD--

--------------Gicl6ABj7UUImiYr7TgoTICO
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/Ey8FAmoxFYYFAwAAAAAACgkQsN6d1ii/Ey/s
twf9F0io/TQT654SP0OqSeBxl8W36S6SH4IOCM2wfWaJRC8mlfqA9c5F4TU/IYlkArctZi6vEN/c
KQsDGbbtDtxMZyXTBGFPQDbI01GiVpJwhGSjtDlJfLMBXbkJOU4koXQgJ1kmaXr4/74DOc7rsnz7
1kRWtOLPuMRvm90ZJwO56/ZtuvkLjJF3L4cgWLNMPqjDfmRsnJtIfG5jL2MC2z9tmyUOVU2c62H4
msAiY3ARbJKX32zH93DTTs0DwvpSr9grayH0Vpjc5R/o3i9Z0tzF6zWzS5fKYduIXZNapMY9KGwS
S77bnmNoF5xWRkHT7ihGABS/5RqyaN/fw4my4vLi6g==
=bV8E
-----END PGP SIGNATURE-----

--------------Gicl6ABj7UUImiYr7TgoTICO--


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:21:13 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:21:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338908.1599996 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPyr-0003e1-SN; Tue, 16 Jun 2026 09:21:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338908.1599996; Tue, 16 Jun 2026 09: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 1wZPyr-0003dM-MA; Tue, 16 Jun 2026 09:21:13 +0000
Received: by outflank-mailman (input) for mailman id 1338908;
 Tue, 16 Jun 2026 09:21:13 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wZPyq-0003a4-Ta
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:21:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZPyq-003yDE-AT
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:21:12 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a31157f-2eae-0a2a0a5409dd-0a2a450bedd0-30
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:21:12 +0200
Received: from [40.93.196.22]
 (helo=SA9PR02CU001.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a311585-212f-0a2a450b0019-285dc41680db-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:21:10 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by SJ2PR03MB7093.namprd03.prod.outlook.com (2603:10b6:a03:4fb::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Tue, 16 Jun
 2026 09:21:07 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=wrUyX8A2vhCeqduS9ARhrSdWsKuptiISH0rvlwo4jJy7YpSouFPpZB3yQnFLVnP3EX+dsiY+4zB51zM0NlyhnNGJlEWtupELQUFS9PPQOqOWn6s4PyKm0c+JgJm7SEmXN1WBCGhY5DL9hEN3g3Z5Bdx0zvDNc++zpuygNLpCoLLuq3zgZ4AN+vwico2mCB2fvDVgC2XXdmmHV0WkaSMcAOmDXoDWjzii2o58b13BXXimn3hRqC6XMCSN62AC5ESeLWuLOIa8d0njwMT3OlD8WRsQSrzGYwRxiVKW13SmN/ZcC8T/ykbTrEOmif71B8WnZcYiLqPMtkJScyRHh4zCbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pwbwP7gCfF5/rDXGJ8fAmIA1wF8P+Dldrhh0Zeb1iNA=;
 b=lvE7VdDutESMsrv995HSwE0s7sNMOYMwOoNnAOhna+BKhpu+2EncRMK6LAtnZKVR9YjOC3RRjooHAbm5E5TQpxb3ztR1HQ4oflyBJ18dHCbeFyauJprL0oYIGYUcETJNqiDot2wveXm7l8m8OZckOZ9KMrPdBPMXZMMsvLO0L6Omhx3hv/j7MVsyLLbPJIS0tvKC8PPPsozQypQLz2XzBtUVdGgc6eKDIdXDf5FrBPc7qy5UBteTsmwHFlLvPeq12OvSz/t/lqdythwiZxsivPJJDsTGBNdkQfWiYRVmscuY69R6ZooUCygpCnfr5zFOPaiHtmn6OEL46I2Oo2UINA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pwbwP7gCfF5/rDXGJ8fAmIA1wF8P+Dldrhh0Zeb1iNA=;
 b=YYr7NgWWqZ7zyCVqRqBr/IVLtbBPUxIXV+KeUL7QVIh+MM5V2s2MHwe8nkTj4yPLI6+lQLEEOUbSawwyacz6z8p80SLJsP6ZxJpqlOxYIVuvt0064SHRwqFaYJy4L1o57Lp2OREgZra96cAXQ0zm4WnSKHk8VtyyMgUCRQLhgU0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 16 Jun 2026 11:21:04 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22? 8/9] x86/domctl: don't imply I/O port
 permissions from I/O port mapping
Message-ID: <ajEVgN9h78QFh6mZ@macbook.local>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <a88eb54a-f0ff-4ad6-971f-ae526297a15d@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <a88eb54a-f0ff-4ad6-971f-ae526297a15d@suse.com>
X-ClientProxiedBy: MR1P264CA0167.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:55::8) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|SJ2PR03MB7093:EE_
X-MS-Office365-Filtering-Correlation-Id: 795d0dbe-a4ce-4a16-54d2-08decb8898e8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|23010399003|22082099003|18002099003|4143699003|11063799006|5023799004|56012099006|6133799003;
X-Microsoft-Antispam-Message-Info:
	PtJGv+9z3ojuUJywJsBA8syJIpqeg9w4kuGK7u+PUZToLHM7IGYzLZPUqx3qLOalRUxOV9jNjHY/m/16e2pd4JIjNnFLm0JrMPDLDg4jQFUaqJJvfvETuBEzFKyjNp19Hlxs1ZJPBSwNBe4nj9w8iWddeKoT1ksTxZZJbi9uzhJL4latC5TSGpVbWcRf/HokmUCrda/tljPGTe1EK00UNSeEyk4j0PmSNn4yx/faQJ07ihhuMOGh04JNNpFwBwIomncUChxd6AjNs6RC4ad439s9WO3F5Ev+aKhMtnMCkqjJ9Vv4rzmJmCdg06b3fQe5xRczK24Q25/Zjj8BtTvuc79u3DEuNxGm6T17QHV51TCTPB8EEjnDYj0XOUpHY8iLwbPPqusjrhAJKAuMn1do9LnZnYpQ3I7xR9aN+K270W+Flic+iqPhEJgQuwU3dKrKt7DEoVJ6/S8aKcwI93qA2LPEuDVWft2AzdKSPiyR3d9YbfNr1+YQZRgHZJAjyJOm7pjbi0bUJUBoJxTNufYwOTFS+5udKbenMRYNggux572ZL92PDWkQhYURv3NYe3Bat0YDexedM7j6VZcNBeWvYdu5mezK2/jMPpX7VPTf7Dm1UJYRml2ZNpIzDyst9MqVUxkNzYzLqYJ7cWjbOdwzVvFyrJKvvUa9VyC9cygiBLNnsWDeIE+XvZdtqY/uLWdL
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(23010399003)(22082099003)(18002099003)(4143699003)(11063799006)(5023799004)(56012099006)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UEZmL0NMWmtlek8xOG5neDhlSGNhVlhaTC9WOFpNZytHRk1RekE3TUVITTRY?=
 =?utf-8?B?QVB5ZmVMeHVRcHQyNHFHbXpmb0dNbmJ0MFZFOGFTa2RDNEFTak5QRXIxcWVv?=
 =?utf-8?B?MW9zZGJFbFVpUmFOVG1rVXZvM0lZd2tDV2wzRHlRUnFINjMvaXhHd0ROS1pn?=
 =?utf-8?B?WmxVYld2UncyOEpFWmF5QTRHeERVY25ZUnROaUpMRjNyS2xUMEI4bUFjK1B4?=
 =?utf-8?B?MVUvcnJ3UlhmME9qL3dPOHdVUTErc1JhNC9RWHZTdk1tUlAyZFBibUNaQmQ5?=
 =?utf-8?B?amxNVzcrSmZydmZ3VGpMdllSaU9MZDZvZUFtdzlsa1BtbnJpR2NENHJERzR0?=
 =?utf-8?B?bUFuZFpvTkVTVGIrSThPK2QvbUhtQlZ5WWJzOXhBTlF3dCtLaitSZDlhaG8r?=
 =?utf-8?B?eWRqYnVhUWcxZFpHcTI0VWdwTUVIS1JpSTBvbWRUQUJqdlFLSlFNWmwxc2po?=
 =?utf-8?B?RzdGbEJYUXh2NnJGc1BYRWxJOStlUU9qdnJwaGZtd0U1Rk0zaWFyb2NqNThC?=
 =?utf-8?B?b3dDNkpxOUVGQVJGTWU2dEppSEY5cW45TGd0S0lnTlJTcFNTRUtFVmhGaTN0?=
 =?utf-8?B?bmpTZER2TGlGM0JzcSttREt2SGRVTzNUeVJabE51WlIvZ1VSK2E0SzdGQ2Zx?=
 =?utf-8?B?UUdHSHVvc1cyTmlSVmJ6YUxnUFF6L1lKejdzRGtTWE9ScVR5bHBocWl2eS81?=
 =?utf-8?B?UUlGdkZTdTV0R2p4bTdpZXR0TjRpNUpBSWNiZVF5UHA4UDBwdFgxTEQzQm43?=
 =?utf-8?B?MlVnTnRqbFJvQlpOR3QyelFHakY4ZEpqRlc2RXN4dHlTVHFxeEN2VkRDODd2?=
 =?utf-8?B?enFWUGp6aHFWZDF3Mk9MRGJ6UXBFM3BaYUFMTW9NMjc3UWJIQ3BvM0tKdnY3?=
 =?utf-8?B?aFNUMnhFeDk5NlRFVFlVTmNYYVdGS1hleWdSWjlTeXBjL2VQeDVGaWw1Zysx?=
 =?utf-8?B?VmVaL052ZkxoNzlaVDZIenVJVldWY2NkU2txZWM5S05ySCs5LzhTZzRHV0RG?=
 =?utf-8?B?WWxubzNoRDYyejBzQlZjcm5pTDRGT3YyeW9QSS9pVlQ3UWhkMUltN1N2MjBv?=
 =?utf-8?B?ZXVWbktkeTQ0WGpla2tFSUdGSzVnMlVWVzZzVENDNERwd1BwMDF6SzI2cEs3?=
 =?utf-8?B?WVNEU0o4Q2tRbVM0aFAxL3UwZUd4djFacy9TajBIa05ZQ2lEc3pmeTloN1Ji?=
 =?utf-8?B?UktPVWhlMFYyalRyNFdFTC91UU1YaXZJRUI1Zmg3QTArcXdaM1lKaWhtVlZI?=
 =?utf-8?B?SVJtN2o0aGFnM05DNGhJaDhDZjRoQW83c3ZpZlEyMXJoR29sVFluekpwWXRx?=
 =?utf-8?B?c0UxdThuREhXekZuUERtbDM2YXVCSVAzTHZLVFRDb2hxTy9EV0dQemhEYk5t?=
 =?utf-8?B?K2UrNkIvb3lGVEhzSjlQMmlVV2E0ZkhrYUo4ODBJQ244R09ybHcrR1NDQjRO?=
 =?utf-8?B?azhqaUVpTnJicm01cjZKQmF0TW1EWDQ2UUZldFN2WnpPeTFEY3ozeWsyWHhF?=
 =?utf-8?B?YVk4S3dua0ZCLzk4cjdLajNLUExKN29RWkZaL2lSbUJLVnV1M2twQ2xrWC9a?=
 =?utf-8?B?TE9tQkQ5YWlEQjdISWVXeXRGRldIelErWWVlZytmbFlkdy9TZjkyaDYvT3Y1?=
 =?utf-8?B?Uk9QN24wNmdrSzdqUWM2eWdqSUttMGRKMmFtL2M3ejE1ams5VW5OOWxwWW9k?=
 =?utf-8?B?bjAxWGg4WEwyZWQ2VU5GUEQwOFVWY29ic3BCUC9aaEJiaE1XMytMakpWTlp2?=
 =?utf-8?B?eHRjYUowMXdqdXRFR3p6SXBnRTZhWDN5OTR5S1o2RnZWWFNpV0xINkNzbUVa?=
 =?utf-8?B?aTViWGxCUFVYVk9XRlg1VWI4WHVHUkozUFNmMFdNZTllMTdveFVmRGR2L3VZ?=
 =?utf-8?B?MjF3T2FZL2lOZmdlYWZ1UnRGNWRzWEJrcUg5THU5ZnRuWnlDS1llZXZYNWpx?=
 =?utf-8?B?UHR4VS9VMFJZdGNHSE9PTk9LbUpCYytOdEQ3dVFLVWZHV3IvWm1GMWh1NHcw?=
 =?utf-8?B?MXUyL2RuU3N0Z1UyancrQ3R2YzZYV04rN2t1ZzRjMjhucGl3QU9WeDZ6cmlk?=
 =?utf-8?B?V3NTSng4S252dXl6OWt6cUZvYUxjZ0VSMHlHZW9qTFpHTEVsekhGOEtsUWtp?=
 =?utf-8?B?WUlDMlZ4K2M1cGx0RzhGcThtUmtybk9CdGliVnJEbVNWSm5wNDBiY0VxamNT?=
 =?utf-8?B?aE9lQWZveFFpVGFzaTl5cXNWaFJSMjRMSTV4aTZ0b0N0L0tTQ3pTZTZZS0wr?=
 =?utf-8?B?a0V1SzM3N2tBSGQxTXpEeEQ5dE9KbzV6ck9jZEdVQ28zWGZOVThuTTZVdEFl?=
 =?utf-8?B?WjJpN29QR0NWNjQ3NHNJYjU0K1kzbkRUTU1Jb2J2U2ZlbithK0FLdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 795d0dbe-a4ce-4a16-54d2-08decb8898e8
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 09:21:07.6333
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zudtVIw8F6ULfohgRkdUfFPiPxQy8tI1fhiHen4ee4xlpM587i0H+c99AZpdDrEbLvl29sukwxme29VzWgpFeA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7093
X-purgate-ID: tlsNG-42698a/1781601671-19D6FF3B-D4AA2D70/0/0
X-purgate-type: clean
X-purgate-size: 3373

On Mon, Jun 15, 2026 at 04:16:11PM +0200, Jan Beulich wrote:
> Rather than granting permissions when mapping (an operation that DM-s are
> allowed to carry out, while they can't invoke ioport-permission), check
> whether permissions actually were granted when adding a mapping. This then
> also allows relaxing the necessary locking.
> 
> Fixes: 192c4dabc344 ("domctl and p2m changes for PCI passthru")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> libxl has libxl__grant_vga_iomem_permission(), but I can't spot any I/O
> port equivalent (nor a revoke counterpart, btw). Everywhere else MMIO and
> I/O ports look to be treated equally.
> 
> Qemu uses both xc_domain_{iomem_permission,memory_mapping}() in
> igd_write_opregion(), but only xc_domain_{memory,ioport}_mapping() in
> xen_pt_region_update() and xen_pt_{,un}register_vga_regions(). Is the IGD
> region special in any way? Clearly this can't work from a stubdom.
> 
> --- a/xen/arch/x86/domctl.c
> +++ b/xen/arch/x86/domctl.c
> @@ -714,9 +714,14 @@ long arch_do_domctl(
>              break;
>  
>          hvm = &d->arch.hvm;
> -        iocaps_double_lock(d, true);
> +        /*
> +         * NB: The double lock isn't really needed when !add, but is used anyway
> +         * to keep things simple.
> +         */
> +        iocaps_double_lock(d, false);
>  
> -        if ( !ioports_access_permitted(currd, fmp, fmp + np - 1) )
> +        if ( !ioports_access_permitted(currd, fmp, fmp + np - 1) ||
> +             (add && !ioports_access_permitted(d, fmp, fmp + np - 1)) )
>              ret = -EPERM;
>          else if ( add )
>          {
> @@ -747,15 +752,6 @@ long arch_do_domctl(
>                  list_add_tail(&g2m_ioport->list, &hvm->g2m_ioport_list);
>              }
>              write_unlock(&hvm->g2m_ioport_lock);
> -            if ( !ret )
> -                ret = ioports_permit_access(d, fmp, fmp + np - 1);
> -            if ( ret && !found && g2m_ioport )
> -            {
> -                write_lock(&hvm->g2m_ioport_lock);
> -                list_del(&g2m_ioport->list);
> -                write_unlock(&hvm->g2m_ioport_lock);
> -                xfree(g2m_ioport);
> -            }
>          }
>          else
>          {
> @@ -772,15 +768,9 @@ long arch_do_domctl(
>                      break;
>                  }
>              write_unlock(&hvm->g2m_ioport_lock);
> -
> -            ret = ioports_deny_access(d, fmp, fmp + np - 1);
> -            if ( ret && is_hardware_domain(currd) )
> -                printk(XENLOG_ERR
> -                       "ioport_map: error %ld denying dom%d access to [%x,%x]\n",
> -                       ret, d->domain_id, fmp, fmp + np - 1);
>          }
>  
> -        iocaps_double_unlock(d, true);
> +        iocaps_double_unlock(d, false);

I think the new behavior is more sane, however the problematic aspect
of this change is the removal case IMO: we cannot be sure whether
existing callers rely on XEN_DOMCTL_ioport_mapping also removing the
permissions, and hence Xen no longer removing the permissions might
lead to leaks.

This is a risk we might be willing to take, but it must be stated in
the commit message.  And likely in a CHANGELOG entry so that external
consumers are aware of this change and can adjust as necessary.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:22:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:22:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338923.1600009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPzd-0004gS-45; Tue, 16 Jun 2026 09:22:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338923.1600009; Tue, 16 Jun 2026 09:22:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZPzd-0004gK-05; Tue, 16 Jun 2026 09:22:01 +0000
Received: by outflank-mailman (input) for mailman id 1338923;
 Tue, 16 Jun 2026 09:21:59 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wZPzb-0004g4-C7
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:21:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZPza-008z7k-P7
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:21:58 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a3115af-2eae-0a2a0a5409dd-0a2a4506cccc-30
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:21:58 +0200
Received: from [209.85.208.52] (helo=mail-ed1-f52.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgross@suse.com>)
 id 6a3115b6-7371-0a2a45060019-d155d034a539-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:21:58 +0200
Received: by mail-ed1-f52.google.com with SMTP id
 4fb4d7f45d1cf-68b90fc6a1dso8348041a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 02:21:58 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-6937919b4c4sm4570881a12.6.2026.06.16.02.21.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 02:21:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781601718; x=1782206518; 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=RnwyguR60iiCyVytjxccy+wYB4SaeCjloKsqePxeqUA=;
        b=cMDo7avdn40bSiYwIjNse1fh94b+nboJjaCJFpWjcNCczyuF7kYV6fTBVpYxbI2rbu
         43EzfmDzpCe5gUldxzJ6wSGlW4jWAjLBlhyUge8Ow+nsIxrRNOC42xrjJ6ehPdIIgt3w
         MfF2w0senUgw5mx30pvO1kV4U3UQ2PyfJGk+VjCflvoz6RAaZ8LzKGzKvD4TptMdD5hL
         R6y4OJ/rV6/KrO6Ig8gpm7hfqRkmJlFJH0mVwjK9t1+CffR+/YgNx7LjCHAylNgl+nlv
         hfih9BGs96iHkK0OPWAa5NXu0saJRwA7XBpeenhZIq/7Fa33T04tHjiQlaBojm907OO5
         qznw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781601718; x=1782206518;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=RnwyguR60iiCyVytjxccy+wYB4SaeCjloKsqePxeqUA=;
        b=ltCBvgyvh+PmaFIVlATBnuU0jqQshOndEcBdYcW1TIxjs8+g0PKY+P/xzZPm4E9f3z
         KbpT+1RnXNFMDefZN4iDGYEn+T348TjlVbUW8xr+usQ1eFPb30wSZ8QixA1I9Jkh0fl3
         iAm33rz8ll7G4lIMQnzLl1QvdEhhaDvUk0TGJrfllop4lHj7QYnL0xhDzxAg3jqtQLFd
         OKKuXtscnZrtlesNB31bzJou/WK3NpuYQFqL9fb6rvh9yLP6Jfb+XoQj50hvPkcY1Is6
         Z/FpeHBN/kCmztKDH4zt9IwxeXbDeO7htYveLgHxgoZutMbEMV3R0mUgfX2GRByBoWgf
         sI9g==
X-Forwarded-Encrypted: i=1; AFNElJ9ZPclFhKKIxqKilePmHJFuQ2grjytPYjmMzlJZWNzdBUKMZ52gUJeXy3EU0/RSEA7pVs+1R0ecWVg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YziRmL7PijwoqbtjDN1sRGx5X/cQBroSMD1q9GFgO3qSSrKTe2L
	L/ALEDs9UacpXMKyNz5udVx40Q7wk0loDhbj5YBHUQwOdgyW8+Oa43CvZsivmGEaxQg=
X-Gm-Gg: Acq92OEzyoR363hGiQl9NgQ2d54s3xePSwySEYHBafZ/FHuwEApRdeZ7MFvOyBjxxTo
	zgN4SkiW8MIDYcXZSitJEFYQmDEb4g/4aoXvitR2YDLwASeMO85gJzdoDHjckq/eINh2wowhAn8
	0ALMQM2bUBtzT+Ry6xOXcXlLxTFW0oTSBG9ZZg6GoeyyEZEHRrEo7OchXDR8EAhUuEqrBpW62BP
	a33q3iqLHs59LBwg1ctno38A/pnRWDgrbr5dZehRLUzcEj39MgDmm0pvPS7tnPbIafLfrUM4cKH
	HV0qzJ0vIEB4sXkRZRp0ZpsdFkuzTUnfj1/7Jge6b/qIDrNe8/vK7witHFMr9LUm3YceQlFqUTz
	ZtnjibB7mbPgrEh3xeoOH6fR9a6sG/03LdwmDCS+BJBvVAK3oCNQReDByR8Co7ytM8ukVCtcoj3
	SkiNJOHB1wbtGRphsKWbo520EShBSh7iZiKQYzkdqrtnlGZCq8GmAmt/wisPWhwiI8vzCgsSydF
	4cCCrl10AjJn94rYgDXOIH7/QcYtad5NyTqQTc0druZhWloApS7tA==
X-Received: by 2002:aa7:c646:0:b0:691:6fb6:dada with SMTP id 4fb4d7f45d1cf-695081a57dbmr1106374a12.4.1781601718179;
        Tue, 16 Jun 2026 02:21:58 -0700 (PDT)
Message-ID: <2dd6fe35-f161-409b-87a1-be14a36d8579@suse.com>
Date: Tue, 16 Jun 2026 11:21:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22? 1/9] sched: introduce specialization of "running
 only" vcpu_runstate_get()
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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Dario Faggioli <dfaggioli@suse.com>, George Dunlap <gwd@xenproject.org>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <67d1e638-a2ab-4d03-b9be-915a8c42e095@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: <67d1e638-a2ab-4d03-b9be-915a8c42e095@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------SwVBadwmoyOxe0Z6eyeVcndc"
X-purgate-ID: tlsNG-16d1c6/1781601718-8E18ED75-C56AC17C/0/0
X-purgate-type: clean
X-purgate-size: 8445

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------SwVBadwmoyOxe0Z6eyeVcndc
Content-Type: multipart/mixed; boundary="------------w1FG9Ajgmxv8H0TF0f1ilxCW";
 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: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Dario Faggioli <dfaggioli@suse.com>, George Dunlap <gwd@xenproject.org>
Message-ID: <2dd6fe35-f161-409b-87a1-be14a36d8579@suse.com>
Subject: Re: [PATCH for-4.22? 1/9] sched: introduce specialization of "running
 only" vcpu_runstate_get()
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <67d1e638-a2ab-4d03-b9be-915a8c42e095@suse.com>
In-Reply-To: <67d1e638-a2ab-4d03-b9be-915a8c42e095@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=

--------------w1FG9Ajgmxv8H0TF0f1ilxCW
Content-Type: multipart/mixed; boundary="------------760eDivzpKexN3LVevQ7HjzR"

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

T24gMTUuMDYuMjYgMTY6MTIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBBYm91dCBoYWxmIHRo
ZSBjYWxsZXJzIG9mIHZjcHVfcnVuc3RhdGVfZ2V0KCkgYXJlIHNvbGVseSBhZnRlciB0aGUN
Cj4gInJ1bm5pbmciIHRpbWUgb2YgYSB2Q1BVLiBJbnRyb2R1Y2UgYSBzcGVjaWFsaXphdGlv
biB3aXRoIGEgc21hbGxlcg0KPiByZWFkIGNyaXRpY2FsIHNlY3Rpb24gYW5kIHRodXMgcmVk
dWNlZCByaXNrIG9mIGEgbmVlZCBmb3IgcmV0cmllcy4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6
IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KUmV2aWV3ZWQtYnk6IEp1ZXJn
ZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCg0KDQpKdWVyZ2VuDQo=
--------------760eDivzpKexN3LVevQ7HjzR
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-----

--------------760eDivzpKexN3LVevQ7HjzR--

--------------w1FG9Ajgmxv8H0TF0f1ilxCW--

--------------SwVBadwmoyOxe0Z6eyeVcndc
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/Ey8FAmoxFbUFAwAAAAAACgkQsN6d1ii/Ey+l
YggAmmAYUcYZiCHldmnfBM1vWmGK9yDZImEbssfspPxnGNqRBH+Ok+WddQ2w3ALys5svYEKnMhoR
Zx8mk/XrkmZQbTDHzQ6hN7B9aB1J7racF2UPPdKFTFX3HAKfqUhByDEhlraDp59VNATR3vNFUC+F
OBEANaOFHt+vkCbIr4mOKQjOFI8soxcNmxkXi4/AlddRDaUbnJZ9evXcNfBHr8RjqlhBBFYUodCu
7qkklFWoxZ5Esvh/HlnzNqt8iJeXQC1FlNWrUKpDUCJSCFBp3Dis5vQbGO23xirdGsEoW4GlsDjC
TaLFB19kpWW6yEct1RwpiRtERxhA3coMUo+Px+i8og==
=bYpf
-----END PGP SIGNATURE-----

--------------SwVBadwmoyOxe0Z6eyeVcndc--


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:24:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:24:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338933.1600019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQ1m-0005KW-Kk; Tue, 16 Jun 2026 09:24:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338933.1600019; Tue, 16 Jun 2026 09: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 1wZQ1m-0005KP-GQ; Tue, 16 Jun 2026 09:24:14 +0000
Received: by outflank-mailman (input) for mailman id 1338933;
 Tue, 16 Jun 2026 09:24:12 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ecfbeca42000701b@swg.vates.tech>)
 id 1wZQ1k-0005KG-IX
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:24:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQ1j-00AYkX-Rk
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:24:11 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ecfbeca42000701b@swg.vates.tech>)
 id 6a311630-5cb7-0a2a0a5109dd-0a2a45028e9c-34
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:24:11 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ecfbeca42000701b@swg.vates.tech>)
 id 6a31163b-af86-0a2a45020019-b9ff1c12ad2b-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:24:11 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ecfbeca42000701b.002 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 16 Jun 2026 09:24:07 +0000
Received: from [192.168.1.18] (88-188-240-210.subs.proxad.net [88.188.240.210])
 (Authenticated sender: teddy.astie)
 by mail2.vates.fr (Postfix) with ESMTPSA id 396148630D;
 Tue, 16 Jun 2026 11:24:07 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=RC1ZLXCl0L6rp1mZtFMWoeZyVPn1a2ogGD34UNTIyY0=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=oftAO6pqLjqAB/VBz7pxSJqi6iOJUXsBTjN76yqhj/gHA6lGuKn7hBf1QJ8xyp4zGaoiqfqC+
 E6M5EqG/8RGPqFyR90Nd/h1vFcZyM8jNE0u+Bzcge83jx90jQCITK8vRkZHkZAD4qqMPie7Ekmi
 N8HnkJYHH8Xwxh4wvzPs/4U0pj6pFm78d4mm+YvclKUYwdv3lx7Xr0Z/39AHP6+5Xi6xqONaTCk
 zT89DSoxbdRIUGl8U825dyo7FsjbC6gpB9FNBzeA6rgRHIHvMEy5qIcQBkjjlrOEBQYDs1DJgiC
 SUBrdPD7bIJntbL8bYblr4LFJy9Gp2yrx3wR3APCug7Q==
X-Zone-Loop: 26950eda1663884909edef7b4c82f051cda39ea20186
x-campaign-type: default
x-transaction-id: 545674a0-f6d8-498f-9daf-ff342b4e9c26
x-swg-uid: 01-9dd0023c-cbf6-4844-b916-038c80aee54b
X-Mailer: Sweego
Message-ID:
 <1781601847.8631fc262581453bbf619ec5b2062170.19ecfbeca42000701b@vates.tech>
x-swg-bid: 1781601847.8631fc262581453bbf619ec5b2062170.19ecfbeca42000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Tue, 16 Jun 2026 11:24:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/4] libxc: adjust string size calculations in
 xc_flask_{getbool_byname,setbool}()
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, Daniel Smith <dpsmith@apertussolutions.com>
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
 <83af338a-3ef2-4be3-99f0-cfe38a09cda0@suse.com>
Content-Language: en-US
From: Teddy Astie <teddy.astie@vates.tech>
Autocrypt: addr=teddy.astie@vates.tech; keydata=
 xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7LTBVHV/XO
 Zw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJT4ny+OGntnJntUoR
 KRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJAWicutjkkUgd28Bh6HV9EIumH
 tCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaT
 VqMdqul07o72m3eA2mf+LMu9a04FX/d4wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/
 EoucejoZ5SH49ksmVAmKOLktOaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+S
 PhHar7TPKjFz0G3DPNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89
 MXfQXZ3qt1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
 LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWjmoACGwME
 CwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNzuyOVCskwfUZPla6Z
 pd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp0x0HfuhcYfAYPR46XHTvjaJE
 v99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuROxdK8G+YHccJY8PvWSq2K2yiae2KGiAv
 1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhP
 eP3IdpfWc8cyRLXF06Rk46YMYCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcT
 UwgnYlFRk2FLq0QeKEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9
 Egr/Wmu3MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
 f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEMAKiQiZa3
 yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ3DbVf+en3/FvdVZg
 2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTmetSG5/52AjtmPFtlXAk0NmLv
 fJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0s3109sJeXT5ImVdphFs9cvyZyBT9t1Pb
 Rowv58EgV0zE4hbAeVkULAbxFV5b/ExTjjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKb
 Yu6NCfiHfEyB3Xyg9hfdrRgjMRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ov
 XoK4jm+Py0FiUGUaA6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/
 eVtR2Q1wZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
 IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWjmoACGwwA
 CgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiVoUiHYN5QwhnbZnsa
 JDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764QxyX6rld2f2RcWkDuBHun55ZWXj
 by8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk/dS0XTOQi2wVUb17sW/+ybCEokdVacZG
 zOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fuoGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+
 lOWSvdNHgoEkWR0RXBPQjnGmLKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/Off
 O485NOTKwGOxyWb006cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR
 8ULR9nX0LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
 x9fhaZEsniw8/bYgC3igkk5YJiOa
In-Reply-To: <83af338a-3ef2-4be3-99f0-cfe38a09cda0@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------1Rw0aGoesE3QLnZHyBs1Gjz0"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781601847354
X-purgate-ID: tlsNG-720697/1781601851-81772161-11E804CA/0/0
X-purgate-type: clean
X-purgate-size: 9266

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------1Rw0aGoesE3QLnZHyBs1Gjz0
Content-Type: multipart/mixed; boundary="------------xbgQ1x0rXZSYoRubUfjex7qi";
 protected-headers="v1"
From: Teddy Astie <teddy.astie@vates.tech>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, Daniel Smith <dpsmith@apertussolutions.com>
Message-ID: <97271287-e4e9-4bb5-a47f-1a68eec4db08@vates.tech>
Subject: Re: [PATCH 3/4] libxc: adjust string size calculations in
 xc_flask_{getbool_byname,setbool}()
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
 <83af338a-3ef2-4be3-99f0-cfe38a09cda0@suse.com>
In-Reply-To: <83af338a-3ef2-4be3-99f0-cfe38a09cda0@suse.com>
Autocrypt-Gossip: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==

--------------xbgQ1x0rXZSYoRubUfjex7qi
Content-Type: multipart/mixed; boundary="------------WVZgqN3KoHeuJGGUcbtbQ38b"

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

TGUgMTYvMDYvMjAyNiDDoCAxMTowNCwgSmFuIEJldWxpY2ggYSDDqWNyaXTCoDoNCj4gSW4g
cHJlcGFyYXRpb24gZm9yIGEgaHlwZXJ2aXNvciBjaGFuZ2UgYWxzbyBpbmNsdWRlIHRoZSBu
dWwgdGVybWluYXRvciBpbg0KPiB0aGUgc2l6ZSBjYWxjdWxhdGlvbnMuIChOb3RlIHRoYXQg
eGNfZmxhc2tfZ2V0Ym9vbF9ieWlkKCkgZG9lc24ndCBzdXBwb3J0DQo+IEZMQVNLX0dFVEJP
T0wncyAiSUQgYmVpbmcgLTEiIHZhcmlhbnQgb2Ygb3BlcmF0aW9uLCBhbmQgaGVuY2UgZG9l
c24ndCBuZWVkDQo+IGZpZGRsaW5nIHdpdGguDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBKYW4g
QmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IA0KPiAtLS0gYS90b29scy9saWJzL2N0
cmwveGNfZmxhc2suYw0KPiArKysgYi90b29scy9saWJzL2N0cmwveGNfZmxhc2suYw0KPiBA
QCAtMTg3LDcgKzE4Nyw4IEBAIGludCB4Y19mbGFza19nZXRib29sX2J5bmFtZSh4Y19pbnRl
cmZhY2UNCj4gICB7DQo+ICAgICAgIGludCBydjsNCj4gICAgICAgc3RydWN0IHhlbl9mbGFz
a19vcCBvcCA9IHt9Ow0KPiAtICAgIERFQ0xBUkVfSFlQRVJDQUxMX0JPVU5DRShuYW1lLCBz
dHJsZW4obmFtZSksIFhDX0hZUEVSQ0FMTF9CVUZGRVJfQk9VTkNFX0lOKTsNCj4gKyAgICBz
aXplX3Qgc2l6ZSA9IHN0cmxlbihuYW1lKSArIDE7DQo+ICsgICAgREVDTEFSRV9IWVBFUkNB
TExfQk9VTkNFKG5hbWUsIHNpemUsIFhDX0hZUEVSQ0FMTF9CVUZGRVJfQk9VTkNFX0lOKTsN
Cj4gICANCj4gICAgICAgaWYgKCB4Y19oeXBlcmNhbGxfYm91bmNlX3ByZSh4Y2gsIG5hbWUp
ICkNCj4gICAgICAgew0KPiBAQCAtMTk3LDcgKzE5OCw3IEBAIGludCB4Y19mbGFza19nZXRi
b29sX2J5bmFtZSh4Y19pbnRlcmZhY2UNCj4gICANCj4gICAgICAgb3AuY21kID0gRkxBU0tf
R0VUQk9PTDsNCj4gICAgICAgb3AudS5ib29sZWFuLmJvb2xfaWQgPSAtMTsNCj4gLSAgICBv
cC51LmJvb2xlYW4uc2l6ZSA9IHN0cmxlbihuYW1lKTsNCj4gKyAgICBvcC51LmJvb2xlYW4u
c2l6ZSA9IHNpemU7DQo+ICAgICAgIHNldF94ZW5fZ3Vlc3RfaGFuZGxlKG9wLnUuYm9vbGVh
bi5uYW1lLCBuYW1lKTsNCj4gICANCj4gICAgICAgcnYgPSB4Y19mbGFza19vcCh4Y2gsICZv
cCk7DQo+IEBAIC0yMTksNyArMjIwLDggQEAgaW50IHhjX2ZsYXNrX3NldGJvb2woeGNfaW50
ZXJmYWNlICp4Y2gsDQo+ICAgew0KPiAgICAgICBpbnQgcnY7DQo+ICAgICAgIHN0cnVjdCB4
ZW5fZmxhc2tfb3Agb3AgPSB7fTsNCj4gLSAgICBERUNMQVJFX0hZUEVSQ0FMTF9CT1VOQ0Uo
bmFtZSwgc3RybGVuKG5hbWUpLCBYQ19IWVBFUkNBTExfQlVGRkVSX0JPVU5DRV9JTik7DQo+
ICsgICAgc2l6ZV90IHNpemUgPSBzdHJsZW4obmFtZSkgKyAxOw0KPiArICAgIERFQ0xBUkVf
SFlQRVJDQUxMX0JPVU5DRShuYW1lLCBzaXplLCBYQ19IWVBFUkNBTExfQlVGRkVSX0JPVU5D
RV9JTik7DQo+ICAgDQo+ICAgICAgIGlmICggeGNfaHlwZXJjYWxsX2JvdW5jZV9wcmUoeGNo
LCBuYW1lKSApDQo+ICAgICAgIHsNCj4gQEAgLTIzMSw3ICsyMzMsNyBAQCBpbnQgeGNfZmxh
c2tfc2V0Ym9vbCh4Y19pbnRlcmZhY2UgKnhjaCwNCj4gICAgICAgb3AudS5ib29sZWFuLmJv
b2xfaWQgPSAtMTsNCj4gICAgICAgb3AudS5ib29sZWFuLm5ld192YWx1ZSA9IHZhbHVlOw0K
PiAgICAgICBvcC51LmJvb2xlYW4uY29tbWl0ID0gMTsNCj4gLSAgICBvcC51LmJvb2xlYW4u
c2l6ZSA9IHN0cmxlbihuYW1lKTsNCj4gKyAgICBvcC51LmJvb2xlYW4uc2l6ZSA9IHNpemU7
DQo+ICAgICAgIHNldF94ZW5fZ3Vlc3RfaGFuZGxlKG9wLnUuYm9vbGVhbi5uYW1lLCBuYW1l
KTsNCj4gICANCj4gICAgICAgcnYgPSB4Y19mbGFza19vcCh4Y2gsICZvcCk7DQo+IA0KPiAN
Cg0KUmV2aWV3ZWQtYnk6IFRlZGR5IEFzdGllIDx0ZWRkeS5hc3RpZUB2YXRlcy50ZWNoPg0K
DQpUZWRkeQ0K
--------------WVZgqN3KoHeuJGGUcbtbQ38b
Content-Type: application/pgp-keys; name="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Disposition: attachment; filename="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7L
TBVHV/XOZw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJ
T4ny+OGntnJntUoRKRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJA
WicutjkkUgd28Bh6HV9EIumHtCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO
8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaTVqMdqul07o72m3eA2mf+LMu9a04FX/d4
wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/EoucejoZ5SH49ksmVAmKOLkt
OaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+SPhHar7TPKjFz0G3D
PNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89MXfQXZ3q
t1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWj
moACGwMECwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNz
uyOVCskwfUZPla6Zpd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp
0x0HfuhcYfAYPR46XHTvjaJEv99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuR
OxdK8G+YHccJY8PvWSq2K2yiae2KGiAv1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50
wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhPeP3IdpfWc8cyRLXF06Rk46YM
YCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcTUwgnYlFRk2FLq0Qe
KEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9Egr/Wmu3
MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEM
AKiQiZa3yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ
3DbVf+en3/FvdVZg2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTm
etSG5/52AjtmPFtlXAk0NmLvfJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0
s3109sJeXT5ImVdphFs9cvyZyBT9t1PbRowv58EgV0zE4hbAeVkULAbxFV5b/ExT
jjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKbYu6NCfiHfEyB3Xyg9hfdrRgj
MRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ovXoK4jm+Py0FiUGUa
A6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/eVtR2Q1w
ZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWj
moACGwwACgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiV
oUiHYN5QwhnbZnsaJDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764Qxy
X6rld2f2RcWkDuBHun55ZWXjby8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk
/dS0XTOQi2wVUb17sW/+ybCEokdVacZGzOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fu
oGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+lOWSvdNHgoEkWR0RXBPQjnGm
LKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/OffO485NOTKwGOxyWb0
06cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR8ULR9nX0
LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
x9fhaZEsniw8/bYgC3igkk5YJiOa
=3DlUIA
-----END PGP PUBLIC KEY BLOCK-----

--------------WVZgqN3KoHeuJGGUcbtbQ38b--

--------------xbgQ1x0rXZSYoRubUfjex7qi--

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

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

wsD5BAABCAAjFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmoxFjYFAwAAAAAACgkQZg+p0QLLz9Ce
JAv9GBjBiySX1uvHN2WtoaRT3rH1VZVN3FUKftWxooYmZ8yBynd79BVc2dV+wN7TVBWpr5y7oWcT
mtayZQlr9XP5Ge3jUZMKl4xL2aLpmxfiGYwgXL7DmDEQ4gRXRbqoToJ+SCeHBcGsPKc0mkC7V4yK
kxu5tioZ4ZY1lz5lpbHWYlw5BxJjknntlqGPL4dvYmQZ0pXqK1Ii6djSsObtPXKO+yjZdw9iF6S7
YGdCCZhQTrpICkOWIHbLBrIK37UsQQ4/CD2hExv5j8s/O2WyaguRrYbN/BGe3n8euJmNWJGCfz9I
aEISccTG4ASnlGTABVNPy0dYoRF3a1pPJjXo9VPQxaYCH9xz7GsD7oLRYzEpmYjfEaewfTVjGpeK
0F56o2HBl4CzXJ9drtVnhT/VPPnjxgwaGVCbaszSttphqxqV/3PowMQMMX+JYfF6vfJsfkcvFDJb
BhMlMf0NA0SEoHNanfoNJWS5BFJ3DtbjJ+2GjWKOTZVCCDHESVFQjFnG6Z/x
=vAZw
-----END PGP SIGNATURE-----

--------------1Rw0aGoesE3QLnZHyBs1Gjz0--


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:25:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:25:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338940.1600027 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQ2Y-0005mU-S5; Tue, 16 Jun 2026 09:25:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338940.1600027; Tue, 16 Jun 2026 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 1wZQ2Y-0005mN-P8; Tue, 16 Jun 2026 09:25:02 +0000
Received: by outflank-mailman (input) for mailman id 1338940;
 Tue, 16 Jun 2026 09:25:01 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZQ2X-0005mA-9s
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:25:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQ2W-008zos-Mw
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:25:00 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a311660-bab6-0a2a0a5309dd-0a2a4507d2e6-40
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:25:00 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a31166c-229c-0a2a45070019-d1558031b133-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:25:00 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490b613a17bso39521965e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 02: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
 5b1f17b1804b1-4922fa97a07sm108830425e9.14.2026.06.16.02.24.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 02:24: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781601900; x=1782206700; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=j9xbR/Vobwnj1Y8FOAI3SQJXOyxIWwLdE03CcWYJfOk=;
        b=cwH4xsu3J9/kHyqcI5tRRjEsLToaJ5AlgrCH0tT2SUvjRiPidpSQ80JgM6af9ztiTE
         fgLSQLbHIuQWQes7W2sMa8hEA6pQft6z5PJKo+Lnyo5EzNwDrM0SNJ83j19O409IFhm6
         uQhHs8FSwroRI0yI1l8mq7KtmwQoyt1OEMB+J7bj8HT1u1IWWvYuYPXLhXNeRz0R2PTK
         ASYJMZHDSLVjUhhDFsxSHq7y81FQOyXCEqJa6C+++4rQ0MGuGrwCq08FD8G8poHt+cfl
         /B3/Udx5iKntsNev/OpfdVmH9L1MTH7gImSxlV3TqGp/KhuJFpKjAe2/oApPf+7b35LE
         M96Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781601900; x=1782206700;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=j9xbR/Vobwnj1Y8FOAI3SQJXOyxIWwLdE03CcWYJfOk=;
        b=O1shqydzBpBS9A5zwKB4rxTVVyjGrmV1VSIxyOrVIRJU+Ie3XBmDgI7hTsrZ8qnIbc
         pZGMGqw1jGqBXIPe3L/ba50sqr4+OEoWHQuJzeZ48iAjVsBUZYMlFfG9+eoNyvKBndML
         qpVhT4ZGad5E/6o4nlnyYTbam3Hy2tKTbGhrJqbEdDbJY7PZxuRyI3mU89lc61N/BwLX
         8E2Gaa22Qt60OJ3r+f6vt/HzJLEjgCYi6UhZHr9yIt8SH6cgbxWUyg8/HAdnrkc0jNHw
         ECQcFU3ge8K0qg4Dxonm8YsV3v+tT6Q8NCCozh2j0uLLigyZthl/ufGh1dFvQel1wR7U
         6eNQ==
X-Forwarded-Encrypted: i=1; AFNElJ8eYUtYiw8I1Ac5cuK3PyE62dCb/E1D6X/tO/wCblvUgVAaw8HJJoX9q1UFbW23OFstXqczxRSUMdo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxIHj5V5YERqP3tCogpxIIJD1enm/sdl2Ej2faD9+xWv2KNxAMj
	AAfdUl4Jl5yutzzyPws68q9iH6PE9ObFeRwb2yLbr74DAE5WcRyB9edyS7pYIaRjhQ==
X-Gm-Gg: Acq92OHahqmWYf/oc4oQ7lT6qus6s5SEcB+Tv0zZdo5+mObug/R9GSzHVg27aMDUFby
	eSFG/WSBxWYBnqsM+9ssO1y9qpMPHucv1dX/sNSuCBNeCxuqk4R3pyWl09gJSTQh4B1pdgtwWbW
	fpisnoq7WPxqcRHpOOfIHC+VR3ifUI2hjtRvAUOHREn+GTfTGweE+z+h/QFMWB4kOJVLOug7oCU
	VA4868jGCTQdLoWgU14mTzk8GDzF2PAlhfRJ+4RrmMugkxzFlPQwju2fg03PRs5Yp/eTDzeGJJv
	OxO1AP0cysbcMwVmOiDxmlLNbB9qCAqd2+Mucfc/H6vL7CcljNMEyChH3NqJWwUrpa1pjep3LRP
	nXKG1toHiqPLllF0e1dBvpTn96q4PLfUvCmJEN8ZPGh2IYCHWX8O8wy2PaeEJcVUOdyQcZq1ls8
	PEOKbFN8hIMCAswfEFsDFxEKhF/4vpjyAw3HVz9w4Ljw7VNUETAoFEjTPOUVvUuDTv5Bs0/OzsZ
	RCPB2GQxN00lcQ=
X-Received: by 2002:a05:600c:698c:b0:490:b025:f324 with SMTP id 5b1f17b1804b1-4922ffbdad4mr40773595e9.32.1781601899922;
        Tue, 16 Jun 2026 02:24:59 -0700 (PDT)
Message-ID: <2ba3a921-1927-4f94-b986-ecce59842961@suse.com>
Date: Tue, 16 Jun 2026 11:24:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 21/26] xen/riscv: implement virtual APLIC MMIO
 emulation
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <434e0be590bc0550e143836edff7e8e1e96b28c1.1778250616.git.oleksii.kurochko@gmail.com>
 <133430db-5605-4f3a-8ff7-77f9b57c91ad@suse.com>
 <68a7f2bc-91f5-4a19-afa7-4a9fd065f558@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: <68a7f2bc-91f5-4a19-afa7-4a9fd065f558@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1781601900-2887FC48-C2E5A436/0/0
X-purgate-type: clean
X-purgate-size: 5250

On 16.06.2026 11:07, Oleksii Kurochko wrote:
> On 6/15/26 5:13 PM, Jan Beulich wrote:
>> On 08.05.2026 16:43, Oleksii Kurochko wrote:
>>> +    spin_lock_irqsave(&aplic.lock, flags);
>>> +    val = readl((void __iomem *)((uintptr_t)aplic.regs + offset)) & mask;
>>
>> Easier as
>>
>>      val = readl((volatile void __iomem *)aplic.regs + offset) & mask;
>>
>> ? (Note that like const, volatile also shouldn't be cast away.)
> 
> Is arithmetic on void * pointers correct from the C standard's point of 
> view?
> 
> It works with GCC (see 
> https://gcc.gnu.org/onlinedocs/gcc/Pointer-Arith.html), but I can't find 
> anything that guarantees the same behavior for other compilers.
> 
> I'm okay with the suggested change if it's acceptable for Xen to rely on 
> GCC's void * pointer arithmetic extension.

We use that all over the place. Even docs/misra/C-language-toolchain.rst
mentions it as explicitly permitted.

>>> --- a/xen/arch/riscv/include/asm/vaplic.h
>>> +++ b/xen/arch/riscv/include/asm/vaplic.h
>>> @@ -26,6 +26,9 @@ struct vaplic_regs {
>>>   struct vaplic {
>>>       struct vintc vintc;
>>>       struct vaplic_regs regs;
>>> +
>>> +    paddr_t regs_start;
>>> +    paddr_t regs_size;
>>
>> Can regs_size really go beyond 4G?
> 
> Good question and it depends on an amount of vCPUs:
> 
> #define APLIC_MIN_SIZE          0x4000
> #define APLIC_SIZE_ALIGN(x)     ROUNDUP(x, APLIC_MIN_SIZE)
> 
> #define APLIC_SIZE(nr_cpus)     (APLIC_MIN_SIZE + \
>                                   APLIC_SIZE_ALIGN(APLIC_IDC_SIZE * 
> (nr_cpus)))
> 
> paddr_t aplic_size = APLIC_SIZE(d->max_vcpus);
> 
> With the current limitation of 128 vCPUs max (IIRC) it won't beyond 4G.

Tying to the overly low limit of 128 isn't very helpful, I guess. With
APLIC_IDC_SIZE resolving to 32, the limit would be millions of vCPU-s
aiui, so imo not a concern at all.

>>> --- a/xen/arch/riscv/vaplic.c
>>> +++ b/xen/arch/riscv/vaplic.c
>>> @@ -26,6 +26,283 @@
>>>   
>>>   #define FDT_VAPLIC_INT_CELLS 2
>>>   
>>> +#define AUTH_IRQ_BIT(d, irqn) ( \
>>> +    ((irqn) <= (d)->arch.vintc->irq_nums) && \
>>> +    test_bit(irqn, (d)->arch.vintc->allocated_irqs) )
>>> +
>>> +#define regindx_to_irqn(reg_val) ((reg_val) / sizeof(uint32_t))
>>> +
>>> +static inline uint32_t generate_auth_mask(const struct domain *d,
>>> +                                          unsigned int irqsn)
>>> +{
>>> +    if ( irqsn >= DIV_ROUND_UP(d->arch.vintc->irq_nums,
>>> +                               sizeof(uint32_t) * BITS_PER_BYTE) )
>>
>> Why the rounding up? Isn't ->irqs_num the proper upper bound?
> 
> Probably irqsn isn't a correct name here as it looks like "IRQ source 
> number" (an IRQ number), but regindx_to_irqn(offset & MASK) actually 
> computes offset / 4 - a word index into the used_irqs bitmap. Word 0 
> covers IRQs 0â€“31, word 1 covers IRQs 32â€“63, etc.
> Given that, the bounds check:
>    irqsn >= DIV_ROUND_UP(irq_nums, sizeof(uint32_t) * BITS_PER_BYTE)
> is "word index >= number of 32-bit words in the bitmap" which is 
> correct. The DIV_ROUND_UP converts the IRQ count into a word count to 
> compare against the word index.
> 
> So the real issue is naming. There are two options to resolve it:
> - rename to reflect reality; call it word_idx (not irqsn), and rename 
> regindx_to_irqn to something like regoffset_to_word_idx. The 
> DIV_ROUND_UP check then reads clearly.
> 
> - Change the API to take an actual IRQ number, pass irqsn * 32 (the 
> first IRQ in the word) and check irqsn >= irq_nums directly, computing 
> the word index inside generate_auth_mask. This aligns with how 
> AUTH_IRQ_BIT works.
> 
> Which one option do you prefer?

I don't care very much as long as the result is self-consistent.

>>> +    default:
>>> +        gdprintk(XENLOG_WARNING, "Unhandled APLIC read at offset %#x\n",
>>> +                 offset);
>>> +
>>> +        domain_crash(vcpu->domain);
>>> +
>>> +        return -EINVAL;
>>> +    }
>>> +
>>> +    *out = aplic_hw_read_reg(offset, auth_mask);
>>
>> You blindly assume a 32-bit access here (and also in the write counterpart).
>> How do you end up knowing?
> 
> he APLIC spec requires all register accesses to be 32-bit wide.
> 
> Also, I have the following at the caller side (yes, it can't be 
> understand from the current patch):
> 
>      /* Fault address should be aligned to length of MMIO */
>      if ( fault_addr & (len - 1) )
>          return -EIO;
> 
>      if ( vintc->ops->is_access(vcpu, fault_addr) )
>      {
>          /* PLIC/APLIC access are always on 32bit */
>          ASSERT( len == 4 );

"len" being guest controlled, how can you have such an assertion?

>          rc = vintc->ops->emulate_store(vcpu, fault_addr, data32);
>          if ( rc < 0 )
>              return rc;
>      }
> 
> Probably it would be better addi a size parameter to both callbacks:
> 
> int (*emulate_load)(const struct vcpu *vcpu, unsigned long addr,
>                      unsigned int size, uint32_t *out);
> int (*emulate_store)(const struct vcpu *vcpu, unsigned long addr,
>                       unsigned int size, uint32_t in);

Yes please.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:37:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:37:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338947.1600036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQE6-000810-SA; Tue, 16 Jun 2026 09:36:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338947.1600036; Tue, 16 Jun 2026 09:36: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 1wZQE6-00080s-OO; Tue, 16 Jun 2026 09:36:58 +0000
Received: by outflank-mailman (input) for mailman id 1338947;
 Tue, 16 Jun 2026 09:36:57 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZQE5-00080m-Hw
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:36:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQE3-0042b9-VC
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:36:55 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a311935-5cb7-0a2a0a5109dd-0a2a450789b6-8
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:36:55 +0200
Received: from [209.85.221.42] (helo=mail-wr1-f42.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a311937-229c-0a2a45070019-d155dd2ac1db-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:36:55 +0200
Received: by mail-wr1-f42.google.com with SMTP id
 ffacd0b85a97d-461a15bb819so371299f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 02:36: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-4922fa5120esm64271085e9.8.2026.06.16.02.36.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 02:36: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781602615; x=1782207415; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ixl2QPvesdsSa9Hvxx3d222jcQRF2OXSjWDKP61uu8A=;
        b=CVzQsxwgJR326hVFrdQfc7gnFbQGzYgX14XSzJQ8Np97DRi31VpqXrw6+pQbcxdcDE
         bCwtg1zXy+1zZqCJqLNr0RlihF6CbF9zTdkQR0Z7SCuXu66R4ncIBztCas2RYVcb3kqs
         /0rZfp5UmFDXRDLasPIewWHFE5Ph6bJHkVVTlhEvFeYt/prVqvGgVCnigpWDlEX9M/gj
         Oa8mZehHfUehw5Jd6wuR/3HqX1cmdz+JvaqKln0ggl2l+RUpnqYnfz7FqbPnvbybzgil
         AIfEDJRPkwnpqI60PA+ke6O2ep7AG1tyheXL64EcqDJ4SlUpzXMpDF2P9fvwg1WgqctU
         38bA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781602615; x=1782207415;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ixl2QPvesdsSa9Hvxx3d222jcQRF2OXSjWDKP61uu8A=;
        b=LLqth73FO+Z6Kq8kB3p3n8lotFoS0azBiIZ8zsvabO51seBzCkkbO2opN3uaaPtmip
         1KUrgSvEyy/9ZynGlobF6Ki8QSxhDCsRqU9V8ChpHTwUJUlZfyEc2REVIJG7YTTz3UTJ
         gbFXWDFvrRLpJF+MYGRuZSlK+S8mpUSD3QpLpkk8UlEepe9ayLWOt5r5/qlPERujy+w7
         k60hhy4inGiigqgggpY7JYA8c7Pyo31ybRW1jMA4CCgIx0qPk7oMeCeRbDlMcCQoWp9t
         ZKUmdZ9GOldaiukzdjWsfUd/sus2Pn+eF72xPaCRxHCM1P9TXWRI/pT0ETNSxkGt3FpR
         0iMw==
X-Gm-Message-State: AOJu0YyknCGQMWZK3XhL4znFoP9ODatTz/T+ogY8WRVJTY/UblokY+qF
	jvNATS84dueIxjcuJ9V7iZ9N/d0xdgDsB9zGMa7v9IFRtHM5gWza5ZcRPNff/MKzQw==
X-Gm-Gg: Acq92OEa7mLfUyYEbFPeII+UgSfrBftMu2MC7IILKIj1XrTNVdB1kZhea4L9sZaCTKw
	Pye5K2AuPgLIA9UyTS/QBOmqr5QKsyPLPWO/twrH7XZLLvLgt/LbIU+cBBl78LbC3ta8txbXFCw
	X/W+UwuwTaYMB4q0YCznw5FoTWaadk5s6ycPSEWqvPn/n6FMsnufe4RjYN42RymHv+tT1HJrRI2
	p8WIiCgkqZHCfZIVDspwarMSYb5yRvnj6XfNMzTmOHdENcEPSjp+GNkHTSillAhXAA6IsdEZZS5
	ZYM+ELsuUMMumjUQfCK/UBFL/R8HluVV+9z2HW/FGoi8ievwoqUf102FuavRFEaJsBtYc81QBlq
	joPfDhv5RURQl8zY3/rqzL8tOquxMn+VTlSfY3zT7TgqL7TDPeBlwaxXxBwHKXnhzI2j7JebiER
	MGWjwj9FFwzlTnivormEUxzm/nZXmLx9ETjy1u/2N4aJGFbUw8HlG07aYAh5sBBhAoEor+hKTI8
	4otj1rEX96q/FY=
X-Received: by 2002:a05:600c:524b:b0:492:1f06:ec9b with SMTP id 5b1f17b1804b1-4921f06ee55mr201284265e9.24.1781602615032;
        Tue, 16 Jun 2026 02:36:55 -0700 (PDT)
Message-ID: <532152af-30fe-4a70-afbd-b0b5c1d1382b@suse.com>
Date: Tue, 16 Jun 2026 11:36:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22? 8/9] x86/domctl: don't imply I/O port
 permissions from I/O port 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>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Anthony PERARD <anthony.perard@vates.tech>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <a88eb54a-f0ff-4ad6-971f-ae526297a15d@suse.com>
 <ajEVgN9h78QFh6mZ@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: <ajEVgN9h78QFh6mZ@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1781602615-22D77C48-D080FD25/0/0
X-purgate-type: clean
X-purgate-size: 3944

On 16.06.2026 11:21, Roger Pau MonnÃ© wrote:
> On Mon, Jun 15, 2026 at 04:16:11PM +0200, Jan Beulich wrote:
>> Rather than granting permissions when mapping (an operation that DM-s are
>> allowed to carry out, while they can't invoke ioport-permission), check
>> whether permissions actually were granted when adding a mapping. This then
>> also allows relaxing the necessary locking.
>>
>> Fixes: 192c4dabc344 ("domctl and p2m changes for PCI passthru")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> libxl has libxl__grant_vga_iomem_permission(), but I can't spot any I/O
>> port equivalent (nor a revoke counterpart, btw). Everywhere else MMIO and
>> I/O ports look to be treated equally.
>>
>> Qemu uses both xc_domain_{iomem_permission,memory_mapping}() in
>> igd_write_opregion(), but only xc_domain_{memory,ioport}_mapping() in
>> xen_pt_region_update() and xen_pt_{,un}register_vga_regions(). Is the IGD
>> region special in any way? Clearly this can't work from a stubdom.

Both of these remarks are relevant to your response below. I realize I should
have Cc-ed Anthony, for him to comment on them.

>> --- a/xen/arch/x86/domctl.c
>> +++ b/xen/arch/x86/domctl.c
>> @@ -714,9 +714,14 @@ long arch_do_domctl(
>>              break;
>>  
>>          hvm = &d->arch.hvm;
>> -        iocaps_double_lock(d, true);
>> +        /*
>> +         * NB: The double lock isn't really needed when !add, but is used anyway
>> +         * to keep things simple.
>> +         */
>> +        iocaps_double_lock(d, false);
>>  
>> -        if ( !ioports_access_permitted(currd, fmp, fmp + np - 1) )
>> +        if ( !ioports_access_permitted(currd, fmp, fmp + np - 1) ||
>> +             (add && !ioports_access_permitted(d, fmp, fmp + np - 1)) )
>>              ret = -EPERM;
>>          else if ( add )
>>          {
>> @@ -747,15 +752,6 @@ long arch_do_domctl(
>>                  list_add_tail(&g2m_ioport->list, &hvm->g2m_ioport_list);
>>              }
>>              write_unlock(&hvm->g2m_ioport_lock);
>> -            if ( !ret )
>> -                ret = ioports_permit_access(d, fmp, fmp + np - 1);
>> -            if ( ret && !found && g2m_ioport )
>> -            {
>> -                write_lock(&hvm->g2m_ioport_lock);
>> -                list_del(&g2m_ioport->list);
>> -                write_unlock(&hvm->g2m_ioport_lock);
>> -                xfree(g2m_ioport);
>> -            }
>>          }
>>          else
>>          {
>> @@ -772,15 +768,9 @@ long arch_do_domctl(
>>                      break;
>>                  }
>>              write_unlock(&hvm->g2m_ioport_lock);
>> -
>> -            ret = ioports_deny_access(d, fmp, fmp + np - 1);
>> -            if ( ret && is_hardware_domain(currd) )
>> -                printk(XENLOG_ERR
>> -                       "ioport_map: error %ld denying dom%d access to [%x,%x]\n",
>> -                       ret, d->domain_id, fmp, fmp + np - 1);
>>          }
>>  
>> -        iocaps_double_unlock(d, true);
>> +        iocaps_double_unlock(d, false);
> 
> I think the new behavior is more sane, however the problematic aspect
> of this change is the removal case IMO: we cannot be sure whether
> existing callers rely on XEN_DOMCTL_ioport_mapping also removing the
> permissions, and hence Xen no longer removing the permissions might
> lead to leaks.
> 
> This is a risk we might be willing to take, but it must be stated in
> the commit message.

I've added

"While no longer granting permissions upon mapping is "only" at risk of
 breaking guests, no longer revoking permissions upon unmapping strictly
 requires callers to additionally invoke XEN_DOMCTL_ioport_permission. Or
 else a security issue would arise. In-tree code already does so."

>  And likely in a CHANGELOG entry so that external
> consumers are aware of this change and can adjust as necessary.

Will do.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:39:00 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:39:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338955.1600045 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQFt-0000W1-9m; Tue, 16 Jun 2026 09:38:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338955.1600045; Tue, 16 Jun 2026 09:38:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQFt-0000Vu-66; Tue, 16 Jun 2026 09:38:49 +0000
Received: by outflank-mailman (input) for mailman id 1338955;
 Tue, 16 Jun 2026 09:38:48 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZQFs-0000Vm-DK
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:38:48 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQFr-00EnCh-Q9
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:38:47 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3119a0-bab6-0a2a0a5309dd-0a2a450490e6-24
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:38:47 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3119a7-1dec-0a2a45040019-d1558031d40e-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:38:47 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490acbb0f89so27996235e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 02:38:47 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa890d8sm72597635e9.10.2026.06.16.02.38.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 02:38:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781602727; x=1782207527; 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=aGYGYZBBphWtZs5USZkmUwCaaHR3zBgFJ1Wjzt95IU0=;
        b=H2TiKCZI0ebb8usrsbrhDFu1JyGBbVEUIfqgyD8ZD669GuxlVrsdkeoKZHmy6VHQPZ
         ZV8nTZNXLMBWNCsm6958Td0DpLxkHnSXoQFPF/AawbXmWakjUFMENWheFsxBhJ6cPqKK
         Vof95MsMG5DuHbePDDucKjIjCO/ZlXyHTOJxry74wYslZ35ViyxDO19w6FKkgi1HPLZ2
         0Rb9iI2drTL0lBW/hZ/VGEZ2kQ/d+hFszJIeiZ8jKDjO2qCSQg1DlI0w808su4bv30Be
         Naoceqz+ILOsarRAxyfuw3/8Sol+aT44q6yyYe6Y18KMDFe7Yf8s3r2ZUljTy38KELSB
         BcjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781602727; x=1782207527;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=aGYGYZBBphWtZs5USZkmUwCaaHR3zBgFJ1Wjzt95IU0=;
        b=JOecnltvodHC1nN61nfP20oSpt7OLZCzA4hoytkr88yQZd4Cdha+0ZwTCZBZ9mYE1h
         Rkykhjmdd/y1fL35UQHgoSX3UtUyfP+dvcRAbxhglvbcPKPQzmSd90zq+2Xl7IZAqBWh
         +uZGhXofpTJ+LncHsLxCWx7OKwsxgKHm08pN3qFPrnxzTSQIRh/zIbYohpTwyrLiSlOz
         KdH95D5jyCU8ES13aMx4TRuqTWG+ulIOWMDVmz501nL19teJ6Qdf0TyhGkebk2lNAKYs
         fa8nHnuJk2l6cT80ISgFe+F31L01qeVoiJYv6xx3Zd6v10K4CaNjUznEbfneku7+urr2
         jbTw==
X-Forwarded-Encrypted: i=1; AFNElJ8x5KA2CDMdOc+LMZp5nuzBLDVFiaPHjiN18d78JZ3eC4gzcKm8ah8qBhDB5rAuZJTk8nQI6q9ePOY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxUTk0mBSdmO4AsWs/o+qQtnL78PnxWIoJbHVTxUn9d9GVXWnEc
	aQ8he+ahRkTlA2vxU6+ZJQLKfpsOT2GECnK/s1GusqljgcvBu+qzKkz/
X-Gm-Gg: Acq92OGyO9QkmlZ+fT973qMPk6jBe5m42ve3K7LaOxp4uVg8ZUOhFUnfE09TJh31l39
	kwA6GjkcMF37hpVPoyCT6pLhEL5Hra9/Hg+nVMfn24EmwMdT2JdVKIgZbdiSatSA5/nnVAplf8W
	ofSaCo2BU5NdMaNzGMRLYTCmzbS01uNyjUGWnAardHPf96CAbpc30KSW8+CYOxThKwLogS5gfDC
	LsO5N5TczMhFcJtviIJvaPPORJN6Sg+vEG9wF4IHz6T/AO7SxFLZEabLHfy/hA9NcWiH3SXgvKU
	hHIintjWPJlhLR2H7MeXKQdGNOOD3aJM8LSwRLzowSdsDL+9IHzAGaDjNRqgdzcsZmVGG6xOMRm
	JQ2SYQDORhNAba6Bfbo/pXjeMpbYyuCxTsajiaL2Ta92Aik5PvUYTvPl4NDK+mVdW3QIRyE5XZs
	AaaTFl+G0x98Bow6uP5UFLAjIKWeUl3ycQLCKpwBE4NBVjjpSA7cTs33I2oVsOZf+Tou9EneMRo
	XPfHQ==
X-Received: by 2002:a7b:c3d1:0:b0:492:323d:20ae with SMTP id 5b1f17b1804b1-492323d2118mr5069095e9.0.1781602726954;
        Tue, 16 Jun 2026 02:38:46 -0700 (PDT)
Message-ID: <ae74fd3a-87d7-43ad-99c4-3e575eb3770b@gmail.com>
Date: Tue, 16 Jun 2026 11:38:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 25/26] xen/riscv: add initial dom0less infrastructure
 support
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1778250616.git.oleksii.kurochko@gmail.com>
 <0b52530fe7287ed8600b1877b573b5cd0168634a.1778250616.git.oleksii.kurochko@gmail.com>
 <386f089a-9e68-428b-bdc4-0d36526f27fc@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <386f089a-9e68-428b-bdc4-0d36526f27fc@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1781602727-4197A3FF-BA8A9C3C/10/73395122804
X-purgate-type: spam
X-purgate-size: 5742



On 6/15/26 5:36 PM, Jan Beulich wrote:
> On 08.05.2026 16:43, Oleksii Kurochko wrote:
>> Enable dom0less support for RISC-V by selecting HAS_DOM0LESS and
>> providing the minimal architecture hooks required by the common
>> dom0less infrastructure.
>>
>> Add stub implementations for architecture-specific helpers used when
>> building domains from the device tree. These currently perform no
>> additional work but allow the generic dom0less code to build and run
>> on RISC-V.
>>
>> Introduce max_init_domid as a runtime variable rather than a constant
>> so that it can be updated during dom0less domain creation.
>>
>> Provide missing helpers and definitions required by the domain
>> construction code, including domain bitness helpers and the
>> p2m_set_allocation() prototype.
>>
>> Additionally define the guest magic memory region in the public
>> RISC-V interface.
>>
>> As HAS_DOM0LESS is selected for RISC-V now it could be a compilation
>> issue if CONFIG_STATIC_MEMORY=y as guest_physmap_add_pages() isn't
>> yet provided.
>>
>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> ---
>> Changes in v2:
>>   - Move declaration of p2m_set_allocation() to p2m-common.h.
>>   - Add __initdata for max_init_domid and drop initalizer for it.
>>   - Add CONFIG_STATIC_MEMORY=n to CI's randconfig to avoid
>>     compilation error because of guest_physmap_add_pages()
>>     isn't provided.
> 
> Yet another trap for people to fall into, and yet another item to clean
> up before the port is really ready to use. Imo there want to be
> HAS_STATIC_MEMORY, which RISC-V simply wouldn't select (for the time
> being).

Sounds good to me. I will do the following then in the separate patch:
diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig

index 683ab7d25a1e..d748404e82da 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -22,6 +22,7 @@ config ARM
         select HAS_GRANT_CACHE_FLUSH if GRANT_TABLE
         select HAS_SHARED_INFO
         select HAS_STACK_PROTECTOR
+       select HAS_STATIC_MEMORY
         select HAS_UBSAN

  config ARCH_DEFCONFIG
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 8b48d84c79e8..6e24f7f4e43b 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -161,6 +161,9 @@ config HAS_SCHED_GRANULARITY
  config HAS_SHARED_INFO
         bool

+config HAS_STATIC_MEMORY
+       bool
+
  config HAS_SOFT_RESET
         bool

@@ -196,7 +199,7 @@ config NUMA

  config STATIC_MEMORY
         bool "Static Allocation Support (UNSUPPORTED)" if UNSUPPORTED
-       depends on DOM0LESS_BOOT && HAS_DEVICE_TREE_DISCOVERY
+       depends on HAS_STATIC_MEMORY && DOM0LESS_BOOT && 
HAS_DEVICE_TREE_DISCOVERY
         help
           Static Allocation refers to system or sub-system(domains) for
           which memory areas are pre-defined by configuration using 
physical

> 
>> --- a/xen/arch/riscv/dom0less-build.c
>> +++ b/xen/arch/riscv/dom0less-build.c
>> @@ -102,3 +102,9 @@ int __init arch_parse_dom0less_node(struct dt_device_node *node,
>>   
>>       return 0;
>>   }
>> +
>> +int __init arch_handle_passthrough_prop(struct kernel_info *kinfo,
>> +                                        struct dt_device_node *node)
>> +{
>> +    return 0;
>> +}
> 
> No FIXME comment or anything alike? That is, nothing is going to be needed
> here even once pass-through is supported?

At the moment (even in downstream), RISC-V has nothing to do. I can just 
add the comment above return:
  /* Nothing specific to do for now */

> 
>> --- a/xen/arch/riscv/domain-build.c
>> +++ b/xen/arch/riscv/domain-build.c
>> @@ -158,9 +158,22 @@ int __init make_cpus_node(const struct domain *d, struct kernel_info *kinfo)
>>       return fdt_end_node(fdt);
>>   }
>>   
>> +int __init construct_hwdom(struct kernel_info *kinfo,
>> +                           const struct dt_device_node *node)
>> +{
>> +    return -EOPNOTSUPP;
>> +}
>> +
>>   int __init make_timer_node(const struct kernel_info *kinfo)
>>   {
>>       /* There is no need for timer node for RISC-V. */
>>   
>>       return 0;
>>   }
>> +
>> +int __init make_hypervisor_node(struct domain *d,
>> +                                const struct kernel_info *kinfo,
>> +                                int addrcells, int sizecells)
> 
> The last two parameters being of plain int type is, I suppose, dictated
> by DT code?

Yes, it is dictated by DT code.

> 
>> --- a/xen/arch/riscv/include/asm/guest-layout.h
>> +++ b/xen/arch/riscv/include/asm/guest-layout.h
>> @@ -24,4 +24,7 @@
>>   #define GUEST_RAM_BANK_BASES   { GUEST_RAM0_BASE, GUEST_RAM1_BASE }
>>   #define GUEST_RAM_BANK_SIZES   { GUEST_RAM0_SIZE, GUEST_RAM1_SIZE }
>>   
>> +#define GUEST_MAGIC_BASE  xen_mk_ullong(0x39000000)
>> +#define GUEST_MAGIC_SIZE  xen_mk_ullong(0x01000000)
> 
> Why xen_mk_ullong()? That's needed in the public headers only, iirc.

I didn't know that it is only for public headers.

I can change that to _ULL.

> 
> Also these are again two seemingly arbitrary numbers.

It is pretty arbitrary, I just took what isn't used by QEMU machine for 
its address space. I double checked and it should be changed to 
something else as it falls into PCIE_ECAM range:
     [VIRT_PCIE_ECAM] =    { 0x30000000,    0x10000000 },
     [VIRT_PCIE_MMIO] =    { 0x40000000,    0x40000000 },
     [VIRT_DRAM] =         { 0x80000000,           0x0 },

I will use 0x79000000 instead.

I will update the commit message that it GUEST_MAGIC_BASE and 
GUEST_MAGIC_SIZE are chosen arbitary and not to overlap with address 
space provided by QEMU for RISC-V machine.

Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:47:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:47:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338964.1600054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQOT-0002Ad-3B; Tue, 16 Jun 2026 09:47:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338964.1600054; Tue, 16 Jun 2026 09: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 1wZQOT-0002AW-0b; Tue, 16 Jun 2026 09:47:41 +0000
Received: by outflank-mailman (input) for mailman id 1338964;
 Tue, 16 Jun 2026 09:47:40 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wZQOR-000299-TV
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:47:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQOQ-0094xv-K1
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:47:38 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a311bb1-bab6-0a2a0a5309dd-0a2a4507c740-42
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:47:38 +0200
Received: from [74.125.224.53] (helo=mail-yx1-f53.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a311bb8-229c-0a2a45070019-4a7de035bc73-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:47:37 +0200
Received: by mail-yx1-f53.google.com with SMTP id
 956f58d0204a3-66049669d78so4142263d50.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 02:47: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1781603256; cv=none;
        d=google.com; s=arc-20240605;
        b=VpZlJYjEuP96KT+gUHS3SOrBTFbBh9XScCE7hsuLWAMOeQIsmy1z4DpSEkrQ1m0I6W
         1LDzJ1Jx3twGwWIetLN046jpzqKsAhBHHQQmmfluZhJzIDsmyVpj2+Baz7RIaD4DNcHR
         07AKf/HAKcojllq8NX5BAS5274vXH1pQzVrecABu4z2Uj5w9ca7A4Dr3YaguW+tok+H5
         NI5o+dQXOA/3dBf9g+8Fx6S83/X3uRDb8AB5DerxBuQzF2CGl1751ZTRjVTNbxU37elG
         2NLeR6KLRbzOXgbnrKfY6Ua3se8KjAq5SjWTvSbqczYqDAbHh19wp66797RKroFx+Q7K
         QOhw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature;
        bh=3QZzknEigUzqWgdbUogp3gXKzG4Dw5l0ENS04KVvDsY=;
        fh=JOhR8Zt5h87etEMw9WfkhqB1RxmWzX37a+o61Ig76GI=;
        b=EweFymU5sJTd3lAYNale49XJvkq1TN4+JugLC81c8QyCzh+A6X9GjF09ds2qWi5SKD
         fwkkfVVCA6QIVBOz0tBnwDYJjyLX1PP8HNRcC3f81i6gPMkL+lwU8HnrILElBdQNNj1O
         k7IXvmyMAxWRTRSECrnR/ucvST3WZCXCayPgXxkbctjVpmDDw3IfNkVZNEeWzCyIcNAO
         D/qfr9s1a1zGvCRwBFbSWKyHxg5mbgIz92SuyR5uNDQjRj+Mu83OCQhAap9hGokqJqsU
         d5hjrnM9lqvD6FeM6j2J177ZfcdwCwy94vVlhfogB2wq1uuklDZvIYTBfcGOjIgUSGSD
         HS3w==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781603256; x=1782208056; 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=3QZzknEigUzqWgdbUogp3gXKzG4Dw5l0ENS04KVvDsY=;
        b=GZBIxFB22RcZ+g24mMD7+S9FSlOaBBF37xV0cXxrjxbvSePWJc8ElsRCOsQPWPQekb
         qydpXAVkvMLah6pVLq7x08U33mtwmVDMcaPxKiSlOZFLpH/oNHrzPK+7AN7aXioODJb3
         TSqN3MXFambQwFrOus+M/wjYVllyfQzcE0ggMqVWq1cwDMqm4OuoyvsnJGFq6MU6vOCJ
         j8a11AgJC3Cjq5KYjIQ3GD1eMmg79qxsEfe5hwERhIT70a1tgl/OfUSlRM7VBN/SRkn/
         8jZ6py1XHEWvRV99SVz4UZJeypxqkPnEOKEkvHruHgC7k0jGeFztmF7BrLvXzoDUNXkz
         N1Lg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781603256; x=1782208056;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3QZzknEigUzqWgdbUogp3gXKzG4Dw5l0ENS04KVvDsY=;
        b=QKYgzZlo/zO1LaSCUang6GhuDLC7roF6tKjdqCNmePPaf0EOHWontyk2nh7EPmVPYN
         kDHKRf/j/liG55aM1xbM309DyrmMXcqfEucjeRbk4sfbgf1p9zY4LcaxxUsFA9tRd1mt
         SFvB5JKtWBiRyVJsFyLVOP3jbuuROMRqD9yBrLLoJN+LWPwi4GfFfGmqW+KOgdOG+2NA
         E1g0Igy7Gr71wxwD4qGodaoLqWRCZKW39G0oMpv+HC/vkhFRrqYZxAyKsCB0T+iqHMOs
         eoknQGdXYgRFWd/uF8R5ZqeCFp6URvD79v5vql25QwXG97V8bDOzdE3ywfYe5yjC3kls
         FEag==
X-Forwarded-Encrypted: i=1; AFNElJ+uSGQJHf7Nq2ifnXq8odzP9DsAgVXNezZ4P0l25V93/vhO1RSVf0MB97+YzYIrN+iJXYjQKZ+50Nw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzG1ZfHUSNC0IdYPnCRlM9WU49kKXEmI0sUolJqo0T1ttkVu0uu
	bNmeoKKljg4pCwOZ7FvejLrPYV3qMjQSxLDWhCmU51S3LP2qF4+CGyIxL5Kw+WpZU6/41wH0siv
	GaUBU4grbG7Iy7GiGwloMQ+cuA8M2ERg=
X-Gm-Gg: Acq92OGZYR6Ob3tIgq97El+3MjpR57wRg+hZDF5B6n0o0QOUgePH2bz8IJRY5oEY7yM
	A8UYCu9rXInuzRGZrOh0aLlUfowZwAHDmPNDY7EFX/cTHvElF4tgWf1sndvsv2sK6vmRe7wg2cQ
	TUbxEZtnRel3JOdmqE2MzGSnIsc36LRnWOpSwAlLx+9tvTNREev9aYNasbwI3A3I2LzpBkiL0aT
	oZbAK2PkgNg3sfLCOPs2uuM9NxvKbjgeoM7cqI4KLVBlab51nnyahDOFq6Q/EC13y8vMtvp+iA8
	vo0krs4oyqJlmiF5uY9VAjeNXeRUHtyMdXEqyw==
X-Received: by 2002:a05:690e:12c1:b0:65e:1c98:83c7 with SMTP id
 956f58d0204a3-662782d6bd7mr13915534d50.36.1781603256250; Tue, 16 Jun 2026
 02:47:36 -0700 (PDT)
MIME-Version: 1.0
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
 <20260613214749.20620-13-frediano.ziglio@cloud.com> <8289ea1d-ceca-40b6-a992-a778be053cd0@suse.com>
 <CAHt6W4en1yMLrUXv+RbcoPr-=S_=pi2Rrcm2BC2PzMZT+0ksFw@mail.gmail.com>
 <1c1829d2-4cb4-4e29-9012-fdcbca8d79a9@suse.com> <CAHt6W4daGuduOgRNUFOB8SZd+C5bxaubyQoU=xDcJSMzo97VDw@mail.gmail.com>
 <024e626a-e1be-4959-bd78-4e229beade98@suse.com>
In-Reply-To: <024e626a-e1be-4959-bd78-4e229beade98@suse.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Tue, 16 Jun 2026 10:47:24 +0100
X-Gm-Features: AVVi8Cd91XH6FxSePaHr4ktj52SqWfUG9PumqIvcgtNA0AbKNcBL7QrTN6kqAG8
Message-ID: <CAHt6W4d62wJyALu3pM52JB12FXfDS0+fDk6Hna9fP55acskSAA@mail.gmail.com>
Subject: Re: [PATCH v5 12/16] xen: implement new foreign copy hypercall
To: Jan Beulich <jbeulich@suse.com>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, Anthony PERARD <anthony.perard@vates.tech>, 
	Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org, 
	Daniel Smith <dpsmith@apertussolutions.com>
Content-Type: text/plain; charset="UTF-8"
X-purgate-ID: tlsNG-ef75cf/1781603257-21D6FC48-21EBECB6/0/0
X-purgate-type: clean
X-purgate-size: 9232

On Mon, 15 Jun 2026 at 16:23, Jan Beulich <jbeulich@suse.com> wrote:
>
> On 15.06.2026 17:07, Frediano Ziglio wrote:
> > On Mon, 15 Jun 2026 at 15:03, Jan Beulich <jbeulich@suse.com> wrote:
> >> On 15.06.2026 14:11, Frediano Ziglio wrote:
> >>> On Mon, 15 Jun 2026 at 08:41, Jan Beulich <jbeulich@suse.com> wrote:
> >>>> On 13.06.2026 23:47, Frediano Ziglio wrote:
> >>>>> +        {
> >>>>> +            struct page_info *foreign_page;
> >>>>> +            void *foreign;
> >>>>> +            p2m_type_t p2mt;
> >>>>> +            const unsigned long valid_mask =
> >>>>> +#ifdef CONFIG_X86
> >>>>> +                p2m_to_mask(p2m_ram_rw) | p2m_to_mask(p2m_ram_logdirty);
> >>>>> +#else
> >>>>> +                p2m_to_mask(p2m_ram_rw);
> >>>>> +#endif
> >>>>
> >>>> What about, for example, p2m_ram_ro? Or p2m_ram_shared? Or p2m_grant_map_*?
> >>>> Etc. Any artificial constraining wants justifying in the description and/or
> >>>> mentioning in the public header.
> >>>
> >>> The base of this was taken from migration code where there is such a check.
> >>> I suppose that adding p2m_ram_ro (where available) won't hurt.
> >>
> >> Just to mention, to avoid another round trip just because of this: p2m_ram_ro
> >> has different meaning on x86 vs Arm/RISC-V.
> >
> > That's confusing... should not this be fixed somehow?
> > It won't save much from a round-trip. Should I allow it or not ?
>
> Ask the Arm maintainers. I raised this issue more than once, without any real
> success.
>
> >>> p2m_ram_shared I'm not sure but seems fine too.
> >>> For p2m_grant_map_* it feels a bit a security issue to me. It would
> >>> allow a guest to give access to pages of other domains. It's true that
> >>> the current domain would have to have write access to this domain
> >>> anyway but extend these permissions sounds something it should not be
> >>> able to do.
> >>
> >> It could copy the contents of the grant mapped page by other means. Why not
> >> allow it in this new sub-op as well then?
> >
> > I'm more afraid of writing the content of the grant pages than copying it.
>
> But the same is true for writing to the granted page: The domain could do so
> by other means.
>
> >> Talking of security: When the page you copy to is owned by a PV guest, I
> >> think you further need to obtain a PGT_writable type ref. (Of course it then
> >> likely is easier to always do this, not just for PV.)
> >
> > Wondering how save/restore (or migration) works in this case.
>
> Save is not relevant here. Restore happens before the guest gains control.
> Which is entirely different from hypercall handling.
>
> >>>>> @@ -2012,6 +2139,13 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
> >>>>>              start_extent);
> >>>>>          break;
> >>>>>
> >>>>> +    case XENMEM_foreigncopy:
> >>>>> +        if ( unlikely(start_extent) )
> >>>>> +            return -EINVAL;
> >>>>
> >>>> Please address review comments (verbally or by code changes) before submitting
> >>>> a new version. Here I had asked "Why make this different from other continuable
> >>>> sub-ops?"
> >>>>
> >>>
> >>> There's already a comment in the same file for similar reason
> >>>
> >>>     /*
> >>>      * Limiting nr_frames at (UINT_MAX >> MEMOP_EXTENT_SHIFT) isn't ideal.  If
> >>>      * it ever becomes a practical problem, we can switch to mutating
> >>>      * xmar.{frame,nr_frames,frame_list} in guest memory.
> >>>      */
> >>>
> >>> so to avoid the doubt and possible future change I mutate the structure.
> >>> Also I use the mutation to give more information to the caller, using
> >>> "start_entent" won't allow this.
> >>
> >> You'll want to mention this in the description and/or a code comment. It
> >> wants to become clear that the inconsistency in behavior (with other sub-
> >> ops) is deliberate rather than accidental.
> >>
> >
> > Added a comment in the code:
> >
> >         if ( copy.nr_frames && hypercall_preempt_check() )
> >         {
> >             /*
> >              * Instead of using "start_extent" we update the structure back,
> >              * we update it back in anyway to tell caller were the copy
> >              * stopped.
> >              */
> >             rc = hypercall_create_continuation(
> >                 __HYPERVISOR_memory_op, "lh", XENMEM_foreigncopy, arg);
> >             goto out;
> >         }
>
> Please can this go into the hunk that I commented on?
>
> >>>>> --- a/xen/include/public/memory.h
> >>>>> +++ b/xen/include/public/memory.h
> >>>>> @@ -740,7 +740,45 @@ struct xen_vnuma_topology_info {
> >>>>>  typedef struct xen_vnuma_topology_info xen_vnuma_topology_info_t;
> >>>>>  DEFINE_XEN_GUEST_HANDLE(xen_vnuma_topology_info_t);
> >>>>>
> >>>>> -/* Next available subop number is 29 */
> >>>>> +/*
> >>>>> + * Copy memory from/to a given domain.
> >>>>> + */
> >>>>> +#define XENMEM_foreigncopy 29
> >>>>> +struct xen_foreigncopy {
> >>>>> +    /* IN - The domain whose resource is to be copied. */
> >>>>
> >>>> There's still "resource" here, when this really is about RAM (memory) only,
> >>>> not any other kind of resource.
> >>>>
> >>>>> +    domid_t domid;
> >>>>> +
> >>>>> +    /* IN - Flags. */
> >>>>> +#define XENMEM_foreigncopy_from 0
> >>>>> +#define XENMEM_foreigncopy_to 1
> >>>>> +#define XENMEM_foreigncopy_direction 1
> >>>>> +    uint16_t flags;
> >>>>> +
> >>>>> +    /*
> >>>>> +     * IN
> >>>>> +     *
> >>>>> +     * As an IN parameter number of frames of the domain to be copied.
> >>>>> +     */
> >>>>> +    uint32_t nr_frames;
> >>>>
> >>>> This isn't just an input, as you update the field (and the handles below).
> >>>> This property of fields wants reflecting here, so callers know that they (a)
> >>>> can't re-use the struct on a subsequent call without re-initializing the
> >>>> fields which may have changed, and (b) can't put the struct in r/o memory.
> >>>>
> >>>
> >>> Update comments:
> >>>
> >>> /*
> >>>  * Copy memory from/to a given domain.
> >>>  */
> >>> #define XENMEM_foreigncopy 29
> >>> struct xen_foreigncopy {
> >>>     /* IN - The domain whose memory is to be copied. */
> >>>     domid_t domid;
> >>>
> >>>     /* IN - Flags. */
> >>> #define XENMEM_foreigncopy_from 0
> >>> #define XENMEM_foreigncopy_to 1
> >>> #define XENMEM_foreigncopy_direction 1
> >>>     uint16_t flags;
> >>>
> >>>     /*
> >>>      * IN/OUT
> >>>      *
> >>>      * As an IN parameter number of frames of the domain to be copied.
> >>>      * On output on error updated number of frames left.
> >>>      */
> >>>     uint32_t nr_frames;
> >>
> >> This is updated not only on error, but also when encoding continuations.
> >>
> >
> > Yes, but this seems more an implementation detail to me. I don't think
> > the caller cares about how the continuation is implemented.
>
> You just can't know what a caller may or may not care about. You want to
> be precise.
>
> >>>>> +    /*
> >>>>> +     * IN
> >>>>> +     *
> >>>>> +     * Frames to be copied.
> >>>>> +     */
> >>>>> +    XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
> >>>>> +
> >>>>> +    /*
> >>>>> +     * IN/OUT
> >>>>> +     *
> >>>>> +     * Userspace buffer to read/write from.
> >>>>> +     */
> >>>>> +    XEN_GUEST_HANDLE(uint8) buffer;
> >>>>
> >>>> With these two handles, there continues to be a need to (explicitly) deal
> >>>> with the compat case as well.
> >>>
> >>> I don't agree with this. Domains having access to other domains are
> >>> limited (like stub domains for Qemu) and won't be 32 bits today so why
> >>> allow 32 bits guests if not ever used?
> >>
> >> How do you know? Why shouldn't e.g. XTF be permitted to test this in all
> >> possible modes? And even if all arguments end up in favor of "no compat
> >> support", this then wants spelling out to make clear this wasn't an
> >> oversight, but rather a conscious decision.
> >>
> >
> > XTF can do something like
> >
> > #if COMPAT_GUEST
> >     /* Compat guests are not supported, return success. */
> >     return 0;
> > # endif
> >
> > (or can be done in the Makefiles I suppose).
> >
> > Added a comment in memory.h:
> >
> >     /*
> >      * Copy memory from/to a given domain.
> >      * As this call requires target access and guest with target access won't be
> >      * compat guests supported for compat guests this is not implemented.
> >      */
>
> Well, okay. Right now what I can say is that with this it's then going to be
> rather unlikely that I'd ack the overall change. You make assumptions on
> what people may or may not do. There are still benefits to 32-bit environments
> in certain situations, even more so that the x32 mode of x86-64 didn't really
> take off.
>

Won't it save some round trips if you just told this a couple of
emails earlier? If you already knew that compat is worth doing why
asking to put a comment on it?

Similar to the discussion about Arm, if you know the issue, can you
explain it in more details? The description for the constant is the
same in all architecture, so, what is the difference?

> Jan

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:52:00 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:52:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338971.1600063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQSc-0003yZ-J3; Tue, 16 Jun 2026 09:51:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338971.1600063; Tue, 16 Jun 2026 09:51:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQSc-0003yS-G3; Tue, 16 Jun 2026 09:51:58 +0000
Received: by outflank-mailman (input) for mailman id 1338971;
 Tue, 16 Jun 2026 09:51:57 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZQSb-0003yM-4n
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:51:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQSa-0095hh-HZ
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:51:56 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a311cbc-bab6-0a2a0a5309dd-0a2a45039dee-2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:51:56 +0200
Received: from [209.85.128.47] (helo=mail-wm1-f47.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a311cbc-672d-0a2a45030019-d155802fa880-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:51:56 +0200
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-490b8ac62baso41897205e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 02:51:56 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa8b423sm65392005e9.11.2026.06.16.02.51.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781603516; x=1782208316; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=05fGKlc1rUu1TVLYOAFiDjjkaHU95ZE7aSJ6WAMBQJU=;
        b=C/YjfMAnqkJZd3qlqQx/ZED+Qe4iNDs2HfxgrRSFNPdLOyrVQIVghhzexTJZNJ19b1
         NXKb9Wb8+IRcNlyzT5Io/686A7F0bAbwBXVcrZ6Yqn0PIfAQnTEoIAekDx1zUowp2nDA
         5226ZpIYJb92H3ieRMyknV93+TQWlF9o8dxBLj77KvGvz4IvM8eVI1ZKI4m4PzaSqxsU
         9uB1B3nj68n/bexewJxK/5qiyJAsamneYm9BqQkZ6w57pZPmyk9nAAoEvxA9Vky5Qq0U
         0Waa0gcYhwGKlF8u1ZhUmbBu4OJXJ00ALhOiJdjc2tBUMTJbzKPM817IHtmbDSY1wnJH
         qBxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781603516; x=1782208316;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=05fGKlc1rUu1TVLYOAFiDjjkaHU95ZE7aSJ6WAMBQJU=;
        b=DVGEVhdOxprp6DelRKwbebzRgaF8Tamo6grmW9kGa3EbHBMMDpoSMUVzZiXBDku+sw
         fVjrWSdOrf88hub96TdGaVsWjawGGLjNDpTI23i+MmDmtXop2oYmvaK1R/Ubx5RCwu6W
         i2TK9fK+o6QSe4OSCXczV5CdrfSqGgPKtPm9C1F2LwaJkYpIMmjr2D5iWZ947L1BvNlF
         ggDvdxny/K60py4SIOmQ2vQXrmWLL3xG1lDxtIQKp8wvi0va1vM/XsllhTlnQiqgb5s2
         uTNizKKbs8wL2ndOAPkKqqvZTW/amOW0fwQCr4KNsXn+IwUYSfCT62da1yKP4eDB2J+c
         CmlA==
X-Gm-Message-State: AOJu0YxNPWIBv7vLJTF9d7DyWOx5yzKUoie/OJMGvkLbSXAYl07utL1g
	pv8XuwsC9XNZROwkX8/77E9frtoot68w6bapi0tjHCDm6cPRmdoU4MgigIkQEf5VuBqowEtr2KZ
	16CA=
X-Gm-Gg: Acq92OGLLFEm39SL65jSSsDjXz35dMWsa6yO2I8i5tDnJW4L9GX90yjpZ9e33Rmb09Q
	TbLnmeCzn0d/chr1YQJapg8ibFozLknDZuyVnvH8ilZVQG4ii+BijoGz/36/id7mO9qdyOeohDT
	Idu6YhR4CrKabQyHSuEGlzYdzFrT2TxjZWXYdGTkSKVGaiXoTc5f4T97AtFN2456e+wLSHlFk2v
	52rcrAitfyAmZDrsXKiRPAB+ZbOGsy21BUN1hOTFroM0odCUS3eSaCIxnYpWgXYYPfD/PahkF9Q
	fvSiTDazBUlk7ApWsxiWNl7gords/Av/F/cJTKI5NHd5QvAvjMW5gbq6LEoBFl/4CvDlkgeuP3j
	p6QNqLZFa7l+EEcTsRHbIibSQqX6JzZ23iptr4vkHIu/Irz/aItpLVd0QW3p25s2O7/hkNLx3yJ
	uqYsvHCa/iN3rM/gtI8U5UOjIBGmntMNY2HgJvLeKJwxZuBDRz7p4WNX7T1qFbd38psn3Bakfw8
	kHLadqMyXHWCWY=
X-Received: by 2002:a05:600c:c4a6:b0:48f:e230:29f4 with SMTP id 5b1f17b1804b1-4922fafbd30mr36297345e9.15.1781603515634;
        Tue, 16 Jun 2026 02:51:55 -0700 (PDT)
Message-ID: <ccc5bc2c-8331-4624-a5be-a5b1d649b1a6@suse.com>
Date: Tue, 16 Jun 2026 11:51:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22? 7/9] domctl: restrict permission check for
 XEN_DOMCTL_memory_mapping's remove form
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <5f49f890-426e-4076-8326-c2fbff433a35@suse.com>
 <ajESc7Ae_0bzd3IV@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: <ajESc7Ae_0bzd3IV@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1781603516-3BB6C938-41553071/0/0
X-purgate-type: clean
X-purgate-size: 2283

On 16.06.2026 11:08, Roger Pau MonnÃ© wrote:
> On Mon, Jun 15, 2026 at 04:15:36PM +0200, Jan Beulich wrote:
>> Like is already done for I/O ports on x86 and for IRQ unbinding, check
>> only the requesting domain's permissions (for it to not interfere with
>> MMIO backed by another stubdom DM), but not the target domain's: Removal
>> should be okay even (perhaps: especially) when permissions were already
>> revoked.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/xen/common/domctl.c
>> +++ b/xen/common/domctl.c
>> @@ -436,11 +436,15 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
>>              goto domctl_out_unlock_rcuonly;
>>  #endif
>>  
>> +        /*
>> +         * NB: The double lock isn't really needed when !add, but is used anyway
>> +         * to keep things simple.
>> +         */
>>          iocaps_double_lock(d, false);
>>  
>>          ret = -EPERM;
>>          if ( !iomem_access_permitted(current->domain, mfn, mfn_end) ||
>> -             !iomem_access_permitted(d, mfn, mfn_end) )
>> +             (add && !iomem_access_permitted(d, mfn, mfn_end)) )
> 
> You seem to be doing the opposite of what the commit message states
> here, and checking for permissions on the target domain, not
> permissions of the requesting domain?

I'm always checking permissions of the requesting domain, while the
target's are now checked only for "add". That's what the description
also says.

What's wrong with the description is ...

> XEN_DOMCTL_ioport_mapping does check against current->domain, and not
> against d.

... that it suggests this to be the behavior at the point of this patch,
when it really is moved to that only in patch 8. The patches used to be
ordered differently earlier on. I guess I should change the wording to
be closer to what's used in "x86/domctl: don't imply I/O port permissions
from I/O port mapping".

> FWIW, we could also remove one branch here by doing:
> 
> ret = -EPERM
> if ( add && iomem_access_permitted(current->domain, mfn, mfn_end) )
> {
>     /* add logic. */
> }
> else if ( !add )
> {
>     /* remove logic. */
> }

Indeed I was wondering whether something like this would be worthwhile,
but I opted for the variant with less overall churn.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 09:55:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 09:55:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338978.1600072 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQWE-0004hj-42; Tue, 16 Jun 2026 09:55:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338978.1600072; Tue, 16 Jun 2026 09:55: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 1wZQWE-0004hc-1C; Tue, 16 Jun 2026 09:55:42 +0000
Received: by outflank-mailman (input) for mailman id 1338978;
 Tue, 16 Jun 2026 09:55:41 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ecfdb9b7d000701b@swg.vates.tech>)
 id 1wZQWD-0004gR-GF
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 09:55:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQWC-00G8i1-DZ
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:55:40 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ecfdb9b7d000701b@swg.vates.tech>)
 id 6a311d8b-2eae-0a2a0a5409dd-0a2a4507be1c-36
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:55:40 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ecfdb9b7d000701b@swg.vates.tech>)
 id 6a311d9c-229c-0a2a45070019-b9ff1c1296fb-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 11:55:40 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ecfdb9b7d000701b.007 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 16 Jun 2026 09:55:36 +0000
Received: from [192.168.1.18] (88-188-240-210.subs.proxad.net [88.188.240.210])
 (Authenticated sender: teddy.astie)
 by mail2.vates.fr (Postfix) with ESMTPSA id A772986570;
 Tue, 16 Jun 2026 11:55: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=DRaCbEi9RDImnrJhXMid53D/I8ueZqhZWIMUZwS6ZDY=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=Won6GrzIlkFQROPBYj8K1QtC3Te0JOT168K67Hu76u8lWSmmSfqpuB0rnA2La/2yehQ04U9Ea
 ze1Q/EAdF8Wdt4rYtiZezPEXubj7JDasy7qFaw54fLjcfvu8V1F8ROckOKntcWUUGtxPuPjNWaP
 WpOw9hb9uCN+4n12ebxkNzn2veNNpvgMuoYrf49EHK6GQyFMD8IyQ2Kiat+E2TGtrcrB4Q2R0FU
 ob/H6L70PipYV80l+Rp26PBBPu8cNoyw2ICQ7LSQYOjN1OTEmBLlaHgs/bQVgENfOI9e5MUGf+i
 LbJS7rqKdRn6IGf4vFNLrGW1MpyVlCGQYqp/CB+1glMA==
X-Zone-Loop: e1c25fd78962bc1547fa946927bc92a28f71fc6e3794
x-campaign-type: default
x-transaction-id: 0a56fad7-2293-409e-8a77-ebc961904113
x-swg-uid: 01-430f55a8-9894-4f16-8af8-b78b57285057
X-Mailer: Sweego
Message-ID:
 <1781603736.8631fc262581453bbf619ec5b2062170.19ecfdb9b7d000701b@vates.tech>
x-swg-bid: 1781603736.8631fc262581453bbf619ec5b2062170.19ecfdb9b7d000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Tue, 16 Jun 2026 11:55:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/4] lib: make safe_copy_string_from_guest() validate
 input
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>, Daniel Smith <dpsmith@apertussolutions.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
 <7e492b98-26d5-4d90-a703-ee25beae7e23@suse.com>
Content-Language: en-US
From: Teddy Astie <teddy.astie@vates.tech>
Autocrypt: addr=teddy.astie@vates.tech; keydata=
 xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7LTBVHV/XO
 Zw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJT4ny+OGntnJntUoR
 KRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJAWicutjkkUgd28Bh6HV9EIumH
 tCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaT
 VqMdqul07o72m3eA2mf+LMu9a04FX/d4wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/
 EoucejoZ5SH49ksmVAmKOLktOaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+S
 PhHar7TPKjFz0G3DPNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89
 MXfQXZ3qt1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
 LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWjmoACGwME
 CwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNzuyOVCskwfUZPla6Z
 pd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp0x0HfuhcYfAYPR46XHTvjaJE
 v99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuROxdK8G+YHccJY8PvWSq2K2yiae2KGiAv
 1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhP
 eP3IdpfWc8cyRLXF06Rk46YMYCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcT
 UwgnYlFRk2FLq0QeKEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9
 Egr/Wmu3MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
 f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEMAKiQiZa3
 yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ3DbVf+en3/FvdVZg
 2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTmetSG5/52AjtmPFtlXAk0NmLv
 fJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0s3109sJeXT5ImVdphFs9cvyZyBT9t1Pb
 Rowv58EgV0zE4hbAeVkULAbxFV5b/ExTjjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKb
 Yu6NCfiHfEyB3Xyg9hfdrRgjMRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ov
 XoK4jm+Py0FiUGUaA6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/
 eVtR2Q1wZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
 IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWjmoACGwwA
 CgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiVoUiHYN5QwhnbZnsa
 JDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764QxyX6rld2f2RcWkDuBHun55ZWXj
 by8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk/dS0XTOQi2wVUb17sW/+ybCEokdVacZG
 zOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fuoGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+
 lOWSvdNHgoEkWR0RXBPQjnGmLKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/Off
 O485NOTKwGOxyWb006cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR
 8ULR9nX0LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
 x9fhaZEsniw8/bYgC3igkk5YJiOa
In-Reply-To: <7e492b98-26d5-4d90-a703-ee25beae7e23@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------7x0Un0WrRta0V06v7ou004O1"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781603735917
X-purgate-ID: tlsNG-ef75cf/1781603740-08961C48-2FFAB548/0/0
X-purgate-type: clean
X-purgate-size: 11490

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------7x0Un0WrRta0V06v7ou004O1
Content-Type: multipart/mixed; boundary="------------ZK2ybu0YmKhbALu031yQbiQL";
 protected-headers="v1"
From: Teddy Astie <teddy.astie@vates.tech>
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>, Daniel Smith <dpsmith@apertussolutions.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Message-ID: <6c4855ac-5a13-4234-8757-c0e10e9bd366@vates.tech>
Subject: Re: [PATCH 4/4] lib: make safe_copy_string_from_guest() validate
 input
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
 <7e492b98-26d5-4d90-a703-ee25beae7e23@suse.com>
In-Reply-To: <7e492b98-26d5-4d90-a703-ee25beae7e23@suse.com>

--------------ZK2ybu0YmKhbALu031yQbiQL
Content-Type: multipart/mixed; boundary="------------BnZOf9bMl63xyDAkBVQesUHE"

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

TGUgMTYvMDYvMjAyNiDDoCAxMTowNSwgSmFuIEJldWxpY2ggYSDDqWNyaXTCoDoNCj4gLi4u
IHJhdGhlciB0aGFuIHBhcGVyaW5nIG92ZXIgZ3Vlc3QgZmxhd3M6IFN0cmluZ3MgcGFzc2Vk
IG91Z2h0IHRvIGJlIG51bC0NCj4gdGVybWluYXRlZCAoeWV0IHNhZGx5IGxpYnhjIGhhc24n
dCBiZWVuIGRvaW5nIHNvIHRodXMgZmFyKS4gVGhpcyB3YXkgd2UNCj4gYWxzbyBhdm9pZCBv
cmRlci0xIGFsbG9jYXRpb25zLCBzZWVpbmcgdGhhdCBhbGwgcHJlc2VudCBjYWxsZXJzIHBh
c3MNCj4gUEFHRV9TSVpFIGZvciBtYXhfc2l6ZS4NCj4gDQoNCkknbSBub3Qgc3VyZSB0byBm
dWxseSB1bmRlcnN0YW5kIHRoZSBjb21taXQgbWVzc2FnZSwgaXMgaXQgbW9yZSBhYm91dCAN
CnBvc3NpYmxlIFBBR0VfU0laRSsxIGFsbG9jYXRpb25zIChoZW5jZSAyIHBhZ2VzIHJlcXVp
cmVkKSBvciBzb21ldGhpbmcgDQplbHNlID8NCg0KPiBTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1
bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IC0tLQ0KPiBJIGNhbid0IHNwb3QgYW55IGNh
bGxlciBzaWRlIHVzZSBvZiBGTEFTS19ERVZJQ0VUUkVFX0xBQkVMLCBoZW5jZSB0aGVyZSdz
DQo+IG5vIGNvcnJlc3BvbmRpbmcgcHJlcmVxIHBhdGNoLg0KPiANCj4gLS0tIGEvQ0hBTkdF
TE9HLm1kDQo+ICsrKyBiL0NIQU5HRUxPRy5tZA0KPiBAQCAtMTEsNiArMTEsOCBAQCBUaGUg
Zm9ybWF0IGlzIGJhc2VkIG9uIFtLZWVwIGEgQ2hhbmdlbG9nDQo+ICAgICAgdG8gb2J0YWlu
IGFuIGF1dG9tYXRpY2FsbHkgYWxsb2NhdGVkIGRvbWlkLiAgVGhlIHByaW9yIHNlbnRpbmVs
IHZhbHVlcyAoMA0KPiAgICAgIHNpbmNlIHRoZSBzdGFydCBvZiBYZW4sIGFuZCBET01JRF9J
TlZBTElEIHNpbmNlIFhlbiA0LjIxKSBub3cgbm8gbG9uZ2VyDQo+ICAgICAgcmVwcmVzZW50
IGEgd2lsZGNhcmQgaW5wdXQuDQo+ICsgLSBYRU5fRE9NQ1RMX0RFVl9EVCdzLCBGTEFTS19b
R1NdRVRCT09MJ3MsIGFuZCBGTEFTS19ERVZJQ0VUUkVFX0xBQkVMJ3MgaW5wdXQNCj4gKyAg
IHN0cmluZyBzaXplcyBuZWVkIHRvIGluY2x1ZGUgdGhlIG51bCB0ZXJtaW5hdG9yLg0KPiAg
ICAtIE9uIHg4NjoNCj4gICAgICAtIEVuYWJsZSBwZi1maXh1cCBvcHRpb24gYnkgZGVmYXVs
dCBmb3IgUFZIIGRvbTAuDQo+ICAgICAgLSBUaGUgbGlieGVuZ3Vlc3QgYnpJbWFnZSBsb2Fk
ZXIgbm93IHVzZXMgdGhlIHN5c3RlbSBsaWJsejQgbGlicmFyeS4NCj4gLS0tIGEveGVuL2xp
Yi9ndWVzdC1zdHJjcHkuYw0KPiArKysgYi94ZW4vbGliL2d1ZXN0LXN0cmNweS5jDQo+IEBA
IC0zLDggKzMsOCBAQA0KPiAgICNpbmNsdWRlIDx4ZW4vZXJyLmg+DQo+ICAgDQo+ICAgLyoN
Cj4gLSAqIFRoZSBmdW5jdGlvbiBjb3BpZXMgYSBzdHJpbmcgZnJvbSB0aGUgZ3Vlc3QgYW5k
IGFkZHMgYSBOVUwgdG8NCj4gLSAqIG1ha2Ugc3VyZSB0aGUgc3RyaW5nIGlzIGNvcnJlY3Rs
eSB0ZXJtaW5hdGVkLg0KPiArICogVGhlIGZ1bmN0aW9uIGNvcGllcyBhIHN0cmluZyBmcm9t
IHRoZSBndWVzdCBhbmQgY2hlY2tzIHRoZXJlJ3MgYSBOVUwNCj4gKyAqIHRlcm1pbmF0aW5n
IHRoZSBzdHJpbmcuDQo+ICAgICovDQo+ICAgY2hhciAqc2FmZV9jb3B5X3N0cmluZ19mcm9t
X2d1ZXN0KFhFTl9HVUVTVF9IQU5ETEUoY2hhcikgdV9idWYsDQo+ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBzaXplLCBzaXplX3QgbWF4X3NpemUpDQo+
IEBAIC0xNCw4ICsxNCw3IEBAIGNoYXIgKnNhZmVfY29weV9zdHJpbmdfZnJvbV9ndWVzdChY
RU5fR1UNCj4gICAgICAgaWYgKCBzaXplID4gbWF4X3NpemUgKQ0KPiAgICAgICAgICAgcmV0
dXJuIEVSUl9QVFIoLUVOT0JVRlMpOw0KPiAgIA0KPiAtICAgIC8qIEFkZCBhbiBleHRyYSAr
MSB0byBhcHBlbmQgXDAgKi8NCj4gLSAgICB0bXAgPSB4bWFsbG9jX2FycmF5KGNoYXIsIHNp
emUgKyAxKTsNCj4gKyAgICB0bXAgPSB4bWFsbG9jX2FycmF5KGNoYXIsIHNpemUpOw0KPiAg
ICAgICBpZiAoICF0bXAgKQ0KPiAgICAgICAgICAgcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7
DQo+ICAgDQo+IEBAIC0yNCw3ICsyMywxMiBAQCBjaGFyICpzYWZlX2NvcHlfc3RyaW5nX2Zy
b21fZ3Vlc3QoWEVOX0dVDQo+ICAgICAgICAgICB4ZnJlZSh0bXApOw0KPiAgICAgICAgICAg
cmV0dXJuIEVSUl9QVFIoLUVGQVVMVCk7DQo+ICAgICAgIH0NCj4gLSAgICB0bXBbc2l6ZV0g
PSAnXDAnOw0KPiArDQo+ICsgICAgaWYgKCAhbWVtY2hyKHRtcCwgMCwgc2l6ZSkgKQ0KPiAr
ICAgIHsNCj4gKyAgICAgICAgeGZyZWUodG1wKTsNCj4gKyAgICAgICAgcmV0dXJuIEVSUl9Q
VFIoLUVNU0dTSVpFKTsNCj4gKyAgICB9DQoNCkVNU0dTSVpFIGZlZWxzIGEgYml0IG9kZCBh
cyB0aGUgaXNzdWUgaGVyZSBpcyB0aGF0IHRoZXJlIGlzIG5vIE5VTCANCnRlcm1pbmF0b3Ig
cmF0aGVyIHRoYW4gdGhlIG1lc3NhZ2UgYmVpbmcgdG9vIGxhcmdlLg0KDQpXaGF0IGFib3V0
IEVJTFNFUSBhcyB3ZSBlbmNvdW50ZXJlZCBhIG1hbGZvcm1lZCBzdHJpbmcgPw0KDQo+ICAg
DQo+ICAgICAgIHJldHVybiB0bXA7DQo+ICAgfQ0KPiAtLS0gYS94ZW4vaW5jbHVkZS9wdWJs
aWMvZG9tY3RsLmgNCj4gKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oDQo+IEBA
IC01NzQsNyArNTc0LDcgQEAgc3RydWN0IHhlbl9kb21jdGxfYXNzaWduX2RldmljZSB7DQo+
ICAgICAgICAgICAgICAgdWludDMyX3QgbWFjaGluZV9zYmRmOyAgIC8qIG1hY2hpbmUgUENJ
IElEIG9mIGFzc2lnbmVkIGRldmljZSAqLw0KPiAgICAgICAgICAgfSBwY2k7DQo+ICAgICAg
ICAgICBzdHJ1Y3Qgew0KPiAtICAgICAgICAgICAgdWludDMyX3Qgc2l6ZTsgLyogTGVuZ3Ro
IG9mIHRoZSBwYXRoICovDQo+ICsgICAgICAgICAgICB1aW50MzJfdCBzaXplOyAvKiBMZW5n
dGggb2YgdGhlIHBhdGgsIGluY2x1ZGluZyBudWwgdGVybWluYXRvciAqLw0KPiAgICAgICAg
ICAgICAgIFhFTl9HVUVTVF9IQU5ETEVfNjQoY2hhcikgcGF0aDsgLyogUGF0aCB0byB0aGUg
ZGV2aWNlIHRyZWUgbm9kZSAqLw0KPiAgICNpZmRlZiBfX1hFTl9fDQo+ICAgICAgICAgICAg
ICAgc3RydWN0IGR0X2RldmljZV9ub2RlICpkZXY7IC8qIFJlc29sdmVkIGRldmljZSBub2Rl
IG9mIHRoZSBhYm92ZSAqLw0KPiAtLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMveHNtL2ZsYXNr
X29wLmgNCj4gKysrIGIveGVuL2luY2x1ZGUvcHVibGljL3hzbS9mbGFza19vcC5oDQo+IEBA
IC0yNiw3ICsyNiw4IEBAIHR5cGVkZWYgc3RydWN0IHhlbl9mbGFza19zZXRlbmZvcmNlIHhl
bl8NCj4gICBzdHJ1Y3QgeGVuX2ZsYXNrX3NpZF9jb250ZXh0IHsNCj4gICAgICAgLyogSU4v
T1VUOiBzaWQgdG8gY29udmVydCB0by9mcm9tIHN0cmluZyAqLw0KPiAgICAgICB1aW50MzJf
dCBzaWQ7DQo+IC0gICAgLyogSU46IHNpemUgb2YgdGhlIGNvbnRleHQgYnVmZmVyDQo+ICsg
ICAgLyoNCj4gKyAgICAgKiBJTjogc2l6ZSBvZiB0aGUgY29udGV4dCBidWZmZXIsIGluY2x1
ZGluZyBudWwgdGVybWluYXRvcg0KPiAgICAgICAgKiBPVVQ6IGFjdHVhbCBzaXplIG9mIHRo
ZSBvdXRwdXQgY29udGV4dCBzdHJpbmcNCj4gICAgICAgICovDQo+ICAgICAgIHVpbnQzMl90
IHNpemU7DQo+IEBAIC04Niw4ICs4NywxMSBAQCBzdHJ1Y3QgeGVuX2ZsYXNrX2Jvb2xlYW4g
ew0KPiAgICAgICB1aW50OF90IG5ld192YWx1ZTsNCj4gICAgICAgLyogSU46IGNvbW1pdCBu
ZXcgdmFsdWUgaW5zdGVhZCBvZiBvbmx5IHNldHRpbmcgcGVuZGluZyBbU0VUXSAqLw0KPiAg
ICAgICB1aW50OF90IGNvbW1pdDsNCj4gLSAgICAvKiBJTjogc2l6ZSBvZiBib29sZWFuIG5h
bWUgYnVmZmVyIFtHRVQvU0VUXQ0KPiAtICAgICAqIE9VVDogYWN0dWFsIHNpemUgb2YgbmFt
ZSBbR0VUIG9ubHldICovDQo+ICsgICAgLyoNCj4gKyAgICAgKiBJTjogc2l6ZSBvZiBib29s
ZWFuIG5hbWUgYnVmZmVyIFtHRVQvU0VUXTsgbXVzdCBjb3ZlciBudWwgdGVybWluYXRvcg0K
PiArICAgICAqICAgICBpZiAibmFtZSIgKGJlbG93KSBpcyBhbiBpbnB1dA0KPiArICAgICAq
IE9VVDogYWN0dWFsIHNpemUgb2YgbmFtZSBbR0VUIG9ubHldDQo+ICsgICAgICovDQo+ICAg
ICAgIHVpbnQzMl90IHNpemU7DQo+ICAgICAgIC8qIElOOiBpZiBib29sX2lkIGlzIC0xLCB1
c2VkIHRvIGZpbmQgYm9vbGVhbiBbR0VUL1NFVF0NCj4gICAgICAgICogT1VUOiB0ZXh0dWFs
IG5hbWUgb2YgYm9vbGVhbiBbR0VUIG9ubHldDQo+IEBAIC0xNTAsNyArMTU0LDcgQEAgdHlw
ZWRlZiBzdHJ1Y3QgeGVuX2ZsYXNrX3JlbGFiZWwgeGVuX2ZsYQ0KPiAgIHN0cnVjdCB4ZW5f
Zmxhc2tfZGV2aWNldHJlZV9sYWJlbCB7DQo+ICAgICAgIC8qIElOICovDQo+ICAgICAgIHVp
bnQzMl90IHNpZDsNCj4gLSAgICB1aW50MzJfdCBsZW5ndGg7DQo+ICsgICAgdWludDMyX3Qg
bGVuZ3RoOyAvKiBsZW5ndGggb2YgdGhlIHBhdGgsIGluY2x1ZGluZyBudWwgdGVybWluYXRv
ciAqLw0KPiAgICAgICBYRU5fR1VFU1RfSEFORExFKGNoYXIpIHBhdGg7DQo+ICAgfTsNCj4g
ICB0eXBlZGVmIHN0cnVjdCB4ZW5fZmxhc2tfZGV2aWNldHJlZV9sYWJlbCB4ZW5fZmxhc2tf
ZGV2aWNldHJlZV9sYWJlbF90Ow0KPiANCj4gDQoNClRoZSByZXN0IGxvb2tzIGdvb2QgdG8g
bWUuDQoNClRlZGR5DQo=
--------------BnZOf9bMl63xyDAkBVQesUHE
Content-Type: application/pgp-keys; name="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Disposition: attachment; filename="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7L
TBVHV/XOZw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJ
T4ny+OGntnJntUoRKRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJA
WicutjkkUgd28Bh6HV9EIumHtCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO
8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaTVqMdqul07o72m3eA2mf+LMu9a04FX/d4
wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/EoucejoZ5SH49ksmVAmKOLkt
OaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+SPhHar7TPKjFz0G3D
PNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89MXfQXZ3q
t1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWj
moACGwMECwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNz
uyOVCskwfUZPla6Zpd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp
0x0HfuhcYfAYPR46XHTvjaJEv99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuR
OxdK8G+YHccJY8PvWSq2K2yiae2KGiAv1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50
wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhPeP3IdpfWc8cyRLXF06Rk46YM
YCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcTUwgnYlFRk2FLq0Qe
KEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9Egr/Wmu3
MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEM
AKiQiZa3yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ
3DbVf+en3/FvdVZg2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTm
etSG5/52AjtmPFtlXAk0NmLvfJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0
s3109sJeXT5ImVdphFs9cvyZyBT9t1PbRowv58EgV0zE4hbAeVkULAbxFV5b/ExT
jjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKbYu6NCfiHfEyB3Xyg9hfdrRgj
MRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ovXoK4jm+Py0FiUGUa
A6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/eVtR2Q1w
ZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWj
moACGwwACgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiV
oUiHYN5QwhnbZnsaJDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764Qxy
X6rld2f2RcWkDuBHun55ZWXjby8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk
/dS0XTOQi2wVUb17sW/+ybCEokdVacZGzOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fu
oGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+lOWSvdNHgoEkWR0RXBPQjnGm
LKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/OffO485NOTKwGOxyWb0
06cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR8ULR9nX0
LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
x9fhaZEsniw8/bYgC3igkk5YJiOa
=3DlUIA
-----END PGP PUBLIC KEY BLOCK-----

--------------BnZOf9bMl63xyDAkBVQesUHE--

--------------ZK2ybu0YmKhbALu031yQbiQL--

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

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

wsD5BAABCAAjFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmoxHZcFAwAAAAAACgkQZg+p0QLLz9DU
Xgv/evF0Ujna2K+E0mmmD4o9bB+1Nrc7HlU5VO2NBVm2DX02ZnKTHHE5vQlwdQXrCmo4yo1x7py0
BPLSyriBQ5RaZ+hXTGZyompvZZj4juFCqgHaMrYz+5N8DYCvWlTOjfy9f8R30Q5HGKb7xWydeNxD
e83ltM7j4PpLmO+IIG6TEvyYucYuES36RASlDCG3D20qDvCaYPRiaK9PhNl9887fjihXvRgfJkzq
1PvSOrfAYqTBHCACgtVV0WbcS/4SKQlUQqVHJAbRi6j+4+zc75XnvMkmEp5dK+yDsNlRBPznkVnz
hdJnLoZ39RZsgNFKPGmy80zltw1uwU/vtGWlDeDUfqLNxK6m0QOXoAUR7VEDZxy9EiGEq+6heljP
YqqjOMipRUzhxerc/ylXXVLA8eWGHfOIbQULRiuXK+ymNkkPtoYFz7zScrn2TKFv3mizTzid5FlA
6eDXgvllDbxUO7LKVEILwDHUFEUaoyvEaK3mqO6NNa+vzia88rYeONVZcH17
=3D+r
-----END PGP SIGNATURE-----

--------------7x0Un0WrRta0V06v7ou004O1--


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 10:00:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 10:00:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338986.1600080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQav-0006cm-L3; Tue, 16 Jun 2026 10:00:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338986.1600080; Tue, 16 Jun 2026 10: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 1wZQav-0006cf-IG; Tue, 16 Jun 2026 10:00:33 +0000
Received: by outflank-mailman (input) for mailman id 1338986;
 Tue, 16 Jun 2026 10:00:33 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZQav-0006cZ-2v
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:00:33 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQau-00GASE-8h
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:00:32 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a311ebf-5cb7-0a2a0a5109dd-0a2a45049f82-4
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:00:32 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a311ebf-1dec-0a2a45040019-d155802ab167-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:00:32 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-490b613a17bso39931925e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 03:00: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-49230a58becsm46435065e9.7.2026.06.16.03.00.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 03:00:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781604031; x=1782208831; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=47lvtc1qPBlaDe4wl5rQuZQ6Hp7433nFKcad71tFleE=;
        b=V2xgqwDhc6jZBcysDF8r/xtP27roxZj7lo19TLCZWegeJA2FzGIAkjljNJBP5wUjF3
         ypEweO0Gxvo72ZRghyREJ7+rDoVbcIwV0OLQNTnzUqD1LPYTw8zXOoeFvgzXb49Oxtk4
         1tkikcwii9elgxH06epWOMxPJlzrZMy7QMQ0/TKx9pW+CsOX22hUK83o90kvBc3zUh0w
         FocjB7mWUO/W/ccgWDIkBurL4xWKNZJE48iniTxJez8016WoaRy8WBEIhDKmCq/1C69Y
         wBvTJ/3qNvZZEeSkK1I8BJU7kWE5YNWJJgK7Gn8gWENq0BgZji7DquG2Dngc7IXY7iwD
         uCaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781604031; x=1782208831;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=47lvtc1qPBlaDe4wl5rQuZQ6Hp7433nFKcad71tFleE=;
        b=GmBzX5Fv7pGlKbVawteC6ytpbaGHaW8PiesPrt/znSymOjopLmqaACi4ViNPw861rl
         uZmEsCYcPE5GqyPFEhcR+oInkGkIK8/yRWcGIMIyV4vMDE3vb0Dr0gGame9+yTGqMxnN
         Y0rgS3DUIVWaLS3xM/Mtek9/RAg9CmxkhqDmE8uvTAF+ebGoK1DrrujZlRRQjedRNLgL
         zBX1G3NHiU936tZm06BdDItXLVCXCbtIebIeK6VMWEA/JdAySa1mCw7mXbMKCJiHJC9a
         bKa4sAyEe+YVPG/TG31FfmmggX3PzPsgiExMJMWx0GXmZLqZEgwG6INTH3sqpzyLwGO9
         dx6A==
X-Forwarded-Encrypted: i=1; AFNElJ/LBHY4p9PjabSHvTdxVtVxdYZlEbqB8qhAb+WcrMjx3JdHnH0sD2ZkUgizhNbeipk3M/mht2JZnPw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwCcTNkWjNStcPoslVivAv4qRN4NP4TZWDkoT67QypUjeCdY5Y7
	FcnGSgZh+E9/wp5oODCU51kRBqDb68EoME/lD7bEbSQkEhzAO+ZFFVAjKUVI4v/24sQZK+NPbyh
	1pSQ=
X-Gm-Gg: Acq92OHF2fAguekjALWdYc/YMXgmWxdABwuFoeVi4I48NLdDKMd1pt7xohX4mJmrHAc
	be+7E3r1ZawoJxVqB8zmF89Ksv+ep4VVjlacfnj7lrACA/2YAlQPKaWaTfcvx1oPl8takRcOfnq
	EiSGoMRO+jEsCLUlTeot1cAJpEduLOzPw8NmY1HJOqaZuQ5KK926smbr+Xz/a+aUVZQAmPX15DI
	b2hKA5BINaTwAphjFYDgbsdv3kVKwc/vfXhHkqLd2xwNGscJigBVDje3E4FHRpl3JGbv/zOF3tP
	YjXaHyyo6YKvmey2wmhMf4lRReD4V6JEME6sUuc5KJ1G256PtQk6Dw6Kf5iBvT1nJgod7LidUrt
	Nj42/fkLBnJzh8fCmxUrua7ShR7lQR5Ny0XiojWoRaRsLM05L/zr27KcqTNvmknoX8O0zqlKcMC
	ExJTlEks3xm+dpBvhbINNbZecJHRlceYDJbE3kBWif8TOipeoubgxQu7wb2esg8w5T0XF4xBKHG
	ZIcHY8p8T4PoSU=
X-Received: by 2002:a05:600c:c3cf:20b0:490:48b7:c1ff with SMTP id 5b1f17b1804b1-4922ffaee06mr34955355e9.17.1781604031364;
        Tue, 16 Jun 2026 03:00:31 -0700 (PDT)
Message-ID: <2cc83d7a-1e22-4c2f-85ff-7e9daa0876ab@suse.com>
Date: Tue, 16 Jun 2026 12:00:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/4] libxc: drop size parameter from
 xc_flask_context_to_sid()
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>,
 Anthony PERARD <anthony.perard@vates.tech>
Cc: Daniel Smith <dpsmith@apertussolutions.com>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
 <e2d95536-655d-4ce4-8170-e5be8f5baa99@suse.com>
 <33cc1e9d-38c5-44b4-b25b-0f38b625d279@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: <33cc1e9d-38c5-44b4-b25b-0f38b625d279@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ebf023/1781604032-429623FF-A4965DE3/0/0
X-purgate-type: clean
X-purgate-size: 831

On 16.06.2026 11:19, JÃ¼rgen GroÃŸ wrote:
> On 16.06.26 11:01, Jan Beulich wrote:
>> Nul-terminated strings are passed in all cases, so the strlen() can very
>> well be invoked by the function itself. In preparation for a hypervisor
>> change also include the nul terminator in the size calculation.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> Ideally libxl_flask_context_to_sid() would follow suit, but aiui doing so
>> would break its (stable) ABI.
> 
> You could use LIBXL_API_VERSION in libxl.h to modify the interface for new
> libxl versions. See how it is done e.g. for libxl_domain_create_restore().

Question being - is this worth the effort?

> Note that the ABI of libxl isn't stable, only the API is (which is far from
> ideal, but OTOH it is the current reality).

I see.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 10:02:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 10:02:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1338992.1600090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQcK-00075Y-Vf; Tue, 16 Jun 2026 10:02:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1338992.1600090; Tue, 16 Jun 2026 10: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 1wZQcK-00075R-Sx; Tue, 16 Jun 2026 10:02:00 +0000
Received: by outflank-mailman (input) for mailman id 1338992;
 Tue, 16 Jun 2026 10:01:59 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wZQcJ-00075L-Ka
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:01:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQcJ-009Wmk-18
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:01:59 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a311f0e-2eae-0a2a0a5409dd-0a2a450be474-44
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:01:58 +0200
Received: from [52.101.62.38]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a311f15-212f-0a2a450b0019-34653e26a5e2-4
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:01:58 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by BLAPR03MB5588.namprd03.prod.outlook.com (2603:10b6:208:290::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.15; Tue, 16 Jun
 2026 10:01:55 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 10:01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NPFZ0Wet5jpj7m1llr3qfj/TyV5XxWQMpCBkEKTyC8RZA3VPLtCU02Yr3OHonof3Q8ZtQHrEn4oP5iVpkjRxtGI5emW4/36+jP+v4IeZXPwVhLA+uBNPNHCHXbaOfNAeknWhaS2RyGnbCiM8c+aHYAuGInFmjEzrKVzXToc0GV/gT/G7w/aBTOAo5P/tQ4zlplp6ezXsZ+D0Jv3ZjZvS5+4Tw/JaPwgr+IB13IZs5tryoo0Dyp/CsuC68BQrQij+s4IZAtxJ6/h+Jvc0IC7FiSVdMdQ4CePcevCFOjii+BYHNwe7bDPrP/PuLyn947uJFoYlv7DIndZ38Wcn5zmZPQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jwWE0W6pC8pK0Hu7aEEc5m4DUdaxFC1PXVuiP+f4pcI=;
 b=e2kJnYj98NpfS0ItjR5V2PPjTEuYzB/W/RjqAo6EsDC1nzi3UMW8ghAv+72WYD0DgvSpug9rirz3jlgwVftIhjN8rCp7hUC11oMgnXE/+bH/ompro775G96lzhEJh1fzRA8uAXZ0QSD/vsln6aOeiwr0yEVfghuI32QQWVx8j6naud4nC4ntRXN1z48d4OGkLicdv1pQVn5GYzJV3y9vRvs4NlhJAIo+jg6on7R6TgHJDR9rJNaTaXap/N6Z3T4M7fu90PVWn9F4ZNABgneN6bl+FGDXMXgDw+rAoXAXIao+2C7AwtMk0Nel7jAF99QCURC+lXcMi4nQRP9Bhq+BzA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jwWE0W6pC8pK0Hu7aEEc5m4DUdaxFC1PXVuiP+f4pcI=;
 b=xjt+8h6XMiMJnmebI3eKMb1ROQo6hzYE6z+yx2wXaj4+cg7dId1+xhyCyigzDSmLUC7Uu0/Xw0jXbRjrOUb6r/mCNPHTCVAdv5tsJikjMwgSaWDOlJ/39ZeZcQIuaSUChYpQm0kTqB4KD+J+iSprmfsyFtk3zWvb0uStRit3Blo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 16 Jun 2026 12:01:51 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22? 9/9] x86/HVM: more checking for
 XEN_DOMCTL_ioport_mapping
Message-ID: <ajEfD57XLXUEppCo@macbook.local>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <b0a50973-7a84-4e69-8241-d761e9b887dc@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <b0a50973-7a84-4e69-8241-d761e9b887dc@suse.com>
X-ClientProxiedBy: MR1P264CA0188.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:58::19) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|BLAPR03MB5588:EE_
X-MS-Office365-Filtering-Correlation-Id: c3d1c1fe-ea14-4d54-8685-08decb8e4bbe
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|23010399003|366016|18002099003|22082099003|4143699003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	iN/Xv+Gm7OkFW3SLMMtFPZS56BOf5EFDCKou3GAfPWZZukBqwLR/z8BqXaIhyWXLpo1kTx9bWWExiqM8xM6ygOVjGP3mJvILQ5uEn/mexetUMVo/jDNwXboQg40Ub14VvyeR2Si4NpDCA1sufGhjKdJd2XoN7MNz0mU/53oPXLQL9hQ1N8NgtCplnoKwX5pnK4TktK+26dfhzaTIJaWkp6aeyopC/E5Vb3HXubPei7fm89Lp9/SfE3BLxTl5XdCUZDtZ7nm4phrpv/M2+jwyWHhuj0UbrgPy0WF0wYimaDj2kwkjYgv9F8akg0wAIbNleC79WwC9q1FCp8XbHi76zydd26QzsAU6iMJOjTXsZCFBoTEs1nxhX9m105709ceDwZBeVRGRtAgEl4QDbd8Gg/07kHek8gtvKg9SpctoRCLY0+gqGxD40t2jlPUO2yClnUk0zngAaNng0+7Etnw8waF/fQGJnLbbiaBbIM8/TbolrfdaAK5iaM4+Ta7pisCe2u/B3Q/OrRc/rSlbi6zxLwA1x+Bfah2RRUh7TAR8hlBYcIrLzfzUIMwSD9Far45/hja6BJjD99ZupjjKIlI24ogyNL4Si3NhfulNLzI3j0bb6bk1HoL67zb6qhyVWs3dTXfarvtgF7ulf9ABiHb87uzfXFkJLIqdroC61QMfWNLqr/NfgFrq8QlTLE/5eSev
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(23010399003)(366016)(18002099003)(22082099003)(4143699003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OXpUMWpxcFdFL1VoNXJBNms1dkdmQ0p0cVczRk5lYjBHdXdIMk9haGdrQi8v?=
 =?utf-8?B?RXVXZGdGakNDNGFCbzV5ODhuU1l5TW1CdVBtWWQxRzVWQ0pFTGc4SURrWEJE?=
 =?utf-8?B?QTB6S2d3aVZUR0FxQTFKVEtnMkphY3lHSnpHVi9KdzZTNHhzM0toOUgvV2hi?=
 =?utf-8?B?OU9QdWNZcnNXSXJUZmVsNXhhaGtrNVdOem1YQTFQYTlJNFNOLzZYSDBFTUJK?=
 =?utf-8?B?L1JnSUN6QnlNNVU3VGlPNWIvaTd1ODljY3hQR3lhZlNLOXRxMTRnN092WmdW?=
 =?utf-8?B?WjByZmg2Tm9ObWRyajhTWTdqWTg4V3crRTl0MDRYUnpsYnpmTm5OWXBYWXRS?=
 =?utf-8?B?VFgwMFdaMWNtRVVKdTRvbFNiYXlJQTY1NFNCT3VZaHdCZU9IT2hzY3VTWGpE?=
 =?utf-8?B?V2YyL0pXSVE2ZVVmbGFOTUR2ekpaN3dXQ3B4UG93aFZKRkpRV0k4NnJoSFJJ?=
 =?utf-8?B?a3BlNXQ2VHVlMDRoUnlqWmpISGpadjh2QjZqN3BQK1dEQURKK2VNMUtmOWs4?=
 =?utf-8?B?WG5IbnVCN250U3RTRzJ0K3pEVlAzWm5Bd0FzbzQwS3hCNktOdys1aGcxSjJ5?=
 =?utf-8?B?TUdyWDNYcUs3TXR2eDRQV1lNS0lScXNxZ1g5cXYrcWd6dHlDNmYwSU16OUtk?=
 =?utf-8?B?MjJDUDJGeU9qOUZrL0VJRGQra1FFZUZtQW51V2JsUFg4czdRV0Q1NCs3VFRU?=
 =?utf-8?B?alZsUjR2WC9yUFA0T1ZkTDFBb25RODhEakpISTc2aVp4bXpDcU5VUWorcERp?=
 =?utf-8?B?TXJkVXNhOERqVGlVQXV2d241R3RGZVdWVXJuOFFlelhJT2JTRjhZajVtdmhQ?=
 =?utf-8?B?NTM3RUpWLzVxOEt0OTVHYzFCYXZaQ1o5eXhhN3hXTDBrVzhLWjRVbWNDZFZF?=
 =?utf-8?B?SHhpRUZwZ1k3ZHBWWTE5WE1reS9kU0pjOVFxUitPQ1VDWVlhUTlCZy96d3Aw?=
 =?utf-8?B?OTFoNlRKN2xYb0lVclZ3MjJoRlI3Z043RnFTNVJja2RXY1IyMzZMN3pCL1Jo?=
 =?utf-8?B?MWtqZHFvUFlwT24zclJGRlFCalJkY2ZQTDIybWJjeXNHQW1oM2N6c0FxRFBw?=
 =?utf-8?B?RVBUNWJZbEthaktoQW15NGJZYUhWNkdtbmRKUFFWMVFWSi9JalNNZis0TFNR?=
 =?utf-8?B?NFJkblgxeG5OVkNzTzNRc2cyRVljZW9UTWtxQ2s5Q1U3QjhobkIrTXpZVUlD?=
 =?utf-8?B?a2xRR3hUZXV0Uy9zRk9Kd1NIV25FR1hJejN3V0ZkSTVTQUp6T2RjdGZKaG9L?=
 =?utf-8?B?TXd3OXFpSFc4WGlPVEpHLzhVMkhTM0JVcmJteWZPdEU2RUhHRjdWSjh2alZR?=
 =?utf-8?B?UGpDQm02U2QvZzA0RHluOWFoNU14ZW5OdEpuWEhjU3VhZzRPb0ZzVkNpejB0?=
 =?utf-8?B?TFVNOGZEeUNQT0Jyc2RiNDA5YVN4WWdRUDZjdVRJS1BYR3N2ckorL2JzeWZl?=
 =?utf-8?B?NStHRjdMdlFRTG5iVVlPbzdFL2ZGWFpvTU5VMFJUaUJmK1ZTLzR1clVhS3d0?=
 =?utf-8?B?RWpsU3kwS2hVSGpwOW5ZZnBsSFBtczN4dVRXd1NNYlNWbm5aUGpWN2M1QWVD?=
 =?utf-8?B?NDFTRTMva0FURGtyQ0NsRk1qMHRWSUVzK2pRRjhaM3RnZUgwQm1LUkw5eWdk?=
 =?utf-8?B?UE41OFJ4MFozWXNoaUp5czgyczhQakd1MFR1Znl4eFRiNmtTNjZneEdqK0Qr?=
 =?utf-8?B?R3k4eG9tMWhnNktsaWJERG84N2NzUzF2MnVSZUpLMVVQdkI4ZDNQODd2blpR?=
 =?utf-8?B?RkNSMkl6cUhvVE9GbG8weU05OEEzc1ByV25KZURTUWxxSDRMWWJ0RFpJcHpG?=
 =?utf-8?B?RkhpNXJPSzg4azNNRTVKRDRjSmc2Z2Qvekk5TUNiNFJTeTcvSjJrdGxYY0l2?=
 =?utf-8?B?WFdDOFJDSGZOWnNQb0p3UTB4Wk84N1BGalc5cVk5RW5JWjM5d1Y5WmRkNjRX?=
 =?utf-8?B?a0F6V3cvdXZnbG9xcUYwQkhTNHVaVHZaUnNpdUxKcEhnNUtkSG5yRGJ4UW4w?=
 =?utf-8?B?U1FObkYrQitscS9MS0gwSm9hVG9DbHdoWXpTMDhvdGdnSjYrLzR1aS9VSXpv?=
 =?utf-8?B?dzlYeGQrc3Z2dWQ4UmdZbXUxNmhIejBYUWt5SjRlOHBJQ2g3dUNtV1FESkh4?=
 =?utf-8?B?YUs3UGFWTWNmdnFJc2hVbFV3Ym5CRWFZRTlqQnhNSUdzQmN4T1BFNWpBaWNS?=
 =?utf-8?B?MGR0Z2M0TFJzV3Axa0E4SS95ZUlldWE2SGJTVkF1SU4vQVNSbGNvUkd2RzZr?=
 =?utf-8?B?M1ZnRkgzTjNkRkR1dW9xMFp5eFVCQkw1T0pjSDNoL3BUV2VQRVZsSmFVRHlD?=
 =?utf-8?B?S3NVd3FMWDhhVHdoUndZeFpieGoyTDQxb29hNjRKUEZwZ2dwaTNHZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c3d1c1fe-ea14-4d54-8685-08decb8e4bbe
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 10:01:55.1037
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: h3Zzp0u7fCHRB04Aj+5rZQvbw9fELpuPOwFHzGT/S+FMzavfn/cPtPS1rJkBqs9FVq07MIGc5T7T9z1FBa764g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5588
X-purgate-ID: tlsNG-42698a/1781604118-12573F3B-A931ADAB/0/0
X-purgate-type: clean
X-purgate-size: 986

On Mon, Jun 15, 2026 at 04:16:41PM +0200, Jan Beulich wrote:
> When adding ranges, only alter existing ones when there is an exact match.
> Don't accept ranges overlapping existing ones.
> 
> When removing ranges, only remove a range if there's an exact match.
> Return an error when the range isn't found, and also don't call
> ioports_deny_access() in that case.

Isn't the ioports_deny_access() part stale now?  As you remove the
permission adjustments in patch 8/9.

> Fixes: 192c4dabc344 ("domctl and p2m changes for PCI passthru")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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

> ---
> Should "exact match" perhaps also include the guest port number? I'm
> uncertain here as that kind of conflicts with "add" being treated as
> "change" when the host port (and now count) match.

I think we want to keep the existing behavior and allow using an add
operation to change the guest port.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 10:04:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 10:04:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339000.1600098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQed-0007gr-EU; Tue, 16 Jun 2026 10:04:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339000.1600098; Tue, 16 Jun 2026 10: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 1wZQed-0007gk-Bi; Tue, 16 Jun 2026 10:04:23 +0000
Received: by outflank-mailman (input) for mailman id 1339000;
 Tue, 16 Jun 2026 10:04:21 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZQeb-0007gZ-Jd
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:04:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQea-0098VK-Vt
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:04:21 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a311f9a-5cb7-0a2a0a5109dd-0a2a450b8e60-24
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:04:20 +0200
Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a311fa4-212f-0a2a450b0019-d1558036f165-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:04:20 +0200
Received: by mail-wm1-f54.google.com with SMTP id
 5b1f17b1804b1-490b64c8311so43085525e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 03: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
 5b1f17b1804b1-4922fa97227sm67387885e9.13.2026.06.16.03.04.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 03: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781604260; x=1782209060; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=GiAlp9BCZwkE6bxzN8gqGAcwGypgSkYPFaot6kRB0bQ=;
        b=SyfsTbZnIoe1FGDN9hqI1XUJS8x3B0qrcVHPFz8kouLInC4mt7j2+j5Ou23BcQXo/s
         3Q5aEMY392wi/ZoWzJFZT7ASAuLbZ1QPheiumc5sXsP/t6w9VDRR0X/f+fWkHHG8KDow
         4xqE05fDBNoGQFkrDSwPkhpENjgPKeJ5jZuvJK9OeG/MOoORIbO9DiSlz0ROHtTbyeBf
         Tk5f4IP0jh1goy905wDph95+QY8O7UmmN2deJnJ6aolw7O+tALLH3M6ZQvBTJiHu4Xa7
         jmBXRk9xYHcW1SLKW4ahG8OpWk24bMLh5JGezBurnBIhQ8ljFBSadyP66qIvw25WwO1P
         8VYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781604260; x=1782209060;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GiAlp9BCZwkE6bxzN8gqGAcwGypgSkYPFaot6kRB0bQ=;
        b=PhevLJxZ+WlxwvH5E0X7cqBUnqicDJvEOAe0S/DT3coePl7IHcFtFJqhiL/DmRLPQ9
         67q6ivZ/iTh/ms4sYlaXxKpshGzI3KnSF751bS6fAAttXG6yElxVj+ZlOHQRgtVkHVrM
         ujvwUO/CT+NZi5jR/NTlExmAxIcM+z2Q/daZ4V9RY04MYxLmAEz3YXhHCvmJqzBZUuU5
         9xWwgoY35reqh86zQQ58kDlVkZiz34nxG20FtM3qhW7U1Lha4q/riBQHBONWEbSV5tez
         QfQoneVSmxPI24WjBsTXUDoSSa+VH1H63ONKgd7+Uc7PqWpN4VgNnTI/nxNHFVh6QpH+
         7CoQ==
X-Forwarded-Encrypted: i=1; AFNElJ/5Fx/+0BbsznQ7doGJ02gj9f/O0NK1j+z5M5KPvxPHxC7hxrLENUi4yIVJt9kbQnt2SQ427BITOXs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzOCdTM8quvjofZgz9wJJ+4gbqmIolw/hZaQ3ePftGjUKjFxMVu
	eJMlXc/CwbgQmqzMIIOQlgvWQKcVljiXOQugCBsIjKeFtTK7jxhudGEJmDjTWt6Frw==
X-Gm-Gg: Acq92OEjEY75PQcD8bcWAduNr0wOnp5GUEXl1m3qhq+bH61wiAyEIpN6/AxHDqZ94gG
	cu4XQp1E291mqsO4vIm8KQIJYFExc4kA68Ed6hkCH9C2seTboxr8kX3mlqarsCADgCvVhrOCuDj
	NPsyB5bM2ZdY+vVi0w6tZ9vMG+l7cOkGFiCGWRi57DjECX0RHjfOk68eRQ/HLuFcS2wYkvCTFLy
	fsqX6fBU9iT4+XW6lY/0FDRUBZi3B9vRtHJTCQAvWUxR4TSZgg5ViIin6dxcRZxapv2v6XQMMx1
	A9OYFqQ9QMzHW0xktBs/ATZ4G5NzVQNmdfcae0TVcmybLaz3TX47UpeO0CgHjEuXzR8zI6Vu+l9
	dRTFASJFj19nZ7WjyEioazSGSHcihwgssfmeAgDUMDFLLXoNMMTVxc+RnUNhA5NTfqfgSwNWSkg
	xxkjJGDAtNA++j4E8Jf5vW0uOcghNChATHRSVplEwEW18ZDaLf+LBhVkaxgFzWeqS/qduWlngNe
	E5SC/v9r/1R2HE=
X-Received: by 2002:a05:600d:f:b0:490:c2a3:23cf with SMTP id 5b1f17b1804b1-4922ffbed65mr36017655e9.34.1781604260054;
        Tue, 16 Jun 2026 03:04:20 -0700 (PDT)
Message-ID: <e69be05a-410a-4843-bc31-7b4979634137@suse.com>
Date: Tue, 16 Jun 2026 12:04:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/4] lib: make safe_copy_string_from_guest() validate
 input
To: Teddy Astie <teddy.astie@vates.tech>
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>, Daniel Smith <dpsmith@apertussolutions.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
 <7e492b98-26d5-4d90-a703-ee25beae7e23@suse.com>
 <1781603736.8631fc262581453bbf619ec5b2062170.19ecfdb9b7d000701b@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1781603736.8631fc262581453bbf619ec5b2062170.19ecfdb9b7d000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1781604260-19969F3B-5FFA18E0/0/0
X-purgate-type: clean
X-purgate-size: 1299

On 16.06.2026 11:55, Teddy Astie wrote:
> Le 16/06/2026 Ã  11:05, Jan Beulich a Ã©critÂ :
>> ... rather than papering over guest flaws: Strings passed ought to be nul-
>> terminated (yet sadly libxc hasn't been doing so thus far). This way we
>> also avoid order-1 allocations, seeing that all present callers pass
>> PAGE_SIZE for max_size.
> 
> I'm not sure to fully understand the commit message, is it more about 
> possible PAGE_SIZE+1 allocations (hence 2 pages required) or something 
> else ?

The last sentence is about exactly that, yes.

>> @@ -24,7 +23,12 @@ char *safe_copy_string_from_guest(XEN_GU
>>           xfree(tmp);
>>           return ERR_PTR(-EFAULT);
>>       }
>> -    tmp[size] = '\0';
>> +
>> +    if ( !memchr(tmp, 0, size) )
>> +    {
>> +        xfree(tmp);
>> +        return ERR_PTR(-EMSGSIZE);
>> +    }
> 
> EMSGSIZE feels a bit odd as the issue here is that there is no NUL 
> terminator rather than the message being too large.

We don't know whether there's a nul somewhere beyond the maximum buffer
size the caller has indicated to us. So to me indeed the message
(string) is too large.

> What about EILSEQ as we encountered a malformed string ?

There's nothing wrong (byte) sequence wise, so this feels worse to me.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 10:06:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 10:06:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339007.1600108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQgX-0008Bj-P8; Tue, 16 Jun 2026 10:06:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339007.1600108; Tue, 16 Jun 2026 10:06: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 1wZQgX-0008Bc-Lz; Tue, 16 Jun 2026 10:06:21 +0000
Received: by outflank-mailman (input) for mailman id 1339007;
 Tue, 16 Jun 2026 10:06:20 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <ross.lagerwall@citrix.com>) id 1wZQgW-0008BV-2W
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:06:20 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQgU-003EXA-Q8
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:06:18 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a312016-e002-0a2a0a5209dd-0a2a4507bf22-14
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:06:18 +0200
Received: from [52.101.52.66]
 (helo=BL2PR02CU003.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a312019-229c-0a2a45070019-346534424ba3-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:06:18 +0200
Received: from CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5)
 by MN2PR03MB5056.namprd03.prod.outlook.com (2603:10b6:208:1b2::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Tue, 16 Jun
 2026 10:06:16 +0000
Received: from CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096]) by CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096%7]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 10:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=p/THpH4PE77z+/mq7LBXaN+e2BzpvA2gfB4y8O3j2iHKbbemZrrcI+KmPOYXcCueQvfHRUUlvbOChJEJiG5qbm5v7mp5b/8wRKdV6Wsvv+Utef/X9tAGnZkuypwIGA2cKNInVCOzXcODNtsb5HPF/p5JeX87zFh8D4IEifk7eZto+fxwnxYfPTfW4hHCcO2K1CEoV6e3G22cMUfHGkitWz5sx60Ci5gnqRagFBvyIf5FMKP/8ZMZUI6KmQjJ4zJGeH3yHVN0dIbzzm/WQi7Rvl9uzMR2SRn5tnqwXMdC+n+8HHxffb/tuCD2DYx3fbRKXypXmDL+LuK4wFbWYoNdTg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0Vr8TvJcFUITctmFn45gBfgr/LiA73o0VUe/EL6hNrI=;
 b=BOk9fuIZv7THtPo5uogUEKAZraK0BgBfq2iH/v6bJnOGjWGkhDkZsv515ydBAaXiZnWH5Hs3GchsogC+4/U3XedIga+4+aqCCoKmBHCq/utK4DhfH2yL8rupYZlbT6ODDqDZgYcpOp3afQ8cR401UIJD4HACgR0UtKfztTslnkLJdI0eMxhrRiM4ED8FLhKwmxw22mE3MKru7jdGRYccij8wlwByMm4GFSwhs3ApJ+uA1jW38Cys0gxtloM/gIZjOgAeu/t816P1UZf8Os/kFp9l2wDufual0bhQ+Pe20evv9c24sZc2tb3unSYwhpoEM4JVzmorRbnTGI/hEr06PQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0Vr8TvJcFUITctmFn45gBfgr/LiA73o0VUe/EL6hNrI=;
 b=0hM5IxFTl1scK61Fnk4y3RkVs14gF5kahkklJEBe+WtM79hEty34UaQw3z33nwuwFRxuW1lnIgsATyDB/A9sa8GD27GmYvcN0Y5/sRUywCB+k+qaIJEZNcPds3gYi+wwiiTmoIYHIN/IUm1JFsBO1QRmj9WJk8g/YR49vANmBvY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <06e98f96-2f59-4731-b5a5-8e88adda878a@citrix.com>
Date: Tue, 16 Jun 2026 11:06:11 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/7] x86/kexec: Implement new EFI load types
To: Kevin Lampis <kevin.lampis@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: "jbeulich@suse.com" <jbeulich@suse.com>,
 Roger Pau Monne <roger.pau@citrix.com>,
 Gerald Elder-Vass <gerald.elder-vass@cloud.com>
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
 <20260609154518.779757-6-kevin.lampis@citrix.com>
 <1224fa79-d1df-4382-9829-aa2eabe60d5a@citrix.com>
 <BY1PR03MB7996FE744B091E767809F62BF3E62@BY1PR03MB7996.namprd03.prod.outlook.com>
Content-Language: en-US
From: Ross Lagerwall <ross.lagerwall@citrix.com>
In-Reply-To: <BY1PR03MB7996FE744B091E767809F62BF3E62@BY1PR03MB7996.namprd03.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0462.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1aa::17) To CH8PR03MB8274.namprd03.prod.outlook.com
 (2603:10b6:610:2ba::5)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8274:EE_|MN2PR03MB5056:EE_
X-MS-Office365-Filtering-Correlation-Id: a50644e0-ad1e-44a9-77ed-08decb8ee774
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|23010399003|366016|376014|22082099003|18002099003|4143699003|6133799003|56012099006|3023799007|5023799004|11063799006;
X-Microsoft-Antispam-Message-Info:
	cpkbUZmF1TpwFczROQW9XctPY4rnNyWxCiXWai8Q5vnQfyHxN5uqx5d/2+S0KirpvSDrD/wlJCpKfMprTkt/G5b3+CVC/rD94Z+aW1Huue4ZV5vvCpJEdy/bAe9qKHmEG5eENHIul97oEJhmSVnKhiECZyHUi988b9XigifBbfuov0ntrWJ8YAznn90xVZFpO0BC1jU92cRVRAUiLvOv6SP2w6n9RIws9tbmOM7ppS6739pCKKc9ybsWuZO/aVV0ZgQ5RUJKfWbG8Rd7cFkP3dOIAhoqT/42rlSD0ELG+lWcIBGcxYLlzzuYTFIAkpWEdMwZCm4jksjW/B4CIdmjcNTh6jJJjCP5lrTpz/ufrYMJmZztkTBAr1jV2pqm8E6JtI5xSnGp9VwXkEFaoqB65TPWwwqYi4VuomFjZBs51QoqfeeA7N9zaF4bfBS1pqGhErTTNYRbcnFwYMHbMBxmpxJ4YAMyHDR8G01yXGprE4tbAhOhGlUMTrI/vf/+U7QZJir3qAGN5Byzir+4RDHURGShpxjZsnFle4u91rKq3+bFXjjF/vu0rKHal70YGtsqrpqP/JwDJUG6mXuwqYXzfXlHp53UyYdhAOqSSadYbhhsofn2No4Zu09dymbZKofYOwsIiJkANMPFQsLxUdJSYyIH0pmYM1VnO7W6Fqubxp75GVaayQ8C+8mx5krr52WSwePOJv4EOo8dZq0zhLOLQA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8274.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(366016)(376014)(22082099003)(18002099003)(4143699003)(6133799003)(56012099006)(3023799007)(5023799004)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bm5QME1GUHNOUlhTdEhyN0sxc3c2blpzWjY0RnllL2t5OUdEN2JYdVJudE1j?=
 =?utf-8?B?TTBmejFxUnVOZ1p4U0I2L2xQWFBvT1d3NTU1M3BRY2NRZHVUNkRvVTB3YXlW?=
 =?utf-8?B?b0NRMTBtN3pUTk9RdkxKYytxL2FrZ3haWUlIT2d0aG1xcHV0Y255NTJseUti?=
 =?utf-8?B?cmxtWmlUYytFandXeXVwNExtM0FRSFJmRFJSZGJaNG12SDF6bklRdkEvZS9U?=
 =?utf-8?B?TDNDbmJJYjUvVUJIdnpnOWJ1bWpyb1pCM3JuSWhRMGc5MUVGSkNQSGxIYVVy?=
 =?utf-8?B?Vmx1RzRTSkxhTCs2cVFWeVRTU1NYSjU5YU1TdlJaU0tSSXY3YkN1WW0xbDhX?=
 =?utf-8?B?UGIrODJ4SzR1ZGpKMDRXQUE2MFVKN0lrM2NWRy9WS0c1eFhaUE5pa3pnV1Fo?=
 =?utf-8?B?bVBkdXlrUTM2bE92ejJNR0ZJcmxxd3c4S1BnMVlpWHdveFVyVGZUYURlcnhF?=
 =?utf-8?B?d1MvbUY2dmdGOTAxT0d2VkRMekhZUmpXRWJVUlpTNHVRZnVPN01qMHRacXFX?=
 =?utf-8?B?WVdvT2VFcWRyYU1PbVlUWHVacy9nYk9uVU9MWmd0OGRnZUo4SU1EdE1hRTg0?=
 =?utf-8?B?QllsNDhIRHNEdGpLTGZ6V25tVGlEVnBNZHBhdkF1Y2ErRXMyTzhtMUFsT3Q3?=
 =?utf-8?B?RWxYTDZqcnpZVXhhOGJNUmJyNWRucnZ2L0VWVzNVN21HT1BiZjd5SzNLUlR5?=
 =?utf-8?B?eXdqTjl2WHo3NWxaT2ZRemR0QXhOOXhLK2hiblJJdktZb1BLdjZ5TFFvZnht?=
 =?utf-8?B?TlJXdXVkeWljTEVnOGVROGI0UGFud3hKcktMTmZPUjZFQXFvSXkvbnQzZEVn?=
 =?utf-8?B?ZjFqcjhDRDBQQlFrQ0krMkhyRDFoZm0zanFpelNIeGFnMzZYRkszZy9WK1JS?=
 =?utf-8?B?NVlmMlRaK2JRbUMwZWxvYTNKdkduLy9WU0FpWG12YTlPK0JlUk93MGN1Ujdv?=
 =?utf-8?B?R1JOWjBOZHh3cGRSMXdEc2syTUpONHBHdjNBUHNFMTNZM2ljaUxOb1BkN2Er?=
 =?utf-8?B?d1dDbUNMUGVBbGZkTStSMSs1WDlmU2xUY1FKNjRhWXUvS05GV0NRSmFYVW54?=
 =?utf-8?B?em42c05zMUJjZ3M4T1hOUjh5MkRXelNPMURBTHp5MVNuaDhmckdodWVCNGJH?=
 =?utf-8?B?TlVWK0tzZlJLemROSHc2dkFudkN5M01DOEtqOERjTjIzSWdIUzVwRVJMV1Fv?=
 =?utf-8?B?NnRyeGQ0c2U1cmE3dWcxU0xrbUE5dTUrS0l5MlVvNDFZRVdPc0RFTmFoaEVk?=
 =?utf-8?B?ZmUwT0dTdi9Vc0hVMlBPOUg2Y0xpVFNKNHliSmpTVldLY1dBVkJuQ0Jqc3l3?=
 =?utf-8?B?b2E1QVRHN2FzVkQrNGtoZndpOWl2cjduK1QxRGJtbDVTcEMrWkxkQWZxd0p4?=
 =?utf-8?B?QkZ6NFVkTU53L0ZackhHMC93TVdxTFhvTVVuQXVaTGd0ejdYQTBPVTlZLzFM?=
 =?utf-8?B?bTlhbEJQV0F6ZVlpQVprRmp0NzF3Z0tNNEhxMFd6ZXF3QnNBS0Z2ejgzbW1j?=
 =?utf-8?B?SGRrOXREZkdWS2JnMTZwZVJMamZhWlAvNW5yYjFvUmxjM3J4dEM5UXlWbith?=
 =?utf-8?B?bkowYVJmTUVYa0JQU0dCSUcycUxnM3ZWVlE4MGcxd3Znb2lxN1hKS3dUTUhn?=
 =?utf-8?B?ZzIwQXc2ZzBLb2thT1RqUjNvK2Z1eXdkalY4cFdsQWc5QncxMDRmazRRWVZv?=
 =?utf-8?B?RzRKN0djdy9UemVjWjNvcmpsenh0Q1RtUFpFRjh2Vm1ac2g2SEN2MFhabWdx?=
 =?utf-8?B?Rm9ONHpBbHJpMExKdE5rVkIxLzFWWDM2OTJaK2VwM0YyY1ZiUmZYeXJrWnp5?=
 =?utf-8?B?ZytWNkIxWXV5MVJORHFHbE9YdmxCem54RG8zQ3dvK3RhL1k4RUdZdzZBVk5z?=
 =?utf-8?B?T1kyZlV4MDVhdFVPK00yNzF0TDJqUVRxdERHM2dVVzM0NXl6eVRESEY5STdU?=
 =?utf-8?B?K3Z6WDNWeURuWHl3VnVJY0ZwZytLODNWWk9neFpVN2pwL2hCWXdKTm9tQ1Jw?=
 =?utf-8?B?eHM4TmRmTFNic0tlOEZ1YzJia1ZnSlo0Y3dIYnQ2cDdkWXAvTGxqZDVTUy9r?=
 =?utf-8?B?UjBNbFBqNG56R0hKbzdHY0p2UFdra2RaQzIxMW9XYkRCc1RyclRhcGowVHpB?=
 =?utf-8?B?NVdidUN4cG9uUnFvVUJySytDMkp0SjQvU0NDOEtDQ240aDEydTZsbXZxNHp4?=
 =?utf-8?B?dFNqVWVCazl2R1gzU2hMaCtCM3pNWHBJME8yODMzOTkvZzl4cTdUS3hpTWYv?=
 =?utf-8?B?ejRXQTIyRkk4WVVadnFMKzdUb1BxTXdLNkwvTXZMa09tcnFlSStWZFQvaklW?=
 =?utf-8?B?aXNSdEZVYmtkV2pHd1NMWXFMMmRwV1lKWDY4OE9FQ1ZGbVJvQTh2dHJGY2VI?=
 =?utf-8?Q?6YRTHdxvh/P3lU+0=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a50644e0-ad1e-44a9-77ed-08decb8ee774
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8274.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 10:06:16.3760
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: N/GJgAW3cExu20DkywVpGgjDFdOQPpoB1RHV+zhpH/UJSPV1+Pv/U/WPKeHkJigFI8zcgw606X9h1RFA78cv6u3ciabuIlSMTFRCYk11ULo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5056
X-purgate-ID: tlsNG-ef75cf/1781604378-0B374C48-AE091C9D/0/0
X-purgate-type: clean
X-purgate-size: 2418

On 6/15/26 8:34 PM, Kevin Lampis wrote:
>  >Ok, so here is startup_64, hidden as a magic constant.
>  >... you're applying the alignment to the pointer and picking
>  >startup_64 out of thin air.
> 
> I'm going to be cheeky and play the Linux-does-it-too card.
> https://github.com/torvalds/linux/blob/master/arch/x86/kernel/kexec-bzimage64.c#L660
> 
>  >Either it was loaded correctly (and the alignment is correct), or it was
>  >loaded incorrectly and this is unsafe to do, is it not?
> 
> This is what the kernel kexec segment looks like in memory
> 
>                                            .- dest_maddr + alignment
>     .-dest_maddr                           |
>     v                                      v
>     +--------------------------------------+--------------------...
>     | padding            | real-mode setup | kernel
>     +--------------------------------------+--------------------...
> 0x000000                               0x200000
> 
> In the old non-EFI kexec the 16-bit real-mode setup portion is
> chopped off by the userspace tools and the segment buffer that Xen
> receives is just the "kernel" part. But we need to pass both the
> real-mode setup + kernel to kexec_load to pass Secure Boot
> verification. And add padding so it straddles a 2M boundary like this.
> 
> What the 0x200000 "alignment" variable is doing is skipping over the
> real-mode setup and padding.
> 
> It won't necessarily be 0x200000 though which is why we need to read
> the value from Linux's setup_header->kernel_alignment.
> 
> If you're hinting that perhaps userspace should take care of all this
> and just tell Xen where startup_64 is then perhaps. That would be a
> bigger change we need to get input from Ross on though.
> 

It was done in Xen because there was a concern that letting userspace
pass in an arbitrary start address would potentially allow a Secure Boot
bypass even if it restricted within the bounds of the kernel image.

The patch should probably make it clear that this load type _only_ works
for Linux bzImages using the x86 64-bit boot protocol documented at
linux/Documentation/arch/x86/boot.rst. I think it needs sanity checks as
well to ensure that it has actually been given an x86 bzImage and that
the boot protocol version number is as expected.

Since it is x86 specific, maybe it wants to move out of common code?

Ross


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 10:06:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 10:06:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339012.1600116 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQgw-00009n-0Y; Tue, 16 Jun 2026 10:06:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339012.1600116; Tue, 16 Jun 2026 10:06: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 1wZQgv-00009g-U1; Tue, 16 Jun 2026 10:06:45 +0000
Received: by outflank-mailman (input) for mailman id 1339012;
 Tue, 16 Jun 2026 10:06:45 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wZQgv-00009W-AM
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:06:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQgu-0049QJ-NR
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:06:44 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a31202b-bab6-0a2a0a5309dd-0a2a450c9710-46
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:06:44 +0200
Received: from [52.101.53.42]
 (helo=BL0PR03CU003.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a312033-62f1-0a2a450c0019-3465352a88e0-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:06:44 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by BLAPR03MB5588.namprd03.prod.outlook.com (2603:10b6:208:290::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.15; Tue, 16 Jun
 2026 10:06:42 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 10:06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=q2XnVmvLgvcvYtmNdaWhOHbzwxhx8vTqcEQ4reHsUnrjv+IwIYWpf+D4Jz01HlczrSUJjdqBbwCewihj0iXDddc+gmh++JYmpS+GbbcFt6f9UL9WuxjagEISN6fiNWDZdrPR0ICSYpsEfT0A6WEVP3hJzZO0E/bXpdCHqdsdwHj3Ff5/z4/v+oHiw3LVjc8sewCHn4f4sEQIgjmAEW6yNQ/J6YlxSrMw/kKVNPYjh8Kjx4gF/ONOXdZUsAjyeAOmsrcwKB2Nt1sI/u4K5OFurUFrL+XJ76MIHRg3LXX1w6+90BNoxhE6XyRKy5iuQ11uyCW/I1VXc+l2YM+NdBMbSQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DnBBoXeQnWghPpVlQBGrR0/cUDfVCkPibYjO5wGmjPs=;
 b=S5OqHJ9cbQetlKd6H9xzXwLQBSwPJaScxosME9TA1DbJr/RHdfCK4YkC3fw4f4tZLugaYPyObzjUaa9HiSw0Tf67C396eV49mcbcpBsql21p22Smg7jsl0CTUGdgAYsj/33s8SKko8x3dZtzXjgHjplZ80bDU9y6KhDqWpHJTpBsNOybf7hO/wP9IW9yjxRC+h78z0iWOVUJWnBauczPraQ0RtRpe4uklQJgBt6TgqLjcoNFMemzxamUQWV06eNKcgrnHTrDGj+hEdTm9tWd8iAwV45jUGma2drVI7NCilbzDoNNnwQ0UjcmZu6WEeUiS/iO2mODNP4Wk54XeJoE2g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DnBBoXeQnWghPpVlQBGrR0/cUDfVCkPibYjO5wGmjPs=;
 b=poxSpXMiAC2Ch2RK10rjnRkgq7Im9e9xXvbTvdj5ZVHfevVi0UZcA+b1elJLniGsTgPTcPbIy2A0mLnxImwy0+raMFteYHZGCgT6Yd99nACWuiqHjyNt8loSIG5+RrPIKC51+skztSP3i/x/XJekP+WfoHqi9H6wnO+jrL+s4Zo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 16 Jun 2026 12:06:38 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22? 7/9] domctl: restrict permission check for
 XEN_DOMCTL_memory_mapping's remove form
Message-ID: <ajEgLtu95rxjRSoX@macbook.local>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <5f49f890-426e-4076-8326-c2fbff433a35@suse.com>
 <ajESc7Ae_0bzd3IV@macbook.local>
 <ccc5bc2c-8331-4624-a5be-a5b1d649b1a6@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ccc5bc2c-8331-4624-a5be-a5b1d649b1a6@suse.com>
X-ClientProxiedBy: MR1P264CA0106.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:50::6) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|BLAPR03MB5588:EE_
X-MS-Office365-Filtering-Correlation-Id: 6293e178-b170-4942-225f-08decb8ef6ab
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|23010399003|366016|18002099003|22082099003|4143699003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	b2fs3nvr7GHkt0nFmqkLn3zDy8zjo+GnXT+rlTStkBXCsbtAoFRTik1FM6QS0EDZzK5KVf8BiQjLWGnM8oWa31A869rBnGgLEkWhCkDmN7M4CC2yEF7WOpMIlFHlEplQ+tK0X7TP/nR2LpK3ZNMcdZtLt+O9luHE27aXJt9zFWDNmA1ZTaLPKzabnnJH/gTyCWSVYK0y3yFBAfi0zdDtVx+LiokSo1NYcQGOkER50ohSwJYtwqtW72d8N/QdIvxcQBG7aK+rN79jn7nrvCvcmId3cCrp+HwpkECfMA/06GlzLuYV+f+RUBFJQQ7YBZZwppdnHPU7ddXrTBh7SX9cJEPY4jk1HwgHX1MLVbPeepFRqYbBRaEwlwIksOybPklAGdLIbibjK4kNem47KYWV6GnyuPa9h0Ax4p3JfZqX+sXseb8DT6svtrZfXhc/7eDd200MutSZKgnagGJJoz6lbMx+rWaVNutmd+Bw8bfjsGaOVjJ7+Jw9S4hr39G41fEID6oM/p/WjDZuIiSV1SnehTEerMluujmzO6FoPEXjS/BLYTi0INLbbQ8NS8L79KgB1w6zsXt9Hq/ZGj5tBpQL4esx313G1VfYNbOEeA7ZPY8uBG066qVetWTuBe87kDaeIrhqTkX1NRzepcyC+YQG3nKSjsRrplCeeHA3Dl6dyisQJABNWpBW60Ad8Ndv6BqR
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(23010399003)(366016)(18002099003)(22082099003)(4143699003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RktzZzE2ZTF1c0hRdTF5Z2ZKaFJaYXJkUXpNTm4vUFpvZTA3S1E0bHpqUVN3?=
 =?utf-8?B?TFhUSmg2UnNHcFVESEd5dnQzbGsydlhMMGhLNUlwczVZeUdLV3MyMkRqQ3hZ?=
 =?utf-8?B?U1haRWtSSEEzZlp3UTJycE1ZcElhekc5aGZBQ0pLQVBzOFJ5UkJSQTl2aURF?=
 =?utf-8?B?dGJFaDBwam81V2NUejl2bTVpVHgvaXAxOEpzRk03RC9wZU1ydXFNVElLY1Ra?=
 =?utf-8?B?eDFpem15eGxNOEZUWnJkRmU4dEZCRE11Z2JCT3N1bXR5U01xVE95SXBZeWpy?=
 =?utf-8?B?TnNnT3dyNWRvS3pRbWxjV2x5UE43NHgyWGNJL0kyUTZnalJjR0xVRWNhWDhG?=
 =?utf-8?B?OEdLWUJRS2l2YjZHUzlHcGErME12OVhxeUk5YjFwT0F2MDhFL1gxcW5Kc1dU?=
 =?utf-8?B?aFBWNVNWNUtqMjg4ZlRPWjJFcXpDYmFrODFHamlDMklqUmNZYW5kU1lrRVpS?=
 =?utf-8?B?YXdYOU9JNWZHdDkyNGZvV3JRS1ZDOUIxRi92bVcrM2FUV1cwSjk5MUxJRnhs?=
 =?utf-8?B?UVVDSTVvV2xheGZXeUIwcHZwVFkrUHBCdmZnVnlqakFxZ3lpK2VFOG42K0dQ?=
 =?utf-8?B?Si9uM0kyK1EwOEtMc0hKaXJhbmc4VXVoOUt0M1FrTkoyazZUS3NIbWY4eWYv?=
 =?utf-8?B?MVk4QmMxTmJ0eGM4VGxMMXBBYy9lTE1tY3ZYNGp1YUp3K1BrRlltZW5QQkxy?=
 =?utf-8?B?QTRxQ25nVktzNUM5TFpDSW5McG03emRWZjEzQ1dTMHhwN2VXb3hhL3BPQWdX?=
 =?utf-8?B?NzFzTWc3M0hmTzNHZFMwcElSQ3FFdThVQjlENjBOellmT0VKQ1IyQnFEL3py?=
 =?utf-8?B?M3g1ZjRqM29CM2plQUZyemdSMGtlbi9PWFhTdVZmQTNua2JpdFQxZjR0RWN2?=
 =?utf-8?B?NEQrWFc1MThRcGxPNWFadFNzckZuc0FjU0RoRXQ4SGtDQ0hEK2NFb2NoSkU4?=
 =?utf-8?B?Slk2WTVpbUJtbFdWT2w1SjVWOFJROU81N0QzS1ZuTFNkY3JlZGxjVWlMYlho?=
 =?utf-8?B?WWFDV3pBemZJOWNPQklTVXh4bFZvbXlTZ0paS21VTUtwd2hPaDAwWk5DbVFN?=
 =?utf-8?B?M1d2Uk5xakpPSGRxY1BhQ0ovSFhYa285WFZKb2t4c3B4L2V0endscWpEaU5z?=
 =?utf-8?B?UUVmd2VpWmt1eXRHMWlFMHVvUTdnMklPSUJRU1ZCL0s2VHhOOEZCaVlJWi9r?=
 =?utf-8?B?QlJTUytRTERrZjNoU200aWQwdE1SanlOQUc2R2tjYWllZmRnQzl0L0lQY1I2?=
 =?utf-8?B?VnZUeWJrQjNybjN1TkpLb0xLYWpFTkhwWk1Ld0JIY21McGVJeFRrUEdmVjFR?=
 =?utf-8?B?MFNHRm0welRyVC96SmREeFRXVTZoWEdYd0JiV1FNODRoM3VmMFJIWG92NnRY?=
 =?utf-8?B?d3EwdExSWmhPTWU3dngzYTBYbmRYd1dEQ1g4d0JZNFVJbitrOFJyL2krL1ln?=
 =?utf-8?B?UHd6TUJEODU5bTJacXJjYmkydk1mVU9tK1RHNVJtZXdUdXIvcmVLdkpBcGl5?=
 =?utf-8?B?VTlNZE1MWkx0eU1sUFJVcVRLWWx4eVUycGVlblJVSnd3MEZ0eWYxN2lJZ1Ux?=
 =?utf-8?B?UXloUHY1dU51VHN1RUJSQW15WkVQb3QvbzFIKzBqTlE0N1ZjVU0zQUN4aWY4?=
 =?utf-8?B?WHp2UkZ2ZWMwU2FCaW53QjFKeHRoeTBka2k3eXRvSjVPcFpFR0VRdHBOZmcz?=
 =?utf-8?B?UUpjZ1hGWVBUVHBFVkFubDd2QnkwQjI5a2JnRmg2bkY4Zmh0SVlSZDBSN0Js?=
 =?utf-8?B?dTdSUjFHRHVZVW5paUpBUWJ3WE8yRGFYRFZyUmxLUWtyc2RwU2p5TXRkWjFE?=
 =?utf-8?B?ZUJXaVBCSE42N282bVljUnpBUjgrR2xGREZxT241Ylg0a0YrNEtYVG95NUxs?=
 =?utf-8?B?a1hEYnFibjRGSmRHNEFGUlNGVE1TVDZkbnlIaWVlVW4waVNwOUFWdjFnN2Zp?=
 =?utf-8?B?eFNpUHVFeklKK3BQdXp4SHlLMjNQemJ1c25iQk1QT09ybmdwUVZtWEJEQTNG?=
 =?utf-8?B?VnYrMWNOc0ZzbGowMllpZElWRE94aFROQXNCaVZWMnFnZDBtd1NuTEpOTkxS?=
 =?utf-8?B?dUVHZXlPUTRlZzJmd3dIcW44dVJJODlKUlZNMWpWYlpheHVmSFgyWWcrMmlw?=
 =?utf-8?B?RmE3NWQzNGNxamlzUEFNaHlOaXRtTnhBREUxcWVoQlEwOC8xd1FWSm5EQ1lX?=
 =?utf-8?B?WW82VUd6MVBTUGo4QldFd2VEenozeUpZS2t6b3dhTjU1aUVZN1V1QWNwNzZX?=
 =?utf-8?B?TGhucXlxNWxYVk9NS3FCZFJINmNVN2dwOS81YjdlY2xtaUhZRTl1OUhTY25p?=
 =?utf-8?B?STYrUjRhSTdZdmozU2hxZU9yVEl2QUx2anRmeEpGZ0JTRGZlMEpBUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6293e178-b170-4942-225f-08decb8ef6ab
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 10:06:41.9109
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gBNVZbSTv3U2iQoyY6iAg5FKJmrPbGG66tgkD7L1DVBDyXEamUlm61EhLP+YrYA+VP1zugc0OKxnwrgVhDoOtA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5588
X-purgate-ID: tlsNG-d25034/1781604404-DA368CF5-B9B17268/0/0
X-purgate-type: clean
X-purgate-size: 2645

On Tue, Jun 16, 2026 at 11:51:54AM +0200, Jan Beulich wrote:
> On 16.06.2026 11:08, Roger Pau MonnÃ© wrote:
> > On Mon, Jun 15, 2026 at 04:15:36PM +0200, Jan Beulich wrote:
> >> Like is already done for I/O ports on x86 and for IRQ unbinding, check
> >> only the requesting domain's permissions (for it to not interfere with
> >> MMIO backed by another stubdom DM), but not the target domain's: Removal
> >> should be okay even (perhaps: especially) when permissions were already
> >> revoked.
> >>
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >>
> >> --- a/xen/common/domctl.c
> >> +++ b/xen/common/domctl.c
> >> @@ -436,11 +436,15 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
> >>              goto domctl_out_unlock_rcuonly;
> >>  #endif
> >>  
> >> +        /*
> >> +         * NB: The double lock isn't really needed when !add, but is used anyway
> >> +         * to keep things simple.
> >> +         */
> >>          iocaps_double_lock(d, false);
> >>  
> >>          ret = -EPERM;
> >>          if ( !iomem_access_permitted(current->domain, mfn, mfn_end) ||
> >> -             !iomem_access_permitted(d, mfn, mfn_end) )
> >> +             (add && !iomem_access_permitted(d, mfn, mfn_end)) )
> > 
> > You seem to be doing the opposite of what the commit message states
> > here, and checking for permissions on the target domain, not
> > permissions of the requesting domain?
> 
> I'm always checking permissions of the requesting domain, while the
> target's are now checked only for "add". That's what the description
> also says.
> 
> What's wrong with the description is ...
> 
> > XEN_DOMCTL_ioport_mapping does check against current->domain, and not
> > against d.
> 
> ... that it suggests this to be the behavior at the point of this patch,
> when it really is moved to that only in patch 8. The patches used to be
> ordered differently earlier on. I guess I should change the wording to
> be closer to what's used in "x86/domctl: don't imply I/O port permissions
> from I/O port mapping".

Yeah, I've noticed after looking at the next patch.

> 
> > FWIW, we could also remove one branch here by doing:
> > 
> > ret = -EPERM
> > if ( add && iomem_access_permitted(current->domain, mfn, mfn_end) )
> > {
> >     /* add logic. */
> > }
> > else if ( !add )
> > {
> >     /* remove logic. */
> > }
> 
> Indeed I was wondering whether something like this would be worthwhile,
> but I opted for the variant with less overall churn.

Since you have to adjust the commit message, I wouldn't mind if you
also want to adjust the logic to remove the extra branch.


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 10:07:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 10:07:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339015.1600126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQhF-0000aB-BY; Tue, 16 Jun 2026 10:07:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339015.1600126; Tue, 16 Jun 2026 10: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 1wZQhF-0000a4-8k; Tue, 16 Jun 2026 10:07:05 +0000
Received: by outflank-mailman (input) for mailman id 1339015;
 Tue, 16 Jun 2026 10:07:04 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZQhE-0000Zp-NI
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:07:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQhE-00EtSe-3s
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:07:04 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a312043-2eae-0a2a0a5409dd-0a2a4509e9dc-18
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:07:03 +0200
Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a312047-2497-0a2a45090019-d155dd35bdd8-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:07:03 +0200
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-45fe59255beso2401902f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 03:07: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-4606f26f450sm47068849f8f.10.2026.06.16.03.07.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 03:07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781604423; x=1782209223; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=STC1wLT6iauUao/RujPafviZDOjWN7Bb/d+sT+qirAc=;
        b=L3TVO85UiQbt3RWZQcRA6jC9+CzNW44ELQwqaH2w1YRQyqXcsoIslfrXIRSaKrfNG6
         oXsyn2u5BmYOyduZ5gJz84HrfpIM2tmgOXn5GKKJprPsVj508uV80tc7FjD6hbLT4AZ4
         ETyBVJUhLCiheT6GnvfMxuKc51YD4y3QGNAF6WbQRTFaIUGVGc6Rq+rzWyYpETHVWgD8
         Z9tEOfvSD/Yp3w5Xfe0YCaSRqWkr2a0gxglmEIDf/nEN3eLUdUnwCcUAt20cxtOYOSFU
         2Sf8YZHDzDabrwwRwTYOmGIXNZ2+ndaGg1PsXesKgWnB1FkpBB/ayvnvbnscWwFzfZ4R
         bgkg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781604423; x=1782209223;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=STC1wLT6iauUao/RujPafviZDOjWN7Bb/d+sT+qirAc=;
        b=o0mlwB2ZXf42alhCSHpK5IIiCLpEaaze2AAde8mo6bMvOBgpq054uDMYUzMUgk/brp
         vyo97e32m1VqZEqmWboNB+s3lyTkeC13PwpreUpjOran5Bh89hXQBJd5nSOSlD45MNMV
         7FlNvJSTzyTRy7dbQUS5enQmt3Dp6q5c8KSK2u4aswLr3GduGMeJs1PS6DWtvbp3knxV
         AL7qw6VfBr160UKvNeSZQ9ClMzZ8Ar4q54Jf3DaVZ3x2auWRwBJYtsULNcpMfCQMKEWc
         RCew2RJ2dX+ZqDej2ZpuoZfIu9yubQERfdx+Gebpfb+/6tLKTKzvcftcy//QVMlBNgIS
         GRug==
X-Gm-Message-State: AOJu0Ywj0LmEPwA2ovmhaGFlRKbUMFhdZj/QYioRtlvVMkPywnrptQNn
	EooUItGLvT6AQAEkjsQIj+Vbw9HGPDPC6b/Ljsd9+rPlGTpa1nqmp9/QtdZIGY+66g==
X-Gm-Gg: Acq92OHWE8BVOBOd8C2WdJAw5byObpM82iuinhVXS+24AAuRzM40UN4Uc04/8HSMaNo
	zYq4wtBHMem7LW1FAGdjHs4/PmYUBSlKw9o6c2lRlXp4j3iQlZ6hFOSF69kUlZpD5qEPvc957AJ
	jJufX/uP935Kdgq7o+bM90CcGbBmH0LbXb+wxw0GTDbhuKhXRfHSeAfoDr7d7PxQK7AYg0BzWsK
	kAlNzhN1k+E1hIuhvMPqn3kaMAvJCO/3/d0UElt4hgj4o2Kzpcoyxej2ISNh+DtWlOCK5paoogQ
	TtBN7dQfmLKBBuOvX3tCviGGnJhZmBnNGmu5f0NHN8leG97oBHxzbcaBMm7w5tOUD/v659ZBgBw
	L8lXT58qx53RGDuMAsDas2gbeTk2+QVo2XkJlFrhfKs+SqxTplyQwBbv/2uWmtVTiG/TkDfjSlE
	n9XK3P6keKL2rLdgz4E9vkd9yc+enCY76LZC7MQRu2342/0RPI27bwCLhuuiBGuU6hKhNmCPUJu
	siw7pthmJ2ngnQ=
X-Received: by 2002:a05:6000:1887:b0:460:e0f:8d19 with SMTP id ffacd0b85a97d-4606da5a613mr26472116f8f.9.1781604423063;
        Tue, 16 Jun 2026 03:07:03 -0700 (PDT)
Message-ID: <8a9c1f3a-6958-4562-9e4d-15cc5dd3907b@suse.com>
Date: Tue, 16 Jun 2026 12:07:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22? 9/9] x86/HVM: more checking for
 XEN_DOMCTL_ioport_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>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <b0a50973-7a84-4e69-8241-d761e9b887dc@suse.com>
 <ajEfD57XLXUEppCo@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: <ajEfD57XLXUEppCo@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1781604423-89B7BA53-D1223A30/0/0
X-purgate-type: clean
X-purgate-size: 1118

On 16.06.2026 12:01, Roger Pau MonnÃ© wrote:
> On Mon, Jun 15, 2026 at 04:16:41PM +0200, Jan Beulich wrote:
>> When adding ranges, only alter existing ones when there is an exact match.
>> Don't accept ranges overlapping existing ones.
>>
>> When removing ranges, only remove a range if there's an exact match.
>> Return an error when the range isn't found, and also don't call
>> ioports_deny_access() in that case.
> 
> Isn't the ioports_deny_access() part stale now?  As you remove the
> permission adjustments in patch 8/9.

Oh, indeed. Dropped that last half sentence.

>> Fixes: 192c4dabc344 ("domctl and p2m changes for PCI passthru")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Thanks.

>> ---
>> Should "exact match" perhaps also include the guest port number? I'm
>> uncertain here as that kind of conflicts with "add" being treated as
>> "change" when the host port (and now count) match.
> 
> I think we want to keep the existing behavior and allow using an add
> operation to change the guest port.

Okay.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 10:09:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 10:09:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339029.1600135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQjn-0001j5-Oq; Tue, 16 Jun 2026 10:09:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339029.1600135; Tue, 16 Jun 2026 10:09:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQjn-0001iy-Le; Tue, 16 Jun 2026 10:09:43 +0000
Received: by outflank-mailman (input) for mailman id 1339029;
 Tue, 16 Jun 2026 10:09:42 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wZQjm-0001is-0G
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:09:42 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQjl-00GCsr-D0
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:09:41 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3120e1-5cb7-0a2a0a5109dd-0a2a450ab2de-8
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:09:41 +0200
Received: from [52.101.53.4]
 (helo=BL0PR03CU003.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3120e4-56b3-0a2a450a0019-34653504b7fe-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:09:41 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by BLAPR03MB5588.namprd03.prod.outlook.com (2603:10b6:208:290::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.15; Tue, 16 Jun
 2026 10:09:39 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 10:09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=vAN5w2xCYg0kA3b9BXf4Vj6MegA95OHouTl1TQa/QS7XeVbeg37n0xy2o7Ec47A9tmtdMn6U6UcOtc9KPsrLWG+NGJU/C9H+aWYSikMDQFuaOUg+mL8t6yvp1VSKitaAW+E6Ntqgf7s9flniZ+9jcRER+PuTyy1k4od1kXPtEhIvr8lImjkW2akRYttAr6hYE6/GMiqCdEygxDH6esyPOESebslw4HLQA2caZ82IBhG0hkN3/c3tP+FBeKZHDzJuHXiXRFBZyRNM2aEyR+S7+V1QOb6AfM9iRMq3WsPyCEoLmd5HAra0ttue9YyFyaqcTD0B9eqHM7TMMLK4D5ur9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/2DM5oA962p0FCbZ79ZqsSjpfWuSDMGjke80jnPspQc=;
 b=anrUhWFCvJ8f4Fzp85xcumNQptEQmmA/dC+mBGx7b+G9+Ty3pv9siWQh8qO5EaQutLXJJN5u2u2EWh8UxfgvLfNG/DHCvJPUTm5CS+JpAqQqRk3hUs2QxP/uf9ipTiAm4gruSqsjSH23DSJySFLT8z3Kvr1YiN62DNcKR4RIfO2V6ZE8L1BRAuWRoUHkRHw7QJKqpM1Hv8NmH0ai1lSTgnCIu0Hx09pn3ZV2U2n91X0Aw2Uh6LLuQztjRnWa51qAToOJ3piyVmdhK30PaFpAF75LeSsqZ4ycBE4X3jekugk8aKgAX/Znat0M72njBB9fOahnw7hyPdqbghmB11lP8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/2DM5oA962p0FCbZ79ZqsSjpfWuSDMGjke80jnPspQc=;
 b=YPvzXVmJx3pX8xv71zneStps2Yt/EkV/CIZ9dsqdKSd28lXsVz3UalKVHXlvWureQbskxdXV1RQCoDUNwD2i8+ns2FFx98OsVqXASvHB1oNJu/HCnVYHbtMiqMjK2xXxGFv3duu6PlwJUMn149E8NDWAMN1/bIfnoGoXPCVCeX4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 16 Jun 2026 12:09:35 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: Re: [PATCH for-4.22? 8/9] x86/domctl: don't imply I/O port
 permissions from I/O port mapping
Message-ID: <ajEg35K0t4igVhmX@macbook.local>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <a88eb54a-f0ff-4ad6-971f-ae526297a15d@suse.com>
 <ajEVgN9h78QFh6mZ@macbook.local>
 <532152af-30fe-4a70-afbd-b0b5c1d1382b@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <532152af-30fe-4a70-afbd-b0b5c1d1382b@suse.com>
X-ClientProxiedBy: MR1P264CA0177.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:58::8) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|BLAPR03MB5588:EE_
X-MS-Office365-Filtering-Correlation-Id: 635766cb-5e40-4619-4cb7-08decb8f6027
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|23010399003|366016|18002099003|22082099003|6133799003|4143699003|11063799006|5023799004|56012099006;
X-Microsoft-Antispam-Message-Info:
	GKfIKloW0kKILKl4JldsLYUfa0X09RsEqj0wf8oMWkRgJIYTVqmmbaYAQ7MNyxc8Bgn+j1MC8Qsx9WZOYQj7mJNdz2FPRvRstbWOmAxZ/pZkWXNPXalSjL0TVqbTR4EPVjwrhoHHakqJ9RksiT1Ioh8kpMZtFuCT5AHBWCpM4oFuQXTRpiNvUIpw6qsnAw+vULZ6DrXwDl+rW4OKX4Z472jqphddZ/dPY6CJZKOriLgMlfc+CI3gxRb4nujDDv201y5eWqu/yj4nQ1BzsUud/aeqW8jEJv68RwbU1SmcZalk4v3miUPQUBVuBnR4TPtoGasEIjSTV3bPaapSfrf7HfbCjn8hSSZ57EScSs0glBJeOkgry3GHChT7ouuazDxJ+LKj/PSr16SPmQyigz7eYyejFHIZxd8jhVOx4zhQvUYg/kfaVTixB8YMLL9Q0iQOdH067Wgghy+XTm0dyl2ynnoTeoLGKIBCeRAmBA+WK0D0VatlAAybasr1gTsxCGuk5j9zjSADBvSzcz+WdAIImKooa50x/oH/anhSADndFshSWtzejnXeVK++VZ3LwtaEV1VUgXa4pOdrNbNpinFLIMfu+sW5ciV2wbfTJutz3YFD1Gvifk+yqGD4WE15K7H/7xJlnpufvgDsDaYFjKCV+jiOZ4JUaqCEC56z6UlCfXEOhng/gwtbeCJcql4NHbnW
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(23010399003)(366016)(18002099003)(22082099003)(6133799003)(4143699003)(11063799006)(5023799004)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VWs1OTlLV0RTYmM2b1Q0S0VBdXlkVW5xcExOQ0IwbDBKMDR4QTNHRmpiRkto?=
 =?utf-8?B?aFlsN1dpakZuU28rK25sMzA3QlZ3WkQ3OVp3L3lpallZWEFUVUhRaXBOZlp4?=
 =?utf-8?B?QTR1OVlPc1FOVDVvcVhYTlovekpQcFhNVW1jajNNbXZHdlkvSndaeFdUdGh0?=
 =?utf-8?B?ZWxzenZjL3ZTL2ZjR0x6U3pZbHc2TytiU1pGUXM1TVN6aXh6WVo4emhvT3da?=
 =?utf-8?B?c1Z2eFdCdzZRRWpvTUpGbW5yQnZndUo4OWpTOXp4MjNKMHNxNmhqbmh5QTJx?=
 =?utf-8?B?SEt2aEtrMVVyenpsdGtMR3JRWGp0RzZ2VzliOUNwbm8xejZRUkI1ZEsyY1Er?=
 =?utf-8?B?NU13NVdpb2xFWkNjaWNibHo0dUZkckE2dEhNSDYvMmZJQUEwSWJxMVZDSjJ1?=
 =?utf-8?B?SDZyUFcyWjJtV0xqWEdHY1FzYlVNZGVzaStTMUtTMVNwMmdRS1FZT0hXU0wv?=
 =?utf-8?B?WUVrcE5nLzgvVzJTbXNNeTMxMkhYbThwdDk5QW9Cb0lBSlVFYUdqVTFFb0Rh?=
 =?utf-8?B?MnZhZnM4UGd0Q1AxeVVWM3c2NXlDd09rd3BCbC8xTVJMaDk1SjMyZktieVRW?=
 =?utf-8?B?Z2NidENHend4Qk9xbnByQ3BNZHBVTXI0eDFkTGJFK0Q2b05sUTVNaHExTXl3?=
 =?utf-8?B?aW9naWxDMXNoSHl4SjBzYWNPeG9MVUVEbThZYmF5ckg0cEFodkU2dTBCV1RG?=
 =?utf-8?B?YmRjK0E0TmFoazRnaUorc0pmTi91ME5jVDZsSW0xZDVtaFRoemtoaFE4V0tC?=
 =?utf-8?B?U2J1YWoyR1BXcEdZZFlxaHhheWwzaVVxeitXOHZWbWNHSjhVUG5mN1dIZ2lB?=
 =?utf-8?B?QTVRdDNsV3haYmsrNXFnbFFteXlEamlnc0MydXFTWEZPS3gzL3FHa3lMcTNi?=
 =?utf-8?B?SEpqeHg5S2NVMi8xNlQyeHV4NjcrQ2o3WjFmam5Sd05FdFA0NUhBTUcyK3Fk?=
 =?utf-8?B?YkR0MFd0dW5oWUNRZ253N2xraHhGSWdCczZqY3JGcUZDeWhVZHphcjdHbjdJ?=
 =?utf-8?B?VW5DZkwzU3FTL1hubnI5ellZcTJFREQ2NE8yT29uKytvZ3hNYXpzTFRkM21G?=
 =?utf-8?B?TzYyQjIvdHBYUFoxcXRWVEQwcU1IalZPekFZVkFzdm82R1VzNkdnS3MwLzl4?=
 =?utf-8?B?MlFLY0tOaWhYaURqdnNzbGVGMm9nV08zei9sMjdVcUcxcUtBLzd6TXVlU29o?=
 =?utf-8?B?Z1RscnMvd0pBcVRaUTRJczloYmFzMWVDUkZQU3E0UnBpV3VYYlIwOTVxM0Qy?=
 =?utf-8?B?VWRiT2FLOFc2M1VWcnZ1L28rRHozOXJYTGNjayt6OFlnU2FpRkJLRE4zQ09t?=
 =?utf-8?B?bGpxc0NYK0tOS2xKeDluOTAvTDU3dm1yT1lHRjd6Z2F0ZnVvejBLM1dPbXVw?=
 =?utf-8?B?T2lFM25xWEVFa1RuVW4vNGNxcXk5bCtNRkdXZE1VVUh3QW1Pb0lmY2s5K3FV?=
 =?utf-8?B?RXBQdmxQaUo3cTdETWVHczNXbDZ4MHZ1ZTUxbGV1dWRzcWQ3UytKNVJESW9h?=
 =?utf-8?B?VHgybFdhcjVSNzZKVWxKc3VzbDlXUGV4WU0zWDdESVE0eENIYkhBckN2anBt?=
 =?utf-8?B?ZTNYY2h4WWxwZnl2NFVGRWJkdjVScUFhQTlMZ2pCbTRqS05zTGxIYzlPN3lr?=
 =?utf-8?B?SldLYWc1TGdaVzZTV2ZqTmRiTFl0WUN3VDMvV1VOd3RtMHdnNTRvNmpGRWRh?=
 =?utf-8?B?NVk0djYvYzlaOEtoYzViWEV6dzZNS0JyekF5VGgvaSs2YTUzU1N2TFYxa0RJ?=
 =?utf-8?B?b2NjdEg5ekJoeFV6UjRMK2oxS1ViT0tpOE1sc3daVnZuUDZkaDhYL3ZEQk9u?=
 =?utf-8?B?ZDNpaTV6Wko4NjF5RlBRbHZtdXV5VVp6Q0V0alNrQlpLSnRKeHN5WlQvdVpH?=
 =?utf-8?B?Q3lMZ1hhMG1xMTFRNFZObDY3bEw5WTZZdkVjTk8wMFZDcnYwS0NWaEpBSGVl?=
 =?utf-8?B?Q0dlUnF6WlNxZGgyd3JBQWQxbjl4MUpzdERGa1lZckp0d1pEenVrRlhndnhW?=
 =?utf-8?B?bFVIVVVzbmRpUGVVS09lTUd1cFFxNWFuVlpVallRZ1BGdkVYU2FMUHpYcW93?=
 =?utf-8?B?VUxpNmlUM1ErWkduNWhkckhCc1Z6bjB4VkdCQ0lmUWIyOWZPcStORU0wUTJn?=
 =?utf-8?B?VEJ0L1ZpYkt2bStSVndFOEVLc2pyaVhUdDNGaFJkN2FTazJDd041Z2tHU1VJ?=
 =?utf-8?B?YmhIeHlSRFpjSEhuUVpVVU8rNkZxeXJTN0hqMDJZdll2MENOQ1pydE1VWjEz?=
 =?utf-8?B?K2lVcTNHeHgwUjFOK0N1eGJjLzVnOEZvd2ZTSWd4NWJRa2ZpY3p3VzF5dEZl?=
 =?utf-8?B?QndBYlNFU25LWEhudGNmUkRWcTZVWEZIUm9aNXVwM3dZZklRSWRldz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 635766cb-5e40-4619-4cb7-08decb8f6027
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 10:09:38.8911
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: krdGst+SomCFOAof8k1QkV80AP7BtDOY+DmI/CvC6z9cf/AMq9XLKudhEmmfqXdTwKqJcEg73JbPj7OGbHImVg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5588
X-purgate-ID: tlsNG-4011c0/1781604581-725748B7-E39997E2/0/0
X-purgate-type: clean
X-purgate-size: 4321

On Tue, Jun 16, 2026 at 11:36:53AM +0200, Jan Beulich wrote:
> On 16.06.2026 11:21, Roger Pau MonnÃ© wrote:
> > On Mon, Jun 15, 2026 at 04:16:11PM +0200, Jan Beulich wrote:
> >> Rather than granting permissions when mapping (an operation that DM-s are
> >> allowed to carry out, while they can't invoke ioport-permission), check
> >> whether permissions actually were granted when adding a mapping. This then
> >> also allows relaxing the necessary locking.
> >>
> >> Fixes: 192c4dabc344 ("domctl and p2m changes for PCI passthru")
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >> ---
> >> libxl has libxl__grant_vga_iomem_permission(), but I can't spot any I/O
> >> port equivalent (nor a revoke counterpart, btw). Everywhere else MMIO and
> >> I/O ports look to be treated equally.
> >>
> >> Qemu uses both xc_domain_{iomem_permission,memory_mapping}() in
> >> igd_write_opregion(), but only xc_domain_{memory,ioport}_mapping() in
> >> xen_pt_region_update() and xen_pt_{,un}register_vga_regions(). Is the IGD
> >> region special in any way? Clearly this can't work from a stubdom.
> 
> Both of these remarks are relevant to your response below. I realize I should
> have Cc-ed Anthony, for him to comment on them.

Partially yes, but those are only for the callers we know.  My comment
was thinking about possible out-of-tree users.

> >> --- a/xen/arch/x86/domctl.c
> >> +++ b/xen/arch/x86/domctl.c
> >> @@ -714,9 +714,14 @@ long arch_do_domctl(
> >>              break;
> >>  
> >>          hvm = &d->arch.hvm;
> >> -        iocaps_double_lock(d, true);
> >> +        /*
> >> +         * NB: The double lock isn't really needed when !add, but is used anyway
> >> +         * to keep things simple.
> >> +         */
> >> +        iocaps_double_lock(d, false);
> >>  
> >> -        if ( !ioports_access_permitted(currd, fmp, fmp + np - 1) )
> >> +        if ( !ioports_access_permitted(currd, fmp, fmp + np - 1) ||
> >> +             (add && !ioports_access_permitted(d, fmp, fmp + np - 1)) )
> >>              ret = -EPERM;
> >>          else if ( add )
> >>          {
> >> @@ -747,15 +752,6 @@ long arch_do_domctl(
> >>                  list_add_tail(&g2m_ioport->list, &hvm->g2m_ioport_list);
> >>              }
> >>              write_unlock(&hvm->g2m_ioport_lock);
> >> -            if ( !ret )
> >> -                ret = ioports_permit_access(d, fmp, fmp + np - 1);
> >> -            if ( ret && !found && g2m_ioport )
> >> -            {
> >> -                write_lock(&hvm->g2m_ioport_lock);
> >> -                list_del(&g2m_ioport->list);
> >> -                write_unlock(&hvm->g2m_ioport_lock);
> >> -                xfree(g2m_ioport);
> >> -            }
> >>          }
> >>          else
> >>          {
> >> @@ -772,15 +768,9 @@ long arch_do_domctl(
> >>                      break;
> >>                  }
> >>              write_unlock(&hvm->g2m_ioport_lock);
> >> -
> >> -            ret = ioports_deny_access(d, fmp, fmp + np - 1);
> >> -            if ( ret && is_hardware_domain(currd) )
> >> -                printk(XENLOG_ERR
> >> -                       "ioport_map: error %ld denying dom%d access to [%x,%x]\n",
> >> -                       ret, d->domain_id, fmp, fmp + np - 1);
> >>          }
> >>  
> >> -        iocaps_double_unlock(d, true);
> >> +        iocaps_double_unlock(d, false);
> > 
> > I think the new behavior is more sane, however the problematic aspect
> > of this change is the removal case IMO: we cannot be sure whether
> > existing callers rely on XEN_DOMCTL_ioport_mapping also removing the
> > permissions, and hence Xen no longer removing the permissions might
> > lead to leaks.
> > 
> > This is a risk we might be willing to take, but it must be stated in
> > the commit message.
> 
> I've added
> 
> "While no longer granting permissions upon mapping is "only" at risk of
>  breaking guests, no longer revoking permissions upon unmapping strictly
>  requires callers to additionally invoke XEN_DOMCTL_ioport_permission. Or
>  else a security issue would arise. In-tree code already does so."
> 
> >  And likely in a CHANGELOG entry so that external
> > consumers are aware of this change and can adjust as necessary.
> 
> Will do.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 10:13:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 10:13:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339036.1600153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQnl-0003ie-E7; Tue, 16 Jun 2026 10:13:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339036.1600153; Tue, 16 Jun 2026 10:13: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 1wZQnl-0003iX-BB; Tue, 16 Jun 2026 10:13:49 +0000
Received: by outflank-mailman (input) for mailman id 1339036;
 Tue, 16 Jun 2026 10:13:47 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wZQnj-0003Vf-HZ
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:13:47 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQni-005R6q-AO
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:13:46 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3121d3-5cb7-0a2a0a5109dd-0a2a450adce6-18
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:13:46 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3121da-56b3-0a2a450a0019-d155802ad449-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:13:46 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-490acbb0f89so28236405e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 03:13:46 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490ea94f5b0sm295160265e9.1.2026.06.16.03.13.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Jun 2026 03:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781604826; x=1782209626; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+S0H/QLubDb3sFgEIhvI4x0YN8vi9tpwyxDi8HASuUs=;
        b=siiGdRLpMsI4Syy8sMkON7gq6nvVKeCPs1m7SVDIJleK4nBrRQwxqLhs5iBRCQv9/W
         ev+fuug2XypuU5rdsgGMYEFldk4luB4sKxzQwjHMtJfREi/lQbIlNfXhZhc+FpzY+bUs
         jUFxuaR9MWL1hRGgqBd6hPBK0P4WaumrMsqGp6puT1hEvTURc9l5IxPUt96bD8gExajn
         5AbsJGx84zjt2/4v50w2O9WUbIfP8SBqGKmHt2MMILTl7Epr6xdInd2zCP9hAynlM1YK
         yet76cqPTnZNhbdKgnLnn0fjHqp6dwcU9RAfs55PYc7bNZb+pPpf1n1j2QOwBduYDBjN
         sKiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781604826; x=1782209626;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=+S0H/QLubDb3sFgEIhvI4x0YN8vi9tpwyxDi8HASuUs=;
        b=h9HOzeWsP5aAcr7vBUiuBhKx9LnSHm5fUKeBp42j1PGFl0vOfs/vMcy1xn+FxSICva
         o5+T7+AZNQj5IiuQTKpfUw5F9G/04w/tXoUN9J1Il79B50RiG44qGjXW7unJksNNyPxV
         5GRKyxCcxXoWCYKkmZrAiFmG16x4s+32HAAwpABDZwHYDI5RmZ2orAyZMP9Keu1K+Z5d
         LfwEg4akEenGUN7wULZYKopJ9b+++MzaBxqdLKtSqe/d33GespIcBM6IBtPTPBKTmqQ+
         ddE8rux7++8bYJWTCztU5s67sv7J1Gjb8PvlksGU9cRXEo/Hv275W9jDIy3aNh0ZfUcH
         0Lkg==
X-Gm-Message-State: AOJu0YwWUH5+whKmHC2HdQ8H7y9Lnb9ggx5lEHscn/CbjF0gO8A/GqED
	LhAYSIJgQLDdfDi7K/zo+sBTtCNJOF10n+aWWqhkFel/mlMFggeJuJm0NbupbNBS5QM=
X-Gm-Gg: Acq92OEUbqzKl2soN8q1GVguHlrU35dBgQVP70q0eW/CSPfBNAN1tlXr4uWZ5ecyajK
	VxIZrxrDdGD7/eCRfHqPR3PHWciX5suxbwOzYftz5r6KUlo0Wjdijd2DcODhgTZF+dq92Xe0QAf
	Nnb6nQ3DpAxjDnQLMTfb/SwZYaXD0x9iHDuSPnwXem9EBGF9up6Cx87YfzvVWadzi+e1y9XuNEb
	wuluvE7It8DGA8hRzw582dD8VTjP6DagOqpC7N3UZ1CzdxsrwhR3umMExqyAAb8eq3QtXIuSO4b
	R0uPer8AjcwQu/vqRPQ/oScBHMLr2GR+CpIOnO8tiMCGkh5VPYBzp9k/r7qnRQupbRfJmM9/yRE
	NwlL5Hz9ZY9+lbuVDsmCUrfmPPuR2E2A//A5HdquoMZWozTqQ9M6zPDn0gjLw/yp+GT7CJvDwE+
	p8mcROqgm/5QiIou5AzPAmft8jXSKGoYWdLHUbr5jC9LaivV99ZK1HBNoXXgnv0Q6Ldl0S98jUa
	jbfjASphOfaucjoClGmckK3z29yJnOTZZzGqg==
X-Received: by 2002:a05:600c:1392:b0:490:a646:9d75 with SMTP id 5b1f17b1804b1-49220091dbemr176687055e9.9.1781604825392;
        Tue, 16 Jun 2026 03:13:45 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@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>,
	Teddy Astie <teddy.astie@vates.tech>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v3 1/4] Align relevant sections to 4KB
Date: Tue, 16 Jun 2026 11:13:33 +0100
Message-ID: <20260616101336.44009-2-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260616101336.44009-1-frediano.ziglio@citrix.com>
References: <20260616101336.44009-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1781604826-731728B7-EBA06A78/0/0
X-purgate-type: clean
X-purgate-size: 1606

From: Frediano Ziglio <frediano.ziglio@cloud.com>

Required by UEFI CA memory mitigation.

It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
in the pagetables.

NX_COMPAT is a requirement from shim-review,
https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility

Sections with different permissions must be in separate pages.
In the case of debug sections they are contiguous and have the same
permissions so it's not an issue if they are not aligned to the page.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v1:
- Change subject.

Changes since v2:
- Improved commit message and subject.
---
 xen/arch/x86/xen.lds.S | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index b9e888e596..f758940674 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -162,8 +162,8 @@ SECTIONS
        __note_gnu_build_id_end = .;
   } PHDR(note) PHDR(text)
 #elif defined(BUILD_ID_EFI)
-  /* Workaround bug in binutils < 2.36 */
-  . = ALIGN(32);
+  /* Align to satisfy UEFI CA memory mitigation. */
+  . = ALIGN(PAGE_SIZE);
   DECL_SECTION(.buildid) {
        __note_gnu_build_id_start = .;
        *(.buildid)
@@ -330,6 +330,7 @@ SECTIONS
   __2M_rwdata_end = ALIGN(SECTION_ALIGN);
 
 #ifdef EFI
+  . = ALIGN(PAGE_SIZE);
   .reloc ALIGN(4) : {
     __base_relocs_start = .;
     *(.reloc)
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 10:13:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 10:13:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339038.1600170 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQnn-000496-1M; Tue, 16 Jun 2026 10:13:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339038.1600170; Tue, 16 Jun 2026 10:13: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 1wZQnm-00048z-Uo; Tue, 16 Jun 2026 10:13:50 +0000
Received: by outflank-mailman (input) for mailman id 1339038;
 Tue, 16 Jun 2026 10:13:49 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wZQnl-0003iW-EN
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:13:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQnk-003Fzp-R3
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:13:48 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3121da-bab6-0a2a0a5309dd-0a2a450bb25c-4
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:13:48 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3121dc-212f-0a2a450b0019-d1558031d873-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:13:48 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490b9318997so31384255e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 03:13:48 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490ea94f5b0sm295160265e9.1.2026.06.16.03.13.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Jun 2026 03: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781604828; x=1782209628; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=aV50E1szkTOwyhMutswlcW3BTksNdLPvcC4004D+T/Y=;
        b=CY14pm6C7Btf+ZwQ2tL5bp5gurb559V8T6ftJhTZqxw4mEjMEO45HtVVev68mwWsxr
         S9YAlwWfH3uIkAgmleTwmYPM9CN2zgtWovr/2E8BzfpqBPi9q63Fpclo7bCVtQEmUd5V
         KuXOKGUAuSbl3LgnbN1Pefn7HoSHwmZQWIKBo3rRL5Mz1lphjEtO3+aYcXondK7OuXwT
         /oJIJjkSQgYefBgu/qHVafaUehi6o97eq2uFFC5whp82PP1F8wo64w3EY7JaEd7N0jgo
         16TmBT0BQPT4cWjPvUYn2F7UlyCm5SXrQc80pI0VsgAvRrZzqNq3b46d/eT8SVh9Ii0V
         /nNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781604828; x=1782209628;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=aV50E1szkTOwyhMutswlcW3BTksNdLPvcC4004D+T/Y=;
        b=KMecy2dsN9T2ERoJsTkp6XfcOSZxl+FvubniseyqfF4oo3RAA8Gf9yo+HF2Wi70/EP
         23zvsYtmD6ZerefCd55Nm9f/S3IChboiu5VcEyXe1PCG9th/6auisvmlUNpCagXL9BgO
         yppWI5iIoZ/rWU7r8TMWWBwTP8guxB9uMn/bI50owySQeGHDbz0KxP173ikJqIz32+Ts
         LJKni3WXNoug4bB5K5LXGo9LYhtAzwEqvWm1Ds2rIye8oM7lZGHaT24HSrnVuaotNlBY
         RUa53a4IQy/mLQo3nTu5RCmPVGXxa2LgyVaOGW/JNZSC9xSn4xXIaiROPc47MqO2mTs7
         DgYQ==
X-Gm-Message-State: AOJu0YyXzAWNTfKrONmtOMMmEgb4rVYN3h56eryzBh/+4gHEMYSp4lDX
	pfZlwzxq1L0CKZAMb50M4vWcnlxg2WbA2Tw+PHiWOhqSHM32suOheGdvCGIX/c1vnHM=
X-Gm-Gg: Acq92OEYMMWrCnTqNJ8qDIcifYUhhuCnngqUNg59oewgSlmLEUQHmXTQTBkSv/VoYJU
	Y0EiB5RI/eTZ1zQ4pGM9zkSl8RkFbemzE6GrNgxN4nNWfSikC+rAz4p5iXwhUq+IoKUfUp3/qON
	KTxEFlrAg8K39aP2+ig4bLX5eVa/8mJ3WJi+u+CfJScgNhaIAgDfmV3PsvXW82C4LxQVgLVYGwF
	H5HxlhNXDrQmVXDIFYqhRfxM39jsmPOlZ8PkyfVlKKKro6KVVCAFL0KSy9dCd9FMibmIdPyTTVK
	WGi36ny6M7pRAHh95d/t6nCGAMGi8HL+Kxek3mxAc/TaLPfgPcblUXpAMU0izbjv+So8RK3ST/5
	1Bd2J2NEP8fxgfOyRsNSyypx1vhBbpspuJf+Nu6hVAwdYuGCQW6anEOUNs+4DiOO7WEq7ww6lm4
	Gm/ClBH10e19PMriO92Qi3Xv1KX2uhhpoPmQmkn+oMiPprkysWok7A4QXyHzCfiB+Vz7CG9KuMN
	EcPvBRdfxsWCpaQCJgo0LwIRBY=
X-Received: by 2002:a05:600c:3495:b0:490:e18f:d112 with SMTP id 5b1f17b1804b1-4922011df49mr193686985e9.21.1781604828155;
        Tue, 16 Jun 2026 03:13:48 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <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>,
	Teddy Astie <teddy.astie@vates.tech>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v3 3/4] x86/efi: avoid a relocation in efi_arch_post_exit_boot()
Date: Tue, 16 Jun 2026 11:13:35 +0100
Message-ID: <20260616101336.44009-4-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260616101336.44009-1-frediano.ziglio@citrix.com>
References: <20260616101336.44009-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1781604828-19969F3B-0B315A27/0/0
X-purgate-type: clean
X-purgate-size: 1810

From: Roger Pau MonnÃ© <roger.pau@citrix.com>

Instead of using the absolute __start_xen address, calculate it as an
offset from the current instruction pointer.  The relocation would be
problematic if the generated PE binary had .init.text as a standalone
section with just read and execute permissions."

Removing this relocation is necessary to make it safe to split .init.

No functional change intended.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v1:
- Improve commit message.
---
 xen/arch/x86/efi/efi-boot.h | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index d738b839ee..b983f054b5 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -270,7 +270,9 @@ static void __init noreturn efi_arch_post_exit_boot(void)
 
                    /* Jump to higher mappings. */
                    "mov    stack_start(%%rip), %%rsp\n\t"
-                   "movabs $__start_xen, %[rip]\n\t"
+                   "lea    __start_xen(%%rip), %[rip]\n\t"
+                   "add    %[offset], %[rip]\n\t"
+
                    "push   %[cs]\n\t"
                    "push   %[rip]\n\t"
                    "lretq"
@@ -278,7 +280,8 @@ static void __init noreturn efi_arch_post_exit_boot(void)
                      [cr4] "+&r" (cr4)
                    : [cr3] "r" (idle_pg_table),
                      [cs] "i" (__HYPERVISOR_CS),
-                     [ds] "r" (__HYPERVISOR_DS)
+                     [ds] "r" (__HYPERVISOR_DS),
+                     [offset] "r" (__XEN_VIRT_START - xen_phys_start)
                    : "memory" );
     unreachable();
 }
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 10:13:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 10:13:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339039.1600180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQno-0004NN-B4; Tue, 16 Jun 2026 10:13:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339039.1600180; Tue, 16 Jun 2026 10:13: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 1wZQno-0004NA-69; Tue, 16 Jun 2026 10:13:52 +0000
Received: by outflank-mailman (input) for mailman id 1339039;
 Tue, 16 Jun 2026 10:13:50 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wZQnm-000409-FM
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:13:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQnl-003Fzp-SE
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:13:49 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3121da-bab6-0a2a0a5309dd-0a2a450bb25c-6
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:13:49 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3121dd-212f-0a2a450b0019-d155802ed87a-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:13:49 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-490b9318997so31384405e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 03:13:49 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490ea94f5b0sm295160265e9.1.2026.06.16.03.13.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Jun 2026 03: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781604829; x=1782209629; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xFITs22eOFRWlUIcORe3IAjkHztBHE2ao+BX4i1CqUw=;
        b=irXgKyTXES0FSnXHsPUhd+XSNaMNIlTmEX3V/HM8hT2F2bpwb/Fbbmo1VAglXdjkRM
         bzHMYDPQA4/D70pnDoHoeG+NgcdM3oWX8WscC+BSiTBbzFFUt5sDtHghX/pramg26aW7
         g44TaW+3+kiGJVY4rdtEfog9X6Zd2zQ+2bJo3B1VyHT+4okbZBC6lPMI2Eo2jIaaYSAv
         prHQBX62G0SPnmiLuCPmAaXViX5TgtNww7xW/f5ii//hJ3MzxDrLk8HQxMRCC/wMsA97
         DpVV4B2vId1Xpbx1H0YNHL7k5vlejpw7DYoRU+gXAdy9GzaMSUpogbF2xrJiuotqzVBU
         7A3A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781604829; x=1782209629;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=xFITs22eOFRWlUIcORe3IAjkHztBHE2ao+BX4i1CqUw=;
        b=BsUmhcjt82j8SMDFNvGIavnt/dROA/rL3rdFXSoq9D/607QNKy4ECd4nj83PJKyM2Q
         UH8fCnSrdCW6YTkbXOtIEMgIwZNcfD98mqocvB7DkM5CCV/GwqX4VguVkL03zGACI5YG
         0zG2wF4H5uvpo/Y0Jt6CLQgXikv5ai0zZ95q+O5MlVoj6Jwqq6qec3BHSM48WtWeiBXM
         wSTJ2MH7k8V3GQJi1Msf5lGWuW3EpaItoTmw7OTm++5AtD0Y5eTt38CFs4xo6Tj7iUdZ
         rW9z+rn09y6HI+oE+jiOKY1YLMsXHHS1Oah1VvHwwn5BSUUyJ4pI4BqzY5JvWuYCSemb
         IgDA==
X-Gm-Message-State: AOJu0YwZQICY0hdikKmvh195Ayfg1b0v/Y9nsWEB8ndzdfYR/TMzupfr
	sQtKCmAxJxUoZ8jduV3+EBc/M092Jm/JI1s9dDGnHOBtlNoAYuzIpIZ7lXLarilq4jE=
X-Gm-Gg: Acq92OHMwikSqfFaxxtZfmUJlHeU1sBt7+FoYHT8tuNeVOKR8AHIz9W0P7A5wB2/hj7
	Jeeoz5vjn4ETNVpPAkFSVG4pcHgJ5tjUx8yi7HHNz8zmgK6i/GXcRZJeD4VzaYDSLSo0Y2cKhvd
	Q5zo7K0IBICe6BiTYidCqRsZ4eVgdnx/a/kK3Pg5RbdufDBeB59DOIP4u9w3IUb412tmFjW00l+
	tyW9SuaJyx6Aao3JIMh3Ct6/kTUN7JEfdsKt8z6tqcodM45tm1UtAhLKb58oQP0zXusET6cYGG3
	a1vwikrBCPpNcMrZOJHrbsSmQmbDb1i3S8E2QNyNlbuG3V5fgpagL/lNOtm88GcJ5e3s/0RS3uJ
	znZyYGKERI/W7vPY+wodpxFC61wu4Uj/0eZ9F1HQqFujbOAWxOWs7DEZ1/cj1miMI8AaM/ODasQ
	Xr+f7a0gh3ue+cELczMcqyJ4wPbSVYJVyCPq4CK7t4GTzBVfMcZawxQAuAHqdrCo3+6yAaTNHmV
	sBcc5qUEmftc8JWU4uZ4B1g35tx1hBtBrugFg==
X-Received: by 2002:a05:600c:4e90:b0:490:b724:5085 with SMTP id 5b1f17b1804b1-492201641dfmr197752535e9.33.1781604828879;
        Tue, 16 Jun 2026 03:13:48 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@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>,
	Teddy Astie <teddy.astie@vates.tech>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v3 4/4] x86: Split .init section to satisfy UEFI CA memory mitigation
Date: Tue, 16 Jun 2026 11:13:36 +0100
Message-ID: <20260616101336.44009-5-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260616101336.44009-1-frediano.ziglio@citrix.com>
References: <20260616101336.44009-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1781604829-12D77F3B-0A3F6D84/0/0
X-purgate-type: clean
X-purgate-size: 1760

From: Frediano Ziglio <frediano.ziglio@cloud.com>

Currently .init section is both writeable and executable, split data and code
to have 2 sections satisfying W^X rule.

It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
in the pagetables.

NX_COMPAT is a requirement from shim-review,
https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Change since v1:
- update comment style.
---
 xen/arch/x86/xen.lds.S | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index 749d9719cc..8fefda1816 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -193,11 +193,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.multiboot)
        *(.init.text)
@@ -210,12 +206,12 @@ 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) {
+#ifdef EFI
+  /* Align to satisfy UEFI CA memory mitigation. */
+  . = ALIGN(SECTION_ALIGN);
 #endif
+  DECL_SECTION(.init.data) {
        *(.init.bss.stack_aligned)
        *(.init.data.page_aligned)
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 10:13:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 10:13:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339037.1600159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQnl-0003lg-Nl; Tue, 16 Jun 2026 10:13:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339037.1600159; Tue, 16 Jun 2026 10:13: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 1wZQnl-0003kH-Hx; Tue, 16 Jun 2026 10:13:49 +0000
Received: by outflank-mailman (input) for mailman id 1339037;
 Tue, 16 Jun 2026 10:13:48 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wZQnk-0003Vl-2y
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:13:48 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQnj-009AuV-G2
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:13:47 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3121ce-e002-0a2a0a5209dd-0a2a450ce268-32
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:13:47 +0200
Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3121db-62f1-0a2a450c0019-d1558036b8b8-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:13:47 +0200
Received: by mail-wm1-f54.google.com with SMTP id
 5b1f17b1804b1-490b7866869so44860905e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 03:13:47 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490ea94f5b0sm295160265e9.1.2026.06.16.03.13.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Jun 2026 03:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781604827; x=1782209627; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SOWAHlvQ+YJJWAhAsIp9IubNkCtKgClYad2d4nRRdf8=;
        b=Tvxrh8lc3i2W8ouLvmQOav4at5VaSlwtgAUOF0PoJgSgaosnsMUkpa6GdxkbxF6HvB
         b29+astsAAICWPaARk2khz/jy82tYVaYtwWkzPT1hvRgO9OGmURR/R1aiMAF59F7AjYp
         ZTxAavcb9TGrtHCr01v6XuOQLUMAha/nPZdpYUyaYm8x+BTlWW0cKDzvktcMs+Hs6PxN
         1fl16YcyLkBS42uR1YauxuEI95rM4gUnlx4Y90TfIulh6ouLBFeXzVSh/rPDwRCBV7Dv
         MqongXKBKJATu9ElfHmd6ELVa1sNW+yf2Ix+JeYvq5jkz/+jLPCaHVCb48f85E2au/1/
         qFlA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781604827; x=1782209627;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=SOWAHlvQ+YJJWAhAsIp9IubNkCtKgClYad2d4nRRdf8=;
        b=FEmZpdPsrW5kgwwIyFAhsqKgoKdBk1tAuUiWkOA0gQRfl2gwR3m72/r7K+h/7UwPgp
         mL/ELCs/a6TCDChb4Q8QjRPyVamB0L+NcU2tMEll0Yc7KkMxda9hPmDJhBAYZ9g1RuUH
         iRLdIoVPPcAWTtpYDA3+xOZqtMfP7VTINEIYOYSqzOeT4fkVq0vv38wqYB7JyaJu9/o3
         luJB6rr5MIwWjX67BKLgXQs9BnkbDrkvypQnUlNEG+QT3qjJak9iaJaFxASyyw3EtSWN
         1fsqZptzkbsl2HTHpsJqAjCul3z4eMgLJ7+RRBqrm24bavyGtwggrhCNv1RZe0uk9UYQ
         ApLw==
X-Gm-Message-State: AOJu0YzIBWARU24eaD+ysi4XYSMFQPyzlrKzK5eWR/+aphqjfftk6xpz
	G/jJaYntUi9na4MNooaFhToU/W+Gqba3UsY1Ldv0LFMplFieij4wrbFNjliAMV5zWkU=
X-Gm-Gg: Acq92OGsyQHnAPD/Y4eEW4kg9vAMb8QBuc9JC1W7IteTcTLRYlFPgijOzScNSBXl5Y/
	zl/dm08taMEGImBIz95GzoUdLem29HagoWCVaOGzDot8/7rBsAI9SYn1V6loXmKZUEhhKgi4/Xi
	dorij7dROEhbRQSgs1dEilx9KwpzlXuoTa7cgXlwXaMKHiSFAVBfRYU2OMxqPeLcvdPrQbDR/Xi
	wkG3+ijcaP3w5PiifnV/y57kJZpjNlZIBxQ/bk0Wy4OYUkPzl2HAcc+hC+jrMKlAXGHTpv8K1j0
	DiEcAhMqC3jur2lIBEYTlpm2+jDacOAVfTGaXlbtyYp2Yzcm9b/TuODLfNTnqxm34eNxO83hNCT
	Ibr8OIccVYn/45xWBMRH3leuKZQotc/oyylXj0hlHBFC54ap04TmOFz25egUh/RVzjkCvcGxHq1
	P7lLngOOEtfgxjUexGlcWBK92TBoTNmmUNn7N16Ych0LzkPQmL7s2G1bU3nPTa9jVjRX77Hj65o
	7EjApAsGE92Ya4BJJjH5Q+AxfE=
X-Received: by 2002:a05:600c:8b86:b0:491:91cc:d12d with SMTP id 5b1f17b1804b1-49191ccd322mr215094085e9.25.1781604826714;
        Tue, 16 Jun 2026 03:13:46 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v3 2/4] x86/efi: discard multiboot support for PE binary
Date: Tue, 16 Jun 2026 11:13:34 +0100
Message-ID: <20260616101336.44009-3-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260616101336.44009-1-frediano.ziglio@citrix.com>
References: <20260616101336.44009-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1781604827-E1161CF5-6BC97658/0/0
X-purgate-type: clean
X-purgate-size: 2917

From: Roger Pau MonnÃ© <roger.pau@citrix.com>

Multiboot and PVH booting are not supported for PE, hence discards them
in the linker script when doing a PE build.

That removes some relocations that otherwise appear due to the usage of the
start and __efi64_mb2_start symbols in the multiboot2 header.

Section discarding is not done updating DISCARD_SECTIONS definition as the
change is specific for x86.

No functional change intended.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v1:
- improve commit message;
- change section orders to avoid changing code order in final executable;
- merge 2 commits;
- removed deprecated documentation section.

Changes since v2:
- Update commit message, join 2 sentences together.
---
 docs/hypervisor-guide/x86/how-xen-boots.rst | 6 ------
 xen/arch/x86/boot/head.S                    | 3 ++-
 xen/arch/x86/xen.lds.S                      | 5 +++++
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/docs/hypervisor-guide/x86/how-xen-boots.rst b/docs/hypervisor-guide/x86/how-xen-boots.rst
index 8b3229005c..b6d852050a 100644
--- a/docs/hypervisor-guide/x86/how-xen-boots.rst
+++ b/docs/hypervisor-guide/x86/how-xen-boots.rst
@@ -82,12 +82,6 @@ When a PEI-capable toolchain is found, the objects are linked together and a
 PE32+ binary is created.  It can be run directly from the EFI shell, and has
 ``efi_start`` as its entry symbol.
 
-.. note::
-
-   xen.efi does contain all MB1/MB2/PVH tags included in the rest of the
-   build.  However, entry via anything other than the EFI64 protocol is
-   unsupported, and won't work.
-
 
 Boot
 ----
diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 77bb7a9e21..90faf411b9 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -152,7 +152,7 @@ vga_text_buffer:
 efi_platform:
         .byte   0
 
-        .section .init.text, "ax", @progbits
+        .section .init.multiboot, "ax", @progbits
 
 early_error: /* Here to improve the disassembly. */
 
@@ -710,6 +710,7 @@ trampoline_setup:
         /* Jump into the relocated trampoline. */
         lret
 
+        .section .init.text, "ax", @progbits
 ENTRY(trampoline_start)
 #include "trampoline.S"
 ENTRY(trampoline_end)
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index f758940674..749d9719cc 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -57,6 +57,10 @@ SECTIONS
   __image_base__ = .;
 #else
   . = __image_base__;
+  /DISCARD/ : {
+    *(.text.header)
+    *(.init.multiboot)
+  }
 #endif
 
 #if 0
@@ -195,6 +199,7 @@ SECTIONS
   DECL_SECTION(.init.text) {
 #endif
        _sinittext = .;
+       *(.init.multiboot)
        *(.init.text)
        *(.text.startup)
        _einittext = .;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 10:13:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 10:13:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339035.1600145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQnk-0003Vx-9Q; Tue, 16 Jun 2026 10:13:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339035.1600145; Tue, 16 Jun 2026 10:13: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 1wZQnk-0003Vq-4y; Tue, 16 Jun 2026 10:13:48 +0000
Received: by outflank-mailman (input) for mailman id 1339035;
 Tue, 16 Jun 2026 10:13:46 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wZQni-0003VX-80
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:13:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQnh-003Fzp-DB
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:13:45 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3121cd-bab6-0a2a0a5309dd-0a2a45019240-30
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:13:45 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3121d9-c1f2-0a2a45010019-d155802ad411-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:13:45 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-490acbb0f89so28236255e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 03:13:45 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490ea94f5b0sm295160265e9.1.2026.06.16.03.13.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Jun 2026 03:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781604825; x=1782209625; 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=699i1TOXrC90tn7LbsrjawpB3kpr5gLUxkyvX/Ju3G4=;
        b=niPAntW3S7+b9APCHz4Pp2S5BXnKVc1zVjmS/1R/qjMS7gIAUaKAOPOoZdtPYjGuJh
         EBIBux9ew7KxOiKSt2H6vpJ7uod2LUsBLINklyufhn8vF7dIChdaII8+qAw/HXER58fq
         GH3c6tj6P040Kyof1gt/6wCgXpD5b4iqHNvJxT77dCTpp9UgpfaVV6l8LDnTmfdePaZL
         DK0QEr1lYmB+24BwQnaDgZsBK+GUCDUImv8P48kA5uRJ873HIe9sTzucnpiXXlvbjCVq
         Ev4agSiYUxnBrrOSBOhKc1fpgVv0JzEji+YjFEV2zOAdpQlcs2HPfNBN6tj+dVmi+CCh
         YIxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781604825; x=1782209625;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=699i1TOXrC90tn7LbsrjawpB3kpr5gLUxkyvX/Ju3G4=;
        b=KzEzlATNWaZq1VN0vH77N6FuuiWS2MwYBDU2McIfb14gvgws1K6L2jV5egqqQ6okG4
         EWfjMZPkeb1rD0EEdV5cSqUEJ3wAXThrlApbxBuBAy2gEw90329clEoWmXsbhTu1hp/g
         7Yn8oAnKaZ0ntrKelD4Iabdk1PfVEcuO7Ht0HUQi0But+RbFN9x3Rp+5IwfOmgvxZnk/
         GZv/rcOR1uFBGv8EQpyAT3GM7RtcvYIuwODibgWf47N54sDTrKVrX2vomL/nXBV50o7q
         lqr4kyBbvrryKKp2l+TnByXXex7Uz3iyAW+ATX/AtAcJ6OHoIuJ8WiN7s0BOTeA1LcPI
         1pvg==
X-Gm-Message-State: AOJu0YxHh+iWQCoadRtqGRsBPs4j9RPEdI7xGqaLiOzKrDgoM6CHSSJs
	LqDV+3ukKNKWJcRT1eVGgNCulcOU39ZI0iHmQfdX96e8IR9QFJvGn3kXzfko5gOFQBY=
X-Gm-Gg: Acq92OEnJjqNQs17VYUrTlDQiPr/M+xWeP04DTwtNt/A9e6apCVr5jKcqdJX2KDguUs
	UE9XPS5TFtp1pGzj87NLtOe52pCQTeVY7MFmXwpnM4XnEECmJcUYtq8kVrbbzzgjMDmrcyqlyTr
	sB2n6/AyJAA192XkKJ1GA0v2OnWES9IDS1vJHIN4RpUzapMPSOLHI9PK5CxJSrCxju7XjmyE3ZN
	rS7vV6uLMol6BcDHCr4pT+WjQkl2WYvWAmc0mbT3B4S1cyjDnyJK2YXCyRv2ZHcq2+6PntG9n8e
	fgl5uyjE3KJfBuL4Ada4xNZ7nbKRzBc25Aaw2bdLd7NKT8iYFDpa4hx0F43NIwOo1JT1/DMxAwS
	IqvY1TfIud+YSW+D45vt5e1SIQ05eP0gNJdGGTr+9T4bOuaudWE7ck8GsBFqm5UMse2tYDVqAZR
	wKrGO8Th7ULWzqkko3xasJSNw4ODmTLr83jP4RxCA+qVxVm3mZr7pPO2+xpT1bNp9dip8dTd8Ml
	0QyKS3VLrwLkMLIuBDTJI2Q2OU=
X-Received: by 2002:a05:600c:4ed0:b0:490:5e2a:f924 with SMTP id 5b1f17b1804b1-4922008485fmr192344345e9.7.1781604824558;
        Tue, 16 Jun 2026 03:13:44 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	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>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v3 0/4] Various patches to improve Secure Boot support
Date: Tue, 16 Jun 2026 11:13:32 +0100
Message-ID: <20260616101336.44009-1-frediano.ziglio@citrix.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-purgate-ID: tlsNG-d62444/1781604825-AFB56FF4-7DC31319/0/0
X-purgate-type: clean
X-purgate-size: 1075

These patches improve support for Secure boot.
UEFI CA memory mitigation requires memory pages to be not executable and
writable at the same time. So changing permissions and splitting some section
is required.
Remove multiboot pieces from EFI executable.

Changes since v1:
- improved some comments;
- merged 2 pacthes removing multiboot support in x86 PE;
- removed a patch dealing with SBAT;
- other minor changes (see single patches).

Changes since v2:
- improved some comments.

Frediano Ziglio (2):
  Align relevant sections to 4KB
  x86: Split .init section to satisfy UEFI CA memory mitigation

Roger Pau MonnÃ© (2):
  x86/efi: discard multiboot support for PE binary
  x86/efi: avoid a relocation in efi_arch_post_exit_boot()

 docs/hypervisor-guide/x86/how-xen-boots.rst |  6 ------
 xen/arch/x86/boot/head.S                    |  3 ++-
 xen/arch/x86/efi/efi-boot.h                 |  7 +++++--
 xen/arch/x86/xen.lds.S                      | 22 +++++++++++----------
 4 files changed, 19 insertions(+), 19 deletions(-)

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 10:17:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 10:17:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339070.1600188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQrS-0006PM-Qp; Tue, 16 Jun 2026 10:17:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339070.1600188; Tue, 16 Jun 2026 10: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 1wZQrS-0006PF-OC; Tue, 16 Jun 2026 10:17:38 +0000
Received: by outflank-mailman (input) for mailman id 1339070;
 Tue, 16 Jun 2026 10:17:37 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZQrR-0006Nc-18
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:17:37 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQrQ-005Can-Cg
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:17:36 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3122ae-5cb7-0a2a0a5109dd-0a2a450ce7ca-44
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:17:36 +0200
Received: from [209.85.221.51] (helo=mail-wr1-f51.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3122c0-62f1-0a2a450c0019-d155dd33d9b7-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:17:36 +0200
Received: by mail-wr1-f51.google.com with SMTP id
 ffacd0b85a97d-45fd464d51fso2508160f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 03:17: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-4922fa47ce3sm75691975e9.6.2026.06.16.03.17.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 03:17: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781605056; x=1782209856; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=juA3+18AhhbVIaQe/2VOGliqYiMHNv5kVUzNjIvEzMU=;
        b=L6YHwQodao8Bqt1wf5Y4nLL+KIcGCAfoSexCfkPgAJW9GdHtku3g4cPzj4+Mb+a8zo
         8u4VswvWaLLzwUqxNNqhmtcw5fDGTbnhotjE/upyIKjX7PvXEFdRvqfimVkF1kWKG8+a
         tnwAW98tbxWf6Mf3hxoCpS0EqD1JUGBtgLJcjEcu151DpgDMfI/9/JRWPvl5jVL9vcmu
         dKgOl8IC55hyJ5hhWyVdsI/+fch4Fq8iGhUjfUR11FZcwLNWEtqq8e0ZRXq/AkWjECPO
         x8IY3AI/s8LBN45qRJqve9Q+2s4f6SaawnD6+MbXMd9KvmcK8KBjsTYqxxeP4lnEofM4
         E2FA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781605056; x=1782209856;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=juA3+18AhhbVIaQe/2VOGliqYiMHNv5kVUzNjIvEzMU=;
        b=o8+LNeOtfjlwH7dzTTswk9/Wh6psKntP3ieq/0pt/HbrtITOO0IWDeMTZHE7wcZOlU
         l18L4cAIxhuyCq7SVnwmvHwHICkZIA5QjrJJGLANFfeayJa+jBPM1WHxXTlywr0zBkKS
         KGuhXHPWfYkbXZouQYvJ7pwkta8ykrgis4wFEMOmOO1jy9bGMV0yj+5q47G0zc4JlquK
         8DuuK86Y/UjsWCYB2jPyrrNjv/AqBM5d4QeNsER0PUM2n3wv5ntspPXverEqac6CKX8v
         ChkhtEqUJM7GAs5UyLdPn6ceHLj5VMl6B7zd7F/hQgX9BloJB4bFZaUWq6L+yexEPReG
         sGIw==
X-Forwarded-Encrypted: i=1; AFNElJ+FvILiOnUiMZk4gmOagmoacQ9wP+tG2Ycqrv4GcnRbkfpOYzzgirOw71pFrY3UCmds9ozbR4WwREE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzhYBhWjhZJOcuRD2swuracxZ6R2lLI5OPexRJ7KCH0TuynFKgm
	MQyMtWx3yhzain075o6e7FIDxYj1+soH8q4leoSQADl/7r72PhuuY2XTDFO7ChUVUA==
X-Gm-Gg: Acq92OF2i4QECwhWgSwsUB3Xfi8wdNjsWvGTkXxShVQAivFk7S9bY+PQpMyBQ9NDer9
	3pM8WVhAnaG6G1a25ztq5TrjvHjQD+Z7qNfOirMxJrfNArbFdWE1t+3yWwxcfauW2Xs6eveM0at
	8QOwtL18LC7lsvqAwdMaTPKHUl/zimgk7v+/Jk8aLYwW4BR8Flog0wPMSWoCmzvNbFhj4zc+1lN
	yRrqM+milF5hqbeD2vk1dAD/L+0D+sXKKd+1eO8dpGGTCRN/7ydALueulbvuQyw8H+Ygh+EvyUH
	0GscHvCIUz4ScaCSJCQCgL+cRLbbZ7u/SugTtuIc7l8Ez2WVuhtJ8IPw96/mSIyoBiOhfY8g/v+
	5lxm1iKYY4aN43nL4sRvXy+hDH/5X5HNKOj59YulQY973yHcK0B82dwm4IpYMZUxBWqUi3rYKdk
	MxqWH119QB2p+fAmgkPjzA5i7oIM9JSjJuPUOpD8w2ohtqA/Xur7Z3f8mozr4BPKEPKsqGiIzKL
	SM1kL04kZzpLN1w61Unnqh1RA==
X-Received: by 2002:a7b:cd0b:0:b0:490:b2c9:e284 with SMTP id 5b1f17b1804b1-49220143bc6mr139847735e9.30.1781605055274;
        Tue, 16 Jun 2026 03:17:35 -0700 (PDT)
Message-ID: <b1378fde-29fc-4149-a421-56c64f8541c3@suse.com>
Date: Tue, 16 Jun 2026 12:17:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 12/16] xen: implement new foreign copy hypercall
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org, Daniel Smith <dpsmith@apertussolutions.com>
References: <20260613214749.20620-1-frediano.ziglio@cloud.com>
 <20260613214749.20620-13-frediano.ziglio@cloud.com>
 <8289ea1d-ceca-40b6-a992-a778be053cd0@suse.com>
 <CAHt6W4en1yMLrUXv+RbcoPr-=S_=pi2Rrcm2BC2PzMZT+0ksFw@mail.gmail.com>
 <1c1829d2-4cb4-4e29-9012-fdcbca8d79a9@suse.com>
 <CAHt6W4daGuduOgRNUFOB8SZd+C5bxaubyQoU=xDcJSMzo97VDw@mail.gmail.com>
 <024e626a-e1be-4959-bd78-4e229beade98@suse.com>
 <CAHt6W4d62wJyALu3pM52JB12FXfDS0+fDk6Hna9fP55acskSAA@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: <CAHt6W4d62wJyALu3pM52JB12FXfDS0+fDk6Hna9fP55acskSAA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1781605056-E1F6ACF5-5D48EBDF/0/0
X-purgate-type: clean
X-purgate-size: 9937

On 16.06.2026 11:47, Frediano Ziglio wrote:
> On Mon, 15 Jun 2026 at 16:23, Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 15.06.2026 17:07, Frediano Ziglio wrote:
>>> On Mon, 15 Jun 2026 at 15:03, Jan Beulich <jbeulich@suse.com> wrote:
>>>> On 15.06.2026 14:11, Frediano Ziglio wrote:
>>>>> On Mon, 15 Jun 2026 at 08:41, Jan Beulich <jbeulich@suse.com> wrote:
>>>>>> On 13.06.2026 23:47, Frediano Ziglio wrote:
>>>>>>> +        {
>>>>>>> +            struct page_info *foreign_page;
>>>>>>> +            void *foreign;
>>>>>>> +            p2m_type_t p2mt;
>>>>>>> +            const unsigned long valid_mask =
>>>>>>> +#ifdef CONFIG_X86
>>>>>>> +                p2m_to_mask(p2m_ram_rw) | p2m_to_mask(p2m_ram_logdirty);
>>>>>>> +#else
>>>>>>> +                p2m_to_mask(p2m_ram_rw);
>>>>>>> +#endif
>>>>>>
>>>>>> What about, for example, p2m_ram_ro? Or p2m_ram_shared? Or p2m_grant_map_*?
>>>>>> Etc. Any artificial constraining wants justifying in the description and/or
>>>>>> mentioning in the public header.
>>>>>
>>>>> The base of this was taken from migration code where there is such a check.
>>>>> I suppose that adding p2m_ram_ro (where available) won't hurt.
>>>>
>>>> Just to mention, to avoid another round trip just because of this: p2m_ram_ro
>>>> has different meaning on x86 vs Arm/RISC-V.
>>>
>>> That's confusing... should not this be fixed somehow?
>>> It won't save much from a round-trip. Should I allow it or not ?
>>
>> Ask the Arm maintainers. I raised this issue more than once, without any real
>> success.
>>
>>>>> p2m_ram_shared I'm not sure but seems fine too.
>>>>> For p2m_grant_map_* it feels a bit a security issue to me. It would
>>>>> allow a guest to give access to pages of other domains. It's true that
>>>>> the current domain would have to have write access to this domain
>>>>> anyway but extend these permissions sounds something it should not be
>>>>> able to do.
>>>>
>>>> It could copy the contents of the grant mapped page by other means. Why not
>>>> allow it in this new sub-op as well then?
>>>
>>> I'm more afraid of writing the content of the grant pages than copying it.
>>
>> But the same is true for writing to the granted page: The domain could do so
>> by other means.
>>
>>>> Talking of security: When the page you copy to is owned by a PV guest, I
>>>> think you further need to obtain a PGT_writable type ref. (Of course it then
>>>> likely is easier to always do this, not just for PV.)
>>>
>>> Wondering how save/restore (or migration) works in this case.
>>
>> Save is not relevant here. Restore happens before the guest gains control.
>> Which is entirely different from hypercall handling.
>>
>>>>>>> @@ -2012,6 +2139,13 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>>>>>>              start_extent);
>>>>>>>          break;
>>>>>>>
>>>>>>> +    case XENMEM_foreigncopy:
>>>>>>> +        if ( unlikely(start_extent) )
>>>>>>> +            return -EINVAL;
>>>>>>
>>>>>> Please address review comments (verbally or by code changes) before submitting
>>>>>> a new version. Here I had asked "Why make this different from other continuable
>>>>>> sub-ops?"
>>>>>>
>>>>>
>>>>> There's already a comment in the same file for similar reason
>>>>>
>>>>>     /*
>>>>>      * Limiting nr_frames at (UINT_MAX >> MEMOP_EXTENT_SHIFT) isn't ideal.  If
>>>>>      * it ever becomes a practical problem, we can switch to mutating
>>>>>      * xmar.{frame,nr_frames,frame_list} in guest memory.
>>>>>      */
>>>>>
>>>>> so to avoid the doubt and possible future change I mutate the structure.
>>>>> Also I use the mutation to give more information to the caller, using
>>>>> "start_entent" won't allow this.
>>>>
>>>> You'll want to mention this in the description and/or a code comment. It
>>>> wants to become clear that the inconsistency in behavior (with other sub-
>>>> ops) is deliberate rather than accidental.
>>>>
>>>
>>> Added a comment in the code:
>>>
>>>         if ( copy.nr_frames && hypercall_preempt_check() )
>>>         {
>>>             /*
>>>              * Instead of using "start_extent" we update the structure back,
>>>              * we update it back in anyway to tell caller were the copy
>>>              * stopped.
>>>              */
>>>             rc = hypercall_create_continuation(
>>>                 __HYPERVISOR_memory_op, "lh", XENMEM_foreigncopy, arg);
>>>             goto out;
>>>         }
>>
>> Please can this go into the hunk that I commented on?
>>
>>>>>>> --- a/xen/include/public/memory.h
>>>>>>> +++ b/xen/include/public/memory.h
>>>>>>> @@ -740,7 +740,45 @@ struct xen_vnuma_topology_info {
>>>>>>>  typedef struct xen_vnuma_topology_info xen_vnuma_topology_info_t;
>>>>>>>  DEFINE_XEN_GUEST_HANDLE(xen_vnuma_topology_info_t);
>>>>>>>
>>>>>>> -/* Next available subop number is 29 */
>>>>>>> +/*
>>>>>>> + * Copy memory from/to a given domain.
>>>>>>> + */
>>>>>>> +#define XENMEM_foreigncopy 29
>>>>>>> +struct xen_foreigncopy {
>>>>>>> +    /* IN - The domain whose resource is to be copied. */
>>>>>>
>>>>>> There's still "resource" here, when this really is about RAM (memory) only,
>>>>>> not any other kind of resource.
>>>>>>
>>>>>>> +    domid_t domid;
>>>>>>> +
>>>>>>> +    /* IN - Flags. */
>>>>>>> +#define XENMEM_foreigncopy_from 0
>>>>>>> +#define XENMEM_foreigncopy_to 1
>>>>>>> +#define XENMEM_foreigncopy_direction 1
>>>>>>> +    uint16_t flags;
>>>>>>> +
>>>>>>> +    /*
>>>>>>> +     * IN
>>>>>>> +     *
>>>>>>> +     * As an IN parameter number of frames of the domain to be copied.
>>>>>>> +     */
>>>>>>> +    uint32_t nr_frames;
>>>>>>
>>>>>> This isn't just an input, as you update the field (and the handles below).
>>>>>> This property of fields wants reflecting here, so callers know that they (a)
>>>>>> can't re-use the struct on a subsequent call without re-initializing the
>>>>>> fields which may have changed, and (b) can't put the struct in r/o memory.
>>>>>>
>>>>>
>>>>> Update comments:
>>>>>
>>>>> /*
>>>>>  * Copy memory from/to a given domain.
>>>>>  */
>>>>> #define XENMEM_foreigncopy 29
>>>>> struct xen_foreigncopy {
>>>>>     /* IN - The domain whose memory is to be copied. */
>>>>>     domid_t domid;
>>>>>
>>>>>     /* IN - Flags. */
>>>>> #define XENMEM_foreigncopy_from 0
>>>>> #define XENMEM_foreigncopy_to 1
>>>>> #define XENMEM_foreigncopy_direction 1
>>>>>     uint16_t flags;
>>>>>
>>>>>     /*
>>>>>      * IN/OUT
>>>>>      *
>>>>>      * As an IN parameter number of frames of the domain to be copied.
>>>>>      * On output on error updated number of frames left.
>>>>>      */
>>>>>     uint32_t nr_frames;
>>>>
>>>> This is updated not only on error, but also when encoding continuations.
>>>>
>>>
>>> Yes, but this seems more an implementation detail to me. I don't think
>>> the caller cares about how the continuation is implemented.
>>
>> You just can't know what a caller may or may not care about. You want to
>> be precise.
>>
>>>>>>> +    /*
>>>>>>> +     * IN
>>>>>>> +     *
>>>>>>> +     * Frames to be copied.
>>>>>>> +     */
>>>>>>> +    XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
>>>>>>> +
>>>>>>> +    /*
>>>>>>> +     * IN/OUT
>>>>>>> +     *
>>>>>>> +     * Userspace buffer to read/write from.
>>>>>>> +     */
>>>>>>> +    XEN_GUEST_HANDLE(uint8) buffer;
>>>>>>
>>>>>> With these two handles, there continues to be a need to (explicitly) deal
>>>>>> with the compat case as well.
>>>>>
>>>>> I don't agree with this. Domains having access to other domains are
>>>>> limited (like stub domains for Qemu) and won't be 32 bits today so why
>>>>> allow 32 bits guests if not ever used?
>>>>
>>>> How do you know? Why shouldn't e.g. XTF be permitted to test this in all
>>>> possible modes? And even if all arguments end up in favor of "no compat
>>>> support", this then wants spelling out to make clear this wasn't an
>>>> oversight, but rather a conscious decision.
>>>>
>>>
>>> XTF can do something like
>>>
>>> #if COMPAT_GUEST
>>>     /* Compat guests are not supported, return success. */
>>>     return 0;
>>> # endif
>>>
>>> (or can be done in the Makefiles I suppose).
>>>
>>> Added a comment in memory.h:
>>>
>>>     /*
>>>      * Copy memory from/to a given domain.
>>>      * As this call requires target access and guest with target access won't be
>>>      * compat guests supported for compat guests this is not implemented.
>>>      */
>>
>> Well, okay. Right now what I can say is that with this it's then going to be
>> rather unlikely that I'd ack the overall change. You make assumptions on
>> what people may or may not do. There are still benefits to 32-bit environments
>> in certain situations, even more so that the x32 mode of x86-64 didn't really
>> take off.
> 
> Won't it save some round trips if you just told this a couple of
> emails earlier? If you already knew that compat is worth doing why
> asking to put a comment on it?

I'm sorry if this ended up confusing, but I specifically had made that
request conditional: "if all arguments end up in favor of". To me this
was pretty much rhetorical, but apparently it wasn't to you.

> Similar to the discussion about Arm, if you know the issue, can you
> explain it in more details? The description for the constant is the
> same in all architecture, so, what is the difference?

While Arm also says "writes are silently dropped" in the comment, I don't
think this matches the present use of the type: Afaict the type simply
means "r/o", without there being code to actually handle (skip) respective
guest insns. Part of my previous suggestion was to, at the very least, get
comment and implementation in line (i.e. even if p2m_ram_ro then would end
up having different properties on x86 and Arm).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 10:24:19 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 10:24:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339080.1600197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQxp-0000Nb-It; Tue, 16 Jun 2026 10:24:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339080.1600197; Tue, 16 Jun 2026 10: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 1wZQxp-0000NU-GC; Tue, 16 Jun 2026 10:24:13 +0000
Received: by outflank-mailman (input) for mailman id 1339080;
 Tue, 16 Jun 2026 10:24:13 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <marmarek@invisiblethingslab.com>) id 1wZQxo-0000NO-R3
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:24:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQxn-009bH1-MO
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:24:11 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a312444-2eae-0a2a0a5409dd-0a2a450ac122-20
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:24:11 +0200
Received: from [103.168.172.145] (helo=fout-a2-smtp.messagingengine.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a31244a-56b3-0a2a450a0019-67a8ac91a8dd-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:24:10 +0200
Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42])
 by mailfout.phl.internal (Postfix) with ESMTP id C0B9FEC02AA;
 Tue, 16 Jun 2026 06:24:09 -0400 (EDT)
Received: from phl-frontend-04 ([10.202.2.163])
 by phl-compute-02.internal (MEProxy); Tue, 16 Jun 2026 06:24:09 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 16 Jun 2026 06:24: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=1781605449;
	 x=1781691849; bh=NDrfnXg4kuYNI1VTBK+a4tJclYivziyYYIL+1ScUoc4=; b=
	kz7Sr84x/q2m8GD3+LH1bHbcA9T4GaYOgCzm0smPM6pjSG5WGuWIUFld/qhFmZA9
	a2MpO+gsgxGXw1qfOB7SMjvnheeHuEL8AGXWiV9HNEPQauA8i7fxQM6+aFkb2Cy9
	E79O8c16SzC9AegC58YZRvaqUetbGfdhAnjnUoW5U2XDFwbqEl8IfABQ3ORTwDtB
	g5a9ENErYkGMSJD/K0mmLVlTzkGX2egCrmpD5ZX27TNrMRmucy1EIaHt3E7ThXIe
	DdY+bOdM3FbxSSJa4td/sPiblPqoa7f93FZvmZhzHsjO7sFIAvKtqZZyGN+HidVX
	Gm/eo2wVTCQh+FjcxL+xhQ==
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=
	1781605449; x=1781691849; bh=NDrfnXg4kuYNI1VTBK+a4tJclYivziyYYIL
	+1ScUoc4=; b=jWT3nbuhXzgUQG5tjuPlNWkXqMqKKpr/evIowY5v3JCYVYGORSn
	sA7CXeX7Blq0SS1eCD7gXwSVJYIToN7GCOYReQIFUfu9lVYKyvaRH9uqxg5W1Rwb
	cQyrKfA82RxrLieLK7Z/YY/jgYXPwNwYifck/zpqN51bk1SjT+bmAvBqLh6TthOD
	Vre4yaceo4Vcao0TiWQGWZsM7Qk9I/Cv7pwftVuw//EP2jrG0QERVKML73rUcabc
	gKEUnhT5l7QVBzx7Dzm2IHNkh/aN0fMPaFrNaji7A5hi0bz6dilZRcubq4I7Z50M
	7ChaTFfhtarYOLEpQMThX+bvwgu7p4oa4yw==
X-ME-Sender: <xms:SSQxarLKGT2nIxITfhYRyFK8jhwbJhx8ytiN3ZdZpsvwmfyT2wCvpg>
    <xme:SSQxamAgXINr2tmTNJ8_byHZ1X2_2o-4UqOIVyb7buPxNLcL5CSKYJBhRRRrYtCxP
    AfmiD9vz7OXv40WswfdyANLi_J3GBhAyLmtvvz1hCb2CT4Z9g>
X-ME-Received: <xmr:SSQxasCb4m5X8cU3XrQxZA7kZgOPvJts9NrruQw05-SkuSIZZX1UUvOOY_aHa_9k0rzhPoNgLcVJ55dPbZ4w3lilUL35e8yNhNA>
X-ME-Proxy-Cause: dmFkZTFzBA7nbk1GoxURcsKyH++nA2FUP/i83NFOyq66aS4MA68xkKspu3zjtVm8EVClCk
    zbgqJrFIuBqrDvtmVuZxznTfyfTDD9duPeVOrJBgAyuiwK8huU6NuZeptAAz4QhrJ5mlwX
    5xx4Xoi9EOsq7k85NA+NFX9Uk05mE21vnCG9E+hXUN5677F02+vZrYEyzHtBnAN2uT3Xhs
    GI+ArXw9YD8tu1EViVnUxpcWLn4SJWvECze8sKPqlCE/RRSpURsOsgkUYkmK4/YF5lLbrs
    gG3D6QZmjovF0C8pz5LQkmkruXaPD0RSM/96Z+Bnf8WBX+TSNRpE2EoLAxyFW0tPzay7K8
    pnYaNJsjLLl2JNGofoC/rawrdTfe6A3qmnZDOqIqoqrzR4nIyOiVZx2UDFnUmXR5tr8nBk
    8TpYtJeijEsfmCYP2DdJKL64gVJTXfyPQzykWHvuxdbUI2XVLVt4eUnO1Je3I79IfY2suK
    ff6qoMiABQ/7uYGmZw+Lk+YPL6auhGkhxu6l84PFgSessYjuvAO7qUrqypw/nAcd0vBD5s
    vQO0v6XOHP+EkK2ilsyPYmH58aLa/Y5qMxU1C/zdhO3IVjWS+D7XGHJ2vLrgvGPhm2nJwz
    akzc4HtXYXtWTgBolwyOieuAXbhfYmVO/zlHk1FVIrIFiAvYIu4UvZ+Aj2kA
X-ME-Proxy: <xmx:SSQxagD7C2n63RWdvmGugnDNtV6PTxla74jiXKJckxh00HDY37mU_g>
    <xmx:SSQxavqbsRbOGc-zT1WdpOxyiR9TtRmjPvk5E71YXzSYwf7AKcuxiA>
    <xmx:SSQxailfNtbgWdF2hO2GGSVHONTYYdz3aXejCM72fk2FTbfRp40NiQ>
    <xmx:SSQxanyiqqyET32-HoKfSxFPGi4YXBXh6WNM7bMCBD8NwOq_ZFu1pg>
    <xmx:SSQxanGT0xAh6hxyGT-jO6RzJtErlWd26-2YE5BJT_0xh2gMIkyoeE6a>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 16 Jun 2026 12:24:06 +0200
From: Marek Marczykowski <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Daniel Smith <dpsmith@apertussolutions.com>
Subject: Re: [PATCH 2/4] libxc: drop size parameter from
 xc_flask_context_to_sid()
Message-ID: <ajEkRh6nQCWekq0o@mail-itl>
References: <5d242cad-d907-4321-8ac1-363c0f9b623d@suse.com>
 <e2d95536-655d-4ce4-8170-e5be8f5baa99@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="3z89l/g/r3RAFLJO"
Content-Disposition: inline
In-Reply-To: <e2d95536-655d-4ce4-8170-e5be8f5baa99@suse.com>
X-purgate-ID: tlsNG-4011c0/1781605451-6F55C8B7-DC03AD9C/0/0
X-purgate-type: clean
X-purgate-size: 5269


--3z89l/g/r3RAFLJO
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 16 Jun 2026 12:24:06 +0200
From: Marek Marczykowski <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Daniel Smith <dpsmith@apertussolutions.com>
Subject: Re: [PATCH 2/4] libxc: drop size parameter from
 xc_flask_context_to_sid()

On Tue, Jun 16, 2026 at 11:01:41AM +0200, Jan Beulich wrote:
> Nul-terminated strings are passed in all cases, so the strlen() can very
> well be invoked by the function itself. In preparation for a hypervisor
> change also include the nul terminator in the size calculation.
>=20
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

for the python part:
Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

> ---
> Ideally libxl_flask_context_to_sid() would follow suit, but aiui doing so
> would break its (stable) ABI.
>=20
> Of course the casts in xc_flask_access() are suspicious.
>=20
> --- a/tools/helpers/init-xenstore-domain.c
> +++ b/tools/helpers/init-xenstore-domain.c
> @@ -108,7 +108,7 @@ static int build(xc_interface *xch)
> =20
>      if ( flask )
>      {
> -        rv =3D xc_flask_context_to_sid(xch, flask, strlen(flask), &confi=
g.ssidref);
> +        rv =3D xc_flask_context_to_sid(xch, flask, &config.ssidref);
>          if ( rv )
>          {
>              fprintf(stderr, "xc_flask_context_to_sid failed\n");
> --- a/tools/include/xenctrl.h
> +++ b/tools/include/xenctrl.h
> @@ -2372,7 +2372,7 @@ long xc_sharing_used_frames(xc_interface
>  /*** End sharing interface ***/
> =20
>  int xc_flask_load(xc_interface *xc_handle, char *buf, uint32_t size);
> -int xc_flask_context_to_sid(xc_interface *xc_handle, char *buf, uint32_t=
 size, uint32_t *sid);
> +int xc_flask_context_to_sid(xc_interface *xc_handle, char *buf, uint32_t=
 *sid);
>  int xc_flask_sid_to_context(xc_interface *xc_handle, int sid, char *buf,=
 uint32_t size);
>  int xc_flask_getenforce(xc_interface *xc_handle);
>  int xc_flask_setenforce(xc_interface *xc_handle, int mode);
> --- a/tools/libs/ctrl/xc_flask.c
> +++ b/tools/libs/ctrl/xc_flask.c
> @@ -83,10 +83,11 @@ int xc_flask_load(xc_interface *xch, cha
>      return err;
>  }
> =20
> -int xc_flask_context_to_sid(xc_interface *xch, char *buf, uint32_t size,=
 uint32_t *sid)
> +int xc_flask_context_to_sid(xc_interface *xch, char *buf, uint32_t *sid)
>  {
>      int err;
>      struct xen_flask_op op =3D {};
> +    size_t size =3D strlen(buf) + 1;
>      DECLARE_HYPERCALL_BOUNCE(buf, size, XC_HYPERCALL_BUFFER_BOUNCE_IN);
> =20
>      if ( xc_hypercall_bounce_pre(xch, buf) )
> @@ -247,7 +248,7 @@ static int xc_flask_add(xc_interface *xc
>      int err;
>      struct xen_flask_op op =3D {};
> =20
> -    err =3D xc_flask_context_to_sid(xch, scontext, strlen(scontext), &si=
d);
> +    err =3D xc_flask_context_to_sid(xch, scontext, &sid);
>      if ( err )
>          return err;
> =20
> @@ -323,10 +324,10 @@ int xc_flask_access(xc_interface *xch, c
>      struct xen_flask_op op =3D {};
>      int err;
> =20
> -    err =3D xc_flask_context_to_sid(xch, (char*)scon, strlen(scon), &op.=
u.access.ssid);
> +    err =3D xc_flask_context_to_sid(xch, (char*)scon, &op.u.access.ssid);
>      if ( err )
>          return err;
> -    err =3D xc_flask_context_to_sid(xch, (char*)tcon, strlen(tcon), &op.=
u.access.tsid);
> +    err =3D xc_flask_context_to_sid(xch, (char*)tcon, &op.u.access.tsid);
>      if ( err )
>          return err;
> =20
> --- a/tools/libs/light/libxl_flask.c
> +++ b/tools/libs/light/libxl_flask.c
> @@ -21,7 +21,8 @@ int libxl_flask_context_to_sid(libxl_ctx
>  {
>      int rc;
> =20
> -    rc =3D xc_flask_context_to_sid(ctx->xch, buf, len, ssidref);
> +    assert(len =3D=3D strlen(buf));
> +    rc =3D xc_flask_context_to_sid(ctx->xch, buf, ssidref);
> =20
>      return rc;
>  }
> --- a/tools/python/xen/lowlevel/xc/xc.c
> +++ b/tools/python/xen/lowlevel/xc/xc.c
> @@ -1754,7 +1754,7 @@ static PyObject *pyflask_context_to_sid(
>          return PyErr_SetFromErrno(xc_error_obj);
>      }
> =20
> -    ret =3D xc_flask_context_to_sid(xc_handle, ctx, strlen(ctx), &sid);
> +    ret =3D xc_flask_context_to_sid(xc_handle, ctx, &sid);
> =20
>      xc_interface_close(xc_handle);
> =20
>=20

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

--3z89l/g/r3RAFLJO
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmoxJEYACgkQ24/THMrX
1yy2Fgf+KaLYyyjUAdwsINqBYAZzsJlD0VJNCJhkFWAH2aTzKWhyEXJ0+eo+NIzD
hrtDKq8Fc4yNIBXz2AUn2jbVArwZp9njlCbS90t4+o58dS3PSsuU6/LpABx5C7Yr
HvVlrAxqFknwWHyYwZu1N+2JGqK3LZh33fkIOadXpBA0/H+oiW8LoJTlIwv0yNv7
hHVtdRyAcbeyo5RT8Z97RAv4Ln2Iw96L1gRFHcJ7UuO9XjNaky5rrJ/0AHb2bFH0
PXIjwAIKcOrHcnDK99tats4XutEL+drllzhHGk1Sn2dATpwGTArGlZpakpPSUmJn
uT1/mgFhlZGi2OrImtGDN+fCR2jdWA==
=1yAW
-----END PGP SIGNATURE-----

--3z89l/g/r3RAFLJO--


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 10:24:51 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 10:24:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339085.1600206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZQyR-0000qb-RA; Tue, 16 Jun 2026 10:24:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339085.1600206; Tue, 16 Jun 2026 10: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 1wZQyR-0000qU-OD; Tue, 16 Jun 2026 10:24:51 +0000
Received: by outflank-mailman (input) for mailman id 1339085;
 Tue, 16 Jun 2026 10:24:50 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZQyQ-0000pH-Qf
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:24:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZQyQ-003INa-60
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:24:50 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a31246a-bab6-0a2a0a5309dd-0a2a4505b894-38
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:24:50 +0200
Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a312471-aaa8-0a2a45050019-d155dd35c846-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:24:50 +0200
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-45f3cf907ceso2285369f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 03:24:50 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2b0c10sm43450507f8f.21.2026.06.16.03.24.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 03:24:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781605489; x=1782210289; 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=CqOPBvXHSHqKhlVfCfyf+dtpaECr7Ynlh5AXB/N0Q2c=;
        b=LnWagrZNesUnjTiOXuZK8fgyzfgKJQuQ+Qt1j9JxhkYTzYfNf8PJI7K6EWZg8WWjoj
         I1h2Wig302DAyY8dSygNNuNKW2Mh+saVvUbZ3RJ8B6nACmSeZeJGawlngla5i0bmSGsq
         uekrwiG2kAldUwAY2Bkgi48W3BFBuMsZQNSjL6uJrbV5Ce9o8+sNSet5M4YroHHx8Z2W
         YaBx41+74MXRSCVip9zKd0n7FvUQvh2nGPLrCP/tFZ47DV0AfxnMal/1UY27xzbNy7L2
         Cgs9mW/ZcOpcESdbu//39OZPTuV1DmW4hlKBJjPMf7H0H9yvds4+xFKcSlZ6n5WKJTye
         CcGA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781605489; x=1782210289;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=CqOPBvXHSHqKhlVfCfyf+dtpaECr7Ynlh5AXB/N0Q2c=;
        b=VNfo/XTCGS1az8yVKNZAIgDEIhRBvb242QLPXcKU1UYNWYnEbCFpwgJ73kgqUjE5tN
         R6VjB4PSFrnAYvKuz+REiC4w43r8bNAs518Xufkft3DVZkMPnQA1VO1GNPC7PptZhhNE
         NyEaLAAqf0UjjEqIR4QMxNN2J581WGECq13Gs5EWmTimY8w5xhC6Q1cQLz5fbYNE7fRy
         9LkHdyDjaDMlA1grS81/H/v+2euqJ1SBuw11BMRmzxEjIhspD0RNEOy2y9986WJtINRf
         0FsiIc94oF64gvDl03Mm1qLlgNrFlqDWkL7BLNFqw1DPGbpDLUz5eAW0v+3xtzU9HGLv
         MslA==
X-Forwarded-Encrypted: i=1; AFNElJ/CugwQYCQwqauvaG2kDRL8mbisw6qNe+dGx6L4Hshj7wdw4z1ZXha3AVWPbDXRxm8UslpPGiICYuk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwkNuWs3Q+GMET2oL9IIdoIr/1SFe5KXhk9IVpU/4NaFpzMOZSJ
	L+lmK3bR8lmYrzhl3zZsltrDnjStHVz9VU8JYI9XKYjuD50U+lZNMLlE
X-Gm-Gg: Acq92OHCvdoAGGKgSJlUtKYD6fZV2uPOa6Yjq6PlLH5KYslCBIeOkQ83a2yny8b0FxR
	hZqOeaj+KlarBWuJDFblWPSRPtJT9Ufa/olRYpbzCTIGrBn7lyvoUGJ6G/JAg6RkwJaoKXDRaY/
	vse2R+cqrpWVJSKc+HtgnlGQIabZT/v52wTPUyrCSlNC5gZSKRkK/i6g2MlhLDlz0Z9BdMa1uEU
	itg7Az2IZsi09DdqmjWJ2Kd4QFRKhj5wTUjZo8A1gY+O3xFTe6MQyZOGzmMLeAigFkbJCcgo7zt
	SprxO5UP7U+GAR/eIJnXCdDRjzjHfhCiWg8tn6dI1sEIeeQHK3d8M5N93cvsQLGYv0StJPzZPMt
	ZrclQQMQrADqiprQeFkpsW+F5GGU/ZpEMg5j9f++XdnRxbYzElm9gQUXimr19punCiUrXsVG45w
	MFH0Hvy+jUuWFL3ORoTtdMSYiEKgKk7Vy9reWq8Ycu1fNI+AeiamDNrdgRJKT4nyBL61T+vn0r2
	KI1cg==
X-Received: by 2002:a05:6000:1787:b0:460:2ee5:67b8 with SMTP id ffacd0b85a97d-46074b891bcmr20468897f8f.36.1781605489296;
        Tue, 16 Jun 2026 03:24:49 -0700 (PDT)
Message-ID: <3da5b194-772c-4fb9-8b0a-194c1415dc87@gmail.com>
Date: Tue, 16 Jun 2026 12:24:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 26/26] xen/riscv: manage IRQ_DISABLED flag in APLIC irq
 enable/disable callbacks
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <6121dce6347f03030a2de05f29c1780b6fc0cd01.1778250616.git.oleksii.kurochko@gmail.com>
 <4580492d-c5e7-454d-b4a9-4bc959268cfb@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <4580492d-c5e7-454d-b4a9-4bc959268cfb@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1781605490-D3563443-1AAEA9AB/10/73395122804
X-purgate-type: spam
X-purgate-size: 6010



On 6/15/26 5:53 PM, Jan Beulich wrote:
> On 08.05.2026 16:43, Oleksii Kurochko wrote:
>> desc->status is only set once during setup_irq(), but interrupts can be
>> enabled/disabled at runtime, so update it in the corresponding callbacks.
>>
>> wmb() in aplic_irq_enable() ensures do_IRQ(), which can fire immediately
>> after the interrupt is enabled, sees the updated desc->status.
> 
> This doesn't look entirely correct. Aiui ...
> 
>> No rmb() is
>> needed on the do_IRQ() side because desc->status is read under a spinlock,
>> which implies an acquire barrier.
>>
>> No barrier is needed in aplic_irq_disable() because the hardware disables
>> the interrupt before the status is updated, so do_IRQ() cannot fire, and
>> spin_unlock() makes the updated value visible.
>>
>> Fixes: d4676a1398bc5 ("xen/riscv: implementation of aplic and imsic operations")
>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> ---
>> Changes in v2:
>>   - New patch.
>> ---
>>   xen/arch/riscv/aplic.c | 5 +++++
>>   xen/arch/riscv/irq.c   | 3 ---
>>   2 files changed, 5 insertions(+), 3 deletions(-)
>>
>> --- a/xen/arch/riscv/aplic.c
>> +++ b/xen/arch/riscv/aplic.c
>> @@ -161,6 +161,9 @@ static void cf_check aplic_irq_enable(struct irq_desc *desc)
>>   
>>       spin_lock(&aplic.lock);
>>   
>> +    desc->status &= ~IRQ_DISABLED;
>> +    wmb();
>> +
>>       /* Enable interrupt in IMSIC */
>>       imsic_irq_enable(desc->irq);
> 
> ... you want to order the ->status update ahead of the imsic_irq_enable()
> operation. Yet that's a CSR write. Do fences really cover that?

Good point. The RISC-V ISA spec is clear that fence orders memory 
predecessor and successor operations. CSR accesses are architecturally a 
distinct category. fence w,w carries no formal guarantee that a 
preceding memory store to desc->status becomes visible before a 
subsequent CSR write.

Also, according to the spec:

Each RISC-V hart normally observes its own CSR accesses, including its 
implicit CSR accesses, as performed in program order. In particular, 
unless specified otherwise, a CSR access is performed after the 
execution of any prior instructions in program order whose behavior 
modifies or is modified by the CSR state and before the execution of any 
subsequent instructions in program order whose behavior modifies or is 
modified by the CSR state. Furthermore, an explicit CSR read returns the 
CSR state before the execution of the instruction, while an explicit CSR 
write suppresses and overrides any implicit writes or modifications to 
the same CSR by the same instruction.

and ...

  If not,
> you may need to resort to mb(), to order the ->status write against the
> ->irq read, in lieu of being able to order against a CSR write.
> 
> Of course with imsic_irq_enable() itself acquiring a lock (which
> necessarily has a memory write), you could then further argue that wmb()
> is indeed sufficient, bot for a reason different from the one presently
> stated in the description. (I would also strongly suggest to annotate the
> wmb() with an explanatory comment.)

...

After re-looking at imsic_irq_enable() it is calling 
imsic_local_eix_update() which targets the local hart's IMSIC interrupt 
file (note the function name), and IRQs are disabled at this point (the 
ASSERT(!local_irq_is_enabled())). So do_IRQ() can only fire on the same 
hart, after IRQs are re-enabled on return from aplic_irq_enable(). 
Same-hart program order already guarantees desc->status is committed 
(before of the mentioned above) before the CSR write retires, making the 
barrier redundant.

So barrier could be dropped here.

On the other side if some code will check on different CPU what is 
desc->status without a barrier it will see a stale value. But then in 
this case we have to use or atomic set_bit() here or 
spinlock(desc->lock) around an update of desc->status. Then the similar 
is needed for aplic_irq_disable().

> 
>> @@ -189,6 +192,8 @@ static void cf_check aplic_irq_disable(struct irq_desc *desc)
>>       /* Disable interrupt in IMSIC */
>>       imsic_irq_disable(desc->irq);
>>   
>> +    desc->status |= IRQ_DISABLED;
>> +
>>       spin_unlock(&aplic.lock);
>>   }
> 
> The ->status write becoming globally visible ahead of imsic_irq_disable()
> doing its work is not an issue? In the paragraph in the description you
> again appear to assume that the CSR write and the memory write of the
> spin-unlock are ordered wrt one another.

The ordering is intentional: desc->status |= IRQ_DISABLED is placed 
after imsic_irq_disable() so that do_IRQ() can never observe 
IRQ_DISABLED while the interrupt is still enabled in hardware.

Regarding the fence/CSR ordering concern: imsic_irq_disable() writes to 
the local hart's IMSIC interrupt file, so do_IRQ() for this irq can only 
run on the same hart. Same-hart program order already guarantees that 
both the CSR write and the desc->status update are visible in the 
correct sequence before any subsequent interrupt handler runs.

> 
>> --- a/xen/arch/riscv/irq.c
>> +++ b/xen/arch/riscv/irq.c
>> @@ -145,9 +145,6 @@ int setup_irq(unsigned int irq, unsigned int irqflags, struct irqaction *new)
>>           desc->handler->set_affinity(desc, cpumask_of(smp_processor_id()));
>>   
>>           desc->handler->startup(desc);
>> -
>> -        /* Enable irq */
>> -        desc->status &= ~IRQ_DISABLED;
>>       }
> 
> Arm and x86 are different in this regard, so it's hard to tell which way
> it ought to be for RISC-V. This removal surely wants a sentence or two in
> the description.

I will add the following to commit description:

The removal of desc->status &= ~IRQ_DISABLED from setup_irq() is safe 
for RISC-V because aplic_irq_startup() calls aplic_irq_enable() 
directly, which now clears the flag itself. The explicit clear in 
setup_irq() is therefore redundant.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 10:39:34 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 10:39:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339094.1600217 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZRCQ-0004Dh-1I; Tue, 16 Jun 2026 10:39:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339094.1600217; Tue, 16 Jun 2026 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 1wZRCP-0004Da-T2; Tue, 16 Jun 2026 10:39:17 +0000
Received: by outflank-mailman (input) for mailman id 1339094;
 Tue, 16 Jun 2026 10:39:16 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZRCO-0004DU-Qp
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:39:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZRCN-009GCC-O9
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:39:15 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3127d2-bab6-0a2a0a5309dd-0a2a45068698-4
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:39:15 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3127d3-7371-0a2a45060019-d155802dd877-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:39:15 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-490b9318997so31579425e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 03:39:15 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-490ea95c51dsm292949575e9.1.2026.06.16.03.39.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 03: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781606355; x=1782211155; 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=LUnQMHQbCEfYks8YHQd0BHX9+6epsRRtpb3zeCBKWIk=;
        b=AgwxpyTOKVD5SIEE6i9OW1136skAiSAn2MgtWcLrWku4l9mjDvbaz07laYtgQJnXOU
         zQ+I2mVpcfBnyzzU+65v1ffGl7g3dYafiMHygHnpCYPn8cNR1woeplMbgfF3YPUH9Cq9
         FctWRusaLGrGb8T83MyRL0KFhXpWwFJ6V3aJYUKA9M516i9SocxWP+IsmXe5dfD+Egcp
         eeDahp9xXXocgIwkETz2vUmVpfRXI8GPUvwyrQigdkpqR1m0zF99Y479C4q2M88fOBPW
         PJ/DihjcpgzuqiBXCHZZm8zLaknvVHYdjav6uVBXABZPOYzT6xjdYY1LHMWLfqkF98tc
         /YyA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781606355; x=1782211155;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=LUnQMHQbCEfYks8YHQd0BHX9+6epsRRtpb3zeCBKWIk=;
        b=pyj+XmP/9QE9qmGGOVeBCDbNsM5dmEH0vlyRORWDTsDeL8AAYKTADoQYWZ0yGcpPF6
         lDQaosA1/kb6JFojV1M+kFdgGmkzfC8Ses4IH7tHqyQB0fjnz2tRCu9BrxVMX8hgABH+
         y5oXW27GEYg+f+P0bNpXMND9Enjx2ABSMHAd3RR5AMZFQrrarmPPHRyWNNNARKptL2xh
         nQIB/sPx1k/RJpGJRt+lpoIoc16S0npphhC0x9xTRQrVyB1GgCbxC0kB05DymoDY7gB4
         FFnnAqSPBRcCwixwbRegD9C9fnMGiE7gIhSF/TUO99ksBkd4tbnf0FSaQCYzycsSwUD/
         /1Sw==
X-Forwarded-Encrypted: i=1; AFNElJ+ape5Bb0eB6p+cv07XxCuBNSu1RUbRXEu9AO4UKcxCCEa0jfBZLfak1+wbTIMyyAPGYvPZwVGeI54=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzQG84b+n7Ds9qAaNFFEw68rJxreozpQ8cYYa0jEQmqhAhkVZ1w
	Dl0U/zoIx/uEudfMY6IopaOP6S9GVAkdahv0RX3Q5PzFUWzjphUmPBRQ
X-Gm-Gg: Acq92OGIAx9b1BbuFnFVnapLYPtQI0u3Lq3tV9Axttha9YFGZgSLHo3A76CTpBWYDS0
	69tOmia1f30XjmQBvGGNrqCjnISjF8R2XJocZgolRo2XJ0l8WEWz264Q2eZxOoW3iLZw/BdIaqH
	gcsv1hrEb0boPZbYBRBXL5ak01IE70hfLszcnKqDOQBglUWDXAQMDTASeXf/gRMgNx21cdE0Dct
	9FdRwEWPyin1V+tdWSjIsI4xWSwh1QqY7Y5HXGWT4pU6RmHuueGyPZJUi+TNKD/EkMWr3tJgYni
	QOE0/O+WNh7DvGB+DnLMJ5ZvZ2+8FTbWshPsj649H75E1smhtcUnaUaK+ey89rtQk2+O5BsH6eu
	4jdbvBUEjsBJ//r5KyzHXbucI8HFnk7lWl6YenDke1Zhd9jwQa+uRLuCX2l8/9+eMsN7S2iWOk7
	AnF/LJ2Gb0hzc2wGf+paBdty0r34j24965lhLlr5SFSjINoua00EN6/iFdKx4GvXzwxvC1FF722
	Wi8VQ==
X-Received: by 2002:a05:600c:6792:b0:492:2e48:81e6 with SMTP id 5b1f17b1804b1-4922e488201mr73809595e9.4.1781606353990;
        Tue, 16 Jun 2026 03:39:13 -0700 (PDT)
Message-ID: <8aa90509-5543-423e-9f74-5163a9179539@gmail.com>
Date: Tue, 16 Jun 2026 12:39:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 21/26] xen/riscv: implement virtual APLIC MMIO
 emulation
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <434e0be590bc0550e143836edff7e8e1e96b28c1.1778250616.git.oleksii.kurochko@gmail.com>
 <133430db-5605-4f3a-8ff7-77f9b57c91ad@suse.com>
 <68a7f2bc-91f5-4a19-afa7-4a9fd065f558@gmail.com>
 <2ba3a921-1927-4f94-b986-ecce59842961@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <2ba3a921-1927-4f94-b986-ecce59842961@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1781606355-8DD80D75-687E9EE5/10/73395122804
X-purgate-type: spam
X-purgate-size: 3285



On 6/16/26 11:24 AM, Jan Beulich wrote:
> On 16.06.2026 11:07, Oleksii Kurochko wrote:
>> On 6/15/26 5:13 PM, Jan Beulich wrote:
>>> On 08.05.2026 16:43, Oleksii Kurochko wrote:
>>>> +    spin_lock_irqsave(&aplic.lock, flags);
>>>> +    val = readl((void __iomem *)((uintptr_t)aplic.regs + offset)) & mask;
>>>
>>> Easier as
>>>
>>>       val = readl((volatile void __iomem *)aplic.regs + offset) & mask;
>>>
>>> ? (Note that like const, volatile also shouldn't be cast away.)
>>
>> Is arithmetic on void * pointers correct from the C standard's point of
>> view?
>>
>> It works with GCC (see
>> https://gcc.gnu.org/onlinedocs/gcc/Pointer-Arith.html), but I can't find
>> anything that guarantees the same behavior for other compilers.
>>
>> I'm okay with the suggested change if it's acceptable for Xen to rely on
>> GCC's void * pointer arithmetic extension.
> 
> We use that all over the place. Even docs/misra/C-language-toolchain.rst
> mentions it as explicitly permitted.

Thanks for that. I will then just apply your suggestion.

> 
>>>> --- a/xen/arch/riscv/include/asm/vaplic.h
>>>> +++ b/xen/arch/riscv/include/asm/vaplic.h
>>>> @@ -26,6 +26,9 @@ struct vaplic_regs {
>>>>    struct vaplic {
>>>>        struct vintc vintc;
>>>>        struct vaplic_regs regs;
>>>> +
>>>> +    paddr_t regs_start;
>>>> +    paddr_t regs_size;
>>>
>>> Can regs_size really go beyond 4G?
>>
>> Good question and it depends on an amount of vCPUs:
>>
>> #define APLIC_MIN_SIZE          0x4000
>> #define APLIC_SIZE_ALIGN(x)     ROUNDUP(x, APLIC_MIN_SIZE)
>>
>> #define APLIC_SIZE(nr_cpus)     (APLIC_MIN_SIZE + \
>>                                    APLIC_SIZE_ALIGN(APLIC_IDC_SIZE *
>> (nr_cpus)))
>>
>> paddr_t aplic_size = APLIC_SIZE(d->max_vcpus);
>>
>> With the current limitation of 128 vCPUs max (IIRC) it won't beyond 4G.
> 
> Tying to the overly low limit of 128 isn't very helpful, I guess. With
> APLIC_IDC_SIZE resolving to 32, the limit would be millions of vCPU-s
> aiui, so imo not a concern at all.

Then 'unsigned int' should be more then enough.

>>>> +    default:
>>>> +        gdprintk(XENLOG_WARNING, "Unhandled APLIC read at offset %#x\n",
>>>> +                 offset);
>>>> +
>>>> +        domain_crash(vcpu->domain);
>>>> +
>>>> +        return -EINVAL;
>>>> +    }
>>>> +
>>>> +    *out = aplic_hw_read_reg(offset, auth_mask);
>>>
>>> You blindly assume a 32-bit access here (and also in the write counterpart).
>>> How do you end up knowing?
>>
>> he APLIC spec requires all register accesses to be 32-bit wide.
>>
>> Also, I have the following at the caller side (yes, it can't be
>> understand from the current patch):
>>
>>       /* Fault address should be aligned to length of MMIO */
>>       if ( fault_addr & (len - 1) )
>>           return -EIO;
>>
>>       if ( vintc->ops->is_access(vcpu, fault_addr) )
>>       {
>>           /* PLIC/APLIC access are always on 32bit */
>>           ASSERT( len == 4 );
> 
> "len" being guest controlled, how can you have such an assertion?

Agree, ASSERT() isn't the best option here. Either rejecting of such 
length should happen or domain_crash() instead. The first one option I 
think is more preferrable.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 10:45:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 10:45:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339101.1600225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZRI4-00065x-Mu; Tue, 16 Jun 2026 10:45:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339101.1600225; Tue, 16 Jun 2026 10:45: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 1wZRI4-00065q-Ja; Tue, 16 Jun 2026 10:45:08 +0000
Received: by outflank-mailman (input) for mailman id 1339101;
 Tue, 16 Jun 2026 10:45:07 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <marmarek@invisiblethingslab.com>) id 1wZRI3-00065R-Af
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:45:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZRI1-00GLzT-FE
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:45:05 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a31292b-2eae-0a2a0a5409dd-0a2a4504ba0e-18
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:45:05 +0200
Received: from [103.168.172.156] (helo=fhigh-a5-smtp.messagingengine.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a312930-1dec-0a2a45040019-67a8ac9c9fcf-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:45:05 +0200
Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45])
 by mailfhigh.phl.internal (Postfix) with ESMTP id ED856140014F;
 Tue, 16 Jun 2026 06:45:03 -0400 (EDT)
Received: from phl-frontend-03 ([10.202.2.162])
 by phl-compute-05.internal (MEProxy); Tue, 16 Jun 2026 06:45:03 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 16 Jun 2026 06:45:00 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=1781606703;
	 x=1781693103; bh=NaLuUNbId44MtYuD6WuLs2HYXlOO5ZupT+0ImB0gTGg=; b=
	ia0JtE7WRVWUsr+jdmgIFaBuetRRUY15SHmBmSFbflsA4D3eDwyLzxutL60/1XUO
	zeYQfj6VwGhNwBW8yJtJmNBbsCsqPpM3xCevgCgGruYbdBGYEPvK0+yfXqM7mPsl
	hSlLGdhl96FcNM1wM+esZgw5Djv/quAUG1a0kPHotTacfa8hc/Z0G/PZxORGAkfj
	2H1IU7uiPpV6OetOP+9HkpMjpgjD+7zG85wsxlFXKptrfvk+LYV4HLC/J0PhohLI
	rsogAtuGgcAQD49eElIAHubPE+MAKmfAUOwqhxqgi79CwIH9+y36tb5pmr4pU356
	Dk+hAfIP0fFJ+httR1mEXg==
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=
	1781606703; x=1781693103; bh=NaLuUNbId44MtYuD6WuLs2HYXlOO5ZupT+0
	ImB0gTGg=; b=DDkSg2S2FoyhRwFi8pmSR/cc7d/0qKwfyHG+UQXnYbHnnB+x4Ii
	erVWpp6rFK8rB542KzaS/rY25Nq1/cxAP9DLRfkPDFgxWxagnoYzY/BnqgeMkvRh
	7BK0A01cUKoItTfxcue1LZT5xBvyTwuvabqKN79piWhtCJAYy5QM2prNAb5J5G9A
	UWlxnh+1sf+ERnpsRqHe9Xag+6zpkVaxZm269/B5lZuIYA8Y/mjewVCQc20qJHqH
	zx8ZoevliNPRUq4IPFSzuCQbkTwQNDuvjPidA10INPzLbtO2+4pcfZ/DjF5DxhrS
	1nqqjrA9n67L09RELW3qEumCHAgmMirtOKQ==
X-ME-Sender: <xms:Lykxai9dSs5-7B6DirG2K93vx8CkrSMz-RyUiybIdo0cZENSSEpRnA>
    <xme:LykxahziHt3Le3RTOVOU41BBeDvgldqOYPyHqJRhbk_gDrF_v65py6Ot2NuTd3mjP
    L9RP6ly39c1XP_kXZZq0MKnWfGcreenFMmi3WtkH4nnkQRkbO8>
X-ME-Received: <xmr:LykxauMrqDLcRYFuStyb04w8kK3K7rdd7x3Re2gHl9D0X3Av6j0hJsrhKalUEO85F4T7CrcnpKNCzY8LF_wdnabqc47y1XNBm0A>
X-ME-Proxy-Cause: dmFkZTGY7Z9jmGa2+aGtWmkJ6P7gvTnJn0JJoC8QAnKrKY5wY8eR61XouW5oy6AOCchx3J
    z1vWPLRrRchgyl/bBj/m5h3Pu1XAOwo9iJDR/OK1YoVglt4MbEgnXWwbe2m2U5lBBk3OSV
    MT6OGK91OkhDxvklW8Wiyj87XPJ0xZd7uPvVL1mcj5lDS2+kn2KkYWz6/e5CFioiistVgc
    P27N5s/gP2zIwBiMTEIRa2eWooQd18ELmExWWfxN6Z6ypJUn7iS2SZvXUEzvLgZomSVVqK
    xIOqeIERmxQYRM1dRcnElxCTeRwMBfVlCcjYhneVq8Rj0YCi7o/NhkkQUqanLC5DR4uzJG
    6Hxbyg0SZYWw5AqFqxxtigVoH4HOMbwuCeOb18Jsq7OztpLFucJGX04JIGnMqV0LcEHhmi
    b0x4elul5rAerjqBfMox8vpXagdBPOhRUl0WWS4ZQCIohzGHOv6Ny5UcoJOrLw3NZ5caiZ
    JrcFZYsWH/G6vzdCAqUGXqeXf+j+7RUhPuRBk3EZc3R+j5djsE1+cfUFzidvtS8OqFxOzR
    NX8ztY7rT0VDa1SeddWg4aw/DvQzz+PvJrVFOXAtq0JvecdlYeVgbSMNmC4HWtT26+urtE
    Cl12H4NBssSrzuJixmzQekViEGIsuGapyMFbUpio1Na40PncGjAJy35XJxog
X-ME-Proxy: <xmx:Lykxam-_NW11NqMa7QPxTOqCWsuhvmEP_iPhxsXOWvLVYaVZWQwnww>
    <xmx:Lykxar7Kcq5uKZqk8YZ4Pjq8opaVhBH5098RkG7LRQD99nTj7amxdw>
    <xmx:Lykxas4E5_RPKdlwfxbTNisaQi3AboneBzfSe9Jrxt-SVUI4flatOA>
    <xmx:LykxakpwWWljMspGCMg-HMXO1cA_yP9cR8H0od02KpfAk6WrNXoPqg>
    <xmx:LykxaljrZxJWxWouiPfrE_faxLPu6LgimqRp1QyAymeeVWIeNGGWEjIl>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 16 Jun 2026 12:44:58 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Frediano Ziglio <freddy77@gmail.com>
Cc: xen-devel@lists.xenproject.org,
	Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: Re: [PATCH v3 1/4] Align relevant sections to 4KB
Message-ID: <ajEpKusm_Um2_acj@mail-itl>
References: <20260616101336.44009-1-frediano.ziglio@citrix.com>
 <20260616101336.44009-2-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="Zx7VUxsfvZUqjHQo"
Content-Disposition: inline
In-Reply-To: <20260616101336.44009-2-frediano.ziglio@citrix.com>
X-purgate-ID: tlsNG-ebf023/1781606705-2BD6C3FF-6B28B3A8/0/0
X-purgate-type: clean
X-purgate-size: 3277


--Zx7VUxsfvZUqjHQo
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 16 Jun 2026 12:44:58 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Frediano Ziglio <freddy77@gmail.com>
Cc: xen-devel@lists.xenproject.org,
	Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: Re: [PATCH v3 1/4] Align relevant sections to 4KB

On Tue, Jun 16, 2026 at 11:13:33AM +0100, Frediano Ziglio wrote:
> From: Frediano Ziglio <frediano.ziglio@cloud.com>
>=20
> Required by UEFI CA memory mitigation.
>=20
> It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
> in the pagetables.
>=20
> NX_COMPAT is a requirement from shim-review,
> https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-=
shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-yo=
u-done-to-ensure-such-compatibility
>=20
> Sections with different permissions must be in separate pages.
> In the case of debug sections they are contiguous and have the same
> permissions so it's not an issue if they are not aligned to the page.
>=20
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>

Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

> --
> Changes since v1:
> - Change subject.
>=20
> Changes since v2:
> - Improved commit message and subject.
> ---
>  xen/arch/x86/xen.lds.S | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>=20
> diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
> index b9e888e596..f758940674 100644
> --- a/xen/arch/x86/xen.lds.S
> +++ b/xen/arch/x86/xen.lds.S
> @@ -162,8 +162,8 @@ SECTIONS
>         __note_gnu_build_id_end =3D .;
>    } PHDR(note) PHDR(text)
>  #elif defined(BUILD_ID_EFI)
> -  /* Workaround bug in binutils < 2.36 */
> -  . =3D ALIGN(32);
> +  /* Align to satisfy UEFI CA memory mitigation. */
> +  . =3D ALIGN(PAGE_SIZE);
>    DECL_SECTION(.buildid) {
>         __note_gnu_build_id_start =3D .;
>         *(.buildid)
> @@ -330,6 +330,7 @@ SECTIONS
>    __2M_rwdata_end =3D ALIGN(SECTION_ALIGN);
> =20
>  #ifdef EFI
> +  . =3D ALIGN(PAGE_SIZE);
>    .reloc ALIGN(4) : {
>      __base_relocs_start =3D .;
>      *(.reloc)
> --=20
> 2.43.0
>=20

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

--Zx7VUxsfvZUqjHQo
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmoxKSoACgkQ24/THMrX
1yyDUQf/fkB5FPNxB5IQto4U6LzRvBzSElebdq4QVipEgSWjTyv8dEqVF99lx1QL
mW6fBFVrw0wNt7ep/8B7gioyvx6iHFLWqrfnKf/dIgqqIQlG0bLNVPvpP4aPAn4H
pfgit8QYgxBG3NI1H1/DL1SPgIOhKECBFkr98umhKWHc3xJTLsBy7fjGLLdG7Pze
GWWVLSfEMnDI4fSjrjA75su8mzfNbsAhslL60P0gGVyZvIkJ3C9Rk7IkHYdDArTj
sbNe1jNbBgIG4r13aQxm9Jo4Vf7lL3z8Z3qmm6vImZIHiZFgzJCVn1uSJYbcjElU
KqmZDO6ho5YScy3mdxhBkFKbhefQwQ==
=/fEy
-----END PGP SIGNATURE-----

--Zx7VUxsfvZUqjHQo--


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 10:45:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 10:45:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339106.1600234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZRIZ-0006Zl-TX; Tue, 16 Jun 2026 10:45:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339106.1600234; Tue, 16 Jun 2026 10:45: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 1wZRIZ-0006Ze-QD; Tue, 16 Jun 2026 10:45:39 +0000
Received: by outflank-mailman (input) for mailman id 1339106;
 Tue, 16 Jun 2026 10:45:38 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZRIY-0006YJ-Iz
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:45:38 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZRIX-00GM8C-Vw
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:45:37 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a31293c-2eae-0a2a0a5409dd-0a2a4505ca2e-46
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:45:37 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a312951-aaa8-0a2a45050019-d155802bf099-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:45:37 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-491609cdd8fso22330335e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 03:45:37 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-242-105.as13285.net.
 [78.146.242.105]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-49230a0e9e4sm49201585e9.0.2026.06.16.03.45.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Jun 2026 03:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1781606737; x=1782211537; 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=zSlbWj2fiDx6tU7ujT7ONkvXF3dF+bXdnNBNjMMAAlE=;
        b=TdFAf7ViwuwtPZDfYTbnZoXORTI7DYgLHB5hq86qHM0EQfPzxxRaPSjb6FV6ZgHG6r
         LlS4jUN89j0ql1dL/PX14gz5PS4kh1cBPyFzgTRXafHTMqf+OQ77t4fvXNhU8pGyAI5j
         ineVN9bMTb4V+EHS3o4/o4VoRce7FvZ+24MMY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781606737; x=1782211537;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zSlbWj2fiDx6tU7ujT7ONkvXF3dF+bXdnNBNjMMAAlE=;
        b=gCz0vWXfIJ/0PWkAshjBOMxlF9rb2YQIWcuuA9bjAaBkqIAka1hCZeGNas51yqcTlI
         7vcep56UXcGBZVRyB3Uqi3V4ur1/9WYm8EAFyOHSV4gYZO0uiJQVAu7SJWugPzRDt/iq
         oT4JlspWaogzQjYwu67Y22/dK+ffNVt+l2SVCe05Ux7UHnkoFE0qmqOwDzjPQ3xMoPgM
         3gYbQdQCi5yHdwdvLiluRaKwD1Wcta26H27Xt/kpRTGco4/q8EwgwiVyZMt4YIAvEmkn
         AM1Y8YL+RySN5IWfw5CagYd8V9Dh5NcOpTXumtrDE61NYJRcwe2EheApuORFyYlO2TY4
         6O2A==
X-Gm-Message-State: AOJu0YzvBi5B0ov8X3DfRnr0WfDVL6g4FVIeNtSkzv7DynMPeCXcUfVl
	UrYOzqmfZyN2cp41fJDBZ6YYQVz0WWoEQmIkyp2NOKxPAKXPAJMzJXaAPhLEH6rITucoyRPd1uV
	d0pbb
X-Gm-Gg: Acq92OEkZ4M4+EDUf+0R6bNDsWrVLvujQ/Q7GKTQgOW0aOEXZkYHXzyJ9Uf8X52mPG6
	YGNJIAqTw/W8b8cDcJVzn8KMprpGMG9CBgc1ImrrCXIKbCDF0Yp24FQiN1644DarCli61rRGWPZ
	ULneemVx3ca6OuRelZbvYbTTlc4SYqtqmQ8QxYyW2aH74rUZHWQLVMnXXibHE33yTz++E7MAVJT
	PalrY/FXi8xvsWSRhfn/U95YREhYr472ZoEIGPttWxM21RUgN8vZxc0sgwt47d27syhYZGhEOjP
	lEYfNm7xHV63uuz7Dg/aq2K5wR8ywRH6jGrcRqA5CHccJJLdzIoG6WpfSawqry8hTnefk06DDuK
	UdLk7BgUESxWP3CduKXQkVFcnP+TCZ08LMbiY8q3ttn0BoUxygQ2fmhKUB6/xwYPoHHVX3MaTAg
	ueeKsIcl0cqsntrmGY+j7+rFV7SScUnwFHWTklJVHbMcy2LapiHg42g/DJMQC91HwOAXq4hlFC3
	Zdg
X-Received: by 2002:a05:600c:4e04:b0:490:a298:acf7 with SMTP id 5b1f17b1804b1-4922ffaeacbmr45971965e9.17.1781606736970;
        Tue, 16 Jun 2026 03:45: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>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH for-4.22] x86/ucode: Exclude Zen6 from entrysign digest checking
Date: Tue, 16 Jun 2026 11:45:34 +0100
Message-Id: <20260616104534.22995-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
X-purgate-ID: tlsNG-c201ff/1781606737-DA56B443-4295D8F9/10/73395122804
X-purgate-type: spam
X-purgate-size: 1351

There is a 3rd path which should have gained an is_zen6_uarch() check to
exclude Zen6 from entrysign mitigations.

Fixes: bd15fdedafb3 ("x86/ucode: Exclude Zen6 from entrysign mitigations")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Teddy Astie <teddy.astie@vates.tech>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

For 4.22.  This wants backporting too.
---
 xen/arch/x86/cpu/microcode/amd.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 2ba1fa825f2f..2d4911022835 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -128,7 +128,8 @@ static bool check_digest(const struct container_microcode *mc)
      * the digest of the patch against a list of known provenance.
      */
     if ( boot_cpu_data.family < 0x17 || boot_cpu_data.family > 0x1a ||
-         entrysign_mitigated_in_firmware || !opt_digest_check )
+         is_zen6_uarch() || entrysign_mitigated_in_firmware ||
+         !opt_digest_check )
         return true;
 
     pd = bsearch(&patch->patch_id, patch_digests, ARRAY_SIZE(patch_digests),

base-commit: 1cfceee62d8b086a1713d04522f741a09d50cbb3
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 10:55:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 10:55:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339116.1600242 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZRSA-0000fW-Nd; Tue, 16 Jun 2026 10:55:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339116.1600242; Tue, 16 Jun 2026 10: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 1wZRSA-0000fP-L7; Tue, 16 Jun 2026 10:55:34 +0000
Received: by outflank-mailman (input) for mailman id 1339116;
 Tue, 16 Jun 2026 10:55:34 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <marmarek@invisiblethingslab.com>) id 1wZRSA-0000fJ-6R
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:55:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZRS8-009JU9-EK
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:55:32 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a312ba1-2eae-0a2a0a5409dd-0a2a450389f2-18
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:55:32 +0200
Received: from [103.168.172.145] (helo=fout-a2-smtp.messagingengine.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a312ba2-672d-0a2a45030019-67a8ac91db69-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:55:31 +0200
Received: from phl-compute-09.internal (phl-compute-09.internal [10.202.2.49])
 by mailfout.phl.internal (Postfix) with ESMTP id 9CC47EC0166;
 Tue, 16 Jun 2026 06:55:30 -0400 (EDT)
Received: from phl-frontend-03 ([10.202.2.162])
 by phl-compute-09.internal (MEProxy); Tue, 16 Jun 2026 06:55:30 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 16 Jun 2026 06:55:28 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=1781607330;
	 x=1781693730; bh=paT4oalcm3KOO+TaIPxpERxBbPk+7kKl52VqJtXXlQU=; b=
	q7tgZ8P8hHlY7xQkIlUHkerUbu43n8FeqxbkK7VL9D21DBzrF5SvhoTBZtfpifXo
	fzxi9EAjVaGEtPowtJAN0z1r6NuQRY46HXcguI1b88oNCjNfbf7G4T6sR4N0WucE
	ChP6LagOJa3lz6mR35IAfhOfQLWumb8IDNHsSULuBG3quuEECl4gK8Z4GzmENPnU
	Ld1YSVmEuqu1cgOYfkQXL2Tpp2uLrM+dcAXzvgTdtbXMlxqrltIpXy7gAPXyir44
	poSFfrNp7jlBe6v4fHs66OeC63C2+fE8oS7BLJgRSlZG/UOWD05EqIAt35tnk6sU
	q7c0uJjwcF8FKRZzultIeQ==
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=
	1781607330; x=1781693730; bh=paT4oalcm3KOO+TaIPxpERxBbPk+7kKl52V
	qJtXXlQU=; b=dl6ejMDANGFmZLjCKkM0yCXwLVK8TxaxMGlFkmvuB89WGalTPw9
	waJDxRTySZAJ23hHCdvnE4atM+gXiIvp59ey/1fCLkR/Aq1cezYGN236UlzHaJex
	2Xyq8UyrH+V2ErOjGa8XHb41f9+3vh/cRb4fAa3AReGz7AXbXwXsiTUuzrZFGnor
	aPtZABpFPGd6w1OVIeALK4kzbLQftqA+j/eTJ7EobdQuC4Of6SmzY9su/PjfZdcS
	j/JlxwHSVMs9NV53y3pIhPefCbehGzeDXmkX7avpY5Zxoo+Sl7YqCZLY8WMlSyqA
	Rtikn4yDLv0bRVwXapXskW8kL7EvGAHPbGQ==
X-ME-Sender: <xms:oisxaiOgS1bJvbMpdGgcHHC8q-vNaornW-hDbc3ZBx1r4plub83OCw>
    <xme:oisxajOlJKl9upKoSdVT3l2tA9zNI08VBZRXaFvZ6FUfsMOI_9tuzi1ljD7MKwB8C
    y46h5td49BKH4pIhmlHSMpuBYUBHR-en-tkPMHMWNh9RBEvTA>
X-ME-Received: <xmr:oisxargETmEJhYMSMNKMcmzLw6eseK-a-SGlQTlv9gVDmhZEK8p4sA5nJhd3xlNot8g3siMglQdFWHajot6GkPQjU4BrIzOi8Ns>
X-ME-Proxy-Cause: dmFkZTFIBdxZZI9HwBwEPpwXLArSUIuLIB3Pgm+0sMnMpqnyHQPQdLGzG/0fw8vNw9didC
    FcW5/Y+D77ln7A/XADHSrmpqD3DpuTE3vZswAGz9RR/OAYAFouJjIfS1t0OpQkY25eaHrt
    4qnZpEmwDcVM5ukv4sRXjsvv1vBk1h3K+Eike4/UTD7Jnnhmuj/fvtTTCh4KCE21JW/lXX
    RtXhjL9RjYPgOHLa0TCgvYSvFd1iqiISZJki9t9AjmcfxzdkkVXfNmHBvM2bmAF7Wn09QE
    yBAKx+hOpGwAI40Lg0NcXF99oMFd7JZqmEd4rgM/VnwT0vD/2lZvgoBfEgVvDfhhDa3AVO
    vksiQDwqNYNnsnbDsa5kYMS7QigOX9On/tWPuNmTQJIIyQNy0iRntGCGAMYVssWS0ptEjM
    QCUTrb1TEmMU6j7ueKP8Z+v37TjVq0a886bHzhxBwC8k1SJDjfqGtPtzRpkmCMiIwKsKYH
    E/F8zs1/txgYGDerhPeHQ3ePb9N4n7P4au7LvRxM1ov677bXqFbh91k7vZjwTQ+CBwWR73
    aEPw4T2xwEvjv76Ka8yTXsuLyKGE81CNqFcq1zzZ4zXB1oyME1gLiZ1vtBo5dmrxJMQsHJ
    i/TzwaNBm+r+Jh9lH1Lhb2//F9tJ22Lh0vVZKsNO01tHoavlWUbZiEmeG0qQ
X-ME-Proxy: <xmx:oisxaovAxP5kdQvQcZtXmxVrUUGFZ3alTUCrizrfCetz1udnQEHYzg>
    <xmx:oisxapSxm5D-0vno8AH7SfGgMXnjTLfkufQ628vEAF-HVmARB0RQCg>
    <xmx:oisxas3zktKcNALghyOOXsCC9szDzkJRyouUa3ZZXldljZv9KqBUAw>
    <xmx:oisxautXcqrPlCY3Mun7cFE9xngCc7YPn9KQxAd5VxbOj7OpzB65hQ>
    <xmx:oisxaiStYptsU1VK4iAZKvCQBYHcSo18agVqFYBjf4DOD_MKuVtWnRb5>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 16 Jun 2026 12:55:27 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Frediano Ziglio <freddy77@gmail.com>
Cc: xen-devel@lists.xenproject.org,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: Re: [PATCH v3 2/4] x86/efi: discard multiboot support for PE binary
Message-ID: <ajErn-h80lsmnpuZ@mail-itl>
References: <20260616101336.44009-1-frediano.ziglio@citrix.com>
 <20260616101336.44009-3-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="uT8HW5cgl2WL0tf0"
Content-Disposition: inline
In-Reply-To: <20260616101336.44009-3-frediano.ziglio@citrix.com>
X-purgate-ID: tlsNG-33051d/1781607332-41B92938-812D4C12/0/0
X-purgate-type: clean
X-purgate-size: 4665


--uT8HW5cgl2WL0tf0
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 16 Jun 2026 12:55:27 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Frediano Ziglio <freddy77@gmail.com>
Cc: xen-devel@lists.xenproject.org,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: Re: [PATCH v3 2/4] x86/efi: discard multiboot support for PE binary

On Tue, Jun 16, 2026 at 11:13:34AM +0100, Frediano Ziglio wrote:
> From: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
>=20
> Multiboot and PVH booting are not supported for PE, hence discards them
> in the linker script when doing a PE build.
>=20
> That removes some relocations that otherwise appear due to the usage of t=
he
> start and __efi64_mb2_start symbols in the multiboot2 header.
>=20
> Section discarding is not done updating DISCARD_SECTIONS definition as the
> change is specific for x86.
>=20
> No functional change intended.
>=20
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>

Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

> --
> Changes since v1:
> - improve commit message;
> - change section orders to avoid changing code order in final executable;
> - merge 2 commits;
> - removed deprecated documentation section.
>=20
> Changes since v2:
> - Update commit message, join 2 sentences together.
> ---
>  docs/hypervisor-guide/x86/how-xen-boots.rst | 6 ------
>  xen/arch/x86/boot/head.S                    | 3 ++-
>  xen/arch/x86/xen.lds.S                      | 5 +++++
>  3 files changed, 7 insertions(+), 7 deletions(-)
>=20
> diff --git a/docs/hypervisor-guide/x86/how-xen-boots.rst b/docs/hyperviso=
r-guide/x86/how-xen-boots.rst
> index 8b3229005c..b6d852050a 100644
> --- a/docs/hypervisor-guide/x86/how-xen-boots.rst
> +++ b/docs/hypervisor-guide/x86/how-xen-boots.rst
> @@ -82,12 +82,6 @@ When a PEI-capable toolchain is found, the objects are=
 linked together and a
>  PE32+ binary is created.  It can be run directly from the EFI shell, and=
 has
>  ``efi_start`` as its entry symbol.
> =20
> -.. note::
> -
> -   xen.efi does contain all MB1/MB2/PVH tags included in the rest of the
> -   build.  However, entry via anything other than the EFI64 protocol is
> -   unsupported, and won't work.
> -
> =20
>  Boot
>  ----
> diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
> index 77bb7a9e21..90faf411b9 100644
> --- a/xen/arch/x86/boot/head.S
> +++ b/xen/arch/x86/boot/head.S
> @@ -152,7 +152,7 @@ vga_text_buffer:
>  efi_platform:
>          .byte   0
> =20
> -        .section .init.text, "ax", @progbits
> +        .section .init.multiboot, "ax", @progbits
> =20
>  early_error: /* Here to improve the disassembly. */
> =20
> @@ -710,6 +710,7 @@ trampoline_setup:
>          /* Jump into the relocated trampoline. */
>          lret
> =20
> +        .section .init.text, "ax", @progbits
>  ENTRY(trampoline_start)
>  #include "trampoline.S"
>  ENTRY(trampoline_end)
> diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
> index f758940674..749d9719cc 100644
> --- a/xen/arch/x86/xen.lds.S
> +++ b/xen/arch/x86/xen.lds.S
> @@ -57,6 +57,10 @@ SECTIONS
>    __image_base__ =3D .;
>  #else
>    . =3D __image_base__;
> +  /DISCARD/ : {
> +    *(.text.header)
> +    *(.init.multiboot)
> +  }
>  #endif
> =20
>  #if 0
> @@ -195,6 +199,7 @@ SECTIONS
>    DECL_SECTION(.init.text) {
>  #endif
>         _sinittext =3D .;
> +       *(.init.multiboot)
>         *(.init.text)
>         *(.text.startup)
>         _einittext =3D .;
> --=20
> 2.43.0
>=20

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

--uT8HW5cgl2WL0tf0
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmoxK58ACgkQ24/THMrX
1yxd5ggAgS15x0i4cOosIwJAKctVzahpyZdm5Ve0QDmZ9c8GIm9LJzimn1tvEmPA
6hNtc7vCKE8bgq+rgKgz8XIj6cxufZQjCs1FwxW2cHcp0UguqWBxD5n4YelIcHaK
7gf9dVQxsPLJEySIz48aH4+dQ7HkwEoTJZgtY+Az0zFUizRWYqdXOhpVODhcJV1i
sl9OcVI7hf1EacGl6uYANAerwfyZ+KY11OTLi8Ko7MZYVxSosJFGWZQmJhSHhAd0
Zyjxp8nvrT8fB4k5A3EBmZNLmy2rc4fGWTMs323bD9ZrsdW8YThbjGZmztsLtyqG
1DHR3L9bp6N1w3YLDqgrH3vngOmL9A==
=RGls
-----END PGP SIGNATURE-----

--uT8HW5cgl2WL0tf0--


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 10:57:57 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 10:57:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339121.1600251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZRUR-0001cx-3S; Tue, 16 Jun 2026 10:57:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339121.1600251; Tue, 16 Jun 2026 10: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 1wZRUR-0001cq-0c; Tue, 16 Jun 2026 10:57:55 +0000
Received: by outflank-mailman (input) for mailman id 1339121;
 Tue, 16 Jun 2026 10:57:54 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZRUP-0001ck-V8
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 10:57:54 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZRUO-003PAB-RO
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:57:52 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ed01489b3000701b@swg.vates.tech>)
 id 6a312c2f-bab6-0a2a0a5309dd-0a2a450caadc-8
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:57:52 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ed01489b3000701b@swg.vates.tech>)
 id 6a312c30-62f1-0a2a450c0019-b9ff1c128f57-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 12:57:52 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ed01489b3000701b.004 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 16 Jun 2026 10:57:47 +0000
Received: from [192.168.1.18] (88-188-240-210.subs.proxad.net [88.188.240.210])
 (Authenticated sender: teddy.astie)
 by mail2.vates.fr (Postfix) with ESMTPSA id B718786612;
 Tue, 16 Jun 2026 12:57:46 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=17YLarAMyqJwstmEf//JWBhCs0yYpGry5iuHelIlTdE=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=fitEykSaqGIVAHwK1JeS98O09YkJUkHmRAV5UbfFiPaX2AYK3tkXCExpAFd31xuX9c2WX3BuB
 y2iF7BXmwjT8T2nuhHV1JNan3oWT0lV4+jNXaUK8nhidk6xFSUQtfppHRd7NcGKhLKoyI5L+iaj
 GMkEhU0y2N4e4pwNPzhYACcgZeFCbTDwt/yjn0THMYQiVOb3FZ1ADBYzSmSuW8+GDx6wbh+7MTs
 kPEC+j80v9PQb4xdHk7Sy8GymOqbh4rTKyWl4vhuihrFftU+siydrpOqInPZFUM3YpC+8yES4qu
 Pnymw3PsqsDoJQgW/5KdEQrvVhrBXwOkXHkRmMGKChSQ==
X-Zone-Loop: 1ee652235759baa270bc6a8467727ea6bdf5f7189572
x-campaign-type: default
x-transaction-id: ad2378f3-6f64-4201-b16e-2448984ff381
x-swg-uid: 01-0f877412-7d64-41b0-b48a-9bbb2ec9e364
X-Mailer: Sweego
Message-ID:
 <1781607467.8631fc262581453bbf619ec5b2062170.19ed01489b3000701b@vates.tech>
x-swg-bid: 1781607467.8631fc262581453bbf619ec5b2062170.19ed01489b3000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Tue, 16 Jun 2026 12:57:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] x86/ucode: Exclude Zen6 from entrysign digest
 checking
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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20260616104534.22995-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Teddy Astie <teddy.astie@vates.tech>
Autocrypt: addr=teddy.astie@vates.tech; keydata=
 xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7LTBVHV/XO
 Zw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJT4ny+OGntnJntUoR
 KRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJAWicutjkkUgd28Bh6HV9EIumH
 tCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaT
 VqMdqul07o72m3eA2mf+LMu9a04FX/d4wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/
 EoucejoZ5SH49ksmVAmKOLktOaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+S
 PhHar7TPKjFz0G3DPNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89
 MXfQXZ3qt1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
 LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWjmoACGwME
 CwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNzuyOVCskwfUZPla6Z
 pd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp0x0HfuhcYfAYPR46XHTvjaJE
 v99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuROxdK8G+YHccJY8PvWSq2K2yiae2KGiAv
 1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhP
 eP3IdpfWc8cyRLXF06Rk46YMYCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcT
 UwgnYlFRk2FLq0QeKEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9
 Egr/Wmu3MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
 f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEMAKiQiZa3
 yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ3DbVf+en3/FvdVZg
 2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTmetSG5/52AjtmPFtlXAk0NmLv
 fJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0s3109sJeXT5ImVdphFs9cvyZyBT9t1Pb
 Rowv58EgV0zE4hbAeVkULAbxFV5b/ExTjjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKb
 Yu6NCfiHfEyB3Xyg9hfdrRgjMRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ov
 XoK4jm+Py0FiUGUaA6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/
 eVtR2Q1wZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
 IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWjmoACGwwA
 CgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiVoUiHYN5QwhnbZnsa
 JDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764QxyX6rld2f2RcWkDuBHun55ZWXj
 by8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk/dS0XTOQi2wVUb17sW/+ybCEokdVacZG
 zOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fuoGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+
 lOWSvdNHgoEkWR0RXBPQjnGmLKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/Off
 O485NOTKwGOxyWb006cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR
 8ULR9nX0LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
 x9fhaZEsniw8/bYgC3igkk5YJiOa
In-Reply-To: <20260616104534.22995-1-andrew.cooper3@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------s6getsOrcZ5UQulhDZuJb3TP"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781607466871
X-purgate-ID: tlsNG-d25034/1781607472-E1F6ACF5-5B22C8D5/10/73395122804
X-purgate-type: spam
X-purgate-size: 6918

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------s6getsOrcZ5UQulhDZuJb3TP
Content-Type: multipart/mixed; boundary="------------MGauB8ckn1CRW7NhdVuXQ501";
 protected-headers="v1"
From: Teddy Astie <teddy.astie@vates.tech>
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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
Message-ID: <79951364-1d6d-43af-bed0-04cc03042a5f@vates.tech>
Subject: Re: [PATCH for-4.22] x86/ucode: Exclude Zen6 from entrysign digest
 checking
References: <20260616104534.22995-1-andrew.cooper3@citrix.com>
In-Reply-To: <20260616104534.22995-1-andrew.cooper3@citrix.com>

--------------MGauB8ckn1CRW7NhdVuXQ501
Content-Type: multipart/mixed; boundary="------------r0RZLpLd4oykoqexaYr20fTM"

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

TGUgMTYvMDYvMjAyNiDDoCAxMjo0NywgQW5kcmV3IENvb3BlciBhIMOpY3JpdMKgOg0KPiBU
aGVyZSBpcyBhIDNyZCBwYXRoIHdoaWNoIHNob3VsZCBoYXZlIGdhaW5lZCBhbiBpc196ZW42
X3VhcmNoKCkgY2hlY2sgdG8NCj4gZXhjbHVkZSBaZW42IGZyb20gZW50cnlzaWduIG1pdGln
YXRpb25zLg0KPiANCj4gRml4ZXM6IGJkMTVmZGVkYWZiMyAoIng4Ni91Y29kZTogRXhjbHVk
ZSBaZW42IGZyb20gZW50cnlzaWduIG1pdGlnYXRpb25zIikNCj4gU2lnbmVkLW9mZi1ieTog
QW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCj4gLS0tDQo+IEND
OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IENDOiBSb2dlciBQYXUgTW9u
bsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4NCj4gQ0M6IFRlZGR5IEFzdGllIDx0ZWRkeS5h
c3RpZUB2YXRlcy50ZWNoPg0KPiBDQzogT2xla3NpaSBLdXJvY2hrbyA8b2xla3NpaS5rdXJv
Y2hrb0BnbWFpbC5jb20+DQo+IA0KPiBGb3IgNC4yMi4gIFRoaXMgd2FudHMgYmFja3BvcnRp
bmcgdG9vLg0KPiAtLS0NCj4gICB4ZW4vYXJjaC94ODYvY3B1L21pY3JvY29kZS9hbWQuYyB8
IDMgKystDQo+ICAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv
bigtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9jcHUvbWljcm9jb2RlL2Ft
ZC5jIGIveGVuL2FyY2gveDg2L2NwdS9taWNyb2NvZGUvYW1kLmMNCj4gaW5kZXggMmJhMWZh
ODI1ZjJmLi4yZDQ5MTEwMjI4MzUgMTAwNjQ0DQo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUv
bWljcm9jb2RlL2FtZC5jDQo+ICsrKyBiL3hlbi9hcmNoL3g4Ni9jcHUvbWljcm9jb2RlL2Ft
ZC5jDQo+IEBAIC0xMjgsNyArMTI4LDggQEAgc3RhdGljIGJvb2wgY2hlY2tfZGlnZXN0KGNv
bnN0IHN0cnVjdCBjb250YWluZXJfbWljcm9jb2RlICptYykNCj4gICAgICAgICogdGhlIGRp
Z2VzdCBvZiB0aGUgcGF0Y2ggYWdhaW5zdCBhIGxpc3Qgb2Yga25vd24gcHJvdmVuYW5jZS4N
Cj4gICAgICAgICovDQo+ICAgICAgIGlmICggYm9vdF9jcHVfZGF0YS5mYW1pbHkgPCAweDE3
IHx8IGJvb3RfY3B1X2RhdGEuZmFtaWx5ID4gMHgxYSB8fA0KPiAtICAgICAgICAgZW50cnlz
aWduX21pdGlnYXRlZF9pbl9maXJtd2FyZSB8fCAhb3B0X2RpZ2VzdF9jaGVjayApDQo+ICsg
ICAgICAgICBpc196ZW42X3VhcmNoKCkgfHwgZW50cnlzaWduX21pdGlnYXRlZF9pbl9maXJt
d2FyZSB8fA0KPiArICAgICAgICAgIW9wdF9kaWdlc3RfY2hlY2sgKQ0KPiAgICAgICAgICAg
cmV0dXJuIHRydWU7DQo+ICAgDQo+ICAgICAgIHBkID0gYnNlYXJjaCgmcGF0Y2gtPnBhdGNo
X2lkLCBwYXRjaF9kaWdlc3RzLCBBUlJBWV9TSVpFKHBhdGNoX2RpZ2VzdHMpLA0KPiANCj4g
YmFzZS1jb21taXQ6IDFjZmNlZWU2MmQ4YjA4NmExNzEzZDA0NTIyZjc0MWEwOWQ1MGNiYjMN
Cg0KUmV2aWV3ZWQtYnk6IFRlZGR5IEFzdGllIDx0ZWRkeS5hc3RpZUB2YXRlcy50ZWNoPg0K
DQpUZWRkeQ0K
--------------r0RZLpLd4oykoqexaYr20fTM
Content-Type: application/pgp-keys; name="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Disposition: attachment; filename="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7L
TBVHV/XOZw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJ
T4ny+OGntnJntUoRKRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJA
WicutjkkUgd28Bh6HV9EIumHtCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO
8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaTVqMdqul07o72m3eA2mf+LMu9a04FX/d4
wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/EoucejoZ5SH49ksmVAmKOLkt
OaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+SPhHar7TPKjFz0G3D
PNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89MXfQXZ3q
t1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWj
moACGwMECwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNz
uyOVCskwfUZPla6Zpd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp
0x0HfuhcYfAYPR46XHTvjaJEv99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuR
OxdK8G+YHccJY8PvWSq2K2yiae2KGiAv1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50
wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhPeP3IdpfWc8cyRLXF06Rk46YM
YCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcTUwgnYlFRk2FLq0Qe
KEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9Egr/Wmu3
MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEM
AKiQiZa3yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ
3DbVf+en3/FvdVZg2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTm
etSG5/52AjtmPFtlXAk0NmLvfJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0
s3109sJeXT5ImVdphFs9cvyZyBT9t1PbRowv58EgV0zE4hbAeVkULAbxFV5b/ExT
jjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKbYu6NCfiHfEyB3Xyg9hfdrRgj
MRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ovXoK4jm+Py0FiUGUa
A6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/eVtR2Q1w
ZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWj
moACGwwACgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiV
oUiHYN5QwhnbZnsaJDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764Qxy
X6rld2f2RcWkDuBHun55ZWXjby8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk
/dS0XTOQi2wVUb17sW/+ybCEokdVacZGzOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fu
oGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+lOWSvdNHgoEkWR0RXBPQjnGm
LKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/OffO485NOTKwGOxyWb0
06cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR8ULR9nX0
LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
x9fhaZEsniw8/bYgC3igkk5YJiOa
=3DlUIA
-----END PGP PUBLIC KEY BLOCK-----

--------------r0RZLpLd4oykoqexaYr20fTM--

--------------MGauB8ckn1CRW7NhdVuXQ501--

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

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

wsD5BAABCAAjFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmoxLCoFAwAAAAAACgkQZg+p0QLLz9Aa
lAv/W5pn9ZIBiMwWcyDa4RKmHP8R/lyjg60ncJU1TwFyxP/LobZ0PIve1mxH7m0Gq7Dd1KnKs3+I
jPcRa4OIPn1LFfOuWipSLsIEsykhpkGNGWJDESDyqmFZsISyuRcnNcXoH9zL1GgptmOImaL1GvWf
Nc7qB/nVXztOopYVtkJ/YFOmZvya8bCj6H/5uJ/viZA1s3ETyE/n7SU+3gvswS+9Til/fSbro45Y
wftjqCRo78loplN+iaLIG84yLy5a17hiH3P+hqciIlF+FsJytkcWapW4JI6pa92vQ0JDjhYAP+s2
5yhRxHVRW0v27iJRTjspy9tB8WyQtvqu7O0dQhE2wxNkA0TTEcM+guCQf8Fm5K176qZLhKEsihl7
8J9s2nieAvvzvKFCdcWpCdRPySfu7rk0Gya1jvQS1m9loaTjsaVQFwvl78GmKdZUS3LdIiZvpf7F
qnflXgY4/AMpxkIuG/11uynEcLyXsi8NEXeABH64DUbwk2ObsU3NAeNHGcz7
=FnRM
-----END PGP SIGNATURE-----

--------------s6getsOrcZ5UQulhDZuJb3TP--


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 11:04:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 11:04:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339133.1600261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZRaX-0003dK-Qv; Tue, 16 Jun 2026 11:04:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339133.1600261; Tue, 16 Jun 2026 11: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 1wZRaX-0003dD-Nq; Tue, 16 Jun 2026 11:04:13 +0000
Received: by outflank-mailman (input) for mailman id 1339133;
 Tue, 16 Jun 2026 11:04:12 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <marmarek@invisiblethingslab.com>) id 1wZRaW-0003d7-JT
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:04:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZRaV-004LXc-RF
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 13:04:11 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a312da2-2eae-0a2a0a5409dd-0a2a4509d79e-42
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 13:04:11 +0200
Received: from [103.168.172.145] (helo=fout-a2-smtp.messagingengine.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a312daa-2497-0a2a45090019-67a8ac9194cb-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 13:04:11 +0200
Received: from phl-compute-04.internal (phl-compute-04.internal [10.202.2.44])
 by mailfout.phl.internal (Postfix) with ESMTP id 6965AEC0187;
 Tue, 16 Jun 2026 07:04:10 -0400 (EDT)
Received: from phl-frontend-04 ([10.202.2.163])
 by phl-compute-04.internal (MEProxy); Tue, 16 Jun 2026 07:04:10 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 16 Jun 2026 07:04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=1781607850;
	 x=1781694250; bh=jwGpoLYUTWbvo+6XSv+bwCK4L5tijGXbFsJMgzgmhLw=; b=
	bDgSM74tewsYr9ExbXudum67u44V1s0XmbCBtO3yxK8OhJk6JqAqjdVRE+Pzd+Th
	69JAu8K2VJtfjL+Bh9nU6OQ94x0db5gBYmZm4oyaB/EXaZ24c/qEAEFkEwjrxbOo
	v420Nidha1v/CV2pc++1qJhwJ/chE3apHt5DY7GT1U2zR/EW5nSMbnzCX1fPBJFS
	iJFAJArcP2zzvhByCLjwBHMMhg9T/WPyxSkBfyVWch5W153wY723FxkQ9ZRNH5G6
	zQuziBCQ6RVEa5INnvaEmmLRkSnyh6wQ9WFx80nFX7uV/9jf9jewteHKl8pKXGOD
	iGOjqpt+EuDcqedFObBmtA==
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=
	1781607850; x=1781694250; bh=jwGpoLYUTWbvo+6XSv+bwCK4L5tijGXbFsJ
	MgzgmhLw=; b=O7tz276LVtUuT+Cyq3EmKRkFCvgBXsvoKiswkeKOcLIkkYOZw0x
	HetmDS7EyHLkfdmGI00Fyghxk8r+0U3v6sA2SsN0GRxmSEp09pc8JgGTfns7vJ64
	OzIJEwESGP4A1lt4raq3A/6CsLfLX51Ee7H9Q2l7B8oQk7so0eCkHyWhYtaFBNGF
	kqJ0SahDUJ7v50C11CgDKGxz1Ds5Q2jZLilL4rmDEORTlZdipCG4ibFsS3O7F1k/
	7sswSX8iTyY5JjuGVw4ZZHkdWTBKspphOkjf64h9gDwmjwPMJtv3Vz7z6QMkwXN9
	05T20Wgm/RQchMzp4UYLoRoceNnjoq+erhg==
X-ME-Sender: <xms:qi0xagUvqP7gQm0bCR7HGH0-8bk-EAaMs0qUpfzH2DsAqcV3s-gGsQ>
    <xme:qi0xajp-38S6x70jJYSz_A22OikG_GlSfQhXaF5fYSqzbmvAKlpddK7C72o0Ful4Z
    fBkeZwSrrpTjrHGSPfvymRnkZMmdFjza1Zjcg8Ksrphr_CSdQ>
X-ME-Received: <xmr:qi0xaqmYldtB8mkmBnOt6iKX2M_zAtqDuk5vh9G9J7Ej0gFUAgl-umlgShMTPt6vLr0qq3uwoQ4m_UoEeWqeNJmUVLpvfDaWvkA>
X-ME-Proxy-Cause: dmFkZTEhNBi7ctDgzZKjD3+AgGPLhB/HU0GG79cL3CBw+NI8NYRmER54++Aq+C//hlo5BA
    w+zsuRGZIgQ3ZT6CTID6bjhb4G+4Ub6sTLGKebjMG3Xu8mhQsmD/gYvplG9gO10PWovHh6
    yRsZ85zg4DygAr8ket88u8wfyO8H2th+ajI2xInzCZRItS09aHGvSiHRewp2eEKRUo08df
    /Q0P6xn741B4fj53fQqcEEmcS/NxpuHtdLAGezmq/Qemi2QPzciXbcBekBrkUqphkPBtUe
    IvBwnFQYyWZ3zXG93410E+O/i8fxCDY+fafhDeNifnMZtfkoJWOHur9LhcnhxsulRHRVrc
    5T0r+gtEWT6ubYg/GyiVqvtbvBOFQXJGlB3qviKqxLjuPO9PxzzzqF67uVLtSUwyaB1cmQ
    rGZW0RNReiirJ2j4ZSwco2GeifUYaFqbPlyb0/dsjw7VjFb0okQOu56/OqrzegP2zgZ21V
    Pswn9PC2QpCvkQ/n/wUJ9jb1V8YsUBVh2YeeBOTOS9yuv90HfWuNQhLAZpLH0RoxIXf8f1
    qj9LNv/nQUrroNJyldk2qitEPbe7FCVCdW6n+yZIPvhXF6r1MRJd5eAOyxEeCCp1VZvRNF
    kbPoX1MpYaNdsIUG8zRT4FbtNCXkVD2F/zHZlmsU2Jp+yfdFdeidvo82EpGA
X-ME-Proxy: <xmx:qi0xar3zjqTwVm9lfCDMVMF1L2jrJA0eju5c5Rq42MF63XR40HKEiA>
    <xmx:qi0xavQjVEDwrzg-qZ_a9Ui29opJQ1jPjfOEI5MJjGHqqaZ327A-Dw>
    <xmx:qi0xasyEyJnkVGCZfYtkm6losbz9mcHiqZconSEpgH8Kdzf8JTR7GA>
    <xmx:qi0xanAjg3gunmBCkOxd_6ppesfuLuosJ9Tkd-M06Q-MpucVeC_Ttg>
    <xmx:qi0xalY1fEWINNYfukiozcr0ODVDi72KZ4L1qkKQZFw7l2jJRnqsMBlh>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 16 Jun 2026 13:04:07 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Frediano Ziglio <freddy77@gmail.com>
Cc: xen-devel@lists.xenproject.org,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: Re: [PATCH v3 3/4] x86/efi: avoid a relocation in
 efi_arch_post_exit_boot()
Message-ID: <ajEtpzab5jcKoep8@mail-itl>
References: <20260616101336.44009-1-frediano.ziglio@citrix.com>
 <20260616101336.44009-4-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="dPIIzr3NfGvlTQyR"
Content-Disposition: inline
In-Reply-To: <20260616101336.44009-4-frediano.ziglio@citrix.com>
X-purgate-ID: tlsNG-bad1c0/1781607851-40B60A53-5FB2B39B/0/0
X-purgate-type: clean
X-purgate-size: 3496


--dPIIzr3NfGvlTQyR
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 16 Jun 2026 13:04:07 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Frediano Ziglio <freddy77@gmail.com>
Cc: xen-devel@lists.xenproject.org,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: Re: [PATCH v3 3/4] x86/efi: avoid a relocation in
 efi_arch_post_exit_boot()

On Tue, Jun 16, 2026 at 11:13:35AM +0100, Frediano Ziglio wrote:
> From: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
>=20
> Instead of using the absolute __start_xen address, calculate it as an
> offset from the current instruction pointer.  The relocation would be
> problematic if the generated PE binary had .init.text as a standalone
> section with just read and execute permissions."
>=20
> Removing this relocation is necessary to make it safe to split .init.
>=20
> No functional change intended.
>=20
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>

Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>
> --
> Changes since v1:
> - Improve commit message.
> ---
>  xen/arch/x86/efi/efi-boot.h | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
>=20
> diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
> index d738b839ee..b983f054b5 100644
> --- a/xen/arch/x86/efi/efi-boot.h
> +++ b/xen/arch/x86/efi/efi-boot.h
> @@ -270,7 +270,9 @@ static void __init noreturn efi_arch_post_exit_boot(v=
oid)
> =20
>                     /* Jump to higher mappings. */
>                     "mov    stack_start(%%rip), %%rsp\n\t"
> -                   "movabs $__start_xen, %[rip]\n\t"
> +                   "lea    __start_xen(%%rip), %[rip]\n\t"
> +                   "add    %[offset], %[rip]\n\t"
> +
>                     "push   %[cs]\n\t"
>                     "push   %[rip]\n\t"
>                     "lretq"
> @@ -278,7 +280,8 @@ static void __init noreturn efi_arch_post_exit_boot(v=
oid)
>                       [cr4] "+&r" (cr4)
>                     : [cr3] "r" (idle_pg_table),
>                       [cs] "i" (__HYPERVISOR_CS),
> -                     [ds] "r" (__HYPERVISOR_DS)
> +                     [ds] "r" (__HYPERVISOR_DS),
> +                     [offset] "r" (__XEN_VIRT_START - xen_phys_start)
>                     : "memory" );
>      unreachable();
>  }
> --=20
> 2.43.0
>=20

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

--dPIIzr3NfGvlTQyR
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmoxLacACgkQ24/THMrX
1yxuQAf/dl6OgowU+ziY8HQizRIU5n/h4T49M4CvjmsjVaJBBGSDbD/yCnBQgAbL
hoMk+tYXDS6tErZY/s7KzJNSIMxhAV+JlN8LpOsnxHTrbUtEqcdXNtS+ydRBMi2i
QBZnQVO++ePmSo0scyBsH1FxT6nCoIsPzmlS+nPk5NiLlmxkXl4umPYNzRmRxwtu
n88T8qwbZYXnv5rmcqq2iBDgK+PG5sA5TZ6sXXB9CmuMjZCwMk4nt5o9kdGllwYA
hd5Uu/Zq51jVN3e9u6HVFY/xP18ketTGiFVCLILh+gTJG2NayQmRjW+HkKDunHXv
rN0oFJX3kpx2lV4iI7DgMtX5YYA1sQ==
=oNt/
-----END PGP SIGNATURE-----

--dPIIzr3NfGvlTQyR--


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 11:13:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 11:13:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339139.1600271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZRji-0005Ul-L9; Tue, 16 Jun 2026 11:13:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339139.1600271; Tue, 16 Jun 2026 11: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 1wZRji-0005Ue-HE; Tue, 16 Jun 2026 11:13:42 +0000
Received: by outflank-mailman (input) for mailman id 1339139;
 Tue, 16 Jun 2026 11:13:41 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+1d5ab94c3d64428ecf34+8332+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wZRjf-0005UT-8i
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:13:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZRjc-004Nbh-Bx; Tue, 16 Jun 2026 13:13:37 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+1d5ab94c3d64428ecf34+8332+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a312fd6-5cb7-0a2a0a5109dd-0a2a450ccfc0-26
 for <multiple-recipients>; Tue, 16 Jun 2026 13:13:35 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <BATV+1d5ab94c3d64428ecf34+8332+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a312fdf-62f1-0a2a450c0019-5a9b3222b71c-3
 for <multiple-recipients>; Tue, 16 Jun 2026 13:13:35 +0200
Received: from [2001:8b0:10b:5:7e25:c5e1:47b2:baf1]
 (helo=u09cd745991455d.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wZRjY-0000000AcxR-1BsU; Tue, 16 Jun 2026 11:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="MIME-Version:Content-Type:References:In-Reply-To:Date:Cc:To:From:Subject:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=0kkV5eTmHO2Wv3uC6lJwILGDtspJUOhMlj3zb9vu+lI=; b=cIG2iAafBHwUcYqzPajEALtQ/Y
	U+zfrpntB1GSIwLxDvCqY4yXUMqv/4r1RMg3oHPu3gcZQ4J0/kfQzjkXG7AdFcSN5rDsjBRPe2xTA
	phMJwgZRJeBd5WZ6sNvwpCyEFm269CfQsYXKnHG0AEyyIH8Sh4NHaWCqHACEecMUNrgMp6cX+EaB8
	3BgE+FTZ2rSi9o523IkI1XvYMNtkBDIHPtpnsPFZ2SMzlY7KHJ3s6sbslQkHa89k33Hu5M52c6lcj
	t8IdJo8Dos4DFGX04te/l8rCIED46hgAoFZgW6IIqjJfrBCi4VO2rHNexRP6uiaVaitCjreeNXzpF
	y+91Fb7A==;
Message-ID: <913f6048e1193e65278cb3f4b4dbf04a151e85f5.camel@infradead.org>
Subject: Re: [PATCH v5 04/34] KVM: x86: Add KVM_[GS]ET_CLOCK_GUEST for
 accurate KVM clock migration
From: David Woodhouse <dwmw2@infradead.org>
To: Dongli Zhang <dongli.zhang@oracle.com>, x86@kernel.org,
 kvm@vger.kernel.org, 	linux-doc@vger.kernel.org,
 linux-kernel@vger.kernel.org, 	xen-devel@lists.xenproject.org,
 linux-kselftest@vger.kernel.org
Cc: Paolo Bonzini <pbonzini@redhat.com>, Jonathan Corbet <corbet@lwn.net>, 
 Shuah Khan <skhan@linuxfoundation.org>, Sean Christopherson
 <seanjc@google.com>, Thomas Gleixner	 <tglx@kernel.org>, Ingo Molnar
 <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,  Dave Hansen
 <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>, Vitaly
 Kuznetsov	 <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, Boris
 Ostrovsky	 <boris.ostrovsky@oracle.com>, Paul Durrant <paul@xen.org>,
 Jonathan Cameron	 <jic23@kernel.org>, Marc Zyngier <maz@kernel.org>, Sascha
 Bischoff	 <Sascha.Bischoff@arm.com>, Jack Allister <jalliste@amazon.com>, 
	joe.jin@oracle.com, Joey Gouly <joey.gouly@arm.com>
Date: Tue, 16 Jun 2026 12:13:31 +0100
In-Reply-To: <77f541f7-b346-4c86-8e66-3d2439e29cbb@oracle.com>
References: <20260608145455.89187-1-dwmw2@infradead.org>
	 <20260608145455.89187-5-dwmw2@infradead.org>
	 <77f541f7-b346-4c86-8e66-3d2439e29cbb@oracle.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-z8fsZ4KdYGvpldBfCjRo"
User-Agent: Evolution 3.60.3 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-d25034/1781608415-E1161CF5-6A7A9591/0/0
X-purgate-type: clean
X-purgate-size: 10289


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

On Mon, 2026-06-15 at 23:47 -0700, Dongli Zhang wrote:
> I tested patches 02, 03, 04, and 26 by customizing QEMU to support kexec =
live
> updates (LUO and KHO), preserving the memfd across kexec.

Thank you.

> For my use case, I used KVM_[GS]ET_CLOCK_GUEST instead of the existing
> KVM_[GS]ET_CLOCK. I didn't account the downtime in my QEMU code, although=
 host
> TSC never resets across kexec.
>=20
> Clock drift was zero, and I did not observe any unnecessary master clock =
updates
> after KVM_SET_CLOCK_GUEST completed.

The kvmclock drift won't have been *zero*; it will have been a
nanosecond or two. Which most people won't notice, but is annoying me.

It believe it comes from both pvclock_update_vm_gtod_copy() and
kvm_vcpu_ioctl_set_clock_guest() rounding *down*. I think we should
tweak the latter to round *up* so they're at least not biasing in the
same direction.

We could also do better at picking a snapshot cycle count which
*doesn't* lose in the rounding. But those are definitely improvements
for another day; this series is long and complex enough and has already
gained a dependency on fixes in core timekeeping snapshots.

> Another interesting observation from my experiments is that tsc_khz chang=
es
> across kexec. Since the TSC value itself does not reset across kexec, I'm
> wondering whether there is any reason to switch to the new tsc_khz value =
after
> the kexec.

This is the host timekeeping, yes?

We really ought to pass over *all* the NTP synchronization data across
KHO =E2=80=94 not just the frequency. There's no excuse for the new kernel =
not
reporting *precisely* the same time that the old kernel would, for a
given TSC reading.

The work I've been doing at=20
https://git.infradead.org/?p=3Dusers/dwmw2/linux.git;a=3Dshortlog;h=3Drefs/=
heads/ffclock
lays the groundwork for exporting and importing the full reference
data, and maybe I should use KHO as the example use case while we
continue to bikeshed the userspace and vmclock parts.

> While live migration involves two different machines, kexec is performed =
on the
> same machine. Given that the TSC value itself is preserved across kexec, =
would
> it make sense to reuse the pre-kexec tsc_khz value instead of using the n=
ew
> tsc_khz after kexec?
>=20
> I tested this by using LUO to preserve tsc_khz across kexec, and the resu=
lts
> looked good.

Of course, what we should really be doing is exporting the timekeeping
reference to see what frequency the source host TSC is *actually*
running at, at the time of migration. That gives us a function of guest
TSC to TAI. Then we can restore the TSC on the destination host as if
it has been running at precisely that frequency during the migration.

The TSC might be at a slightly different frequency on the new host, but
we provide vmclock and the guest can clamp its timekeeping to that
fairly much immediately (see qemu patch I've been posting with the
ffclock/timekeeping series).

--=-z8fsZ4KdYGvpldBfCjRo
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
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI2MDYxNjExMTMz
MVowLwYJKoZIhvcNAQkEMSIEIJ5VAk35+dGCrCRUWFXxqcuWDPC83HDVQTsGwz+Tl6bIMGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIASkw7sYl3kwHW
VqDqOKkb8TmubpwZH0kYFfy1eJORlgVtltDfEnu/TBYuwuNbj1+qyocm4LdVcecQuaCarSqZqAQb
VO+uK/uScxLsebmWRLslgX6hqlyOUzDvt3N3bCWSHWB8kEpGI0OMMCyomrqjIPE2nfiV8wyr2+KG
pyGCvnR2YUM9mOfSb0OfUQnD7M8kyfctMcl9V2ppqbCVY9JW5F0NZ8QgCagLImoxIMDwN4X8YYNT
v2A1dgSlCBkSejw3/b3o5gHs5Unotlvt6zflgDgZ8YF0o66/gmv0dv3fhEUVrIREQJdjPjcEXugH
HY2B8LLfGQESrESfojA+saX11myjZ+CkQ+Lbktjptf9aFWuU+alI0IXqkT1e+Axq7UnVhqXnd9X1
XJS0+jUerOFGhCjczqHHv52eeieFp89tx1brtKo0jFnSShrd9Ro6FrCD8nyN0z6zWwd9o2f35TRE
umIxXfT15cltcVHq9oOzIsO99TGDxGE2vNPbc+s5oNbQqzy1xCe+tauDMgX/zZYWF6fSx7luLdNR
L3ExRdRKdGrY3mMXFwPLXPPq+9ne2K23TcFRTMfwT0s2B8wAIftQhFqV1AbgrlOyu49BjdzRvfHD
XL3o31Q1IWnNGcqdtFFKT5rM371ap05RpDDgaowri0/grGlCIXj4vssW3iXgG7oAAAAAAAA=


--=-z8fsZ4KdYGvpldBfCjRo--


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 11:20:55 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 11:20:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339145.1600279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZRqc-0007jx-8e; Tue, 16 Jun 2026 11:20:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339145.1600279; Tue, 16 Jun 2026 11:20: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 1wZRqc-0007jq-5r; Tue, 16 Jun 2026 11:20:50 +0000
Received: by outflank-mailman (input) for mailman id 1339145;
 Tue, 16 Jun 2026 11:20:48 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <marmarek@invisiblethingslab.com>) id 1wZRqa-0007jk-Om
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:20:48 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZRqZ-00GUJ1-FI
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 13:20:47 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a313183-2eae-0a2a0a5409dd-0a2a450886e6-26
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 13:20:47 +0200
Received: from [103.168.172.145] (helo=fout-a2-smtp.messagingengine.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a31318e-63b5-0a2a45080019-67a8ac91a451-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 13:20:47 +0200
Received: from phl-compute-01.internal (phl-compute-01.internal [10.202.2.41])
 by mailfout.phl.internal (Postfix) with ESMTP id 3C486EC008F;
 Tue, 16 Jun 2026 07:20:46 -0400 (EDT)
Received: from phl-frontend-03 ([10.202.2.162])
 by phl-compute-01.internal (MEProxy); Tue, 16 Jun 2026 07:20:46 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 16 Jun 2026 07:20: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=1781608846;
	 x=1781695246; bh=RPQdNjDUvjtcaC/RTETCswwWzqrRVABhOgSAwdQ5qiA=; b=
	j1XQaE4H0D9s0MFKRTY4vPEskB9n6vCGJMHcsRdLu2W8WeiuQMzhJzVkTJz/xx4o
	sP6Bti2dea87FZqaJo+vZjx5sES8CIJdLpU4NChxvi1DjaCet8G/YDqjxmNdIQCd
	yDOg+Vp3jWtuYtFsr+m1RnHwOTYhcuA9H9WjLzmCy1N864NnyAdCoEKlVnjCeIKh
	Qe0ZiSc3A5/pO5iHFGYQeuSZ+HNMs+WnXo8XzxIDxDk8EIdXP6FOB+7U+KcucgBN
	F8qqPgzZ0FRBYdyuyPVExZHGXuvF1ib6x1QYqKIfZkl+KfqzLbYsXWVPv0pTcbkT
	yaISJkGoWUnSGgjEcQEtVQ==
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=
	1781608846; x=1781695246; bh=RPQdNjDUvjtcaC/RTETCswwWzqrRVABhOgS
	AwdQ5qiA=; b=bDfalGzzL87V+1nq875y6MbmgKgKUy2RSSzmUFlopmkb8R60qCU
	bBb3e4eW0XFP2fLYgzbShR5RsyIOwblf1IEJZ7fFCVc7mnX6lXE2M4YEvqWE8GW5
	HM6qEO5WwT+rZicIHXq5TezXgowjSKumYnfavfPe/M3N2Zst500k4GCvIXVvwAx4
	zKLA7voJ2vIQzDYLYBqPTGmHsg5pAD2FBKQ7EPDY33RCicoEHIHucby8w+yXz1Eh
	VsgS/eV3UyLVpjUZkX5AYDFUuk4SGdljOXPA2UUjobpEC+TvKlBzTbUyO4a3KYEe
	RaamJEhYL0m6cem50OzDcR85hGT6hb1rFdQ==
X-ME-Sender: <xms:jTExamUoLtyRJFu1jQ5x-2FFWdi09juJ9vurgemGcUOMKPCplJ_fhA>
    <xme:jTExahrsdpnsm-7eoCZhJnvDnNAcztoclg2CI74KIyL_LPvWd0MJYOsPCdmrlqRIz
    EgVkxLoCbxIr14p-og0Gn-uO2Vuoy4lz8TOEbQETLsOt8TS4WY>
X-ME-Received: <xmr:jTExagmhRvcWXNRKFto19Xq9BsGa_mzLt8xxTtppBAm4wsx7FnAyglbC2rGEUKapiMfrTg7myuq29Xi14kQQsLRl8LVL-8Bm_HQ>
X-ME-Proxy-Cause: dmFkZTEkrrqRpWaCIDmYhut2VKG1b/RvNyhOodqTNL02VRec+8vK5+F9DdNqiSzETyARKC
    DmcLB30m2ffc37OkHJRwiDGflm10eMhFaP2JI0Fl+rJhY+iq+0EavrVKkjSnhxzRQ2O1Hw
    jddi1guBhFtJk+N+ZrqzmvtpozncLa6PN7IlWwgY2KLT2nm8ayG1rVwJ6BIPe5jQWgFvNQ
    /isH1Ltl7gASxEpPn+tN1wYrODugAYLDL2wPRHpVwdVllr6rlF0xR6hmL9eLAW9v6jdUNX
    p4kSrJrRw1tg19+QKTp4sYiODsKTfxxtA2bJdSiM5fxaOLDAymFey1PLl3WyGQ/7VazZht
    A/XE4uZJJBiJxBiGzQV6mHifUk9Jg9UgZH5rw8LdVB/or+dc4SIysbBbyxuBcU5crhC4/k
    79ZibSGi5ofZN6XxF4amh2Dz0Hufg4I2Cb8SCes6T0sXrq77GOhvGO7YU3bu2TQfszsGLr
    8IHHPAcmHnup/RTZqH/wQ4hb5y6u6kDhDfbzUGh165uj+nQfO6gxsPXCCk3L86ShK8IQZD
    U0Mt9hedTZupBic4B/qh0/gsBHM5uoZ+Dua12rWRaO03mLWFFfPo6HX1sTNN9Tt9eRN/VZ
    s9gP2qqsaIoy4yB8Oe1hSPdLDWuf590cd1VYZrhcuD8Qh1rKLjhQJKup7lLg
X-ME-Proxy: <xmx:jTExap3E9XQy2xAJLEUQ28H-_LWABMgC8Eg86mpG8werQRgnYP5fnw>
    <xmx:jTExalRTRCprBNohBo-qOPRdb-FgYcjHTATazW3qT79zgDzz2fpABA>
    <xmx:jTExaqzwHOy8ocIIslx3GuBdXdof-JDwbwsgrTZ6hLuB-OxF06oIMA>
    <xmx:jTExatBR4BEDcL8NFzdFW9s0oKteZ0f9wpSD2RmopYQU-E8WE-TIJw>
    <xmx:jjExau5_4h9kyGg7idDLfZ_eRxRmZfZse8XjRH2H2UDzVeigwheiKeHG>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 16 Jun 2026 13:20:42 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Frediano Ziglio <freddy77@gmail.com>
Cc: xen-devel@lists.xenproject.org,
	Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: Re: [PATCH v3 4/4] x86: Split .init section to satisfy UEFI CA
 memory mitigation
Message-ID: <ajExivEwb88pcOxT@mail-itl>
References: <20260616101336.44009-1-frediano.ziglio@citrix.com>
 <20260616101336.44009-5-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="EqzQ/UqIYj/JQguo"
Content-Disposition: inline
In-Reply-To: <20260616101336.44009-5-frediano.ziglio@citrix.com>
X-purgate-ID: tlsNG-c1860d/1781608847-BFD7BDB1-5D6E1986/0/0
X-purgate-type: clean
X-purgate-size: 3685


--EqzQ/UqIYj/JQguo
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 16 Jun 2026 13:20:42 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Frediano Ziglio <freddy77@gmail.com>
Cc: xen-devel@lists.xenproject.org,
	Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: Re: [PATCH v3 4/4] x86: Split .init section to satisfy UEFI CA
 memory mitigation

On Tue, Jun 16, 2026 at 11:13:36AM +0100, Frediano Ziglio wrote:
> From: Frediano Ziglio <frediano.ziglio@cloud.com>
>=20
> Currently .init section is both writeable and executable, split data and =
code
> to have 2 sections satisfying W^X rule.
>=20
> It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
> in the pagetables.
>=20
> NX_COMPAT is a requirement from shim-review,
> https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-=
shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-yo=
u-done-to-ensure-such-compatibility
>=20
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>

Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

Is that the last piece necessary to satisfy the NX_COMPAT requirement? If
so, I suppose a subsequent patch should actually set the
IMAGE_DLLCHARACTERISTICS_NX_COMPAT bit (IIUC ld --nxcompat option), right?

> --
> Change since v1:
> - update comment style.
> ---
>  xen/arch/x86/xen.lds.S | 12 ++++--------
>  1 file changed, 4 insertions(+), 8 deletions(-)
>=20
> diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
> index 749d9719cc..8fefda1816 100644
> --- a/xen/arch/x86/xen.lds.S
> +++ b/xen/arch/x86/xen.lds.S
> @@ -193,11 +193,7 @@ SECTIONS
>    __2M_init_start =3D .;         /* Start of 2M superpages, mapped RWX (=
boot only). */
>    . =3D ALIGN(PAGE_SIZE);             /* Init code and data */
>    __init_begin =3D .;
> -#ifdef EFI /* EFI wants to merge all of .init.*  ELF doesn't. */
> -  DECL_SECTION(.init) {
> -#else
>    DECL_SECTION(.init.text) {
> -#endif
>         _sinittext =3D .;
>         *(.init.multiboot)
>         *(.init.text)
> @@ -210,12 +206,12 @@ SECTIONS
>          */
>         *(.altinstr_replacement)
> =20
> -#ifdef EFI /* EFI wants to merge all of .init.*  ELF doesn't. */
> -       . =3D ALIGN(SMP_CACHE_BYTES);
> -#else
>    } PHDR(text)
> -  DECL_SECTION(.init.data) {
> +#ifdef EFI
> +  /* Align to satisfy UEFI CA memory mitigation. */
> +  . =3D ALIGN(SECTION_ALIGN);
>  #endif
> +  DECL_SECTION(.init.data) {
>         *(.init.bss.stack_aligned)
>         *(.init.data.page_aligned)
> =20
> --=20
> 2.43.0
>=20

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

--EqzQ/UqIYj/JQguo
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmoxMYoACgkQ24/THMrX
1yxucQf8DzRsHDDqWcbUgv1bZ1QlGCDEJKmdFkRBRI3sX3WKXZGoChtnOmaAwHVo
JnWqQzjFlUCLW8Ppxihi9YuSae8zBxr8aND/BnVQDtS1EXc172TfsDOARbrn16LF
6c6JuFN6qa92S36OFTBjzFgT0AY4HXXjuHpiTjpfExeEEUVFYUcDmKXJ/9E9iZuk
EGd8BbO2gjzZuXaZNxV18Uuo9LxZC7kY6uXbwEXcTn8gXDqpw6RKVPwrpiKCAhzF
3C3uNMLUiU9fTv7v33tLHfIkONfl4U2HIJbJHkHxWUjnvpVSrpzY21uChBDIDHsJ
+X3Jk1LKSJ+L1v6QewkYGCHJ3KEwAg==
=H6ag
-----END PGP SIGNATURE-----

--EqzQ/UqIYj/JQguo--


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 11:23:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 11:23:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339153.1600288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZRsv-0008Ug-NT; Tue, 16 Jun 2026 11:23:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339153.1600288; Tue, 16 Jun 2026 11:23:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZRsv-0008UZ-Jn; Tue, 16 Jun 2026 11:23:13 +0000
Received: by outflank-mailman (input) for mailman id 1339153;
 Tue, 16 Jun 2026 11:23:12 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <marmarek@invisiblethingslab.com>) id 1wZRsu-0008UT-DY
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:23:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZRst-005doa-QR
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 13:23:11 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a3131ef-5cb7-0a2a0a5109dd-0a2a450ac746-42
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 13:23:11 +0200
Received: from [103.168.172.145] (helo=fout-a2-smtp.messagingengine.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a31321e-56b3-0a2a450a0019-67a8ac91db21-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 13:23:11 +0200
Received: from phl-compute-09.internal (phl-compute-09.internal [10.202.2.49])
 by mailfout.phl.internal (Postfix) with ESMTP id 785D4EC02CA;
 Tue, 16 Jun 2026 07:23:10 -0400 (EDT)
Received: from phl-frontend-03 ([10.202.2.162])
 by phl-compute-09.internal (MEProxy); Tue, 16 Jun 2026 07:23:10 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 16 Jun 2026 07:23:09 -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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=1781608990;
	 x=1781695390; bh=L94oZqLQDzjg4nJDYD2RiW04u89Y9yEDmBqUpdeLw8U=; b=
	hO8ug4TEeB+kcJOLLyknEm1h2DVaW1X36uTIvkQLUt2JEzYZM58+oK73MSx+wgnp
	MZR29OpqE2pEae7Aji17Wb1yVCfPOoG9GfeAto3XUN+Zh9QOtrTqk6uQk9y+l4bs
	FZ0aIIlKR4SM4ZkiuXz53YPaEkuqdiFyz5nJRCAFPaa6cPc+2ix3s7l2+q/dvqv+
	nMUw4kHHAirlgiHuYd49V+0iyg2fTV0XTItxbTYE6v4iqtJkb1gN2lr3u8u27wBX
	0as9Veg3z04OxfuRadM+TIoNO2xyVnflcCSgDWo3yqcUClu5KiNN0s0zBexTCmYj
	c9kt4CfnbvfOxOWZtSp69w==
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=
	1781608990; x=1781695390; bh=L94oZqLQDzjg4nJDYD2RiW04u89Y9yEDmBq
	UpdeLw8U=; b=IWZ/y0Mnyf4gAfPvNDCXt/XbJOgbb7lPxpmLtZ0h8cWWZ65IQWq
	EgDy5ep+5t6k5o07oKjwn7LxLy2No2wn2bCUNuu6ZQNGirvEEthCnrVZsqtPbOuN
	ZSJBOvCZypyZzfkgF1A6waClp7CfjB+VwBKq5jX39Ahkj9TGhKGMJXNj/MURMdON
	yUoNL0KA7bFXBD69LRZVCNPNc6UKF+FnbRDeZrMvrMpxea9zLUO+6CB1Igu9N9On
	qW02DGnTNkyaDMNoGxL/r7En42zc14Y5HMI0iHzQZTnKM0VvI5rfVYEgo4hHoo/V
	r5KFurcbF9Mh5XDuEaHXedYjwPxY6bQIhTA==
X-ME-Sender: <xms:HjIxauE9vQI1UFl03ltr6EZB1IS1_fVrZkcgVyCTirLo4-mxLROqDA>
    <xme:HjIxamNlxHQUb0OyouIRDONAf_pwP_Sz9_x4ix2mePUdP6zv-AWMsqfLUB23oEyvQ
    uG6E2wJfcvNyReN54Vg7AChw0wyrieVollIKErPQiDJSz9Z7A>
X-ME-Received: <xmr:HjIxagewDB9mFZYRD1z4YVQzaGx5zoFnWy4wGAU1TwCBFCceudszk9RrnomHsoy7dcMhSw5_SrCV8U7mNqckMZvIcZbw3ghqAfw>
X-ME-Proxy-Cause: dmFkZTGn5d1D8Ob4o+Bz/SeMMs/Ld6CtPeMgXzsAMjTQE2LAPDyG6Ip4w8PCfAN2ap9bJe
    tq80d63J8IuDhwVkFQynLepZfP/C7s7+tgCIHS+V1iCt4Yl4I0KlCAR89d/NAZJLaSsfln
    2etoJ4RJpwUukLBoxEKpfwLODZXh4E1W7KfsB4z9+4uG9QzT/4e+g0T4uuw4pFzPiD+Zx0
    PFKDztiVZdNigGSyDBUrIEygJ5ZruiCaLbb94ZzB2Tgyx6TopFpk+V2xFSMRWX7qFieXYq
    7qYbgOoiqFSZcRpI4nfPrA8Fg+ITjGnLvg3Cg/ej3TIi/tDOCRrIpcXYF9pxtnmMr8XjcS
    aRfwVPC/ya+Z61YqVLEVPzG9pTrcGLLOf47XNTIq1sAzbXCX6uBCfQ7Uapkv2kZZV0fbzk
    24izBI2XLXj9mTPMmsgGbgoAmmOaj3nWZA5yiU1MDqTbh2bNldyDt1a9F2U4cK8a9y27v/
    x+q3priHa4lhfj1QXIuJw0Tye9gH+Z5MxQRI/h25kuYkfiaLjGL0b9TqLdk9v4/RiNp2Qx
    6IgEDYFEfkmRktNej7qz6b2Ng7TbZqosHYm8QgzOGV7mIJA+ZD7rhTFil57nZCmFLSrv0u
    w7Mnd38lc1RGuh9vNArKfHGdSJarLrlrzt3p4vQoUe1+nyarC32Z0I4jfZRA
X-ME-Proxy: <xmx:HjIxajtnonziyNx0miLlsZTFEVdBWK-X_GcaNHj8T6D05jpcOspyxg>
    <xmx:HjIxahmzXoOaNX2n3Z9RhpXcKFgCzrANDYjtcNh3l7cUikTAsYW3Kg>
    <xmx:HjIxalwRQ9FW_bf-joCM9LiKCFzAb2qPYBjzRiT7EIkmY-xG0SA1fA>
    <xmx:HjIxajNUMHpJ2bMdBc9wSzUfKZU3yRQJYZkgkfPCNUuI5RQVF2alzQ>
    <xmx:HjIxah1riXKjdK173isvFYlaXNwuOOY9dP-puKEkxgjtv--v0UfOOlre>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 16 Jun 2026 13:23:07 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Bernhard Kaindl <bernhard.kaindl@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Anthony PERARD <anthony.perard@vates.tech>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH] x86/efi: Skip FPU save/restore for idle vCPU in EFI
 runtime path
Message-ID: <ajEyG295L0Oig5eu@mail-itl>
References: <8de2649558826621d49b404cae7a874f504e6b86.1781282640.git.bernhard.kaindl@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="14laCjCiMwiZqfk0"
Content-Disposition: inline
In-Reply-To: <8de2649558826621d49b404cae7a874f504e6b86.1781282640.git.bernhard.kaindl@citrix.com>
X-purgate-ID: tlsNG-4011c0/1781608991-711628B7-34D0B179/0/0
X-purgate-type: clean
X-purgate-size: 4746


--14laCjCiMwiZqfk0
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 16 Jun 2026 13:23:07 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Bernhard Kaindl <bernhard.kaindl@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Anthony PERARD <anthony.perard@vates.tech>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH] x86/efi: Skip FPU save/restore for idle vCPU in EFI
 runtime path

On Fri, Jun 12, 2026 at 05:54:36PM +0100, Bernhard Kaindl wrote:
> Anthony reported a boot-time assertion in init_xen_time() via efi_get_tim=
e()
> -> efi_rs_enter() in vcpu_save_fpu() on a Broadwell-D system:
>=20
>   Assertion '!is_idle_vcpu(v)' failed at arch/x86/i387.c:195
>=20
> This became fragile after the lazy-FPU removal cleanup series:
>=20
> In 1792bb9a99d2 ("x86: Cleanup cr0.TS flag handling"),
> efi_rs_enter() was changed from save_fpu_enable() to vcpu_save_fpu(curr),
> which unconditionally asserts !is_idle_vcpu(v)
> so an EFI runtime call in idle context now asserts.
>=20
> Likewise, in dba44e051209 ("x86: Remove fully_eager_fpu"),
> efi_rs_leave() was changed to call vcpu_restore_fpu(curr),
> which has the same assertion and can fail for the same reason.
>=20
> Guard both EFI runtime FPU calls with !is_idle_vcpu() to skip save/restore
> for idle vCPUs, which don't have an FPU context to save/restore,
> much like the calls are guarded in __context_switch(),
> where save/restore is done only for non-idle vCPUs.
>=20
> Fixes: 1792bb9a99d2 ("x86: Cleanup cr0.TS flag handling")
> Fixes: dba44e051209 ("x86: Remove fully_eager_fpu")
> Reported-by: Anthony PERARD <anthony.perard@vates.tech>
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>

Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

> ---
>  xen/common/efi/runtime.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>=20
> Jan Beulich's suggestion to guard the calls to vcpu_save_fpu() and
> vcpu_restore_fpu() in the EFI runtime path with is_idle_vcpu() checks
> seems to be the right approach to fix the assertion failure for idle vCPU=
s:
>=20
> > The thinko looks to be in 4b9851c64522 ("x86: Remove fpu_initialised/fp=
u_dirty"):
> > While vcpu_restore_fpu() indeed unconditionally set the two boolean fie=
lds to
> > true at that point, idle vCPU-s may never make it through that function=
, and
> > hence ->fpu_dirtied would have remained false, triggering the (original=
) early
> > exit from _vcpu_save_fpu(). Perhaps all we can do now is guard the call=
 to
> > vcpu_save_fpu() (and also the one to vcpu_restore_fpu() out of efi_rs_l=
eave())
> > by explicit is_idle_vcpu() checks. Much like the calls are guarded in
> > __context_switch().
>=20
> Anthony, could you test this with the 'cmos-rtc-probe' workaround you just
> added removed to check if guarding the assertions as Jan suggested is eno=
ugh
> to fix the issues triggered on your machine?
>=20
> diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
> index a23fa75e3740..596f2710fb21 100644
> --- a/xen/common/efi/runtime.c
> +++ b/xen/common/efi/runtime.c
> @@ -98,7 +98,8 @@ struct efi_rs_state efi_rs_enter(void)
>       */
>      sync_local_execstate();
>      state.cr3 =3D read_cr3();
> -    vcpu_save_fpu(current);
> +    if ( !is_idle_vcpu(current) )
> +        vcpu_save_fpu(current);
>      asm volatile ( "fnclex; fldcw %0" :: "m" (fcw) );
>      asm volatile ( "ldmxcsr %0" :: "m" (mxcsr) );
> =20
> @@ -159,7 +160,8 @@ void efi_rs_leave(struct efi_rs_state *state)
>      }
>      irq_exit();
>      spin_unlock(&efi_rs_lock);
> -    vcpu_restore_fpu(curr);
> +    if ( !is_idle_vcpu(curr) )
> +        vcpu_restore_fpu(curr);
>  }
> =20
>  unsigned long efi_get_time(void)
> --=20
> 2.39.5
>=20

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

--14laCjCiMwiZqfk0
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmoxMhsACgkQ24/THMrX
1yxh2wf+O3UauBL72NT/GarN63IQlpXXEu7uIrQSro9NXl4kcnQBwX7ic1NQ24N+
yVzvtVSWoi9OYLoYic1pTFV2t0kaosAPuOz0mHDr/Qkww+AE7pPNzJ+gyx+8V0d+
+7kF+17bxTk2PptcWXlZQQ4896GnMLtSbann2zSSXlnHA5kahcMv3mTuI+UiPibE
dNOqTA9brRBeWSPJ3Q01ARJ54bMbNoQ+CFVN1nOEoBPFwcU2oyZaAr6vixaQhaQZ
bVs+DwXS31IHGfE2X8gy//MDgWtiBg/euxNU+AFFszoTbLcgL19v/NlqKqXwPb1B
iCpXp59HglZpbNMTTm2QNERvojLuoQ==
=a6SZ
-----END PGP SIGNATURE-----

--14laCjCiMwiZqfk0--


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 11:29:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 11:29:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339160.1600296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZRyg-0000pR-A5; Tue, 16 Jun 2026 11:29:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339160.1600296; Tue, 16 Jun 2026 11:29:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZRyg-0000pJ-78; Tue, 16 Jun 2026 11:29:10 +0000
Received: by outflank-mailman (input) for mailman id 1339160;
 Tue, 16 Jun 2026 11:29:09 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wZRye-0000pB-PJ
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 11:29:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZRyd-00GWKh-UC
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 13:29:07 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a313372-e002-0a2a0a5209dd-0a2a450c9cf2-20
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 13:29:07 +0200
Received: from [52.101.62.39]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a313382-62f1-0a2a450c0019-34653e275fa6-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 13:29:07 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DM6PR03MB5211.namprd03.prod.outlook.com (2603:10b6:5:24a::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Tue, 16 Jun
 2026 11:29:04 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 11: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BwdO7BcCHT2pkzd9eOwsAc1vRwxGAmkLI8nPFWwoXzrr1ssy0GTem28RCVeFJuvZ+cVYYvKbUL4hCXpXYL9l9uYRzPbNsiaax6oXQbHy6tR07x8pErnzmqP6/aEnUMMtLv2iW8hkDxkV0Dl+HvByA45DQnixXe41+q3ycqG2ay5eDWAwCa0DHx3T1+gXKDMDWG6eL0lYlLyzw9Hl/h1OLFM51m2R83vYpV13ikBD8O1XtzJpDcOwnawJfrVg7xyGSzXR2ynR4oLgBE3a0uPYMYkieB8fCRayXOtmgVLax4LTgiw4k819Z2bJQJgHOzuFWHoX8Ch7nOck4vXrpUO4PA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VW4fEGc+zkGNTxqe69hvPLtsydJuc+elLNlgPFoY6y4=;
 b=YakOzEAhO0wDnjpqDD3sHyelzW7IsUvKbAftlpqJ/gf1V40JNc98Hap4w6BlxHw0YmL7xO3q+MTXVdlyTkXJ7c6jwlOndcT5NM/suyfjUiS2UhpbZhGUbXG2cTpRpgzFYPF15R54lWnCJbjeVBxoIYheFVtK8E/JMMFrhgi999/7b/Sev9EmN7FXwn3ZYi2jW+4dJqGxo0TlHjeESEXUn6QPieLoIe4xhARcw+up5rLM2lrpXeZlPbmj96iTcV98KwegJNx6VTFAQMx4ZGhvZ8D8RRzjG72ybP7KrGhmpeu2WfIvOOEzZRHbz8nHGo95o7E5Wv/UETE22hn4maas6w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VW4fEGc+zkGNTxqe69hvPLtsydJuc+elLNlgPFoY6y4=;
 b=h3LkKL4dg328LxF3hiaGb2c1qadM83eLETZGWxQjyBqb+dKcurRym0Awgch6RqkHyrT+pzywUmoARV7ib7CtRtqK+e8BZ9A8r1EfgTKVx/baZe0MmYzkClwMK9m5iDeArYDd/kF6M7LtpDUNR9Cw3Dnr+bEBSNyYubcdRKb9doM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <f80e5c37-96db-4af5-9b9f-28f4ff457a72@citrix.com>
Date: Tue, 16 Jun 2026 12:29:00 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org, Frediano Ziglio <frediano.ziglio@cloud.com>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Teddy Astie <teddy.astie@vates.tech>,
 Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: Re: [PATCH v3 4/4] x86: Split .init section to satisfy UEFI CA memory
 mitigation
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Frediano Ziglio <freddy77@gmail.com>
References: <20260616101336.44009-1-frediano.ziglio@citrix.com>
 <20260616101336.44009-5-frediano.ziglio@citrix.com>
 <ajExivEwb88pcOxT@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: <ajExivEwb88pcOxT@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0355.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18d::18) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DM6PR03MB5211:EE_
X-MS-Office365-Filtering-Correlation-Id: 3cd33877-bce6-474d-ff6e-08decb9a78ad
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|376014|366016|1800799024|11063799006|56012099006|4143699003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	2ZWoSvA/Ue7wXuFKhSrOcsHj6VPjKOm94b40RdKWA9/ZeO7JlVfvO0VOtwJ2Wd/reozBNnpgG8ZzDXKytvz5cEa1mUDiETKzkDYWJD4JB1z27x4LyYVu0ULGC/wPfsuaa7MqjIN7OkNgYxfUJw6j/y4FJu2ZN+0rdd4yGzvolODHY+ijXenSVydzjqGtw1MBKLMxR/5W4GuBtOZtJikHLLWm05wvF0NCOeVwzX2G2Cz0Y2EwKGZKGI6LVX+R8xeBK02RBADiFeJkExZqE3qX/lDkxwRuHS7az1uYHONBiHMNFzPNDQ+oDM8v40ybZhtVOOXa3/W8go2U+pUHL8O4jiMSa+6CCELeSlBnj+VM1oeomjMAJRVHfBLJ+aXojUEH00v5utT2Ogt1LppCFc5VG5ER0FKf+QFQ+cTt7fir9o4OWer0cRPD2/TqVz2R/4+hXsrX2wwFstOw6iQdlUpjUS4zRNLssuBa5A0Gq/ZT6K3FKq7ZceVqjK7VbT6ENn6AIopk9OmZnxcGaURF+0wV12VBcG+gD+h9XZeoHuJxOwocHECuAq2rqLJ1Y3xxD24mrHGm3fxJASRUgwjnxOcuKQWyH7fcKLrd+YI5GyKgMYOaNF9OHIyVYQ2JHFA6SN3AsfoLkwGCNNUkFR+qsAy8zX6aAGGDFpyhRe9ghFDVuhHx1RDDCuRHUu2nra4hgCI6
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(366016)(1800799024)(11063799006)(56012099006)(4143699003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d1V3YkNmSnZtVmc5VmozZ2xXZU82REFpQnkyWXY1M3lLdUE5bmtWYlFWUklF?=
 =?utf-8?B?L2Z4RXh0U1loSG0ybURWSW5iZ21ublhOcHlBcGVrblFYTklNL3FHZ0JxWU9o?=
 =?utf-8?B?OVVtMG1IdWNFcFZiZ3FkdFJXV0pUMXoyaW9XWlB1MnhEZlhpdFByNERJT0p4?=
 =?utf-8?B?NDRpa3MwRWkxT0E3RlgvbWcyTkZvdVBKVG91K3J5amRnTFFlSVlCVFRIczF5?=
 =?utf-8?B?dHFMU2lTTm9Ha2JBTms3RlpyQUZFZ1N1NEY2VUdGbk0yN003VWJwemhkb3BH?=
 =?utf-8?B?MlF6ZDk5VXR0YmxCRW5QejBXb2pDZWNiZ0VvRFhQYmxuZm9XRjIraC9ZQ0th?=
 =?utf-8?B?ZTVtOVRZbHRmcG1nYzNWQS9peGpaMUJxWkswbUc0MXNBbVl3WjJvbkFNTjVF?=
 =?utf-8?B?QUZhRjlWZDZCMXNjbjdydzd2MWNsY0dxdnZBN0pNb0RBa3YxOTdFRWJDcEts?=
 =?utf-8?B?akx6ZXJRUXdDUG1wWkhZdyt3S2N1WExyNkg3TW9RdU9DSTE5Nm1IRFFLMUNY?=
 =?utf-8?B?SXdka0EzSEdScHhETld1eWtKSVRueDZTVmpTTWZzdjRWSGM0d0Z1eWJZMGVs?=
 =?utf-8?B?MGFrQ0I3NkNDdGlQeWdzalpoNHM3VVZMMlFSVEIrSSt0Z1hVK3dTdU5NTG5Q?=
 =?utf-8?B?TDZNcytJUzRMUG5WUkJyYnExWjF5Z1BsSW1KYTk4cHdhd1cyV1ZGeDhBZ0ZB?=
 =?utf-8?B?VGpKa3JQbnNOOTNaWEd2QVdudUQrTy8wamtlbE5GbDJvd1lsRlhvWFVIYlNH?=
 =?utf-8?B?N0o5OXpGMnhEc0tWN0NRRmFXa3kwSW5UQVk3Sk9hazZ2WXpTU1pEZEo0VWZR?=
 =?utf-8?B?UHhCOGVtYllIdXVGOG1zRzgwUklIbzZ3M0ZrT0xQZHA4SU0xU0pFSkkxc2pr?=
 =?utf-8?B?Qmg2T3JGK0xyT1JTRHFtbCsybmJvNnpZcDVReUlSOGJ2RzBUYU0yU0tIa2hM?=
 =?utf-8?B?TWg2Q0xrTzFSSGs1Zkx0VjZNdEZmeGJoNHdyVlZTYktRSEVwZEJCTUxtQitD?=
 =?utf-8?B?MncrL0YyRXhMc3JoRFM1NjBVMXJzR3NhLzE1dWxQdnIxRkZoTGo1NUFnS2Jq?=
 =?utf-8?B?MFhKYTRUaW9TWmpLVTdaTXBFbWg3TnBzZ2Q5RGZlQXYyeWsxaWtLRzg4WVpW?=
 =?utf-8?B?YnByT1ltMlNncnFZQ09TVUh3MzBWdGxqT0xVMStMMWNQVXhzNzNvTW1JRXI2?=
 =?utf-8?B?c1NIMUd2YVlYampSN05Fdy93VmJoLzNvWUUzUzJVWUpjcEg5YWpncVZLMGRK?=
 =?utf-8?B?Q3cvSXBzNURnck1TVk1LL01ua3VFWWJtZ2RLR0ZNVjFEcVA4SmJFL1UxcnRL?=
 =?utf-8?B?a1ZzZ1lDMXVNRTdYa1dnQWFrMjZzTkVyQUJEaEUvUEhJUWtvSlNvL3E0RTky?=
 =?utf-8?B?cVBTdW5hTjNCRlgyYTNYRDdxTnFIekVIOStHYVpuZDUwZysxV00vcDhXMmRZ?=
 =?utf-8?B?SFZJUVZKTkRiNmpncVUxWGJhYVVQM2JGaHlIZkFLWExqMXJHMWQyZWtiWS9o?=
 =?utf-8?B?M3JLTEFKbDlZb0wyV3BTaVJ4WmEzbDRkTG5KWnQ4a3MzL2dJcEliT0s2a0t5?=
 =?utf-8?B?OW1BMGlIQTBQc0tEanhldXM1bitMZUtBRitGTzMzSUdic1hlOUtUY0tGNU54?=
 =?utf-8?B?UWxZazV1SzZiZEx6QzVIQ0J5KzdubnpZalFyc0VPNjk3Y1ZSbkQrUnJNWjNH?=
 =?utf-8?B?RTluam5tcFBzME5vK0x1WEhuT01NR0VGMWZHRzEwOElUU0RBUDVZSm40NTNO?=
 =?utf-8?B?SmRLWW1CZWpBRTR0Q1F1QWNRZ3FIcTlRejFGVVIzK213aEVKZklEOGFVVGY1?=
 =?utf-8?B?UDFjcHVzdXpvRmw4UGFOWGZpRFU1c0RwZ2orbDZndXVEaEd4aHU0QnBlSkpB?=
 =?utf-8?B?cjdweUJidGloSnJGWjJEN3BKa0J1d1JrTm5ScStvY283Qm50RUhMN1F0WFJ0?=
 =?utf-8?B?MnllWFIrTys0R3RFNWtNUGVZWEdPdU5FUS9tbjNmY1NmcXdhYi9mQXk5c3NQ?=
 =?utf-8?B?YW02d2pqV1pJVlhZSkI0Zy9FUGNyVGswREY3REp3YzlOMDMwaE5mM0ZKUHRY?=
 =?utf-8?B?SmlBeTZaYy9uY3VjT0RuamxPek9GK04xUTlXaHdDSGd3SWUxcmJFcDJPdkZK?=
 =?utf-8?B?UU9tRVBmazZ6MGwxT2ZOeC84bUpPUnNDMUVIM3hTdkhFMzRORWNKUy92OXRZ?=
 =?utf-8?B?L01TbXJaQThBV0ppdm4vY3dkam9QUy9XcXZIZUZSbHF5cnQrT2NVNHVlWGxh?=
 =?utf-8?B?TXR5UXJuWTh2SnpRdGgwbENQbTVkSUNqdDM5VlJLOTJOVDQyR3JlM285RkdR?=
 =?utf-8?B?RjdGSjdJL0U0bVBlSmp6Yml0Yi9XK01vajdqTFczeG8wRGNUZEs0eGV5V0Z4?=
 =?utf-8?Q?TfR9+amGiAWBcRpc=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3cd33877-bce6-474d-ff6e-08decb9a78ad
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 11:29:04.4097
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JXPxWsId50TOb4JczqqnzDwGNYgOuzN6uRAU0sEJKeV+ubRXSIBq/0a++W0I84zJlxzQ9rpfp7myKKSrBg4XAt+Cbd+8g5ZnmhfBfprNEW0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5211
X-purgate-ID: tlsNG-d25034/1781609347-E0B64CF5-4A8B433F/0/0
X-purgate-type: clean
X-purgate-size: 1284

On 16/06/2026 12:20 pm, Marek Marczykowski-GÃ³recki wrote:
> On Tue, Jun 16, 2026 at 11:13:36AM +0100, Frediano Ziglio wrote:
>> From: Frediano Ziglio <frediano.ziglio@cloud.com>
>>
>> Currently .init section is both writeable and executable, split data and code
>> to have 2 sections satisfying W^X rule.
>>
>> It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
>> in the pagetables.
>>
>> NX_COMPAT is a requirement from shim-review,
>> https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility
>>
>> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> Acked-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
>
> Is that the last piece necessary to satisfy the NX_COMPAT requirement? If
> so, I suppose a subsequent patch should actually set the
> IMAGE_DLLCHARACTERISTICS_NX_COMPAT bit (IIUC ld --nxcompat option), right?

We need to satisfy everything in
https://github.com/xenserver/xen.pg/blob/XS-9/patches/correct-sections-permissions.patch

.reloc needs to be non-discardable and writeable.Â  This will require a
very recent binutils and a patch (series?) from Jan.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 12:27:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 12:27:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339172.1600305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZSsm-0002fi-EJ; Tue, 16 Jun 2026 12:27:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339172.1600305; Tue, 16 Jun 2026 12:27:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZSsm-0002fb-Bj; Tue, 16 Jun 2026 12:27:08 +0000
Received: by outflank-mailman (input) for mailman id 1339172;
 Tue, 16 Jun 2026 12:27:06 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZSsk-0002f9-R0
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:27:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZSsj-00A1bi-FT
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 14:27:05 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a314118-5cb7-0a2a0a5109dd-0a2a45028f86-6
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 14:27:05 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a314118-af86-0a2a45020019-d1558033bd9a-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 14:27:04 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-490b12270b3so27713645e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 05:27: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-490ea4a128csm426699925e9.0.2026.06.16.05.27.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 05:27: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781612824; x=1782217624; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=EYMXoJYnhyN4TOcvusH26Mxoa2+OwjqyMFrSeHmyVEE=;
        b=IYmQ2X5mo12l+16s5FpwkBhF//I1XTBYwOsUaF8ET2hUqyA4LvWz6NajHyM4dG6Ve3
         mYL9gn/xb6j4MlhbmBveie3Opu4nkBubPDkfyMOAvHLq6D3P2LcJ5C8c/XeB3AgZYM5y
         B6ihLC+G99+aOYDRt49nGkLOX+6NHFuoXdzwN7fXmb2iOf/JQcCeHKGn8SUB1bw7Kb9U
         dWBZ9W2kCZfaN8zy/+WRkYZLPTYF+dgeKPJDUzH4Ix8ay3QUGdDu6Osn+CSc3/7p/YIX
         hP8GcfKhLTu+J9eUlk5ksoKSDNteZAZVK+6Ae+PIdROZcPhXTzU7x7uPdoXOoXfWxC81
         Tf8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781612824; x=1782217624;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=EYMXoJYnhyN4TOcvusH26Mxoa2+OwjqyMFrSeHmyVEE=;
        b=Q5ztJn+GaWbbZ1RVaCaEMTlCrun6kMsol2GjJ7FQjTYFWIYRDFlyIkETVXTMguLNRc
         vBkMWZEAOWpeSsyed4eukAZeRd8QxFKYEeK6eN3fITQNYo/ZaSuxmTf/2TgU9PeZGI3X
         Fxc0twFKi9LVZxg/b0FwAPG3e0IEPDKNqw4j6DmwdErvTiFpIHBzgk7mX9FudhF5n71g
         YE0LBR6jUeE2ef568XxSYFOnloOQpUc8k5uEiB9sk005dQGXH/jTwX2cLLk00scznkIl
         0gU/R11qDAO+n38WYjTKG8a0xl6xB8jhTdUfngjZk8SHATkVn0InTUypAhxSHpBWw1j2
         x1yA==
X-Forwarded-Encrypted: i=1; AFNElJ9O7dbZ4nNLTbM+ZIMfG5x2qflF8WQ9Mk6Aar6gkER7PoP4JJqK3rVAlNi6z6cYPL5R/UGrp9WC6U0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyB86zVwrlCH5Vst9v/YA07IVP2oSYxW66erH5KhBWBmGKbQyzr
	ccCXk0ztDWlqgMvldQTkpzdGkWqg9CC0CfnhE5CfoWwCzcil/WS2HM/yrr/kkdwvbw==
X-Gm-Gg: Acq92OFO87SFrxdbHYa2hHbtJXXMR9llj16woQ3NT2BGsiuUQHYIkZqfGfmY57zZP3x
	oFQvTa6owGaIV/LZz983n0ucEc/9aLyEagvpWnKgWrjdsVS+UZ8Aj/e10V3MrDWFfamGVo9+XvI
	rcwM9VRnXTx2ylKN6OAW9nPcsGYHgGVPoiE8BvdHv4xznsuwx5aJhWLgIUqxNhJ3hZkcn2A2gB5
	zYI5YmkH0TzKOdQYh7viiMJlKcQ/SPie1d8VXqQvwjteEErI0BGnwxlDIdPHjh4l3SUVC1xThEf
	rgvnj2ZfoTH/rxsIufSv3fmbDLhRreeIrAf28RMNVHzwYbDdWyPvRn15vUN7JbrAl+ArCfI1XlS
	ZStD5C7I3nGEO270jscCxszZTQx9OX+GA/cGWYpsoqI3Fub7ApHa2aIo1eC1i3v6QK9NsFicDh0
	jAMONprWGdmDoLi8pRwRDI3iONZ24rUBbXMv6MN2bJtR75U4Q3myf8ohY0LRcHEEynbj86U4GE1
	Kj9/7ZCA86VIdtt1H2yrnfnJA==
X-Received: by 2002:a05:600c:3144:b0:48f:e3e7:3d39 with SMTP id 5b1f17b1804b1-490ec4d523dmr259306065e9.11.1781612824153;
        Tue, 16 Jun 2026 05:27:04 -0700 (PDT)
Message-ID: <3506eb69-f057-4c0b-8321-03cfcc6dda2a@suse.com>
Date: Tue, 16 Jun 2026 14:27:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/4] Align relevant sections to 4KB
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Frediano Ziglio <frediano.ziglio@citrix.com>, xen-devel@lists.xenproject.org
References: <20260616101336.44009-1-frediano.ziglio@citrix.com>
 <20260616101336.44009-2-frediano.ziglio@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: <20260616101336.44009-2-frediano.ziglio@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-720697/1781612824-81D77161-73DE8CF3/0/0
X-purgate-type: clean
X-purgate-size: 1080

On 16.06.2026 12:13, Frediano Ziglio wrote:
> From: Frediano Ziglio <frediano.ziglio@cloud.com>
> 
> Required by UEFI CA memory mitigation.
> 
> It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
> in the pagetables.
> 
> NX_COMPAT is a requirement from shim-review,
> https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility
> 
> Sections with different permissions must be in separate pages.
> In the case of debug sections they are contiguous and have the same
> permissions so it's not an issue if they are not aligned to the page.

What if .debug_* starts in the middle of a page? Aren't you further
relying on .debug_* to be r/o (i.e. neither X nor W)? (Right now
.reloc is what comes immediately ahead of .debug_*, and that's r/o
as well, so not an issue in practice for now. Yet as indicated, the
description here wants to be usable as a reference when this later
needs extending / revisiting.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 12:31:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 12:31:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339180.1600315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZSwa-0004Fn-U1; Tue, 16 Jun 2026 12:31:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339180.1600315; Tue, 16 Jun 2026 12:31: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 1wZSwa-0004Fg-QA; Tue, 16 Jun 2026 12:31:04 +0000
Received: by outflank-mailman (input) for mailman id 1339180;
 Tue, 16 Jun 2026 12:31:03 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZSwZ-0004Fa-58
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:31:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZSwY-005jfs-Hf
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 14:31:02 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a314202-bab6-0a2a0a5309dd-0a2a4508ebde-14
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 14:31:02 +0200
Received: from [209.85.221.49] (helo=mail-wr1-f49.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a314206-63b5-0a2a45080019-d155dd31e45b-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 14:31:02 +0200
Received: by mail-wr1-f49.google.com with SMTP id
 ffacd0b85a97d-460662fcb4eso3042390f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 05:31: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-4606f26393asm46924862f8f.5.2026.06.16.05.31.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 05:31: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781613062; x=1782217862; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=9gdwUgxsb1e4R1nT5wqgOStzhRK60Ke7JBxDB4jiTnU=;
        b=D3GheZyYNn6r2rZct86cK5KT1d7LGYP5oEklQBGwDNKJSIHMuuGkpggMCvXTdR1pzo
         Ywq+tk3GdiPRR3NeaWscPSB7Rz/ey5ZUHfjR0mT1GYTLVW8QztXfq/Rh7v12xgI/E4K0
         AVi96LEDb+UOxnBWMgCkEcLeFcj4Vf8tsF20l6veTcbf4LEOJpBkUDNalbzumMizVLM2
         S4vJYJhtx5MS6bLYLMhV/RuynFn+pg5SUovzQMUJYtaQYfvFAIVZeAsPZvsl+oAyjn2V
         5k6odYKerdQBxFGCdAo1U6nareYmwJU1zdRwFk6GKFhvGbUHbXp5K3/rYXJl5mxb/tHv
         Co6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781613062; x=1782217862;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9gdwUgxsb1e4R1nT5wqgOStzhRK60Ke7JBxDB4jiTnU=;
        b=P/UELkEvap2TqX97LBUhxdxxT7ALKqbOtca4v3spInziEUsRWj6pEFUQIscu2pObD+
         5TJkxmnFUBCaguBHDHRpWcm6wmNcu63eUcN68ZxT9R4CPb9ZGQ0zqOISS0GlToqBbJmx
         IJWX8vgUw1ik0C2gzPun7XffNDEInuKZ9ZyEEWD3PvBNgXKEkgjAxI/GAtBdtZK71Fkg
         FtPQ97Alc6d1wlikbBc8Chg2RVYOa1vYjXI7ECpnuob0RdyMqxK+wvGijUkd+DdDZRrh
         mwm5KdYzWyrIv0baEfh+YsOufR14LSDUsUVK7o2HDfbgAX3kunWEogGS6H0nkQENnUFG
         f6+g==
X-Gm-Message-State: AOJu0YwbbvRexUb7AsAuHQDuxKrBH1ljHUDBvGV+trkfzQeF8/BUpC7y
	aNjFlRDBuldDEUvA3C/DoVYZcNIcC6jzMZSeAAR7xHGPO6xYwrN74xJqDv/junFHDw==
X-Gm-Gg: Acq92OELdmB/kDjLW6rFufWM3hXV/32RtnRQN2Ske58e7VgkO2CeBRySGmOv7eeFB0q
	Heg0u7SHDIjK99YyknpYMOrP6/bEQyDDIyy5s+kjfqYZX26JrMAtRDWQUNS7d1n3RwALdcL21Nv
	s8CUub5c6fESOCN5VJNB6DSzXIKi7hVApUgD6Q+t190xBSt6W+ED0eRmBkY/ys4/MLb1UwqWm5k
	7sbQ9u81/kBQYJAbpzu0Cu/0YNqPLcRQHZEdE+cggKQZGUqmxhzsnqXILC8b+lMXf7NYIgiOSxf
	91yGh7PAWomiJocYa/PfZBiCTy7T5zSyhiImknEej5W/sGzv/GW6+8mY+ijFCxrCY61x4hFKo59
	rq7wW2hvK8YmOSTUPVrTtccQ7ZrcnTbhmqdMmStG5h47cZaAnYSl6/P9os9HIJr65m2GCJS0vgo
	fz0yk4A7wb5EJnluDA6RZ0EsH4MOXuTuu14LbSPpunNFwUY3qYrsU459TYt/VHqXP/uTEwXOe+t
	5URFpJTQtpGMEgZNWCJ5CuRhw==
X-Received: by 2002:a05:6000:240e:b0:461:a1c5:8348 with SMTP id ffacd0b85a97d-461a1c58379mr3988483f8f.42.1781613061743;
        Tue, 16 Jun 2026 05:31:01 -0700 (PDT)
Message-ID: <8b27a14e-865a-462e-a6dd-1f8323de5f43@suse.com>
Date: Tue, 16 Jun 2026 14:30:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/4] x86: Split .init section to satisfy UEFI CA memory
 mitigation
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Frediano Ziglio <freddy77@gmail.com>
Cc: xen-devel@lists.xenproject.org,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Frediano Ziglio <frediano.ziglio@citrix.com>
References: <20260616101336.44009-1-frediano.ziglio@citrix.com>
 <20260616101336.44009-5-frediano.ziglio@citrix.com>
 <ajExivEwb88pcOxT@mail-itl> <f80e5c37-96db-4af5-9b9f-28f4ff457a72@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: <f80e5c37-96db-4af5-9b9f-28f4ff457a72@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c1860d/1781613062-C5187DB1-50F8ED86/0/0
X-purgate-type: clean
X-purgate-size: 1579

On 16.06.2026 13:29, Andrew Cooper wrote:
> On 16/06/2026 12:20 pm, Marek Marczykowski-GÃ³recki wrote:
>> On Tue, Jun 16, 2026 at 11:13:36AM +0100, Frediano Ziglio wrote:
>>> From: Frediano Ziglio <frediano.ziglio@cloud.com>
>>>
>>> Currently .init section is both writeable and executable, split data and code
>>> to have 2 sections satisfying W^X rule.
>>>
>>> It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
>>> in the pagetables.
>>>
>>> NX_COMPAT is a requirement from shim-review,
>>> https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility
>>>
>>> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
>> Acked-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
>>
>> Is that the last piece necessary to satisfy the NX_COMPAT requirement? If
>> so, I suppose a subsequent patch should actually set the
>> IMAGE_DLLCHARACTERISTICS_NX_COMPAT bit (IIUC ld --nxcompat option), right?
> 
> We need to satisfy everything in
> https://github.com/xenserver/xen.pg/blob/XS-9/patches/correct-sections-permissions.patch
> 
> .reloc needs to be non-discardable and writeable.

Writable? Why?

>Â  This will require a very recent binutils and a patch (series?) from Jan.

Seeing that no patch had been submitted so far, I recently added this to my
todo list, yes. But really I was hoping that someone else would make the
small change that I expect is going to be needed.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 12:36:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 12:36:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339186.1600324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZT1j-00054D-Ff; Tue, 16 Jun 2026 12:36:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339186.1600324; Tue, 16 Jun 2026 12: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 1wZT1j-000546-C2; Tue, 16 Jun 2026 12:36:23 +0000
Received: by outflank-mailman (input) for mailman id 1339186;
 Tue, 16 Jun 2026 12:36:21 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZT1h-00052v-Rk
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:36:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZT1h-00FLaj-0n
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 14:36:21 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a314331-e002-0a2a0a5209dd-0a2a450ac57a-36
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 14:36:20 +0200
Received: from [209.85.221.50] (helo=mail-wr1-f50.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a314344-56b3-0a2a450a0019-d155dd32e4bf-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 14:36:20 +0200
Received: by mail-wr1-f50.google.com with SMTP id
 ffacd0b85a97d-460662fcb4eso3047355f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 05:36: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-490ea961f18sm339903885e9.2.2026.06.16.05.36.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 05:36: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781613380; x=1782218180; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=qjkt+xX1tHIFNRgs5C18PWlmRBvQl4r9HAbI4bVVrmE=;
        b=QwU55tWX+unTI9e/wMJ3VC2rXOTtSgwvrWo2W3mUYENDDzCKGqCWzULqpIIcEw6GsR
         wIHkMDIY+oWxe7fTkJswL2Kfi8BYxPrCUYA7UBGTssJ4HQd7pqnKIGiE4tGW8I6dDc3Z
         FoD3WPu/hcjBUQnv7Ti98K0UqyhEWKvwaUnHHYP85Dlq9nfLYYAxBffMnUjzQd8AQan4
         dq+hXz2z6XX6fIKIs81zpZyVzCJubNuwAoVkMrr0IO8AcFgYmJPEeJ+3HWbxRQvCXyRZ
         4RTI1oMo23adMZB1R32gLPD4IECr3oSo3RallGGt16oJitFGMXRozZgL1bWUcAhZgvPq
         miGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781613380; x=1782218180;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qjkt+xX1tHIFNRgs5C18PWlmRBvQl4r9HAbI4bVVrmE=;
        b=qraXPKU0JGprm/6mRj5Ef7jFsFhoKmutJV3z5SZ4JA3axKXXhH2sMA18gF1CCXyyjb
         5O61EDeV515W6qYCAY3aOAT/ouUWHz55L7gtvKWPvVu7fi8wxL5iWrv/2hd4uHj/P2fa
         heKDWiIAfEZNgO7EcTo5x/pGQHz4WhySZZZedK7LdIe66JwPurZK4u/4cz1Irk5WtHNc
         uAdRcp59EYdwqx7CL8MLxvrbmQ4sECWQDgsntsCD4Kmn3pHVXad6bWNX1yEGbWP+PaA/
         Vh4OvDy2MFoOnH8TJWYtQs8IRsUd7WAYWkRvBwIxZvo9HHhzY80ljhy/tlEHgVGxQEdm
         468g==
X-Forwarded-Encrypted: i=1; AFNElJ8YhQcPXVXAoFxIMDTTs1BQgJoMGEhS0/3DUXDZt3VWyG/p9PyR6gjywZLopu3YDzAXuQsfCfbbT00=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyBu+tdPd2o5Sof0iXzkRbrFJJARtPflwEIWMU1X30e1+neMmpQ
	XkKYtHFk/ZeaxCMB7KVNDaTb/VjMCB7et36sNur2qsIK5e4d+sQxyAlaOwsMjk4jNA==
X-Gm-Gg: Acq92OGAIj+stw+Yio/iZUiuf6y/rSuCMkt+hrB3PEBt5oWLXe1CML8VDO+C5g/L5io
	WJrtQD7kh3UV+07g2ZFnK0B0jpNwgaRs6mgwno6E7jb52ROAIBqLaVUg/uRuBMI8hOuJqO8onS8
	M3lQd1m1FawwXS8AJnbs+17pn3e19foZ+wearliOrOXLxtK2g9Bngav9QNJQAXjIVD3TBNyPzCp
	YahHo9ckWIihn9JQ3l29sGKDK8nwB822h2YVeHuvmqw8+S7QdtDP3ey4bk1iKmwjHHVWXVAheo3
	oFbMLk7+ANkao0k62h06iH6YUiwbxWd6mDiwU48j58mzaGqXUJKMUGubDQ8h3I1cnxRUgT0egGX
	1l/VR2F92A6G3Y1Z1MbxXN8a7yErtA4olwLn3v+KOlRVRc0YW38agTjRpt4brsW9uXgWRUvYaUt
	6LJFxYkeAGTIpxIN7ltXzPmpWP2RMlvahsdF6N+zAJ+vSuYpKm0wHhZ2+bX+H5lqLhwxmAkBVYQ
	oY/9t4GZBvACkD7gKzUi7HGWg==
X-Received: by 2002:a05:600c:3f10:b0:490:bad7:3634 with SMTP id 5b1f17b1804b1-4922ffb6c1dmr50003575e9.19.1781613380398;
        Tue, 16 Jun 2026 05:36:20 -0700 (PDT)
Message-ID: <ef1f84c3-68c4-4619-9e32-b008e91725f5@suse.com>
Date: Tue, 16 Jun 2026 14:36:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] x86/ucode: Exclude Zen6 from entrysign digest
 checking
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260616104534.22995-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: <20260616104534.22995-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-4011c0/1781613380-6FB5F8B7-AF12B5FE/0/0
X-purgate-type: clean
X-purgate-size: 1046

On 16.06.2026 12:45, Andrew Cooper wrote:
> --- a/xen/arch/x86/cpu/microcode/amd.c
> +++ b/xen/arch/x86/cpu/microcode/amd.c
> @@ -128,7 +128,8 @@ static bool check_digest(const struct container_microcode *mc)
>       * the digest of the patch against a list of known provenance.
>       */
>      if ( boot_cpu_data.family < 0x17 || boot_cpu_data.family > 0x1a ||
> -         entrysign_mitigated_in_firmware || !opt_digest_check )
> +         is_zen6_uarch() || entrysign_mitigated_in_firmware ||
> +         !opt_digest_check )
>          return true;

Besides being somewhat fragile towards future changes (to the family range
covered), this also sets a bad precedent towards the comment ahead is
is_zen<N>_uarch() saying "The caller is required to perform the appropriate
vendor/family checks first." My understanding was that a single family
should be checked for in all such cases, not - as is the case here - a
range of families. Using the (seemingly) opposite is_zen5_uarch() wouldn't
be correct here, after all.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 12:41:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 12:41:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339194.1600332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZT6F-0006us-Vb; Tue, 16 Jun 2026 12:41:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339194.1600332; Tue, 16 Jun 2026 12:41: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 1wZT6F-0006ul-Su; Tue, 16 Jun 2026 12:41:03 +0000
Received: by outflank-mailman (input) for mailman id 1339194;
 Tue, 16 Jun 2026 12:41:03 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wZT6E-0006uf-Rr
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 12:41:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZT6E-005m40-8R
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 14:41:02 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a31444e-5cb7-0a2a0a5109dd-0a2a45069c04-26
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 14:41:02 +0200
Received: from [52.101.85.1]
 (helo=BYAPR05CU005.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a31445a-7371-0a2a45060019-3465550196b9-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 14:41:00 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by PH0PR03MB5925.namprd03.prod.outlook.com (2603:10b6:510:30::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Tue, 16 Jun
 2026 12:40:56 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 12:40: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hl7las6yCJERXZ57jYoh8nadsN0CcF7QlpmTyFNsmX0Xspc/JHl4GAxIz8niwAH5+1Gd+f00yl/+HvklE/yzqkfltyf7foysoDhzufQTZNveSIdcDhBHGWyC775QRsEY2jaDAvP0aWRX/HDgvPlNiCoBdb3qyLwOcnNTZJnx8U2VMJivRv+9MJEt+It93CP5NLSUByYTEkJnoormlfM/QANY03TdB16NIxJl5QrZAiupdC8NAWVDF4ltdEHK/PDy8fr6kgF1S34J6/LCACdfDKx0nolSadozmBm1MS9o4e+4L/ikZxznqanZEC6TxiH79Er/xi7JJN0cj/DJpDTMVw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=B3Qsc2lC33fts3IKJ2hyA1+dHXwHeaC3t+WdQnYSmS0=;
 b=qEFh2CjIvxj2RaUuM+YXi0POtAuk4ZtPCmhTjeFD+kqRw2tzd3JMkt/WlIAhBN0adv8O0y7bPZxP43sliFFfhidebgnQKKwCtgXEPvSBDN3hlxsdWsyOt5TLOBT7aigoBh4THYfm5mxdaFuqG8Px2n8gzIFC/WKC4hfGbmNJoJ2YPW5T2YT00cU6JdrJWjSa56bGGFyTDf8G8Uu1A8AsM9Ki+sHr3V+uAgG/BSyqCrEeUlafBO0IG/twZqd7t+46HiuBjUu1Ky3omq6GzvMn0CeRswOMpOp+rOVSwoVIFboa1JVGZqPk4LWUVQWGYivuT6Sv2Eq70J9V1OfoHYyNkw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=B3Qsc2lC33fts3IKJ2hyA1+dHXwHeaC3t+WdQnYSmS0=;
 b=ZD/oMjcG3Ul5FWyrpbTmhAw39TN/LlIpS3aexkZfaj/0pe9G4DCTOX1RtqkmONyJzmX6FI+R9OiCjtbBzKaM2CdvrlapF4T66qLKNb7bSI2uubvBVVfTTGrNclzPVk0Eio5IN6H+XNop6krBoc2yYOZ++ITgbZ4QAVmN5SEAAqE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <a7d9c983-c264-4a90-ba17-b2a49bd85c18@citrix.com>
Date: Tue, 16 Jun 2026 13:40:52 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org, Frediano Ziglio <frediano.ziglio@cloud.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: Re: [PATCH v3 4/4] x86: Split .init section to satisfy UEFI CA memory
 mitigation
To: Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Frediano Ziglio <freddy77@gmail.com>
References: <20260616101336.44009-1-frediano.ziglio@citrix.com>
 <20260616101336.44009-5-frediano.ziglio@citrix.com>
 <ajExivEwb88pcOxT@mail-itl> <f80e5c37-96db-4af5-9b9f-28f4ff457a72@citrix.com>
 <8b27a14e-865a-462e-a6dd-1f8323de5f43@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: <8b27a14e-865a-462e-a6dd-1f8323de5f43@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0403.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:189::12) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|PH0PR03MB5925:EE_
X-MS-Office365-Filtering-Correlation-Id: f5fc9ec0-0c9d-49d1-6f51-08decba48285
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|23010399003|1800799024|56012099006|4143699003|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	GMcJF3Q73bTnpK0pFrGSadnM8T4wM1JRZQEZClTtbfGRaId0NqXlSXrJZMxBv62mrdO/KSDgtE9PgBpoxB92JJEjaAcoC9szVHG0IAWgTfkT5wpNRcfa4RTYVl5FbpRMVdM7JCzDe1wKxlc69jiMKj8FtEm5cMgXKBwWSqIJjeQpWWsBVHl6eZq5Xxo5+X6apt4xd0xpOIO9UUqf1T28I7vLbufi5Ia08OEMpAjERR4Xd7wOy2ZsFy+6gOu85hBIljDjEpOMaMMY9Ok4gRWkNdYnf+igZdpi136y9scWOL6WX4X+HpZeUB+LdO2x5d890NV7CAufdBkz4Y+cUNdT8W+e7Wr/7Tdyl05pdMgV8P85rrIkYU6nl2tdfbIfSJnIKeOHfNYxypeL4fkYrnamVZ9vD4avq00NeytFllhatHAPl097wWh5sVMlEt2VNEPc84Far6RlGkaF9bPGEJfVRMC7nAll4KHVzZsIU+lZj5nXiMCbjEsl2CYj/Aa1y2Hrjx+NjBcJHPERawbFsbqOAOg/pPltMcK+DjrJZEFS71yKu3XAh/nVqAfu3ArMSl5nYcZl6BnPRsfcczm9cF3FlIzAcrry5sxfb0+5Qn2Vi7TXrMhCbZUc7UhXSB47nHMXx5k/JubdtuU/oQ79Qkg/QdjYCU5xTFoYxni1xQz6J6UllGGckAJSSuCzWmVKubLW4W7rf5RuFwkWwcg9Zvs/5Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(23010399003)(1800799024)(56012099006)(4143699003)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V2F6MURFTGtTbVl4cThpVmZUcFpHdThoL3lIeVBRMjRSaVVKcnNoN0xlT3ox?=
 =?utf-8?B?Y2l1aGpXWURSY1RtT3JQZ3h0UmEyS2JHdzhkL2FHeXVwUDl5UDNPYnd1Nzg0?=
 =?utf-8?B?L0xCZHpPOHNCYzNnWHNmQ0JBWDNCcERLVm1KOWJTc3VLTGxrZlJrdzZNSU45?=
 =?utf-8?B?ckVzQzI5MFdBb1R3aTN3NTFqYW9UeVcrRUZ0UXNzRWx6SzdrT0c1Mzd6c2M3?=
 =?utf-8?B?bWVKeGVDMDM0eEVYRDZSNVRmSy9wRHhFcFVmeXRETDhGanRTZ2JUcFJFcndY?=
 =?utf-8?B?Tkw5Y3JsQzdSelR2WGFFMllDQVJHQXhLL3JGaE9rekR0dFhGQ0RJUHgyaE1o?=
 =?utf-8?B?N3NnQnRuRGtJbkxDaEpZNXNCN3NzSDdmdjJnaitnVW9saFJnYm9vSWRMQmRu?=
 =?utf-8?B?ZXh3QkpuL0RySEQ0a0xYRWphTVIvVGRncElWUGRmMERGQktrRFhFSjQ4Q3hz?=
 =?utf-8?B?U0toQ0RzYVpYQU1meCtaaDNLQzMvNG0zL1lBOGRPSkVUQ3Zuckd0UFJCVnRs?=
 =?utf-8?B?TWttMkZlbU1FRUk5SUF1MVMrNWt5WmU0OGpOVVdiVGJKSTVaeCtyc255UUhE?=
 =?utf-8?B?bjJZbDNsbWdRT0FVdk5seVhoK1hyZHRFZnQzbDVYRXh6eFUzams3Ung1VVQr?=
 =?utf-8?B?M2J2NHFuUU5qS1pnQnJxeS9HbEM5cHQ4OW1lemZoVGdSdzFZQ0l0VWNoZVda?=
 =?utf-8?B?WGVQRmdBZFErMERmdmZVSGM0VlBISXpUUWdRKzZEZTl6TjhKbkJEbWt1QTBj?=
 =?utf-8?B?VzVmdFRReERsckdnM1pMbDVCajdCVDFYNy9CbmRPaUNzY0h2VE52VkFsSjZY?=
 =?utf-8?B?dWN3TlZhL3BoTGN2a1FDc0xrMXNLREZxWklVb0RoRlN2QXBQQWtPZEpVbzNT?=
 =?utf-8?B?VUE4cHVxb21xRkhZbzIvUVdNYi91SlZDWCtZOW83MUpCR0daWCtBTUZEMlN2?=
 =?utf-8?B?Z01VcnpMZk5uM09BckZ2YWZKemcyUUFrbWdGVWN4K0FSbTF2RkQxSE9Cc2Za?=
 =?utf-8?B?M3laTTRReUVNU05IS0FZK0pDcHdCRlJkSU9iUjkyb3Y2dTdvTzRPam8yek9p?=
 =?utf-8?B?M2FKbWY5WTkrNmFxZTE4RkJaNWVZYWRVVlRuT2E1Q1ZtRVlpQXhQK0dQeDBo?=
 =?utf-8?B?UlMwTkY0dWNaYmpwNVNqd3FrSDNMK0gwejJFaG9weVFkYTc5WldoWFdDcWlN?=
 =?utf-8?B?cHhuWGE5bFBmb1hzbUFVSGJkTFZUNS9OeHN5QTU2M05LYVlVVDJJYm8zaXN4?=
 =?utf-8?B?Sm9mNXZodGFjTWgwL0xwVis4Tk1uVEV1ZXVNWTZBVmhzU25RTkxLMjJNTi84?=
 =?utf-8?B?ZWx6RnZES3lkSzJRWXBpL2RnVVFWYWtxOUNlWTFwY1V3R0N2VElDREdGNzc1?=
 =?utf-8?B?aVdnMUwreFZhdE50dmx0TG8rSnlBZllzNWh0cXJiaGtzZW52aE41K0hQRkZZ?=
 =?utf-8?B?dFA5VFcwV1ZiOTc3aHp3RUo3OXpreHl1TE5nMGkvcnhYQklRMng1NzdQblpP?=
 =?utf-8?B?b0xlbUpkWmRzdWpvQXZ5VmpvN1lyeTdITHBTalh5Rm1yRUJmZXBNemMzRThp?=
 =?utf-8?B?b3JvQjFhdTV5cENCN0JHclBWMXJ6WmJnQk5OZ05nOTVUNXhhdjlTcmlTU01y?=
 =?utf-8?B?UGFIdTYvVVcrMGYyOUlobjBReXJTK0ZJRmxzZzg1K2RCYlJ4ajRCcnRpUHgx?=
 =?utf-8?B?MGhQbVZDeGQ3c3RoWTI2eDFITlpkMHozeVJERGs0bStxQ0F6N3lTcGJNTWsv?=
 =?utf-8?B?c2U4NWFZZVRLT1FCdXBYMnNNWnR2WE1lTUE2dC92RDRJV3JvSUQ2VWd3R21n?=
 =?utf-8?B?Y3BYRTVPeWlIeHFaWXYvaEdDL29jRE1HdTZyM2NiT2pyQTZjVWR2cmJQUTlG?=
 =?utf-8?B?R1RtUkRObURZTVQwekNIeXVkUUkwZjRHTVVla1RRL3pHSXdFU2orWE8yS20r?=
 =?utf-8?B?MUdPZHdjcFZITGJ2akVzYjNzZG1pSmg5Y1k3VmhlN08zd0ZRUE5qQ014Z2Js?=
 =?utf-8?B?VmRNcWZZbHRGTHhoYWhuRXF4ZHNDL2VjdFUwaHA4OFkvT3pEMEs2TnAxY0N0?=
 =?utf-8?B?RzZ1aXp4elcvMitHYjkyZUc2cVorQVlyWGpLUS93ZDRPTHdkSDM0Q29kK0l3?=
 =?utf-8?B?TEY2dGVsOTA3azhKNGpMd1N4aU9TY2ZIQ1B6ektKcFBrRlluMTE0UkZZYlpn?=
 =?utf-8?B?Y25yKzJrcm50L09DMUp0TWJsR0w1ZFJpTk9Ja2tKdzlka2JrR0F4TEIxdHdH?=
 =?utf-8?B?THEraUhZK1NYZzh2T3VYTHY0aWJRRUwwWXp4NTFOZ1pRT2hJWEN6RXkwOUNB?=
 =?utf-8?B?MmsxaWEwWk9rWVNjUmVJaUhhQ3lUQUI4RklhMU1pR2xKQ3FhSGpxZ2lSa2Zw?=
 =?utf-8?Q?/mOa8+BvL5ccKWCw=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f5fc9ec0-0c9d-49d1-6f51-08decba48285
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 12:40:55.9931
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rdNpzmLYGt/59N7xBKJ7Pd/Zo/RI9a3eW9xZ+fzuXGznMkWcAfG2yA5Tx/gas91vwxcNNVv4nKEqZ7nrXQ6sk5Yqrg0Ce4ahyuw8liYpRkA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5925
X-purgate-ID: tlsNG-16d1c6/1781613660-7FF7BD75-FD6158A6/0/0
X-purgate-type: clean
X-purgate-size: 1968

On 16/06/2026 1:30 pm, Jan Beulich wrote:
> On 16.06.2026 13:29, Andrew Cooper wrote:
>> On 16/06/2026 12:20 pm, Marek Marczykowski-GÃ³recki wrote:
>>> On Tue, Jun 16, 2026 at 11:13:36AM +0100, Frediano Ziglio wrote:
>>>> From: Frediano Ziglio <frediano.ziglio@cloud.com>
>>>>
>>>> Currently .init section is both writeable and executable, split data and code
>>>> to have 2 sections satisfying W^X rule.
>>>>
>>>> It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
>>>> in the pagetables.
>>>>
>>>> NX_COMPAT is a requirement from shim-review,
>>>> https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility
>>>>
>>>> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
>>> Acked-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
>>>
>>> Is that the last piece necessary to satisfy the NX_COMPAT requirement? If
>>> so, I suppose a subsequent patch should actually set the
>>> IMAGE_DLLCHARACTERISTICS_NX_COMPAT bit (IIUC ld --nxcompat option), right?
>> We need to satisfy everything in
>> https://github.com/xenserver/xen.pg/blob/XS-9/patches/correct-sections-permissions.patch
>>
>> .reloc needs to be non-discardable and writeable.
> Writable? Why?

Because we take fatal pagefaults against it when it's really read-only.

But as for why, I'll have to defer that to Frediano/Ross who did the
work originally.

>
>> Â  This will require a very recent binutils and a patch (series?) from Jan.
> Seeing that no patch had been submitted so far, I recently added this to my
> todo list, yes. But really I was hoping that someone else would make the
> small change that I expect is going to be needed.

If you can explain what change is needed then maybe someone else can do it.

But right now, all I know is it's a new binutils and "something".

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 13:01:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 13:01:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339203.1600341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZTPx-0001rW-KU; Tue, 16 Jun 2026 13:01:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339203.1600341; Tue, 16 Jun 2026 13:01:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZTPx-0001rP-Hi; Tue, 16 Jun 2026 13:01:25 +0000
Received: by outflank-mailman (input) for mailman id 1339203;
 Tue, 16 Jun 2026 13:01:24 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <ross.lagerwall@citrix.com>) id 1wZTPw-0001rI-Gs
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 13:01:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZTPt-003owZ-J8
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 15:01:21 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a314920-2eae-0a2a0a5409dd-0a2a45018218-6
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:01:21 +0200
Received: from [52.101.53.39]
 (helo=BL0PR03CU003.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a31491a-c1f2-0a2a45010019-3465352742cf-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:01:15 +0200
Received: from CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5)
 by DM6PR03MB5131.namprd03.prod.outlook.com (2603:10b6:5:1f0::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Tue, 16 Jun
 2026 13:01:10 +0000
Received: from CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096]) by CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096%7]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hu9aHp1X4JqzV0Sn20prffgQeDSyhJFwSoFvUxHX3RG+ZCFhN//7DXYqLaP4hK3fvjKQF+BW1counGP2mBZtpKrPLK3w0148AmOF+Ffwds19ZPr96hyYkuWiDCepWOfR8uYenIVZT7xwiTBzZYmcZeWrP2F6ctLU6Mr5rDZlGzLZICupRkLSEP8N0xIUpm5yCJ9SlSSUaXNoZOa53yIC2/wUp/rXBIw/c/ly0cc8rJjxftpMVnQ7oqM4y4kY5dAanJk39ZL64FUPrMrWOZb8/jTKVm27S24NUqVrlnHnOQKP/RFqgVe4ciax6hqoTbpZQO/rJnmYi2Hne2HiQlwGqw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qmvRo+/bLAUm3O2W2tuAHcB0hOYQkRhe34AUaSTMyF8=;
 b=QhRoXdCyLIh5/dcMQ2NL38J45sHJJqtVvbSbqY2piqXX/lMmC5UW071C1TaTQAmbhMEwRe+wASAkNZQAERgFOvCzmQZCuKgpmoNLo8c0uALDrzUZZc62R2KR/FobUhRIXbCIqY7v71C2LQvAOY3Uqpl5D9P7g5lI2jXiwCleervNW+WAK2Aarsf/8wMUPUa5c76YqKcHI/yeYh6e6AsMWVkMqa0JIpFOULHW0Pe8X6qMhDexQBPxYmOoJjgCyuZWjHMawnNqEyy9sBww1V8mnN1mgaJ3nydzuBlfk2O+nlEcKKE11bsriB3Y15PV7x9sZJHpgkZC72ArkqBlJsolVQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qmvRo+/bLAUm3O2W2tuAHcB0hOYQkRhe34AUaSTMyF8=;
 b=ZiJM2TerUuNcVoOj7Nxxo+rg4G+2EPsMnqfinkps9+pOoNo+MCXF3MFND2HQt5afDjWtzQGGlA0k1nxf0CljPrv5r+dPpInUy8Q5CIS59HynxpuejZ0ksXT0afFmqtpeuw2lLOYVu09NS3wZPR2YQJkE64eQkixrNceLHLlkyU8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Ross Lagerwall <ross.lagerwall@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH] efi: Skip FPU save / restore if using idle vCPU
Date: Tue, 16 Jun 2026 14:00:51 +0100
Message-ID: <20260616130051.3359801-1-ross.lagerwall@citrix.com>
X-Mailer: git-send-email 2.53.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AS4P192CA0035.EURP192.PROD.OUTLOOK.COM
 (2603:10a6:20b:658::18) To CH8PR03MB8274.namprd03.prod.outlook.com
 (2603:10b6:610:2ba::5)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8274:EE_|DM6PR03MB5131:EE_
X-MS-Office365-Filtering-Correlation-Id: 3cfae294-543b-414f-ffea-08decba7562c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|23010399003|1800799024|56012099006|11063799006|6133799003|18002099003;
X-Microsoft-Antispam-Message-Info:
	RToc3smbpN+4OXE6Y+NcPpF3KMuJ2yqC7qHZ2GBcKQPeIyYZjsvasnkbIIO7aaQiILP9gT2j6fO6vnJTMd/UozeZmab0sRdsXXiK9gYlsc0pHXwXiTU3Lb0TRfQR6f/YmK9VVSMMeFQkZCeORcvqWr5Oj4eaz7YwyMKURl19ILKfTFFc2LYLckdMy98avmA+ITjh4l5RE7z7y5gKPQPMqSRhBKg9cvE6jFzxH84BpVt/5yjoEZbcT6xv2a4ZTxj0OS5B5b+Tzp6rxg5k37PFqCn6uMnle1+X3892CYIIRmt3HzFjP3qO92Jew0O86cYssAR2oF0S+9cRwsinssYyYbzHVeQH9j+Ms4OUoUuZM58ETqwDecdyNUb0pjsm5e5Hg9qo2SQ0Om1LQX9Hww+kw8Rifou5y/F/HevXolxk4u8PvcUkLSn6FWXwF0PbFGYco2zbQdBFE6VZ1M7JbEb9KZqMSO0iw5KNuZUGvnCEnZOCG+hEsJ6TWKZa0SQJLniZQY2k6+XWPad4PvGIVHF/Xae8p+MMlq+5MzTUUb0pC3fvoAHavJuZTAN3FpMeG10EqLxGRb5I1NcIc3jZfUyQEEG3VLJNv6dHsSG+DtHn+HvThd0x2Wpe+0iZcIpN2k2MIRztA3yxO0khVg3josYWtRyM4QJyFfmWzxd7zF0ayoYLxk5Y7iq+r3cWPwFtFV73
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8274.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(23010399003)(1800799024)(56012099006)(11063799006)(6133799003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?BuCjxFr7fgV+0H4RC1dBta0GXg2nSsNbrOuIwH4bsoly0LzePrFY4eskC9mM?=
 =?us-ascii?Q?UqfKxUDhA8PivM0JLb0rcNQJ3gRV3xg3Uug05sreyPVZYK6PEDW99modL9dT?=
 =?us-ascii?Q?E1wY4chDljSg6PzYbJCf20vnkaozE+vArfy5UIJWyBR43Wq0twKHZHDsI24F?=
 =?us-ascii?Q?Lov2jN2VLK0nWgCZjrXCJnwDMHGZOxJnJXD+pDwJ8XXX7LqPUBrMfz98BAyR?=
 =?us-ascii?Q?0K7JnG72HtkE5vQpoQQZRh6TiF7MVzs+MYo/MMOHRCEhc4Arg4MJN0NayGJe?=
 =?us-ascii?Q?L03s6qo66WpVwQXDjzI3WPuTWJMjqCEu9uoBv5E3o3AyZi9dnCh9StibAj6i?=
 =?us-ascii?Q?gt1458S7MbB2mkFBzuWQJd2LLRaQRbm5HoSmZqkId5gHMLV1cNgj8ph8wLmN?=
 =?us-ascii?Q?R+7x2yH1CGPAeyEM/JalbaKwhn5nbZjGyJ67Y27riVShbr4DZ8Cyh5YosS0R?=
 =?us-ascii?Q?1YwZBQkgbWAF+uuUwv75N2QQ7qTpLvYGsygHA2a2TiQFdvZuLrOXIKUsBPxz?=
 =?us-ascii?Q?yl76TiAo4PBVLCLRaK9JTf/2Vuv0Nessbk4P8bgw4aWwXayH//6iraBkiaH8?=
 =?us-ascii?Q?giPCA3tr8nGqXQ46iPhYm6+fhreffsohDC47Ahe4xjcv/+aYPUSjQPX1D2FP?=
 =?us-ascii?Q?MWiNajSJiUVCNT0pib9zrIqdJDYMOtyEaFBMtoh+Y+U2vJ3YkmFg5QDA9BV9?=
 =?us-ascii?Q?c0AN7d/xBR4vA5emoGRPO9SOnejI3ZPlJoBsnGth0Ux8DysHl1MHLnINVo8V?=
 =?us-ascii?Q?Z4hyxeUtRX39bHjL+7HIZOwiqPDYfwTrzcqi2+gn0IUIUFPf1N6oSnYEbOc/?=
 =?us-ascii?Q?QEkqyjclp0L1ZHeh+ZWqsIQeYG3ZZgWL4WRJvokJsTJ4w24acvOkrfGgA5Ah?=
 =?us-ascii?Q?G/LjqhUOk4YtkO8GeOXj58dDLQ9py1iBCuRFPaPD+WsT4iuyqTGFD5Xu4B8Z?=
 =?us-ascii?Q?4gZpgDnMCCRVYdvglMHiDVU2MKXPdJlelmIhCy7wziX19h3L88y2ED/NcutU?=
 =?us-ascii?Q?dygB2Ew4wttTB3EfLIQeLhVtQTrsY4Yflv/Q2ZND8hN9obwjUA2sffwEHu05?=
 =?us-ascii?Q?w7mveJWP8bR4cVqhp+OLa8m+uXPUMHXyAzBPtHs8kWv+rIJ87+q5SY6qmlnd?=
 =?us-ascii?Q?9/4CYhp0kmEka5uhE3nGPxHA/fBGsPO08sgaC+2z2jGbM58Z4LB9JM5ku+do?=
 =?us-ascii?Q?gkemJdk4BUc0xpFG5cLvrd3n/q1dF9219fgJhFn1WQU53irFREBUNTeNF2Ih?=
 =?us-ascii?Q?Oxf0WtIYAsGP4cVQqwDmO1xriM9DhIb5AfdbYtLjb7CMq++pMViDAF6pXkDE?=
 =?us-ascii?Q?oiCAlTaOCclyEBJFIia8o0umhNE3905pu3KC/108TrsDcn903syzGk567OhS?=
 =?us-ascii?Q?QYo1N5nZOTBN6SypeHfvEur+NrdG7Rn4W9NZqQqlLC+FcF8z4p1sgv3CgSSV?=
 =?us-ascii?Q?WnEvhEeihjPzkrObE8wKaMIujGCvv58bl9XxAAlI7Mq8Nr2Bt4D8/oh3wFOm?=
 =?us-ascii?Q?UQIeG3GkpwTkGipmV5YJ3qAyyOm71ttcAuqV4m3YWtsRi+tGOf070qWYFtKb?=
 =?us-ascii?Q?+6HJ0z4MCz+PKiyc4jFQJnPCakBEZ8b1OKQhYPVYgyFb9QOoJ6b1/G2I6FkC?=
 =?us-ascii?Q?BlnN3kKyFcwSpiNnD7wRcJ5JPGg7h2HkjELe2JJfsV6sxz9ZZD5rdzhcefMJ?=
 =?us-ascii?Q?ezQON1q6yhMuyKGyLujOqnYUeUG6YT6OLiOFmuIAiTXAS1Amp/LhYypHrOD7?=
 =?us-ascii?Q?OpozYL55bwS2wV1sKrzClhkdIqf5KlQ=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3cfae294-543b-414f-ffea-08decba7562c
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8274.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 13:01:09.9674
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eyvWyZHwhvn5t7cJdW8itfJu8fMv4FbUya3nDgzFqMxexPGSiI0zHr2DGhqgidIeS/76hMPjXT1XdS0j/p0SZjCzJpcPtJEVOJnAxqYtV5E=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5131
X-purgate-ID: tlsNG-d62444/1781614875-B4173FF4-B79AE6EB/0/0
X-purgate-type: clean
X-purgate-size: 2217

The recent changes to remove lazy FPU support mean that
vcpu_{save,restore}_fpu perform the action unconditionally. This trips
the assert when calling these functions from an idle vCPU as might
happen when calling an EFI runtime function. There is no need to
save/restore the FPU in that case so skip the calls if using the idle
vCPU.

Fixes: dba44e051209 ("x86: Remove fully_eager_fpu")
Fixes: 4b9851c64522 ("x86: Remove fpu_initialised/fpu_dirty")
Reported-by: Anthony PERARD <anthony.perard@vates.tech>
Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
---

Anythony, can you check if this fixes boot on your machine?

 xen/common/efi/runtime.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
index a23fa75e3740..7713676ce288 100644
--- a/xen/common/efi/runtime.c
+++ b/xen/common/efi/runtime.c
@@ -88,6 +88,7 @@ struct efi_rs_state efi_rs_enter(void)
     static const u16 fcw = FCW_DEFAULT;
     static const u32 mxcsr = MXCSR_DEFAULT;
     struct efi_rs_state state = { .cr3 = 0 };
+    struct vcpu *curr = current;
 
     if ( mfn_eq(efi_l4_mfn, INVALID_MFN) )
         return state;
@@ -98,7 +99,8 @@ struct efi_rs_state efi_rs_enter(void)
      */
     sync_local_execstate();
     state.cr3 = read_cr3();
-    vcpu_save_fpu(current);
+    if ( !is_idle_vcpu(curr) )
+        vcpu_save_fpu(curr);
     asm volatile ( "fnclex; fldcw %0" :: "m" (fcw) );
     asm volatile ( "ldmxcsr %0" :: "m" (mxcsr) );
 
@@ -107,7 +109,7 @@ struct efi_rs_state efi_rs_enter(void)
     /* prevent fixup_page_fault() from doing anything */
     irq_enter();
 
-    if ( is_pv_vcpu(current) && !is_idle_vcpu(current) )
+    if ( is_pv_vcpu(curr) && !is_idle_vcpu(curr) )
     {
         struct desc_ptr gdt_desc = {
             .limit = LAST_RESERVED_GDT_BYTE,
@@ -159,7 +161,8 @@ void efi_rs_leave(struct efi_rs_state *state)
     }
     irq_exit();
     spin_unlock(&efi_rs_lock);
-    vcpu_restore_fpu(curr);
+    if ( !is_idle_vcpu(curr) )
+        vcpu_restore_fpu(curr);
 }
 
 unsigned long efi_get_time(void)
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 13:13:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 13:13:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339209.1600351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZTbs-00044P-Mb; Tue, 16 Jun 2026 13:13:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339209.1600351; Tue, 16 Jun 2026 13: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 1wZTbs-00044I-JQ; Tue, 16 Jun 2026 13:13:44 +0000
Received: by outflank-mailman (input) for mailman id 1339209;
 Tue, 16 Jun 2026 13:13:43 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ed090d962000701b@swg.vates.tech>)
 id 1wZTbr-000449-6B
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 13:13:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZTbo-009mKH-JC
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 15:13:40 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ed090d962000701b@swg.vates.tech>)
 id 6a314bf8-2eae-0a2a0a5409dd-0a2a450ab1ae-40
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:13:40 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ed090d962000701b@swg.vates.tech>)
 id 6a314c04-56b3-0a2a450a0019-b9ff1c128dff-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:13:40 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ed090d962000701b.006 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 16 Jun 2026 13:13:34 +0000
Received: from l14 (unknown [82.67.99.167])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id 635E186612;
 Tue, 16 Jun 2026 15:13:33 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=lHjnONhLZ7/N5nEDvFV1t6wVE6529YBjDA4ZtoqfPJg=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=FFZCR0fEYZbcVZdKMP+ZadtZC3Vuhy11mxQr5o8xuNCgOsvL9yvu8A9/TgqUTfo6PIc4lYqIS
 K8IuAOPmT7gJ8vAMEDCdkjt1v6517XZzgOw1XY/GzulgMjNl+h3qIlrwfZZR7EtrZaXx5XfqPRb
 cSMHG8b7fpPB3n2MzDJ9pIcvLmc/8HiU4TxcrJUXxNYRFsdmvkNrZBvjVzZVfmJlamV2tojHSo0
 xEeROpMqbR459z5o3/pfQFTczthuCia3e2e3aOrZmaj3MZ4lvt8zTjMtusXECHCmkQYe4wBCIV3
 2qFIgk5vPLl5PLIuRXfqP85ArqhJL5CZc7uDhsW1mqDQ==
X-Zone-Loop: be56240962f4472a80d9a6a7fd53f6b57f12d7b0b2ec
x-campaign-type: default
x-transaction-id: 3b3fdf65-d2b1-45d7-8d73-053648861cf4
x-swg-uid: 01-0549f3e4-6441-49b6-a0d4-e1dff4eb7c66
X-Mailer: Sweego
Message-ID:
 <1781615614.8631fc262581453bbf619ec5b2062170.19ed090d962000701b@vates.tech>
x-swg-bid: 1781615614.8631fc262581453bbf619ec5b2062170.19ed090d962000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Tue, 16 Jun 2026 15:13:33 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Cody Zuschlag <cody.zuschlag@gmail.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v4] docs/process: document AI-assisted patch tags
References: <20260615184348.7804-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20260615184348.7804-1-andrew.cooper3@citrix.com>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.40d.c2cd2248685de495.19ed090d6a9.e1928066546776e1=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781615613609
X-purgate-ID: tlsNG-4011c0/1781615620-71D688B7-566DAD15/0/0
X-purgate-type: clean
X-purgate-size: 882

---=Part.40d.c2cd2248685de495.19ed090d6a9.e1928066546776e1=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Mon, Jun 15, 2026 at 07:43:48PM +0100, Andrew Cooper wrote:
> From: Cody Zuschlag <cody=2Ezuschlag@gmail=2Ecom>
>=20
> Add documentation for the Assisted-by tag to clarify how
> AI-assisted tooling may be disclosed in Xen patches=2E
>=20
> The guidance follows the Linux kernel documentation=2E
>=20
> Assisted-by: ChatGPT:gpt-5=2E5
> Signed-off-by: Cody Zuschlag <cody=2Ezuschlag@gmail=2Ecom>
> Signed-off-by: Andrew Cooper <andrew=2Ecooper3@citrix=2Ecom>

Acked-by: Anthony PERARD <anthony=2Eperard@vates=2Etech>

Thanks,


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vate=
s solutions

web: https://vates=2Etech
---=Part.40d.c2cd2248685de495.19ed090d6a9.e1928066546776e1=---


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 13:18:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 13:18:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339217.1600360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZTgE-0004q5-5q; Tue, 16 Jun 2026 13:18:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339217.1600360; Tue, 16 Jun 2026 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 1wZTgE-0004py-2x; Tue, 16 Jun 2026 13:18:14 +0000
Received: by outflank-mailman (input) for mailman id 1339217;
 Tue, 16 Jun 2026 13:18:12 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ed0950324000701b@swg.vates.tech>)
 id 1wZTgB-0004pr-IQ
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 13:18:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZTgA-003spM-VN
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 15:18:10 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ed0950324000701b@swg.vates.tech>)
 id 6a314d0a-5cb7-0a2a0a5109dd-0a2a4509cf88-36
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:18:10 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ed0950324000701b@swg.vates.tech>)
 id 6a314d12-2497-0a2a45090019-b9ff1c12b57b-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:18:10 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ed0950324000701b.004 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 16 Jun 2026 13:18:07 +0000
Received: from [192.168.1.18] (88-188-240-210.subs.proxad.net [88.188.240.210])
 (Authenticated sender: teddy.astie)
 by mail2.vates.fr (Postfix) with ESMTPSA id 60FF486020;
 Tue, 16 Jun 2026 15:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=xN1VW5t1L2pPZeEA4IpMCrfEe9RUP1owd3LPXnC1ykU=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=ZsS7jBvx3hWxoRFoQ0gIs2G/6GtqFPMtwdJ1jWvCyBtg+QxiG2KNBCKyd751kSsND4PznVDAz
 sNyP/IjY345MqEKDF3M11k8DPTwuBHdieG7xBlBUBShJ/jBf6gNpTbsB2PTP8xZmLi5IA3RZTWz
 Tcd2EDWUb+C/mYYSUaIgUWR+Mj+04yQ1wJOU9uxfkXK+LzF5wFMtoqy8pXfisvzTk8JW4Bwurag
 XUGNO/TBYpVV5x+6HE+CrRot4O2i+6riZIh/h6pwGVPnIKBDVkxk068qALoISeti8X0A3UbbNZZ
 d5qrDIh1hC/jxut8WvvjUKcWdaRiRJmQg82PkrjbkwSw==
X-Zone-Loop: 6c97fcd2f2dc644ea5c61a530f28a5fde278af0d8a31
x-campaign-type: default
x-transaction-id: c625d8f4-8c41-4fb0-b0f1-366da5a65c29
x-swg-uid: 01-ed072440-bc9f-455c-86f0-1b5750ef6840
X-Mailer: Sweego
Message-ID:
 <1781615887.8631fc262581453bbf619ec5b2062170.19ed0950324000701b@vates.tech>
x-swg-bid: 1781615887.8631fc262581453bbf619ec5b2062170.19ed0950324000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Tue, 16 Jun 2026 15:18:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] efi: Skip FPU save / restore if using idle vCPU
To: Ross Lagerwall <ross.lagerwall@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>,
 Anthony PERARD <anthony.perard@vates.tech>
References: <20260616130051.3359801-1-ross.lagerwall@citrix.com>
Content-Language: en-US
From: Teddy Astie <teddy.astie@vates.tech>
Autocrypt: addr=teddy.astie@vates.tech; keydata=
 xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7LTBVHV/XO
 Zw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJT4ny+OGntnJntUoR
 KRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJAWicutjkkUgd28Bh6HV9EIumH
 tCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaT
 VqMdqul07o72m3eA2mf+LMu9a04FX/d4wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/
 EoucejoZ5SH49ksmVAmKOLktOaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+S
 PhHar7TPKjFz0G3DPNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89
 MXfQXZ3qt1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
 LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWjmoACGwME
 CwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNzuyOVCskwfUZPla6Z
 pd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp0x0HfuhcYfAYPR46XHTvjaJE
 v99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuROxdK8G+YHccJY8PvWSq2K2yiae2KGiAv
 1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhP
 eP3IdpfWc8cyRLXF06Rk46YMYCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcT
 UwgnYlFRk2FLq0QeKEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9
 Egr/Wmu3MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
 f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEMAKiQiZa3
 yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ3DbVf+en3/FvdVZg
 2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTmetSG5/52AjtmPFtlXAk0NmLv
 fJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0s3109sJeXT5ImVdphFs9cvyZyBT9t1Pb
 Rowv58EgV0zE4hbAeVkULAbxFV5b/ExTjjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKb
 Yu6NCfiHfEyB3Xyg9hfdrRgjMRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ov
 XoK4jm+Py0FiUGUaA6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/
 eVtR2Q1wZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
 IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWjmoACGwwA
 CgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiVoUiHYN5QwhnbZnsa
 JDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764QxyX6rld2f2RcWkDuBHun55ZWXj
 by8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk/dS0XTOQi2wVUb17sW/+ybCEokdVacZG
 zOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fuoGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+
 lOWSvdNHgoEkWR0RXBPQjnGmLKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/Off
 O485NOTKwGOxyWb006cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR
 8ULR9nX0LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
 x9fhaZEsniw8/bYgC3igkk5YJiOa
In-Reply-To: <20260616130051.3359801-1-ross.lagerwall@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------6YUkAkzRm3QABjkgQSZTp6he"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781615886536
X-purgate-ID: tlsNG-bad1c0/1781615890-36D77A53-6D600D95/0/0
X-purgate-type: clean
X-purgate-size: 8254

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------6YUkAkzRm3QABjkgQSZTp6he
Content-Type: multipart/mixed; boundary="------------3MXlkGP3kv0UftxvSE20h7CV";
 protected-headers="v1"
From: Teddy Astie <teddy.astie@vates.tech>
To: Ross Lagerwall <ross.lagerwall@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>,
 Anthony PERARD <anthony.perard@vates.tech>
Message-ID: <6484c11f-77ef-478e-adb9-5695044fcc84@vates.tech>
Subject: Re: [PATCH] efi: Skip FPU save / restore if using idle vCPU
References: <20260616130051.3359801-1-ross.lagerwall@citrix.com>
In-Reply-To: <20260616130051.3359801-1-ross.lagerwall@citrix.com>

--------------3MXlkGP3kv0UftxvSE20h7CV
Content-Type: multipart/mixed; boundary="------------0L4v2nEp9R2Vtj5bhMEWM0ip"

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

TGUgMTYvMDYvMjAyNiDDoCAxNTowNCwgUm9zcyBMYWdlcndhbGwgYSDDqWNyaXTCoDoNCj4g
VGhlIHJlY2VudCBjaGFuZ2VzIHRvIHJlbW92ZSBsYXp5IEZQVSBzdXBwb3J0IG1lYW4gdGhh
dA0KPiB2Y3B1X3tzYXZlLHJlc3RvcmV9X2ZwdSBwZXJmb3JtIHRoZSBhY3Rpb24gdW5jb25k
aXRpb25hbGx5LiBUaGlzIHRyaXBzDQo+IHRoZSBhc3NlcnQgd2hlbiBjYWxsaW5nIHRoZXNl
IGZ1bmN0aW9ucyBmcm9tIGFuIGlkbGUgdkNQVSBhcyBtaWdodA0KPiBoYXBwZW4gd2hlbiBj
YWxsaW5nIGFuIEVGSSBydW50aW1lIGZ1bmN0aW9uLiBUaGVyZSBpcyBubyBuZWVkIHRvDQo+
IHNhdmUvcmVzdG9yZSB0aGUgRlBVIGluIHRoYXQgY2FzZSBzbyBza2lwIHRoZSBjYWxscyBp
ZiB1c2luZyB0aGUgaWRsZQ0KPiB2Q1BVLg0KPiANCj4gRml4ZXM6IGRiYTQ0ZTA1MTIwOSAo
Ing4NjogUmVtb3ZlIGZ1bGx5X2VhZ2VyX2ZwdSIpDQo+IEZpeGVzOiA0Yjk4NTFjNjQ1MjIg
KCJ4ODY6IFJlbW92ZSBmcHVfaW5pdGlhbGlzZWQvZnB1X2RpcnR5IikNCj4gUmVwb3J0ZWQt
Ynk6IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEB2YXRlcy50ZWNoPg0KPiBTdWdn
ZXN0ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2lnbmVkLW9m
Zi1ieTogUm9zcyBMYWdlcndhbGwgPHJvc3MubGFnZXJ3YWxsQGNpdHJpeC5jb20+DQo+IC0t
LQ0KPiANCj4gQW55dGhvbnksIGNhbiB5b3UgY2hlY2sgaWYgdGhpcyBmaXhlcyBib290IG9u
IHlvdXIgbWFjaGluZT8NCj4gDQo+ICAgeGVuL2NvbW1vbi9lZmkvcnVudGltZS5jIHwgOSAr
KysrKystLS0NCj4gICAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAzIGRlbGV0
aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZWZpL3J1bnRpbWUuYyBi
L3hlbi9jb21tb24vZWZpL3J1bnRpbWUuYw0KPiBpbmRleCBhMjNmYTc1ZTM3NDAuLjc3MTM2
NzZjZTI4OCAxMDA2NDQNCj4gLS0tIGEveGVuL2NvbW1vbi9lZmkvcnVudGltZS5jDQo+ICsr
KyBiL3hlbi9jb21tb24vZWZpL3J1bnRpbWUuYw0KPiBAQCAtODgsNiArODgsNyBAQCBzdHJ1
Y3QgZWZpX3JzX3N0YXRlIGVmaV9yc19lbnRlcih2b2lkKQ0KPiAgICAgICBzdGF0aWMgY29u
c3QgdTE2IGZjdyA9IEZDV19ERUZBVUxUOw0KPiAgICAgICBzdGF0aWMgY29uc3QgdTMyIG14
Y3NyID0gTVhDU1JfREVGQVVMVDsNCj4gICAgICAgc3RydWN0IGVmaV9yc19zdGF0ZSBzdGF0
ZSA9IHsgLmNyMyA9IDAgfTsNCj4gKyAgICBzdHJ1Y3QgdmNwdSAqY3VyciA9IGN1cnJlbnQ7
DQo+ICAgDQo+ICAgICAgIGlmICggbWZuX2VxKGVmaV9sNF9tZm4sIElOVkFMSURfTUZOKSAp
DQo+ICAgICAgICAgICByZXR1cm4gc3RhdGU7DQo+IEBAIC05OCw3ICs5OSw4IEBAIHN0cnVj
dCBlZmlfcnNfc3RhdGUgZWZpX3JzX2VudGVyKHZvaWQpDQo+ICAgICAgICAqLw0KPiAgICAg
ICBzeW5jX2xvY2FsX2V4ZWNzdGF0ZSgpOw0KPiAgICAgICBzdGF0ZS5jcjMgPSByZWFkX2Ny
MygpOw0KPiAtICAgIHZjcHVfc2F2ZV9mcHUoY3VycmVudCk7DQo+ICsgICAgaWYgKCAhaXNf
aWRsZV92Y3B1KGN1cnIpICkNCj4gKyAgICAgICAgdmNwdV9zYXZlX2ZwdShjdXJyKTsNCj4g
ICAgICAgYXNtIHZvbGF0aWxlICggImZuY2xleDsgZmxkY3cgJTAiIDo6ICJtIiAoZmN3KSAp
Ow0KPiAgICAgICBhc20gdm9sYXRpbGUgKCAibGRteGNzciAlMCIgOjogIm0iIChteGNzcikg
KTsNCj4gICANCj4gQEAgLTEwNyw3ICsxMDksNyBAQCBzdHJ1Y3QgZWZpX3JzX3N0YXRlIGVm
aV9yc19lbnRlcih2b2lkKQ0KPiAgICAgICAvKiBwcmV2ZW50IGZpeHVwX3BhZ2VfZmF1bHQo
KSBmcm9tIGRvaW5nIGFueXRoaW5nICovDQo+ICAgICAgIGlycV9lbnRlcigpOw0KPiAgIA0K
PiAtICAgIGlmICggaXNfcHZfdmNwdShjdXJyZW50KSAmJiAhaXNfaWRsZV92Y3B1KGN1cnJl
bnQpICkNCj4gKyAgICBpZiAoIGlzX3B2X3ZjcHUoY3VycikgJiYgIWlzX2lkbGVfdmNwdShj
dXJyKSApDQo+ICAgICAgIHsNCj4gICAgICAgICAgIHN0cnVjdCBkZXNjX3B0ciBnZHRfZGVz
YyA9IHsNCj4gICAgICAgICAgICAgICAubGltaXQgPSBMQVNUX1JFU0VSVkVEX0dEVF9CWVRF
LA0KPiBAQCAtMTU5LDcgKzE2MSw4IEBAIHZvaWQgZWZpX3JzX2xlYXZlKHN0cnVjdCBlZmlf
cnNfc3RhdGUgKnN0YXRlKQ0KPiAgICAgICB9DQo+ICAgICAgIGlycV9leGl0KCk7DQo+ICAg
ICAgIHNwaW5fdW5sb2NrKCZlZmlfcnNfbG9jayk7DQo+IC0gICAgdmNwdV9yZXN0b3JlX2Zw
dShjdXJyKTsNCj4gKyAgICBpZiAoICFpc19pZGxlX3ZjcHUoY3VycikgKQ0KPiArICAgICAg
ICB2Y3B1X3Jlc3RvcmVfZnB1KGN1cnIpOw0KPiAgIH0NCj4gICANCj4gICB1bnNpZ25lZCBs
b25nIGVmaV9nZXRfdGltZSh2b2lkKQ0KDQpSZXZpZXdlZC1ieTogVGVkZHkgQXN0aWUgPHRl
ZGR5LmFzdGllQHZhdGVzLnRlY2g+DQoNClRlZGR5DQo=
--------------0L4v2nEp9R2Vtj5bhMEWM0ip
Content-Type: application/pgp-keys; name="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Disposition: attachment; filename="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7L
TBVHV/XOZw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJ
T4ny+OGntnJntUoRKRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJA
WicutjkkUgd28Bh6HV9EIumHtCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO
8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaTVqMdqul07o72m3eA2mf+LMu9a04FX/d4
wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/EoucejoZ5SH49ksmVAmKOLkt
OaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+SPhHar7TPKjFz0G3D
PNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89MXfQXZ3q
t1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWj
moACGwMECwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNz
uyOVCskwfUZPla6Zpd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp
0x0HfuhcYfAYPR46XHTvjaJEv99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuR
OxdK8G+YHccJY8PvWSq2K2yiae2KGiAv1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50
wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhPeP3IdpfWc8cyRLXF06Rk46YM
YCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcTUwgnYlFRk2FLq0Qe
KEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9Egr/Wmu3
MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEM
AKiQiZa3yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ
3DbVf+en3/FvdVZg2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTm
etSG5/52AjtmPFtlXAk0NmLvfJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0
s3109sJeXT5ImVdphFs9cvyZyBT9t1PbRowv58EgV0zE4hbAeVkULAbxFV5b/ExT
jjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKbYu6NCfiHfEyB3Xyg9hfdrRgj
MRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ovXoK4jm+Py0FiUGUa
A6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/eVtR2Q1w
ZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWj
moACGwwACgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiV
oUiHYN5QwhnbZnsaJDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764Qxy
X6rld2f2RcWkDuBHun55ZWXjby8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk
/dS0XTOQi2wVUb17sW/+ybCEokdVacZGzOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fu
oGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+lOWSvdNHgoEkWR0RXBPQjnGm
LKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/OffO485NOTKwGOxyWb0
06cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR8ULR9nX0
LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
x9fhaZEsniw8/bYgC3igkk5YJiOa
=3DlUIA
-----END PGP PUBLIC KEY BLOCK-----

--------------0L4v2nEp9R2Vtj5bhMEWM0ip--

--------------3MXlkGP3kv0UftxvSE20h7CV--

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

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

wsD5BAABCAAjFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmoxTQ4FAwAAAAAACgkQZg+p0QLLz9CD
Xwv/crGQ4qdWCITdzDgf8YvspoqSD9FdnLrZFODgWAJ35l0fhMDUIj0o45BsZm+zUYDoM7qaNcxi
daQ2dTLG4o+17t4z0/QG1hTxA4/L37ckQmC0CYJavs8EeL4ia26O//XV9T9ADju4ye8u1L5Ib0Jj
dOYDvGYoZCyStXXC56NaH9OAw6GLGY02VjzNHNd1Yxy3uptcwPRfotr0vYBENdduOLo0nkNU3EEA
jqUXorSwXT3VvW4YxEufcEfulElOnIA18mOfVARoB7apRCHI0xCz68B0VFCOR2IxeW8t7+JV+Vcu
MovQAYJ4oLrEUe6T8eIo+ipvlrWj48TaqL8Q2nVwM2h9m1o0se5O59G8fjG8rdfc8xvVh2CgL5RB
wHjB90nNizRuiMhSfaifkuBUNta/5+ZST33OgV2BHmNNfNzUfN8dW9PuU7PjISGXsgpZsg9Gy8z2
FlOqmIHw9q9bqR6ag4ReJYre6YSnCqv+WlQRTiTYHpRIulZVhZTLpzz0YyRx
=xVIP
-----END PGP SIGNATURE-----

--------------6YUkAkzRm3QABjkgQSZTp6he--


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 13:21:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 13:21:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339224.1600368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZTjY-0006YN-P4; Tue, 16 Jun 2026 13:21:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339224.1600368; Tue, 16 Jun 2026 13: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 1wZTjY-0006YG-MJ; Tue, 16 Jun 2026 13:21:40 +0000
Received: by outflank-mailman (input) for mailman id 1339224;
 Tue, 16 Jun 2026 13:21:40 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ed098307b000701b@swg.vates.tech>)
 id 1wZTjX-0006YA-Tn
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 13:21:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZTjX-009o4X-80
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 15:21:39 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ed098307b000701b@swg.vates.tech>)
 id 6a314de1-e002-0a2a0a5209dd-0a2a4509b966-6
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:21:39 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ed098307b000701b@swg.vates.tech>)
 id 6a314de1-2497-0a2a45090019-b9ff1c12aabd-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:21:38 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ed098307b000701b.004 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 16 Jun 2026 13:21:35 +0000
Received: from [192.168.1.18] (88-188-240-210.subs.proxad.net [88.188.240.210])
 (Authenticated sender: teddy.astie)
 by mail2.vates.fr (Postfix) with ESMTPSA id ADBC6827EE;
 Tue, 16 Jun 2026 15:21:34 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=LRluw8pI1Zf/ZMocnAj7bXojbaFAIQ+LoCOK1od93AQ=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=m0AVKKRMSST7qk4S1oYcY7psQTBAyGb0giqwlkBmi/SVl+1O70izY4ORnbNKNtI72AwL05S4V
 GIA+XZzK2V9aHaxuuoztdvqtlo1bHv1n2DWk84xZUkObklGNg2gwk8QrK1hvjCJJoUzDEYdMPpm
 x6EsYMlPQx+h4cpFCqlRFZNciIdecWoizVGmdShYFyzOFkop+ETcftj3FrjiYvlAiGgqzs9QOSc
 gX/Hay9X1oa/jw7zfoB/MLb9Kgg8Sadk1M+axFB2KqEBawiJLaE5GGlFCC/uorvfQyD+ny267dk
 fErUe0Kv7m/yz3GWTdg1KwCZFwFH0q9FwK0I6GEfyTsw==
X-Zone-Loop: 20b6c8c83b9ec19215e5834dce1f198a30a61500359b
x-campaign-type: default
x-transaction-id: 88f5f740-ad36-4b97-a1b3-7d5d611fb030
x-swg-uid: 01-45dd4d56-1505-4044-a0cf-2d4f46c567f0
X-Mailer: Sweego
Message-ID:
 <1781616095.8631fc262581453bbf619ec5b2062170.19ed098307b000701b@vates.tech>
x-swg-bid: 1781616095.8631fc262581453bbf619ec5b2062170.19ed098307b000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Tue, 16 Jun 2026 15:21:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] efi: Skip FPU save / restore if using idle vCPU
To: Ross Lagerwall <ross.lagerwall@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>,
 Anthony PERARD <anthony.perard@vates.tech>
References: <20260616130051.3359801-1-ross.lagerwall@citrix.com>
Content-Language: en-US
From: Teddy Astie <teddy.astie@vates.tech>
Autocrypt: addr=teddy.astie@vates.tech; keydata=
 xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7LTBVHV/XO
 Zw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJT4ny+OGntnJntUoR
 KRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJAWicutjkkUgd28Bh6HV9EIumH
 tCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaT
 VqMdqul07o72m3eA2mf+LMu9a04FX/d4wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/
 EoucejoZ5SH49ksmVAmKOLktOaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+S
 PhHar7TPKjFz0G3DPNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89
 MXfQXZ3qt1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
 LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWjmoACGwME
 CwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNzuyOVCskwfUZPla6Z
 pd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp0x0HfuhcYfAYPR46XHTvjaJE
 v99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuROxdK8G+YHccJY8PvWSq2K2yiae2KGiAv
 1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhP
 eP3IdpfWc8cyRLXF06Rk46YMYCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcT
 UwgnYlFRk2FLq0QeKEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9
 Egr/Wmu3MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
 f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEMAKiQiZa3
 yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ3DbVf+en3/FvdVZg
 2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTmetSG5/52AjtmPFtlXAk0NmLv
 fJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0s3109sJeXT5ImVdphFs9cvyZyBT9t1Pb
 Rowv58EgV0zE4hbAeVkULAbxFV5b/ExTjjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKb
 Yu6NCfiHfEyB3Xyg9hfdrRgjMRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ov
 XoK4jm+Py0FiUGUaA6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/
 eVtR2Q1wZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
 IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWjmoACGwwA
 CgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiVoUiHYN5QwhnbZnsa
 JDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764QxyX6rld2f2RcWkDuBHun55ZWXj
 by8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk/dS0XTOQi2wVUb17sW/+ybCEokdVacZG
 zOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fuoGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+
 lOWSvdNHgoEkWR0RXBPQjnGmLKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/Off
 O485NOTKwGOxyWb006cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR
 8ULR9nX0LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
 x9fhaZEsniw8/bYgC3igkk5YJiOa
In-Reply-To: <20260616130051.3359801-1-ross.lagerwall@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------MEZonOuga6keau1ry3DCTXED"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781616094846
X-purgate-ID: tlsNG-bad1c0/1781616098-3777AA53-3F7E1044/0/0
X-purgate-type: clean
X-purgate-size: 8436

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------MEZonOuga6keau1ry3DCTXED
Content-Type: multipart/mixed; boundary="------------R0UOEbOo8ye6aj12jliUzS28";
 protected-headers="v1"
From: Teddy Astie <teddy.astie@vates.tech>
To: Ross Lagerwall <ross.lagerwall@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>,
 Anthony PERARD <anthony.perard@vates.tech>
Message-ID: <b9d258cd-c374-4c03-a015-a86f3f9c3eb2@vates.tech>
Subject: Re: [PATCH] efi: Skip FPU save / restore if using idle vCPU
References: <20260616130051.3359801-1-ross.lagerwall@citrix.com>
In-Reply-To: <20260616130051.3359801-1-ross.lagerwall@citrix.com>

--------------R0UOEbOo8ye6aj12jliUzS28
Content-Type: multipart/mixed; boundary="------------EbfhEXrPrJ7GnHlbKsnN0AYt"

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

TGUgMTYvMDYvMjAyNiDDoCAxNTowNCwgUm9zcyBMYWdlcndhbGwgYSDDqWNyaXTCoDoNCj4g
VGhlIHJlY2VudCBjaGFuZ2VzIHRvIHJlbW92ZSBsYXp5IEZQVSBzdXBwb3J0IG1lYW4gdGhh
dA0KPiB2Y3B1X3tzYXZlLHJlc3RvcmV9X2ZwdSBwZXJmb3JtIHRoZSBhY3Rpb24gdW5jb25k
aXRpb25hbGx5LiBUaGlzIHRyaXBzDQo+IHRoZSBhc3NlcnQgd2hlbiBjYWxsaW5nIHRoZXNl
IGZ1bmN0aW9ucyBmcm9tIGFuIGlkbGUgdkNQVSBhcyBtaWdodA0KPiBoYXBwZW4gd2hlbiBj
YWxsaW5nIGFuIEVGSSBydW50aW1lIGZ1bmN0aW9uLiBUaGVyZSBpcyBubyBuZWVkIHRvDQo+
IHNhdmUvcmVzdG9yZSB0aGUgRlBVIGluIHRoYXQgY2FzZSBzbyBza2lwIHRoZSBjYWxscyBp
ZiB1c2luZyB0aGUgaWRsZQ0KPiB2Q1BVLg0KPiANCj4gRml4ZXM6IGRiYTQ0ZTA1MTIwOSAo
Ing4NjogUmVtb3ZlIGZ1bGx5X2VhZ2VyX2ZwdSIpDQo+IEZpeGVzOiA0Yjk4NTFjNjQ1MjIg
KCJ4ODY6IFJlbW92ZSBmcHVfaW5pdGlhbGlzZWQvZnB1X2RpcnR5IikNCj4gUmVwb3J0ZWQt
Ynk6IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEB2YXRlcy50ZWNoPg0KPiBTdWdn
ZXN0ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2lnbmVkLW9m
Zi1ieTogUm9zcyBMYWdlcndhbGwgPHJvc3MubGFnZXJ3YWxsQGNpdHJpeC5jb20+DQo+IC0t
LQ0KPiANCj4gQW55dGhvbnksIGNhbiB5b3UgY2hlY2sgaWYgdGhpcyBmaXhlcyBib290IG9u
IHlvdXIgbWFjaGluZT8NCj4gDQo+ICAgeGVuL2NvbW1vbi9lZmkvcnVudGltZS5jIHwgOSAr
KysrKystLS0NCj4gICAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAzIGRlbGV0
aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZWZpL3J1bnRpbWUuYyBi
L3hlbi9jb21tb24vZWZpL3J1bnRpbWUuYw0KPiBpbmRleCBhMjNmYTc1ZTM3NDAuLjc3MTM2
NzZjZTI4OCAxMDA2NDQNCj4gLS0tIGEveGVuL2NvbW1vbi9lZmkvcnVudGltZS5jDQo+ICsr
KyBiL3hlbi9jb21tb24vZWZpL3J1bnRpbWUuYw0KPiBAQCAtODgsNiArODgsNyBAQCBzdHJ1
Y3QgZWZpX3JzX3N0YXRlIGVmaV9yc19lbnRlcih2b2lkKQ0KPiAgICAgICBzdGF0aWMgY29u
c3QgdTE2IGZjdyA9IEZDV19ERUZBVUxUOw0KPiAgICAgICBzdGF0aWMgY29uc3QgdTMyIG14
Y3NyID0gTVhDU1JfREVGQVVMVDsNCj4gICAgICAgc3RydWN0IGVmaV9yc19zdGF0ZSBzdGF0
ZSA9IHsgLmNyMyA9IDAgfTsNCj4gKyAgICBzdHJ1Y3QgdmNwdSAqY3VyciA9IGN1cnJlbnQ7
DQo+ICAgDQo+ICAgICAgIGlmICggbWZuX2VxKGVmaV9sNF9tZm4sIElOVkFMSURfTUZOKSAp
DQo+ICAgICAgICAgICByZXR1cm4gc3RhdGU7DQo+IEBAIC05OCw3ICs5OSw4IEBAIHN0cnVj
dCBlZmlfcnNfc3RhdGUgZWZpX3JzX2VudGVyKHZvaWQpDQo+ICAgICAgICAqLw0KPiAgICAg
ICBzeW5jX2xvY2FsX2V4ZWNzdGF0ZSgpOw0KPiAgICAgICBzdGF0ZS5jcjMgPSByZWFkX2Ny
MygpOw0KPiAtICAgIHZjcHVfc2F2ZV9mcHUoY3VycmVudCk7DQo+ICsgICAgaWYgKCAhaXNf
aWRsZV92Y3B1KGN1cnIpICkNCj4gKyAgICAgICAgdmNwdV9zYXZlX2ZwdShjdXJyKTsNCj4g
ICAgICAgYXNtIHZvbGF0aWxlICggImZuY2xleDsgZmxkY3cgJTAiIDo6ICJtIiAoZmN3KSAp
Ow0KPiAgICAgICBhc20gdm9sYXRpbGUgKCAibGRteGNzciAlMCIgOjogIm0iIChteGNzcikg
KTsNCj4gICANCj4gQEAgLTEwNyw3ICsxMDksNyBAQCBzdHJ1Y3QgZWZpX3JzX3N0YXRlIGVm
aV9yc19lbnRlcih2b2lkKQ0KPiAgICAgICAvKiBwcmV2ZW50IGZpeHVwX3BhZ2VfZmF1bHQo
KSBmcm9tIGRvaW5nIGFueXRoaW5nICovDQo+ICAgICAgIGlycV9lbnRlcigpOw0KPiAgIA0K
PiAtICAgIGlmICggaXNfcHZfdmNwdShjdXJyZW50KSAmJiAhaXNfaWRsZV92Y3B1KGN1cnJl
bnQpICkNCj4gKyAgICBpZiAoIGlzX3B2X3ZjcHUoY3VycikgJiYgIWlzX2lkbGVfdmNwdShj
dXJyKSApDQo+ICAgICAgIHsNCj4gICAgICAgICAgIHN0cnVjdCBkZXNjX3B0ciBnZHRfZGVz
YyA9IHsNCj4gICAgICAgICAgICAgICAubGltaXQgPSBMQVNUX1JFU0VSVkVEX0dEVF9CWVRF
LA0KPiBAQCAtMTU5LDcgKzE2MSw4IEBAIHZvaWQgZWZpX3JzX2xlYXZlKHN0cnVjdCBlZmlf
cnNfc3RhdGUgKnN0YXRlKQ0KPiAgICAgICB9DQo+ICAgICAgIGlycV9leGl0KCk7DQo+ICAg
ICAgIHNwaW5fdW5sb2NrKCZlZmlfcnNfbG9jayk7DQo+IC0gICAgdmNwdV9yZXN0b3JlX2Zw
dShjdXJyKTsNCj4gKyAgICBpZiAoICFpc19pZGxlX3ZjcHUoY3VycikgKQ0KPiArICAgICAg
ICB2Y3B1X3Jlc3RvcmVfZnB1KGN1cnIpOw0KPiAgIH0NCj4gICANCj4gICB1bnNpZ25lZCBs
b25nIGVmaV9nZXRfdGltZSh2b2lkKQ0KDQpObyBpc3N1ZXMgd2l0aCB0aGUgcGF0Y2ggY29u
dGVudCwgdGhvdWdoIGl0J3MgdGhlIHNhbWUgYXMgWzFdLg0KDQpbMV0gDQpodHRwczovL2xv
cmUua2VybmVsLm9yZy94ZW4tZGV2ZWwvOGRlMjY0OTU1ODgyNjYyMWQ0OWI0MDRjYWU3YTg3
NGY1MDRlNmI4Ni4xNzgxMjgyNjQwLmdpdC5iZXJuaGFyZC5rYWluZGxAY2l0cml4LmNvbS8N
Cg==
--------------EbfhEXrPrJ7GnHlbKsnN0AYt
Content-Type: application/pgp-keys; name="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Disposition: attachment; filename="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7L
TBVHV/XOZw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJ
T4ny+OGntnJntUoRKRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJA
WicutjkkUgd28Bh6HV9EIumHtCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO
8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaTVqMdqul07o72m3eA2mf+LMu9a04FX/d4
wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/EoucejoZ5SH49ksmVAmKOLkt
OaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+SPhHar7TPKjFz0G3D
PNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89MXfQXZ3q
t1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWj
moACGwMECwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNz
uyOVCskwfUZPla6Zpd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp
0x0HfuhcYfAYPR46XHTvjaJEv99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuR
OxdK8G+YHccJY8PvWSq2K2yiae2KGiAv1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50
wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhPeP3IdpfWc8cyRLXF06Rk46YM
YCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcTUwgnYlFRk2FLq0Qe
KEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9Egr/Wmu3
MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEM
AKiQiZa3yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ
3DbVf+en3/FvdVZg2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTm
etSG5/52AjtmPFtlXAk0NmLvfJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0
s3109sJeXT5ImVdphFs9cvyZyBT9t1PbRowv58EgV0zE4hbAeVkULAbxFV5b/ExT
jjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKbYu6NCfiHfEyB3Xyg9hfdrRgj
MRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ovXoK4jm+Py0FiUGUa
A6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/eVtR2Q1w
ZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWj
moACGwwACgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiV
oUiHYN5QwhnbZnsaJDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764Qxy
X6rld2f2RcWkDuBHun55ZWXjby8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk
/dS0XTOQi2wVUb17sW/+ybCEokdVacZGzOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fu
oGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+lOWSvdNHgoEkWR0RXBPQjnGm
LKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/OffO485NOTKwGOxyWb0
06cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR8ULR9nX0
LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
x9fhaZEsniw8/bYgC3igkk5YJiOa
=3DlUIA
-----END PGP PUBLIC KEY BLOCK-----

--------------EbfhEXrPrJ7GnHlbKsnN0AYt--

--------------R0UOEbOo8ye6aj12jliUzS28--

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

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

wsD5BAABCAAjFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmoxTd4FAwAAAAAACgkQZg+p0QLLz9DS
3QwAmEZLcdN+CsZk+6JnxHY+/F/t2g75Nl4Pl+5t6lCcEcieNo/KWnT2azzGRr0+ucwB/VR8ey7f
b786BtAbaoV+nlgIdW/4qT8rzmiCEVLHj0OdzgYeiGlCYlklXpKnTWENco9RMSfrYw0C9FOBNyiq
pVlSRlpJdRT8q1nxSc5eDzIGYXAEwIHjyEbfy74o5y5OUEP61aVTMkF+pDX0tZQe4KmmHeZ18OAL
AcKO+bt/r4DvhSfZVGijyvbdBBs9v2OhsaooreOchFlUwvSgBdTyyW5qKryuxJi8nH+ZgY5NdcWM
cE0mbLPMjNrwJZ6O5dqmzKuQBKC75KWJYAoLTXfVnLXW9j1n4mhjkUTrIlIhwntpd0Ei/+lHedoG
i2zHQFq3pBwQdNcaN/yH8vdo00PqVEzBJT1wS1zkXF/OusCpV6aj8c9dZWrwE5GnttLzLnJ5lr59
efvA86JZy9tAzrsPTU7OqwJulHjD4AP4p4o2Y+wHyJVLOEYGRzrPJkVOX9I7
=4/+0
-----END PGP SIGNATURE-----

--------------MEZonOuga6keau1ry3DCTXED--


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 13:26:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 13:26:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339230.1600378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZToM-0007QN-Ak; Tue, 16 Jun 2026 13:26:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339230.1600378; Tue, 16 Jun 2026 13: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 1wZToM-0007PB-7K; Tue, 16 Jun 2026 13:26:38 +0000
Received: by outflank-mailman (input) for mailman id 1339230;
 Tue, 16 Jun 2026 13:26:36 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wZToK-0007P5-O1
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 13:26:36 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZToJ-00FTfX-Fb
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 15:26:35 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a314f09-2eae-0a2a0a5409dd-0a2a450bdd6e-6
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:26:35 +0200
Received: from [52.101.57.41]
 (helo=BN8PR05CU002.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a314f09-212f-0a2a450b0019-346539299f2f-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:26:35 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by MN2PR03MB4957.namprd03.prod.outlook.com (2603:10b6:208:1ae::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Tue, 16 Jun
 2026 13:26:31 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=mNM0/Jz523W2qJAUITc6zUqqY45EuU/JEuMT4TMA5A1t9E3OqLSaXjYDy/yG1HKFaETH1JTGUMZXQpw9bnGYSR4y7yQph9fEjws3kuVfuLl0vDWETbKghXPd/+o9fw+5NKMtWjapfqgtqYEzs7Mk8bB+giipEzem8X3Ruy6eJuf+dOC05N2WIacxRny6zei2a1i0cHRCXDZCFyUq6JNSjSqoUuH0hHKGn7pc0xvmGYUYD/edkbiw7YSVJUVwgvr1pWSisvvE4WYS8/ncS2mCBB0MM3cwlpW82kIvwjtLXLGI5vNM3U56+Pxh7IXzKJSXiQbOcKPq28eYYIhwzCDCCw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WUtPMUqsxLFXHXcQH5o5px5ayBbAtK4ux+1FZV+v5oE=;
 b=bc/tbgOH6IOrsINI7Kur3rGISaO7d5P0rtIM7qQVg4YRKPhPBaECTY/OKMtB46648XDVcpR9DbPJmEMssqMOb+3Lwu98cmrhRJri2sRqKS1eYvh7E/y0Q8XmIxJSZqYE0qc32RoF7zWaXCGxQqhqyP8Q4hyFAVM8NBOagY+Xg3vNBPsWMaldtp/XxDZ5rWnVCoaSpsOkQj5vIzCz8akVyLGQ1KyYPwLr0n03lVlbIiOyknbhsdnnvFb5L0mtMxwt1HZoopX61ZdsmFKcwOVuX2DwbJgJCMYNds1gOql+FU94PEINvfNIZyh/pMF+nazMYKWM1etn6j+Jw+xRLq6GPQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WUtPMUqsxLFXHXcQH5o5px5ayBbAtK4ux+1FZV+v5oE=;
 b=oaUpVxbnsJZAEDfwmyBHdaXqy0Tjpc9GOBjBZ1s5j/trX5uqfduM9WPMc3bDh00DvECCq1aekrOh84dhZaYxMWP8uu6fz2vrOjQkeA16t9FP8XPDmrvB3YCkV6wuzYbFGKOqapWkqTzqjjtksUVv2yoDh3ZGsk3gX5KJfthO/ME=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <dd974236-b6d6-4eba-a78a-5acd1ee17589@citrix.com>
Date: Tue, 16 Jun 2026 14:26:27 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH for-4.22] x86/ucode: Exclude Zen6 from entrysign digest
 checking
To: Jan Beulich <jbeulich@suse.com>
References: <20260616104534.22995-1-andrew.cooper3@citrix.com>
 <ef1f84c3-68c4-4619-9e32-b008e91725f5@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: <ef1f84c3-68c4-4619-9e32-b008e91725f5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PA7P264CA0143.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:377::16) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|MN2PR03MB4957:EE_
X-MS-Office365-Filtering-Correlation-Id: 9bc18de0-4792-486e-1563-08decbaae0e5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|376014|1800799024|366016|18002099003|56012099006|11063799006|4143699003|22082099003;
X-Microsoft-Antispam-Message-Info:
	Xb9HLocqwSkCSCjACwNraYKFsn9RYmNBa2nObqTH5ppRSKwegJtSFvXMuDX41y6PJz7ri5TQeMH79EOmMRrwrxzQ4rVTxEYzm5qiE6gUvnyzPAn/RPb3/TVQVx10sZxx8V6gWnf7AJ161tc3e35J8aHs29JFosAV6icjffVMed2fW47I3DgR3dMnP5BgUFJG8aMTyMc2Iuh2F6LnmzoDl3cLGvpVplNmbZLaP4oVRyvNOP7qTrWOQoqP/t+8buq5pt5hPuGu8gFU/XS8Yfu1OQTskFSiqtkE6/o7njJfBxHDWzh1QjCD5MmDli7rwQqXOUGav0+15mLAb4oObo5TfIlRf24VxtmbusFfe+ZpglcS0v6iyrDr/zeOzTyW45lKdmyOxODKNHRhKLf9GasXOA1PJqWFxebWAITP33ALitXLqLqgWJ08yIRjezYsexe4MbK/x8DvEK/l46b1UQD5m30inl018uFdIsm+ybD7cXtMV658M9Mut4f8decrswTySunujeIMJukxHmiRGsYa7gRyhn3HWggK95Q5qfVa4GJvPHkXnxUiKWTCFgXAEoRyBUt0PzUJ1Ss98y73l0BOdITghWBkuJrKHoyqAdsFlsddKNsnqoiC+MvMGYNYXIuLgGiExtIdT5XEqYW3opU63jQ7sfS/4oF976ZNQT3OGmswYLUbP0npOraxP4Ts4b3y
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(1800799024)(366016)(18002099003)(56012099006)(11063799006)(4143699003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QUlVN2xibVJRVGR2cG4yQ3M3NEhSVjQraWJjL3NGMThvdDR6MHFLL1JIMS9Q?=
 =?utf-8?B?UjExMElGWnNIR2dGdkIxeHJtUW13azhaSHVJb095UmRaMW9qbGZYME1oK1NW?=
 =?utf-8?B?ZDhTQWxqcE5HV0pZYmVPb3FzM1BYS0FLaThNK0NxYUgzMU5VOFFUMndKSzV1?=
 =?utf-8?B?MElXbDZLMDV0c2d1Y1hHVmpGeURucUYxWVB2OFNYRjV4QVJ4bGNyaTg0QmN4?=
 =?utf-8?B?VXpZc2hEVEc5czF4ai8wK2Z2MVc3UFlMOGtGMU1HQlVCWGZuMjc4aGFWUC94?=
 =?utf-8?B?ZkNSWDRQZlFZcDJEM3MzOGVTOWRCWSt1MlB5S1RtMUwzTXEranZ1UWkwYmhj?=
 =?utf-8?B?U0hVODQ0NThtTnpSVDdHWHpMeElxZE9BQTMrdEJockppRXU3bjNaQS9ab3Iv?=
 =?utf-8?B?bUxha0RKeDZ2aWxGNDRIc0RTaG96NWJtcEJPSTFYN0U5S2hWR1VQYUozRkpR?=
 =?utf-8?B?T3p4VU5BclNyVWR5aHRyQUxMRnRsWE85RWJ2Qy9VMVFnN0ZibmFWTGtlYUxK?=
 =?utf-8?B?K3NqZUFBUXJCcUMvVFZxT0tZRzBCZGVJNFN0ZEtmck8wcFJMRXVuaGxZUzhM?=
 =?utf-8?B?Wmhtb1ZqOTNaKzRjbUJNNVR2dUwvT1lGb0laNWVoZmdCUTdCT1NtOWZINVAv?=
 =?utf-8?B?Z2dXMEFGdGNUdUVSdXlOSFNrRlY3TDljSWtJdlNiS3JsNmZZdWpRMmFPRkF6?=
 =?utf-8?B?aEZSRFFaaW15QXJOckJLdTJ1Q2tteVhpUjFiQ1BqYVlwK2IvRzRGVXZyODBY?=
 =?utf-8?B?aU1NSldaUnpvc2hnbUhjdkZpZlZISk1MQURNTnEwT0grbFZNVVByWmx2MU5V?=
 =?utf-8?B?RUhXRWRKck9sS2w5b3A1bktzdjVtbGpLQlFJWTNtanVDRDNVMmVmZkxVTER5?=
 =?utf-8?B?Ykl4U0JsNTh2Q01RT0I2Vnp0NzFyMjJvN2NZT25Db0hPdDVueXZvWjE3RVJT?=
 =?utf-8?B?OFh4bS9FTlMrRmdBUkRadGh4TFZYMEtjcEdJbG1OZ0E2NnR3L2M0QVRQYnBa?=
 =?utf-8?B?UURJS0NieklNVWZ3WnZESzV0OHhoWjd3anZqdUZnbWFqR2xpNmgranBSSWlz?=
 =?utf-8?B?MVJPczcrVEFuaktsTEJJZmxsNXhhUmdoWlE1TWlOQjBhNkMvUzh6RmFpcDdL?=
 =?utf-8?B?ODRPU3J5RjlpWFRWUmtLcmpvWXpIRHlhTS9Ld2wrS21jL2JPVVd3eENpRTBJ?=
 =?utf-8?B?Zjc1amtaSTJVS3JyNFFPL3F4aTZDS1hKdkFJdzdydk1jWnJGYXh1bkprbW5D?=
 =?utf-8?B?RWxwQUhFMVVZOUtCMitoMzZhVkJQOWtqWVJYN3UvTmU5amRHMEhRWnNHbTRv?=
 =?utf-8?B?dmw0SG43R3EyYmFqb1FYak9MdXA5K3phT2IydmNaaHltWlhKMFRxVmxsU2tK?=
 =?utf-8?B?a05rdGRReURFaWZ2T25UZTNWckNRdjFld0sxMnJiRkxuSjN0a3dONXR4OGJ4?=
 =?utf-8?B?aTVTc3YrOHVtSjB6dGxyajdNUXNINVNaS0hNZHVTNHVpc1dENCtVWXY1R0hl?=
 =?utf-8?B?aDJXL0V5QUFkUUNyaGsvMXBXV0JBaWxkUEUyOUtweHMydkxLcmhsTVJjTEdj?=
 =?utf-8?B?eGdKdllqNUUrUGxzYThWYlA1a0p2eWs1RXFaWVZ3VmJnSHdjN1pBelJwL1R3?=
 =?utf-8?B?Q1J5b0JjaTBFREtOaHlQY0lKV3lRSS9BUVEzTit1SFMrUmdZV00zK3NNK2lk?=
 =?utf-8?B?NDRtVUM1dWhPZGV5MFJTZXlMRXpTT2J5NFQyck94cTRDc0VHdmFRejlYRDFk?=
 =?utf-8?B?allaR1Nra3hwMmVFdVVkR0k2TkREd3VVOGpRd1NlalcvdjdobThjWVkwQ0NZ?=
 =?utf-8?B?NUpGblhjRCtpa2hGbWlsRGhjYk4zcDByTGpRWjJvVGJKbUkxa3BSRVhpVFdX?=
 =?utf-8?B?czZiS3N2UVhmZ3hmdWgrSHhRWGVKNThqZ2VNdFZwa3YzVkF1YTRrRXBDcDFD?=
 =?utf-8?B?enJvUFJlUDFTdW5pNVpEbTVPZW9kd0p0OEVQWDNlYlBrc2lOaEIrdGhPSlV5?=
 =?utf-8?B?TjFHUTRiWFllMklVMWllT1BsZ3BiNWVwZEZWMTMwK0hLZ0JydGJ5K2ZRcm1a?=
 =?utf-8?B?WVNSZmVvV3ZPaWlESVFLdHpicTc3SWtPeHZBZ0tsVnBYOUJzY2NXOE9va2ZM?=
 =?utf-8?B?aWxrTDFtV2d5N2J0VTJzNkJjZXdzVVYyK3BoWlNuSHhjRGx0WVBWTVZQMldS?=
 =?utf-8?B?WW1IQ3Jwb1VnSU90bzNpRlFVMDZaaU5mWFduTFJuS1BrRnZDbWFHYnRJZzU4?=
 =?utf-8?B?OENvdndWZnZiS1B1dzZyTWN5Z3lpUGpXRjFvWW04ZTl2dXJ0Ymlqc0NEWDRJ?=
 =?utf-8?B?NU5vS3lXSGFyNEp2RTBXaE52NTR6WnV4bnZYUWJzd2Fya0VxZW83MU0vS0VD?=
 =?utf-8?Q?m72QfQSqkruu6Olw=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9bc18de0-4792-486e-1563-08decbaae0e5
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 13:26:31.2122
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ma9P2VMUTZLzzXBH1U1LzUwe7k67gzA+su4DMcS4nvS/6sQ371sPhf6RglK6GQE/Zz3VKLM9lPJ6eqLTzAQ7Gn6PQWzkwdVBIvCVX/6Es28=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB4957
X-purgate-ID: tlsNG-42698a/1781616395-20479F3B-89F5A592/0/0
X-purgate-type: clean
X-purgate-size: 1384

On 16/06/2026 1:36 pm, Jan Beulich wrote:
> On 16.06.2026 12:45, Andrew Cooper wrote:
>> --- a/xen/arch/x86/cpu/microcode/amd.c
>> +++ b/xen/arch/x86/cpu/microcode/amd.c
>> @@ -128,7 +128,8 @@ static bool check_digest(const struct container_microcode *mc)
>>       * the digest of the patch against a list of known provenance.
>>       */
>>      if ( boot_cpu_data.family < 0x17 || boot_cpu_data.family > 0x1a ||
>> -         entrysign_mitigated_in_firmware || !opt_digest_check )
>> +         is_zen6_uarch() || entrysign_mitigated_in_firmware ||
>> +         !opt_digest_check )
>>          return true;
> Besides being somewhat fragile towards future changes (to the family range
> covered), this also sets a bad precedent towards the comment ahead is
> is_zen<N>_uarch() saying "The caller is required to perform the appropriate
> vendor/family checks first." My understanding was that a single family
> should be checked for in all such cases, not - as is the case here - a
> range of families. Using the (seemingly) opposite is_zen5_uarch() wouldn't
> be correct here, after all.

It is true that they're not symmetric when used with ranges.

But "appropriate checks" doesn't mean single family.Â  I suppose it
really means "know what you're doing".

Entrysign is weird.Â  All other uses of is_zen?_uarch() come with single
family checks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 13:28:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 13:28:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339236.1600387 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZTq8-00088w-LX; Tue, 16 Jun 2026 13:28:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339236.1600387; Tue, 16 Jun 2026 13: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 1wZTq8-00088p-IP; Tue, 16 Jun 2026 13:28:28 +0000
Received: by outflank-mailman (input) for mailman id 1339236;
 Tue, 16 Jun 2026 13:28:27 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <ross.lagerwall@citrix.com>) id 1wZTq7-00088j-Jn
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 13:28:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZTq7-004rh0-03
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 15:28:27 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a314f79-e002-0a2a0a5209dd-0a2a450a907e-12
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:28:26 +0200
Received: from [52.101.56.30]
 (helo=BN1PR04CU002.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a314f78-56b3-0a2a450a0019-3465381e7762-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:28:25 +0200
Received: from CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5)
 by PHXPR03MB989234.namprd03.prod.outlook.com (2603:10b6:510:3ca::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Tue, 16 Jun
 2026 13:28:22 +0000
Received: from CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096]) by CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096%7]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 13:28: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Nu9PO6vNHx7wCzUrEUte/nMe6DMSrOdLzWB9nktRKtPrqKKcfFtC990QTnHWdRicy8OtqdekNSAs9N3fYjmjSgoE16cWTpOof8qS5oTghwWepKxiUpnUqBP8/IKI/++MyEuitVYNK9IjZ2lksIWMSL2G2m4r0S8iSLzMs3BP9A1Dh+whK53xxSFzO5VpBFiI/c5Kvjzc7bG7/AayJRNeEJxq2BWvzdb9VnWoombjz7DCV6B/GmhNOoWMEPqGJJFiT74seWKlisMkiplIg6W0CWaNiSi9r9MBwEoi/NIovSHCXMuZ3HBTf9eytEC0qNUpJ5KCIMqpD9N9MHt8TEB2wQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kHrqwKPtIkVM2Le8zVC4Ap5UBhCOoLk9tAJ4rTESw8A=;
 b=ypp1ht7NMFLjXdh07ZSu9sb46IddqwsnsgAIrkgfa7Zx7SgDmX+nXu6vVPIaEQzeD2dvxp47RrJJC5DiM3L/JlpUGLmEp0NPCDoh5WGtguZAkUzAKAbSJSPRFC3prGuQOY/tllU0nzNupFDCuCWb9bTKv2TPAxQejWKNbbR2GZ4/AC/kRr/Zgg88AMMmimwMYflrZ01zGqKFkKD/n2h7dPl6VHdtuzHz3La7+845l6rMWj7tZBwaE5deRBUbm4aW0pKqbPjb9pF/A11Nc0y1W/PpryQMf/Kq7UU0iDpnEHTIBs33W1Fy0nj5pF7PELWeUQTbUMxo6g977pXIvvUqKQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kHrqwKPtIkVM2Le8zVC4Ap5UBhCOoLk9tAJ4rTESw8A=;
 b=yhwSbnjAgvPrZYK3+BSGolXyr5Pol0EPmgghnzZEKltxpKzYObH8u8nEwBYcFIyjcTPsZ8BjdTS9ROAybfJW3mM/9SEeiMoQywbGbW98EKVSaucHXp1KjlCL4VoYGLihqBzH5zdEgoMn/fjqkwUlk8Mu1C3gMU/y7AZLs1WOZwA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <fec75a30-b51f-47fa-93ea-a02e82873afe@citrix.com>
Date: Tue, 16 Jun 2026 14:28:17 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] efi: Skip FPU save / restore if using idle vCPU
To: Teddy Astie <teddy.astie@vates.tech>, 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>,
 Anthony PERARD <anthony.perard@vates.tech>
References: <20260616130051.3359801-1-ross.lagerwall@citrix.com>
 <1781616095.8631fc262581453bbf619ec5b2062170.19ed098307b000701b@vates.tech>
Content-Language: en-US
From: Ross Lagerwall <ross.lagerwall@citrix.com>
In-Reply-To: <1781616095.8631fc262581453bbf619ec5b2062170.19ed098307b000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AS4P189CA0045.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:20b:5dd::17) To CH8PR03MB8274.namprd03.prod.outlook.com
 (2603:10b6:610:2ba::5)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8274:EE_|PHXPR03MB989234:EE_
X-MS-Office365-Filtering-Correlation-Id: 4ac21d4c-04f9-4451-bb56-08decbab2329
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|23010399003|18002099003|22082099003|11063799006|56012099006|6133799003|4143699003;
X-Microsoft-Antispam-Message-Info:
	vYTpxiirO6IUKeEg7woy4aepEKvuC0IqkqRdkTs38+brpW1FW0DMkyBhr92WyA9eoLrc7OvxI9qAP/3f50TdYVjScThFU3FZUVcOMoEt4F6XekW7y+4hVEKkLS2W9lXsQ9AD0m/jn/UARlzGfriFzcLhtciN0zyi9h7AZX1FU7lXJzmMYSaLJncgbTdCJLann6/mKMTGQRjSbjSBXqS7Sk1BFQ+CPL1/yTs2ceTSdMjjj1G0CnweedgAsRE+oQkL/d7vY83tt12VBQfmd9qMjXrBLsxNJizkEkkPid0SNq1prbwgq9qcbEkISLlZJCbbYckmiSFKxRzW3UFsJoxPc/obbRlKeTvVlRpSw5iVKaL1kx/t7OFTCUgz7P3VTVNoI/MIgvuR5SSAniNHr1Hy7aGkXxlQPbhd1+m3inHFMfaDG8w0QI2qFf7EyberGqOzV7ru2QbT3WhH2BCiMwdhUahdopxEsY5Qxwh3J5IRFUo8ECNLyRzQzaKrZ35pPGmA5o0BGX1iGtHnK9efgDGpfC7LQB/tnb5Ol9Kz3M2TQRGjIYwQcGOf1S888quEaAhBL1CA2lvS6SHp1e5QN4vComVRy5t/2Z/hAMK6dCG++rfEv97cO0kGEgcA0MHE4SRs2t0unf2WqVG3dgpl9cxfZSRhfYXAZTM/OXm2uPSDYa0VCghMutdqjWOuuz0VEp+0
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8274.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(23010399003)(18002099003)(22082099003)(11063799006)(56012099006)(6133799003)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L1BrWVczRWJxaktQbEtTTTcwdWd3dXRjamdNNitEWUpENkZWYURmbDlocVhM?=
 =?utf-8?B?REdBYnRCcllhU29TNEY3U1JMOWlRSHN1OE0veFBzUnJndnF4eG53WnoyTjRI?=
 =?utf-8?B?ZldZczZvRDlDTmt6MGNDck0yY3UyaDhmU25iNEsrdWF1MXpSTTUvU3RDNUtO?=
 =?utf-8?B?RTBXandGTVNXVkhBa3Fzc01ueEpqdXVhNjNheTBDMk5hREtXdm13TnVmdFJs?=
 =?utf-8?B?RmgrYkpzb0ZEWklLOXI4UUNqV1cwYk1DS2FVTGh3cGl5TmhUUFVBMDlRaDBt?=
 =?utf-8?B?dDNVRTMyVmtYS2QzV2VtRnFYYlB0dXhSc2lkYVo5T2txZlpMdDRKRnh5NTd4?=
 =?utf-8?B?Vmg2a2Z5ZFJJK0VaTG4vUU8zb3BaTjcreU5hWk0yNWJpWWlJU2F0c1lNcUdz?=
 =?utf-8?B?bUJ3cC9KWGNQR0JaNTAwWkdYWFhKcGF2VzdxUnpLc1lLdnE5bGdOTExJQVVj?=
 =?utf-8?B?eUt4djlHV21iQ2pXbmRWamFLdXh5Q3d6bjFUL2Z2cWdheHR5SjNrNjNWTFhR?=
 =?utf-8?B?OTN1R1RLREk5TjQ2ZHZZNy92T3d2YUYvc0FoK2tkbmIvM2kzQmlOWjRodU5L?=
 =?utf-8?B?aWYrZ0Z3M21pc0ZMeWhmQkxUamNjTWdCWTBnQmhYUUlDMUtSOVduTGV2NXJ3?=
 =?utf-8?B?c3FkS0l3Q0M4MUhFZzZzbDlSdXAyMTNzRnp0RHdWbnJ3d0x0ZEhXMW5Vcncz?=
 =?utf-8?B?eWp5WXl4N2U5YmhHTWdMMW5BTWpiTzB1WmdXNDRnZnBrN1UvWnVzblQ0R0F5?=
 =?utf-8?B?SHRKd3krMk80TldiOXpvYVpDY3hYSlBYZTZLQzZtS2FpZFhSNVc0ajRrZkk4?=
 =?utf-8?B?VllIWWJvZURqVzZtZms1VVdNY0ZIai91R0xLT0U2OGFidnRpTTdmZ2ZzbjRI?=
 =?utf-8?B?NnJwam8xZDFVVXYvTnovemcyRWhOYTMzdWJMYmdkQ1Bza3llNS92WVZibC94?=
 =?utf-8?B?Z3Y2Uzl6RTREUjFXZERxcGgvbGYxa3ExbGgxMUl6TjZKY05rRVRhYjBPQys4?=
 =?utf-8?B?S0szbTFleFBYTE95Qmt2VnRVS3c1c1E2S0F0SU81bHlUWDRqQlF3R1prODFR?=
 =?utf-8?B?VXNURkQrUXVVL1RWL1lYMDcxaXNRS1F5NEd3bVNnS2Vyek1QbVJ1bDdBakZ1?=
 =?utf-8?B?d09TYjdUcHdsSlBUaXN6d0tNaFpYNXFaWFF0ZVlSeVlMR3ZySFBucDJzZ1pF?=
 =?utf-8?B?VzFEc1IrbmZReUNnK05zTFQ3R1RscWpMOXdpdXQ1SS9QMGJLeURSQzVJZnBq?=
 =?utf-8?B?ZDlYZk5kU3lHL0NnalhRRzhvVHk1aE11aGZFOEYzc3BoM2RBTHpqd2ZIYjl1?=
 =?utf-8?B?SEp3Z3ZYbWxQK1N4U0NhWk5Ob1BUVEwyRTM1a0pxSDFybTRGaCtIL283aFM3?=
 =?utf-8?B?N0VVbnNjSEQ3MTlnZURSUVpwRjRVSlBEUGxNc1NPTEF0bjgxWFAxWDhNS3Qy?=
 =?utf-8?B?a3d6VnE5Uld3NjMwZ2xFblBVNnlKNE5OVlR6eWlQL0wvWFN6UkNyMURYdmZD?=
 =?utf-8?B?V3l1TkhsOC9zWFpTQWNQSUtlenUxbExRdlFTMkdtejlSWGN4dmNEbTFzbEpB?=
 =?utf-8?B?b1RCMjRDeGZWMmlwaG1YdGV3Uldia3ZkZEEwd3B0NjR1N0N1a0duRWZaUnU2?=
 =?utf-8?B?WDJENG5odGc3YXlNN3l6UEJZTTFPcWpRMUFiT0JuR0VKamh5YmFKdExoeDRZ?=
 =?utf-8?B?OFh3d0dzNU9mOWVjY2xLODF2ZTdsSk5tWFRGQ1I2WUdnNDhlTVdpZXVwcHRZ?=
 =?utf-8?B?KzNvcDVJVmRFZXBMNVh4YSs4Tm9qN1pFblV0bzVmajlEbnZZWFI3YlczU2tt?=
 =?utf-8?B?UnRKbGpndVlkTHZnVkZJK01KZ2IwM1FPZEp0c1pyUE05Q2NTZG9hUGxaM2lx?=
 =?utf-8?B?RVY4enhDQkxTNjVtVElDYVZLWG5GR2VoR0FLQlR3RThhT1g1TEFpWkFUTElT?=
 =?utf-8?B?REQyOWJvUCtLcnF5UnNlelBKN2Q2dXZ2OHlPMmpjck5EQjRKTkZxQmZndkhj?=
 =?utf-8?B?eUhySk94ay91SStQZUNJdDNpNWNOMEtFNURuVW1jUHV2eTViN1Y0TUVYVnow?=
 =?utf-8?B?OGhTK2w3YWpvMUdCRjNVRmE5NjhyVFoxNXlNa0crbXRON0RIQWFETklvd05l?=
 =?utf-8?B?MTZwYzViSjZlcGFCNFh3MEdMU2hKWGdvYjNPczlhMjg3UVV1Y0I5ekpPekRj?=
 =?utf-8?B?b05Odk5jRFJ3bXczNmtGQkZNQVRnS1FDSi9icUdxTU1HVUsyM0l6MjNZdUhZ?=
 =?utf-8?B?QU1qam9Ba2ZYWWk5alBJWXhpbStGMWVtZlNQSFdQdXcyY1puN2RwOWI0Skhj?=
 =?utf-8?B?c0NiL20ydE5leFBicDU3VEE0SHdjaUd4N0c3TXlvM2xTV1oyWXBhTUVWekh0?=
 =?utf-8?Q?ExtXvBL0HWpmKBu4=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ac21d4c-04f9-4451-bb56-08decbab2329
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8274.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 13:28:22.4708
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CTMS2/WdXvvR6SHGVrnSZ4FlF3fThyxTRcVclYAbZxsiuqd/FFZCdH+9e8V2LwrQDPtoNaA26GtY5GsNs07kmEUPBaP6l5AbEGtXmnoV9ZM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PHXPR03MB989234
X-purgate-ID: tlsNG-4011c0/1781616506-7C07C8B7-144FFC41/0/0
X-purgate-type: clean
X-purgate-size: 2865

On 6/16/26 2:21 PM, Teddy Astie wrote:
> Le 16/06/2026 Ã  15:04, Ross Lagerwall a Ã©critÂ :
>> The recent changes to remove lazy FPU support mean that
>> vcpu_{save,restore}_fpu perform the action unconditionally. This trips
>> the assert when calling these functions from an idle vCPU as might
>> happen when calling an EFI runtime function. There is no need to
>> save/restore the FPU in that case so skip the calls if using the idle
>> vCPU.
>>
>> Fixes: dba44e051209 ("x86: Remove fully_eager_fpu")
>> Fixes: 4b9851c64522 ("x86: Remove fpu_initialised/fpu_dirty")
>> Reported-by: Anthony PERARD <anthony.perard@vates.tech>
>> Suggested-by: Jan Beulich <jbeulich@suse.com>
>> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
>> ---
>>
>> Anythony, can you check if this fixes boot on your machine?
>>
>> Â  xen/common/efi/runtime.c | 9 ++++++---
>> Â  1 file changed, 6 insertions(+), 3 deletions(-)
>>
>> diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
>> index a23fa75e3740..7713676ce288 100644
>> --- a/xen/common/efi/runtime.c
>> +++ b/xen/common/efi/runtime.c
>> @@ -88,6 +88,7 @@ struct efi_rs_state efi_rs_enter(void)
>> Â Â Â Â Â  static const u16 fcw = FCW_DEFAULT;
>> Â Â Â Â Â  static const u32 mxcsr = MXCSR_DEFAULT;
>> Â Â Â Â Â  struct efi_rs_state state = { .cr3 = 0 };
>> +Â Â Â  struct vcpu *curr = current;
>> Â Â Â Â Â  if ( mfn_eq(efi_l4_mfn, INVALID_MFN) )
>> Â Â Â Â Â Â Â Â Â  return state;
>> @@ -98,7 +99,8 @@ struct efi_rs_state efi_rs_enter(void)
>> Â Â Â Â Â Â  */
>> Â Â Â Â Â  sync_local_execstate();
>> Â Â Â Â Â  state.cr3 = read_cr3();
>> -Â Â Â  vcpu_save_fpu(current);
>> +Â Â Â  if ( !is_idle_vcpu(curr) )
>> +Â Â Â Â Â Â Â  vcpu_save_fpu(curr);
>> Â Â Â Â Â  asm volatile ( "fnclex; fldcw %0" :: "m" (fcw) );
>> Â Â Â Â Â  asm volatile ( "ldmxcsr %0" :: "m" (mxcsr) );
>> @@ -107,7 +109,7 @@ struct efi_rs_state efi_rs_enter(void)
>> Â Â Â Â Â  /* prevent fixup_page_fault() from doing anything */
>> Â Â Â Â Â  irq_enter();
>> -Â Â Â  if ( is_pv_vcpu(current) && !is_idle_vcpu(current) )
>> +Â Â Â  if ( is_pv_vcpu(curr) && !is_idle_vcpu(curr) )
>> Â Â Â Â Â  {
>> Â Â Â Â Â Â Â Â Â  struct desc_ptr gdt_desc = {
>> Â Â Â Â Â Â Â Â Â Â Â Â Â  .limit = LAST_RESERVED_GDT_BYTE,
>> @@ -159,7 +161,8 @@ void efi_rs_leave(struct efi_rs_state *state)
>> Â Â Â Â Â  }
>> Â Â Â Â Â  irq_exit();
>> Â Â Â Â Â  spin_unlock(&efi_rs_lock);
>> -Â Â Â  vcpu_restore_fpu(curr);
>> +Â Â Â  if ( !is_idle_vcpu(curr) )
>> +Â Â Â Â Â Â Â  vcpu_restore_fpu(curr);
>> Â  }
>> Â  unsigned long efi_get_time(void)
> 
> No issues with the patch content, though it's the same as [1].
> 
> [1] https://lore.kernel.org/xen-devel/8de2649558826621d49b404cae7a874f504e6b86.1781282640.git.bernhard.kaindl@citrix.com/

Sorry, I wasn't CC'ed and missed that.

Ross


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 13:46:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 13:46:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339245.1600396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZU7d-0004Hq-4f; Tue, 16 Jun 2026 13:46:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339245.1600396; Tue, 16 Jun 2026 13:46: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 1wZU7d-0004Hj-23; Tue, 16 Jun 2026 13:46:33 +0000
Received: by outflank-mailman (input) for mailman id 1339245;
 Tue, 16 Jun 2026 13:46:31 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ed0aee98a000701b@swg.vates.tech>)
 id 1wZU7b-0004Hd-G3
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 13:46:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZU7a-0063wm-Hz
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 15:46:30 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ed0aee98a000701b@swg.vates.tech>)
 id 6a3153af-e002-0a2a0a5209dd-0a2a450cc390-32
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:46:30 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ed0aee98a000701b@swg.vates.tech>)
 id 6a3153b6-62f1-0a2a450c0019-b9ff1c128caf-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:46:30 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ed0aee98a000701b.006 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 16 Jun 2026 13:46:24 +0000
Received: from [192.168.1.18] (88-188-240-210.subs.proxad.net [88.188.240.210])
 (Authenticated sender: teddy.astie)
 by mail2.vates.fr (Postfix) with ESMTPSA id C15038681F;
 Tue, 16 Jun 2026 15:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=NSoq7TAY5qPhlPjEiWFXfMclqWZaDZz0i1aCrZgepds=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=ijSBlGezEW2MFvloWQ6Dr5a3i8uy7kcuBNYBHYwlqR2QWzR/ejvknsoIdMtYCDv/Exbtg/FN2
 I5q46M7QhiKeKi7FFKNyVEowfv3Y6hRzKygzppjBBH2qR4tHL8yt1aO1ccrftp1+ydzRO+79IVf
 4sqchfRZUrYbGprhYVJbooGFIaSxXJZQMGBQ0tOqc6H4iJTXPQvRFEWCLZGsqE1lrUmDBXIvG9b
 ckIwn9+hL7Gr0KnewziJoBkwKQz6dt5t5bnihpj/UfrytOZgEy5H7GOMn6/JVX0gBYWJXe5C11A
 sF2HZ3ZgaivgltC7pQxB7nkMrkvGV+TuTI7+ujt9j7FA==
X-Zone-Loop: 689bde526127b92011d2c24c92cc446a7a8112761d92
x-campaign-type: default
x-transaction-id: be81acd5-2d97-46ff-83f9-311a3a81e55b
x-swg-uid: 01-f8ce3a4c-ee1a-45b9-9cf9-4bcffbef2052
X-Mailer: Sweego
Message-ID:
 <1781617584.8631fc262581453bbf619ec5b2062170.19ed0aee98a000701b@vates.tech>
x-swg-bid: 1781617584.8631fc262581453bbf619ec5b2062170.19ed0aee98a000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Tue, 16 Jun 2026 15:46:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 2/7] common: Track latest pCPU that ran the vCPU
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <jason.andryuk@amd.com>,
 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: <cover.1776259594.git.teddy.astie@vates.tech>
 <f127344e083d224d2203b83c701375ca15e6368b.1776259594.git.teddy.astie@vates.tech>
 <a191bebd-aa7a-46e4-b3f2-a7a93c389480@suse.com>
 <1777976230.8631fc262581453bbf619ec5b2062170.19df7a441f3000f373@vates.tech>
 <0b311682-9633-4aa0-8067-534456c7b848@suse.com>
Content-Language: en-US
From: Teddy Astie <teddy.astie@vates.tech>
Autocrypt: addr=teddy.astie@vates.tech; keydata=
 xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7LTBVHV/XO
 Zw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJT4ny+OGntnJntUoR
 KRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJAWicutjkkUgd28Bh6HV9EIumH
 tCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaT
 VqMdqul07o72m3eA2mf+LMu9a04FX/d4wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/
 EoucejoZ5SH49ksmVAmKOLktOaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+S
 PhHar7TPKjFz0G3DPNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89
 MXfQXZ3qt1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
 LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWjmoACGwME
 CwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNzuyOVCskwfUZPla6Z
 pd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp0x0HfuhcYfAYPR46XHTvjaJE
 v99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuROxdK8G+YHccJY8PvWSq2K2yiae2KGiAv
 1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhP
 eP3IdpfWc8cyRLXF06Rk46YMYCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcT
 UwgnYlFRk2FLq0QeKEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9
 Egr/Wmu3MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
 f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEMAKiQiZa3
 yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ3DbVf+en3/FvdVZg
 2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTmetSG5/52AjtmPFtlXAk0NmLv
 fJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0s3109sJeXT5ImVdphFs9cvyZyBT9t1Pb
 Rowv58EgV0zE4hbAeVkULAbxFV5b/ExTjjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKb
 Yu6NCfiHfEyB3Xyg9hfdrRgjMRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ov
 XoK4jm+Py0FiUGUaA6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/
 eVtR2Q1wZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
 IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWjmoACGwwA
 CgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiVoUiHYN5QwhnbZnsa
 JDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764QxyX6rld2f2RcWkDuBHun55ZWXj
 by8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk/dS0XTOQi2wVUb17sW/+ybCEokdVacZG
 zOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fuoGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+
 lOWSvdNHgoEkWR0RXBPQjnGmLKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/Off
 O485NOTKwGOxyWb006cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR
 8ULR9nX0LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
 x9fhaZEsniw8/bYgC3igkk5YJiOa
In-Reply-To: <0b311682-9633-4aa0-8067-534456c7b848@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------cj2ex53lTECmU0kXg9mVKnVo"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781617583991
X-purgate-ID: tlsNG-d25034/1781617590-D9F6ACF5-EB202F9B/0/0
X-purgate-type: clean
X-purgate-size: 8730

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------cj2ex53lTECmU0kXg9mVKnVo
Content-Type: multipart/mixed; boundary="------------9hxoH6NIeci0QLtWuJtoTyP4";
 protected-headers="v1"
From: Teddy Astie <teddy.astie@vates.tech>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <jason.andryuk@amd.com>,
 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
Message-ID: <45cd11b8-a697-4038-a261-08b6e871d20c@vates.tech>
Subject: Re: [RFC PATCH 2/7] common: Track latest pCPU that ran the vCPU
References: <cover.1776259594.git.teddy.astie@vates.tech>
 <f127344e083d224d2203b83c701375ca15e6368b.1776259594.git.teddy.astie@vates.tech>
 <a191bebd-aa7a-46e4-b3f2-a7a93c389480@suse.com>
 <1777976230.8631fc262581453bbf619ec5b2062170.19df7a441f3000f373@vates.tech>
 <0b311682-9633-4aa0-8067-534456c7b848@suse.com>
In-Reply-To: <0b311682-9633-4aa0-8067-534456c7b848@suse.com>

--------------9hxoH6NIeci0QLtWuJtoTyP4
Content-Type: multipart/mixed; boundary="------------DALL4Ahgb0v3t0fOThtn6VtW"

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

TGUgMDUvMDUvMjAyNiDDoCAxMjozMiwgSmFuIEJldWxpY2ggYSDDqWNyaXTCoDoNCj4gT24g
MDUuMDUuMjAyNiAxMjoxNywgVGVkZHkgQXN0aWUgd3JvdGU6DQo+PiBMZSAwNC8wNS8yMDI2
IMOgIDE3OjUxLCBKYW4gQmV1bGljaCBhIMOpY3JpdMKgOg0KPj4+IE9uIDE1LjA0LjIwMjYg
MTU6MzIsIFRlZGR5IEFzdGllIHdyb3RlOg0KPj4+PiBUcmFjayBvbiB3aGljaCBwQ1BVIGVh
Y2ggdkNQVSBvZiBhIGRvbWFpbiByYW4uIFRoaXMgd2lsbA0KPj4+PiBiZSB1c2VkIHRvIGtu
b3cgd2hldGhlciBhIFRMQiBmbHVzaCBpcyByZXF1aXJlZCBvciBub3QNCj4+Pj4gd2hlbiB0
aGUgdkNQVSBpcyBtaWdyYXRlZCBvbiBhbm90aGVyIHBDUFUuDQo+Pj4NCj4+PiBTb21ld2hh
dCByZWxhdGVkIHRyYWNraW5nIGFscmVhZHkgZXhpc3RzIC0gc2VlIHRoZSBkaXJ0eV9jcHVt
YXNrIGZpZWxkLg0KPj4NCj4+IEkndmUgc2VlbiBpdCwgYnV0IEknbSBub3Qgc3VyZSBob3cg
aXQgY2FuIGJlIGxldmVyYWdlZCBoZXJlLg0KPj4NCj4+IEkgd2lsbCB0cnkgdG8gdGFrZSBh
IGNsb3NlciBsb29rIGlmIHRoYXQgY291bGQgYmUgdXNlZCBpbnN0ZWFkLg0KPj4NCj4+PiBC
dXQgd2hhdCB0aXRsZSBhbmQgZGVzY3JpcHRpb24gc2F5IGRvZXNuJ3QgbWF0Y2ggLi4uDQo+
Pj4NCj4+Pj4gQEAgLTk3Nyw2ICs5NzgsOCBAQCB2b2lkIGFzbWxpbmthZ2Ugc3ZtX3ZtZW50
ZXJfaGVscGVyKHZvaWQpDQo+Pj4+ICAgIA0KPj4+PiAgICAgICAgc3ZtX3N5bmNfdm1jYihj
dXJyLCB2bWNiX25lZWRzX3Ztc2F2ZSk7DQo+Pj4+ICAgIA0KPj4+PiArICAgIGN1cnItPmRv
bWFpbi0+bGF0ZXN0X3ZjcHVbY3B1XSA9IGN1cnItPnZjcHVfaWQ7DQo+Pj4NCj4+PiAuLi4g
dGhlIGltcGxlbWVudGF0aW9uIGFueXdheTogWW91IHRyYWNrIHdoaWNoIHZDUFUgbGFzdCBy
YW4gb24gYSBnaXZlbg0KPj4+IHBDUFUuIFNpbmNlIHRoZSBzYW1lIHBDUFUgbWF5IGhhdmUg
cnVuIG11bHRpcGxlIHZDUFUtcyB3aGljaCB0aGVuIHdlcmVuJ3QNCj4+PiBzY2hlZHVsZWQg
YWdhaW4sIHlvdSBsb3NlIGRhdGEgYWZhaWN0Lg0KPj4+DQo+Pg0KPj4gSSBtaXhlZCB1cCB0
aGUgd29yZGluZy4gQnV0IHRoZSBpbXBsZW1lbnRhdGlvbiBpcyB0aGUgcHJvcGVyIGludGVu
dC4NCj4+DQo+PiBJdCdzIG1vcmUNCj4+DQo+PiAgICAgVHJhY2sgd2hpY2ggdkNQVSBvZiB0
aGUgZG9tYWluIGVhY2ggcENQVSByYW4uDQo+IA0KPiBPa2F5LCB5ZXQgdGhlbiAoYXMgYWxy
ZWFkeSBwb2ludGVkIG91dCkgaG93IGRvIHlvdSBrbm93IHZDUFUwIHJhbiBsYXN0IG9uDQo+
IGEgZ2l2ZW4gcENQVSBpZiBhZnRlciBpdHMgZGUtc2NoZWR1bGluZyB2Q1BVMSAob2YgdGhl
IHNhbWUgZG9tYWluKSB3YXMNCj4gcHV0IHRoZXJlLiBZb3VyIHRyYWNrIHJlY29yZCAoYWZ0
ZXIgZGUtc2NoZWR1bGluZyB2Q1BVMSkgd2lsbCBzYXkgb25seQ0KPiB2Q1BVMTsgaW5mb3Jt
YXRpb24gb24gdkNQVTAgd2lsbCBiZSBsb3N0LiBZZXQgdGhlbiwgYXMgYWxzbyBpbmRpY2F0
ZWQsDQo+IGl0J3Mgbm90IHF1aXRlIGNsZWFyIHRvIG1lIGhvdyBleGFjdGx5IHlvdSBtZWFu
IHRvIGxldmVyYWdlIHRoaXMgdHJhY2tpbmcuDQo+IA0KDQpUaGUgaWRlYSBpcyB0byBrbm93
IHdoaWNoIHZDUFUgb2YgdGhlIGRvbWFpbiB0aGUgcENQVSBBU0lEIGlzIGhvbGRpbmcuIA0K
SGVuY2UsIHdlIG5lZWQgdG8ga25vdyB3aGljaCB3YXMgdGhlIGxhdGVzdCBydW5uaW5nIHZD
UFUgb2YgdGhlIGRvbWFpbiANCm9uIGEgcGVyIHBDUFUgYmFzaXMgKG5vdyB0aGF0IGVhY2gg
ZG9tYWluIGhhcyBpdCdzIG93biB1bmlxdWUgQVNJRCwgYW5kIA0KZWFjaCBwQ1BVIGhhcyBp
dHMgb3duIFRMQikuDQoNCkludGVybWVkaWF0ZSB2Q1BVcyBhcmUgbm90IHVzZWZ1bCwgZ2l2
ZW4gdGhhdCB0aGUgVExCIGlzIGV4cGVjdGVkIHRvIGJlIA0KZmx1c2hlZCB3aGVuIHN3aXRj
aGluZyB2Q1BVcyBvZiBhIHNhbWUgZG9tYWluIChhcyB0aGV5IHNoYXJlIHRoZSBzYW1lIEFT
SUQpLg0KDQpTbyBvdmVyYWxsLCB3ZSBmbHVzaCB0aGUgVExCIHdoZW4gZWl0aGVyIDoNCi0g
c3dpdGNoaW5nIGJldHdlZW5zIHZDUFUgb2YgYSBzYW1lIGRvbWFpbiBvbiBhIHNpbmdsZSBw
Q1BVDQotIHRoZSB2Q1BVIHdhcyBwcmV2aW91c2x5IHJhbiBlbHNld2hlcmUgKHRoaXMgaXMg
ZGVhbHQgaW4gcGF0Y2ggMyANCnRocm91Z2ggb2xkX2NwdSAhPSBuZXdfY3B1IGNoZWNrIGlu
IHNjaGVkX3VuaXRfbWlncmF0ZV9maW5pc2goKSkNCg0KSSB0aGluayB0aGUgY29tbWl0IGRl
c2NyaXB0aW9uIGlzIGxhY2tpbmcgdGhlICJsYXN0IHZDUFUiIGlkZWEuDQoNCldvdWxkIHRo
aXMgYmUgYmV0dGVyID8gOg0KDQpJbnRyb2R1Y2UgbGFzdF92Y3B1IHdoaWNoIG1hcHMgZWFj
aCBwQ1BVIHRvIHRoZSBsYXRlc3QgdkNQVSB0aGF0IHJhbiBvbiANCml0LiBUaGlzIHdpbGwg
YmUgdXNlZCB0byBrbm93IHdoZXRoZXIgYSBUTEIgZmx1c2ggaXMgcmVxdWlyZWQgb3Igbm90
DQp3aGVuIHRoZSBwQ1BVIFRMQiBkb2Vzbid0IGhvbGQgdGhpcyB2Q1BVIHN0YXRlIGFueW1v
cmUuDQoNCj4gSmFuDQo+IA0KDQpUZWRkeQ0K
--------------DALL4Ahgb0v3t0fOThtn6VtW
Content-Type: application/pgp-keys; name="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Disposition: attachment; filename="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7L
TBVHV/XOZw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJ
T4ny+OGntnJntUoRKRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJA
WicutjkkUgd28Bh6HV9EIumHtCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO
8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaTVqMdqul07o72m3eA2mf+LMu9a04FX/d4
wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/EoucejoZ5SH49ksmVAmKOLkt
OaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+SPhHar7TPKjFz0G3D
PNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89MXfQXZ3q
t1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWj
moACGwMECwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNz
uyOVCskwfUZPla6Zpd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp
0x0HfuhcYfAYPR46XHTvjaJEv99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuR
OxdK8G+YHccJY8PvWSq2K2yiae2KGiAv1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50
wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhPeP3IdpfWc8cyRLXF06Rk46YM
YCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcTUwgnYlFRk2FLq0Qe
KEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9Egr/Wmu3
MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEM
AKiQiZa3yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ
3DbVf+en3/FvdVZg2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTm
etSG5/52AjtmPFtlXAk0NmLvfJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0
s3109sJeXT5ImVdphFs9cvyZyBT9t1PbRowv58EgV0zE4hbAeVkULAbxFV5b/ExT
jjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKbYu6NCfiHfEyB3Xyg9hfdrRgj
MRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ovXoK4jm+Py0FiUGUa
A6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/eVtR2Q1w
ZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWj
moACGwwACgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiV
oUiHYN5QwhnbZnsaJDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764Qxy
X6rld2f2RcWkDuBHun55ZWXjby8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk
/dS0XTOQi2wVUb17sW/+ybCEokdVacZGzOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fu
oGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+lOWSvdNHgoEkWR0RXBPQjnGm
LKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/OffO485NOTKwGOxyWb0
06cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR8ULR9nX0
LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
x9fhaZEsniw8/bYgC3igkk5YJiOa
=3DlUIA
-----END PGP PUBLIC KEY BLOCK-----

--------------DALL4Ahgb0v3t0fOThtn6VtW--

--------------9hxoH6NIeci0QLtWuJtoTyP4--

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

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

wsD5BAABCAAjFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmoxU68FAwAAAAAACgkQZg+p0QLLz9De
Awv/ThW/VyptEMIbPAXitGTFdQ+7XHv3ZxdIabC7S61a2HzdSxDAB55jiHs/ZROqG8t12QhWHJ1e
6ZGDDctJueEUFpbX+oAw3XnVfmlPEUlPtL2IzXXJHOZsjSd1cIui114E7aEpqn0wQHv/Z9eQPfKI
QM+lMcZO8HZIE7YiPJsHVSQMkN6fks9eFzZjKvTwqo2xRhsasTpNiAo9I3XJOUPkJvIFfWGTCXrw
R+YmszT1D32NU8cIOXYqZStSDH1Zc85j/H+Gty/EERjHlU10WtDaOLGsYh8ZiIjwpRosDhdrbz5S
5Mhpdm1yS34pa2HTgN9+jYiC/yVorgKbC8L7ooBT/SI6D+R2pLz0Cegq65REubBSK61bYKXYGTne
OT3IMRSWI5riXgWIGvt0lp17kC4iP3LPWce4qiwIZKduWZNy2wXC2RJw9wsgEPgTvIaznjqZZNHx
ZqQyYc2YzIeGK9qSoiXaQKQn0g+OBALHlDW5Tsf41Yo/upO0AoXh8RTw4Lgc
=ZHrJ
-----END PGP SIGNATURE-----

--------------cj2ex53lTECmU0kXg9mVKnVo--


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 13:49:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 13:49:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339250.1600406 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZUA0-0005Ea-Hd; Tue, 16 Jun 2026 13:49:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339250.1600406; Tue, 16 Jun 2026 13:49:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZUA0-0005ET-DY; Tue, 16 Jun 2026 13:49:00 +0000
Received: by outflank-mailman (input) for mailman id 1339250;
 Tue, 16 Jun 2026 13:48:58 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZU9y-0005DG-MJ
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 13:48:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZU9x-0064dA-Ur
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 15:48:57 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a315425-e002-0a2a0a5209dd-0a2a4502a80e-28
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:48:57 +0200
Received: from [209.85.128.41] (helo=mail-wm1-f41.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a315449-af86-0a2a45020019-d1558029e5ae-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:48:57 +0200
Received: by mail-wm1-f41.google.com with SMTP id
 5b1f17b1804b1-490b4a8e28bso34454005e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 06:48:57 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa47ce3sm91122625e9.6.2026.06.16.06.48.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781617737; x=1782222537; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=uJWI+YqyLtmeJtzFo5vFS4zLaKD0KZ7p4ywC5qWN6as=;
        b=J+DdYwjrfQXMJN69a1/JAffnsD6H2Tr7kZSX9awlmgjIxiK+9L7XMWxDfCCGoJs9p9
         X3rR5yhMaaUG+3KKesYJpvArqmFGgd0W52HoL2HXgeBz9OCyd2b88Djll4S3sbddA6dj
         sJp+bw0xvWo5trhMS1bLYvLMYJcV6NqfqZLD0IXpddvYjqJJN9cIso71wEZt2Zg1rELT
         HGcaJf/93A5KOflnDBIps5SLAdaBxyzttB0NzpNWt7ye5Ru3P8RdQMYmbbROJldmzSZT
         J03dIIzvdTjfsy7VeocxZfVOLx9Rf+6JgMZrwsXNdIGX7pk2MwiQlbQFDOMX87ckWaxD
         XHSQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781617737; x=1782222537;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uJWI+YqyLtmeJtzFo5vFS4zLaKD0KZ7p4ywC5qWN6as=;
        b=f09lhZhGFM2GRoTaEGDSxBmtm4HWeSR2FixVaLBx/uTKAtRHTdOXwBxlBpAypY9yrw
         5jkzMNpYmDb6IABDYEdrbEZT8ou5d5PuPMxm3H5KlU0tSCT+qSmAw6MOrQnKEMCc8X6P
         Qp3LzFyGgtHzspVhP2vsI9nr1K8VPtCNAarhgUoMbsB0D4s3/W/wvOW8t+ZLeb0J0K5y
         Fsl7qTbuNLN9/EuA+7itxESvoc7mTXerNQgJlhDhbPtnLrQKdbngrkVmmmvI7tuIB6Ec
         Qa91S9NUNnIdgZnJXMZ+klmjtmo3k7j3eJsrJcF1SpCGPBhZ6nfY1QOXTXaN3q/UTQ2B
         YyMw==
X-Forwarded-Encrypted: i=1; AFNElJ8PtapO1U7r4sMyW1UC3tQSJGUfhwsIzEvyw50HHXsNuDz5Lz6SSTHo/+Ed1R6xwiBWicmDBAB6Lzw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyrHlgm9pQ0VTiO88qOW6GbP1ScOMWiAhw5Wy4Qg8MzcP9800nX
	37pE3vRHa75QrUG+GBx+yI1Ci1EBbou3KrqRtf+2b7xO1SkjTXeweWl/usEENtAZPA==
X-Gm-Gg: Acq92OFM823+tXY7KNgxrwuOV6cMq463skoOIhZRa8ccynn1CbzLhEnIC2tG+OWanNq
	BvnnxrhQ0G1lP7hWMerJ0W7DvyxzOXWuciW1Wv203dDkW3/+y7E84oIIrZ54+LPPacptZ+uKz0y
	A+zcBght6eq/KwbrZNIGBSTrN2qek+lDrnVB1Z7ODMPKSCHB0ku8qzimvGwJLykOUirwxGSrZKv
	cPi5l9cjwU4oZIdOuJGGw76Q8A4yCugBWiYMU7fREnY0lhL+7zAbM2UbFDwzz9Ub9YGH7G2sX5L
	zWmR9qZjfyxEKW+9x3QWGmeMgHNrfsjwBTzGdQ4o7a0NSwnvdCaerCT5woliA8zl17QTJ6THfgL
	H730IThVGCP3QBKJvcxircigHexWH/QPx0JkcXWN98BklJe+fdpSXrOsvxy36ji8cR58A8NU4lg
	yOYddy5Xd3QMZruLlOVeaGFIHPzNRnr4U6s5e5CfkS6aoX3MQ07J08hKhnLT3MOJjPP/a1MklX6
	zR1dM1KNcrMuFXsJoy1QdgoFw==
X-Received: by 2002:a05:600c:c490:b0:490:bd66:db49 with SMTP id 5b1f17b1804b1-4922ff9898amr53739015e9.12.1781617737240;
        Tue, 16 Jun 2026 06:48:57 -0700 (PDT)
Message-ID: <a12b80ea-7361-479f-8fbc-ec5f5aa4ceaf@suse.com>
Date: Tue, 16 Jun 2026 15:48:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] x86/ucode: Exclude Zen6 from entrysign digest
 checking
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260616104534.22995-1-andrew.cooper3@citrix.com>
 <ef1f84c3-68c4-4619-9e32-b008e91725f5@suse.com>
 <dd974236-b6d6-4eba-a78a-5acd1ee17589@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: <dd974236-b6d6-4eba-a78a-5acd1ee17589@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1781617737-A8979161-714F783D/0/0
X-purgate-type: clean
X-purgate-size: 1561

On 16.06.2026 15:26, Andrew Cooper wrote:
> On 16/06/2026 1:36 pm, Jan Beulich wrote:
>> On 16.06.2026 12:45, Andrew Cooper wrote:
>>> --- a/xen/arch/x86/cpu/microcode/amd.c
>>> +++ b/xen/arch/x86/cpu/microcode/amd.c
>>> @@ -128,7 +128,8 @@ static bool check_digest(const struct container_microcode *mc)
>>>       * the digest of the patch against a list of known provenance.
>>>       */
>>>      if ( boot_cpu_data.family < 0x17 || boot_cpu_data.family > 0x1a ||
>>> -         entrysign_mitigated_in_firmware || !opt_digest_check )
>>> +         is_zen6_uarch() || entrysign_mitigated_in_firmware ||
>>> +         !opt_digest_check )
>>>          return true;
>> Besides being somewhat fragile towards future changes (to the family range
>> covered), this also sets a bad precedent towards the comment ahead is
>> is_zen<N>_uarch() saying "The caller is required to perform the appropriate
>> vendor/family checks first." My understanding was that a single family
>> should be checked for in all such cases, not - as is the case here - a
>> range of families. Using the (seemingly) opposite is_zen5_uarch() wouldn't
>> be correct here, after all.
> 
> It is true that they're not symmetric when used with ranges.
> 
> But "appropriate checks" doesn't mean single family.Â  I suppose it
> really means "know what you're doing".
> 
> Entrysign is weird.Â  All other uses of is_zen?_uarch() come with single
> family checks.

If you're not afraid of building ourselves a trap here:
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 13:50:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 13:50:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339256.1600413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZUBQ-0006oq-RY; Tue, 16 Jun 2026 13:50:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339256.1600413; Tue, 16 Jun 2026 13: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 1wZUBQ-0006oj-OR; Tue, 16 Jun 2026 13:50:28 +0000
Received: by outflank-mailman (input) for mailman id 1339256;
 Tue, 16 Jun 2026 13:50:27 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZUBP-0006od-II
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 13:50:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZUBO-00620L-VG
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 15:50:26 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a31549c-5cb7-0a2a0a5109dd-0a2a4506d43a-20
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:50:26 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3154a2-7371-0a2a45060019-d155802ec948-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:50:26 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-490ac10e337so31040545e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 06:50:26 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa9f2c0sm96566355e9.15.2026.06.16.06.50.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 06:50:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781617826; x=1782222626; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=/CuczEgNN5H5r1dN3DlhOxPe/xgXHUw3Emk/6LojGyA=;
        b=XAE/+UzQW50b5CPr7fJcaoQuiUwMO9Uc7AjBwXhywuGdjAgux7cKHcc8UqY8AVMhsN
         kFYSD6YKDvgMd5KyGexzH4dT0cajdApRnrAU5fZYV5UpJNOIVjD/5U7lpsE9su9v1RQF
         D63S8kh9n6VetmMOin9uGFt06RDr8m/gIsCSYGecrEE5HvGaapd71mLWDtB8kO4r5ZDW
         o5ZN+X0XgfqYwpma2zL9YhbhIacUPmQT8Ll4uwt9cnImPb9a4nkjJqad3wU+LsnuTDRV
         8wT0UKOL4Oes36feNlc+ioyUvyww6zWNsaOeUFhiYkE81wf5uFo5p71/uC6gJ4OUm/Qe
         PsdQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781617826; x=1782222626;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/CuczEgNN5H5r1dN3DlhOxPe/xgXHUw3Emk/6LojGyA=;
        b=j3HEYn4J4/YYI88NWAvT+AmEAgrrkd7bAMijw/0wY2vlZi/9Yzkqlc4TYsxGIbuGuZ
         GiIYMYf4MbSY3VdSlhCzI1JRoKJyBuTYKkiaoHyvpBPV3pkZ5v8BypG+PEuyAhdnZxpx
         GZzac5ZxRbpcCvvNIFdprNwycsh2e4LceNgmCr5EpqMDsR7X7Kftt8wy7EgudAYMlXYZ
         monp7QcvN6V0r1pTpcD6QFxqGSYvw7ZlChUIHm+ExGvbaC45ZAVu1peHeyAkjaHeNotw
         vKWDaQfX1oJlrrY60xZfZH6C2vrnIN5MMFzxfShTCGIyKVnLhvz+/YO7xSBhq1yfUQpT
         +uWg==
X-Gm-Message-State: AOJu0Yx55B4te9QVjFH4hVC3GvhVDuRvhUU6eXz1U2GqlE/JDcPUSVjS
	bjoVlNHqr+Mkn0im9R1Rb99AM4g2y39UnmUPZJxzfouW4iiFbfleDhipNjRdtT7auLcW54g8OWE
	/CLU=
X-Gm-Gg: Acq92OFbjF4S+9bImAM2hw2u9J8ka9FCJnDXteGCp2FoPba8tOVnBiS1YxOnhf5M0v+
	OOghsPzFCIPJww5od+01Jlb+4+YD7ar8fBpkOMXr0j+CN7F3qL1U5BnBFTSDDP1RXtVzcMNMzAy
	AQls1BSJyte7bPSCSwScu/SOYTftbA//C1Rm491Dw4gn1wEYBkuIpLCcrnj9GplaJh+5l4qq6MF
	N/N6hpunT7siYu7zLVIJkn6L8tzIr54xC02EWdoYJS37UcPTtkocR7Df36wM4oOwxBzCaKNxrbM
	dlKpEX3TEOEjqZhG5EiJzshPEO+FqAVqeEswLV6MiIR4n3RNoDZ2F4COCK0mEBxuYO1LPeuo3yO
	nxTQeJ1mY1PNqHdzd2VI6vYcePTyIoDomtzIrlbLrMxYm7NGWwOw75+RiRsePZwTOACvwjrWnag
	qMnKbfhti6rZzEt4YNWSHxsGsOlWocCWJfA5mfpqE3EWnuYK35W124xoBAE++MS3/CZjnvrQLRH
	qE6i1ZI+ZPhavAU0CBNMBsgJw==
X-Received: by 2002:a05:600c:6298:b0:492:348:ba08 with SMTP id 5b1f17b1804b1-4922007d38amr219914105e9.16.1781617826225;
        Tue, 16 Jun 2026 06:50:26 -0700 (PDT)
Message-ID: <53afba1b-a791-4ebe-9d00-3ca66065c524@suse.com>
Date: Tue, 16 Jun 2026 15:50:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/4] x86: Split .init section to satisfy UEFI CA memory
 mitigation
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Frediano Ziglio <freddy77@gmail.com>
Cc: xen-devel@lists.xenproject.org,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Frediano Ziglio <frediano.ziglio@citrix.com>
References: <20260616101336.44009-1-frediano.ziglio@citrix.com>
 <20260616101336.44009-5-frediano.ziglio@citrix.com>
 <ajExivEwb88pcOxT@mail-itl> <f80e5c37-96db-4af5-9b9f-28f4ff457a72@citrix.com>
 <8b27a14e-865a-462e-a6dd-1f8323de5f43@suse.com>
 <a7d9c983-c264-4a90-ba17-b2a49bd85c18@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: <a7d9c983-c264-4a90-ba17-b2a49bd85c18@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1781617826-8777FD75-8A21131F/0/0
X-purgate-type: clean
X-purgate-size: 1594

On 16.06.2026 14:40, Andrew Cooper wrote:
> On 16/06/2026 1:30 pm, Jan Beulich wrote:
>> On 16.06.2026 13:29, Andrew Cooper wrote:
>>> On 16/06/2026 12:20 pm, Marek Marczykowski-GÃ³recki wrote:
>>>> On Tue, Jun 16, 2026 at 11:13:36AM +0100, Frediano Ziglio wrote:
>>>>> From: Frediano Ziglio <frediano.ziglio@cloud.com>
>>>>>
>>>>> Currently .init section is both writeable and executable, split data and code
>>>>> to have 2 sections satisfying W^X rule.
>>>>>
>>>>> It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
>>>>> in the pagetables.
>>>>>
>>>>> NX_COMPAT is a requirement from shim-review,
>>>>> https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility
>>>>>
>>>>> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
>>>> Acked-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
>>>>
>>>> Is that the last piece necessary to satisfy the NX_COMPAT requirement? If
>>>> so, I suppose a subsequent patch should actually set the
>>>> IMAGE_DLLCHARACTERISTICS_NX_COMPAT bit (IIUC ld --nxcompat option), right?
>>> We need to satisfy everything in
>>> https://github.com/xenserver/xen.pg/blob/XS-9/patches/correct-sections-permissions.patch
>>>
>>> .reloc needs to be non-discardable and writeable.
>> Writable? Why?
> 
> Because we take fatal pagefaults against it when it's really read-only.

Wasn't this for relocations _against_ r/o sections, not the .reloc section
itself?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 13:50:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 13:50:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339257.1600423 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZUBT-00072c-5r; Tue, 16 Jun 2026 13:50:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339257.1600423; Tue, 16 Jun 2026 13:50:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZUBT-00072V-2D; Tue, 16 Jun 2026 13:50:31 +0000
Received: by outflank-mailman (input) for mailman id 1339257;
 Tue, 16 Jun 2026 13:50:29 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wZUBR-0006yO-L9
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 13:50:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZUBR-00620L-1i
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 15:50:29 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a31549c-5cb7-0a2a0a5109dd-0a2a4506d43a-34
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:50:29 +0200
Received: from [74.125.224.52] (helo=mail-yx1-f52.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3154a3-7371-0a2a45060019-4a7de034e00a-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:50:28 +0200
Received: by mail-yx1-f52.google.com with SMTP id
 956f58d0204a3-662bcc30fafso624301d50.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 06:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1781617827; cv=none;
        d=google.com; s=arc-20240605;
        b=h1u3VfqLOD8IdUpK0M94EGcn9367CN4ID5pUD2dr8QvH/1Rp5jL0SdiwArA1V+g3Jt
         hzMkc0fWJBwCtxmTxSpG0RgModMEKg+HHr1OIzCQUz0koO+rGvTsI7S8BlWWHPW4xLqI
         kGfxnFlJS9HIgYj/kAujjDGexgaUS403J7bOP4z+NMgSsmhJJaC/wy8KyyiEB0IdhcTE
         zqeGYXz4iJ4+wQZIDUrcsD0jw6RUw6TrbcEgvNTOQj5EtWY9wAXmcNoecybcVMKni8FT
         lWO/vqIFi7N+IftiiySNdMioEqprQPHObuWnZmCGhZG8pdegrV6YmqK2eKyKk8rr8uj/
         P8zg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=9Wk1fyCcm/KEhgWxilGQEp6mZ1sQfhLzr8u6Ky01KSA=;
        fh=oJMX+pG19iTQBQS8RwZ4ninwvsj1Gxox465NplAJP4k=;
        b=Trma1eSEvWz6zvW1wr0M/4usQefiGRo+CMgn+3QNzX+qWPNJzde2nD3sugggLMleZd
         7WalMhfC5zpgR+8j+xN9MC2oaObYpIhceooYF95fhPKaZx3sGpFhynlHk6lJTvFajGNc
         LB8QuAgaOfuTpDvAZS1WUTww56DsyWgfmsALGbMMbGI8HkcJOicwr/CZ9LP2W7xiJ7CD
         ubfnU1lok/TwU7dl4SCiS9C9cVI2GC2f1FeJWvPABzrBlryqD3RH0aI2HIUwlmgs2r++
         P/C/gi7PkZiMVeiNobdqj0I4fRwU06q6Cw3x0DcsZHWSjx3MdQd7PqrGeSP1TPZrTFCr
         GxRQ==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781617827; x=1782222627; 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=9Wk1fyCcm/KEhgWxilGQEp6mZ1sQfhLzr8u6Ky01KSA=;
        b=R8FnIlPyGCORqRomv8WTvK0FO1MXTiQGkcO4uAbpZfvK9N9Ixzxt56yAUNAQugzSLt
         QJw0gb4cichsNed6kTt3uffbL/HG85EGZy/JXuWN1sp2U8vZnGhyok5opRFRrnUU1uWC
         zrFW5QggeYWEkCfw3PeLRjQyjt9jaDqCA46+fz+oFDACj0mGJ0uTtLQGW+HLD6DXAm7A
         xkLt/DJ41aLqIdreM/Ii8fmf7eo5afJLNSF4Mw1BAVARNQdHKmRlux79FL/nXs77LMIe
         T2Y5TJYxQFuiu3HN+QfSb26wF4PhzykgRhb0pAf8pr5P9AEr60FbxiGMgFLe6Snk1DkX
         zGIQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781617827; x=1782222627;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=9Wk1fyCcm/KEhgWxilGQEp6mZ1sQfhLzr8u6Ky01KSA=;
        b=OMzthEVkf7yfq7xraCnCgPGVuXNSCK0YDfUeuTvyOkhGz6fXVS5JC/DbziUu2UyXBm
         1F+8SyGez99GlGRov0BttF/soffLZXg0NhlsBEQi8p1DWR/9p61V7yFDk0lm8IHD5wop
         BBIyi4Fs/nSEvsG4K3QHxyPtWLRxl+ku8psKj/MymQ7I/DwJ2kaQ8o+YGVHbKBQZ1R7r
         L08UUHIZ5xHTi5OXeUnZ+0dHICnjbE1syvEFdkXfvSi/NB521P2xXElQbpY9OkUruaiS
         aM4noHTXWZ2F677U8YTosBvHni5SGl7nUz45y1I8QYoOLdYLWVQxUK/3+3QuqW3rtdxP
         X7sw==
X-Forwarded-Encrypted: i=1; AFNElJ/W/pJU8doR/5UN3qQyBX6pjjw9XQoFOHjH1pmvOD15ZZYBQGpi83shyAol8vJ/Q5iabG4ehJ9O/Po=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwRSqOv/N4CvFI3REh8bnb/EyE5FzfUOmWzWgjkaTuM2XlS0LDS
	vZ+rb6E6JF0/XMXmT37TXyqIcKIspc4mLeR0o6lsqs8xGzFQIQpw5xhoOyetAjEFEoBYEP9Lza0
	8QJJLWnA5tEKAFBRP8IAk9grTJcFJpPc=
X-Gm-Gg: AfdE7ckf7OgRkfDjw7BLO0rzvouPxwGN0gxP8/89VpENh4XMrnxVkgPoOzDbghWpZrX
	9Dkatt61I/e22+etrzQX3HFXCVkrF6QUTOf3i1UcASSlEddEH+80N7NIHVURBWAhwwPqSmoUhZL
	h3+moFKy/TkjigCjTtGnFPlTzia6Yw3ypT+9KgHhw+KUj+5jJiW5+/jZdQjADXf+pK1AGfpn2mg
	qfpD/+eiPtsMdOdLFZSxD0zQvCcE0mNSn5sK0/N1+hGgIZpbBdrjeBb0IgurfmdOa8t3jdBVa/k
	ooMxmHB2YAkHUCca2IBSD9sh5CCe1yDJ2mkBDQ==
X-Received: by 2002:a05:690e:440d:b0:660:8e61:1a5d with SMTP id
 956f58d0204a3-662b606e5b9mr2092177d50.11.1781617827141; Tue, 16 Jun 2026
 06:50:27 -0700 (PDT)
MIME-Version: 1.0
References: <20260616101336.44009-1-frediano.ziglio@citrix.com>
 <20260616101336.44009-5-frediano.ziglio@citrix.com> <ajExivEwb88pcOxT@mail-itl>
 <f80e5c37-96db-4af5-9b9f-28f4ff457a72@citrix.com> <8b27a14e-865a-462e-a6dd-1f8323de5f43@suse.com>
 <a7d9c983-c264-4a90-ba17-b2a49bd85c18@citrix.com>
In-Reply-To: <a7d9c983-c264-4a90-ba17-b2a49bd85c18@citrix.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Tue, 16 Jun 2026 14:50:15 +0100
X-Gm-Features: AVVi8CdrMR5Gf_6xo7c5qxYruS8LNlBA-v1EuPdb2OW7CjwbkQOzPzBDrjIQlDY
Message-ID: <CAHt6W4dLpSVz2P_7OgP9H-19jRpAd+km_1ep_VefR-Ku-u2MBQ@mail.gmail.com>
Subject: Re: [PATCH v3 4/4] x86: Split .init section to satisfy UEFI CA memory mitigation
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	xen-devel@lists.xenproject.org, Frediano Ziglio <frediano.ziglio@cloud.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, Frediano Ziglio <frediano.ziglio@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-16d1c6/1781617828-87B7DD75-054EA7C5/0/0
X-purgate-type: clean
X-purgate-size: 3002

On Tue, 16 Jun 2026 at 13:40, Andrew Cooper <andrew.cooper3@citrix.com> wro=
te:
>
> On 16/06/2026 1:30 pm, Jan Beulich wrote:
> > On 16.06.2026 13:29, Andrew Cooper wrote:
> >> On 16/06/2026 12:20 pm, Marek Marczykowski-G=C3=B3recki wrote:
> >>> On Tue, Jun 16, 2026 at 11:13:36AM +0100, Frediano Ziglio wrote:
> >>>> From: Frediano Ziglio <frediano.ziglio@cloud.com>
> >>>>
> >>>> Currently .init section is both writeable and executable, split data=
 and code
> >>>> to have 2 sections satisfying W^X rule.
> >>>>
> >>>> It is a requirement for NX_COMPAT so the PE can be loaded with W^X p=
erms
> >>>> in the pagetables.
> >>>>
> >>>> NX_COMPAT is a requirement from shim-review,
> >>>> https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-=
your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-ha=
ve-you-done-to-ensure-such-compatibility
> >>>>
> >>>> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> >>> Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingsla=
b.com>
> >>>
> >>> Is that the last piece necessary to satisfy the NX_COMPAT requirement=
? If
> >>> so, I suppose a subsequent patch should actually set the
> >>> IMAGE_DLLCHARACTERISTICS_NX_COMPAT bit (IIUC ld --nxcompat option), r=
ight?

At the moment we don't have downstream patches changing the nxcompat
specifically. Recent toolchains combinations are setting that flag
automatically.

> >> We need to satisfy everything in
> >> https://github.com/xenserver/xen.pg/blob/XS-9/patches/correct-sections=
-permissions.patch
> >>
> >> .reloc needs to be non-discardable and writeable.
> > Writable? Why?
>
> Because we take fatal pagefaults against it when it's really read-only.
>
> But as for why, I'll have to defer that to Frediano/Ross who did the
> work originally.
>

Wait, there's a bit of confusion. The .reloc section needs to be
non-discardable but read-only is fine, it's the .rodata section that
has to be writable. The reason is that some variables are "read
mostly" or "writable during init". This is consistent with what the
script is doing.

> >
> >>   This will require a very recent binutils and a patch (series?) from =
Jan.
> > Seeing that no patch had been submitted so far, I recently added this t=
o my
> > todo list, yes. But really I was hoping that someone else would make th=
e
> > small change that I expect is going to be needed.
>
> If you can explain what change is needed then maybe someone else can do i=
t.
>
> But right now, all I know is it's a new binutils and "something".
>
> ~Andrew

The patch was not submitted as similar patches were rejected as too
"hacky" and instead was suggested to have binutils changes. On the
other hand, former binutils must continue to "work" even if they
create wrong output. So instead of having to wait 5/6 years so that
all Xen supported binutils have the features we need we have that
patch in our series.

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 13:58:16 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 13:58:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339278.1600455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZUIu-0000lI-3Z; Tue, 16 Jun 2026 13:58:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339278.1600455; Tue, 16 Jun 2026 13:58: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 1wZUIt-0000lB-WE; Tue, 16 Jun 2026 13:58:12 +0000
Received: by outflank-mailman (input) for mailman id 1339278;
 Tue, 16 Jun 2026 13:58:10 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZUIs-0000l4-2H
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 13:58:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZUIr-004xfV-7Z
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 15:58:09 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a315666-bab6-0a2a0a5309dd-0a2a4506d3e0-40
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:58:08 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a315670-7371-0a2a45060019-d155802bc45a-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 15:58:08 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-490cdae130cso22700495e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 06:58: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-4922fa8b423sm80652815e9.11.2026.06.16.06.58.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 06:58: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781618288; x=1782223088; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt: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+5CB+J1pjN9PgJGoFqYkJy3rWAogyHWzNI6LK9uwcM=;
        b=COZlyMrsxtH0EihuEEjAL/ZXhmZv4532ATqVXqFn9wqkAZxr1QsTlih/VNciwsD/yw
         Y1WgMPPl84zdT3+FDWAffI8njSlCVQwVODKe4SDMdCDauHxdSpxNYxo3v7I6Vp/8du2/
         zWwzlZ9Qkx9xNKwAfquL3o7oEoVugmU/sFq/fsmBI+8qddf0YiF/1SNP3uxxydJ6PYoN
         px1FfAjANpiH+EK2L65/KAFCA66ovRR8FYmDaUoILvgE/tzzvhgcv48hl9JcMtc292nP
         yd5YBKrNq7cN566/ODw7v3HkC8rUmR+4XCH4Zb+z434VCmaeAdryB2qd9eUpdyLw+JN+
         6vmQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781618288; x=1782223088;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=d+5CB+J1pjN9PgJGoFqYkJy3rWAogyHWzNI6LK9uwcM=;
        b=g1caLmFRmVhqGTdXfVo+z/zkk07EO01kVFL30/sxfyTvvQ2W9nu096xRaPA4rhTaQe
         atyRkLC5zKIKZdTpXGzufFV3MZPFzx/wJAd8znHaWrccoz+kiCF5KTlrUq0dL9ZcAxwe
         LDfcMvILEbzNKshWAIbCGL/1xjmVIZRfTNR3pZxmKhSe95f+JF/xtDpF12aSRxi+MEJI
         DHjbP/gsFZk5dO85hgRq8RS2/wf1E9csPA8N6JYUALdZ9UhudzpA4nhJwWB733C35l60
         gokvLXH4VdKmgLGkVA6gKjHSZU+6EbIDSkIlw11xj3T5iEbSRLY8FHH1xbv6o3+d3wY5
         zmUA==
X-Forwarded-Encrypted: i=1; AFNElJ83YrZUCgsH+oEzrpwWcXQ3JtuTNIYvM7DmwIvQIXSmah9o2eKa0eNcm/NKjTrBTKqIDEu00jKGnUk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy9Vir31JtBVGvJos6oiFlTPtMJkjZnYslmFTYKD3GrVlJYoyhU
	3B4mCRNIs8/VV2Pf88ygTaEnkdPZrbISSgG3r/hyyyjRG1gxGGdE0DABOTUatMRNew==
X-Gm-Gg: Acq92OETPp1Js/lKMVDxnOq5F8Iczf1DD1QZrlomYHDit9XBD9pyKMS9IHxOSshBq8k
	NfsPXvzGgQGhEKV/cYiraJRx9O8/eRnBqCfGd39FIP9UmYkXlWOllx0zTCbb9m6bYBorZ+jtPQJ
	Izu6ESXF/ysfRWPjdKW58R6uMEM36k8z33MR67Xzg7NJPW9gCVxAcdEu2uK6RFixsjr449Pce4o
	Li5UzFQIk997j1lb8n/Gf8DBMzAKDUsRY2c1O7rHpPmOEcq3sxGrMcf+hCz0lX1UX8iihy2yuqR
	h0HmEFVSQGu+ab1y1kBe4lsoP7zd+s/Plb8Ppsr0V1i/NSG9A2w+lts9ll8Gz6MNPbvF2+X/hiy
	WHWN/aEDVeYKzQR4pKA4Ui2XS91Z3IIONej8wNpkQ8FXxZyGLpTqzVDdLRiB365NUhoSv8sMvrj
	yKkE3T0jUYx7rnYmvdI1dzfltSHS6X7efL6MQ9D3i/xHTX3tO/wBXT4i0RoH8w9wQVU8R+YChky
	4S+McZGo7IMGzc=
X-Received: by 2002:a05:600c:47d1:b0:490:e170:b7ee with SMTP id 5b1f17b1804b1-492200c04c0mr133213055e9.17.1781618288204;
        Tue, 16 Jun 2026 06:58:08 -0700 (PDT)
Message-ID: <7c618dca-18e2-4c9c-8bb3-02452099623e@suse.com>
Date: Tue, 16 Jun 2026 15:58:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 2/7] common: Track latest pCPU that ran the vCPU
To: Teddy Astie <teddy.astie@vates.tech>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <jason.andryuk@amd.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: <cover.1776259594.git.teddy.astie@vates.tech>
 <f127344e083d224d2203b83c701375ca15e6368b.1776259594.git.teddy.astie@vates.tech>
 <a191bebd-aa7a-46e4-b3f2-a7a93c389480@suse.com>
 <1777976230.8631fc262581453bbf619ec5b2062170.19df7a441f3000f373@vates.tech>
 <0b311682-9633-4aa0-8067-534456c7b848@suse.com>
 <1781617584.8631fc262581453bbf619ec5b2062170.19ed0aee98a000701b@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1781617584.8631fc262581453bbf619ec5b2062170.19ed0aee98a000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1781618288-8576FD75-65153D46/0/0
X-purgate-type: clean
X-purgate-size: 3108

On 16.06.2026 15:46, Teddy Astie wrote:
> Le 05/05/2026 Ã  12:32, Jan Beulich a Ã©critÂ :
>> On 05.05.2026 12:17, Teddy Astie wrote:
>>> Le 04/05/2026 Ã  17:51, Jan Beulich a Ã©critÂ :
>>>> On 15.04.2026 15:32, Teddy Astie wrote:
>>>>> Track on which pCPU each vCPU of a domain ran. This will
>>>>> be used to know whether a TLB flush is required or not
>>>>> when the vCPU is migrated on another pCPU.
>>>>
>>>> Somewhat related tracking already exists - see the dirty_cpumask field.
>>>
>>> I've seen it, but I'm not sure how it can be leveraged here.
>>>
>>> I will try to take a closer look if that could be used instead.
>>>
>>>> But what title and description say doesn't match ...
>>>>
>>>>> @@ -977,6 +978,8 @@ void asmlinkage svm_vmenter_helper(void)
>>>>>    
>>>>>        svm_sync_vmcb(curr, vmcb_needs_vmsave);
>>>>>    
>>>>> +    curr->domain->latest_vcpu[cpu] = curr->vcpu_id;
>>>>
>>>> ... the implementation anyway: You track which vCPU last ran on a given
>>>> pCPU. Since the same pCPU may have run multiple vCPU-s which then weren't
>>>> scheduled again, you lose data afaict.
>>>>
>>>
>>> I mixed up the wording. But the implementation is the proper intent.
>>>
>>> It's more
>>>
>>>     Track which vCPU of the domain each pCPU ran.
>>
>> Okay, yet then (as already pointed out) how do you know vCPU0 ran last on
>> a given pCPU if after its de-scheduling vCPU1 (of the same domain) was
>> put there. Your track record (after de-scheduling vCPU1) will say only
>> vCPU1; information on vCPU0 will be lost. Yet then, as also indicated,
>> it's not quite clear to me how exactly you mean to leverage this tracking.
> 
> The idea is to know which vCPU of the domain the pCPU ASID is holding. 

I fear don't understand this, in particular since you also say ...

> Hence, we need to know which was the latest running vCPU of the domain 
> on a per pCPU basis (now that each domain has it's own unique ASID, and 
> each pCPU has its own TLB).
> 
> Intermediate vCPUs are not useful, given that the TLB is expected to be 
> flushed when switching vCPUs of a same domain (as they share the same ASID).

... this: If they all use the same ASID, why would any tracking be needed?

> So overall, we flush the TLB when either :
> - switching betweens vCPU of a same domain on a single pCPU
> - the vCPU was previously ran elsewhere (this is dealt in patch 3 
> through old_cpu != new_cpu check in sched_unit_migrate_finish())

Luckily this is better understandable.

> I think the commit description is lacking the "last vCPU" idea.
> 
> Would this be better ? :
> 
> Introduce last_vcpu which maps each pCPU to the latest vCPU that ran on 
> it. This will be used to know whether a TLB flush is required or not
> when the pCPU TLB doesn't hold this vCPU state anymore.

Before we settle on any wording, I think it needs to become clear why /
whether such tracking is really needed. It feels fragile to say the
least. Might be best to start with flushing in too many cases, and only
later see about optimizing things.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 14:08:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 14:08:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339286.1600465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZUSJ-0003PM-V7; Tue, 16 Jun 2026 14:07:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339286.1600465; Tue, 16 Jun 2026 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 1wZUSJ-0003PE-R9; Tue, 16 Jun 2026 14:07:55 +0000
Received: by outflank-mailman (input) for mailman id 1339286;
 Tue, 16 Jun 2026 14:07:54 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wZUSI-0003OM-MG
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 14:07:54 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZUSG-00BfAA-Q4
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 16:07:52 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3158a4-2eae-0a2a0a5409dd-0a2a450ce28e-46
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 16:07:52 +0200
Received: from [74.125.224.49] (helo=mail-yx1-f49.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3158b7-62f1-0a2a450c0019-4a7de031d070-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 16:07:52 +0200
Received: by mail-yx1-f49.google.com with SMTP id
 956f58d0204a3-6607e80a846so4705777d50.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1781618871; cv=none;
        d=google.com; s=arc-20240605;
        b=bUXqN8zz/RJWkLo+vlxeeHbI3V5iIV6fayB2opEYJY4+BnuS33tXmUVDsFq7imk+Ru
         8TSPNR/89icK7B8eoqduXQoa7DK84hsprl5U/au2DN4NkugAQL3kxZmQCuiDswmS+nZD
         W5QpYoELqMQ8qf7yqSlbdOZjknLHgAHSxEpdODqU3PZCHLRdPrxd8A23zC1DUeeDKHvf
         22dNJ0Rf4hpz6TTDt9Ae4vQlHjZp7dceJnzadjGxiHGJRxnIwG467occMygnbef7u/6b
         UfD4ckrXiBDj6W/grw8+WcQryLti+NuEcMCAg5pjNKo7oH+EOI/PrSxc82n92DJipy2P
         aGqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature;
        bh=t1vsSdVINsFQm2XkyMhJzwl092jIMpFS7jN9l5SKBWI=;
        fh=GUy7W5LKqNoZF9Mn07lkMfe1LzLkCIMaS18unDoG5ao=;
        b=HdlxaMUx8OJqgaguvlATjzi38ogFS3E/LULxcncOKJcvQqU0KvZUoevyTSAdECIxvy
         SOJ1P6Sd6qzC/F+rcu/0ovT8wxXf17LW57Tk3J1VOCjwNcJlG20FmdKc+Oehms8GYMwf
         0XPX0/AM6/7S7AtDym41Tn9ucH+01/o2jm/2uQjbbmrcHC7b/oXZsmWfH6LzS4+YHjQm
         Ll5rlg37h3SbSxklgLB55HWQJlETbqme5SpX9z57vfot3kP60v7K8zTb87U+WzjvyYUB
         eDcxzVkVtAfWlxb6NIG6+AmgmB9Chv340aKMugPPFUTHi5CXsYGs+rhG9vQERLT/A+Z/
         G3uA==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781618871; x=1782223671; 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=t1vsSdVINsFQm2XkyMhJzwl092jIMpFS7jN9l5SKBWI=;
        b=g8gRY19ndvnHanoh13xPqhopd1G9W9Q8JmZ9AEXPOyJl8sn8D/J6KcVzJgo6U/G9v9
         kC8lRoOza26ztQVkYhD/rwt5qVAvHYXpBnNA6FIH+Kb4mw9KVgYZHUU79B7i+iJxwMs2
         HTcrvlaJrm6CVp9l6XfZyjbXp3qzF4W/QMf1XZ/NvzDZQudGNGsRsILDjybHiOcNJPVR
         UJ8+hGxlt4M0Upaw8F6OqDWxVljfPzX0Y/455E5ArXPte3RPQuWLyfyOCdCQpHkLuF83
         +XshQv0HnFHAtd2YvZBGVuiM7I8z9+qtqEiDKr80KOfRHi7HiTKfsIPtLd+xj1igNnnx
         etpw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781618871; x=1782223671;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=t1vsSdVINsFQm2XkyMhJzwl092jIMpFS7jN9l5SKBWI=;
        b=AjBHlLvSc6mYQAR842mvCCYfbDgo97z3i9ah03OYzgUU6P1Yc3uKKNS5NQHCnPYMwV
         oFJ1EHhrUYWyn+00RAMVvGC64Obx7t2dME5VM+lH2Q4CjuYiCM1UZKxCdhy4sEDIR0c6
         IkvE1LbQgu5Ek90tqo9rLEJkldYwAxn3GM60lk4pUAs6RjeNq8nOR0eS2VuAs+QKfgr/
         IOB1SI45cl96kxqRpD6Fad1rjAGlrDKry6GXNlbdbBKoE6E/RMx/ts2SG8vtrZvifdlY
         maKw+5cKFxTPe6vDaY8yQFcZIArycZatvkKUlJ3y5Hm+zjC4CKpzZBMBMhaKd76y3BZL
         g4Ow==
X-Forwarded-Encrypted: i=1; AFNElJ/TeJ0TCJtAOUe0Xykniwp3Gk8VzPOsAmI5HAdmIMfwRf1zEtsePdnsjHI21aM66ar+XIxsvdpJMUE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyuT1ZB/9TaFvYMicBfBPehhysupy1Y5ocIrq+Qagk97BTvmtQW
	htf0ozzz0LQxMjQIkx8B9meSBM4i/Ttmn9MQPXQYIs+rPiGtkjmnVEaWQvHqErFsSyIV8rJ0dI0
	Z7D1gvRKW4ROaZrjEpfqcPikWVEACBvo=
X-Gm-Gg: AfdE7cnPG1bb5qgQkcxeOdvBw93Guh1EH/zznFmz82sx88cxCWxDUWmQAphKh0bknmQ
	VpnI98KqlfSGPkWzzHwUOyWuAQMPfeuV+cCk7moSnxsbhaH6cc5+kYkisMV2IYVbAavWwRWz/5k
	PT4ULI1J9HyqwoDBoXBif4UxGyxUTrACmZD1Ws/hPdhZB5C6hb09cvMMRs/KMns32MB69h62MDJ
	t8Uv/Wzgd4RjGXpGgUyvvW9PxkDBcExav2cVlzzSeTZwhwwTC0RC0/S1K1F4u2nK7B4feN8GXy/
	IwUpd4gXlZ4RW6krRroUUO/yqOkCzT5lHc8dAg==
X-Received: by 2002:a05:690e:c48:b0:662:c136:d24a with SMTP id
 956f58d0204a3-662c136d70emr1500049d50.62.1781618870546; Tue, 16 Jun 2026
 07:07:50 -0700 (PDT)
MIME-Version: 1.0
References: <20260608173108.2848469-1-andrew.cooper3@citrix.com>
 <b310db60-850a-4096-8900-54d0816e5063@suse.com> <965bcf53-accf-4297-bf8c-903dce45cba0@suse.com>
In-Reply-To: <965bcf53-accf-4297-bf8c-903dce45cba0@suse.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Tue, 16 Jun 2026 15:07:38 +0100
X-Gm-Features: AVVi8CeSdlfQ_vjCf-4Oup6Yc7U8Mn83Mz7uq9aTqrJ_6zx-JCyrOVwOYq0Acvg
Message-ID: <CAHt6W4f5KzkRhbDnCMS82zpAJ04-UkBoOXowyG=A5CT3yNSv9A@mail.gmail.com>
Subject: Re: [PATCH for-4.22] xen/x86: Always strip xen.efi
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Frediano Ziglio <frediano.ziglio@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, Oleksii Kurochko <oleksii.kurochko@gmail.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	"Daniel P . Smith" <dpsmith@apertussolutions.com>, Xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"
X-purgate-ID: tlsNG-d25034/1781618872-DA169CF5-5BE4C517/0/0
X-purgate-type: clean
X-purgate-size: 1124

On Thu, 11 Jun 2026 at 15:42, Jan Beulich <jbeulich@suse.com> wrote:
>
> On 11.06.2026 16:38, Jan Beulich wrote:
> > On 08.06.2026 19:31, Andrew Cooper wrote:
> >> Some old versions of binutils ld managed to produce efi files which the
> >> matching version of strip couldn't process.  This includes Binutils 2.26
> >> included in Ubuntu 16.04.  Delete the workaround for this bug, and require a
> >> less broken toolchain.
> >
> > And we're certain newer versions of strip don't do any harm to the binaries?
> > Already towards Frediano's posting I said that having looked at how things
> > work there, I'm far from certain.
>
> I should have added: An option may be to link twice: Once with debug info
> included, and once with it stripped. Personally I trust the linker creating
> the various headers, including the section ones, more than strip's (or
> objcopy's). Yet then I can only repeat my observation that linking PE+ from
> ELF inputs looks to be significantly slower than linking ELF -> ELF.
>
> Jan
>

That was also attempted. See previous versions. And no, it does not work.

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 14:15:47 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 14:15:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339294.1600475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZUZp-0005Ug-Li; Tue, 16 Jun 2026 14:15:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339294.1600475; Tue, 16 Jun 2026 14:15: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 1wZUZp-0005UZ-Hv; Tue, 16 Jun 2026 14:15:41 +0000
Received: by outflank-mailman (input) for mailman id 1339294;
 Tue, 16 Jun 2026 14:15:39 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZUZn-0005UT-9X
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 14:15:39 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZUZm-00AOjC-Ie
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 16:15:38 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a315a84-bab6-0a2a0a5309dd-0a2a45018a20-24
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 16:15:38 +0200
Received: from [209.85.128.47] (helo=mail-wm1-f47.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a315a8a-c1f2-0a2a45010019-d155802fb572-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 16:15:38 +0200
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-490cf3000f0so46411605e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 07:15: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-4620b1083e3sm604842f8f.20.2026.06.16.07.15.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 07:15: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781619338; x=1782224138; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=X6HrybE1Da0/djgF2PYpKziFD3GhGgNlXFtXfFAImfI=;
        b=H0e9lTBRhIc5Xy7TqG9OF3glbFrNRs7o3YlwFIauJW8fT76KYWGjwr1Ytmh1MqBYI4
         FzAstS+i3RjhdA4UK/04Dcx0iDn952nGNGcCp98UD8wz8tyjoQ2ND/qACcuHbhP+S1mF
         ocW/lnQL0juZT9Zrtx8yLoVzRevjpldaarZ0mZPfH0gz/n7hU+b/s5jQn5dvzPw0nZQu
         D1nH/oYmX5ZuLBHKIqhrrAa/N/2a2M67VcrK04wf50EuvNT9qQduXuEI4uam1cBJiT6o
         RJErS+wJDo/eOUatpvXLpELPszyFRbx27L7OCTfocLVUO6laT/dtPz7+devVmWmG0sWb
         yEeA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781619338; x=1782224138;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=X6HrybE1Da0/djgF2PYpKziFD3GhGgNlXFtXfFAImfI=;
        b=YOM2Sux7Hn8E028nIT2T0dT+5rjLgXJsrzc6RYdxtSr0TuW99C5Hv6X479e+rnn/DL
         ANxmhsB/0b/61doTb0+Lyyx63dV2GR6YFvx15I4C5vWm/sKCXewFUmiDScY7D4pLhJ/z
         vcVRTRAaC7lhEQ9JW+PkWTJy2cTvWR4K7Kw5XiAfigvmY3IbTc710ZkEGzr+IADt/rhV
         hNxVPGxKx+iw4phogqrDInXNSId7uc2BDlZy6SwYo8YvOtTK2iR0kSIexZ5gQNYa0VK0
         m1b7fYDNMQdTWi/UJdEiZIbq163MZdTSU2XE6JVcriYHgFhV9JVM9CkMOD04rTiviEKN
         hf6g==
X-Forwarded-Encrypted: i=1; AFNElJ81n0J9KTWS5JA/zN7kx55SeTUGBB1wRwZycwW02n8ln/LB2IecWnzDob3L1C4R7SP681B9y0C7rz4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yya4OiaBULyyTy2tVr7hanop0hLDPBI1Ovyz/IXNm9YmbCsNsVv
	RKy4IDzhTvUmkXOeTf/kW1Rrz6pXxaRR/RQi+6Y2hz6p0eX/hxxKq9AC6jooz9WLDw==
X-Gm-Gg: Acq92OFin+f4RAk+qsJegym86rOrdVNAkXCJbMqHA605PVXStsdZ/dR7uqU1L7aEUEi
	IkRFeqcJ2UqfefIQVtVcbTEReaHOqV+pwkKsrXmtVCaXtJHF3iimsEjI+GYHF23XrM6dM9E7bmI
	BF8L6B5XJWvgVPYaH3upEQrWqUJZi18sXLaOnSaBrSS8LrBCN0dzqc6rMz/EQJy/Bv90tNdDYmi
	YoXAVG2a0rwOJQw9j+SQjI4QIyn9ImXAvmTt/OJwXVpfsLq8hU85fBnPZwPR1JzC+cN+8kFicVQ
	1BATo6T5F8iw8ENDI9ElqxUDW0t0NcYU5nYk5UvCiwGSbKxl5W2iXHZ2sjrOXEO7AXLpPrD+1At
	MShZhpUqkpZ1t0LSyvIfDMZl3ErD/h5Lj18cKcDhgtPzWWwfnpkATTROByj8j9KaroM7553/5kq
	4ITt3eXyjgQ3cNJ0ay5xljqzuw0cqNW5VIhb6+nWsQGbnCs7hoCsyFXAxp1HNSpZ6MSftmvTWhG
	3uyPeZ9ab7QDA8=
X-Received: by 2002:a05:600c:1f8c:b0:490:4b89:535f with SMTP id 5b1f17b1804b1-490ec4d6192mr263650325e9.8.1781619337342;
        Tue, 16 Jun 2026 07:15:37 -0700 (PDT)
Message-ID: <547d8b85-3537-4bb0-bddb-2ca2f14eb355@suse.com>
Date: Tue, 16 Jun 2026 16:15:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] xen/x86: Always strip xen.efi
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Frediano Ziglio <frediano.ziglio@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260608173108.2848469-1-andrew.cooper3@citrix.com>
 <b310db60-850a-4096-8900-54d0816e5063@suse.com>
 <965bcf53-accf-4297-bf8c-903dce45cba0@suse.com>
 <CAHt6W4f5KzkRhbDnCMS82zpAJ04-UkBoOXowyG=A5CT3yNSv9A@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: <CAHt6W4f5KzkRhbDnCMS82zpAJ04-UkBoOXowyG=A5CT3yNSv9A@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1781619338-ADF40FF4-34358960/0/0
X-purgate-type: clean
X-purgate-size: 1568

On 16.06.2026 16:07, Frediano Ziglio wrote:
> On Thu, 11 Jun 2026 at 15:42, Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 11.06.2026 16:38, Jan Beulich wrote:
>>> On 08.06.2026 19:31, Andrew Cooper wrote:
>>>> Some old versions of binutils ld managed to produce efi files which the
>>>> matching version of strip couldn't process.  This includes Binutils 2.26
>>>> included in Ubuntu 16.04.  Delete the workaround for this bug, and require a
>>>> less broken toolchain.
>>>
>>> And we're certain newer versions of strip don't do any harm to the binaries?
>>> Already towards Frediano's posting I said that having looked at how things
>>> work there, I'm far from certain.
>>
>> I should have added: An option may be to link twice: Once with debug info
>> included, and once with it stripped. Personally I trust the linker creating
>> the various headers, including the section ones, more than strip's (or
>> objcopy's). Yet then I can only repeat my observation that linking PE+ from
>> ELF inputs looks to be significantly slower than linking ELF -> ELF.
> 
> That was also attempted. See previous versions. And no, it does not work.

How exactly does it not work? When stripping debug info while linking (as
we now do for the first two passes), the resulting image should be both
small enough and correct. What am I missing? The only caveat I'm aware of
is the Eclair scan, where we should avoid doing any work for the
"auxiliary" linking step (the one not producing the binary that's actually
going to be used for running Xen).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 14:16:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 14:16:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339300.1600483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZUaN-0005zl-1E; Tue, 16 Jun 2026 14:16:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339300.1600483; Tue, 16 Jun 2026 14:16: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 1wZUaM-0005ze-Uu; Tue, 16 Jun 2026 14:16:14 +0000
Received: by outflank-mailman (input) for mailman id 1339300;
 Tue, 16 Jun 2026 14:16:13 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wZUaL-0005zV-Mq
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 14:16:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZUaL-00Fbu1-3V
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 16:16:13 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a315a98-bab6-0a2a0a5309dd-0a2a450ac2c8-44
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 16:16:13 +0200
Received: from [74.125.224.53] (helo=mail-yx1-f53.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a315aac-56b3-0a2a450a0019-4a7de035ac7f-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 16:16:12 +0200
Received: by mail-yx1-f53.google.com with SMTP id
 956f58d0204a3-6603d8697d2so4429028d50.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 07:16: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1781619371; cv=none;
        d=google.com; s=arc-20240605;
        b=GV7bu54ZpWpvsUMp92szU+NmkRK6pYbebIr4rYd/PDDWMQqC/sCjIzYRhBhb0hPdFm
         7rf3jXq+LElO+fjlOhHi+ywsgWSgbEFwahTRV3TKJ7ZGTNrOWCodjmHZuZLbV6XKjhCy
         lhUi9o8J83S87Vhy66g4jg9M0mYTKR8SMulJGpn20DdBR0ELC3DBGEbZd1558tMwAVex
         yFwWexJBkrpNJeWR1XWdto5CNW370zTxkYMSvqdTMGNI3Fgjau3q/B28D/VulDoR8THT
         74zvo2LQfAElm2a/milzxGkfIX6imWSocIhfY/emoxwOZAM7Uv2jZUWwZbi0WbReLHIG
         7pXQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature;
        bh=PMEAINg+aHa6o7h2UNOmdBFFwqVJV4ixMeJz12g4qkM=;
        fh=KJng1RkmGevvKbAEHtKfKAYuaGlCKyXsKh/qhUVbq4c=;
        b=iLvx6jGqd2tKLq/uDdDWI5e+BdDxP4OmiOuWnJ9kXXNUhsvwC78oMKJWue5aqSN3qH
         2veGYElNhXKMcyyoQgFNbstAIQppZC3b9W9cSYnD+EmtSLPkHnJJS7wbmGCpTv6gPHNr
         rjYdH1eapMq+idUdveqUgkOeTk3+UIzdpzpJllAadh8OYfCvqXf/y2nIHqa2VS7TAzEp
         goPrGN4wRQocVBoXgHO7aKQJzIP4X42sCeVORFREVOFracfT1/Z+tis/4icQYmuFDVG+
         OGs8lej/Qsfy8YFm4CI1BnI43G5xczJkkYLUE4hDxog/7riDNXlazDZh2sS/SQ5vpLez
         PXLQ==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781619371; x=1782224171; 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=PMEAINg+aHa6o7h2UNOmdBFFwqVJV4ixMeJz12g4qkM=;
        b=XJt75yViwHumICAZBjsmNGgh4nTP4Q8E7fcRh6oNLPaap9YPHGQLlckxMKw+v1Y6DE
         3jQSkETVA/MyYfyt96ncLOWezay9czIMAW49dM/s+Oj1rxYnYhV0akYZS89PqxdRdH3o
         nqSWRM9F/fFfOxTrtZQvn80IxygqzHck/GdyvadL29x+8PluocDvC+ei+hkxYVMfXoxJ
         edywS1Nq+m4ghoKgniw66Ddze3PEWQZ8kB3L551gfLcIqtl+QgfZZVycKliZ2JCOQM9b
         zkkoCRjf1X7lO8yNe+8QUaqX+aIWDlks5ll5g8D4HaOWZFRH9o6dDg6rg1Zg/Sk5KUI4
         LLXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781619371; x=1782224171;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PMEAINg+aHa6o7h2UNOmdBFFwqVJV4ixMeJz12g4qkM=;
        b=c66ZoyVqZ359WbmP/Cn7/wT1wqHlA3XR09zRHV9TNbEHZXj4OYxQPrJGdSRv05U7YT
         O6P/4tDX/2TPizWmsWUohAesSSNIoUYG9Z7QhDa/2y7LkycJVP8qqCabDz7L300oMA/E
         UuNeAoCtz1QW/no/a465KBBefRa7urcI+8JcIBDtGItDaB7+RxfuKd2x2FidpGcWXCki
         NPidCOdQtPCRFn54ZrTAvoVhR7nbI6oeHip5UWc7rOEElAzFNMNp50E0A2IMiWufk2dJ
         1XI53nbmOHGdvKy53gPe+DP3DzL4imA6mLJ2+2FNhRtFyAGIFznmFyh0xTfeozgdEbpo
         xfnA==
X-Forwarded-Encrypted: i=1; AFNElJ8YNvujL0yeTQt58u1PLEEPQiFCmOtVsrlmPu/TtgQpGtszBP953Q+M9zfhf1KlsuSeCWuo+4p8ut0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxRXUlDHqpinyUv6Xg2TDGgbbVdxIABfVluHP09IKr9tAfzGNjw
	5/B2DemVzxBvlggt3Oo3+NtuWW60YENYjtafR4QB0pZ2kPVUaj49hPCzmUuN+D2cdaGXHkJkr/r
	/FtYyBt2SU+DIzoW9kCc8pztFGExm4ns=
X-Gm-Gg: AfdE7cmLijTIDQJ2MMIn9h+Zv9/LhpUUQjt8lN1LdodMWskK8PuBtSDedy1ToVmnLJ7
	sRW0YoxYSi5XKLUNuZu/h7qKVrDdltKDU1C0I+5VQFKReA3W0eU+KcUx3yZoqqntyVSlbkwPnVO
	r4/Osigt04ARERiv6WuhKIY03xfj9KrMSDyGWdHgCa5ZXDhku4MV1tTnEVG4YSModMViKWYEsUS
	0WBHAo4fvLYrI7NHF/ZYww141WJGDVgc2dfy6s2+NfdM0UD8SvPtZ+A+VyTeG9SONAwzjXYhCVT
	+Mfi4exWqLZqmSqbFjFX0oEjO0lnoBoA15N4lQ==
X-Received: by 2002:a05:690e:4807:b0:65e:1d95:29d5 with SMTP id
 956f58d0204a3-662b6183fe2mr1916247d50.41.1781619371354; Tue, 16 Jun 2026
 07:16:11 -0700 (PDT)
MIME-Version: 1.0
References: <20260608173108.2848469-1-andrew.cooper3@citrix.com> <b310db60-850a-4096-8900-54d0816e5063@suse.com>
In-Reply-To: <b310db60-850a-4096-8900-54d0816e5063@suse.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Tue, 16 Jun 2026 15:15:58 +0100
X-Gm-Features: AVVi8Ce60iJ2yoaZFcGUkehgzalffxMPGat1Bsc7VJ2liVaXZ0g06gAmoCel_r0
Message-ID: <CAHt6W4e9j-hNuTSuGQ=rZeUEcTR-D+6d=V4-gPZxzn20RFL88Q@mail.gmail.com>
Subject: Re: [PATCH for-4.22] xen/x86: Always strip xen.efi
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Frediano Ziglio <frediano.ziglio@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, Oleksii Kurochko <oleksii.kurochko@gmail.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	"Daniel P . Smith" <dpsmith@apertussolutions.com>, Xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"
X-purgate-ID: tlsNG-4011c0/1781619373-727758B7-9459311C/0/0
X-purgate-type: clean
X-purgate-size: 2439

On Thu, 11 Jun 2026 at 16:18, Jan Beulich <jbeulich@suse.com> wrote:
>
> On 08.06.2026 19:31, Andrew Cooper wrote:
> > From: Frediano Ziglio <frediano.ziglio@citrix.com>
> >
> > xen.efi with debugging symbols is ~45MB, down to ~9.3MB when stripped.
> > Multiple firmwares (as seen by QubesOS, Trenchboot, and XenServer) are unable
> > to boot xen.efi when debugging symbols are included.
> >
> > Either way, having debug symbols by default is abnormal and contrary to how
> > the non-EFI path works.
>
> I'm not happy with how things are put here. There's nothing abnormal about
> including about anything. What is abnormal is the manufacturing of a 32-bit
> ELF binary from a 64-bit one by mkelf32, to please bootloaders. An EFI
> binary should be permitted to include whatever data it wants, and firmware
> should be able to load it as long as memory permits. I don't expect you
> mean to indicate that problematic systems don't have 45Mb available at boot.
>
> Including debug info can be a waste of I/O bandwidth and memory, when the
> loader doesn't skip loading those .debug_* sections (for valid or bogus
> reasons).
>

One reason, at least for secure boot, is to compute the hash of the
file. The hash includes almost everything, excluding the header
checksum, the signature section header and the signature section (all
that must be read too).

> > Produce xen-syms.efi unconditionally, just like xen-syms.  If
> > CONFIG_DEBUG_INFO is enabled, these will contain debug symbols, and if not,
> > then not.  When xen-syms is processed by mkelf32, the debug symbols are simply
> > discarded.  For xen-syms.efi, call $(STRIP) to produce xen.efi.
> >
> > Some old versions of binutils ld managed to produce efi files which the
> > matching version of strip couldn't process.  This includes Binutils 2.26
> > included in Ubuntu 16.04.  Delete the workaround for this bug, and require a
> > less broken toolchain.
>
> And we're certain newer versions of strip don't do any harm to the binaries?
> Already towards Frediano's posting I said that having looked at how things
> work there, I'm far from certain.
>

Yes, software contains bugs and in this area binutils has quite a
history. What we know for sure is that a specific problem has been
fixed. Are all the bugs fixed? Probably not. I don't see a valid
reason to wait to have some kind of "bug free" version.

> Jan
>

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 14:29:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 14:29:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339309.1600492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZUmq-0008O3-2g; Tue, 16 Jun 2026 14:29:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339309.1600492; Tue, 16 Jun 2026 14:29: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 1wZUmp-0008Nw-W5; Tue, 16 Jun 2026 14:29:07 +0000
Received: by outflank-mailman (input) for mailman id 1339309;
 Tue, 16 Jun 2026 14:29:06 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wZUmo-0008Np-Pg
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 14:29:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZUmm-00FddU-U2
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 16:29:04 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a315da3-5cb7-0a2a0a5109dd-0a2a450b9514-44
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 16:29:04 +0200
Received: from [74.125.224.44] (helo=mail-yx1-f44.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a315daf-212f-0a2a450b0019-4a7de02cc46f-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 16:29:04 +0200
Received: by mail-yx1-f44.google.com with SMTP id
 956f58d0204a3-66061993121so4712318d50.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 07:29: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1781620143; cv=none;
        d=google.com; s=arc-20240605;
        b=GkIfhHT4HMRtNP0G6vQLs+Wo5PVRVDac0DbPeoIHQ84Zc6DTLNnNJo5JkSnVsiXrG8
         nLiFoECw1dckZ27GE2DNuaUNtL9nu3aXq6+JsXcsrWK665vSYLVI6OtWGW6BdQhFgyzf
         bkoLnAt6XuQ/CuF/qjDczB4e1j8lOhj5Zc5L2gKiUwgEAGweXRp4QzUMX/ZJDP87bE8O
         dUc1bOVODt0GohEZkoZB1UUOOemT1ex7SVpkv5XOkFaDZj+T8+cRK/CqzI9c6CL8AIN6
         +2lNRBRjxpB3AvgaeUDNrRWaEw986/HfXLpKTquYNFUaTMP3gZl2mdjRon7tEwitWz78
         YVhQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature;
        bh=7Zn9w5al2/YZZ9V57YMa5T4QiMRs1kVYvrWWkCpQORY=;
        fh=xMgxCykwvpWY5mH3OuER2Pjr8NYP4c7sDzDS4rEH5ro=;
        b=Fgf7i72Vwxjs92mqq7yvoKTqxs9rUnw/LwJte2f+zSpaekpPzqP+drcGnJwx4KokeS
         b5DPwEzD26iy4HNZ9Y42JWHlDdgy/g3Xzl9R1NzvrygymjuZ5fcurxrLqOW72eChL3xx
         uxspCSeqQ/irOjDiQ4n+M58NGs3LSCSxQp3dZAmcoFIrIunfouFgrgD02Wm7Ii9BNoRL
         2uwrFux5trewWuqbuhBUFn11mTj/+2iozRXJx3L1Vo7yAIEX4ELlu4Z/uhSEOO2LS/hd
         aNZmGQH8k39iFli5AJTcl342en2O9ziaxRX+E8bdQdQq3EOYNRIpvDRovB9Y9oIqbFNm
         qKoQ==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781620143; x=1782224943; 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=7Zn9w5al2/YZZ9V57YMa5T4QiMRs1kVYvrWWkCpQORY=;
        b=ZpMq6WbQ+78hrzvoW25AdgljFXxI4wDUUeqwllk4U45gwhqmqly4bcN4EwP7ASzIho
         Avx/nHpESYmqHSbDMvXWqOyCWcBqYRW49Px0NhT6SOiyU6+zV7nCMe2UiWEVNJIoOgkV
         a0H+oL0vtC3kyj+8UxMjonR9+vOqPSMla7lgu99Bz1v45KlrljC5UwxwlB9ob78/as21
         vkNSADlux573s3T+QoI7onQBtVh2mGB9c9G8wlA9MgCKccoL7KoxQHhKp2KgszyjZum5
         Fo4k/ItW6/cv0jAZ/oS/n+FFuVxOoxF8YNjUg3kX6xLsrRsP+LWA2KcVgArEN71OWGvx
         AjAg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781620143; x=1782224943;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7Zn9w5al2/YZZ9V57YMa5T4QiMRs1kVYvrWWkCpQORY=;
        b=a3xeJmCIylIgWCzWWEesblFlu9D1SwGxVAVOCwF/gxIRvpKHGFK1kL1PbhPKX1MmAL
         /w2ggf4XnoGDPpQnZAOOuB/fthppoUQJJpPQmwb3cD+RtjMpEwKCtuge0j7cLmK7BT7V
         PxFgBT2ijyUJ4NiJ1K0QO6z5RsU+iX/0IcWSJiqRBN7aRt9rh5A910ebDgMvl4wj6x/E
         FrQsS9ILVXGIj4K/ugwDNzpPVhpTyGkv2K/FAEP9fU5RFaushqjFO5cKU/za6Af/dL2y
         sagQltn/qzAHtyTCPgc3+p9bNKYpneYgc7r90cXz8/hcuF54OyEt0GdCktw6qI36Ju1z
         sUqQ==
X-Forwarded-Encrypted: i=1; AFNElJ9jXRG0EjQpt2BSWX1/61fsl09f8WdCxQnQKWIFVcRrUcvSXD4Y2J5VAxv7lQ4vNuQg2DwwoxEh0tY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywd4U/P5uBNRYpTxgCXwjgTrNA3HNETik6SZqVmzSRviZLb7xKN
	J/Aid+O/ofrUt7yYpEPpeapMJwugo1F2hxve0clPGMD535ABTzes0Panbx8nH0wGtV7W/VWQSiJ
	hBsCiZQ4pH7XbpvNX6X5ou75yTNl24NE=
X-Gm-Gg: Acq92OFGcigaNJ+smUibcLr5bqJrZXiH4PeY3C9XtAQbz8sGzqYJa/SUxWZ7dW6QX9h
	GxWOpjuRGmE9xSGWd++WKqmpCgt19voxMpeJndpFlopDatrN80dIu1HaTvdSJviqM9RgG/7Vawe
	y2QsWEvqAbHbg9i6z3ZyYsV5B7jIil6J7T+qpm5vNkIM1DrS9zhH8sTZYXabE/TSvA4YnHocMHA
	hAbBJE32WY79BpnW8vceXTwQwEvgBz27GOMKl7DSdCiznUEYFSgCiVttZ9p6lFfaaIsV+MQOTsc
	4FMAbWQ+JbGrPCh+agt4hsKWiKBpDKzk4RpZjQ==
X-Received: by 2002:a05:690e:bc5:b0:660:5520:1b9a with SMTP id
 956f58d0204a3-66284e3c4a1mr13389978d50.17.1781620143174; Tue, 16 Jun 2026
 07:29:03 -0700 (PDT)
MIME-Version: 1.0
References: <20260608173108.2848469-1-andrew.cooper3@citrix.com>
 <b310db60-850a-4096-8900-54d0816e5063@suse.com> <965bcf53-accf-4297-bf8c-903dce45cba0@suse.com>
 <CAHt6W4f5KzkRhbDnCMS82zpAJ04-UkBoOXowyG=A5CT3yNSv9A@mail.gmail.com> <547d8b85-3537-4bb0-bddb-2ca2f14eb355@suse.com>
In-Reply-To: <547d8b85-3537-4bb0-bddb-2ca2f14eb355@suse.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Tue, 16 Jun 2026 15:28:52 +0100
X-Gm-Features: AVVi8CcqAUrOGzIhTfsCCWn5TyNqZr0v4O0ABmKFOuBzWZrFSGVlzDa6hxaUGN0
Message-ID: <CAHt6W4crK-Lgt6rTsERupEGhdXtjjKJvh3F=K_U-3vXDtcETBg@mail.gmail.com>
Subject: Re: [PATCH for-4.22] xen/x86: Always strip xen.efi
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Frediano Ziglio <frediano.ziglio@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, Oleksii Kurochko <oleksii.kurochko@gmail.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	"Daniel P . Smith" <dpsmith@apertussolutions.com>, Xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"
X-purgate-ID: tlsNG-42698a/1781620144-2007BF3B-4B51C792/0/0
X-purgate-type: clean
X-purgate-size: 1805

On Tue, 16 Jun 2026 at 15:15, Jan Beulich <jbeulich@suse.com> wrote:
>
> On 16.06.2026 16:07, Frediano Ziglio wrote:
> > On Thu, 11 Jun 2026 at 15:42, Jan Beulich <jbeulich@suse.com> wrote:
> >>
> >> On 11.06.2026 16:38, Jan Beulich wrote:
> >>> On 08.06.2026 19:31, Andrew Cooper wrote:
> >>>> Some old versions of binutils ld managed to produce efi files which the
> >>>> matching version of strip couldn't process.  This includes Binutils 2.26
> >>>> included in Ubuntu 16.04.  Delete the workaround for this bug, and require a
> >>>> less broken toolchain.
> >>>
> >>> And we're certain newer versions of strip don't do any harm to the binaries?
> >>> Already towards Frediano's posting I said that having looked at how things
> >>> work there, I'm far from certain.
> >>
> >> I should have added: An option may be to link twice: Once with debug info
> >> included, and once with it stripped. Personally I trust the linker creating
> >> the various headers, including the section ones, more than strip's (or
> >> objcopy's). Yet then I can only repeat my observation that linking PE+ from
> >> ELF inputs looks to be significantly slower than linking ELF -> ELF.
> >
> > That was also attempted. See previous versions. And no, it does not work.
>
> How exactly does it not work? When stripping debug info while linking (as
> we now do for the first two passes), the resulting image should be both
> small enough and correct. What am I missing? The only caveat I'm aware of
> is the Eclair scan, where we should avoid doing any work for the
> "auxiliary" linking step (the one not producing the binary that's actually
> going to be used for running Xen).
>
> Jan

One thing I remember was the build-id was not the same and debugging
tools could not work.

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 14:33:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 14:33:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339317.1600501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZUr1-0002AK-Is; Tue, 16 Jun 2026 14:33:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339317.1600501; Tue, 16 Jun 2026 14: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 1wZUr1-0002AD-Es; Tue, 16 Jun 2026 14:33:27 +0000
Received: by outflank-mailman (input) for mailman id 1339317;
 Tue, 16 Jun 2026 14:33:25 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZUqz-0002A4-OL
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 14:33:25 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZUqx-00BlLt-Rf
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 16:33:23 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a315ea6-5cb7-0a2a0a5109dd-0a2a450aa7d4-26
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 16:33:23 +0200
Received: from [40.93.201.8]
 (helo=CY3PR05CU001.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a315eb1-56b3-0a2a450a0019-285dc908f789-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 16:33:22 +0200
Received: from CH0PR04CA0038.namprd04.prod.outlook.com (2603:10b6:610:77::13)
 by MN0PR12MB5812.namprd12.prod.outlook.com (2603:10b6:208:378::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Tue, 16 Jun
 2026 14:33:18 +0000
Received: from CH1PEPF0000AD7C.namprd04.prod.outlook.com (2603:10b6:610:77::4)
 by CH0PR04CA0038.outlook.office365.com (2603:10b6:610:77::13) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.113.18
 via Frontend Transport; Tue, 16 Jun 2026 14:33:18 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 CH1PEPF0000AD7C.mail.protection.outlook.com (10.167.244.84) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.139.8 via Frontend Transport; Tue, 16 Jun 2026 14:33:18 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 16 Jun
 2026 09:33:15 -0500
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 16 Jun
 2026 09:33:13 -0500
Received: from [172.21.53.33] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Tue, 16 Jun 2026 09:33: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=I4XpuVQvgMEHFuw7CR1YWWyszNXYEKyyst9D93HEXbhgod7OEDIsqkDOsXqpiRQ6cujC1/2B9ySf5VmD3mg9VrGnwld06QdrRW5jVp1PoWx84lwP0dXEVPQ7NZbTgFhpiJOGkz2UJIctND4tOM2qAHAeTlux14BxA2OCk/1vWcDbolzwY0e4Se+Pb7TTiPdVwQHGeYSVf0OapKKyG6XEkwScAuQmdOVkE7ipXh+8Y7UCOnGTen/z3jiTj1vUU50WeR/pFlDVf8ptswYRdMCtajJuWpWx94YP6ayejB+JB9iXEz8QX1jB6rPRghSyTUhAwtoyb3jjWeAxpjisGJMRuQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q11PU8q1qzWMsLlxK/9Gad50f9CBRAa4NsAtVvxEGUM=;
 b=tzrkgUsi8bEFWuVgv5R6uJmLVlpq6ROAioPMLxcKwqaI1h0y13CRx5d+46i0Hem2j2ArcY+HR570cE7ISBTYnppzglL9Q1iQRBYHag6BN+NFJcqBW49VFERzpZ0yxDSLVmM6jxwc0ag7HGAqx0GtEO1N7Dc11+e+50M++xsHr5GNRhg+bmc4JfSgqoz2o+ewB3VlFVCL6uMI74JBEoPiDwB3Ph9Wga4A8WJqyciP4Cf0s+KBGSMifE5PDcat9+SzXlby1icYMOG8J22+4PRO3lmoldn9GZ8cRsu+dsbTQydy23kuK/Us7RZCkQX9MO1CAOPG4M6pDJjxG3/KQENAkQ==
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=q11PU8q1qzWMsLlxK/9Gad50f9CBRAa4NsAtVvxEGUM=;
 b=TwcKqwP5qVsepFny9jb4vd3qNdNHEhkQPg1UqKb0DVFOReYvp20j+bUcU/xNpnBTf5nhtlIuP4aSZAdDvJ8EGJ2eOZlkVx7lb7p//D5i1vuo8OXwkvchwb/61iE7qp+KrsjZBL4/zyE//H6P6ys4Phpzdw1cW4m3UJF9k+HcQCI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <d0d2eeb1-e94f-4210-a9d3-e7c9b4c3ade2@amd.com>
Date: Tue, 16 Jun 2026 10:33:12 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] Revert "xen/cpufreq: fix usages of align_timer()
 in the on-demand governor"
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Jan Beulich
	<jbeulich@suse.com>
CC: <xen-devel@lists.xenproject.org>
References: <20260615193944.19392-1-jason.andryuk@amd.com>
 <1fbb67ab-09f3-4924-b6aa-139fc5d1acc7@suse.com>
 <ajDxhjCed3cQ81od@macbook.local>
 <a20eb654-8d77-4778-ad1b-09424065a69b@gmail.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <a20eb654-8d77-4778-ad1b-09424065a69b@gmail.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD7C:EE_|MN0PR12MB5812:EE_
X-MS-Office365-Filtering-Correlation-Id: 13c6a4e8-7bfa-4d8c-540a-08decbb4354b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|36860700016|376014|82310400026|1800799024|56012099006|11063799006|4143699003|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	v7EpW0Ue1OHEi5RwJ+XzWElHiZJKqBT4k6ca8KdR/f99YLD4eP0dlA4Cw2oDcQV0gdMHmY1cHXuBzkvhzzcDyRa8LykNI0hJPDdnD5n1cODfASorK0l1o/GMTRkxQzHXx6EghLKKkvrkCR4r9OLL8qLJZJY7w7FpC+MCeCoSZi9ZQhXpfHWFokmPxTbbWq2ZvuUdnTiOEdL4Mgz6MLhO+AODyHKRRFr+9wbl0/YMZgNRwgbHYvMUDdRI7C4uaG3n/Z+GmDn9PXqgatlNZcyRhFdxaczwB1GXf8O2GVumsQnsE3kblRS4PfOkR1E9zyPEn0oSaW5KmIFCVyjanTsqh+bkn6q643H7E9vJZ+S4YH1ihRlO63UgLOEj656i8RFhuZ5cGCoX2nC4V8cfJfa9+e7FJWHrLhCvguGwRm1ijOvE4mM6315MBpGSDghFexuF5oUYZZzygK3VspIHqEkaH0J7DJ4QASxU5W07Iq/Z22t1Gf+1ipjDPvtAzUSMsNB1NbJifliu1Ang/6HphVIk0FJ9BEg0NScouz4zhTU/0C84NtcieI0QdlgAYYVWSnocdZrecP4RA6pxhmQp6RPM3ewgm8KzQbhSYl/E8UUn94B4kNZ2CGp32pe12ji1cJ5c3Uff8DynTxohkwIoMSXKPw0MWs5Tve0IqEZFC+F4W7FPWwaX4Km+jq6NSpkLey72Sl/oYWAdD3QNNyPHWHleIsHwhpiN6wgxZmyXovMpw0M=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(23010399003)(36860700016)(376014)(82310400026)(1800799024)(56012099006)(11063799006)(4143699003)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	g6GOUuOtXN8EvDCSOKB/Jt5LThIrCbOixeSqxUncLRs6pibAtQZuORL+65fKlRxtwEavCucHYey9QH+FozFhWOP03LoWfd/9kA72uokCQkDEcknCMNFI8plLEwCigUB4Dow34/OXT+K1/kSodEQ//K8QbAQPB9P8uXHSNMQ+macgTrBAzNElVj4ZKNkpVFSOGPX5x4+ehwaN9k62PgutNFo2rLXqLQ9PhTDTrMvZu9qJNzdjk3egGRPBPfIO+DgBFj2IRUGuK/QdgDikJZVgG33l/zGN9WMKnUxEyqfs27TyYCY80jbDD65nRoj4O8C2NFxs7GvA0uxg7o/aKTDH/3rE5yeDI5DOJix+QdpoVIlV+eNgeeaiIw8hu5XUN+wlD1bOteWMGDoR0oKVuAIPzkfM/NZugwqN1OkX1qBMPHmHQyP+qyNFDW6Huby+vM2c
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 14:33:18.1599
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 13c6a4e8-7bfa-4d8c-540a-08decbb4354b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD7C.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5812
X-purgate-ID: tlsNG-4011c0/1781620402-7D1848B7-98DA841A/10/73395122804
X-purgate-type: spam
X-purgate-size: 1458

On 2026-06-16 03:31, Oleksii Kurochko wrote:
> 
> 
> On 6/16/26 8:47 AM, Roger Pau MonnÃ© wrote:
>> On Tue, Jun 16, 2026 at 08:30:25AM +0200, Jan Beulich wrote:
>>> On 15.06.2026 21:39, Jason Andryuk wrote:
>>>> The original commit showed a ~6% regression in a benchmark.Â  The 
>>>> call to
>>>> align_timer(firsttick, period) rounds firsttick up to the next mutiple
>>>> of the period, if firsttick % period != 0:
>>>>
>>>> align_timer(0, period)Â Â Â Â Â Â Â Â Â  -> 0
>>>> align_timer(1, period)Â Â Â Â Â Â Â Â Â  -> period
>>>> align_timer(period, period)Â Â Â Â  -> period
>>>> align_timer(period + 1, period) -> 2 * period
>>>>
>>>> So adding the period (sampling_rate) before calling align_timer() will
>>>> in most cases incease the expiration to 2 * period (sampling_rate) (the
>>>> exception being firsttick % period == 0).Â  This longer timer slows the
>>>> reaction time of the algorithm.
>>>>
>>>> This reverts commit a0ed5bcfbeee81c91c574ad484faa057054eaf09.
>>>>
>>>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>>
>> Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
>>
>> Adding Oleksii for a release-ack.
>>
> 
> Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Thanks everyone.

Sorry for forgetting to CC you, Oleskii, and mark as for-4.22. 
add_maintainers.pl does the right thing... except during the code freeze.

Jan, thanks for fixing up the indent.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 14:39:16 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 14:39:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339325.1600510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZUwY-0003aH-4f; Tue, 16 Jun 2026 14:39:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339325.1600510; Tue, 16 Jun 2026 14: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 1wZUwY-0003aA-11; Tue, 16 Jun 2026 14:39:10 +0000
Received: by outflank-mailman (input) for mailman id 1339325;
 Tue, 16 Jun 2026 14:39:08 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wZUwW-0003Yf-9q
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 14:39:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZUwU-006Ctl-Vk
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 16:39:06 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a315ff1-e002-0a2a0a5209dd-0a2a4503d592-36
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 16:39:06 +0200
Received: from [74.125.224.49] (helo=mail-yx1-f49.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a316009-672d-0a2a45030019-4a7de031e849-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 16:39:06 +0200
Received: by mail-yx1-f49.google.com with SMTP id
 956f58d0204a3-66077f6c438so4647857d50.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1781620745; cv=none;
        d=google.com; s=arc-20240605;
        b=VHOSRfOU0mRwIUVSobkzkBJAWFkBxF5zNvo+6qn0QvZb8YY877LLl85FMgvxfe6fbi
         tetxmFwsjPLtMnJcXxaNlimu5Qd6nP1aFTcYSYxoSB9L5Sj57vEYEP1PcaSusBJ7iPbC
         kGsbYi5eERVHP/Q+zmAwacposH/xYfDWQJUPkQ96O6N4v3yCkMqIdRG4qM6wxW+nChFZ
         C3zaESVwkMN9jv6Xg1sHdxn36sFgiyUaBb6vaRaqEGyiIV4OiymmkVy5ZRn2O5gLHLvA
         Myjz5AHhOP2sDPN98neErwz7cNEhOTzuR/sVcjvSx6KGpbXrfnAMlZehd3laI12R/25A
         3+nQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature;
        bh=snKhAOw3RP7MRbxbkR8ObtB/TOYZ+pw+WAKjH/t0hzc=;
        fh=A72rsFT1N8cd1FI/a4TfKbyiQw9eFOMoec7Qj58Q2a0=;
        b=KcnUuG33vBvtXSrS7WpuDxGCQzFlxkDG8oEaeLPkTG/K8NpGcDcMxS2VJgBbTImTxN
         tG/CMDKbFsMtsW9pEVFhY+0sd3mWEzFGif7LOuvzWgz7JzdimGSm82BvCX5NBAJB6KVg
         BD6P4O6OAGU+90qg5cJEpxOu7D7NcaA/SM5vqoxm9akV8vmWM1y4Xm8V6DKiylC3edll
         Bk1Qmp0ZJQwkF/Q6FL/cjlajeh49ZmPq4AhbPNAR8fWBAmtdQVPZGyItBqehKQNuDx8P
         0vWV7KmWmy7cuZfU+cNzorvemNKz2Hg/syGgi6udfSR+tQRveyfTTaqW7yqDtF5z+EeG
         yI8Q==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781620745; x=1782225545; 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=snKhAOw3RP7MRbxbkR8ObtB/TOYZ+pw+WAKjH/t0hzc=;
        b=cOiCe9KMEGfvhi1OgqhyKZ35p2gt+iisTNQCqFQWThQjDNADnMVK8HHTDnovf3SyLe
         KjNMjycQIKteaANSs5QjUQwW8ltm7C1r1m5+2drRxf0uVzblTK+i8Nw7Fr9oxWNuV/Qr
         qYV9h3BK9qRRegbl1ZekYDX7tVnp1S4XjznhDzy3VoF9WN+BUcgP0u4ZkHVU4NyRjn1D
         b7fV1iBWHw9xVa5cXLFiSfkanJZEKHVJEr8BkYjZ7Icylm4uec2CrwyN/0NCmj3RBbrm
         tgl/CXCBbdX0fyPSj2NWMpa2NoeYx3amGVJdmE045wfs/Y1tOPdLsbj+t8NZ6FkR6cn7
         ycRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781620745; x=1782225545;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=snKhAOw3RP7MRbxbkR8ObtB/TOYZ+pw+WAKjH/t0hzc=;
        b=av7ybo+GEoVjBXOR4leduOWpKFokP8h35DFt8gT0GwR1BikjVAjPrGRk5aYXf9haW6
         w/TD3l2RvbDeYgkf98zskBuXBGVdjrDZ3CnR4HQfxstdjI6C1lzvASIUEyFT3D8VEvSH
         507Kexxf26qSh0DmyCIAEnFcHvj2tq093bG5pTGlha+X/tEQ6FI5OKDchuf7T2NcTDou
         q/rG0j24gS+qvZ5iL0Ky4JJhnSpGI3CbS+hm7GByhR5wIV+e4yrQqwDq04ClVCRBDVup
         vc8Uq66kbmAJZKOem2FWfyIjXnrA1KQ8AMgBqVC+liUB/UZlKQvabYz3wTI4F0JSmxNU
         +Ctg==
X-Forwarded-Encrypted: i=1; AFNElJ/gb+qsdVVlCs3acOr2j111WaicJN5ispmLmsc1RpLjbugJLn42NdSY6W26c61tOXjhXvzJpXy6j7Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwVFnHZuSJZd/oiXdjO8YUceeyjyhIpsrLz3d2MjuO1QsB5rszH
	36bxvhB7kT6tfJD1b1hfpVpiRxC2uCHJjaz5+wsTTu1JE0xwnJUPcXhlWpU6PIZdgO29IHaXmIY
	P2Wi3QlHM4FlBGNoMQcybHHX7fHxzyh0=
X-Gm-Gg: AfdE7cn6V9gyaz9TZxf+hDS2Bwg7kWZBqI5WMifyzqbH0NMeUMSVfvrgPKknNdmAQbc
	kM/ZwgeJMD7/bhRVxgxqnqbuJRyTO4R2rflSTedH6NgENIa6Rn15fkKApSRxeUGrjXLSxtWRDyh
	1najD9SBQ68rJh7vLfqED3h7iARLlwII5A1c33n4KviTueZYIoMkQT1UksZ/SfUKcY2o8g+LN0K
	cZ8R4rT3XS0R7yHBXIxlrRJ1C6eMKt2rtY1pWkXaCn9PSIIsaRgbRJXcdXCJHdXY73wGGBKWYOi
	ccOJuqbf0vJptNhiwSpyASLO4LPZVlYnq5xs7KVtfNMJQZoI
X-Received: by 2002:a05:690e:b4b:b0:662:b984:a5bb with SMTP id
 956f58d0204a3-662b984b7f2mr2227634d50.19.1781620745208; Tue, 16 Jun 2026
 07:39:05 -0700 (PDT)
MIME-Version: 1.0
References: <20260616101336.44009-1-frediano.ziglio@citrix.com>
 <20260616101336.44009-2-frediano.ziglio@citrix.com> <3506eb69-f057-4c0b-8321-03cfcc6dda2a@suse.com>
In-Reply-To: <3506eb69-f057-4c0b-8321-03cfcc6dda2a@suse.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Tue, 16 Jun 2026 15:38:53 +0100
X-Gm-Features: AVVi8CeJf3h93Pl8DlF5pIS7v9oBvmBU9t7cIeeP3Xi-jWPM5Y7PAKcPDIrrG7U
Message-ID: <CAHt6W4et8om1AO+v_VVpikhd0Nsuc_V_OFSm0r1rgzFJ_2wH6w@mail.gmail.com>
Subject: Re: [PATCH v3 1/4] Align relevant sections to 4KB
To: Jan Beulich <jbeulich@suse.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Frediano Ziglio <frediano.ziglio@citrix.com>, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
X-purgate-ID: tlsNG-33051d/1781620746-3AF62938-AE13FF33/0/0
X-purgate-type: clean
X-purgate-size: 1429

On Tue, 16 Jun 2026 at 13:27, Jan Beulich <jbeulich@suse.com> wrote:
>
> On 16.06.2026 12:13, Frediano Ziglio wrote:
> > From: Frediano Ziglio <frediano.ziglio@cloud.com>
> >
> > Required by UEFI CA memory mitigation.
> >
> > It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
> > in the pagetables.
> >
> > NX_COMPAT is a requirement from shim-review,
> > https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility
> >
> > Sections with different permissions must be in separate pages.
> > In the case of debug sections they are contiguous and have the same
> > permissions so it's not an issue if they are not aligned to the page.
>
> What if .debug_* starts in the middle of a page? Aren't you further
> relying on .debug_* to be r/o (i.e. neither X nor W)? (Right now
> .reloc is what comes immediately ahead of .debug_*, and that's r/o
> as well, so not an issue in practice for now. Yet as indicated, the
> description here wants to be usable as a reference when this later
> needs extending / revisiting.)
>
> Jan

Can you suggest a better wording?
Practically I think before the .debug section you could have the
.reloc or the SBAT, either are permission-compatible. If in the future
we break it for some reason we'll fix it again.

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 14:42:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 14:42:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339336.1600519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZUzO-0005YO-KQ; Tue, 16 Jun 2026 14:42:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339336.1600519; Tue, 16 Jun 2026 14:42:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZUzO-0005YH-HF; Tue, 16 Jun 2026 14:42:06 +0000
Received: by outflank-mailman (input) for mailman id 1339336;
 Tue, 16 Jun 2026 14:42:05 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wZUzN-0005Y5-64
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 14:42:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZUzM-00FfT2-IR
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 16:42:04 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3160aa-5cb7-0a2a0a5109dd-0a2a4509bbea-44
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 16:42:04 +0200
Received: from [74.125.224.54] (helo=mail-yx1-f54.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3160bb-2497-0a2a45090019-4a7de036b55c-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 16:42:04 +0200
Received: by mail-yx1-f54.google.com with SMTP id
 956f58d0204a3-662bb8b1f93so717500d50.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 07:42: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1781620923; cv=none;
        d=google.com; s=arc-20240605;
        b=QQqFIc9LsNteWLNUNLVl5C0sH1M4w2rgoRBl3se3eE7s2PU4x5MZbiHF4zSsyJ8hga
         ORpCQ+H9VXfBN8Mz2UOZi6hJCk0mMgimdtcd4KIqPwJxU6uo1Qjveg/qcKaxWUwQ1Bd9
         p0NWChnF5/xKmlR9F0ujhtsos5xdqKSn9khZxg0Mn91Q5jok639iRAxcr5HaH2x3+KUB
         tEGu/uqn47NvkfdXr2MDrsDGOaSZ7C40LGAbQxsew1cEhwqXDfeud/q1aeztIZoLFY7s
         dd9AH37p3evYNVnkGWiXU9jzS/uZqvGUg2LzEwNX76/zo/n72dEbxwLr7Jdj/QufILsg
         qzyA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature;
        bh=kI5MX0rOS8Inx/kYqgRKPRGZwjeNwSKd66xuuIcZP9w=;
        fh=NYSOBtamoLuT7+PMml2Q2jk87NGsNwucrssafcE0Kbk=;
        b=kQ0oyRZkAMs6XGAYoM5Xpky8beNT3s8DQnLQ0qFFOvpiw5ztsUUEDF6ozlgdg50Wv7
         8vN11kftY7i+Tnfi0hiv/bZK2DVHwdFLrP1XmV/DULONvO4yEajcTcVDCp01zs5PF/2Q
         fjQSPAhIA6VT4bQ7N08D3AXxvIE69LkXQvOfnSvcIQ97HfW/N/4tVh9pCRKGwHeED6c0
         TnegH3xCn91MBsgt28oA39RW4Ukgpy/RUPl353P2jNzD7xh79ZdUJngKF2acpqpDJ3Ec
         CTwlZm/be9gU7LWb4TV08LnCI5hpb1Zpj8Ku7sMHk9AWlirculzwLnciCktl0Ku6QIDF
         CjUQ==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781620923; x=1782225723; 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=kI5MX0rOS8Inx/kYqgRKPRGZwjeNwSKd66xuuIcZP9w=;
        b=IO+rJ8jF2d2giK9avBRgiK2pEmOGTWYTMVzUKKYGgYvqdL60xJ/fPSXu+F9ZEfrWkP
         idqjAsPBY982UK33TrwYZi9HhF/GqPc2Fxl2XK11jbH5pFkv72cQMtnIrJxfelk4D4E1
         MikZ7KJrQTojYU3VmBJBMQbGBFzcxbmMfpdv8hq2aXodchY0Y3LJP/UxJ2wkDsY/8Je8
         RKHQqm/YarzSzMms+1OIvgNh1/zc2a+vRB+eIlCM9cp2ACcy46JK8WCW+IkdoXMCJcgU
         ZOdNLtwFqwfAWYRglm29BtC5xXgAQ+xlUwgtes0Yqkz2i9UD6WeraDRYkP0zsAFGcsVH
         ndzg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781620923; x=1782225723;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kI5MX0rOS8Inx/kYqgRKPRGZwjeNwSKd66xuuIcZP9w=;
        b=mMtaw0ggrujQNMB+qlP1lyav7RySZi/OdZwINniG2wA9pxnnpsanoo/y2etnV/FzMd
         +XFUXgu2fgbJUmXIn++7Jf21IfivHKdT/S/sIGQ+hKPXlybmIbw90O0QsJgkEX6WGULL
         8z+0mxNoaYWf0NrEuw5sGuj3L64GLoayt038UIxbxND9cq/dIuO3IQaVpLt+sJDHaE19
         /O2tUvfnW6Fy7rgMQcNN2DhQJR82JChYh2bdxHyAv7Y1An6069zG5vuU0W8FLqbnIZLQ
         l/SgchtGuIXVAduMQrJXt5xflih2wIFIOQQoMQoRDcx2N2AqWLLDc2zjUm3aNtlADlRR
         Kkxw==
X-Forwarded-Encrypted: i=1; AFNElJ9ZCh2AGxKkacch5XGkrEzqkh7UDSH2zbuDM1FHwjG3AlcweFmXu7ryxJtDDJkDi+pHePeDwrt6rPA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx3q35JtpwnoMs3rrFrraevfkefJ3y9akqECuiHeIi8YXYgHoh/
	uHMmlWWEFDLNnv20wUhiGX8D8qKkqPPsUVxiVwQvzGcE/FGULYcomXjUpCbe45jYyqT9uxyLqPy
	VvOg0g2RezEOpPEyLEN2jA/UMN0PlCms=
X-Gm-Gg: Acq92OF8RQe80jy4y77wVOrj+0+exl4VTX8v1mJyhm/SYaUKeNTxuQGPFWsP0pgPp17
	ye0qUQtuz9fbZy9s9htmRNtSYcVkscKgYeS9g+XiBOdfkrptNEjzYDuEMFloDGLLa7thS+lFp/c
	ms7tiMMCRscq2AsMeW7jL0u7G3eyaxl9E9r8BleQwTpKUzvMKQg7WC2GSr4voXFHytDrAL/2H2Y
	tbGR+7qXmzsu8XlizK6FeaZMxlfZdJzO6ghCJ+hkYPRJ9W2y1xMH0igZ6Zxzmjffmbfa5TIplJP
	FoZkKH9uEUP5HoqqR2guGHYnyCBy5O3nHR9VQQ==
X-Received: by 2002:a05:690e:1181:b0:662:be0c:e2ee with SMTP id
 956f58d0204a3-662be0cf02amr1541159d50.58.1781620922637; Tue, 16 Jun 2026
 07:42:02 -0700 (PDT)
MIME-Version: 1.0
References: <20260608173108.2848469-1-andrew.cooper3@citrix.com>
 <b310db60-850a-4096-8900-54d0816e5063@suse.com> <965bcf53-accf-4297-bf8c-903dce45cba0@suse.com>
 <CAHt6W4f5KzkRhbDnCMS82zpAJ04-UkBoOXowyG=A5CT3yNSv9A@mail.gmail.com>
 <547d8b85-3537-4bb0-bddb-2ca2f14eb355@suse.com> <CAHt6W4crK-Lgt6rTsERupEGhdXtjjKJvh3F=K_U-3vXDtcETBg@mail.gmail.com>
In-Reply-To: <CAHt6W4crK-Lgt6rTsERupEGhdXtjjKJvh3F=K_U-3vXDtcETBg@mail.gmail.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Tue, 16 Jun 2026 15:41:51 +0100
X-Gm-Features: AVVi8Cec45Sh0cpUhUuRtpav_U3rkjFhZ4DgkoI_ePDq0-b1HgBn7El3tFNPj30
Message-ID: <CAHt6W4crzD0zAGufeSput-+EgEGROiG07tjwcEtNikr9HXVNoQ@mail.gmail.com>
Subject: Re: [PATCH for-4.22] xen/x86: Always strip xen.efi
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Frediano Ziglio <frediano.ziglio@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, Oleksii Kurochko <oleksii.kurochko@gmail.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	"Daniel P . Smith" <dpsmith@apertussolutions.com>, Xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"
X-purgate-ID: tlsNG-bad1c0/1781620924-37D7FA53-A0CE56A9/0/0
X-purgate-type: clean
X-purgate-size: 2223

On Tue, 16 Jun 2026 at 15:28, Frediano Ziglio <freddy77@gmail.com> wrote:
>
> On Tue, 16 Jun 2026 at 15:15, Jan Beulich <jbeulich@suse.com> wrote:
> >
> > On 16.06.2026 16:07, Frediano Ziglio wrote:
> > > On Thu, 11 Jun 2026 at 15:42, Jan Beulich <jbeulich@suse.com> wrote:
> > >>
> > >> On 11.06.2026 16:38, Jan Beulich wrote:
> > >>> On 08.06.2026 19:31, Andrew Cooper wrote:
> > >>>> Some old versions of binutils ld managed to produce efi files which the
> > >>>> matching version of strip couldn't process.  This includes Binutils 2.26
> > >>>> included in Ubuntu 16.04.  Delete the workaround for this bug, and require a
> > >>>> less broken toolchain.
> > >>>
> > >>> And we're certain newer versions of strip don't do any harm to the binaries?
> > >>> Already towards Frediano's posting I said that having looked at how things
> > >>> work there, I'm far from certain.
> > >>
> > >> I should have added: An option may be to link twice: Once with debug info
> > >> included, and once with it stripped. Personally I trust the linker creating
> > >> the various headers, including the section ones, more than strip's (or
> > >> objcopy's). Yet then I can only repeat my observation that linking PE+ from
> > >> ELF inputs looks to be significantly slower than linking ELF -> ELF.
> > >
> > > That was also attempted. See previous versions. And no, it does not work.
> >
> > How exactly does it not work? When stripping debug info while linking (as
> > we now do for the first two passes), the resulting image should be both
> > small enough and correct. What am I missing? The only caveat I'm aware of
> > is the Eclair scan, where we should avoid doing any work for the
> > "auxiliary" linking step (the one not producing the binary that's actually
> > going to be used for running Xen).
> >
> > Jan
>
> One thing I remember was the build-id was not the same and debugging
> tools could not work.
>

Another reason was that the generated binary with debug information
was not working with various tools anyway (gdb complained about it and
also binutils again for converting to ELF to use other tools like I
think live patching).
About this I'm less sure about.

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 14:46:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 14:46:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339345.1600528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZV3Y-0006E5-4S; Tue, 16 Jun 2026 14:46:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339345.1600528; Tue, 16 Jun 2026 14: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 1wZV3Y-0006Dx-14; Tue, 16 Jun 2026 14:46:24 +0000
Received: by outflank-mailman (input) for mailman id 1339345;
 Tue, 16 Jun 2026 14:46:23 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wZV3X-0006Dr-7W
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 14:46:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZV3W-0059ts-B0
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 16:46:22 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3161b1-5cb7-0a2a0a5109dd-0a2a45079d36-42
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 16:46:22 +0200
Received: from [40.93.198.54]
 (helo=CY7PR03CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3161bc-229c-0a2a45070019-285dc636d4b2-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 16:46:21 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by MN2PR03MB4944.namprd03.prod.outlook.com (2603:10b6:208:1b2::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Tue, 16 Jun
 2026 14:46:18 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=VqRNLrGbqvi0r6+/QXUwiTSjbnKRbQ1ggPWQhoFcsGMaehsgYrALn0NrsmbszpoJNsngGBjdaZi/YqyDvQ0grF//4QTBDZocuqCy7H4pZuL+fMlsYEdScoxo8Wy4fHTjDjinGCFEo212vkEpH1b5v5vkqgACj+GF4EmRA8aQeBxegeRNH3nL/k7uNBxSgawPtl+/2biQ65fFV0BujhD/NDwv/2P2R2zUSY3vhfliHZjpK3oyfKUjsMOcqum1hPN8aHgmkl1KeHS8AjklW1m6ErNWY20TdeNrhuaqwj4iov02qBdkZliOpG7BRBt2tezcZvxx57JVpBeIKq9X7SGw/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=c7Yi7tuFDBkQl8dlFPF6y2666mRgl71KF/vKmX3x+zM=;
 b=BYclHRdk2Sh8e/vgw4VGOA71bOfbOQWyhzs/baBIpjnPjo8inONDoLXasHdv7dkjNTlammOuflIavQO4Z1ashxEdISD5RZ0i52rYtZnA85NK6RIXWSxKL/hx6hT5V5VoUc2QHODkzZNvgqreWAOFUxpYdX+1QWB8zHIbvv79utJn1YNOEJdv64o5b99gidZQnGhf74pJXZyx/sECbgbqCR3w694G9RZbRBIwtxVsh/GE8ukjNVxPwD28Q5BaisNn9DsiAzFKhvlOUahVox4ArA5Sr7VeeXaT/k9TwrzByg+IF2wKG4ZuqKTca5g4Eh/rbnx1J7p8cuiBwn6DQjCGVQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=c7Yi7tuFDBkQl8dlFPF6y2666mRgl71KF/vKmX3x+zM=;
 b=TnhSGaMHF7/xT8mSF0AXPyCh3wRjj7wXlRhrdQ80rkqxwkiJhaWyLHi27rcw5llKyTmEVi1BcH6N4LPuXFxjnwH7QXUrSz3aHW/rKDpZo3j8txnjOH0dGTblfqmEBLBWE3DVlUd0NXmLCImwllA9YofOSdxjYMNDnXHTKcS+UUI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <92ade775-d3fc-457d-acae-ae44fe1285df@citrix.com>
Date: Tue, 16 Jun 2026 15:46:13 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org, Frediano Ziglio <frediano.ziglio@cloud.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: Re: [PATCH v3 4/4] x86: Split .init section to satisfy UEFI CA memory
 mitigation
To: Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Frediano Ziglio <freddy77@gmail.com>
References: <20260616101336.44009-1-frediano.ziglio@citrix.com>
 <20260616101336.44009-5-frediano.ziglio@citrix.com>
 <ajExivEwb88pcOxT@mail-itl> <f80e5c37-96db-4af5-9b9f-28f4ff457a72@citrix.com>
 <8b27a14e-865a-462e-a6dd-1f8323de5f43@suse.com>
 <a7d9c983-c264-4a90-ba17-b2a49bd85c18@citrix.com>
 <53afba1b-a791-4ebe-9d00-3ca66065c524@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: <53afba1b-a791-4ebe-9d00-3ca66065c524@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PR1P264CA0102.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:2cf::14) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|MN2PR03MB4944:EE_
X-MS-Office365-Filtering-Correlation-Id: 90258621-bfda-4710-73e5-08decbb60614
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|376014|366016|1800799024|56012099006|4143699003|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	bzqC+aC/0MSZvIDDDFrgF7BsmrtBh+yf1KYo456H4nCqs+2XKgKGDdI9+ICKxPpf3xVY5MdWt/zmYQi3v4IhOFIOMw3FjgIAPaCaAvTK9czb/9ZIHVVVIGUM/XcE9UEcwKofzXgktt95YFbN+jFPpz77DLKaVqnfsxx3IifFuC6pK7muhwJJbbQ3HGU83hDnqWLg2J/iAOUuaJ5eoo50Wwpv1GqWWc4m5ApkUcFXOD9BcGrS2RECep6yOR+oAZWu1rNYnn4IT6/9qSDLF/DQr7RIZnqL6tm0xIalV7e5yUg9tomyGKt46aZG3FqYRYoB43l7pCa8QPk0VSnHKy2P4wQH6LZIrK9gDkbgj8tf8sj+1Z4RLML6nBg5vZ3QuZg4SYAp9ELhMBfnK6XCaGZh3Bwn/Onbdj8UYEQhZQH3CRD71KMXD+uOifu6fZ33WeyI6dNhMUyjDP8EznR5LY5MMXJmG+XDpVLW9Tp+KsEQWBvsFMoQBF1P7HVwtOp8VnKZlwZQ1i6vkH0W6xiVKHssXpPS+Bxw04e2wF3i+CTClnxP9N4mgu30lQp2NobiXy4CNH5F1zab1L44n6ErUNl9IJPcEtuGqEWyNcxENgE1D61cY3rhveWAsWQE9a2o3M952INg4jlMkoIBb356SR056sJI2eTD7XKpnWqEOQY7DKU7I9HJOS/Ao6jIkUeiKChd
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(366016)(1800799024)(56012099006)(4143699003)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NTlld0FQTW9xZERLUFR3eDAyZWlIU1g3OTlFVHpwWUx1N3dZR2hqRlVwaHZP?=
 =?utf-8?B?bk8zMXJwZWNpcmNTaGN0clY1VHczUUdJTFV3Vmk1L1hQUVA2anpuS29vaFU3?=
 =?utf-8?B?M2FqQWtzQ0N2RWNYdk9YZ1ltY1J0UG5MbG9oR3ZPRm5TcWJVZU5EaVZ0SEkv?=
 =?utf-8?B?TWw4bnI4RFlxTG5uUzdWbXN5NGlPSUNUYUIwYmJzcld0bklKTkFUYjdkRmkr?=
 =?utf-8?B?TEJrUUFoS3F0S1JlWDVOQUVZcVdoS0FoamFHZGwzSU1neEJwelZYcnVMdFpm?=
 =?utf-8?B?OGVaeXhwMVhLTDQvTFpvaDIyYkg4T3k2cTFSZVFidSs4OHkvb1EweHZqN3ZL?=
 =?utf-8?B?NlkyTFZXdE4rSlhaOHpXNXR1SzFkb2tSb1hJV0ZoUEJ5Y3pDeDVtNXNlSGg2?=
 =?utf-8?B?cWlyMzFIQS9jK1BQK3ZLRUdMQXgxTXlEdXR0RGtvckVqMEZxekpBeWRnc2Zh?=
 =?utf-8?B?eWh0Z2x0YVZUSE9vOGhuMlo4R0RZYURyMjVBWldHQXZRUmxxazljaVNNbjA4?=
 =?utf-8?B?SDB1OFNremVEZ2lQSlg1SlE4bG9nenA1OE9zQTZ3VjRBMGxZeXlaVGU0Zjk3?=
 =?utf-8?B?NStLbk5xK0t6WFpnSDlVcGFycG5wUHl5UW05UTk3MjZvSklvbjAyQ2k0YzZj?=
 =?utf-8?B?ZTB3d2hqcWx4cENDMCs3aG1WUVorYXZxZHJTcDlUaVhTU3VEa3JDVFlkaTY1?=
 =?utf-8?B?OGRMeVE4STJqVXhZd0NEcHBjdUozUFZScm5WdFRTMHRlcitXU1RFS0lNYmhj?=
 =?utf-8?B?ZGk2cnZ0M3BSd2xTd1JvOVdpaEp5V1pOZE5mMWtqem0wbXdXNVcwWk5mWGk5?=
 =?utf-8?B?MTlvYnhiSnFKd0RWUW80bm8xQmFqeW5JNDJBSFJyMWh2VXVCd01WaTJvdldU?=
 =?utf-8?B?YTdQQVo4R3QyRWdLT293elh5a2dkelIxRmNoVmsxWFdiSGZqUEF0LzZkUTdX?=
 =?utf-8?B?bWxmblUvcHBVUVFBVFY3bWNoWnVCbXZFellUNmRad1RIbko5ZGx1aTdVaE5m?=
 =?utf-8?B?S2h5SzMxemhyQjY3c2NVczI3L3NtQ1ZCUFZ0MTF5TFc5eFN3OHhaNWNOYmtX?=
 =?utf-8?B?YjJvTElOOTZybStaaFpVakVseUhaSkRzK0VSb0JISDRGbHRTQWU5RnBsL1FZ?=
 =?utf-8?B?ZXRqb3pXdnlPdWpWVXYzdGFVcWVJNDQxSnVnUE9vWmJOMTRZVEpyV1ZUaWFK?=
 =?utf-8?B?NFIxN3RoMEhpcXJKZUg2SHh4SWRwczFUMnJ5aXJ4QThZNWN3WkM4QU1SNG9B?=
 =?utf-8?B?akR3blovRXlsKzYwRk5Ebkl3M1EzTkFRQmZzeXpEcUM2TFdCaGkyc081V3pP?=
 =?utf-8?B?TUkwWUZ5QjM2WDBlbjZudXFPOVppVUd4T0VUaVR1T2JjNmtYR3MwQ1RWek5t?=
 =?utf-8?B?bkt6NHJYQjZyeXpHRDJIc0VzbG5SR2lXTUFVU004SUhKOHNkZlNnbG5PMGVY?=
 =?utf-8?B?cG4rdGRuanl2K29IM2RIS3oyL3R0T092dTZpVk5MMlF2TGwxQmxIOHlicGxo?=
 =?utf-8?B?MHdBWDVGZnVFN0NiRmsydFlEZnZ4T09QbGZzMzQ1RC9kQllOeDFKZFM4RXpr?=
 =?utf-8?B?QXp1aVo3a2tqRWdhVElVektKcXRWQlhTSTdKVk9JTytiem1PN2dXMGZHeDAv?=
 =?utf-8?B?eE9GYk04T25GVkZ1dk13MlZ6ZkVyRHpEVXArRHNJYW5yVXk3ejJWak9uSWw5?=
 =?utf-8?B?L3d3eFVPSlRzYWx6NVhQZE91TWhEY253TU5DYW8rYzR4ZU1ZbzlmOTg5aHlC?=
 =?utf-8?B?cFFscmdldmxRVWlFY21ObzlUTnYvS2E5VEtXMmtCYktIUEF3dUJzczdiRmd6?=
 =?utf-8?B?d0JFcHN0U2FNeldDbExlV1lTZ2NQcnIwRGVORU5pOHB6OGRpTmZ5NEFhc0Vi?=
 =?utf-8?B?Y21KSFgwcWVpd1p2bmk4K1FuQ1B0NE00M1o2ZGxzUHo4RC84V3BxaGphZjZl?=
 =?utf-8?B?aU1NWEYrTDZSaUFqT1RrM0dYNmYrMm9aYXl0ZFNKYXBDTjRNY0hZTDUwVkEv?=
 =?utf-8?B?TG9lVGVWTVQzUy9GS3YvWUVwODBpRzd3aDhHSVFTQVh3T0xhQWJjdTFCbGJq?=
 =?utf-8?B?cU9vU3JQS2l4MGxYQ2diQmJlcHNaL3IyN3Mrclo5emRWakpjQk1sbWR3RzFp?=
 =?utf-8?B?c1pyVzlaaU9VMDZxVEQ5a0tNTkZpZGpKUmxtOGh3UUEvUExaTzB6WitNOUVD?=
 =?utf-8?B?YzlSeFM4OHY0L285eFZyQlpGY2FNd2VLTng3TWtYVWFoZHFvNE9iMWE1aW9y?=
 =?utf-8?B?K0hFL1p3Z203K3RHNkdnaElob0xodUdqclQydzkzUWpMUTIwTENka0VQRTR3?=
 =?utf-8?B?VUdzUmVhOG5qdmxzQzRHVnd6WEJmS3NwdW5kSkM2cVB5R3pVc2l2M3puVDBu?=
 =?utf-8?Q?JcfFiJkRoKeVS6ws=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 90258621-bfda-4710-73e5-08decbb60614
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 14:46:18.1660
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LtE10GRqWpZIsJGgCkR79tKFLwbwovFDxn9ncSbQOjNkJwMZgu9E5iq2rCL0JOEHRCZpMnjlv9MvgG2QQakIvrZEwyNMvvjvdNhbpVoIhSc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB4944
X-purgate-ID: tlsNG-ef75cf/1781621182-0A971C48-A044A549/0/0
X-purgate-type: clean
X-purgate-size: 1841

On 16/06/2026 2:50 pm, Jan Beulich wrote:
> On 16.06.2026 14:40, Andrew Cooper wrote:
>> On 16/06/2026 1:30 pm, Jan Beulich wrote:
>>> On 16.06.2026 13:29, Andrew Cooper wrote:
>>>> On 16/06/2026 12:20 pm, Marek Marczykowski-GÃ³recki wrote:
>>>>> On Tue, Jun 16, 2026 at 11:13:36AM +0100, Frediano Ziglio wrote:
>>>>>> From: Frediano Ziglio <frediano.ziglio@cloud.com>
>>>>>>
>>>>>> Currently .init section is both writeable and executable, split data and code
>>>>>> to have 2 sections satisfying W^X rule.
>>>>>>
>>>>>> It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
>>>>>> in the pagetables.
>>>>>>
>>>>>> NX_COMPAT is a requirement from shim-review,
>>>>>> https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility
>>>>>>
>>>>>> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
>>>>> Acked-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
>>>>>
>>>>> Is that the last piece necessary to satisfy the NX_COMPAT requirement? If
>>>>> so, I suppose a subsequent patch should actually set the
>>>>> IMAGE_DLLCHARACTERISTICS_NX_COMPAT bit (IIUC ld --nxcompat option), right?
>>>> We need to satisfy everything in
>>>> https://github.com/xenserver/xen.pg/blob/XS-9/patches/correct-sections-permissions.patch
>>>>
>>>> .reloc needs to be non-discardable and writeable.
>>> Writable? Why?
>> Because we take fatal pagefaults against it when it's really read-only.
> Wasn't this for relocations _against_ r/o sections, not the .reloc section
> itself?

Frediano pointed out that I read the script incorrectly.

.reloc needs to be non-discardable

.rodata needs to be writeable because of editing the relocations in it.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 14:54:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 14:54:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339354.1600536 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZVBQ-0000xH-Rs; Tue, 16 Jun 2026 14:54:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339354.1600536; Tue, 16 Jun 2026 14:54: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 1wZVBQ-0000xA-Ow; Tue, 16 Jun 2026 14:54:32 +0000
Received: by outflank-mailman (input) for mailman id 1339354;
 Tue, 16 Jun 2026 14:54:31 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <marmarek@invisiblethingslab.com>) id 1wZVBP-0000vz-4A
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 14:54:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZVBO-00AWHx-Gv
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 16:54:30 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a31639c-e002-0a2a0a5209dd-0a2a4501e7ba-16
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 16:54:30 +0200
Received: from [202.12.124.157] (helo=fhigh-b6-smtp.messagingengine.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a3163a5-c1f2-0a2a45010019-ca0c7c9d9815-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 16:54:30 +0200
Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42])
 by mailfhigh.stl.internal (Postfix) with ESMTP id ADE9B7A016A;
 Tue, 16 Jun 2026 10:54:28 -0400 (EDT)
Received: from phl-frontend-04 ([10.202.2.163])
 by phl-compute-02.internal (MEProxy); Tue, 16 Jun 2026 10:54:29 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 16 Jun 2026 10:54: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=1781621668;
	 x=1781708068; bh=4NfjibikXplxqzQqxkRY6GRm5CWyOnVn5MVj2H4K7Hc=; b=
	rdO6Obr+4BrYWNvN5D6YIExfYPUJCMQswle+04arbsHti5Pzeb8LtpLD1geDusx8
	P6H8eS0Et6VjbIfQ44j5MVsqFU9kam2olERQ2gQps/oEqjBfMCUJCogh05z0JqKe
	mDS/9hSgO9wp/kkoDjCjSelodNFIBKx9vae2rdna4gUA6hSF4JKKJdHo/epkF9+q
	wiF4LtDH79jZ+H5Cdu9U1nhNqv1wE/9d+u/aDsuUFP0F5NSUc+1JvIkWinzAisQF
	cYbK5uQ++hn817HbRyck4hcLthmXyNMoMCtZaGf6TpdlL6C+vSWNs0vo5uH6BYk8
	2/g/Y6mr5fWxBYRad7QkHA==
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=
	1781621668; x=1781708068; bh=4NfjibikXplxqzQqxkRY6GRm5CWyOnVn5MV
	j2H4K7Hc=; b=cycgVYSheDZIOfDWPeoaElOBv8oa5xhNupLbARTHxDMMlXqNDmq
	0DIMjphFRFSm6UcZvMRUibbIYDrej1CV22HsaYQQyaXieKmtkYmBnBbUrLDQOObU
	cq5WE+DWyySZHCCKXA8NXtmljImriVN2yng9CWLliy316QS//vsMbwqgdwVelgDC
	+CHAqHsUdW/IyRgmAxCUj5TfAIKIYU4ILZYPsDn3EUubAX/rW/PZGk8WNZKH9du3
	b3GJ/ZORy+u9c/MlVEgly8UGynYmYqLkYcXa3M5+Vnpj0b1vjt98S91uO4GcDnB4
	Z1QtsO2a+JaPF2G543OEnKEqBRP1xD+lmdg==
X-ME-Sender: <xms:pGMxan8Zo3hqAFS62grX1QsL4IoM9hVVlAR2JTV9nda4huqHlf_dSA>
    <xme:pGMxaizw1hdP3J_abggk3BeDoB4OLwqpuoPmSRYVY3s1PSqTxxyp06GPKxieH9QJI
    J75dWML0z9AD7Gbet7tWU4Acw9_Ayz2OdvxKBp43xzJ9yM9NA>
X-ME-Received: <xmr:pGMxarOIaGZhoNomhrr45ZoyjYA6QxTXxXYOl3cq2rjkoXfPvHtthzDVMyBPcJ26BC0jL6rQwuHLu6TNK525wtyduXX4R8BbHUo>
X-ME-Proxy-Cause: dmFkZTEaaRkFiufj6xbqTREXL4O/iLhnDAfOv3ZIuQSETdhOr+OmCkIhugRZgp0/by7CEZ
    tM42V0rYim1o6cjNR8y+KYSx0yqiO+FVUmg1tx+pYacfsmHBAdcho+XkUaKJLpWq5vBaq/
    imvQ+tops5Dlm3THgYWiiMvcKAYwX6IG0Xha0Lo7YeQlZLGdzGHMblgfYwtXXDkaginqh4
    yP0+H/dGOkUMyVrFg/qZsfgyKZByJvakX/OkckExvwOhIshLENOAEsYwz2PhrEq2ka+9I3
    vZYPWD1nQZ8AQPEEs8Fn3b1MkSJWwHEIAZQ2T6If5k+O8hwM1GN4xvhUKlUjuOu+r+kirH
    rlHJTu8UoXGS/LzI3RGU8OF6MWswW5gsyevj2EoY7jcWbJx2Dq+h05OW8cAKJhq25DbDUu
    37b2BRw2rhmLrv1jRbO7eNiVaF7206yIkRhFcPm3ZbyPNrKOSLAcze50U2Srvr+7Z2yMiv
    SfJ9cLDOsbxqXWHjpGFo1rqo/z2RPyCHiYE2OUjy2fH6oH7IWMCFFHd8w8VKIUyR5oP8As
    dRHcKdo82nPXwe2qPsLqXM143sJXCLY/qhJVBDceK+Cbu4oYFR3KjP1BT3b7SlXkwQ5if7
    ZPyxY55uTYKuaILi5K1PHoP0B+4V7yH17cb7yIwu6aR9cmw3eFqh5cjDZsUA
X-ME-Proxy: <xmx:pGMxav8jQDk__TrHvgV_QK8PW4SwhB6Wq_Dq-Nk4at2nbMCnPHS1tA>
    <xmx:pGMxag78-HlV9yW-86UBBm-ue6dA1bDG9NoXwB04JiWZE24JIBePZA>
    <xmx:pGMxat7jFwPYzQMsAkWRV3T5gRPccQg3MnNZqKGzFt4AV1BFEzCKfw>
    <xmx:pGMxahrKUN-3q567jcFGmmb8PqeUQPvQ5L44Tq-NUr9tDjZA8PbZnw>
    <xmx:pGMxaqi8cXOfuVojKuskrgi1iUuw4JfXgSrUidtxoFaFRgiLMV9XDooK>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 16 Jun 2026 16:54:25 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	Frediano Ziglio <frediano.ziglio@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Frediano Ziglio <frediano.ziglio@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 1/4] Align relevant sections to 4KB
Message-ID: <ajFjoXvnuFUEr4x0@mail-itl>
References: <20260616101336.44009-1-frediano.ziglio@citrix.com>
 <20260616101336.44009-2-frediano.ziglio@citrix.com>
 <3506eb69-f057-4c0b-8321-03cfcc6dda2a@suse.com>
 <CAHt6W4et8om1AO+v_VVpikhd0Nsuc_V_OFSm0r1rgzFJ_2wH6w@mail.gmail.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="im1Xv9KsI/aHXcTL"
Content-Disposition: inline
In-Reply-To: <CAHt6W4et8om1AO+v_VVpikhd0Nsuc_V_OFSm0r1rgzFJ_2wH6w@mail.gmail.com>
X-purgate-ID: tlsNG-d62444/1781621670-B514BFF4-A9826CBA/0/0
X-purgate-type: clean
X-purgate-size: 3168


--im1Xv9KsI/aHXcTL
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 16 Jun 2026 16:54:25 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	Frediano Ziglio <frediano.ziglio@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Frediano Ziglio <frediano.ziglio@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 1/4] Align relevant sections to 4KB

On Tue, Jun 16, 2026 at 03:38:53PM +0100, Frediano Ziglio wrote:
> On Tue, 16 Jun 2026 at 13:27, Jan Beulich <jbeulich@suse.com> wrote:
> >
> > On 16.06.2026 12:13, Frediano Ziglio wrote:
> > > From: Frediano Ziglio <frediano.ziglio@cloud.com>
> > >
> > > Required by UEFI CA memory mitigation.
> > >
> > > It is a requirement for NX_COMPAT so the PE can be loaded with W^X pe=
rms
> > > in the pagetables.
> > >
> > > NX_COMPAT is a requirement from shim-review,
> > > https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-y=
our-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-hav=
e-you-done-to-ensure-such-compatibility
> > >
> > > Sections with different permissions must be in separate pages.
> > > In the case of debug sections they are contiguous and have the same
> > > permissions so it's not an issue if they are not aligned to the page.
> >
> > What if .debug_* starts in the middle of a page? Aren't you further
> > relying on .debug_* to be r/o (i.e. neither X nor W)? (Right now
> > .reloc is what comes immediately ahead of .debug_*, and that's r/o
> > as well, so not an issue in practice for now. Yet as indicated, the
> > description here wants to be usable as a reference when this later
> > needs extending / revisiting.)
> >
> > Jan
>=20
> Can you suggest a better wording?
> Practically I think before the .debug section you could have the
> .reloc or the SBAT, either are permission-compatible. If in the future
> we break it for some reason we'll fix it again.

Once all of the relevant SB work is upstream, I would definitely want to
have a test in CI for that. We already have a test for booting xen.efi,
extending it to try SB-signed one should not be too hard (famous last
words...).

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

--im1Xv9KsI/aHXcTL
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmoxY6EACgkQ24/THMrX
1yzfKgf/R1b8r7VAy6OppJ9jkkCuFeONSqrcFmvhVJuDDyuH99GLN/1oU2rKjU2H
lZQXzmMZf4/nVAmaEABHtbJRW5po0JQ13b5URytBrFe3xEzDWdG6mE+ukBC9PMhf
ySzxjVWtyQZrPfPOGPR5bvIptmIBmFDG9Wh+azog10HqyhUZ2/stwhCm4IysZ8Lq
7vED1hdA7wWmuTYn6VCrf16tZLL0V0kCTgrQ5uvzJcQFEk88lWwo4HOkgCPRpKUC
kAjXZv1fvvajoB0pTLTI3uGWq/Rw7WQ7T4ZSPNi+Ora449G4KlIKTEe24xm1e6Yu
vx5Dt1kLgO3yMhC9WcRH5374TcrUBg==
=PX0S
-----END PGP SIGNATURE-----

--im1Xv9KsI/aHXcTL--


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 14:58:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 14:58:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339361.1600547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZVFM-00022a-Ev; Tue, 16 Jun 2026 14:58:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339361.1600547; Tue, 16 Jun 2026 14:58:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZVFM-00022T-AA; Tue, 16 Jun 2026 14:58:36 +0000
Received: by outflank-mailman (input) for mailman id 1339361;
 Tue, 16 Jun 2026 14:58:34 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wZVFK-00022N-Fe
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 14:58:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZVFJ-00BqrM-29
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 16:58:33 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a316495-2eae-0a2a0a5409dd-0a2a4509d02c-4
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 16:58:32 +0200
Received: from [52.101.57.34]
 (helo=BN8PR05CU002.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a316497-2497-0a2a45090019-34653922c9af-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 16:58:32 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by LV4PR03MB8306.namprd03.prod.outlook.com (2603:10b6:408:2d9::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.18; Tue, 16 Jun
 2026 14:58:30 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 14:58: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=uniIJTIxZcOlRKJFlMgLhM8HUVrX2n8szdHYdupiK2LwvToz3W0L3PGqnP05uZzLTNYbndmHrSUaYbPdYp4FQJu6E/yk1JypXCVZ39gDKibLPKZezxDnDDG+g62o642v2aw+aXJHJWISnd+QCo3AeNCLUNN0dgMQXBqaga2OHVYq0Fs0AF2fOitf1tsOw5DjKuRz6HBmT2nejRWoPr8+M2vld+HP+UCOdigph1d6EML1D7RE6QBviEVn4TrTfCDMiBfD0oRypS9zGuWLkpjGDU68FhdhYV54tZHrNWVFUO0vJlRBM30ro8oSxpPbc4LcdjLRFRHoQ6bLW4wsFXWzgA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jwngyvZmtyZ4azbr58HrsSoW8jWPPFPahmA3M6WTWwQ=;
 b=SaY5Vf5fN2NuOuIifZxnDzGN8DHeYYdAC0RISKSkwO38Aawo8U/1umXqgubPOZ4Go7wzrGWrdk9JxGhh6J8aCDzLjL0NpHPZ4EapKwlQlHcyHQPdNmptLweU9IPS6ouiQbC5t483ifHhifrR7wzcmlwgfjAfBwAm36x9qQNKe2f2Yb69OZcvk3avr61AQCF8xj4Uz+/DqVPe7AyYOf0n8ttRfXZsYeBSWk/Zao7G7XLNnVTXkiSeDV8QV/oq+WCFcuB0oUs8OrtFXGQRLHzPt1qlEyP0VVFbCPU68iLXEZrCtD3EqO1F5JFlPf8sByQuR9JKLrxqNGaBI+U3b2C3XA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jwngyvZmtyZ4azbr58HrsSoW8jWPPFPahmA3M6WTWwQ=;
 b=0K8c7esHcF2c635FVzO2cgjfo07uyRSbFRbkaFUVBgJ3nEIFCnMIPtPx/Meas+jj5BQF68YuIoE3poGpz2FDTghPSAT2J381ZDMCn+dPx04a9GFuG3M3FrID8ANBtsaq0zcBg8Ysz4S/7N8AG4QXtQJm6mIN6d5Ow1mBkV2HbcE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <4c577b14-30ed-4fac-84fb-45d248e8feeb@citrix.com>
Date: Tue, 16 Jun 2026 15:58:27 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org, Frediano Ziglio <frediano.ziglio@cloud.com>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Teddy Astie <teddy.astie@vates.tech>,
 Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: Re: [PATCH v3 4/4] x86: Split .init section to satisfy UEFI CA memory
 mitigation
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Frediano Ziglio <freddy77@gmail.com>
References: <20260616101336.44009-1-frediano.ziglio@citrix.com>
 <20260616101336.44009-5-frediano.ziglio@citrix.com>
 <ajExivEwb88pcOxT@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: <ajExivEwb88pcOxT@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0497.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1ab::16) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|LV4PR03MB8306:EE_
X-MS-Office365-Filtering-Correlation-Id: 9090ad4e-162b-41d2-5e1a-08decbb7baa7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|23010399003|1800799024|4143699003|11063799006|56012099006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	5d+pT5KcW/UpQu7o2XHjOTK4MNmSmDF1uKTGAbMnj3lUZIcEIil8XSD1zRM1sU0opnCfKf7YjNQCXv4GfANfmDeDJLU69ohh+gKkzu6TcdoN2MKsYp+vWxdT3G0qmxCP1D2cx/ICREaCQZ/MA5txiFu/i1LFOjSSscJ4zX5YZwZ++ctiFCDUwIp1+6mtbfGm10VVhlKSvPkncpIyQFc0xh+1/lzl8H+3coXVDms1VrMyyZbjPXwHwVLrAOKcEbzYrfa9hUsEMqYaKA8kAQxlHBFAwjy1HPWfGWVDPhOLctaTlQ5NLmtWvdIist4ZbxVNoXGPUqiqQk6uXvIeSAYscaRn6akBWr3/vZ0iethfvA0Dk8vPNNLUN2hsoLnjwB+14POMGImQ+AbnPyrYq9q3V0p3pFCcwoUJ76RMkunT+Fv5A2zbHTHJMI6fVPyzp48gxGeJkWHcNUu5Ehadre8I6+RYvmcxCU7BgaShkXKJlTFd8vJoGFM8fw4qXRmJNe4hK4jCNEeGSzIUiZHeyJe/eqbUcQtM88wfoE0j6dv8Z2L2XV0nrR/ovz6/tVjGoL2kFGOYOygdDDnN7bQDoTZg8x7Zilman1H9qU9FZwpGxVPY7u2tIvG9zIbZFe67x3rhJPjwHD8kU54fX4RYlw6a8+gvHEe7a+Zs0OiY7UF9zt/U8hYTzIN6yMkyU++zGcG3P1ifzUom5qaqIZhfmXzOlg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(23010399003)(1800799024)(4143699003)(11063799006)(56012099006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UExydjJuY2x3cElLazZIVVRkZWJ1M1VCVTlFVmx4TEpNeFlJdEV1K0dKOG56?=
 =?utf-8?B?KzBoRmNNaVlUeGNMSXljYUJhWFVrUlNVWDZOWHBQWnVwMHR6cFJTWVdDWUNG?=
 =?utf-8?B?eElCcGNZbE9vRzVDZ0EyTXV3cm8wa3lheEVwb1ZFTFpLM1Y1MFl4d3Mxelp3?=
 =?utf-8?B?UmhuaXhDUTR0d2RQZUdKNTZLRzZldUViNWJkSHRuQWI4MllEbnE4M1N4Z1M4?=
 =?utf-8?B?cWZ2MTBmcFdJUThmcUZjVFQ1TTZYVmpZZ2c2UmJtamF4N3NNL2JqUnlDY2dk?=
 =?utf-8?B?REU5Sm4rSVlCTU1FNU9nM2NoTkxDQVA0eHZiN05GbGkzY1NJcHpON3pPUEda?=
 =?utf-8?B?aUtSNWxyTXBiU0pnRG0rR3RXVkdDSjFTVmIyc0lRSjdwQWRvMVdMVmhXekVr?=
 =?utf-8?B?SlJjc2JHOVc1RWh5ZkplS09BeFhwQzhRWlEzMFowSW55QjdIejFvdk9PYTlO?=
 =?utf-8?B?NWxwc2M4SENTN1pjOWR2UERaTWt2ZFZ4MjlZb2tpemFuZFRKbXhFeWdhcHF6?=
 =?utf-8?B?WHdXQnFSdmplTktDak83SjErbzZ6NlZRNTVIR3F2bUcrK3BmVTNnNTNMcHM1?=
 =?utf-8?B?eVVuVGdMZTNmNTV2ZUxuNjZGT1NYSHB5ZFpkMzZMb25URjVLVVF6ZmxhclN4?=
 =?utf-8?B?YVdOd245dWhwOVlpeGV0cWpXOTJIOHJqWnpLKzNiZTVZM2Z2ZU0rdkUxK25r?=
 =?utf-8?B?UjF5ejdPUWxuR2NRL0VZcVlTcmJEWmxEeWlRYk1QU2NwbytQSXh0dmdjS2NC?=
 =?utf-8?B?RUY1SG5iaDdDeEJ2OURKbk5SakZGNENIREcweWNoWEV2UE5XNWFBdjBFUVJq?=
 =?utf-8?B?Zit6Q0ZlZ1NGVXlmbXVvVXMvbEY3d21PZHN4a2tCN1A3UnlFeDAxQW85dDA3?=
 =?utf-8?B?dnZmMS9rYzQ2ZENwNTJuN3hUSDFjbzlwY2FqZmtGYVdPTW1lc0loejRKZGx3?=
 =?utf-8?B?bFdtUjQwTGgxRy93QUY3dTlBQnJkRlVnYTVjd0FNZlBPL0djVTlmMDhMTjhG?=
 =?utf-8?B?TzdaUEwyMkc5VWhPbllLdUhBME8ra1JBTFhtUFJGbkdVTGp1OUY5eFZFeHVp?=
 =?utf-8?B?K3A2U1VsSzFRRkZOZlM0aVU4eGRQZG14dTFrMjBwOVptc0VGWkp0a3o4c2U3?=
 =?utf-8?B?eG04S0FvTjFGRUlTODRBdStFUjIvNUhYRUdQR3llMEtIRnZ6SU9RRlVUdXB0?=
 =?utf-8?B?WmFkSGVRdVB5SUpnUmdSaEdLdTNEZ1BENTVaUkpEMVJxSVcvVGZCQ3hYZXE2?=
 =?utf-8?B?aWlxOTVXaW9OQ3ZORjhtS3hCN2NHWjF2ZVNhQlc0cElEMDAzcXpzK294YjFD?=
 =?utf-8?B?ZmtoVTIxZnNrMDB4RXhQbCtlaXBZdWdVSDcrY2plK1ZMQ2dqYmUxbjRTdU00?=
 =?utf-8?B?M2t2YW9XZmhlYTJsTmh2SkplcWhJbXpKUnZnVko0YWgyeXFsa1oyMHZPY1lQ?=
 =?utf-8?B?RWQvZVpYMUJ1UURtMUZRTVVVQVk0UzJ5VnVqRk8xY2IrSEdxSnY3Y0U1ZTAy?=
 =?utf-8?B?Slc5UkQyV2FSS08zNmlMZXpMNFZlbnN4WFVxdG5QTFJ1YlpyUUZXM0plK0ow?=
 =?utf-8?B?ZGs2OFphRlNaWmNwN1BqeEZzYkpqUVlDV2d2NC8xNlJHK2lTcUVhVkZ0Z1l4?=
 =?utf-8?B?aUZ2aHZRT1BaVDhVeW5aaHVvQXFFdjhnOFhjSDhuM2psTDlTTjJwQ01ab1dr?=
 =?utf-8?B?RTROeWFSZyt0b0U0SkZZK2hUUDljM3NQNm0rUktTMytidld1cWNXU0pOWVp2?=
 =?utf-8?B?Wm83NmI3aW1nMDZ1enVmc0pjSmhiYUlVZ0U5azhoQ3Q2Sys1akNSMGYxNm5B?=
 =?utf-8?B?eWRXVmF2S0EzSW1FcGsvekZpdWNpd1l2T0VFNkFtNTI0UWMzeklwa0NjeHdG?=
 =?utf-8?B?SnVHN0lUSVIzTlRxdXMvWlltaFh0WTFyVTlrVkZTWEI4WUhvcWErOHlMVVk2?=
 =?utf-8?B?NnM1dkkrK05BbnBWNjl2b2FHb01teW1Bdk9vL0dKNzh4eXQrTk5BMVkreUVT?=
 =?utf-8?B?WFowWHZqT0s2WjFVdEpjcXcveUVNbFV1VUltbXVkc3RKSU9kQi8razZjWVov?=
 =?utf-8?B?MGxvbjh6Yk5CR2JxQnVRVEZUVU91RVU5dHpzRmM3NU04NnczNmFTWHM4dVJu?=
 =?utf-8?B?Qi9xTkEyVnFoWm55NDZVOS80Zm90eExpaUpuMERPam1EeUU2WXFxbmxlUnRS?=
 =?utf-8?B?M0M3MWNjOW5yNFpUZ0ZObWhoNnRsVzBWTnBUNkk2bUJYeE4vN1lGT0NJanJh?=
 =?utf-8?B?RW45NjFHV0lnSG45eVZkZHF1dGxrMTJqTmM5M1BwSHFRa2FlR1loRmtFZ3gr?=
 =?utf-8?B?TFB6M1N2VDUrY25XRXdlamJ2RUkyK290bEUrMVVaWFNjVFRpTmNvSTdmZmVw?=
 =?utf-8?Q?cKnxChJ04bZOLST0=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9090ad4e-162b-41d2-5e1a-08decbb7baa7
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 14:58:30.5129
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ck7GZi9vNt9Gg633f+SeDjD9p0cxVwj4d3QvNzeEtrm9sW0u2WMxnVEJPBH8/86nVI5EKXNeVVfyCZRQmWhbmbaKSo0FQZpkgfZU4LvkL5c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV4PR03MB8306
X-purgate-ID: tlsNG-bad1c0/1781621912-89775A53-5C08D809/0/0
X-purgate-type: clean
X-purgate-size: 1433

On 16/06/2026 12:20 pm, Marek Marczykowski-GÃ³recki wrote:
> On Tue, Jun 16, 2026 at 11:13:36AM +0100, Frediano Ziglio wrote:
>> From: Frediano Ziglio <frediano.ziglio@cloud.com>
>>
>> Currently .init section is both writeable and executable, split data and code
>> to have 2 sections satisfying W^X rule.
>>
>> It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
>> in the pagetables.
>>
>> NX_COMPAT is a requirement from shim-review,
>> https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility
>>
>> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> Acked-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
>
> Is that the last piece necessary to satisfy the NX_COMPAT requirement? If
> so, I suppose a subsequent patch should actually set the
> IMAGE_DLLCHARACTERISTICS_NX_COMPAT bit (IIUC ld --nxcompat option), right?

The manpage says:

Â  Â  Â  Â --nxcompat
Â  Â  Â  Â --disable-nxcompat
Â  Â  Â  Â  Â  Â The image is compatible with the Data Execution Prevention.Â 
This feature was introduced with MS Windows XP SP2 for i386 PE targets.Â 
The option is enabled by default.

It turns out that Xen is being marked NX_COMPAT even prior to this
series, which is deeply suspicious as it has an RWX init section.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 15:05:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 15:05:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339369.1600555 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZVLi-00044O-1k; Tue, 16 Jun 2026 15:05:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339369.1600555; Tue, 16 Jun 2026 15:05: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 1wZVLh-00044H-Ub; Tue, 16 Jun 2026 15:05:09 +0000
Received: by outflank-mailman (input) for mailman id 1339369;
 Tue, 16 Jun 2026 15:05:08 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZVLf-00043r-VD
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 15:05:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZVLe-00HJnE-FS
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 17:05:06 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a316600-5cb7-0a2a0a5109dd-0a2a4508ebb4-22
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 17:05:06 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a316622-63b5-0a2a45080019-d1558033b91c-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 17:05:06 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-4923139e940so4755175e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 08:05: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-49230a58becsm64928405e9.7.2026.06.16.08.05.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 08:05:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781622306; x=1782227106; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=IUHDRx5sZCfecbVAZ4LTdS/5Dus5Mzc9D7UD7FGHfOE=;
        b=MoYBIum+kd/6waoBH74VOsCYScZVcPbxtsPoH3mq39mPs0zAUFnlrH1CLyoN0JgyZ4
         CppX0pmmLPJ5vvNGLcfqkkhVEdXcmin1P8XYQBshZOiO+ZDiawlioDKhnwcGeU5dmDln
         X2HV/hVPNs2r26itgS4+AE7q4mIJ3kb7UVBDc8IuZPmZY1RY69d3qJI8aYy9wZP/dprq
         yFaF5Lc4uX8Kkp7WgnUNNzYpAC4rzqt3QFVsWVLU9hW6NZbT/ugKW3gu+o72WiZK04sj
         MapwNj1cFTINrHigpvOdOW3FsG4aI4g1RAQdZyVVRLtYXtfkw10WCC3g5/91BFU+Ul8u
         AW3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781622306; x=1782227106;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IUHDRx5sZCfecbVAZ4LTdS/5Dus5Mzc9D7UD7FGHfOE=;
        b=ioXCDA6Uc94WKOvN1WmstXwpJLyF5PRa081XnxEDjfJIEyKqcEmy5ac0ozyWvzU4BK
         f6blbHPOTo9MXREm5JdjgOAy6eXjx/9V5f5IXc/VcNcquBdXiVncIy8sPYeun/sogFL5
         5FpQlU3nwFaqVzYhIgaU4kA2PPi0i7GKbhorIHPBj6wGPZvKRwZhnwLZxjIRGvAZ3Ksl
         JVabMg250uwQdiiqFkEHPGL5/LYS50r89xZnRfAeC1rldxoFfIUjeLjg4kdBoXZGvtS/
         It4/EdetA033Qmkbek4LomoI+Wn5b1xnprAfl9smXH+RWladpOv0GeqOFyTGtaHKfkYc
         AYDQ==
X-Gm-Message-State: AOJu0YxNrcBCojSZE5I/BFSYZv4b+Y8++EROVAGdvNEo22VKeB4pM7xz
	v9ZTandZJFxcZfNKlWCWTvejcgfQDNtSlpJORmeLlP/FawKiQAq3Jq9as1BApdBfIA==
X-Gm-Gg: Acq92OGW0vAFDWI7/e0dUR7skPkE0Z965wXklzlggnZqtRWp87AjfZGf0Z6E+lmi/p+
	bJ8iKaO3oalzb+JxBxd84g7oa8KeP2NtxSXoTQm8lqVqrhh/sGrwSlB/zK0qxlWhQqlsPpmqdNP
	k7Wu30TA/c26kpKu3gMWG6nuupui62FTuFiUHRNtd4sT0F5yI5Qfq7XAiApdLegvL4DQXm3TVtv
	Do6cfveqtOpW6wyPk4nFTj98ILB1tIhHGyfHkOxa40sBf9TTthiJ2fLHbpTaUa2HDE/GLYtZu6I
	rYihPDWGWSHVHLx8Y9bfckbssYq/mIKp6k/k47jmoL2tfVOmL246WWe6LTVpQlNQ8IYyPr54Gqi
	dLVOCed2Zy/u2+4ZBm9bTCatd2BRXVYJa5UEqNurnbG2+HtGE625N6GVETh+UwplnhPvae+laRX
	2w20LurHIlD2TUjJDFbsBqCiT7pLbFwelLCsCiG1xe5EX+uWy1taJ5e4fJO//WZBiks/7HcrSHr
	fzeNqBinuaVuxM=
X-Received: by 2002:a05:600c:4693:b0:490:d9d0:51c8 with SMTP id 5b1f17b1804b1-490ec504d3bmr308174495e9.18.1781622305641;
        Tue, 16 Jun 2026 08:05:05 -0700 (PDT)
Message-ID: <94c70306-1242-4d5b-bf1b-596acf9c96ab@suse.com>
Date: Tue, 16 Jun 2026 17:05:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/4] x86: Split .init section to satisfy UEFI CA memory
 mitigation
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Frediano Ziglio <frediano.ziglio@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Frediano Ziglio <freddy77@gmail.com>
References: <20260616101336.44009-1-frediano.ziglio@citrix.com>
 <20260616101336.44009-5-frediano.ziglio@citrix.com>
 <ajExivEwb88pcOxT@mail-itl> <4c577b14-30ed-4fac-84fb-45d248e8feeb@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: <4c577b14-30ed-4fac-84fb-45d248e8feeb@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c1860d/1781622306-B5F6ADB1-B5325BC4/0/0
X-purgate-type: clean
X-purgate-size: 1748

On 16.06.2026 16:58, Andrew Cooper wrote:
> On 16/06/2026 12:20 pm, Marek Marczykowski-GÃ³recki wrote:
>> On Tue, Jun 16, 2026 at 11:13:36AM +0100, Frediano Ziglio wrote:
>>> From: Frediano Ziglio <frediano.ziglio@cloud.com>
>>>
>>> Currently .init section is both writeable and executable, split data and code
>>> to have 2 sections satisfying W^X rule.
>>>
>>> It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
>>> in the pagetables.
>>>
>>> NX_COMPAT is a requirement from shim-review,
>>> https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility
>>>
>>> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
>> Acked-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
>>
>> Is that the last piece necessary to satisfy the NX_COMPAT requirement? If
>> so, I suppose a subsequent patch should actually set the
>> IMAGE_DLLCHARACTERISTICS_NX_COMPAT bit (IIUC ld --nxcompat option), right?
> 
> The manpage says:
> 
> Â  Â  Â  Â --nxcompat
> Â  Â  Â  Â --disable-nxcompat
> Â  Â  Â  Â  Â  Â The image is compatible with the Data Execution Prevention.Â 
> This feature was introduced with MS Windows XP SP2 for i386 PE targets.Â 
> The option is enabled by default.
> 
> It turns out that Xen is being marked NX_COMPAT even prior to this
> series, which is deeply suspicious as it has an RWX init section.

The defaults used by ld are (imo wrongly) driven by Cygwin's / MinGW's
desires. They apparently assert that all binaries should be NX-compatible,
with merely a way to opt out. There's no dependency on section attributes
afaict.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 15:08:03 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 15:08:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339374.1600564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZVOT-0004yW-EU; Tue, 16 Jun 2026 15:08:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339374.1600564; Tue, 16 Jun 2026 15:08: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 1wZVOT-0004yP-Bp; Tue, 16 Jun 2026 15:08:01 +0000
Received: by outflank-mailman (input) for mailman id 1339374;
 Tue, 16 Jun 2026 15:08:00 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZVOS-0004yJ-3j
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 15:08:00 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZVOR-00HKZa-GA
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 17:07:59 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3166be-5cb7-0a2a0a5109dd-0a2a4509ee0e-30
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 17:07:59 +0200
Received: from [209.85.221.54] (helo=mail-wr1-f54.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3166cf-2497-0a2a45090019-d155dd36e5a8-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 17:07:59 +0200
Received: by mail-wr1-f54.google.com with SMTP id
 ffacd0b85a97d-46066e640easo2832700f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 08:07: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-4606f2cf5d9sm39798195f8f.32.2026.06.16.08.07.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 08:07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781622479; x=1782227279; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=8iHe7ibaVd8vMoLPw4kpEFYXzcMxq2Ru3jHjzbDBnVE=;
        b=U04BT1ojY+gk6vkuMcSCwHZVyZ1IwTXrWdZe7VklHttkYPu/tVX/lE5pwAC46PgTlA
         CCZ7olOXjpfsyoOB5/ZqE1aYdhj3E4m1HGPc3hmFXS4RZzb5MKkoJMZpnVXIlstudxEd
         vp7gHtiy6rvj2VKin6Ro5zT4lcEGL3LOAcQ6DXY3B5/Qi3x58+q+OUDJlTrBvwMFkZFj
         xUJ33SAFAFY+tOLteIANZmP8syWRsZTQoINWlY0S0t2qSELQ/ZtvEJj5lTUyqc3+7aXi
         dai27HhszPFVGNq0UjQhOYjadcw1Txr6b45DX7hIHJPM9PyhzFcKu/CB4vAl/BCpAWhp
         2oBA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781622479; x=1782227279;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8iHe7ibaVd8vMoLPw4kpEFYXzcMxq2Ru3jHjzbDBnVE=;
        b=HLtD6BF8pMY2pSKO2+QSY8DInBkLcexr1O9XtOkea14N+EbEpYRo1ZgVxM6Tv2D8QA
         FLOdtb4D+sekZKjXbbDtguH6fy2EK7ljmoRxE7Af2CIbtNxQ7Bzm+BwUkpVgE9yPqQD5
         vbPI/Xdwbz/tCEgZm/ZxBdxZQhR3Szgp3UDtcFB3A26UxHJ2mHJltL+sQRrqpuYfuGlU
         CoHDO4NdVrQgE1QTDGD5GrQWwBS7clfTbY+Rk1YrrGmin1VwuE+Qlnh6Zye4iYsWVBmh
         M02BTkjBbZQHF68QUfe3xsqsB+3GUIX9oHHUytClAQDa22AqVMZcROAcT2g+LbwJMEvg
         eHRw==
X-Forwarded-Encrypted: i=1; AFNElJ8YMGGDphGWxspYNJt3v3+cac0AQTuSxgy7GyYNFxct1q1iFikqQjuyNfS6p/9MBs5AmRUHvUUTg0M=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy2tw3kd3A3F4AeECC+ZbtIay46a5mgsHRcX2lHMYGsIP2kFZvR
	3ZMEVx3j1IAM2wRNflvwsfDLqZbkwkswtT3mmNnvasq+l592uU5Y2ybewqlYBVHAXw==
X-Gm-Gg: Acq92OEpRaRRwuO4g6U3etLwbuZqvgNrM+B6GKPXZ9CiM2qLp3N0OQ/YupkBujv8bHH
	Xc/bVX26WV4NBa7GjjDI2vedEDH17PdSt0IG611gaxeulleh+jKMt8c61M4xRSDW+220lsnt7tX
	WT3zbAPdTqcpEAQygrUh8XIkhE3FD5UuLkPWg1fBS8MNQlJd69jmTIRvuF+djJ9viXmkAkxWJWz
	2tc8j6H22WlVfS1DKo1w0NkSF7Rao06CEkpjq76WpHWeqCOvNukaqmPoLADXknEP1tBxgX40yDV
	VEsza5G6oVzA2icrZgOCt6LKpD4TkBOhZwVP1Az1XN09oFDvX0EL289mn8W2vvcsIZyH9zxtoTs
	tDRFY+FMbKzrytMS6us25vEWwTSi8jaDRCIeG4gDLlmy02FwIph3oRPICU1WkMx/EVNXMONjt5D
	MQlSTzU85f8rTVnotwfSNA6xN8t7yrgkzrlvsvqt2OA6muCqlug7iR1KJLJjNSrQMQy/JechhSf
	7FMuyvkk+sAetg=
X-Received: by 2002:a05:6000:178a:b0:460:194d:8df2 with SMTP id ffacd0b85a97d-4619f37e80emr6935383f8f.3.1781622478623;
        Tue, 16 Jun 2026 08:07:58 -0700 (PDT)
Message-ID: <01c6466c-ed4e-48a5-aae1-c8df878ed087@suse.com>
Date: Tue, 16 Jun 2026 17:07:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/4] Align relevant sections to 4KB
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Frediano Ziglio <frediano.ziglio@citrix.com>, xen-devel@lists.xenproject.org
References: <20260616101336.44009-1-frediano.ziglio@citrix.com>
 <20260616101336.44009-2-frediano.ziglio@citrix.com>
 <3506eb69-f057-4c0b-8321-03cfcc6dda2a@suse.com>
 <CAHt6W4et8om1AO+v_VVpikhd0Nsuc_V_OFSm0r1rgzFJ_2wH6w@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: <CAHt6W4et8om1AO+v_VVpikhd0Nsuc_V_OFSm0r1rgzFJ_2wH6w@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1781622479-37979A53-31787C0B/0/0
X-purgate-type: clean
X-purgate-size: 1684

On 16.06.2026 16:38, Frediano Ziglio wrote:
> On Tue, 16 Jun 2026 at 13:27, Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 16.06.2026 12:13, Frediano Ziglio wrote:
>>> From: Frediano Ziglio <frediano.ziglio@cloud.com>
>>>
>>> Required by UEFI CA memory mitigation.
>>>
>>> It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
>>> in the pagetables.
>>>
>>> NX_COMPAT is a requirement from shim-review,
>>> https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility
>>>
>>> Sections with different permissions must be in separate pages.
>>> In the case of debug sections they are contiguous and have the same
>>> permissions so it's not an issue if they are not aligned to the page.
>>
>> What if .debug_* starts in the middle of a page? Aren't you further
>> relying on .debug_* to be r/o (i.e. neither X nor W)? (Right now
>> .reloc is what comes immediately ahead of .debug_*, and that's r/o
>> as well, so not an issue in practice for now. Yet as indicated, the
>> description here wants to be usable as a reference when this later
>> needs extending / revisiting.)
> 
> Can you suggest a better wording?

After "have the same permissions" insert ", including the immediately
preceding .reloc section,"?

> Practically I think before the .debug section you could have the
> .reloc or the SBAT, either are permission-compatible.

Right, just that this doesn't go without saying.

> If in the future we break it for some reason we'll fix it again.

Yet better would be if we didn't break it.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 15:08:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 15:08:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339381.1600572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZVPI-0005ew-QP; Tue, 16 Jun 2026 15:08:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339381.1600572; Tue, 16 Jun 2026 15:08:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZVPI-0005ep-NI; Tue, 16 Jun 2026 15:08:52 +0000
Received: by outflank-mailman (input) for mailman id 1339381;
 Tue, 16 Jun 2026 15:08:52 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <marmarek@invisiblethingslab.com>) id 1wZVPH-0005eU-S8
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 15:08:51 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZVPG-006IWI-QT
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 17:08:50 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a3166e9-bab6-0a2a0a5309dd-0a2a4506b3ce-30
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 17:08:50 +0200
Received: from [202.12.124.148] (helo=fout-b5-smtp.messagingengine.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a316701-7371-0a2a45060019-ca0c7c94cc73-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 17:08:50 +0200
Received: from phl-compute-03.internal (phl-compute-03.internal [10.202.2.43])
 by mailfout.stl.internal (Postfix) with ESMTP id BAFE21D000B1;
 Tue, 16 Jun 2026 11:08:48 -0400 (EDT)
Received: from phl-frontend-03 ([10.202.2.162])
 by phl-compute-03.internal (MEProxy); Tue, 16 Jun 2026 11:08:48 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 16 Jun 2026 11:08:47 -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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=1781622528;
	 x=1781708928; bh=cIJRoIbM/kiNhQt1JNTUE26tReLBrL3KKe1ogTc1o4I=; b=
	XQf4ITney1caW3I6fVXEy2xfBjp8zggtng4Rmj3JX0MuD5TA6QcTjMB9TVC5PuyP
	tObiKvb4CsFpDw9sb11slHoOG0XYPjHVcdiB4RoRriH7ZEcajxpGtKo9lZRw/iti
	DwjOxbUx/a9f9dwj9QSEgJNus1FH6Ixffo/4UhWzgjpppKdOz4cSBfcaUPKcU+KM
	QXR9IKtlmHzgp+tG+ka85zT3fYJRFscAZdweUi4jCdCllrgkzewhqDrNNk7JalWT
	whyvCY93MC5u6jGuo+yfUL78+tR3zYMi54FiLa9vkKsQ/5J+DPRuyffVJu7nUkgo
	IW09j3bTsywdL+2GSRe9eA==
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=
	1781622528; x=1781708928; bh=cIJRoIbM/kiNhQt1JNTUE26tReLBrL3KKe1
	ogTc1o4I=; b=G5qOdwEYzDmLWocuzml+vZgwI+g3GQwtUf5CafQUH++SE3TxrN5
	B81y3BfoeWNIQrtqF7jMIkf9DnAmXZhVdhYkvVYi5HQSkBIb347IH/wvXYpGcUav
	vKS6EnsesFTs1YlN20rZ74zgfApvcXDeRSu5dg9FHvI5SglFz4nzLN1sR8xl1lZi
	4oQJTTG2pnwKFjo2idmK+Y7CP3XEHtJnMtsWBoGEUUKRtVxitZzu/LBqVVsgPiZG
	IyYCbnUtwgpbs/fxFKKNsbeA5Or3Cw1BVCJrdYvcS3q3gdXfTGWjxO6bn37Apbsp
	HA4liNAM0fMboVHTSNBqqXVQCl/huedXTzg==
X-ME-Sender: <xms:AGcxanE9ONgMmJgNIbwclbcVsqRO2Lajh1otmrrnUwh3Duh_0kJLkw>
    <xme:AGcxajaquscRXcLuuLn0JoVRVwlqJ9AQ0VQ4s9KVc0KYPRK_iS9NPCGwROwvilxXG
    UnjNb5wIVDvZJXwt9Yo45iyFwQiMdTDKq4GG2LghwRiVBGjfmw>
X-ME-Received: <xmr:AGcxavW6uxCaS-I3WHBfqZ2FHyxMlfaNax3IEmRoEtnB_-8xQZcJ112E-9EnGX5QO992pIvjrIwwuF0G7QKS23CQ1QYt2ssjhpM>
X-ME-Proxy-Cause: dmFkZTFAJv/QvdwSX4iAbvAS5wSXei8qPx1a0g4qORE8bsGX4WeMrw9W/HO3lPDyCgRZUN
    mO31sXhEpnFV7OsxZYlaMZyIWCDG4ugGsEpH5goCRxauqAoU/7GTo/tp5k9OvMrR9oBLQp
    iBGkOXubKRue/Kouac/8hw8sUbtgYz7TJRm2FT7Gzk2AIOkcUk6SzMe3IymGA7F1cnSEcX
    8CRbkJYZMEjz2Qo/e4C9hHZvQocWVxVMo1maf3dT+oD26xj/GjENOnT5t81WTQHyLNtD17
    igtAllPI4mR8fnveZzmCJGSELwkQpCnW4kzSkDuiXQ7AI22bJQvWy6jsoc8ZMEwln074LH
    AKGv/SEGVXlCO6iOViAiXjtq1+ztG9YvEw3h55Srv8phRvPHLAlafp9YV6XNI9rylNu4Lj
    HlBA8rQKsPN8FEoY7DDKNGj5k7+a0R0fKwnx93Jt0OuHuA++bws/AQl66y1+55qR2XGaw7
    /20sDIi4VLT8tPWVm2G70a9A9/hO7G5oxLeeXbdvSiYAXDgwLwYsda12CKGyLxmVFj+fCd
    tei3LcLJEYIMThgogpynhD6DXuTak5xumdXCE6T+CEUtggqk+1MpvnQ20CIBMGe/0GWREV
    MIiH/C6amK7xW585L5g764ulDP9K+82AT2+je/GS5iDWNsq/rEjxW71cmXeA
X-ME-Proxy: <xmx:AGcxahnWqw7Sr_GDrPdYreJuLRndpThN8bWq9kAgjyMxz-m9FOZ0oA>
    <xmx:AGcxaiAtz9a_DmVLII8HcA877Azbl87_ZN1Ujrx1gFT43p1_4cFSaw>
    <xmx:AGcxaoj0-NJsV99qEDk8Zp5SHx5fb3rxcM1sro3BUNyQ7CQR-9SOag>
    <xmx:AGcxanye1V8BXWt56A-LCFGMH-TGJBSzSt4mcVPW-MKz2knYyGbvEw>
    <xmx:AGcxarqxckKIuuZ5vfgWSEbjMXPrWZFixjtqdxHtfdsCH1LZlhCn5V7o>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 16 Jun 2026 17:08:45 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Frediano Ziglio <freddy77@gmail.com>, xen-devel@lists.xenproject.org,
	Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: Re: [PATCH v3 4/4] x86: Split .init section to satisfy UEFI CA
 memory mitigation
Message-ID: <ajFm_U8NBiNlynns@mail-itl>
References: <20260616101336.44009-1-frediano.ziglio@citrix.com>
 <20260616101336.44009-5-frediano.ziglio@citrix.com>
 <ajExivEwb88pcOxT@mail-itl>
 <4c577b14-30ed-4fac-84fb-45d248e8feeb@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="7qpMGMHnLKgw1jQp"
Content-Disposition: inline
In-Reply-To: <4c577b14-30ed-4fac-84fb-45d248e8feeb@citrix.com>
X-purgate-ID: tlsNG-16d1c6/1781622530-8596CD75-5447A621/0/0
X-purgate-type: clean
X-purgate-size: 3217


--7qpMGMHnLKgw1jQp
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 16 Jun 2026 17:08:45 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Frediano Ziglio <freddy77@gmail.com>, xen-devel@lists.xenproject.org,
	Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: Re: [PATCH v3 4/4] x86: Split .init section to satisfy UEFI CA
 memory mitigation

On Tue, Jun 16, 2026 at 03:58:27PM +0100, Andrew Cooper wrote:
> On 16/06/2026 12:20 pm, Marek Marczykowski-G=C3=B3recki wrote:
> > On Tue, Jun 16, 2026 at 11:13:36AM +0100, Frediano Ziglio wrote:
> >> From: Frediano Ziglio <frediano.ziglio@cloud.com>
> >>
> >> Currently .init section is both writeable and executable, split data a=
nd code
> >> to have 2 sections satisfying W^X rule.
> >>
> >> It is a requirement for NX_COMPAT so the PE can be loaded with W^X per=
ms
> >> in the pagetables.
> >>
> >> NX_COMPAT is a requirement from shim-review,
> >> https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-yo=
ur-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have=
-you-done-to-ensure-such-compatibility
> >>
> >> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> > Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.=
com>
> >
> > Is that the last piece necessary to satisfy the NX_COMPAT requirement? =
If
> > so, I suppose a subsequent patch should actually set the
> > IMAGE_DLLCHARACTERISTICS_NX_COMPAT bit (IIUC ld --nxcompat option), rig=
ht?
>=20
> The manpage says:
>=20
> =C2=A0 =C2=A0 =C2=A0 =C2=A0--nxcompat
> =C2=A0 =C2=A0 =C2=A0 =C2=A0--disable-nxcompat
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0The image is compatible with the=
 Data Execution Prevention.=C2=A0
> This feature was introduced with MS Windows XP SP2 for i386 PE targets.=
=C2=A0
> The option is enabled by default.
>=20
> It turns out that Xen is being marked NX_COMPAT even prior to this
> series, which is deeply suspicious as it has an RWX init section.

My reading of binutils sources says it's enabled by default only for
mingw target. And indeed, inspection of xen.efi says only DYNAMIC_BASE
is set.

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

--7qpMGMHnLKgw1jQp
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmoxZv0ACgkQ24/THMrX
1yziigf+N8qrR2EPBU5XTC4f7OLI5+3bkZPwNyXS7WtU2tv9+RW/wuy3bUVXt1qF
PBF0AINloPK03DMr6BrNcdExgXwSxwXo4YFUemgrPmMBgsIdYSJVAC8EjgRH5ZCn
9w1bs+qLNJMi5s/IMwZZi6mS6ldL8XjN+5Gpu1cKWbjkWGAjSbxRDe9vcf7kH5to
YDMNvUT574qr2tuj/MvATFR30NM6yN6RgmlNzWbmcfZeqr4VZd+7nKGKJwbfQhqX
iUK6Ez5gGi+LOrHSA76zi01OLgQ7KgrTbLehg2R6jkhzuMT2ltn2CGsUQAnaE+8T
02u/qL0q8qk8QXYdYEkB0F5F0Z7Mcw==
=KKMF
-----END PGP SIGNATURE-----

--7qpMGMHnLKgw1jQp--


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 15:20:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 15:20:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339400.1600606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZVa9-0000gi-01; Tue, 16 Jun 2026 15:20:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339400.1600606; Tue, 16 Jun 2026 15: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 1wZVa8-0000gH-T8; Tue, 16 Jun 2026 15:20:04 +0000
Received: by outflank-mailman (input) for mailman id 1339400;
 Tue, 16 Jun 2026 15:20:03 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZVa7-0000Gg-9E
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 15:20:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZVa6-00BvY4-6K
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 17:20:02 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a316989-e002-0a2a0a5209dd-0a2a4501e966-34
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 17:20:02 +0200
Received: from [209.85.218.50] (helo=mail-ej1-f50.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3169a2-c1f2-0a2a45010019-d155da32a4f6-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 17:20:02 +0200
Received: by mail-ej1-f50.google.com with SMTP id
 a640c23a62f3a-beb1bee8c16so535192766b.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 08:20:02 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bfdb4b22136sm690860366b.15.2026.06.16.08.20.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 08:20:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781623202; x=1782228002; 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=Fv0yqf5Dr8irv/PZF1l097JC0vyPYalD4x7Q/c5z0R8=;
        b=rxAkZh59Jqo+zycJJaaudHBC22iZmsJFbjZWhGeUMRUb76/+ujFaFJmmE//2WVfEPh
         hfm4TEqxpmj3N45kCfpcLZnK2lB/7121ouEKm/QgLYJl6cR0A6FTE9i0Vc9W3L9OsL6J
         xzhy2cTGk/+dJ3k+xIYrilUXUcrLIMDYrZ+o9Vgq5vRWm2toKcEnT7FDBqPBHJcN4IOE
         fp2T6Z8yPJ2JH9f3uOFK+hBrELNC0hwVOwKgH8SZDXxDzA3g98n7/LfoY5bCBpeJFO37
         P0Fhh5vQ0OrpJRZvkOUQP1QgZR52sh1XLSLVbXJRZ0Kn98/w0o6JmCrlSwZXxvbY/Awz
         4yKA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781623202; x=1782228002;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Fv0yqf5Dr8irv/PZF1l097JC0vyPYalD4x7Q/c5z0R8=;
        b=HGpRUXUroBvAvakyEKOhm7TYQQbn85ibJiGPkzaU9TrHzVrDRpbSkQTQKSs4w999oX
         C467Nt2Tr/DdG4l88lu9VD1QmbzRKgyhMg8IZ8J5wGbSp4jVCSkP5+sL3zlMt4EaSl9d
         udf1RPNUzZhRBMa6v/tfWbFM4M8aq6ayRj4Mz12lJ49gfE41OxTra+a95YE1cpPO/6Wi
         FZSm/IcaJ7AOaIjk8MwsTigoEIh1PA/4mIJtqOX0n6Jc1mEYm2tpQNjSMcg50mdIVkwQ
         N0NmGuszxb8fgXKVuYw1sfBS4ojjYlnMlAyeO1bmSadqkvhsnDtzWZpAneM2lE2EIVNK
         FDYQ==
X-Forwarded-Encrypted: i=1; AFNElJ8Dbcr41PmvCF+tJ4ITh+acm2KlWEWGSpNhYfSfK4hjNrJ4CDin4/HI2HW90QniXbS///aQxGULeu8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzl2yb3eAD9lH81NQb0xOWmKmDZuCuPrSy+MXm6o+DcHGVDiClu
	ml+c+SgPFYHpMf5I5gsv+tQEkG17DC/Osb7KalIG2NhRsvjGtEGriEuM
X-Gm-Gg: Acq92OHwoPt0yET90VH7+0VZ3IaXRnVWqGN8kNFr1gvG73M3WPMVMi0gwBxjDxhLOhz
	0UBAMF8IHWfCVoaxIlWSsYjdUDPktlSa7sXp7P9ezKdUzP2FfYYJYuV1oxCamNmPn7bJskGsS3z
	EYFn/50vVR9paADWHuXKPHySWqRpCF65iS/BytqlWgWdA3Xq7uMwD+BJB7xeWRB+SnHVqEszGdC
	saIjDJOWWlqxdiEUpGhSNivfv00SFw1d6pPNjCdIjTBDvpoHfORqoE5RP3wQXvyHPGfkaZEl3Sg
	NW3uJ0DQFxaiL2yJuCkjLhsn31rwZeiMmqZJs19wTLR01EtRnSRrOCbcm8BODXxUDI2ZDwMBNls
	pNAqraKoiOKr9ymfWVSqYAF6SeNhgonLzYxamBvhPsqt7FD9dI95+31m3SG4A33H/cbSLB70ldP
	QGjSX2fRqpBFePIdJswMjBg1IbUgPXch3IQiwc8zhXDT2XTTHi4D3Qla1gO/EDHnodE8WA41/oR
	4roQA==
X-Received: by 2002:a17:906:f59c:b0:bf0:e345:68b with SMTP id a640c23a62f3a-c05a7bbc507mr5008466b.18.1781623201227;
        Tue, 16 Jun 2026 08:20:01 -0700 (PDT)
Message-ID: <79fac688-34e1-42b6-92ac-6c8c665af0bd@gmail.com>
Date: Tue, 16 Jun 2026 17:19:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] x86/ucode: Exclude Zen6 from entrysign digest
 checking
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>, Teddy Astie <teddy.astie@vates.tech>
References: <20260616104534.22995-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260616104534.22995-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1781623202-AD1ADFF4-56172E14/10/73395122804
X-purgate-type: spam
X-purgate-size: 636



On 6/16/26 12:45 PM, Andrew Cooper wrote:
> There is a 3rd path which should have gained an is_zen6_uarch() check to
> exclude Zen6 from entrysign mitigations.
> 
> Fixes: bd15fdedafb3 ("x86/ucode: Exclude Zen6 from entrysign mitigations")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <jbeulich@suse.com>
> CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
> CC: Teddy Astie <teddy.astie@vates.tech>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> 
> For 4.22.  This wants backporting too.

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 15:23:00 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 15:23:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339406.1600615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZVcx-0001u2-Bm; Tue, 16 Jun 2026 15:22:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339406.1600615; Tue, 16 Jun 2026 15:22: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 1wZVcx-0001tv-92; Tue, 16 Jun 2026 15:22:59 +0000
Received: by outflank-mailman (input) for mailman id 1339406;
 Tue, 16 Jun 2026 15:22:57 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZVcv-0001sk-9n
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 15:22:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZVcu-00BwIK-JU
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 17:22:56 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a316a44-e002-0a2a0a5209dd-0a2a450a88e8-16
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 17:22:56 +0200
Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a316a50-56b3-0a2a450a0019-d1558036b08e-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 17:22:56 +0200
Received: by mail-wm1-f54.google.com with SMTP id
 5b1f17b1804b1-490afc47455so21434745e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 08:22:56 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-49230a8ec56sm64720865e9.9.2026.06.16.08.22.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 08:22:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781623376; x=1782228176; 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=fP2r0Wv4fsZ0WsM+qhn/2NwwudmWfIa43ldoUVv1BYs=;
        b=MsfHD3tz4T8nUSKpcSPFO9y+82CprPaQyi1gc9X4W0ur7CgVQBKIsCBxHYWNwugfvu
         xdRxfUm5Y6+1PVyoDq98WHIP0khBKQGH1AHy5upz0rzMRy+V9qeeMrpkRD+C0syBZW6U
         igl/lJJWdNWRHKY/8rjjhi534HsIarj3/Ze2bexvzTJFJUjsBslAaaIVnrWns91G+RgM
         E5sLU/z4ufLoW01PqDpFQ5qTlLiRvJeR0h7Nwl+cCQ6iiRY13KhqZAHQw1fxu37W8t8P
         +GjFfq2r8bUjwmkj547/Z2XQkcaB1SfzPCV5vWXKTzehLtBUksv/s9Jl6yAWdvCJRoHG
         e4Qw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781623376; x=1782228176;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=fP2r0Wv4fsZ0WsM+qhn/2NwwudmWfIa43ldoUVv1BYs=;
        b=cIvkwaYe6XyOxFRHCrMqirhqlp8VJmu6YBXaWYuQuO7F29JwviU7XrzFKxd/ZI0rAO
         Kd2XK0ZKyZyLJhWKcOJeES8v2VWAl2Qbz1TaM41CbtYKQEeeI4a25B7V8MDKTXeuwmxU
         OsRiJymg448gdkmfm106aDRMIAH470xdNzFpY09IjxBHatEChQyBVxp99uVole87iiFt
         gPRDeenHDnQqFHFAsYbbcN3/yzb6b6HMviq8hSY1v2mseNd/N7jjsu9BXWhSemKIOB+w
         dZqy5auDsX+liierj7ZQJ+8wG3EwO5eO9jEL3fZspg/XLd41OrErU+rynRduvjqEwE17
         N6nw==
X-Forwarded-Encrypted: i=1; AFNElJ8sctlO864X9QmWkZaX9bbRD0oM1ODhXvqqNmpZHbU71mcXM1bw1JoUoZ2qaSWwFy/8JsRXr7coxE0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyRjvwYGTkhCu/xq9TuWSriUQSydysHwCuk5Gqs3VED1+8VATmV
	xxsCOMM2bTXF4lEsK53PERIXwahdrV05cjEo1So+WjAPJtGRRX1JBUEa
X-Gm-Gg: Acq92OE/0KZSJR3uXnhW7C2UZw7yeIklcgXzQhFInSe3X5vmcezn4vSIAsFii5RhUC7
	A2NVJ0fQSiMrBVvtNFUPjxjLIwuV1Pb1ZCUPZgfsGzsvACCAuTDnFnbQCgTbxAx7/+2yM9eLHZv
	XEaIc+FsRvO3+ZbtN+/I7kz0oMbruJQz8slYiVShPEJIHkMBj3mMfK7WdY9WtsoMxy01rSWceH9
	YYxWlL4PSDurtpoJVY8Xlm/c6D9ejVgjCuc6KY5XvEHPxJlW2e8tvo+hevdxhEZB3b9E7kALYUC
	k2pUdUN6pnyomJnWsHVzfOvqrNiJxLylS4xRIl6Yx0vhSs0D24rDXMvhUz1D2uZvwzwJLQON+Ai
	14NdnY8r0xSWL2oNnTXjF8SKsjVVEtdWG6X48k9onGKLPvHuwi5P7W2qHc6Bx6TaISUSLt0e76b
	DJURgZ83ShuBj99kdYGJgmLJrBBWhJTXdeMt2Skknftdsee2fcTX4JESNKXGpr/XucYIOxYC/Z1
	Jvp5Q==
X-Received: by 2002:a05:600c:3151:b0:490:d354:bd00 with SMTP id 5b1f17b1804b1-4922ffb823bmr64434685e9.25.1781623375589;
        Tue, 16 Jun 2026 08:22:55 -0700 (PDT)
Message-ID: <d88ee844-e75e-42b0-8de1-1576b2753fb4@gmail.com>
Date: Tue, 16 Jun 2026 17:22:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22? 6/9] domctl: handle XEN_DOMCTL_getvcpuinfo
 without acquiring domctl lock
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <0e38793c-e201-4cbe-8cee-6cd26996173a@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <0e38793c-e201-4cbe-8cee-6cd26996173a@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-4011c0/1781623376-7F1948B7-923DBA22/10/73395122804
X-purgate-type: spam
X-purgate-size: 429



On 6/15/26 4:15 PM, Jan Beulich wrote:
> Like for XEN_DOMCTL_getdomaininfo there's no need to hold the domctl
> lock for XEN_DOMCTL_getvcpuinfo. While moving the code also switch to
> using domain_vcpu().
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Tentatively-acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 15:27:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 15:27:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339414.1600624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZVhI-00030X-T4; Tue, 16 Jun 2026 15:27:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339414.1600624; Tue, 16 Jun 2026 15:27: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 1wZVhI-0002zQ-Q6; Tue, 16 Jun 2026 15:27:28 +0000
Received: by outflank-mailman (input) for mailman id 1339414;
 Tue, 16 Jun 2026 15:27:28 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZVhI-0002zG-0Q
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 15:27:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZVhH-00AbpW-6C
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 17:27:27 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a316b4f-bab6-0a2a0a5309dd-0a2a450bdaac-40
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 17:27:27 +0200
Received: from [209.85.221.47] (helo=mail-wr1-f47.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a316b5f-212f-0a2a450b0019-d155dd2fd875-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 17:27:27 +0200
Received: by mail-wr1-f47.google.com with SMTP id
 ffacd0b85a97d-460166910e6so2509204f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 08:27:27 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2d9becsm43439279f8f.34.2026.06.16.08.27.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 08:27: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781623646; x=1782228446; 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=lwBCvfajTtuGZ9UDMr1bAvLJ5E6FOJewYiBfmqswzI8=;
        b=IMVc7p+JV9zHp9ahFaP726aZL4OBGyu0K8PNRfoA+0YFcXNXvFx7ZDmXDba1nvlcPZ
         N4hAQ7XYr4zdTvbOZDF7EMVMuwFbtDUYD3QGWhq9u/o4vTEy3yG3mn/QWElZC6jOokZZ
         W3URonRElBBnBV+DI6RMqnEmaKKokIjIsUG6KGuL/6YW72kpHuPgAq7OZ0yn6vVekD/x
         mixcKgfIE7kpTodaggr6l9cvTARVdZU5I63raZhNVktyhKtdwFAQZjisnbYFwR9gg74Z
         4YD+fW3SazE42iy8GISviDLNWIXCMq4rkaLzYByZCcRgUIqUuBwS8ICLVwoVcsv9EKuN
         6d7A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781623646; x=1782228446;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=lwBCvfajTtuGZ9UDMr1bAvLJ5E6FOJewYiBfmqswzI8=;
        b=FHgoSM+coQ2rBxFR6dxWkHA9va4WFAxLPaN+MAaYQBXO+WmYddkFbH7D3C8vmrFhjZ
         +9MwMhLuOn+CXTV8oyRAgeuyuBUfBlcM6kModMnysFY+Fq6zaFKsQs5mjcN9DGO+iRoe
         RFZcjJ0xpTXfwK0MMqhTGuPzUSkaSiZRj97NOcTZTDRmjVAr6pf/nNC4nerAWbWsqDoa
         P+8/WzSToXafVdkL3WHWPXMaW02fSpUKMjDbi3OkxSdOovSCvj3RH0GPzVREcHgvSRyo
         AqbfntyjrNApb/ydNJh5iAMWR53L6Q/vknZQg1/ypC3PS4Gc7tWF+X9MTXkg5TYTE6E0
         8JQg==
X-Forwarded-Encrypted: i=1; AFNElJ+36jgoNOPnt0k8SSNYT5Jv/HQgFac981l+ijcaRe+FpDpByZjwmIiiQBKgJwifsqP6+MMc20kfrC4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxAnfvgGWL9aEiZEM9s9UK/J7EOv6v3abcF512swAnLJA9ir6Yu
	egBqYmbzMsP2TbmDb9YbOWty8tIrX0hZQOXKrkABwFOMOL29BZKEHfgV
X-Gm-Gg: Acq92OF922ld+lperkrV82tJAUiVt+wBgCIt3NQTGAFG0X58opc9Si98nO2fkuKA/88
	rGvpc2QslGfr++gj5F/e6QscrQmrA2i9dEaU4fQ0wYMfPHAOggiLPMX+aMUH5HwwXT0E+xIo+wP
	gYHZivwRxj7uReIeq3ESpmH44BcskiExmnSxqGNLLTEHg0veckoiE1KIdXoat8tMJCcZTC21190
	hMlqm38265wtjLA8cun600Bu+aWN7kOw2s+QV2oHYw3d7fHBkvILBmBSdRLbEBgnf0QZuNOgwuo
	fN59O+BFcKUgUsyQnX63EjaT5eKj4yP0BXKW5isEWEK2ht/rDk/IuMYnqYayoElaTlmkJf+TJT7
	igEf4BgoDmQF2G+70y5IYcHA6jU2c0TWWAoNTDt4m+cXKxLpXWfZP5DWce0TPSEClHRIhBGcy9B
	b9QHms5y5owTcsMs7T1pxw+jqUn5Q7ijEYtsqo/b1twWRPkhIGmN1MeNKZDOZUdtWUGttaDFKzP
	vpWNmQ6hSR2CoKD
X-Received: by 2002:a05:6000:4602:b0:460:edd:ca89 with SMTP id ffacd0b85a97d-460769303demr20835340f8f.26.1781623646432;
        Tue, 16 Jun 2026 08:27:26 -0700 (PDT)
Message-ID: <895b6cdc-e0ee-40ff-af50-905f0bd134e0@gmail.com>
Date: Tue, 16 Jun 2026 17:27:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22? 5/9] domctl/XSM: avoid XSM_OTHER with
 xsm_domctl()
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>, Daniel Smith <dpsmith@apertussolutions.com>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <0986c7e3-7a1f-4e1e-b132-78593c8b63e1@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <0986c7e3-7a1f-4e1e-b132-78593c8b63e1@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1781623647-19969F3B-436A8E56/10/73395122804
X-purgate-type: spam
X-purgate-size: 267



On 6/15/26 4:13 PM, Jan Beulich wrote:
> Make explicit at the call sites what (default) permission is required.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 15:29:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 15:29:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339421.1600633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZVjC-0003gO-6d; Tue, 16 Jun 2026 15:29:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339421.1600633; Tue, 16 Jun 2026 15: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 1wZVjC-0003gH-3e; Tue, 16 Jun 2026 15:29:26 +0000
Received: by outflank-mailman (input) for mailman id 1339421;
 Tue, 16 Jun 2026 15:29:25 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZVjB-0003gB-EO
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 15:29:25 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZVjA-00HP6p-Nu
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 17:29:24 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a316bc6-5cb7-0a2a0a5109dd-0a2a4508e296-26
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 17:29:24 +0200
Received: from [209.85.221.41] (helo=mail-wr1-f41.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a316bd4-63b5-0a2a45080019-d155dd29e4ee-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 17:29:24 +0200
Received: by mail-wr1-f41.google.com with SMTP id
 ffacd0b85a97d-460662fcb4eso3231957f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 08:29:24 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa891acsm87743295e9.9.2026.06.16.08.29.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 08:29: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781623764; x=1782228564; 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=1cyOe5vjbvnWqCqRa9uPuvsD4BCMI6xh6YXkyBuJYKw=;
        b=WmxykpQIPbtQWZ6PItFoJCCtkIu3uH5RiIvske5aA3RlkwCuO9rR1Nn5ZXq0sGdmc3
         oPBtPuPZOKhNBVztGU8oY6QCzQHRu11CLzjT2wnkF0Rirx/e5dkOkl+R9Y9xWPD88OpY
         aR+mSEsqVhGLFh84eO9sV2cYL7Sv7pJJWXHA9/c+yQdKjnzeDcVgkaFT1f+W9zOj0QvU
         OVhRc8J6uVdbD9UwThPESmoFxFqCo7n0wJG/O5aIH4Y/YEFQQdXKvuiJ8as7nx5wxJya
         rmloKskkRgm8JosPhSiQkOn+aJ4QkWAWYBIFcVuP6tE0WnxhwLFIsj1tbCPTW4YVPK31
         BcJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781623764; x=1782228564;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=1cyOe5vjbvnWqCqRa9uPuvsD4BCMI6xh6YXkyBuJYKw=;
        b=pgDe9xeD8OOh0HmKIax0TBhpCw8kqDNQ05k5FI1AUglei1VZL2TlMO59Ix2bQGjJCg
         C5WOFTRu0lrt+bxyH8jLw4lAgeQRAldXV+9KEpRg9PlUrR34ybvvhcSVZ3LAmKyX24yu
         21hikl3Ff0He9nIitOokc94S3cw2Rf1q+BsEb9Rnwi+k/JNvZHHgo+LtFskVrDgYt+9l
         8IaP8NAPsuR8FbilsyMwphK/O6x7o4UVB1W6NeGd9hTk3PDVjXWj/7YgxyOpE2cgS+yG
         E+UtGLLOiTO4FxqpfzazF3iJgxITP+2xn2XQ94WrQm99o5lUlsIDs/PwN+u18SgGZ/oS
         BMrQ==
X-Forwarded-Encrypted: i=1; AFNElJ/oa38Vx+frkRs4z2O0+Vm1f+VnaytNYR2VAwEhMFQ+OlhqnokiAQdk+DFWyvurukzrCTQoTPpw6t4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzUiqJX0savvY0ojR4nt2AIVkdv8lisJfuv7nnvZPRXaEE8YoXd
	xEfDue7UGTuOUeF53o+xydXPnHH31AoPENUAy/+Jr03le0ToLdUAlhCM0ZiHIA==
X-Gm-Gg: Acq92OHfKJ3JXR/+Ue7a6KO/yAeB6zcibboHBjwc0lCkGw8Uu3DrNyNigpWMHgv7zDn
	jDrueVHxW11SrX5u6PIrbpKr7pN2jMwB2ybkhhAEcLx3Jfo7HD0RMIqYVALsOQpf6ZISmKX2Dry
	LxTWNFvyBGZLJtl78krSRt3+iVaqiaONsTuBgFi8UR9qLTFPpSusIzQMp5KsJ44/AtorguQnRhk
	Usy6XMMX/dhFaGVEtGczvRh6/fdeRmO90x0a2bkovDgmljYasylE1q18EeI2kvWV6xq8Tt4d5JA
	yavu7SrSi8wCmHKYozRv/JbXjxw4tMOtlU1oGTIeq+uYIlI8qGFI7Z8eJO5H6YpNFskCpEiGcvW
	8WC7LudgobeGlCS/X0i1XMLvI97LZf21UtN/4QXRth2v6UbJ90zfEQ1uh9gddNxlbLCB4hyvKS8
	Rp5XNSBqTw25BY6E/TKOxaxg33Zj80K3ZgkaOo0vGbntWpYtyrBw6stFa7fjEqF0LUHzCfip8wL
	yY8O0hIE/1utZhY
X-Received: by 2002:a05:600d:8496:10b0:492:3214:cbe6 with SMTP id 5b1f17b1804b1-4923214cd1emr25860075e9.23.1781623764024;
        Tue, 16 Jun 2026 08:29:24 -0700 (PDT)
Message-ID: <94d7fe88-02ac-4918-b125-d85d9481b932@gmail.com>
Date: Tue, 16 Jun 2026 17:29:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22? 9/9] x86/HVM: more checking for
 XEN_DOMCTL_ioport_mapping
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <e2f2cd28-a8f9-4455-8a3b-f55f8c08e1dd@suse.com>
 <b0a50973-7a84-4e69-8241-d761e9b887dc@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <b0a50973-7a84-4e69-8241-d761e9b887dc@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c1860d/1781623764-B5F6ADB1-B37BCC57/10/73395122804
X-purgate-type: spam
X-purgate-size: 573



On 6/15/26 4:16 PM, Jan Beulich wrote:
> When adding ranges, only alter existing ones when there is an exact match.
> Don't accept ranges overlapping existing ones.
> 
> When removing ranges, only remove a range if there's an exact match.
> Return an error when the range isn't found, and also don't call
> ioports_deny_access() in that case.
> 
> Fixes: 192c4dabc344 ("domctl and p2m changes for PCI passthru")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 15:33:13 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 15:33:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339429.1600642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZVmm-0005S2-Nr; Tue, 16 Jun 2026 15:33:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339429.1600642; Tue, 16 Jun 2026 15: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 1wZVmm-0005Rv-KG; Tue, 16 Jun 2026 15:33:08 +0000
Received: by outflank-mailman (input) for mailman id 1339429;
 Tue, 16 Jun 2026 15:33:07 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZVml-0005Rp-6d
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 15:33:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZVmj-006Ldu-DZ
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 17:33:05 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a316c97-bab6-0a2a0a5309dd-0a2a4508a884-36
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 17:33:05 +0200
Received: from [209.85.221.45] (helo=mail-wr1-f45.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a316cb1-63b5-0a2a45080019-d155dd2dc853-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 17:33:05 +0200
Received: by mail-wr1-f45.google.com with SMTP id
 ffacd0b85a97d-45f3cf907ceso2514044f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 08:33:05 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2dbfb1sm48454228f8f.35.2026.06.16.08.33.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781623985; x=1782228785; 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=IGoN0O/DfvsomhpEe6BIvmUABunsD58NIZlU0N44T6U=;
        b=ERBVukqoK0I05kScCUXWIxVu2UIxnYl/KmZAjgzmUwbIi0Wuiv/j4PV1a54agFUKzz
         +wZ7RCEPqgZ1V/XkKFLfSrlYWebsL+3ctHrLkufnDZXnRUtVFterz6hvnht6Pq+1Dv04
         3wJOBI0JwK10/HMuMyseJ7Ci6e5uhYjZPcIjU61mG1JD6sFKhCMhl9TT8MEuEScGg74j
         z/Sip81pnMgdPxkAjo6J3KfFvmoGytF3kCfTo/yO5KNlSBTcjxbp1kHJXRiSPGyC+ISr
         Q4gC6ZutEWNbhxlyyZWy+yJsrmqtHO3PDaalCcjsBPr/TkZ7k33ZIzClGBVF0Lmd1f80
         1r1g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781623985; x=1782228785;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=IGoN0O/DfvsomhpEe6BIvmUABunsD58NIZlU0N44T6U=;
        b=ggS+KliatuJvLtOZQesAWfPblPh5vrqu06994nEvFdAQtBMFXCEmZ4YQwYojJACosf
         ArWG3nqCi6V/etcOLgOwG4HH5W5JcKplAbA62SVu0Cx3VF5tggAhc//weVXFx27y1MFq
         9G4Hgx9lH23OaNWzEjQTCBAqTvCzhYr0xolEHafTBMYNwMYZ67cU3DLHBG9vNVYtidYU
         Y70rbidVZAVamCi1zvVyqrdJTwilgS42fUmu+mAGhyi74+PcxalzBOatcUiiiX1l34uR
         mJcRBxppLP+cqfW5OLusaF1kAgTvIn270a9x37kJ5PPe2WewCPrzDqt+Yb0evBJywrMz
         a/eQ==
X-Forwarded-Encrypted: i=1; AFNElJ/Pums5rb15/IX4wQcJmkJUPlnHXYX1gGJ+Xq+851KJ/QEs+IKamULoWT9TZpIzDlsi33tz8cy1J3w=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxcXqHAWDdGpIJFViZnYmrf/V9Fa5N/jy/6rxoXyQfssqM35sso
	OXVO8uneg987SOBVjIJrVHvC+v8ElGiIbRXWpfgnIP1REmzTGWkVAT5t
X-Gm-Gg: Acq92OEWAJmb0SxLmiidHfsamhpfJgDMArZWPS63hjXhRVQxh4YQDBTCIXNb/cv0u3A
	uD+JcQMAQfGpzAROor2ZV4Qm1aqI/hYBzHqyQDCE0fTQvazSlR0jLxiPfjVhtFp86mLrJDdBlD4
	8+ZWONtFCauMKnwA++ehvSihTK6sL04sjzPstlKHdujKA5eutmYenLvOlyH6TuQqp+a+GhqJVY/
	zivpH0dPXwH0+pTtMzWuVsS8hcQ8+RZc1hPUx1O83mZZZyhKQPxNHz2/9MnU4YD6tuiNI0QQhq5
	2jH2Jlfic32NGXKehCSAeuz+0ff+VmifplCojpHhA4ItpbidsVVbwx84lU1juGWoPnFVUBKDH2V
	PZkLdOW7GGE4AviYs+JBTsEDczHBg3I9jF4VqVhpA2Yb+hlqJ1a1KQhs5bmQwGw78/Pt2EwbTjg
	vd/iC8RqiQOt303ObocZHmDgvJ1nAROIiHjkk2OrAfAOVvhcA21qGccWu+PekDUpDbANw5SR5H3
	diNYQ==
X-Received: by 2002:a5d:5f86:0:b0:45e:e1a4:c4c3 with SMTP id ffacd0b85a97d-46074a625damr22680899f8f.15.1781623984466;
        Tue, 16 Jun 2026 08:33:04 -0700 (PDT)
Message-ID: <32e0d6fb-d66c-48e4-b659-64236b09484c@gmail.com>
Date: Tue, 16 Jun 2026 17:33:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] non-x86: sync tidying logic at end of linking
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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 Timothy Pearson <tpearson@raptorengineering.com>
References: <c9109e8c-e471-4f4c-b58b-fdfe3cb044d2@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <c9109e8c-e471-4f4c-b58b-fdfe3cb044d2@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c1860d/1781623985-B5F6ADB1-C44B94D3/10/73395122804
X-purgate-type: spam
X-purgate-size: 1602



On 6/16/26 9:52 AM, Jan Beulich wrote:
> Mirror what 761bb575ce97 ("x86: fix build race when generating temporary
> object files") did there to other ports: These ..*.cmd files aren't useful
> to have/keep.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -117,7 +117,7 @@ $(TARGET)-syms: $(objtree)/prelink.o $(o
>   	$(NM) -pa --format=sysv $@ \
>   		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
>   		> $@.map
> -	rm -f $(@D)/.$(@F).[0-9]*
> +	rm -f $(dot-target).[0-9]* $(@D)/..$(@F).[0-9]*
>   
>   .PHONY: include
>   include:
> --- a/xen/arch/ppc/Makefile
> +++ b/xen/arch/ppc/Makefile
> @@ -32,7 +32,7 @@ $(TARGET)-syms: $(objtree)/prelink.o $(o
>   	$(NM) -pa --format=sysv $@ \
>   		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
>   		> $@.map
> -	rm -f $(@D)/.$(@F).[0-9]*
> +	rm -f $(dot-target).[0-9]* $(@D)/..$(@F).[0-9]*
>   
>   $(obj)/xen.lds: $(src)/xen.lds.S FORCE
>   	$(call if_changed_dep,cpp_lds_S)
> --- a/xen/arch/riscv/Makefile
> +++ b/xen/arch/riscv/Makefile
> @@ -52,7 +52,7 @@ $(TARGET)-syms: $(objtree)/prelink.o $(o
>   	$(NM) -pa --format=sysv $@ \
>   		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
>   		> $@.map
> -	rm -f $(@D)/.$(@F).[0-9]*
> +	rm -f $(dot-target).[0-9]* $(@D)/..$(@F).[0-9]*
>   
>   $(obj)/xen.lds: $(src)/xen.lds.S FORCE
>   	$(call if_changed_dep,cpp_lds_S)

LGTM:
  Reviewed-by: Oleksii Kurochko <oleksii.kurochko@gmail.com> # riscv

Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 15:53:59 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 15:53:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339444.1600651 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZW6p-0000Lj-9R; Tue, 16 Jun 2026 15:53:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339444.1600651; Tue, 16 Jun 2026 15:53: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 1wZW6p-0000LY-5E; Tue, 16 Jun 2026 15:53:51 +0000
Received: by outflank-mailman (input) for mailman id 1339444;
 Tue, 16 Jun 2026 15:53:49 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZW6n-0000LS-P4
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 15:53:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZW6n-00AfZ8-58
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 17:53:49 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a317166-e002-0a2a0a5209dd-0a2a4508e51a-28
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 17:53:49 +0200
Received: from [209.85.218.52] (helo=mail-ej1-f52.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a31718d-63b5-0a2a45080019-d155da34cc9c-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 17:53:49 +0200
Received: by mail-ej1-f52.google.com with SMTP id
 a640c23a62f3a-bec3f69d343so693854566b.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 08:53:49 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bfe5116f409sm635215766b.23.2026.06.16.08.53.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 08:53: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781625228; x=1782230028; 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=Qh1td2NvM8rwISEQwyWyxR4zz9mSe6DqWtgncALY9vA=;
        b=Kr68QMoouGVJewM0RF00akQJS2KnJleTvAX9zdgQchGyqFKP8j5zbzeXpxjylivvcN
         mXEizVHgnZ/lX7+XgGXRa2AjtpkJYgV78ghKliJrvXAuE56rpLJFWODfewzjaZL4JJE5
         E5U0LXZLVE7ljhql7RH9dU5D/84rYcstV6ey72tg3duBN89cgzihdliifm/BlnPDwl7t
         TN91oJfH0AZNETcupQSrDgs0LReXVT+CEwrMkgGxm2RY17+A7GdKs0uNhtFD1IN/O6Gm
         P7iMJoJNXebsPiNLQ4C6uaD2XhW/ZgS3IfVHc1F8zmQjxUc4c2czitiQu6jVHoz+PE/F
         K2hQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781625228; x=1782230028;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:to:from:subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Qh1td2NvM8rwISEQwyWyxR4zz9mSe6DqWtgncALY9vA=;
        b=VGPzbSpx7cbTZJXwrCNF44ECKGrSuoHZkvYmDo0FlgsKPeUw3/a63OwllD5F+ABVgc
         jfE9VwR00xyxiYm8nAb+snxBscSMBjj6z1/tpMaHpGEx3YoH0PgSTiAFecOMFpG4NxLS
         8QBxM9v3rCBfQBlV+UWPOFQCHwW7oi6/8zSW0SvycGHFFR89tSLZ7EzOPohL4/VXkuAO
         B9tIgVgJg3LYXpcM/1ixk7HZQZIU99LcIh6+tFWQk3xX0fp5GINTokE49jHVJqN78og0
         U2OwoSBKUTXjffyIlgP7PgERnHIGXL6OYJRbp1KGJ30Tc99HddkQghF+h4CHLm5H8VFl
         G63A==
X-Forwarded-Encrypted: i=1; AFNElJ+3CmEyjj7rt1M8vz0a64WRfHN+npW7ZtGWhTCT8la4ZoAUXZ+8sqOZ2or+ULY9iKrB6QwC7kZPTyw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy7Qz3Ompp54f4VSJeDxQnz77kJ6uSQ6Y/1hFjIdK99xdzGR9NG
	k/du2aXkatmvd+Mq1xYtYUdMnGHdhDcNorjXfVO6UA51HtP/dNXsULWT
X-Gm-Gg: Acq92OGqU3G9HBNVMZDE2XIRDSXhvGagcVeKe1MCVLO/JwWoUaqY9Gy2azKX6JPb+uJ
	UVCcKAwjV2RedK3iv8QDQLF2o5AaVQys8uNWPurPVraJzhLb6CvW2CDoOwO9Eff1JUai6X8UiHw
	fZu+aHUtOmyVTXE0+3KNTmkM6Ctfw/bqYjV1zIXIYjwPZ8hJpyvwu8rSfbjb+hQFcI8RwqVw6Fy
	bidfILCnSCt+o0dFx2m201JCmpLDIclIHnjQhJu2mJHEjkO5erVlH9tNNG32/WJAxTpHioPsFla
	by6raKEB0kCpJx5CBkRKoVDzoZaGZaEuGauDuqqZP7SDOOCYM18fRciayqjn2MxbdU93xilJ2Hx
	+M3+zd0XHudSUjXubt0lpzl7cf3401bZJbUUEW50YkuCgbk7POlp6II2XWzZy5qFgqxRdWaLhBF
	crxInpLfb/bSA2N4B/hZFIm0u+z98gr3aY7IAJZ9WwQVSREeFQzwKvOduPD7lwtKnVCB4eRbbpJ
	hOAdA==
X-Received: by 2002:a17:907:807:b0:bef:89d9:9f08 with SMTP id a640c23a62f3a-c05a5219bcbmr19796766b.19.1781625226561;
        Tue, 16 Jun 2026 08:53:46 -0700 (PDT)
Message-ID: <554937ff-726a-4eb9-bd8a-b8dd27850775@gmail.com>
Date: Tue, 16 Jun 2026 17:53:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 26/26] xen/riscv: manage IRQ_DISABLED flag in APLIC irq
 enable/disable callbacks
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1778250616.git.oleksii.kurochko@gmail.com>
 <6121dce6347f03030a2de05f29c1780b6fc0cd01.1778250616.git.oleksii.kurochko@gmail.com>
 <4580492d-c5e7-454d-b4a9-4bc959268cfb@suse.com>
 <3da5b194-772c-4fb9-8b0a-194c1415dc87@gmail.com>
Content-Language: en-US
In-Reply-To: <3da5b194-772c-4fb9-8b0a-194c1415dc87@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c1860d/1781625229-BCF62DB1-900F56F2/10/73395122804
X-purgate-type: spam
X-purgate-size: 5576



On 6/16/26 12:24 PM, Oleksii Kurochko wrote:
> On 6/15/26 5:53 PM, Jan Beulich wrote:
>> On 08.05.2026 16:43, Oleksii Kurochko wrote:
>>> desc->status is only set once during setup_irq(), but interrupts can be
>>> enabled/disabled at runtime, so update it in the corresponding 
>>> callbacks.
>>>
>>> wmb() in aplic_irq_enable() ensures do_IRQ(), which can fire immediately
>>> after the interrupt is enabled, sees the updated desc->status.
>>
>> This doesn't look entirely correct. Aiui ...
>>
>>> No rmb() is
>>> needed on the do_IRQ() side because desc->status is read under a 
>>> spinlock,
>>> which implies an acquire barrier.
>>>
>>> No barrier is needed in aplic_irq_disable() because the hardware 
>>> disables
>>> the interrupt before the status is updated, so do_IRQ() cannot fire, and
>>> spin_unlock() makes the updated value visible.
>>>
>>> Fixes: d4676a1398bc5 ("xen/riscv: implementation of aplic and imsic 
>>> operations")
>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>> ---
>>> Changes in v2:
>>> Â  - New patch.
>>> ---
>>> Â  xen/arch/riscv/aplic.c | 5 +++++
>>> Â  xen/arch/riscv/irq.cÂ Â  | 3 ---
>>> Â  2 files changed, 5 insertions(+), 3 deletions(-)
>>>
>>> --- a/xen/arch/riscv/aplic.c
>>> +++ b/xen/arch/riscv/aplic.c
>>> @@ -161,6 +161,9 @@ static void cf_check aplic_irq_enable(struct 
>>> irq_desc *desc)
>>> Â Â Â Â Â  spin_lock(&aplic.lock);
>>> +Â Â Â  desc->status &= ~IRQ_DISABLED;
>>> +Â Â Â  wmb();
>>> +
>>> Â Â Â Â Â  /* Enable interrupt in IMSIC */
>>> Â Â Â Â Â  imsic_irq_enable(desc->irq);
>>
>> ... you want to order the ->status update ahead of the imsic_irq_enable()
>> operation. Yet that's a CSR write. Do fences really cover that?
> 
> Good point. The RISC-V ISA spec is clear that fence orders memory 
> predecessor and successor operations. CSR accesses are architecturally a 
> distinct category. fence w,w carries no formal guarantee that a 
> preceding memory store to desc->status becomes visible before a 
> subsequent CSR write.
> 
> Also, according to the spec:
> 
> Each RISC-V hart normally observes its own CSR accesses, including its 
> implicit CSR accesses, as performed in program order. In particular, 
> unless specified otherwise, a CSR access is performed after the 
> execution of any prior instructions in program order whose behavior 
> modifies or is modified by the CSR state and before the execution of any 
> subsequent instructions in program order whose behavior modifies or is 
> modified by the CSR state. Furthermore, an explicit CSR read returns the 
> CSR state before the execution of the instruction, while an explicit CSR 
> write suppresses and overrides any implicit writes or modifications to 
> the same CSR by the same instruction.

After inspecting of RISC-V spec again I found that:
To enforce ordering in all other cases, software should execute a FENCE 
instruction between the relevant accesses. For the purposes of the FENCE 
instruction, CSR read accesses are classified as device input (I), and 
CSR write accesses are classified as device output (O).

So wmb() should be enough in the current case as wmb is RISCV_FENCE(ow, 
ow). I will add the following comment:
     /*
      * wmb() (fence ow,ow) orders the ->status memory write (w) before the
      * CSR write inside imsic_irq_enable() (device output, o on RISC-V).
      * arch_lock_release_barrier() uses fence rw,rw which does not cover
      * device output (o), so wmb() is required to close that gap.
      */
     wmb();

> 
>>
>>> @@ -189,6 +192,8 @@ static void cf_check aplic_irq_disable(struct 
>>> irq_desc *desc)
>>> Â Â Â Â Â  /* Disable interrupt in IMSIC */
>>> Â Â Â Â Â  imsic_irq_disable(desc->irq);
>>> +Â Â Â  desc->status |= IRQ_DISABLED;
>>> +
>>> Â Â Â Â Â  spin_unlock(&aplic.lock);
>>> Â  }
>>
>> The ->status write becoming globally visible ahead of imsic_irq_disable()
>> doing its work is not an issue? In the paragraph in the description you
>> again appear to assume that the CSR write and the memory write of the
>> spin-unlock are ordered wrt one another.
> 
> The ordering is intentional: desc->status |= IRQ_DISABLED is placed 
> after imsic_irq_disable() so that do_IRQ() can never observe 
> IRQ_DISABLED while the interrupt is still enabled in hardware.
> 
> Regarding the fence/CSR ordering concern: imsic_irq_disable() writes to 
> the local hart's IMSIC interrupt file, so do_IRQ() for this irq can only 
> run on the same hart. Same-hart program order already guarantees that 
> both the CSR write and the desc->status update are visible in the 
> correct sequence before any subsequent interrupt handler runs.

And here I re-read your comment and IIUC that we want to guarantee that
desc->status |= IRQ_DISABLED; isn't globally visible until 
imsic_irq_disable() is executed. Then we need the following here:

+    /*
+     * wmb() (fence ow,ow) ensures the CSR write (device output, o) inside
+     * imsic_irq_disable() is globally visible before ->status is marked
+     * IRQ_DISABLED. imsic_irq_disable()'s spin_unlock uses fence rw,rw
+     * which does not order device output (o) writes before subsequent
+     * memory writes (w), so an explicit wmb() is needed here.
+     */
+    wmb();

Would you be okay with such barriers or you still think it is needed mb()?

Also I think considering that I'll added the comments above wmb() I 
could drop what I mentioned in commit message regarding barriers().

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 16:18:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 16:18:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339458.1600660 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZWUC-00060d-2W; Tue, 16 Jun 2026 16:18:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339458.1600660; Tue, 16 Jun 2026 16: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 1wZWUB-00060W-V8; Tue, 16 Jun 2026 16:17:59 +0000
Received: by outflank-mailman (input) for mailman id 1339458;
 Tue, 16 Jun 2026 16:17:58 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZWUA-00060O-M5
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 16:17:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZWU8-005S5G-PH
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 18:17:56 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a31772d-2eae-0a2a0a5409dd-0a2a4509e8a6-4
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 18:17:56 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a317734-2497-0a2a45090019-d155802de012-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 18:17:56 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-490be29c1c5so52007245e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 09:17:56 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa9f2c0sm107909845e9.15.2026.06.16.09.17.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Jun 2026 09:17: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Autocrypt:Subject:From:Cc:To:Content-Language:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781626676; x=1782231476; 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=+HL5Txwel/vVpqslY69DdFTZVyyGiofOpUDWWfNosCY=;
        b=DQpAw94JZh9la6kyPOP0VOqLIknq0n8h3fyFdqr4vn4a9LpBZAX7v9qNPsAs60N2pv
         D1oz7KRnYd7bMjktXCauZGbMPc6vNgn9NUydxpQXhK7p17yXok8UFrjXYyhcM5sPuCY1
         mugyExq/vf8AirEc8Eme+sbx5z4Ro2jXNAhPeZOB1TJokg76VHQHUq1XTxxgXwhb5dIu
         KU3Qj6PAF/RBYh9kJa6F7mqONboPU3cfyzowxIqZwoauRLag8d3dzZSiLjJdF4WcRp5l
         iRzHbUGMBBdcuAkXm6p5vXZadITEYOgtJVPh+bI0Mm9yLHxCXBpyq/uQ1/ljthFQ/JZk
         nKOA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781626676; x=1782231476;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=+HL5Txwel/vVpqslY69DdFTZVyyGiofOpUDWWfNosCY=;
        b=fyy0FID+JtlExOopXeArtbjrL6haSEkLgNKE5HZpyyEWrGvaEdR81RGIyMMd5+jM8Y
         pzZDytE6A3b2y1pj/jnk31B7WCltNZdvM8RrOHpnkh19mMVR63X42NH9m/gQbZlfOOF/
         h4goJdit00yDpDrUmcF15CNMdnABBzYLPxejDvUcN38AGhZnvMi31BpTFpvUOTSuVZbZ
         /xJWa3hWY/qlDw8+RXWtaWLgUjbTiRHVmGdybNKRS2AYGEpoV0ehUd8qSuOUU16oR9dq
         5/Ib1MRPlUel1KSkrbbyigZfuWcFD0NzI+XnXa+makr7u5q/Glj4j0S9bS6FYywrHBPb
         zNKA==
X-Gm-Message-State: AOJu0YyeTHJ/ke7Q47hP55uJOoBKgEniPsimaihco+4w3SZ7N0RHg/Sl
	RTLvLsv2wZUavzC+KejkNRYxfUCe3mwTysaRROT+YC89yeuvxnI9hsnxN/x16+tUtsZqecZ0qyq
	bJ58=
X-Gm-Gg: Acq92OFe9fKcBwsEyxymGGH4/MaEHB8mNHD/jCXKXvEFrWmTrssLYpr6y6ONftmVx98
	X49zc/zLJyclRQQjGYG78sjTZiq7COC2VgRDJGMi7ZVsWVl2MvAPKlByInB4OKiWaImsagO3Nnx
	QFJC5GWfA1Sh6RrL8hAFvskt2DqFFAkB7Pjqh22UbR+AU8cljs8JrahPYEmjh0JOwkH6vJIGJeb
	IxNeSsJRSd7y6hJqQs5ICORJd3bmyYm0jKqgSsdyziQq+F5KgB0YHrRoIiO39DoNB3iqPjez32a
	zGi6vcXf6ta7vKWQFH3+86ymuWrymCqo+XzOeXO/pkIWmDa9iDGKRVTGxS4XCfKkg7A/hWnRiBS
	OsRqzuNupWYlyMESE64EDmtWmx5m/LDghbDQ1SmWlrNnAP4fPyk7Smm7rai8zVe93mh592GI+h3
	alSJQ0eADmYfJ+CMPCdHnem0fJCY60bx46uTAEYJSnl2sXZ5UMxkboOr3Xr2aHNTdjoDDnVtGgj
	0DEU4c+5mJYzKg=
X-Received: by 2002:a05:600c:1c24:b0:490:c2a3:1782 with SMTP id 5b1f17b1804b1-492333f8042mr2490065e9.35.1781626675896;
        Tue, 16 Jun 2026 09:17:55 -0700 (PDT)
Message-ID: <652b57e0-42f8-47c8-b94d-df862874aba3@suse.com>
Date: Tue, 16 Jun 2026 18:17:54 +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>,
 Teddy Astie <teddy.astie@vates.tech>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH for-4.22?] x86/EFI: arrange for non-discardable .reloc in
 xen.efi
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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
X-purgate-ID: tlsNG-bad1c0/1781626676-41D6FA53-0CB7A4D6/0/0
X-purgate-type: clean
X-purgate-size: 3118

Loaders respecting IMAGE_SCN_MEM_DISCARDABLE would not load such sections,
yet we need to access it ourselves when switching out of "physical mode".
Leverage behavior new to GNU ld 2.46: Any contribution to .reloc which
doesn't have the discardable flag set (which cannot even be expressed in
ELF) will yield the output section also non-discardable.

Since for intermediate binaries we don't care about section attributes,
link in the new object only on the final linking pass.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
With a new enough linker, $(dot-target).2r.o could be leveraged instead:
$(dot-target).2r.S is going to be empty (or if it's not, the .reloc
section there would already have the wanted property), so instead of
adding the new relocs-empty.S we could also insert the section directive
there. Overall that seemed more convoluted to me, though.

--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -196,7 +196,8 @@ note_file_option ?= $(note_file)
 
 extra-$(XEN_BUILD_PE) += efi.lds
 ifeq ($(XEN_BUILD_PE),y)
-$(TARGET).efi: $(objtree)/prelink.o $(note_file) $(obj)/efi.lds $(obj)/efi/relocs-dummy.o $(obj)/efi/mkreloc
+$(TARGET).efi: $(obj)/efi/relocs-dummy.o $(obj)/efi/relocs-empty.o $(obj)/efi/mkreloc
+$(TARGET).efi: $(objtree)/prelink.o $(note_file) $(obj)/efi.lds
 ifeq ($(CONFIG_DEBUG_INFO),y)
 	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),echo,:) "Will strip debug info from $(@F)"
 endif
@@ -227,7 +228,7 @@ endif
 	$(MAKE) $(build)=$(@D) .$(@F).2r.o .$(@F).2s.o
 	$(call compare-symbol-tables, $(dot-target).1r.o, $(dot-target).2r.o)
 	$(call compare-symbol-tables, $(dot-target).1s.o, $(dot-target).2s.o)
-	$(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds $< \
+	$(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds $< $(obj)/efi/relocs-empty.o \
 	      $(dot-target).2r.o $(dot-target).2s.o $(orphan-handling-y) \
 	      $(note_file_option) -o $@
 	$(NM) -pa --format=sysv $@ \
@@ -247,7 +248,7 @@ $(TARGET).efi: FORCE
 endif
 
 # These should already have been rebuilt when building the prerequisite of "prelink.o"
-$(obj)/efi/buildid.o $(obj)/efi/relocs-dummy.o: ;
+$(obj)/efi/buildid.o $(obj)/efi/relocs-dummy.o $(obj)/efi/relocs-empty.o: ;
 
 .PHONY: include
 include: $(objtree)/arch/x86/include/asm/asm-macros.h
--- a/xen/arch/x86/efi/Makefile
+++ b/xen/arch/x86/efi/Makefile
@@ -17,5 +17,5 @@ obj-y := common-stub.o stub.o
 obj-$(XEN_BUILD_EFI) := $(filter-out %.init.o,$(EFIOBJ-y))
 obj-bin-$(XEN_BUILD_EFI) := $(filter %.init.o,$(EFIOBJ-y))
 obj-bin-y += mbi2.init.o
-extra-$(XEN_BUILD_EFI) += buildid.o relocs-dummy.o
+extra-$(XEN_BUILD_EFI) += buildid.o relocs-dummy.o relocs-empty.o
 nocov-$(XEN_BUILD_EFI) += stub.o
--- /dev/null
+++ b/xen/arch/x86/efi/relocs-empty.S
@@ -0,0 +1,8 @@
+/*
+ * Empty .reloc section, simply to indicate to GNU ld that the output .reloc
+ * section in xen.efi should not be marked IMAGE_SCN_MEM_DISCARDABLE.  This
+ * requires GNU ld 2.46 or newer to actually be understood in the intended way.
+ */
+
+	.section .reloc, "a", @progbits
+	.balign 4


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 16:26:04 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 16:26:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339466.1600669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZWbv-0000HC-Pe; Tue, 16 Jun 2026 16:25:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339466.1600669; Tue, 16 Jun 2026 16: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 1wZWbv-0000Fx-N0; Tue, 16 Jun 2026 16:25:59 +0000
Received: by outflank-mailman (input) for mailman id 1339466;
 Tue, 16 Jun 2026 16:25:58 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <mjt@tls.msk.ru>) id 1wZWbt-0000Fr-1q
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 16:25:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZWbs-004T6Z-24
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 18:25:56 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <mjt@tls.msk.ru>)
 id 6a3178de-5cb7-0a2a0a5109dd-0a2a450bde42-46
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 18:25:55 +0200
Received: from [212.248.84.144] (helo=isrv.corpit.ru)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <mjt@tls.msk.ru>)
 id 6a317912-212f-0a2a450b0019-d4f85490ecaf-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 18:25:55 +0200
Received: from [192.168.177.146] (mjtthink.wg.tls.msk.ru [192.168.177.146])
 by isrv.corpit.ru (Postfix) with ESMTP id D67481B7F3A;
 Tue, 16 Jun 2026 19:25:52 +0300 (MSK)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=202602 header.d=tls.msk.ru header.i="@tls.msk.ru" header.h="Date:Subject:To:Cc:References:From:In-Reply-To"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tls.msk.ru; s=202602;
	t=1781627152; bh=TnicYLeTe9EByyU2eARHlEEViwiKC4b82PT+Ex6rynU=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To;
	b=LKTTyE3arQVSeWAVYG49LMcAUMc0Te1A9ydEY/m3AqGpcM6K/SDY6TwNetstS+C1z
	 TpNeuVuH01P4vSOYA4x6Nxji1ALJ4a3PVxckLZoyiJ2OtTInoh9QKgDb9riX2LEc/1
	 2qLhhPpdJVmRwPtIsPKfhQKfvqXUlxx5T43/4IkSuA68o6arYysWIYeKZNNiFQ4ZxF
	 Nv4iB0a9Q/8NvAbVc39Up7pu/u0/Ba4zMgis8hN3bgFsaUPZ+EirNK8s3TKvUxPrqo
	 MlJwssS+wux/XZDlqHQROXZbMR36ARHOCqPNcmEh8GR6bHqDV2z44qF2n7gNbxuqqw
	 7OtSstVm7cgpQ==
Message-ID: <46238511-ed5d-4f2d-881d-87120e4a408d@tls.msk.ru>
Date: Tue, 16 Jun 2026 19:25:52 +0300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/4] q35: Fix incorrect values for PCIEXBAR masks
To: Thierry Escande <thierry.escande@vates.tech>, qemu-devel@nongnu.org
Cc: Alexey Gerasimenko <x1917x@gmail.com>, Paolo Bonzini
 <pbonzini@redhat.com>, Richard Henderson <richard.henderson@linaro.org>,
 "Michael S. Tsirkin" <mst@redhat.com>, Eduardo Habkost
 <eduardo@habkost.net>, Anthony PERARD <anthony@xenproject.org>,
 xen-devel@lists.xenproject.org, qemu-stable <qemu-stable@nongnu.org>
References: <20260313164649.794591-1-thierry.escande@vates.tech>
 <20260313164649.794591-4-thierry.escande@vates.tech>
Content-Language: en-US, ru-RU
From: Michael Tokarev <mjt@tls.msk.ru>
Autocrypt: addr=mjt@tls.msk.ru; keydata=
 xsFNBGYpLkcBEACsajkUXU2lngbm6RyZuCljo19q/XjZTMikctzMoJnBGVSmFV66kylUghxs
 HDQQF2YZJbnhSVt/mP6+V7gG6MKR5gYXYxLmypgu2lJdqelrtGf1XtMrobG6kuKFiD8OqV6l
 2M5iyOZT3ydIFOUX0WB/B9Lz9WcQ6zYO9Ohm92tiWWORCqhAnwZy4ua/nMZW3RgO7bM6GZKt
 /SFIorK9rVqzv40D6KNnSyeWfqf4WN3EvEOozMfWrXbEqA7kvd6ShjJoe1FzCEQ71Fj9dQHL
 DZG+44QXvN650DqEtQ4RW9ozFk3Du9u8lbrXC5cqaCIO4dx4E3zxIddqf6xFfu4Oa5cotCM6
 /4dgxDoF9udvmC36qYta+zuDsnAXrYSrut5RBb0moez/AR8HD/cs/dS360CLMrl67dpmA+XD
 7KKF+6g0RH46CD4cbj9c2egfoBOc+N5XYyr+6ejzeZNf40yjMZ9SFLrcWp4yQ7cpLsSz08lk
 a0RBKTpNWJdblviPQaLW5gair3tyJR+J1ER1UWRmKErm+Uq0VgLDBDQoFd9eqfJjCwuWZECp
 z2JUO+zBuGoKDzrDIZH2ErdcPx3oSlVC2VYOk6H4cH1CWr9Ri8i91ClivRAyVTbs67ha295B
 y4XnxIVaZU+jJzNgLvrXrkI1fTg4FJSQfN4W5BLCxT4sq8BDtwARAQABzSBNaWNoYWVsIFRv
 a2FyZXYgPG1qdEB0bHMubXNrLnJ1PsLBlAQTAQoAPhYhBJ2L4U4/Kp3XkZko8WGtPZjs3yyO
 BQJmKS5HAhsDBQkSzAMABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEGGtPZjs3yyOZSAP
 /ibilK1gbHqEI2zR2J59Dc0tjtbByVmQ8IMh0SYU3j1jeUoku2UCgdnGKpwvLXtwZINgdl6Q
 cEaDBRX6drHLJFAi/sdgwVgdnDxaWVJO/ZIN/uJI0Tx7+FSAk8CWSa4IWUOzPNmtrDfb4z6v
 G36rppY8bTNKbX6nWFXuv2LXQr7g6+kKnbwv4QFpD+UFF1CrLm3byMq4ikdBXpZx030qBL61
 b7PrfXcBLao0357kWGH6C2Zu4wBnDUJwGi68pI5rzSRAFyAQsE89sjLdR1yFoBH8NiFnAQXP
 LA8Am9FMsC7D/bi/kwKTJdcZvzdGU1HG6tJvXLWC+nqGpJNBzRdDpjqtxNuL76vVd/JbsFMS
 JchLN+01fNQ5FHglvkd6md7vO+ULq+r9An5hMiDoRbYVUOBN8uiYNk+qKbdgSfbhsgPURqHi
 1bXkgMeMasqWbGMe7iBW/YH2ePfZ6HuKLNQDCkiWZYPQZvyXHvQHjuJJ5+US81tkqM+Q6Snq
 0L/O/LD0qLlbinHrcx0abg06VXBoYmGICJpf/3hhWQM4f+B/5w4vpl8q0B6Osz01pBUBfYak
 CiYCNHMWWVZkW9ZnY7FWiiPOu8iE1s5oPYqBljk3FNUk04SDKMF5TxL87I2nMBnVnvp0ZAuY
 k9ojiLqlhaKnZ1+zwmwmPmXzFSwlyMczPUMSzsFNBGYpLkcBEAC0mxV2j5M1x7GiXqxNVyWy
 OnlWqJkbkoyMlWFSErf+RUYlC9qVGwUihgsgEhQMg0nJiSISmU3vsNEx5j0T13pTEyWXWBdS
 XtZpNEW1lZ2DptoGg+6unpvxd2wn+dqzJqlpr4AY3vc95q4Za/NptWtSCsyJebZ7DxCCkzET
 tzbbnCjW1souCETrMy+G916w1gJkz4V1jLlRMEEoJHLrr1XKDdJRk/34AqXPKOzILlWRFK6s
 zOWa80/FNQV5cvjc2eN1HsTMFY5hjG3zOZb60WqwTisJwArjQbWKF49NLHp/6MpiSXIxF/FU
 jcVYrEk9sKHN+pERnLqIjHA8023whDWvJide7f1V9lrVcFt0zRIhZOp0IAE86E3stSJhZRhY
 xyIAx4dpDrw7EURLOhu+IXLeEJbtW89tp2Ydm7TVAt5iqBubpHpGTWV7hwPRQX2w2MBq1hCn
 K5Xx79omukJisbLqG5xUCR1RZBUfBlYnArssIZSOpdJ9wWMK+fl5gn54cs+yziUYU3Tgk0fJ
 t0DzQsgfd2JkxOEzJACjJWti2Gh3szmdgdoPEJH1Og7KeqbOu2mVCJm+2PrNlzCybOZuHOV5
 +vSarkb69qg9nU+4ZGX1m+EFLDqVUt1g0SjY6QmM5yjGBA46G3dwTEV0/u5Wh7idNT0mRg8R
 eP/62iTL55AM6QARAQABwsF8BBgBCgAmFiEEnYvhTj8qndeRmSjxYa09mOzfLI4FAmYpLkcC
 GwwFCRLMAwAACgkQYa09mOzfLI53ag/+ITb3WW9iqvbjDueV1ZHwUXYvebUEyQV7BFofaJbJ
 Sr7ek46iYdV4Jdosvq1FW+mzuzrhT+QzadEfYmLKrQV4EK7oYTyQ5hcch55eX00o+hyBHqM2
 RR/B5HGLYsuyQNv7a08dAUmmi9eAktQ29IfJi+2Y+S1okAEkWFxCUs4EE8YinCrVergB/MG5
 S7lN3XxITIaW00faKbqGtNqij3vNxua7UenN8NHNXTkrCgA+65clqYI3MGwpqkPnXIpTLGl+
 wBI5S540sIjhgrmWB0trjtUNxe9QcTGHoHtLeGX9QV5KgzNKoUNZsyqh++CPXHyvcN3OFJXm
 VUNRs/O3/b1capLdrVu+LPd6Zi7KAyWUqByPkK18+kwNUZvGsAt8WuVQF5telJ6TutfO8xqT
 FUzuTAHE+IaRU8DEnBpqv0LJ4wqqQ2MeEtodT1icXQ/5EDtM7OTH231lJCR5JxXOnWPuG6el
 YPkzzso6HT7rlapB5nulYmplJZSZ4RmE1ATZKf+wUPocDu6N10LtBNbwHWTT5NLtxNJAJAvl
 ojis6H1kRWZE/n5buyPY2NYeyWfjjrerOYt3er55n4C1I88RSCTGeejVmXWuo65QD2epvzE6
 3GgKngeVm7shlp7+d3D3+fAAHTvulQQqV3jOodz+B4yzuZ7WljkNrmrWrH8aI4uA98c=
In-Reply-To: <20260313164649.794591-4-thierry.escande@vates.tech>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1781627155-1976AF3B-559A8C74/0/0
X-purgate-type: clean
X-purgate-size: 658

On 13.03.2026 19:47, Thierry Escande wrote:
> From: Alexey Gerasimenko <x1917x@gmail.com>
> 
> There are two small issues in PCIEXBAR address mask handling:
> - wrong bit positions for address mask bits (see PCIEXBAR description
>    in Q35 datasheet)
> - incorrect usage of 64ADR_MASK
> 
> Due to this, attempting to write a valid PCIEXBAR address may cause it
> to shift to another address, causing memory layout corruption where
> emulated MMIO regions may overlap real (passed through) MMIO ranges. Fix
> this by providing correct values.

I'm not sure about the implication of this issue, - is it qemu-stable
material?

Thanks,

/mjt


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 17:12:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 17:12:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339491.1600678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZXKl-0000yU-3r; Tue, 16 Jun 2026 17:12:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339491.1600678; Tue, 16 Jun 2026 17:12: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 1wZXKl-0000yN-0y; Tue, 16 Jun 2026 17:12:19 +0000
Received: by outflank-mailman (input) for mailman id 1339491;
 Tue, 16 Jun 2026 17:12:18 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wZXKk-0000yC-1T
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 17:12:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZXKi-00AsBT-Rd
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 19:12:16 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3183a2-5cb7-0a2a0a5109dd-0a2a450a85e4-38
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 19:12:16 +0200
Received: from [52.101.201.7]
 (helo=PH7PR06CU001.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3183ed-56b3-0a2a450a0019-3465c907960a-4
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 19:12:16 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by DM6PR03MB5001.namprd03.prod.outlook.com (2603:10b6:5:1e5::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.15; Tue, 16 Jun
 2026 17:12:11 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0113.015; Tue, 16 Jun 2026
 17:12: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=nHBI6/9Xr9MRIiTBF2qHQ/4Hzp8VSnrcgbGLTkUEzNftMgBJhlcS7UlmEeCju6rDAKUsbwAg0hmJF/hW0bD8TrO7bJW7Ui3/9ZA8ZdEkhtclsQXc10YsFE0RZcHLGlwGi+4eQWKDaTJEIIDJqdvURqRGpnNXvil0tRCElck1JqB8eI7mrf2OChkmeqb/VRiHrdz33hFF31OqJWb40whtJGEUed4Yj2vkcerWEBq7A1+CD769Qmch1HEIkQXQIfBrCK5z3hijP1TGkkGr+GZC+FPDU1dm2ptywW/cHbyi+0h3MgvRxF3yYfQPyNUpJHtBvMEj5cHjsfpdDRYX05BSHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SqboQVx8R1d3+2wOicZCmfr9fGWBqILClvWS6jNMVxc=;
 b=T+jxy38yzY5VeRwLYc0Bf24pkdOFZ79/oyzrMApW3imQrk6yglw37iXDxbjMm52usd8yUPS/RegUqswdRB+ofAinJV7lhpibBfXANWX6D8AZ1K/Mo9IMRKKXRq46ihhU52D+48Ce/qkI6shOMbn5+7N/cirR5VyVgsRnc7PxEh0Jz2dkkFUu5QK8LaNXb48lMFbzgepbC1GlA0NfOCo6t97cYyLPuSQbwk8SWLhB02vMsdiGe6vZ7yurUgR6trdPsXYloA6FnPjQZF7mIOHco6NjQ+45Cu5h0Ed9IaB9z18eWTD9E9gTITSMwMcEl6s2xUmNn2KspB5Hf9XmBLavgw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SqboQVx8R1d3+2wOicZCmfr9fGWBqILClvWS6jNMVxc=;
 b=kB0zlOHqiLIPJmwcWTPb96ArGde0IlIJgx3HzII7c1ivL3ebyFin46m+FOfB1tJ3tHhX1TmPGGTezPGJtVT6e7Wg92hr9Tw8yi78XVhf9JpvJXQt57jXJKcRUuw83cI1OgaPKgOke387CGo/kPZfn1cDhT9yg82b1Wnj5SjHy90=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 16 Jun 2026 19:12:08 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Dario Faggioli <dfaggioli@suse.com>,
	Juergen Gross <jgross@suse.com>, George Dunlap <gwd@xenproject.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22?] domctl: correct return value of
 XEN_DOMCTL_[gs]etvcpuaffinity
Message-ID: <ajGD6B4kHhCC9wql@macbook.local>
References: <8b7daaa3-418e-4ec7-90a6-775e0a964b76@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <8b7daaa3-418e-4ec7-90a6-775e0a964b76@suse.com>
X-ClientProxiedBy: BN9PR03CA0412.namprd03.prod.outlook.com
 (2603:10b6:408:111::27) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|DM6PR03MB5001:EE_
X-MS-Office365-Filtering-Correlation-Id: 80910d34-5ca4-4ef0-c58e-08decbca6733
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|23010399003|366016|376014|3023799007|56012099006|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	Uxvdao0jWJMYBJQvUkyYsDVbnxcCgQkOm9BKMnMFcm7JVkuHaGGTgjCAJ0pDbJVkxhRHjqUvKxhlb2X8YqfoXctO28dGg5gUov+9snRM7O5dJnzeUX1nOX8WrrFc/jfY3QCGcYxRZbS8N9USrhafMuJcoOkphspY4f3CvOoITpTwtz7/mx/QJ+1go1UBNR2RWUK2nbABXFldYf0/6iUeXX6EfPsg+KjMMvt5vqxXFj7ST9pSOqqdbDHZpKfAbC+AS8XPMeuC+IJjHYhDQd7IpY0tgJtldTD8ZA5CKRKr9NQ/bfDlyAFluuVaW+DJuhUGeZxZmidq/zYSHlnDt+O/HmW6BthrVFpdUaYr1p0Hajr9lHI4J4//dzGqzVgaoSzxQmsG2x1TP54PEAEX++avx8KZs2YZfMNGCCnB7Gjmdpjc3fjRHArg0glSz39iESnM9QWlEgbKDAS9ZYLSmYxFq0unRER6rikQcD0HRZGwgtw3PKBweZ2grnoKUJZYDqv+oHuGLx5RtrE1oObQtCjx6DJeLDEZN5XGZ6ehojuAjfskGDyLFegGOQn5RdtIOq04cABoRshS9MYop6ynMZUxq74Hhk7eWCW+5tJhMA5eJEK8Iy9dqWLXMA9y0pwZiEj6uyYWCp6CQN1AZF38Mn0eiHFYd4R5iypeU5S9O3EFFy0Jq/VKhqXh5F4EypcGykTa
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(366016)(376014)(3023799007)(56012099006)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eENpZTRqUDlzcGhJZEhtYWxvTEFBSjdPeGxWZG5rWFhQbmV0M01rWlJYcHBN?=
 =?utf-8?B?djZISW4yU0duR051MU5qQ1B4SHZZa1lXRUx3aHVPRnEvY284V0tiK0RWSXdn?=
 =?utf-8?B?MGFmT1NDaXdWZjE1dGpyOFR4N1pXendBY0xaa3FRUldmcXRGYm9uMzJnNHBU?=
 =?utf-8?B?VFpYbXVtYVpYVzZGWGV1SmM3OWQvbHBDeG1XOUM1dmQ0elhuSWpUaWNRSVha?=
 =?utf-8?B?T05Na2hWbzJlNjFrMk5hTEJKVVVVSnNyOWNzRkw4bXNlYnRoNHkyVVJuOU9T?=
 =?utf-8?B?b1crbEpvRTBkeExEdkhOemR3SUk4aVVYeTI4M1FPNTNETG5rUEJFL1poSU92?=
 =?utf-8?B?Qzl1RGMzYWxmOUJCQzhHbk5USXkrWFpXUnNnSDZHbytFMS8rVytiSk5pOUQv?=
 =?utf-8?B?TTBGYWU4SjJ3dVpCYTJqaW4vRjdzWkQzbTdsOVZkbUlyM0RlSXY3MEw2dmdt?=
 =?utf-8?B?ZG5HdnNvdEhjWFhwR29VcXY0SHR2YjhWVWl2K0ROUmVBUUttUmNCZUVBQksw?=
 =?utf-8?B?ei9WM0lnRFJzWkJsNEFCWGZEYW9MYXhOUXcrMXFTVVcybzFPUVBMZTZPTEZ3?=
 =?utf-8?B?V2Fka1pWMkVTR3EvNnRxZVMvc1NaUSsxRUJXWXYwRzZ1aW84Nit5dk9TQXlI?=
 =?utf-8?B?VVc5QlAwb0VwQXduN1VaNW13WjB4SERKNXM5WTdURlFKMDZHeVk2aFl5MUUv?=
 =?utf-8?B?Z3JXejFJYmxUdGk5NnFqUzBlQlB5THI1bmUzcUllMFV1S3pVYkoyeVBvMjNq?=
 =?utf-8?B?R3lPMWdLSHdmMkZFck5SSjdKNVJzS2hkLzROZi9PaGpIOFNqWjNab3ZoUTUr?=
 =?utf-8?B?eklKN2puaHZpT2tXN2l5WThVRnlQT25JVFBXK0tvcllsVWozTlBpSUxvUE5H?=
 =?utf-8?B?UFI2VDdXNmJLNTdYamNOVndlcmtYNEFqcUYySWRvNERqWEpjUXg0NDBMTlAr?=
 =?utf-8?B?YkpoSHRBQmM4MklheS85M2FGckxNaUNSdE5KM2UyekNCSjlLQndmQkVnMHFh?=
 =?utf-8?B?K1dsVHY4dUJmU0Q1QmR0MkNvTVkrT1JPSnlkQkMwOWpwcUxndWIyeUw5UGxi?=
 =?utf-8?B?bnNtTzNQUVN4aW9aNHNLaWZ5WnIrM3c4cDFWUVMvWDd4UmV2Z09UZm0xRHVj?=
 =?utf-8?B?L01rUWJybm8wQ0FRUnR0OHZQeGs4QnFNVkszcWJFaVhlaGFjdmQxQ2VpREVO?=
 =?utf-8?B?R0JaQVlRVEtJV1NBY1ZUQkF6UUZ5YWh2eW9JVWF1ZXRkbElQNkJvTlFDRmV1?=
 =?utf-8?B?QjNxSFBBbXBGOExMcmVpT1FtZGtKV1dEc2c2QnZ0QWJjeVdFT2UwQ3UrRlg0?=
 =?utf-8?B?N0U3dDg5UmZVeXRYaGdYNHNlRkNSWTlUdGorckFON005b0ZKWEJ0WG9kb2w3?=
 =?utf-8?B?VDJ0OVljUm9MNm5FRkExNndtSkFIR2I2NXNrYVd2d3pFRUhXdGlMYno3T0Ix?=
 =?utf-8?B?dndXc2pDcWZDVDNUNkFXNEZWZGdwcm9VcTBobFFKdTkzTmY4Z0tTbHFYVHcy?=
 =?utf-8?B?K2dId0RUajcvZVpVbzY4QkFKUHcvc3pYYUhVNVQ4WkJqd3ZlSExodFVDb0RB?=
 =?utf-8?B?dlN5RWpZa0ZwYVMzRUZMTWl2MXhDUEE3Y3h3T0tDSDFDRUJVcnlxRDArK2Ir?=
 =?utf-8?B?amhJaUNSSWdlWVFCN1B3M3pxeERNVHFHYm00eEdmWTIwV0FhMlBPY3dzVGNj?=
 =?utf-8?B?U1FvZ1hudHJFNDUzSVIyZWhyZFVuVW5tZk5SM25uSXdjNmEzOFZFb0U4R1By?=
 =?utf-8?B?VERvbkxobEJCY3ZpUU1XR0dSTjkzbmwzM3ZDU2t6Y2lmL2JTSTVrbmJGRFlJ?=
 =?utf-8?B?UHZRTGVEQmtuN2FyMWcxVkx3aDNRNWJBcDdPZXZqK2tmTU4yYUJMWUxXdXF5?=
 =?utf-8?B?TFAzYVBJeFdLc0NoSFNvelJ0dkZRTW15WUpqbzYvT25sMHl6ZGRZMW5PbUJx?=
 =?utf-8?B?cHVka2FTSXRCZkxENzcwYXFyeTJzaW9oZ3hSWk5FOHN0OFZ0OXU2b0xvQjg1?=
 =?utf-8?B?YVdxTFhHUUlNa016eDhmSC9YOGtnUVR1RUxKY3pkaDBLb2g4TmloOFJlZUNr?=
 =?utf-8?B?UVhXT0lRQ1RONCtQZGs5NlRsSVF5eEJQbVdEdEY3ODNJNGlJT25aRTB6VDhJ?=
 =?utf-8?B?Vi94T1NZOUZXajVmMlBKNzh0THpGU0UxWEsvYVoxVW9FdzBQajJBN3pWS3ZI?=
 =?utf-8?B?WG5FcURuYzk5Nk5TcTFXRUg2bnBURzNwRE00aC9IUEhYbHY3Ly9oSmtMMzda?=
 =?utf-8?B?U2ZpS2RXOG9WeTZseHorVGNUajYyOEZXK1RKT05iUHp2N1dyY2FKSjBvcjg5?=
 =?utf-8?B?MldZYTBzaVVlWjVCY0hkV2NHbW04cnJaYXFLMTFFcFh3UGgrc1RkZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 80910d34-5ca4-4ef0-c58e-08decbca6733
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 17:12:11.0532
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: m0UmwKNluBedCKK4/dbgcI1UlmHFEAVQQlK7UDH0U0iUjLs1/xCFmf29xqx7GEovi5xKAvVAUB6tnTNURTU5bQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5001
X-purgate-ID: tlsNG-4011c0/1781629936-7E9888B7-C29311AB/0/0
X-purgate-type: clean
X-purgate-size: 3097

On Mon, Jun 15, 2026 at 02:00:39PM +0200, Jan Beulich wrote:
> cpumask_to_xenctl_bitmap() may return errors. Clearing the error indicator
> of an earlier such call by a (successful) later call is misleading the
> caller. For "set", keep setting soft affinity if the hard affinity copy-
> back fails; only accumulate respective errors.
> 
> While fiddling with return values, also drop a redundant clearing of
> "ret". This eliminates a Misra C:2012 rule 2.2 ("There shall be no dead
> code") violation.
> 
> Fixes: 6e4ecc6d5884 ("sched: DOMCTL_*vcpuaffinity works with hard and soft affinity")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -1705,6 +1705,7 @@ int vcpu_affinity_domctl(struct domain *
>      {
>          cpumask_var_t new_affinity, old_affinity;
>          cpumask_t *online = cpupool_domain_master_cpumask(v->domain);
> +        int hret = 0;
>  
>          /*
>           * We want to be able to restore hard affinity if we are trying
> @@ -1726,8 +1727,6 @@ int vcpu_affinity_domctl(struct domain *
>          if ( vcpuaff->flags & XEN_VCPUAFFINITY_FORCE )
>              vcpu_temporary_affinity(v, NR_CPUS, VCPU_AFFINITY_OVERRIDE);
>  
> -        ret = 0;
> -
>          /*
>           * We both set a new affinity and report back to the caller what
>           * the scheduler will be effectively using.
> @@ -1746,7 +1745,7 @@ int vcpu_affinity_domctl(struct domain *
>               * cpupool's online mask and the new hard affinity.
>               */
>              cpumask_and(new_affinity, online, unit->cpu_hard_affinity);
> -            ret = cpumask_to_xenctl_bitmap(&vcpuaff->cpumap_hard, new_affinity);
> +            hret = cpumask_to_xenctl_bitmap(&vcpuaff->cpumap_hard, new_affinity);
>          }
>          if ( vcpuaff->flags & XEN_VCPUAFFINITY_SOFT )
>          {
> @@ -1777,6 +1776,8 @@ int vcpu_affinity_domctl(struct domain *
>              ret = cpumask_to_xenctl_bitmap(&vcpuaff->cpumap_soft, new_affinity);
>          }
>  
> +        ret = hret ?: ret;

Here you seem to have a preference to keep the error from the first
caller (possibly XEN_VCPUAFFINITY_HARD if set), but below...

> +
>   setvcpuaffinity_out:
>          free_cpumask_var(new_affinity);
>          free_cpumask_var(old_affinity);
> @@ -1788,7 +1789,7 @@ int vcpu_affinity_domctl(struct domain *
>                                             unit->cpu_hard_affinity);
>          if ( vcpuaff->flags & XEN_VCPUAFFINITY_SOFT )
>              ret = cpumask_to_xenctl_bitmap(&vcpuaff->cpumap_soft,
> -                                           unit->cpu_soft_affinity);
> +                                           unit->cpu_soft_affinity) ?: ret;

...you overwrite it with a possible error returned from the last
cpumask_to_xenctl_bitmap() call.  Don't you want to do the same, and
return the first error if possible?  IOW: store the error from the
first call into hret and use the elvis operator to set ret after both
calls.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 17:28:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 17:28:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339507.1600729 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZXaa-00057V-1e; Tue, 16 Jun 2026 17:28:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339507.1600729; Tue, 16 Jun 2026 17:28: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 1wZXaZ-00057O-UQ; Tue, 16 Jun 2026 17:28:39 +0000
Received: by outflank-mailman (input) for mailman id 1339507;
 Tue, 16 Jun 2026 17:28:37 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wZXaX-0004hP-UY
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 17:28:37 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZXaX-00FwMQ-BU
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 19:28:37 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a318794-2eae-0a2a0a5409dd-0a2a450ae170-40
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 19:28:37 +0200
Received: from [209.85.221.44] (helo=mail-wr1-f44.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3187c5-56b3-0a2a450a0019-d155dd2ca9a6-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 19:28:37 +0200
Received: by mail-wr1-f44.google.com with SMTP id
 ffacd0b85a97d-45ee5cdbd28so57857f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 10:28:37 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-461abb44c3dsm5012754f8f.9.2026.06.16.10.28.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Jun 2026 10:28:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781630917; x=1782235717; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=59pkg3zSgN49JGtId9KEQHL8kPDSpSqdyB2+a04J4NI=;
        b=OAqTQU+HxiuNVB9Oo2EoEDXCndEyokgxjdsmHp9QfJbEzn7T/XDG9SngmeMvE+EdbU
         w5JcdaB0FwwThuO/gzZRSDmKoEIIOEnCkbLzcs8Mod7HonMaQldMAbQKyo1VfYApUtjh
         +jYSJJjakrmPE1JWG5vdISu06GgDA9qwMFwnvdll+2rnSph6uf5aobwrBpVHTM5u0lpb
         1dtp8i/tOzoSrwWek0LODVPnkihYqEsgQQEE3JoPp6ZH896IDZKkxFyfa5+jJ81tXjy0
         BCq8esypq0xwniUj1sAIh/Sr/qs0xDMR9Mz6TvPhllNJfbLea+OPyDXlUY+MB9kjjrj7
         aE1g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781630917; x=1782235717;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=59pkg3zSgN49JGtId9KEQHL8kPDSpSqdyB2+a04J4NI=;
        b=Dg87dMh5sOC0dL3kpWD2Oa4crUJfpRZcBEzT2C3/nIyEh/c9VgsbODtc2LgGCFSrSn
         P0VwtnsCoAAN4/BopyE7AlRdQUunsbyGNCUl8bG/8JBphhbvgeu7BzaDw1VxaM7OkvdH
         SoooYsAyd5f5/zaJijmKxJJ6W1a/HrwnqPa7AdaBieDTipg1igBpm+CcTUwPZfp/enSw
         ecr27TZpbPyZKmTjGWeILUJDTMss9RDnwdNXFWOA12+73tjOqFyFL9ImMcJPmXuvqGuD
         C9UoY3J+2rZQv9ROPT/UAS5/G/wsyxhKzCFFVDGt0AY7ySLaqQ8Wjk0qWrqP9hsD2ccD
         otcw==
X-Gm-Message-State: AOJu0YzRL0wwKjkkgWi5Yg03+MMCdZko9yDlt/uO7x9A7T/J9KmLDm69
	D5xNzJhdvZAWdjbJY9VVciM3DpgphPdBBSUwUJQBSCBzrAH2nH+DixIXhCsjGHbKlUs=
X-Gm-Gg: Acq92OGtBvukgfyEXO9HnNwKm0P8VzJVf0mTvxttXEou+0sa3obOyLbVSMHa7YmnPVj
	S0IJVNyf6UoZUZFAoeutj9iJSnNvLJw3vKjnbyPjeXGrYD/pd7TzK/GsH9ctdxon8/1s9sLmhOj
	80aWxCt5qvB8U0+VPadoB53v1+5evuyyFf0aF0CBNHxUxEOVr30o/1MHdJe+Lv8OYouTK/ObaZP
	7nrlxS5SyHeCMwEYNkQle4xp2j4wTiKKhd6vP/iTcS3JeGW1YMnWL8RfTQ1RMgdSzxbEO0Dmsqc
	wQx27GJAsdExfZY3+gwSGB+RKVEU6sxulJKLE4wiM2wAJnjYYcuQkIoOsPHb7R+Vm+vzwKkFv7s
	H9WR833IHtej/CHaUuwH1vES1rKnSaagdxg+GsEp9TpE/cvwIz8lcbl7OVgDgJleZPzQwzjC6Ju
	70bZ0cinlfY7WVCDRHOofNIOZx3J1KTloBMMZA7v7xdQTp9UincLJTvYaB0B0ziy6JUZAe0Tjr3
	LC2xoDm5dG2eXK42Omb10F9h4E=
X-Received: by 2002:a05:6000:4313:b0:452:bc74:b129 with SMTP id ffacd0b85a97d-4622d0504d5mr1149300f8f.16.1781630916713;
        Tue, 16 Jun 2026 10:28:36 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v4 2/4] x86/efi: discard multiboot support for PE binary
Date: Tue, 16 Jun 2026 18:28:28 +0100
Message-ID: <20260616172830.111393-3-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260616172830.111393-1-frediano.ziglio@citrix.com>
References: <20260616172830.111393-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1781630917-7196E8B7-40CB9574/0/0
X-purgate-type: clean
X-purgate-size: 3030

From: Roger Pau MonnÃ© <roger.pau@citrix.com>

Multiboot and PVH booting are not supported for PE, hence discards them
in the linker script when doing a PE build.

That removes some relocations that otherwise appear due to the usage of the
start and __efi64_mb2_start symbols in the multiboot2 header.

Section discarding is not done updating DISCARD_SECTIONS definition as the
change is specific for x86.

No functional change intended.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Acked-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
--
Changes since v1:
- improve commit message;
- change section orders to avoid changing code order in final executable;
- merge 2 commits;
- removed deprecated documentation section.

Changes since v2:
- Update commit message, join 2 sentences together.

Changes since v3:
- Added Acked-by.
---
 docs/hypervisor-guide/x86/how-xen-boots.rst | 6 ------
 xen/arch/x86/boot/head.S                    | 3 ++-
 xen/arch/x86/xen.lds.S                      | 5 +++++
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/docs/hypervisor-guide/x86/how-xen-boots.rst b/docs/hypervisor-guide/x86/how-xen-boots.rst
index 8b3229005c..b6d852050a 100644
--- a/docs/hypervisor-guide/x86/how-xen-boots.rst
+++ b/docs/hypervisor-guide/x86/how-xen-boots.rst
@@ -82,12 +82,6 @@ When a PEI-capable toolchain is found, the objects are linked together and a
 PE32+ binary is created.  It can be run directly from the EFI shell, and has
 ``efi_start`` as its entry symbol.
 
-.. note::
-
-   xen.efi does contain all MB1/MB2/PVH tags included in the rest of the
-   build.  However, entry via anything other than the EFI64 protocol is
-   unsupported, and won't work.
-
 
 Boot
 ----
diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 77bb7a9e21..90faf411b9 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -152,7 +152,7 @@ vga_text_buffer:
 efi_platform:
         .byte   0
 
-        .section .init.text, "ax", @progbits
+        .section .init.multiboot, "ax", @progbits
 
 early_error: /* Here to improve the disassembly. */
 
@@ -710,6 +710,7 @@ trampoline_setup:
         /* Jump into the relocated trampoline. */
         lret
 
+        .section .init.text, "ax", @progbits
 ENTRY(trampoline_start)
 #include "trampoline.S"
 ENTRY(trampoline_end)
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index f758940674..749d9719cc 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -57,6 +57,10 @@ SECTIONS
   __image_base__ = .;
 #else
   . = __image_base__;
+  /DISCARD/ : {
+    *(.text.header)
+    *(.init.multiboot)
+  }
 #endif
 
 #if 0
@@ -195,6 +199,7 @@ SECTIONS
   DECL_SECTION(.init.text) {
 #endif
        _sinittext = .;
+       *(.init.multiboot)
        *(.init.text)
        *(.text.startup)
        _einittext = .;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 17:28:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 17:28:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339505.1600711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZXaY-0004hj-JY; Tue, 16 Jun 2026 17:28:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339505.1600711; Tue, 16 Jun 2026 17: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 1wZXaY-0004hc-Gk; Tue, 16 Jun 2026 17:28:38 +0000
Received: by outflank-mailman (input) for mailman id 1339505;
 Tue, 16 Jun 2026 17:28:37 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wZXaX-0004h9-9u
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 17:28:37 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZXaW-004dHr-2G
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 19:28:36 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3187ab-5cb7-0a2a0a5109dd-0a2a4501a71c-20
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 19:28:36 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3187c3-c1f2-0a2a45010019-d1558032c860-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 19:28:36 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-490a76757e5so35239475e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 10:28:35 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-461abb44c3dsm5012754f8f.9.2026.06.16.10.28.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Jun 2026 10:28: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781630915; x=1782235715; 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=NKJVvAIYFxvZ8mt8ChDl47t49tqxoMamrJnbHmzTz0w=;
        b=qLEIiciAMJ5nhOImtgnGB2e7sn4uBA9FHXFp5gkRGtdGGmlDFdCAFpP6IUgNtXwdnw
         znEBbXtdQvlV+/RkhF6UTe1x2uwCfP//opRh4QsSApv4CLDvrWCrWQLis2zel1PfMwpk
         o6Sz4bctXoEri0u08oC9q3M/BL+p1rc7Lj75dxNsSV5N+WB901PBeK/Pja/r0LqpKdh5
         w3QtM9NwRW6EsLMjFAOEWifjpnFFKwu9BJabM6VeYB469kXmvfv8xsvb3VEa8wNyQGwF
         ZX3jYbFPKeKkddMmFf98Aj4pSry+Twl3zKsp+h36ASBUpBeMaH0nSjbeNwb59Xdd+S/n
         2JJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781630915; x=1782235715;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NKJVvAIYFxvZ8mt8ChDl47t49tqxoMamrJnbHmzTz0w=;
        b=Es8Z2qaLD5WLcfM4kDp5/ikRFsmco1NACp7Gd4ZYhi/A/IrFs6uKrN4uNk17Yv+Jfr
         G/laxU9ZX83uQZoLeFLLWzDkN5fZJhVpojvxmJ2555AGyhU1mfPqp6z9ypBtGdA+jkJc
         LmBprqPPN6JHYS5rvz2ntgA2soq/99H1cFCLnadxlmkoZurS/WMr6Dt1csH5sJYc8yCY
         PCBNkfHR10R+PZjce8AlhWkKM6+H5R8rTvhJ08LjUFa1mWfDGIdAAviIIXz/f3cKgZ9X
         x831io4d2LvpaEfLXahyK9ivolMEbDV95nr0VU0eWs8nWWVBCNKCyA6LGnmRm3awiekA
         3/iA==
X-Gm-Message-State: AOJu0YydZr42J2rv9lQKALkxbzmJnCJP6wig6qDXjyGBjAAMxHT89ysK
	Hr1kIG6KmdAodMek21wXFLQxndaiHFaSbfw+nKj/cACwy50iNtCi+9JMAnaT2jfIZ6s=
X-Gm-Gg: Acq92OFJdcGKPgv3Y1+tRGVgbE/Rc8dIh3GpYu4VDiprDn+/NkrItLQYhK7Ue2QYn4o
	gFzUtHe3HI+YHgYM47x0H/NYWujvbIrwr/T9EcHss2gvx+0aL4KxQVbX3wyrDm4globMkPgVpdw
	lpr9kd/YpgaOoKO1JWvAaYsZ2xehiOak0J/J0uVOsYmyDxMFn36eFLQkJpRW+k3tqxgwzfTKOwW
	gFXH5X2wrvSPK3gHlFGUD9NTsNTqNSG0/KGvSIslld4R+adjqqd5UAkqUqSBAn3GEmHaK4Bht/x
	Kby3YJgEC8UcEtYRrFowjtnK/rkhldz/aNTbIkWhvu1xx00oC2psmq71xo1uK4QYOIcHsmoJOCA
	jViVLQRZZ9pI7EFqbL8h/cgIyAGwSULW78Yet0h4IFWVTAfL6Dt4/bMi/1r5MyFLePNYw/F2V5u
	jaS9J8C4ourcYTOcNiOKAgrKMjvclCidh0xchgCtH67Sq//gJ2B+/qdiCLuXoxo1ofFhjd3S/d0
	6XlNRQQ+nTvHERYuaa0wMGJQiE=
X-Received: by 2002:a05:600c:80c1:b0:490:6e12:542d with SMTP id 5b1f17b1804b1-492333e2f1bmr6454565e9.19.1781630915197;
        Tue, 16 Jun 2026 10:28:35 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	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>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v4 0/4] Various patches to improve Secure Boot support
Date: Tue, 16 Jun 2026 18:28:26 +0100
Message-ID: <20260616172830.111393-1-frediano.ziglio@citrix.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-purgate-ID: tlsNG-d62444/1781630916-B6143FF4-4CF786A9/0/0
X-purgate-type: clean
X-purgate-size: 1142

These patches improve support for Secure boot.
UEFI CA memory mitigation requires memory pages to be not executable and
writable at the same time. So changing permissions and splitting some section
is required.
Remove multiboot pieces from EFI executable.

Changes since v1:
- improved some comments;
- merged 2 pacthes removing multiboot support in x86 PE;
- removed a patch dealing with SBAT;
- other minor changes (see single patches).

Changes since v2:
- improved some comments.

Changes since v3:
- Added Acked-by;
- Improve commit message.

Frediano Ziglio (2):
  Align relevant sections to 4KB
  x86: Split .init section to satisfy UEFI CA memory mitigation

Roger Pau MonnÃ© (2):
  x86/efi: discard multiboot support for PE binary
  x86/efi: avoid a relocation in efi_arch_post_exit_boot()

 docs/hypervisor-guide/x86/how-xen-boots.rst |  6 ------
 xen/arch/x86/boot/head.S                    |  3 ++-
 xen/arch/x86/efi/efi-boot.h                 |  7 +++++--
 xen/arch/x86/xen.lds.S                      | 22 +++++++++++----------
 4 files changed, 19 insertions(+), 19 deletions(-)

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 17:28:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 17:28:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339506.1600716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZXaY-0004kZ-Qk; Tue, 16 Jun 2026 17:28:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339506.1600716; Tue, 16 Jun 2026 17: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 1wZXaY-0004iy-Md; Tue, 16 Jun 2026 17:28:38 +0000
Received: by outflank-mailman (input) for mailman id 1339506;
 Tue, 16 Jun 2026 17:28:37 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wZXaX-0004hE-K2
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 17:28:37 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZXaW-00FwMQ-Oi
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 19:28:36 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a318794-2eae-0a2a0a5409dd-0a2a450ae170-36
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 19:28:36 +0200
Received: from [209.85.221.46] (helo=mail-wr1-f46.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3187c4-56b3-0a2a450a0019-d155dd2ee83c-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 19:28:36 +0200
Received: by mail-wr1-f46.google.com with SMTP id
 ffacd0b85a97d-46013161068so2446792f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 10:28:36 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-461abb44c3dsm5012754f8f.9.2026.06.16.10.28.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Jun 2026 10:28: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781630916; x=1782235716; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=T5ZX9dmJkDiN34cxHkkBNBwcyGdjITLJ3elG4nDDaKs=;
        b=fo6FO9Jt50m/4eX3KWElo0BYmPURrr97Nii3QiGs5zJScjyBnZeLqkui6q4dquS/On
         F4LEW4VaV3ve4qs2UQSTbLiGFlNCBbxr6A/442WMQ0xFFpX2BXEhAY6w8Bu/QyAA+K6o
         E0WOLMW8+xIpI4AVfr7Z3E9kXCb2Q+reI/hYxdcaKzyzFFmpTRo6aEdlBkjuj59i6zT6
         /whFMfWKLPnMelj2X/N6Q7c72ans7KULuzuacX753J/f3Ac1zeb5BTVFV/iOTSLFTGoz
         DsMSGDFIJRc0gA8I4OiIhIcZvNspA579VpLV5L/Uhdp5zGFtT0hnthy9AZKEgrJnTZKJ
         l1uA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781630916; x=1782235716;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=T5ZX9dmJkDiN34cxHkkBNBwcyGdjITLJ3elG4nDDaKs=;
        b=K36oPcXCwdICudsJJsqjtrZEe1NC5RAL7Punh2CPQ9S62u/g7nXYC75gnTl7eZW52W
         jujsl8ZJU47C2+gmRe+O1y+2L8GHOdBfqwdPW4K4ypTbmfYCmkvQeM+5GvsgDxI3uvRs
         gtQjoBA4OpO+3y8DLGLqj9X9cs9hd0chRllXiqNPw+i7cOvDkLZr/fJZwlFGyp/2AjI1
         pm1b7anb/3N2eIJSyylDAh8pBWv6R4Qc7rEkS9j0AxW53FTrzGE/8o8uRwfdDKXAt8A4
         yBTwRqsRiXK8oYcSaXitbygEJeuFhr508qe6h78qc4B394N9jkEI+mVorW6ttdB8A3B8
         rgfQ==
X-Gm-Message-State: AOJu0YyyXYFfA5SA4h6rf/6QSUpRJHBKOknBTReVolRa8NjhEZcHDw3L
	EHa9ZI3MzGHxEDeeZ+EoiKoiJbG0Y3lIPpl8/VS6ll6kthCm1GmLD5hDavYQnrTCK9Q=
X-Gm-Gg: Acq92OGbAXAyXls5TCULZHg8sNcCXKWqsZaLL7bMi8oPYIFUkeUUiOhr+Qhq7HjnmiH
	huaXj9IcYunqfJqRVRvI26wWsuA5n2RmwaFBTw0Tg37W7BuM1sZo+ozFG/32MCdyc5qw6XIx63F
	PNQ5crVxFvDCky9GpOUQr4Kj+eSMzukUbhHFv7WOFcZxtidHHpBMi+fYJ6OjDAuArjLq4gCdeqT
	cSo2d7mzwpMgq2MxmlOJLJfC9F9EDaQOGFdME7ZH2y1/n9pU4MPVNM5Uudell2e/QL8qdwZhk35
	d5GOZYmtjN+IXkU0V+KzPPB19rgKG7NSLjmQ69cC2QVIIV2C/Zf6j4eXhzQ+8TrwM5niXiogjag
	44sDCBK5WEB4IxpTsoRRCKtyoQoJXR3DBLNWGGe1ArQ17rnbZgmKV6D4yrdCzDlY65tzJDeC4Yp
	g8p+kUBlF/TXtUuY2QvnpFGQVJ8ChuIRNYVUxNaw0Ias/jHXqNPO52y0xzx1bbEKyzccKXppfdB
	pXcwV3Jm6a0BVhStZsg6PKDCDgZdkjDaLhJsA==
X-Received: by 2002:a05:600c:4f93:b0:492:29a1:98c4 with SMTP id 5b1f17b1804b1-492333e8d1fmr7008005e9.8.1781630915917;
        Tue, 16 Jun 2026 10:28:35 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@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>,
	Teddy Astie <teddy.astie@vates.tech>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v4 1/4] Align relevant sections to 4KB
Date: Tue, 16 Jun 2026 18:28:27 +0100
Message-ID: <20260616172830.111393-2-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260616172830.111393-1-frediano.ziglio@citrix.com>
References: <20260616172830.111393-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1781630916-7D1848B7-8FA6B5E3/0/0
X-purgate-type: clean
X-purgate-size: 1911

From: Frediano Ziglio <frediano.ziglio@cloud.com>

Required by UEFI CA memory mitigation.

It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
in the pagetables.

NX_COMPAT is a requirement from shim-review,
https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility

Sections with different permissions must be in separate pages.
In the case of debug sections they are contiguous and have the same
permissions, including the immediately preceding .reloc section, so it's
not an issue if they are not aligned to the page.
Before the .debug sections you could have the .reloc or the SBAT section,
either are permission-compatible.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Acked-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
--
Changes since v1:
- Change subject.

Changes since v2:
- Improved commit message and subject.

Changes since v3:
- Added Acked-by;
- Improved commit message.
---
 xen/arch/x86/xen.lds.S | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index b9e888e596..f758940674 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -162,8 +162,8 @@ SECTIONS
        __note_gnu_build_id_end = .;
   } PHDR(note) PHDR(text)
 #elif defined(BUILD_ID_EFI)
-  /* Workaround bug in binutils < 2.36 */
-  . = ALIGN(32);
+  /* Align to satisfy UEFI CA memory mitigation. */
+  . = ALIGN(PAGE_SIZE);
   DECL_SECTION(.buildid) {
        __note_gnu_build_id_start = .;
        *(.buildid)
@@ -330,6 +330,7 @@ SECTIONS
   __2M_rwdata_end = ALIGN(SECTION_ALIGN);
 
 #ifdef EFI
+  . = ALIGN(PAGE_SIZE);
   .reloc ALIGN(4) : {
     __base_relocs_start = .;
     *(.reloc)
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 17:28:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 17:28:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339508.1600733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZXaa-0005At-CE; Tue, 16 Jun 2026 17:28:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339508.1600733; Tue, 16 Jun 2026 17:28: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 1wZXaa-00059f-8A; Tue, 16 Jun 2026 17:28:40 +0000
Received: by outflank-mailman (input) for mailman id 1339508;
 Tue, 16 Jun 2026 17:28:39 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wZXaY-0004kp-V7
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 17:28:38 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZXaY-00Au7B-C6
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 19:28:38 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a318794-bab6-0a2a0a5309dd-0a2a4503ae7a-44
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 19:28:38 +0200
Received: from [209.85.221.44] (helo=mail-wr1-f44.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3187c6-672d-0a2a45030019-d155dd2ca4e4-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 19:28:38 +0200
Received: by mail-wr1-f44.google.com with SMTP id
 ffacd0b85a97d-45ef1198766so70625f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 10:28:38 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-461abb44c3dsm5012754f8f.9.2026.06.16.10.28.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Jun 2026 10:28:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781630918; x=1782235718; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=h7zgfFDoBBPNpJ7qeY1DSNzH5DJ0mfqwAdGCYD7M6W0=;
        b=aXC0sFGT3UZC7hN8LYImicKW06h+nj0WJQU3UBBE8pTwpftVpvbFu7cuouivpGwHe1
         WXCkigmORmZg95k3RBLrJF6zKc6rJZB/A8228hsJKllJZszi0qS/AmHIVxNNj2oNcbjA
         qP0DPDuigtdQZG5M45WyvIem5Nlvw0Qa7jE3u8PDr0tplBiDFwhWJFRHILizJ23OSeuD
         zX1Lj6c6Ea3ExKsdQoZKqXxjaj3PIMDj2hs5XKie9PxC9SimLMBNE37CRyJetsFK/HT8
         moNcOqcvSwHbj/+0DXA4aza+Z5bq5xjv/PUfpSG6lLy8dRZcyAYq0EX/wyAg/Oh/TF45
         B4ew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781630918; x=1782235718;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=h7zgfFDoBBPNpJ7qeY1DSNzH5DJ0mfqwAdGCYD7M6W0=;
        b=Eo8aQofbxbIpeOY6YFIuCE6EInMhU8ito8wKBTt6JInX61cdn3I70T5Ge5zgtpjzfC
         YZQU9eoBrViIU0ux8JLIljlGmaQasUr9iEJe+3I9ByPHwU1fd255EGAVcjzzcVmJQtRV
         RBOZty/Z2jPGUeYJRcs0mT1UgtZXXXpHa5CGRz8uQ12a2vPV7XChYFQpGtFnNzY8+EoM
         8Uz1Bp27ed207DNbjboOI8Q6Eojmn7DFiXjgUDcO4efTsAJw9UBVc7AHkH+boxMHl5XV
         xTX+J+uO/ZFZmBCEBU124SOl9k/tfWdwnqCC3i5BQFM9KcIm5ax2EvsMBs+4dnCjkqJW
         CAjQ==
X-Gm-Message-State: AOJu0Yx8713vMDo5rwM+WuX75a7fbD9dk5PeFeNeKeHPNFGFIibkPlHr
	cX4Iv42KyP6eqUO65M9mLfrF4ZSU/Pq+DO/brPWxsvwyw3Mr5ZdbU4MiWhXJK5bzUYo=
X-Gm-Gg: Acq92OHpbVQO4KXZeG95fND4I6X6xCCqD5k9lWAwL5r1O4V+JUsmNsZzM6wmh0rsHu8
	tVUqFlS1Yo3oyamfwJY3FrMgiS1R9w5tZUhvDn6h5Nf2ANA5DFjzPNlf9JiMQWpwGarcpC7IiEo
	aaq4E7FOkAXm/fOuaTbRYX3GGU58TrESanSVz3BLkLu0lxX+9pEQHnEhISRqwdhmVBBDTCMJsDD
	hKHQWHgvsZeV49fP/JtrXLSoMmK7f2IdymTEEzlSuEeuJqyBqCKRuI5y3dBoCr6kbju4RE2t4tF
	AeD3SkCR09ZBLVS/v1H3KGSODHyBb0wwX+xuZARFBlCC54WgYs3keRllm4r9jbrexT7wuVa2Qih
	e0giZtcmOgSlSoXLBNNfQASNXxm9M4bFSnP3oM2Ii/Q7gC5lvOdH1ljapRJxsVLrx/lyM5iKylt
	Uv6JAX5jKua+PQUJkiLrMTOOxLHG+pr/ZHbX/6Xok2inocDtjRrw4uHxDT4kY9fPpyQruSvjKQL
	ft/hb2OMuu4MyMZVHsAqjb85Jc=
X-Received: by 2002:a05:6000:4902:b0:460:6b12:1783 with SMTP id ffacd0b85a97d-4622a7dad13mr1171084f8f.4.1781630917514;
        Tue, 16 Jun 2026 10:28:37 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <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>,
	Teddy Astie <teddy.astie@vates.tech>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v4 3/4] x86/efi: avoid a relocation in efi_arch_post_exit_boot()
Date: Tue, 16 Jun 2026 18:28:29 +0100
Message-ID: <20260616172830.111393-4-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260616172830.111393-1-frediano.ziglio@citrix.com>
References: <20260616172830.111393-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1781630918-4279C938-AF5D7944/0/0
X-purgate-type: clean
X-purgate-size: 1923

From: Roger Pau MonnÃ© <roger.pau@citrix.com>

Instead of using the absolute __start_xen address, calculate it as an
offset from the current instruction pointer.  The relocation would be
problematic if the generated PE binary had .init.text as a standalone
section with just read and execute permissions."

Removing this relocation is necessary to make it safe to split .init.

No functional change intended.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Acked-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
--
Changes since v1:
- Improve commit message.

Changes since v3:
- Added Acked-by.
---
 xen/arch/x86/efi/efi-boot.h | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index d738b839ee..b983f054b5 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -270,7 +270,9 @@ static void __init noreturn efi_arch_post_exit_boot(void)
 
                    /* Jump to higher mappings. */
                    "mov    stack_start(%%rip), %%rsp\n\t"
-                   "movabs $__start_xen, %[rip]\n\t"
+                   "lea    __start_xen(%%rip), %[rip]\n\t"
+                   "add    %[offset], %[rip]\n\t"
+
                    "push   %[cs]\n\t"
                    "push   %[rip]\n\t"
                    "lretq"
@@ -278,7 +280,8 @@ static void __init noreturn efi_arch_post_exit_boot(void)
                      [cr4] "+&r" (cr4)
                    : [cr3] "r" (idle_pg_table),
                      [cs] "i" (__HYPERVISOR_CS),
-                     [ds] "r" (__HYPERVISOR_DS)
+                     [ds] "r" (__HYPERVISOR_DS),
+                     [offset] "r" (__XEN_VIRT_START - xen_phys_start)
                    : "memory" );
     unreachable();
 }
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 17:28:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 17:28:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339509.1600740 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZXaa-0005GN-N1; Tue, 16 Jun 2026 17:28:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339509.1600740; Tue, 16 Jun 2026 17:28: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 1wZXaa-0005F5-HR; Tue, 16 Jun 2026 17:28:40 +0000
Received: by outflank-mailman (input) for mailman id 1339509;
 Tue, 16 Jun 2026 17:28:39 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wZXaZ-00051J-LO
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 17:28:39 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZXaZ-00FwMQ-1S
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 19:28:39 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3187c0-2eae-0a2a0a5409dd-0a2a450cbeac-10
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 19:28:39 +0200
Received: from [209.85.221.51] (helo=mail-wr1-f51.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3187c6-62f1-0a2a450c0019-d155dd33c199-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 19:28:38 +0200
Received: by mail-wr1-f51.google.com with SMTP id
 ffacd0b85a97d-461a15bb819so860527f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 10:28:38 -0700 (PDT)
Received: from localhost.localdomain (5.116.208.46.dyn.plus.net.
 [46.208.116.5]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-461abb44c3dsm5012754f8f.9.2026.06.16.10.28.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Jun 2026 10:28:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781630918; x=1782235718; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gBtC0geG/tAfPA7o0MJitiKqtMfuEi6dV5S/o3JXoz4=;
        b=gFvFiyRb/zSgj3MpUgRJS1rO9P7Z11MOrqO/vOoXr0EXJQVpji2Lp06lrF9wb5R3f4
         Dm8wKPVTsYMFMJYs29Fal6mgtInqwjSs2wEWO7dZq3s6DZQ4LCp55KReBcBPrT8vJXLu
         b2SSS1NRZcKq8n6gDv3tlZKsQJdM0Ws2LJih02Nu1pUal6Z6O2bbCFoXqoRjVvZYcL6+
         krR0KgNquBtdGorfGaPHZcdGkfS54VnnPc6fziUk14vFGOYZnjVDxTgKLLUlyuvc1uMy
         NZa8cWH8jcxF7pSApIxo1xChlax3yWfjysgzr1yZ3O1PZLuJVJoL/ZRq1DT1qW+1oSmw
         0Zsw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781630918; x=1782235718;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=gBtC0geG/tAfPA7o0MJitiKqtMfuEi6dV5S/o3JXoz4=;
        b=ZXpTmTuWgkAbfihCb5NPsWzfkNM/9eH+SJVdeEf7EYmse1qdDlF5vrxbV8z+a0M4UL
         vpjHEpOkDwE9p6Z7LNewqdpRz8BMOo58XXqcH7mYequSlxotLqr6bzXnu4AJ80mIG5wl
         8lEu8SjTpy0aE+phLx5EL9UK1lMceVhkA/R6hi+tU6oTm+Z+bcqEzl+m4hI8rHMRMAjx
         RRZ7dif9ja64Uebtet9EPBg/u3Q/ILCvyZbsC7w82eqeK8xwZ3icmLMm81bkQfchEQkD
         BdlVUz6bZ1T77ioYwa9R02M+m7pwrtfa8fcnWrd4S5Oej92owRa8U5maEzwcXetucCqq
         bn8Q==
X-Gm-Message-State: AOJu0YwLKbbjhf0qnPZQJxcgCHZ9I09H4PY9yFmqHjIz8rLtEJK782qB
	QcS45gj0hlXcinnlTBmm6/H8EJQVD3dFPGBElri7Jq+R03jVxuNXsiduWQARfeYo+KE=
X-Gm-Gg: Acq92OEHiFrY6OfKztjpbuUMSHUGyo9BAyMUJW/975u29CIQCSuQjywA+9nEIMvboS0
	yMiDbzAaXh/aW358FxvQv0Xda4r9YiNo6vGAhKZlVIhJnbNDyc1CRuy1ZJ7cVPUrMC32R+RqtxQ
	Jp5CNSBBXFFOjwKIP3Fyk2mvOv10pTwY7ARn1rcyTHcaU7c+8yqlaeZpETueScLVUOMkdsecIxn
	TQFnhfXCSOKD5OYB4vUYRBTvG/WGMDm5u10zBFXBsApT3GtgRbAB1gIfRvc5Sba17s1SF4DYDyp
	CbW+HkzZftk3hOwzIKDNy3m9iW2wqL0LeHLedJjuG/rmgjlYVIduUavziD5zyX4UbgHudFgiNbX
	yCdBi3wmoZVK1MsTHDlpjIY1ADQGntooh0qYqzmjEUjgNojnwzhomaFDFCPXVCOnmRqCTHykeGy
	6gh+07N//uymVIWf20n7l/njtOhnAjfgS2F4wqhFO17sOKsRyd1kgZeWPV4tXFHCFrRfwYOBAGQ
	xfDCJSP/VwtQc7wkOxyGddvv6k=
X-Received: by 2002:a05:6000:41e3:b0:461:9459:874c with SMTP id ffacd0b85a97d-4623fe7ddfdmr468263f8f.19.1781630918303;
        Tue, 16 Jun 2026 10:28:38 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@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>,
	Teddy Astie <teddy.astie@vates.tech>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v4 4/4] x86: Split .init section to satisfy UEFI CA memory mitigation
Date: Tue, 16 Jun 2026 18:28:30 +0100
Message-ID: <20260616172830.111393-5-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260616172830.111393-1-frediano.ziglio@citrix.com>
References: <20260616172830.111393-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1781630919-F5983CF5-CBD32945/0/0
X-purgate-type: clean
X-purgate-size: 1873

From: Frediano Ziglio <frediano.ziglio@cloud.com>

Currently .init section is both writeable and executable, split data and code
to have 2 sections satisfying W^X rule.

It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
in the pagetables.

NX_COMPAT is a requirement from shim-review,
https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Acked-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
--
Change since v1:
- update comment style.

Changes since v3:
- Added Acked-by.
---
 xen/arch/x86/xen.lds.S | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index 749d9719cc..8fefda1816 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -193,11 +193,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.multiboot)
        *(.init.text)
@@ -210,12 +206,12 @@ 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) {
+#ifdef EFI
+  /* Align to satisfy UEFI CA memory mitigation. */
+  . = ALIGN(SECTION_ALIGN);
 #endif
+  DECL_SECTION(.init.data) {
        *(.init.bss.stack_aligned)
        *(.init.data.page_aligned)
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 17:31:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 17:31:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339539.1600756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZXdM-0008St-4F; Tue, 16 Jun 2026 17:31:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339539.1600756; Tue, 16 Jun 2026 17:31:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZXdM-0008Sm-18; Tue, 16 Jun 2026 17:31:32 +0000
Received: by outflank-mailman (input) for mailman id 1339539;
 Tue, 16 Jun 2026 17:31:30 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <mst@redhat.com>) id 1wZXdK-0008Sa-Cn
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 17:31:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZXdJ-006bOT-Ph
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 19:31:29 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <mst@redhat.com>)
 id 6a318857-5cb7-0a2a0a5109dd-0a2a4501b2b0-38
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 19:31:29 +0200
Received: from [170.10.129.124] (helo=us-smtp-delivery-124.mimecast.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <mst@redhat.com>)
 id 6a318870-c1f2-0a2a45010019-aa0a817c9759-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 19:31:29 +0200
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-93-w7l57zGDNGGApvl0l7CbGg-1; Tue, 16 Jun 2026 13:31:26 -0400
Received: by mail-wm1-f70.google.com with SMTP id
 5b1f17b1804b1-490b8adf8b8so45282405e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 10:31:26 -0700 (PDT)
Received: from redhat.com (IGLD-80-230-85-71.inter.net.il. [80.230.85.71])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4923343cb75sm3583875e9.0.2026.06.16.10.31.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Jun 2026 10: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1781631088;
	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=ZWc8XpFSVDFqkdh9JRMAyyd+HTlraBz0TXBtpxzGEaY=;
	b=RjCtsuHAMqzKrlzaO4Amt3BhMQRDJH4P2dFt+nB1nNgSwhQuUkjDjhsccTFZ0KTRE/5ac6
	RmW1Z3TwNj/nLdyTolrQjbDARZns+CZ2QmDmSos8MXvR0zIqioepUjG6VZMSiwwWNpaP5G
	Bu2ZE3ZFn88Zd9Iqsz0ze6DEvhUwIf8=
X-MC-Unique: w7l57zGDNGGApvl0l7CbGg-1
X-Mimecast-MFC-AGG-ID: w7l57zGDNGGApvl0l7CbGg_1781631086
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781631085; x=1782235885;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ZWc8XpFSVDFqkdh9JRMAyyd+HTlraBz0TXBtpxzGEaY=;
        b=SFmtZsnC5UW5Bi2M15KcdxCNlPsn3AUKvzEr9NWc2YNNnrFtlHcYN1BycwvpVpX/ai
         XU/HdYYCU2nuh1RWg9Yc/VvfuWZ63d8u10Hs9CY4CzauYdpnRNnqLiEFUo01Ha9I1BZ+
         7Fp1F4cNW43dvQonkADaOjTiak0HSbb3AUQHS7rIenlRuCtHjAOVmp5M99NsAGknxJKy
         go6xaE6NkUSbqfos7WvkR+JsgcemVqaW3sIXxgiO5ZtMqqjlbI+FITphxzD/oBFe4Xwe
         BkKIXj5y4jLXuLxOHRwM4v2/5NWrA3YOkndMoBDk8V23DHaNGRGlxMKNKG4GUPnQPErw
         NTKA==
X-Forwarded-Encrypted: i=1; AFNElJ/c0jNOllju0+Z9KaRoVrtO/EaFjOWdcmSuJMh15cjtC5/BzyhDu4Kmbns5g90G5l3/JFl/FTPTIEw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwK22uXMIm/Doji0/owZ5pBgROIt6QskGP9ykVPqTGKKBkWLGId
	4Q516TZAMVU/Z25AW4ftIS7B0yWGjNEespUr9aAmQqe7EH4qsgSEn0uu02Is6JrJCcD6IKLixHc
	wJg6wMsMfrYJMQv/jPrZjX1fIpALVYE12688AnbZd4z4bRBWbfOY49FdYhSpgpD13/bgi
X-Gm-Gg: Acq92OHjz5X7K3zuGXR1ucNyYt3vfvo5assbV7Bd/eF0AqRqAxJeKoFbCXrwaQA/p6H
	GaWc/JsOecbTuJTgIE//NSv1zjgoM0D1sxkgTsb5jeC49w6VcozesUPtR7ri5GqU+GEIEQOeHIB
	NqYJSgCGW/EF1gkwybGV2bPmYO7SrPrBgmqCEdxes8mViubOQ7zawOzYINdUAxLZaobl2swDSsg
	3EBgfe7V741vBMoKnJeHlKwsOft/vG8iZSkp+PV61PaWgCT9SN2jng4AxB+7j1rXQS3D4XFM8Az
	zVpxm47PAPOigVKgbstIytBMmMYKdP+Jb5n4yspaBykRJG/6OMInKDNQAU1oT9o3uS3YzCtO0kK
	tYSMdk2ZS4aS/Vjpc2uGxQYXHhiNa0Xa6i9J3BZ5Ubrk=
X-Received: by 2002:a05:600d:8496:20b0:490:e913:656a with SMTP id 5b1f17b1804b1-492333d8ae7mr6321255e9.27.1781631085390;
        Tue, 16 Jun 2026 10:31:25 -0700 (PDT)
X-Received: by 2002:a05:600d:8496:20b0:490:e913:656a with SMTP id 5b1f17b1804b1-492333d8ae7mr6320565e9.27.1781631084806;
        Tue, 16 Jun 2026 10:31:24 -0700 (PDT)
Date: Tue, 16 Jun 2026 13:31:21 -0400
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Michael Tokarev <mjt@tls.msk.ru>
Cc: Thierry Escande <thierry.escande@vates.tech>, qemu-devel@nongnu.org,
	Alexey Gerasimenko <x1917x@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	qemu-stable <qemu-stable@nongnu.org>
Subject: Re: [PATCH 3/4] q35: Fix incorrect values for PCIEXBAR masks
Message-ID: <20260616133032-mutt-send-email-mst@kernel.org>
References: <20260313164649.794591-1-thierry.escande@vates.tech>
 <20260313164649.794591-4-thierry.escande@vates.tech>
 <46238511-ed5d-4f2d-881d-87120e4a408d@tls.msk.ru>
MIME-Version: 1.0
In-Reply-To: <46238511-ed5d-4f2d-881d-87120e4a408d@tls.msk.ru>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: pmlMyhYbFd-A7gZHn-mSpbfV4VSK05n6t9-aHMb3j5k_1781631086
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
X-purgate-ID: tlsNG-d62444/1781631089-ACE52FF4-22EAFE7F/0/0
X-purgate-type: clean
X-purgate-size: 876

On Tue, Jun 16, 2026 at 07:25:52PM +0300, Michael Tokarev wrote:
> On 13.03.2026 19:47, Thierry Escande wrote:
> > From: Alexey Gerasimenko <x1917x@gmail.com>
> > 
> > There are two small issues in PCIEXBAR address mask handling:
> > - wrong bit positions for address mask bits (see PCIEXBAR description
> >    in Q35 datasheet)
> > - incorrect usage of 64ADR_MASK
> > 
> > Due to this, attempting to write a valid PCIEXBAR address may cause it
> > to shift to another address, causing memory layout corruption where
> > emulated MMIO regions may overlap real (passed through) MMIO ranges. Fix
> > this by providing correct values.
> 
> I'm not sure about the implication of this issue, - is it qemu-stable
> material?
> 
> Thanks,
> 
> /mjt

I think yes generally, but it worries me this has a high risk for
breaking migration if I missed something.



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 17:41:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 17:41:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339550.1600765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZXnF-0002mT-0L; Tue, 16 Jun 2026 17:41:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339550.1600765; Tue, 16 Jun 2026 17:41: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 1wZXnE-0002mL-TE; Tue, 16 Jun 2026 17:41:44 +0000
Received: by outflank-mailman (input) for mailman id 1339550;
 Tue, 16 Jun 2026 17:41:43 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wZXnC-0002m3-Rl
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 17:41:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZXnB-00CJiw-NN
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 19:41:41 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a318aaa-bab6-0a2a0a5309dd-0a2a4504a63e-46
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 19:41:41 +0200
Received: from [52.101.61.53]
 (helo=DM1PR04CU001.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a318ad3-1dec-0a2a45040019-34653d3572b5-3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 19:41:41 +0200
Received: from BL0PR05CA0015.namprd05.prod.outlook.com (2603:10b6:208:91::25)
 by DM6PR12MB4073.namprd12.prod.outlook.com (2603:10b6:5:217::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.16; Tue, 16 Jun
 2026 17:41:36 +0000
Received: from MN1PEPF0000F0E5.namprd04.prod.outlook.com
 (2603:10b6:208:91:cafe::56) by BL0PR05CA0015.outlook.office365.com
 (2603:10b6:208:91::25) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.11 via Frontend Transport; Tue,
 16 Jun 2026 17:41:36 +0000
Received: from satlexmb07.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_256_GCM_SHA384) id
 15.21.139.8 via Frontend Transport; Tue, 16 Jun 2026 17:41:36 +0000
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 16 Jun
 2026 12:41:36 -0500
Received: from [172.21.53.33] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Tue, 16 Jun 2026 12:41: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=sdKLOQdnASeuLXi6mSjQodGGQ/A7+A6E2GatJZzw5GwFsPCd75YYkRkYXrWqm2xZcjmSzGDs4KE2rnuyn1Uucx+JcAozD5biv9c6FUjXZlb++CDrNYR32YUGHYCxE4IlYSTy9I6fPwy0itrGiuNGjoJRI5PzQ78CFHJL84ufMCrb82m4yV+irXN0Ww3MKqg3Off8k/t5H3Wj+Ak/JfneKBR0U/0wtbx7wzdnaAExMxQREGy7CkKDkqOVkvRSXSBirAKBdO1a9wKCoLmrg2a5dmTMLT6vuQWLp4aK0QpVBEKyva1ClZWplDPaE+d7HIVrOQqboErX6EhUwz/7vVjGFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wLY9g1BeIP97DS86fNlbhLTvbM4ybUvN0RDJ0n0tO9A=;
 b=EpLrsY/ZItZ1sXO7Z6DlK1HpX2k/y6mIiAd4oJZbxnxJbbMB+BdG4kReM79XcIkGvgjTtU1YI1yRwbOaTO98bVwPwQaeSFnbeVw99IN4ZLGMTQIMN88OpZBByCFBVNLKN//wWxokkbDfmFomjWy61TsMnhRfi+Hfnl59U9kI0Y7YwfyexdiWSGoBwD2yhrkvgmKfWNV+2jZhJaFTcuBPS+0fcIAoDZz8IIpaALMguspPQcqmGXoPrHZTV0/myAt1fP9i17Ua7wP3FtKXjcZk0Mnw1ScVUhXZ2yupZsFn7MDGOVJg/rZl/Vg0U9TrKmiJ4NWEMBZCXwHuR7gy1DUc7A==
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=wLY9g1BeIP97DS86fNlbhLTvbM4ybUvN0RDJ0n0tO9A=;
 b=2MU/ghvyc/SZNDWzEUyFoXkuhHox6Fb11vYPzZ0V9aiRoYiiCAKbNF6hp2oNcQPjw5XzN1IsZ7OBwAe6ANZQRmlMxtoGxLlVmFNgpnhhbZ8+5wgbrxkVJoYUF28toMrFPfYtVUIxwe4jDOfDaWLp3GKK6FU0uNjwR7Z1QKce5vE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <a62aa5a3-c416-48d1-bfb1-78e6b16d9689@amd.com>
Date: Tue, 16 Jun 2026 13:41:35 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] non-x86: sync tidying logic at end of linking
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>, Alistair Francis <alistair.francis@wdc.com>, "Connor
 Davis" <connojdavis@gmail.com>, Oleksii Kurochko
	<oleksii.kurochko@gmail.com>, Timothy Pearson
	<tpearson@raptorengineering.com>
References: <c9109e8c-e471-4f4c-b58b-fdfe3cb044d2@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <c9109e8c-e471-4f4c-b58b-fdfe3cb044d2@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: MN1PEPF0000F0E5:EE_|DM6PR12MB4073:EE_
X-MS-Office365-Filtering-Correlation-Id: 81b6d592-2cfc-49e6-1c33-08decbce83ac
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|23010399003|376014|7416014|82310400026|36860700016|18002099003|22082099003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	Qx/VlEK+f8bfzSFTt+fJNTqdZT/ZzuHH9o0uSRBcT/OerZt9AdWjeeIM5IXOq0o3HsdcQCUJaB4PZ2J5ONylmnvudDRYQji3fzWraFU/t2kL3wnzBTqwavwLQu9abivKxED5sJrqtQVsuzUhU9KtriVm5RiF7Ktfiwa2YBClrl0LVOaNyT7wTk3ofyXH6gABsAwyYN4q+W5mUgtWH2EkHJc7sU7k6BfG35BTq3JmthxptG9o8+KkcWE2rNfZ27Ecnn/VAMXlTbK3oyllr90fntE8drprxMTo2yRs34DhGKaTcy+V5KvCq6sRFeO6GKX7XrtnTZJjC9eWiLzyVFdnq0Oo7BlBHrLagvpTM7tQmEaE5WBI4OgpxZAoHGN8axhfbTOIodP2rKX4lRJuJnBk3sqZtAwFRtqebgy3+VGNFFIEDQ4+qOkN0kQ3fzzHT2RkNaQh5jvuNggaU0sGXzqGv1PbR5CoBbk32ylg1vB368H8wUagnJ/U6nhGqFUhIFcRne3GTHE5If415+j9u+PCe7D1L0zsRQW+9SRg4JgUiXi0SnAQHyTmZc3f52IxYNC6Dbu3HbAeMpysvT7jIKnGmMcAK9oSNQCI1xe8D+44gjyhUKsTbfeQfRA47TfH1S38QAt+VHKfSt1P7jPAqgdTKrqoXPkLYhoIPgHWVQ3HEXJ8cIpXITX6BSLJzPMVbZ+DagE1+qcvUkTuRGhvpTosPnXHIf20R9YN2bzmf+OdEj4=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(376014)(7416014)(82310400026)(36860700016)(18002099003)(22082099003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	5k15Kkmm6MsU4ALh+0DtATb8sZ6fKse88TgUN5xtoFBqV0SzrLOlxo4ikpL2g9c9PvHuYqhqIlOlaeAt6v/qyFxgXyE+4eG2GOkH7b+zlrYKwsFrwtT7jisJ5yfjOc3khlBOeCCW/J3mVw9Pj5bmdy7VE0UwzoLjZWMzLQONVBlQcsLGWh+4FrAh/nYauXip1XaNExh0cwYxJUCF6J08NeZEMgz0z3Ba4B+5UMo4UB3jnuT9THWuG+lFtrLijki/w9+JUAQBRiy9UyuQPKc3WAioKR+dh6BnYwSHra/Gan4D0G0sSuANmgHYx0JZXBnNX5CySkWuXFKTNkgRCDNRbV1gbr401JJqzO5jrlxG7f5Y4mG715AD2I+Wl3R7VP2ITSihqDKUg7TWWC7J2y4Ww1Yj7bEF+Wz+2WMSWwU+HTu1VyoO281S47agFNbOgwed
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2026 17:41:36.5636
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 81b6d592-2cfc-49e6-1c33-08decbce83ac
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MN1PEPF0000F0E5.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4073
X-purgate-ID: tlsNG-ebf023/1781631701-2997A3FF-A51B6EE9/0/0
X-purgate-type: clean
X-purgate-size: 320

On 2026-06-16 03:52, Jan Beulich wrote:
> Mirror what 761bb575ce97 ("x86: fix build race when generating temporary
> object files") did there to other ports: These ..*.cmd files aren't useful
> to have/keep.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From xen-devel-bounces@lists.xenproject.org Tue Jun 16 19:45:48 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 19:45:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339617.1600810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZZj1-0003Ou-0I; Tue, 16 Jun 2026 19:45:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339617.1600810; Tue, 16 Jun 2026 19: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 1wZZj0-0003Om-SM; Tue, 16 Jun 2026 19:45:30 +0000
Received: by outflank-mailman (input) for mailman id 1339617;
 Tue, 16 Jun 2026 19:45: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 1wZZiz-0003OZ-7K
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 19:45: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 1wZZiy-00CmOO-2b;
 Tue, 16 Jun 2026 19:45:28 +0000
Received: from [2a02:8012:3a1:0:adbb:f4c5:7acb:2fe1]
 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 1wZZix-00FWx6-2r;
 Tue, 16 Jun 2026 19:45: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=NYubC972DuQAHvEqmffR5xPihPKjG6dYLSM8vLNRVfA=; b=wqSHpXiV5Y9nSr+CVezmWDATx9
	fx0KPm6QWYIJwMZO2BBMhWEEtQ+2FOBaGTH073M0ZurEAqOc56vjZUlrtlAQ367Vk6dSUgfJnFHwu
	siWZAde6mtk+LZHbf91M6MPh3fdzHUZMEneWgygtPsKsulNXOeuQKwVZzTwVeAlNERvo=;
Message-ID: <ce107cd6-3d2d-45eb-bbe5-f700d5a25827@xen.org>
Date: Tue, 16 Jun 2026 20:45:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 02/23] xen/arm: smmuv3: Add support for stage-1 and
 nested stage translation
Content-Language: en-GB
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Milan Djokic <milan_djokic@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Rahul Singh <Rahul.Singh@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1774305918.git.milan_djokic@epam.com>
 <cb8a2cb5df50128f4c49d34a7ab8faa4e73f83c6.1774305918.git.milan_djokic@epam.com>
 <56a7c116-4ecb-4dfc-a7dd-774d53041fe9@xen.org>
 <87a04781-5765-43b6-8b21-cb993609bd91@epam.com>
 <cd2c76a2-7a13-4bbf-9c29-5dcf3ae06fc0@xen.org>
 <4c96c478-aeb5-443c-a6ca-f23caf7d5430@epam.com>
 <e489f44e-ef61-425c-bd0e-0a992c32f7cf@xen.org>
 <f258e2e5-f7ba-4183-8b33-c3a169dc1d7c@epam.com>
 <bd0588e3-2824-4c2a-a1cc-6ff62fed7f62@xen.org>
 <21F24A06-115C-4384-89AF-B6A04029F356@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <21F24A06-115C-4384-89AF-B6A04029F356@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Bertrand,

On 11/06/2026 07:12, Bertrand Marquis wrote:
>>> This primarily targets systems where the SMMU does not support Stage-2 translation.
>>> If we decide to keep this code, I will address the associated security considerations and document the corresponding AoU in the design. Otherwise, we can fall back to supporting only the "nested" translation case.
>>
>> Thanks for the feedback. I think for such setup, I would consider whether we can use the stage-1 in Xen to protect the device. AFAIK, this what Linux will do.
>>
>> I would be interested to hear what the other maintainers think.
> 
> Giving access to the smmu to a guest means giving it a solution to access whatever he wants through a DMA engine.
> This is not less secure than no SMMU at all but I would definitely think that in such a case SMMU should be reserved for
> Xen to use it to protect from accessing other guests memory using DMA.
> 
> Now i know that in some setups there are cases where a specific device cannot be used without an SMMU (mostly GPUs
> but there might be others). In that case, the device cannot be used easily if the kernel cannot use the SMMU to remap the
> memory at a convenient place for the device.
> 
> We should not disallow such cases completely but we should give strong recommandations when such a setup is used.

Thanks for the feedback! I think before allowing S1 without S2 we need 
to make sure it works and I am not convinced this is the case today.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 20:04:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 20:04:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339625.1600823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZa1J-0007Vv-EO; Tue, 16 Jun 2026 20:04:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339625.1600823; Tue, 16 Jun 2026 20: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 1wZa1J-0007Vo-Aa; Tue, 16 Jun 2026 20:04:25 +0000
Received: by outflank-mailman (input) for mailman id 1339625;
 Tue, 16 Jun 2026 20:04:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1wZa1H-0007Vc-OF
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 20:04:23 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <julien@xen.org>) id 1wZa1H-00Cmln-1o;
 Tue, 16 Jun 2026 20:04:23 +0000
Received: from [2a02:8012:3a1:0:adbb:f4c5:7acb:2fe1]
 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 1wZa1G-00FgPM-26;
 Tue, 16 Jun 2026 20:04: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=BH2ZTDIPleMrEo1XxBTNQepvG47nd7ZF5On1M6/07Os=; b=gf3tpIvkevkNVM1Llh1g9jKAVs
	RoieNjE5EObZ+fLa0Ougu4VQR1cwM7Jn8b1FgIw7Z8Q3KXN1fUUkGOrmZwcF6KHILjxANldkiGxQ8
	vr7xPnODVfcabTG2QImXdXsHl6/s1+95nJsOipWKDBszq/P8mN3aqY+viMndS0Mpnt7w=;
Message-ID: <dd60f194-ab26-4287-98f8-e7a035ecf2e8@xen.org>
Date: Tue, 16 Jun 2026 21:04:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 08/23] xen/arm: vsmmuv3: Add support for registers
 emulation
Content-Language: en-GB
To: Milan Djokic <milan_djokic@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: 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>
References: <cover.1774918270.git.milan_djokic@epam.com>
 <25adb33c4be3932c2d946cf7757c933eb042476c.1774918270.git.milan_djokic@epam.com>
 <6d1806aa-b009-407a-9a7a-476f9f4deb70@xen.org>
 <f7e7f42c-43f1-436a-9d06-ab44619f2da0@epam.com>
 <648f587f-8621-472d-9b2c-e88fe11444a4@xen.org>
 <8c57e619-7b37-49b9-ae55-67490956d12c@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <8c57e619-7b37-49b9-ae55-67490956d12c@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Milan,

On 09/06/2026 00:06, Milan Djokic wrote:
>>>>> +#define DWORDS_BYTESÂ Â Â Â Â Â Â  8
>>>>> +#define ARM_SMMU_IIDR_VALÂ Â  0x12
>>>>
>>>> I am not sure which implementer this is referring to. But how do you
>>>> plan to handle errata? Are we sure they can always be handled by Xen?
>>>>
>>>
>>> This is currently a dummy value used to avoid triggering guest driver
>>> errata/quirk paths. I will replace it with a more meaningful value.
>>> Using the Arm implementer ID with the remaining fields cleared should be
>>> sufficient.
>>
>> I am not sure to understand why would that value be unused. Do you have
>> more details?
>>
> 
> I think that the IIDR is always used by the guest driver during 
> initialization to identify the implementer/product revision and enable 
> any required workarounds.
> 
> If that is the usage you are referring to, then using a generic IIDR 
> value would prevent the guest driver from activating any implementer- 
> specific workaround paths.
> 
>>>
>>> My expectation is that errata handling should remain in Xen rather than
>>> the guest.
>>
>> I am not fully convinced you will be able to apply all the errata in the
>> hypervisor. At least with close to no cost.
>>
> 
> Yes, this is potentially problematic. However, at the moment I am not 
> sure what the alternative would be, as I think that guest-side errata 
> handling could be applied incorrectly due to the emulation layer.

I think the risk is limited. But we could always check whether Xen is 
running in the errata handler.

Anyway, I guess we could leave this for now. But this would want to a be 
a TODO as I think we want to address it before the stage-1 SMMU is 
(security) supported.

[...]

>>>>> +Â Â Â  }
>>>>> +
>>>>> Â Â Â Â Â Â Â  return IO_HANDLED;
>>>>> Â Â Â  }
>>>>> Â Â Â  static int vsmmuv3_mmio_read(struct vcpu *v, mmio_info_t *info,
>>>>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  register_t *r, void *priv)
>>>>> Â Â Â  {
>>>>> +Â Â Â  struct virt_smmu *smmu = priv;
>>>>> +Â Â Â  uint64_t reg;
>>>>> +
>>>>> +Â Â Â  switch ( info->gpa & 0xffff )
>>>>> +Â Â Â  {
>>>>> +Â Â Â  case VREG32(ARM_SMMU_IDR0):
>>>>> +Â Â Â Â Â Â Â  regÂ  = FIELD_PREP(IDR0_S1P, 1) | FIELD_PREP(IDR0_TTF, 2) |
>>>>
>>>> As the page-table will be used by the HW, shouldn't TTF reflect what 
>>>> the
>>>> HW supports? This would allow the vIOMMU to work for 32-bit domains.
>>>>
>>>
>>> If my understanding is correct, Xen SMMU driver only supports AArch64
>>> table format, so I think that we can't advertise 32-bit table format in
>>> the emulation layer even if the hardware supports it.
>>
>> Do you mind pointing me to the code? The page-tables are shared between
>> the SMMU and the CPU. So we ought to support both.
>>
> 
> The reason I assumed only the AArch64 format should be advertised is 
> that the Xen SMMU driver currently appears to require AArch64 table 
> format support during device probe.
> 
> In arm_smmu_device_hw_probe() (xen/drivers/passthrough/arm/smmu-v3.c), 
> the handling is:
> 
> /* We only support the AArch64 table format at present */
> switch (FIELD_GET(IDR0_TTF, reg)) {
> case IDR0_TTF_AARCH32_64:
>  Â Â Â  smmu->ias = 40;
>  Â Â Â  fallthrough;

Wouldn't this allow 32-bit format? Even if we decide to disallow it what 
would prevent the guest to use it (we can't rely on the guest to follow 
the IDR)? Are we preventing configure the stage-1 SMMU for 32-bit domain?

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Jun 16 20:08:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Jun 2026 20:08:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339631.1600832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZa5U-0008Fl-TS; Tue, 16 Jun 2026 20:08:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339631.1600832; Tue, 16 Jun 2026 20:08: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 1wZa5U-0008Fe-Qp; Tue, 16 Jun 2026 20:08:44 +0000
Received: by outflank-mailman (input) for mailman id 1339631;
 Tue, 16 Jun 2026 20:08: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 1wZa5T-0008FY-3m
 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2026 20:08: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 1wZa5S-00CmqW-3B;
 Tue, 16 Jun 2026 20:08:42 +0000
Received: from [2a02:8012:3a1:0:adbb:f4c5:7acb:2fe1]
 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 1wZa5S-00FiTY-0Q;
 Tue, 16 Jun 2026 20:08: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=/5DcLrw5CPiPKYC02EBhMGKYmAng3/TlgnzmnutznYI=; b=2XPKEdUF+TiBSEpJdvsYxjmShf
	aO59RRFa0ET05HaFZPzgiyMG7rpqq71qYgJA0gCvDZ2hGItJSOLQH0unDu0InSpYXDl7u4qYj0HOP
	EqX7PfPH5vct00K2ubyqGKQeRJNH94zfemtudaooSUKbyNi8qzsp3B+tunDIX1nrvHBo=;
Message-ID: <6e2d0f83-fcb2-41b4-b04f-99c2d3fefcae@xen.org>
Date: Tue, 16 Jun 2026 21:08:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 02/23] xen/arm: smmuv3: Add support for stage-1 and
 nested stage translation
Content-Language: en-GB
To: Milan Djokic <milan_djokic@epam.com>,
 "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>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1774305918.git.milan_djokic@epam.com>
 <cb8a2cb5df50128f4c49d34a7ab8faa4e73f83c6.1774305918.git.milan_djokic@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <cb8a2cb5df50128f4c49d34a7ab8faa4e73f83c6.1774305918.git.milan_djokic@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Milan,

On 23/03/2026 22:51, Milan Djokic wrote:
> From: Rahul Singh <rahul.singh@arm.com>
> 
> Xen SMMUv3 driver only supports stage-2 translation. Add support for
> Stage-1 translation that is required to support nested stage
> translation.
> 
> In true nested mode, both s1_cfg and s2_cfg will coexist.
> Let's remove the union. When nested stage translation is setup, both
> s1_cfg and s2_cfg are valid.

I am not entirely sure where to comment. Looking at Linux [1], it seems 
some SMMU variant have errata for the nesting mode. Should we at least 
prevent nested on both variant for now?

Cheers,

[1] 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0bfbfc526c70606bf0fad302e4821087cbecfaf4

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 01:42:54 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 01:42:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339787.1600881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZfIY-0003Nl-3d; Wed, 17 Jun 2026 01:42:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339787.1600881; Wed, 17 Jun 2026 01:42: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 1wZfIX-0003Nd-Uj; Wed, 17 Jun 2026 01:42:33 +0000
Received: by outflank-mailman (input) for mailman id 1339787;
 Wed, 17 Jun 2026 01:42:32 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <michael.bommarito@gmail.com>) id 1wZfIW-0003NX-Da
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 01:42:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZfIV-005awm-2u
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 03:42:31 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <michael.bommarito@gmail.com>)
 id 6a31fb40-2eae-0a2a0a5409dd-0a2a45069c06-26
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 03:42:31 +0200
Received: from [209.85.160.179] (helo=mail-qt1-f179.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <michael.bommarito@gmail.com>)
 id 6a31fb86-7371-0a2a45060019-d155a0b3ace5-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 03:42:30 +0200
Received: by mail-qt1-f179.google.com with SMTP id
 d75a77b69052e-51788280e71so57026611cf.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Jun 2026 18:42:30 -0700 (PDT)
Received: from server0.tail6e7dd.ts.net (c-68-48-65-54.hsd1.mi.comcast.net.
 [68.48.65.54]) by smtp.gmail.com with ESMTPSA id
 d75a77b69052e-517fb7ec47asm156567221cf.24.2026.06.16.18.42.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Jun 2026 18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781660549; x=1782265349; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1ltgoW4HzxXM53BHwLsRBi+lA49LaXw3fkOJPn5XnrI=;
        b=cLm4GRJ4dh+7ZFGrDnHjMYdjSucuxsQzNaGr1yo/JKnD+YsGwvDYRo6Qfgz3qQi1Ok
         FVbW/YTqUIl1P7wUazU/pwEDxuNjs1SRZNIEOWzqC1XcmDBkiZ7rWIQ1aRwGhKsc6JRu
         PTHvJ++qv/mIokIQjYu85hfst7L/ti8TkDw5Yvl4kWk56Skqf0Q19YR4rYKvQegevKNG
         FV2OuCV3A3E2VDz98o+q9k+0uTRBBx4l11G0FTsXMjqnNqGFFLBiqpMuXMS8tnFxFhiF
         blgVWXiTjEM3ONEVNv3NRs5Kd0Hb65lpdSA/n5XD29pVlQJV0AbutTESiS5GC+MNVe1L
         ZNhA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781660549; x=1782265349;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=1ltgoW4HzxXM53BHwLsRBi+lA49LaXw3fkOJPn5XnrI=;
        b=WICS0pbbS1er5r+puET4zNcObbDVfmizDY1/tluzDYEZjIoMjl8iPOlhQq70q/hiym
         CZiXlZyB4oxErd+Rat+M0uyX1heK+AETR/Vuxy/w3sh1EhJjMl/vj9rV0hltMkSbCjjo
         yZIAgj52KNF+AoRSBPrR6lJRFEoMqnsm6ut9uhSXxonisYaz5lV6yt5CFUZdgteCFDKg
         51v95OwwMkDogCzrJnuaUFySWS0+65I3b2UO99N0dW3D1DHJNOY1klOeWGRfgf6yxVVA
         kB8Sy5xUHt7m3TjYCILK1IlkDmgOHoCdX/SbbjYOOQpc9ZJQV/MBUlAYFjeIYxJl6D+l
         zSVA==
X-Gm-Message-State: AOJu0YyZv+ICB4h1Na4+wRrdZEqPZ9XZ/TDO+WQ4o4Zee3ahoPnfRQrv
	BHJRL9fBrCgy5oMlRKnJKb04wAroercrM2ngOkjPjInbjRQx2jadruNl
X-Gm-Gg: Acq92OGHrJiJ9HbACWqRO6IatKL/fB2err3C6I26EewZdKRrO7tvN2oxtlcmVDj3h3c
	GS2y9Y417xYDODGYCBxly2jort4HAUdGb2kAy7c1onTdT1NZzk1uFzPjM34WwIFRNlTaEtjl4j9
	z4MpYEijPi1eLemFcTYJ8WObwgj8A7gGyOuhvKLxorIe5EXvQN8/F7/I0yjTEzi8pUPoGR4gYeM
	+BWMJGFLcStB4R6lIXYrZ58DD9ETnbrV/ooDY21OL7OXiHC9OdduQN7WV/rLJy3TfAwu5CQgzZf
	v+aedyTAqvrAGMrnIAYTtMlaYAd//kWZFxEmZW0KWHmGxzsdTj4SyMMq87VqfaRD8/hgunsHPmb
	zfO65W/w47fN6x/GpWUtmkTAg9QEAhTKFqf1M28B/z1Pc5nAc6k0m5Kk+T4qoyjCLqVApnsY9Qp
	i8dt6lvJK903IR/qx2ZrttH1s6Ho6qFa6zCq8NBH8h4rJGxz0n8EeTNU8VOq3JNied22HvQSFrQ
	26mqz0EHBw4F+/n3uTgajUmg/5gk7Gu
X-Received: by 2002:a05:622a:56cc:b0:517:6350:ed50 with SMTP id d75a77b69052e-519a8faa207mr25326481cf.45.1781660549330;
        Tue, 16 Jun 2026 18:42:29 -0700 (PDT)
From: Michael Bommarito <michael.bommarito@gmail.com>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH v2] xen/pvcalls: bound backend response req_id before indexing rsp[]
Date: Tue, 16 Jun 2026 21:41:49 -0400
Message-ID: <20260617014149.2647404-1-michael.bommarito@gmail.com>
X-Mailer: git-send-email 2.53.0
In-Reply-To: <20260610114137.3749027-1-michael.bommarito@gmail.com>
References: <20260610114137.3749027-1-michael.bommarito@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1781660551-87D7AD75-0B6B2B87/0/0
X-purgate-type: clean
X-purgate-size: 8757

pvcalls_front_event_handler() takes req_id directly from the
backend-supplied ring response and uses it to index the fixed-size
bedata->rsp[] array for a memcpy() and a store, with no range check. A
malicious or buggy backend can set req_id past PVCALLS_NR_RSP_PER_RING
and drive an out-of-bounds write past the bedata allocation.

req_id was also declared int while the wire field rsp->req_id is u32, so
a range check on the signed value alone is insufficient: a backend
req_id of 0xffffffff becomes -1, passes a >= PVCALLS_NR_RSP_PER_RING
test and indexes bedata->rsp[-1]. Declare req_id as u32 so a single
bound covers both ends.

A backend that sends an out-of-range req_id has violated the wire
protocol, so rather than silently dropping the response, log once and
stop trusting the backend: set bedata->disabled. The event handler then
ignores further responses, and the request paths that wait for a
response return -EIO instead of blocking forever. This mirrors the
fatal-error handling xen-netback uses (xenvif_fatal_tx_err()).

The pvcalls frontend currently trusts its backend, so this is not a
classic-Xen security issue, but it matters for hardening PV frontends
against malicious backends (confidential and disaggregated deployments).

Fixes: 2195046bfd69 ("xen/pvcalls: implement socket command and handle events")
Suggested-by: Juergen Gross <jgross@suse.com>
Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Michael Bommarito <michael.bommarito@gmail.com>
---
v2: per Juergen Gross's review
    (https://lore.kernel.org/all/ecb43fc6-e821-4532-9f75-06c86a6ac76c@suse.com/):
    - Log the out-of-range req_id once with pr_err_once() instead of
      silently dropping the response.
    - Stop trusting the backend on a protocol violation: set
      bedata->disabled so the event handler ignores further responses and
      the request paths waiting for a response return -EIO instead of
      blocking forever, following the xen-netback xenvif_fatal_tx_err()
      pattern you pointed to.
    - Declare req_id as u32 (was int) so a single bound covers both ends.
    - pvcalls_front_accept() has a second waiter (a concurrent accept
      blocked on PVCALLS_FLAG_ACCEPT_INFLIGHT). On the disabled path,
      clear that flag and wake inflight_accept_req so the queued accept
      also returns -EIO rather than waiting for a response that the
      disabled handler will never deliver.
    - Corrected the Fixes: tag to 2195046bfd69, the commit that
      introduced the unbounded bedata->rsp[req_id] indexing in the event
      handler; the previously cited 235a71c53903 (release command) only
      added a waiter and is a descendant.
    v1: https://lore.kernel.org/all/20260610114137.3749027-1-michael.bommarito@gmail.com/

 drivers/xen/pvcalls-front.c | 88 ++++++++++++++++++++++++++++++++-----
 1 file changed, 76 insertions(+), 12 deletions(-)

diff --git a/drivers/xen/pvcalls-front.c b/drivers/xen/pvcalls-front.c
index 50ce4820f7eeb..3e7aa807c3173 100644
--- a/drivers/xen/pvcalls-front.c
+++ b/drivers/xen/pvcalls-front.c
@@ -32,6 +32,7 @@ struct pvcalls_bedata {
 	struct xen_pvcalls_front_ring ring;
 	grant_ref_t ref;
 	int irq;
+	bool disabled;
 
 	struct list_head socket_mappings;
 	spinlock_t socket_lock;
@@ -131,6 +132,20 @@ static inline int get_request(struct pvcalls_bedata *bedata, int *req_id)
 	return 0;
 }
 
+/*
+ * Wait for the backend's response to req_id, or for the frontend to be
+ * disabled because the backend violated the wire protocol. Returns 0 once
+ * the response has arrived, or -EIO if the frontend was disabled.
+ */
+static int pvcalls_front_wait_rsp(struct pvcalls_bedata *bedata, u32 req_id)
+{
+	wait_event(bedata->inflight_req,
+		   READ_ONCE(bedata->rsp[req_id].req_id) == req_id ||
+		   READ_ONCE(bedata->disabled));
+
+	return READ_ONCE(bedata->disabled) ? -EIO : 0;
+}
+
 static bool pvcalls_front_write_todo(struct sock_mapping *map)
 {
 	struct pvcalls_data_intf *intf = map->active.ring;
@@ -168,7 +183,8 @@ static irqreturn_t pvcalls_front_event_handler(int irq, void *dev_id)
 	struct pvcalls_bedata *bedata;
 	struct xen_pvcalls_response *rsp;
 	uint8_t *src, *dst;
-	int req_id = 0, more = 0, done = 0;
+	u32 req_id = 0;
+	int more = 0, done = 0;
 
 	if (dev == NULL)
 		return IRQ_HANDLED;
@@ -179,12 +195,31 @@ static irqreturn_t pvcalls_front_event_handler(int irq, void *dev_id)
 		pvcalls_exit();
 		return IRQ_HANDLED;
 	}
+	if (READ_ONCE(bedata->disabled)) {
+		pvcalls_exit();
+		return IRQ_HANDLED;
+	}
 
 again:
 	while (RING_HAS_UNCONSUMED_RESPONSES(&bedata->ring)) {
 		rsp = RING_GET_RESPONSE(&bedata->ring, bedata->ring.rsp_cons);
 
 		req_id = rsp->req_id;
+		if (req_id >= PVCALLS_NR_RSP_PER_RING) {
+			/*
+			 * The backend supplied a req_id that would index
+			 * bedata->rsp[] out of bounds: a protocol violation
+			 * from a malicious or buggy backend. Log once, stop
+			 * trusting this backend and disable the frontend rather
+			 * than silently dropping the response and continuing.
+			 */
+			pr_err_once("pvcalls: backend sent out-of-range req_id %u, disabling frontend\n",
+				    req_id);
+			WRITE_ONCE(bedata->disabled, true);
+			bedata->ring.rsp_cons++;
+			done = 1;
+			break;
+		}
 		if (rsp->cmd == PVCALLS_POLL) {
 			struct sock_mapping *map = (struct sock_mapping *)(uintptr_t)
 						   rsp->u.poll.id;
@@ -217,7 +252,7 @@ static irqreturn_t pvcalls_front_event_handler(int irq, void *dev_id)
 	}
 
 	RING_FINAL_CHECK_FOR_RESPONSES(&bedata->ring, more);
-	if (more)
+	if (more && !READ_ONCE(bedata->disabled))
 		goto again;
 	if (done)
 		wake_up(&bedata->inflight_req);
@@ -330,8 +365,11 @@ int pvcalls_front_socket(struct socket *sock)
 	if (notify)
 		notify_remote_via_irq(bedata->irq);
 
-	wait_event(bedata->inflight_req,
-		   READ_ONCE(bedata->rsp[req_id].req_id) == req_id);
+	ret = pvcalls_front_wait_rsp(bedata, req_id);
+	if (ret) {
+		pvcalls_exit();
+		return ret;
+	}
 
 	/* read req_id, then the content */
 	smp_rmb();
@@ -477,8 +515,11 @@ int pvcalls_front_connect(struct socket *sock, struct sockaddr *addr,
 	if (notify)
 		notify_remote_via_irq(bedata->irq);
 
-	wait_event(bedata->inflight_req,
-		   READ_ONCE(bedata->rsp[req_id].req_id) == req_id);
+	ret = pvcalls_front_wait_rsp(bedata, req_id);
+	if (ret) {
+		pvcalls_exit_sock(sock);
+		return ret;
+	}
 
 	/* read req_id, then the content */
 	smp_rmb();
@@ -711,8 +752,11 @@ int pvcalls_front_bind(struct socket *sock, struct sockaddr *addr, int addr_len)
 	if (notify)
 		notify_remote_via_irq(bedata->irq);
 
-	wait_event(bedata->inflight_req,
-		   READ_ONCE(bedata->rsp[req_id].req_id) == req_id);
+	ret = pvcalls_front_wait_rsp(bedata, req_id);
+	if (ret) {
+		pvcalls_exit_sock(sock);
+		return ret;
+	}
 
 	/* read req_id, then the content */
 	smp_rmb();
@@ -761,8 +805,11 @@ int pvcalls_front_listen(struct socket *sock, int backlog)
 	if (notify)
 		notify_remote_via_irq(bedata->irq);
 
-	wait_event(bedata->inflight_req,
-		   READ_ONCE(bedata->rsp[req_id].req_id) == req_id);
+	ret = pvcalls_front_wait_rsp(bedata, req_id);
+	if (ret) {
+		pvcalls_exit_sock(sock);
+		return ret;
+	}
 
 	/* read req_id, then the content */
 	smp_rmb();
@@ -820,6 +867,14 @@ int pvcalls_front_accept(struct socket *sock, struct socket *newsock,
 		}
 	}
 
+	if (READ_ONCE(bedata->disabled)) {
+		clear_bit(PVCALLS_FLAG_ACCEPT_INFLIGHT,
+			  (void *)&map->passive.flags);
+		wake_up(&map->passive.inflight_accept_req);
+		pvcalls_exit_sock(sock);
+		return -EIO;
+	}
+
 	map2 = kzalloc_obj(*map2);
 	if (map2 == NULL) {
 		clear_bit(PVCALLS_FLAG_ACCEPT_INFLIGHT,
@@ -880,10 +935,18 @@ int pvcalls_front_accept(struct socket *sock, struct socket *newsock,
 	}
 
 	if (wait_event_interruptible(bedata->inflight_req,
-		READ_ONCE(bedata->rsp[req_id].req_id) == req_id)) {
+		READ_ONCE(bedata->rsp[req_id].req_id) == req_id ||
+		READ_ONCE(bedata->disabled))) {
 		pvcalls_exit_sock(sock);
 		return -EINTR;
 	}
+	if (READ_ONCE(bedata->disabled)) {
+		clear_bit(PVCALLS_FLAG_ACCEPT_INFLIGHT,
+			  (void *)&map->passive.flags);
+		wake_up(&map->passive.inflight_accept_req);
+		pvcalls_exit_sock(sock);
+		return -EIO;
+	}
 	/* read req_id, then the content */
 	smp_rmb();
 
@@ -1054,7 +1117,8 @@ int pvcalls_front_release(struct socket *sock)
 		notify_remote_via_irq(bedata->irq);
 
 	wait_event(bedata->inflight_req,
-		   READ_ONCE(bedata->rsp[req_id].req_id) == req_id);
+		   READ_ONCE(bedata->rsp[req_id].req_id) == req_id ||
+		   READ_ONCE(bedata->disabled));
 
 	if (map->active_socket) {
 		/*
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 07:12:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 07:12:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339816.1600895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZkRh-0001xu-QH; Wed, 17 Jun 2026 07:12:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339816.1600895; Wed, 17 Jun 2026 07:12:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZkRh-0001x4-M5; Wed, 17 Jun 2026 07:12:21 +0000
Received: by outflank-mailman (input) for mailman id 1339816;
 Wed, 17 Jun 2026 07:12:20 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wZkRf-0001uW-Gy
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 07:12:20 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZkRe-00CS1m-U0
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 09:12:18 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a3248ce-5cb7-0a2a0a5109dd-0a2a4507bf88-16
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 09:12:18 +0200
Received: from [52.101.125.100]
 (helo=TYVP286CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a3248cd-229c-0a2a45070019-34657d648175-4
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 09:12:18 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by OSCP286MB5166.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:34e::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Wed, 17 Jun
 2026 07:12:12 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.009; Wed, 17 Jun 2026
 07:12: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=CJlVI9k1zplGAEgqsyenMzkohm/Vsrbp5SxJPfA7pc/OIa/m4hkixaDANB4ccLc8D9SAHR5Q5myE2PZSaA+JqAqi45j1k4Mb4/WePjt5GHWeJCxLUROsDauJmAQ1nICj4r6otjYl+wy+jlfiyEiwkhoRbnGPOYz1cakJy1w0g0BZ20YMME3IaJgCmS2hpBkNzdJwHpP9l1gcfOdwkTi5EAhvd8ZfGp5kNYKW+Ji4IU0d/6jI7KQSIG/P81ZPbOZ88eGifiUBWPlZD7j2L3cb0zcp3Jm6qo3dlCD9sg3LOMPFPk8XqESwxc5kANv6R39NZzGHHHuxuOUHwQyVRaHu3Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hQNIJ3HNju6pfXeVEfP0fYa15huEhISLLoeTKWjcdXA=;
 b=SfP1DPFqUqh4JwGQhiFKS5Ml7W8Lod8wYGI8UFCQM5MgCHXi7NPPc/QnN9OyT6AhwBg3wFSUXAw7h8DtcYvCbl3eXA+dR2uo79ig34bK11ZHbeDcIz4tF9HKb09gHV3I+RSawjie2nz+JvFFzYo5m8Vvwoxhi/pFf+sx3sSEF3DrUciha/RHJ2/RyaU0jMjIKSXeRa/mNDW3Zki/XssWvqSdsmkAfVrNMiOjQJ8wNGNke8w6Ir2mOkid1zuzINknkZ9qIkP/SkZLJU+2lSbzbtOa68M2rQCdfhfCRJtgKqYCEvph2BGY6ebwHFZwOcLLMyodeKW5JyAWCtSWfJpSKA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hQNIJ3HNju6pfXeVEfP0fYa15huEhISLLoeTKWjcdXA=;
 b=k8+yJjm88/o+FB2QEapn8I/KxZxDNjZW75tkHabYzMUv0Vqg8R/CDwFNJHEGMadRPUf6hzxgZa45dEEPQDoStr7Jt/e7+kkjsvTtRUkW5ek20rvSHC+sHdG9eijA47bC7Q9wbiFFUeoethmRcXVs8iT1XfNP1aE0j2C4zqvhhaU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Mykyta_Poturai@epam.com,
	Hirokazu Takahashi <taka@valinux.co.jp>,
	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 1/3] xen/device-tree: Parse 'cpu-map' node for CPU topology exploration
Date: Wed, 17 Jun 2026 16:12:04 +0900
Message-ID: <20260617071206.265599-2-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260617071206.265599-1-taka@valinux.co.jp>
References: <20260617071206.265599-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY6P286CA0042.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:405:3b7::13) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|OSCP286MB5166:EE_
X-MS-Office365-Filtering-Correlation-Id: de198d34-e5b5-4f53-1752-08decc3fc0f2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|23010399003|10070799003|7416014|376014|22082099003|18002099003|56012099006|6133799003;
X-Microsoft-Antispam-Message-Info:
	BL531lkLfJ5E+XTWIdbS0A1yaSdTTpGem4pn1vq31UluWaqT8lyRb7N7AvOSbBy6Sz/GInG631GKsb5jzZZJDo61sNXuX87lS36KK+RWgbYwcKo/iBhByapVBjvjQt2uAEAhcyeazjO8KE3gAX+r0dqFhV/mAM3gx+574xE6tP5KuegtoTvowW5EMgncN3xTvQqvMV1dKKrt1m1iPoh4Uk230IeI415E6Ng/8xf1SvTgXT143/U9ALwxSDAGycczzxs/9bzeU5aNTsNYlqoF5T2SJFf5R0gr5zItZhCnpocDTORG2rsjCUOLsLh+BAb2LRl+Uj+WX0Zj2c/MCWnt3NLi0mchnReWPLoQTtwtoPMCYlZgVjZvg7jDO/ssI0tJwbHhpM5A7tEnqgx34ZJTvIlZXJvq+09xMbikpF0YmTf6HiZpJ0gNcmmJ6qLqwmF51cidt9Jo5+QsFDKD/ToZ4OxM7GRXNuPt/BnGj0zshdQ08bPv8P7ljlwqSjcbcRfGVSHEbLpkFXckilvMZBjBMjh9CzW2IQcrM/+TF8shMGVwwRAgPn0N1Y0uITb3yvIs2RXafgB8MfDF8cwHkHpIDwJRdWGOon3UbA42M6Bf63Ww1eNBGctLnhPF8BqLJp2AZlhS9DRsUgUef/tOWX6+3CcHj6rFCayXTR+mTKP57qJl5ko9qF6UA4/YqSf0/jN2
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(23010399003)(10070799003)(7416014)(376014)(22082099003)(18002099003)(56012099006)(6133799003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?APh2K2mVW3ju31ZIpnnXR1sbcqlbJ9ajm4ImAMdVE/orU4pclOK+W6CoCP8n?=
 =?us-ascii?Q?+oWFR45hoBBrFHdLjZiul1jRPudhJ1OHDNysF+MlTjofr1Uq5xawhrC5WLA2?=
 =?us-ascii?Q?XllWKQRPKcHaihweGq8kECA3kdNTUiK5DQ4dUmfmLj7uGtdp6CzIyt+k09hn?=
 =?us-ascii?Q?schpq0T5liy1Xi9ZrGmcdrpYHXATeTFDLqDq5E0lWnWXoLKqDtqcwpUXMDpg?=
 =?us-ascii?Q?/zGyewRnrI5T47EJSN9ouXmzsPKUczAx/bQKRxqVWmtBX5q1Dz0/vjTvhs9h?=
 =?us-ascii?Q?0pv4f/jwVEpdXv1z78IE/JaWZciGlCKqkjOae6ID3Ox56PuC+/w8h2nNAf5E?=
 =?us-ascii?Q?o2Wa3RwmF6bw6ikDlkLQDfA8KpoGifdby/G1DzKs0hdi+bUdM11aGZ9hdNbx?=
 =?us-ascii?Q?+pqI6UkTSiCaG7T926jjjW3bbtB4TjM/MqUgoo5lnrGKv/w2270wNwEudsz9?=
 =?us-ascii?Q?LIj0th5cWxzFysK3CTvUCYBKOu5z2Y6ao8QH5xU33i3mt1Ev6BMrogw13ebq?=
 =?us-ascii?Q?y4UyA9txNrBro10WIYDo/Z9NTDD2INvJ+dFb16t7Ft1H3SjckKWbizdnkxOZ?=
 =?us-ascii?Q?X0hKt8fsRIbNrK1JUBfpoAmNA51vWcXY07WiiELeEbhb2nYKa5pRvKkaxZJR?=
 =?us-ascii?Q?Tqs7N+OUTM4uzXMpw1Xkt+ngD23IpUSLIJgglcnfFB5rI+Simyx95JE/yuXv?=
 =?us-ascii?Q?AHYufkap5b2A16xQqj/3cPWDgGNLMHcLQIxeaak3cdfiWBU33oh9+MHNhiMZ?=
 =?us-ascii?Q?qQwry7mEHa19gW6yCwOAaZdwjo+jF2wbNNcEnw4YBT4zDeAW2fSBv52SCU82?=
 =?us-ascii?Q?+PU5aytgQWm6aRIZKipd847fAZwOCL1dgTWhftBOR1BfuVIoVhc+FTYIk83O?=
 =?us-ascii?Q?gT9I11WPm6/CdeCqcsqRtr11hN3AiWbKZocFdxLhn//Nf3wOyKJjJfCskrW0?=
 =?us-ascii?Q?hTjGPuZYaEGIVro0yt6EJ7rPKX6ISgXD7i4bDNUUMZbwBR0dmcYefytU3hbI?=
 =?us-ascii?Q?YLY/JmU5lyptpXivDL8dAfWTIP9cyBdB6xxICojRuctH5jIMXwurZ4p74nIn?=
 =?us-ascii?Q?TMTxaRJr2wFPUzmHxQITBiy+4gogbocQB26TdrzWZ92r9be4D2VVH/dRFcKl?=
 =?us-ascii?Q?yp132hgrojU/3QjLbswUcX0lyZKi3k8plTcGjhST4TtRAbBg4/rG0HDFB9/l?=
 =?us-ascii?Q?sHJij4fBcPOm6XetNmh72TAmwqYWExZ1bx/hL7h/+Z1/jU9KXJYEom2lCHxp?=
 =?us-ascii?Q?inusErJTEiPAEomUvL6F8OGVaeT7DhxW5bsAFP79gKlI7/tB+XDc+KMvZfy1?=
 =?us-ascii?Q?Z7t7/C2URAlmmcEBPUaBgi0RRpmJ/to+F5KuvNazRr3GXyzK7xuGcYwBqfvB?=
 =?us-ascii?Q?6QBt0wkbkrTxx19Sx3KwK2TKRZTkcpkpga8uwrqvNUi6QsEPIHpzL1TaigNO?=
 =?us-ascii?Q?vLM/wlS2BICDnfSJ1//VXQRRVVRdpJZo8eLkRO2t9oOOP8HXWRje1Mf1Hy6E?=
 =?us-ascii?Q?FgRoRaX8Qmcj4F5N2hddM7rtx91lVuy5gh5M2iNgwIUSb/A4fjxoWTq9lxFt?=
 =?us-ascii?Q?a3kJ4lEfzqaaj/cCIqoaFY86+ceKi6TGzsYgwUMBf6xaWQVSQIHFDS8oGLCN?=
 =?us-ascii?Q?7LQmjH2HvFqee0u8OENbIwJZ6gayz9aZ6RnR84xMdxEnLG0/UxtYPLxQ0Vic?=
 =?us-ascii?Q?khZnlFr3am93+GQZWJWT8FUFJa50dlh+rpoZYogVWp4OP1cpD0ZwkepRITW5?=
 =?us-ascii?Q?RtMj0MAHoYOikuCYXISYmM3RwJDtffy1n51tCAkpEzYa3zKHfdAY79NinAQB?=
X-MS-Exchange-AntiSpam-MessageData-1: u/CBG4NpxQ1E4A==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: de198d34-e5b5-4f53-1752-08decc3fc0f2
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2026 07:12:12.6359
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mICsTuwZJBb5gpKWBHQjhJMawPDehAmaajAYj1XF6ypePPOvolsyB4hkC3dZs8ggXwbBvrzcyOqsGrO1f4o35A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSCP286MB5166
X-purgate-ID: tlsNG-ef75cf/1781680338-0AF76C48-509ED5E9/0/0
X-purgate-type: clean
X-purgate-size: 19114

Parse the 'cpu-map' node in the Device Tree to extract CPU topology
information. If the 'cpu-map' node is absent, fall back to
generating the topology data from the NUMA information. This
generation assumes exactly one socket per NUMA node and that SMT
is unsupported.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/arch/arm/Kconfig                  |  11 +
 xen/arch/arm/smpboot.c                |   5 +
 xen/common/Kconfig                    |   8 +
 xen/common/Makefile                   |   1 +
 xen/common/cpu-topology.c             |  30 +++
 xen/common/device-tree/Makefile       |   1 +
 xen/common/device-tree/cpu-topology.c | 343 ++++++++++++++++++++++++++
 xen/drivers/acpi/Kconfig              |   3 +
 xen/drivers/acpi/Makefile             |   2 +
 xen/drivers/acpi/topology.c           |  38 +++
 xen/include/xen/acpi.h                |   4 +
 xen/include/xen/cpu-topology.h        |  36 +++
 xen/include/xen/dt-cpu-topology.h     |  30 +++
 13 files changed, 512 insertions(+)
 create mode 100644 xen/common/cpu-topology.c
 create mode 100644 xen/common/device-tree/cpu-topology.c
 create mode 100644 xen/drivers/acpi/topology.c
 create mode 100644 xen/include/xen/cpu-topology.h
 create mode 100644 xen/include/xen/dt-cpu-topology.h

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 5fa89fcb24..36574e0ce8 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -101,6 +101,17 @@ endchoice
 
 source "arch/Kconfig"
 
+config ARM_CPU_TOPOLOGY
+	bool "CPU topology support (UNSUPPORTED)" if UNSUPPORTED
+	select CPU_TOPOLOGY
+	help
+	  Retrieve CPU topology information from the device tree or
+	  ACPI PPTT (Processor Properties Topology Table) to optimize
+	  virtual CPU scheduling.
+
+	  Note: Implementation for parsing CPU topology from the ACPI PPTT
+	  is currently missing and will be added in the future.
+
 config ACPI
 	bool "ACPI (Advanced Configuration and Power Interface) Support (UNSUPPORTED)" if UNSUPPORTED
 	depends on ARM_64 && ARM_EFI
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index 7f3cfa812e..fb2cf26424 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -24,6 +24,7 @@
 #include <xen/warning.h>
 #include <xen/irq.h>
 #include <xen/console.h>
+#include <xen/cpu-topology.h>
 #include <asm/cpuerrata.h>
 #include <asm/gic.h>
 #include <asm/procinfo.h>
@@ -242,6 +243,8 @@ static void __init dt_smp_init_cpus(void)
         }
         else
             tmp_map[i] = hwid;
+
+        map_cpuid_to_node(i, cpu); /* pass the info to dt_init_cpu_topology() */
     }
 
     if ( !bootcpu_valid )
@@ -279,6 +282,8 @@ void __init smp_init_cpus(void)
     else
         acpi_smp_init_cpus();
 
+    init_cpu_topology();
+
     if ( opt_hmp_unsafe )
         warning_add("WARNING: HMP COMPUTING HAS BEEN ENABLED.\n"
                     "It has implications on the security and stability of the system,\n"
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 5ff71480ee..6875dd07b3 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -188,6 +188,14 @@ config VM_EVENT
 config NEEDS_LIBELF
 	bool
 
+config DT_CPU_TOPOLOGY
+	bool
+
+config CPU_TOPOLOGY
+	bool
+	select DT_CPU_TOPOLOGY if DEVICE_TREE_PARSE
+	select ACPI_CPU_TOPOLOGY if ACPI
+
 config NUMA
 	bool
 
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 6018e25614..adb406ab5e 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -5,6 +5,7 @@ obj-$(CONFIG_GENERIC_BUG_FRAME) += bug.o
 obj-$(CONFIG_HYPFS_CONFIG) += config_data.o
 obj-$(CONFIG_CORE_PARKING) += core_parking.o
 obj-y += cpu.o
+obj-$(CONFIG_CPU_TOPOLOGY) += cpu-topology.o
 obj-$(CONFIG_DEBUG_TRACE) += debugtrace.o
 obj-$(CONFIG_HAS_DEVICE_TREE_DISCOVERY) += device.o
 obj-$(filter-out $(CONFIG_X86),$(CONFIG_ACPI)) += device.o
diff --git a/xen/common/cpu-topology.c b/xen/common/cpu-topology.c
new file mode 100644
index 0000000000..edf47445ac
--- /dev/null
+++ b/xen/common/cpu-topology.c
@@ -0,0 +1,30 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <xen/cpumask.h>
+#include <xen/cpu-topology.h>
+#include <xen/init.h>
+#include <xen/acpi.h>
+
+void __init init_cpu_topology(void)
+{
+    const unsigned int nr_cpus = cpumask_last(&cpu_possible_map) + 1U;
+
+    cpu_topology = xzalloc_array(struct cpu_topology, nr_cpus);
+    if ( !cpu_topology )
+        panic("Failed to allocate memory for cpu_topology array\n");
+
+    if ( acpi_disabled )
+        dt_init_cpu_topology();
+    else
+        acpi_init_cpu_topology();
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/common/device-tree/Makefile b/xen/common/device-tree/Makefile
index 9036e455d6..38bc5d5306 100644
--- a/xen/common/device-tree/Makefile
+++ b/xen/common/device-tree/Makefile
@@ -1,6 +1,7 @@
 obj-y += bootfdt.init.o
 obj-$(CONFIG_HAS_DEVICE_TREE_DISCOVERY) += bootinfo-fdt.init.o
 obj-$(CONFIG_HAS_DEVICE_TREE_DISCOVERY) += bootinfo.init.o
+obj-$(CONFIG_DT_CPU_TOPOLOGY) += cpu-topology.o
 obj-y += device-tree.o
 obj-$(CONFIG_DOMAIN_BUILD_HELPERS) += domain-build.init.o
 obj-$(filter $(CONFIG_DOM0LESS_BOOT),$(CONFIG_HAS_DEVICE_TREE_DISCOVERY)) += dom0less-build.init.o
diff --git a/xen/common/device-tree/cpu-topology.c b/xen/common/device-tree/cpu-topology.c
new file mode 100644
index 0000000000..af8417b478
--- /dev/null
+++ b/xen/common/device-tree/cpu-topology.c
@@ -0,0 +1,343 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Derived from Linux kernel 7.0's $drivers/base/arch_topology.c
+ * Parse cpu topology information.
+ */
+
+#include <xen/cpumask.h>
+#include <xen/device_tree.h>
+#include <xen/cpu-topology.h>
+#include <xen/numa.h>
+#include <xen/errno.h>
+#include <xen/init.h>
+
+struct cpu_map {
+    unsigned int thread_id;
+    unsigned int core_id;
+    unsigned int cluster_id;
+    unsigned int package_id;
+};
+
+struct cpu_topology *cpu_topology;
+static const unsigned int __initdata invalid_topo_id = (~0U);
+static struct cpu_map __initdata cpu_map[NR_CPUS] = {
+    [0 ... NR_CPUS-1] = {invalid_topo_id, invalid_topo_id, invalid_topo_id, 0U}
+};
+static struct dt_device_node * __initdata dt_cpu_table[NR_CPUS];
+
+static void __init setup_siblings_masks(unsigned int cpuid)
+{
+    struct cpu_topology *cpuid_topo = &cpu_topology[cpuid];
+    struct cpu_map *cpuid_map = &cpu_map[cpuid];
+    unsigned int cpu;
+
+    /* Update core and thread sibling masks */
+    for_each_possible_cpu(cpu)
+    {
+        struct cpu_topology *cpu_topo = &cpu_topology[cpu];
+        struct cpu_map *map = &cpu_map[cpu];
+
+        if ( cpuid_map->package_id != map->package_id )
+            continue;
+
+        cpumask_set_cpu(cpuid, &cpu_topo->core_sibling);
+        cpumask_set_cpu(cpu, &cpuid_topo->core_sibling);
+
+        if ( cpuid_map->cluster_id != map->cluster_id )
+            continue;
+
+        if ( cpuid_map->cluster_id != invalid_topo_id )
+        {
+            cpumask_set_cpu(cpu, &cpuid_topo->cluster_sibling);
+            cpumask_set_cpu(cpuid, &cpu_topo->cluster_sibling);
+        }
+
+        if ( cpuid_map->core_id != map->core_id )
+            continue;
+
+        cpumask_set_cpu(cpuid, &cpu_topo->thread_sibling);
+        cpumask_set_cpu(cpu, &cpuid_topo->thread_sibling);
+    }
+}
+
+static struct dt_device_node * __init dt_find_child_node_by_name(struct dt_device_node *from, const char *name)
+{
+    struct dt_device_node *np;
+    const struct dt_device_node *dt = from;
+
+    dt_for_each_child_node(dt, np)
+        if ( np->name && (dt_node_cmp(np->name, name) == 0) )
+            break;
+
+    return np;
+}
+
+void __init map_cpuid_to_node(unsigned int cpuid, struct dt_device_node *cpu_node)
+{
+    if ( cpuid < NR_CPUS )
+        dt_cpu_table[cpuid] = cpu_node;
+}
+
+static unsigned int __init cpu_node_to_id(struct dt_device_node *cpu_node)
+{
+    unsigned int cpu;
+    bool found = false;
+
+    for_each_possible_cpu(cpu)
+    {
+        found = (cpu_node == dt_cpu_table[cpu]);
+        if ( found )
+            return cpu;
+    }
+
+    return invalid_topo_id;
+}
+
+/*
+ * This function returns the logic cpu number of the node.
+ */
+static unsigned int __init get_cpu_for_node(struct dt_device_node *node)
+{
+    struct dt_device_node *cpu_node = dt_parse_phandle(node, "cpu", 0);
+
+    if ( !cpu_node )
+        return invalid_topo_id;
+
+    return cpu_node_to_id(cpu_node);
+}
+
+static int __init parse_core(struct dt_device_node *core,
+                unsigned int package_id, unsigned int cluster_id,
+                unsigned int core_id)
+{
+    char name[20];
+    bool leaf = true;
+    unsigned int i = 0U;
+    unsigned int cpu;
+
+    do {
+        struct dt_device_node *t;
+
+        snprintf(name, sizeof(name), "thread%u", i);
+        t = dt_find_child_node_by_name(core, name);
+
+        if ( !t )
+            break;
+
+        leaf = false;
+        cpu = get_cpu_for_node(t);
+        if ( cpu != invalid_topo_id )
+        {
+            cpu_map[cpu].package_id = package_id;
+            cpu_map[cpu].cluster_id = cluster_id;
+            cpu_map[cpu].core_id = core_id;
+            cpu_map[cpu].thread_id = i;
+        }
+        else
+        {
+            printk(XENLOG_ERR "ERROR: %pOF: Can't get CPU for thread\n", t);
+            return -EINVAL;
+        }
+        i++;
+    } while ( true );
+
+    cpu = get_cpu_for_node(core);
+
+    if ( cpu != invalid_topo_id )
+    {
+        if ( !leaf )
+        {
+            printk(XENLOG_ERR "ERROR: %pOF: Core has both threads and CPU\n",
+                   core);
+            return -EINVAL;
+        }
+
+        cpu_map[cpu].package_id = package_id;
+        cpu_map[cpu].cluster_id = cluster_id;
+        cpu_map[cpu].core_id = core_id;
+        cpu_map[cpu].thread_id = 0U;
+    }
+    else if ( leaf )
+    {
+        printk(XENLOG_ERR "ERROR: %pOF: Can't get CPU for leaf core\n", core);
+        return -EINVAL;
+    }
+
+    return 0;
+}
+
+static int __init parse_cluster(struct dt_device_node *cluster,
+                unsigned int package_id, unsigned int cluster_id,
+                unsigned int depth)
+{
+    char name[20];
+    bool leaf = true;
+    bool has_cores = false;
+    unsigned int core_id = 0U;
+    unsigned int i;
+    int ret;
+
+    /*
+     * First check for child clusters; we currently ignore any
+     * information about the nesting of clusters and present the
+     * scheduler with a flat list of them.
+     */
+    i = 0U;
+    do {
+        struct dt_device_node *c;
+
+        snprintf(name, sizeof(name), "cluster%u", i);
+        c = dt_find_child_node_by_name(cluster, name);
+
+        if ( !c )
+            break;
+
+        leaf = false;
+        ret = parse_cluster(c, package_id, i, depth + 1U);
+        if ( depth > 0U )
+            printk(XENLOG_WARNING "WARNING: Topology for clusters of clusters not yet supported\n");
+        if ( ret != 0 )
+            return ret;
+        i++;
+    } while ( true );
+
+    /* Now check for cores */
+    i = 0U;
+    do {
+        struct dt_device_node *c;
+
+        snprintf(name, sizeof(name), "core%u", i);
+        c = dt_find_child_node_by_name(cluster, name);
+
+        if ( !c )
+            break;
+
+        has_cores = true;
+
+        if ( depth == 0U )
+        {
+            printk(XENLOG_ERR "ERROR: %pOF: cpu-map children should be clusters\n", c);
+            return -EINVAL;
+        }
+
+        if ( leaf )
+        {
+            ret = parse_core(c, package_id, cluster_id, core_id++);
+            if ( ret != 0 )
+                return ret;
+        }
+        else
+        {
+            printk(XENLOG_ERR "ERROR: %pOF: Non-leaf cluster with core %s\n",
+                   cluster, name);
+            return -EINVAL;
+        }
+
+        i++;
+    } while ( true );
+
+    if ( leaf && !has_cores )
+        printk(XENLOG_WARNING "WARNING: %pOF: empty cluster\n", cluster);
+
+    return 0;
+}
+
+static int __init parse_socket(struct dt_device_node *socket)
+{
+    char name[20];
+    bool has_socket = false;
+    unsigned int package_id = 0U;
+    int ret;
+
+    do {
+        struct dt_device_node *c;
+
+        snprintf(name, sizeof(name), "socket%u", package_id);
+        c = dt_find_child_node_by_name(socket, name);
+
+        if ( !c )
+            break;
+
+        has_socket = true;
+        ret = parse_cluster(c, package_id, invalid_topo_id, 0U);
+        if ( ret != 0 )
+            return ret;
+
+        package_id++;
+    } while ( true );
+
+    if ( !has_socket )
+        ret = parse_cluster(socket, 0U, invalid_topo_id, 0U);
+
+    return ret;
+}
+
+/*
+ * Generate cpu topology information when cpu-map node doesn't exist.
+ * It assumes that the cpu doesn't have SMT and all CPUs on a NUMA
+ * node belong to the same socket.
+ */
+static void __init fixup_topology(void)
+{
+    unsigned int cpu;
+    unsigned int clid = 0U;
+    unsigned int pkgid = 0U;
+
+    for_each_possible_cpu(cpu)
+    {
+        struct cpu_map *map = &cpu_map[cpu];
+
+        map->package_id = cpu_to_node(cpu);
+        if ( map->package_id != pkgid )
+        {
+            pkgid = map->package_id;
+            clid = 0U;
+        }
+        map->cluster_id = clid++;
+        map->core_id = 0U;
+        map->thread_id = 0U;
+    }
+}
+
+int __init parse_dt_topology(void)
+{
+    struct dt_device_node *cpus;
+    struct dt_device_node *map;
+
+    cpus = dt_find_node_by_path("/cpus");
+
+    if ( !cpus )
+    {
+        printk(XENLOG_ERR "ERROR: No CPU information found in DT\n");
+        return -EINVAL;
+    }
+
+    map = dt_find_child_node_by_name(cpus, "cpu-map");
+    if ( !map )
+        return -ENOENT;
+
+    return parse_socket(map);
+}
+
+void __init dt_init_cpu_topology(void)
+{
+    unsigned int cpu;
+
+    BUG_ON(!cpu_topology);
+
+    if ( parse_dt_topology() )
+        fixup_topology();
+
+    for_each_possible_cpu(cpu)
+        setup_siblings_masks(cpu);
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/drivers/acpi/Kconfig b/xen/drivers/acpi/Kconfig
index e3f3d8f4b1..5277b7bf83 100644
--- a/xen/drivers/acpi/Kconfig
+++ b/xen/drivers/acpi/Kconfig
@@ -8,3 +8,6 @@ config ACPI_LEGACY_TABLES_LOOKUP
 config ACPI_NUMA
 	bool
 	select NUMA
+
+config ACPI_CPU_TOPOLOGY
+	bool
diff --git a/xen/drivers/acpi/Makefile b/xen/drivers/acpi/Makefile
index 477408afbe..2c8d64c314 100644
--- a/xen/drivers/acpi/Makefile
+++ b/xen/drivers/acpi/Makefile
@@ -10,3 +10,5 @@ obj-$(CONFIG_PM_OP) += pm-op.o
 
 obj-$(CONFIG_X86) += hwregs.o
 obj-$(CONFIG_X86) += reboot.o
+
+obj-$(CONFIG_ACPI_CPU_TOPOLOGY) += topology.o
diff --git a/xen/drivers/acpi/topology.c b/xen/drivers/acpi/topology.c
new file mode 100644
index 0000000000..7a7042c84e
--- /dev/null
+++ b/xen/drivers/acpi/topology.c
@@ -0,0 +1,38 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <xen/cpumask.h>
+#include <xen/cpu-topology.h>
+#include <xen/init.h>
+#include <xen/acpi.h>
+
+/*
+ * ToDo: Populate the topology information by scanning the ACPI
+ *       PPTT (Processor Properties Topology Table).
+ */
+void __init acpi_init_cpu_topology(void)
+{
+    unsigned int cpu;
+
+    /*
+     * Generate temporary cpu topology information for now.
+     * It assumes that the cpu doesn't have SMT and all CPUs
+     * belong to the same socket.
+     */
+    for_each_possible_cpu(cpu)
+    {
+        struct cpu_topology *topo = &cpu_topology[cpu];
+
+        cpumask_set_cpu(cpu, &topo->thread_sibling);
+        cpumask_copy(&topo->core_sibling, &cpu_possible_map);
+    }
+}
+
+/*
+ * 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/acpi.h b/xen/include/xen/acpi.h
index 2fdf38cf74..3aa4edd20f 100644
--- a/xen/include/xen/acpi.h
+++ b/xen/include/xen/acpi.h
@@ -101,6 +101,8 @@ void acpi_table_print (struct acpi_table_header *header, unsigned long phys_addr
 void acpi_table_print_madt_entry (struct acpi_subtable_header *madt);
 void acpi_table_print_srat_entry (struct acpi_subtable_header *srat);
 
+void acpi_init_cpu_topology(void);
+
 /* the following four functions are architecture-dependent */
 void acpi_numa_slit_init (struct acpi_table_slit *slit);
 void acpi_numa_processor_affinity_init(const struct acpi_srat_cpu_affinity *);
@@ -133,6 +135,8 @@ static inline int acpi_boot_table_init(void)
 	return 0;
 }
 
+static inline void acpi_init_cpu_topology(void) {}
+
 #endif 	/*!CONFIG_ACPI*/
 
 int get_cpu_id(u32 acpi_id);
diff --git a/xen/include/xen/cpu-topology.h b/xen/include/xen/cpu-topology.h
new file mode 100644
index 0000000000..896eefb04f
--- /dev/null
+++ b/xen/include/xen/cpu-topology.h
@@ -0,0 +1,36 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef XEN_CPU_TOPOLOGY_H
+#define XEN_CPU_TOPOLOGY_H
+
+#include <xen/types.h>
+#include <xen/dt-cpu-topology.h>
+
+struct cpu_topology {
+    cpumask_t thread_sibling;
+    cpumask_t core_sibling;
+    cpumask_t cluster_sibling;
+};
+
+
+#ifdef CONFIG_CPU_TOPOLOGY
+
+extern struct cpu_topology *cpu_topology;
+void init_cpu_topology(void);
+
+#else /* CONFIG_CPU_TOPOLOGY */
+
+static inline void init_cpu_topology(void) {}
+
+#endif /* CONFIG_CPU_TOPOLOGY */
+
+#endif /* XEN_CPU_TOPOLOGY_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/xen/dt-cpu-topology.h b/xen/include/xen/dt-cpu-topology.h
new file mode 100644
index 0000000000..334a3181f9
--- /dev/null
+++ b/xen/include/xen/dt-cpu-topology.h
@@ -0,0 +1,30 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef XEN_DT_CPU_TOPOLOGY_H
+#define XEN_DT_CPU_TOPOLOGY_H
+
+#include <xen/types.h>
+#include <xen/device_tree.h>
+
+#ifdef CONFIG_DT_CPU_TOPOLOGY
+
+void map_cpuid_to_node(unsigned int cpuid, struct dt_device_node *cpu_node);
+void dt_init_cpu_topology(void);
+
+#else /* CONFIG_DT_CPU_TOPOLOGY */
+
+static inline void map_cpuid_to_node(unsigned int cpuid, struct dt_device_node *cpu_node) {}
+static inline void dt_init_cpu_topology(void) {}
+
+#endif /* CONFIG_DT_CPU_TOPOLOGY */
+
+#endif /* XEN_DT_CPU_TOPOLOGY_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 07:12:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 07:12:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339817.1600901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZkRi-00023K-3Q; Wed, 17 Jun 2026 07:12:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339817.1600901; Wed, 17 Jun 2026 07:12:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZkRh-00022V-U8; Wed, 17 Jun 2026 07:12:21 +0000
Received: by outflank-mailman (input) for mailman id 1339817;
 Wed, 17 Jun 2026 07:12:20 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wZkRg-0001un-Pm
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 07:12:20 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZkRg-00CS1m-6e
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 09:12:20 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a3248ce-5cb7-0a2a0a5109dd-0a2a4507bf88-22
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 09:12:19 +0200
Received: from [52.101.125.100]
 (helo=TYVP286CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a3248cd-229c-0a2a45070019-34657d648175-5
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 09:12:19 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by OSCP286MB5166.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:34e::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Wed, 17 Jun
 2026 07:12:14 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.009; Wed, 17 Jun 2026
 07:12: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DnzZCOrCcBq0+IO+YTqmeGEQyK6Fshh6s4g7x5+3hsYjNi3Mw8phT1kGRlNRY9FrWeEdTIT7CdJWmpGkn7M7tKaqMwGQTif/lqpyxrM1ZTNsnwqFAThTZhCjMY1CznC3mUUBiCzWrggA2UGYmVET0e/Oy4SgdegwDbQk60qOU+p0SQs7nB4fp68uNeOBpQX6pvG0H8TrLZ7B2RFdPWwPKCZ/hAD4cJWD7OORWOq6/6FmeZ47Sq/Xu8bsBHVXZMlRDJ/6iw5tV+X2uBrOKBqqPRH1bKMqBmtzk3dSPqQiQadFOeVpH+065qEMNcJJtwUwAiJkWBAZt3rW7P9NKSzNZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Nh46NLdxeEeIQno5OW3KrzlC799wkphwGxCHu+nSAvI=;
 b=YCZuilwtPuQ+ljdHNjjMe/q3ukWq4K1Da2okVQC6HMvX3cSUbDX9MhioIVygOwleeeL/W+9esgA7wNl1Gf53kY2mbPUDGIg1+Z1gJmon88uoR3q9bXOvW2b0I7/DhTLCK8NJunsKPBt8C2IxHipp7gAXk4gXEmKInsYXMMnu5KR97Jeif1qhpGDDW71mWff6NBG+6dEzEZGjDy0DhWRW8D5nURDF20beD+ZMtormUtmjoaliIhjzljmEcMLlpFJlFcOF33GqwTzbJ1qPDs59KUQmvFWoNmHtUSXhqp/JcTb/UeBb0UP7CzhC+0iS5ibspwkDBucEaw1wvjrNKMjzPw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Nh46NLdxeEeIQno5OW3KrzlC799wkphwGxCHu+nSAvI=;
 b=RHg7kl3srRsBmbSGPGPvEGEmvLdJw/YVMsmGCS8kR3kX/OAGOIGhjvieEIVFfSUx3tX/edr2x/xe/XVZD6usFLipkp+SRC3+HNAlhnPguHN3kls8uDYuuDy+9xyjQbSKHqSu/2HE5SKW9WvEAxZZ2oLrG6TlmHadMH3OFrgVKf8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Mykyta_Poturai@epam.com,
	Hirokazu Takahashi <taka@valinux.co.jp>,
	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>,
	Dario Faggioli <dfaggioli@suse.com>,
	Juergen Gross <jgross@suse.com>,
	George Dunlap <gwd@xenproject.org>
Subject: [PATCH v2 2/3] xen/sched: Link CPU topology to scheduler
Date: Wed, 17 Jun 2026 16:12:05 +0900
Message-ID: <20260617071206.265599-3-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260617071206.265599-1-taka@valinux.co.jp>
References: <20260617071206.265599-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY6P286CA0032.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:405:3b7::16) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|OSCP286MB5166:EE_
X-MS-Office365-Filtering-Correlation-Id: 30da6583-b44f-4a05-f981-08decc3fc1fc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|23010399003|10070799003|7416014|376014|22082099003|18002099003|56012099006|6133799003;
X-Microsoft-Antispam-Message-Info:
	lv608YHyvvYoxc6BQrEXsiv9qZb1f0Jr0fLAtrkUJ6Ect0jJbvfWOVQwyVc0GIqGwLhzP6N2I40kTxVcuRwuna9e0OOM8lvOZGBmiW+BHfIWcWheAP2eCNO6w3Pr4VnamlTRt9rpv2AXhtBL/F1/nLoilhBSHC5WXO11B5Oxltb/G8b0cfDi7NmcieSQ+iik4VNlVjQgW5vIWIRLeierGsl8HxtERTR7WSP/MA/6/0jaNlqa6VxyQHEB/rgfJ8kJZOEx1a4OgnEPcTlxjpG8abe3Os4+YGS/2DuIzcYY4d1mJNDfl/x9StZHQSphPDNYkuWRauyCCqBAWNEqojJ1Wu1L0p6E9gwhRaA7xBoLgtmasavPX7t1EHUxASPfbaJX1n2suXuXKaSPQs6J+/35c58gtGC+huQHIEOU9S2zMgT4DaP0uCItDOhjNZfPjaqY831hsHHPxgaNYxux46fHI2/vLE0pHmUcLUppxmfTsRdYJfLBYVWy9e3SugCrCrUVDk+GlpLcK9NtcdaFJUb/wPn58a9noGwSldZkuQU76FUN3satKcf+KJireQJk/kSQ/w4czPcIAMBch8NjXEh6FUrOdiYMBrc3cBl1E5UyRzr0f0EIm6pnTE08IFBC+8u3FIKzNQIlIlaVXK58fPQng1yXxVMAK92FxGJa9zf0jeyyOi8T/U73yCCC97njJ9mj
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(23010399003)(10070799003)(7416014)(376014)(22082099003)(18002099003)(56012099006)(6133799003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?sh3+M39Om+KUiTvsMQ3ercYX04+6UsResZGerIZ4fUXaDtHzETD6wyrdHMbc?=
 =?us-ascii?Q?qdTgaUDCBxUBqx7dXXIJTxfHkxKkl8UuxAqkXdIweTDrbBhjoLkGXaH5A1CQ?=
 =?us-ascii?Q?JB8/IBZxk7ZOlF8bniU5miiXroz92uapd/GGhyqtpwF91z1jBKD8qWSvn4fq?=
 =?us-ascii?Q?qwII/UtnNuPZLD79GxrSEO9wQPfClJhT2pvFcpynKJmX0dXlobje7lKuHsyB?=
 =?us-ascii?Q?RRpoNYYIZZS4341dA85orLoFxrtHn9tbVKnxQqKd5bIPgYXwoYRUyJd7XY/U?=
 =?us-ascii?Q?KXCsRvHwn+WVGhmC7Z6pVIT6om2jt0cc3uf4p7ONiNPw1QRzkkV1yX+tnszL?=
 =?us-ascii?Q?VkadcOI44hlLFk/raZFQpgLBjOhdq3JX5IzUwc8KFQNyRlWka9f1yH5/24yl?=
 =?us-ascii?Q?anY3KX3SdwA+UGja8sh28TuFzPl/v532agpgAHIgmloR2lTtIc2T6cHtHVD/?=
 =?us-ascii?Q?5koZpo2UQrSr+Xvj6kGhMF90q6QN7jrzJOlKPq7l0Lk9VY7wIQh8jFlZd2zI?=
 =?us-ascii?Q?hYL109DMe4PVmLIUbVbZXWp8Sl52vETMf5zzL/kFy40Qrcw7ioG0aYP9vN7X?=
 =?us-ascii?Q?AX5MJxbjyAthjDipI9hk2NfVQm/nFqPncefHazDMowKHWUIdAWGD0DmMPbit?=
 =?us-ascii?Q?zK3UTtEcfoDXSX60RJDYqIAPnMz0O320KmuY7hc/4cRnEC1X3fcH29WfVNky?=
 =?us-ascii?Q?iTGhEXPIOzig1wiHeS0EH9myLrHFHaErmM8SHdKQSE2JGCtzkKoSsQmgxFJ0?=
 =?us-ascii?Q?TS3Phpw7zOX4wJU1PCoVUYpc09IL7CzO1RpiMdtMlXj7A0W8p6EUeW0zQ44E?=
 =?us-ascii?Q?5mGR4kD4bgNCXOmpuT+cllXlgoibxYF2cGb79G1od3Ntr+u41u37FMUKt/bH?=
 =?us-ascii?Q?sKqAepTMLI525sfiIAPTkZ0vNfRZzfGAtI/qK2Nh9G4vQn0fA30z+OvRpaQF?=
 =?us-ascii?Q?+sziKo+swUmHD2tFf00WwtYP6Z6AmBgzzLZOO4Xl30aRHrrH3Uzoo/tFvrEv?=
 =?us-ascii?Q?Pxd6yuZRcuuREieftr2OLZaFvaGVqEBZEAZkRrkWADv3SIiek3/p5xnlK3np?=
 =?us-ascii?Q?1JWOlj69ETotuuuIxvyWL/he6YGy681x7fuXTjA9EOaUiSbOD+NbBSPwGMwk?=
 =?us-ascii?Q?uHFQQ1Yz9bGcpl2LBhmVS//bK5SqWbKIR+rEp+TRmDXivDff9jNtBjKKP0mv?=
 =?us-ascii?Q?IgVxzf5fTVLzLGugaaim1wttcSke4yWepF94Xe1GuSB4BzEmdcK8NTICzQ+G?=
 =?us-ascii?Q?plgML6/F44d8tvhWSWvLzse5kowmcQci7Ko/d92XzubzUmbRZGAMkksY88dZ?=
 =?us-ascii?Q?M7VZp0+51QP6VWEnhN8l79fTL4qP0XoLl+S8GLGJgP+e+cUGOAGP6aAr8WM9?=
 =?us-ascii?Q?Feb05VgV5pVSRFwv5eQa+7sG2RI495N66s6NXVC0zHXDgMARkwFbBMO30l/x?=
 =?us-ascii?Q?jQVStEBN2R2VFftfYSGifTUW1tLlJC85QGoPansKB/q55qQnVtbH7N87juDq?=
 =?us-ascii?Q?kWL6+r9b+q57zofx6p6Wm3ob1355YNPjjYhiK6ktmzD86Rr9kvVAeDPYX7P5?=
 =?us-ascii?Q?22hmpvAI0VYTbOSwV+5ecJ9oLVT20P4GHW+16HzgBUme/vfAQoitjQU9gJL1?=
 =?us-ascii?Q?bJhAcJvxlX8toX+fNbYi2ENQ6LCr4gqoMEbBQAtmN18Qq04y9s1AOBqko3dc?=
 =?us-ascii?Q?BcGDyyx8RQS7TlhPQ4dQup8H7F8I3+dqne/uvoNXEmfTDjS4sv+/TuQaEqzX?=
 =?us-ascii?Q?aVhfW/8TMWLJs3JW9z2MXt/2HHFosCDgd7UQ4jdseBf+489ONUoBbyuEq7y0?=
X-MS-Exchange-AntiSpam-MessageData-1: phrGcVrkL7C0mA==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 30da6583-b44f-4a05-f981-08decc3fc1fc
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2026 07:12:14.3667
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1YWd0IB9ri/J1sxlkD9zBKeMbwUENfriXRTOiJL+DWagCN5jIJnvTe4HYKkDtjdhQvhzX6SX9qVG2fInVpZLJA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSCP286MB5166
X-purgate-ID: tlsNG-ef75cf/1781680339-21165C48-AAB49A88/0/0
X-purgate-type: clean
X-purgate-size: 6884

Make CPU topology information available to the Xen scheduler.
Additionally, ensure that this topology information is displayed
when executing the 'xl info -n' command.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/arch/arm/include/asm/processor.h  |  4 ---
 xen/arch/arm/smpboot.c                | 10 ++++--
 xen/common/device-tree/cpu-topology.c | 51 +++++++++++++++++++++++++++
 xen/common/sched/credit2.c            |  3 ++
 xen/common/sysctl.c                   |  1 +
 xen/drivers/acpi/topology.c           |  3 ++
 xen/include/xen/cpu-topology.h        | 10 ++++++
 7 files changed, 75 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/include/asm/processor.h b/xen/arch/arm/include/asm/processor.h
index a3753c317f..41fa73cfc4 100644
--- a/xen/arch/arm/include/asm/processor.h
+++ b/xen/arch/arm/include/asm/processor.h
@@ -613,10 +613,6 @@ void show_stack(const struct cpu_user_regs *regs);
 
 #define cpu_relax() barrier() /* Could yield? */
 
-/* All a bit UP for the moment */
-#define cpu_to_core(_cpu)   (0)
-#define cpu_to_socket(_cpu) (0)
-
 struct vcpu;
 void vcpu_regs_hyp_to_user(const struct vcpu *vcpu,
                            struct vcpu_guest_core_regs *regs);
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index fb2cf26424..4a3f1149f6 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -91,13 +91,17 @@ static int setup_cpu_sibling_map(int cpu)
          !zalloc_cpumask_var(&per_cpu(cpu_core_mask, cpu)) )
         return -ENOMEM;
 
+#ifdef CONFIG_CPU_TOPOLOGY
+    cpumask_copy(per_cpu(cpu_sibling_mask, cpu), &cpu_topology[cpu].thread_sibling);
+    cpumask_copy(per_cpu(cpu_core_mask, cpu), &cpu_topology[cpu].core_sibling);
+#else /* CONFIG_CPU_TOPOLOGY */
     /*
-     * Currently we assume there is no multithread and NUMA, so
-     * a CPU is a sibling with itself, and the all possible CPUs
-     * are supposed to belong to the same socket (NUMA node).
+     * If CONFIG_CPU_TOPOLOGY is disabled, it is assumed that
+     * all CPUs reside in the same socket and that SMT is not used.
      */
     cpumask_set_cpu(cpu, per_cpu(cpu_sibling_mask, cpu));
     cpumask_copy(per_cpu(cpu_core_mask, cpu), &cpu_possible_map);
+#endif /* CONFIG_CPU_TOPOLOGY */
 
     return 0;
 }
diff --git a/xen/common/device-tree/cpu-topology.c b/xen/common/device-tree/cpu-topology.c
index af8417b478..39c11ad5c6 100644
--- a/xen/common/device-tree/cpu-topology.c
+++ b/xen/common/device-tree/cpu-topology.c
@@ -319,6 +319,55 @@ int __init parse_dt_topology(void)
     return parse_socket(map);
 }
 
+static void __init setup_cpu_topology_ids(void)
+{
+    unsigned int cpu;
+    unsigned int next_core_id = 0U;
+    unsigned int next_cluster_id = 0U;
+    unsigned int next_socket_id = 0U;
+
+    for_each_possible_cpu(cpu)
+    {
+        unsigned int first_cpu;
+        struct cpu_topology *topo = &cpu_topology[cpu];
+
+        first_cpu = cpumask_first(&topo->thread_sibling);
+        if ( first_cpu == cpu )
+        {
+            topo->phys_core_id = next_core_id;
+            next_core_id++;
+        }
+        else
+            topo->phys_core_id = cpu_topology[first_cpu].phys_core_id;
+
+        /* Reuse the calculated core id if clustering is not supported */
+        if ( cpumask_empty(&topo->cluster_sibling) )
+            topo->phys_cluster_id = topo->phys_core_id;
+        else
+        {
+            first_cpu = cpumask_first(&topo->cluster_sibling);
+            if ( first_cpu == cpu )
+            {
+                topo->phys_cluster_id = next_cluster_id;
+                next_cluster_id++;
+            }
+            else
+                topo->phys_cluster_id = cpu_topology[first_cpu].phys_cluster_id;
+        }
+
+        first_cpu = cpumask_first(&topo->core_sibling);
+        if ( first_cpu == cpu )
+        {
+            topo->phys_socket_id = next_socket_id;
+            next_socket_id++;
+        }
+        else
+            topo->phys_socket_id = cpu_topology[first_cpu].phys_socket_id;
+
+        topo->num_siblings = cpumask_weight(&topo->thread_sibling);
+    }
+}
+
 void __init dt_init_cpu_topology(void)
 {
     unsigned int cpu;
@@ -330,6 +379,8 @@ void __init dt_init_cpu_topology(void)
 
     for_each_possible_cpu(cpu)
         setup_siblings_masks(cpu);
+
+    setup_cpu_topology_ids();
 }
 
 /*
diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c
index 77475ee363..cd8b7212bc 100644
--- a/xen/common/sched/credit2.c
+++ b/xen/common/sched/credit2.c
@@ -19,6 +19,7 @@
 #include <xen/softirq.h>
 #include <xen/time.h>
 #include <xen/trace.h>
+#include <xen/cpu-topology.h>
 
 #include <asm/div64.h>
 
@@ -37,6 +38,8 @@ static unsigned int cpu_nr_siblings(unsigned int cpu)
 {
 #ifdef CONFIG_X86
     return cpu_data[cpu].x86_num_siblings;
+#elif defined(CONFIG_CPU_TOPOLOGY)
+    return cpu_topology[cpu].num_siblings;
 #else
     return 1;
 #endif
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index 5207664252..81a68fe24c 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -28,6 +28,7 @@
 #include <xen/pmstat.h>
 #include <xen/livepatch.h>
 #include <xen/coverage.h>
+#include <xen/cpu-topology.h>
 
 long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
 {
diff --git a/xen/drivers/acpi/topology.c b/xen/drivers/acpi/topology.c
index 7a7042c84e..301ee0dafa 100644
--- a/xen/drivers/acpi/topology.c
+++ b/xen/drivers/acpi/topology.c
@@ -22,6 +22,9 @@ void __init acpi_init_cpu_topology(void)
     {
         struct cpu_topology *topo = &cpu_topology[cpu];
 
+        topo->phys_core_id = cpu;
+        topo->num_siblings = 1U;
+
         cpumask_set_cpu(cpu, &topo->thread_sibling);
         cpumask_copy(&topo->core_sibling, &cpu_possible_map);
     }
diff --git a/xen/include/xen/cpu-topology.h b/xen/include/xen/cpu-topology.h
index 896eefb04f..3fdbc25e8e 100644
--- a/xen/include/xen/cpu-topology.h
+++ b/xen/include/xen/cpu-topology.h
@@ -10,6 +10,10 @@ struct cpu_topology {
     cpumask_t thread_sibling;
     cpumask_t core_sibling;
     cpumask_t cluster_sibling;
+    unsigned int phys_core_id;
+    unsigned int phys_cluster_id;
+    unsigned int phys_socket_id;
+    unsigned int num_siblings;
 };
 
 
@@ -18,10 +22,16 @@ struct cpu_topology {
 extern struct cpu_topology *cpu_topology;
 void init_cpu_topology(void);
 
+#define cpu_to_core(cpu)   (cpu_topology[cpu].phys_core_id)
+#define cpu_to_socket(cpu)   (cpu_topology[cpu].phys_socket_id)
+
 #else /* CONFIG_CPU_TOPOLOGY */
 
 static inline void init_cpu_topology(void) {}
 
+#define cpu_to_core(cpu)   (0U)
+#define cpu_to_socket(cpu) (0U)
+
 #endif /* CONFIG_CPU_TOPOLOGY */
 
 #endif /* XEN_CPU_TOPOLOGY_H */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 07:12:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 07:12:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339818.1600916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZkRk-0002Y1-HA; Wed, 17 Jun 2026 07:12:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339818.1600916; Wed, 17 Jun 2026 07:12:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZkRk-0002Xu-E8; Wed, 17 Jun 2026 07:12:24 +0000
Received: by outflank-mailman (input) for mailman id 1339818;
 Wed, 17 Jun 2026 07:12:22 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wZkRi-0002FZ-Ku
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 07:12:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZkRi-00CS1m-1d
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 09:12:22 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a3248ce-5cb7-0a2a0a5109dd-0a2a4507bf88-26
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 09:12:21 +0200
Received: from [52.101.125.100]
 (helo=TYVP286CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a3248cd-229c-0a2a45070019-34657d648175-6
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 09:12:20 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by OSCP286MB5166.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:34e::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Wed, 17 Jun
 2026 07:12:16 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.009; Wed, 17 Jun 2026
 07:12:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=c/h2+bgeqLbEgFpdnSBC/dP41RVd3zHUjGAc54s3npr69oYHhdEmsFc28yTZg48nKe9Y7bAD/AiYPk08GwtLbOxPN8O0rpZ0cwXenDUepRlRu45XQ6NBmxBIE3mG/t9bgTDfXFlWMPddKcMd3fKFgtzf3P/LAtCaB1NyZO+dPQQDoW3ArsmBgXDRtZUj3rjijCgVzRK/vkXNIBqbrO28Q0QK57Mgph18PY1mkSwDWUh4msiM4V1yXyzRCK03ho8qR/tQxh/J7w8UNXvzuMGku2tzJdhBoFrh7DnAxAFDmVY9yBB+gnXw+BeyZ/jQOltqGwjuJHhK3/wxQgGASoss5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=k2KTn+T1/dWiIJ4PgQ6w6uI7w9H8uIIvL/CHANCwHAM=;
 b=HUpbhzcwAgFizpBVSHxA9f/pdoIvaF4BCdI3xy5pzbsqoKQMPNbGH4sIXRJFcsGci133Zk6OVHtUiqD5MYRNmDPBcgCuBOCD7nPnIK2ERSim0HvYbzLQp4q2bfJAhocJmsVc2LkE6Dg9DZF4HY1MteyhnkzfiUBQS5nqY7xgugoyEtTJOvo4dMi7a57mn1klVfvI+v4roa+WC4f6Y8mOSYCu8MXlCLQw8JQywlnrPoag/2L7wvMkLIENkNMCi0T81w5rEYaOyTWRU5rin3H1NsCRWKnH0Zf1fzGYapbyTNmoyqyuDU9m8ykaPiB4AcMPVYbLT5n0qSKcEw7hiyWcTA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=k2KTn+T1/dWiIJ4PgQ6w6uI7w9H8uIIvL/CHANCwHAM=;
 b=JBS1GEuOTsluwOO9fLpvbFO+8rAKJh7HilzGoEEaneoY33u0HYHzxFrkOrGcVfUPR+t6EeWeRqCivEiU49wNhvp64veBaSz6YyL/xDULT8E/P97ztV2lNRukXpm3Tx1VbpGAWMTY691QvJE8kLAOC7GqlyMdedQRTpYA8U3q5/k=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Mykyta_Poturai@epam.com,
	Hirokazu Takahashi <taka@valinux.co.jp>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	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>
Subject: [PATCH v2 3/3] xen/sched: Make cpu_nr_siblings() architecture-specific
Date: Wed, 17 Jun 2026 16:12:06 +0900
Message-ID: <20260617071206.265599-4-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260617071206.265599-1-taka@valinux.co.jp>
References: <20260617071206.265599-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY4P286CA0008.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:405:26d::15) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|OSCP286MB5166:EE_
X-MS-Office365-Filtering-Correlation-Id: 9bf16b32-487b-4d7d-fdd9-08decc3fc2ed
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|23010399003|10070799003|7416014|376014|22082099003|18002099003|56012099006;
X-Microsoft-Antispam-Message-Info:
	GBxlGdtgOAFVEHmhjWaflITYFupOwLbwOnQdJf9uQLFSRuKWUjNHA1BS7RZ5CMPP9Y6PxIggG6yw690vhoTWC6/LQne8IF/sNHUOM7P2sF2RzICChMsBWMBJlEp+xfFS00Kg8iUmZwM2TEmXe5FjOdZKeu52ccPNXdcXE6tGac3Z+WDuLTMxjxatXMkuTjBdOtg0oKmEiCRuE9Pk/UUxznKPmrv5Vb/5woacqVCY2/wz2d/hOzCM/92bkgYNR+57UybBTSJL0GWLCJsUqxkxC3k3EDJRbJSRPmQl/d9jQcjbMryLgpbUTjMdpw5O0DRMmWuSXY1r3ZqF39m9w+gXzFrM3Vhb9g3pHr1yJ6sqIsVc+O6wGjF+myMiCuqjid86591+KEi6Moruj4O2Cj3S1nMjRBlCbBG/PM4xyZ+QQRJMsPZKTR0bemanngqGDlHeMkzXTByJbgWxWNESLckbOTScn9pmw3Bwqr0wlVlnFVGmrYrUpiA5ROJ5GcQFFCz1XCrPQ9/bHeAO/z9p5q7c8d/dnrXwUChoiJ3sOEesat9wTzGPqS0IMJRnwGd7RBEWNs5yQCe4Zt/MBrgMcy6uwGFY0yZDFI8gp+h+1sMBCpjSwDgYqVxj3WDULxPtzNVlb7UP1yyFJn6LyHTeHEjDrIE1ZRG1T7/qXU1dxV6cgoQ1HQ6QrdrRuM3Lj5xAeKyP
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(23010399003)(10070799003)(7416014)(376014)(22082099003)(18002099003)(56012099006);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?mwH1gbLRUjDdj6EkY8DRgd2GI9RJ6onISq20dtGffA3A6u2dbkR7Xr69rxno?=
 =?us-ascii?Q?mMX4T5gekYDEtB1JZI7Atp0q3CYH74pfJvBP+d9V5fOvuEcKwbCqjlTsnimK?=
 =?us-ascii?Q?RvicmFimEoJ5tuXY1kLQowzbl6kMeNw1fkVX0UPqSRpXIy2G/8aj6t37wCId?=
 =?us-ascii?Q?s+QIJxguDSKQg0ZPSzXeQQ1ITnv9hrBtXypHHbEzRDpAnHkcUBc7EQ8eonpU?=
 =?us-ascii?Q?e2udK9qiER3bHqmVgIRkAR5XZ/YbGwbxM3YnRWS32Skne3UkgqtlfkWct2eJ?=
 =?us-ascii?Q?reb8M2BvgcULOJv7/h9vgnNhj28Wlc6RICLyTnmrG339x5LoIt3lHncRGnqo?=
 =?us-ascii?Q?AkQPE3kWJwizUT9z0uyvC9TYtEiZUQDNnpSjhO5kMlmpjXxJKa0pp9j/fFcH?=
 =?us-ascii?Q?J7L/3t5OiNYCqc3n9GYKNRkkcFOtT4ZXXhn27JzpjsS9DHkkB00Diqcf1Uva?=
 =?us-ascii?Q?Xowq/AdWTOFBVoo7WWKdNAaMqaIQ4PEzYzQDtWzHpKIrBDZslYRvmfVdkGKp?=
 =?us-ascii?Q?uCjHM1UxiCIeVPUJHggYuM/uIh+cZQ/q9TB6szg7f0ZIRiN/WanXFkXxrmZc?=
 =?us-ascii?Q?AMWkuY0YCHEjuaiSwO60mh8pZnX+Bk7ufsRJakedjUgYOSQbXzusMUs4s7HF?=
 =?us-ascii?Q?dSO0vBL/3xv8TCUYbJaCMPjE6i3pv2rKQLacd5KQ75vX5MRgYn+87Ln/GHik?=
 =?us-ascii?Q?yiBLOpSUjGUW1Jcwnqiobw+uSvEh41l7//XQiIZ7zdgbutUPntWg7q1SMJK7?=
 =?us-ascii?Q?7ivGS7CSjkFIQzd4/2WAh90ivm8AJShfP32UKbfMEXilj/HMk3S/iP6T3FLt?=
 =?us-ascii?Q?G7u/jhV8Eo2KS9Cz99t21ABE/Gty5gy8mCBQhQOaX+w+M5GaDJtn3gJSIlfT?=
 =?us-ascii?Q?O3q8TG2CxT6RS8IpRL7wMM+loCD53wzI8nSG8h/QEoDYrIiAEFFO8OBtSZec?=
 =?us-ascii?Q?mwl27jUbHZIcGHo3SGw3sz7RUE2jb56vyz5qpiVFimk1ld+VhnTXh7YtrT+B?=
 =?us-ascii?Q?YuwfDEQidyWLVjThX/+A4KwO8m6Bf2bJjJBAFDaff2xJEoS00gJEJV66H9NU?=
 =?us-ascii?Q?4IP0jnBKCHL6UlDbVheOSTXGfIWBsv3aZNgIpXq2ZOxgTYPBIaqoS0HbtNEC?=
 =?us-ascii?Q?cOwDPF0z/3SUyOq5Y4RM6AUKP4vtl1zyqlJpbceLIFURGPrcTenKInEKYrNQ?=
 =?us-ascii?Q?v2Oys1PTkmYD4FJCTi80b2rQ9ohbm6sOXrd2g7VXrozw+LgJbbvzLOyOXrGx?=
 =?us-ascii?Q?zR02ueluItkJ4U6nU5qFFuudDFbpaRFNouvK+bWe7ilfDDY5Q1OEr0kXf04p?=
 =?us-ascii?Q?6MQE0nwEIhSJgUiidiCgJiNNEAiIOVwJ8m7BReT4IjobO1BklIs20CuZYKNc?=
 =?us-ascii?Q?omsrqWYyFXQ36Goc+9XG6/9FAIkHf/2xUwM2fuh+zxG4ZQeS1I9Rx1b/sTNs?=
 =?us-ascii?Q?QT12QPmuzqWNBpkdUWRiNTNIKyecXBkDS/jIO8NHOiKQOLhxKvFBQUDJMDp2?=
 =?us-ascii?Q?QemQ1OSKnlY/64s0Fb48Sy8fIXfvp5EIXqpv1NoiQddZUS6ZnUzGFolJxzWz?=
 =?us-ascii?Q?JU+o60XLf4wkWSocun/JK+TOKSF8r8cxrqdP1X2zsIbr4r1vsSfgWCEtyqvD?=
 =?us-ascii?Q?OUwLnDr6bSklZBBLJYJyB32GCJuiGr9iay9kcR9xcWIr3Svu2qPDWGvdCRTH?=
 =?us-ascii?Q?oYOKcyY++UbxhK0ZM3AYoSNwW6yiUkcb9Boutyt7SDgEqaCbdYnp6wQUf2Cj?=
 =?us-ascii?Q?xlfFoLrO8VX8PUgzl0STNjv15bbLszLTDz6KrIZazIl5U2xncFzMtBeKDyQE?=
X-MS-Exchange-AntiSpam-MessageData-1: hQ3eQB43x2EPIA==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 9bf16b32-487b-4d7d-fdd9-08decc3fc2ed
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2026 07:12:15.9389
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: E8HoE2elwqm7fwW+Zl8Lp9UioY6ANjBC0M2LqkicMajv5lkOD434BtBkVaQMQwoDaVeLS2yudG8TjKeH/8PezA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSCP286MB5166
X-purgate-ID: tlsNG-ef75cf/1781680341-0A971C48-C0205E46/0/0
X-purgate-type: clean
X-purgate-size: 3169

Make cpu_nr_siblings() an architecture-specific function.
This patch provides the implementation for x86 and a common
version for Device Tree-based architectures.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/arch/x86/include/asm/processor.h |  1 +
 xen/common/sched/credit2.c           | 22 +++-------------------
 xen/include/xen/cpu-topology.h       |  2 ++
 3 files changed, 6 insertions(+), 19 deletions(-)

diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index 8ca6799a81..9758060129 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -106,6 +106,7 @@ extern void intel_init_arat(void);
 
 #define cpu_to_core(_cpu)   (cpu_data[_cpu].cpu_core_id)
 #define cpu_to_socket(_cpu) (cpu_data[_cpu].phys_proc_id)
+#define cpu_nr_siblings(_cpu) (cpu_data[_cpu].x86_num_siblings)
 
 unsigned int apicid_to_socket(unsigned int apicid);
 
diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c
index cd8b7212bc..7623e57549 100644
--- a/xen/common/sched/credit2.c
+++ b/xen/common/sched/credit2.c
@@ -29,22 +29,6 @@
 /* #define d2printk printk */
 #define d2printk(x...)
 
-/*
- * TODO: Abstract this properly, and figure out what Credit2 wants to do with
- *       the fact that x86_num_siblings doesn't even have the same meaning
- *       between x86 vendors.
- */
-static unsigned int cpu_nr_siblings(unsigned int cpu)
-{
-#ifdef CONFIG_X86
-    return cpu_data[cpu].x86_num_siblings;
-#elif defined(CONFIG_CPU_TOPOLOGY)
-    return cpu_topology[cpu].num_siblings;
-#else
-    return 1;
-#endif
-}
-
 /*
  * Credit2 tracing events ("only" 512 available!). Check
  * include/public/trace.h for more details.
@@ -882,9 +866,9 @@ cpu_runqueue_match(const struct csched2_runqueue_data *rqd, unsigned int cpu)
 
 /*
  * Additional checks, to avoid separating siblings in different runqueues.
- * This deals with both Intel's HTs and AMD's CUs. An arch that does not have
- * any similar concept will just have cpu_nr_siblings() always return 1, and
- * setup the cpu_sibling_mask-s acordingly (as currently does ARM), and things
+ * This deals with Intel's HTs, AMD's CUs and ARM's SMT. An arch that
+ * does not have similar concept will just have cpu_nr_siblings() always
+ * return 1, and setup the cpu_sibling_mask-s accordingly, and things
  * will just work as well.
  */
 static bool
diff --git a/xen/include/xen/cpu-topology.h b/xen/include/xen/cpu-topology.h
index 3fdbc25e8e..3f748f0384 100644
--- a/xen/include/xen/cpu-topology.h
+++ b/xen/include/xen/cpu-topology.h
@@ -24,6 +24,7 @@ void init_cpu_topology(void);
 
 #define cpu_to_core(cpu)   (cpu_topology[cpu].phys_core_id)
 #define cpu_to_socket(cpu)   (cpu_topology[cpu].phys_socket_id)
+#define cpu_nr_siblings(cpu) (cpu_topology[cpu].num_siblings)
 
 #else /* CONFIG_CPU_TOPOLOGY */
 
@@ -31,6 +32,7 @@ static inline void init_cpu_topology(void) {}
 
 #define cpu_to_core(cpu)   (0U)
 #define cpu_to_socket(cpu) (0U)
+#define cpu_nr_siblings(cpu) (1U)
 
 #endif /* CONFIG_CPU_TOPOLOGY */
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 07:12:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 07:12:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339815.1600890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZkRh-0001vA-HT; Wed, 17 Jun 2026 07:12:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339815.1600890; Wed, 17 Jun 2026 07:12:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZkRh-0001v3-EW; Wed, 17 Jun 2026 07:12:21 +0000
Received: by outflank-mailman (input) for mailman id 1339815;
 Wed, 17 Jun 2026 07:12:20 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wZkRe-0001uV-UE
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 07:12:20 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZkRd-00CRyc-Hd
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 09:12:17 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a3248ce-5cb7-0a2a0a5109dd-0a2a4507bf88-4
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 09:12:16 +0200
Received: from [52.101.125.100]
 (helo=TYVP286CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a3248cd-229c-0a2a45070019-34657d648175-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 09:12:15 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by OSCP286MB5166.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:34e::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Wed, 17 Jun
 2026 07:12:10 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.009; Wed, 17 Jun 2026
 07:12: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NxHXBsgOoXjoyDk6O1l0eGLyZOZn8MQRE6jAeJ3Q+Jhk7ydNmuO82xzjSFDb94zZvkAEtTAZxlZGPgPaXeJkxXcZKOU7OmHsiaRA7aVQh+yWOxv8bhYiOsycvhdV+9qV8gt6m9/pNJOV3Hp/TSBsxnTHCIrdCmEtDuDWBSAwlDCQaootohdA/Lq2r5Zww+Sgufe/tbsqXWzwnz8hsWqLkkbjGyvZqavQHnca9Qq9OLiuLggzGv/tbNz9er5pyy85ECNAg7loLQ1v7Pf57eC7a+aqIrrPh1IMSR903dwid20KittTLyfgWr/2d9Tnx09U+B0GkuNrRsWf/vb5X6R9mg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wrvMnlsbLcf6hVm7dzLutZZx8hyZIVvC1XpWfdLPeg0=;
 b=bHN/tZXejHRJTTiBBHTxDeaJQkB4RgJLVlwz+th7Vhtx0jU9brUMGb4vT+qYeQzV1A9lPMFG1zcW/kTIRjCPZ7SUkTy3ilBPMWxCHzKYQoghNAkKb/yYX94awynTVuF0iOiLgWMpSlyZ+xYK5SmJC1PdmFaH0vvYjkf5n+u8fAduR/yzMOwa9NhWkAn9tivtYyt3zo0wh5CqiYvYteuzvJnRxooAJ+qgPrancImbHgPzRF4mvfKUEyPgD1doe+jAeaYUZqJUImELnGWCOeZ8jh/+V0zk2iMk9iRQskxVyFqjM59p4XXKgI28c/5wE/XBwIBgtyFl7f8NjLCHqntCLA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wrvMnlsbLcf6hVm7dzLutZZx8hyZIVvC1XpWfdLPeg0=;
 b=UvE3c/4DOk/5X1AYKsFdvnJOMo2IcKr/MIvcTNvFG9upufrrRCxZXDkzX46LHBEyjnGO+xWodKAe5rzD2BpwsFeWDN4Irwsa6Thy+hCzKhAikGFy+mM+QNm9Cp3BdIndlCOYbGUEBCD4e2HOipJbZSZphkWfpUbIExKzmTKPhCs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Mykyta_Poturai@epam.com,
	Hirokazu Takahashi <taka@valinux.co.jp>
Subject: [PATCH v2 0/3] xen/arm: Device Tree based CPU topology support
Date: Wed, 17 Jun 2026 16:12:03 +0900
Message-ID: <20260617071206.265599-1-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY6P286CA0036.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:405:3b7::10) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|OSCP286MB5166:EE_
X-MS-Office365-Filtering-Correlation-Id: 108cefe0-dd33-4aaa-d24d-08decc3fbfd0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|23010399003|10070799003|376014|18002099003|56012099006;
X-Microsoft-Antispam-Message-Info:
	JYwVZQE3iYQ/J00G2viDSYw+7fVRmUVGI1hcKH4ZYnzntl+IrLGO1KoKjUJB9eIn1l30sr8HILq3PdP4USBF+cn2BFr1jZKk6VKVnNJ3MXyxrcjPvmZ2wRg/K48b9b5FH1Ox4vFvEUyGWCyTjvDOVN28QN4l+Hs2RL70Bfv6zNBlnV27HSrohaH1w/X7ZVc1XdydwVBW82C28+NfciJxx2j1jiweOLbWbL6+qZATqG4AyKGEFQnBkhjL/Mx90jBxchMNdzVCaXTnDhRARqBjcnvJ/lIBJP5vTMgmxOrMA4A1aWuVSpf0E+i8sQN8IaDVVZXbvQ3MxRDgwiZj89YABd4ef4aSOdC8mNN/zV5YmJlgkI2vyMuL5fhSMGUlJ7MYp6ZEDbc2a98Z0qwtMaWuah2F1vdlov+8LDbd+8gIOBKolWuaTpENCI1wUsiIRIZ82+APrhWTrED3hRyZvws0fhp1f6jOvrMjC86CjobcjvnkXmI4loYxDsFjmS8g0jAZcXMMAfV6tGjrenaA98Pg5QRJ6H8k8AntVvZht0QMLvcPnBJPpxX8VbNX2cZOpPltvHRT/wzX2y/4R7jT6lVP6sxIAa/gA/Zee579xsqjKprQphkl9HvCRmFWLrJZgbUJ4NbSUg7sq+kBJUMvcxTft+rXxOA3SldfXzgnivLKUAzrbB2jgpGcIwvmAK0bFMpM
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(23010399003)(10070799003)(376014)(18002099003)(56012099006);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?fGoWXYChP3evONTqt3zLCYORfchlCtwTIYB4UpX0vmlmAAy69Bo2/EGCfVbh?=
 =?us-ascii?Q?1dgWo5jM4o7s7WEWG8+kW6GuPJR3NTMYftmQr/9MQMLNV1E0eOCp2W3GfyDM?=
 =?us-ascii?Q?duRjSC36vFMisYA31CDMQWdyk/se21nu2In9cPW/MekP90+9FUwepeGKZd+1?=
 =?us-ascii?Q?h95676BY1qRVctLNmEiCEnfEm0MRV3gufUWUD15+/JshsHVbRV1HzQWIwp4x?=
 =?us-ascii?Q?FTAHXdSQjNKrHI/lS7OSzVheuMCDvZB2Ks/HuDsp7wS788hjOZX22CeclEov?=
 =?us-ascii?Q?10fyeY9CHTiCZmxAJC+wFBIot5sPtA2B+h+43PaHJWRwqNUOT+WSE/iVycxw?=
 =?us-ascii?Q?vvYDLLptBaKgjNQYZtz0i37i9oJ4Uc3VPn4t/UxzFgouxWmAjTeFnc5PnzG/?=
 =?us-ascii?Q?9m3AV9x5hRRb9Qypz6RQDAdS6F/5L940v9bhXlJc4Lu7H5T8BUzTjiTNEzM8?=
 =?us-ascii?Q?rYpqjmKKi1zFnai1jjt4DHpIeRN+VIryPDzRfc+ceBwNfAZ0fKYgMllVbxk4?=
 =?us-ascii?Q?7qBe9K1UlOjV5e0/VInjuCYgGT1Eu2GGUCcL2H+iJB71SuWz9xfSaEBm0QyW?=
 =?us-ascii?Q?3DaYEHiEhXs+gg7EAbjCLTmmsld361p+PuiY+ITLh3WF+4KztFzt/VP8kuSh?=
 =?us-ascii?Q?ZLHH2Isyu1jJ8NR3u0KeXF5RGAi9jJTeri6anOojRnbnYkTWrHim2QZAGP6R?=
 =?us-ascii?Q?+/z2deUOP2yS5QABwnGfPTX0l3Wj/B4V7mUPzvo8+LF+ffUPOjbcD8g2Wc47?=
 =?us-ascii?Q?K4O9fQY/wI/57Q2RfukEKNzSJtSAwW6X3sewM5XfUBgjRSVkkahg1YuJqoFw?=
 =?us-ascii?Q?yJu7NtjEKEJ3Hnr8WV9cANwz5r4nT30J2Hs4CxWR+zHrRFcemY+q6ayHe6tg?=
 =?us-ascii?Q?dws4DCxA6z1glmQMvVSi1MOO6wM+3JFBLVxaMsDl3bnLK4RdTLEMN/tfx9Ud?=
 =?us-ascii?Q?r8nms1qHn3e+QNoaNuw4qzpAjGTKKvsepaumr9/dxtlZ2c89dVJ+yIcHk7ld?=
 =?us-ascii?Q?9cKqB3dLdeRv2tCIxQGuBsuj8Gv7dOmx4MUDJPVRcUpv4W8PeIjTSPqGyCIa?=
 =?us-ascii?Q?AcvtWs+zIMy0jrQJ3Y+vo5Kf3Te1/1w5qgT++nDvJkLBUBkGsKUUSmi2jBuJ?=
 =?us-ascii?Q?yCA6/MQ313eoj8eKuR1jdE3jR2pRaSx4YpoQmo4CuGkdSAQsPijmsW+c+mEx?=
 =?us-ascii?Q?2FifBkRx51DwuR4xBPsZ1Hc/W9jq44TgL6cH3vjXRG5JcPjHULx+Y7eMCHr5?=
 =?us-ascii?Q?/iF58jr5CO6W/JKUC1X9zcENmjV1ofLbGV9i3A5KxoO8ozPFdSsgkfbnbobi?=
 =?us-ascii?Q?0WAQUJQAVD6KZJgFA5kv4xcgBUSgnSGhR31+p20DXYRd2V3nUVP5p7nNSW0C?=
 =?us-ascii?Q?k0kOLb713x7IPxr+zUTd1Ez4NjE0iZQ+Rwgm83OcA4A1XYvny5NpgQ5feWDx?=
 =?us-ascii?Q?X1WPymvqiQoRcP8rRW+v6yOkXYRMhf3eXHwbzarIpXB15ctpeXATs0nrwHN1?=
 =?us-ascii?Q?nieKjSCO0nqCljrkkGYxzgsPnqjTVeXRaXPGhsNoiMNV2gWa8F4+PIZxPaQT?=
 =?us-ascii?Q?35pCJLNH5TjbTF/q6gAIGJ1Mp/KE4QXbkGj65jGZJhJycx5x5SNuQj6bbNDS?=
 =?us-ascii?Q?zeNd9/uvh7A42BUISVE6anBCImoQyhmnju6hY8/y8FMBAVZbyBkEqQ3RYTBm?=
 =?us-ascii?Q?EfAGsLoTroMWCocKqOURpJJhYFenhci322XVQh85klXyBtuiX0YAiBjVCAVR?=
 =?us-ascii?Q?d57o+Ue66lrTlD9AqpAHJtVNpm9g+KbuV8L7SWKTIvnrEyhiuIlgpsA5eNTI?=
X-MS-Exchange-AntiSpam-MessageData-1: xpJoJ+qwORoPRQ==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 108cefe0-dd33-4aaa-d24d-08decc3fbfd0
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2026 07:12:10.7549
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: E/JTjcDOiQuCtXGJkunn1w7EX71qIJpVzfo97c/UWfyVeUju45Ka7jz7Qjoh4wLFekTdbX3uTTIDDpbcUFLMBw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSCP286MB5166
X-purgate-ID: tlsNG-ef75cf/1781680336-20F66C48-0E548BD9/0/0
X-purgate-type: clean
X-purgate-size: 2582

Hello,

This patch series introduces basic CPU topology support for ARM Xen.

Changes in v2:
 - Generate topology information even when ACPI is enabled. Note that
   this is a temporary implementation and doesn't yet parse the PPTT
   (Processor Properties Topology Table).
 - Added support for cpu-map node in Device Tree that doesn't contain
   explicit cluster node definitions.

Changes in v1 from the previous series "Introduce Device Tree based NUMA
support for ARM Xen":

1. Optimized Memory Allocation:
   The series now allocates only the minimum required memory area to manage
   the essential data for the CPUs.

2. Flexible Device Tree Parsing:
   The parsing logic no longer depends on the definition order of the 'cpu'
   nodes and 'cpu-map' nodes in the Device Tree. They can now be read
   correctly even if their orders do not match.

3. CPU Hotplug Readiness:
   To support future CPU hotplug, the system assumes that inactive CPUs are
   also described in the Device Tree. Xen will pre-load and generate the
   topology information for these inactive CPUs during the boot phase so
   it stays available in memory.

Thank you,
Hirokazu Takahashi

Hirokazu Takahashi (3):
  xen/device-tree: Parse 'cpu-map' node for CPU topology exploration
  xen/sched: Link CPU topology to scheduler
  xen/sched: Make cpu_nr_siblings() architecture-specific

 xen/arch/arm/Kconfig                  |  11 +
 xen/arch/arm/include/asm/processor.h  |   4 -
 xen/arch/arm/smpboot.c                |  15 +-
 xen/arch/x86/include/asm/processor.h  |   1 +
 xen/common/Kconfig                    |   8 +
 xen/common/Makefile                   |   1 +
 xen/common/cpu-topology.c             |  30 ++
 xen/common/device-tree/Makefile       |   1 +
 xen/common/device-tree/cpu-topology.c | 394 ++++++++++++++++++++++++++
 xen/common/sched/credit2.c            |  21 +-
 xen/common/sysctl.c                   |   1 +
 xen/drivers/acpi/Kconfig              |   3 +
 xen/drivers/acpi/Makefile             |   2 +
 xen/drivers/acpi/topology.c           |  41 +++
 xen/include/xen/acpi.h                |   4 +
 xen/include/xen/cpu-topology.h        |  48 ++++
 xen/include/xen/dt-cpu-topology.h     |  30 ++
 17 files changed, 591 insertions(+), 24 deletions(-)
 create mode 100644 xen/common/cpu-topology.c
 create mode 100644 xen/common/device-tree/cpu-topology.c
 create mode 100644 xen/drivers/acpi/topology.c
 create mode 100644 xen/include/xen/cpu-topology.h
 create mode 100644 xen/include/xen/dt-cpu-topology.h

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 07:21:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 07:21:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339849.1600925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZkaI-0005EY-Af; Wed, 17 Jun 2026 07:21:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339849.1600925; Wed, 17 Jun 2026 07: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 1wZkaI-0005ER-7t; Wed, 17 Jun 2026 07:21:14 +0000
Received: by outflank-mailman (input) for mailman id 1339849;
 Wed, 17 Jun 2026 07:21:13 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZkaH-0005EK-Lj
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 07:21:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZkaG-007oDQ-AM
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 09:21:12 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a324ae8-e002-0a2a0a5209dd-0a2a4501cf50-0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 09:21:12 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a324ae3-c1f2-0a2a45010019-d1558033e1c7-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 09:21:07 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-490b211ee6aso41082555e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 00:21:07 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-49233bf0881sm43382825e9.2.2026.06.17.00.21.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781680867; x=1782285667; 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=xeB/gI1GE8mLPA+bO7WEC99JJgOHJBSpoTGleDpIX4M=;
        b=k4x7bVdQKFwZXnaVdF8h8dH9WYfYKSqsrNGAD3uf2JvslWo2QUXo1aJ9S30/72AWH4
         y3PODafhhYSj9eLEtPdzFQrOcuJckvON/37EL1Dol+K6Uht975zV0R+GJ2nOsWh/E3f2
         gWVySw7SFu7oeb85VZXjf8WGvTSqe7f7qoEJaHMo7BNyUrAwAx7OoKtWoYkp2z+kFdXo
         38RSUHfD3wnt6qWdD91/9IWbWNnRsBwU8JoNAY8dKNz3bhovzlwvVUrRDk+qjZ2Oy6P2
         7b9YHQrQNJi7wp6DYm8khej5+O1ixL+N4AJT4jQeAl4/v0Z4VSjVpuves22z5/IAs43o
         XN2A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781680867; x=1782285667;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=xeB/gI1GE8mLPA+bO7WEC99JJgOHJBSpoTGleDpIX4M=;
        b=Ww5WKD0W9gGTr6wW9uZ3jwb26DPefUkkDIHbOKFVr1uMBvdMcd1hcwxZA+SwE4V6H5
         hRI4x71Pq7+80V6e05hUMGZwRIPIgWDegakV27ix8Htp2YmEaeZ6bGI+9lAInL/lKCQm
         5F7EbgbXPXSciTIx9IopJ/OvlStH06eGrP39pQfWRTSls1DRo8/A3T8850J1JMU+fxYk
         4NJzseofvPngwXlet8+0vbTqLBBTlooxkuoN6wjdAZVPXrc9lWCxH+pCjPI6PPAhVdT4
         Bsx9RAdCAlDqUxdM2li5LTFIrVG/OFp76tcxIfTfm1HaSD8LCA2TXVna2kmDUYmx5QHb
         Q1PA==
X-Forwarded-Encrypted: i=1; AFNElJ8JHm2TjnER1gY/iIEgVgg5iZoy9jxzfklsC17MlwigXDe8sUhzbboukPcE5KsKjJo/2KIRKxojIqc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzzDm/qAEdXWcdctosHau14Psv+8eT8HZnPtjLavM238T9iYorF
	SJeW2SS5sjN9+E7ha9hYez3D2B28GKZg231bLtPrDOmfSCRmer7bMfPo
X-Gm-Gg: Acq92OHXG+EbC/UFccS0YBUdBuVvz+e+9ixP3m9+XoOixLmc/WJvjfQqXq+aAjrf04S
	UuZJm3a5M+FT5GeSPZCLjXhFLci3/7u0l+Ae0W9gwgJis0WIh8kGnEdoSSndqKxyKc6UkVG5tOD
	Vm0Q5Tt4L1u9V0Uyjv4RetYl47RSKS0evXIKNakUEXhB10y3z3LNSZxoVnf8z07hw33Js+RVNjD
	vr14xg0rU3+1xtKsWB9L2F1HYr5n+XcuM3GGiiKhMpwzMt4B3Vutmh+TJGQV7piEodplJAFiqyb
	YsT9us32U72bV112BgwmHj8DUXn0U6Zepa6lvQjMJidZyRfGsa3QPBSOqxtV1YjRYJTBeX5+lmh
	r0VwhPjgS3kkf1KCvFWlKy4tDLflXvj2KQbCKUVrqx98YIuwqDzrnXhEA00+2NIo9aWneVnRECf
	cwCSjcWhPrEc6GgTxx7+kkMGDZW+ypsyUUPp5WbkIjTbQzONCVShhDIO/SHmjuIq6e/aQ=
X-Received: by 2002:a05:600c:19cb:b0:490:bb45:79f0 with SMTP id 5b1f17b1804b1-492333ba306mr44103435e9.3.1781680867237;
        Wed, 17 Jun 2026 00:21:07 -0700 (PDT)
Message-ID: <376a6bb5-d4b2-48be-a549-f47e19f5447a@gmail.com>
Date: Wed, 17 Jun 2026 09:21:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22?] domctl: correct return value of
 XEN_DOMCTL_[gs]etvcpuaffinity
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>
References: <8b7daaa3-418e-4ec7-90a6-775e0a964b76@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <8b7daaa3-418e-4ec7-90a6-775e0a964b76@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1781680867-AE342FF4-8D531EDA/10/73395122804
X-purgate-type: spam
X-purgate-size: 732



On 6/15/26 2:00 PM, Jan Beulich wrote:
> cpumask_to_xenctl_bitmap() may return errors. Clearing the error indicator
> of an earlier such call by a (successful) later call is misleading the
> caller. For "set", keep setting soft affinity if the hard affinity copy-
> back fails; only accumulate respective errors.
> 
> While fiddling with return values, also drop a redundant clearing of
> "ret". This eliminates a Misra C:2012 rule 2.2 ("There shall be no dead
> code") violation.
> 
> Fixes: 6e4ecc6d5884 ("sched: DOMCTL_*vcpuaffinity works with hard and soft affinity")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 09:24:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 09:24:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339907.1600943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZmVa-0004Pl-6Q; Wed, 17 Jun 2026 09:24:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339907.1600943; Wed, 17 Jun 2026 09:24: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 1wZmVa-0004Pd-28; Wed, 17 Jun 2026 09:24:30 +0000
Received: by outflank-mailman (input) for mailman id 1339907;
 Wed, 17 Jun 2026 09:24:28 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZmVY-0004PR-B7
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 09:24:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZmVX-006qDL-BW
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:24:27 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3267c0-e002-0a2a0a5209dd-0a2a4507c1fa-36
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 11:24:27 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3267ca-229c-0a2a45070019-d155802af14d-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 11:24:27 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-490b64c8311so53969975e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 02:24: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-4922f9cd140sm137697255e9.0.2026.06.17.02.24.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 02:24: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Autocrypt:Content-Language:Cc:To:Subject:From:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781688266; x=1782293066; 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=FsFXFn26h3m/AJ+I/ja6X30TqyykKhFcLp6gwh9bgsQ=;
        b=HPDG3PhCCD6Bc/IWfc062kebixQLIDd9rO8Xe5rO3VMmiO3JnIrYCHj2J4pRFsNIkC
         n+aNWmT9R3fVUyVPHsA7PtFnefy0OurUG/g8vaTg7zky3l+Apcq3bd9RBHqHAuZGRdYN
         2hL6Dje/B6iMaNdywcCdqzexFYrt6p9DXgP6nyXBmWpAc/yaVM29moIOWJjfm6NJ/Ah7
         aAlCIDT1/C7pD4FefDfgFRC8Ayfpl/WQgkKRh33QkDX0qt7u9sFnVR0rceyv5vJxaLZT
         v41HJ1YwJtvA2OrqXJjKRbcK3Vs5nOQO5DxTSYKp3ohq5kQ/Ps+F2yAocoaI/aFyTzX5
         635w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781688266; x=1782293066;
        h=content-transfer-encoding:autocrypt:content-language:cc:to:subject
         :from:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=FsFXFn26h3m/AJ+I/ja6X30TqyykKhFcLp6gwh9bgsQ=;
        b=Ht3B0JCvBOy+uVn6Z9oWb9BVXi4s+Sb4n2HvI6MhCB27Ed31TKW325h53tW3RiAC/4
         0TPPy5xJ5FIxm9wFbxFlKOine9m2W07yly5U9JGmgMFe8P3m3Lsv91FsgtN4I/F3uLlW
         rp97LoT1az+PIzC5p3pGi0p4y6xAe9NCc+rIhFy7ipr5eFlJeeWJyLuWS1Chy6HVzRzh
         vtbWK8i/4zZXiolp39HDacqxtTv8lZZEviTSJkqcI97IxwMvQTqzZDkFeW7oFhpZO8uA
         3c0QkjqNefNX08bKy7b6tMaJc0iKZCiCP1wntPc1CotHwyy4sKCw9y7QSU4v79ZilFzo
         i65w==
X-Gm-Message-State: AOJu0Yxj8W+SKXTU3TpbKq787XVFH65HaSHc6a4d2cUHrRJT2gp8wWfG
	Eud+W4ngvSWZRirI+rR0z//F+GR1J+KbN7XhlIvjuxMTR+f8hwJt4/c4wxip7ZQxd7oNFSdHuXv
	8g/8=
X-Gm-Gg: Acq92OH0WWM8/zsA7WqvD1nJQUnidFBfbIKmQWqoCO2rGtgmyqHJtgtcCmebpBYxqSG
	SC+HAF3lwieO9UrkwsS3tziInsfm76ynK09Q84had8akJrt1y+EMjVWvvTVn924QLlZQChHLWAs
	0q4m4eF+xYA2VPNoSa0xbeEjE18owpndFsSEonoSYyRktsaQ0U2+7BK0rAi3cyGoPg5FlbbjM/y
	daCqo7oB7uy0vCPoUID+hwAUVpQxdfz6sbZyM+rD0IH/UPofqkJwx/qXGRJZTDyc3Tx1B6e35zE
	GczcCxeJk8mUrj/lz7wGUVF/pUv3RPNKAh4shQQUgtY4ypc35D/Fq66PkNniEDs9rqRvcAy2/UD
	U6Dol67EffTnq7uLEite6Ie0+I1kjdHpkQs4Rjyb0CgLaHDvdjOK7I5TvUsXxB0YmNPP+n2c0Id
	cmlaXgMTQcOnuTHXgtcwi3qkttxR+mOHCGuF5H4K+jOp8MVVViPnL161eemhSlLdf1bseAKRCKo
	tLPk5m8TJPLvnk=
X-Received: by 2002:a05:600c:8b16:b0:490:ae52:499c with SMTP id 5b1f17b1804b1-492333ca24dmr54395395e9.21.1781688266499;
        Wed, 17 Jun 2026 02:24:26 -0700 (PDT)
Message-ID: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@suse.com>
Date: Wed, 17 Jun 2026 11:24:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 for-4.22? 0/7] domctl: XSA-492 and -491 follow-on
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
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
X-purgate-ID: tlsNG-ef75cf/1781688267-22B70C48-749BF102/0/0
X-purgate-type: clean
X-purgate-size: 1104

A number of further possible improvements were identified when putting
together the patches for these XSAs; some therefore already have acks or
alike. Some of these may want considering to take for 4.22.

Many of the patches here are largely independent, but the last one
(following on to XSA-491, while all others are XSA-492 related) really
depends on the 2nd to last one. Or else bigger changes would be
necessary there.

v2, besides addressing review comments, has one new patch and includes
one patch which was previously submitted independently. See individual
patches for details on changes.

1: sched: introduce specialization of "running only" vcpu_runstate_get()
2: domctl: handle XEN_DOMCTL_getvcpuinfo without acquiring domctl lock
3: domctl: move early special casing of XEN_DOMCTL_shadow_op
4: domctl: restrict permission check for XEN_DOMCTL_memory_mapping's remove form
5: domctl: correct return value of XEN_DOMCTL_[gs]etvcpuaffinity
6: x86/domctl: don't imply I/O port permissions from I/O port mapping
7: x86/HVM: more checking for XEN_DOMCTL_ioport_mapping

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 09:26:13 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 09:26:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339914.1600952 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZmXE-0004ul-Eb; Wed, 17 Jun 2026 09:26:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339914.1600952; Wed, 17 Jun 2026 09:26: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 1wZmXE-0004ue-Bi; Wed, 17 Jun 2026 09:26:12 +0000
Received: by outflank-mailman (input) for mailman id 1339914;
 Wed, 17 Jun 2026 09:26:11 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZmXC-0004uV-KI
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 09:26:11 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZmXC-008MKV-0x
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:26:10 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a326829-2eae-0a2a0a5409dd-0a2a450c8996-36
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 11:26:09 +0200
Received: from [209.85.221.46] (helo=mail-wr1-f46.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a326831-62f1-0a2a450c0019-d155dd2ec0ae-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 11:26:09 +0200
Received: by mail-wr1-f46.google.com with SMTP id
 ffacd0b85a97d-45eea68dd6fso2986788f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 02:26: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-4606f26392esm51791832f8f.3.2026.06.17.02.26.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 02:26: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781688369; x=1782293169; 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=W7ffuk5mo5kC1dorjho/tlbgKEVDTzPAjrxyPKRjl9g=;
        b=DYrh9t6X4PGiakpu4GttCqK4TXJL26jgXSgaAoWG9gcQoUVbfUmC2wROdddFF3koVN
         Bzx7y5fz7u/fchlWBJn8xLdE8k+CqKIwGXKgLDWhPjmx/WZpppAIzyypJDw5OdNFZjKi
         bKyU+2zcnsZQ12TqybfFnS9EhjZ3BbCpkYh9k5RCj6BIuykq/IDFYoPsAvKPYwLzLj/c
         bKrUKqyeUA3f/AWmLqpSD74fJ1CWlBrUl3Il2bv5jhKMoz/tjzA/amlygZYHYk6hQs6z
         l22oWryuSN5eGh1oki8r2zth3KW+z4XGMAeh7Wbp5/r9uSEUX1DaPht4yCcYLevxXjDM
         w97A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781688369; x=1782293169;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=W7ffuk5mo5kC1dorjho/tlbgKEVDTzPAjrxyPKRjl9g=;
        b=ikq9AIDyoP4IX0b7FMRFzPGU6IBsehCbmlPdR0t5LaNss55RhlJUuSmtuKal3JruN4
         EwabJyWslBXuWNn4yLNfZ9VhDCHEZZUPGe8dTFYeV+k+0LsCca7opqteyXhH9yc74N65
         OsOoDoPgcbAEOMT9Pbub7ZhAGY8ACMYoRIjwBZHKBaaXffo/ylanJ29yMwFaHvxx2q8a
         kauTCVBTvaee1GYlG4mpc4/MdNMQlw9TwrxeMg/MWDPMC8P2npLmIU6T5J50edxnqwMB
         WHdjwHw+ML/71vsRpfQh0mCpj4bX3g+3EpydWrZrFFoQRrVxWQjPQXnXb2IB78NRlY1S
         x+Sg==
X-Gm-Message-State: AOJu0YwZbF6rtm0pPpK++pmeSOResLL/CeWlg0/lDtkJnbronSYsrFXc
	pbkK0mW+J7TLN9DprRkj+mwnfEefwQO9k+xMJZuTg5D+ytOdnkpOkY4I3UpfJ+/TJjFXZp3mP4v
	QA5s=
X-Gm-Gg: AfdE7cnpyV2yx14zKsTdY6ZJfhRhbd3eLY+cR4pxDuSDfsP9nYV1JztDjDj0fbdUZH3
	aVOKW43EShJ57kodm+lMjau2Riw0Td4VPKnRwKsPyZPHgVtDhXzkZmV07QHLsgaQ+doIxWzoh1P
	EhjcfJjK+N2R6GqHW/FOsmfe7TngFCCbcceUxWilZyMkr7VJ4AN4erMep7pZd2lm6P/jEZBfv/x
	4dy6MwF+SWVIjNm+Y9OFcMYLiorJg7LgWbv8UFGoAZNSwGLK+GvMoPi8KFRIv6stlOidV+GImLO
	EKqdH0rw1OKuBVfPMU6IdI+xY96U0b6SEKbnsqPn1guDZ0DrDb8jijWGkwKitnRmncHk/Lhb/wh
	yIgKdzW4uUs7RBoifZkHLccGejqq+GLthEksrd5LRN6Aky/IsAAgTOiSG+CQOjmGBiCxMvNq9Az
	9z1a4QKpzpov/hrgAj1NhQZF1s1cDZ9nlfMteOb9halwt5IMdRw+SrCLksRp4K2ePmzg0QaWusd
	6gl
X-Received: by 2002:adf:ea10:0:b0:460:e0f:8d19 with SMTP id ffacd0b85a97d-4623f2e7ecbmr3775007f8f.9.1781688369325;
        Wed, 17 Jun 2026 02:26:09 -0700 (PDT)
Message-ID: <a35b4b37-edc4-4173-b30c-6ff0fcb44df0@suse.com>
Date: Wed, 17 Jun 2026 11:26:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 for-4.22? 1/7] sched: introduce specialization of "running
 only" vcpu_runstate_get()
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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>
References: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@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: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1781688369-E2B74CF5-56D77134/0/0
X-purgate-type: clean
X-purgate-size: 3762

About half the callers of vcpu_runstate_get() are solely after the
"running" time of a vCPU. Introduce a specialization with a smaller
read critical section and thus reduced risk of a need for retries.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
---
The function name was chosen such that grep-ing for "vcpu_runstate_get"
would still turn up all uses. If that was deemed largely irrelevant, a
better name might be e.g. vcpu_get_running_time().

--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -56,7 +56,6 @@ void getdomaininfo(struct domain *d, str
     struct vcpu *v;
     u64 cpu_time = 0;
     int flags = XEN_DOMINF_blocked;
-    struct vcpu_runstate_info runstate;
 
     memset(info, 0, sizeof(*info));
 
@@ -69,8 +68,7 @@ void getdomaininfo(struct domain *d, str
      */
     for_each_vcpu ( d, v )
     {
-        vcpu_runstate_get(v, &runstate);
-        cpu_time += runstate.time[RUNSTATE_running];
+        cpu_time += vcpu_runstate_get_running(v);
         info->max_vcpu_id = v->vcpu_id;
         if ( !(v->pause_flags & VPF_down) )
         {
@@ -796,8 +794,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
 
     case XEN_DOMCTL_getvcpuinfo:
     {
-        struct vcpu   *v;
-        struct vcpu_runstate_info runstate;
+        const struct vcpu *v;
 
         ret = -EINVAL;
         if ( op->u.getvcpuinfo.vcpu >= d->max_vcpus )
@@ -807,12 +804,10 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
         if ( (v = d->vcpu[op->u.getvcpuinfo.vcpu]) == NULL )
             break;
 
-        vcpu_runstate_get(v, &runstate);
-
         op->u.getvcpuinfo.online   = !(v->pause_flags & VPF_down);
         op->u.getvcpuinfo.blocked  = !!(v->pause_flags & VPF_blocked);
         op->u.getvcpuinfo.running  = v->is_running;
-        op->u.getvcpuinfo.cpu_time = runstate.time[RUNSTATE_running];
+        op->u.getvcpuinfo.cpu_time = vcpu_runstate_get_running(v);
         op->u.getvcpuinfo.cpu      = v->processor;
         ret = 0;
         copyback = 1;
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -325,15 +325,35 @@ void vcpu_runstate_get(const struct vcpu
     }
 }
 
-uint64_t get_cpu_idle_time(unsigned int cpu)
+uint64_t vcpu_runstate_get_running(const struct vcpu *v)
 {
-    struct vcpu_runstate_info state = { 0 };
-    const struct vcpu *v = idle_vcpu[cpu];
+    struct seqcount seq = SEQCNT_ZERO();
+    const struct seqcount *s = v == current ? &seq : &v->runstate_seq;
+    unsigned int count;
+    uint64_t running;
+    s_time_t delta;
+
+    do {
+        count = read_seqcount_begin(s);
+
+        running = v->runstate.time[RUNSTATE_running];
+        delta = v->runstate.state == RUNSTATE_running
+                ? NOW() - v->runstate.state_entry_time
+                : 0;
+    } while ( read_seqcount_retry(s, count) );
+
+    if ( delta > 0 )
+        running += delta;
 
+    return running;
+}
+
+uint64_t get_cpu_idle_time(unsigned int cpu)
+{
     if ( cpu_online(cpu) && get_sched_res(cpu) )
-        vcpu_runstate_get(v, &state);
+        return vcpu_runstate_get_running(idle_vcpu[cpu]);
 
-    return state.time[RUNSTATE_running];
+    return 0;
 }
 
 /*
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -1121,6 +1121,7 @@ int vcpu_affinity_domctl(struct domain *
 
 void vcpu_runstate_get(const struct vcpu *v,
                        struct vcpu_runstate_info *runstate);
+uint64_t vcpu_runstate_get_running(const struct vcpu *v);
 uint64_t get_cpu_idle_time(unsigned int cpu);
 void sched_guest_idle(void (*idle) (void), unsigned int cpu);
 void scheduler_enable(void);



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 09:26:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 09:26:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339921.1600961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZmXi-0005Nx-OX; Wed, 17 Jun 2026 09:26:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339921.1600961; Wed, 17 Jun 2026 09: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 1wZmXi-0005Nq-LJ; Wed, 17 Jun 2026 09:26:42 +0000
Received: by outflank-mailman (input) for mailman id 1339921;
 Wed, 17 Jun 2026 09:26:41 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZmXh-0005Na-OJ
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 09:26:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZmXh-0007ED-4M
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:26:41 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a326846-e002-0a2a0a5209dd-0a2a4505b3e4-40
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 11:26:41 +0200
Received: from [209.85.128.41] (helo=mail-wm1-f41.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a326850-aaa8-0a2a45050019-d1558029d172-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 11:26:41 +0200
Received: by mail-wm1-f41.google.com with SMTP id
 5b1f17b1804b1-490ace40f4bso52898455e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 02:26: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-49230a8ebe3sm114505625e9.11.2026.06.17.02.26.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 02:26: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781688400; x=1782293200; 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=fGF9d0DGkimmxNNdmyKW4zK1ejuyjXUo2oTuxdzlH00=;
        b=Vy2/5Qg/s1ZpAtl/LwpIiknYmiAcPphCtP9Tj5EYPPDA+yodLeo1zYxzRIEXnV7ToE
         Pl8O4G4LXIg9w9Iv3cQYSrlGvK/F21YuHhmOfnUAlvXzTVTnffxspPYsXh8usXD5Ae+K
         d0w76OdWb1EF+ZFLYS37erJQJAIip7nOr3U6T2gTKga/q/6wOiD9MMc7cAgxarnsRvT/
         Lg/WBPnypaDxuUG0chuq56wRr6LIq2sVK3rt9jNFluY977+Bo62kOaq9TH7kgVaWBUxV
         N6KzHsE+jNRTa+8f0SRfjyy1s2/pBcyIx3RWPLKQAFPX9LmWHgFiUYfLgUEhAtGTETZo
         dERg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781688400; x=1782293200;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fGF9d0DGkimmxNNdmyKW4zK1ejuyjXUo2oTuxdzlH00=;
        b=jiA1QzKWPQQO4gto8oFTs7hdANXekAWRcMM/kJpjJ07qPAp56AyQpGpIJ38QUtmsts
         y6LgLdFRqu1gGe42JE346KPDlCmPdOx4ZWmpf/66ra3Wacfq14i9iI6TnQwCgWiujnns
         L6ZbUth4stv2n1BAOIGi35FeaFz8WJTk3DH/OnxF1MicRWwz/xeA9pb9YoSUipiwuWLb
         J6lTfhLl29J8ZK4HrauexsZ2tB9hCCpUoKMc+LUwcWd8+ae8e+K8wDrjs2DlUmKzs+uF
         2tL2iga2aOJRkirib65NZ0QZ46c1E77tQ7CrS/Fq67F10aWMlSvfAgRYJ1JKrx/hKkEw
         O5MQ==
X-Gm-Message-State: AOJu0YyD04KBagu4WcQ5XzFQ7L2kByeO7zdWLxzkvEzZNL4Jic3N96kH
	0y+xvCi7gl3GTkAxV8PiH1mKlXRM2Y4AMxpbiE1gIKEUJntb0LVa2Ew99zxTxS2NTGo21vuYKWw
	VIi4=
X-Gm-Gg: Acq92OEuDs8ll7noaFNYuISeXrUKFSlb2mTnARfoRd7Pa6kOnmaVrLgfo/4WAaHQb/N
	oRyiTB0nW2tjc0Bf+Fc95UX3jfgv4oPJU7t51/8yXkk9Jc0dGVA0Kniqo0dIa8jEjc7bfRjLshO
	PeObgD195DKEGi2ysQn2wChUCMCwak1x5cKB05NJLbdA0KROaraBoiyOlfgcznqlIWGzD0vSks+
	P0XrxB80Uyu+ShlLZBpI8CBjSyO8Y3CJmciQn1rBmc5sRNlut1GXHD6i3itHXoHZ8KVzY+Sa1f5
	bpGeWrCZ0m3bKuSoM0CZDVlVC+3KItUNW9196TyUvtMUvov4pLlIusK5e/AVpAzFKonH3TrGxIW
	NKsk1WAM9+U7NiQLkDmCC0tRghXf2hlspG3kxT8S/db7ZP2PlQrIHWYsrka3MZOd3T3ztRLem03
	HKR4q2wHkRoKpGyt+/sPqDOqPxeHl/Eacv35zLj5npawXXGwx8kT9USh2RnXshXl9bxhadLBEwX
	EdR
X-Received: by 2002:a05:600c:8283:b0:490:d38c:7836 with SMTP id 5b1f17b1804b1-492333a1683mr49112935e9.3.1781688400467;
        Wed, 17 Jun 2026 02:26:40 -0700 (PDT)
Message-ID: <046c3d8e-0672-4235-b84d-bccbded33264@suse.com>
Date: Wed, 17 Jun 2026 11:26:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 for-4.22? 2/7] domctl: handle XEN_DOMCTL_getvcpuinfo
 without acquiring domctl lock
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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@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: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1781688401-D857B443-32ABDDCC/10/73395122804
X-purgate-type: spam
X-purgate-size: 2370

Like for XEN_DOMCTL_getdomaininfo there's no need to hold the domctl
lock for XEN_DOMCTL_getvcpuinfo. While moving the code also switch to
using domain_vcpu().

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tentatively-acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
v2: Use initializer for local var.

--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -546,6 +546,33 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
     if ( ret )
         goto domctl_out_unlock_rcuonly;
 
+    switch ( op->cmd )
+    {
+    case XEN_DOMCTL_getvcpuinfo:
+    {
+        const struct vcpu *v = domain_vcpu(d, op->u.getvcpuinfo.vcpu);
+
+        if ( !v )
+        {
+            ret = -ENOENT;
+            goto domctl_out_unlock_rcuonly;
+        }
+
+        op->u.getvcpuinfo.online   = !(v->pause_flags & VPF_down);
+        op->u.getvcpuinfo.blocked  = !!(v->pause_flags & VPF_blocked);
+        op->u.getvcpuinfo.running  = v->is_running;
+        op->u.getvcpuinfo.cpu_time = vcpu_runstate_get_running(v);
+        op->u.getvcpuinfo.cpu      = v->processor;
+
+        copyback = true;
+        goto domctl_out_unlock_rcuonly;
+    }
+
+    default:
+        /* Everything else handled further up or further down. */
+        break;
+    }
+
     if ( !domctl_lock_acquire() )
     {
         if ( d && d != dom_io )
@@ -792,28 +819,6 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
         break;
     }
 
-    case XEN_DOMCTL_getvcpuinfo:
-    {
-        const struct vcpu *v;
-
-        ret = -EINVAL;
-        if ( op->u.getvcpuinfo.vcpu >= d->max_vcpus )
-            break;
-
-        ret = -ESRCH;
-        if ( (v = d->vcpu[op->u.getvcpuinfo.vcpu]) == NULL )
-            break;
-
-        op->u.getvcpuinfo.online   = !(v->pause_flags & VPF_down);
-        op->u.getvcpuinfo.blocked  = !!(v->pause_flags & VPF_blocked);
-        op->u.getvcpuinfo.running  = v->is_running;
-        op->u.getvcpuinfo.cpu_time = vcpu_runstate_get_running(v);
-        op->u.getvcpuinfo.cpu      = v->processor;
-        ret = 0;
-        copyback = 1;
-        break;
-    }
-
     case XEN_DOMCTL_max_mem:
     {
         uint64_t new_max = op->u.max_mem.max_memkb >> (PAGE_SHIFT - 10);



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 09:27:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 09:27:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339929.1600970 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZmYB-0005tI-VQ; Wed, 17 Jun 2026 09:27:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339929.1600970; Wed, 17 Jun 2026 09: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 1wZmYB-0005tB-Sf; Wed, 17 Jun 2026 09:27:11 +0000
Received: by outflank-mailman (input) for mailman id 1339929;
 Wed, 17 Jun 2026 09:27:10 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZmYA-0005st-JT
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 09:27:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZmY9-002qTb-T9
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:27:09 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a326868-bab6-0a2a0a5309dd-0a2a4501e492-8
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 11:27:09 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a32686d-c1f2-0a2a45010019-d155802eb92a-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 11:27:09 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-4923139e940so9749495e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 02:27: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-4620b1083e3sm7917646f8f.20.2026.06.17.02.27.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 02:27: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781688429; x=1782293229; 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=sh41o66qzkbWNV16vdLt/fbJ5iwYqzXBUgb3JCi8skE=;
        b=UIU74M15dpNvE+dQHMzcWscsCoBVHteznffq7U51UT9dnzrP0rRoaIL+REZpWfxBuU
         fUGU311YxC35pScCGR2eccOzOIDGOSHnYG8BbBZ8Y+sgmJYgR01zlWmpjJujrkIWjp//
         S2mEO0AqkcZqs4tyNijGGW6Z3IZLT20uOCeEAXSuGtenQS/ysPP/Z1HOS7cz5EVc9t54
         zgB8p45yrYIodLULuVGxW+NK7CkZKUo7FL5fhejVdL707gy5YeMdDO6Zt2Eblb1ohIH7
         VtaBnwtDMB2Z05eCOWQfHoTMVa1xZC3Gr5b0tn/IAMoV1Mvq6WwOb2McXe6Xe1Da6l0U
         6RhA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781688429; x=1782293229;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sh41o66qzkbWNV16vdLt/fbJ5iwYqzXBUgb3JCi8skE=;
        b=GeoRmeMSZBOahqfi/+a0+frr6jwAoBl56MBpr5sabI0VAolILxK6/PL8JeLp3FAYUs
         A8XArzJuMGB/ijNeYgaqQZTMrWdIdy/YGSB9dWhGflmwv1t8EwLGrjvZqRLh30jCHFfv
         FcUeLS7lYKv0tQ/CWpotMHUskl3QUzcJtD+c/5kDG6zaZmr1C/d5kHXqAz6zrYfVz0Nk
         kkiB9INXMkTGnw28ZxxDc0vQfL48r62XaxBTHuowSE1xyTiqwzxGLoxQ/NE5j4NjAWS+
         PX7ioD1nM5su2YDlgouHA+MvCjBpx0coM0c080CDoDEs60sbXyytwgQnu/CXprhKeb5I
         cCxQ==
X-Gm-Message-State: AOJu0YzoNSa6/IddQJMISLRNEJcIHhun8g5rATjv6dm5gpbkgy3E+/qY
	DTPOnDo8JhL02QTF9fV1h3ob4vzIiPx38eHeA+GDVFQg4p642MMGbQFTi8TT0GvYf2eDQ1OKp4l
	VPok=
X-Gm-Gg: Acq92OGYpAIksy+01CCc/I8M4JehXenyJIb3DTwlUVz0CqPBKELRI6rcIurKRkIxI75
	dO/IZ6++We2Y/cPjxHMzbqpLB0xLe6ykF1EL7s2z361MgQD3QTU1TVPFMkil+Mly195Kl/ejZxa
	6BIhzYOtskgpDWqhh2HUMq5C4KA0iHpT1MGhsbwLJFy1OPV4gzJbvWi8PoHndZrMCWdjBIr7oCK
	AbN45/vYxQiwpFtqWlpi3fL3CHMyTtkfyYVLEI1T5zddQlRIj8YP/p1OdLN+sni+FmH8QGyOMIE
	KAf1umWnJvJ7sxlaRGkFDY8FXeUf9+iMwcv5MDjECPtRZqmbfeLcxb3oP4ZGVbj11sAtnnqpw7s
	AYUzYkyw7Zgj2duB+0BNQW16vsob3UgKS39IIezlay3oE5wh8zj9UyJMVPyLg/o7HOkUkDGeXb6
	N+46Nz/GdLxof36NFNjxmjRbBjBiYw/C+vkWivv3qpvRkyyavu2P10+T4db1J4siTqAF4LMhYZU
	iN/
X-Received: by 2002:a05:600c:1f86:b0:490:33b3:4be0 with SMTP id 5b1f17b1804b1-49234127a4dmr34973985e9.20.1781688429120;
        Wed, 17 Jun 2026 02:27:09 -0700 (PDT)
Message-ID: <51050157-236a-44dc-93c5-8b52a31a3e62@suse.com>
Date: Wed, 17 Jun 2026 11:27:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 for-4.22? 3/7] domctl: move early special casing of
 XEN_DOMCTL_shadow_op
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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Daniel Smith <dpsmith@apertussolutions.com>
References: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@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: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1781688429-B6B5EFF4-51579972/0/0
X-purgate-type: clean
X-purgate-size: 1552

This wants xsm_domctl() invoked, but the domctl lock not taken. Move the
handling to the respective switch(), thus eliminating the need for a
separate xsm_domctl() invocation.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -512,17 +512,6 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
         /* Other sub-ops handled further down. */
         break;
 
-    case XEN_DOMCTL_shadow_op:
-        if ( op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_CLEAN ||
-             op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_PEEK )
-        {
-            ret = xsm_domctl(XSM_PRIV, d, op);
-            if ( !ret )
-                ret = arch_do_domctl(op, d, u_domctl);
-            goto domctl_out_unlock_rcuonly;
-        }
-        break;
-
     case XEN_DOMCTL_get_device_group:
         ret = iommu_do_domctl(op, d, u_domctl);
         goto domctl_out_unlock_rcuonly;
@@ -568,6 +557,16 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
         goto domctl_out_unlock_rcuonly;
     }
 
+    case XEN_DOMCTL_shadow_op:
+        if ( op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_CLEAN ||
+             op->u.shadow_op.op == XEN_DOMCTL_SHADOW_OP_PEEK )
+        {
+            ret = arch_do_domctl(op, d, u_domctl);
+            goto domctl_out_unlock_rcuonly;
+        }
+        /* Other sub-ops handled by arch_do_domctl() further down. */
+        break;
+
     default:
         /* Everything else handled further up or further down. */
         break;



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 09:27:47 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 09:27:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339936.1600979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZmYk-0006TT-6X; Wed, 17 Jun 2026 09:27:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339936.1600979; Wed, 17 Jun 2026 09:27: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 1wZmYk-0006TM-3N; Wed, 17 Jun 2026 09:27:46 +0000
Received: by outflank-mailman (input) for mailman id 1339936;
 Wed, 17 Jun 2026 09:27:45 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZmYj-0006T9-4a
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 09:27:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZmYi-008MWb-He
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:27:44 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a326890-e002-0a2a0a5209dd-0a2a4502b556-0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 11:27:44 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a326890-af86-0a2a45020019-d155802cd458-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 11:27:44 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-490acbb0f89so35883455e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 02:27: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-49230a4f8d7sm139514015e9.5.2026.06.17.02.27.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 02:27: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781688464; x=1782293264; 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=OvgYFXrjxwjAEeit5+Y2ej8A7uiS4tWnpwH2lrGzVig=;
        b=ONZ+nhgi7j4UzUrgAmroXaeTwSEhH2seWjEBTIiC8A6XcMnat+weKySCzy6hjSNX6G
         /YdWeea23x2Z0KC9IhKp/z/GTrxeJfkGKKrfB9Oxm8VU1r7qUBjwlqrAA1xvzqrsE2FL
         WceVF79U23sOZHeDNANFH4Syn3cBAQbAhPR4Q6HQzLraMuLmhZwnrAx42uPVcMLTMRdz
         oqHUnlaW4bNHWygDZz/CAmM4bOWhhw7hyW0y98AD6XTQ0JlJk6sEz6ENQ3cDWA5LR4M2
         uhHsEthCR7cO4ynVLn5TPzWyD9fQQitDDmAiU3VMnatFsw39H//VVeH2VLtzkAczHCtE
         alUA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781688464; x=1782293264;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OvgYFXrjxwjAEeit5+Y2ej8A7uiS4tWnpwH2lrGzVig=;
        b=pXOSKEjZ7nQLWS1TywwW7yq8xluU9Pw6HpykhKVXaCwgI81oRPKfB7mi40I6EQS9fw
         SqdNKVBz/ZpgYyFzDf1YkEPI32Go7G1PW6foP4KfCFyz/8sZ16gdwUHvak/xZTvjmV4e
         8MmbMUkG6476chr56fm0FEPR4R121ucb/TegZRGXd8J1QdJWy6ytGNz2wrHQ8W+1tNcy
         C4HQhUqYIUdTuUu23bi0hZpVYyxFI0CI0vLhGqYFyBND8R5TT1N/cIIuuxB9VJI7v8V4
         Ly4d7qg11HM8LgZgvT/f1+v3P/SeQvep1BhS/CgXRNZ4Ennib+tuL87fhWj4kOgs1KQL
         yJRg==
X-Gm-Message-State: AOJu0YypPQLKI3MFuOm/b1J3MYlIVZ9jywh68q4GXO2Sn4HeQ0b6Vmff
	vLZUzUi0/J/mEfXA1z1it3PApn+CksIbTlE+bpTkshAM7+cHs2uWcfdUMwzv/3MBkAuFi+ltUI1
	ZfYY=
X-Gm-Gg: Acq92OGayExClUuoslOFTSX1ktBgLQ8D8/x+ZzCnyxsXryOUpVfxCQl6pe7LEQ+3NMv
	4U8Vyg13A3Ha92JM653Rmu2gKGanxPddcHsX4k7MoqzuciiePWdt9HB5FNAvu/oJMog989c6LY7
	HKfxZKVlw0v/x+urDt4Nj+ToOcplp4d5nh1nvgSBoND21FfDnc7uGtVuwjSeXPCnO6ARY2o7LB3
	EHcqrlG2D8MffnQxZGUwfT5Tx3hGQr9DQ4h/Hadvm9Lbi7y3ubyo+HPHsEdAw60mwj2I/edZcOf
	NoKCvivfsVVEiJ3ryETX3Ew8ImY/xscDGUmxUOGOBssz/forh1Ca+SQHWmu32zkfDsvbAF231/i
	O0+DRf4E16E+qjIyi7cziLEaMIIstymnZ1A64T/gbhOUVVBM9pvjKB9DjTuImj3wUmVz8adYG2y
	ksIeSvz1b+La1I7rr59dA/iGLGSm+yGC4DovBeb7HIYuP8WsOirlf6zhvlqcvznovb7xMURrVBb
	szt
X-Received: by 2002:a05:600c:a148:b0:490:44eb:c1ec with SMTP id 5b1f17b1804b1-492333dafe8mr35524845e9.27.1781688463966;
        Wed, 17 Jun 2026 02:27:43 -0700 (PDT)
Message-ID: <f17b9ac9-abeb-44c1-8eab-6b08d563bc5a@suse.com>
Date: Wed, 17 Jun 2026 11:27:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 for-4.22? 4/7] domctl: restrict permission check for
 XEN_DOMCTL_memory_mapping's remove form
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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@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: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-720697/1781688464-81573161-1BF51DA2/0/0
X-purgate-type: clean
X-purgate-size: 2492

While the granting of permissions when mapping was already removed from
this operation, check whether permissions actually were granted when
adding a mapping; the check of the requester having permission remains
unaltered.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Avoid double evaluation of "add". Re-do description, to avoid
    mentioning behavior introduced only by a subsequent patch.

--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -436,25 +436,16 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
             goto domctl_out_unlock_rcuonly;
 #endif
 
+        /*
+         * NB: The double lock isn't really needed when !add, but is used anyway
+         * to keep things simple.
+         */
         iocaps_double_lock(d, false);
 
         ret = -EPERM;
-        if ( !iomem_access_permitted(current->domain, mfn, mfn_end) ||
-             !iomem_access_permitted(d, mfn, mfn_end) )
+        if ( !iomem_access_permitted(current->domain, mfn, mfn_end) )
             /* Nothing. */;
-        else if ( add )
-        {
-            printk(XENLOG_G_DEBUG
-                   "memory_map:add: %pd gfn=%lx mfn=%lx nr=%lx\n",
-                   d, gfn, mfn, nr_mfns);
-
-            ret = map_mmio_regions(d, _gfn(gfn), nr_mfns, _mfn(mfn));
-            if ( ret < 0 )
-                printk(XENLOG_G_WARNING
-                       "memory_map:fail: %pd gfn=%lx mfn=%lx nr=%lx ret:%ld\n",
-                       d, gfn, mfn, nr_mfns, ret);
-        }
-        else
+        else if ( !add )
         {
             printk(XENLOG_G_DEBUG
                    "memory_map:remove: %pd gfn=%lx mfn=%lx nr=%lx\n",
@@ -466,6 +457,18 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
                        "memory_map: error %ld removing %pd access to [%lx,%lx]\n",
                        ret, d, mfn, mfn_end);
         }
+        else if ( iomem_access_permitted(d, mfn, mfn_end) )
+        {
+            printk(XENLOG_G_DEBUG
+                   "memory_map:add: %pd gfn=%lx mfn=%lx nr=%lx\n",
+                   d, gfn, mfn, nr_mfns);
+
+            ret = map_mmio_regions(d, _gfn(gfn), nr_mfns, _mfn(mfn));
+            if ( ret < 0 )
+                printk(XENLOG_G_WARNING
+                       "memory_map:fail: %pd gfn=%lx mfn=%lx nr=%lx ret:%ld\n",
+                       d, gfn, mfn, nr_mfns, ret);
+        }
 
         iocaps_double_unlock(d, false);
         goto domctl_out_unlock_rcuonly;



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 09:29:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 09:29:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339947.1600987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZma9-00071s-H9; Wed, 17 Jun 2026 09:29:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339947.1600987; Wed, 17 Jun 2026 09: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 1wZma9-00071l-Ec; Wed, 17 Jun 2026 09:29:13 +0000
Received: by outflank-mailman (input) for mailman id 1339947;
 Wed, 17 Jun 2026 09:29:12 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZma8-00071c-6l
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 09:29:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZma7-0007kR-Jn
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:29:11 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3268df-5cb7-0a2a0a5109dd-0a2a4508cfda-30
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 11:29:11 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3268e7-63b5-0a2a45080019-d1558030d144-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 11:29:11 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-490ace40f4bso52917595e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 02:29: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-4606f26f726sm49825591f8f.15.2026.06.17.02.29.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 02:29: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781688551; x=1782293351; 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=GCO0RssdVVdHttUb3yjvyoLU2Z9nQ5JVjDGHgFk6qrY=;
        b=AvE5SHtd7cLiz/xeD1YqYaL6rNL9+9Fvx+W5IS2HLmYz8UlZL5CqpnAr4WYJ9pUKGU
         L//NBdm3F5rGpRvYQmhShHytTWogOb9Ic1Zq9hkcQWb2bLnz4lg3UEgcNoBZiiUt7AnA
         p+Zc8CazxPDrVzFVjq0S/caLa+lkzXbbzboDobx7qyWlDKutWSltFW7wq7Gf36TLE4ws
         p2VzH09DGDTfukgZscVdAbTa2GX/8isSEA5++NDtp3Q0MvA2B72i07JiQDFGlZ1w/SUS
         TSWvxc/8ZagfR/S1YxsNZPTW04Khdbf/Cimtp5EtZGBe/G4tJxdk1Bja8mpVrhLr6E05
         ClzA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781688551; x=1782293351;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GCO0RssdVVdHttUb3yjvyoLU2Z9nQ5JVjDGHgFk6qrY=;
        b=VCG1s9ZzSiRTRyoainkHGiq/sS/7hMwpaLJScmX59K40vXJ39mj59f95z9HspQthkC
         2mzTAF8ML3NRYwG2/I9WKjvWku6U/91KFu7O1uY0Y6n8RjlQZt91OuYvJ0G7VJJvrNjW
         rfTCnHyOLIFZ9R5SD2Yq/P9NKIDMLGwMXIjQsD2O0BABChwpb5daw91wHTL1Z9ya5Bkb
         QCOOFRAptzCbUt68xCrUrWvPEqWgvTaDk6yyXNXDl207pJr0IXHfXGBj4/ww0wqPnf0W
         FNX+3TxCJ7w/5GIbb7hLTC227DlQod3Y9gvZRvwnDpmrjZfiGYD3gYLi76rVEmkt/Zm+
         l1mQ==
X-Gm-Message-State: AOJu0YwJ7PZ/d65DAhEdhErSXYTDwvl5x1RyQmEuMF5tS6b5kUDXsZhN
	LE/F5zF7IAA4utbmmzUVrMXo+2fyJIYxN1f7PCMR1y9gnWJ470EA3IsgGQMQOPWwhc6vFAVUe8P
	3DWg=
X-Gm-Gg: Acq92OEPRMX3Y330Wxz04FLvoc5p/Dg/UtUIUq5fXZNjdq3+72PA1k9Kfq4eWAEZuoD
	wCUwF2CUsOfWSbg/5WMAsThxo5aE3DFXWmJFpa5dHdXZqK8hrTLGCG+D7bZZC77mfx8n1kU6ab0
	70lu/iHM4tyWIcH40Ow1RV6fkkw/Ba9oBS+yeI2uVpjnZa6qxfcrlucQ7syLR5R5P3LsFZxik6W
	o9oQVIGA/zluiCz+lPrHTuIOfeB00synkb+eC52BCa/p4ksmLjKldmzrh9l0zUjbLijwKg/jVcm
	ssBAFW0US+KrVd6UNdTa90QwYPVE9UW+CrYlv6eDK9Mz50+LaMiDtaLN1YY7Le2uNzjIXMXPjnq
	i0FS4zwE/ZCNaDQV2wWIE4Skj0trQQB5yF/+hAAocuvHcY1GFCtx6Xs5y5nEEnlhhKg5a3xJ00s
	EOLpqyOyeLQoRNZayfxkkDssfSIlpQMi7YBFu71yqT3cxIVVFJi2zOsxLbTQ0f+HA/rV2uhnC1y
	eZUI5V+phe05Nw=
X-Received: by 2002:a05:600c:a104:b0:492:3347:12a9 with SMTP id 5b1f17b1804b1-492334712camr40164685e9.26.1781688550942;
        Wed, 17 Jun 2026 02:29:10 -0700 (PDT)
Message-ID: <f223d669-d61f-4110-88aa-e2e71bee1f14@suse.com>
Date: Wed, 17 Jun 2026 11:29:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 for-4.22? 5/7] domctl: correct return value of
 XEN_DOMCTL_[gs]etvcpuaffinity
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <gwd@xenproject.org>
References: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@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: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c1860d/1781688551-BC965DB1-5C22FF44/10/73395122804
X-purgate-type: spam
X-purgate-size: 3275

cpumask_to_xenctl_bitmap() may return errors. Clearing the error indicator
of an earlier such call by a (successful) later call is misleading the
caller. For "set", keep setting soft affinity if the hard affinity copy-
back fails; only accumulate respective errors.

While fiddling with return values, also drop a redundant clearing of
"ret". This eliminates a Misra C:2012 rule 2.2 ("There shall be no dead
code") violation.

Fixes: 6e4ecc6d5884 ("sched: DOMCTL_*vcpuaffinity works with hard and soft affinity")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
v2: Consistently return first error. Integrate into series.

--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -1708,7 +1708,7 @@ int vcpu_affinity_domctl(struct domain *
 {
     struct vcpu *v;
     const struct sched_unit *unit;
-    int ret = 0;
+    int ret = 0, hret = 0;
 
     if ( vcpuaff->vcpu >= d->max_vcpus )
         return -EINVAL;
@@ -1746,19 +1746,17 @@ int vcpu_affinity_domctl(struct domain *
         if ( vcpuaff->flags & XEN_VCPUAFFINITY_FORCE )
             vcpu_temporary_affinity(v, NR_CPUS, VCPU_AFFINITY_OVERRIDE);
 
-        ret = 0;
-
         /*
          * We both set a new affinity and report back to the caller what
          * the scheduler will be effectively using.
          */
         if ( vcpuaff->flags & XEN_VCPUAFFINITY_HARD )
         {
-            ret = xenctl_bitmap_to_bitmap(cpumask_bits(new_affinity),
-                                          &vcpuaff->cpumap_hard, nr_cpu_ids);
-            if ( !ret )
-                ret = vcpu_set_hard_affinity(v, new_affinity);
-            if ( ret )
+            hret = xenctl_bitmap_to_bitmap(cpumask_bits(new_affinity),
+                                           &vcpuaff->cpumap_hard, nr_cpu_ids);
+            if ( !hret )
+                hret = vcpu_set_hard_affinity(v, new_affinity);
+            if ( hret )
                 goto setvcpuaffinity_out;
 
             /*
@@ -1766,7 +1764,7 @@ int vcpu_affinity_domctl(struct domain *
              * cpupool's online mask and the new hard affinity.
              */
             cpumask_and(new_affinity, online, unit->cpu_hard_affinity);
-            ret = cpumask_to_xenctl_bitmap(&vcpuaff->cpumap_hard, new_affinity);
+            hret = cpumask_to_xenctl_bitmap(&vcpuaff->cpumap_hard, new_affinity);
         }
         if ( vcpuaff->flags & XEN_VCPUAFFINITY_SOFT )
         {
@@ -1804,14 +1802,14 @@ int vcpu_affinity_domctl(struct domain *
     else
     {
         if ( vcpuaff->flags & XEN_VCPUAFFINITY_HARD )
-            ret = cpumask_to_xenctl_bitmap(&vcpuaff->cpumap_hard,
-                                           unit->cpu_hard_affinity);
+            hret = cpumask_to_xenctl_bitmap(&vcpuaff->cpumap_hard,
+                                            unit->cpu_hard_affinity);
         if ( vcpuaff->flags & XEN_VCPUAFFINITY_SOFT )
             ret = cpumask_to_xenctl_bitmap(&vcpuaff->cpumap_soft,
                                            unit->cpu_soft_affinity);
     }
 
-    return ret;
+    return hret ?: ret;
 }
 
 bool alloc_affinity_masks(struct affinity_masks *affinity)



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 09:30:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 09:30:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339955.1600998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZmb2-00005W-U1; Wed, 17 Jun 2026 09:30:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339955.1600998; Wed, 17 Jun 2026 09:30: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 1wZmb2-00005P-Q8; Wed, 17 Jun 2026 09:30:08 +0000
Received: by outflank-mailman (input) for mailman id 1339955;
 Wed, 17 Jun 2026 09:30:07 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZmb1-0008R5-Gy
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 09:30:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZmb0-008NCT-TK
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:30:06 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a32691a-bab6-0a2a0a5309dd-0a2a4501a7ac-30
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 11:30:06 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a32691e-c1f2-0a2a45010019-d155802ccc1e-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 11:30:06 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-4922244f7c7so35753415e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 02:30: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-4923687d654sm87515e9.1.2026.06.17.02.30.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 02:30: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781688606; x=1782293406; 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=cGO//gFkgptc18LJxH00vrNQWKDEK04r3FP8T9nu6a8=;
        b=e5d+U6qUalKn8em66yt+c2BlMTDfQLJvbSCRUvQj1nSPgmmNfZgAilIHXUrFyAAuZn
         NiOlreqw+ic041zln9LG5X1dp6rscKloKxSNN8U+hBhycV5d6LTW5p+YEyDOCCKsq3y9
         qoTOPkGGOOtGT3vdWjkDFyhcJOjdyubKMqxLcHiPUtClzA5eogOxYSa/pCsuZkpSqbdT
         Dp6efzYfOWeUCjh1UVir9MLhiNtObmZsWh/bUedEzrzieBexPK45IacIczdZVmDtjad1
         h9XtyNwzVu0SZ5cVufwVM6EIIQ+x9KzAjFbDwc7SVra1/G0XI/x5BuJgDEVDh83PtRGa
         LLgA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781688606; x=1782293406;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cGO//gFkgptc18LJxH00vrNQWKDEK04r3FP8T9nu6a8=;
        b=YLWvo7gdlcZKQg+/fKqOMhZc+4IO3aaHjZcR+XAWSkk4cgo32fXhG0BHlEIG+wztUy
         NegAOaUt4SAg+z9CUbahs7Ncvho53UnlxS+GDwok0nK5ksYr/+UCehS1CZFYMZ8wVMcZ
         WdUqFAbHTU1Aun48IyFDIN65rK87RbhFA67WEY6giJEYaeQyIickyo/R2cv3H8doLVIK
         zDmgBabQX6USMBTkoRK8cLT7MZ6aA96NQ2E3lL2xWzv3Jd/0NKCmmS2z2txkGPN65yGQ
         2D/X/7kH+NPiDerthYdbo/WkYJu+/SYll/CiMSBxu334D9jcJphwg80pyy7S1avXhuVB
         Nl8Q==
X-Gm-Message-State: AOJu0Yw0sfiOQ9hor+vRxPylcnQljKVkSPcM8aO3xgjQnyRIPljJSEHA
	YcbgHnVwraSST+fFy3d3qTQALvksnajYtw4PIVIlhhysSd8TQZFEpP46/yogNqUWP34Tf3Rb6mo
	XR+M=
X-Gm-Gg: Acq92OGix7UiydLwwKTD0WqyjgKz+4yacyn5yvUacMHEAODIQnlOaBZoqxY6UGERhco
	WfomkmGGCoX+OJJyPzh5cz9opTR+WTL8ivqF+G27IB4PFyb7RUWrBa1ti7ZomOqmreMOMpC3MMz
	4IFwtPZxiPq/qHjWE2Un2YgadCJSVnIpTN/JjZ5DPeDPDlP+yR+Fng/JSNlIWGfM+2wMEX6cjSS
	5MGDAQ0l9c9w5vn3u6eeB+qjwVisaJ7sSWC5Wac1aUHyaeyAtGr7r+ADG8mLPdCJs/BmVlS4C1k
	fBoU3WcHiaPLZ2uJnFJ24YB6FkkpUre6RhIAbcqDd9/PyWSKJS50yyxcNDg5XZnolO7e/PJjFNK
	tJashuAHv34F36OPiDqWwTHFDlHp2Wke7n3IajsYKWcUA9Rcrd9SFFhxUGWwtwdJekNK22gH0aS
	Lj8HJM/576ZbgoQcVbIL8u9JqWu631XlGPcW2kJsQuz4CMiTT2YyZo8BidA4pg98cfcuIjtM9p+
	jOK
X-Received: by 2002:a05:600c:a305:b0:490:3fa2:1b93 with SMTP id 5b1f17b1804b1-492333aa619mr39973715e9.13.1781688605070;
        Wed, 17 Jun 2026 02:30:05 -0700 (PDT)
Message-ID: <e88a6015-8867-41a8-907d-b6749b1d2549@suse.com>
Date: Wed, 17 Jun 2026 11:30:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 for-4.22? 6/7] x86/domctl: don't imply I/O port permissions
 from I/O port mapping
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@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: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1781688606-AEB5EFF4-96E306BC/0/0
X-purgate-type: clean
X-purgate-size: 4944

Rather than granting permissions when mapping (an operation that DM-s are
allowed to carry out, while they can't invoke ioport-permission), check
whether permissions actually were granted when adding a mapping. This then
also allows relaxing the necessary locking.

While no longer granting permissions upon mapping is "only" at risk of
breaking guests, no longer revoking permissions upon unmapping strictly
requires callers to additionally invoke XEN_DOMCTL_ioport_permission. Or
else a security issue would arise. In-tree code already does so.

While there switch to using %pd in the two log messages.

Fixes: 192c4dabc344 ("domctl and p2m changes for PCI passthru")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
libxl has libxl__grant_vga_iomem_permission(), but I can't spot any I/O
port equivalent (nor a revoke counterpart, btw). Everywhere else MMIO and
I/O ports look to be treated equally.

Qemu uses both xc_domain_{iomem_permission,memory_mapping}() in
igd_write_opregion(), but only xc_domain_{memory,ioport}_mapping() in
xen_pt_region_update() and xen_pt_{,un}register_vga_regions(). Is the IGD
region special in any way? Clearly this can't work from a stubdom.
---
v2: Avoid double evaluation of "add". Add ChangeLog entry.

--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,6 +14,9 @@ The format is based on [Keep a Changelog
  - On x86:
    - Enable pf-fixup option by default for PVH dom0.
    - The libxenguest bzImage loader now uses the system liblz4 library.
+   - XEN_DOMCTL_ioport_mapping no longer implicitly grants permissions for the
+     port range in question.  XEN_DOMCTL_ioport_permission now needs invoking
+     up front.
 
 ### Added
  - Support for per-domain Xenstore quota in C xenstored (includes
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -714,15 +714,35 @@ long arch_do_domctl(
             break;
 
         hvm = &d->arch.hvm;
-        iocaps_double_lock(d, true);
+        /*
+         * NB: The double lock isn't really needed when !add, but is used anyway
+         * to keep things simple.
+         */
+        iocaps_double_lock(d, false);
 
         if ( !ioports_access_permitted(currd, fmp, fmp + np - 1) )
             ret = -EPERM;
-        else if ( add )
+        else if ( !add )
         {
             printk(XENLOG_G_INFO
-                   "ioport_map:add: dom%d gport=%x mport=%x nr=%x\n",
-                   d->domain_id, fgp, fmp, np);
+                   "ioport_map:remove: %pd gport=%x mport=%x nr=%x\n",
+                   d, fgp, fmp, np);
+
+            write_lock(&hvm->g2m_ioport_lock);
+            list_for_each_entry(g2m_ioport, &hvm->g2m_ioport_list, list)
+                if ( g2m_ioport->mport == fmp )
+                {
+                    list_del(&g2m_ioport->list);
+                    xfree(g2m_ioport);
+                    break;
+                }
+            write_unlock(&hvm->g2m_ioport_lock);
+        }
+        else if ( ioports_access_permitted(d, fmp, fmp + np - 1) )
+        {
+            printk(XENLOG_G_INFO
+                   "ioport_map:add: %pd gport=%x mport=%x nr=%x\n",
+                   d, fgp, fmp, np);
 
             write_lock(&hvm->g2m_ioport_lock);
             list_for_each_entry(g2m_ioport, &hvm->g2m_ioport_list, list)
@@ -747,40 +767,11 @@ long arch_do_domctl(
                 list_add_tail(&g2m_ioport->list, &hvm->g2m_ioport_list);
             }
             write_unlock(&hvm->g2m_ioport_lock);
-            if ( !ret )
-                ret = ioports_permit_access(d, fmp, fmp + np - 1);
-            if ( ret && !found && g2m_ioport )
-            {
-                write_lock(&hvm->g2m_ioport_lock);
-                list_del(&g2m_ioport->list);
-                write_unlock(&hvm->g2m_ioport_lock);
-                xfree(g2m_ioport);
-            }
         }
         else
-        {
-            printk(XENLOG_G_INFO
-                   "ioport_map:remove: dom%d gport=%x mport=%x nr=%x\n",
-                   d->domain_id, fgp, fmp, np);
-
-            write_lock(&hvm->g2m_ioport_lock);
-            list_for_each_entry(g2m_ioport, &hvm->g2m_ioport_list, list)
-                if ( g2m_ioport->mport == fmp )
-                {
-                    list_del(&g2m_ioport->list);
-                    xfree(g2m_ioport);
-                    break;
-                }
-            write_unlock(&hvm->g2m_ioport_lock);
-
-            ret = ioports_deny_access(d, fmp, fmp + np - 1);
-            if ( ret && is_hardware_domain(currd) )
-                printk(XENLOG_ERR
-                       "ioport_map: error %ld denying dom%d access to [%x,%x]\n",
-                       ret, d->domain_id, fmp, fmp + np - 1);
-        }
+            ret = -EPERM;
 
-        iocaps_double_unlock(d, true);
+        iocaps_double_unlock(d, false);
         break;
     }
 



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 09:30:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 09:30:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339963.1601006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZmbX-0000YQ-4I; Wed, 17 Jun 2026 09:30:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339963.1601006; Wed, 17 Jun 2026 09: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 1wZmbX-0000YJ-1W; Wed, 17 Jun 2026 09:30:39 +0000
Received: by outflank-mailman (input) for mailman id 1339963;
 Wed, 17 Jun 2026 09:30:38 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZmbW-0000Y5-27
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 09:30:38 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZmbV-002rom-F8
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:30:37 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a326939-2eae-0a2a0a5409dd-0a2a4509dc18-28
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 11:30:37 +0200
Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a32693d-2497-0a2a45090019-d155dd35d452-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 11:30:37 +0200
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-45ef29c5561so2984754f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 02: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-46289c3b3a3sm4317389f8f.30.2026.06.17.02.30.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781688637; x=1782293437; 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=QMsQR2U5brjtKAtTpmkPnvwCIP0z0Kfacg+eux8Vc3U=;
        b=OgMyCOTMz4/ere7pEoLh5ooQHPaAlodxq05G4u8fDsFqKj7z9CZkY90X+iqMTXu5gx
         exvqTaTYCiGQTlpR/dMxRMdzO0zWMRkZR6IBPT4LQAW4bZVnrqq1k1BwgYREE2eWu+TA
         9lEyC0krFYO/XFIveM4ZdyJVuv2QfFkWE6y7cyPOiMbs9Cg3TJ+YuKFA13YavXbvO25b
         wqoEg1+v5W/4T4jDjxk8/AmDQIrdzEEmKHzLWCp53GkQTeP1yyHaOx3LHXJ9DEcTOl8a
         6DG72VHxfu9t6310Yb6aMoFIfXeOmC8HSytNmCXPwgJ9tDyLGj0K0aZ5nI5CX/whZfvK
         8jzQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781688637; x=1782293437;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QMsQR2U5brjtKAtTpmkPnvwCIP0z0Kfacg+eux8Vc3U=;
        b=ffgAYsrDTOGOA7C57cUqk7HSidxC1xdVqxZkMfai+ROCdBiIYzH7oqa4U32ZmJm1UV
         VWWcyprPv2eE5to3OPV3XRIjKLu6fWbXlYopuqDfqBO/jg2AqH/2MM2CbkVorKNvJAlz
         rfcBGhGLaFtqkjkifmS7qZL5pUnuldENuBiaEVAuhDQROyWoLmZJVW/MjKn+a8HJxr7c
         LPSjCicAjUQJZWqmCDUqWE6e8apkIHvkWJ1sBju67euDjUn5ndqgNE4Ayk6DZcNJDa7a
         YkIWhdWevV5NkH5soUeUWWWjaCKI2Jf7LBk6lXwSsXiG6w+owvEVeiO8lHj1hm4W5E3A
         sUcw==
X-Gm-Message-State: AOJu0YzBS0BRYajj8FB4Gx1Vt18MxjLXvp0V8m30UdfezofU4xIVR4Rx
	Aft8S45V9uL15dDzL03s2sogxdkf3Yg6UwwfShpL6d5ffliWEpsP6OgNQbBC4RjO65g2aI54Lhi
	OpL4=
X-Gm-Gg: AfdE7ck0ZKrPORDVPmveZ8b8DkZGQPs47+t6pTWf+HAx03RmHmZir8LQz2IcvaSvaol
	0bR+/kChAPkN3adTaPgcEcxv2izNhPVIMg6+8PiIPo+LYoa5Ho9NY5DTFPun9WzXa8xGGp2ouW0
	UhMbQclBPdywmCcJnQMhWNIGP7Mn1MK041DTVa7XxppqIbzWA6H0PZ32IiCvcr5hgZOwZfEBIjN
	Z4p8kd0eIhg+I3h1I4xG6cQiMq9n0xASbcJlA4gFPlEhnm6QTB8Zxa9eIVDXpeadFdWR0aA4nRW
	DoHmaFsjRoMkTTdSgf5+NPtbjaxspyn/cyd1r1e/DznvYZ/uJI3XCpWw8YZS17fUtKqb+LfAA9c
	0RT2Q+1FcEhty5SMvDcBvY1kUdswpZIs/fbMdouraMGPxGENkoANXySjTrCQVVntKARBvWkNeHx
	YA2hzcesMfcy4U+0i4qHz+Z1co5ZNdsi0bTYmWqsSqNIV/257zheZvoiEDthRgCjjK5MmasBRY9
	W00
X-Received: by 2002:a05:6000:1889:b0:45e:f31a:7ae6 with SMTP id ffacd0b85a97d-46238f97e32mr5361656f8f.30.1781688636626;
        Wed, 17 Jun 2026 02:30:36 -0700 (PDT)
Message-ID: <0446485d-353c-44c6-bf23-7fd373282476@suse.com>
Date: Wed, 17 Jun 2026 11:30:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 for-4.22? 7/7] x86/HVM: more checking for
 XEN_DOMCTL_ioport_mapping
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@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: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1781688637-40762A53-7867D809/10/73395122804
X-purgate-type: spam
X-purgate-size: 2183

When adding ranges, only alter existing ones when there is an exact match.
Don't accept ranges overlapping existing ones.

When removing ranges, only remove a range if there's an exact match.
Return an error when the range isn't found.

Fixes: 192c4dabc344 ("domctl and p2m changes for PCI passthru")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
v2: Re-base over change to earlier patch.

--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -728,12 +728,14 @@ long arch_do_domctl(
                    "ioport_map:remove: %pd gport=%x mport=%x nr=%x\n",
                    d, fgp, fmp, np);
 
+            ret = -ENOENT;
             write_lock(&hvm->g2m_ioport_lock);
             list_for_each_entry(g2m_ioport, &hvm->g2m_ioport_list, list)
-                if ( g2m_ioport->mport == fmp )
+                if ( g2m_ioport->mport == fmp && g2m_ioport->np == np )
                 {
                     list_del(&g2m_ioport->list);
                     xfree(g2m_ioport);
+                    ret = 0;
                     break;
                 }
             write_unlock(&hvm->g2m_ioport_lock);
@@ -746,14 +748,21 @@ long arch_do_domctl(
 
             write_lock(&hvm->g2m_ioport_lock);
             list_for_each_entry(g2m_ioport, &hvm->g2m_ioport_list, list)
-                if (g2m_ioport->mport == fmp )
+            {
+                if ( g2m_ioport->mport == fmp && g2m_ioport->np == np )
                 {
                     g2m_ioport->gport = fgp;
-                    g2m_ioport->np = np;
                     found = 1;
                     break;
                 }
-            if ( !found )
+                if ( fmp + np >= g2m_ioport->mport &&
+                     g2m_ioport->mport + g2m_ioport->np >= fmp )
+                {
+                    ret = -EBUSY;
+                    break;
+                }
+            }
+            if ( !found && !ret )
             {
                 g2m_ioport = xmalloc(struct g2m_ioport);
                 if ( !g2m_ioport )



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 09:58:19 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 09:58:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1339987.1601016 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZn26-0003yY-7O; Wed, 17 Jun 2026 09:58:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1339987.1601016; Wed, 17 Jun 2026 09:58: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 1wZn26-0003yR-3Q; Wed, 17 Jun 2026 09:58:06 +0000
Received: by outflank-mailman (input) for mailman id 1339987;
 Wed, 17 Jun 2026 09:58:05 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZn24-0003yJ-Sq
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 09:58:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZn24-00D1SD-9n
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:58:04 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a326f9d-e002-0a2a0a5209dd-0a2a450bc496-24
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 11:58:04 +0200
Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a326fab-212f-0a2a450b0019-d1558036c036-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 11:58:04 +0200
Received: by mail-wm1-f54.google.com with SMTP id
 5b1f17b1804b1-490c1915793so45876525e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 02:58:04 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4923685fe90sm1222755e9.1.2026.06.17.02.58.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781690283; x=1782295083; 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=JvUHTF6DiDGjhs7DNDSIPta5tRFzJp586rl4ty8f5OM=;
        b=dMV+Pl5oY3+8y9GE8VLdDwCjYrlqd7Ta+B1I3xCibmfoDsI8gDacVLQxee0qB9drxD
         ce1XaUuQGuB6zWwO6nmyccLDPk2lWgN3j+ZzUZunFpv5cPpqm7dATo1JrfgQWAixKT8A
         YFQn31vpWF/rA5NFnrczXTNERtTFQ7nlAZXThCvcerh7M+UROKX/GIPjQ23usbE2iL9y
         7ONY133ppLhAkknTeew2kgdEObPgoyhPVPprz0xl3TatOywI9wId9LPm8JDLYkBRlEsW
         76vkdde2HwXEwvmfSbloKHOLQfrJMx0Hzk+RdKMdaXoIfdIKInXuLJwk5pfAb9LKmUw2
         yITA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781690283; x=1782295083;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=JvUHTF6DiDGjhs7DNDSIPta5tRFzJp586rl4ty8f5OM=;
        b=ZPEPW2mUknEu6kll9hqDROPd4TL+M4vU0/pleGZluw6TGbtlLMX7T0+kHbWc07OVKI
         zulv904/FgyN6SKmT0KdOyLCwOtP5u1zm/u0U7jRnT89z3qeBxf2vPa6F0KQXOsNXqgY
         n80fVn3NnOLfF8zEE6DCYRjh+SdWczSoKGx4yohYXT0U+dNsrqx4wXXqD4seaOITBlqf
         Lf1hiMBvsPLFKOqv7nnTX6Wz0JoID0fj9ZOxse1UJ2Q/JBWwZTVNxnmU5lSNYiHgA0W+
         3Q+TFZ0Jb7hdo4VlcAoApxxEp0jH48PhLq769xm8RZP20YZYGfr59iyHCEpZOcSi35mH
         6fWA==
X-Forwarded-Encrypted: i=1; AFNElJ8yq6cGkUhcze7qg+ocJDWvnsEDlXZTvNeylODDP1kvLTtdmGgT4IZ5OyuuF0EwJKWUN+PJnsxLOzY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw8uXIRBEnce0cwUUA8PC2gRZ5CMrWQgKCP9OTJ3kHUvjAVCLqi
	354ZmchuPbk8ZbEzl/5ZcmliKe9Hb0oxv52GrunuTrjnC84LeCvxj9Wl
X-Gm-Gg: Acq92OFpwpAAH23xZaif8Ns6wzTOb9OQYAuoxzslgfo/FmZO4fuBhIzvzE68zqqDRqF
	wHPfOc1xX2cXIvTU1/Dt1tkJgw/sbKAzM1troNi7f9K43K9uzuodzCJzUJ4h0BFN+I0Ga9nAVOm
	VsWj6fu7nCOz05Nc9o1N6dtJ9tKv0nwX6gwZDQk0aM4l/0+SihNh0ewhvJq80W0HaPFr8II3OM0
	LQfgsdpA7XpMm3mITnPq2KjdddwM3Nh+5prF6xWlhoura73ZYU+VUdKpvNzvm/8WjDq1xeulPii
	ELTffyJhaa4/ZIKUaj+757bb3n+sG0VFJ48IUbbk4Kn2rqGjAmIhGcsPIhEo4GvXETyrYEE0k+7
	xVT+cknF6xnTrSXbiMQ2uqYKBAN7oHS4X6k3O+u6BZ0sLYyBRGqb5tzX98IlK5Fjcz5VgRjv1tu
	DVWV/9gHid0TFf8QPV70YIfW1kNvdW5/k3MMwgfEPEPPHivoc2LdwCJaE6aALcS5ocDaA=
X-Received: by 2002:a05:600d:4453:10b0:48f:e3e7:3d39 with SMTP id 5b1f17b1804b1-492341086a1mr29527175e9.11.1781690283380;
        Wed, 17 Jun 2026 02:58:03 -0700 (PDT)
Message-ID: <1514083e-6fec-4b13-9541-90fe412c40eb@gmail.com>
Date: Wed, 17 Jun 2026 11:58:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.22? 1/7] sched: introduce specialization of
 "running only" vcpu_runstate_get()
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>, Dario Faggioli <dfaggioli@suse.com>,
 Juergen Gross <jgross@suse.com>, George Dunlap <gwd@xenproject.org>
References: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@suse.com>
 <a35b4b37-edc4-4173-b30c-6ff0fcb44df0@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <a35b4b37-edc4-4173-b30c-6ff0fcb44df0@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1781690284-1815DF3B-3E1953C9/10/73395122804
X-purgate-type: spam
X-purgate-size: 506



On 6/17/26 11:26 AM, Jan Beulich wrote:
> About half the callers of vcpu_runstate_get() are solely after the
> "running" time of a vCPU. Introduce a specialization with a smaller
> read critical section and thus reduced risk of a need for retries.
> 
> Signed-off-by: Jan Beulich<jbeulich@suse.com>
> Acked-by: Roger Pau MonnÃ©<roger.pau@citrix.com>
> Reviewed-by: Juergen Gross<jgross@suse.com>
> ---

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 10:29:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 10:29:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340018.1601023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZnWf-0008Dt-FW; Wed, 17 Jun 2026 10:29:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340018.1601023; Wed, 17 Jun 2026 10:29: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 1wZnWf-0008Dm-Cb; Wed, 17 Jun 2026 10:29:41 +0000
Received: by outflank-mailman (input) for mailman id 1340018;
 Wed, 17 Jun 2026 10:29:39 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wZnWd-0008Df-IV
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 10:29:39 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZnWc-00FEqx-VW
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 12:29:38 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a32770e-2eae-0a2a0a5409dd-0a2a45018fea-12
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 12:29:38 +0200
Received: from [52.101.201.60]
 (helo=PH7PR06CU001.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a327710-c1f2-0a2a45010019-3465c93cb8e6-4
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 12:29:38 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by BN9PR03MB5963.namprd03.prod.outlook.com (2603:10b6:408:134::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Wed, 17 Jun
 2026 10:29:35 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0139.009; Wed, 17 Jun 2026
 10:29: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=goTgFrH+3Gzi/ANLBcPEiT1DwsUoGHucmnKPrNW1bc5D50DVKNLOc0jkCvxDpKGB/Gmm47NLnqnwEGaFCkecm5FybC1LS5LrzJdSZucs1vFpqhSEhq06vX53zriM9w88P2fyXkPEobDtxyFJl1s2Hor3fFo6jd/cx70LKEzlsCwoRDqZWlgAj5TI5bllzUxPdEnbenyfBGCTkSkDwKNGYIReMbnZjZ/Za/I/D0jAnYZ6JJSe5b4DkNKkTyLK9HRaYSoHrZxIdGmoJYid2ZnR4zYDxSW+tbd2I1fBCW5fTMJYVpVNIPxQ34L9szxqi736dEpGSkatP7sWSrEsV/ZcsA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ogkkzmv9tABuuD/jOrFMsFJivlC9jm9uL0WEnEgyPFw=;
 b=mrpjgHVaHXFjbzD4Xu2O+97xHzUrtIau74dJVk/GiRKJEnsaeAVh1xi4NgyzmHn5EM4EE0BQlVHg/KA9oJJ7dBqwGy+OcvCI9HW+Vz+MHev1LlMTgr1iZQSaLQ6Rf3KxQWqWAAVZSYvKIR8kaf1aN0P6QM7Vioe5NA1RXbSgFFFzQ9bANebtvqaaxNP29Am+9eh0EEd4ZCBVv1Rkijv5BgvHG2ahaUlja59f5y34wMUp6JGAruGv9lEHWpuQImvucWvykKdSroa9gT0WLre5hHTeKN9ATrUMntzd6Bpe0kKJG0nTUkxoRUR6EwdVOVCLVgdxRkakqfjYx1Qrovq7MA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ogkkzmv9tABuuD/jOrFMsFJivlC9jm9uL0WEnEgyPFw=;
 b=f7uPcWTM/ZWP0MwHYhk7y+gKHHk0304sigQTDOltBV1z3lwHbVjwehcqoGU86lNQhz3sY5MNXox00ZJ0S8lqIV4w+cyao52I+nt2aFvWtfy4XeRJSv8rZZxGpU7K428GD4B59rNkgpYJECHwXpclADHhjCp3ehPaTxoWGxI+Cs0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 17 Jun 2026 12:29:31 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Marek Marczykowski <marmarek@invisiblethingslab.com>,
	Daniel Smith <dpsmith@apertussolutions.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22?] x86/EFI: arrange for non-discardable .reloc in
 xen.efi
Message-ID: <ajJ3C40FLsyBZn-U@macbook.local>
References: <652b57e0-42f8-47c8-b94d-df862874aba3@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <652b57e0-42f8-47c8-b94d-df862874aba3@suse.com>
X-ClientProxiedBy: MA3P292CA0028.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:47::18) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|BN9PR03MB5963:EE_
X-MS-Office365-Filtering-Correlation-Id: 50f49ce9-6f11-486a-9a29-08decc5b5368
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|23010399003|376014|3023799007|18002099003|22082099003|56012099006|11063799006|6133799003;
X-Microsoft-Antispam-Message-Info:
	dXpVFL0+jrWZFj0mPzjDoxb2U6BN8CWIjmY9g5qNiC4T7Wd6HFrajVJb9tBvLQIGQ0aFfY1E9GJGroRluPs3GPiov0UVbarWJAZzj54oG5oZQpa34DkszEEYaT5nq/SkGEezWeSswjMCebR4ZU3yUo0a/gmAGMQc+FGb5tkaZ1sn1W6iubbf7Z4pmig1pan3+KehlyMP1l4ocb4aJKGTevO8N9MszSRETcpLFAelb9S+WNwXKqSlyDcH503K/tviYgBTNz+3Bz90vX6LkOG5d5nnbxIbRrgnmGkIMxN7hVEeF6epmZ7B8+clTlEPNzkzOiVMtuppc+iFItV8wKxpDL+eyX52Gp4j78ZdFYfcocu/lWe0aWaNmR/DSo2xRDtAyW2VU1VOobpgHcWqRBuzU93fj3UCKNbmcKV+YMvTc9rQJc3EAJVQ5JH39cKcueOZYEXXSVsxYvCMhaiS85fYzLxPHQFHL02SLoChZ+wlFdcLYD3P9U2WIwJj3XYZqokXloW7xJR5puNFdPs1PJ/UIGqbFkTuMqpq9Y+i1ko7Q/FhyBJFaqkCKmk6ZdQ4gK4f56Pqd7WnrtdRXpHS7acGQZGI75oZRalg2KnJjq/yZ46gHZj1W+q/TriT0hJjNUTfk0KABeRW7J7kRMKY7Dn35hdBsoUB1r70kP0eDGirV2DaIFBu93ZBx7qkR0Xv+PoJ
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(23010399003)(376014)(3023799007)(18002099003)(22082099003)(56012099006)(11063799006)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Ni9KUUNlUFFKdEw5MGNxR05STFlONXppS2N2WlRMQlp5ZkJySGNhR0JBeElH?=
 =?utf-8?B?RHVoOGlhSkJIWFB6RHpzWWlralFDUlpTL2xGTHg4d1ZZNDJZa2RmNkRnK2Fr?=
 =?utf-8?B?SHZubjFZVkJLdjhmQm1jOFBiM0c1RSt0ZFAwV3VkU0kwR0ZvbUZqNG5MaTBZ?=
 =?utf-8?B?RVVXYTVLUjIwWVhCbU5zak81bllzVWpkL1ZHVHJOSUJvaXNVdzZPSWNOdW1u?=
 =?utf-8?B?emhJRnRmZDFYcEZON1p2WmJzYStsM0hRRGlSd0Vvc0RUMFJLN2c3NzE4Q2Ew?=
 =?utf-8?B?ZUxIQjhFRU0wWEl0QXBnSWEwYytnajkwbldWN2o0YzMwRHAwd2JaaGdQN0FF?=
 =?utf-8?B?MnFXOHJvc3FQUXpUQ2ZWamZ5eFMzREwyNFE3eEw3UGxHRHRXVy9uRDBRZk5F?=
 =?utf-8?B?ckZqOE8zbTJNWnU5aGQ1bEt0SWR1ME5mSnBLVE9UWFg1aW5kT2Q4OWNieWV2?=
 =?utf-8?B?akZReWRHQnhieUZPOTRkMEViSjFRV3E5K2JtcTl5bDZkaXpiOTdZNmdEMVVt?=
 =?utf-8?B?YlNSKzk3VUhlYkFML2w4d3J1Um1adUhVVjkrVEFxbGFqMENSYm0vNHBPdHJp?=
 =?utf-8?B?MHU5bWdJUFlJRm9XamZXbVVPMWtRc3BCWVdoSU1oR3pMUHNNcEVrSGRvc29B?=
 =?utf-8?B?cmlYSHlZd0JDUlpGbDBBZnpJT240cWtiSmoreTRnMjRwZ1dzVHRlL0JsVmpP?=
 =?utf-8?B?bElRYUJSbmM3cDRuQXdybFROcTU0NmV6TFo0cmpJSGRqTC9WZWpwQTlyWVl6?=
 =?utf-8?B?Z0lyODhKNWMwdzlmQ0ovaGNXeFY3TUNEQ2E4YXd6WmRGUXlSNVFyT2FtRjNx?=
 =?utf-8?B?WUI2Zml3eUVIMHRtYmEybmtsL1BBQjNoRmRLYTJjOFFGUWhMUTArak85TTZ0?=
 =?utf-8?B?UkJTM0d5am9nUG1QRHh1c2hRSlpUNGdHZnIzYXJwcFY1SzE5Y1QxV3Z3K3JK?=
 =?utf-8?B?RXo2THZETi9xMU5YVktVMk9DZU5RdUt4U0JZZE5rOUdyaFd1WENHemJzd3NK?=
 =?utf-8?B?bXU1c3NjUUtFUFF3N0lVaXNWVkhiTkJtRUt3Ump2UUd4MjdRVGhZL01QUW5l?=
 =?utf-8?B?SzJEcWUzcHhLRm1EVXpNL2ttN05hQStoNUExZEZUQjdIYnh6cDFJRVc4cTRL?=
 =?utf-8?B?akNvRHRJamRMQnUycklKZnNnUW9teTllT3hZUnNtS0FQN0ZGMHlJcHF4UmZl?=
 =?utf-8?B?aUFNd0U2REJVQWVyUzQ4aVpEZTMwQTZWcFBOVjNPdHppZDZZVXdxT1BOaUQz?=
 =?utf-8?B?cTB3WjdCNjlqdnM5Ky9uUXdKWkpBdkttait2ZXVxQmNLSkduYXIwdWdsbHhJ?=
 =?utf-8?B?Mm9RVFd3ZHVZUnlJN0NLRC8welNzYWJDYTVaV0QzazdzaU5sUWo5YkdjVUsw?=
 =?utf-8?B?Q25iQ1I2RjJobmtrcmpmSXFCK0x1SXJkdTdLcU5JOXdnZkF3RTdKbFBmcHBL?=
 =?utf-8?B?aGx3REtnUTdhYlFTK25mVTFkVFg0ajY5S21lWDB6UXQwbTdxS21hK2tsNWRF?=
 =?utf-8?B?emhNMUVlYk0zNzg1M1JoRlJnem5DSHVtRG1rQnBtNktONG54am9YRUpVbXpY?=
 =?utf-8?B?Y2V6YlluK0JhRHZrMTY0YU5JbG40SXNOemRycExuMDJ3RW5oMUNCSlBScVlo?=
 =?utf-8?B?S3Rsa1c3YmJzT1FTc2NHWEM3bExZMGVHdTIrYWpmYWp4UjlsTFc3MFFTTlZm?=
 =?utf-8?B?OXE1N3Zuam9IRFp2Mzh2M2R4bm8zZFYwVTdlZkdYOXh3L2xRQVVHMllPaFhW?=
 =?utf-8?B?b0NiU0ErYTR4OTNZRkp1Vk5ZYmc2SFlMaHluYi82b28yakZVWlVDcklaU2Ez?=
 =?utf-8?B?a3ZOUjBYV1g3VVFnc2V2TVI2eUZRTTVYbEVDSUxUejBIaTA5K2RiS3NjTmlH?=
 =?utf-8?B?RmdLanN0S205Rit4SmR4U3ZmdHFmZFo4dzg3L3A5NW1Ob2RCak5wM3d3U1Nv?=
 =?utf-8?B?R2xKVExDTStRM0VkbmhqUHBtanN0WlIwRjFCYUl6UzhLdU1na2hZbE1lSE1x?=
 =?utf-8?B?NXQ4TlZVR0FXU082UUhPWU5QNVlpODV5UmZIOEJxRXppQjM1WmUwcUZ5UmNa?=
 =?utf-8?B?T0ZXWFNGS01TdW05bEgyNnRYeENadTRDWk92RXEvZWF0S2RyVUtrVHZpUjNz?=
 =?utf-8?B?UkJSWnVhNXJmZEFEb1llRGRZaStraE1scXEvcU94STZjNzY4eTJUTC85Qkpm?=
 =?utf-8?B?STVsbW9yT1BGMmx6TGFHVStTS0pNQ3hPRWZGczJ2Ni84a1B0OUtQbUI4dERu?=
 =?utf-8?B?clVSQVlveFcvQkpZRUpmK3U4VHBSR0premRJek8zWHNaTkFuTDdDYTQzbURG?=
 =?utf-8?B?VmgzWlNXM2Q3MlVRekFocXMra3BBR2JoeFNLN0U3UXJJRXkrbjc5QT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 50f49ce9-6f11-486a-9a29-08decc5b5368
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2026 10:29:34.7964
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6Xgh4lbJZQSd65vqv1TKes8R2VTV47/P5c1NuGkg73TGhQopySBkoeXA53NCx5OZkLNO+Q1Z31EJEssoqf8ekg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB5963
X-purgate-ID: tlsNG-d62444/1781692178-B7754FF4-D4A382FE/0/0
X-purgate-type: clean
X-purgate-size: 810

On Tue, Jun 16, 2026 at 06:17:54PM +0200, Jan Beulich wrote:
> Loaders respecting IMAGE_SCN_MEM_DISCARDABLE would not load such sections,
> yet we need to access it ourselves when switching out of "physical mode".
> Leverage behavior new to GNU ld 2.46: Any contribution to .reloc which
> doesn't have the discardable flag set (which cannot even be expressed in
> ELF) will yield the output section also non-discardable.
> 
> Since for intermediate binaries we don't care about section attributes,
> link in the new object only on the final linking pass.

I'm not sure I follow.  Xen already does generate a custom .reloc
section without the IMAGE_SCN_MEM_DISCARDABLE attribute when using
the mkreloc utility, and hence the .reloc section should never be
marked as discardable?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 10:37:47 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 10:37:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340030.1601033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZneR-0001Zw-Bt; Wed, 17 Jun 2026 10:37:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340030.1601033; Wed, 17 Jun 2026 10:37:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZneR-0001Zp-8C; Wed, 17 Jun 2026 10:37:43 +0000
Received: by outflank-mailman (input) for mailman id 1340030;
 Wed, 17 Jun 2026 10:37:41 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZneP-0001Zi-9d
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 10:37:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZneO-009Vjb-M4
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 12:37:40 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3278e5-e002-0a2a0a5209dd-0a2a4501a9ee-34
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 12:37:40 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3278f4-c1f2-0a2a45010019-d1558034e421-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 12:37:40 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-49230a567a9so9631925e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 03:37: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-49230a4fd31sm144571285e9.4.2026.06.17.03.37.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 03:37:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781692660; x=1782297460; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=5cuPmsAix0lWpW7OBcUSMzuZfMoJcDcQS6cXV4YyPCI=;
        b=JwSBW/1sevy75RmXiomUikceqaxGSeE4ToXBY4kvC2CpnVIevrCfdj3BWS4A0SEYDd
         RtA95dPTo4gg5zRAaR8HFyByq3mHcfk7N6K21AEdNpaCMI9MWjraua6JVKQeND6/Dg0g
         8Uf7ZlvvQpQ1cNkFUUh/HXMErAmo3zkz52rhyypqRg0xrLm48SVND70UC7pppnzfBawV
         LiylTBjuy/9A8wHOgHyiIgGmWJ1CMs05Th+kH4feWgCyR3MwIRtCRT9lcoTDVFI3CF2/
         YSZxt6DH2NYTicwV/u+QmmTGlhDI+qWRD0HtX+GCU91uA0+eiz4t5wy0dWO+V2aP3z72
         KpvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781692660; x=1782297460;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5cuPmsAix0lWpW7OBcUSMzuZfMoJcDcQS6cXV4YyPCI=;
        b=XkgHzhzpUaUFjLRaSuVJm+jlgOoyTe2ns6EdD7cxyqV+gxejQtopwrWDV33TErHeNK
         a394WocgLhsIiTaUN4MHkWCz3eNeBsXfTxXlUl/8YEIdt4hBY4xw5V9LT7HgA4gygu44
         gGbp+8fhDx68wMwcEVHrdSdiViD7YgIA+KVek0Wy1/ry0dbNL2rIgDKVYIK2wk3LttAg
         lTFDpYZfWrOC8h6iKIZW0IUpdmfMJPV/NWu1ASz3NAI+STFHhx59ymK1kHVrqVgLmbcY
         pOuelLhZ4+7dYvR/AglObOOce6p+KgOZ0UKHGcYcWMwm5hr2Hkma3SNeq3LuT1mv1lTz
         +7rg==
X-Gm-Message-State: AOJu0YwC3MX7lkXLtubiyhekbEmHrvBfQaoKBPf6YfEL1ReE1kL5FqSx
	42WIPdHFu6MUZcema4MkMud6caKmIv0ZaOWAYj5cGRlBn+WYEjxrWr6p9zHGOwnusT8QdI1uT6I
	xnNk=
X-Gm-Gg: Acq92OFnoxQB86TnxvHuKY6XcPEdhi6kZsem+DCbj69iGB/zY/hnkH61HUvxLSYYy1N
	NQYEMMXlGF6ep6gLcysHx8ZPBN0Y9R0A+MmpHWVUBAqj4QNrnnWPoj8EomJZpRCC+gfkWC9KCEh
	UU0w5jn/SPlUj9R/fiD3t2NMSULmwbrtGA8VThbe/fJj3Fanrh013I+pdSrJdegza/5Ryf07Sc3
	uoN0jJMB6slGaTYCBMua2xRSCJEuK0NRsCF9vbssfr9Zt6DvUlD1Z7OAj8n+n50n8mkpYYm8maY
	FUc+3awlT87FfqCz2W0cm4pzzBZxZ6PPexoveeQD1Vs7kHzYtSMgS2ypSWTFMmTRXEuqW/YUjJ5
	vOtplGeQK+umAjWMxnieB3Y77fSkok4PoALmF9Ixrass6BQSfr27MQ9GuFjay01QXfZUfWKhNrR
	3IjGcJFDd/unABRErk7x7yWzh4oYmYhy7G9FtYbSIYiozFkVnx1PsMG7TIz3oHyRgN5Pkc9yBEb
	Xpe
X-Received: by 2002:a05:600c:6384:b0:490:bad7:3634 with SMTP id 5b1f17b1804b1-4923341f6dfmr52100945e9.19.1781692659969;
        Wed, 17 Jun 2026 03:37:39 -0700 (PDT)
Message-ID: <a307207f-7cf2-40fb-927f-bbaa841b94ba@suse.com>
Date: Wed, 17 Jun 2026 12:37:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22?] x86/EFI: arrange for non-discardable .reloc in
 xen.efi
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>,
 Teddy Astie <teddy.astie@vates.tech>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <652b57e0-42f8-47c8-b94d-df862874aba3@suse.com>
 <ajJ3C40FLsyBZn-U@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: <ajJ3C40FLsyBZn-U@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1781692660-AEF58FF4-ADA21F1C/0/0
X-purgate-type: clean
X-purgate-size: 1163

On 17.06.2026 12:29, Roger Pau MonnÃ© wrote:
> On Tue, Jun 16, 2026 at 06:17:54PM +0200, Jan Beulich wrote:
>> Loaders respecting IMAGE_SCN_MEM_DISCARDABLE would not load such sections,
>> yet we need to access it ourselves when switching out of "physical mode".
>> Leverage behavior new to GNU ld 2.46: Any contribution to .reloc which
>> doesn't have the discardable flag set (which cannot even be expressed in
>> ELF) will yield the output section also non-discardable.
>>
>> Since for intermediate binaries we don't care about section attributes,
>> link in the new object only on the final linking pass.
> 
> I'm not sure I follow.  Xen already does generate a custom .reloc
> section without the IMAGE_SCN_MEM_DISCARDABLE attribute when using
> the mkreloc utility, and hence the .reloc section should never be
> marked as discardable?

mkreloc is used only when we recognize the linker to be incapable of
producing (correct) base relocations. As a modern linker is required for
the desired IMAGE_SCN_MEM_DISCARDABLE handling for .reloc, mkreloc
wouldn't normally be used there. Hence no .reloc section with the wanted
property.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 10:53:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 10:53:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340047.1601049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZntk-0004RX-Lf; Wed, 17 Jun 2026 10:53:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340047.1601049; Wed, 17 Jun 2026 10: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 1wZntk-0004RQ-J4; Wed, 17 Jun 2026 10:53:32 +0000
Received: by outflank-mailman (input) for mailman id 1340047;
 Wed, 17 Jun 2026 10:53:32 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wZntj-0004RK-Ts
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 10:53:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZntj-009Yrq-AD
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 12:53:31 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a327ca2-5cb7-0a2a0a5109dd-0a2a4503bb22-12
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 12:53:31 +0200
Received: from [52.101.56.15]
 (helo=BN1PR04CU002.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a327ca9-672d-0a2a45030019-3465380f581a-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 12:53:30 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by SA1PR03MB6580.namprd03.prod.outlook.com (2603:10b6:806:1cb::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Wed, 17 Jun
 2026 10:53:28 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0139.009; Wed, 17 Jun 2026
 10: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=kgbdXcoDOts57phcD+Kz2zRDnu/LBeU9WwIA0AnY21Wa7xRf3HIlHPcWtA+5nZvJdlSmmFZpGO15EG6GDfln2clHzviiLjcJizZ2PSQc42boz8B19C/qndenA7Tvz3Zf3sw1f9Ug4EfuuD70y6kDrS28lJLgO3MKJEwFg0YPywxlFlyyXIhkDA6/wjTRd6vCFKgenkjpb3wg8EjmtNi8iscvzdPVksIhx6N6FiaAZ/S7HB/SDxEA0uHmn5X7S7ZmHK2KCCY8i3PTCszlPuGYrXcZLt1oA7u4R2yCPYkPZF3hqFLxKQQSo4WZpIB3N2fj7cpLQUwMxg8fXB+ISlXqAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jthMzj7OmyhgY2i+pIhL/u2rZtxKj1FxIx8XZffGD2k=;
 b=tgn3eoH407+sAlFVdkcz9kWpg8KRXMTjYrgH52rV6ZPdO2j81y4iaDcWUScqW2Mi+jmwZXT8k6lmPDCTp+ucjFoyzXkK8NTs1ciwtbTL/JDuSKhdlLTT8bDyRaI1B4pNS40SqU7miDu1tEi9hyhZTJo++8NgFn8SLNoA2oGAZYy2ZwQlKJt88qRVciwE7QkOEQOaK1B7RXEjjpsmtDiYbCnNWDPLib7WzwlxvwSUcjgmW4fiZuXJXtdXEc1qiJf8IZwFkuox0fuCJkVV6ROvdHNBY1ThBwZLWYEWh0um5tk2R8VswzzXD7w/LTsgeLnkLVVkjGEjatCRltMr3tGa8w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jthMzj7OmyhgY2i+pIhL/u2rZtxKj1FxIx8XZffGD2k=;
 b=D4W/zgT4FEQdRw3/VGLBJGgJMOw+eKQQNcFBPQQ7xji+2FDXqg3WX8HsyC8KzyZaAYwNolhtnWQukKUvI/JZi70pzpUrzRxlZYHcODFG8NiVNNLlBx+Yb7dSsD0qNIlGw8cf+5jiK/t4WW6nkcRAw35uNSnObc9ElyVPRmddmIk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 17 Jun 2026 12:53:23 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Marek Marczykowski <marmarek@invisiblethingslab.com>,
	Daniel Smith <dpsmith@apertussolutions.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22?] x86/EFI: arrange for non-discardable .reloc in
 xen.efi
Message-ID: <ajJ8o2U3Gn3zwjqt@macbook.local>
References: <652b57e0-42f8-47c8-b94d-df862874aba3@suse.com>
 <ajJ3C40FLsyBZn-U@macbook.local>
 <a307207f-7cf2-40fb-927f-bbaa841b94ba@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a307207f-7cf2-40fb-927f-bbaa841b94ba@suse.com>
X-ClientProxiedBy: MR1P264CA0117.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:50::10) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|SA1PR03MB6580:EE_
X-MS-Office365-Filtering-Correlation-Id: 04d3b653-8de1-4053-1339-08decc5ea98f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|23010399003|376014|1800799024|6133799003|56012099006|3023799007|11063799006|4143699003|5023799004|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	ZH4J+mIiFl1TJ+OOGkNNa8nCc6rhm914JfrpKlczpQz60E8dlYJ/ZcyiHRuhupzMq234dwhHphAlzxe03MZMEI5MKITyJEJ/EJvFbWSraxTQYPV2PGrB/TWjo7JGFXXFbIBf5oAmm+pLqL/ZqvcQ69JRLaFOxuLd2Dvdt0vwifH5KepI8f+BBwJkFo46/lOGlqM2k5aNYpboOrsgw8iv4WSlfIG7ccYizYkgFffIh7EX4qSmEO6HPCLacgX3UhN80Zn1UQlXm0+Z7If1JmkycDbBYaxg93SA/msGLQ2wRvqkL5v3ridsGoPiM6P4BIEzmx0IqZkV78cPvUE/+dj9M71hU+0hMC2pqOqoGfhWoeLiYUtTFgwB1Jvbs4AAUiWeih1LgCLSPfb8OHivXEK9aVzJCZyc5DvaP4OcWCipMCAVJuJR7/p16jroSs3HzM+bUJJ51ETkjNbXLitZOiVUmrIa/MguJPZ2nax7RiaqwrmLs40/qvvRErxlxX8x8s9DPXDjGIAf2lrKr01TN5w88rHKHzKdHNznX8LSqJDr/PLooWEGf199r5UxCZtVPAtr1/rvnZulu6xWtjxnxtpmRkAmq7NiTpUjE5LJBnHnBO/4re10nmjDSJMkZZhfNuIIebvjH+mM4aJYb0w6N2JYJjG7nYvoRdcQ9fm/KYo1NtgDCf5AKF6AB4G8ZlBg6aNG
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(376014)(1800799024)(6133799003)(56012099006)(3023799007)(11063799006)(4143699003)(5023799004)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VmNyZitkNURYSVFBbjA1Ti9oK21jUXB5Z3Q2Y2V5UmkrbkptY2k2Z3dvYm9U?=
 =?utf-8?B?dDN4MW82akJMUWs0VHZBMUo5TlJabHlwZk04ZzMvb21wVmRIemNUMzhzSFF0?=
 =?utf-8?B?NkhZaUFQS2Y5b3djSHhNVmRaRWM3aTZkVlZaT2t2SVdZbmUwc1ZpcUlrK3R3?=
 =?utf-8?B?aEVlZnkvVWxMZ0l6dkpKRGM5R0JWUkVWMVZwa0tLM2xSd0lnZ2NTYkp2bnVG?=
 =?utf-8?B?TEZIbU4vVHErVklKcWxSczFKdDFOVFJicTEwYWF2cmxYWXRWaHkxVjFiU0dr?=
 =?utf-8?B?M0RxT3owOGtTODBYVVVicHNJQ3RzTnNPU2dWbkZWTzlpRDVQS3FGbDJpUHBC?=
 =?utf-8?B?NStZMkNWdW9HZzFvU1kxV2U1NjFSRFZualpLNzBnei8rTVlDZDRoVFkxelRp?=
 =?utf-8?B?SUhZMDhISFRPZXpJbm5wOWt2UG9CSFFOVzBCRm9RUTdkR20zSC9UZ2VwWlJY?=
 =?utf-8?B?bFVUN3lVVWpXbm9yMHFhT3prL2RlQzU3Ly9KeTRMMGo1N3JiRTduUXF3UXly?=
 =?utf-8?B?TE1wWnRzb0pmeStSbnhoSGNnQWc2VHo3bjR0Ykx6SzY0NTJSbWlLRElaY3VH?=
 =?utf-8?B?dWl4MkhxckZ2TGtnUWxqUlhEUnNvS3VnRUVlV3ozMnBMdUpDTGo0cm5RRUQ3?=
 =?utf-8?B?M2FzY1ZLWTN1MkxYb1h6RnY3d2tGQ25iSkRKLzNWM0hZK1djY2VlZ1puYWow?=
 =?utf-8?B?V3VYRjJ2MVI4aHNUZUc2bmE3ekJPM0VFOGhQcVNPeWlFdWRPRjVZQjhEa3E2?=
 =?utf-8?B?VXVJSVBGdEM0MEJVSVd3bUsvWkNZa1NuUFVYODV0bDNFNUlNa3NHTG80THZt?=
 =?utf-8?B?VWtRRk9GRWw0UWx4SHE4VUhJdkdZNTVJM2VuaS9FajVoRGYrbFo3MklhRGQ0?=
 =?utf-8?B?NW91OFJEbW1XdiszN0hrU2VDaU1kcXh2VG93TFU0VSt2aDQyLy9pNkdwc3Bz?=
 =?utf-8?B?VkJSUmMrTVVCODQxMjJ0TEtpOEM4dDMxZ3V3WWJ1cjdvbWN0Ry9oak9ha1FK?=
 =?utf-8?B?dysvTGdON2FwSEVSVFR3SDBzZWY2RWVneURoblZEbWxZREFpaWVYOGtZN2du?=
 =?utf-8?B?cmZrNTNKYjRyL2lTV2RhNGVKYk5SN1o3RW5qUDVmWXRVbnBSMGtpb01ZZDNT?=
 =?utf-8?B?d1ozMUhBcW9LZ3V1RmhmV0s2VlVXZnN3dXo3a01qaVloRU5rbkRuY01Qb2Zw?=
 =?utf-8?B?eVFiSDJDWG5YaWhRc0tjcWRic0hKVEtWSlFkQysyQW4zK004bDJ4Q25zeVVN?=
 =?utf-8?B?Tmo5aU82emt2ZXM3Nmx2VDE3Y2szS1FGY0d3VGRTWUpVazRkVFo5WnIxM0ZN?=
 =?utf-8?B?VEdBT25FTDFFdGR5Nk1VUXZWL2svUEZiRitBMGZmajczRURlNjl2R3BYVWlK?=
 =?utf-8?B?NHB3VTR1ODhwSWxNWFBkMEhCMlRVVkpycWdzb0gyWXlLSCt6ZFJTYmpPTmZV?=
 =?utf-8?B?cnVkYndja0l5dTJENlV2anRYMlo1MC8rRVBLSm0zV2k5eFBzSDM2RCtzSHhR?=
 =?utf-8?B?cGd3aTcxS2c0akZNanZkNmFBQm5pSEJmT1paTWIyUU0rOEkvU1FyM0oyelNV?=
 =?utf-8?B?Z1VKZCt5Y1NWLzRpSlpiV090bnJLQVBFNXQ0aDVicVBZNExvbllXTHlnL0xP?=
 =?utf-8?B?eTB6dkN1WnhoZUJVNk1JakVuUlpkOGdXZGY3ZVc3aXFxbnVadGJ4cjdmek94?=
 =?utf-8?B?VEh2Tnl6eTU0L3lXdUtqSmlLcU1EaWdmbk5ocHR6cHIrSkcrQ3dKUzNKS2h6?=
 =?utf-8?B?bU50TjdRRm5GQkZPamdHbkJhYWtXK3FpQmRCaVZkTnVTMHRqTW9vUkJiWnI5?=
 =?utf-8?B?S2thU21sRlN5WkVHSWs4WmY4dTIwbTZERUo4OGdBN210cHhUU2FWNjhSS25q?=
 =?utf-8?B?cEd0S2VMY1VEcmVtYmJXdG81cUo1SUFIT0RxbEhMQldCMW9qbHB1aW53aDlH?=
 =?utf-8?B?eTlFZnU2NnJKVThMNUgrMDVIR0FCOS9BNVZLS2xKVVEvVWd0QjZKQVc1VVA1?=
 =?utf-8?B?eVRFTm1mNGFSdExtOUlFWHBIZlowWUpHSi9pVE4vMHZSSEN3VGZYYjdvYVVG?=
 =?utf-8?B?dkNZK2V5MmtNdDMvSHVkM2szZmtGTWdwak82bXR6NVg3ekdNTk53VVhEOWRH?=
 =?utf-8?B?RThMRUpLZEthZjM0QUU5all5c01zUlBVd3FwVUxtK3lUYlJ3SGVCVndqeWwy?=
 =?utf-8?B?YTBUeXdqZUV0UFNZK2srNzdac1hXcytoTTZGa09kRkNKdHAyRG5pVVQ1Szhs?=
 =?utf-8?B?cHVlN29YY2JFRFlnTE9URGdsZm9rR2wveXFoNXBNeEdLZ1doUENITDlteGhN?=
 =?utf-8?B?TGFxNkdFcThDcXZwd1FXd2FIM3U1OWNLRmcySlVvL3pnZEZRb2o2QT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 04d3b653-8de1-4053-1339-08decc5ea98f
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2026 10:53:27.8773
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uSpf/ZAjais7cV4rcO7ifiEa3CIgsb2qPOj14FyVCXI0d4ldxDEt2yttlupxt2bZySSXYlgCes0N7uqx7MyKbA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6580
X-purgate-ID: tlsNG-33051d/1781693611-4086B938-6C71C661/0/0
X-purgate-type: clean
X-purgate-size: 1388

On Wed, Jun 17, 2026 at 12:37:38PM +0200, Jan Beulich wrote:
> On 17.06.2026 12:29, Roger Pau MonnÃ© wrote:
> > On Tue, Jun 16, 2026 at 06:17:54PM +0200, Jan Beulich wrote:
> >> Loaders respecting IMAGE_SCN_MEM_DISCARDABLE would not load such sections,
> >> yet we need to access it ourselves when switching out of "physical mode".
> >> Leverage behavior new to GNU ld 2.46: Any contribution to .reloc which
> >> doesn't have the discardable flag set (which cannot even be expressed in
> >> ELF) will yield the output section also non-discardable.
> >>
> >> Since for intermediate binaries we don't care about section attributes,
> >> link in the new object only on the final linking pass.
> > 
> > I'm not sure I follow.  Xen already does generate a custom .reloc
> > section without the IMAGE_SCN_MEM_DISCARDABLE attribute when using
> > the mkreloc utility, and hence the .reloc section should never be
> > marked as discardable?
> 
> mkreloc is used only when we recognize the linker to be incapable of
> producing (correct) base relocations. As a modern linker is required for
> the desired IMAGE_SCN_MEM_DISCARDABLE handling for .reloc, mkreloc
> wouldn't normally be used there. Hence no .reloc section with the wanted
> property.

I see, MKRELOC becomes ":" then, I didn't catch that.

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

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 10:56:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 10:56:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340056.1601059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZnwW-0004wr-2L; Wed, 17 Jun 2026 10:56:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340056.1601059; Wed, 17 Jun 2026 10:56: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 1wZnwV-0004wk-Vh; Wed, 17 Jun 2026 10:56:23 +0000
Received: by outflank-mailman (input) for mailman id 1340056;
 Wed, 17 Jun 2026 10:56:23 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZnwV-0004we-9r
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 10:56:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZnwU-009Zdm-H3
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 12:56:22 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a327d48-e002-0a2a0a5209dd-0a2a4505cfce-40
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 12:56:22 +0200
Received: from [209.85.221.43] (helo=mail-wr1-f43.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a327d56-aaa8-0a2a45050019-d155dd2bb021-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 12:56:22 +0200
Received: by mail-wr1-f43.google.com with SMTP id
 ffacd0b85a97d-4633193af19so106992f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 03:56:22 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2e6a8fsm53799819f8f.37.2026.06.17.03.56.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 03:56: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781693782; x=1782298582; 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=g9ogqjAFwCi2vowAjQHJfzOyE2MxN2KVpVjGkd0uJ14=;
        b=JmIk0AlueoJX1TIaFnZk8CCPdUQ1s08xqA04/pn4jF185UxwzNzga3NiiLVz5JZc43
         wl31KvU6CNwSqLXOUJKPw5fKILTv7T9NANdJV30SZXiF04XFHDERctpSM3/LeDqUl8XR
         LnrgT+nMwFfNhg//Hf77d1cuPaNUgsP2kCLB+snwV6tf/VSioKBizgvJihTeYk2F92nK
         l3c9nDs1TXIAJxYZH5RdT9k/DvdpjX4MGr/0wScIP6VuDRj/ToYEqMiiJKnVcDo2/XnA
         mH9W2wYRrs69JYKIyUSo0m2Hq62YZT/JnBVIwJP3j99PS073j7oAKHyvuPg/b85frzNx
         O0sw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781693782; x=1782298582;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=g9ogqjAFwCi2vowAjQHJfzOyE2MxN2KVpVjGkd0uJ14=;
        b=UzNSQVYWeDPWhTMDmAAJFPrbXgXM4zx0Zv8HFsYQ+do3eCqXo2vLVt+t4cJFEWaOr0
         2kE/zKk2ORPRULqWZmjy6FTehQ7cM7a3yxLWl80+0kitv97MzZ9XZOqvmcmnJ7luOKzJ
         FuMBi0jr5wgW2EG8wHWDOcGYgwi6aFDgdRj+t2PvIM80hdTTY3A1NX1SeHQ66bbgFB9V
         F98fzsEoI8BrJTvBH+RYirOIz94Q9fLFDpYpJIVwnGrY69DvmxDHW1xtkpyV2Xodq1HQ
         2NtDrD3CKuSaUPclYFcPPd9tcz3gAxEWRoC+KnVU1ryhraqfsoPDNfxgBYxppnLgbr9P
         HLuA==
X-Forwarded-Encrypted: i=1; AFNElJ9bHOSX/+HzyhVD4R8wl/4BW7y9nyTTEoqbf3RhHVpRBt1EmzBOjBHbdQOUIG6kKWpZxOzLFDDRqUM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzcLlJ8VfXvnoBdVrESwETdr7GJovVSj05oj/cZ8X7uspTFOApi
	mBJt5NMSVnG6TxZNVFhXHuxES/YykaC2VMrs5Qcmm9LTiSbRBkhYT20y
X-Gm-Gg: AfdE7cm2UseBzdGAloIJGdHBDwjkjM41ePCX3h7r48oj8O/eobZGu4OUxq0fiMAkIbC
	4epVNV3mzHfm/dSQZ2nb+D/NKTAq2Fiw3wQdW9g+HP3sJDNY3MOfJTlxFa0EcpenqEBVlxTahP8
	Wiis62lb09o1Gu7o+3MvZP8R5MfLpEO5Vv59D5aKwOa+bUHgIt5zgCaKs5zy0LZ5U9dUUr21Q6t
	BozewYYnyTi4yWXiLvQJe8m0VmoEYwJnuYEOHu1cj8Bn/RNOyqGP+c3yT76ShdwLfAiSGuTM4SJ
	w6qT/schGnZ/ipWvCppTyH8IpF5gwSN6EyEMHYCgPHzcle0/KexOr+xKOvcRbourr89Hv31+RwS
	a+XSqC6oF/NEuyNSr9AeUtAjscwwNid0rQdf5GsSvevoy75vqHCTzrxcSEp+3hnxT0abBn4LUCR
	zDRwd3Y3yRwO3mV4xPAMDlyCuFMk1DkpKJSRyO2uW3iRf2WkVXHkc6M3WYEix4fb+9UN8=
X-Received: by 2002:a05:6000:40ce:b0:45e:f765:ff9 with SMTP id ffacd0b85a97d-46237f472ccmr6583448f8f.24.1781693781691;
        Wed, 17 Jun 2026 03:56:21 -0700 (PDT)
Message-ID: <4457b798-d553-486c-8727-908ef88ebb1e@gmail.com>
Date: Wed, 17 Jun 2026 12:56:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22?] x86/EFI: arrange for non-discardable .reloc in
 xen.efi
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>,
 Teddy Astie <teddy.astie@vates.tech>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>,
 Daniel Smith <dpsmith@apertussolutions.com>
References: <652b57e0-42f8-47c8-b94d-df862874aba3@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <652b57e0-42f8-47c8-b94d-df862874aba3@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1781693782-D3563443-5EF33C01/10/73395122804
X-purgate-type: spam
X-purgate-size: 691



On 6/16/26 6:17 PM, Jan Beulich wrote:
> Loaders respecting IMAGE_SCN_MEM_DISCARDABLE would not load such sections,
> yet we need to access it ourselves when switching out of "physical mode".
> Leverage behavior new to GNU ld 2.46: Any contribution to .reloc which
> doesn't have the discardable flag set (which cannot even be expressed in
> ELF) will yield the output section also non-discardable.
> 
> Since for intermediate binaries we don't care about section attributes,
> link in the new object only on the final linking pass.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:08:35 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:08:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340069.1601067 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZo8A-00070i-1H; Wed, 17 Jun 2026 11:08:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340069.1601067; Wed, 17 Jun 2026 11:08: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 1wZo89-00070b-Ug; Wed, 17 Jun 2026 11:08:25 +0000
Received: by outflank-mailman (input) for mailman id 1340069;
 Wed, 17 Jun 2026 11:08:24 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZo88-00070V-Kf
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:08:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZo88-008fyb-1Q
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:08:24 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a32801d-bab6-0a2a0a5309dd-0a2a450996ba-40
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:08:23 +0200
Received: from [209.85.208.47] (helo=mail-ed1-f47.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jgross@suse.com>)
 id 6a328027-2497-0a2a45090019-d155d02fed38-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:08:23 +0200
Received: by mail-ed1-f47.google.com with SMTP id
 4fb4d7f45d1cf-695427c153fso1493504a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:08:23 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-695647013acsm669463a12.11.2026.06.17.04.08.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 04:08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781694503; x=1782299303; 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=WedC1mXsbbN4loHE94HnAQ/P3582RQ7Gi6ixRBXYS4M=;
        b=MPXGJBHNTjRf+LmeAYilUufP89KblQfRWyl6r0ZZ/zFDnku3oXOeWhl+ryvN2WCS3z
         Sa+RGKsCBV5krRQRLkm0fsgNqRGwljS9cOsuFlRMql/N0eWThTDOEqVpe3FnQtzlb7HB
         xDhHkv6Ab2z1mlgyacmuPEW9ls/JYFQ0xEWyb5BFmo43VIkO5t0MbxodGtawhBkoKAih
         uA9LPaNs0wyopKZ+Zz5XszeyfkxN8unjK7JTQru5k2G90s9hacz4G6cV3pHuh8KqApPD
         BDLctWKpQhYr1q9NbX/ZBkXvxnNkQGHF2LSWCO6gVPyl82+m0tbMLKqSfzR/UhNkc7hx
         8Ecg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781694503; x=1782299303;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=WedC1mXsbbN4loHE94HnAQ/P3582RQ7Gi6ixRBXYS4M=;
        b=Ff7Yd1DFHCRpTUFMFrZvl4P/CcNmpFZm1z0N7V629RXdHY80Jb6zJIfVdZKv83ZCYu
         /ITJ/3a0jVw1XtBydzG2aLMb6ghGM6PMPfbXCnbW4zmvWiXiEK2XQu7t2bWne6Om3a6p
         RFoRXIqO+Z1I2bcPuZDKOCSiQvzTACiDe7qwVdxlvJSkWxtRWkyA1bRFG5/1EYG+er0x
         C8P449MIju2fFvmck8shqY2VgITx072FiIrlBNZ5Wgl6C7CCu7A3Wo8Rq7jQMnvvkEWo
         cLU3M/yDeL+NVluexstLUaG8e7oPlETg3LB3r3PTPzUYhFYZ9+zHIoT9QxaTa0FzZhyQ
         9ZJg==
X-Forwarded-Encrypted: i=1; AFNElJ9wD3DybCXZObagva6xdZ33l3EkwtKBHAkox9u5F4Vrb1tv3wUGeezP1xIR/6NzV3uUd22bCKTy9cY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzFNs0cc5/90VrfFNT95W27a2V9TPXd+6RCjfS2F4NPPuCD9duq
	HC6dDKIunn+iapU2yQN1v2zq+JJzyNlZhYpiCJmZFA4n1De3a38psDAj1rnN3WXUYAk=
X-Gm-Gg: AfdE7cna27nbaHB5IDR4MbZ/KsX0XZ8QfjYjkpdx7pA3gL+gCQjQeB75UHDhr1g1gOe
	lp46M9xLZI3cTUq86WDZsiIg1G20REbHAdiVLlOCiUddRMgXv9J6txP3e6SNek0wOE9S7TyDQzy
	oiT+hT5PVW6HpRrd5TyYWGyoPS0mckctG8fGSaKUohXj6aIn03LT/plvHSx0I8FOA/+Hyoei/Zy
	jV48Kf6PSvkV4ve0mOCOeySdB5Dxji/6lNKq0THc+btsv/tIjEBbLjQzkbyhTTf9bibgyg4tbpS
	c9xAq5dTgdFqNTjZE9FzOC/+q6DzpYVMGrsTtWYmyIYdEnnbds0NAvzwl1wR+gW45N1Xmw1/3Zv
	nfFG8sWgvAWImGpRIvXBM7wiakg9xsEMTICODA4+ucevaVDcAJBgSW0bEnSH0QqO1nVXG6bGrcl
	GK0KC4XnLcLWwPyTvpX6+T49YLlTVeyN2ibn5yL/5FuKlGRO77997TM31zAxiIEE/QYRzruC+HL
	iIrbIYDh8wlUrAYMybPfAu0VQgAsZClAVleTgcBTtA=
X-Received: by 2002:a05:6402:5d3:b0:66e:cf8d:6970 with SMTP id 4fb4d7f45d1cf-695474312eamr1838728a12.20.1781694503361;
        Wed, 17 Jun 2026 04:08:23 -0700 (PDT)
Message-ID: <e8e8d0f6-5032-409c-b01a-aefca6dd8fe4@suse.com>
Date: Wed, 17 Jun 2026 13:08:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.22? 5/7] domctl: correct return value of
 XEN_DOMCTL_[gs]etvcpuaffinity
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>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Dario Faggioli <dfaggioli@suse.com>, George Dunlap <gwd@xenproject.org>
References: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@suse.com>
 <f223d669-d61f-4110-88aa-e2e71bee1f14@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: <f223d669-d61f-4110-88aa-e2e71bee1f14@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------CwLhzHl9MnPoPEtLRDewSF5q"
X-purgate-ID: tlsNG-bad1c0/1781694503-42F76A53-EBEDE690/10/73395122804
X-purgate-type: spam
X-purgate-size: 8778

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------CwLhzHl9MnPoPEtLRDewSF5q
Content-Type: multipart/mixed; boundary="------------Y0h33gM5s0Ek8ezXuKhFJY9s";
 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: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Dario Faggioli <dfaggioli@suse.com>, George Dunlap <gwd@xenproject.org>
Message-ID: <e8e8d0f6-5032-409c-b01a-aefca6dd8fe4@suse.com>
Subject: Re: [PATCH v2 for-4.22? 5/7] domctl: correct return value of
 XEN_DOMCTL_[gs]etvcpuaffinity
References: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@suse.com>
 <f223d669-d61f-4110-88aa-e2e71bee1f14@suse.com>
In-Reply-To: <f223d669-d61f-4110-88aa-e2e71bee1f14@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=

--------------Y0h33gM5s0Ek8ezXuKhFJY9s
Content-Type: multipart/mixed; boundary="------------RX0ujNUSQHmaAS5PusIPgsJL"

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

T24gMTcuMDYuMjYgMTE6MjksIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBjcHVtYXNrX3RvX3hl
bmN0bF9iaXRtYXAoKSBtYXkgcmV0dXJuIGVycm9ycy4gQ2xlYXJpbmcgdGhlIGVycm9yIGlu
ZGljYXRvcg0KPiBvZiBhbiBlYXJsaWVyIHN1Y2ggY2FsbCBieSBhIChzdWNjZXNzZnVsKSBs
YXRlciBjYWxsIGlzIG1pc2xlYWRpbmcgdGhlDQo+IGNhbGxlci4gRm9yICJzZXQiLCBrZWVw
IHNldHRpbmcgc29mdCBhZmZpbml0eSBpZiB0aGUgaGFyZCBhZmZpbml0eSBjb3B5LQ0KPiBi
YWNrIGZhaWxzOyBvbmx5IGFjY3VtdWxhdGUgcmVzcGVjdGl2ZSBlcnJvcnMuDQo+IA0KPiBX
aGlsZSBmaWRkbGluZyB3aXRoIHJldHVybiB2YWx1ZXMsIGFsc28gZHJvcCBhIHJlZHVuZGFu
dCBjbGVhcmluZyBvZg0KPiAicmV0Ii4gVGhpcyBlbGltaW5hdGVzIGEgTWlzcmEgQzoyMDEy
IHJ1bGUgMi4yICgiVGhlcmUgc2hhbGwgYmUgbm8gZGVhZA0KPiBjb2RlIikgdmlvbGF0aW9u
Lg0KPiANCj4gRml4ZXM6IDZlNGVjYzZkNTg4NCAoInNjaGVkOiBET01DVExfKnZjcHVhZmZp
bml0eSB3b3JrcyB3aXRoIGhhcmQgYW5kIHNvZnQgYWZmaW5pdHkiKQ0KPiBTaWduZWQtb2Zm
LWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IFJlbGVhc2UtQWNrZWQt
Ynk6IE9sZWtzaWkgS3Vyb2Noa28gPG9sZWtzaWkua3Vyb2Noa29AZ21haWwuY29tPg0KDQpS
ZXZpZXdlZC1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQoNCkp1ZXJn
ZW4NCg==
--------------RX0ujNUSQHmaAS5PusIPgsJL
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-----

--------------RX0ujNUSQHmaAS5PusIPgsJL--

--------------Y0h33gM5s0Ek8ezXuKhFJY9s--

--------------CwLhzHl9MnPoPEtLRDewSF5q
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/Ey8FAmoygCYFAwAAAAAACgkQsN6d1ii/Ey+h
+gf8ClAm5Z0vwA/LOIlQ2R99A7ZBtqwSV3Wj+pEPv7BeOIF+c3RepNVsB54gI+JcZS+NLMzKG/ke
FqQGMhdBsRHa0AkJpqMtEn392k46ohROX/d2MvLzFJfXgPonx7h5+u/b1s0vNwNwKgCBUFX62WTG
/gLfOdyfxawTJ3OmgCvzLhMRTHvoCgnHdlDxL4peUFD9KQtHt3UsYwE7qXuMfPnwhJ9xZWhorNwo
HgURQXxzFUs5TPKKgIu63f64x7sdthHyvtoeVxOsiVCXwjlQlyLWM65t9Qhur0+kpJsCngJezChv
cNPumZyhdlgUbnDyZgKqAeZM5+Naue7eNyOMfdp/cA==
=FSbi
-----END PGP SIGNATURE-----

--------------CwLhzHl9MnPoPEtLRDewSF5q--


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340085.1601113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoHY-0001VN-Qn; Wed, 17 Jun 2026 11:18:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340085.1601113; Wed, 17 Jun 2026 11:18:08 +0000
Received: from [127.0.0.1] (helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoHY-0001U3-Iv; Wed, 17 Jun 2026 11:18:08 +0000
Received: by outflank-mailman (input) for mailman id 1340085;
 Wed, 17 Jun 2026 11:18:06 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHW-00016v-LV
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHW-008nOJ-1k
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:06 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a32826d-5cb7-0a2a0a5109dd-0a2a450abe50-6
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:06 +0200
Received: from [209.85.128.41] (helo=mail-wm1-f41.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a32826d-56b3-0a2a450a0019-d1558029c971-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:05 +0200
Received: by mail-wm1-f41.google.com with SMTP id
 5b1f17b1804b1-490ac10e337so38151505e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:05 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04:18:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695085; x=1782299885; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4FE9KGCs3R/Kgm74pFNvt+2bRqPcGSPft9+RP3relho=;
        b=TIVyiLOPLzU/498kZtSoKncGr3j4Teqmmvs6PklL8TghH6C/iKe6oVbG26KFgG5zFI
         baCIyK3ZO1Y8QSddwRxdBPr6Ioa7pNoFy4LCe9IFif9h3q/cSQlkVDOk3eaaWiOOmxYK
         IRc6TTUA0mt+iiLZ9FGgoxXWeoqgdBykLoXJUM+du/QIN8Vm1ZQzxCvms5xlUeFDh1Np
         fRPabtlCXCls9lMi4KOSjpzbzYaMWqLRmeTH1MsE+qhXvdEZGogWD1MN+CeZ/I6R4Dg/
         8w8Cy+nWHRlHdpbpd5qXC9tTXbZLTXUSSP7Q3H/A1hOSK3cw46GGlXtv6EO3+RAkMpah
         pIKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695085; x=1782299885;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=4FE9KGCs3R/Kgm74pFNvt+2bRqPcGSPft9+RP3relho=;
        b=oEh8rReaj/oBh30bTg7YAgEEHlfYPYExOdFnvqyXpWQKJnmClILQPtcC4dCPo6y1io
         b2qQNt/iP8hY2UQiHWzAaLKy3xZ3Pps15c3fNfkjt+M23l+wzzxwPxbPac2baAcyQEuw
         2idPR/NTeqw60Zig19cSWzq4L5VNiLZ/F9sWWR5Nz9n7YAbVRZXv1K6HL4EvuCt50dLS
         1ZY3Ytzv9v6hzK7lHKBcxnUlHdxy7LUMOmcphJx1jNA2h476cXZETUZgOPdH1iuI0193
         tMFJCsgGJJ7zFwDQmJMm57/7j0NIgaieckQpaXN8ytvV0X/9BdwdhJf2UP9yN+qb7YQy
         V3fQ==
X-Gm-Message-State: AOJu0Yyd4WtTJyS9ax2UH6mx5Yu+A99vtPv1NiHThYd3PzQH2K/5TWNq
	HsWJpOCpeOSe6uqXrZlfg5nLaHXpS2/HWz/1yYArBmlSpxSc3RTYDfBYMkvtRA==
X-Gm-Gg: Acq92OGCqhry5xwMbTDJBspBRNlwuyyxhERsauqt0Ip9OzXPmSfniVi2IFh8q8xTO98
	cNzgLl4Ee0KHfEMrtmN4RdmuWwk8T2/Ru19GzUMYirjjgLm/0xU9PI+FGCL6CjNlrSTqRTPt0KZ
	USiqpN9D0k1Slb+T4XCUN1qdGmPj005y9lMULfoEp4gyXwDeqf8cVXXb/Z4JGHeKpI6GDEGnzs7
	dq+iOd0zaJ9Pqk4fX4ygvB6xwJ9PHOZWnp4K7XRE+GT0Xwah8uCHguETSiz/wGSC2dVUb1U82rQ
	Bgkudlj7XftZPNKUpyBuhV8oBSspMVWFv2u8Ybpw9AIBaw2UO9l+PHuLpDWndAp9DH3TH5xSfw5
	VD2zzqsMU6m8gDGdsOG7LGCq9CVs745DlIDWpLL0GpaBFRICsEeDpIoQgwq/VCEKa6cNtheQMwu
	jl6mJ56p5YfZQqtjs1OsEbV0XG5ZrIQxEN+VEnjSQ4YZ+TcrHVywPtyDirHw==
X-Received: by 2002:a05:600c:c04b:20b0:492:32ec:ca2c with SMTP id 5b1f17b1804b1-492333eb2fdmr49962255e9.26.1781695085307;
        Wed, 17 Jun 2026 04:18:05 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 05/23] xen/riscv: implement prerequisites for domain_create()
Date: Wed, 17 Jun 2026 13:17:33 +0200
Message-ID: <6785b861e192b9812f9a945bce19ff4b725a996d.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1781695086-7F1948B7-6642F979/10/73395122804
X-purgate-type: spam
X-purgate-size: 2869

arch_domain_create() and arch_sanitise_domain_config() are prerequisites for
domain_create().

arch_sanitise_domain_config() currently returns 0, as there is no specific
work required at this stage.

arch_domain_create() performs basic initialization, such as setting up the P2M
and initializing of next unused phandle.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v3:
 - Move arch_domain_destroy() from stubs.c to domain.c next to arch_domain_create().
 - Drop d->is_dying = DOMDYING_dead from arch_domain_create()'s fail label as domain_create() already does it.
 - Replace BUG_ON("unimplemented") with printk() in arch_domain_destroy().
---
Changes in v2:
 - update the commit message.
 - Drop vcpu_switch_to_aarch64_mode() from riscv/stubs. It shouldn't be under
   riscv/ at all.
 - Drop next_phandle as it is now in common code.
---
---
 xen/arch/riscv/domain.c | 29 +++++++++++++++++++++++++++++
 xen/arch/riscv/stubs.c  | 17 -----------------
 2 files changed, 29 insertions(+), 17 deletions(-)

diff --git a/xen/arch/riscv/domain.c b/xen/arch/riscv/domain.c
index c77be3b827eb..2819ff4e7c92 100644
--- a/xen/arch/riscv/domain.c
+++ b/xen/arch/riscv/domain.c
@@ -289,6 +289,35 @@ void sync_vcpu_execstate(struct vcpu *v)
     /* Nothing to do -- no lazy switching */
 }
 
+int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
+{
+    return 0;
+}
+
+void arch_domain_destroy(struct domain *d)
+{
+    printk(XENLOG_WARNING "%s: unimplemented\n", __func__);
+}
+
+int arch_domain_create(struct domain *d,
+                       struct xen_domctl_createdomain *config,
+                       unsigned int flags)
+{
+    int rc = 0;
+
+    if ( is_idle_domain(d) )
+        return 0;
+
+    if ( (rc = p2m_init(d, config)) != 0)
+        goto fail;
+
+    return rc;
+
+ fail:
+    arch_domain_destroy(d);
+    return rc;
+}
+
 static void __init __maybe_unused build_assertions(void)
 {
     /*
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index acbb5b9123ea..3a7953593d93 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -101,28 +101,11 @@ void dump_pageframe_info(struct domain *d)
     BUG_ON("unimplemented");
 }
 
-int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
-{
-    BUG_ON("unimplemented");
-}
-
-int arch_domain_create(struct domain *d,
-                       struct xen_domctl_createdomain *config,
-                       unsigned int flags)
-{
-    BUG_ON("unimplemented");
-}
-
 int arch_domain_teardown(struct domain *d)
 {
     BUG_ON("unimplemented");
 }
 
-void arch_domain_destroy(struct domain *d)
-{
-    BUG_ON("unimplemented");
-}
-
 void arch_domain_shutdown(struct domain *d)
 {
     BUG_ON("unimplemented");
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340083.1601091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoHV-0000uw-L8; Wed, 17 Jun 2026 11:18:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340083.1601091; Wed, 17 Jun 2026 11: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 1wZoHV-0000ug-Gg; Wed, 17 Jun 2026 11:18:05 +0000
Received: by outflank-mailman (input) for mailman id 1340083;
 Wed, 17 Jun 2026 11:18:04 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHT-0000ej-VX
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHT-008nOJ-BM
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:03 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328261-5cb7-0a2a0a5109dd-0a2a4504e3c0-26
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:03 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a32826b-1dec-0a2a45040019-d1558033b585-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:03 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-490cf3000f0so56724935e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:03 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695083; x=1782299883; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jhf8qyknDygzxflLcvVL5fdOhndbEUmd5SDjF9WBNsg=;
        b=h2rMI9lNtRbIprvC/DFOGZPDLVBYvPyrZOw7ibt8cYOewxGzkYaZJw/7ocScAHQ7DZ
         FFUGbF37KiXc4nvFrniElLVhUOnLcuTS7wHHmA6MpC1nQjkytUxDbxwzQFc2CgNw+42I
         xWtcnJ+tbYVIcYLfI3eVbbGnH39MsBDCP5deDTZTJ0iEpBD+pt90fsXa7EZ6rwuoYNLO
         A4pJeWIPF4zW0itewdnEXRRI4v0L8h+X2izpj+vbbVTx01wP4h83T60Mdm2d4+OYt7qj
         KSxQhBt23U9MsW46/sR6hF1bateGbA6N08IZrlAA2XiQ0e+YOCP0dmA0VIriVEqdCU2M
         zzHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695083; x=1782299883;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=jhf8qyknDygzxflLcvVL5fdOhndbEUmd5SDjF9WBNsg=;
        b=am6eXiT5jGUFm97pKoD6KTMdtPWCo8R27ua24BNietwNcC2iN+350eUiPgwgoCmUyp
         Xgxay64sVX7jrwwKyKNDgeDWXZSoooXZ6ZlNiX+C4zrUDosikRfrLKcefFRJM38ebL4i
         uvGOu49oe6IM0/BdNzz2embXgiRZykLxLTjWAFcigGD12WOdWpUfN3IvX5qa+uqLfHfv
         CR10d6E6GdKJl293i8/5nKt6u8xwY+Adj7jcUZjAcQ97/QUMud2+Ogb8OKpXuhnNrsSN
         DHEeOHZyuyHt7EcNUqWgTBJNI1TAmv1Dd7H+QuXkKRrLAP0V2dn5A+6Qo3gGllcsuiZg
         9cjw==
X-Gm-Message-State: AOJu0YwcEvOrt7QimmJRVYO/ldO3+1tCkOt2ybmj0hEkfJix17+sGYv/
	29ymcbmwwyobx3aCaYMj5bIx1BtnJlke6W5/ShZ7kX7yjs7sRIOSwZ3Xckf/dw==
X-Gm-Gg: Acq92OHAdjvzswYBZwiQ7J7N46SNyAlfT+i4v8ZoccMeeO6iHkaSc3d7zpuNedVlswq
	BgTh5+a+gouKsbRb5rUW3GYTT4kNHOnHDgqglqYjKpH4CRfPyANY46RvzTwcGHOnsBYU1LOFK4Q
	4qL2xJTVoauBKWdxjPamjA+IAw8b9fArUewT5RUW2tyHItA+fwWxojDLMM1rfOtpUfhi+AF6QI4
	LHRSA4+P7YoK3wt1sKd8GHtAnGM22aPWq+ujHkTkj282ANUgkdRQaPdJsxyiLYiwbtpEQviFC2C
	VcZpjOcjdOvu9a8M96RpKbvfb2X0rtt03e5jUzgpH+7IlO2mgB4r+c0nVoWcATaex+o0Vt7YY6V
	vQhH4SL2w2M3bJYCQS5hoos/Oxwv6b6JwWy+cOosHoARUl57jAhWPaohp5FC0GWKPE8xYWiXiUs
	hv1P10l+nY9j0sMOjIYwI6J6OfMODptqJeRCI/lQwksmykpRl0f9MABDLvSQ==
X-Received: by 2002:a05:600c:1389:b0:490:d3ef:fa4a with SMTP id 5b1f17b1804b1-49234105541mr41396255e9.14.1781695081844;
        Wed, 17 Jun 2026 04:18:01 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	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>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v3 02/23] xen: arm: update p2m_set_allocation() prototype
Date: Wed, 17 Jun 2026 13:17:30 +0200
Message-ID: <a63794ac32e157ea44c3450fc5fb6f2842e00680.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ebf023/1781695083-4237F3FF-CA185C7A/10/73395122804
X-purgate-type: spam
X-purgate-size: 7929

p2m_set_allocation() signals preemption redundantly: via a bool *preempted
out-argument (set to true) and via -ERESTART return code, both at the same
time. This led to the caller-side ASSERT(preempted == (rc == -ERESTART))
added solely to document their agreement.

Drop the out-argument entirely. The return code alone is sufficient to
distinguish preemption (-ERESTART) from success (0) or other failures.
Replace the pointer with a plain bool can_preempt that controls whether
the preemption check is performed at all, making the previous
NULL-to-suppress-preemption calling convention explicit and type-safe.

Since p2m_set_allocation() is called by the common dom0less build code,
move its declaration from the ARM-specific asm/p2m.h to xen/p2m-common.h.

Reported-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v3:
 - Nothing changed. Only rebase.
---
Changes in v2:
 - new patch
---
---
 xen/arch/arm/include/asm/p2m.h          |  1 -
 xen/arch/arm/mmu/p2m.c                  | 22 ++++++++--------------
 xen/arch/riscv/include/asm/paging.h     |  2 +-
 xen/arch/riscv/p2m.c                    |  7 ++++---
 xen/arch/riscv/paging.c                 |  7 ++-----
 xen/common/device-tree/dom0less-build.c |  2 +-
 xen/include/xen/p2m-common.h            |  2 ++
 7 files changed, 18 insertions(+), 25 deletions(-)

diff --git a/xen/arch/arm/include/asm/p2m.h b/xen/arch/arm/include/asm/p2m.h
index 4a4913716bdd..737da60dcf58 100644
--- a/xen/arch/arm/include/asm/p2m.h
+++ b/xen/arch/arm/include/asm/p2m.h
@@ -238,7 +238,6 @@ void p2m_restore_state(struct vcpu *n);
 /* Print debugging/statistial info about a domain's p2m */
 void p2m_dump_info(struct domain *d);
 
-int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted);
 int p2m_teardown_allocation(struct domain *d);
 
 static inline void p2m_write_lock(struct p2m_domain *p2m)
diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
index 51abf3504fcf..e5c6be7c0890 100644
--- a/xen/arch/arm/mmu/p2m.c
+++ b/xen/arch/arm/mmu/p2m.c
@@ -67,10 +67,11 @@ int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
 
 /*
  * Set the pool of pages to the required number of pages.
- * Returns 0 for success, non-zero for failure.
+ * Returns 0 for success, -ERESTART if preempted, or a negative error code on
+ * failure.
  * Call with d->arch.paging.lock held.
  */
-int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
+int p2m_set_allocation(struct domain *d, unsigned long pages, bool can_preempt)
 {
     struct page_info *pg;
 
@@ -112,11 +113,8 @@ int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
             break;
 
         /* Check to see if we need to yield and try again */
-        if ( preempted && general_preempt_check() )
-        {
-            *preempted = true;
+        if ( can_preempt && general_preempt_check() )
             return -ERESTART;
-        }
     }
 
     return 0;
@@ -125,7 +123,6 @@ int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
 int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
 {
     unsigned long pages = size >> PAGE_SHIFT;
-    bool preempted = false;
     int rc;
 
     if ( (size & ~PAGE_MASK) ||          /* Non page-sized request? */
@@ -133,27 +130,24 @@ int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
         return -EINVAL;
 
     spin_lock(&d->arch.paging.lock);
-    rc = p2m_set_allocation(d, pages, &preempted);
+    rc = p2m_set_allocation(d, pages, true);
     spin_unlock(&d->arch.paging.lock);
 
-    ASSERT(preempted == (rc == -ERESTART));
-
     return rc;
 }
 
 int p2m_teardown_allocation(struct domain *d)
 {
     int ret = 0;
-    bool preempted = false;
 
     spin_lock(&d->arch.paging.lock);
     if ( d->arch.paging.p2m_total_pages != 0 )
     {
-        ret = p2m_set_allocation(d, 0, &preempted);
-        if ( preempted )
+        ret = p2m_set_allocation(d, 0, true);
+        if ( ret == -ERESTART )
         {
             spin_unlock(&d->arch.paging.lock);
-            return -ERESTART;
+            return ret;
         }
         ASSERT(d->arch.paging.p2m_total_pages == 0);
     }
diff --git a/xen/arch/riscv/include/asm/paging.h b/xen/arch/riscv/include/asm/paging.h
index e487c89a4ccd..103384723dc5 100644
--- a/xen/arch/riscv/include/asm/paging.h
+++ b/xen/arch/riscv/include/asm/paging.h
@@ -9,7 +9,7 @@ struct page_info;
 int paging_domain_init(struct domain *d);
 
 int paging_freelist_adjust(struct domain *d, unsigned long pages,
-                           bool *preempted);
+                           bool can_preempt);
 
 int paging_ret_to_domheap(struct domain *d, unsigned int nr_pages);
 int paging_refill_from_domheap(struct domain *d, unsigned int nr_pages);
diff --git a/xen/arch/riscv/p2m.c b/xen/arch/riscv/p2m.c
index 703b9f4d2540..41d6d3d5e699 100644
--- a/xen/arch/riscv/p2m.c
+++ b/xen/arch/riscv/p2m.c
@@ -430,15 +430,16 @@ int p2m_init(struct domain *d, const struct xen_domctl_createdomain *config)
 
 /*
  * Set the pool of pages to the required number of pages.
- * Returns 0 for success, non-zero for failure.
+ * Returns 0 for success, -ERESTART if preempted, or a negative error code on
+ * failure.
  * Call with d->arch.paging.lock held.
  */
-int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
+int p2m_set_allocation(struct domain *d, unsigned long pages, bool can_preempt)
 {
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
     int rc;
 
-    if ( (rc = paging_freelist_adjust(d, pages, preempted)) )
+    if ( (rc = paging_freelist_adjust(d, pages, can_preempt)) )
         return rc;
 
     /*
diff --git a/xen/arch/riscv/paging.c b/xen/arch/riscv/paging.c
index 76a203edbb0c..35f572689a7c 100644
--- a/xen/arch/riscv/paging.c
+++ b/xen/arch/riscv/paging.c
@@ -47,7 +47,7 @@ static int _paging_add_to_freelist(struct domain *d)
 }
 
 int paging_freelist_adjust(struct domain *d, unsigned long pages,
-                           bool *preempted)
+                           bool can_preempt)
 {
     ASSERT(spin_is_locked(&d->arch.paging.lock));
 
@@ -66,11 +66,8 @@ int paging_freelist_adjust(struct domain *d, unsigned long pages,
             return rc;
 
         /* Check to see if we need to yield and try again */
-        if ( preempted && general_preempt_check() )
-        {
-            *preempted = true;
+        if ( can_preempt && general_preempt_check() )
             return -ERESTART;
-        }
     }
 
     return 0;
diff --git a/xen/common/device-tree/dom0less-build.c b/xen/common/device-tree/dom0less-build.c
index eacfd93087ae..c3818ffed45f 100644
--- a/xen/common/device-tree/dom0less-build.c
+++ b/xen/common/device-tree/dom0less-build.c
@@ -747,7 +747,7 @@ static int __init domain_p2m_set_allocation(struct domain *d, uint64_t mem,
                 domain_p2m_pages(mem, d->max_vcpus);
 
     spin_lock(&d->arch.paging.lock);
-    rc = p2m_set_allocation(d, p2m_pages, NULL);
+    rc = p2m_set_allocation(d, p2m_pages, false);
     spin_unlock(&d->arch.paging.lock);
 
     return rc;
diff --git a/xen/include/xen/p2m-common.h b/xen/include/xen/p2m-common.h
index f0bd9a6b9896..1b44ec8ce36c 100644
--- a/xen/include/xen/p2m-common.h
+++ b/xen/include/xen/p2m-common.h
@@ -43,5 +43,7 @@ int __must_check check_get_page_from_gfn(struct domain *d, gfn_t gfn,
                                          bool readonly, p2m_type_t *p2mt_p,
                                          struct page_info **page_p);
 
+int p2m_set_allocation(struct domain *d, unsigned long pages,
+                       bool can_preempt);
 
 #endif /* _XEN_P2M_COMMON_H */
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340084.1601104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoHX-0001Hm-Ez; Wed, 17 Jun 2026 11:18:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340084.1601104; Wed, 17 Jun 2026 11:18: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 1wZoHX-0001GS-7W; Wed, 17 Jun 2026 11:18:07 +0000
Received: by outflank-mailman (input) for mailman id 1340084;
 Wed, 17 Jun 2026 11:18:04 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHU-0000hV-Bg
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHT-000VG3-Nu
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:03 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a32826a-e002-0a2a0a5209dd-0a2a45019d20-4
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:03 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a32826b-c1f2-0a2a45010019-d155802cad85-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:03 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-490b1bbcf3aso42557245e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:03 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695083; x=1782299883; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lDfvaNHpw1BQg5jjuhW87imUpQEckVBlvr8onRcps9M=;
        b=bFkz+XexqtDH+3Lr09WlDTqcAn9HYCgX8k+7wVTdAibXe6CTQPnZ8xnrYx+le99oyf
         lEYrAbVccx+/qv4rhGFaNu2ambX1xoZHnz2ho976d1CVodbSCAiBUcy4W3ypBQMoQCtP
         Yr1zAiXBdbyjw2MKlfSxvSqxjIxhdcEwYCgVk+BZCj4hu0m9GMVzpGKCZjrZmPLvx+cx
         XHd4WNs5TlWKRBQ8TFyN1bXgvNdu2gTrIZjnW050HNQ3CMU37LvvxeQn3fm+336wqKDK
         k+IY2Y+Ck2o6Au1B7wKzb4ysflrKZbwE3BKZTke3I88gr4g0fZ9AA9ga2gz5VNNAtpNj
         6szg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695083; x=1782299883;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=lDfvaNHpw1BQg5jjuhW87imUpQEckVBlvr8onRcps9M=;
        b=BVtCyhKgwF5HF4Bo4J+UevLKhH/O7FSQN75od0mWC8C7C5juXawB1de1d6If/dJ1H/
         b6QBDy1GJvRCGyT6YEU2ZMnjCszmq0RF7qKGqoasBN68yepfMj+MRrQ6or+LYVvqaGnd
         IU/daM0jZsaGf7DhQ71r8aBxQbZWKLBVdnNXizNvoUHYme7tuz6l+fYzMcHtelTjsQoS
         Gt0gyzv7Q8WubdTOeG0zcEaqTNITmq+fmydLNwMxpdDvr8gdxnX5E/7KsQYWl7TMmgLH
         kLDYhGr5ZwzJ1Hk8waYlqcSdI7LztbamMiTZ9z6NOpxI3CGmJ2uuQLEEcv1Hp19Ekh/U
         AZ0A==
X-Gm-Message-State: AOJu0YzrW2h8vp6n4yD0hWt8sW75aX2DzAbyQLJtRT0bbVIahCFv3vke
	TkwsLx5w7RzBQqAdyk2EUY20/c/P6rZz17po+iMBwikJu756OibqmgNa8oNDVg==
X-Gm-Gg: Acq92OFWa6eqheenhO0rLIxWvd/6nirZPtDxPNwToAWnUrBN6dAcc0OtoR8xBVu4TAs
	LRipbAdOjLdbGGyXCy1EDBxpxgQG/ByGURrrWVu39Wjx5pej+dO36JJ0Eqqoyw2YvS4Muhe/Q8V
	8x0kC5/MwoEX3qQT8UzTfanu6A5U7+gSmnqrGBNd89fygNTQYq4H//Rt3h82JAvk0q99SzuTf3M
	Og1muAKxkt/IuorwZJef0II0uNc4yUZBl3DgGcjs0NeN30iPg0IWIYN4+KuqtzLqxs9lvY+xbo3
	rXyZk3KLqNaCntuEe46/hukUh9d6IXlBonRRfXVq9S+l4/uHIVb16fpKW1y64VTb5mtxxmF9olq
	QReuyzG23hHoGq+vFMzDwoJBruOE0DlDielLVFDFqbAXmYnVAYEL9kV3sgmkXJtECcZeJiUvXv0
	91ehHuv93IsXQppe2kt9m22KK8PQNaQQu+xPwgLrBJFTSMNrqLk1LMk8SryOsx7EFCH72b
X-Received: by 2002:a05:600c:8189:b0:490:688b:f9f8 with SMTP id 5b1f17b1804b1-492333dd136mr60429345e9.27.1781695082923;
        Wed, 17 Jun 2026 04:18:02 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 03/23] xen/riscv: Implement ARCH_PAGING_MEMPOOL
Date: Wed, 17 Jun 2026 13:17:31 +0200
Message-ID: <6bed3de34d98c47d99235dc062cb9fd4b0e4158f.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1781695083-ACC53FF4-CAD7E588/10/73395122804
X-purgate-type: spam
X-purgate-size: 2575

The p2m_freelist is used to allocate pages for the P2M. To initialize
this list, domain_p2m_set_allocation() may be called from construct_domU()
in the common Dom0less code, so RISC-V provides an implementation and
enables CONFIG_ARCH_PAGING_MEMPOOL unconditionally.

Additionally, implement arch_{set,get}_paging_mempool_size(). They are
not directly used yet, but are required to support the
XEN_DOMCTL_{get,set}_paging_mempool_size hypercalls.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v3:
 - Drop stray blank space in arch_get_paging_mempool_size().
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>.
---
Changes in v2:
 - Turn on CONFIG_ARCH_PAGING_MEMPOOL=y unconditionally and drop all ifdef-s
   related to this config.
 - Optimize check inside arch_set_paging_mempool_size which verify size
   argument.
 - Use pfn_to_paddr() inside arch_get_paging_mempool_size() instead of open
   coding the stuff.
 - Drop ASSERT() from arch_set_paging_mempool_size() as it is impossible to
   have here preempted = true and rc != -ERESTART.
---
---
 xen/arch/riscv/Kconfig |  1 +
 xen/arch/riscv/p2m.c   | 24 ++++++++++++++++++++++++
 2 files changed, 25 insertions(+)

diff --git a/xen/arch/riscv/Kconfig b/xen/arch/riscv/Kconfig
index 41426c205292..48520588fe40 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 DOMAIN_BUILD_HELPERS
 	select FUNCTION_ALIGNMENT_16B
 	select GENERIC_BUG_FRAME
diff --git a/xen/arch/riscv/p2m.c b/xen/arch/riscv/p2m.c
index 41d6d3d5e699..9bf80d38979f 100644
--- a/xen/arch/riscv/p2m.c
+++ b/xen/arch/riscv/p2m.c
@@ -1606,3 +1606,27 @@ struct page_info *get_page_from_gfn(struct domain *d, unsigned long gfn,
 
     return p2m_get_page_from_gfn(p2m_get_hostp2m(d), _gfn(gfn), t);
 }
+
+int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
+{
+    unsigned long pages = PFN_DOWN(size);
+    int rc;
+
+    /* Non page-sized request or 32-bit overflow? */
+    if ( pfn_to_paddr(pages) != size )
+        return -EINVAL;
+
+    spin_lock(&d->arch.paging.lock);
+    rc = p2m_set_allocation(d, pages, true);
+    spin_unlock(&d->arch.paging.lock);
+
+    return rc;
+}
+
+/* Return the size of the pool, in bytes. */
+int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
+{
+    *size = pfn_to_paddr(ACCESS_ONCE(d->arch.paging.total_pages));
+
+    return 0;
+}
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340081.1601077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoHT-0000er-Vm; Wed, 17 Jun 2026 11:18:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340081.1601077; Wed, 17 Jun 2026 11: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 1wZoHT-0000ek-Rg; Wed, 17 Jun 2026 11:18:03 +0000
Received: by outflank-mailman (input) for mailman id 1340081;
 Wed, 17 Jun 2026 11:18:02 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHS-0000eX-N4
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHQ-00CoEK-69
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:00 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328262-2eae-0a2a0a5409dd-0a2a45099d36-26
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:00 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328267-2497-0a2a45090019-d1558034c145-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:00 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-49222b6e871so40791865e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:00 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.17.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04:17:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695079; x=1782299879; 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=1dYmKbLObk4yzFyhQi1phJkn1OuRfEQW0ErJbqKZrzs=;
        b=QI/zj1wGJiI3ZyNvFOxN8ir3vKzClQLZSOaOVz1LTGYD5EQd58EhlIdaOQLyDK3D9P
         +f7Cv+yk8XgNkGjBnMj4DTigDvMYQoZWI0zJxJ/0yoYJAvZK6OLml5dNCMgSKJ3r4KmF
         Ddn6tGtEtpcR68JKrat1uiS/hxY1/ABpXmXsXw1lfCldoMNKNqHNyCOt/w/3eZjKjSFw
         crCdPQMNo+VDjNPc4PI5XBUrfzhGLAAOAGPGj091HeDK6oe1nUXUxonqpPi+xSlA8I0u
         vuAMPSARTDd3rRLJBvrXxJ8DGZheatbzCMPLC4H3JjqBjQH3akRCyuN7Um2D4Uj/UYei
         GJjA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695079; x=1782299879;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1dYmKbLObk4yzFyhQi1phJkn1OuRfEQW0ErJbqKZrzs=;
        b=DgCu8f82jdT2H1OtR9LfebPaRuDjpf3JCt+Yq3P2vDD7sNBgxB61gDtxj78tZ6r/Js
         ZMdvl7KIEG18XfHZMTTTA/rf1AefEpA1K+oCTe3QPstjHlKOboTVzPtKViFHBVFNXl9Z
         gyvM7EDdb1ul6H8fjefZrk9gQc7DrZT3sY9NpwurY4RMRjRq5IM8Ow1VGcOfEDG1hbmt
         SbF2Uh9Qo3ujE1/L9ds5PCU3vz/zyRQsRDBwcE3OVCHMX/lqF/lqUiZSfYkXMrDLYnxo
         QgPV+Qe9fQdoUnU5uLFywB8rMqzkqni/ivKqn1socpguku9WEcP+85qk+GFwJjPqnPm/
         TA2w==
X-Gm-Message-State: AOJu0YxZkPyKbpU7+PDpqi0LatAZ0jtGbhfbwU9RIQDWQmZxI/Jhbqr2
	lOiXvSXbakIB/iljWHCtNyW5ZjIxSqGb1j+w+UDctu2lsOzHtJvzGiBgU1903Q==
X-Gm-Gg: Acq92OHqwACGJrbvZB+WQz6P8Ox6PLWPBygI7/KA7hI3qJ6L1Zp8hD7489DdPioofig
	djwt04mHTjl2l9Au64K7OJleEbdF1OMVxfROHeBfTMrVc/qEOUrUbKOecnuygGVjln25RLHNU7p
	VXCKqV7TlwxgxE65fzEMl+bDN/Yf2+S47+oJs7bJee80IOAwznvqBRBPak5ZC7ZuCRaHUfwQQTo
	VBic4y7mdH8WdID8yDD+2X/OJrkbIRDvWFB14o+yY7xWB0vh3z4ppJEz1VqRPW3TRBsN8qId5D6
	tVb5HSPgrgc9dI8cGw4q+F4MxpkFhlRp2C7405AmUudTct1/hYG2LWE9zll2tviUhevIk0FVT/n
	M4CYw7lAJu1PjTXRWn8ONMUgvctfBBfRa24uwJkaUxldXu1TipfFV9EVerfqHPD9L2ZVL6Y5qCd
	hR4vLk4hiGfV8+bbCCt78e1krc//Z/reh0BohIapK3VndLoVMbqgWidu8P9Q==
X-Received: by 2002:a7b:c041:0:b0:490:ea8a:32da with SMTP id 5b1f17b1804b1-49234139c2dmr30159245e9.26.1781695079372;
        Wed, 17 Jun 2026 04:17:59 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	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>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v3 00/23] Introduce enablemenant of dom0less
Date: Wed, 17 Jun 2026 13:17:28 +0200
Message-ID: <cover.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1781695080-43374A53-B900DFDF/10/73395122804
X-purgate-type: spam
X-purgate-size: 5086

This patch series reprensent a bunch of patches necessary to enable common part
of Dom0less.
The stuff necessary to start/launch domains will be introduced separately.

---
Changes in v3:
 - Drop dependency from other patch series
   ([1] https://lore.kernel.org/xen-devel/cover.1778140240.git.oleksii.kurochko@gmail.com/T/#t)
   as it was merged.
 - Reorder patches:
   - move common patches to the start.
   - Move some patches to separate patch series (will be introduced later)
 - Address comments from ML.
---
Changes in v2:
 - Move patch "[PATCH v1 04/27] xen/riscv: rework G-stage mode handling" to
   patch series [1]
 - Address the comments from ML.
 - The following patches were folded into one:
   # xen/riscv: implement init_intc_phandle()
   # xen/riscv: call do_initcalls() in start_xen()
   # xen/riscv: setup system domains
 - The following patch were folded into one:
   # xen/riscv: add vaplic access check
   # xen/riscv: emulate guest writes to virtual APLIC MMIO
   # xen/riscv: emulate guest reads from virtual APLIC MMIO
 - Add new bug fix, not really necessary to this patch series:
   xen/riscv: manage IRQ_DISABLED flag in APLIC irq enable/disable callbacks
---

Oleksii Kurochko (23):
  xen: arm: move declaration of map_device_irqs_to_domain() to common
    header
  xen: arm: update p2m_set_allocation() prototype
  xen/riscv: Implement ARCH_PAGING_MEMPOOL
  xen/riscv: Implement construct_domain()
  xen/riscv: implement prerequisites for domain_create()
  xen/riscv: introduce guest riscv,isa string
  xen/riscv: implement make_cpus_node()
  xen/riscv: implement make_timer_node()
  xen/riscv: implement make_arch_nodes()
  xen/riscv: introduce init interrupt controller operations
  xen/riscv: implement make_intc_domU_node()
  xen/riscv: introduce aia_init() and aia_usable()
  xen/riscv: introduce per-vCPU IMSIC state
  xen/riscv: add very early virtual APLIC (vAPLIC) initialization
    support
  xen/riscv: introduce (de)initialization helpers for vINTC
  xen/riscv: generate IMSIC DT node for guest domains
  xen/riscv: create APLIC DT node for guest domains
  xen/riscv: implement IRQ routing for device passthrough
  xen/riscv: implement init_intc_phandle()
  xen/riscv: initialize RCU, scheduler, and system domains in
    start_xen()
  xen/riscv: provide init_vuart()
  xen/Kconfig: introduce HAS_STATIC_MEMORY
  xen/riscv: add initial dom0less infrastructure support

 ...asic-VGEIN-management-for-AIA-guests.patch | 273 ++++++++++++++++++
 xen/arch/arm/Kconfig                          |   1 +
 xen/arch/arm/include/asm/p2m.h                |   1 -
 xen/arch/arm/include/asm/setup.h              |   3 -
 xen/arch/arm/mmu/p2m.c                        |  22 +-
 xen/arch/riscv/Kconfig                        |   3 +
 xen/arch/riscv/Makefile                       |   4 +
 xen/arch/riscv/aia.c                          |  23 ++
 xen/arch/riscv/aplic.c                        |  14 +-
 xen/arch/riscv/cpufeature.c                   |  85 +++++-
 xen/arch/riscv/device.c                       | 102 +++++++
 xen/arch/riscv/dom0less-build.c               |  40 +++
 xen/arch/riscv/domain-build.c                 | 177 ++++++++++++
 xen/arch/riscv/domain.c                       |  46 ++-
 xen/arch/riscv/imsic.c                        | 167 +++++++++++
 xen/arch/riscv/include/asm/aia.h              |  10 +
 xen/arch/riscv/include/asm/aplic.h            |   9 +
 xen/arch/riscv/include/asm/cpufeature.h       |   4 +
 xen/arch/riscv/include/asm/domain.h           |   8 +
 xen/arch/riscv/include/asm/guest-layout.h     |   7 +
 xen/arch/riscv/include/asm/imsic.h            |  25 ++
 xen/arch/riscv/include/asm/intc.h             |  46 ++-
 xen/arch/riscv/include/asm/irq.h              |   5 +
 xen/arch/riscv/include/asm/paging.h           |   2 +-
 xen/arch/riscv/include/asm/setup.h            |   4 +-
 xen/arch/riscv/include/asm/vaplic.h           |  34 +++
 xen/arch/riscv/intc.c                         | 103 ++++++-
 xen/arch/riscv/irq.c                          | 203 +++++++++++++
 xen/arch/riscv/p2m.c                          |  31 +-
 xen/arch/riscv/paging.c                       |   7 +-
 xen/arch/riscv/setup.c                        |  14 +
 xen/arch/riscv/stubs.c                        |  17 --
 xen/arch/riscv/vaplic.c                       | 141 +++++++++
 xen/common/Kconfig                            |   5 +-
 xen/common/device-tree/dom0less-build.c       |   2 +-
 xen/include/xen/fdt-domain-build.h            |  13 +
 xen/include/xen/p2m-common.h                  |   2 +
 37 files changed, 1587 insertions(+), 66 deletions(-)
 create mode 100644 0001-xen-riscv-add-basic-VGEIN-management-for-AIA-guests.patch
 create mode 100644 xen/arch/riscv/aia.c
 create mode 100644 xen/arch/riscv/device.c
 create mode 100644 xen/arch/riscv/domain-build.c
 create mode 100644 xen/arch/riscv/include/asm/aia.h
 create mode 100644 xen/arch/riscv/include/asm/vaplic.h
 create mode 100644 xen/arch/riscv/vaplic.c

-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340086.1601119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoHZ-0001bF-GZ; Wed, 17 Jun 2026 11:18:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340086.1601119; Wed, 17 Jun 2026 11:18:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoHZ-0001aO-2h; Wed, 17 Jun 2026 11:18:09 +0000
Received: by outflank-mailman (input) for mailman id 1340086;
 Wed, 17 Jun 2026 11:18:07 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHW-00019z-SU
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHV-008nON-8j
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:05 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328267-bab6-0a2a0a5309dd-0a2a450bd29e-12
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:05 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a32826d-212f-0a2a450b0019-d1558035c590-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:05 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-490ae94a89eso48529665e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:05 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695085; x=1782299885; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FlQi9+uo1dP1MsjK2ZrKEdiUrK2P4TAiiVcer4o8XZQ=;
        b=AYk1hyJBnP0l6skItus18xG0ykFh9fEH1bK1YeZW5rauQqobxg4/GLHmZUJfa8TapQ
         EOPtiQD8U1grJ1oYLeNEvC/BVZD2cfEXM1fAc1LzGyW5uuS7OZqgN/gJwe5SOAwBCcWO
         4NEGzg/VLntldaykUfBt6d6ZehMLtF26aWelZlRmIljXHN2XCQX5euOmtDLNY1uDLXDA
         WzqifMLlYgMKZYdUyMJZaoZO1N9P8XviUB7DTCBNDxfleKjCgyu0/h+fwGt4uMdxNvNx
         yiKW91bvCw6pwJgqnwNDKu2ye+l1ogHKUFfnbge0m7r6+5wfjwjupez/VfcGlzBlmOSn
         wTqA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695085; x=1782299885;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=FlQi9+uo1dP1MsjK2ZrKEdiUrK2P4TAiiVcer4o8XZQ=;
        b=REqaTDytu2pQR4krg1J9IgF/5DrXxSiKQgaZyNr8gzjtbZc0u3J8MnfxNVR0b6p2OB
         555uDnKp5hTxBjg/EdS0npPrMjxO3KaIikLX2jxheKQ1VJ+aqXZ53d+2Q+6JtaMfk9lq
         8UszqU90UPOFrJEvRQQVWyng2qNwUX30EdKCj0nM/obNLB3oFETllNsKgBuO+PPesiju
         8v62OkiIBhKaVDjzQhsdkuM6mtqIgtfIjJxEjToWx5eHEkZnpC2+2PybaPb8DNh93HZJ
         p/J6YJuMql9SN7IAVrVVzml5OgEQw8cd9eZrJsgCc4EBPL32QzrzT9umRnHH8fycRFTT
         6I+w==
X-Gm-Message-State: AOJu0YwhKAHO/ppmuJC+snmFg8F2wZE34Kj+pm1r6VFXAcm6rNmNWyjw
	Ty17NOIFGPUA+bpUAOfl6GJ7ALb719yxEq3vDrWkeiv8MhMtv129wwp4WgL8bw==
X-Gm-Gg: Acq92OEMaw6tol6faYNPZM2CdBbhkbOY/6b6V9lxKNBsk2xI2Nz0gvORe03cHO1iK/i
	bWHto+R6IEdeborH1QE250WRc2IP+Wi+7jQHL1O+mQiTS3ZnyvWKpEnvZCoxPhlC4rtzig+HPX0
	JDNItUnexEfdlHiO7eaix++0na/2Zhknu/tJRh8aP/dOZgjKNjGrynH3RGGh/Z/gXONU44bqmDJ
	TeKJqYEbCbOq5IoCZG2XCLzLua71t0Mk+Pu66ObH1tlX/fFmd9usvzpb421ik/zdKPEtaZoPHTg
	kGrZrOt9McE8FcRRbC/2EWxKgE36md0ccOureWrU85PY0xNcqUwR0e8g+TC1KM1wEIP9WdeBxde
	Uc/BC/H4pmWwSH+PvSkcNNgFs27hLdD44DZweZWFl/s7J61sw3rymC/nxI0m/hcnf5pNVO7QESh
	G4PGwuGRbRdsdQvi3hiPSm84bS7CtskZqpXNJpMB6umcWgbPb8ySpW9joQS5cKXlcaVHhH
X-Received: by 2002:a05:600c:818f:b0:490:50eb:b777 with SMTP id 5b1f17b1804b1-492333ba2d8mr66182685e9.5.1781695084208;
        Wed, 17 Jun 2026 04:18:04 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 04/23] xen/riscv: Implement construct_domain()
Date: Wed, 17 Jun 2026 13:17:32 +0200
Message-ID: <db630a8a003a1aa69e4edaf6d5f4994f18ac1354.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1781695085-13F7EF3B-27D470C4/10/73395122804
X-purgate-type: spam
X-purgate-size: 2853

Implement construct_domain() function for RISC-V, which performs initial setup
for the domain's first vCPU, loads the kernel, initrd, and device tree,
and sets up guest CPU registers for boot.

It also creates additional vCPUs up to max_vcpus and assigns the device tree
address and boot cpuid in registers.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v3:
 - s/%d/%u for printing vCPU index in the failure message.
 - Drop dprintk() for successful vCPU creation.
---
Changes in v2:
 - Rework construct_domain() to print that vCPU1...n are created using %pv.
 - Use true instead of 1 for initialization of v->is_initialised.
 - Drop unnessary BUG_ON() in construct_domain().
 - Add TODO comment above *_load() functions.
---
---
 xen/arch/riscv/Makefile       |  1 +
 xen/arch/riscv/domain-build.c | 50 +++++++++++++++++++++++++++++++++++
 2 files changed, 51 insertions(+)
 create mode 100644 xen/arch/riscv/domain-build.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 8f7fd625dddd..fd5e499eb4b9 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -1,6 +1,7 @@
 obj-y += aplic.o
 obj-y += cpufeature.o
 obj-y += domain.o
+obj-y += domain-build.init.o
 obj-$(CONFIG_DOM0LESS_BOOT) += dom0less-build.init.o
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += entry.o
diff --git a/xen/arch/riscv/domain-build.c b/xen/arch/riscv/domain-build.c
new file mode 100644
index 000000000000..72cccb2c5c22
--- /dev/null
+++ b/xen/arch/riscv/domain-build.c
@@ -0,0 +1,50 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <xen/fdt-domain-build.h>
+#include <xen/fdt-kernel.h>
+#include <xen/init.h>
+#include <xen/sched.h>
+
+#include <asm/current.h>
+#include <asm/guest_access.h>
+
+int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
+{
+    struct vcpu *v = d->vcpu[0];
+    struct cpu_user_regs *regs = vcpu_guest_cpu_user_regs(v);
+
+    BUG_ON(v->is_initialised);
+
+    /*
+     * At the moment *_load() don't return value and will just panic()
+     * inside.
+     * TODO: it will be good to change that.
+     */
+    kernel_load(kinfo);
+    initrd_load(kinfo, copy_to_guest_phys);
+    dtb_load(kinfo, copy_to_guest_phys);
+
+    regs->sepc = kinfo->entry;
+
+    /* Guest boot cpuid = 0 */
+    regs->a0 = 0;
+    regs->a1 = kinfo->dtb_paddr;
+
+    for ( unsigned int i = 1; i < d->max_vcpus; i++ )
+    {
+        const struct vcpu *tmp_v = vcpu_create(d, i);
+
+        if ( !tmp_v )
+        {
+            printk("Failed to allocate %pd v%u\n", d, i);
+            break;
+        }
+    }
+
+    domain_update_node_affinity(d);
+
+    v->is_initialised = true;
+    clear_bit(_VPF_down, &v->pause_flags);
+
+    return 0;
+}
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340087.1601124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoHa-0001kg-53; Wed, 17 Jun 2026 11:18:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340087.1601124; Wed, 17 Jun 2026 11:18: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 1wZoHZ-0001hT-Mx; Wed, 17 Jun 2026 11:18:09 +0000
Received: by outflank-mailman (input) for mailman id 1340087;
 Wed, 17 Jun 2026 11:18:08 +0000
Received: from [194.145.224.10] (helo=mx.expurgate.net)
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHX-0001Nt-Vw
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHX-008nOJ-Ck
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:07 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a32826d-5cb7-0a2a0a5109dd-0a2a450abe50-16
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:07 +0200
Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a32826f-56b3-0a2a450a0019-d155dd35ccb3-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:07 +0200
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-45ef41adbc1so4125840f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:07 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695087; x=1782299887; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Ch0GvgcfTVIREUJMfYYzdF78jAptI5pBiQNF2XBPBjM=;
        b=hWz6kQeXUSi+6ulbe5Fe2XulHAW5NUCrV0xe009JxBdNgpc0WCm/rjcuxNfgFK9RjA
         t1ZC02UJTsSSJCkfoFMaBPChqeY6y3WMlgozf8U8iiv40suFSK6COjR9lRwsfEsqkUXD
         XBzT85CbF0WoYpoda6voeGw84YrFQl6UUZ/nxs2+ynhKR2oCX3HYrIJv2uEZQG0ZzdXu
         xCD/otYOQ2tYCRToWZqisgHrby6dCXZudnKCVPGCzst4JmO4mPUCTrmYzotUHZXr9R8S
         YrdKXd4dRQnTkDa/e+XmEUKfudqFQHLJbImWw5hzqiUIg7xDe4hUWmxPFrVpYOrHd4l6
         az1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695087; x=1782299887;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=Ch0GvgcfTVIREUJMfYYzdF78jAptI5pBiQNF2XBPBjM=;
        b=PDiyQpeDHNLOqvffTSKsXZmVMDhFla5qYC1DFBkI+DpeHUT9nVYY6oWYnfe2ErG/LR
         4y6BxBv2cXuNAFR17navQPcDL0qFHn4QOSVeKQkVToEbkOAPiueA26aXkAEu1XfU1TAu
         vN5/AF7QASejwG+Rt1hx2wfQFTwuby/ZymABTv1ABnZsm9wgNNJbCeAsNn4aLX/eJLbd
         e3fX7+TJQg+PAWCUpumzEmMXsC3p19HtB7nuW3lrZWdivGDXIDDpA6wpN/1vrK1WcmVh
         LmU8NUo780xncYQIL4a4of2dQz7lwqkYh82wJCsGXRUZRz31ttcSB3Ct/zSOxM4KmoLt
         JB/w==
X-Gm-Message-State: AOJu0YyddL5RUk4XdOyAXiCDdGAD1dmP3n7JOBCqB7/X14xvz2QGYfkP
	HfHMO8czQp9Ae0FlMI/3v+vr4j0yb4Oyu3Qvrh/iNyZT1OGyuB+sSFL0kVdp2g==
X-Gm-Gg: Acq92OF8bKKB+wocIQO//xnodA0N1Q7SLoS3k683T/98g4LTeo/cphVoV+3kHZL94zC
	x0RI6pYde8IiuQV0m3aZoyWln8F0Aw+pJb5ACRQwLM42tQncWIkaVvNcRshhjCNmbKGPe0xWumK
	3ZibLvMyk03AzFkdSIHpj6qnVHJzp5q+QYcvUkPobTrDCzngWd1lzTWObtG3vqvtkb67xsOMJtV
	+DSTPrV/3UdOqjqLIci0q6ESmWTZM2WmiziHVFxhYdswkmDdpjV+LlWIDdw4OIZfJB0+VFGr/2z
	FguF+nZIbSL8C+PS8ZYvjwlF1s9/dlUnCY0kjun/1xJJZZ/LKUKZciZZyUhbSpDejOLRiVyHR0O
	e1L85u4/WoKdGxfpMfGtPgodsz/hjytRuwBTE8pTedAqOuxYPzVh4XkWlqV+0xHnDidDacNWPVe
	UnxnZ7LrLPCERECOyeOHnfw6YeAms4fKxp8zSa8viI8Sv2HdylfonyU9m1kw==
X-Received: by 2002:a05:600c:3b0f:b0:491:731c:892a with SMTP id 5b1f17b1804b1-492333df11bmr57593815e9.35.1781695086510;
        Wed, 17 Jun 2026 04:18:06 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 06/23] xen/riscv: introduce guest riscv,isa string
Date: Wed, 17 Jun 2026 13:17:34 +0200
Message-ID: <3fb06376e057fa99b0df78e97761b8cff56ca9eb.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1781695087-7C47E8B7-5FA21D51/10/73395122804
X-purgate-type: spam
X-purgate-size: 8053

Introduce generation of the riscv,isa string passed to the guest via the
Device Tree riscv,isa property.

Introduce the per-domain isa string and guest isa bitmap, populated
during domain creation by calling init_guest_isa().

Introduce guest_unsupp to filter out ISA extensions that should not be
exposed to guests:

- f/d/q/v: FPU and vector context save/restore are not yet implemented
  for guests.
- h: Nested virtualisation is not supported.
- sstc: Xen owns the supervisor timer; guests must use SBI.
- svade: Xen manages hardware A/D bit updates in stage-2 page tables.
- svpbmt: Page-based memory types are not yet wired up in stage-2 code.

Drop __initconst for riscv_isa_ext() as it can be used after init stage
by init_guest_isa().

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v3:
 - s/set_bit/__set_bit in init_guest_unsupp() as atomicity isn't needed at
   init time.
 - Drop RISCV_GUEST_ISA_STR_MAX; allocate isa_str dynamically with
   xvmalloc_array().
 - Drop "guest" prefix from d->arch.guest_isa and d->arch.guest_isa_str.
 - Introduce build_guest_isa_str() using snprintf(NULL, 0, ...) to determine
   the needed buffer size; init_guest_isa() calls it once for sizing and once
   to fill, keeping both in a single function so they can't go out of sync.
 - Scope ret inside the loop; initialize total directly from the prefix
   snprintf().
 - Merge "_" separator and extension name into a single snprintf() with
   "%s%s".
 - Replace ASSERT with an explicit error check: if the fill call returns a
   different length, free isa_str and return -EINVAL.
---
Changes in v2:
 - s/guest_unsupp_bmp/guest_unsupp.
 - Drop guest_isa_str.
 - Provide init_guest_isa() instead of polluting match_isa_ext().
 - Drop xlen.
 - Add the comment about guest_unsupp.
 - Update the way how guest_unsupp is init-ed.
 - Drop __initconst for riscv_isa_ext[] as it is used in init_guest_isa()
   which isn't marked as __init as it could be used after init stage.
---
---
 xen/arch/riscv/cpufeature.c             | 85 ++++++++++++++++++++++++-
 xen/arch/riscv/domain.c                 |  3 +
 xen/arch/riscv/include/asm/cpufeature.h |  4 ++
 xen/arch/riscv/include/asm/domain.h     |  4 ++
 4 files changed, 95 insertions(+), 1 deletion(-)

diff --git a/xen/arch/riscv/cpufeature.c b/xen/arch/riscv/cpufeature.c
index 92235fdfd5ab..a56c28b6c99f 100644
--- a/xen/arch/riscv/cpufeature.c
+++ b/xen/arch/riscv/cpufeature.c
@@ -14,7 +14,9 @@
 #include <xen/errno.h>
 #include <xen/init.h>
 #include <xen/lib.h>
+#include <xen/sched.h>
 #include <xen/sections.h>
+#include <xen/xvmalloc.h>
 
 #include <asm/cpufeature.h>
 #include <asm/csr.h>
@@ -120,7 +122,7 @@ static int __init dt_get_cpuid_from_node(const struct dt_device_node *cpu,
  * and strncmp() is used in match_isa_ext() to compare extension names instead
  * of strncasecmp().
  */
-const struct riscv_isa_ext_data __initconst riscv_isa_ext[] = {
+const struct riscv_isa_ext_data riscv_isa_ext[] = {
     RISCV_ISA_EXT_DATA(i),
     RISCV_ISA_EXT_DATA(m),
     RISCV_ISA_EXT_DATA(a),
@@ -128,6 +130,7 @@ const struct riscv_isa_ext_data __initconst riscv_isa_ext[] = {
     RISCV_ISA_EXT_DATA(d),
     RISCV_ISA_EXT_DATA(q),
     RISCV_ISA_EXT_DATA(c),
+    RISCV_ISA_EXT_DATA(v),
     RISCV_ISA_EXT_DATA(h),
     RISCV_ISA_EXT_DATA(zicntr),
     RISCV_ISA_EXT_DATA(zicsr),
@@ -160,6 +163,12 @@ static const struct riscv_isa_ext_data __initconst required_extensions[] = {
     RISCV_ISA_EXT_DATA(svpbmt),
 };
 
+/*
+ * Everything in riscv_isa_ext[] which shouldn't be exposed to guests should
+ * appear here.
+ */
+static __ro_after_init DECLARE_BITMAP(guest_unsupp, RISCV_ISA_EXT_MAX);
+
 static bool __init is_lowercase_extension_name(const char *str)
 {
     /*
@@ -480,6 +489,78 @@ bool riscv_isa_extension_available(const unsigned long *isa_bitmap,
     return test_bit(id, isa_bitmap);
 }
 
+static int build_guest_isa_str(char *buf, size_t size,
+                               const unsigned long *isa_bitmap)
+{
+    int total;
+
+#if defined(CONFIG_RISCV_32)
+    total = snprintf(buf, size, "rv32");
+#elif defined(CONFIG_RISCV_64)
+    total = snprintf(buf, size, "rv64");
+#else
+#   error "Unsupported RISC-V bitness"
+#endif
+
+    if ( total < 0 )
+        return total;
+
+    for ( unsigned int i = 0; i < ARRAY_SIZE(riscv_isa_ext); i++ )
+    {
+        const struct riscv_isa_ext_data *ext = &riscv_isa_ext[i];
+        int ret;
+
+        if ( !riscv_isa_extension_available(isa_bitmap, ext->id) )
+            continue;
+
+        ret = snprintf(buf ? buf + total : NULL,
+                       buf ? size - total : 0, "%s%s",
+                       ext->id >= RISCV_ISA_EXT_BASE ? "_" : "",
+                       ext->name);
+        if ( ret < 0 )
+            return ret;
+        total += ret;
+    }
+
+    return total;
+}
+
+int init_guest_isa(struct domain *d)
+{
+    int len;
+
+    bitmap_andnot(d->arch.isa, riscv_isa, guest_unsupp,
+                  RISCV_ISA_EXT_MAX);
+
+    len = build_guest_isa_str(NULL, 0, d->arch.isa);
+    if ( len < 0 )
+        return len;
+
+    d->arch.isa_str = xvmalloc_array(char, len + 1);
+    if ( !d->arch.isa_str )
+        return -ENOMEM;
+
+    if ( build_guest_isa_str(d->arch.isa_str, len + 1, d->arch.isa) != len )
+    {
+        XVFREE(d->arch.isa_str);
+        return -EINVAL;
+    }
+
+    return 0;
+}
+
+static void __init init_guest_unsupp(void)
+{
+    __set_bit(RISCV_ISA_EXT_f, guest_unsupp);
+    __set_bit(RISCV_ISA_EXT_d, guest_unsupp);
+    __set_bit(RISCV_ISA_EXT_q, guest_unsupp);
+    __set_bit(RISCV_ISA_EXT_v, guest_unsupp);
+    __set_bit(RISCV_ISA_EXT_h, guest_unsupp);
+    __set_bit(RISCV_ISA_EXT_sstc, guest_unsupp);
+    __set_bit(RISCV_ISA_EXT_svade, guest_unsupp);
+    __set_bit(RISCV_ISA_EXT_svpbmt, guest_unsupp);
+}
+
 void __init riscv_fill_hwcap(void)
 {
     unsigned int i;
@@ -527,4 +608,6 @@ void __init riscv_fill_hwcap(void)
     if ( !all_extns_available )
         panic("Look why the extensions above are needed in "
               "https://xenbits.xenproject.org/docs/unstable/misc/riscv/booting.txt\n");
+
+    init_guest_unsupp();
 }
diff --git a/xen/arch/riscv/domain.c b/xen/arch/riscv/domain.c
index 2819ff4e7c92..e4a8c27ea9cb 100644
--- a/xen/arch/riscv/domain.c
+++ b/xen/arch/riscv/domain.c
@@ -308,6 +308,9 @@ int arch_domain_create(struct domain *d,
     if ( is_idle_domain(d) )
         return 0;
 
+    if ( (rc = init_guest_isa(d)) != 0 )
+        goto fail;
+
     if ( (rc = p2m_init(d, config)) != 0)
         goto fail;
 
diff --git a/xen/arch/riscv/include/asm/cpufeature.h b/xen/arch/riscv/include/asm/cpufeature.h
index 0c48d57a03bb..866e0f6e7bb7 100644
--- a/xen/arch/riscv/include/asm/cpufeature.h
+++ b/xen/arch/riscv/include/asm/cpufeature.h
@@ -17,6 +17,7 @@
  */
 #define RISCV_ISA_EXT_BASE  26
 
+
 enum riscv_isa_ext_id {
     RISCV_ISA_EXT_a,
     RISCV_ISA_EXT_c,
@@ -44,7 +45,10 @@ enum riscv_isa_ext_id {
     RISCV_ISA_EXT_MAX
 };
 
+struct domain;
+
 void riscv_fill_hwcap(void);
+int init_guest_isa(struct domain *d);
 
 bool riscv_isa_extension_available(const unsigned long *isa_bitmap,
                                    enum riscv_isa_ext_id id);
diff --git a/xen/arch/riscv/include/asm/domain.h b/xen/arch/riscv/include/asm/domain.h
index 6044ce0feee0..459896c04b41 100644
--- a/xen/arch/riscv/include/asm/domain.h
+++ b/xen/arch/riscv/include/asm/domain.h
@@ -7,6 +7,7 @@
 #include <xen/xmalloc.h>
 #include <public/hvm/params.h>
 
+#include <asm/cpufeature.h>
 #include <asm/guest-layout.h>
 #include <asm/p2m.h>
 #include <asm/vtimer.h>
@@ -94,6 +95,9 @@ struct arch_domain {
     struct p2m_domain p2m;
 
     struct paging_domain paging;
+
+    DECLARE_BITMAP(isa, RISCV_ISA_EXT_MAX);
+    char *isa_str;
 };
 
 #include <xen/sched.h>
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340088.1601130 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoHb-0001zw-5k; Wed, 17 Jun 2026 11:18:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340088.1601130; Wed, 17 Jun 2026 11:18:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoHa-0001we-RD; Wed, 17 Jun 2026 11:18:10 +0000
Received: by outflank-mailman (input) for mailman id 1340088;
 Wed, 17 Jun 2026 11:18:09 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHY-0001U4-Od
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHY-008nON-5Q
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:08 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328267-bab6-0a2a0a5309dd-0a2a450bd29e-22
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:08 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a32826f-212f-0a2a450b0019-d155802ad5df-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:08 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-490cf322ed0so39126295e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:08 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695087; x=1782299887; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=HM+/Kmq9xfOuTPDTM94hm8AgKViPa+UWHR51aZRBeLo=;
        b=ocgCGgOWNjGQ8BHrDu57ux/+WWUpFczaWZikr6U3+8MB0uSGfjEgsuUnKa6kbi95gB
         41fzniF2TZiEleFhWvKEtSbU5itV/erV5enZjRcBNw/v4YlFIBtwcwlCmzt+FQFE0hVu
         N4WHl6cbcOeB02px2xyVY6DEQf/mDm6mXb6aL+UWbdw0Jc3lbXOKwUOgv1G2cBZI56ZX
         1Sl5oZzzWlxAO/9bOdM/3MAx7LMVGB0WnrCqF4w9cE4QyEOAZUvB405hAEVjIxCO3oFb
         lWV8VVSx9NIpRbx6FyQaNOaUwwdcsk/ea+qMe784BVFsE8KkacG1dp3Ed6sEVEDm/vuE
         pyhg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695087; x=1782299887;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=HM+/Kmq9xfOuTPDTM94hm8AgKViPa+UWHR51aZRBeLo=;
        b=d5IU/MpjBd9hCIBw9z0cJmbvWroJssg2Ou5BAhX63hDfN7WADxrnYaVxYYpZCdPqaf
         DKy8wxRk4YNx3wot04Bo1lsjMm2Tc9lhcWOkM790rAtLruCd3d5n9CvlnEnC60QZQt92
         K4HdmI+xU5E7MO0gvVgt1k0nksoAG2gelK2AasL/BUTHM7SC+s42HFSBzBoSukAXhtrR
         rqOv9c8ZjNtrMU0PZWv8TEl+EGq7K1+NNdKS+yX8IJ7htwFKge4KfoMgthT9PySNCF63
         bxTzqNkPYtgpKHy3ESOmfHKzGh9zRuQg6KBeboM9NU8yDgHDb+8dNEPis/Ot26BTYAPW
         je6w==
X-Gm-Message-State: AOJu0YzNMs8AeSifWr1jwU7l4Fc2zzuLheU0BB/655MYTX9L7geEr5wR
	ijd+v8/rN/yXfPH8GYpgqXpFUcJeCwY+dAWy2Q2jQlgTS0bV2t9hT10/ud012A==
X-Gm-Gg: Acq92OEsk8fCOkWZGa3OZFGXU3CXEssEvpiNBw0b6cF4eZd/dZ8Z4B+dlwryzPY95j8
	MMCUZsa3VZwPG+LvLumBueZPm1Q0+iLs3JeQGqKh0mG2GZ801961NDb0fnEHG8Ukw3+8MOAvdPl
	Y8yIRQjyDZiRxlgJpm30rP3WX9lHRDs6W9epJkem/qELuCOIdShcbecUHlTBHPkOScUgJzIoAjT
	+nmIKv7JDPQYEU0mN1dRaNzSy+Aa2X0MqofkaMLkHm2wwWyblkRG7JtMLx0ik9lo0+ViKpogKiN
	dGEVTBH/QSkVQaFy4jsVuPBKzr5DhIPz+h2YPCxZLSnLOjmtb7v3kfwk54SQwcU/NqXpcI8E7Jj
	Mo8POc3gi3Lp3/tYwb6joY+ozxjuO+bs7HsuEYbYmUaw+/W77OsKT+CLiIEzV55fmkCC7hK/qMd
	E/ieFacYv7deL46LQPNNpVIIUPV4GgbmOFYu1OsRgUvNKpp6xLkhtqwTfJXQ==
X-Received: by 2002:a05:600c:a117:b0:492:2e48:81e6 with SMTP id 5b1f17b1804b1-492333a0258mr48820195e9.4.1781695087520;
        Wed, 17 Jun 2026 04:18:07 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 07/23] xen/riscv: implement make_cpus_node()
Date: Wed, 17 Jun 2026 13:17:35 +0200
Message-ID: <f871fe1a751551e8959554aefa6c6bbcbdbc5ae9.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1781695088-23374F3B-CBC788FF/10/73395122804
X-purgate-type: spam
X-purgate-size: 4643

Implement make_cpus_node() to create cpus node for a guest domain.

This function is going to be use by common dom0less code during
construction domain.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v3:
 - Add blank line above make_cpus_node() function definition.
 - Move 'unsigned int cpu' from function-level declarations into the for loop.
 - Drop 'uint32_t reg = cpu_to_fdt32(cpu)'; use fdt_property_cell(fdt, "reg", cpu)
   instead of fdt_property(fdt, "reg", &reg, sizeof(reg)) so byte-order adjustment
   is handled internally.
 - Add matching /* interrupt-controller */ start comment; fix end comment to
   /* end interrupt-controller */.
 - Update d->arch.guest_isa_str to ->isa_str in make_cpus_node() function.
---
Changes in v2:
 - s/u32/uint32_t for timebase_frequency local variable.
 - Drop +1 from BUILD_BUG_ON().
 - return fdt_end_node(fdt); instead of res at the end of the function.
---
---
 xen/arch/riscv/domain-build.c | 106 ++++++++++++++++++++++++++++++++++
 1 file changed, 106 insertions(+)

diff --git a/xen/arch/riscv/domain-build.c b/xen/arch/riscv/domain-build.c
index 72cccb2c5c22..c1cbc4386312 100644
--- a/xen/arch/riscv/domain-build.c
+++ b/xen/arch/riscv/domain-build.c
@@ -3,8 +3,10 @@
 #include <xen/fdt-domain-build.h>
 #include <xen/fdt-kernel.h>
 #include <xen/init.h>
+#include <xen/libfdt/libfdt.h>
 #include <xen/sched.h>
 
+#include <asm/cpufeature.h>
 #include <asm/current.h>
 #include <asm/guest_access.h>
 
@@ -48,3 +50,107 @@ int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
 
     return 0;
 }
+
+int __init make_cpus_node(const struct domain *d, struct kernel_info *kinfo)
+{
+    int res;
+    const struct dt_device_node *cpus = dt_find_node_by_path("/cpus");
+    uint32_t timebase_frequency;
+    bool frequency_valid;
+    void *fdt = kinfo->fdt;
+
+    dt_dprintk("Create cpus node\n");
+
+    if ( !cpus )
+    {
+        dprintk(XENLOG_ERR, "Missing /cpus node in the device tree?\n");
+        return -ENOENT;
+    }
+
+    frequency_valid = dt_property_read_u32(cpus, "timebase-frequency",
+                                           &timebase_frequency);
+
+    res = fdt_begin_node(fdt, "cpus");
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#address-cells", 1);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#size-cells", 0);
+    if ( res )
+        return res;
+
+    if ( frequency_valid )
+        res = fdt_property_cell(fdt, "timebase-frequency", timebase_frequency);
+
+    for ( unsigned int cpu = 0; cpu < d->max_vcpus; cpu++ )
+    {
+        char buf[64];
+
+        snprintf(buf, sizeof(buf), "cpu@%u", cpu);
+        res = fdt_begin_node(fdt, buf);
+        if ( res )
+            return res;
+
+        res = fdt_property_cell(fdt, "reg", cpu);
+        if ( res )
+            return res;
+
+        res = fdt_property_string(fdt, "status", "okay");
+        if ( res )
+            return res;
+
+        res = fdt_property_string(fdt, "compatible", "riscv");
+        if ( res )
+            return res;
+
+        BUILD_BUG_ON((sizeof("riscv,") +
+                      sizeof_field(struct gstage_mode_desc, name)) >= sizeof(buf));
+        snprintf(buf, sizeof(buf), "riscv,%s", max_gstage_mode->name);
+        res = fdt_property_string(fdt, "mmu-type", buf);
+        if ( res )
+            return res;
+
+        res = fdt_property_string(fdt, "riscv,isa", d->arch.isa_str);
+        if ( res )
+            return res;
+
+        res = fdt_property_string(fdt, "device_type", "cpu");
+        if ( res )
+            return res;
+
+        /* interrupt-controller */
+        res = fdt_begin_node(fdt, "interrupt-controller");
+        if ( res )
+            return res;
+
+        res = fdt_property_string(fdt, "compatible", "riscv,cpu-intc");
+        if ( res )
+            return res;
+
+        res = fdt_property_cell(fdt, "#interrupt-cells", 1);
+        if ( res )
+            return res;
+
+        res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+        if ( res )
+            return res;
+
+        res = fdt_property_u32(fdt, "phandle", alloc_phandle(kinfo));
+        if ( res )
+            return res;
+
+        /* end interrupt-controller */
+        res = fdt_end_node(fdt);
+        if ( res )
+            return res;
+
+        res = fdt_end_node(fdt);
+        if ( res )
+            return res;
+    }
+
+    return fdt_end_node(fdt);
+}
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340089.1601138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoHc-00026P-2q; Wed, 17 Jun 2026 11:18:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340089.1601138; Wed, 17 Jun 2026 11:18:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoHb-00024a-HX; Wed, 17 Jun 2026 11:18:11 +0000
Received: by outflank-mailman (input) for mailman id 1340089;
 Wed, 17 Jun 2026 11:18:10 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHa-0001l5-3p
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHZ-008nTo-Gn
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:09 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328270-bab6-0a2a0a5309dd-0a2a4504bf4a-10
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:09 +0200
Received: from [209.85.128.47] (helo=mail-wm1-f47.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328271-1dec-0a2a45040019-d155802fed26-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:09 +0200
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-490ac357c55so53247215e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:09 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695089; x=1782299889; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Ua5oAufZEffqM5l46feS+w0Dh95aYTaQPQ9PFyogonw=;
        b=IpNC0CkQ67LpilMvPxhag1CSawgSj9v/47D6by18WWvGwyXkGx4SVy1hD9kO2kPU9I
         0Eifoq+s5XThiX2qD1FLqga8Uh9F7ScOEFhtlrGuki36hiicE4kN4wVUvRn8bwy99dgD
         AXqfi1WG+Hn6z3E88Wbbo+fImALMsnipycnLFZHDrb76KMg8XiYWsw0/NfPGWYdswf02
         KdR6DS4CeoqVUQT7526kvPgTh8MNXTyoxNmjU0/6iPA47OCLpBd1fd9VMuFTm9CEM2wp
         YpfVtjfaHEZD0hTEZZ80e+aiRJv9uTr+QtRbNIOWiOsPBwXfD7ZKDnbiHbF1rY6SQ6dT
         nLmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695089; x=1782299889;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=Ua5oAufZEffqM5l46feS+w0Dh95aYTaQPQ9PFyogonw=;
        b=Ru5IecZUN8tXn7e25O8eOWqSWcG3wlTdvwg3mOjMr80MROSpffpqs4K8mEryB+Dzcf
         oZaI0wd1Qr68vSHjr8zYIt7Y/CSIv2eLdPrB49/Y9kqcDBQQd8sfUU78g+CLzXc+y6iF
         bIf7Ayi/OQCeNsZ0Q3Y/I/9WYIY1mUdh3Sj2xHScxDpgbeaqZZEx69f7t1Yd7wb62SWH
         VpYJKYP1Ef9W8igw+3Ptgri2iG33Yopx/ohhLVLAl+fZtaF7CQU8j935414+zJKC0mwA
         8Li6fh9TZX5i9fAmxzVTPjFluF/8ipWasTHJSJTLfw61IRvwfjr73AJajGsbCgKt8QS5
         y5Fg==
X-Gm-Message-State: AOJu0YybRcNnkEqDYLG6SG4T8sUGUNdu1XiuBh3O0KtNWL5mHieZjS1N
	aYGU1vt0SzHw2HCG6vNdyKCityeUYw8zkfDsOHjtiBrFGICU5Le40/KrwK6DkQ==
X-Gm-Gg: Acq92OFfjoLCdpdZh5tF7C6UbE7/2OsKTquqHrlVJ+1/rV87HmLR6lh3+I0ne0tXANx
	fT+7kRWAgchO2trQxDPl3+2DkuIN6SsCyRjdA1pvJUMSkCVYnlp9nLjYp9VF6X8vvHToyZYDvwJ
	+M4sBSXLvrTP4spS08h0IQb1U+Z6IO+Y6sdY5ZzSsXbh6DIEL9O0BwemnTZ7P9osAxiIJ+vA7Dn
	1bHZb3p4CEaof+coHUcTIBqGeMfVFiZlwIc0qNBdRnUrm+jgdWwQ5BoPFc3bUYaT6qj7ubNRn6R
	nok6uH0NnpG4KgGYV97vmTxgXCaDGm29juflJpIk3y1MMl/5DZN+h5GqQtP9JHwdr39/6xnh7zg
	FCWyO78pKP9HwyWvqzmvQY6qUdU7MI7ECnRduT944CGL4rUHcz2I2znjFkw/oKt7gORyOE2VtkB
	NvFEJLWXhMFwz+nbd+Th4HHH5H7ko8Ttcbv7upfJdXA5TYn1fmCgMqueTmiQ==
X-Received: by 2002:a05:600c:a319:b0:490:e170:b80b with SMTP id 5b1f17b1804b1-492333debc8mr52137195e9.32.1781695088580;
        Wed, 17 Jun 2026 04:18:08 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 08/23] xen/riscv: implement make_timer_node()
Date: Wed, 17 Jun 2026 13:17:36 +0200
Message-ID: <85c87a6e2a8116a8fa8a9a0ea03c8084d95728f6.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ebf023/1781695089-4866B3FF-7533A809/10/73395122804
X-purgate-type: spam
X-purgate-size: 1616

Generally, in DT for RISC-V there is a document which describes a timer
node (riscv,timer.yaml or sifive,clint.yaml), but the Linux timer driver
is declared with TIMER_OF_DECLARE(riscv_timer, "riscv", ...).
It matches the CPU node (compatible "riscv"), not the timer node itself.
It then calls of_find_compatible_node(NULL, NULL, "riscv,timer") only to
read the optional riscv,timer-cannot-wake-cpu property.

Since Xen does not care about that property for now, make_timer_node() is
implemented to return 0, as no timer node needs to be created for RISC-V
guests.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v3:
 - Nothing changed. Only rebase.
---
Changes in v2:
 - Acked-by: Jan Beulich <jbeulich@suse.com>
 - Update the commit message.
---
---
 xen/arch/riscv/domain-build.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/xen/arch/riscv/domain-build.c b/xen/arch/riscv/domain-build.c
index c1cbc4386312..4c21ef37a6e1 100644
--- a/xen/arch/riscv/domain-build.c
+++ b/xen/arch/riscv/domain-build.c
@@ -3,6 +3,7 @@
 #include <xen/fdt-domain-build.h>
 #include <xen/fdt-kernel.h>
 #include <xen/init.h>
+#include <xen/fdt-kernel.h>
 #include <xen/libfdt/libfdt.h>
 #include <xen/sched.h>
 
@@ -154,3 +155,10 @@ int __init make_cpus_node(const struct domain *d, struct kernel_info *kinfo)
 
     return fdt_end_node(fdt);
 }
+
+int __init make_timer_node(const struct kernel_info *kinfo)
+{
+    /* There is no need for timer node for RISC-V. */
+
+    return 0;
+}
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340082.1601086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoHV-0000qn-BA; Wed, 17 Jun 2026 11:18:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340082.1601086; Wed, 17 Jun 2026 11: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 1wZoHV-0000qD-3f; Wed, 17 Jun 2026 11:18:05 +0000
Received: by outflank-mailman (input) for mailman id 1340082;
 Wed, 17 Jun 2026 11:18:03 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHT-0000eY-HC
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHR-000VG3-CG
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:01 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328263-e002-0a2a0a5209dd-0a2a4507bfe6-16
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:01 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328269-229c-0a2a45070019-d1558030f0cc-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:01 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-491609cdd8fso30076345e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:01 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.17.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695081; x=1782299881; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LoVAso1S9Fp0u19eDBxf1mv/kzkPYBOYkZMUv8ML4DQ=;
        b=UBTRuqBd/pG971TKuEdx8dDPCozFxbreGjy74oD8g01quz8RbFpJX/A1AekoBxVJ4n
         iLm0lmxpXDn+gu2ylqZXAPS08H9TjIUUt7At4/c/VPN2QI05t4xx1QGU41NVid5PAtXF
         +boFJ/OQ1TkdtUhFitwBh0BdVqZyoqVXgMKnasDHwg8FaDHVWSuTj0MR9cNnqkD+SFBQ
         790jtZr+ZeL3eLlQZ7cGo8QHldyTl7J87m/yfpFgEmrCSO84NCmeTnQbQIIWcPLE7+U8
         ALZ2lsb2rq5dRa7iCNm94GJu7kIginDwWZ6+EvlZB6lOGtPoK+TbxWGhI3inD0AZQ3rq
         rTdg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695081; x=1782299881;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=LoVAso1S9Fp0u19eDBxf1mv/kzkPYBOYkZMUv8ML4DQ=;
        b=cahqoXhGXE9RawMZFFKACSnKTfk2Wa6pAczOf8c4mx4Y1I3vTLaXG17G/rarcW80Ol
         NXxBOeX0u4g0fd5Xi9p0FKR9tJv5TCBt4wFxAcJ5jAKvG0jV9/6UIzJ7jcZGnpcMBwW9
         WT+AcoZDxDppgkB8A6VoygmjFBy34f6P78PzVJjatd3NK/X/1jS2Cm0PMA8d/4h06F0t
         nY7IW6cinsBtLiI/uu2zgfUMS9L+pquYOeRtVvwHOMNoUE5EfhKGBVbx4932SbWZpJ0I
         1OyfsLTtRFh4qDm8f0Cx7H2VoC0E2mZr1f0fHB6KlZDQkVn2IicQX2saePC4ihDEiO4O
         Uc0A==
X-Gm-Message-State: AOJu0YxERNjMlpUTw5UsZq8g7B3rinRSofkbdlwF7b/oHIAsGNT3U4nZ
	wrviJtxU36U23bBCf1FfJakvUFvqsHakxNbN8U6BrIaBmFqNV9QzU1UJmKBLQw==
X-Gm-Gg: Acq92OHYOfCar+h8SBAN5o/X6dbnrLOhek0dzldwW9bmz/XNw1AvICCsQjuH9/jsNZi
	zk0UjGErrQWQA7ryJwKzW9jrnlSGbNI+XnAR+vxcl6dERcAGmfIb5LCfyrcN9VwBxGxzfW/w5jE
	vcv232FqJGwMpP4qIKyH6skXZSSH4cOpl3r+tYdQP6Mf2YtMRPSb8f1BATFPbCv99zKuCiSOH8l
	PX9jEA8TvxkC/E8ufKlN4HVSkkjoduqUWqmCBPWk2HnfdnZnC8bz9NR/NYsUbyfXxz0gj+odhH+
	d/7zEChJjDZjAJJ1LGmcL0+mHkDBqS3Zy5vnM1p5s06DLKQd5d70pUCcq9uHBEpr+PmKArshPY9
	OGUj9nxl8Vwsc21z9/y4EKimu6RxwxTLVS9yvrYNk3wwgEJAgZ7vXH2OpeTTeqxiyZvFOzxki8M
	JZgJrcup99eIMTamuW3zpTzfqiQlKRTEv9tXwFvD5zfIhreTSt8aR4beGyTw==
X-Received: by 2002:a05:600c:a319:b0:492:1e36:552b with SMTP id 5b1f17b1804b1-492333e0e20mr49333735e9.36.1781695080614;
        Wed, 17 Jun 2026 04:18:00 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	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>
Subject: [PATCH v3 01/23] xen: arm: move declaration of map_device_irqs_to_domain() to common header
Date: Wed, 17 Jun 2026 13:17:29 +0200
Message-ID: <7bbb4d94f6711014f46becfabeb916ceed294833.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1781695081-21B68C48-054D02CF/10/73395122804
X-purgate-type: spam
X-purgate-size: 2255

As map_device_irqs_to_domain() is used unconditionally by common part of
dom0less code it is moved to common header.

fdt-domain-build.h is chosen as map_device_irqs_to_domain() could be
also called indirectly in Arm's DOM0-related code.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v3:
 - Add tag arm and move this patch earlier before RISC-V-related patches.
---
Changes in v2:
 - New patch.
---
 xen/arch/arm/include/asm/setup.h   |  3 ---
 xen/include/xen/fdt-domain-build.h | 13 +++++++++++++
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 0d29b46ea52b..0adfa4993a8f 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -53,9 +53,6 @@ void init_traps(void);
 int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt,
                   struct rangeset *iomem_ranges, struct rangeset *irq_ranges);
 
-int map_device_irqs_to_domain(struct domain *d, struct dt_device_node *dev,
-                              bool need_mapping, struct rangeset *irq_ranges);
-
 int map_irq_to_domain(struct domain *d, unsigned int irq,
                       bool need_mapping, const char *devname);
 
diff --git a/xen/include/xen/fdt-domain-build.h b/xen/include/xen/fdt-domain-build.h
index 671486c1c837..8612e98dfda5 100644
--- a/xen/include/xen/fdt-domain-build.h
+++ b/xen/include/xen/fdt-domain-build.h
@@ -12,6 +12,7 @@
 
 struct domain;
 struct page_info;
+struct rangeset;
 struct membanks;
 
 typedef bool (*alloc_domheap_mem_cb)(struct domain *d, struct page_info *pg,
@@ -79,6 +80,18 @@ static inline void set_domain_type(struct domain *d, const struct kernel_info *k
 #endif
 }
 
+/*
+ * Retrieves the interrupts configuration from a device tree node and maps
+ * those interrupts to the target domain.
+ *
+ * Returns:
+ *   < 0 error
+ *   0   success
+ */
+int map_device_irqs_to_domain(struct domain *d, struct dt_device_node *dev,
+                              bool need_mapping,
+                              struct rangeset *irq_ranges);
+
 #endif /* __XEN_FDT_DOMAIN_BUILD_H__ */
 
 /*
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340090.1601147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoHd-0002Tf-UJ; Wed, 17 Jun 2026 11:18:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340090.1601147; Wed, 17 Jun 2026 11:18: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 1wZoHd-0002Qu-9O; Wed, 17 Jun 2026 11:18:13 +0000
Received: by outflank-mailman (input) for mailman id 1340090;
 Wed, 17 Jun 2026 11:18:11 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHb-00020I-7f
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:11 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHa-00CoIJ-JW
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:10 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328270-2eae-0a2a0a5409dd-0a2a4506b2ec-4
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:10 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328272-7371-0a2a45060019-d1558035b8fa-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:10 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-490b7866869so57377375e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:10 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695090; x=1782299890; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4QqUVygSKuOYRxT6E8v4W6Rx56YdB/LiXLrQt30w45I=;
        b=IQNUT+ake2+WZNYsyellpUM2s+TkjhM3jQj4/9osbBC0j9+D3jzjVqL8AGEpXLbwku
         abLzfD5ZRCET6cr/j4W7dlvQ5lOhsDF+5iEEVUCV3Q9XUNMia2aZIXhQLDKArA+syj0M
         FPgigHJGBMlmCXLUjyOMBRmZXVC1HYcErIlCRt9otGLKTDGTrPR0GJY0B5tFTozEPUfH
         3nyUlY4cvVQvd7IoJWOcqTWd3UC8WglhRQIwJ5vvYaKNh7S0b0I5CC/WqYJaFO5AHxL9
         5wD+k+8SqP1Cq5mNbVYIkeHF4s96dTAOGA2ZrIGQ04s9IEdarPbztQj0NKKjV1pRO0uN
         VIPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695090; x=1782299890;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=4QqUVygSKuOYRxT6E8v4W6Rx56YdB/LiXLrQt30w45I=;
        b=EKCDLuQPFQRq66K+rJyMqi5hVwNjVCUgCbz0jjRI9MjW63rxHdliNCfJDeCbNNxajc
         Y6IJ4p9lYKSEyQ4adWGeOR2WhhaphsabisPejVdjWnYQE2cWRRIpH07mwucz/CLfTUfX
         nOWW21UEZI5nHBvfHtvqTXWejWCBYWvUtyRssIQq3JVXUjsGgpO/ZVqRjHfG2ofz5TDI
         +uZLtrV5hHzpvlCA240j6y7f/8lnkW+TgMPD6mexiYm2CCnG1ouHEig6OPoLWYPaalZL
         npGKSbDtqJpUOE4HrZqsk4Gbrjl+z1EM/YnW0FD5tEx8QdNXao3xOEX77XhAGp42O2Ib
         /JZA==
X-Gm-Message-State: AOJu0YyKfnCpUOMSzDySRepNELyYhHyJlhcsd/bC6MYxVHGftSbMSXzH
	5ahIXsEEI4Jt2bmtWjDu9Zdm3OG6yMVaZQs0gESTcvKrqvqpLvJsOJlde6664Q==
X-Gm-Gg: Acq92OEkviSc2xApF/pHnDhTUTKTDgvGHURGrj/41JkQMijEz8CiNhhCgElY10M2Il7
	h1C+8wIXd2rGHozrrtkXJ9aLSRqV1/0peZwskbKReoC1ATmbgzoFm2XOHczGKOOSoSEPQPxoJOm
	w/BtZrrxs3rVHOoi0ljntQVnm3q4WFYWWi76n81v6DjPKQdJPrUiyp7279z2HuFW6kDHp5SHLRt
	UxYgL7/oOUK59mJYFjrHZIQsiKJ2dI5jwGyPJAifrZ8daPT8mASMLHER67VLUXgtsLGRoSd3u+g
	nF3AHA+CL5Jv6m5DWerwdAypVhA/BTOzKyrFZINJPgebcMUUFLhgKlGAdr+4kkLZSZjeMmnn11j
	31rU2Y4FQ+e5ERGV5CKaYrE0ajM4lCRHbhbeCVzyfo9V9E4wD0YQ1lx3XnB1W2Lr5hEGBhhIchM
	URm9tmO6wCSXH0ZSqppHjHOqPPMxTCZu2GMOA9UaJPQeINTI95vkaKm+ri8g==
X-Received: by 2002:a05:600c:4644:b0:490:9d1b:f06a with SMTP id 5b1f17b1804b1-4923410388dmr26929715e9.10.1781695089636;
        Wed, 17 Jun 2026 04:18:09 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 09/23] xen/riscv: implement make_arch_nodes()
Date: Wed, 17 Jun 2026 13:17:37 +0200
Message-ID: <738f97f8ea8bb588742c3f03d3cb2d24f399b602.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1781695090-8797CD75-58EC785F/10/73395122804
X-purgate-type: spam
X-purgate-size: 1230

No RISC-V-specific nodes need to be created at the moment,
so make_arch_nodes() is implemented to simply return 0.

It is placed in dom0less-build.c as make_arch_nodes() is
only used in the dom0less code path. In the future, it will
be extended to create an emulated UART node.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v3:
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>.
---
Changes in v2:
 - Update the commit message.
---
---
 xen/arch/riscv/dom0less-build.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/xen/arch/riscv/dom0less-build.c b/xen/arch/riscv/dom0less-build.c
index a683972e9235..4cc00012aa8d 100644
--- a/xen/arch/riscv/dom0less-build.c
+++ b/xen/arch/riscv/dom0less-build.c
@@ -2,10 +2,18 @@
 
 #include <xen/bootfdt.h>
 #include <xen/device_tree.h>
+#include <xen/fdt-kernel.h>
 #include <xen/init.h>
 
 #include <asm/p2m.h>
 
+int __init make_arch_nodes(struct kernel_info *kinfo)
+{
+    /* No RISC-V specific nodes need to be made, at the moment. */
+
+    return 0;
+}
+
 int __init arch_parse_dom0less_node(struct dt_device_node *node,
                                     struct boot_domain *bd)
 {
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340091.1601165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoHh-0003BX-Rz; Wed, 17 Jun 2026 11:18:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340091.1601165; Wed, 17 Jun 2026 11:18: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 1wZoHh-00039Y-Ap; Wed, 17 Jun 2026 11:18:17 +0000
Received: by outflank-mailman (input) for mailman id 1340091;
 Wed, 17 Jun 2026 11:18:12 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHc-0002DY-Dr
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHb-00CoIJ-QW
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:11 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a32826e-2eae-0a2a0a5409dd-0a2a45089c4c-16
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:11 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328273-63b5-0a2a45080019-d155802bd8dc-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:11 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-490b9318997so41486405e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:11 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695091; x=1782299891; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JJCEZ0Pvvj10K/+6xn1dWHcG5TZx9e0qejLfuNUUGJ4=;
        b=cwI0Bm3tYklDjwnLnG2UU0k/AOLAMtB0+k//wEKOIw9SNzrutriuzd4Tl03sKAtGDT
         ACWUhO5gJlkrU2fgtUi9affKSb9GophN84s/l0SAXaxCccVsfDBJYO7iz8OAzmj60ZNz
         EF6xZ6iuA/cxjoOPiYNqcXkv+v7re9p2Z2rf3YU63WhK+HQWUD09p1Wje9RRNStBtMGG
         soFBmj5A4galck6xEHqkWS4DciA16pkPTfdiY7tfhIoU1IK1BgtBG2TOsnokOW50c7BR
         bY254aPs89XczABtHW2/RLANg2g45W9xkGKxVe6qt1SMKo6Y9Djgq2EkzSC7P5gkh/dA
         pgwg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695091; x=1782299891;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=JJCEZ0Pvvj10K/+6xn1dWHcG5TZx9e0qejLfuNUUGJ4=;
        b=kXvshx8vX7pNxJP0zts7GqZKOnTWS1miLA4OE8mC3jlcr1lC/xsu+KPj1mcQcI7Hsg
         D2Dew5JoiZ3FiTqBeewTgp/WEm3pLhFzw5blUtgATbQXv0PC2cPF5TIc97TkuwvBiVso
         svgovwgKOES1S+SqHUk2UzkAFePQLIW73UKZGcm1gUmsOETFbBByUSZtdU53nDRPY9vA
         zecE54L0RojQiqkpr/Tv+TMm4d2il3cUU+G6xSsJSeIkpsdcrAmO049bpe2henidr9Bk
         kT1WweJyqXVZiOriYSsx8TPn8kgXwzDRWbPAUibqLc/X4DKwhMXhSZNePdU6eqqn/yFq
         lC0Q==
X-Gm-Message-State: AOJu0YxoAPDLjd4or9zyg9l+0mxpJBGztpkbtEy+XKl2PrZnx3UftTfa
	z8wNYhPX+ymRhGDyy8l1BskoNK1v4bKZ+3F+713I+4p4xAqPT/cD8AWxvdZ4zQ==
X-Gm-Gg: Acq92OGgZ4a6qGb5w6i/BtTkYYWEiObCOH+GbQoa2kmLgLnOZ8PQ21x8HG/dtb+LPkq
	No9mZXGktNBAU5v1py+YLB0goiQxzs7nei/EzfEm+k9xb+MeJIQ0noODjZIpFr1C7/flhm58iCu
	pXaP8s3LxMhl0+Gv6EuxsLUXSdkafsz+F7HLon6+OciwhhLQ8PvYtW8J0n2fPX94p3YF49ZFKYM
	iEZw7n64DT9YETaDZ+zpQKJG+2qKICZcqAlJgjQfP3oMT1gwOEzgoJajDFyiyIXCiw4uukLidlO
	DpFj1bBdVMS+2Ov3Vzjjnn/z/GLQaen9SNfncEQp8FqZuoogXxLlb2ycvyVhkrtR3OgjfxTnBv9
	gOv9FypVzPYOsYairggvShA0wHZlslixyi+ycKcWZYaqbY+/7/U0N7iwXFbNGtsdu/BXXGHHb0q
	JQgK0LIw/UuDLzHWF0Gvzah2bgeqTCB24V6hajI4O+c/6hX2cH/gh8nVv+fA==
X-Received: by 2002:a05:600c:a148:b0:490:44eb:c1ec with SMTP id 5b1f17b1804b1-492333dafe8mr40448785e9.27.1781695091031;
        Wed, 17 Jun 2026 04:18:11 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 10/23] xen/riscv: introduce init interrupt controller operations
Date: Wed, 17 Jun 2026 13:17:38 +0200
Message-ID: <da217bc51799d46666a740f38e00efc6de554ffc.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c1860d/1781695091-B7B7CDB1-5EB7834B/10/73395122804
X-purgate-type: spam
X-purgate-size: 3769

Introduce intc_hw_init_ops structure to avoid risky mix of init
function and non-init function.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v3:
 - Use __initconst instead of __initdata for const intc_hw_init_ops.
 - Embed const struct intc_hw_operations *ops into intc_hw_init_ops so
   register_intc_ops() takes a single pointer argument.
---
Changes in v2:
 - New patch.
---
---
 xen/arch/riscv/aplic.c            |  8 ++++++--
 xen/arch/riscv/include/asm/intc.h | 10 +++++++---
 xen/arch/riscv/intc.c             | 11 ++++++++---
 3 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/xen/arch/riscv/aplic.c b/xen/arch/riscv/aplic.c
index 739e8dab3498..620768fb6164 100644
--- a/xen/arch/riscv/aplic.c
+++ b/xen/arch/riscv/aplic.c
@@ -306,12 +306,16 @@ static const hw_irq_controller aplic_xen_irq_type = {
 
 static const struct intc_hw_operations aplic_ops = {
     .info                = &aplic_info,
-    .init                = aplic_init,
     .host_irq_type       = &aplic_xen_irq_type,
     .handle_interrupt    = aplic_handle_interrupt,
     .set_irq_type        = aplic_set_irq_type,
 };
 
+static const struct intc_hw_init_ops __initconst aplic_init_ops = {
+    .ops                 = &aplic_ops,
+    .init                = aplic_init,
+};
+
 static int cf_check aplic_irq_xlate(const uint32_t *intspec,
                                     unsigned int intsize,
                                     unsigned int *out_hwirq,
@@ -347,7 +351,7 @@ static int __init aplic_preinit(struct dt_device_node *node, const void *dat)
 
     dt_irq_xlate = aplic_irq_xlate;
 
-    register_intc_ops(&aplic_ops);
+    register_intc_ops(&aplic_init_ops);
 
     /* Enable supervisor external interrupt */
     csr_set(CSR_SIE, BIT(IRQ_S_EXT, UL));
diff --git a/xen/arch/riscv/include/asm/intc.h b/xen/arch/riscv/include/asm/intc.h
index ecdc8a5e6577..3d84fcc51d1a 100644
--- a/xen/arch/riscv/include/asm/intc.h
+++ b/xen/arch/riscv/include/asm/intc.h
@@ -28,8 +28,6 @@ struct intc_info {
 struct intc_hw_operations {
     /* Hold intc hw information */
     const struct intc_info *info;
-    /* Initialize the intc and the boot CPU */
-    int (*init)(void);
 
     /* hw_irq_controller to enable/disable/eoi host irq */
     const struct hw_interrupt_type *host_irq_type;
@@ -43,9 +41,15 @@ struct intc_hw_operations {
     void (*handle_interrupt)(struct cpu_user_regs *regs);
 };
 
+struct intc_hw_init_ops {
+    const struct intc_hw_operations *ops;
+    /* Initialize the intc and the boot CPU */
+    int (*init)(void);
+};
+
 void intc_preinit(void);
 
-void register_intc_ops(const struct intc_hw_operations *ops);
+void register_intc_ops(const struct intc_hw_init_ops *init_ops);
 
 void intc_init(void);
 
diff --git a/xen/arch/riscv/intc.c b/xen/arch/riscv/intc.c
index ea317aea5ad8..3600d23bdb5b 100644
--- a/xen/arch/riscv/intc.c
+++ b/xen/arch/riscv/intc.c
@@ -12,9 +12,12 @@
 
 static const struct intc_hw_operations *__ro_after_init intc_hw_ops;
 
-void __init register_intc_ops(const struct intc_hw_operations *ops)
+static const struct intc_hw_init_ops *__initdata intc_hw_init_ops;
+
+void __init register_intc_ops(const struct intc_hw_init_ops *init_ops)
 {
-    intc_hw_ops = ops;
+    intc_hw_ops = init_ops->ops;
+    intc_hw_init_ops = init_ops;
 }
 
 void __init intc_preinit(void)
@@ -27,7 +30,9 @@ void __init intc_preinit(void)
 
 void __init intc_init(void)
 {
-    if ( intc_hw_ops->init() )
+    ASSERT(intc_hw_init_ops && intc_hw_init_ops->init);
+
+    if ( intc_hw_init_ops->init() )
         panic("Failed to initialize the interrupt controller drivers\n");
 }
 
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340093.1601170 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoHk-0003Qs-Ip; Wed, 17 Jun 2026 11:18:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340093.1601170; Wed, 17 Jun 2026 11:18: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 1wZoHj-0003P1-LF; Wed, 17 Jun 2026 11:18:19 +0000
Received: by outflank-mailman (input) for mailman id 1340093;
 Wed, 17 Jun 2026 11:18:15 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHe-0002dY-PQ
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHe-000VKU-5G
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:14 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328263-e002-0a2a0a5209dd-0a2a4507bfe6-48
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:14 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328275-229c-0a2a45070019-d155802af1d5-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:14 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-490b64c8311so55009965e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:14 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04:18:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695093; x=1782299893; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bHK0+oJiotjmDU6k0UIB1KR9MCUa+178QTbLj29mVA8=;
        b=BNMtO/Dhc55Zz8m0U7AOLCwnW65ZVwhw93eQbGx8CR6+NuywQMTRd10KnrN4usPiQM
         kgbPZHBbF8Psl2E/yjhLl9Wah0TCvXQ/VilvIPXxaMNb0WDRZ5MUtdoDZJ/ByEj/l4oZ
         8JSQkV+zsH2ezX5ct+DTgQA7d/CVGY5wRZONiipLGPXL9fVvepW9aYfEfaDJZKt+cr/d
         57vbjT6C/+veZpdirHiPjfMw61t9mRd6GL78LAKt8kiXFQewNFz801cYv+Gl9ZMjP0pn
         /oYS5I7xgUrF0aSydeo22cJ8UkfiteGLysEZ4aM7Z2L+m+BIZEk5QUhBvDJWgUmR71Wn
         txnA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695093; x=1782299893;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=bHK0+oJiotjmDU6k0UIB1KR9MCUa+178QTbLj29mVA8=;
        b=dJGkAkCiendlf4NDzFlp4DIQs8wx8pVgnLboLAPmgb+G/pP/1pp4C6YfUtNYoxnr+b
         IDV25fCXxwFx34LKikosKvNXYWXiy6GDv22vHwLqlhWfsjMzLv3kadVH/8bkp236cnpo
         hoxmL6QqXlU2eg3vzr1XPirNg8DD5sKvwCM2r5PjelDroCQHtCJJUTd6umlR3HG9lBUV
         /MHyOzLKJGc1F5Xs7PTp0t1LhcQ4jf/VwL6Utk6hpu70HA8EP/GZvCjcOyZUQT8WVuLx
         3C/hx0zP3tLZAWtVwu0H9qV2fYUt1WecYC35IcBgrhnZMk2Zvrn3WmZ4FyaTdYJ1nILI
         Vrmw==
X-Gm-Message-State: AOJu0Yy4A5D9daVJ7z7Vt/6lCp/E4sBosJonDLavdIh1QSgXsof60S36
	ypyb1ftst51jArXLEj0tkW9iULMf9TDJOz5sZgU87GsEjI3cNeKjbmobX+gGFQ==
X-Gm-Gg: Acq92OHdGopVzA5pKw78A6t5g2d5k6SAnRJTTFnA0qyn3ZOiTbIu+lQNqR+Q50bXCYi
	HXD10sMeMOVSX3x/jsl+c05x4yKsncYKyBnkNwbzLzKJU6z9SVkxrpBEND1ZS1XWn2xfHxGbSDR
	IgY2VP2PaiX4XlziZ/Gbxy0vh/XfQvogzkyDDu0tjA7Z8dDvT4t+abv0psJuTsSuhH6pfncpaFL
	Uuod7pkLYe2w4/SWRutO/HR+5DMRkffS2NBiPNoEMGBuYYcxmdXmasnVRL8spALODK21T7lvTti
	/kGKD+b2ZT8Z5rPpR+qxW+jemmGqGKubOv6aYTstk+6GBQl+cFi1g4+QSmbb6aG2yfPZYZnYThk
	FgShiaSK6wLXEkd0EOW126Jh/OOOlnyMsgJWS6J3O2FyAbDoj/qWkmbxDWS5FvForUZjmHyTwTn
	L+A1oKY7XxCjCGYv9EA9WbK9wi4+POsvy39Y2zX8hJRJwjWi5lFRt+O2TAvw==
X-Received: by 2002:a05:600c:19d3:b0:490:b99c:9337 with SMTP id 5b1f17b1804b1-492333a987dmr60965425e9.10.1781695093243;
        Wed, 17 Jun 2026 04:18:13 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 12/23] xen/riscv: introduce aia_init() and aia_usable()
Date: Wed, 17 Jun 2026 13:17:40 +0200
Message-ID: <ce37d11730c03b0cb7e19b27c055ecea487f22b7.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1781695094-0A573C48-8B43B7F2/10/73395122804
X-purgate-type: spam
X-purgate-size: 2968

aia_init() is going to contain all the logic related to AIA initialization.

At the moment, it only checks whether the SSAIA extension is available,
and if so, sets is_aia_usable (which  indicates more than just the
availability of the extension) to true; it also signifies that the necessary
components (to be introduced in follow-up patches) have been initialized.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v3:
 - s/is_aia_usable/_aia_usable to drop the is_ prefix while avoiding
   conflict with the aia_usable() function name.
---
Changes in v2:
 - s/is_aia_available/is_aia_usable.
 - Drop return value for aia_init().
 - s/aia_available()/aia_usable().
---
---
 xen/arch/riscv/Makefile          |  1 +
 xen/arch/riscv/aia.c             | 23 +++++++++++++++++++++++
 xen/arch/riscv/include/asm/aia.h | 10 ++++++++++
 xen/arch/riscv/intc.c            |  3 +++
 4 files changed, 37 insertions(+)
 create mode 100644 xen/arch/riscv/aia.c
 create mode 100644 xen/arch/riscv/include/asm/aia.h

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index fd5e499eb4b9..9df8b72b5494 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -1,3 +1,4 @@
+obj-y += aia.o
 obj-y += aplic.o
 obj-y += cpufeature.o
 obj-y += domain.o
diff --git a/xen/arch/riscv/aia.c b/xen/arch/riscv/aia.c
new file mode 100644
index 000000000000..e31c9c2d24b6
--- /dev/null
+++ b/xen/arch/riscv/aia.c
@@ -0,0 +1,23 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/errno.h>
+#include <xen/init.h>
+#include <xen/sections.h>
+#include <xen/types.h>
+
+#include <asm/cpufeature.h>
+
+static bool __ro_after_init _aia_usable;
+
+bool aia_usable(void)
+{
+    return _aia_usable;
+}
+
+void __init aia_init(void)
+{
+    if ( !riscv_isa_extension_available(NULL, RISCV_ISA_EXT_ssaia) )
+        return;
+
+    _aia_usable = true;
+}
diff --git a/xen/arch/riscv/include/asm/aia.h b/xen/arch/riscv/include/asm/aia.h
new file mode 100644
index 000000000000..ca42c3086126
--- /dev/null
+++ b/xen/arch/riscv/include/asm/aia.h
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef ASM__RISCV__AIA_H
+#define ASM__RISCV__AIA_H
+
+bool aia_usable(void);
+
+void aia_init(void);
+
+#endif /* ASM__RISCV__ACPI_H */
diff --git a/xen/arch/riscv/intc.c b/xen/arch/riscv/intc.c
index 31e08e3a1b65..f0ce27a96c1d 100644
--- a/xen/arch/riscv/intc.c
+++ b/xen/arch/riscv/intc.c
@@ -9,6 +9,7 @@
 #include <xen/lib.h>
 #include <xen/spinlock.h>
 
+#include <asm/aia.h>
 #include <asm/intc.h>
 
 static const struct intc_hw_operations *__ro_after_init intc_hw_ops;
@@ -33,6 +34,8 @@ void __init intc_init(void)
 {
     ASSERT(intc_hw_init_ops && intc_hw_init_ops->init);
 
+    aia_init();
+
     if ( intc_hw_init_ops->init() )
         panic("Failed to initialize the interrupt controller drivers\n");
 }
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340094.1601178 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoHo-0003ta-KC; Wed, 17 Jun 2026 11:18:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340094.1601178; Wed, 17 Jun 2026 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 1wZoHn-0003rD-Oa; Wed, 17 Jun 2026 11:18:23 +0000
Received: by outflank-mailman (input) for mailman id 1340094;
 Wed, 17 Jun 2026 11:18:15 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHe-0002dE-Nm
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHd-008nTo-3B
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:13 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328270-bab6-0a2a0a5309dd-0a2a4504bf4a-30
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:13 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328274-1dec-0a2a45040019-d155802dc8b4-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:13 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-490a76757e5so40645345e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:13 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695092; x=1782299892; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JTR+5Hn5G7Lu4nePlK2+AFvBwLwdKYyMSMvXluDf1/8=;
        b=bQSaHdgKcrzLKVK0C0VWyEyjZv+I0kRZ1+jrpXCk2UBzFUbIJCUfXaaJbHO8LBJAbV
         XoMhnZbyKNV0oZ7GB70rn8m96xp7lvHW2BYPg6huZizzpycC3JE1gN04sVl6/YeYYL84
         Fs5PaZMg8ZX+pqVh2CWISBtfzStn5xPnNANU21tSxMt0jXUSC1eAY+X9bWQi4PdiLWOM
         dgEjGcxo7Zf6dkaQWP38bJqB4GXsJRBRes9vqzmH9doxyTIXucd6Bk4b7AGVioptEzNb
         rLEgcvnJoRZNfRcBYy2BN2onRFswqXOZGC1wUGZ7hmsLOdaXhlSNXAhGicGehs2LSOdR
         GkFw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695092; x=1782299892;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=JTR+5Hn5G7Lu4nePlK2+AFvBwLwdKYyMSMvXluDf1/8=;
        b=aG91UmCLZx4p7djk5XOV7JXgDbubWf4N4uPwp0DrUnEKg3Y4F9c0CXSosCdX81uF/+
         W0+dkMkKykGpA6cVj2acBpa0GZxL99+KCoscMEWxMaYRKE0oHiSfYmnduIN3nNh0iZMN
         CFLm9p2kndkKvaql5Wk8BF3sLEDezloMR27ttCaIRRmgWnQS5fvgXuifms9MSUmTd/Xu
         Gt91m7oJ5+OBliC4OM2SvaZrO9bJO5qm3rmmTRvav74E/HSg/YWLGZOWKNO7V6Sg4nxi
         Z9QK7so0VBDJskaMl8XQutdfWPCqRdIrEvfin9U2Vv8pNQAOuhoTWph322JFpf0uZG5R
         tFBA==
X-Gm-Message-State: AOJu0Yz5+Lg/o/5wHYqxwcvkytfNBEcMiBq45dFyb3csTpdq6h4expNk
	0FOfb11sJ1NdY2/bHj0do6rlgWMMk17ZkmtDvS9uRDPvIz10inAXe0VNmlUyIw==
X-Gm-Gg: Acq92OG+Iqt5FZgIhtMN+LwmzqiyWW0luYTOQn16OJ4hrn9S9gb6tBlJD6nXvmR2dPh
	Pax8dvmEr7kbF1dKrSnIR+GvrDAr0LOYtDHSPrGV8VC6j9scLgSkOmJ7TordiQFROG1ClKxQvVh
	MVZ2Xf58h6xcsXGajY9OQ60svDfwBQEp/yNNDF5h6sHFnHiYiI1gadhUlid4C8xjgvQjWFeyrEc
	RXPIYgvKlV8LZXWrxNWCfSfoZu6BtkUEIbmipOW9qO8yuvK0NwMu02vJ2qbtmqGOgWm5az2iQJ+
	iD8e1duPq34P5kgTHQ0YErL9J3YAleTREz1NhiFyCzm9s188j5dMOvrmRoZM6rhWaMc2b9Kfhx/
	IMUWugYDIICyPLRBt7cosJ/KuNzbg35z2pZ+yAkScyfX3MvRG/rshHYIhoabz4vROACvE6mh0K0
	pELlBxncAPocx2dhkZVoSyIWS5fm4NXhmKP9A3Og0VJhKJlpzF9rTRdJYPmA==
X-Received: by 2002:a05:600c:828e:b0:490:c024:2ec8 with SMTP id 5b1f17b1804b1-49233356d67mr63644725e9.0.1781695092263;
        Wed, 17 Jun 2026 04:18:12 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 11/23] xen/riscv: implement make_intc_domU_node()
Date: Wed, 17 Jun 2026 13:17:39 +0200
Message-ID: <7b40037c2d0cce84f9e65d7c4a58ec773f7e49d0.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ebf023/1781695093-2A37F3FF-EF9655EB/10/73395122804
X-purgate-type: spam
X-purgate-size: 3376

Introduce a RISC-V specific function to create an interrupt controller
Device Tree node for DomU domains during dom0less build.

Add make_intc_domU_node() to the dom0less build path and wire it to
a new generic helper, intc_make_domu_dt_node(), which delegates DT
node creation to the active interrupt controller implementation via
vintc_init_ops.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v3:
 - Use const struct vintc_init_ops *init_ops in struct vintc.
 - Drop redundant intc_hw_ops check in make_intc_domU_node().
 - Drop NULL pointer checks in make_intc_domU_node() as we can't start domU
   without properly created interrupt contoller node.
---
Changes in v2:
 - s/intc_make_domu_dt_node/make_intc_domU_node.
 - introduce separate intc_hw_init_ops structure for init operations.
 - Return -EOPNOTSUPP instead of -ENOSYS.
 - Drop const for kinfo argument as it could be changed by interrupt
   controller node creation code.
 - Refactor make_domu_dt_node().
 - Make make_domu_dt_node part of vintc structure as it looks more logical to be
   there.
---
---
 xen/arch/riscv/include/asm/domain.h |  2 ++
 xen/arch/riscv/include/asm/intc.h   | 12 ++++++++++--
 xen/arch/riscv/intc.c               |  8 ++++++++
 3 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/xen/arch/riscv/include/asm/domain.h b/xen/arch/riscv/include/asm/domain.h
index 459896c04b41..8e597e231ee7 100644
--- a/xen/arch/riscv/include/asm/domain.h
+++ b/xen/arch/riscv/include/asm/domain.h
@@ -98,6 +98,8 @@ struct arch_domain {
 
     DECLARE_BITMAP(isa, RISCV_ISA_EXT_MAX);
     char *isa_str;
+
+    struct vintc *vintc;
 };
 
 #include <xen/sched.h>
diff --git a/xen/arch/riscv/include/asm/intc.h b/xen/arch/riscv/include/asm/intc.h
index 3d84fcc51d1a..9b701445179f 100644
--- a/xen/arch/riscv/include/asm/intc.h
+++ b/xen/arch/riscv/include/asm/intc.h
@@ -8,14 +8,13 @@
 #ifndef ASM__RISCV__INTERRUPT_CONTOLLER_H
 #define ASM__RISCV__INTERRUPT_CONTOLLER_H
 
-struct dt_device_node;
-
 enum intc_version {
     INTC_APLIC,
 };
 
 struct cpu_user_regs;
 struct irq_desc;
+struct kernel_info;
 
 struct intc_info {
     enum intc_version hw_version;
@@ -47,6 +46,15 @@ struct intc_hw_init_ops {
     int (*init)(void);
 };
 
+struct vintc_init_ops {
+    /* Create interrupt controller node for domain */
+    int (*make_domu_dt_node)(struct kernel_info *kinfo);
+};
+
+struct vintc {
+    const struct vintc_init_ops *init_ops;
+};
+
 void intc_preinit(void);
 
 void register_intc_ops(const struct intc_hw_init_ops *init_ops);
diff --git a/xen/arch/riscv/intc.c b/xen/arch/riscv/intc.c
index 3600d23bdb5b..31e08e3a1b65 100644
--- a/xen/arch/riscv/intc.c
+++ b/xen/arch/riscv/intc.c
@@ -3,6 +3,7 @@
 #include <xen/acpi.h>
 #include <xen/bug.h>
 #include <xen/device_tree.h>
+#include <xen/fdt-kernel.h>
 #include <xen/init.h>
 #include <xen/irq.h>
 #include <xen/lib.h>
@@ -72,3 +73,10 @@ void intc_route_irq_to_xen(struct irq_desc *desc, unsigned int priority)
     intc_set_irq_type(desc, desc->arch.type);
     intc_set_irq_priority(desc, priority);
 }
+
+int __init make_intc_domU_node(struct kernel_info *kinfo)
+{
+    struct vintc *vintc = kinfo->bd.d->arch.vintc;
+
+    return vintc->init_ops->make_domu_dt_node(kinfo);
+}
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340097.1601182 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoHr-00043t-2q; Wed, 17 Jun 2026 11:18:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340097.1601182; Wed, 17 Jun 2026 11:18: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 1wZoHp-00041G-FO; Wed, 17 Jun 2026 11:18:25 +0000
Received: by outflank-mailman (input) for mailman id 1340097;
 Wed, 17 Jun 2026 11:18:16 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHg-00030o-G5
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHf-008nUF-Sz
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:15 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328277-5cb7-0a2a0a5109dd-0a2a4505bd80-0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:15 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328277-aaa8-0a2a45050019-d1558034b1f6-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:15 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-490b613a17bso51746545e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:15 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695095; x=1782299895; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5apYusI3YeOAogzQyvyi2oh99FaaceCirHZlTfuxF20=;
        b=a+UyCYNEoEvqx3zxG6nR2UUEZ3INDYjmz3rfbrXj4e4Bi/iRy11S91D4uCq7by1uyS
         Z+rCnZrTct9mOfJj6WY4ygeJ1qBZ7RiqgIZrSUKbYcnL/8q8GPA94dm8+2rlOoH6pSn3
         KTbTd3mrIbO0RDP9LrMtJ2+BzG+TcHkJB7NeKmKQSJ1awol7TWUBu+B0BXQwh0RdT/IM
         MrHTfhPyXhRIa4yCWBs4EstzhKiu4l6OK5H8OgyBH1Z7WO8RtWYjhE5E/XJs5/j7bCe5
         CMqoynzpLEbJEVmLunK0mUk6uYOVAm4iFwb85wTKcdBDB4d71m1FkYXj3eXO17XMiBvX
         APsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695095; x=1782299895;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=5apYusI3YeOAogzQyvyi2oh99FaaceCirHZlTfuxF20=;
        b=SMt5YRsCfBXZdmj0MkmwaqcOulJZ4C8bLcKeqGi8PNsL4X5w6bSE9RuE3uJ4ljqvix
         JCGZFqeAKw3HmCx4mfDnUc16niB6EwBV8X0btRtcEU6o9LwJ23ZB7ObuyQ6pP5SzXZ5E
         eIDUcqvRee03PmbuSLxIG8+xhnsH+UnTdNt1f8EwSZZMPMynvsQ1Ge+hIr5h6y1FnvtX
         K1O5vgTKpVomPLH7SiH5LsZYU/oXg7Qj0itVfpVUFYEvPirMq+KxIsQxxw3PFp2CMQVT
         oEgz1TBGvGDD4zHib+n7QLqiyZOdEzX3jRMuNvR7HwDRfVdDeLkwiINtOshs79B+vlX4
         Ww3A==
X-Gm-Message-State: AOJu0YxbTEPcW4U12lAL/e/ANG5+oD/eUNfRaxRAlyj38q4xJZYRJRym
	swwSi81JBBvT4TphEZvSbfh4uAjNV/kiHweUwU1y7dFkF/Eq5S2rpCCVQrYNZQ==
X-Gm-Gg: Acq92OE+mFc+z4CNTxVCyd4qhD7j+xycTPcHBMOnt350k0uX1yEoeIZOLs67tUkYqOF
	EeQKipz/vzn5HFi5XhLYkTPsrsKzTMePv0kw+ww9/1yD/kstqhnlu9sp9wZn4mM/qW2eR0UIq+2
	bxyJOC7mIV8RnKSLkyCP6Nk0KjinMQdgIM1pJEPlVm0M9Qj71NJt/UUJKolSUWjLmnRZR8r9/YZ
	XufI9dONJP/7Iximpi2Xj+7tt/0952XDMNKW7bVnUpBj7S7T/Y1hRHRSJ8eyusVh6/HaQ7WTg+C
	Weoq+Ft5L30kGyVnu6AmPIiwsxPwYMVHoQCevrTtpBU0Yvip1tZl/ZgDA3chnhLnzGcQ0ePnu9K
	73svgcGLHiCcR3OU6dKB45DIVw5lItB5fUYBMsRCsrkT1KLzfS7fqjMhAio719sVSnhfwWLeLxm
	zD3lgn7L4M3OOKQpePm5iu12p/oxFfO9/dSajq2cHFRU4Nbuqififln3Ujrw==
X-Received: by 2002:a05:600c:c491:b0:48e:5d91:cfe3 with SMTP id 5b1f17b1804b1-492333a5353mr60236275e9.1.1781695094997;
        Wed, 17 Jun 2026 04:18:14 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 13/23] xen/riscv: introduce per-vCPU IMSIC state
Date: Wed, 17 Jun 2026 13:17:41 +0200
Message-ID: <69b84024f185db01d62d6c9ece1b5cee0e20a25b.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1781695095-E1D9D443-68CE1B85/10/73395122804
X-purgate-type: spam
X-purgate-size: 5579

Each vCPU interacting with the IMSIC requires state to track the
associated guest interrupt file and its backing context.

Introduce a per-vCPU structure to hold IMSIC-related state, including
the guest interrupt file identifier and the CPU providing the backing
VS-file. Access to the guest file identifier is protected by a lock.

Initialize this structure during vCPU setup and store it in arch_vcpu.
The initial state marks the VS-file as software-backed until it becomes
associated with a physical CPU.

Add helper to retrieve the guest interrupt file identifier:
- vcpu_guest_file_id() is going to be used during update of APLIC's
  target register with the pair of information <guest_file_id, cpu_id>
  (to have MSI delivery mode work properly) when guest is trying to
  access vAPLIC's target register.
It will be used in the follow up patches.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v3:
 - Drop const from imsic_set_guest_file_id() and vcpu_imsic_deinit() as
   it only works due to vimsic_state being a pointer member.
 - Use XVFREE() in vcpu_imsic_deinit() to make it idempotent.
 - Fix SW-file typo in struct vimsic_state comments; should be VS-file.
 - Drop imsic_set_guest_file_id() here, it will be added later when it
   will be nessary to initialise guest file id as the correspondendt code
   in this patch series was reworked and there is no need to use this
   function in arch_vcpu_create().
 - Introduce IMPOSSIBLE_GUEST_FILE_ID and init with it ->guest_file_id.
---
Changes in v2:
 - Rename imsic_state to vimsic_state.
 - Use 'unsigned int' for vsfile_pcpu.
 - Drop initialzation of ->guest_file_id as it will be by default zero.
 - Add the comment about ->guest_file_id field.
 - Drop __init for vcpu_imsic_init() as it could be used during post-boot
   vCPU creation.
 - Update the commit message.
 - Drop locks around ->guest_file_id() in  vcpu_guest_file_id() and imsic_set_guest_file_id().
---
---
 xen/arch/riscv/imsic.c              | 34 +++++++++++++++++++++++++++++
 xen/arch/riscv/include/asm/domain.h |  2 ++
 xen/arch/riscv/include/asm/imsic.h  | 22 +++++++++++++++++++
 3 files changed, 58 insertions(+)

diff --git a/xen/arch/riscv/imsic.c b/xen/arch/riscv/imsic.c
index f7b70a8da09e..59c7556327da 100644
--- a/xen/arch/riscv/imsic.c
+++ b/xen/arch/riscv/imsic.c
@@ -16,12 +16,15 @@
 #include <xen/errno.h>
 #include <xen/init.h>
 #include <xen/macros.h>
+#include <xen/sched.h>
 #include <xen/smp.h>
 #include <xen/spinlock.h>
 #include <xen/xvmalloc.h>
 
 #include <asm/imsic.h>
 
+#define IMPOSSIBLE_GUEST_FILE_ID UINT32_MAX
+
 #define IMSIC_HART_SIZE(guest_bits) (BIT(guest_bits, U) * IMSIC_MMIO_PAGE_SZ)
 
 struct imsic_mmios {
@@ -56,6 +59,11 @@ do {                            \
     csr_clear(CSR_SIREG, v);    \
 } while (0)
 
+unsigned int vcpu_guest_file_id(const struct vcpu *v)
+{
+    return ACCESS_ONCE(v->arch.vimsic_state->guest_file_id);
+}
+
 void __init imsic_ids_local_delivery(bool enable)
 {
     if ( enable )
@@ -312,6 +320,32 @@ static int imsic_parse_node(const struct dt_device_node *node,
     return 0;
 }
 
+int vcpu_imsic_init(struct vcpu *v)
+{
+    struct vimsic_state *imsic_state;
+
+    /* Allocate IMSIC context */
+    imsic_state = xvzalloc(struct vimsic_state);
+    if ( !imsic_state )
+        return -ENOMEM;
+
+    v->arch.vimsic_state = imsic_state;
+
+    /* Setup IMSIC context  */
+    rwlock_init(&imsic_state->vsfile_lock);
+
+    imsic_state->vsfile_pcpu = NR_CPUS;
+
+    imsic_state->guest_file_id = IMPOSSIBLE_GUEST_FILE_ID;
+
+    return 0;
+}
+
+void vcpu_imsic_deinit(struct vcpu *v)
+{
+    XVFREE(v->arch.vimsic_state);
+}
+
 /*
  * Initialize the imsic_cfg structure based on the IMSIC DT node.
  *
diff --git a/xen/arch/riscv/include/asm/domain.h b/xen/arch/riscv/include/asm/domain.h
index 8e597e231ee7..bbeac7518a85 100644
--- a/xen/arch/riscv/include/asm/domain.h
+++ b/xen/arch/riscv/include/asm/domain.h
@@ -54,6 +54,8 @@ struct arch_vcpu {
 
     struct vtimer vtimer;
 
+    struct vimsic_state *vimsic_state;
+
     register_t hcounteren;
     register_t hedeleg;
     register_t hideleg;
diff --git a/xen/arch/riscv/include/asm/imsic.h b/xen/arch/riscv/include/asm/imsic.h
index c6c59215df20..316fe5423c48 100644
--- a/xen/arch/riscv/include/asm/imsic.h
+++ b/xen/arch/riscv/include/asm/imsic.h
@@ -11,6 +11,7 @@
 #ifndef ASM_RISCV_IMSIC_H
 #define ASM_RISCV_IMSIC_H
 
+#include <xen/rwlock.h>
 #include <xen/spinlock.h>
 #include <xen/stdbool.h>
 #include <xen/types.h>
@@ -61,7 +62,24 @@ struct imsic_config {
     spinlock_t lock;
 };
 
+struct vimsic_state {
+    /* IMSIC VS-file */
+    rwlock_t vsfile_lock;
+    /*
+     * (guest_file_id == 0) -> s/w IMSIC VS-file
+     * (guest_file_id > 0) -> h/w IMSIC VS-file
+     */
+    unsigned int guest_file_id;
+    /*
+     * (vsfile_pcpu >= 0) => h/w IMSIC VS-file
+     * (vsfile_pcpu == NR_CPUS) => s/w IMSIC VS-file
+     */
+    unsigned int vsfile_pcpu;
+};
+
 struct dt_device_node;
+struct vcpu;
+
 int imsic_init(const struct dt_device_node *node);
 
 const struct imsic_config *imsic_get_config(void);
@@ -71,4 +89,8 @@ void imsic_irq_disable(unsigned int hwirq);
 
 void imsic_ids_local_delivery(bool enable);
 
+int vcpu_imsic_init(struct vcpu *v);
+void vcpu_imsic_deinit(struct vcpu *v);
+unsigned int vcpu_guest_file_id(const struct vcpu *v);
+
 #endif /* ASM_RISCV_IMSIC_H */
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340100.1601190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoHt-0004EG-3N; Wed, 17 Jun 2026 11:18:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340100.1601190; Wed, 17 Jun 2026 11:18:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoHr-00049q-4G; Wed, 17 Jun 2026 11:18:27 +0000
Received: by outflank-mailman (input) for mailman id 1340100;
 Wed, 17 Jun 2026 11:18:19 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHi-0003Hf-II
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHg-00CoLo-Uu
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:16 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328270-2eae-0a2a0a5409dd-0a2a4506b2ec-28
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:16 +0200
Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328278-7371-0a2a45060019-d1558036f134-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:16 +0200
Received: by mail-wm1-f54.google.com with SMTP id
 5b1f17b1804b1-490b64c8311so55010275e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:16 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695096; x=1782299896; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=YgS4xncGRmEKcmvBSvgWNruiE6NqAhsldZjnjIta9fI=;
        b=kunzc0y8voFEyo35ThAd4kc/rp+ec1ZoAVcqsiR2X90I0HOz7PUBIXSBTRx9Bjvbe+
         17axQM4kdDFRR1Sbb1idlMG+6ZfdSqo2YwXCTImzr0P+/JuZxa4PaND8LdKR/de2hygI
         F+0tklsIHeLnw4LGwNpzt4wGz3/NyGWTiRG47MBOWjDgmWJmEBnAqKsdZdYcx24wpVyr
         BM8MmKTfR58WjDapSdKN1hhwYC7uS2iuDqJFAEPRBPR9QV8vXGy2FDaUGSGMb77zHH9K
         4Ltwvks98CuPhsaTAeKIqetduwviu1XfYCmYZfyThPYmXdluf8d/i7fCbeh320wGvN4j
         n+Uw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695096; x=1782299896;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=YgS4xncGRmEKcmvBSvgWNruiE6NqAhsldZjnjIta9fI=;
        b=tKv1+/8cp9pHfoMqKEAn3XjS3WgwxDzehiQTnZ5C6W96QWlH0pDuUjpKXpWxu/lv9U
         1+KOuGAIR/kWIlFksYbwF/qsEaFOdyYYsnVbg3Jmhn/GWX72R9TusO4KwTqNdKLypfJy
         ytUz4DwE1JB+9fhZpvMspX6DIpy/9b7C9Rqdawas1Wm5XcaepaRj5vS6/pE3Fjji8Z8o
         SkuvaSo3fbP5gVfXj+TnIRxiEfgi+rmLJ/Uc6l3JCaE+dBp129bjwYqEjVzxeAv4lxfM
         bULKaWHa3Rcw9Yc9QJ2F+DURXSchhPQF3GtHRX8rHUgrwvJO0H6Y9wjyDHVb9utTfTXb
         i1Jg==
X-Gm-Message-State: AOJu0YwWX3vKjnKFqJFrzvCT+H2PdfmIJnmjdqab89F9oPmoNQoz6QfK
	esWntH/+oaoe1Vwvauur4PcbAkShwmb40LnLjfuv9NU4mhfUNlEJQmu0YPefew==
X-Gm-Gg: Acq92OFJqCt0EPlH8pPDWL25Ohn/+shDz6nxxFQgaWdU95Kxxd37eqaMPgjjLCbL+5J
	nwLqOo8rePP+TNgFD5QO1cqnpjXP5Jt8sMfgw+WklYjlEDblSXvzeM4CIxvV0hon3/ZyMob4qrY
	teYgDF2Etb62Vd41yIxrF43Oeb0MrAP7B4IlddZ3QYCT3/WWWJ8BVhrPgrVo3yB4fXawK0EKaoe
	SOK14TX1FCh7pAXy7pa1wJI9mCQ1+XEqwZK8FpKxBpvRXpeWdN3SuISK5xO1NQ0+BjAeCjKt2mw
	wxkAIh8/PWRUVHyIO+Gr7dNoJ20u2HTmXkU6M05FHyU9ujPJ3uw9Wq4x2F2IyNDf2pg6Ue+FD2a
	YvSBsd5ke9vEu+Dvo5DWWGdZFlmreb6Tcd/EJoYHv+k3msDawBfcmFRVAVvp22a+niy/iH7ZoJw
	fzoqyZRTS6CC+6H3oMzblAe8kEw+uNxtW8SR0FWfvib8woa5hZfgRr8eHgWQ==
X-Received: by 2002:a05:600d:117:b0:490:a646:9d77 with SMTP id 5b1f17b1804b1-492333a1c30mr48448225e9.6.1781695096087;
        Wed, 17 Jun 2026 04:18:16 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 14/23] xen/riscv: add very early virtual APLIC (vAPLIC) initialization support
Date: Wed, 17 Jun 2026 13:17:42 +0200
Message-ID: <9dc992009d0c1f9d1c6b6e88c0ea8bceabcb4d72.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1781695096-8556ED75-ABB18FC0/10/73395122804
X-purgate-type: spam
X-purgate-size: 8822

At the current development stage, only domain vINTC init and deinit
operations are required, so implement those first.

Initialize vAPLIC's domaincfg to with the interrupt-enable bit set and
MSI delivery mode selected as the current solution is exepcted to have
always IMSIC, and initialize vintc->ops.

Other operations such as emulate_load(), emulate_store(), and is_access()
will be needed once guests are running and MMIO accesses to APLIC MMIO
range must be handled. These will be introduced separately later.

Introduce a structure to describe a virtual interrupt controller (vINTC)
and a vintc_ops structure, which provides operations to emulate load and
store accesses to interrupt controller MMIOs and to check whether a given
address falls within the MMIO range of a specific virtual interrupt
controller.

The vAPLIC implementation of these operations will be provided later
once guests can be run and these operations are actually needed.

Introduce these structures here as they are required for the implementation
of domain_vaplic_init() and domain_vaplic_alloc(). Also, introduce
vaplic_init() and init vintc_ops->vcpu_init() with it.

Co-developed-by: Romain Caritey <Romain.Caritey@microchip.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v3:
 - Drop ASSERT() before vintc->ops->vcpu_init() in arch_vcpu_create(); a
   NULL deref already produces a sufficient backtrace.
 - Parenthesize macro argument in to_vaplic().
 - Drop __init from domain_vaplic_init() and domain_vaplic_deinit() since
   the caller domain_vintc_init() (follow-up patch) is not __init.
 - Remove pointless zero-initializer for rc in vcpu_vaplic_init().
 - Fix domain_vaplic_deinit() to null d->arch.vintc before freeing, making
   the function idempotent.
 - Drop intc_irq_nums(), (*nr_irqs)(void) hook from intc_hw_operations,
   aplic_nr_irqs(), and vintc->nr_irqs field entirely.
 - Rename vcpu_vaplic_init() to vaplic_init() and drop vgein_assign() and
   imsic_set_guest_file_id() calls; those will be introduced/called later,
   where for sure we will know on which pCPU vCPU as it is required for
   proper h/w IMSIC interrupt file calculation, to have this initialization
   in one place.
 - Introduce vaplic_deinit().
---
Changes in v2:
 - s/vcpu/v for function arguments in struct vintc_ops().
 - Update the comment above is_access() and drop const for addr argument.
 - Update to_vaplic() to work with 'struct domain *'.
 - Drop smsiaddrcfg{h} from vaplic_regs struct as they aren't used for now.
 - Drop inclusion of xen/schec.h from intc.c.
 - use result of xvzalloc() as initializer in vpalic_alloc().
 - Drop goto in domain_vaplic_init().
 - s/XVFREE/xvfree.
 - s/aplic/vintc.
 - Drop __init for vcpu_vaplic_init() as it could be called for secondary CPU bring up.
 - Drop vaplic_alloc().
 - Drop vintc_ops struct, embed callbacks iniside struct vintc.
 - Introduce and init vintc irqs for vAPLIC.
 - Introduce intc_irq_nums() to properly initialize number of vAPLIC's irqs.
---
---
 xen/arch/riscv/Makefile             |  1 +
 xen/arch/riscv/domain.c             | 11 ++---
 xen/arch/riscv/include/asm/aplic.h  |  1 +
 xen/arch/riscv/include/asm/intc.h   | 12 ++++++
 xen/arch/riscv/include/asm/vaplic.h | 34 ++++++++++++++++
 xen/arch/riscv/vaplic.c             | 63 +++++++++++++++++++++++++++++
 6 files changed, 114 insertions(+), 8 deletions(-)
 create mode 100644 xen/arch/riscv/include/asm/vaplic.h
 create mode 100644 xen/arch/riscv/vaplic.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 9df8b72b5494..9d8d21b65188 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -25,6 +25,7 @@ obj-y += smpboot.o
 obj-y += stubs.o
 obj-y += time.o
 obj-y += traps.o
+obj-y += vaplic.o
 obj-y += vmid.o
 obj-y += vm_event.o
 obj-y += vsbi/
diff --git a/xen/arch/riscv/domain.c b/xen/arch/riscv/domain.c
index e4a8c27ea9cb..129e775c52cb 100644
--- a/xen/arch/riscv/domain.c
+++ b/xen/arch/riscv/domain.c
@@ -11,6 +11,7 @@
 #include <asm/bitops.h>
 #include <asm/cpufeature.h>
 #include <asm/csr.h>
+#include <asm/intc.h>
 #include <asm/riscv_encoding.h>
 #include <asm/vtimer.h>
 
@@ -155,14 +156,8 @@ int arch_vcpu_create(struct vcpu *v)
     if ( (rc = vcpu_vtimer_init(v)) )
         goto fail;
 
-    /*
-     * As interrupt controller (IC) is not yet implemented,
-     * return an error.
-     *
-     * TODO: Drop this once IC is implemented.
-     */
-    rc = -EOPNOTSUPP;
-    goto fail;
+    if ( (rc = v->domain->arch.vintc->ops->vcpu_init(v)) )
+        goto fail;
 
     return rc;
 
diff --git a/xen/arch/riscv/include/asm/aplic.h b/xen/arch/riscv/include/asm/aplic.h
index b0724fe6f360..d443faac57c4 100644
--- a/xen/arch/riscv/include/asm/aplic.h
+++ b/xen/arch/riscv/include/asm/aplic.h
@@ -15,6 +15,7 @@
 
 #include <asm/imsic.h>
 
+#define APLIC_DOMAINCFG_RO80    (0x80U << 24)
 #define APLIC_DOMAINCFG_IE      BIT(8, U)
 #define APLIC_DOMAINCFG_DM      BIT(2, U)
 
diff --git a/xen/arch/riscv/include/asm/intc.h b/xen/arch/riscv/include/asm/intc.h
index 9b701445179f..d3d456afe5f0 100644
--- a/xen/arch/riscv/include/asm/intc.h
+++ b/xen/arch/riscv/include/asm/intc.h
@@ -15,6 +15,7 @@ enum intc_version {
 struct cpu_user_regs;
 struct irq_desc;
 struct kernel_info;
+struct vcpu;
 
 struct intc_info {
     enum intc_version hw_version;
@@ -38,6 +39,7 @@ struct intc_hw_operations {
 
     /* handle external interrupt */
     void (*handle_interrupt)(struct cpu_user_regs *regs);
+
 };
 
 struct intc_hw_init_ops {
@@ -51,8 +53,17 @@ struct vintc_init_ops {
     int (*make_domu_dt_node)(struct kernel_info *kinfo);
 };
 
+struct vintc_ops {
+    /* Initialize some vINTC-related stuff for a vCPU */
+    int (*vcpu_init)(struct vcpu *v);
+
+    /* Deinitialize some vINTC-related stuff for a vCPU */
+    void (*vcpu_deinit)(struct vcpu *v);
+};
+
 struct vintc {
     const struct vintc_init_ops *init_ops;
+    const struct vintc_ops *ops;
 };
 
 void intc_preinit(void);
@@ -65,4 +76,5 @@ void intc_route_irq_to_xen(struct irq_desc *desc, unsigned int priority);
 
 void intc_handle_external_irqs(struct cpu_user_regs *regs);
 
+
 #endif /* ASM__RISCV__INTERRUPT_CONTOLLER_H */
diff --git a/xen/arch/riscv/include/asm/vaplic.h b/xen/arch/riscv/include/asm/vaplic.h
new file mode 100644
index 000000000000..96080bfbc23b
--- /dev/null
+++ b/xen/arch/riscv/include/asm/vaplic.h
@@ -0,0 +1,34 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * xen/arch/riscv/vaplic.c
+ *
+ * Virtual RISC-V Advanced Platform-Level Interrupt Controller support
+ *
+ * Copyright (c) Microchip.
+ */
+
+#ifndef ASM__RISCV__VAPLIC_H
+#define ASM__RISCV__VAPLIC_H
+
+#include <xen/kernel.h>
+#include <xen/types.h>
+
+#include <asm/intc.h>
+
+struct domain;
+
+#define to_vaplic(d) container_of((d)->arch.vintc, struct vaplic, vintc)
+
+struct vaplic_regs {
+    uint32_t domaincfg;
+};
+
+struct vaplic {
+    struct vintc vintc;
+    struct vaplic_regs regs;
+};
+
+int domain_vaplic_init(struct domain *d);
+void domain_vaplic_deinit(struct domain *d);
+
+#endif /* ASM__RISCV__VAPLIC_H */
diff --git a/xen/arch/riscv/vaplic.c b/xen/arch/riscv/vaplic.c
new file mode 100644
index 000000000000..8170e93701ad
--- /dev/null
+++ b/xen/arch/riscv/vaplic.c
@@ -0,0 +1,63 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * xen/arch/riscv/vaplic.c
+ *
+ * Virtual RISC-V Advanced Platform-Level Interrupt Controller support
+ *
+ * Copyright (c) Microchip.
+ * Copyright (c) Vates
+ */
+
+#include <xen/errno.h>
+#include <xen/sched.h>
+#include <xen/xvmalloc.h>
+
+#include <asm/aia.h>
+#include <asm/imsic.h>
+#include <asm/intc.h>
+#include <asm/vaplic.h>
+
+#include "aplic-priv.h"
+
+static int cf_check vaplic_init(struct vcpu *v)
+{
+    return vcpu_imsic_init(v);
+}
+
+static void cf_check vaplic_deinit(struct vcpu *v)
+{
+    return vcpu_imsic_deinit(v);
+}
+
+static const struct vintc_ops vintc_ops = {
+    .vcpu_init = vaplic_init,
+    .vcpu_deinit = vaplic_deinit,
+};
+
+int domain_vaplic_init(struct domain *d)
+{
+    struct vaplic *vaplic = xvzalloc(struct vaplic);
+
+    if ( !vaplic )
+        return -ENOMEM;
+
+    d->arch.vintc = &vaplic->vintc;
+    d->arch.vintc->ops = &vintc_ops;
+
+    vaplic->regs.domaincfg = APLIC_DOMAINCFG_IE | APLIC_DOMAINCFG_DM |
+                             APLIC_DOMAINCFG_RO80;
+
+    return 0;
+}
+
+void domain_vaplic_deinit(struct domain *d)
+{
+    struct vaplic *vaplic;
+
+    if ( !d->arch.vintc )
+        return;
+
+    vaplic = to_vaplic(d);
+    d->arch.vintc = NULL;
+    xvfree(vaplic);
+}
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340102.1601198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoHw-0004nx-Hl; Wed, 17 Jun 2026 11:18:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340102.1601198; Wed, 17 Jun 2026 11: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 1wZoHu-0004Xw-LX; Wed, 17 Jun 2026 11:18:30 +0000
Received: by outflank-mailman (input) for mailman id 1340102;
 Wed, 17 Jun 2026 11:18:19 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHi-0003KN-UX
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHi-000VKU-AW
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:18 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a32826a-e002-0a2a0a5209dd-0a2a45019d20-46
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:18 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a32827a-c1f2-0a2a45010019-d155802add02-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:18 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-49222fb062bso46603515e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:18 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695098; x=1782299898; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IqJ6MHjr1xcGHKYhTn6WrVMwlfb5wpnVFy95/sHCyxw=;
        b=Qun6agAgKNVx+lqmYNOI6gVGv07BZG6XGG15X3JS5bJDbeO9gCEuQi71MEqfcdqQku
         I5PumoB/6c9Vyn8KIEDMfaDUbIYS3R3Wot6qsNQmXSaOvJj/bu9jJWJPGJmFF5niKQ6h
         jw4hyQU+aW/ZiEpsPJ8smU87Maec/HO7MiMVisOh4bOHt3dMDH0g4pmBt/dWOYaA6Zsg
         HhnvwnfOew58DeoNHDtpTf5m/B5eJFZC0dKVOAlQy5gFZFgYcFns8Uzj4sl4ujRROjFY
         STuP3xWd37O1qUxFcEbCwsv6PZk5nz7iYX3OozHx4TgrLwBjEkd3x9glwMilyfen10Ej
         86vg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695098; x=1782299898;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=IqJ6MHjr1xcGHKYhTn6WrVMwlfb5wpnVFy95/sHCyxw=;
        b=RrBEFdIqqRjihQhXZw9Qoe3Lnq1+Aupoh12Y82ixw6dL4LqNUOyLyRt5fV9MHPsJRd
         s/Xw82HmWJ2HSM9E+0z1Vs0Tn3Hcf7iG8xPqQryv75v7FvkNm45mJYmXwd4vXcU3R3Hz
         aaLQ5TDTOlSUrFP7sjJfsZw1igVArnLvzzZckUBzpc7mswWfbwSDpSsqx5OOAY9VHU2n
         /MXRc+lsHLbX2bCqLezvPMLapk6tACaaEz66huVOcre63Hj0KDYm0F1V4eLOOU5fRLSF
         AJ+PPb2Sn6TyZbQCPGIe2WWzBKlo4GrXFlk7mxiBcz6yBkA/aGkixfg86XqK1Um+RJUO
         a6mw==
X-Gm-Message-State: AOJu0YzRvMBUJ7/kX1tehSzge/nuwxZmnvFsuRyLBCa55XmE3FghWkXV
	eV8GZUNNEUDD2VdDlEnQYRSCzVu2plGwqV+eoEHt61ruWS5vsjl33b72NhAtTw==
X-Gm-Gg: Acq92OEto4rObK1DO8IIUFhjWKYk4rPbIGiz+N9cNl4WGN8bMoKLXj14siPvGsy69uP
	TyaLFspfNc1ut7APeoCfiduDqEqZLngU3umJBbE3VX79JaChRJTAWlAo5JIB7FhZ3YwwX4AD2lc
	WFYI0+6G8+sQ+RuJAMAZRO40sJplCnKh5XMsY/QKH7E09L/brzUhHjCgoukECqB1Igbn3Q0687l
	+nhT6AtYU3ONSxBolaGAFQjncis0cVvAJTrcmhWgMvRtKJJAwGkmPXcVyqexw1TZDTV3KKRn3pg
	f47qsmGQR6iXMPmOyhwV0WpbGkOHIdWarniQQ41wnx+cW5yps7+un5pnRWxWvYBkUS5VskXNMNf
	w8Kj4PfhOA9vHNSHyFnzFM5IBe7YE9BIA6f1juoz2DLWusyfnAhPNeO3YAvv0+g37fQ+fcYCEBE
	Kng8tNIaMiSf/N1V5fWkwkE83T3+9rPzs9xfckpy0MwFxIyDFPOMT7gllzUQ==
X-Received: by 2002:a05:600c:3f18:b0:490:e1a6:25d with SMTP id 5b1f17b1804b1-492333eb308mr58326275e9.26.1781695097494;
        Wed, 17 Jun 2026 04:18:17 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 15/23] xen/riscv: introduce (de)initialization helpers for vINTC
Date: Wed, 17 Jun 2026 13:17:43 +0200
Message-ID: <8bb11b0d9c905dd3dd9f922a3f1d2e7f2b75c978.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1781695098-AFD51FF4-953E5EAB/10/73395122804
X-purgate-type: spam
X-purgate-size: 3232

Add common helpers domain_vintc_init() and domain_vintc_deinit() to
allocate and deallocate a virtual interrupt controller (vINTC)
structure and initialize basic virtual interrupt controller registers.

domain_vintc_deinit() isn't called at the moment as arch_domain_destroy()
is implemented as stub at the moment.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v3:
 - Drop redundant printk() from domain_vintc_deinit()'s default case to
   avoid duplicate messages when init fails.
 - Add a comment to domain_vintc_init() clarifying that guests currently
   receive a virtual interrupt controller that mirrors the host hardware.
---
Changes in v2:
 - Drop __init for domain_vintc_(de)init().
 - Update the commit message.
---
---
 xen/arch/riscv/domain.c           |  3 +++
 xen/arch/riscv/include/asm/intc.h |  3 +++
 xen/arch/riscv/intc.c             | 40 +++++++++++++++++++++++++++++++
 3 files changed, 46 insertions(+)

diff --git a/xen/arch/riscv/domain.c b/xen/arch/riscv/domain.c
index 129e775c52cb..3499c25dcfe0 100644
--- a/xen/arch/riscv/domain.c
+++ b/xen/arch/riscv/domain.c
@@ -309,6 +309,9 @@ int arch_domain_create(struct domain *d,
     if ( (rc = p2m_init(d, config)) != 0)
         goto fail;
 
+    if ( (rc = domain_vintc_init(d)) )
+        goto fail;
+
     return rc;
 
  fail:
diff --git a/xen/arch/riscv/include/asm/intc.h b/xen/arch/riscv/include/asm/intc.h
index d3d456afe5f0..95ca526e1223 100644
--- a/xen/arch/riscv/include/asm/intc.h
+++ b/xen/arch/riscv/include/asm/intc.h
@@ -77,4 +77,7 @@ void intc_route_irq_to_xen(struct irq_desc *desc, unsigned int priority);
 void intc_handle_external_irqs(struct cpu_user_regs *regs);
 
 
+int domain_vintc_init(struct domain *d);
+void domain_vintc_deinit(struct domain *d);
+
 #endif /* ASM__RISCV__INTERRUPT_CONTOLLER_H */
diff --git a/xen/arch/riscv/intc.c b/xen/arch/riscv/intc.c
index f0ce27a96c1d..ec37b359f323 100644
--- a/xen/arch/riscv/intc.c
+++ b/xen/arch/riscv/intc.c
@@ -11,6 +11,7 @@
 
 #include <asm/aia.h>
 #include <asm/intc.h>
+#include <asm/vaplic.h>
 
 static const struct intc_hw_operations *__ro_after_init intc_hw_ops;
 
@@ -83,3 +84,42 @@ int __init make_intc_domU_node(struct kernel_info *kinfo)
 
     return vintc->init_ops->make_domu_dt_node(kinfo);
 }
+
+/*
+ * Guests are given a virtual interrupt controller that mirrors the host
+ * hardware: an AIA-capable host yields a virtual AIA for the guest, and
+ * so on for any future controller types.
+ */
+int domain_vintc_init(struct domain *d)
+{
+    int ret = -EOPNOTSUPP;
+    const enum intc_version ver = intc_hw_ops->info->hw_version;
+
+    switch ( ver )
+    {
+    case INTC_APLIC:
+        ret = domain_vaplic_init(d);
+        break;
+
+    default:
+        printk("vintc (ver:%d) isn't implemented\n", ver);
+        break;
+    }
+
+    return ret;
+}
+
+void domain_vintc_deinit(struct domain *d)
+{
+    const enum intc_version ver = intc_hw_ops->info->hw_version;
+
+    switch ( ver )
+    {
+    case INTC_APLIC:
+        domain_vaplic_deinit(d);
+        break;
+
+    default:
+        break;
+    }
+}
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340105.1601212 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoI3-00061X-Al; Wed, 17 Jun 2026 11:18:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340105.1601212; Wed, 17 Jun 2026 11: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 1wZoI1-0005vb-MK; Wed, 17 Jun 2026 11:18:37 +0000
Received: by outflank-mailman (input) for mailman id 1340105;
 Wed, 17 Jun 2026 11:18:22 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHl-0003Ya-9Q
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHk-008naJ-JK
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:20 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328277-5cb7-0a2a0a5109dd-0a2a4505bd80-12
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:20 +0200
Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a32827c-aaa8-0a2a45050019-d1558036dd53-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:20 +0200
Received: by mail-wm1-f54.google.com with SMTP id
 5b1f17b1804b1-49222fb062bso46603855e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:20 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695100; x=1782299900; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XwCDX+bjauFbF5BAFy5k5d2Hdce0oX7JFJAMNfRxcjY=;
        b=EnkvCRWlB0T28MW5dklAjxjFG2u4H2WlyQ43FX2yqKQ2z9sT8lQFOpZxt6tRKa5nWK
         fgI+1XeFwnnycN4b0RsPKKBa4Dyhl27gxq5lVyoRe0NS/MOFZ9PliPZvDQeCfgtM5gIl
         VaNnoXG+J7wjPSXi0zP3zKGg9o7rfzLCKH/vFWwH3Gx4amlN0np9n9TQgjvFEbKFl+Vw
         AZaAZtMeVOop3lqVSMIZFtx+YSokVAR47Q8CWlIgKkVqL7XMuak0D1AFox53t/kBZhUJ
         BBOnyuGyVIsgwtToW74j4PJKXVkOYjCv5no47tXodFyOH6FEAkqjIyGSkn1sNkd/buJM
         7Z4g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695100; x=1782299900;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=XwCDX+bjauFbF5BAFy5k5d2Hdce0oX7JFJAMNfRxcjY=;
        b=YQ7ofs0eDntt2/Z4gK8Cgc/PUqPSon6lhvpsI74n6OhrgHZoBOD60VRN78eGtHXaD9
         aG3GyoB4raYVZn1OJBFhfrR7OFo3bAhDy39VnmBsrjHtzynjGbAlLlgAlQix/xNPh43V
         dlXKWSSSvQ2IQ9kh1u3J3LTnsAszP0nWEb0WAHjH6AlrzbZc5YrIlSAO1bFq/zTsxIB1
         xAs6Gborfzqjtfv9qgRUfle47mk8vzjABrJTkb83jGTrqBGqm9qeS1Dp8q1+X+31mhTW
         7wqdbH32lVlNm870lwaj3HMowc80+uNp2+854nJSUkCZkpJYiIHdrlmqVnwIagEOTsWp
         r1Zg==
X-Gm-Message-State: AOJu0YwtZdsh5jPqOKIg5Xamq6KERzMdVDV38LGMttupsKs5bd70hUFS
	z1ktHU90DkYoQhcnAyxMgpH3XdPCFJLjzKxAfbCsoJP6C+MiYwfvvTkTg2meBg==
X-Gm-Gg: Acq92OESN2oxF0e0NaewsrVeQa5yvYzGpIVwG3zwz6XjTQlXilisY97MfSwbbqSFi3U
	u2ZRC77sKDO+c5SRAiptGFokxPrXY/YdKMrXwaBCkQs21RbiQszo8olypHoF9dFC+GWWF2ghBQJ
	r/GL4AAUNXR7F19EqcZNkGPZCVzUN50MOP+oraRJWk5pU7ZyOyOp1RYSwB5Udrfncz/CGLA1z4g
	B9FFAnAQH4jIJd6LpZXq0Epr3QIV/71tO4/dMD8REZAMIRcXs6FdOOk905BpKC5PDZAWpJ75oRk
	ZkQsnfgp2Y23PT8MQbTyNY7YrIIaF4RSvbNEF3t5PpZiblfE/vinXB6L0/tvkAJvfml+Gfi0o/X
	bF3rJD0W6RHiNP4CEnm7p6t5cqBA533KOJoc2myEiaTuu4G3uRKsax7TxQsHCB9Gw+zCkyGFwGJ
	S8ybXnj2wZK9VJaSFkKsOjS1MeX2HXLaXdrWF82y+DG61qv/+oN1gZcH1xLg==
X-Received: by 2002:a05:600c:c09a:b0:490:e196:6574 with SMTP id 5b1f17b1804b1-492333bf89bmr50542825e9.13.1781695099770;
        Wed, 17 Jun 2026 04:18:19 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 17/23] xen/riscv: create APLIC DT node for guest domains
Date: Wed, 17 Jun 2026 13:17:45 +0200
Message-ID: <0b034d584b7aaec54b70e9e575c727b07930d2ed.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1781695100-DAB68443-C494604C/10/73395122804
X-purgate-type: spam
X-purgate-size: 7553

Guests require a Device Tree description of the interrupt controller
topology. Add support for creating an APLIC node when building the
guest DT.

Provide stub for imsic_make_dt_node() it will be introduced properly
in follow-up patch.

The value chosen for GUEST_APLIC_S_BASE is based on QEMU one.

DT-building functions are marked __init because domain creation happens at
boot time, before the init sections are freed. In a typical deployment
libxl creates the interrupt controller node in userspace and hands the
complete FDT to Xen, so these functions are only called during early
domain construction.

Co-developed-by: Romain Caritey <Romain.Caritey@microchip.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v3:
 - Fix rebase conflicts becuase of this patch is reordered after IMSIC DT
   node creation is intoduced.
 - Update the commit message.
 - Move initialization of domaincfg with APLIC_DOMAINCFG_RO80 from this
   patch to earlier.
 - Change paddr_t aplic_size to unsigned int in vaplic_make_domu_dt_node()
   and replace the UB (after it started to be uint) aplic_size >> 32 with
   an explicit 0 in the DT reg property.
 - Add BUILD_BUG_ON() to be sure that aplic size isn't bigger then
   UINT32_MAX.
---
Changes in v2:
 - Avoid as max as possible of host properties inheritance. Only number of
   APLIC's irqs are checked what leads to an introduction of
   get_aplic_irqs_num().
 - Move this patch earlier what leads to an introduction of
   vimsic_make_domu_dt_node() stub.
 - s/vimsic_make_domu_dt_node/imsic_make_domu_dt_node.
 - Refactor vimsic_make_domu_dt_node() to avoid re-usage of APLIC host
   properties.
 - Drop next_phandle as it is now in common code.
 - Drop const for kinfo argument of vimsic_make_domu_dt_node() is is
   going to be updated inside vimsic_make_domu_dt_node().
 - Use introduced before vintc->num_irqs.
---
---
 xen/arch/riscv/aplic.c                    |  2 +
 xen/arch/riscv/include/asm/aplic.h        |  8 +++
 xen/arch/riscv/include/asm/guest-layout.h |  2 +
 xen/arch/riscv/include/asm/imsic.h        |  3 +
 xen/arch/riscv/vaplic.c                   | 76 +++++++++++++++++++++++
 5 files changed, 91 insertions(+)

diff --git a/xen/arch/riscv/aplic.c b/xen/arch/riscv/aplic.c
index 620768fb6164..0abe32c2e446 100644
--- a/xen/arch/riscv/aplic.c
+++ b/xen/arch/riscv/aplic.c
@@ -12,8 +12,10 @@
 #include <xen/const.h>
 #include <xen/device_tree.h>
 #include <xen/errno.h>
+#include <xen/fdt-kernel.h>
 #include <xen/init.h>
 #include <xen/irq.h>
+#include <xen/libfdt/libfdt.h>
 #include <xen/mm.h>
 #include <xen/sections.h>
 #include <xen/spinlock.h>
diff --git a/xen/arch/riscv/include/asm/aplic.h b/xen/arch/riscv/include/asm/aplic.h
index d443faac57c4..b42b159496b8 100644
--- a/xen/arch/riscv/include/asm/aplic.h
+++ b/xen/arch/riscv/include/asm/aplic.h
@@ -28,6 +28,14 @@
 
 #define APLIC_TARGET_HART_IDX_SHIFT 18
 
+#define APLIC_IDC_SIZE          32
+
+#define APLIC_MIN_SIZE          0x4000
+#define APLIC_SIZE_ALIGN(x)     ROUNDUP(x, APLIC_MIN_SIZE)
+
+#define APLIC_SIZE(nr_cpus)     (APLIC_MIN_SIZE + \
+                                 APLIC_SIZE_ALIGN(APLIC_IDC_SIZE * (nr_cpus)))
+
 struct aplic_regs {
     uint32_t domaincfg;         /* 0x0000 */
     uint32_t sourcecfg[1023];   /* 0x0004 */
diff --git a/xen/arch/riscv/include/asm/guest-layout.h b/xen/arch/riscv/include/asm/guest-layout.h
index d757bb9219ff..2e5762af863f 100644
--- a/xen/arch/riscv/include/asm/guest-layout.h
+++ b/xen/arch/riscv/include/asm/guest-layout.h
@@ -3,6 +3,8 @@
 
 #include <public/xen.h>
 
+#define GUEST_APLIC_S_BASE __ULL(0xd000000)
+
 #define GUEST_IMSIC_S_BASE __ULL(0x28000000)
 
 #define GUEST_RAM_BANKS   2
diff --git a/xen/arch/riscv/include/asm/imsic.h b/xen/arch/riscv/include/asm/imsic.h
index 316fe5423c48..9c7fe0d469d1 100644
--- a/xen/arch/riscv/include/asm/imsic.h
+++ b/xen/arch/riscv/include/asm/imsic.h
@@ -78,6 +78,7 @@ struct vimsic_state {
 };
 
 struct dt_device_node;
+struct kernel_info;
 struct vcpu;
 
 int imsic_init(const struct dt_device_node *node);
@@ -93,4 +94,6 @@ int vcpu_imsic_init(struct vcpu *v);
 void vcpu_imsic_deinit(struct vcpu *v);
 unsigned int vcpu_guest_file_id(const struct vcpu *v);
 
+int vimsic_make_domu_dt_node(struct kernel_info *kinfo, unsigned int *phandle);
+
 #endif /* ASM_RISCV_IMSIC_H */
diff --git a/xen/arch/riscv/vaplic.c b/xen/arch/riscv/vaplic.c
index 8170e93701ad..683e8aaec2f3 100644
--- a/xen/arch/riscv/vaplic.c
+++ b/xen/arch/riscv/vaplic.c
@@ -9,6 +9,8 @@
  */
 
 #include <xen/errno.h>
+#include <xen/fdt-kernel.h>
+#include <xen/libfdt/libfdt.h>
 #include <xen/sched.h>
 #include <xen/xvmalloc.h>
 
@@ -19,6 +21,11 @@
 
 #include "aplic-priv.h"
 
+#define VAPLIC_COMPATIBLE "riscv,aplic"
+#define VAPLIC_NUM_SOURCES 96
+
+#define FDT_VAPLIC_INT_CELLS 2
+
 static int cf_check vaplic_init(struct vcpu *v)
 {
     return vcpu_imsic_init(v);
@@ -29,6 +36,74 @@ static void cf_check vaplic_deinit(struct vcpu *v)
     return vcpu_imsic_deinit(v);
 }
 
+static int __init cf_check vaplic_make_domu_dt_node(struct kernel_info *kinfo)
+{
+    struct domain *d = kinfo->bd.d;
+    int res = 0;
+    void *fdt = kinfo->fdt;
+    unsigned int msi_parent_phandle;
+    char vaplic_name[128];
+    unsigned int aplic_size = APLIC_SIZE(d->max_vcpus);
+    const __be32 reg[] = {
+        cpu_to_be32(GUEST_APLIC_S_BASE >> 32),
+        cpu_to_be32(GUEST_APLIC_S_BASE),
+        cpu_to_be32(0),
+        cpu_to_be32(aplic_size),
+    };
+
+    BUILD_BUG_ON(APLIC_SIZE(MAX_VIRT_CPUS) > UINT_MAX);
+
+    res = snprintf(vaplic_name, sizeof(vaplic_name), "/soc/aplic@%lx",
+                   GUEST_APLIC_S_BASE);
+    if ( res >= sizeof(vaplic_name) )
+    {
+        dprintk(XENLOG_DEBUG, "vaplic name is truncated\n");
+        return -ENOBUFS;
+    }
+
+    res = vimsic_make_domu_dt_node(kinfo, &msi_parent_phandle);
+    if ( res )
+        return res;
+
+    res = fdt_begin_node(fdt, vaplic_name);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#interrupt-cells", FDT_VAPLIC_INT_CELLS);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "reg", reg, sizeof(reg));
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "riscv,num-sources", VAPLIC_NUM_SOURCES);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", VAPLIC_COMPATIBLE);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "msi-parent", msi_parent_phandle);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_intc);
+    if ( res )
+        return res;
+
+    return fdt_end_node(fdt);
+}
+
+static const struct vintc_init_ops __initdata init_ops = {
+    .make_domu_dt_node = vaplic_make_domu_dt_node,
+};
+
 static const struct vintc_ops vintc_ops = {
     .vcpu_init = vaplic_init,
     .vcpu_deinit = vaplic_deinit,
@@ -43,6 +118,7 @@ int domain_vaplic_init(struct domain *d)
 
     d->arch.vintc = &vaplic->vintc;
     d->arch.vintc->ops = &vintc_ops;
+    d->arch.vintc->init_ops = &init_ops;
 
     vaplic->regs.domaincfg = APLIC_DOMAINCFG_IE | APLIC_DOMAINCFG_DM |
                              APLIC_DOMAINCFG_RO80;
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340108.1601218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoI4-0006Ej-Rp; Wed, 17 Jun 2026 11:18:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340108.1601218; Wed, 17 Jun 2026 11:18:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoI3-0006BH-6b; Wed, 17 Jun 2026 11:18:39 +0000
Received: by outflank-mailman (input) for mailman id 1340108;
 Wed, 17 Jun 2026 11:18:22 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHm-0003g1-0n
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHk-008naJ-By
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:20 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328277-5cb7-0a2a0a5109dd-0a2a4505bd80-8
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:20 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a32827c-aaa8-0a2a45050019-d1558030c520-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:20 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-490ae94a89eso48531455e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:20 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695100; x=1782299900; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hqxW/Z8jTjqVxphsP6AfDNKajwtIhbkCoRayADOZnAc=;
        b=ogsHn7cnOy1VLY/juXNaWHIPnS/A2XbDOvzVv3I1hIR4mDVfiwZlAnX4uBuAOtPPyt
         4UebxQ0deLyv1vzVqxFOQtNDCuOkVAgtOsTnDMoQwuG+qUcWX4h6rjvu9KJtFglExx5M
         fsZNvGS/v+eFM2GTA0jWgvhXv/NIBi+XhuMXTRMtEGyPPRptjR9qJ+ijlcnTGmgQ7206
         Nr9Rqk0F1eLU6S9PcBa+PWqThVsSMsioCuH7RvtcaQbtjOQyRHWF9BuW+Za1H3x3wPKd
         LSc9H+W0Ab9kYfV3UXVS8+1MBgJ/tK/PEso1JaAW0K7BIFaKP1xP42HcKfT+EjKLQuaD
         yGdg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695100; x=1782299900;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=hqxW/Z8jTjqVxphsP6AfDNKajwtIhbkCoRayADOZnAc=;
        b=dlcYvGjJ/FAw+6UEBSbr/vR5ArBADrSBR85wwthe0nMeVCxb7yC+TANDDuM9e6y+E8
         FkRvuSM7Toy/YVyRSycCBwATg5fyS9/ftD60y2dP7dOf0bTpfDs665/L91qELbzZ0GQ2
         bvh4qVWsP2qXa1WXK6Xuko2zq6j/VOV3QcHoPBSMiZEPzAMnX9Dp2Vcf5ubUl67Ky8hk
         bDN0Bt3A/smh75Meqqv3EXcSy6I5omZx5q3bwbbTwbwB/evdYQxoI8qb9368k1pRH2CI
         +axJLGK/VmqseLHgb5QXTZiI+kvEp26BxT5qvdLExvEx3sNoB5iXpR/uVz9efZKVoOkd
         ssxg==
X-Gm-Message-State: AOJu0YwR2FZV4Qg+KbrmPzAKVeGb38najEznmX7BWipvhRrK8wRld1hO
	++OR/oW9Ja9PiZmEI2dU4qDIUn/z6b2nDSGZACtvquGBjqsvF4rCUwLwJ4+YVw==
X-Gm-Gg: Acq92OG8gaeoolAlQa5GGe+iFvZlBe7oGuafXiin3iOeKtb5ubMGkYZLVY+lNW26Z/s
	Z1llcEjFHTZjfl/vhp9WkBz1zSYqo2QbUgFYQJxW83t1u+hpaB4Ngav5+83HDp2d4kL3Biv9ytL
	enZyBR9JkJmcyYHE6+2Gsun3pNN6Ey6PMg3x9tT3PYOTyAYhnoF6tbBjGLUdu9kxDkgvrgBZG2M
	ExloEoGkCjWGOTgEYNPwKdG1/WfCQS7B18Rpza5UCVrBiiWrLCD+846eXhf+w/6RJFlFz8w6OHo
	yvfm6aBfO4I128O/9FO0ilon1ipGhglvsVmvp+/+xWjo0bsywcDXkkDZF9xWsj2Ke2ChtgsprUa
	Q/msm5yx64hDLuqy2Wy1DafzobGB7eoJctKVRdgt+Me68cY959nMifRg9grZpmzj0c+7iKakZ6E
	f4rWqQI/iI5HOUmd7x761TntpSikOtemJsBNz+vnrOhw85NyCXiWredpTh/Q==
X-Received: by 2002:a05:600c:a143:b0:490:4b89:5362 with SMTP id 5b1f17b1804b1-492333e2f05mr43103235e9.24.1781695098793;
        Wed, 17 Jun 2026 04:18:18 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	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>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v3 16/23] xen/riscv: generate IMSIC DT node for guest domains
Date: Wed, 17 Jun 2026 13:17:44 +0200
Message-ID: <18938bb8845fa91315e320f88d17147592aba51c.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1781695100-E338A443-05B5E7A9/10/73395122804
X-purgate-type: spam
X-purgate-size: 17200

Guests using the IMSIC interrupt controller require a corresponding
Device Tree description.

Add support for generating an IMSIC node when building the guest DT.
This allows guests to discover and use the IMSIC interrupt controller.

The value choosen for GUEST_IMSIC_S_BASE is an address which is typically
used for IMSIC and QEMU.

DT-building functions are marked __init because domain creation happens at
boot time, before the init sections are freed. In a typical deployment
libxl creates the interrupt controller node in userspace and hands the
complete FDT to Xen, so these functions are only called during early
domain construction.

Co-developed-by: Romain Caritey <Romain.Caritey@microchip.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v3:
 - s/__ro_after_init/__read_mostly for guest_num_msis.
 - Use IMSIC_MAX_ID as default for guest_num_msis instead of imsic_cfg.nr_ids.
 - Drop base_addr local variable in guest_imsic_make_reg_property(); use
   GUEST_IMSIC_S_BASE directly and introduce size to avoid spelling
   IMSIC_MMIO_PAGE_SZ * d->max_vcpus twice.
 - Change irq_ext type from uint32_t * to __be32 * in
   guest_imsic_set_interrupt_extended_prop().
 - Move phandle declaration into the loop body.
 - Extend commit message to explain why __init is used for DT-building
   functions: libxl creates the interrupt controller node before handing
   the FDT to Xen, so these functions are only invoked during boot-time
   domain construction.
 - Re-order patch before APLIC DT node creation patch.
 - Update commit message.
---
Changes in v2:
 - s/imsic_make_reg_property/guest_imsic_make_reg_property.
 - s/imsic_set_interrupt_extended_prop/guest_imsic_set_interrupt_extended_prop.
 - Use initalizer for regs[] array in imsic_make_reg_property().
 - Move buf[] insde the for() loop.
 - Correct check of returned phandle.
 - Drop local variable len.
 - /s/XVFREE/xvfree in imsic_set_interrupt_extended_prop().
 - Drop initializer for local variable data.
 - s/uint32_t/unsinged int for pos and cpu in imsic_set_interrupt_extended_prop().
 - Drop next_phandle as it is now in common code.
 - Introduce vcpu_imsic_deinit.
 - Refactor vimsic_make_domu_dt_node() to avoid usage of host IMSIC dt node.
---
---
 ...asic-VGEIN-management-for-AIA-guests.patch | 273 ++++++++++++++++++
 xen/arch/riscv/imsic.c                        | 132 +++++++++
 xen/arch/riscv/include/asm/guest-layout.h     |   2 +
 3 files changed, 407 insertions(+)
 create mode 100644 0001-xen-riscv-add-basic-VGEIN-management-for-AIA-guests.patch

diff --git a/0001-xen-riscv-add-basic-VGEIN-management-for-AIA-guests.patch b/0001-xen-riscv-add-basic-VGEIN-management-for-AIA-guests.patch
new file mode 100644
index 000000000000..ae8c3425507f
--- /dev/null
+++ b/0001-xen-riscv-add-basic-VGEIN-management-for-AIA-guests.patch
@@ -0,0 +1,273 @@
+From e423a993b2ccb28f59a2d941c503d7bb5b29e683 Mon Sep 17 00:00:00 2001
+From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
+Date: Thu, 1 Jan 2026 12:53:07 +0100
+Subject: [PATCH] xen/riscv: add basic VGEIN management for AIA guests
+
+It was decided to add support for IMSIC from the start instead of having APLIC
+operate in direct delivery mode, as it requires a trap-and-emulation approach,
+which is not optimal from a performance standpoint.
+
+AIA provides a hardware-accelerated mechanism for delivering external
+interrupts to domains via "guest interrupt files" located in IMSIC.
+A single physical hart can implement multiple such files (up to GEILEN),
+allowing several virtual harts to receive interrupts directly from hardware.
+
+Introduce per-CPU tracking of guest interrupt file identifiers (VGEIN)
+for systems implementing AIA specification. Each CPU maintains
+a bitmap describing which guest interrupt files are currently in use.
+
+Add helpers to initialize the bitmap based on the number of available
+guest interrupt files (GEILEN), assign a VGEIN to a vCPU, and release it
+when no longer needed. When assigning a VGEIN, the corresponding value
+is written to the VGEIN field of the guest hstatus register so that
+VS-level external interrupts are delivered from the selected interrupt
+file.
+
+Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
+---
+Changes in v3:
+ - Rephrase per-CPU comment from "Bitmap for each physical cpus..." to
+   "VGEIN control structure for each physical CPU...".
+ - Use %u for cpu in printk("cpu%u.geilen=%u\n").
+ - Fix missing \n in "AIA: failed to init vgein for CPU%u\n".
+ - Shorten dprintk message to "vgein_init() failed: %d\n".
+ - Use %u instead of %d for v->processor in gprintk() calls.
+ - Drop redundant hstatus &= ~HSTATUS_VGEIN in vgein_assign() as
+   hstatus is already cleared before the assignment.
+ - Add check that vgein_id isn't 0 as we don't support s/w interrupt files
+   for the momemnt.
+---
+Changes in v2:
+ - add static for defintion of vgein_bmp;
+ - Drop declarartion of vgein_bmp from aia.h.
+ - Move declaration of 'struct vgein_bmp' from aia.h to aia.c as all the
+   management is inside aia.c.
+ - Instead of decrement of vgein->geilen just update the wait how it is
+   initialized.
+ - Return -EOPNOTSUPP in vgein_init() instead of BUG_ON().
+ - Use %u to print unsigned int.
+ - make bmp field in vgein_bmp not a pointer.
+ - allocate owners dynamically.
+ - Drop unnessary blank lines.
+ - use find_first_zero_bit() instead of bitmap_weight() to find a free slot
+   for vgein number.
+ - Drop the section number for the comment.
+ - Start to search from bitnum 1 for free vgein_id, as bitnum 0 is reserved to
+   tell that no guest extrenal interrupt number is used. Thereby drop vgein_id++
+   at the end of vgein_assign().
+ - s/bitmap_set/__set_bit.
+ - s/bitmap_clear/__clear_bit.
+ - as vgein_init() is needed to be invoked once per CPU being brought up, drop
+   __init for it.
+ - Return vgein_id == 0 if vgein_id is higher then maximun supported by h/w
+   VGEIN.
+ - Add check in vgein_relase() that vgein is 0 and if it is there is nothing
+   is needed to do.
+ - Use gdprintk instead of printk() in vgein_{assign,release}.
+ - Add the claryfing comment above geilen field.
+ - Drop ASSERT in vgein_assign() and return just vgein_id = 0 in the case when
+   there is no aviablable h/w VGEINs.
+ - Make vgein_init() static.
+---
+---
+ xen/arch/riscv/aia.c             | 146 +++++++++++++++++++++++++++++++
+ xen/arch/riscv/include/asm/aia.h |   8 ++
+ 2 files changed, 154 insertions(+)
+
+diff --git a/xen/arch/riscv/aia.c b/xen/arch/riscv/aia.c
+index e31c9c2d24b6..5afecde81d3a 100644
+--- a/xen/arch/riscv/aia.c
++++ b/xen/arch/riscv/aia.c
+@@ -1,11 +1,33 @@
+ /* SPDX-License-Identifier: GPL-2.0-only */
+ 
++#include <xen/bitmap.h>
++#include <xen/cpu.h>
+ #include <xen/errno.h>
+ #include <xen/init.h>
+ #include <xen/sections.h>
++#include <xen/sched.h>
++#include <xen/spinlock.h>
+ #include <xen/types.h>
++#include <xen/xvmalloc.h>
+ 
++#include <asm/aia.h>
+ #include <asm/cpufeature.h>
++#include <asm/csr.h>
++#include <asm/current.h>
++
++struct vgein_ctrl {
++    unsigned long bmp;
++    spinlock_t lock;
++    struct vcpu **owners;
++    /* The least-significant bits are implemented first, apart from bit 0 */
++    unsigned int geilen;
++};
++
++/*
++ * VGEIN control structure for each physical CPU to track which VS (guest)
++ * interrupt file IDs are in use.
++ */
++static DEFINE_PER_CPU(struct vgein_ctrl, vgein);
+ 
+ static bool __ro_after_init _aia_usable;
+ 
+@@ -14,10 +36,134 @@ bool aia_usable(void)
+     return _aia_usable;
+ }
+ 
++static int vgein_init(unsigned int cpu)
++{
++    struct vgein_ctrl *vgein = &per_cpu(vgein, cpu);
++
++    csr_write(CSR_HGEIE, -1UL);
++    vgein->geilen = flsl(csr_read(CSR_HGEIE) >> 1);
++    csr_write(CSR_HGEIE, 0);
++
++    printk("cpu%u.geilen=%u\n", cpu, vgein->geilen);
++
++    if ( !vgein->geilen )
++        return -EOPNOTSUPP;
++
++    vgein->owners = xvzalloc_array(struct vcpu *, vgein->geilen);
++    if ( !vgein->owners )
++        return -ENOMEM;
++
++    spin_lock_init(&vgein->lock);
++
++    return 0;
++}
++
++static int cf_check cpu_callback(struct notifier_block *nfb, unsigned long action,
++                        void *hcpu)
++{
++    unsigned int cpu = (unsigned long)hcpu;
++    int rc = 0;
++
++    switch ( action )
++    {
++    case CPU_STARTING:
++        rc = vgein_init(cpu);
++        if ( rc )
++            printk("AIA: failed to init vgein for CPU%u\n", cpu);
++        break;
++    }
++
++    return notifier_from_errno(rc);
++}
++
++static struct notifier_block cpu_nfb = {
++    .notifier_call = cpu_callback,
++};
++
+ void __init aia_init(void)
+ {
++    int rc;
++
+     if ( !riscv_isa_extension_available(NULL, RISCV_ISA_EXT_ssaia) )
++    {
++        dprintk(XENLOG_WARNING, "SSAIA isn't present in riscv,isa\n");
++        return;
++    }
++
++    if ( (rc = vgein_init(0)) )
++    {
++        dprintk(XENLOG_ERR, "vgein_init() failed: %d\n", rc);
+         return;
++    }
+ 
+     _aia_usable = true;
++
++    register_cpu_notifier(&cpu_nfb);
++}
++
++unsigned int vgein_assign(struct vcpu *v)
++{
++    unsigned int vgein_id;
++    struct vgein_ctrl *vgein = &per_cpu(vgein, v->processor);
++    unsigned long *bmp = &vgein->bmp;
++    unsigned long flags;
++
++    spin_lock_irqsave(&vgein->lock, flags);
++    /*
++     * The vgein_id shouldn't be zero, as it will indicate that no guest
++     * external interrupt source is selected for VS-level external interrupts
++     * according to RISC-V priviliged spec:
++     *   Hypervisor Status Register (hstatus) in RISC-V priviliged spec:
++     *
++     *   The VGEIN (Virtual Guest External Interrupt Number) field selects
++     *   a guest external interrupt source for VS-level external interrupts.
++     *   VGEIN is a WLRL field that must be able to hold values between zero
++     *   and the maximum guest external interrupt number (known as GEILEN),
++     *   inclusive.
++     *   When VGEIN=0, no guest external interrupt source is selected for
++     *   VS-level external interrupts.
++     *
++     * So start to search from bit number 1.
++     */
++    vgein_id = find_next_zero_bit(bmp, vgein->geilen + 1, 1);
++
++    if ( vgein_id > vgein->geilen )
++        vgein_id = 0;
++    else
++        __set_bit(vgein_id, bmp);
++
++    spin_unlock_irqrestore(&vgein->lock, flags);
++
++#ifdef VGEIN_DEBUG
++    gprintk(XENLOG_DEBUG, "%s: %pv: vgein_id(%u), xen_cpu%u_bmp=%#lx\n",
++           __func__, v, vgein_id, v->processor, *bmp);
++#endif
++
++    vcpu_guest_cpu_user_regs(v)->hstatus |=
++        MASK_INSR(vgein_id, HSTATUS_VGEIN);
++
++    if ( !vgein_id )
++        domain_crash(v->domain, "s/w interrupt file isn't supported yet\n");
++
++    return vgein_id;
++}
++
++void vgein_release(struct vcpu *v, unsigned int vgen_id)
++{
++    unsigned long flags;
++    struct vgein_ctrl *vgein = &per_cpu(vgein, v->processor);
++
++    if ( !vgen_id )
++        return;
++
++    spin_lock_irqsave(&vgein->lock, flags);
++     __clear_bit(vgen_id, &vgein->bmp);
++    spin_unlock_irqrestore(&vgein->lock, flags);
++
++#ifdef VGEIN_DEBUG
++    gprintk(XENLOG_DEBUG, "%s: vgein_id(%u), xen_cpu%u_bmp=%#lx\n",
++           __func__, vgen_id, v->processor, vgein->bmp);
++#endif
++
++    vcpu_guest_cpu_user_regs(v)->hstatus &= ~HSTATUS_VGEIN;
+ }
+diff --git a/xen/arch/riscv/include/asm/aia.h b/xen/arch/riscv/include/asm/aia.h
+index ca42c3086126..6073c89774bb 100644
+--- a/xen/arch/riscv/include/asm/aia.h
++++ b/xen/arch/riscv/include/asm/aia.h
+@@ -3,8 +3,16 @@
+ #ifndef ASM__RISCV__AIA_H
+ #define ASM__RISCV__AIA_H
+ 
++#include <xen/percpu.h>
++#include <xen/spinlock.h>
++
++struct vcpu;
++
+ bool aia_usable(void);
+ 
+ void aia_init(void);
+ 
++unsigned int vgein_assign(struct vcpu *v);
++void vgein_release(struct vcpu *v, unsigned int vgen_id);
++
+ #endif /* ASM__RISCV__ACPI_H */
+-- 
+2.54.0
+
diff --git a/xen/arch/riscv/imsic.c b/xen/arch/riscv/imsic.c
index 59c7556327da..de8c54cb33fd 100644
--- a/xen/arch/riscv/imsic.c
+++ b/xen/arch/riscv/imsic.c
@@ -13,8 +13,12 @@
 #include <xen/const.h>
 #include <xen/cpumask.h>
 #include <xen/device_tree.h>
+#include <xen/domain.h>
 #include <xen/errno.h>
+#include <xen/fdt-domain-build.h>
+#include <xen/fdt-kernel.h>
 #include <xen/init.h>
+#include <xen/libfdt/libfdt.h>
 #include <xen/macros.h>
 #include <xen/sched.h>
 #include <xen/smp.h>
@@ -36,6 +40,11 @@ static struct imsic_config imsic_cfg = {
     .lock = SPIN_LOCK_UNLOCKED,
 };
 
+static unsigned int __read_mostly guest_num_msis;
+
+#define GUEST_IMSIC_COMPATIBLE "riscv,imsics"
+#define GUEST_IMSIC_NUM_MSIS 255
+
 #define IMSIC_DISABLE_EIDELIVERY    0
 #define IMSIC_ENABLE_EIDELIVERY     1
 #define IMSIC_DISABLE_EITHRESHOLD   1
@@ -287,6 +296,11 @@ static int imsic_parse_node(const struct dt_device_node *node,
         return -ENOENT;
     }
 
+    if ( dt_property_read_u32(node, "riscv,num-guest-ids", &tmp) )
+        guest_num_msis = tmp;
+    else
+        guest_num_msis = IMSIC_MAX_ID;
+
     if ( (imsic_cfg.nr_ids < IMSIC_MIN_ID) ||
          (imsic_cfg.nr_ids > IMSIC_MAX_ID) )
     {
@@ -521,3 +535,121 @@ int __init imsic_init(const struct dt_device_node *node)
 
     return rc;
 }
+
+static int __init guest_imsic_make_reg_property(struct domain *d, void *fdt)
+{
+    paddr_t size = IMSIC_MMIO_PAGE_SZ * d->max_vcpus;
+    __be32 regs[4] = {
+        cpu_to_be32(GUEST_IMSIC_S_BASE >> 32),
+        cpu_to_be32(GUEST_IMSIC_S_BASE),
+        cpu_to_be32(size >> 32),
+        cpu_to_be32(size),
+    };
+
+    return fdt_property(fdt, "reg", regs, sizeof(regs));
+}
+
+static int __init guest_imsic_set_interrupt_extended_prop(struct domain *d,
+                                                          void *fdt)
+{
+    unsigned int cpu, pos = 0;
+    __be32 *irq_ext;
+    int res;
+
+    irq_ext = xvzalloc_array(__be32, d->max_vcpus * 2);
+    if ( !irq_ext )
+        return -ENOMEM;
+
+    for ( cpu = 0; cpu < d->max_vcpus; cpu++ )
+    {
+        char buf[64];
+        uint32_t phandle;
+
+        snprintf(buf, sizeof(buf), "/cpus/cpu@%u/interrupt-controller", cpu);
+        phandle = fdt_get_phandle(fdt, fdt_path_offset(fdt, buf));
+
+        if ( !phandle )
+        {
+            res = -ENODEV;
+            goto out;
+        }
+
+        irq_ext[pos++] = cpu_to_be32(phandle);
+        irq_ext[pos++] = cpu_to_be32(IRQ_S_EXT);
+    }
+
+    res = fdt_property(fdt, "interrupts-extended", irq_ext,
+                       d->max_vcpus * 2 * sizeof(*irq_ext));
+
+ out:
+    xvfree(irq_ext);
+
+    return res;
+}
+
+int __init vimsic_make_domu_dt_node(struct kernel_info *kinfo,
+                                    unsigned int *phandle)
+{
+    int res;
+    void *fdt = kinfo->fdt;
+    char vimsic_name[128];
+    unsigned int vimsic_phandle;
+    unsigned int num_msis = min(GUEST_IMSIC_NUM_MSIS + 0U, guest_num_msis);
+
+    res = snprintf(vimsic_name, sizeof(vimsic_name), "/soc/imsic@%lx",
+                   GUEST_IMSIC_S_BASE);
+    if ( res >= sizeof(vimsic_name) )
+    {
+        dprintk(XENLOG_DEBUG, "vimsic name is truncated\n");
+        return -ENOBUFS;
+    }
+
+    res = fdt_begin_node(fdt, vimsic_name);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", GUEST_IMSIC_COMPATIBLE);
+    if ( res )
+        return res;
+
+    res = guest_imsic_make_reg_property(kinfo->bd.d, fdt);
+    if ( res )
+        return res;
+
+    res = guest_imsic_set_interrupt_extended_prop(kinfo->bd.d, fdt);
+    if ( res )
+        return res;
+
+    res = fdt_property_u32(fdt, "riscv,num-ids", num_msis);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "msi-controller", NULL, 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_u32(fdt, "#msi-cells", 0);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_u32(fdt, "#interrupt-cells", 0);
+    if ( res )
+        return res;
+
+    vimsic_phandle = alloc_phandle(kinfo);
+    if ( !vimsic_phandle )
+        return -EOVERFLOW;
+
+    res = fdt_property_cell(fdt, "phandle", vimsic_phandle);
+    if ( res )
+        return res;
+
+    if ( phandle )
+        *phandle = vimsic_phandle;
+
+    return fdt_end_node(fdt);
+}
diff --git a/xen/arch/riscv/include/asm/guest-layout.h b/xen/arch/riscv/include/asm/guest-layout.h
index 68d95a09394c..d757bb9219ff 100644
--- a/xen/arch/riscv/include/asm/guest-layout.h
+++ b/xen/arch/riscv/include/asm/guest-layout.h
@@ -3,6 +3,8 @@
 
 #include <public/xen.h>
 
+#define GUEST_IMSIC_S_BASE __ULL(0x28000000)
+
 #define GUEST_RAM_BANKS   2
 
 /*
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340110.1601224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoI7-0006c5-4e; Wed, 17 Jun 2026 11:18:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340110.1601224; Wed, 17 Jun 2026 11: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 1wZoI5-0006Xe-QR; Wed, 17 Jun 2026 11:18:41 +0000
Received: by outflank-mailman (input) for mailman id 1340110;
 Wed, 17 Jun 2026 11:18:23 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHm-0003mG-VD
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHm-00CoLo-AB
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:22 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328278-2eae-0a2a0a5409dd-0a2a4508ac62-26
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:22 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a32827e-63b5-0a2a45080019-d155802eed73-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:22 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-490ac357c55so53249155e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:22 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04:18:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695102; x=1782299902; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4xSEG9bIjafLGrwzdvC04MxmFA+4dsnLVgng9C+J+7w=;
        b=ggfAcCYgm2saDY4pyoHIaCMMuWgHugUuPQcDlqcHYLlyVVsigvX7o2XL2oY28sGNB5
         2/NL83/qKVWJkuDIbkK998Qg/sDUwKB3ST0RrwqkYcVgD2gX4Wsj8WDHYpwQhWd4MgRp
         TGCYcQVBPs7WYUWHURKxRVbovxrJ04W8ZarMbN/gS4ZrNKzr4sqhA8yyYaBu77awcw2H
         TMO7za9jtafwftfkVU1iNYgzSAjHdqW2f2NnKJWCg6yWqW7RjxlV0sSe7WSoK41mKTfY
         v6NQ6yWtbHN2Ycaj4SSB6LFtpue0uRI8H8B5XZkLJhPuKRKZdNWOk17yE6ehMjSJtTEB
         zBXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695102; x=1782299902;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=4xSEG9bIjafLGrwzdvC04MxmFA+4dsnLVgng9C+J+7w=;
        b=YWMuPAbNybxRagTZBTib0zzKR/ny3TgJEDrXvCg9397byLderEq/V84xKE8vypN8nS
         7N2T5q7OmbGZA2wXrIwp0Auv4vvbpUo2MoAVui7/xVxiDkysJAaFqf8LPkzQGC660y85
         +51KkXhatxgWTkGOht9BUPLtlDyPK1/HAkSRQFbvqKBBZ1NHpTTPk6pD3V1AcG6tUVQM
         oMspruGOB0lc2gx1PcCmmge0xTn5Ebh/xtSVWb8QURLH69CnmI1YP9GjFID5q8unVpqE
         xcQPNK8DCvUd7liV0i02yGNTWvYHdGXCxtALsc4qSGOZML2Imb86AOFVz038mQKyFG/2
         Z3PQ==
X-Gm-Message-State: AOJu0YyNj3LCggosta1aH65E9aGF43NqgywMUOhufY9PbaH1X57volW5
	834CqmCdIz8UEuJZsyN+N7dmCYVorVJ9tKwCRQe//J26P7dkcSEdOstVtWiURQ==
X-Gm-Gg: Acq92OGTPtjn7zZ54voS/1Q7dSJhMw6HqQ4bTMZcNrejX+ILISbX67Ec0guGCIcjfp+
	LoUv5QCeNAZ3Lutr8Q/4Uksi38HlZaOr1zblcIiBbRp9vvT7XgJ9ITZRpJaWCxGG91NQFKEG9Uh
	PIlR24bxRFjh0QYl9cERT0GBMw0zxIbinIjGKYjCg7AzQ2g5BaETabR7DUb+f6CwejBeH6H6Rbn
	4jNsfCens2UirYJ0WS4iVnor2WTLfuMP8GVzyUM8vOqApg7iWyu8P06jRazUDwKUZ1TW7eqwqb0
	1d8IfO/1aXOK0p5nhlnojUlw/n0hCl7UuVJ1Q2qornXLwFhSg6KfZeh/gz2/C0+nY8eAL1OWPxK
	BxKoi32kcDlFCIsbKe/94tYip7PIEMJd9FC3IM6B17f9ZVFjjhocJgbsFd5Pz9Ht2IwYGKtZD5N
	LcfCJrDScEhzzcdu3wRK5phSkmuHxiQbCk92aGRLnoaECvlkccj/tF6z55Ouq6Wv30x75B
X-Received: by 2002:a05:600c:c08a:b0:490:acb8:1490 with SMTP id 5b1f17b1804b1-492333a1716mr50603575e9.4.1781695101242;
        Wed, 17 Jun 2026 04:18:21 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 18/23] xen/riscv: implement IRQ routing for device passthrough
Date: Wed, 17 Jun 2026 13:17:46 +0200
Message-ID: <0458468cc5a6db911a9acc64f4c8cf17ceebe4c6.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c1860d/1781695102-BD96DDB1-392DB2D2/10/73395122804
X-purgate-type: spam
X-purgate-size: 18538

dom0less device passthrough requires granting guest domains access to
device interrupts.  Introduce map_device_irqs_to_domain() to enumerate
a DT node's interrupt properties, skipping those not owned by
the primary interrupt controller (as at the moment I haven't seen usages
of it), and map_irq_to_domain() to grant domain access and configure
Xen's interrupt descriptor accordingly. Sharing IRQ between domains is
rejected.

route_irq_to_guest() and release_irq() manage irq_desc ownership for
guest-assigned interrupts.  Each assignment carries a small irq_guest
structure as irqaction::dev_id, recording the owning domain and virtual
IRQ number which is 1:1 mapped to physical IRQ number.  A per-domain
vIRQ allocation bitmap (allocated_irqs in struct vintc), managed by
vintc_reserve_virq(), prevents the same vIRQ being claimed twice.

With APLIC+IMSIC, guest interrupts are delivered directly by hardware
through the IMSIC, bypassing do_IRQ(). The _IRQ_GUEST branch in
do_IRQ() is therefore left as BUG() until a platform without direct
IMSIC delivery is encountered.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v3:
 - Drop extraneous "to" from "Unable to permit to %pd" message.
 - Move res/irq/rirq to loop scope; use nirq as declaration initializer.
 - Hoist irq_ranges check before the loop (it is loop-invariant).
 - Remove spurious forward declarations (struct dt_device_node, struct
   rangeset) from intc.h; remove all three from setup.h.
 - Use __set_bit() instead of set_bit() in intc_route_irq_to_guest()
   since desc->lock is always held on every write path for desc->status.
 - Use XVFREE() instead of xvfree() in domain_vintc_deinit().
 - Rename allocated_irqs -> used_irqs in struct vintc.
 - Fix dangling desc->action in release_irq()'s !IRQ_HAS_MULTIPLE_ACTION
   path by nulling *action_ptr after saving the action pointer.
 - Use true (not 1) for free_on_release in route_irq_to_guest().
 - Use %pd for domain printing in route_irq_to_guest() error paths.
 - Introduce release_guest_irq() to pair with route_irq_to_guest() and
   plug the irq_guest info leak; call it from domain_vintc_deinit()
   for each vIRQ recorded in used_irqs.
---
Changes in v2:
 - Rework IRQ mapping in more common (similar approach to Arm).
---
---
 xen/arch/riscv/Makefile           |   1 +
 xen/arch/riscv/aplic.c            |   4 +
 xen/arch/riscv/device.c           | 102 +++++++++++++++
 xen/arch/riscv/imsic.c            |   5 +-
 xen/arch/riscv/include/asm/intc.h |   9 ++
 xen/arch/riscv/include/asm/irq.h  |   5 +
 xen/arch/riscv/intc.c             |  41 ++++++
 xen/arch/riscv/irq.c              | 203 ++++++++++++++++++++++++++++++
 xen/arch/riscv/vaplic.c           |   2 +
 9 files changed, 370 insertions(+), 2 deletions(-)
 create mode 100644 xen/arch/riscv/device.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 9d8d21b65188..fc6b34661111 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -1,6 +1,7 @@
 obj-y += aia.o
 obj-y += aplic.o
 obj-y += cpufeature.o
+obj-y += device.o
 obj-y += domain.o
 obj-y += domain-build.init.o
 obj-$(CONFIG_DOM0LESS_BOOT) += dom0less-build.init.o
diff --git a/xen/arch/riscv/aplic.c b/xen/arch/riscv/aplic.c
index 0abe32c2e446..a559c81c6d16 100644
--- a/xen/arch/riscv/aplic.c
+++ b/xen/arch/riscv/aplic.c
@@ -306,9 +306,13 @@ static const hw_irq_controller aplic_xen_irq_type = {
     .set_affinity = aplic_set_irq_affinity,
 };
 
+/* At the moment there is no difference between guest and Xen ops */
+#define aplic_guest_irq_type aplic_xen_irq_type
+
 static const struct intc_hw_operations aplic_ops = {
     .info                = &aplic_info,
     .host_irq_type       = &aplic_xen_irq_type,
+    .guest_irq_type      = &aplic_guest_irq_type,
     .handle_interrupt    = aplic_handle_interrupt,
     .set_irq_type        = aplic_set_irq_type,
 };
diff --git a/xen/arch/riscv/device.c b/xen/arch/riscv/device.c
new file mode 100644
index 000000000000..95bd3b46f538
--- /dev/null
+++ b/xen/arch/riscv/device.c
@@ -0,0 +1,102 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <xen/device_tree.h>
+#include <xen/errno.h>
+#include <xen/iocap.h>
+#include <xen/rangeset.h>
+#include <xen/sched.h>
+
+#include <asm/intc.h>
+
+int map_irq_to_domain(struct domain *d, unsigned int irq,
+                      bool need_mapping, const char *devname)
+{
+    int res;
+
+    res = irq_permit_access(d, irq);
+    if ( res )
+    {
+        printk(XENLOG_ERR "Unable to permit %pd access to IRQ %u\n", d, irq);
+        return res;
+    }
+
+    if ( need_mapping )
+    {
+        /*
+         * Checking the return of vintc_reserve_virq is not
+         * necessary. It should not fail except when we try to map
+         * the IRQ twice. This can legitimately happen if the IRQ is shared.
+         */
+        vintc_reserve_virq(d, irq);
+
+        res = route_irq_to_guest(d, irq, irq, devname);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR "Unable to map IRQ%u to %pd\n", irq, d);
+            return res;
+        }
+    }
+
+    dt_dprintk("  - IRQ: %u\n", irq);
+
+    return 0;
+}
+
+/*
+ * map_device_irqs_to_domain retrieves the interrupts configuration from
+ * a device tree node and maps those interrupts to the target domain.
+ *
+ * Returns:
+ *   < 0 error
+ *   0   success
+ */
+int map_device_irqs_to_domain(struct domain *d,
+                              struct dt_device_node *dev,
+                              bool need_mapping,
+                              struct rangeset *irq_ranges)
+{
+    unsigned int i, nirq = dt_number_of_irq(dev);
+
+    if ( irq_ranges )
+        return -EOPNOTSUPP;
+
+    /* Give permission and map IRQs */
+    for ( i = 0; i < nirq; i++ )
+    {
+        int res, irq;
+        struct dt_raw_irq rirq;
+
+        res = dt_device_get_raw_irq(dev, i, &rirq);
+        if ( res )
+        {
+            printk(XENLOG_ERR "Unable to retrieve irq %u for %s\n",
+                   i, dt_node_full_name(dev));
+            return res;
+        }
+
+        /*
+         * Don't map IRQ that have no physical meaning
+         * ie: IRQ whose controller is not APLIC/IMSIC/PLIC.
+         */
+        if ( rirq.controller != dt_interrupt_controller )
+        {
+            dt_dprintk("irq %u not connected to primary controller."
+                       "Connected to %s\n", i,
+                       dt_node_full_name(rirq.controller));
+            continue;
+        }
+
+        irq = platform_get_irq(dev, i);
+        if ( irq < 0 )
+        {
+            printk("Unable to get irq %u for %s\n", i, dt_node_full_name(dev));
+            return irq;
+        }
+
+        res = map_irq_to_domain(d, irq, need_mapping, dt_node_name(dev));
+        if ( res )
+            return res;
+    }
+
+    return 0;
+}
diff --git a/xen/arch/riscv/imsic.c b/xen/arch/riscv/imsic.c
index de8c54cb33fd..bd565aa6af08 100644
--- a/xen/arch/riscv/imsic.c
+++ b/xen/arch/riscv/imsic.c
@@ -538,10 +538,11 @@ int __init imsic_init(const struct dt_device_node *node)
 
 static int __init guest_imsic_make_reg_property(struct domain *d, void *fdt)
 {
+    paddr_t base = GUEST_IMSIC_S_BASE;
     paddr_t size = IMSIC_MMIO_PAGE_SZ * d->max_vcpus;
     __be32 regs[4] = {
-        cpu_to_be32(GUEST_IMSIC_S_BASE >> 32),
-        cpu_to_be32(GUEST_IMSIC_S_BASE),
+        cpu_to_be32(base >> 32),
+        cpu_to_be32(base),
         cpu_to_be32(size >> 32),
         cpu_to_be32(size),
     };
diff --git a/xen/arch/riscv/include/asm/intc.h b/xen/arch/riscv/include/asm/intc.h
index 95ca526e1223..f257e6a47b2b 100644
--- a/xen/arch/riscv/include/asm/intc.h
+++ b/xen/arch/riscv/include/asm/intc.h
@@ -13,6 +13,7 @@ enum intc_version {
 };
 
 struct cpu_user_regs;
+struct domain;
 struct irq_desc;
 struct kernel_info;
 struct vcpu;
@@ -32,6 +33,9 @@ struct intc_hw_operations {
     /* hw_irq_controller to enable/disable/eoi host irq */
     const struct hw_interrupt_type *host_irq_type;
 
+    /* hw_irq_controller to enable/disable/eoi guest irq */
+    const struct hw_interrupt_type *guest_irq_type;
+
     /* Set IRQ type */
     void (*set_irq_type)(struct irq_desc *desc, unsigned int type);
     /* Set IRQ priority */
@@ -62,6 +66,8 @@ struct vintc_ops {
 };
 
 struct vintc {
+    unsigned int irq_nums;
+    unsigned long *used_irqs;
     const struct vintc_init_ops *init_ops;
     const struct vintc_ops *ops;
 };
@@ -73,6 +79,7 @@ void register_intc_ops(const struct intc_hw_init_ops *init_ops);
 void intc_init(void);
 
 void intc_route_irq_to_xen(struct irq_desc *desc, unsigned int priority);
+int intc_route_irq_to_guest(struct irq_desc *desc, unsigned int priority);
 
 void intc_handle_external_irqs(struct cpu_user_regs *regs);
 
@@ -80,4 +87,6 @@ void intc_handle_external_irqs(struct cpu_user_regs *regs);
 int domain_vintc_init(struct domain *d);
 void domain_vintc_deinit(struct domain *d);
 
+bool vintc_reserve_virq(const struct domain *d, unsigned int virq);
+
 #endif /* ASM__RISCV__INTERRUPT_CONTOLLER_H */
diff --git a/xen/arch/riscv/include/asm/irq.h b/xen/arch/riscv/include/asm/irq.h
index f633636dc308..2b95f8226be2 100644
--- a/xen/arch/riscv/include/asm/irq.h
+++ b/xen/arch/riscv/include/asm/irq.h
@@ -49,6 +49,11 @@ void init_IRQ(void);
 
 void do_IRQ(struct cpu_user_regs *regs, unsigned int irq);
 
+int route_irq_to_guest(struct domain *d, unsigned int virq,
+                       unsigned int irq, const char *devname);
+
+int release_guest_irq(struct domain *d, unsigned int virq);
+
 #endif /* ASM__RISCV__IRQ_H */
 
 /*
diff --git a/xen/arch/riscv/intc.c b/xen/arch/riscv/intc.c
index ec37b359f323..a38740778d23 100644
--- a/xen/arch/riscv/intc.c
+++ b/xen/arch/riscv/intc.c
@@ -7,7 +7,9 @@
 #include <xen/init.h>
 #include <xen/irq.h>
 #include <xen/lib.h>
+#include <xen/sched.h>
 #include <xen/spinlock.h>
+#include <xen/xvmalloc.h>
 
 #include <asm/aia.h>
 #include <asm/intc.h>
@@ -78,6 +80,22 @@ void intc_route_irq_to_xen(struct irq_desc *desc, unsigned int priority)
     intc_set_irq_priority(desc, priority);
 }
 
+int intc_route_irq_to_guest(struct irq_desc *desc,
+                            unsigned int priority)
+{
+    ASSERT(spin_is_locked(&desc->lock));
+
+    ASSERT(intc_hw_ops->guest_irq_type);
+
+    desc->handler = intc_hw_ops->guest_irq_type;
+    __set_bit(_IRQ_GUEST, &desc->status);
+
+    intc_set_irq_type(desc, desc->arch.type);
+    intc_set_irq_priority(desc, priority);
+
+    return 0;
+}
+
 int __init make_intc_domU_node(struct kernel_info *kinfo)
 {
     struct vintc *vintc = kinfo->bd.d->arch.vintc;
@@ -106,12 +124,25 @@ int domain_vintc_init(struct domain *d)
         break;
     }
 
+    if ( !ret )
+    {
+        d->arch.vintc->used_irqs =
+            xvzalloc_array(unsigned long, BITS_TO_LONGS(d->arch.vintc->irq_nums));
+        if ( !d->arch.vintc->used_irqs )
+            ret = -ENOMEM;
+    }
+
     return ret;
 }
 
 void domain_vintc_deinit(struct domain *d)
 {
     const enum intc_version ver = intc_hw_ops->info->hw_version;
+    unsigned int virq;
+
+    for ( virq = 0; virq < d->arch.vintc->irq_nums; virq++ )
+        if ( test_bit(virq, d->arch.vintc->used_irqs) )
+            release_guest_irq(d, virq);
 
     switch ( ver )
     {
@@ -122,4 +153,14 @@ void domain_vintc_deinit(struct domain *d)
     default:
         break;
     }
+
+    XVFREE(d->arch.vintc->used_irqs);
+}
+
+bool vintc_reserve_virq(const struct domain *d, unsigned int virq)
+{
+    if ( virq >= d->arch.vintc->irq_nums )
+        return false;
+
+    return !test_and_set_bit(virq, d->arch.vintc->used_irqs);
 }
diff --git a/xen/arch/riscv/irq.c b/xen/arch/riscv/irq.c
index 25d329500212..3b90ab013e74 100644
--- a/xen/arch/riscv/irq.c
+++ b/xen/arch/riscv/irq.c
@@ -12,11 +12,20 @@
 #include <xen/errno.h>
 #include <xen/init.h>
 #include <xen/irq.h>
+#include <xen/sched.h>
 #include <xen/spinlock.h>
+#include <xen/xvmalloc.h>
 
 #include <asm/hardirq.h>
 #include <asm/intc.h>
 
+/* Describe an IRQ assigned to a guest */
+struct irq_guest
+{
+    struct domain *d;
+    unsigned int virq;
+};
+
 static irq_desc_t irq_desc[NR_IRQS];
 
 static bool irq_validate_new_type(unsigned int curr, unsigned int new)
@@ -192,6 +201,15 @@ void do_IRQ(struct cpu_user_regs *regs, unsigned int irq)
     if ( desc->handler->ack )
         desc->handler->ack(desc);
 
+    if ( desc->status & IRQ_GUEST )
+        /*
+         * As at the moment APLIC + IMSIC is used for guest interrupts will
+         * be directly passed to guest. But if/when IMSIC won't be available
+         * all interrupts will go through Xenand here an irq injection
+         * will be necessary to do.
+         */
+        panic("unimplemented");
+
     if ( desc->status & IRQ_DISABLED )
         goto out;
 
@@ -221,3 +239,188 @@ void do_IRQ(struct cpu_user_regs *regs, unsigned int irq)
     spin_unlock(&desc->lock);
     irq_exit();
 }
+
+static inline struct irq_guest *irq_get_guest_info(struct irq_desc *desc)
+{
+    ASSERT(spin_is_locked(&desc->lock));
+    ASSERT(test_bit(_IRQ_GUEST, &desc->status));
+    ASSERT(desc->action != NULL);
+
+    return desc->action->dev_id;
+}
+
+static inline struct domain *irq_get_domain(struct irq_desc *desc)
+{
+    return irq_get_guest_info(desc)->d;
+}
+
+void release_irq(unsigned int irq, const void *dev_id)
+{
+    struct irq_desc *desc;
+    unsigned long flags;
+    struct irqaction *action, **action_ptr;
+
+    desc = irq_to_desc(irq);
+
+    spin_lock_irqsave(&desc->lock,flags);
+
+    action_ptr = &desc->action;
+#ifdef CONFIG_IRQ_HAS_MULTIPLE_ACTION
+    for ( ;; )
+    {
+        action = *action_ptr;
+        if ( !action )
+        {
+            printk(XENLOG_WARNING "Trying to free already-free IRQ %u\n", irq);
+            spin_unlock_irqrestore(&desc->lock, flags);
+            return;
+        }
+
+        if ( action->dev_id == dev_id )
+            break;
+
+        action_ptr = &action->next;
+    }
+
+    /* Found it - remove it from the action list */
+    *action_ptr = action->next;
+#else
+    action = *action_ptr;
+    *action_ptr = NULL;
+#endif
+
+    /* If this was the last action, shut down the IRQ */
+    if ( !desc->action )
+    {
+        desc->handler->shutdown(desc);
+        __clear_bit(_IRQ_GUEST, &desc->status);
+    }
+
+    spin_unlock_irqrestore(&desc->lock,flags);
+
+    /* Wait to make sure it's not being used on another CPU */
+    do { smp_mb(); } while ( test_bit(_IRQ_INPROGRESS, &desc->status) );
+
+    if ( action->free_on_release )
+        xvfree(action);
+}
+
+int release_guest_irq(struct domain *d, unsigned int virq)
+{
+    struct irq_desc *desc = irq_to_desc(virq);
+    struct irq_guest *info;
+    unsigned long flags;
+
+    spin_lock_irqsave(&desc->lock, flags);
+
+    if ( !test_bit(_IRQ_GUEST, &desc->status) )
+        goto unlock_err;
+
+    info = irq_get_guest_info(desc);
+    if ( d != info->d )
+        goto unlock_err;
+
+    spin_unlock_irqrestore(&desc->lock, flags);
+
+    release_irq(desc->irq, info);
+    xvfree(info);
+
+    return 0;
+
+ unlock_err:
+    spin_unlock_irqrestore(&desc->lock, flags);
+    return -EINVAL;
+}
+
+/* Route an IRQ to a specific guest */
+int route_irq_to_guest(struct domain *d, unsigned int virq,
+                       unsigned int irq, const char *devname)
+{
+    struct irqaction *action;
+    struct irq_guest *info;
+    struct irq_desc *desc;
+    unsigned long flags;
+    int retval = 0;
+
+    desc = irq_to_desc(irq);
+
+    action = xvmalloc(struct irqaction);
+    if ( !action )
+        return -ENOMEM;
+
+    info = xvmalloc(struct irq_guest);
+    if ( !info )
+    {
+        xvfree(action);
+        return -ENOMEM;
+    }
+
+    info->d = d;
+    info->virq = virq;
+
+    action->dev_id = info;
+    action->name = devname;
+    action->free_on_release = true;
+
+    spin_lock_irqsave(&desc->lock, flags);
+
+    /*
+     * If the IRQ is already used by someone
+     *  - If it's the same domain -> Xen doesn't need to update the IRQ desc.
+     *  For safety check if we are not trying to assign the IRQ to a
+     *  different vIRQ.
+     *  - Otherwise -> For now, don't allow the IRQ to be shared between
+     *  Xen and domains.
+     */
+    if ( desc->action != NULL )
+    {
+        if ( test_bit(_IRQ_GUEST, &desc->status) )
+        {
+            struct domain *ad = irq_get_domain(desc);
+
+            if ( d != ad )
+            {
+                printk(XENLOG_G_ERR "IRQ %u is already used by %pd\n",
+                       irq, ad);
+                retval = -EBUSY;
+            }
+            else if ( irq_get_guest_info(desc)->virq != virq )
+            {
+                printk(XENLOG_G_ERR
+                       "%pd: IRQ %u is already assigned to vIRQ %u\n",
+                       d, irq, irq_get_guest_info(desc)->virq);
+                retval = -EBUSY;
+            }
+        }
+        else
+        {
+            printk(XENLOG_G_ERR "IRQ %u is already used by Xen\n", irq);
+            retval = -EBUSY;
+        }
+        goto out;
+    }
+
+    retval = _setup_irq(desc, 0, action);
+    if ( retval )
+        goto out;
+
+    retval = intc_route_irq_to_guest(desc, IRQ_NO_PRIORITY);
+
+    spin_unlock_irqrestore(&desc->lock, flags);
+
+    if ( retval )
+    {
+        release_irq(desc->irq, info);
+        goto free_info;
+    }
+
+    return 0;
+
+ out:
+    spin_unlock_irqrestore(&desc->lock, flags);
+    xvfree(action);
+ free_info:
+    xvfree(info);
+
+    return retval;
+}
diff --git a/xen/arch/riscv/vaplic.c b/xen/arch/riscv/vaplic.c
index 683e8aaec2f3..b418cbedd9b3 100644
--- a/xen/arch/riscv/vaplic.c
+++ b/xen/arch/riscv/vaplic.c
@@ -123,6 +123,8 @@ int domain_vaplic_init(struct domain *d)
     vaplic->regs.domaincfg = APLIC_DOMAINCFG_IE | APLIC_DOMAINCFG_DM |
                              APLIC_DOMAINCFG_RO80;
 
+    d->arch.vintc->irq_nums = VAPLIC_NUM_SOURCES;
+
     return 0;
 }
 
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340111.1601231 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoI9-0006sk-3p; Wed, 17 Jun 2026 11:18:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340111.1601231; Wed, 17 Jun 2026 11:18: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 1wZoI7-0006ng-OK; Wed, 17 Jun 2026 11:18:43 +0000
Received: by outflank-mailman (input) for mailman id 1340111;
 Wed, 17 Jun 2026 11:18:24 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHn-0003r8-NC
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHn-008naJ-2v
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:23 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a32827c-5cb7-0a2a0a5109dd-0a2a4509b80c-12
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:23 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a32827e-2497-0a2a45090019-d155802ce5bf-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:23 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-490b4a8e28bso42351645e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:23 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695102; x=1782299902; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2I+oddooa9AtYM/3fWA2kwT7rhEB1jpQvIHH/BXdEDw=;
        b=Z8jAQSfqx+rDwBrBxxfj1AyWctodXM6vqIGdZRNRUhaQC0Go8bSZerxDTDHlG9ZCG0
         yRrW9ctqRvhmpBAg7NnurJftHoakboSGYtwVNF1Ms4TpcEzpktJ/Y956Kbmgne0hpgur
         bFiICGu8p5WlQje6/w8SAJU5OsvxYzuTwxNV03IDApsPXqiT+7F1TnKTa71vBRKpDg4l
         uTz/xsRiBPZcFK42l9mc2c/bylb8Bb455rH2xqNe1ECCHZalrPYElUmJ2XSXmHWcrkRo
         XGPPzeEheSqn8kCgxCU311xKpaUDvxHBdP4ocYPFJvuTCIM90JAWUAp0v3g74CqGpaaQ
         d0Ew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695102; x=1782299902;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=2I+oddooa9AtYM/3fWA2kwT7rhEB1jpQvIHH/BXdEDw=;
        b=NQIeL6REhCY830fbRWPD2vr8th9XJZplXNKytJFNFjZ3RxsQVaY63DvPx/ErCkkWu3
         W5Jiqr4skdNrLkwBkLxavv5Y0S1QpIoXydk0B1fBBh5y6cMDydpKeyzaXqrYyywCYDvG
         Of7zF8FtDYjBAJhUmw9V10BTjANQpa+Ofo2MCXLEcCO/lX15whK7o4yhwAlwd9SPH4M1
         pZIHihCMU//R9Cgd2v+i/lDp2ozPFcyMrn4gsErGdEr9xQukY3en9s/So59njXXgHTo5
         A7CMgMkYVr5AvCJxYdOudbfs3z0HzMi3+W2Tprb3Dzdy9PCwMDaoupRY6NS4Syb6LeB1
         8lVA==
X-Gm-Message-State: AOJu0YzNQLz807TW6dxTxz7XYDrNqltPOkaU8vL5bCbmtu9x6YB/WLUG
	w4BDRolJkcU6z50Mu2GXXPzwXRZxrCpgMxjZWwr09O0oB/rQf2CNVJlgPx2z4w==
X-Gm-Gg: Acq92OFeSApRc1ZgBOIHJG32zutgdM7O0el5GlCOXvAnV9j02pBV5oPGIZ4TD5Qj6cv
	fkGjUkFzhP67wLsKoIUAhSJCiwXD7M03WPviryK7r4sehSK5TU3rhWNJqeV4N6kq/ms32h0vk1y
	NQYaD1CXrZHi8G9yMlfgqWaQ7DuFA6fVBncfzYDWx/AYMJn8yMJ8UR3xn6KSMBJgKI/3tgPUStC
	YbHeHUCLGFlvomOCAA76GGMJBaxtaBG5bS6G1SJe5h4VtP2J133RwKN/dI2oLcgBMbMF61o4WP6
	EXv1hHEiG+uLKtVvQH2X+cDjA1b7ShS3XCqyjT1suZmCmJ0OtoLK/yTzKnYufeEWcbOv8H7O7pJ
	VqcFcQDgkOlv1GTy/9LXOuztyq7lKofh1cTJYcT2WoqpATilZ4bE0ZSgqVUirdgQ1SjwjXY4Ln6
	iqZRcTaF6wR88Dbc71lap1MfUhsEDHg9kK2Gd/57jahHi7xxVjoTNY0HJxb/QjaT/x6ygt
X-Received: by 2002:a05:600c:1554:b0:492:3237:ddf with SMTP id 5b1f17b1804b1-492334282c2mr56391445e9.28.1781695102287;
        Wed, 17 Jun 2026 04:18:22 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 19/23] xen/riscv: implement init_intc_phandle()
Date: Wed, 17 Jun 2026 13:17:47 +0200
Message-ID: <c1da6e20bca395b179b43d53d32b3bf3fdc95fbf.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1781695103-8B392A53-2CEE405E/10/73395122804
X-purgate-type: spam
X-purgate-size: 1316

Implement init_intc_phandle() to read phandle of interrupt controller
node and save it in kernel->phandle_intc for the future usage during
creation of guest interrupt controller node.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/riscv/dom0less-build.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/xen/arch/riscv/dom0less-build.c b/xen/arch/riscv/dom0less-build.c
index 4cc00012aa8d..a1fa51b996a7 100644
--- a/xen/arch/riscv/dom0less-build.c
+++ b/xen/arch/riscv/dom0less-build.c
@@ -4,9 +4,26 @@
 #include <xen/device_tree.h>
 #include <xen/fdt-kernel.h>
 #include <xen/init.h>
+#include <xen/libfdt/libfdt.h>
 
 #include <asm/p2m.h>
 
+int __init init_intc_phandle(struct kernel_info *kinfo, const char *name,
+                             const int node_next, const void *pfdt)
+{
+    if ( dt_node_cmp(name, "intc") == 0 )
+    {
+        uint32_t phandle_intc = fdt_get_phandle(pfdt, node_next);
+
+        if ( phandle_intc != 0 )
+            kinfo->phandle_intc = phandle_intc;
+
+        return 0;
+    }
+
+    return 1;
+}
+
 int __init make_arch_nodes(struct kernel_info *kinfo)
 {
     /* No RISC-V specific nodes need to be made, at the moment. */
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:47 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340112.1601236 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoIB-0007BS-4r; Wed, 17 Jun 2026 11:18:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340112.1601236; Wed, 17 Jun 2026 11: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 1wZoI9-00077F-RQ; Wed, 17 Jun 2026 11:18:45 +0000
Received: by outflank-mailman (input) for mailman id 1340112;
 Wed, 17 Jun 2026 11:18:25 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHo-0003wP-Ng
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHo-003J0D-36
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:24 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328276-bab6-0a2a0a5309dd-0a2a4507dd54-20
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:24 +0200
Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a32827f-229c-0a2a45070019-d1558036a586-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:24 +0200
Received: by mail-wm1-f54.google.com with SMTP id
 5b1f17b1804b1-492329c5514so3895045e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:24 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04:18:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695103; x=1782299903; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2FIk6pMeqEKkA+0YYHQME+TSQ8sYaHR2h365DGY4sbA=;
        b=mXNqIleSA6uri73ySrWuyZsjgeNjpklY8r9Oi7WP9JvZJwTohJg9cASSX6fgAGZLZq
         4yGsHN/QbDlyCafcWn5C3pMJricaYQj8kbjdZEk/4P0Hjnz3QlMCtxTa2KXA3A/dUVVw
         yG1DxoKEFs5vFSfv9VCy6t30zNA3HPN6H1tbP0By96PHyRlM+gSX+YwKnmkpoQxQjkk3
         uOubLvBzR9Ya24XGmuDJu3Vs3CvFbg2izE4lql+mvU3190lKBoBtDTz38BRh7Pl0gu+9
         ZeMLd3Ec4PfWnPsOJvJRWLB5A8QD/oNPQmr2iy15r/TRdD9aB8l2m7AlTTmynW5XjpZ3
         UI6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695103; x=1782299903;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=2FIk6pMeqEKkA+0YYHQME+TSQ8sYaHR2h365DGY4sbA=;
        b=sjQzB52X2wtSitjHhy6lkufYqq/DEZWDogwYCxNB0kfWMKlZy8+TMRBpBV0rPmjeVz
         8tC+PyNsxH57bU6Ds+BFC7oiM6iCrcqnMGOCrcyfHhlKf7DgwZmnXHf7edT/GshyBRh3
         SWDal1vUjrjWomDVYcURJpPPedF4Ps00Kim3UbOCoKianifT/9ujOuN0E1p7Ryan5kt/
         YQQOHhdz5QEV9jHmb0865oUT5CUa5wauYUohscibSWdEKiDewv3fUgwvih+103BAIy61
         WewVXgrAlwQKKYtfGufjROHD+VBjv0+EAR3dxAK7L+Fwwd1JgfxZti2ApBCTkbqHWGPY
         QOLQ==
X-Gm-Message-State: AOJu0YzIQHc/Zr5CzvTQ7W3aBOuX+CbN242joTrpZ4lAatmqwX7c6Org
	LOvr3veGnd5i7VXNrotzLnR6JGHntA4oXs/1uONHHnBe3VranZc6kHmc+a/mnw==
X-Gm-Gg: Acq92OEhSG5xmRf4Y9XyAmCRs68ohKdUYlruLD0TxuBWza8syit/A2K3h47utFJZh6Z
	YBefk/hQCVqT7dWrJkkWl1Lu2WBmcq0yvu9YQaupI0X79tlmdSS2tm5OAokmbZsPpxqrE58MINd
	Ir3ozrYAYxrK/tsudxwTvnIPj4UqwXt6MG0JV35ib+7UyyCpxm29hc3rJPON9Dr5XtkWUYaN356
	pNQUaHWelysd4kVc3+B0g+eiHH8Tr+fzuKeb1eO69H35eol5I9HkhR81ep4Hz2cYoodYgqm0OYh
	Sb6wh4e1TG9tUfhPzZDxKIgT2y+6Uwk+p54sMKAJo3D0uCRI1BGQSxPxU2/IkdMKyapuVIdrzdc
	lV/KrpCV2p6WNqXoCo/V4TW41tMn3Qt+8G/6I7z2x4ULRx6nninQviokqdO6dQzh95gI6DlMoq8
	hjA1Wdhbni/mjjGyd/V3vsoHrr8THvZYz25TT4qyYZhBqR7tZr+yQe+QiKHQ==
X-Received: by 2002:a05:600c:8285:b0:490:4b89:5372 with SMTP id 5b1f17b1804b1-492357da8b7mr16402825e9.11.1781695103242;
        Wed, 17 Jun 2026 04:18:23 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 20/23] xen/riscv: initialize RCU, scheduler, and system domains in start_xen()
Date: Wed, 17 Jun 2026 13:17:48 +0200
Message-ID: <7a236aae14c6685f8104f0d4f80a1b34c9be19b0.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1781695104-0A772C48-D67FB8A8/10/73395122804
X-purgate-type: spam
X-purgate-size: 1503

Wire up the missing early-boot initialization steps in start_xen().

The scheduler must be initialized prior to do_initcalls() because
cpupool_create_pool() is called during initcalls; without it,
BUG_ON(IS_ERR(pool)) is triggered inside cpupool_create_pool().

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:
 - New patch. Several patches were folded into one.
---
---
 xen/arch/riscv/setup.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 56a0907a855f..c3e98733ebc3 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -6,9 +6,12 @@
 #include <xen/compile.h>
 #include <xen/console.h>
 #include <xen/device_tree.h>
+#include <xen/domain.h>
 #include <xen/init.h>
 #include <xen/irq.h>
 #include <xen/mm.h>
+#include <xen/rcupdate.h>
+#include <xen/sched.h>
 #include <xen/serial.h>
 #include <xen/shutdown.h>
 #include <xen/smp.h>
@@ -156,12 +159,21 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     timer_init();
 
+    rcu_init();
+
+    setup_system_domains();
+
     local_irq_enable();
 
     console_init_postirq();
 
     guest_mm_init();
 
+    scheduler_init();
+    set_current(idle_vcpu[0]);
+
+    do_initcalls();
+
     printk("All set up\n");
 
     machine_halt();
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340113.1601245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoIC-0007PB-VV; Wed, 17 Jun 2026 11:18:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340113.1601245; Wed, 17 Jun 2026 11:18: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 1wZoIB-0007Lz-9z; Wed, 17 Jun 2026 11:18:47 +0000
Received: by outflank-mailman (input) for mailman id 1340113;
 Wed, 17 Jun 2026 11:18:27 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHq-00043m-4g
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:26 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHp-000VOC-E1
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:25 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a32827e-e002-0a2a0a5209dd-0a2a4506cf32-18
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:25 +0200
Received: from [209.85.221.50] (helo=mail-wr1-f50.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328281-7371-0a2a45060019-d155dd32f128-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:25 +0200
Received: by mail-wr1-f50.google.com with SMTP id
 ffacd0b85a97d-4629d80fa08so589791f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:25 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695105; x=1782299905; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=swvk0YgzHz2ARgtgQlFZIpC4f1vcSxqdtw9lrbDzreY=;
        b=GV2RUKWy1Iv6qTRnIEKQbQvnykh2HniTK9uiiBJYPGUkKgvEUI8eqWAV/g7Es/3GCk
         yqk8+IhvdmfxwINOw9ydEXXJgHt3SjDC6v61ZtvtiztJMBaTWw8x5nkOFhaJYwT7RDIJ
         nYZSd2191G+7i2cAm1HbiNo46jiKl6ipSGcNHVjSjbgL1KSbx2+G9BozphGJf9AUjfOc
         3H3ShzQNpQ3zypgS3PXIEf795ITGetLdJ1NHVPdZl8YGOhEsSMIGSnhvAVq7EWz/gq9M
         gTYfm3cQ6PrdNrfspj7dzMZIgx7ZjN+mJr8fR1jEiaDr+eZQSfGcUiDS9hWNH1LPOFPM
         Ptfg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695105; x=1782299905;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=swvk0YgzHz2ARgtgQlFZIpC4f1vcSxqdtw9lrbDzreY=;
        b=Ibci7jCi+zdq9cIJafdQZWEEXFv46qYVlCzMcu+DJghjzQ2XZEdcSCTteU2BJ/Hob3
         qxMPOp6+LWnGJVTMzBPIxAhLKHWkyNro+Z2i1atRLtJnh3KZsOS88BbGLi3HsYux1Gml
         bevAqtSAZwazbl9GePYar8e/qgkUKTkHqLAq+CXcAUIilrcAmBFniLjHt5IuH6e73RZY
         WYn7oqcxOQQS9Y0tOYJJelVVBQWK2eepdssf/5FRUn1M/Ze9WprACioz+NnhLBgX7yQs
         DYKKwzhOy6T2TbAPChDa6IZxC1VnBFYbXOzbuaPGoDm/jiSzYEWnxox3290ihMG2WMrz
         lvbQ==
X-Gm-Message-State: AOJu0YzsIao9G1TptQg92vpkFKqxpqkTcsPQDip1jmJ/Zcym0OH4I3CW
	hwuoStumLQ1x5WtZMgwHmgUgSPm7/nwa3TL/+eDgv4Q2bUl/HojQfc3BCrZAug==
X-Gm-Gg: Acq92OGXy/XXFZiLDnfCo5MUdtZp7AzhHJa30NsHHUEkJscEM043E9WHOAj5sgRt8Pg
	llZFFh3mMC7aYcsXcNJJ0nEjC1RAxWEB9eRfZhimtSi7g8AGhJQAJcBX2qC7uDQqvSTNVGFPZE0
	KcwJTbFaVIkSD0GM8Ls1e5x1fXxg1lAmAPTPTZR3P+PD5nV2KsktkS6VEFWwRNn+Dkr7QlHTNq/
	6I44bj87fCe9mkghn9vl8pyUGNKfquQrdAe0oMjLEsIireuRPl/Yvf+TezbGoXPWlnp4abpyZ0M
	s875CzNITBnV3QuPmfdNO+zxda5nX5zo4Q58ZijgvB1Bq0NhYsxcDyQi7gAHp55YYKIqmnvT5Hr
	br/lp4Kfm77KUeuqkTr9a2bNDHJo2yN4ML5fTMrbJGPVLFCu05uemJRBVEO7a2bU5dlIGa3nAtN
	bwczJ459rZS1CduuTO0VNmtTWdrIS6k+88SfnzrTX6Ef5aGtBkpLDUKzmSDcoUYGnSk5WH
X-Received: by 2002:a05:600d:84ca:20b0:492:3071:1db7 with SMTP id 5b1f17b1804b1-492333d8b49mr43245255e9.28.1781695104510;
        Wed, 17 Jun 2026 04:18:24 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 21/23] xen/riscv: provide init_vuart()
Date: Wed, 17 Jun 2026 13:17:49 +0200
Message-ID: <401b93509df2e9f8682c1de13de32114279ad3de.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1781695105-8D982D75-C449A61C/10/73395122804
X-purgate-type: spam
X-purgate-size: 1333

For debug purpose is enough to have only print messages from guest what is
now implemented in vsbi_legacy_ecall_handler().

For full guesst console support it will better to have something similar to
[1], thereby there is nothing specific should be done, at least, for now
and init_vuart() is provided to make dom0less code buildable.

[1] https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2602041533440.3175371@ubuntu-linux-20-04-desktop/

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v2:
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>.
---
---
 xen/arch/riscv/dom0less-build.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/xen/arch/riscv/dom0less-build.c b/xen/arch/riscv/dom0less-build.c
index a1fa51b996a7..d1a51b92936a 100644
--- a/xen/arch/riscv/dom0less-build.c
+++ b/xen/arch/riscv/dom0less-build.c
@@ -8,6 +8,14 @@
 
 #include <asm/p2m.h>
 
+int __init init_vuart(struct domain *d, struct kernel_info *kinfo,
+                      const struct dt_device_node *node)
+{
+    /* Nothing to do at the moment */
+
+    return 0;
+}
+
 int __init init_intc_phandle(struct kernel_info *kinfo, const char *name,
                              const int node_next, const void *pfdt)
 {
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:54 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340118.1601259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoII-00084a-0L; Wed, 17 Jun 2026 11:18:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340118.1601259; Wed, 17 Jun 2026 11:18: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 1wZoIG-000800-5C; Wed, 17 Jun 2026 11:18:52 +0000
Received: by outflank-mailman (input) for mailman id 1340118;
 Wed, 17 Jun 2026 11:18:29 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHs-0004JY-Gk
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHr-000VRI-NL
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:27 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328270-e002-0a2a0a5209dd-0a2a4503b370-34
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:27 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328283-672d-0a2a45030019-d1558034dd73-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:27 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-49222fb062bso46605175e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:27 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695107; x=1782299907; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wd109uo54h7Ht2m/jvWZ4if8ySED0SAOqrqE/7gjCJk=;
        b=Sr7rbD5BKLnI5zn+CvFCzD8u7GJAVIUadKPTMrRmSU1chjm8VSWtKPNwgre109ZCjs
         wBdTXpRXudiFJdt+sZZfdTdKfkmF+pXkkxRFF7+jHS341Q7lYyXn2bupN6b+xKNbuj3l
         gul8yepIB0g7BWIMJ2qp6nEbzKTVGQKFqcJpb0QxZ+YtfjPnSF8n0oF+x0A5VpqlvCBA
         IGOKFxO8i50CtnN9vnDjwF0CUMTthEb9Rs+L1/SuvXw0sTeBkh05kqK9cifXut+zNeGa
         i6ryKZUPSLp5Yk506wiaCybMHqnzxdeMc4KEU2uAsirStPDX42f/xIKJVWDdk8u0jZpH
         JAOg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695107; x=1782299907;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=wd109uo54h7Ht2m/jvWZ4if8ySED0SAOqrqE/7gjCJk=;
        b=dAGQ+mSBPRRASWEz89+3b49OGdD+wREgmt5QTP8AziiaS8sSlCCSsfdOMhn6PMYf/1
         vuxNzkBkNCFjwxK2SGcp8Nk8Xfkm2BpKXAt5UVgRWKCrN6h41mi0pSS9cRLjae9OPqE2
         0WJEmbLQDie69QbhZCeQHwfApA8DDXzz+4s3ONnpzDAqZagM0xNgnZswaewNUGmg9+PN
         +P3hzkLqGHrVS6HbDDhdfdREtXy+jrGtLOQ6DSgoTlkEhruz7orwGgqPci/HH3pn127n
         24+oGvBJ0PIlEujebh9bmZwvBL33dIMDcmxw4vtZAxl4dRQnrrtIg64/D9g7Xb8MQWob
         Q6Pg==
X-Gm-Message-State: AOJu0Yzuf5GzZ7N/z/svE9wrEwZStei5C05wigaNDtlUYfqvD5JVmO1v
	nV37O8mNJXzWTLs7PYMzrc9ujK7M7BQxdipVZGqT8PxC/DBHuoxeOs+JSzxzNw==
X-Gm-Gg: Acq92OHuzz7O3AcOrhdNVKS2/7wLwNwn2LbE9qjDSbenoH5DQsxCAZHHWZfCG3rXCSh
	WsFe4zBvyoBRbpmGi6kdwtdK8IKVtcx6xN2AP8jVvXz6w884AtrCU2mEzcw6KKv0LNsmC6SWLG4
	avL0dAb9dcyxGXa1HDhRpyticjJxk5h1NaulEoUUDjXRzBTH1+BQRuv49Fb7CJktKnfGWFpEN9w
	CeRt0J7+lTeI8b0fSLwDDi3pcVBxWk+vR39q3dMsdPlHraDSnOv5OCFj62QtVpsqGcP6j/Tfbvk
	5gko35ooneyESQnij90nvE3zaW/6XKxRDrFZx/cR/wG8LNdpit6VkP0AVtdgBX3AE7Z7bhnzNmy
	/6c/F+UqKvG1WX8Rb0PjRLrMkDYoeekFVr9pNtJim2v24jvkqGrxjhOKfm5OIMsU76D4Z/JysVf
	aaRYPF3hwOyfPW5D2tN5YLeOiF3mrIYmktr36X5udA+sTVhJ/7g3k24CnkHg==
X-Received: by 2002:a05:600c:608a:b0:490:b65f:8b1 with SMTP id 5b1f17b1804b1-492333ba1d1mr71065675e9.5.1781695106912;
        Wed, 17 Jun 2026 04:18:26 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 23/23] xen/riscv: add initial dom0less infrastructure support
Date: Wed, 17 Jun 2026 13:17:51 +0200
Message-ID: <781214e3cb87a0fe38e210e9b0cefed49d623d52.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1781695107-39B7C938-C3D29834/10/73395122804
X-purgate-type: spam
X-purgate-size: 5246

Enable dom0less support for RISC-V by selecting HAS_DOM0LESS and
providing the minimal architecture hooks required by the common
dom0less infrastructure.

Add stub implementations for architecture-specific helpers used when
building domains from the device tree. These currently perform no
additional work but allow the generic dom0less code to build and run
on RISC-V.

Introduce max_init_domid as a runtime variable rather than a constant
so that it can be updated during dom0less domain creation.

Provide missing helpers and definitions required by the domain
construction code, including domain bitness helpers and the
p2m_set_allocation() prototype.

Additionally define the guest magic memory region in the public
RISC-V interface. GUEST_MAGIC_BASE is placed at 0x79000000 to avoid
overlapping with the QEMU RISC-V virt machine address space.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v3:
  - Add /* Nothing specific to do for now */ comment to
    arch_handle_passthrough_prop().
  - Use _ULL() instead of xen_mk_ullong() for GUEST_MAGIC_BASE and
    GUEST_MAGIC_SIZE (xen_mk_ullong() is intended for public headers only).
  - Fix GUEST_MAGIC_BASE from 0x39000000 to 0x79000000 to avoid the
    QEMU RISC-V virt machine PCIE_ECAM range.
  - Drop CONFIG_STATIC_MEMORY=n from the CI randconfig; now redundant
    since STATIC_MEMORY depends on HAS_STATIC_MEMORY which RISC-V does
    not select.
Changes in v2:
  - Move declaration of p2m_set_allocation() to p2m-common.h.
  - Add __initdata for max_init_domid and drop initalizer for it.
  - Add CONFIG_STATIC_MEMORY=n to CI's randconfig to avoid
    compilation error because of guest_physmap_add_pages()
    isn't provided.
---
 xen/arch/riscv/Kconfig                    |  2 ++
 xen/arch/riscv/dom0less-build.c           |  7 +++++++
 xen/arch/riscv/domain-build.c             | 13 +++++++++++++
 xen/arch/riscv/include/asm/guest-layout.h |  3 +++
 xen/arch/riscv/include/asm/setup.h        |  4 +++-
 xen/arch/riscv/setup.c                    |  2 ++
 6 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/xen/arch/riscv/Kconfig b/xen/arch/riscv/Kconfig
index 48520588fe40..d8a348c0cf07 100644
--- a/xen/arch/riscv/Kconfig
+++ b/xen/arch/riscv/Kconfig
@@ -6,6 +6,8 @@ config RISCV
 	select GENERIC_BUG_FRAME
 	select GENERIC_UART_INIT
 	select HAS_DEVICE_TREE_DISCOVERY
+	select HAS_DOM0LESS
+	select HAS_DOMAIN_TYPE
 	select HAS_EX_TABLE
 	select HAS_PMAP
 	select HAS_UBSAN
diff --git a/xen/arch/riscv/dom0less-build.c b/xen/arch/riscv/dom0less-build.c
index d1a51b92936a..0801d7e25059 100644
--- a/xen/arch/riscv/dom0less-build.c
+++ b/xen/arch/riscv/dom0less-build.c
@@ -102,3 +102,10 @@ int __init arch_parse_dom0less_node(struct dt_device_node *node,
 
     return 0;
 }
+
+int __init arch_handle_passthrough_prop(struct kernel_info *kinfo,
+                                        struct dt_device_node *node)
+{
+    /* Nothing specific to do for now */
+    return 0;
+}
diff --git a/xen/arch/riscv/domain-build.c b/xen/arch/riscv/domain-build.c
index 4c21ef37a6e1..df4d90e1410a 100644
--- a/xen/arch/riscv/domain-build.c
+++ b/xen/arch/riscv/domain-build.c
@@ -156,9 +156,22 @@ int __init make_cpus_node(const struct domain *d, struct kernel_info *kinfo)
     return fdt_end_node(fdt);
 }
 
+int __init construct_hwdom(struct kernel_info *kinfo,
+                           const struct dt_device_node *node)
+{
+    return -EOPNOTSUPP;
+}
+
 int __init make_timer_node(const struct kernel_info *kinfo)
 {
     /* There is no need for timer node for RISC-V. */
 
     return 0;
 }
+
+int __init make_hypervisor_node(struct domain *d,
+                                const struct kernel_info *kinfo,
+                                int addrcells, int sizecells)
+{
+    return -EOPNOTSUPP;
+}
diff --git a/xen/arch/riscv/include/asm/guest-layout.h b/xen/arch/riscv/include/asm/guest-layout.h
index 2e5762af863f..757285392d46 100644
--- a/xen/arch/riscv/include/asm/guest-layout.h
+++ b/xen/arch/riscv/include/asm/guest-layout.h
@@ -24,4 +24,7 @@
 #define GUEST_RAM_BANK_BASES   { GUEST_RAM0_BASE, GUEST_RAM1_BASE }
 #define GUEST_RAM_BANK_SIZES   { GUEST_RAM0_SIZE, GUEST_RAM1_SIZE }
 
+#define GUEST_MAGIC_BASE  _ULL(0x79000000)
+#define GUEST_MAGIC_SIZE  _ULL(0x01000000)
+
 #endif /* ASM_RISCV_GUEST_LAYOUT_H */
diff --git a/xen/arch/riscv/include/asm/setup.h b/xen/arch/riscv/include/asm/setup.h
index 2215894cfbb1..678b65ac1e54 100644
--- a/xen/arch/riscv/include/asm/setup.h
+++ b/xen/arch/riscv/include/asm/setup.h
@@ -5,7 +5,9 @@
 
 #include <xen/types.h>
 
-#define max_init_domid (0)
+#include <public/xen.h>
+
+extern domid_t max_init_domid;
 
 void setup_mm(void);
 
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index c3e98733ebc3..b8fa004cbf25 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -33,6 +33,8 @@
 #include <asm/traps.h>
 #include <asm/vsbi.h>
 
+domid_t __initdata max_init_domid;
+
 /* Xen stack for bringing up the first CPU. */
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
     __aligned(STACK_SIZE);
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:18:56 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:18:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340116.1601251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoIF-0007lb-HK; Wed, 17 Jun 2026 11:18:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340116.1601251; Wed, 17 Jun 2026 11: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 1wZoIE-0007hM-1l; Wed, 17 Jun 2026 11:18:50 +0000
Received: by outflank-mailman (input) for mailman id 1340116;
 Wed, 17 Jun 2026 11:18:28 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoHr-00049U-89
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:18:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoHq-003J0D-FR
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:18:26 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328279-bab6-0a2a0a5309dd-0a2a4504a088-26
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:26 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328282-1dec-0a2a45040019-d1558031bc18-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:18:26 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-4921eed3fa2so38395805e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:18:26 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa3a8efsm151319985e9.2.2026.06.17.04.18.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jun 2026 04:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695106; x=1782299906; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LAKichfwvXiqlJdvvQBNjiMjpG5MCqx/29voflyMUog=;
        b=hA9PlVgck2nFu7OaJPeTnpRkkPvmKjxL2s1G1npZYM9/mmXozPu/31CLB2+rJalhIU
         paQIVaehNqEBWoNT3cp04iIznPQShXWHN4uR3cpym5YnQQunudBnQgnoxt6YmcYeh3MR
         cLFmfHXxhi+8/M/ysE67Yn8puByNjcGaxTPKyu50mu3VN1N2h4ep++OEmwIS40YReEc4
         CH7L2O85IhKplFnS8S5o2sSLrjUX7EBWHqX41Q64oCcItHtRNpb6qu8QhZpUUMoa2Iz5
         fWEqew1/mJhLwQ4bNICrBFyN4xDQnNk7wZFGRSc/YdU7bjCXVgI5MQoUFKq3zXO9DBk4
         sTvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695106; x=1782299906;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=LAKichfwvXiqlJdvvQBNjiMjpG5MCqx/29voflyMUog=;
        b=n8hf5vWYIjMD4dm8VABQ/sHbynLRA1XzaEro/+KZST0eq2jmOH4gHX1BNsav6ZK90V
         95LIPaU0qPnq7InLUZxwhoxNvWzTnny+5RPaHBFTuwLcGjljTFAY7IsrI1ClBrCPU9rc
         Za9YMhacNRwO/1yjJVcXsH4SosIZXpuPy2y0nvxVVRxMmjR9abR4YJMKr2nTRFHDeEW+
         wXde3BHU3epkboUD6UE+PCHvxB3IqXdQFObBHGNCVZ/fV2qTcDKvv+5U11ta+SJm6+4H
         fGJ3IH0jGHTYEMbK5X2GmydHeVT6+MwLNnPd0hz/KiIwo8Ia+vY4S3I5p3GkZw5CwR/V
         Vl7Q==
X-Gm-Message-State: AOJu0YzgMGWnzlrV6SHp1NgaHUwWdJhHJ1sow0einnRxDMWypFc4DP6Z
	AK7QQfS9PRbEDJG5Czx6woSehzMy/k+wQqdIqwYMORKsyyx+J4CJv+GjMnHq9Q==
X-Gm-Gg: Acq92OFhNjptczDFGOxrtem7NZ89Q1s8t9GCI+BYA6LMHpIvtiYFSyxhM3z9/ZZBQ8k
	jXWHyyczRP7R6aHG5N2LWDS6p99GcZW2QyHeadrD7UeD+HyOHaTodAJErdhAzw86LxoBUcJ2VnL
	kvCI8h0ti0YxlsQpVDb11IX0sKD/5mptOXfmzfu2Nr/1HSwwWMAuhgMRoSZQ+ly2m5A+7rLO95d
	iCVRPAyZIHtYprsk5y/Eb1T+/urdppFV83IbLoxBRfCFtKZoNiiviYYYLwBqSHNgTXoJaIxuE8j
	M3fF/zdQ8JDgphht9BlIl0tqwHj3Pje3/juZwLy6uCs8MVv5N6iS0JvP56ZfuB3qGNK1Jjy6HoC
	BC7ROA1Pe06RPbJWc9iyW6QgBWHKgtRt51D25NvVRqTIxHk+vXwJrqru85oYTghU23gy09nagWR
	hCqRnp6OOjkc4BlYggS3c9rAN8Y3Lkf+pwWW47xpU1rWD2bWs4OKpW77oa7w==
X-Received: by 2002:a05:600c:590c:b0:490:b58a:dcc1 with SMTP id 5b1f17b1804b1-49234139cdamr30781995e9.29.1781695105673;
        Wed, 17 Jun 2026 04:18:25 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	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>
Subject: [PATCH v3 22/23] xen/Kconfig: introduce HAS_STATIC_MEMORY
Date: Wed, 17 Jun 2026 13:17:50 +0200
Message-ID: <22c02e188a0b38806f08b7a87f00f03c14aad742.1781693963.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1781693963.git.oleksii.kurochko@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ebf023/1781695106-411763FF-9ED0E3E4/10/73395122804
X-purgate-type: spam
X-purgate-size: 1677

Architectures that implement guest_physmap_add_pages() select
HAS_STATIC_MEMORY; STATIC_MEMORY then depends on it.  ARM selects the
new flag; RISC-V does not, so CONFIG_STATIC_MEMORY is unavailable there
and randconfig builds no longer require an explicit STATIC_MEMORY=n
override to avoid a compilation error.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v3:
 - New patch.
---
---
 xen/arch/arm/Kconfig | 1 +
 xen/common/Kconfig   | 5 ++++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 683ab7d25a1e..d748404e82da 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -22,6 +22,7 @@ config ARM
 	select HAS_GRANT_CACHE_FLUSH if GRANT_TABLE
 	select HAS_SHARED_INFO
 	select HAS_STACK_PROTECTOR
+	select HAS_STATIC_MEMORY
 	select HAS_UBSAN
 
 config ARCH_DEFCONFIG
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 8b48d84c79e8..6e24f7f4e43b 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -161,6 +161,9 @@ config HAS_SCHED_GRANULARITY
 config HAS_SHARED_INFO
 	bool
 
+config HAS_STATIC_MEMORY
+	bool
+
 config HAS_SOFT_RESET
 	bool
 
@@ -196,7 +199,7 @@ config NUMA
 
 config STATIC_MEMORY
 	bool "Static Allocation Support (UNSUPPORTED)" if UNSUPPORTED
-	depends on DOM0LESS_BOOT && HAS_DEVICE_TREE_DISCOVERY
+	depends on HAS_STATIC_MEMORY && DOM0LESS_BOOT && HAS_DEVICE_TREE_DISCOVERY
 	help
 	  Static Allocation refers to system or sub-system(domains) for
 	  which memory areas are pre-defined by configuration using physical
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:20:59 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:20:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340227.1601293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoKI-0005QQ-RR; Wed, 17 Jun 2026 11:20:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340227.1601293; Wed, 17 Jun 2026 11:20: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 1wZoKI-0005QH-Os; Wed, 17 Jun 2026 11:20:58 +0000
Received: by outflank-mailman (input) for mailman id 1340227;
 Wed, 17 Jun 2026 11:20:57 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wZoKH-0005Pd-OQ
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:20:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoKH-003Jhs-58
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:20:57 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3282fe-2eae-0a2a0a5409dd-0a2a45048a36-40
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:20:57 +0200
Received: from [52.101.46.34]
 (helo=CO1PR03CU002.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a328317-1dec-0a2a45040019-34652e229b39-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:20:56 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by PH9PR03MB972008.namprd03.prod.outlook.com (2603:10b6:510:3eb::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Wed, 17 Jun
 2026 11:20:53 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0139.009; Wed, 17 Jun 2026
 11:20: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jVgZYZ2KRQ+nS65MafRQFAUj2/HbFMAVAXlB2deFPDt+DGr0sjgPLXp7XwwqfEsmDLfKMXi7SdKlKECqd2Unt6dgDXM5imk8eBAVmQi48TgcIrg/FfYpP7erVQ/bcN0hcOkNSGPdonqvr1qoBE1bmWQzDt0voxhfOQh8Ife4Ei2XiSuQulW4oTzOlV+1eObGWGgX+JuwB4Yxeautsbf9MdIIcvW/5YVeQEOgkBvJBOTSRf4CjvKS6w1sItuVg5tGqKpvlPQnIixpPsk+czjZEbw2StuNSE53rnW5cVk4MrifoQQzV5OKfXztCoNgqLWp3Ms4V+j49ZUtpecrDWlnOQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EBU13pduP7EMevZOpWZXELLKNFrOhywdifCQRkuYP6M=;
 b=ZK20CPCrNertaG+FT2aQJiFf/Tjl/8Xe3Y+2C5ucGzdDhO0zq/gxnVvS0duEn7FqyeHmbUkeh4bagkIE3sHS8tniHa4sBI3oZemRZ5KLl+R6wCQfRpkAw90xoxQk8jEv3tyArb2yBamGYL1Y6ZdgmsuBht/GCkhwC1x/m4MvExnHT36sMDQSGL5flhGY+e8IGqyzsSXSljaNmqpn2+iTq0/h78ZwFu8l1ag4qV+d+dIOyMBM6kUPOt8As6IU1WH5Sv6Z5U4QEmAmWLv/LjMtDAJ4pX2YOdduvT3SAHvo56lcK0dY3VyodI6NJXUf1oHSqIdnsNXyuJsXRcDG0hz/dw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EBU13pduP7EMevZOpWZXELLKNFrOhywdifCQRkuYP6M=;
 b=UbiDKyXZloCE5p5R9lRopzpO72GxgLsgYeGQZ785MMvfzIf6BalhtkCjs2NDtG4zY7S7jFrJVyZU/Z+olO9wNTqNH0JGSntC5edsJ9rqa4kiazFXTpw1654eK5hF+SmrOC7+ozT4VFu4TMqH1zfnldhR+7wbBCO1oacD+126Y80=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 17 Jun 2026 13:20:47 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Daniel Smith <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v2 for-4.22? 3/7] domctl: move early special casing of
 XEN_DOMCTL_shadow_op
Message-ID: <ajKDDzsGwQLmkFDY@macbook.local>
References: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@suse.com>
 <51050157-236a-44dc-93c5-8b52a31a3e62@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <51050157-236a-44dc-93c5-8b52a31a3e62@suse.com>
X-ClientProxiedBy: MR2P264CA0150.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:1::13) To BY1PR03MB7875.namprd03.prod.outlook.com
 (2603:10b6:a03:5b1::10)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|PH9PR03MB972008:EE_
X-MS-Office365-Filtering-Correlation-Id: a422bf48-79e7-45e3-b4c6-08decc627d48
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|1800799024|376014|366016|56012099006|5023799004|11063799006|6133799003|22082099003|18002099003|4143699003;
X-Microsoft-Antispam-Message-Info:
	Sy+0sSaZiDMoF0Gw3whWbgD0KbScyifOJ0MvgE4kEzzoTbtCGnnKXkWBQpiGZRKbfvex+55neiHi0K3Sj2UJ5ZReGAFR1rdgWuavmPk633QQ4KplOoLLtgF9OV7OG62sPuxSEnW+TCkw+NMU1hLt249N0scE+ncpEVQrnHiToyz7/DqcNU67i5PDIH5ly7AvBA5obPP+c6C+CPQjnAAC2OddUBGo+E5yO8PNO/+dIwq+2aETJ0yDuXgr3DBEB3uO8jmhv7RcLkYxq8N1GjSwOBvK/bH+jtaORPKY0NZ6XEbyAmsGP19+YK4GZWCZsmEKiehGaZ5nqbD29Wa8vHSUk3hTdapIUJdsgKZmbmy0SbTnFFhKj/jRmQz1e6RC+CU/Tby7SthtFXWPV+wO61ZamBzJ56iRsmSm7kEHipZCUI6u1FGIpB6PahTnrtOYyOM88Krk4K4m1JaDXNz7s1sbFNOpxbZVRWrahYTX8aqxMCkvlmwpAqTQi9UYckDLmtmmiBtPl6UILLp0PdXwGNw0zh0oj0VbmoLVKKyJQXRiHTWZnCjkvdFb1pzkADiwb+c9GFs+Brelp4LQKX877OIdU14dUowKBe9GOz2ngNfNOnvIwfMZJKyEzSWxXkh3hWiELfOba8DwCQohSAJxzVcuKlHwnOTvAqTKMdbJKn46H58D/QYfO7Ib52p9M0NbrDlZ
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(376014)(366016)(56012099006)(5023799004)(11063799006)(6133799003)(22082099003)(18002099003)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cXRFSmI3Z0tlcjRyK01lRDI1cFdUbS9pUmVLK3Y4UUJKSU1LV3QxMTJmU1Nz?=
 =?utf-8?B?N1FjUWV0WHNKOUtsVy80UHc3djd0VzZZbFFYUFZQMm5sRE1GQVh4SjZuTHdy?=
 =?utf-8?B?bktwVGtabWZMSWorZU51bm4xazIraVpDdHZmVUp4cU0rYUhsVmo5VHFwQWhC?=
 =?utf-8?B?YnJVTFZyZG5qaDVNTWdLclZ6THc2VThlYWZTMlkrdWtLYno3YWFuWDRTdUxH?=
 =?utf-8?B?TzlRcjMxRlprMkg0MnhuRHZobVVhK3ZhY1RCcldoUUJNYldiR1NwdWdGR0Y2?=
 =?utf-8?B?TlRrbXpnUCtYeER5aGpRQmIxSEthamEyYzYxaktBMkZ3b0hpMUxkRXJRWkdv?=
 =?utf-8?B?WEFVQk9teWtjWU1XMU0vTHB2azZwT1FBV21ndzVibFlGSGZnZWgyMmJ0RWhW?=
 =?utf-8?B?TDlMN2NEZGhCVXVDd1RFa3RRUzBnRmRqcWlBbENUQkc1dk1nMHF4RlVycU1P?=
 =?utf-8?B?QlgycmtwSHZVRUxTK3BVSTBxSTNqWlpqdFhCOVFHSDFFOWRwanNxUDFvcUZl?=
 =?utf-8?B?dm5XbzB2cldBRFFUQi91UzVnNndpbVlRamtROFJFdzVQWUVQVnltb25ERDNi?=
 =?utf-8?B?czlwY3VDSndZK2NnNENLRllDOTNBR081dzJRRWF3WENldWlGWGxmNFhFa1hP?=
 =?utf-8?B?ZGw5eGovOFZLb01ZNFN0NlFqUVNjZkJQQTJTSis1OUErYk1MR3lQZnJCZi9B?=
 =?utf-8?B?bGxmT0k5ODdBbk50QUFvZWIvUVJ1Q0ttZEh0NFBTWit5REhnQWlVanpCNmdy?=
 =?utf-8?B?UkZ0THhjS0xSVE84V2dnd1ZNeWJUYUg0MUxJV0NCemFsZENPS0lYSnVsN1c1?=
 =?utf-8?B?S2d2ZTY2eTR5ejF4SHRYdzhYY0g4NWRML2lXYXNjMGtxWmpKOTh2dGZSMUVh?=
 =?utf-8?B?bVl0aTFTc3ExMVA1cmFqSml0ZmdCM1NtcXZ3VVpFMWJOQU00MWd1TXZzajly?=
 =?utf-8?B?a0RaTko3VXZtM2xYdC9xd3doVXIyVTBHNm5DdmZPZUNNQWl6dnBKYzVyRW1h?=
 =?utf-8?B?ZkZtNGQrTWw1TktCeW94eWZIWmtuN1RyOEJTRzhVN1IzTm04MFc3NUpuY0k4?=
 =?utf-8?B?bm55VTFOek9kRlZJMDJKRGY2aEdPZUlvbytueHVyenp6SHJSVTJyRU1MSzVi?=
 =?utf-8?B?MkdITFZaVUQxbU1nT1ZIdnJFd1NRNlUweWZQSDczVFBwQTJtNElQZThFTEY3?=
 =?utf-8?B?Nm5IaUdJa2RFM2JBanNYMlZlUGN3RVUrVGZXQ3VkcEkxQk1aUG5OSzk3MGE4?=
 =?utf-8?B?eFpHcFNXR1hwSHpWZ1NjSmFGaS83OVQvWHUyS2FYalRUWmlFb0tWSnVJMnp2?=
 =?utf-8?B?SUs5MHF2Zk01RERVdVdxVzNObDZwRzVzK2JXd3p3c3ZndUNYc3prZXhHbk14?=
 =?utf-8?B?UDZOK2lTUmJlREE5UlFNcmxCcXpPSEpuR3RhaUpMYk1IK2M3ZGozd1ZJaUl4?=
 =?utf-8?B?bklDZlRZOVgrWEhFVW5sT1VVc1U5M1BUVUNaR2hoUjRGTUsyVWhqaGUwRDF2?=
 =?utf-8?B?Rlk5VTNJTDRHWkJ6S0MrV3BEMkdnSDYvbjVGaXNMSyt3Wkg4VGQ1V3crSzM3?=
 =?utf-8?B?MmF3NmNFcEVzYkl1dEUzOG9aTDFpNHE4WVJlVG1RV3ZlNHJZa21zKy9nRGtr?=
 =?utf-8?B?NFFDZGVEUXh3OUJUb1E1d3MwMVZXMjR4bWw4WDg2b1JkM1ZVQ2ZvQkV6em8v?=
 =?utf-8?B?M0QxRGF3T2x0d3NtUWducnFUMkllSWRaN1Vlb1MraHFaZzVibG1nOVhoRWhp?=
 =?utf-8?B?SkZ1MVF0YXRPZTlaYVloTlJNRXRZVDVCSUpuL2RJajdZLzhieEhTL2NKcUhS?=
 =?utf-8?B?WkoxQ3hjQlYxWmxWSkdEeGQ1VG9JQlRQWGoyYXJHR2VoMkIyRkUrTVI4YnFS?=
 =?utf-8?B?QjNYN1kxbjBoWnZPMFVMUmxXb2xzMWFhUEUxU0JHcHd4eWxaSXlJOUJpUFhp?=
 =?utf-8?B?YTFHeVNEbDJ6Vnd4UHQzZUtnOS9lRnVTdmtkd05VQ1E0Z1M4NEtrK3pOQjhR?=
 =?utf-8?B?dFJDRG54TldQczBMc2RLbk5WSVJlUDZYZWlUZ09qSDR2RERKRmo3VE04b2tD?=
 =?utf-8?B?OVB6WjVIVXRlTG53YnYrQm9DYkpKd1k0eWkxNHlxVVBTZ3FxdTlKTWJ0ajVW?=
 =?utf-8?B?QkJzRGJvSzJoblJ5SllKUm4rTENQY241N3lJUklhRWJHaVNCTVlhejI2NzdM?=
 =?utf-8?B?UkN0a3JkUDNSeEV1aytLSE5OdnVMWUc4TElkbFhTVnlDQnk5NUd3VFdXZm1t?=
 =?utf-8?B?S09MdElGbmVxRDZFRVIveW1NV2FpZXM0aXg2RjMyMy8xdG1PUFhyN0gwZmNi?=
 =?utf-8?B?eE1SYkg3Y0VPdncySHdoNDBEZ2JnWS9Rb0dQQW1OZ3VDQ2lmWTU4QT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a422bf48-79e7-45e3-b4c6-08decc627d48
X-MS-Exchange-CrossTenant-AuthSource: BY1PR03MB7875.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2026 11:20:53.2246
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SweWM1U/4XZPTB2FWl/eaNN4Lga2cRUGpEo9alW1u9TCvmOwlgpOb3kPUGCdHotmyNCgyyj6VQvMVL2e91doRQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH9PR03MB972008
X-purgate-ID: tlsNG-ebf023/1781695257-4846A3FF-3141F0A6/0/0
X-purgate-type: clean
X-purgate-size: 372

On Wed, Jun 17, 2026 at 11:27:07AM +0200, Jan Beulich wrote:
> This wants xsm_domctl() invoked, but the domctl lock not taken. Move the
> handling to the respective switch(), thus eliminating the need for a
> separate xsm_domctl() invocation.
> 
> 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 Wed Jun 17 11:21:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:21:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340229.1601302 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoKR-0005iV-7i; Wed, 17 Jun 2026 11:21:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340229.1601302; Wed, 17 Jun 2026 11:21: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 1wZoKR-0005iL-47; Wed, 17 Jun 2026 11:21:07 +0000
Received: by outflank-mailman (input) for mailman id 1340229;
 Wed, 17 Jun 2026 11:21:05 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wZoKP-0005hW-Ok
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:21:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoKP-00DInK-52
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:21:05 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a328319-bab6-0a2a0a5309dd-0a2a4509e280-26
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:21:05 +0200
Received: from [52.101.43.37]
 (helo=SJ2PR03CU001.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a32831e-2497-0a2a45090019-34652b258d6b-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:21:04 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by PH0PR03MB989283.namprd03.prod.outlook.com (2603:10b6:510:3ba::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Wed, 17 Jun
 2026 11:21:00 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.009; Wed, 17 Jun 2026
 11:21: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=pCgVKN0WMgQEhUk4RHKZzMU2SvuYa+YlxlUTW9yfp3SEGA9zSoGvyL8IsoqdrT6XTjdKhKkY/1Gd6EIRBNgO3yrEO3WwxlT0qqO7Z9lDwc3TymfcvXOjpio4zwOY5vgKeDdnc8kh0KpKwfmWMocosp1hkDpN7pGgJa2CA6H09JVYA5nFnh8UkcXipsjO0gRf2SGQ5J+sLNJTDSctsbLVh56aPfs2Cd6yYae2djXf67KuxnBOB73/KmwIgO96x70tyDdzXxmN6Jr5SOi9lpvlZQtJKBY9zCOF7flgDbn/PjCgMa8eoAVJ6iFl+Yh8ahAdNr3lUpgIpxcsYWwboG7KRA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AVyKy8kBMuYCrvJMPR8E2iOl43DzdhZX99j2hN9t5u0=;
 b=b97L/agSqQss3Nt371bidn0/QcqTGCUs0nFf0uQBU4L2HG3fUoHWRYoNlfFb1hjjAI43ARFa7nPD9JDGXtHw/xQ4pHjqie57C8JbB691R2SvBFSifbAoe6BMCbWj4lvb9xF/IgnTrZ5ZiiwACQNJ8TopyLJFl18sYyESldFANIGaKwjWfmFGuVpaAs/gMZ3E9nYORxMqkMoGy8/4kS6Tko+ndQpwfkNa7GL3zfRn7/Lw7xhzljOhQwSyEx6N4XS1tdFPJZIGKGrzgrtIMdu9AaRrgi5rwLDem7NOcKkm8+WHdlAWqxyrW2Jva/wG5VMlgBnyGPxXzmyqv52SzvPtvA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AVyKy8kBMuYCrvJMPR8E2iOl43DzdhZX99j2hN9t5u0=;
 b=DMfDEAWDWX2BuqHcRuS/If3mDyrkIXKL/5p2Pb12bIGJsmqZjFLYfPBCHozfbwAERjgnOiUmYTGdKskkHOipH6rAvSc2pP+38qX0JJdSFed+k+MwKMrlyUwj8si682L333NpV4l3TItpO3vhM7bpSqd31pwAUZPlbSswb5kCB0c=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <26179fd5-15b8-4395-9808-447963180b7d@citrix.com>
Date: Wed, 17 Jun 2026 12:20:56 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Teddy Astie <teddy.astie@vates.tech>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22?] x86/EFI: arrange for non-discardable .reloc in
 xen.efi
To: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <652b57e0-42f8-47c8-b94d-df862874aba3@suse.com>
 <ajJ3C40FLsyBZn-U@macbook.local>
 <a307207f-7cf2-40fb-927f-bbaa841b94ba@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: <a307207f-7cf2-40fb-927f-bbaa841b94ba@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0284.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:38f::9) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|PH0PR03MB989283:EE_
X-MS-Office365-Filtering-Correlation-Id: d22bb601-c143-4485-8534-08decc6282b1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|366016|23010399003|22082099003|18002099003|3023799007|4143699003|5023799004|56012099006|11063799006|6133799003;
X-Microsoft-Antispam-Message-Info:
	KKT8vmPZ+deW4gUM3ct1+gJG3MQhkHGt01PEvEBiNFx9CMcgdSlOGW45bBi1dppBMdI4wSGQSJiAX70tctoEIDLiuKAVBbtlNtAOqsCEwfEnLk1tOai/ZHMw4DzOJMguCkmOqmULIcUJRit/QJxb7RjboO/w3YpFD3wLuS/x/95uSYf3B+BAmK7cTXZ5Y/wUCCwWnmVtH9TzonEy8zsiClgRjcNHfJE3Zfq4Rg62nMBPGt9G26EPWXEBIyjW0x5RhsnqSaS2e7TTd0iAy7itHnO7XVywWKwy9QxAQKt7F79BCU8Fsy2RclJemjB7+7UaCPPuXHMQ8RhIsJ/SaLO1nvJu6ZeEtPMpOAizUpakzcnmiKkvAXvekFtAD6e6J2r+YIaJvtnyglGa/j14bPaP7XTzYMWaxhaSPXIZG7JPiI3jEyjAd2QVzL1tLZsWH4I7YLdCHYJ6O5hYpbsLHubNEo5VcB6Gqeed7JG3dp9oNhi9nNQ7edGcqBBUGgLuOJHA52btOaYExbrmIMqp4JBI6Ng9U1Ju2Cz7F2tf3pAdeyDev5kBJAvmvdixSwxVKkgwTgt48h7ESANfBijnsPUqyG7WBjo8w9J2j+2LrdXspUT8hiKGw2eDoP5HoT79pXq3M6fRzboMKK1nJyXP40n/MN+LP7KjBhNbLGmVi/pr1DRIdC8Z8MTvJ1WcE0cqm9p7
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(23010399003)(22082099003)(18002099003)(3023799007)(4143699003)(5023799004)(56012099006)(11063799006)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aUd4TjVNdWdadW5wSzZ5d2t5Y1YyRDdUYlp1Nm9wQStLTUZGNlBBUGNmM1Zi?=
 =?utf-8?B?TGIxaCtUZ3ZOempidWoySE12eWlBMndvQ1FBcm5ueld3L0NRUk9TLzdwNnVH?=
 =?utf-8?B?SGU5TGxGRXV0dW82WkRaSGpvYm51T3hRVUErZGs0YUJRTHJMVUpQMjJuSk5j?=
 =?utf-8?B?QkNxcGlKSm1DdWtSQXRpajVEVGd4bVN3L0RNTGpmMm13ZVJHV01sWG9ScFYy?=
 =?utf-8?B?TG11ZVh2LzdieEYvdkZBMm9UOEFJNE1UbkRxYk9vd1AvblNnSnlJZEtzd0Mw?=
 =?utf-8?B?VmNVeTFtanV1V0R0cE8rSUdieXZEeDJ3aXU5NVhUUzJJM2Z3VFhIYkpTRmJW?=
 =?utf-8?B?bnRWVjIyb3pVOFFkQkVVTFpqeWcrbk1jNWRtK2RlWGQyTklBWEpiYWhZYU1O?=
 =?utf-8?B?aVlpZEhic2tXVjczM29NQjV4RFRyYWZtQng1MXQ0ZUlSR1FLOE9vZVM1SlBP?=
 =?utf-8?B?WGUvU0xhS2pvYk9nRElZUXFBL2k2cC9RV2hsZ2ZpMlNBZmZ1NDNTV3JUdDNB?=
 =?utf-8?B?UU9Ba0J2Q3l0dkpudlZHL1V5ekJxZ1BwYTZWSUpzckpaSXhLRVYwSldPTXFm?=
 =?utf-8?B?MkszbDhsOENhellJOXJtaytQSzV4eFF5VHVNbTRmMGgrY0svWlJ1YlpLM2tw?=
 =?utf-8?B?RjUzWmhkS1lFM0p3TVRENnNMMk1nRGwyaWJIbWU2MElXcUg4RVFRd1dGMGJ5?=
 =?utf-8?B?ZEpJMEFUWlNCemxQZmpRVS8wNjh0TXJuYnl4VFN2czlnb2FOSCtjRGtIUlls?=
 =?utf-8?B?ZXhJaDllMXY1cVQ0Nll3UW94T3ZoSS90S210bGhESnNNYWVjNTdjajNpMWcz?=
 =?utf-8?B?T0lOZ1hnNmZDSnd5WExTVjNrdlpWbWk3WHNlR0NsNkxicWpFZk91d0duWjkx?=
 =?utf-8?B?WlZEdW4zZ1RHc0kwN1JjZ3ZOWGV6WjkxdDZVVzgyV1VSSWVnVGRwV1ExSVJm?=
 =?utf-8?B?WmdMZUI5YldGRUlJRVlvNWp2ZHRKYlNEYm05d3YzS3FEN3RtVlhZMC9qMXhM?=
 =?utf-8?B?eHFOcER5K2RIQnRzMFFIanowcEhKZjNoOXdxRUF5VG5leVlXTUI4RDF2d2U5?=
 =?utf-8?B?eG5nYkVJRmI4OUhac25OS0o2OVpKdHdKeWVHcXpML1MvcDhLdTZlRE1ybUMx?=
 =?utf-8?B?MURFVFhPNk1idjRQQnM3eDhjcmo0b0tLVkZkcXJoakt4bnpTT0grdWY3aW1p?=
 =?utf-8?B?WFlqZEFHL3ZZSEg5WE1DOFJuaDBLSmx4QkZKR0MwUFBUTjdUU0ZnN0xjZnlI?=
 =?utf-8?B?WUErQ1BaN3F2R1d1cEN6V3lNYnBtVDdrQmhlbkIxYWdzZjFlQkIzaUEzYm1H?=
 =?utf-8?B?dGd2M3M3WkZXcUY1YlYyYWVEakVabVl4bkJBVStqakE2bUt4U0ZDaGZvNlBo?=
 =?utf-8?B?K3lXOXpXTjdtV1FweDJDUkpEQ2FJcnRQYktCbjNqbXZLWitTVHM0aVAxZ016?=
 =?utf-8?B?dXhCUDZSMysyaG9LV0xTckExMFplZXI0c3g2R1hJQlZmR0c0YWZ0L2ZLa0FN?=
 =?utf-8?B?VTdHSXA5WEVXU3YxYkg5VitxQkQvWFpXNFg4Yk1XeGlnbDNla2dDbzB6NXhy?=
 =?utf-8?B?MVNqcno4dTcrMGxUc2luamhicnFOc1FnbHlzVHN0d0tDeUFlUHY0ai9oTjVj?=
 =?utf-8?B?bXJOdGR5aTBNUW81RXlSa3A4OFBKUTBMcmRJZE5Xc1lySWpkSVN1Tld2eldu?=
 =?utf-8?B?bTBDelduWG5PQzJBUlpla2E4ZjROQUdvd2tPOTdMOVY4TlBSYTU4WmNIZTVw?=
 =?utf-8?B?cnBwc2lqT1llVlYyYTdqYnlVdVdxVVBtcklpZzJUOTFiR0VzazQxZDdicHhZ?=
 =?utf-8?B?d1ZSREZiQzY5Y09DYlBReWhsaUxxS3ppMjQ2VzVrZDZNbCs5aUszWTNXN1Nq?=
 =?utf-8?B?V1FyYVJIbjFWbGtEVUw2QmJIN1hJRzVQSnVqQTR6VFdMSllKTXF0UFBkMXF1?=
 =?utf-8?B?RmFVWlZBWUV1UGdmUDVoM0I0aWFncG8vbk52dE51ZzMzSjM4VVZkSktMZCtr?=
 =?utf-8?B?TzQ1VjVlYitGRU1JV05OQ3pMc0ExR24wTDlnaHJhQmRKQlZIcVBrOVJSbkU4?=
 =?utf-8?B?WTlYNTFGcnUyZ2ZRNWJnQ2V3YjBsWitOdndCUkttSWVqVGJYSFFkanNKL21C?=
 =?utf-8?B?TU1UcnVZYVJYZVk5Tk5SQmJXZzhIdm92cjR3MXdBUjRrdlBzSGVROVdqUzlz?=
 =?utf-8?B?cGo3WWdJVjNQM2wrblJPQWRkbVRnYkJSdFRmUmdrN0xJSlR2cUFYbjlMaVpE?=
 =?utf-8?B?dmh3dElFMnR0R3NnSnoxcFg1dkRFeWxDREQ3N09LN255MUhhR3Rsa1lSVEVO?=
 =?utf-8?B?UlFRV1p1dEI2eW1NWmJMYW55OXljRXZuSWhhZVJxT0g1eTRFZURHY2czQlRB?=
 =?utf-8?Q?BlHPhBCjagpNVONQ=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d22bb601-c143-4485-8534-08decc6282b1
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2026 11:21:00.5771
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: S82GD8s400omEqmZuKn4evGoxNmYGy07E3LmTmtjhK54pv1CVwxPmiq4kwFy7QKGOx+hqoa9W4rmRZ9sOCMqGsQnp9qK+isMAtvE9B70+jg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB989283
X-purgate-ID: tlsNG-bad1c0/1781695264-42F76A53-EE2991A9/0/0
X-purgate-type: clean
X-purgate-size: 1552

On 17/06/2026 11:37 am, Jan Beulich wrote:
> On 17.06.2026 12:29, Roger Pau MonnÃ© wrote:
>> On Tue, Jun 16, 2026 at 06:17:54PM +0200, Jan Beulich wrote:
>>> Loaders respecting IMAGE_SCN_MEM_DISCARDABLE would not load such sections,
>>> yet we need to access it ourselves when switching out of "physical mode".
>>> Leverage behavior new to GNU ld 2.46: Any contribution to .reloc which
>>> doesn't have the discardable flag set (which cannot even be expressed in
>>> ELF) will yield the output section also non-discardable.
>>>
>>> Since for intermediate binaries we don't care about section attributes,
>>> link in the new object only on the final linking pass.
>> I'm not sure I follow.  Xen already does generate a custom .reloc
>> section without the IMAGE_SCN_MEM_DISCARDABLE attribute when using
>> the mkreloc utility, and hence the .reloc section should never be
>> marked as discardable?
> mkreloc is used only when we recognize the linker to be incapable of
> producing (correct) base relocations.

I wasn't even aware of that behaviour.

So we've got even more completely undocumented and obscure toolchain
restrictions and behaviours.

What else?Â  It needs at least enumerating somewhere so people stand a
chance of being able figure out which toolstack they need in order to
get a functioning xen.efi.

I'm going to insist that a doc happens, and that this patch patches it
adding in the Binutils 2.46 requirement.

But I'll write the doc if you can summarise the other checks I'm not
aware of.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:24:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:24:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340266.1601310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoNZ-0006eR-Mb; Wed, 17 Jun 2026 11:24:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340266.1601310; Wed, 17 Jun 2026 11: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 1wZoNZ-0006eK-Jr; Wed, 17 Jun 2026 11:24:21 +0000
Received: by outflank-mailman (input) for mailman id 1340266;
 Wed, 17 Jun 2026 11:24:20 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoNY-0006eE-1A
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:24:20 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoNX-00Cpbt-62
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:24:19 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3283de-5cb7-0a2a0a5109dd-0a2a450bbf84-38
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:24:19 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3283e2-212f-0a2a450b0019-d1558034c560-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:24:19 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-490ae94a89eso48572925e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:24:19 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2e6a8fsm54072488f8f.37.2026.06.17.04.24.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 04:24: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695458; x=1782300258; 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=lBocIvoUleMZb+LC/S6F/0Ytgt4h7hzLS/5y+YIK+pg=;
        b=DkPtUucGefwOWNjD5Srdi0qG8RLvY0NN2j0qTBZadKu96s8eHx5GuB3VJcCvWUtGzC
         5XV8JgNMc6yttEtbFEMprXGPuP9ygQxZVRVt+mlV5oCZkV/zoyjpqy0mRdeHMlJXK1O3
         gNI1nrSNJfl62QlvaRNNhWUJCfMk0xeJHnweT7V8AgFuaVriSZLuytoFp30x3T6KL8LQ
         0xvt4KsTEJMS1jYPedhTAQUF7hbtAOgfIvZAnPyWvMBU4s3Ad3AnjgNApMrxv081B3oL
         hBRhvZx4Q9gq8Zp4ubBrmOBfAK2ICRYKS0xP4qij/4k7IksJCU1dYr1ty+cQXhXhFRXf
         LrOQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695458; x=1782300258;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=lBocIvoUleMZb+LC/S6F/0Ytgt4h7hzLS/5y+YIK+pg=;
        b=ioNEQWFALNJj1D5mlAaId2AjGk9IHxpbkU5ZCn3fl3iamt32CJz6EMTcT1RXMEjfRe
         GgEe0uoEcu3woUt41l2VGG3AjY1wQtJBs4MX2eOYXyP6pcrHf0XfSrLL9ynBbi3iNhjC
         y5WCiK2B/GKPpbftsFN7puoePxVOSJcXp/ftwRALgUmz4oWVFFcQk5eaEdRg/uYraNY3
         Qb8hHjBnDHv3imn1laj//7hht0MzQb+ydZvSSPMb16tEpZwoMtowGyME6TEV+KHyNf4Z
         QfLBR7gKh8L5wgJFGIeaWd5OidBvQRqD9rWDGiYbgpNu9XGFGvtBeDygTzvV/rf9j9AN
         Qt5A==
X-Gm-Message-State: AOJu0YyvLN/3VqfUxFac6dfH7rRdUCUCkXzFtQLN8wv19qfcjPXDmSac
	IjaFNRdm8X9aIcEYTJxQ5Rba3Rkh5sSyQ6QT0MELstme4ggj5dVOcOlJSpsMLA==
X-Gm-Gg: Acq92OEmRcruIl8F9yIKmxlCJ/rGppIfSWk4kTY8B7AurWISuTQqV9nDzeX3zBPeq4x
	ZSi/bl05spnn1bSKLWdfhodmHiBSFQAaxXG4SDXK30eDC1MNfgHlwEOZg2HmC8Divxzrd3Nx1Do
	a2yCp7ZcNYlhepB1MwJsVr4XoZrGVCh73Hy6Is8qv50kbVShDfg9aAPVc7yiCFVvqmM0Hklcmnm
	0wyasAYkn8GXdIXgyqyBDBjKS2DgcKgzV53Mj4tmDBQ6u1CYXITLPrFNXn2l9uphMubyq138/ac
	U/Bp7eCSG74kZXUpRagCiTb6jKNx7etVyV0VgD55lIhvJQ1DgULhNCV3jd8ZwwxVqiCyKZGE/Aa
	7iHhVcdXMKwoAaCaneL0o34/Zlhk6hURRWiIe+gCHo/9t8EwrMpt8YfYJ2JPMPzypdfMdrTnfBg
	rww3EWS+AvsdWN2ipOa3aT7irDrRaggkhldy8RvmPd5dOt7DAkxb973nSoMXdLkjW4Dfk=
X-Received: by 2002:a05:600c:818f:b0:490:50eb:b777 with SMTP id 5b1f17b1804b1-492333ba2d8mr66733985e9.5.1781695458375;
        Wed, 17 Jun 2026 04:24:18 -0700 (PDT)
Message-ID: <a6f322e4-f5a6-48e1-bf6f-bb7739e14430@gmail.com>
Date: Wed, 17 Jun 2026 13:24:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 16/23] xen/riscv: generate IMSIC DT node for guest
 domains
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
 <18938bb8845fa91315e320f88d17147592aba51c.1781693963.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <18938bb8845fa91315e320f88d17147592aba51c.1781693963.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1781695459-22589F3B-E2EB1D2E/10/73395122804
X-purgate-type: spam
X-purgate-size: 349



On 6/17/26 1:17 PM, Oleksii Kurochko wrote:
> --- a/xen/arch/riscv/include/asm/guest-layout.h
> +++ b/xen/arch/riscv/include/asm/guest-layout.h
> @@ -3,6 +3,8 @@
>   
>   #include <public/xen.h>
>   
> +#define GUEST_IMSIC_S_BASE __ULL(0x28000000)

It should be here _ULL(...) or even _UL().

Sorry for inconvenience.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:24:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:24:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340270.1601319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoNw-00073s-Ub; Wed, 17 Jun 2026 11:24:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340270.1601319; Wed, 17 Jun 2026 11: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 1wZoNw-00073l-Rf; Wed, 17 Jun 2026 11:24:44 +0000
Received: by outflank-mailman (input) for mailman id 1340270;
 Wed, 17 Jun 2026 11:24:44 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoNw-00073Y-0v
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:24:44 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoNv-00FQkN-Cf
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:24:43 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3283e2-2eae-0a2a0a5409dd-0a2a4501e52e-28
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:24:43 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3283fb-c1f2-0a2a45010019-d1558035c128-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:24:43 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-49222b6e871so40865095e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:24:43 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa510e7sm183139075e9.7.2026.06.17.04.24.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781695483; x=1782300283; 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=gMmTDZAZQ5CYBrZ84kNhUKDDllyUx8mmPG2Ey5EmUQw=;
        b=JuRpvAtIKrjGIRq8YHu/T/yi8GHZ8i8E6uRbIPJZQg5OKAiC4zJ3i4SKGqquleBJNO
         bQbY7V4KgGz6ZlpKVhQxEng1WNUO3Lkzianl2yROluq7TX0HVnOq4nbQy7C7fU457qYA
         RUNqBFWuJLSdQSNan9iRXgxD8gHG6s3eoHuFgUXPkxdk4v7DlVHGyMlJ+T/F/1qLDdaK
         ovTAm3NYoQq90l3vNKG26if/r7bVWee+57ciZaOiGxCPk5bQAAINdz2paWiwjRFMx0MP
         uz46tzBS/6OH6k9fLx3YJWsfC+1pLS5XOPYde+bFRKk3KhrU1cMUdI390PVlCnO4rPki
         EeXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695483; x=1782300283;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=gMmTDZAZQ5CYBrZ84kNhUKDDllyUx8mmPG2Ey5EmUQw=;
        b=KZUOo9Bv4PbqHEptGB6io4CFJ7hILPDRerD/CMt6W2Tv5noTVgLrtOpIUi5W0fDQIC
         Lu96B0YC8ydGKQjAHYx+oacl86huFGub6YgjI7bpPeDF7HTuxgeSVCR2lSEF5ZaDgjPZ
         Y3Fa87duJ8bkgGwYRVSKCIADw/vf1Lv/it4Ws+qxQIItmelBOrrTgPFi6WzdnAFLlx/k
         UMGsiY+UxQsWZInDAOvE8e3qvrtnq/ugrXi8MoE3KzzdiEcK91a03aCqdwMN8suSDHCm
         rlQ2eO07j016JhlmrhktCDxbdio+1CrKZwG4678gRq/NTcz7yfBBFjFzyqH3guyFqyl3
         Rlhg==
X-Gm-Message-State: AOJu0Yx8K10aj3meEA5kqW1XrEMWuHG3hQdU/DbKsrzM9nCj0j7RDn3D
	Ak9gygJFv+yjcJ82tSJcn2sIRwAJAb8xDBNYdbF1/u8QYePC2vsfepv6cxqRcw==
X-Gm-Gg: Acq92OGB+2t+0P/GgclLomg0BspuD1JvUufh0nuStB1B6bkrc4iqtz8oERIPSUk7gFw
	h2HNXE42bm1j/LczbKZszWPSlsMr3of1blvpmm0tY5rtVBBOggdh0Z2ZONqtfBtPXJlFf4NOm5/
	vmZN4O0joqDMmcl+ETKrYD+zZTX9cNDksHaSRtP3uCgL4ykZW1CcXsAff18yPyfdns1fbEi7foL
	fxJknOGb4eHNONhdl+MXRaWPuL3tvL4y0GY33kXgJLSVZrQFTFt1rOEkrZ/W0NkuFOGWbJWAIlY
	QZhLboTVB4U2fP9lAQIUQr9ZETvMaN/K+yOZ2ylwZ9v60iqh47qSVIlIgEoX5Q1UKN+Ualk5xVh
	+tjlnLrj5zxU137r4mBfyKs0Py+ZyHcPoOmO8UemMlWwdC1xQ1eqB57chPTbeNHIkJqE18PYb0V
	z1kZyCr1QGedcQWca7nD32VkwNsE+1JWC0vES1aBIm2MnZvnr23ry8GFmRg7ESINsqGZzjnNP9+
	K8ZVw==
X-Received: by 2002:a05:600c:3541:b0:492:1f06:ec9b with SMTP id 5b1f17b1804b1-4923412f3bemr46205235e9.24.1781695482521;
        Wed, 17 Jun 2026 04:24:42 -0700 (PDT)
Message-ID: <ce811c62-3fb4-4389-b51b-1e01a1c0f0b5@gmail.com>
Date: Wed, 17 Jun 2026 13:24:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 17/23] xen/riscv: create APLIC DT node for guest
 domains
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
 <0b034d584b7aaec54b70e9e575c727b07930d2ed.1781693963.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <0b034d584b7aaec54b70e9e575c727b07930d2ed.1781693963.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1781695483-AC457FF4-891315CC/10/73395122804
X-purgate-type: spam
X-purgate-size: 353



On 6/17/26 1:17 PM, Oleksii Kurochko wrote:
> --- a/xen/arch/riscv/include/asm/guest-layout.h
> +++ b/xen/arch/riscv/include/asm/guest-layout.h
> @@ -3,6 +3,8 @@
>   
>   #include <public/xen.h>
>   
> +#define GUEST_APLIC_S_BASE __ULL(0xd000000)
> +

It should be here _ULL(...) or even _UL().

Sorry for inconvenience.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:26:53 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:26:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340278.1601329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoQ0-0007cs-AP; Wed, 17 Jun 2026 11:26:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340278.1601329; Wed, 17 Jun 2026 11:26:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoQ0-0007ck-73; Wed, 17 Jun 2026 11:26:52 +0000
Received: by outflank-mailman (input) for mailman id 1340278;
 Wed, 17 Jun 2026 11:26:51 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoPz-0007cb-8x
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:26:51 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoPy-008jwd-M7
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:26:50 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a328479-2eae-0a2a0a5409dd-0a2a450b9a86-14
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:26:50 +0200
Received: from [209.85.221.54] (helo=mail-wr1-f54.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a32847a-212f-0a2a450b0019-d155dd36a423-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:26:50 +0200
Received: by mail-wr1-f54.google.com with SMTP id
 ffacd0b85a97d-462cdb88d01so342699f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:26: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-4620b3ed0d2sm13058979f8f.22.2026.06.17.04.26.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 04:26:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781695610; x=1782300410; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=fL90O+qmwfXcnXK4xebo5Fd5mOdE/JIRioGBHwtm9nE=;
        b=Xmw+yq0O9dIzS4TmGFgqpUFynRroOiH1dAXT/S06RzLkpquf20cE0eihNpjD0GJPEb
         KT6cwUxQGCcyTUGHj6lXYHmianqgSUhA5k+qRzYmEBxTJLPLHuH5qkIkROkV8SqTwYVW
         KwIZbUofZZ9qSiVgWkJcRFBPjqJbXRrk8JScIAjhlj62xlCmNTJfGH6xSOpbe8CxuWyM
         T/uGKSbmz/Qbz3xFrMcLMIJzHj89HtEgSG1JBl792rCp63H23A+C7hRESzmioAArZHkW
         nNoSccN1Sow2DdZgKgGwK5h2vjyFo3+Mw0AfchV2uuicduSMbxctnyCLjVEt2AqRIM8X
         M3Nw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695610; x=1782300410;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fL90O+qmwfXcnXK4xebo5Fd5mOdE/JIRioGBHwtm9nE=;
        b=SfrXkBVxxo4WbKLWp1K34c2H9DwWpnulVeEu6W5Xx0JdIejn7Ne66lq7T5r/wYLKJb
         l213NszkyqaLzNEtxkG1ly4T2SC27LtHieLiKhkErQiH+PGvWg2DrR2LealhJig7RRLw
         xwLDKkdywQKSRjRGvJ78qKJDzLY2nGm6ZXzG7SEElMiWbyQ8RGCz+E9wroRvSqHCry3M
         Wco8Pi10zPzV4XtLC+HYXfPDyb0Em2EHpBSUgKPyZi5vMKe90iQsbOFQLI+GHCgsnKZ3
         NrEBKbyVbRm8bYL2lsB5C3vxPLidulIb1sWIibkmC075a5kDyIrHbGxt6JXbOXuIYqkn
         usrA==
X-Forwarded-Encrypted: i=1; AFNElJ/xSQUC/ftWGfZuC5efisj7Dg+9Ag7WuspGnD8dh4N6qNrtroq1OR6F3o77wkgwbnj6U1+zlIQVNZE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz4LQu15Ij/WY175ld52JWDKzKPmJXIHHx9o61bwjGyvQ4B6rVs
	hmN4tyJQIhu0OvuTWB72ziFAMYPO3fr8vHGRf3XIqYyLRPlQ2udQxeW5QtUFzuAfGw==
X-Gm-Gg: AfdE7cmG5DQ6gSeFXOBmOqhvMCARazIh67vKU+JaZdqUnJiL2hfxV3vLd1Z35+XuFuD
	MeMZ5m4gBYHZiJ/ih/K3SG6orH0o3A99S6ecZEyazhpj0H6gYbCedUKLHU8H3qHg2yB+w/dPc7d
	MLQxCgJx5GZFo00flgMeimfWUblYdmppbFl2OR/0cwjwfNez+vs9LEl34wkR4Fgn/NY48AKqizm
	f7Dr2Jmm9I3nsppUMKkp7jF1+5d3LQg86NSYEMi/kuJJRXwcW4bstDuxBP7WwdjwsaTlgVzIuea
	2fKjiqbjOBF3qBhWt78HnCiTwOmpjuAWugMhJbcjQUx+Bm1lqst5AkptZZlGtW3Wi1yQhbB82Ci
	0zI4WpzOwxgS0iCl9rUAYfLojc8HZXdVwHbTj7IWsoJ36eLEA4laqzwkzjRYOUYEPxKOYGm0JBY
	JI3OnyMVoYNq5aUlhTWgBzSSQcTJ+1YXp5iZMY1hQ0CV6tfTHIPUZ3mXMFHJwyS6ApJCltdUvnT
	B8DJogBvFBGJGI=
X-Received: by 2002:a05:6000:26cb:b0:460:d1e:a59a with SMTP id ffacd0b85a97d-462699af503mr4389027f8f.8.1781695609855;
        Wed, 17 Jun 2026 04:26:49 -0700 (PDT)
Message-ID: <cd91fa75-435b-4100-8932-99f3da5523a7@suse.com>
Date: Wed, 17 Jun 2026 13:26:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 04/23] xen/riscv: Implement construct_domain()
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <db630a8a003a1aa69e4edaf6d5f4994f18ac1354.1781693963.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: <db630a8a003a1aa69e4edaf6d5f4994f18ac1354.1781693963.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1781695610-1976AF3B-81B32720/10/73395122804
X-purgate-type: spam
X-purgate-size: 2196

On 17.06.2026 13:17, Oleksii Kurochko wrote:
> Implement construct_domain() function for RISC-V, which performs initial setup
> for the domain's first vCPU, loads the kernel, initrd, and device tree,
> and sets up guest CPU registers for boot.
> 
> It also creates additional vCPUs up to max_vcpus and assigns the device tree
> address and boot cpuid in registers.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in v3:
>  - s/%d/%u for printing vCPU index in the failure message.
>  - Drop dprintk() for successful vCPU creation.

My

Acked-by: Jan Beulich <jbeulich@suse.com>

was lost, however. One more remark:

> --- /dev/null
> +++ b/xen/arch/riscv/domain-build.c
> @@ -0,0 +1,50 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +
> +#include <xen/fdt-domain-build.h>
> +#include <xen/fdt-kernel.h>
> +#include <xen/init.h>
> +#include <xen/sched.h>
> +
> +#include <asm/current.h>
> +#include <asm/guest_access.h>
> +
> +int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
> +{
> +    struct vcpu *v = d->vcpu[0];
> +    struct cpu_user_regs *regs = vcpu_guest_cpu_user_regs(v);
> +
> +    BUG_ON(v->is_initialised);
> +
> +    /*
> +     * At the moment *_load() don't return value and will just panic()
> +     * inside.
> +     * TODO: it will be good to change that.
> +     */
> +    kernel_load(kinfo);
> +    initrd_load(kinfo, copy_to_guest_phys);
> +    dtb_load(kinfo, copy_to_guest_phys);
> +
> +    regs->sepc = kinfo->entry;
> +
> +    /* Guest boot cpuid = 0 */
> +    regs->a0 = 0;
> +    regs->a1 = kinfo->dtb_paddr;
> +
> +    for ( unsigned int i = 1; i < d->max_vcpus; i++ )
> +    {
> +        const struct vcpu *tmp_v = vcpu_create(d, i);
> +
> +        if ( !tmp_v )
> +        {
> +            printk("Failed to allocate %pd v%u\n", d, i);

If you dropped the blank before v%u, the output would match that of %pv
(improving the chances of people actually spotting that the exact same
thing is meant). Once again - can do the adjustment while committing,
provided you agree (and provided earlier patches gain the necessary
acks).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:30:30 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:30:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340291.1601337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoTL-0001Gz-Qn; Wed, 17 Jun 2026 11:30:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340291.1601337; Wed, 17 Jun 2026 11:30: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 1wZoTL-0001Gs-O6; Wed, 17 Jun 2026 11:30:19 +0000
Received: by outflank-mailman (input) for mailman id 1340291;
 Wed, 17 Jun 2026 11:30:18 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoTK-0001Gk-6P
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:30:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoTJ-00DKEh-6n
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:30:17 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a328543-2eae-0a2a0a5409dd-0a2a45048c34-22
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:30:17 +0200
Received: from [209.85.221.44] (helo=mail-wr1-f44.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a328548-1dec-0a2a45040019-d155dd2cddc5-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:30:17 +0200
Received: by mail-wr1-f44.google.com with SMTP id
 ffacd0b85a97d-45ef779c1c2so4225305f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:30: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-4606f26f4f6sm56763392f8f.16.2026.06.17.04.30.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 04:30: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781695816; x=1782300616; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ez8FrkamDyBjKiPnWX/H4gLQGwCKaR4KFMy7/d0KO2U=;
        b=NapAQ82iNcFLWHEooZ8ciauh2Rteug78VbN2PjlpeJLzxbSje3DAcQCYTuLjBo/xV+
         q4AhBfVowzs9aek6CPnGz/7ciOQCoDbSH7vU3Urp+55FFXA61YRqlnUgHxxsE/d7PDp0
         HCopgy3Rww4YQyzInpcHT00KZTQhsUhkLFZk8A9LY3jgyASvgzPeJCle+tLTwMkCXsDX
         a4yNP6jEC3v4/xwBThrnQPEsmCWpETVs3Em9xRASxGtFdoRFfCeh3mndh3Z/SFfaVG+2
         u6oqhtS61SwdxyWenIDRosvi2WJXjRF6n/JNOpLvpsirB+dIU6IySSgSrhqcA/4IAwHg
         Qsyw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781695816; x=1782300616;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ez8FrkamDyBjKiPnWX/H4gLQGwCKaR4KFMy7/d0KO2U=;
        b=HygofFeDL499YjQMzqVH5cZtYnLJWx4W89oQV+d2dCcaM74fcPXzL51My7x1yOjCNg
         WXdenxn35ZYbupyCaryjUeDg5qQNz0lobamLNraJGKRe7lFOTUFs6chClrB13DeW+fNm
         qDpbFYpq1dDMkIM6SEE1CRy627nbiP4DMCZwX7k+ANmY4ttkjFxRgzscIMqE0JP6tuYD
         YF2yYMMJsAAl7i/fuN40DcN3hjzFKdJkKogJ7aiZfKpcyGODJyMrwsGieC1jYaVqwcUN
         zu9F5F/sngHs8cjrUNWYSvp0Drigw7GbyMuDG1S7hDxc72Udbqaxz3IN7ir+kKJAqMkJ
         zhKg==
X-Forwarded-Encrypted: i=1; AFNElJ/N3xdt9qj96xe94VzQaoWLBP2Sqj9mJHetNFPPcvWkMyp73rQ0LNng74nJq4UX3nn9RbTcjQUAQ4c=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyygPW/0AxuhSqpuJmbUeBCIVUBz4a0yNefcn4Ztl5oXSLtp+8J
	dpeIyQtARFxgjHrhbgA33AvXrC7nZocpFZVFkRIJFXYvFt/LDiNtG3dywnQs7wefYg==
X-Gm-Gg: AfdE7cm7N6nyb/zd3BM2+cx4n5tLSdIhYoYYyZQQvaWH6sExnBjKRMA63p4VqJtVs4y
	G4aF3uY2LBIOqKRdoGMoqizYOPWajYnRt6E7swnZLeNFcpqJIJS72mQhaWdhb6Ij+uN+5w0DMBu
	H7oQ8OLGizmPwmPpkVjOYO8QEqeMG+pzo5OqNRwKfE8BlbfQziNOiYlMetXUNkVps1brPrUeb9P
	BSJCEwbA+gNP+net4AUWOPIzOaUY8QQSnsM7DrXHEJ9o4ShUnFjnhjpn78qOuMLAGvMTFlhqsnQ
	cadOT6jRumePnSDCbvN7E5uzMkcgfD9vSTJpnuFxltqiTdNyGktbT/tev87ZY7ZYvx95PyfRnLH
	GCBZR13ww76LjruGmBwIREcUZFUfP1Z/AYakBcH6MmKgP3BaeolVfR7xGCv8/xtyfi+D0nfmPuO
	q+WosnvVYfDGJB/r0kjAm+yQEz0mMKQ8uoOobLJdcgf3MhZawlQ61dQz/SVAFoBWiifymKOzDAL
	tUR
X-Received: by 2002:a05:6000:ed0:b0:44f:da54:da6c with SMTP id ffacd0b85a97d-46237e510dfmr4427277f8f.26.1781695816598;
        Wed, 17 Jun 2026 04:30:16 -0700 (PDT)
Message-ID: <d55f0b2b-3352-4d05-85dd-9c89b73bd338@suse.com>
Date: Wed, 17 Jun 2026 13:30:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 09/23] xen/riscv: implement make_arch_nodes()
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <738f97f8ea8bb588742c3f03d3cb2d24f399b602.1781693963.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: <738f97f8ea8bb588742c3f03d3cb2d24f399b602.1781693963.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1781695817-29D7C3FF-AE3F3BB6/10/73395122804
X-purgate-type: spam
X-purgate-size: 502

On 17.06.2026 13:17, Oleksii Kurochko wrote:
> No RISC-V-specific nodes need to be created at the moment,
> so make_arch_nodes() is implemented to simply return 0.
> 
> It is placed in dom0less-build.c as make_arch_nodes() is
> only used in the dom0less code path. In the future, it will
> be extended to create an emulated UART node.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in v3:
>  - Add Acked-by: Jan Beulich <jbeulich@suse.com>.

???

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:37:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:37:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340303.1601346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoa8-0002Ob-GU; Wed, 17 Jun 2026 11:37:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340303.1601346; Wed, 17 Jun 2026 11:37: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 1wZoa8-0002OU-Du; Wed, 17 Jun 2026 11:37:20 +0000
Received: by outflank-mailman (input) for mailman id 1340303;
 Wed, 17 Jun 2026 11:37:18 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wZoa6-0002OM-HT
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:37:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoa5-00Crf7-NC
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:37:17 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3286e3-e002-0a2a0a5209dd-0a2a4503ab28-28
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:37:17 +0200
Received: from [52.101.52.5]
 (helo=BL2PR02CU003.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3286ec-672d-0a2a45030019-346534056e65-4
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:37:17 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by DS7PR03MB5416.namprd03.prod.outlook.com (2603:10b6:5:2c7::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Wed, 17 Jun
 2026 11:37:14 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0139.009; Wed, 17 Jun 2026
 11:37: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DPYkimolcGkZZFqtbAc9LifU0ifz2+f0SxBEtZjsyCtgJQO1iYBEWp4NDNTW8OH6TGRYgAhgNE0X+55VjW/1lzNsg+YuGqw6ZSVuD6fuexawAr16DprGc6RhnWdyMDBjRFMr6sUWwfYFp0RicDsLea161Df/IXBGLW2qvZVgXHAZtOmc5q/YJ1RJpxJ2Z7n/nGE+v/WjEyuUUKqVBSbs5rYOs8JjYEzQgfUqNZl6F7/s7rcmEqtRkvqKdNPtfIf966Rw1F/D9cV/Fb+4APvMtPch0TdCDAaeaY2UUMHc8JUVgEo9KW0QfveKFLHymar4bunT4djY523sv7gM616fnA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UmwTGFjJ41DfNMZjpQlHpx84UVScg80V84aQE4Fiwzs=;
 b=hQyOy5EpsrNK0cgpN4Nngw+ZpKKWxPzLCEuh81JuLEUhO18ETAKd977k0WqFEYYJePacSnLvFhSQ3iZpWN452EsuYZ5cVSmc2fL35AsI1oPPzjsYx/b1I+p3BgqWvJdtPZ84pptcym/6Wr0HPlPKlqcsFgnFYEbvedqyCpCBm2GTq/AbmI8s1/0onFXpI9wI28yRDiD2hSWk8FrWNEXlKCnjOeWY9SWNldaSU7JhNkVtAdxzCdKaXgMu1NKlNZBNdE6B14Wn5xNqViWlbmTguiQ2/wraorMnbDXF+N0f0b72F1tBAb1pV+/x1okt4vEcr4jH28l4WCiEmIt3lCfeBA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UmwTGFjJ41DfNMZjpQlHpx84UVScg80V84aQE4Fiwzs=;
 b=Nc2xc/9FjfRh5pwTCP1IxZaOWLbbLPr/yzl+L9ktrYM1k0LWuBmWrOnijR706oMOA5o8ziM3vgW5FcbVqgUwesMc//COuDC/PKOHotm5U+YwbpvB6YV+JuH9+VkQQ4am9QQ8nd3CynahVzmd2+2me8po1nxMbz53u6knzIOUqSE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 17 Jun 2026 13:37:11 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v2 for-4.22? 4/7] domctl: restrict permission check for
 XEN_DOMCTL_memory_mapping's remove form
Message-ID: <ajKG59Vh5dAVcMRz@macbook.local>
References: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@suse.com>
 <f17b9ac9-abeb-44c1-8eab-6b08d563bc5a@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f17b9ac9-abeb-44c1-8eab-6b08d563bc5a@suse.com>
X-ClientProxiedBy: MA2P292CA0002.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:1::18) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|DS7PR03MB5416:EE_
X-MS-Office365-Filtering-Correlation-Id: 327a41b5-7f37-446c-ed24-08decc64c727
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|23010399003|1800799024|56012099006|11063799006|22082099003|18002099003|4143699003;
X-Microsoft-Antispam-Message-Info:
	hvwMzeLml8yCEuQslpztVIlJiVGE3O+CSdV/ldqoOCi6xME1tHqqO1XLz0NAqCboyLRWde3MKRwKi6h/93mS1AsKCdypSsSzjfkP7z+4abUPhMX6fsbcFIvyJLMJ0C5lbFV3aJE685fYIkbWFlq3zgKXH7LrKt8LOv8E6156vxwwlk0/ZfihjTwWJ3DhbJmvNGZPZ7XU39CCHixfIqmcv9d5+aj88qpYfIiK//4PZVLp7fYdXV3a2A7l+CM4HOvOIvvrEdn4xTq1+l/F9AX4jhMRyJFK0RvBXt2p8lGoDgToWrxJIz6LMp9XHztUh7ZhwwAfKJBuM+Jg8D00T97+U0arb6+f6Abq7Agn50vto4gHqana77yAZxJ/hCOoU/4k9D0Va+SCsKegFLR+ezVCk3M9i7beMsacT1MIZ8y1zvBJp0jXxDtKPmFelxpyIKU1j8dCXNqWV9t6hh8uwvJMZ0LRJGg0JfqI4AOs7Tl0aVg6JUsEYZQnOFG4iLxnZ1PFt4A+lrVFP7wcH4S6dbnVxBvr99hNqsMkat8tMfAh2YoSAMVBESRcwjBZ9cZJ+gJ97UzV/k7jnSvEWrPa8dcq/ILBnzl70Zgba7V9S6MgkBEKK4OEoeXDXMs7H7UpdVheJOZpMz23wf1A+pjsZsZBnMcXAAA/VChK4TGPdcHiL28D4exr30oESzrVpibgogij
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(23010399003)(1800799024)(56012099006)(11063799006)(22082099003)(18002099003)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UHRLK2JlWjlrczNGU2Q1OXM4QVA5S0hzL1kySDNDMlVJNTd0Z3Fac3NIZFB5?=
 =?utf-8?B?V3RxK04rUDBZb0VDV0hTM0MyZWFBNjR0VUI2bUR2TGE5K2Z2RitUR2ErZnhH?=
 =?utf-8?B?U2ZHVk1YdE5rVGllcCtSamR6VCt3N3RVMi9Ud2I5cEJuZmpJWUNCamhJckk1?=
 =?utf-8?B?a1hSS1dhUzVSMXVVT3psNWdwWnJNbWxlN0RsZWc0b0hwckJweUkvcEFJSjlB?=
 =?utf-8?B?OHN0cHVkT1FPaDE1YjlURnNka3oxS0hYMVdPMnluR0hYOFVXS1EyWFhWeVYv?=
 =?utf-8?B?RG05YlBMSU5hbUNLc1JVdE5ZRHpudG14Uk5ncEwrdkJTM0IzRTVSNnhPQ1R5?=
 =?utf-8?B?TE1iMUQ0KzlhR1h1NFlmMnN0WGE2NUJNMThHN1orTDViUkpUVWpEU2ZySm15?=
 =?utf-8?B?MzBsa1cycXhqYUNRNjloUm5UaUtDRVNKaVFKSXpwZGE5YzFTeWxkSzUzclZ4?=
 =?utf-8?B?QitrVStyK3JVaU1pV0pFVHdvMzVUNmZSaVU1Mk1Ld1hWMVlEdGhFbllNcTBp?=
 =?utf-8?B?WEpKVkIwM0FBbktzaE10WE04endNYzZuZ3ZQbVRtWkNZL29sSWZqY2pxSXhQ?=
 =?utf-8?B?WVJTZCtpWXNCYlJTYVJkYkJGTWk3Yk4zUjlGVU5mWkkzWFB6SXY2UlZqVmgx?=
 =?utf-8?B?SWk4Q0dWMnJScXg5UTlxeFdHTDFNYzJobURHS252Y3NaSFpFTDVVK2lSTDgx?=
 =?utf-8?B?ZjNPR0NBWGMyTDN0dE8yZ3YxVzZoaGR3U1ZhcW9xWGZCRzZhRmNOZkFPWkZx?=
 =?utf-8?B?UkJhQ21sRmZqbDdSM2RURUF6MnFqZFBBeHNaeGx4SGRPeHVpbC9pOHcvemc0?=
 =?utf-8?B?Y0RpZWFvM3hmdEpLb0l4VXNTQTdQY3FJbDFnRzdVOXBBT1ZrZTNLYUdaU3I3?=
 =?utf-8?B?ekF6RVdKKzhlTitPNXViWlNGblltOCtMWXJlS2hqdEtiWkl3UzJnS3BROFFN?=
 =?utf-8?B?MTJSRGx2ZEd3ZUxEcmVjY1RsQ3RFMndyNGxuWE9idlpDNVZCRGNFRWM2NCtC?=
 =?utf-8?B?c1gyZHNSUE1zNE0yVlVZWWZBTVc1QlM1R2diRG1BWURWZFpjSWtRa1NTamNl?=
 =?utf-8?B?MWgzZ1p2eTh2a1F1Vk1uWWQyMHNpS2dZeEx4aU1wNW0xMVMzODNnNUpPdlF6?=
 =?utf-8?B?NXNsUnF1OGRMempmMktPV0tid1ltWHdSNUpSQndsMnJ1ODdXYTk4dGE0c0JN?=
 =?utf-8?B?Zmh4bXNjamUvNjExeHZ0dU81K2JaNFJudEVPRFBuVzNqRTE4Z1A0TFhnOTZ6?=
 =?utf-8?B?c0h5S1J1WkU4ZDBiaDBjSHFFT2xqcTVOL3FVWU1KS2JKeHBMb2hmdG5wMEFH?=
 =?utf-8?B?YjQwYzQ3Z3dqZXB4UUF1bUdBU1AwZ2wxdUo5NVNFb3Y3ZStZdmY1TzU3eVZE?=
 =?utf-8?B?UHZjYVpROXJjREx5UFZKQkdlcXBkVmVJb2d1ZVNkeGREOFFsMDJ2cGJqWjBW?=
 =?utf-8?B?UHMreWJPaDF1SE5SdjV0WkY2UGFJTUVGbHlVRngyL2NjZ1lRRVduR2tPa2Js?=
 =?utf-8?B?RjVBblhMVEkyRitVbjFIQW0rU1pnY1VsUGdjQld1bDJaekZHWnppSHN4aTh0?=
 =?utf-8?B?Q1pNN0Z2c2gvWk9DZVcxWStRWGdIczR4WDNBQUZmMnJwdmhtQzRYWlhvTDNR?=
 =?utf-8?B?UmJNeHlOdXZkemNXRTFwcG8ybGhLSWh4NkdwdGN0YjBaSjNvTEsrNWs3ZXdr?=
 =?utf-8?B?RERJc0ZIK1daZFJOc1J1b2ZiOWdMMHZWYUs1VWJpSS9NeGFDZ1NTWmNRaEYx?=
 =?utf-8?B?Q1hkK0k0UVRpTGNXRDI5UE1MK2l5Q3RWMEo0UERzQ2VRUlAzRjZaSVVBc3h5?=
 =?utf-8?B?WXVSSEIyb0Q4bWlUWDNhWUdZci9pUTdZYk1MZkhiUlBGK2tUMGpWc3Z1bFY0?=
 =?utf-8?B?cGFkVFQxTWhvR2ZGWFNaYjNVbFRIZXlQcjVkM2N1ODNoUi8rdzRmR3NHNDVZ?=
 =?utf-8?B?MG1nL3ZXTUIzTWo3aFZacVhGY2ZiNE9KVm5VRmV6QXhxbVZiT2RMQ3BMRCtr?=
 =?utf-8?B?ZDdiWkhmNk85ck9mS0dVNlo4ZUpxbTRhSSsvbFpEOTZzSnllWE42bXhzWFRo?=
 =?utf-8?B?TVo0QzFGdEVwdVlIOHdMR3h2M09uZ1Zocm4yTHZnWGIvbUdLMHptamgraURL?=
 =?utf-8?B?azZtRXkzT0N5dU1WVVFJdVpVN0dXNU1PaklRVDZsajQvOGlaeWg2aUdwZWZH?=
 =?utf-8?B?dWNDT3dKWnpiaURDWlF3bmlzVnZGcHJtVDN3dXBIRlg0Y0hoVmkyZVU1RXh1?=
 =?utf-8?B?d1laMmcwbzZUOXVGR21qVkhQY0k0YnI4L2srWjBGMTIxeEh0dk5EbnQ4OHY2?=
 =?utf-8?B?ZEZGVGdWbVQwNjI2K1FDeERwOXZPdThSK1ZJRFp2T1pmRkxIcUZEdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 327a41b5-7f37-446c-ed24-08decc64c727
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2026 11:37:14.4354
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GOA0ke9eMLeEBQATB00OZFqw49L4udkegD1PQUabMNpriX+L42sbTtmAKYd3MDODRWhnDj9TYCgcG0vcoZ1qoA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5416
X-purgate-ID: tlsNG-33051d/1781696237-41197938-6533AA94/0/0
X-purgate-type: clean
X-purgate-size: 656

On Wed, Jun 17, 2026 at 11:27:42AM +0200, Jan Beulich wrote:
> While the granting of permissions when mapping was already removed from
> this operation, check whether permissions actually were granted when
> adding a mapping; the check of the requester having permission remains
> unaltered.

I would possibly reword this as:

"Be less strict with permissions checks when removing a mapping and
only request the caller domain to have access to the region.  Keep the
same permission checks for addition operations."

> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:44:54 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:44:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340314.1601356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZohN-0004gg-70; Wed, 17 Jun 2026 11:44:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340314.1601356; Wed, 17 Jun 2026 11: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 1wZohN-0004gZ-3x; Wed, 17 Jun 2026 11:44:49 +0000
Received: by outflank-mailman (input) for mailman id 1340314;
 Wed, 17 Jun 2026 11:44:47 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZohL-0004gT-II
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:44:47 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZohK-00DN4c-Hd
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:44:46 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3288a4-e002-0a2a0a5209dd-0a2a4504839e-40
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:44:46 +0200
Received: from [209.85.221.48] (helo=mail-wr1-f48.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3288ae-1dec-0a2a45040019-d155dd30b49f-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:44:46 +0200
Received: by mail-wr1-f48.google.com with SMTP id
 ffacd0b85a97d-45fd461e4a5so4396346f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:44: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-4922fa891acsm157940465e9.9.2026.06.17.04.44.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781696686; x=1782301486; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=5mGmnJIxwekRDqofWm/XFLnXoWAponBjyeNMTYgeDwM=;
        b=QFJSEGpRBTUUQwM1rqyYvHbtQewXrqtt21UCD3mi8KwnA8ta7zhXTsHtXhzujg1vah
         TIAKhB6pRsJNkm/nGq5xjot6cZjysrDJZSfmZs1UfDVJmvq9CGCroFDQi5QdwfCkEQxX
         LVrfj8eRkUddtgw1LSamz+JnN/YsgW0QofvCI9icbrOk7hxdX2V3TIn79+JcGvcy+VAv
         pJs7dYOJ1MnfEgSVGnWXDAbbhMRlzA8v840m8EtJ/9wCQ4bc7qjWlxfecqVV/ziYNTuy
         /iCI45Dz7J9BLL9wEylj2tiIvNwY2LDVqZpKfypE1CE4mTWTQoYq2z1GGHTiDx4c0JZ9
         2VGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781696686; x=1782301486;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5mGmnJIxwekRDqofWm/XFLnXoWAponBjyeNMTYgeDwM=;
        b=UBuaxNBHq2bCa9fFpXRQlvxPdnPni+GYxRy8kZHixqxpWxdQ7xp4frTso+nLF/1gI6
         8UQlthuIfhxtvWT5RQ8LiNZhjybz7CWZUpeAfsCS07obXzIw2BVfWQt4A7OYz7wcUHF+
         TZ44cZqHBkYyeay4n0HEkDHNjpRyeEzJ71W+IPzwuaOCvYhHDYQkBDQcjiR5gU7BGCTV
         tWLDCLL6DhQgAb3r79MR+dclLvj4WeilD7Uee4sj66y8pF/sLVUTf6hPo0r+klmqstrS
         /iyivprUN5azRc5sGoWInfqnsnXnR+2e5UhDGioVZk/G1UpYOqPiNdgV5IOFpfpulnE1
         7uvQ==
X-Gm-Message-State: AOJu0Yz1uB/5n6apzXNmObXUmIcGwu/AgwptKW5kn/jKvYLv+3TMHCRX
	UFy11GcCbJPgpO4MiS1KL/w6U3lX7p/pLbXCFDNRdjS8E8Mnve2leRVWG+u/3TWRIw==
X-Gm-Gg: Acq92OEMPraaokdfLe+TLpzTOWYP3r6UenGtkhQmrentodeoCIbitGa4wpBiAZjT/4D
	C5Jt3vKp8xjYh1fS/v3mnW1CVlZGi5rvGrAmR9b/dC41Bdf7r/A9qctxtOdm+BymJv3T2i6m/uq
	lhn4yA+COyRS580H1ocZwuAttoTRimcxCTBnsGXtmViiiTDV1+WKZRn+C4GP9cfiZ7u3Ey7XQws
	g1uU8ikGQq5YW0uPmAO9fUPDW3mxipHnKu/adlDmyhoCvFX1I21Uu3S2q6KpaKb5SXoCGwbG1Ua
	mwKE+JlaZXP0HS4AHtmG4cTiLsx4N7fRHXALafiExsC7cNIqHxsHjVG5x5kkQ1hcuR2j3vgsSMg
	NlrxwByc9Yxr3CfwftbbJaijzTJvPV7PMLkOggwXLl8Pw7Q3LqkZ2rgkOYfSn8spsrbpa4xePFm
	UdarfoRabSZ7GunliO4/jLxWf+g+K1Q8Qcrx1pR1sQfRqFvzjA8x8q+wMdZeFNck9XkXQ/5bRZ4
	CQq
X-Received: by 2002:a05:600c:620f:b0:492:2e93:1199 with SMTP id 5b1f17b1804b1-4923410c4admr43139845e9.15.1781696685788;
        Wed, 17 Jun 2026 04:44:45 -0700 (PDT)
Message-ID: <fd448d36-237d-4617-92b7-211f6374eb87@suse.com>
Date: Wed, 17 Jun 2026 13:44:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22?] x86/EFI: arrange for non-discardable .reloc in
 xen.efi
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Teddy Astie <teddy.astie@vates.tech>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <652b57e0-42f8-47c8-b94d-df862874aba3@suse.com>
 <ajJ3C40FLsyBZn-U@macbook.local>
 <a307207f-7cf2-40fb-927f-bbaa841b94ba@suse.com>
 <26179fd5-15b8-4395-9808-447963180b7d@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: <26179fd5-15b8-4395-9808-447963180b7d@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ebf023/1781696686-4217E3FF-D06BE265/0/0
X-purgate-type: clean
X-purgate-size: 2504

On 17.06.2026 13:20, Andrew Cooper wrote:
> On 17/06/2026 11:37 am, Jan Beulich wrote:
>> On 17.06.2026 12:29, Roger Pau MonnÃ© wrote:
>>> On Tue, Jun 16, 2026 at 06:17:54PM +0200, Jan Beulich wrote:
>>>> Loaders respecting IMAGE_SCN_MEM_DISCARDABLE would not load such sections,
>>>> yet we need to access it ourselves when switching out of "physical mode".
>>>> Leverage behavior new to GNU ld 2.46: Any contribution to .reloc which
>>>> doesn't have the discardable flag set (which cannot even be expressed in
>>>> ELF) will yield the output section also non-discardable.
>>>>
>>>> Since for intermediate binaries we don't care about section attributes,
>>>> link in the new object only on the final linking pass.
>>> I'm not sure I follow.  Xen already does generate a custom .reloc
>>> section without the IMAGE_SCN_MEM_DISCARDABLE attribute when using
>>> the mkreloc utility, and hence the .reloc section should never be
>>> marked as discardable?
>> mkreloc is used only when we recognize the linker to be incapable of
>> producing (correct) base relocations.
> 
> I wasn't even aware of that behaviour.
> 
> So we've got even more completely undocumented and obscure toolchain
> restrictions and behaviours.
> 
> What else?Â  It needs at least enumerating somewhere so people stand a
> chance of being able figure out which toolstack they need in order to
> get a functioning xen.efi.

The two ways of generating relocations exist to allow people to build a
functioning xen.efi irrespective of GNU ld version used. Hence it's not
quite clear to me ...

> I'm going to insist that a doc happens, and that this patch patches it
> adding in the Binutils 2.46 requirement.
> 
> But I'll write the doc if you can summarise the other checks I'm not
> aware of.

... what exactly you want to document. The change here is towards
secure boot support; outside of that xen.efi is operating okay in this
regard, afaik. The first paragraph of docs/misc/efi.pandoc could do
with an update (as the version restrictions are now obsolete), but it
was my understanding that the secure boot related aspects all would
live in a new, to be created doc (which iirc you already have in flight).

Besides the .reloc filling, the other check we have is for whether to
include debug info. As with the documentation on toolchain versions
required, the MS ABI check could likely be dropped now as well. Otoh
the "linker supports PE" check of course needs to remain.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:45:47 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:45:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340320.1601365 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZoiJ-00059C-Ha; Wed, 17 Jun 2026 11:45:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340320.1601365; Wed, 17 Jun 2026 11: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 1wZoiJ-000595-EH; Wed, 17 Jun 2026 11:45:47 +0000
Received: by outflank-mailman (input) for mailman id 1340320;
 Wed, 17 Jun 2026 11:45:46 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZoiI-00058x-EB
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:45:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZoiH-00FVNl-HU
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:45:45 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3288e8-2eae-0a2a0a5409dd-0a2a45099ca0-2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:45:45 +0200
Received: from [52.101.57.51]
 (helo=BN8PR05CU002.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3288e7-2497-0a2a45090019-346539339fd6-4
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:45:45 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by SJ0PR03MB6615.namprd03.prod.outlook.com (2603:10b6:a03:388::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Wed, 17 Jun
 2026 11:45:40 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0139.009; Wed, 17 Jun 2026
 11:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=L3MTbcwH8491u/ghdLBjpo1ZuxwYItauTt80aR7O2tYMQ4tJEV6pgJmRs6GReQ6m9H0ZUNw6/RRLBgnFfJ1WOubBCQOXDzq3gY4VDemJoTTLUczkpYoSbj4dO+XHrmUlLhC6RtDg8NOr/nfhGgmzOzCEtAOzEum5b5eFD7zjqEr1TJbWshVq1AqEXbSVkiwaBGqweXsqEDBtHlk4UB3OJpkVezLiEqRqVodWD1AL+EAi9oZx9iJcvRS10Fl6JaQZTAi9o4EsWaagOHnj6StjtUnU09f4kX8aMcNAmTBS4pak3VRkTPQGAaGvt0Q49I4WF3m/Lto4MMklQqdBL05I/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=wDfhH4bAKEwdmui17ju4yeJwSls5YX5WpJoqWbmsB7I=;
 b=v9odkOhyiVHvhEYu00Oh1njIpa2RJHqI0MWjIN3E4UnAhWG7/esxOfxDMzHezKnxiDqJftu/+LSY6vB0FPJEEijcAzRT5SXzWyJv1p6OjTBF3m9DXqONHkwvaZ+TwMq4tWYN8oFBZjW/9rop2hyB3sntgAXk6pt+jju40qj6SJsuf8eEhYxglOlXZcVKCyPKIu4se8r19LGkrF9dVOm6HSvHdaXqlLv4sAztGmeXgnJdKGMsP6DA5qRjpIqbPPilmL6nR8Lhs6uLsix+b394lZ2yEZSteTiYQx4sDWL9adp2sJP8WKiELP4A40xeJ+c5bCrHaW0Dub3Ti7PCf+qE9Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wDfhH4bAKEwdmui17ju4yeJwSls5YX5WpJoqWbmsB7I=;
 b=S9SCdvacHCgXZOIDJH+GAfbt2tS0daoSb3u+GLunR8hAAwmLb9NfmXm/Tn9jVP4Ewd8+953hMLXpXvzEQXfCnAy6WrjSugJ/W517rTcdRL7RdOhIk2is0W/vsqdn0/WPeoUNZrsPN5122eonjjSyKQMEBej4a3CFnyJNWs8L0Bw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 17 Jun 2026 13:45:36 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Dario Faggioli <dfaggioli@suse.com>,
	Juergen Gross <jgross@suse.com>, George Dunlap <gwd@xenproject.org>
Subject: Re: [PATCH v2 for-4.22? 5/7] domctl: correct return value of
 XEN_DOMCTL_[gs]etvcpuaffinity
Message-ID: <ajKI4N-z0omDXc4q@macbook.local>
References: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@suse.com>
 <f223d669-d61f-4110-88aa-e2e71bee1f14@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f223d669-d61f-4110-88aa-e2e71bee1f14@suse.com>
X-ClientProxiedBy: MR1P264CA0100.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:50::24) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|SJ0PR03MB6615:EE_
X-MS-Office365-Filtering-Correlation-Id: e58bd0fd-bd20-4e1c-ae1d-08decc65f4de
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|23010399003|366016|376014|18002099003|22082099003|11063799006|4143699003|56012099006;
X-Microsoft-Antispam-Message-Info:
	7qjBZszNBgXKXEevRSK47DmCQ0Xyy6klbkQBTzXUIAWpLgZJMLdchEdf54Qma9PnK/4MuPklteVSbv+KOKZB2bE3BNJ59sIiwPd4Z3i1hpa5c27DyK6iABpzOOBRvopkcI/6r1ydFa6pS9sGaNcxwhPDPsDcWplYkPZD1bqwIfzdziYGwb/8aQwHNNQZaTLX9uCrD4z+BDPZXj/Z8zWhbbcBduodQxn5LezlET5H0YSm7POiAmQn4FRNyFVEio0LWxzlSyK/VL970+FYD8or6xj49fiQ5wo86en7gc+D7qJ74/bydKZEfooLXo4PrN3BdLEaOgMoAX9UmR1X65XfswVy/OdXkie73mhLU1FOh5QGyewZIV88j9ToONhHnE0QHGHFOSrOx894EXBdLwE8X09vgRqgnm5fjFxPnURsHWg0Ph53F5fQSTyHKYmjEGZS5MSsPvXjRFzvUZVAfrjG5wPK6MdBFiB1IGWMgyIpQzfcqfGKWhskufquteLKXHC8Xo2via4rsvYY3NjV6rKX4JAw0Vpu8+DLd8z+NWgZlJSLyuDx3h/2xofezkHTRsgk6Jvcuz8TINhoT7Ox+ksZEzw0sR3l3Ke4moAf16hNgytE+QlYYYXbRmBJjBJf7ahqSlIVUHUJ/12yX8BPlsQESKHDQVg1kQO7/GNgxDcut3beTKjDeBIySz8Jjf6o8b8r
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(366016)(376014)(18002099003)(22082099003)(11063799006)(4143699003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZXpwLzFXaWhEUGs0SGc2VVlwaFI1bENvZWFkdTc4RGVqd0ZtZytpT0dSYVBD?=
 =?utf-8?B?NGQrcld3alA0dk1pUUVlZmI0Q1dMNkRtWDVHV0lhRWw2azlLRDFCdWN6ZzFu?=
 =?utf-8?B?WjdpMXJzaU1YN0tIb0JYQ1ppWHAzbHJJRW9xazhDY3EreHF1QVhkUzh3NzNG?=
 =?utf-8?B?ZG1xN2lmbG5JQkZXMmZlYnBIc1NGNzFJTlQyamNRendrYytFTm9RemdlcTFw?=
 =?utf-8?B?dXRyWE5jS0s5VkZ6MEFkbTB3MHpjZVFQbXJoMkZXREdaWlFlVXFtRWxPVjJH?=
 =?utf-8?B?WkJ4dkxwdXR0dVp3ejAxMmJEOXdQcXgvR2pVSjBzazFOVTBKTE5qZ0htbzc0?=
 =?utf-8?B?U1Vrc1J3dTNwZnVySGVwQVI1R08rV3V2NkF3dW5xaXdRZFBqS2ZyRFRzNVJ2?=
 =?utf-8?B?TWNhTEV4Ri95R2FiazV3NmhlazB6RHVpdnA2Z2g1a1g3dlRxb2lqVytHRm9E?=
 =?utf-8?B?MGFsV1dsN0hrWWtaRjdsQW1kZUxkaVlGKzU0ajRSbkZvbWZKQ2JrQmxHbVk3?=
 =?utf-8?B?NW11YkZveUZBaUNobC8wYjJxdnBpeW0xc0JPS1RMYXFpazNzMVJrNmJvVndF?=
 =?utf-8?B?cjZob3dSeXRPZW9rUjNxcFBTbFB0c3IzSmx1R2NUbFRNdXdTbElLL3VTa2VI?=
 =?utf-8?B?alRid0lYZTJlYXVBUWpGRXdQbHBhRmwzcVlUa1VrSG1iZW5hRGRLVkV6MmZD?=
 =?utf-8?B?Q3RyTGZHc1N3NFNQWk5oVFNBOGU5ZjRpTHJTUDRhNm5TMU94L3R1clNZRFRU?=
 =?utf-8?B?dktGdUdJSHFPT2prMUQrOXp1SmJXOFNtWjdpaGo2LzZrNVkyeTVEaWg0NnhO?=
 =?utf-8?B?dG9ISi90QVR3ckRnUTJRRGJLS21Ub0Z6VTdKcUl5OURzbll5Tm1Vai9BYnFn?=
 =?utf-8?B?Zjc2aEJpOEg4ZXJRRVRWb1lCWkN4NE9vYUhxeThMUnVUanRRK25RQktFd01u?=
 =?utf-8?B?UUFOUlA0SDc3alc4cGJ5TUNwakhZWkpudnpNeThsdXV2M0VuV1V1SDJTbHdk?=
 =?utf-8?B?VkovTlVXSHFScGJtUEw0RDhWamhyVU1ma0NJNlRkb3pVMWF0ckVvMHdZSDAz?=
 =?utf-8?B?c3hKN3lKclFDQlFQY1l4alo1T1hjOEkvWkNwc1Q1eHV6ZzJ1RVlDNDM3YlVX?=
 =?utf-8?B?Um90RVVkb1AwTmFPYXptT1RjcXd0TnZaYW82QWRYYmtJOVJKMGZRQmp4dmg0?=
 =?utf-8?B?NXV0OFQvSm9GbWhEd000V09udndTY3hGZCtPYVIxV29xUW1mT1EwWlhIelgw?=
 =?utf-8?B?eFF1dGw0SHJtdlJ5QmhkZU1kNnZ0R0FwS2RMK1FvMzUwSmllMTV2K2JUZkkr?=
 =?utf-8?B?ZnhRV2VlbFM2WmVPNkhKK0VmZTBTZkgybGdzdkxVOExYQnNJcnBBQUZlQmxJ?=
 =?utf-8?B?aDZyL1E3Mit2ZTlaYU1DWHRQTVNrSWwyVjBOMG5lbnVSU25oVXhzZXlUSHk4?=
 =?utf-8?B?eFFoYzFsb0hJTEZSR3Vud2FOVVRScjZsMmhwTVU5ODlGeHhKV29mZVNWcEFt?=
 =?utf-8?B?RlFsZkZNUnNQQVFwVEMyMUw1WVFpbGdnR0NiMW5HR0ltOWRiVHlMYmN3Vld6?=
 =?utf-8?B?UlV1bkxNcTdFaVpPOHRObHFWUFlab1RKRW1laWlqaVA2TU5CUzRlYlVabEQz?=
 =?utf-8?B?WnZrRTh3Y0gzYlVBb0FOK0xCZ0MzOTJaZFI3cU5zKzVrUkhUWmRac1JCaWNQ?=
 =?utf-8?B?Qzh0d3RwSVdRZGZ3dERob2NuRU80NUdMa3Fwckl3blFYeUYrUVF3RENEM2Iz?=
 =?utf-8?B?WmNaRGc3TmsrTXRka2lkSS9LVzNzWlp3M3FmK3RnYWJ6L1JwWGtiNXRVM2FS?=
 =?utf-8?B?WnJISjdDc2tXWWZzNzRqRjE1ck52U1NiR21VWHlIMGt4dCtSZFFlVEdsZUpE?=
 =?utf-8?B?QjZZQlZHOHQ3aU5IZDZScmpjWEo0blozRWEwN1hkek1tOXVoNjhuL0dJQW9G?=
 =?utf-8?B?TXRZRnJTR0lXTURVSktLL3puS1lXT2praEh3TzFCU3FLMlVZQ2xpUk0yUUxo?=
 =?utf-8?B?aG5kVnVEeWFYRmRzbU9qQ2tlV1hrd0lFekRLNXNmMVM5L3Z4YjhBMlZGVDVO?=
 =?utf-8?B?RHl0cnNmOTRxVjZ4N29OR2RHei8zK2tMQWxBblo1RUc1QnVHbmtFdkZSSjcx?=
 =?utf-8?B?QUJaNEhxbHJuUDNBV3dyK1RIWmxFTU9GU29IT0NZVkRucEltUXlTMjM1RTJW?=
 =?utf-8?B?TDU2NnhIVjd5MWxEbmpYSzIzQXBSeWwxK1ZlVzFLKzVQRk4zb1FPUE5QUFJj?=
 =?utf-8?B?SFhacDF2bWNQemRDQUp0OFlQdmp0ZjhkakVPMU9OT3pkS1BueVFtSVlZSkRD?=
 =?utf-8?B?bUdyWEszMzhVcTVzM0ljTGViZjdldmtBc21rc0tvRzhlVjZIMUEzZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e58bd0fd-bd20-4e1c-ae1d-08decc65f4de
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2026 11:45:40.7954
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: p//sJRDtmxslkSZ/MngIGElG5OAnehd4uIPuyAcEo5mDsiBKPBEZQkUvfDOe0wYA8Bz5PxGHNhnuQFieW0DwWw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6615
X-purgate-ID: tlsNG-bad1c0/1781696745-89D85A53-BB9FC759/10/73395122804
X-purgate-type: spam
X-purgate-size: 796

On Wed, Jun 17, 2026 at 11:29:09AM +0200, Jan Beulich wrote:
> cpumask_to_xenctl_bitmap() may return errors. Clearing the error indicator
> of an earlier such call by a (successful) later call is misleading the
> caller. For "set", keep setting soft affinity if the hard affinity copy-
> back fails; only accumulate respective errors.
> 
> While fiddling with return values, also drop a redundant clearing of
> "ret". This eliminates a Misra C:2012 rule 2.2 ("There shall be no dead
> code") violation.
> 
> Fixes: 6e4ecc6d5884 ("sched: DOMCTL_*vcpuaffinity works with hard and soft affinity")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

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

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:48:03 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:48:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340329.1601373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZokU-0005yK-Vm; Wed, 17 Jun 2026 11:48:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340329.1601373; Wed, 17 Jun 2026 11:48: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 1wZokU-0005yD-TC; Wed, 17 Jun 2026 11:48:02 +0000
Received: by outflank-mailman (input) for mailman id 1340329;
 Wed, 17 Jun 2026 11:48:02 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZokU-0005y7-8V
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:48:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZokT-00FVwj-H0
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:48:01 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a32896e-bab6-0a2a0a5309dd-0a2a450cba9e-12
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:48:01 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a328970-62f1-0a2a450c0019-d1558032e0d3-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:48:00 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-490be29c1c5so59945575e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04: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-4922fa891acsm158171885e9.9.2026.06.17.04.47.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781696880; x=1782301680; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=i/yuomSbXovR0P5CmFbI/elANuQtiVn8KrgnSABmox8=;
        b=X3iLdLj8PjTMDWpZKbf8Wg3kUVW1HQRblOu5tR0QDtxXBkfxQH8IDglSdWCF2VIUxF
         diwpYdV1t8PoI8EcY3Yarnsz3UwI7LDGCFdoj8XxhTKZAa5qt9nxPnkwQDd5BZRZjbdD
         WlJG70WWrbwHMGpwEcFtL6R4jm6uXK4zBIwWzPo25qZXf7ZULyzMbEKQG/OWB2hjqdFq
         1JhioAU7Sq9Y+h/9+jnIM2TchMrdVrUQwtt6jUhNMTYLqurPhQpY8f3Dx1LNMs0QO7ns
         OCAd3xVRGBcIqkIpOtkGe1l6mLdLpmTVr7oZHbF50R4GBJSynNN4ALoxiCVw/cduWuR5
         I2qw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781696880; x=1782301680;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=i/yuomSbXovR0P5CmFbI/elANuQtiVn8KrgnSABmox8=;
        b=Yw6OFjnGokyM7PRp6iioLV1q7y9Sy6ZjbwZTOzjs0YhSphSqtBfwgasK3zbgRndZ3V
         V/MPunpqHke0H9ShHNkJOlXh1qp1DK3yFFgAT3MsGrsTdnWaHJE4ezX5bObzMN/sSUfw
         eUeZixotF5VYIZWbmgdySZZZmpYVHe857M9GmmizGdqr+idrD6okFOuLzweX+6JkVCyg
         2BXyiwPuUSuPkuoQf9Z+edwTFnqJBsVF7OB8ZcsVOHnaYURjpaPNe7Bo1/OPswen47Ic
         fcDYUmeCEQsrdImXKLJqh3B3tY9h62rh83XysTRLOTmoVl0GaAVEDW+bx7N8SnV6DbPy
         nRwg==
X-Gm-Message-State: AOJu0YxtFsPlGyERR5SWMuZhUlD8kcX1mXdALIOnhNhfQTpgmBjIFwvq
	3tMqpvBOfFJ0jHWoLTQ/BbASOqScayg3grZWnsZ78rveyuBo7rxVCzw8HGiRZD4QXg==
X-Gm-Gg: Acq92OGM4f1AgMg81ElfLfdcfAyqkdSdxnEOKETVbf+Dp4nKt5G3S+Ofo1EhQHRkCoR
	XjitRFD/UA6gihBbdPOeasYp0Oaz7vAtnXiAVzCBK684Py91EoDNPtPIhCma16rmqNoPraOT8Zc
	KhGcivCgOgMgh7S/GfeCOnItM00W4XSx0BIvoeGQy/zOjH2HHTo3BR/xstty27IL48cVQdQDc1u
	TFod3OwCmgv/uLKjzfm1K6hf7Fn08iUkTqmZpIuXms4yjAHO1g1yJrCiIo4D75/VnHRNuTOq2Z6
	YvT1joE3hs5cIq5m0j2o19I47Da790dysbrJdvnfD1NEq2G4DUPRI7khQOcTPvqFacXKzhFvQ8s
	YNOdoHJ9s20C98TRwqv5ERH9v+cUuLr0r6iAdaYzBB/ihQlK7FL8qph+y7P/+utMzoN4wJWnguv
	U+q6qP3UUrMg0hjCvx73tD3qRpkNEKL8nn/Y1UVqZ+kmzzypYpcYINiUk7YO+Rp1ePQ7wdAiOXF
	isC
X-Received: by 2002:a05:600c:a30c:b0:490:c024:2eba with SMTP id 5b1f17b1804b1-492333e2829mr54486315e9.22.1781696880529;
        Wed, 17 Jun 2026 04:48:00 -0700 (PDT)
Message-ID: <327ed870-9d96-4f2e-95f9-120c20914f4d@suse.com>
Date: Wed, 17 Jun 2026 13:47:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.22? 4/7] domctl: restrict permission check for
 XEN_DOMCTL_memory_mapping's remove form
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@suse.com>
 <f17b9ac9-abeb-44c1-8eab-6b08d563bc5a@suse.com>
 <ajKG59Vh5dAVcMRz@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: <ajKG59Vh5dAVcMRz@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1781696881-E0965CF5-172394FE/0/0
X-purgate-type: clean
X-purgate-size: 796

On 17.06.2026 13:37, Roger Pau MonnÃ© wrote:
> On Wed, Jun 17, 2026 at 11:27:42AM +0200, Jan Beulich wrote:
>> While the granting of permissions when mapping was already removed from
>> this operation, check whether permissions actually were granted when
>> adding a mapping; the check of the requester having permission remains
>> unaltered.
> 
> I would possibly reword this as:
> 
> "Be less strict with permissions checks when removing a mapping and
> only request the caller domain to have access to the region.  Keep the
> same permission checks for addition operations."

Sure.

>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Roger Pau MonnÃ© <roger.pau@citirx.com>

Thanks. I've taken the liberty of correcting the typo in the domain name.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:48:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:48:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340330.1601384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZokb-0006EW-7m; Wed, 17 Jun 2026 11:48:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340330.1601384; Wed, 17 Jun 2026 11:48: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 1wZokb-0006EP-3G; Wed, 17 Jun 2026 11:48:09 +0000
Received: by outflank-mailman (input) for mailman id 1340330;
 Wed, 17 Jun 2026 11:48:07 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZokZ-0006Df-MK
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:48:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZokZ-003Rg8-2Z
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:48:07 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328968-e002-0a2a0a5209dd-0a2a4501a0a2-30
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:48:07 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328976-c1f2-0a2a45010019-d155802bc1ae-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:48:07 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-49222b6e871so41138345e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:48:06 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4922fa97227sm160960075e9.13.2026.06.17.04.48.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 04:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781696886; x=1782301686; 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=eq+2+Qy5sCsWgcJZvcJBmGuJA294xB2JXK4BFK0RFSQ=;
        b=VDeXrMs1qSZ5hATZCjaZFSPNAgbboIOuVDRaoLTW2tHd8HMbkCXZpYddQdckkCThgC
         sIPqYAa715kRCby85dgw3KBv48LsL1aIt4tiXFO/rIjDFDyQqc2Ko7vSul+gDVW+Z7XR
         FBujXVHPGUxo82+QPfLOUg0+6aerC9+56tIS0KqTw6QgTAsVS2V2/AK7V0Ll2XjBABBh
         TeHGcboULYHfLoygdILQLYoO9mN8wPrC23sDId3UZfGQtDOn59NQ0aw9Kz+N+1vcbmfO
         lMbIFhUkmnhZk2dE9E9qrwLZTlhwTTGEegHP7V+hb3weg3N+wxBXGFB+NKMJT3VNpQ41
         nv4w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781696886; x=1782301686;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=eq+2+Qy5sCsWgcJZvcJBmGuJA294xB2JXK4BFK0RFSQ=;
        b=LhPuD2Bf2dMl4/r/WFM9Q+q/ZbnrbNFc7nWWaNuPNFTSjSG9l7Tf3/T+O2CYccIS2t
         iCctVoixyta9r3q4y7simT+Yd9I+AbUs8Nxw0SlNHCy8sTKkmAN5+PaoHndq7+rw4CqG
         w9+k0Hon3z71/2Sy5q9tVnwLkI7WiEWGC7rpctyEcAlqoLPw69DP2kYMV9DrZqAGmqxZ
         WGmo+Nn26XrYTodHXZ3iaHp3Is5rVf0HckFzqoCvEqDAXjjkRvilKSvcdWEi4V8A6oqp
         FsukflGo+bHd1rGhjj2bmpsfKcU0Ofcx+unoJ7S/l308ICPDS/Cj5qdfwp8VCu33gH9g
         dc3w==
X-Forwarded-Encrypted: i=1; AFNElJ/cgYtI6Rq3Dc8wYvV4iRjmnNIv1SgdSDVvfWwLFdpuUhi7Mdak4MIhMaBV2sQwq5V1fyw6IjTSRIo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzz3rcN2R4aekc6uZEYilzjK2HEDSYWxR959cYCj82Id1dPB0aR
	n1n7gd39Ia0sp7fQkF5SchLPJBQykHs1Kuyk4DeD8Vi5OpAaIKsqWpi/
X-Gm-Gg: Acq92OHh7wDzra0dSp32Pc6y+W+dIqymkWCQkUevafIPKYGQustAj62KkKTlhhw9yn2
	5BIhz6Hei91BUZc6jF6SZ+smLb693l6Zu9cAsukoGs7vNLayG92UjuSnFUkLsXcLVCeSfDg6hvI
	KZUULz2jNVh7U+ECgqN+GZWpU+Nl3hmwk9sgtbNesgOfFjVd1H3ZhEznDSXCqTiezPUlMGs3ObJ
	ZvTe+0gHSdWFv+XSJ3F8h0upwQPrbpl6q227gwf5JTGPpG4AfbeRtaFJiMaqoWWYpaz3ZhPNqqe
	SVlAwyd7u3u7P3HYzBMYkdTEh3RDdzF/fPy39rDmA2rfXAvqIOOa7G1cD2T+JILMKIKelCie/ep
	5Qw9z7Qq49m2KQz0T+PsVKfpHr36yKck8Vbl66yeotC0b5644P43U8yasVHWNpnUSYPq5k92tta
	BnZGGUpqguheiLCKpRFf4XQv2IoRE6YFh+5lKqeAeTpDxskRJZhZZ6NgDVIDp93+CF0tc=
X-Received: by 2002:a05:600c:820d:b0:490:4b89:5361 with SMTP id 5b1f17b1804b1-4923678873cmr11455645e9.7.1781696886072;
        Wed, 17 Jun 2026 04:48:06 -0700 (PDT)
Message-ID: <18835571-14e5-4ea6-812e-95ce4d67a607@gmail.com>
Date: Wed, 17 Jun 2026 13:48:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 04/23] xen/riscv: Implement construct_domain()
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <db630a8a003a1aa69e4edaf6d5f4994f18ac1354.1781693963.git.oleksii.kurochko@gmail.com>
 <cd91fa75-435b-4100-8932-99f3da5523a7@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <cd91fa75-435b-4100-8932-99f3da5523a7@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1781696887-B735AFF4-15E7A8EA/10/73395122804
X-purgate-type: spam
X-purgate-size: 2369



On 6/17/26 1:26 PM, Jan Beulich wrote:
> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>> Implement construct_domain() function for RISC-V, which performs initial setup
>> for the domain's first vCPU, loads the kernel, initrd, and device tree,
>> and sets up guest CPU registers for boot.
>>
>> It also creates additional vCPUs up to max_vcpus and assigns the device tree
>> address and boot cpuid in registers.
>>
>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> ---
>> Changes in v3:
>>   - s/%d/%u for printing vCPU index in the failure message.
>>   - Drop dprintk() for successful vCPU creation.
> 
> My
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> was lost, however. One more remark:
> 
>> --- /dev/null
>> +++ b/xen/arch/riscv/domain-build.c
>> @@ -0,0 +1,50 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +
>> +#include <xen/fdt-domain-build.h>
>> +#include <xen/fdt-kernel.h>
>> +#include <xen/init.h>
>> +#include <xen/sched.h>
>> +
>> +#include <asm/current.h>
>> +#include <asm/guest_access.h>
>> +
>> +int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
>> +{
>> +    struct vcpu *v = d->vcpu[0];
>> +    struct cpu_user_regs *regs = vcpu_guest_cpu_user_regs(v);
>> +
>> +    BUG_ON(v->is_initialised);
>> +
>> +    /*
>> +     * At the moment *_load() don't return value and will just panic()
>> +     * inside.
>> +     * TODO: it will be good to change that.
>> +     */
>> +    kernel_load(kinfo);
>> +    initrd_load(kinfo, copy_to_guest_phys);
>> +    dtb_load(kinfo, copy_to_guest_phys);
>> +
>> +    regs->sepc = kinfo->entry;
>> +
>> +    /* Guest boot cpuid = 0 */
>> +    regs->a0 = 0;
>> +    regs->a1 = kinfo->dtb_paddr;
>> +
>> +    for ( unsigned int i = 1; i < d->max_vcpus; i++ )
>> +    {
>> +        const struct vcpu *tmp_v = vcpu_create(d, i);
>> +
>> +        if ( !tmp_v )
>> +        {
>> +            printk("Failed to allocate %pd v%u\n", d, i);
> 
> If you dropped the blank before v%u, the output would match that of %pv
> (improving the chances of people actually spotting that the exact same
> thing is meant). Once again - can do the adjustment while committing,
> provided you agree (and provided earlier patches gain the necessary
> acks).

I will be happy with that.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:50:01 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:50:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340344.1601391 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZomL-0007Ej-Hc; Wed, 17 Jun 2026 11:49:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340344.1601391; Wed, 17 Jun 2026 11:49: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 1wZomL-0007Ec-Ef; Wed, 17 Jun 2026 11:49:57 +0000
Received: by outflank-mailman (input) for mailman id 1340344;
 Wed, 17 Jun 2026 11:49:56 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZomK-0007ET-Em
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:49:56 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZomJ-008uUz-Rb
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:49:55 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3289c1-2eae-0a2a0a5409dd-0a2a4505b4f4-42
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:49:55 +0200
Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3289e3-aaa8-0a2a45050019-d155dd35bdc8-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:49:55 +0200
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-45fe59255beso3198173f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:49:55 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f26392esm52807421f8f.3.2026.06.17.04.49.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 04:49: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781696995; x=1782301795; 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=Y+JmMRdiQ2ZDHjhBhjtyk7zXEv8dXcz/l8u/XLNspV8=;
        b=kteTZ6bB8Vnapr3F5O2w7IfZdk2ggS9RETiew5V3lBfF55h9HyHe5Y3J2lSFuthOHt
         TPaoS0/HRmjMdwTahn+oxokvUysO3RinOmfxyslY84uuQSETIYJ4GkVsoyb7ew7iugpM
         ZgNAeBLwcBGGCz/cHM/p0wTWejjHwXONswtt9+0UT3IaYOiAwn55hO96QPCkoT8th7m3
         wtX38ETFxscubyJZxeOj1sV3v3IZeIaYTXfxliO6i322SOw1T1XqOOGIsfwi0YCncTRg
         pPFivuRe8ups3A0hUQ3CPnIblVlGelWKFP6GYeYIFmggt6LxS+hPF64EOIgumR13jIN2
         Jyug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781696995; x=1782301795;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Y+JmMRdiQ2ZDHjhBhjtyk7zXEv8dXcz/l8u/XLNspV8=;
        b=aU0uWT7Gx1xXCtGkWIBnpENC98JhU2fXqkFS26OarZIO2G2/hdcXW40kVZD6LhBpe+
         V/+lhNo2Er8w5ryZHiFhJOZyaKln9ycWQiwm0DaYEnpCVi8KCr1W2Tf8KRUzqz2CKdJF
         QDCsv9m9c5JOxZNM/8VtclBVt1QtYlwznboxarg6n2YLxweMxsWQSzcPzX7B3NcCQEFi
         Zwn4X9CkKSxqfsgeprhDNu/uB7JhJ8u3413Sj7U7SQ9MbvMy7Psr9yzRrP83NX2V75sV
         wmChNQBRcay/j0i57BbVnKOIL9+GAbjBPCXb/zLF4z76clJSQOIyeY1R8G5sXvL19XgM
         cvqQ==
X-Forwarded-Encrypted: i=1; AFNElJ+eBInmnTzjkFheesF+L2Bsp1NxpqwggUft6wlsDkvt4TwfxobJRomb3arAOWVESxZZhOm85A4JPf4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzUPmOclWkKDnnoJstxcKVOnY1rTUyOfL11hb6lPvZzqrNBVczs
	ftKpwjt1fdH43P4iKn4ryIuhVGBSk0bmalQa6ThGcWDc+2IGyaKoey4c
X-Gm-Gg: AfdE7ckxMPFEcZJ0wVvlOSUU+mx3rjASif52Fweghf0s/zypf2nlcHbbKq+ecOPHEu5
	873MU4eCjSYFjMe0Mi0MN0WtGFGtlZ26xjMFenMLqHG4BzOHQQEHqi/fKc63lJfS1I/+sxefxqM
	hgTN/XzjsBtXKAUSIuweG5BNIXZ+7zOWWHD981tuBYIW90wITPJQI5nWyCh4oZgrTIq3HkHPRHV
	CA8nRNc3Y6SoYvYSveoKyVYytznqo6a6itK+y6LV8uWsi+Oi/Ob0Uv3VA/3WeI5xWv206WRMpnx
	2xfNEw1JmpAktGNEqfBtJgYn4H7n7hw6G1QJx0tCVQS9K3RJWVsk1YaqaiOtIIL87XCRslGOLxv
	rdY2LUQBSc7kgyGJG9VHXhnW4S50zuAWUMltUbdUoESxjJqM/BGaG+f+tVo5fs4xsel2UFQlEPK
	I7q4B+f+l9crrxHCY1zNvgAFe+q8PX22ZBvzLV1Jumx1+z8gASDfGSj2cKAiDvCfflGso=
X-Received: by 2002:a05:6000:2088:b0:463:1885:6b72 with SMTP id ffacd0b85a97d-46318856dfbmr2298480f8f.11.1781696995086;
        Wed, 17 Jun 2026 04:49:55 -0700 (PDT)
Message-ID: <c4538a3b-23e6-4bb5-bc12-1bfd32095d16@gmail.com>
Date: Wed, 17 Jun 2026 13:49:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 09/23] xen/riscv: implement make_arch_nodes()
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <738f97f8ea8bb588742c3f03d3cb2d24f399b602.1781693963.git.oleksii.kurochko@gmail.com>
 <d55f0b2b-3352-4d05-85dd-9c89b73bd338@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <d55f0b2b-3352-4d05-85dd-9c89b73bd338@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1781696995-E2193443-97D37A76/10/73395122804
X-purgate-type: spam
X-purgate-size: 662



On 6/17/26 1:30 PM, Jan Beulich wrote:
> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>> No RISC-V-specific nodes need to be created at the moment,
>> so make_arch_nodes() is implemented to simply return 0.
>>
>> It is placed in dom0less-build.c as make_arch_nodes() is
>> only used in the dom0less code path. In the future, it will
>> be extended to create an emulated UART node.
>>
>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> ---
>> Changes in v3:
>>   - Add Acked-by: Jan Beulich <jbeulich@suse.com>.
> 
> ???
> 
You gave your Acked-by in v2 of this patch but I missed to add it.

I am really sorry.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:53:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:53:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340352.1601401 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZopy-0000M0-WB; Wed, 17 Jun 2026 11:53:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340352.1601401; Wed, 17 Jun 2026 11: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 1wZopy-0000Lt-TY; Wed, 17 Jun 2026 11:53:42 +0000
Received: by outflank-mailman (input) for mailman id 1340352;
 Wed, 17 Jun 2026 11:53:41 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZopx-0000Lm-3H
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:53:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZopw-000bjM-GN
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:53:40 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328ab5-5cb7-0a2a0a5109dd-0a2a4502d350-44
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:53:40 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328ac4-af86-0a2a45020019-d1558035bd07-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:53:40 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-490b12270b3so34817925e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:53:40 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2e6a8fsm54334241f8f.37.2026.06.17.04.53.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 04:53: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781697220; x=1782302020; 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=DbLksA3BholJDia7lte/EbDKvlwduySUNQKPC1qhceU=;
        b=QuXeSHtK8z3L1bd65WjquSDrHniVJQqS6um4pMeYvheH15xQbC9L3Nne/DGmJPfxhd
         4B1KiLHX909BC3MsrDo3lKZehZWvjlnI2tUVzswFNKkGzBG900yunPAgVbc10+k9oocN
         EoiGOzMA/zplqrSrL4UJdhH3lY6M3nFyR2ENSAESg7YaROK1tDuPZQ1pbOR7Cwwhltj2
         PaHZgHbWAtAhuZkn8n9OpVnNvnPtfTsS2WmO6opLmlXvORRatK0JzWM+DnPMdwt6iN70
         DrzDRI+SRVhkcnKxnVzyUtolZZPkXa1dzgF3opz+tSuoA8Rjje/fXyaJWZCmnvnC4jFu
         GpGQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781697220; x=1782302020;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=DbLksA3BholJDia7lte/EbDKvlwduySUNQKPC1qhceU=;
        b=TeSsoxsCcvEhQ6r2d2tE0rdxIzi4Mv0v+NMwisDLpFeQTy7+rHSW76sbp1rvmwjHZh
         9Vgrdejyd/jYzMvRc4gjvoKxbr6/8EJGNmumgaNSlYTlHaEeFtq0nKyfTQOt7a78O0RD
         SFkZ0/0jAlDvYRfyRIxIw7+q6/j+7hJOZNxo3dBjVXvkbunoc2DGUDaT5RNEjup71GUD
         AIpan+WMRTR+leC8E6As9WzrwthiuSzW0NzyCegP9kWXs1kpYorKFO2VpXz7+8OxoQ7R
         IBt46kVW0QaQaXdFNFWxYNYBcc2I0Kq70bfxdrho9yLeUxnkCGFC+Dta/6asTMvcQb68
         TaRQ==
X-Forwarded-Encrypted: i=1; AFNElJ8+dkGErujg4TdEpuXd2ZIFRHO2KVzaVbHhf+1FHiBF/7w7ZHkGZCpF4hI5BJi4ZOUV5XtGev15g3U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwwiroTpoLUUQnDXmr/mP4PU7kEIJZpbl8ACy097/p2UEH5+joM
	IzXtXrVxbm9hRO3t8Tn6XneSGHcESylAq5IsdmjLUUkvpIJBpJqBlpx+
X-Gm-Gg: Acq92OGR8rkHCni0LhVpWEOUOzAFjBS717ZoY+h7OTNcYRolEJR6bUsjq6OX4eZvmBn
	R8QzFf/OUnOmSWXXw3j7TBRs8U1aS/RwNo8vPjiSXhYrxj66LnPQORHMzPk+X2Z9px3E2Um9VHO
	odgvsEIwyEjL+UNnji2p8Yv0R5KTSForC8HK4fcuOceYpN2l6xlKD6CMLeKBqJ9tj3HQDJ7svef
	Ok6MYlJcX96hXNGYt7LGjgJcKpxzzd6gd6m2xTOc8bCnQgdWO3JgyGc3GIZbDOk3WlH8wcj8msV
	17lZay9AAQSsa88IsIfrZvkdS9ElPVwPXEPNloMC4KDsoKCbn9gRlqL75RjR715hYAKVwVlbNV6
	r3P1ZBaFxuxzNxRp/aVpoCIOnBtj/b3XYQzoOEJa178KizwjYGjIEOESb/MDtXqr2IQr4+cgkAm
	VmQYJntYmnF3m9rZFY8ElaGNeQyrDT/e5Lf4f1LuncSCSjKQtTzwh1z7NePEqfaZ1cZm4=
X-Received: by 2002:a05:600c:8485:b0:492:3173:b17 with SMTP id 5b1f17b1804b1-4923412f148mr41360775e9.17.1781697219790;
        Wed, 17 Jun 2026 04:53:39 -0700 (PDT)
Message-ID: <03cb6dc5-9ce7-44e0-be3e-441bfa038fa9@gmail.com>
Date: Wed, 17 Jun 2026 13:53:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.22? 6/7] x86/domctl: don't imply I/O port
 permissions from I/O port mapping
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@suse.com>
 <e88a6015-8867-41a8-907d-b6749b1d2549@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <e88a6015-8867-41a8-907d-b6749b1d2549@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-720697/1781697220-8057B161-7ECAF42B/10/73395122804
X-purgate-type: spam
X-purgate-size: 1969



On 6/17/26 11:30 AM, Jan Beulich wrote:
> Rather than granting permissions when mapping (an operation that DM-s are
> allowed to carry out, while they can't invoke ioport-permission), check
> whether permissions actually were granted when adding a mapping. This then
> also allows relaxing the necessary locking.
> 
> While no longer granting permissions upon mapping is "only" at risk of
> breaking guests, no longer revoking permissions upon unmapping strictly
> requires callers to additionally invoke XEN_DOMCTL_ioport_permission. Or
> else a security issue would arise. In-tree code already does so.
> 
> While there switch to using %pd in the two log messages.
> 
> Fixes: 192c4dabc344 ("domctl and p2m changes for PCI passthru")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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

> ---
> libxl has libxl__grant_vga_iomem_permission(), but I can't spot any I/O
> port equivalent (nor a revoke counterpart, btw). Everywhere else MMIO and
> I/O ports look to be treated equally.
> 
> Qemu uses both xc_domain_{iomem_permission,memory_mapping}() in
> igd_write_opregion(), but only xc_domain_{memory,ioport}_mapping() in
> xen_pt_region_update() and xen_pt_{,un}register_vga_regions(). Is the IGD
> region special in any way? Clearly this can't work from a stubdom.
> ---
> v2: Avoid double evaluation of "add". Add ChangeLog entry.
> 
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -14,6 +14,9 @@ The format is based on [Keep a Changelog
>    - On x86:
>      - Enable pf-fixup option by default for PVH dom0.
>      - The libxenguest bzImage loader now uses the system liblz4 library.
> +   - XEN_DOMCTL_ioport_mapping no longer implicitly grants permissions for the
> +     port range in question.  XEN_DOMCTL_ioport_permission now needs invoking
> +     up front.
>   

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

Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:56:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:56:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340359.1601410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZosG-0000vx-Fj; Wed, 17 Jun 2026 11:56:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340359.1601410; Wed, 17 Jun 2026 11: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 1wZosG-0000vq-Cc; Wed, 17 Jun 2026 11:56:04 +0000
Received: by outflank-mailman (input) for mailman id 1340359;
 Wed, 17 Jun 2026 11:56:03 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZosF-0000vi-3G
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:56:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZosD-007MpT-7n
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:56:01 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a328b50-e002-0a2a0a5209dd-0a2a45018d2c-2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:56:01 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a328b50-c1f2-0a2a45010019-d155802de06c-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:56:01 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-490be29c1c5so60038715e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:56: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-4922fa9f2c0sm189684825e9.15.2026.06.17.04.55.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 04:56: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781697360; x=1782302160; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=4WcQTAoQXSeF1DT1GHSpSc8uhEGqlm27mbnk0mkGJk0=;
        b=F/L++RUuC4m5I7dL4+z4A+ymagpmSgh9tMkdzX4NQ4KiX8V1XCFX+EV/9/ZBuLrz0L
         ie1B7SSObndzsX5dP48h10IxlBBTzhyYcoNBVb8A0f3KvQNaMDPm0ZsOZaarN3cNvp/A
         tVZ3U3YKSOUUXl/TUqjrIlRg0ncT7e5C3l6Ru7ZQOGuRTKJ9yyO3f4kJ4DFynMxlSKBP
         JNz/NQB91FrzHNwxJDJTlwQvtqWGxFcQbuv5OGpZTatvIfHcWMZVZ7AobYIgraHB3bOZ
         qXnMuASWWRbknMBlbRidXjbFkO9ASP7bWN6UpQWnRWbobGQDYxOyIhqIE8Y44rM/jDBf
         1hbQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781697360; x=1782302160;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4WcQTAoQXSeF1DT1GHSpSc8uhEGqlm27mbnk0mkGJk0=;
        b=aFVlmR0TAYhI2mU+agJNWv2qDOBFYkWkadOPIrq8Xv9SfjZAObWIy6EP+Vbx5EJ/Uj
         GsPwqBsxney3ToGbYQjNMaStj5tBMt0XJwMG3Fv3q9k2/gfTYmPtrHzUvQDv++8N1ong
         IJqc3faADgo/X/66s8kZNUJT8ujvt+GyFIVMQ2GYy4Z/BGS0Lppc9M9hWXDecdT3W4Ki
         KR+l0gfsryc5HlLd/0axTZpp9zOu8WQKPqRBZKB0d96tKuXfK70cB5RUPlQ16ilT6axN
         1fkisucTo06c9pvyYlf6QQcDgq5lGJdKI6RzihSpzSkeJrbAeGXJDRztFSvm5efc4lBl
         K9wQ==
X-Forwarded-Encrypted: i=1; AFNElJ9H+hgDLTnek7XxqwfHfuzKtCgnQSR5whLHSYSnN/+476Cg64T+/nkl/9UgGr/qMfisburzOT2c9oU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzNFiw0mBvERHWJD0qaCsMWJkN6pUftpvVBfT/eStJoxvR8Ffbh
	kHTmeNADYxG9//LdsQeuVoPOdfM0GxTGGSpfmYCPi8bIr0UOSasr4PlOvuDwCeEGIA==
X-Gm-Gg: Acq92OEyaDvX39Z9tLRySrGptT3zbvE+b3TiElc9go1fk9GXB1DXYQQbFx4Pp6IqfNE
	jTw5TUvrcdn80xk1JjT6n4GHQES12lvysOCQi9GrkTEHo8HDA/0lc9fWLrF7p5yQo11q9aEAieo
	6kv/pztDdYawTekb1kOCxZ4hNT8/3CviLAo/qJXwcf/SF/vxV+ocHDGQzGTHnLGQoFZGiMig2ye
	qL9NboWIAefr26jdFwGpsk9YIx8osxxJyXIZInvMHndlYmXW+zhz1qYe79tXkkZtpWSLbh8YELu
	/JPw38Tti6OQGVv2WtxztIcwVgPxbCOa36KTc0CAVBSi+E/t1++v/thWp8oezRIhzVU7QMySirh
	ALbMZ6PFsUS16j4MIPGS88TSfoPrJ27PJh47OdjywhDzx1WGrfeXe6i8Yhy9b8uOXGmu35sRpaE
	VSEnlzViuLOCkI7fSGk+HHgDspvyvkPjp+OwTvX4GZaZx8kUu/fuR3UjvfzAMlU7SNwTZ7dpBpT
	B7E
X-Received: by 2002:a05:600c:3e05:b0:492:2e58:666c with SMTP id 5b1f17b1804b1-492333f8014mr64674765e9.37.1781697360483;
        Wed, 17 Jun 2026 04:56:00 -0700 (PDT)
Message-ID: <274b06b5-88b0-4a40-9af4-4ad80a99f3b5@suse.com>
Date: Wed, 17 Jun 2026 13:55:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] xen/x86: Always strip xen.efi
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Frediano Ziglio <frediano.ziglio@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260608173108.2848469-1-andrew.cooper3@citrix.com>
 <b310db60-850a-4096-8900-54d0816e5063@suse.com>
 <965bcf53-accf-4297-bf8c-903dce45cba0@suse.com>
 <CAHt6W4f5KzkRhbDnCMS82zpAJ04-UkBoOXowyG=A5CT3yNSv9A@mail.gmail.com>
 <547d8b85-3537-4bb0-bddb-2ca2f14eb355@suse.com>
 <CAHt6W4crK-Lgt6rTsERupEGhdXtjjKJvh3F=K_U-3vXDtcETBg@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: <CAHt6W4crK-Lgt6rTsERupEGhdXtjjKJvh3F=K_U-3vXDtcETBg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1781697361-B4B4EFF4-292F83B8/0/0
X-purgate-type: clean
X-purgate-size: 2018

On 16.06.2026 16:28, Frediano Ziglio wrote:
> On Tue, 16 Jun 2026 at 15:15, Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 16.06.2026 16:07, Frediano Ziglio wrote:
>>> On Thu, 11 Jun 2026 at 15:42, Jan Beulich <jbeulich@suse.com> wrote:
>>>>
>>>> On 11.06.2026 16:38, Jan Beulich wrote:
>>>>> On 08.06.2026 19:31, Andrew Cooper wrote:
>>>>>> Some old versions of binutils ld managed to produce efi files which the
>>>>>> matching version of strip couldn't process.  This includes Binutils 2.26
>>>>>> included in Ubuntu 16.04.  Delete the workaround for this bug, and require a
>>>>>> less broken toolchain.
>>>>>
>>>>> And we're certain newer versions of strip don't do any harm to the binaries?
>>>>> Already towards Frediano's posting I said that having looked at how things
>>>>> work there, I'm far from certain.
>>>>
>>>> I should have added: An option may be to link twice: Once with debug info
>>>> included, and once with it stripped. Personally I trust the linker creating
>>>> the various headers, including the section ones, more than strip's (or
>>>> objcopy's). Yet then I can only repeat my observation that linking PE+ from
>>>> ELF inputs looks to be significantly slower than linking ELF -> ELF.
>>>
>>> That was also attempted. See previous versions. And no, it does not work.
>>
>> How exactly does it not work? When stripping debug info while linking (as
>> we now do for the first two passes), the resulting image should be both
>> small enough and correct. What am I missing? The only caveat I'm aware of
>> is the Eclair scan, where we should avoid doing any work for the
>> "auxiliary" linking step (the one not producing the binary that's actually
>> going to be used for running Xen).
> 
> One thing I remember was the build-id was not the same and debugging
> tools could not work.

Hmm, yes, that's a little ugly, but can likely be dealt with by using
--build-id=0x<hexdigits> to replicate the build-id that was generated for
the main binary.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 11:57:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 11:57:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340365.1601420 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZotN-0001P0-Ot; Wed, 17 Jun 2026 11:57:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340365.1601420; Wed, 17 Jun 2026 11:57: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 1wZotN-0001Ot-LC; Wed, 17 Jun 2026 11:57:13 +0000
Received: by outflank-mailman (input) for mailman id 1340365;
 Wed, 17 Jun 2026 11:57:12 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZotM-0001Ol-Mi
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 11:57:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZotL-00FYE1-LJ
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:57:11 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328b8d-5cb7-0a2a0a5109dd-0a2a450ad2b0-20
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:57:11 +0200
Received: from [209.85.128.47] (helo=mail-wm1-f47.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a328b97-56b3-0a2a450a0019-d155802fd4ad-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 13:57:11 +0200
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-490acbb0f89so36862885e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 04:57:11 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-49230a9b45bsm128734775e9.15.2026.06.17.04.57.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 04:57: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781697431; x=1782302231; 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=UcEj/wX8+0v0s7gTYD+pD7os/25DvNNp/UVvbt2iki4=;
        b=JkMiV/i8klO9DqUi+mEJYBx/3rnFuBVSV8OTFofsOAaivL9Zr9KICa5nM+NokjV5AE
         ADFvS20JBeoP1okHdOc8LfnbcBBBN+c5MP/6voGKuslM7To7cVb1VXhwP7IkzsvykbIJ
         aUa9kZaRnQrq8wa7S+S+4yPVN3pL3XDEHm71N/o3Jj+DoR5MRjmVUoPs+be93QLx8dh8
         JH+Q5iqbudJmgNq84PVzo/2Q/BxgeZTjiCl/VZ0wMfruGddaqS/uDHCf1vDGbqkP79yn
         UOYfR1Puj34d7Fh7JNdsYONBznX2jYJ8xY6EBWl8XXcyxV+rx43sRKHcMneCby5zw21q
         6e0g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781697431; x=1782302231;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=UcEj/wX8+0v0s7gTYD+pD7os/25DvNNp/UVvbt2iki4=;
        b=pT4WmazrbTqQvYeZ+kt25Mvk6yeqwoKvt4CZCtzxY0YfBup4CPmfTsfZB7E4WQIrAv
         BXfR74lcRbpGiJ/J2VWNSYESs9A98175nUvg47oqiJjxBponNAYuP3T0uJI5R/Bp4ACC
         E/Gb1qQrKR/81eHGvlHTDurm5QzwdpxnSH/ZMeuXhf2SfemoQ392tQ9OgzcpPf4SwiwW
         Nn/0QEBd3XXY0cebFh8/Ns7PBdEGqsEIeUu1FR4QFt/JMI4mvVsHC6EFXygaGul+fwY7
         8wFBVSApYb1gxunjwEbjxFNRZygfqoligaDcsKvEknsC9b3xDQH4HvJrEEnX8zZQYrhd
         s2WQ==
X-Forwarded-Encrypted: i=1; AFNElJ+VdYwPXwt42UyfYRBrqv9qE4wq9SkabTWUR7CUReWdEO+HsO+vzF7TEvMsOA76tbsxxkBJBlIFWqg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwL+Ti+PF6D7//aCeWKhTX9BMPVvaUWdksizlQ/04/KlzKrtIwV
	Q2MWAdkQFbgNuCDE9qcoX9+penmJezE+epHZmRhlxCy74Ip1Db/BWPv3v5lurw==
X-Gm-Gg: Acq92OFjFuxDBgQyOajW3dwGfUDU98yL500Hsdsjyj+2sr6vT2QMMkruG2AH7PGoRl6
	V1AB3ZDLtBsZjUW51dCI5rilRRtR1DrdB2hXEjGV1g/lw1nfh4aRPZpaltj/GugYJ7QIravhFEj
	nvDPZpYdMu9z79G24+vjBr5j/Gzqb+cucseIFkmlBXPkXUCa0BwoFJs/7mIlMSwD2W9m795CueR
	agOFD/DEvgziqfkAMq2KtLexuzrDEaWvbj+zUjldtDamT7reCAcG7YDJLc+kZiUPbqJ0uz9lCGz
	3OWzCKEcsFDGawvHzELZ62FCYyGQVKnOue5+7XnHc6yTVFfGRGe/LKQ9c06csWP1RFJpAy/ZB5A
	UjaZ2dZckf5rCt/aV3SprJVpNrIhI+dJ1WXLXUZfwqZB/sv/rZackcqVK2fPlqYxvnsjdPTioDi
	XOiSadpkGucwAzAdrRAsmWLje7Ix7ffY8+tUgtHwq+JWEqgTJlJU6Z3yZnGuo4qRD66Y8=
X-Received: by 2002:a05:600d:103:b0:492:10e8:3f92 with SMTP id 5b1f17b1804b1-492333c94f6mr41085095e9.17.1781697431025;
        Wed, 17 Jun 2026 04:57:11 -0700 (PDT)
Message-ID: <b25b051d-c37e-4110-b250-a3c2ce34a936@gmail.com>
Date: Wed, 17 Jun 2026 13:57:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.22? 4/7] domctl: restrict permission check for
 XEN_DOMCTL_memory_mapping's remove form
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@suse.com>
 <f17b9ac9-abeb-44c1-8eab-6b08d563bc5a@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <f17b9ac9-abeb-44c1-8eab-6b08d563bc5a@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-4011c0/1781697431-7176D8B7-0AD39D5E/10/73395122804
X-purgate-type: spam
X-purgate-size: 414



On 6/17/26 11:27 AM, Jan Beulich wrote:
> While the granting of permissions when mapping was already removed from
> this operation, check whether permissions actually were granted when
> adding a mapping; the check of the requester having permission remains
> unaltered.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 12:07:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 12:07:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340384.1601428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZp3b-0003oB-Qa; Wed, 17 Jun 2026 12:07:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340384.1601428; Wed, 17 Jun 2026 12: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 1wZp3b-0003o4-O8; Wed, 17 Jun 2026 12:07:47 +0000
Received: by outflank-mailman (input) for mailman id 1340384;
 Wed, 17 Jun 2026 12:07:46 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <marmarek@invisiblethingslab.com>) id 1wZp3a-0003ma-Hm
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 12:07:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZp3Y-007Phs-9j
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 14:07:44 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a328dfe-2eae-0a2a0a5409dd-0a2a4505d8a0-36
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 14:07:44 +0200
Received: from [103.168.172.156] (helo=fhigh-a5-smtp.messagingengine.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a328e0e-aaa8-0a2a45050019-67a8ac9c8401-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 14:07:43 +0200
Received: from phl-compute-12.internal (phl-compute-12.internal [10.202.2.52])
 by mailfhigh.phl.internal (Postfix) with ESMTP id 7246A1400168;
 Wed, 17 Jun 2026 08:07:42 -0400 (EDT)
Received: from phl-frontend-04 ([10.202.2.163])
 by phl-compute-12.internal (MEProxy); Wed, 17 Jun 2026 08:07:42 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 17 Jun 2026 08:07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=1781698062;
	 x=1781784462; bh=W4aAw6qOIq3sI4mi6JBhmj6bX1fIcdNsnSDRgLb/87U=; b=
	abg/6AL4c6UPblFFhw9i2yk7zX05rFkGkdAuw8mfzhwcpmw7Wc0wcIdzkwCmYubV
	AOdiYbmvpWdfQkrX8hFMtQYhIom+RS8x9U5V7WkwJJbJttpPZ4O1nG3xDU9EweRm
	crHWAkrNDkFOGGgtW01movgSc52nyluipmAV1SoGdO0dSjP2husfDLxJteFLpX2x
	Gh/6lFhKaqjWjj+wP2anOgsYNecqJj4gDB0BGImO+knHfGIMzwIC6g/l2Jdw5xya
	fkg/5G/RbCX2EwiaFuGR22f2eabwvCrAl0fZuAhDRLcZtRUuO04LwXXz/phE98hg
	qmDX1Zdw77vjI0nX7v3P3w==
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=
	1781698062; x=1781784462; bh=W4aAw6qOIq3sI4mi6JBhmj6bX1fIcdNsnSD
	RgLb/87U=; b=iKmwFUFNojXwmLkRI9s+bxOR5tZc9ExDSOFzDWmJlRp35EKssKC
	iUzWxpxzdy4QssSiZHI56Q89kQycESlY+sFxxV7dCAdyB6qxoFLHVh2/mIw0zk27
	sI3sI58icfWHoffAMDtzHJHXgyjUx/ViradDDcCDgAz6ZSNrwpcBZ78GvHg2DOlG
	4/NDDhBJvN0jvD8OEmueWXsRD2FIyzatihF4r3UsbucFB/AYtT6hANfJur2hqi3T
	qzYffJZRl/EZPgWBFqc712RqbaI56S1JWIuyLUD+Id4omyhD1b5XGveN1GfSL+rV
	GNo6tfouLcrU7++UPJrTEnN5eraoEgvmsMQ==
X-ME-Sender: <xms:Do4yatxgXDmW6haXSDsTYNSat92p7FiGb47E9xlluw4iw6jn4tBtEA>
    <xme:Do4yav3F3rACATshcNfrfkGPVhK5qVq2HcmRZEiOocF9pg--G-aHHi1n6Lrd-tnFP
    4-yeiWNG18zAX6O60m2WbqZlv6CQGlZNn_OGNV71uo0zAV3>
X-ME-Received: <xmr:Do4yaq9vFee-o5vp8ZMugkShXScODZRTKp_LZhoX4x6n6i20SrbI8YGi-CvB5F7ehyQzVrWLnvZMTV5b9VagTQpQ0JqtcWua9mU>
X-ME-Proxy-Cause: dmFkZTEGLYs+tWDDKh5Xv/g4gNVsRZ+AgkI736HJiwf3zB0qYG0MUTHl8pHnWlm3or0ZXb
    m4tcT7bCvXsJRw6MihoROv9MV+9qCjIu9F3KXbseeN+R5qBy8sBumLrzFvwGW0vUUw1zIR
    VrVzjjyT/FLwkuH0KEqfgCN7bH4sdonbGMcZ6X2wJ2qvP2M6NO4jBlMtfZnMtA7QDA+hsf
    0a/MtX0QZNredJvmF/UsaRdrgI8bdh/zjUSM59csmNAAYOUYi+tinVypPrtoR7HZ2+b1yz
    qE0ou/dMhBzyaD+vL/9lazAKPjOPG/9JHPLD2GjYIazOWzHOMKAccqBnLLAtbWVHuOI3ge
    SDE14b5e7V8QtCPnZJ9abHpRKwm4wNpRgZGsUdiIoO3eCvEcMI9Hg1GLLQLcAJQSbo2C/3
    tzK1ZdD53Mx4V5uL2Pvumuar4LU9+xDJtP9rGCRwX094ulPC2VDtEK+NN54hDhQsNmfNnC
    2uaEnSmI5T6j1HumrqB9bSMuFtJyxEr80uQPKSawWyxcdGk+QDF0Tgvo+7rn42yCXDHusC
    UeI1HfUOGAXe6FwFBg2a5YE8bo/3mv86wsePlwmbRnNdq+MAP4m6g8SB5MJJ1N8nsWtD6O
    PlfQbqO5vHtQRaFtoAlqvEZryD3HYV+u4m8WJ0bkTvSyV8spChmmxhhRfl+Q
X-ME-Proxy: <xmx:Do4yavp8WGvDxi-JG_jXjxncpFsAwfdOknfAtFZuyG5kBLNyUXkkow>
    <xmx:Do4yakQC7rg53aV2ASMN15GiCm7V_-jQMnw38BDK1Uc_u6Jy-EZOOQ>
    <xmx:Do4yaiPFsbMSyewMzkVLXoYXsJt5xceZtuV7tFanOlpabOEj37N5qQ>
    <xmx:Do4yaiheGRn13dHjlvjdYAq6YNUsIpEN7F6RDo7IRGUWxjf0w5amHg>
    <xmx:Do4yanV-7KPExqsA7MQdPsL9BORQhk8IuulWEd8rA6HZlw9I_ouGfG5J>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 17 Jun 2026 14:07:38 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Frediano Ziglio <freddy77@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH for-4.22] xen/x86: Always strip xen.efi
Message-ID: <ajKOChA5NFFnytEq@mail-itl>
References: <20260608173108.2848469-1-andrew.cooper3@citrix.com>
 <b310db60-850a-4096-8900-54d0816e5063@suse.com>
 <965bcf53-accf-4297-bf8c-903dce45cba0@suse.com>
 <CAHt6W4f5KzkRhbDnCMS82zpAJ04-UkBoOXowyG=A5CT3yNSv9A@mail.gmail.com>
 <547d8b85-3537-4bb0-bddb-2ca2f14eb355@suse.com>
 <CAHt6W4crK-Lgt6rTsERupEGhdXtjjKJvh3F=K_U-3vXDtcETBg@mail.gmail.com>
 <274b06b5-88b0-4a40-9af4-4ad80a99f3b5@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="GSxFomIv1H6lmuos"
Content-Disposition: inline
In-Reply-To: <274b06b5-88b0-4a40-9af4-4ad80a99f3b5@suse.com>
X-purgate-ID: tlsNG-c201ff/1781698064-E199F443-F5EAED0A/0/0
X-purgate-type: clean
X-purgate-size: 3920


--GSxFomIv1H6lmuos
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 17 Jun 2026 14:07:38 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Frediano Ziglio <freddy77@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH for-4.22] xen/x86: Always strip xen.efi

On Wed, Jun 17, 2026 at 01:55:59PM +0200, Jan Beulich wrote:
> On 16.06.2026 16:28, Frediano Ziglio wrote:
> > On Tue, 16 Jun 2026 at 15:15, Jan Beulich <jbeulich@suse.com> wrote:
> >>
> >> On 16.06.2026 16:07, Frediano Ziglio wrote:
> >>> On Thu, 11 Jun 2026 at 15:42, Jan Beulich <jbeulich@suse.com> wrote:
> >>>>
> >>>> On 11.06.2026 16:38, Jan Beulich wrote:
> >>>>> On 08.06.2026 19:31, Andrew Cooper wrote:
> >>>>>> Some old versions of binutils ld managed to produce efi files whic=
h the
> >>>>>> matching version of strip couldn't process.  This includes Binutil=
s 2.26
> >>>>>> included in Ubuntu 16.04.  Delete the workaround for this bug, and=
 require a
> >>>>>> less broken toolchain.
> >>>>>
> >>>>> And we're certain newer versions of strip don't do any harm to the =
binaries?
> >>>>> Already towards Frediano's posting I said that having looked at how=
 things
> >>>>> work there, I'm far from certain.
> >>>>
> >>>> I should have added: An option may be to link twice: Once with debug=
 info
> >>>> included, and once with it stripped. Personally I trust the linker c=
reating
> >>>> the various headers, including the section ones, more than strip's (=
or
> >>>> objcopy's). Yet then I can only repeat my observation that linking P=
E+ from
> >>>> ELF inputs looks to be significantly slower than linking ELF -> ELF.
> >>>
> >>> That was also attempted. See previous versions. And no, it does not w=
ork.
> >>
> >> How exactly does it not work? When stripping debug info while linking =
(as
> >> we now do for the first two passes), the resulting image should be both
> >> small enough and correct. What am I missing? The only caveat I'm aware=
 of
> >> is the Eclair scan, where we should avoid doing any work for the
> >> "auxiliary" linking step (the one not producing the binary that's actu=
ally
> >> going to be used for running Xen).
> >=20
> > One thing I remember was the build-id was not the same and debugging
> > tools could not work.
>=20
> Hmm, yes, that's a little ugly, but can likely be dealt with by using
> --build-id=3D0x<hexdigits> to replicate the build-id that was generated f=
or
> the main binary.

IMO linking twice (with and without debug symbols) has a great risk
potential of producing different layout of the binary. While arguably it
would be a bug in the build scripts, it doesn't matter with strip
approach (used by virtually every other project I've seen).

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

--GSxFomIv1H6lmuos
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmoyjgsACgkQ24/THMrX
1yzW6Af/ZpeR/iwo775ZylbfT5o1xKlEbuSzo1T7fYQlnAfQCbhImL4knW5AslpA
XiRDGG9J0vA6PDpMK19yHychGls5Md5lk4opQpmV4/JVpEkwHdgPHS3/I4zi21t7
3agBga2rst03nc3Qhcidqx8+UTFMpQws279NB7SsL2udQLgv+6+QJp5oIa23mycj
JqfZZ3+SN3U+F512gXgkyHdpwP/SFsK/t5M6qV5iAyiZTioyFRNN0tcdh8dHARML
DSavF77gPYjxxxi3ETIRyn+22wHVNlev+2R8wViwjXKydyBFUuUL8IqZNbZt523b
fRMdrePdRyyTO6Cq9qOEFIFP/GiLJg==
=Rs5n
-----END PGP SIGNATURE-----

--GSxFomIv1H6lmuos--


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 12:09:58 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 12:09:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340389.1601436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZp5e-0004VK-52; Wed, 17 Jun 2026 12:09:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340389.1601436; Wed, 17 Jun 2026 12: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 1wZp5e-0004VD-2D; Wed, 17 Jun 2026 12:09:54 +0000
Received: by outflank-mailman (input) for mailman id 1340389;
 Wed, 17 Jun 2026 12:09:52 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZp5c-0004V2-9H
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 12:09:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZp5a-009r7p-OL
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 14:09:50 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a328e7f-bab6-0a2a0a5309dd-0a2a4509ec40-32
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 14:09:50 +0200
Received: from [209.85.221.46] (helo=mail-wr1-f46.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a328e8e-2497-0a2a45090019-d155dd2eede7-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 14:09:50 +0200
Received: by mail-wr1-f46.google.com with SMTP id
 ffacd0b85a97d-45eeba68948so4214401f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 05:09:50 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f20e77asm55683724f8f.0.2026.06.17.05.09.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 05:09:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781698190; x=1782302990; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=QLsV/gnje56gEnDEpVoHSuX+oZ9QMn7aSoDLWGoU+5g=;
        b=I75CGYCm/PQQn7Xu056yUssK3xOWcdOBipuIjZcSb6EBhL1GCla1jgP9MGh81QmLtq
         /9M/O/e8Zt9htxGv6dNSocyvgYGA2FYiRIN+TT1SLVW6FFvvFlEHE1sN/R4ETwDMKj8p
         5InaSF17jTcwER3Bxz29IWY/MkRwrC77cISuMI1hkOqZjlobEOyqz2+7ehZz1AZvRa9g
         5j0tJunB2kK7f47DFrRzVxS16Xb6u+laHen7bT35VmN1W6ywVQ/hrq24xtksDot3sNu0
         SNCPNPpRTYu1BPZWP4ShBC8oK52Kg9uugS5aHG+wMtL09EMB6fONqHbpD6QspoblB9Vy
         8UKw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781698190; x=1782302990;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QLsV/gnje56gEnDEpVoHSuX+oZ9QMn7aSoDLWGoU+5g=;
        b=M11Lb7uF7PJHHMk7WZwMtMLT39L1ejuuKsvk5ENn4aOvhltfsXwnAV1p1r3rpjazIl
         gEP5lznVYkvsSOzgP+BfD9yf0wzR1atbkdUJ5iGqajNqNU+guQsuB5FGdAPAovJaAyWQ
         BnKWIbYYFu+L63KFIK0f1gzIryNS7ZSNBrBdPfM2MMS0NtxEvrw/Waz/PmH9s9bJvV7/
         crtxCKIL4dY9DTTBURrdLWZsglKHbJWWrvUl9Q1pucpkbwJaRe2MqjSE+R7LgoO0cEBo
         jMVfSMOj1t3qm7ArDUUUIlTFALJaNNK5ENntXqTIwwAJq+5Il/Yq3wqMxdsFewa6waMe
         qu3Q==
X-Forwarded-Encrypted: i=1; AFNElJ+KNiUPxFhUlRNaQhfgzUx+mEQOMytyu1Ac8JmKCTJK6GJspVPWcvvJNYZENMQHNO7k/xJoMaJFUlw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzp86rHy+z2JMyxRABeRrLT7AyrEI2h1MtEdgTmaGxXFJyBTQzX
	8dirucBMlgzcFbVLGKzjMgzvzG69UqNatd/8tYi84rC+0nhTWBCZfhcskIHMK/RxzA==
X-Gm-Gg: AfdE7ckIoo+UkJDU10Rho4JejzxB5oxzqQGszdoYVDUxBHGPpypsYKNXE+VW6AvgfeC
	LouJgD6S+m5vgV3fYUTW4ZFc5DWL9p0p3BHRu/kqKJPgYUDw6naS/Pe6n7bFx0tcaMLoF/pU9/D
	Iyb8P+/MAZHF8za5fwIPQ6emsINhC0kj/Bufe1wvLJx5cULuY6NswHBtiOMST888nrIMsfx0ktF
	4U4X5/bprTOK+kPYt0LZYNBgnx+ZX74SZJhZRln5biWcnff8kFgFmP1NrVRwduJxnQ3vMkw9cUe
	5KcULzFTNPlYqhPP/atnyn11HWfzO3/cp/QOEDov2qiD1LHTurIscvNXI4XVPASPSUMBHkHquR0
	opSnohZSBcfvvWAGuV/oBqv+m64TctMO/UjSTZ1czodtv/1rHpU9CVoXjFnAsYlEG2rjPNxWC0T
	L5rWAo7JWt5o5jUmlcDWILTaKoW1VmyV28pXE6vLveFYtkZ/riAvJlV/K3VEN0T/05pUshQWif2
	M9q
X-Received: by 2002:a05:6000:2c07:b0:45e:a0ab:8bcb with SMTP id ffacd0b85a97d-46236e000a8mr6531339f8f.15.1781698189974;
        Wed, 17 Jun 2026 05:09:49 -0700 (PDT)
Message-ID: <3e513c8c-da3f-4540-8894-3c278eb36d29@suse.com>
Date: Wed, 17 Jun 2026 14:09:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] xen/x86: Always strip xen.efi
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Frediano Ziglio <freddy77@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Frediano Ziglio <frediano.ziglio@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260608173108.2848469-1-andrew.cooper3@citrix.com>
 <b310db60-850a-4096-8900-54d0816e5063@suse.com>
 <965bcf53-accf-4297-bf8c-903dce45cba0@suse.com>
 <CAHt6W4f5KzkRhbDnCMS82zpAJ04-UkBoOXowyG=A5CT3yNSv9A@mail.gmail.com>
 <547d8b85-3537-4bb0-bddb-2ca2f14eb355@suse.com>
 <CAHt6W4crK-Lgt6rTsERupEGhdXtjjKJvh3F=K_U-3vXDtcETBg@mail.gmail.com>
 <274b06b5-88b0-4a40-9af4-4ad80a99f3b5@suse.com> <ajKOChA5NFFnytEq@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: <ajKOChA5NFFnytEq@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1781698190-43B78A53-22DEF1E0/0/0
X-purgate-type: clean
X-purgate-size: 2707

On 17.06.2026 14:07, Marek Marczykowski-GÃ³recki wrote:
> On Wed, Jun 17, 2026 at 01:55:59PM +0200, Jan Beulich wrote:
>> On 16.06.2026 16:28, Frediano Ziglio wrote:
>>> On Tue, 16 Jun 2026 at 15:15, Jan Beulich <jbeulich@suse.com> wrote:
>>>>
>>>> On 16.06.2026 16:07, Frediano Ziglio wrote:
>>>>> On Thu, 11 Jun 2026 at 15:42, Jan Beulich <jbeulich@suse.com> wrote:
>>>>>>
>>>>>> On 11.06.2026 16:38, Jan Beulich wrote:
>>>>>>> On 08.06.2026 19:31, Andrew Cooper wrote:
>>>>>>>> Some old versions of binutils ld managed to produce efi files which the
>>>>>>>> matching version of strip couldn't process.  This includes Binutils 2.26
>>>>>>>> included in Ubuntu 16.04.  Delete the workaround for this bug, and require a
>>>>>>>> less broken toolchain.
>>>>>>>
>>>>>>> And we're certain newer versions of strip don't do any harm to the binaries?
>>>>>>> Already towards Frediano's posting I said that having looked at how things
>>>>>>> work there, I'm far from certain.
>>>>>>
>>>>>> I should have added: An option may be to link twice: Once with debug info
>>>>>> included, and once with it stripped. Personally I trust the linker creating
>>>>>> the various headers, including the section ones, more than strip's (or
>>>>>> objcopy's). Yet then I can only repeat my observation that linking PE+ from
>>>>>> ELF inputs looks to be significantly slower than linking ELF -> ELF.
>>>>>
>>>>> That was also attempted. See previous versions. And no, it does not work.
>>>>
>>>> How exactly does it not work? When stripping debug info while linking (as
>>>> we now do for the first two passes), the resulting image should be both
>>>> small enough and correct. What am I missing? The only caveat I'm aware of
>>>> is the Eclair scan, where we should avoid doing any work for the
>>>> "auxiliary" linking step (the one not producing the binary that's actually
>>>> going to be used for running Xen).
>>>
>>> One thing I remember was the build-id was not the same and debugging
>>> tools could not work.
>>
>> Hmm, yes, that's a little ugly, but can likely be dealt with by using
>> --build-id=0x<hexdigits> to replicate the build-id that was generated for
>> the main binary.
> 
> IMO linking twice (with and without debug symbols) has a great risk
> potential of producing different layout of the binary. While arguably it
> would be a bug in the build scripts,

Indeed, as it would further undermine reproducible builds. That said, we
could certainly put some (a lot of?) sanity checking in place.

> it doesn't matter with strip
> approach (used by virtually every other project I've seen).

Yet I expect that's "strip" on ELF binaries, not PE ones?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 13:11:27 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 13:11:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340429.1601454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZq2w-0005RM-Gw; Wed, 17 Jun 2026 13:11:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340429.1601454; Wed, 17 Jun 2026 13: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 1wZq2w-0005RF-E1; Wed, 17 Jun 2026 13:11:10 +0000
Received: by outflank-mailman (input) for mailman id 1340429;
 Wed, 17 Jun 2026 13:11:08 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZq2u-0005R7-A7
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:11:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZq2t-003nNe-9N
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 15:11:07 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a329cdf-bab6-0a2a0a5309dd-0a2a4501ccca-26
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 15:11:07 +0200
Received: from [209.85.218.41] (helo=mail-ej1-f41.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a329ceb-e031-0a2a45010019-d155da29bd02-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 15:11:07 +0200
Received: by mail-ej1-f41.google.com with SMTP id
 a640c23a62f3a-bed19623d6eso731415666b.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 06:11:07 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-bfdb8e1db3esm792660766b.56.2026.06.17.06.11.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 06:11: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:Content-Language:References:Cc:To:Subject:From:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781701867; x=1782306667; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:to:subject:from:user-agent:mime-version:date:message-id:from:to
         :cc:subject:date:message-id:reply-to;
        bh=9/thlFyvvpZMv4zNsqFfmCdwNcGrqYu63wpFd1ScCqA=;
        b=Ob87/hpUO79bbfBxaa/UCk+lQ2qFgBviuCy0QEQTLHpc9DuD0QPQa0+M0NW3cEqC2e
         ZuUt20i3e+jrF1ggWPts/pWLqiTiyJx1NhRak4is1ZrUciLPfA1ZG+YhfPWqL7LKTzce
         TRs0iVLwVWoEkE2/rMc3BMz/ozvTdHnZBhD9Ukfvpv6LcAHPhWeCiqnCHlyF7wd1k/60
         D6KWLE5ZN2nOVZiIt5tm4NZessv7tOfG3Ph/uO7UNRFZaGg0rppMAVgV2268oYv9yhR3
         1x06dvfzz1OCS2MHWNCOdukxVaBKYj2kFACtkP1Cb/EwCBKdmOCCVcGDk/hyTJDvbJcr
         tf9Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781701867; x=1782306667;
        h=content-transfer-encoding:in-reply-to:content-language:references
         :cc:to:subject:from:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=9/thlFyvvpZMv4zNsqFfmCdwNcGrqYu63wpFd1ScCqA=;
        b=LxZiOXMI/MJzJwXDV+AuSBDNBQynj3YmN+oJIf/j8SiuPQOXidioYd651jSSLXuDfY
         cMBMxwfLnCRLjq3JxK15qeFoTmzwfT5LUIeN5Yrdrtv/fZB+NyA844mQUb2H0DZQGcB3
         Z3aDLCrkYp9V8f0TSADeQETjXf+9h2y5ihJTrI7UKuYKE58+FaMRBKG88BbNCWDYTdky
         v/zURYz7XFDMOGX+FI7gEw0pVRToF/TWYtJUD8eHZBA4HM8SbTmEj/EYG1bBT+Xl6+Ql
         X627zDUmSfj6L3Dsbbj2gGcSikHIuQXjr/I+XgCqtu9KcKXCVQbeEFVGKElXo5LIVvjd
         k6fQ==
X-Forwarded-Encrypted: i=1; AFNElJ/cVN/CvIDQQQjv4NdK7aIfEUDxJsvaMem1momO5Ivtujn1I6mx3Td61Xo4IjewbTE54H2z/beyBOI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyL2yiWykJCl5LRHHO45Gl1OEObgrcikUltHAcd3YRAgK+pOv6O
	T7UCAwe25eWqiwhEuHx6VzRlC2LnNPOfaaPrNnbmxL/qtGvKLD/gKBZQ
X-Gm-Gg: Acq92OEc1sUoZ1v5oyevt5a6Dlm53NzYMeZxMjfnheBSUVTrrwHvE+RkRzs+oM75zia
	EqI5+1kYex+vpGqgoMyJDLSCLNyxXcuQo96WK4q9CYx8YkY5ZRlbj0kcGPtg8eMrq6Q+CDuYDze
	01m06wkfCM6MNGMMmT9dfVsy3UiCBAY+TuSsCd5qFRzsnk4xsIKMltLtARmVG/IO+bk092u1k+I
	OU4Rr02FF00O5Ig7yK/3xq2tcrvZR1l/QwcPa57ufMe1msTuCd/TlTxcz5x/vzHAVBqjmHT6UvJ
	cZNZJsL6KILeqW7/ieFF2WqZnJ3GNEJZNqp43DQBkEQIs7ILdf+rjpf6a5/EBNqGaoRefxZw7rB
	KCXZhV1fzIzGXL8K3DG57BKojc1ppoGaIUlLLNQ/RGjJyaBSiTUYvJozSGIIz1umnqARinmsO7T
	MIFSFChg0jbdHabMsr4J+brqd/RvuEmooOTVsJabzkA9zCW4HYsE3L1FF60l29dlQA25dZyv3S3
	cr1yA==
X-Received: by 2002:a17:907:760a:b0:bd1:fe8f:59ab with SMTP id a640c23a62f3a-c05d23a109bmr162818666b.23.1781701866433;
        Wed, 17 Jun 2026 06:11:06 -0700 (PDT)
Message-ID: <af7b58e4-4dc8-4042-8f55-881fb817bff3@gmail.com>
Date: Wed, 17 Jun 2026 15:11:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v2 for-4.22? 3/7] domctl: move early special casing of
 XEN_DOMCTL_shadow_op
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>, Daniel Smith <dpsmith@apertussolutions.com>
References: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@suse.com>
 <51050157-236a-44dc-93c5-8b52a31a3e62@suse.com>
Content-Language: en-US
In-Reply-To: <51050157-236a-44dc-93c5-8b52a31a3e62@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1781701867-49DB3E30-E0B94F00/10/73395122804
X-purgate-type: spam
X-purgate-size: 382



On 6/17/26 11:27 AM, Jan Beulich wrote:
> This wants xsm_domctl() invoked, but the domctl lock not taken. Move the
> handling to the respective switch(), thus eliminating the need for a
> separate xsm_domctl() invocation.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---

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

thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 13:26:53 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 13:26:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340440.1601463 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZqI0-0007Ik-Qk; Wed, 17 Jun 2026 13:26:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340440.1601463; Wed, 17 Jun 2026 13:26:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZqI0-0007Id-NZ; Wed, 17 Jun 2026 13:26:44 +0000
Received: by outflank-mailman (input) for mailman id 1340440;
 Wed, 17 Jun 2026 13:26:43 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZqHz-0007IX-Et
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 13:26:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZqHy-003rLw-Hq
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 15:26:42 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a32a07e-5cb7-0a2a0a5109dd-0a2a45019f26-20
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 15:26:42 +0200
Received: from [209.85.128.47] (helo=mail-wm1-f47.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a32a092-e031-0a2a45010019-d155802fd95d-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 15:26:42 +0200
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-490b3637b90so45720415e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 06:26: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-4606f2b1056sm53521201f8f.18.2026.06.17.06.26.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781702802; x=1782307602; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=2Dqh6J2CFvojmdE0SZGBgddXjTPZEecTRbDAY0kH87k=;
        b=ButMZYw12ccsC4MQGqpO1D47O0PmV/2izvOqL+ybEGriWA6nNZcTrIcsUMpRHkKML5
         nQXrV9vXu0ykUxzy/d9yyPVBeeLM9rU9Rj9IDuUsc/lezMIKHQTIfkgLah9plkWMirxr
         stRhdOdiRU7+5m1YwE7k1NomLtEGwORJZBTvvDty+cntZvWhv5tB6kGqcYipM6mQDESh
         pzSQuNsSbFDPTjp6TsfWCffprjJKJMVqx+ltl17AukhVfGRlUpdS8a6JJIU6g8gRUS5l
         YleONXt7M/kcEa48CtweZhzeixzgtjfAUmvmKNVKzXrF7zw00mwbUmH1hA8JJUAKoL59
         0DUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781702802; x=1782307602;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2Dqh6J2CFvojmdE0SZGBgddXjTPZEecTRbDAY0kH87k=;
        b=CkcV7KQ8voy7FqBgPHxiAMVijE8XXfCPrUK7t26tQBjtpGRNzrW5+PhZoTWHpQab3w
         TEcv2K21V99HxXfDJYCOu48eisuLnWP8mAjwtcvvOFDo40st36LPXxo45+4qX0sKZyB5
         0F2WYbi9Rf0tbESJIougo0y8w23pIHkCg3ov/aNXoFtQTyZKoxSXRqGpIcn9IfeSfVQz
         Xf1vsDRuQMrARdc7ZNTT/Fs8fZzi8bw/jLLWOCpC+Y1GSSHyfldXpmjj5c7cTj6yqeQ4
         4LOZdaZRwsiQTZOceMAudnOxHLh3BTv+cBspP5wWAmADX/SlIhbvqVecN+aQTKSGRFIB
         duFA==
X-Forwarded-Encrypted: i=1; AFNElJ9PWuOpEgUT7QWr4pFEzwc8rPIfosdZl6vg1fZEU8skXxeEW6M8MDcRjEgBxqyK3zGTvg0eVF/7Ngk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw77VQKu59P0J/b2IMVXxUsW15mfExEUs2ES40L8RH1MoDmFszR
	g3s6Xm5uv71crxNoVpvEMxeJFSz/G1bCzEEOpAi0wj2BWnw6Pubh1tICzxRa2/iwxw==
X-Gm-Gg: Acq92OFhnfrenL3vHk0qNFLtCl+dtg9CNOWjhACSiH45HbwuAYhT3Ji71jAI+VcEvnw
	+6GjTurvP9AKYROPETT4S7HQt/KDab5SWwSGZFEjucf/dH+e07B4oFeYff7InEZ/5PUrGBtQfdn
	4y4PmvxPqCJ3U0/xdfoqhDN5g38mSDRM4IbCBnhfQml+GAhe0AmlVlK8p+0NpDsV66m/1xu050Q
	c66IchDGQPTIMn3buVQKAOCEAoYxJw+VauFioFQcY5ScAvClgxWBA162F4Y5JvwnUO1yBkaP+oZ
	DpILTZJHQ3IDY2PogG8GdpIbzdiiy2w5md4lXqMQeC3zgPvvFE4mObpmseDV4S7NTjOyZQPQxy3
	KeS1tT9luD6Pf20BGUItqp1u/E6IW1ecoHvquLKBFs8YB+Vqc+4T/2JxPf0jBQ8F4b/7+HXZ+be
	qo5eweTZ6dxfKJpdy+dPBbAzxLjiOmuzCkAyXtrzAg1V74at6eNVUYUDvmKweadcqPsZg8svo+s
	CIs
X-Received: by 2002:a05:600c:5287:b0:492:834:24a2 with SMTP id 5b1f17b1804b1-492333b1529mr70529345e9.16.1781702801712;
        Wed, 17 Jun 2026 06:26:41 -0700 (PDT)
Message-ID: <d63a3877-286a-43fe-97fa-301985c3a0ac@suse.com>
Date: Wed, 17 Jun 2026 15:26:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/2] xen: introduce CONFIG_HAS_SHARED_INFO for archs
 without a shared page
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>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1780494838.git.oleksii.kurochko@gmail.com>
 <7ed7b888e203b7cc6c3a3a82b3bcc89d90b3fb48.1780494838.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: <7ed7b888e203b7cc6c3a3a82b3bcc89d90b3fb48.1780494838.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1781702802-CFBA4E30-5315BB16/0/0
X-purgate-type: clean
X-purgate-size: 2626

On 03.06.2026 16:25, Oleksii Kurochko wrote:
> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -320,9 +320,9 @@ void vcpu_info_reset(struct vcpu *v)
>      struct domain *d = v->domain;
>  
>      v->vcpu_info_area.map =
> -        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS)
> -         ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
> -         : &dummy_vcpu_info);
> +        IS_ENABLED(CONFIG_HAS_SHARED_INFO) && v->vcpu_id < XEN_LEGACY_MAX_VCPUS
> +        ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
> +        : &dummy_vcpu_info;
>  }

While the change here is likely okay, it points at possible further omissions.
You've dealt with all uses of shared_info(), but you've left alone all uses of
vcpu_info() (and __vcpu_info()). Reads are presumably okay, but writes to
dummy_vcpu_info open a side channel for possible info leaks. Looking over uses
in common code, no code changes may be needed; extending the description may
be all that's wanted here.

> --- a/xen/common/event_channel.c
> +++ b/xen/common/event_channel.c
> @@ -1323,9 +1323,13 @@ int evtchn_reset(struct domain *d, bool resuming)
>          rc = -EAGAIN;
>      else if ( d->evtchn_fifo )
>      {
> -        /* Switching back to 2-level ABI. */
>          evtchn_fifo_destroy(d);
> -        evtchn_2l_init(d);
> +
> +        if ( IS_ENABLED(CONFIG_HAS_SHARED_INFO) )
> +            /* Switching back to 2-level ABI. */
> +            evtchn_2l_init(d);
> +        else
> +            evtchn_fifo_init_ops(d);
>      }

The "else" part isn't needed, is it? evtchn_fifo_destroy() doesn't undo
what ...

> @@ -1624,7 +1628,11 @@ void evtchn_check_pollers(struct domain *d, unsigned int port)
>  
>  int evtchn_init(struct domain *d, unsigned int max_port)
>  {
> -    evtchn_2l_init(d);
> +    if ( IS_ENABLED(CONFIG_HAS_SHARED_INFO) )
> +        evtchn_2l_init(d);
> +    else
> +        evtchn_fifo_init_ops(d);

... was done here.

> --- a/xen/include/xen/shared.h
> +++ b/xen/include/xen/shared.h
> @@ -43,7 +43,14 @@ typedef struct vcpu_info vcpu_info_t;
>  
>  extern vcpu_info_t dummy_vcpu_info;
>  
> +#ifdef CONFIG_HAS_SHARED_INFO
>  #define shared_info(d, field)      __shared_info(d, (d)->shared_info, field)
> +#else
> +void * shared_info_absent(void);

Nit: Stray blank after '*'.

> +#define shared_info(d, field) \
> +    (*(typeof(__shared_info(d, (d)->shared_info, field)) *)shared_info_absent())

How about the simpler

extern struct shared_info *shared_info_absent;
#define shared_info(d, field) (shared_info_absent->field)

?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 14:03:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 14:03:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340467.1601483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZqr9-0004Du-70; Wed, 17 Jun 2026 14:03:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340467.1601483; Wed, 17 Jun 2026 14:03: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 1wZqr9-0004Dn-45; Wed, 17 Jun 2026 14:03:03 +0000
Received: by outflank-mailman (input) for mailman id 1340467;
 Wed, 17 Jun 2026 14:03:02 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wZqr8-0004Dh-Ha
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 14:03:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZqr6-007phg-8R
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 16:03:00 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a32a911-5cb7-0a2a0a5109dd-0a2a450c9636-14
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 16:03:00 +0200
Received: from [209.85.208.177] (helo=mail-lj1-f177.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a32a913-62f1-0a2a450c0019-d155d0b1cdee-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 16:03:00 +0200
Received: by mail-lj1-f177.google.com with SMTP id
 38308e7fff4ca-39677242021so48745511fa.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 07:03:00 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-3995c04d6afsm15815001fa.8.2026.06.17.07.02.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 07:02:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781704979; x=1782309779; 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=2wtEvE7ItCMp/RWf5xZfBNYbtwILVn79qr24l20dJbs=;
        b=oPbVtuQvjqbzuPmPifXYa+vhpogyXBAQ+oY/Pcz/fdhasd76eNF7gv9xTjNvpKpiCl
         eFn6pGjvst573sh8RteWt9x2VLC5Jpw8r0geAYVb26OwIoZj6d2kqP6xNWHhTfNbBybi
         koH9zgSTSM3vNGSGBqYAIw9HgT8pPEj9QrahyV3R0FNGan/eYHUM4oM0MfDUZ0JlysAa
         nJ1cr5WaAFiCmksHg30Vfxz8X65edZ6ZydjPezt2QSmCzncFhvlSLUuxJM6Cl0uG+tq3
         JBXFhmVueFRP6bhqtC5rdhns7lRWPIgWPvWgl5v4vesA6kaRnoB3XYbgrqQDq6C8eFty
         JEBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781704979; x=1782309779;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=2wtEvE7ItCMp/RWf5xZfBNYbtwILVn79qr24l20dJbs=;
        b=DnbVG42lCA00Uo0mwt3fZFsNMmyhSj6b3fbzjW7zQ3YiuMOkiwNQ4WKu5pAs50q4nG
         EJg5gPv1gozJw4VlPDLAxKNHTJMY/k/4TUXqCqSlWj5bmxnoffXJDca9O6w285xB4bj5
         j8MmYF8RcO+7mrtB1HXxL//uvTopZxSuEu3zcAGFZOHCDRBgZmaGoFUTlUUMhZM5Ziwp
         62Ma1JrHOZA5b0L9NBTERuMXcIhPLmu3Ow5pZ/lozseZHgkduVGNnbwb2qH4jbiWBGNx
         rBgMw0Q/FXT1YV93UcMn7EJL7nAXVp1cNDjFisMS7glDjUwNW71nLy2HkR+8klxvkJEw
         vQ3A==
X-Forwarded-Encrypted: i=1; AFNElJ+Wn8WxDIqWf+q+Eu8YTvUhQnzAH73KXOsU09FXXkQ+Ep1o2cNj+WPCqdlaBxYmQs6RBlTZzGxmBiM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzUXlQAqrKwGx2Aqms7iPxxdaBumJ3EuwutPheg2mD3VGlRXARb
	b+3u/STzzh/KPpEsN63lb0QEWlIBszn3/996cVcqDXTc7smhGsH8Kravo4unMw==
X-Gm-Gg: AfdE7clJ5ZwEuhNZsbBIFGLorbbVV50DozhQOBpvaCZm22dcR+jXmrDpT7L/UmX/m0f
	ZdGvliAbal0wHEY/OBFEjHNEe9fCqeby4/y2tuuFaFai1ce0xLIDiF6XXLmTPeaqDMs5WoEubFf
	GiX9SCy9k9G1AHsnsNOy6/aeWS8cm7o9q9FQZWthpXjqj16KlLkJgHXPnDKcEGjaWNqhpS/c+jE
	vp8NXZ6TBL9xQzLrII4U90sLyq80k3YZta3BB+8N98JiD4MeURtrwKU8Txldp0khTCPHJdk9aAJ
	RPwePjW4LoA2fKKvWqVB2kExb0V77xZzQRiH7UiUgO71Jb581SAO+eaUGRvM9ysJcNmcIktlaGE
	beTF7YssP5abbBAwwE/9AN/yLI8MnxlZTyKzlEE0GdIZS1kbkhRvJEMpHEvv5h2CPXZTGigNuxu
	5pyy5MsAfGKlTTl4YAVtufojlXaGuNeCp2BQO15cMU89ykU0vlBVNwgrHdpxd981Iimf4=
X-Received: by 2002:a2e:a107:0:b0:396:8588:d5a9 with SMTP id 38308e7fff4ca-39969b65ed1mr9749081fa.11.1781704978845;
        Wed, 17 Jun 2026 07:02:58 -0700 (PDT)
Message-ID: <5ca82079-4f94-4f2c-87ea-0ba54236ff72@gmail.com>
Date: Wed, 17 Jun 2026 16:02:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/2] xen: introduce CONFIG_HAS_SHARED_INFO for archs
 without a shared page
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>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1780494838.git.oleksii.kurochko@gmail.com>
 <7ed7b888e203b7cc6c3a3a82b3bcc89d90b3fb48.1780494838.git.oleksii.kurochko@gmail.com>
 <d63a3877-286a-43fe-97fa-301985c3a0ac@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <d63a3877-286a-43fe-97fa-301985c3a0ac@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1781704980-DA776CF5-ACB70334/10/73395122804
X-purgate-type: spam
X-purgate-size: 3772



On 6/17/26 3:26 PM, Jan Beulich wrote:
> On 03.06.2026 16:25, Oleksii Kurochko wrote:
>> --- a/xen/common/domain.c
>> +++ b/xen/common/domain.c
>> @@ -320,9 +320,9 @@ void vcpu_info_reset(struct vcpu *v)
>>       struct domain *d = v->domain;
>>   
>>       v->vcpu_info_area.map =
>> -        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS)
>> -         ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>> -         : &dummy_vcpu_info);
>> +        IS_ENABLED(CONFIG_HAS_SHARED_INFO) && v->vcpu_id < XEN_LEGACY_MAX_VCPUS
>> +        ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>> +        : &dummy_vcpu_info;
>>   }
> 
> While the change here is likely okay, it points at possible further omissions.
> You've dealt with all uses of shared_info(), but you've left alone all uses of
> vcpu_info() (and __vcpu_info()). Reads are presumably okay, but writes to
> dummy_vcpu_info open a side channel for possible info leaks. Looking over uses
> in common code, no code changes may be needed; extending the description may
> be all that's wanted here.

Isn't there already a side channel that could allow leaks, even without 
this change? The change here just made it worsen because now info leak 
will happen for all vCPUs when  CONFIG_HAS_SHARED_INFO=n.

I will add to the description the following:
```
With CONFIG_HAS_SHARED_INFO=n all vCPUs fall back to the global
dummy_vcpu_info, so writes through vcpu_info() could leak data between
vCPUs.  Reviewing the write paths in common code: the write in
map_guest_area() stores the constant ~0 so nothing serious will happen 
if it will be leaked; the event_2l.c paths are unreachable because the 
preceding shared_info() call would trap first; the write in 
vcpu_info_populate() targets the new mapping buffer, not 
dummy_vcpu_info; all remaining writes are x86 PV-specific for which 
CONFIG_HAS_SHARED_INFO=y.  No code changes are needed.
```

> 
>> --- a/xen/common/event_channel.c
>> +++ b/xen/common/event_channel.c
>> @@ -1323,9 +1323,13 @@ int evtchn_reset(struct domain *d, bool resuming)
>>           rc = -EAGAIN;
>>       else if ( d->evtchn_fifo )
>>       {
>> -        /* Switching back to 2-level ABI. */
>>           evtchn_fifo_destroy(d);
>> -        evtchn_2l_init(d);
>> +
>> +        if ( IS_ENABLED(CONFIG_HAS_SHARED_INFO) )
>> +            /* Switching back to 2-level ABI. */
>> +            evtchn_2l_init(d);
>> +        else
>> +            evtchn_fifo_init_ops(d);
>>       }
> 
> The "else" part isn't needed, is it? evtchn_fifo_destroy() doesn't undo
> what ...

Agree, it isn't really needed. I will drop "else" part.

> 
>> @@ -1624,7 +1628,11 @@ void evtchn_check_pollers(struct domain *d, unsigned int port)
>>   
>>   int evtchn_init(struct domain *d, unsigned int max_port)
>>   {
>> -    evtchn_2l_init(d);
>> +    if ( IS_ENABLED(CONFIG_HAS_SHARED_INFO) )
>> +        evtchn_2l_init(d);
>> +    else
>> +        evtchn_fifo_init_ops(d);
> 
> ... was done here.
> 
>> --- a/xen/include/xen/shared.h
>> +++ b/xen/include/xen/shared.h
>> @@ -43,7 +43,14 @@ typedef struct vcpu_info vcpu_info_t;
>>   
>>   extern vcpu_info_t dummy_vcpu_info;
>>   
>> +#ifdef CONFIG_HAS_SHARED_INFO
>>   #define shared_info(d, field)      __shared_info(d, (d)->shared_info, field)
>> +#else
>> +void * shared_info_absent(void);
> 
> Nit: Stray blank after '*'.
> 
>> +#define shared_info(d, field) \
>> +    (*(typeof(__shared_info(d, (d)->shared_info, field)) *)shared_info_absent())
> 
> How about the simpler
> 
> extern struct shared_info *shared_info_absent;
> #define shared_info(d, field) (shared_info_absent->field)
> 
> ?

It would be better. I will apply that.

Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Wed Jun 17 14:24:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 14:24:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340481.1601492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZrBv-00079v-Sb; Wed, 17 Jun 2026 14:24:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340481.1601492; Wed, 17 Jun 2026 14: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 1wZrBv-00079o-P8; Wed, 17 Jun 2026 14:24:31 +0000
Received: by outflank-mailman (input) for mailman id 1340481;
 Wed, 17 Jun 2026 14:24:30 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wZrBu-00079h-OP
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 14:24:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZrBu-0012nZ-58
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 16:24:30 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a32ae1b-bab6-0a2a0a5309dd-0a2a450b954c-6
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 16:24:29 +0200
Received: from [209.85.221.43] (helo=mail-wr1-f43.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a32ae1d-212f-0a2a450b0019-d155dd2bf174-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 16:24:29 +0200
Received: by mail-wr1-f43.google.com with SMTP id
 ffacd0b85a97d-4629d80fa08so801054f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 07:24: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-4922fa47d1csm167546525e9.4.2026.06.17.07.24.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Jun 2026 07:24: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781706269; x=1782311069; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=B8wLy3y5QhhNcyz1R2i9igihr3FKAWhfij49aahI9co=;
        b=KDVHQPVyFsqfWjMSPGUXqhqrEAubkvD28IYZiO4vuU3Qj3IDju7BeOXidNnSsDj6Ei
         knjCK2trh+NsC3Ef9CbDyVPTZui1kNX2y4gFxSOQIWkyNNyq/tOvbZuQgbqb/3eyoXLz
         2VD0ACE+XnKLN4veHu2RbduQY80MyVzgKqKXtmNH8wr0Z19YgypAL+iCrwZKenFQQdJn
         hTJXut4bp5lt2kijOOPtNkHqUMP2YsFohdJZt8PH3pbR2iiO5sxY0EQZR2LsghOTGbb/
         va78Ygx/wES88E8DbfXCufYDzVaZIR8XxGAlLWFK14ooA52Kv0ESWd4DUEKydwGdTey2
         YB4g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781706269; x=1782311069;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=B8wLy3y5QhhNcyz1R2i9igihr3FKAWhfij49aahI9co=;
        b=bmbwmsmUWIEV7W2He8ksihIa3T08jjVzjNfjy3wIJ/2P6+3hzm6rkl4369z/IlTvGu
         RBJuYtTINGETzyn6VH3Ud7mtcRDBbhZGAzYP2Ie9hXNfMnQS9zScoK0MzC9eKBC1SR2e
         5iDgajeydxnrvp4ffDIuIooD9NB9R30dU2SXPI2tn1DcM2zOZlXunBuUdjTGzeOw98kr
         5lZpu0rkaJJmb7CqdMIrHSs4KOps69zvU3h6mtCl7pXU4hu47AU5dwkrkdoSizyF7ixH
         8upZhgW0TXPIQ8tMDEZ0momNCrshiFFfFOuA3m7mIKswXPi4QG3Kkqetbfgs3bX5TgCx
         c9EQ==
X-Forwarded-Encrypted: i=1; AFNElJ8rUM0Ix9U5Jmj6dvVrrvdSW51I/9QlDq2ekjFg0RdLq45zr7IMzUunsbCV3Brz1uO2oVHh06V69I0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwyDmRAQcIm6/7SygMiTRARaXFQgGE8ey4wBY6wyANu4FcsnnNx
	+0SGSPgLrx2g16NB70CfmKIkBqlIJjy+kzedVbw4oDDFhM1DuDsu8nbFxcRusfrvcw==
X-Gm-Gg: Acq92OElAKVDdw+0s4LkpccZMiQvOraBm8dsCIjVp9nrvq8j/NXHTz/Oab1APmBW3vy
	DWRABX8OWc/vvTfS2St9NSK/SNUhEz5ZfPwwvp4kn76Sn9v9L+8PptYOHOV0nlwpdxLUVEkOCUj
	90oA9AkO+6g1aPDK32z+GQJzE2TMF0wMxH/sy1PFTgFKCJ26KA1Wo602Rm62gx8S5ybEqA/a6rE
	J5YUKxnzfOXaRyC0ipLkU+quu987YtnkABlfjoN83wGSSNMVAWBlHFaF+6pd3u8r/Tpo7h18/sb
	XhmFKjfzjvhksUR8hKf8/KI3W5tdEN6AmpSK0ZdDN8nCxFolHOx/wsbhda+ff0Q9Da4D+QCyx91
	R4dP+HywKZbXTedCskoKv5GYuluFHnhgakO06pdAHoPtrO5guMrUfM/tEuJSg88kYtqf6fo16KG
	yAaGrb4sR/b1Fab/IBc3I6QN853rHzLIEoScy7Zv4nzeJXURK8T2xUi6Zc9tn/62Ct9yZuCByjQ
	sZw
X-Received: by 2002:a05:600c:a104:b0:490:958f:2a5e with SMTP id 5b1f17b1804b1-492333ab197mr61390535e9.13.1781706269245;
        Wed, 17 Jun 2026 07:24:29 -0700 (PDT)
Message-ID: <f561a2ad-83aa-4692-9e96-148e688c806b@suse.com>
Date: Wed, 17 Jun 2026 16:24:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/2] xen: introduce CONFIG_HAS_SHARED_INFO for archs
 without a shared page
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>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1780494838.git.oleksii.kurochko@gmail.com>
 <7ed7b888e203b7cc6c3a3a82b3bcc89d90b3fb48.1780494838.git.oleksii.kurochko@gmail.com>
 <d63a3877-286a-43fe-97fa-301985c3a0ac@suse.com>
 <5ca82079-4f94-4f2c-87ea-0ba54236ff72@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: <5ca82079-4f94-4f2c-87ea-0ba54236ff72@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1781706269-20E7CF3B-FE6F09FC/0/0
X-purgate-type: clean
X-purgate-size: 2610

On 17.06.2026 16:02, Oleksii Kurochko wrote:
> On 6/17/26 3:26 PM, Jan Beulich wrote:
>> On 03.06.2026 16:25, Oleksii Kurochko wrote:
>>> --- a/xen/common/domain.c
>>> +++ b/xen/common/domain.c
>>> @@ -320,9 +320,9 @@ void vcpu_info_reset(struct vcpu *v)
>>>       struct domain *d = v->domain;
>>>   
>>>       v->vcpu_info_area.map =
>>> -        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS)
>>> -         ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>>> -         : &dummy_vcpu_info);
>>> +        IS_ENABLED(CONFIG_HAS_SHARED_INFO) && v->vcpu_id < XEN_LEGACY_MAX_VCPUS
>>> +        ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>>> +        : &dummy_vcpu_info;
>>>   }
>>
>> While the change here is likely okay, it points at possible further omissions.
>> You've dealt with all uses of shared_info(), but you've left alone all uses of
>> vcpu_info() (and __vcpu_info()). Reads are presumably okay, but writes to
>> dummy_vcpu_info open a side channel for possible info leaks. Looking over uses
>> in common code, no code changes may be needed; extending the description may
>> be all that's wanted here.
> 
> Isn't there already a side channel that could allow leaks, even without 
> this change?

There are multiple aspects here. First, for PV secondary vCPU-s cannot be
launched when their vcpu-info still points at dummy_vcpu_info. HVM vCPU-s
make very limited use of vcpu-info fields. Writes look to be limited to
the evtchn_upcall_{mask,pending} fields, which isn't really an info leak.

My main point here is: None of this goes without making clear that the
necessary auditing was properly done.

> The change here just made it worsen because now info leak 
> will happen for all vCPUs when  CONFIG_HAS_SHARED_INFO=n.
> 
> I will add to the description the following:
> ```
> With CONFIG_HAS_SHARED_INFO=n all vCPUs fall back to the global
> dummy_vcpu_info, so writes through vcpu_info() could leak data between
> vCPUs.  Reviewing the write paths in common code: the write in
> map_guest_area() stores the constant ~0 so nothing serious will happen 
> if it will be leaked; the event_2l.c paths are unreachable because the 
> preceding shared_info() call would trap first; the write in 
> vcpu_info_populate() targets the new mapping buffer, not 
> dummy_vcpu_info; all remaining writes are x86 PV-specific for which 
> CONFIG_HAS_SHARED_INFO=y.  No code changes are needed.
> ```

As you start with "common code", how come the "x86 PV-specific" part is
still there (i.e. relevant)? Isn't all PV stuff in x86-specific code?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 15:19:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 15:19:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340515.1601500 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZs2n-0006kU-Ln; Wed, 17 Jun 2026 15:19:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340515.1601500; Wed, 17 Jun 2026 15:19:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZs2n-0006kN-J3; Wed, 17 Jun 2026 15:19:09 +0000
Received: by outflank-mailman (input) for mailman id 1340515;
 Wed, 17 Jun 2026 15:19:08 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wZs2l-0006kH-VB
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 15:19:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZs2l-00E3Y4-4Q
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 17:19:07 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a32bae2-bab6-0a2a0a5309dd-0a2a4501d4da-30
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 17:19:07 +0200
Received: from [52.101.43.6]
 (helo=SJ2PR03CU001.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <roger.pau@citrix.com>)
 id 6a32bae9-e031-0a2a45010019-34652b0678da-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 17:19:06 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by PH7PR03MB7004.namprd03.prod.outlook.com (2603:10b6:510:12f::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Wed, 17 Jun
 2026 15:19:03 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0139.009; Wed, 17 Jun 2026
 15:19: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=j0gqzMmwr1ysyxphufcMqc80XQtyE69mLQ9o1JpS/tkuYIRamAzrNk1qUzVYM3lw8mlnzFo31Q7PCaU6sMj/RxW9UKDm4oCUpS/aN9AJ/p/uJtDT6NihK33xGOyK6mgyjliHCnqkdOD3ApYXDCby5/NbEsYlMYRae/M9ztkk4TuuwZCXTCcLgdO8fk3ClG5SdVPhOPlP7+G0/5Jt11zjlX21l7C74NBqM2r2BkfbbkyLMyxMtSHnP3BGMLzvQbeLFm9FNgl2YMJGJ7P2fASJa+qA6lSVmu6RzvglIHbedz7deDRZsWKVZHuixgHs0JmwxYT6isMNtYynd8xRpDP1Rg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pn+Th8CsRrWFe5cH3Qkgtst+UYl1medopOqeOgFKw/k=;
 b=HqdsrknA4u13+NRNGfh5K1NRswU0IrzOQK2kVSQoyU8j0jGUBnYFk7dionz4JzjKYzgGzhaPi2cVi9Uiqgxfxn2SoBJ6+xTVSeK5ASi7o1xf6cfnXnA0gA5bVvEd5+oj/rK9tZY26LEaQ/egRKHasax1s4S/Riqi2qunt28kGE+/l7mrEnSvSbw7O07/htFUBTJWEhhcyWI4FfO2UdiB5xhKStG3K7scg8t/Or5jBBGEtUs9Y3mj35L4EhsMJH3gi7TxtNyumkcP+Kg4GJ23saBmfndnlKcZRxrUI/JbKIbvWsgt99pqeYzz4yFGX6IY6BNGOd1ElzucTdWof2WyYQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pn+Th8CsRrWFe5cH3Qkgtst+UYl1medopOqeOgFKw/k=;
 b=a2dF5PhoHopsw25wJEckZ/SBmfUJUQvKVj46yjPpFz4yj2LgbAI+hvji9SkpUEVD04mVtbVmqLYpnoiByY0Kspwj4G/21UHvRo6FUYrSpxXQE3JOJw+NhD7naIelfJP5vNfQVSFszlKWDdEIUD4495OJ6KQGDL5HGOsI4HIx5CU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 17 Jun 2026 17:18:59 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v2 for-4.22? 6/7] x86/domctl: don't imply I/O port
 permissions from I/O port mapping
Message-ID: <ajK644guPV3lfJde@macbook.local>
References: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@suse.com>
 <e88a6015-8867-41a8-907d-b6749b1d2549@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <e88a6015-8867-41a8-907d-b6749b1d2549@suse.com>
X-ClientProxiedBy: MR1P264CA0038.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:3e::32) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|PH7PR03MB7004:EE_
X-MS-Office365-Filtering-Correlation-Id: e44c79c7-8ca2-45d9-6c7d-08decc83c3e9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|376014|1800799024|366016|56012099006|5023799004|4143699003|11063799006|22082099003|18002099003|6133799003;
X-Microsoft-Antispam-Message-Info:
	ukRbyZaj37dZp07wX73Lbt/hfCCmHTzv89vBYTvbTHe9+FJ7oNSvwERFHpfr5Sp/RXJca8sh2V9zZPQZ+CNLnbZpChEqZgLzW/w0gSbz0jgr1cFhfYr6AaW1Ukgw1BMcX7g7wKdcXldMgfsdxqBrlEkQL/qnhwK2wGWx+kjvxd4j+rJm9CgCAQ5P2aMZxH6Px0k1p+FsKuwDcCuYKyacgiCqGzrIiOt7DJNtTHt+fmKMxoYrF76SMCJD4vrbzDCwtXW7WD47T//uVjr7Sr8VTPbCPZhMS+nEYMleBul++WUlNv14mRGEwoJyGEUO957a6YSXCFscAOK0mcCwPjOxbqP7d8byzjc+IMc0swVa/C7GiN3hw93HiSD8VOEH1ttwe3hLusOl38HL5FGDfciKkidOxk0+UEFyYCEN4lXPxu9CoFnkcCdj3JcwK1em6kycLrmnCj5owwjNZhsCNW9bzRKsAXkY5SOzFyV2Bg267WQGpNnGzyy5c7uJn+eER8Px5kx9xYklPfZ9ZNkOXcNBjhQ47Nx/51G0b//X4iLsHNxGlsV7lss3oHzrHcmTEFWrWGpCrSo7S6p9AdeY4jekxu0Bnf3+g6JHCaqd0iTTOHqjO8+NYAgTR2W1+8ANxwObttTJon+AEXvmIOPqmuuuWjbTdZczNQ89NYmYBKGZbguCtxNq7iRYT3w+Fe7K3FZb
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(1800799024)(366016)(56012099006)(5023799004)(4143699003)(11063799006)(22082099003)(18002099003)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cmNka2t3ZXVMeTRyMEVFMWk0WTBmeHJKVG1QOFE3YlN2T0swdHc2THBBRjNG?=
 =?utf-8?B?UENockJRZjlvNWR0UHNoVmdZL2U2aERzQTVyT1FPZ3VQcjlMRHNVQXBXVVJp?=
 =?utf-8?B?Z1lDSGx0TWwvRzFrTnkrN2p2VUEzdmxlb0ppbmRocU9scU1OMzVEV3p1MFBS?=
 =?utf-8?B?L2MwYkVKZXgrM1h0cGhkVU0rbFdidHp2V2V2a1Q4am9kQTA3emFGSWtwamNU?=
 =?utf-8?B?TWF2cVowZCtMa2hDTit5YnVLdzc3RC9rdXlvSnpvY3Y2eDNhWEd2UWF4dnBt?=
 =?utf-8?B?cnpYTG5oN1M0dGNqZHB2cjFYdm1nWS8xQ1pZTm9aaTE5RXRFdGxhcVJTcjQr?=
 =?utf-8?B?d0Q5bDB2VENqRy9uM3VUSitzUmx0bEpWdzV4em1ERjluVzJ3dXU3WXRpZHBC?=
 =?utf-8?B?STN2WHFpUjI4QVcxRkhQNDlhdGZTTFg5VmxpY244K3lZRWx2blBvTHUxM2Y0?=
 =?utf-8?B?YTV3WjhlYk9CWnhXaWttdU45OVlqZ2kzUnVoTUY4Tng5NGk4RzVWMVlQQndy?=
 =?utf-8?B?b3dlZkE0T1JlRXo2WHZHUjRzUWo5bUpHeEZXNEgxYndDRnBmM3dycDIva2p5?=
 =?utf-8?B?UlVWZVk3U0hHeUNSQ3dyYjEwVUxlYUNRbTQ2SHR0OC9RVStubHI0VWxUY3Y1?=
 =?utf-8?B?cGpQYW1PaEtYY0lTMVhpbTRBSTUxZ3BTQ1h4clZIMngzT2M2ckNVZnVtRnNQ?=
 =?utf-8?B?Uzc5R2pkYjVNcTZUMnA2Mi9scStzdmUxdmJ1WWdGNnEvTnV2b0I0Mk54U25W?=
 =?utf-8?B?R0JDK0xDVWlpTjJmdXFneitLWkpKVGRKLzN2ZWVJMU9CMENoQkpjNjVaejRG?=
 =?utf-8?B?RzVoMUdObE1mK3Z3UHhQcWNvS2g3RkhqNS9XYVp0NTZpeFpZUHFkN1g2azhW?=
 =?utf-8?B?RFFaR1FYbUs1TXh1cVB4NytNNElENG9KZmtQMXNTak9XZDVYZGE4VHNUbmZm?=
 =?utf-8?B?cUkyMWY5QWc0bWxpZmFacWIzT2huZ1l2YjU4K1pRVFpxN294Wmd0TTN4SENV?=
 =?utf-8?B?ZFZZM3RDQ1VielhIVWVHMEdHR01mbzJIRHhNNnZYa3F0N2lybUp0bTN4L0hW?=
 =?utf-8?B?K24zTWErWmZHUis0YmU4VkRDRWVzQjFCVFA5WWNWS3RxNXE2SUVnVStwRmFz?=
 =?utf-8?B?cm9iUy90S0ZPSTNkR0ozUjVxUmxnL0tDRWhiMncxNnpFaEFvcDl6WFBNTG5r?=
 =?utf-8?B?ek5LY2dZNDhRU04raEFiNU5ZU0pVRGtkOUozb29pWmp5dURsT2JBa1NEMHY0?=
 =?utf-8?B?V0hiU3M1NmNDNWU5bzNHSXhKK04vMkcyMEJnck1MdHpFaTVYNEhOREpJWWpt?=
 =?utf-8?B?a0ZFQWpMVkhqSU9Hb1NhL1VwTGxMcDFlU3gyWWZDNUM2ekVNZmxVdTZyRERL?=
 =?utf-8?B?TXJOUnFuUDJnY3RydnQ4TTJzandXY0p5ODdKYllZY29WdnVMZTlHT0xNdTBR?=
 =?utf-8?B?dEgrZ3BFR1FrQnhnYUx4aGRTUC81R1lmQ2tRcy8zVmFQTmtPOGd2VjVoQm94?=
 =?utf-8?B?T1RsdHdpbmQxMXhYYWU0TDMydW8xYW15ditDcFhhcC9XTFFWandtdHJSQ0hn?=
 =?utf-8?B?eUc3QnVMd3ZHUFJJbDhrdTVZWWdpTFJDdktnWEdwSzFqamx5emN2b3dWMHhh?=
 =?utf-8?B?K3Ayc2NXd2dURkpWdW05akFQYXZLK3NUcnNRQUFHaHdRdG9NNWxXYzlxZnFa?=
 =?utf-8?B?WVYxRktBekwzYmFPOExWTHcybklQVHVnQS9nbUFkd1NXdDlYMFl1dE1tNStG?=
 =?utf-8?B?K0tsV1dHcnFQZzZvRHhGbUpTMllKRFF0THlnNG10QVBkMUhMMVJNbTBuR1B1?=
 =?utf-8?B?aE5XRFZGMi9VeGNOSnJ3ZjJVZFFaNjduRHh2UFN3U25EZ2VmS1NxVkNqS29V?=
 =?utf-8?B?elZTV2kxM1ZiMFp0WDd2czRQQ0RLQzdtWHB4T0ptZVlEakFaNWhQN3lWRTRH?=
 =?utf-8?B?bDdBa0hDMSswa2RQUVRHUE5oMjN2Nm9vRnFzRWRpVFA5aXF0UVdtNzdCcE5k?=
 =?utf-8?B?TFFGbXZ4WjYrQWN5ZDdNaGlNS0w4YkRHQlJxUkp1NkR3WSszRGM2RmV0SnFq?=
 =?utf-8?B?MEdVbU91cnF2aU1BV09udEluY2RlZlc1Q21oWnhab0dUaG4xYnFuSndDNVhs?=
 =?utf-8?B?T3QrZHZLQnhEZW5YTHpzbmVhQ1lSTDZPR01YMFA0QU1hQkNaN2c5bXBuQnlO?=
 =?utf-8?B?VG55ZU9Sb0IyRWUvUDdEbGZPVHcvakVhTVJFSVh0akpFQXl2T1ZjRVhoVUhj?=
 =?utf-8?B?RjZ3MW9NMitPN2xBTDhOaFFOcmwrdjdhSStTdWE4ZWEyUkNTMDdsZ29jekZU?=
 =?utf-8?B?dTN2aWdXNy9Zc2JmN1k2TlpSd0dnVWZNQUpleFIvWXVpRUhnU2lGUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e44c79c7-8ca2-45d9-6c7d-08decc83c3e9
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2026 15:19:03.5520
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RqTduYPSSznctLATIbysTRDD6isJ0Z3Dno2LJPIPa6/LSdx/yPiw6adaOcHE66f5f3eXd0nLA0pYNmCI5xCetA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7004
X-purgate-ID: tlsNG-d62444/1781709547-CDDB3E30-8968A614/0/0
X-purgate-type: clean
X-purgate-size: 5810

Overall I would defer this change to the start of the 4.23 development
window, and commit it then.  It's IMO a bit risky to change the
interface behavior so late in the development process.

On Wed, Jun 17, 2026 at 11:30:04AM +0200, Jan Beulich wrote:
> Rather than granting permissions when mapping (an operation that DM-s are
> allowed to carry out, while they can't invoke ioport-permission), check
> whether permissions actually were granted when adding a mapping. This then
> also allows relaxing the necessary locking.
> 
> While no longer granting permissions upon mapping is "only" at risk of
> breaking guests, no longer revoking permissions upon unmapping strictly
> requires callers to additionally invoke XEN_DOMCTL_ioport_permission. Or
> else a security issue would arise. In-tree code already does so.
> 
> While there switch to using %pd in the two log messages.
> 
> Fixes: 192c4dabc344 ("domctl and p2m changes for PCI passthru")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> libxl has libxl__grant_vga_iomem_permission(), but I can't spot any I/O
> port equivalent (nor a revoke counterpart, btw). Everywhere else MMIO and
> I/O ports look to be treated equally.
> 
> Qemu uses both xc_domain_{iomem_permission,memory_mapping}() in
> igd_write_opregion(), but only xc_domain_{memory,ioport}_mapping() in
> xen_pt_region_update() and xen_pt_{,un}register_vga_regions(). Is the IGD
> region special in any way? Clearly this can't work from a stubdom.

Hm, I'm unsure that code will work correctly after the change here, as
xen_pt_register_vga_regions() doesn't grant access to the IO/memory
regions to the remote domain ahead of assigning them?

> ---
> v2: Avoid double evaluation of "add". Add ChangeLog entry.
> 
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -14,6 +14,9 @@ The format is based on [Keep a Changelog
>   - On x86:
>     - Enable pf-fixup option by default for PVH dom0.
>     - The libxenguest bzImage loader now uses the system liblz4 library.
> +   - XEN_DOMCTL_ioport_mapping no longer implicitly grants permissions for the

I would explicitly mention access revocation also, FTAOD:

"XEN_DOMCTL_ioport_mapping no longer implicitly grants or revokes
permissions ..."

> +     port range in question.  XEN_DOMCTL_ioport_permission now needs invoking
> +     up front.
>  
>  ### Added
>   - Support for per-domain Xenstore quota in C xenstored (includes
> --- a/xen/arch/x86/domctl.c
> +++ b/xen/arch/x86/domctl.c
> @@ -714,15 +714,35 @@ long arch_do_domctl(
>              break;
>  
>          hvm = &d->arch.hvm;
> -        iocaps_double_lock(d, true);
> +        /*
> +         * NB: The double lock isn't really needed when !add, but is used anyway
> +         * to keep things simple.
> +         */
> +        iocaps_double_lock(d, false);
>  
>          if ( !ioports_access_permitted(currd, fmp, fmp + np - 1) )
>              ret = -EPERM;
> -        else if ( add )
> +        else if ( !add )
>          {
>              printk(XENLOG_G_INFO
> -                   "ioport_map:add: dom%d gport=%x mport=%x nr=%x\n",
> -                   d->domain_id, fgp, fmp, np);
> +                   "ioport_map:remove: %pd gport=%x mport=%x nr=%x\n",
> +                   d, fgp, fmp, np);
> +
> +            write_lock(&hvm->g2m_ioport_lock);
> +            list_for_each_entry(g2m_ioport, &hvm->g2m_ioport_list, list)
> +                if ( g2m_ioport->mport == fmp )
> +                {
> +                    list_del(&g2m_ioport->list);
> +                    xfree(g2m_ioport);
> +                    break;
> +                }
> +            write_unlock(&hvm->g2m_ioport_lock);
> +        }
> +        else if ( ioports_access_permitted(d, fmp, fmp + np - 1) )
> +        {
> +            printk(XENLOG_G_INFO
> +                   "ioport_map:add: %pd gport=%x mport=%x nr=%x\n",
> +                   d, fgp, fmp, np);
>  
>              write_lock(&hvm->g2m_ioport_lock);
>              list_for_each_entry(g2m_ioport, &hvm->g2m_ioport_list, list)
> @@ -747,40 +767,11 @@ long arch_do_domctl(
>                  list_add_tail(&g2m_ioport->list, &hvm->g2m_ioport_list);
>              }
>              write_unlock(&hvm->g2m_ioport_lock);
> -            if ( !ret )
> -                ret = ioports_permit_access(d, fmp, fmp + np - 1);
> -            if ( ret && !found && g2m_ioport )
> -            {
> -                write_lock(&hvm->g2m_ioport_lock);
> -                list_del(&g2m_ioport->list);
> -                write_unlock(&hvm->g2m_ioport_lock);
> -                xfree(g2m_ioport);
> -            }
>          }
>          else
> -        {
> -            printk(XENLOG_G_INFO
> -                   "ioport_map:remove: dom%d gport=%x mport=%x nr=%x\n",
> -                   d->domain_id, fgp, fmp, np);
> -
> -            write_lock(&hvm->g2m_ioport_lock);
> -            list_for_each_entry(g2m_ioport, &hvm->g2m_ioport_list, list)
> -                if ( g2m_ioport->mport == fmp )
> -                {
> -                    list_del(&g2m_ioport->list);
> -                    xfree(g2m_ioport);
> -                    break;
> -                }
> -            write_unlock(&hvm->g2m_ioport_lock);
> -
> -            ret = ioports_deny_access(d, fmp, fmp + np - 1);
> -            if ( ret && is_hardware_domain(currd) )
> -                printk(XENLOG_ERR
> -                       "ioport_map: error %ld denying dom%d access to [%x,%x]\n",
> -                       ret, d->domain_id, fmp, fmp + np - 1);
> -        }
> +            ret = -EPERM;

Should we add a dprintk here at least, to make it easy to identify
what has gone wrong from just looking at the dmesg?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 20:30:30 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 20:30:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340678.1601516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZwtr-0008MU-S9; Wed, 17 Jun 2026 20:30:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340678.1601516; Wed, 17 Jun 2026 20:30: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 1wZwtr-0008MM-NY; Wed, 17 Jun 2026 20:30:15 +0000
Received: by outflank-mailman (input) for mailman id 1340678;
 Wed, 17 Jun 2026 20:30:15 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <marmarek@invisiblethingslab.com>) id 1wZwtq-0008MG-VN
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 20:30:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZwtp-00EfKn-GD
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 22:30:14 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a33034f-bab6-0a2a0a5309dd-0a2a450ab28a-44
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 22:30:13 +0200
Received: from [202.12.124.158] (helo=fhigh-b7-smtp.messagingengine.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a3303d3-56b3-0a2a450a0019-ca0c7c9eea35-3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Jun 2026 22:30:12 +0200
Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45])
 by mailfhigh.stl.internal (Postfix) with ESMTP id 166057A0149;
 Wed, 17 Jun 2026 16:30:11 -0400 (EDT)
Received: from phl-frontend-03 ([10.202.2.162])
 by phl-compute-05.internal (MEProxy); Wed, 17 Jun 2026 16:30:11 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 17 Jun 2026 16:30:09 -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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=1781728210;
	 x=1781814610; bh=nQ3cOxa4IJfVezEa2HBSlbxmNTUbGLfjuqtIqDIYaPY=; b=
	dXV79D8iR1N7Oz3hZHjLyALnv2m91IqsiutxsvSOT8NSGpdNM80MUFuF7hDFn+f2
	Z+twpvAKB5/fJMAuBiHDW87W9aGv85W5n4h967KI1gqVTpYQ8hiEWT2+OLQm0shO
	/w/M7wRHmCBAd1TzCTsEx9RXKS83b5EO/DxEpRhkWHK4+/o9NqDsGdC+qUP+RyjF
	vTrL5XOSftyqcGwu5I7rHe4vh4cx6OP3LoHUXak5GpJ+3ylCaGaGyVnDHQtHrl4f
	dPNc1qEg2cpwDgYdApyZyslxWyzLUMnrWf2R5+NBMlkN3yJep4QUSDi3WbYycZ6/
	BokFWCvn9NprgoDRuGhtCQ==
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=
	1781728210; x=1781814610; bh=nQ3cOxa4IJfVezEa2HBSlbxmNTUbGLfjuqt
	IqDIYaPY=; b=b18YDWA+PQqYgAvCvvqoVjKnBy1OzHeDl6D3i4K8VscgDZvGVKt
	yJjnRTaqX27TD6e8DzqEOLxS0GWMyRj4EyJF7YUKzzeoMfISmxUt7Q8zd01JzzTh
	W7YCNYwkIQ22xh/jfoM4a5BdomNsOs6HKMMylSuNU+XeGbt1TXGR/JZS8E4rm0OI
	dlluGsCaHocfdfa9W0yLaiyStflVyXAG7oAmeuRoj5XPnpqnpGNUpb18b1X3L7xG
	TStaVkuFHslZUguYw5lk5CC467Ie3wukq4OPznpQsMuTl7uGkLtXkxAiNSItopmM
	AjmNoMCqkEs1ShlLy6J93pVbrmzDXOktyFw==
X-ME-Sender: <xms:0gMzao4ToFfZoiigwY430LkL3FU8hsut6O5eu_qVbiKDwEleQpuLlA>
    <xme:0gMzahprbDR_QR3CiG4gtt1CR2_gkZM6_-NE2sHj_UBHevLGfSW_ck94ZO8AEfa-0
    00aq_zsD6SMUFX46Owu20Y4dCBrDrtwTKMBEnQIxDJ5hT4DoA>
X-ME-Received: <xmr:0gMzaqhxvGzMANtJyPoB-McDODMT-DwYLGv9r8ORyaWAu-yuqIToI2YAKBUR392EDpEe0ibqQKYbZ6mG5zI3d56OL0px1di7SD4>
X-ME-Proxy-Cause: dmFkZTFwBnQPaP9WPTtPaROfPtnBHMTyhvNJw2ar9oD2/Ek+QDJEzCKFDOCZD8BOvSXawW
    DamGfv5dofJDwPTbAaoDsgol/BYmKaFsXyYvhe0IbrpIBG0C33baNrPSnB1HeVKaw4kl+O
    LRffK/Lq2QoOt/UN6X/RMRdF0D6ZmWwdHuo9613C+/bJ/zsgahmOIwiEf69OZQOuVPvJf1
    q3nT0+B+zfBZonxT1uQi4aydeCvlOWUIsqwoUXZtmaK0UNi6NMxJRpszlgtU97jTrWGm7n
    E9xiFVusiamKS+Ai4JVZdpv1Y+AziiggvGZM6U2vtXYPWS4dCMyjzmZCiVPM8/zvjXLZoK
    u+6iEC8LmXfV6YAWuRPfNw0loRodA0cK7Ok5v505BoCInycga3GIZm4BTVy7OI1KEPsYGX
    gcU4sM5w3LbpEnbT/fDd71uYvjwx4wNQjaRbdWwGYMKnmn1Gt6eSsyEsLezecavPgozoKg
    bNXE5N/3cRHtT4tOkNGLvLddqtsj2/7vP3H1qFcMv51h29VvEorEEJ17CfV6/jBpX0KhTj
    awYBwQ2PcF6/N//WMnwmxn3h9RpPU05yXuRgXHwEukCrRaH0k1u3O2LPI1zttXdq/bvg0Q
    Q30wuzSU4z4Yi3TA/C+DROwYP9kMMRsF4sYkqW28h4mKo7q32U1awqjthGlg
X-ME-Proxy: <xmx:0gMzarLVyhtKwl26p_RCB72FYJu5K1aKQWULjXbVxkiAV3yf5dFFzw>
    <xmx:0gMzaqDyRdvfgNGY5Vn07eZhHGTKFSIg3vUXCboIRYK6BvME5qduhA>
    <xmx:0gMzarjOcgMCrj6oGhitgp4pgPEmUxKJPx_ARfLnDEmfw8j94cok8g>
    <xmx:0gMzailiJS1iouK4XqospJ6Hc8AVvubtfo8DnBvg25jTL6zmFW09BQ>
    <xmx:0gMzavC3QsWzAOZr6Jy4gcaqjrK3dGUiOCG0WC4vha4z_d8ZbSFyHdgC>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 17 Jun 2026 22:30:08 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
	intel-xe@lists.freedesktop.org
Subject: Re: Graphical glitches (not refreshing?) with Linux's xe driver +
 Xen 4.19
Message-ID: <ajMD0Jsml3ytlWOY@mail-itl>
References: <aYtznP_tT6xNPwf-@mail-itl>
 <aY3ttvtxGCPTNgsj@Mac.lan>
 <aY58-gyarcVoBS2a@mail-itl>
 <aZ3KoSlIzru0Uumu@mail-itl>
 <aaVyKFaCSuhJufW2@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="uNgrZ1r0QgDtWsL3"
Content-Disposition: inline
In-Reply-To: <aaVyKFaCSuhJufW2@mail-itl>
X-purgate-ID: tlsNG-4011c0/1781728213-6FB5F8B7-E6D31A7A/0/0
X-purgate-type: clean
X-purgate-size: 8428


--uNgrZ1r0QgDtWsL3
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 17 Jun 2026 22:30:08 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
	intel-xe@lists.freedesktop.org
Subject: Re: Graphical glitches (not refreshing?) with Linux's xe driver +
 Xen 4.19

On Mon, Mar 02, 2026 at 12:19:04PM +0100, Marek Marczykowski-G=C3=B3recki w=
rote:
> On Tue, Feb 24, 2026 at 04:58:25PM +0100, Marek Marczykowski-G=C3=B3recki=
 wrote:
> > On Fri, Feb 13, 2026 at 02:23:06AM +0100, Marek Marczykowski-G=C3=B3rec=
ki wrote:
> > > On Thu, Feb 12, 2026 at 04:11:50PM +0100, Roger Pau Monn=C3=A9 wrote:
> > > > On Tue, Feb 10, 2026 at 07:06:20PM +0100, Marek Marczykowski-G=C3=
=B3recki wrote:
> > > > > Hi,
> > > > >=20
> > > > > Recently I started testing compatibility with Intel Lunar Lake. T=
his is
> > > > > the first one that uses "xe" instead of "i915" Linux driver for i=
GPU.
> > > > > I test it with Qubes OS 4.3, which uses Xen 4.19.4 and PV dom0 ru=
nning
> > > > > Linux 6.17.9 in this test.
> > > >=20
> > > > Not sure it's going to help a lot, but does using a PVH dom0 make a=
ny
> > > > difference?
> > >=20
> > > Ok, now with the correct Xen version, it's better with PVH dom0. At
> > > least on the login screen and few applications (from both dom0 and do=
mU)
> > > I don't see the glitches anymore. I can't do a full test, because PCI
> > > passthrough doesn't seem to work with PVH dom0 on Xen 4.19 - and I ne=
ed
> > > it to start most VMs.
> > >=20
> > > So, if the above test is representative, it's only about PV dom0.
> >=20
> > Some further observations:
> >=20
> > 1. My initial impression that Xen 4.17.6 is not affected is false.
> > Apparently I got lucky and didn't waited long enough for glitches to
> > appear. Unfortunately this means I have no way to bisect this...
> >=20
> > 1a. Updated test procedure - either:
> >   - start Qubes OS in full (including default system domUs) and try to
> >     open an app in one of them (for example file manager or pdf viewer)
> >   - start Linux up to lightdm login page, log in, log out, click on a
> >     few lightdm menus (session type selector, poewroff menu etc)
> >=20
> > The second version works even if toolstack version in dom0 doesn't match
> > Xen version. If no glitches are observed after doing either of those
> > procedures, assume it's good.
> >=20
> > 2. Xen staging is affected too. As well as Xen staging-4.19 without
> > any qubes patches.
> >=20
> > 3. After enabling CONFIG_DEBUG in Xen, the xe.ko fails to load firmware:
> >=20
> >     xe 0000:00:02.0: [drm] Tile0: GT0: Using GuC firmware from xe/lnl_g=
uc_70.bin version 70.53.0
> >     xe 0000:00:02.0: [drm] *ERROR* Tile0: GT0: load failed: status =3D =
0x40000056, time =3D 0ms, freq =3D 1850MHz (req 1850MHz), done =3D -1
> >     xe 0000:00:02.0: [drm] *ERROR* Tile0: GT0: load failed: status: Res=
et =3D 0, BootROM =3D 0x2B, UKernel =3D 0x00, MIA =3D 0x00, Auth =3D 0x01
> >     xe 0000:00:02.0: [drm] *ERROR* Tile0: GT0: firmware production part=
 check failure
> >     xe 0000:00:02.0: [drm] *ERROR* Tile0: GT0: Failed to initialize uC =
(-EPROTO)
> >     xe 0000:00:02.0: probe with driver xe failed with error -71
> >=20
> > CONFIG_DEBUG is the only change between "xe.ko loads fine but there are
> > glitches later on" and "xe.ko fails to load at all". Full console logs:
> > https://gist.github.com/marmarek/47b5e62a2cdbae6678c2aecc5283cd3f, there
> > are 3 files:
> >   - CONFIG_DEBUG=3Dn
> >   - CONFIG_DEBUG=3Dy
> >   - CONFIG_DEBUG=3Dy + iommu=3Ddebug
> >=20
> > 4. Updating to Linux 7.0-rc1 doesn't help, for example:
> > https://openqa.qubes-os.org/tests/168119#step/desktop_linux_manager_cre=
ate_qube/11
> >=20
> > Generally, it does feel like a bug in xe.ko, but I can't exclude some i=
ssue
> > on Xen side too (especially given point 3 above).
>=20
> After waiting some time (Linux 6.19.5 this time), Xen CONFIG_DEBUG=3Dn, I=
 get some timeout messages:
>=20
>     [    8.122120] xe 0000:00:02.0: [drm] [ENCODER:204:DDI A/PHY A] faile=
d to retrieve link info, disabling eDP
>     [    8.148476] xe 0000:00:02.0: [drm] Tile0: GT0: Using GuC firmware =
=66rom xe/lnl_guc_70.bin version 70.53.0
>     [    8.803845] xe 0000:00:02.0: [drm] Tile0: GT0: ccs1 fused off
>     [    8.804208] xe 0000:00:02.0: [drm] Tile0: GT0: ccs2 fused off
>     [    8.804556] xe 0000:00:02.0: [drm] Tile0: GT0: ccs3 fused off
>     [    8.822426] xe 0000:00:02.0: [drm] Tile0: GT1: Using GuC firmware =
=66rom xe/lnl_guc_70.bin version 70.53.0
>     [    8.827140] xe 0000:00:02.0: [drm] Tile0: GT1: Using HuC firmware =
=66rom xe/lnl_huc.bin version 9.4.13
>     [    8.829478] xe 0000:00:02.0: [drm] Tile0: GT1: Using GSC firmware =
=66rom xe/lnl_gsc_1.bin version 104.0.5.1429
>     [    8.852923] xe 0000:00:02.0: [drm] Tile0: GT1: vcs1 fused off
>     [    8.853513] xe 0000:00:02.0: [drm] Tile0: GT1: vcs2 fused off
>     [    8.854090] xe 0000:00:02.0: [drm] Tile0: GT1: vcs3 fused off
>     [    8.854706] xe 0000:00:02.0: [drm] Tile0: GT1: vcs4 fused off
>     [    8.855310] xe 0000:00:02.0: [drm] Tile0: GT1: vcs5 fused off
>     [    8.855904] xe 0000:00:02.0: [drm] Tile0: GT1: vcs6 fused off
>     [    8.856495] xe 0000:00:02.0: [drm] Tile0: GT1: vcs7 fused off
>     [    8.857079] xe 0000:00:02.0: [drm] Tile0: GT1: vecs1 fused off
>     [    8.857675] xe 0000:00:02.0: [drm] Tile0: GT1: vecs2 fused off
>     [    8.858272] xe 0000:00:02.0: [drm] Tile0: GT1: vecs3 fused off
>     [    8.975881] xe 0000:00:02.0: [drm] Registered 3 planes with drm pa=
nic
>     [    8.976586] [drm] Initialized xe 1.1.0 for 0000:00:02.0 on minor 0
>     [    8.980882] ACPI: video: Video Device [GFX0] (multi-head: yes  rom=
: no  post: no)
>     [    9.033754] xe 0000:00:02.0: [drm] Tile0: GT1: found GSC cv104.1.0
>     ...
>     [ 1218.319232] xe 0000:00:02.0: [drm] Tile0: GT0: Engine reset: engin=
e_class=3Drcs, logical_mask: 0x1, guc_id=3D3
>     [ 1218.319890] xe 0000:00:02.0: [drm] Tile0: GT0: Timedout job: seqno=
=3D9883, lrc_seqno=3D9883, guc_id=3D3, flags=3D0x0 in Xorg [3245]
>     [ 1218.320736] xe 0000:00:02.0: [drm] Xe device coredump has been cre=
ated
>     [ 1218.321140] xe 0000:00:02.0: [drm] Check your /sys/class/drm/card0=
/device/devcoredump/data
>     [ 1222.285626] xe 0000:00:02.0: [drm] *ERROR* [CRTC:88:pipe A] flip_d=
one timed out
>     [ 1232.525685] xe 0000:00:02.0: [drm] *ERROR* flip_done timed out
>     [ 1232.526280] xe 0000:00:02.0: [drm] *ERROR* [CRTC:88:pipe A] commit=
 wait timed out
>     [ 1242.765717] xe 0000:00:02.0: [drm] *ERROR* [CRTC:88:pipe A] flip_d=
one timed out
>     [ 1253.005696] xe 0000:00:02.0: [drm] *ERROR* flip_done timed out
>     [ 1253.006248] xe 0000:00:02.0: [drm] *ERROR* [CRTC:88:pipe A] commit=
 wait timed out
>     [ 1263.245599] xe 0000:00:02.0: [drm] *ERROR* [CRTC:88:pipe A] flip_d=
one timed out
>=20
> The glitches appear much earlier, though.
> Would content of /sys/class/drm/card0/device/devcoredump/data be useful
> for debugging this?
>=20
> Full log at https://openqa.qubes-os.org/tests/168813/file/serial0.txt
> (warning, almost 200MB of those errors...)

The issue still happens with Linux 7.0.12. Current log (quite similar to
the previous one):
https://openqa.qubes-os.org/tests/184602/logfile?filename=3Dserial0.txt

Not long after GPU errors, nvme driver fails due to full swiotlb.

Any ideas?

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

--uNgrZ1r0QgDtWsL3
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmozA88ACgkQ24/THMrX
1yyq+wf/bEtASp768/AYv+EbDMh+837ZW5p9z2UDro8wq2O7Q3+QcU0X28Vd1uvy
Bnun06E68x863J5YKsRdUbdIQ5fLXcWphPx5IBMmJYVYWfnnb8EKQxd3WQmwDD8n
EImFomdtLgBdsLVSZDi5aiIpWXmIAJ3fssOZv0cripsIDHrzNwQ+9M2vO3iIpyLM
lYR42khFChpiYuiSqjrGe8JhueBldxD3fPAo9FRP0JcEue3+cmgn04FKPo4Jshdh
J9ppBrthfjQSVxYCnhNMGUEjIE8h0RaqMASKa9ti3NNJ0BtLU+29kUUCOVw7dZY+
H9QwxAr4ylkktAbK5FkWoEnpQMI6JQ==
=UgAf
-----END PGP SIGNATURE-----

--uNgrZ1r0QgDtWsL3--


From xen-devel-bounces@lists.xenproject.org Wed Jun 17 23:25:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Jun 2026 23:25:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340717.1601525 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wZzdU-0007QS-O5; Wed, 17 Jun 2026 23:25:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340717.1601525; Wed, 17 Jun 2026 23: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 1wZzdU-0007QK-J6; Wed, 17 Jun 2026 23:25:32 +0000
Received: by outflank-mailman (input) for mailman id 1340717;
 Wed, 17 Jun 2026 23:25:30 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <matthew.brost@intel.com>) id 1wZzdS-0007Pu-4x
 for xen-devel@lists.xenproject.org; Wed, 17 Jun 2026 23:25:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wZzdQ-00APfu-7B
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 01:25:28 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <matthew.brost@intel.com>)
 id 6a332cc9-2eae-0a2a0a5409dd-0a2a450b86ce-30
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 01:25:26 +0200
Received: from [192.198.163.9] (helo=mgamail.intel.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <matthew.brost@intel.com>)
 id 6a332ce4-212f-0a2a450b0019-c0c6a309480f-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 01:25:26 +0200
Received: from fmviesa004.fm.intel.com ([10.60.135.144])
 by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 17 Jun 2026 16:25:24 -0700
Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23])
 by fmviesa004.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 17 Jun 2026 16:25:24 -0700
Received: from ORSMSX902.amr.corp.intel.com (10.22.229.24) 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.2562.37; Wed, 17 Jun 2026 16:25:23 -0700
Received: from ORSEDG901.ED.cps.intel.com (10.7.248.11) by
 ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.37 via Frontend Transport; Wed, 17 Jun 2026 16:25:23 -0700
Received: from SA9PR02CU001.outbound.protection.outlook.com (40.93.196.29) by
 edgegateway.intel.com (134.134.137.111) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.37; Wed, 17 Jun 2026 16:25:22 -0700
Received: from PH7PR11MB6522.namprd11.prod.outlook.com (2603:10b6:510:212::12)
 by IA1PR11MB7200.namprd11.prod.outlook.com (2603:10b6:208:42f::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Wed, 17 Jun
 2026 23:25:17 +0000
Received: from PH7PR11MB6522.namprd11.prod.outlook.com
 ([fe80::e0c5:6cd8:6e67:dc0c]) by PH7PR11MB6522.namprd11.prod.outlook.com
 ([fe80::e0c5:6cd8:6e67:dc0c%4]) with mapi id 15.21.0113.015; Wed, 17 Jun 2026
 23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=Intel header.d=intel.com header.i="@intel.com" header.h="Date:From:To:CC:Subject:Message-ID:References:Content-Transfer-Encoding:In-Reply-To:MIME-Version"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1781738726; x=1813274726;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=PUP8Xk+POfnNk2DPSMVRsnCCdejbOoDjfDUaMs34lQQ=;
  b=kWe43PmRUwsjRGP+o4PfSN8zTYfObmc+ErYT1vDxXpQKSZ4Dxq5RjZQU
   ajYT60TgqlS6TkJ+NrpDBmv+uTv5oiD4qJIoySi1LYsRZCgaOLEWqWBhj
   PWDJ0GYgJ5f8tEn8L1OBXm6bGXgj9Yf2NKY5jRDu3FeSiqsSHCX5b/O3+
   NpSDoxUaHDr8auSHkcxKeKYXC7CrF0TPUlQaCCQ2SQZRtNm3p7hnRAe1k
   2/d6MoWGzrFfMO27UB56NCpHWOOALvb38hRKKxS+3k/HklBtMR4jD9zFF
   0tmlUUNcyX3lKPjb0CZrslrwfsMzQOg6L3Kd7TdIvGA8E9QphsGApX+Jt
   A==;
X-CSE-ConnectionGUID: fzLviaLUShe9AvNGOAl4nw==
X-CSE-MsgGUID: GvVJB9FiTcSQQ4Wuiu7rfA==
X-IronPort-AV: E=McAfee;i="6800,10657,11820"; a="93214573"
X-IronPort-AV: E=Sophos;i="6.24,210,1774335600"; 
   d="scan'208";a="93214573"
X-CSE-ConnectionGUID: +zCGc8uMQyOLj+AjpNldgw==
X-CSE-MsgGUID: 8fnz0ggISM+3HxF3heEHFw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.24,210,1774335600"; 
   d="scan'208";a="250092492"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=HDlDXxLDyg6taO52RczRUc/aTCHULCCg4cRmEjYenp4cj79hf1aJAnSm/7FthWRH24/1AKJV9mSdTlKv0FGPRweS7fT6XctBuvR6Mg7CdPPxzmcsP+/N+h2hu6F2DbKVBLBYg/689aar6RPtRJQS6PlZlZl3rnBNh8FBC6xGHUJ1VXy5PIElXcShxUk7B2/gn5BzxCibCgR1ju4ZQ5mKui+czYvokfKgdw+a0GeU3aJMNNmaK6tJdhJQSF9EmpBG3nVE0wB8sRqUTjgt5ku4KwWz3GigU7C63BMncQPow60FF8qI5EpV4PHVhCuhUZel5H3tLP08MVjR3CxmKaxYxQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BG3A3CkzGTMuen7COKjcQq3v9Bpnh/ScFfSKda4UkQM=;
 b=bJdo9W99fI8PfQUIMSwL/v8bLU6y43gBuZ1GetIEVRoGseIlw1LKuvudAR76hgCs/Hymz8crTij2mR3dhYPGuVoLn/ZbediBGeYklm0ajly4oBBHe1wBnYRJ4N++eTl+NCWWJXqAbtoDr89r3GlfkAtwtIt7HdoTV4FKPK1hwn83CMvsEmRx5Nb7cDEuQAhl9OUxcW0WWjhfcNFtupzy3ilYXDG5KV2JH58rKJy8/iFGm7pYHF95SX32zeWU/L8LS78Ct6b2NRkOQKIjQLwsMLO0RBtCBXNm3yy5HdOf3A6w2n0xAWjN0DSAkEF6zsDFRyVHkX5m3OldPc/Dk3POUA==
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: Wed, 17 Jun 2026 16:25:14 -0700
From: Matthew Brost <matthew.brost@intel.com>
To: Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?=
	<marmarek@invisiblethingslab.com>
CC: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>, xen-devel
	<xen-devel@lists.xenproject.org>, <intel-xe@lists.freedesktop.org>,
	<jani.nikula@intel.com>
Subject: Re: Graphical glitches (not refreshing?) with Linux's xe driver +
 Xen 4.19
Message-ID: <ajMs2lkXmTppifK7@gsse-cloud1.jf.intel.com>
References: <aYtznP_tT6xNPwf-@mail-itl>
 <aY3ttvtxGCPTNgsj@Mac.lan>
 <aY58-gyarcVoBS2a@mail-itl>
 <aZ3KoSlIzru0Uumu@mail-itl>
 <aaVyKFaCSuhJufW2@mail-itl>
 <ajMD0Jsml3ytlWOY@mail-itl>
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ajMD0Jsml3ytlWOY@mail-itl>
X-ClientProxiedBy: MW4PR03CA0065.namprd03.prod.outlook.com
 (2603:10b6:303:b6::10) To PH7PR11MB6522.namprd11.prod.outlook.com
 (2603:10b6:510:212::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH7PR11MB6522:EE_|IA1PR11MB7200:EE_
X-MS-Office365-Filtering-Correlation-Id: 61520303-c59a-4b46-ba9b-08deccc7b0f2
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|1800799024|376014|23010399003|366016|56012099006|11063799006|5023799004|6133799003|18002099003|22082099003|3023799007|4143699003;
X-Microsoft-Antispam-Message-Info: pw/hwjn541NH/hgmDNmpI32jgm33DbA+8xpFUnKHQuRiVxOoBcr4C94jokd/NjKdjr4mnXIh+zFllRJ2nfUW52ZYitCBNDlPiUKy9HYbuGSqTy0x/uBbeeAftfHBPvZiwjI1MMAGGKXpaxYgVHdBONBxKRoqP1vctYhxijT5zCMNJHV1/YycUHED+Qpfe6Bl9aDrXmlIz11hMzcyelgMFqOrGAab4SVkdXV5zLfZdYG7yjlpB0Ldwe99Id+ZnVsncM8XJMzVGQ1DNhy/OX7Q5jvAsB1NQM/3bwrqPnWZOua4g/mgzib3DUnxEBjk09ePhDHbmkSmIdldk38qET9iWAdNyw0y1kNRtiS7EwcMYYx56bWajhjLStNSkhp+j0HhtI+s/83/fTceLO8fzd3r2L7u0SWh7aNKk0a5GrAiHp4WVu5aVQjgOvEmgVuFW6Lq8LESwnLEFpiRDnix6ZWMEiqlr7f6jSF3LXw70t49y8d2M6iagssj+DlQwxwLcT3VG4U8KziFlXdcR+haKmeTcnpGABMUxyO6WbN5YvOk53w04NcEOlLp4rR+KAYxggU8t2mVnq3T/CcgwvrnlmOx44ax8cYrK8qO9bmc824u6Z0j2dLJZaB2g4r0JIogRySwz9vK5jbg2VjsHlYAFDsuuA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR11MB6522.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(23010399003)(366016)(56012099006)(11063799006)(5023799004)(6133799003)(18002099003)(22082099003)(3023799007)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?iso-8859-1?Q?lAstnVsl+5iCN9g5Ao5R61mo+mNtgWE0q9W1PcIfFbED/uls/UJQbeneqi?=
 =?iso-8859-1?Q?fEjTB0yMWT0LmMPW2rzhGfE9BQeUKtVCx0j1xGvcoNXAsgvlB8XUhIQDeE?=
 =?iso-8859-1?Q?3A2VauIalTOZqYxrM7PY7i9S/IKdw5awo1srpib2KB659ht1gR4XiVxewU?=
 =?iso-8859-1?Q?K320IMJqy0Mm0FabgIrH2l7jQGt1jRsl/OQTYw6iQng30fGFIeCKg821tG?=
 =?iso-8859-1?Q?XI7cIzB3RW4O0cmaBnSA27zNUs59bsfXkBjgn7QlETdjlzwmPf6oqCJNgH?=
 =?iso-8859-1?Q?m+rKgvMK//yxjNi4nxBXvO0Va+24wz7+Tb/AO568GWuotKg6hmymgwCPGT?=
 =?iso-8859-1?Q?YOi4c4n+24fZRmRAoOkMYG4LDQV40WXWcha+r/iIthnKUROlPi+CYfCDA8?=
 =?iso-8859-1?Q?s12xhk6Gv6L/q820d+z9ZZv3fcoD5sdC4Q7xkXbwsXar4YfZUj3hgNmitX?=
 =?iso-8859-1?Q?WAurjmKG6fMU9v4ZMbPkCHY7a6D6p6zQm+VLhC5+WDpoCtmDM8xyulT6E5?=
 =?iso-8859-1?Q?eIYUSAnW6wO8qFq4usb9ylEZkRSry7OlpL9XMzJ2FPp40/qyQrfgC+nkQh?=
 =?iso-8859-1?Q?Hqjg1RaW/Cz9BwEoVeplU0HQBaLwhlDoDs83bU57UT6D2YjILPyEvtX19e?=
 =?iso-8859-1?Q?1xAUOae/ISP+n7VvJ8dhOBrdtKKe2tiz8Pp3/cU3tiHhJQE+DaoEAxugg3?=
 =?iso-8859-1?Q?pCXAAO/jAk0ku2rEVOoqNYfSMgoxYY0wHaRl0bkeXsaccNnWim1l0of187?=
 =?iso-8859-1?Q?afXze7Q8PsLGtg9d0tRDpZC9P76ycp4cnnzuUh+i4dPPp8MiWJRWJkeVUJ?=
 =?iso-8859-1?Q?hU7TxUxXMnap8yUrAZZJqo2Pk2ScORpwfZk4ogC/jxbEZlLixkTiQjLatW?=
 =?iso-8859-1?Q?RpU88z0rn4YxcddARoGNQ6oCYUTMlYVdjeaSd8oohDbcGVc4F1qoXo4ICj?=
 =?iso-8859-1?Q?nK2tljVde1ZWP/Dv2ovTLbn5v4DizHdn2SIsaAWXbQ+EFRpjPjAnhyNUkc?=
 =?iso-8859-1?Q?H5WGwdyBek4LIBlQgbiVwwXGmvkVyLXy+Zpd3BTpELpKOdE3zu9r7HNToZ?=
 =?iso-8859-1?Q?k2vQxiBIpoNxaq+HWqbdMd1MB8ILKHO4YsuNiExmzxNwWLFSWQmzo5cBWE?=
 =?iso-8859-1?Q?Lzx/aE0DtpiZ7blczNhYcHgUxwpT8TkQpnoIyp6n5AVysAHH2aravJgOj/?=
 =?iso-8859-1?Q?x+zMQaBzbdOY4BZVjac+qKmB49YX6tjG25Jy6XNUpJJDcoqEeclrE3bgfh?=
 =?iso-8859-1?Q?B0efOATR7V2QiEEeJP1EX/4hX0BNW3yDCINrejiPPoMyV24/yTU7Hr+Nv8?=
 =?iso-8859-1?Q?xKsH3232YBUPURrm8UsfHUHB2xnRyeyDNFeKPMZ/ZYnJzUQ2GlFbBaBb/O?=
 =?iso-8859-1?Q?DnpztGggBzRMU9bgGwEuHjr0VJG4BwAsgqt/JQJ1PTX54cNWwQ3lB4fCn3?=
 =?iso-8859-1?Q?SHMrwqGAj+S2KpZQJBicSIpaWRL1NHv2U5uoG4PK3ZLMPXaahvUzfLUjl0?=
 =?iso-8859-1?Q?v7JFDwVGDKB1Taj11Lewej4XjcDTUwnDI1bRijMMXkmkkioDuD7UoSy9l3?=
 =?iso-8859-1?Q?rTaFzbvvi3X7ZvLQ8+nLwyAhzdgcFD08AuH76oAZ2Letgvw+QTl+RlSEIQ?=
 =?iso-8859-1?Q?2upxnmvuUYYK2hkCkOUK38MrgZi4lvTrjMQ23SwSAhS9foYMN/Bqmr9w04?=
 =?iso-8859-1?Q?1kY5lMOkC6pJO68HdeALFl1bDgXyvP9Vb8uPRZDiKrieTu1KI7AywkY1TD?=
 =?iso-8859-1?Q?O46r62CDvQAJMB2e78n6NQBImzo6Aonr/SfR/fC9VBvdGIGpg3jTQu7wdA?=
 =?iso-8859-1?Q?TmwwrWDjUw=3D=3D?=
X-Exchange-RoutingPolicyChecked: ldPGRdyep0hIlDFA+C4EN5V7KVBz4kJXY+iNHUCODg7cWtN3Q8CGAmZIzYSO1Cx0a3rcYHIXyy3YpQUIwD50sHQ7wRz8+eDT7xhvPvjNE08mIHJVsUwGvo/43yKZRO9Djag5/UcZumWdmgD4XYRhP+jxzockF/R4h/XRraEB5tUfg3U+IcZFNlVK53CYr29oLnKF/cyY1EdC8nkwpx4701KGDe7bvyRZfW5xdU1ZNrnW/lh/faJ2wGGc0FerR1M8FelJXusZy5737x5WyMMikw+R7569lE59R00DgUIpQXPVTsOk+fc3H7rTP6qcJeTYBvrZmmSMuRP5W3yUoIKX2g==
X-MS-Exchange-CrossTenant-Network-Message-Id: 61520303-c59a-4b46-ba9b-08deccc7b0f2
X-MS-Exchange-CrossTenant-AuthSource: PH7PR11MB6522.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2026 23:25:17.4276
 (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: +vW9/dQpAScRBISoBNuN63pP1rFHcKScuhNSfwrz/XeNlXZx5FVNurQOWZ96iNk8LO7VNQcWpjW26iIoSj2NkA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR11MB7200
X-OriginatorOrg: intel.com
X-purgate-ID: tlsNG-42698a/1781738726-21D85F3B-362221A7/0/0
X-purgate-type: clean
X-purgate-size: 8146

On Wed, Jun 17, 2026 at 10:30:08PM +0200, Marek Marczykowski-Górecki wrote:
> On Mon, Mar 02, 2026 at 12:19:04PM +0100, Marek Marczykowski-Górecki wrote:
> > On Tue, Feb 24, 2026 at 04:58:25PM +0100, Marek Marczykowski-Górecki wrote:
> > > On Fri, Feb 13, 2026 at 02:23:06AM +0100, Marek Marczykowski-Górecki wrote:
> > > > On Thu, Feb 12, 2026 at 04:11:50PM +0100, Roger Pau Monné wrote:
> > > > > On Tue, Feb 10, 2026 at 07:06:20PM +0100, Marek Marczykowski-Górecki wrote:
> > > > > > Hi,
> > > > > > 
> > > > > > Recently I started testing compatibility with Intel Lunar Lake. This is
> > > > > > the first one that uses "xe" instead of "i915" Linux driver for iGPU.
> > > > > > I test it with Qubes OS 4.3, which uses Xen 4.19.4 and PV dom0 running
> > > > > > Linux 6.17.9 in this test.
> > > > > 
> > > > > Not sure it's going to help a lot, but does using a PVH dom0 make any
> > > > > difference?
> > > > 
> > > > Ok, now with the correct Xen version, it's better with PVH dom0. At
> > > > least on the login screen and few applications (from both dom0 and domU)
> > > > I don't see the glitches anymore. I can't do a full test, because PCI
> > > > passthrough doesn't seem to work with PVH dom0 on Xen 4.19 - and I need
> > > > it to start most VMs.
> > > > 
> > > > So, if the above test is representative, it's only about PV dom0.
> > > 
> > > Some further observations:
> > > 
> > > 1. My initial impression that Xen 4.17.6 is not affected is false.
> > > Apparently I got lucky and didn't waited long enough for glitches to
> > > appear. Unfortunately this means I have no way to bisect this...
> > > 
> > > 1a. Updated test procedure - either:
> > >   - start Qubes OS in full (including default system domUs) and try to
> > >     open an app in one of them (for example file manager or pdf viewer)
> > >   - start Linux up to lightdm login page, log in, log out, click on a
> > >     few lightdm menus (session type selector, poewroff menu etc)
> > > 
> > > The second version works even if toolstack version in dom0 doesn't match
> > > Xen version. If no glitches are observed after doing either of those
> > > procedures, assume it's good.
> > > 
> > > 2. Xen staging is affected too. As well as Xen staging-4.19 without
> > > any qubes patches.
> > > 
> > > 3. After enabling CONFIG_DEBUG in Xen, the xe.ko fails to load firmware:
> > > 
> > >     xe 0000:00:02.0: [drm] Tile0: GT0: Using GuC firmware from xe/lnl_guc_70.bin version 70.53.0
> > >     xe 0000:00:02.0: [drm] *ERROR* Tile0: GT0: load failed: status = 0x40000056, time = 0ms, freq = 1850MHz (req 1850MHz), done = -1
> > >     xe 0000:00:02.0: [drm] *ERROR* Tile0: GT0: load failed: status: Reset = 0, BootROM = 0x2B, UKernel = 0x00, MIA = 0x00, Auth = 0x01
> > >     xe 0000:00:02.0: [drm] *ERROR* Tile0: GT0: firmware production part check failure
> > >     xe 0000:00:02.0: [drm] *ERROR* Tile0: GT0: Failed to initialize uC (-EPROTO)
> > >     xe 0000:00:02.0: probe with driver xe failed with error -71
> > > 
> > > CONFIG_DEBUG is the only change between "xe.ko loads fine but there are
> > > glitches later on" and "xe.ko fails to load at all". Full console logs:
> > > https://gist.github.com/marmarek/47b5e62a2cdbae6678c2aecc5283cd3f, there
> > > are 3 files:
> > >   - CONFIG_DEBUG=n
> > >   - CONFIG_DEBUG=y
> > >   - CONFIG_DEBUG=y + iommu=debug
> > > 
> > > 4. Updating to Linux 7.0-rc1 doesn't help, for example:
> > > https://openqa.qubes-os.org/tests/168119#step/desktop_linux_manager_create_qube/11
> > > 
> > > Generally, it does feel like a bug in xe.ko, but I can't exclude some issue
> > > on Xen side too (especially given point 3 above).
> > 
> > After waiting some time (Linux 6.19.5 this time), Xen CONFIG_DEBUG=n, I get some timeout messages:
> > 
> >     [    8.122120] xe 0000:00:02.0: [drm] [ENCODER:204:DDI A/PHY A] failed to retrieve link info, disabling eDP
> >     [    8.148476] xe 0000:00:02.0: [drm] Tile0: GT0: Using GuC firmware from xe/lnl_guc_70.bin version 70.53.0
> >     [    8.803845] xe 0000:00:02.0: [drm] Tile0: GT0: ccs1 fused off
> >     [    8.804208] xe 0000:00:02.0: [drm] Tile0: GT0: ccs2 fused off
> >     [    8.804556] xe 0000:00:02.0: [drm] Tile0: GT0: ccs3 fused off
> >     [    8.822426] xe 0000:00:02.0: [drm] Tile0: GT1: Using GuC firmware from xe/lnl_guc_70.bin version 70.53.0
> >     [    8.827140] xe 0000:00:02.0: [drm] Tile0: GT1: Using HuC firmware from xe/lnl_huc.bin version 9.4.13
> >     [    8.829478] xe 0000:00:02.0: [drm] Tile0: GT1: Using GSC firmware from xe/lnl_gsc_1.bin version 104.0.5.1429
> >     [    8.852923] xe 0000:00:02.0: [drm] Tile0: GT1: vcs1 fused off
> >     [    8.853513] xe 0000:00:02.0: [drm] Tile0: GT1: vcs2 fused off
> >     [    8.854090] xe 0000:00:02.0: [drm] Tile0: GT1: vcs3 fused off
> >     [    8.854706] xe 0000:00:02.0: [drm] Tile0: GT1: vcs4 fused off
> >     [    8.855310] xe 0000:00:02.0: [drm] Tile0: GT1: vcs5 fused off
> >     [    8.855904] xe 0000:00:02.0: [drm] Tile0: GT1: vcs6 fused off
> >     [    8.856495] xe 0000:00:02.0: [drm] Tile0: GT1: vcs7 fused off
> >     [    8.857079] xe 0000:00:02.0: [drm] Tile0: GT1: vecs1 fused off
> >     [    8.857675] xe 0000:00:02.0: [drm] Tile0: GT1: vecs2 fused off
> >     [    8.858272] xe 0000:00:02.0: [drm] Tile0: GT1: vecs3 fused off
> >     [    8.975881] xe 0000:00:02.0: [drm] Registered 3 planes with drm panic
> >     [    8.976586] [drm] Initialized xe 1.1.0 for 0000:00:02.0 on minor 0
> >     [    8.980882] ACPI: video: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
> >     [    9.033754] xe 0000:00:02.0: [drm] Tile0: GT1: found GSC cv104.1.0
> >     ...
> >     [ 1218.319232] xe 0000:00:02.0: [drm] Tile0: GT0: Engine reset: engine_class=rcs, logical_mask: 0x1, guc_id=3
> >     [ 1218.319890] xe 0000:00:02.0: [drm] Tile0: GT0: Timedout job: seqno=9883, lrc_seqno=9883, guc_id=3, flags=0x0 in Xorg [3245]
> >     [ 1218.320736] xe 0000:00:02.0: [drm] Xe device coredump has been created
> >     [ 1218.321140] xe 0000:00:02.0: [drm] Check your /sys/class/drm/card0/device/devcoredump/data
> >     [ 1222.285626] xe 0000:00:02.0: [drm] *ERROR* [CRTC:88:pipe A] flip_done timed out
> >     [ 1232.525685] xe 0000:00:02.0: [drm] *ERROR* flip_done timed out
> >     [ 1232.526280] xe 0000:00:02.0: [drm] *ERROR* [CRTC:88:pipe A] commit wait timed out
> >     [ 1242.765717] xe 0000:00:02.0: [drm] *ERROR* [CRTC:88:pipe A] flip_done timed out
> >     [ 1253.005696] xe 0000:00:02.0: [drm] *ERROR* flip_done timed out
> >     [ 1253.006248] xe 0000:00:02.0: [drm] *ERROR* [CRTC:88:pipe A] commit wait timed out
> >     [ 1263.245599] xe 0000:00:02.0: [drm] *ERROR* [CRTC:88:pipe A] flip_done timed out
> > 
> > The glitches appear much earlier, though.
> > Would content of /sys/class/drm/card0/device/devcoredump/data be useful
> > for debugging this?

Yes, it would. Jobs hanging can be a bug anywhere in the stack (e.g.,
Hardware bug, KMD bug, UMD bug, application bug, etc...) but the
devcoredump would give us some hints.

> > 
> > Full log at https://openqa.qubes-os.org/tests/168813/file/serial0.txt
> > (warning, almost 200MB of those errors...)
> 
> The issue still happens with Linux 7.0.12. Current log (quite similar to
> the previous one):
> https://openqa.qubes-os.org/tests/184602/logfile?filename=serial0.txt

Hmm, the 'not started' messages in the dmesg are a bit concerning as
this really shouldn't be possible to trigger even if user space is doing
something wrong.

Can you file a gitlab issue against Xe here: https://gitlab.freedesktop.org/drm/xe/kernel/issues/new

TBH, I have no idea if running Xen / Qubes OS + Xe is something anyone
at Intel has tried out, so please include instructions on to how
reproduce and we will see in someone on engineering team can take a look
at this and if issues in Xe KMD exist, try to get these fixed.

Matt

> 
> Not long after GPU errors, nvme driver fails due to full swiotlb.
> 
> Any ideas?
> 
> -- 
> Best Regards,
> Marek Marczykowski-Górecki
> Invisible Things Lab




From xen-devel-bounces@lists.xenproject.org Thu Jun 18 07:16:00 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 07:16:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340798.1601533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wa6yT-0004sU-6E; Thu, 18 Jun 2026 07:15:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340798.1601533; Thu, 18 Jun 2026 07:15: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 1wa6yT-0004sN-3Z; Thu, 18 Jun 2026 07:15:41 +0000
Received: by outflank-mailman (input) for mailman id 1340798;
 Thu, 18 Jun 2026 07:15:39 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wa6yR-0004sH-Of
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 07:15:39 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wa6yQ-00BG4D-Iy
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 09:15:38 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a339b13-bab6-0a2a0a5309dd-0a2a4509ce54-34
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 09:15:38 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a339b19-2497-0a2a45090019-d1558033dc38-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 09:15:37 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-4905529b933so4864755e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 00:15: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-4606f2c3782sm55080138f8f.25.2026.06.18.00.15.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Jun 2026 00:15: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781766937; x=1782371737; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=iJBImAnfXL7aaelFuh07LdPrq4FQ+RaETJoOINH3lCg=;
        b=VXlgxKvQSMyb/6an4rAkqNJKYq4kO7IUHdlDt/JKjg21nGb9EO3IGPhzUHF93dH5n0
         KZGNTYOJbXC6fs/E92f2PgleikbDmQSg293k2JUdim8TvUWMHY6Ebx8yP+9zLce1RWuM
         /LYt95UMKbNc89EF8YXqkKTthcZbmXukRobsl+GLAOjGyT6KdTcP2bNrHXYdRP8KpPFX
         kP4aJ8nXgPTVVy4Jw20c3/nQNCzyITkEvaPxSAJtzE4lofFeJaw2xSct5C+ol+C0tfFF
         AG2Cp/6gmF+xppX+RqxTXGY3dTvvxA2mspT9/4S6O2iqoNC2vpJL0w8bkBpVGTfiowfU
         y4iw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781766937; x=1782371737;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iJBImAnfXL7aaelFuh07LdPrq4FQ+RaETJoOINH3lCg=;
        b=AWUA19fCvoZcDSZxxa2H74Cunhclm4KT0hA6mFmzmkBuCXP3rX9qg7kdlWEIKc7IpB
         /m4L6/LZLmVDBixxafjR2IQcoQNzpdvAAnDURH3isuBI4HczctOaE+5/0wS02vR1Qzks
         OkQd5J1sMP2STCFuA0I3KETbGoXjlq5FptgX30F4TnYwWCTi1nNtOuOvV0KYwsp9iWlE
         9pKb8wJUqcCMx8b7KVzFgutoHV8jIlbngWOIzNzdtL5p1twetyUSZ8jgHcjCVII/TbxU
         KcGltn1o6VX6yUH8yz98JwL47Jb2Cq+UjxNVQoqBbLiikyDBOlY50xncDuPZL84V3ccx
         yW8A==
X-Gm-Message-State: AOJu0YwGgkP19iPbTDRY8zsbMaUlPvrefSlKa7tStETGeBq20SrU4I2I
	XFUpPQZptaLSyp4Jv4VfTkh4xTZmQbYPQ+Rvc/KZmOMDX7gEC2m7BgRwPVac+5gB8w==
X-Gm-Gg: Acq92OHB2aICuS38a6gA9iVAmmoBQ7PBfUFXsKAzAKad28FCZAGVBJFHq1f7fwj2mkY
	elsbYGGMdGahrIGIEXxi5QAfx+fG1RFeHH9XRoU4DFOwTYhs+LNCjzXdXo0X7Qr3lz9Syd+SqDg
	wOkbIeo5ikdV8KTfTO7wWzNJeMDlQRi0Ph95qv2UwFkYM6BaURgqacFFv0GDBg5nT+GZ8uOEPOC
	3E8KiVCI9+/u8KhEPFnsgn1/a/AZPBGN3AyX3y2wQ6W07bBhKmy+LA5CVSKC1HYmuIZGl0Z9epT
	J0AUpZfqmoQSjj9a189EqUTgrp0rJpWsw4tBg52DbIIAt75KN1htnqbJSBMo01SfWxTXORvBxz7
	SF46DRSJ5nKBTgnjGDmXmTv97SDcgP1hHzlMbr/pLamej3r6ccRHKF/Fh6kY/t9rEgUghhk/yG+
	B+miKAQDLnhLpio2XYr/rKD1YRFGuGZtWHu64b3jp9TcmIEBhVxeTaMYqWX24x6puUGyXSAP8TZ
	08g
X-Received: by 2002:a05:600c:4e90:b0:490:cb90:3e13 with SMTP id 5b1f17b1804b1-492333e298cmr118032145e9.21.1781766937186;
        Thu, 18 Jun 2026 00:15:37 -0700 (PDT)
Message-ID: <5379dace-04d4-40ad-ab87-7043a5b24ee4@suse.com>
Date: Thu, 18 Jun 2026 09:15:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.22? 6/7] x86/domctl: don't imply I/O port
 permissions from I/O port 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>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@suse.com>
 <e88a6015-8867-41a8-907d-b6749b1d2549@suse.com>
 <ajK644guPV3lfJde@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: <ajK644guPV3lfJde@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1781766937-42971A53-D66070EB/0/0
X-purgate-type: clean
X-purgate-size: 4674

On 17.06.2026 17:18, Roger Pau MonnÃ© wrote:
> Overall I would defer this change to the start of the 4.23 development
> window, and commit it then.  It's IMO a bit risky to change the
> interface behavior so late in the development process.

I share the concern, yet the Fixes: tags suggest this (and the subsequent
change) wants backporting. Which means we'll "gain" the behavioral change
in minor releases then anyway. IOW - I'm of two minds here.

> On Wed, Jun 17, 2026 at 11:30:04AM +0200, Jan Beulich wrote:
>> ---
>> libxl has libxl__grant_vga_iomem_permission(), but I can't spot any I/O
>> port equivalent (nor a revoke counterpart, btw). Everywhere else MMIO and
>> I/O ports look to be treated equally.
>>
>> Qemu uses both xc_domain_{iomem_permission,memory_mapping}() in
>> igd_write_opregion(), but only xc_domain_{memory,ioport}_mapping() in
>> xen_pt_region_update() and xen_pt_{,un}register_vga_regions(). Is the IGD
>> region special in any way? Clearly this can't work from a stubdom.
> 
> Hm, I'm unsure that code will work correctly after the change here, as
> xen_pt_register_vga_regions() doesn't grant access to the IO/memory
> regions to the remote domain ahead of assigning them?


Hence the remark, and the desire to get input from Anthony. Aiui there
either already is an issue there as of 0561e1f01e87 ("xen/common: do not
implicitly permit access to mapped I/O memory"), from over 10 years ago.
Or there is none here either.

>> --- a/CHANGELOG.md
>> +++ b/CHANGELOG.md
>> @@ -14,6 +14,9 @@ The format is based on [Keep a Changelog
>>   - On x86:
>>     - Enable pf-fixup option by default for PVH dom0.
>>     - The libxenguest bzImage loader now uses the system liblz4 library.
>> +   - XEN_DOMCTL_ioport_mapping no longer implicitly grants permissions for the
> 
> I would explicitly mention access revocation also, FTAOD:
> 
> "XEN_DOMCTL_ioport_mapping no longer implicitly grants or revokes
> permissions ..."

Sure, and then also ...

>> +     port range in question.  XEN_DOMCTL_ioport_permission now needs invoking
>> +     up front.

... "up front / afterwards."

>> --- a/xen/arch/x86/domctl.c
>> +++ b/xen/arch/x86/domctl.c
>> @@ -714,15 +714,35 @@ long arch_do_domctl(
>>              break;
>>  
>>          hvm = &d->arch.hvm;
>> -        iocaps_double_lock(d, true);
>> +        /*
>> +         * NB: The double lock isn't really needed when !add, but is used anyway
>> +         * to keep things simple.
>> +         */
>> +        iocaps_double_lock(d, false);
>>  
>>          if ( !ioports_access_permitted(currd, fmp, fmp + np - 1) )
>>              ret = -EPERM;

For the comment below, note that there hasn't been any log message here.
Hence ...

>> @@ -747,40 +767,11 @@ long arch_do_domctl(
>>                  list_add_tail(&g2m_ioport->list, &hvm->g2m_ioport_list);
>>              }
>>              write_unlock(&hvm->g2m_ioport_lock);
>> -            if ( !ret )
>> -                ret = ioports_permit_access(d, fmp, fmp + np - 1);
>> -            if ( ret && !found && g2m_ioport )
>> -            {
>> -                write_lock(&hvm->g2m_ioport_lock);
>> -                list_del(&g2m_ioport->list);
>> -                write_unlock(&hvm->g2m_ioport_lock);
>> -                xfree(g2m_ioport);
>> -            }
>>          }
>>          else
>> -        {
>> -            printk(XENLOG_G_INFO
>> -                   "ioport_map:remove: dom%d gport=%x mport=%x nr=%x\n",
>> -                   d->domain_id, fgp, fmp, np);
>> -
>> -            write_lock(&hvm->g2m_ioport_lock);
>> -            list_for_each_entry(g2m_ioport, &hvm->g2m_ioport_list, list)
>> -                if ( g2m_ioport->mport == fmp )
>> -                {
>> -                    list_del(&g2m_ioport->list);
>> -                    xfree(g2m_ioport);
>> -                    break;
>> -                }
>> -            write_unlock(&hvm->g2m_ioport_lock);
>> -
>> -            ret = ioports_deny_access(d, fmp, fmp + np - 1);
>> -            if ( ret && is_hardware_domain(currd) )
>> -                printk(XENLOG_ERR
>> -                       "ioport_map: error %ld denying dom%d access to [%x,%x]\n",
>> -                       ret, d->domain_id, fmp, fmp + np - 1);
>> -        }
>> +            ret = -EPERM;
> 
> Should we add a dprintk here at least, to make it easy to identify
> what has gone wrong from just looking at the dmesg?

... I'm pretty uncertain towards emitting one here. Similarly
XEN_DOMCTL_memory_mapping doesn't emit a log message if either of the
two iomem_access_permitted() fail.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 07:38:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 07:38:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340812.1601543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wa7Kg-0007lv-07; Thu, 18 Jun 2026 07:38:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340812.1601543; Thu, 18 Jun 2026 07:38: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 1wa7Kf-0007lo-SZ; Thu, 18 Jun 2026 07:38:37 +0000
Received: by outflank-mailman (input) for mailman id 1340812;
 Thu, 18 Jun 2026 07:38:36 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wa7Ke-0007lS-IM
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 07:38:36 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wa7Kd-00BpEp-AG
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 09:38:35 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a33a074-e002-0a2a0a5209dd-0a2a4509b646-26
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 09:38:35 +0200
Received: from [52.101.85.18]
 (helo=BYAPR05CU005.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a33a079-2497-0a2a45090019-34655512d2d4-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 09:38:34 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by SA6PR03MB7973.namprd03.prod.outlook.com (2603:10b6:806:42c::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Thu, 18 Jun
 2026 07:38:31 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0139.009; Thu, 18 Jun 2026
 07:38: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=guW0akIJTFNWUeWBkv+rqWUI6NxOS+1AfjCk4P9KJWBT4Uufvg/SRxOBi8s5OqB19PpS/mOIpPnOlDwE8V8NUlDWS2bW1HOcKut+WOAYbhaU7XUfoA/YpDOAGRLn9rP2FdtoZE79MQspo+/Ke3wUpcyLrhYScJsstqgDhmKvvnO4rfl8xVNYIKYBONjfS3Ep7fL0LMxnUtCALgtlLnFbRj6oAzfdhVlFlqnXtF0wAPym9MzlPHjtbmnUZ5+fCdQLKD1wnAj9h9HZ0wWPhSpdEqhcsDwtd9wwh86Emv2JG7gTrrCjdBIhBY6GBq0wDpaPcfwEQgdxJKdQXvPoJoPgvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1kuejj0YFmu+eP/5/RSJalDHN5zDX4ENQUFsCdXrH6E=;
 b=iTQO3lJ8QJKYimRJKFCoc2aGhMcwmjouI2ZdJyzEsbaI/lFuyiU+d+CJL274j/nDuTPzfz1NskCoxdp1VaGGozU63IPkVNNcBJCRiwIZvsU0frCdRgdpuExtkNjPeQQGS0qmSeCE42ZsU2L6SaFa0qLGx9UyM6gS+lBk2jpLvfiQ/r7lKIB2A6J5T3jPW+iEJnDocXAmmM46iUJB55EVjSLH0v9jWL8dJ1uH7sM828tdfg/bQEUcy1yGcWvun6h3/Sppbf2G2xHhU+lHMZpggX6gRryH6mZGzoUbybnl2Nzdky8jGq+xTc3SBoSIYf7BzZmuuSyJNO7/Fs7wV9A9Ig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1kuejj0YFmu+eP/5/RSJalDHN5zDX4ENQUFsCdXrH6E=;
 b=ER0RbVu/0gqpKqaorpKmh0DXFOPraR6DdcBJpHbFA+Ms9/rAqWLkWs/JlkrRnRjeQdyPuOr0upqTga/BjmchXYnO961wMYimczIieDL0jDs80/fCal5OoUDEdlATMOZvH87Jfz5gehkBGqWdW+XFTDqTlnXOWTlL0WcJrTtPyWs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 18 Jun 2026 09:38:28 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v2 for-4.22? 6/7] x86/domctl: don't imply I/O port
 permissions from I/O port mapping
Message-ID: <ajOgdObWMM-xD-y4@macbook.local>
References: <ad1eb834-b2f2-4db2-b2fd-9d7f5bb857a9@suse.com>
 <e88a6015-8867-41a8-907d-b6749b1d2549@suse.com>
 <ajK644guPV3lfJde@macbook.local>
 <5379dace-04d4-40ad-ab87-7043a5b24ee4@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <5379dace-04d4-40ad-ab87-7043a5b24ee4@suse.com>
X-ClientProxiedBy: BN9PR03CA0245.namprd03.prod.outlook.com
 (2603:10b6:408:ff::10) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|SA6PR03MB7973:EE_
X-MS-Office365-Filtering-Correlation-Id: 718a2bab-4e3e-4ba9-a834-08decd0c9848
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|1800799024|376014|366016|11063799006|4143699003|56012099006|6133799003|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	rh+kCX0mJoHM+vA1ZTRb9WJ8YNgBz8ruYfTlj2v3mI1pbY0+NlKVvTTtdKAxXtFeZUQ3j52YLUwWbsCGqrNMSfPREqoWANhYv8IS2bK9hClydPqx2OjzyQ7R1mgDwOP+K3zTJcGPZtduIFy4RjiMRcJoXyQjSt/NSKDQ651phu6B+g6UTnp0tmRkWnlwXm0RORTJcIACZkCeJsr4sOaKxu6KknWQ4Hl0A0iugk0B1XyQ/zea3etpIezuoQm1Bqokk2GooiWSKMe2NI+wVaYcMcKm60HjPSifxnsfMVXfsifwDOXaUefcVDuySEp+XfDbonQKuc7gc8da3zAMcNp9154Fq91qr94X6rGYxmhKi2UEeP1IkqsndHE4cA5PUfccauBRKaCP+tqcu/2DaH1IxesplnjRcidRgcySvPUBHFv3SQ1buYwXk9js0RQ+GJqY3kpHECxOzsebih4D/vxILVB3EwbU4hFgCiHjeCKOVDdZq2l2xabxxnzwc7CJ0wxOXzBqL19r6R5HvBoveM/TXM3t0XlcpAcukncY9JBF3GLawHskA1lihlnT0aRbE2Z8ZdJUzXzG26XKtV9ycAEVSmHErg5QNVf86z+3Z4e5wIptxoK31tKPDyNKX1EtoZh520vvAB1hpFFcc1GEmm709lXsyofdTsBy2tmpeZMZqkH4yQkwWjGn8HzP3XHMxKMZ
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(376014)(366016)(11063799006)(4143699003)(56012099006)(6133799003)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cytoRlIwemRURktRL2kxNzZmVHdJR3lUZ3JrM1lBaVNtVjBWWFVKUys1OEox?=
 =?utf-8?B?c0xPb1FZN1lOV0ljcGE0M2lDbjlFemszalhaQytjeW5lWE1GRmYvQXJ3dzQ4?=
 =?utf-8?B?Vk4welNEakkyOTk2SU9HTGNJc0tnSEw3TnZHRnBJOWZZYnUzN3djT0gyODVE?=
 =?utf-8?B?RWtTeG5jUXRDQVE2SUJVdDBtU05RNi8wZkZ3Z1R4NWIyL3FJYXdCZVdDMXUr?=
 =?utf-8?B?eUpCZDBsOXhxNHNXNm1rNWtDcTNYV1FHbVQ2ZS9wK0kvVTZ1TktYdUtZNnlV?=
 =?utf-8?B?bWJTZ3hHSFpsd0JoTC9lN3I4T2ZIVEg3SEs2RmFUeTRvTmh3SnlPT3RqUkNx?=
 =?utf-8?B?WlU2UHFPQ3k1bis3dG5IWkp5L3FMbHpaQ0JTZXFGYndBMGJmNjVNaGFhYklq?=
 =?utf-8?B?U2doK28xTmdjaUpzWGpvUmgzdk1mRERrWkZ1c25BT2JWUm9FUGRQZTc5VWp3?=
 =?utf-8?B?eit1WnljWi80cVdzRUNwUVhoaXFydEQxWVV4MW9YTEVCZHZWMmlLRTJvY2JT?=
 =?utf-8?B?YlVQcVYzQ1JYQnNmTWJYUHBoaHVoQWtibkJ0SWo0cCtnOXcxWlduWlFZaXdM?=
 =?utf-8?B?TVZHTGloUzFZT3Y1ZlAvTThXU2VLSVYvME9hQk5kYXRkS0tXaXlPZHNrZ29j?=
 =?utf-8?B?YWxSc2RyVmJnYzlwM3hTbUdkdVc1M2VVelRkM0U5eWZlbyt1UVBwMjkwNy9L?=
 =?utf-8?B?cmQzaUQ5UzZyL3g3RzBoZGxWZDhEamtQTHpoQzlJUWtkK0Rwd3ZFSWpUSHow?=
 =?utf-8?B?em0xSzFyVlVSQUNRUzZUR2FVNVJLYzZ1QUV3dmpYQWJsZytJWXRFTG5pajNI?=
 =?utf-8?B?U25xSlE3VVJHUDQ2NFBHZTZ6KzR0K2FBZVVjcENqeHllbXpiSXM3WlBwK3JP?=
 =?utf-8?B?U3lBZFg0T2NPa29MSVhXQmdUN2xjeU40UTJjSnVQd3RzYmhpY0laaHRwK1hM?=
 =?utf-8?B?US9pM0xvZkVxSk4zMzhoay81Y2VFZkdJOEJ5RXdBTTlBVk1UNHVuWmIxYkpl?=
 =?utf-8?B?eXEwR1NNMzcremF2SUUrdHl5LzRTSFRrak5acFlFbm5rWEZTQzJibVJWSm5R?=
 =?utf-8?B?a2xqTDNWZVhJOVI5U3JEQTRpaHR6QnpIWHZkdDlNYkxQa0N5bWxjTS92RUtP?=
 =?utf-8?B?VTZ1U2I2d1F3L3FVaVpXZk1URGtTQ3ZkL3ZXclVXaWJwb1hzK2xueTFqc3Ux?=
 =?utf-8?B?akpSUktwcWRPMG5nSTlHZDlVckVNbyt3RERqNmhycGNyYW9TYVJicVpLQzQ3?=
 =?utf-8?B?SUFqT296anprdW5Qb3FMMktNV3FsWER4VWNRWlZQNU85eng1S1pUWFpVMGN6?=
 =?utf-8?B?elR0TElDNjI0UEpRbEYreWpETjJQNUlXOTdtWFZERGZuNHJoamtBUTdiYUZn?=
 =?utf-8?B?WFd5emFMNmdqQ2ZqeDFSR3Q1Y0kvTjZQYmc5RTdyYVV2dGdlT2U4Zng5UVhJ?=
 =?utf-8?B?clBqemtNaTdoTnZsaHIzSlNxVXduZ1NlRkNrYW5GTDI1RDJ3eS9vdzZibzFn?=
 =?utf-8?B?d0ZxUEE1MDFXWkpmWnVqZ2RNVHVSeit3QnBoM2dkWWZ5N1VZZ2RMUHphTTNm?=
 =?utf-8?B?TEtoV2FGOFN4cnI2aThJWXpzcWRqMFd3QWx6Q00xd000ZVJ3SnJxdGZOb3NK?=
 =?utf-8?B?VEIvT1JJVWprYzcrQmM0d3hJMURNSlRkV1FJT2xENDlRbmdtSEJ6dFp5N2Q1?=
 =?utf-8?B?QWprdEkxT3NjREVwbmZnbFhXMCt5VHc4aTQxbVBiMTRGd0Q4QXpaU1IyN0hz?=
 =?utf-8?B?NWlLQm55TEFmeVpVSU9USUNVQ01ibUtBQnNsdlJPNVdqM0pRcGM4b0tGZUli?=
 =?utf-8?B?bFlkRE4zcDNIbUEvMUxoSkRteEc2YTByb2p0WDR4b2pMc3FKalFjTHUrTG5u?=
 =?utf-8?B?ODZZWWw2SjZYS1dPNDBZZ29mbERpOUt1T1dwUHJPVWxwN2ZGQjc3M292TnYz?=
 =?utf-8?B?cjdMdnFralhWdzFGV1BRaUFERkNwd3FYZ0ZOOGhQTHRCQ1ptelFMUjZqVlcz?=
 =?utf-8?B?NmdDU250QTJKam5YVFJVak1GekRIdHlxSGo3MWxNWmVrTG44NmFhVzc0U0Q3?=
 =?utf-8?B?U0V4bThhdnl1b2x3RitSNFQrUGFtNkNoM285WkF4d3FIRWdlWmppeE9FWGwy?=
 =?utf-8?B?OGdFSkRPYk5vZ2hJTzNBYTB3OGV3Sy8yenpheFdRTkIxeE1UMy90QnpZakxz?=
 =?utf-8?B?Y3VmeFgrdXk4R3hQYmVCaEZiMWJxbnRNVS91SXhpQnpXbjJ1WTllcTBhSXVF?=
 =?utf-8?B?d2tZTHFxeXVOTlY2aVRkUHpTY3lTU1MzNTl6Zks5OFJmaWU0SzF4U0NlUXFX?=
 =?utf-8?B?ZmVUTmhUZE5uc3Ywb2N1UEcrNDJSeVVnVEVmNUJWai9BZ0lMR2hjZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 718a2bab-4e3e-4ba9-a834-08decd0c9848
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2026 07:38:31.3574
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: G/iDsCwn2OSXcwNNEGrZj/qwYlcVjorQLa9I4LOoyBMG7tHwzoihLQGY+vz84EGFOlwYuHpTXr3+JTNMfIaxaw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR03MB7973
X-purgate-ID: tlsNG-bad1c0/1781768315-40762A53-AF2688AB/0/0
X-purgate-type: clean
X-purgate-size: 5666

On Thu, Jun 18, 2026 at 09:15:36AM +0200, Jan Beulich wrote:
> On 17.06.2026 17:18, Roger Pau MonnÃ© wrote:
> > Overall I would defer this change to the start of the 4.23 development
> > window, and commit it then.  It's IMO a bit risky to change the
> > interface behavior so late in the development process.
> 
> I share the concern, yet the Fixes: tags suggest this (and the subsequent
> change) wants backporting. Which means we'll "gain" the behavioral change
> in minor releases then anyway. IOW - I'm of two minds here.

IMO I would refrain from backporting this.  Albeit the final behavior
is what we think should be the correct one, and how the hypercall
should have behaved in the first place, it's none the less an ABI
change, and we tend to avoid ABI changes to stable releases.

> > On Wed, Jun 17, 2026 at 11:30:04AM +0200, Jan Beulich wrote:
> >> ---
> >> libxl has libxl__grant_vga_iomem_permission(), but I can't spot any I/O
> >> port equivalent (nor a revoke counterpart, btw). Everywhere else MMIO and
> >> I/O ports look to be treated equally.
> >>
> >> Qemu uses both xc_domain_{iomem_permission,memory_mapping}() in
> >> igd_write_opregion(), but only xc_domain_{memory,ioport}_mapping() in
> >> xen_pt_region_update() and xen_pt_{,un}register_vga_regions(). Is the IGD
> >> region special in any way? Clearly this can't work from a stubdom.
> > 
> > Hm, I'm unsure that code will work correctly after the change here, as
> > xen_pt_register_vga_regions() doesn't grant access to the IO/memory
> > regions to the remote domain ahead of assigning them?
> 
> 
> Hence the remark, and the desire to get input from Anthony. Aiui there
> either already is an issue there as of 0561e1f01e87 ("xen/common: do not
> implicitly permit access to mapped I/O memory"), from over 10 years ago.
> Or there is none here either.
> 
> >> --- a/CHANGELOG.md
> >> +++ b/CHANGELOG.md
> >> @@ -14,6 +14,9 @@ The format is based on [Keep a Changelog
> >>   - On x86:
> >>     - Enable pf-fixup option by default for PVH dom0.
> >>     - The libxenguest bzImage loader now uses the system liblz4 library.
> >> +   - XEN_DOMCTL_ioport_mapping no longer implicitly grants permissions for the
> > 
> > I would explicitly mention access revocation also, FTAOD:
> > 
> > "XEN_DOMCTL_ioport_mapping no longer implicitly grants or revokes
> > permissions ..."
> 
> Sure, and then also ...
> 
> >> +     port range in question.  XEN_DOMCTL_ioport_permission now needs invoking
> >> +     up front.
> 
> ... "up front / afterwards."

Yes, indeed.

> >> --- a/xen/arch/x86/domctl.c
> >> +++ b/xen/arch/x86/domctl.c
> >> @@ -714,15 +714,35 @@ long arch_do_domctl(
> >>              break;
> >>  
> >>          hvm = &d->arch.hvm;
> >> -        iocaps_double_lock(d, true);
> >> +        /*
> >> +         * NB: The double lock isn't really needed when !add, but is used anyway
> >> +         * to keep things simple.
> >> +         */
> >> +        iocaps_double_lock(d, false);
> >>  
> >>          if ( !ioports_access_permitted(currd, fmp, fmp + np - 1) )
> >>              ret = -EPERM;
> 
> For the comment below, note that there hasn't been any log message here.
> Hence ...
> 
> >> @@ -747,40 +767,11 @@ long arch_do_domctl(
> >>                  list_add_tail(&g2m_ioport->list, &hvm->g2m_ioport_list);
> >>              }
> >>              write_unlock(&hvm->g2m_ioport_lock);
> >> -            if ( !ret )
> >> -                ret = ioports_permit_access(d, fmp, fmp + np - 1);
> >> -            if ( ret && !found && g2m_ioport )
> >> -            {
> >> -                write_lock(&hvm->g2m_ioport_lock);
> >> -                list_del(&g2m_ioport->list);
> >> -                write_unlock(&hvm->g2m_ioport_lock);
> >> -                xfree(g2m_ioport);
> >> -            }
> >>          }
> >>          else
> >> -        {
> >> -            printk(XENLOG_G_INFO
> >> -                   "ioport_map:remove: dom%d gport=%x mport=%x nr=%x\n",
> >> -                   d->domain_id, fgp, fmp, np);
> >> -
> >> -            write_lock(&hvm->g2m_ioport_lock);
> >> -            list_for_each_entry(g2m_ioport, &hvm->g2m_ioport_list, list)
> >> -                if ( g2m_ioport->mport == fmp )
> >> -                {
> >> -                    list_del(&g2m_ioport->list);
> >> -                    xfree(g2m_ioport);
> >> -                    break;
> >> -                }
> >> -            write_unlock(&hvm->g2m_ioport_lock);
> >> -
> >> -            ret = ioports_deny_access(d, fmp, fmp + np - 1);
> >> -            if ( ret && is_hardware_domain(currd) )
> >> -                printk(XENLOG_ERR
> >> -                       "ioport_map: error %ld denying dom%d access to [%x,%x]\n",
> >> -                       ret, d->domain_id, fmp, fmp + np - 1);
> >> -        }
> >> +            ret = -EPERM;
> > 
> > Should we add a dprintk here at least, to make it easy to identify
> > what has gone wrong from just looking at the dmesg?
> 
> ... I'm pretty uncertain towards emitting one here. Similarly
> XEN_DOMCTL_memory_mapping doesn't emit a log message if either of the
> two iomem_access_permitted() fail.

I didn't have in mind log parity with other similar hypercalls in
mind, I was mostly concerned about providing an easy way for existing
callers that rely on XEN_DOMCTL_ioport_mapping granting permissions to
identify the error.

I'm not going to insist on adding the error, but I think it could be
helpful despite the non-parity with XEN_DOMCTL_memory_mapping (or we
could also add one there later on).

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 09:57:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 09:57:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340889.1601564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wa9Ud-0002ZL-4C; Thu, 18 Jun 2026 09:57:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340889.1601564; Thu, 18 Jun 2026 09:57:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wa9Uc-0002ZD-VV; Thu, 18 Jun 2026 09:57:02 +0000
Received: by outflank-mailman (input) for mailman id 1340889;
 Thu, 18 Jun 2026 09:57:01 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eda2989b1000701b@swg.vates.tech>)
 id 1wa9Ua-0002Z7-P4
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 09:57:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wa9UZ-00DjGG-Hw
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 11:56:59 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eda2989b1000701b@swg.vates.tech>)
 id 6a33c0e2-e002-0a2a0a5209dd-0a2a450bce3c-34
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 11:56:59 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eda2989b1000701b@swg.vates.tech>)
 id 6a33c0ea-212f-0a2a450b0019-b9ff1c1291db-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 11:56:58 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19eda2989b1000701b.004 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 18 Jun 2026 09:56:55 +0000
Received: from [192.168.1.200] (lfbn-mon-1-1130-120.w90-48.abo.wanadoo.fr
 [90.48.233.120]) (Authenticated sender: thierry.escande)
 by mail2.vates.fr (Postfix) with ESMTPSA id 3108886352;
 Thu, 18 Jun 2026 11:56:55 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=1oSqQO92kVJaL1D7ZjgX8J1hSAlMu0qldiz8mHRpxlI=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=jmX9iue8qRCqIKevP8n4kGEc/gxw2ZQR/p3Y4UtMNxgh2S1KDeEPK72GbSEARmE2Y8QdfWMz+
 y5tmBEfy0Pblr1htkSv+DgxJUzUaWulJ3obKibUJT3haizYRMWVKTZvMnWHscQuby4riZVHO+Xm
 eqcd2cewCFfRidtF/vKb/hEA47lyCQsWC3NeeuUSmFnSg+JSWWbmAYrLCvBJNebRR5dntxgSVKa
 VHNjHt81VTF9CNGZyCmbwNrLQbxCBKiMuoCalIWNs+x3M77ihWYsDzBT2iFvrhBuE4HXsvkQutz
 2I1zTb2ukVHwmosw57aydCLrt1D9DztQR5wTzYfOwxEg==
X-Zone-Loop: bb7ca66fc1a71218dc37167b255668c160072ec9397f
x-campaign-type: default
x-transaction-id: 3a0ff052-8a00-415d-8cc6-35dea044b22c
x-swg-uid: 01-c766a112-5b37-4ec5-ac0e-b1f1271405c8
X-Mailer: Sweego
Message-ID:
 <1781776615.8631fc262581453bbf619ec5b2062170.19eda2989b1000701b@vates.tech>
x-swg-bid: 1781776615.8631fc262581453bbf619ec5b2062170.19eda2989b1000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Thu, 18 Jun 2026 11:56:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 02/17] libacpi: new DSDT ACPI table for Q35
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>,
 Alexey Gerasimenko <x1917x@gmail.com>
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-3-thierry.escande@vates.tech>
 <afCJTdlBPPyWEejk@macbook.local>
 <1781258461.8631fc262581453bbf619ec5b2062170.19ebb4721b0000701b@vates.tech>
 <aiwIgrerH933SPbC@macbook.local>
Content-Language: en-US
From: Thierry Escande <thierry.escande@vates.tech>
In-Reply-To: <aiwIgrerH933SPbC@macbook.local>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.627.e81b99b46dedd7b2.19eda29879e.f5988e80fdcc8b6d=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781776615327
X-purgate-ID: tlsNG-42698a/1781776619-21B86F3B-B0B5547C/0/0
X-purgate-type: clean
X-purgate-size: 1231

---=Part.627.e81b99b46dedd7b2.19eda29879e.f5988e80fdcc8b6d=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


On 6/12/26 15:24, Roger Pau Monn=C3=A9 wrote:
> On Fri, Jun 12, 2026 at 12:01:00PM +0200, Thierry Escande wrote:
>>
>> On 4/28/26 12:17, Roger Pau Monn=C3=A9 wrote:
>>
>> Well, the iasl compiler doesn't support the defined() directive (at
>> least the latest Debian version from 2025) so I'll rather use something
>> like:
>>
>> #define MACHINE_TYPE MACHINE_TYPE_XXX
>>
>> #if MACHINE_TYPE =3D=3D MACHINE_TYPE_XXX
>>  =2E=2E=2E
>> #elif MACHINE_TYPE =3D=3D MACHINE_TYPE_YYY
>>  =2E=2E=2E
>> #endif
>=20
> Oh, I see, I wasn't aware of it not supporting defined() when #ifdef
> is available=2E  Kind of weird to support one but not the other=2E
>=20

And there's more fun: The iasl compiler complains about multiline
comments when enclosed within #if #endif directives=2E Sometimes it's a
warning about nested comments, sometimes it produces errors=2E

Regards,



-- 
Thierry Escande | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vat=
es solutions

web: https://vates=2Etech
---=Part.627.e81b99b46dedd7b2.19eda29879e.f5988e80fdcc8b6d=---


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 11:07:59 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 11:07:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340951.1601585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waAb5-00056Q-7b; Thu, 18 Jun 2026 11:07:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340951.1601585; Thu, 18 Jun 2026 11: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 1waAb5-00056J-47; Thu, 18 Jun 2026 11:07:47 +0000
Received: by outflank-mailman (input) for mailman id 1340951;
 Thu, 18 Jun 2026 11:07:45 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1waAb3-00056D-AK
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 11:07:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waAb2-001aJP-N4
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 13:07:44 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a33d17a-5cb7-0a2a0a5109dd-0a2a4503e4ba-22
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 13:07:44 +0200
Received: from [52.101.201.53]
 (helo=PH7PR06CU001.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a33d17e-672d-0a2a45030019-3465c935d27e-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 13:07:44 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DM6PR03MB4939.namprd03.prod.outlook.com (2603:10b6:5:1e1::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Thu, 18 Jun
 2026 11:07:40 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.009; Thu, 18 Jun 2026
 11: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dRxU1CpOIBF4Rbpa0DPx4QuaeS/vZeRvLB3XdYVRlzsMV1GNh9EJsPJ+/JSdCc5n0iZOMWA+6V7+v7NELRhRR9j/IbuEui1disD4eyNpfsY2OV9UnHWICozFYWsvC1q30riQcFNeqQrS4WMzGSx53o1ESA6P4NwLTR4zbdzFWfNWMSZouK69sCh/NOKrgCBWLIWoot4ZV/K+tmHhiQSpPGY8xlbiCLlkF0U26TxoikS5/6nuXNFnpUlK1LnavP3pS/GQ42qgT4G+gqJDbEPcTIZQnTxYxrOkcOwxdhmJ9UnMdawgL2dZ+iOsYHcxccYwaw9QjYHxyTu3DRJAx6Jsng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DkHDYyG3+RCgBnflcpsFuZgibZJQsWct174RfB6FYx0=;
 b=ApmLb5UUOrZZ22OV6ERj5mHr3pYeSQmLgWBc6eXgYByI9CWezRFg4YWSq4x6RbYGI+7TlvNE/cuZUQRA+hoKJGGVIpTxsy2GEhnxkN+/Pi7PICuBOCGFqB+YNLno+FBzvUWswneUriAAQpN+Pfow4tChei0dJhkc2iL1OMMY8b0bHtgU8MnohZzv9jMEd3xFcdVJzEiIIpM8q9g79I0WYQGZA8duD2rCypp2XDH/7WgYUKI1X3SZOVYDveXs21YWbHVj4l+dn9QaYcI6QgwNhdn4a/mWQbq2OgrT0i+Da+rhgmYwwuX5uFyiM61zEIt4A4jQouioadipsruDzMRJMw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DkHDYyG3+RCgBnflcpsFuZgibZJQsWct174RfB6FYx0=;
 b=mCSdX+DSXCMpKF/4/mRJS39uluSeB2TYR7ughsfHq7NF0PMUyqvdCzUQo+2t6lIwqLgrxXm86YQe5xZWwPttX/5mCFwpWPNw287KeuVvDSyhwoqtQmB9RyV66T0CptYUQezf2+w9eBBJsPaIuUeIW2wtxj+Jv4fr6z5d0CJ1JFQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <06988796-7503-4121-9314-c1b3de707d72@citrix.com>
Date: Thu, 18 Jun 2026 12:07:37 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 "jbeulich@suse.com" <jbeulich@suse.com>,
 Roger Pau Monne <roger.pau@citrix.com>,
 Gerald Elder-Vass <gerald.elder-vass@cloud.com>
Subject: Re: [PATCH 5/7] x86/kexec: Implement new EFI load types
To: Ross Lagerwall <ross.lagerwall@citrix.com>,
 Kevin Lampis <kevin.lampis@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20260609154518.779757-1-kevin.lampis@citrix.com>
 <20260609154518.779757-6-kevin.lampis@citrix.com>
 <1224fa79-d1df-4382-9829-aa2eabe60d5a@citrix.com>
 <BY1PR03MB7996FE744B091E767809F62BF3E62@BY1PR03MB7996.namprd03.prod.outlook.com>
 <06e98f96-2f59-4731-b5a5-8e88adda878a@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: <06e98f96-2f59-4731-b5a5-8e88adda878a@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0288.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:38f::16) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DM6PR03MB4939:EE_
X-MS-Office365-Filtering-Correlation-Id: 7242608e-7839-4173-f82b-08decd29d02d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|23010399003|18002099003|22082099003|4143699003|6133799003|5023799004|3023799007|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	hRYDGdLsDiKhXlCcv/sZIB04WRjbu5/lZ8TE3/yxR+F8c96rEM0UC9Sb6DJhBx6HGidtPSPvoIZ3jPRD1Tl/vR/0PblQulQTiTUPbgxvm/G3D8bMJi6yH/cbLkYEK/q79juza/1TehIK8TgNCK1kaJHNjI85hkOOPdAUhdjSlo0+7iREMaDRneZNJb28hxy/jwn7Zusax1991/Wn0Itvrb1pytn9zcAAEIPxoFvQAlZM2vosBTIJS1bkBCOb3T5P0E/OvYh67K+rWfSmsSPPCsp4bH/rRL+XEwk86e6MhdM8mIvhnM45rNfbcW4wo0CpL91O9ESazwl9jClF1R00ots9SaJ5Mf0BA73OfMe9NRtNQ1gzgd+s4xsGTjw3c/9298FHiivlqrUjECd0qQvXvY/PNzRCxC7yYZ/S71grSB9xHqyYv+3OB0v359pXHu7FTeBxr71+bJQfoYpopRAn9kxBEyLyDvrjxaij3PQXjju0dtLjGh9BACHMMoWENDZqlvzB0DoLAtCbZJGaLxZLeDWLutIkuP4jiG5BQbg7S5rr0Qmbxh4EueUzJzT4fUwF1r/Lgou/wBZNsRO272pw25WpmFLNSWaqloBjWF3fcnfbeXD5bWcj+GhuDA2xhRg2R9mv/7VSGPpHI+bikzxfR2vsxzGNMiOgFuyARsF25Ck+9OqSFM45DfIsav75IqcE2TmWTh1Xl2hnAuhgchrH1Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(23010399003)(18002099003)(22082099003)(4143699003)(6133799003)(5023799004)(3023799007)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y1VKZngzRXlYNXdoZU9sWU9Id3JycHRxTnQwTkp2YWxidXpvUStjM0RuRmY5?=
 =?utf-8?B?OTNCN1VsOWZxTldCTHNrcUw0THcvOWlxNFJid2gwTDVuWnNSS1dUVkpwWlcv?=
 =?utf-8?B?MW1ZdWJvNWxlUDVjSzlyRS9KcFl4Q3hZTXk4cDYyZTloRGwxcDhPWDJkZUlN?=
 =?utf-8?B?eWswNUxlUDBrZnJ4YlBVMzY2cjA5ZlRkTkZiSHA5aVVPMUNvZkc2NUZEdGZC?=
 =?utf-8?B?Vkx4bWxBek1xM1JRRkhzeGhoZUdpK2g0VGNobGkzekptU094QlF1c3JZQWdF?=
 =?utf-8?B?c3hnbSt1MEliSHdLL3JCK0VIZ1liOGp0cmtyTEM5OE56SElORGtja1hZZmZP?=
 =?utf-8?B?MUlIR1BCaHZOV08zSm1sRHlGQ1k2SEhtdVZvUlZ1TFVpWllJdk1HeXZqOXIw?=
 =?utf-8?B?UkxJWHRpVk9pU0lBbE11UzdQYlhLZzhaWEk4MWp0VHU0ckRGWlRmR2RyeGZZ?=
 =?utf-8?B?UDVFd2ZpWVhKYkx0cE5MRVNlZ1NqVW5LSngwamkxQjJYeU44ekNIdUU3VXI3?=
 =?utf-8?B?U1VRWGlreEpCWHlYQ3pkNVlsTWNpcEt3RmVvc3hmVVVVL1pKWGJXUWxMNjFU?=
 =?utf-8?B?aGs2L05YbVF4WEhzeWxwb1k0OHNRNVNLcTZ6RCtOQVVyTE9wRG1xMjlTRGhn?=
 =?utf-8?B?QlEvMm0vbUpSa21neWZ1Z0pLMXpDWGh0Y3crMGR5QkR2SWFvd2dDR0RTMW1q?=
 =?utf-8?B?ZmVyeE9rZytNOURITklPYzVJcE1BcGQ0TUZQRDZKQTdvZ1oycVNxWFlOcFFB?=
 =?utf-8?B?TXJyVmdRdkdwN2Z6eUh0bkp5THkwT04ySDQzM2FuMG9LVGRtZVlINDRXTFQ5?=
 =?utf-8?B?RHgxRC93bEdycTlvdTZhK3JkcU1MbWk5eWYwK0hQeFlQRGtKaHB0VXBPaXFr?=
 =?utf-8?B?bUE4NWRXanZJZHdlWGtTUkV3TEp2OEQwUnFJT3BOV0hBMHc3UmVsV3VYUWto?=
 =?utf-8?B?aUU0YzErOHNhT3ExaHArdGdzaGNHVjIvRlZCSkd6d2ZudVlyMFRDSXFkc3dz?=
 =?utf-8?B?bDRzS1lCaGxtNGJ4bGVVVUEzMWhvOXhvR3JEMzJkWEJZL0ZIL3RoSVpud2s1?=
 =?utf-8?B?Uko2NFdKbzVTUmEyUHNuTFU1aEx3QkEwNlFGOXltcFR0dU5HSUNqNTRkUXg2?=
 =?utf-8?B?UWdzZ0lpT0hubC9DckVyUUdmdVFLSjNqRStXRXE2S3VxS1VyUVh1UXRvQStv?=
 =?utf-8?B?SWR4Sit5SHFLWDhUTVhzbkdpc2FjRWxRT2RKSEZhUDdqRkd0VW01c0lDR1hO?=
 =?utf-8?B?WmhOLy9qdm9JemlwMkpISEtYcjhQdG8remxsTVRUays4L2NycmZXZk5QZ09q?=
 =?utf-8?B?d1hjdUpaRlhSQk5HTnFNTlZxMkFyY2hqWWZrcWI2cUc3OXJqQ1psTjNHWnFh?=
 =?utf-8?B?OHVTc3p2WHJOdENiSC9VQW1jYVFlRy9ENEpDYUtWcGg3UitSUWZlMStzWHNy?=
 =?utf-8?B?MnU2akNIQ1FEU2JOYzBGbVJDTm5TUjBQNXFrUWovZVQ3TDdjelRDc1Q2Ykky?=
 =?utf-8?B?SUkvdG5raDh2OGdXU3ozNFFCQnJaOTNCemcrdEpLcmtxQ2V1QUdyRDcwN1VG?=
 =?utf-8?B?TUxxWXpYNjlEMWpSQ3JHaU16Qk1Bemw0TTZJNnptbW8vZE0zVTgzeng2UU5H?=
 =?utf-8?B?YzVZeWNabDFkNWtzWkVMNFdJdXhvRHlzVlBXN3dMdnh2elJqNHgyS0R0QVU5?=
 =?utf-8?B?V3UyUWVmU0hhVk9xRWVnamlmcGp0MnpnWmhtREQvOStQRlg2Z2pFUXp6SkdS?=
 =?utf-8?B?TVNrc2g2alJuaG14dVloUE1qVnY1dFBWYmlMT0daYW90empaWCs5cVBsMVBP?=
 =?utf-8?B?QjhRMFd5MG9YeG1OdTVBbHNmOXNEWjBJWlJLazlsYjVCbFdIL2huTTFGeHg5?=
 =?utf-8?B?UlNsZ0dKZG4zYUJuUTlyd0ZNdHZOdWpsRHBDZnVrVkk1VnpQTlJCL0djL29j?=
 =?utf-8?B?YWoyT09tVERzcWR3SWZHOThvYkV0WEEzWk1IdVFTSndlRS83TTYrQU9JMmFB?=
 =?utf-8?B?blA1dTExSlNES0k0d2hQMWtRTWczaVExSjJIeFZjTTkzRkhPT045Y2ZBNXQ2?=
 =?utf-8?B?UEtZYXVldTA2cXkydkJBK1NmTzZEU2ZBSG42bjZIQ0ZyWDBScUhRNzdqUkxa?=
 =?utf-8?B?OVkvT1dwYXZzM1VPem53N1M1eUlnRTdDZjJzM05yM2UzTkNwdjJsTzg3R1hY?=
 =?utf-8?B?YkVZS2lUYTVXVTcrbEMzT2NxdFcvK2xNLzRQZFUyWTFKTTNxQVpsMkZxNGhh?=
 =?utf-8?B?aUZUZjBvVk5oNjdVVXVGWTdBSHlCdE42UWJ0UUczNlZWTjlSVitCd3NQZWlG?=
 =?utf-8?B?L3dCbDErc1JJdVBCQjlJUlhhMlVjR1FhRUM3U1A5S3RLVTFDa0R2aWx2YUEv?=
 =?utf-8?Q?KNSdQnab711emiP8=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7242608e-7839-4173-f82b-08decd29d02d
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2026 11:07:40.4286
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1EYPSgMrK2UpnK25wEr2eQiYM4YzGJ4vqFsPRrXuwedXBvhY4mgxtI2xWO0Ai20G7/cPjJkdex+NdHD07IxZE0C0ZLuJBbGda8eX63l92oQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4939
X-purgate-ID: tlsNG-33051d/1781780864-41F90938-3D0C2E79/0/0
X-purgate-type: clean
X-purgate-size: 3725

On 16/06/2026 11:06 am, Ross Lagerwall wrote:
> On 6/15/26 8:34 PM, Kevin Lampis wrote:
>>> Ok, so here is startup_64, hidden as a magic constant.
>>> ... you're applying the alignment to the pointer and picking
>>> startup_64 out of thin air.
>>
>> I'm going to be cheeky and play the Linux-does-it-too card.
>> https://github.com/torvalds/linux/blob/master/arch/x86/kernel/kexec-
>> bzimage64.c#L660
>>
>>> Either it was loaded correctly (and the alignment is correct), or it was
>>> loaded incorrectly and this is unsafe to do, is it not?
>>
>> This is what the kernel kexec segment looks like in memory
>>
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  .- dest_maddr + alignment
>> Â Â Â  .-dest_maddrÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |
>> Â Â Â  vÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  v
>> Â Â Â  +--------------------------------------+--------------------...
>> Â Â Â  | paddingÂ Â Â Â Â Â Â Â Â Â Â  | real-mode setup | kernel
>> Â Â Â  +--------------------------------------+--------------------...
>> 0x000000Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  0x200000


By "real mode setup", for the purposes here that's the PE+/bzImage64
polygot header?

Where does the (hypercall) segment start point?  Surely at the start of
the PE+/bzImage64 header?

>> In the old non-EFI kexec the 16-bit real-mode setup portion is
>> chopped off by the userspace tools and the segment buffer that Xen
>> receives is just the "kernel" part. But we need to pass both the
>> real-mode setup + kernel to kexec_load to pass Secure Boot
>> verification. And add padding so it straddles a 2M boundary like this.
>>
>> What the 0x200000 "alignment" variable is doing is skipping over the
>> real-mode setup and padding.
>>
>> It won't necessarily be 0x200000 though which is why we need to read
>> the value from Linux's setup_header->kernel_alignment.


What is necessary is that the segment dest_maddr is chosen such that the
start of the embedded kernel has correct alignment in the eventual
identity map.  This property is either true or it's not, and there
shouldn't be a round() calculation required to generate the entrypoint.


>>
>> If you're hinting that perhaps userspace should take care of all this
>> and just tell Xen where startup_64 is then perhaps. That would be a
>> bigger change we need to get input from Ross on though.
>>
> 
> It was done in Xen because there was a concern that letting userspace
> pass in an arbitrary start address would potentially allow a Secure Boot
> bypass even if it restricted within the bounds of the kernel image.
> 
> The patch should probably make it clear that this load type _only_ works
> for Linux bzImages using the x86 64-bit boot protocol documented at
> linux/Documentation/arch/x86/boot.rst. I think it needs sanity checks as
> well to ensure that it has actually been given an x86 bzImage and that
> the boot protocol version number is as expected.
> 
> Since it is x86 specific, maybe it wants to move out of common code?

Yes, that's where we're going, but the constraints need understanding first.

The old load types had nothing really architecture specific in it.  It
was a bunch of bytes, and an arbitrary point to jump to.

With this new "EFI" load type, we've got structural information.  We
don't need userspace to pass in a starting point because we can locate
it ourselves.

We do want to restrict it to a valid PE+(x86_64)/bzImage64 polygot, and
this will require arch specific functions to decide whether we like the
image, and to figure out the entrypoint.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 11:32:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 11:32:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1340985.1601593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waAyl-00011d-UB; Thu, 18 Jun 2026 11:32:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1340985.1601593; Thu, 18 Jun 2026 11: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 1waAyl-00011W-RT; Thu, 18 Jun 2026 11:32:15 +0000
Received: by outflank-mailman (input) for mailman id 1340985;
 Thu, 18 Jun 2026 11:32:14 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1waAyk-00011Q-7i
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 11:32:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waAyi-00AyK7-QR
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 13:32:12 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a33d73c-bab6-0a2a0a5309dd-0a2a450bdaa2-0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 13:32:12 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a33d73c-212f-0a2a450b0019-d155802ae4c6-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 13:32:12 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-49230a567a9so4006295e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 04: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-4606f2b0c10sm61652867f8f.21.2026.06.18.04.32.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Jun 2026 04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Autocrypt:Subject:From:Cc:To:Content-Language:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781782332; x=1782387132; 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=aNIwpQBNHE+2pIFnZ5l7EGPCe8fWz6r6TF4X1a7qy2I=;
        b=ZblfOM0bhaWU07/s3qO4r1fNpk1cbAYRHWmh8M4MjgnuDsWOXs7umTza68iwMMLvrz
         bn7ry9FmRx5ZXaGb5qGoN2kfQuNqP8CqPccJXyizG0RDclEq8NR7YV+u0/PUyRifKU1e
         +O7/A3lmycykXxp2is8aFW//6lWdrRX3s+KIBJ/RwrZbygwpLAEZ/8yPIwuHWBjaAM6N
         hsALX5WNulEz64Zwnph43N0QCrNxQFmw2ir/VGKfgm/UqIG6c01Bwny8ML6bYDTT/mqW
         qhuhPiMhq0J1I+mGb87STCa4+ko2xCxPlz5nG20RFLu7MG3vVm3WHz4XFylyAQA98dEE
         RYFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781782332; x=1782387132;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=aNIwpQBNHE+2pIFnZ5l7EGPCe8fWz6r6TF4X1a7qy2I=;
        b=nJe6eBGvBHmHqtPJPiYm5w7mne9e7DDpRDoUwcGLw/ctsI7vEYK3ZxjYEwvriZJn3O
         eXc94ioHrbmppKuERG+TliqlrpbhuDg6CJDugPdmUdYy98teBZVgh87yKaUL6qz3kQVu
         +GKguP0ec31r0rKqtJofvK7qJZe3Rj0YmpXOUTjXBgWHYy5xXE2gpjwFCQwlD4GxL/FT
         HLKoF77zp/W5X1pGliuzTlys0gWzgA4hJNK1ASKHnIxtuBRIxuNo+gsoqEoAfS2iOTMh
         /bhao9eCJfYuWAPKGUTGBHLnttAQXAAIME3qUXIKevm5aQB9RVKJ6ZrnM+r5GRAOjws8
         g8LA==
X-Gm-Message-State: AOJu0Yw18c0V2bQmy5dNoFLamkQ5WO+VLnFewdxoLSKvioXaQyvgW15r
	BPQocPLqEsWKMyHKDCIXsD6fqCk6vWmk40xzBMAWDfzN2c/OmVm9H8EfdaQwPfPSxVBm1wvCKHA
	fPhQ=
X-Gm-Gg: AfdE7cms+cGz+531RK1mZ6gD9Ful2Aor8EEyDbCkJMkUwLQXThnDVE8k8UVL9R/Fxaa
	CcyM5XZ6ryhtoIwHpeEE4oTh1OiCxxk5lsxb3gXejVUymJOoqGAANlwm50FLgSbFEM2eKwV1mZJ
	g/lKsNkTc9MVoYD3fpPrKhbWSdv5SVYDerCg4C+Q42UCYjSBIGuP8gxijjInpQuptT/m7gzjDR9
	qT+HUtijvHJbQc1seqzct0oameWDqUDHqDGx6F1qPl9K0aLy6zrZmD/tNiRU8XAY7V3KUmGN6GZ
	eGViWaZisjQkxIFkUcf1Ij8WdQtrxuLYPCtOSLAUHeHK3YGtn7eFjPQldJTNDQbE1McGANG9osj
	/rLDWmE0/aiLCa+Uzcm/dTQOn39/SAHLQ7jhd2QcSA6jd1k/jqS4zZRiXi80ncgPNcsL2y71KwV
	J2s3ep9wmmmYqQLCzLCvmlq45X2/G5rEN1sAepjRnX+gIYHTmRGFp7c9GqnLm+NRYJn5Hm1tcg3
	amU
X-Received: by 2002:a05:600c:c3cc:10b0:492:3778:d452 with SMTP id 5b1f17b1804b1-4923778d457mr55221285e9.14.1781782332142;
        Thu, 18 Jun 2026 04:32:12 -0700 (PDT)
Message-ID: <bf642902-7235-45a8-a470-f164a930c0c1@suse.com>
Date: Thu, 18 Jun 2026 13:32:10 +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: Daniel Smith <dpsmith@apertussolutions.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH for-4.22] XSM: guard .sysctl() and .readconsole() hooks
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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
X-purgate-ID: tlsNG-42698a/1781782332-21183F3B-72663479/0/0
X-purgate-type: clean
X-purgate-size: 2105

Leaving the hook pointers in struct xsm_ops when !SYSCTL would lead to
the BUG_ON() in xsm_fixup_ops() triggering for respectively configured
hypervisors.

While moving the #ifdef for the corresponding xsm_*() wrappers, also move
those for xsm_page_offline() (where the hook pointer field already is
suitably guarded).

Fixes: c9eabaa03a68 ("xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL")
Fixes: bddd9af6049f ("xen/sysctl: wrap around XEN_SYSCTL_readconsole")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -61,8 +61,10 @@ struct xsm_ops {
 #endif
     int (*set_target)(struct domain *d, struct domain *e);
     int (*domctl)(struct domain *d, struct xen_domctl *op);
+#ifdef CONFIG_SYSCTL
     int (*sysctl)(int cmd);
     int (*readconsole)(uint32_t clear);
+#endif
 
     int (*evtchn_unbound)(struct domain *d, struct evtchn *chn, domid_t id2);
     int (*evtchn_interdomain)(struct domain *d1, struct evtchn *chn1,
@@ -248,23 +250,17 @@ static inline int xsm_domctl(xsm_default
     return alternative_call(xsm_ops.domctl, d, op);
 }
 
+#ifdef CONFIG_SYSCTL
 static inline int xsm_sysctl(xsm_default_t def, int cmd)
 {
-#ifdef CONFIG_SYSCTL
     return alternative_call(xsm_ops.sysctl, cmd);
-#else
-    return -EOPNOTSUPP;
-#endif
 }
 
 static inline int xsm_readconsole(xsm_default_t def, uint32_t clear)
 {
-#ifdef CONFIG_SYSCTL
     return alternative_call(xsm_ops.readconsole, clear);
-#else
-    return -EOPNOTSUPP;
-#endif
 }
+#endif
 
 static inline int xsm_evtchn_unbound(
     xsm_default_t def, struct domain *d1, struct evtchn *chn, domid_t id2)
@@ -558,14 +554,12 @@ static inline int xsm_resource_setup_mis
     return alternative_call(xsm_ops.resource_setup_misc);
 }
 
+#ifdef CONFIG_SYSCTL
 static inline int xsm_page_offline(xsm_default_t def, uint32_t cmd)
 {
-#ifdef CONFIG_SYSCTL
     return alternative_call(xsm_ops.page_offline, cmd);
-#else
-    return -EOPNOTSUPP;
-#endif
 }
+#endif
 
 static inline int xsm_hypfs_op(xsm_default_t def)
 {


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 12:14:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 12:14:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341038.1601603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waBdG-00082X-25; Thu, 18 Jun 2026 12:14:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341038.1601603; Thu, 18 Jun 2026 12:14:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waBdF-00082Q-Vh; Thu, 18 Jun 2026 12:14:05 +0000
Received: by outflank-mailman (input) for mailman id 1341038;
 Thu, 18 Jun 2026 12:14:05 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1waBdF-00082K-1E
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 12:14:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waBdD-00CuF3-UB
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:14:03 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a33e107-e002-0a2a0a5209dd-0a2a4504ec54-38
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 14:14:03 +0200
Received: from [52.101.57.62]
 (helo=BN8PR05CU002.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a33e10a-5f9f-0a2a45040019-3465393efe41-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 14:14:03 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by PH0PR03MB989331.namprd03.prod.outlook.com (2603:10b6:510:3b9::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Thu, 18 Jun
 2026 12:14:01 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.009; Thu, 18 Jun 2026
 12:14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=G5J5wZ1KnkVgcQCAUY9cxSr7bejKsx4xkIXg0XgXKqj95973XD+bFpty1nCPJcB6pLhBe3ijW1NH4K5avsNJRG+gXbj0kBI7I4apuTs6nLkqDnGdRpiO4FKimHiLofqB1ELcjMSOYttv9LFPpq2IqDO+xM526fhTKn/undYUHArpsHmgtn0GMW4lK2jyNXvFvI2zZD3tIuBCzNYVM5GhnBX/f8toJdtxH3onB0Ti/Rb8TW7ChWDmuRvAPReyn106rMUzKwpNI6QLpQYYGn0MAMvLORjdgXh8woIZ2L8A0dRXnJZv3LluO3HpSRoNDk1t1ShsTy2uKXgM8f7tpJrA0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uT8j66Nc0BZs8m40iRTRh2GV7bC9ERCGBf0/+4CR94k=;
 b=wwfxXMlReuXJux5aom26JHTZLnqc0a/55s2L3mRmaCemfvvRxxUhkMZtVPaby6Otg+vkBwYAEbCwFKJgzHypvtreVYzJUqfSnhveVtZPiZBUiPKVMZu9nAJxDPN92UtprkfdENyfaBaJHGow6zFX7nh/0Y2zJFkbL+3MHba5FjjpeMNcdZN81Z9CthROH2MyBG4wL1vpYLn2iSd06LKvJTEDcJvzKIqQRgPgaEmfOHNfinVuTIE0aFnYwOuyBw0oPd0eYZBw3MsBtTpz69hrbjhtX3xdqcnO8+YU53lCiL//omV2qeY+aBvZ5WVdQA1hlRBR7JpxTiF8QdKRn8lW2Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uT8j66Nc0BZs8m40iRTRh2GV7bC9ERCGBf0/+4CR94k=;
 b=P5VrBL8Y1YqKJb/8W22WBY4fyHbmxCNgbsItBoxrw6or3A53LJX/YuS8YbjTyP0Z09+Sw7XIxKPRjFpmjarDRmajUAtNHU7F5+Y7dVyL6+TaXdC89l/rPsK2x2vlgJ5zsUXQmqDvmIM5oL/tkvNAw1+aSZfWzuQZPsScgFWMnOk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <8536e453-423d-45a0-bb82-38283eca4786@citrix.com>
Date: Thu, 18 Jun 2026 13:13:57 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22] XSM: guard .sysctl() and .readconsole() hooks
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bf642902-7235-45a8-a470-f164a930c0c1@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: <bf642902-7235-45a8-a470-f164a930c0c1@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0460.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1aa::15) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|PH0PR03MB989331:EE_
X-MS-Office365-Filtering-Correlation-Id: 993547ea-4e26-462b-9cfe-08decd3314bb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|366016|376014|1800799024|56012099006|11063799006|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	g6xLyqXDwbjruLTjMDYsqaYODBEGtqYkC9cDJIFuh2RKwQq9ravuzE9KRRWXhJTYzXidLEtpLxGWwuEjXxtqDA6Pw6/rJxYkj9qtG+iTHk45u6nnBfRNyNlu2c902R3ewhnSL2GTQXP7Mc/CuN3Ecwcf0gW+ePuLoFKari84IsnQS2uB3Ugr00dywb9rWFsafW3JFpjyMouiFjnHe6xjCXN6QKSVAh3fT6eeLcEc7XNHQHPI0mceHzegLLx8wUIlluQw3xVa2PWqupQcmaANduLt+fzNaD8ieFHnprpJK3+BbYgOrZbsm7+77v8XClTiSQLaKF4x/PgkWSjuWS8CMvefRcEdbjf/mWV7VYxra9l2j5Xd8KxflWCFp/8XDAiPZd+uhuklmwXTOtKSPISXcvQEzQUxZmqe75iUh5wg1gkxkZayTyMnO+1iSD3XWW6YuSt5PgW6mn/vHiCtHe18ph6+stbz63FHLFO+9hMKtv9XJR3ugrElTaeFMlXsIaSrrkOR2g6yRDe0u93efoXBH3h6u4Hjlkxbl7miYJttGODnJ0S2ftHW9KwNdmqTvRqMGU6zyhMHEud0eCwOHGNobzGaZfwWw7PiUp+TwkEWQzu1bkd0ovFu2gLVrbW314Y0UvPkZ6HGTGQWRfZHPmDLjfHnQcmf0G6Wz3M5/9wUDwfQkNOO/42F/11UsHMkpgVl
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(366016)(376014)(1800799024)(56012099006)(11063799006)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SjRIM0FjRDhWdWxFRGJoMTFuOW8vT1ljWHFoVHpiY2pBVVVNZ3dVdno3UGkx?=
 =?utf-8?B?R1ZCOGxDSEdJYnRnc2ZtY0x6bnJSb2tqcG5pRWtGN0cxcWdiSGlkNnhGMkp3?=
 =?utf-8?B?ZmZoYjhLbzU1NjRRY2k2b3BrNXFYaGRNYkpHYXc0UVNkdjlXbWRPTEJ3Nm9F?=
 =?utf-8?B?Z0E0MkNNYjJ1c05zUG5qRno5emJwRDhpK3p2SW5QREtnWmYyYW5vaTVBNGZD?=
 =?utf-8?B?VnlUNGltbE1rNHg4YTZwL0NqN3FrblEvb2VRTmVHVlhDcUJmSWxZOTQvN05u?=
 =?utf-8?B?TlAzVWtOQjA1cHc5c2hxdHdSWWtWSVNWeDY5NWNNWjl3TW55K1ZKYWxQQ1k4?=
 =?utf-8?B?cW1Na0NzbExxNThoRFdLRDB6cG1QMW9JZzNYQVZtRjdnMFJaaUIxU0s3L0dH?=
 =?utf-8?B?a1RQejRxYnFkQ1Q3OFlmNlRQeHgxMkF6TUtJaE4rMW04N1RzTjZlUmhwZS96?=
 =?utf-8?B?VGRTVWU1TzFFTllWY0lVYkdWU1dNbFdvLzBrdGMzUS9GODZ2VU1vMGVPTy9U?=
 =?utf-8?B?ODZmQmk5UkZhYVA0ZUdrVDVKOTlBTW0vYnRYSlpvY1BxZjBVS1NPOXh5VVBT?=
 =?utf-8?B?TVR1bE5adEZGR1RhWUF0bVBkcVVDWFVGVk02YU53YXdzYUUrSXBJY2lnKzVk?=
 =?utf-8?B?aXJzRmVvUm5YNWFFY2xWeUE0YyswdDFFdTJuSWJTdDlwVFlDWGtQNEJxdHlx?=
 =?utf-8?B?cno1eGZzcmM0c28vQVhYT1NmVzdHUUQyODdvdWVpb3ZJZXNCdDd6RVgzK3lJ?=
 =?utf-8?B?a3lOdG1JbXlISHpsS1ByaVFXTWN5SWYrRmVXRFNxMktYNDRHZEd3bjk4MUln?=
 =?utf-8?B?WXRUejVWbE9DY1B1UHpIV0c5QnEwWDNISTdpT0R5VWpGaTZiS2I5djl3akhr?=
 =?utf-8?B?ZUUzdlpML1hleTJFUHZJdVpvZHlwOXExLzZjQjhiZ1d5WCtYQWZzamtBeXBW?=
 =?utf-8?B?SmJwVUQvUFZMaUkvUlR6WWVlRnNIREZUZy8weVFFbXdZc2VVeDllNXFUNUNG?=
 =?utf-8?B?RUh6OXU4UUhuKzByTjRSdnhZR0JjYUhETXJ2M04zR3dzSWtwaG9Sbmhxb00y?=
 =?utf-8?B?c3d4YVVBL25UUnVFaVZQaGhjMXNkWm5xT25MS083QWVBNlRVcW84MjdEbGdG?=
 =?utf-8?B?SmNMdGNGTmx0QkpidTNRSUJZZ21xNHgvRk5uMlhRWlRLR3lKWjR0Y1VlbjZE?=
 =?utf-8?B?dGtzUkdteFMzVWpzSU9oODJHUkt3dXNyOWdWaFE0M1dYY3JMTG5jTEJNTkph?=
 =?utf-8?B?anpqUlgwa1gzMkVKbFcreEJlWERjaGRSMHhKcXZMM2ZZQmJ1MjB2a1ZHeGVQ?=
 =?utf-8?B?aEJDUDd2UlBKMDJBczA2aWk0RFIwWERmZEk0dE55WFZmU2RhMzdGYUtOUTZn?=
 =?utf-8?B?OUxIUkp3cW9PVEQrMzB3UllJSUFqY1NhN2VZNnNFWWRSMEdEamxyUEQzU1la?=
 =?utf-8?B?WDczUGg4UmdRZ0l1UGtUUCtCcjVOaExrMWpMM1hTOUN4RW0zeDFBOW94TmpS?=
 =?utf-8?B?TGMxM29UVnRhVGtvZ1VkNTRvQlVGc1VQN3NRMU5JaGlLd0lrMkJXRGFkUzFl?=
 =?utf-8?B?VWVmL0VBK3JPUDk4RE81cStKalMvOVV3Rzk1QkI5dDd0WU9sQVpGUjBmS3Y2?=
 =?utf-8?B?UE5TMTlVd1NkaURsdnBDMmFORkFZQzkwUkVRQjZ3Um50THgxV2dXR3FwZjNW?=
 =?utf-8?B?R3FieVUxbklVeTZEN2lYbXBYU244bDJrMEt5WHJkR3BlM0VsMlBkUUg2eE1v?=
 =?utf-8?B?MXVUdjN0RXBENXFtbGxGWnVhbEZzR2dHays4YlhJTVFJcUVDd09HYjhleEl3?=
 =?utf-8?B?Qm91bGxkYjdOMHd1RVlkVlFieFo2Uk5SRkcwWHZOb0F4MDZWUTZXaUdwbFMw?=
 =?utf-8?B?NlREdkliR2JKN21pMi9kcm8rbnNaWWk3MDNSc2o1ZGsvNTdtOFJUZVd1Titp?=
 =?utf-8?B?VUhwU095QnNpNzZiMjMvQlZzcDlTUFF5N0NaWXRjWDZXaEJJakRoVVZvOVJD?=
 =?utf-8?B?ZjNzb1pwYWF0S0JLVWZIRFZBOCtuelZ6MXovdmN1Yk9Vc1VJNk5GM2EwYThp?=
 =?utf-8?B?eEhVbFJxYVdkVTNhZ2daNE5zTGdyc1VNaVN5VUovVkxaVVRsT2hELzVTK1hj?=
 =?utf-8?B?WDBhWEFNZzlLSlRFS2RYeUVlakVqTlNwZm1UM3dkZExDNUJDRUZWamIxMnd6?=
 =?utf-8?B?b0pGLy8rTUx0NjBzWFR6TzVCMUZmNndpakxNdXBMU1IyZXFvQjJybWlsdHJ1?=
 =?utf-8?B?REdHNzBCVHhKcHhwcVovUmgvdFFzaTVjRzdKaU5jSVNoMDNlV1MvajJ2ODVr?=
 =?utf-8?B?a1lmRjZsZW9HdGNqSU5tNkp5dDJVQ3NrMEVFemxYRUxweVpFL216RjdJUE41?=
 =?utf-8?Q?Si4H+gspod3+cay4=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 993547ea-4e26-462b-9cfe-08decd3314bb
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2026 12:14:00.9991
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ILsoDVPKM/lMm3obxNO8wiXrIBynESejMeVRwyezEVWhE9zEFs8WmR2a4Eyx5m8/pwVHoAkU+OOv0RT2yKJa/kmUErP1wqBt3Cpdb0Uqgb0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB989331
X-purgate-ID: tlsNG-ebf023/1781784843-9DFC9141-E4508165/0/0
X-purgate-type: clean
X-purgate-size: 1484

On 18/06/2026 12:32 pm, Jan Beulich wrote:
> Leaving the hook pointers in struct xsm_ops when !SYSCTL would lead to
> the BUG_ON() in xsm_fixup_ops() triggering for respectively configured
> hypervisors.
>
> While moving the #ifdef for the corresponding xsm_*() wrappers, also move
> those for xsm_page_offline() (where the hook pointer field already is
> suitably guarded).
>
> Fixes: c9eabaa03a68 ("xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL")
> Fixes: bddd9af6049f ("xen/sysctl: wrap around XEN_SYSCTL_readconsole")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Ugly.Â  We probably ought to see about booting the RANDCONFIG hypervisor
too, which should be able to spot things like this.

This is a regression vs 4.21, so does need including.

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

>
> --- a/xen/include/xsm/xsm.h
> +++ b/xen/include/xsm/xsm.h
> @@ -61,8 +61,10 @@ struct xsm_ops {
>  #endif
>      int (*set_target)(struct domain *d, struct domain *e);
>      int (*domctl)(struct domain *d, struct xen_domctl *op);
> +#ifdef CONFIG_SYSCTL
>      int (*sysctl)(int cmd);
>      int (*readconsole)(uint32_t clear);
> +#endif

... this is now the 3rd CONFIG_SYSCTL in xsm_ops.

I know it will grow the diff, but can we see about collecting them into
a single region, and in dummy_ops too?Â  It will shrink the overall
result, and the order of pointers in this ops structure is uninteresting.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 12:23:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 12:23:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341051.1601612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waBmM-0002R0-T3; Thu, 18 Jun 2026 12:23:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341051.1601612; Thu, 18 Jun 2026 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 1waBmM-0002Qt-QR; Thu, 18 Jun 2026 12:23:30 +0000
Received: by outflank-mailman (input) for mailman id 1341051;
 Thu, 18 Jun 2026 12:23:29 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1waBmL-0002Qn-DU
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 12:23:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waBmK-003vhC-Cp
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:23:28 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a33e339-e002-0a2a0a5209dd-0a2a4501a804-14
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 14:23:28 +0200
Received: from [209.85.221.46] (helo=mail-wr1-f46.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a33e340-e031-0a2a45010019-d155dd2edc68-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 14:23:28 +0200
Received: by mail-wr1-f46.google.com with SMTP id
 ffacd0b85a97d-45ef189aa1cso661177f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 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
 ffacd0b85a97d-4606f2b0d70sm63151469f8f.19.2026.06.18.05.23.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Jun 2026 05:23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781785408; x=1782390208; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=JaITbc/yY2MWdF6t7F2eR4oxm72TOgLMlgZ7F99VRcw=;
        b=NMGCu0gk4zTOyD9g4EhUR2JhKJwopMlN80jqWQ3+X259jnQ4Wfq8pCGbZX+Ui7VSRc
         cpcb2lzTHwBUqSJODGoTs5Hzn9sRVH80GtBaAQFtMzuW02fbrwBN/nwisD76V3yHQnbV
         kdxZ2mv1+9J6UezdhIm7Fs2dXLUEe347x2sZDXew0clOEuMrzpX1iCyDdwtEsH5oFCpW
         csKo2rJ46VRzMFObiGsm1xvyQXrH2/LBt2Vp9fTegOLJ+qPwcM9axMvSp0ofdpHENzIh
         N9sE6I35D7Lz7rohTJYqt6wi929vgu1kW2tPWtSKKy+4bKkaFKLwgTphH8g71IhFUK/v
         q6uA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781785408; x=1782390208;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JaITbc/yY2MWdF6t7F2eR4oxm72TOgLMlgZ7F99VRcw=;
        b=XdoVkZy/6zxUi5aBPWwnXbOreLlBGeTJNdMXXBBKnOLwdPgC29qx3W+aEGPmW1vHf/
         nyJWmZsmnlpr4C7Mp4te+v+XMErcqDV2OcxruXe+qySoaTFBUN4ZPGuov0R60hjPO7UO
         8oQKd9f/6wnQeoYFcErZibDleyi7O7ak6s6Fx63U2V/Ykpq+VYOiREAK01sQjjvpnLpm
         4pCMkGzWFUMUtg0R7UATTgmAjayBs/2ersdtHx/BZyQeKq9jofe/qvAvfqiFUM/VgG52
         YANFRGHsyedoBXj9FjX3DYZD4omxkvvsqHwjMeyJba5dT2XrQ3XpKvaklA29um67X3do
         GGgQ==
X-Forwarded-Encrypted: i=1; AFNElJ/Z2WTMGhC36HH34ZKiOUTJ7xGAT8r+keNxe21xrtqBntBuIrZvQ85rKBR06/o7s6RUNNeXoOy1X9M=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy/ZkJ2kvQj2Jru6dNEiamShIAUc2hoBsTK8Wxo9qrHWE+rIDmv
	ClprNJ9WwuvI5ZK43Ty84IdUiZ7uWvE6E5GJqijz0W0/BCpnEK06LKyFMoL2dP85Q2eYI3ykjnC
	zquM=
X-Gm-Gg: AfdE7clTC4H0SyWiBXLwb9uAgmRM/BWx+BKIfBvizKGHW8HZC43ktt2Bx9rDcGWGC8K
	OLsZdVzTk//NVrc1LloAEd/94u4egE1PwRWs2TsYx4jbppuFrn8B4ICibJXlswmXF5UkLO1iKKJ
	xrlqxTzGoLXv+wxood5amVFMq8wV4Ujr85ZfQAr2VlR/+qfnQLF5EOCxHfgmEJHddnY5h9iX3Ss
	d+CXvtOkSECxzr0SHIhBhBVNf5vhnA6FMBFpx55qEqumPUbiNzBDCaJoI6+sz5E9XBLk7Zqbyvf
	N81C8n7Zj8mYl5cv4HKgzplwpIxyiVdporakDMetIFq/Grb7Y1suaajrAvZVKhNj5aUSpjX29Pk
	eO0/jIrbJA+UABkIxHJ8ZdY+86zKWhu/gKrqO1g7LJu7e65Q2SMO/wPpmGjDw7NBc99F+0d8KPh
	gQGQAdfNyj0jwgG+KSF45/Pt+pSNZ4LCtsw1RJmlHOsS9PDHFHrTDZaVnxEVAUXUTeflqp1oymq
	80SyZ9TlPGJnR8=
X-Received: by 2002:a05:600c:c491:b0:492:28be:6098 with SMTP id 5b1f17b1804b1-492333bf72cmr143085065e9.11.1781785407628;
        Thu, 18 Jun 2026 05:23:27 -0700 (PDT)
Message-ID: <0604a985-96fc-454f-b9a1-242bc6cce9b6@suse.com>
Date: Thu, 18 Jun 2026 14:23:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] XSM: guard .sysctl() and .readconsole() hooks
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Daniel Smith <dpsmith@apertussolutions.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bf642902-7235-45a8-a470-f164a930c0c1@suse.com>
 <8536e453-423d-45a0-bb82-38283eca4786@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: <8536e453-423d-45a0-bb82-38283eca4786@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1781785408-493B8E30-87AF1118/0/0
X-purgate-type: clean
X-purgate-size: 1802

On 18.06.2026 14:13, Andrew Cooper wrote:
> On 18/06/2026 12:32 pm, Jan Beulich wrote:
>> Leaving the hook pointers in struct xsm_ops when !SYSCTL would lead to
>> the BUG_ON() in xsm_fixup_ops() triggering for respectively configured
>> hypervisors.
>>
>> While moving the #ifdef for the corresponding xsm_*() wrappers, also move
>> those for xsm_page_offline() (where the hook pointer field already is
>> suitably guarded).
>>
>> Fixes: c9eabaa03a68 ("xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL")
>> Fixes: bddd9af6049f ("xen/sysctl: wrap around XEN_SYSCTL_readconsole")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Ugly.Â  We probably ought to see about booting the RANDCONFIG hypervisor
> too, which should be able to spot things like this.
> 
> This is a regression vs 4.21, so does need including.

Aiui it's a regression vs 4.20, i.e. will want backporting to 4.21.

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

Thanks.

>> --- a/xen/include/xsm/xsm.h
>> +++ b/xen/include/xsm/xsm.h
>> @@ -61,8 +61,10 @@ struct xsm_ops {
>>  #endif
>>      int (*set_target)(struct domain *d, struct domain *e);
>>      int (*domctl)(struct domain *d, struct xen_domctl *op);
>> +#ifdef CONFIG_SYSCTL
>>      int (*sysctl)(int cmd);
>>      int (*readconsole)(uint32_t clear);
>> +#endif
> 
> ... this is now the 3rd CONFIG_SYSCTL in xsm_ops.
> 
> I know it will grow the diff, but can we see about collecting them into
> a single region, and in dummy_ops too?Â  It will shrink the overall
> result, and the order of pointers in this ops structure is uninteresting.

I have a far more consolidating patch in the works, which is how I actually
noticed the issue. I'd prefer to keep things as simple as possible here.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 12:24:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 12:24:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341057.1601620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waBnJ-00031I-5V; Thu, 18 Jun 2026 12:24:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341057.1601620; Thu, 18 Jun 2026 12:24: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 1waBnJ-00031B-2j; Thu, 18 Jun 2026 12:24:29 +0000
Received: by outflank-mailman (input) for mailman id 1341057;
 Thu, 18 Jun 2026 12:24:27 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1waBnH-00030x-Iy
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 12:24:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waBnG-00CRdS-UD
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:24:27 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a33e375-e002-0a2a0a5209dd-0a2a4508989a-24
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 14:24:26 +0200
Received: from [52.101.46.29]
 (helo=CO1PR03CU002.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a33e378-9ee7-0a2a45080019-34652e1d2a76-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 14:24:26 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SA6PR03MB7663.namprd03.prod.outlook.com (2603:10b6:806:436::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Thu, 18 Jun
 2026 12:24:21 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.009; Thu, 18 Jun 2026
 12:24: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ZmwtdGZeQrE5xqM3nYcO4H/JgZEHjVVxXIlxNFRZ1gFUw6CCCd+a+YfVD9k3+QPeRt1cgMmTBqfeXxkhsa6tjBtkr6scqkL8zvzl8AGEAHL5FxmbHMYvGr1/Vc0ySpZ1uAnpnCx8GwreUmymGVeJARoVlmE3ze9Sp3PtMyU4ivn9iWYl/4xnxxyUGHNZ5QRMsvmlyG2s9zWWtDfGp0twB/V2djVpsdPf2lI0BQdGrgEko5C3Y7/A0L1wkxjAKmzjKu2fKdPmyNFAg8RjVax+dizxHiU72SQ74RQ0d3taG5TyMwLiEbViHnfQg8+O4hKxzOLg+4hVFJnlrjKKTjGO4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=79Nw2EWdqEpkK9xs0uiF+U94BnIPfVBceGnCH5ySBEk=;
 b=Y20AmVUXPSclHKo/JZT+3yTkRNXHmRMm1NHl9opFJLSfQL8ticp9HOY1t0Z+l+uqRUXG1zBwMEiXt1jWl/l0YZQZMX7goDQ4SzOf5WTsXPyqJyG2vrHM9XfgDwjViMlxUf3l5TC82axBa2hqptE4nl975SjEGC1DK5ahr19QUycVrfxooLjBRyPRDW4PvYqk/zaSVuFZWtO44AQVo47D6EYarYR0UKj0kfRmZ362ze+GaocqS4RGUTTBegxx79aD2pnTA6sMnsdFc95HXBrPvSi7AJ9yeUSz8TzN23qzhDK24Ps3C0om5tnpaOfi7UZe7MSsNRIOOWFgYjzZXVRYUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=79Nw2EWdqEpkK9xs0uiF+U94BnIPfVBceGnCH5ySBEk=;
 b=S9j1IX+ZvU4WoYzl1Ruw8V3HE2jfXM224Zj9Md5XscCWtJtqoN/2XVJAxYBxVbqzTLTk1AglXucN3cOzb72/fmh0RkuNXxYLgj1MiN193864lQ1M23xO7L0LtGlwSqUtnYmegyq5rMQFIGmFNaZLPJQqDEegE6dtYoLWDLZIyCk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <39d12ee5-8598-4ef6-8e39-d21aa42b62f3@citrix.com>
Date: Thu, 18 Jun 2026 13:24:17 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH for-4.22] XSM: guard .sysctl() and .readconsole() hooks
To: Jan Beulich <jbeulich@suse.com>
References: <bf642902-7235-45a8-a470-f164a930c0c1@suse.com>
 <8536e453-423d-45a0-bb82-38283eca4786@citrix.com>
 <0604a985-96fc-454f-b9a1-242bc6cce9b6@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: <0604a985-96fc-454f-b9a1-242bc6cce9b6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PA7P264CA0142.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:377::10) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SA6PR03MB7663:EE_
X-MS-Office365-Filtering-Correlation-Id: 63101721-c536-4c5c-f14f-08decd3486b0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|1800799024|366016|376014|56012099006|4143699003|11063799006|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	yaCaRVri/P+BiwQ3x5un9eVXESa8U2keeyJzWsogTyJjtr5IZB6SBIk/uBkgF+YH2doK5tOQSPiabi1vaCQ+JF6zf809M/Cn1j1rQLeaXN/5l5WnwjmFPw3POyU9R78lCPr8oAfs+0hEunRNOHbPWDeyBynXOm4zigAWsrmjkeMlz+ZS2g42IQ7ewWMyiUOtv/VTVKZcrLUeRgZY8lZHqIYRqubxEsBMYOFwiZXWShKY6DVV7X1HuMy11dYWGLz4A0xmty2Ey9OOojWWEZdwhva1oIsEjyHnGtL2c+QwIUEIy1TR0x7siPGUUd/RChZNug7I2xlzbyDJomp6/z0vTvUorGZeOTDFxWZzD973z/CTv3k5BmvoFaj6JcRX3VdQpSQqyPqNmaQ3G/Gn5FJaZDRKg2QWU4DZ2s5F9ejKDQXLezZfyAm4vNhjSJ+h/fNqT8CvkYAm/e3N4RPUd8O206XJtTp1FV1D5qGKEDj7zp5XCMtftaXOmPnS1zKfuVsLZInihJ5AVmdM5DokJ1i/H0fcR0/2/01tw41zb6B0h0sjt4U8dnDonoQPZg8RQbZ12NeoEL7SAbwvKPrZDhXMHE4pvoPl3vp9znBfRnLPirEBwOZzP9BrTGDxjxrTzNuzQQHxT0A9ORXbGjiDzsPbtyA0WykpnPg23Y6BnCIPSB4DGkUDiqBXRtR1txLTw3Iy
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(366016)(376014)(56012099006)(4143699003)(11063799006)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T0VoZHNiY09sYjVDVGtJd2FuTUVwT1NjS3NsbmxvYWlCMVNKN3JIc2ZFcHVv?=
 =?utf-8?B?ZjVIWUl3L1ErK2l5V0xuZ1hDSERydHVXSXBHRHFjbGJ6SE1YcU1TaTk4cy83?=
 =?utf-8?B?SDVhMG44OUNVZG5lUlVDUW5mYTk0T3VlREZ1a01IdXBQeWVuaHREUFBVM29F?=
 =?utf-8?B?V0l6alFUYmNmMllDNkJDZjZsR01LS3plVExGOU9tbUJuZ1d3NURHRlBFSVl6?=
 =?utf-8?B?UTdNcGpYdEUweXo4L3hwM1VvUHJHVVd5d25ucWg0V0Z0SVF4M0NaMVNMSDcy?=
 =?utf-8?B?M0lHeFA2aTBSaFd0NHJiQ2JDVnQvdlBLdS9hN1E3WTR0RXJFOFNjdDIyS0s5?=
 =?utf-8?B?bGt5aU9odzZtbzQvVmVJbytRc3hxQUxPNlJzclZHMGNBcW5aRlNYNzJxWkhT?=
 =?utf-8?B?ZFRHVzdGWVRZalpSRE5ERGY3TnF3UjNJcXdaUTZ0QlFieklxRnNCdzNyR3Fs?=
 =?utf-8?B?ZERFcnJCOS93Z045bUNnd1hLMjRaQmE2ZUdIa09PTnlvTC81L3c0ckdmT2hm?=
 =?utf-8?B?Uk4xMlZEM2VqZ0o5SGNLTk5xVk9pRHNuSnFZVEhLaVlid0hPS2xnWGZwM2la?=
 =?utf-8?B?eENaOUNKOHBLZlF2NGlSbCsxdjVuVnArU1JQUjhIVGxEK0piTmc5QzdoU25z?=
 =?utf-8?B?MCtZWTNsSXExZk5Ma0tuYlpRclA3RnQ3aTA1VlkvWXZyVituMThDZ294b3lZ?=
 =?utf-8?B?QW1nOWtDc2lCYXVpUGhaM1BzV1RWdCtOK0NnWGNBT3FoN3F0M000aG9lY1FL?=
 =?utf-8?B?SHlvUE5NTVNWdWJpclhMUE9jYVNCdVI3eUR5a2RuVkRzRE1WOS9uZVZzL1Jm?=
 =?utf-8?B?T1RPaEgrakQveXVjeUEzRE9JMVEvQmhyaVFJQzdlRDQwUWhGcUU0RzcydERs?=
 =?utf-8?B?RkZRWjFUblRXUERsc0RsdzdrK21zdlhFOHpqcXhSOGFSRTE5d3dNRVVDTzlS?=
 =?utf-8?B?MHAwaTAxL2locktEaHc2ZU1JSzFXSHRCYzVuOWpPb2VXN0xxVy9UWGNjR2x4?=
 =?utf-8?B?Vnh2endlRCtVUjJEcUJlVWM2bE5jbVJ2bktXbFhRYXYxaEUzeGRheVBtWG9C?=
 =?utf-8?B?M050V0ZwdStuayt5d252SUtVZ1JPYzc4SDJNS3o0WEhBdVRKNk5hRmZhM2xD?=
 =?utf-8?B?cTQ4NER0bzFjVWpaRlFMcWJaLy8wYytmdGpCc3FYUWx2MVRtdmN4Qkc0MXBO?=
 =?utf-8?B?d3B0Nm5JYUNiR3Y1Y2FIVTNFWEV3QkN3OFFXa2FaeHlOWWlTbnhRU3d5Z3M3?=
 =?utf-8?B?M0cyT2szQ3BiMFNlcTYrU3lHSldsbEMxRGFuamRmWmlpTmFwdDRqN2dOQnE5?=
 =?utf-8?B?dlFaZzZaOTVkVnRWK1hUQXlJWkhsYXUvdEdNRjlwUWNzaGQ2dHRpT3VkSzk0?=
 =?utf-8?B?b0Q1YllrcGNXQ1h1Q09tQzJjc0FtdGRodk11dFhCdzhiV1hIcDhMZlFEUTZY?=
 =?utf-8?B?S09xYjlHU0k0dFFwNjZMRWlSaGhJUGEvSit1blRGQUllK3A1RzB2QnI4NDNs?=
 =?utf-8?B?QU1IeTd3ekZYREhrT0I1alY3eDNNRTBnSFNicG8zbFZzb29qVWxvVkM3NGpr?=
 =?utf-8?B?L3dHQWZlOG1GZE5RbGtuVk1BWlk0WW9KS0dkOEhBRVo2RTRnWmlTNkdvSllZ?=
 =?utf-8?B?aXN6ckZOV3dCbjN6TlBJaGR0VnBtdEd5bGRlQWhmeE5sZWhpYXdpdHZqZDlR?=
 =?utf-8?B?cGNYemx6S3E3d1VMVjRoT2k5clBLK0c3QXJFZkFscjN3TzlqMStpWWUwd1Vt?=
 =?utf-8?B?YUZzcldoUldQZGdRSDlZa2xXSnFjWENmY3dQTzIzbVFFY0Q5S2xiZEhPY3Ez?=
 =?utf-8?B?M01FM0lOMFk5UEY5Mk1VTklyeUZkeWdFUUI5dGRDbGlMbkpxTnAwZWV0L0M2?=
 =?utf-8?B?czNRR1pTWHNaVEpYZmYyNDFkVExaQWJyQ2sxakVua0dxaFA5VmVnWUt4Qnd4?=
 =?utf-8?B?YWpVcmV2MFlDaWdiQk5SVU1DbnVwa05PVXAvazFZNjhTd2UrQ255S0lGbTAw?=
 =?utf-8?B?TXNWWWpIMTFjTXBGdmRrUUM2Rk5Md25OQ1Ric2hpbkVLbEdXS1kxanVrYmVT?=
 =?utf-8?B?dkZXSmd0Vno2NXRqaERlUEVQaXhoOTB3eHhibmIxSjl0NUhseDU3VHZwb2NU?=
 =?utf-8?B?RUwyRFp0bjVnb3lKT0YwWkdROER5TWF6WEUvQ0R5NnVKVzJzZUpXU1liTE55?=
 =?utf-8?B?cE41QTB5bnBoeVlEWXZUY21Mei80bGNJcXBBVWxNWHRtZ2VGTkUrUWlzZ1lL?=
 =?utf-8?B?YWJGa0h1NE5mb3JFWDE2NnAzdVpPOTBvdjhDMlJyZFFNUVlwTGN1NGxzbEY5?=
 =?utf-8?B?OGsyT2w0eWtUZ0N2Q0FiNklJOXo5anJnOHgzd09FU1lVMzNyQ1pnOHZKdUN6?=
 =?utf-8?Q?hKgr+U/O3DOlnC28=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 63101721-c536-4c5c-f14f-08decd3486b0
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2026 12:24:21.6840
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VFAJt566CfrZ2xeYF1APfdbfWs/sZVu97MQpmdc6GcWtgt7s8b3GcYxN+y0thym085uUWa9omLX2Hplm5a19Il3D7NyLw7YghQI8Rhyd/XQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR03MB7663
X-purgate-ID: tlsNG-c1860d/1781785466-6725F0FA-C2904F40/0/0
X-purgate-type: clean
X-purgate-size: 1898

On 18/06/2026 1:23 pm, Jan Beulich wrote:
> On 18.06.2026 14:13, Andrew Cooper wrote:
>> On 18/06/2026 12:32 pm, Jan Beulich wrote:
>>> Leaving the hook pointers in struct xsm_ops when !SYSCTL would lead to
>>> the BUG_ON() in xsm_fixup_ops() triggering for respectively configured
>>> hypervisors.
>>>
>>> While moving the #ifdef for the corresponding xsm_*() wrappers, also move
>>> those for xsm_page_offline() (where the hook pointer field already is
>>> suitably guarded).
>>>
>>> Fixes: c9eabaa03a68 ("xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL")
>>> Fixes: bddd9af6049f ("xen/sysctl: wrap around XEN_SYSCTL_readconsole")
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> Ugly.Â  We probably ought to see about booting the RANDCONFIG hypervisor
>> too, which should be able to spot things like this.
>>
>> This is a regression vs 4.21, so does need including.
> Aiui it's a regression vs 4.20, i.e. will want backporting to 4.21.
>
>> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>, although...
> Thanks.
>
>>> --- a/xen/include/xsm/xsm.h
>>> +++ b/xen/include/xsm/xsm.h
>>> @@ -61,8 +61,10 @@ struct xsm_ops {
>>>  #endif
>>>      int (*set_target)(struct domain *d, struct domain *e);
>>>      int (*domctl)(struct domain *d, struct xen_domctl *op);
>>> +#ifdef CONFIG_SYSCTL
>>>      int (*sysctl)(int cmd);
>>>      int (*readconsole)(uint32_t clear);
>>> +#endif
>> ... this is now the 3rd CONFIG_SYSCTL in xsm_ops.
>>
>> I know it will grow the diff, but can we see about collecting them into
>> a single region, and in dummy_ops too?Â  It will shrink the overall
>> result, and the order of pointers in this ops structure is uninteresting.
> I have a far more consolidating patch in the works, which is how I actually
> noticed the issue. I'd prefer to keep things as simple as possible here.

Ok.Â  Fine by me.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 12:35:01 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 12:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341079.1601630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waBxG-00057h-3g; Thu, 18 Jun 2026 12:34:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341079.1601630; Thu, 18 Jun 2026 12:34: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 1waBxG-00057a-12; Thu, 18 Jun 2026 12:34:46 +0000
Received: by outflank-mailman (input) for mailman id 1341079;
 Thu, 18 Jun 2026 12:34:44 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dpsmith@apertussolutions.com>) id 1waBxE-00057U-Kk
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 12:34:44 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waBxD-00CU91-Fq
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:34:43 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a33e5e0-2eae-0a2a0a5409dd-0a2a45068d78-6
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 14:34:42 +0200
Received: from [136.143.188.51] (helo=sender4-of-o51.zoho.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a33e5e0-b690-0a2a45060019-888fbc335291-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 14:34:42 +0200
Received: by mx.zohomail.com with SMTPS id 178178607465357.3125186961671;
 Thu, 18 Jun 2026 05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=zoho header.d=apertussolutions.com header.i="dpsmith@apertussolutions.com" header.h="Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding"
ARC-Seal: i=1; a=rsa-sha256; t=1781786077; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=H6LwILuXnVHaEYXdEyu/63FsbQ343Tl09GW3fkPClUvwqVi0H91B4g4AQ+civO6ds3He5wWTSpLnZ51GvJh6ry2dfvabRxkaOKpinof5xko6e4bBXDj2bah8aoxaVZhuO0ZzOweCF6QIvHVP+PTrR3YtUDjx02TeAMmvy4kLe9Q=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1781786077; 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=xYw5PrrOlnqBV7j5RdBGJBqKf2UB1hhrIhK5GZ820Hw=; 
	b=EuCCjpKN79UctcaQ3A9mDN9C/z8PzslNMgeq/3FsOgA4rrsDc8LikIX4rmUrDXGbh8956TkUHtPOrUoPo5mX4pTX2XEigDTvtw8tEYtgiGQk2unUMWW7w5x77pvTM5SErP9IQ+uWSWFNfnblPpP/EHhcwNh5yuQda9+/TwINHuU=
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=1781786077;
	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=xYw5PrrOlnqBV7j5RdBGJBqKf2UB1hhrIhK5GZ820Hw=;
	b=OabhKAzSsvYxAG35L+JbDbPC+SuUtTrt9KSanPWdyGIlitLxSuQOs9OhS+d+LHXK
	CGXtDN6ovKvCh3+t98ESBEcbPo89fot8Gkx5WJ1VGN2tfnhq7ZYizqhAXGYKUfJAMVO
	fvDaM+D56rNjl9w+SO9xBc5jftAyAOaf6SBvNbM0=
Message-ID: <a3e51817-4464-4672-a975-ba76349bab31@apertussolutions.com>
Date: Thu, 18 Jun 2026 08:34:33 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] XSM: guard .sysctl() and .readconsole() hooks
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bf642902-7235-45a8-a470-f164a930c0c1@suse.com>
 <8536e453-423d-45a0-bb82-38283eca4786@citrix.com>
 <0604a985-96fc-454f-b9a1-242bc6cce9b6@suse.com>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <0604a985-96fc-454f-b9a1-242bc6cce9b6@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External
X-purgate-ID: tlsNG-16d1c6/1781786082-39FF7853-50516860/0/0
X-purgate-type: clean
X-purgate-size: 2095

On 6/18/26 8:23 AM, Jan Beulich wrote:
> On 18.06.2026 14:13, Andrew Cooper wrote:
>> On 18/06/2026 12:32 pm, Jan Beulich wrote:
>>> Leaving the hook pointers in struct xsm_ops when !SYSCTL would lead to
>>> the BUG_ON() in xsm_fixup_ops() triggering for respectively configured
>>> hypervisors.
>>>
>>> While moving the #ifdef for the corresponding xsm_*() wrappers, also move
>>> those for xsm_page_offline() (where the hook pointer field already is
>>> suitably guarded).
>>>
>>> Fixes: c9eabaa03a68 ("xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL")
>>> Fixes: bddd9af6049f ("xen/sysctl: wrap around XEN_SYSCTL_readconsole")
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> Ugly.Â  We probably ought to see about booting the RANDCONFIG hypervisor
>> too, which should be able to spot things like this.
>>
>> This is a regression vs 4.21, so does need including.
> 
> Aiui it's a regression vs 4.20, i.e. will want backporting to 4.21.
> 
>> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>, although...
> 
> Thanks.
> 
>>> --- a/xen/include/xsm/xsm.h
>>> +++ b/xen/include/xsm/xsm.h
>>> @@ -61,8 +61,10 @@ struct xsm_ops {
>>>   #endif
>>>       int (*set_target)(struct domain *d, struct domain *e);
>>>       int (*domctl)(struct domain *d, struct xen_domctl *op);
>>> +#ifdef CONFIG_SYSCTL
>>>       int (*sysctl)(int cmd);
>>>       int (*readconsole)(uint32_t clear);
>>> +#endif
>>
>> ... this is now the 3rd CONFIG_SYSCTL in xsm_ops.
>>
>> I know it will grow the diff, but can we see about collecting them into
>> a single region, and in dummy_ops too?Â  It will shrink the overall
>> result, and the order of pointers in this ops structure is uninteresting.
> 
> I have a far more consolidating patch in the works, which is how I actually
> noticed the issue. I'd prefer to keep things as simple as possible here.

By the way, I was going back through this and notices that they are not 
ifdef out in xsm/dummy.h. Are we relying on them being inlines to ensure 
that they do not result in dead code?

v/r,
dps



From xen-devel-bounces@lists.xenproject.org Thu Jun 18 12:41:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 12:41:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341090.1601638 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waC3L-0006pY-OZ; Thu, 18 Jun 2026 12:41:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341090.1601638; Thu, 18 Jun 2026 12:41: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 1waC3L-0006pR-LP; Thu, 18 Jun 2026 12:41:03 +0000
Received: by outflank-mailman (input) for mailman id 1341090;
 Thu, 18 Jun 2026 12:41:02 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dpsmith@apertussolutions.com>) id 1waC3K-0006pK-Sk
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 12:41:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waC3K-003zui-48
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:41:02 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a33e741-e002-0a2a0a5209dd-0a2a4507aa68-48
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 14:41:02 +0200
Received: from [136.143.188.51] (helo=sender4-of-o51.zoho.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a33e759-4766-0a2a45070019-888fbc3352a2-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 14:40:59 +0200
Received: by mx.zohomail.com with SMTPS id 1781786451748137.6271647654495;
 Thu, 18 Jun 2026 05:40: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=zoho header.d=apertussolutions.com header.i="dpsmith@apertussolutions.com" header.h="Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding"
ARC-Seal: i=1; a=rsa-sha256; t=1781786454; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=CsaCKdfsSZYdlS/2H+1B1H0y+rircLnW/iWnwfGdbW/MxyeVt4uq0GkXSLy6E18CXl5XlRO170ZC5uoFKTveiVwbGy6SP6mQVVkSelgB78AkVnzyo8sD4WY46+HEHw4fYjzPxNC6XtT2cYjaEskEUEQXl84B9j7EVVRU5xwIA5c=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1781786454; 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=C2ygIbhffl1iDYoikiKD6fli2ANxoIlWi8qio3DbWSs=; 
	b=hqPc774sRahAnVbM5zA119yjXSxK2zE8EeR79AmZ5KpgFVdCldmFQnNdStFlaJZqAt1+Ak7sB6j45J3UIdTFrFG0vi82jI0dkTOVd5eNLD/1U5BFGVc/rHKBWd5dEzpZ6gxO9IGv/8PItpdOfTz+GntoLMl0uCPEKwpUqaNn+AY=
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=1781786454;
	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=C2ygIbhffl1iDYoikiKD6fli2ANxoIlWi8qio3DbWSs=;
	b=cX2JRYkNh6WVFcRKWBbgBizoB3GLr9PJoyvpBizTFx6TsQ9C4kKauEQuAYUZlKM5
	bR9+799IZpFfASh7hJxWp1tGrUz4S43yZeKuXXt5kqomD2JRLHlT5bAuRv4X1uZjvv7
	y4XJLqQ4zUa6GOwyRnDnpqbEC89m0Q0BHbwiAGVE=
Message-ID: <e5443d3c-a3ec-4698-b20e-b867f150aa5e@apertussolutions.com>
Date: Thu, 18 Jun 2026 08:40:50 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] XSM: guard .sysctl() and .readconsole() hooks
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bf642902-7235-45a8-a470-f164a930c0c1@suse.com>
 <8536e453-423d-45a0-bb82-38283eca4786@citrix.com>
 <0604a985-96fc-454f-b9a1-242bc6cce9b6@suse.com>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <0604a985-96fc-454f-b9a1-242bc6cce9b6@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External
X-purgate-ID: tlsNG-ef75cf/1781786459-881CB979-B2329992/0/0
X-purgate-type: clean
X-purgate-size: 1960

On 6/18/26 8:23 AM, Jan Beulich wrote:
> On 18.06.2026 14:13, Andrew Cooper wrote:
>> On 18/06/2026 12:32 pm, Jan Beulich wrote:
>>> Leaving the hook pointers in struct xsm_ops when !SYSCTL would lead to
>>> the BUG_ON() in xsm_fixup_ops() triggering for respectively configured
>>> hypervisors.
>>>
>>> While moving the #ifdef for the corresponding xsm_*() wrappers, also move
>>> those for xsm_page_offline() (where the hook pointer field already is
>>> suitably guarded).
>>>
>>> Fixes: c9eabaa03a68 ("xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL")
>>> Fixes: bddd9af6049f ("xen/sysctl: wrap around XEN_SYSCTL_readconsole")
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> Ugly.Â  We probably ought to see about booting the RANDCONFIG hypervisor
>> too, which should be able to spot things like this.
>>
>> This is a regression vs 4.21, so does need including.
> 
> Aiui it's a regression vs 4.20, i.e. will want backporting to 4.21.
> 
>> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>, although...
> 
> Thanks.
> 
>>> --- a/xen/include/xsm/xsm.h
>>> +++ b/xen/include/xsm/xsm.h
>>> @@ -61,8 +61,10 @@ struct xsm_ops {
>>>   #endif
>>>       int (*set_target)(struct domain *d, struct domain *e);
>>>       int (*domctl)(struct domain *d, struct xen_domctl *op);
>>> +#ifdef CONFIG_SYSCTL
>>>       int (*sysctl)(int cmd);
>>>       int (*readconsole)(uint32_t clear);
>>> +#endif
>>
>> ... this is now the 3rd CONFIG_SYSCTL in xsm_ops.
>>
>> I know it will grow the diff, but can we see about collecting them into
>> a single region, and in dummy_ops too?Â  It will shrink the overall
>> result, and the order of pointers in this ops structure is uninteresting.
> 
> I have a far more consolidating patch in the works, which is how I actually
> noticed the issue. I'd prefer to keep things as simple as possible here.

Would also be good to clean up flask_ops similarly.

v/r,
dps



From xen-devel-bounces@lists.xenproject.org Thu Jun 18 12:42:34 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 12:42:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341097.1601648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waC4n-0007It-1F; Thu, 18 Jun 2026 12:42:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341097.1601648; Thu, 18 Jun 2026 12:42: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 1waC4m-0007Im-Ug; Thu, 18 Jun 2026 12:42:32 +0000
Received: by outflank-mailman (input) for mailman id 1341097;
 Thu, 18 Jun 2026 12:42:31 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1waC4l-0007Ig-NF
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 12:42:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waC4l-00D0Zu-48
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:42:31 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a33e7b1-5cb7-0a2a0a5109dd-0a2a45069ff0-20
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 14:42:30 +0200
Received: from [209.85.221.52] (helo=mail-wr1-f52.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a33e7b6-b690-0a2a45060019-d155dd34e818-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 14:42:30 +0200
Received: by mail-wr1-f52.google.com with SMTP id
 ffacd0b85a97d-4629051c9d1so749690f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 05:42: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-4631217027bsm12600545f8f.12.2026.06.18.05.42.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Jun 2026 05:42: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781786550; x=1782391350; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=8EoPimGAL4EnRiIk4C2YS75y5PyrVnQdNRDMlQMcDoU=;
        b=dcIpEtM33RPdtyZBGYQXs1tGYVWQdfpZC6ExKnN2IwxaajJRqqkG5L4gCPWE8TdPkw
         MuQefrmxBFvzccH1NIgh1NqVE1H32xqhRCXPOIGFV4rWAoqU7NB3G7veqRN0+D2SDUnW
         TpkLbSVx8aAvwqk47uFMbyVedvcHEVB47RSxzF3u69achxV7XyHlwW8oytSJ7ISANBBA
         V7DpIu7tPc490XeAsryZI4Qw2DkVYFA8t9juQqLefPeTkOULYYZnHqYvwa3Nx+xt7puN
         Z4Fjr2zbbQ9AcvI21JOts+nDCCZdyMpD5RZBzY7zW4yl2Daocxn7bFUyniVE1RHdIEfH
         3ASg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781786550; x=1782391350;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8EoPimGAL4EnRiIk4C2YS75y5PyrVnQdNRDMlQMcDoU=;
        b=sjeD8xPCG/Mti119IVm6q0Vx8mxOm2sGCcMPJvKXo7kxwaXQ2/WtGgXCLIc7fANwdS
         fXEa/9KVeluUVqicrA7o88ImggPIDQJu+uVzthrBXYtjKab8CVgAu8OYtYOYjpWvziHP
         8lWHVxUTtIdb/7PFK/XjRitZAXVyc71GoRoRgikvBXubvpLlebOEOISpAifsL6yNUZPV
         2/ZJFOhzFoWxFvd1amSh+/44kMOPrnO9ZlanHfuVKNIP/cL6IXOgSdTC+mk+iwUu+/nV
         4/+P+qxsgOyfar0JdUNKDZelnz3iJlNxNYnIjHSueJ+4mfKM0U7R0eIbwpGm7Za/oUpl
         h1uQ==
X-Forwarded-Encrypted: i=1; AFNElJ/HfUVfcqEvIhO2jnJnOQNCjLWSUm/VTGD/BwaH7VDVel482Yl7UmLmVsX6oFJF+v7MYW5uFDctxWk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz/uD06/bFdXEA0tRMJmgbIBhvgCb6SkTAitobWKCSjLdtmm3c6
	Vn0IBPWZvx3ZCwipE+lys59g/petRkFZk15vjX0OvrsIoHxeZppnWgMeIgu/up/hgw==
X-Gm-Gg: AfdE7cnV9+XOZTi6mwHDDX0zS7pB9CiKOOG60JBmuwxvOPqqs+2oewcqj4C0TdG6rs0
	zGCbWcBe5ltw3tudZpcgQB7S+QzIIF3k1hK59LIF+AMLmoEIVMbszuJ2IokK1Rch2JrLr+8K4pT
	O+QsMG48S2ybeFmFYzQaH79mE8fhgI6noGQwOYTNO8jKgExygiwg6pB8RrlbwT36gbQhRxJi7f2
	ICHm6DdfMoeA98cyKQqrZUEwCG34bALeXuqTkX8El0AUQgNbjqPFuD49GHX3DenIDd5wHuq9734
	2yVTt8dBjX9Y14kwfc/AJrqIOP9WUTS3iqPQRCZpR7YvJQrNQRaQzPKGMmG8M2Wz8BZ4RaZW8wn
	yOUxMKDTTH91T9IzKjtu6jQP7XCkHzb9beUxOJnQ2ZH6PEgB30v4+Abo2IjY42EOrUGxllVOE8X
	eYZJdvTYF6nUM/xpC6b6Mf/wdw3DehIH4xgafLlXcUpFOIsV8/sRBW1cYJCIvrSsbp4Uvu/pDQR
	o8QmO+hfvW1YlE=
X-Received: by 2002:a05:6000:4b01:b0:460:67b0:7544 with SMTP id ffacd0b85a97d-46235e98d0bmr13239725f8f.7.1781786550144;
        Thu, 18 Jun 2026 05:42:30 -0700 (PDT)
Message-ID: <243c5119-a016-49f4-919e-efa492b02e5e@suse.com>
Date: Thu, 18 Jun 2026 14:42:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] XSM: guard .sysctl() and .readconsole() hooks
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <bf642902-7235-45a8-a470-f164a930c0c1@suse.com>
 <8536e453-423d-45a0-bb82-38283eca4786@citrix.com>
 <0604a985-96fc-454f-b9a1-242bc6cce9b6@suse.com>
 <a3e51817-4464-4672-a975-ba76349bab31@apertussolutions.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <a3e51817-4464-4672-a975-ba76349bab31@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1781786550-399F0853-505CB0B8/0/0
X-purgate-type: clean
X-purgate-size: 2337

On 18.06.2026 14:34, Daniel P. Smith wrote:
> On 6/18/26 8:23 AM, Jan Beulich wrote:
>> On 18.06.2026 14:13, Andrew Cooper wrote:
>>> On 18/06/2026 12:32 pm, Jan Beulich wrote:
>>>> Leaving the hook pointers in struct xsm_ops when !SYSCTL would lead to
>>>> the BUG_ON() in xsm_fixup_ops() triggering for respectively configured
>>>> hypervisors.
>>>>
>>>> While moving the #ifdef for the corresponding xsm_*() wrappers, also move
>>>> those for xsm_page_offline() (where the hook pointer field already is
>>>> suitably guarded).
>>>>
>>>> Fixes: c9eabaa03a68 ("xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL")
>>>> Fixes: bddd9af6049f ("xen/sysctl: wrap around XEN_SYSCTL_readconsole")
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> Ugly.Â  We probably ought to see about booting the RANDCONFIG hypervisor
>>> too, which should be able to spot things like this.
>>>
>>> This is a regression vs 4.21, so does need including.
>>
>> Aiui it's a regression vs 4.20, i.e. will want backporting to 4.21.
>>
>>> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>, although...
>>
>> Thanks.
>>
>>>> --- a/xen/include/xsm/xsm.h
>>>> +++ b/xen/include/xsm/xsm.h
>>>> @@ -61,8 +61,10 @@ struct xsm_ops {
>>>>   #endif
>>>>       int (*set_target)(struct domain *d, struct domain *e);
>>>>       int (*domctl)(struct domain *d, struct xen_domctl *op);
>>>> +#ifdef CONFIG_SYSCTL
>>>>       int (*sysctl)(int cmd);
>>>>       int (*readconsole)(uint32_t clear);
>>>> +#endif
>>>
>>> ... this is now the 3rd CONFIG_SYSCTL in xsm_ops.
>>>
>>> I know it will grow the diff, but can we see about collecting them into
>>> a single region, and in dummy_ops too?Â  It will shrink the overall
>>> result, and the order of pointers in this ops structure is uninteresting.
>>
>> I have a far more consolidating patch in the works, which is how I actually
>> noticed the issue. I'd prefer to keep things as simple as possible here.
> 
> By the way, I was going back through this and notices that they are not 
> ifdef out in xsm/dummy.h. Are we relying on them being inlines to ensure 
> that they do not result in dead code?

I think so. Maybe it's unhelpful that we have

#define XSM_INLINE __maybe_unused

and we may instead better want explicit #ifdef wherever necessary.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 12:43:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 12:43:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341106.1601657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waC5n-0007oI-9F; Thu, 18 Jun 2026 12:43:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341106.1601657; Thu, 18 Jun 2026 12:43:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waC5n-0007oB-6L; Thu, 18 Jun 2026 12:43:35 +0000
Received: by outflank-mailman (input) for mailman id 1341106;
 Thu, 18 Jun 2026 12:43:34 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1waC5m-0007o3-8A
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 12:43:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waC5l-0040VU-Km
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:43:33 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a33e7ee-bab6-0a2a0a5309dd-0a2a450ac046-34
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 14:43:33 +0200
Received: from [209.85.221.44] (helo=mail-wr1-f44.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a33e7f5-93a5-0a2a450a0019-d155dd2cc4e5-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 14:43:33 +0200
Received: by mail-wr1-f44.google.com with SMTP id
 ffacd0b85a97d-464192ab2e1so415635f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 05:43: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-4923a159ba3sm34035245e9.0.2026.06.18.05.43.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Jun 2026 05:43: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781786613; x=1782391413; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=C95d68+yZOE4HTb1CDtCaLcYo4vkjAiOMRUI6oXvhPQ=;
        b=KLIpuJWwO9c75OLfxKQsS/XQN/WJqjpseAtlU0s+Zn0srsXisW8vmjEyMP/e85gRUz
         tvmOUCigNtX4uDS2bBablecROxWdL8P+PeYXn1Ax1mi0UxO7TMNyV+z4RS2ipO1ZltAM
         1mbLxhRvqgc1i1+A9SnzyqmkJWX+GgAsmY+sgGPxolTBzJeOZtneruxQgpAfF3wXXXb2
         0fIOAPiSL2lDj3LVnVQDLYcKdb5O6cwyDUDzaw7gWD8jPBUOqg+TlCLAVPuDt0mOZ4qL
         QyicGPpUvdT5UpNv7IkzQ8qG5MAaY9XdltxHnSP/ETY4cJNmUOaR7igfePZe0ZF2zICB
         gi5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781786613; x=1782391413;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=C95d68+yZOE4HTb1CDtCaLcYo4vkjAiOMRUI6oXvhPQ=;
        b=nDlWug594cUT28MAXrqpvqRim81H4CGOgJfcnP5RL5HAx84rjTw/iV5boOBGnim00O
         hQST0bTYw0/ox4dk8UFjH3sVuBDGgIpe0ZNOqXordARYCEiFM411Xi63KOj0x098PfqO
         y99ibeOIVH2aHdcNl3V73EAkYq6nXlNxsXF0D5fKaPHsZ1B2LgReJMZWcqYq3wzLpG+Z
         fRmVZlObXPwuJXN7b5yeIaukSCvub8BKxVFtUWhNBdbKpiwuVZn/GMqC+KQAlOKVW12v
         5rjB6svNHq8kkXKsJHeAcfeGjpvln1oMbQvdW6IT0UVPl1MA2Sm/B9M+hpL0KhIPaWsQ
         j1Kg==
X-Forwarded-Encrypted: i=1; AFNElJ+V5iVbMRttiFf++hEF6LdKavqoHt2alkFifQhjwDH2Go8aoHp6v5N8hzQOfTgZvqqAy7J+MBgP49Q=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw42pTfFjcJBpyUUb4FCRXJuEnYqI2on+6zXHMsY+RcvLspE6Lg
	Mc94/ZDDfUgYPS0/aMuztYRhD06ZUuP5hxwDypHzk7LSsbJ+1wp3YXfmCaDMCrH/QQ==
X-Gm-Gg: AfdE7cm23VHVYWLwEtVD/i6exOKHYMQ0odUttTD17Eh17qXAwCv/bMlN8HgJzscECC+
	OqVWGzJhTZ1xAqGmWjh1kwA+pWRCRFAZgtESafYopobJvL4Id7ZE8d3lod3+1Nk6uPDJTERZfCC
	BHYLZkskkzQVgGbiaf8pfiGPybkUurKvtUbTjw69zr5uqA4C8n6xSZU3YlZm+SAl22VOFywf+E8
	7SIrg0djYgN3jGWI88dRNWTsdzxicJeyMbk6+kReE7Vs43BbpRYPrcyFVMZqxaY3YbyULYxd//o
	8lWRqgHxgoVK4AnM8WTWwtBFrlWaMUmZ0R4impynwfn8g+ah1N8xUyajXl920sYL86NqmSRtFV4
	Bb/OVbwHCbppk5ENtAdrABmmoAZR4kKH6qCZG14VNBPRfQqDHwWhaefTSpXftauK16sBKP1qMDB
	TLYapcn9rIm7cm0IA5p0VVj8sea2+Bh5cd2GXG10gctZQbS3VVOnjoulCdEugM8TjN1sFQKKo1r
	XP9HY64SgYDGyc=
X-Received: by 2002:a05:600c:8010:b0:492:2f3c:d0ed with SMTP id 5b1f17b1804b1-492382266cdmr58548215e9.30.1781786612379;
        Thu, 18 Jun 2026 05:43:32 -0700 (PDT)
Message-ID: <31bcc003-d876-4298-8edf-3fd3a07eda96@suse.com>
Date: Thu, 18 Jun 2026 14:43:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] XSM: guard .sysctl() and .readconsole() hooks
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <bf642902-7235-45a8-a470-f164a930c0c1@suse.com>
 <8536e453-423d-45a0-bb82-38283eca4786@citrix.com>
 <0604a985-96fc-454f-b9a1-242bc6cce9b6@suse.com>
 <e5443d3c-a3ec-4698-b20e-b867f150aa5e@apertussolutions.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e5443d3c-a3ec-4698-b20e-b867f150aa5e@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1781786613-B17F1DB8-A09E11DB/0/0
X-purgate-type: clean
X-purgate-size: 2126

On 18.06.2026 14:40, Daniel P. Smith wrote:
> On 6/18/26 8:23 AM, Jan Beulich wrote:
>> On 18.06.2026 14:13, Andrew Cooper wrote:
>>> On 18/06/2026 12:32 pm, Jan Beulich wrote:
>>>> Leaving the hook pointers in struct xsm_ops when !SYSCTL would lead to
>>>> the BUG_ON() in xsm_fixup_ops() triggering for respectively configured
>>>> hypervisors.
>>>>
>>>> While moving the #ifdef for the corresponding xsm_*() wrappers, also move
>>>> those for xsm_page_offline() (where the hook pointer field already is
>>>> suitably guarded).
>>>>
>>>> Fixes: c9eabaa03a68 ("xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL")
>>>> Fixes: bddd9af6049f ("xen/sysctl: wrap around XEN_SYSCTL_readconsole")
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> Ugly.Â  We probably ought to see about booting the RANDCONFIG hypervisor
>>> too, which should be able to spot things like this.
>>>
>>> This is a regression vs 4.21, so does need including.
>>
>> Aiui it's a regression vs 4.20, i.e. will want backporting to 4.21.
>>
>>> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>, although...
>>
>> Thanks.
>>
>>>> --- a/xen/include/xsm/xsm.h
>>>> +++ b/xen/include/xsm/xsm.h
>>>> @@ -61,8 +61,10 @@ struct xsm_ops {
>>>>   #endif
>>>>       int (*set_target)(struct domain *d, struct domain *e);
>>>>       int (*domctl)(struct domain *d, struct xen_domctl *op);
>>>> +#ifdef CONFIG_SYSCTL
>>>>       int (*sysctl)(int cmd);
>>>>       int (*readconsole)(uint32_t clear);
>>>> +#endif
>>>
>>> ... this is now the 3rd CONFIG_SYSCTL in xsm_ops.
>>>
>>> I know it will grow the diff, but can we see about collecting them into
>>> a single region, and in dummy_ops too?Â  It will shrink the overall
>>> result, and the order of pointers in this ops structure is uninteresting.
>>
>> I have a far more consolidating patch in the works, which is how I actually
>> noticed the issue. I'd prefer to keep things as simple as possible here.
> 
> Would also be good to clean up flask_ops similarly.

Hence the "far more consolidating" - that'll happen (implicitly) all in one
go.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 12:48:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 12:48:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341122.1601665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waCAU-0000Db-TQ; Thu, 18 Jun 2026 12:48:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341122.1601665; Thu, 18 Jun 2026 12:48:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waCAU-0000DU-QO; Thu, 18 Jun 2026 12:48:26 +0000
Received: by outflank-mailman (input) for mailman id 1341122;
 Thu, 18 Jun 2026 12:48:24 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dpsmith@apertussolutions.com>) id 1waCAS-0000DL-TY
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 12:48:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waCAS-008J3r-AL
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:48:24 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a33e90d-bab6-0a2a0a5309dd-0a2a4506dd22-24
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 14:48:24 +0200
Received: from [136.143.188.51] (helo=sender4-of-o51.zoho.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a33e916-b690-0a2a45060019-888fbc3352ad-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 14:48:23 +0200
Received: by mx.zohomail.com with SMTPS id 1781786898798317.6092245737033;
 Thu, 18 Jun 2026 05:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=zoho header.d=apertussolutions.com header.i="dpsmith@apertussolutions.com" header.h="Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding"
ARC-Seal: i=1; a=rsa-sha256; t=1781786900; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=eVQQplNMw1wEFWlchmCiEtJmU1WQsb43m39nR8FaTpANhSBQoHNiy91iV9dWq48McZbqW7SoPZGrEbSg2pXXq7Qf6xWbvtF8ZzoCVo5WJ1MOEWb7MHh6J3/TU/5j7lfQkAF4OIXqliVEogP3+JQIb8ROr35F4/gp8likHEUS1+Y=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1781786900; 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=/y6YzxrdyCbDx873EYvdFU92r3+zskvqx7KquP6fQi0=; 
	b=lxJzsVF6dWDHS7Vr6Wqu8H0v6bAs+9WxoGR73rPPyxHlrgCSjwI4Olx0Y3ok11/hU9qSHDj/tibdV2U5WWyMMLOvkdrrLHZyZXGALnE/J/KPfpgNe2wW+OVWXSYzK9uvSl67lC7SUuuPGbEiYRfl+effyRYkzSRa4aaGNCsIUCs=
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=1781786900;
	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=/y6YzxrdyCbDx873EYvdFU92r3+zskvqx7KquP6fQi0=;
	b=OFg0TKqYsJTytVmdgCEhabLSjEOzgD/RYRWJ0j2Z51kv3R3WE0gE07XUGTbtphJp
	eDNY6KUok+ahVtwHYJnEt5YxaoAnJ1Llt/Ouka27/cV0AQYDLHw/WFopnYxYZxvMU7c
	r0zlhhdHw7BUlbd+YWmde3gyOaqJYj25azMBs/ro=
Message-ID: <d6071252-a8fa-44b5-923e-b08175ab0fa7@apertussolutions.com>
Date: Thu, 18 Jun 2026 08:48:17 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] XSM: guard .sysctl() and .readconsole() hooks
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <bf642902-7235-45a8-a470-f164a930c0c1@suse.com>
 <8536e453-423d-45a0-bb82-38283eca4786@citrix.com>
 <0604a985-96fc-454f-b9a1-242bc6cce9b6@suse.com>
 <a3e51817-4464-4672-a975-ba76349bab31@apertussolutions.com>
 <243c5119-a016-49f4-919e-efa492b02e5e@suse.com>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <243c5119-a016-49f4-919e-efa492b02e5e@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External
X-purgate-ID: tlsNG-16d1c6/1781786904-38DFE853-8DA62F5C/0/0
X-purgate-type: clean
X-purgate-size: 2766

On 6/18/26 8:42 AM, Jan Beulich wrote:
> On 18.06.2026 14:34, Daniel P. Smith wrote:
>> On 6/18/26 8:23 AM, Jan Beulich wrote:
>>> On 18.06.2026 14:13, Andrew Cooper wrote:
>>>> On 18/06/2026 12:32 pm, Jan Beulich wrote:
>>>>> Leaving the hook pointers in struct xsm_ops when !SYSCTL would lead to
>>>>> the BUG_ON() in xsm_fixup_ops() triggering for respectively configured
>>>>> hypervisors.
>>>>>
>>>>> While moving the #ifdef for the corresponding xsm_*() wrappers, also move
>>>>> those for xsm_page_offline() (where the hook pointer field already is
>>>>> suitably guarded).
>>>>>
>>>>> Fixes: c9eabaa03a68 ("xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL")
>>>>> Fixes: bddd9af6049f ("xen/sysctl: wrap around XEN_SYSCTL_readconsole")
>>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>>
>>>> Ugly.Â  We probably ought to see about booting the RANDCONFIG hypervisor
>>>> too, which should be able to spot things like this.
>>>>
>>>> This is a regression vs 4.21, so does need including.
>>>
>>> Aiui it's a regression vs 4.20, i.e. will want backporting to 4.21.
>>>
>>>> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>, although...
>>>
>>> Thanks.
>>>
>>>>> --- a/xen/include/xsm/xsm.h
>>>>> +++ b/xen/include/xsm/xsm.h
>>>>> @@ -61,8 +61,10 @@ struct xsm_ops {
>>>>>    #endif
>>>>>        int (*set_target)(struct domain *d, struct domain *e);
>>>>>        int (*domctl)(struct domain *d, struct xen_domctl *op);
>>>>> +#ifdef CONFIG_SYSCTL
>>>>>        int (*sysctl)(int cmd);
>>>>>        int (*readconsole)(uint32_t clear);
>>>>> +#endif
>>>>
>>>> ... this is now the 3rd CONFIG_SYSCTL in xsm_ops.
>>>>
>>>> I know it will grow the diff, but can we see about collecting them into
>>>> a single region, and in dummy_ops too?Â  It will shrink the overall
>>>> result, and the order of pointers in this ops structure is uninteresting.
>>>
>>> I have a far more consolidating patch in the works, which is how I actually
>>> noticed the issue. I'd prefer to keep things as simple as possible here.
>>
>> By the way, I was going back through this and notices that they are not
>> ifdef out in xsm/dummy.h. Are we relying on them being inlines to ensure
>> that they do not result in dead code?
> 
> I think so. Maybe it's unhelpful that we have
> 

To be clear, you want to leave as is for now (or at least pick up in 
another patch)?

> #define XSM_INLINE __maybe_unused
> 
> and we may instead better want explicit #ifdef wherever necessary.
> 

It's been a while since I tore that apart, but I believe there is some 
trickery hidden in XSM_INLINE depending on whether XSM is "on or off". I 
could be wrong as it's been a while since I tried to unwrap all of it.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 12:49:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 12:49:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341127.1601676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waCBB-0000ge-53; Thu, 18 Jun 2026 12:49:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341127.1601676; Thu, 18 Jun 2026 12:49: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 1waCBB-0000gX-1E; Thu, 18 Jun 2026 12:49:09 +0000
Received: by outflank-mailman (input) for mailman id 1341127;
 Thu, 18 Jun 2026 12:49:07 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dpsmith@apertussolutions.com>) id 1waCB9-0000gN-Pw
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 12:49:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waCB9-008JRa-6o
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:49:07 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a33e934-bab6-0a2a0a5309dd-0a2a4506d528-34
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 14:49:06 +0200
Received: from [136.143.188.51] (helo=sender4-of-o51.zoho.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a33e940-b690-0a2a45060019-888fbc3352b5-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 14:49:05 +0200
Received: by mx.zohomail.com with SMTPS id 1781786941670217.4886731259653;
 Thu, 18 Jun 2026 05:49:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=zoho header.d=apertussolutions.com header.i="dpsmith@apertussolutions.com" header.h="Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding"
ARC-Seal: i=1; a=rsa-sha256; t=1781786943; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=V35hGhBAXmI4Sb14UhtVaYgWPyiOlSLqndTPTAB069PMWkIJpKxS64hK03c5NwiHS49zgi/ru0QiRdpY65kMhN9b5wSAxoY8l8PY1AzX8PoKupSRBoUGy3wC0ZpXZ+y3Mi5UROKBFkldex+3lVrv0keZEHceji00v32PYlLrp8I=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1781786943; 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=pILEMyw5gCxqIrCUuBXTTwRSJypX7InxQ7qQLI/bSBI=; 
	b=n7+iJvVogihZrYC0szI1+oSzoD4oFyZMo1576KsLilXxICRA0pLerG5vrnIlizXRVLce0pCFvT92NnOIcSxmXdyi6utANEHxjd8DK0CJZZCaOmaYlywJeoSn/lPr+7xHJWrWtvxdYvbq6MsKTONCIJXzB/FxzoUL7t3om0aDsug=
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=1781786942;
	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=pILEMyw5gCxqIrCUuBXTTwRSJypX7InxQ7qQLI/bSBI=;
	b=qwY7wTuTCFiQwV+ZoMU3Fada2lh8YnTirHFX+L16aPmU6DMU8x270hvboxrphqGF
	Dsxq09H9D78ShFH+7cK+RUy55ATXz7W4IgVKHOSrCknDczrvVxVSKtdwSCHk38VHPCn
	nKuXaJEnMWawPF9StmrLm4e+lVHPe4+NkncUdqb4=
Message-ID: <23a1961c-29ea-42fe-ab1d-f185af449d37@apertussolutions.com>
Date: Thu, 18 Jun 2026 08:49:00 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] XSM: guard .sysctl() and .readconsole() hooks
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <bf642902-7235-45a8-a470-f164a930c0c1@suse.com>
 <8536e453-423d-45a0-bb82-38283eca4786@citrix.com>
 <0604a985-96fc-454f-b9a1-242bc6cce9b6@suse.com>
 <e5443d3c-a3ec-4698-b20e-b867f150aa5e@apertussolutions.com>
 <31bcc003-d876-4298-8edf-3fd3a07eda96@suse.com>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <31bcc003-d876-4298-8edf-3fd3a07eda96@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External
X-purgate-ID: tlsNG-16d1c6/1781786945-B07FB853-37D78803/0/0
X-purgate-type: clean
X-purgate-size: 2300



On 6/18/26 8:43 AM, Jan Beulich wrote:
> On 18.06.2026 14:40, Daniel P. Smith wrote:
>> On 6/18/26 8:23 AM, Jan Beulich wrote:
>>> On 18.06.2026 14:13, Andrew Cooper wrote:
>>>> On 18/06/2026 12:32 pm, Jan Beulich wrote:
>>>>> Leaving the hook pointers in struct xsm_ops when !SYSCTL would lead to
>>>>> the BUG_ON() in xsm_fixup_ops() triggering for respectively configured
>>>>> hypervisors.
>>>>>
>>>>> While moving the #ifdef for the corresponding xsm_*() wrappers, also move
>>>>> those for xsm_page_offline() (where the hook pointer field already is
>>>>> suitably guarded).
>>>>>
>>>>> Fixes: c9eabaa03a68 ("xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL")
>>>>> Fixes: bddd9af6049f ("xen/sysctl: wrap around XEN_SYSCTL_readconsole")
>>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>>
>>>> Ugly.Â  We probably ought to see about booting the RANDCONFIG hypervisor
>>>> too, which should be able to spot things like this.
>>>>
>>>> This is a regression vs 4.21, so does need including.
>>>
>>> Aiui it's a regression vs 4.20, i.e. will want backporting to 4.21.
>>>
>>>> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>, although...
>>>
>>> Thanks.
>>>
>>>>> --- a/xen/include/xsm/xsm.h
>>>>> +++ b/xen/include/xsm/xsm.h
>>>>> @@ -61,8 +61,10 @@ struct xsm_ops {
>>>>>    #endif
>>>>>        int (*set_target)(struct domain *d, struct domain *e);
>>>>>        int (*domctl)(struct domain *d, struct xen_domctl *op);
>>>>> +#ifdef CONFIG_SYSCTL
>>>>>        int (*sysctl)(int cmd);
>>>>>        int (*readconsole)(uint32_t clear);
>>>>> +#endif
>>>>
>>>> ... this is now the 3rd CONFIG_SYSCTL in xsm_ops.
>>>>
>>>> I know it will grow the diff, but can we see about collecting them into
>>>> a single region, and in dummy_ops too?Â  It will shrink the overall
>>>> result, and the order of pointers in this ops structure is uninteresting.
>>>
>>> I have a far more consolidating patch in the works, which is how I actually
>>> noticed the issue. I'd prefer to keep things as simple as possible here.
>>
>> Would also be good to clean up flask_ops similarly.
> 
> Hence the "far more consolidating" - that'll happen (implicitly) all in one
> go.
> 

Perfect. Just wanted to be sure it was on your radar.

v/r,
dps




From xen-devel-bounces@lists.xenproject.org Thu Jun 18 12:51:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 12:51:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341135.1601683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waCDj-0002FU-GJ; Thu, 18 Jun 2026 12:51:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341135.1601683; Thu, 18 Jun 2026 12: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 1waCDj-0002FN-Dd; Thu, 18 Jun 2026 12:51:47 +0000
Received: by outflank-mailman (input) for mailman id 1341135;
 Thu, 18 Jun 2026 12:51:46 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1waCDi-0002FH-LB
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 12:51:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waCDi-00D2vb-1Z
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:51:46 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a33e9d0-5cb7-0a2a0a5109dd-0a2a450a9156-34
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 14:51:45 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a33e9e1-93a5-0a2a450a0019-d1558033b090-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 14:51:45 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-490afc47455so3334855e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 05:51: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-4923a1d2d9esm40221315e9.1.2026.06.18.05.51.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Jun 2026 05:51: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781787105; x=1782391905; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=+mY/FuMB1Bn63cK0YzU0ctXmeFaqrHY0ttlgEs7+H1Y=;
        b=dP9TNvrHUuxxlyI0BDpiRI/4ET7Qk6yZxwUr6tJkhJLzq3j++6M8xXWQ1Vyseg+2uo
         9dA7WkyR+fnMwCJUX8rq/PVLOkkqM01ZUUYjTlUYrhY+8n1zH4RkGj3zyWacLe3ggz1o
         KOWuPxpXhzRLVbDwgpHpHprsgxVoeBY1nZwtMrguLj7f90hh8sardwkcvXAsDJNbIRxF
         jG7VKrCI9tu5KKhwmnd9MVxA828FF4CgDCRoLt8xrqFR4qsOUKKJGmBRRqkwxiV3PaEp
         o9jONUVk6+eFlglFN7J1S3QMDnP2ihjvMV0eISzoE30wDhfWzboUUeJPe0oxbuHtRz0w
         qjww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781787105; x=1782391905;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+mY/FuMB1Bn63cK0YzU0ctXmeFaqrHY0ttlgEs7+H1Y=;
        b=rBxkj5d/6Gyhi8mhrKhwQlXOZ0dboKzW00ABYptbm5K5RufnB12jBKcH43SUzNZbk8
         tCTFyNrfUSy9j7sdMEFJfCIssZGT1oHQ5p8C+ByzL/cSBZ+exS/8NDCPHoJxcZmmj4Bc
         DZlMjDxJD6qIhMPq5CcRPsbK+Zixi6sV3AMVn62rfugSy06d5mW351v9EvlcCV9QiOvn
         2/hE4QJnTbxFaccYHLtW52ffhEKadQbsaYOnZuSUoJf0KQ+Y/N+Tna6UfHd6WIRd9orh
         w4Mz0aLRa98nMlvA9rs0H8UGV6ZOijb2f55/21eI7Ju8Yoz5rY3Td7Ngb7z3rnKTSkS0
         lSYg==
X-Forwarded-Encrypted: i=1; AFNElJ8p/Dx0QOdQs7z5HHCY2oQ2vRi1IeFgK2nyq48eDmB+K8TCPt035zTywLQHue+yH08w/6uGIq+W6xc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx+W2iVsEJA1LHSIbEPhk1QhJCDAdM19iqxyzf5hDBFdbcc8xhT
	4hsK5IvPbN9TA4CvKP6VXuFENauhY1Kxbw+JxOvP6tjgIpynm3eEyZlUfLezo/ju+Q==
X-Gm-Gg: AfdE7cn7LR3iWEVE5P6h1MnPSNdNPJ39Y7O+rpdUAS6cDSHXvYFdengbtBV0c6eRLGA
	zS4cZhiYijVmBgJa1XDV0Lwj2TC+etxurMxNyK/oMK3TPZXMlBgJ6GIJK9D4ZsOwlBkolPNVCZW
	gx2BfTUM3fgAwm0Sti5fFM/EpbDAaDjso+hISisVHTCd7Gq8oJDZjKckrKQ9k9UHKXNDFeYesmK
	Ku02bMa1WXQWb7l+oMSjLctLZ4QtLbzFeblUnHCI3kAO20ABPVEoAR5nne3gTAEqy4Q1gLCq3UP
	q4bQLhOj4hl1Zsivin9ep0dD8/ry8n0dcw5sD5ZwUjlD7lIp4UJpV9yt2BtXiIEUjsR5W83iFN9
	Qu20rY07bj2o3CU8vdB3XNMQz6p1ViFzrj3EZ0e6EE5dwTQhCKCeKgw7D4bASYxMpQd+L9qUVqw
	2eQY/zuxeuN3WkyHXA1Cw+1Y+keRvEeipYnA9YBtJrK+Iu/56KfqE06bhcUO+g+wvwMzvIYvmBB
	HPv
X-Received: by 2002:a05:600c:4fce:b0:490:ce99:d2ee with SMTP id 5b1f17b1804b1-4923a99aa02mr31990425e9.15.1781787105338;
        Thu, 18 Jun 2026 05:51:45 -0700 (PDT)
Message-ID: <12468fb6-0cf7-4e27-89ca-8ec4640e569b@suse.com>
Date: Thu, 18 Jun 2026 14:51:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] XSM: guard .sysctl() and .readconsole() hooks
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <bf642902-7235-45a8-a470-f164a930c0c1@suse.com>
 <8536e453-423d-45a0-bb82-38283eca4786@citrix.com>
 <0604a985-96fc-454f-b9a1-242bc6cce9b6@suse.com>
 <a3e51817-4464-4672-a975-ba76349bab31@apertussolutions.com>
 <243c5119-a016-49f4-919e-efa492b02e5e@suse.com>
 <d6071252-a8fa-44b5-923e-b08175ab0fa7@apertussolutions.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d6071252-a8fa-44b5-923e-b08175ab0fa7@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1781787105-B1BF3DB8-F81EA533/0/0
X-purgate-type: clean
X-purgate-size: 3100

On 18.06.2026 14:48, Daniel P. Smith wrote:
> On 6/18/26 8:42 AM, Jan Beulich wrote:
>> On 18.06.2026 14:34, Daniel P. Smith wrote:
>>> On 6/18/26 8:23 AM, Jan Beulich wrote:
>>>> On 18.06.2026 14:13, Andrew Cooper wrote:
>>>>> On 18/06/2026 12:32 pm, Jan Beulich wrote:
>>>>>> Leaving the hook pointers in struct xsm_ops when !SYSCTL would lead to
>>>>>> the BUG_ON() in xsm_fixup_ops() triggering for respectively configured
>>>>>> hypervisors.
>>>>>>
>>>>>> While moving the #ifdef for the corresponding xsm_*() wrappers, also move
>>>>>> those for xsm_page_offline() (where the hook pointer field already is
>>>>>> suitably guarded).
>>>>>>
>>>>>> Fixes: c9eabaa03a68 ("xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL")
>>>>>> Fixes: bddd9af6049f ("xen/sysctl: wrap around XEN_SYSCTL_readconsole")
>>>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>>>
>>>>> Ugly.Â  We probably ought to see about booting the RANDCONFIG hypervisor
>>>>> too, which should be able to spot things like this.
>>>>>
>>>>> This is a regression vs 4.21, so does need including.
>>>>
>>>> Aiui it's a regression vs 4.20, i.e. will want backporting to 4.21.
>>>>
>>>>> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>, although...
>>>>
>>>> Thanks.
>>>>
>>>>>> --- a/xen/include/xsm/xsm.h
>>>>>> +++ b/xen/include/xsm/xsm.h
>>>>>> @@ -61,8 +61,10 @@ struct xsm_ops {
>>>>>>    #endif
>>>>>>        int (*set_target)(struct domain *d, struct domain *e);
>>>>>>        int (*domctl)(struct domain *d, struct xen_domctl *op);
>>>>>> +#ifdef CONFIG_SYSCTL
>>>>>>        int (*sysctl)(int cmd);
>>>>>>        int (*readconsole)(uint32_t clear);
>>>>>> +#endif
>>>>>
>>>>> ... this is now the 3rd CONFIG_SYSCTL in xsm_ops.
>>>>>
>>>>> I know it will grow the diff, but can we see about collecting them into
>>>>> a single region, and in dummy_ops too?Â  It will shrink the overall
>>>>> result, and the order of pointers in this ops structure is uninteresting.
>>>>
>>>> I have a far more consolidating patch in the works, which is how I actually
>>>> noticed the issue. I'd prefer to keep things as simple as possible here.
>>>
>>> By the way, I was going back through this and notices that they are not
>>> ifdef out in xsm/dummy.h. Are we relying on them being inlines to ensure
>>> that they do not result in dead code?
>>
>> I think so. Maybe it's unhelpful that we have
> 
> To be clear, you want to leave as is for now (or at least pick up in 
> another patch)?

It's up to you - I can add the #ifdef there, but it doesn't look to strictly
be needed.

>> #define XSM_INLINE __maybe_unused
>>
>> and we may instead better want explicit #ifdef wherever necessary.
> 
> It's been a while since I tore that apart, but I believe there is some 
> trickery hidden in XSM_INLINE depending on whether XSM is "on or off". I 
> could be wrong as it's been a while since I tried to unwrap all of it.

Aiui the "trickery" is that it's

#define XSM_INLINE __maybe_unused

with XSM=y and

#define XSM_INLINE always_inline

with XSM=n.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 13:34:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 13:34:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341185.1601693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waCsx-0001vk-HT; Thu, 18 Jun 2026 13:34:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341185.1601693; Thu, 18 Jun 2026 13:34: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 1waCsx-0001vd-Dx; Thu, 18 Jun 2026 13:34:23 +0000
Received: by outflank-mailman (input) for mailman id 1341185;
 Thu, 18 Jun 2026 13:34:22 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1waCsv-0001vU-UT
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 13:34:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waCsu-004Cga-OR
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 15:34:20 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a33f3d4-bab6-0a2a0a5309dd-0a2a450ac944-34
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 15:34:20 +0200
Received: from [209.85.221.48] (helo=mail-wr1-f48.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a33f3dc-93a5-0a2a450a0019-d155dd30ddbd-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 15:34:20 +0200
Received: by mail-wr1-f48.google.com with SMTP id
 ffacd0b85a97d-45ef779c1c2so761357f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 06:34:20 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f26f1cdsm65866714f8f.11.2026.06.18.06.34.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781789660; x=1782394460; 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=zd2wI4707PnIvtBCYLcVEyiMf/ibHw6tggtbvJmeoxQ=;
        b=YLnXOa4cjw4fb0WFqK5z1GugtjhnjRNWUZzCEBqV7yGw8+gWc0PfEeL4+wTNtODRC4
         gWvKfygKLjmQD+xDqgAeFpvSnK46nq0cNsBhvsY0eSBqUuRFq6K5lZ5YpiIws8FHdq6L
         LqhqJxdhMG7ViODcDJTRIJ0MJfsuibnmznsbGYscn35AFQ3Y9AsZuD7HiMb7RvzYgmw6
         j0avDBFQOVIv+giHJDiomc6glmfrPluAz4NJvkC4wGhR9wgmQa3E6ace2Hkb5h/L/xCc
         VTbX62M6F2UYSnigncAeCtGW6lZ/R/cCAbUtZuuftkLfGP6mTum4eE/weYUbplqH7APY
         jHPw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781789660; x=1782394460;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=zd2wI4707PnIvtBCYLcVEyiMf/ibHw6tggtbvJmeoxQ=;
        b=Y/KbUmfTZLbjKEmxQthVhDkF8pP9XxCPxaRZxNqLVUt7sOuw7TeG6jIiYpupdTA+yQ
         prEO8ManjjIfndQn6KzjF+Q3aiyhJhRuqAJ5uOmYQsIexVGnZoZ5CCVlwcvAI5/Tk9eB
         cZzNhBcJVe9k3C6q1FlKGDXViLV8PpACvVDbCg7Zu7uY0hA3J2WP6LrMli4TJhMjp7IX
         gsxo5IaszrXrNV+Xj7RNBNJmvsu6953Cvi5L+GGfgveYIte/RIIR2W36g8h51iVwdLYB
         FUxDxCa6hrr/4Hn+YyvgqUS0rRCJeICEfh5g4Rv6a4qyZJFg3Sa/yrBYBEgCtco53OmU
         tLrg==
X-Forwarded-Encrypted: i=1; AFNElJ8z824ripkniHWFY9zgwh8XXdLwPR/A2AHVjYW6My6t3/XeMCOIqTY4DfHsqCw9fJZtwlOq/Xpx29I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyfZA+JwLJgwGv2tBci5U0PN/09nY+OC5oytM7pYzdYtK9ifA1z
	+lskYWrw9MxeGUicUv6BvxO6do0dzvjUfUjZDpjtOnSsfe65tY1ikNGV2pJDpw==
X-Gm-Gg: AfdE7ck5uITMdwHNhwwnhPVE2aelTa0TQ13OKBSfW2H400MY1QCAZK0pGj+DGm3mxlN
	vBJofAKSUKNL3asloo5WWLGHHl5MJKUDqnKo30V4a/r+PHYXAb//AzMOOQp0FlewNlOdvbqyAW9
	dXP4QQrFM0lynzDIljIXlg/gDC2wYU2iD79UWZs3Itmj7O7X5V8du/SVCvpUp1HsJLpPZzDQSn0
	Co5iK8abgfIgJnhnNmE7hIUcbovcpdAtyuA5dLcoaVXWMAjMhxSfacZqdVQ80tpFnac7OfUa8YE
	wCnUm5fTnGO6vH/JMuqRXa5b6F61r2KcCyGczGw0uWO0uhAqssL9CFtJ7RHcpmOor2QAPZ5lZlp
	9WUAxAUEfAqxBO4AVwLz++buSIRlXbNle2WsydxFRaHVVeH5R+omLRgfklH5D3QaCEl56Ale+La
	xrzzBMUgkFjZ8n63op9pZ5SDO3EouVBd3IUrBUAPag7AWbf1Z9u+YeV44j23acs7v+U9M=
X-Received: by 2002:a05:6000:4e3:b0:461:a169:f965 with SMTP id ffacd0b85a97d-462389d4b5cmr10310013f8f.34.1781789659872;
        Thu, 18 Jun 2026 06:34:19 -0700 (PDT)
Message-ID: <b349ed39-1101-4fc1-8d16-d8c34922719d@gmail.com>
Date: Thu, 18 Jun 2026 15:34:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] XSM: guard .sysctl() and .readconsole() hooks
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Daniel Smith <dpsmith@apertussolutions.com>
References: <bf642902-7235-45a8-a470-f164a930c0c1@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <bf642902-7235-45a8-a470-f164a930c0c1@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-4011c0/1781789660-2D5F0DB8-957773EC/10/73395122804
X-purgate-type: spam
X-purgate-size: 674



On 6/18/26 1:32 PM, Jan Beulich wrote:
> Leaving the hook pointers in struct xsm_ops when !SYSCTL would lead to
> the BUG_ON() in xsm_fixup_ops() triggering for respectively configured
> hypervisors.
> 
> While moving the #ifdef for the corresponding xsm_*() wrappers, also move
> those for xsm_page_offline() (where the hook pointer field already is
> suitably guarded).
> 
> Fixes: c9eabaa03a68 ("xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL")
> Fixes: bddd9af6049f ("xen/sysctl: wrap around XEN_SYSCTL_readconsole")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 

Release-Acked-by: Oleskii Kurochko <oleskii.kurochko@gmail.com>

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 14:51:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 14:51:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341245.1601702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waE52-0006bC-V7; Thu, 18 Jun 2026 14:50:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341245.1601702; Thu, 18 Jun 2026 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 1waE52-0006b5-RK; Thu, 18 Jun 2026 14:50:56 +0000
Received: by outflank-mailman (input) for mailman id 1341245;
 Thu, 18 Jun 2026 14:50:55 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1waE50-0006av-Vh
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:50:55 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waE50-00EvFC-8u
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 16:50:54 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3405cb-2eae-0a2a0a5409dd-0a2a4509bc50-6
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:50:54 +0200
Received: from [209.85.221.43] (helo=mail-wr1-f43.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3405cd-4999-0a2a45090019-d155dd2bc0a3-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:50:54 +0200
Received: by mail-wr1-f43.google.com with SMTP id
 ffacd0b85a97d-45eea68dd6fso609584f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 07:50: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-4620b1083e3sm20785780f8f.20.2026.06.18.07.50.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Jun 2026 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781794253; x=1782399053; 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=OnAsW+mOMZlaoSSRnLfmPqdezOhqrvG1MnW48XYmMwo=;
        b=eFRXMBhOzfDhLjlNlFgqN6vyBSZtxlMoICwr+1Tondtww10XxOJPaTO/GUzXESm24d
         FXpYu3ADxnsgy6XyATnA/grihzALMkbrGBL9VA7VqqiETcsw1FhSZ6tIxpyatKKgpUH/
         wnyHNI/BwDSlsnzs0tee2RDx1fM4JjTt5B/Xg82I8el5IcazvGC+BC23fV5bs5L//0+H
         M1LBVfVMlUE0HX+PZ0+JTHp5X/Kv2hiZStPqtr9UqzXrBVm6vU83c/OMpIwbqmqjsPzU
         d+/CJj6VxgVfuGLgu1gb+aXqxTMwgE7Kx0iyod9lp9tfqSlqcyo60Uv82Ebn2/EjpxgV
         C+9Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781794253; x=1782399053;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OnAsW+mOMZlaoSSRnLfmPqdezOhqrvG1MnW48XYmMwo=;
        b=O7FyiicycKQVMgmaMVLssZ0ARmIGSoqf7LReC0y9dWKwE+StAN4rz7bTutNFjt1/Fp
         HMHqvCMvfwQIKHq8N0wVb+HjdKyaiqE9DiBfW4+WLkoZd4WvN8lMhcbG0VNFQsQTD0Mj
         Lvi2W0N0bpbbokw5CfIVGR4i75TJY6eqjfaiym7jegRD5BhibSVy1Wd0cMgoj0pbw8Oy
         Ofq/eeoV/oCmeQHMIZL6GRCapuxCguSTgBCfc1FjNt7G9jxl+pfc/nUIw/plT/ZlLLrb
         3slupZi5KV0wClFFUDUUmhe42TKs1UfkyT+hyzfsR98/9cmGXh2oaexIME4zaSjpWYTg
         HZFg==
X-Forwarded-Encrypted: i=1; AFNElJ/bL/auH8W4szqksYGq1pJIWm8T0XANyxifKfLknwRLGjIAPz2yulSMb+01Est/di42xy4D00O1GrQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzKgOWV9uNJsV+LQKdRyN//h3d3edczyA/0mUEQ1vDzf9gwwz11
	/IE6HVtxPYDO5dx08DEGcy+jzbGmMiivm18mp/0Jz4iMznvcHPmrRsfXCdZ7g/f1Bg==
X-Gm-Gg: AfdE7cnggdg0pi7QApgYa7SU/p1gdyCsanmeD5Rl+SJaQ65diOlLBJL0zlvndPe2BQ6
	6ivmcAinWDckvsLo/0L/a0lD0UvFM+AXQ5Fnvaf4RRQrcXq43TA9702fQDDuqgBV8aA59viu7tO
	AFbNtinp596VnaNZODfNosQQ6um7/z85aA2mmDRvr85uvVpMy+lSHAyd+8SfsZ6OuxijA+QjYla
	7Ax4/O1PJarrR4qIxbFTGxHBIxHjgPd99NLTNwmV9xnjvxiP8Nh8jNOE7k+yYKQuQwkOwv9/xIM
	AYtbUTSU1Sgv2wzUSX2yMTkDb86ybNsHrIe3g43AVPhkMfmUzbhdtIm0fdXwpZ7i9qgTXHeJ3AL
	wdaaGzwGFPPFsP4Iv6ig4IyByXqDfHPxYhohCu/32qAIW6B8mw/dlV8wNdwwh4tuFHwPzM6w9hb
	vSYXHiTtFfxyQ4lEFASnBGJdgzYwbgfR9NAETIwfM38Ii6fZGpRjdbAM5i8rPRRCHxODoiBb7Nt
	oqv
X-Received: by 2002:adf:e612:0:b0:44b:5398:4e85 with SMTP id ffacd0b85a97d-462410d3e44mr12154680f8f.22.1781794253243;
        Thu, 18 Jun 2026 07:50:53 -0700 (PDT)
Message-ID: <0d5d4fda-d296-4027-a62a-134fd8aaae53@suse.com>
Date: Thu, 18 Jun 2026 16:50:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] XSM: guard .sysctl() and .readconsole() hooks
From: Jan Beulich <jbeulich@suse.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <bf642902-7235-45a8-a470-f164a930c0c1@suse.com>
 <8536e453-423d-45a0-bb82-38283eca4786@citrix.com>
 <0604a985-96fc-454f-b9a1-242bc6cce9b6@suse.com>
 <a3e51817-4464-4672-a975-ba76349bab31@apertussolutions.com>
 <243c5119-a016-49f4-919e-efa492b02e5e@suse.com>
 <d6071252-a8fa-44b5-923e-b08175ab0fa7@apertussolutions.com>
 <12468fb6-0cf7-4e27-89ca-8ec4640e569b@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: <12468fb6-0cf7-4e27-89ca-8ec4640e569b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1781794254-F59FF744-868519D4/0/0
X-purgate-type: clean
X-purgate-size: 2829

On 18.06.2026 14:51, Jan Beulich wrote:
> On 18.06.2026 14:48, Daniel P. Smith wrote:
>> On 6/18/26 8:42 AM, Jan Beulich wrote:
>>> On 18.06.2026 14:34, Daniel P. Smith wrote:
>>>> On 6/18/26 8:23 AM, Jan Beulich wrote:
>>>>> On 18.06.2026 14:13, Andrew Cooper wrote:
>>>>>> On 18/06/2026 12:32 pm, Jan Beulich wrote:
>>>>>>> Leaving the hook pointers in struct xsm_ops when !SYSCTL would lead to
>>>>>>> the BUG_ON() in xsm_fixup_ops() triggering for respectively configured
>>>>>>> hypervisors.
>>>>>>>
>>>>>>> While moving the #ifdef for the corresponding xsm_*() wrappers, also move
>>>>>>> those for xsm_page_offline() (where the hook pointer field already is
>>>>>>> suitably guarded).
>>>>>>>
>>>>>>> Fixes: c9eabaa03a68 ("xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL")
>>>>>>> Fixes: bddd9af6049f ("xen/sysctl: wrap around XEN_SYSCTL_readconsole")
>>>>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>>>>
>>>>>> Ugly.Â  We probably ought to see about booting the RANDCONFIG hypervisor
>>>>>> too, which should be able to spot things like this.
>>>>>>
>>>>>> This is a regression vs 4.21, so does need including.
>>>>>
>>>>> Aiui it's a regression vs 4.20, i.e. will want backporting to 4.21.
>>>>>
>>>>>> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>, although...
>>>>>
>>>>> Thanks.
>>>>>
>>>>>>> --- a/xen/include/xsm/xsm.h
>>>>>>> +++ b/xen/include/xsm/xsm.h
>>>>>>> @@ -61,8 +61,10 @@ struct xsm_ops {
>>>>>>>    #endif
>>>>>>>        int (*set_target)(struct domain *d, struct domain *e);
>>>>>>>        int (*domctl)(struct domain *d, struct xen_domctl *op);
>>>>>>> +#ifdef CONFIG_SYSCTL
>>>>>>>        int (*sysctl)(int cmd);
>>>>>>>        int (*readconsole)(uint32_t clear);
>>>>>>> +#endif
>>>>>>
>>>>>> ... this is now the 3rd CONFIG_SYSCTL in xsm_ops.
>>>>>>
>>>>>> I know it will grow the diff, but can we see about collecting them into
>>>>>> a single region, and in dummy_ops too?Â  It will shrink the overall
>>>>>> result, and the order of pointers in this ops structure is uninteresting.
>>>>>
>>>>> I have a far more consolidating patch in the works, which is how I actually
>>>>> noticed the issue. I'd prefer to keep things as simple as possible here.
>>>>
>>>> By the way, I was going back through this and notices that they are not
>>>> ifdef out in xsm/dummy.h. Are we relying on them being inlines to ensure
>>>> that they do not result in dead code?
>>>
>>> I think so. Maybe it's unhelpful that we have
>>
>> To be clear, you want to leave as is for now (or at least pick up in 
>> another patch)?
> 
> It's up to you - I can add the #ifdef there, but it doesn't look to strictly
> be needed.

Can you please make explicit which way you'd like it in order to provide an
ack, so this bug fix can go in?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 14:56:03 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 14:56:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341260.1601710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waE9x-00079t-Er; Thu, 18 Jun 2026 14:56:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341260.1601710; Thu, 18 Jun 2026 14: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 1waE9x-00079m-CG; Thu, 18 Jun 2026 14:56:01 +0000
Received: by outflank-mailman (input) for mailman id 1341260;
 Thu, 18 Jun 2026 14:56:00 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b3061000701b@swg.vates.tech>)
 id 1waE9v-00079Y-Mi
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:56:00 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waE9u-00Cuxo-MH
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 16:55:58 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b3061000701b@swg.vates.tech>)
 id 6a3406e3-bab6-0a2a0a5309dd-0a2a4502cae6-48
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:55:58 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b3061000701b@swg.vates.tech>)
 id 6a3406fe-fdf1-0a2a45020019-b9ff1c12adcb-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:55:58 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19edb3b3061000701b.007 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 18 Jun 2026 14:55:49 +0000
Received: from bazzite.gpn.vates.fr (88-188-240-210.subs.proxad.net
 [88.188.240.210]) (Authenticated sender: teddy.astie@vates.tech)
 by mail2.vates.fr (Postfix) with ESMTPSA id 0C19C86962;
 Thu, 18 Jun 2026 16:55:49 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=3HpuD8CbQNQzkNwb00qC62DDh6JfMa667VCsKxtkQno=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:feedback-id;
 b=Q2YDHqqA8ilRpPols3SJBq5lHJWqDie7peiyjfjn5o/Ima0m09LN3cuiS8H3URjYzF/ggs/an
 WMtdkVCp4uBYkAmlJheZjP0Iv4+uQ1XQrgBA2YOMqhX0ihfqaMGoZuUdxG6ouWDiWQ231f8u68V
 Bqxkv+6b3Bhk88pe4gjLlRefm+tuwFi8TW63aQpunDZlAniHKESy+SprcATVMsTM1pKP4CqV00p
 p0M5GvRR23gPgWjTVCchkrpEmVaP4y6RcXWycLBa2XJs0+ZaXIl6I7dSxOLtNl0cHcICRKOb6MO
 lk5qIEAx9U67fNlisUEvu74724p3re60Qr1ttyeM/q2A==
X-Zone-Loop: 99f1e1665a08adf6df75a9ba7cf0e0458f3665ad176c
x-campaign-type: default
x-transaction-id: 2e5c8b1f-4d16-48b2-af6b-a83644719617
x-swg-uid: 01-45ff51fc-074f-441a-aa28-9fe15bb26d8c
X-Mailer: Sweego
Message-ID:
 <1781794549.8631fc262581453bbf619ec5b2062170.19edb3b3061000701b@vates.tech>
x-swg-bid: 1781794549.8631fc262581453bbf619ec5b2062170.19edb3b3061000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
From: Teddy Astie <teddy.astie@vates.tech>
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>,
	Andrew Cooper <andrew.cooper3@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>,
	Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v2 00/15] PCI SBDF Refactoring
Date: Thu, 18 Jun 2026 16:50:24 +0200
MIME-Version: 1.0
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.687.8fd8f7efaf5149fc.19edb3b2e2c.7974dafa3a696682=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781794549292
X-purgate-ID: tlsNG-720697/1781794558-47E773F3-338C37C6/0/0
X-purgate-type: clean
X-purgate-size: 3592

---=Part.687.8fd8f7efaf5149fc.19edb3b2e2c.7974dafa3a696682=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

The goal of this series is to make some refactoring of some
pci primitives to improve codegen and make code less verbose=2E

A big chunk of it is converting many places where (seg, bus, dev, fn)
is split into multiples variables and into being just pci_sbdf_t,
in particular in some PCI function parameters to reduce parameter count
which usually translate into less registers to pass to the function=2E
Moreover, we also avoid translating back and forth between pci_sbdf_t
and individual (seg, bus, dev, fn)=2E

No major functional change, aside some parts of the codebase that will
now correctly handle PCI segment when parsed while it was previously
ignored (e=2Eg dbgp)=2E

---
CI: https://gitlab=2Ecom/xen-project/people/tsnake41/xen/-/pipelines/26118=
29865

v2:
 * Dropped "Migrate pci_mmcfg_{read,write}() to pci=2Ec", to be moved in
   a separate series
 * fixed dev_sbdf calculation in acpi_parse_dev_scope()=20
 * Updated documentation on ehci_dbgp now accepting segment parameter
   (but I'm not sure it suffice to allow this interface to use non-0 segme=
nts)
 * Introduced similar changes for pci_prepare_msix(), pci_ro_device(),
   pci_hide_device(), pci_remove_device(), pci_add_device()
   and pci_check_disable_device()
 * Use pci_sbdf_t in struct ehci_dbgp
 * Introduced "vtd: Rewrite igd device check in acpi_parse_dev_scope()"
 * Introduced docs change (RFC)

Teddy Astie (15):
  pci: Introduce parse_pci_sbdf{_seg}()
  vtd: Use pci_sbdf_t in acpi_parse_dev_scope()
  pci: Use pci_sbdf_t in pci_device_detect()
  pci: Parse into pci_sbdf_t directly
  pci: Allow ommiting func when parsing with parse_pci_sbdf()
  pci: Use pci_sbdf_t in pci_prepare_msix()
  pci: Use pci_sbdf_t in pci_ro_device()
  pci: Use pci_sbdf_t in pci_hide_device()
  pci: Use pci_sbdf_t in pci_remove_device()
  pci: Use pci_sbdf_t in pci_add_device()
  vtd: Rewrite igd device check in acpi_parse_dev_scope()
  pci: Use pci_sbdf_t pci_check_disable_device()
  pci: Drop parse_pci{_seg}()
  ehci-dbgp: Use pci_sbdf_t instead of (bus, slot, func)
  RFC: docs: Document support for PCI segment in dbgp and comN parameter

 docs/misc/xen-command-line=2Epandoc          | 16 ++--
 xen/arch/x86/include/asm/msi=2Eh             |  2 +-
 xen/arch/x86/msi=2Ec                         |  4 +-
 xen/arch/x86/physdev=2Ec                     | 20 +++--
 xen/drivers/char/ehci-dbgp=2Ec               | 98 ++++++++--------------
 xen/drivers/char/ns16550=2Ec                 | 27 +++---
 xen/drivers/char/xhci-dbc=2Ec                | 12 +--
 xen/drivers/passthrough/amd/iommu_acpi=2Ec   | 26 +++---
 xen/drivers/passthrough/amd/iommu_detect=2Ec |  7 +-
 xen/drivers/passthrough/amd/iommu_init=2Ec   |  3 +-
 xen/drivers/passthrough/pci=2Ec              | 88 ++++++++++---------
 xen/drivers/passthrough/vtd/dmar=2Ec         | 81 +++++++-----------
 xen/drivers/passthrough/vtd/iommu=2Ec        |  3 +-
 xen/drivers/pci/pci=2Ec                      | 40 +++------
 xen/drivers/pci/physdev=2Ec                  |  4 +-
 xen/drivers/video/vga=2Ec                    |  2 +-
 xen/include/xen/pci=2Eh                      | 20 ++---
 17 files changed, 190 insertions(+), 263 deletions(-)

--=20
2=2E54=2E0



-- 
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates s=
olutions

web: https://vates=2Etech
---=Part.687.8fd8f7efaf5149fc.19edb3b2e2c.7974dafa3a696682=---


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 14:56:03 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 14:56:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341261.1601720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waE9y-0007Mb-ML; Thu, 18 Jun 2026 14:56:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341261.1601720; Thu, 18 Jun 2026 14: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 1waE9y-0007MT-IF; Thu, 18 Jun 2026 14:56:02 +0000
Received: by outflank-mailman (input) for mailman id 1341261;
 Thu, 18 Jun 2026 14:56:00 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b3411000701b@swg.vates.tech>)
 id 1waE9w-00079f-Kj
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:56:00 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waE9w-002MfF-1E
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 16:56:00 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b3411000701b@swg.vates.tech>)
 id 6a3406fe-2eae-0a2a0a5409dd-0a2a4502e5c8-4
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:55:59 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b3411000701b@swg.vates.tech>)
 id 6a3406fe-fdf1-0a2a45020019-b9ff1c12adcb-4
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:55:59 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19edb3b3411000701b.005 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 18 Jun 2026 14:55:50 +0000
Received: from bazzite.gpn.vates.fr (88-188-240-210.subs.proxad.net
 [88.188.240.210]) (Authenticated sender: teddy.astie@vates.tech)
 by mail2.vates.fr (Postfix) with ESMTPSA id 29A5686962;
 Thu, 18 Jun 2026 16:55:50 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=bkdOZqrvjqr6flE5BYOE/roewt3QGKdGV2l97nCiJjY=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=iampVMjIiFk6fpXi4g+lu0bmxgSdGj1vrd1B/9f6+cGBoZf46660SheSJbc29b69MYStadZ/S
 F805PuSkv7PxGVsrhYchGU+6dKzeSwfiUr8rXqVn23SqE78Bq/cFTLTCXhTy13j7AmQ3x6PTAOr
 9eqjHQoBWhK3pqBuZi54KkzIO77QZ83D5FEBHIArdZttoHrgDet0ZGS+mH8U3v8R/GJ+RKWoBjj
 pnTZSp1EIR+la1Pz29Znd2sbaThl3v+LU8NqsdG7GJ9n2HZG6VE9ayHUsl4yAowe7WOHlU+fiCG
 n50pCkoLt1nLnC5qSIEIS+l4gWG/eQ2y9QsMdfEf7txw==
X-Zone-Loop: cecc3d7d01b7eb8775fc467cccfc959236d52428ed3f
x-campaign-type: default
x-transaction-id: b826a65b-630e-429a-94c8-a87eddbcbf63
x-swg-uid: 01-75e6d2ec-825c-4c31-9421-3c10f4884461
X-Mailer: Sweego
Message-ID:
 <1781794550.8631fc262581453bbf619ec5b2062170.19edb3b3411000701b@vates.tech>
x-swg-bid: 1781794550.8631fc262581453bbf619ec5b2062170.19edb3b3411000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
From: Teddy Astie <teddy.astie@vates.tech>
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>,
	Andrew Cooper <andrew.cooper3@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 01/15] pci: Introduce parse_pci_sbdf{_seg}()
Date: Thu, 18 Jun 2026 16:50:25 +0200
In-Reply-To: <cover.1781790171.git.teddy.astie@vates.tech>
References: <cover.1781790171.git.teddy.astie@vates.tech>
MIME-Version: 1.0
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.688.a8c412ea6d9bc58b.19edb3b3260.4b4b09374cddeb99=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781794550368
X-purgate-ID: tlsNG-720697/1781794559-4F8783F3-F8589A63/0/0
X-purgate-type: clean
X-purgate-size: 2322

---=Part.688.a8c412ea6d9bc58b.19edb3b3260.4b4b09374cddeb99=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

In many places, we're parsing a PCI string into individual
parts (seg, bus, dev, fn) and then transform it into a pci_sbdf_t
using PCI_SBDF macro=2E Rather than converting from parts to pci_sbdf_t
and vice versa, introduce a new function that parses a PCI string
into a pci_sbdf_t structure directly=2E

Signed-off-by: Teddy Astie <teddy=2Eastie@vates=2Etech>
---
 xen/drivers/pci/pci=2Ec | 18 ++++++++++++++++++
 xen/include/xen/pci=2Eh |  3 +++
 2 files changed, 21 insertions(+)

diff --git a/xen/drivers/pci/pci=2Ec b/xen/drivers/pci/pci=2Ec
index 084be3880c=2E=2E1d06cb035b 100644
--- a/xen/drivers/pci/pci=2Ec
+++ b/xen/drivers/pci/pci=2Ec
@@ -202,3 +202,21 @@ const char *__init parse_pci_seg(const char *s, unsig=
ned int *seg_p,
=20
     return s;
 }
+
+const char *parse_pci_sbdf(const char *s, pci_sbdf_t *sbdf)
+{
+    unsigned int seg, bus, dev, func;
+    const char *out =3D parse_pci(s, &seg, &bus, &dev, &func);
+
+    *sbdf =3D PCI_SBDF(seg, bus, dev, func);
+    return out;
+}
+
+const char *parse_pci_sbdf_seg(const char *s, pci_sbdf_t *sbdf, bool *def=
_seg)
+{
+    unsigned int seg, bus, dev, func;
+    const char *out =3D parse_pci_seg(s, &seg, &bus, &dev, &func, def_seg=
);
+
+    *sbdf =3D PCI_SBDF(seg, bus, dev, func);
+    return out;
+}
diff --git a/xen/include/xen/pci=2Eh b/xen/include/xen/pci=2Eh
index afb6bbf50d=2E=2E7bfc59cd75 100644
--- a/xen/include/xen/pci=2Eh
+++ b/xen/include/xen/pci=2Eh
@@ -280,6 +280,9 @@ const char *parse_pci_seg(const char *s, unsigned int =
*seg_p,
                           unsigned int *bus_p, unsigned int *dev_p,
                           unsigned int *func_p, bool *def_seg);
=20
+const char *parse_pci_sbdf(const char *s, pci_sbdf_t *sbdf);
+const char *parse_pci_sbdf_seg(const char *s, pci_sbdf_t *sbdf, bool *def=
_seg);
+
 #define PCI_BAR_VF      (1u << 0)
 #define PCI_BAR_LAST    (1u << 1)
 #define PCI_BAR_ROM     (1u << 2)
--=20
2=2E54=2E0



-- 
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates s=
olutions

web: https://vates=2Etech
---=Part.688.a8c412ea6d9bc58b.19edb3b3260.4b4b09374cddeb99=---


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 14:56:04 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 14:56:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341262.1601729 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waE9z-0007aP-SB; Thu, 18 Jun 2026 14:56:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341262.1601729; Thu, 18 Jun 2026 14:56:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waE9z-0007aI-Ow; Thu, 18 Jun 2026 14:56:03 +0000
Received: by outflank-mailman (input) for mailman id 1341262;
 Thu, 18 Jun 2026 14:56:02 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b36a1000701b@swg.vates.tech>)
 id 1waE9y-0007MU-OO
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:56:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waE9y-002MfF-56
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 16:56:02 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b36a1000701b@swg.vates.tech>)
 id 6a3406fe-2eae-0a2a0a5409dd-0a2a4502e5c8-10
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:02 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b36a1000701b@swg.vates.tech>)
 id 6a3406fe-fdf1-0a2a45020019-b9ff1c12adcb-5
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:01 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19edb3b36a1000701b.003 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 18 Jun 2026 14:55:51 +0000
Received: from bazzite.gpn.vates.fr (88-188-240-210.subs.proxad.net
 [88.188.240.210]) (Authenticated sender: teddy.astie@vates.tech)
 by mail2.vates.fr (Postfix) with ESMTPSA id E226686962;
 Thu, 18 Jun 2026 16:55:50 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=Fly1gc7Vqv+BO0EYHJiZ8E3p8YnSNPkkXYEzHm0nrEA=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=nr9GOOZvgA3vzeU5qIkvQnTydxFJNsSDxHP0+IFYuf8+UvBCRA4eeV3fHHUVe89Xf7f6ZBTd+
 UPdcFL3e4AjXTP/C1dHVGqlErY8c3c6auhSV0slxGrFEbQ3mNILbIyggzYLG1odOgQJEOkqcQmr
 o7QNIUy+Iv2OYvCXmiUdKFfjitK0SHCMaFmtrA3ruVyuM+1QMVhO1Zo99RYXXwuUBc/qz4O9T2i
 8ZNKzK+qY3qUL83Hbxk4TCK9S68ZbAd0XEsADTOJpyQEUpUVnXL9Q9xevCAzQ6qlw2cpOEtFLMu
 e4Gl9Sl3/NVHFPzoEAVvOGmi2EVdiv+C4IeJ0Civmb4g==
X-Zone-Loop: 1c59d048eff1e2211a17efb08f5e69e462764e491163
x-campaign-type: default
x-transaction-id: 812e8221-129e-4c82-ab95-a72b3430ad4a
x-swg-uid: 01-aa097cc6-9803-4001-ad2b-2e2919e7b80c
X-Mailer: Sweego
Message-ID:
 <1781794551.8631fc262581453bbf619ec5b2062170.19edb3b36a1000701b@vates.tech>
x-swg-bid: 1781794551.8631fc262581453bbf619ec5b2062170.19edb3b36a1000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
From: Teddy Astie <teddy.astie@vates.tech>
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 02/15] vtd: Use pci_sbdf_t in acpi_parse_dev_scope()
Date: Thu, 18 Jun 2026 16:50:26 +0200
In-Reply-To: <cover.1781790171.git.teddy.astie@vates.tech>
References: <cover.1781790171.git.teddy.astie@vates.tech>
MIME-Version: 1.0
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.689.de44f08d477252d.19edb3b350e.28553791433b515b=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781794551054
X-purgate-ID: tlsNG-720697/1781794561-4E4623F3-A8DD486C/0/0
X-purgate-type: clean
X-purgate-size: 6353

---=Part.689.de44f08d477252d.19edb3b350e.28553791433b515b=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Use a dedicated pci_sbdf_t struct that we update instead of recreating
one each time we need it=2E

No functional change intended=2E

Signed-off-by: Teddy Astie <teddy=2Eastie@vates=2Etech>
---
 xen/drivers/passthrough/vtd/dmar=2Ec | 43 ++++++++++++------------------
 1 file changed, 17 insertions(+), 26 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/dmar=2Ec b/xen/drivers/passthroug=
h/vtd/dmar=2Ec
index 2a756831a6=2E=2E71e5a51a58 100644
--- a/xen/drivers/passthrough/vtd/dmar=2Ec
+++ b/xen/drivers/passthrough/vtd/dmar=2Ec
@@ -310,7 +310,7 @@ static int __init acpi_parse_dev_scope(
 {
     struct acpi_ioapic_unit *acpi_ioapic_unit;
     const struct acpi_dmar_device_scope *acpi_scope;
-    u16 bus, sub_bus, sec_bus;
+    u16 sub_bus, sec_bus;
     const struct acpi_dmar_pci_path *path;
     struct acpi_drhd_unit *drhd =3D type =3D=3D DMAR_TYPE ?
         container_of(scope, struct acpi_drhd_unit, scope) : NULL;
@@ -332,29 +332,27 @@ static int __init acpi_parse_dev_scope(
=20
     while ( start < end )
     {
+        pci_sbdf_t dev_sbdf;
         acpi_scope =3D start;
         path =3D (const void *)(acpi_scope + 1);
         depth =3D (acpi_scope->length - sizeof(*acpi_scope)) / sizeof(*pa=
th);
-        bus =3D acpi_scope->bus;
+        dev_sbdf =3D PCI_SBDF(seg, acpi_scope->bus, path->dev, path->fn);
=20
         while ( --depth > 0 )
         {
-            bus =3D pci_conf_read8(PCI_SBDF(seg, bus, path->dev, path->fn=
),
-                                 PCI_SECONDARY_BUS);
+            dev_sbdf=2Ebus =3D pci_conf_read8(dev_sbdf, PCI_SECONDARY_BUS=
);
             path++;
+            dev_sbdf=2Edevfn =3D PCI_DEVFN(path->dev, path->fn);
         }
=20
         switch ( acpi_scope->entry_type )
         {
         case ACPI_DMAR_SCOPE_TYPE_BRIDGE:
-            sec_bus =3D pci_conf_read8(PCI_SBDF(seg, bus, path->dev, path=
->fn),
-                                     PCI_SECONDARY_BUS);
-            sub_bus =3D pci_conf_read8(PCI_SBDF(seg, bus, path->dev, path=
->fn),
-                                     PCI_SUBORDINATE_BUS);
+            sec_bus =3D pci_conf_read8(dev_sbdf, PCI_SECONDARY_BUS);
+            sub_bus =3D pci_conf_read8(dev_sbdf, PCI_SUBORDINATE_BUS);
             if ( iommu_verbose )
                 printk(VTDPREFIX " bridge: %pp start=3D%x sec=3D%x sub=3D=
%x\n",
-                       &PCI_SBDF(seg, bus, path->dev, path->fn),
-                       acpi_scope->bus, sec_bus, sub_bus);
+                       &dev_sbdf, acpi_scope->bus, sec_bus, sub_bus);
=20
             dmar_scope_add_buses(scope, sec_bus, sub_bus);
             gfx_only =3D false;
@@ -362,8 +360,7 @@ static int __init acpi_parse_dev_scope(
=20
         case ACPI_DMAR_SCOPE_TYPE_HPET:
             if ( iommu_verbose )
-                printk(VTDPREFIX " MSI HPET: %pp\n",
-                       &PCI_SBDF(seg, bus, path->dev, path->fn));
+                printk(VTDPREFIX " MSI HPET: %pp\n", &dev_sbdf);
=20
             if ( drhd )
             {
@@ -374,9 +371,7 @@ static int __init acpi_parse_dev_scope(
                 if ( !acpi_hpet_unit )
                     goto out;
                 acpi_hpet_unit->id =3D acpi_scope->enumeration_id;
-                acpi_hpet_unit->bus =3D bus;
-                acpi_hpet_unit->dev =3D path->dev;
-                acpi_hpet_unit->func =3D path->fn;
+                acpi_hpet_unit->bdf =3D dev_sbdf=2Ebdf;
                 list_add(&acpi_hpet_unit->list, &drhd->hpet_list);
=20
                 gfx_only =3D false;
@@ -386,16 +381,15 @@ static int __init acpi_parse_dev_scope(
=20
         case ACPI_DMAR_SCOPE_TYPE_ENDPOINT:
             if ( iommu_verbose )
-                printk(VTDPREFIX " endpoint: %pp\n",
-                       &PCI_SBDF(seg, bus, path->dev, path->fn));
+                printk(VTDPREFIX " endpoint: %pp\n", &dev_sbdf);
=20
-            if ( drhd && pci_device_detect(seg, bus, path->dev, path->fn)=
 )
+            if ( drhd && pci_device_detect(seg, dev_sbdf=2Ebus, dev_sbdf=
=2Edev, dev_sbdf=2Efn) )
             {
-                if ( pci_conf_read8(PCI_SBDF(seg, bus, path->dev, path->f=
n),
+                if ( pci_conf_read8(dev_sbdf,
                                     PCI_CLASS_DEVICE + 1) !=3D 0x03
                                     /* PCI_BASE_CLASS_DISPLAY */ )
                     gfx_only =3D false;
-                else if ( !seg && !bus && path->dev =3D=3D 2 && !path->fn=
 )
+                else if ( !seg && !dev_sbdf=2Ebus && path->dev =3D=3D 2 &=
& !path->fn )
                     igd_drhd_address =3D drhd->address;
             }
=20
@@ -403,8 +397,7 @@ static int __init acpi_parse_dev_scope(
=20
         case ACPI_DMAR_SCOPE_TYPE_IOAPIC:
             if ( iommu_verbose )
-                printk(VTDPREFIX " IOAPIC: %pp\n",
-                       &PCI_SBDF(seg, bus, path->dev, path->fn));
+                printk(VTDPREFIX " IOAPIC: %pp\n", &dev_sbdf);
=20
             if ( drhd )
             {
@@ -413,9 +406,7 @@ static int __init acpi_parse_dev_scope(
                 if ( !acpi_ioapic_unit )
                     goto out;
                 acpi_ioapic_unit->apic_id =3D acpi_scope->enumeration_id;
-                acpi_ioapic_unit->ioapic=2Ebdf=2Ebus =3D bus;
-                acpi_ioapic_unit->ioapic=2Ebdf=2Edev =3D path->dev;
-                acpi_ioapic_unit->ioapic=2Ebdf=2Efunc =3D path->fn;
+                acpi_ioapic_unit->ioapic=2Einfo =3D dev_sbdf=2Ebdf;
                 list_add(&acpi_ioapic_unit->list, &drhd->ioapic_list);
=20
                 gfx_only =3D false;
@@ -431,7 +422,7 @@ static int __init acpi_parse_dev_scope(
             gfx_only =3D false;
             continue;
         }
-        scope->devices[didx++] =3D PCI_BDF(bus, path->dev, path->fn);
+        scope->devices[didx++] =3D dev_sbdf=2Ebdf;
         start +=3D acpi_scope->length;
     }
=20
--=20
2=2E54=2E0



-- 
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates s=
olutions

web: https://vates=2Etech
---=Part.689.de44f08d477252d.19edb3b350e.28553791433b515b=---


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 14:56:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 14:56:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341263.1601737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waEA2-0007pt-5z; Thu, 18 Jun 2026 14:56:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341263.1601737; Thu, 18 Jun 2026 14:56: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 1waEA2-0007pm-2x; Thu, 18 Jun 2026 14:56:06 +0000
Received: by outflank-mailman (input) for mailman id 1341263;
 Thu, 18 Jun 2026 14:56:05 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b3983000701b@swg.vates.tech>)
 id 1waEA1-0007oQ-3C
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:56:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waEA0-002MfF-GB
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 16:56:04 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b3983000701b@swg.vates.tech>)
 id 6a3406fe-2eae-0a2a0a5409dd-0a2a4502e5c8-20
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:04 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b3983000701b@swg.vates.tech>)
 id 6a3406fe-fdf1-0a2a45020019-b9ff1c12adcb-6
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:04 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19edb3b3983000701b.005 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 18 Jun 2026 14:55:52 +0000
Received: from bazzite.gpn.vates.fr (88-188-240-210.subs.proxad.net
 [88.188.240.210]) (Authenticated sender: teddy.astie@vates.tech)
 by mail2.vates.fr (Postfix) with ESMTPSA id 8860386962;
 Thu, 18 Jun 2026 16:55:51 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=DBXVzWUdKqv4XO+RwbxBSOuwbDBuwHpdIwUWgwnpbuM=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=JJdY7eeZFydmv0w7QgIHKjGlfIfOeApOKh0LNFHUC3wm5w69T+yxHulzcZoSkSR02URZvuBp7
 Qph3J6SuV0wUyL5yL9CwdLIqLjWm8KxgfNI0Y6VLvEbhLiQc3Oz1P4IgwLQBZYzMurGY30jIoE0
 5zL63L9xG+NlVxnyz3YomYBh7YABxluL5Qh40cYYci9pws0TFcv3A41m/b/k9G8IwasGu0Okesm
 BnyPO1ldL98+qwfGkfN2FdfuooJiQC5IpXra8ohHNL9spq2BxHTUb89ZsTN/TUhYoMpMVr7P+UA
 mwT6VRACumlIyhXEmVEi/b7jroO8d0ABLyts7HpS61bQ==
X-Zone-Loop: b16db836eb1ae6115f66dcb0ab6af920c3d7b2e0f7d0
x-campaign-type: default
x-transaction-id: aa0583de-7335-47cc-b90c-e3fcac6fddce
x-swg-uid: 01-79444b43-3221-4b1e-91d1-54d754b22dc5
X-Mailer: Sweego
Message-ID:
 <1781794552.8631fc262581453bbf619ec5b2062170.19edb3b3983000701b@vates.tech>
x-swg-bid: 1781794552.8631fc262581453bbf619ec5b2062170.19edb3b3983000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
From: Teddy Astie <teddy.astie@vates.tech>
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>,
	Andrew Cooper <andrew.cooper3@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 03/15] pci: Use pci_sbdf_t in pci_device_detect()
Date: Thu, 18 Jun 2026 16:50:27 +0200
In-Reply-To: <cover.1781790171.git.teddy.astie@vates.tech>
References: <cover.1781790171.git.teddy.astie@vates.tech>
MIME-Version: 1.0
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.68a.f1546dc533ada7c4.19edb3b37ce.ca02ebdabd7bb6a2=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781794551759
X-purgate-ID: tlsNG-720697/1781794564-3FFD33F3-565BE87B/0/0
X-purgate-type: clean
X-purgate-size: 10828

---=Part.68a.f1546dc533ada7c4.19edb3b37ce.ca02ebdabd7bb6a2=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Use a single pci_sbdf_t instead of each of its part as individual parameter=
s=2E

ehci-dbgp will now parse a PCI segment (if specified), even if it's not us=
ed afterward=2E

Signed-off-by: Teddy Astie <teddy=2Eastie@vates=2Etech>
---
 xen/drivers/char/ehci-dbgp=2Ec       | 33 ++++++++++++++----------------
 xen/drivers/passthrough/pci=2Ec      | 16 +++++++--------
 xen/drivers/passthrough/vtd/dmar=2Ec | 33 ++++++++++++------------------
 xen/include/xen/pci=2Eh              |  2 +-
 4 files changed, 37 insertions(+), 47 deletions(-)

diff --git a/xen/drivers/char/ehci-dbgp=2Ec b/xen/drivers/char/ehci-dbgp=
=2Ec
index a5c79f56fc=2E=2E27bcff0a8f 100644
--- a/xen/drivers/char/ehci-dbgp=2Ec
+++ b/xen/drivers/char/ehci-dbgp=2Ec
@@ -681,16 +681,14 @@ static int dbgp_control_msg(struct ehci_dbgp *dbgp, =
unsigned int devnum,
     return ret;
 }
=20
-static unsigned int __init __find_dbgp(u8 bus, u8 slot, u8 func)
+static unsigned int __init __find_dbgp(pci_sbdf_t sbdf)
 {
-    uint32_t class =3D pci_conf_read32(PCI_SBDF(0, bus, slot, func),
-                                     PCI_CLASS_REVISION);
+    uint32_t class =3D pci_conf_read32(sbdf, PCI_CLASS_REVISION);
=20
     if ( (class >> 8) !=3D PCI_CLASS_SERIAL_USB_EHCI )
         return 0;
=20
-    return pci_find_cap_offset(PCI_SBDF(0, bus, slot, func),
-                               PCI_CAP_ID_EHCI_DEBUG);
+    return pci_find_cap_offset(sbdf, PCI_CAP_ID_EHCI_DEBUG);
 }
=20
 static unsigned int __init find_dbgp(struct ehci_dbgp *dbgp,
@@ -704,20 +702,20 @@ static unsigned int __init find_dbgp(struct ehci_dbg=
p *dbgp,
         {
             for ( func =3D 0; func < 8; func++ )
             {
+                pci_sbdf_t sbdf =3D PCI_SBDF(0, bus, slot, func);
                 unsigned int cap;
=20
-                if ( !pci_device_detect(0, bus, slot, func) )
+                if ( !pci_device_detect(sbdf) )
                 {
                     if ( !func )
                         break;
                     continue;
                 }
=20
-                cap =3D __find_dbgp(bus, slot, func);
+                cap =3D __find_dbgp(sbdf);
                 if ( !cap || ehci_num-- )
                 {
-                    if ( !func && !(pci_conf_read8(PCI_SBDF(0, bus, slot,=
 func),
-                                                   PCI_HEADER_TYPE) & 0x8=
0) )
+                    if ( !func && !(pci_conf_read8(sbdf, PCI_HEADER_TYPE)=
 & 0x80) )
                         break;
                     continue;
                 }
@@ -1510,25 +1508,24 @@ void __init ehci_dbgp_init(void)
     }
     else if ( strncmp(opt_dbgp + 4, "@pci", 4) =3D=3D 0 )
     {
-        unsigned int bus, slot, func;
+        pci_sbdf_t sbdf =3D PCI_SBDF(0, 0, 0, 0);
=20
-        e =3D parse_pci(opt_dbgp + 8, NULL, &bus, &slot, &func);
+        e =3D parse_pci_sbdf(opt_dbgp + 8, &sbdf);
         if ( !e || *e )
             return;
=20
-        dbgp->bus =3D bus;
-        dbgp->slot =3D slot;
-        dbgp->func =3D func;
+        dbgp->bus =3D sbdf=2Ebus;
+        dbgp->slot =3D sbdf=2Edev;
+        dbgp->func =3D sbdf=2Efn;
=20
-        if ( !pci_device_detect(0, bus, slot, func) )
+        if ( !pci_device_detect(sbdf) )
             return;
=20
-        dbgp->cap =3D __find_dbgp(bus, slot, func);
+        dbgp->cap =3D __find_dbgp(sbdf);
         if ( !dbgp->cap )
             return;
=20
-        dbgp_printk("Using EHCI debug port on %02x:%02x=2E%u\n",
-                    bus, slot, func);
+        dbgp_printk("Using EHCI debug port on %pp\n", &sbdf);
     }
     else
         return;
diff --git a/xen/drivers/passthrough/pci=2Ec b/xen/drivers/passthrough/pci=
=2Ec
index d37ceb7b6c=2E=2E7b09c9a7cd 100644
--- a/xen/drivers/passthrough/pci=2Ec
+++ b/xen/drivers/passthrough/pci=2Ec
@@ -1166,11 +1166,11 @@ out:
     return ret;
 }
=20
-bool __init pci_device_detect(u16 seg, u8 bus, u8 dev, u8 func)
+bool __init pci_device_detect(pci_sbdf_t sbdf)
 {
     u32 vendor;
=20
-    vendor =3D pci_conf_read32(PCI_SBDF(seg, bus, dev, func), PCI_VENDOR_=
ID);
+    vendor =3D pci_conf_read32(sbdf, PCI_VENDOR_ID);
     /* some broken boards return 0 or ~0 if a slot is empty: */
     if ( (vendor =3D=3D 0xffffffffU) || (vendor =3D=3D 0x00000000U) ||
          (vendor =3D=3D 0x0000ffffU) || (vendor =3D=3D 0xffff0000U) )
@@ -1221,24 +1221,24 @@ static int __init cf_check _scan_pci_devices(struc=
t pci_seg *pseg, void *arg)
         {
             for ( func =3D 0; func < 8; func++ )
             {
-                if ( !pci_device_detect(pseg->nr, bus, dev, func) )
+                pci_sbdf_t sbdf =3D PCI_SBDF(pseg->nr, bus, dev, func);
+
+                if ( !pci_device_detect(sbdf) )
                 {
                     if ( !func )
                         break;
                     continue;
                 }
=20
-                pdev =3D alloc_pdev(pseg, bus, PCI_DEVFN(dev, func));
+                pdev =3D alloc_pdev(pseg, bus, sbdf=2Edevfn);
                 if ( !pdev )
                 {
                     printk(XENLOG_WARNING "%pp: alloc_pdev failed\n",
-                           &PCI_SBDF(pseg->nr, bus, dev, func));
+                           &sbdf);
                     return -ENOMEM;
                 }
=20
-                if ( !func && !(pci_conf_read8(PCI_SBDF(pseg->nr, bus, de=
v,
-                                                        func),
-                                               PCI_HEADER_TYPE) & 0x80) )
+                if ( !func && !(pci_conf_read8(sbdf, PCI_HEADER_TYPE) & 0=
x80) )
                     break;
             }
         }
diff --git a/xen/drivers/passthrough/vtd/dmar=2Ec b/xen/drivers/passthroug=
h/vtd/dmar=2Ec
index 71e5a51a58=2E=2E61269c7e0d 100644
--- a/xen/drivers/passthrough/vtd/dmar=2Ec
+++ b/xen/drivers/passthrough/vtd/dmar=2Ec
@@ -383,7 +383,7 @@ static int __init acpi_parse_dev_scope(
             if ( iommu_verbose )
                 printk(VTDPREFIX " endpoint: %pp\n", &dev_sbdf);
=20
-            if ( drhd && pci_device_detect(seg, dev_sbdf=2Ebus, dev_sbdf=
=2Edev, dev_sbdf=2Efn) )
+            if ( drhd && pci_device_detect(dev_sbdf) )
             {
                 if ( pci_conf_read8(dev_sbdf,
                                     PCI_CLASS_DEVICE + 1) !=3D 0x03
@@ -506,7 +506,6 @@ acpi_parse_one_drhd(struct acpi_dmar_header *header)
         acpi_register_drhd_unit(dmaru);
     else
     {
-        u8 b, d, f;
         unsigned int i =3D 0;
         union {
             const void *raw;
@@ -520,18 +519,16 @@ acpi_parse_one_drhd(struct acpi_dmar_header *header)
         for ( p=2Eraw =3D dev_scope_start; i < dmaru->scope=2Edevices_cnt=
;
               i++, p=2Eraw +=3D p=2Escope->length )
         {
+            pci_sbdf_t sbdf =3D PCI_SBDF(drhd->segment, dmaru->scope=2Ede=
vices[i]);
+
             if ( p=2Escope->entry_type =3D=3D ACPI_DMAR_SCOPE_TYPE_IOAPIC=
 ||
                  p=2Escope->entry_type =3D=3D ACPI_DMAR_SCOPE_TYPE_HPET )
                 continue;
=20
-            b =3D PCI_BUS(dmaru->scope=2Edevices[i]);
-            d =3D PCI_SLOT(dmaru->scope=2Edevices[i]);
-            f =3D PCI_FUNC(dmaru->scope=2Edevices[i]);
-
-            if ( !pci_device_detect(drhd->segment, b, d, f) )
+            if ( !pci_device_detect(sbdf) )
                 printk(XENLOG_WARNING VTDPREFIX
                        " Non-existent device (%pp) in this DRHD's scope!\=
n",
-                       &PCI_SBDF(drhd->segment, b, d, f));
+                       &sbdf);
         }
=20
         acpi_register_drhd_unit(dmaru);
@@ -560,17 +557,14 @@ static int __init register_one_rmrr(struct acpi_rmrr=
_unit *rmrru)
=20
     for ( ; i < rmrru->scope=2Edevices_cnt; i++ )
     {
-        u8 b =3D PCI_BUS(rmrru->scope=2Edevices[i]);
-        u8 d =3D PCI_SLOT(rmrru->scope=2Edevices[i]);
-        u8 f =3D PCI_FUNC(rmrru->scope=2Edevices[i]);
+        pci_sbdf_t sbdf =3D PCI_SBDF(rmrru->segment, rmrru->scope=2Edevic=
es[i]);
=20
-        if ( pci_device_detect(rmrru->segment, b, d, f) =3D=3D 0 )
+        if ( pci_device_detect(sbdf) =3D=3D 0 )
         {
             dprintk(XENLOG_WARNING VTDPREFIX,
                     " Non-existent device (%pp) is reported"
                     " in RMRR [%"PRIx64", %"PRIx64"]'s scope!\n",
-                    &PCI_SBDF(rmrru->segment, b, d, f),
-                    rmrru->base_address, rmrru->end_address);
+                    &sbdf, rmrru->base_address, rmrru->end_address);
             ignore =3D true;
         }
         else
@@ -754,15 +748,13 @@ static int __init register_one_satc(struct acpi_satc=
_unit *satcu)
=20
     for ( ; i < satcu->scope=2Edevices_cnt; i++ )
     {
-        uint8_t b =3D PCI_BUS(satcu->scope=2Edevices[i]);
-        uint8_t d =3D PCI_SLOT(satcu->scope=2Edevices[i]);
-        uint8_t f =3D PCI_FUNC(satcu->scope=2Edevices[i]);
+        pci_sbdf_t sbdf =3D PCI_SBDF(satcu->segment, satcu->scope=2Edevic=
es[i]);
=20
-        if ( !pci_device_detect(satcu->segment, b, d, f) )
+        if ( !pci_device_detect(sbdf) )
         {
             dprintk(XENLOG_WARNING VTDPREFIX,
                     " Non-existent device (%pp) is reported in SATC scope=
!\n",
-                    &PCI_SBDF(satcu->segment, b, d, f));
+                    &sbdf);
             ignore =3D true;
         }
         else
@@ -1185,8 +1177,9 @@ int cf_check intel_iommu_get_reserved_device_memory(
 static int __init cf_check parse_rmrr_param(const char *str)
 {
     const char *s =3D str, *cur, *stmp;
-    unsigned int seg, bus, dev, func, dev_count;
+    unsigned int dev_count;
     unsigned long start, end;
+    pci_sbdf_t sbdf;
=20
     do {
         if ( nr_rmrr >=3D MAX_USER_RMRR )
diff --git a/xen/include/xen/pci=2Eh b/xen/include/xen/pci=2Eh
index 7bfc59cd75=2E=2Ed816dcad05 100644
--- a/xen/include/xen/pci=2Eh
+++ b/xen/include/xen/pci=2Eh
@@ -218,7 +218,7 @@ static always_inline bool pcidevs_trylock(void)
 #endif
=20
 bool pci_known_segment(u16 seg);
-bool pci_device_detect(u16 seg, u8 bus, u8 dev, u8 func);
+bool pci_device_detect(pci_sbdf_t sbdf);
 int scan_pci_devices(void);
 enum pdev_type pdev_type(u16 seg, u8 bus, u8 devfn);
 int find_upstream_bridge(u16 seg, u8 *bus, u8 *devfn, u8 *secbus);
--=20
2=2E54=2E0



-- 
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates s=
olutions

web: https://vates=2Etech
---=Part.68a.f1546dc533ada7c4.19edb3b37ce.ca02ebdabd7bb6a2=---


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 14:56:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 14:56:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341265.1601747 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waEA6-00088x-D5; Thu, 18 Jun 2026 14:56:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341265.1601747; Thu, 18 Jun 2026 14:56:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waEA6-00088f-9x; Thu, 18 Jun 2026 14:56:10 +0000
Received: by outflank-mailman (input) for mailman id 1341265;
 Thu, 18 Jun 2026 14:56:09 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b3cc5000701b@swg.vates.tech>)
 id 1waEA4-00086E-UQ
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:56:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waEA4-002Mio-BG
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 16:56:08 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b3cc5000701b@swg.vates.tech>)
 id 6a3406fe-2eae-0a2a0a5409dd-0a2a4502e5c8-32
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:08 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b3cc5000701b@swg.vates.tech>)
 id 6a3406fe-fdf1-0a2a45020019-b9ff1c12adcb-7
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:08 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19edb3b3cc5000701b.006 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 18 Jun 2026 14:55:53 +0000
Received: from bazzite.gpn.vates.fr (88-188-240-210.subs.proxad.net
 [88.188.240.210]) (Authenticated sender: teddy.astie@vates.tech)
 by mail2.vates.fr (Postfix) with ESMTPSA id 3720A869D9;
 Thu, 18 Jun 2026 16:55:52 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=K9Q4CRnTAmbWQ7114fJLEbNqXKgqpoMIMxIyQOFLg4o=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=BP6qL5c957PMLtrChf5bU4hGYeP6u10fz1efKRjLa3jwmbZLNZi6A1q1/QV2oHJ4rbcqpcgxm
 42VSGLpZs+MtqRnzxIoVTRdEYPfcy1KJTPtEUVr3m9AcOYp1TLSVPSpVE/maRCzqZrAgdIcj2RS
 vn72e30BTD/W6Qv4SqvLZF2DSjiJltR7br7Ks9uGdZeHHoTzq+kb58EXYkYQ9GTyyecS5oIkWgT
 G3SA84kmTCq5KCw7pCTV219yvPxIz95E8144qttdcMzns6mNL0QWzwGF4Ks1ktH0LI0V1ijE8Fq
 9ocfmpwfuaKJl3VVB6zjkMUDOunBqFUe50lYX1Vz9aPQ==
X-Zone-Loop: 704d3995985586febc16bd58b09d7ee55e35042793bf
x-campaign-type: default
x-transaction-id: 1d69445b-a262-4968-95e2-3c70b266cf76
x-swg-uid: 01-761dd354-271b-4a45-aa1c-b01c9da66751
X-Mailer: Sweego
Message-ID:
 <1781794553.8631fc262581453bbf619ec5b2062170.19edb3b3cc5000701b@vates.tech>
x-swg-bid: 1781794553.8631fc262581453bbf619ec5b2062170.19edb3b3cc5000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
From: Teddy Astie <teddy.astie@vates.tech>
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>,
	Andrew Cooper <andrew.cooper3@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>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [PATCH v2 04/15] pci: Parse into pci_sbdf_t directly
Date: Thu, 18 Jun 2026 16:50:28 +0200
In-Reply-To: <cover.1781790171.git.teddy.astie@vates.tech>
References: <cover.1781790171.git.teddy.astie@vates.tech>
MIME-Version: 1.0
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.68b.470017f96fb809ce.19edb3b3a7d.887488f01faad9e2=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781794552445
X-purgate-ID: tlsNG-720697/1781794568-4F07C3F3-79E178B3/0/0
X-purgate-type: clean
X-purgate-size: 9094

---=Part.68b.470017f96fb809ce.19edb3b3a7d.887488f01faad9e2=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Use the newly introduced parse_pci_sbdf() and parse_pci_sbdf_seg() in order
to parse into a pci_sbdf_t directly instead of reconstructing it afterward=
=2E

Signed-off-by: Teddy Astie <teddy=2Eastie@vates=2Etech>
---
 xen/drivers/char/ns16550=2Ec               | 24 +++++++++++-----------
 xen/drivers/char/xhci-dbc=2Ec              |  6 +++---
 xen/drivers/passthrough/amd/iommu_acpi=2Ec | 26 ++++++++++++------------
 xen/drivers/passthrough/vtd/dmar=2Ec       |  7 +++----
 4 files changed, 31 insertions(+), 32 deletions(-)

diff --git a/xen/drivers/char/ns16550=2Ec b/xen/drivers/char/ns16550=2Ec
index 878da27f2e=2E=2Efa2d0e5991 100644
--- a/xen/drivers/char/ns16550=2Ec
+++ b/xen/drivers/char/ns16550=2Ec
@@ -1572,22 +1572,22 @@ static bool __init parse_positional(struct ns16550=
 *uart, char **str)
 #ifdef CONFIG_HAS_PCI
     if ( *conf =3D=3D ',' && *++conf !=3D ',' )
     {
-        unsigned int b, d, f;
+        pci_sbdf_t sbdf;
=20
-        conf =3D parse_pci(conf, NULL, &b, &d, &f);
+        conf =3D parse_pci_sbdf(conf, &sbdf);
         if ( !conf )
             PARSE_ERR_RET("Bad port PCI coordinates");
-        uart->pci_device =3D PCI_SBDF(0, b, d, f);
+        uart->pci_device =3D sbdf;
         uart->ps_bdf_enable =3D true;
     }
=20
     if ( *conf =3D=3D ',' && *++conf !=3D ',' )
     {
-        unsigned int b, d, f;
+        pci_sbdf_t sbdf;
=20
-        if ( !parse_pci(conf, NULL, &b, &d, &f) )
+        if ( !parse_pci_sbdf(conf, &sbdf) )
             PARSE_ERR_RET("Bad bridge PCI coordinates");
-        uart->pci_bridge =3D PCI_SBDF(0, b, d, f);
+        uart->pci_bridge =3D sbdf;
         uart->pb_bdf_enable =3D true;
     }
 #endif
@@ -1671,22 +1671,22 @@ static bool __init parse_namevalue_pairs(char *str=
, struct ns16550 *uart)
=20
         case port_bdf:
         {
-            unsigned int b, d, f;
+            pci_sbdf_t sbdf;
=20
-            if ( !parse_pci(param_value, NULL, &b, &d, &f) )
+            if ( !parse_pci_sbdf(param_value, &sbdf) )
                 PARSE_ERR_RET("Bad port PCI coordinates\n");
-            uart->pci_device =3D PCI_SBDF(0, b, d, f);
+            uart->pci_device =3D sbdf;
             uart->ps_bdf_enable =3D true;
             break;
         }
=20
         case bridge_bdf:
         {
-            unsigned int b, d, f;
+            pci_sbdf_t sbdf;
=20
-            if ( !parse_pci(param_value, NULL, &b, &d, &f) )
+            if ( !parse_pci_sbdf(param_value, &sbdf) )
                 PARSE_ERR_RET("Bad bridge PCI coordinates\n");
-            uart->pci_bridge =3D PCI_SBDF(0, b, d, f);
+            uart->pci_bridge =3D sbdf;
             uart->pb_bdf_enable =3D true;
             break;
         }
diff --git a/xen/drivers/char/xhci-dbc=2Ec b/xen/drivers/char/xhci-dbc=2Ec
index c1ff528de6=2E=2Ec7fd554be0 100644
--- a/xen/drivers/char/xhci-dbc=2Ec
+++ b/xen/drivers/char/xhci-dbc=2Ec
@@ -1357,9 +1357,9 @@ static int __init cf_check xhci_parse_dbgp(const cha=
r *opt_dbgp)
     }
     else if ( strncmp(opt_dbgp + 4, "@pci", 4) =3D=3D 0 )
     {
-        unsigned int bus, slot, func;
+        pci_sbdf_t sbdf;
=20
-        e =3D parse_pci(opt_dbgp + 8, NULL, &bus, &slot, &func);
+        e =3D parse_pci_sbdf(opt_dbgp + 8, &sbdf);
         if ( !e || (*e && *e !=3D ',') )
         {
             printk(XENLOG_ERR
@@ -1368,7 +1368,7 @@ static int __init cf_check xhci_parse_dbgp(const cha=
r *opt_dbgp)
             return -EINVAL;
         }
=20
-        dbc->sbdf =3D PCI_SBDF(0, bus, slot, func);
+        dbc->sbdf =3D sbdf;
     }
     opt =3D e;
=20
diff --git a/xen/drivers/passthrough/amd/iommu_acpi=2Ec b/xen/drivers/pass=
through/amd/iommu_acpi=2Ec
index 39ae637959=2E=2E7b40da33ae 100644
--- a/xen/drivers/passthrough/amd/iommu_acpi=2Ec
+++ b/xen/drivers/passthrough/amd/iommu_acpi=2Ec
@@ -682,8 +682,8 @@ static int __init cf_check parse_ivrs_ioapic(const cha=
r *str)
 {
     const char *s =3D str;
     unsigned long id;
-    unsigned int seg, bus, dev, func;
     unsigned int idx;
+    pci_sbdf_t sbdf;
=20
     if ( *s !=3D '[' )
         return -EINVAL;
@@ -692,7 +692,7 @@ static int __init cf_check parse_ivrs_ioapic(const cha=
r *str)
     if ( *s !=3D ']' || *++s !=3D '=3D' )
         return -EINVAL;
=20
-    s =3D parse_pci(s + 1, &seg, &bus, &dev, &func);
+    s =3D parse_pci_sbdf(s + 1, &sbdf);
     if ( !s || *s )
         return -EINVAL;
=20
@@ -707,7 +707,7 @@ static int __init cf_check parse_ivrs_ioapic(const cha=
r *str)
         }
     }
=20
-    ioapic_sbdf[idx]=2Esbdf =3D PCI_SBDF(seg, bus, dev, func);
+    ioapic_sbdf[idx]=2Esbdf =3D sbdf;
     ioapic_sbdf[idx]=2Eid =3D id;
     ioapic_sbdf[idx]=2Ecmdline =3D true;
=20
@@ -719,7 +719,7 @@ static int __init cf_check parse_ivrs_hpet(const char =
*str)
 {
     const char *s =3D str;
     unsigned long id;
-    unsigned int seg, bus, dev, func;
+    pci_sbdf_t sbdf;
=20
     if ( *s !=3D '[' )
         return -EINVAL;
@@ -728,12 +728,12 @@ static int __init cf_check parse_ivrs_hpet(const cha=
r *str)
     if ( id !=3D (typeof(hpet_sbdf=2Eid))id || *s !=3D ']' || *++s !=3D '=
=3D' )
         return -EINVAL;
=20
-    s =3D parse_pci(s + 1, &seg, &bus, &dev, &func);
+    s =3D parse_pci_sbdf(s + 1, &sbdf);
     if ( !s || *s )
         return -EINVAL;
=20
     hpet_sbdf=2Eid =3D id;
-    hpet_sbdf=2Esbdf =3D PCI_SBDF(seg, bus, dev, func);
+    hpet_sbdf=2Esbdf =3D sbdf;
     hpet_sbdf=2Einit =3D HPET_CMDL;
=20
     return 0;
@@ -1399,13 +1399,13 @@ static int __init cf_check parse_ivmd_param(const =
char *s)
         }
=20
         do {
-            unsigned int seg, bus, dev, func;
+            pci_sbdf_t sbdf;
=20
             if ( nr_ivmd >=3D ARRAY_SIZE(user_ivmds) )
                 return -E2BIG;
=20
-            s =3D parse_pci(s + 1, &seg, &bus, &dev, &func);
-            if ( !s || seg )
+            s =3D parse_pci_sbdf(s + 1, &sbdf);
+            if ( !s || sbdf=2Eseg )
                 return -EINVAL;
=20
             user_ivmds[nr_ivmd]=2Estart_address =3D start << PAGE_SHIFT;
@@ -1413,16 +1413,16 @@ static int __init cf_check parse_ivmd_param(const =
char *s)
             user_ivmds[nr_ivmd]=2Eheader=2Eflags =3D ACPI_IVMD_UNITY |
                                                ACPI_IVMD_READ | ACPI_IVMD=
_WRITE;
             user_ivmds[nr_ivmd]=2Eheader=2Elength =3D sizeof(*user_ivmds)=
;
-            user_ivmds[nr_ivmd]=2Eheader=2Edevice_id =3D PCI_BDF(bus, dev=
, func);
+            user_ivmds[nr_ivmd]=2Eheader=2Edevice_id =3D sbdf=2Ebdf;
             user_ivmds[nr_ivmd]=2Eheader=2Etype =3D ACPI_IVRS_TYPE_MEMORY=
_ONE;
=20
             if ( *s =3D=3D '-' )
             {
-                s =3D parse_pci(s + 1, &seg, &bus, &dev, &func);
-                if ( !s || seg )
+                s =3D parse_pci_sbdf(s + 1, &sbdf);
+                if ( !s || sbdf=2Eseg )
                     return -EINVAL;
=20
-                user_ivmds[nr_ivmd]=2Eaux_data =3D PCI_BDF(bus, dev, func=
);
+                user_ivmds[nr_ivmd]=2Eaux_data =3D sbdf=2Ebdf;
                 if ( user_ivmds[nr_ivmd]=2Eaux_data <
                      user_ivmds[nr_ivmd]=2Eheader=2Edevice_id )
                     return -EINVAL;
diff --git a/xen/drivers/passthrough/vtd/dmar=2Ec b/xen/drivers/passthroug=
h/vtd/dmar=2Ec
index 61269c7e0d=2E=2E2dd362410e 100644
--- a/xen/drivers/passthrough/vtd/dmar=2Ec
+++ b/xen/drivers/passthrough/vtd/dmar=2Ec
@@ -1216,7 +1216,7 @@ static int __init cf_check parse_rmrr_param(const ch=
ar *str)
         do {
             bool def_seg =3D false;
=20
-            stmp =3D parse_pci_seg(s + 1, &seg, &bus, &dev, &func, &def_s=
eg);
+            stmp =3D parse_pci_sbdf_seg(s + 1, &sbdf, &def_seg);
             if ( !stmp )
                 return -EINVAL;
=20
@@ -1225,12 +1225,11 @@ static int __init cf_check parse_rmrr_param(const =
char *str)
              * Segment will be replaced with one from first device=2E
              */
             if ( user_rmrrs[nr_rmrr]=2Edev_count && def_seg )
-                seg =3D PCI_SEG(user_rmrrs[nr_rmrr]=2Esbdf[0]);
+                sbdf=2Eseg =3D PCI_SEG(user_rmrrs[nr_rmrr]=2Esbdf[0]);
=20
             /* Keep sbdf's even if they differ and later report an error=
=2E */
             dev_count =3D user_rmrrs[nr_rmrr]=2Edev_count;
-            user_rmrrs[nr_rmrr]=2Esbdf[dev_count] =3D
-               PCI_SBDF(seg, bus, dev, func)=2Esbdf;
+            user_rmrrs[nr_rmrr]=2Esbdf[dev_count] =3D sbdf=2Esbdf;
=20
             user_rmrrs[nr_rmrr]=2Edev_count++;
             s =3D stmp;
--=20
2=2E54=2E0



-- 
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates s=
olutions

web: https://vates=2Etech
---=Part.68b.470017f96fb809ce.19edb3b3a7d.887488f01faad9e2=---


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 14:56:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 14:56:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341266.1601756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waEA8-0008Q8-Ku; Thu, 18 Jun 2026 14:56:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341266.1601756; Thu, 18 Jun 2026 14:56:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waEA8-0008Pv-HT; Thu, 18 Jun 2026 14:56:12 +0000
Received: by outflank-mailman (input) for mailman id 1341266;
 Thu, 18 Jun 2026 14:56:11 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b3fcc000701b@swg.vates.tech>)
 id 1waEA7-0008K1-BC
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:56:11 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waEA6-002Mio-OD
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 16:56:10 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b3fcc000701b@swg.vates.tech>)
 id 6a3406fe-2eae-0a2a0a5409dd-0a2a4502e5c8-46
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:10 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b3fcc000701b@swg.vates.tech>)
 id 6a3406fe-fdf1-0a2a45020019-b9ff1c12adcb-8
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:10 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19edb3b3fcc000701b.005 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 18 Jun 2026 14:55:53 +0000
Received: from bazzite.gpn.vates.fr (88-188-240-210.subs.proxad.net
 [88.188.240.210]) (Authenticated sender: teddy.astie@vates.tech)
 by mail2.vates.fr (Postfix) with ESMTPSA id 1A5B786345;
 Thu, 18 Jun 2026 16:55:53 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=Pv2yJwAGt5eCc1X5/3pBlouN6NinACU1qQspgZdulnw=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=hZ4al051c1+cdjEOzXgnrU1/UqV7oqNJmDp+/iR0JNjQcniTHVeFE6L5C1cgPn10lISWAelr1
 cE7yqcEIgDaNrcQOVarQqBMWUx0/rZmIDUImTnOIsgWi8cbRSYxrJSMLDKOiCo9on0bWnuFl+RR
 XOyyTjONy+MSF/BfsMsPr+ZxdFdEzAR33nCbsM9/4/3LcHzomAxfsEfeSVes8skg6EYG2SMpgf9
 65d5kqvd0JOVs/3VnTDmFsiICO7IC7uITVyWnWUT/s29gCP3Vj7ONl5cgkGbScEsfrVER+EKYip
 4ivoGL26FcvpQaQ8zKCXDjYH1PDyWu23MUlagei2Muzw==
X-Zone-Loop: 6784ace32865b80b1df9a0aeca55aa5831c1e067f1a3
x-campaign-type: default
x-transaction-id: 1f59fb53-37ae-4154-a4b1-8089f5ccb38f
x-swg-uid: 01-21705c0f-d806-43b0-94fa-fc658e3398f1
X-Mailer: Sweego
Message-ID:
 <1781794553.8631fc262581453bbf619ec5b2062170.19edb3b3fcc000701b@vates.tech>
x-swg-bid: 1781794553.8631fc262581453bbf619ec5b2062170.19edb3b3fcc000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
From: Teddy Astie <teddy.astie@vates.tech>
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	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 05/15] pci: Allow ommiting func when parsing with parse_pci_sbdf()
Date: Thu, 18 Jun 2026 16:50:29 +0200
In-Reply-To: <cover.1781790171.git.teddy.astie@vates.tech>
References: <cover.1781790171.git.teddy.astie@vates.tech>
MIME-Version: 1.0
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.68c.fdb7e6fd05dd5aea.19edb3b3ddb.38dcfe762cbd444=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781794553307
X-purgate-ID: tlsNG-720697/1781794570-4D66B3F3-101BD06A/0/0
X-purgate-type: clean
X-purgate-size: 2731

---=Part.68c.fdb7e6fd05dd5aea.19edb3b3ddb.38dcfe762cbd444=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Allow parsing PCI SBDF with the function part omitted (i=2Ee XXXX:YY:ZZ),
in such case, the parsed PCI function is zero=2E

That allows us to now use parse_pci_sbdf() in parse_phantom_dev()=2E

Signed-off-by: Teddy Astie <teddy=2Eastie@vates=2Etech>
---
 xen/drivers/passthrough/pci=2Ec | 10 +++++-----
 xen/drivers/pci/pci=2Ec         | 12 ++++--------
 2 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/xen/drivers/passthrough/pci=2Ec b/xen/drivers/passthrough/pci=
=2Ec
index 7b09c9a7cd=2E=2Ef222da8879 100644
--- a/xen/drivers/passthrough/pci=2Ec
+++ b/xen/drivers/passthrough/pci=2Ec
@@ -148,7 +148,7 @@ static unsigned int nr_phantom_devs;
 static int __init cf_check parse_phantom_dev(const char *str)
 {
     const char *s;
-    unsigned int seg, bus, slot;
+    pci_sbdf_t sbdf;
     struct phantom_dev phantom;
=20
     if ( !*str )
@@ -156,13 +156,13 @@ static int __init cf_check parse_phantom_dev(const c=
har *str)
     if ( nr_phantom_devs >=3D ARRAY_SIZE(phantom_devs) )
         return -E2BIG;
=20
-    s =3D parse_pci(str, &seg, &bus, &slot, NULL);
+    s =3D parse_pci_sbdf(str, &sbdf);
     if ( !s || *s !=3D ',' )
         return -EINVAL;
=20
-    phantom=2Eseg =3D seg;
-    phantom=2Ebus =3D bus;
-    phantom=2Eslot =3D slot;
+    phantom=2Eseg =3D sbdf=2Eseg;
+    phantom=2Ebus =3D sbdf=2Ebus;
+    phantom=2Eslot =3D sbdf=2Edev;
=20
     switch ( phantom=2Estride =3D simple_strtol(s + 1, &s, 0) )
     {
diff --git a/xen/drivers/pci/pci=2Ec b/xen/drivers/pci/pci=2Ec
index 1d06cb035b=2E=2Ea2b49f1b26 100644
--- a/xen/drivers/pci/pci=2Ec
+++ b/xen/drivers/pci/pci=2Ec
@@ -179,18 +179,14 @@ const char *__init parse_pci_seg(const char *s, unsi=
gned int *seg_p,
         seg =3D 0;
         *def_seg =3D true;
     }
+
     if ( func_p )
-    {
-        if ( *s !=3D '=2E' )
-            return NULL;
-        func =3D simple_strtoul(s + 1, &s, 0);
-    }
-    else
-        func =3D 0;
+        func =3D *s =3D=3D '=2E' ? simple_strtoul(s + 1, &s, 0) : 0;
+
     if ( seg !=3D (seg_p ? (u16)seg : 0) ||
          bus !=3D PCI_BUS(PCI_BDF(bus, 0)) ||
          dev !=3D PCI_SLOT(PCI_DEVFN(dev, 0)) ||
-         func !=3D PCI_FUNC(PCI_DEVFN(0, func)) )
+         func !=3D (func_p ? PCI_FUNC(PCI_DEVFN(0, func)) : 0) )
         return NULL;
=20
     if ( seg_p )
--=20
2=2E54=2E0



-- 
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates s=
olutions

web: https://vates=2Etech
---=Part.68c.fdb7e6fd05dd5aea.19edb3b3ddb.38dcfe762cbd444=---


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 14:56:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 14:56:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341269.1601766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waEAB-0000HQ-2B; Thu, 18 Jun 2026 14:56:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341269.1601766; Thu, 18 Jun 2026 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 1waEAA-0000H5-Sv; Thu, 18 Jun 2026 14:56:14 +0000
Received: by outflank-mailman (input) for mailman id 1341269;
 Thu, 18 Jun 2026 14:56:13 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b42ec000701b@swg.vates.tech>)
 id 1waEA9-00005v-RD
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:56:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waEA8-008siE-MW
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 16:56:12 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b42ec000701b@swg.vates.tech>)
 id 6a34070c-bab6-0a2a0a5309dd-0a2a45028f70-2
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:12 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b42ec000701b@swg.vates.tech>)
 id 6a3406fe-fdf1-0a2a45020019-b9ff1c12adcb-9
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:12 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19edb3b42ec000701b.004 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 18 Jun 2026 14:55:54 +0000
Received: from bazzite.gpn.vates.fr (88-188-240-210.subs.proxad.net
 [88.188.240.210]) (Authenticated sender: teddy.astie@vates.tech)
 by mail2.vates.fr (Postfix) with ESMTPSA id CE198869DC;
 Thu, 18 Jun 2026 16:55:53 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=donI7ob+qebqvL/IsvVd8K44UN+ipYEjH6LxQby9WvE=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=d/m5ls3vv2sGM1hasWwLyjMWbgRloo2wv8qq8yGwhtnorOGpsduhMKLsDgCb//BgBsrIymGqj
 tavnh2k31PehsKsFkYmeYBVfN8bRLvBh0cGSy8wdduLZzDeRQVTwBc5QbnEdS95Nlwz2l7t4kV8
 /8MVQSb/EKfPiqVtwItCIz47jX7ZeS8LnFZDJUqBR2J0AytUVrHi+ox6nM+h3cn/vzzNechOhIv
 AzJoM6gBhCRKaD5u+O/5I8xvhApf5jiaJL5SWP8picGOEsdkyG3O7d5PncUHDdZjQM9MrYhV6dW
 sktTszkMyPDm34HjafKOggwknSI2S/hDrGgY3y0SryQA==
X-Zone-Loop: 062ef221ef98a9c6beffb366ca67ed2654c1d480937f
x-campaign-type: default
x-transaction-id: 6a0c7468-c91c-4d6a-bf3c-3bed5e334895
x-swg-uid: 01-14d3b582-1776-4f46-b3bc-2c5748287d52
X-Mailer: Sweego
Message-ID:
 <1781794554.8631fc262581453bbf619ec5b2062170.19edb3b42ec000701b@vates.tech>
x-swg-bid: 1781794554.8631fc262581453bbf619ec5b2062170.19edb3b42ec000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
From: Teddy Astie <teddy.astie@vates.tech>
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v2 06/15] pci: Use pci_sbdf_t in pci_prepare_msix()
Date: Thu, 18 Jun 2026 16:50:30 +0200
In-Reply-To: <cover.1781790171.git.teddy.astie@vates.tech>
References: <cover.1781790171.git.teddy.astie@vates.tech>
MIME-Version: 1.0
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.68d.14546af4313c279a.19edb3b4083.9c12c0851abce315=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781794553987
X-purgate-ID: tlsNG-720697/1781794572-4FE773F3-302BDEFB/0/0
X-purgate-type: clean
X-purgate-size: 3401

---=Part.68d.14546af4313c279a.19edb3b4083.9c12c0851abce315=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Also take the opportunity to clean up a bit PHYSDEVOP_{prepare,release}_msi=
x=2E

No functional change intended=2E

Signed-off-by: Teddy Astie <teddy=2Eastie@vates=2Etech>
---
Cc: Daniel P=2E Smith <dpsmith@apertussolutions=2Ecom>

 xen/arch/x86/include/asm/msi=2Eh |  2 +-
 xen/arch/x86/msi=2Ec             |  4 ++--
 xen/arch/x86/physdev=2Ec         | 11 ++++++-----
 3 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/include/asm/msi=2Eh b/xen/arch/x86/include/asm/m=
si=2Eh
index 00059d4a3a=2E=2E6fb663b2e7 100644
--- a/xen/arch/x86/include/asm/msi=2Eh
+++ b/xen/arch/x86/include/asm/msi=2Eh
@@ -83,7 +83,7 @@ struct msi_desc;
 extern int pci_enable_msi(struct pci_dev *pdev, struct msi_info *msi,
                           struct msi_desc **desc);
 extern void pci_disable_msi(struct msi_desc *msi_desc);
-extern int pci_prepare_msix(u16 seg, u8 bus, u8 devfn, bool off);
+extern int pci_prepare_msix(pci_sbdf_t sbdf, bool off);
 extern void pci_cleanup_msi(struct pci_dev *pdev);
 extern void pci_disable_msi_all(void);
 extern int setup_msi_irq(struct irq_desc *desc, struct msi_desc *msidesc)=
;
diff --git a/xen/arch/x86/msi=2Ec b/xen/arch/x86/msi=2Ec
index 3fe22b3b6d=2E=2E8831ce068c 100644
--- a/xen/arch/x86/msi=2Ec
+++ b/xen/arch/x86/msi=2Ec
@@ -1153,7 +1153,7 @@ static void __pci_disable_msix(struct msi_desc *entr=
y)
     _pci_cleanup_msix(dev->msix);
 }
=20
-int pci_prepare_msix(u16 seg, u8 bus, u8 devfn, bool off)
+int pci_prepare_msix(pci_sbdf_t sbdf, bool off)
 {
     int rc;
     struct pci_dev *pdev;
@@ -1162,7 +1162,7 @@ int pci_prepare_msix(u16 seg, u8 bus, u8 devfn, bool=
 off)
         return 0;
=20
     pcidevs_lock();
-    pdev =3D pci_get_pdev(NULL, PCI_SBDF(seg, bus, devfn));
+    pdev =3D pci_get_pdev(NULL, sbdf);
     if ( !pdev )
         rc =3D -ENODEV;
     else if ( pdev->msix->used_entries !=3D !!off )
diff --git a/xen/arch/x86/physdev=2Ec b/xen/arch/x86/physdev=2Ec
index 5bbcf3b530=2E=2E984fb99aa8 100644
--- a/xen/arch/x86/physdev=2Ec
+++ b/xen/arch/x86/physdev=2Ec
@@ -512,15 +512,16 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(=
void) arg)
     case PHYSDEVOP_prepare_msix:
     case PHYSDEVOP_release_msix: {
         struct physdev_pci_device dev;
+        pci_sbdf_t sbdf;
=20
         if ( copy_from_guest(&dev, arg, 1) )
             ret =3D -EFAULT;
         else
-            ret =3D xsm_resource_setup_pci(XSM_PRIV,
-                                         (dev=2Eseg << 16) | (dev=2Ebus <=
< 8) |
-                                         dev=2Edevfn) ?:
-                  pci_prepare_msix(dev=2Eseg, dev=2Ebus, dev=2Edevfn,
-                                   cmd !=3D PHYSDEVOP_prepare_msix);
+        {
+            sbdf =3D PCI_SBDF(dev=2Eseg, dev=2Ebus, dev=2Edevfn);
+            ret =3D xsm_resource_setup_pci(XSM_PRIV, sbdf=2Esbdf) ?:
+                  pci_prepare_msix(sbdf, cmd !=3D PHYSDEVOP_prepare_msix)=
;
+        }
         break;
     }
=20
--=20
2=2E54=2E0



-- 
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates s=
olutions

web: https://vates=2Etech
---=Part.68d.14546af4313c279a.19edb3b4083.9c12c0851abce315=---


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 14:56:16 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 14:56:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341271.1601774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waEAC-0000Xh-BA; Thu, 18 Jun 2026 14:56:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341271.1601774; Thu, 18 Jun 2026 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 1waEAC-0000XM-6f; Thu, 18 Jun 2026 14:56:16 +0000
Received: by outflank-mailman (input) for mailman id 1341271;
 Thu, 18 Jun 2026 14:56:14 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b4612000701b@swg.vates.tech>)
 id 1waEAA-0000GF-Nk
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:56:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waEAA-008siE-48
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 16:56:14 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b4612000701b@swg.vates.tech>)
 id 6a34070c-bab6-0a2a0a5309dd-0a2a45028f70-8
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:14 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b4612000701b@swg.vates.tech>)
 id 6a3406fe-fdf1-0a2a45020019-b9ff1c12adcb-10
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:14 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19edb3b4612000701b.006 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 18 Jun 2026 14:55:55 +0000
Received: from bazzite.gpn.vates.fr (88-188-240-210.subs.proxad.net
 [88.188.240.210]) (Authenticated sender: teddy.astie@vates.tech)
 by mail2.vates.fr (Postfix) with ESMTPSA id 997BC869DF;
 Thu, 18 Jun 2026 16:55:54 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=/sSo4Au5r9dkyrEMiFMLwpy0rleRYBMSvX7t8CF24Hw=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=VAR0Piqw9dSK4aa0jnnrLY2qI4U+PQkpocDgJFIgGPDwbHwVTbDx3+TEl3Qrgwe69zS+IJWIR
 DxD29JqynRhaJJw0Hq8IkHIPKKKogJyujzHAEvOLATbVHrrXDn/D/ersq/RAb7+dboctDPx35Jc
 /mEglwbDGxRIF3xvPVZTw6d5zrBDixb8nB07kBfko9k1gJIzO5Ie7S3alqRtdyK/lTbJxwUvnTm
 ohFchDsGFyTKZlbfJZpraBF4GXaQM8MuMZRHDvtN/XhHyK0oI/0GUm3ElxYEiluHCN2Ff0klpiu
 5zsP9hGYJP7nJtYpRYHeVKI2AexI1kBTt9EPzzx622Pw==
X-Zone-Loop: 370c4ea3741a5ed1ecfe201998b3d649c2e5eb82ac77
x-campaign-type: default
x-transaction-id: c97b9eea-4044-44e4-a845-5836067068d1
x-swg-uid: 01-ea0d8191-2168-4bb9-82c6-d8cf0df9b28a
X-Mailer: Sweego
Message-ID:
 <1781794555.8631fc262581453bbf619ec5b2062170.19edb3b4612000701b@vates.tech>
x-swg-bid: 1781794555.8631fc262581453bbf619ec5b2062170.19edb3b4612000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
From: Teddy Astie <teddy.astie@vates.tech>
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>,
	Andrew Cooper <andrew.cooper3@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>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [PATCH v2 07/15] pci: Use pci_sbdf_t in pci_ro_device()
Date: Thu, 18 Jun 2026 16:50:31 +0200
In-Reply-To: <cover.1781790171.git.teddy.astie@vates.tech>
References: <cover.1781790171.git.teddy.astie@vates.tech>
MIME-Version: 1.0
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.68e.22d2c2611095fb49.19edb3b43ed.b5cd8cf27b43e361=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781794554861
X-purgate-ID: tlsNG-720697/1781794574-47E773F3-8DDD6D80/0/0
X-purgate-type: clean
X-purgate-size: 5908

---=Part.68e.22d2c2611095fb49.19edb3b43ed.b5cd8cf27b43e361=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

That has the indirect effect of properly considering segments
other than 0 in xhci-dbc=2E

Signed-off-by: Teddy Astie <teddy=2Eastie@vates=2Etech>
---
 xen/drivers/char/ns16550=2Ec                 | 3 +--
 xen/drivers/char/xhci-dbc=2Ec                | 4 ++--
 xen/drivers/passthrough/amd/iommu_detect=2Ec | 7 +------
 xen/drivers/passthrough/pci=2Ec              | 8 ++++----
 xen/include/xen/pci=2Eh                      | 2 +-
 5 files changed, 9 insertions(+), 15 deletions(-)

diff --git a/xen/drivers/char/ns16550=2Ec b/xen/drivers/char/ns16550=2Ec
index fa2d0e5991=2E=2E8396e5fb84 100644
--- a/xen/drivers/char/ns16550=2Ec
+++ b/xen/drivers/char/ns16550=2Ec
@@ -450,8 +450,7 @@ static void __init cf_check ns16550_init_postirq(struc=
t serial_port *port)
                                 PFN_UP(uart->io_base + uart->io_size) - 1=
) )
             printk(XENLOG_INFO "Error while adding MMIO range of device t=
o mmio_ro_ranges\n");
=20
-        if ( pci_ro_device(uart->pci_device=2Eseg, uart->pci_device=2Ebus=
,
-                           uart->pci_device=2Edevfn) )
+        if ( pci_ro_device(uart->pci_device) )
             printk(XENLOG_INFO
                    "Could not mark config space of %pp read-only=2E\n",
                    &uart->pci_device);
diff --git a/xen/drivers/char/xhci-dbc=2Ec b/xen/drivers/char/xhci-dbc=2Ec
index c7fd554be0=2E=2E3a8b086a93 100644
--- a/xen/drivers/char/xhci-dbc=2Ec
+++ b/xen/drivers/char/xhci-dbc=2Ec
@@ -1196,7 +1196,7 @@ static void __init cf_check dbc_uart_init_postirq(st=
ruct serial_port *port)
     switch ( uart->dbc=2Eshare )
     {
     case XHCI_SHARE_NONE:
-        if ( pci_ro_device(0, uart->dbc=2Esbdf=2Ebus, uart->dbc=2Esbdf=2E=
devfn) )
+        if ( pci_ro_device(uart->dbc=2Esbdf) )
             printk(XENLOG_WARNING
                    "Failed to mark read-only %pp used for XHCI console\n"=
,
                    &uart->dbc=2Esbdf);
@@ -1221,7 +1221,7 @@ static void __init cf_check dbc_uart_init_postirq(st=
ruct serial_port *port)
                "Error while marking MMIO range of XHCI console as R/O, "
                "making the whole device R/O (share=3Dno)\n");
         uart->dbc=2Eshare =3D XHCI_SHARE_NONE;
-        if ( pci_ro_device(0, uart->dbc=2Esbdf=2Ebus, uart->dbc=2Esbdf=2E=
devfn) )
+        if ( pci_ro_device(uart->dbc=2Esbdf) )
             printk(XENLOG_WARNING
                    "Failed to mark read-only %pp used for XHCI console\n"=
,
                    &uart->dbc=2Esbdf);
diff --git a/xen/drivers/passthrough/amd/iommu_detect=2Ec b/xen/drivers/pa=
ssthrough/amd/iommu_detect=2Ec
index 94ee297424=2E=2Edf75d6fbc0 100644
--- a/xen/drivers/passthrough/amd/iommu_detect=2Ec
+++ b/xen/drivers/passthrough/amd/iommu_detect=2Ec
@@ -136,7 +136,6 @@ int __init amd_iommu_detect_one_acpi(
     const struct acpi_ivrs_hardware *ivhd_block)
 {
     struct amd_iommu *iommu;
-    u8 bus, dev, func;
     int rt =3D 0;
=20
     if ( ivhd_block->header=2Elength < sizeof(*ivhd_block) )
@@ -210,10 +209,6 @@ int __init amd_iommu_detect_one_acpi(
     /* override IOMMU HT flags */
     iommu->ht_flags =3D ivhd_block->header=2Eflags;
=20
-    bus =3D PCI_BUS(iommu->sbdf=2Ebdf);
-    dev =3D PCI_SLOT(iommu->sbdf=2Ebdf);
-    func =3D PCI_FUNC(iommu->sbdf=2Ebdf);
-
     rt =3D get_iommu_capabilities(iommu->sbdf, iommu->cap_offset, iommu);
     if ( rt )
         goto out;
@@ -227,7 +222,7 @@ int __init amd_iommu_detect_one_acpi(
     if ( !iommu->domid_map )
         goto out;
=20
-    rt =3D pci_ro_device(iommu->sbdf=2Eseg, bus, PCI_DEVFN(dev, func));
+    rt =3D pci_ro_device(iommu->sbdf);
     if ( rt )
         printk(XENLOG_ERR "Could not mark config space of %pp read-only (=
%d)\n",
                &iommu->sbdf, rt);
diff --git a/xen/drivers/passthrough/pci=2Ec b/xen/drivers/passthrough/pci=
=2Ec
index f222da8879=2E=2E94a86d3639 100644
--- a/xen/drivers/passthrough/pci=2Ec
+++ b/xen/drivers/passthrough/pci=2Ec
@@ -499,14 +499,14 @@ int __init pci_hide_device(unsigned int seg, unsigne=
d int bus,
     return rc;
 }
=20
-int __init pci_ro_device(int seg, int bus, int devfn)
+int __init pci_ro_device(pci_sbdf_t sbdf)
 {
-    struct pci_seg *pseg =3D alloc_pseg(seg);
+    struct pci_seg *pseg =3D alloc_pseg(sbdf=2Eseg);
     struct pci_dev *pdev;
=20
     if ( !pseg )
         return -ENOMEM;
-    pdev =3D alloc_pdev(pseg, bus, devfn);
+    pdev =3D alloc_pdev(pseg, sbdf=2Ebus, sbdf=2Edevfn);
     if ( !pdev )
         return -ENOMEM;
=20
@@ -520,7 +520,7 @@ int __init pci_ro_device(int seg, int bus, int devfn)
         memset(pseg->ro_map, 0, sz);
     }
=20
-    __set_bit(PCI_BDF(bus, devfn), pseg->ro_map);
+    __set_bit(sbdf=2Ebdf, pseg->ro_map);
     _pci_hide_device(pdev);
=20
     return 0;
diff --git a/xen/include/xen/pci=2Eh b/xen/include/xen/pci=2Eh
index d816dcad05=2E=2Ebc59010cbe 100644
--- a/xen/include/xen/pci=2Eh
+++ b/xen/include/xen/pci=2Eh
@@ -232,7 +232,7 @@ const unsigned long *pci_get_ro_map(u16 seg);
 int pci_add_device(u16 seg, u8 bus, u8 devfn,
                    const struct pci_dev_info *info, nodeid_t node);
 int pci_remove_device(u16 seg, u8 bus, u8 devfn);
-int pci_ro_device(int seg, int bus, int devfn);
+int pci_ro_device(pci_sbdf_t sbdf);
 int pci_hide_device(unsigned int seg, unsigned int bus, unsigned int devf=
n);
 struct pci_dev *pci_get_pdev(const struct domain *d, pci_sbdf_t sbdf);
 struct pci_dev *pci_get_real_pdev(pci_sbdf_t sbdf);
--=20
2=2E54=2E0



-- 
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates s=
olutions

web: https://vates=2Etech
---=Part.68e.22d2c2611095fb49.19edb3b43ed.b5cd8cf27b43e361=---


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 14:56:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 14:56:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341272.1601783 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waEAD-0000oS-PB; Thu, 18 Jun 2026 14:56:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341272.1601783; Thu, 18 Jun 2026 14: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 1waEAD-0000nl-Hx; Thu, 18 Jun 2026 14:56:17 +0000
Received: by outflank-mailman (input) for mailman id 1341272;
 Thu, 18 Jun 2026 14:56:16 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b498a000701b@swg.vates.tech>)
 id 1waEAC-0000VR-5z
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:56:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waEAB-008siE-IX
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 16:56:15 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b498a000701b@swg.vates.tech>)
 id 6a34070c-bab6-0a2a0a5309dd-0a2a45028f70-12
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:15 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b498a000701b@swg.vates.tech>)
 id 6a3406fe-fdf1-0a2a45020019-b9ff1c12adcb-11
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:15 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19edb3b498a000701b.005 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 18 Jun 2026 14:55:56 +0000
Received: from bazzite.gpn.vates.fr (88-188-240-210.subs.proxad.net
 [88.188.240.210]) (Authenticated sender: teddy.astie@vates.tech)
 by mail2.vates.fr (Postfix) with ESMTPSA id 96303869DF;
 Thu, 18 Jun 2026 16:55:55 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=h/demEila2eHt+0OVfct4a9kEiGV81F8AKaXAsmoZvU=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=qddgnABy1U5T75z7xkVH0bZBLBEkdsqVR4HRIUHTqYWXRINUpuLiCr3Kg38TM35ubtOUmT0AL
 Nlc1op8DChvlqyqKzcaCc35ErRUHN1wrPWwQfE+j+41rLMYFEBCSfZIqSRFEG/OhFgjZ6rTLSCQ
 WHjk/DuZMDfrtqGE5Ki/jhIIrxgHu7CciwcdHH0jrzy7peUvqocJInObs8SixrZUoar5mC+g7t0
 v/2kULZ8UzKlXoCwjIgsmwwqGXT5nEyi80Bglm2ZhUJoShd8wERlVnusiL+yndP8OHpxyUnPEk/
 /ThW4zLh2ljh7ViYg5ga8i/55bdjxcXkRhUE/P3t8joA==
X-Zone-Loop: b4d0b54511bcd92ef8111fb921a7fb9b34aa30dcb4e3
x-campaign-type: default
x-transaction-id: 445c7f1c-34f5-4bcd-b19e-7c271690a031
x-swg-uid: 01-977066e2-24cf-4f00-acf3-a40d4f9c5f91
X-Mailer: Sweego
Message-ID:
 <1781794556.8631fc262581453bbf619ec5b2062170.19edb3b498a000701b@vates.tech>
x-swg-bid: 1781794556.8631fc262581453bbf619ec5b2062170.19edb3b498a000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
From: Teddy Astie <teddy.astie@vates.tech>
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>,
	Andrew Cooper <andrew.cooper3@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/15] pci: Use pci_sbdf_t in pci_hide_device()
Date: Thu, 18 Jun 2026 16:50:32 +0200
In-Reply-To: <cover.1781790171.git.teddy.astie@vates.tech>
References: <cover.1781790171.git.teddy.astie@vates.tech>
MIME-Version: 1.0
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.68f.eaea96ffe2c27e90.19edb3b47a5.c07394afcbf463db=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781794555813
X-purgate-ID: tlsNG-720697/1781794575-45C663F3-545F762A/0/0
X-purgate-type: clean
X-purgate-size: 4097

---=Part.68f.eaea96ffe2c27e90.19edb3b47a5.c07394afcbf463db=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

No functional change intended=2E

Signed-off-by: Teddy Astie <teddy=2Eastie@vates=2Etech>
---
 xen/drivers/char/ehci-dbgp=2Ec  | 2 +-
 xen/drivers/char/xhci-dbc=2Ec   | 2 +-
 xen/drivers/passthrough/pci=2Ec | 7 +++----
 xen/drivers/video/vga=2Ec       | 2 +-
 xen/include/xen/pci=2Eh         | 2 +-
 5 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/xen/drivers/char/ehci-dbgp=2Ec b/xen/drivers/char/ehci-dbgp=
=2Ec
index 27bcff0a8f=2E=2Ea9bf7dbadb 100644
--- a/xen/drivers/char/ehci-dbgp=2Ec
+++ b/xen/drivers/char/ehci-dbgp=2Ec
@@ -1374,7 +1374,7 @@ static void __init cf_check ehci_dbgp_init_postirq(s=
truct serial_port *port)
=20
     ehci_dbgp_setup_postirq(dbgp);
=20
-    pci_hide_device(0, dbgp->bus, PCI_DEVFN(dbgp->slot, dbgp->func));
+    pci_hide_device(PCI_SBDF(0, dbgp->bus, dbgp->slot, dbgp->func));
 }
=20
 static int ehci_dbgp_check_release(struct ehci_dbgp *dbgp)
diff --git a/xen/drivers/char/xhci-dbc=2Ec b/xen/drivers/char/xhci-dbc=2Ec
index 3a8b086a93=2E=2E6e98f2c22b 100644
--- a/xen/drivers/char/xhci-dbc=2Ec
+++ b/xen/drivers/char/xhci-dbc=2Ec
@@ -1202,7 +1202,7 @@ static void __init cf_check dbc_uart_init_postirq(st=
ruct serial_port *port)
                    &uart->dbc=2Esbdf);
         break;
     case XHCI_SHARE_HWDOM:
-        if ( pci_hide_device(0, uart->dbc=2Esbdf=2Ebus, uart->dbc=2Esbdf=
=2Edevfn) )
+        if ( pci_hide_device(uart->dbc=2Esbdf) )
             printk(XENLOG_WARNING
                    "Failed to hide %pp used for XHCI console\n",
                    &uart->dbc=2Esbdf);
diff --git a/xen/drivers/passthrough/pci=2Ec b/xen/drivers/passthrough/pci=
=2Ec
index 94a86d3639=2E=2E7c820f5edf 100644
--- a/xen/drivers/passthrough/pci=2Ec
+++ b/xen/drivers/passthrough/pci=2Ec
@@ -476,18 +476,17 @@ static void __init _pci_hide_device(struct pci_dev *=
pdev)
     write_unlock(&dom_xen->pci_lock);
 }
=20
-int __init pci_hide_device(unsigned int seg, unsigned int bus,
-                           unsigned int devfn)
+int __init pci_hide_device(pci_sbdf_t sbdf)
 {
     struct pci_dev *pdev;
     struct pci_seg *pseg;
     int rc =3D -ENOMEM;
=20
     pcidevs_lock();
-    pseg =3D alloc_pseg(seg);
+    pseg =3D alloc_pseg(sbdf=2Eseg);
     if ( pseg )
     {
-        pdev =3D alloc_pdev(pseg, bus, devfn);
+        pdev =3D alloc_pdev(pseg, sbdf=2Ebus, sbdf=2Edevfn);
         if ( pdev )
         {
             _pci_hide_device(pdev);
diff --git a/xen/drivers/video/vga=2Ec b/xen/drivers/video/vga=2Ec
index b577b24619=2E=2Eb2b9c3680a 100644
--- a/xen/drivers/video/vga=2Ec
+++ b/xen/drivers/video/vga=2Ec
@@ -147,7 +147,7 @@ void __init video_endboot(void)
                 {
                     printk(XENLOG_INFO "Boot video device %02x:%02x=2E%u\=
n",
                            bus, PCI_SLOT(devfn), PCI_FUNC(devfn));
-                    pci_hide_device(0, bus, devfn);
+                    pci_hide_device(PCI_SBDF(0, bus, devfn));
                 }
             }
     }
diff --git a/xen/include/xen/pci=2Eh b/xen/include/xen/pci=2Eh
index bc59010cbe=2E=2Ea1b3e00e31 100644
--- a/xen/include/xen/pci=2Eh
+++ b/xen/include/xen/pci=2Eh
@@ -233,7 +233,7 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
                    const struct pci_dev_info *info, nodeid_t node);
 int pci_remove_device(u16 seg, u8 bus, u8 devfn);
 int pci_ro_device(pci_sbdf_t sbdf);
-int pci_hide_device(unsigned int seg, unsigned int bus, unsigned int devf=
n);
+int pci_hide_device(pci_sbdf_t sbdf);
 struct pci_dev *pci_get_pdev(const struct domain *d, pci_sbdf_t sbdf);
 struct pci_dev *pci_get_real_pdev(pci_sbdf_t sbdf);
 void pci_check_disable_device(u16 seg, u8 bus, u8 devfn);
--=20
2=2E54=2E0



-- 
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates s=
olutions

web: https://vates=2Etech
---=Part.68f.eaea96ffe2c27e90.19edb3b47a5.c07394afcbf463db=---


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 14:56:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 14:56:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341274.1601792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waEAG-0001Ah-1Y; Thu, 18 Jun 2026 14:56:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341274.1601792; Thu, 18 Jun 2026 14:56:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waEAF-0001AK-SE; Thu, 18 Jun 2026 14:56:19 +0000
Received: by outflank-mailman (input) for mailman id 1341274;
 Thu, 18 Jun 2026 14:56:17 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b4c9f000701b@swg.vates.tech>)
 id 1waEAD-0000oG-QN
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:56:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waEAD-008siE-6j
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 16:56:17 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b4c9f000701b@swg.vates.tech>)
 id 6a34070c-bab6-0a2a0a5309dd-0a2a45028f70-18
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:17 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b4c9f000701b@swg.vates.tech>)
 id 6a3406fe-fdf1-0a2a45020019-b9ff1c12adcb-12
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:17 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19edb3b4c9f000701b.006 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 18 Jun 2026 14:55:57 +0000
Received: from bazzite.gpn.vates.fr (88-188-240-210.subs.proxad.net
 [88.188.240.210]) (Authenticated sender: teddy.astie@vates.tech)
 by mail2.vates.fr (Postfix) with ESMTPSA id 6EDA7869DF;
 Thu, 18 Jun 2026 16:55: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=KTpd8Me4K3oOfT2dHOIynJwtikegmkjYSSq64qi7SUQ=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=KTktdHo6UZfaBOBxdbSoFsOla4v7Fks6phZxTXSI65bttNZtwsWMwjou1lnQZuSnxDMZ34KEp
 MTS2wdl6HY6LJb13Xr9KJ/cyavyMJJBlX1Mpt1JQiTaonin/R5RSS0bEC7DNAxGdnlTwP6XD0fa
 OMliMxaumw6o1iY/b022r+Y+fmeXsrNIPeOPHKTeKbSEsk9XcXdGGJeY0M9P5F1qVp+4Um3+tSR
 TFC59VwfXAoJwzebttMix6lJpH/IQUj4x3Yr/R4vk25EnSgBH18AAbuAw0m1u22ay8LCT8ouN9Y
 T6VUa7VLxmyqziHQzOTg8ylS4XII4a5lIIseeBouW4eg==
X-Zone-Loop: 2cbab9b5bb09f72dcce0c3ce2686021f7fc6bd9ff9d0
x-campaign-type: default
x-transaction-id: 8b5dfdad-d165-4a96-884d-570fb38996d3
x-swg-uid: 01-c727c7a0-5008-4c53-bd7a-24064635edcb
X-Mailer: Sweego
Message-ID:
 <1781794557.8631fc262581453bbf619ec5b2062170.19edb3b4c9f000701b@vates.tech>
x-swg-bid: 1781794557.8631fc262581453bbf619ec5b2062170.19edb3b4c9f000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
From: Teddy Astie <teddy.astie@vates.tech>
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v2 09/15] pci: Use pci_sbdf_t in pci_remove_device()
Date: Thu, 18 Jun 2026 16:50:33 +0200
In-Reply-To: <cover.1781790171.git.teddy.astie@vates.tech>
References: <cover.1781790171.git.teddy.astie@vates.tech>
MIME-Version: 1.0
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.690.9b4693d2923fb5b4.19edb3b4afe.55ea9ac78a4a70ff=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781794556670
X-purgate-ID: tlsNG-720697/1781794577-458683F3-9976D3DB/0/0
X-purgate-type: clean
X-purgate-size: 3472

---=Part.690.9b4693d2923fb5b4.19edb3b4afe.55ea9ac78a4a70ff=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

No functional change intended=2E

Signed-off-by: Teddy Astie <teddy=2Eastie@vates=2Etech>
---
 xen/arch/x86/physdev=2Ec        | 2 +-
 xen/drivers/passthrough/pci=2Ec | 8 ++++----
 xen/drivers/pci/physdev=2Ec     | 2 +-
 xen/include/xen/pci=2Eh         | 2 +-
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/physdev=2Ec b/xen/arch/x86/physdev=2Ec
index 984fb99aa8=2E=2Ea62087b780 100644
--- a/xen/arch/x86/physdev=2Ec
+++ b/xen/arch/x86/physdev=2Ec
@@ -483,7 +483,7 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(vo=
id) arg)
         if ( copy_from_guest(&manage_pci, arg, 1) !=3D 0 )
             break;
=20
-        ret =3D pci_remove_device(0, manage_pci=2Ebus, manage_pci=2Edevfn=
);
+        ret =3D pci_remove_device(PCI_SBDF(0, manage_pci=2Ebus, manage_pc=
i=2Edevfn));
         break;
     }
=20
diff --git a/xen/drivers/passthrough/pci=2Ec b/xen/drivers/passthrough/pci=
=2Ec
index 7c820f5edf=2E=2E3be0772107 100644
--- a/xen/drivers/passthrough/pci=2Ec
+++ b/xen/drivers/passthrough/pci=2Ec
@@ -830,13 +830,13 @@ out:
     return ret;
 }
=20
-int pci_remove_device(u16 seg, u8 bus, u8 devfn)
+int pci_remove_device(pci_sbdf_t sbdf)
 {
-    struct pci_seg *pseg =3D get_pseg(seg);
+    struct pci_seg *pseg =3D get_pseg(sbdf=2Eseg);
     struct pci_dev *pdev;
     int ret;
=20
-    ret =3D xsm_resource_unplug_pci(XSM_PRIV, (seg << 16) | (bus << 8) | =
devfn);
+    ret =3D xsm_resource_unplug_pci(XSM_PRIV, sbdf=2Esbdf);
     if ( ret )
         return ret;
=20
@@ -847,7 +847,7 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn)
=20
     pcidevs_lock();
     list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
-        if ( pdev->bus =3D=3D bus && pdev->devfn =3D=3D devfn )
+        if ( pdev->sbdf=2Ebdf =3D=3D sbdf=2Ebdf )
         {
             if ( !pdev->info=2Eis_virtfn && !list_empty(&pdev->vf_list) )
             {
diff --git a/xen/drivers/pci/physdev=2Ec b/xen/drivers/pci/physdev=2Ec
index d46501b884=2E=2E3f5989dca6 100644
--- a/xen/drivers/pci/physdev=2Ec
+++ b/xen/drivers/pci/physdev=2Ec
@@ -64,7 +64,7 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(voi=
d) arg)
         if ( copy_from_guest(&dev, arg, 1) !=3D 0 )
             break;
=20
-        ret =3D pci_remove_device(dev=2Eseg, dev=2Ebus, dev=2Edevfn);
+        ret =3D pci_remove_device(PCI_SBDF(dev=2Eseg, dev=2Ebus, dev=2Ede=
vfn));
         break;
     }
=20
diff --git a/xen/include/xen/pci=2Eh b/xen/include/xen/pci=2Eh
index a1b3e00e31=2E=2Ebe8c72f055 100644
--- a/xen/include/xen/pci=2Eh
+++ b/xen/include/xen/pci=2Eh
@@ -231,7 +231,7 @@ 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,
                    const struct pci_dev_info *info, nodeid_t node);
-int pci_remove_device(u16 seg, u8 bus, u8 devfn);
+int pci_remove_device(pci_sbdf_t sbdf);
 int pci_ro_device(pci_sbdf_t sbdf);
 int pci_hide_device(pci_sbdf_t sbdf);
 struct pci_dev *pci_get_pdev(const struct domain *d, pci_sbdf_t sbdf);
--=20
2=2E54=2E0



-- 
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates s=
olutions

web: https://vates=2Etech
---=Part.690.9b4693d2923fb5b4.19edb3b4afe.55ea9ac78a4a70ff=---


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 14:56:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 14:56:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341276.1601798 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waEAG-0001K6-OY; Thu, 18 Jun 2026 14:56:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341276.1601798; Thu, 18 Jun 2026 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 1waEAG-0001II-IV; Thu, 18 Jun 2026 14:56:20 +0000
Received: by outflank-mailman (input) for mailman id 1341276;
 Thu, 18 Jun 2026 14:56:19 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b4fc3000701b@swg.vates.tech>)
 id 1waEAF-00014q-76
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:56:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waEAE-008siE-Jv
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 16:56:18 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b4fc3000701b@swg.vates.tech>)
 id 6a34070c-bab6-0a2a0a5309dd-0a2a45028f70-20
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:18 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b4fc3000701b@swg.vates.tech>)
 id 6a3406fe-fdf1-0a2a45020019-b9ff1c12adcb-13
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:18 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19edb3b4fc3000701b.006 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 18 Jun 2026 14:55:57 +0000
Received: from bazzite.gpn.vates.fr (88-188-240-210.subs.proxad.net
 [88.188.240.210]) (Authenticated sender: teddy.astie@vates.tech)
 by mail2.vates.fr (Postfix) with ESMTPSA id 3CAA8869DF;
 Thu, 18 Jun 2026 16:55:57 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=EyaoCB9RlfhNHdQ4rVD2B2y59KNOPT0eTPIAkc6Ie9Y=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=c0aTRqe4vbdlqNRRCc7FtMRQLMMA/l3EoiPVSIjnwqwB4aT/tbkGKMyQ7ISCzGAhafxxqTaR3
 uSDwxWEodE1N6UAK9/o4xSYNxlOzWapPuBY2rTvv6FJUDvrlEonEKOwfS6Dr9Cg1OQzPPvSzlxC
 NFckh5Ku77vunIGWGV7Aer9JXPr9p8WGdeqHIczyB9KK7XUVDXE+iUMdFdTbLWrVM7EU1P9T8iz
 50dGbyqXCfmNuOf1B3oBT5zvWycAXau7yGVEqWOGag0Gf+TFONQfHTh1uKr07xGgcNcYCmwZAKg
 ULhPKu3RABhOqeaCe3oFVzHAglwN+Nli0vNnUeop64IA==
X-Zone-Loop: 7b2a27e48e548204c7fe030f64379f3c53e876b03002
x-campaign-type: default
x-transaction-id: f50a2cc1-0d5f-4a27-aaa3-fa894b416b8d
x-swg-uid: 01-f78c14a7-7421-4b57-ab84-3d7ff4f9cfc1
X-Mailer: Sweego
Message-ID:
 <1781794557.8631fc262581453bbf619ec5b2062170.19edb3b4fc3000701b@vates.tech>
x-swg-bid: 1781794557.8631fc262581453bbf619ec5b2062170.19edb3b4fc3000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
From: Teddy Astie <teddy.astie@vates.tech>
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v2 10/15] pci: Use pci_sbdf_t in pci_add_device()
Date: Thu, 18 Jun 2026 16:50:34 +0200
In-Reply-To: <cover.1781790171.git.teddy.astie@vates.tech>
References: <cover.1781790171.git.teddy.astie@vates.tech>
MIME-Version: 1.0
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.691.d185a8799ba92373.19edb3b4e1c.68eeab4571637f7a=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781794557469
X-purgate-ID: tlsNG-720697/1781794578-44E6F3F3-1F91BE9D/0/0
X-purgate-type: clean
X-purgate-size: 8330

---=Part.691.d185a8799ba92373.19edb3b4e1c.68eeab4571637f7a=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Also take the opportunity to avoid refetching sbdf from pdev
since we already have it now=2E

No functional change intended=2E

Signed-off-by: Teddy Astie <teddy=2Eastie@vates=2Etech>
---
 xen/arch/x86/physdev=2Ec        |  7 ++++---
 xen/drivers/passthrough/pci=2Ec | 35 ++++++++++++++++-------------------
 xen/drivers/pci/physdev=2Ec     |  2 +-
 xen/include/xen/pci=2Eh         |  3 +--
 4 files changed, 22 insertions(+), 25 deletions(-)

diff --git a/xen/arch/x86/physdev=2Ec b/xen/arch/x86/physdev=2Ec
index a62087b780=2E=2Ed7e62f63c5 100644
--- a/xen/arch/x86/physdev=2Ec
+++ b/xen/arch/x86/physdev=2Ec
@@ -472,7 +472,8 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(vo=
id) arg)
         if ( copy_from_guest(&manage_pci, arg, 1) !=3D 0 )
             break;
=20
-        ret =3D pci_add_device(0, manage_pci=2Ebus, manage_pci=2Edevfn,
+        ret =3D pci_add_device(PCI_SBDF(0, manage_pci=2Ebus,
+                                      manage_pci=2Edevfn),
                              NULL, NUMA_NO_NODE);
         break;
     }
@@ -503,8 +504,8 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(vo=
id) arg)
         pdev_info=2Eis_virtfn =3D manage_pci_ext=2Eis_virtfn;
         pdev_info=2Ephysfn=2Ebus =3D manage_pci_ext=2Ephysfn=2Ebus;
         pdev_info=2Ephysfn=2Edevfn =3D manage_pci_ext=2Ephysfn=2Edevfn;
-        ret =3D pci_add_device(0, manage_pci_ext=2Ebus,
-                             manage_pci_ext=2Edevfn,
+        ret =3D pci_add_device(PCI_SBDF(0, manage_pci_ext=2Ebus,
+                                      manage_pci_ext=2Edevfn),
                              &pdev_info, NUMA_NO_NODE);
         break;
     }
diff --git a/xen/drivers/passthrough/pci=2Ec b/xen/drivers/passthrough/pci=
=2Ec
index 3be0772107=2E=2E17a4931229 100644
--- a/xen/drivers/passthrough/pci=2Ec
+++ b/xen/drivers/passthrough/pci=2Ec
@@ -661,12 +661,11 @@ unsigned int pci_size_mem_bar(pci_sbdf_t sbdf, unsig=
ned int pos,
     return is64bits ? 2 : 1;
 }
=20
-int pci_add_device(u16 seg, u8 bus, u8 devfn,
-                   const struct pci_dev_info *info, nodeid_t node)
+int pci_add_device(pci_sbdf_t sbdf, const struct pci_dev_info *info, node=
id_t node)
 {
     struct pci_seg *pseg;
     struct pci_dev *pdev;
-    unsigned int slot =3D PCI_SLOT(devfn), func =3D PCI_FUNC(devfn);
+    unsigned int slot =3D sbdf=2Edevfn, func =3D sbdf=2Edevfn;
     const char *type;
     int ret;
=20
@@ -679,17 +678,17 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
     else
         type =3D "device";
=20
-    ret =3D xsm_resource_plug_pci(XSM_PRIV, (seg << 16) | (bus << 8) | de=
vfn);
+    ret =3D xsm_resource_plug_pci(XSM_PRIV, sbdf=2Esbdf);
     if ( ret )
         return ret;
=20
     ret =3D -ENOMEM;
=20
     pcidevs_lock();
-    pseg =3D alloc_pseg(seg);
+    pseg =3D alloc_pseg(sbdf=2Eseg);
     if ( !pseg )
         goto out;
-    pdev =3D alloc_pdev(pseg, bus, devfn);
+    pdev =3D alloc_pdev(pseg, sbdf=2Ebus, sbdf=2Edevfn);
     if ( !pdev )
         goto out;
=20
@@ -700,16 +699,14 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
         pdev->info =3D *info;
         if ( pdev->info=2Eis_virtfn )
         {
-            struct pci_dev *pf_pdev =3D
-                pci_get_pdev(NULL, PCI_SBDF(seg, info->physfn=2Ebus,
-                                            info->physfn=2Edevfn));
+            pci_sbdf_t pf_sbdf =3D PCI_SBDF(sbdf=2Eseg, info->physfn=2Ebu=
s, info->physfn=2Edevfn);
+            struct pci_dev *pf_pdev =3D pci_get_pdev(NULL, pf_sbdf);
=20
             if ( !pf_pdev )
             {
                 printk(XENLOG_WARNING
                        "Attempted to add SR-IOV VF %pp without PF %pp\n",
-                       &pdev->sbdf,
-                       &PCI_SBDF(seg, info->physfn=2Ebus, info->physfn=2E=
devfn));
+                       &sbdf, &pf_sbdf);
                 free_pdev(pseg, pdev);
                 ret =3D -ENODEV;
                 goto out;
@@ -728,14 +725,14 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
             if ( !pdev->ext_cfg )
                 printk(XENLOG_WARNING
                        "%pp: VF without extended config space?\n",
-                       &pdev->sbdf);
+                       &sbdf);
         }
     }
=20
     if ( !pdev->info=2Eis_virtfn && !pdev->physfn=2Evf_rlen[0] )
     {
         unsigned int pos =3D pci_find_ext_capability(pdev, PCI_EXT_CAP_ID=
_SRIOV);
-        uint16_t ctrl =3D pci_conf_read16(pdev->sbdf, pos + PCI_SRIOV_CTR=
L);
+        uint16_t ctrl =3D pci_conf_read16(sbdf, pos + PCI_SRIOV_CTRL);
=20
         if ( !pos )
             /* Nothing */;
@@ -749,18 +746,18 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
             for ( i =3D 0; i < PCI_SRIOV_NUM_BARS; )
             {
                 unsigned int idx =3D pos + PCI_SRIOV_BAR + i * 4;
-                uint32_t bar =3D pci_conf_read32(pdev->sbdf, idx);
+                uint32_t bar =3D pci_conf_read32(sbdf, idx);
=20
                 if ( (bar & PCI_BASE_ADDRESS_SPACE) =3D=3D
                      PCI_BASE_ADDRESS_SPACE_IO )
                 {
                     printk(XENLOG_WARNING
                            "SR-IOV device %pp with vf BAR%u in IO space\n=
",
-                           &pdev->sbdf, i);
+                           &sbdf, i);
                     ++i;
                     continue;
                 }
-                ret =3D pci_size_mem_bar(pdev->sbdf, idx, NULL,
+                ret =3D pci_size_mem_bar(sbdf, idx, NULL,
                                        &pdev->physfn=2Evf_rlen[i],
                                        PCI_BAR_VF |
                                        ((i =3D=3D PCI_SRIOV_NUM_BARS - 1)=
 ?
@@ -771,7 +768,7 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
         }
         else
             printk(XENLOG_WARNING "SR-IOV device %pp has its virtual"
-                   " functions already enabled (%04x)\n", &pdev->sbdf, ct=
rl);
+                   " functions already enabled (%04x)\n", &sbdf, ctrl);
     }
=20
     check_pdev(pdev);
@@ -817,14 +814,14 @@ out:
     pcidevs_unlock();
     if ( !ret )
     {
-        printk(XENLOG_DEBUG "PCI add %s %pp\n", type, &pdev->sbdf);
+        printk(XENLOG_DEBUG "PCI add %s %pp\n", type, &sbdf);
         while ( pdev->phantom_stride )
         {
             func +=3D pdev->phantom_stride;
             if ( PCI_SLOT(func) )
                 break;
             printk(XENLOG_DEBUG "PCI phantom %pp\n",
-                   &PCI_SBDF(seg, bus, slot, func));
+                   &PCI_SBDF(sbdf=2Eseg, sbdf=2Ebus, slot, func));
         }
     }
     return ret;
diff --git a/xen/drivers/pci/physdev=2Ec b/xen/drivers/pci/physdev=2Ec
index 3f5989dca6=2E=2E17cb27be0a 100644
--- a/xen/drivers/pci/physdev=2Ec
+++ b/xen/drivers/pci/physdev=2Ec
@@ -50,7 +50,7 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(voi=
d) arg)
         }
 #endif
=20
-        ret =3D pci_add_device(add=2Eseg, add=2Ebus, add=2Edevfn, &pdev_i=
nfo, node);
+        ret =3D pci_add_device(PCI_SBDF(add=2Eseg, add=2Ebus, add=2Edevfn=
), &pdev_info, node);
         break;
     }
=20
diff --git a/xen/include/xen/pci=2Eh b/xen/include/xen/pci=2Eh
index be8c72f055=2E=2Ec065b2cd5c 100644
--- a/xen/include/xen/pci=2Eh
+++ b/xen/include/xen/pci=2Eh
@@ -229,8 +229,7 @@ void setup_hwdom_pci_devices(struct domain *d,
 int pci_release_devices(struct domain *d);
 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,
-                   const struct pci_dev_info *info, nodeid_t node);
+int pci_add_device(pci_sbdf_t sbdf, const struct pci_dev_info *info, node=
id_t node);
 int pci_remove_device(pci_sbdf_t sbdf);
 int pci_ro_device(pci_sbdf_t sbdf);
 int pci_hide_device(pci_sbdf_t sbdf);
--=20
2=2E54=2E0



-- 
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates s=
olutions

web: https://vates=2Etech
---=Part.691.d185a8799ba92373.19edb3b4e1c.68eeab4571637f7a=---


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 14:56:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 14:56:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341278.1601811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waEAI-0001iu-CP; Thu, 18 Jun 2026 14:56:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341278.1601811; Thu, 18 Jun 2026 14: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 1waEAI-0001i6-1H; Thu, 18 Jun 2026 14:56:22 +0000
Received: by outflank-mailman (input) for mailman id 1341278;
 Thu, 18 Jun 2026 14:56:20 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b524c000701b@swg.vates.tech>)
 id 1waEAG-0001B3-7W
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:56:20 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waEAF-008siE-KK
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 16:56:19 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b524c000701b@swg.vates.tech>)
 id 6a34070c-bab6-0a2a0a5309dd-0a2a45028f70-24
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:19 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b524c000701b@swg.vates.tech>)
 id 6a3406fe-fdf1-0a2a45020019-b9ff1c12adcb-14
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:19 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19edb3b524c000701b.003 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 18 Jun 2026 14:55:58 +0000
Received: from bazzite.gpn.vates.fr (88-188-240-210.subs.proxad.net
 [88.188.240.210]) (Authenticated sender: teddy.astie@vates.tech)
 by mail2.vates.fr (Postfix) with ESMTPSA id ECF83869DB;
 Thu, 18 Jun 2026 16:55:57 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=EcZr96kEpErRQkgHDh5PnBP7wu8HobCeYxwsO4gCclE=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=sOT5eAQWnzRnJmIMlInauxkOR8C8mEiGEXecHz/7H0w0k+TEvSPTlvxOYuLer+MIqMmmBttu9
 Vo+JpdUhh2eC/FD6VtR6HZoK9HpSze7A2kWCe57FpwefWlXrmPoKDCUPY/BY6CtLkwuGAWv8jS4
 MX3ghAjH25NQQ2Jt/2BorUgIsgpjN1hhBg1XuB4QMeOAKjOmL/SjMFHVeVITB8sA95kMJ8LuGXO
 7VzkgsWGmnDjX3UMgQQr38/DKUfSILvDl/+Um1oc4ZfZC9p/+UjflJKyn7fB7sgJ2u3Uf1eFnD8
 09rEuxq5X3VutLyJ4F8eMrVRqsd058qtn97e6+4wqrWQ==
X-Zone-Loop: c673ef689ebfe0ea10d23a5e560d8487b4bcfd1a9687
x-campaign-type: default
x-transaction-id: 75d71809-dab2-4c88-8208-983fd03f1cfb
x-swg-uid: 01-e21ed00e-f7c8-46df-b2e2-d24dd3b0647c
X-Mailer: Sweego
Message-ID:
 <1781794558.8631fc262581453bbf619ec5b2062170.19edb3b524c000701b@vates.tech>
x-swg-bid: 1781794558.8631fc262581453bbf619ec5b2062170.19edb3b524c000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
From: Teddy Astie <teddy.astie@vates.tech>
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 11/15] vtd: Rewrite igd device check in acpi_parse_dev_scope()
Date: Thu, 18 Jun 2026 16:50:35 +0200
In-Reply-To: <cover.1781790171.git.teddy.astie@vates.tech>
References: <cover.1781790171.git.teddy.astie@vates.tech>
MIME-Version: 1.0
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.692.d2bcadc6a737d3ff.19edb3b50bb.4a2c63e6617118c9=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781794558139
X-purgate-ID: tlsNG-720697/1781794579-466633F3-0AB96C29/0/0
X-purgate-type: clean
X-purgate-size: 1303

---=Part.692.d2bcadc6a737d3ff.19edb3b50bb.4a2c63e6617118c9=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Make it clearer that we want to check for 0000:00:02=2E0 here=2E

Signed-off-by: Teddy Astie <teddy=2Eastie@vates=2Etech>
---
 xen/drivers/passthrough/vtd/dmar=2Ec | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/vtd/dmar=2Ec b/xen/drivers/passthroug=
h/vtd/dmar=2Ec
index 2dd362410e=2E=2E4a98f15fce 100644
--- a/xen/drivers/passthrough/vtd/dmar=2Ec
+++ b/xen/drivers/passthrough/vtd/dmar=2Ec
@@ -389,7 +389,7 @@ static int __init acpi_parse_dev_scope(
                                     PCI_CLASS_DEVICE + 1) !=3D 0x03
                                     /* PCI_BASE_CLASS_DISPLAY */ )
                     gfx_only =3D false;
-                else if ( !seg && !dev_sbdf=2Ebus && path->dev =3D=3D 2 &=
& !path->fn )
+                else if ( dev_sbdf=2Esbdf =3D=3D PCI_SBDF(0, 0, 2, 0)=2Es=
bdf )
                     igd_drhd_address =3D drhd->address;
             }
=20
--=20
2=2E54=2E0



-- 
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates s=
olutions

web: https://vates=2Etech
---=Part.692.d2bcadc6a737d3ff.19edb3b50bb.4a2c63e6617118c9=---


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 14:56:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 14:56:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341279.1601815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waEAI-0001lm-Rf; Thu, 18 Jun 2026 14:56:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341279.1601815; Thu, 18 Jun 2026 14: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 1waEAI-0001kT-E7; Thu, 18 Jun 2026 14:56:22 +0000
Received: by outflank-mailman (input) for mailman id 1341279;
 Thu, 18 Jun 2026 14:56:21 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b555d000701b@swg.vates.tech>)
 id 1waEAH-0001WV-H4
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:56:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waEAG-008siE-TS
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 16:56:20 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b555d000701b@swg.vates.tech>)
 id 6a34070c-bab6-0a2a0a5309dd-0a2a45028f70-30
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:20 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b555d000701b@swg.vates.tech>)
 id 6a3406fe-fdf1-0a2a45020019-b9ff1c12adcb-15
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:20 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19edb3b555d000701b.006 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 18 Jun 2026 14:55:59 +0000
Received: from bazzite.gpn.vates.fr (88-188-240-210.subs.proxad.net
 [88.188.240.210]) (Authenticated sender: teddy.astie@vates.tech)
 by mail2.vates.fr (Postfix) with ESMTPSA id AB9B4869DB;
 Thu, 18 Jun 2026 16:55:58 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=uytFSNcEEVv/QYzksGHmSaUjvGJggN3QbN0/FKnR93Q=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=Mrs0kavr0SjpVSM3swCWe2IzSn9uD7yu5o2zjL3vtYbybzTy74bAc7yD463JbvvkOdIdFhA0/
 DxdpbWqoJlxyQOZO145wkjJ3Gp0FJsOjWofoW9H3Jfb1W2qWoLjOARnK8PSLO4ONWJFSwlkKZiI
 Z6EDTx2dGA0oDQIfBpFsF3HxdhjDmbPfnQmgMbQEtJYnbFNOuOr+RDypP400phIQiTx8P28Fj8I
 ViyMY/RSQlVKG6G1x0xipoVqhZc1AQOHwtv4Kq4VBhIn+gGsiwugxxG8wIoLtVbyvTpHauvHEbe
 71IhkEHZWQpvbQY4M7OfR3b42TWFSzU/ay7Yf7N+bKAw==
X-Zone-Loop: 3ed76e2d851a1ce5cccca0528079876d22185c03eacb
x-campaign-type: default
x-transaction-id: 2d2e438e-e5a1-45c7-b2c4-3a547e6a9f0f
x-swg-uid: 01-7fdb5cdf-e4d1-430b-8f25-2f3a951e3c42
X-Mailer: Sweego
Message-ID:
 <1781794559.8631fc262581453bbf619ec5b2062170.19edb3b555d000701b@vates.tech>
x-swg-bid: 1781794559.8631fc262581453bbf619ec5b2062170.19edb3b555d000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
From: Teddy Astie <teddy.astie@vates.tech>
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jason Andryuk <jason.andryuk@amd.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 12/15] pci: Use pci_sbdf_t pci_check_disable_device()
Date: Thu, 18 Jun 2026 16:50:36 +0200
In-Reply-To: <cover.1781790171.git.teddy.astie@vates.tech>
References: <cover.1781790171.git.teddy.astie@vates.tech>
MIME-Version: 1.0
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.693.7d953f90ff09944a.19edb3b53c8.eaea940e34972e1f=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781794558920
X-purgate-ID: tlsNG-720697/1781794580-444123F3-98891D09/0/0
X-purgate-type: clean
X-purgate-size: 3538

---=Part.693.7d953f90ff09944a.19edb3b53c8.eaea940e34972e1f=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

No functional change intended=2E

Signed-off-by: Teddy Astie <teddy=2Eastie@vates=2Etech>
---
 xen/drivers/passthrough/amd/iommu_init=2Ec | 3 +--
 xen/drivers/passthrough/pci=2Ec            | 4 ++--
 xen/drivers/passthrough/vtd/iommu=2Ec      | 3 +--
 xen/include/xen/pci=2Eh                    | 2 +-
 4 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu_init=2Ec b/xen/drivers/pass=
through/amd/iommu_init=2Ec
index e0c8925c33=2E=2Ec2d7201747 100644
--- a/xen/drivers/passthrough/amd/iommu_init=2Ec
+++ b/xen/drivers/passthrough/amd/iommu_init=2Ec
@@ -575,8 +575,7 @@ static void cf_check parse_event_log_entry(struct amd_=
iommu *iommu, u32 entry[])
=20
         for ( bdf =3D 0; bdf < ivrs_bdf_entries; bdf++ )
             if ( get_dma_requestor_id(iommu->sbdf=2Eseg, bdf) =3D=3D devi=
ce_id )
-                pci_check_disable_device(iommu->sbdf=2Eseg, PCI_BUS(bdf),
-                                         PCI_DEVFN(bdf));
+                pci_check_disable_device(PCI_SBDF(iommu->sbdf=2Eseg, bdf)=
);
     }
     else
         printk(XENLOG_ERR "%s %08x %08x %08x %08x\n",
diff --git a/xen/drivers/passthrough/pci=2Ec b/xen/drivers/passthrough/pci=
=2Ec
index 17a4931229=2E=2E41ba47ab1d 100644
--- a/xen/drivers/passthrough/pci=2Ec
+++ b/xen/drivers/passthrough/pci=2Ec
@@ -1174,14 +1174,14 @@ bool __init pci_device_detect(pci_sbdf_t sbdf)
     return 1;
 }
=20
-void pci_check_disable_device(u16 seg, u8 bus, u8 devfn)
+void pci_check_disable_device(pci_sbdf_t sbdf)
 {
     struct pci_dev *pdev;
     s_time_t now =3D NOW();
     u16 cword;
=20
     pcidevs_lock();
-    pdev =3D pci_get_real_pdev(PCI_SBDF(seg, bus, devfn));
+    pdev =3D pci_get_real_pdev(sbdf);
     if ( pdev )
     {
         if ( now < pdev->fault=2Etime ||
diff --git a/xen/drivers/passthrough/vtd/iommu=2Ec b/xen/drivers/passthrou=
gh/vtd/iommu=2Ec
index 3d6f787b3c=2E=2Eee848a6d7e 100644
--- a/xen/drivers/passthrough/vtd/iommu=2Ec
+++ b/xen/drivers/passthrough/vtd/iommu=2Ec
@@ -1072,8 +1072,7 @@ static void __do_iommu_page_fault(struct vtd_iommu *=
iommu)
         iommu_page_fault_do_one(iommu, type, fault_reason,
                                 source_id, guest_addr);
=20
-        pci_check_disable_device(iommu->drhd->segment,
-                                 PCI_BUS(source_id), PCI_DEVFN(source_id)=
);
+        pci_check_disable_device(PCI_SBDF(iommu->drhd->segment, source_id=
));
=20
         fault_index++;
         if ( fault_index > cap_num_fault_regs(iommu->cap) )
diff --git a/xen/include/xen/pci=2Eh b/xen/include/xen/pci=2Eh
index c065b2cd5c=2E=2E6b8fcd88dd 100644
--- a/xen/include/xen/pci=2Eh
+++ b/xen/include/xen/pci=2Eh
@@ -235,7 +235,7 @@ int pci_ro_device(pci_sbdf_t sbdf);
 int pci_hide_device(pci_sbdf_t sbdf);
 struct pci_dev *pci_get_pdev(const struct domain *d, pci_sbdf_t sbdf);
 struct pci_dev *pci_get_real_pdev(pci_sbdf_t sbdf);
-void pci_check_disable_device(u16 seg, u8 bus, u8 devfn);
+void pci_check_disable_device(pci_sbdf_t sbdf);
=20
 /*
  * Iterate without locking or preemption over all PCI devices known by Xe=
n=2E
--=20
2=2E54=2E0



-- 
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates s=
olutions

web: https://vates=2Etech
---=Part.693.7d953f90ff09944a.19edb3b53c8.eaea940e34972e1f=---


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 14:56:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 14:56:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341281.1601827 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waEAL-0002PT-5e; Thu, 18 Jun 2026 14:56:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341281.1601827; Thu, 18 Jun 2026 14:56: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 1waEAK-0002Oe-W6; Thu, 18 Jun 2026 14:56:25 +0000
Received: by outflank-mailman (input) for mailman id 1341281;
 Thu, 18 Jun 2026 14:56:23 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b5812000701b@swg.vates.tech>)
 id 1waEAJ-0001qc-4Y
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:56:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waEAI-008slh-Go
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 16:56:22 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b5812000701b@swg.vates.tech>)
 id 6a34070c-bab6-0a2a0a5309dd-0a2a45028f70-32
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:22 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b5812000701b@swg.vates.tech>)
 id 6a3406fe-fdf1-0a2a45020019-b9ff1c12adcb-16
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:22 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19edb3b5812000701b.005 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 18 Jun 2026 14:56:00 +0000
Received: from bazzite.gpn.vates.fr (88-188-240-210.subs.proxad.net
 [88.188.240.210]) (Authenticated sender: teddy.astie@vates.tech)
 by mail2.vates.fr (Postfix) with ESMTPSA id 653B2869DB;
 Thu, 18 Jun 2026 16:55:59 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=shet2nKHFLHBuHFrixIZYpfg4VDrE3PTGUiLxJyKLZs=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=Abp7lvECbkJTvLhht1VvsP2d3iGR6HFZW0f0t6s80L+T7/emSNyJgTN9ErTbXCrcdbK1p5x38
 r04jOdB1c6+yTl22SMcJ8DOhIbMvSaMbV7hWmUnl4TVPSQPOKMzKoAExsf/9mQpVDMHMdBoYtYS
 jT4VB6GsUeyLz8dAqnlUa2h3OYCWyMF1pd9W+zHvACrA5j247LuEFLpUU5bb2F+wFpwL8sQwKQN
 /q5qEKy+eWqg5A605aajKatV9MWFyum3MODdkutlKLrWS6Ykixyd5vJ7HqnoCcQ6lkOkYuisbiP
 u+HrJ5y47IAlO4UIdK7mj7Wi4/tax+84E+DslZgnQj4w==
X-Zone-Loop: a020a24ac271c251d1d6e9843839da2ccb948e121839
x-campaign-type: default
x-transaction-id: 8dd321fd-5513-4ae1-b0c2-166091d75007
x-swg-uid: 01-68d85aef-df7b-4729-a02f-09a37270df07
X-Mailer: Sweego
Message-ID:
 <1781794560.8631fc262581453bbf619ec5b2062170.19edb3b5812000701b@vates.tech>
x-swg-bid: 1781794560.8631fc262581453bbf619ec5b2062170.19edb3b5812000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
From: Teddy Astie <teddy.astie@vates.tech>
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>,
	Andrew Cooper <andrew.cooper3@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 13/15] pci: Drop parse_pci{_seg}()
Date: Thu, 18 Jun 2026 16:50:37 +0200
In-Reply-To: <cover.1781790171.git.teddy.astie@vates.tech>
References: <cover.1781790171.git.teddy.astie@vates.tech>
MIME-Version: 1.0
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.694.cd9fdfc7f30dd984.19edb3b567e.269967fe9da2358b=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781794559615
X-purgate-ID: tlsNG-720697/1781794582-4DE673F3-A2831989/0/0
X-purgate-type: clean
X-purgate-size: 4133

---=Part.694.cd9fdfc7f30dd984.19edb3b567e.269967fe9da2358b=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

No user of these functions remain, take the opportunity collapse
the logic in parse_pci_sbdf{_seg}()=2E

Signed-off-by: Teddy Astie <teddy=2Eastie@vates=2Etech>
---
 xen/drivers/pci/pci=2Ec | 46 ++++++++-----------------------------------
 xen/include/xen/pci=2Eh |  6 ------
 2 files changed, 8 insertions(+), 44 deletions(-)

diff --git a/xen/drivers/pci/pci=2Ec b/xen/drivers/pci/pci=2Ec
index a2b49f1b26=2E=2E4f274e8984 100644
--- a/xen/drivers/pci/pci=2Ec
+++ b/xen/drivers/pci/pci=2Ec
@@ -151,18 +151,7 @@ void pci_intx(const struct pci_dev *pdev, bool enable=
)
     pci_conf_write16(pdev->sbdf, PCI_COMMAND, cmd);
 }
=20
-const char *__init parse_pci(const char *s, unsigned int *seg_p,
-                             unsigned int *bus_p, unsigned int *dev_p,
-                             unsigned int *func_p)
-{
-    bool def_seg;
-
-    return parse_pci_seg(s, seg_p, bus_p, dev_p, func_p, &def_seg);
-}
-
-const char *__init parse_pci_seg(const char *s, unsigned int *seg_p,
-                                 unsigned int *bus_p, unsigned int *dev_p=
,
-                                 unsigned int *func_p, bool *def_seg)
+const char *__init parse_pci_sbdf_seg(const char *s, pci_sbdf_t *sbdf, bo=
ol *def_seg)
 {
     unsigned long seg =3D simple_strtoul(s, &s, 16), bus, dev, func;
=20
@@ -180,39 +169,20 @@ const char *__init parse_pci_seg(const char *s, unsi=
gned int *seg_p,
         *def_seg =3D true;
     }
=20
-    if ( func_p )
-        func =3D *s =3D=3D '=2E' ? simple_strtoul(s + 1, &s, 0) : 0;
+    func =3D *s =3D=3D '=2E' ? simple_strtoul(s + 1, &s, 0) : 0;
=20
-    if ( seg !=3D (seg_p ? (u16)seg : 0) ||
+    if ( seg !=3D (u16)seg ||
          bus !=3D PCI_BUS(PCI_BDF(bus, 0)) ||
          dev !=3D PCI_SLOT(PCI_DEVFN(dev, 0)) ||
-         func !=3D (func_p ? PCI_FUNC(PCI_DEVFN(0, func)) : 0) )
+         func !=3D PCI_FUNC(PCI_DEVFN(0, func)) )
         return NULL;
=20
-    if ( seg_p )
-        *seg_p =3D seg;
-    *bus_p =3D bus;
-    *dev_p =3D dev;
-    if ( func_p )
-        *func_p =3D func;
-
-    return s;
-}
-
-const char *parse_pci_sbdf(const char *s, pci_sbdf_t *sbdf)
-{
-    unsigned int seg, bus, dev, func;
-    const char *out =3D parse_pci(s, &seg, &bus, &dev, &func);
-
     *sbdf =3D PCI_SBDF(seg, bus, dev, func);
-    return out;
+    return s;
 }
=20
-const char *parse_pci_sbdf_seg(const char *s, pci_sbdf_t *sbdf, bool *def=
_seg)
+const char *__init parse_pci_sbdf(const char *s, pci_sbdf_t *sbdf)
 {
-    unsigned int seg, bus, dev, func;
-    const char *out =3D parse_pci_seg(s, &seg, &bus, &dev, &func, def_seg=
);
-
-    *sbdf =3D PCI_SBDF(seg, bus, dev, func);
-    return out;
+    bool def_seg;
+    return parse_pci_sbdf_seg(s, sbdf, &def_seg);
 }
diff --git a/xen/include/xen/pci=2Eh b/xen/include/xen/pci=2Eh
index 6b8fcd88dd=2E=2E71689a2d6b 100644
--- a/xen/include/xen/pci=2Eh
+++ b/xen/include/xen/pci=2Eh
@@ -273,12 +273,6 @@ unsigned int pci_find_ext_capability(const struct pci=
_dev *pdev,
 unsigned int pci_find_next_ext_capability(const struct pci_dev *pdev,
                                           unsigned int start,
                                           unsigned int cap);
-const char *parse_pci(const char *s, unsigned int *seg_p, unsigned int *b=
us_p,
-                      unsigned int *dev_p, unsigned int *func_p);
-const char *parse_pci_seg(const char *s, unsigned int *seg_p,
-                          unsigned int *bus_p, unsigned int *dev_p,
-                          unsigned int *func_p, bool *def_seg);
-
 const char *parse_pci_sbdf(const char *s, pci_sbdf_t *sbdf);
 const char *parse_pci_sbdf_seg(const char *s, pci_sbdf_t *sbdf, bool *def=
_seg);
=20
--=20
2=2E54=2E0



-- 
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates s=
olutions

web: https://vates=2Etech
---=Part.694.cd9fdfc7f30dd984.19edb3b567e.269967fe9da2358b=---


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 14:56:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 14:56:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341284.1601833 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waEAM-0002cF-Hl; Thu, 18 Jun 2026 14:56:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341284.1601833; Thu, 18 Jun 2026 14: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 1waEAM-0002YP-1r; Thu, 18 Jun 2026 14:56:26 +0000
Received: by outflank-mailman (input) for mailman id 1341284;
 Thu, 18 Jun 2026 14:56:24 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b5af5000701b@swg.vates.tech>)
 id 1waEAK-0002IC-K3
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:56:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waEAK-008slh-0K
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 16:56:24 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b5af5000701b@swg.vates.tech>)
 id 6a34070c-bab6-0a2a0a5309dd-0a2a45028f70-38
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:23 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b5af5000701b@swg.vates.tech>)
 id 6a3406fe-fdf1-0a2a45020019-b9ff1c12adcb-17
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:23 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19edb3b5af5000701b.005 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 18 Jun 2026 14:56:00 +0000
Received: from bazzite.gpn.vates.fr (88-188-240-210.subs.proxad.net
 [88.188.240.210]) (Authenticated sender: teddy.astie@vates.tech)
 by mail2.vates.fr (Postfix) with ESMTPSA id 24815869DB;
 Thu, 18 Jun 2026 16:56:00 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=M+CaKQ7RsEEYxGgoUAduV+bzJkX5OGxE41ecoj48FH0=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=fpo3uJEpwQ2SiYIZ7E9B+rBXP1YxLjAbkaPpEIwI2pMqrmiKJDPjYqfqMtVO2UKpv+vOjsFNh
 MSiAKt///+zpakMG6Vfc2C7ioYot04n7dnviN5tK7Fu1WcdJNaoK6c/vn/OPfCfjIqlKg3UYPFW
 Qozy6uH14BrvNrnZMWqKBG2QrBLkNVtq/YB0uBqXAPMO3pp7mrxVk9aZuJsr5KaKC5j+q85ljSh
 nt9i9jGQDNaXbYqbOTkyMYX8b/TbhPHLPDGAXAfmzxBShz0+C2PqOMKvR7OpWFZ4Eidw+7R7YES
 /SsHVyh+rOWDaCuJrL1mCgHYRL6ry0wNxzTiocAlGNXA==
X-Zone-Loop: 97b26e0a2c30f1032c76525fd978103dac85149a1a5a
x-campaign-type: default
x-transaction-id: c427d9a5-2e68-432c-94fd-ed63cc68e37a
x-swg-uid: 01-043d2f9b-c87d-46a2-b970-0b7983f3c94d
X-Mailer: Sweego
Message-ID:
 <1781794560.8631fc262581453bbf619ec5b2062170.19edb3b5af5000701b@vates.tech>
x-swg-bid: 1781794560.8631fc262581453bbf619ec5b2062170.19edb3b5af5000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
From: Teddy Astie <teddy.astie@vates.tech>
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>,
	Andrew Cooper <andrew.cooper3@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/15] ehci-dbgp: Use pci_sbdf_t instead of (bus, slot, func)
Date: Thu, 18 Jun 2026 16:50:38 +0200
In-Reply-To: <cover.1781790171.git.teddy.astie@vates.tech>
References: <cover.1781790171.git.teddy.astie@vates.tech>
MIME-Version: 1.0
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.695.623cb6c98c5b1ce1.19edb3b595d.5f4c9347451f755a=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781794560349
X-purgate-ID: tlsNG-720697/1781794583-45A693F3-1009A4F2/0/0
X-purgate-type: clean
X-purgate-size: 9549

---=Part.695.623cb6c98c5b1ce1.19edb3b595d.5f4c9347451f755a=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

We also take the opportunity to allow the device to exist outside
of segment 0 (only when specified with pci@ syntax), since it's
not hardcoded anymore=2E

Signed-off-by: Teddy Astie <teddy=2Eastie@vates=2Etech>
---
 xen/drivers/char/ehci-dbgp=2Ec | 71 ++++++++++++------------------------
 1 file changed, 24 insertions(+), 47 deletions(-)

diff --git a/xen/drivers/char/ehci-dbgp=2Ec b/xen/drivers/char/ehci-dbgp=
=2Ec
index a9bf7dbadb=2E=2E6d0a6c2ef0 100644
--- a/xen/drivers/char/ehci-dbgp=2Ec
+++ b/xen/drivers/char/ehci-dbgp=2Ec
@@ -335,7 +335,8 @@ struct ehci_dbgp {
     struct timer timer;
     spinlock_t *lock;
     bool reset_run;
-    u8 bus, slot, func, bar;
+    u8 bar;
+    pci_sbdf_t sbdf;
     u16 pci_cr;
     u32 bar_val;
     unsigned int cap;
@@ -720,9 +721,7 @@ static unsigned int __init find_dbgp(struct ehci_dbgp =
*dbgp,
                     continue;
                 }
=20
-                dbgp->bus =3D bus;
-                dbgp->slot =3D slot;
-                dbgp->func =3D func;
+                dbgp->sbdf =3D sbdf;
                 return cap;
             }
         }
@@ -1009,20 +1008,18 @@ static set_debug_port_t __read_mostly set_debug_po=
rt =3D default_set_debug_port;
 static void cf_check nvidia_set_debug_port(
     struct ehci_dbgp *dbgp, unsigned int port)
 {
-    uint32_t dword =3D pci_conf_read32(PCI_SBDF(0, dbgp->bus, dbgp->slot,
-                                              dbgp->func), 0x74);
+    uint32_t dword =3D pci_conf_read32(dbgp->sbdf, 0x74);
=20
     dword &=3D ~(0x0f << 12);
     dword |=3D (port & 0x0f) << 12;
-    pci_conf_write32(PCI_SBDF(0, dbgp->bus, dbgp->slot, dbgp->func), 0x74=
,
+    pci_conf_write32(dbgp->sbdf, 0x74,
                      dword);
     dbgp_printk("set debug port to %u\n", port);
 }
=20
 static void __init detect_set_debug_port(struct ehci_dbgp *dbgp)
 {
-    if ( pci_conf_read16(PCI_SBDF(0, dbgp->bus, dbgp->slot, dbgp->func),
-                         PCI_VENDOR_ID) =3D=3D 0x10de )
+    if ( pci_conf_read16(dbgp->sbdf, PCI_VENDOR_ID) =3D=3D 0x10de )
     {
         dbgp_printk("using nvidia set_debug_port\n");
         set_debug_port =3D nvidia_set_debug_port;
@@ -1044,15 +1041,13 @@ static void ehci_dbgp_bios_handoff(struct ehci_dbg=
p *dbgp, u32 hcc_params)
     if ( !offset )
         return;
=20
-    cap =3D pci_conf_read32(PCI_SBDF(0, dbgp->bus, dbgp->slot, dbgp->func=
),
-                          offset);
+    cap =3D pci_conf_read32(dbgp->sbdf, offset);
     dbgp_printk("dbgp: EHCI BIOS state %08x\n", cap);
=20
     if ( (cap & 0xff) =3D=3D 1 && (cap & EHCI_USBLEGSUP_BIOS) )
     {
         dbgp_printk("dbgp: BIOS handoff\n");
-        pci_conf_write8(PCI_SBDF(0, dbgp->bus, dbgp->slot, dbgp->func),
-                        offset + 3, 1);
+        pci_conf_write8(dbgp->sbdf, offset + 3, 1);
     }
=20
     /* if boot firmware now owns EHCI, spin till it hands it over=2E */
@@ -1061,8 +1056,7 @@ static void ehci_dbgp_bios_handoff(struct ehci_dbgp =
*dbgp, u32 hcc_params)
     {
         mdelay(10);
         msec -=3D 10;
-        cap =3D pci_conf_read32(PCI_SBDF(0, dbgp->bus, dbgp->slot, dbgp->=
func),
-                              offset);
+        cap =3D pci_conf_read32(dbgp->sbdf, offset);
     }
=20
     if ( cap & EHCI_USBLEGSUP_BIOS )
@@ -1070,13 +1064,11 @@ static void ehci_dbgp_bios_handoff(struct ehci_dbg=
p *dbgp, u32 hcc_params)
         /* well, possibly buggy BIOS=2E=2E=2E try to shut it down,
          * and hope nothing goes too wrong */
         dbgp_printk("dbgp: BIOS handoff failed: %08x\n", cap);
-        pci_conf_write8(PCI_SBDF(0, dbgp->bus, dbgp->slot, dbgp->func),
-                        offset + 2, 0);
+        pci_conf_write8(dbgp->sbdf, offset + 2, 0);
     }
=20
     /* just in case, always disable EHCI SMIs */
-    pci_conf_write8(PCI_SBDF(0, dbgp->bus, dbgp->slot, dbgp->func),
-                    offset + EHCI_USBLEGCTLSTS, 0);
+    pci_conf_write8(dbgp->sbdf, offset + EHCI_USBLEGCTLSTS, 0);
 }
=20
 static int ehci_dbgp_setup(struct ehci_dbgp *dbgp)
@@ -1318,19 +1310,15 @@ static void __init cf_check ehci_dbgp_init_preirq(=
struct serial_port *port)
     u32 debug_port, offset;
     void __iomem *ehci_bar;
=20
-    debug_port =3D pci_conf_read32(PCI_SBDF(0, dbgp->bus, dbgp->slot, dbg=
p->func),
-                                 dbgp->cap);
+    debug_port =3D pci_conf_read32(dbgp->sbdf, dbgp->cap);
     offset =3D (debug_port >> 16) & 0xfff;
=20
     /* double check if the mem space is enabled */
-    dbgp->pci_cr =3D pci_conf_read8(PCI_SBDF(0, dbgp->bus, dbgp->slot,
-                                           dbgp->func),
-                                  PCI_COMMAND);
+    dbgp->pci_cr =3D pci_conf_read8(dbgp->sbdf, PCI_COMMAND);
     if ( !(dbgp->pci_cr & PCI_COMMAND_MEMORY) )
     {
         dbgp->pci_cr |=3D PCI_COMMAND_MEMORY;
-        pci_conf_write16(PCI_SBDF(0, dbgp->bus, dbgp->slot, dbgp->func),
-                         PCI_COMMAND, dbgp->pci_cr);
+        pci_conf_write16(dbgp->sbdf, PCI_COMMAND, dbgp->pci_cr);
         dbgp_printk("MMIO for EHCI enabled\n");
     }
=20
@@ -1374,7 +1362,7 @@ static void __init cf_check ehci_dbgp_init_postirq(s=
truct serial_port *port)
=20
     ehci_dbgp_setup_postirq(dbgp);
=20
-    pci_hide_device(PCI_SBDF(0, dbgp->bus, dbgp->slot, dbgp->func));
+    pci_hide_device(dbgp->sbdf);
 }
=20
 static int ehci_dbgp_check_release(struct ehci_dbgp *dbgp)
@@ -1395,8 +1383,7 @@ static int ehci_dbgp_check_release(struct ehci_dbgp =
*dbgp)
      * so as to allow for reuse of the USB device, which means it is time
      * to shutdown the USB debug port=2E
      */
-    printk(XENLOG_INFO "Releasing EHCI debug port at %02x:%02x=2E%u\n",
-           dbgp->bus, dbgp->slot, dbgp->func);
+    printk(XENLOG_INFO "Releasing EHCI debug port at %pp\n", &dbgp->sbdf)=
;
=20
     if ( dbgp->timer=2Efunction )
         kill_timer(&dbgp->timer);
@@ -1429,9 +1416,7 @@ static void cf_check ehci_dbgp_suspend(struct serial=
_port *port)
     stop_timer(&dbgp->timer);
     dbgp->timer=2Eexpires =3D 0;
=20
-    dbgp->pci_cr =3D pci_conf_read16(PCI_SBDF(0, dbgp->bus, dbgp->slot,
-                                            dbgp->func),
-                                   PCI_COMMAND);
+    dbgp->pci_cr =3D pci_conf_read16(dbgp->sbdf, PCI_COMMAND);
=20
     dbgp->state =3D dbgp_unsafe;
 }
@@ -1443,10 +1428,8 @@ static void cf_check ehci_dbgp_resume(struct serial=
_port *port)
     if ( !dbgp->ehci_debug )
         return;
=20
-    pci_conf_write32(PCI_SBDF(0, dbgp->bus, dbgp->slot, dbgp->func), dbgp=
->bar,
-                     dbgp->bar_val);
-    pci_conf_write16(PCI_SBDF(0, dbgp->bus, dbgp->slot, dbgp->func),
-                     PCI_COMMAND, dbgp->pci_cr);
+    pci_conf_write32(dbgp->sbdf, dbgp->bar, dbgp->bar_val);
+    pci_conf_write16(dbgp->sbdf, PCI_COMMAND, dbgp->pci_cr);
=20
     ehci_dbgp_setup_preirq(dbgp);
     ehci_dbgp_setup_postirq(dbgp);
@@ -1503,8 +1486,7 @@ void __init ehci_dbgp_init(void)
         if ( !dbgp->cap )
             return;
=20
-        dbgp_printk("Found EHCI debug port on %02x:%02x=2E%u\n",
-                    dbgp->bus, dbgp->slot, dbgp->func);
+        dbgp_printk("Found EHCI debug port on %pp\n", &dbgp->sbdf);
     }
     else if ( strncmp(opt_dbgp + 4, "@pci", 4) =3D=3D 0 )
     {
@@ -1514,9 +1496,7 @@ void __init ehci_dbgp_init(void)
         if ( !e || *e )
             return;
=20
-        dbgp->bus =3D sbdf=2Ebus;
-        dbgp->slot =3D sbdf=2Edev;
-        dbgp->func =3D sbdf=2Efn;
+        dbgp->sbdf =3D sbdf;
=20
         if ( !pci_device_detect(sbdf) )
             return;
@@ -1530,8 +1510,7 @@ void __init ehci_dbgp_init(void)
     else
         return;
=20
-    debug_port =3D pci_conf_read32(PCI_SBDF(0, dbgp->bus, dbgp->slot, dbg=
p->func),
-                                 dbgp->cap);
+    debug_port =3D pci_conf_read32(dbgp->sbdf, dbgp->cap);
     dbgp->bar =3D (debug_port >> 29) & 0x7;
     dbgp->bar =3D ((dbgp->bar - 1) * 4) + PCI_BASE_ADDRESS_0;
     offset =3D (debug_port >> 16) & 0xfff;
@@ -1542,8 +1521,7 @@ void __init ehci_dbgp_init(void)
         return;
     }
=20
-    dbgp->bar_val =3D bar_val =3D pci_conf_read32(PCI_SBDF(0, dbgp->bus, =
dbgp->slot,
-                                                       dbgp->func), dbgp-=
>bar);
+    dbgp->bar_val =3D bar_val =3D pci_conf_read32(dbgp->sbdf, dbgp->bar);
     dbgp_printk("bar_val: %08x\n", bar_val);
     if ( bar_val & ~PCI_BASE_ADDRESS_MEM_MASK )
     {
@@ -1570,8 +1548,7 @@ int dbgp_op(const struct physdev_dbgp_op *op)
     case PHYSDEVOP_DBGP_BUS_UNKNOWN:
         break;
     case PHYSDEVOP_DBGP_BUS_PCI:
-        if ( op->u=2Epci=2Eseg || ehci_dbgp=2Ebus !=3D op->u=2Epci=2Ebus =
||
-            PCI_DEVFN(ehci_dbgp=2Eslot, ehci_dbgp=2Efunc) !=3D op->u=2Epc=
i=2Edevfn )
+        if ( PCI_SBDF(op->u=2Epci=2Eseg, op->u=2Epci=2Ebus, op->u=2Epci=
=2Edevfn)=2Esbdf !=3D ehci_dbgp=2Esbdf=2Esbdf )
     default:
             return 0;
         break;
--=20
2=2E54=2E0



-- 
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates s=
olutions

web: https://vates=2Etech
---=Part.695.623cb6c98c5b1ce1.19edb3b595d.5f4c9347451f755a=---


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 14:56:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 14:56:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341288.1601840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waEAN-000317-WB; Thu, 18 Jun 2026 14:56:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341288.1601840; Thu, 18 Jun 2026 14:56: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 1waEAN-0002zp-O1; Thu, 18 Jun 2026 14:56:27 +0000
Received: by outflank-mailman (input) for mailman id 1341288;
 Thu, 18 Jun 2026 14:56:27 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b5d89000701b@swg.vates.tech>)
 id 1waEAM-0002fb-Un
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 14:56:26 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waEAM-002Mnm-Ah
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 16:56:26 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b5d89000701b@swg.vates.tech>)
 id 6a34071a-2eae-0a2a0a5409dd-0a2a4502dd68-2
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:26 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19edb3b5d89000701b@swg.vates.tech>)
 id 6a3406fe-fdf1-0a2a45020019-b9ff1c12adcb-18
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 16:56:26 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19edb3b5d89000701b.005 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 18 Jun 2026 14:56:01 +0000
Received: from bazzite.gpn.vates.fr (88-188-240-210.subs.proxad.net
 [88.188.240.210]) (Authenticated sender: teddy.astie@vates.tech)
 by mail2.vates.fr (Postfix) with ESMTPSA id C5D1C869EE;
 Thu, 18 Jun 2026 16:56:00 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=fRXMaPeHOTuWlIP0v2b1JaYKKB7FB37YvQSUSsGNDqE=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=JgIHWLoCu+O46wvh7+cHPSUv2hqzD4HiYSiDR4tJSe+TubtFoS54rcNjKdCKjxMMwwekrB4vd
 n8DyhBLK1NXqp7dAkgPIVZv6/SpKN+VDBhZAuxw6Df9NWPDK/JRGS1grHbiYlW+DSxdaA6u5MP3
 9BbqbTn+iTQrXgT8F4r/BjXlThztij0FC++iyIbUKWJyUntaW5Rt8r3x98jWbDb+PI9F3jg/z9c
 YJk608KRERkdgHdjablZevDeiPI+cm3K5FuxDQugzajFfkjuopUHT/72K2RJ1IaBkjTZhjOUy5p
 wtuKxMMWdGdnSIt5wSym7Lqezwjuel0lks7V2hIbhCtQ==
X-Zone-Loop: d2e82ef63d5983737220f029feb7452e993ba78d11bc
x-campaign-type: default
x-transaction-id: deb5d271-f86f-4b7c-82fb-2287fdbb1a19
x-swg-uid: 01-3293f81d-489e-47ef-83df-4fdd94796a0a
X-Mailer: Sweego
Message-ID:
 <1781794561.8631fc262581453bbf619ec5b2062170.19edb3b5d89000701b@vates.tech>
x-swg-bid: 1781794561.8631fc262581453bbf619ec5b2062170.19edb3b5d89000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
From: Teddy Astie <teddy.astie@vates.tech>
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>,
	Andrew Cooper <andrew.cooper3@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: [RFC PATCH v2 15/15] docs: Document support for PCI segment in dbgp and comN parameter
Date: Thu, 18 Jun 2026 16:50:39 +0200
In-Reply-To: <cover.1781790171.git.teddy.astie@vates.tech>
References: <cover.1781790171.git.teddy.astie@vates.tech>
MIME-Version: 1.0
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.696.eddf84f40497af9f.19edb3b5bf3.6f892e792d2421b9=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781794561011
X-purgate-ID: tlsNG-720697/1781794586-460643F3-C6F86228/0/0
X-purgate-type: clean
X-purgate-size: 3120

---=Part.696.eddf84f40497af9f.19edb3b5bf3.6f892e792d2421b9=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Now that we accept full PCI SBDF (with segments), update the documentation
accordingly=2E

Signed-off-by: Teddy Astie <teddy=2Eastie@vates=2Etech>
---
In principle, it's correct, but I don't think ECAM is usable
at the moment EHCI dbgp is initialized, which would prevent
the device from being probed correctly if it's not on segment 0=2E

Same remark for comN=2E
---
 docs/misc/xen-command-line=2Epandoc | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/docs/misc/xen-command-line=2Epandoc b/docs/misc/xen-command-l=
ine=2Epandoc
index 1c711fa980=2E=2E3b35a1962c 100644
--- a/docs/misc/xen-command-line=2Epandoc
+++ b/docs/misc/xen-command-line=2Epandoc
@@ -349,7 +349,7 @@ ACPI indicating none to be there=2E
=20
 ### com1 (x86)
 ### com2 (x86)
-> `=3D <baud>[/<base-baud>][,[DPS][,[<io-base>|pci|amt][,[<irq>|msi][,[<p=
ort-bdf>][,[<bridge-bdf>]]]]]]`
+> `=3D <baud>[/<base-baud>][,[DPS][,[<io-base>|pci|amt][,[<irq>|msi][,[<p=
ort-sbdf>][,[<bridge-sbdf>]]]]]]`
=20
 Both option `com1` and `com2` follow the same format=2E
=20
@@ -371,10 +371,10 @@ Both option `com1` and `com2` follow the same format=
=2E
   registers=2E
 * `<irq>` is the IRQ number to use, or `0` to use the UART in poll
   mode only, or `msi` to set up a Message Signaled Interrupt=2E
-* `<port-bdf>` is the PCI location of the UART, in
-  `<bus>:<device>=2E<function>` notation=2E
-* `<bridge-bdf>` is the PCI bridge behind which is the UART, in
-  `<bus>:<device>=2E<function>` notation=2E
+* `<port-sbdf>` is the PCI location of the UART, in
+  `[<seg>:]<bus>:<device>=2E<function>` notation=2E
+* `<bridge-sbdf>` is the PCI bridge behind which is the UART, in
+  `[<seg>:]<bus>:<device>=2E<function>` notation=2E
 * `pci` indicates that Xen should scan the PCI bus for the UART,
   avoiding Intel AMT devices=2E
 * `amt` indicated that Xen should scan the PCI bus for the UART,
@@ -731,11 +731,11 @@ for the `all` value=2E If that isn't intended, raise
 the `sched_credit2_max_cpus_runqueue` value=2E
=20
 ### dbgp
-> `=3D ehci[ <integer> | @pci<bus>:<slot>=2E<func> ]`
-> `=3D xhci[ <integer> | @pci<bus>:<slot>=2E<func> ][,share=3D<bool>|hwdo=
m]`
+> `=3D ehci[ <integer> | @pci[<seg>:]<bus>:<slot>=2E<func> ]`
+> `=3D xhci[ <integer> | @pci[<seg>:]<bus>:<slot>=2E<func> ][,share=3D<bo=
ol>|hwdom]`
=20
 Specify the USB controller to use, either by instance number (when going
-over the PCI busses sequentially) or by PCI device (must be on segment 0)=
=2E
+over the PCI busses sequentially in segment 0) or by PCI device=2E
=20
 Use `ehci` for EHCI debug port, use `xhci` for XHCI debug capability=2E
 XHCI driver will wait indefinitely for the debug host to connect - make s=
ure
--=20
2=2E54=2E0



-- 
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates s=
olutions

web: https://vates=2Etech
---=Part.696.eddf84f40497af9f.19edb3b5bf3.6f892e792d2421b9=---


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 15:04:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 15:04:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341376.1601856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waEHf-0008N4-U7; Thu, 18 Jun 2026 15:03:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341376.1601856; Thu, 18 Jun 2026 15: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 1waEHf-0008Mx-Os; Thu, 18 Jun 2026 15:03:59 +0000
Received: by outflank-mailman (input) for mailman id 1341376;
 Thu, 18 Jun 2026 15:03:58 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1waEHe-0008Mr-CX
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 15:03:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waEHd-004UTZ-PQ
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 17:03:57 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3408c8-bab6-0a2a0a5309dd-0a2a4503c672-46
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 17:03:57 +0200
Received: from [209.85.218.41] (helo=mail-ej1-f41.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3408dd-a3da-0a2a45030019-d155da29e49b-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 17:03:57 +0200
Received: by mail-ej1-f41.google.com with SMTP id
 a640c23a62f3a-befee9e5ef7so134474466b.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 08:03: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-4619a041986sm39201158f8f.23.2026.06.18.08.03.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Jun 2026 08:03: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781795037; x=1782399837; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=MBJiCiqt9fmIlUGG5epJm6L5+xzYynZ9zDpox4hJBRE=;
        b=Ob8B4y9BWvkLOa4tqS4PnOHYeq5dc+sPibdhm2UytGP/kIclazV2SHgRGI2EGuWnGI
         rMoAW/XbETEYOTRQNKJ/rh1aq22Db5wabbJKC5d32KjpJh4NXB1Kt5mAL7qN87RpCdIS
         XimwnlMpn2Y67HSah3iPOq2B/J98aXNAv0M/q0lKSz0G/JK2jR/DaQ9P4OjoN3saGEay
         PixXt4+Irx0hMF29BAjh6wgzc/nolifQsiJhmKlrQMwsghEy1wTu6ZanEjReTffnrxKC
         0/Mh1pfyetzuk7b11ZBuefqIjNUap/0UjL41bPaiw2r+g69SvsFu2x8WXISkcQhFLVgV
         hK5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781795037; x=1782399837;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MBJiCiqt9fmIlUGG5epJm6L5+xzYynZ9zDpox4hJBRE=;
        b=JDwFOf5cnSePq8+WqCuv3Nz8lnAo+Qbbq5CusA98tobzVMj6lqNln3fYI1NWDLKR/Q
         auu2nSkGi9dljRy+yp9oNxac+RV5imXrZKvphw8I+NkZ0XzDQhasDrD68fDIkuoipmEX
         kNsDVPWdQeXEVa5DgWdN3osPR4o24LyZAI8OoeepyZCvJ+EWevCQW612G38NjtY+NJdk
         5DOLhbdeYX8IQhlX2ve3QvDGtLsktrWrnfi4pJR+KpW+Wt6e5wXAlvrOKd7ATZzLNNqk
         yqkQyC6HJPVgz27PyFkd2fIGzQA6BWiDeYPTRvJcPk50HgSvXQwnfA4wow7XHjid2nNP
         mlnw==
X-Forwarded-Encrypted: i=1; AFNElJ9J3e9LEJUVcb3HP+UZ32mS6eJychOutN+49RlF8g/S4yukYkdQnQL2ZHLkTx9cFJSTdfWpYwvTDnQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxMDhzWwBUplUAdDwm6HHeOVP3J0nLf2GCavAeF2xHtqt/Nyrkp
	q3KfRBvpoW7EO6lrIBlIJr5RTUR3AUdj6OoyAH3QHujKSdq09A/JjKRHXoOVuHdsIQ==
X-Gm-Gg: AfdE7ck2Cc3N3fLGeA4d+W+2MUf7/OzWiV/4X3t8MYaqz7d3DNTWlhC2av6OPcQ0g2n
	um32GPJaI8qhfurnhVwFKcQkCjiADJepHQ03YqLRICQZNfgwF76dKRnAbggYs1d9kci2B3NQGBR
	72lWeEKw3a5B5Z5xYIBw8q3UYZYu+atYnMEkQ/BikO/NIWuVwDr7Z3vXdT8PFC5EJLdtK9PNNcR
	bqJZw+NCsR7GGeiGRdaEMKqmTSg/xkO9FbRptN/oh3geRklwL5Z93PGLo+1KKt1+hMH8F6ednZj
	ZUFBgN7xhWqMdUBML50Arva6WcveCMOx/xWpm9fYTf1NR1cXutgvNUiyvgNkJVZ1+Os6Rs+DR++
	8F+ETllo2DG00SKTu/WLBAfFAP9XRgmdDdUecn1zSHuMd3I9AcZgqpHC+U3KlcHA/8wcfrj3M66
	8MBOaSb94j//qEbsgQSdYkHz35yO3rhR27rum/HPfCWiqOf3yGE7LB+Z5M7cshyM4Q87ha4wkBn
	x3g
X-Received: by 2002:a17:907:3d11:b0:bec:436f:1857 with SMTP id a640c23a62f3a-c05a1f462c9mr594419266b.7.1781795037067;
        Thu, 18 Jun 2026 08:03:57 -0700 (PDT)
Message-ID: <3d32d75b-acf2-4ece-bc9f-56cf13eb7a16@suse.com>
Date: Thu, 18 Jun 2026 17:03:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v2 15/15] docs: Document support for PCI segment in
 dbgp and comN parameter
To: Teddy Astie <teddy.astie@vates.tech>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794561.8631fc262581453bbf619ec5b2062170.19edb3b5d89000701b@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1781794561.8631fc262581453bbf619ec5b2062170.19edb3b5d89000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1781795037-673DCD84-FE32871D/0/0
X-purgate-type: clean
X-purgate-size: 563

On 18.06.2026 16:50, Teddy Astie wrote:
> Now that we accept full PCI SBDF (with segments), update the documentation
> accordingly.
> 
> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
> ---
> In principle, it's correct, but I don't think ECAM is usable
> at the moment EHCI dbgp is initialized, which would prevent
> the device from being probed correctly if it's not on segment 0.

Right, that depends on what the ACPI MCFG table exposes. If you really want
to allow segment numbers here, the caveat needs mentioning in the updated
doc.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 15:43:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 15:43:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341410.1601868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waEtN-0008Qq-Rq; Thu, 18 Jun 2026 15:42:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341410.1601868; Thu, 18 Jun 2026 15:42: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 1waEtN-0008QP-NR; Thu, 18 Jun 2026 15:42:57 +0000
Received: by outflank-mailman (input) for mailman id 1341410;
 Thu, 18 Jun 2026 15:42:10 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <stojkovicdusan555@gmail.com>) id 1waEsb-0008GB-T0
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 15:42:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waEsb-002UN8-9l
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 17:42:09 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <stojkovicdusan555@gmail.com>)
 id 6a34119d-bab6-0a2a0a5309dd-0a2a450c9a6a-46
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 17:42:09 +0200
Received: from [209.85.221.49] (helo=mail-wr1-f49.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <stojkovicdusan555@gmail.com>)
 id 6a3411d1-94a4-0a2a450c0019-d155dd31b5b2-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 17:42:09 +0200
Received: by mail-wr1-f49.google.com with SMTP id
 ffacd0b85a97d-46019edc13dso643109f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 08:42:09 -0700 (PDT)
Received: from RTRKN1313-LIN.domain.local ([89.216.37.146])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2c473bsm69038581f8f.28.2026.06.18.08.42.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Jun 2026 08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding:MIME-Version:Subject:Date:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781797329; x=1782402129; darn=lists.xenproject.org;
        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
         :mime-version:subject:date:from:from:to:cc:subject:date:message-id
         :reply-to;
        bh=bwvkO6znXhIa5qM7wiZu9yQsBOrMOtM8ilQjUKeprio=;
        b=UK5r4pp1pOEtegL19gUPBVrXTWqCAaxPQ3Ek5nQBJJ5FTVf0SgaoTKCpnVz1RikpM7
         /xqmeczEFoN3z5/0TIe1edIy9CuLRT7YMlejZj5dRgIe68jIxYOFvpt2fF7gx4M0wCgM
         ah1NFAWXoVD7wQFea4/ROu6H0Z1PlZP9MXMUCIRI135ymbDw/GhnvXfhZU6D1YeJI4mP
         lQHjuD1F+AHKLcmORCgVXZMDE65TwlVLOSp8JIKevoBc/aQWsxAYUgu9MrX3k/Ln27cU
         ccaZOziQsmELKgIs+h/f429b4I+smorQd5pDGeO46OKXtxlw8oLzxK1zjOMrCqrzFjav
         4zqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781797329; x=1782402129;
        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
         :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=bwvkO6znXhIa5qM7wiZu9yQsBOrMOtM8ilQjUKeprio=;
        b=LTFAerhgg3B5ijSwxthgZDuddL5Msop/NNzLcNyhkGMqpGI2pmh4Hfl3XGJwqGfux7
         xfxga87n3NUk2ssN/QlZa5QWTBRju6qd4Xqi8QhaLUbzD2tAUcpUGcNqte4oYHmQDE2w
         Fc5Xy3mjy7MIF2vu9uWcaz3LMJ3fiJ1iHbAYWspy5sVi4WDYJy6S5jdKqdq1jceWk1i5
         vKfkWW4B+F2MJr/p+V+Z9rZyL9tHHy6smOAQ+PyiC05k5cKD9dve8HQLKqdp/ENZIQAE
         LCsYUbERSpmFJ0VlZLb9UuwREXrkUFzj/qx8YdZ5tVHpwr+zOsbCFEe+F7jNthqXLn+S
         CK4w==
X-Forwarded-Encrypted: i=1; AFNElJ8wQMrR4VbhRZPM0saUcZPHJ2AtfaZnL7b62qm4EeFXxrCoQL6LQ6xQ19DFOgBD3qZTlPp8EWmNdpo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy9y54xrrQaF3swQmo6T2MTF9Ba3PD3GX8pZAUCs+Gnjv7drc6l
	TkBJlVDvHLFaGL9z+VBzTDsZf8TWJJnwlLixgw6Jn063ah14D0RW3hlP
X-Gm-Gg: AfdE7cmIflTlRIOZ2fZL+IDxX5JgHKSalXDJTzfvN922PiWfG+WOhMBbk7hh+wHdDeq
	d+ccjhsB/0YITiDDl3CyfS0ObBhAp6Txbxt/JI99eVDpPdJdCf6AUzA/enS4aTlT3P3/duni8nf
	jakfGDZ7Ioi/sjTzd7CBLrdLH7RZ3FafJNILPUpe/0bChbglQMZ5oYdLZ7B0G/MGpC8VV1DKteb
	eOOVYLu46KtEfb93PgwBIrMmta1Yrbgfa2jNGQGRJFoHZ1iOW92IsTjvQ+Y0mrKM4qLmI1hEjYb
	c0e9XhuSeK0gqIO83n7gKU7/XuFlDzPJXHTzsU8mFYWH2vZOgTMe4XetIHxCHeCzlAtRCofCMOk
	gAG85KYAKVL8AZub90oZCMVH/dQKiF9JzDeAoLi1sANVCVj9FjEnTfTnR1wgb8NE3fpWd2RvEAh
	Lm4IE7+6XUPIvQMNS9qvjwKSxboJ31GsgaJHp6PrmkOvYbvSEsU19y
X-Received: by 2002:a05:6000:2382:b0:45e:df08:b02 with SMTP id ffacd0b85a97d-46240cf9461mr15122509f8f.28.1781797328378;
        Thu, 18 Jun 2026 08:42:08 -0700 (PDT)
From: Dusan Stojkovic <stojkovicdusan555@gmail.com>
Date: Thu, 18 Jun 2026 17:39:36 +0200
Subject: [PATCH RFC 1/2] vhost: accept Xen guest RAM sections for
 vhost-user
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20260618-vhost-xen-foreign-mapping-v1-1-7f60a6241971@rt-rk.com>
References: <20260618-vhost-xen-foreign-mapping-v1-0-7f60a6241971@rt-rk.com>
In-Reply-To: <20260618-vhost-xen-foreign-mapping-v1-0-7f60a6241971@rt-rk.com>
To: qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>, 
 Stefano Garzarella <sgarzare@redhat.com>, 
 Stefano Stabellini <sstabellini@kernel.org>, 
 Anthony PERARD <anthony@xenproject.org>, 
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, 
 xen-devel@lists.xenproject.org, Viresh Kumar <viresh.kumar@linaro.org>, 
 Dusan Stojkovic <Dusan.Stojkovic@rt-rk.com>, 
 Nikola Jelic <Nikola.Jelic@rt-rk.com>
X-Mailer: b4 0.13.0
X-purgate-ID: tlsNG-d25034/1781797329-51DF4ABF-D137DFF2/0/0
X-purgate-type: clean
X-purgate-size: 3356

From: Dusan Stojkovic <Dusan.Stojkovic@rt-rk.com>

When QEMU runs as a Xen device model, the guest's RAM is not allocated
by QEMU and is not backed by a file descriptor that could be shared
with a vhost-user backend: accesses from QEMU go through the Xen
mapcache and memory_region_get_fd() returns -1. vhost_section()
therefore filters out every RAM section, the vhost memory listener
registers no regions, and starting any vhost-user device fails with
"Failed initializing vhost-user memory map".

With VHOST_USER_PROTOCOL_F_XEN_MMAP the backend does not need an fd or
a process-local mapping it maps guest memory itself through the Xen
foreign mapping interface, using the guest physical address and domain
id. Accept the Xen RAM region in vhost_section() so that it reaches
the backend's memory table.

The Xen grant region (xen.grants) must never be accepted: grant
references can only be mapped individually on demand via
address_space_map(), and deriving a host pointer for the whole region,
as vhost_region_add_section() does, aborts in the Xen mapcache. Note
that xen_mr_is_memory() returns true for both the RAM and the grants
region, so the grants region is excluded explicitly.

Because of the necessity to exlude xen.grants, the missing stub for
xen_mr_is_grants is added so that it can be called from common code.

Signed-off-by: Dusan Stojkovic <Dusan.Stojkovic@rt-rk.com>
Signed-off-by: Nikola Jelic <Nikola.Jelic@rt-rk.com>
---
 hw/virtio/vhost.c  | 18 ++++++++++++++++++
 hw/xen/xen_stubs.c |  5 +++++
 2 files changed, 23 insertions(+)

diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
index af41841b52..26770d06d5 100644
--- a/hw/virtio/vhost.c
+++ b/hw/virtio/vhost.c
@@ -29,6 +29,7 @@
 #include "system/dma.h"
 #include "system/memory.h"
 #include "system/ramblock.h"
+#include "system/xen.h"
 #include "trace.h"
 
 /* enabled until disconnected backend stabilizes */
@@ -657,6 +658,23 @@ static bool vhost_section(struct vhost_dev *dev, MemoryRegionSection *section)
             return false;
         }
 
+        /*
+         * Under Xen, the guest's RAM is not backed by an fd that
+         * be passed to a vhost-user backend.  The backend instead
+         * guest memory through the Xen foreign mapping interface,
+         * by guest physical address and domain id (see
+         * VHOST_USER_PROTOCOL_F_XEN_MMAP), so accept the Xen RAM
+         * region even though it has no fd.
+         */
+        if (xen_enabled()) {
+            if (xen_mr_is_memory(mr) && !xen_mr_is_grants(mr)) {
+                trace_vhost_section(mr->name);
+                return true;
+            }
+            trace_vhost_reject_section(mr->name, 4);
+            return false;
+        }
+
         /*
          * Some backends (like vhost-user) can only handle memory regions
          * that have an fd (can be mapped into a different process). Filter
diff --git a/hw/xen/xen_stubs.c b/hw/xen/xen_stubs.c
index f830768d99..7af39bceb0 100644
--- a/hw/xen/xen_stubs.c
+++ b/hw/xen/xen_stubs.c
@@ -29,6 +29,11 @@ bool xen_mr_is_memory(const MemoryRegion *mr)
     g_assert_not_reached();
 }
 
+bool xen_mr_is_grants(const MemoryRegion *mr)
+{
+    g_assert_not_reached();
+}
+
 bool xen_map_cache_enabled(void)
 {
     return false;

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 18 15:43:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 15:43:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341413.1601873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waEtO-00004r-2f; Thu, 18 Jun 2026 15:42:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341413.1601873; Thu, 18 Jun 2026 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 1waEtN-0008VX-Ux; Thu, 18 Jun 2026 15:42:57 +0000
Received: by outflank-mailman (input) for mailman id 1341413;
 Thu, 18 Jun 2026 15:42:11 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <stojkovicdusan555@gmail.com>) id 1waEsd-0008GN-Nx
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 15:42:11 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waEsc-00H5lX-Od
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 17:42:10 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <stojkovicdusan555@gmail.com>)
 id 6a3411c4-2eae-0a2a0a5409dd-0a2a4501eb26-20
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 17:42:10 +0200
Received: from [209.85.221.51] (helo=mail-wr1-f51.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <stojkovicdusan555@gmail.com>)
 id 6a3411d2-e031-0a2a45010019-d155dd33b870-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 17:42:10 +0200
Received: by mail-wr1-f51.google.com with SMTP id
 ffacd0b85a97d-462342ac290so1294430f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 08:42:10 -0700 (PDT)
Received: from RTRKN1313-LIN.domain.local ([89.216.37.146])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2c473bsm69038581f8f.28.2026.06.18.08.42.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Jun 2026 08:42:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding:MIME-Version:Subject:Date:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781797330; x=1782402130; darn=lists.xenproject.org;
        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
         :mime-version:subject:date:from:from:to:cc:subject:date:message-id
         :reply-to;
        bh=ylBpQ0bt/QK9zQ9BEMnv21TmNMn+xhUv/pb6/Do4RGs=;
        b=rbj+KWy3MuLyf8Rr+TUqPd5bEk+nz+xnsCAFQLOY9++w0exg1e7Vo27uJuhSUgCnxo
         PmLK1S9i+TCgx/LU9awWybDI3onf4mWhG+oyK2Bc1CYNhzbdmnE8estWRTaOQ1/dv5B8
         UPi9/wqZNay3DQ8/vnZ9moB6c1eiVq2dvLo0ThbTfwy9C5AaKqxy490SRwg+Rm5wBqEh
         Hh1i1nyCKmeh0rxp+IJB4uJt+n34gv0lt2fdIY5FOdXIT026AcjqAoqEBfhqBsr+xSTQ
         QCL50TWvAgsr0BmslyCS9QPkZbZya9t6sNFW6Mhk1Xqc6an7ldDaERrAYCO8ImIuphP0
         IONg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781797330; x=1782402130;
        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
         :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=ylBpQ0bt/QK9zQ9BEMnv21TmNMn+xhUv/pb6/Do4RGs=;
        b=hyX0A6GOjLAOB+qisrW8JST/l0hdqpylArHMMjmEtBhWj1cMrsFZbMzToYNqtr0Y3j
         FdeQzJtWnUaA/I/r+2RWGDB/ei0mA6M2PogF00qkFndF0GvAzfBG95tbQDR8ZRVUHdSP
         +VA52pbLjqy01mlemxifTUF0TU/pU8LjOhioHdGaSpJkZM9iUN7MoDn9c0SjY+02h3e1
         etjrUor7eHZG3kOYkZtiwHkSAKrIzwjy/TrKqHmRQ/PZnJ1wsT79vm2Mw6tykBomN7LM
         43uDtmp+HydWLAc+OR54kWl1m+RijdeN9k7zrvht7AGe17CrQjUc09yHJytd9Fo1DGi7
         /IBg==
X-Forwarded-Encrypted: i=1; AFNElJ8SNAg56V8NHlWbXp2T01Xd+4NwXuqM72KnYdx+WUSyD1H5xYPqhGNU3cAgkE09HZ704mSEGkjrGxs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxyb6ySh18c/BFvlZuJBwGypm3UJMkod/P7CeWMUswrAFhdrUnp
	R9le9dzbX7WxLg9aqB/s9Yz9w3eDBMzJ9WnSOfF5EeH8tQkMMzYf8MxJ
X-Gm-Gg: AfdE7cmQhWG0TOpBRVhDmnnf2CuSME4ddv6dfCY3Bvqo5nlXC2fWzsokfv9e4F5dgIy
	werik+7aU+J0ZtfTsZai1CwyAaA28D9iaEL5PlbH7bbzPn5duaHjh0zLki4Bg3LNIumbs0oIZLI
	tynkzgdKrYas62hfuZlDDajbe3psGlsxy08qN8bCJBwnCC4uZjuX5gr2bmWKY9m/mLRfXpuNFJB
	fQxCTfgwR16TmgHMWxWWvKe2V9oo9jPIsmVmu54ChWYbFWrLvgkuoO3DqwbnNZFwlkdm/BnJ3A3
	LPryu8g55+DXvjpLf+BYT5mojKYlUFdDwEWWMqVRMkKtD2Wq+S+bHHaBKg6xsISlWL2/h64dmez
	kLkssJo2atNWCh/gthapcqWuTpYv48CFi7UEZy5ZkMlDgiLdGWwhMPk/3YJI6dnTZjEGf0Zgbod
	UkXA3YxWrDkp4zinq5jIWjmnagHDPZn1SnvFGsiAUMIg==
X-Received: by 2002:a5d:64e3:0:b0:460:3233:beea with SMTP id ffacd0b85a97d-46241b76818mr15062090f8f.42.1781797329944;
        Thu, 18 Jun 2026 08:42:09 -0700 (PDT)
From: Dusan Stojkovic <stojkovicdusan555@gmail.com>
Date: Thu, 18 Jun 2026 17:39:37 +0200
Subject: [PATCH RFC 2/2] vhost-user: implement
 VHOST_USER_PROTOCOL_F_XEN_MMAP
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20260618-vhost-xen-foreign-mapping-v1-2-7f60a6241971@rt-rk.com>
References: <20260618-vhost-xen-foreign-mapping-v1-0-7f60a6241971@rt-rk.com>
In-Reply-To: <20260618-vhost-xen-foreign-mapping-v1-0-7f60a6241971@rt-rk.com>
To: qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>, 
 Stefano Garzarella <sgarzare@redhat.com>, 
 Stefano Stabellini <sstabellini@kernel.org>, 
 Anthony PERARD <anthony@xenproject.org>, 
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, 
 xen-devel@lists.xenproject.org, Viresh Kumar <viresh.kumar@linaro.org>, 
 Dusan Stojkovic <Dusan.Stojkovic@rt-rk.com>, 
 Nikola Jelic <Nikola.Jelic@rt-rk.com>
X-Mailer: b4 0.13.0
X-purgate-ID: tlsNG-d62444/1781797330-CE9ADE30-C0E3FD3A/0/0
X-purgate-type: clean
X-purgate-size: 12093

From: Dusan Stojkovic <Dusan.Stojkovic@rt-rk.com>

The vhost-user specification reserves protocol feature bit 17 and
documents an extended memory region description for backends that map
guest memory through Xen rather than mapping a file descriptor each
region carries two extra fields, "xen mmap flags" and "domid" (see
docs/interop/vhost-user.rst, "Memory region description").
The layout is implemented by rust-vmm's vhost and vm-memory crates
and used by Xen vhost-user device backends.

Implement the front-end side for foreign mappings:

- negotiate VHOST_USER_PROTOCOL_F_XEN_MMAP

- when negotiated, build SET_MEM_TABLE payloads from the extended
  region layout, with xen_mmap_flags = FOREIGN and
  xen_mmap_data set to the guest's domain id.

- under Xen, do not call vhost_user_get_mr_data(): guest RAM has no fd
  and its userspace_addr does not correspond to a valid mapping in the
  address space. Backends map regions through privcmd using the guest
  physical address and domid; the fd accompanying each region only
  satisfies the protocol's one-fd-per-region requirement. Pass a
  /dev/xen/privcmd fd and close it once the message has been sent.
  Tracepoints for opening and closing xen fds are added as well.

- suppress VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS under Xen:
  Postcopy is likewise refused.

The userspace_addr field is carried unchanged; Xen backends derive
mappings from guest_phys_addr and domid and do not interpret it.

Signed-off-by: Dusan Stojkovic <Dusan.Stojkovic@rt-rk.com>
Signed-off-by: Nikola Jelic <Nikola.Jelic@rt-rk.com>
---
 hw/virtio/trace-events         |   2 +
 hw/virtio/vhost-user.c         | 120 +++++++++++++++++++++++++++++++++++++++--
 include/hw/virtio/vhost-user.h |   2 +-
 3 files changed, 120 insertions(+), 4 deletions(-)

diff --git a/hw/virtio/trace-events b/hw/virtio/trace-events
index 2a57edc21e..0f3c58fd78 100644
--- a/hw/virtio/trace-events
+++ b/hw/virtio/trace-events
@@ -30,6 +30,8 @@ vhost_user_postcopy_fault_handler_found(int i, uint64_t region_offset, uint64_t
 vhost_user_postcopy_listen(void) ""
 vhost_user_set_mem_table_postcopy(uint64_t client_addr, uint64_t qhva, int reply_i, int region_i) "client:0x%"PRIx64" for hva: 0x%"PRIx64" reply %d region %d"
 vhost_user_set_mem_table_withfd(int index, const char *name, uint64_t memory_size, uint64_t guest_phys_addr, uint64_t userspace_addr, uint64_t offset) "%d:%s: size:0x%"PRIx64" GPA:0x%"PRIx64" QVA/userspace:0x%"PRIx64" RB offset:0x%"PRIx64
+vhost_user_open_region_fd(int index, int fd) "region:%d fd:%d"
+vhost_user_put_region_fds(int index, int fd) "region:%d fd:%d"
 vhost_user_postcopy_waker(const char *rb, uint64_t rb_offset) "%s + 0x%"PRIx64
 vhost_user_postcopy_waker_found(uint64_t client_addr) "0x%"PRIx64
 vhost_user_postcopy_waker_nomatch(const char *rb, uint64_t rb_offset) "%s + 0x%"PRIx64
diff --git a/hw/virtio/vhost-user.c b/hw/virtio/vhost-user.c
index d627351f45..932ead4eeb 100644
--- a/hw/virtio/vhost-user.c
+++ b/hw/virtio/vhost-user.c
@@ -30,6 +30,8 @@
 #include "migration/postcopy-ram.h"
 #include "trace.h"
 #include "system/ramblock.h"
+#include "system/xen.h"
+#include "hw/xen/xen.h"
 
 #include <sys/ioctl.h>
 #include <sys/socket.h>
@@ -181,12 +183,36 @@ typedef struct VhostUserMemoryRegion {
     uint64_t mmap_offset;
 } VhostUserMemoryRegion;
 
+/*
+ * Memory region flags for VHOST_USER_PROTOCOL_F_XEN_MMAP, matching the
+ * values used by rust-vmm's vm-memory (MmapXenFlags).
+ */
+#define VHOST_USER_XEN_MMAP_FLAG_FOREIGN    0x1
+#define VHOST_USER_XEN_MMAP_FLAG_GRANT      0x2
+
+/*
+ * Extended memory region description, used when
+ * VHOST_USER_PROTOCOL_F_XEN_MMAP has been negotiated.
+ */
+typedef struct VhostUserMemoryRegionXen {
+    VhostUserMemoryRegion region;
+    uint32_t xen_mmap_flags;
+    uint32_t xen_mmap_data; /* domain id for FOREIGN/GRANT mappings */
+} VhostUserMemoryRegionXen;
+
+
 typedef struct VhostUserMemory {
     uint32_t nregions;
     uint32_t padding;
     VhostUserMemoryRegion regions[VHOST_MEMORY_BASELINE_NREGIONS];
 } VhostUserMemory;
 
+typedef struct VhostUserMemoryXen {
+    uint32_t nregions;
+    uint32_t padding;
+    VhostUserMemoryRegionXen regions[VHOST_MEMORY_BASELINE_NREGIONS];
+} VhostUserMemoryXen;
+
 typedef struct VhostUserMemRegMsg {
     uint64_t padding;
     VhostUserMemoryRegion region;
@@ -294,6 +320,7 @@ typedef union {
         struct vhost_vring_state state;
         struct vhost_vring_addr addr;
         VhostUserMemory memory;
+        VhostUserMemoryXen memory_xen;
         VhostUserMemRegMsg mem_reg;
         VhostUserLog log;
         struct vhost_iotlb_msg iotlb;
@@ -594,6 +621,8 @@ static MemoryRegion *vhost_user_get_mr_data(uint64_t addr, ram_addr_t *offset,
 static bool vhost_user_gpa_addresses(struct vhost_dev *dev)
 {
     return vhost_user_has_protocol_feature(
+        dev, VHOST_USER_PROTOCOL_F_XEN_MMAP) ||
+        vhost_user_has_protocol_feature(
         dev, VHOST_USER_PROTOCOL_F_GPA_ADDRESSES);
 }
 
@@ -612,6 +641,23 @@ static void vhost_user_fill_msg_region(struct vhost_dev *dev,
     dst->mmap_offset = mmap_offset;
 }
 
+/*
+ * With VHOST_USER_PROTOCOL_F_XEN_MMAP the region fds are opened by us
+ * rather than owned by the RAMBlocks, so they must be closed once the
+ * message carrying them has been sent (or on error).
+ */
+static void vhost_user_put_region_fds(struct vhost_dev *dev, int *fds,
+                                      size_t fd_num)
+{
+    if (!vhost_user_has_protocol_feature(dev, VHOST_USER_PROTOCOL_F_XEN_MMAP)) {
+        return;
+    }
+    for (size_t i = 0; i < fd_num; i++) {
+        trace_vhost_user_put_region_fds(i, fds[i]);
+        close(fds[i]);
+    }
+}
+
 static int vhost_user_fill_set_mem_table_msg(struct vhost_user *u,
                                              struct vhost_dev *dev,
                                              VhostUserMsg *msg,
@@ -623,13 +669,41 @@ static int vhost_user_fill_set_mem_table_msg(struct vhost_user *u,
     MemoryRegion *mr;
     struct vhost_memory_region *reg;
     VhostUserMemoryRegion region_buffer;
+    bool xen_mmap = vhost_user_has_protocol_feature(dev,
+            VHOST_USER_PROTOCOL_F_XEN_MMAP);
+
+    if (track_ramblocks && xen_mmap) {
+        error_report("vhost-user: postcopy is not supported under Xen");
+        return -ENOTSUP;
+    }
 
     msg->hdr.request = VHOST_USER_SET_MEM_TABLE;
 
     for (i = 0; i < dev->mem->nregions; ++i) {
         reg = dev->mem->regions + i;
 
-        mr = vhost_user_get_mr_data(reg->userspace_addr, &offset, &fd);
+        if (xen_mmap) {
+            /*
+             * Under Xen the guest RAM is not mapped into our address
+             * space; the backend maps it through the Xen foreign
+             * mapping interface using the guest physical address and
+             * domain id carried in the region descriptor.  The file
+             * descriptor only satisfies the one-fd-per-region
+             * requirement of the protocol: pass /dev/xen/privcmd and
+             * close it once the message has been sent.
+             */
+            mr = NULL;
+            offset = 0;
+            fd = open("/dev/xen/privcmd", O_RDWR | O_CLOEXEC);
+            if (fd < 0) {
+                error_report("vhost-user: failed to open /dev/xen/privcmd:"
+                             " %s", strerror(errno));
+                return -errno;
+            }
+            trace_vhost_user_open_region_fd(i, fd);
+        } else {
+            mr = vhost_user_get_mr_data(reg->userspace_addr, &offset, &fd);
+        }
         if (fd > 0) {
             if (track_ramblocks) {
                 assert(*fd_num < VHOST_MEMORY_BASELINE_NREGIONS);
@@ -642,10 +716,21 @@ static int vhost_user_fill_set_mem_table_msg(struct vhost_user *u,
                 u->region_rb[i] = mr->ram_block;
             } else if (*fd_num == VHOST_MEMORY_BASELINE_NREGIONS) {
                 error_report("Failed preparing vhost-user memory table msg");
+                if (xen_mmap) {
+                    close(fd);
+                }
                 return -ENOBUFS;
             }
             vhost_user_fill_msg_region(dev, &region_buffer, reg, offset);
-            msg->payload.memory.regions[*fd_num] = region_buffer;
+            if (xen_mmap) {
+                msg->payload.memory_xen.regions[*fd_num].region = region_buffer;
+                msg->payload.memory_xen.regions[*fd_num].xen_mmap_flags =
+                    VHOST_USER_XEN_MMAP_FLAG_FOREIGN;
+                msg->payload.memory_xen.regions[*fd_num].xen_mmap_data =
+                    xen_domid;
+            } else {
+                msg->payload.memory.regions[*fd_num] = region_buffer;
+            }
             fds[(*fd_num)++] = fd;
         } else if (track_ramblocks) {
             u->region_rb_offset[i] = 0;
@@ -663,7 +748,11 @@ static int vhost_user_fill_set_mem_table_msg(struct vhost_user *u,
 
     msg->hdr.size = sizeof(msg->payload.memory.nregions);
     msg->hdr.size += sizeof(msg->payload.memory.padding);
-    msg->hdr.size += *fd_num * sizeof(VhostUserMemoryRegion);
+    if (xen_mmap) {
+        msg->hdr.size += *fd_num * sizeof(VhostUserMemoryRegionXen);
+    } else {
+        msg->hdr.size += *fd_num * sizeof(VhostUserMemoryRegion);
+    }
 
     return 0;
 }
@@ -1149,10 +1238,12 @@ static int vhost_user_set_mem_table(struct vhost_dev *dev,
         ret = vhost_user_fill_set_mem_table_msg(u, dev, &msg, fds, &fd_num,
                                                 false);
         if (ret < 0) {
+            vhost_user_put_region_fds(dev, fds, fd_num);
             return ret;
         }
 
         ret = vhost_user_write(dev, &msg, fds, fd_num);
+        vhost_user_put_region_fds(dev, fds, fd_num);
         if (ret < 0) {
             return ret;
         }
@@ -2551,6 +2642,29 @@ static int vhost_user_backend_init(struct vhost_dev *dev, void *opaque,
                                VHOST_USER_PROTOCOL_F_GET_VRING_BASE_INFLIGHT);
         }
 
+        if (!xen_enabled()) {
+            /*
+             * Xen memory mappings only make sense when QEMU itself runs
+             * as a Xen device model.
+             */
+            protocol_features &= ~(1ULL << VHOST_USER_PROTOCOL_F_XEN_MMAP);
+        } else {
+            if (!virtio_has_feature(protocol_features,
+                                    VHOST_USER_PROTOCOL_F_XEN_MMAP)) {
+                error_setg(errp, "vhost-user backend does not support "
+                           "VHOST_USER_PROTOCOL_F_XEN_MMAP, which is "
+                           "required when running under Xen");
+                return -EPROTO;
+            }
+            /*
+             * The ADD/REM_MEM_REG message path has not been adapted to
+             * the Xen region format.  Xen guests expose a single RAM
+             * region, so fall back to SET_MEM_TABLE.
+             */
+            protocol_features &=
+                ~(1ULL << VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS);
+        }
+
         /* final set of protocol features */
         u->protocol_features = protocol_features;
         err = vhost_user_set_protocol_features(dev, u->protocol_features);
diff --git a/include/hw/virtio/vhost-user.h b/include/hw/virtio/vhost-user.h
index 06c360af18..46be9cd57c 100644
--- a/include/hw/virtio/vhost-user.h
+++ b/include/hw/virtio/vhost-user.h
@@ -30,7 +30,7 @@ enum VhostUserProtocolFeature {
     VHOST_USER_PROTOCOL_F_INBAND_NOTIFICATIONS = 14,
     VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS = 15,
     VHOST_USER_PROTOCOL_F_STATUS = 16,
-    /* Feature 17 reserved for VHOST_USER_PROTOCOL_F_XEN_MMAP. */
+    VHOST_USER_PROTOCOL_F_XEN_MMAP = 17,
     VHOST_USER_PROTOCOL_F_SHARED_OBJECT = 18,
     VHOST_USER_PROTOCOL_F_DEVICE_STATE = 19,
     VHOST_USER_PROTOCOL_F_GET_VRING_BASE_INFLIGHT = 20,

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 18 15:43:03 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 15:43:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341409.1601864 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waEtN-0008O0-Jw; Thu, 18 Jun 2026 15:42:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341409.1601864; Thu, 18 Jun 2026 15:42: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 1waEtN-0008Nt-HD; Thu, 18 Jun 2026 15:42:57 +0000
Received: by outflank-mailman (input) for mailman id 1341409;
 Thu, 18 Jun 2026 15:42:08 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <stojkovicdusan555@gmail.com>) id 1waEsa-0008G5-KK
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 15:42:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waEsZ-00DcyC-Tn
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 17:42:07 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <stojkovicdusan555@gmail.com>)
 id 6a3411c9-e002-0a2a0a5209dd-0a2a450adcbe-24
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 17:42:07 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <stojkovicdusan555@gmail.com>)
 id 6a3411cf-93a5-0a2a450a0019-d155802bc9ee-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 17:42:07 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-490ac10e337so6944975e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 08:42:07 -0700 (PDT)
Received: from RTRKN1313-LIN.domain.local ([89.216.37.146])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4606f2c473bsm69038581f8f.28.2026.06.18.08.42.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Jun 2026 08:42:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781797327; x=1782402127; darn=lists.xenproject.org;
        h=cc:to:content-transfer-encoding:mime-version:message-id:date
         :subject:from:from:to:cc:subject:date:message-id:reply-to;
        bh=5OyJqBkAzAjyDPdkHar1t9BiEBSy+RR+rbYVavGE65s=;
        b=IqBnH09L9CE9V0MvR9kJAz5gDW6iFG6yjlv3F+hHkT/pz0G7ejU0tYNJYos7fBoyvR
         sSX4MlhGYeKlU713G41vGdATdTtXW84sQGuW75PcM0Ii/1QZOQR7JSVj6yM7EmrUUXbQ
         G6RMzF2bcgaFLDU2mMPvkWPxZ94SYSMomKwOsWI+5qYG3CutDT3Sx6MA9CbkyIeLlYJ6
         JYzP6PK3T/43HqY0IcyDfxQ3Kwr42A6jYVcbSRK3SeO5BOVwvb/V5JvWTV+SOiDF5IUs
         8sgFWmCjOfx5DXyJLkkuZua3gZ5GkCXASaUHUUzdutt8sGCdmG1nrNSE3FXCCvxWR59n
         4xsw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781797327; x=1782402127;
        h=cc:to:content-transfer-encoding:mime-version:message-id:date
         :subject:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5OyJqBkAzAjyDPdkHar1t9BiEBSy+RR+rbYVavGE65s=;
        b=iKDbTJhZYR/ZAuoLi7z71UefC/cRC4YP3QQ6+u8wbCA/zlEIuWwcqrDUs0fHkSSY0e
         GD0uBz4RUKCGe3ego9OAFzf928TaJ662IwgmAIxzM+pzmi5XMyqSq+TdQcxcfDguRuFG
         LXZupXhWwT14KJYI8bTr7HUgdQHBXiPqC5Puzkh7aJ8BqWOHW+sWfOXdO3LZEe9iy3RK
         XXHLgfaqg4EpSt6VijDhL4N1NE1MXqv0sCtqxdOA2GgKruR33y2ItLzI4nho/gKKPwsA
         JODXOTrGtYjFhsKIGmGkofgr/lu5OcMx9B9vY01LALDRFy2UY3XeVl4NtyeZ/o3ykxMx
         WK8w==
X-Forwarded-Encrypted: i=1; AFNElJ+pDT+1aV6ci5pAA0F9EnTjO+AhVnPW4xUnbAQwCQ7K6na9x66SePUiB5QpJffhW8swtqD/PMu59Uo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyKizk6NV4EBpWZXo55gfq/d7eY87q/06yS1gXO526XmesqxTJC
	SoY1dx7yRVxVKJeFDCgMLaL9pVQPiQx1wu5/Y9Lqyr+n0xpJ3/BcN3nl
X-Gm-Gg: AfdE7cmpS/5MCFxwoRX3UqNwvgqcw0pRzPjf1TGKrXghaeF3dgZ+OsDIFC9CM+hjuh5
	72U1G/H0TYMnyZaYvoP6FkY8w6lEN5GHo3iidTjmWVd6ed9LtpS04MF0SWop5042pV+z387DnlK
	XvvcGmhqdMWj3crw0ROg6T8YIvC7aFt2jvlaeVoM/fEvzr+xEFJb28r8JZEoy6KqQSVGLYIIqf0
	B1S3+mnC2wupfLqPY+kSPf/6QJKQHrztGeWYxK5PuNQPOFYA7SJNdIOJ0vmwb9L7TWfSXL9C5iu
	tpB2V5VqaA6+moLvhDfMhIfoH5iMyDdEoxhjBnxiliwDmA0RNqBta4z3YSGyWuzGzdcwIIpCeA9
	Lv6b2smgPYM7yDbEZK2Z8HwuyjP83iGBqSlpSjjTnmGI/Mor8PwNOpBmfXpuLfh5YM2JTMW3fDS
	vzygLQSASbkfdqDmyOPFQOGuwwMAJf5PomRZU9kvAsEA==
X-Received: by 2002:a05:600c:3b29:b0:490:b724:dbd6 with SMTP id 5b1f17b1804b1-4923ef51a52mr2168455e9.6.1781797327006;
        Thu, 18 Jun 2026 08:42:07 -0700 (PDT)
From: Dusan Stojkovic <stojkovicdusan555@gmail.com>
Subject: [PATCH RFC 0/2] vhost-user: support Xen foreign memory mappings
Date: Thu, 18 Jun 2026 17:39:35 +0200
Message-Id: <20260618-vhost-xen-foreign-mapping-v1-0-7f60a6241971@rt-rk.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-B4-Tracking: v=1; b=H4sIADcRNGoC/x3MPQqEMBBA4avI1A7ELEaxFTyA7bKFP2OcwklIJ
 Aji3TdYfsV7N0QKTBG64oZAiSM7yajKApZ9EkvIazZopY0yVYtpd/HEiwQ3F4it4DF5z2JxVfq
 ztPU8N8pA7n2gja/3/YVx6OH3PH83XneGcAAAAA==
To: qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>, 
 Stefano Garzarella <sgarzare@redhat.com>, 
 Stefano Stabellini <sstabellini@kernel.org>, 
 Anthony PERARD <anthony@xenproject.org>, 
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, 
 xen-devel@lists.xenproject.org, Viresh Kumar <viresh.kumar@linaro.org>, 
 Dusan Stojkovic <Dusan.Stojkovic@rt-rk.com>, 
 Nikola Jelic <Nikola.Jelic@rt-rk.com>
X-Mailer: b4 0.13.0
X-purgate-ID: tlsNG-4011c0/1781797327-B19F2DB8-76CFF576/0/0
X-purgate-type: clean
X-purgate-size: 7767

This series lets QEMU, when running as a Xen device model, drive
vhost-user backends that map guest memory through the Xen foreign
mapping interface, implementing the front-end side of
VHOST_USER_PROTOCOL_F_XEN_MMAP. The protocol extension itself is
already documented in docs/interop/vhost-user.rst (feature bit 17,
extended memory region description) and implemented by rust-vmm's
vhost / vm-memory crates and the vhost-device backends built on them.
 
The problem this solves: under Xen the guest's RAM is not allocated by
QEMU and is not backed by a file descriptor. memory_region_get_fd()
returns -1, so vhost_section() filters out every RAM section, the vhost
memory listener registers no regions, and starting any vhost-user
device fails with "Failed initializing vhost-user memory map". With
F_XEN_MMAP the backend maps guest memory itself.

The protocol requires one file descriptor per region in SET_MEM_TABLE.
Guest RAM under Xen has no backing fd, so the front-end opens
/dev/xen/privcmd per region purely to satisfy that requirement; the
backend derives the mapping from guest_phys_addr + domid and never
reads the fd. Each fd is closed once the message has been sent.

This patchset was rebased onto the new vhost_phys_vring_addr infrastructure 
and extends vhost_user_gpa_addresses() so that negotiated
F_XEN_MMAP (bit 17), not F_GPA_ADDRESSES (bit 21, which the backend doesn't 
advertise), drives GPA addressing for both rings and userspace_addr.

The two patches:
  1/2  accept the Xen RAM section in vhost_section()
  2/2  negotiate F_XEN_MMAP and build SET_MEM_TABLE from the extended
       region layout. 
Testing:
Tested on Xen/ARM64 with a DomU using virtio-mmio transports created
by the xenpvh machine, running vhost-device-sound (rust-vmm, built
with the "xen" feature) as the backend in dom0. The device negotiates,
receives the memory table and ring addresses, and the guest's
virtio-snd driver probes and operates.

Non-Xen / x86 KVM: vhost-user-snd backed by
vhost-device-sound (null backend) on a q35/KVM guest. The device
negotiates, the guest virtio-snd driver probes and runs the control and
PCM paths, and the SET_MEM_TABLE and vring-address traffic is identical
to a build without this series confirming the
non-Xen path is unchanged.

The control message exchange between the frontend and backend was
tracked using sockdump as was described in:
Making VirtIO sing - implementing virtio-sound in rust-vmm project
|-> at FOSDEM 2024

Setup:
The main part of the xl config this enables:
virtio = [
 'backend=0,type=virtio,device,transport=mmio,grant_usage=false'
]

device_model_args = [
 ...
 '-chardev', 'socket,id=snd_chardev,path=/tmp/snd.sock',
 '-device', 'vhost-user-snd,chardev=snd_chardev,id=snd,iommu_platform=true',
 ...
]

Xen 4.22-unstable was used with:
 -enable-IOREQ_SERVER 
 -enable-EXPERT

An extra patch was added to xen-tools.
Namely, xen tools will request a pv device drive type for ARM64 but 
qemu expects pvh. This is a known issue:
github.com/Xilinx/xen/commit/5f669949c9ffdb1947cb47038956b5fb8eeb072a

Qemu master was used configured with the following flags:
    --target-list=aarch64-softmmu \
    --cross-prefix=aarch64-linux-gnu- \
    --enable-xen \
    --enable-vhost-user \
    --extra-cflags="-I$XEN-TOOLS/usr/local/include" \
    --extra-ldflags="-L$XEN-TOOLS/usr/local/lib -Wl,
        -rpath-link,$XEN-TOOLS/usr/local/lib" \

Likewise for x86:
    --target-list=aarch64-softmmu \
    --enable-slirp \
    --enable-xen \
    --enable-vhost-user \
    --enable-virtfs \

Linux version 6.11.7 was used with extra configuration flags:
* For enabling Xen Dom0/DomU support
* For enabling virtio (mmio, snd, etc.)
* For enabling sockdump features (BPF, IKHEADERS, KPROBE, etc.)
* Extra debug flags (DEBUG_FS, etc.)

vhost-device commit-id:
    c3bb658ef4fe20a2f264dbbbbc6fa19f1c08c0c5
    
    Was used built with:
    --features alsa-backend,xen

Importantly in vhost-device-scmi/src/vhu_scmi.rs:

// QUEUE_SIZE must be apparently at least 1024 for MMIO.
// There is probably a maximum size per descriptor defined in the kernel.
const QUEUE_SIZE: usize = 1024;

A similar change was made to make mmio work in vhost-user-sound device:

```
diff --git a/vhost-device-sound/src/device.rs b/vhost-device-sound/src/device.rs
index 99e1a8f..1397076 100644
--- a/vhost-device-sound/src/device.rs
+++ b/vhost-device-sound/src/device.rs
@@ -603,7 +603,7 @@ impl VhostUserBackend for VhostUserSoundBackend {
         // a queue is filled up. In this case, adding an element to the queue
         // returns ENOSPC and the element is not queued for a later attempt and
         // is lost. `64` is a "good enough" value from our observations.
-        64
+        1024
     }

     fn features(&self) -> u64 {
```

Without this frontend and backend will fail to negotiate queue size.

Scope and known limitations:
* Foreign mappings only. Grant mappings are not supported: vhost's
  section tracking derives a host pointer for each region, which is
  invalid for the grant pseudo-region, and per-access grant mapping
  needs a different region description (GRANT | no-advance-map). Patch
  1 rejects the xen.grants region explicitly. Setting grant_usage=true
  does not change the qemu<->backend vhost-user exchange.
 
* VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS is suppressed under Xen:
  the ADD/REM_MEM_REG path has not been converted to the extended
  region format, and Xen guests currently expose a single RAM region,
  so SET_MEM_TABLE is sufficient. Multiple RAM regions are not yet
  exercised. Postcopy is refused.

* Spec vs reference implementation: docs/interop/vhost-user.rst
  describes the "can not be mapped in advance" xen-mmap flag as Bit 8
  (value 0x100), whereas rust-vmm's vm-memory uses 0x8 (bit 3,
  MmapXenFlags::NO_ADVANCE_MAP). This series uses neither, but the
  discrepancy probably wants resolving in the spec. Viresh, which is
  intended -- bit position 8 or value 0x8?

* userspace_addr is carried unchanged in the region descriptor; under
  Xen it does not correspond to a mapping and backends do not
  interpret it. An alternative would be to define it (e.g. mirror
  guest_phys_addr).

Open questions:
- userspace_addr semantics under Xen: leave it unchanged, or define it?
- Multi-region support: convert ADD/REM_MEM_REG to the extended layout
  rather than suppressing CONFIGURE_MEM_SLOTS?
- Grant-mapping support: worth pursuing, and what region-description
  shape do backends expect?
- Updating vhost-device-sound to reflect the mmio support.

References:
- vhost-user spec, F_XEN_MMAP / extended memory region / xen mmap flags:
  docs/interop/vhost-user.rst
- rust-vmm vm-memory MmapXenFlags (FOREIGN=0x1, GRANT=0x2,
  NO_ADVANCE_MAP=0x8): src/mmap/xen.rs
- Making VirtIO sing - implementing virtio-sound in rust-vmm project
|-> at FOSDEM 2024

Signed-off-by: Dusan Stojkovic <Dusan.Stojkovic@rt-rk.com>
Signed-off-by: Nikola Jelic <Nikola.Jelic@rt-rk.com>
---
Dusan Stojkovic (2):
      vhost: accept Xen guest RAM sections for vhost-user
      vhost-user: implement VHOST_USER_PROTOCOL_F_XEN_MMAP

 hw/virtio/trace-events         |   2 +
 hw/virtio/vhost-user.c         | 120 +++++++++++++++++++++++++++++++++++++++--
 hw/virtio/vhost.c              |  18 +++++++
 hw/xen/xen_stubs.c             |   5 ++
 include/hw/virtio/vhost-user.h |   2 +-
 5 files changed, 143 insertions(+), 4 deletions(-)
---
base-commit: c7cf7c810153d6f5f31aa2d5c0dee9087f6b4dff
change-id: 20260618-vhost-xen-foreign-mapping-d023c85bb706

Best regards,
-- 
Dusan Stojkovic <Dusan.Stojkovic@rt-rk.com>



From xen-devel-bounces@lists.xenproject.org Thu Jun 18 16:51:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 16:51:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341473.1601890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waFxG-0005To-S8; Thu, 18 Jun 2026 16:51:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341473.1601890; Thu, 18 Jun 2026 16: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 1waFxG-0005Th-Oy; Thu, 18 Jun 2026 16:51:02 +0000
Received: by outflank-mailman (input) for mailman id 1341473;
 Thu, 18 Jun 2026 16:51:01 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1waFxF-0005Ta-IC
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 16:51:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waFxE-002fL7-VK
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 18:51:00 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3421ea-bab6-0a2a0a5309dd-0a2a45068e00-16
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 18:51:00 +0200
Received: from [40.93.195.71]
 (helo=SN4PR2101CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3421f3-b690-0a2a45060019-285dc3474650-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 18:51:00 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by MN2PR03MB5326.namprd03.prod.outlook.com (2603:10b6:208:1f0::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.14; Thu, 18 Jun
 2026 16:50:57 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.009; Thu, 18 Jun 2026
 16:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=M9L5ynOPdWYgfRIEp7sYcN+1m6GX7ZyMO60l5zbc5pwXFxHCkvUa8Y4iosIgerPawypryN5Fnq3KXn+oPnx8cnXmBD7IAO5Fsb4JmltTorU+hL2DqSN4OMWKCCh5a/BbrilM0sCAWwkNp8hzzvLURMM3nypXLGAmatc+BCB60+dnqynxOvon4ZbKIq9hrtJDNJwRBTpJ9KHrI5Z7fkavw2q836MvDEwbYIirGrnNNNSbseF9gsoRaHCrCQtu7pGHfdU33XSW86g7ME0mdUej7JyrhpaTTy3a75eyLropejOO0tHV6GZvnmXHImFC1qasM9TwsifWQqnf0mi+KzQRfw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TM7TE2FjDEYUmBd93gStHLgyWWSEKi45D882ZuzVl6w=;
 b=UBBtbR/R1UzcW8YQAUH6X7ao3xV+oo8MJK+LrUSn4dtikdiUH048uxX3vDJ7FSOam+izMyoW5b6IpJZfRQ9FcmBadtV3N+bebLOgWgjErqN8iqd5kVWkiPw8FAu9Tk18qpwiDO4j505Bg1PEJHiec1J/GyymE/tykTjxJKD2/OJX25EcXMmrsy8OnwQiDpifYH1OmEE1b7D8ss2+6O3I9kCnpRdTka9J6hfgWBzqvcyWH09VzyPiBDht9zIBGRLgXQ0m7YgWi8xFdtAvN6KBVd8aBkSgjhgwk3ixORoxZfAOQFKvTIRFf9Fc6Ayo+xhO05jFJrvobgIh3GUTMwngsQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TM7TE2FjDEYUmBd93gStHLgyWWSEKi45D882ZuzVl6w=;
 b=rzb5zUga9jSALMyAeeyyG8ENcMGlFuCylztgHc8UXQJlbY+vR9pwWaAiJB1F015JzIFLJhoQ4xJEXPHGoBpk6sjs8UUUnYSNVWcFhOCll51D1sURwtseVVxbIT9UdToh+yhqvRCM7LCB6XuDTuuYBA1oXZ7WJNGU+/Uihc1aNWM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <401ae47c-b55e-4ca8-b764-9e6fd17444ec@citrix.com>
Date: Thu, 18 Jun 2026 17:50:53 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2 01/15] pci: Introduce parse_pci_sbdf{_seg}()
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794550.8631fc262581453bbf619ec5b2062170.19edb3b3411000701b@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: <1781794550.8631fc262581453bbf619ec5b2062170.19edb3b3411000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0096.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:191::11) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|MN2PR03MB5326:EE_
X-MS-Office365-Filtering-Correlation-Id: 1053aad6-25a2-4ad4-3a98-08decd59c4c6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|23010399003|22082099003|6133799003|56012099006|11063799006|18002099003|4143699003;
X-Microsoft-Antispam-Message-Info:
	gb8XqjwHRUAXlJu+1fEQizcaIxPixjFJ6zpBkPwSC6JsWS76zE9P8dhkuOCFZ/rJs/z/HGxqal494xBHJJrIPmHWJoJNItfpMzpz2O2E5uRpAoDUUUbnvoGn/2rEJKSB6+oncTCZcH5+E7SxCb6pNCkClbKEjsiULUU10DVRMm0cQtRW7egET3eJ4mV/t+wjslV5nQzT3P7844uE70/IlCMC6mFKQhJHbDQv57F6bGRfcAvIDPfkTZji/ZoR/ZedMQQfTcVEPhG2IQmiiS47ihGPs/9sdHZSb9m32KJYt9zlgsZztAUHyvPWocvJG3NDvBKQxS7M2tQ/D1qY6swA0s5Lh9AQqHqfGgUjxVhxLGs4cvYFCmnbqklEiKYGcy6ON8LkJbz4OQIjFXWu3ZIai9SifPxDhtR5DdGWALmnzXJmlMEvS2ofCQdCdOcjg80hbmAzut+720A0xA4jDxAvoOqAh+s2L5D0kWVe0XerKHg2pFDTmvhppXbeWZRo8wHjFuVFQlrYlfsGpsNK/dU1enLP6yGbLDV0uItdaUfUypshs2Kc1xg71efWWM1r/qFSOX+Np7sGwYzknYsQGGwn8nmPTABzrsc24unpyzij2J1hp4SFLapBtSanezmugujBUyFP423uDW3+5vZV5r5hOmjbFNAe32RRjr1naH9BS+BBz6nqj7qmsmnYwDGm7MVz
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(23010399003)(22082099003)(6133799003)(56012099006)(11063799006)(18002099003)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TlBPQXgxTkl6RERPTEUvYUl2WkpjdEEyY1E3QXdxc0RwakpBMGRIeTNoYTYy?=
 =?utf-8?B?cWJ2TFpOa2FFM2hma0lsMmEyZk1pcHRUdGRNYlc4Ukw5eEc5SFFZeVppMVlF?=
 =?utf-8?B?RGdzeUVwbzFIVURVK3c3RkUyN1lWNkZnQUN0YmZjSUpMVlFvQ3lUcXFEYXlt?=
 =?utf-8?B?L0Vic2cza3BsSHRpdEh2U2hvaFQ2aXlmTnA5aUhBb04reXlmSzlkVVp5SnRh?=
 =?utf-8?B?UWJsVWdIVlByOGJtdjNzWlY5S2pZUDhKNWpXZE5oZlZaLzd6VCtualZDUFJK?=
 =?utf-8?B?Y3Q5RVJpVXhINGNqNlJ4K1BjdWZFUXVWNE1tdWViQlhwZ0U2QlVPYVpjZytt?=
 =?utf-8?B?eEhvMDN0a0d0WGdGQlJ1Yk4wYURKblZFK2VBVHdyNVczRERPanlJRmJYZEwx?=
 =?utf-8?B?ZUNBNytTWDg0NWlNL3NrNlQ1WjFXanNBSm0vc01Xc1NhMDB6Z0Vuak5SV0ZH?=
 =?utf-8?B?bHlYQTltNTFHUEdtUC9xcVFEb3VEZUxGbmVJRjdHazlKdTFFRWF4WGFmU1JF?=
 =?utf-8?B?Umo3MGFGczJQVzNBSDNKdTBsZ3FQQ1JoNmFWWSs2bERjdk4vZ3BwY0J5T0xL?=
 =?utf-8?B?d0NFSGZ1NFp2dTZpclZ6MEIvSXI3U0JiNG5FR1hnOG9tMXk2SlBlb2RzN3Rv?=
 =?utf-8?B?SHZ4TFMwQjY0TTV0cFo4clRNNktBeUhjTzBmTUpqak1yTFZVSno1UHZkMUNS?=
 =?utf-8?B?eVUxa3g2dGpRbWw5dGNieCtHcHgxRW00YWxCK2t0OGRRcC9TT29xcStISHZ0?=
 =?utf-8?B?S0xFdGN0NFBhTS9BL3NrdFBMY1lESTliSGRaOVpMUjRyYjBNL0ZsazdCMExq?=
 =?utf-8?B?VFJ1alVEVEVSNEY0TDVnaElFVUpPa2RPUXhTclpaa2JtdC95elhYU0MzT2I0?=
 =?utf-8?B?cEZkbndSZzlzbzJtTU8wT29JQ0pnNForR09TbTBtL3RBYUJ5ZkU0a2FRZ20v?=
 =?utf-8?B?eDJxS3U5a2VzT3JKQlV5ZlU2OUlRS1JYSzdEZUxZUWtmYlZtTnBERWxKdG04?=
 =?utf-8?B?cXRTYjRXLzViVzV3cXZiYVFBMDlJNVhneGpJR0t0MjkxalJIU0lNN003Tmx4?=
 =?utf-8?B?eTZTNVFHdmh1M0RqVUxkRm91M25vdUV5K09tUlJEQ0pKMyt2VzFhR203bkJV?=
 =?utf-8?B?MDFKVUlFNHlXcWk3VEl2YUlsNnp1SDFENmZ1elcxTGQ3ZDR2UW54YXdESUdG?=
 =?utf-8?B?eWtJNXBlUkxqbURQazJHWUlBL0dKQmZXem9EMlF3eHcyK1N1QjlMeStTQ3Nw?=
 =?utf-8?B?YWUwcUpRd2pOUnJmNTIyVXRQSWlPQnFOWERCT1JkbWxkUTdURjRrSi90QUVJ?=
 =?utf-8?B?Yno0L3lUTEhnbDZxelNBMXhtN1BDRlZvNy9KdmRuNGxva2hWaGd6OHcxTllM?=
 =?utf-8?B?WFdRbkovMG5PUWVyajQzVjBQang4cmcwQ25oVnZwQ0RhWHFUcFBpd3dBSmhX?=
 =?utf-8?B?RTNBejgyVjNuMi82REpzOGxzV1B3RGMzdzMzRmFtVWdQbUl0LzNlNzJ0MGNF?=
 =?utf-8?B?OHBCK3VOK0F3UTFHY0x4Wm8yWGozbnB6YWZGRjlHWW1QSXY1SEtZMzdUUytF?=
 =?utf-8?B?d213OS8yZENBOXVPOVBwTzYyZldCRER3dlNMRk5EMys4b0lXRWZ0UlI3bW50?=
 =?utf-8?B?STBmaDMrdHQvbStvMGNhNzR3T1ppa2lOU2tkK1VqMmtqd3o4SUxjR2hLZ25w?=
 =?utf-8?B?TTdRYndxUytrVjAyZ0h5bkhRVlpGSk10TnpSMmRKYzczSVltSDAxYXEwcTA3?=
 =?utf-8?B?blBPOFJLUmpkRXpLaElPWE83ZW5vR2JWMzVnTi9VRmxvbjJrZ1FYY3g4TGhu?=
 =?utf-8?B?YkVCZmI4aGt6YTlucXVuVXA3bWJPMXVTMTNuWXg5V0VQYmViQ2xnU2JmejQ1?=
 =?utf-8?B?d01HV0U3WE5MU1gxTjZYRjVMR2hIeGdGWnREcFNKVGpxN1ZuL01GWjlTU0lL?=
 =?utf-8?B?SGJZeDR0OWxSTXZ6b3FZNVh1Q2pqVW5RQ2t4eEo2YVpodWlmMXJCc1Jnalk4?=
 =?utf-8?B?ZjBhTzNNQkRjM1B4OHVKTXVRRDhRSitVM2VkekRzaU55WDdHazVYd29FTTNr?=
 =?utf-8?B?WXVKVTd1NHVEM0U1dFVycS9Va3RSeUk5YWM3c2o1Y0JrN3hDTjRqSTlOU0Rv?=
 =?utf-8?B?ekRHYTFydU1TR3U0TmJVNC9iZjBnYjFDRmpzWnpyV1U5Z04wcTd6cVNnMDlx?=
 =?utf-8?B?cjZ4VXcrQUk1b0NmcWN6THdxdHZ4K3VaeFRlQTY1Y2VJMWIrWFluRXkwRCth?=
 =?utf-8?B?U2hNS3d0QytDOXMzRUtBZWZMY3RUdFZpamdTeDlZN2xzTHc3WGJqQ2U4YWEy?=
 =?utf-8?B?d3ZKbmRvZkVCajJlWnBjK2UyR3RNaUxUWFV0Ri9ocjQrYnVOQmdXdHZOREVj?=
 =?utf-8?Q?+zyrtOghnhwRqoR4=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1053aad6-25a2-4ad4-3a98-08decd59c4c6
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2026 16:50:57.1102
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nMogpnOAnIhEikYtFaaOj1c/FJByQ9UmpHJKzKUWQ41pL4cQmXx+I90OiIVINTzPMqQr+Jylzs+/I/taYlIU0mi0huDRGsm7CTkezYH1jzA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5326
X-purgate-ID: tlsNG-16d1c6/1781801460-39FF7853-CE7FE7A3/0/0
X-purgate-type: clean
X-purgate-size: 1168

On 18/06/2026 3:50 pm, Teddy Astie wrote:
> diff --git a/xen/drivers/pci/pci.c b/xen/drivers/pci/pci.c
> index 084be3880c..1d06cb035b 100644
> --- a/xen/drivers/pci/pci.c
> +++ b/xen/drivers/pci/pci.c
> @@ -202,3 +202,21 @@ const char *__init parse_pci_seg(const char *s, unsigned int *seg_p,
>  
>      return s;
>  }
> +
> +const char *parse_pci_sbdf(const char *s, pci_sbdf_t *sbdf)
> +{
> +    unsigned int seg, bus, dev, func;
> +    const char *out = parse_pci(s, &seg, &bus, &dev, &func);
> +
> +    *sbdf = PCI_SBDF(seg, bus, dev, func);
> +    return out;
> +}
> +
> +const char *parse_pci_sbdf_seg(const char *s, pci_sbdf_t *sbdf, bool *def_seg)
> +{
> +    unsigned int seg, bus, dev, func;
> +    const char *out = parse_pci_seg(s, &seg, &bus, &dev, &func, def_seg);
> +
> +    *sbdf = PCI_SBDF(seg, bus, dev, func);
> +    return out;
> +}

You correct it later in patch 13, but these want to be __init from this
patch.

Also, if you introduce these functions ahead of parse_pci{,_seg}()
respectively, then the diff in patch 13 becomes far more simple.

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


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 16:57:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 16:57:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341483.1601901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waG3J-00067B-Li; Thu, 18 Jun 2026 16:57:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341483.1601901; Thu, 18 Jun 2026 16:57: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 1waG3J-000674-HF; Thu, 18 Jun 2026 16:57:17 +0000
Received: by outflank-mailman (input) for mailman id 1341483;
 Thu, 18 Jun 2026 16:57:16 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1waG3H-00066s-TH
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 16:57:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waG3H-00DoV8-9x
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 18:57:15 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a342353-2eae-0a2a0a5409dd-0a2a45048e7e-30
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 18:57:15 +0200
Received: from [52.101.201.3]
 (helo=PH7PR06CU001.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a342369-5f9f-0a2a45040019-3465c90335e8-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 18:57:14 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by MW4PR03MB6602.namprd03.prod.outlook.com (2603:10b6:303:129::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Thu, 18 Jun
 2026 16:57:06 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.009; Thu, 18 Jun 2026
 16:57: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=smyfj/dEhF3/9cHXH2Txzbl0mi7irR1Pn04UHpgtNFJ43KE+11qGZsm8nhbAPyyiM8CE8m2dNfiiC9yVEyGeNzuDKE6e2toCoQj3rc+BzuAN9xTjcEg7yEohaAjhyBLsbUn8sks8CqcxjMYuzvgWhsnF5ZBSBwszA0kl+5h7uQzscixRR9A1/YXR45MTnXrrK7k+FlX9UoennFJMJYTIeXRQyR6gQmjc1e8F68zsqCRk1i8eAPv8XYoNoZA0f+EBmNOpl+G/5aS6obAh+4Uc5OVIzgVD14sYf2UegtP7APc/CyYa1XRhQn5tUphq6PMFRhTQguXlgDJ0tONolVsQkQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Jz/m0Hf5cSWnce+v/sTi1x64MZiT5HaqCgJaYZfa0yY=;
 b=x+YAQp3BErvrQDm+8r+ipz706amyM6EoiFM67s/iG+LmI/4Kq8bO6Ia/ZyR2DhWpODUFbBeLA0AQ6i70IHVx7prwqZJ17Q2HF+Q23iryJwIue+cqJAnD7P5GmkqoVcVZhkT9YXEhflxjHOi8sHx7vwxm+wNsmTcna6RWRY/8XNiyVfKjXgZH9sddqR6wAGSLG9qtDciDxbLKCf2JfamRTQezx1+t3iNA7QtX7cVxrcJqaaevk1UZtSoZI59tvV3+g+fFXW7nYMR6NaRZS8KYQm9kFar8nWHfruXGkhoIDx/vd8jTBcedLK+x9fjfh+bCXpMMaM06t9yafZ5+N25Xzg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Jz/m0Hf5cSWnce+v/sTi1x64MZiT5HaqCgJaYZfa0yY=;
 b=VjGgAiTsziRUIdAbv1IDZrv/ED5zHZnDRqHTuCcG9qEv/7wOTs35UJ3yjd7lAg+tr0SxczTtGca8WcCY84Cr5/bqQ/VGslYX04/PAO3XIJMTh2+sfjikba+QNXRpZNhyLr+SrUUoQFSrQ28CRCIGImY4RfU6se+TEZIss+7swrU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <c6d4df78-2be1-490f-8cad-ed508710d587@citrix.com>
Date: Thu, 18 Jun 2026 17:57:02 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2 01/15] pci: Introduce parse_pci_sbdf{_seg}()
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794550.8631fc262581453bbf619ec5b2062170.19edb3b3411000701b@vates.tech>
 <401ae47c-b55e-4ca8-b764-9e6fd17444ec@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: <401ae47c-b55e-4ca8-b764-9e6fd17444ec@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0342.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18c::23) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|MW4PR03MB6602:EE_
X-MS-Office365-Filtering-Correlation-Id: 2eaa269c-4366-49f2-4c37-08decd5aa0e5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|23010399003|366016|376014|56012099006|4143699003|11063799006|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	MdaZbsVoYmMPgdKoUwN24Rsfz3CEDxjYCU4okKFhKC1NZkn1vF1JcFX8ddCrFRad4IEV7TWHh1i7M+WYinpwzJ1POZZzUyTTcRSCHDoHb9mHD6AWs+IGOl0RA6oIoWo4FgCoEf1ya3VYnNCJXKHa/roGbGxUP1E+LbprxgtIlJVEucLoT4g8tpxTreqa6X/Az9GqmgRETZ4bKQaYTk3A5MGKFPhQ4+L04kn/ibIOyHGQqawzDRjmRV5fXZc4mcSPD+LbJtnQsxrEfB5mQ3CiC4BIljuw1qQPNWqK7FTeXzGWpYZl1x25OX33RNKCYvzN63J/K/PX8xsXSxA104SYa4Mv4mLORhlGpr2a3u83KoiK4a0/46AWE9hSRXUWBqbbaNCI5XKChf9K4eUO9zR+piCKy6ZcpWBDAMuEtTxpMvQgbu/9zm+BehgtI5HLiAiP5puIAi6jBFUudrEsR40iSPP11A4XDAOipS/6J+X+sUS2BoW1/1ujHmibRcjDvm5i/EmFKhebrkCgEVzGN7x+6ZJQjZd90u2MFuZqNxUqEyo6D/rT3YO3cYAprzKlPMLXr5f1Z8/ZP6SLFQa0jpP4OeDdzR32+CgwAluTL3pYCUQnlXVz8A0s2b1U8EDk9aX0jAwv3nS9Z/W7tsjOcVGUfk0i4LAG1kWDo3dHzrV6NpkULU7roc+u9PRd9ACKzKOu
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(366016)(376014)(56012099006)(4143699003)(11063799006)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cTQ1WjFRdFBaMlpIbGxXaTdzZnB6ZERLTy9SUHpOWElRNml0c1RTV1Z4MnlK?=
 =?utf-8?B?MDdqbUU5LzkxRkNPNTE5S0xWeWJlYU5iTHFFN0lIUXZ3YXZDSzNKNW1ROGRX?=
 =?utf-8?B?Zkh3MG1CeTZDVytHY2RXRVIyeCtHY2tNMzYyNC9JOTdwRWF5UDYxc0JzMks4?=
 =?utf-8?B?Mk9jTlluOUJhOTB1aW5MMVpiWlBLTE9qbFRoRFBuWHhBZjFSOHU0U2MrZVB3?=
 =?utf-8?B?Nk9WOEJ1djE0TTNWN2dwVkYwRG5ta0dnT016V1RISnNocWtEK3Qwck5td0x4?=
 =?utf-8?B?bEQ3c1cza0lVUnUyYnlKZEY3NmptVEJISzFTRWU2OElHWDFjeVAvOG4zdnFQ?=
 =?utf-8?B?R0t0N01xdnhxRmFaUTdUdEhoMUZBeFluUnU3TEZKeXhndVN6MWFGM1lSR3c3?=
 =?utf-8?B?eXZIdWd6a2R5ckdSVityOVI3OEZhT3U3WllMem1tZjQ0SHg5b0JkQXpRVmF3?=
 =?utf-8?B?VURaaFlTWTBJS1U2bi9YQkduemt3UXVOME1VQjJaaVorTFdhVVJVbjB2bEtw?=
 =?utf-8?B?Z2VQc2Ird2owZUpyVXRlVmZEVWJRNWgzcHNFcklyQVlzbVpYWTJwYlduQ3dG?=
 =?utf-8?B?SVI5RGpjRG9vVVNWdTRHNnRFZ1dMc29zZ2NJVWlhNW1wSlU2MFNVWmF2MjZ3?=
 =?utf-8?B?MUYva2VCZEF5OXc4NHo0ZUUvNWZ2a2dSLytLMy80dFpNNThocHpZUmhFUlZQ?=
 =?utf-8?B?WUZTTERoRTJRRXZCeUp1OUNNWktVMWtmc1lJYWVSQ3k3czRpK1VDd09tM29H?=
 =?utf-8?B?ZWN4QUZTbW81Um11S0FTcURQVmppNlhMWlRqVXl1a1lmSFluaFlqTm5OTEtE?=
 =?utf-8?B?OVp1SXJ1TDdOdVZkWU5sU1BxelZyaXFqR0dXVmNVbDVacFFvbnJrcVdwSmFO?=
 =?utf-8?B?ejJUZzhZa2JIeWJMSU13aDFzYnQ2WUpxT2tpYWJzZ2lWYVFrblpVa3hQTjlB?=
 =?utf-8?B?MkY1WGhubGl4dFBXRHVwZSsxY29GeGhrTUhHZjRycUNvYTA3TlBpUkxJTU13?=
 =?utf-8?B?V2xqUlB4cFF5ZnVGODR6UFgzTnFaMGwzZXRkZkJEWkNITGVmUWZ4ell6N0dM?=
 =?utf-8?B?WUt1OThRZnovd2xpNlpIaUxUK2FLWmJaOExmMHRBcnJhTExYV015NWZkRFd6?=
 =?utf-8?B?ZnIrd2tnakVvcmdYZTJyNE5DRUtHTGtGWC9XNE1kRnJGNDJGSS9NQ29WWlpK?=
 =?utf-8?B?T0UyMVdWN3ZPQ2YvQ0wrT2R2OTlveHppWWI1Zi9iM1dFckh2VkxVSlVQWmJa?=
 =?utf-8?B?K3lkeXRJNzFwaVNNbFRNcS9mZzM5eWRnOGI4NWVXaEt1MnBhTm9PcXRsbVUy?=
 =?utf-8?B?aUxwb3o2VU41azJnTWFKcFVPLzY4QVNkMVRIUUZhRU5YRE1FcE85L2cyb2x6?=
 =?utf-8?B?eVhoc3pYUEVIbzhReHNGemNCVkxkSFloZ09sV2hJZGhlTWU3Q2h6NWJjbHNj?=
 =?utf-8?B?dWRpN2lReWpmUGs5VU52UFh1bzRWbEErcXJ5cEJSVjFmV1JNVVhjZXRFZWxs?=
 =?utf-8?B?Yll1REE4d3JjREdFQWJtT0dwRlVkdGl4R3hPMjBMRkJMNnBTdHhadTN6OHgw?=
 =?utf-8?B?T2dFYlhYQTVYMjVWL2VQekhzSnhXVmF6SDNLM0N0WU1pQURpTTMxVXJJY3ZW?=
 =?utf-8?B?bVVFTE1FUm0xd0IrZFZsNWN1MWhtVXVXV3FPRGxkbDkyV1gvK09iODZucnc3?=
 =?utf-8?B?TWU3ZkRONlg2MVpLVE8wZFY1ak5mUjFhMnlvT1pmUjI4c1ZuSEJHbjlYd3Zy?=
 =?utf-8?B?dWwxRmJKQXVYQXRtam9OYTN3SGc2MVM4WmtLc0Z5bkpsZnhBYjgvRjhGazc0?=
 =?utf-8?B?M2RxbEtSblZFVEdsSURWaU4yaXMxSFhpYStnVmlyWFMxN0VqYjM2STZhR0Fu?=
 =?utf-8?B?MWVPYmlBZ2Q0cWJEWFB1UTQyUGRERmVKZEJDdHhMU1JNa1M2bjVUVGdGOEhM?=
 =?utf-8?B?NU42b1RNYkJUWVg5OHhiZUFvV0h1U3ZjbEE5di9nSk1RN2NLNjVIbkhJYUY0?=
 =?utf-8?B?Z1lRWFFja2w5dmMvbU1VbHZEbFZuMEVMRzNYdWhXbHZpU2wvNnJ0VUxISnJC?=
 =?utf-8?B?MnRpa0VBRUtzTytudUR0ZTNUbmJDa2NZWmZrRXQ1YndQa3UxdE5OLzFUMU9m?=
 =?utf-8?B?c3VacTFLTnpYdnJRTGhGL1BLY1g0RVJUYlovMkExT0tBVGZMRHNwMTVldndS?=
 =?utf-8?B?Mk5YOTVhTHMxWWJubGdYdUVwSGdxc0R4YmtIM09NOTQwaWpsYlVGMzF5elM4?=
 =?utf-8?B?T3BReUJ0V0ZJTU05ZWZoamRVYXdocldPRGNkZXlvVnRqdS95TGE3SUwyejU0?=
 =?utf-8?B?cHFYVmpYMjhZUW5MU2lyQ1dRYm9nd1Q1V1Z5RFh0R3F4L0VFRVFxb09YbHR6?=
 =?utf-8?Q?1yhaU2s4l3LbMRtE=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2eaa269c-4366-49f2-4c37-08decd5aa0e5
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2026 16:57:06.4260
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: C8hjZ4OEnwa4Cc01FvdRMOZA3MQ8cJ/DFQmfyd/HPXSKwU1U8OK9qUqRobKu4+QlMju7W4o2l8+8LFzmBmBpCNeqZkXieK4IJIDXIuI1eYI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6602
X-purgate-ID: tlsNG-ebf023/1781801835-44BC7141-A9A94CFB/0/0
X-purgate-type: clean
X-purgate-size: 2811

On 18/06/2026 5:50 pm, Andrew Cooper wrote:
> On 18/06/2026 3:50 pm, Teddy Astie wrote:
>> diff --git a/xen/drivers/pci/pci.c b/xen/drivers/pci/pci.c
>> index 084be3880c..1d06cb035b 100644
>> --- a/xen/drivers/pci/pci.c
>> +++ b/xen/drivers/pci/pci.c
>> @@ -202,3 +202,21 @@ const char *__init parse_pci_seg(const char *s, unsigned int *seg_p,
>>  
>>      return s;
>>  }
>> +
>> +const char *parse_pci_sbdf(const char *s, pci_sbdf_t *sbdf)
>> +{
>> +    unsigned int seg, bus, dev, func;
>> +    const char *out = parse_pci(s, &seg, &bus, &dev, &func);
>> +
>> +    *sbdf = PCI_SBDF(seg, bus, dev, func);
>> +    return out;
>> +}
>> +
>> +const char *parse_pci_sbdf_seg(const char *s, pci_sbdf_t *sbdf, bool *def_seg)
>> +{
>> +    unsigned int seg, bus, dev, func;
>> +    const char *out = parse_pci_seg(s, &seg, &bus, &dev, &func, def_seg);
>> +
>> +    *sbdf = PCI_SBDF(seg, bus, dev, func);
>> +    return out;
>> +}
> You correct it later in patch 13, but these want to be __init from this
> patch.
>
> Also, if you introduce these functions ahead of parse_pci{,_seg}()
> respectively, then the diff in patch 13 becomes far more simple.
>
> With that, Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

P.S. this is what patch 13 looks like with the suggested change:

diff --git a/xen/drivers/pci/pci.c b/xen/drivers/pci/pci.c
index 19f24e8fda8c..80b65bfe77d7 100644
--- a/xen/drivers/pci/pci.c
+++ b/xen/drivers/pci/pci.c
@@ -152,17 +152,6 @@ void pci_intx(const struct pci_dev *pdev, bool enable)
Â }
Â 
Â const char *__init parse_pci_sbdf(const char *s, pci_sbdf_t *sbdf)
-{
-Â  Â  unsigned int seg, bus, dev, func;
-Â  Â  const char *out = parse_pci(s, &seg, &bus, &dev, &func);
-
-Â  Â  *sbdf = PCI_SBDF(seg, bus, dev, func);
-Â  Â  return out;
-}
-
-const char *__init parse_pci(const char *s, unsigned int *seg_p,
-Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â unsigned int *bus_p, unsigned int *dev_p,
-Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â unsigned int *func_p)
Â {
Â  Â  Â bool def_seg;
Â 
@@ -170,17 +159,6 @@ const char *__init parse_pci(const char *s, unsigned int *seg_p,
Â }
Â 
Â const char *__init parse_pci_sbdf_seg(const char *s, pci_sbdf_t *sbdf, bool *def_seg)
-{
-Â  Â  unsigned int seg, bus, dev, func;
-Â  Â  const char *out = parse_pci_seg(s, &seg, &bus, &dev, &func, def_seg);
-
-Â  Â  *sbdf = PCI_SBDF(seg, bus, dev, func);
-Â  Â  return out;
-}
-
-const char *__init parse_pci_seg(const char *s, unsigned int *seg_p,
-Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â unsigned int *bus_p, unsigned int *dev_p,
-Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â unsigned int *func_p, bool *def_seg)
Â {
Â  Â  Â unsigned long seg = simple_strtoul(s, &s, 16), bus, dev, func;
Â 

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 17:20:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 17:20:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341508.1601910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waGPi-000234-Cj; Thu, 18 Jun 2026 17:20:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341508.1601910; Thu, 18 Jun 2026 17:20: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 1waGPi-00022x-8q; Thu, 18 Jun 2026 17:20:26 +0000
Received: by outflank-mailman (input) for mailman id 1341508;
 Thu, 18 Jun 2026 17:20:24 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1waGPg-00021m-E4
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 17:20:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waGPf-00DEy9-RA
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 19:20:23 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3428b6-5cb7-0a2a0a5109dd-0a2a450bde3a-40
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 19:20:23 +0200
Received: from [52.101.48.49]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3428d5-5e53-0a2a450b0019-346530318762-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 19:20:23 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by CH4PR03MB7746.namprd03.prod.outlook.com (2603:10b6:610:241::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Thu, 18 Jun
 2026 17:20:19 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.009; Thu, 18 Jun 2026
 17:20: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DRW1hsz2U8Oc9rmdX5gl2EpUBv/oXZ2phPxTOi8yM8Cv0G1/x9Vf1dYmwX5O6cWXwnhXyDWiypGuwJX5kucd7w7UpKOcxmz2RAS9D1xF6vFbuta9Cyv3RA+80XBtq6wkjorXpCxPQ7xRRqh7v1fYN4tnGIHQC1bdNkBioLwDytxB5NTjyzPXAf9dSBf2r36NUlT81HfAv7VlYPNOwZpOYHrvjU+yWSKkDXc7H9bdxJpXCSd1aUFR7WfJp3dVhN2rDPYy/NHXMHdsmFzfiaF+qNc/CRMMas/YKO9g0N9tLtQtVjFYh3Az+Zongg1mLDCFq9XUsBcyyIpYgXqF72RXwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FKnkAPElqqbeiBw2iBcEtd5uEieEeaTX/LOwlMzs2Lo=;
 b=qiXhMVjiLtFZdpgCd7uQa5RUPnG0bD4AVNTMqIZs/E9xvkarpkDGnEBKZ/AbnvMlUUvi4hKMLA8X3gfcNbIHLT+JSScHfYjajWZzUJqBr4jSr7nMHhkfv2Vj2Ah7oc2L7pJ3bpZOojkxCIvgdO0VIiZfAWHluHBQ7S7ezwtM/qJH2VBF3uKjoI5sKwE9IyzsTPXs7j+wgb9dlbFAJXfEyqWXl1c6wWaLRFPhQAeDjXpFJv8rZi4+a6UfZuYOTkX5UjVm18BBg8rjoRHYmc2TBiIMZj8ECpfuhZpahfzKldOHVcDMhz9SxtQi28+CYmsItamJRbhdfl7vEgZ8EDOO3g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FKnkAPElqqbeiBw2iBcEtd5uEieEeaTX/LOwlMzs2Lo=;
 b=jp37mxPXP7xR6x0bDuaIWZUC0ZWy+PBtTTH0KVMyFFESENBmBOT6g3RKlgTB1Jkbnu4Qf0+419CX+ZR3UzzVNfLls145Dcs+aW+bSO+/ame58c5CWaR4nqPEvMILftj3vJd6usG9R+HEq3yintskGptSeuiN59aRlqYFNZP1LEQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <2220e6e7-4f2e-46fa-9c13-5864797f02e7@citrix.com>
Date: Thu, 18 Jun 2026 18:20:15 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH v2 02/15] vtd: Use pci_sbdf_t in acpi_parse_dev_scope()
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794551.8631fc262581453bbf619ec5b2062170.19edb3b36a1000701b@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: <1781794551.8631fc262581453bbf619ec5b2062170.19edb3b36a1000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PA7P264CA0119.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:34c::12) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|CH4PR03MB7746:EE_
X-MS-Office365-Filtering-Correlation-Id: 1318876f-7d2d-4960-b1e7-08decd5ddf21
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|23010399003|376014|1800799024|56012099006|4143699003|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	63bkHxuOhrn6iVvF0V1lzUpwSDI8UuPtWaqFn7DBlGLmUtdtfsDi9WeBVXPoOlLMPBSxzjFFLJ1onPRQF11H5mZ3Cn7XfjS/D/mXuUcT0ELJyFhDifgOGOD2K7za6bfUt0J4hgLmUQg2Fij5RCefM5cDXMVeZUo0JHlT4OFcnFiFilFlT0UaDNi98kdoGh+9neQOUjgZjLtGHLdMOdPdra6Gf5XuwJPlOr0PnqZrZDsxqXzJCiUUe1gYIML+Ev+Ku4cUUMHm5ZJ72myKOb9NeoaogpzepjOki+q72VKHEGYfDsWpy98Kx1MmyVwiicE/gjXM28QsSdhpRGezW+HYrr1znH6p+JLb4YbRRrOvKviNUGY28a5WJ2VCqFo6huatsa+uHdU9LpsSPfFtpCRUmJa0ecbXbRpfxtXgstjqWqgXhC7U3LnazQKzhUoxQzubfIydrictSYeJwXxYsOEt00tJVJb277jH8nPbzHbL/4OlSc7OlfWq1MPOQbakiC8qDtQbk418B0WTHO2rcRamyEMjjBuWZ54Jwo7o1NnAFEqUNc4z4KvB9U68ehIuy53LmWrslMeIH4PKYObYYBYaLEOVG1Wbsj0UGZPBI21ErKJzWGCLUTDfMxxWfSsEnf7DsKJ/tJ+DS0O7qpJ+FAU/ZzZ3ok95k3S5KCLg9UBjJRrDuM+twISzQ68nlUpBTxBS
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(376014)(1800799024)(56012099006)(4143699003)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cTdBNjV5RDNmYWxLVGoyOVh5Uzc0RkJWaHVzM2pleUJVemQzR3VzdG9QUXNW?=
 =?utf-8?B?MjZYZktITmFKT1JPeTJyMkYzcEhKNkJVQlhUV2FQU1QxMUJFRm54cC8rSDJr?=
 =?utf-8?B?a0JwRTZ3TmE3RzFpMGNuSVB6bEppeEJFOG00Ujl2cWpZcWcrbEdTaDZBeTZa?=
 =?utf-8?B?WWtoRkhGU0xFOVVSUlh5MThUZWF5cllud1oxMndQQW44NWNpUlo4Vm5leExU?=
 =?utf-8?B?MEFZeDJmUXlYU0VaQmtZKzV2UnNsNHdtNVpiNE9hNDR4bDhacHlOcWNidVI3?=
 =?utf-8?B?N2pkT0JCek9SQWlqdmkzTVU5RitvOGtRL2k5YmlidE4zV3pyL1Rtb0pPSzh3?=
 =?utf-8?B?NGZTZTVPRmhacmpxRm5UazI5eHdEaEZvU2k1NDIwTlhvSklOYklMMDY0WVFm?=
 =?utf-8?B?MlNUZnhkRzJtd0lPenliTDJ5UUk0R3l1SWhPSXRWZ3Y3Z1lBTkE3TWNsazFZ?=
 =?utf-8?B?NVNheEpqaGNobzFFQnZhZTlVa3c0SW1VWjRwVUlKKy9VNTBndCs3R3JCZ3Fi?=
 =?utf-8?B?M0c4U3kzeDFZdTFUK1hVaXdQSk5rakhXRkZadmJtY0FxcFBKT0RDM1ZIYk9I?=
 =?utf-8?B?eWpuSFRxQkxxVlFybHNqSmVtTWVMYlU0Y3JhTTM5ZXRucExneXFiS2d3SUMy?=
 =?utf-8?B?RWtHUzcyaFFzS2hCNmtaVmFCY0txUXViVTlYa0pDMFJKdE5CWW9VMjhrd2Ev?=
 =?utf-8?B?Y2hUK1ZBQ29SL2ZTalg1Rjg5WnhySmt4dmlMZElmRmcwUm5ocmg1MmhVeFNY?=
 =?utf-8?B?SW1BdStKOHloSGYrcURYdEJOL0RheXp4WWJkLzM4ZStwZElzQXJzQ2lvUzZm?=
 =?utf-8?B?RnlsZUtvU0Rta1B2bjFVbUJoZktacklSZmhYdXh6ZnJaVnd0Si9OQ0Iyb2R2?=
 =?utf-8?B?b0dNS0U4b1dodmdKN05yMlZuNytOTjhvL2xlLzJxYzkyL0UxTGRDTWptNXkw?=
 =?utf-8?B?US9sYU9ReVNyZlpwSld2OXg2UDhQblI3ZDlIMTVPTDNNK3d0V1BSNjRtUGg4?=
 =?utf-8?B?NEs4RVpHQXlFMGI4U0JOWmx1cGhBbmd6Y3o1S3J1RjhZUEtJTTE0UEpUb09U?=
 =?utf-8?B?Z3A4NEJiVHNBMm1rZ2tDVmpPTGFFeG5PMkRaRzRoM2psc2ZhYm13QmpLNDhE?=
 =?utf-8?B?TlBnUVEzRDRtNVg4REppbkZkVmxpYjFZY0FKeURNRDFXVUdtcVdVa0FTT0Y0?=
 =?utf-8?B?UUl6UjZyWVVKckpPSk40YWE3U2ZKZytvb2dvU3lYNXo3UjlFeDJSYWlLd2Q4?=
 =?utf-8?B?cVNhaXdwTG9UanliWHkzbEhHa1AxdXJwQzVEb0w0cXhKemNSbEZ2UnlCbDhF?=
 =?utf-8?B?KzlsT1JpUk9RVSt3VXNKWlUreXBUV29GRDluMTRLUXJZd0VXei9ETGhac2sw?=
 =?utf-8?B?SjZlNzArM0hhbTJRcVRPY2tBT2wrcUczT0cveDZTUndZSkczWjlIck0vdmg3?=
 =?utf-8?B?SXIyQ05RSjByY1NyQzBKVXZ0bkk4Ri9HWUJYZnY4aXJTZDN2NGFjRUthKytv?=
 =?utf-8?B?cERra09ENS9PdC9YZEVPNUdaWnlnZW01cTJCaFU2WXU2Tld3SDRXOS9vVTds?=
 =?utf-8?B?YjRTUHdveGxoZno1RWpBa3l5bVhaQXZyWEsyZjgwSUVQbVNKRXJOMHNOM0hw?=
 =?utf-8?B?L2JhSUlHWTFoM1dVYUNxMXVFbExwNjFjWEd4TVBNOVVjUEQvY3YxbURESWpG?=
 =?utf-8?B?QTdIeXRQYjNCOHZSRUgvL3g3OFRaLzI0T1lRUnZHRGhVYUkrOGpNNHFibDN3?=
 =?utf-8?B?Q2lsNzJyM2ZzbGNTNEpSQlp3UDBIcUY3RzNPSVdONDZmelRibERlTnNVK08x?=
 =?utf-8?B?ZFRpOGxtRFdSaWVYVFJ5cm1OV0htRGxmTG8xY0x5Q0ExVExOM3RtRnJiQnNE?=
 =?utf-8?B?ZGQ1UXZETDlPSXdSek1HQkdYMmloZTRMQXFMSFdKV3lVK2p4V3JCUDlONUpR?=
 =?utf-8?B?bTVqOWVidG9CR3JYUHhMRStFbEJZK3kvWm5zYWo4aTlBUGllSWFoMXNPc0Nq?=
 =?utf-8?B?Mm95a250WTJpNVE4VW9NMkVvWGZ6S2IxSi9QM2hCS054MFVreGZwOFhxYWpM?=
 =?utf-8?B?VTNIV3A1a3M2L1BNdndFL0o1bzZoSWdqWTNBMXRpRFpMR3d5U1ZTb25LdFUy?=
 =?utf-8?B?em9PNFFoR3dhamU0VnRhb1lPRStFZEYzbE1iL2xKdlZYVzM3dk9tWnVVSDhW?=
 =?utf-8?B?cjZmalpWR1VXUmdzNC9rQnNaeXNHQm0wclkvNDNHVjJrT1hqZGVXa1BKRTAv?=
 =?utf-8?B?d3VWamlGanVXQWQ5WXR1bWtYc0VWMzU0b0hTTC9UdDFUbEkyd1E1MWM3SDMv?=
 =?utf-8?B?WDlTQzJvOGFGU1lTalFwOGREVTBmdEFScmF3TnlMYnorUDlOMTFsKzJvTTZ6?=
 =?utf-8?Q?CEP/oKru3IX49LRs=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1318876f-7d2d-4960-b1e7-08decd5ddf21
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2026 17:20:19.3162
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vj1twDAXyOjhUuFINYCVW1BpY34G5QjYuL4HjIET9bChfJqkxzrqWwk1ALYuMZia0uqqKZ5e7YX1ZnfACbKjKo/LOGbHitaZFTa1GanCRbg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH4PR03MB7746
X-purgate-ID: tlsNG-42698a/1781803223-4D9FE00E-F29613E3/0/0
X-purgate-type: clean
X-purgate-size: 1707

On 18/06/2026 3:50 pm, Teddy Astie wrote:
> diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
> index 2a756831a6..71e5a51a58 100644
> --- a/xen/drivers/passthrough/vtd/dmar.c
> +++ b/xen/drivers/passthrough/vtd/dmar.c
> @@ -310,7 +310,7 @@ static int __init acpi_parse_dev_scope(
>  {
>      struct acpi_ioapic_unit *acpi_ioapic_unit;
>      const struct acpi_dmar_device_scope *acpi_scope;
> -    u16 bus, sub_bus, sec_bus;
> +    u16 sub_bus, sec_bus;

Please swap to uint16_t as you're editing the line anyway.

>      const struct acpi_dmar_pci_path *path;
>      struct acpi_drhd_unit *drhd = type == DMAR_TYPE ?
>          container_of(scope, struct acpi_drhd_unit, scope) : NULL;
> @@ -332,29 +332,27 @@ static int __init acpi_parse_dev_scope(
>  
>      while ( start < end )
>      {
> +        pci_sbdf_t dev_sbdf;

Blank line here.

> @@ -386,16 +381,15 @@ static int __init acpi_parse_dev_scope(
>  
>          case ACPI_DMAR_SCOPE_TYPE_ENDPOINT:
>              if ( iommu_verbose )
> -                printk(VTDPREFIX " endpoint: %pp\n",
> -                       &PCI_SBDF(seg, bus, path->dev, path->fn));
> +                printk(VTDPREFIX " endpoint: %pp\n", &dev_sbdf);
>  
> -            if ( drhd && pci_device_detect(seg, bus, path->dev, path->fn) )
> +            if ( drhd && pci_device_detect(seg, dev_sbdf.bus, dev_sbdf.dev, dev_sbdf.fn) )

I was going to suggest converting pci_device_detect(), but I see that's
the next patch.

Given that's the way you've got the series, it's probably not worth
flipping it.

So, with the two style fixes above, Reviewed-by: Andrew Cooper
<andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 17:44:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 17:44:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341528.1601918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waGmt-0007J6-8E; Thu, 18 Jun 2026 17:44:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341528.1601918; Thu, 18 Jun 2026 17: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 1waGmt-0007Iz-4n; Thu, 18 Jun 2026 17:44:23 +0000
Received: by outflank-mailman (input) for mailman id 1341528;
 Thu, 18 Jun 2026 17:44:21 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1waGmr-0007Hl-4s
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 17:44:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waGmq-00FSDj-Hj
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 19:44:20 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a342e59-5cb7-0a2a0a5109dd-0a2a4501b392-30
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 19:44:20 +0200
Received: from [40.93.198.26]
 (helo=CY7PR03CU001.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a342e72-e031-0a2a45010019-285dc61a09d3-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 19:44:20 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by PH0PR03MB6915.namprd03.prod.outlook.com (2603:10b6:510:169::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.13; Thu, 18 Jun
 2026 17:44:16 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.009; Thu, 18 Jun 2026
 17:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=zQ0kQ+YzP+EJQoUptKn4coJkyniQiBmulbJ9dnfNeqTcn3TiusrZ7BE/KCLjRCGGm0uRM+gSJ7g2oFY4JbR03ar+ZaRNWndX+1+0OsGo7m2K8csJxpI9fu39I9j1PKNpSsRYpqdEoLUGvJ0WqZa3usJIeX3oVw9taLqCM9xwbVcYCxXH2QNKH39as/G4Y01E3wUZqTgz5bvEyGfMOnsRERzNhf0UVNvi/YxbIbDpkRdn0ByiNkdk0F+B90RMxA7pz4+uwyLsCTl17Vh/+MAS4gHZq2lfznpd79ck22la83Fg6EJiBbFvr7MJpo0Tuej6bDmDmCGx8CEAdfMYPQPnIw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=frraLzGkQwg+4my/9UuFpzqGox4w5t0oOLozoaXxk+s=;
 b=h9F8ygsrEeQcwlbniemBjLtcixW1hQgAzFfMLgTf8Lpl+RgUo4qCP3n29MXcKyBVGMyelr8fUvw2CMVAj3HvQX3fW29oN06J3vmfGWO/Zc7w2s4FYp2koz6F8UlAOVpBgzlAclUzNWVCNYg0D4Q6idMLWc6Hbf12HGiGPTiGYf5S7VCb0Wh+BCo4YOSqFT4SZ8ywAjUkzJL7TGJ3Z4f+aTAGvqrv6ZTim70CKf3zw5A7nLMIe2/xZBkgyTueJ5IrLYVkCdUpCssEDW84VmElLuxe8zuW+usBc9AZPcgAsESABK2rzptNDZ79KLAtazf5IFzpbTsI2s3WVGuSsdeB7w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=frraLzGkQwg+4my/9UuFpzqGox4w5t0oOLozoaXxk+s=;
 b=IZ0MIjAtN8wulp25Rz+RS+yTHEAQ8g0pQnNKpFWdnkrAdGMmqlxvyY/uLb7YUgBWmlQM4iVyXyGKMaa4GWsZcIjg3/QODqNBZXctnPZ3LITTpiuAJGrErMktWbCvoI2m7RqpBV7JOSE0i+qS4s29EefcbDOLEx5ce5jBIYYNMuU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <9dc3e33b-d2a9-4383-bd12-a46e8e9b1b85@citrix.com>
Date: Thu, 18 Jun 2026 18:44:12 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2 03/15] pci: Use pci_sbdf_t in pci_device_detect()
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794552.8631fc262581453bbf619ec5b2062170.19edb3b3983000701b@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: <1781794552.8631fc262581453bbf619ec5b2062170.19edb3b3983000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0236.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:315::15) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|PH0PR03MB6915:EE_
X-MS-Office365-Filtering-Correlation-Id: 613d9891-15da-451f-cbe8-08decd61378e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|23010399003|366016|4143699003|11063799006|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	1UM6gB3NDRfrzfxmsRdNTKVM+L9S8bEnnQ8pBQyAk2zfBjM9wnt8vT7vZMctF5cZYwbxSc6P5gpNYsXB71KCPpprJ44bz5Ge1DXyl06fVzF2nQW60KcjFXuLmbQRgpqQEJ07qR+KSEm8rpqplbX4JVErkULLDWOCPm6LYOVjA87i1+eF65ab8ewgM9FQEAt/x3KWgHKKhkLjPCj1GOMT1OsR+c1l6etYZX5kSE47sPWXhBSLOGhr3PNaNeFjS0MYjQCqAOMOuMFrYGcQrlUQvOtYeUm0AK8vnMwmst/b5RMJ+uOXP7zF7Cnk60aALQlHj9Q7VWIfVgIsEnOypBcO6Wc1DXc3FuLAyiQ8LFzM428LEny+lgfHXmDlc94pFwJXGAtBs8POzUeiCBv8qWWcm35rNmQbrbsLhIhBosdkiej2g3niMTFav4s1vFA8eSAuNZivZiwT7O+QBqU0hlz41r439PSnydDsJe2eVJBjyHDyV4kIgxWhpyywwVBSaP7JnX6D6I3aT3m1+R0/QnHB/hdZkV7UsFfXJet49g93jR4x4NCo0PEhZuBq8fObXR8/DGLrykXt+awbUS5RQjgXVnAkUS4q32llEFjulBbIPddNl6DcPSHL02H1w9KgLdjfx7rnCamX0j//48Hiy54zx2HHUhrb7RCeY225PH8sL6pV/ESPY5ZjBFcFaKHL7jiD
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(23010399003)(366016)(4143699003)(11063799006)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NjJOUDMzb1lWcmx2ZzlOZ0hQN0FRY2NGdVoxbktPcHNxTGxrY0lnS245dHRP?=
 =?utf-8?B?VjJObUl3R1Z5RWd6Q3dpSEJubkJHem5pWHc0NWNJQ2h3RGl1cXIxRklZd2dU?=
 =?utf-8?B?dzFTMzNFbjMzWnJSR3prU04wemRYMno4aW9qbzBuYXIycUZ4SWY4MGNFNHRO?=
 =?utf-8?B?ODBBcWNlbkt6ZDJyZ1o3bW1Vc2pXbE1TRVBUeXZPRHR1b3F5aUhOZ0hzUHBo?=
 =?utf-8?B?VnZXc3FrRTJUbkFPR1dkeXhrV2QyWW8rUExZdUxyOVlsVjJkVTBhbFlweG8z?=
 =?utf-8?B?SlR0NTJOckN2ZU1neDNML2RvS1BzL29TMWMzTWtFdlZYTmRQa3Z5bnNnZ3FN?=
 =?utf-8?B?Q3h5YWl5a2pYNWRhanl1YjRhUWErNVBXMjJLRUNvTHFRRXBBVnVrcHhISy9u?=
 =?utf-8?B?Y2xlNVRlYzM5U0tGMGt6SVd5OTVrVWJYcVNZc0VqaVhxdmEweEFITmUydE1V?=
 =?utf-8?B?NElHNE5SeHJwNytSdUdtQW9xY0RlRVQzT21lNk9EWEtPMVlNdFlKbUxzUktO?=
 =?utf-8?B?TTRIVjJiR2I0dHA5bVZBNHRyOWdSc3VWZkJUZUVXRmRkaUFGRTFMS2pURkdI?=
 =?utf-8?B?Tlc0S1oveTdLUjhWVmdWMkdHRGkwUHMvVTdzUlJMRHgvL1FxRk9BVmh1dk9W?=
 =?utf-8?B?RS9LaGNudUhrdExCTWdyZmRSTDBOd09lZlhKdkJzeGZCQnJMeURIeGplZDM1?=
 =?utf-8?B?RW5GKzVNNFVIaCtITXo4dVRza0c4bWFCWG5sY0JOVDg5dFV1ZjRuZ2lVWUYx?=
 =?utf-8?B?eDBLbWFTSjhUcFA5Vk8xMUNtTnduOFFYeHdKZEpMc05kM2JYTjBGaXExajlH?=
 =?utf-8?B?aWVWZWh6S1FnMUFmVjBBbEZTOW5xODVCbFQwK29PRkcrVWQvQk45Z3JKUE80?=
 =?utf-8?B?M3pDZDBZbldCU0pDMjFrZU9kWWIwcEwyTUM0TGxsVEdoRmF3eFRQN3dwSjcr?=
 =?utf-8?B?T0E3ODlpeEsxYTFNZ0x5dXpTR3ZXbCtsYmdWdkkwS1B1aytIRk1qekdXbFB6?=
 =?utf-8?B?Wk1lay9LbmlkZVRNNEVIQXRycHdOdXhyb2JSNi8wWnYzQnJFZ2VRN25SbHAw?=
 =?utf-8?B?NFVLTDFPVVlLL040TXR6eVVqRU5OR0NFNDNJTXFXVEZkRlNPK1NVMVFidG5j?=
 =?utf-8?B?VjNlMkxxaWZpMDJrUDYwSUFCd2E2a1dTU3lpSWVkN2p1VW5INDdKSlplMDY0?=
 =?utf-8?B?NmdqSndIcmNRUFNZdnhXcGx5MDQ1MTVTVnBKZUVGbk52ZnpLQm5WOWJjZ2s2?=
 =?utf-8?B?c2tlWVhJMXpZTWtZbjZ0UHovMjZoY252dElqb29OWTNPZDFwNjB3QlIrTUl5?=
 =?utf-8?B?RHBXbjkvclp2ckRMcENDSzBxRlVSZ21WcUNLUEFJdFU5R01kRmpGeWV4aFl1?=
 =?utf-8?B?ZHd5aFBNaVZoUjhIRDQ4bWhXMUhxWUhFNy9zRDBJZGUxRU5nRXNCdm90b20r?=
 =?utf-8?B?OHF2TjE5a1hiZktUZmc5Q3dkdjY2ZnFXNVZEUjFBZlVaVlovTlo1RDNIRHdn?=
 =?utf-8?B?ek4yMHlhek5HY3FMa0ZobHZSWjBPZHdzWDZ6c2l3c1JXcldUQmtmazk0SE56?=
 =?utf-8?B?OXZUOVREMmE5YUJpbjhHS0pHYlNKaTI0bVJUUG4xS2VRVk5tckxZVUFraE9C?=
 =?utf-8?B?Q3pWZ285UUFCaUVzQ091OFVRY2hHNmJaM0p5a2Y3R0hLbGR6NmNxNzNmcUVh?=
 =?utf-8?B?S2hyUjJJOFJSNm9oKy9pcEkzYUJTaWRSNUVFbVp5NExFK1QvTFJXeTF0UjQ3?=
 =?utf-8?B?YlFMZENIS1FwQmxkeEJiRmw1NmpBbFQ0RVVaWWU4d0srdkxiVFRMcll6aFQ4?=
 =?utf-8?B?WmVWc1d4UEozMzROYnJBbFBudmJZclRHZW5MWTdkakxlNVVHMVJrWEtpMlBx?=
 =?utf-8?B?ZU5UMEV6VkRVNkhNRHhwRzdzMXJHOGtMMXNybHZwcHBocHprSkxHQ3dhR3ha?=
 =?utf-8?B?bVZCNTFyYmZqU2JvZmt2T3VpdU14UTk0UHVzNDFPS1RkNWlreXNBYzA3bFdX?=
 =?utf-8?B?Nm1FVUZlZVlDblRUUC8yQVBTMmptK25mZHRJWU1ST2YyS3dET2dOcnE2Ukht?=
 =?utf-8?B?Y3pkNE9YalBGNEdETktLdUVSakJBNFpaQVNYQnIycjBVejJMNm1ZTm5aclhC?=
 =?utf-8?B?QkFEVVd2TThaM2MrYWZNdnErU3dKbnRUTVhFOTM0U3IySEl4MlVXd1U3UFNQ?=
 =?utf-8?B?V2V1UUlSNkRSd0dvRmkxOWdFT09DQzNpN0tTdHZSbE9xeHNEa1FUUDh0eU0w?=
 =?utf-8?B?VmFzNFI5NGllcFpQZUgzN0JCQ3ZTNWUyRG9COHRXWG1YeWF4aHZNYmJKM0RD?=
 =?utf-8?B?dWxiRXpBY3BKZHVxMytndlpKR3J3eVlxMytoSnJjRUdBdWplWTlZcFI1Z3dG?=
 =?utf-8?Q?YduluoRWDUiocNTQ=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 613d9891-15da-451f-cbe8-08decd61378e
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2026 17:44:16.1742
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dcsHUgE8ix0XWVTSzj9okxPvpk+5G6OaHv6qjj2ki+KvNZuouu9ZP9Avi2kb/vaygsXEEHLTGXRRF2VHD0QY7S8zHa5m8eS47Gzo72CxV1Y=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6915
X-purgate-ID: tlsNG-d62444/1781804660-4A5AFE30-2D72F32A/0/0
X-purgate-type: clean
X-purgate-size: 2844

On 18/06/2026 3:50 pm, Teddy Astie wrote:
> diff --git a/xen/drivers/char/ehci-dbgp.c b/xen/drivers/char/ehci-dbgp.c
> index a5c79f56fc..27bcff0a8f 100644
> --- a/xen/drivers/char/ehci-dbgp.c
> +++ b/xen/drivers/char/ehci-dbgp.c
> @@ -1510,25 +1508,24 @@ void __init ehci_dbgp_init(void)
>      }
>      else if ( strncmp(opt_dbgp + 4, "@pci", 4) == 0 )
>      {
> -        unsigned int bus, slot, func;
> +        pci_sbdf_t sbdf = PCI_SBDF(0, 0, 0, 0);

Elsewhere you don't initialise sbdf, which should be fine here too.

If you do need to initialise it to all zeroes, use = {}; instead, which
is shorter.

>  
> -        e = parse_pci(opt_dbgp + 8, NULL, &bus, &slot, &func);
> +        e = parse_pci_sbdf(opt_dbgp + 8, &sbdf);
>          if ( !e || *e )
>              return;
>  
> -        dbgp->bus = bus;
> -        dbgp->slot = slot;
> -        dbgp->func = func;
> +        dbgp->bus = sbdf.bus;
> +        dbgp->slot = sbdf.dev;
> +        dbgp->func = sbdf.fn;
>  
> -        if ( !pci_device_detect(0, bus, slot, func) )
> +        if ( !pci_device_detect(sbdf) )
>              return;

Looking at both this patch and the next one, and despite what I said in
patch 2, I'm going to recommend separating the pci_device_detect() parts.

This patch has two separate changes going on; converting
pci_device_detect(), and using parse_pci_sbdf() in some places, while
patch 4 has some simple conversions to parse_pci_sbdf().

Break pci_device_detect() out on it's own.Â  Trivial caller adjustments
(e.g. acpi_parse_one_drhd(), register_one_satc(), even
_scan_pci_devices()) are fine to stay with that, but for non-trivial
ones (e.g. acpi_parse_dev_scope(), ehci_dbgp_init()), just wrap the
caller with PCI_SBDF(...) in the interim.

Then, you want a patch for acpi_parse_dev_scope(), and a separate patch
for the work in ehci-dbgp.c.

It makes the series longer but the result is easier to review because
the patches are doing fewer things at once.

> diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
> index 71e5a51a58..61269c7e0d 100644
> --- a/xen/drivers/passthrough/vtd/dmar.c
> +++ b/xen/drivers/passthrough/vtd/dmar.c
> @@ -1185,8 +1177,9 @@ int cf_check intel_iommu_get_reserved_device_memory(
>  static int __init cf_check parse_rmrr_param(const char *str)
>  {
>      const char *s = str, *cur, *stmp;
> -    unsigned int seg, bus, dev, func, dev_count;
> +    unsigned int dev_count;
>      unsigned long start, end;
> +    pci_sbdf_t sbdf;
>  
>      do {
>          if ( nr_rmrr >= MAX_USER_RMRR )

You're missing a hunk here, and it doesn't compile.Â  You've changed the
variables, but not changed the parse_pci_seg() call.

They look like they're in patch 4, which I presume is just a rebasing error?

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Jun 18 17:55:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Jun 2026 17:55:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341537.1601927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waGx8-0001fj-4y; Thu, 18 Jun 2026 17:54:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341537.1601927; Thu, 18 Jun 2026 17: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 1waGx8-0001fc-1h; Thu, 18 Jun 2026 17:54:58 +0000
Received: by outflank-mailman (input) for mailman id 1341537;
 Thu, 18 Jun 2026 17:54:56 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1waGx6-0001eY-L8
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 17:54:56 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waGx5-00DJAN-MR
 for xen-devel@lists.xenproject.org; Thu, 18 Jun 2026 19:54:55 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3430be-bab6-0a2a0a5309dd-0a2a450a8694-34
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 19:54:55 +0200
Received: from [40.93.194.66]
 (helo=SN4PR0501CU005.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3430ee-93a5-0a2a450a0019-285dc242293a-3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 19:54:55 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SA6PR03MB7565.namprd03.prod.outlook.com (2603:10b6:806:442::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.17; Thu, 18 Jun
 2026 17:54:51 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.009; Thu, 18 Jun 2026
 17: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=wv6+iyjQa8fpI3b3IGezDQo4fc0vLfOKXACCwyhQ8jj1csAf3gf8tGZYZMG11l5fJ434ps9Z5V6kDBDS8e+bV7+nj4mNTh7Ike5oUpwBymBroB0R7H7FuGvDQX256FONCQrfRRetvsb+dqeGnG79Jkdmx13fFCaJz/GnsU2ZAR0PID5UcdPNm/85mjkZT5FHRNuH186GmF2oKlGKLRgNZ8FqQyur9UANobFTMvWGnliEr1fd5QQ8kZgGGFQS8L8mC+JNPR9DVrbRdQLS8PSoggEmMHLVKChiOeOv4Ltob19KSz4l2jTQQwshBfJaZFcLMKs2pziI/aGJJkwoH3HZdg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r9MmiEcRz060P+QPJ5Wfo7ZfRrn7A12Hb0j2ZJJ15r4=;
 b=rhSS6tpOYVhLKCOb/XS+vzvfQXCTrpg8qqaWdunPlnXRi4ucp+6FCGrreT2y4efoKeBhs2qzk5dqFWfXmiCmZJa+wGJ1UWTqxFil38vbSXZ0Ei2yl07B3spSd8edwHs/fX6jKMzpeWBOy3Y1tQ4qTgTSDaHx/8tuNZJn3QtDcoAXocZaM1BpgtKqgbAXinw9tEaeIWUI3SKjuzvtTYudXlab6p9yWeAR7pH0SnRsUkSB33nEdvhDUaBjcKI5Ro+3BUk6WnNAvH44gEbDFsTFYlThPkNrLxC7pxs5Xl8AGYdRFwY8R10vqpeBKbcnHR3j6m519Id/hewD3jt+mnBItQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=r9MmiEcRz060P+QPJ5Wfo7ZfRrn7A12Hb0j2ZJJ15r4=;
 b=B9aDnQ0wd5QCTLl+2NG/GQC6G6Gnh/2uoBOjxBbHtgxpW3kkMENS4Z6dfd+BgJaFxXQygYwS1KRRsiVzLEPTvzIPrLt6u6sp+kuKr6qd9w1V5Ik/T3fnVyfAET8EN6qKoP65sqZIiJIP4H9c9mGL50wwDkERSrin6h4fzLs9OdE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <f44587fb-5d77-4787-9e09-2aded00ca165@citrix.com>
Date: Thu, 18 Jun 2026 18:54:47 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2 05/15] pci: Allow ommiting func when parsing with
 parse_pci_sbdf()
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794553.8631fc262581453bbf619ec5b2062170.19edb3b3fcc000701b@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: <1781794553.8631fc262581453bbf619ec5b2062170.19edb3b3fcc000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0132.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:193::11) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SA6PR03MB7565:EE_
X-MS-Office365-Filtering-Correlation-Id: 1fd2feb8-86d7-4bae-5f7f-08decd62b26f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|366016|376014|1800799024|22082099003|4143699003|11063799006|56012099006|18002099003;
X-Microsoft-Antispam-Message-Info:
	YunQpNYCBuV5v3jkoKIrg74uKj2FjYe3fbcMqqasAFtFO+2FQTpr3l8Gb+srEVsOsuLqS1yzAFZBw9Je3g74ZgdkPFWVxSiGfs0gSrLAmp3t6FfQntTuFpb37C14tQr0Br0+0aiMn8W0sUeER5HnZGbdMYT/Hd/Ci2n7LT9IrETKnN+zTVmjz8CSqSSi2ugZOQTqNby2Mcm6O7gkkJ5JjZNtFb/IjAelpaDvcv/1GrzWVWnjNR+jCafm6rVzBUODJBaevHL50nN8tW42oxyAuyAeteMbNXGC/KyEMR1McD7OQqFI+267vmkikw8eQgE7QdmnjDB0/PF79jcATP47O3s7KJOhQANz07EmBNE1skukE1J1nNDWiwv5dc4Qmw3V5yrefQ4uQ59VDavLJBE8C4tP7kt8VXQQpvOw1zKcbKXmpqv/vN4B0Bgw7L/5YFn0O/NsZL12lvSjlMjmDJesK5sK0mlbtrltHYvVuheAbOUcg0/GEGqgENihb7UUgES8NOMH8e0/yxMc6dIjViuB43w04084CHX6sW63+9QH3AbJ0g00h3OHZc4413/ZXQ0N7BqpHq+moIWiGHoVAWdTNXT/rQqKZxPPi8+tp+2enVX45DH1U9vPIySgcU1kAvDj/MBygQMpmU6Z8dc6exmPtyCXRwqpCAosCnWWWjCRHWH2SRq9YnBWJk+VlEcJHjCt
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(366016)(376014)(1800799024)(22082099003)(4143699003)(11063799006)(56012099006)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S0ZxTG4vK3p4MmwvYlY1WVBXTlN6QmJpZ1NseFJxRXlpREloL3dzcStHd0o5?=
 =?utf-8?B?cnRyMUVOU3lsN0s2cnhLZjJiOWtnWE4wTk1uWTc1RjVub3NnYWdFNkNUYUVN?=
 =?utf-8?B?ZlNlaXl5bS9tOTMwNDVwdVQ0SFJBdGZuT0RXRmxnYjZOdzc1TDVJZUZ1cTJZ?=
 =?utf-8?B?K3dSOXNydHFKZC9xNVEzMGxRdHFpdWlRdFR0YVBQSkZHMnZSRHNvVXFFSHhv?=
 =?utf-8?B?Yjk3bTl1Qkw5Y1FGOGxSN1BGN2tlZEY4VHFRa2k0eHlqQzhGYkxPUE5oRkxx?=
 =?utf-8?B?V0pEQlNhWkcwcmROVVJLbkkvekFvY1FtaituSW9qc1VpSHlQRnZxblZHMHhj?=
 =?utf-8?B?cldSRGNZMDJsRlRCbjlqTFNMSVY2MjlqcTh6Q1FuaVRoT1ZNdkpaSmRrNVpQ?=
 =?utf-8?B?VU5KRXovVEZCS2JET1piWjVlcDBDUkE5a1BmQ2pPVGM4UC9SMmo2OWkxQzZx?=
 =?utf-8?B?RWFSSFdKU3Q3U0VycmpjMVJMbE44SmJvMmcxWHdNVkgwNFBXSC9KbDUrcFg0?=
 =?utf-8?B?UHUvM29RRU55cmRnUE1sMVQvYzIzNjFQdG0wWHVLVzNoOGxUTWR1d015UGUy?=
 =?utf-8?B?clFFUC9oT3dOTCtyd0NsNHRERjhLSXNNaHFOU0dHR2pJVEFoWGQ5Y0VvTDhz?=
 =?utf-8?B?MkYwV2M3MkRTTmlZUjJmZU4zZmlUdllRR3FJVWhHWEppLzF5ZVhTemVHZTE0?=
 =?utf-8?B?TG9xUkgwalY1RnlkUjBwanU3RmhQWlJDUUFUMzBSZVBJajIva0l4UVZOclRS?=
 =?utf-8?B?b0toaVFZWlZYRGw4c2pBK2RZdGpzVEc5ZE5pUnJFQkszSFJPUkJvRVMzRGl2?=
 =?utf-8?B?dFpYcmVMcDY0QXVwaitlTGhXbzJvNkpMQjU0RU1WNlM1bERtMkVuWDB5ckpz?=
 =?utf-8?B?ZFcrVXlZK1lmdGYvN0pFZjhyRm1UdS9XMFBqSTFWQzBCSnVmY09kcHYzZ0VZ?=
 =?utf-8?B?QU1lNHB0d3hXMEFjM1NoZGNDODJhTGNaUEZPS3VrVEFiMHRIV0ZJTk9XNEZG?=
 =?utf-8?B?TGZ5V1JIMm53RWRwZTZ3L0czcXRsQ2VUYVA3ODlhMU9temhEWjRwalJhaHZI?=
 =?utf-8?B?YWhsekxveTU4bEVPYnBqOEQ3eHJpRDdNcVhnZXBsNll6ekVNaU83alZEOEN4?=
 =?utf-8?B?emp6WlU1V2x3dDBoa1l2TVZ5dFRNbW5pbmlHUGFJVU9KY1RORHlzdFlEK1pL?=
 =?utf-8?B?ejRabEwrSERselRaNG9jZ2dKTVV5ZW5oTTduSUNreTZVVkJqdlFuZndjYXQv?=
 =?utf-8?B?Vm54d2pMaXFic0hhNkF0VVdRVHZqcmZZZFBpSE9CTlhOZElBelYyRFZRaFhE?=
 =?utf-8?B?Y3pPMnk3cXJ3ZVFXUER3QUJ0VnM2VHBVVDk1Q0sxVVJ1U0lKVEZ0SlUwVnJ1?=
 =?utf-8?B?R0Y4Q3Q1Snl5NFBUR1d1U252Ukw4N1hYSmtXRmRlaFVEK1hOREVyRnhEVVJp?=
 =?utf-8?B?U3JvZUJmanNNa29aQnl2RFIraHducWVPUjZtTnE1Mko3YnZ6eVJFaU00VGU1?=
 =?utf-8?B?NlUzZjFWYW91RzI2aDZFazdTUk9hRWQxSlIwaGZmQjhxemNpVVdWOHlQeE15?=
 =?utf-8?B?NFBMZzVMR3p2bm1EYkhhWHRib0lYOUdwM3lJSWJtdWN1Q0JHVzZvaWcyeHVy?=
 =?utf-8?B?VGtEa251bWNRaEVFbkNEUEhnbGVoaUcrMW82WTQ0cUFVNjdPODV6SWlrdXFp?=
 =?utf-8?B?c0ZRSEpROGhLN2ppQWEvbWpCM2FNR2s3V2hURE9BQWh1WFRQN3I1S1VoZ2lI?=
 =?utf-8?B?clAya0ZNeXlmRXNPMGp6M2VxU0J3ZjBGeWRkY2o3UFZURWFjdDdEZ3Z6WFN5?=
 =?utf-8?B?clJmWGJqUXk3TmlVRllaRkx5N0F5aU45YjRiK3pGZFZkKzhPZVdKQnNJT1lm?=
 =?utf-8?B?b01BQUZHWEJtQVpMWEJPb3lEZXBXdW4vQ0RvMm5keGd0QUZTZDVJdXQxOUFi?=
 =?utf-8?B?NWpVK3ZQbiswZHpsTnZKeE9Dd25qa3g3ZGNIVURKQTdwTGFGM3gvTGt1Mk5o?=
 =?utf-8?B?R3JUSDBLUHlRWTE4eUZHU2M1V0x3cmVtZjczQWtUY1NoSzVCMVJpMDh5TmVu?=
 =?utf-8?B?SkVIZlZZTVIzVDl5Z2g4ZU5scy9sYTd5dkl1TGR5STRST1NFQ3U5VitNeTRV?=
 =?utf-8?B?YU8yQUtnUGExczkybFlpazNDZEd6M2tHOWlUVmtlb0hYUGVKTmc0RDVlR2tQ?=
 =?utf-8?B?NlpEYkh3ZEt4QUZ4ZzZMMklXaVJZTmpCc2lNZHVFdWF4YWZNWnJRSmNGaVVo?=
 =?utf-8?B?U3JwUWo2dU4rUHY2Y3FST2s2VWNaWGc3b3ZwL1YvZWlaWnNWNlZyd2hJR0tw?=
 =?utf-8?B?S003SllFT3hqYmM0R240L1dSeDlSbTVPajlHNkp5dE5lTHlneHpyWDF1RWdy?=
 =?utf-8?Q?2r2Nlepuull/+300=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1fd2feb8-86d7-4bae-5f7f-08decd62b26f
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2026 17:54:51.8918
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DVeueBRjUlHFMBAnwPe8djnLaZ1N3xwele4T6RR01wn+35feewMZY7pNeqziGnv4XJ6z2WnM6Tgj58HU+tI3f7F9tC5ALmgnZbApugM8b5o=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR03MB7565
X-purgate-ID: tlsNG-4011c0/1781805295-B3DE4DB8-167D58BB/0/0
X-purgate-type: clean
X-purgate-size: 2526

On 18/06/2026 3:50 pm, Teddy Astie wrote:
> diff --git a/xen/drivers/pci/pci.c b/xen/drivers/pci/pci.c
> index 1d06cb035b..a2b49f1b26 100644
> --- a/xen/drivers/pci/pci.c
> +++ b/xen/drivers/pci/pci.c
> @@ -179,18 +179,14 @@ const char *__init parse_pci_seg(const char *s, unsigned int *seg_p,
>          seg = 0;
>          *def_seg = true;
>      }
> +
>      if ( func_p )
> -    {
> -        if ( *s != '.' )
> -            return NULL;
> -        func = simple_strtoul(s + 1, &s, 0);
> -    }
> -    else
> -        func = 0;
> +        func = *s == '.' ? simple_strtoul(s + 1, &s, 0) : 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)) )
> +         func != (func_p ? PCI_FUNC(PCI_DEVFN(0, func)) : 0) )
>          return NULL;
>  
>      if ( seg_p )

My build fails with:

drivers/pci/pci.c: In function â€˜parse_pci_segâ€™:
drivers/pci/pci.c:206:45: error: â€˜funcâ€™ may be used uninitialized [-Werror=maybe-uninitialized]
Â  204 |Â  Â  Â if ( seg != (seg_p ? (u16)seg : 0) ||
Â  Â  Â  |Â  Â  Â  Â  Â  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Â  Â Â 
Â  205 |Â  Â  Â  Â  Â  bus != PCI_BUS(PCI_BDF(bus, 0)) ||
Â  Â  Â  |Â  Â  Â  Â  Â  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Â Â 
Â  206 |Â  Â  Â  Â  Â  dev != PCI_SLOT(PCI_DEVFN(dev, 0)) ||
Â  Â  Â  |Â  Â  Â  Â  Â  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
Â  207 |Â  Â  Â  Â  Â  func != (func_p ? PCI_FUNC(PCI_DEVFN(0, func)) : 0) )
Â  Â  Â  |Â  Â  Â  Â  Â  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/pci.c:185:62: note: â€˜funcâ€™ was declared here
Â  185 |Â  Â  Â unsigned long seg = simple_strtoul(s, &s, 16), bus, dev, func;
Â  Â  Â  |Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  ^~~~
cc1: all warnings being treated as errors


which is correct.Â  For the !func_p case, func is left uninitialised, but
is evaluated as part of PCI_FUNC(PCI_DEVFN(0, func)).Â  The ternary
operator there will lower to a cmov which requires both sides to be
evaluated.

Again, this is something which is addressed by patch 13, but it needs to
work here for bisectability.

Initialise func to 0, then use:

Â  Â  if ( func_p && *s == '.' )
Â  Â  Â  Â  func = simple_strtoul(s + 1, &s, 0);

and I think you can keep this line as func != PCI_FUNC(PCI_DEVFN(0,
func)), which shrinks both this patch and patch 13.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 05:46:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 05:46:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341679.1601936 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waS3Q-00089v-KH; Fri, 19 Jun 2026 05:46:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341679.1601936; Fri, 19 Jun 2026 05:46:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waS3Q-00089n-FL; Fri, 19 Jun 2026 05:46:12 +0000
Received: by outflank-mailman (input) for mailman id 1341679;
 Fri, 19 Jun 2026 05:46:10 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Mykola_Kvach@epam.com>) id 1waS3O-00089h-Ky
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 05:46:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waS3N-00BEP3-A8
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:46:09 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a34d795-e002-0a2a0a5209dd-0a2a4508b500-20
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 07:46:09 +0200
Received: from [52.101.72.73]
 (helo=AM0PR02CU008.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a34d7a0-9ee7-0a2a45080019-3465484967d3-4
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 07:46:09 +0200
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com (2603:10a6:20b:61d::18)
 by DB8PR03MB6266.eurprd03.prod.outlook.com (2603:10a6:10:137::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.13; Fri, 19 Jun
 2026 05:46:06 +0000
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7]) by AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7%4]) with mapi id 15.21.0139.009; Fri, 19 Jun 2026
 05:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=gLsTRnnf8QGnzbeDwYomztBmRYl8i9qW3cq/ajF1oCXzvrxaDIFfidWsU7n8bzhLcQKl3/nuE6NeqvVzE+pCMa42vvNW/vGZYziEw9u7JUPpGqdMDqZZ6FnxRqLPZ/4HG0l08wYZ4qXjdipll7/gk0ZyNhx0XpxdVcSJEb8ws/477uVmVKjWoKxbEQCiOoRsJyLcWDUr1HxVtEY2+P1djqDzTuZeIMmSMroGiNpSfsfGlCgkRuNKhLLo3iGI85KV71PUOxHYy8/85JJlBTb8+C7eInXGZ8N4lIRBEdK4Bx6+2A5psYjmciSIUjmA3blX25rf+BC5Bl9vCcUsnZcFHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oEHoiDLKH9yyQT8ttaqQSBZWLwAtBQLeySpUAj2AFW0=;
 b=XwzrADuv5+jZzvChzmp4E2Yo55Aa2SXl8O4PHgOg1uAWFO44RjFZHUjPWPFotKLNn/ipZOkwIIbTcAjFplKXg3JjeCmGVpOVxFhR/L/y8Fs62wd2+rr2pD5ZVZC8oGJ8NlfPe6A3Zq6zcvbFIn8Ks43qWhR+JiAtiv3cV+MRkEsWb96wstC3uocZ1BHVrBkloJXvDKxIsc6A/k+DZhg1z2xbqMs89CAeLbQSE3wDtlnNBZN5h+azK0pC43z4xa5S5GmgTDSObnnPPjAg7RVLEhYoWuAtaunuPpdxGeBMybwwCY+pH6jjX4OrSNrsQNLUUdaabhqOAEnA90vfsrMtPA==
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=oEHoiDLKH9yyQT8ttaqQSBZWLwAtBQLeySpUAj2AFW0=;
 b=TMEDRX/mSkblDUli4xxIx3rWQEGEthp8bDuKR+nytMfD4VbnSbw8KaXYQtIKDvAZrvVdcCNepLdjU6MJI9q9uoyw61pS3nrAJixVd/egT8pgpAxu44lIZgmIh2aHQ4q9RkzvmsEzNz51iuwYDFrbMErMnPvSkR3UjpC9WVYyJkcdE9rkPIDVQT2SMRZLoVs+aedWQqSKNugs5zA0UO3GG1OCGK+keXUNX6fZNEX999l0jTZ+M2wWu7/9SDD5CCH0IGm5an4W03zyf4E+RkL/zN9xeDFAe9ObDhk28sgBukt2mX9oa7sYGQvvsORANVfuFJm8lUeayePCSnUpVeyFsw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
From: Mykola Kvach <mykola_kvach@epam.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>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Luca Fancellu <luca.fancellu@arm.com>,
	Mykola Kvach <xakep.amatop@gmail.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH for-4.22 v2.5] xen/arm: gic: defer host LPI allocation until after ITS init
Date: Fri, 19 Jun 2026 08:45:52 +0300
Message-ID: <341edd8de63dcd84ccc6e7b6c03e9e8fc7105184.1781847061.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <112419d3ea48ca328849c8f6647909d3eb667b40.1779922874.git.mykola_kvach@epam.com>
References: <112419d3ea48ca328849c8f6647909d3eb667b40.1779922874.git.mykola_kvach@epam.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: FR2P281CA0031.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::18) To AS8PR03MB9746.eurprd03.prod.outlook.com
 (2603:10a6:20b:61d::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9746:EE_|DB8PR03MB6266:EE_
X-MS-Office365-Filtering-Correlation-Id: 32b6fe1f-5a87-4f30-6941-08decdc60e21
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|366016|1800799024|376014|56012099006|11063799006|6133799003|18002099003|22082099003|3023799007;
X-Microsoft-Antispam-Message-Info:
	+YxC1hNi2UYVNSFPs+wHnrbC9ikbflraRs/hvjwQeNZ4YpCz4g51i6T4DAhqddEOGDyrc0mqIz/+Gir9J4e+h1t2Y4OOPsWreFjtTzvEQauAnMRWZDzjl8Q5AvHLNMJ185xS8U/3t202c+/ShY8lsxtfe+rPYzhyiy2kAHUPnHf/4BXfwiPsPi7HTPqphfApLcGWqQIjzwKpIpuMR0vTyObj3310lNragwn+M/44n//nW8swWD2C5GuGSSxudHOjm+P5OP/0N3vs44KfgLIgrGrynRK1qStZxubZIjESQyPN4fNRlne0PQx4I3Hu7feIkshuEA957YrenHLniSwJEr2wcD3Ld7ZbF4OmwUWZu8j5rhMcWsbxOaAKQzjcM9gETblXBa9lD5Al4y7GfohQ2mWaubDOV87Vg+hejuwYHXeXUS7+MDrgEGs7h5umxhYaw0cZF9BlEVGQlGdXIHaULgsH/OJWQt8BKcdyYnzcPALGi3zr5/z4wn91knew9uHjadyyBzo5ckeTzDWAxOXtyo81+E56jdlVp9K2QOYmgbr4pyyNcKD0HoA5jQr9qcL1wDxrexlhEhVA1lc7IAVS7jDDNtLvzHlaUW/B34RuNZ8mdE3hg/hBPyHgOxrxFGrVt8Jdf/ecZUxp7K4BMDbceHMuYKl9JbGjHQ7fy9t04oM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9746.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(366016)(1800799024)(376014)(56012099006)(11063799006)(6133799003)(18002099003)(22082099003)(3023799007);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?dgHpWQlU0Ih3OTIcrzkBKgi02efj9fZmqF+DN839pB2AbG53vDHt04vGY2Sk?=
 =?us-ascii?Q?SKkJn7+wilvRFRUZfE/zpPDv/kCENvIGJbY/sc28ssZkZuZkE816CmV8Qj8R?=
 =?us-ascii?Q?o5OK8u/MjgZIV++zq58xxwHZdVywBzdUMbKdME+dX3j3a4cxZA4+N+bNjQu4?=
 =?us-ascii?Q?KFLc3mIwsobjbEprVtXRz0XTeOf5TTeyoPBS71S/XyR3cEkyvqrXL6fV4YRn?=
 =?us-ascii?Q?husmyDxZzyoHtfXgwAXBSyPCPJ8X4d8vRFSha6PtoYaAynksooXMo+dM471S?=
 =?us-ascii?Q?6/QAwffqSVLT6GRZ3sRlWXjpIJ475tPgiTf4APmB+pZWqrlYb4waDiY12Vyr?=
 =?us-ascii?Q?n2xajr+W761KJEnsRYN7fPNVXj8JA0Y3VQSRTm24Lppq1MEnV6qtrcvvIlJp?=
 =?us-ascii?Q?0dFEi3D1cTlv3z/U9JW6ngqdClOQHbx0nGVkxDOlq+T7Fg1e/IstG3xvzsIn?=
 =?us-ascii?Q?8k5Fwgq2ig4arGbMXz7Q14tWMgK5akgjUHOSinNUT3GVc8p71rdtB+0goJQ+?=
 =?us-ascii?Q?dzApMNDPcagZkhu939ODVgGi0HWoQ0TJA6zI1150K9+IQYOLWSiGUS5CRpPK?=
 =?us-ascii?Q?dy3JZmC3hHr/8BNDTssRtNsmATx2UU69UFpO+gk1/c4DcyDWVhaCib2rB+Cf?=
 =?us-ascii?Q?0WNtDiYMJHCrsv/vBEyHkZrJ0r2SDH4m5kHC27AxEdXKlhEBLqy+0ooHXUcM?=
 =?us-ascii?Q?1HuvRRnELfajLX7JdhsgDrABr493NVQkMAZ6nV5Q7rY1Clc0YEIhepl1StbQ?=
 =?us-ascii?Q?rXp9sQ+34ry+La2dAxtGs5tX+C0ieLj6GqLyzRj7cPfbIkUCj2dzi3nSm+ve?=
 =?us-ascii?Q?jMV3+5kohnajzlaQl3rdsOJAygfbdojad8cPSJPBjw9MMkGQcBSrLSMI75g/?=
 =?us-ascii?Q?RpmDqUDZCuPE/j7lGTa3ydZkmIjiy0ayqGVF5jdO+G7SBC2dji8/qy/T1HOH?=
 =?us-ascii?Q?nuoP7UwbwFi4luU2H+tg674zQ56kiSuhORwzRIVBSWl1cmTtkXeBHslaIpxi?=
 =?us-ascii?Q?OliVjD3UNFifbwEGNBq8WXARxmyYQekEqUozZLcHrn6VgV6mQxxe7baL4nYV?=
 =?us-ascii?Q?tdhuFlYHtao+3sTvrfHdfp4A0va5FV9vwXub3jYEkyFLWOpOVAOAHl71C3pZ?=
 =?us-ascii?Q?h23dzaBabkI6bUKBOE4jUuFQeWlF2sR39CqGt7L8ud+hakOD7D3KnWpoiqkD?=
 =?us-ascii?Q?ySVNIb9Wiw/Odgoqd3mPf4lfC4ruM7mO3og+vxy7Fz8p11LJZGkikCGsQOv0?=
 =?us-ascii?Q?8Z/n1Phjm3uNI3minWrmifey9EGekTkssfXxxk4oIaZcn3vnA1M2NsMMuhtL?=
 =?us-ascii?Q?BXyAnCuS784w1h/Q927xwvPf5KOHlVeDAN6vFxxbOyNhampXCdFgbRfl1WGr?=
 =?us-ascii?Q?zjlLbTvnNv8OOrepTxmem6tnxtwDeJYFh2DELzFt+4Pbe8OWYAVgKC+ewOHF?=
 =?us-ascii?Q?lzFjQYuO9RWvfhjL9MWDnTpyloPKcsetZk8DpOt4VXdW6ytaZUcCM+tP1oqu?=
 =?us-ascii?Q?SbRjmDZdD3JCD1ztG4jo+1ZUdJJ+4lkqzA3e68ReeF8DMjEHbB8iWcryZg81?=
 =?us-ascii?Q?lr/M95V8GbSGBsLHIyCztQOB1uxRESG9IYXPPSW9NMs1OUbb/dG5RGT+Imeo?=
 =?us-ascii?Q?w6Po/exMnVuOkAhhtIjjxmRBfqtxqlFlhp0XodrYYNFLLrIgUdPi2BQMqfT3?=
 =?us-ascii?Q?1aS7EzElhTakyEIl9tNclmFN2zcG7B+yTWgQ7PL4jtCc4C/wBKG1mO3bd1z2?=
 =?us-ascii?Q?afzH7OwYGQ=3D=3D?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 32b6fe1f-5a87-4f30-6941-08decdc60e21
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9746.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 05:46:05.9347
 (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: +6ogyV98xQiFVXSfr9QujjgtRAfnCHmrG0briwRZj5Jatctgmta63ZhuNPf0B02ShRwX7wPiZEcjkw6Q2x1ahg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR03MB6266
X-purgate-ID: tlsNG-c1860d/1781847969-5F9E20FA-2618B11A/0/0
X-purgate-type: clean
X-purgate-size: 3519

gicv3_lpi_init_host_lpis() allocates host LPI state, including the
host LPI lookup table, CPU notifier state and the boot CPU pending table.
Those allocations use gicv3_its_get_memflags().

ITS quirks are discovered by gicv3_its_init(), so allocating host LPI
state from gicv3_dist_init() can happen before the memory restrictions
required by the ITS are known. On affected systems this can leave
Redistributor LPI state allocated and programmed with the default memory
policy.

Move host LPI initialization after gicv3_its_init(), and only run it when
a host ITS was found. The old call ignored the return value. Now that the
call is made from gicv3_init(), check it and panic on failure because
Redistributor LPI initialization relies on that state being available.

This also narrows the condition for host LPI initialization from
"GICD advertises LPIs" to "a host ITS was discovered". This is
intentional: Xen currently has no supported LPI path without a host ITS,
and gicv3_lpi_init_rdist() already rejects that case with -ENODEV.
Therefore, on systems where GICD_TYPE_LPIS is set but no host ITS is
present, skipping gicv3_lpi_init_host_lpis() only avoids allocating host
LPI state that cannot be used by a supported Xen LPI path.

Fixes: dcb6cb263689 ("ARM: GICv3 ITS: introduce host LPI array")
Fixes: 751ec850ec1d ("ARM: ITS: implement quirks and add support for Renesas Gen4 ITS")
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
---
Changes in v2.5:
- Rework the commit message to explain why host LPI initialization is now
  tied to the presence of a host ITS.
- Document the intentional behavior change from checking GICD_TYPE_LPIS to
  checking whether a host ITS was discovered.
- Add Fixes tags for the host LPI allocation and ITS quirks ordering issues.
- No code changes.

Changes in v2:
- Replace the v1 ITS pre-initialization hook with the less invasive
  approach suggested during review: move the existing host LPI
  initialization after gicv3_its_init().
- Check gicv3_lpi_init_host_lpis() and panic on failure, matching the fatal
  nature of host LPI setup once ITS initialization succeeded.
---
 xen/arch/arm/gic-v3.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index 17ff85ef5d..acdac22953 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -764,9 +764,6 @@ static void __init gicv3_dist_init(void)
     type = readl_relaxed(GICD + GICD_TYPER);
     nr_lines = 32 * ((type & GICD_TYPE_LINES) + 1);
 
-    if ( type & GICD_TYPE_LPIS )
-        gicv3_lpi_init_host_lpis(GICD_TYPE_ID_BITS(type));
-
     /* Only 1020 interrupts are supported */
     nr_lines = min(1020U, nr_lines);
     gicv3_info.nr_lines = nr_lines;
@@ -1990,6 +1987,17 @@ static int __init gicv3_init(void)
         res = gicv3_its_init();
         if ( res )
             panic("GICv3: ITS: initialization failed: %d\n", res);
+
+        /*
+         * Host LPI allocation uses ITS-derived memory attributes, so defer it
+         * until after gicv3_its_init() has discovered ITS workarounds.
+         */
+        if ( gicv3_its_host_has_its() )
+        {
+            res = gicv3_lpi_init_host_lpis(intid_bits);
+            if ( res )
+                panic("GICv3: LPI initialization failed: %d\n", res);
+        }
     }
 
     res = gicv3_cpu_init();
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 06:09:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 06:09:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341685.1601945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waSQ2-0002zI-B7; Fri, 19 Jun 2026 06:09:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341685.1601945; Fri, 19 Jun 2026 06:09: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 1waSQ2-0002zA-7i; Fri, 19 Jun 2026 06:09:34 +0000
Received: by outflank-mailman (input) for mailman id 1341685;
 Fri, 19 Jun 2026 06:09:32 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Michal.Orzel@amd.com>) id 1waSQ0-0002z4-C2
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 06:09:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waSPz-00BKB3-0c
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 08:09:31 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a34dd0b-2eae-0a2a0a5409dd-0a2a4502b268-28
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 08:09:30 +0200
Received: from [40.93.201.5]
 (helo=CY3PR05CU001.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a34dd13-fdf1-0a2a45020019-285dc905c8a3-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 08:09:25 +0200
Received: from SN7PR04CA0021.namprd04.prod.outlook.com (2603:10b6:806:f2::26)
 by CY5PR12MB6646.namprd12.prod.outlook.com (2603:10b6:930:41::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 06:09:16 +0000
Received: from SN1PEPF000397B2.namprd05.prod.outlook.com
 (2603:10b6:806:f2:cafe::27) by SN7PR04CA0021.outlook.office365.com
 (2603:10b6:806:f2::26) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.13 via Frontend Transport; Fri,
 19 Jun 2026 06:09:16 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SN1PEPF000397B2.mail.protection.outlook.com (10.167.248.56) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.139.8 via Frontend Transport; Fri, 19 Jun 2026 06:09:15 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Fri, 19 Jun
 2026 01:09:15 -0500
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Fri, 19 Jun
 2026 01:09:15 -0500
Received: from [10.71.196.80] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Fri, 19 Jun 2026 01:09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=tG7SqUDJQlQh3R1v1vBC3LQbndB8NFDNWDkJwC5v94WoeKGCR4sym6++z4mdPD9o/XA7wHBl4Xw+KUyGy6JtNQLIC2BRe879ZVl7tqJ3sM67wU4BkCXNUW7IFsMqFY2K4+C1bv8AbiPC1O/1RoOJGPHOsQ7n2OMgGVK3nUszk0wB6RzYKKDIEwyXBp49S1XtTjzEE6IDRqbua45O/wuG4EPuuTrFQmObFhDTA0sKEFTjPYk7K578eVrtRKNsgeYqDtB1CAYZAcSHNTxmKmtMYROv+dW+opbFSG+GJ30+axmGUyBQ6WFV8SeMkJtFkASC2DSKAKv0yhb+QaiUPU9y1g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Woyuh5skBkAG4+lxLY5ewg4jVeiU4PUKSuZlis341MM=;
 b=njO0pzeNb4AsBJVqX83xmjg29zJ45nfcN/Cm8go2nOD/J+EF0cPgUwA/CrLskTZ/vvhHhFYBiw64eLT5Aon4TWGQtHWI0QGxgJzxvAQUtbDwoigOiwA8AhRI73BlflxhzAFaIazfJXCQjS5eq+ChBsWjDyWtFyYiqQB5ZXnrVpnqeBhsdANtZm3ytYkwzjEujha58XGkJgxgbnL3lpsvdv7+hg6CX/osawKSlrkVxOBuHFiFcoNQZQopHv6bYeB5VLjfvM5iMQQV8MIe5oqajAV2v7e5LTpJWpyn3ZWah5p4+FG64OV7FKrRoN6VUrmYj61JLEyIlITIRd8ATiCQ6Q==
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=Woyuh5skBkAG4+lxLY5ewg4jVeiU4PUKSuZlis341MM=;
 b=VWxer//nzlE2fiDtg3Jv1U/Oi9/JX9YAyIF7VrSerD+Y37opJHHr7YwwpvRUCeL0LJ/lg+ztYYoFMoWOFaTK0zWFSmDv85/dcafln/QphZAEVjROb9Y4nE4B+wV/pIGthBFI7HRiocTfx1V5IVtDSeHY5BJTq7/H5zxr4JuNrrU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <7a0a1867-8316-4e20-971e-fab99c9f4a32@amd.com>
Date: Fri, 19 Jun 2026 08:09:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v2.5] xen/arm: gic: defer host LPI allocation
 until after ITS init
To: Mykola Kvach <mykola_kvach@epam.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>, Oleksii Kurochko
	<oleksii.kurochko@gmail.com>, Luca Fancellu <luca.fancellu@arm.com>, "Mykola
 Kvach" <xakep.amatop@gmail.com>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>
References: <112419d3ea48ca328849c8f6647909d3eb667b40.1779922874.git.mykola_kvach@epam.com>
 <341edd8de63dcd84ccc6e7b6c03e9e8fc7105184.1781847061.git.mykola_kvach@epam.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <341edd8de63dcd84ccc6e7b6c03e9e8fc7105184.1781847061.git.mykola_kvach@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF000397B2:EE_|CY5PR12MB6646:EE_
X-MS-Office365-Filtering-Correlation-Id: a9a7149f-0e7e-4c55-5ea4-08decdc94aa1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|7416014|376014|1800799024|23010399003|36860700016|82310400026|18002099003|22082099003|4143699003|3023799007|56012099006|11063799006|6133799003;
X-Microsoft-Antispam-Message-Info:
	NwRwLj2OrDQfG3uC+KtQGya/ahD5OLcNkOMo3IupPBDR5JNFdGTVwapEQmmsw/uFz2ExbJL33T6MNk9BWzoeGBLfZWGIcAZPni3HpT9ftUkdp0M3/ti5lfO05pdSmr7ZIzuxMkZrKvY1JLYGd2W2Qbvq4/FfW4c4m2gKcANWuxaDNBjYQsPmosp1Ff0uGuwUUkE2aAeK5N/A+tQbNM5oO+I6xqvdhFuiJcuVhfVKBoq+kcpmU39DBHL0k1o+t9CV0Qng854+JfdL6aVHlN8G2vCZELISo0PqeY183TTn4xnuKijWNtEfqnu9SmQPecU0WhoOg5JKSYKX0ZxzM2pfjUOf2MqoTqFjXd0cRnnZMY7M0uyRYk9dYuuK2R6kFsIHrEI7cK1dCVY+BoWLguAJv0cAY0F5gqiY3zr2+TSnna2+Ws5weX3dOBj0QxiK6RYZDJpaxkS5eRE2ETbemSgVx96c2VC6tOec/pDXYv6uf1exA/X635JAmZEAMZObF1zMbB6y3hzawf+s8kd/l481WdWZHdZc/YQIeVxzJIbGkoNHtFkJLHzvF6sklEAWNh6WM+Ck0gAoM2JLycksSb/7PPG9K0dDw5yPiI5J5CafJNFOEG/vkKR0d9OwGxe61m470t238PrzdfhecKKXy5PX5YEwkBsVPTIoyb6sEsaNl5Mui3+Ef9HqfDScwteQfbjMTwcLMEuEc+gjsWZ/q6M7XQ==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(7416014)(376014)(1800799024)(23010399003)(36860700016)(82310400026)(18002099003)(22082099003)(4143699003)(3023799007)(56012099006)(11063799006)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	IIUL3K6GWl2kIAoAbDnBjDzLUBNH9gOgQkE3RrJV16iD/ZMVAaXHmTKeQgytXW1FfZdDXKgxeKogcruhArweJUqS0s2qH/Pr2Zfx4qqwv9KX0eGYCFJMpcDIcPHz8bmbTioulgLTBDT7K3XILOpNn1YvsqfI5GVXcc1kGexCHVgObD4hpgxI9+4/zll0WNvqM+KuQQ91Q27wyEl05VMTnneW6bsYKm66zjc2gVMWA+J9xUsP2plPBJ1UzVHENMnrPpDBaLUNhQlZXVoHpuAcs9DoXaeoZkFH9eLGk57FTUKfbP9oQ8cFhcX/UC1SDvidknoZ8mSFHYFC1XiiqKXX0xBHyrVFhthVsGLvgSCQtpdHMT5X7f1s6MkgkP1dN/e5d2p1DcA41qoSRj1e8ct33MYMK86axoek4hFcKmp8+FQQIpRuYz3KcEYf9GD9//Nn
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 06:09:15.7084
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a9a7149f-0e7e-4c55-5ea4-08decdc94aa1
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF000397B2.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6646
X-purgate-ID: tlsNG-720697/1781849366-4767B3F3-510B7959/0/0
X-purgate-type: clean
X-purgate-size: 1699



On 19-Jun-26 07:45, Mykola Kvach wrote:
> gicv3_lpi_init_host_lpis() allocates host LPI state, including the
> host LPI lookup table, CPU notifier state and the boot CPU pending table.
> Those allocations use gicv3_its_get_memflags().
> 
> ITS quirks are discovered by gicv3_its_init(), so allocating host LPI
> state from gicv3_dist_init() can happen before the memory restrictions
> required by the ITS are known. On affected systems this can leave
> Redistributor LPI state allocated and programmed with the default memory
> policy.
> 
> Move host LPI initialization after gicv3_its_init(), and only run it when
> a host ITS was found. The old call ignored the return value. Now that the
> call is made from gicv3_init(), check it and panic on failure because
> Redistributor LPI initialization relies on that state being available.
> 
> This also narrows the condition for host LPI initialization from
> "GICD advertises LPIs" to "a host ITS was discovered". This is
> intentional: Xen currently has no supported LPI path without a host ITS,
> and gicv3_lpi_init_rdist() already rejects that case with -ENODEV.
> Therefore, on systems where GICD_TYPE_LPIS is set but no host ITS is
> present, skipping gicv3_lpi_init_host_lpis() only avoids allocating host
> LPI state that cannot be used by a supported Xen LPI path.
> 
> Fixes: dcb6cb263689 ("ARM: GICv3 ITS: introduce host LPI array")
> Fixes: 751ec850ec1d ("ARM: ITS: implement quirks and add support for Renesas Gen4 ITS")
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 06:14:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 06:14:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341691.1601955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waSUz-0004n1-SY; Fri, 19 Jun 2026 06:14:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341691.1601955; Fri, 19 Jun 2026 06:14:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waSUz-0004mu-Ox; Fri, 19 Jun 2026 06:14:41 +0000
Received: by outflank-mailman (input) for mailman id 1341691;
 Fri, 19 Jun 2026 06:14:40 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1waSUy-0004mm-OU
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 06:14:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waSUw-00H8ux-TY
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 08:14:38 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a34de4a-bab6-0a2a0a5309dd-0a2a450bb26a-12
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 08:14:38 +0200
Received: from [209.85.221.41] (helo=mail-wr1-f41.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a34de4e-5e53-0a2a450b0019-d155dd29b959-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 08:14:38 +0200
Received: by mail-wr1-f41.google.com with SMTP id
 ffacd0b85a97d-4602e2a0372so1373131f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 23:14: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-46508a04dd1sm5653604f8f.7.2026.06.18.23.14.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Jun 2026 23:14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781849678; x=1782454478; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=SoIPhElsyxT0i10p2Y9YzkfqVMAbSTFP+IVSNu/1TFE=;
        b=J/1yAeE7ZE8D4vOXu6OYJc7K+Ye7jWXwFlJHwa2oMY95UrLTeeTrvlu9I7yUg3+4uB
         YLxd4Jhqo/4Q/X28TG080jaiKp0Tomgd/zVuMUPn7lEiA84H9wI1ZIrE+Q6juKY7CEHO
         WcHGMOLEc1KzHba8tbtU4NbuHXknXjLLj4B61Mt7WJTWUonnkD8/szvjZat/AI8+4kcy
         ieLB+L1REQp73ET2fzvBygN522ZAItDzr6nU5T/5JyyU4tjF+zkp3XCaMmrBw5DIGlpg
         wPg3ZhaIVP2/lMJgaLZI0Ga4c2BOsjC9piZZICGFjjzT2l0QXLcGrrvtcZr2li8Ac/FU
         JtBQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781849678; x=1782454478;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SoIPhElsyxT0i10p2Y9YzkfqVMAbSTFP+IVSNu/1TFE=;
        b=s3znX7HIl2Pf84fhAIyAo7z3ToV7MfJClNVqTAyvuGIJCWSN2lmi3S6daUq1UlVVC0
         869V0ETUtooPVto1Yt7e6FAtdBNkBqr4ALVOgSwclYoUb/uOI/V2QJQL3b2JTvrFRrvK
         v7fk7PEA08WKx9WhSk00Oqtc9QR1dclO0c4U2VcdO1hYeiQezDCbk5E08oFAPwVCvr9q
         CfWcljNJMq0v+2HmIcQX7LyISFQMQK0crL2731WokZxfNBe1TVex1jjpvhdjnbVxHrBG
         Wotjf/sj6VOuVyMMNijIV2/bljCOz5FehvWDLoEqskIo/cjCqhug8Rc/Kviy1J2xabWg
         M/Nw==
X-Forwarded-Encrypted: i=1; AFNElJ+A0XF9Y71+J4BUF9Gm1WDOgzyJ6VIkUITKS44aikrWIFRGOko4A5X1YPKZifyIk1zvxntJvg8aewc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz8WnaLlSHbcKw7dM00+ACY2iyT5Ym1NmIscXEA416AL9YNqwoP
	ycw3VuUh5SmH2nmM7GIpzS3pDu+nRQCVJyPdQijA++eV6LX3dCbNEXAjYhwHCAFOIw==
X-Gm-Gg: AfdE7cmoYchVoEkufe3Sp6ZgCvB6w2hUXjMfjsiFRSD0Eu3VRWCbzpy+PqPGZixasSB
	RgzXtzbuyNEhlDQZLlQa4Nml9xkuHvv/L3RNfZx3e2X9VQWtWuhn1S2EBbjvfR+Fsi1c8o6yhXC
	GP7L7CD9byI0qqbUKp6FZM3nYZPgPHEfyH+gNl/5P+932tZkRIgefYfSFz2BlYVMvDFTPvVI1FN
	kZADjnNO/Qkr1HU3BuIM8zYqCp9HlLhVNrxAeP6AMc4cw1BtFA8FjbzO3RaqRiWREpG3LzG54pM
	f1OZEVZwK1ZtvmVn+9t5b6oR0ZDb85l4HM767rMVU6JXdagdvb0WsT7FJvSwl8l5TY8NMCZR0DR
	uzyN3OY5LpLV6ImNpKt+cR1LX+b12u4MugxpeAdhahpPcs2kX/xavFjVpVgqpPNDQcqnSfZ6Pgs
	TNI3FQVqtTAlmHjZESL9SQx0JyfTU5HDfFEsuCbIGxYtqtAW/b9y7s54wjSjBrwGPioaFKWYJq2
	zSr
X-Received: by 2002:a5d:5d10:0:b0:461:dfe2:c7ed with SMTP id ffacd0b85a97d-4656dff26cdmr1632748f8f.27.1781849678062;
        Thu, 18 Jun 2026 23:14:38 -0700 (PDT)
Message-ID: <b7e19be5-5326-475d-8c58-68673ea159f6@suse.com>
Date: Fri, 19 Jun 2026 08:14:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 01/15] pci: Introduce parse_pci_sbdf{_seg}()
To: Teddy Astie <teddy.astie@vates.tech>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794550.8631fc262581453bbf619ec5b2062170.19edb3b3411000701b@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1781794550.8631fc262581453bbf619ec5b2062170.19edb3b3411000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1781849678-4F9EE00E-953C4CDF/0/0
X-purgate-type: clean
X-purgate-size: 1556

On 18.06.2026 16:50, Teddy Astie wrote:
> In many places, we're parsing a PCI string into individual
> parts (seg, bus, dev, fn) and then transform it into a pci_sbdf_t
> using PCI_SBDF macro. Rather than converting from parts to pci_sbdf_t
> and vice versa, introduce a new function that parses a PCI string
> into a pci_sbdf_t structure directly.
> 
> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>

You introduce two functions without callers, hence two new violations of
Misra rule 2.1. I understand there will be callers by the end of the series,
but I think we want to remain Misra-unregressed at every patch boundary.
Even for rules which aren't marked as clean (and hence blocking) yet.

> --- a/xen/drivers/pci/pci.c
> +++ b/xen/drivers/pci/pci.c
> @@ -202,3 +202,21 @@ const char *__init parse_pci_seg(const char *s, unsigned int *seg_p,
>  
>      return s;
>  }
> +
> +const char *parse_pci_sbdf(const char *s, pci_sbdf_t *sbdf)
> +{
> +    unsigned int seg, bus, dev, func;
> +    const char *out = parse_pci(s, &seg, &bus, &dev, &func);
> +
> +    *sbdf = PCI_SBDF(seg, bus, dev, func);
> +    return out;
> +}
> +
> +const char *parse_pci_sbdf_seg(const char *s, pci_sbdf_t *sbdf, bool *def_seg)
> +{
> +    unsigned int seg, bus, dev, func;
> +    const char *out = parse_pci_seg(s, &seg, &bus, &dev, &func, def_seg);
> +
> +    *sbdf = PCI_SBDF(seg, bus, dev, func);
> +    return out;
> +}

Nit (for both functions): Blank line please ahead of the main return statement
of a function.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 06:19:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 06:19:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341699.1601962 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waSZL-0005rG-E7; Fri, 19 Jun 2026 06:19:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341699.1601962; Fri, 19 Jun 2026 06:19:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waSZL-0005r9-BU; Fri, 19 Jun 2026 06:19:11 +0000
Received: by outflank-mailman (input) for mailman id 1341699;
 Fri, 19 Jun 2026 06:19:09 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1waSZJ-0005r0-TV
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 06:19:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waSZJ-00H9tQ-9K
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 08:19:09 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a34df51-2eae-0a2a0a5409dd-0a2a450cac70-42
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 08:19:09 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a34df5d-94a4-0a2a450c0019-d1558035ac94-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 08:19:09 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-490bb83a3f6so11007635e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 23:19: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-4923fcaf67asm27559815e9.0.2026.06.18.23.19.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Jun 2026 23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781849949; x=1782454749; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=5ZcCv7eM3NgxQv28u8/IZASCTQPB1qjhhlhmb01KI3Q=;
        b=TiSl2BD3wUVcNYsJO7Aw0TVz0WRnrxfd13HBrU6ZFEBErmqNiqpQfTZaNHjzlqW/R4
         qepMy5JNWqdSflAW7CrVC6jTYnxU1zv3E52fKGBX5RQc4GO1iRDe4HKlFodI+V5j5smH
         WsbANcQD1cIP0yTUzRnxMzJ4TZWHOLQa+Xwyi6l4XgjW/wmJyek85OGINPlxAlGo2CUM
         kCbHxB6Ds3P0U0d208andutN19z32il9gASP7pMdPaLiSllVnTvIRc4yfxqwHQN1wS5k
         6fXcuUl5NSEUaK/3T1PDeNLaGgKYNPWFn1o6HTukEqixxT0YHt/7tTmTM+VH/pr/WG7F
         hX9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781849949; x=1782454749;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5ZcCv7eM3NgxQv28u8/IZASCTQPB1qjhhlhmb01KI3Q=;
        b=pVgMmHwAEENR35RebHj6RblB5JK0LqpP7oYMF4xdGKt2mvqWOQfL1hqaqtCOA52UlW
         o3qZMzgnw0mrB3a2hHudGr6hfi8fxvi8DluTVlsYAGSIMIo61uLOQB+EVowUGce5ISat
         F5EFEdINt6ATOGxfrjWPrhcfxrBTx+2sEv9Np+a5BP8eeLjVG+xly2m3BzOE2MPs8J4T
         Mi1DgrDPM3njkLtLaTJOXL8j1deueilVVngNVzTU19D1yvRC9V9adyJZjYzkhi09JasT
         ccejhyErMjB5GbCTGpnmrWCOWgiC/FVP9cV22TxFsMQeaT83yVpNWKjbaelQ+dq9tsNw
         48RQ==
X-Forwarded-Encrypted: i=1; AFNElJ/jKFBkMmW/AaMxjI4M5izB15FzNXHAh65ECtnKkcBS6V7XMoNCNu0qKGgh0mYnywUXPSy6j/6iiME=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywa0iK5tiY51mZvjvZMc5pU4vmund+PjAsJYQNtAVocFsQRjTJ1
	2Gsv7kyeQus6stnxxrcIekLSvzz/ZkSmncGnBJx7A0rfXWjwXv6kaUdi4kLeTZTevw==
X-Gm-Gg: AfdE7cnP6PPtGIpaaLvOyJttdTtmhsMM8TLfykl03h7KemhnGGV/Ws8ZviFEk5V/kjF
	cFz5KK43i5kIdIGwJI9AOsPauaC2bnJHXjKjvT6eM1R0mhzvmPwmyw6WTNK6mx7mAMc+ETRTt7H
	xVexBQDBqKUjwi2OZvWEWVO2M6t3yuFJ4Hsfo4ISPu+VyyZKB4rNFiGmW3I6g/fQNcLzNtDvlVu
	B5RlC8Q3Ue954WFrwf4ijzK4sPEx90Wy3ZyBDxVKNlQZSJmJpdGyNBVahtFKZeyvbsEM6pjPaGT
	z4Qj58XZ2MImfkLfebI8Q4YqIQnn+HZCWYOskn7kBMHv31bCNJnWJMzONLJFlXQlxUCL+W5QZuP
	ROp9zxDZbU05sjbSHdHac8/lDVBpkNuOlMHnfESns9+BJbq0WzlyxKNp7wlwNqVEiVe4c7rX3iQ
	eCdPz6RdVlUJOSC6PLSqP8Ya2T74yrwIEl3+/LjGPpgq5zDxkMyVrM+AwTtFHTlAyhaku2LMiVT
	j3u
X-Received: by 2002:a05:600c:4ec8:b0:490:44eb:c1e0 with SMTP id 5b1f17b1804b1-4923f57187fmr42412105e9.21.1781849948740;
        Thu, 18 Jun 2026 23:19:08 -0700 (PDT)
Message-ID: <0273d4ed-14b2-41f6-abf8-80b4cbaff924@suse.com>
Date: Fri, 19 Jun 2026 08:19:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 02/15] vtd: Use pci_sbdf_t in acpi_parse_dev_scope()
To: Teddy Astie <teddy.astie@vates.tech>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794551.8631fc262581453bbf619ec5b2062170.19edb3b36a1000701b@vates.tech>
 <2220e6e7-4f2e-46fa-9c13-5864797f02e7@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: <2220e6e7-4f2e-46fa-9c13-5864797f02e7@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1781849949-DB1EEABF-A90CC5DC/0/0
X-purgate-type: clean
X-purgate-size: 796

On 18.06.2026 19:20, Andrew Cooper wrote:
> On 18/06/2026 3:50 pm, Teddy Astie wrote:
>> @@ -386,16 +381,15 @@ static int __init acpi_parse_dev_scope(
>>  
>>          case ACPI_DMAR_SCOPE_TYPE_ENDPOINT:
>>              if ( iommu_verbose )
>> -                printk(VTDPREFIX " endpoint: %pp\n",
>> -                       &PCI_SBDF(seg, bus, path->dev, path->fn));
>> +                printk(VTDPREFIX " endpoint: %pp\n", &dev_sbdf);
>>  
>> -            if ( drhd && pci_device_detect(seg, bus, path->dev, path->fn) )
>> +            if ( drhd && pci_device_detect(seg, dev_sbdf.bus, dev_sbdf.dev, dev_sbdf.fn) )
> 
> I was going to suggest converting pci_device_detect(), but I see that's
> the next patch.

Nevertheless, nit: Line length wants keeping limited here.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 06:23:34 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 06:23:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341706.1601971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waSdV-0007QJ-TT; Fri, 19 Jun 2026 06:23:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341706.1601971; Fri, 19 Jun 2026 06:23: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 1waSdV-0007QC-Qm; Fri, 19 Jun 2026 06:23:29 +0000
Received: by outflank-mailman (input) for mailman id 1341706;
 Fri, 19 Jun 2026 06:23:28 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1waSdU-0007Q6-9d
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 06:23:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waSdT-005zx1-4W
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 08:23:27 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a34e057-bab6-0a2a0a5309dd-0a2a4504cf80-26
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 08:23:27 +0200
Received: from [209.85.221.41] (helo=mail-wr1-f41.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a34e05e-5f9f-0a2a45040019-d155dd29e4ee-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 08:23:26 +0200
Received: by mail-wr1-f41.google.com with SMTP id
 ffacd0b85a97d-460662fcb4eso1232456f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 23:23: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-4923fcd7027sm43940205e9.1.2026.06.18.23.23.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Jun 2026 23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781850206; x=1782455006; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=6bfhodsip9J8dS5Us8P/2FvVfaqI0dYSwiPT8GwFOf4=;
        b=PLD2wvn7mEZybWhtgJ3oyz1lqtBpuak4kR0XmFNacQhx/1f+WzrzMvK/+6rPVMf9/o
         UMuE2mxRoFqj12AMNdAf0kyui9bfT3/vbOHwOhKFEgEhfuVSWcxy8vw/m9QSDm7mkg4r
         PFegCFksQDvylojab0gQmeM/AHZ4vYOKXSuqWA8CrC/tJoOC5b50N3kD7wd2u6N2Z6v5
         BeS9EmjlxlgSjCPkpOz3ljCpewOHFAzzXY8vEWHXiqHHP4Vnj6L0Bm7fhTNM5uBGd0Ve
         fY+jjjMYauglDPLQ75LMEQ5X32Ai+i1TT210LFpGO7e1+WNGV5wbos0WZCkFQKFeCkIA
         PqkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781850206; x=1782455006;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6bfhodsip9J8dS5Us8P/2FvVfaqI0dYSwiPT8GwFOf4=;
        b=DJrqCbo35PXW2x5k0/bhaFUHN17zIGR86lIZ18iT1iuItYqv/WTBRWblc56i19DdYy
         GTFv4OYXXFrTQyXJIERWpjBK77j0Fe2KkCLMYhmY6tnHp2vgLdF2SSwJ83+wjCexX3UP
         mTdfF20Qtz12xVwycdq1NAX+CJBn5yAvkx3YKnCkFOkrM6iuGVbKjnGvFeoX5ErC05bJ
         QIbRtOgOm5ZTOBL8YsKKIAG0dMFZkFPvNzSo2DdgfvsCg2gfMX+38ac8qmv2jF0gtuIc
         ZrMD33AJ+no5MHanNJmKj+NR9UU1ouW7pDRRoMPyLIqvDxmsI3MXEcX+PQnSQWUvxtsu
         Emnw==
X-Forwarded-Encrypted: i=1; AFNElJ+horAg9tutZq3ETr1kpOBEQrmYmSX9q7/R2hk7pBNZTUCpovNaYqasHmbWl0oD1u175MuOShgfeXs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy0qSob8QL7R1QmqM2mHH1QDdpZku+mCgL4nUEI+q/SiHHx6Bei
	KLia/UQFYGRKfwVAF3o4x9QaRzrdLZ1IQBY1LbJU/6bbzu5x7VgZuMTfu+Hzifp32Q==
X-Gm-Gg: AfdE7clINHA9LrMRPBCeJ//jcEcrKmyxTMDipmmKHuhgyPfeW7qvZm24TCyMgzIltbF
	cJdN0zemEVq0jd1b8O85ucRZKNqlJ27E54jl22z78o7ltPrFVxO4aeCO6zSTWrxYxrvKIFocY/4
	jO7QnK583LM8WjlGBSS7qKuO0D2myl0pP/zBZOtjDVIvSVsQTaPpFhho0BVdDSTck/+zaqw6HG9
	NgYUoAqLND2EDUWnn/5KCxtXD+5xRm2n+2ctHXnmAurzlZccpmYQdaxy5acgpAsHi1KnZ+td624
	2QhuSqWxxeKTeQ0xOEY7Pa3MScgys94wRW5+fImrIUJdk5s1bdxWGI+1CWRkA3XCDFzFP6b28Xr
	WVBsn+bZZJpUPvhW7lLeqnZ84A/YpNQRkzKIQNpNJPUFLAYeDz3P+aDmU1niKx4o5ydla7tV8LF
	zcvuKRgyoWhixmFlKEWi19vrC4kzfTvQ0HmWPUNdjUeNtLOcIdFHCpRYSjI8GFj64JySmTGF6Yb
	OUj
X-Received: by 2002:a7b:c456:0:b0:491:8043:5c4a with SMTP id 5b1f17b1804b1-49240e95431mr23855055e9.31.1781850206470;
        Thu, 18 Jun 2026 23:23:26 -0700 (PDT)
Message-ID: <9a26d6fe-9eab-4ca0-b9ba-507689395790@suse.com>
Date: Fri, 19 Jun 2026 08:23:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 02/15] vtd: Use pci_sbdf_t in acpi_parse_dev_scope()
To: Teddy Astie <teddy.astie@vates.tech>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794551.8631fc262581453bbf619ec5b2062170.19edb3b36a1000701b@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1781794551.8631fc262581453bbf619ec5b2062170.19edb3b36a1000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1781850206-467D5141-2FBF4F04/0/0
X-purgate-type: clean
X-purgate-size: 1236

On 18.06.2026 16:50, Teddy Astie wrote:
> @@ -386,16 +381,15 @@ static int __init acpi_parse_dev_scope(
>  
>          case ACPI_DMAR_SCOPE_TYPE_ENDPOINT:
>              if ( iommu_verbose )
> -                printk(VTDPREFIX " endpoint: %pp\n",
> -                       &PCI_SBDF(seg, bus, path->dev, path->fn));
> +                printk(VTDPREFIX " endpoint: %pp\n", &dev_sbdf);
>  
> -            if ( drhd && pci_device_detect(seg, bus, path->dev, path->fn) )
> +            if ( drhd && pci_device_detect(seg, dev_sbdf.bus, dev_sbdf.dev, dev_sbdf.fn) )
>              {
> -                if ( pci_conf_read8(PCI_SBDF(seg, bus, path->dev, path->fn),
> +                if ( pci_conf_read8(dev_sbdf,
>                                      PCI_CLASS_DEVICE + 1) != 0x03

Another formatting remark: Technically the two lines above now can be un-wrapped
(as you do in other cases), as the result fits on a single line. However, with ...

>                                      /* PCI_BASE_CLASS_DISPLAY */ )

... the comment in mind maybe overall this would best be as

                if ( pci_conf_read8(dev_sbdf, PCI_CLASS_DEVICE + 1) !=
                     0x03 /* PCI_BASE_CLASS_DISPLAY */ )

Jan



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 06:30:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 06:30:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341713.1601980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waSkW-0000nH-Jm; Fri, 19 Jun 2026 06:30:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341713.1601980; Fri, 19 Jun 2026 06:30:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waSkW-0000nA-GZ; Fri, 19 Jun 2026 06:30:44 +0000
Received: by outflank-mailman (input) for mailman id 1341713;
 Fri, 19 Jun 2026 06:30:42 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1waSkU-0000mz-Qb
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 06:30:42 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waSkU-00ESX4-0m
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 08:30:42 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a34e207-5cb7-0a2a0a5109dd-0a2a450188c6-30
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 08:30:41 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a34e211-e031-0a2a45010019-d155802cb4bb-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 08:30:41 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-4908b92904fso21930885e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Jun 2026 23:30:41 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4923ff821aasm44804995e9.12.2026.06.18.23.30.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Jun 2026 23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781850641; x=1782455441; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Xb9HBU+iwe98KKhLGO8M5bAsJ4BmR1MklTOVn9NABS4=;
        b=Ck6pA6ql5wAKUVciH+UebIZJayAd3mHVGL93ZkRpV7zO1R9WT5wG1ts0nwdsEDChJU
         WTmULKmuMQTLAYC307WIuj5wE7b1/SO0Dh3uIA9KyS5tqh6vqg/YkXDy5r+JwBMfvqdd
         Rh0P94mujhj+Ll3qcm9IM+mKHs1JiEh5NWLqIylSQ0F0W7YJ5Vkv+Y/A0uGp0oJd+l0l
         WvTE2Rp9rq5NPwmYaCtwChf6cb8U76yWhpgSkma5TbL5SxU3pErAZLLI8gp1kc0Xggx2
         WdVY7o9AhPD3BD+uenlG9d836wK9f2jCN9F3x8oBV8L47y6RgpRo58cTKjEdV0A+k8oL
         eNxg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781850641; x=1782455441;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Xb9HBU+iwe98KKhLGO8M5bAsJ4BmR1MklTOVn9NABS4=;
        b=hu/xIe0nsecTTvdHPmQ5LKtFVPcX11BJPVNVGLhdezojW24uMHmjffOYR9UtIjChPt
         RQTAOTZBJ2y2DPMD0bGz7XPhEnbcQuz+/WAX1TDsYKxlmCsLW3VlLyF31O/bo2TEe/Dq
         DabxzsDeow37Rx1lIGaf+M+h7gYLNLIypN3PmKxeJ7/xQxMyBuQBloGyaUX2YJekN4m9
         4MyB3SvtUSmGwR8HS0P8HXsa5vhRgv/NYkCPy2STUNvCugXkKYRE3+awWKbWZe1op1Vt
         eH3eWutzp5wyxT8Tz7IOjrLCczSNW/LOE0my2fkp/eiCqAFYpskOHPabpI/OuuUc2LUR
         c1Mg==
X-Forwarded-Encrypted: i=1; AFNElJ+hbb0AvQWZECHwb1HuK7KpCGTZhdRAVHSA+VsEHeBFOQx2oT/8SLlVTzmm4DaxI1+PuGSGkSREC2I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwnjauEGhwrFz2wkGZdhy3lGUGFx7Gvx0NYBhpbI1qwKy56OF3P
	XTQOFoZgFG30uvpRLhpiQJxk4QINxnBN7FxwnWnsAbxmprK+dYY3SyT2GC90h8ZHuA==
X-Gm-Gg: AfdE7cna8E1R4nO//CotzuxR8jdRPk+oWywqGHDhRyHdE24u6VjVfU3ptlYw23wQN88
	NYVcp7qgMAL5m3V/cfLkVCNVw+ees2BLxwripQhVkSBmAekzm5YZwIfZrc4EzqUeZ3OrD+hEhyl
	6UGoI9egkp/kHr43R7j60cZf7zLqla/6rTSoplAlORN4lqBj8XLV35bkSt4fyUwLmryXUKkmt7l
	CcPnZNDUj1d72S3FxXd2z6c+Fq28kpJr1YVxw78ER6GGq6zZsCNMUn3nxYlnPCDXs74iCiz+fb5
	h2PsqrOftIukZR9qklfw0ymZwQ0wp66MtLGqcepCdT4aj1iY2BBY2Ix29ZMkErNwE0OjpKaMex0
	Dzo3DsOkETGgcMtYd94Vjeek8dWqdNuLAQlq0G6rCOlMdbmPbHgxyA5uvtPkln9SStKKOxBc1G8
	DAtlTjwZpU2pkwmb5oxQVlcJDKPSEW+lFOQIIPKIijHxMbFCyGfSf05TiX8NjENVfqh1veGqih7
	oJ5
X-Received: by 2002:a05:600c:4755:b0:492:25a1:e2f9 with SMTP id 5b1f17b1804b1-4924257c2bcmr15421535e9.26.1781850641443;
        Thu, 18 Jun 2026 23:30:41 -0700 (PDT)
Message-ID: <146adb19-5424-4daa-8680-a638d6f327c1@suse.com>
Date: Fri, 19 Jun 2026 08:30:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 05/15] pci: Allow ommiting func when parsing with
 parse_pci_sbdf()
To: Teddy Astie <teddy.astie@vates.tech>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 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: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794553.8631fc262581453bbf619ec5b2062170.19edb3b3fcc000701b@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1781794553.8631fc262581453bbf619ec5b2062170.19edb3b3fcc000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1781850641-CE9ADE30-ACF2DB0F/0/0
X-purgate-type: clean
X-purgate-size: 419

On 18.06.2026 16:50, Teddy Astie wrote:
> Allow parsing PCI SBDF with the function part omitted (i.e XXXX:YY:ZZ),
> in such case, the parsed PCI function is zero.
> 
> That allows us to now use parse_pci_sbdf() in parse_phantom_dev().

Well, yes, but everywhere else the func-less will now also be accepted.
Like omitting (defaulting) the segment this behavior really needs to be
caller controlled imo.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:50:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:50:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341735.1602032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waTzh-0004pJ-Od; Fri, 19 Jun 2026 07:50:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341735.1602032; Fri, 19 Jun 2026 07:50:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waTzh-0004p2-IC; Fri, 19 Jun 2026 07:50:29 +0000
Received: by outflank-mailman (input) for mailman id 1341735;
 Fri, 19 Jun 2026 07:50:28 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waTzg-0004dJ-O8
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waTzg-001qMv-4g
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:28 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4b5-2eae-0a2a0a5409dd-0a2a450bb90e-42
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:28 +0200
Received: from [40.107.74.114]
 (helo=OS0P286CU010.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4b9-5e53-0a2a450b0019-286b4a724d13-7
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:27 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TY4P286MB7477.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:356::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 07:50:24 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=JAJ5ezR6R993BtavfqpOJsaYtBwrpfDjw3Jmu2ziOARBS6SQV6+r+3iKJvr9jsciCn5JGKywC7u28/+TTFlg0FCbvJNqYlxXshoTmyJjwETRrqe1ae5JsTrZfQjg3zrql3lUrcpb7rYN5RduK3UjEeIafdj3+vCOLDMT8b0ZiOFqU/pm944eZ3cLNLA9H4mcsocD48mimeuhDpasrV44OgbiO5Vt/hSA3fLjFG3Z3AoJ2fNACWIrDa0ZF5mO2HQlKntfFEg58J0EA1kl5LrtN6ZoiAtd9HgrKkbdOdBebaSinUbloPva4g40zb85VYgVrEwVIJwvxVme+oNZziJYuQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VKjclw5V9jrzqLrNd1iwHbNMgBC1nxy9z/dSq/sUNcg=;
 b=NJbqVSYYjnaaHwZUa3qf+AYwYy0lfOFDs4KHK/a2rE/IKLgKo997Zh09eoAf0SNsYSQpv6uepfwT1YNpwxVxaNaFS6hspM1NiqS4o7X+q5Z4+p0hU4a2WjHfT7wHll8Emv4xbm84D9km/3NxiEftHBrZrot5auNGLPJ8lwF+BtUNAciHmRW75aR9KXLtkGhJ4FZMKyOX9VJ20W7e+LYcJAzqDDH8792b3Msum4KHUJhqX6kBLS0Y4paxelz2/oDIXjDtGnH1zz5wneb3FbUzC/KDttttololJR3pZkfMT91jq05oT/bY64tv0uYcE3V0alFkxCXwSJhOfnf2AzawyA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VKjclw5V9jrzqLrNd1iwHbNMgBC1nxy9z/dSq/sUNcg=;
 b=b0jsvPF2eDwjAGIt8s/tFTLzZ2qlEgfG1BSvSqA3jI3S0spYTF5NOsxFNCZccDCJmss0dscZo2J5Dlc0UVe16xF+r+XnZOhOGIUKHWuHfn8KDc1fSjIAiHiUf1LuOc6xRxCrY0ivFnhoHvwsb3NfCOHKwAJo7LFcEN7p30koC+w=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	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 v3 05/22] xen/arm: Configure NUMA affinity for populated memory banks
Date: Fri, 19 Jun 2026 16:49:53 +0900
Message-ID: <20260619075011.377116-6-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY4P286CA0059.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:405:371::6) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TY4P286MB7477:EE_
X-MS-Office365-Filtering-Correlation-Id: 27afa028-b642-4190-748d-08decdd76ad0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|7416014|23010399003|376014|1800799024|10070799003|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	mPAA7+8bOgRvwk8H8LS+FAghOBE5VOjdZer2ezchiz8AsTYjMVyXv9GTSpVfLSy9t3aZOrom1ZghvnDin/mVqO6ZYR00aIvMc2Cp+w1cwYsylHrMDBt5hDSO3VgE1dYDlUSZ8POq17M+OR5xGfiZKe1Zx6EIsrz5qp4yw7RiCh7ZEXyZDNHKd7otIb/iWlkmMd4Nxe0vcxMyd+Dy21y4HYXfhlVtz7wxF0C/8Hv4oJ7R0CH4Il8LHwOggfQ6DvWyunuhWjnrImvUE21kskGud5hoMvQLY69l6FaWYKDWKj/oHNlBgB+BqlP3ptw8mBotNzpTNJGsyrx+nAau+/ejK2P5nVMfZ8jiukuMb/mYkQQp2nV7s1zQdfsP5oi14Sx3DIwz2RWeWqL1Lgd+F78TE2ewtHX89Pdkyv13J0Jkw4wLPP+0cL9SjQbDpGieZHLmNRKDLeU2BBKpcRd4y6cNKP5JjvekWDJ/lq04tqaaVaDVQILx83/ccRbvjUfM3f77w6H7jWBmevTZkskdKMU5zgNkPdfoOIcehsKRQeza9bjBhVWp40aiCaH+7dJZSzK1jIxDoM6jBbb/ONqvNVDtl+0pvzAGzyS/aKQSsBAcncQomlJ5va4YbxO5IHGNVHjijqmEQYNEHwTHNlwZyzoJ6aOoGZ4NvY0XfhzgDpOzW9A=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(23010399003)(376014)(1800799024)(10070799003)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?38BQWlay/at7UvB4B9U8XaIHuofqvry7V3TVhOcGMlULoTEBhA5hgocGZPEA?=
 =?us-ascii?Q?MN29dVP2A/WLyg1cdWgxNI0uclHx7rpvAq8RSBSu1RCIkqF9MACRs/y9ALZE?=
 =?us-ascii?Q?vaJoozfTrLJnWDgxI9GEUc/jB55z1RH0mKF4Z5q8bisaASI2nfom+4U6U3Xx?=
 =?us-ascii?Q?FGsb0Ia/JWn6sSgBzrngq6R9z+J5uMGxrmdXE3V8gjFMqrQFUngzfOSv10Ny?=
 =?us-ascii?Q?kOyDsbK5mlv7PHPbuR7PfCi1n1OhP4mSv2g/zkQIUr+/wwAvpU1o8VrWIyRb?=
 =?us-ascii?Q?lZ+O7NE1WO/zunFnrBI9Gj94FOivZbFpC+Zx9gaPyK2ZI4iB++MCkjRZtoup?=
 =?us-ascii?Q?cF/1yiIzrQvruurnTOS1yfElApOrbdRzD20j9q0vgVjvdSbertkqej7fQs/N?=
 =?us-ascii?Q?mxL6s6r3IXJJFTdhtV3TtG3YTep5njqIDx79y/7AYleZQEVPub1rhsH7s4Mw?=
 =?us-ascii?Q?38bX0LZ8H0d0FOXrXkyYO092FUEtisjhk5mdIEfdDD9cEJhyLEj5mIaOuB5q?=
 =?us-ascii?Q?aOE3kzVPs8dNiUYHANncxgLspE8yxkWxYSryjREVwjAFeBN5eFIqAsYdEFGX?=
 =?us-ascii?Q?BJVx5XHpCXsivpMa7MA5FBCHT4aJ1+604SPBqFcpmbut1B5g+M4RR8EKfN36?=
 =?us-ascii?Q?iweGk3zKNLya9PBw+WC3ktDQa35iytTH2fai3+m8gazP90q5vYNY2kOb3m3P?=
 =?us-ascii?Q?3v75NsIl7jID5+SZWCeHSg2QaosVlVCJ5+iQPPNtRL2qR78FQ3JzON/BFo9i?=
 =?us-ascii?Q?a3Rcu8bFEOFMzinFqbpGn7nynQoK53C9UBqxWKiwbrZSYEDmSPB/G4geq9OV?=
 =?us-ascii?Q?hfKTU6K2yQxepFFr9mnFUxzqfmFurmHwlqGd7QYhPkwQVbYZDxpPgG3hfN/P?=
 =?us-ascii?Q?37sA+4xCrs9iSg0bGPDPFzxpw8J94b55AJzb7exMs6BwM+H33C8YfCxhdAYB?=
 =?us-ascii?Q?23PBWA0e5XA/9oawY79UaRCysaN2KRolW4IsIf6mcNCgyAacM7GPM/BNuM5q?=
 =?us-ascii?Q?pTRpFbL6Nn1HgXEYYj8MQHRSbWO0IvM7uvPmiTIshKf36szaUT/Ndg5+X3Rc?=
 =?us-ascii?Q?74KBPIh2I2Ggnt0pEN7tXbgwCFrTWc5wqf9ckWsYwPC+2EFts0RHyVnFe9zb?=
 =?us-ascii?Q?GtWP1EPvg0xkH6Z6jpNpFwLQ9SbLV0lcXV4xRAzxhegUbYfKNoww7XaV3GuP?=
 =?us-ascii?Q?4W57OWivA+mHszn0R12DC0S6bAEue1VrQe/WzLdKFiPGnloJ8J/yF/eUH36b?=
 =?us-ascii?Q?SKFMmFxbuCZjtHFmg4kUFmmg9Ea4KyhguhCoGy43jh6H9HCt6FNb3v3AsPoc?=
 =?us-ascii?Q?DCi+XR/+gNbsec8ZCewdZ4npAgzlZtKaw+FZHFLUin/WwChEE+e07f1ot1LU?=
 =?us-ascii?Q?JOwCLhyvbyLARg/zCMO0NJwvdRyjNVz32QH1P7W4SwhxXdSABYxe5/vmC1Tn?=
 =?us-ascii?Q?E9ra66eKT1rNIOEHIFg0151sjv40lZv5UmiV6mFmjEDyaERHstsIG4YYP6eg?=
 =?us-ascii?Q?G4v4h7SJvu1mPz0jjWxHPvyMBXbL1KzwllYmYfgDSsRop4Llm0p0t6P/owCj?=
 =?us-ascii?Q?Ys5/SJUekrek5Wt61DQTNxZOWlUVhkyZK3fTXSYcHXV1PTDH1Dovka+SDuvf?=
 =?us-ascii?Q?gFd94BuE6kgcHZlteOGLVuPZ5EG9YC9tKp0sI8sX3yEM6pP95peaUFMEXAWU?=
 =?us-ascii?Q?pBEEzI1m39awzXX/KBXelEMSuB9iwBNYZlU7Ma6RMDrhGvPsn1A5hSAJf9P/?=
 =?us-ascii?Q?cQ0vLhy+otibH5eY+h1qKj6STgr7ggcTgbnankqt4pUJUDZRJu7kI7UcanqF?=
X-MS-Exchange-AntiSpam-MessageData-1: h9bd7CtT7U6H0Q==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 27afa028-b642-4190-748d-08decdd76ad0
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:22.7830
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 91PqexfN6Uh/YfupaNUABCr+C2i/dJXgJkAhq+C+4z/KjeSPagOBo6BCQcvHvNzORLcrEooZ5jh1bVaA+pldyw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY4P286MB7477
X-purgate-ID: tlsNG-42698a/1781855428-4C5F400E-E5F98E8C/0/0
X-purgate-type: clean
X-purgate-size: 6920

Configure NUMA affinity for the populated memory banks. The NUMA
node ID for each memory bank is retrieved from the Device Tree.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/arch/arm/include/asm/numa.h       |  1 +
 xen/arch/arm/numa.c                   |  7 +++++++
 xen/arch/arm/setup.c                  |  2 +-
 xen/common/device-tree/Makefile       |  1 +
 xen/common/device-tree/bootinfo-fdt.c |  8 ++++++++
 xen/common/device-tree/numa.c         | 29 +++++++++++++++++++++++++++
 xen/include/xen/bootinfo.h            | 25 +++++++++++++++++++++++
 xen/include/xen/dt-numa.h             |  6 ++++++
 8 files changed, 78 insertions(+), 1 deletion(-)
 create mode 100644 xen/common/device-tree/numa.c

diff --git a/xen/arch/arm/include/asm/numa.h b/xen/arch/arm/include/asm/numa.h
index 8c46048ac8..d9fc1ce553 100644
--- a/xen/arch/arm/include/asm/numa.h
+++ b/xen/arch/arm/include/asm/numa.h
@@ -13,6 +13,7 @@ typedef uint8_t nodeid_t;
 extern bool numa_disabled(void);
 extern unsigned int numa_node_to_arch_nid(nodeid_t n);
 extern uint8_t __node_distance(nodeid_t a, nodeid_t b);
+extern void numa_memory_affinity_init(void);
 
 #define arch_want_default_dmazone() (num_online_nodes() > 1)
 
diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
index 1fddf7d15b..b441af1111 100644
--- a/xen/arch/arm/numa.c
+++ b/xen/arch/arm/numa.c
@@ -33,6 +33,13 @@ int __init arch_numa_setup(const char *opt)
     return 0;
 }
 
+void __init numa_memory_affinity_init(void)
+{
+    dt_numa_memory_affinity_init();
+
+    numa_initmem_init(0x0UL, 0x1UL << (PADDR_BITS - 12));
+}
+
 int __init arch_get_ram_range(unsigned int idx, paddr_t *start, paddr_t *end)
 {
     return bootinfo_get_ram_range(idx, start, end);
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index c0202d9ff6..cdabf536b0 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -352,7 +352,7 @@ void asmlinkage __init noreturn start_xen(unsigned long fdt_paddr)
     acpi_boot_table_init();
 
 #ifdef CONFIG_NUMA
-    numa_initmem_init(0x0UL, 0x1UL << (PADDR_BITS - 12));
+    numa_memory_affinity_init();
 #endif /* CONFIG_NUMA */
 
     end_boot_allocator();
diff --git a/xen/common/device-tree/Makefile b/xen/common/device-tree/Makefile
index 9036e455d6..658aa293c4 100644
--- a/xen/common/device-tree/Makefile
+++ b/xen/common/device-tree/Makefile
@@ -8,6 +8,7 @@ obj-$(CONFIG_DOM0LESS_BOOT) += dom0less-bindings.init.o
 obj-$(CONFIG_OVERLAY_DTB) += dt-overlay.o
 obj-$(CONFIG_HAS_DEVICE_TREE_DISCOVERY) += intc.o
 obj-$(CONFIG_DOMAIN_BUILD_HELPERS) += kernel.o
+obj-$(CONFIG_DEVICE_TREE_NUMA) += numa.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
diff --git a/xen/common/device-tree/bootinfo-fdt.c b/xen/common/device-tree/bootinfo-fdt.c
index 272b5a6c0a..2d0e809231 100644
--- a/xen/common/device-tree/bootinfo-fdt.c
+++ b/xen/common/device-tree/bootinfo-fdt.c
@@ -121,6 +121,9 @@ static int __init device_tree_get_meminfo(const void *fdt, int node,
     const __be32 *cell;
     u32 reg_cells = address_cells + size_cells;
     paddr_t start, size;
+#ifdef CONFIG_DEVICE_TREE_NUMA
+    uint32_t nid;
+#endif /* CONFIG_DEVICE_TREE_NUMA */
 
     if ( !device_tree_node_is_available(fdt, node) )
         return 0;
@@ -136,6 +139,10 @@ static int __init device_tree_get_meminfo(const void *fdt, int node,
     if ( !prop )
         return -ENOENT;
 
+#ifdef CONFIG_DEVICE_TREE_NUMA
+    nid = device_tree_get_u32(fdt, node, "numa-node-id", 0U);
+#endif /* CONFIG_DEVICE_TREE_NUMA */
+
     cell = (const __be32 *)prop->data;
     banks = fdt32_to_cpu(prop->len) / (reg_cells * sizeof (u32));
 
@@ -158,6 +165,7 @@ static int __init device_tree_get_meminfo(const void *fdt, int node,
         mem->bank[mem->nr_banks].start = start;
         mem->bank[mem->nr_banks].size = size;
         mem->bank[mem->nr_banks].type = type;
+        set_numa_nodeid(&mem->bank[mem->nr_banks], nid);
         mem->nr_banks++;
     }
 
diff --git a/xen/common/device-tree/numa.c b/xen/common/device-tree/numa.c
new file mode 100644
index 0000000000..ff5a7dee9a
--- /dev/null
+++ b/xen/common/device-tree/numa.c
@@ -0,0 +1,29 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+/*
+ * Initialize memory affinity by registering bootinfo memory banks into Xen's
+ * NUMA subsystem.
+ */
+void __init dt_numa_memory_affinity_init(void)
+{
+    const struct membanks *mem = bootinfo_get_mem();
+    unsigned int bank;
+    nodeid_t nid;
+
+    numa_fw_nid_name = "DT";
+
+    for ( bank = 0U ; bank < mem->nr_banks; bank++ )
+    {
+        nid = get_numa_nodeid(&mem->bank[bank]);
+
+        if ( numa_memblks_available() )
+            numa_update_node_memblks(nid, nid, mem->bank[bank].start, mem->bank[bank].size, false);
+        else
+        {
+            dprintk(XENLOG_WARNING,
+                "Too many numa entries, try bigger NR_NODE_MEMBLKS!\n");
+            numa_fw_bad();
+            break;
+        }
+    }
+}
diff --git a/xen/include/xen/bootinfo.h b/xen/include/xen/bootinfo.h
index ca675db5ce..ab40b5cd5b 100644
--- a/xen/include/xen/bootinfo.h
+++ b/xen/include/xen/bootinfo.h
@@ -7,6 +7,7 @@
 #include <xen/macros.h>
 #include <xen/xmalloc.h>
 #include <xen/errno.h>
+#include <xen/numa.h>
 
 #define NR_MEM_BANKS 256
 #define NR_SHMEM_BANKS 32
@@ -56,6 +57,9 @@ struct shmem_membank_extra {
 struct membank {
     paddr_t start;
     paddr_t size;
+#ifdef CONFIG_DEVICE_TREE_NUMA
+    uint32_t numa_id;
+#endif /* CONFIG_DEVICE_TREE_NUMA */
     union {
         enum membank_type type;
 #ifdef CONFIG_STATIC_SHM
@@ -228,4 +232,25 @@ static inline int bootinfo_get_ram_range(unsigned int idx, paddr_t *start, paddr
     return 0;
 }
 
+#ifdef CONFIG_DEVICE_TREE_NUMA
+static inline uint32_t get_numa_nodeid(const struct membank *bank)
+{
+    if ( numa_disabled() )
+        return 0U;
+
+    return bank->numa_id;
+}
+
+static inline void set_numa_nodeid(struct membank *bank, uint32_t nid)
+{
+    if ( numa_disabled() )
+        nid = 0U;
+
+    bank->numa_id = nid;
+}
+#else /* CONFIG_DEVICE_TREE_NUMA */
+#define get_numa_nodeid(bank) (0)
+#define set_numa_nodeid(bank, nid) {}
+#endif /* CONFIG_DEVICE_TREE_NUMA */
+
 #endif /* XEN_BOOTINFO_H */
diff --git a/xen/include/xen/dt-numa.h b/xen/include/xen/dt-numa.h
index c4a229bf9b..943bc0e453 100644
--- a/xen/include/xen/dt-numa.h
+++ b/xen/include/xen/dt-numa.h
@@ -11,6 +11,12 @@ static inline unsigned int numa_node_to_dt_nid(unsigned int n)
     return n;
 }
 
+#ifdef CONFIG_DEVICE_TREE_NUMA
+
+void dt_numa_memory_affinity_init(void);
+
+#endif /* CONFIG_DEVICE_TREE_NUMA */
+
 #endif /* XEN_DT_NUMA_H */
 
 /*
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:50:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:50:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341738.1602062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waTzm-0005k3-L0; Fri, 19 Jun 2026 07:50:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341738.1602062; Fri, 19 Jun 2026 07: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 1waTzm-0005jp-Eb; Fri, 19 Jun 2026 07:50:34 +0000
Received: by outflank-mailman (input) for mailman id 1341738;
 Fri, 19 Jun 2026 07:50:32 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waTzk-0005QJ-DP
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waTzj-00Dxzh-E8
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:31 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4c7-e002-0a2a0a5209dd-0a2a450bbb74-0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:31 +0200
Received: from [40.107.74.114]
 (helo=OS0P286CU010.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4b9-5e53-0a2a450b0019-286b4a724d13-10
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:31 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TY4P286MB7477.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:356::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 07:50:27 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=l0yb9n/Kp5rGXqbi3H0XmKpfqaNAIpnzfs8rtjgsLYW69P4s6ABq4TuUaFFLWnU+CTZGTEQdx7qY8Ghdq2yVC2Ii33JLK/lShk1LxTOcbYMJiIYJDcoCsuOBDBU2nUxNCnRSeEBo5OD9PGE4CsNjJHURPDi0hdKw0km1cWNkeV0oget0VUc+5GJfP2ARNtyXRx54N1xFevgPoBBZnB8OPX16iErLR06qCbVu5nvF8sRMK1rYmUeLk3WXU/vaSLrBf2t2mF/vefWSeoU8Rfob1wHadx/zwOotKBYZ6cg4U9/2pKOgK/r9cD/3s6uKmniAeUSiK15YnnD6OCi4Hdev7A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kZ/ulHGw1zKNLUxS/O7t+QzypijmScIl9LlYi5MPJCs=;
 b=DjAhnrkOEJdlo7ImdlvRblDktXA4W5cFbY/M5Uq5blVPTKR9Ig3aONc182EiOts9drDoH/e7S8hRmslHJ6C3UI3FhwHlCUEtOazcmyOTYQ2zPFimq/HPNwllRtztJVvsuZ612ZYBbdhRns2ouqm3b1RTuFhWDlLGQxWshVmhAO1iviGhFCNqwCqm26p8wh5IaUahwMdH2mzGyGl8ZQRprmihg/PprCkA1RIqZ6XsmvOWJWq7bZ42/sSpMD1BWnyxtJ1/v4C/jirqdUMInYW+i08biOIpKybT/eL4ZcAFc+8r5HmUHUUSnr+bbO7N+N2/2vtp2YxhI/YLfg1VpDUTwg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kZ/ulHGw1zKNLUxS/O7t+QzypijmScIl9LlYi5MPJCs=;
 b=D8LhMyw1cKKXCzLhuZDwbz+5CBFyceg4Eu3ImfWWMgFrJwrig5DQZufAMM0yN6TTi+VRoXw8Ba06b8Y80jc4oKWzcThX/Usd8PrjWwMYVk0eOIE7JgkdVcl1S3fsis6oNplDu1R9DPDerzJXm5VJnvq4X8a7eecMDys799S/9cA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	Andrew Cooper <andrew.cooper3@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 08/22] xen/common: Allow building ARM32 Xen with CONFIG_NUMA
Date: Fri, 19 Jun 2026 16:49:56 +0900
Message-ID: <20260619075011.377116-9-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TYCP286CA0148.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:400:31b::16) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TY4P286MB7477:EE_
X-MS-Office365-Filtering-Correlation-Id: daf3a842-c9e2-42cc-f79d-08decdd76dd4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|23010399003|376014|1800799024|10070799003|56012099006|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	+yo7k5n1EIb9ygkAs7dbh8WpeAiGE8scckbbXq0yPSECFSojrL42xx8RJwin+Ovxqu/+33baBRG4EYk4RMzNVXP9fiIoDmxMHSuuoGONpg38T26PYqzWH6CYQgyNS1RvYo9UOJDHPNvcizxzMboyTUpRMjc7fuxAaFh65oBOhvMwOleJO4Nt+ucSwT2H+zESv/EVttSnsdzLficIW4ZTB9LOy+2oeOqyjVO/Z5X+J2/48pb4iC6Xlrp775nVectqLjzmpd0j12Ky0Li9FyBFmMBT4Hi6ECesr1Zli3myZPYgGQhhUorNdi3eFAnxwc5Q7BWB6LcuLyvq/2+yXz1XK9LAd9mQCXlQBJT/2xRCbctBhKUxxPPYS2HYOmG+wvrk5l8fw9i0gN2NZ6tIVHdNcwsEdDhosEdLc6f3TmMHzkQkpMusVUAf5ZSPbGIQ4+EJDemyFc5qF5w9oUcZFrsOP3mjBZxD27OjpmU6gO0278Tlj8FY52nHwF+a5pMcrgk4Wp4xRD0rxrikI889dSzJ/gIBdXIgB1q9GvgTlvl3GnZNdM20E6wvIkraPpy0Qt+CtF5eesQEwoTTTmWrRyvC+zIqZZxFXr6YBnwsPuDdJjHpsfHyGuWxTTlctwnyL/5HAhQq7C9sHg3twnDkR3UXnB1P0gCSgsF8K8rYe6pBuQs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(376014)(1800799024)(10070799003)(56012099006)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?P8oTukbM1h2LcEFzN+FlYiritY7p6Lt5dRx5iXq0I1HTHbcu9aYaZkmQ/Jud?=
 =?us-ascii?Q?a3cCeE9lushCM1yHHMuOffPAY0aPajJ7j7NQrQ6c1fvUSGzsIMnwHqgyzmjS?=
 =?us-ascii?Q?h3ZHviqD4EFMFdZATw+kTXUb1tYEPnQZXzfavph0SOqRt/ELZQX3vsXooHRO?=
 =?us-ascii?Q?khaNN6mHEOrG3Y3uxNT7WH2W1OAlY02KP+GOiowBVJbBAVVzUMTroYfnMV1d?=
 =?us-ascii?Q?XWF/gdn1bdz8D2/DHMZoqFLxNidMVFoMvREekhr94YD0mgYcIz9HZM0HpzQ0?=
 =?us-ascii?Q?TM9n5u2YbcNSYV8zUD+vunpSd2ck1CkUUJTDBtbfZykyDxS1yq7yPBtvzVUT?=
 =?us-ascii?Q?89yJlYA8/e8o7V3mA17HHet4oadTXed55N8hr1Bv6xZA/EvCxXhL8UsusYtt?=
 =?us-ascii?Q?ODfDMstjEZH8B4Bhfmng+8ktmhkGJEuXAezBZXHGWO4A14Jl38oZI6zK/+9c?=
 =?us-ascii?Q?svZRXFd/DKHpO02hZf5urQmiw6rLieJwZ6mahK3e5q7XAJls3kg3MNiC1Ytg?=
 =?us-ascii?Q?zvzkLY0U2NuIhD1scJhxAgelcP4dJLldyjWnQ5BV+K4ElxHFJ0SaCirIcBtN?=
 =?us-ascii?Q?qFS+NYU0Z3xn70KeBjV417NG7BjdVo0y9gWkqDQ0xeU6BTlHoemWAqOgctDb?=
 =?us-ascii?Q?ILFPEVslcVIP9DmEPPyRAIVQITSGeevEY1ZPIs/etAh6gN7Bxk8V8ThTHqqf?=
 =?us-ascii?Q?nFcqR6y9MsnjNEFDsVXJ2Z06A5uRRfWPLIBZMatyC+7iR6nGFljkQYLysvsW?=
 =?us-ascii?Q?ZGYLjJ1OSWohl10JPXymk0yi1xrbO57QssdwaI9jt5KqpRRKO4E90AQ6Msyc?=
 =?us-ascii?Q?Saa2XbdC9QzJE8KFw4V0EHT7c8uUy0ob1sKeTtON5NT3t0FeqAa/xR5SlAS1?=
 =?us-ascii?Q?55QHhuz1uYlQJFzCnBmYk+sRW0pDTGj4XcgM5/FOfh9z8j3A0HgLj3OjPKQ0?=
 =?us-ascii?Q?ja0M6xM12suoHfbBePhHz5E6rxh/6ltTjKsqX98lKAU2BtlbanDySPlNBFmF?=
 =?us-ascii?Q?Ht96FkHoFE8t4oNLZquKwZi0q0QmyEZHZHW9vl3prUJo4/8D3vxwP0ewMq0S?=
 =?us-ascii?Q?iKBdRpw1/KGqZAdirM6F+UKyjY423IGd8yqyqKOBfsVutWQ52cUzUxkqxD6O?=
 =?us-ascii?Q?a0+0tN0Jp3Tizn6+ktqglL5/W+Co5k9C+ANam9b+Bog/Go6biZPMJNoAFWg1?=
 =?us-ascii?Q?Z7PPbXgtqQ92lgEO0WPJpJV5IZOgX2VsyAAsOctXA65H98lIIvgwFvZMuOHX?=
 =?us-ascii?Q?r+TDHBi/F+lRlOXJxQY7opU6Pz4AxsQO5goupCm888lvDiMFR1fXBO7xYKl7?=
 =?us-ascii?Q?Bfyw61Jgf3abslU9n6Ldh5kqOhxMaPpQfnvQSvjec+iYNfFPc/2kQQP2OBqb?=
 =?us-ascii?Q?rlGjQNVRPW6OTPbsHW+/3H+dgt1t9vOwE5lrOW4RBrrJ4GM/R22NULRF/Y24?=
 =?us-ascii?Q?KG+GuuRNy+HMkBw2S3fWKSG1lb9sSwlsJCSnr45GewvMX+P9s091XPDxPW8C?=
 =?us-ascii?Q?Un6Pz9z3r9KWyJYc7EtUlAm2P2FVY5wC9vQRaKTEd/aCQylX1nZ7nGKsyCiD?=
 =?us-ascii?Q?JdE75EyYWEHBUlfYxeGz+osfiSKUPHhGw4mI8LsDbVUK+XL+YYQnJJ0NY89R?=
 =?us-ascii?Q?FPND+qqeOVs2MmPk4OQLlogjhGGlZHmWtKhUZkdYWrZVVT8o2OfF3YryxyMf?=
 =?us-ascii?Q?ERcsN9Fnn9xarju516tB6S5CCuK8WXiQCW+U2asGxBKeZ4T64LCKFeMqxmJP?=
 =?us-ascii?Q?sNV/FWLFHYtdNFwfsdPEnq82PWUvz2nx+f4M5RvpS83vnOJnRkUAikrPdOMd?=
X-MS-Exchange-AntiSpam-MessageData-1: DFOGMa3OOo1vsA==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: daf3a842-c9e2-42cc-f79d-08decdd76dd4
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:27.8646
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /SBD0MlSTUMLcj+ZAogRTCbJaYuSHj4skllPK41vVXa06qfjVx3PTqZsXpQhwChNB6hTYDOIIC7rxMxzGjfcpA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY4P286MB7477
X-purgate-ID: tlsNG-42698a/1781855431-4C9F600E-F50E4847/0/0
X-purgate-type: clean
X-purgate-size: 823

Allow ARM32 Xen to be built with NUMA configurations.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/common/numa.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/numa.c b/xen/common/numa.c
index 92f8f1cedc..9f53a2602e 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -439,7 +439,7 @@ static int __init allocate_cachealigned_memnodemap(void)
     if ( !memnodemap )
         panic("Unable to map the NUMA node map. Retry with numa=off");
     size <<= PAGE_SHIFT;
-    printk(KERN_DEBUG "NUMA: Allocated memnodemap from %lx - %lx\n",
+    printk(KERN_DEBUG "NUMA: Allocated memnodemap from %"PRIpaddr" - %"PRIpaddr"\n",
            mfn_to_maddr(mfn), mfn_to_maddr(mfn) + size);
     memnodemapsize = size / sizeof(*memnodemap);
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:50:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:50:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341731.1601995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waTze-00041f-EM; Fri, 19 Jun 2026 07:50:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341731.1601995; Fri, 19 Jun 2026 07:50: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 1waTze-000401-Ax; Fri, 19 Jun 2026 07:50:26 +0000
Received: by outflank-mailman (input) for mailman id 1341731;
 Fri, 19 Jun 2026 07:50:25 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waTzd-0003vw-CS
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:25 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waTzc-001qMv-PZ
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:24 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4b5-2eae-0a2a0a5409dd-0a2a450bb90e-36
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:24 +0200
Received: from [40.107.74.114]
 (helo=OS0P286CU010.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4b9-5e53-0a2a450b0019-286b4a724d13-4
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:22 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TY4P286MB7477.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:356::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 07:50:17 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=an0SHIvXGtr7PgBhjOpCm8i5z5NMtz2r8h+yUEcwpCu9XhuhbjUTIxvwF26OpN1aUFZ0Z738dMLmxaOotOTRgO1X3P7m3ZVoZ/eCwpeljX8eio17bL3yIrXxoP6s4dznQUNCBJAn+Y33s0gl7CIt6HVE39RV3EHZ38739J0dftorNJcK6fH6yF/Y629GLnoujiorfUWwEVE5hnwgO0ig/HqWDjTJNuyy0jDb8Qrye/zg1zoZfMa3GZv/amNwLuBx7jccAkrYrE7KLN2M4N0V+S9lLG+WiAsHpy53DEiOkTGCe6FsJEPH2lPfNi0INZAwOUNG84Kdhe/ToX/iT9SHwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0gX9ub+anZt6eauwPAi4d+qchhQS98QP4fnLa+KEekc=;
 b=cmQjcyKWRQRFWjoZvkN4S0XeHX8iohSPOISRqaNPPySG0tCrZlzqLlhdqhyK9B5GUzWrmQBUcVC5EgOqfbOorh32KwST6/1gtgYbYebxtRyfnDszbjV8Vml+qG8gETXBjz9Gha3alx5Hpv5vjATtoBlEZkktfpQPyxZTBTVcWtt+Kcv1YAX3gwXeBljRYZ9mF/IxrBlEetAC6EB1CJ7dWbHb/qvz7xBwmmRlpBSk2rnF3zPUagrc+pGkwWOgB7dGpaEDJbzfgIX2BhA3FzVBJ9IzyeDqzuBnP2gtF/x+Nz3bHL6Rv6Q6Lt19R0JBntPT/8KrR8sQQgI76zEh3/Oy9g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0gX9ub+anZt6eauwPAi4d+qchhQS98QP4fnLa+KEekc=;
 b=buz+riui2yTrK0w0MFYoIcvWbk2r6ld6fQBm5wDeOY6EaNgI7j9scnJZ5kwWfva1Hi1aB8RF2tdljSam1eomhWlQ+K9cy8hfz7zByus4Wha/jr9Irp3GmMxvUbSgru6Xy3RKslyWkqpp91bfLrkt0srMpGe6ewToGjMljywrAGw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	Andrew Cooper <andrew.cooper3@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 02/22] xen/common: Default function to get the distance between nodes
Date: Fri, 19 Jun 2026 16:49:50 +0900
Message-ID: <20260619075011.377116-3-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY4P301CA0005.JPNP301.PROD.OUTLOOK.COM
 (2603:1096:405:26f::9) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TY4P286MB7477:EE_
X-MS-Office365-Filtering-Correlation-Id: 8e98c1d1-6b01-416a-a2fd-08decdd767ac
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|23010399003|376014|1800799024|10070799003|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	4p3170YBl8ipIJz+pMUieMBee1JlkZ51b1H3/ibWhAnKdfD4YWoZqx+s1bCGIhPJ9Gd4s7Gc6Ul+sHhKpxpVw7NSrr2f87hJOYuX8IBm01TNE0CU7uAdc2Mlxl2EF6zDA2jAPM3kqWo4raWKdLDWa2tXWs7kfFlXRSXZDJ9fqSYyG4WkkWvk0z8atimhS6IE0+OMZYR57vmUkcvL0Ad0TU0GBlvWwuIRzicNzMDZvA4epD5ViluoTNAa5sNYKDu0DQNhJZdK3Udrr1JrvuiN0GMSOusRWeevkAW/pu0MIpLlGfgqJjDyNG/aoVjsZ+KdS5gsZnNDIMhqXK+ploTteGgWdk/YFVB5ihsENjGH65Q8d7skSPZ9+fEOhHYEn5oV7DFcAwfOkWxMnzSPjRlzezKcyNeZv3NMZiZup3xT9ASCZC6kPn7Z6y7gkuL//hKB6GCmaftZYLBQOURqkfGECVbsrqiOdP62TqiGsxO2jB77hAANLxxhPM3DwjSje2rEdbPohLd0U+dxt+VYKJ8BB8IT+tAtH4MfACPiD1lR58pXH/E9y07199PdZm/En24EUZJwkDspXQJgu563sluhd5R34yW8BP1G+52Dmr/9+p3y9urjuPSl9Wgber790RywU4EjwNkayKMU38TZKdTS+OEKymolfox5n/6mUR1tR50=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(376014)(1800799024)(10070799003)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?0BNyIUfj2EHDy5KwVIwLOEfbCuCQJRFkxyC6AvKV+BARwYnxkp4enSVvg9E8?=
 =?us-ascii?Q?ikxCK9jX6CChzPfOfe4g5VWfwOsRUpJ66UcsgVMW68lECHTosvksGp1Fn0SP?=
 =?us-ascii?Q?9HGJrPRYhAQmMDZdhUdGR7iZchn/WT56+Qod5v2u5OibWoOSWeqT2MCvzALA?=
 =?us-ascii?Q?RYPjINdmKX5hW6P0gEyFAcRB/lM6UowRRYjFz8deXHYvxaiyhnAw3N7iW5mF?=
 =?us-ascii?Q?8ERGNNbq9q7zNGAp5x71gQIUi1ekcWnPLC6S3xf5eFnLiaSpzb1yaqgF0KbV?=
 =?us-ascii?Q?BnQ1BPpWxYsxrcNll47Dgu+f8LRwKJ/UcAW9uT4nKPF1jM/0OsYsNh/VHCgd?=
 =?us-ascii?Q?y3IeHHpwqTzHxiG5Cd9O0HqiY51m3+te9b3LtldOlOmSedpzYzF3CEy+XpXf?=
 =?us-ascii?Q?p5TVjosVeaANr40b61i0AGAVkQSLLNTf1w2TyvIJJ+fvXEXTGEXHveOhH49I?=
 =?us-ascii?Q?0QKRde2/Exbe2tUwjU1zsdQRH4htM3YNTLHWaoG03y1lYsV6HlXOLgTHcL3p?=
 =?us-ascii?Q?fA9PjGFtfaUe0fJbXjUjRF6y4oklmXKInvlyRmbI2D8hqD1+rU03fhDLNNKX?=
 =?us-ascii?Q?/kqzrMh+xUJMQR5yRCvtAwjFKQiJoT/nXX7Xj2R9mGWhJU7s03pT5w/NXBgv?=
 =?us-ascii?Q?BxJgPN8dDFglvfclEZ6q9qK/Hht4BbiQCvUm43FuDy/sKWDf3jkHO2UlB2v2?=
 =?us-ascii?Q?T6Uxi/01T3HSuJsFfHyKkMQeLOu4J/y/oYlzpDP3nXL8KIixtPMDpcbJQmNU?=
 =?us-ascii?Q?Sl0YFTgdgh31kii3UajwH9RAXICfZPBhwNzBUj5oDbG6DdOJ5Nj3dwmII0BQ?=
 =?us-ascii?Q?i4JEUmoKSkIxSA3/uOcTHAJ1pbI3ThfD/lpUUCPIQnBrBdkceWOMv+SyZYp+?=
 =?us-ascii?Q?+kU61XZEQbMcBV7yHNeH0yDAhy6BCjd5GeBJer4b1jIbe5kthJDylQsGvPwt?=
 =?us-ascii?Q?QciuoIcbqPlYr1bW2GciH2EGWMEpIRsOLpH+/u///KFPsrM5EIUuJ8f2yCnQ?=
 =?us-ascii?Q?G3zR3aDJ7d4Zto1k+x4ZC+SjD3IzfbviwkOXjVSX0kTEQAFkAkMS0ZYK5T4e?=
 =?us-ascii?Q?BPiC2s7mMZoQ2ZcchjSSeNOmkGnpZarcGUNiZI5rj9FrMPhA4jDr4fO+aAn/?=
 =?us-ascii?Q?zhs+1NC44+AhCBF8QLWDTOyQPnPOuo36TsuRy45BtwxqedpwjDNnfgZBvBXJ?=
 =?us-ascii?Q?ZT/5bmJ8cLGyev2ZfALkxhIHbeOX8c3d0+9hFXVn1j5t2HqaVAfGpYTVOd32?=
 =?us-ascii?Q?M+dHEdmHC0RNM9roIkE8DgWcg0ziR+w2V/XmEcFODrUtKK8dyvNEFvS4a3jX?=
 =?us-ascii?Q?k6lLlt7Z+CgLwiorFfdI6BTI9624igObH338U/8+zTcBRjCMRlBSMYwUSmfq?=
 =?us-ascii?Q?4q1SknE/ucl9912iUXdoZiNdDwVOv/tCEbmJu1GaXJ122Bysz8NN8cG6+B2/?=
 =?us-ascii?Q?Vt2oxDCT3eQYzbBgvEDhkIZ2YBAYwantzy+GV6A8UzI2WUdbL0I+P4IMH9ME?=
 =?us-ascii?Q?kyxeZ4nkBUsLIRo1DotRurI/ieRd5T1t9koqohNzD1R4TwSSFOR4QPWsFQtP?=
 =?us-ascii?Q?fBCJJKJyTfhPZhMNpsUl0eZsLwTG4aKgUqIo19sX7yeLTnwHiOBnr3Fy4BoE?=
 =?us-ascii?Q?Bdo9sQ5ZeMMnRSpUnckHnuU1V24xp3C61YB2PqL0hzr3yWT2i0RXt5Skkc9E?=
 =?us-ascii?Q?+H/u8POHXDthOnfbLYKoN0O+baWz78lq58QHPChXPucxJ2edO1oe181HhMXf?=
 =?us-ascii?Q?eKe5/BBLE9OtiychkNUKno0hLhWTBBtiZsCGANAhZ+2eeeNpvggmvFdCPDYo?=
X-MS-Exchange-AntiSpam-MessageData-1: HoDwtzvc7adK6Q==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 8e98c1d1-6b01-416a-a2fd-08decdd767ac
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:17.5042
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kQH+XJUIruYCupwb7EkjkPU7lp2RlGlCrO1/20+uRIXqK80NUsMQmUiFhj+qvgzdPFBJpKbV8Mco5v5hZbVkmw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY4P286MB7477
X-purgate-ID: tlsNG-42698a/1781855424-4D9FE00E-1F3B76C1/0/0
X-purgate-type: clean
X-purgate-size: 1974

Provide a fallback function to get the distance between NUMA nodes.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/common/Makefile            |  1 +
 xen/common/numa-distance-map.c | 19 +++++++++++++++++++
 xen/include/xen/numa.h         |  2 ++
 3 files changed, 22 insertions(+)
 create mode 100644 xen/common/numa-distance-map.c

diff --git a/xen/common/Makefile b/xen/common/Makefile
index 6018e25614..062f9ab72b 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -32,6 +32,7 @@ obj-$(CONFIG_VM_EVENT) += monitor.o
 obj-y += multicall.o
 obj-y += notifier.o
 obj-$(CONFIG_NUMA) += numa.o
+obj-$(CONFIG_NUMA_DISTANCE_MAP) += numa-distance-map.o
 obj-y += page_alloc.o
 obj-y += pdx.o
 obj-y += percpu.o
diff --git a/xen/common/numa-distance-map.c b/xen/common/numa-distance-map.c
new file mode 100644
index 0000000000..73344f7f33
--- /dev/null
+++ b/xen/common/numa-distance-map.c
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <xen/errno.h>
+#include <xen/init.h>
+#include <xen/nodemask.h>
+#include <xen/numa.h>
+
+#define LOCAL_DISTANCE      10
+#define REMOTE_DISTANCE     20
+
+/*
+ * Get the distance between node 'from' and node 'to'.
+ */
+uint8_t numa_node_distance(unsigned int from, unsigned int to)
+{
+    if ( from != to )
+        return REMOTE_DISTANCE;
+    return LOCAL_DISTANCE;
+}
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index f6c1f27ca1..18c22d3d30 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -128,6 +128,8 @@ extern bool numa_update_node_memblks(nodeid_t node, unsigned int arch_nid,
                                      paddr_t start, paddr_t size, bool hotplug);
 extern void numa_set_processor_nodes_parsed(nodeid_t node);
 
+extern uint8_t numa_node_distance(unsigned int from, unsigned int to);
+
 #else
 
 /* Fake one node for now. See also node_online_map. */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:50:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:50:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341730.1601990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waTze-0003w9-4I; Fri, 19 Jun 2026 07:50:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341730.1601990; Fri, 19 Jun 2026 07:50: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 1waTze-0003w2-1V; Fri, 19 Jun 2026 07:50:26 +0000
Received: by outflank-mailman (input) for mailman id 1341730;
 Fri, 19 Jun 2026 07:50:24 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waTza-0003vq-VZ
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waTzZ-001qMv-L2
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:21 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4b5-2eae-0a2a0a5409dd-0a2a450bb90e-24
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:20 +0200
Received: from [40.107.74.114]
 (helo=OS0P286CU010.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4b9-5e53-0a2a450b0019-286b4a724d13-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:20 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TY4P286MB7477.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:356::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 07:50:15 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=prjpCAtF2OY40ryy6Z8I4Bvzmqt3ctMWN4JlfLcaEhmb0rLy92TMr1yDsfzef/c3qdXMCD1CY+xhMGkvN/da4p+2cfl9aJ1GI0q+0vqhfzJsr4S5h5XvxRBSHU3G4z4JDt+6WxoISFBjqnZ8yaXIlnpXIkcvySysRfyqdhNlyqrMl8S/0HzjGY8aK3cAMRY3fJWlfgnBoOCfF0AK1WLM3T6gaT4do/H5EpcwLu/plcrSZqI60XpmbDr6zPFo8cRL3PLP4mtJhg5B+fwPCPACYLZ5XGRdSVMe1t5BTPK4cL+CG1GXzM6TqdyEpoA/oAKhO7Y70+Mwi9zl4kZQ0pYktA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XqzPDWwCk81V+4XPneDM8qTwAhjlrgmLc9YUkmpu6Y4=;
 b=f9HHOLVFvacg56EevAz5BvTXlngxQwiEOkFIJ02NNzfouyV9JD1A8ct2E2AKCQKlkgkugXAODkBLPcR7f6RJvRkgyF72SGl0/3OiEXN1NrVbNM3vEMXUkzic/KfXb206c9sVqiZz6Gf9mDxH64h3DVnWwMw65BTfJvz9UfHLRdIllSI9bq2iWhFrfU1JJwS6WTKXCrDo59kxJHkuuadkVLRPxh6lKjE60kbm2cnZoopBX6Wk8lWZBFtUVcca8CceF2XcTqrm9QDjIWl/1QtEh+Tq+zbxykFvpp8WvyE30VTgJkP50sMjZnvwga8SMSEVzgyMkjLUOTEDuPtQqM6Y8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XqzPDWwCk81V+4XPneDM8qTwAhjlrgmLc9YUkmpu6Y4=;
 b=syZSFCww3OQFdWEUQTAORSX6eurxfwZRVxXVn5erDNcWKZfavHScpm8kG2Q4XyLSYPBNlogOKtPcTL2acix/XyI8pzcCmyQumXZtzAi7mf3vJPkxuAfw1mZSvBSeMBUDAgIpNX3bhClHQprmfHRvqaWK37hARU1Z/ipAIINymOU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	Andrew Cooper <andrew.cooper3@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 01/22] xen/device-tree: Initial framework for Device Tree NUMA support
Date: Fri, 19 Jun 2026 16:49:49 +0900
Message-ID: <20260619075011.377116-2-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY4P301CA0011.JPNP301.PROD.OUTLOOK.COM
 (2603:1096:405:26f::11) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TY4P286MB7477:EE_
X-MS-Office365-Filtering-Correlation-Id: 5deba6c4-399f-4cbd-7442-08decdd766a5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|23010399003|376014|1800799024|10070799003|56012099006|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	Gcxbe9lTwOwgBA0E5iXJzX0LyojYsihTk+yfDKKJIsO43doYTK+3+KltFOs6cWNURwVVZ0YcFx0gIYXVhHf+8AGuk9FzEzwqDrAx4eBI7L9/nm9wkOOisKlhfDHOGMtzW+aW3axhMUxbs9TXdxu2X9BRAdaN+erMEKCAQKKvi7o5EPFjc4k1unNuRAGBLEQ5seyWQMr179ALP4h9GfGDBXBgzw3NcUEt85D7lFc/NdZ/rv9Uc1my/0NWg+KuDisWcdbG3xSc2mGnQvKQPyCO/CguOh+uO4K1QBI/QiB+W0EEgrHePpWAqXyH8IRB8phKpL2c4Y5LQXg8fOJD4Vpdw+wNlEAiUhXykUA3coQVKk3Lb4HyK3zgVAHs+NXnXfoR1lRqCUIBQz03KhaHi/rW/S1zUdpfCwXyusMjqvBi3hQOFymOsv8Zic4Rvnuy1Y56Wgj7zjSXCqrgI01yPiDLszgGcm3kM8rU0dkN8TuVOFq54sKZ2lbB3SvNjkgTr3SJsAVJOYlrH3vwmMEAdRZIoNHzyZxPvLMTpmQpMaFfczdqHD++5+NkrLj8NkhHTzrueX2nsiMHVmz4ET+XXGEcPzJjJzeL8e+T4BhxHhR/XMq9qudLvvfDB3VqOJ7vVgdLHuLGueESMqjZzWjoRwTC4LumDqvKrVzZe+XQJblt6SQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(376014)(1800799024)(10070799003)(56012099006)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?oauMwS1NhPcc7fG9hPmo1AVW7zToMNLsjBXolO9wfGkvTu6r3QOqL9PKTsn2?=
 =?us-ascii?Q?PIQOBJRvE8EceIf1gtmblATJEZh3HIE1GxdWA7PhXGtHUQBqdPSj08IV+mtj?=
 =?us-ascii?Q?S2YNPb0uZe3pl6VyDwUIq29af8QD7jk/YkcxFpCqWH3Vb3n5ygiEjYmRDXFD?=
 =?us-ascii?Q?1R1tgEpDaXOpBb8ReHtQJjHzW62wGmxINw/6qhBfiE1QRurATgll9mwavq7j?=
 =?us-ascii?Q?bU5/ccpevFF54KW2iLn0giKoZEDZCJxUlH14fN42FWjMjLEyuL0dxjj0kejV?=
 =?us-ascii?Q?J4h6KjFvGTLqeEgW+Tyei4/N+urR1rg6UzkWNk15dK/tqSSvyhSb3EahD5Os?=
 =?us-ascii?Q?Hv1t64buD+QDqGMrchy7nySImkFiOsO4E7nGIqg/D9dA04z86su/Ppfkv7QC?=
 =?us-ascii?Q?VKrqpO2PApYoBzC/fVFqX2PH+V7Ki00saf75uaIZl8hos7yUGv+wBanyvBKP?=
 =?us-ascii?Q?CrF1yQ6khmYOmOLIPWfLLHyni3GAKCG4i0xe0PvICIDA4hBei+9hkZ46L12a?=
 =?us-ascii?Q?vlt2jRUBHm+iNwVyYDSmF7thDyK/JON2umTb6pyEU8PrEVwg5wejcig3RgrG?=
 =?us-ascii?Q?6SpXCDVZ+UprqQA5MmDsgiKgdOgu0y6JK1/lkp+fuzHGiBT7gu7gM0dXhyzy?=
 =?us-ascii?Q?XdjUYmqxC3Sq+AO61QIZYHxlIMBYjHQPeMJyxiTK28awJAsmnBDT0FzSo2ul?=
 =?us-ascii?Q?ebm26vq+oDlGTKheFH44g+87MfF3asNLI2zs7CYU9+32f0aaD0/XMShiBCdr?=
 =?us-ascii?Q?mk710dy8VK25DMG+uI8VBK0cOb+AaKFD8mOZ12HxfxW5ruEjB6qj7qLYQf0U?=
 =?us-ascii?Q?LYMl2hKtA00e7qYEgU9sn8enMzZ+zAMVNAnVsOU8e0h7220oTf9Mw11X06wI?=
 =?us-ascii?Q?mikhPmXUx9YiQf8a2AmdnWcVD/iqHrBiNP14jKkl+RxsMxZurACFwSYUSjZm?=
 =?us-ascii?Q?qVwEI9YMXKkXoVg5G3MNAUt0diI4yEtG25OgJkYNE8yREfPPvf/9hPTlNLa1?=
 =?us-ascii?Q?r66rOg5NhpLBgT8xjPeWLAX3ZuCGN39cEChaLAkpBHJMJVUI+cy3RZ2TmpFD?=
 =?us-ascii?Q?sGssP9vpZo2xcfv4i/WMdYA3Aq4PI7yoRApEOmjlF1gDwu3MXySEIxNzD9oo?=
 =?us-ascii?Q?YZCNOcDVaEiu5eAWf7929hzOCjVfDHk0oS7KLPS5p0WoughhdP286icNkhn9?=
 =?us-ascii?Q?2h84CPziaYINW/cAJLnIVPAfButtW42hzhTR6078noYrJstqErxa9CaJYJci?=
 =?us-ascii?Q?RYVb2fZ3ti37pp30wPykvTBit3ZWq4uLc5ISioB/Hc1CgQFPq4jgvYO9w4L6?=
 =?us-ascii?Q?+emqcqYTi0WXtE3Yr9eVcp5VzJ2Slg3vcxkidDpHMp+MijO3eWlEkoyA3G4b?=
 =?us-ascii?Q?ESLKP7FTkDaKZBl58xd9iBdicvM37Adwf8YX5KrdLWlbon0KQdOHb/uxtRZq?=
 =?us-ascii?Q?JY8WGDTj52faNyBFjALhsb0cc8g6GWv3B9sLkqXHlyhYr0oOx1P0i4X/6+EU?=
 =?us-ascii?Q?Dsu5IZ8aBCB6F5GySF9406ZUOTCztObGf9iSDSCKRuKpJQWJySWelb25SD5x?=
 =?us-ascii?Q?o4uaYeYsw51z+PxxDSEV7Q3OPfTAY1lz51AcqVXF5sfLZv08uBtMNijEe0s+?=
 =?us-ascii?Q?vn6/3dWD7zcoeZZr+c3lM6Un3ocFrxwJMf99JodK2EbGIzCznYRZQ5iG1OJ1?=
 =?us-ascii?Q?d0X93z+VvEK9EMLxETvF1dGZd8Np+onwmj5LqBwnSRiTG2WWTbrJyqj2VFgX?=
 =?us-ascii?Q?nwXHtPDHs+ERMd48/nZFZhy6Gt5g4iYzyyVzU1Hj16qz4TsPxGHX1DwAZdKm?=
X-MS-Exchange-AntiSpam-MessageData-1: VDTMCgBFo6213w==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 5deba6c4-399f-4cbd-7442-08decdd766a5
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:15.7763
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EFeMZ0cW3VjEjHPC6jV9QWRj0ScS8O5xmqlW1TcK+N+xOvWvaofiedcmntZR/vmgTbIGBPl1V4tWoU8cq4CJyw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY4P286MB7477
X-purgate-ID: tlsNG-42698a/1781855420-4C1CA00E-A956EE7A/0/0
X-purgate-type: clean
X-purgate-size: 2006

Introduce the initial framework for Device Tree-based NUMA support
on ARM Xen. This patch adds the required Device Tree-dependent
helper functions needed for NUMA configuration. Note that some
functions currently contain stub implementations.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/include/xen/bootinfo.h | 14 ++++++++++++++
 xen/include/xen/dt-numa.h  | 23 +++++++++++++++++++++++
 2 files changed, 37 insertions(+)
 create mode 100644 xen/include/xen/dt-numa.h

diff --git a/xen/include/xen/bootinfo.h b/xen/include/xen/bootinfo.h
index dbf492c2e3..ca675db5ce 100644
--- a/xen/include/xen/bootinfo.h
+++ b/xen/include/xen/bootinfo.h
@@ -6,6 +6,7 @@
 #include <xen/kernel.h>
 #include <xen/macros.h>
 #include <xen/xmalloc.h>
+#include <xen/errno.h>
 
 #define NR_MEM_BANKS 256
 #define NR_SHMEM_BANKS 32
@@ -214,4 +215,17 @@ void fw_unreserved_regions(paddr_t s, paddr_t e,
                            void (*cb)(paddr_t ps, paddr_t pe),
                            unsigned int first);
 
+static inline int bootinfo_get_ram_range(unsigned int idx, paddr_t *start, paddr_t *end)
+{
+    struct membanks *mem = bootinfo_get_mem();
+
+    if ( idx >= mem->nr_banks )
+        return -ENOENT;
+
+    *start = mem->bank[idx].start;
+    *end = *start + mem->bank[idx].size;
+
+    return 0;
+}
+
 #endif /* XEN_BOOTINFO_H */
diff --git a/xen/include/xen/dt-numa.h b/xen/include/xen/dt-numa.h
new file mode 100644
index 0000000000..c4a229bf9b
--- /dev/null
+++ b/xen/include/xen/dt-numa.h
@@ -0,0 +1,23 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef XEN_DT_NUMA_H
+#define XEN_DT_NUMA_H
+
+#include <xen/types.h>
+#include <xen/device_tree.h>
+
+static inline unsigned int numa_node_to_dt_nid(unsigned int n)
+{
+    return n;
+}
+
+#endif /* XEN_DT_NUMA_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:50:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:50:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341740.1602073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waTzn-0005vD-Gw; Fri, 19 Jun 2026 07:50:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341740.1602073; Fri, 19 Jun 2026 07:50:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waTzn-0005uO-B8; Fri, 19 Jun 2026 07:50:35 +0000
Received: by outflank-mailman (input) for mailman id 1341740;
 Fri, 19 Jun 2026 07:50:34 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waTzm-0005jB-7x
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waTzl-00Dxzh-Ko
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:33 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4c7-e002-0a2a0a5209dd-0a2a450bbb74-6
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:33 +0200
Received: from [40.107.74.114]
 (helo=OS0P286CU010.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4b9-5e53-0a2a450b0019-286b4a724d13-12
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:33 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TY4P286MB7477.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:356::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 07:50:31 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=usEBasDQXTZ8IGzAnrgooUaeNy2Wn4rRbd2cmo04UAlkfSiCInycxEvTRZFB6EEoh2CM3jRir+G/1SiqBPmrQB4lml9Cor1T8gQ9rFBHs7pXTUjUynM740Y/sODPnsbVv5mRrje9efJ82CNA2yQyosE/ob5g111MQavvFsIrcw4FpFrg+kY4P+OdBHwMKSjAAvwZeNY9lZxv0RfDuHHyUiVr+rhqxIw8YxW3D4mfcuh16BNCpq5OoWsUOMkX2g6HWaCM7xyfNHNEYVxSSCC2IT9jhYCLtDHY//8zaOkTBN+4LiS01ygbPp5VF8yNXbL7DoI7WQ3o0vz/QO7xWxv+wQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=P5jXGN5XTJvY8GDO94y/Kujx+vvvugQUUMTqzPztSCc=;
 b=Q0JeZycmGm5b0p4fobwddUaR/r/N+4yFjbYRLd5hRWbOn+1+EZc6qfJzGmU4nz7YKtW7z3o+TQohH08GeBWDi5vty9mOsi3TtAVaFgb6bEiEue+ZjQv5yAEzxTKh0h/X4iXgkSEt6DHW34WX9Mfm8ULV7lEJw5Sgw9jZzr84gW/VPksp+wAe+eSjyEF9caQ5mETzNQ3o0H/1W2aKctn0um1Cf31bN5DUezkf9FZkGvsjpYjh+zxz3oXiHbO77zE4OYajV/wAU4HRxsPVCpw7pQuPHoy315d4JKlGXskEq5tYXv70njxPTSSX43zbpPmzZ3U1vtiMEe8j6itzpufwxA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=P5jXGN5XTJvY8GDO94y/Kujx+vvvugQUUMTqzPztSCc=;
 b=KzqIyGg1nxx+2HYYNyk0VlnKg2Pb4vb9n04W0iKQKcJ38iZ+SQh9MRyH5zWTGyiHyc5Dna/bfu3/mS5dGjE/U3dHwr//FOa3txhGnoD8rOdWRfvhpimfVPL7O6dd4meuvZIRxscxRDj6fJQQ78iknmjjTqzZyV3aytukYGRuzyM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	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 10/22] xen/arm: Set Domain-0 node affinity from dom0_nodes option
Date: Fri, 19 Jun 2026 16:49:58 +0900
Message-ID: <20260619075011.377116-11-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TYCP286CA0149.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:400:31b::12) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TY4P286MB7477:EE_
X-MS-Office365-Filtering-Correlation-Id: e71534fd-44e5-40bb-fb59-08decdd77010
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|23010399003|376014|1800799024|10070799003|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	c3dcrBNcHKeXeOLiUlolLmxCCD1iEFSDFVWsJC7eNXlHf0+PSCiX/Kz7r6ybbPE4/58TAtvx8Jmg1Va8byWXpwRii0NtJZExsWcy6vuxeL9uegIQMeYgAp8OKTNFcXEtz7y5Grpzpm2K2I14oFnCBn+XLCjNUNapNGMP/Or7NsO/LgxU5gRpSYvsIPWpJlR3x5mGeDDQ3Q6S7J5MpoKDz6O67LpgxHXIlagu0MP5jKKo9Q2qDC/19VLxeJQpOBtAlsjhCcPNy5ByAITkechSNIzOfJ8hqUEzMXPqOVPrFu4MwHRoAfKjmHxmxEoSQBqM7O2PJ4tveAEUbPRIDo3Tm67qeeopr2SO6SDAvBzGZxcrKkIuvq7AZcet9xOcrJkkWXkGsYDmbyuki8sdK0c0DCoRZzRNsO1UCORusc8sXcYE+gc74QhJRWt3IrFTEkE0O9U1lesp/mZvHfdW2YFbS0aFcMURjP+riENo6VE+FRpg6GwFl70LBlJgCcKoxZw91ip/9j3qsvlL5N2ZnnjHJPVNYlH3d0J0nFDza0+2kIKp9j8VS3es+oBo88IxtdtigaAEUK4QxNlNILaiqGE/1XCMq46eDGS85re9neP1ZNgOxdv90x20zgYT3345SIXsKGw/MRkp/XV4+/GQZAqSN/Oc6yz8/19/pi5Inn91pz0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(376014)(1800799024)(10070799003)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?qfvTM70FNf3L+zz9SsVdZvodKV6FFafljSWNM5rBBL7FbpBR1u78k79oxESV?=
 =?us-ascii?Q?Hw9cjK0WlHDzAzxzcrBtpgHtak/Ots6ZhowGlzr/D2aHZgh1bG/kXgvoPTj9?=
 =?us-ascii?Q?5uTH+cT+MAFSSV9oenotu8NxnYhcN7X96t7o/+BlbNOJD1ITrIGtu5ywJllF?=
 =?us-ascii?Q?8sBubqMrdicRAgxqfWoLHc9wbepvahy0OFUJAQxSt4bZsOEj91YBmS20G1J7?=
 =?us-ascii?Q?TeEVzh00Iu6VjR8i7/e3mavLccVlYBiWqMdH4W425bmR9U0+ONCaOewhE7/w?=
 =?us-ascii?Q?BvHTDSoVS0NIM04mZI4rqoHRWMT75fojA2EvHNlBnhtwlDbk8uB5WxSW/u79?=
 =?us-ascii?Q?HOfJXklSQPMiCeRWJJGpJoJUB6BoJtG2UafILYyQyGpAhcqyHkF6B7hn8fho?=
 =?us-ascii?Q?s6h3hoMI1vXWwwYzpnHqMyPDxoJEkrzmOjjYjzS22tN1zJA5B+6Yy8ieNsa4?=
 =?us-ascii?Q?Oz5N/O9LB/I+iKHww0/A1EXvz0ZAPvGk2JBJwCNPVUhKh4uw/zOjqCxwOkJC?=
 =?us-ascii?Q?JY6LnetPg6v8mjjF9tCRwFhhbqfdRDka02Cj6yUXxhR2o3B7v72OhshWfOI0?=
 =?us-ascii?Q?idPWLG8uJs+U/DX8nk6trO+F7xs48v9XSFwDQOfDiRljikXcVHGderFrbmyS?=
 =?us-ascii?Q?E63MSu261d2qSS/SFawiMDwTr9M0839KNf8spd9Zy/v6xeWQpKCEtWxozgY2?=
 =?us-ascii?Q?nuRl4GQoaUQOQdiJ01xJxFrDFBOi0tssWfFRJWphf3ePg5kh8C+7yrx9/lTF?=
 =?us-ascii?Q?shBl0c95p7X7coO/OE8kzTcosnHHytfSsRIe+tXf163OpD0BRXC+naRbmeQH?=
 =?us-ascii?Q?ixkoy0kXYcc2WwQ9fkjwL2mv7sCFEwXjHPTTfwYG5+XDxDlc3sqPD6jLoA7a?=
 =?us-ascii?Q?KrrU2CS60gkXqEcfd51OPvmnsH/yqNIL9CAFIyt4jAmVX3P9vJRjCjw4KWlh?=
 =?us-ascii?Q?Iqti5hmxVD5lZU4s/8C4EmWxnkEeGSP3jAXV9VyU9pA81ew3Mv0HClO7JlmH?=
 =?us-ascii?Q?uhGVTvQqepdz/3hFMaLeRsoonHduxe9k5e27DZvtlmcZu9sv+FqjqnroFMpv?=
 =?us-ascii?Q?Le0xR+VrdtoSzbGsMHZw3d9BsauFzu2fec/LV5kao9V2+QlWhnRWX6J6AaK9?=
 =?us-ascii?Q?bM2ROmgsHiuBovdqVRGDW1DVg4h0XqGe9WF1oeQlNbqGepZ1x5JnZqgzdMmK?=
 =?us-ascii?Q?zukXbEk1SnAMaAjAFcjYsuaB6CAVcQ5Ag8PsR0cY8b6IfK6fbmLWlUaG0YF/?=
 =?us-ascii?Q?FjaolyvkwPyyvCnzwFo1qwd7vCrfeiGp34jxfiWQ1F/DOHcgMdxWwP+y+8Nt?=
 =?us-ascii?Q?hhnrBQki7jlHOPax11zP9sgvuyEi9BwqL8HsOpCqvjbRUX0ankegLgN9Wo62?=
 =?us-ascii?Q?dtR1/HCwm7xCYa50IEggVfDAuvl7KMlXNIsN3IOkl8UozZ4FI+3CcEOLku26?=
 =?us-ascii?Q?wAa/JTOPua3wgvYKe4ELSraM+bADFY5Cruj+IQM/uMokz3ljRL1stFFZebaj?=
 =?us-ascii?Q?JPBxRQBMuyYGOEx+UA5ke1ycx5o7MMtFFBBkRvi4fK+bUHQOsx+i+JS37n4F?=
 =?us-ascii?Q?IMFC7y8cAWA3QVEygYzWL1gcC6HFBQJbN0cGLdzI7AScOQLdtDNlqew6SJV5?=
 =?us-ascii?Q?PySLkPYZyzoFmUmgssvJnQimuu0RJfJ+Y8EC6jH0jShzmOgChvD243gcdMuN?=
 =?us-ascii?Q?0hVCQlFY1zKaMZ0lrM+q/J6c0tPIN9kXI/jdpUAYEyQKrRKMycUGPwLKB5lR?=
 =?us-ascii?Q?aYk0J9PfqOncG8jcZwqfFA6n1FzpbxR7SGd2xxhuXKZexikY/flzvJZKS7qv?=
X-MS-Exchange-AntiSpam-MessageData-1: 9dADd4zpMR6LHQ==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: e71534fd-44e5-40bb-fb59-08decdd77010
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:31.5704
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TktVRVKAyAdkPyHaNVewrZaoKiFmap8YGOoBnyrCy1GaNHkZPAzvBIc0ZgWWj3uYzEm7VDJtcfIvHOIhv9O1ig==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY4P286MB7477
X-purgate-ID: tlsNG-42698a/1781855433-445F400E-AB86C881/0/0
X-purgate-type: clean
X-purgate-size: 1182

Set Domain-0's node affinity to run on the NUMA nodes specified via the
'dom0_nodes' boot command line option. If the option is omitted, the
node affinity is configured to use all available NUMA nodes managed by
Xen. When Xen is built with CONFIG_NUMA disabled, the node affinity
falls back to using only NUMA node 0.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/arch/arm/domain_build.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 512ae8e630..1dcb5b3455 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2035,6 +2035,13 @@ void __init create_dom0(void)
     if ( llc_coloring_enabled && (rc = dom0_set_llc_colors(dom0)) )
         panic("Error initializing LLC coloring for %pd (rc = %d)\n", dom0, rc);
 
+    nodes_and(dom0_nodes, dom0_nodes, node_online_map);
+    if ( nodes_empty(dom0_nodes) )
+        dom0_nodes = node_online_map;
+
+    dom0->node_affinity = dom0_nodes;
+    dom0->auto_node_affinity = false;
+
     if ( vcpu_create(dom0, 0) == NULL )
         panic("Error creating %pdv0\n", dom0);
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:50:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:50:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341739.1602067 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waTzn-0005nt-0g; Fri, 19 Jun 2026 07:50:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341739.1602067; Fri, 19 Jun 2026 07: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 1waTzm-0005lv-QR; Fri, 19 Jun 2026 07:50:34 +0000
Received: by outflank-mailman (input) for mailman id 1341739;
 Fri, 19 Jun 2026 07:50:33 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waTzl-0005br-3r
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:33 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waTzk-00Dxzh-Gb
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:32 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4c7-e002-0a2a0a5209dd-0a2a450bbb74-2
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:32 +0200
Received: from [40.107.74.114]
 (helo=OS0P286CU010.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4b9-5e53-0a2a450b0019-286b4a724d13-11
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:32 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TY4P286MB7477.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:356::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 07:50:29 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jnG2P7oMscvaAbHNYvGlih1B7ab+ckqcR2UmhTxPD/OZXQgvf59ubhaZL2trWu1zR0F9hCvH2iWhCQoCRJ/VjXqAEQwiBa8s9Z2PlsKefs7LicHaVUd1AZf2UHWbx824/DrED4b9umkz/1WCaLNP02+Zuq7u7eZ7+d9xnHGnbytaQB+p6zQj4LgjyjnBwZfDLctV3/C9ZwyW743w9gagXN2No8LqBeRzVQ2hnuH8vTNz4b/xKk68DK5m50eXxyKlqSW9oMBtxEmIXBPoJHNGxcRLOSssxcO4eYTR7qmtaMmiqgf6KONh3RoLNd0kjnZw3KcXuVXe2WNJT6VAjOkxmw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m8QNG7rkL1EU6z/StVk8jS/8w6/V0pTdRzTVBAel1S0=;
 b=rfQMneIIRSN3aI91SvGF0CeSg0ABILGhNXuCtT+AQX6RB2cu2vvfgEF5RQo+ZCiYYyVIBd4/ETkvGxqudHJ8tOrD41r+fWMOzl/Pk/JOAa+tqG6ow+e8bXQhbUACe2OeMq3NV40uav5XF8qtvGvWJkygkJViz+4F/Nx7qDU/VPMoDPGhK+ecE/fnutu2iOfH6g7oNlhwa+lIDWAQsr3Xrn2TmAO4XG/63uE0KFWFqPVpAYUijneXNpYHeFD0z0C62pUgiwv0Lpf3+bq5q6k8G89r1MtVuHG/m/asoSFCd8N6XXwU99E5ae3/NiY3kkU8TvwtVhGb1dC32uggqEWpkw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=m8QNG7rkL1EU6z/StVk8jS/8w6/V0pTdRzTVBAel1S0=;
 b=nYO4baVkvqBl6oG+b8JxClV+C+BngiDpmSfTDsYQfv6ZoO3YKAokdudL1sbNEbKpR3hpSA87esdt0uHdaFjgGIGyIawgcsVmoQC7nsaGz6Sbvr0j11aijtUWF3gjyqHgCgnxY7D7YOTLxy9wZhXqglkwFSZSDYn/OJ6DtBm1i+8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	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 09/22] xen/arm: Introduce dom0_nodes boot command option
Date: Fri, 19 Jun 2026 16:49:57 +0900
Message-ID: <20260619075011.377116-10-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TYCP286CA0147.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:400:31b::10) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TY4P286MB7477:EE_
X-MS-Office365-Filtering-Correlation-Id: 883c4c4c-4c78-45e6-dd1c-08decdd76ef1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|23010399003|376014|1800799024|10070799003|56012099006|3023799007|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	gf38UOvwYUZKWRRak2NFWpoIp5By++qGFhzfjRSzQwUPWdiQx3LmDFJMxlJ590G2fSDuPfz3qLpGWD9H4bBK4OuhZowi5l91prj9IulQjMxYlTdIufS1CxRB6QDHFW2+TA/FBVNfaJMbezw5/Gsj5519IiFhuqnTpGCQILE8g2v4eD07l5pwA9MB8VVjWMnZ8OrABnTO3jHu+5Azjk3ZxM4dGucc/NsldIHdRnC2EEVM6+ByX/ja7ZEsYso51Mtlew4GGT/EsWybPdOEoaLeWE57G04KBSwDCkhACF6RbWmB9kIkatxfUkJbE8ddzw/K+V29xMBoZYJeFnv4W2Q3h9ZQXWakLFaIjqcvUl6IcCUXGlDXfIN/c1iVPsSDBhFIzH5z7OmJtlaiVJdCHXDC9uvDak5ZIUKXv/H2Bm04pn0WkARmWS5p6+3Z4XiR6su895vWd+yKMiBwdTEsLkBP9IOJCv52iMkIp6jdjJf2QAvN8ubhuTo3IWDBZHYXhWWuTKklthvUIXnXRmkWVk6O5jwPJE4zVYL0hV/QAoTZ1Pm5aCQt8spYCy4UgZr5vvUheFOS2qUXGBcWtebsXYlUuM+RKlKT+nQliF88kC4Zz0dFSJVbpIC5k5hCawdW42QDxnhn19au/HVd/5MWjUQvVsZhwGZoYZti7VM2L6UDVos=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(376014)(1800799024)(10070799003)(56012099006)(3023799007)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?wZLfeMpDFynzkrmDsutbAGTsEuHs30bEOA4rj0wMjd15qspvjO7zQ5ugjeJd?=
 =?us-ascii?Q?BXIi+cmsSJjwUnel8MCgX01DUMkkH99Wc9RsOU8Z4NUlXfV18Q9FJfVBnzBO?=
 =?us-ascii?Q?xXiDa8rCZKBKYC5sd0mNHu28mwplL/Mycc4eSOYZObHJfl6dhWFpR3gi4ueg?=
 =?us-ascii?Q?xGXi8Tgp38DWLLMpofAEF1mjYkUOeuo/uiB3+RoHQWmJ7pnxfy6c1aR6RtgC?=
 =?us-ascii?Q?TNgCUxTsE929EmwUXoXQWbBGPmVs+OiMHDPvJrKbkv64PHrrkisxEe0ID4q7?=
 =?us-ascii?Q?TTznz36wrAPJaO24C8ETHzEqdxa4Yym4bUovtv/4Brpz/RZ8dxWSBqh9SRWb?=
 =?us-ascii?Q?yU+hh1ndTlZDYaGIf9/OyBlh+6V1U0+D2kph0y7JmGRr7bA7R0Bh8YXEtc1c?=
 =?us-ascii?Q?hbuE/4sRYldA5Xtfon0XIeI/RHZiEI4jcjA6MjqgjVS+b2RkU7jT34MqFrCo?=
 =?us-ascii?Q?/tcaTvpsMvfAFsrg5fer/v4rlTzRJ0yFuTFMcGUraVRL+kQrAc2RlRidejwG?=
 =?us-ascii?Q?1WT9WYM9ig56odAOkb5LPmymskqEiroDMvCN8EtkX+rplN6HHhzjEjTN6sa8?=
 =?us-ascii?Q?t/YreiF8Ol5Q9oNNwT+pP3HWqZ0Yj3vv6oMMkS0ua39HC0BELb/La5JwKAHH?=
 =?us-ascii?Q?xN+0PmLB23XZHEHCKvv+OLrN8doixZtACMtsqNSF/3+v8adlAeqdTGRA5FRM?=
 =?us-ascii?Q?yKXYi/QkpfiGhv5VdDqaqMLI6Vt7PkNSEUmM8h5csILxCYxI+jIz0asEiIE7?=
 =?us-ascii?Q?LIktPLMC/s0b96SqMOcN9nWSZEd2lljAuEPwBjqUTRnHtKcJ1md2Wc8ps72f?=
 =?us-ascii?Q?ef0EtWL0L/FZCHXTuO+A8eAnQR+7EMCDmQxjMbfnj/jpFLZPByaGaUGOKDHs?=
 =?us-ascii?Q?I4HwCmOk11Vm9nFpJ1oJnV50cIhYvktNFzlHKK8doVUYCjVoDZUPzqUp6H+8?=
 =?us-ascii?Q?rdmTHZUBW1PpDuXW2Sf3ZxcKFt1GqSvRBSO8wlTF7MN9BqA8kyBMOoWtc/QG?=
 =?us-ascii?Q?icVWmAMeppfznEI9XiUuJIYHAEJF7jlSZ6d5+2uu3JY0WPhEJcwqzPZe8vdh?=
 =?us-ascii?Q?sSze3v7NAhC3fxo77Y03c3J087x0uJu/FAJAtEUFAZVp2xxViPbjOUX0ZYZB?=
 =?us-ascii?Q?wUELCRPvDKQpF/p70X7ZDqmEsJv04z7fbGIb4p8WBNKuyKQSOiUl3MLFYGnP?=
 =?us-ascii?Q?zOr8czk80GL0HyPP9jqNM+3TRchV8hDdbrPvYMDlhBtDDdQOJLScc8y4taL9?=
 =?us-ascii?Q?cD4Nc99xHeMWli74zSU702dvIrRF8W2CUXO+8srEZ2jHrdG1wu0ShmsiLwbx?=
 =?us-ascii?Q?j1fgspyxLlPgsfL+JC5j9YLxRXB0C+pTlVr5C2nonWQ0kDdvsEUu1ETos90J?=
 =?us-ascii?Q?K0oWlqGZj50sy1wfZShSkRXckiwMB2dQhOiXB5wTSXzd4qATLTrkA7uJa5Lz?=
 =?us-ascii?Q?lZlOypg8x07sEKqabwGxhotRX9lho7QHUoYnV8g29LyzexZdIcULI0w8p7l/?=
 =?us-ascii?Q?Te3aLKwU9UgoP7GBsOLpN5Jlr5dPSb82IGMamysYUJqCgGPNKCWmnhOr2pQ6?=
 =?us-ascii?Q?wi9zD95o77Q7m/9GHijS7FDj75htyqFhxZ/w8P0nBuTk6ZsUgp1FbqMMnLIi?=
 =?us-ascii?Q?87XtMLWPRekQyiinpCsqYWrapBccUV8ykqXdZEPDlWlqxcqiYp51d4SvhMTA?=
 =?us-ascii?Q?7DbSsHeujXL+cl2IjZ1zXWXH2XrwXXHT6PpdaH7ItCDAerKvC7z9TgKKWFGk?=
 =?us-ascii?Q?6uzhYplgPfKwyg78sLXXp66v/5C83SCzPm+cimLSHlR0KFtUSFkkTf7JntVI?=
X-MS-Exchange-AntiSpam-MessageData-1: zWEAvCqconN1Lw==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 883c4c4c-4c78-45e6-dd1c-08decdd76ef1
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:29.6933
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Q5O3Zdq/TjqkGx48VaSBDQ4Jaj8wDYK0BJe+enxue4dgt6m6n4HNujLT0kCP+E40UyrT93dyjS0qi/PWrLic8A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY4P286MB7477
X-purgate-ID: tlsNG-42698a/1781855432-4E5E400E-B067A749/0/0
X-purgate-type: clean
X-purgate-size: 2067

Allow ARM Xen to accept the 'dom0_nodes' command line option.
The syntax and format of the parameters are identical to the x86
implementation. The logic that actually functions based on this
argument will be provided in a follow-up patch.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/arch/arm/domain_build.c | 43 +++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 550617f152..512ae8e630 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -37,6 +37,7 @@
 #include <asm/cpufeature.h>
 #include <asm/domain_build.h>
 #include <xen/event.h>
+#include <xen/ctype.h>
 
 #include <xen/irq.h>
 #include <xen/grant_table.h>
@@ -66,6 +67,48 @@ static int __init parse_dom0_mem(const char *s)
 }
 custom_param("dom0_mem", parse_dom0_mem);
 
+static nodemask_t __initdata dom0_nodes;
+bool __initdata dom0_affinity_relaxed;
+
+#ifdef CONFIG_NUMA
+
+static int __init cf_check parse_dom0_nodes(const char *s)
+{
+    const char *ss;
+    int rc = 0;
+    unsigned int nid;
+
+    do {
+        ss = strchr(s, ',');
+        if ( !ss )
+            ss = strchr(s, '\0');
+
+        if ( isdigit(*s) )
+        {
+            const char *endp;
+
+            if ( (nid = simple_strtoul(s, &endp, 0), endp != ss) )
+                rc = -EINVAL;
+            else if ( nid >= MAX_NUMNODES )
+                rc = -E2BIG;
+            else
+                node_set(nid, dom0_nodes);
+        }
+        else if ( !cmdline_strcmp(s, "relaxed") )
+            dom0_affinity_relaxed = true;
+        else if ( !cmdline_strcmp(s, "strict") )
+            dom0_affinity_relaxed = false;
+        else
+            rc = -EINVAL;
+
+        s = ss + 1;
+    } while ( *ss );
+
+    return rc;
+}
+custom_param("dom0_nodes", parse_dom0_nodes);
+#endif /* CONFIG_NUMA */
+
 int __init parse_arch_dom0_param(const char *s, const char *e)
 {
     long long val;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:50:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:50:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341734.1602026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waTzh-0004mG-E6; Fri, 19 Jun 2026 07:50:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341734.1602026; Fri, 19 Jun 2026 07:50:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waTzh-0004m9-AG; Fri, 19 Jun 2026 07:50:29 +0000
Received: by outflank-mailman (input) for mailman id 1341734;
 Fri, 19 Jun 2026 07:50:27 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waTzf-0004Lh-LC
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waTzf-001qMv-25
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:27 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4b5-2eae-0a2a0a5409dd-0a2a450bb90e-40
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:26 +0200
Received: from [40.107.74.114]
 (helo=OS0P286CU010.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4b9-5e53-0a2a450b0019-286b4a724d13-6
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:26 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TY4P286MB7477.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:356::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 07:50:21 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=MMl72c6ps+r/cVCHAoXLcuPm+HSclKf31FELp8VfbkOSVn2WZaunYDHeEf/ugXrYf8GWv5HyAiehkshaix1JsUmzzZ2Gd2Lyc/R+kICav7/l+rCRVXYgbNLFGePlFX8yB7hVT5WyLG3J7VlU9KdLaTQQK0+533AfiLrdUCewYd6I/tYf13Fb3aVhdPbJY5IYNDn9Q3hiphlvf25JR/tX8K5y3M2VAbWflZji5R2SKQFMaq8574kU+Nqu31Cw3IGIbQeIr6nqG7E6NOrDivoQjtG4cSQoGjuZ9kkqGCcw1N/paqnZ8pKUhm1FSuYPXhZPhjmapFVds+DauoJlkLPbIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=w5eM+J/7ubhVIxsE8BzSDXPV5iMSGeqFPP4HDzWpfNc=;
 b=dLxwv708/wci1AG2ZfnMcFk7QWwhzIe3VeC4wxme3/Tsw9L292eBcXx0g3PSugR7Amu/kO6QJ8zlYZuOVu51SnbIUOpN89V6q7FgcScRGWAMVxHNm0foizAQAk7Z8eqnqy7ExpGnhwF4Z6YXqeWGFcwug7cSNUc+m3P+iAOYcpKG9LkFaDUypSNVZVcqIrQaqgGW663H/5R3LfJiP24XiqxZDSqmnhWY6jNDyo9HfSzfNkfrHp0qBxyvLlwrlw3NhEduoWOBOQghbB+IRFgz9j3ayx9n+8o43MEgx005mCSTmXZqKzmkMVUpODIgnI/aovV6+ESYRqdnSuH+snBuAw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=w5eM+J/7ubhVIxsE8BzSDXPV5iMSGeqFPP4HDzWpfNc=;
 b=JwKnloTY5PgglkuLM3MfLoCMbAjgJuANs4F6jUkZJe790giFsdZPkOhQbPpqTmvEam0UXxbzVq1JDoYQSOhnZCe0E2Wq23Fk2wd4Mk+9P2c3yPjLzS8omJZ/kRKuNjvo9ae7mu8GhlyVzaDvYJUHrmC+K5FdYfwOTy9EB2w9hKw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	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 v3 04/22] xen/arm: Introduce CONFIG_DEVICE_TREE_NUMA config option
Date: Fri, 19 Jun 2026 16:49:52 +0900
Message-ID: <20260619075011.377116-5-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY4P301CA0008.JPNP301.PROD.OUTLOOK.COM
 (2603:1096:405:26f::7) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TY4P286MB7477:EE_
X-MS-Office365-Filtering-Correlation-Id: 738610e7-29ec-4546-59b4-08decdd769b8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|7416014|23010399003|376014|1800799024|10070799003|56012099006|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	nGEy/KVecagurHdckKhrKmyUOcBwP8af48/iYIM/ACd8bdul+7133RrQj03aN7IMOFhxgw1tGO0UfSjWo0ZFU1SUPcJ6IYAtqmo/YOta9qnGlUSQ/m5gCGrJQXmVvmnd2RlPro+GTzWNtxubNUE2+3RG5rgn/RyS4TIuTTNWHiOnfbLs065qLm5idcRyoLL2NFdMkWEGeF5mQGTBI/1ufrLvD/HqgQJ9QkhakNlT8xHBtO7dEriWHyPDuaG2UCBtIwJ0WIK3356SXr1E4LWy8MsMG70RQzEHzMN6hiBhgEMA2PEKve3guNDntMXuxqoM95n9NWZ3RwaLgl/3uhmjcklKE6n0eLNsFd1lYc2qu6buopSUO1ifb42XvLhGEo6c4bBSqWpwF+09DSgxLZJDWFTG2X2FCFD+DoyUALUXgshqUjeqRrFtBMWBOxRU37bMWeqvq4mGWV1ReMt3//5QIf68DwE7lfHRsZ01e5p21VgGkmOs0jpuv7BGQH2zkrwlxXLJsAWzqUEs4KKL8vKVJFxB5qfMGidAwtPM4CPgyawDXgdRG6hwMGzLZaf72wIPArBxrNADCcwO8cLJdAOOYBmkFl0HErT6QR/rSsyVYUhuvxPEIobx8IiUS2avy88xpXGspdTZSjQWsf9Or4S/YO4bndcKF1SLDX9XVdbExOM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(23010399003)(376014)(1800799024)(10070799003)(56012099006)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?mGR3LdkEftpm3Gg6UZfsGOMQlilKp/eWwS9WPx4Lj0VBxI3wREeCxS1c412Z?=
 =?us-ascii?Q?xmlk8hTtD3zQTH+R+mkeRceqslg0go+yHQ3lhRE/k0Rc/0JsKOdSPnO6pYxg?=
 =?us-ascii?Q?RYDlLKjyM8BiYmowDT83eVAW3gIWWEj5tglfQmX5Q0dWttQFhsm0L1G6fcKn?=
 =?us-ascii?Q?SnRRnrvY12z/PXptCckzJWR+AEFCQvGUL1kG6De7XlyqfU8pxX6ZjgSkOBF3?=
 =?us-ascii?Q?AN+OTDKRudiHIIlfAdseea/UEXtFAG9OzcrXuDgSSARCpJXgmcA7Db+IB17K?=
 =?us-ascii?Q?bCn8S+7CFO9gGChFhHZSWVYO4ABH5Y+qaHvkAuIb1tyYKoMYEHHFZazF7b3h?=
 =?us-ascii?Q?bhgNGc9HjATjm/nDtcQNJmTOCRcYBqK975j863tVum6jv3nx31TDfx+vk/BQ?=
 =?us-ascii?Q?JdqhtFeBMJ5MzeBND7CrffAfQufv7KdAgnZLtBXvqx/3FbABbCd/IgiYSL38?=
 =?us-ascii?Q?/JEFoMmFWjO54uPhhiOOlnzBhrBEtncHA5KA09kQUa29fttE1YPiuHqWAEwW?=
 =?us-ascii?Q?yAMgZOFoMgJZXiaUWJMz6Wp2o5EmsErWVkYhwKokJf4DspSyfHNxuGeL4q7/?=
 =?us-ascii?Q?HLZ98IgVYUYvRaScMaZ3DFG8bbCTgLJI7e3OSsXEYbjS0uh8vutG21eQGkEd?=
 =?us-ascii?Q?gB1J5sAH01N6bZv9lT6Mnhr/l4JitateAUNnV4sxnKs0lX124QtF9H1KsOV/?=
 =?us-ascii?Q?ONPQOV6B0WQrYBdcJ/Ilk1Tl2yJ8lMJJwYKVRFI2/Fo/NvTT9++9dTSBlsau?=
 =?us-ascii?Q?tuzLKeQuofBCEpPU0Bw55tyyi8KPowGyeFaAecoDcAVDnH4tJqdnnRizRoXx?=
 =?us-ascii?Q?QRH5QcbBPirGL4/t/KJ1pAAzQvwCtEXmznIjPY/LD/NkuzfziWeJAyapiYSm?=
 =?us-ascii?Q?exHEpA8ALITqNPpmdRoUdHWPSbjVl6AgkiwzjxHEj2/Fx5VMrH58DQvVzITw?=
 =?us-ascii?Q?DjsJ6QvTaSkIrW7WniIYyYXiqBTd0tgp3ZFD7irxlv2OLmOXWFF71RWFqxT7?=
 =?us-ascii?Q?jsQcvjmANQYhQSWtCvLDRWF6dzzfa1bHx7NknjwvBptC/V03GUFEbDlk6tBU?=
 =?us-ascii?Q?4mWiOi2+qtjicbZf8B0S+PwL8PIVt3LyhnwvEpmeUFtxwmlQe8hJi75dzdGV?=
 =?us-ascii?Q?KJa9My+pxQwSPPJZvCPNYacrfjpCU22tVuuqVNm2zFJkLNXWxKZvRDD9piFc?=
 =?us-ascii?Q?Ht4GqxtN+wV7NwQNQStztJelZ6CuWjyFc5uEo11jhsS1KEbMABaNxA9Qdvua?=
 =?us-ascii?Q?K8fmZ5lkzgVWecGtl3JaY7CkAThrHkImF/iNZaT+o/MITb18jrYXigDv21Bg?=
 =?us-ascii?Q?mQqNi7OUI5tiU4G+rkSwbTll8E1aHmien9w7SQAHOFNiBJrDrSBUSOw3BSMj?=
 =?us-ascii?Q?CFw9tANkY2495qRkL6cjc7qchuxQY6kotNqB3wwePM0TVZ/3M+TwedwncQaq?=
 =?us-ascii?Q?FHPFigPxDa8b8D6go+t1NEDMBdgrSlTGTNtJczFSvjdLqoeyRX3KZk5V9akQ?=
 =?us-ascii?Q?zE5BsfTB9nIGY/etblGtFqJ+zNLh24atZA8QRqNEGgZaeUzmRhBrEhrwym2q?=
 =?us-ascii?Q?gpvcmC6CmHYm/ur3Tk+2PPOIC8A/L8QukBOWdxPozSeg4o2ayS+4Vg29+0Or?=
 =?us-ascii?Q?8PCl8qbBAm/q8Q+ujwXDomOY6i9/x969N19bVEx45sW4rooTq/bGo9cGlphw?=
 =?us-ascii?Q?dRosWbkImLPl832cnNB0UySvEh64+oKvASdfNQ88SScIwGmF9DlVjTJ+BrZV?=
 =?us-ascii?Q?Y0WlBH7dv6DMzJePRP6OOpY9S4CpX555S8IxO8FlmVVKerp3jTwCEn1GUZ33?=
X-MS-Exchange-AntiSpam-MessageData-1: d3tPqaxDIDQ53A==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 738610e7-29ec-4546-59b4-08decdd769b8
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:20.9269
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FEjo9cL38WPuog/p6MeoZpOctEdDTikALiscNUNAAj8g3YSjh2RZz/DM2g0GrDAnim8FquC19BgjKGoHWNYJ5Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY4P286MB7477
X-purgate-ID: tlsNG-42698a/1781855426-473E300E-C92B494F/0/0
X-purgate-type: clean
X-purgate-size: 2840

Introduce the CONFIG_DEVICE_TREE_NUMA configuration option for
Device Tree-based NUMA support. Selecting CONFIG_ARM_NUMA enables
CONFIG_DEVICE_TREE_NUMA, which in turn automatically selects CONFIG_NUMA.
While this option is currently restricted to the ARM architecture, it
is designed to be selectable for RISC-V and PPC in the future.

This patch also includes the necessary compilation fixes required when
building with CONFIG_NUMA, and creates a single fake NUMA node to ensure
Xen can boot successfully at this stage.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/arch/arm/Kconfig   | 8 ++++++++
 xen/arch/arm/setup.c   | 4 ++++
 xen/arch/arm/smpboot.c | 2 ++
 xen/common/Kconfig     | 8 ++++++++
 4 files changed, 22 insertions(+)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 5fa89fcb24..c0c03cbd47 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -99,6 +99,14 @@ config MPU
 	  systems supporting EL2. (UNSUPPORTED)
 endchoice
 
+config ARM_NUMA
+	bool "Device tree based NUMA support (UNSUPPORTED)" if UNSUPPORTED
+	select DEVICE_TREE_NUMA
+	help
+	  Device tree based NUMA support. The "numa-node-id" property in
+	  the CPU and memory nodes of a Device Tree defines the NUMA node
+	  to which they belong.
+
 source "arch/Kconfig"
 
 config ACPI
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 6310a47d68..c0202d9ff6 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -351,6 +351,10 @@ void asmlinkage __init noreturn start_xen(unsigned long fdt_paddr)
     /* Parse the ACPI tables for possible boot-time configuration */
     acpi_boot_table_init();
 
+#ifdef CONFIG_NUMA
+    numa_initmem_init(0x0UL, 0x1UL << (PADDR_BITS - 12));
+#endif /* CONFIG_NUMA */
+
     end_boot_allocator();
 
     /*
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index 7f3cfa812e..d1651fe7dd 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -47,8 +47,10 @@ integer_param("maxcpus", max_cpus);
 /* CPU logical map: map xen cpuid to an MPIDR */
 register_t __cpu_logical_map[NR_CPUS] = { [0 ... NR_CPUS-1] = MPIDR_INVALID };
 
+#ifndef CONFIG_NUMA
 /* Fake one node for now. See also xen/numa.h */
 nodemask_t __read_mostly node_online_map = { { [0] = 1UL } };
+#endif /* CONFIG_NUMA */
 
 /* Xen stack for bringing up the first CPU. */
 static unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 5ff71480ee..bfb3a3c007 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -188,6 +188,14 @@ config VM_EVENT
 config NEEDS_LIBELF
 	bool
 
+config NUMA_DISTANCE_MAP
+	bool
+
+config DEVICE_TREE_NUMA
+	bool
+	select NUMA
+	select NUMA_DISTANCE_MAP
+
 config NUMA
 	bool
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:50:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:50:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341737.1602053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waTzk-0005Sc-8i; Fri, 19 Jun 2026 07:50:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341737.1602053; Fri, 19 Jun 2026 07:50: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 1waTzk-0005SR-3h; Fri, 19 Jun 2026 07:50:32 +0000
Received: by outflank-mailman (input) for mailman id 1341737;
 Fri, 19 Jun 2026 07:50:31 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waTzi-0005Bi-Sz
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waTzi-001qRQ-9g
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:30 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4b5-2eae-0a2a0a5409dd-0a2a450bb90e-48
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:30 +0200
Received: from [40.107.74.114]
 (helo=OS0P286CU010.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4b9-5e53-0a2a450b0019-286b4a724d13-9
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:30 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TY4P286MB7477.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:356::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 07:50:26 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=H7qNTgP1KevvChwSYbz1tA8C5G76ZnqB85+tfWai3TutK+u/BkmWLHjwRbuf9IUJtI70vNMq2QU9TJTtewcYSWRG4IpXNigekxiB/g4k8ravQAhL8NoS3ZapNrjP1wDqHBZjp4a05t5XjvQR6oaSSlWU99kmq6499ZZZCpkU3jlEgm9/NQk7IHRL7vCPPvsXHs95Kf28UuycN31Zm7D7+iuRW8iY3iE9c+DM1sfWjl3VMcCpuPSD6pzF7qSsj27C1xxWDusYihIrxTRntS5DuSXJUF/2rwRu+DEqXg04NCUUayMuZR3aW9HE2LnH87PTW3MpswDz8LL+RI+zfVtX0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rCZMtyLGMNYzHusbpyFyHoil1cfalWfsKDDSBtV0qlk=;
 b=wS2b3bW43j5lnVTFpyl/tJQW61lm7HtwfLG2CcrRKPMg7OApOXW+9Ua+rrgSfyffGzw7zRsS4mmThrScJ7y2ntlRbeTp9oUH2nF7+2umNfzqsPpcnue9rI5D16gFWqIa5o1nLuQXSN4phtYECzvwKePk1t3WSs2lAzpdXfQn24fEqW4i3Gjlp4iyCe+fET6NKfey3hF1lIqwMdk1ESy6PmoyIjw+59jKSdNy6szwLgVFCzjUP15Sx8KbTKPomAwbT8xUiEdN2poT6ln6yEpc54za4EzU62nlOiECwlFqUVDdNjMoTaYkphB0+Bca5VYlkpTf7S2st6YEBKkrCpehMw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rCZMtyLGMNYzHusbpyFyHoil1cfalWfsKDDSBtV0qlk=;
 b=sTOrfKgI7LhXqRGxbj5wdis4tt2xMf6TRbQb4SIDrCRYJYCgHuWgUNL4X94AkOtT0vcDwGg5P/LNdlk5ZjLqOshSvuMdnfSqjW6E0vp2TCSF+IAtrNO1N/awVc6Hvf73LjXMRcynAp4Zy38BBBAPxiDH9VJLFfZSoBPx7syIAIo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	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 v3 07/22] xen/device-tree: Read NUMA node distance from Device Tree 'distance-map'
Date: Fri, 19 Jun 2026 16:49:55 +0900
Message-ID: <20260619075011.377116-8-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY4PR01CA0122.jpnprd01.prod.outlook.com
 (2603:1096:405:379::13) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TY4P286MB7477:EE_
X-MS-Office365-Filtering-Correlation-Id: aac5b873-89dc-40dd-583e-08decdd76cd0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|7416014|23010399003|376014|1800799024|10070799003|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	UMXCJfxWH7mjR6PmjaCoKNxILY8yoFvU9ENayEGrKOKcAAlsxTSaiQ4T/pWtaC6/va3DB32IrBYytW3YiKy2b3aijyY0f8PTpM7L7NeN+9N63EEIsBXfbOE0YPF2efwE0oFARztJditu9CgBM36kO2LWaL4/zrqwyoh7rdCk/EhLTJduuB3RPwgpSzz5tn6eUJmmboM/TWw00vfuUzhZGyoU1u4tzl6IEAWvIN2RYpswwud29cEDdypTi2l3+Ljb46d6wIkJb3fzHb5Oo1CIZaL/phFLEkucvXXUIdB4pSBtwGD5pFdRY2YZXVTU0hNt7X+AuruB1RBLF/j+KxhHQgF3y1Ccj4toUji9Om5Gy2GJlnVQ3Sb9brrqFZV2t2J94t2f9uPv+isGPkAknjhd1HoiGSxNNFwU6b71amgJKatPW6ET9xiwloHB0sUIdt06JbOAYHyWQRzonoab01ygsV7pSUrZUZprvhK8DJ/mXtCDt9WudJB/GAY8mQmPx+QpzOiuCELIHKVaSAu2ExkjvqOoOhdo+SUWKaVnopsquDNd5+uf22msbWtFBNbHByD5z+EAP072bENnrHW4Yk+RN8Iw18xPs64anjeRzQ8PcKpURcUMsg3iuYitNQlrExrbSsu2I0pruZONYRJXvlyf6SZH/6/Pe0jYRIYQxMjNQw8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(23010399003)(376014)(1800799024)(10070799003)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?MLkvSUDB4m5Rm7qrMiZahf/Vw4ZSz2jsAIm1w5/p4orj8BHIOwXT5yBxUDPO?=
 =?us-ascii?Q?MmLYqy8ZiTJztSMd0Lj3mJQSynTV2swcM51NkLwlDwv1TzpwuhKHRmqC4OxW?=
 =?us-ascii?Q?06M4Ydqs3iMzJZYhJY8Y2U1k/zGKO/ljV7PMtzxi4A2+45wL2C27StZrr1AO?=
 =?us-ascii?Q?TTZf1QJ8yaPwy72a4T2S7/yCabhfbd5UGqqLHA8rhsftjAAyxD0GDgnxt2cn?=
 =?us-ascii?Q?NC8AAYhq0FzYXrYlWUMXgi2vyqHf18+YtT89vUGZZ1E+FPNfVOnFPKTrjvQA?=
 =?us-ascii?Q?MdAB+VCGWfadCyA4K0GZG4Ssz5LQqPjiok9O4hZRBRJ7flHMbinScMMpsAJY?=
 =?us-ascii?Q?X7y0PU4xJfbKVtvUlJfLtl6t8XvrooG96KzFaBuh0rj8hjZqXjl4fatYuXE4?=
 =?us-ascii?Q?6mwZjnq2QfzEb37a0e8EQzVrmkflDH//QIxW/ckEts97YL/VR6btCRnguOxn?=
 =?us-ascii?Q?N2WK1715rBvxenRO8oQF2wGX9K81tWL+8wyPZvz3BHPM3P2V1N4HZM08nm2G?=
 =?us-ascii?Q?O+dL/X96JDwhvqwifWFv07RDZI2ipeBB5iJQpu//rYlgCEsRiUK0nbR0EKFe?=
 =?us-ascii?Q?7rbm7KQ4uHm3ma4CXEW2Ss5y5OjLPfQ6EfBjDYqHW9G37f5fAn7OGRj+Goph?=
 =?us-ascii?Q?ErsyZzwdjjROEp9zfPkD0Qc69xlqmrdovEPulFyXikoNxpmi/sc1zMQ78OI+?=
 =?us-ascii?Q?nh29GS+tU5eBTxrqtznibnRvm4M1MiTG6KOg7vcj6Atl+i4LBU+b1yLaktAS?=
 =?us-ascii?Q?jB8zHJjQvkbKqdCfxnRPWHC8EmX2d0MKkc4uwEzYbeEcgSv4f01Xh7CYaXf6?=
 =?us-ascii?Q?cBPIQvJiEUkHw7fbzxUbpqOsoAfyT9aHyyWQMQ27o/oXKB4I+3/iNQcvrCPl?=
 =?us-ascii?Q?bK2gODX5Aq1Of9964ufgY+QAISCTE7PFQo19WFVyWf5yFRdyFkTNzGXM/cA+?=
 =?us-ascii?Q?wHsX+tKynP5pJESc6+JXKmjU2/rFusTaCGAQOnHNuJMFHDlxMt22UtnVLDIG?=
 =?us-ascii?Q?ag5ZCT1Wyjs3lC6bom6W1ClSl9oUGwu+PUFklI+W5u1DqNOvLxHymmYDI1UT?=
 =?us-ascii?Q?eTl3UdAkfHYCCCP/OJTJIKB7vn44j/dhDd6Zj1h9cQ9OhFy63Wa/O0sepoEb?=
 =?us-ascii?Q?3Ffq1WrQ/jyNYn1fTB4D+S0Jxy/0w31QlaW+3wbA2g7pYkOqFUudwMwGPCxg?=
 =?us-ascii?Q?8BC4idAFUPV+AeqAOPdjS6iBUxS5guhJTsC5G2R1X7ces2HYZ0ZMqnjJ65NJ?=
 =?us-ascii?Q?xlNC2rNlxFXHBiE0WMLgklR/62d3Afy2RSI2xXrZ3BG/Vn6oZgAdYIJg+7hE?=
 =?us-ascii?Q?kGn54bNv+9grNKDBXhljG1ce0vE8LrEtSr+qzuBNDGcK5Ep4p8qRgvGeKulf?=
 =?us-ascii?Q?Lcf4rqt86quuMfrpV3hC0CNlvg2NFJC+n1/G3j4/G3iJVOy0e7GPTfLFvCW2?=
 =?us-ascii?Q?PN+rGM+PwykW+AGFUiY8+v4dKJAMB7crpCq/PVAmIXsnb6eC4r6mRBYA1WbZ?=
 =?us-ascii?Q?Y6xnPGrxECS4jX5EOC2o25up8DBinRJ9Iuk126oLr0IMl82m+AgLP4eQEAk7?=
 =?us-ascii?Q?nEqub/xZcqTPvYxYnpU5t1BXPCevsWemk/4FK490uQcV5O34AzmuxMn+nAUT?=
 =?us-ascii?Q?tFpKbQMaomK9o7nNBT64qE0huLEgNvoAAznmCG7Qyv7ILLLwywRlovJ5y/zm?=
 =?us-ascii?Q?p44pNyMZoAJ0dVAtCAZS8AShnGOs/em9dDD30cl+D0YIy5D2FkdAKQWa4ZI8?=
 =?us-ascii?Q?ARnKE4pVbbpQ7SVhJ6QDBU9wsZg/CJyMX4g2WcJ2u1SKhK7/DI+3krvkue1Y?=
X-MS-Exchange-AntiSpam-MessageData-1: vhg9kIwhLpx5jQ==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: aac5b873-89dc-40dd-583e-08decdd76cd0
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:26.1563
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BVr7mJbiKwsCooYuGylmBud7iUQ3+GRs+0CKAtuMPHStffvA5Hles2XW6nWZ+oFZa3IzhashLuoxisK9SjLUPw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY4P286MB7477
X-purgate-ID: tlsNG-42698a/1781855430-47FE900E-C675C39E/0/0
X-purgate-type: clean
X-purgate-size: 6592

Read the distance between NUMA nodes from the Device Tree's
'distance-map' node.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/arch/arm/setup.c           |  4 ++
 xen/common/device-tree/numa.c  | 76 ++++++++++++++++++++++++++++++++++
 xen/common/numa-distance-map.c | 49 ++++++++++++++++++++--
 xen/include/xen/dt-numa.h      |  1 +
 xen/include/xen/numa.h         |  5 +++
 5 files changed, 132 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index cdabf536b0..cf12c406fc 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -375,6 +375,10 @@ void asmlinkage __init noreturn start_xen(unsigned long fdt_paddr)
         device_tree_flattened = NULL;
     }
 
+#ifdef CONFIG_NUMA
+    numa_distance_table_init();
+#endif /* CONFIG_NUMA */
+
     init_IRQ();
 
     platform_init();
diff --git a/xen/common/device-tree/numa.c b/xen/common/device-tree/numa.c
index ff5a7dee9a..3dd608b599 100644
--- a/xen/common/device-tree/numa.c
+++ b/xen/common/device-tree/numa.c
@@ -1,4 +1,80 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Derived from Linux kernel 7.0's $drivers/of/of_numa.c
+ * Parse 'distance-map'
+ */
+
+#include <xen/bootinfo.h>
+#include <xen/device_tree.h>
+#include <xen/libfdt/libfdt.h>
+#include <xen/bootfdt.h>
+#include <xen/errno.h>
+#include <xen/init.h>
+#include <xen/nodemask.h>
+#include <xen/numa.h>
+
+#define LOCAL_DISTANCE      10
+#define REMOTE_DISTANCE     20
+
+/*
+ * Parse the '/distance-map' node from the flattened device tree
+ * and extract the 3-tuple triplets <from, to, distance>.
+ */
+static void __init dt_numa_parse_distance_map(void)
+{
+    const void *fdt = device_tree_flattened;
+    const struct fdt_property *prop;
+    const __be32 *matrix;
+    int entry_count;
+    int node;
+    int len;
+    int i;
+
+    node = fdt_path_offset(fdt, "/distance-map");
+    if ( node < 0 )
+        return;
+
+    if ( fdt_node_check_compatible(fdt, node, "numa-distance-map-v1") )
+        return;
+
+    prop = fdt_get_property(fdt, node, "distance-matrix", &len);
+    if ( !prop )
+        return;
+
+    matrix = (const __be32*)prop->data;
+    entry_count = len / sizeof(__be32);
+
+    if ( (entry_count <= 0) || (entry_count % 3) )
+        return;
+
+    for ( i = 0; i + 2 < entry_count; i += 3 )
+    {
+        uint32_t nodea, nodeb, distance;
+
+        nodea = dt_next_cell(1, &matrix);
+        nodeb = dt_next_cell(1, &matrix);
+        distance = dt_next_cell(1, &matrix);
+
+        if ( (nodea == nodeb && distance != LOCAL_DISTANCE) ||
+             (nodea != nodeb && distance <= LOCAL_DISTANCE) )
+        {
+            printk(XENLOG_WARNING "Invalid distance[node%d -> node%d] = %d\n",
+                   nodea, nodeb, distance);
+            continue;
+        }
+
+        numa_set_distance(nodea, nodeb, distance);
+
+        /* Set default distance of node B->A same as A->B */
+        if ( nodeb > nodea )
+            numa_set_distance(nodeb, nodea, distance);
+    }
+}
+
+void __init dt_numa_distance_table_init(void)
+{
+    dt_numa_parse_distance_map();
+}
 
 /*
  * Initialize memory affinity by registering bootinfo memory banks into Xen's
diff --git a/xen/common/numa-distance-map.c b/xen/common/numa-distance-map.c
index 73344f7f33..6e68912646 100644
--- a/xen/common/numa-distance-map.c
+++ b/xen/common/numa-distance-map.c
@@ -1,19 +1,62 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Derived from Linux kernel 7.0's $mm/numa_memblks.c
+ */
 
 #include <xen/errno.h>
 #include <xen/init.h>
 #include <xen/nodemask.h>
 #include <xen/numa.h>
+#include <xen/acpi.h>
+
 
 #define LOCAL_DISTANCE      10
 #define REMOTE_DISTANCE     20
 
+uint8_t * __ro_after_init numa_distance;
+
 /*
  * Get the distance between node 'from' and node 'to'.
  */
 uint8_t numa_node_distance(unsigned int from, unsigned int to)
 {
-    if ( from != to )
-        return REMOTE_DISTANCE;
-    return LOCAL_DISTANCE;
+    const unsigned int nr_nodes = last_node(node_online_map) + 1U;
+
+    if ( from >= nr_nodes || to >= nr_nodes )
+        return from == to ? LOCAL_DISTANCE : REMOTE_DISTANCE;
+
+    return numa_distance[from * nr_nodes + to];
+}
+
+void __init numa_set_distance(unsigned int from, unsigned int to,
+                                     unsigned int distance)
+{
+    const unsigned int nr_nodes = last_node(node_online_map) + 1U;
+
+    if ( (uint8_t)distance != distance || from >= nr_nodes || to >= nr_nodes )
+        printk(XENLOG_WARNING "Invalid distance[node%d -> node%d] = %d\n",
+               from, to, distance);
+    else
+        numa_distance[from * nr_nodes + to] = distance;
+}
+
+void __init numa_distance_table_init(void)
+{
+    const unsigned int nr_nodes = last_node(node_online_map) + 1U;
+    unsigned int i, j;
+
+    numa_distance = xzalloc_array(uint8_t, nr_nodes * nr_nodes);
+    if ( !numa_distance )
+        panic("Failed to allocate memory for numa distance-map array\n");
+
+    /* fill with the default distances */
+    for ( i = 0U; i < nr_nodes; i++ )
+        for ( j = 0U; j < nr_nodes; j++ )
+            numa_distance[i * nr_nodes + j] = i == j ?
+                LOCAL_DISTANCE : REMOTE_DISTANCE;
+
+    if ( acpi_disabled )
+        dt_numa_distance_table_init();
+    else
+        ; /* Initialize the distance-map array with ACPI SLIT */
 }
diff --git a/xen/include/xen/dt-numa.h b/xen/include/xen/dt-numa.h
index 943bc0e453..352853dd81 100644
--- a/xen/include/xen/dt-numa.h
+++ b/xen/include/xen/dt-numa.h
@@ -14,6 +14,7 @@ static inline unsigned int numa_node_to_dt_nid(unsigned int n)
 #ifdef CONFIG_DEVICE_TREE_NUMA
 
 void dt_numa_memory_affinity_init(void);
+void dt_numa_distance_table_init(void);
 
 #endif /* CONFIG_DEVICE_TREE_NUMA */
 
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index 18c22d3d30..e7201539d1 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -129,6 +129,11 @@ extern bool numa_update_node_memblks(nodeid_t node, unsigned int arch_nid,
 extern void numa_set_processor_nodes_parsed(nodeid_t node);
 
 extern uint8_t numa_node_distance(unsigned int from, unsigned int to);
+extern void numa_set_distance(unsigned int from, unsigned int to,
+                              unsigned int distance);
+extern void numa_distance_table_init(void);
+
+extern uint8_t *numa_distance;
 
 #else
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:50:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:50:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341733.1602014 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waTzg-0004Or-2E; Fri, 19 Jun 2026 07:50:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341733.1602014; Fri, 19 Jun 2026 07: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 1waTzf-0004O7-Pf; Fri, 19 Jun 2026 07:50:27 +0000
Received: by outflank-mailman (input) for mailman id 1341733;
 Fri, 19 Jun 2026 07:50:27 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waTze-00046t-RG
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:26 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waTze-001qMv-7n
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:26 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4ab-2eae-0a2a0a5409dd-0a2a4504a682-32
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:20 +0200
Received: from [40.107.74.93]
 (helo=OS0P286CU010.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4b9-5f9f-0a2a45040019-286b4a5d4991-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:19 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYTP286MB4024.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:185::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.12; Fri, 19 Jun
 2026 07:50:14 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Hy2C9xnszRL+Qa89EGIFb2k7vsQLTEz/SXhacF/6GEAoMPHL8GxeTPUDl21lYgP7d68vy4Ivcg9cCsLm+kRK96X7DWmaIHOvawTfBpR5WswfPBuegxX16rpXqFaH4pqriFT08mNfRNNoMLnNh4Dn35zAYTEhaHiQ1EYM2Wv7RbIf/ieYjQlQYYJKXpkmLWMzkittt0lLwSV9pEr+WWYk8QW17eMo4kcYqko3b0LgQ2djS8rg4VVboGzbbC17nTkU8WnoEC4t+ldgsVIHWEUYqtFELNpLS2FytUlkErKxJ4w1Bw1dQwW1iReYOoJTFLQxHRFNwNo37lhexMjEAX7lrg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=A5DRyVcGqc4trjAUUFIspT0qRbRZA+1C1Qy6wanYWX0=;
 b=esF6qEghcxqV8KTxizuC6j4nqFCh0XSdkmaH1RAE3xD9mCk8Tg7td3OOx90Zf+PUNApKX/oe2Eg+uygzqp1TIhuxk+Fn1z2R6vsvxj5f9z7S00mJuRuwPDhte50b3M0tscqcKCwKkRs8mxnpPANTmD4Aqqj0+TTZjVAyBrRSbCj3Rkit5AznzMDeGsD1dEug0+xKGyVq7oTPlXYPahP1PLc/kyUHXuHTEherEk3ZX41VYj27u3dh48XJZWqfRt48OEBoW0aCWo612RvnKaHOOT9q/+gbDsfzsolVtFGE5ACAA6/rTx0xssfZ361yXfvjKQkW00Cd4V7DuRWZSwB2Lw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=A5DRyVcGqc4trjAUUFIspT0qRbRZA+1C1Qy6wanYWX0=;
 b=HuCw0CD/MWb9KZC1V+FKhFKsG16fS6CGj9JtOm81WXKTJY4/zM2Fh3fXWvMLu7+vY3ukAY+/pTdiXNgaOUwgh+L/YZYBNbRLHE7Px33mqL+V+GUBmxe5LCn+uf/Q9WHuNrbQ3y/7HcrjnzPsTZ+Eb4xr23JC7sEgCsjJuFGIcd0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v3 00/22] Introduce Device Tree based NUMA support for ARM Xen
Date: Fri, 19 Jun 2026 16:49:48 +0900
Message-ID: <20260619075011.377116-1-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY4P301CA0005.JPNP301.PROD.OUTLOOK.COM
 (2603:1096:405:26f::9) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TYTP286MB4024:EE_
X-MS-Office365-Filtering-Correlation-Id: df1aedbc-a2ea-40ed-776c-08decdd76563
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|10070799003|366016|23010399003|1800799024|18002099003|5023799004|6133799003|56012099006;
X-Microsoft-Antispam-Message-Info:
	Bu52PLS++K7A3Rbb5HY54ncQjGbM62LDFF2sAmIS0tc3nmH8zhUzRcumPLo98oNCK8zg0YEv3i8olREiOCyYwt5a9Gtcbl/HnanXNFE5Iic5Zn5UcZr8v8euPgWO72jab35gPyV8Caf86m5zQsauSfNiXWfs/RXLdZr4LiFq4e5XAK3XN9iLYNHLG9MJ7e0PUKmKFTDIXzn4QtRDq7AQTT8L9m10znzL/bjKi+6J2t3nbNN4FbSXz009mWwR5cIhYZkkRfh/jZkdBHpHH5weeaE3kK6LTVrToPqF4KEqlF7hfovIiosNvRI4PvvhSlNa/vClHp0ysKOHmNF2scGH/CxnjztvAO01xHaDMZnyPS2hhdY3EAQ3JH+JssPRIJoaCXVPzcJge1x/OZ0YD9dnon6QIivbDwkdQjwc63PJl7aMEY7bJx2yqxRhS6A9zIwTe1qwHEYuQ6HRmacOQT3DSH4H+QYtiK2HAbV5mffWXyDO/qps8HhRUO/n63MxqH6uD6U3OH6rj4cG3tptm/a92PZAtrGfJvqDst52RJgFiPhPpNlIEcwGpWEiOCEi9UXo8FiZB9zAbWSPEKw4dIA9GEQEImjkzbeENXIMJ5IGOGQhPROoR1RfaSMKF1nkkkL8iouwjjUOeN35aEWOLYUvdV6eL1iLG5vVDOOL0QLWWRw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(366016)(23010399003)(1800799024)(18002099003)(5023799004)(6133799003)(56012099006);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?Aei1SFZ3NGFsOcaiOxI4Vw4N/NDhWcNtynKgnq+3KLRJNE3rfFg0rfUTUtOV?=
 =?us-ascii?Q?uOj1wb/yLt19B3hTpuHki+O7z1gBifGzS7oLWjE5smRhMIvT2Saxro3qp5Fm?=
 =?us-ascii?Q?IZbWmpduVhwHkCuo9ebQMGrVeDTzXTZV7aoY/YyrgJ1Keo+X//P72lgmqL4z?=
 =?us-ascii?Q?9E59c3cefrOcFPGhuNlL+Ehx5jATkDTW28nfoMcVRbC5rfbWwRFm+AbSIBMO?=
 =?us-ascii?Q?GAmdWCtZAYczpcD6vgx/VK25d2SNbrTykm09V8Fqc+XGvs/hG+lUlzka/Nge?=
 =?us-ascii?Q?RZaIoJrD0DB5BrMv6OKSO98THbbqw9MGdaFQ50srEyIyBUizdqzvl4uBBQEm?=
 =?us-ascii?Q?KL1IlqyLnVt+OfA+QiA4+O5OQ7b0CJfCaGz80w6qg/QLCMYmTrcD55EllF5T?=
 =?us-ascii?Q?VS0fA88wSKmAr1TYDOqktCwzfVZqJna/c4OrLfUsYGrhuVVy4e70661UrCkN?=
 =?us-ascii?Q?W+fA2a1TTQl9/EpqRyXUEl4go1AQAq/V+gczEIY1bH1DKno55Co5U7v/9XIg?=
 =?us-ascii?Q?J0K6fIZ/3zpg767qyQal7nb/38GJTq/eKMBm9inRNETT8RgwjeYFXMwk+kI5?=
 =?us-ascii?Q?fIJYoWqL1iuRJeVf3Lip4n7mjvd5HUNJyRRrfYDY1+a9Xpy+cCREadkPTgGp?=
 =?us-ascii?Q?dukHBbjh/176eudHa0uSvPjNvuARZ93z/M1n9sRKtNMb66k+tlpK+KVRqusS?=
 =?us-ascii?Q?l+9Ras+D9GqQDj92K+f9P+zr0PvgcpWr0qEe+VV3OZVz3yvYGcK4L9DzyQx9?=
 =?us-ascii?Q?Ll42kjKNsCyp9sFG9b7BU7rfSZD/2SmTRL9UCB5S6GPLX5+RKLTmWh7iI5u2?=
 =?us-ascii?Q?fNHtuCrkafUl1k0HhldsvQE/y+zbEE8YrVHJwmKWPn3vs+X0FLvJ+kxdLAll?=
 =?us-ascii?Q?aULW+6tX73zly/yH2uEqB/pA/4sBbA5SEsbo4yIn4jAAhBeJlLyf4JrZwr0C?=
 =?us-ascii?Q?EYsy28l5vQ1cWWV/ucalvn1msAiUtCNQwlSwmexRuGQlZSNs6GBJYgPwJUJ2?=
 =?us-ascii?Q?SytIq3Ba5/PaIKUF5n0+5JNil1TwhwxkqnsGVKc8IfMu4ABS5y3Pk4rYizv0?=
 =?us-ascii?Q?/7yrP73FUJ9y3YWWk6M2Bp7QfFhhVv96sHLxmxSqC310SsjRsTpVfMLxC3FX?=
 =?us-ascii?Q?e3kAlSrS8nj+x2LlFLukRqXd2W8t2vuf1aSgQaVbm8JaCCrWKaL40OZfX/Ee?=
 =?us-ascii?Q?iJGTez1y2BPNF+6EK6XFRWreEkuFw35bVs+RJ/7vRSVJhuqfnwLX8nxzaOLV?=
 =?us-ascii?Q?LdQhftjQe0URq/ncHLDocZYULlvup58u5IunaFFeWQZ0ZZzWGvvHVMS7iQRE?=
 =?us-ascii?Q?SVebGBwSQIf5TVwZWtrGfq82AMhEw1dXb2SJjtpyaNQsvLV4JG1btfZLpOuc?=
 =?us-ascii?Q?u40hmB/OeNKrB03S4T4Asx8mjZDkSQKiSfDd3/ZrYulqXOHtjMMPiyhJ6Czy?=
 =?us-ascii?Q?OanI7e+cqRL35IkLH+qBWtop/sZjf9B1bSTfFD0/LK17bfIhQzYew1LjBlCV?=
 =?us-ascii?Q?UTgqEZ9He87d3QIpBy/vmefTvxTcq6sgAkyjSK4O8FwN3MA7TwDW0Oc6Zeut?=
 =?us-ascii?Q?2YipVgkssY/OolHZRdltkcS7WfRhhqg6xB33XzgguQNGaQrp3uVjuNU1r5uS?=
 =?us-ascii?Q?7U9PCrgYhqb9LuDz6CQO7xX55cswjBNQF2PBGZhXvz5CfVmuZsTIYiNUKL9B?=
 =?us-ascii?Q?V6TnOAA7CZJarmIU05A/6RON7j89y11LVUvQOJqTVT6zD32a5hsQbQmqFTIl?=
 =?us-ascii?Q?kwsHp+/F/SJlN1IFl9U2PuZlOLDNex9i19LAv4t/WbRs3cWNzf8HkFFHIYy3?=
X-MS-Exchange-AntiSpam-MessageData-1: m5Qzg7O09x8rhw==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: df1aedbc-a2ea-40ed-776c-08decdd76563
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:13.7554
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: yaGtsQuZfzmiZpofkqWaWLWsuDdZadREHTJ+w+4LZ26czFC8Y76ncFZnEEf+ZSyIBn46AVRUNJCO7sWGlrZKPg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYTP286MB4024
X-purgate-ID: tlsNG-ebf023/1781855420-9EBD7141-8EFDA251/0/0
X-purgate-type: clean
X-purgate-size: 4412

Hello,

Here is the v3 of the patch series to introduce NUMA support for
ARM Xen.

For this stage, I am focusing on getting it up and running based
on Device Tree. I think porting this patch series over RISC-V Xen
or PPC Xen will be pretty easy.

Please note that this series is meant to be used alongside the CPU
topology patch series.
Please note that this series is best used alongside the CPU
topology patch series. It can actually run without them, but it
won't be as efficient.

Changes in v3:
- Split off the CPU topology patches into a separate series:
  "Device Tree based CPU topology support".
- For the distance map table, now we only allocate enough memory
  to match the actual number of NUMA nodes.
- Separated the distance map table functions into generic and
  Device Tree-dependent parts, keeping future ACPI support in mind.

Changes in v2:
- Fix vNUMA memory allocation algorithm to support ARM
- Allocate vNUMA memory from the associated pNUMA memory
- Include the XSM Policy module size in the required memory
  calculation for Dom0 Bank 0.
- Enforce a minimum chunk size of 4MB during Dom0 memory
  allocation.
- Define the cpu_to_core() and cpu_to_socket() macros in
  cpu-topology.h instead of processor.h, as processor.h should
  strictly focus on processor hardware information.
- Make cpu_nr_siblings() an architecture-specific function.
- Refine the code to conform with the Xen coding style guidelines.

Thanks,
Hirokazu Takahashi

Hirokazu Takahashi (22):
  xen/device-tree: Initial framework for Device Tree NUMA support
  xen/common: Default function to get the distance between nodes
  xen/arm: NUMA helper functions via Device Tree helpers
  xen/arm: Introduce CONFIG_DEVICE_TREE_NUMA config option
  xen/arm: Configure NUMA affinity for populated memory banks
  xen/arm: Map populated CPUs to their respective NUMA nodes
  xen/device-tree: Read NUMA node distance from Device Tree
    'distance-map'
  xen/common: Allow building ARM32 Xen with CONFIG_NUMA
  xen/arm: Introduce dom0_nodes boot command option
  xen/arm: Set Domain-0 node affinity from dom0_nodes option
  xen/arm: Reflect physical NUMA node IDs in Dom0 memory DT nodes
  xen/arm: Balance Dom0 vCPU assignment across NUMA nodes
  xen/arm: Export Dom0 vCPU-to-NUMA node mapping to Device Tree
  xen/arm: Generate distance-map node for Dom0 Device Tree
  xen/arm: Balance Dom0 memory allocation across allowed NUMA nodes
  xen/arm: Use dedicated function for Static SHM Device Tree creation
  tools/libxl: Fix vNUMA memory allocation algorithm to support ARM
  tools/libs/guest: Allocate vNUMA memory from associated pNUMA nodes
  tools/libxl: Add 'numa-node-id' property to DomU memory nodes
  tools/libxl: Add 'numa-node-id' property to DomU CPU nodes
  tools/libxl: Create 'distance-map' node in DomU Device Tree
  xen/arm: Support numa and dom0_nodes boot options

 docs/misc/xen-command-line.pandoc     |   9 +-
 tools/libs/guest/xg_dom_arm.c         |  57 +++-
 tools/libs/light/libxl_arm.c          | 103 ++++++-
 tools/libs/light/libxl_vnuma.c        |  13 +-
 xen/arch/arm/Kconfig                  |   8 +
 xen/arch/arm/Makefile                 |   1 +
 xen/arch/arm/domain_build.c           | 426 +++++++++++++++++++-------
 xen/arch/arm/include/asm/numa.h       |  20 ++
 xen/arch/arm/numa.c                   |  57 ++++
 xen/arch/arm/setup.c                  |   8 +
 xen/arch/arm/smpboot.c                |  20 ++
 xen/common/Kconfig                    |   8 +
 xen/common/Makefile                   |   1 +
 xen/common/device-tree/Makefile       |   1 +
 xen/common/device-tree/bootinfo-fdt.c |   8 +
 xen/common/device-tree/domain-build.c |  99 +++---
 xen/common/device-tree/numa.c         | 105 +++++++
 xen/common/numa-distance-map.c        |  62 ++++
 xen/common/numa.c                     |   2 +-
 xen/include/xen/bootinfo.h            |  39 +++
 xen/include/xen/dt-numa.h             |  30 ++
 xen/include/xen/fdt-domain-build.h    |   2 +
 xen/include/xen/numa.h                |   7 +
 23 files changed, 904 insertions(+), 182 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/numa.h
 create mode 100644 xen/arch/arm/numa.c
 create mode 100644 xen/common/device-tree/numa.c
 create mode 100644 xen/common/numa-distance-map.c
 create mode 100644 xen/include/xen/dt-numa.h

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:50:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:50:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341736.1602044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waTzi-0005Dm-Td; Fri, 19 Jun 2026 07:50:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341736.1602044; Fri, 19 Jun 2026 07: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 1waTzi-0005Df-QX; Fri, 19 Jun 2026 07:50:30 +0000
Received: by outflank-mailman (input) for mailman id 1341736;
 Fri, 19 Jun 2026 07:50:29 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waTzh-0004pH-QI
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waTzh-001qMv-71
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:29 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4b5-2eae-0a2a0a5409dd-0a2a450bb90e-44
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:29 +0200
Received: from [40.107.74.114]
 (helo=OS0P286CU010.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4b9-5e53-0a2a450b0019-286b4a724d13-8
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:28 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TY4P286MB7477.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:356::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 07:50:24 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hoddoynRJb9jSI2y7eY2X8YgPtVNPm2jClijp8XlLbY+wW9Y8urVPKZ88IcI257koIbx3gKBwbUI7Do4LLoFtnWAFJsKwZgUfeEhawNyTB2ois2lDS+HBAUB1tNCPb1XTqq0jk7ZrPTGNDSLB35CNWzakjEWwGyItDryueyZRNSHiICJEFGm6Nedb3RDea6GsphgqOD/5z80j4XKZZmsHjohPXWpHCW30/JBDJj0wifYzZ+LUxddb42ThDJfSjtpUKUPZ9WF61huXOeoRhOOA2BIN7D5kucJbL/NGVOZFwo8EUogxwWOYfrsULOGwEuhv0scZR58GbtnTdbSOhRluw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lHp6m7ACt989g4mUr+Mdtue0BtyxlOvoHV2Q/YLtGtc=;
 b=QeINBDEpD4ld4EgQHRnWRRaowWZedfG1wIHj2py4YJNd1cxvr0ysf3qZTgt4VefMhgKzAU5V37hjKx/t7iO6yohVOyN8h6fmR1IJ0ZnqJX5k5VllXDilmtDUbqj0XaR8nt6F/07nDYzuEY42xuANtlCJd3ZINCbXR4Ucvirpy3On08X4zWBrIYekQdWnir4CD6J3eydp2ZA1C35sWg4kXi2CTGk819MSn/9erW8exaNMvkih6NIkrjPvIYt/bb4q0j7ryc16ZfMQcX5C0KTHBAb6avEQMrkBwcx6MR27z8775rCu8jNZg2fc+sNd0pkPiX8ymYD86JGlWK3k/QExTw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lHp6m7ACt989g4mUr+Mdtue0BtyxlOvoHV2Q/YLtGtc=;
 b=SdOy6zJu1KN2vDh69sKCTd58flUSHvoVKnoMQ9EqCXhZGQxxvTol35vqTyHuNtzhhu73VK3C4dU2/n9oTLjzIXvjKFVWsFNMNoNPZHOFT4/BczOZz27QsY0KoSg4QS5TjUD3PHtY0+BWKEFdduxeSXH7moImX3oC3dCByRc2tn4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	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 06/22] xen/arm: Map populated CPUs to their respective NUMA nodes
Date: Fri, 19 Jun 2026 16:49:54 +0900
Message-ID: <20260619075011.377116-7-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY4PR01CA0125.jpnprd01.prod.outlook.com
 (2603:1096:405:379::7) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TY4P286MB7477:EE_
X-MS-Office365-Filtering-Correlation-Id: d58d05ba-8b91-4d97-2fc5-08decdd76bd0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|23010399003|376014|1800799024|10070799003|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	2XME3FsXRqbpMutWzR+Ouj3IngTQo+8ZQWVruWqre9KCfWi0CY8nfdxf5MLNbvYobbRf3k1vJV/zU1xGOX1sKDjoNWQg2c0QwFqQBdLkj16Az/VYsSJeIiv1JTxAGIiCw3kp/fgRR/bq0TLgewxaTaDPNdXlPcRVET9HLQPDrJxqSPDkidV6aZBX5ZRXX7bVka0BNmC48WpMSocHpuuNGBCAEFuRkZQWJm4Q+1d+mgFgSvg7vgxfK8N2Yv+TIebyaJ/KqEybP/3iX5V3ZW7Plfqu7sm2A+tYRf4KcX8pEPnHXhrRB67XD9TpdWSYVIs/IrAyAe1ObYrBV+4Qbs9Htf4QKLI9JDEdn78PyJHbu0Reu1hOxnVJZ7rpIWdNphwB/Zw6UTzYXtHFC9jP+CvEDJe1WoTcmQmzYTY6uWoBmszOdDHPY7HxdJQpwicvMmAh89PYpYMgAgBG4NyppbWRNpnrkHL/ODLshjob5pi6ipo3206WT3t0wyUgNAi4Np8nqhQTdftLZUocaAu1BlxFEsCgKfr9WmmtjAdqvO5O/xpA9CbdfUmzFSl7aZTtKpTY9126pGG+MSd7JGSvdDu7LxKZUUumQKeloWe3BAFSbFIA2YFLRRaBOpmYMo51ZkLLkl1B/bY5rAuso4TOGOtIk1fzpxURv6SwyyI194aCV6M=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(376014)(1800799024)(10070799003)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?QHqTcAm7mA+zA1tS6cXmfTwNKriSNuQQOsQDrB+Hps52ZNyv+4Zu92nkh0Sz?=
 =?us-ascii?Q?Lzoj5tu+HzunM6Iq495H0DoF5Rns5w27Ljv0up5YCeqBYeAhug3W9Tqf2VKQ?=
 =?us-ascii?Q?VUZYZavqeYJdY1C8wvMeTUxPg961zwchRK6S4ugu/dpZ5Chj/GUH/P3+GhY/?=
 =?us-ascii?Q?OG/34L5FyGhOnJgNK9SDZ9X3659UNcDW64O0uj3du2diP77qlnQUxmD2s53I?=
 =?us-ascii?Q?6MzMZD3FQIU298mI7Txq8wvSfepizC/PU8geTMW8tu2k3XQjKkkzdZ5aVuOA?=
 =?us-ascii?Q?09gBmgJoH8/OdNS2mPZGJmIAknYzZ3ZptpzEUu1lfzirdfttEmPocXV6UERM?=
 =?us-ascii?Q?p8tG6PtOJ/NIgnxRWJogUwaaWWO55pSeamLw0Ap25pS5HvtblSR23CSmgRh4?=
 =?us-ascii?Q?2z+UI/pqSRsidO2bDVmkHWZefeWX2IZjANSmH2fm8nmpvDaQHqW3aWHm8aHc?=
 =?us-ascii?Q?6nqXTlGMYdfChB9YSPQ9Tka5LfXbYUfEZbIyDfNleQmzdOBdlABbhiVw1bp5?=
 =?us-ascii?Q?edXUocSJLa/oeNQgbRbf595SJXQOmJ7VpYpKmdZDT7jYRiiaODy6No1MHkeR?=
 =?us-ascii?Q?xa9jWPvUz1MRB5/8Gk4mY5yCHyk5aFKs2h6fTfl5AeHc7oDm3/3JihfP8ZSm?=
 =?us-ascii?Q?/2QwQZIkuOFi3WXpU/5pxTpn4VGzXugKyowC2DMiMGBCG9uVaivySQCaLOXv?=
 =?us-ascii?Q?4xUJQUYVGVT6SF71dmLjSoXLOe6WZZWKiR+FserPINQLzVJjb7SW3HHXGl62?=
 =?us-ascii?Q?rj+D9femyreN6fJuZOOzPvu4Yn1UupNrYj9C0nY+hoDusV6xmE4z5kBuRBkf?=
 =?us-ascii?Q?mrcXmZuK6uUtlLPsTpZu/mlWAZzYMTUpoDCDdT7gZt9LSaEKo0/civtDXywK?=
 =?us-ascii?Q?7NraLRzgChbYuk4f2LOvx3Quy3unf7OMmQZA1GDYkur/yBVjG/7KUzO0WFns?=
 =?us-ascii?Q?pJgIDVvyMkv7zArUdynizlxy3KA2kmPE6Fc2ltAaeZ2PfPrvQRiJHuh+2qiu?=
 =?us-ascii?Q?jb29nHOQJYFlolv2CPuVptaFye8t7clKRyivbw4fM8BtzsEcjyPLiLxJ3WKk?=
 =?us-ascii?Q?qvipIJ9ztSHE99DAfImdMf+wRDoSFa6Ekm0yDCpdrDAOgFgqXA8/GcvV8NFs?=
 =?us-ascii?Q?lhOpRAR7Jn3uvrWabBefv+k/LkBbztdkWJgm2atVSntVnZ+pDDujGWlj7dDG?=
 =?us-ascii?Q?F8HUeVFpMF0oE9ixe1GU08WyiyF8bHQ6PYP48yZUprYHTO7UzDx51pKT0zQ4?=
 =?us-ascii?Q?DNpQjcuaRDUwgVJH/PXabbl6bAXWdWGeWVTTD7jpBSLMZ8Fa/ZMQ8a+FCKVv?=
 =?us-ascii?Q?cgU0yZu/wJo7s1zfEWs2bmEXT12iHYVlVsLPjggEkQXTe/6FakPd+KlA18sV?=
 =?us-ascii?Q?CyujBWOpe0QYym0slqthz/MbTSV91hluCjVVafofjPmEerfjr8gS5rw43McS?=
 =?us-ascii?Q?n7IpSDPv2GbNeivVg9uEWAjw7nMrjF3VWH6ULBW/blsjQybY6mc1qKHGh5Zm?=
 =?us-ascii?Q?1O0JYTgG8IyB/CBjn9Cz2L6ZzEFQ2q1oM+KoHFIHZn08R6giw+n62A0LAcHm?=
 =?us-ascii?Q?RYXmz7z4ZvCGVpsRaUGUigwVQ3/bqDIAhi/R6iMG59MhIbwwfGJZ9UGyOQ5x?=
 =?us-ascii?Q?NqFFwLCCqpIkjvE99LT9G4GTyBHltXtjSfMQAZoZJJ0tCOmZmfdIzrrmKnCY?=
 =?us-ascii?Q?nAt9LykLF8IlVdQ5JXVBGMkKlzmjtFnlXqHpQOLX3hCYP9oLkN+5UYvE3o6/?=
 =?us-ascii?Q?iZglWz1/doByrYr/+VQwkG8oO1umWuxmElnJGycL9mrzd5LSxTdomx4gDR80?=
X-MS-Exchange-AntiSpam-MessageData-1: STRszDs9M+88Kg==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: d58d05ba-8b91-4d97-2fc5-08decdd76bd0
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:24.4595
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ztf83p+HP2+yu1FrRgKHDRZAAixgPmE/2S6VwcJ3Q7I+WmHICfyPPlg54DcLKoCerc24ql8oDFFKzCvv697QHQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY4P286MB7477
X-purgate-ID: tlsNG-42698a/1781855429-4DFF900E-FAC01265/0/0
X-purgate-type: clean
X-purgate-size: 1651

Map the populated CPUs to their respective NUMA nodes. The NUMA
node ID for each CPU is retrieved from the Device Tree.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/arch/arm/smpboot.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index d1651fe7dd..23c5a46757 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -133,6 +133,9 @@ static void __init dt_smp_init_cpus(void)
     };
     bool bootcpu_valid = false;
     int rc;
+#ifdef CONFIG_DEVICE_TREE_NUMA
+    static nodeid_t __initdata cpu_to_numa[NR_CPUS];
+#endif /* CONFIG_DEVICE_TREE_NUMA */
 
     mpidr = system_cpuinfo.mpidr.bits & MPIDR_HWID_MASK;
 
@@ -244,6 +247,17 @@ static void __init dt_smp_init_cpus(void)
         }
         else
             tmp_map[i] = hwid;
+
+#ifdef CONFIG_DEVICE_TREE_NUMA
+        if ( tmp_map[i] != MPIDR_INVALID )
+        {
+            uint32_t nid;
+            if ( numa_disabled()
+                    || !dt_property_read_u32(cpu, "numa-node-id", &nid) )
+                nid = 0U; /* default node */
+            cpu_to_numa[i] = nid >= MAX_NUMNODES ? 0U : nid;
+        }
+#endif /* CONFIG_DEVICE_TREE_NUMA */
     }
 
     if ( !bootcpu_valid )
@@ -259,6 +273,10 @@ static void __init dt_smp_init_cpus(void)
             continue;
         cpumask_set_cpu(i, &cpu_possible_map);
         cpu_logical_map(i) = tmp_map[i];
+#ifdef CONFIG_DEVICE_TREE_NUMA
+        numa_set_node(i, cpu_to_numa[i]);
+        numa_add_cpu(i);
+#endif /* CONFIG_DEVICE_TREE_NUMA */
     }
 }
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:50:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:50:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341732.1602008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waTzf-0004Lr-Ly; Fri, 19 Jun 2026 07:50:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341732.1602008; Fri, 19 Jun 2026 07:50: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 1waTzf-0004Lk-It; Fri, 19 Jun 2026 07:50:27 +0000
Received: by outflank-mailman (input) for mailman id 1341732;
 Fri, 19 Jun 2026 07:50:26 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waTze-0003z1-GI
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:26 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waTzd-001qMv-T8
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:25 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4b5-2eae-0a2a0a5409dd-0a2a450bb90e-38
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:25 +0200
Received: from [40.107.74.114]
 (helo=OS0P286CU010.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4b9-5e53-0a2a450b0019-286b4a724d13-5
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:25 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TY4P286MB7477.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:356::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 07:50:19 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=i+EGGOtU64Oob4wpmwj/yUyLfzeQNMcmg/FrDHQglIZYTROQUHRep4bqQye0W7OV1EC+k0Vf0xQI/y+XWxLPs0q9g66mCcdz/2/YdWEmisp0nxtKg2Ks6bh+eQNCZP/LTZAMZCApAtl8UyHMuWf1RpWhcUw0yC8rY49A4D7sDMUli7JmhysgU+nBtLzDrnIU8Y4gJA7ri2bx73Cv3awM/eMdjZ2w80FP4nsAQwdHGW/W8zQZ5ISC9C6GJHzo/bGpEakV+jGpp/Y5e/DB7WCQ0oN4AmNCo70sVUEDl9TTk9t32bl8Ak9NhgOWa/x8bRSj0HIpVzKjpzf0tCCQX7oeXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=61LMVP4jRTDvsJV5c8jFg3V5iNl05Shx6hWCtT3eNHQ=;
 b=bJ4OE3UhNKTtg2QKkXAGsOi7Zbk9Wy6U8LrKZ55dNCDgdZHmTBI2piCj+I1UMV0jkJ0n4ruUgJH0J2uHk/ZyFuEcPlCypyE614Pnki0vq3rSTvFKc3UyUprwZZ536xhbJqSbAIH9n02k+q71+ejnWARivQFK593RudXMA+lvjM2f2LHKLeCcrBOFXka/PJNIG32ymYRC975gUJgWLznl3M5dJqKQI8NzWCwQ/pAxmNCoA2LzVc4VZTkwcSXQd3o5oHV6NvjVVpd/+nVUbfs1YORVTAwQRpcUl5mPFuZqAW6YtWjSV4IXnzcK9ZZw1besu6x1KNMjFNQeUlZxeOfD4w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=61LMVP4jRTDvsJV5c8jFg3V5iNl05Shx6hWCtT3eNHQ=;
 b=lbt9CRVaMUKJJ5bmrRSnJ9c15DwfEfubi2ZoGeRxM+EvkSgrci2t8AskiM6KBT1+rg4lEcHOT1FTgtUah0LxPXwmhItdlCKrsWdmWxzKG1TNGuu3Qh5AEfrSqr1WhurEaCdZJ2U+1TeQgrP26MFCG0cVUEkKsWGZ+P6CDM02Oms=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	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 03/22] xen/arm: NUMA helper functions via Device Tree helpers
Date: Fri, 19 Jun 2026 16:49:51 +0900
Message-ID: <20260619075011.377116-4-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY4P301CA0001.JPNP301.PROD.OUTLOOK.COM
 (2603:1096:405:26f::12) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TY4P286MB7477:EE_
X-MS-Office365-Filtering-Correlation-Id: 20df154f-4776-4778-d73c-08decdd768ba
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|23010399003|376014|1800799024|10070799003|56012099006|6133799003|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	ATnHAXa7q3aDm0W/mJ9pUI5HXdQG1H0PaX8NcsQBrY5G2Qa0YT2sIClmVEhX2cijc/fT2gS4/AvKBRsOauoz4FjlRb3+W1PzuVT+qyc8YP1N6Jc5cdju+hP7ijK94sDsMueAFv6PNKRhiHX1pzGRDyPfAqfkaZcpj/QDQuW7Xp5orAA227K4fuNdAMQTtr4BMs//PlrYhzFa8BUWx5nlWhpO69X/ooVXEKTgYfbheCvWnkLn40a6Ulh7rzqkaOXoEmNSxkPqjr0KiPiS5ZR0O56oAclniXxVwMJM4erM1o6YvJPZwP9MGyaz21IRVizODSNfkb4v+SLCJ2t757VX2xaGRiJDcadQU/b7Dn/UeUL2PWfCt8O0TYcF2lS5NNLUz7NQZwhoBsdh+P/cz1AooozEzBBtQYtA8K+8RS+yYklZWBw2U0/kRA3xuiuxnh1ItXHqHQ0VICzwApn2U8M8ECI6/RNbH+jKMWQAHT7LV7ow5WkUteX3m2nZZPZ6KzTsgTRXE9je1gJQcMkbRV1I0Cz1sw+nHgTbu7sb51rWfr5XQLTM7Xc0+49/ikBXsWrjR+KVGQrpQnu6RWK4I9iFrui0w0dA4erXIb8EDW4JfQRsSjsdi5dPX6+CmSuCbWrsiWnNbdNEJTPXagiZ8KE6hJq4Zax3qWi9DewsQbTZ5hQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(376014)(1800799024)(10070799003)(56012099006)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?Rdim2DioGZvTQCeaPH2lEzySHtWZFYcJ5AAQz+LBAOHdNHCsHpKeFvP1jSaG?=
 =?us-ascii?Q?qK3MlgWOFiG3E1Smu9uljH+89VYtQSHJVKrmyAl93pfbJP//ISJV4latl1c8?=
 =?us-ascii?Q?RUGW7eJloZhSA3Xddme3MkJ1w7og+9lUG5TKvzhDoy/v8MfdcHJRHj4uBj9Z?=
 =?us-ascii?Q?rAB488CUJZMVBxO935au3r63WoZPETFxdBzHOABrXuEZvU1H5C+/uC0i2CR9?=
 =?us-ascii?Q?gN6i7iu/44W8+lRyDvhG6hB0N1vk2netNHM2YUzGV5Cl8n2NeXmNgPi5DkLA?=
 =?us-ascii?Q?lT/u/gbkGLIYYbVtjiQImuJQm2H1Jo+3T7AGBcpp68wnyiQAo3z1p3IOj8wO?=
 =?us-ascii?Q?EEms6+x9voXk1VMIMDiROWfFfzjV5Rls95gsFsI1YZZIOUpK5NM8VFtLbPgk?=
 =?us-ascii?Q?rBT6c02hj/2NCaLLc08QxEt4hg73tEoa8TXn0PQKvHEtE2oBjE/GVOUxPTqd?=
 =?us-ascii?Q?ewOcGa74hQxUHfhnHkzwQ7JHNSjOQ+eSoZXD3vGqyrdJorgiiDGgZp3xZrPK?=
 =?us-ascii?Q?P6x5EdJpXbfEeoZ2kPk16HJVASQjvXa4EQCVkTZ5LjYKfuH8iuNLVaAV2+VU?=
 =?us-ascii?Q?Z0L/4fr2qgURUvFnFhjkRWY4SjJ6TQwmnZofk8pOch6SeDbiX2T6wnHqCHcJ?=
 =?us-ascii?Q?q6v1lAfKMDa/JRXEb5hPqmZGSSE3sPtmabrkY/oO2GjakuYZsqqb/pFSV/XD?=
 =?us-ascii?Q?DINDZOLMD4GlRLXY2cm9bmECuvNpQW0X4IMVueBcMuO2UVlyrwHewQhHFQOI?=
 =?us-ascii?Q?1P1mwZaOyW9htjVzcXkfuJ8T7pZ31uFlqniRt87FXNpL0m8d0zozj6/CdIJV?=
 =?us-ascii?Q?Enn1EKZ7hJu0SxEZ2jN/XE924di8ZOEPji85nsiV2vOao/Pvx9Mk/pApZseZ?=
 =?us-ascii?Q?xaz/wgAu5yzVkEO3zIed3283vnuBFPNUNjo2GokDqTCdta/nFfmkd1s2YkrJ?=
 =?us-ascii?Q?/mCjtCNw/P+hgYl6ZFW4z026tmU7THBgpb4jnGB9O/MG5tRG3Rd1gBB2O0Kq?=
 =?us-ascii?Q?mpsQrgYzsIUYg0WrzIxBeLiUdHAlipS9WYwGjQxR7yK8THuxfjNLCC9qqoBJ?=
 =?us-ascii?Q?SweC4dlBYZPTcO8XR/QCTfNLh8AWH9cBZm9K0bbXXKTuEB6I6sVdTbi3Q8pL?=
 =?us-ascii?Q?JW5mNdpuB/p6tuKtBudvSlZDfRTYw+OArN8YsRDRtnUAG15jsv9iAEATIdb9?=
 =?us-ascii?Q?Fh+HbDskTY8P9b5zeG6MGgVNtHcVkHLhjdqKwjbQPY533yJVpzTLAqe23ARy?=
 =?us-ascii?Q?kHMvZuaGAkfCEk30BLcy7RR1L/xEFigEmGhtMIfA5SfxDlAfoinCRSNdEPMX?=
 =?us-ascii?Q?1qKUAcw5i1DR9woESvI7PS93yetbzxY1Us9pgnCH96brgRSZK4ieza8O0mAl?=
 =?us-ascii?Q?W2LfVIcVHxsZSUmw2wcjKYCP7Wz2uwAvEKt7b/kLJP0kzU+grYMnPMkwJzmB?=
 =?us-ascii?Q?0XL9sjBbGnyXBq1Lig7sKhFq0+yDHzkFVD683XTlEx90WSKAeBJ/jRTakAVi?=
 =?us-ascii?Q?f8L8X3LDcKWyuS+lr2UkoV+2RQMA9ytgtJEfDpHWBoGX7L/5R5HdLh9A54qx?=
 =?us-ascii?Q?NFloBB6AtVfyg/F2PNytuZVTiZvw5AmW0u/KqqCpI8oyexpm8OPw3ySxFLhL?=
 =?us-ascii?Q?4DHfXWO7hJIGPr1DwdWFUjENOah7W7BII6qIiqk9Fgv5PW4MHZJGHhOAcV5E?=
 =?us-ascii?Q?MEv0LETmW0glzBabjAkZo9wQHMYReHNcm9MMCgvjJzzi4jscLUzSK6XOFOGS?=
 =?us-ascii?Q?OUzxOdDnGmmEXswkGXwG0RO9pykl/zw9Ah0xr54c6WAOzGZ1t8O2Qokr9cju?=
X-MS-Exchange-AntiSpam-MessageData-1: nBxzIzJt966/cg==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 20df154f-4776-4778-d73c-08decdd768ba
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:19.2859
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: V36CT44LETdGVdndFEjqWdFcvbQej//FefBYDLmmQUZSemfX+ra9B+BM3b9fw5CJ4QDxy9GJ7Uwm+7t4QQsdUw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY4P286MB7477
X-purgate-ID: tlsNG-42698a/1781855425-47DE800E-A0ACCF41/0/0
X-purgate-type: clean
X-purgate-size: 2685

Implement the NUMA helper functions for ARM Xen by invoking
the Device Tree-based NUMA helper functions.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/arch/arm/Makefile           |  1 +
 xen/arch/arm/include/asm/numa.h | 19 +++++++++++++
 xen/arch/arm/numa.c             | 50 +++++++++++++++++++++++++++++++++
 3 files changed, 70 insertions(+)
 create mode 100644 xen/arch/arm/include/asm/numa.h
 create mode 100644 xen/arch/arm/numa.c

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 84c4062b30..10d20e3a84 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -51,6 +51,7 @@ obj-y += setup.o
 obj-y += shutdown.o
 obj-y += smp.o
 obj-y += smpboot.o
+obj-$(CONFIG_NUMA) += numa.o
 obj-$(CONFIG_SYSCTL) += sysctl.o
 obj-y += time.o
 obj-y += traps.o
diff --git a/xen/arch/arm/include/asm/numa.h b/xen/arch/arm/include/asm/numa.h
new file mode 100644
index 0000000000..8c46048ac8
--- /dev/null
+++ b/xen/arch/arm/include/asm/numa.h
@@ -0,0 +1,19 @@
+#ifndef _ASM_ARM_NUMA_H
+#define _ASM_ARM_NUMA_H 1
+
+#include <xen/types.h>
+#include <xen/cpumask.h>
+#include <xen/vmap.h>
+#include <xen/dt-numa.h>
+
+typedef uint8_t nodeid_t;
+
+#define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT))
+
+extern bool numa_disabled(void);
+extern unsigned int numa_node_to_arch_nid(nodeid_t n);
+extern uint8_t __node_distance(nodeid_t a, nodeid_t b);
+
+#define arch_want_default_dmazone() (num_online_nodes() > 1)
+
+#endif /* _ASM_ARM_NUMA_H */
diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
new file mode 100644
index 0000000000..1fddf7d15b
--- /dev/null
+++ b/xen/arch/arm/numa.c
@@ -0,0 +1,50 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Helper functions for ARM NUMA.
+ */
+
+#include <xen/bootinfo.h>
+#include <xen/init.h>
+#include <xen/numa.h>
+
+#if CONFIG_ACPI_NUMA
+#error "ACPI NUMA isn't supported yet."
+#endif /* CONFIG_ACPI_NUMA */
+
+
+bool arch_numa_disabled(void)
+{
+    return false;
+}
+
+unsigned int numa_node_to_arch_nid(nodeid_t n)
+{
+    return numa_node_to_dt_nid(n);
+}
+
+uint8_t __node_distance(nodeid_t a, nodeid_t b)
+{
+    return numa_node_distance(a, b);
+}
+
+int __init arch_numa_setup(const char *opt)
+{
+    /* parse "numa=" option */
+    return 0;
+}
+
+int __init arch_get_ram_range(unsigned int idx, paddr_t *start, paddr_t *end)
+{
+    return bootinfo_get_ram_range(idx, start, end);
+}
+
+bool __init arch_numa_unavailable(void)
+{
+    return false;
+}
+
+void __init numa_fw_bad(void)
+{
+    printk(KERN_ERR "%s NUMA info is broken.\n", numa_fw_nid_name);
+}
+
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:50:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:50:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341742.1602089 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waTzr-0006gO-SR; Fri, 19 Jun 2026 07:50:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341742.1602089; Fri, 19 Jun 2026 07:50: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 1waTzr-0006fv-MF; Fri, 19 Jun 2026 07:50:39 +0000
Received: by outflank-mailman (input) for mailman id 1341742;
 Fri, 19 Jun 2026 07:50:38 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waTzq-0006Wy-0q
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:38 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waTzp-00Dy3W-Dg
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:37 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4c7-e002-0a2a0a5209dd-0a2a450bbb74-20
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:37 +0200
Received: from [40.107.74.126]
 (helo=OS0P286CU010.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4ca-5e53-0a2a450b0019-286b4a7e0f22-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:37 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYTP286MB4024.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:185::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.12; Fri, 19 Jun
 2026 07:50:33 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=JJ9T8n4yMSbVQ6qtsu6OWyoQfnYu6M6eL7C7SUAcL+x4JrTR2i2hbqwbFgBqa3PyrF/xJsPyF4wl+3z8FUnJpfy+HG4ofhG2Ka7iI+TiANSXz3ECe6++swuP4idZaG5z4RNfZzckEWledoFCOgM953TMYXWYf114+jpha33MStnUWuawLeWOAb7JzftcE0Hg9DNdbNoInYrB9X3MzzBEoLjYITEL0GgId6fgUSVBmPewWaPLtFpwkqWkWpsR4HSLUnKFPG5M2OfsExEht/SkrniaGZeEnsP1eB+cvtfeIEwQtCRhqahETfGkpphf/VECw7VYe7RpDyW6/yAxXYy+QA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IxE/LJsgLEOrbULLoyo2Fstd730hRv6gD0h0NlRuEO0=;
 b=Ut6C7UUfIPaL5RUJ8Xnf5DPnIkEAcQLTL7pNMxHG0NMOFbAL4PirOnYbh8b7mCtmThF4NfjEq8kwH0CPrcEq3/sxE7rDi8jKpwJU5y07NFFZNxQeSG7k26pECg7INeBSVWgdHl3m4cuvyz547yVcDKMxZWL27riD0jXji8tCWlQvwB1uriVylkfacpV9Q55gH3drr8j8JO8jGAe25u5dJSKUAq5V8IFZMddTtu2N0GQuruziG14UJnp76xfxWiGQr/uwX8dxSJqImJi+apnsa/BtPtQ/tS0kfDR+SftZHdOV8BZvgCdBS44hosIZOoa5H0Xf7G3pdQTB6fUp9p6YJw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IxE/LJsgLEOrbULLoyo2Fstd730hRv6gD0h0NlRuEO0=;
 b=B3nmSa3NToLaV8p7qD2OGRZBDd2HiocU81JnEo7UV2wJzumNkEZc7hGbkrsd6cTA4sSDaRc3o59/zi2iUBwvzbiKd2olaTmIpnAmpk87IEkSdubQimwdSNkw3YojuEBLzBramhR0/snEkaXsmwps17D5CKnmCEQR3BGlvdwcIZ4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	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 11/22] xen/arm: Reflect physical NUMA node IDs in Dom0 memory DT nodes
Date: Fri, 19 Jun 2026 16:49:59 +0900
Message-ID: <20260619075011.377116-12-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TYCP286CA0144.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:400:31b::8) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TYTP286MB4024:EE_
X-MS-Office365-Filtering-Correlation-Id: 46622172-f401-414d-ba13-08decdd7712a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|10070799003|366016|23010399003|1800799024|18002099003|22082099003|56012099006;
X-Microsoft-Antispam-Message-Info:
	67xne7Dn5mGa68qTM+JVO7esh0bnffZ5Wl/iUsGIW82Zj9d0LfTTfKDspA2ZiIEqEf2MHdfToxzJNAdYaqJ97Uy415s1uf+VlWPhxFNhYgeF8teuvgb+1fnWtS96j8AauX9fYRMYjajvcS8IEZ2BJ49Q25CwFlwlu6aZAvsqaJPySt2JXXwOVGSm6MQDEvz7Ih472mdiROr0qV7eqsAXHQ9smeZulnxYO2oeZ51262qzc3hcWJRsro8q1SfFdz7UWHGvOlEqNjgw0qy5Tn3Qh3CvZpaF0qefaPatFLKF1rBHnRMjLxjgtkTIevxgmoDzpK3gXhG/qlhSTNvd9IoUJJk4wgnXv0l+j9heUSkk6TQ0m84CZEMGl6FHMg3fAzrzOW5yjq7lU2AwqILL27TqpyKSgXxaiuarYF12fo9byQFtsMq2ne+XyNV+ppHdnuXLL/zuue9aEhzXW8qnb0n+PMiRH8xgXqME6gV9NYes/l6/LnAnUBGAyNTGJCI2stYNIEF+JN/kaxhFQf/9Jz4aOHjKX9eiZT6HBn2ss2oxgcGqJiMVcfYG5C7KVnxFJC7B3yWDxFE/nlK+p8aTfjDfo1zWVlUuovpFqUCSPns3f0iL8mYkY49NSiHE7JqtZzKWxrUfzG9Fbk9o74M8nKPKWCmhDKmKeIomToymT4RGavM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(366016)(23010399003)(1800799024)(18002099003)(22082099003)(56012099006);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?4YW8xV+kzBpOvSkwPk2JcwlPoVqv2p2CXuB8OFDSkvHYEtzVtD8Gcv+OmuBZ?=
 =?us-ascii?Q?1iwuDctleSzp50DvgtdcAaEDHjU+ukpsXxS1HZcQRklqjrc9rc9gDfMk/apl?=
 =?us-ascii?Q?MjnydvzJYZPdIRU+V0oKiqkVyy0+2xuLFSSAGF/9bU/MbRLINHxh+hYlSBos?=
 =?us-ascii?Q?wEFvWMSk/ciMN1X5wd9orVr6JfW2NwZcETnMuTvUa5UGfDPrYFXt95icUhck?=
 =?us-ascii?Q?z7d+oKpZDq6YqWU0rCVNsmBqQD9W9J7JszbMTr7hVzOFKn09XpZiRlYIsvnU?=
 =?us-ascii?Q?pBZl9syYiTEJbZs9kED3k2xlXZdJHASG4Yw+N5IF0ABeOsKVUe4C9A8UqxVo?=
 =?us-ascii?Q?jfsqvcSpO8ijxHIDO2WPyelvVbf2+qm+f4eg6pWHo0iln1z+CSlgKjZLJMSZ?=
 =?us-ascii?Q?owIGhIpKDz1NNeh895SLp6yV+FaUYT90vowZeEuJwAUGBVq2E2apLpAJJL2y?=
 =?us-ascii?Q?dUO14vJP15q9m2zuPpdI3yZtgIO/TEGJGQl6AYIh20ksQstekZxvWIicghcU?=
 =?us-ascii?Q?/Pzg0vV+A88FEf4TY+4StblesSVMJ07X01PmwiW+NCq/yZ7I57CUYPKhqZEd?=
 =?us-ascii?Q?iUGouhQDLp4Qi1QuxT9FDN5N0lZjgizeo4B+Ar4Em+R7/ZhZeqfx5CFOCS8M?=
 =?us-ascii?Q?1FfzB44bAT11Do1oMYJWhzd5q50XnZ+2ihEXZBUumNdTYWH50PWN3hndvtnR?=
 =?us-ascii?Q?j/oJAcEV07qBUsFuPbU5yn8TXeHd61h/BQHmD0FNrJgav6fLLxfayv5pohD/?=
 =?us-ascii?Q?687oaGKNEtfNde3i3RE5EdgFE1nc+OlqMgYlDpIWvQogna2bvkJCNoTSDs+P?=
 =?us-ascii?Q?kF9uBo0m7AwVgWulfpEYNHnbgoogP8ALGyXx3cLb9PkxxZx1aS1djToV1GKY?=
 =?us-ascii?Q?tZKmEA3Xalwx4hCDrfQGCUhJjKNU8ervYAq1aQU8bbpegICTW4sjuMB8szBc?=
 =?us-ascii?Q?n5AfKTeBLQ2ra4zdyT+vhOG6Yq0QDKMoquFEXVVFqW6zS8g3C1igBPi+IJbJ?=
 =?us-ascii?Q?sealPZ9ljjDNJmX1EgQv03GgBcfCxcRb3bpabq5XMsNNdasnh/xJ/adJtkVS?=
 =?us-ascii?Q?Vf5OK23OoUZtSjaNnlIdQ2lm8DyRa5izvokXX/VxG9WepBBP+dIXiXr3ojCM?=
 =?us-ascii?Q?ZoSN944vQunxxX44ZjENhL661TpdgkdM09vlAW9KCW6ocQ0E/zs/fboLdMq0?=
 =?us-ascii?Q?gLVO1HO1/xmQi0Y/9QYp+NV/JD3Et+GNBEpKnp/Beae/dLRf5tevc0i5Hsda?=
 =?us-ascii?Q?akhxRsbSC4sg7njDY3SHW9kybS/2soXAWxxmKg7TLq5p+FJqZDlVnl+Y86cq?=
 =?us-ascii?Q?hCoA7P+8zvV0MSd2iU9NZqUj1+OZ1XGrh1LIo5jiBi2pywtCNAxSgdYhnv+g?=
 =?us-ascii?Q?zSAoPH681PS3Ynk4c96GdpR2RFBAhyn+RZCB+3ogalHyQw9hR9couXUKApyo?=
 =?us-ascii?Q?OGTLDPDDWeHXoVkQT62pNpVgDB5Jx6nBtQQX1iwMatgRTBiJUETgjeIqjol/?=
 =?us-ascii?Q?WlrEuNJgYfHsoUuxS+jxn+2cC6Q9WiOJk+/yBPHSGKKa/MY6bdlYsR0ooLmJ?=
 =?us-ascii?Q?QkypDTosNbcG7BJwiFLFfVpIRaMLoVVid67N64h3qofiMgfisKW5iza/o0Lr?=
 =?us-ascii?Q?UFzU5EqrkPqAn6lPicl1RNHFdob1N0ERQ4Ea9Zyhqg/+ajg0CmYGR/wXP4yx?=
 =?us-ascii?Q?eJrl9n6wTMCDGMXfgJeuoG530hKuG4JvR6R2oFGg0b4nbPmM4s/DjC3Jq8g+?=
 =?us-ascii?Q?L891u9R1H20hpWZdedIw6+iFqp7tlNXm53Cboh2S0dP/okNq1C2LU465HQ9g?=
X-MS-Exchange-AntiSpam-MessageData-1: 84qGtomQo+JdqQ==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 46622172-f401-414d-ba13-08decdd7712a
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:33.4489
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6wMkl0+aSy6+1qB6b/UKkCB9hsE/tQvoFtk5etyF17GMDznNPD0kpfiqXNdHTIuev/4fSRUeKJwYYLAU2uJSjw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYTP286MB4024
X-purgate-ID: tlsNG-42698a/1781855437-4DDF800E-5B61E1C7/0/0
X-purgate-type: clean
X-purgate-size: 6863

Extract the physical NUMA node ID for each memory bank allocated for Dom0
and apply it to the corresponding memory node in the Dom0 Device Tree.
This implementation maps the physical NUMA node IDs directly as Dom0's
virtual NUMA node IDs.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/arch/arm/domain_build.c           | 22 ++++++-
 xen/common/device-tree/domain-build.c | 88 +++++++++++++--------------
 2 files changed, 63 insertions(+), 47 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 1dcb5b3455..7ad53d85b5 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -195,11 +195,26 @@ static bool __init insert_11_bank(struct domain *d,
     int res;
     mfn_t smfn;
     paddr_t start, size;
+    nodeid_t node = 0U;
 
     smfn = page_to_mfn(pg);
     start = mfn_to_maddr(smfn);
     size = pfn_to_paddr(1UL << order);
 
+    /* This code is temporary */
+    {
+        struct membanks *mem = bootinfo_get_mem();
+        for ( i = 0; i < mem->nr_banks; i++ )
+        {
+            if ( start >= mem->bank[i].start &&
+                 start < (mem->bank[i].start + mem->bank[i].size) )
+            {
+                node = get_numa_nodeid(&mem->bank[i]);
+                break;
+            }
+        }
+    }
+
     D11PRINT("Allocated %#"PRIpaddr"-%#"PRIpaddr" (%ldMB/%ldMB, order %d)\n",
              start, start + size,
              1UL << (order + PAGE_SHIFT - 20),
@@ -225,6 +240,7 @@ static bool __init insert_11_bank(struct domain *d,
     {
         mem->bank[0].start = start;
         mem->bank[0].size = size;
+        set_numa_nodeid(&mem->bank[0], node);
         mem->nr_banks = 1;
         return true;
     }
@@ -234,7 +250,7 @@ static bool __init insert_11_bank(struct domain *d,
         struct membank *bank = &mem->bank[i];
 
         /* If possible merge new memory into the start of the bank */
-        if ( bank->start == start+size )
+        if ( bank->start == start+size && get_numa_nodeid(bank) == node )
         {
             bank->start = start;
             bank->size += size;
@@ -242,7 +258,7 @@ static bool __init insert_11_bank(struct domain *d,
         }
 
         /* If possible merge new memory onto the end of the bank */
-        if ( start == bank->start + bank->size )
+        if ( start == bank->start + bank->size && get_numa_nodeid(bank) == node )
         {
             bank->size += size;
             return true;
@@ -261,6 +277,7 @@ static bool __init insert_11_bank(struct domain *d,
             mem->nr_banks++;
             bank->start = start;
             bank->size = size;
+            set_numa_nodeid(bank, node);
             return true;
         }
     }
@@ -271,6 +288,7 @@ static bool __init insert_11_bank(struct domain *d,
 
         bank->start = start;
         bank->size = size;
+        set_numa_nodeid(bank, node);
         mem->nr_banks++;
         return true;
     }
diff --git a/xen/common/device-tree/domain-build.c b/xen/common/device-tree/domain-build.c
index 30a59abfa7..c3452a4037 100644
--- a/xen/common/device-tree/domain-build.c
+++ b/xen/common/device-tree/domain-build.c
@@ -504,15 +504,50 @@ int __init make_chosen_node(const struct kernel_info *kinfo)
     return res;
 }
 
+static int __init make_memory_sibling_node(const struct kernel_info *kinfo, int addrcells,
+                            int sizecells, const struct membank *bank)
+{
+    void *fdt = kinfo->fdt;
+    int res = 0;
+    u64 start = bank->start;
+    u64 size = bank->size;
+    __be32 reg[DT_MEM_NODE_REG_RANGE_SIZE];
+    __be32 *cells = &reg[0];
+    nodeid_t node = get_numa_nodeid(bank);
+    char name[32];
+
+    dt_dprintk("  Bank: %#"PRIx64"->%#"PRIx64" Node:%u\n", start, start + size, node);
+
+    snprintf(name, sizeof(name), "memory@%"PRIx64, start);
+    res = fdt_begin_node(fdt, name);
+    if ( res )
+        return res;
+
+    dt_child_set_range(&cells, addrcells, sizecells, start, size);
+    res = fdt_property_string(fdt, "device_type", "memory");
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "reg", reg, (addrcells + sizecells) * sizeof(*reg));
+    if ( res )
+        return res;
+
+#ifdef CONFIG_NUMA
+    res = fdt_property_u32(fdt, "numa-node-id", node);
+    if ( res )
+        return res;
+#endif /* CONFIG_NUMA */
+
+    res = fdt_end_node(fdt);
+
+    return res;
+}
+
 int __init make_memory_node(const struct kernel_info *kinfo, int addrcells,
                             int sizecells, const struct membanks *mem)
 {
-    void *fdt = kinfo->fdt;
     unsigned int i;
-    int res, reg_size = addrcells + sizecells;
-    int nr_cells = 0;
-    __be32 reg[DT_MEM_NODE_REG_RANGE_SIZE];
-    __be32 *cells;
+    int res = 0;
 
     if ( mem->nr_banks == 0 )
         return -ENOENT;
@@ -527,54 +562,17 @@ int __init make_memory_node(const struct kernel_info *kinfo, int addrcells,
 
     dt_dprintk("Create memory node\n");
 
-    res = domain_fdt_begin_node(fdt, "memory", mem->bank[i].start);
-    if ( res )
-        return res;
-
-    res = fdt_property_string(fdt, "device_type", "memory");
-    if ( res )
-        return res;
-
-    cells = &reg[0];
     for ( ; i < mem->nr_banks; i++ )
     {
-        u64 start = mem->bank[i].start;
-        u64 size = mem->bank[i].size;
-
         if ( (mem->bank[i].type == MEMBANK_STATIC_DOMAIN) ||
              (mem->bank[i].type == MEMBANK_FDT_RESVMEM) )
             continue;
 
-        nr_cells += reg_size;
-        BUG_ON(nr_cells > ARRAY_SIZE(reg));
-        dt_child_set_range(&cells, addrcells, sizecells, start, size);
-    }
-
-    /*
-     * static shared memory banks need to be listed as /memory node, so when
-     * this function is handling the normal memory, add the banks.
-     */
-    if ( mem == kernel_info_get_mem_const(kinfo) )
-        shm_mem_node_fill_reg_range(kinfo, reg, &nr_cells, addrcells,
-                                    sizecells);
-
-    for ( cells = reg, i = 0; cells < reg + nr_cells; i++, cells += reg_size )
-    {
-        uint64_t start = dt_read_number(cells, addrcells);
-        uint64_t size = dt_read_number(cells + addrcells, sizecells);
-
-        dt_dprintk("  Bank %u: %#"PRIx64"->%#"PRIx64"\n",
-                   i, start, start + size);
+        res = make_memory_sibling_node(kinfo, addrcells, sizecells, &mem->bank[i]);
+        if ( res )
+            return res;
     }
 
-    dt_dprintk("(reg size %d, nr cells %d)\n", reg_size, nr_cells);
-
-    res = fdt_property(fdt, "reg", reg, nr_cells * sizeof(*reg));
-    if ( res )
-        return res;
-
-    res = fdt_end_node(fdt);
-
     return res;
 }
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:50:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:50:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341746.1602097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waTzt-0006vL-A1; Fri, 19 Jun 2026 07:50:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341746.1602097; Fri, 19 Jun 2026 07:50: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 1waTzt-0006v0-1R; Fri, 19 Jun 2026 07:50:41 +0000
Received: by outflank-mailman (input) for mailman id 1341746;
 Fri, 19 Jun 2026 07:50:39 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waTzr-0006cB-25
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:39 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waTzq-00Dy3W-Ey
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:38 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4c7-e002-0a2a0a5209dd-0a2a450bbb74-24
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:38 +0200
Received: from [40.107.74.126]
 (helo=OS0P286CU010.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4ca-5e53-0a2a450b0019-286b4a7e0f22-4
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:38 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYTP286MB4024.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:185::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.12; Fri, 19 Jun
 2026 07:50:35 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=XTlVHBsT0VGCVtdb5sr0nqKCsEE49c7NB1e+Id7lvGQg/5QuV21aCMkWkutdn9J5AKZK5SFUzdwKqLGbF6F8w8UKUMhePjWCaDcM8BuWdBH9aOyEcFoxY8mtov6Ck6LEVJFh1Nb/w3rtfkqRAZnirh+h5XjnB9dy9c7KfgVQHcWnAq/BLCa9OJC5jEqQPwdOEcaS5sCF6AcBzSqcsJ3w4bP5lBk88VdiOZorcXcJ7RYpL9jTGP4+fcDsfTegCe4seBAVSNOUZUYC0zu0RdyLI+HGxxh1t50hW/0/UEnV3/Gx1yd7EPg5zMG3zdk51EUIn3lzYq3GMKky9kNUD9cRRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=moxaBUEqcN1Ar7o5vjGkq1W7snnGpWMRypv+OJNZZ08=;
 b=U6LG9lu8W/4GKlNM12NaCafZTe559sJw1m/UDROB2QPDtzIy+SSbIQ9YBPIpcQIBoLmJTI12ftI3+54nUEYu0LAOPhsJCK8Z5TcvN2PKbujnu20d9f4KuD9AHQPfqYhuKyfOAE64INil0hSBlZa4uWQQu182tpsWo1dKpBgZk0FbQoW9hzkrCYtOf1z250GKTqHr4L9TCOQJObAeucmHGR3ePYZY4C28zrq1HN/tWLCoftnUs+DbJ/f4ObJxhXptmfgfWEUtCbDXsvKlI0GrCtuakkizsBBTbqGD0AcGPohtS6oC5upTaO/a0IHDLjXiYDGAhcbjA3SFcUT5jC/h0Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=moxaBUEqcN1Ar7o5vjGkq1W7snnGpWMRypv+OJNZZ08=;
 b=M2nPPclWQ7tHAT0VEJUucQUBZgw2r4zmId7waWbPPNvACmqbXlGjYTLknBNiFThmrQPkwvYwg1VGA6+T0QOxmW4PHlhbqMm3XtZdd6DLoWje+d4J4eA/p3jrccFiDm79DYLQxeu/5LOfDtZED0/ELuf+Yv3B/8bF+yipTrEhyB4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	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 12/22] xen/arm: Balance Dom0 vCPU assignment across NUMA nodes
Date: Fri, 19 Jun 2026 16:50:00 +0900
Message-ID: <20260619075011.377116-13-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY4P301CA0030.JPNP301.PROD.OUTLOOK.COM
 (2603:1096:405:2be::9) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TYTP286MB4024:EE_
X-MS-Office365-Filtering-Correlation-Id: 57e115f7-cbf6-4949-dc05-08decdd77233
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|10070799003|366016|23010399003|1800799024|18002099003|22082099003|56012099006;
X-Microsoft-Antispam-Message-Info:
	ijVp9t5beFlLa31MoPLpNTQoScUC1jFqo8AbByTCb01VYaWv0npIsZQG49AtWUisfnkw6fJ/I1ysZOZuRtCUOuYsxFlPYpukLy/pMtNTlwkvuQ3zDSLpnI1ba4k9Gy62pdwevqB/9cMlTO1d0Rf95g0tiRZM77IF6gCbsBREhaRNz5hgnGPaP6QZ60sagGo5xUQAQ88o1Gy9/HeN+lizkFNf5J3Ro6KNN5xaXq8i6OGorxJClKpcZqCkLmQZ/yZkKlcBd8PfedGI28rn2sHAaMOUZWDNYuoXOZXlLw4E+3vNvKbKnrWYrbJJr9FCAW616fiGgjQnIszxoe8jzK8I6We/OfPqbZVgliWramdx6kHQNXPcF/16iafyfq1vQ4dG9OQTaORMOXGU3J7AG5PQWusElfFTIKQUKQFUib6RigV1Bd84h5CyAOvjoWJkVSIbOcrrD3Hf/Tr4UNoETzA64FsxGeFSPOTbI2OAU0H/PYKYY0uFykv8Udq2Xq4A/WPDppzVZEGKBL0261nXBcfcWa0mj29QYDzFdceDJIuAZopXizQ6tJQ6Ag89yen5xAhHgVEXJrTynQ22o1NJ85qJXUdmpAAWcuy5ZI+gEz9YgKi6PDFG0D/5wjTC8EyN7qRD7knp1qX6Fs0kZwTYS8bObm5Tw+nneha8x1wghaSFXL0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(366016)(23010399003)(1800799024)(18002099003)(22082099003)(56012099006);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?m+33504QdE1SWg/yWJnK0RdIP73g8yFJulRxIJFAtbrb/KhLgh+zPSlAVilb?=
 =?us-ascii?Q?MJgQyxjkcDvPJJOXpZa7+SsuzjBU1wGsVOOHRp7JS9w6EBNf/dOe/YUnTVKv?=
 =?us-ascii?Q?6a37nNfKqdtkDDiBu2XuYvbHesDsHUSJ6bP13hiF5i/0GaoXdtMTBSbbnOY0?=
 =?us-ascii?Q?P7Paieo5RiiSV7KBNmmXzPpkpRv8JUThAY3OZem2dNTyhk6/MTSs7L1dTEzd?=
 =?us-ascii?Q?l4awzfT9xC4gaYDU20EDxcbYPv0dydWa0p5AeQCorurIztsOydPUUMj8vVGC?=
 =?us-ascii?Q?/K1WeTempxPlDoS7IVG5BEsGAvw/fTi30LXJDA2vfv8+XMbzT/YGYmb7fyxG?=
 =?us-ascii?Q?B3w0AXntJ/HQBuxuDNpF++ZSfTAjJKHaymFYP3fF7mkPlQARAiNlEabccFUH?=
 =?us-ascii?Q?Erre5XQfKLDJ8FC1ezjFp/M2E2IFCsK7VvCCohc56S42/pPtHl0EnRpPKUEa?=
 =?us-ascii?Q?5sGD/Q9epE3BJmuNW2uc3FY4XjltWQcQHOXCSRzYf/UgmbFpkivVgwXr9HQl?=
 =?us-ascii?Q?fZcJfIf7+Yb/jkQP6g6BCBegB6hNiJ7klhWH25g9KbpcSVsp/91BFn15UhJL?=
 =?us-ascii?Q?TRlWZVII9wyN3++/ZoT/7NqiRa6Stzl8N3x7d7VTMNBdfmCIpOE6bs+ftJO3?=
 =?us-ascii?Q?yrOAADI1Onnbvr19SP8mTisJSftkzXOALmfL/6+aDpEmStVgfctFfDF+GkDs?=
 =?us-ascii?Q?XGk5vGkraxhdoVejIWjNHrPAv467m7J5dTXzPx9UFbtEP6epYrXhiDkCdWrz?=
 =?us-ascii?Q?uBd96tnESuSNn9/mTo4OHGc5fe2c2Y7K5EUVJ2fZYp6u60pBuQMJPmdFewk4?=
 =?us-ascii?Q?RL1A60xEfd52ABcli14bIzLnrAUA5LltKqobC8yISQ4z15sv8BzRIRtMMNGI?=
 =?us-ascii?Q?c91t/D3fDI4B/lKTD9/1JZR7W/5E7Zfla67zHwpdsGRsNVMFb4KI511DUd2i?=
 =?us-ascii?Q?jOL21LaTjBaKIleTp7wD7+goOApbFC8SVq75IdOsDmd1tBfH9N4JWrpEI6l6?=
 =?us-ascii?Q?M/QmcOoyBXi4nrfBWgIckxljW0w1XJrZfZOU0YO009w48xqav0W/FMP8Whzj?=
 =?us-ascii?Q?1FEMMyh0+up1Ydp7QfMKwWh3nv8LeNpE0cKgveYg83XbEqV1I9vxXleWaPKL?=
 =?us-ascii?Q?L9CAB7cXIVbfVCZXeEFwkQiZcBN2vWaEVqRjwIlbtrFk1wBKpkV8A/pbrABE?=
 =?us-ascii?Q?ly64WFUlw+e6vmrCC2rZTeixl0lfVR0PQSxC8H73hBV/F7lLEWIm4X2nW/RE?=
 =?us-ascii?Q?aSQZupLUaDN0vMQL9BN4IlE4WLCeyIb2wZvRWvOvlbhCRc1GryO6RYl0mXcB?=
 =?us-ascii?Q?NG2AxD7K7lLk5/IcRFpnC3EpBllnGf1GUcDjgBLQd6rd5FdwFZOKc4njqDzF?=
 =?us-ascii?Q?nw3RYvfUJdSpeJsOjNYJDiCBwmbIDhWcgduEJtler/cEkEVgPZ/evsAQM0Og?=
 =?us-ascii?Q?XVvCTiJVsuY2LDB/a8bu3mR9TZFBbwC5RToh4dFQxrrfgcwc7BdNe2NyAEI3?=
 =?us-ascii?Q?LnrmvFwGYouUltTBkcUCGbCJRLeTfkT40gBiVDygp9+0VO3kVVW7dThAtzfv?=
 =?us-ascii?Q?6fspJAq0YANyWuXo1CnPQvPGWfkFJry0Y11UN9dTKPSk7RkPeudm+sCu6tEf?=
 =?us-ascii?Q?ePQLIVQg2QtJFeCuhAZwJI88H2BmLUjE9SX3JwSpXDWGlXNVIK9oI3esxE4f?=
 =?us-ascii?Q?dBB8eqKiu/KiuO4IQvaXTn2Vj5JHMSccJFT7pcS0n5wg7clT2RRkpB5I7Fmi?=
 =?us-ascii?Q?DVspDHX7wPuLNSn54nXU+0BjCUZn7JBHMofm/SiqipPUmkq8ikF2SiKROOq1?=
X-MS-Exchange-AntiSpam-MessageData-1: zPHgWvGnrLsgfQ==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 57e115f7-cbf6-4949-dc05-08decdd77233
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:35.1819
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7d1VZSFEzqqhvG6zhnoZ3wqepoxcxp7EpSgQ17v5sAosajoM/7FSYtAfwKzpl9hCdyN3UeykuJ4Spyj4Q95RpQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYTP286MB4024
X-purgate-ID: tlsNG-42698a/1781855438-4CDF000E-FC6A253A/0/0
X-purgate-type: clean
X-purgate-size: 2071

Configure the assignment of Dom0 vCPUs to NUMA nodes, aiming to balance
the compute load across the available nodes.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/arch/arm/domain_build.c | 46 +++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 7ad53d85b5..f5fd065435 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1233,6 +1233,34 @@ int __init make_psci_node(void *fdt)
     return res;
 }
 
+/*
+ * Map a Dom0 vCPU ID to a target NUMA node ID.
+ */
+static nodeid_t __init dom0_vcpu_to_node(const struct domain *d, unsigned int vcpu_id)
+{
+    nodeid_t nodes[MAX_NUMNODES];
+    unsigned int nr_nodes = 0;
+    unsigned int vcpus_per_node;
+    unsigned int node_idx;
+    nodeid_t n;
+
+    if ( nodes_empty(d->node_affinity) )
+        return 0;
+
+    for_each_node_mask(n, d->node_affinity)
+        nodes[nr_nodes++] = n;
+
+    if ( nr_nodes == 0 )
+        return 0;
+
+    vcpus_per_node = (d->max_vcpus + nr_nodes - 1) / nr_nodes;
+    node_idx = vcpu_id / vcpus_per_node;
+
+    ASSERT(node_idx < nr_nodes);
+
+    return nodes[node_idx];
+}
+
 int __init make_cpus_node(const struct domain *d, struct kernel_info *kinfo)
 {
     int res;
@@ -1915,6 +1943,24 @@ int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
             vcpu_switch_to_aarch64_mode(d->vcpu[i]);
     }
 
+    /*
+     * If Dom0 has specific NUMA node affinity configured, bind each vCPU
+     * to its designated physical node.
+     */
+    for ( i = 0; i < d->max_vcpus; i++ )
+    {
+        struct vcpu *v = d->vcpu[i];
+        nodeid_t pnode;
+        const cpumask_t *nodemask;
+
+        if ( !v ) continue;
+
+        pnode = dom0_vcpu_to_node(d, i);
+        nodemask = &node_to_cpumask(pnode);
+
+        vcpu_set_hard_affinity(v, nodemask);
+    }
+
     domain_update_node_affinity(d);
 
     v->is_initialised = 1;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:50:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:50:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341750.1602103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waTzu-00075J-3I; Fri, 19 Jun 2026 07:50:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341750.1602103; Fri, 19 Jun 2026 07:50:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waTzt-00072v-Sn; Fri, 19 Jun 2026 07:50:41 +0000
Received: by outflank-mailman (input) for mailman id 1341750;
 Fri, 19 Jun 2026 07:50:40 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waTzs-0006gv-4v
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waTzr-00Dy3W-Fz
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:39 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4c7-e002-0a2a0a5209dd-0a2a450bbb74-30
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:39 +0200
Received: from [40.107.74.126]
 (helo=OS0P286CU010.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4ca-5e53-0a2a450b0019-286b4a7e0f22-5
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:39 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYTP286MB4024.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:185::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.12; Fri, 19 Jun
 2026 07:50:37 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BVTw9w7YZiRVGVo/YGG4Nu8g3+GbVL5uMvrbNF7cMbJE4CkLEW1tuBe7vsim0s1+98MouaHfTlXMiSrRngYFW9aV2Re8RY1jGwKFmwsLDQdXNZrKrrWNKOatgbTLCdxh51+HkEhQQr0X1mCqNCuHoYB2apd1uuJY5D20k/iS0wRzJX4GKnUt1YUkmHmcaazQwZ7s8GRM1qGiJelPq4ggJuTE3msI66goC5O/BZWm0ye0mOlfjD9WVDn5+Hg+d5moH3z/L9OkHhiWkjvONGz4jUpWyQvO43BHw9bKV32Hzcok2gY1ZN+7HEwPHyrSQRDhWF6yN3Iy16tpzcWGSV1dFQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2wxJbHcM0BcD9NfoU7heSrzEQA+9Zt5KHHIexZfNnfE=;
 b=f/7SrqLV03fT/DDJyPVHsaLtsIvvS5r/lgUd/0uo0bBniKqcGjRWleb9I8o/khw8E7nU6cQ4PRqGdJ4CS+TwERvhT+i72W9fAOPmLhRwpOCMRw+i5GbdRovrKPjdaE2cX5O409MHRTCPPL3QXCFKILTt1fbZRMhg9j6DhCHjJs0xbOO9KbD55FEOI1bKa520aFh0xwAxCkNEFEEBAV7+tu6KXmGTUU/Gsf464a+PNqKUf1ySUMu/WWv+c+y2qYzSYhdibSe+dq0USie2TsuFG4IRjTEwLJ1KThkfhqQfF46jZepaaomDrdrCJXXYISK81YJT8wT+o3XUwCDD5FCPUw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2wxJbHcM0BcD9NfoU7heSrzEQA+9Zt5KHHIexZfNnfE=;
 b=S6S0pEFZRdavq2lvb0SlX3IPY1iNGK4y36KJYxg/RNpJR/YMHXrDlhRlegggLckGKb8J2wD+RlrhOMLZD3lTaMg5HaO6GhxZR8rFXNTfnn3rJ5yMqqHhtbuSGCivOtQYzIm4uQY/VlWP8tb/na/n2hQgEDNulYU846EMCeWQOpg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	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 13/22] xen/arm: Export Dom0 vCPU-to-NUMA node mapping to Device Tree
Date: Fri, 19 Jun 2026 16:50:01 +0900
Message-ID: <20260619075011.377116-14-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY4P301CA0036.JPNP301.PROD.OUTLOOK.COM
 (2603:1096:405:2be::19) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TYTP286MB4024:EE_
X-MS-Office365-Filtering-Correlation-Id: 54822c0a-c555-43ba-441c-08decdd77343
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|10070799003|366016|23010399003|1800799024|18002099003|22082099003|56012099006;
X-Microsoft-Antispam-Message-Info:
	NWocCvDB5IUPcIsUjdS7nYG/BQUUp1D/c5ORyyBwKlic0xqiS76Yc+mleiaF+05cWL7lTRj5A8QB7lhb+8FWgwnsfNazY6F5lD7E8JD/Vdhq/8nFavMGGEIibGQUpQAo44BD5wB3HjUCd8auDiGBfawWS5DV9oKPZyOX+ZkSSwm/Jg6Wj4CmACOtXj64tjrWr2RGLC4yptiACMFv4fZfhfpFNn1N+9Tg+H4+vquM27hTE0eWRHxB+M8lnAMt6tL9XaiBRV2SHbbXFG0z82dTCDNs6JEes6ejzDFqNTsvT/om7Q4SgeB0EP5M+B9UlfR7qF91iqZF0TPvpTBkygFHwE1G75RGAvnM5AFLkCZPuaIz+EQpjtFWXo/7BakQmVKTU7J0KELMRlU+ZF8yln35oro9xsYQHEZfJ5R/yeF35KmKhC1Q4LVSRPVqZaCAeYoRr30QJ4Q6S6ieNdmyadN/rUupj8eH8r3KnXM8RrF1VQe4+iMBTDtt13Hu0Biw7GSihPh8N1E0t1LAl7rGWtN1SKdYc5jNabxhqbfKkRz/w4Xol/wOjolGoLAzEKYuWZvKvIGjKlnEk8UejZ0jwuhEhezPDvnuUvlizye1NRzDuRhfrpaEyWaEUNMQHKkZCfV4ASO2ldxsH9KnE7GGny9qdO0EeP/zIV/cjUL0oqyz4gY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(366016)(23010399003)(1800799024)(18002099003)(22082099003)(56012099006);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?qKGD74jWTMwtFlDBlhw6734tfFWOLFv2YOvpOO/YKEyJsH60nHZaedU55TFh?=
 =?us-ascii?Q?LJC4k6OJb2NDLbo6L9/nuSisL1ayvlmCP0YU2I5mz7cmhwuIfVla688ufR9m?=
 =?us-ascii?Q?Hkwmuq74iAkoquhkvZQFjLPKPm1wBrOn2x+krClhXX8SZ+J4Q9CKhN1NsMG2?=
 =?us-ascii?Q?AgfR3bT3+zpLtk/+Bqx7vvHYThCboiwPgwe5Y/MIysKH0MOtsLyhwmgYQkS9?=
 =?us-ascii?Q?e5DotAheRUvL/w5fieYb7KupRtNQfGnJnc+j8M66JcaeeROpP+Sb/yCQCiZ5?=
 =?us-ascii?Q?zc8RXpHq5c1dZzV/ukzth1NIieudmGCdSfpnMHQyPK/htibl+iOH7r7kVdOA?=
 =?us-ascii?Q?kfOY/8zNTSrpXf/wltI0uY4VDBFLcx68JACVtuCjvOZCyqELu9Pz5kQra4zi?=
 =?us-ascii?Q?GJhZC/NI2MLLE+PCMJYBvmq1qRnS6m8NS4Vp/gI2CkarLs53670lHVlwlPd6?=
 =?us-ascii?Q?/m5Z1n7vgv2nA/CisZM9menXZnTTqFJDOqjn1g7DHyHQoiOpVa9GwmpV1yeu?=
 =?us-ascii?Q?DaYKgud7R7KqoBC2BXqIHFetCwFtS4V7xS2B8W8BKI9AzZfFh8YZc8kBiYMp?=
 =?us-ascii?Q?rYZhcrGi0LhRtI9MxQIcW3JV5hFTxDandGVKWHvOmz2sX6KZ85EKaztHSl3X?=
 =?us-ascii?Q?ftmtp3qG5Wvh/CHrU5XjxLgxck/YKoiuomef1RUU/Tzyc65H0Y/afQfKHCxf?=
 =?us-ascii?Q?u2UFnRMA52zzkeftQWwNgU0E0pr0HQqxZ07xm06HSY1bW/AnCuhJUe9RGtNi?=
 =?us-ascii?Q?OtNZQXTTq5iyv2fZAJybThtIogSg4D0GoOkouZSO7rVwk5LVYgPHtqjU2n5I?=
 =?us-ascii?Q?XqFr/96wZTfb97f8+O3BpX1xD7cLrfe/MXg71KPYtT+iuel1Bbpbqt3Hl0zs?=
 =?us-ascii?Q?pCLioAwH+xElu7t7CGcG2xheKsnHqbIrUQlkS/NwkZSxA9ZqPRi4eseZdvgb?=
 =?us-ascii?Q?2JyvINSnv2+X3lttIu8QBJUuuOcnwuX5CmWLBIKWgR6Ny9uxxuEcPd1R2Ewt?=
 =?us-ascii?Q?loOo914gmQ54f4tyYAHFGNPyz+1RYJwtW7TCIMq2nFnU2kFoxSphG5cpN/NO?=
 =?us-ascii?Q?p+Ah4RJpJLnA5JQ/mrV3oAClUrOfknanib5+f4O2TLNI+kICk7SD0npKLoAx?=
 =?us-ascii?Q?JQlRKaSyoVYqHgriltZIDO4qlFZOvJCTqZqhKyWN2+xVLjDqpAblTYHl0041?=
 =?us-ascii?Q?AaLTYhEdeAktphHvpoQcL462S8e4ixaEg24urqQHMIXgDVw8pcFTpYL41pZ9?=
 =?us-ascii?Q?+XdVqPCqJzG3bW246PI8jaRmiobNaTxrTfhKON55JMx/ys8qe1QEu2lnj7/B?=
 =?us-ascii?Q?yxKs03qMi2YmykkGNimUXqHB9EiVkX80g1kqMlznszJ7CFTnSPHgE52aIG0O?=
 =?us-ascii?Q?XYbyV+v7vsKO3hHBavQ0REezfeL67LydIiufU/3UO6x9XoBv2bTqWTT9M5vb?=
 =?us-ascii?Q?nwmaBgtFkHCHNHWCPAgJGcOjC+Vn2Hu2BAFNKflXmH0dCXGunDA8L8Mj5kaA?=
 =?us-ascii?Q?3f28Qq9qLhHAQbEDemRiQczgS0pQRLycRR5ufdKIh+9B2KuwAoOxa2ImffK2?=
 =?us-ascii?Q?2YHEiqfExGj6IQK3HAPdwpCFKPyoiPQI5tDVovDQxTVIYxyIa0/d0mpA1had?=
 =?us-ascii?Q?/C+XaiyAeh6ZSycXupAYKLhBttLD/CuyFzax7jfbrbC4o8NN6M0bX3T7wF1M?=
 =?us-ascii?Q?YTpfJjvB+wJAPvzNrwTQQpCX4vLqFRIMj2l/ZgIX+v2SGzznuc9349RkDqn+?=
 =?us-ascii?Q?4EtO0cWL7v/QKT8CWFH6FMA6bn83q1hJVLm/APwrqLAPXlzMSj+CT7QMDLsP?=
X-MS-Exchange-AntiSpam-MessageData-1: MctpQsvSsbD3Jg==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 54822c0a-c555-43ba-441c-08decdd77343
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:36.9550
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: v5UvyjYVlCTV/uvvHpOd/7l+0dKAFT1Z0wOCd+s88NQQpzBaNu9aMeK7RBf1YPgpFCbWMltWD/JHsQU4nP6TWg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYTP286MB4024
X-purgate-ID: tlsNG-42698a/1781855439-5C68400E-68852E94/0/0
X-purgate-type: clean
X-purgate-size: 942

Export the mapping between Domain-0 vCPUs and their assigned NUMA nodes
into the Device Tree generated for Domain-0.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/arch/arm/domain_build.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index f5fd065435..b4783fcfc9 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1381,6 +1381,14 @@ int __init make_cpus_node(const struct domain *d, struct kernel_info *kinfo)
                 return res;
         }
 
+        if ( IS_ENABLED(CONFIG_NUMA) )
+        {
+            nodeid_t target_node = dom0_vcpu_to_node(d, cpu);
+            res = fdt_property_u32(fdt, "numa-node-id", target_node);
+            if ( res )
+                return res;
+        }
+
         res = fdt_end_node(fdt);
         if ( res )
             return res;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:50:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:50:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341755.1602116 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waTzx-0007lR-K2; Fri, 19 Jun 2026 07:50:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341755.1602116; Fri, 19 Jun 2026 07:50: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 1waTzx-0007l8-Dw; Fri, 19 Jun 2026 07:50:45 +0000
Received: by outflank-mailman (input) for mailman id 1341755;
 Fri, 19 Jun 2026 07:50:44 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waTzw-0007e5-P6
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:44 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waTzw-001qUf-5x
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:44 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4c4-2eae-0a2a0a5409dd-0a2a450cb99e-38
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:44 +0200
Received: from [52.101.125.75]
 (helo=TYVP286CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4d0-94a4-0a2a450c0019-34657d4b8662-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:42 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYTP286MB4024.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:185::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.12; Fri, 19 Jun
 2026 07:50:39 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DiHVHu4VAR5R+0uhqY5GOhSqebxFGeW2w7V7K5V/eBTy/MmsTV8G5zTVE8bZCySRipxyCWhhrDfUO649q15BH6a/QX2ABaftwKDLoFeaNlwXchu6vYPeeQJiPBVym8qpyGako3e8/YRk6sEDvSVf/db1claE6XXCY0QI1qMyFs6Al0Wo/iz7UFYbVpCOIh1nA77kXUWE0zjHcLWfWp6xL5g1Ge+eC8V8IOfa2vsNm+ZuQCh/6ixiUIvgwIvXxRg4tV5xcM7wetRLpPgTaRnXhEgmgz6f2O+WS4j5/q7u1ZbU/slndwILKTizuIqHkI76nZ6SyQhLkSQjd1KME8b5lQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=z0WClwWoPG9QZSwKRNXVdSlrLBLvrdbvn531SGZtWAM=;
 b=ijSUBZCxlhY83Hp7HMotDcQLx4nkfU2CKovuylwd7j5Bsp1CYEPJus06tbvydaOYtHRdX8QeSK1FOgk79LCWesIgz79yP9RBAjrIWR6dcHfOnHEseQaxy1N8SBxybTYl0tu/8V0kVCZ7VlC3ycvCYJV2hBlEe6sv6KCe8CeawGREuvz6rEBa/iJd18PLZPgTxODyTi+np+unEZmZAzG0WrV3cQpaMrsjeqfEuri01yytnbISUAmICkMs63cufcD5FtZERzrqpTJ3RW2T9f2i7OAHKUUvcDAYY+xlITahM060tDjZ51lcIHETNOxR4KWJCHBf6v56OUbi1M5mKHUv8A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=z0WClwWoPG9QZSwKRNXVdSlrLBLvrdbvn531SGZtWAM=;
 b=ESzMuOup/OdeYbf1lOj1o9Cf+Mnd6cNaXx2toazJinhjiJMM0kaXg0yywQhvBRhydcBfB8ZUTvR2qcnukNt5sjdAD0VDwUQnZsb6ZjMw/kJ67ZCErZnu70JkSyryQIzxbewHfJb8fAulfIZmuzcGyRPlwZxji4I4dJNpuGNaBDE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	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 14/22] xen/arm: Generate distance-map node for Dom0 Device Tree
Date: Fri, 19 Jun 2026 16:50:02 +0900
Message-ID: <20260619075011.377116-15-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY4PR01CA0099.jpnprd01.prod.outlook.com
 (2603:1096:405:37d::7) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TYTP286MB4024:EE_
X-MS-Office365-Filtering-Correlation-Id: e0c05263-1cee-4145-3f0a-08decdd774a6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|10070799003|366016|23010399003|1800799024|18002099003|22082099003|56012099006;
X-Microsoft-Antispam-Message-Info:
	ziKKeHFc4iMWK7yKuRK8k2WJNVYo5EXN7sbGBFgZ8t2F74mDPHVHxvY17kdzvV6q4F9Ce7tpfNTYOlBzucTFeVNiuJLQnKJQtuydyKvHOyB/ApCPyBZELJRUc7cCxvUxulSx6Q3kNG0xbMd5PMgbTC5mXyF4zhXrRyloAdgUX0C7QPQJqrSg3BaXa1zJk2rtdRRTII5J86p3rIzMny6nDskttn8MypPep0ib9A+ddOfVRDuMyJGW4Fd6K6mqLSQRFdl1BZNa2gxErs9oesaol9Jbz+vlfKMo+tcDNcwTLiUvKXcYPUF3Gct+A5iKFc30p+moR4bfrk4XlxaBN3oz1qVT6DCvn4829+X4YgT1KgE9c+hb31/flaSGie0O9bdXV+7fnsE+Q97bybIbd5U3sDoenVD2laIsy3MMQLVEWfO3oV1WVAQYwdclKeiEzvU2DuClk7vO0b+RA3uMnrQYtu8FLrtMR6D2Gf2GyeyvOobqISzgpmTPXR+lf6BvaZ0b2TOb+jAj7pVZ7aSCWoF2vdyaPOCAll+dboNOjSacr27bnbgApHH5NHNTubYY/Tk40KB0WwuZOiy1b1m9/nNhuHKd8e7ndT+ABsYokU5MPlqWdowx+sKJHWy1bPYRexZM1v3rbyVM9YkA0oDH2IeLt+8uA584kdCsLCqgPGpZhFk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(366016)(23010399003)(1800799024)(18002099003)(22082099003)(56012099006);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?T8+n1cK4hMJT8FlcK7vIL0t4zIZ18Qt75/nvzI07QZuYqd7xfoOEljCfnzPs?=
 =?us-ascii?Q?zVo3O2FXNWe/tWOw4uva7Q88BAh/VtBtKdb6vpj0smKGyZMD1mraGef8MY45?=
 =?us-ascii?Q?eD8N5KY2xqMaypUdN8WqrmdvbACItWrrRXqPyDm7wT8AHl1U279LNaEy1u5U?=
 =?us-ascii?Q?i8ouZETID71emHYZdL8JeZx/WgGlq+W+eHBXkTvfNV3eJXwCR2O0Ynw41hvB?=
 =?us-ascii?Q?8rfE1A8HZiwDIG5WvDQWN7LRCpFdbHxIu04+c48r6dP+L7jjUubrMoyZfb3Q?=
 =?us-ascii?Q?QuaNLUqkrBMMlPEm1GtBh4rtDowOoIYOwT143U0DbKaIjFXbNuROy93MC+0v?=
 =?us-ascii?Q?aUIzAumvcU7mDxITcH/oQKdK2lRut0qj7tb01CmDxYF8kpbHWZboISC33Osa?=
 =?us-ascii?Q?U1Nu1QIpmd6d/TtVmGNMLpp4z44NCYZZv8fCQjEe7iXG7nV7taTjoOfvQZZG?=
 =?us-ascii?Q?Vx8poeXHlGJSP7Gs1+btivxrffDOiAVe1ZvMTamMPjmrtzMY8HyYtYq/TGPi?=
 =?us-ascii?Q?AMvJh7HZp0VMOH8Kufa0SrHBBbhbQmtgmrKkamx1bFxrbVj1e9XFTAKnBo1W?=
 =?us-ascii?Q?d5877avvPSJaoE8MSKSyiMWdkzz/Byfy8P/eaTXRGNpabNC5FkJoB9T2S+Ja?=
 =?us-ascii?Q?cJTn4dADgFL1rhrJIAmRo5ghPjwwSL/O1gYXBB5JjLgCjjbIoh6rHMtqZrFn?=
 =?us-ascii?Q?o2HlaXCB1oW5j7LW2T3BaF0cc/fuEjAAV7/HWDsLbR+GfWwIomTo+Vb6uO7v?=
 =?us-ascii?Q?Ir6MfAtqTwoBa5KuATQLCN8MA7hHiKzCmCktCPBf+p4L2KsmLF0ZBUfLGgh9?=
 =?us-ascii?Q?kUJhlkyLS5TWeGcWorV9k7ENPW6NQceL/+gEyi0JiypIJ7Uta10nNsUS0pL4?=
 =?us-ascii?Q?/SKnleZJmXTbbvb1BaRmzwYD8Ezm2rptK/RgQCc45O6UDPFW5bJddpm/qA2G?=
 =?us-ascii?Q?vgI6WqAVDd8HerJlUGNnv6yOTRNC4L+vL45kz9yvYQ6Rq87l2YoTyCS9t9TU?=
 =?us-ascii?Q?t+5NglsGisqwDIiBkMsq7b4x85NVUgmFsRmtWU0Dw+TT4mOOqcfSwKxi6vBi?=
 =?us-ascii?Q?BW2Ip20Av0/4Se0pZJJnHCdQUWaPiyTbrrzqlujTp5vnFVOWmeB6JTCvUf4l?=
 =?us-ascii?Q?FDNPjP+sHeIowI0qzaCkkH1iLHrT6ymAnNfcy1qRZy967/k/Hwzs+dv1fzNd?=
 =?us-ascii?Q?piCrK7Hd/o+YLWjcfo40yiBFFDxtwqlQ44ldZN7bTAOg8frRviGkHMrYBEEA?=
 =?us-ascii?Q?Tc6KNjjLs0f+WMDpiNOvSfOuwKMS7nKGQVYNzqqcXPoQvG0sSrsh/ahFP1WX?=
 =?us-ascii?Q?eCSQcWNizX82fwR+BuPNPbrcT5jVHQHyQHnG3y90U9xyZsSQS8qpkM0S+xq4?=
 =?us-ascii?Q?n0gI3xtx1kyJP/5rQG9v+fm6RucobxGdp5OHxh3p0ebHhAH/8VMzhEFktg94?=
 =?us-ascii?Q?nTwoKVuvfaBhd5zk9zu+R/1VbVFxj31I46DtDZVq9C7Duda+aqOSFRyUMQy0?=
 =?us-ascii?Q?6BXjGl+uZCxR6NjlQv8Ki8b/2vT2+z/oDh7uhFlW0y2SxPpjJZFVMnM+9lwb?=
 =?us-ascii?Q?bTMSzomCBWTY3PSL7ZOsnwADdqP7q3uKReASFkF6f0WNKl7CuKKrmtjX6dT5?=
 =?us-ascii?Q?cHUcQS+ISWUtgaphn4xMHcTWLYlcj6bX/cGeUW2Y5NKKtX6xCYKVan/TKOxd?=
 =?us-ascii?Q?VXT5v1mPAliNEyraUDAHyqQlZCVBZODPTQDbMTuiwzSxLyykXJWiVvK5Vu21?=
 =?us-ascii?Q?UMmi76tPUiuyvLQ7KqJW7hFaCLfNCe4AYzC2HBLdnxMLFx/vo4dYm8GbueFG?=
X-MS-Exchange-AntiSpam-MessageData-1: 5jqKkky7jdn0Mg==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: e0c05263-1cee-4145-3f0a-08decdd774a6
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:39.2807
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MMp/7cNvEGDRiBdgCiXjyuoN0djxcmFmsfmVTXy9/Zx82NZgnMIyQUQhPhmPe5xJYBd3ZhjdXHpifszY93OLvA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYTP286MB4024
X-purgate-ID: tlsNG-d25034/1781855443-51FF5ABF-287CB1F1/0/0
X-purgate-type: clean
X-purgate-size: 2755

Generate the 'distance-map' node within the Domain-0 Device Tree.
This ensures that distances are populated only for the specific NUMA
nodes assigned to Domain-0.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/arch/arm/domain_build.c | 50 +++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index b4783fcfc9..c036721f45 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -726,6 +726,51 @@ static int __init fdt_property_interrupts(const struct kernel_info *kinfo,
     return res;
 }
 
+#ifdef CONFIG_NUMA
+static int __init make_distance_map_node(const struct domain *d, void *fdt)
+{
+    nodeid_t from, to;
+    unsigned int count = 0;
+    int res;
+
+    static uint32_t __initdata matrix[MAX_NUMNODES * MAX_NUMNODES * 3];
+
+    if ( nodes_weight(d->node_affinity) <= 1 )
+        return 0;
+
+    for_each_node_mask(from, d->node_affinity)
+    {
+        for_each_node_mask(to, d->node_affinity)
+        {
+            matrix[count * 3 + 0] = cpu_to_fdt32(from);
+            matrix[count * 3 + 1] = cpu_to_fdt32(to);
+            matrix[count * 3 + 2] = cpu_to_fdt32(__node_distance(from, to));
+            count++;
+        }
+    }
+
+    res = fdt_begin_node(fdt, "distance-map");
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", "numa-distance-map-v1");
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "distance-matrix", matrix, count * 3 * sizeof(uint32_t));
+    if ( res )
+        return res;
+
+    res = fdt_end_node(fdt);
+    if ( res )
+        return res;
+
+    return 0;
+}
+#else /* CONFIG_NUMA */
+#define make_distance_map_node(d, fdt) (0)
+#endif /* CONFIG_NUMA */
+
 int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
                            void *data)
 {
@@ -1576,6 +1621,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
         DT_MATCH_TYPE("memory"),
         /* The memory mapped timer is not supported by Xen. */
         DT_MATCH_COMPATIBLE("arm,armv7-timer-mem"),
+        DT_MATCH_COMPATIBLE("numa-distance-map-v1"),
         { /* sentinel */ },
     };
     static const struct dt_device_match timer_matches[] __initconst =
@@ -1741,6 +1787,10 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
         if ( res )
             return res;
 
+        res = make_distance_map_node(d, kinfo->fdt);
+        if ( res )
+            return res;
+
         res = sci_dt_finalize(d, kinfo->fdt);
         if ( res )
             return res;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:50:48 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:50:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341757.1602125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waU00-0008Me-42; Fri, 19 Jun 2026 07:50:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341757.1602125; Fri, 19 Jun 2026 07: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 1waTzz-0008LC-Sb; Fri, 19 Jun 2026 07:50:47 +0000
Received: by outflank-mailman (input) for mailman id 1341757;
 Fri, 19 Jun 2026 07:50:46 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waTzx-0007m8-SO
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waTzx-001qUf-8T
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:45 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4c4-2eae-0a2a0a5409dd-0a2a450cb99e-44
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:45 +0200
Received: from [52.101.125.75]
 (helo=TYVP286CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4d0-94a4-0a2a450c0019-34657d4b8662-4
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:44 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYTP286MB4024.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:185::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.12; Fri, 19 Jun
 2026 07:50:42 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=CBpCzKmTzGC3RE/ijY/AP3GTl2HVw8NISXO+SW/9O2N7Bcl8lVmjy0T7EeNsPQwBbLAzAnfDjqvcZWjwnzG/sYq4IIv6qqXOepF543NukGA1y0lt29Cn1hahkg8WlVfiCwOzcmLHVh1ff9tpWI5mzqmj/omPI+ZYuVSCrSmXT9u9442TSYQQf9WWvLstSnkBfUrtr1mCqpEJxobFFsFYpi/Ve7sSMwgcYh3sKDLSv2xJJxQrlJzBPYIF+tcvfeBnpWrlqPvbErXoPJ4diZOM0lkSLT0aiDG54rV2Gale5iMnqM0BgsvQ/h8uKdDLM3a5n2OP8OiUfu23bUIG2Yx7+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=gevVPhmJDfeBhPDt7bTqXXZzC2OXbkPPQ3tykLpIMiI=;
 b=hcfhnbUStrZMTxw7o/P/H9nX616LdyESEG3hSOBWhvPElTzR7A6wI9aZ0vWxLY7Kc7Ii1YEqP9snRWj5Kw/8wK+5bgeVnvbQbLRXzuJ3R/gO0szOh8ky3HssRpyNkEYDhBPk3o1HkOdwS1sw9E4rHF4oMEXYuQT4+bFkptVTNR/pgiAPmXF14RRXMtKoPSR1ZXzxBZNZyEVm/N4HoEw9RQ/4duqUhuE/OSPp1VckWeNTQd+qj9Wf+s79J84YEDBOqUlcJjNZInjz/EaVNRMvn21R/I1Xt8v1QD6GEXOYulmilh3uy+oC1by16w/PYRmBQU1BHzY3VciVs4Zgjhu4KQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gevVPhmJDfeBhPDt7bTqXXZzC2OXbkPPQ3tykLpIMiI=;
 b=TDviDKhv0Cld8b8qhBtgCBSjZHBNZMjkbNtKatW7VfW8fY7IsZhTaksokbBurvS5QNO47G8UZZwq34q38Xu0rTOXWLL9pYCIl0qYeJ1Qh8dksHiYgmL2atp6PCuhZqYXN0obrHNM68eJsIYWh2sIzkNEVknnoRWEgYxxwlZmhYQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v3 15/22] xen/arm: Balance Dom0 memory allocation across allowed NUMA nodes
Date: Fri, 19 Jun 2026 16:50:03 +0900
Message-ID: <20260619075011.377116-16-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY4PR01CA0091.jpnprd01.prod.outlook.com
 (2603:1096:405:37d::11) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TYTP286MB4024:EE_
X-MS-Office365-Filtering-Correlation-Id: 9c839891-3b60-48b8-2552-08decdd776b6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|10070799003|366016|23010399003|1800799024|18002099003|22082099003|5023799004|6133799003|56012099006|3023799007;
X-Microsoft-Antispam-Message-Info:
	QZ+iOcchzFSLpCu1zSGAFvEijvonFVTMUV+FCJ75e3PdNb2Ua85IiQ0Ci1wECjYlF0A4EdIDNPYAQ+NQWODPxYvK27ppWOQo6gO2rTTSlIFsXy46ACJEYQQJfkRBiSxD2EVJOXgBZ3liASkKGcV55XkcDTY5I8twDBo1dN4Ckci4YbhPX10l+GulQ+pYrVxApY0ziYLPpCpIVfSGzPSjMqafUZp/WfkvECY2V62NqXS3iTZKUOVTpQmAn5Lzt9cqGW0/nFE7I3K4D4MCz68VCrgTXh9EVw+sBzIKclIk4VksjEObVoKlc/uab7FYFyyXXAVBbjW0A0D5A1DGJ1taDSYifXz/Rx6bMQSjaPVBxV5yo39OnHLsSQgUIGpHljD8he+a59RZ2D+PGNu3qChUoURmdIFKLBrUSiTKCpjgpcVq744n+4KGA1kZeBaoUCY8ztr3K+9bSf7eP63ZHjfR+ITPoFDlVs4iHdFG831jpKaF9XHW4FrX+Qgc6HpM9WDcMmsYX+20AfFRI1pGDAsYHu9E2z61jdH06T4908usIwBw6donBIOZ3ST2VS4qNftVf8yMskn08dMXBIvchex3ZhNYVByFtpy6xsg0iDx5iEZfwC5TKuIWeuhQhZEfj8xTC4JtAMoL5SMNTyTHLwqHsyn0dy1VtLEhdJbx+sHGZtg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(366016)(23010399003)(1800799024)(18002099003)(22082099003)(5023799004)(6133799003)(56012099006)(3023799007);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?8kgiYc+Q0K62gB9bKu5NYoRP+4BM90aT0mJPnppzVkyEX+Fv74wbblG7CMJ7?=
 =?us-ascii?Q?vxJrQL+nZlBp42jbl3cLU7OahXdZD/DIJ7McLwJ9VU3phZ9ovDc6kwPiL0cF?=
 =?us-ascii?Q?kR0xBIiuUzCXQZeExcWiScLw6QH/Oa8gJetJH7gGiQcCTVFPNeVzUHGmOgRg?=
 =?us-ascii?Q?FZLJ0kmwnQapB3yvZpBK0ZkFZETBuUoLiQTLtmn3UMiTKv21XqDABcUb4JZp?=
 =?us-ascii?Q?SS7x3n3rsIFjh/x1/V0Zs5dJri2FGYMaKoeTJSntT1Sqj0SFq4T0F8lUgKaX?=
 =?us-ascii?Q?O7/DNJw5/uU0NGAaIUvBczTE+McJ024gJSRjX+L5lirM2EHWjgr8JUF/Oo2H?=
 =?us-ascii?Q?ERoUNGo/WdoUVUqzJNhlkg8ZjLty0zfJnJS8Xq3h3vskEg3FruTwiuwiTdeD?=
 =?us-ascii?Q?v9WIXRpByYKfwHC2hD8DSk/wsFfas3X/xANeHvGCRnKWuoqnkeCrtDm9I4dI?=
 =?us-ascii?Q?MFyySUUBnrQNJocDEbHgfPsZMu/LVhyrMNt5iXkLE1B8emLA5feJ9nUY87Si?=
 =?us-ascii?Q?BLCDHFPmkqxHLN4GokroHEx8TyOMyGp57qBYTg9VNM8wOlnoiCbCWtStsSwb?=
 =?us-ascii?Q?WcXY7tXiNtnyrioq9fXUU+McteGr3DitUEGJbZnggfCmKa6S8OrysyieWCqB?=
 =?us-ascii?Q?X1dm+AcCQCiIacjm0qUpqEbJlKP8zAp+e+ZXRUSyTyZ+G2Sv6MoLr3S5Mm3p?=
 =?us-ascii?Q?P2/IUC8yscONce9vKivj0J1vz+y2msR88XW/X3J6CnVKqA49ekmUqwYlx8K3?=
 =?us-ascii?Q?mh8HKpjEOwgKC2hvIb6bsdkMyLZm4p51lMP/+55ulUKFZNQ0BWuQ/zRwtRDp?=
 =?us-ascii?Q?HNAufJ1USfnL/TubuR5guNFekjurkoHu7N4bCcB3ZnvTMZAQZz/wg5lIZ2Ro?=
 =?us-ascii?Q?0amVnZZaFlYnAx3Cme8eX419nFfY960UyiW+cvUv2V69CPu6OeeLy+CAbxfZ?=
 =?us-ascii?Q?r5ejXsIVQoRI/v+1oC5B0S8nnZX42jyGsPgusQjiH/5yYT+FVmGH83xVewxX?=
 =?us-ascii?Q?o2C/1yltQJMywktePrxYw8vQ6IRc1X7PRqdQFz+8s3921CPRl3X8sAlvAq0r?=
 =?us-ascii?Q?uzF7IBnni97T8YT0jlJs31U4kmxmytEwRijBEaxgPuLDFbL3r+6ozq5mNFiu?=
 =?us-ascii?Q?s1qRZAmPvgsbc5LrfJY6P4AypyafSD3wh2xmxzTW8x1QfO5I02UnUkkQOnIr?=
 =?us-ascii?Q?KJMxjUxMkOhahXrgOKGBk45VImVpNZRe9EgP664bYvKAse3WErQPVN+1Uk+j?=
 =?us-ascii?Q?cAy2xNUpPcwFFViHejTZoBXT0PtEo/gAgUmULdC7B+yzkCRLrckmGSLQ5+zo?=
 =?us-ascii?Q?i87JoFQfc/HcbbcMYJMICW++Qu4CoglhBkEx5J2Ko969oQ3GFxoWB+AuJspa?=
 =?us-ascii?Q?iJ6AiEeOJaM32V9JDKBQRKGBYmS6BEtGFkJKslNXbuh3bdwUxOmUqMxn7Jx0?=
 =?us-ascii?Q?L/aoGkCnFnacrgBEbVkhalzhumlrb1F14h/mzqdSjMezXOBSvZV0iLl7EttT?=
 =?us-ascii?Q?DjrrG6S8hxxEUR0sfY48+gqiRPO7V/Jp2XYAkVILY9P7s2CeupZKaq79aA6a?=
 =?us-ascii?Q?rzyfrXY6Oy1XVnJQN8TCASk58bJ7wSFLoLaNpE7p36zUO4J87kDBZMvHWSo+?=
 =?us-ascii?Q?DeT7j4/2WYXM0wPZIluAJENaejxu7BGXnuEuVPQGxF49LYlo3YpRDW/zMSLS?=
 =?us-ascii?Q?W1b4x34GMg6huOGgcxdcQFCnTU6kfncU3LAQk6EWqYN6NsBBxHteAd8T3Ldf?=
 =?us-ascii?Q?WzT8my1y04vElwryVLL43RChlub8tMtDmX4akDMnayvOH8oPew+j+UaIF9NE?=
X-MS-Exchange-AntiSpam-MessageData-1: FgMOUGwTFMCyLw==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 9c839891-3b60-48b8-2552-08decdd776b6
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:42.7240
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Nx69JhBD2F8+3iCh8xdUXd/cpewMabPXvA/ZR5sRFHqLQXKfCavwuJoRwXTrfPiqAuIX6Hyi1+vrYS/r2jj4Ng==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYTP286MB4024
X-purgate-ID: tlsNG-d25034/1781855445-DB5E0ABF-F0EA92BD/0/0
X-purgate-type: clean
X-purgate-size: 15149

Allocate memory for Domain-0 exclusively from the permitted NUMA nodes.
When multiple NUMA nodes are available, distribute the allocation in a
balanced manner across each of these nodes.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/arch/arm/domain_build.c | 274 ++++++++++++++++++++----------------
 1 file changed, 151 insertions(+), 123 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index c036721f45..6828cfc46a 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -188,33 +188,19 @@ unsigned int __init dom0_max_vcpus(void)
 static bool __init insert_11_bank(struct domain *d,
                                   struct kernel_info *kinfo,
                                   struct page_info *pg,
-                                  unsigned int order)
+                                  unsigned int order,
+                                  nodeid_t node)
 {
     struct membanks *mem = kernel_info_get_mem(kinfo);
     unsigned int i;
     int res;
     mfn_t smfn;
     paddr_t start, size;
-    nodeid_t node = 0U;
 
     smfn = page_to_mfn(pg);
     start = mfn_to_maddr(smfn);
     size = pfn_to_paddr(1UL << order);
 
-    /* This code is temporary */
-    {
-        struct membanks *mem = bootinfo_get_mem();
-        for ( i = 0; i < mem->nr_banks; i++ )
-        {
-            if ( start >= mem->bank[i].start &&
-                 start < (mem->bank[i].start + mem->bank[i].size) )
-            {
-                node = get_numa_nodeid(&mem->bank[i]);
-                break;
-            }
-        }
-    }
-
     D11PRINT("Allocated %#"PRIpaddr"-%#"PRIpaddr" (%ldMB/%ldMB, order %d)\n",
              start, start + size,
              1UL << (order + PAGE_SHIFT - 20),
@@ -301,7 +287,13 @@ fail:
 }
 
 /*
- * This is all pretty horrible.
+ * Allocate NUMA-aware memory for Dom0 with 1:1 mapping.
+ *
+ * This function distributes the requested Dom0 memory across the allowed
+ * physical NUMA nodes in a balanced manner. It implements a multi-pass
+ * scavenging loop to allow nodes to dynamically back up each other if a
+ * particular node runs out of memory, maintaining a balanced distribution
+ * while ensuring the maximum amount of requested memory is satisfied.
  *
  * Requirements:
  *
@@ -316,155 +308,190 @@ fail:
  *    below 4GB, so that it can be used by non-LPAE enabled kernels (32-bit).
  * 4. Some devices assigned to dom0 can only do 32-bit DMA access or
  *    even be more restricted. We want to allocate as much of the RAM
- *    as we reasonably can that can be accessed from all the devices..
+ *    as we reasonably can that can be accessed from all the devices.
  * 5. For 32-bit dom0 the kernel must be located below 4GB.
- * 6. We want to have a few largers banks rather than many smaller ones.
+ * 6. We want to have a few larger banks rather than many smaller ones.
  *
  * For the first two requirements we need to make sure that the lowest
- * bank is sufficiently large.
- *
- * For convenience we also sort the banks by physical address.
- *
- * The memory allocator does not really give us the flexibility to
- * meet these requirements directly. So instead of proceed as follows:
- *
- * We first allocate the largest allocation we can as low as we
- * can. This then becomes the first bank. This bank must be at least
- * 128MB (or memory size requested for domain if that is smaller).
+ * bank (Bank 0) is sufficiently large to hold all boot modules.
  *
- * Then we start allocating more memory, trying to allocate the
- * largest possible size and trying smaller sizes until we
- * successfully allocate something.
+ * The memory allocator does not really give us the flexibility to meet
+ * these requirements directly under NUMA topologies. So instead we proceed
+ * as follows:
  *
- * We then try and insert this memory in to the list of banks. If it
- * can be merged into an existing bank then this is trivial.
+ * We first calculate the total size required for the kernel, ramdisk, and
+ * DTB to establish a safe minimum size constraint for the first bank (Bank 0).
  *
- * If the new memory is before the first bank (and cannot be merged into it)
- * and is at least 128M then we allow it, otherwise we give up. Since the
- * allocator prefers to allocate high addresses first and the first bank has
- * already been allocated to be as low as possible this likely means we
- * wouldn't have been able to allocate much more memory anyway.
+ * We then enter a multi-pass outer loop that runs until the full memory
+ * request is met. In each pass, we dynamically calculate the target allocation
+ * amount for each remaining active node to ensure a balanced distribution.
  *
- * Otherwise we insert a new bank. If we've reached MAX_NR_BANKS then
- * we give up.
- *
- * For 32-bit domain we require that the initial allocation for the
- * first bank is part of the low mem. For 64-bit, the first bank is preferred
- * to be allocated in the low mem. Then for subsequent allocation, we
- * initially allocate memory only from low mem. Once that runs out out
- * (as described above) we allow higher allocations and continue until
- * that runs out (or we have allocated sufficient dom0 memory).
+ * For the initial chunk (Bank 0), we try to allocate the largest possible size
+ * as low as possible, honoring the 32-bit lowmem/DMA constraints. If it fails
+ * to find lowmem space and the domain is 64-bit, it falls back to highmem
+ * without violating the minimum size needed for the boot modules.
  */
 static void __init allocate_memory_11(struct domain *d,
                                       struct kernel_info *kinfo)
 {
-    const unsigned int min_low_order =
-        get_order_from_bytes(min_t(paddr_t, kinfo->unassigned_mem, MB(128)));
+    paddr_t todo = kinfo->unassigned_mem;
+    nodeid_t node;
+
+    const unsigned int max_chunk_order = get_order_from_bytes(MB(128));
     const unsigned int min_order = get_order_from_bytes(MB(4));
+    const unsigned int lowmem_bitsize = arch_get_dma_bitsize();
+    unsigned int min_bank0_order;
+    bool is_bank0 = true;
+
+    const struct boot_module *kernel_mod  = boot_module_find_by_kind(BOOTMOD_KERNEL);
+    const struct boot_module *ramdisk_mod = boot_module_find_by_kind(BOOTMOD_RAMDISK);
+    const struct boot_module *dtb_mod     = boot_module_find_by_kind(BOOTMOD_FDT);
+    const struct boot_module *xsm_policy_mod = boot_module_find_by_kind(BOOTMOD_XSM_POLICY);
+    paddr_t required_size = 0;
+
+    nodemask_t exhausted_nodes;
+    nodemask_t valid_nodes;
+
     struct membanks *mem = kernel_info_get_mem(kinfo);
-    struct page_info *pg;
-    unsigned int order = get_allocation_size(kinfo->unassigned_mem);
     unsigned int i;
 
-    bool lowmem = true;
-    unsigned int lowmem_bitsize = min(32U, arch_get_dma_bitsize());
-    unsigned int bits;
-
     /*
      * TODO: Implement memory bank allocation when DOM0 is not direct
      * mapped
      */
     BUG_ON(!is_domain_direct_mapped(d));
 
-    printk("Allocating 1:1 mappings totalling %ldMB for %pd:\n",
+    printk("Allocating 1:1 mappings totalling %ldMB for dom0:\n",
            /* Don't want format this as PRIpaddr (16 digit hex) */
-           (unsigned long)(kinfo->unassigned_mem >> 20), d);
+           (unsigned long)(kinfo->unassigned_mem >> 20));
 
     mem->nr_banks = 0;
 
     /*
-     * First try and allocate the largest thing we can as low as
-     * possible to be bank 0.
+     * Calculate the absolute minimum size required to fit the kernel,
+     * initrd, and DTB inside Bank 0
      */
-    while ( order >= min_low_order )
-    {
-        for ( bits = order ; bits <= lowmem_bitsize; bits++ )
-        {
-            pg = alloc_domheap_pages(d, order, MEMF_bits(bits));
-            if ( pg != NULL )
-            {
-                if ( !insert_11_bank(d, kinfo, pg, order) )
-                    BUG(); /* Cannot fail for first bank */
+    if ( kernel_mod )
+        required_size += kernel_mod->size;
+    if ( ramdisk_mod )
+        required_size += ramdisk_mod->size;
+    if ( dtb_mod )
+        required_size += dtb_mod->size;
+    if ( xsm_policy_mod )
+        required_size += xsm_policy_mod->size;
 
-                goto got_bank0;
-            }
-        }
-        order--;
-    }
-
-    /* Failed to allocate bank0 in the lowmem region. */
-    if ( is_32bit_domain(d) )
-        panic("Unable to allocate first memory bank\n");
+    min_bank0_order = get_order_from_bytes(required_size);
 
-    /* Try to allocate memory from above the lowmem region */
-    printk(XENLOG_INFO "No bank has been allocated below %u-bit.\n",
-           lowmem_bitsize);
-    lowmem = false;
+    nodes_clear(exhausted_nodes);
+    nodes_and(valid_nodes, d->node_affinity, node_online_map);
 
- got_bank0:
+    BUG_ON(nodes_empty(valid_nodes));
 
-    /*
-     * If we failed to allocate bank0 in the lowmem region,
-     * continue allocating from above the lowmem and fill in banks.
-     */
-    order = get_allocation_size(kinfo->unassigned_mem);
-    while ( kinfo->unassigned_mem && mem->nr_banks < mem->max_banks )
+    while ( todo > 0 )
     {
-        pg = alloc_domheap_pages(d, order,
-                                 lowmem ? MEMF_bits(lowmem_bitsize) : 0);
-        if ( !pg )
-        {
-            order --;
+        paddr_t last_todo = todo;
+        nodemask_t active_nodes;
+        unsigned int active_nodes_count;
+        unsigned int nodes_left;
 
-            if ( lowmem && order < min_low_order)
-            {
-                D11PRINT("Failed at min_low_order, allow high allocations\n");
-                order = get_allocation_size(kinfo->unassigned_mem);
-                lowmem = false;
-                continue;
-            }
-            if ( order >= min_order )
-                continue;
+        /* Filter out exhausted nodes to find active candidates */
+        nodes_andnot(active_nodes, valid_nodes, exhausted_nodes);
+        active_nodes_count = nodes_weight(active_nodes);
 
-            /* No more we can do */
+        if ( active_nodes_count == 0U )
+        {
+            printk(XENLOG_WARNING "Dom0 NUMA: All specified nodes are completely exhausted.\n");
             break;
         }
 
-        if ( !insert_11_bank(d, kinfo, pg, order) )
+        nodes_left = active_nodes_count;
+
+        for_each_node_mask(node, active_nodes)
         {
-            if ( mem->nr_banks == mem->max_banks )
-                /* Nothing more we can do. */
-                break;
+            paddr_t target_per_node;
+            paddr_t node_todo;
+
+            /* Target chunk size per node */
+            target_per_node = DIV_ROUND_UP(todo, nodes_left);
+            target_per_node = DIV_ROUND_UP(target_per_node, MB(128)) * MB(128);
 
-            if ( lowmem )
+            node_todo = min(todo, target_per_node);
+
+            while ( node_todo > 0 )
             {
-                D11PRINT("Allocation below bank 0, allow high allocations\n");
-                order = get_allocation_size(kinfo->unassigned_mem);
-                lowmem = false;
-                continue;
+                struct page_info *pg = NULL;
+                unsigned int max_order = get_allocation_size(node_todo);
+                unsigned int order;
+                paddr_t bank_size;
+
+                /*
+                 * Enforce a maximum chunk cap of 128MB for all allocations
+                 * except Bank 0
+                 */
+                if ( !is_bank0 && max_order > max_chunk_order )
+                    max_order = max_chunk_order;
+
+                for ( order = max_order; order >= min_order; order-- )
+                {
+                    unsigned int memflags = MEMF_node(node);
+                    if ( !dom0_affinity_relaxed )
+                        memflags |= MEMF_exact_node;
+
+                    if ( is_bank0 )
+                    {
+                        unsigned int bits;
+                        for ( bits = order; bits <= lowmem_bitsize; bits++ )
+                        {
+                            pg = alloc_domheap_pages(d, order, memflags | MEMF_bits(bits));
+                            if ( pg != NULL )
+                                break;
+                        }
+
+                        if ( !pg && order <= min_bank0_order )
+                        {
+                            if ( is_32bit_domain(d) )
+                                panic("Unable to allocate first memory bank below %u-bit\n", lowmem_bitsize);
+
+                            pg = alloc_domheap_pages(d, order, memflags);
+                        }
+                    }
+                    else
+                        pg = alloc_domheap_pages(d, order, memflags);
+
+                    if ( pg )
+                        break;
+                }
+
+                if ( !pg )
+                {
+                    node_set(node, exhausted_nodes);
+                    break;
+                }
+
+                is_bank0 = false;
+
+                if ( !insert_11_bank(d, kinfo, pg, order, node) )
+                    break;
+
+                bank_size = 1ULL << (PAGE_SHIFT + order);
+                node_todo -= bank_size;
+                todo -= bank_size;
+
+                if ( todo == 0 )
+                    break;
             }
-            else
-            {
-                D11PRINT("Allocation below bank 0\n");
+
+            nodes_left--;
+            if ( todo == 0 )
                 break;
-            }
         }
 
         /*
-         * Success, next time around try again to get the largest order
-         * allocation possible.
+         * Prevent infinite loop if a full pass across all active nodes
+         * yields zero progress
          */
-        order = get_allocation_size(kinfo->unassigned_mem);
+        if ( todo == last_todo )
+            break;
     }
 
     if ( kinfo->unassigned_mem )
@@ -472,14 +499,15 @@ static void __init allocate_memory_11(struct domain *d,
         panic("Failed to allocate requested dom0 memory. %ldMB unallocated\n",
               (unsigned long)kinfo->unassigned_mem >> 20);
 
-    for( i = 0; i < mem->nr_banks; i++ )
+    for ( i = 0U; i < mem->nr_banks; i++ )
     {
-        printk("BANK[%d] %#"PRIpaddr"-%#"PRIpaddr" (%ldMB)\n",
+        printk("BANK[%d] %#"PRIpaddr"-%#"PRIpaddr" (%ldMB) NODE:%u\n",
                i,
                mem->bank[i].start,
                mem->bank[i].start + mem->bank[i].size,
                /* Don't want format this as PRIpaddr (16 digit hex) */
-               (unsigned long)(mem->bank[i].size >> 20));
+               (unsigned long)(mem->bank[i].size >> 20),
+               get_numa_nodeid(&mem->bank[i]));
     }
 }
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:50:48 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:50:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341760.1602127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waU00-0008Sb-En; Fri, 19 Jun 2026 07:50:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341760.1602127; Fri, 19 Jun 2026 07: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 1waU00-0008R4-9N; Fri, 19 Jun 2026 07:50:48 +0000
Received: by outflank-mailman (input) for mailman id 1341760;
 Fri, 19 Jun 2026 07:50:47 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waTzy-00083F-Tu
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:47 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waTzy-00Dy3W-9J
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:46 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4d6-e002-0a2a0a5209dd-0a2a450cca78-0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:46 +0200
Received: from [52.101.125.75]
 (helo=TYVP286CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4d0-94a4-0a2a450c0019-34657d4b8662-5
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:46 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYTP286MB4024.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:185::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.12; Fri, 19 Jun
 2026 07:50:44 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Gp8JA4+kxIF32ysJQ8pj0FBqzgfOJxHMTpPvzuhbcMH/xALe41hDFfdN3T8RjvQoSq61rFdEZkWNurhU2kB0TPFbTDCeOdw6h6Y6x5RYYKuGs6g1soraNLtyZhkOsX4Ypl9Ukzj/p3m6iOzXfSzcvFrEY1RaU4kEEq+nJ9PnelDIsDsoz4+4tR0GFg4S5yMM+oV/3uZE11gsCrJF2qFKz3GSpemIFbvttFXO7qqWR5GF3NNbWzphXDrlFCI3y4HxAjjny8HGqpHwxU57/y5mwO2Zj3jKMIjQtm1ohGy2/8zd85Q+a8FdP+g/rmgxPA2DGEATAhtE9eDOXhxTMss/XA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3EUdtkaW4UdmfPYk5bJ/HzEBP4a7cC3lP5IBYmpCtIg=;
 b=C2lq/6iwTRplQOi4X9AXCtoZK0Zts2cEMwElkKxpUi/dnLnk9ZjmW9ftpK4tO5ntNJ4GX5ySpL1dB2/sKeoN4SYWXNFfttw4DxMJ7kUuLctQusgcXx+39lOXPtA3x92BczTV74f8St5YMz5qZQtYpWQYzg1adHFBv9mnuD6BgY2+vvUUK/dPM9llWxr9LNTFLl6Uy5ID/3mG9tV49BmoPo4ilb7ChU+RKqEWEHAlu5AUJoQtbBkbc2CQUsiL1LFi0mp1JkiBIs5Zv+825F8vA2X8rUqvzjKKL4MSgxRGbL/wICgUF281D5zLi8Ql+naANnCX6f7mWy2y6tEYuCgSig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3EUdtkaW4UdmfPYk5bJ/HzEBP4a7cC3lP5IBYmpCtIg=;
 b=uAANTgeoKP7A1iUkLMEcIIueSKbG9wrDy2Gf53VU38hZIZN/mBQLOEJA7ML5sMt5B+tQEfv2UjQQfSzLriULDdsFERda7dsJlIRIcsfwfSz9d99Tyx4B086ASMntndsN2ayFsweQbxRL+MeeoUkKoLsnK+oStyVkGDpY5bw8vxU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	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 v3 16/22] xen/arm: Use dedicated function for Static SHM Device Tree creation
Date: Fri, 19 Jun 2026 16:50:04 +0900
Message-ID: <20260619075011.377116-17-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY4PR01CA0096.jpnprd01.prod.outlook.com
 (2603:1096:405:37d::19) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TYTP286MB4024:EE_
X-MS-Office365-Filtering-Correlation-Id: 7409005e-b715-44c2-0586-08decdd777b9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|7416014|376014|10070799003|366016|23010399003|1800799024|18002099003|22082099003|56012099006;
X-Microsoft-Antispam-Message-Info:
	HOgZWb9cuHFJ73YwZHSDxytktqjhRCaROoykrLUFI2meZ1/5u7ZpJHzOFculLQi5GRN/FOgy8wZarlRjEtwZfLeZBZEN9omUaAJfMDikBjWxLTMhNB5iiFVLlNjb8HkKR4T1L4uQ4E+drzGNraWrGbgZGVpNquy5hCXM/rmpZ6fsRNuY30VOaCxWcRghARA+mhOEg1apCEJ4PKEGZAOPrmQMYcYEsoeF+dQudXU+zozgin0T3Y5tXtfWUPdub2r+JQ4/Ke99hyemb1vMNu0h3RKSkJAmkqnqRENTeFRZeuHgjfiZxQUsKshrVo82KrDukVngTu9SrgdW3YmqKI7m0os58C91jZleXbJFdo077SGdEC9pBZoOpHk1Kfiqz4X2EeML/uxMwSgqkRDHfUD9o9w4sDxb1ZE787WhqzGq+DiZe/cPyyXv5a86d71BK26qySMsfiqXpup5Pgc6FjDzfvAEYsbSJAomFs1MWskkoZgR9yQIrda3MQRAraR/qBGVVZNwQSqpqxUD3AjWIDLYkV+KudrLOxZlG2Qp4P+fOzCvjvHeLD6g9e89YbNGY14vSKSEziaqs8kipV30oYUF4NxLdQH9iJNL7mtMMSgaEmxwJbUm/NmT+lsv3eo5tnvrmyG2YkGg5iuje6e2EOKyOkCcL5GiAC07Q9WUfl0wTqI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(10070799003)(366016)(23010399003)(1800799024)(18002099003)(22082099003)(56012099006);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?k+ozkdHR+q9z9xG8RbJDnw9HDjdsoTvONPvBlRGnfj4+XK0owX52bQHnmLJ0?=
 =?us-ascii?Q?0feyPxNrkxDKC6qKPt/Fzw6kAJIGzHtKa/TECPV3i+2LTmYaOr4oEJIq3UUB?=
 =?us-ascii?Q?nZCc/9uX42lC4aad+QRlpwVF8z4eAxdt/CIktAI/4BGbY/CQhWbrmcsGWxFb?=
 =?us-ascii?Q?/qX5QsbQzpI6sYYleE8zguZqDGWow1sLKXCrdnbkcVBtojobi0YUqH3kcSj/?=
 =?us-ascii?Q?eZVC3kUUbZINCC07edkl4fMtzblLBbFGlxGjtZBoJujepMaZ/eLYUq+ovm3b?=
 =?us-ascii?Q?qncGAlZpf55k1ZmGyTfPf3/r3VhQDzu7ektlAqhCcJn/AiYUV2z3L2xN9Toj?=
 =?us-ascii?Q?n1r2FqYa90YYmpDuW/BtaHrxyZAI/gAg9PovA3s/FVvqpS+sFGUhem+EcsvV?=
 =?us-ascii?Q?yLIPjBb8LyJLFx0cQCkBfFT4Hly8i2Eo0KMawH9ufjLlOyvPN2wAL0q8g4wh?=
 =?us-ascii?Q?it/pBGsdh+FqgGdAJ9gtRSlkYgd+mB9SAz0Y87HgnbRQOjYf9ijkNTffwCKR?=
 =?us-ascii?Q?JNVjo3HI5YBlYojQJd6WGhKdT5plfiR18bH8ep8m/3HPhT5S48U5SIs76Hcm?=
 =?us-ascii?Q?+fbHaKsjFUc2pdmyqJsMip1hLXZgED3LNd3cmd2vBQd11ZJpV1U3aY3gQsHl?=
 =?us-ascii?Q?EmR6shUm17ElTe63cKIjxoIksHqrJLcp/EoINCEjNRwTI5Vgm1CacsGpGiJp?=
 =?us-ascii?Q?1AQnqbnApOykBTeADVte+zJcfmRLaMRs8ETOaqOzjM5LPJ2uMm5FcoPRqKjr?=
 =?us-ascii?Q?biwwlti9pbcvHd2wRKfD9DpnD2jujKdSNdv2vWvbRwBNGe/q65YfIzj+blUW?=
 =?us-ascii?Q?WpzH2Emx0mmdOb7oNFKEkVcjmJXylW7h6yzAQrCudrQHe9vxOKcPujBWGyrx?=
 =?us-ascii?Q?Py+iLiI4ZM5XCyAHBoJTNIgVkpWas2N8MXiC3Awf8mVE3l5yK9iwozqRQ804?=
 =?us-ascii?Q?PJsFHD8ecnVRv98/VJKVoEtKaDDD8CMkV7mL1bVM0Ba64UcIbCab6WX4Sijs?=
 =?us-ascii?Q?cRO2YTj61/8aLNv+GpkAeHBscpm9C6XyGms+pLJGTx90NzDszNkyeVmQY3g8?=
 =?us-ascii?Q?nG7qb7e2rS0UiC8weqIO7heq23PFtRzSxkBq4cTix7zVGamULNPQ1SznLFBo?=
 =?us-ascii?Q?6oYDkD9307MMteokjWsyz+8ltXT/mfpnPhaiei3NN/6fGMygipVGGGAqwICT?=
 =?us-ascii?Q?+vu1Ho4deBuCTQsTg5u1Svxnc6lTgQK67sqkABiYEQiWUwM2feiSPeQ786DN?=
 =?us-ascii?Q?r74PO4KICzLb3azABrAjJJlVynNQk0VkhvzHEB7ichvDvyVwAh882rflT+W2?=
 =?us-ascii?Q?AT6VluV4pF+uwmBngGP5MFZidciGnPErkhUERDSEBSFITxrOYNzeBLY6KbJt?=
 =?us-ascii?Q?q1n9lHaMwQGbMoUevXXCenftadoU1+KPvxWAFREWeVrjv+6NYXDv9dRep5ap?=
 =?us-ascii?Q?hdkJotF7itqWqbtyqdHaBrw84EaRrxSnLjpH8X41UuJYP7VunRPb3GtAx0aQ?=
 =?us-ascii?Q?uwTFQehHpG+Bnybh/YNl7e2YMgwjOJ2EaY92KH0W6rgKCPEyJWPJ7l0ok8s1?=
 =?us-ascii?Q?7JQXRPWC3E365x9j8SLvtj7T9mLyoiU3erFisHxBCmTborviJMA35wMayofP?=
 =?us-ascii?Q?g8xcO5gymYsIke4w1OsQdpYqGLKRBGhcGPS9tsjwIXwQNI7gRC7t9rVmZNOZ?=
 =?us-ascii?Q?7wsCzzioVZVryevZVe4SlC+TUm+SjOWjeEGUqq0Hy8GFmZowg6Y7yrJUoeGz?=
 =?us-ascii?Q?w3NFeKYFt7e02Ml9vIsShWr2f5RFKeg0GgrtCzzbqVhdQ2HKQu6vaYwsPFec?=
X-MS-Exchange-AntiSpam-MessageData-1: TqHC9oKjf7KDZg==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 7409005e-b715-44c2-0586-08decdd777b9
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:44.4322
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UfqlW9+iICzWj5k7yLnPcrKfRekd4i+kXeH6WrvEie/ezE/3qJDsNtfJwsS0njSylDGFKun8vfI6GHWQq4+FTA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYTP286MB4024
X-purgate-ID: tlsNG-d25034/1781855446-53FE5ABF-9A3D01C8/0/0
X-purgate-type: clean
X-purgate-size: 2934

Use a dedicated function to create Static SHM Device Tree nodes instead
of reusing the generic memory node function.

Since the memory banks managing Static SHM repurpose the 'type' field
for a different purpose via a union, separating this creation logic
keeps the implementation clean and significantly improves maintainability.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/arch/arm/domain_build.c           |  6 ++++++
 xen/common/device-tree/domain-build.c | 21 +++++++++++++++++++++
 xen/include/xen/fdt-domain-build.h    |  2 ++
 3 files changed, 29 insertions(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 6828cfc46a..7d32249826 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1815,6 +1815,12 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
         if ( res )
             return res;
 
+#ifdef CONFIG_STATIC_SHM
+        res = make_raw_memory_node(kinfo, addrcells, sizecells, kernel_info_get_shm_mem_const(kinfo));
+        if ( res )
+            return res;
+#endif /* CONFIG_STATIC_SHM */
+
         res = make_distance_map_node(d, kinfo->fdt);
         if ( res )
             return res;
diff --git a/xen/common/device-tree/domain-build.c b/xen/common/device-tree/domain-build.c
index c3452a4037..16924b9645 100644
--- a/xen/common/device-tree/domain-build.c
+++ b/xen/common/device-tree/domain-build.c
@@ -576,6 +576,27 @@ int __init make_memory_node(const struct kernel_info *kinfo, int addrcells,
     return res;
 }
 
+int __init make_raw_memory_node(const struct kernel_info *kinfo, int addrcells,
+                            int sizecells, const struct membanks *mem)
+{
+    unsigned int i;
+    int res = 0;
+
+    if ( mem->nr_banks == 0 )
+        return 0;
+
+    dt_dprintk("Create raw memory nodes\n");
+
+    for ( i = 0 ; i < mem->nr_banks; i++ )
+    {
+        res = make_memory_sibling_node(kinfo, addrcells, sizecells, &mem->bank[i]);
+        if ( res )
+            return res;
+    }
+
+    return res;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/xen/fdt-domain-build.h b/xen/include/xen/fdt-domain-build.h
index 671486c1c8..6a809f3f86 100644
--- a/xen/include/xen/fdt-domain-build.h
+++ b/xen/include/xen/fdt-domain-build.h
@@ -31,6 +31,8 @@ int make_hypervisor_node(struct domain *d, const struct kernel_info *kinfo,
                          int addrcells, int sizecells);
 int make_memory_node(const struct kernel_info *kinfo, int addrcells,
                      int sizecells, const struct membanks *mem);
+int make_raw_memory_node(const struct kernel_info *kinfo, int addrcells,
+                         int sizecells, const struct membanks *mem);
 int make_timer_node(const struct kernel_info *kinfo);
 
 static inline int get_allocation_size(paddr_t size)
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:50:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:50:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341771.1602142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waU04-00014r-Jb; Fri, 19 Jun 2026 07:50:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341771.1602142; Fri, 19 Jun 2026 07: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 1waU04-00014S-B5; Fri, 19 Jun 2026 07:50:52 +0000
Received: by outflank-mailman (input) for mailman id 1341771;
 Fri, 19 Jun 2026 07:50:51 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waU02-0000eo-QX
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waU02-004dWx-7H
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:50 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4b7-bab6-0a2a0a5309dd-0a2a4509caf0-46
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:50 +0200
Received: from [40.107.74.95]
 (helo=OS0P286CU010.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4d7-4999-0a2a45090019-286b4a5fdda3-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:49 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYTP286MB4024.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:185::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.12; Fri, 19 Jun
 2026 07:50:46 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=fLbfDZ7t62norsXxMyEkgvHmr/DBpT1YKmqLrukBtA1Fbxk/qREke6yoDcYXmARoEV8hWwfRA29Nqu2mcxABBuHFngWiQUC0hTaS6BDkx4F0W+xnNZIP5GunvD6AurLm5dn+WH+LLByJLjSXitta5IakBuNdV2kTQPJWIJl8I//d1WephQy7HbpnBSjIRRl9bd0gwvVqwOr2tfMFpCy5kYosV5ovUN5toV5JNmwim35uR6T4Rtqa7j/fmovcAQHWgHyP7vQn+nU6UXjQArrSSmdNR5j+3Gz0xhObaF2S1Bl2CzMlqrViv+Ypj/Ri2p1edQyFKbqXH03eGu+APpaaaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NnnrNnjtKFwE173RdNIYBVM2GKwC3Mi9fLxil7K6r04=;
 b=Q7K54iL2zxlnBkacIPfisFeDe8tkyQZFUXluCXAGB14gpIf7aUlFMSlTnwh1GFLKccj+tPSFEH+Qn+NoeJsMPRAYiHjPlqM84H8/XupmUSrdGtkF6xMhkYQ47P4WmFglYKZEHyKt8+IdDDWDGsvWxRvSkQm0jaLlH/ZKnuJZJD/2OPDCwLeJRKoYAurRXJM2zgJyYKuEZmXq3HnQy+1+jhNBaGtSgXFUkHHBZ8kQ4YAQ56HP+HXMXUt3BSr+VeBLmaD0BBfyl6TCrtvXxjm0h88RpCO+rUMCLWv+rfrQrFaIGWeF+rDBaQ1L/Kdfg6ooLL1e6p+W7xsqOAbkGEO6Cg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NnnrNnjtKFwE173RdNIYBVM2GKwC3Mi9fLxil7K6r04=;
 b=nWWXa7W/+ArlGZ3PlPZXzZC476VYHHYq/HHr9v/PFds1dHPV2C9YWdcVoOvQqzcIgBbZdVXFockZNjqyn8AHFOBsEO/Vfz5SBx77EkmokgiSjqwv/5xs5CZK2udGWOnvqJneREyA1JRXBGCmLe2Bht1YUk1EtH2nAddFOFJw11s=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 17/22] tools/libxl: Fix vNUMA memory allocation algorithm to support ARM
Date: Fri, 19 Jun 2026 16:50:05 +0900
Message-ID: <20260619075011.377116-18-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY4PR01CA0086.jpnprd01.prod.outlook.com
 (2603:1096:405:37d::14) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TYTP286MB4024:EE_
X-MS-Office365-Filtering-Correlation-Id: 20e5b81a-37b4-4612-cdf8-08decdd778f0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|10070799003|366016|23010399003|1800799024|18002099003|22082099003|6133799003|56012099006;
X-Microsoft-Antispam-Message-Info:
	YiSy+ByRyXlhONpACviD4LycWmpuYzZyy63APpOPmqd5FJe6Bk9PJpfk7sjsHf5Ta+3727V6IdmuJsF7eLyO1rLlIQ1ABXZf+8z08U1vWSKh2UU0j8fyi+w3hIDm1qYY61ta6pidF0p1F1yzNKBJncSMXqEKeq6Wh+XOcjDKQL2D6EWJAfDMk2LxI7yghTgako7ZjSqws4ydcQEv/RSqBCulpCQAFPyH4Lb+St4F7Ee5Oj9Zf7tsOy9U/ZL06aQgzKapsweiwYm6wRa+NLTpeoxJkoC9N5kZNpPIGfTQ71a/1HFVgchdCvDyySSuGxcBR20AZE8Byxkx3hBaLxjHrnmeq2txt4lXIaSMrT6gL8DSkcdAdaXYXKu7/SLeFn50fpTVk9GA12TxaVdfXfQWsa80Z/0SUTvjrjuKjhg/wcqj6i1sD2qFOPBl3X29x+Yx2uo0kJXhJFeZJc2CqCj6QW+bj8Wi+UWiO/qrxoZNXWeLohIR6EpiKu4lK3/YBd9srUgpGVPejcRC6wWUBkQTe0zGC6apbcqhfHDW86DmHIHsD65sLLlRN6DwcfMBeFVQjWCXbIjG371+EnusdRrWogVF6VNiFDvdu4WJj261GhOOABwqjDc5lzaZGsvhmsCluTqFDeRxgkmCyfxV0rOsFGgWpgN0lPglBdToQigwDQw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(366016)(23010399003)(1800799024)(18002099003)(22082099003)(6133799003)(56012099006);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?GGomvrLeFxyl/8Tp0OrDXPEyTmAQ4TwwUp0gQErJhWOQECCEE0K+4HgEgW65?=
 =?us-ascii?Q?NBrTHbG11Ie0iVGAtEUPX5t5cExT2TAbb8z58uFlj2C2pu46zmT2V+FN6IwX?=
 =?us-ascii?Q?g230+muHrKgsXIw7CbXDSZJmikgjcpWEy7+Jz2mt1aTSY+3Dil+Hky6atouy?=
 =?us-ascii?Q?ZOHjhvyoCgr75Ecr4ZQiIZGzfl2BGw33Q+Uxn8nXi5EGH8BAjUMtYQX8pV3n?=
 =?us-ascii?Q?jkKK5+/gf2V2hBS9gAQYeuqOahly4J3QaiPu4AEZpNCcbGUeXjVNSWhUs60g?=
 =?us-ascii?Q?vpJ3MpnqKklGpSYgXjihbOfObfd+u4FccoEVZsA41ti/a7xprZagUaQtQxCE?=
 =?us-ascii?Q?d0J5DT/0S8/ccZ8lp4lf59ZUmjhcK1fopkcxAEld1G/mz76/q6L7+FHJiciq?=
 =?us-ascii?Q?2ft7OyGFL8gHDWLpVfpLLN7dgB/3z1Zn1mRBPJCN/BFvDFvyyMVYXIpDAehf?=
 =?us-ascii?Q?iQrcRwUs362SUNlvkZgiey3fgccd9qUesm7pMn+o910vbh2ArlwG19yBU1JI?=
 =?us-ascii?Q?ykerxHzwjaG0AMC11UBY5r7xgSekVRV8+tpET2ZfRhq0beK+0yYDfIXOYpTr?=
 =?us-ascii?Q?vdUFUIItfWTVnBuYyEfS3yuWjCzPFcxz12kU4wTw0Z8H61dep0eH1dVshqeX?=
 =?us-ascii?Q?vEgsmdwTzBrvxQtClWWvKJ0KLBHAnC3qcZGCW98dQ3MH9gyBEDUK4yXfYCuy?=
 =?us-ascii?Q?Iz5oBJdBHX/zJf2XiQbdtA7lxp2QqupNqUQK0Z/0qkHtPiWlgiCsXWPJY71H?=
 =?us-ascii?Q?NJmfjXJQKrvSQvUq9EyMXOEi87VBt+gFj/LA1Jut+pI70S1UkqM9tzTmctOu?=
 =?us-ascii?Q?qbRUSHtUaUQHGujuyTFZl0UWXmWLNvDNAnOHG0XkkrlqNyztF4VA9VXZwF5U?=
 =?us-ascii?Q?HN1ztzmMteq6IbOfsM8bri8yoOQ0KNWkE2JCjXnX/wBCIS7wACCaTpwlAB69?=
 =?us-ascii?Q?gYpJJv24xoQcborXRmZbyH5o+OtJNdxmLoYZl+XZbMnW1bES16dTk3jUgYcK?=
 =?us-ascii?Q?/mheiMTG4HHPb27tW/QWJBYW6ojMyr4CTm2ohNbEg7o5XPnzhJNIHq8FvCUc?=
 =?us-ascii?Q?wEYtM0iAlV7v5h/v6uxtkP0JbDajE/ZeQhcfyAocjTj9fteJwdUjLTgGpNgz?=
 =?us-ascii?Q?CJHch2mnVtmgNF16XtouRGiNPFKgychxDuq9dhORC6jPWabLOQ9LmNRG4Zj5?=
 =?us-ascii?Q?tXPKlUtfYaKGWToDa+GexH45ri3BDaBHh+ZANfF6xSiDo+3yUPLL71Yh3j+j?=
 =?us-ascii?Q?4THtRdyLp3q4wzN8kXnVuzY0liYjRkLbeqDlX+ht/BIyYG/v5zw76PVTD5vR?=
 =?us-ascii?Q?1Ibp2otMqGYmrOf4mwFZFyEg0ykw1GSYlLO5sp9yNaK2uu0SACPObRlvUnJ6?=
 =?us-ascii?Q?01RydQywMWa6NHaz2P5vBfZMhSebOzWYrb/F7E46Jbg0dbPdH+OLoLgC/hs5?=
 =?us-ascii?Q?z9eclUZC+Q0TgW+MpjTHuoUUnXf9DBDoLgZtRF7BjnCUEa/u4X7O+bW1UBhw?=
 =?us-ascii?Q?SIsnqHSXcUYYi3xlNwOIZzIjrpss5xMjI+x534nNVb6CV+qFIMlb1s/oIYZQ?=
 =?us-ascii?Q?cGpoukPCaZHvPYxrqbtNC2ij1NSW38X0RImTd1vrZmt9H1xy4yMou5k4EeCc?=
 =?us-ascii?Q?IyT2ZJ5GZxGQpOgGKYUX0rTWH3KOV0nCgvazIFgzYrRxqELV6ZafRga67mV6?=
 =?us-ascii?Q?7834wGDVMoYw0ibPc9+LDFk4SJHeEv3heTnP8bACL+WYgsjCVaw2Z4ZsEqGo?=
 =?us-ascii?Q?5BpFg/5PnII9vxHNgLay/WlSPJKMa26oAS3RCqtKLOJiGjjRn0CO9wI+yUNt?=
X-MS-Exchange-AntiSpam-MessageData-1: ME7zVVKXaKIHZg==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 20e5b81a-37b4-4612-cdf8-08decdd778f0
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:46.4854
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EPxEWfK/N2iBr35j+fYsVJwj0FNrrXZ8znzDAS56tSmQEILO2ol1fiSEUIBvcrVIDGiPQq3OqFu41k4csCN4rQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYTP286MB4024
X-purgate-ID: tlsNG-bad1c0/1781855450-2D9D6744-46C2C895/0/0
X-purgate-type: clean
X-purgate-size: 1586

When creating a domU with vNUMA enabled, the memory allocation
algorithm was dependent on x86. Fix this logic to make it
usable on ARM as well.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 tools/libs/light/libxl_vnuma.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/tools/libs/light/libxl_vnuma.c b/tools/libs/light/libxl_vnuma.c
index d181574782..70a92a7598 100644
--- a/tools/libs/light/libxl_vnuma.c
+++ b/tools/libs/light/libxl_vnuma.c
@@ -259,8 +259,12 @@ int libxl__vnuma_build_vmemrange_hvm(libxl__gc *gc,
     xen_vmemrange_t *vmemranges;
     int rc;
 
-    /* Derive vmemranges from vnode size and memory hole.
-     *
+    /* Derive vmemranges from vnode size and memory hole. */
+#if defined (__arm__) || defined(__aarch64__)
+    hole_start = GUEST_RAM0_BASE + GUEST_RAM0_SIZE;
+    hole_end = GUEST_RAM1_BASE;
+#else
+    /*
      * Guest physical address space layout:
      * [0, hole_start) [hole_start, hole_end) [hole_end, highmem_end)
      */
@@ -268,10 +272,15 @@ int libxl__vnuma_build_vmemrange_hvm(libxl__gc *gc,
         dom->lowmem_end : dom->mmio_start;
     hole_end = (dom->mmio_start + dom->mmio_size) > (1ULL << 32) ?
         (dom->mmio_start + dom->mmio_size) : (1ULL << 32);
+#endif
 
     assert(state->vmemranges == NULL);
 
+#if defined (__arm__) || defined(__aarch64__)
+    next = GUEST_RAM0_BASE;
+#else
     next = 0;
+#endif
     nr_vmemrange = 0;
     vmemranges = NULL;
     for (nid = 0; nid < b_info->num_vnuma_nodes; nid++) {
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:50:54 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:50:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341778.1602151 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waU06-0001Pr-2S; Fri, 19 Jun 2026 07:50:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341778.1602151; Fri, 19 Jun 2026 07: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 1waU05-0001On-NS; Fri, 19 Jun 2026 07:50:53 +0000
Received: by outflank-mailman (input) for mailman id 1341778;
 Fri, 19 Jun 2026 07:50:52 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waU04-0000zb-5k
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waU03-004dWx-Ig
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:51 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4db-bab6-0a2a0a5309dd-0a2a4509a6d6-0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:51 +0200
Received: from [40.107.74.95]
 (helo=OS0P286CU010.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4d7-4999-0a2a45090019-286b4a5fdda3-4
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:51 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYTP286MB4024.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:185::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.12; Fri, 19 Jun
 2026 07:50:48 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TkwvEVvyMsy+LI73IDyrjrDFhHj4Yus+Ney73trNKHbRh+aeESnw42gpzTSDp3aOwWRkpD1U5/z13uCOxZC/OcdoTtbaicZgTE+znu0GQ4mfisLBHKtu4pd+tCgsHB8SuG6XD1G/tef6IwjXvULboOITa8YN/pI8kS4D6rLcQ80ILkVO37Lq93aJ/OvKAQFv0Q1qwnsul1nfxaqOFATZ7EZ88KDWcIwAi2sJ8QwAIEvBYpYYMSh3ds6yOlofgMxpXnpagfZ8USc8iTs9bIqI4H+ZeR49TvFKesL92g/CyxLWmlLXHnv6VBBgt+d+qMrxaWyMwgCMFAvbFxlwT/PiGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YE4gf47/RBMmpv7EH5Y8kPK1UQU4p2tJ9S1/Os3vPHo=;
 b=HvrzQkKHzZmPmnun+3zL/cTZzsPbZSUzVRsKYIvdfQbVBucfOm/WdS02WE97fXsMCJ/S/oppVyaqjN+F59e5FjPPmDECRFwOjTzCNdLyNgwSB94B/sg118lTiXkypBZeHX8fPCblbqHegoMBvVjLAl6DlCMTckwr717lYbUxpwleyuNs2FJkY7zJo+lFntF/IDDcTU5LKZY5hitaYFjzIXUc4P9uAfTH5SoiWVUB7GjX70xHf19bkeGgHZiDjIRsRBe5t8AVZZEyTFEhTxgDDHxhzzcwo/wP9nBy70wWqCfeE+yhZih481sQRAu5CyTZLEwdTvpKhezEdUy48FOdqw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YE4gf47/RBMmpv7EH5Y8kPK1UQU4p2tJ9S1/Os3vPHo=;
 b=KFbxb2eLItC3QG1cJghKK+9xRpMO0P6etAP5mPWVAjU4Tn9VhwHwb7BK6HTojOvoHlOdjiSe55CoryuVZxdtqqIj7ZmxfQs0jbneED32kDRoBXRZ4bCTsG7zew/OfocTdkU4MfEhPAv7Xo3y70hzRHCufbeQ4rcdI5O1u1E373U=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 18/22] tools/libs/guest: Allocate vNUMA memory from associated pNUMA nodes
Date: Fri, 19 Jun 2026 16:50:06 +0900
Message-ID: <20260619075011.377116-19-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TY4PR01CA0092.jpnprd01.prod.outlook.com
 (2603:1096:405:37d::17) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TYTP286MB4024:EE_
X-MS-Office365-Filtering-Correlation-Id: 5c86f4d4-2fda-4861-a9a6-08decdd779fe
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|10070799003|366016|23010399003|1800799024|18002099003|22082099003|6133799003|56012099006;
X-Microsoft-Antispam-Message-Info:
	Fap9pP+m8eTufyzAXJPEKjhI8pg70WskgGmAGX/cAmzfPbgA5xrzofNuk+c8Zo7W9D59PPb0Bwj5+UkCehsq6vzKM+A9EH65NFYeQ+7Rdwfg+GkNg7Lyh5c4tHuFs5mJU/hCD7Uf121zAUrOHCNw4h5c1GnIs0IN1x1ItJfLS61w8KW3Kln6MvY0c9KUaDnGUjJHHJUFCxxFVanMIE6xUwy8tVxKcA/Z4JMU/AS9oAtmah5DcIT2DQACOa2wn2qTu8jzgT90t3z+9RVAkddOcGKNyqsCnx+/Oj35xltvdunaJvcxmziDYWoT2/e9+B0bkfWVny3R42ZK5i36/ob9Ddy7cFWVQqxmhVCBBGLW1cquD810ZppTZ9l1PFPgqTbjtmfwnMT0uFzst/jnrFtZYp39tEXT2QMikKrYN62JD0p9hpfdDq/DgZovMxzrBqBPykkLmdzOOQwXrlTuOzrKj9eYQhTiO76bip+9jRrw2KmH1XhjwoGT56qoYp2M1Apa3cx9EukMNa5YM1grVKwd+Wgi+I2XyvdhlGGoFMSyx9vMTSmsnsSiljo0FtG9HuZYIdiO24kQMUvbPzxO3uNW1OUJi8xkgMYCM/tc5yL6qQrJ+540Vf1J4EvRJlNliH0CR5xoNEOfvNqpsLHaJIFswltfVuxlJEG1prkwPscZFiA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(366016)(23010399003)(1800799024)(18002099003)(22082099003)(6133799003)(56012099006);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?8miG2rAIjvgt+vDIh7XVrUQfRjWTNMIlgyfaG6Y2eH/zTY5gQL8iKqonAA/u?=
 =?us-ascii?Q?6r0/ViGnfVk3SsJ2KLbSvYhaldYQY0RP0PdUrWrB/878SJlzCRP1aObJLy2T?=
 =?us-ascii?Q?Ls9kzOBQM/MAGlnwyPf4oP1QSqQtI4o8KBPOHkh10qRDU+rOP7/JHv1OT1rc?=
 =?us-ascii?Q?uqFcxMiLi0c7r5lLSuPW1obJZo8V3g36hVC2gRRjZFHLHcTNTBG3SSeKiI1z?=
 =?us-ascii?Q?7iFfGxT8W7vux2Ef21NzwD0PJEEew4feH+EpB2/29aX7z1OKn8Ilo8G11aR1?=
 =?us-ascii?Q?y9hLBdK/aBv94ccyzA/G6AcY1/5U0CfPHYuQACZHqIy53cC4o6B26qxoGbMe?=
 =?us-ascii?Q?BP3YYGDLKt+MVsRWIYa5MBi9u44cg7KKx9K2Ci4id2UxcwiGggqkqElHAJgz?=
 =?us-ascii?Q?GpnCH9Rw3PQDq614kP4Pmf9J6jEu8j0dRyMW/VZlYtUcJ0QW1gwN8AqAHn7R?=
 =?us-ascii?Q?hnR3GWiaVJ2a1KU5liaGBJI8rP4kG2wpHmgnW6WchTDbLw+7ZL/DDenWRYjz?=
 =?us-ascii?Q?snjavGO3TJbUwAkChV+/cSS/xJEpTDF42Sj29ctA8GQHR80vBnsJQvu3rbCC?=
 =?us-ascii?Q?O//N7G6TimbyTsmSYq28cCZtOkj/AFte0L+lkb77qesqZQ3v3tNYX6eNowpz?=
 =?us-ascii?Q?r/0TA7endjingn/qlL2OvVbSo8br/N/HY9R5Dl/xadR4Y9I0dF2GQK3wc644?=
 =?us-ascii?Q?AQ8N5HMSvRQjVveYhGMlMZDam/EyfpIpsa1rwU+fxoTI0ZvzjJqzWn4LGwbs?=
 =?us-ascii?Q?Jcuj7T4bfTsdYQruC5jP7+jSR1qh+OJX+toX2oklvgvFmIy8B7kMWh/L/GgK?=
 =?us-ascii?Q?ZOYkzvc8at08Vr9jhsfdVHS+5GlK67AsNjgYT4tNL0go+LquxgYCUjHY/MQN?=
 =?us-ascii?Q?y9ta8GRe1BOviKkxS7uPDOscZysWkl/uTe80kiMfs0tWJfYvcUNt96cIJ3M4?=
 =?us-ascii?Q?5lr7iZHb3nhW+QiI/nH9l2YZAhBZv+iszp23ZDAbS2I0uRIkZAKcXc/S72ct?=
 =?us-ascii?Q?UKwm1JEpMBO/Tvul2qhh0GAe2ZULcv8SGbcMAl908SgDIj+9TL1GDQviwhdl?=
 =?us-ascii?Q?njH2HGznbKOeU81Nq0RQ2DKZJJccJSKYeeho92Yv3GTO5RakQx7OoEvq0Ne0?=
 =?us-ascii?Q?Xax8hOV/n9lnq0GlmFZzbHwyf53V98Mb0G06kzsf//sTZ1MqSzGUZmcCqj4/?=
 =?us-ascii?Q?Mh5ZH6guM8Fyoc0Kj96tiD56WGrHaTNzk+LqqMhUpGTKCdyBRO/aU4I1mj/1?=
 =?us-ascii?Q?V58BUSdjtjRDaX7vbQHnpWwGCbUqQgK+t9EsGP4q/RjmYW7JUlZ5csT7iLk5?=
 =?us-ascii?Q?yw3sm0onoIhHpdLdQEgkeDZ5gv6jpfcd6n9iPYvUxuUL8Megwra/NNKUQnz7?=
 =?us-ascii?Q?RdJDQkI5yUTkJxOs1OZKfTJUtQ/HYK2TrIVyQtvJim5uDR0dMt7ZhFkQiRen?=
 =?us-ascii?Q?z9c8JUBabt6Joa1rllLw1dlFhgUM25RA1mwSaldBPqApslvhfx++humEOxLT?=
 =?us-ascii?Q?U2DP6aM10cUmOezu+m8I1UyJUupL+hhAsrzUyQrRt04ipzE1yu4dIIR1OYcK?=
 =?us-ascii?Q?SpLllHA66g8S2UhKcnQyAah0dBTD105r1IBrig3URiNVoYxsj7QSYMz1LJsV?=
 =?us-ascii?Q?gBI1/ou0C8BBoYIyrZxNcO2+cY0ort+79hnOaN3Yj9aMEWKWAxJ+oqBN+QUQ?=
 =?us-ascii?Q?kUWNJZUvoCQ66x1KYqB3MJgnKQBUb4hGeNPOENYQPdqx9N6zMeAsTLUEyQ/N?=
 =?us-ascii?Q?FaEBNTmnzUm/fn0u6aU8ifVgVnrhyj5MY9kT1b8KQl1/3vgYdXrj/xmfIFGp?=
X-MS-Exchange-AntiSpam-MessageData-1: Oa0sjPdA6MLlCQ==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 5c86f4d4-2fda-4861-a9a6-08decdd779fe
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:48.2416
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +PSzjwwWZJzCyTSRYCmvWoAE+T5+MiFeJDhZT9Y/IcBvLdHeD1z6VcbHkDqoUgMzV7CxFnPuqQU4y07KnzY4aw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYTP286MB4024
X-purgate-ID: tlsNG-bad1c0/1781855451-F79EF744-1D6DB7F5/0/0
X-purgate-type: clean
X-purgate-size: 5685

Allocate memory for domU vNUMA nodes from the physical NUMA
nodes specified in the domU configuration file.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 tools/libs/guest/xg_dom_arm.c | 57 +++++++++++++++++++++++++++--------
 1 file changed, 44 insertions(+), 13 deletions(-)

diff --git a/tools/libs/guest/xg_dom_arm.c b/tools/libs/guest/xg_dom_arm.c
index cb0af9f35a..699b5e749d 100644
--- a/tools/libs/guest/xg_dom_arm.c
+++ b/tools/libs/guest/xg_dom_arm.c
@@ -236,7 +236,7 @@ static int set_mode(xc_interface *xch, uint32_t domid, const char *guest_type)
  */
 static int populate_one_size(struct xc_dom_image *dom, int pfn_shift,
                              xen_pfn_t base_pfn, xen_pfn_t *nr_pfns,
-                             xen_pfn_t *extents)
+                             xen_pfn_t *extents, unsigned int memflags)
 {
     /* The mask for this level */
     const uint64_t mask = ((uint64_t)1<<(pfn_shift))-1;
@@ -274,7 +274,7 @@ static int populate_one_size(struct xc_dom_image *dom, int pfn_shift,
         extents[i] = base_pfn + (i<<pfn_shift);
 
     nr = xc_domain_populate_physmap(dom->xch, dom->guest_domid, count,
-                                    pfn_shift, 0, extents);
+                                    pfn_shift, memflags, extents);
     if ( nr <= 0 ) return nr;
     DOMPRINTF("%s: populated %#x/%#x entries with shift %d",
               __FUNCTION__, nr, count, pfn_shift);
@@ -285,10 +285,12 @@ static int populate_one_size(struct xc_dom_image *dom, int pfn_shift,
 }
 
 static int populate_guest_memory(struct xc_dom_image *dom,
-                                 xen_pfn_t base_pfn, xen_pfn_t nr_pfns)
+                                 xen_pfn_t base_pfn, xen_pfn_t nr_pfns,
+                                 unsigned int nid)
 {
     int rc = 0;
     xen_pfn_t allocsz, pfn, *extents;
+    unsigned int memflags = 0U;
 
     extents = calloc(1024*1024,sizeof(xen_pfn_t));
     if ( extents == NULL )
@@ -303,6 +305,14 @@ static int populate_guest_memory(struct xc_dom_image *dom,
               (uint64_t)(base_pfn + nr_pfns) << XC_PAGE_SHIFT,
               (uint64_t)nr_pfns >> (20-XC_PAGE_SHIFT));
 
+    if ( dom->nr_vmemranges > 0 )
+    {
+        memflags = XENMEMF_exact_node(dom->vnode_to_pnode[nid]);
+
+        DOMPRINTF("%s:     on pNODE%u for vNODE%u",
+              __FUNCTION__, dom->vnode_to_pnode[nid], nid);
+    }
+
     for ( pfn = 0; pfn < nr_pfns; pfn += allocsz )
     {
         allocsz = min_t(int, 1024*1024, nr_pfns - pfn);
@@ -312,7 +322,7 @@ static int populate_guest_memory(struct xc_dom_image *dom,
         {
             allocsz = 1;
             rc = populate_one_size(dom, PFN_4K_SHIFT,
-                                   base_pfn + pfn, &allocsz, extents);
+                                   base_pfn + pfn, &allocsz, extents, memflags);
             if (rc < 0) break;
             if (rc > 0) continue;
             /* Failed to allocate a single page? */
@@ -321,22 +331,22 @@ static int populate_guest_memory(struct xc_dom_image *dom,
 #endif
 
         rc = populate_one_size(dom, PFN_512G_SHIFT,
-                               base_pfn + pfn, &allocsz, extents);
+                               base_pfn + pfn, &allocsz, extents, memflags);
         if ( rc < 0 ) break;
         if ( rc > 0 ) continue;
 
         rc = populate_one_size(dom, PFN_1G_SHIFT,
-                               base_pfn + pfn, &allocsz, extents);
+                               base_pfn + pfn, &allocsz, extents, memflags);
         if ( rc < 0 ) break;
         if ( rc > 0 ) continue;
 
         rc = populate_one_size(dom, PFN_2M_SHIFT,
-                               base_pfn + pfn, &allocsz, extents);
+                               base_pfn + pfn, &allocsz, extents, memflags);
         if ( rc < 0 ) break;
         if ( rc > 0 ) continue;
 
         rc = populate_one_size(dom, PFN_4K_SHIFT,
-                               base_pfn + pfn, &allocsz, extents);
+                               base_pfn + pfn, &allocsz, extents, memflags);
         if ( rc < 0 ) break;
         if ( rc == 0 )
         {
@@ -415,12 +425,33 @@ static int meminit(struct xc_dom_image *dom)
     assert(ramsize == 0); /* Too much RAM is rejected above */
 
     /* setup initial p2m and allocate guest memory */
-    for ( i = 0; i < GUEST_RAM_BANKS && dom->rambank_size[i]; i++ )
+    if ( dom->nr_vmemranges > 0 )
+    {
+        ramsize = (uint64_t)dom->total_pages << XC_PAGE_SHIFT;
+
+        for ( i = 0; i < dom->nr_vmemranges; i++ )
+            ramsize -= dom->vmemranges[i].end - dom->vmemranges[i].start;
+
+        assert(ramsize == 0);
+
+        for ( i = 0; i < dom->nr_vmemranges; i++ )
+        {
+            if ( (rc = populate_guest_memory(dom,
+                dom->vmemranges[i].start  >> XC_PAGE_SHIFT,
+                (dom->vmemranges[i].end - dom->vmemranges[i].start) >> XC_PAGE_SHIFT,
+                dom->vmemranges[i].nid)) )
+                return rc;
+        }
+    }
+    else
     {
-        if ((rc = populate_guest_memory(dom,
-                                        bankbase[i] >> XC_PAGE_SHIFT,
-                                        dom->rambank_size[i])))
-            return rc;
+        for ( i = 0; i < GUEST_RAM_BANKS && dom->rambank_size[i]; i++ )
+        {
+            if ( (rc = populate_guest_memory(dom,
+                                             bankbase[i] >> XC_PAGE_SHIFT,
+                                             dom->rambank_size[i], 0U)) )
+                return rc;
+        }
     }
 
     /*
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:50:57 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:50:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341788.1602160 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waU08-00027H-TZ; Fri, 19 Jun 2026 07:50:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341788.1602160; Fri, 19 Jun 2026 07: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 1waU08-00025M-KB; Fri, 19 Jun 2026 07:50:56 +0000
Received: by outflank-mailman (input) for mailman id 1341788;
 Fri, 19 Jun 2026 07:50:55 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waU07-0001iO-7l
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:55 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waU06-004dWx-Kp
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:54 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4db-bab6-0a2a0a5309dd-0a2a4509a6d6-8
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:54 +0200
Received: from [40.107.74.95]
 (helo=OS0P286CU010.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4d7-4999-0a2a45090019-286b4a5fdda3-5
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:54 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYTP286MB4024.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:185::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.12; Fri, 19 Jun
 2026 07:50:50 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ygEqAl0TLfLBtVXmteKuIEWkuNPQens2j/wc3PGSakNOzCyaqRiaWwu3MJEYVWfhDAxIMVDwd6WaEcdZ7s2Rg7BQ1ttWhwjIa5NqLEj+QsacuBroOKdbIn7pqn+ojmAZM7ley5dMtK5tt7sC9SU3Sr05i6IWvgX5zSJh0y/6wvzpwnATlpqDMjV2A775f5YyJGuKheocBtCX6Lh7IcybEgl+Ape0vlnYaL8UzGZGWw+pxv6HQMDKG1t451cQNS6BMMxj91RDFvJFXpzjEgN0m+0HpSIB+ExTfRw2NzbiUtKJX8tVX/1yP/jEvlSUpXD+xY91ESbNgmmHAmSf2pgjiA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t7UlpS6apa4vpx3dkvWRk85jIONXnUZGoFgJW/UKF7A=;
 b=NYfCYn/6bkVPlx5ZHRmycc8vSGBZx5D8g33FQpT+FPVSi/CfjqXPyK8I+/rp1kr+mXmrk5qLM4M9J7+KQVaSzJv7zALo2O3lSG/fyJ4shTdllZgoC4H8ep90htzDDZWekLX98I6Pc1AQJk0O40fFx60mSd4lB9SsEQ0O4G8KxyY6v9LiA/gnA8hI09NQsjAV5Atmlv43uwPkVzkL6Gx/RFtZ0KkduJDPjDLiWD3znVQWfvn+mbiYK4rNlhFYO7xTau3QP/YOAIhRhs2oHpL7iuHQor1Rox3meqmicVDQAovEZO2J5mCkPR/rJmZRVUgRlUllnL0VDwqHys0CUWAiRQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t7UlpS6apa4vpx3dkvWRk85jIONXnUZGoFgJW/UKF7A=;
 b=Kg1p8imNZNDZL4Gw0NbRrd0+bINztee1qsJyMAVsX/PTuO+5uVlQit6m8HtV6yiMxn8/J2z8ISlxjz4oywLQjedzFuTau2k6Xn4CTxRiG+hZgY3w17W7/o+FyvRZAp4m6Lq8psZIpd7Rn3X7KaMGisYhwWrbRwFX0GbYzJ8zFyw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 19/22] tools/libxl: Add 'numa-node-id' property to DomU memory nodes
Date: Fri, 19 Jun 2026 16:50:07 +0900
Message-ID: <20260619075011.377116-20-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TYCP301CA0023.JPNP301.PROD.OUTLOOK.COM
 (2603:1096:400:381::16) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TYTP286MB4024:EE_
X-MS-Office365-Filtering-Correlation-Id: 476c450d-3a21-4c01-7fa3-08decdd77b0c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|10070799003|366016|23010399003|1800799024|18002099003|22082099003|6133799003|56012099006;
X-Microsoft-Antispam-Message-Info:
	lJ++pdsUneYnUqSJ6pVWSjru69IiCKHYSQmjAfaVxgKGDh3bpCPnCrqt/wnx2311RQP67QHvAuATGwR6ysM2wXB4n5HpBidLKkV/Oq8EZTG8nAuqr+rZ+x/+glc1C2UZyP5DymwcUP5hfcRZsIMNx/sccqiM40RdBccW3S72IDgEbkJRPYT5Zw5eXLY7XxyZqVzxdZ46rSdJB2Ec1ZxnmZxXJCkwytayRmSeMHb6fDpNZWf53XAFN0os6zk3+ACWNCM3QY+rC9hZ/58LrdrvgBs9CSR9BAiuRP7ExBV6zy+ADNDHSL2PVCAoHxRjeRUQTEc/V//1pWpi9xoVhpfsYCBUeWat8Volzip3RMj7GNUr6t9WEoZIonRXRIv8KE7C/CX3NdmsEbHm33ptgc+lJ5Fa04riWa3wYaOgcNUoOTft8M5Bff1iNyx3YbP0rg7lRd5dv+Bekj2JxrvLez9sR9oiwaMcRqB8A+cby8TmXXgNV/WsH9DHWrhM7UnGYDEGLp7Kbz0O1La7WtsLvmtxBWkMfhv1l7p/mrxSko5quIFDVA9YY3QFrJO3UBbH/U5/GKJPcIBpc5pOy4sI/wnncah+4SBSLzsy1YN7d2Bwt5c9yP0F8XrDhCIlh4NNVvEnfabcExOIWHweH7AUevuDwjvYFFno0nZO9zbtNY3Scxs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(366016)(23010399003)(1800799024)(18002099003)(22082099003)(6133799003)(56012099006);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?CjmWsd6Xmv0AHw1u8xatLJeC0B+I7/FDcRdd32jPKSIcgDHv0SDfRj0edgiK?=
 =?us-ascii?Q?tl6mQOxteoEnGj/BCifvTYbY47r5FWKxrpFJRc7zcscI+0iV70ikN1DW4u8T?=
 =?us-ascii?Q?Ou6VR+qB3H8MbrCQ2lVV5utE1GOTfYk9lAUIOZru3r91eG6cjCUfTdC+eUSX?=
 =?us-ascii?Q?IiTBQEEqEK9C4JfirSPXVMHrVxWk86PJBv6opdVnZVL1ZjLH9NJYn4ppMzUK?=
 =?us-ascii?Q?rkxYEfNjvBrqTsDBs/dRu3+dKOz5V+sp7I23vLNRaTMQC4qJ86M6BanD5oY8?=
 =?us-ascii?Q?IqWHh+dwuO3LypThSroNqm3OdJo4XfalqqCLo2lH2J0ZdbNWMEXQZSI5Zv/q?=
 =?us-ascii?Q?E5eGYfeAZT5NNtWOghr+OLrpmrOXyxVdzdX82SpUOCHDafI6byY5turhZT8/?=
 =?us-ascii?Q?vptLE32zUHkiZKf7O64ln3WixIyuZeCLmYsPsC6kBLxfMYNVnN6ZhXcsZrcQ?=
 =?us-ascii?Q?1LyL1MzalsDrK2ItgAVw0oxvIMjeE7gRVKI4Fb3ZuwNZCPae5ATnKnP12nB/?=
 =?us-ascii?Q?PAgIaJAiX+iYMgYkxrpgiKgn1vTkB1+hooONcD/DGDY+tRu3XtpcmKkgqCp9?=
 =?us-ascii?Q?GyBQYfy89WJ53zJwXxxa5TEjHDFeimy982KgGoDSdGgSho0NYnFam3KsDbHn?=
 =?us-ascii?Q?80VOjTH0YYVugOwWaHALyi2rBHKLj4d5IfnJiVLhCmSO360QDbOkb1dRI49L?=
 =?us-ascii?Q?4lSb4PviL1WU10Rsgjf+RV8LNeAmOj2Bb4xpeZ3ChhIcb38BYZ1nqfHJHuQI?=
 =?us-ascii?Q?pZGsqULUlDz17oeJZrPcVG5k4T55QLciy+oQ6zTAgS1b31JvFHqRkChCJqBq?=
 =?us-ascii?Q?MdsSkEof2m0VoBCrctMnPJJ6isI5m2tygNlMkYBpe54UjfYc6sRMriBa5U7C?=
 =?us-ascii?Q?lCOMRzC8zqyxmBSdRRHEx/A0mOSJsXhln283gqsOFaV3GmH0na5HIWG4p1nH?=
 =?us-ascii?Q?gdwLNyWxxIBWO+SbAOtwm6GF+koh7XO3riu/KFZI5WrpQJKvbr7IUJ+cPQob?=
 =?us-ascii?Q?lVmqTGBg4J8GjoHR4K29cyR5qkcu1Y04ptjZjpTv4bqoF+4O97i15p9SrvFf?=
 =?us-ascii?Q?b4Ce0YFPVOquAJY2ut7O3P9fU03o5ebcFTYzeL4tBAKCVyIzV0b2KGIi71vt?=
 =?us-ascii?Q?l6hDIIzzJ70FMxxcVeMjK7VdZsO1/D4elf4WuJVArKEQ4NB2LvknscMDDmNh?=
 =?us-ascii?Q?Q7OlR9HKkSAt3rt3d2w/kgQC3dKPIgLcaJ7AHoOHJlNfioOmAcSjGdKK1+gB?=
 =?us-ascii?Q?pLo9BsEFNSHuydxAmVBBpVfLv3c8YH1osrD/RRNB4vqIlAhTUQ/puyFkPGkZ?=
 =?us-ascii?Q?oLEmiDjDhpJMIbjUCVM9hIV62d9PHh/Vo92SjvAFhRqTfXXQJ0tnDNlfjAg8?=
 =?us-ascii?Q?IBKYuo2qwZ1ZLmuejFmwJjRc1ZuLvvXx0kJ+srNDYL9ZGOw1I4v3sUyor3yX?=
 =?us-ascii?Q?RZV6dMeLaG1wk/8tkc9Hdkm0BciGIvx5WjrTFKNWq0YykWxGta76/oPJfynB?=
 =?us-ascii?Q?ctJNhFQn0jYjMsKyWd79/Z21MjToxvHU0FVsbsqAGEqdlexZZuDGWH8opXXB?=
 =?us-ascii?Q?JWderPdacYAQKawW6zFRVJmOvK53INhsQLMgWuZVAjRVueEDIMrEA29kVAXl?=
 =?us-ascii?Q?mt4PrCfYI/Ab92KprzG+rkzYdJlxyOs52eqyo+IuBHBmXJEyHUEKxDoC2yQi?=
 =?us-ascii?Q?ujaztKsMWHuWgwdU5LnokqRqVALQgU0RZAqKCcbwLh741DQnNsnmEojp/UkF?=
 =?us-ascii?Q?Mwk//363PJ+fyHO+0TEU+aln6yPGg0myJrV5Ns1+xac5Zb7nmA+gg9kaExbS?=
X-MS-Exchange-AntiSpam-MessageData-1: YtCIvSH9n7gQTw==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 476c450d-3a21-4c01-7fa3-08decdd77b0c
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:50.0339
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TZYNakjY/P81VuF+0VFdWQ3l+UFSyRuWjBzd7yPlvvxNaciHim2vFJ4zMDS/JlJSdljlzF8nWgolG3RhpiVa7g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYTP286MB4024
X-purgate-ID: tlsNG-bad1c0/1781855454-F6BE6744-B1AF2686/0/0
X-purgate-type: clean
X-purgate-size: 3897

Add the 'numa-node-id' property to the memory nodes in the Device
Tree passed to DomU. The NUMA node to which each memory node
belongs is determined based on the virtual NUMA configuration
specified in the xl domain configuration file.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 tools/libs/light/libxl_arm.c | 50 +++++++++++++++++++++++++++++-------
 1 file changed, 41 insertions(+), 9 deletions(-)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 7e9f8a1bc3..6eae33cdd2 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -670,25 +670,53 @@ static int make_optee_node(libxl__gc *gc, void *fdt)
 }
 
 static int make_memory_nodes(libxl__gc *gc, void *fdt,
+                             const libxl_domain_build_info *b_info,
                              const struct xc_dom_image *dom)
 {
     int res, i;
     const char *name;
     const uint64_t bankbase[] = GUEST_RAM_BANK_BASES;
 
-    for (i = 0; i < GUEST_RAM_BANKS; i++) {
-        name = GCSPRINTF("memory@%"PRIx64, bankbase[i]);
+    if (dom->nr_vmemranges == 0 ) {
+        for (i = 0; i < GUEST_RAM_BANKS; i++) {
+            name = GCSPRINTF("memory@%"PRIx64, bankbase[i]);
 
-        LOG(DEBUG, "Creating placeholder node /%s", name);
+            LOG(DEBUG, "Creating placeholder node /%s", name);
 
+            res = fdt_begin_node(fdt, name);
+            if (res) return res;
+
+            res = fdt_property_string(fdt, "device_type", "memory");
+            if (res) return res;
+
+            res = fdt_property_regs(gc, fdt, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                                1, 0, 0);
+            if (res) return res;
+
+            res = fdt_end_node(fdt);
+            if (res) return res;
+        }
+
+        return 0;
+    }
+
+    for (i = 0; i < dom->nr_vmemranges; i++) {
+        uint64_t start_addr = dom->vmemranges[i].start;
+        uint64_t size = dom->vmemranges[i].end - start_addr;
+        uint32_t nid = dom->vmemranges[i].nid;
+        uint64_t regs[2] = { cpu_to_fdt64(start_addr), cpu_to_fdt64(size) };
+
+        name = GCSPRINTF("memory@%"PRIx64, start_addr);
         res = fdt_begin_node(fdt, name);
         if (res) return res;
 
         res = fdt_property_string(fdt, "device_type", "memory");
         if (res) return res;
 
-        res = fdt_property_regs(gc, fdt, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                                1, 0, 0);
+        res = fdt_property(fdt, "reg", regs, sizeof(uint64_t) * 2);
+        if (res) return res;
+
+        res = fdt_property_u32(fdt, "numa-node-id", nid);
         if (res) return res;
 
         res = fdt_end_node(fdt);
@@ -1365,7 +1393,7 @@ next_resize:
         FDT( make_cpus_node(gc, fdt, info->max_vcpus, ainfo) );
         FDT( make_psci_node(gc, fdt) );
 
-        FDT( make_memory_nodes(gc, fdt, dom) );
+        FDT( make_memory_nodes(gc, fdt, info, dom) );
 
         switch (info->arch_arm.gic_version) {
         case LIBXL_GIC_VERSION_V2:
@@ -1716,10 +1744,14 @@ int libxl__arch_domain_finalise_hw_description(libxl__gc *gc,
     if (res)
         return res;
 
-    for (i = 0; i < GUEST_RAM_BANKS; i++) {
-        const uint64_t size = (uint64_t)dom->rambank_size[i] << XC_PAGE_SHIFT;
+    if (d_config->b_info.num_vnuma_nodes == 0) {
+        for (i = 0; i < GUEST_RAM_BANKS; i++) {
+            const uint64_t size = (uint64_t)dom->rambank_size[i] << XC_PAGE_SHIFT;
 
-        finalise_one_node(gc, fdt, "/memory", bankbase[i], size);
+            finalise_one_node(gc, fdt, "/memory", bankbase[i], size);
+        }
+    } else {
+        LOG(DEBUG, "vNUMA enabled: skipping memory node finalisation as nodes are already populated");
     }
 
     if (dom->acpi_modules[0].data) {
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:50:59 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:50:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341799.1602171 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waU0B-0002f1-B4; Fri, 19 Jun 2026 07:50:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341799.1602171; Fri, 19 Jun 2026 07:50: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 1waU0B-0002ds-4b; Fri, 19 Jun 2026 07:50:59 +0000
Received: by outflank-mailman (input) for mailman id 1341799;
 Fri, 19 Jun 2026 07:50:57 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waU09-0002IP-Ks
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waU09-00Dy7y-0w
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:57 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4d0-e002-0a2a0a5209dd-0a2a4506dc90-34
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:57 +0200
Received: from [52.101.125.91]
 (helo=TYVP286CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4de-b690-0a2a45060019-34657d5ba6ec-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:56 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYYP286MB6155.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:1c2::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.13; Fri, 19 Jun
 2026 07:50:52 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=GgpPST/KyND+N9IkKwWxU73BInLmcW2Ok8OwWiWPeYFOJkQY3BPlAIMkDRM4R/rBfz8/jVrFjmdcmEz5z5n3mTHc1P1kno/sa5qZ5JY514DVswFSZGhjdjLoqJ1KA/q92FUi+etD+xTrxxzTv6CE6CdUd/mChFr52NspTKpsRszpl5L8IsPfUpS+bDaax5rb50bp2JOBa+gPA911ZOCZQ5Z+OBRPI4g2mNVHeSGB3tigvUKJq+7UrJYYDBsIMWz5jezpEg7CgOZCDpmPzTRFn6ycfKkR5J+RgIiP4lCfRWiYtGQJUIMbAahK5lSJU4JbhjtwELiCYCqn+8Qq7SYDTw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CSvaKno6wKGF5JB9lrdTQaier2MX8kOfEf4CgdZcZTA=;
 b=MFM8OShu5kyLEOXmumAoeRHWYHDHFv/+zlT1cfFJn1Tu53fBww5mAJBkCxvcKoQw8oH1fsNEgOJrQVqDGalA99AIJEb5ezKHlABsjfjaxD+YcqoycNzhqklTkn5MS0A3lF7iJVG+5qCrjk93RRkzC612uS2rM/5DNJsRxE6mwcMHwzjbmOLYzJQ3A8cY7UIwmLuBVoaw7qnL5lgdnsbqQiDD8Ag+76HUwIz67JASQzMM0vK5dtRVNXrOeab/1j9AUxiamiTUW/dSFOVHablHqdvEbdoWyDwa9NVJgQle3ysyuKY0ZPwPOPr3QuBqgw9yaqaZjKpTc6jLoLWxmf5P4Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CSvaKno6wKGF5JB9lrdTQaier2MX8kOfEf4CgdZcZTA=;
 b=alZW4t6UV9cfo20eBA19EC+4EKurM+Rq8ZWxDEY0nhKFdHKNDVofFtGnUc+8/sZDGVNCmqBz7dQcieFFqy5dBs5Caioj8iopl91WSrYGqHsT/z7MqehpxuqJs7qAYIlyw5CAlT2wTJhO9/ccwZt0OsiZAC0hvCwMfPuscN4C9Sk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 20/22] tools/libxl: Add 'numa-node-id' property to DomU CPU nodes
Date: Fri, 19 Jun 2026 16:50:08 +0900
Message-ID: <20260619075011.377116-21-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TYCP301CA0027.JPNP301.PROD.OUTLOOK.COM
 (2603:1096:400:381::9) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TYYP286MB6155:EE_
X-MS-Office365-Filtering-Correlation-Id: 67d66ad6-c34d-4545-e68f-08decdd77c26
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|10070799003|23010399003|376014|18002099003|22082099003|56012099006|6133799003;
X-Microsoft-Antispam-Message-Info:
	oBNGTfBNGSjL6YbZPe7HpVzH7B5jOK1ZtJ8rHon19FRpvP/kOjG1Aiicw6BPqWRF5nEEC1VtVWJX256ZDIQ/ZbHRaxCmwiCVcdKOGg8y8pdmmfTq+gvd795t6Ot2XQkTJ491Hermv4Pcrw53wBEJJ2C6jtYbPFwiS3IWj4Ejx+8rd72OERolimLrH2dtI/zSwJuxLkYJ4cCVpixQy7eBKNvzJIJAhmw2woCZeLDZGnmoYb6NqbblyNwEmhvhCaRnigDLhS1anw7ixXdE2/K1d/Ei851bVPkoH+UG4v2X1ceBKqM/yMVt4VNCoqvtsMATiG/EsXBPbyxC6koyj8vtBqMQ3Knf/RmkybnRIOw1gEI5MvjuI4GZHKI7n6YbJ2YP9+uAiHHonDsG3q6HQIhFmKNLMo5Pcs3ML20CFwMQXywK7h/pccjGh3GwOnHXH7cpErOBYjStEy+EB4Qu1iysTchr0I17U2zdil/K+RN8D4hXZG2Y+x0i2b4lUfE5EtCjDD0i6OIDc5Jep+0F9+MjOanL55bMgROs9AhgN8H4/Ooc4pxifZXrZMPNLp09yArEuFzMBhxxBoag4mOB1LXAhnt1ySRDJ/MyII4MPffHJ8xP1OqfVQ2hg8gE2RebR31uRISJYkrTYPBGDDAc1zxyYA2ThAqWDn2P2v/R6Nqyhbk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(10070799003)(23010399003)(376014)(18002099003)(22082099003)(56012099006)(6133799003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?0K8XUAkxO/BHtbKdrGK9J/41R9S/dC9dbrpi/xbLibnxkeHy6+mu8ARVGF6b?=
 =?us-ascii?Q?SyqhSfVby0hU2PH9/RO0iLAaBvvWOwWAbMhDvtXONZNrT+ZFWL6lkF775Idp?=
 =?us-ascii?Q?Un+MtGiNE496jwxFCNb/aCU1RQa8dkLz6RxF4PMlei24hPkeRZN5KBAeKbky?=
 =?us-ascii?Q?zWJQYPZ/Jy2w6GUhIgwWY+2+36g8PLenAAXwAN3L82MbpYXp3NyqeJdNIL/r?=
 =?us-ascii?Q?dQFr/GR+FQfr7meIu/2m6cmB4X/8CEXli+vH2nLqvkBDayR8UOVDASIjPg2Y?=
 =?us-ascii?Q?pXgsXBL8j72cRRUFlzQjYlb03qn+Id8UGbMy2pSGZeYuZSYPI0YGxKMrbA46?=
 =?us-ascii?Q?jPtpSy03HOIuRn/sKxN5gL3wDRdSHR8uaUUymOlRayd5F4BoxsK6211RwGf9?=
 =?us-ascii?Q?iVD9jdx1Wzp/1mm5SGd372cRndQhbZASJK2WSpnJ6oAAUO9049YG557Fve6i?=
 =?us-ascii?Q?YmMerG0QAoo7pYRk2r0REyrgJKL+uov4j3xkoBVcCZMwgl0Ci4T+D3VTOgD8?=
 =?us-ascii?Q?j3l9xW90Q1unQHXpPSiJt93riL19vmsfY/p240hgprvpc7Tsa/4yNKyDniNB?=
 =?us-ascii?Q?Wd8JA3m8JlSYFos9625nDVGvxbG10lMpoYkRH/1tb2br6Rb59wqCaH62O3yD?=
 =?us-ascii?Q?UPRuEyv4mktG6EDv0grarLdfVj/tdnTS3L1qJv8+NlLdkRfslIr9vWY/68d0?=
 =?us-ascii?Q?qGDhmUyejnq/6nppeLAyOG+jR2YUgDywVfc3gad9I1jqgozFcPdDZp0EhPui?=
 =?us-ascii?Q?CMSbpBYhgzYFT/qYfK3nnbTEV+fN3IwdtDR0XI9opsdY2BEGwKdySMMFtuoj?=
 =?us-ascii?Q?9Kofj62D1css7U3sFCupRmSozXnxtxxE+nH0u1UkqdVW2eNnmn39x8nBelDP?=
 =?us-ascii?Q?8Q0RnMS2+D25F1Hjduq90siyUcSraxmj3iZrNAT9wkGb4cmcOOY2l5Q6Ie71?=
 =?us-ascii?Q?F7uZrZLMJMfT/2biPw5TprBtnxb1M/1OlLKrm48IJ8byfGJnCDV1QPDfcwL2?=
 =?us-ascii?Q?gtgFwRQmZuwoYPscV/cXIrsHpojZGyzbnbAhDKh+yDWsCwWBWhxPgvE4sti5?=
 =?us-ascii?Q?8obaxQH/UfVljjaO4XaElWalM9+cTjAQbPzumeay9qjPnfY3cXRq/0aUNmh7?=
 =?us-ascii?Q?Pd2bN4fDKkiuEFSVtgC236WGyFB2aMTV1YcD60XusmYEwp9u9/+pWIDiiAIa?=
 =?us-ascii?Q?kp9aXX0PqqrPSZ/JQ3hLVmEH0HzvYkp8NbWPr0LfKkXDmRZL+RpQtYtg6KZT?=
 =?us-ascii?Q?jDLeCLUgcytF5phXG+etLidtiYwQlW+Kr7wNa76CIAeu5Qu0fDIkFZfTiEgH?=
 =?us-ascii?Q?i0YSPDvqKkJJao7l1nNbrWe29DnGCYC1wihmEOHPrbA69lsO1DJIjvQmwmdu?=
 =?us-ascii?Q?gMBsjEvoI3/3q9Z4f4NTAgqf8hbdGrCRWm+/DwE5gdhv10Yp8lO5xAV8h9y6?=
 =?us-ascii?Q?4mLkkugTx6IxAYedn8BChbHCucYETwEGqeFhAwpsgk2Q8v0FPVEuDq7Zxy7I?=
 =?us-ascii?Q?gDHiLzJZDBivsv87U9xx1SP6gllVTwrzk8h7aYAM1HU/00qPdvxYBPsE/m3A?=
 =?us-ascii?Q?DBEa23g+boeOTAb7H0cSFA7NMxQQsV9jPeo1R68br6ZQG9rU3tYTLoZNTSx6?=
 =?us-ascii?Q?ki4J4nvtL8tAmH/tBk0v+chu9PIIywrTAmMC3uIP4fObSz598yZgIJurQ1ax?=
 =?us-ascii?Q?cibTH6FGzsq/5DKskGfvwcJ87x8krNBJMPlu30Sp/0fgBCiDe0PqDRwK24m1?=
 =?us-ascii?Q?P48602Z5eGGDR4cs+Mj2sL9WJEdnmtYO/u3UQs9VQdBBa+Ay2rhXR/FvDLcj?=
X-MS-Exchange-AntiSpam-MessageData-1: +aUwm8omcbcWKA==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 67d66ad6-c34d-4545-e68f-08decdd77c26
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:51.8491
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UDb7khJSqZHo0BKAp0Gi+s5nEQwGe9yCGm1drIy78Ju0JvGpV2p4TGTjXMtG7SanS6pHQBL0S4aDIy+U/dm8wA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYYP286MB6155
X-purgate-ID: tlsNG-16d1c6/1781855456-B13FD853-7FFE8061/0/0
X-purgate-type: clean
X-purgate-size: 2356

Add the 'numa-node-id' property to the cpu nodes in the Device
Tree passed to DomU. This information is retrieved from the
virtual NUMA configuration in the xl domain configuration file.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 tools/libs/light/libxl_arm.c | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 6eae33cdd2..4b0ed99229 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -571,7 +571,8 @@ static int make_chosen_node(libxl__gc *gc, void *fdt, bool ramdisk,
     return 0;
 }
 
-static int make_cpus_node(libxl__gc *gc, void *fdt, int nr_cpus,
+static int make_cpus_node(libxl__gc *gc, void *fdt,
+                          const libxl_domain_build_info *b_info,
                           const struct arch_info *ainfo)
 {
     int res, i;
@@ -586,7 +587,7 @@ static int make_cpus_node(libxl__gc *gc, void *fdt, int nr_cpus,
     res = fdt_property_cell(fdt, "#size-cells", 0);
     if (res) return res;
 
-    for (i = 0; i < nr_cpus; i++) {
+    for (i = 0; i < b_info->max_vcpus; i++) {
         const char *name;
 
         mpidr_aff = libxl__compute_mpdir(i);
@@ -607,6 +608,17 @@ static int make_cpus_node(libxl__gc *gc, void *fdt, int nr_cpus,
         res = fdt_property_regs(gc, fdt, 1, 0, 1, mpidr_aff);
         if (res) return res;
 
+        if (b_info->num_vnuma_nodes) {
+            unsigned int vnode;
+            for (vnode = 0; vnode < b_info->num_vnuma_nodes; vnode++) {
+                if (libxl_bitmap_test(&b_info->vnuma_nodes[vnode].vcpus, i)) {
+                    res = fdt_property_u32(fdt, "numa-node-id", vnode);
+                    if (res) return res;
+                    break;
+                }
+            }
+        }
+
         res = fdt_end_node(fdt);
         if (res) return res;
     }
@@ -1390,7 +1402,7 @@ next_resize:
 
         FDT( make_root_properties(gc, vers, fdt) );
         FDT( make_chosen_node(gc, fdt, !!dom->modules[0].blob, state, info) );
-        FDT( make_cpus_node(gc, fdt, info->max_vcpus, ainfo) );
+        FDT( make_cpus_node(gc, fdt, info, ainfo) );
         FDT( make_psci_node(gc, fdt) );
 
         FDT( make_memory_nodes(gc, fdt, info, dom) );
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:51:01 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:51:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341804.1602179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waU0C-0002yB-PO; Fri, 19 Jun 2026 07:51:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341804.1602179; Fri, 19 Jun 2026 07:51: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 1waU0C-0002wI-FV; Fri, 19 Jun 2026 07:51:00 +0000
Received: by outflank-mailman (input) for mailman id 1341804;
 Fri, 19 Jun 2026 07:50:58 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waU0A-0002WB-MZ
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waU0A-00Dy7y-3E
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:58 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4d0-e002-0a2a0a5209dd-0a2a4506dc90-38
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:58 +0200
Received: from [52.101.125.91]
 (helo=TYVP286CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4de-b690-0a2a45060019-34657d5ba6ec-4
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:57 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYYP286MB6155.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:1c2::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.13; Fri, 19 Jun
 2026 07:50:53 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=wytN1ERZFUANjW8rzWsHPjSrth1IlIODeoEZrX5EFZD8sic9RtMtXxQDRAAN25mZ2LxmL/61iG9SNyIIUHM4w1McBfl7OQWRMmNvFDxOP/nknDFYbZtaNzvskbqohVQS92g1NqFb+uQcr4w//h0MGF0e1P4tPjzJd+uI7nzv05TdxieIdJPtOSy3VdLVRNh33+TrleTczKGcfa+x/znU/pPnHM/cZ/cGKI/sZ7JLRjdLGXFxZZtzmUcYhmGKGLtFnYyo//oaTXVWiAlKGj7T3BDCyNeWC+E+bEkkJYloW8I1pAhKtEtoAHUfQe58/VH51mVNAPTiohyqE7Q4vVEi/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=QoRTB4nAx8eUAVhSZrdglv1mHv2RGcwGx69cLffgICI=;
 b=v70XzIb6jLls6LEcXC5xMilJ5eJUcpONzdfydvA+QnlBADJB74FqP22r0CLM+hnyV/1EHmj5U2TPXi3mFIyQAVQnHAGktZY2xGdYVpI0ayJAZrOD3sh0bUhxYoGq1fDqgZ6RCOACx2u1Ryu+JCnhHlDCEp1CQLo+g+60WCPteV+37t9AE6yhtSWkmqD4sYQzpI4ZyfJJ8aoaC1QVyp7QJpg3BMFhAImXSsh0KhEcuLQvg5dzNaYUDkgt3rDRG1gzaE07FJjPi3wx7cnxQgkqUpmknxJmMdO9L5dYRMWFXAEiFoTbjpvfafp53MWFefTKhAx1atLFoXx/zzD1pTJPsQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QoRTB4nAx8eUAVhSZrdglv1mHv2RGcwGx69cLffgICI=;
 b=Qe9reMSd16CKin+V3xXRrn4x2lUJKS7fL1UtDF71wHwyxD6NF84G5OMc7+eIE7Ks5cqNM69QLFYpflnci2MUI2WAS8MKXNAGkHxyEMOyot8actOCUtPN3ukYYcFf7H/0wdLIUkfQVZ/1zPGdHUfEePPR/nipt52UDXUIzvje5cE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 21/22] tools/libxl: Create 'distance-map' node in DomU Device Tree
Date: Fri, 19 Jun 2026 16:50:09 +0900
Message-ID: <20260619075011.377116-22-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TYCP301CA0027.JPNP301.PROD.OUTLOOK.COM
 (2603:1096:400:381::9) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TYYP286MB6155:EE_
X-MS-Office365-Filtering-Correlation-Id: 47bec74d-8e98-4c37-1a60-08decdd77d29
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|10070799003|23010399003|376014|18002099003|22082099003|56012099006|6133799003;
X-Microsoft-Antispam-Message-Info:
	tL9ai5IZ2WiCZ+ZMbdi5aX/hWil5lJvGStUw01fmPicWHAX8AxZEe1QlBy3564iq46XrMlDCoQ6g5HLiMUzwz7mQ0lcGmKQq82X3pSh1wEziDuzHgF28W3DTIwIvWvb6Ye9iST+65Nf+0uWxuxJq2rSyr0Vw9OKBMSSy3l60EHMw3T3iu+NcE6wXlX+NzGa60KmzqQpi57al2seiC3fUCNZ9PFsnS/GPkym5pUzA9xhUoarOWsWoY3ntS1oQYFzotoynT7aTlcVZD1/giO+NG5g9nJQ9SqHnh2xlBRyYZIRfpH8913CHY0gq208RMB71rPF+9WgHW7v2v/fhLKhVKjpaSQpkrdbVyOR4nInHxuA/8O6dRKGF2SvfoVQtvS3QWb6WR8RkerMjudTsvMke6jCF6FlWlB9zmdgY89536PqXBtZJajIqC1TVExqeD08U0BS9tt1yzUhXrovgD+AwzGU3pV+3UQiaFAySKyc5go7uLiArG7wi5PQdKKMhUjIFdiKwK9jDPkb5ybrVQINtuXJSrLD4Jn0y+jTSufEl08NR+42veWbrFtD2TZptyomIeiaWvluw0Xs0e5y+6eJvYAvJSSW23aw05YXWh1ogm95eWuGqX+tkVou+K0pNIp5T4Cu9r0QFylLkmWBlgrItM+ueG97MDSq6vsCpwjTekbM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(10070799003)(23010399003)(376014)(18002099003)(22082099003)(56012099006)(6133799003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?v/S+BI0Mo9dkqsZTvbo191jCB/KURz3QmybqDzYtJ28gSOh3Jp/CaXm6t1nC?=
 =?us-ascii?Q?OOKtHsc3khREL62Fj2VkmjPq+JiGAiUazgi+suqMHg6sWovF/Xn27QtceFsy?=
 =?us-ascii?Q?tHD7U8eHzQ8ULKlv9i783y/zr2cs1EdJ0TaI5Z123dp+LMp4b75UE4AdWRV7?=
 =?us-ascii?Q?dgi6Ll/fD4Riv25zQPpUUS2itlcIsmBMl3JzxNeIlmdjiUW7JrZZzCIfJ1GP?=
 =?us-ascii?Q?Ss460qPZo+nxeajSMmj5glMdF898A5texLvibYsTbrUGTaGHt38Ntqh2q7jw?=
 =?us-ascii?Q?9Hq2RklG5gXTYfJPBCGYonNiaSKdh6MU4zupFjLAiRgEdWreQKdE4V1+5aLG?=
 =?us-ascii?Q?iYLEeNZ8x3Z4MP/+A7i6f7s9H26G75bnudzAFAgdfrhz6WZ8s+yzjj4cFKTP?=
 =?us-ascii?Q?f9TEddmrU/Kr2nCIe2+m+2EZeU+1r2XvRgvAl0HGu7MvPcoTMyqPpvuWi4rS?=
 =?us-ascii?Q?gC0RUTLQk3/GJDyHbywrnxsjxvsaCG0ll10H8aSVeQml9zzwC5P30hkBgeVu?=
 =?us-ascii?Q?1vgZI1IxO6gT+nqRy5In5Vw7N1xoNlh0O/P1kVYyED1m01yagDp5IWPJKSw/?=
 =?us-ascii?Q?xasUMw3Dlua2r2EcwkebBvftlaKxMaVhRmm9L7Cq1u/CjNJ8K7ztuhgSKoq+?=
 =?us-ascii?Q?pORf2eeqcvkFy4BRAyyBdTIQH0ClizlOUdqWBY/0dOlls0HooVl1Ch3D8bFc?=
 =?us-ascii?Q?n3w+gYp/JQHxPoVtSj0goYGxToWz7gdepVo5uPT/oBhXeVvSg24yu4AbAQYh?=
 =?us-ascii?Q?+XTBs00G1DZQt8GVUS+eTMKYd8GWUDTH/JhbjHNGFCwErEst3Z7+XlutX1Rl?=
 =?us-ascii?Q?r3eiQshPujR/p4hbr470HOlGF7myuF2Hq+qy9e1Sge9QWake5aLGQx2YmY2B?=
 =?us-ascii?Q?ddruBkXVGm85G0a2bp7wshgWQVQaI8FQz2O7nj2/y4XNatHe35+5LFB/pwME?=
 =?us-ascii?Q?Po5xwqgnDj2YO/XNb24i2Y86BStU6xm6Nc+8UxcbFsj660CiKIwsA1OPtkq9?=
 =?us-ascii?Q?oNYnf8tLKK7IJjzbdVPlZvltdWHUVnUimlItKs5utD0wfMzTJBriXaoGiDKf?=
 =?us-ascii?Q?ZBaoi3fy227raQJ5VBsh5x5uUUX79WxFU0uNMajDBIoxxr+UkoxrWmI64wEg?=
 =?us-ascii?Q?4POaeRxcLSq6X+ayqz8SiaVn/jHLqhmYkIwiqvXo2aZCRojfOglIqmys+0Yi?=
 =?us-ascii?Q?/D4LmK4+BCZqnW6F+GG/OdbJvCskZAEatoctu7DjS/ELeEo0Lhuc/M1417Rw?=
 =?us-ascii?Q?ALFH3/ICJfuT3Pa3Epxd08cOABxRtAzn0qnI4fzKXr7gDzJwq8Dcqs8/9tfd?=
 =?us-ascii?Q?qtZiLR4OHF+hA8/im+J8GdAJ4vI3VKePqxKCkbLeocoYJ1bedX1iflGxo0vD?=
 =?us-ascii?Q?Eiya7drvnA2Msfh2lheKZQYfMT0DUa3yydbjfGJtCU8CvHaKk5UC+kMvUgAE?=
 =?us-ascii?Q?as6abqIKupCPkJCYud31OMuFC7RCcQXl3wWpzz+qKPNa5hApBDRYYoYVcIYj?=
 =?us-ascii?Q?ZPnmMtJ2ORZ5NENbsXp8J4ICsl3prjTqc0J1CjjOBww6DUfhBMFjrkUSNE0+?=
 =?us-ascii?Q?eBhUtnWzLry5T+jS+UeWkBomrz/ZljUzcrpy4HJhLUh91SROjzkb19rlHr7W?=
 =?us-ascii?Q?CnA/fY4zRqmnpd7WhHPllVg+pc2PlHf0OUbhID+mUzr6jPSOw3tLabPRgCry?=
 =?us-ascii?Q?vm1qWSzHuiioGFC3iqBTg6qMU1Rp+NAR01mP/Bp+mzrGIJK+mF4chky7/isv?=
 =?us-ascii?Q?iP8u7bfamUSPInJjfKnQPySA1KQJeBmEYCXkHqI7Yv6YYRnoZy/hHA7DCKvF?=
X-MS-Exchange-AntiSpam-MessageData-1: DLx1eW1fFzHeiA==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 47bec74d-8e98-4c37-1a60-08decdd77d29
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:53.5491
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zWdZHYeWvKgjW0/IuQ0DGa1onXcSRHod4gvnyQbvpGlXg70B0opHctUZC56HrhrqKsbo7ETaxSaiIqUND2BE2A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYYP286MB6155
X-purgate-ID: tlsNG-16d1c6/1781855458-3BBE1853-7B28EEDF/0/0
X-purgate-type: clean
X-purgate-size: 2120

Create the 'distance-map' node in the Device Tree passed to DomU.
This information is retrieved from the virtual NUMA configuration
in the xl domain configuration file.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 tools/libs/light/libxl_arm.c | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 4b0ed99229..466bee95ad 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -738,6 +738,39 @@ static int make_memory_nodes(libxl__gc *gc, void *fdt,
     return 0;
 }
 
+static int make_numa_distance_map(libxl__gc *gc, void *fdt,
+                                  const libxl_domain_build_info *b_info)
+{
+    int i, j;
+    uint32_t *matrix;
+    int nr_nodes = b_info->num_vnuma_nodes;
+    int idx = 0;
+    int res;
+
+    if (nr_nodes == 0) return 0;
+
+    res = fdt_begin_node(fdt, "distance-map");
+    if (res) return res;
+
+    res = fdt_property_string(fdt, "compatible", "numa-distance-map-v1");
+    if (res) return res;
+
+    matrix = libxl__malloc(gc, sizeof(uint32_t) * nr_nodes * nr_nodes * 3);
+
+    for (i = 0; i < nr_nodes; i++) {
+        for (j = 0; j < nr_nodes; j++) {
+            matrix[idx++] = cpu_to_fdt32(i);
+            matrix[idx++] = cpu_to_fdt32(j);
+            matrix[idx++] = cpu_to_fdt32(b_info->vnuma_nodes[i].distances[j]);
+        }
+    }
+
+    res = fdt_property(fdt, "distance-matrix", matrix, sizeof(uint32_t) * idx);
+    if (res) return res;
+
+    return fdt_end_node(fdt);
+}
+
 static int make_gicv2_node(libxl__gc *gc, void *fdt,
                            uint64_t gicd_base, uint64_t gicd_size,
                            uint64_t gicc_base, uint64_t gicc_size)
@@ -1407,6 +1440,8 @@ next_resize:
 
         FDT( make_memory_nodes(gc, fdt, info, dom) );
 
+        FDT( make_numa_distance_map(gc, fdt, info) );
+
         switch (info->arch_arm.gic_version) {
         case LIBXL_GIC_VERSION_V2:
             FDT( make_gicv2_node(gc, fdt,
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 07:51:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 07:51:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341807.1602185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waU0E-00038t-6j; Fri, 19 Jun 2026 07:51:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341807.1602185; Fri, 19 Jun 2026 07: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 1waU0D-000369-Ay; Fri, 19 Jun 2026 07:51:01 +0000
Received: by outflank-mailman (input) for mailman id 1341807;
 Fri, 19 Jun 2026 07:50:59 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waU0B-0002kI-Pe
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 07:50:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waU0B-00Dy7y-61
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:50:59 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4d0-e002-0a2a0a5209dd-0a2a4506dc90-42
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:59 +0200
Received: from [52.101.125.91]
 (helo=TYVP286CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a34f4de-b690-0a2a45060019-34657d5ba6ec-5
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 09:50:58 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYYP286MB6155.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:1c2::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.13; Fri, 19 Jun
 2026 07:50:55 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 07:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=C8c8wyeC7ZcppBS0A3hkTYpajo8E2NiJVi1Q/JTkX8B2PfVeH+wnhaXJyXtiF75P5xwAt3PLLpoU3Ls/igCZqeYHjCJKvf032nsHm4YUyRySJL4LqhGJ+Hc0OhJm+56bIiyWds8JN7R0AhuSdWWBIoqvpmev1WIvjfTiHKZMXKn2ksEF675yPN/XitOSF1P0QQTJp8waPdfGhxADAOnEY+zJf+lQ5n3LmZj1TomBJ6WoN4SMe/JgeT9KGXcjyzJBzgAFidvEEtF+/9+HcnYHelil+lxETqA1vmtHy6XXIcNYBHMk9gpUqFSqQZ0gxCsPx9rw0Pynare7P+bt0TaREA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Y2uO4CWFN3sk+OKUBgM2NipSp0voK+WIqimBi6qcm4A=;
 b=mvhHa6ccb3TnhFzGq9K5s04MXt+Z//9wdAJjjgLQdbo7RJQ5Szjf4bYK3AP+lYpSyi91/nIONC6si6BR3teg18bJU8g9ycATQwQtQG807LVpP7KA29IrFsk8N6nFbPD0xH//7a50ud+D//pR9UJl0W40V9sGwwYo6jA6EW+OLBuWs7rd5KMbg1jzp3Ibmm155B0XbtfTZkUxFMzGL4rPMk14dY6PziagqmN4BoVnYKgY3ATu5m+Ky3i7rkhnCd4LmptOFJFxUXD84j9Yph+NqPojGjTRr59mA+qNO3yxOnz5TjWhx277D2kYwoVqgzyI8o3AXrCdakvjsiL6Il2xlA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y2uO4CWFN3sk+OKUBgM2NipSp0voK+WIqimBi6qcm4A=;
 b=GgtkNk+ek8ITO5qac5LjSUDo/Aq/zz+tYdus5/5HpmFSt/I1ve9kmezycR9KysVDRF4rCTO6plKw41Kjzq2gka9HkzPpjRa/vC2V+Wbj3WVTUxEkdXjBaBzsjG2lnwrGws4kEB4ZGEID0VHsohezeVF4dnP0N039UDhheq6wGrA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: xen-devel@lists.xenproject.org
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
	Andrew Cooper <andrew.cooper3@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 22/22] xen/arm: Support numa and dom0_nodes boot options
Date: Fri, 19 Jun 2026 16:50:10 +0900
Message-ID: <20260619075011.377116-23-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619075011.377116-1-taka@valinux.co.jp>
References: <20260619075011.377116-1-taka@valinux.co.jp>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TYCP301CA0026.JPNP301.PROD.OUTLOOK.COM
 (2603:1096:400:381::10) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|TYYP286MB6155:EE_
X-MS-Office365-Filtering-Correlation-Id: bcf4e9e1-ef19-43a2-a58f-08decdd77e6d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|10070799003|23010399003|376014|3023799007|18002099003|22082099003|56012099006;
X-Microsoft-Antispam-Message-Info:
	C09t+UlrxXZgNnSOsxEPF0t/AllcRkMTwuKZHRLHxLtTuNBMgbVZG9XAxmGlIgwP+BEirLA5+pNeX//N8D/Le54jLFzSSmMi7ZdyBaSnFPwZK1ZoS9uQpu7dwcgWJxNvKCzJRsQcgnCmzASB2KD+LD2VioDNl2PSP9UgE7nRrpML5IzG1/y6Ufg9XiiewyaGe4wdCGb8qLbeGXVp/x0Dl0cB/f5jq2M+8+gl1RxUDEIDCR0yn8Cy1CGYLJ0bIzuHLSMTW0WSYh5tSPJ/+bBnMNadh0nLrFm1kL95VMVgxHDDrm40vMOZbs0AspM9pI0phNfM7Ozjvq8V6HIeUeLJPHklOJi21FhzrHVrnVVdC4HVylhk2uw5pIfKTjPv35Wb0hPbeCjXyaZKdWBGdpJGhk39zKXGPdB325MSSCkunwTKBTaBSbDmxIXQMPITNzeGpUfnLnK1N2mxBhEINI45wG0I7Q9PU2NaP4t90otw5kyCYSoUXxBOuNCd3mdS9ZSFAy9keTiHt87jKXSbSFiNPUGu7TRn1LZG4qHMB1xiiLPmEGm1jaaHKzSnDeQFPVDbp3IJRKv3/KJcqsw4MsEOAtX5Fakw+R1edHtx8Iezh4K0HwmADq7VnGcszATidBTlgjYmjZc8k5aqqOloy7mAaofSPqd2P5VrJ3XHpg3R5IE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(10070799003)(23010399003)(376014)(3023799007)(18002099003)(22082099003)(56012099006);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?tfs9ytiYob4Zz9mzEMQ1gtb3ilybgU00zq768cT/qPe/h/YpR8qX/aaoJlpP?=
 =?us-ascii?Q?CNKsMLEQHULEALOQHBUL0qDf0WFHmO4WPQOFTnMfXiQHsYTNjZtxwcBhs8z4?=
 =?us-ascii?Q?HKcoOueP6xmt+kN9SmwyctESMIJne9hDHFNK9Ue6g83lHW493vc2CJd9NU18?=
 =?us-ascii?Q?pi+k7Fqg/gRo9Z0rTebd6aT4zyyWpCj/g2iBgarffPemv+kY8/4n4+01Xl1t?=
 =?us-ascii?Q?zdLHKigzafGTtvyVBQuwOhqH/juMCaBibHhGw83tdezgT3Ox0bv/5SkNURMc?=
 =?us-ascii?Q?irLEXnj2cTnokbRNiIKb7Je0w2j+xUlMCL9sl+dfbH0UJ5cJ4fQDiWVbLoMD?=
 =?us-ascii?Q?LINXiCF5vx5vWMHVsBWy8tSnsNe1sDAvFnZ3gFNmJCd3hFTzUSmOf+iPf8zs?=
 =?us-ascii?Q?g9c2faxhyJdPQDYVdqZTzrzTiU1vW0U+fAzUfkU4dvSLuwam+DwqCTXn5DHO?=
 =?us-ascii?Q?3rxlCZC32WLHUeG4ikr9+wkDnX0REnFTkclIGDoPERqBG0G6hMy5LcfoGpRk?=
 =?us-ascii?Q?XfM68RIOwS5L5kMF4lyeBYhGpvgG3esaE3Dg75EM0PHsKo63+XuGGAVuEFle?=
 =?us-ascii?Q?PcH+6rHGgz4d212gX+bqxgNa/ombxYU32R4XZbh5A68AtWKwCOBeZ3q2y4vK?=
 =?us-ascii?Q?f2uUTjeO1myRZ2IgOHe5Ufv7CMPFNtTG3x5pS+Ehdbp/1sCiAWxxphk1A5ha?=
 =?us-ascii?Q?SZvhtAqfL0kBh+UZ7qQxOHX5o2Uc8YfzlI6DaWPM7vDUacmPaVPHDZdhwnxZ?=
 =?us-ascii?Q?mqDla6YMHb3ZPSgJD1GjREE54bwM320QJOioJN1qMQGK8WK8YODhv5nIg3P/?=
 =?us-ascii?Q?T2dEPUHr6BOYiIfUSJVntUrLchO5QTbaXjFTgHukocFbvCM0OkF3SaDlJ7VJ?=
 =?us-ascii?Q?7zaAQxCMk+XHPqloIMfWBZ0PdDm1TFD/4fXbNtwijzGEB6o8RCD5VyH0F+dn?=
 =?us-ascii?Q?FX2eWFS0bV1Vr12w10z42owcQtbCpHmtFc5+w7M4VpfWthmcQl41m+m0w83O?=
 =?us-ascii?Q?KHB3a/FQdwWMRUxdNEJMMkunQVQb3E/AlP24iNfypi+x+Bddi8QVeHHkCHGO?=
 =?us-ascii?Q?+7jzh+Bjpn80/XBgl86jXD/q9t75Qz6SdWjagyYGdcmPXNPsqkF/tb/+d5FZ?=
 =?us-ascii?Q?sjrjww3q935nGZXxDFtRm9tGMZ6fWBUzT8AbvQFZV9SbTZaiFmjBCYZqIEcU?=
 =?us-ascii?Q?GI9+61fb3OT0STe0CsWmb9ifWmprJokXrndoW2CzhT5BgJt+NZ761Wu1UjCT?=
 =?us-ascii?Q?XHihFNvWf4nceHKsjKDClLZfZ/+eHCL8XyVaC7dHRKej4oyULOgSxwK0Ryu/?=
 =?us-ascii?Q?oTii4TQoEJcdrgLXJkFGhtCkH1sAqeHbcJUpgAZL31m7HRm1DVF7B7pqrPmN?=
 =?us-ascii?Q?WcdOgN4AoBmZt8eUljd5JF4uir3EygzVn8jQULYPDRx0RnMYvES5jWcpObvZ?=
 =?us-ascii?Q?KNQUXnvdCFgoJHRgP1rVoAVdupcGTniR2SX+lx//oSJ8P7qChVYudkIQZhcD?=
 =?us-ascii?Q?4sGFmM30MmaNXu+Dbopk1NW4liV5/gDOmgWkN33wN6DG6cwAYLQc4SUMFSUe?=
 =?us-ascii?Q?FskITqVtBjbKUophSGIzMIM+oK9v4Ei3Y0yoGCQ00yNznjuk2ltOW5aIEXKP?=
 =?us-ascii?Q?5/h4MrxIB+GRKTFOamkypEWuseIFYM6te8LmTurev4rWaPtREewZ/b090MJ+?=
 =?us-ascii?Q?T5v5JB4UBX1AO/P6ReR/kcU+QDJl9ShuRh0WtuJYSzZmuUiCym4awHe+qlnk?=
 =?us-ascii?Q?pczbALI2diCfAbRLZjp3ZWK5ZhiORsn/OJjhHLftvq6NBhn01VAOrSps3vny?=
X-MS-Exchange-AntiSpam-MessageData-1: ubWYwCNSQRaOUg==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: bcf4e9e1-ef19-43a2-a58f-08decdd77e6d
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 07:50:55.6950
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6sVeGywfWEbwzIUFjwjTIV/w7me1QZJZzPiI0APw6TvvsgMyhf5UsCJvJ1WRimKeoMblrDxlK9F5oICfqSthrA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYYP286MB6155
X-purgate-ID: tlsNG-16d1c6/1781855459-B37E3853-0963C665/0/0
X-purgate-type: clean
X-purgate-size: 1768

The numa_nodes command line option is now supported on ARM Xen.
Its usage is almost identical to x86 Xen. The key difference is that
while x86 uses ACPI PXM values to specify nodes, ARM uses the
values defined in the device tree (numa-node-id).

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 docs/misc/xen-command-line.pandoc | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 1c711fa980..bb23f1fb15 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -1050,7 +1050,7 @@ Practices](https://wiki.xen.org/wiki/Xen_Best_Practices#Xen_dom0_dedicated_memor
 
 This option doesn't have effect if pv-shim mode is enabled.
 
-### dom0_nodes (x86)
+### dom0_nodes (x86, arm)
 
 > `= List of [ <integer> | relaxed | strict ]`
 
@@ -1059,8 +1059,9 @@ This option doesn't have effect if pv-shim mode is enabled.
 Specify the NUMA nodes to place Dom0 on. Defaults for vCPU-s created
 and memory assigned to Dom0 will be adjusted to match the node
 restrictions set up here. Note that the values to be specified here are
-ACPI PXM ones, not Xen internal node numbers. `relaxed` sets up vCPU
-affinities to prefer but be not limited to the specified node(s).
+ACPI PXM ones, not Xen internal node numbers, or node IDs in the device
+tree. `relaxed` sets up vCPU affinities to prefer but be not limited to
+the specified node(s).
 
 ### dom0_vcpus_pin
 > `= <boolean>`
@@ -2018,7 +2019,7 @@ This option is ignored in **pv-shim** mode.
 ### nr_irqs (x86)
 > `= <integer>`
 
-### numa (x86)
+### numa (x86, arm)
 > `= on | off | fake=<integer> | noacpi`
 
 > Default: `on`
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 08:24:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 08:24:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341906.1602198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waUWI-0006sJ-VD; Fri, 19 Jun 2026 08:24:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341906.1602198; Fri, 19 Jun 2026 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 1waUWI-0006sC-RO; Fri, 19 Jun 2026 08:24:10 +0000
Received: by outflank-mailman (input) for mailman id 1341906;
 Fri, 19 Jun 2026 08:24:09 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1waUWH-0006s2-S2
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 08:24:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waUWE-00E6aD-SR
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 10:24:06 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a34fca2-bab6-0a2a0a5309dd-0a2a4509963a-0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 10:24:02 +0200
Received: from [209.85.221.42] (helo=mail-wr1-f42.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a34fca2-4999-0a2a45090019-d155dd2acccb-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 10:24:02 +0200
Received: by mail-wr1-f42.google.com with SMTP id
 ffacd0b85a97d-45ef41adbc1so1517403f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 01:24: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-465090c5176sm5866807f8f.12.2026.06.19.01.24.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 19 Jun 2026 01:24: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781857442; x=1782462242; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=HgltI3hYdYJxkkjW63dEk3mjZl7bGQ1QfCqfK1Uzux8=;
        b=I7AKAFN5zgRaNwuEVrFtTP2gzCpXXvfVOUzBhsAIWPBJRagnLQ+NaL+KR9hvBfwFZA
         rC9/l6Z1vy2IB0cLiy7wOazr48CLmaFgiM8X7H1iP+HCdNnLCtehpry6yBV9CP5Ebfve
         +dMQjxg8PhlDeggYb2uK2Dj0Ls00epkuOyq2vp3irYQyxSgVZEpOGSjc0wusoQohGbqm
         u48++6rQdv9UPy9f0v4ldV0iJcGSfluxrtmJHIirD6U0hPQft0aJ6diqxRZNmY5scOEU
         B5tTTHrnjcU5JFbnbsoHXAYZnW10bBUz6Q6XFYjNaq4LADazBRC0+/VLnvd9CxplUple
         csJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781857442; x=1782462242;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=HgltI3hYdYJxkkjW63dEk3mjZl7bGQ1QfCqfK1Uzux8=;
        b=nM3Tsllhn/lukPqt1UJlBF+Omw3Cx4aMS1aiT7QwzESt0MptccPuutkVlghl0dYCaa
         B7s1ZyjEVXgsFEdC8Pz4NPYgUrBBmLU2rFkfDAdmnTJTJ29Mho/NVXt/MKjcNg784ZnW
         Q42CqV4zTS1dsVgP3KKkMTamnWoJincHE9nvpo5ERegJx8oIXlyN0DKBvIcO50+dRzU9
         vrs+lLo2EN1mTXUGog5SkHsG0hVgQyeYuvSGpmSVWOadkzwXc/9TjLXo35LcVUTcqobA
         uXtCQEEOshgRd7yyAkjUw0AY0n5uiIfIL3+BfMe1O9GoKlq+VSD9biixw47ZKAwvJTqf
         ytYQ==
X-Forwarded-Encrypted: i=1; AFNElJ9yJAcAHM/O1efmMS9obxKDhQvr1ff93lomDWnkrrkC1zKnHz/NZODC03Q7pw75ON3pwQHTzb9hvvk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyb/sntP9loVjF+4vO+KzMAVh+3WNTkUkCK1B+6okaqbcVzFfRl
	RtN33oBIzaAx557IRXaBS7eTXkTx+tWmoW3OtnYT6UEyyY9JALbkVSME+spDQXhiBg==
X-Gm-Gg: AfdE7cmFA96m+DWRK8qardpTtMit9s0VEgt3VgxkCZdd5uprJ3sIFQzDogBrf+7M4vV
	jHkYsYeeqbm4FVjTiqPyBh2RVp5sAuINVaS1IBW5uXzX4Bh7Qc5bW9niPKdm2uUInHb4ti+QQTL
	5ku4Yam9BVkuKMB9E4UPfDLHlIGXikbM3oDM3B3N6lWpa1ZQ08KdWFAucwTuj7ILSNw1ghTXk7i
	43V7SHCqPUI0GCdM8p10yytfMxuo/b4BkZ3O2FGqwpIeuAzoNkGsBafu1hMKbu375IsO86B4XV1
	ye4YCuvoShNjxjRekVLUywAUIaU0/Y/+AE8DxOlHtOLDoQKjuPtYqZdB9LYZFWDsJrQ7KPTS+/d
	7IUJwJzLS1hV85aTk4tULBe3LtCdX+CDFeGL+iOGUxkpXUPTuJm3bBuUi8t99x0gZu0dla8XGOi
	e4G5YVZM34vvx2giPwPT7S3l06IDJdyKDtio3H+FYLgY+COLZnnLokzSqw6oP9BDgJn9bDN0LqY
	7qv
X-Received: by 2002:a05:6000:1248:b0:45e:7997:8b7a with SMTP id ffacd0b85a97d-4650043985cmr2987416f8f.16.1781857441826;
        Fri, 19 Jun 2026 01:24:01 -0700 (PDT)
Message-ID: <3aefcd7c-d911-42b7-b731-5fc657b26622@suse.com>
Date: Fri, 19 Jun 2026 10:24:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 02/22] xen/common: Default function to get the distance
 between nodes
To: Hirokazu Takahashi <taka@valinux.co.jp>
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: <20260619075011.377116-1-taka@valinux.co.jp>
 <20260619075011.377116-3-taka@valinux.co.jp>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20260619075011.377116-3-taka@valinux.co.jp>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1781857442-F51F3744-8AAFCC6E/0/0
X-purgate-type: clean
X-purgate-size: 1108

On 19.06.2026 09:49, Hirokazu Takahashi wrote:
> --- /dev/null
> +++ b/xen/common/numa-distance-map.c
> @@ -0,0 +1,19 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +
> +#include <xen/errno.h>
> +#include <xen/init.h>
> +#include <xen/nodemask.h>

Why would any of these be needed here?

> +#include <xen/numa.h>
> +
> +#define LOCAL_DISTANCE      10
> +#define REMOTE_DISTANCE     20
> +
> +/*
> + * Get the distance between node 'from' and node 'to'.
> + */

In the description you say this is a fallback, but that doesn't become
clear from this comment at all.

> +uint8_t numa_node_distance(unsigned int from, unsigned int to)

If both parameters are node IDs, then why aren't they of type nodeid_t?

And then why is the return value a fixed width type? See ./CODING_STYLE.

> +{
> +    if ( from != to )
> +        return REMOTE_DISTANCE;
> +    return LOCAL_DISTANCE;
> +}

Nit (style): If you don't want to use the conditional operator (so the
body would be a single line), please have a blank line ahead of the
function's main return statement.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 08:26:48 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 08:26:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341912.1602206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waUYp-0007NC-9g; Fri, 19 Jun 2026 08:26:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341912.1602206; Fri, 19 Jun 2026 08:26: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 1waUYp-0007N5-6g; Fri, 19 Jun 2026 08:26:47 +0000
Received: by outflank-mailman (input) for mailman id 1341912;
 Fri, 19 Jun 2026 08:26:46 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1waUYo-0007Mx-6Q
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 08:26:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waUYn-00EsBb-3x
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 10:26:45 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a34fd43-e002-0a2a0a5209dd-0a2a4502a33a-6
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 10:26:45 +0200
Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a34fd44-fdf1-0a2a45020019-d155dd35addd-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 10:26:44 +0200
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-462bb734793so1334382f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 01:26: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-46508a053cesm5893094f8f.4.2026.06.19.01.26.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 19 Jun 2026 01:26:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781857604; x=1782462404; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=er04P76T9URwsmi5xWgF3wVt5oxaOpsSBwCHopNK+QQ=;
        b=dwSsdseLRjjvZYfL/IKWovNN8++n8Vor6RnGn9mpKRHHr5a5bzhSHgeaG5swhctRWt
         9GvhEBl8IQfAEc5LXEM1GUyuUGcnbbtcIlXC9ZFvxdZKudyMbjUvMZ08E7B+upu7xhEs
         c36/hh2/FsNwllHO8ygYmLtsu1KZP56IRlQZ0GCxftxVttaIbgrIdgMJmQ2XMsZeLlC3
         V35LtHMa7PgXkTTzrIEGjyg8RE63pP2KMQGjAu3amZY8PCPEldLikifyG3Brb/4N4U54
         OC5we8bvXcgOEoq2A2p4p7+EfhQtXyC1ALMgbtATSZqW0EAZWSDCe4+1LfRx7zMv09n5
         7i6Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781857604; x=1782462404;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=er04P76T9URwsmi5xWgF3wVt5oxaOpsSBwCHopNK+QQ=;
        b=i/t1UXMs1ki/d6g6Zy3I6B3Zvw4VGP0r8Ws0IgvltuSjjrIscZuKQk3/k1xTAbk99p
         VqM5RaeLmCIpOUGoPrUgVaoaGXeprbUXRXbUn6mEzTBBD6knS5mP6cee/5KL3CJ0QGGH
         C3bfTOVFgcBYcfMfG62MMf/mWCGUb0JoOtsaPS+9MTNONcgngRSowqgVWpCKbK94SdYT
         d6tPs98UwH9fmLXHb7vMLufJ0CtG4m0MgksrBMZn8DzLVysU+pHDN0N0UdO1yNHUzkzn
         40q2EI3tZetLjhKAM9nvSZlsDKjHcnLVCyIRsAMEDNLT29UKn/evr4zfwfxvM7fplSRc
         O6eg==
X-Forwarded-Encrypted: i=1; AFNElJ+5KOR6Va+Yxg8Ji1ewFfUpi4+jNPbGHaltawwLztl2yrIYhgDME5V7R+O0+4E5QDYCb59UYNeSgAk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx1NIsaTuOp5h1hwAtNQ67dS+A+htNmBGMocNZleGEukqY8+uGQ
	l8++5aDx7iJ+1n64XrvYTjHCB1KkxptixoRhwfga/y43RXw+A0YNISktnVlCvvIFcA==
X-Gm-Gg: AfdE7cnU2++f2QofJTQ4AylDHChw5MA/ruhswfB9uirktr4eJ1cvTpG8O+BiaHC55M2
	NMSWy/ljyaBGtetGak1ehSw7vwR3+pZfghGI79BON34fOpbMFBqKPWppWf5R2BwbraOX1UoeEOV
	iv6kbAdlzQIlaamyAo24tBSw6tIAO+4JXpY0W6JIsit45q5TH80phqxygUyEkknx5vgtITDYauV
	Y+ZQRwBVlS2hK+nTjjnlB5hqaib4JRRXHkL1bv4ypEY5QYG0eUiSQb1Y3skA8ogKY4vWhXbVzuK
	GJRI+Wd042ORjsADq8h1q7V3G7KUc+tAIbDg187ui1JmKqJQu1R4IGpPaNQBgA7E8+fQjFSxDST
	WF56QtuMuTjbFV820ZNR5cgE4cwbmkEYUfI4Wd0R1+J73wmAe7syMj/MC7F66kIm44AIaXvUCPR
	4JK/Zle1piogTpBZdFjIaPMwOpXHtkUNGPxM61WzXDj+FfCPhINek6OGv+gz0vxwOeneOjxpbuH
	IP8
X-Received: by 2002:a05:6000:609:b0:465:ba53:a006 with SMTP id ffacd0b85a97d-465ba53b0f1mr1319185f8f.23.1781857603882;
        Fri, 19 Jun 2026 01:26:43 -0700 (PDT)
Message-ID: <e5cd5952-d01d-4233-b771-cfbdd40615ac@suse.com>
Date: Fri, 19 Jun 2026 10:26:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 04/22] xen/arm: Introduce CONFIG_DEVICE_TREE_NUMA
 config option
To: Hirokazu Takahashi <taka@valinux.co.jp>
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: <20260619075011.377116-1-taka@valinux.co.jp>
 <20260619075011.377116-5-taka@valinux.co.jp>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20260619075011.377116-5-taka@valinux.co.jp>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-720697/1781857604-4DC663F3-0C04B8A5/0/0
X-purgate-type: clean
X-purgate-size: 542

On 19.06.2026 09:49, Hirokazu Takahashi wrote:
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -188,6 +188,14 @@ config VM_EVENT
>  config NEEDS_LIBELF
>  	bool
>  
> +config NUMA_DISTANCE_MAP
> +	bool
> +
> +config DEVICE_TREE_NUMA
> +	bool
> +	select NUMA
> +	select NUMA_DISTANCE_MAP
> +
>  config NUMA
>  	bool
>  

You want to insert below NUMA, not above. It may also make sense to move
"select NUMA" to NUMA_DISTANCE_MAP. I don't think the latter should be
selected when NUMA isn't also wanted.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 08:42:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 08:42:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341922.1602214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waUnn-0003PV-HI; Fri, 19 Jun 2026 08:42:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341922.1602214; Fri, 19 Jun 2026 08: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 1waUnn-0003PO-Du; Fri, 19 Jun 2026 08:42:15 +0000
Received: by outflank-mailman (input) for mailman id 1341922;
 Fri, 19 Jun 2026 08:42:13 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1waUnk-0003PI-M0
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 08:42:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waUnj-00EAka-Ov
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 10:42:11 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a3500dc-bab6-0a2a0a5309dd-0a2a4506886c-14
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 10:42:07 +0200
Received: from [52.101.125.130]
 (helo=TYVP286CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a3500dc-b690-0a2a45060019-34657d821b93-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 10:42:06 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYWP286MB2404.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:16b::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.13; Fri, 19 Jun
 2026 08:41:59 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Fri, 19 Jun 2026
 08:41: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dOp3RoFBgIGaOZkJYqamUATFSFy+PLEB6HdmXIxn7UxU+DYlqiEL/STohKRGt1r1qZzOuaLJHWcwDO23ggekOfEX54Q52Afnciww9251cYa+IlMAnswRwTyGSU/LWrGJhLXsH2Xjwiq80T6GhmBiRmQEGHpZevtBPyUubQ4+JAY4fjnWq3wRf9Iwzr3kSybat4CjkI7kM4ZEbCjl+c+WLOj+oRv3UwXxRoD3vS8LKizmpn2UlowV0Cnx/QBGdD8rCMVxFgPilFNc2T8dFmDcmRcK01Ui/DyJ8MrQ8HZ0cen8y1NflZHyDUqmTEikopeloghCikX9KY1p+pw0uiHg1g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JQpEszSiO0j0hlIkArKN8kGhc4y0+SA7He+5r2P6x1A=;
 b=Y31vnvAZxCTJGeDc+olHYx5IQHMPU/PioPY4t5j5D6rp3R+bWE6VQx4RpBISxSnNM60ZHCm1s7c2/qNBAjdNIulkRxgNTpVj8n8vfJU5JN/hJ0f7o9v5hafjIn6cMS5K3V/7kzXTU526AYocSBgc/EMV9TUjxmsLowhbdPmAPrIo0dlTlyYNW52Mf6/iIH5eBGMiFqNYEEzln8KrvSsMJXlCLO8PFjYN53+f/2SaoY4r2lnpYwL4+c8dEhkgtMt+ys/fiiurr7X/6T0LDj9ovnGqRN2rZWuvVqCD6UI45bu7IxQjEBfAkFLXRclGh8xndSNkFxkbnd9Tw8vSDJbF/w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JQpEszSiO0j0hlIkArKN8kGhc4y0+SA7He+5r2P6x1A=;
 b=ZeoVW6ZjrqMm3HZwlrncaG9sKp9i+Vmvfikb7TreDEzlxxglmx/5hTIJ1/zmqGo97/2NYA02ycGT8nEikpGyoPPzemPilWSQ2CKzEA1YftBBQ7N3uhlqI30mQBJvHG/lCmObCOOV+WxmdkUTMc9bRamYjugCwa8ev5uI9Khn+pQ=
From: Hirokazu Takahashi <taka@valinux.co.jp>
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?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3 04/22] xen/arm: Introduce CONFIG_DEVICE_TREE_NUMA
 config option
Thread-Topic: [PATCH v3 04/22] xen/arm: Introduce CONFIG_DEVICE_TREE_NUMA
 config option
Thread-Index: AQHc/8BHecTxkYY0UkipDILxaDEvGrZFizYAgAAD51A=
Date: Fri, 19 Jun 2026 08:41:59 +0000
Message-ID:
 <OS9P286MB72223429F26167256AF8F06782E22@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
References: <20260619075011.377116-1-taka@valinux.co.jp>
 <20260619075011.377116-5-taka@valinux.co.jp>
 <e5cd5952-d01d-4233-b771-cfbdd40615ac@suse.com>
In-Reply-To: <e5cd5952-d01d-4233-b771-cfbdd40615ac@suse.com>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: OS9P286MB7222:EE_|TYWP286MB2404:EE_
x-ms-office365-filtering-correlation-id: 852092a4-d604-4df1-91e5-08decddea0c8
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|23010399003|366016|1800799024|7416014|376014|56012099006|18002099003|22082099003|4143699003|38070700021;
x-microsoft-antispam-message-info:
 8/qtv79TMWRnVa9gmGKqng9KHhWkuE9Jq5+AE3d2ujSKmzJba/CUvZpqjPjcYj/CzDfudjeTp6XnUIZUrEF8GfXXOjRW1gayYkgPhZN5CUdFr+AYY4zbZAtfZHR0mXtrfmbipjBdi3QC0+ccHrlhFCA2ujgOjSF+xecEV2+G4I6QkwJ9SJpJn09cQAw+DfjaG9Cg4bE0inzOZ1gr06ZcYYUHda8jPL/EBmW2jXVA4I8ulKAQMYkAGy84f5mpO2WJKVPbLICYuWhK4Htl0GFXa4Pv+tjf3dgrUiNJdTf6DrLhLWxO9a3lS86ayPX32eC9uWC4WqCsYNSfnYxrMaz50ikdKeOGQ16i5LZ6JNARKzQ0I0wYUmSIFjeArLko1mtHSaTE/RxUgkwmByYFbyFqBBFmCOeUCFTu5mUo151StAJD7mCfAoT3p29+51XkvnTnWa9/slK+UiB7eiLeoqq2QQHIDdaE1RcEc4+q9j14ytbHBkZGxHaLOe41HKohwq48ALtabh2KqPMcJOFVSaMn1fpYmXv3FoFdh2XFJacJ2tAi+uia0uIU1/jqYcWRWNbFnuUtHpez64SIinKkv/BGyf9N0zClp09v6+AKEVnot3ro0qOVCWjZBeQVHYx1otNHPEKmboyCe0/4Dl8Giq6ti2QJ4atGMx5zWO+9OAl1SNuw3C9T/DdHpxlgezQEnsrTuP1YGbx5/SfsoFT3gsG9gQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(366016)(1800799024)(7416014)(376014)(56012099006)(18002099003)(22082099003)(4143699003)(38070700021);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Ti9PeWRqRENNY3Z5ZDVVdzJ6bGNockE2YTdxbU9vclZOZFk0QTdTRWR0bzRj?=
 =?utf-8?B?bGxZRFhBeUxzZStDWmtqNVVLdkFTVThiRmlvUmZ1ZHFyaHA4NCsvY2V2cEQv?=
 =?utf-8?B?Rmh3VUEzZEpEY0ZtOVJIY0R4RE5QUnVySWJ3ZUd4cFNtQk0xMXNWTzNvT1NJ?=
 =?utf-8?B?bDdGcGhJdlZmeGUvRzBjcjR4OVVqQzVtbTZMMER3V3VvcktjZlpwaW1sNTV5?=
 =?utf-8?B?aTlLcGpWcXBUdXI4NTFla2dCWWd4RmdvYjM4MUZhR2FnMnhEZ0FiQnR4bWtp?=
 =?utf-8?B?S1kxVnFKRGRFTHNHS1QxYXJQT1Z5SjBDSTJrV3NkRnhqbHB3Z1d1VXFvelk4?=
 =?utf-8?B?MnZVT2JBZFB5SFhqTThWWHVYOHZMNEdiTlVXNzEyalZMamxReDl0QThlVWF0?=
 =?utf-8?B?dktCUDFtNE83UFVPR09jejJ4NnQ5cU5DU0NpQVI0MVFRVWJMdWlJb1h3NU14?=
 =?utf-8?B?OVBXM2NGVFh3Q1pHbm50NW8zTjlzYi81UkdPUjdia0hGWGc0c2tvTXlZSXF4?=
 =?utf-8?B?ajNtQkVOSmxsT3RWbGxhZGxkNG5TQ0YzWmNVRklwa0k5KzBtUWdZMTZDL0hs?=
 =?utf-8?B?L1d0bFpJOEpmVVBMeE9qNHFUOUdXeGhhMGRWdjFzdHEyS2l5YlhENFhUV3J3?=
 =?utf-8?B?bmRvUk5KWDNRVHRmS2c3emxuSi9DRGpGLzN6dFpzdGNKaS9OVjJIZ3hQV0Nl?=
 =?utf-8?B?bEM4K0dXTERRVGZPTldUNHA1WjhLWTRpbGtSOWpyaDROZHN6RCtEQzV4RUZW?=
 =?utf-8?B?blZpMDR3aGkwdnNxeVErWE0rUngrYW1Jd2c5RENuVkhwQkVqZ2dyY2VmclNS?=
 =?utf-8?B?TzRFT0hJdEJucjkxVzlDdVVzMzMwc0JuTmFzS2E1TUZqYzI0c29kZ3IyaFFz?=
 =?utf-8?B?aW9mbWlzM2dmMnVxTFNjcmlXR3lWdXA1SE81QUJsS1ZzekJzU0N5d3dqTERh?=
 =?utf-8?B?NVNqdE44Y3VRK2lOaUtVZUx2R0lEVTIxZ0RkL1d6UUlySEQ3Z1lOcnhvdUdz?=
 =?utf-8?B?UlBlWk9RNnFacVNrSkdNaGhvQ1I0a2UramYrWkpqS0xkcG85UFhpMDhOUXA1?=
 =?utf-8?B?NVJlY0JjRG95M2N5NEowQ0c3bjdOdnhwWHlxMG9idlFXUFhNdmx0Rmx4bjc5?=
 =?utf-8?B?S0xsTExpbDZ4ZTRuRFdSTnRLSUNnQm1rNk8rak9hS2NWUUxjU2hNOTFuLzQz?=
 =?utf-8?B?a1U3SGxpQ2dqYlJEc3BxaXFzWCswZlRSNkw0aDQyUjRrUzhjdk9GaExxejFW?=
 =?utf-8?B?U0w2Q1BqNUx4R29rNDY0RkdaY1lCUDdsWWpFbUxUWlB5TXNzYml6NXBDUmdK?=
 =?utf-8?B?SURYRW4vMFVTOWtyeWxvNVZ4SVYzY2dFYTZCd1VIUUU2VmdENnkzZlNZYjRs?=
 =?utf-8?B?a003MklTZ1cwNjhtYU9zbVd6RTl1QWswMHFXS09SYXFKOElyc1VUL1VZTTZx?=
 =?utf-8?B?TDFoSVZqTCtYb0J4bWhGRml6UG9Tc1ovMGhYaEt3dE1XVkgyRUJCTSsrZnJs?=
 =?utf-8?B?QkRrNXNmbkVhbVdzT29ZWm9YSXdDeUIrdU9jWU41TW9DWnpianY3emg0WTZh?=
 =?utf-8?B?SGRvS2R5NUJwY0FqaTJsa3FmUUQ3Rmg1MGxJRldLNVp4QWtESU9ueGdGeXZ0?=
 =?utf-8?B?RHZHalQzTXg2TEZONXlKN1BPYUhzNS9qQWdPbzhaTk4vRno3WGJibFpaMXQr?=
 =?utf-8?B?bFdNS081S3FrRGVPTnROUGNCZVhycEt4UDVWMnpVMG1mclhZMGhpeE1hTndo?=
 =?utf-8?B?UXpTeXRSV2FoMmRWdDBDRHJZUmhCTmVVeWZCQ1hFVGZaWDNGOGNObXhOZVlz?=
 =?utf-8?B?c3J3MG94aXdENHlkT1U0amNqTUlKQ01yVEtWM0hvR0lBWEJmd0NvVlJmWERu?=
 =?utf-8?B?U0doZDYvZzBtSGFXOU5TYUVRajhibVVmQndOcmpGSTd5anBrbklLZG02RzJK?=
 =?utf-8?B?RnNRdm1Fclh0WGppUytoQXdOaE9VTVF5Ti9KYUduei9xNm5GY3dsNk1oRzJm?=
 =?utf-8?B?MVNBa2dZdHJvelZWRXIvMDJ4eHJNV3JpUVN4Zi9YYkhzTXRGMXdDRVRDZHJt?=
 =?utf-8?B?TGxSVXhnWUpaTHFQTVdmWFRkMHNYcUdPUnUrNEFRaTNDYmhqK0VLdjRpUjE3?=
 =?utf-8?B?QlRyZGpDUGxIb0Q1NDNCREl4SXNjSXY4VTVQWlFKSVlVSWxacEM3cWRMaGZw?=
 =?utf-8?B?V3RDZGJKenM0YXZTL2hDTmt2M1NldGFZcGl2WGJ2RktTcTE5WG5XdUcyZnMz?=
 =?utf-8?B?cXJrcTZsT3E3b1dMZWU3aks5UEpIanpvb0ZONytIaG80K2J6b3FzZENwcHRB?=
 =?utf-8?Q?hUuI3i9NyDKGnbgz0Y?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 852092a4-d604-4df1-91e5-08decddea0c8
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jun 2026 08:41:59.7082
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: KbQOjGNRLAHPlmh05QZSQSLicsU0g58UF1b8js6T8tiXy5mQv+XQZ2Z7cbtbB1eWAmg6jdMCfJHKNfwhaGVcgg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWP286MB2404
X-purgate-ID: tlsNG-16d1c6/1781858527-B31EC853-6A5454DE/0/0
X-purgate-type: clean
X-purgate-size: 802

SGVsbG8sIA0KDQo+ID4gLS0tIGEveGVuL2NvbW1vbi9LY29uZmlnDQo+ID4gKysrIGIveGVuL2Nv
bW1vbi9LY29uZmlnDQo+ID4gQEAgLTE4OCw2ICsxODgsMTQgQEAgY29uZmlnIFZNX0VWRU5UDQo+
ID4gIGNvbmZpZyBORUVEU19MSUJFTEYNCj4gPiAgCWJvb2wNCj4gPg0KPiA+ICtjb25maWcgTlVN
QV9ESVNUQU5DRV9NQVANCj4gPiArCWJvb2wNCj4gPiArDQo+ID4gK2NvbmZpZyBERVZJQ0VfVFJF
RV9OVU1BDQo+ID4gKwlib29sDQo+ID4gKwlzZWxlY3QgTlVNQQ0KPiA+ICsJc2VsZWN0IE5VTUFf
RElTVEFOQ0VfTUFQDQo+ID4gKw0KPiA+ICBjb25maWcgTlVNQQ0KPiA+ICAJYm9vbA0KPiA+DQo+
IA0KPiBZb3Ugd2FudCB0byBpbnNlcnQgYmVsb3cgTlVNQSwgbm90IGFib3ZlLiBJdCBtYXkgYWxz
byBtYWtlIHNlbnNlIHRvIG1vdmUNCj4gInNlbGVjdCBOVU1BIiB0byBOVU1BX0RJU1RBTkNFX01B
UC4gSSBkb24ndCB0aGluayB0aGUgbGF0dGVyIHNob3VsZCBiZQ0KPiBzZWxlY3RlZCB3aGVuIE5V
TUEgaXNuJ3QgYWxzbyB3YW50ZWQuDQoNCk9rYXksIEkgd2lsbCBmaXggdGhlbS4NCg0KSGlyb2th
enUgVGFrYWhhc2hpLg0K


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 08:44:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 08:44:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341930.1602225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waUq0-0003yu-1Q; Fri, 19 Jun 2026 08:44:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341930.1602225; Fri, 19 Jun 2026 08:44: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 1waUpz-0003yn-TX; Fri, 19 Jun 2026 08:44:31 +0000
Received: by outflank-mailman (input) for mailman id 1341930;
 Fri, 19 Jun 2026 08:44:30 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1waUpy-0003yh-KP
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 08:44:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waUpy-00FtwQ-19
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 10:44:30 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a35015c-5cb7-0a2a0a5109dd-0a2a450c94ea-46
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 10:44:29 +0200
Received: from [209.85.221.45] (helo=mail-wr1-f45.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a35016d-94a4-0a2a450c0019-d155dd2de86d-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 10:44:29 +0200
Received: by mail-wr1-f45.google.com with SMTP id
 ffacd0b85a97d-4629051c9d1so1405771f8f.2
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 01:44: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-4650bc426e1sm6240680f8f.29.2026.06.19.01.44.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 19 Jun 2026 01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781858669; x=1782463469; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=qxSbntXwpMLfQbx9fmhtfIWql5SGnegrtF/i1rnGmZ8=;
        b=EKJOZsCJca3/nIlmlqGtFX59+mq+XFmqYSvtWTTSkosE7abyOsPq2l0hgqejyBk9Ob
         JSGDqsgH6fkBOue27VZieFwRaxgcUlvkMlnqxhdIdDlIHdmwsdp5QC2CAJ2mg7/2B+OP
         U6Pg7kxhX5NYmoXzq/605qWudNnlRGyEOZ3uY/zyiQLYUUxRq2cTChEl0gNGNAacFSYf
         YnUwQC2//ac5ORl3hYkHI9B1FbyPANvT3C4+epbNP6h9CuiTCpZVaa2uewXeEYzDEbDm
         XqxRyNlBUWmHJhGuavtTGzHP0MkBCzrWM9BtKCgn6V3ZRgtfxEJlebZlKqCvh5smkOcc
         tq5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781858669; x=1782463469;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qxSbntXwpMLfQbx9fmhtfIWql5SGnegrtF/i1rnGmZ8=;
        b=e03RhNCQpAYgOcpoQPoMII19rvo/3oyvytVk0FsGrL+rwg8lWjVtFxNtx8YPxBlIU7
         gIdBPlRBMxja8S3QuCfTI3E15DSRlnXYfRUVEp7Zl746F+a46/p1bcD0+p1Jhs8fRaGn
         0NjkRJq/RWhWKKkc1FmXVYXHJYGCA4Y4ySrnulQonU5VMMao2Jk/ua+tposnf8/QVY+S
         5hOjZR3IwrvmJzvdIkoORtsnrG4X/MdLOLVhMwM5zU1043DNk9ZdmCX32VX6iERET+0P
         WhMoZN/SN56H8uU2IMGF7bvkfF1Z3xwTPZb+3ubeWKvXP8+vhQy18wvzQli4okCTuBt0
         94zg==
X-Forwarded-Encrypted: i=1; AFNElJ+2RJotlvxPGtXf82bRiX8M9uXIUsnW7C9GssJm07KIvgmfnfsEF2gYIyKw+7Q4UsofaEVOTTeOqRk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxfkdZjOT59E06isetJKhRQvlvism3mA0W01mOuD7tfcmzIG8y9
	6tCnDuO+lOyxgYMi7ogfunoqRV0bC+RkcmoPu5rz9ZUNKCqPkLD98DG32L+3Bw1ObA==
X-Gm-Gg: AfdE7cn/TTCXEkWHDo3DB7Gb1/7GfCqq4fIPLb4tsy1s3gTM2zDmkjiADzABbq6nhMq
	v2c/quZnQOz4mI7Q0KAwIyCXZDX9YG62qiM1CuJKrURPIVBxazltzrLB+O2rYW/WfOdUMqXGhej
	so5GDo/rYRlFey0m6czvBOs/PYkbEOpRhPYMm2rtfwBhxiB3hcY1TrdgCsDrMk3OZPuL4Ex13pX
	FP4gJvaRJRmx0bpvgjXyFAWTI/30GI11l9eRoPRLoCKN02lsr4AzbpqdPdGjXJlBfgMAEOjR4NX
	VHVZr/VsV01gdhxvu3ZuEEoQvqyVaTNvkZGj5pItBPQr6mOlmERx2IW/QFXEUNMjxlRWVoupt9+
	qD93c6R4uGDVbVlgj6WBdTk+7s9dOy1oZ+rHnvgiAgTDOxNJdiRDCn+p6pCRseO2ka0aFirq6U5
	OtV8IDvW+xVvYiOCD98b4ZSqFFPAIs5QvlRSwARo/qP3WCZ04UBEo3oTBN6fMmAxIxhtpMNzi4E
	xOB
X-Received: by 2002:a05:6000:2489:b0:45e:f271:5019 with SMTP id ffacd0b85a97d-465078b56d0mr5163481f8f.14.1781858669148;
        Fri, 19 Jun 2026 01:44:29 -0700 (PDT)
Message-ID: <926d2a7a-e278-4c3a-b168-aad003da6652@suse.com>
Date: Fri, 19 Jun 2026 10:44:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 07/22] xen/device-tree: Read NUMA node distance from
 Device Tree 'distance-map'
To: Hirokazu Takahashi <taka@valinux.co.jp>
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: <20260619075011.377116-1-taka@valinux.co.jp>
 <20260619075011.377116-8-taka@valinux.co.jp>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20260619075011.377116-8-taka@valinux.co.jp>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1781858669-DB5E0ABF-52B5A1AB/0/0
X-purgate-type: clean
X-purgate-size: 6497

On 19.06.2026 09:49, Hirokazu Takahashi wrote:
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -375,6 +375,10 @@ void asmlinkage __init noreturn start_xen(unsigned long fdt_paddr)
>          device_tree_flattened = NULL;
>      }
>  
> +#ifdef CONFIG_NUMA
> +    numa_distance_table_init();
> +#endif /* CONFIG_NUMA */

Generally we prefer to avoid such #ifdef-ary in main source code by providing stub
(inline) functions in headers. Yet then I'm not an Arm maintainer ...

> --- a/xen/common/device-tree/numa.c
> +++ b/xen/common/device-tree/numa.c
> @@ -1,4 +1,80 @@
>  /* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * Derived from Linux kernel 7.0's $drivers/of/of_numa.c
> + * Parse 'distance-map'
> + */
> +
> +#include <xen/bootinfo.h>
> +#include <xen/device_tree.h>
> +#include <xen/libfdt/libfdt.h>
> +#include <xen/bootfdt.h>
> +#include <xen/errno.h>
> +#include <xen/init.h>
> +#include <xen/nodemask.h>
> +#include <xen/numa.h>
> +
> +#define LOCAL_DISTANCE      10
> +#define REMOTE_DISTANCE     20
> +
> +/*
> + * Parse the '/distance-map' node from the flattened device tree
> + * and extract the 3-tuple triplets <from, to, distance>.
> + */
> +static void __init dt_numa_parse_distance_map(void)
> +{
> +    const void *fdt = device_tree_flattened;
> +    const struct fdt_property *prop;
> +    const __be32 *matrix;
> +    int entry_count;
> +    int node;
> +    int len;
> +    int i;

Nit: Plain int only when values can actually go negative, or when not-yet-
tidied-up code elsewhere (e.g. libfdt here) makes this necessary.

> +    node = fdt_path_offset(fdt, "/distance-map");
> +    if ( node < 0 )
> +        return;
> +
> +    if ( fdt_node_check_compatible(fdt, node, "numa-distance-map-v1") )
> +        return;
> +
> +    prop = fdt_get_property(fdt, node, "distance-matrix", &len);
> +    if ( !prop )
> +        return;
> +
> +    matrix = (const __be32*)prop->data;

Nit: Blank before * please.

> +    entry_count = len / sizeof(__be32);

Nit: Better sizeof(<expression>).

> +    if ( (entry_count <= 0) || (entry_count % 3) )
> +        return;
> +
> +    for ( i = 0; i + 2 < entry_count; i += 3 )
> +    {
> +        uint32_t nodea, nodeb, distance;

Again, no apparent need for a fixed-width type here.

> +        nodea = dt_next_cell(1, &matrix);
> +        nodeb = dt_next_cell(1, &matrix);
> +        distance = dt_next_cell(1, &matrix);
> +
> +        if ( (nodea == nodeb && distance != LOCAL_DISTANCE) ||
> +             (nodea != nodeb && distance <= LOCAL_DISTANCE) )
> +        {
> +            printk(XENLOG_WARNING "Invalid distance[node%d -> node%d] = %d\n",
> +                   nodea, nodeb, distance);

Nit: %u please with unsigned quantities (applies, like all such comments,
also elsewhere).

> +            continue;
> +        }
> +
> +        numa_set_distance(nodea, nodeb, distance);
> +
> +        /* Set default distance of node B->A same as A->B */
> +        if ( nodeb > nodea )
> +            numa_set_distance(nodeb, nodea, distance);
> +    }
> +}
> +
> +void __init dt_numa_distance_table_init(void)
> +{
> +    dt_numa_parse_distance_map();
> +}

I assume there are going to be further additions to this function?

> --- a/xen/common/numa-distance-map.c
> +++ b/xen/common/numa-distance-map.c
> @@ -1,19 +1,62 @@
>  /* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * Derived from Linux kernel 7.0's $mm/numa_memblks.c
> + */
>  
>  #include <xen/errno.h>
>  #include <xen/init.h>
>  #include <xen/nodemask.h>
>  #include <xen/numa.h>
> +#include <xen/acpi.h>
> +
>  
>  #define LOCAL_DISTANCE      10

Nit: No double blank lines please.

>  #define REMOTE_DISTANCE     20
>  
> +uint8_t * __ro_after_init numa_distance;

Nit: Excess blank after *.

>  /*
>   * Get the distance between node 'from' and node 'to'.
>   */
>  uint8_t numa_node_distance(unsigned int from, unsigned int to)
>  {
> -    if ( from != to )
> -        return REMOTE_DISTANCE;
> -    return LOCAL_DISTANCE;

Why did you introduce the function as a fallback when now you remove the
fallback logic entirely? Can't you introduce the function right here,
omitting the earlier patch?

> +    const unsigned int nr_nodes = last_node(node_online_map) + 1U;
> +
> +    if ( from >= nr_nodes || to >= nr_nodes )
> +        return from == to ? LOCAL_DISTANCE : REMOTE_DISTANCE;

What if either node is NUMA_NO_NODE?

> +    return numa_distance[from * nr_nodes + to];
> +}
> +
> +void __init numa_set_distance(unsigned int from, unsigned int to,
> +                                     unsigned int distance)

Nit: Indentation.

> +{
> +    const unsigned int nr_nodes = last_node(node_online_map) + 1U;
> +
> +    if ( (uint8_t)distance != distance || from >= nr_nodes || to >= nr_nodes )
> +        printk(XENLOG_WARNING "Invalid distance[node%d -> node%d] = %d\n",
> +               from, to, distance);
> +    else
> +        numa_distance[from * nr_nodes + to] = distance;
> +}
> +
> +void __init numa_distance_table_init(void)
> +{
> +    const unsigned int nr_nodes = last_node(node_online_map) + 1U;
> +    unsigned int i, j;
> +
> +    numa_distance = xzalloc_array(uint8_t, nr_nodes * nr_nodes);

xvzalloc*() family of functions in new code, please.

Further there's an at least abstract risk of the multiplication overflowing.
See how xvmalloc_array() allows for multiple dimensions to be passed.

> +    if ( !numa_distance )
> +        panic("Failed to allocate memory for numa distance-map array\n");
> +
> +    /* fill with the default distances */

Nit: Comment style.

> +    for ( i = 0U; i < nr_nodes; i++ )
> +        for ( j = 0U; j < nr_nodes; j++ )

Why the U suffixes?

> +            numa_distance[i * nr_nodes + j] = i == j ?
> +                LOCAL_DISTANCE : REMOTE_DISTANCE;

While binary operators really want to go at the end of wrapped lines, for
the conditional operator we would generally prefer e.g.

            numa_distance[i * nr_nodes + j] = i == j
                ? LOCAL_DISTANCE : REMOTE_DISTANCE;

while specifically here it might be yet better as

            numa_distance[i * nr_nodes + j] =
                i == j ? LOCAL_DISTANCE : REMOTE_DISTANCE;

You fill the entire array here. Why do you then use the zero-filling form
of the allocation function?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 08:45:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 08:45:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341937.1602233 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waUqp-0004R8-8A; Fri, 19 Jun 2026 08:45:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341937.1602233; Fri, 19 Jun 2026 08: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 1waUqp-0004R1-5M; Fri, 19 Jun 2026 08:45:23 +0000
Received: by outflank-mailman (input) for mailman id 1341937;
 Fri, 19 Jun 2026 08:45:22 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1waUqo-0004Qp-Mf
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 08:45:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waUqo-00BzDh-3D
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 10:45:22 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a35019a-e002-0a2a0a5209dd-0a2a45029570-28
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 10:45:22 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3501a1-fdf1-0a2a45020019-d155802dd59f-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 10:45:21 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-490cf322ed0so13501655e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 01:45: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-4650b76e7c9sm6263420f8f.21.2026.06.19.01.45.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 19 Jun 2026 01:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781858721; x=1782463521; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=fLKCHIRADBj7MhH/ep83P5xjQRVNMGjx7m28JcLAZ8Y=;
        b=JxRoEjkxpvYWrK6JzNHmLjjJe26SfFRtSBLvvlxZKqx4UEDWXwGlc/Fkvg314GYA/u
         t1aeALMC3Cn4IRwMdsblcXT1B2qwNFDVT1OxOlSOqSyt6ecBkRrv9KUGOzhoYOVQ/At+
         8On6Kp647FOmvPYhu8nOs7wdlNcttYHsYTG7MTvrIdUf7vAq4H67b4zrgYNSOerXLWoK
         FDivwmGHa1D6ynW2ksMDhy5ibmctLXcUbm3JHRuk2M5Lc0EAkwazv01iuWgIH9ef3Bg1
         o/H9Aby5H10MpMRQSvU3YktXto2ebl3LgBeBne76ajirMEQ0jrAaxkdANQYUxJFgKc+i
         eHoQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781858721; x=1782463521;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fLKCHIRADBj7MhH/ep83P5xjQRVNMGjx7m28JcLAZ8Y=;
        b=GpYNoz4IZbnN1470XI8JT1BJ/zRVFpPoFKD/GMcGGZ7AmNd6GyNiX14ezi+h/mtFKE
         NSWcFAhnIKlorfG2AUnX3l9L51lwj+Cy+Wh5Vid0EODrkLYFs/mPnEZIhqZPlr2H46sx
         qVuvxRLb8sA1wtxVd6/CovxQ474f7pOBN3BV4fWnWuOISCi4l4R4i41SeWA7P2AjeOKs
         Q7EC2s9LnmgWClb/wRXf7DTwBqcHpklDDS4vVyLDnSQdtqjFWkf6O30VMW4CWjgQF7+s
         OSIIhfpxWWBohEwvaEL8FPV2MPFuLFLL2gYKJK6ajb1W4P/qreRGyREprVIl9GPqy4GQ
         o/FA==
X-Forwarded-Encrypted: i=1; AFNElJ8r0QEhx4zRqp5FpiqtB5Ye3guX8cnPMKK9sm+RqJzcFiPNLNPkvOvSpl8RqBt4G10WxtckidE08eQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwSWFvnUNuGtatduRS4DZK/vVd8o+ZWusJGvusi3SmVU4HETVZK
	Wcemn2Xx6fu4r3d3M1treWAhx1nQKhI+5IhaE3LbrFsqWT7nTj3j4WObAatMsJFmNw==
X-Gm-Gg: AfdE7cnIZpVCN1Q8cxvJXllCWqprgPNXRBbCo+hcZyaAgqCqcHTh3OJBbSGql/JTiS1
	q0JzSqhsi2ldGSsrxab2b7isllwaQefgJlq7m6PZhH3CNzxIkmsqFSyDw4uoaI6f43uUd3v/I3x
	ZExfbhZ6B5YZ+b8uJF46LP38AfTaP4oCrFHJtmm11sqtl0x+4f9aGe/g2cDqPa/4MLVrmxf3GAH
	5qOY61IJU4phU0zTb+swcndNCnF1K12y1lsF7UQ/v6ksmeAiI/vp3uSNBvZj3j/HXXOtqYjiTi4
	yuxWgFSMQc3SZ1QLdaZTBwwJYCT1OYdm0rDF7I0iA1+rWQUnw+ndCc3f29/ONxIrfGwap/d5VRC
	ZdOCH+o1WEmCObQbxSjHfLczEt1PDXhdOOur+42nJNK5ln7qh5J58kZvV4NjDdkT/SFBuvOtsyW
	SFNQF2XLzXtGXfcIEq9azV6tpHcoIRoWfj7503OBgN/mIAumTxjtad/IKxOzKVCB4rmP6cpEEk+
	JiU
X-Received: by 2002:a05:600c:8b17:b0:492:4188:5819 with SMTP id 5b1f17b1804b1-49241885b42mr30289325e9.1.1781858721433;
        Fri, 19 Jun 2026 01:45:21 -0700 (PDT)
Message-ID: <6642566c-91a0-4399-968a-f11af5a33395@suse.com>
Date: Fri, 19 Jun 2026 10:45:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 08/22] xen/common: Allow building ARM32 Xen with
 CONFIG_NUMA
To: Hirokazu Takahashi <taka@valinux.co.jp>
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: <20260619075011.377116-1-taka@valinux.co.jp>
 <20260619075011.377116-9-taka@valinux.co.jp>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20260619075011.377116-9-taka@valinux.co.jp>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-720697/1781858721-4E2653F3-11BAE0F1/0/0
X-purgate-type: clean
X-purgate-size: 214

On 19.06.2026 09:49, Hirokazu Takahashi wrote:
> Allow ARM32 Xen to be built with NUMA configurations.
> 
> Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 09:18:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 09:18:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341951.1602241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waVMA-0002Pi-IT; Fri, 19 Jun 2026 09:17:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341951.1602241; Fri, 19 Jun 2026 09: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 1waVMA-0002Pb-Fq; Fri, 19 Jun 2026 09:17:46 +0000
Received: by outflank-mailman (input) for mailman id 1341951;
 Fri, 19 Jun 2026 09:17:45 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1waVM8-0002PV-V7
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:17:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waVM8-00C8zz-8e
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 11:17:44 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a350930-5cb7-0a2a0a5109dd-0a2a450acdd0-26
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 11:17:44 +0200
Received: from [52.101.61.31]
 (helo=DM1PR04CU001.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a350936-93a5-0a2a450a0019-34653d1f0a2e-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 11:17:43 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by PH7PR03MB7172.namprd03.prod.outlook.com (2603:10b6:510:243::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 09:17:39 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.009; Fri, 19 Jun 2026
 09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NBJjAsK0jidhI1dEcM0eWzD3aBqXfjyXWAIva7jeFyQdfpk22ZmJiWkVtOB4pFCcAKFP/2gI+UqCX0T42YLDuRED0hXa12XUmXoFSJJTmaBEavCtE3B4HbH476kmqIv4sVQFDVk7kuGoTcJLFpE3zMeyFMVsX6Um48c+EQn7pUurppmxDo0suhAa6yQmo1tZCvoCWVrNZHIzMHJGjkhDNYA3+QTYT3LsiVLuIIexnY6MkaEe17HSqnym81D8o+4rtjYesYqoPQ3qKECWoTuOdmWjMVP2yMD78yGsc1ZrNVr99q+crTRkTUi9N3QmsGtNk2JQitBI0agKqY2AP18hrw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZemEauOI77TDW8u2NgQd9cLF91NkOl8752hGMCW6q3A=;
 b=CF1sExTIGtDnacVkBgYMGRD78HNArrLeOXg5h9yI6OPpvQ02DyfjPaXHhasPRGeus9M1/lyK5jO1zyj0/QD8ShOUZmKSQf43qDHyaRrmYFv4hLyGKlHdifr7sz/gKz8cp6qRMIz4/waNXVbgedaz9A8nSBDdgt0yS1Ag5ltoeKbb7ONyglOjwk5AuG0BWm1VFnFjGkbXfM7Y8p6gw0MmzOsS5pNXYHB1uSLw6a7c2TuRH/n5xU7X/pIxyk5renH7FpXsFD1kkmNxj6XUJq7uuESla+Mvc1KJ19ta028IUPRkhKh/mAMvwhj9CIvmP6rL71crkJS9DaC1zSvCQaSXoQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZemEauOI77TDW8u2NgQd9cLF91NkOl8752hGMCW6q3A=;
 b=yBJ/rO+SlilICBQs1ZVAnnoMKBXJhQXFm5PoUeQ/K0Pfpa/jF9pXy/RFPlS3z6K6rjEkxxH8UFiZ4Q5BuZMooF6+eusECVHli3Ro9tWvZRyLd3k4zORXQr7cYHqbmd/BbZ6SI4f5S5XoWE2pNWhp9L+31ZQvLYO4AbqKQ6/BD6U=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <ecb9c38e-6375-4f49-b413-631d583a7afc@citrix.com>
Date: Fri, 19 Jun 2026 10:17:35 +0100
User-Agent: Mozilla Thunderbird
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 v2 01/15] pci: Introduce parse_pci_sbdf{_seg}()
To: Jan Beulich <jbeulich@suse.com>, Teddy Astie <teddy.astie@vates.tech>
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794550.8631fc262581453bbf619ec5b2062170.19edb3b3411000701b@vates.tech>
 <b7e19be5-5326-475d-8c58-68673ea159f6@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: <b7e19be5-5326-475d-8c58-68673ea159f6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO6P123CA0016.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:313::6) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|PH7PR03MB7172:EE_
X-MS-Office365-Filtering-Correlation-Id: 99b95a08-8fe1-4f2b-f0a4-08decde39c25
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|23010399003|1800799024|18002099003|22082099003|56012099006|11063799006|6133799003|4143699003;
X-Microsoft-Antispam-Message-Info:
	78qmGJwVH66bMN1TuSjuuU3dmN6DqZwezEP9ASklILEYJGW7GVSoupDIaeOLZp86uyHP0afSEPLOHvbO7fJ6fMI4f+yOsh7lFJi3ZdF5tCCK6v3hpXZ3Az6Ed53Ozq04kFSQGzFvJT1wU6KMxtsk+heXS/sGl/l15cFuijD1JP2AbHp4k0sxEUxhD7tSrym0bBXKGBHJ2SlaYaFdWxT6rMo1g0ikV3/Dt+0nebv0E8wnxFyMtcRQBhX5hhqFgbwji5/wUivuRRzqlW5UZYB8N0X2keTmpDlMaCcKLfV7QFDq3pV+6FzA4hqC9nIIzZy6YEx/Qhn6sBBgNigUtavGUxkLqKFNjvJfFQpVV2KBre7/4eI6xUNEk3lvIGCo4hvtM7/K4LnBQzsHrNTdMhTV9JvTXvovItlp1tJq2QKBrblyBM7hMwJuEPtVKY/CFwjxisOwZsHpvPPX11wjdyemhz8IFd9t2+7CReBmnaVQ4Hmusp2vAtQrBxBcy2PrD+yeVIP4oW8bDaoO7X4ydqMF1YFb1ILQH7sbg8XCBnuiT1XgwUBBSDCzN+iCZ4UloAFB+ngSuln/98mseB24mDkqAaIsuIQTQpXprUjeAfiPxy5ACw/6XqP4oQHod9A+PIXAMnCF7tIV22RFZXALKj29h64vNMv4XrBS+wUxt3ogd2Q=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(23010399003)(1800799024)(18002099003)(22082099003)(56012099006)(11063799006)(6133799003)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M0dycUFKUWQzWUI1b3AvMW1WUU45UU11ZmZDMldvcWJhWDFlNEFoN1l4Rkg5?=
 =?utf-8?B?QWIyK0pOeWNYU3d3WkVYRm1hTXVleEUyVXhoc1N2VEd3ZFpjaVZtT0tnd0xm?=
 =?utf-8?B?RTFoS2pGWEhPYUljSDgvSWRIdVhkUHFmTzA0cEM0c0FnUWN2RjNiY2tWdGFG?=
 =?utf-8?B?T2dJZFZWcFNPdVlaRWxVVks1emtZc2c2R2NJZE9sclJEazFCOTVkTXFlVkFr?=
 =?utf-8?B?Q0NmcTc5WGVpYUVxUnNMdUdiamcxNEpPTGUyaUdGTWZ3NXIrUHM2cmt0V0M0?=
 =?utf-8?B?cGI4ckFaVFVWazAvWWViZ1pZWlN6dXUzY3lkMzBxK1cvVE9acU05YUVSNzJa?=
 =?utf-8?B?aVEvcXZUMzA3SVdxK1ZGclBiM1ltbllWSkswYzJPZ0ExZFJPZWEwaGZCSzBO?=
 =?utf-8?B?SDBBRnFRQ1hXak43TnR0YmNOVGFIMkpPWjNaMzNLUkpicTAvc3VRU0wzUjRi?=
 =?utf-8?B?TFB3Q0lPem1sM010VzBZWnpnNUNteTRLd3lIUm9US2RsZm5qOUd2S1d5akha?=
 =?utf-8?B?NzRjNkNTNTc1aVZmNTd0UEJxQVQvdTk2YmN4SGY1OVZDOWMwdWx2YlRTU01l?=
 =?utf-8?B?V3J6RG1kU1FQYnFCb3ZrM05IY3FwYStOelJ2Tnk1TFVJZ3oyK2pkNUs0VHVG?=
 =?utf-8?B?TVYvbUZiU3hTTGxtdUdmR0JnSG1UWk5DaGZXWkw2Ykp6WmRvVGkyWkpwQnhE?=
 =?utf-8?B?blB0VUpaUHBWai9FQWYwVU1FQzZpQnk2QngyRzZOQWdFMmZUWTZUVHhUOEs0?=
 =?utf-8?B?Tno2dFpVYzY4b3hReTJXZU9aSEtmWmE1a1BZMGJQU2dNcjBHZzBTZTF2T0kr?=
 =?utf-8?B?bTBOYzR3a09iaE9paUJRMGR1cThmenhxSkdKNFBNWGZmNXg1amNiRHArYmM2?=
 =?utf-8?B?aENWelAvcGNzWktlTmo0STNva2wzNm9tVlZPV1VHNVM1b0J1ME0zZ0tEKy9P?=
 =?utf-8?B?Y2VGMi9nVTFiNUFRK0t0SUFZVHJQR3VMdUtHOE5rNVhNbTNKbWRPdTJ6Yjl2?=
 =?utf-8?B?MUFKTU9scUNObFFSVDRIeEhCTzloV1p3azl1K3hVNEFJbFZrQkNHdGV2YnFM?=
 =?utf-8?B?aGpyalB6UDZTeUNIa25DOXNuQlcvd1F1aFNFUDdmN01tOEdpZFNPU3hzc3Bk?=
 =?utf-8?B?Nkw3MTk2ZUZvYXl4WHFHU0ozU2luSHpnaUVWRVJWZ3pvaU5BSkM5TVJUQ1Jk?=
 =?utf-8?B?akh6OHVmMUNlUDlPTjZtbzZRTDZKUHA2cUcrRFhDZnNxOHQ0cFNGWCs5QmRt?=
 =?utf-8?B?aTNWL1k1eE5pRmRHMDBHZU9ZcS8zdlVtN290eXNsaURPK2JSTkhTdnhpcjd6?=
 =?utf-8?B?MExxaktIa1BUQ1F6aE9Tdnk5dkZ2bmF2OGYvcGJNVTl6VUdhWUdQNWJlRDEw?=
 =?utf-8?B?bGplU3NaTEVjRzVlVEVaZ1dBSi9GemhvWkl1UUJzT294VjNzSmJWeFpWSkVv?=
 =?utf-8?B?RHNaaHFHSmVGL28wcTFLdkNmdVM1cHBlUDdKT1NWUlFWbEZJZnV2Y0dwUGJX?=
 =?utf-8?B?d05aeHZCNDlqQTZhMlRXVHN3WjNKNk5BYm02L1p6YWRYUjF1QVlWdU11bTF6?=
 =?utf-8?B?Y09rS0dhUHNxdHNUSkJUd3FjdHBYQ2U2dzlOakNsV1QyZ2JhV2VzUWIvVTZL?=
 =?utf-8?B?ZFViQzliYXFod3N5SFVjUit1UlJuK3pGbGc1b2hRdkYxS1ZGdzU2VmJkbFZa?=
 =?utf-8?B?QVBwSTRVSzlnNUp2NTE1NUkrQVFGUHpucFVMSEV3aGVJbnJpVk11am9JTllI?=
 =?utf-8?B?TU15elNQZUxjc3oxMXRzdlV5REVuZVVhL0Y2TlhUS0xoMGV1MGFjc0lMVW1L?=
 =?utf-8?B?aDQ5cC9vTDBDVGtXK2hZM0x1L0tycVp3ZG5NSERSZXBqalRqNFZrdlV0RWJX?=
 =?utf-8?B?Mjg3K2VMQjczSTlDYlNGSHNpSG5NUjRDbXB0MUFMaVVRY1Jja05oc3VGMjdq?=
 =?utf-8?B?OFNkMjhqTHhQVGR3RXJFSUNEdXRPcmQ1bmFQbDhDSk5kSmpkV2J0MUZKR2RK?=
 =?utf-8?B?bGg3allQcEI1ZWZISnZDMExPNm45RWFxa3dwcUUyQTFpQ2ltSFBTQVYyQmZs?=
 =?utf-8?B?a2NjK09JRlZscUoyWmVoMVEyMDFDM2RLeitORWtRSDRPRmFEUjBWNjRzWTVZ?=
 =?utf-8?B?N2Zsd2F3TiszdUNuaC9DSUs2OVNxWWpOVUJaUWhTSnVhYzZ0Zm1nbEVTVE91?=
 =?utf-8?B?bWR5Q3RDNURycVpVSXhzcXU0Yk9IcDJReTFMcmN0K0UwTHluR3A0Z0wyd1Ux?=
 =?utf-8?B?NWQ5bzZvR1pEcWU1bTVQR1FLTXE1alBrRzJ4NThKSENLT3llMEdRWmUwNyto?=
 =?utf-8?B?MWZGZklXUFJXWks4M1RkMnBzRUZlWURTWWduU1FSQll0Ulo1Qm1NeDkxRmFk?=
 =?utf-8?Q?1skjSXUl7QVC9ldw=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 99b95a08-8fe1-4f2b-f0a4-08decde39c25
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 09:17:39.6005
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZMMH3CvDuETdLtAhcVx9iDIUPRWBI4rSgHmzzPA4KnEudX2+jYYNQo2IgbX71l/XQxPEG+G4+EBPzQDk6bVZ4IeNO5eG3NrGBFhxSDEiWTw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7172
X-purgate-ID: tlsNG-4011c0/1781860664-B2FEDDB8-5110B149/0/0
X-purgate-type: clean
X-purgate-size: 1025

On 19/06/2026 7:14 am, Jan Beulich wrote:
> On 18.06.2026 16:50, Teddy Astie wrote:
>> In many places, we're parsing a PCI string into individual
>> parts (seg, bus, dev, fn) and then transform it into a pci_sbdf_t
>> using PCI_SBDF macro. Rather than converting from parts to pci_sbdf_t
>> and vice versa, introduce a new function that parses a PCI string
>> into a pci_sbdf_t structure directly.
>>
>> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
> You introduce two functions without callers, hence two new violations of
> Misra rule 2.1. I understand there will be callers by the end of the series,
> but I think we want to remain Misra-unregressed at every patch boundary.
> Even for rules which aren't marked as clean (and hence blocking) yet.

I'm going to firmly object to this request.

2.1 is not checked and has no viable plan to be.

This patch series is nicely structured for easy review, and I'm not
happy forcing it to be worse just to satisfy a check that is firmly off.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 09:23:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 09:23:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341960.1602250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waVRh-0004Fi-8W; Fri, 19 Jun 2026 09:23:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341960.1602250; Fri, 19 Jun 2026 09:23: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 1waVRh-0004Fb-5Q; Fri, 19 Jun 2026 09:23:29 +0000
Received: by outflank-mailman (input) for mailman id 1341960;
 Fri, 19 Jun 2026 09:23:27 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1waVRf-0004FV-FH
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:23:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waVRe-006d9n-LD
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 11:23:26 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a350a86-e002-0a2a0a5209dd-0a2a4502cca2-22
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 11:23:26 +0200
Received: from [52.101.53.24]
 (helo=BL0PR03CU003.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a350a8c-fdf1-0a2a45020019-34653518abb1-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 11:23:26 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by CH2PR03MB5351.namprd03.prod.outlook.com (2603:10b6:610:a3::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 09:23:22 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.009; Fri, 19 Jun 2026
 09:23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=J1giMZc1lvWuLwanyDIXINHwNVuWg+SgUEUTA/AesXTo/jReSminhUdB4gzIWdpMCY18jL/WE1y4GmlTtDbmGwQbFeYw2VIYWWXGb9k8Kkg3tBuqljG1SWmOhhYs4Xudmyp7Zdo2QiQlRt6zHALQ8y4/jJOmBKe0+UD/gKw4+4tesxcMRWLm5PL5wIsV2zT16/4gAQlUlqO4sJwMY5ET/Iik4YocidWpakVoHkcyIT/CheB6MHH9dZzyAPtfIk0nlHnb9yIg+30RLKtxL6epUUl/8s+3u4w36kR7HuwmHoJTztlGyRoHPYililPBzjkch6LPWFMnssuROTwUTmo1ug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qRVQwGQffPVXzVGbRY6Iz9BjQvUKZwiE7tL6rgGJB44=;
 b=ntbqZ+JwwpIjbasREc/9tddmmVtT5l/yhpa1HOAMSU0m2BD2R7dOkF1bsBBd2cm9QpC26Fgw1kCE6DjS6TtwbkN5HFkqec+3yH45OQARKIh4xQDLi25dI8AQ6KQFWmaQ6N0nkqaiMKWNbFjFyTlPkY7waQexqNWRkFs96JKWW++LrFHVe2FB9LK4B5+lLcGBPVtXIaPUr+l0etRbhX4/Wxz2ylEuNhKXf+v39SMJ46c4zVMVffrPCcxdO1idhSMSzUqLtGbxGd6QLtLKCmGhQhMi8ChmVUrlgV4k50ut6EHRFHSFqFEPDvGIHUQ7rLyFoWrBmKegDNkYeOn4LNxtEw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qRVQwGQffPVXzVGbRY6Iz9BjQvUKZwiE7tL6rgGJB44=;
 b=jAkXImpZO57dxR89/pBsJeuLldDGMQjmhBu9KBc94weLwqkZc7hWczQK4pTCLHsdczvr2E0yNJN+2JcP03j2YLSPAUQRX/QupnxYA1gYO5jl3iKjTlmtTuGmJS9aJfr9qvx2E0Xu5/9KodRXZMwIw7LZXtVY6H7MtoNrDj9q+Go=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <4a0ffc46-873b-4c69-a8ee-6a504c1a73d4@citrix.com>
Date: Fri, 19 Jun 2026 10:23:18 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH v2 02/15] vtd: Use pci_sbdf_t in acpi_parse_dev_scope()
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794551.8631fc262581453bbf619ec5b2062170.19edb3b36a1000701b@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: <1781794551.8631fc262581453bbf619ec5b2062170.19edb3b36a1000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0168.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18a::11) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|CH2PR03MB5351:EE_
X-MS-Office365-Filtering-Correlation-Id: 4a27048b-e662-4c83-985e-08decde4684f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|23010399003|1800799024|22082099003|18002099003|56012099006|11063799006|4143699003;
X-Microsoft-Antispam-Message-Info:
	S87PHMgyVJUItJRcz/7DPBnRx+nTMb9FCrxQoZrKk+gnS/FIhBkR0lzNq7tXbBll+aAFAVpIFUI5JvN7djrubUIaDw7FyS21pIESN+hBaAtpVlV5Bq1c1AL2xHSEmjEwcLeOtr6S0HDhL0fE8S60+AtZ0+CPkKQsAd2nedS3Wq5sV9ONLbpWrYQ9m6zFy29my6VvxQVvW28u4AfKvS2zHXAbyePeu66zkIiiwU6OMZnTylDRcGN97lkHowtpyg0/5KAdE6KaWmzWhYiyc4cl059Dzy+ApMQHzD5GkZxtOtniIXPdvCxwYOYydOscPNdL6mxw3Gf9Sz9xyera9OftKVdGkzodFznHqAN1dNwTV3jLKkVR5Ow3mhFbmwxjhATgwRctsdSdGm1100adVIIbgFHkNvXAM5rpHWZbGDFVmEf/6TeKLneU1QizN0YuCcAKig9B5eEdmwd2Q3+I2O6CjI+5aYVw7Amb83EqiM3xOS2SR1aYRdr0UCJJQZBPQsrw4km952xvRmfQ7xX/s0TVqaCqbX9vqY8M7lUugR6wNphTqK3DCdIK/2AHJ59Hx14KcVJ7jnIHgDIAbWHeC0b89ipitzgp18+bx8uRbinQadOqSkkYLX3kP46PZaBaniZoUJi8zZSqmN1A8UDo9L5A3FGu+405ZyJ+KXB70oxwWhk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(23010399003)(1800799024)(22082099003)(18002099003)(56012099006)(11063799006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L0NFRUZwUnVqbHdrQnZoRlNBVTdVbTRIRUVHVEovVVBVWkdDWmlDTXdMcUJX?=
 =?utf-8?B?a09kM1hXUmhMb3BpZThCRFhpRFdJMU12QVFpaURYcEVZdEJhbHhqcE9IcUpE?=
 =?utf-8?B?OTloYUhZMmlzTi9WOWgvVTNoS2ttb3NVNUEzNFIwcSt6WkxJQmQxbXZPbHdl?=
 =?utf-8?B?OVdBUXFsK1FGek4wVm9kL0FqbTcwdUNaL3B3SXQ0SlllUEhSZXlNYU1Va3Bk?=
 =?utf-8?B?YmMxTlJxTGNiNHR3NHVUS3lJUnRrOFJWMm5vZ01Bak1LN3MzRS9XOFZyZXNs?=
 =?utf-8?B?VnJ5NUVRSmZvWUk2MFZQY0E3QkpiNUtyS0VCNnBpdkd2YXFNdktyYjBUbGNP?=
 =?utf-8?B?NUtCNUFOeTgyM1BGUFpmZGUwVWk3OTZLejhYbDVJV0hUTWlyWHN2cWhReWhE?=
 =?utf-8?B?ZG9HS1ZnUkNSeTVEZGVTVCtibDMveG4rSC9ROE4zYzA3aGVUR3o1VGhGRlI0?=
 =?utf-8?B?cm5TZ0VrTFduUkZxN2ZqU1VTTThlYmxMbG4rUXd3b1Via3VvZTlpUkdvTjM3?=
 =?utf-8?B?TUpkN0JUbFZXbTF5VERyT0hZNTk3aCtpNlc5WTdOZHlMbzVmMDFMb0NQTUp0?=
 =?utf-8?B?VmJpQkFEbno4YVA1OUVUK2N3QmFCV0ZjSFZ5Y2UzTnJQNGZTYnVGUWtCV0x3?=
 =?utf-8?B?UFoxamxqeEEzZU1nekUrVFl2RENWbnNRa1NNMlp1ZThaVk9nb3ZPa2ovelMw?=
 =?utf-8?B?eDNGV1dPQ24wWmdvNDNjeTlHRUN2ZThzUGQ5OWVHaTNBSnRPYk5aNWxMYjZh?=
 =?utf-8?B?RFdSZ2FkYkZvM0tLZEEyampNcFA1REZxUVZ6N0pyVUZZMHVhK3FIS2pDcGJF?=
 =?utf-8?B?Nzh0MkU5OFBJTlc3Y0s4T242NmVGMW96cGFVcVNmSE5HOERXYzVYajZpekJy?=
 =?utf-8?B?Q3JTNjBiVlVxdUVPQTAzbWhxYWNEMlB6VmxWcG9XZVROL3JRdVlvUkxOZFA2?=
 =?utf-8?B?OVo5L3lIcCs2RVkvSkNYWkhBa0ltd3h3dDFhUDIrMjlYN1RMbkNQN05XODJZ?=
 =?utf-8?B?aHZ6UUtPN2pSdzlhNTY1Tm51ZmxLUTg2aEhLaXJoc2JrNTg4Q0NSTk56SzAz?=
 =?utf-8?B?RTFCYXRQVTVscjBJVlZhTW11OHpXZy9sSVVqOGRvUTZlczVMMmJxdURRQXBX?=
 =?utf-8?B?TlpJdEJFMWpNMFBiUE4vbjQrNm1DSmtnOUhRVU16MjhDTUxMbjNJM0xVd2Nh?=
 =?utf-8?B?MWVCcjBNaEVBR3I5UXYzMUkvQitsZjVBMzRwbjJSRElZd3pxWENJK3dsVEZa?=
 =?utf-8?B?elNySHJUREY5SzF0K3RFZHJPeXBuS3VYNUgzNlhCWnEyVFFycC9TSTZtYXBk?=
 =?utf-8?B?ZnE2M2drVEV2NWdFSnZ2S3VIWlZ3RjFVVURSWURhbi9NL0M3YmJZa0srdnV1?=
 =?utf-8?B?L3NJTVU2bFphMzVPMWk2MnRjVjd1NVk5bTBWc3pOSXdUOTUvYWpySExSNU5a?=
 =?utf-8?B?c2xWWGNvZjFwT0h1Mm5pblV1Z0J4clEwNUJ6bVIvOFpqV3FGUGZIbDBUaldQ?=
 =?utf-8?B?azlZYWNxa2tXa2xRT01vSFBCZTk3bWhjZWVkdFRjaVRrT1V3c2FMMWRJK0Rv?=
 =?utf-8?B?S1ErMyszaVplcStUTng1dWNSQXZTS0N5NUM3NTAyYXV6OHp3aVpBR1pMVmpw?=
 =?utf-8?B?R1NaamhJWHhHUm1udCsyRml2MFF6Ynk0MDk2SlFGYm5KRGVPR09vSXZvUEFm?=
 =?utf-8?B?VmZrTUxvL3Y1TUlVVmtpclhhbDJLa280d0FacjNob3hva2xkT3B6L0paT3By?=
 =?utf-8?B?YUUzOTUxTFlwbFVkM3drYjBkUzExSURyK0hEell0MjBTcVdReVJxSkRYeng5?=
 =?utf-8?B?bzUyVDArdTg0L25FZ1A1Q2dLYkpjVElOb2RGaGFWeGxxTWdZL0xIV3locnpM?=
 =?utf-8?B?WjlsWlZLbUgzMW90WllmdFlSemg0blByeitkamVtOGt5cTFxV0dDRjRzN0ZB?=
 =?utf-8?B?RUhsOGVoYlBIaW9ZbGQ4ZldpWmU5blF6ZFdwczBqUjNpZjMwK3ovbTE3QzR1?=
 =?utf-8?B?U0gyYVA1cTBQRFpCSkpiVFlSZElNNUNuZVd4QUlhZUJnSTFZTkI1YXc5MHVK?=
 =?utf-8?B?cUlJQWxIRmRZQkhUTU1walN4TDNtVzRMS1NQcmVVeDFkU0pVc0dkUWJHaGVv?=
 =?utf-8?B?QU9IaTFDZDhpM1JsdVRIZzdmeml6YTZqNVJBODF0U25sMUtiL2hLellhZXRZ?=
 =?utf-8?B?NXk2Q2laSzVQMGx4MlY3cHUyY0tQVWpVSHNtaUdFdUYyZHUzSDUvWlorYXA4?=
 =?utf-8?B?N1d2UUZNMWZubmlpZXNsUng1Mmp0cnhSZXk0bE9ZL3dnU2xvN0ZwWnNPaTc2?=
 =?utf-8?B?Ry9ORGNEbTM3NWN5RVZnUTMzSlAwRjIzcGEwSDdOK2I1N1ZWdUMxK0tzUnNG?=
 =?utf-8?Q?0KNOBa4/nRjrn49g=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4a27048b-e662-4c83-985e-08decde4684f
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 09:23:22.0180
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: h0GuH23L5Zvl8kQlcay59gqjV5P/1ytzpHHR9OsjVQI5P/EA2NZyAp6Zyi+vtbD+st21w8V2dRG1SpYhy1hCPDumweg6yhk87FkhXOXkRgI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5351
X-purgate-ID: tlsNG-720697/1781861006-4C8103F3-A39F6D1C/0/0
X-purgate-type: clean
X-purgate-size: 3191

On 18/06/2026 3:50 pm, Teddy Astie wrote:
> diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
> index 2a756831a6..71e5a51a58 100644
> --- a/xen/drivers/passthrough/vtd/dmar.c
> +++ b/xen/drivers/passthrough/vtd/dmar.c
> @@ -413,9 +406,7 @@ static int __init acpi_parse_dev_scope(
>                  if ( !acpi_ioapic_unit )
>                      goto out;
>                  acpi_ioapic_unit->apic_id = acpi_scope->enumeration_id;
> -                acpi_ioapic_unit->ioapic.bdf.bus = bus;
> -                acpi_ioapic_unit->ioapic.bdf.dev = path->dev;
> -                acpi_ioapic_unit->ioapic.bdf.func = path->fn;
> +                acpi_ioapic_unit->ioapic.info = dev_sbdf.bdf;
>                  list_add(&acpi_ioapic_unit->list, &drhd->ioapic_list); 

Looking at this more closely (because of an issue in a later patch),
swapping bdf for info looks wonky.

It turns out to be correct, but would be better with:

diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
index ac828e5fe8eb..dc05774629d0 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -407,7 +407,7 @@ static int __init acpi_parse_dev_scope(
Â  Â  Â  Â  Â  Â  Â  Â  Â if ( !acpi_ioapic_unit )
Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â goto out;
Â  Â  Â  Â  Â  Â  Â  Â  Â acpi_ioapic_unit->apic_id = acpi_scope->enumeration_id;
-Â  Â  Â  Â  Â  Â  Â  Â  acpi_ioapic_unit->ioapic.info = dev_sbdf.bdf;
+Â  Â  Â  Â  Â  Â  Â  Â  acpi_ioapic_unit->bdf = dev_sbdf.bdf;
Â  Â  Â  Â  Â  Â  Â  Â  Â list_add(&acpi_ioapic_unit->list, &drhd->ioapic_list);
Â 
Â  Â  Â  Â  Â  Â  Â  Â  Â gfx_only = false;
diff --git a/xen/drivers/passthrough/vtd/dmar.h b/xen/drivers/passthrough/vtd/dmar.h
index 47e6918b45cc..5ab95c68bcf5 100644
--- a/xen/drivers/passthrough/vtd/dmar.h
+++ b/xen/drivers/passthrough/vtd/dmar.h
@@ -29,13 +29,13 @@ struct acpi_ioapic_unit {
Â  Â  Â struct list_head list;
Â  Â  Â int apic_id;
Â  Â  Â union {
-Â  Â  Â  Â  u16 info;
+Â  Â  Â  Â  uint16_t bdf;
Â  Â  Â  Â  Â struct {
Â  Â  Â  Â  Â  Â  Â u16 func: 3,
Â  Â  Â  Â  Â  Â  Â  Â  Â dev:Â  5,
Â  Â  Â  Â  Â  Â  Â  Â  Â bus:Â  8;
-Â  Â  Â  Â  }bdf;
-Â  Â  }ioapic;
+Â  Â  Â  Â  };
+Â  Â  };
Â };
Â 
Â struct acpi_hpet_unit {
diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index dd2788efd735..3aa8babdfd55 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -98,7 +98,7 @@ static u16 apicid_to_bdf(int apic_id)
Â 
Â  Â  Â list_for_each_entry ( acpi_ioapic_unit, &drhd->ioapic_list, list )
Â  Â  Â  Â  Â if ( acpi_ioapic_unit->apic_id == apic_id )
-Â  Â  Â  Â  Â  Â  return acpi_ioapic_unit->ioapic.info;
+Â  Â  Â  Â  Â  Â  return acpi_ioapic_unit->bdf;
Â 
Â  Â  Â dprintk(XENLOG_ERR VTDPREFIX, "Didn't find the bdf for the apic_id!\n");
Â  Â  Â return 0;


Personally I'd be tempted to just fold this in as well as it is relevant
to the acpi_parse_dev_scope(), and because this is brining IOAPIC in
line with HPET, but it could be a followup patch if you'd prefer not to
mix the two.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 09:29:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 09:29:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341969.1602260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waVXI-0005B0-SW; Fri, 19 Jun 2026 09:29:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341969.1602260; Fri, 19 Jun 2026 09:29: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 1waVXI-0005At-P0; Fri, 19 Jun 2026 09:29:16 +0000
Received: by outflank-mailman (input) for mailman id 1341969;
 Fri, 19 Jun 2026 09:29:15 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1waVXH-0005Ai-IF
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:29:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waVXG-0051en-Rz
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 11:29:14 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a350bd9-e002-0a2a0a5209dd-0a2a4508c958-36
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 11:29:14 +0200
Received: from [209.85.221.44] (helo=mail-wr1-f44.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a350bea-9ee7-0a2a45080019-d155dd2cb97f-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 11:29:14 +0200
Received: by mail-wr1-f44.google.com with SMTP id
 ffacd0b85a97d-4602e2a0372so1519147f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 02:29: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-4923fd21dbdsm51947655e9.6.2026.06.19.02.29.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 19 Jun 2026 02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781861354; x=1782466154; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Q2IEhq+Jyerg+gWVfdrFYGvL3a97IkaxgMb9y8YNlNM=;
        b=d/C9T2LNMpOgRLdrK8+SJPDm96CF6b65dqyluJZmzJ3Jr4GhVj95oE4BsVGrPApDLI
         v164/crmin79TTmhHZoAhoiKHeqjiXQahhfIhY+BCCjwT/RfOZiiPR3aWyOtUrGOvbhc
         voaz/nYroVoZnuCGr1lH03l5+NBdFFHXQ74K6EIp+wDr2FFz5fPOehGT1E7viV7fxhkF
         PFo+KYbPiK6ACrigTitIcKIJO1kOBOqVsUhyiPUTyBzlYxdpI6TcA4w4bmtAhNxCBmGX
         S2m7/Vtht7O5v2XCCIoEUQx5pw96wpFPogHRkXmkqWAgIA5pr2w82oYPSSGLhXU1fJkz
         1muA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781861354; x=1782466154;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Q2IEhq+Jyerg+gWVfdrFYGvL3a97IkaxgMb9y8YNlNM=;
        b=DURaViNKZQycAYvy8w7odPQ609kUuQHTFcYB6UjiW4jKKFeN1rGC4Hgw8XdlDuiW9g
         VY02rF1gBJw4hhgv4LF/pFNA5dHFzBYxzUcaXNKZRypAG0OSle/d7yvKEmWCqJ1Ex3VV
         ffFj386JJGNmIca/E2DEqXQaYSOEyiZON+Tm5A20R3boyFualp1JVgL7TYaXnqIH32v5
         pLLDRArp/4QcG7sVEXpBOZuBCbMgqpYtRDQ4Da6N8p11TewdMu8gDtCgqOhakCnU98KW
         n1k4AWOUgckMWtX1VsNgnt0ex5bvzEUBN23uLELEJaFQg5OstJ+xz79/6dyV/acYIF5z
         jxHA==
X-Forwarded-Encrypted: i=1; AFNElJ+FTahfwv1FgMhiSUgKGqvOGuuBdoXecXyjtTtyxN+N/CSEkV4c4FKqcj2Rsw4/c1e4/DCymJuTQjY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzuWLx1gm4GcKLTQE8Z5Y4iHAoWHYPOH0VSiJMMOeRdR/NOnuPn
	i8yr81bL3V0a8vzWPaPsbeitxIIQ71F5SQv9bME2KLSNis6gjFGdrortK8+IyZeL4pGxuykCpAL
	tuDzkQg==
X-Gm-Gg: AfdE7cntMankSkFlv9Hq3XFPkcUI9q42NEiRlgJx1kO5Ib4U7yrWloRV9bm5n8Aiduo
	9y8a7P8oR/xm6hsemqaJhSWqVoKI7Sbianh9KNARb5HxzKW3Y/nvibfOQ/WbhxdTHFl2of6ALS8
	6cvAAUE6Qy4qrtjH3jjHrtf++5SB8KEKwUYfnAl3hbupsX2LUtfbQ3A537QNmvGjSKybI/sK6HF
	RF+4ISOv/c4awo6rE9CUk5TxQOO/dDTgKNb9uC3AtT/r5+YwKwvx3c5GbhND5cInOLLTByVEwsF
	TFyGVLWuGEqQSn4G2sIB02QLwkKrKrVoj3hCcMpWYkZzIPrxCtFnYN2n/mWlpYeeHnXX7vxs/0j
	pSQ0ApKKxXT/ZTWX+9Q6FQQ55sybXXeEJv7pXoiLYNRNM06NqvgsgV9/D6tC/Oq91XX102skioA
	8ORo2lNJxwUQzfYYn273UyNZeWS7YSEd2vZevKmomZVhvfYuqrPUfMvBMLgdFlb6InPtUnSoM78
	60b
X-Received: by 2002:a05:600c:3b10:b0:490:44eb:c1dd with SMTP id 5b1f17b1804b1-4924257c817mr27767985e9.29.1781861354229;
        Fri, 19 Jun 2026 02:29:14 -0700 (PDT)
Message-ID: <3525bfca-bdfc-45b7-b27a-62639bcd0749@suse.com>
Date: Fri, 19 Jun 2026 11:29:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 01/15] pci: Introduce parse_pci_sbdf{_seg}()
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
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,
 Teddy Astie <teddy.astie@vates.tech>
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794550.8631fc262581453bbf619ec5b2062170.19edb3b3411000701b@vates.tech>
 <b7e19be5-5326-475d-8c58-68673ea159f6@suse.com>
 <ecb9c38e-6375-4f49-b413-631d583a7afc@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: <ecb9c38e-6375-4f49-b413-631d583a7afc@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c1860d/1781861354-6685A0FA-44FC3F6F/0/0
X-purgate-type: clean
X-purgate-size: 1423

On 19.06.2026 11:17, Andrew Cooper wrote:
> On 19/06/2026 7:14 am, Jan Beulich wrote:
>> On 18.06.2026 16:50, Teddy Astie wrote:
>>> In many places, we're parsing a PCI string into individual
>>> parts (seg, bus, dev, fn) and then transform it into a pci_sbdf_t
>>> using PCI_SBDF macro. Rather than converting from parts to pci_sbdf_t
>>> and vice versa, introduce a new function that parses a PCI string
>>> into a pci_sbdf_t structure directly.
>>>
>>> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
>> You introduce two functions without callers, hence two new violations of
>> Misra rule 2.1. I understand there will be callers by the end of the series,
>> but I think we want to remain Misra-unregressed at every patch boundary.
>> Even for rules which aren't marked as clean (and hence blocking) yet.
> 
> I'm going to firmly object to this request.
> 
> 2.1 is not checked and has no viable plan to be.

Okay, then we need to discuss this on, perhaps, the next committers' call.
Yes, the rule isn't among the clean ones. But it is among the ones checked
(because it is among the ones we accepted). As per the most recent staging
pipeline, at least in the -amd jobs it also doesn't have many remaining
violations.

Jan

> This patch series is nicely structured for easy review, and I'm not
> happy forcing it to be worse just to satisfy a check that is firmly off.
> 
> ~Andrew



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 09:32:03 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 09:32:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341977.1602269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waVZy-0006jd-8O; Fri, 19 Jun 2026 09:32:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341977.1602269; Fri, 19 Jun 2026 09:32: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 1waVZy-0006jW-5K; Fri, 19 Jun 2026 09:32:02 +0000
Received: by outflank-mailman (input) for mailman id 1341977;
 Fri, 19 Jun 2026 09:32:01 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1waVZx-0006jQ-Cq
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:32:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waVZw-002Alx-Pk
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 11:32:00 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a350c8f-bab6-0a2a0a5309dd-0a2a4509828a-8
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 11:32:00 +0200
Received: from [40.93.194.71]
 (helo=SN4PR0501CU005.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a350c8f-4999-0a2a45090019-285dc2474df6-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 11:32:00 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by CH2PR03MB5351.namprd03.prod.outlook.com (2603:10b6:610:a3::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 09:31:56 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.009; Fri, 19 Jun 2026
 09:31: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=JIssAVgJOynGwhcoSwW0CNtDh6v8nd8vVB55oxwddpMNRb+kjWxuxcsp2WzCed1XzcCo/3kWj4NkvdvIMhKalQaP9/AVwJ5aKyMGZw4YHI6xZ5vSSNcTvjzrzVkIOeRDLiQqgSA2uAUs2ptNk/28S/KyGapWaeo9J98YjPVmaIy7GKkXkdQMfKMmF/dprCORAYmx3Hzm5xNYHh2oHAU4tZCOkpkMuKFAGhHh4fSfqW4IKrk42tKjFfXOb/Nfk2Kj/0hx4pmOZ3crrL7ma08ZABOnU6pu9eRAQEsJpbeK2zrgEqoVlWUtPQrkwb2FG8xbp5UJ8imr6tZI+qeG9adgig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RavRK7j7LBPiTLkeojggdqzK3Iw0Y/RuwQlpGQ7EiTs=;
 b=ToubHoRAU9rAJ0ertGKhOyce5VrcGtXbapWbbLFQiDcZNdbAHvAUmjEwaC9jCzHC/eC19ex0M61TMBHXvJqsekc3AZDM8+XPIEXvTzo/cDgXy3ROwhrqzxL1kV4qrmpxw0itZzOErgz6E+2hWmmzp5dGUxZRaprzuV6jhuWKkFRQt7ieF7FIso9r36UVabzZBSA9L4SgBvi6BgInVDJXCy7Qy/fDpjeLjPp+6Gt2IIGwAvOeORnt4tfl0wn5Oy717tYt1YBaZPQ2h2+G3FAu9TunQ+2kRYDaS13vT8xvrE8PzBecC6TE9DiH6YyEjh5gDgWDXlq9WIQ6MHTQV5aNDw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RavRK7j7LBPiTLkeojggdqzK3Iw0Y/RuwQlpGQ7EiTs=;
 b=bJ4ZSVu9nX1gL3xZT8I19Brnn1ITt8jtwg8Zf/xPeKuRUBcQJ8LlCY9j/AQSiWuUXLcswA44/NThun1x2VKCqoYieQVn5aCEJFE6BRgfgScU6LZgrePT0pSQHGNFn8Rt1YK36wYHPdMkO6I9qCT758Y30fxTDaKuUJHK+TYKHXU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <f3d0016b-782d-4085-8f97-cddba10231af@citrix.com>
Date: Fri, 19 Jun 2026 10:31:52 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v2 06/15] pci: Use pci_sbdf_t in pci_prepare_msix()
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794554.8631fc262581453bbf619ec5b2062170.19edb3b42ec000701b@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: <1781794554.8631fc262581453bbf619ec5b2062170.19edb3b42ec000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0413.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:189::22) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|CH2PR03MB5351:EE_
X-MS-Office365-Filtering-Correlation-Id: 83948558-63f6-4e42-4fe2-08decde59ae3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|23010399003|1800799024|22082099003|18002099003|56012099006|11063799006|4143699003;
X-Microsoft-Antispam-Message-Info:
	9CJx0R2MH3Xk8cg4RF5BMeYGZdfuZ+sfqbe/QZH72v6SfbSXnwhiUGU9CJrlebW0wPhEzR2WtvDLdZ3rwlKNUYlP5wOhzHSI2MfJckAw+9HeCjHRsKyFhZMKgZzuJzCeiiJrUNUE5Q0H6MOkY8T7bRH5cRM4m1jFiCXM4Js7Q+HJQ2n/8SZItKNvUbVHkOzWZnLS9AYyOWOFIMFhvWjWxm7plZlW6x9gxs9RXUKky1F6StvL9eYXb5bR169Clbl2OT6lHWzw0s/O+9Gal/ASO3m4LuzGIrjkJ1CLfhrzUWS/BtiZKcXRmJ3+Q+hrGDoA8YcPYu2vwS+kQdCU9qXd+mdOH6fv6chVvCBmVnZ0sYia0vafQrmB7bUpi33YSzm78WgHhbKPg4FJyIMr1zKX15duewSJZcA7669JqoAKdcFy7TK8di6haaZiEaoZgIjkqRRuYP4W9OMNavAeg1V/ivFNOLGeVt93vjFSqesEGVre/SZyDsAzpLUDXRJGM3JvH25AgrYTHACf/2auNhvd/mEKSd7VjM1FGz0TFL7ETVNvp7GoUZwzZfNL/JvjlCOIZQzkTeCX2/Yn5uYNqO0+PqAKHzHOMpIq0dWyFPjSrLfTVamvwCVm8DHD2k5kZ5eT5L/Zb22+oSHLnmHODaZM1lGdBRZhrZtKpc1u83cGw78=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(23010399003)(1800799024)(22082099003)(18002099003)(56012099006)(11063799006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Vy9SN3JLM3NWbDZORDQ0YlpNNks1ci9UYWhoVjIrUVRmN01WLzh0eEoxcVBl?=
 =?utf-8?B?dFk2WE0yeTdJd1hTV2ErTldjTEpNdXpSUldaRldmMVdneit5SUNzd2JTT09I?=
 =?utf-8?B?aDh4bFdKcmFDNEt2ank0M3UydkJpQjAzclNOTVhuNDlhTzlvZVhla09tNGFp?=
 =?utf-8?B?ZFhBOVpiMVlGZndnS3MvV3JsLzU0TkVOOEFwajBxWWZYMUtMdzh6SzBOU3ha?=
 =?utf-8?B?T1htYkVZWmVvdVZpRjI3S01reG1xK09pb2dDQkNSU0dVYnd2WUt4ZEVldWZl?=
 =?utf-8?B?MnBYOVA5RFppTThhaUFzOXVGQkdqVUZQaGkwYjVLdFFOU3VDVjcxdTZ6d1lQ?=
 =?utf-8?B?cXpIVEdBczFXZE1hSUtHQ2VBUnpCNmRxK3J1L3dra3ZEcFNWYXVxUDd2MmVi?=
 =?utf-8?B?SmduREFmdzdUcVQwMHdxaEJYalo0MXBBaWJHRkRDbFhXZDBqeVdvam9ldVls?=
 =?utf-8?B?ZXhuMlhEMkwra0pVQk9LTVBiQnF4Ymo4VEg4ekdmQ05KM3hkMUNzNW1GT25U?=
 =?utf-8?B?dlJhZ2ROOFIrd3pPR1JsSENpZ3k0ZklPZm84eElpd3NUWHpSVnlwbE1qcGNX?=
 =?utf-8?B?QmZmOFJIWkZxN2hEQmhRZmVyQmdMUVFTMXdEUGZwaTlXcmxCc0haMlJCeVpK?=
 =?utf-8?B?Mmw0UFNPeVQrSlcyMmFaSmZpeHVNMjVSZVFhVkxrazZHK2FCTnNBamQzOS9y?=
 =?utf-8?B?T0EzTFJDTGRyK254VmsxSzV6ZGhQVGtXRldFWUZwTndBWEFiVVlBeFJvQ2t3?=
 =?utf-8?B?aENSUHRVUndER2dSc0FhL3BDTk9Ba1M4UWJwdDFoMGxzTW9Cd0Fad1pLNXZy?=
 =?utf-8?B?WjJSWXFmZktqOVFVN0JhcDB5REhpM2ZuYTQ0bXlLRkdsRGNVc3VsR0pvOU5O?=
 =?utf-8?B?WDk0QVF0bEVjSThmT0JUYWtkTjBWQ0dFOVVISVhBb1EwOUtHOUdQL2FZRUU2?=
 =?utf-8?B?dmxGODVDYUlUOHE1VlVxQ0FpZVE3QjhJNHY1eWluZE9YTjByYmhGMnBmZ29O?=
 =?utf-8?B?cE5PVVFvMlF6Wk1YUFd5SlNVT0tKQTRrelh4MlVCRUhRd0VjMXRFRjRDazJF?=
 =?utf-8?B?d0JMWjc2T2JWajl0ejBOQWloMXRjcDhYY3JTUWd4TmxTbEJiTTRDZ2doRjJS?=
 =?utf-8?B?b1IzVEFuUVdiMjIrYXZNTFVxMDMvK1F3ZGh1M0dOMStscTN2bGsrSHNXRGU2?=
 =?utf-8?B?MlBLTjYrenR6Yi9aMGl3cDkxWWUvS3ZCK1VybEcxYmFxckNodVNLVkJ6NTVv?=
 =?utf-8?B?TjRjeG1nWm5wSzhwaFJ1MkJha2h6d01Va3RyOFMvcnZQRmtUVm1icmdQOTZR?=
 =?utf-8?B?eVFPT1pScllLV3lDSXRnaEhkN25haHFxS1NyVlNEWlIrenJvMGUxV0MzTjU2?=
 =?utf-8?B?V0RrQ2JFWW45cERjamZYKzRxNjlnc2pTY0o4cHAyQTU3NmVZSTZmdWRPb3VF?=
 =?utf-8?B?SzJjQ0lSVkVnTnU5ck1XTVFyb2djOWovU2NucS80WWZYdmpkS1JCdjU5TmJq?=
 =?utf-8?B?ZzU0eUYvaVNYUWJlaU0vRU1Qc0NwaG9qdzk0ZDF1Y2dKZmZZZExaRkVVTlo0?=
 =?utf-8?B?Z3NjdnFEN2JMM0MzcDhyM1NQeUt3NnhCczMrNDF5bDdQVDh5cDdlMDFGanhk?=
 =?utf-8?B?Y2RHRFg5aDZXS1hFcmNpSmk3ZWZkSkNicWFCelpyVFFVMVF4TkFObmZNdWl0?=
 =?utf-8?B?MVlwVWY3Y2pqVXRvMnVISGJuVHZxOVNYbmRtMFo1Yk1ZQ3hsbEx6bUN5bER4?=
 =?utf-8?B?ajUwc0grT0Rsd0ppU2xJQ3BVU1Q4bGxhQjNoTEtDcGRUeVY2UE5qNTYrVy9p?=
 =?utf-8?B?bEdHYlozTkNncHJ5WXFMQlZkRW1naHVTa3RYemhYR1N3bXpYUVgxclVBWFk4?=
 =?utf-8?B?VHo2Ny9udjdtRFhFOHlveWZWZGdtYVdFd285cmtNWGUxUTdmamxhVnZFcGZm?=
 =?utf-8?B?Rmp5REFlU0d3d21TbktUNWVFSXFnbWFVUlh1UHJGeXJhMW55UlRuSjE4V1RK?=
 =?utf-8?B?bEROVUNaL251cC9ucXVwbGVtOFdtTUlmRlNaVmhFem9HeFRXSk1RSCtsV3FV?=
 =?utf-8?B?R0V0V3BGVllvbStnbG1mc3JOU21kQmJXVzhhc0VhQ3JWdzRSa3ZFOTRwNTRJ?=
 =?utf-8?B?bmdOQkZRdW5MbnVsVjFJa1lnQXhCOC9ObjNNUGtSeFozU2t3QUxVQmQrbno0?=
 =?utf-8?B?NnpCSStYaXVHQjgweXdWL2t1OXNCV2tjKzJKR2ZHNmZMYkF3UUt6SSsyMko0?=
 =?utf-8?B?blRhNHZYYWhWOUcxUExMSzY1bnBIcllCK1Vuc0g5ck5HWElZaFVscWJvMG9Q?=
 =?utf-8?B?QTlOZmMwMU5XNmdlU2h6WDdneDVDMXBzM2lVVVVWaTN5cTd6aHFJMks3dEdL?=
 =?utf-8?Q?x4rSFdMF1KbE2VOg=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 83948558-63f6-4e42-4fe2-08decde59ae3
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 09:31:56.3618
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cAtGJB52k6zeQ1RFJ85BADjGNmJnhcnsm/jqetji9/fMVuzydiRCpHIKoccES5e/xNQ4Zvir6/n8602IjBBpSQ8h2xsDvKs2tZReUO8PIBc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5351
X-purgate-ID: tlsNG-bad1c0/1781861520-737EC744-A80DC6AF/0/0
X-purgate-type: clean
X-purgate-size: 1838

On 18/06/2026 3:50 pm, Teddy Astie wrote:
> diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c
> index 5bbcf3b530..984fb99aa8 100644
> --- a/xen/arch/x86/physdev.c
> +++ b/xen/arch/x86/physdev.c
> @@ -512,15 +512,16 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>      case PHYSDEVOP_prepare_msix:
>      case PHYSDEVOP_release_msix: {
>          struct physdev_pci_device dev;
> +        pci_sbdf_t sbdf;
>  
>          if ( copy_from_guest(&dev, arg, 1) )
>              ret = -EFAULT;
>          else
> -            ret = xsm_resource_setup_pci(XSM_PRIV,
> -                                         (dev.seg << 16) | (dev.bus << 8) |
> -                                         dev.devfn) ?:
> -                  pci_prepare_msix(dev.seg, dev.bus, dev.devfn,
> -                                   cmd != PHYSDEVOP_prepare_msix);
> +        {
> +            sbdf = PCI_SBDF(dev.seg, dev.bus, dev.devfn);
> +            ret = xsm_resource_setup_pci(XSM_PRIV, sbdf.sbdf) ?:
> +                  pci_prepare_msix(sbdf, cmd != PHYSDEVOP_prepare_msix);
> +        }
>          break;
>      }
>  

You say "clean up", but IMO this is not much better.Â  I would much
prefer if it turned into this:

Â  Â  case PHYSDEVOP_release_msix: {
Â  Â  Â  Â  struct physdev_pci_device dev;
Â  Â  Â  Â  pci_sbdf_t sbdf;

Â  Â  Â  Â  ret = -EFAULT;
Â  Â  Â  Â  if ( copy_from_guest(&dev, arg, 1) )
Â  Â  Â  Â  Â  Â  break;

Â  Â  Â  Â  sbdf = PCI_SBDF(dev.seg, dev.bus, dev.devfn);

Â  Â  Â  Â  ret = xsm_resource_setup_pci(XSM_PRIV, sbdf.sbdf);
Â  Â  Â  Â  if ( ret )
Â  Â  Â  Â  Â  Â  break;

Â  Â  Â  Â  ret = pci_prepare_msix(sbdf, cmd != PHYSDEVOP_prepare_msix);
Â  Â  Â  Â  break;
Â  Â  }


It is slightly longer, but the cognitive complexity is far lower.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 09:41:48 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 09:41:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341988.1602278 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waVjI-0000K3-63; Fri, 19 Jun 2026 09:41:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341988.1602278; Fri, 19 Jun 2026 09:41: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 1waVjI-0000Jw-2h; Fri, 19 Jun 2026 09:41:40 +0000
Received: by outflank-mailman (input) for mailman id 1341988;
 Fri, 19 Jun 2026 09:41:39 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1waVjH-0000Jq-0t
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:41:39 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waVjF-00EO56-Sy
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 11:41:37 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a350ec4-bab6-0a2a0a5309dd-0a2a4501b898-18
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 11:41:37 +0200
Received: from [52.101.53.32]
 (helo=BL0PR03CU003.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a350ed0-e031-0a2a45010019-346535208bef-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 11:41:37 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DS7PR03MB5575.namprd03.prod.outlook.com (2603:10b6:5:2cd::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.16; Fri, 19 Jun
 2026 09:41:35 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.009; Fri, 19 Jun 2026
 09:41: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=oWICE4/WqUTHMGbaFp1qP3svtxo2uXhtXnd/xDM/YSLhoKY0YIoatYolW/E0/8oLKl6x4/lDwoPHgTLg/T08KybG71LubI60DP+gfZDxrAEzl0tc6tbd1yn9At5E3uzpWC11HSD7AY+j+FfABaOJNJnnzD6D2DtS5I8oyWSWKKAd+tyVq6euKev3ZBYmHoGgS5f6t2NA//uxVkMXGDupmhUCxnKKIBxKt6uNuZr7zrvWc7nmSstxRrJvW2CIPps4T0q8QYZOI93jTKibbIsNCVFs4kPGOpybLN08c/IveWdjiKAy9nMbYOdB2qnJzl+M+BbPGCFdH/LWT4TBbVOdhQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qU2N4nXPr+o6FAuoPmvtgvL3wNMFOtuZpquTWpf6BuA=;
 b=uCPo3ks8Xl1CzJjWxhnHC/Y0cg3P0VZip+YpvNjNYVZlpe7twhpA5xeOHRbteskWs20TA5JI0JB2RvTnfmUcHy0nywr+XUUGrVHAh1jx5SdAtdWMcg9QFtrayK/Yh4/0AmGQz3QicjoJndHYafX2Zmw6vHMtaEIeJcyjyrydFxDYpVETT8HVPvehsVUtsr62ct8ZP6DxpZhQesIJaxPzskpj+YEfMJYsaU4adlBtVsWF1TRxd2tNbYDSMdToM2ligT8+6+5ZIH9woYlp2y4rS3Vc4D0k/3doQt5RK8skKlST9fXLB9j8zPp+EraB8ac0j4m/TOFMNWW+jbq+/NHaxw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qU2N4nXPr+o6FAuoPmvtgvL3wNMFOtuZpquTWpf6BuA=;
 b=p8HPmEEp9JaEx4uDL3ASVpvCoHbRK+/DT1gKTWfOvo58UW4bJ8/fMhroyQMNozs//uaz1VNLkZSKvq48RRfxKTosnSuKc4riW03of6u6UYmIxvb/kLqRjEnpQ1BvT8zatA5V+IVvvcUicP7P4OeUr8ZgxqzzpL7lz9rNA4MUrWE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <8821a8ec-be7c-44b7-8217-5687cda09dcf@citrix.com>
Date: Fri, 19 Jun 2026 10:41:30 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [PATCH v2 07/15] pci: Use pci_sbdf_t in pci_ro_device()
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794555.8631fc262581453bbf619ec5b2062170.19edb3b4612000701b@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: <1781794555.8631fc262581453bbf619ec5b2062170.19edb3b4612000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P123CA0085.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:138::18) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DS7PR03MB5575:EE_
X-MS-Office365-Filtering-Correlation-Id: d968a765-77ef-4f4b-8895-08decde6f3c6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|23010399003|376014|366016|18002099003|22082099003|6133799003|11063799006|3023799007|4143699003|56012099006;
X-Microsoft-Antispam-Message-Info:
	hITtv3YqTapno005Tl7xp45KCw2PRShcutXtzffwyxOHSneo3jPwiseWu/7wmiFIkKGC3upiUX0rR//Rd3cG0If/CONS0ESbwEkiaOVJUWW5mu60otMzLD4qgNxl3jecr7C80IhAkComnkOwDx9xdotq/u81N0u9kcq7MlEHHk/b/KufG+2HMW+EfgKVXIfvf24ptw1bb03QNNSJiaXscUVzFguspeuNAySTYFmFsCPUkAKs/YIDa3r/UKQB70Btu5RDeLzgACFlbopTEf7AriGolINFEsETEQBxia6E5ppipNgS75Lt/uHxrvpVq76kLcFyL2HhsgrtmYN+aYTXDXdXu7cblFKxC3X6TNiCK/ef2Hkt503p9P0TCQUiHuosMcVGjwMJZhhLk6BSTSATpMcer4sEh0vpWy8uy+dl5diN/X4vohKheK7szUHjo303lcgqFjt0YXvvM1GEMipPTqdI/+k1QnZot04p/hQR1E6uO3EYrXT9Hfz6vYdmCjARF8yMswjksu2nEcx6ai4cjELzSYDSQhmp3kaz6CbJnPXIKz2ytKS6XQ9Y3HPcDYA1Av3Tur+X3LZS+upu1yM93e7460GfxK4QbqmnBIacZQtwInBoqURS1JS8lpeIDZAVAuAkykRHwbk2htw1rFPTXld/GzOd0H6NufPb2RKwks8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(376014)(366016)(18002099003)(22082099003)(6133799003)(11063799006)(3023799007)(4143699003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b05taEFoQVBqaktZL3lwakIvcVIxb0pNcEdNa0YwUVlUdEZxTkxMNWFYTzlo?=
 =?utf-8?B?MndaMnBJbHZYOE9KWEFlRkVqUlRFdk01LzgyWmVIK21GYThYbWlwSEpQbEln?=
 =?utf-8?B?M0YxZEUzOU9NR0NMWTNZTGpBQ0o0UzFucnQxdHZYMWllOFlxeVdnSGFDMmFH?=
 =?utf-8?B?cHFyS3lJK0pIeVBndlQySUIzazZIMlhydjA0K1Q3NnBRVDZEWG5sVU4yZjN0?=
 =?utf-8?B?Rkg5a1d0OFBhMWQwOWxLTVRtbnhHNktGUm9zazl5YlU4S1dsRkpseDdIWEVO?=
 =?utf-8?B?RVJLQkx2Z0xVSk1PNDZqT2kwZW9ZUEl2ZFFNVU5CTXVrTXRYUEpsd2RnU0ZN?=
 =?utf-8?B?a1VGb0dHWk81ZVhZVVMxTzhTUTZnRjJqU2xxZkdGWHhBc1pBd1hQaWNjMjFS?=
 =?utf-8?B?R0RsNU1XKzdvZm9UOVcrTXo5aVV6REZYV1VXTWVtLzJjY3pJUjlsTU9Ib2Nw?=
 =?utf-8?B?eUZGNENaVnhMOG1QVis2MnhDaGU5cXNZTDVjTm9SWHg2dUZURDEweEcrUXRi?=
 =?utf-8?B?S2piS2hIQXFLY3FXY1RZcHh0Z1FWOUdodTF4UU04MzY5REhCc3RyQkRDNzZI?=
 =?utf-8?B?UG5QLys0djJ5SU5kL1pCam1pN0hZOUNxWllhaTJlZytPSXNBaG9NRS9zZEFR?=
 =?utf-8?B?L3N0b2kzSlB5YTNCNFp0b0FNWTdNZGtGWk5WTzZYcTVhcXY0VzBsVk1HbFdO?=
 =?utf-8?B?aHFJOGgreERxUnNmRWticlZvcFZXNlRHNDZnTjJkYWNDalVtUndUSWRYNVZN?=
 =?utf-8?B?RFNaQjBOUXhaNzYzQnhBZlVUNTI0cDdUVUxNZHFYdzJRdUJQMERSVFhXZEpR?=
 =?utf-8?B?WUR0TFM5dzBTTDZXdk9jUDVyQ1J1SU1IRlh0RXFDUEJ0QlB1Qzd6RDF5NlNz?=
 =?utf-8?B?NytBWlMwTE9ub041ZDBXZnd3NXpqSGtQS1E3R1JGRUlmd1ZZbnNuSy96eWw0?=
 =?utf-8?B?R3A3QmlmSzFtcW5tK0JySmlDSytETEpoZUJSaCtxMDJSMnd6eFFSTytLZ2Vn?=
 =?utf-8?B?SFZOWGVHN0hjM3lWRjFXZWsvTk1ucjM0YUlGeVBWY0s5NUFVSWsrTEl1d0lB?=
 =?utf-8?B?VisrWHpKL0NmdVMrRGdKOU8yUFNhL24zdzhFd3ZBRWdKVHFpcG01QVV5U2Fi?=
 =?utf-8?B?bDRwM2pBcjdzUDBPdHFiSElYeGsrSkJCZWhnRW9oMGRHTU9mODJwdldiNWkz?=
 =?utf-8?B?d2x6OHVleXFPU3d3VUp6SnJ0WTN1dUNPRU5IVW1iU005QUZmWHRzT0lEeWtw?=
 =?utf-8?B?UDVBaFdIMlFJY2FTQ09vN0pmdEtSYXAvd05qTzI1WDBrbG1IQnV5MWR4Smtl?=
 =?utf-8?B?cW1ZYWcySnc0ZHpQSDA5SUU1d3BrZ2hxQVlJVTFySWd4L3J4bURFWkxrYkRX?=
 =?utf-8?B?bjJOZS8rRWtOSXpyVE4yTnltbno1cVJyZjU4WUF0R3FKa3VGZWttYVdjVzlQ?=
 =?utf-8?B?MVo5cFpsME5ValZIeUpwRks5eFlrTkNuNytudDgyNVgvR3lUMDNsem1CRTBl?=
 =?utf-8?B?dzNGd01KMmduRjB1RUtuWkl6N0RsVGFROFBTQXhCWG93SUVlT3pjdUtuaFZs?=
 =?utf-8?B?Z3JFNjNwZnY2QVFlUTArQmpuelhLU0VQc0FTYlJjUjAxZmN3a1dzSU1WWnJF?=
 =?utf-8?B?czZCSXB2MEIyLzc5QjlUNExSWWtMSEJHWGhIemhORHVmeW9EVEFRQjdveEEw?=
 =?utf-8?B?d1ZFaHJzQkdOdkhOVkgwd1pWU0NMYnVhTFhGWDZ2cUlPazYvcnNRYzFINmdK?=
 =?utf-8?B?VnJqWVV1cGpkUjZrUHdxSWpnVGgwZDYxNG9DZHV2RTdIZ1hUY0EyN01rOWxp?=
 =?utf-8?B?RTVKVGJuWmk4ZzY2M2p1NVNhN2k0SEtBM1B5YW91emEyL0RqSHJuc1BORzgx?=
 =?utf-8?B?cXAyTnpzaEpxU3BTdUtkTFNQOHh5bTBwTGdKSTlQRVNVMThOQmVtdGZaUGk0?=
 =?utf-8?B?M1h2MGxuc1k1a0J1WGNLRUlsRXFZbXJwclA4TTZZakNTRHE3S2paQWlxN2JK?=
 =?utf-8?B?R21KQndoQXBFNWRGdktpZ2NoRDc4bXc1em9OakNPRUJ0RUV3NmpIK3pHREVD?=
 =?utf-8?B?eDNmVXVFSWFtbXBiNWZhaWpBWkRzVWt4MFVBRTJoamFWN3N0dW9iTEhvQ3Ny?=
 =?utf-8?B?VkRQUlVKejJjS1JXS0ZhN2VjM1NmelVSampUcjQ0cUhyQ25vZ1l4ZWhoUHJK?=
 =?utf-8?B?TlpnWUVHVUloU0p2MUhHQlA0d1VBYlFLaExUNUNVcmpwUjcxY0dkZTVkenZX?=
 =?utf-8?B?eEpBbEJGT2JSdE13R05hRDB2QVFvT1M4RDl5K0ZBSmx0dTNzMVBoajd0UjFO?=
 =?utf-8?B?MnpDYUlEcjA2dEJJQ3ZaUmhyVXdGVGlIRmVaNERISjZ5MXF5SENGVS9PVEdT?=
 =?utf-8?Q?Di7QHk6sp0B4hxZE=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d968a765-77ef-4f4b-8895-08decde6f3c6
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 09:41:34.9885
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wN96F9TRjM/NP8ZiZYB5SCllNzJWC6RZpt8STv0T8m9uhdiaB/sHiESDA2VMcbInRf6cUSE96StT1nhE4C9yexNMRPQd4hYBT0e8tJy5kvs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5575
X-purgate-ID: tlsNG-d62444/1781862097-CFFA2E30-EAFC9FAC/0/0
X-purgate-type: clean
X-purgate-size: 568

On 18/06/2026 3:50 pm, Teddy Astie wrote:
> That has the indirect effect of properly considering segments
> other than 0 in xhci-dbc.
>
> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>

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

Considering non-zero segments is fine, but I highly doubt DBC will ever
be on a non-zero segment.Â  Amongst other things, it's now the hardware
debuggers attach, and have to work prior to the CPU executing
instructions.Â  i.e. it has to work (route correctly) from the reset
configuration of the fabric/etc.


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 09:43:53 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 09:43:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1341995.1602287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waVlQ-0000ps-Hf; Fri, 19 Jun 2026 09:43:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1341995.1602287; Fri, 19 Jun 2026 09:43: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 1waVlQ-0000pl-Em; Fri, 19 Jun 2026 09:43:52 +0000
Received: by outflank-mailman (input) for mailman id 1341995;
 Fri, 19 Jun 2026 09:43:51 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1waVlP-0000pd-7L
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:43:51 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waVlO-00CGr7-KP
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 11:43:50 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a350f4d-e002-0a2a0a5209dd-0a2a45079fb0-34
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 11:43:50 +0200
Received: from [40.93.195.54]
 (helo=SN4PR2101CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a350f54-4766-0a2a45070019-285dc33647ab-4
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 11:43:50 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by MN6PR03MB7742.namprd03.prod.outlook.com (2603:10b6:208:4f4::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 09:43:46 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.009; Fri, 19 Jun 2026
 09:43: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=EwBvXfc3cWlzWKt3khtFdHYojgAcanlGeRWngIGMsFechv/OHd1wSbUhWru5Y7Qo/JCkAmqoOSPjWMnZwHaMRk1uMfHYP03unsNZbnttGjrlYuENKnDnzfE8wl3Za5T5njl6rfeyvXhoHOjaQyXiJuQgaM2Zlv8iGasCllpofGgYLlIy9qc2bB1tzp2aT6IEzzwAplREzjIhNt2b4/4XHs1YjYWWmcH33TWDwm2rC+mukjhXS8t12Jw/tyndaGpoVIg2cGfzuV03iBEJHA8FNmJHCa1CO6eS6SDfBrd1anWFM9ZfuxjyAoXEITaUkcKlKV1wtUyv7KB2BegyHFx+9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fF+b+mK/pq0ibKGfsuhXPasEE+qThQxB8ux8RuMJ08Y=;
 b=op1ebS5HajWhZq6FnZftGk9RCWvfawgbPBJkQww6veh2/BybkBfjpRYeG661dze66RIeIx5UxY9Sap8OD7evyoB8yNpAMEyHRJ9TRJiImDUQSZ5yGc/8bExQyml7DPEFUCc34ghRLV0ONUWcrgTKaMdSBkFXRZGs5KljyJzVcaYcEHRntHOImLoz/VQdjACefBF3ZoKx8M+hDzkX6oPv4gkjFholfXY14E7VWbMfZ7qki5LNupdj87zSZsMg6n7F1yY0fDCrnKXEJTOSwnrYARdAXPt9Wnj67Uyr6EmaCPGh+E1weg2IS4aTem3uDYB5rFgyu3USZYJiXFZwMwKyrg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fF+b+mK/pq0ibKGfsuhXPasEE+qThQxB8ux8RuMJ08Y=;
 b=uxBSB7cf6mu3ynHs4MM9lJff7k3MBD0DVkZLu/+JVluwkKyGbQKA5+deJHSQgeAE8v57R2Suf+9IThbQBFNaTlU2MFuR5fS0KlSHObSOS+GEdPIl6Tx4aWnUtMAOZWJHBNfa2kO+aeZI+gpIEOXsRXKD6xZ3zWXYT3FMNPpKUY4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <11a3317f-125c-4ac8-940c-e3c7c1c9ecf4@citrix.com>
Date: Fri, 19 Jun 2026 10:43:42 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2 08/15] pci: Use pci_sbdf_t in pci_hide_device()
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794556.8631fc262581453bbf619ec5b2062170.19edb3b498a000701b@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: <1781794556.8631fc262581453bbf619ec5b2062170.19edb3b498a000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P265CA0017.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2ad::15) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|MN6PR03MB7742:EE_
X-MS-Office365-Filtering-Correlation-Id: e8604a2e-becb-4d07-fcd4-08decde741e4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|376014|366016|1800799024|11063799006|56012099006|22082099003|18002099003|4143699003;
X-Microsoft-Antispam-Message-Info:
	s5KgIOlk4TJWoIemlpNlDAJAE98xTpFuKCgGCyeZOaEeit3aJgxsWoBu1JYAZa572SbLxK8FpgNAp9Gqb1HJDux0f0VT5KTUkquZK+6AWo9bUMDml5PgerSFXEkDCRgd1zj4zGyQTv5a7qgcp5nW2W5KDomM6MMBCqRUW2yB0IxPzsWRX28c8OxodmxcbIlTdhb4ZSxX6g7Qw67kQRUg9G5G/HVVNIqqIc4TrqqtrtYc5fvIKIYQclFoe5aqIkYeeS/ZFEF3Q6nSbcpoJtG0UE0kY1cUWJ0gJhTlt5QdfvqdVL3DFZqTsnch11qsVFKV4lKqpwUUGPYms45H+zO8frFi7Gv0bDs+z199mtpasvqKzlX04xRrruGG6e9sFj9M5f/PAkgXB1jN/RwRwuSpjJ+g/9NJokor1/Znzh9EDbX97bOvVjI0aXgMhd+LlUPvwgYwZpVsPabon6bufWGTu2/tc3XfjOVXZ8IoVBH45+w10JCj3LCjMce2N7+4cj0/FrpCMQ2NSKlHrI0lQj0J+l3o73Ka7U2JTI4E+fN3B3rBd9a9ZTeHgz006wlO5wUhgZdrDJ9wsgjph4vrB6DXNJKh43vq/IJIfo20LBRi0kO8ZHxsRabQB6w0KhjqyZhECy5oONOeYHb9SEzV591W0kZ/wV+lkMiwhhRWcQU18pA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(366016)(1800799024)(11063799006)(56012099006)(22082099003)(18002099003)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RTRIVjBqVzVhS2ZpZC9tZTFuS1h4SzNER0xYdG1QbnowR2VjT1BRYi9KV3RV?=
 =?utf-8?B?dW92ODJKMWlJb0NRSzdCNHlRSkVSRU9ISk05c0gzZW9iUFp0eWxmNGtoUktK?=
 =?utf-8?B?YjQ5cWc0bzNqb05BL3NaMTZkRFdyZ2tlUm0rU2kwTTFWZU1YNW9TcVZCdXFN?=
 =?utf-8?B?VjMyMmR6L1dmZ1FRZ2h2OGlXQ1pXcCtsNlY1ZjJLcnVkYVdKWjU0a2FudWM0?=
 =?utf-8?B?dXVkdTdhNTYxTG4rcFJPNUFSMVFmbWtHR01aS2cyL0tzdk45UXRHWU1yRkd1?=
 =?utf-8?B?TzZ5MjFNbG1teHQ3RW5iemt1RUV6VGtReFZpSnRUY3FwVGVFTWVvMml3aGpp?=
 =?utf-8?B?WjhMeHgwS0RHWGFqeHdKV3haTjZGaHFSQXcyMDZ2S1I0d1VkK0N5MzNxM0dz?=
 =?utf-8?B?RUwzM2ZXTW9Fd2RsQzZKRERVU1Y4Ull4SmFzT1laUWlmY0wveEltUUtTSmly?=
 =?utf-8?B?K1BRanpTSElFeGlkNy9HTEw3SnlVZkhiMFRWeEV2UG1LazBkd1ZJZHVzRDlU?=
 =?utf-8?B?Unh2SVNaM2VyWnBXN2dGSENaaEZnZmNoeWRmKzFWc1dIeDBLVW5MMjROUjFY?=
 =?utf-8?B?NGpGcDNieTdpZm5tUkp4bDhiaHg3cE5lQ1VkOGhXR00vVWZzNEhhWWtyYlpx?=
 =?utf-8?B?VndMRW9vVFlnWnZRRHcvZ3IrVmlBVHZ5a3NWRktTdEppZERWU0kyY280Qnc4?=
 =?utf-8?B?bFRzTXhYa1g1eURFOGVjZEkrYy9DdDh5NEN4YThUd3FiUnZsMmprc1FmWnlo?=
 =?utf-8?B?SVQyQnU1YnZ5S0phakVHZ2JtN0tUdFVoWXJWb1dOQWxKUk1ubWh1UGlwMjlv?=
 =?utf-8?B?V0ZsR1ZHNXlWOXFwOGRZNDI3NFdqaHNWWTlUSjJwVUdHblBXb1ZvRFJxTlRK?=
 =?utf-8?B?bWZxQlJKZmx2YXRWWktOOXdBbTNLMHlZU2ZwdUsvNnpHSW0yVDJCWkREVENv?=
 =?utf-8?B?b3hxTDZmWFVDTDZ6V0t2Y0JLMWFMRUVoUVJxNGc5WVM4YU9TamdSVTNBRDMr?=
 =?utf-8?B?ZFJReDh5OGRqbGo2My8rOEdCaVFCYkE5Q0xpQ1doTHBwLzJMaGFwS0hHRTd3?=
 =?utf-8?B?RWdYMldIdUJ1a2pGL0VucW53VU1XOGw3UzNNRFNZcHZReFJsekVNZUZkc0Vn?=
 =?utf-8?B?TFlpMnJVcFU3blN6SkZaQzQ4U0gwVXlOUEZPUFJiUjJDM1h0aDF3VXk4Y1Nx?=
 =?utf-8?B?N2F4YjZWcnd3WW5ueWFncnNkQk1RV2dwc3pKL0p0aHRISW1KcVd5UnRYd0Ni?=
 =?utf-8?B?RWNhOUF6Z1ZMckJSdkNDOHhoSExqdjNqUEdmRk1XbndmY3R5NmRyQnROcFlw?=
 =?utf-8?B?S0tvN3VobGhDZUsvTnZVSnFIZGg1Z2xtMEJBdUd6cGxUK3FVbVJhdTlVZytB?=
 =?utf-8?B?NTdUcFJCUUM5OFVYMlZwcFlMLy94Tm9sZnNXQzNJbHBzSjIxQjBJYXl3dXcw?=
 =?utf-8?B?Tmt1Z3d0bDZnUU93akFKN241RWlxaFkrdFUraXlXVzNLUFprRU11djlpazYw?=
 =?utf-8?B?VHpOM1RmNXowZE0zK2dFRTZSU1NmYnRxM3Uzemo5RnhHcjBiRVBoVzdES3Jo?=
 =?utf-8?B?cFE1cXpxaVNPeDZpV1g4ZG42NWxwckx3UTNlTjlVbWxrVXEvcWNlNmw1cVVC?=
 =?utf-8?B?S0VZNEpoVnVEZGdMaVd1bmdXNWpJWStkeDVUQnRHeU1zL0JjV2wxQmxtVjg0?=
 =?utf-8?B?Qjh3UXc0OVE4MTdOVVlmYlZCU05Wb0FlM29FcmdDQXdWN2l5NGZhNTZGM1RS?=
 =?utf-8?B?K1p0U3JvVkwyT0Q5UjBZaCsvRWtweW40V0t3RFBTR3hvM2ZwNGp3RTNkSzJN?=
 =?utf-8?B?cjRZOUpBVmFKNC9wTlFTOE9zcUxWUW0xTnRMWHRpamowc3F2Zm1BQ1ZvZmsx?=
 =?utf-8?B?Y1B6L2hPTitPbnBndlVDRFBmNHRKQjNzUW1kcGRpUE1DaXRoYlQ3S01qaFFE?=
 =?utf-8?B?Q2M1aFNRSDFpYm01eCtsY3MycG5Wc0RiT2gvcFdrZXdaUVRVdFl1Z0lwc21Q?=
 =?utf-8?B?NlIvRFovYndndnFYb2RsZThVSTMzMkhISGxVTzZkSUpSWlVJajZyZE9LdzR2?=
 =?utf-8?B?TFdVOG1oWHRqOWJYM1lLSFl4QnB0T3Boa05OYW1pVEZiRFdoV2xyQkE5UUUv?=
 =?utf-8?B?bmwzYVJJd3c4YzFXUWNhVFhoVHdwYkx2NjNqdm1QeDc2YmJUdlc5Vlo1NWZo?=
 =?utf-8?B?b0l5K0JXVXRXeHp4cnVqeFFaWlN5Zm5Cc2RRZUwyZytFR01HUGMveGVBTEwv?=
 =?utf-8?B?RGkyODdBaGxjNXVtcEl2S0s3dURaeXVISWROb3ZMcjJxRU8rbHFjdHVxY1Zx?=
 =?utf-8?B?bWs5TTFmMzNPR2xPYUY3RlRYQVFJTy83VWRiQ3M0VEp4WDFnU3k2R1VGMS9H?=
 =?utf-8?Q?0zrQM62bJmgEZUQU=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e8604a2e-becb-4d07-fcd4-08decde741e4
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 09:43:46.0477
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mByDNVXv6wb1Q0+SC/mvKGnwc+OUmGO7t1g0ldBsDGYaubKcJcWg4FokET1TTBtC2cUAu2anQ/AwfxU4faQnFXNvGJdfdas5W+yhsB7lDrE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR03MB7742
X-purgate-ID: tlsNG-ef75cf/1781862230-89BFE979-3BA1D715/0/0
X-purgate-type: clean
X-purgate-size: 193

On 18/06/2026 3:50 pm, Teddy Astie wrote:
> No functional change intended.
>
> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>

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


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 09:45:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 09:45:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342001.1602297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waVn0-0001KE-T3; Fri, 19 Jun 2026 09:45:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342001.1602297; Fri, 19 Jun 2026 09: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 1waVn0-0001K7-P2; Fri, 19 Jun 2026 09:45:30 +0000
Received: by outflank-mailman (input) for mailman id 1342001;
 Fri, 19 Jun 2026 09:45:29 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1waVmz-0001Jy-58
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:45:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waVmy-000RHO-CV
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 11:45:28 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a350fb2-bab6-0a2a0a5309dd-0a2a450c8b0a-22
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 11:45:28 +0200
Received: from [52.101.56.49]
 (helo=BN1PR04CU002.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a350fb7-94a4-0a2a450c0019-34653831c771-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 11:45:28 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DM6PR03MB5113.namprd03.prod.outlook.com (2603:10b6:5:1f0::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 09:45:25 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.009; Fri, 19 Jun 2026
 09:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=uMO1MX2X2OJMscgnIpNrYKsJoGwgedoxt+1opbQRx2DXgFrQSSYn0Gd2/UcdSFR3eo56ThJ/Igm6MrHQ6H9H0aoOctcSCS16sggNXN0QQZ80JhdvkDvTf7+J1eOFPv+3nVCTGz2xElRrlFfP0raEHN/MoY2rDkUNnpkQUgfclOJc7nb0dBGpu4ffK3FUhRcU/VTtMDS4my0fuqyapztSYm3WK/Szjqkw18TT75XrOfSTluihMGIZB4EgEEkMM9wT5s15SB2eIbmlTzftjJh19y1GHf68HCcDGBlN+Teg2ei7lALs9onPivAqwibmIyFPc7lZd1DxE2bAGEdqlQ5MtA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fF+b+mK/pq0ibKGfsuhXPasEE+qThQxB8ux8RuMJ08Y=;
 b=VEmD/aJMig0D6ZJz/s7N1irJ5TazD+6ogAMaP/ZhwFzWZqi9JwRyg/cZrw6Mq6jhBs5LpyS2CNzE0kMqUCC1gHpFKgyeAqTAdAGiVrC5d+6LBGejASJZTHXvm9PmWpd08v5T5PNowtN2ZsgssDlcnaZ+2DaikDP5oopf7NADdPnhLEtfKpf+b2FXccjVwM1aCNlcUhJzn/GL5ARM1a6z4Gj75WFhJGsspCsrFr3j62AVGhffysgX65mo1kI8c/elIzzVArLAnT1Wbd1nKaeaWALgvSV7Afkk0OT6hOXM6Ik0XIDZYHRF0iR9kAMKZr1Of+hRI25tLc/WSUdQdxNyOw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fF+b+mK/pq0ibKGfsuhXPasEE+qThQxB8ux8RuMJ08Y=;
 b=BwqO8vEgWsF5W7MqJ9pXw3MRgA8eSjTn8ap3ArCzSwoJHyG2f1cwMvrp82oJ1aya3F4HFM23ZvYr0c3XkaWQg5a7taiLdU1hQJ0nl99alGuPUmHA3SkPxdtQLCnqb2Jjjdk0+aNsmuwgFgQxzC0uJ1nwD9r8MSO9hs+gIj0sGKE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <c76d49a6-013d-40d8-82c6-1b20dfa0579e@citrix.com>
Date: Fri, 19 Jun 2026 10:45:21 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v2 09/15] pci: Use pci_sbdf_t in pci_remove_device()
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794557.8631fc262581453bbf619ec5b2062170.19edb3b4c9f000701b@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: <1781794557.8631fc262581453bbf619ec5b2062170.19edb3b4c9f000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P265CA0008.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2ad::16) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DM6PR03MB5113:EE_
X-MS-Office365-Filtering-Correlation-Id: 72508ce4-e94a-48b0-5b33-08decde77cda
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|366016|376014|1800799024|56012099006|11063799006|18002099003|22082099003|4143699003;
X-Microsoft-Antispam-Message-Info:
	EHfmthxi4KcQ0tBQijp1KNkvU7Mvsfnb+qowybhLsYMsfxKWaHM3beOkUDAd9/BFOTLL2yekEls1z3f28zoQ0JHdkfHKPj28Ej3Fx6SXH6cZ0Vwnk1gjMToRatxD6R+WJmhIq0dm2c6ys7qcfOi+OpFFma1tmEbMl/0XmIj58iSf4DBFUPcbBwrit1NwfOoCO+TEeTItlzHmTfSiwgwSckxa0SQ8DKQfolZ5zrs3qoHJm+slpAQKzmQdrUVzy1pvbkWSrb/9+yOFyji8IUe6sg9GcBfXFr2bL+qYJOpA2CBMyxpSnywtZwe0vzq73bzjgnWNNJHvzidTxBDO5qpr+Zyxu949fr1i2VW+yl080VfuMvb4aoBgpybuo9J0jPklp5/b4XRlEDOCBLaLF1bDhZ/dEvePmSLDS+qwYgn+qDlhv0a01EqpnkwMaTlrN3+4mKnh5AQB+eHHoAQYs7UcdEenkp1JNQwNmF+a3iertY06WyfA6wEyrOlrzfikQZhwek29+wsr3b0/IqAG8V/qXLTZiojFjAtQCG92NB0dPVDWzhDE+2/YE6DJYGf+BwNMLp3IJABffqeF7mSpbK2y4EEs2uZvf5DfEqbeteEVAXg+BWeOXLvl8/BDOP5zhgNGjVwUQ1EIb6zEH9knopy1QPrDIwEJHbUm5JoZ6bRT5cE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(366016)(376014)(1800799024)(56012099006)(11063799006)(18002099003)(22082099003)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L2xDelgvVU5DWlI2VWNTbGQvM3BvOUt6RG9pWWErcUZJQ0dqcS8vRVpjTWhv?=
 =?utf-8?B?dU9jOURCMXRWdDJ0WnZ4djY0VWxub1NrdE5hQy8xMXJBblJVc0dXUGRGeFlZ?=
 =?utf-8?B?TFYxZVI5ZnJTcGtJTG9UcjVxakdjOGE2ZFdYNm1QdklhS1BDcW5wWlFvL1Nw?=
 =?utf-8?B?d0cweW9ZRUd6QXo3cTJma2c0UHNsY3FFNTc0Y3NNK3NKR3AyODQ3MEoxQm9N?=
 =?utf-8?B?Vmx1MDZqcnJYdlNtOW5GektWK0Y0dlFWb3VnbU05c1ljQThlSDYrbitONTZT?=
 =?utf-8?B?NGprZmVvZnowRXVLR21LSFR2b1UwZ2JjZVVHYkxZcFo1MWJ1ejZHKy9PVmFB?=
 =?utf-8?B?VTVYakw1Vm1lY2JUVStoWkQ5eElDV0pxSnp2REVSWmFlWkxnMzFvSW5GREEz?=
 =?utf-8?B?b2RUT2RxOFdXNld2ZnBWdUljQ29UWDJLUThUejVWVkJvTnJQekRkTVZuQkhX?=
 =?utf-8?B?ZjRqSUdBaEwyOTZoY3hJVUxEQmdIb0xkOWJEc1JWRDNYM1NpL2JjOGIrMk5p?=
 =?utf-8?B?c3VvWmRWVmRDUlBrWDRKYmtKY3FBY1BDTllzSVdYTHB5aHBxYVBvRHV6UVlh?=
 =?utf-8?B?MGsrbmx6aW93TE1MOXF4Y1VDZlBzYnQreHFRQ0s1Wm11b1o4Q3Mvaml4UDI4?=
 =?utf-8?B?RFRsa3Rvd091bHFFRGZtdGJIOXJWbzZvbmhya2NUTWxZRGptT0Rrb0Vzc1Yy?=
 =?utf-8?B?b3ZWSHZsNEVtRlZIYmQzSDBqWm1UM1JSaFRyMlpDRUx6OUNyV2h2RW5tQytH?=
 =?utf-8?B?WTEyMkVKaC9OckNJdEpIVWRIdm5HR3F5azAwbHJNaHhiZkVDM0h3Vml0REwv?=
 =?utf-8?B?R21ySEwrS3hOSG1wOWpJSWRmMVhoVnNxOTY5cGZwajBJczNyS3FhQmVVR1Jq?=
 =?utf-8?B?M2lmWi9nNHI0eFUwMTZoTEJhaVU2ZlJEYlZML3lQSHkyenFzRjE1Q2VWVkxV?=
 =?utf-8?B?b2VjZ3g0ZVBOREZyemFPeTRmMFVjWVk0aGVSSklxQ0dNRitPcG5PN0lxY003?=
 =?utf-8?B?OE1OcUJCelI5Zi85U21zWStLMy9WN2pPQjMwSXVhdTVqUTcwdkZua05CNHZI?=
 =?utf-8?B?TFFiY2VYMk00WVoydFZXV3NTYXNOYzRCRzVQckJwendFYUtmSFJ0WXdNNmZs?=
 =?utf-8?B?MUtzMEJ4MmNZSlU1Nm8zKytlVThST051MWZZUjJLRSs3djNCUjBYMFpWQjdV?=
 =?utf-8?B?bGRtNm9TTENyYkxpUkpRRTBKR255RW5BYUU2TW0vVlNBSWU1eFh4UmZFVWRX?=
 =?utf-8?B?alRuZU43WktyOUlYTVFRUzc3UFBRZVVCUFlmbGN2QkdkbWNEYXcyMWJSWWxp?=
 =?utf-8?B?SFNBdXdtaW92U3hzY1VKNXJYVDdDeUVKOWROZnV2UEFZdVIrSjcwVStzY2ZS?=
 =?utf-8?B?bFFhUFBJZDZ4SHlFVmx4WXk4cjVkcE9LOFZtdUJxU3dIQ3lra0s3cWdRQ3R6?=
 =?utf-8?B?b1JQKzFpcUlKWjBqSlZyWTJsYjJHMUNpZ095a3RuTW9zZk1WQSt0dGVCU2JK?=
 =?utf-8?B?eUJuVUdDclFOUTlXdXYrb2prTkJnRmVWVStCdEN6R3VmVW1wdy9mZzZEb0Fl?=
 =?utf-8?B?dWQzdmNuUWN2MUowckpkaGJGVExwc0g2RStpMW5CWGFmYlpsUks2MUVOQm5a?=
 =?utf-8?B?SFFucUV1U0xsSHJ0dXRrZVA3aXBaRUJ2TTBPRTZ6MVFYeDZxdEozc1UxUEQ2?=
 =?utf-8?B?azFVQ1I2aUNlcFUwdkQwQTZLQlp0M1dqRFl1WkI3S3p3UENvLzVaVXVPTlFV?=
 =?utf-8?B?M3Q4a0prSWJEYm1IeUwzMGRKZ1Y1d2daMkkxOW5wYWkrNE9WTzM4a3dCaE41?=
 =?utf-8?B?T3NiTytWZjN3WDFGOWZiTUY0ZnJEUXN2UjFZRFJWRXQxWktDSmRhRFUrczh6?=
 =?utf-8?B?OGNPUnhYT1FsK1pUOUhjSkc5VUZlOXlmampITENWZm5PRTM2NWNRcDlMWXp5?=
 =?utf-8?B?a1ByNU5jRkhMOXpvczdhOVJkVEk1ZG96cEFDNTJVNHBOWFpEbGIvMW16OUNx?=
 =?utf-8?B?VlBwK2xBS3g1KzRJTksrbzJjMFdvaVBGdGQ0TUx5bEVEanBmT2pJWXhnT0VD?=
 =?utf-8?B?T0pBMEdRQTNHOWRLaEd5bkF5a0tZWVdKODdrQktpTlR3VGFpU3h6MjJGbVc1?=
 =?utf-8?B?TFdmUXJGd0hlb29DdFBqSlJuTE9pOVZ5dTM0a0dTd2plUGhrdXhVVkhLL01l?=
 =?utf-8?B?djFDbGh1dFhzTkx2Q0NOWGh5Rk1aL3VXcnZoUHdWbXZ5SEpaYm1ZMzlLSWRh?=
 =?utf-8?B?bkNjWldpaTIwV1FNUXBsS0R5VjlRQ0wyV0x5VG5nWWNwa2FpZVhWYU1YcUd2?=
 =?utf-8?B?eERMd0g4WmhQc01SanVsWkZFV3didk9qNHZ1UDYzUzh1VkR0WGM1QTVnaVor?=
 =?utf-8?Q?qAW7/arIdIj8G7BE=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 72508ce4-e94a-48b0-5b33-08decde77cda
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 09:45:24.9646
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qY54mJM0SrxXqP1hfDZQBAmvV2YAycRdaRbK/b0r0drlhKe/0u0Ll+9Azg6LuZ6Y9/7sJB2XN1kvFrVTMu+G/ZxDKS2kBoY2ca7Gh0IdXdQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5113
X-purgate-ID: tlsNG-d25034/1781862328-DBFE5ABF-465CC666/0/0
X-purgate-type: clean
X-purgate-size: 193

On 18/06/2026 3:50 pm, Teddy Astie wrote:
> No functional change intended.
>
> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>

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


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 09:48:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 09:48:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342009.1602305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waVpk-0002Bi-BI; Fri, 19 Jun 2026 09:48:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342009.1602305; Fri, 19 Jun 2026 09:48:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waVpk-0002Bb-84; Fri, 19 Jun 2026 09:48:20 +0000
Received: by outflank-mailman (input) for mailman id 1342009;
 Fri, 19 Jun 2026 09:48:19 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Michal.Orzel@amd.com>) id 1waVpj-0002BV-0M
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 09:48:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waVpi-006i8n-8N
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 11:48:18 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a351056-e002-0a2a0a5209dd-0a2a4509c954-38
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 11:48:17 +0200
Received: from [40.93.196.27]
 (helo=SA9PR02CU001.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a35105e-4999-0a2a45090019-285dc41bfa38-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 11:48:17 +0200
Received: from MN2PR07CA0005.namprd07.prod.outlook.com (2603:10b6:208:1a0::15)
 by DS2PR12MB9590.namprd12.prod.outlook.com (2603:10b6:8:279::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.12; Fri, 19 Jun
 2026 09:48:10 +0000
Received: from BL02EPF0001A0FA.namprd03.prod.outlook.com
 (2603:10b6:208:1a0:cafe::50) by MN2PR07CA0005.outlook.office365.com
 (2603:10b6:208:1a0::15) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.11 via Frontend Transport; Fri,
 19 Jun 2026 09:48:09 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BL02EPF0001A0FA.mail.protection.outlook.com (10.167.242.101) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.139.8 via Frontend Transport; Fri, 19 Jun 2026 09:48:09 +0000
Received: from Satlexmb09.amd.com (10.181.42.218) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Fri, 19 Jun
 2026 04:48:09 -0500
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb09.amd.com
 (10.181.42.218) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Fri, 19 Jun
 2026 02:48:09 -0700
Received: from [10.71.196.80] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Fri, 19 Jun 2026 04:48: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=nymJKZYD6xCuQo0U8ZyNdzJrPiUG4CgJrnnPxa0LlVRY9M663ADVgI4fOIPzY9r2yExMHoHfqadlOlsIRp2Ie8L3xMfFrYNt87/peHVasjfZvPsnWBfQAdkX5ErAHnrc4P8PO/db8piV8XEYMJnd98Ea/qq+dZN/6zPAuFMTCesaZK5ntuMHRSLstJF/ldnNnuhY7GcVJOQhwJ6OzDE3AVPxO/Zrix0G7NtJVuHCMIHsCzdnqpiSaG+8jUFkPd020I7XhCUtDn3wRQmlAS5PAZDida62pmRXALlJUT8eYu68LigqPmmEOLXRWAUDNSl3raOGAfmy4uuJNNrGp6lr1g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MdfRQUMOQhxhhJkCBBPqXhzrGY18rGzkim3POk4UUZ4=;
 b=W4iVymn++tuOwYIz28nnxFY4oDxtzoxCxpl7xDXYQspW3ZxT3o/MsQZlO3vRR0vaxD9jb5OGRlyMpRjkMX2yPRmUq3pBv/exBBkOLurYNW/dcAkHyo5iNIbthX1WHNXn4pEsJTPgTDQK+1JTAS2XpIavaYzPsQ9zvKuzMbIjrTr2yX095zWmuIe6IKcOJDJsaigvVzhLNeQyks/ceJjkTdShf6OkPWvCTuhdMM3gpaIQJnj+RZuMaOREp5NmZjBLrpAVXFJmaoEJT+mnA/ergweRAsFA/WYc61MLY6kO/EqV2oehpqcMVTiS6tc5jlUZmRNEptYdD1EugtZOJRdK2Q==
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=MdfRQUMOQhxhhJkCBBPqXhzrGY18rGzkim3POk4UUZ4=;
 b=WYaih0Pgc7v4AnVPJip3L2KOauaxA0mnb+/tIClVuOzak5b+AyBmL5HauY7E0vugM4uxzBF5TEqYyIlXXy13+SGWLkgmh6vv+/jogu1gy9uVzodDFGKHukRCn7OpRD4b30vjAI3HN+GbJfSCv/w6rzSS98gEUQat2fbB2ExNo/Q=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <e43afc29-cfbb-4978-9324-e8d540040bfa@amd.com>
Date: Fri, 19 Jun 2026 11:48:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v2.5] xen/arm: gic: defer host LPI allocation
 until after ITS init
From: "Orzel, Michal" <michal.orzel@amd.com>
To: Mykola Kvach <mykola_kvach@epam.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>, Oleksii Kurochko
	<oleksii.kurochko@gmail.com>, Luca Fancellu <luca.fancellu@arm.com>, "Mykola
 Kvach" <xakep.amatop@gmail.com>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>
References: <112419d3ea48ca328849c8f6647909d3eb667b40.1779922874.git.mykola_kvach@epam.com>
 <341edd8de63dcd84ccc6e7b6c03e9e8fc7105184.1781847061.git.mykola_kvach@epam.com>
 <7a0a1867-8316-4e20-971e-fab99c9f4a32@amd.com>
Content-Language: en-US
In-Reply-To: <7a0a1867-8316-4e20-971e-fab99c9f4a32@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0001A0FA:EE_|DS2PR12MB9590:EE_
X-MS-Office365-Filtering-Correlation-Id: bdec211f-9771-4961-e1b0-08decde7df21
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|7416014|376014|23010399003|36860700016|3023799007|22082099003|18002099003|56012099006|11063799006|6133799003|4143699003;
X-Microsoft-Antispam-Message-Info:
	XYcoblJprfQY1ryKfX7EOkLiVgtcdgxwgSk3ZZIF3leQwzJVHRm9y3cr7OIHPSkZdyvwCD1bKnw3wicwn6upwRDilakOkjbMpL0Tcqgs/o0su9u+Q/7TIouHgRTccJRWMWDgIHuew30fjNG3qK2GUN6NZE+VvanbCPYFEBJY3PgtgNsf3rGCzF9PCxiEQ6IIP0z5nIQTmxb66YbIdCXK+sm7I3N8PxhHGPFVgT5bljBjBcJ4VP9KoLq6Mf9W8Pu/0roc2VEvQ53F+rZnKpdTAixlOgEmFCzfmLdsNZlcvWrE08q7BxFJYEAbjovQToXRN5X//mVMXqBLjyye5mV3KFFvwZtbYksRxoWewhCeLoSxjTLo2CkUVfns7/MG5acdiPviQv3GaGJYxmGyfbIhMv/NoKSOK3d5YwEcjOOdACBZxyXOirdjXeI5OhiWeFWwjfe3j6FbECkG5olbJsGflWJqldVffAjLB9LvyFtXzKyGxnRWASZQEXAbsK45hO1ycbRkh3mnS50lRaXMnL+NEaEb0zobt8LhG7CjV9A+jvwLRfyAQSU/F98LOP3v+zuuvbWlesiCP2mhADybMHqlDyJKMLXcodBSyM5UZikECmHpBovulW4jR12lpZToXhamePhAqOWsW9bbO6l6TtZxvoI5eSTzKU7KusQrRWG6K5DTykZLvgHMi/Y9uU9/tXlPdqzKqjnAg4jzyA6Hbtt2sQ==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(7416014)(376014)(23010399003)(36860700016)(3023799007)(22082099003)(18002099003)(56012099006)(11063799006)(6133799003)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	Fh/tU5FZ8ivVtwSlEyYTQtR1ZMJ+4gYcXwZF4s/hoEV4ytsw7xzfzjSGyxHgQo9LkPNEE7DCD4dyshRNVqrbAh4t6ABJvVJJolbQELqcXRvzAWJVzhGZ7oUcfHJaMM6CO2cvngV/1l8ROaqbt2EmWlZ8Bmv7RS4ZR3THkFtQvjJZZceBlkWoRocMwLmO3y8Mgyx4ABcsyMrlUQmvbxpmlbJGy6ao+GskNZv4KiBlmwXyLtN4YbDIt4jJnpoReUfrmZ9/HIejAM6H6wCDcU3LpWqRpe+/936g8jXcLgUdjYHb5jQhLYjz3dKAnYNJciyYV4mAaslvybCaxnpNfOvnvDJ8cnVv/5QksCbAucvHSHwBqcUy6qa1aaVo5j1NHnGGQ89iyK4eq5n1vvc+aFAjLtCm0tU+Sb4ehz/Cgt//OLqh6VwIEv8Nn6Dk6tvLNIFy
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 09:48:09.7426
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bdec211f-9771-4961-e1b0-08decde7df21
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0001A0FA.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS2PR12MB9590
X-purgate-ID: tlsNG-bad1c0/1781862497-71BFE744-50C529EA/0/0
X-purgate-type: clean
X-purgate-size: 1843

@Oleksii, can we ask for a release ack here?

~Michal

On 19-Jun-26 08:09, Orzel, Michal wrote:
> 
> 
> On 19-Jun-26 07:45, Mykola Kvach wrote:
>> gicv3_lpi_init_host_lpis() allocates host LPI state, including the
>> host LPI lookup table, CPU notifier state and the boot CPU pending table.
>> Those allocations use gicv3_its_get_memflags().
>>
>> ITS quirks are discovered by gicv3_its_init(), so allocating host LPI
>> state from gicv3_dist_init() can happen before the memory restrictions
>> required by the ITS are known. On affected systems this can leave
>> Redistributor LPI state allocated and programmed with the default memory
>> policy.
>>
>> Move host LPI initialization after gicv3_its_init(), and only run it when
>> a host ITS was found. The old call ignored the return value. Now that the
>> call is made from gicv3_init(), check it and panic on failure because
>> Redistributor LPI initialization relies on that state being available.
>>
>> This also narrows the condition for host LPI initialization from
>> "GICD advertises LPIs" to "a host ITS was discovered". This is
>> intentional: Xen currently has no supported LPI path without a host ITS,
>> and gicv3_lpi_init_rdist() already rejects that case with -ENODEV.
>> Therefore, on systems where GICD_TYPE_LPIS is set but no host ITS is
>> present, skipping gicv3_lpi_init_host_lpis() only avoids allocating host
>> LPI state that cannot be used by a supported Xen LPI path.
>>
>> Fixes: dcb6cb263689 ("ARM: GICv3 ITS: introduce host LPI array")
>> Fixes: 751ec850ec1d ("ARM: ITS: implement quirks and add support for Renesas Gen4 ITS")
>> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
>> Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> 
> ~Michal
> 
> 



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 10:05:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 10:05:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342020.1602314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waW5u-0005Ic-MU; Fri, 19 Jun 2026 10:05:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342020.1602314; Fri, 19 Jun 2026 10: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 1waW5u-0005IV-Im; Fri, 19 Jun 2026 10:05:02 +0000
Received: by outflank-mailman (input) for mailman id 1342020;
 Fri, 19 Jun 2026 10:05:02 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1waW5t-0005IP-Ru
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 10:05:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waW5s-000WcR-Nm
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 12:05:00 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a351443-2eae-0a2a0a5409dd-0a2a4502c098-28
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 12:05:00 +0200
Received: from [52.101.57.39]
 (helo=BN8PR05CU002.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a35144b-fdf1-0a2a45020019-34653927fd1e-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 12:05:00 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by IA1PR03MB8046.namprd03.prod.outlook.com (2603:10b6:208:593::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 10:04:58 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.009; Fri, 19 Jun 2026
 10:04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=nINZEsfoLKnAFGAXTF65PiLyhSBx6pQcHwnCpS4m6aunMQqUWAD+eh5bq2fLfcttUlbn4H0qqvOqY3Sdux/s3Y3aQeHbZh8mWLDYNCvsO/tBJtSXzwSxXODANYXUOSQBxAVsmmLpc5ckV+qjSdgRIynolp5L6XWoCsnRqOalyVsWFqYzpP/ikIKzYAFd1Hf9KoYzuCsym2iXoff/vQaN30qRE9yXCEtFLdT8ZSHBJeqi38x4yv9iBi1W3kOr+KH9hqNVrDf2ZPH4PlnkV1hBo+8T0f9Nm+tMPJNrVSkQLV0VsLytVcIZeedGLOQ/LpCH6AeG2LczwX/YRjofGoMjgA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xfknyemjiKoYzpH/UizoZQOGEdwZIowA+AwX3AZJuSg=;
 b=P5fT2HwIXr5skHBvMYssiP4uZzdCboCv9S6cp7Kec2q2yCO2ga6OD0C9q1OIoRY49z3dY9RUV909KKcu0XIOiNu/NqaUy0PBq96TQnjX3x4cri1aFOFLyE5cpBoGNYb9qmehWVSfdpdSgNOPeM5bR37sncXVrWCVLa7GPR3QsYw5hAc5ZVZNpl+ZSPr+W20qPRJD1YzuYCAk+DnobA1ISA10V6+glryyFMVXV4toC2hMedYKtuMao3gPplQvImGFpdYTkL8okr12CBcPpkunZ8q4WaercAF5cE0EUQ1ow8tb2rQ5fA//O8m34PObKxm85zaCkSIU6quO5/l/jp1UFQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xfknyemjiKoYzpH/UizoZQOGEdwZIowA+AwX3AZJuSg=;
 b=bX1zttPMjuLHbKuUhruU0wb04nH4VTG3RSKNQnZ682gmHHVfAn/s9iV4sQXfV3KCbZqrXaoht4LuxAFhay/nr9iACsJU2/+Z9fSMYjjoPA/sSrSNZ99RXuRTmOr5krTZ7G5Kmni5viHyPlcSzCGeiUJjK9Lz6kOIqx2ifuh1Vrc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <befc4604-7d8c-484c-8783-aef13b92dfed@citrix.com>
Date: Fri, 19 Jun 2026 11:04:54 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v2 10/15] pci: Use pci_sbdf_t in pci_add_device()
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794557.8631fc262581453bbf619ec5b2062170.19edb3b4fc3000701b@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: <1781794557.8631fc262581453bbf619ec5b2062170.19edb3b4fc3000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0260.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:194::13) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|IA1PR03MB8046:EE_
X-MS-Office365-Filtering-Correlation-Id: fd01e233-5c7a-453e-efeb-08decdea3809
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|1800799024|366016|376014|11063799006|56012099006|22082099003|18002099003|4143699003;
X-Microsoft-Antispam-Message-Info:
	2X1ZnAkWAKoB5v0xeB2MAWn6wI1MksEV2SrnFf35Xyj/mc4xRyYfUBcNNH5S1eVo4Bh/DvTd1tBZRCybKz5X6B8k4cAWBUiY4Fzt4hExsVHi6Zp5zq5GollUkRxxTVJl08B72MIJk2u9FApagm54GAaqXbymqICXuAybDq+rZEVoCq234B5B8grDGwTEc8nucmgUPMcrgIIECPGVgVgb9UNpccx5Vct00eOUBsIbsTZd2L2+pvDXdHb4tZkRL27lfj7+ZZGl5ZAnfFQqL7CHKSu+ywOADX7F7Xbksg1DaDJ9Yjc7xDzWdvfOpdoc6Cfa6nEvaFhg1wPwQFA5QoMkHdr/ZscU7SL5ppigDFYrPeq60AHaySv2tP3os1HOcSTyDwUuuoGdOS6CTU5nkmiR84ACK+EKEK1PQBhEALwJHTCtGkH/Kumf14UeU0h52lRaZ7g4HPaUFjbOs8S8wW/OTfRWYRmPsSX9rWwN0oX//6mKSL2mGq6uXImyvcXExTVpM2ISqfIh02faz1kLw1AKHEg/K8+sURCDH2+5ZIbajG/iEguK5VYSqsjcccwgD8s/GGlWAHKez3znhjWnYpwHRvhn8vtUm0fdnMP8b7vMcpbUflhPfTmgqr3SvbvGvFplvney4h4GufztTPoNfAPKuZCaYzdgh50+ghudEoDHvZw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(366016)(376014)(11063799006)(56012099006)(22082099003)(18002099003)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ejZzTFcrdEtHWS9qQ2wvcVBpVnBVMW5iRGl2ZWxvNVplVVVieUZRcUJDQmNT?=
 =?utf-8?B?Y2Yyc3l6RjM4Rkp3MHBDRGlLblM2RmVzUk9BamtGZFlTZUl2Y0wxOE12QkY2?=
 =?utf-8?B?NWl6TzdnNDFySXVrbHFSM0xWa1MwTUdZRjlpbTVtbWo3VU5JUnZmWVl2QURD?=
 =?utf-8?B?T2NWaVlTT0k2THYrbHkyOVJ0ckZMUEVITmZOQXdoN1hST1JFM3pLY3BXSFJm?=
 =?utf-8?B?UFU0VTNQU08vWVVZMEhaN3duaUs4dC8zTE04NE1aUkU0cW9BZDN1ckRVRnJk?=
 =?utf-8?B?K3lkQml3azllSE0xVWwvK24rd2FDeFNid2crejg2MTM2UFNkZkpiUlhNSkZY?=
 =?utf-8?B?UHBieURJMjE0dUdVZVpTSVBmQkhmZU9MRlp1bEtLMVFBRnJ2SjNnTE9ZeERv?=
 =?utf-8?B?NzVhMTBJaHE3WTZvY2haZE1jV2xEQUZUWGRsOXQ2WXp4ZktZYlRCTWxLcVRD?=
 =?utf-8?B?ZUJiOGY5L0htN0R3eTVJbm1IajBDV2xnNmtDNWROQlk3S1VnUzY1dVlQOG1E?=
 =?utf-8?B?d21kd0wzZ24ybHNhTTdqaHJtSytJc3ZZUzdVK1RLTzI4K2RkcWhWL0dVMHNy?=
 =?utf-8?B?NnRpdHI1VytYY2NPbDVON21WOGZ5MVgvRXVNVFFLOTArT21BUU9TeHlTZFJr?=
 =?utf-8?B?cmFiUUkrMkRDOG4xOHB4bm9IRWRBQWprd3d4cmd1UlNDNnE4MnZ5NlJNQVZF?=
 =?utf-8?B?QjJ5S2JQQnFqeVdXWFZ4OTFEUEVWc0VUL24zWVp6eEFSb2VjdE51a3V0SThs?=
 =?utf-8?B?WlNCUHplUzJzbTQ4VVlOSzJkQm0xNVVzTVdWWVhiSkkvYzBrWHRJUko0RU9l?=
 =?utf-8?B?WFRnWWJJS25vSGZvaVEvRnpUVVlaYWdiNDJPeGlyUlJmeEdvZU55THNBYnZC?=
 =?utf-8?B?L0E5aVA1bGltZ3JuQWlEZExTbXhsTjZpRFJMZnZydkZXUGtQZ0JwR1BrbFJu?=
 =?utf-8?B?UHllRzVHTUZDeDlmS3RUUG84Rm80eU5VNUNHMFZDKzczVHl1YVF6ZzkxY3Bm?=
 =?utf-8?B?U2JRL1RDSlVDdXF0cDdGYjhyMG4xZ2RZL1Q5NGYwMjU3TVpuNjBtd3JBSGd6?=
 =?utf-8?B?SzQyODdab0Nzd3FUQmpPYWFwQWoxUm13cC9ROUdNYTNDRHM3SG9hdEtxQjNl?=
 =?utf-8?B?NUJkR0dRa3grSXdXazNlNy9KWVFjWWViZ0Q0Zmp1eUtnaUFUd1VnQm9wNXAy?=
 =?utf-8?B?bXJDNWlqTzR6K0Zya3dnVkdQU2pOdUZIUU9tRXRpbjNZV3NGQ2VLZUVHUkd0?=
 =?utf-8?B?YW5uQ0IyS2lVZHRJOE41Sm9vQW9xZVg1OURkdGlrN0trdEprY0hta3BxL0Zn?=
 =?utf-8?B?RUoxOUs4eUdNZFR4Vld0aVNzRzJob2h4b3EzUFJtZm5BS3ZHcnRFeXZVSnJL?=
 =?utf-8?B?TG03cWMwTnlKK2l3OWd1dXRKbjZMaUdVcVFLaHF3NVViRm9OS1YrZXlSWGxs?=
 =?utf-8?B?NFpCU0JRZy9sYitxTTYxUktoVjU3Ynd6UjdWRkZQbHlzZEQ2MERKbEphRklJ?=
 =?utf-8?B?ODBuRDNGa0ZFV3BPUitLTzhFclNjWDkvV0xGUWtZLzcvZkNQd3k5c3lBcmVw?=
 =?utf-8?B?RXhRdGtBaUV6dm52NHQza3ZJZ1NKMi9weHRZbEZCK3YvbTB4Yzkra1ptcmtU?=
 =?utf-8?B?VVdGbmJKaXZsdFFKekNDTWl3VStUeENGWHVyZUx0NzdhakpZZDZDc3Mxendo?=
 =?utf-8?B?ejltLytjR3pXQjdLL005UFRKL09FL3FTTHNKeVI5TkRiTnM1WFBVbGwzYVlj?=
 =?utf-8?B?cmRwREZybnovZ2xnSHE5N1hWSFZRRGc2c1NkQlVIdWpvY3AxTG1nTHA1R21V?=
 =?utf-8?B?ODMxcXhYRjdteEJCWFFlblFKTE1BeVllUFNnQWV6bWhqa25udVBaY0ZEdXRE?=
 =?utf-8?B?TGR6b3FnK2FWYXVpdXBDZnhKQmhSb0EwSytSOWZucUUyVDJqUEF4b2h2MHRx?=
 =?utf-8?B?L0Mxa0NzdlF0YmdYb1BjUEI2a2RXOWlBV0UvNGZNYlhzWm5nNGNZWFJZNFNY?=
 =?utf-8?B?M1NFRE90cmRsTXZxdjY4emhQZkREbU44RHI1N1FKU2F2R0wxVVhhRVRSaXVo?=
 =?utf-8?B?d1Q3SVR5QXAySTQ0RDhZL2VpQmNOeTFnb2NvWmYwd0lBUS9YLzVtcVNCTXYy?=
 =?utf-8?B?RmUwek93S3NqRytBaFo4dlN4ZUpSV0VRUkNKdklaZW9YVHVLVS8wSEJPSUpW?=
 =?utf-8?B?Z2Y1NXoyR2dFbGMveUZYcTI4eWVITjBMNUYwUTFUb0pmK3RSU1Yzb1JHaUpU?=
 =?utf-8?B?YzNZR2phZ2NiQTBNd1JNbjBvSzVMbk5sS0diVGZ6dmpLMXNOdTFkSWJrLzlZ?=
 =?utf-8?B?S2tnRkx4R3FkOUxWa2kwV1plVUdMRDVaVWZMWm95cng1TDhYRGNlV2kyZExP?=
 =?utf-8?Q?v8RmJ/DCAvsHnqA8=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fd01e233-5c7a-453e-efeb-08decdea3809
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 10:04:58.0226
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vDHxjuN8FtNlgk3569aERyVA3zGIlqkqAGxdSHcBK4h2TU/cM9gT8WEIUWmxtnFmzHHQeICkHA9e9l1T9cwzpvCsr/hcuZafIfIYzBbtdAU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR03MB8046
X-purgate-ID: tlsNG-720697/1781863500-4F67B3F3-C0DF9557/0/0
X-purgate-type: clean
X-purgate-size: 1828

On 18/06/2026 3:50 pm, Teddy Astie wrote:
> diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
> index 3be0772107..17a4931229 100644
> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -661,12 +661,11 @@ unsigned int pci_size_mem_bar(pci_sbdf_t sbdf, unsigned int pos,
>      return is64bits ? 2 : 1;
>  }
>  
> -int pci_add_device(u16 seg, u8 bus, u8 devfn,
> -                   const struct pci_dev_info *info, nodeid_t node)
> +int pci_add_device(pci_sbdf_t sbdf, const struct pci_dev_info *info, nodeid_t node)
>  {
>      struct pci_seg *pseg;
>      struct pci_dev *pdev;
> -    unsigned int slot = PCI_SLOT(devfn), func = PCI_FUNC(devfn);
> +    unsigned int slot = sbdf.devfn, func = sbdf.devfn;

.dev and .func, surely?

But, the only uses of them are now ...

> @@ -817,14 +814,14 @@ out:
>      pcidevs_unlock();
>      if ( !ret )
>      {
> -        printk(XENLOG_DEBUG "PCI add %s %pp\n", type, &pdev->sbdf);
> +        printk(XENLOG_DEBUG "PCI add %s %pp\n", type, &sbdf);
>          while ( pdev->phantom_stride )
>          {
>              func += pdev->phantom_stride;
>              if ( PCI_SLOT(func) )
>                  break;
>              printk(XENLOG_DEBUG "PCI phantom %pp\n",
> -                   &PCI_SBDF(seg, bus, slot, func));
> +                   &PCI_SBDF(sbdf.seg, sbdf.bus, slot, func));
>          }
>      }

... here, which is for diagnostics only.

At a minimum you can reduce their scope so they don't get reused
elsewhere, but it would be nicer to remove them entirely.

Incidentally (and not something you can address in this patch), we
really should see about swapping PCI_SLOT() for PCI_DEV().Â  It's one
wonky thing in an otherwise fairly consistent naming scheme.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 10:07:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 10:07:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342027.1602322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waW85-0005rC-0Z; Fri, 19 Jun 2026 10:07:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342027.1602322; Fri, 19 Jun 2026 10:07:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waW84-0005r5-U2; Fri, 19 Jun 2026 10:07:16 +0000
Received: by outflank-mailman (input) for mailman id 1342027;
 Fri, 19 Jun 2026 10:07:15 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1waW83-0005qz-K1
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 10:07:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waW83-002JJB-0s
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 12:07:15 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3514ce-e002-0a2a0a5209dd-0a2a45088a0a-20
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 12:07:14 +0200
Received: from [40.93.195.35]
 (helo=SN4PR2101CU001.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3514d1-9ee7-0a2a45080019-285dc32335f8-4
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 12:07:14 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by IA1PR03MB8046.namprd03.prod.outlook.com (2603:10b6:208:593::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 10:07:12 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.009; Fri, 19 Jun 2026
 10: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=i08oEaMMVy+gPJYqbO20AanGz/ZnQS7OFlR4U+Dlwy/qzauU1Awq7SXNoEy2xm8umeSlO4VWaR1yZOP1kUDhbb3KSclLrrCOlZxmMerKgdA4zje7qcnx4Rjij38SqpXU2Um7MQabtVsNyktI4mHu4JhNsF4ABmKJWVgy9/UEf3Pk8T/SjnTdlhxAkfGT+61mmcQPN1FMOXqzRDFWS75EYPqLTzPpNOCnUJJQAracFRh8y/8bu5DVuiuAGVxmrGZrBP+cKyo0qJLvAf6DMU1LIwXrOOUyWijvnToUZZSL5P5kMeHpVWJRJvrANknhmn/pz2RJ1tZ6dez8h71QaBNQig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6B99odyI20nUE4Me0xwTmieYBLyaiIzkirIM1rIlRTk=;
 b=CI+uPg/hZrpbWzaRo5fdvC0MqfC/uoao2D6cDG7m2uR5i40LE4RFqZWkV22v2Np7c227pKKuiPfmehTCM/tyB+loI6LuPBEJbjmRphHaU3l/vgLnjf0ibcwK41KHj4M5gjTGAlBSUKw/SyMtck7b14OkOQKvmf/N+zaB9BzNlRjpLGVy+dpYdOO/12qjIS8ia+ctRBpuM/n9zu5hkgnQaJrqS6EaTEfpJiD11upbyH8dL7sY4lJSY8ZQVJuqmmL37US/hJVjWbiYbyG6o8kN3VnICnqjYJ0Xy0mln29elTt1q+rwJn04riDcghlF4ZoTKq2Ljx82i1X7QqZu38XuTw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6B99odyI20nUE4Me0xwTmieYBLyaiIzkirIM1rIlRTk=;
 b=Si7pdZPdEchuQo+lTns+8LqBInCoCwks4nivu/08fHz2OPYJ38JnD0kNhUA6W4+riPXSc1vJOd5X16bSc3XBm5EdMNV3FqAVCOgB9LmgwattJ1KcFdJ23GhGRcxvDX6BZbsiIYL70S0lZquKDJ7pPV29QOim5SG6KyFF0+xNdy0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <812e4ef3-3da9-406a-8512-8b29ed983e48@citrix.com>
Date: Fri, 19 Jun 2026 11:07:08 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH v2 11/15] vtd: Rewrite igd device check in
 acpi_parse_dev_scope()
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794558.8631fc262581453bbf619ec5b2062170.19edb3b524c000701b@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: <1781794558.8631fc262581453bbf619ec5b2062170.19edb3b524c000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0140.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c4::13) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|IA1PR03MB8046:EE_
X-MS-Office365-Filtering-Correlation-Id: 9e426ef6-82db-4eb0-6988-08decdea87df
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|1800799024|366016|376014|11063799006|56012099006|22082099003|18002099003|4143699003;
X-Microsoft-Antispam-Message-Info:
	N6Z2mrVqW8JDPieRA2Yjm5YeGMkxqsG9MyxVSDle7VMVqU3H4056Jb7lwXCGSa79oQ0EEO06l7MnsDoFSXpRgQ86j6f5FYrWZSA05hHzJw4zqiO4etgdOcVe9bGmL4aGiIhWK1RPWkam1/ucZf3nFotxNlvqW3aSOQkknmHJRaYZoIr68WQ2JQ89vLinbfheilOQCXDlB9+vNiIRIFu8I8kX7KKolI4yU4peeiBjpFJEtrVxz1chbGcrQ46NwZaC43xudhLt5Oi5xe9EzgUVv+IeKYgFqMOw0G1/qOLFI3/Z1H/Epqedk3hPlE+C4Iu9kr0kSH/QbNoNMuH4puN+c+MyDCTv8dk2An2TsK2uHwylcGk346pSw9IdRt1E+y6PP0cvJnVP87V+udeXa54tBPrgC8uKhiEkIduz4ekT2Jw4BWayFCfeMU35GpyGelJYnjZMcnlXxO7WUUYiNIRjA8KvwP+wEHmUy+8rdB0Kzyd9XyHgStBpB3ksT7JO52xg1RvYI2nWVAbQQm9V7AqvjXuHXqmbX0r92nc/ECUuxrB3+yH7hZmilAfX/SgraHa4TntlKQ2jlSnDrFJbv3BVbteAdFXz4EvV5WkJX02W8Ftnz/fAvbj8gTBdJeD9ajae7BfFLfOaSND4yIYlFUDuwhBe4An4Lg4xX8F4NhPF1qI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(366016)(376014)(11063799006)(56012099006)(22082099003)(18002099003)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QXFiYzNydWNVUjgwOE5Icmw2TnJ4dkdiWHBabk1JcmZ3UEZPZE1FS3ZLNTZK?=
 =?utf-8?B?eVFGTnBQb3lZTGhFNVpnNnFpUWJLRkg1V0laMmVsOUVNOW9FSkZsOXh2TFph?=
 =?utf-8?B?WEdBSUp5aWkvbFFvaWhncUZRZTBidmZGRmZGWmRVRTlvWDNhUTdqa01LUUpO?=
 =?utf-8?B?eFVMYXFyL0VRa1hURjRxVDliclVwZDlzMnFiOUFCOE0yenBZWUdvS0QyR3RG?=
 =?utf-8?B?eHlxZGdOYkwraGpWV0UrNlFWaGNIUjJ5eXhPeEpDU3FIZkJsaFRmNWFRRTdn?=
 =?utf-8?B?Vld1VmM1bWZGRmNzRVBMWEp4T1VSd09GV3NpZEdvd2NJWVFHQ1VndDhTSEJo?=
 =?utf-8?B?V1FYMFp1QVJVaXAvcnlGUkljdlByTTBrbTJyblUyS2ZQUW5wSVIwSUtiVnJw?=
 =?utf-8?B?TDFOeS9wY3VzWC9wNmJQalFEMXMwS2Nydnp4d1IyaG1OS21LcW9VaVdMVWo4?=
 =?utf-8?B?VXZUaW1zd1JxTG1ramtTOGNNQzh0aWFHTnFaTTJheW01WTJWaXVQRXNZcGdu?=
 =?utf-8?B?MFhDRXBmblMxQ0kvaEJKa3lWVGlCT2dhVlphWitHT0hiTGYrMGJqWHF6SWtB?=
 =?utf-8?B?emd4bU5mN1dRNUllNlNQMzFzRlJDSEZLSkpWeXJ0QjM4OWpwMTlPUnFkWCtS?=
 =?utf-8?B?eWNGM1dLQm5GQjdhUExxdHB6TjJlK01mYWxsalJudDNDcUI0TTdvQlZoNWRV?=
 =?utf-8?B?dzZNY0tKZjNsUFhCY3BzeFZuT3kwYUVVZ0w4MWdmSDU0VndoVjdTZUdZaW90?=
 =?utf-8?B?SGNrK1VtVHQwemJjUFl1R3UvRzNWZDRYVVpyQ080Sk50ODFWVlB5ekllWitK?=
 =?utf-8?B?a0toUmtsQ0RtR0dPNG9MMVhVTDVtdHNvQTJ0eWVyUzdoM2UwNm43cWNhMzcy?=
 =?utf-8?B?Slhkc3ZSUjRJSDI5eWVDcnRqOXVwQTFQSVBxcE5DOGJveWJadTZZbkZlZ3V4?=
 =?utf-8?B?RzFYS1ptcmZqeVQ5d2JXd2NsbE1hN3U5VGo5dUhrZlBsVVBDbTdlU0M1bHVB?=
 =?utf-8?B?N0FTNG5jQW5ydGxvNW1pOE9MWFNiSFhwakFGaWtHQ280dnpTRDdPbDdQZ282?=
 =?utf-8?B?OElvMU5oMkZ4aHhxTE1iK0hDYmsrOXplRzFDekNqeFBtc1hVMU9BWm5sNzRY?=
 =?utf-8?B?MnpmUzRlVVEzd3RPQ3hQUE9jbHI2VEEwbEprOG5MTE9EaURWNVlrdnF5TGtV?=
 =?utf-8?B?enhTNTdrRzZjWTBseDBnR0d5Tkhwc1dCVm5EbmJ6VjJJNFJObVVPa0JpR2lm?=
 =?utf-8?B?MDNrbTFWNU9tV2ppaGVJM1JzNFJBUjVyVG0rUWswN09zNWdQVDd1dnRyazkx?=
 =?utf-8?B?L3dodlRZb2hHdUM1dXYxdmVISmhzbUsydy92NUtjT01OSVhwQUxuUDF2cEgv?=
 =?utf-8?B?VFNjQ0tEcWRscjNGYWNWVTczZS8vb0k2Y0JjZEt0K2NVbzB2aVhtWXBxMzlE?=
 =?utf-8?B?cFFwblJYSnBsdk50a1Nyb1J4b2JGdFZRVXI1SXZiRHltMlJzV1pacGw0WEI2?=
 =?utf-8?B?K05Iem5ERW1VQmk3WEVYeXU0ak5iMDdIYzhYdHlvMFR1UWpORkxsR2hwL2pG?=
 =?utf-8?B?c2crZGtTWHdiSFJYN3J0WERkNUlJc1VGODZTZ0RmbjlXc2RVSm5OaDRJWVVs?=
 =?utf-8?B?ZHh2K0ZyVjhaaERxcW9zVE1CN003L3JIS0tHUXZaSW5NaU9jTDZITWJ2ZEtr?=
 =?utf-8?B?MCtYbmFCY2FuMWNsT3ZoMjI0aVRHajZ6bVdWOFMzT0pqMHhEcHBQTkVwSVFG?=
 =?utf-8?B?V0hsWnN0ekozWk80SXlIRC9WVHM0L1RWTkZna1RrRE5USHp0cGhzS2ZyQXkz?=
 =?utf-8?B?MmJySVM3YWZLRFNmNkVOOHRzRXIyZTRkSTZOV0NjVWl0cXcyNHZCWlpmQlBC?=
 =?utf-8?B?ZFNSeUN6eDVzZ041bWlwZjdwaTcwVk5FT3NHaDVLeXFFbTFYbk5hWWRJZ05I?=
 =?utf-8?B?NmtLUE5DVTJwNzZIK2t1UzZSd2pPY0k5ekhkUVYvV0NDMHhzd1NIOUZ1cVdj?=
 =?utf-8?B?V1lWWHc4QUFzUTQ5ZVdtaFN3ODR0RHZBRkVkM1B0Y3BYVjhUc3Y0MjZVeXBO?=
 =?utf-8?B?Y0dBeHM1dVp3cUtNcFJWZENqOEVWOW1kc2F0THRHQ3A4K0RzSVdWZGdwTHYw?=
 =?utf-8?B?MWMwSHFEb3NDb3cyMThxNXVNRkRManlmRDg4dHhEM1RWVm55eEhMaEtsRnli?=
 =?utf-8?B?a2EraURyaHpzNHVwV3FmcFlhYThXNjRxSUZhWHZ1dFNIUDhPZFZZaXZsZGRQ?=
 =?utf-8?B?dmdEYnFCSjRKMGxKVjlpa20yU2pDRytEYWJWaW9YZTd6WUsvWlVWZzRJV3Qv?=
 =?utf-8?B?RGx5NFJWdFduazQxRWtjMG5pUmR2MWZqZlMzR1pTWlErbnNTSWM2d0p4UnpN?=
 =?utf-8?Q?aZXwDaTs3bASdeTM=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9e426ef6-82db-4eb0-6988-08decdea87df
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 10:07:11.9634
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wzlhTvqObJw/NIGOBdVmjfuF6G6x5PoE7zm6rjH/RbVIoyEXd4Xr5w4eo7P+Hro7vTfZFlSpEKy3EdJ+9fAfecvibJFvNznD3/012wzatL8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR03MB8046
X-purgate-ID: tlsNG-c1860d/1781863634-6685A0FA-20B90126/0/0
X-purgate-type: clean
X-purgate-size: 367

On 18/06/2026 3:50 pm, Teddy Astie wrote:
> Make it clearer that we want to check for 0000:00:02.0 here.
>
> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>

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

But, shouldn't this be part of the other adjustments to
acpi_parse_dev_scope()?Â  It's not clear why this change is split out.


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 10:08:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 10:08:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342037.1602332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waW9G-0006eo-C1; Fri, 19 Jun 2026 10:08:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342037.1602332; Fri, 19 Jun 2026 10:08: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 1waW9G-0006eh-9A; Fri, 19 Jun 2026 10:08:30 +0000
Received: by outflank-mailman (input) for mailman id 1342037;
 Fri, 19 Jun 2026 10:08:29 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1waW9F-0006eb-FI
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 10:08:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waW9E-00EU0f-A5
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 12:08:28 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a35150a-bab6-0a2a0a5309dd-0a2a4505d93c-28
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 12:08:28 +0200
Received: from [52.101.57.9]
 (helo=BN8PR05CU002.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a35151b-ef3d-0a2a45050019-34653909d19a-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 12:08:28 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by IA1PR03MB8046.namprd03.prod.outlook.com (2603:10b6:208:593::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 10:08:25 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.009; Fri, 19 Jun 2026
 10:08:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=RoZUaAltZS8+lL97aV+oUPjoNn1+T0UBHIe26MvL3pcKwuNorGyUBqenvIjxqjTNyDsbBDrxBnACRbtwfbw9WmwjMySsRDQ6m+6XbaK2e4Qijxl8tEACD4WBVMyQnT4h8zNAiuKXSgz8c9k/ut9keII28UZG8Cls1qKp8QTUaNq+L1PMcQ0KiMnH7Z6xCdpynVws0Di3isFmbIq/m8arfyigbMQeCO9pIsUkTuC5pVZ+aFdttQBGBL7PDqselp3UjZD9SbzEdXfbvwoJkNGxzhH6WXoeCpS8v6+UOYOebJhtwuULZ65QANt3cwHXDYhVDaR+AjJShdBuRTuG4xYFhw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fF+b+mK/pq0ibKGfsuhXPasEE+qThQxB8ux8RuMJ08Y=;
 b=a6mmLg92wFTzO3SIb6FktGJ3vsuZ0K2fw+K80lA/dcvyv0upwNTfPh/8aq0pwuuKEX3CKOhnYko17ULwL1SpvvfrF9aRSfo44sQ8cTdggWIPS91/yJURNyPaTDVi7o7fBr70T8Ji7IjpOh/BpYUmdaeMOMhs2o/BbAamf0BYeyubv/EbnM57NblLzyDvXAzdDi68gYnE50dwkll6bnVnZwxszxAZn+D6jch73yrs7Uw4zCXf2oFdf/OHNeJt1z6MmZGYVk/P9n466nXCMmzR8Jyr0GcvYRPpzVcfu+C35u/wxiVRxIwepli+bQ44rkKvhLvQemwE4N35tTAy7XSxbA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fF+b+mK/pq0ibKGfsuhXPasEE+qThQxB8ux8RuMJ08Y=;
 b=BRIWR5Y6JvEXv/sQeLh+s+v+E+mclhdpZmM+xMaw7i1lY6FS0j6QmRgOisAgxmeEzaCOi9pyD0UUJlSH5EH7vzMHNxWN6+tVlJ8O0oEvlNN5UEEaN4aAkPPdIvV2vMQBgqsJIZeS/Vh8zm1+SiWmJqSdGQdifxFsRBUYLmqt4lI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <b6c069ff-b84c-4f3c-bc83-fa7e847aab6d@citrix.com>
Date: Fri, 19 Jun 2026 11:08:22 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Jason Andryuk <jason.andryuk@amd.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 12/15] pci: Use pci_sbdf_t pci_check_disable_device()
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794559.8631fc262581453bbf619ec5b2062170.19edb3b555d000701b@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: <1781794559.8631fc262581453bbf619ec5b2062170.19edb3b555d000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P265CA0147.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c4::20) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|IA1PR03MB8046:EE_
X-MS-Office365-Filtering-Correlation-Id: fb3f9f73-9757-48b7-44fa-08decdeab3dd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|1800799024|366016|376014|11063799006|56012099006|22082099003|18002099003|4143699003;
X-Microsoft-Antispam-Message-Info:
	LJsXeHjnXNIniiKNc0m+hdPVgTtvNfk91Rwl4Ub2s4Ildfjmit5Mtpg6Yo2I+/5RFpBA6fmOEefkqaM3UhbfWDLWZVV5m9IcJwe3wQ4gEKevIFN5DPTGdM0WGL4eYRy6MgoqgdE0lOLFxtlPfb557Z/RQtd0jgFtKQ0FabYUBzXDjltFTRwDWqX1c6A6MFnKvJOJHuxZhtJlYVAW8cxM84BMvdtxTmLY9JEXlkyIBX4WZA9+i0nq/mtLAAKN3z7gClB20vO3ClMPDtx/9BbbF2rhVRS561gXAiyfO7ZpvRy8qj3pGfNluB+vKMeI7MG5cwbLmrRD6cUQJ0rjQa7Oal8kRam5/Dl1IyyGX9SK89sYV+1vgYxXDcvbB8MDBhbSTslGUO5nA+CkfAYpomAFMFtcNwfdk1tSSOx8k7jhP8sMPwrjshDwKmgjN98vBeqHCjSbOvPFcEJ5yEiy9oDMmlK/mMGRtOL+uo/pi92Uy1xYB83dMkwoCqvvVgqOumGrPmKwJfmKeycFjG+1bVzgQ1z+XLyZ+hsONVMchmyuj8cR/jqlpfXQMEl7al1b/e2VhqWDKJyFY4taA8DWFZSj8f0rxzZyeDhSlNtXL+HC6Z5QG+ccjkMz2hvHBgQSKauY7T2qbnI9fYUNClDVaZoZkRZWMQOh7tN2eX4QcxYMk98=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(366016)(376014)(11063799006)(56012099006)(22082099003)(18002099003)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NzRkSWlpZE1HTVZ0OE5mbUFTaUZJTm5Ba0gxU3I2eVBlRUdmVFpZem4ybmx6?=
 =?utf-8?B?dTJHS090YlFHUEhSeG9NZzdiUUk4NVBuOFNBT0pRRlBDU3ZnZ3Y1aEgyOUlh?=
 =?utf-8?B?QldEQ3VxYTdrc2dKY3lxVVVXNGFoVTBycm5qOUxxSDloL2NabUxqNUZDemNK?=
 =?utf-8?B?dHk5ckVSempTMEtCYUxleDdYQ2djc1NtRzNjL2pvR1IxZWdtbUQ4VWJhcEI4?=
 =?utf-8?B?ZGV3MHErN2cwaWFTVm9SS29iZVVYSjBJMnBsTzJQd25nR0tEWDAyUHJTb3lm?=
 =?utf-8?B?OWdLSVJ2OGV1R1VtNStFSU5tR3hVZ0J5QWlrUDRuamcvY0pmQkZFbXI5SDRs?=
 =?utf-8?B?YkMvNHQvYjZoVndMTFFUOWgweStJeHNtajdOMmVQckMrWllqNTdrbmQ3YTNx?=
 =?utf-8?B?blo1NUQyOTN2OUhaSWI1eXg3UklIeFpIL2hieFZHUlV5OUk1V1lyV0FLSDgy?=
 =?utf-8?B?R3RvVjkyeXJCVUJaVkNjT3BzaUpxaFFqYU1mZ09DekJ4RHMyZ3RNNk9lMXNw?=
 =?utf-8?B?SGJ0QnBoS3NaSFJEbVZ1REg3UFhlOFROaHBib0xiVStKMlk5d1k5RkRBRDFR?=
 =?utf-8?B?cFhtOWlMa29tS3kxemZMTGxOZlo2UHRPZS9LcUpmOEJhMDVSNUplY2xkVkU3?=
 =?utf-8?B?N2ZidXltZlU4ZlIrQ01DMXBnNGpEWG11a2p2aGQxaHdFc1MzMWJWek84bzlE?=
 =?utf-8?B?dlI5ZWV1RkFHdW9nc2xVNUw5Z1A2ZlYwbzY2TkNsZmNvNGlBa0hPWWk1aXQ3?=
 =?utf-8?B?SGRpSUNoWFVaWlFBTm5zTk01SFIyN3E2VjRKWXEyd3lCbWxrWlc2VHo0dVNw?=
 =?utf-8?B?Q00rRWQwdTVmR0R0R3ViMHplNFZOeGd6NXYzeExrREJHU3BleVY5dW1zK0Rp?=
 =?utf-8?B?UUJUZmRrSDZtTitLekIrbmgxamF3WVcxMXFOa00yaUVLaEtsd2pUd2VHRlpm?=
 =?utf-8?B?bHd2TDFqWnA0NWM4aXBkbWhZL2g4UXlNMHpZeittV2haWGQ5djdsaEpHRG9y?=
 =?utf-8?B?Y2dXWUlpcWRaQ242eFpSZG1yQVBTOURHOG8vTStIL0NVNHI0aFphenFNSGdP?=
 =?utf-8?B?VDFiMmVsWTVjK21qNFZyTEUyTzJVWlpQSUdIVW16L2hwT0J2RHN0UGoza2tT?=
 =?utf-8?B?aVU4cFlhUlZEVm5wOHcvRmZRZmdkK0NMbW10aEN4OFd4N0V2YjVyZEhaWVdS?=
 =?utf-8?B?T2doejFVZi9BaUljMW5OVFB3dDM5ZEw2UlI5YitERE4rcC82MUVlc2FYRTQz?=
 =?utf-8?B?RUErUGgzTXFPVHpSbzIwZDRCa1EvakNMeEtzbjRwZDR4ZTNLd21rR1kxcDBT?=
 =?utf-8?B?R0pGM040dGd2U0JRK0VsRjJPMzNGeDZxTEZTT3hadGprSkQwZzBkOW1QcGxV?=
 =?utf-8?B?ci8zdWFJY1g1NlBEalp5R1RKUlpTRWFDMVp0R2JLNTByZ2d3cU5qU3ZWRWtn?=
 =?utf-8?B?ZlhTaTYydS85RlFqRmV3V3hKaTBmbldVc1B6RTlsY29RcDhxNURBWmF6TGp2?=
 =?utf-8?B?eEpLVVNrMjlsdXNVYXFuamVPekV6VXFoTkFEV2kvUmlsZWRnSVQySDFWUDl0?=
 =?utf-8?B?SDZsWUpYMUY5b0l0WCtDdWw3bXB6eWd0WUt0ZVR2dHZyeXJPbTJYcmtsbk1h?=
 =?utf-8?B?WURFb1pYRFUxTUhhYkVHWUVhaE4wMkFodGpRV1hwTE1IbnZITWpzdGlid1dN?=
 =?utf-8?B?aXlaN0JkSnpVbDNOaWJtaEFCd0kxQ1hzM2ZjRzBsZURaaDFmR3E2NGJFYW8w?=
 =?utf-8?B?dTY2d3Y0R1JkcFZpb29LUzg3N2F5WjVpNFJTaGwva1h1UW8wcVo4V2dxaU1h?=
 =?utf-8?B?cFFoUmNiQ2xBcDVlUUhjZzdOUFVoZ3RNMDY0SFM1RlR2YVozdnJtTjEwSk5S?=
 =?utf-8?B?eWxnVy80QWU0Z2RPajRLVDM1bGJ0NksrWG5LMXJFT1gzZGJmZFAyYjFuTkVa?=
 =?utf-8?B?ZUdUek84QUI3clYzOVYwcjI5SUw3NG8vK1JIM0FLcTAvM0ltdzZ3cGxrZ3Zp?=
 =?utf-8?B?YlFUMDhzbDNtbEpsZXU1WHdSbUhSQzExRjlETldOb1RNK0ZTRGsrVXZYYmdm?=
 =?utf-8?B?V1dqVTc3YlFINlFrQmtDZis1UWNqUXFBYm4wNUZvQmp6bzZGRHNqdkpOakd0?=
 =?utf-8?B?YmR0cStRNjNjS2N4SExiOUdBNEFFMmpiY0s1Z2VPT01YTVgyTXlLYnZESi9s?=
 =?utf-8?B?YkJTLzRKY3AzQjdLL1M5VTJZSXlNTTBSL3Q0UjVlZzltVjlPdUtyYlVyY0Vv?=
 =?utf-8?B?R2ZaNlpkTXZKamYrZmxld2JMM1o1d0l2Tk1yZGpUWVJBYzcwSU9LckV5M0pn?=
 =?utf-8?B?ZzhjYmxyRmFNNnlaWDJJVTYzT0FPT2FvZmdhaHVtU0xTM0x5bjJEVnJqcGdU?=
 =?utf-8?Q?ut8Be39H74zE0R9A=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fb3f9f73-9757-48b7-44fa-08decdeab3dd
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 10:08:25.7544
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: G8+Wrk3JpFmnuWOEy7JPrbeZrMbFVVPX4uBHB0ROELlyaEBsQyKkRgGpRGXi3HjswKZJDZeuWj93/aRvNeVTMWN+pOXSfFnXSZzFDxEXqPQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR03MB8046
X-purgate-ID: tlsNG-c201ff/1781863708-A48A0127-C39EDC38/0/0
X-purgate-type: clean
X-purgate-size: 193

On 18/06/2026 3:50 pm, Teddy Astie wrote:
> No functional change intended.
>
> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>

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


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 10:37:48 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 10:37:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342054.1602341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waWbN-0002e7-I1; Fri, 19 Jun 2026 10:37:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342054.1602341; Fri, 19 Jun 2026 10: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 1waWbN-0002e0-Db; Fri, 19 Jun 2026 10:37:33 +0000
Received: by outflank-mailman (input) for mailman id 1342054;
 Fri, 19 Jun 2026 10:37:32 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1waWbL-0002do-T4
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 10:37:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waWbK-002P4G-A7
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 12:37:30 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a351bd8-e002-0a2a0a5209dd-0a2a4505bc7e-40
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 12:37:30 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a351bea-ef3d-0a2a45050019-d1558034c5bf-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 12:37:30 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-4924593f45dso2222155e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 03:37: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-4923fd01fecsm53846225e9.8.2026.06.19.03.37.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 19 Jun 2026 03:37: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1781865450; x=1782470250; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=9dl/yC3dtfgoYRvwB4AyGAOGuUTsmuyoli7UBAbwsTE=;
        b=bttcDIMQciJZT91DhWDJeaSFDDlEnyixXKHoLeQqr0hYTkHbMhXXd/BsVWiH6S/rZA
         3OYyunP9OOUTlgrmsjIOYbB/x0t62ZW+qfo36tduxFX9CH9AXOPQvxBf/xKre2poLMdZ
         WnRpWQRU2sZzyVHNMTAhXNBLmHQef+uS7Dk2qUHnz+fkzriVY9k3bxSgetOt7bNDs0M6
         7lb4eLMge5DrH2qlUZIvKABLA4/3eCkh+lJ6UX9XsPwpDwNbGqoyNg12jcf/eyWRIVGF
         bYDvRMzhPhLc5UO+G9IQ8d2eem41qCklQlOqyOtYEXZ8x+V4bBW0toluTAUOgN1dBDDR
         /iJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781865450; x=1782470250;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9dl/yC3dtfgoYRvwB4AyGAOGuUTsmuyoli7UBAbwsTE=;
        b=IGpnLG6LmzFZVpeUxjKyhQDnWm/ByBFpRx2Mp1gRKyQp0Gqd9P9ZCZ3hGsfXV1/OFZ
         Np7IdUz59zTjQ8bPMcyJ5zjC3sjo68LSK169EzyIlJx6SmbNKllCe0ix9BhDb7n+ijcy
         AgNE57H0hfzZ6T6OGAYYkXQEpSuKIIkTrHidD+IFoBCREYnAA+gWXrRSaXVWmPYXIE44
         gjD3ZzNSoFQXV3ASUca37gcuwiMncDgYRK64UZOt9Yye0I9viSoiY35URSqT4u4pgLxu
         TypkfxnCJYY/9IORlY9RZ9v3XjmzeI/lNt1abvgXAE8phYv11gxfYkzXYajjIu0RCnja
         H2vw==
X-Forwarded-Encrypted: i=1; AFNElJ8X+UHY63RE4efOryvwtqboM1HNegSOHr7hroEiDONmai/xAg8tYjM3ekcyzb3xWpIEz5Yy7zrY/fA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwQF+ng0D4wYRdB7PLm/IQQBDdDEg+ugann8q8lAeJp9RRGr9Wu
	G7vWrMnc+Owv3TMj9hx6KcKDicPQgfxfLeH3EHl7n8j2z9DZBVu/Kw9d0e+/Eu4gFw==
X-Gm-Gg: AfdE7cm6u611pnfhfvJ1WmIEVWuLgLZgfCoUDZDZLQDMKcO7v1AMaKqPyrMXA/hbb8w
	B9qoqwW87H4dMfZahQLQ4SeXlU+r3LDJka0e6tOw0H5d+jvTW1AlSR50D//Z7MOfq54md2uHZHZ
	+U8kKyoZryheK7uX9MjLql5zW4LCsRUtrBg5T+sCyWLaXb58b611CFJZahJGWNqZcpbr4LglXjn
	OX8MNj5s4tn9lTKWU/ClYObycmF+wKtD16aqmV0Ea9Wv/P6CocK9Kiy6Tb2qSk0ttAdknTdkq0S
	Hrtktx1u/gjfqkFqqeqOtKqlL7EMir/Quet/huTppEgpPcmaolUdRGroo0tz4qphW5Qbbx84kD+
	l0brwEQ3nUgB9SSZGqGCn/BTNVA7xAlk8+CWgkjVqifxS414UzhhJlJxm5Ipncv4siJDnQH2yau
	6HgIgqKO+uxHlxsdGTOeG6lv8oYnJL7zKD6miGZC5RMycU/hNsKyfDKoHEUqE79SexFwgQof1nd
	Oci
X-Received: by 2002:a05:600c:c48e:b0:490:b0e0:3de2 with SMTP id 5b1f17b1804b1-4923f5a8fd6mr52259795e9.33.1781865449693;
        Fri, 19 Jun 2026 03:37:29 -0700 (PDT)
Message-ID: <8066deba-9d20-4698-8a37-16f1f7ab8128@suse.com>
Date: Fri, 19 Jun 2026 12:37:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 06/15] pci: Use pci_sbdf_t in pci_prepare_msix()
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794554.8631fc262581453bbf619ec5b2062170.19edb3b42ec000701b@vates.tech>
 <f3d0016b-782d-4085-8f97-cddba10231af@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: <f3d0016b-782d-4085-8f97-cddba10231af@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1781865450-9FFD2127-DB717828/0/0
X-purgate-type: clean
X-purgate-size: 2085

On 19.06.2026 11:31, Andrew Cooper wrote:
> On 18/06/2026 3:50 pm, Teddy Astie wrote:
>> diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c
>> index 5bbcf3b530..984fb99aa8 100644
>> --- a/xen/arch/x86/physdev.c
>> +++ b/xen/arch/x86/physdev.c
>> @@ -512,15 +512,16 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>      case PHYSDEVOP_prepare_msix:
>>      case PHYSDEVOP_release_msix: {
>>          struct physdev_pci_device dev;
>> +        pci_sbdf_t sbdf;
>>  
>>          if ( copy_from_guest(&dev, arg, 1) )
>>              ret = -EFAULT;
>>          else
>> -            ret = xsm_resource_setup_pci(XSM_PRIV,
>> -                                         (dev.seg << 16) | (dev.bus << 8) |
>> -                                         dev.devfn) ?:
>> -                  pci_prepare_msix(dev.seg, dev.bus, dev.devfn,
>> -                                   cmd != PHYSDEVOP_prepare_msix);
>> +        {
>> +            sbdf = PCI_SBDF(dev.seg, dev.bus, dev.devfn);
>> +            ret = xsm_resource_setup_pci(XSM_PRIV, sbdf.sbdf) ?:
>> +                  pci_prepare_msix(sbdf, cmd != PHYSDEVOP_prepare_msix);
>> +        }
>>          break;
>>      }
>>  
> 
> You say "clean up", but IMO this is not much better.Â  I would much
> prefer if it turned into this:
> 
> Â  Â  case PHYSDEVOP_release_msix: {
> Â  Â  Â  Â  struct physdev_pci_device dev;
> Â  Â  Â  Â  pci_sbdf_t sbdf;
> 
> Â  Â  Â  Â  ret = -EFAULT;
> Â  Â  Â  Â  if ( copy_from_guest(&dev, arg, 1) )
> Â  Â  Â  Â  Â  Â  break;
> 
> Â  Â  Â  Â  sbdf = PCI_SBDF(dev.seg, dev.bus, dev.devfn);
> 
> Â  Â  Â  Â  ret = xsm_resource_setup_pci(XSM_PRIV, sbdf.sbdf);
> Â  Â  Â  Â  if ( ret )
> Â  Â  Â  Â  Â  Â  break;
> 
> Â  Â  Â  Â  ret = pci_prepare_msix(sbdf, cmd != PHYSDEVOP_prepare_msix);
> Â  Â  Â  Â  break;
> Â  Â  }
> 
> 
> It is slightly longer, but the cognitive complexity is far lower.

This is pretty subjective, isn't it? I for one prefer forms with fewer
"break", as long as indentation doesn't get overly deep.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 10:54:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 10:54:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342068.1602350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waWrl-0005VC-NH; Fri, 19 Jun 2026 10:54:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342068.1602350; Fri, 19 Jun 2026 10: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 1waWrl-0005V5-In; Fri, 19 Jun 2026 10:54:29 +0000
Received: by outflank-mailman (input) for mailman id 1342068;
 Fri, 19 Jun 2026 10:54:28 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1waWrk-0005Uz-G3
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 10:54:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waWrj-005HnQ-Hn
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 12:54:27 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a351fe0-2eae-0a2a0a5409dd-0a2a4503d280-20
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 12:54:27 +0200
Received: from [52.101.62.30]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a351fe2-a3da-0a2a45030019-34653e1ef413-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 12:54:27 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by LV3PR03MB7780.namprd03.prod.outlook.com (2603:10b6:408:28d::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 10:54:23 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.009; Fri, 19 Jun 2026
 10:54: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=vpe0eKPFfunKI30O/nBlaADJhja+haxy5Lscf08ihqPXOFkS8Md5Qv5fNYcWVvO/bRc10DZw5arKl5TMPOjUT3srOmJfwWFNS8VmJzkjesZNHm4/MNnpBzwPlU8Afj27p64dR8I51AghPjuRwcm2Ln8lPgnVQ2kdvgsuZxm1SrnnjC1U6ly1E2LR/PQeJMGJYycCQGflKuzR7n//UAYcgq9K3FX5+YVC6BEKViCVRoCFl+dFAAxxWpA2JBNQNlY6vQVvWOVvLEnM2WZuZixUfRe4dV4xQURXuEY1cJNXquI7pDg1sm0FE/fqqrfHTfngAWTg/4D8SC8VoYiTnVXkKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C53uhB0U9fvy3Lu1fWObBoLSBOmuvlEQ7psrRhSqlfI=;
 b=LJqqRCD0lNbwNCodZOfX/RzHY2lyQ5YGkDbJ6UyCr/j03HmzyOMkAuESEOs8cHuntspXaI263v4i0ZewaIlFkybCKz1nK9kdxirr3JL7xSy+O61RajajtudKfMFsG0o8UBSvDCnAZpwJnpnBfwPCBmMXwRori0Kv7iF+LLTjOP+i1xPGBOdvxRK9Wi3VXut5ux575UmfOusHSq6giuL/9mJ++oIIzJ5NYrVFitNDgb90rMuahhOGiKHbIAgjP3BbZ9Gjory9iQIH49XnA8/kR6nQyBu1MYkJITJJTbWrBcmtbA/r1MoQXB2DNJI5s/iLe46eZU+gWDOKs1mnzUBR1g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C53uhB0U9fvy3Lu1fWObBoLSBOmuvlEQ7psrRhSqlfI=;
 b=s9Rzw9akkjHgF0nnA00as/XCDUNZ8zrpFBI/LzB749Rlb7vQ6P/32vnJ0GpUHsk/u0SEY6zDFDKBsxqN86T/FrLMl77mTicNHDB74QAgBD7VAlCnX8Auf9zQxeRcZ/tjgTYxcLVnfuzG+SepDu58bAnOcU9cx2TXQM2wQ7vRJD0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <df3127dd-9923-4e93-9866-64777d0a6419@citrix.com>
Date: Fri, 19 Jun 2026 11:54:19 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2 14/15] ehci-dbgp: Use pci_sbdf_t instead of (bus, slot,
 func)
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794560.8631fc262581453bbf619ec5b2062170.19edb3b5af5000701b@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: <1781794560.8631fc262581453bbf619ec5b2062170.19edb3b5af5000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0106.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c3::9) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|LV3PR03MB7780:EE_
X-MS-Office365-Filtering-Correlation-Id: edaaf41f-999d-4f6c-8b1b-08decdf11f44
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|376014|366016|1800799024|11063799006|56012099006|18002099003|22082099003|4143699003;
X-Microsoft-Antispam-Message-Info:
	OE8T65Ydf0MIm45TvUaT0grBzZGAZO1pPIgaTTh9yESDKmQmd/YyVSM4yavrEmnOIUI4W16eP6P2EfS5h4i+omwKMk+SJNwZl3rXLzhvqrViHy/RyoaXvMb2YiUDw7QQCk2+b2BVsFIJbVzp6enl8VlgSF8od+CHmW0IaKXMXqQU46h2bKqJKRWCh7e3D32ZPNRtexsBx6Nv+XPHyDi1vGw9Q6odg/fAqCOcZJ8RZ+OYpiUG6wzaHTUFNeseMikRJDuA4Kum8fgJpjCR+hv8hFnB++s6/kf6hQ5AGDTR8WS3V43wyO1AHojG29mkL4bxsFa2tqY6MbufD+I00+effZdg/ZL/sBcYGFfqcYFTotsUhxwsGlNjIShAkMvruH55H63xIjTJ6MI5YNAYx2rvgM86QEDBmSqHGUyZ2C4P7E2MKeLm+XHkhaTfY929obQ2ZFSBAEBQXIYM/Td8oKp23zr69fr5E++5RTwNA/YN51kQsPsnfIXxtUW++b7hHqUQbm5SNzl21e9kVTUGZsEUTEtH6koVoM3KBu67cF95WxmFIN7QP0wkIcYm0YOQ8eWLt6QHkXa7nAGDnitAHZ9/nabUoVygwuvk0qFr12U88HcozZ8dws7b9WEF14MVkibxZLU3FsJkK9YDQyNQyft1UKgLO5bzTBLNrQBDldpezM4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(366016)(1800799024)(11063799006)(56012099006)(18002099003)(22082099003)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VFlwa1VYR1VlZWlzc3VVMG1FTms3WDVwUCtRLzd3ZStkY0RxaG1xNC9hb0F5?=
 =?utf-8?B?bGhHd1F5N3dJb0hJMHpVQmRibzRxajVsNGkwdkZuaU5uRWxXU2cydEwwU1lv?=
 =?utf-8?B?dGZFelFrYndaazY3SjBHMU5Rb2N6dVA2UlhBR1k2RnNoNFMraXJpbHJBdzFE?=
 =?utf-8?B?QjBUMFJYQURKKzRERnJVZUdVMmErK0NLNUpCdTFMVkFQMUdON1NaQWRwSVFp?=
 =?utf-8?B?SWovR0xNZ2pISXVRWDAxWmdneWg1bWxiNmdlTmtNTkc4Z1ZJOFFRdXpjM09Q?=
 =?utf-8?B?aHJ6TmhoWXFWbUh5WUYzT0VLQkJxZXlNWW95dWI1QXN4Zy8ybWNCbXFMbk5i?=
 =?utf-8?B?aWt2eEVQQkFmZk14RTBmSGluOEkzMTVIZXduYWhOZGREQytXWGdqQkxZY0Ji?=
 =?utf-8?B?UFJBbTlSSkQreml0R1ZYa1ZXa2tCUGgweURkdEozelo2YVhKRU1DaitVcGNM?=
 =?utf-8?B?bk5SdXpUY2NQMDdmL3RVV29FRXVxYmpBbGt0MHQwRTFPRWY2QmJ6NnRhcHhm?=
 =?utf-8?B?bXV5OFo0QnNwclBjL2piaWI2dnhOd3NndVdBRStpMTdvTEY2Z2Z1YXBXUmxw?=
 =?utf-8?B?Vm1mTVBuNnNYaEdCZjNHdnVXNWlmSTZGa2h1eUVZZ3FYS1Y5ajdXaUFlL3RF?=
 =?utf-8?B?eTk5N1dhVUxZSnBRWmI4a0xjQWJZc2JtTGpFVHNvK3VtSlVyZXZaa2hRTHl5?=
 =?utf-8?B?V04yOGIvSFRaak41cDhHalNBaFFyS0VRV1RiQk9FcDRiNHhyMFo5U1FuR3Fv?=
 =?utf-8?B?bjhLK1lGYzVtbXBsU0Z5QzZYdGVwem5yQlJjY0xKd1hicEtkNFFFNlQ3SFBs?=
 =?utf-8?B?clNwS1FlMGs2ekhsejgxYXMwU29BYncrNHFNVmI4eEFacFpIUWgxTmZtdzB5?=
 =?utf-8?B?b05tYVFwQTIvUEMxT3BNa1N3TlBhVy9DY0VBZDVxUzJoWEd1a05NTkliV1J6?=
 =?utf-8?B?RzRKMnBpY3ovRnFvemE4b0tVKy81ZzF5ek81azd0ZjdCaTJBTGdpOGdMUCsr?=
 =?utf-8?B?TzVCbFpnZzN2dVFSMUQ5ZzcrWWZtRWh0S3FEOVJJTmdQUWsvSHFBK2p4WlBp?=
 =?utf-8?B?UGR3aU1WWkpKb0pJRmtGVVlYUE1uKzgxTDJ6QnU1RHNOV0tqSVo3aTE4a1Fw?=
 =?utf-8?B?Ui9hM2ZLYmpLK0JnS05YSERlUUsvamRVbUxKWHpQR0hlWGtvWWkwM0c1V29y?=
 =?utf-8?B?VS8yR2JIZnBLOWgwSTlEUjlrMzBWemgvL2wvNEFjbVJsK2paSXhqR2EzRFlv?=
 =?utf-8?B?S3poU2hUd3JFUmJOdWpUWkRIc3hDYXJKRkxVMFU3eGkzQk5QMHJkN3FVbUdl?=
 =?utf-8?B?cjQrY0JQNC85Vkd6cmNhSXNpZEpTcGFZZllOMzFKMUdUMHV1SXltOHV2MEI1?=
 =?utf-8?B?Y0xJTVV1LzdNSG1BbjN6c2RYanFGbm51VHhXY21JZEhVdndsbm1GbmtGL1Iy?=
 =?utf-8?B?VzBsb3dKM0pMN2lPL2cyQTdDR2ljMjNqOWNrTGpQMkIwNUlKWVhGK09UTnVv?=
 =?utf-8?B?T1lzZFVhODFqVmV3YXh4N004NmlSOE1pOVBjbCsyQWJHcDF3bDVtSW5LTWlM?=
 =?utf-8?B?d2FOTklDY1Znb293VkRXVEo0UVUvU2F4ZDFuOE1POXpCL3lNd3ordXdudzBV?=
 =?utf-8?B?aUVLbXRSWTVaZzVmNCtKeDdxYkt6M2lHTkVzQUUra3BRSmM4cGRCY3ZqRG9w?=
 =?utf-8?B?RTNlOThlUms2TEcyYXU1ZVJGbzBCZ0Y0ejZUa0FkUkw1RWNRY3BkR2NTUFVw?=
 =?utf-8?B?VVVoVUVjb3JmNWxIRDROYnlmWDBMNnZvbHhGWEkyN1NublZWSzBLVzc3eFor?=
 =?utf-8?B?b3hNUS9XdjBtbE1tU09NWi9QRlMrYUNiNmpRVlBlSWx2bDdsazArd3l5Lzl1?=
 =?utf-8?B?ZzlHOWlZTVY5UnB1eVVsUGtjbW5uRmg3Z0FIQ3UwcGY5ZHdSa2V5ODBXaGEr?=
 =?utf-8?B?UnVRZmUvZmxaeGpRUFloVGNvTUptSzFWUEpDZHJDenpRbkZzNTl5WjU4ckpZ?=
 =?utf-8?B?TjhwVUpDalp1VklFS2dFL1ZlMGE3ZGlGRlVZeWFWRldmUWR2Vk9kZlVSSEMz?=
 =?utf-8?B?SUd4WW1pZ0MyTVBWNUdPVkhxOGRMYWE4b2FGUE1HRDh4Ui9pNHFOMWJyYlUx?=
 =?utf-8?B?VUhkT3RCMVhwWDBLNXVhRUtrdzdaTDFzOWpta2RFYTFBekFLUkVINjJBcTdT?=
 =?utf-8?B?eUxsUE1uSGVnQnU4TGRhUnlSNklXNEsyM3NFSFpuaUtTOEMxMkIrOE14UmF3?=
 =?utf-8?B?d25vcFFUdmhOZ0UvSXlNdW5FYUF4cEgwMUI2WG9iSHZ2TkR5SDY3Z2JUYzVD?=
 =?utf-8?B?TTVKOFY4dU9qbmdtMW1iWm9EN1BsU3pzNHZFL1BkMmc5MnorOXVHd2ZuY0FY?=
 =?utf-8?Q?p32mpH/pUWjCUbc0=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: edaaf41f-999d-4f6c-8b1b-08decdf11f44
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 10:54:22.9431
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NpzMxKW0LS5LCFLGmLtph0OJ3CwF4AkmxrckOeTNQwfm4C5TQelA6TRZ/3DvHKbnd94sgMrT7rPnnoBEptqm4n8mIBi+n6Hq5t0JP8diLq0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7780
X-purgate-ID: tlsNG-33051d/1781866467-645CBD84-63F6F455/0/0
X-purgate-type: clean
X-purgate-size: 3530

On 18/06/2026 3:50 pm, Teddy Astie wrote:
> We also take the opportunity to allow the device to exist outside
> of segment 0 (only when specified with pci@ syntax), since it's
> not hardcoded anymore.
>
> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>

$ bloat-o-meter -c xen-syms-{before,after}
add/remove: 0/0 grow/shrink: 0/9 up/down: 0/-560 (-560)
FunctionÂ  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â oldÂ  Â  Â newÂ  Â delta
ehci_dbgp_check_release.coldÂ  Â  Â  Â  Â  Â  Â  Â  Â  72Â  Â  Â  64Â  Â  Â  -8
dbgp_opÂ  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  260Â  Â  Â 244Â  Â  Â -16
ehci_dbgp_init_postirqÂ  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â 121Â  Â  Â  97Â  Â  Â -24
ehci_dbgp_suspendÂ  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â 87Â  Â  Â  62Â  Â  Â -25
ehci_dbgp_resumeÂ  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â 150Â  Â  Â 102Â  Â  Â -48
nvidia_set_debug_portÂ  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  100Â  Â  Â  50Â  Â  Â -50
ehci_dbgp_init_preirqÂ  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  344Â  Â  Â 239Â  Â  -105
ehci_dbgp_setupÂ  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  692Â  Â  Â 568Â  Â  -124
ehci_dbgp_initÂ  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â 778Â  Â  Â 618Â  Â  -160
Total: Before=2016873, After=2016313, chg -0.03%
add/remove: 0/0 grow/shrink: 1/0 up/down: 8/0 (8)
DataÂ  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â oldÂ  Â  Â newÂ  Â delta
ehci_dbgpÂ  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  144Â  Â  Â 152Â  Â  Â  +8
Total: Before=2209383, After=2209391, chg +0.00%


It's a very clear demonstration of how expensive the split parameter
passing is in practice.

> ---
>  xen/drivers/char/ehci-dbgp.c | 71 ++++++++++++------------------------
>  1 file changed, 24 insertions(+), 47 deletions(-)
>
> diff --git a/xen/drivers/char/ehci-dbgp.c b/xen/drivers/char/ehci-dbgp.c
> index a9bf7dbadb..6d0a6c2ef0 100644
> --- a/xen/drivers/char/ehci-dbgp.c
> +++ b/xen/drivers/char/ehci-dbgp.c
> @@ -335,7 +335,8 @@ struct ehci_dbgp {
>      struct timer timer;
>      spinlock_t *lock;
>      bool reset_run;
> -    u8 bus, slot, func, bar;
> +    u8 bar;
> +    pci_sbdf_t sbdf;

This struct is horribly packed, but putting sbdf between lock and
reset_run will pack better than having it here.

> @@ -1009,20 +1008,18 @@ static set_debug_port_t __read_mostly set_debug_port = default_set_debug_port;
>  static void cf_check nvidia_set_debug_port(
>      struct ehci_dbgp *dbgp, unsigned int port)
>  {
> -    uint32_t dword = pci_conf_read32(PCI_SBDF(0, dbgp->bus, dbgp->slot,
> -                                              dbgp->func), 0x74);
> +    uint32_t dword = pci_conf_read32(dbgp->sbdf, 0x74);
>  
>      dword &= ~(0x0f << 12);
>      dword |= (port & 0x0f) << 12;
> -    pci_conf_write32(PCI_SBDF(0, dbgp->bus, dbgp->slot, dbgp->func), 0x74,
> +    pci_conf_write32(dbgp->sbdf, 0x74,
>                       dword);

This can be folded onto one line.

> @@ -1570,8 +1548,7 @@ int dbgp_op(const struct physdev_dbgp_op *op)
>      case PHYSDEVOP_DBGP_BUS_UNKNOWN:
>          break;
>      case PHYSDEVOP_DBGP_BUS_PCI:
> -        if ( op->u.pci.seg || ehci_dbgp.bus != op->u.pci.bus ||
> -            PCI_DEVFN(ehci_dbgp.slot, ehci_dbgp.func) != op->u.pci.devfn )
> +        if ( PCI_SBDF(op->u.pci.seg, op->u.pci.bus, op->u.pci.devfn).sbdf != ehci_dbgp.sbdf.sbdf )
>

This wants wrapping, somehow.

With suitable adjustments, Reviewed-by: Andrew Cooper
<andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 11:23:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 11:23:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342092.1602360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waXJt-0001iQ-TZ; Fri, 19 Jun 2026 11:23:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342092.1602360; Fri, 19 Jun 2026 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 1waXJt-0001iI-Pd; Fri, 19 Jun 2026 11:23:33 +0000
Received: by outflank-mailman (input) for mailman id 1342092;
 Fri, 19 Jun 2026 11:23: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 1waXJs-0001iB-7w
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 11:23: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 1waXJr-00HK8M-2u;
 Fri, 19 Jun 2026 11:23:31 +0000
Received: from [2a02:8012:3a1:0:64fb:259f:710c:56e]
 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 1waXJr-00E1ix-08;
 Fri, 19 Jun 2026 11:23:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=6ixR3Gbg0OYhPGo9p0FQ2fcXyLOXz1i3dxXn1Vk+FMQ=; b=d42WvEGFSaPCZnyYeq12Cr6p2n
	y4rBrqPMEtXAmeAe1D0BffI9+q/GnEQBeg9+JojHvuPj9wH1+sv+raXg1C6c43ioAz4flT9P/Vffz
	my/aW3W4I+t+fwChwTiPhQL6sPC+vfkBXSDsadUp6XTmmtQIGHMWcXMmzZY0WNbec39I=;
Message-ID: <1877ea55-0c8d-4593-a310-259b4c5aef3c@xen.org>
Date: Fri, 19 Jun 2026 12:23:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v2.5] xen/arm: gic: defer host LPI allocation
 until after ITS init
Content-Language: en-GB
To: "Orzel, Michal" <michal.orzel@amd.com>,
 Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Luca Fancellu <luca.fancellu@arm.com>, Mykola Kvach
 <xakep.amatop@gmail.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <112419d3ea48ca328849c8f6647909d3eb667b40.1779922874.git.mykola_kvach@epam.com>
 <341edd8de63dcd84ccc6e7b6c03e9e8fc7105184.1781847061.git.mykola_kvach@epam.com>
 <7a0a1867-8316-4e20-971e-fab99c9f4a32@amd.com>
 <e43afc29-cfbb-4978-9324-e8d540040bfa@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <e43afc29-cfbb-4978-9324-e8d540040bfa@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Michal,

On 19/06/2026 10:48, Orzel, Michal wrote:
> @Oleksii, can we ask for a release ack here?

Can you explain the pros/cons of introducing this patch quite late?

One of the risk here is that we are now initializing the LPIs *after* 
the ITSes. I understand this is because we want to know the workaround. 
However, I vaguely recall that there was a dependency in the 
configuration. So are we confident the new ordering will not bring other 
issues? Ideally this should have been explained in the commit message.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 11:24:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 11:24:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342098.1602368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waXKb-00029y-4p; Fri, 19 Jun 2026 11:24:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342098.1602368; Fri, 19 Jun 2026 11:24:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waXKb-00029r-1T; Fri, 19 Jun 2026 11:24:17 +0000
Received: by outflank-mailman (input) for mailman id 1342098;
 Fri, 19 Jun 2026 11:24:15 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <marmarek@invisiblethingslab.com>) id 1waXKZ-00029h-LY
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 11:24:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waXKY-000pNW-GN
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:24:14 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a3526d7-2eae-0a2a0a5409dd-0a2a45048b18-8
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 13:24:14 +0200
Received: from [103.168.172.150] (helo=fout-a7-smtp.messagingengine.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a3526dc-5f9f-0a2a45040019-67a8ac96dcff-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 13:24:13 +0200
Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45])
 by mailfout.phl.internal (Postfix) with ESMTP id 771D9EC0339
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 07:24:12 -0400 (EDT)
Received: from phl-frontend-03 ([10.202.2.162])
 by phl-compute-05.internal (MEProxy); Fri, 19 Jun 2026 07:24:12 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA for
 <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 07:24:11 -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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Content-Type:Date:From:Message-ID:MIME-Version:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Content-Type:Date:Feedback-ID:From:Message-ID:MIME-Version:Subject:To:X-ME-Proxy:X-ME-Sender"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:content-type:content-type:date:date
	:from:from:in-reply-to:message-id:mime-version:reply-to:subject
	:subject:to:to; s=fm1; t=1781868252; x=1781954652; bh=zS5XY4Wnge
	YAQQqPLIRDFD0gb3iB6q+n6dsttPoG8j8=; b=SBa/I9Oc35rjmx0uADaqLjLqES
	6I6JO9iLLucErpqfggL9wrpQqFVz3mLntOkFIpSBHjfOuYwtmBPxitNCeYKKHRt5
	lxW0sWw5VgObwBW2o1ieFT75DyG+7pHH64o83FtdyyQKP3YzP88sphGzJ2gEBIJ5
	uOTQv9uvKQtyuYFz33ywOeFPXklD0lD81KgdHAkdE/CCps18GzetMYEwcPx5yed4
	TBN8esQGxsMxz7Q5EJEEbMZSFUoff5ThnLMuXxaEb1iY9FyfV9puPGmcawRWQJjB
	VasYQP+og4c8iZFIAaL/Ny6NTJruAl3REYDmsWoFScb+A2Jrx26Q1Zdb1pCA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:message-id
	:mime-version:reply-to:subject:subject:to:to:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1781868252; x=
	1781954652; bh=zS5XY4WngeYAQQqPLIRDFD0gb3iB6q+n6dsttPoG8j8=; b=O
	TPB+k8SFkZoQlQWiKSJOTg7b0EN176Z2KQ7k/O5CccyzqLoT9Uf8PEQkbHFKxLn9
	0DYqXqGifWbCLGmkg6N/6CGl3r8fAU5QPYWG8pIJAWAVeM4IDiOcSsD+pcfjzSmY
	dYyjynNEk9/JHE9INbvSBKiXUWJQli4SriXJwu7PEK55/IgZ2ovm6+FBGl3jSmei
	Pww4MY/e7Mue1ypvxyMzRiGRYK35zJkJFaUTjxCoTckQVNLd1Z/AZUMkRBARKxfh
	1otuE84YWsq0TLkGD64QjxIcJPBfvuIiP2D6hiM45m+hq6pOBMuDOxUfGysgtZBv
	SRQ1ZlD5DXwPSowow+lfA==
X-ME-Sender: <xms:3CY1agElFlWeLu4CjB-xBR4waMcGzcyiglfPYvgmvQdnuRJF0-9kwA>
    <xme:3CY1agS8OMFwncI_xjYPBbt4R7A-yuDP8KHlfWRk_DhPXpsksPb7g-3i4H_upr4bO
    TdoIUnTfXlK9Y56qZvrd2pdshXbRHd8pjeFxnWOt_LGX3iPjA>
X-ME-Received: <xmr:3CY1avwQ5oW3Vc2MwR57qk4cq2Om4Z7LSeF8gabJH0cAXmUgawzlF4_qaPSlh73QWtEYyhCRVjJWmroYWHM5ndKGifApcexTvlA>
X-ME-Proxy-Cause: dmFkZTFh2Pjwc5ELf/Co+v11Ftqc4Hd70+ktu41rMBK8CVwhxaVlfxtv4IoSxgOfyJGH/p
    9GijXhSDNXE3HFbjpLreqPY1mpVJ6xFaFgmGAbS5tg7Fgl+7zH76oabIwcSgMyd6s4Nf4x
    7nBrnzFbGLX1bivCMMO1rtKwh/n1/trjEJELcBc8hWzXqQYeQ5/hZ3TP+Fb1+Q1cCgLSz/
    aoPjrixv+x3ya/Dxn2XDlbnpqWMKuO+tpMPqkdrxMJqItwtR+dHJypvejN+fkO5wtQKqVw
    AiQj+ItsTt8yIv3KKayDOX79DjP/XsBBrQV0Lj3s8anCJSYLVYtMMmD0hCg33+/qayDOAS
    N1kXiZw2bp5KR/OBvoFRIyr7Hz4ZDgWMn2WChHkEY9KWQCa41qR+0edweaLgUenoyqj5QK
    aQGn4WqKsX/OWGJxtJ6RM0IXLV4yRZmJWndzN8ytfNiY+bfKHf7J/BAl1uheEY83jK0WxH
    2DiTZ9BjHHGoxUeBKB0OB7GnKgTAZlUPNPV2Yyz12UrBYqZznHXZuajsJifq37oqdrBVe7
    J4jQIlO2uXS37nhqKQkNz+et06NrndlQHmxaMpIVMgkNNoSjFx5Yxlai6vwvtkB6eNpH6Y
    g8cRy0niJddkIZ4Egf2ORRitRGlnfnFguDasZhaeJSI5BhfAAFg1LcB6IaPA
X-ME-Proxy: <xmx:3CY1anMk_U724azw7qXwnl-b-qtXScDStCnHriYzbsq-b4CWhrZKdg>
    <xmx:3CY1amPMsAUxIU_snoJmUmNKaGunsC0eKrQopG3nrmmt2bKxhbmp_Q>
    <xmx:3CY1ahTl1kqpqYKjP9x4NVf4_-qlI1Riends4LN_Bq4LBxlrwnZCCQ>
    <xmx:3CY1agCLvoSZIuL-zlC2OmFTtZk3lqrDPe9AVYEj93Hvox8wtcQwlw>
    <xmx:3CY1apdumClNH41MEuRU3CNNBpXzZuJRfoqPmmBBkMRYhqV-7bOxfjhA>
Feedback-ID: i1568416f:Fastmail
Date: Fri, 19 Jun 2026 13:24:09 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: domU crash when resuming from suspend - Xen 4.22
Message-ID: <ajUm2SQtMD6Y-K9S@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="oCpGgJ5gAmJQ2dex"
Content-Disposition: inline
X-purgate-ID: tlsNG-ebf023/1781868254-475DC141-482526D4/0/0
X-purgate-type: clean
X-purgate-size: 5563


--oCpGgJ5gAmJQ2dex
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 19 Jun 2026 13:24:09 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: domU crash when resuming from suspend - Xen 4.22

Hi,

I'm continuing testing 4.22 and found this:

When a domU is suspended (even without host suspend) it crashes on
resume with:

    [   24.374629] BUG: kernel NULL pointer dereference, address: 000000000=
0000020
    [   24.374647] #PF: supervisor read access in kernel mode
    [   24.374657] #PF: error_code(0x0000) - not-present page
    [   24.374668] PGD 0 P4D 0=20
    [   24.374675] Oops: Oops: 0000 [#1] SMP NOPTI
    [   24.374685] CPU: 0 UID: 0 PID: 19 Comm: migration/0 Not tainted 6.18=
=2E31-1.qubes.13.fc41.x86_64 #1 PREEMPT(full)=20
    [   24.374705] Stopper: multi_cpu_stop+0x0/0x140 <- __stop_cpus.constpr=
op.0+0x6f/0xb0
    [   24.374723] RIP: 0010:multi_cpu_stop+0x63/0x140
    [   24.374734] Code: 49 0f a3 1c 24 41 0f 92 c6 c7 44 24 04 00 00 00 00=
 31 ed 49 8d 5f 24 eb 2d 41 83 fd 02 74 6e 41 83 fd 03 74 49 f0 ff 0b 75 13=
 <41> 8b 47 20 41 8b 77 10 83 c0 01 41 89 77 24 41 89 47 20 41 83 fd
    [   24.374764] RSP: 0018:ffffc900000abe30 EFLAGS: 00010046
    [   24.374775] RAX: 0000000000000000 RBX: ffffc90000a13de4 RCX: 0000000=
000000404
    [   24.374790] RDX: 0000000000000040 RSI: ffffffffffffffff RDI: 0000000=
000770ef0
    [   24.374801] RBP: 0000000000000002 R08: ffffc900000abc80 R09: ffffc90=
0000abc8c
    [   24.374813] R10: 0000000000000000 R11: ffff88801e81cdc0 R12: fffffff=
f81835ac0
    [   24.374825] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000=
000000000
    [   24.374837] FS:  0000000000000000(0000) GS:ffff88809b369000(0000) kn=
lGS:0000000000000000
    [   24.374850] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [   24.374860] CR2: 0000000000000020 CR3: 000000000d6a2002 CR4: 0000000=
000770ef0
    [   24.374873] PKRU: 00000000
    [   24.374877] Call Trace:
    [   24.374884]  <TASK>
    [   24.374891]  ? __pfx_multi_cpu_stop+0x10/0x10
    [   24.374900]  cpu_stopper_thread+0xa3/0x170
    [   24.374908]  ? __pfx_smpboot_thread_fn+0x10/0x10
    [   24.374917]  smpboot_thread_fn+0xf3/0x220
    [   24.374925]  kthread+0xfc/0x240
    [   24.374933]  ? __pfx_kthread+0x10/0x10
    [   24.374940]  ? __pfx_kthread+0x10/0x10
    [   24.374949]  ret_from_fork+0x158/0x170
    [   24.374957]  ? __pfx_kthread+0x10/0x10
    [   24.374965]  ret_from_fork_asm+0x1a/0x30
    [   24.374973]  </TASK>
    [   24.374978] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd=
_seq_device snd_timer snd soundcore cfg80211 rfkill vfat fat xenfs binfmt_m=
isc nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nf_conn=
track nf_defrag_ipv6 nf_defrag_ipv4 nf_tables intel_rapl_msr intel_rapl_com=
mon intel_uncore_frequency_common intel_pmc_ssram_telemetry intel_vsec poly=
val_clmulni ghash_clmulni_intel xen_netfront xen_privcmd xen_gntdev xen_gnt=
alloc xen_blkback xen_evtchn fuse loop nfnetlink ip_tables overlay xen_blkf=
ront
    [   24.375064] CR2: 0000000000000020
    [   24.375071] ---[ end trace 0000000000000000 ]---
    [   24.375080] RIP: 0010:multi_cpu_stop+0x63/0x140
    [   24.375089] Code: 49 0f a3 1c 24 41 0f 92 c6 c7 44 24 04 00 00 00 00=
 31 ed 49 8d 5f 24 eb 2d 41 83 fd 02 74 6e 41 83 fd 03 74 49 f0 ff 0b 75 13=
 <41> 8b 47 20 41 8b 77 10 83 c0 01 41 89 77 24 41 89 47 20 41 83 fd
    [   24.375115] RSP: 0018:ffffc900000abe30 EFLAGS: 00010046
    [   24.375124] RAX: 0000000000000000 RBX: ffffc90000a13de4 RCX: 0000000=
000000404
    [   24.375142] RDX: 0000000000000040 RSI: ffffffffffffffff RDI: 0000000=
000770ef0
    [   24.375155] RBP: 0000000000000002 R08: ffffc900000abc80 R09: ffffc90=
0000abc8c
    [   24.375170] R10: 0000000000000000 R11: ffff88801e81cdc0 R12: fffffff=
f81835ac0
    [   24.375184] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000=
000000000
    [   24.375200] FS:  0000000000000000(0000) GS:ffff88809b369000(0000) kn=
lGS:0000000000000000
    [   24.375214] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [   24.375226] CR2: 0000000000000020 CR3: 000000000d6a2002 CR4: 0000000=
000770ef0
    [   24.375241] PKRU: 00000000
    [   24.375247] Kernel panic - not syncing: Fatal exception
    [   25.417403] Shutting down cpus with NMI
    [   25.417447] Kernel Offset: disabled

There is no change on the Linux kernel side (neither dom0 nor domU), the
only change is updating Xen 4.19.4 -> 4.22-rc2 (seems to be already
broken on -rc1 too). This happens for both HVM and PVH domains. Haven't
tried PV domU (but dom0 survives host suspend).


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

--oCpGgJ5gAmJQ2dex
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmo1JtkACgkQ24/THMrX
1ywKwAf9GTmqABohaFm34Iacc4tRoShEasxbdPtGG0GCNPpEej3y0X4ArQESx2ZG
BbBoBXEQzL2NLQzCfz61XemlkoIh5HLK2apW/8CO+eHrLuob36oZUnNPy9jrkvN7
BX+juQa1ibOhf1qmWbUQDcd4A5iJKcas/xTiQCJ94U9TO29Garox4kzGuIZU5VgR
L3UziZSD8ggrzQEzBQBnlaE/VdllS2Hw7wwULK4mVhbZU37WWaf1Hb90UC0dzvZq
FEBgGFP7QHKTtdjmgAraqe36JFbIz4Yz4SFJVV/1gcnrET1uYWjofDh8rsH5SIa9
xpSonNlPROOWad5DU4VTwbHKAqKiow==
=08qa
-----END PGP SIGNATURE-----

--oCpGgJ5gAmJQ2dex--


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 11:35:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 11:35:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342110.1602377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waXV1-00043D-3U; Fri, 19 Jun 2026 11:35:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342110.1602377; Fri, 19 Jun 2026 11: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 1waXV1-000436-0Q; Fri, 19 Jun 2026 11:35:03 +0000
Received: by outflank-mailman (input) for mailman id 1342110;
 Fri, 19 Jun 2026 11:35:01 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Michal.Orzel@amd.com>) id 1waXUz-000430-Os
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 11:35:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waXUy-000rgM-KV
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:35:00 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a352955-e002-0a2a0a5209dd-0a2a450cad70-38
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 13:35:00 +0200
Received: from [52.101.201.21]
 (helo=PH7PR06CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a352961-94a4-0a2a450c0019-3465c915b67f-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 13:34:59 +0200
Received: from BN0PR07CA0009.namprd07.prod.outlook.com (2603:10b6:408:141::8)
 by DS0PR12MB7780.namprd12.prod.outlook.com (2603:10b6:8:152::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 11:34:53 +0000
Received: from BN1PEPF0000468C.namprd05.prod.outlook.com
 (2603:10b6:408:141:cafe::e) by BN0PR07CA0009.outlook.office365.com
 (2603:10b6:408:141::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.13 via Frontend Transport; Fri,
 19 Jun 2026 11:34:53 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN1PEPF0000468C.mail.protection.outlook.com (10.167.243.137) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.139.8 via Frontend Transport; Fri, 19 Jun 2026 11:34:53 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Fri, 19 Jun
 2026 06:34:51 -0500
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Fri, 19 Jun
 2026 06:34:51 -0500
Received: from [10.71.196.80] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Fri, 19 Jun 2026 06:34: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=gE11j1TZAp3I9frvAXc4Oo6PPcT6F8keI6SMEA5Og9D7dI5e9T/6xdSDBFKp152Ml5lG0Pn5X+Tb0SH9hu+nFvxJEeS7P2457xz7SHFlSIki6VYrTxXF14cwZhID2b6P4TOO3ZVbLlhH1YR69vPQtRy0gRllZH84BVBF/gleHzDnEtLhX4k/4SdTDc5NGBY0b03jbDT/ebxjdB0pGZLzQNPmhlffKMpN9LwaASqOWrzHr7Kui430gUeANWC7nhZ8B/jqoCs09o/tbrDkJ2U3mB1/HhzcVSptNULSDREAHfW1oJeu/zUn+JXMnyrDNwgm9Azva+IyfkqMjUgjymm+JA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=h1NfvivOeZBUAcQf+iWE0oAvyh/PnP70ZvKIn80R0m4=;
 b=jRV+63DV3+UK9tGOqMXNtBhqNxe0N4LGMcPLxs/tFWP5u+zhOeZritee/y1DgqrR8LQz0oilXXpgkGNUZVLVO4z92IgzxyS+vZpKkG8ImY15jfDzVxzyRFgrrZOe2Fr/8TWpf2GTdDwveGbV+3AH2+aNdjqkLu//TfhFaLwmvlICui/pwjJkvDSPNybXchsIy27yDqeKiG1Og2zxsrsrZXX/DSMnHKajXsFvHsDwIq4zrKYqCHBAIX4BhvY4nlawXaWZeON/RFDRnHUdByJdo3jVs24RKnQp6TYYKxuEFywU2SxYDDJzjh1FNB/TIqRKlKBvfoDYC6X7/ViFVRzrLw==
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=h1NfvivOeZBUAcQf+iWE0oAvyh/PnP70ZvKIn80R0m4=;
 b=oFky7s+c3+C3oioGOs9TwlczlaApWNUjMc4sNBUkkHAdJqADUsc+rHpaO6lP/iul3x+6QlYKb34exuQVKSuZ8MlAdBrpya1Z6X9vjh69Pb47IRTdGvFqpJeJ2WDRLEjHMluYjlGjAKcVvENHrDlMgN+s97cQvH6alz/Ici53pZo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <b47b9bf3-1aa6-41b6-8c7c-48d64cca1c36@amd.com>
Date: Fri, 19 Jun 2026 13:34:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v2.5] xen/arm: gic: defer host LPI allocation
 until after ITS init
To: Julien Grall <julien@xen.org>, Mykola Kvach <mykola_kvach@epam.com>,
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>, Luca Fancellu
	<luca.fancellu@arm.com>, Mykola Kvach <xakep.amatop@gmail.com>, "Oleksandr
 Tyshchenko" <oleksandr_tyshchenko@epam.com>
References: <112419d3ea48ca328849c8f6647909d3eb667b40.1779922874.git.mykola_kvach@epam.com>
 <341edd8de63dcd84ccc6e7b6c03e9e8fc7105184.1781847061.git.mykola_kvach@epam.com>
 <7a0a1867-8316-4e20-971e-fab99c9f4a32@amd.com>
 <e43afc29-cfbb-4978-9324-e8d540040bfa@amd.com>
 <1877ea55-0c8d-4593-a310-259b4c5aef3c@xen.org>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <1877ea55-0c8d-4593-a310-259b4c5aef3c@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF0000468C:EE_|DS0PR12MB7780:EE_
X-MS-Office365-Filtering-Correlation-Id: 52532e6d-d99e-40a7-79e1-08decdf6c823
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|82310400026|1800799024|36860700016|376014|7416014|18002099003|11063799006|22082099003|56012099006|6133799003|4143699003;
X-Microsoft-Antispam-Message-Info:
	TEfyYW2QF95su3M0Y5p9UU/UKia7ebYy5s1lsY5RxHPebFqhnC00l9HV/l0aS5qGPbZ9WB3aa/m3dFxwk1NOSQeBx+gX/6cPC33G1EHSlZt3a5LjspMo9Wo5sXl2NVUe+HdVEt+qBwa7PDTQOmqebOGs41aGJUdBOnmCKSIQ8yZaGdZlGVH+1Hd5ndpJlBmRhBTn0L1ykhdFixQg6uOVZG9gglM38ELkBy67AFCQworWje/EW3WOhoNGFvj4n1AtRKgREfMRcL6rp8uAHXgXb9uqFA5VxIkItyH6iUHj991MrJt64JZAxzEQNAUoMAk2/XjI1G+nFi64lHATXrg609v5qQH0t9fvqMrpqR8CahQlvN7paOiUWYTZ6UzA8Qc3uTLqeeWFd9o3Dg0p2fT1xk9do+IooiIspneTQtu1znAR0RbVuCbNAe4YtRLv2MDAATNt+bhI3s8QC/VK1LTjIgH7UbxvcZI3v7kwFhfBf09lH9hkwQOlxllMOLTADZQ8siO3EMJcavkbustij5obuXPqnKjt3NqXbk9nrzhG5M60BDGqVd96Bv6VLhftv4LO2sgjedue/qWqj+5KxBIOhVfwH3YkGPedDfKWX6N1BI1FWw36gqdfpJZChjQWQSFQZ5T8nEWhR9kpECspz99MtpK/mGzaLVLdPXIRuBUQIHKmh49HFUfoY90z3GmGqCYbOkkGzWpey9DqFHQV7rrKzw==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(23010399003)(82310400026)(1800799024)(36860700016)(376014)(7416014)(18002099003)(11063799006)(22082099003)(56012099006)(6133799003)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	RQNRqV8f0ACjUhYhs4ojAzVkx8lf1eEHQCtdu8IeksK8+scXZwnqXn+8cU3Rnnw0eELqIn9B2199yaqjiD/R83CJy2BjglkMolisqKx966nmq75REqrUOkzItd1hr+mHre0BspqKXDh9UMSePNQJ3quISpKe+4FkQ9JM056Z91eb5VKvslicSdyIBJvDN62ysK5r9wytF50Hx7x9YsIw/5jmlh8V3Tzib8b1S8qVHQtasjouQXlVpqXbNYSEMhq8DhoVg9o4pZzHH3xO8q51rQFGQipfc8Q2m4QqKQw4DiBodbimPVFTLVs0ZiDPIpe4HCdwwN514axWhKpBuB+KkrCrfulbtoGZF1RTXnGXGsxsrXzepbTGCji9q8ut0CAVys5bRovb/ybRDHJK/N5Z7CrJcrc86zoznZobuPEFQbqoPziDoLjjD5d4A5AlFc3F
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 11:34:53.6187
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 52532e6d-d99e-40a7-79e1-08decdf6c823
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF0000468C.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7780
X-purgate-ID: tlsNG-d25034/1781868899-041A5ABF-FD82E595/0/0
X-purgate-type: clean
X-purgate-size: 852



On 19-Jun-26 13:23, Julien Grall wrote:
> Hi Michal,
> 
> On 19/06/2026 10:48, Orzel, Michal wrote:
>> @Oleksii, can we ask for a release ack here?
> 
> Can you explain the pros/cons of introducing this patch quite late?
The advantage is that it fixes the broken LPIs on affected hardware.
The disadvantage is the reordering risk but I don't think there is any issue.

> 
> One of the risk here is that we are now initializing the LPIs *after* 
> the ITSes. I understand this is because we want to know the workaround. 
> However, I vaguely recall that there was a dependency in the 
> configuration. So are we confident the new ordering will not bring other 
> issues? Ideally this should have been explained in the commit message.
gic-v3-its.c never references host LPI state, so ITS init has no dependency on LPIs.

~Michal



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 11:46:55 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 11:46:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342124.1602385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waXgH-0005pL-Um; Fri, 19 Jun 2026 11:46:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342124.1602385; Fri, 19 Jun 2026 11:46: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 1waXgH-0005pE-SC; Fri, 19 Jun 2026 11:46:41 +0000
Received: by outflank-mailman (input) for mailman id 1342124;
 Fri, 19 Jun 2026 11:46:40 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <thuth@redhat.com>) id 1waXgG-0005p8-CE
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 11:46:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waXgE-0074DC-4t
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:46:38 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <thuth@redhat.com>)
 id 6a352c12-2eae-0a2a0a5409dd-0a2a450ac4f4-46
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 13:46:37 +0200
Received: from [170.10.133.124] (helo=us-smtp-delivery-124.mimecast.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <thuth@redhat.com>)
 id 6a352c1c-93a5-0a2a450a0019-aa0a857c7959-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 13:46:37 +0200
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-456-RqXo4HBnMQiB0DNLrD7kpg-1; Fri,
 19 Jun 2026 07:46:32 -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 522C0184556C; Fri, 19 Jun 2026 11:46:31 +0000 (UTC)
Received: from thuth-p1g4.redhat.corp
 (headnet04.pony-001.prod.iad2.dc.redhat.com [10.2.32.116])
 by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP
 id 90D95195604E; Fri, 19 Jun 2026 11:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:content-type:Content-Transfer-Encoding"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1781869596;
	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=zuV9wleDPJXQ4MvGs+4yzuJAS7DRs0hr8UQ5BwqC7Iw=;
	b=hPP2zwXy8MQ5neq2S867fUY/M82SKEZ2I9v+/yWDXLAj/oELOYVcbpgaqV2DdK4jbsJOVS
	BS7eKhhkDUYdBG+0HDB2cFaapIVuXWbseZN3AiiM0S5TBFcjp2c9LmpkzcmK95VFe6vdDJ
	2Mi+aIF5rQqhqXbldcIm8Bi75LIqOWQ=
X-MC-Unique: RqXo4HBnMQiB0DNLrD7kpg-1
X-Mimecast-MFC-AGG-ID: RqXo4HBnMQiB0DNLrD7kpg_1781869591
From: Thomas Huth <thuth@redhat.com>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH] xen: Replace __ASSEMBLY__ with __ASSEMBLER__ in header files
Date: Fri, 19 Jun 2026 13:45:47 +0200
Message-ID: <20260619114547.159637-1-thuth@redhat.com>
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17
X-Mimecast-MFC-PROC-ID: ldhh4FfenNwG1jh2FUlFU_JMjrQtS4TJRapnQBt0Ax8_1781869591
X-Mimecast-Originator: redhat.com
Content-Transfer-Encoding: 8bit
content-type: text/plain; charset="US-ASCII"; x-default=true
X-purgate-ID: tlsNG-4011c0/1781869597-2E1F6DB8-E5156560/0/0
X-purgate-type: clean
X-purgate-size: 2427

From: Thomas Huth <thuth@redhat.com>

While the GCC and Clang compilers already define __ASSEMBLER__
automatically when compiling assembly code, __ASSEMBLY__ is a
macro that only gets defined by the Makefiles in the kernel.
This can be very confusing when switching between userspace
and kernelspace coding, or when dealing with uapi headers that
rather should use __ASSEMBLER__ instead. So let's standardize now
on the __ASSEMBLER__ macro that is provided by the compilers.

This is a completely mechanical patch (done with a simple "sed -i"
statement).

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 Note: This patch has been split from an earlier bigger patch of
 mine to ease reviewing.

 include/xen/interface/xen-mca.h | 4 ++--
 include/xen/interface/xen.h     | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/include/xen/interface/xen-mca.h b/include/xen/interface/xen-mca.h
index 1c9afbe8cc260..8f5815f1d3ab3 100644
--- a/include/xen/interface/xen-mca.h
+++ b/include/xen/interface/xen-mca.h
@@ -50,7 +50,7 @@
 /* OUT: There was no machine check data to fetch. */
 #define XEN_MC_NODATA		0x2
 
-#ifndef __ASSEMBLY__
+#ifndef __ASSEMBLER__
 /* vIRQ injected to Dom0 */
 #define VIRQ_MCA VIRQ_ARCH_0
 
@@ -388,5 +388,5 @@ struct xen_mce_log {
 #define MCE_GET_LOG_LEN      _IOR('M', 2, int)
 #define MCE_GETCLEAR_FLAGS   _IOR('M', 3, int)
 
-#endif /* __ASSEMBLY__ */
+#endif /* __ASSEMBLER__ */
 #endif /* __XEN_PUBLIC_ARCH_X86_MCA_H__ */
diff --git a/include/xen/interface/xen.h b/include/xen/interface/xen.h
index 0ca23eca2a9cc..40c9793e98805 100644
--- a/include/xen/interface/xen.h
+++ b/include/xen/interface/xen.h
@@ -337,7 +337,7 @@
 #define MMUEXT_MARK_SUPER       19
 #define MMUEXT_UNMARK_SUPER     20
 
-#ifndef __ASSEMBLY__
+#ifndef __ASSEMBLER__
 struct mmuext_op {
 	unsigned int cmd;
 	union {
@@ -415,7 +415,7 @@ DEFINE_GUEST_HANDLE_STRUCT(mmuext_op);
 
 #define MAX_VMASST_TYPE 5
 
-#ifndef __ASSEMBLY__
+#ifndef __ASSEMBLER__
 
 typedef uint16_t domid_t;
 
@@ -760,11 +760,11 @@ struct tmem_op {
 
 DEFINE_GUEST_HANDLE(u64);
 
-#else /* __ASSEMBLY__ */
+#else /* __ASSEMBLER__ */
 
 /* In assembly code we cannot use C numeric constant suffixes. */
 #define mk_unsigned_long(x) x
 
-#endif /* !__ASSEMBLY__ */
+#endif /* !__ASSEMBLER__ */
 
 #endif /* __XEN_PUBLIC_XEN_H__ */
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 11:52:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 11:52:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342140.1602395 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waXli-0007YX-Ir; Fri, 19 Jun 2026 11:52:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342140.1602395; Fri, 19 Jun 2026 11:52:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waXli-0007YQ-G5; Fri, 19 Jun 2026 11:52:18 +0000
Received: by outflank-mailman (input) for mailman id 1342140;
 Fri, 19 Jun 2026 11:52: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 1waXlh-0007YK-9S
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 11:52: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 1waXlh-00HKcZ-0B;
 Fri, 19 Jun 2026 11:52:16 +0000
Received: from [2a02:8012:3a1:0:64fb:259f:710c:56e]
 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 1waXlg-00Em03-0i;
 Fri, 19 Jun 2026 11:52: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=j0p6tyyJgc6wIZgKcXu50e8Na08BCCbP/s03z8r2tfY=; b=eK7zK35Kjn+1VBFSO3g1ZrD6Rk
	UdYD8yyHppzYmGZWk7sXTJWp1I4Qc5Rx25Yc2wLKVS+ETEZeuL4+X8W9YOiWa4RneE4F+GC3EBxBY
	0HY4pHE349m6378f1P+K0aAcDvLx8N5pzSc5hRh7SvARi987ORXtIm2UngoUYgYjDcmg=;
Message-ID: <5d3dff74-f51d-4bfc-b917-3c84f2094f34@xen.org>
Date: Fri, 19 Jun 2026 12:52:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v2.5] xen/arm: gic: defer host LPI allocation
 until after ITS init
Content-Language: en-GB
To: "Orzel, Michal" <michal.orzel@amd.com>,
 Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Luca Fancellu <luca.fancellu@arm.com>, Mykola Kvach
 <xakep.amatop@gmail.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <112419d3ea48ca328849c8f6647909d3eb667b40.1779922874.git.mykola_kvach@epam.com>
 <341edd8de63dcd84ccc6e7b6c03e9e8fc7105184.1781847061.git.mykola_kvach@epam.com>
 <7a0a1867-8316-4e20-971e-fab99c9f4a32@amd.com>
 <e43afc29-cfbb-4978-9324-e8d540040bfa@amd.com>
 <1877ea55-0c8d-4593-a310-259b4c5aef3c@xen.org>
 <b47b9bf3-1aa6-41b6-8c7c-48d64cca1c36@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <b47b9bf3-1aa6-41b6-8c7c-48d64cca1c36@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 19/06/2026 12:34, Orzel, Michal wrote:
> 
> 
> On 19-Jun-26 13:23, Julien Grall wrote:
>> Hi Michal,
>>
>> On 19/06/2026 10:48, Orzel, Michal wrote:
>>> @Oleksii, can we ask for a release ack here?
>>
>> Can you explain the pros/cons of introducing this patch quite late?
> The advantage is that it fixes the broken LPIs on affected hardware.

 > The disadvantage is the reordering risk but I don't think there is 
any issue.

See more below.
>>
>> One of the risk here is that we are now initializing the LPIs *after*
>> the ITSes. I understand this is because we want to know the workaround.
>> However, I vaguely recall that there was a dependency in the
>> configuration. So are we confident the new ordering will not bring other
>> issues? Ideally this should have been explained in the commit message.
> gic-v3-its.c never references host LPI state, so ITS init has no dependency on LPIs.

My concern is at the HW level. The ITS is using LPIs. But we will 
configure the ITS first and then the LPIs.

What probaly saves us is the fact gicv3_lpi_init_host_lpis() only seem 
to allocate memory. This is a bit fragile though.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 13:05:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 13:05:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342205.1602475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waYuQ-0002FV-Qe; Fri, 19 Jun 2026 13:05:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342205.1602475; Fri, 19 Jun 2026 13:05:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waYuQ-0002F9-MP; Fri, 19 Jun 2026 13:05:22 +0000
Received: by outflank-mailman (input) for mailman id 1342205;
 Fri, 19 Jun 2026 13:05:21 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1waYuP-0001ty-9a
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:05:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waYuO-002qlM-Mf
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 15:05:20 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e8f-bab6-0a2a0a5309dd-0a2a450cd1de-6
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:20 +0200
Received: from [209.85.221.52] (helo=mail-wr1-f52.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e90-94a4-0a2a450c0019-d155dd34bdf9-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:20 +0200
Received: by mail-wr1-f52.google.com with SMTP id
 ffacd0b85a97d-45fe59255beso1163723f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 06:05:20 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4650bc428d9sm7960088f8f.27.2026.06.19.06.05.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781874320; x=1782479120; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yXzH0W3KjNNVT2/fbradMnP12nKpXvhtoDr3wKrOgVQ=;
        b=FLwa72QNj+LfYEW6VuuKVRRfvYZdlApd0XVX2DE8jY1f7FYLNdHxyVe5vYtMUnEYWp
         pap3RVxPJIJOO+DiPOHuligm8bX8EUG9jgjpBRr0hKUlcvJm5ohXb5w6M0+jiUMaI1Ot
         4uvLh6G0KteIPTeacnbSvz24mYRwu3eCW0vmTEvkNuNgUwbB5crTabPuZuF84P38zVj6
         XvH1/pr5D1mTj4hORCqkXfWJ2AEWslq218kW7v6LsDWOcdZJcH2CqExbPshPyAPeLy7r
         PZdVw3/08+8DEqrjaClbnFWf3KRC6bgxzmp3plPkxUHenXQgl5vMbiEtwkqOwLwG4jEW
         N5qg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781874320; x=1782479120;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=yXzH0W3KjNNVT2/fbradMnP12nKpXvhtoDr3wKrOgVQ=;
        b=W2zyC7ahZiEHwm+qhDVDBrKEtcx+rTYI5Uhyju7p2GZcEmq4CXALC+DzHc8KlM3dbQ
         4bd/J4ZiXFnaqfxzLwGcJT0Px5d7gAescXRdS1D4K7zvtRMU0HZOBW8zmin6eWshSKhH
         GHKXqFrwO2TFG9wuZc3oTSd8HXUwj6Pih5Vgzh+c0Pjccs7tYNkrd7565j8jocvUP6hB
         p8fsaCBFyRJ6tkc1rhPfnngMrn57lcupXOvwgJ1/fe8sIgAzHYOoRAIcUg+8JV6bElu9
         sUNnchv60RjOPzDVfkp4AqmmFxUzoKdhaUKCFM1uOHyr17JSBsGRItEmDBOVm6hoj3BH
         JHlw==
X-Gm-Message-State: AOJu0YzMKEEJDIL/SnsSxVALSsVs3eCGmxdMWiuOWrHayJ3ZbrAb7udW
	Wj/H5y+VHNJI6yzcZPd+wg+Xq57hbsk0Yf67eEuU8YtnwXN9Pqy5qlxbTjMGKp0r10c=
X-Gm-Gg: AfdE7ckV3IshFRbZnSx8Umz+xS8Nw/8hHr7tH3DPyiYMdBB/eaiftfuLCshj36yIgk4
	DMats7+fkAQkytvNAFhRxMRyoT/xGTs57V7rH+/IszO3CWvcBPHAswBD/ok4nTKAEcN0RTrq14w
	2clR0z9wOld19vWqTqwwajSAtzFcDLenvixg7tAqSW6AKPNUlTJRz1kaRAI3lkzVHow3cEjiOi+
	bRZOjqiBMKqYk5eR9Kf7S62fq9lVkOCCU8GZTnlPjiYtNGv6jw0gujenyJY7SPvt7OMcueMfk/2
	Wu4iWTYBcekb+6nPjEmng1EK0R5a9oMsAm5DQM2cZOH29Oh1KPftSMR+FXV6FluF2oXCGyVNTe6
	7Q236Qa2avUYj75QAveLqY1ZnaOU/XP7qOTJXsY0x9FbxaimHaGc/mXhEju/gl8PEl1NSUD8sIy
	nuLAvIQqL+N/Y5xkOy2D6HDUlfQGtl8zqTyJun6ZepZfgyC6e5MUqWPmUbe4mkSV2JLisELUHjX
	nhPM+R9
X-Received: by 2002:a5d:5f96:0:b0:462:6aa1:4393 with SMTP id ffacd0b85a97d-4656d643c3fmr3720824f8f.4.1781874320011;
        Fri, 19 Jun 2026 06:05:20 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v6 08/16] libs/guest: fill directly iov structure
Date: Fri, 19 Jun 2026 14:04:53 +0100
Message-ID: <20260619130501.272832-9-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619130501.272832-1-frediano.ziglio@citrix.com>
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1781874320-DA7E9ABF-3082923D/0/0
X-purgate-type: clean
X-purgate-size: 4544

Instead of storing page pointers into an array and lately adding to
iov vector add the pages directly to iov to avoid "guest_data"
array.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/libs/guest/xg_sr_common.h |  1 -
 tools/libs/guest/xg_sr_save.c   | 64 ++++++++++++---------------------
 2 files changed, 23 insertions(+), 42 deletions(-)

diff --git a/tools/libs/guest/xg_sr_common.h b/tools/libs/guest/xg_sr_common.h
index 95b0564e5c..b2c441b644 100644
--- a/tools/libs/guest/xg_sr_common.h
+++ b/tools/libs/guest/xg_sr_common.h
@@ -214,7 +214,6 @@ struct xc_sr_context_save_buffers
     xen_pfn_t batch_pfns[MAX_BATCH_SIZE];
     xen_pfn_t mfns[MAX_BATCH_SIZE];
     xen_pfn_t types[MAX_BATCH_SIZE];
-    void *guest_data[MAX_BATCH_SIZE];
     void *local_pages[MAX_BATCH_SIZE];
     struct iovec iov[MAX_BATCH_SIZE + 2]; /* Headers + data. */
     uint64_t rec_pfns[MAX_BATCH_SIZE];
diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index 4988d8040b..8a22267fdf 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -88,7 +88,6 @@ static int write_batch(struct xc_sr_context *ctx)
     xc_interface *xch = ctx->xch;
     xen_pfn_t *mfns, *types;
     void *guest_mapping = NULL;
-    void **guest_data;
     void **local_pages;
     int *errors, rc = -1;
     unsigned int i, p, nr_pages = 0, nr_pages_mapped = 0;
@@ -113,9 +112,6 @@ static int write_batch(struct xc_sr_context *ctx)
     types = ctx->save.buffers->types;
     /* Errors from attempting to map the gfns. */
     errors = ctx->save.buffers->errors;
-    /* Pointers to page data to send.  Mapped gfns or local allocations. */
-    guest_data = ctx->save.buffers->guest_data;
-    memset(guest_data, 0, sizeof(*guest_data) * nr_pfns);
     /* Pointers to locally allocated pages.  Need freeing. */
     local_pages = ctx->save.buffers->local_pages;
     memset(local_pages, 0, sizeof(*local_pages) * nr_pfns);
@@ -158,6 +154,19 @@ static int write_batch(struct xc_sr_context *ctx)
         mfns[nr_pages++] = mfns[i];
     }
 
+    hdrs.rec.length = sizeof(hdrs.page_data);
+    hdrs.rec.length += nr_pfns * sizeof(*rec_pfns);
+
+    hdrs.page_data.count = nr_pfns;
+
+    iov[0].iov_base = &hdrs;
+    iov[0].iov_len = sizeof(hdrs);
+
+    iov[1].iov_base = rec_pfns;
+    iov[1].iov_len = nr_pfns * sizeof(*rec_pfns);
+
+    iovcnt = 2;
+
     if ( nr_pages > 0 )
     {
         guest_mapping = xenforeignmemory_map(
@@ -199,61 +208,34 @@ static int write_batch(struct xc_sr_context *ctx)
                 else
                     goto err;
             }
+            else if ( iov[iovcnt - 1].iov_base + iov[iovcnt - 1].iov_len !=
+                      page )
+            {
+                iov[iovcnt].iov_base = page;
+                iov[iovcnt].iov_len = PAGE_SIZE;
+                iovcnt++;
+            }
             else
-                guest_data[i] = page;
+            {
+                iov[iovcnt - 1].iov_len += PAGE_SIZE;
+            }
 
             rc = -1;
             ++p;
         }
     }
 
-    hdrs.rec.length = sizeof(hdrs.page_data);
-    hdrs.rec.length += nr_pfns * sizeof(*rec_pfns);
     hdrs.rec.length += nr_pages * PAGE_SIZE;
 
-    hdrs.page_data.count = nr_pfns;
-
     for ( i = 0; i < nr_pfns; ++i )
         rec_pfns[i] = ((uint64_t)(types[i]) << 32) | ctx->save.batch_pfns[i];
 
-    iov[0].iov_base = &hdrs;
-    iov[0].iov_len = sizeof(hdrs);
-
-    iov[1].iov_base = rec_pfns;
-    iov[1].iov_len = nr_pfns * sizeof(*rec_pfns);
-
-    iovcnt = 2;
-
-    if ( nr_pages )
-    {
-        for ( i = 0; i < nr_pfns; ++i )
-        {
-            if ( !guest_data[i] )
-                continue;
-
-            if ( iov[iovcnt - 1].iov_base + iov[iovcnt - 1].iov_len !=
-                 guest_data[i] )
-            {
-                iov[iovcnt].iov_base = guest_data[i];
-                iov[iovcnt].iov_len = PAGE_SIZE;
-                iovcnt++;
-            }
-            else
-            {
-                iov[iovcnt - 1].iov_len += PAGE_SIZE;
-            }
-            --nr_pages;
-        }
-    }
-
     if ( writev_exact(ctx->fd, iov, iovcnt) )
     {
         PERROR("Failed to write page data to stream");
         goto err;
     }
 
-    /* Sanity check we have sent all the pages we expected to. */
-    assert(nr_pages == 0);
     rc = ctx->save.nr_batch_pfns = 0;
 
  err:
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 13:05:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 13:05:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342200.1602432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waYuL-00015B-Aa; Fri, 19 Jun 2026 13:05:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342200.1602432; Fri, 19 Jun 2026 13: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 1waYuL-000150-5w; Fri, 19 Jun 2026 13:05:17 +0000
Received: by outflank-mailman (input) for mailman id 1342200;
 Fri, 19 Jun 2026 13:05:15 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1waYuJ-0000ko-Mz
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:05:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waYuJ-002qjr-3j
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 15:05:15 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e83-5cb7-0a2a0a5109dd-0a2a45059ba6-46
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:15 +0200
Received: from [209.85.221.50] (helo=mail-wr1-f50.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e8a-ef3d-0a2a45050019-d155dd32b062-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:15 +0200
Received: by mail-wr1-f50.google.com with SMTP id
 ffacd0b85a97d-4633193af19so1587922f8f.2
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 06:05:15 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4650bc428d9sm7960088f8f.27.2026.06.19.06.05.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Jun 2026 06:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781874314; x=1782479114; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=YoUZP7EcTD3rMLem/j1Uq6cYO1SbjM2Ab1ems5g9aQQ=;
        b=gDrtqXYS9JD8WO7AefvaC6RIA1OQ+4djOF+Ysp6NwaiGn2NQXjcClwJise1zdMCgj8
         1BKwSLsSXrbjqzkdCxpkphja63gg0Zt2TYgR2iHYA0cWrLrzCVxAwkhCLXdJ2AflE7L2
         RDHh7ZIzXI57+eyYCfGgbAWJekpW6T5fOBmu+2eA5QcyDtGShJH9mi3cQ4OmJvWgLs1Q
         L4MfZiUmkiAEqqkPjmshyyH3SEuNCx/UFxwqsQfy+LcPXJKQ2bRRRRjNkASv+edsr9Bg
         NjXyf+3k34p1w2xVuL9/OF2MX8iMgFXyEX1cgli/CbX7mc8PyOEaoQh49otFonDcFz0i
         i7Aw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781874314; x=1782479114;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=YoUZP7EcTD3rMLem/j1Uq6cYO1SbjM2Ab1ems5g9aQQ=;
        b=CwdzG5/ws97yexHhXIvm3jyMVranlQMNppqZvJyuJltrKbO0FbvqEjg5MZuSVRD5vE
         b+4b9PUQr3dvz4Bt74HjPApw1Y+6TBVsniqDt0swi7kXqBSnn3clpBGDmyrWWvexLNcC
         vJvS9KIjQabxJGXe04Y54Ymclils2eeLBUO9zXI2U+sSeBn1NHfmXidcxNdfAzIjAtSk
         6gnmqGXtcnJcHqpWOZrLyLI1I8ldqTwkM4FN3rZj1PDr5KIOvqZZbFzW44oH9vzHJL6F
         MLJdfBtOty3kt2mAVto/3uya0asMoy9ncgCeF2VArYiZeKKO0qZcy8cnyp4W29Gx02dI
         uJBQ==
X-Gm-Message-State: AOJu0Yy2is9VDBF86Nc0fbLM9DcXZ4Ej36HNlfJdofFo06x+0O3grOgU
	kJUx9uyoUYwp3Ky6a02WlO2SaUUQwGhagRZ7+xne3N80ocNTTRLLqXsWilrTxTUfnkc=
X-Gm-Gg: AfdE7ck5Qwr7JMn0WKWFoKk0daM41B2h3d0NsrBj8nc8h3X3UP1YVp7QVrQgs1bZmwt
	ZVtsNIvUKIwlMPTNw6ByDNV33jSRwsQ6guUm20fx5fl5vUmWd3vP8dJAjMVh+ndf3EPhv3GSl71
	cXN76iIEJR69622p5g/dQ0OHd0Iz4J9jFP0XWnkPCB1WEBupoF95HETmPi0r5lGhnM3N962Y7kZ
	T8lTYSGJZ/mPpyloHWgAjLXMG9t5gECOi6W4hkK4n5NhQ+kWomT+jjl7k2wmYuJDzjWDpawRmN4
	tvg70ctHyiIKD1KQBaahI1OieUluToyL0WMIw8dn0uf9N/WiXasB3LhgCj+IDuSDvxMDFd2s5mw
	TI6ZqDT/k+hZHp1JZEmVqo1p9aN9CjeNYHGZRr9Obv1qWBbXHSK5ZiGf/GyPWIiGHxK5353GPVf
	2K3ZqYsmiKwI3o4lo9vS8FBLfPtvMWdzQh7ujm9wIRReuSZ6p7UESqtAMQCLOwIW5XxsPVNGWBW
	mOlgrG5
X-Received: by 2002:adf:f9c4:0:b0:45e:edc8:d440 with SMTP id ffacd0b85a97d-464ffa95327mr4426620f8f.1.1781874314412;
        Fri, 19 Jun 2026 06:05:14 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v6 03/16] libs/guest: Reduce number of I/O vectors in write_batch
Date: Fri, 19 Jun 2026 14:04:48 +0100
Message-ID: <20260619130501.272832-4-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619130501.272832-1-frediano.ziglio@citrix.com>
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1781874315-F55C7127-4A357F92/0/0
X-purgate-type: clean
X-purgate-size: 1555

Each page was sent using a different iovec item. This potentially exceed
Linux maximum (1024).
Coalesce adjacent IO vector elements to attempt to reduce the number of
overall IO vectors for each operation.
Also some implementation (MiniOS) emulate writev with multiple write calls.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
--
Changes since v2:
- change prefix in subject.

Changes since v4:
- added Reviewed-by;
- improved commit message;
- minor style fix.
---
 tools/libs/guest/xg_sr_save.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index 68ce1aeb98..eba33f861a 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -239,13 +239,21 @@ static int write_batch(struct xc_sr_context *ctx)
     {
         for ( i = 0; i < nr_pfns; ++i )
         {
-            if ( guest_data[i] )
+            if ( !guest_data[i] )
+                continue;
+
+            if ( iov[iovcnt - 1].iov_base + iov[iovcnt - 1].iov_len !=
+                 guest_data[i] )
             {
                 iov[iovcnt].iov_base = guest_data[i];
                 iov[iovcnt].iov_len = PAGE_SIZE;
                 iovcnt++;
-                --nr_pages;
             }
+            else
+            {
+                iov[iovcnt - 1].iov_len += PAGE_SIZE;
+            }
+            --nr_pages;
         }
     }
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 13:05:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 13:05:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342203.1602454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waYuO-0001Zl-4s; Fri, 19 Jun 2026 13:05:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342203.1602454; Fri, 19 Jun 2026 13:05:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waYuN-0001Z9-TJ; Fri, 19 Jun 2026 13:05:19 +0000
Received: by outflank-mailman (input) for mailman id 1342203;
 Fri, 19 Jun 2026 13:05:18 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1waYuM-0001IY-IX
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:05:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waYuL-00D4ah-VO
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 15:05:17 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e89-2eae-0a2a0a5409dd-0a2a450ba98e-20
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:17 +0200
Received: from [209.85.218.51] (helo=mail-ej1-f51.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e8d-5e53-0a2a450b0019-d155da33d157-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:17 +0200
Received: by mail-ej1-f51.google.com with SMTP id
 a640c23a62f3a-bf046d4da1fso238465566b.3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 06:05:17 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4650bc428d9sm7960088f8f.27.2026.06.19.06.05.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Jun 2026 06:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781874317; x=1782479117; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LON6WS/7+ITaf2v0md0IGTaQ3vNjQONNtUw2wlhSSko=;
        b=Dm5jFFQVU/eqX19fhC+wCPrEtf4W8zqXGuZ9Cm5aWsyPEJDfgfWO82XN1bLMqrTFTl
         PDbKTql8gX42EngAIccDxbaKUDs1eWQnoefr+fEvuoN5ljcWKgBkRdiG22Mkzwqy1IPN
         u/j8WgAgn9sbiyyA5qlk9b279JjtQRz66VMH6igHA0Ap4ro+KvphSbBYf4Hj0Q14Veas
         kh9AIkjTBwGe6LywNQSVYZKFymc7EWQTU5mpmijLP/B+HUX4SpMtlcWMi/ry92mAJhwS
         7GsjiCfKNRcXpK5io6xYLPe4QK7EbM7bC/0j3FYrVL+7EOQrkc1viwDPBy/jdv2v6hV+
         ByLA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781874317; x=1782479117;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=LON6WS/7+ITaf2v0md0IGTaQ3vNjQONNtUw2wlhSSko=;
        b=DOXUuL9igFzyN/yMxKeZa3lQHMVvLte0KEveQMKymCijxd9/j8KGIHOavtw0znnFI8
         zq7JkSsphJLzl2k5w13i5b0TnENBq6Dnngh/8eT2d5/L4K7av2ChlDrjjDkvdt/JDWSu
         ESJoGSKZnlAcSpHHcGdVd/3p9skUTcEm9sd89P5PsitdQHqyKzOcQeECwEJR0lok7Axq
         LH0GVlxsDhFyHh/btjygtFqznItnFiMDeN7FCKAVzSGbv9meDApmhrsGOUl5DhScDlPT
         6UV8NMkAZOUUM7zzYX9r2KTi3vltRCUuiTe2mb3usz14nlwpIRsOnc84mddZZk+iQUXO
         tscg==
X-Gm-Message-State: AOJu0YyXug9FrIqMBqdcXhm6w/PFyu4M99mbcUfdqe9mWU88gh63bDIt
	8B9gk/VYJ0GMswxLeJN11g5xpXdEx4ew7ZHLclqfz4bGSg7L7KTEGvPmjR5kJ37CFOo=
X-Gm-Gg: AfdE7cnOWngltfRQCBPquYKCtOKq1CRiRlDF25d8s2BdiQpSad4e83pwcXMrqIQQdTJ
	4VWsb3b7khkujy0oekF8xVKZMV1JljXQogHuEQKdqJQWPE7661Z8Sv7gMvIJRoWdrBJj/3cjw3c
	7mnUTb/MimpwbF+tIVE6aznMi6GDqZrhNGnl3YxNvCBEPkksEHUp4J3VTKtBJzdgz6LiGG/Pmi5
	/U1gld8e37OeIZTYZo64sKusunpdwlwcVebaChF3OSYXbD5OP3dygY/hfPoby73fCh2EAzeY8Pz
	t4DPScLPU5a/agtcJVtXrz6hx3vAzW7i7JOPXctNjw7Us8GWTLaP3IL8Ej87eMuiQiRUR8P+lny
	ynpL3Zs2hXUnkDkEspiSYylAbKYQEBAZdjs1QoOb6SF+69QrvSum+upQlpTthJBWssnGNLGi1ch
	26pQW52/MoSrnuZ8Mw/XEIVJS1Dy8Z5ePsA02xzmwS09kc+XXL/pt2zgwRXHW4GAm6JhI/wkKJA
	Agb5GRu
X-Received: by 2002:a17:907:c01c:b0:bec:687f:6603 with SMTP id a640c23a62f3a-c097c0af677mr190225066b.28.1781874317370;
        Fri, 19 Jun 2026 06:05:17 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edwin.torok@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v6 06/16] libs/call: cache up to 4 pages in hypercall bounce buffers
Date: Fri, 19 Jun 2026 14:04:51 +0100
Message-ID: <20260619130501.272832-7-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619130501.272832-1-frediano.ziglio@citrix.com>
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1781874317-47BEF00E-F9EDC5F9/0/0
X-purgate-type: clean
X-purgate-size: 5352

From: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>

During migration there are a lot of mmap/munmap calls,
because `xc_get_pfn_type_batch` exceeds the default hypercall bounce
buffer cache size, and needs to allocate every time it is called.

`munmap` is slow, especially in a PV Dom0 (takes an emulation fault),
so is best avoided.

Eventually it'd be good if the memory pool from  xmalloc_tlsf.c
was reused here, but for now make it handle the commonly encountered
sizes (so far up to 4 pages).

Signed-off-by: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v2:
- change prefix in subject.

Changes since v4:
- fix off-by-one bug.

Changes since v5:
- avoids potential buffer underflow if nr_pages is 0 calling cache_alloc.
---
 tools/libs/call/buffer.c  | 31 ++++++++++++++++++++-----------
 tools/libs/call/core.c    |  3 ++-
 tools/libs/call/private.h |  8 +++++---
 3 files changed, 27 insertions(+), 15 deletions(-)

diff --git a/tools/libs/call/buffer.c b/tools/libs/call/buffer.c
index 155e4f9d43..2f0515c273 100644
--- a/tools/libs/call/buffer.c
+++ b/tools/libs/call/buffer.c
@@ -49,6 +49,9 @@ static void *cache_alloc(xencall_handle *xcall, size_t nr_pages)
 {
     void *p = NULL;
 
+    if ( nr_pages == 0 )
+        return NULL;
+
     cache_lock(xcall);
 
     xcall->buffer_total_allocations++;
@@ -56,13 +59,13 @@ static void *cache_alloc(xencall_handle *xcall, size_t nr_pages)
     if ( xcall->buffer_current_allocations > xcall->buffer_maximum_allocations )
         xcall->buffer_maximum_allocations = xcall->buffer_current_allocations;
 
-    if ( nr_pages > 1 )
+    if ( nr_pages > ARRAY_SIZE(xcall->buffer_cache) )
     {
         xcall->buffer_cache_toobig++;
     }
-    else if ( xcall->buffer_cache_nr > 0 )
+    else if ( xcall->buffer_cache_nr[nr_pages-1] > 0 )
     {
-        p = xcall->buffer_cache[--xcall->buffer_cache_nr];
+        p = xcall->buffer_cache[nr_pages-1][--xcall->buffer_cache_nr[nr_pages-1]];
         xcall->buffer_cache_hits++;
     }
     else
@@ -84,10 +87,10 @@ static int cache_free(xencall_handle *xcall, void *p, size_t nr_pages)
     xcall->buffer_total_releases++;
     xcall->buffer_current_allocations--;
 
-    if ( nr_pages == 1 &&
-         xcall->buffer_cache_nr < BUFFER_CACHE_SIZE )
+    if ( nr_pages && nr_pages <= ARRAY_SIZE(xcall->buffer_cache) &&
+         xcall->buffer_cache_nr[nr_pages-1] < BUFFER_CACHE_SIZE )
     {
-        xcall->buffer_cache[xcall->buffer_cache_nr++] = p;
+        xcall->buffer_cache[nr_pages-1][xcall->buffer_cache_nr[nr_pages-1]++] = p;
         rc = 1;
     }
 
@@ -108,17 +111,23 @@ void buffer_release_cache(xencall_handle *xcall)
     DBGPRINTF("current allocations:%d maximum allocations:%d",
               xcall->buffer_current_allocations,
               xcall->buffer_maximum_allocations);
-    DBGPRINTF("cache current size:%d",
-              xcall->buffer_cache_nr);
+    for ( unsigned i = 0; i < ARRAY_SIZE(xcall->buffer_cache_nr); ++i )
+    {
+        DBGPRINTF("cache current size[%u pages]:%d", i+1,
+                xcall->buffer_cache_nr[i]);
+    }
     DBGPRINTF("cache hits:%d misses:%d toobig:%d",
               xcall->buffer_cache_hits,
               xcall->buffer_cache_misses,
               xcall->buffer_cache_toobig);
 
-    while ( xcall->buffer_cache_nr > 0 )
+    for ( unsigned i = 0; i < ARRAY_SIZE(xcall->buffer_cache_nr); ++i )
     {
-        p = xcall->buffer_cache[--xcall->buffer_cache_nr];
-        osdep_free_pages(xcall, p, 1);
+        while ( xcall->buffer_cache_nr[i] > 0 )
+        {
+            p = xcall->buffer_cache[i][--xcall->buffer_cache_nr[i]];
+            osdep_free_pages(xcall, p, i + 1);
+        }
     }
 
     cache_unlock(xcall);
diff --git a/tools/libs/call/core.c b/tools/libs/call/core.c
index 02c4f8e1ae..dd8877c1a0 100644
--- a/tools/libs/call/core.c
+++ b/tools/libs/call/core.c
@@ -14,6 +14,7 @@
  */
 
 #include <stdlib.h>
+#include <string.h>
 
 #include "private.h"
 
@@ -44,7 +45,7 @@ xencall_handle *xencall_open(xentoollog_logger *logger, unsigned open_flags)
     xentoolcore__register_active_handle(&xcall->tc_ah);
 
     xcall->flags = open_flags;
-    xcall->buffer_cache_nr = 0;
+    memset(xcall->buffer_cache_nr, 0, sizeof(xcall->buffer_cache_nr));
 
     xcall->buffer_total_allocations = 0;
     xcall->buffer_total_releases = 0;
diff --git a/tools/libs/call/private.h b/tools/libs/call/private.h
index 9c3aa432ef..8e6a208975 100644
--- a/tools/libs/call/private.h
+++ b/tools/libs/call/private.h
@@ -31,13 +31,15 @@ struct xencall_handle {
     Xentoolcore__Active_Handle tc_ah;
 
     /*
-     * A simple cache of unused, single page, hypercall buffers
+     * A simple cache of unused, small, hypercall buffers
+     * buffer_cache[i]'s size is (i+1) pages
      *
      * Protected by a global lock.
      */
 #define BUFFER_CACHE_SIZE 4
-    int buffer_cache_nr;
-    void *buffer_cache[BUFFER_CACHE_SIZE];
+#define BUFFER_CACHE_NRPAGES 4
+    int buffer_cache_nr[BUFFER_CACHE_NRPAGES];
+    void *buffer_cache[BUFFER_CACHE_NRPAGES][BUFFER_CACHE_SIZE];
 
     /*
      * Hypercall buffer statistics. All protected by the global
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 13:05:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 13:05:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342201.1602440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waYuM-0001Ib-FF; Fri, 19 Jun 2026 13:05:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342201.1602440; Fri, 19 Jun 2026 13:05: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 1waYuM-0001IP-Bj; Fri, 19 Jun 2026 13:05:18 +0000
Received: by outflank-mailman (input) for mailman id 1342201;
 Fri, 19 Jun 2026 13:05:16 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1waYuK-00010L-QY
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:05:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waYuK-002SWY-7E
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 15:05:16 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e81-e002-0a2a0a5209dd-0a2a450cb548-30
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:16 +0200
Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e8c-94a4-0a2a450c0019-d1558036a8d0-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:16 +0200
Received: by mail-wm1-f54.google.com with SMTP id
 5b1f17b1804b1-490b8ac62baso30805015e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 06:05:16 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4650bc428d9sm7960088f8f.27.2026.06.19.06.05.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Jun 2026 06:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781874316; x=1782479116; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qiBtoR80avPCt1Z1nhixmjeXxAuRwAb8Srdl+oua2xY=;
        b=RRVipjTU7RYi/Ez12IBJ7rRmLwtoz8Z8zGgAv0jVbxt1y0obdx7037lkq28051VvI4
         pvGWJp4rW6Gix9noY6qBhwyVgK+JBJwYAcju1zg3Y+T9cmEMd8fJEaMu1O8TqyI+ULQ7
         UWeaAFTT+pz+9zbbRi3bgu6/iz+rYgmKfmvCM4bnFpPuyiajeQMkKPRZSp+hfAGrmiOE
         N7N4IOPM4u/n0abi+8NsxjCj4ebLy80LzPXY85AvN6wGXkH3KDrBtNaT4yYNpmCZvtZY
         fRAP0GZU9TJGi03kIjI/obSOa+AvDU/1IPI54wcv2KptrfPsxlrSZRqsFN7DfrYIl4gM
         HZAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781874316; x=1782479116;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=qiBtoR80avPCt1Z1nhixmjeXxAuRwAb8Srdl+oua2xY=;
        b=PRxWGHJS6izsb+7yfcGYisx3UA5w1a5HciMmXJEk9Nl7EzqV7y6N+IKYLI96/LU1CD
         /zmtlj42V2NUx0MFJykqeTrx57ncz/wJA5bXjsZ1N4/YDKEmfXYYMa/3sOG2grjR5h6u
         zn+fUUvtIqF14gW7t/bWGkw9HWLXHoijVJgnQMDJRmv/ixw2IUbOCLSQFMJkjKrYa8rH
         62hnkSiFVHeUMbE0xE0hJuijH0BKf8LVDGklz5dB9tyvIX3iQd3DpoesXrv0bpnELNiv
         eyQi6i0AinFnbbhJQrgY826/vlSI/1/+WO+E39pA0vbtAnRvzGtoW5+63WBPgP3bGQaL
         l2uA==
X-Gm-Message-State: AOJu0YwIPTyqFdFL3lydK7eu6EEDDiwMLlSxGGAzM7pVhKMul/j7N1+z
	xYxv1lrOPrdJGVl9Np5o6J8Q8zE444R463JGFpQ+EtRq5W7YFfxEUcwq2e/FyNe1vLg=
X-Gm-Gg: AfdE7ck4hAwddxVgXwcMACLGTGzTqTnNlhd58G+NYLSuOYKw8oeO2aJYUYFEFSJxvVd
	gtYs5PLxpEQ8VUFVMPgmqaRFWzsTcFce5N0YPRHyj0BBd4IHgnNW3rFCzNjc2vUCFnzqHhCsERj
	D6oviK7sqgvDKAewSgShTOOZgabFtIeXypbgrH+QjIi4w202zswn6jfrE565nUKVoAHKlhULVsm
	5STQZVXm1jD3FG7EWzPmFNND8WyeyCyUG5V+dK15X+VZKnCq2JdwSyw69z1hlS015m/Bsz7q4uu
	O3hu2oYv/kDZDVeNoAqzA4FK9iU/rc4vXJa0n7BXWV0JLZR322NhrGMMgsKagoLwwvnXThYdFMC
	he8HYWJ55IsYn1/l+6grZ4s36/4bEOzPVS2i1OPJYgdgxWopxvX5RPDFlX6CAR9kJQh474UK37q
	hADwlgbFFy2nF0Hgqs0G1TJPkE+DJrLA8PSN7wTZNSEYXTbjCtppfdaRhlUZgb8Cg9T8FgqoxjL
	UXXHyC0
X-Received: by 2002:a05:600c:c04b:10b0:492:2ffd:8a74 with SMTP id 5b1f17b1804b1-49240a38ba5mr37619195e9.12.1781874315336;
        Fri, 19 Jun 2026 06:05:15 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v6 04/16] libs/guest: Use a single write_exact in write_headers
Date: Fri, 19 Jun 2026 14:04:49 +0100
Message-ID: <20260619130501.272832-5-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619130501.272832-1-frediano.ziglio@citrix.com>
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1781874316-D85F8ABF-855B8CF3/0/0
X-purgate-type: clean
X-purgate-size: 2400

Reduce number of syscalls by coalescing the image and the domain headers
into a single I/O vector array.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
--
Changes since v2:
- change prefix in subject.

Changes since v4:
- added Reviewed-by;
- improved commit message.
---
 tools/libs/guest/xg_sr_save.c | 37 +++++++++++++++++------------------
 1 file changed, 18 insertions(+), 19 deletions(-)

diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index eba33f861a..8c31f9f86c 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -10,17 +10,22 @@ static int write_headers(struct xc_sr_context *ctx, uint16_t guest_type)
 {
     xc_interface *xch = ctx->xch;
     int32_t xen_version = xc_version(xch, XENVER_version, NULL);
-    struct xc_sr_ihdr ihdr = {
-        .marker  = IHDR_MARKER,
-        .id      = htonl(IHDR_ID),
-        .version = htonl(3),
-        .options = htons(IHDR_OPT_LITTLE_ENDIAN),
-    };
-    struct xc_sr_dhdr dhdr = {
-        .type       = guest_type,
-        .page_shift = XC_PAGE_SHIFT,
-        .xen_major  = (xen_version >> 16) & 0xffff,
-        .xen_minor  = (xen_version)       & 0xffff,
+    struct {
+        struct xc_sr_ihdr ihdr;
+        struct xc_sr_dhdr dhdr;
+    } hdrs = {
+        {
+            .marker  = IHDR_MARKER,
+            .id      = htonl(IHDR_ID),
+            .version = htonl(3),
+            .options = htons(IHDR_OPT_LITTLE_ENDIAN),
+        },
+        {
+            .type       = guest_type,
+            .page_shift = XC_PAGE_SHIFT,
+            .xen_major  = (xen_version >> 16) & 0xffff,
+            .xen_minor  = (xen_version)       & 0xffff,
+        },
     };
 
     if ( xen_version < 0 )
@@ -29,15 +34,9 @@ static int write_headers(struct xc_sr_context *ctx, uint16_t guest_type)
         return -1;
     }
 
-    if ( write_exact(ctx->fd, &ihdr, sizeof(ihdr)) )
-    {
-        PERROR("Unable to write Image Header to stream");
-        return -1;
-    }
-
-    if ( write_exact(ctx->fd, &dhdr, sizeof(dhdr)) )
+    if ( write_exact(ctx->fd, &hdrs, sizeof(hdrs)) )
     {
-        PERROR("Unable to write Domain Header to stream");
+        PERROR("Unable to write Headers to stream");
         return -1;
     }
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 13:05:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 13:05:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342199.1602421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waYuK-0000s3-21; Fri, 19 Jun 2026 13:05:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342199.1602421; Fri, 19 Jun 2026 13: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 1waYuJ-0000rw-Vo; Fri, 19 Jun 2026 13:05:15 +0000
Received: by outflank-mailman (input) for mailman id 1342199;
 Fri, 19 Jun 2026 13:05:15 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1waYuI-0000Uh-Ud
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:05:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waYuI-00D4ah-BQ
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 15:05:14 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e89-2eae-0a2a0a5409dd-0a2a450ba98e-2
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:14 +0200
Received: from [209.85.221.43] (helo=mail-wr1-f43.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e8a-5e53-0a2a450b0019-d155dd2bc807-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:14 +0200
Received: by mail-wr1-f43.google.com with SMTP id
 ffacd0b85a97d-45f3cf907ceso1063197f8f.2
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 06:05:14 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4650bc428d9sm7960088f8f.27.2026.06.19.06.05.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Jun 2026 06:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781874314; x=1782479114; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KRsqYy5FIagth3/bGJe2ZNcz/9luhK+GkHhdLVALu50=;
        b=T3QGMsHtEAeaBPGJ5cPRb3HtTnEY8GXodqE4MMKEiLV9ETuolHi2aMQWk7I+4aiGsR
         tPWVNr/4ImgYypc6LVeze3gMKH0uvJ2AGKPAITt0NTLC1sVAa9DCtEfNiG+vp4AuB98Q
         nHqI4xeLFO5jzoW4cGiTs7KF3h5ka7gUYDVBdwu3rgprdRbuaCLxwk95DLUW0g4uPn9R
         MdnPTO+FOUK96wYeFh5EBfpEY5enH+oRKrOaNt2v9pN+SXSND9YpU+VcSA5kojARGhy3
         E9xIJKOMMvs5bcZNLNY9QXFMj5K83kNrrSMv8LRSlmE+DR1c8zcrQovT871GECLQrZCs
         R4JA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781874314; x=1782479114;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=KRsqYy5FIagth3/bGJe2ZNcz/9luhK+GkHhdLVALu50=;
        b=ZwDDoHaNyaHmBwJk43UJMBNtjDQ8As9L+t3Bp1CobUk/d6pWF3poDXD2COGr1wOXNs
         ygPEzbLd1kvKIA1dqzs2nQtjScYS7NqyPSdScFJJ3z5aBFpq5w7hg3AlYjC/X55N6fNT
         EF15CDh0wL+YwUnnHSqQqKJhijERQh1LbogJoO0iqpTUq9KYvxQ4S+VZjEZEkD7T4Hgc
         1vQAQTsdnqaX7McV0FiAuM2o2NCSdBo1/Qadw+6YqaQmAXh3qFhgmDKqLGDwu9M5xMG9
         1H4loOcludX0G4wgODw29VCjU+2Ipkr6FOkuazS5UJKOJKeP29+ysu8eOl4lDTEJPoGH
         tgrw==
X-Gm-Message-State: AOJu0Yw7s2MeeSq58KFnVn0BzMsJC4XgsF4qtQwCZVE6hHM3gUNHgHq8
	UUrZe7wiuFm/bwp84wF7wPTtLQXoRe5qIqSLNADNOE1rmweu+quTQhCuIDfXpittclk=
X-Gm-Gg: AfdE7cmmaTbpLSE/Hx6/qBM/8VxmvLXy9e3GMTYJPg5s71ghk0/yncfEX9O4KkKpDEM
	+uO+JmTbwfnNNqWrHcReGSEy+dGcE36Mmig3ClVwJzT9Sz0c8qdKahoaTmruk++HkxurCr1pzvd
	9jyg1EpGyNPxM5ajOjN5r/BQYXlm/Kvb27PlO3edyqwiX0rtqCcC7TMUYs1vpw9Ony4FfqzWHwY
	yyvae/zaOTFTrtvdEUAvq3cUz5iZXeCVo57T4ZUwkdORHh7W09FU67tk37OqVmMG85DQwTWE8TW
	f3oHFb/t+QDS8Q7x4zLyN7dhRplVBS2XJ+cGT/iWHLhh/EkD57sXrfT5jxQteMONr/02mS1LGBN
	UCoW43Fe5IC4AX+WdNEPQuyiN/2eyN4xtwlSD775uBGTIIKTi5YiT+gUZgBGpW514kQruLi6HJ/
	Klc17Z6iUsW5uMNT5Kb8PVUJBTDht/5DbBD3ptR1bRiMt2zOgYoBrzB2J2THrWH3cyXTcmFSvKP
	Av1geBl
X-Received: by 2002:a05:6000:2284:b0:441:1fa5:457c with SMTP id ffacd0b85a97d-464fff65dcdmr7069984f8f.5.1781874313503;
        Fri, 19 Jun 2026 06:05:13 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v6 02/16] libs/guest: Reduce number of I/O vectors in write_batch
Date: Fri, 19 Jun 2026 14:04:47 +0100
Message-ID: <20260619130501.272832-3-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619130501.272832-1-frediano.ziglio@citrix.com>
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1781874314-4C1CA00E-B0ABB76E/0/0
X-purgate-type: clean
X-purgate-size: 2646

Small optimization.
Reduce number of pieces passed to writev.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
--
Changes since v2:
- change prefix in subject.

Changes since v4:
- added Reviewed-by.
---
 tools/libs/guest/xg_sr_save.c | 34 +++++++++++++++-------------------
 1 file changed, 15 insertions(+), 19 deletions(-)

diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index fdbceab52e..68ce1aeb98 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -97,9 +97,11 @@ static int write_batch(struct xc_sr_context *ctx)
     void *page, *orig_page;
     uint64_t *rec_pfns = NULL;
     struct iovec *iov = NULL; int iovcnt = 0;
-    struct xc_sr_rec_page_data_header hdr = { 0 };
-    struct xc_sr_record rec = {
-        .type = REC_TYPE_PAGE_DATA,
+    struct {
+        struct xc_sr_rhdr rec;
+        struct xc_sr_rec_page_data_header page_data;
+    } hdrs = {
+        { .type = REC_TYPE_PAGE_DATA },
     };
 
     assert(nr_pfns != 0);
@@ -115,7 +117,7 @@ static int write_batch(struct xc_sr_context *ctx)
     /* Pointers to locally allocated pages.  Need freeing. */
     local_pages = calloc(nr_pfns, sizeof(*local_pages));
     /* iovec[] for writev(). */
-    iov = malloc((nr_pfns + 4) * sizeof(*iov));
+    iov = malloc((nr_pfns + 2) * sizeof(*iov));
 
     if ( !mfns || !types || !errors || !guest_data || !local_pages || !iov )
     {
@@ -216,28 +218,22 @@ static int write_batch(struct xc_sr_context *ctx)
         goto err;
     }
 
-    hdr.count = nr_pfns;
+    hdrs.rec.length = sizeof(hdrs.page_data);
+    hdrs.rec.length += nr_pfns * sizeof(*rec_pfns);
+    hdrs.rec.length += nr_pages * PAGE_SIZE;
 
-    rec.length = sizeof(hdr);
-    rec.length += nr_pfns * sizeof(*rec_pfns);
-    rec.length += nr_pages * PAGE_SIZE;
+    hdrs.page_data.count = nr_pfns;
 
     for ( i = 0; i < nr_pfns; ++i )
         rec_pfns[i] = ((uint64_t)(types[i]) << 32) | ctx->save.batch_pfns[i];
 
-    iov[0].iov_base = &rec.type;
-    iov[0].iov_len = sizeof(rec.type);
+    iov[0].iov_base = &hdrs;
+    iov[0].iov_len = sizeof(hdrs);
 
-    iov[1].iov_base = &rec.length;
-    iov[1].iov_len = sizeof(rec.length);
+    iov[1].iov_base = rec_pfns;
+    iov[1].iov_len = nr_pfns * sizeof(*rec_pfns);
 
-    iov[2].iov_base = &hdr;
-    iov[2].iov_len = sizeof(hdr);
-
-    iov[3].iov_base = rec_pfns;
-    iov[3].iov_len = nr_pfns * sizeof(*rec_pfns);
-
-    iovcnt = 4;
+    iovcnt = 2;
 
     if ( nr_pages )
     {
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 13:05:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 13:05:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342202.1602449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waYuN-0001Wq-Py; Fri, 19 Jun 2026 13:05:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342202.1602449; Fri, 19 Jun 2026 13:05: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 1waYuN-0001Wj-Lu; Fri, 19 Jun 2026 13:05:19 +0000
Received: by outflank-mailman (input) for mailman id 1342202;
 Fri, 19 Jun 2026 13:05:17 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1waYuL-000193-Lm
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:05:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waYuL-002SWY-2V
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 15:05:17 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e8c-e002-0a2a0a5209dd-0a2a4503d912-8
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:17 +0200
Received: from [209.85.221.41] (helo=mail-wr1-f41.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e8c-a3da-0a2a45030019-d155dd29bdb9-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:17 +0200
Received: by mail-wr1-f41.google.com with SMTP id
 ffacd0b85a97d-45fe59255beso1163686f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 06:05:16 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4650bc428d9sm7960088f8f.27.2026.06.19.06.05.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Jun 2026 06:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781874316; x=1782479116; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=aDpOdhu2pX3r4tDQzsxVRLFNGhGBpjSsL2fSh51Ah0k=;
        b=OoMvaPy+r5KQU10hGeOBLQ2OcyB7PQesJW1S0QFhZOW1NFXlytoa8+z0buRhYpOyk2
         4ALW/4l1cVg/Dc/7BJ4v/aEcunQkS6DCL6srtziD2649FI4yrQRJmsbrBCsOgvrliz09
         qBf/7P0cB7+pr+pdx6ejZLAXwj+jwe5IuKEW5fV7cADidRgFiX3474/lyJFjFpTYCDiR
         d15xDjbWOXZ+ZKQI5r1hSdTGx1ViPiJw3FuzqVIpqK7Iz7PfjI7LJ3H3+eo5DSz/q8oa
         1YGXyt5c2ZTfZEQeMAojdiE3uUzAmwXu9p0AyrX3H0D+w+b1g81bjRsRVLOalxN3IaIv
         egFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781874316; x=1782479116;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=aDpOdhu2pX3r4tDQzsxVRLFNGhGBpjSsL2fSh51Ah0k=;
        b=YMP+HoitVa3f7ovgDyOVhqiyI1nr9tNNNM8IYOS9D5hjU/sETuCmgS2lrfY1DuVfW7
         0CZrkmfCB6Gc0//zJG10++PlI14F6oMqdD+JWMPLIMIVmp/FQ/Lvz1AKw8NDT04lAK7q
         Bjva92ZHGCyJs8JPqDfPdDtjgOZ5jm8q6xSYpylQSF1QU3P9toVcSYVEGgV5rFsFIkvr
         TYikmlHOFDKeCBxVtb66z2h3ZZlko8IyAhzNZUG6I1EdaIpdT4/NVMbbW5Qeaft0bX54
         MD6zRZzcmdHPH7Isx92c11HvfyzDKm243Va+LcfFTNaoJ1k4jj+/xObEmxyxXumdfxPl
         LsaQ==
X-Gm-Message-State: AOJu0Ywgn7AKzuJs2gyT4MK886pN5iFJX9gwsFY3mk1QU5pnZJswdccP
	7ejUltwygoKde4YgjHNyaDyWFRmmJnD+dvt+UM4Inp4KYQULpoo4A3CI9zrbTHW26mg=
X-Gm-Gg: AfdE7ckDbYm2/eo0Izmklok/Rlw1YJE8HpuuadBLxWPk5C09Miq8DQ8LAW/h5csI6mm
	IXv1lMeLph5W0RaNpBW5p5kk3s18NhAByGcnOIGGswVRRDHo/izgqevhLU237Hzc/qNcU+bKoEK
	IeN9j+8eMF/pOUNrNxSFLP0u+oRZe11rWTZl9gOqDRjCVS1B2+D6OMjAGD10RRNeLW+NAfaOSNG
	Mzyzs+wNErxrFjQ6ef8daAnwWox1ZLLlCulkUvFySYvYa17xKfPz7YwvbhrFTidXGecCpnZlAtS
	dtctD5iw+R7zx/etd61NkHKYdA6ASG2/n416GCtPGazxLSEtYXeBE/6dcc8DB09oZUbD4bAkUfv
	oY5+1yelFAVIlZyVQTnp2ESmY72ZVr9fky5DRbt4pOUNwmfmusrUjRbDGJJfan+JtyK+EhWL7aY
	x8l948sFmSyEGylVgbqcpjeiVMP21upjXXoiOV+n0edf5BflnZTbXWKhdjA+LqWHtcNXoGtyYg/
	J3/HoDsJb+WlSG9+D4=
X-Received: by 2002:a05:6000:1888:b0:45e:df46:ba30 with SMTP id ffacd0b85a97d-4656fe28662mr3677057f8f.34.1781874316343;
        Fri, 19 Jun 2026 06:05:16 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edwin.torok@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v6 05/16] libs/guest: allocate various migration arrays just once
Date: Fri, 19 Jun 2026 14:04:50 +0100
Message-ID: <20260619130501.272832-6-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619130501.272832-1-frediano.ziglio@citrix.com>
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1781874317-E31DDD84-B3F682C0/0/0
X-purgate-type: clean
X-purgate-size: 6557

From: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>

Allocate these array just once at the start of migration,
using the maximum batch size, and free them at the end.

Signed-off-by: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v2:
- change prefix in subject.

Changes since v3:
- fix comment style

Changes since v4:
- change order of fields in structure.
---
 tools/libs/guest/xg_sr_common.h | 13 +++++++
 tools/libs/guest/xg_sr_save.c   | 66 +++++++++++++--------------------
 2 files changed, 39 insertions(+), 40 deletions(-)

diff --git a/tools/libs/guest/xg_sr_common.h b/tools/libs/guest/xg_sr_common.h
index f1573aefcb..95b0564e5c 100644
--- a/tools/libs/guest/xg_sr_common.h
+++ b/tools/libs/guest/xg_sr_common.h
@@ -209,6 +209,18 @@ static inline int update_blob(struct xc_sr_blob *blob,
     return 0;
 }
 
+struct xc_sr_context_save_buffers
+{
+    xen_pfn_t batch_pfns[MAX_BATCH_SIZE];
+    xen_pfn_t mfns[MAX_BATCH_SIZE];
+    xen_pfn_t types[MAX_BATCH_SIZE];
+    void *guest_data[MAX_BATCH_SIZE];
+    void *local_pages[MAX_BATCH_SIZE];
+    struct iovec iov[MAX_BATCH_SIZE + 2]; /* Headers + data. */
+    uint64_t rec_pfns[MAX_BATCH_SIZE];
+    int errors[MAX_BATCH_SIZE];
+};
+
 struct xc_sr_context
 {
     xc_interface *xch;
@@ -244,6 +256,7 @@ struct xc_sr_context
             unsigned long *deferred_pages;
             unsigned long nr_deferred_pages;
             xc_hypercall_buffer_t dirty_bitmap_hbuf;
+            struct xc_sr_context_save_buffers *buffers;
         } save;
 
         struct /* Restore data. */
diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index 8c31f9f86c..4988d8040b 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -86,16 +86,16 @@ static int write_checkpoint_record(struct xc_sr_context *ctx)
 static int write_batch(struct xc_sr_context *ctx)
 {
     xc_interface *xch = ctx->xch;
-    xen_pfn_t *mfns = NULL, *types = NULL;
+    xen_pfn_t *mfns, *types;
     void *guest_mapping = NULL;
-    void **guest_data = NULL;
-    void **local_pages = NULL;
-    int *errors = NULL, rc = -1;
+    void **guest_data;
+    void **local_pages;
+    int *errors, rc = -1;
     unsigned int i, p, nr_pages = 0, nr_pages_mapped = 0;
     unsigned int nr_pfns = ctx->save.nr_batch_pfns;
     void *page, *orig_page;
-    uint64_t *rec_pfns = NULL;
-    struct iovec *iov = NULL; int iovcnt = 0;
+    uint64_t *rec_pfns;
+    struct iovec *iov; int iovcnt = 0;
     struct {
         struct xc_sr_rhdr rec;
         struct xc_sr_rec_page_data_header page_data;
@@ -104,26 +104,24 @@ static int write_batch(struct xc_sr_context *ctx)
     };
 
     assert(nr_pfns != 0);
+    assert(nr_pfns <= MAX_BATCH_SIZE);
+    assert(ctx->save.buffers);
 
     /* Mfns of the batch pfns. */
-    mfns = malloc(nr_pfns * sizeof(*mfns));
+    mfns = ctx->save.buffers->mfns;
     /* Types of the batch pfns. */
-    types = malloc(nr_pfns * sizeof(*types));
+    types = ctx->save.buffers->types;
     /* Errors from attempting to map the gfns. */
-    errors = malloc(nr_pfns * sizeof(*errors));
+    errors = ctx->save.buffers->errors;
     /* Pointers to page data to send.  Mapped gfns or local allocations. */
-    guest_data = calloc(nr_pfns, sizeof(*guest_data));
+    guest_data = ctx->save.buffers->guest_data;
+    memset(guest_data, 0, sizeof(*guest_data) * nr_pfns);
     /* Pointers to locally allocated pages.  Need freeing. */
-    local_pages = calloc(nr_pfns, sizeof(*local_pages));
+    local_pages = ctx->save.buffers->local_pages;
+    memset(local_pages, 0, sizeof(*local_pages) * nr_pfns);
     /* iovec[] for writev(). */
-    iov = malloc((nr_pfns + 2) * sizeof(*iov));
-
-    if ( !mfns || !types || !errors || !guest_data || !local_pages || !iov )
-    {
-        ERROR("Unable to allocate arrays for a batch of %u pages",
-              nr_pfns);
-        goto err;
-    }
+    iov = ctx->save.buffers->iov;
+    rec_pfns = ctx->save.buffers->rec_pfns;
 
     for ( i = 0; i < nr_pfns; ++i )
     {
@@ -209,14 +207,6 @@ static int write_batch(struct xc_sr_context *ctx)
         }
     }
 
-    rec_pfns = malloc(nr_pfns * sizeof(*rec_pfns));
-    if ( !rec_pfns )
-    {
-        ERROR("Unable to allocate %zu bytes of memory for page data pfn list",
-              nr_pfns * sizeof(*rec_pfns));
-        goto err;
-    }
-
     hdrs.rec.length = sizeof(hdrs.page_data);
     hdrs.rec.length += nr_pfns * sizeof(*rec_pfns);
     hdrs.rec.length += nr_pages * PAGE_SIZE;
@@ -267,17 +257,13 @@ static int write_batch(struct xc_sr_context *ctx)
     rc = ctx->save.nr_batch_pfns = 0;
 
  err:
-    free(rec_pfns);
     if ( guest_mapping )
         xenforeignmemory_unmap(xch->fmem, guest_mapping, nr_pages_mapped);
     for ( i = 0; local_pages && i < nr_pfns; ++i )
+    {
         free(local_pages[i]);
-    free(iov);
-    free(local_pages);
-    free(guest_data);
-    free(errors);
-    free(types);
-    free(mfns);
+        local_pages[i] = NULL;
+    }
 
     return rc;
 }
@@ -806,18 +792,18 @@ static int setup(struct xc_sr_context *ctx)
 
     dirty_bitmap = xc_hypercall_buffer_alloc_pages(
         xch, dirty_bitmap, NRPAGES(bitmap_size(ctx->save.p2m_size)));
-    ctx->save.batch_pfns = malloc(MAX_BATCH_SIZE *
-                                  sizeof(*ctx->save.batch_pfns));
     ctx->save.deferred_pages = bitmap_alloc(ctx->save.p2m_size);
+    ctx->save.buffers = calloc(1, sizeof(*ctx->save.buffers));
 
-    if ( !ctx->save.batch_pfns || !dirty_bitmap || !ctx->save.deferred_pages )
+    if ( !dirty_bitmap || !ctx->save.deferred_pages || !ctx->save.buffers)
     {
-        ERROR("Unable to allocate memory for dirty bitmaps, batch pfns and"
-              " deferred pages");
+        ERROR("Unable to allocate memory for dirty bitmaps, deferred pages"
+              " and various batch buffers");
         rc = -1;
         errno = ENOMEM;
         goto err;
     }
+    ctx->save.batch_pfns = ctx->save.buffers->batch_pfns;
 
     rc = 0;
 
@@ -841,7 +827,7 @@ static void cleanup(struct xc_sr_context *ctx)
     xc_hypercall_buffer_free_pages(xch, dirty_bitmap,
                                    NRPAGES(bitmap_size(ctx->save.p2m_size)));
     free(ctx->save.deferred_pages);
-    free(ctx->save.batch_pfns);
+    free(ctx->save.buffers);
 }
 
 /*
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 13:05:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 13:05:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342204.1602466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waYuP-0001w1-As; Fri, 19 Jun 2026 13:05:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342204.1602466; Fri, 19 Jun 2026 13:05: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 1waYuP-0001ud-5q; Fri, 19 Jun 2026 13:05:21 +0000
Received: by outflank-mailman (input) for mailman id 1342204;
 Fri, 19 Jun 2026 13:05:20 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1waYuN-0001Wt-U6
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:05:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waYuN-00D4ah-Ac
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 15:05:19 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e89-2eae-0a2a0a5409dd-0a2a450ba98e-22
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:19 +0200
Received: from [209.85.208.50] (helo=mail-ed1-f50.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e8f-5e53-0a2a450b0019-d155d032bc5e-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:19 +0200
Received: by mail-ed1-f50.google.com with SMTP id
 4fb4d7f45d1cf-69532288224so3950688a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 06:05:19 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4650bc428d9sm7960088f8f.27.2026.06.19.06.05.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Jun 2026 06:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781874319; x=1782479119; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ZidMZWTCYLyL5ufIMI3PcR9yOlOw9e9GMi8xqFKVOr8=;
        b=RH5ZaNnXnutl+59wVjGfXnwseXaNH71z440zvKQe11I1Lh6XZQdY+3K2Nvd94978YG
         SXJa/a6Z86ruc2KHdI9Uaivgf8YWIvPi+u/8CM14RJk80l+XnSPSPonntrqi8pxjCja7
         Co4WqUPxztOfngUlFWLOIX0xaDPOy+Zf7JzImoM7N1LSFybwTUMj8/fnbaFwLYyqD1gP
         K82oqUl2vaz2VjhFTZEa3PxVf4zafFB3bszCLG3WmGwfVmcmQ4OHUi4p0lkRtCwjvSSC
         vVaepIkR8CUNXEm+BC9D7nq/sJfHa25c63BXK8cqxvD2PaMsJ7oCp8Fb9t0UIGSEClMs
         xCRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781874319; x=1782479119;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=ZidMZWTCYLyL5ufIMI3PcR9yOlOw9e9GMi8xqFKVOr8=;
        b=gflDynSKdOYtRT8mDCn9MIENdrTeZerJ+U21n40haK/VNuWS4wsAyOCozEVuPZthXY
         LUK8rqO6PVUDxVwaVni4mapLBbfDqaoR+bOIr4gTTRBcdm1EzEUgt1zUX+u+R3dnxsH4
         /Dam9QhtOz4QJvIi9bUW/rOeYsTQm1dFbiG0KdD+3Aa0rKEIh7HFdKqdUgIe4H3piZAr
         wfhpcu0jxYdE/z4RPrZ0mZhAnH59Qg5l9DEw87X8EBNsYyPEhAbgYCMXg9hJ5cZ6XBBq
         kLv3QFigNJm57X+AnCdiCpcp3xPUMGzdkGqjB4TKlSNqR3oZ7S1ooKOBblVSqRDiSj9v
         i4lA==
X-Gm-Message-State: AOJu0Yx4lJt5vJI9t5LNj0KaJlJzIZkzLRDAk7FAFxSvxHgjfjiRrfCG
	hqJKjhyZkNhm/tiOIRY3RBqS7vN5ne7MafoW0Pqd2/l5ExP7mv32O4KMX634FT6jMgI=
X-Gm-Gg: AfdE7cnrUQPhU4NE1ORbLVjYO0+a4DriMFIVwM7oBPPtJgSPE7/bJJxNMI+s7FmIN0i
	sVyS+g9ffMaJSC6bwOl5lA8RvLbgBB2DXcG6Szdppk8p2trTZ5qv6NxQC5ocDuhqK1BSqcFac20
	l/6JPCliauEbPp7SfROvS5MADLKVj3bmNehplC0O6YNCrlgi0Jgu4GvBCwZqhLK7PC7YO3aQCYO
	0cRNdQRAc1CkYrYugKLwutimrAeKmh1yBup2+JxEogMDJ+aKIcu8mG/4UguXIoNLkwepZ8f8Vx7
	c41daUJ7HGZlx3gJ3ORjtT40mxMopWdYfjpFL12S+5lx9cqSiM/IKsTXQElpzQfYM6irOL/375T
	SFzmqzwEs8GcuaMfnmM4qfPFzxW1uvo7BvIkMIqdlc3OZfTm/qGM+A/B3enflEel691oW+/fTIW
	5hRtJ8PHM6cXwTG23Eyzr7Mwa2sbE3t4idOJH/nIEnzmmdADWGHIeJVaL9quvDCzuRJxKblMZaQ
	2ppBHVf
X-Received: by 2002:a17:907:724e:b0:c08:3409:b747 with SMTP id a640c23a62f3a-c0b62137c57mr133369766b.33.1781874318503;
        Fri, 19 Jun 2026 06:05:18 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v6 07/16] libs/guest: avoids using 2 indexes
Date: Fri, 19 Jun 2026 14:04:52 +0100
Message-ID: <20260619130501.272832-8-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619130501.272832-1-frediano.ziglio@citrix.com>
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1781874319-45DF800E-D2DF68FF/0/0
X-purgate-type: clean
X-purgate-size: 2731

Simplify code, after the first scan of the various arrays we don't need to
keep original types and PFNs but only the ones having data.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
--
Changes since v4:
- added Reviewed-by.
---
 tools/libs/guest/xg_sr_restore.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/tools/libs/guest/xg_sr_restore.c b/tools/libs/guest/xg_sr_restore.c
index e148fc594a..fb46142d87 100644
--- a/tools/libs/guest/xg_sr_restore.c
+++ b/tools/libs/guest/xg_sr_restore.c
@@ -260,9 +260,7 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
     int *map_errs = malloc(count * sizeof(*map_errs));
     int rc;
     void *mapping = NULL, *guest_page = NULL;
-    unsigned int i, /* i indexes the pfns from the record. */
-        j,          /* j indexes the subset of pfns we decide to map. */
-        nr_pages = 0;
+    unsigned nr_pages;
 
     if ( !mfns || !map_errs )
     {
@@ -279,12 +277,18 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
         goto err;
     }
 
-    for ( i = 0; i < count; ++i )
+    nr_pages = 0;
+    for ( unsigned i = 0; i < count; ++i )
     {
         ctx->restore.ops.set_page_type(ctx, pfns[i], types[i]);
 
-        if ( page_type_has_stream_data(types[i]) )
-            mfns[nr_pages++] = ctx->restore.ops.pfn_to_gfn(ctx, pfns[i]);
+        if ( !page_type_has_stream_data(types[i]) )
+            continue;
+
+        mfns[nr_pages] = ctx->restore.ops.pfn_to_gfn(ctx, pfns[i]);
+        pfns[nr_pages] = pfns[i];
+        types[nr_pages] = types[i];
+        nr_pages++;
     }
 
     /* Nothing to do? */
@@ -302,16 +306,13 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
         goto err;
     }
 
-    for ( i = 0, j = 0; i < count; ++i )
+    for ( unsigned i = 0; i < nr_pages; ++i )
     {
-        if ( !page_type_has_stream_data(types[i]) )
-            continue;
-
-        if ( map_errs[j] )
+        if ( map_errs[i] )
         {
             rc = -1;
             ERROR("Mapping pfn %#"PRIpfn" (mfn %#"PRIpfn", type %#"PRIx32") failed with %d",
-                  pfns[i], mfns[j], types[i], map_errs[j]);
+                  pfns[i], mfns[i], types[i], map_errs[i]);
             goto err;
         }
 
@@ -337,7 +338,6 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
             memcpy(guest_page, page_data, PAGE_SIZE);
         }
 
-        ++j;
         guest_page += PAGE_SIZE;
         page_data += PAGE_SIZE;
     }
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 13:05:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 13:05:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342197.1602404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waYuI-0000SZ-Lt; Fri, 19 Jun 2026 13:05:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342197.1602404; Fri, 19 Jun 2026 13:05: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 1waYuI-0000SS-If; Fri, 19 Jun 2026 13:05:14 +0000
Received: by outflank-mailman (input) for mailman id 1342197;
 Fri, 19 Jun 2026 13:05:12 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1waYuG-0000SG-Ho
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:05:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waYuF-002qlM-Uv
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 15:05:11 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e84-bab6-0a2a0a5309dd-0a2a4508d34e-6
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:11 +0200
Received: from [209.85.218.47] (helo=mail-ej1-f47.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e87-9ee7-0a2a45080019-d155da2fd034-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:11 +0200
Received: by mail-ej1-f47.google.com with SMTP id
 a640c23a62f3a-bec49f7e35eso299362166b.2
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 06:05:11 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4650bc428d9sm7960088f8f.27.2026.06.19.06.05.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Jun 2026 06:05:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781874311; x=1782479111; 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=cK/F40kmfhZ4Q4nBiYM3DRyYw/SqqYHHopWGOvg80R0=;
        b=JnK5JK3irj8kb7zvor6oA2nb1De63gx4CXIZNi6dTafe1XDrNn3IuC764NZPRP1Q9C
         3tJMzB2R87/IhlwXQwpNG1j1F0+50ZRZhiVVmBkrK5zq6rlGrDup/m7orOGtXILU0KBK
         1kVlo7caI5xRJnUDJ/K3ouYBCE/6OjgE9LxwZ52xmKL9Wx2Eef0gLDhQJB8MoC8Wjvt3
         +t/wbd06/xMfMAVxLzy5Doo4BYuxYLw78ompnmIEWHD3D6MrRmy3hLtcy/8RvVLSoUid
         ctfrmmnKRilobOGyhEGr9VNuGY4iKZe102friyqmZqD5Uu3V9e1ZweRahKtGrPewC9mt
         epsg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781874311; x=1782479111;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cK/F40kmfhZ4Q4nBiYM3DRyYw/SqqYHHopWGOvg80R0=;
        b=cwPEkNfsHndjzmbHHPbmbFig80zuaFapnXzZJrm8UmR4W9FpU9by/lZ/fwkPbhfV7g
         CWwA/+HkbPS0FOUAWhxUUBSdQ1CEyDKqfmPmvkgKIhBNLC/r6KAhl53isP6WFZR2EYEm
         dsWXkXDjAyCyytDPXQSkd2U0o6nOc8iyXonwogO2drK85eCMgrYquE+FwYDC/+crK9fR
         m8j9gMsbxXbBnbMbQ1HNAaRwgblYlbyv3G+7fWXma+ncn4P8gKaLQmAHeteYSK3/RI0v
         zkA2hT66amJ0BjOLVq/nisO36aS/dAuFnJVRihOQ9zhl28am7ddPcKVcZ97pRepWluyw
         Y+3w==
X-Gm-Message-State: AOJu0YwP2OJfhaKTBcipRJynsCuYvX3VLgV2OhiSreKRzKEs6en104U3
	UGY/HVUO8weWT/w1AsopbhBgLXOy0HgSEnfvAGyPCtmj32FDjWwTjCy+tR8ZSW8x/io=
X-Gm-Gg: AfdE7ckumJHxu8ASWSbmbXP6RXxzySAQBlPC8jhMZLzTkLAQc4e1q5TRXEOQ4NwvaYi
	oU7RotA0rZJoFoBd0YcJ2JbRWU1tbTCGK4rMXUSFIJsAjWPg6YKFRfCOMOrOaoBlWOJexgBLNam
	L3KsEe5Mu3MXMMH8S3OwhYo05JANkiQPaZIewwNHuADnaMCPQV24PVjtWmhnZ/60RxufPX1VchF
	nkt1BmnBezBPEtuOIHlN1xckoXe0PzUanQ7qVv/5LBrJtUYVAYS4HOzl3NxvBJYsWabzSwwUIa5
	7KpwB38j06kdWvHxxR835P2SBuB41ORp3IGTmrHNLOTSBfz2/ndXCclT8Erc+lxsdIOsUiQTjb2
	XodZ4DdU6sY4leVZ0hLDtSYPWPzwrC8D8lqp0+oxzef9RYVyOKk4Z6mvja9J0P+iYvo50PF2M6l
	CL7Imiw12jO2iI9ZJbExrQytbNngBPJCAW9axpl4y1ToLLF5KrHIhGnAbEwjSzAZukaPvNlFIQB
	HvWWawm
X-Received: by 2002:a17:907:8e07:b0:bec:5234:af7d with SMTP id a640c23a62f3a-c097adb7396mr160275366b.6.1781874311067;
        Fri, 19 Jun 2026 06:05:11 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v6 00/16] xenguest optimisations
Date: Fri, 19 Jun 2026 14:04:45 +0100
Message-ID: <20260619130501.272832-1-frediano.ziglio@citrix.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-purgate-ID: tlsNG-c1860d/1781874311-77FE50FA-DE87A0A5/0/0
X-purgate-type: clean
X-purgate-size: 2606

Reduce some number of parts passed to writev.
Avoid possible allocation sending data with writev.
Reduce number of allocations sending memory state.

Implement and use new Xen and Linux kernel ABI to copy foreign memory.
This new ABI allows to replace theexpensive  map/copy/unmap sequence
with a single call.

Changes since v1:
- add commit to cache up to 4 pages in hypercall;
- add other 2 commits reducing chunks passed to write/writev.

Changes since v2:
- update patches commit prefixes;
- add other 2 optisations.

Changes since v3:
- address some comments;
- add patches for foreign copy optimisation.

Changes since v4:
- added Reviewed-by;
- improved commit messages;
- other minor fixes, see individual commits.

Changes since v5:
- avoids potential buffer underflow if nr_pages is 0 calling cache_alloc;
- do not overwrite errno if xenforeignmemory_map fails;
- lot of changes to "implement new foreign copy hypercall", see specific
  commit.

Edwin TÃ¶rÃ¶k (3):
  libs/guest: allocate various migration arrays just once
  libs/call: cache up to 4 pages in hypercall bounce buffers
  PoC: libs/guest: use foreign copy during migration

Frediano Ziglio (12):
  libs/guest: Reduce number of parts in write_split_record
  libs/guest: Reduce number of I/O vectors in write_batch
  libs/guest: Reduce number of I/O vectors in write_batch
  libs/guest: Use a single write_exact in write_headers
  libs/guest: avoids using 2 indexes
  libs/guest: fill directly iov structure
  libs/ctrl: Allows writev_exact to change iov array
  libs/guest: add xg_foreignmemory_copy_{from,to}
  xen: implement new foreign copy hypercall
  privcmd: Add definition for new Linux privcmd to access new Xen
    hypercall
  libs/guest: use new hypercall if available
  libs/guest: finalize PoC

 tools/include/xen-sys/Linux/privcmd.h |  10 ++
 tools/libs/call/buffer.c              |  31 ++--
 tools/libs/call/core.c                |   3 +-
 tools/libs/call/private.h             |   8 +-
 tools/libs/ctrl/xc_private.c          |  26 +--
 tools/libs/ctrl/xc_private.h          |   2 +-
 tools/libs/guest/xg_sr_common.c       |  92 ++++++++++-
 tools/libs/guest/xg_sr_common.h       |  21 +++
 tools/libs/guest/xg_sr_restore.c      | 100 ++++++------
 tools/libs/guest/xg_sr_save.c         | 224 +++++++++++---------------
 xen/arch/x86/traps-setup.c            |   2 +-
 xen/common/memory.c                   | 145 +++++++++++++++++
 xen/include/public/memory.h           |  44 ++++-
 13 files changed, 489 insertions(+), 219 deletions(-)

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 13:05:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 13:05:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342198.1602409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waYuI-0000VO-V3; Fri, 19 Jun 2026 13:05:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342198.1602409; Fri, 19 Jun 2026 13:05: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 1waYuI-0000VE-PY; Fri, 19 Jun 2026 13:05:14 +0000
Received: by outflank-mailman (input) for mailman id 1342198;
 Fri, 19 Jun 2026 13:05:14 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1waYuI-0000SM-4c
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:05:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waYuH-00D4ah-Hk
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 15:05:13 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e84-2eae-0a2a0a5409dd-0a2a4501e918-36
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:13 +0200
Received: from [209.85.167.44] (helo=mail-lf1-f44.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e89-e031-0a2a45010019-d155a72cb5df-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:13 +0200
Received: by mail-lf1-f44.google.com with SMTP id
 2adb3069b0e04-5aa7a7ad475so2320038e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 06:05:13 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4650bc428d9sm7960088f8f.27.2026.06.19.06.05.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Jun 2026 06:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781874313; x=1782479113; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=eks+QTXUKxWGNd1IHclIX8XrRU2no0CF3MdEPRLJw+0=;
        b=CUF82vpzrIRaM67u6h/5yG19LfjFrnadlta1l82k8XXooMzgV3Tyt4pGdZjwck2t0e
         2lZCLPFSlAr2bz/wq3JqMWAYryFBx6oINnacAI0+Il+N/WruN9m8t5uIrmuf7sPU5gg8
         YVLCY+AU5MkkqerwbgwF925MqeZQgmF7yUQsGibOcgfwgGG0OHjhvKXM7YJPiMvCzmnl
         WHh7sVrsCsqBpQktlAsv3CYKhwcb1ZrZ8qNU04zy1O2RfB+aKC76er34383ZQEkUJrv6
         LeDtxQj4xeydGj40cy7nEtn+wniPPjCJkYQ+ogikbGG12ANsesbgiuQnQ0ZerUcaduOF
         SQuQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781874313; x=1782479113;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=eks+QTXUKxWGNd1IHclIX8XrRU2no0CF3MdEPRLJw+0=;
        b=a1ouH964rDB7CN1Gjt6QXsmPiuQcNFGnOS+3scoJWFvND3VbnJtlXu2zzmE7VyGZ06
         jkBAe3oBnr6UyhAY/8R6BM+KUrMt/Pp39crwVSH7S6QCLalCdmyYRE6e/EZK8nvjlyXI
         31wh398mjjS8zKsswc+qreyAosMsHUJjvW8+swNa52PTwqo/UxEfElALMxGmlouvHTla
         xUTFLIOEgW/bL2SQf9SorZQA5eKyEAP7lx2ImQnKqZrH5bfQmO070HZPD6IW0Ew5tvI8
         QbUzLyyYRTNTih1MFhazx9XsDabk4RwPSA+EgonhQDboFv0Ke/BsqEAqgjn0zq/fMTXe
         /NMA==
X-Gm-Message-State: AOJu0YzZ6JEbR8m7TILparin0QXlX3z7QpfoKqZemHsfMqqeGZMrMfgn
	mBVh4Dt9srwLbnYoYgF3lVa03dEdH79XYSq3RWGfxfp8SwW4dQNjMUnDLhraELMRLR4=
X-Gm-Gg: AfdE7ckahCQg7bXZRvMvyYZCgCNrBbpezLBMD5iw2YDYD0g3XYrXuy2fVbtRNwgg1ex
	DKea+KNbKXFLTtldzNXoFnWdNCMCB02N+oilvpkx/cI3FQ6MbimxK9N6PvKgl11qGS9dGkXAX/L
	Mzmr/FKklwtpVj3MDM4LL7eE4VAW85JLC34lVapCwJK6uzlh9l5FHARp8aOygwg/bo/GnUZxAMf
	T+QVeCTyXTrvvXdngEefTrvJH0BuxZ6nj4rdXE/AQdabDe3nbawgHmn0aHb8lZ1e1m4mgjnn8IQ
	FQOMGpWQjJ+ioOJluEOZsCxwOj2hT7W/jI4DGsCiOISYxzFSfjaEqQZawrVp9YQrGZpYY/sOIQY
	tXGG46rxq2uaW5B+6lg9zY+sGTU7CrHvphiJO7m9i0USokghoe2kSYUr2v1md4yP4Nt5dWqB2OP
	vzEn91u9syntj5dWGQXeEyt0Dhl5Qq9/X51Gu9Eu0oADmEGWV+KI3r2Z2vM/kaWlsOBs0Kd8VxM
	Acq+eG0
X-Received: by 2002:a05:6512:3a93:b0:5ad:4cd2:9baa with SMTP id 2adb3069b0e04-5ad58f32ea5mr705257e87.27.1781874312427;
        Fri, 19 Jun 2026 06:05:12 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v6 01/16] libs/guest: Reduce number of parts in write_split_record
Date: Fri, 19 Jun 2026 14:04:46 +0100
Message-ID: <20260619130501.272832-2-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619130501.272832-1-frediano.ziglio@citrix.com>
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1781874313-4B3A8E30-43106F80/0/0
X-purgate-type: clean
X-purgate-size: 1825

Small optimization.
There's no much sense to split the header in 2 pieces, it will
just take more time and space to reassemble them in the final
buffer.
This also avoids truncating combined_length to 32 bit in case of
64 bit machines potentially avoiding following record_length check
(it could still be truncated writing it in xc_sr_rhdr structure
but the following check will catch it).
The function become more coherent with following read_record
function.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
--
Changes since v2:
- change prefix in subject.

Changes since v3:
- clarify commit message.

Changes since v4:
- added Reviewed-by;
- improved commit message.
---
 tools/libs/guest/xg_sr_common.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/libs/guest/xg_sr_common.c b/tools/libs/guest/xg_sr_common.c
index c7b3c6f3bc..9b2782b5cf 100644
--- a/tools/libs/guest/xg_sr_common.c
+++ b/tools/libs/guest/xg_sr_common.c
@@ -59,11 +59,11 @@ int write_split_record(struct xc_sr_context *ctx, struct xc_sr_record *rec,
     static const char zeroes[REC_ALIGN] = {};
 
     xc_interface *xch = ctx->xch;
-    typeof(rec->length) combined_length = rec->length + sz;
+    size_t combined_length = rec->length + sz;
     size_t record_length = ROUNDUP(combined_length, REC_ALIGN);
+    struct xc_sr_rhdr rhdr = { rec->type, combined_length };
     struct iovec parts[] = {
-        { &rec->type,       sizeof(rec->type) },
-        { &combined_length, sizeof(combined_length) },
+        { &rhdr,            sizeof(rhdr) },
         { rec->data,        rec->length },
         { buf,              sz },
         { (void *)zeroes,   record_length - combined_length },
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 13:05:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 13:05:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342206.1602485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waYuT-0002ao-5N; Fri, 19 Jun 2026 13:05:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342206.1602485; Fri, 19 Jun 2026 13: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 1waYuS-0002aU-VW; Fri, 19 Jun 2026 13:05:24 +0000
Received: by outflank-mailman (input) for mailman id 1342206;
 Fri, 19 Jun 2026 13:05:23 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1waYuR-0002GD-4O
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:05:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waYuQ-002qp2-FT
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 15:05:22 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e8c-5cb7-0a2a0a5109dd-0a2a4501e924-32
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:22 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e92-e031-0a2a45010019-d155802bb4ce-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:22 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-4908b92904fso26773065e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 06:05:22 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4650bc428d9sm7960088f8f.27.2026.06.19.06.05.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Jun 2026 06:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781874322; x=1782479122; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rq+qhmTPgKBhNpU+5cysMmMVcR/5yZiixTBKuWIy3R4=;
        b=BSpDRh9uqp4Oz4Q1KNTRN3xMV0HZxqvCgMpaYpwutUmO52n/WYVqzBqXOTiINbIr/V
         ve8VJwXvnXJHFypZszDtPo/psyHY9i/In43TBFyAsBphTrs93ez9ZPDkqbupFv7QuA/X
         7EgHASp/yvZ5qn6XhY5DTG/QynExHn67ASMt5LYUPRSG2F8nhQn5YuGoh2OQBGS43rXl
         U+FazrtkrOF34jD8vxCi2Gkf8cGISYYbO3dkkZPO2XSPx81YfipIQsBS9pOR5i3q9zSn
         Ya7kQunYGYKLploGTUVZh1tCZR0iDZuXNShVYK17fLN5EjunDP1NvJXrOgI8t8tiWKcR
         Pvlw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781874322; x=1782479122;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=rq+qhmTPgKBhNpU+5cysMmMVcR/5yZiixTBKuWIy3R4=;
        b=W/++0ZtdzLDddF1PR9DZQXaY1Zi7bY5V1Om/nc8Hrkud88oHnrg0MP2j9CAx3oDARY
         aIyesLRaPPaekrbP5izIuUTR2VzmzvLVSAi9DsgFuPd0Vcvu2psJaCd4eVB7ktdRFu+o
         +54tdpi4cVbyhjhM0XOhOZhQrlN/HmBWuHZQ+BxFsend6Ir0pN5nqyKb01KkVjTGAXEC
         JjXQx7Tnry1zyinyRwYgDqJYz5iIt2Z6LGX5kYszOImYAVB7C8xXRjtIEK4UUPAEq2JP
         wsJ/a1xFyf/bbUItGjRqdz1gCSDDau6MOUgPoTnJ7Rs1EtUnjjzSr2M6gOjFjXZHqNJa
         qr/A==
X-Gm-Message-State: AOJu0YzVBDKmH7zzSwo7hnaZUu5r9c1mWiiCz6YsScGa/tmPDt/4jS5f
	kGjKBOuT3PrWJSH6VNqmfsD+5+WIrc7maA8yhyw/5sUWG1oEWKG3rD9V0dYJJBcIP1g=
X-Gm-Gg: AfdE7clIeOh4C17TEthyVoii78rGe8P5nSTV24bezkacmOuq/fcaA8r4xpWRw94AJAL
	e30m72Xptg/3m195YNbHG6Z7CfnIH9AhhPVNZ0MTgKfuS+iajlj3pqFnMrc/q0yxe6kDAWOcBol
	5AgbhhEci7RjZX7h5NPTc2hH8Q4Zqt4MGMOndgwlF3kJ37fNmQWQZSpM8lk/WxEZlZOpF0FbDJJ
	ncaKyqAtT11T/cJKGTHJAkTe/QC9xlsS55dBWrqRboK8zw9Ncl9M/Etv4/vxf7Ctq4LP+jCHg82
	Fs3MdqI5GYODSVrGSQDpHcCSYMmVZJy29odrQbnQMLFJPejVVoed9QNJTO3z0EmwvXooh06pBHi
	i7GDfCGbyJazjanqw66i7MtCVybN6l1mDriCM7+oinDa0S4XIlbeSkzqOf3akBXY6tkeJhlojQ3
	UZlccbZb8FmWcBWXR+dIfM5mCQ2pAeYNxDjSrrlL2icAMOgj4cYse1iwBHHwH6zAB2bW/AQvPNd
	8TIkEbl
X-Received: by 2002:a05:600c:810c:b0:490:d3ef:fa4a with SMTP id 5b1f17b1804b1-4924233f9fcmr37363585e9.14.1781874321616;
        Fri, 19 Jun 2026 06:05:21 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v6 09/16] libs/ctrl: Allows writev_exact to change iov array
Date: Fri, 19 Jun 2026 14:04:54 +0100
Message-ID: <20260619130501.272832-10-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619130501.272832-1-frediano.ziglio@citrix.com>
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1781874322-711F3E30-ECB58022/0/0
X-purgate-type: clean
X-purgate-size: 3172

Avoid having to allocate and copy the array if a partial write
happens.
The implementation in tools/libs/store/xs.c already use this
signature and method.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v2:
- change prefix in subject.
---
 tools/libs/ctrl/xc_private.c | 26 +++++---------------------
 tools/libs/ctrl/xc_private.h |  2 +-
 2 files changed, 6 insertions(+), 22 deletions(-)

diff --git a/tools/libs/ctrl/xc_private.c b/tools/libs/ctrl/xc_private.c
index bb0f81d6f3..946fc307aa 100644
--- a/tools/libs/ctrl/xc_private.c
+++ b/tools/libs/ctrl/xc_private.c
@@ -635,7 +635,7 @@ int write_exact(int fd, const void *data, size_t size)
 /*
  * MiniOS's libc doesn't know about writev(). Implement it as multiple write()s.
  */
-int writev_exact(int fd, const struct iovec *iov, int iovcnt)
+int writev_exact(int fd, struct iovec *iov, int iovcnt)
 {
     int rc, i;
 
@@ -649,9 +649,8 @@ int writev_exact(int fd, const struct iovec *iov, int iovcnt)
     return 0;
 }
 #else
-int writev_exact(int fd, const struct iovec *iov, int iovcnt)
+int writev_exact(int fd, struct iovec *iov, int iovcnt)
 {
-    struct iovec *local_iov = NULL;
     int rc = 0, iov_idx = 0, saved_errno = 0;
     ssize_t len;
 
@@ -686,23 +685,9 @@ int writev_exact(int fd, const struct iovec *iov, int iovcnt)
                 len -= iov[iov_idx++].iov_len;
             else
             {
-                /* Partial write of iov[iov_idx]. Copy iov so we can adjust
-                 * element iov_idx and resubmit the rest. */
-                if ( !local_iov )
-                {
-                    local_iov = malloc(iovcnt * sizeof(*iov));
-                    if ( !local_iov )
-                    {
-                        saved_errno = ENOMEM;
-                        rc = -1;
-                        goto out;
-                    }
-
-                    iov = memcpy(local_iov, iov, iovcnt * sizeof(*iov));
-                }
-
-                local_iov[iov_idx].iov_base += len;
-                local_iov[iov_idx].iov_len  -= len;
+                /* Partial write of iov[iov_idx]. */
+                iov[iov_idx].iov_base += len;
+                iov[iov_idx].iov_len  -= len;
                 break;
             }
         }
@@ -711,7 +696,6 @@ int writev_exact(int fd, const struct iovec *iov, int iovcnt)
     saved_errno = 0;
 
  out:
-    free(local_iov);
     errno = saved_errno;
     return rc;
 }
diff --git a/tools/libs/ctrl/xc_private.h b/tools/libs/ctrl/xc_private.h
index b5892ae8dc..3af996e900 100644
--- a/tools/libs/ctrl/xc_private.h
+++ b/tools/libs/ctrl/xc_private.h
@@ -383,7 +383,7 @@ int xc_flush_mmu_updates(xc_interface *xch, struct xc_mmu *mmu);
 /* Return 0 on success; -1 on error setting errno. */
 int read_exact(int fd, void *data, size_t size); /* EOF => -1, errno=0 */
 int write_exact(int fd, const void *data, size_t size);
-int writev_exact(int fd, const struct iovec *iov, int iovcnt);
+int writev_exact(int fd, struct iovec *iov, int iovcnt);
 
 int xc_ffs8(uint8_t x);
 int xc_ffs16(uint16_t x);
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 13:05:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 13:05:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342208.1602489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waYuT-0002d5-JN; Fri, 19 Jun 2026 13:05:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342208.1602489; Fri, 19 Jun 2026 13: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 1waYuT-0002c9-Be; Fri, 19 Jun 2026 13:05:25 +0000
Received: by outflank-mailman (input) for mailman id 1342208;
 Fri, 19 Jun 2026 13:05:23 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1waYuR-0002OB-Jc
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:05:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waYuQ-00D4eo-WD
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 15:05:23 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e8d-2eae-0a2a0a5409dd-0a2a4505a48c-30
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:22 +0200
Received: from [209.85.208.47] (helo=mail-ed1-f47.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e92-ef3d-0a2a45050019-d155d02fa493-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:22 +0200
Received: by mail-ed1-f47.google.com with SMTP id
 4fb4d7f45d1cf-6870ad8072eso2168987a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 06:05:22 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4650bc428d9sm7960088f8f.27.2026.06.19.06.05.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Jun 2026 06:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781874322; x=1782479122; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LmIH1fxngC6S436VPRvPDb1Farbh0pJpGks2ZI7BB0I=;
        b=l8objaQXtlIcc4shebAIzaTriizRuahQ1gWsPhAsBZVNYILVJx1Q+ctp6lTtc/trh0
         FwnbT9ksV32ZoC74BcbkQ6mjjElKewN6w4hYb9mO3Jtpt2C3owxHcS25uDlNgtyQO8Ok
         cvsPgQY3/oet6dgXUya8TKSlCsea+LKL6+8UfJnd3lTcFTyi3xPX025BsZA9UB8UTFUR
         NCvMsNqVQH1x57be/Yet+WaBbymvBp5dGj+oIdjb1qsiufGONykNO6RbO2aBVeVBoqQw
         wJGkMkQlCicIoEZPzb2lUFdIXqU5uioSg+waIaHTgfSD3UOSXB00LPkKDGKCSr9MTiKO
         KItw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781874322; x=1782479122;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=LmIH1fxngC6S436VPRvPDb1Farbh0pJpGks2ZI7BB0I=;
        b=SmmSUPNBg3Uo4c3q8TusbeVXCDo2i7U6hFPIDnV5KyFoz4GfsnfujJrGsJsv3EY4TT
         GCYGRNBCPszywDlMT1RnQ+qPWQqDX9bYWtYFi+x+QyvXVB4DZQplmv2kD5RjkM4iRk+Q
         zjtVImndo6lNyNTAYyyCYSHaDVrP26SIZTC8VIRMV7vFxnGCsalsLb3p1gN7cRaNe7tw
         xwGoN+IOr1tZu4DrBp4ROT/+co4xaCDzgE/76MjtNrVfrOXS021+tL2jq9WDzUX0DG7E
         4bs3KOJPFPnqkN7BW852lhSM33QwrnK/3S2v9nncvP3G9uwyzX1uvhYn5pKAmK99/YyY
         Nf4A==
X-Gm-Message-State: AOJu0YxYlMxsBYK923Ark+oYdqD0SRW4UD7Cc99AR/AeopdzKGHhB7GA
	GDXDPJ1/r53SBJ4l+KxEIAWB4zT3UdgI1ZfK/sGuHF/4u+SLCkzM1ciC44LVhsDoSgs=
X-Gm-Gg: AfdE7cmxQo/7Lu8GkCC+SGIv21vUWF4zgcUfujRRG2jG5zfDAW4taUrYak1BoI5GQXC
	2NNHGshTghRmy7If4qegFjl9Mg4StMsyirjMhVmye4CI8Tm2eowNQ3wLyOUoj4QNzAQMnPW3hl1
	g4oB7E2xi6+F6RvED7xz6jGsQF7hI+nJtnbJa0yOqDzH+o4WKBhge623K2InJmXlvv/AF9jHwqi
	hmcvoan11ewTEoIDpIYePWxAFHpXyCJD9vyRDLo871XYp9Md3jfVnqj1BMi2+YKP/p9bANvOlmo
	JCoEU6zXvK8kjjL8jDlcMjoS+rbL4NT7xzOjCov4RFBscCZfTkcXYBgtixr66d1f7gi5BDN0YWI
	bYz8N+9a/Og+RzZi4Mb9hIwH/iUMYZMp4Y9HlTNPFWRM5sJFNypNd6de7aguzpqfnEZnBJhAm/x
	LVtaS4NNUFj2ya/ymTYG5IRw0Rcc05/QwNTMPblnv0F+r7hbX40oOjZ3GND/0uqSXaXXMiOLJlB
	2NXUxLv
X-Received: by 2002:aa7:c58b:0:b0:697:641b:11fc with SMTP id 4fb4d7f45d1cf-697641b13a4mr615235a12.16.1781874322377;
        Fri, 19 Jun 2026 06:05:22 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v6 10/16] libs/guest: add xg_foreignmemory_copy_{from,to}
Date: Fri, 19 Jun 2026 14:04:55 +0100
Message-ID: <20260619130501.272832-11-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619130501.272832-1-frediano.ziglio@citrix.com>
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1781874322-9C1F1127-70E27644/0/0
X-purgate-type: clean
X-purgate-size: 3469

This change prepare code to use a new "foreign copy" hypercall.
The new hypercall will copy memory from/to a foreign domain.
The new hypercall can be emulated with a sequence of:
- map foreign memory;
- copy memory;
- unmap foreign memory.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v5:
- Do not overwrite errno if xenforeignmemory_map fails.
---
 tools/libs/guest/xg_sr_common.c | 57 +++++++++++++++++++++++++++++++++
 tools/libs/guest/xg_sr_common.h |  8 +++++
 2 files changed, 65 insertions(+)

diff --git a/tools/libs/guest/xg_sr_common.c b/tools/libs/guest/xg_sr_common.c
index 9b2782b5cf..90da21c35f 100644
--- a/tools/libs/guest/xg_sr_common.c
+++ b/tools/libs/guest/xg_sr_common.c
@@ -156,6 +156,63 @@ static void __attribute__((unused)) build_assertions(void)
     BUILD_BUG_ON(sizeof(struct xc_sr_rec_hvm_params)        != 8);
 }
 
+enum {
+    foreigncopy_from,
+    foreigncopy_to
+};
+
+static int xg_foreignmemory_copy(xc_interface *xch, domid_t domid,
+                                 int dir, size_t nr_pages, void *buffer,
+                                 const xen_pfn_t foreign_pfns[nr_pages])
+{
+    if ( nr_pages == 0 )
+        return 0;
+
+    if ( !buffer || !foreign_pfns )
+    {
+        errno = EINVAL;
+        return -1;
+    }
+
+    int err[nr_pages];
+    const int prot = (dir == foreigncopy_from) ? PROT_READ : PROT_READ|PROT_WRITE;
+
+    void *p = xenforeignmemory_map(xch->fmem, domid, prot, nr_pages, foreign_pfns, err);
+    if ( !p )
+        return -1;
+
+    for ( size_t n = 0; n < nr_pages; ++n )
+        if ( err[n] )
+        {
+            xenforeignmemory_unmap(xch->fmem, p, nr_pages);
+            errno = -err[n];
+            return -1;
+        }
+
+    if ( dir == foreigncopy_from )
+        memcpy(buffer, p, nr_pages * XC_PAGE_SIZE);
+    else
+        memcpy(p, buffer, nr_pages * XC_PAGE_SIZE);
+
+    return xenforeignmemory_unmap(xch->fmem, p, nr_pages);
+}
+
+int xg_foreignmemory_copy_from(xc_interface *xch, domid_t dom,
+                               size_t nr_pages, void *dest,
+                               const xen_pfn_t source[nr_pages])
+{
+    return xg_foreignmemory_copy(xch, dom, foreigncopy_from,
+                                 nr_pages, dest, source);
+}
+
+int xg_foreignmemory_copy_to(xc_interface *xch, domid_t dom,
+                             size_t nr_pages, const xen_pfn_t dest[nr_pages],
+                             const void *source)
+{
+    return xg_foreignmemory_copy(xch, dom, foreigncopy_to,
+                                 nr_pages, (void *) source, dest);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/guest/xg_sr_common.h b/tools/libs/guest/xg_sr_common.h
index b2c441b644..e37f805240 100644
--- a/tools/libs/guest/xg_sr_common.h
+++ b/tools/libs/guest/xg_sr_common.h
@@ -553,6 +553,14 @@ static inline bool page_type_has_stream_data(uint32_t type)
     }
 }
 
+int xg_foreignmemory_copy_from(xc_interface *xch, domid_t dom,
+                               size_t nr_pages, void *dest,
+                               const xen_pfn_t source[nr_pages]);
+
+int xg_foreignmemory_copy_to(xc_interface *xch, domid_t dom,
+                             size_t nr_pages, const xen_pfn_t dest[nr_pages],
+                             const void *source);
+
 #endif
 /*
  * Local variables:
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 13:05:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 13:05:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342209.1602495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waYuU-0002kM-18; Fri, 19 Jun 2026 13:05:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342209.1602495; Fri, 19 Jun 2026 13: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 1waYuT-0002ix-QT; Fri, 19 Jun 2026 13:05:25 +0000
Received: by outflank-mailman (input) for mailman id 1342209;
 Fri, 19 Jun 2026 13:05:24 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1waYuS-0002XV-PQ
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:05:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waYuS-002qqj-6K
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 15:05:24 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e84-bab6-0a2a0a5309dd-0a2a4508d34e-32
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:24 +0200
Received: from [209.85.221.46] (helo=mail-wr1-f46.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e94-9ee7-0a2a45080019-d155dd2ec9ad-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:24 +0200
Received: by mail-wr1-f46.google.com with SMTP id
 ffacd0b85a97d-46255b269c2so1614727f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 06:05:24 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4650bc428d9sm7960088f8f.27.2026.06.19.06.05.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Jun 2026 06:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781874323; x=1782479123; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nZbBEu1yumZubA+jdFXfLBNW/6vA9c6a3PhaM+0TpSU=;
        b=EaudtYhR4fS7Y0nffC/v9yU2aL2ur/r90rSp5ky7NqMdzNV7WBrfTxXr2WXzm08uqR
         pVbCyNN8Px6/yPnEphqEseOiIlH0QakCnKLd84DhhaEJITnV61h9BxTkTFiL7I+9KyYF
         FwK7IDLmcgZdu9d6Ez9eTlMH/RbQ9oMjJo9rupqHk2br7H7cMmHm0tZMb1uP2zdMap7x
         wJgaMXlxNGaszbnkMR3dd0bALh6+y98hhlmRQXgq0UhpHUTgIpWUHm8pwCALQPzGVvSh
         /bsORKla+PRoyHdpGqIlaOuxr1Ki/0T7drM6XmhwaeEq06ZLVZuxSNN7JgSh0+D1S0wt
         MCPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781874323; x=1782479123;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=nZbBEu1yumZubA+jdFXfLBNW/6vA9c6a3PhaM+0TpSU=;
        b=PjoDV+ob3NKCc1IDTWOovoo6hlJLvBKCS1QnTrl+1fYc+JRjOKlJUdeB5AHReN/aE1
         +s8lK0G7X7QEh7U5BpujZV2OJGkPzwTj0swyR6GPZNgIH3biGK4sOeSyGKSGU5xGLKcn
         /jqwOTiyoWQrSuom45OrAGfiVDdyYnR0q2JWtVy3MpVRw8AAKTVrvE2CWeYbbzMQepaL
         H0v8byCayommqb2RPIQrhv4gttazbTAvmqmQTVS/eioadLkfpAbpOnS3Uovi/X+eHwj5
         E/d53VNxTFFVgPPsos8aOn3AnxkrAj+0EBlP2iWLYZY1Bll/nFAbHIpmIw0pHK5fBgoQ
         qkUg==
X-Gm-Message-State: AOJu0YzsbA0JpVza4dZnNh1lmSCu3IHhL+xQVJcz2mCs51G1xoOtxNXg
	pYp2Ud62NxKGIhgbR0oDo6E8sqHqSeREMQ4mwhJ896W4IR3ApyYlIdGwNKYPRskUWjw=
X-Gm-Gg: AfdE7clcQMJTNUzyNzzwP0ux+bxCEKUAVBPPwNNTw2EaOKpTJ6WL94e1/0/p9IKZ5UI
	ssCnYCdPVSuwEEjCaiLZ7kW5GZtXsve5dxYxD+9fXZ6ofwdAqJt/Ce6iDU/3MZluxVpe2yTRF70
	a5MlS9fFVCafHR6CD947XpYxMgDGqG5WSpNSf0snAQXuJxdNnTlK/q7I3uPWtM318YHsLQdfhH9
	Gw26os9b6UJ3+4QApI15zpvegtgKzQt8LY4K7zKJxL3kPLm1XHl/lPsI47bxo4+sbH3X9RCOgcr
	EJIHJG6xgIRx7amS7zytX3geJRRu7vjT00z8OGT9bv08MXfBgzFKlKiBj6oUVmYcuru+0R4WntM
	7mgadQLw0mKKX9dF2Iop+nr+x7K36mv5BMH/5heZ3tEq1AmQIeUu8cTAGnrGwdyQAgeGbP1vOVA
	W1RDGgjlztRbj4os6PzEVXLz53swWXj5cb2F4dzqsXuL740oMzKnQFV6zvFQlbGkP0BJ7uRTeKU
	xv4uLfN2LjB77NxNXM=
X-Received: by 2002:adf:f54f:0:b0:461:a161:8102 with SMTP id ffacd0b85a97d-46501d45833mr5100565f8f.28.1781874323465;
        Fri, 19 Jun 2026 06:05:23 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edwin.torok@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v6 11/16] PoC: libs/guest: use foreign copy during migration
Date: Fri, 19 Jun 2026 14:04:56 +0100
Message-ID: <20260619130501.272832-12-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619130501.272832-1-frediano.ziglio@citrix.com>
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c1860d/1781874324-674500FA-6918EB8D/0/0
X-purgate-type: clean
X-purgate-size: 8610

From: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>

ministat confirms the improvement:

```
x baseline
+ foreigncopy
    N           Min           Max        Median           Avg        Stddev
x  20     1.1306997     1.1447931     1.1356569     1.1365742   0.003242175
+  20     0.4311504    0.44180303    0.43616705    0.43600089  0.0031094689
Difference at 95.0% confidence
	-0.700573 +/- 0.00203311
	-61.639% +/- 0.133355%
	(Student's t, pooled s = 0.00317652)
```

The tests pass too, which means that it has correctly migrated all guest
memory.

Frediano: This PoC was adapted to be included in a final series.

Signed-off-by: Edwin TÃ¶rÃ¶k <edwin.torok@citrix.com>
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/libs/guest/xg_sr_common.h  |  1 +
 tools/libs/guest/xg_sr_restore.c | 43 +++--------------
 tools/libs/guest/xg_sr_save.c    | 82 +++++++++-----------------------
 3 files changed, 31 insertions(+), 95 deletions(-)

diff --git a/tools/libs/guest/xg_sr_common.h b/tools/libs/guest/xg_sr_common.h
index e37f805240..d8d8a0f9f7 100644
--- a/tools/libs/guest/xg_sr_common.h
+++ b/tools/libs/guest/xg_sr_common.h
@@ -256,6 +256,7 @@ struct xc_sr_context
             unsigned long nr_deferred_pages;
             xc_hypercall_buffer_t dirty_bitmap_hbuf;
             struct xc_sr_context_save_buffers *buffers;
+            void *dest_buf;
         } save;
 
         struct /* Restore data. */
diff --git a/tools/libs/guest/xg_sr_restore.c b/tools/libs/guest/xg_sr_restore.c
index fb46142d87..ff27560ff7 100644
--- a/tools/libs/guest/xg_sr_restore.c
+++ b/tools/libs/guest/xg_sr_restore.c
@@ -259,8 +259,8 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
     xen_pfn_t *mfns = malloc(count * sizeof(*mfns));
     int *map_errs = malloc(count * sizeof(*map_errs));
     int rc;
-    void *mapping = NULL, *guest_page = NULL;
     unsigned nr_pages;
+    void *const source = page_data;
 
     if ( !mfns || !map_errs )
     {
@@ -295,27 +295,8 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
     if ( nr_pages == 0 )
         goto done;
 
-    mapping = guest_page = xenforeignmemory_map(
-        xch->fmem, ctx->domid, PROT_READ | PROT_WRITE,
-        nr_pages, mfns, map_errs);
-    if ( !mapping )
-    {
-        rc = -1;
-        PERROR("Unable to map %u mfns for %u pages of data",
-               nr_pages, count);
-        goto err;
-    }
-
     for ( unsigned i = 0; i < nr_pages; ++i )
     {
-        if ( map_errs[i] )
-        {
-            rc = -1;
-            ERROR("Mapping pfn %#"PRIpfn" (mfn %#"PRIpfn", type %#"PRIx32") failed with %d",
-                  pfns[i], mfns[i], types[i], map_errs[i]);
-            goto err;
-        }
-
         /* Undo page normalisation done by the saver. */
         rc = ctx->restore.ops.localise_page(ctx, types[i], page_data);
         if ( rc )
@@ -325,29 +306,19 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
             goto err;
         }
 
-        if ( ctx->restore.verify )
-        {
-            /* Verify mode - compare incoming data to what we already have. */
-            if ( memcmp(guest_page, page_data, PAGE_SIZE) )
-                ERROR("verify pfn %#"PRIpfn" failed (type %#"PRIx32")",
-                      pfns[i], types[i] >> XEN_DOMCTL_PFINFO_LTAB_SHIFT);
-        }
-        else
-        {
-            /* Regular mode - copy incoming data into place. */
-            memcpy(guest_page, page_data, PAGE_SIZE);
-        }
-
-        guest_page += PAGE_SIZE;
         page_data += PAGE_SIZE;
     }
+    if ( !ctx->restore.verify )
+    {
+        rc = xg_foreignmemory_copy_to(xch, ctx->domid, nr_pages, mfns, source);
+        if ( rc < 0 )
+            goto err;
+    }
 
  done:
     rc = 0;
 
  err:
-    if ( mapping )
-        xenforeignmemory_unmap(xch->fmem, mapping, nr_pages);
 
     free(map_errs);
     free(mfns);
diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index 8a22267fdf..7a48f6b0a3 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -87,12 +87,10 @@ static int write_batch(struct xc_sr_context *ctx)
 {
     xc_interface *xch = ctx->xch;
     xen_pfn_t *mfns, *types;
-    void *guest_mapping = NULL;
     void **local_pages;
     int *errors, rc = -1;
-    unsigned int i, p, nr_pages = 0, nr_pages_mapped = 0;
+    unsigned int i, nr_pages = 0;
     unsigned int nr_pfns = ctx->save.nr_batch_pfns;
-    void *page, *orig_page;
     uint64_t *rec_pfns;
     struct iovec *iov; int iovcnt = 0;
     struct {
@@ -167,62 +165,18 @@ static int write_batch(struct xc_sr_context *ctx)
 
     iovcnt = 2;
 
-    if ( nr_pages > 0 )
+    rc = xg_foreignmemory_copy_from(xch, ctx->domid, nr_pages, ctx->save.dest_buf, mfns);
+    if ( rc < 0 )
     {
-        guest_mapping = xenforeignmemory_map(
-            xch->fmem, ctx->domid, PROT_READ, nr_pages, mfns, errors);
-        if ( !guest_mapping )
-        {
-            PERROR("Failed to map guest pages");
-            goto err;
-        }
-        nr_pages_mapped = nr_pages;
-
-        for ( i = 0, p = 0; i < nr_pfns; ++i )
-        {
-            if ( !page_type_has_stream_data(types[i]) )
-                continue;
-
-            if ( errors[p] )
-            {
-                ERROR("Mapping of pfn %#"PRIpfn" (mfn %#"PRIpfn") failed %d",
-                      ctx->save.batch_pfns[i], mfns[p], errors[p]);
-                goto err;
-            }
-
-            orig_page = page = guest_mapping + (p * PAGE_SIZE);
-            rc = ctx->save.ops.normalise_page(ctx, types[i], &page);
-
-            if ( orig_page != page )
-                local_pages[i] = page;
-
-            if ( rc )
-            {
-                if ( rc == -1 && errno == EAGAIN )
-                {
-                    set_bit(ctx->save.batch_pfns[i], ctx->save.deferred_pages);
-                    ++ctx->save.nr_deferred_pages;
-                    types[i] = XEN_DOMCTL_PFINFO_XTAB;
-                    --nr_pages;
-                }
-                else
-                    goto err;
-            }
-            else if ( iov[iovcnt - 1].iov_base + iov[iovcnt - 1].iov_len !=
-                      page )
-            {
-                iov[iovcnt].iov_base = page;
-                iov[iovcnt].iov_len = PAGE_SIZE;
-                iovcnt++;
-            }
-            else
-            {
-                iov[iovcnt - 1].iov_len += PAGE_SIZE;
-            }
+        ERROR("xg_foreignmemory_copy_from failed");
+        goto err;
+    }
 
-            rc = -1;
-            ++p;
-        }
+    if ( nr_pages )
+    {
+        iov[iovcnt].iov_base = ctx->save.dest_buf;
+        iov[iovcnt].iov_len = nr_pages << XC_PAGE_SHIFT;
+        iovcnt++;
     }
 
     hdrs.rec.length += nr_pages * PAGE_SIZE;
@@ -239,8 +193,6 @@ static int write_batch(struct xc_sr_context *ctx)
     rc = ctx->save.nr_batch_pfns = 0;
 
  err:
-    if ( guest_mapping )
-        xenforeignmemory_unmap(xch->fmem, guest_mapping, nr_pages_mapped);
     for ( i = 0; local_pages && i < nr_pfns; ++i )
     {
         free(local_pages[i]);
@@ -765,6 +717,7 @@ static int setup(struct xc_sr_context *ctx)
 {
     xc_interface *xch = ctx->xch;
     int rc;
+    const unsigned dest_buf_len = MAX_BATCH_SIZE * XC_PAGE_SIZE;
     DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap,
                                     &ctx->save.dirty_bitmap_hbuf);
 
@@ -776,6 +729,16 @@ static int setup(struct xc_sr_context *ctx)
         xch, dirty_bitmap, NRPAGES(bitmap_size(ctx->save.p2m_size)));
     ctx->save.deferred_pages = bitmap_alloc(ctx->save.p2m_size);
     ctx->save.buffers = calloc(1, sizeof(*ctx->save.buffers));
+    ctx->save.dest_buf = NULL;
+
+    rc = posix_memalign(&ctx->save.dest_buf, XC_PAGE_SIZE, dest_buf_len);
+    if ( rc )
+    {
+        ERROR("Unable to allocate %u bytes of buffer", dest_buf_len);
+        errno = rc;
+        rc = -1;
+        goto err;
+    }
 
     if ( !dirty_bitmap || !ctx->save.deferred_pages || !ctx->save.buffers)
     {
@@ -810,6 +773,7 @@ static void cleanup(struct xc_sr_context *ctx)
                                    NRPAGES(bitmap_size(ctx->save.p2m_size)));
     free(ctx->save.deferred_pages);
     free(ctx->save.buffers);
+    free(ctx->save.dest_buf);
 }
 
 /*
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 13:05:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 13:05:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342210.1602507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waYuV-0003DC-UY; Fri, 19 Jun 2026 13:05:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342210.1602507; Fri, 19 Jun 2026 13:05:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waYuV-0003AG-MW; Fri, 19 Jun 2026 13:05:27 +0000
Received: by outflank-mailman (input) for mailman id 1342210;
 Fri, 19 Jun 2026 13:05:26 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1waYuT-0002g9-Sb
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:05:25 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waYuT-00D4eo-8R
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 15:05:25 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e89-2eae-0a2a0a5409dd-0a2a450ba98e-42
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:25 +0200
Received: from [209.85.208.49] (helo=mail-ed1-f49.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e95-5e53-0a2a450b0019-d155d031d165-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:25 +0200
Received: by mail-ed1-f49.google.com with SMTP id
 4fb4d7f45d1cf-691c5776f35so3063436a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 06:05:25 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4650bc428d9sm7960088f8f.27.2026.06.19.06.05.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781874325; x=1782479125; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=i4GbNTJWWlsCX/SdHZdLeLVQ6qJfL6Y1RCmWUuA0EmY=;
        b=EJ8dzguCRr6U8zSKQmMMdzyLHRyT2qiVRwecqJV3Zd6o4phmjfmw18EDCwfkpwmS95
         9X4C723tFtgvnohIFXUkBWuqx0Kh29842nBLhtPTP9zTB+qppxU9+4km/hDcJ1z9KBey
         bUXLLS4EThkhpBfyJGpISxitIQJTWn4HpsT6ZwBjAVeL6XvxJOFbESTfYnCwC4Bwsi4d
         HXg/BoGNOfQ4rHqK40RUy5Km2vS5UhnLcgv8DsmWyrKvdxwO33v2Gpv551aaKGMFeRlO
         Hj0QWurEG0PONphN1k4jUMCMIEMO+IUdP3x/9c1GK5EDbL4qYS7DvXOYfRm0y00riIrj
         cvXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781874325; x=1782479125;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=i4GbNTJWWlsCX/SdHZdLeLVQ6qJfL6Y1RCmWUuA0EmY=;
        b=Ohb7a4O3SPd5iv1dxs1+ZMt/YmfRMr2BE5CUNk6VeIM0eDkINoNSefvVnwK2BqPfVO
         VZExhF0R4C/L4u8SaPjTYRZG89SYidc4IBFPzt8pk+yJqWb4hJRvsAcwUFUurZwlhEj2
         ARlZ88hB43q0+W8KsCT2vkZX5hig/Xlg9xlpEFWBGnNAT7/7oiGSrIr/XsTgEHruVEH2
         NbZOXJPtT52g0xxT5DGn5m+z7NW+vWpKeVA2HxMMYz+xBU5RqQUUtPMvblqAj4jfdQZ6
         T+r4cODWP2Yd+HPKzdrlE15lunlyldCcgerR6hF6NyVUr4yXlrieOjIQbQGqnAfVaEjo
         KvcQ==
X-Gm-Message-State: AOJu0YwIeerq7fAxRWAWC8UtfwSu8ebwFG2TxZCp8xYOcX9TWXy4zKib
	EE2yaUZsrjjppUAxYkzJ211ldwhA9weWqhUb8bc0xxFXRu8lOONTz1crGWNAg678nJM=
X-Gm-Gg: AfdE7cnjmDDqxCC2pjBmbNCGL+O8arH2a9joeyqC3O28Ax/S8gkEgie+SAfeG0DvwA7
	xLYKr991M9jra1Uj6JstuJVxQI9EuydT4Vcj2/eE5hsk0CCevLEE5CHRKikb5brI8TT5ioEP0cU
	FtR8iDhJ2CTGoSRj3dC+emARBwk+uBvIMortbh4vYMgBxbTEPwPhxkVpUaIIxwcsIL/l/U3XmMg
	g5buaw032wVZYNqjHNfBoclyjzcrfP2ectzD3NJICs5ti7VTGmbd/NcVEJCeCrJhoqbUP4WkJFo
	UfT9ty16b5xNGzjsPByeqITnRfH0KTdEW3tbCPjRRLDH8cmbBwvXfAxrnLgzb1fgeD8pq9ObZE3
	Rmc1PL3wEoCpsJp1TVMF3zvpuIhO2skPGNuUe93VLZffr1WxayHPMoUunkt5Ou+hzvv+PCJ+TLC
	Jt8xDTtWvaXif0DbE3OW4lmpzl9vPuyxfS/445O2NCQNXfoEe4NtSimpotYpcQFXpOeNimeUCzY
	lMfJWU6
X-Received: by 2002:a17:907:d01:b0:bfe:ed06:5a14 with SMTP id a640c23a62f3a-c0986e2ad05mr195244766b.50.1781874324572;
        Fri, 19 Jun 2026 06:05:24 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v6 12/16] xen: implement new foreign copy hypercall
Date: Fri, 19 Jun 2026 14:04:57 +0100
Message-ID: <20260619130501.272832-13-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619130501.272832-1-frediano.ziglio@citrix.com>
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1781874325-4FBEF00E-1715F220/0/0
X-purgate-type: clean
X-purgate-size: 7582

Add a sub hypercall to __HYPERVISOR_memory_op to allow to read/write
memory from/to a foreign domain.

Extending MMUEXT_COPY_PAGE seems better on first sight but considering
that MMUEXT is meant for PV only and trying to change that sub-op this
solution is better.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v4:
- Fix typo in comment.

Changes since v5:
- update xen_foreigncopy structure comments;
- move check for no frames after checking the domain;
- use mnemonic instead of 1U;
- fix page type checks;
- do not overwrite error copying back structure;
- latch MFN value;
- improved commit message.
---
 xen/common/memory.c         | 145 ++++++++++++++++++++++++++++++++++++
 xen/include/public/memory.h |  44 ++++++++++-
 2 files changed, 188 insertions(+), 1 deletion(-)

diff --git a/xen/common/memory.c b/xen/common/memory.c
index 3672bda025..98726766bf 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -1545,6 +1545,139 @@ static int acquire_resource(
     return rc;
 }
 
+/*
+ * The "noinline" qualifier avoids the compiler to create a large function
+ * consuming quite a lot of stack.
+ */
+static int noinline mem_foreigncopy(
+    XEN_GUEST_HANDLE_PARAM(xen_foreigncopy_t) arg)
+{
+    struct domain *d, *const currd = current->domain;
+    xen_foreigncopy_t copy;
+    int rc, direction;
+
+    if ( copy_from_guest(&copy, arg, 1) )
+        return -EFAULT;
+
+    if ( copy.flags & ~XENMEM_foreigncopy_direction )
+        return -EINVAL;
+
+    direction = copy.flags & XENMEM_foreigncopy_direction;
+
+    rc = rcu_lock_remote_domain_by_id(copy.domid, &d);
+    if ( rc )
+        return rc;
+
+    if ( copy.nr_frames == 0 )
+    {
+        rcu_unlock_domain(d);
+        return 0;
+    }
+
+    /*
+     * Check we are allowed to map and access these foreign pages.
+     */
+    rc = xsm_map_gmfn_foreign(XSM_TARGET, currd, d);
+    if ( rc )
+        goto out;
+
+    do {
+        /*
+         * Arbitrary size.  Not too much stack space, and a reasonable stride
+         * for continuation checks.
+         */
+        xen_pfn_t gfn_list[32];
+        unsigned int todo = MIN(ARRAY_SIZE(gfn_list), copy.nr_frames);
+
+        rc = -EFAULT;
+        if ( copy_from_guest(gfn_list, copy.frame_list, todo) )
+            goto out;
+
+        for ( unsigned int i = 0; i < todo; i++ )
+        {
+            struct page_info *foreign_page;
+            mfn_t foreign_mfn;
+            void *foreign;
+            p2m_type_t p2mt;
+            const unsigned long valid_mask =
+#ifdef CONFIG_X86
+                p2m_to_mask(p2m_ram_rw) | p2m_to_mask(p2m_ram_logdirty);
+#else
+                p2m_to_mask(p2m_ram_rw);
+#endif
+
+            foreign_page = get_page_from_gfn(d, gfn_list[i], &p2mt, P2M_ALLOC);
+
+            if ( unlikely(!(p2m_to_mask(p2mt) & valid_mask)) && foreign_page )
+            {
+                put_page(foreign_page);
+                foreign_page = NULL;
+            }
+            if ( unlikely(!foreign_page) )
+            {
+                gdprintk(XENLOG_WARNING,
+                         "Error accessing foreign gfn %" PRI_gfn "\n",
+                         gfn_list[i]);
+                rc = -EINVAL;
+                copy.nr_frames -= i;
+                guest_handle_add_offset(copy.frame_list, i);
+                goto out;
+            }
+
+            foreign_mfn = page_to_mfn(foreign_page);
+
+            /* A page is dirtied when it's being copied to. */
+            if ( direction == XENMEM_foreigncopy_to )
+                paging_mark_dirty(d, foreign_mfn);
+
+            foreign = map_domain_page(foreign_mfn);
+            if ( direction == XENMEM_foreigncopy_from )
+                rc = copy_to_guest(copy.buffer, foreign, PAGE_SIZE);
+            else
+                rc = copy_from_guest(foreign, copy.buffer, PAGE_SIZE);
+            unmap_domain_page(foreign);
+            put_page(foreign_page);
+
+            if ( unlikely(rc) )
+            {
+                gdprintk(XENLOG_WARNING,
+                         "Error %d copying gfn %" PRI_gfn "\n",
+                         -rc, gfn_list[i]);
+                copy.nr_frames -= i;
+                guest_handle_add_offset(copy.frame_list, i);
+                goto out;
+            }
+
+            guest_handle_add_offset(copy.buffer, PAGE_SIZE);
+        }
+
+        copy.nr_frames -= todo;
+        guest_handle_add_offset(copy.frame_list, todo);
+
+        if ( copy.nr_frames && hypercall_preempt_check() )
+        {
+            rc = hypercall_create_continuation(
+                __HYPERVISOR_memory_op, "lh", XENMEM_foreigncopy, arg);
+            goto out;
+        }
+    } while ( copy.nr_frames );
+
+    rc = 0;
+
+ out:
+    rcu_unlock_domain(d);
+
+    /*
+     * Update in all cases, it allows the caller to know how many
+     * frames were successfully copied and the continuation to
+     * continue correctly.
+     */
+    if ( __copy_to_guest(arg, &copy, 1) && rc >= 0 )
+        rc = -EFAULT;
+
+    return rc;
+}
+
 long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
 {
     struct domain *d, *curr_d = current->domain;
@@ -2012,6 +2145,18 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
             start_extent);
         break;
 
+    case XENMEM_foreigncopy:
+        /*
+         * Instead of using "start_extent" we update the structure back,
+         * we update it back in anyway to tell caller were the copy
+         * stopped.
+         */
+        if ( unlikely(start_extent) )
+            return -EINVAL;
+
+        rc = mem_foreigncopy(guest_handle_cast(arg, xen_foreigncopy_t));
+        break;
+
     default:
         rc = arch_memory_op(cmd, arg);
         break;
diff --git a/xen/include/public/memory.h b/xen/include/public/memory.h
index bd9fc37b52..dbf86fd595 100644
--- a/xen/include/public/memory.h
+++ b/xen/include/public/memory.h
@@ -740,7 +740,49 @@ struct xen_vnuma_topology_info {
 typedef struct xen_vnuma_topology_info xen_vnuma_topology_info_t;
 DEFINE_XEN_GUEST_HANDLE(xen_vnuma_topology_info_t);
 
-/* Next available subop number is 29 */
+/*
+ * Copy memory from/to a given domain.
+ * As this call requires target access and guest with target access won't be
+ * compat guests supported for compat guests this is not implemented.
+ */
+#define XENMEM_foreigncopy 29
+struct xen_foreigncopy {
+    /* IN - The domain whose memory is to be copied. */
+    domid_t domid;
+
+    /* IN - Flags. */
+#define XENMEM_foreigncopy_from 0
+#define XENMEM_foreigncopy_to 1
+#define XENMEM_foreigncopy_direction 1
+    uint16_t flags;
+
+    /*
+     * IN/OUT
+     *
+     * As an IN parameter number of frames of the domain to be copied.
+     * On output on error updated number of frames left.
+     */
+    uint32_t nr_frames;
+
+    /*
+     * IN/OUT
+     *
+     * Frames to be copied.
+     * On output on error updated to point to first frame unhandled.
+     */
+    XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
+
+    /*
+     * IN/OUT
+     *
+     * Userspace buffer to read/write from.
+     */
+    XEN_GUEST_HANDLE(uint8) buffer;
+};
+typedef struct xen_foreigncopy xen_foreigncopy_t;
+DEFINE_XEN_GUEST_HANDLE(xen_foreigncopy_t);
+
+/* Next available subop number is 30 */
 
 #endif /* __XEN_PUBLIC_MEMORY_H__ */
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 13:05:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 13:05:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342211.1602518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waYuX-0003aE-H0; Fri, 19 Jun 2026 13:05:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342211.1602518; Fri, 19 Jun 2026 13:05: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 1waYuX-0003Z5-6I; Fri, 19 Jun 2026 13:05:29 +0000
Received: by outflank-mailman (input) for mailman id 1342211;
 Fri, 19 Jun 2026 13:05:27 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1waYuV-00031s-51
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:05:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waYuU-002qp2-Hr
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 15:05:26 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e96-5cb7-0a2a0a5109dd-0a2a4502961a-0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:26 +0200
Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e96-fdf1-0a2a45020019-d155dd35a441-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:26 +0200
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-462cdb88d01so1443655f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 06:05:26 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4650bc428d9sm7960088f8f.27.2026.06.19.06.05.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Jun 2026 06:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781874326; x=1782479126; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=HooZdhgBaCiFwgXUzAForDPKGFGx999vnsqrg/7EOTU=;
        b=o9PkIc9rKjlwHGgrhjXNjAqIE0Ya6wZhJjbcMKufWV9ZZzq47BgD7DbXhhATvULc25
         b/m2L+M5BJV71ZGkUytii0YBt0cwJZcp4jl4VoiTA6zfTZWtkxGzfUzUcRCrKAlFZ2ko
         59NZtGaTJJld5oR4a/SkHySok3gEH1sIVwLUeVqEnO+ag0kUS6AOhkUmGKeeThcT8fl0
         tplCTCrZ15//eA4L3T1US3ULa5O/6pyAZRKA1j1OOW2lQWuuNoP7Ez1TRJLMxhXoJbNi
         y2/5sGKsspJOeYB6+9mRCUN+w7rGhX+RdsQurJ7JIezprXwx2U9l+d8YiWY7OmN74oyk
         NMSg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781874326; x=1782479126;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=HooZdhgBaCiFwgXUzAForDPKGFGx999vnsqrg/7EOTU=;
        b=BHInXD6cO4VbZJ+0bFXNQcF67PSrvTjBIPd2hc/2g+H3fAeYM4GB/j7cGkEss/BxnH
         jS1bep3dbvzyj+xNEPum5PbCMvjSbRTn7H60ZYcFNQlqf+RfO20SCcMZgB5dDLi8bF9P
         xSWShDfAkTBiYUl/DrqkJ+5UMurjEN1RlPFfBmmX20dI5LliX624tSxcA6zmttBry+mD
         KnNc8fQETJIwRqNY/5zg4Bb6JEWLcNxDjqLZq36niakliTSn4GvirZ8WmxEphhoq8m0e
         /nVuT4qmXvB+6kyaT8frYfq5gajGnjMTWIm/XrZWNxmImDzVl1p2LEgPND7z9TDLeqMC
         3oqg==
X-Gm-Message-State: AOJu0Ywpocim+Y+jKyUd5o5UbG8b0NEymCkQAAbC3EcWmwu7eHIPnIKX
	+GJ01miABBsaI7EF5/KRL1CW+Vj4PfiwKABJo9iHxc8FIEUC3JSUTtDeNeKI8Yk479U=
X-Gm-Gg: AfdE7cmCF+2yUVEX+vU4ODjaOg2nc508xB+r5gS6vAkcpHB3M/TJnRZ/bIwHOm8FAwM
	nH3qsfXbvKsS6TrFwldu6Y5ACJYeTK4OPn6XMT621VXslfUIKBZ+dsSlMshxWBL1JCAn/dnHpd/
	ysdjVdFRXuN4fLJ9UmAwFBPFKRCqTOnf0VNMZKTApbrMkNm8fb8st4TyRPxIkwTnrf1BiJEplO0
	L6jyaJfozgai4fT4Cmv8oWkYJqyXxyH2ZvNiJKRFwOt/0LInQHk5oJZLYRORf1QvJvGzRKw/b6C
	Pd9gVFc6mTSbn9gLhftZF6uRdRrzM3lvI/TfNEwp2vzZZw7n2CB9Zry28CPV0eSE6yAjpcmeX8t
	ireDex2W7+xTLfJSK9PYWdBdh7qDRSI1Gw36/iPOgfQYvEoR1Qi5DHP9SmAzX4acqH+MrH6Hbya
	OjYh+g1bOe5bnNG1EorRuEQ9G01Bn2L6+jZLhwLT4uw5SQopTbO5TKpTF8dcD/XCGlZGVzgsbkP
	dMIY6gH6oeX7/I5wN4=
X-Received: by 2002:a5d:5f47:0:b0:460:2d57:6923 with SMTP id ffacd0b85a97d-4651da3bf5bmr4733595f8f.10.1781874325651;
        Fri, 19 Jun 2026 06:05:25 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v6 13/16] privcmd: Add definition for new Linux privcmd to access new Xen hypercall
Date: Fri, 19 Jun 2026 14:04:58 +0100
Message-ID: <20260619130501.272832-14-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619130501.272832-1-frediano.ziglio@citrix.com>
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1781874326-47E773F3-106676AE/0/0
X-purgate-type: clean
X-purgate-size: 1400

Userspace should use new ioctl to access new hypercall.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v4:
- update comment.
---
 tools/include/xen-sys/Linux/privcmd.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/tools/include/xen-sys/Linux/privcmd.h b/tools/include/xen-sys/Linux/privcmd.h
index 607dfa2287..7a3c41308b 100644
--- a/tools/include/xen-sys/Linux/privcmd.h
+++ b/tools/include/xen-sys/Linux/privcmd.h
@@ -100,6 +100,14 @@ typedef struct privcmd_pcidev_get_gsi {
 	__u32 gsi;
 } privcmd_pcidev_get_gsi_t;
 
+typedef struct privcmd_foreigncopy {
+	domid_t dom;          /* Foreign domain. */
+	__u16 dir;            /* Direction,  0 from, 1 to. */
+	__u32 num;            /* Number of pages to copy. */
+	const xen_pfn_t __user *pfns; /* Array of pfns. */
+	void __user *buffer;  /* Buffer to copy to/from. */
+} privcmd_foreigncopy_t;
+
 /*
  * @cmd: IOCTL_PRIVCMD_HYPERCALL
  * @arg: &privcmd_hypercall_t
@@ -121,6 +129,8 @@ typedef struct privcmd_pcidev_get_gsi {
 	_IOC(_IOC_NONE, 'P', 7, sizeof(privcmd_mmap_resource_t))
 #define IOCTL_PRIVCMD_PCIDEV_GET_GSI			\
 	_IOC(_IOC_NONE, 'P', 10, sizeof(privcmd_pcidev_get_gsi_t))
+#define IOCTL_PRIVCMD_FOREIGNCOPY				\
+	_IOWR('P', 11, privcmd_foreigncopy_t)
 #define IOCTL_PRIVCMD_UNIMPLEMENTED				\
 	_IOC(_IOC_NONE, 'P', 0xFF, 0)
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 13:05:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 13:05:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342215.1602527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waYuY-0003s2-W7; Fri, 19 Jun 2026 13:05:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342215.1602527; Fri, 19 Jun 2026 13:05: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 1waYuY-0003pd-KX; Fri, 19 Jun 2026 13:05:30 +0000
Received: by outflank-mailman (input) for mailman id 1342215;
 Fri, 19 Jun 2026 13:05:29 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1waYuW-0003Oi-Ns
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:05:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waYuW-00D4eo-4h
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 15:05:28 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e89-2eae-0a2a0a5409dd-0a2a450ba98e-48
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:27 +0200
Received: from [209.85.218.45] (helo=mail-ej1-f45.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e97-5e53-0a2a450b0019-d155da2dc847-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:27 +0200
Received: by mail-ej1-f45.google.com with SMTP id
 a640c23a62f3a-c0c2cd63abcso8619666b.2
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 06:05:27 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4650bc428d9sm7960088f8f.27.2026.06.19.06.05.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Jun 2026 06:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781874327; x=1782479127; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Hgv7ktFS+jLe873S6Sbh6nVqNabtaLtoEOjsXoZuzKo=;
        b=cdF3yC64Ce+D2emYuDcoHFM5+ae2GJUS0BVu93IaDgZgKkfbdlvVmIUMWDPEXU2yKt
         aJ3LG3kqxqVOiQ8xXlb/13q+pDZgSHsUisa+tzdVPsE6EQSxppnT4ScMJmBiG3J9Unvl
         CVLwp6jnXDe2BQNggOp5f7WNAaW309SbYawfsNZ9n1lAyISG9rzAz8GTaPw2CDiPjIet
         EagKKo331Upge06Bwo9NG6pVk/QAEqmERcsueksX2BoViJToFOPL7xXzFeLLNZ/YkqCt
         YHHqTNB16M+kw+cuk/TCkjt+yb62YKdHZJ56+BjwyW6qdvPxDCoBfzpYS2ebZrcdrqo/
         3Wbg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781874327; x=1782479127;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=Hgv7ktFS+jLe873S6Sbh6nVqNabtaLtoEOjsXoZuzKo=;
        b=Z0qZ73yyCPp6sDuM4BtkKNCJGtz7vQpK+//EQrI8QVlVtDLzb6hDbBdPdt8g7K9WA8
         nZVNR1HxqsHy2qlHc1FViwLAbQCx5Cgcb3V4QNnREidBtQej2nZ5e2xiX5jZ24qsVx7X
         tPJayUUOklqrkFXQ95H8ehMFKzkLYzfJLQyw83anx/qe5Q4VNoUKKuswB+SfOHsCrBf3
         5MoMaiHb4lshhHRD5IvucD+FhzoHYTUUUAD3TbeRdkBThb7eebHvwWL0f0sG/gJhVqsI
         QM9WPPN8LhQGw1FSJairXW1CzQfXLW84b7e8ag961M/1I/8uRsSohSvbwo9NYX8igGKj
         t/hA==
X-Gm-Message-State: AOJu0Yz4aBokVz73Wf0RuTPDWROioDvJUmerFh+N7G5i5E8wjKTgVy43
	41By5h8+A4ydHu9MLjqINCXvIQaV3uja6Yzn5ZFqaV57s3dmgHySxpw3ctEqLU+51B4=
X-Gm-Gg: AfdE7clDC+oS9/ug9q9uiMzydQ2/tAeZgyzLwvUZV+3lnPNJYE5F6/t1o8P7euK85sf
	sqahgFta3VliebONgRs5EIuilETtCNzX+g1uwsd+tTe6wMTxQCQ+B6nRjQdmv9WPlvFZ005pTOt
	x5mTQF16ekS8icSNxyWv4yaHA/9EyeRiZArELwdlzWowKDLpe4hWicDptZjgTSNXL7rUmD/vyX6
	8RiCUKYDYnKOr8uxBrnYQmwxRavEDiY+8Dg9DmUnsRGXqsANLLOc7PfwH5PKXXrS7SJV9D5vHaz
	4AOLPlEC6fm8Nm8PLit3wcfDQNvwbV/rYEUAKzSygvQgiRBcWUs9wYCMvhv/i8pRwxkupOrtS2O
	NFntO5xAP9JttzlSb1DIymAycymJ2K/VHoZFAsBgIBPcgf/xNb3PU4Xnvm10OvGxI2v2UJKYBZf
	W1W32KX5oHqbEyFZu8GR0QtloTJDykB9IOyLiHLvIW8YHTcm8kWgLmL0rALdMVPBBI6zj9qxpNy
	pyHyufc
X-Received: by 2002:a17:907:25c1:b0:bee:1e36:876c with SMTP id a640c23a62f3a-c097cbca770mr174465366b.41.1781874327127;
        Fri, 19 Jun 2026 06:05:27 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v6 14/16] libs/guest: use new hypercall if available
Date: Fri, 19 Jun 2026 14:04:59 +0100
Message-ID: <20260619130501.272832-15-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619130501.272832-1-frediano.ziglio@citrix.com>
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1781874327-473E300E-1732FAA3/0/0
X-purgate-type: clean
X-purgate-size: 3605

Use new hypercall if available, otherwise fall back to map+copy+unmap
sequence.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v4:
- use int8_t instead of char for signed type.
---
 tools/libs/guest/xg_sr_common.c | 47 ++++++++++++++++++++++++++-------
 1 file changed, 38 insertions(+), 9 deletions(-)

diff --git a/tools/libs/guest/xg_sr_common.c b/tools/libs/guest/xg_sr_common.c
index 90da21c35f..c2e7d78e33 100644
--- a/tools/libs/guest/xg_sr_common.c
+++ b/tools/libs/guest/xg_sr_common.c
@@ -156,11 +156,6 @@ static void __attribute__((unused)) build_assertions(void)
     BUILD_BUG_ON(sizeof(struct xc_sr_rec_hvm_params)        != 8);
 }
 
-enum {
-    foreigncopy_from,
-    foreigncopy_to
-};
-
 static int xg_foreignmemory_copy(xc_interface *xch, domid_t domid,
                                  int dir, size_t nr_pages, void *buffer,
                                  const xen_pfn_t foreign_pfns[nr_pages])
@@ -174,8 +169,42 @@ static int xg_foreignmemory_copy(xc_interface *xch, domid_t domid,
         return -1;
     }
 
+    /*
+     * If foreign copy is supported, -1 not initialized, 0 not supported,
+     * 1 supported.
+     */
+    static int8_t foreign_copy_supported = -1;
+
+    if ( foreign_copy_supported )
+    {
+        int rc;
+        privcmd_foreigncopy_t copy = {
+            .dom = domid,
+            .dir = dir,
+            .num = nr_pages,
+            .buffer = buffer,
+        };
+        DECLARE_HYPERCALL_BOUNCE_IN(foreign_pfns, nr_pages * sizeof(xen_pfn_t));
+
+        if ( xc_hypercall_bounce_pre(xch, foreign_pfns) )
+            return -1;
+
+        copy.pfns = foreign_pfns;
+
+        rc = ioctl(xencall_fd(xch->xcall), IOCTL_PRIVCMD_FOREIGNCOPY, &copy);
+        if ( foreign_copy_supported < 0 )
+            foreign_copy_supported =
+                (!rc || (errno != ENOTTY && errno != ENOSYS));
+
+        xc_hypercall_bounce_post(xch, foreign_pfns);
+
+        if ( foreign_copy_supported )
+            return rc;
+    }
+
+    /* Fallback, emulate. */
     int err[nr_pages];
-    const int prot = (dir == foreigncopy_from) ? PROT_READ : PROT_READ|PROT_WRITE;
+    const int prot = (dir == XENMEM_foreigncopy_from) ? PROT_READ : PROT_READ|PROT_WRITE;
 
     void *p = xenforeignmemory_map(xch->fmem, domid, prot, nr_pages, foreign_pfns, err);
     if ( !p )
@@ -189,7 +218,7 @@ static int xg_foreignmemory_copy(xc_interface *xch, domid_t domid,
             return -1;
         }
 
-    if ( dir == foreigncopy_from )
+    if ( dir == XENMEM_foreigncopy_from )
         memcpy(buffer, p, nr_pages * XC_PAGE_SIZE);
     else
         memcpy(p, buffer, nr_pages * XC_PAGE_SIZE);
@@ -201,7 +230,7 @@ int xg_foreignmemory_copy_from(xc_interface *xch, domid_t dom,
                                size_t nr_pages, void *dest,
                                const xen_pfn_t source[nr_pages])
 {
-    return xg_foreignmemory_copy(xch, dom, foreigncopy_from,
+    return xg_foreignmemory_copy(xch, dom, XENMEM_foreigncopy_from,
                                  nr_pages, dest, source);
 }
 
@@ -209,7 +238,7 @@ int xg_foreignmemory_copy_to(xc_interface *xch, domid_t dom,
                              size_t nr_pages, const xen_pfn_t dest[nr_pages],
                              const void *source)
 {
-    return xg_foreignmemory_copy(xch, dom, foreigncopy_to,
+    return xg_foreignmemory_copy(xch, dom, XENMEM_foreigncopy_to,
                                  nr_pages, (void *) source, dest);
 }
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 13:05:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 13:05:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342219.1602533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waYuZ-0003xh-KO; Fri, 19 Jun 2026 13:05:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342219.1602533; Fri, 19 Jun 2026 13:05: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 1waYuZ-0003vZ-8m; Fri, 19 Jun 2026 13:05:31 +0000
Received: by outflank-mailman (input) for mailman id 1342219;
 Fri, 19 Jun 2026 13:05:29 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1waYuX-0003ba-Lv
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:05:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waYuX-002qp2-2J
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 15:05:29 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e87-5cb7-0a2a0a5109dd-0a2a450a86f4-30
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:29 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e98-93a5-0a2a450a0019-d155802ba851-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:29 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-490b8ac62baso30807175e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 06:05:28 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4650bc428d9sm7960088f8f.27.2026.06.19.06.05.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Jun 2026 06:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781874328; x=1782479128; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3Ff5kZpJnZoWVUEHvo6/yv/R6ViOZwYTEyBjzyp1uSE=;
        b=M+9bZ9dFnC/aotkPpIaQ1S4sdXPxRunS+rfJMaTzmKItzK5xrOLCnYMsGSqOW+KTYj
         A1fdLytdOpDoHnxgQeAVZl4R5gA4VxZDNul5cy427tiol9CxMViIOM/5GUL2q+q2Sf/d
         Mn6f766VoL2/kFy3ZuqzbPQUlAnBM8ltNrq/6oDs09ZlwIw8VaczrS5Zpy5FUPrio4AG
         tX0Wa7ksOmHIWZD+R2QzK9OwLRvj3fzhoHJ31vKm/vUfToifVJhU40sIIs5V8LtuoCYk
         k5Kqtq2Y7bHxeOko0zk4TT3tSLzLSZgtnX5/oyLYSi0iKwMz1IrmX1jRDcOrbB9RUIvO
         /ztQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781874328; x=1782479128;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=3Ff5kZpJnZoWVUEHvo6/yv/R6ViOZwYTEyBjzyp1uSE=;
        b=c/HCH3tOTBmAkMX1RDhjG0QLf1QWGiubreidA279+uvkk/o3mZkoO6D78tMJkFC7Ve
         PjUiYzD9a9/H+x+MurItNNHrdsW8tsZklH83wFtADnASWiBp2yNDRxllDl8dlEZxLSTt
         sBfkXA1pEwayJnt+9y5XrVYJVReMr8L3Hp4tIGXOYKuJ8y029dqaLLZ+Mj14OZDFwHaH
         ZH2L4P/R+HsvOSbzDNnEjSeuonTJccJnZLrXAyMNChUT6LZGs6ZkmmKaglCkZoWdcFnZ
         wUJopPxBtM3Q3DJ9jM22A9Bek6CpTnlaWH9K2Jo92yOwIE8ufKpUhxmb45y9e5YbmsG3
         1rMA==
X-Gm-Message-State: AOJu0YzLHHFwcFmxOiReVO2ajGVG3YguudPNVrg8OV6fF6mjes1IdXsO
	rLjYEPqDZCmBRJG0ygP2dIaLEs8GaDB76M7sMtd5LFhEcgrJdZFiyjiEEPLVnfQFjHg=
X-Gm-Gg: AfdE7clI5yvliIWvvP8MWzSYUaQfS/yvt2ViiH1T/zi32YUnGHUkcjSqgm9O6H8uTgJ
	+Cp42ePA6+tHIv8RPr7LD8oM4Z2B5zughRSZTCTL0XP0XFWzCyOvGWJGkN2ACDL5lhvfrHwZAdZ
	zYyw0KShAZKnMPp9bkHB2I7CzFxU53ayrLI5TylxZNKLvfOKS3JRnqrKqls42k/48sY8dxqPBAl
	MCBVo+pBPIEGocVdzxbz8KRIIQvanhpJ7+w0tu6630ygm74ovzDzMvaw6OU4zpsRkAhayhHQYs1
	pDeAKl3bFaaoowpk3bGC5JcYnE8QP6JXdNA0XU2cEQxvs0r8TnFCD0Xl8vk4UfNHgXcXZymGJCV
	004rd3vG2sPzQ0HNQXqjeNawP2inCMC7DRi2MI1pRbGtAGIDgQURXjGmj0rU+W5yeiUaQHkhr14
	YVuQ1+BOCzXigz4I9hzm2S0qLMJyY5VOhnNofenOeWnzhPp0sR6sXY3h89IkD1OO27N9ToDvztb
	hAe6DRn
X-Received: by 2002:a05:600c:42d3:b0:48e:8eb0:4957 with SMTP id 5b1f17b1804b1-49240a00dacmr34007335e9.2.1781874328194;
        Fri, 19 Jun 2026 06:05:28 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v6 15/16] libs/guest: finalize PoC
Date: Fri, 19 Jun 2026 14:05:00 +0100
Message-ID: <20260619130501.272832-16-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619130501.272832-1-frediano.ziglio@citrix.com>
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1781874329-B05F8DB8-08FF7610/0/0
X-purgate-type: clean
X-purgate-size: 10539

Remove now unused map_errs array.
Test and restore verification code.
Report correctly errors from writev_exact.
Allocate verification buffer using hypercall buffer to avoid errors
using hypercall.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/libs/guest/xg_sr_common.h  |  4 +-
 tools/libs/guest/xg_sr_restore.c | 45 +++++++++++++++--
 tools/libs/guest/xg_sr_save.c    | 83 +++++++++++++++++++++-----------
 3 files changed, 98 insertions(+), 34 deletions(-)

diff --git a/tools/libs/guest/xg_sr_common.h b/tools/libs/guest/xg_sr_common.h
index d8d8a0f9f7..cd562f028a 100644
--- a/tools/libs/guest/xg_sr_common.h
+++ b/tools/libs/guest/xg_sr_common.h
@@ -217,7 +217,6 @@ struct xc_sr_context_save_buffers
     void *local_pages[MAX_BATCH_SIZE];
     struct iovec iov[MAX_BATCH_SIZE + 2]; /* Headers + data. */
     uint64_t rec_pfns[MAX_BATCH_SIZE];
-    int errors[MAX_BATCH_SIZE];
 };
 
 struct xc_sr_context
@@ -255,8 +254,8 @@ struct xc_sr_context
             unsigned long *deferred_pages;
             unsigned long nr_deferred_pages;
             xc_hypercall_buffer_t dirty_bitmap_hbuf;
+            xc_hypercall_buffer_t dest_buf;
             struct xc_sr_context_save_buffers *buffers;
-            void *dest_buf;
         } save;
 
         struct /* Restore data. */
@@ -267,6 +266,7 @@ struct xc_sr_context
             int send_back_fd;
             unsigned long p2m_size;
             xc_hypercall_buffer_t dirty_bitmap_hbuf;
+            xc_hypercall_buffer_t verify_buf;
 
             /* From Image Header. */
             uint32_t format_version;
diff --git a/tools/libs/guest/xg_sr_restore.c b/tools/libs/guest/xg_sr_restore.c
index ff27560ff7..b2df36c6f6 100644
--- a/tools/libs/guest/xg_sr_restore.c
+++ b/tools/libs/guest/xg_sr_restore.c
@@ -257,16 +257,15 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
 {
     xc_interface *xch = ctx->xch;
     xen_pfn_t *mfns = malloc(count * sizeof(*mfns));
-    int *map_errs = malloc(count * sizeof(*map_errs));
     int rc;
     unsigned nr_pages;
     void *const source = page_data;
 
-    if ( !mfns || !map_errs )
+    if ( !mfns )
     {
         rc = -1;
         ERROR("Failed to allocate %zu bytes to process page data",
-              count * (sizeof(*mfns) + sizeof(*map_errs)));
+              count * sizeof(*mfns));
         goto err;
     }
 
@@ -314,13 +313,33 @@ static int process_page_data(struct xc_sr_context *ctx, unsigned int count,
         if ( rc < 0 )
             goto err;
     }
+    else
+    {
+        DECLARE_HYPERCALL_BUFFER_SHADOW(uint8_t, verify_buf,
+                                        &ctx->restore.verify_buf);
+
+        rc = xg_foreignmemory_copy_from(xch, ctx->domid, nr_pages, verify_buf, mfns);
+        if ( rc < 0 )
+            goto err;
+
+        void *guest_page = verify_buf;
+        page_data = source;
+        for ( unsigned i = 0; i < nr_pages; ++i )
+        {
+            /* Verify mode - compare incoming data to what we already have. */
+            if ( memcmp(guest_page, page_data, PAGE_SIZE) )
+                ERROR("verify pfn %#"PRIpfn" failed (type %#"PRIx32")",
+                      pfns[i], types[i] >> XEN_DOMCTL_PFINFO_LTAB_SHIFT);
+
+            guest_page += PAGE_SIZE;
+            page_data += PAGE_SIZE;
+        }
+    }
 
  done:
     rc = 0;
 
  err:
-
-    free(map_errs);
     free(mfns);
 
     return rc;
@@ -710,6 +729,18 @@ static int setup(struct xc_sr_context *ctx)
     int rc;
     DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap,
                                     &ctx->restore.dirty_bitmap_hbuf);
+    DECLARE_HYPERCALL_BUFFER_SHADOW(uint8_t, verify_buf,
+                                    &ctx->restore.verify_buf);
+
+    verify_buf = xc_hypercall_buffer_alloc_pages(
+        xch, verify_buf, MAX_BATCH_SIZE);
+
+    if ( !verify_buf )
+    {
+        ERROR("Unable to allocate memory for test buffer");
+        rc = -1;
+        goto err;
+    }
 
     if ( ctx->stream_type == XC_STREAM_COLO )
     {
@@ -758,6 +789,8 @@ static void cleanup(struct xc_sr_context *ctx)
     unsigned int i;
     DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap,
                                     &ctx->restore.dirty_bitmap_hbuf);
+    DECLARE_HYPERCALL_BUFFER_SHADOW(uint8_t, verify_buf,
+                                    &ctx->restore.verify_buf);
 
     for ( i = 0; i < ctx->restore.buffered_rec_num; i++ )
         free(ctx->restore.buffered_records[i].data);
@@ -766,6 +799,8 @@ static void cleanup(struct xc_sr_context *ctx)
         xc_hypercall_buffer_free_pages(
             xch, dirty_bitmap, NRPAGES(bitmap_size(ctx->restore.p2m_size)));
 
+    xc_hypercall_buffer_free_pages(xch, verify_buf, MAX_BATCH_SIZE);
+
     free(ctx->restore.buffered_records);
     free(ctx->restore.populated_pfns);
 
diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
index 7a48f6b0a3..f6ada3152d 100644
--- a/tools/libs/guest/xg_sr_save.c
+++ b/tools/libs/guest/xg_sr_save.c
@@ -88,7 +88,7 @@ static int write_batch(struct xc_sr_context *ctx)
     xc_interface *xch = ctx->xch;
     xen_pfn_t *mfns, *types;
     void **local_pages;
-    int *errors, rc = -1;
+    int rc = -1;
     unsigned int i, nr_pages = 0;
     unsigned int nr_pfns = ctx->save.nr_batch_pfns;
     uint64_t *rec_pfns;
@@ -108,8 +108,6 @@ static int write_batch(struct xc_sr_context *ctx)
     mfns = ctx->save.buffers->mfns;
     /* Types of the batch pfns. */
     types = ctx->save.buffers->types;
-    /* Errors from attempting to map the gfns. */
-    errors = ctx->save.buffers->errors;
     /* Pointers to locally allocated pages.  Need freeing. */
     local_pages = ctx->save.buffers->local_pages;
     memset(local_pages, 0, sizeof(*local_pages) * nr_pfns);
@@ -165,18 +163,54 @@ static int write_batch(struct xc_sr_context *ctx)
 
     iovcnt = 2;
 
-    rc = xg_foreignmemory_copy_from(xch, ctx->domid, nr_pages, ctx->save.dest_buf, mfns);
-    if ( rc < 0 )
-    {
-        ERROR("xg_foreignmemory_copy_from failed");
-        goto err;
-    }
-
     if ( nr_pages )
     {
-        iov[iovcnt].iov_base = ctx->save.dest_buf;
-        iov[iovcnt].iov_len = nr_pages << XC_PAGE_SHIFT;
-        iovcnt++;
+        int p;
+        void *page, *orig_page;
+
+        DECLARE_HYPERCALL_BUFFER_SHADOW(uint8_t, dest_buf,
+                                        &ctx->save.dest_buf);
+
+        rc = xg_foreignmemory_copy_from(xch, ctx->domid, nr_pages, dest_buf, mfns);
+        if ( rc < 0 )
+        {
+            ERROR("xg_foreignmemory_copy_from failed");
+            goto err;
+        }
+
+        for ( i = 0, p = 0; i < nr_pfns; ++i )
+        {
+            if ( !page_type_has_stream_data(types[i]) )
+                continue;
+
+            orig_page = page = dest_buf + (p * PAGE_SIZE);
+            rc = ctx->save.ops.normalise_page(ctx, types[i], &page);
+
+            if ( orig_page != page )
+                local_pages[i] = page;
+
+            if ( rc )
+            {
+                if ( rc != -1 || errno != EAGAIN )
+                    goto err;
+
+                set_bit(ctx->save.batch_pfns[i], ctx->save.deferred_pages);
+                ++ctx->save.nr_deferred_pages;
+                types[i] = XEN_DOMCTL_PFINFO_XTAB;
+                --nr_pages;
+            }
+            else if ( iov[iovcnt-1].iov_base + iov[iovcnt-1].iov_len == page )
+            {
+                iov[iovcnt-1].iov_len += PAGE_SIZE;
+            }
+            else
+            {
+                iov[iovcnt].iov_base = page;
+                iov[iovcnt].iov_len = PAGE_SIZE;
+                iovcnt++;
+            }
+            ++p;
+        }
     }
 
     hdrs.rec.length += nr_pages * PAGE_SIZE;
@@ -187,6 +221,7 @@ static int write_batch(struct xc_sr_context *ctx)
     if ( writev_exact(ctx->fd, iov, iovcnt) )
     {
         PERROR("Failed to write page data to stream");
+        rc = -1;
         goto err;
     }
 
@@ -717,30 +752,23 @@ static int setup(struct xc_sr_context *ctx)
 {
     xc_interface *xch = ctx->xch;
     int rc;
-    const unsigned dest_buf_len = MAX_BATCH_SIZE * XC_PAGE_SIZE;
     DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap,
                                     &ctx->save.dirty_bitmap_hbuf);
+    DECLARE_HYPERCALL_BUFFER_SHADOW(uint8_t, dest_buf,
+                                    &ctx->save.dest_buf);
 
     rc = ctx->save.ops.setup(ctx);
     if ( rc )
         goto err;
 
+    dest_buf = xc_hypercall_buffer_alloc_pages(
+        xch, dest_buf, MAX_BATCH_SIZE);
     dirty_bitmap = xc_hypercall_buffer_alloc_pages(
         xch, dirty_bitmap, NRPAGES(bitmap_size(ctx->save.p2m_size)));
     ctx->save.deferred_pages = bitmap_alloc(ctx->save.p2m_size);
     ctx->save.buffers = calloc(1, sizeof(*ctx->save.buffers));
-    ctx->save.dest_buf = NULL;
-
-    rc = posix_memalign(&ctx->save.dest_buf, XC_PAGE_SIZE, dest_buf_len);
-    if ( rc )
-    {
-        ERROR("Unable to allocate %u bytes of buffer", dest_buf_len);
-        errno = rc;
-        rc = -1;
-        goto err;
-    }
 
-    if ( !dirty_bitmap || !ctx->save.deferred_pages || !ctx->save.buffers)
+    if ( !dirty_bitmap || !ctx->save.deferred_pages || !ctx->save.buffers || !dest_buf )
     {
         ERROR("Unable to allocate memory for dirty bitmaps, deferred pages"
               " and various batch buffers");
@@ -761,7 +789,8 @@ static void cleanup(struct xc_sr_context *ctx)
     xc_interface *xch = ctx->xch;
     DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap,
                                     &ctx->save.dirty_bitmap_hbuf);
-
+    DECLARE_HYPERCALL_BUFFER_SHADOW(uint8_t, dest_buf,
+                                    &ctx->save.dest_buf);
 
     xc_shadow_control(xch, ctx->domid, XEN_DOMCTL_SHADOW_OP_OFF,
                       NULL, 0);
@@ -771,9 +800,9 @@ static void cleanup(struct xc_sr_context *ctx)
 
     xc_hypercall_buffer_free_pages(xch, dirty_bitmap,
                                    NRPAGES(bitmap_size(ctx->save.p2m_size)));
+    xc_hypercall_buffer_free_pages(xch, dest_buf, MAX_BATCH_SIZE);
     free(ctx->save.deferred_pages);
     free(ctx->save.buffers);
-    free(ctx->save.dest_buf);
 }
 
 /*
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 13:05:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 13:05:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342221.1602541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waYub-0004HM-2r; Fri, 19 Jun 2026 13:05:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342221.1602541; Fri, 19 Jun 2026 13:05: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 1waYua-0004Dt-Ic; Fri, 19 Jun 2026 13:05:32 +0000
Received: by outflank-mailman (input) for mailman id 1342221;
 Fri, 19 Jun 2026 13:05:30 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1waYuY-0003mE-HX
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:05:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waYuX-005gIU-U0
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 15:05:29 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e99-e002-0a2a0a5209dd-0a2a4505c468-4
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:29 +0200
Received: from [209.85.221.54] (helo=mail-wr1-f54.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <freddy77@gmail.com>)
 id 6a353e99-ef3d-0a2a45050019-d155dd36c15d-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:05:29 +0200
Received: by mail-wr1-f54.google.com with SMTP id
 ffacd0b85a97d-4626fdc829aso1606309f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 06:05:29 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4650bc428d9sm7960088f8f.27.2026.06.19.06.05.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Jun 2026 06:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781874329; x=1782479129; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=in4wc4RHuN4wnGlvZnYvNPCqhNJf+PX4+zFEttlP3cI=;
        b=dXImFdDFQuNiev9VsBsxGovO5HEkkliS+48AqyRwEQ/IZcbjzEQQZhdP+VWyfW03gv
         Xm8q6+xO+/2YChLTvYvTdQYr21yyZGZIo3dJiVsxvpKHFMU29hPEH4f2RDCQWB1k19N2
         fUEShwyiYx5Qd9ZcBAJ6NVU6VjYl8GkkT/cNos5HEH/enGef2ccrtK9c3I+7CApXngvw
         plE3WS1qfe0+8GvIW7gsG9kpRNCkrqqajn3Kz5mE/Jaib9ei8fp5HjhaCDii2lKq2A5H
         hJBEUZeoTo/bXDiKofh0ihoFH3IyhM0OnGCAvBsbgUH7+KHLbRRldCOelZzLavu6xcbo
         6x6g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781874329; x=1782479129;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=in4wc4RHuN4wnGlvZnYvNPCqhNJf+PX4+zFEttlP3cI=;
        b=AvXcwSX22UBLFMr2sjadPwkA1/0x1XmpF9IsXsLNbKmGgl4Bs1PaymOBj3lU3NjY3k
         rRTfIb9bUOD9bbXpnZPt/T4fEZD8IILfy7SP4GYz4nH6oNYZUEzuev/gXAYY3csppHno
         TzMItJL9PLevgCatdtBPKFyjHy1rpDlWBGy4arFu5zRfcfa3RzP0YZjSVrSE4FE1tOhi
         gZ51e2W5bWoucEX45fMsYbe306XdCdxP08bNnx261rnS0vF9tMKP7tIFXLJSyKS+aXWm
         aHCXJ7yOMM6i6qu+lFrIurt+Dr0Ati+TaxW6H7Grn+i/XxBlh4blRYGsnLwnHUcHTF6E
         v4xQ==
X-Gm-Message-State: AOJu0YxAhAYGsm7GamwO5FTPHYNqX7YSvRqhbFhzXiCqXjzmGPTfg+4O
	GOETafrsHq/BlZbKjXmhJv3UBKkIjpTUOXs+45GIHtYZutmN/yhkhiDc04Uh6K9w5OA=
X-Gm-Gg: AfdE7clCsAHT1kK05Uko6Aa5701JROmBmq1chYJmgejV6vsbkq7bHwM7joRU4e0fBTM
	b9kFreJFe1R2j/RBnO81b+/mWMr8wS6LdImi9LHi9fTfZyTZNHEf+mA5xvu7fGCAsjb15C1vtou
	Jzdwao1lYPHlH/vS7RBCm4t7UX3I5AZYFvUrUiE+Og5DRluHslF9ds8BeWckpCGyVzgaxyp3y9v
	n7owdX8+SbrNcZGOeI1URi7fThU+axplyz9pP5eQ9baE03rCLTZbq5tQl98kDIV0QYd2lhktk6O
	Ly16r5Uq6gr0yySbjx/eIF/6oCo5w6g/O4TKfaijxKTKIHd/6EGevjro/0ItXu5nv1i3UM5DEBt
	YvUQ1TyM9D6BjUcbY5YLIWktEQyZNAeHABevfw6xVG7ass2mE77jeD7FI7yVK6HJKj1dYVtJD52
	59Q3j6C6yfAL3vtWYxkNfshmbuMbT2tS0JSiYOjy3KSi9KNZrYtR4WV9vWCxesrq+y8PrfAoGOm
	GMz8znT
X-Received: by 2002:a5d:5d10:0:b0:462:4b98:3c83 with SMTP id ffacd0b85a97d-4656f4704a9mr3496293f8f.23.1781874329118;
        Fri, 19 Jun 2026 06:05:29 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH Linux v6 16/16] xen/privcmd: Add new ABI to allow copying foreign memory
Date: Fri, 19 Jun 2026 14:05:01 +0100
Message-ID: <20260619130501.272832-17-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260619130501.272832-1-frediano.ziglio@citrix.com>
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1781874329-9FFD2127-5BD508FC/0/0
X-purgate-type: clean
X-purgate-size: 5338

This new ABI allows to copy foreign domain memory to/from a buffer.
This avoids having to map/copy/unmap foreign memory which is
expensive.
This operation is done particularly when migrating VMs.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v4:
- fix wrong assign;
- use set_xen_guest_handle to set handle;
- wrap slow hypercall with xen_preemptible_hcall_{begin,end};
- use _IOWR for ioctl code to be more specific;
- use __copy_to_user if buffer already checked.

---
 arch/x86/include/asm/xen/interface.h |  1 +
 drivers/xen/privcmd.c                | 49 ++++++++++++++++++++++++++++
 include/uapi/xen/privcmd.h           | 10 ++++++
 include/xen/interface/memory.h       | 37 +++++++++++++++++++++
 4 files changed, 97 insertions(+)

diff --git a/arch/x86/include/asm/xen/interface.h b/arch/x86/include/asm/xen/interface.h
index a078a2b0f032..bac3c3bc60fd 100644
--- a/arch/x86/include/asm/xen/interface.h
+++ b/arch/x86/include/asm/xen/interface.h
@@ -91,6 +91,7 @@ DEFINE_GUEST_HANDLE(int);
 DEFINE_GUEST_HANDLE(void);
 DEFINE_GUEST_HANDLE(uint64_t);
 DEFINE_GUEST_HANDLE(uint32_t);
+DEFINE_GUEST_HANDLE(uint8_t);
 DEFINE_GUEST_HANDLE(xen_pfn_t);
 DEFINE_GUEST_HANDLE(xen_ulong_t);
 #endif
diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
index 725a49a0eee7..67bf085d91e1 100644
--- a/drivers/xen/privcmd.c
+++ b/drivers/xen/privcmd.c
@@ -1522,6 +1522,51 @@ static inline void privcmd_ioeventfd_exit(void)
 }
 #endif /* CONFIG_XEN_PRIVCMD_EVENTFD */
 
+static long privcmd_ioctl_foreigncopy(
+	struct file *file, void __user *udata)
+{
+	const struct privcmd_data *const data = file->private_data;
+	long ret;
+	struct privcmd_foreigncopy copy;
+	struct xen_foreigncopy xcopy;
+
+	if (copy_from_user(&copy, udata, sizeof(copy)))
+		return -EFAULT;
+	if (copy.dir & ~1u)
+		return -EINVAL;
+	if (copy.num >= U32_MAX >> PAGE_SHIFT)
+		return -EINVAL;
+	if (!access_ok(copy.pfns, copy.num * sizeof(*copy.pfns)))
+		return -EFAULT;
+	if (!access_ok(copy.buffer, copy.num << PAGE_SHIFT))
+		return -EFAULT;
+
+	/* If restriction is in place, check the domid matches */
+	if (data->domid != DOMID_INVALID && data->domid != copy.dom)
+		return -EPERM;
+
+	xcopy.domid = copy.dom;
+	xcopy.flags = copy.dir;
+	xcopy.nr_frames = copy.num;
+	set_xen_guest_handle(xcopy.frame_list,  (__force xen_pfn_t *)copy.pfns);
+	set_xen_guest_handle(xcopy.buffer, (__force uint8_t *)copy.buffer);
+
+	xen_preemptible_hcall_begin();
+	ret = HYPERVISOR_memory_op(XENMEM_foreigncopy, &xcopy);
+	xen_preemptible_hcall_end();
+
+	/* copy values back in case of error */
+	if (ret) {
+		copy.num = xcopy.nr_frames;
+		copy.pfns = xcopy.frame_list;
+		copy.buffer = xcopy.buffer;
+		if (__copy_to_user(udata, &copy, sizeof(copy)))
+			ret = -EFAULT;
+	}
+
+	return ret;
+}
+
 static long privcmd_ioctl(struct file *file,
 			  unsigned int cmd, unsigned long data)
 {
@@ -1569,6 +1614,10 @@ static long privcmd_ioctl(struct file *file,
 		ret = privcmd_ioctl_pcidev_get_gsi(file, udata);
 		break;
 
+	case IOCTL_PRIVCMD_FOREIGNCOPY:
+		ret = privcmd_ioctl_foreigncopy(file, udata);
+		break;
+
 	default:
 		break;
 	}
diff --git a/include/uapi/xen/privcmd.h b/include/uapi/xen/privcmd.h
index 8e2c8fd44764..993b501e35bf 100644
--- a/include/uapi/xen/privcmd.h
+++ b/include/uapi/xen/privcmd.h
@@ -131,6 +131,14 @@ struct privcmd_pcidev_get_gsi {
 	__u32 gsi;
 };
 
+struct privcmd_foreigncopy {
+	domid_t dom;		/* foreign domain */
+	__u16 dir;		/* direction,  0 from, 1 to */
+	__u32 num;		/* number of pages to copy */
+	const xen_pfn_t __user *pfns;	/* array of pfns */
+	void __user *buffer;	/* buffer to copy to/from */
+};
+
 /*
  * @cmd: IOCTL_PRIVCMD_HYPERCALL
  * @arg: &privcmd_hypercall_t
@@ -164,5 +172,7 @@ struct privcmd_pcidev_get_gsi {
 	_IOW('P', 9, struct privcmd_ioeventfd)
 #define IOCTL_PRIVCMD_PCIDEV_GET_GSI				\
 	_IOC(_IOC_NONE, 'P', 10, sizeof(struct privcmd_pcidev_get_gsi))
+#define IOCTL_PRIVCMD_FOREIGNCOPY				\
+	_IOWR('P', 11, struct privcmd_foreigncopy)
 
 #endif /* __LINUX_PUBLIC_PRIVCMD_H__ */
diff --git a/include/xen/interface/memory.h b/include/xen/interface/memory.h
index 1a371a825c55..5981402fccde 100644
--- a/include/xen/interface/memory.h
+++ b/include/xen/interface/memory.h
@@ -325,4 +325,41 @@ struct xen_mem_acquire_resource {
 };
 DEFINE_GUEST_HANDLE_STRUCT(xen_mem_acquire_resource);
 
+/*
+ * Copy memory from/to a given domain.
+ */
+#define XENMEM_foreigncopy 29
+struct xen_foreigncopy {
+    /* IN - The domain whose resource is to be copied */
+    domid_t domid;
+
+    /* IN - Flags */
+#define XENMEM_foreigncopy_from 0
+#define XENMEM_foreigncopy_to 1
+#define XENMEM_foreigncopy_direction 1
+    uint16_t flags;
+
+    /*
+     * IN
+     *
+     * As an IN parameter number of frames of the domain to be copied.
+     */
+    uint32_t nr_frames;
+
+    /*
+     * IN
+     *
+     * Frames to be copied.
+     */
+    GUEST_HANDLE(xen_pfn_t) frame_list;
+
+    /*
+     * IN/OUT
+     *
+     * Userspace buffer to read/write from.
+     */
+    GUEST_HANDLE(uint8_t) buffer;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_foreigncopy);
+
 #endif /* __XEN_PUBLIC_MEMORY_H__ */
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 13:17:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 13:17:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342319.1602556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waZ6E-0002Fl-S8; Fri, 19 Jun 2026 13:17:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342319.1602556; Fri, 19 Jun 2026 13:17: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 1waZ6E-0002Fe-Pc; Fri, 19 Jun 2026 13:17:34 +0000
Received: by outflank-mailman (input) for mailman id 1342319;
 Fri, 19 Jun 2026 13:17:33 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1waZ6D-0002EH-JZ
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:17:33 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waZ6D-001G53-0R
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 15:17:33 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a354155-bab6-0a2a0a5309dd-0a2a45049732-48
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:17:32 +0200
Received: from [209.85.221.48] (helo=mail-wr1-f48.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a35416c-5f9f-0a2a45040019-d155dd30e441-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:17:32 +0200
Received: by mail-wr1-f48.google.com with SMTP id
 ffacd0b85a97d-460662fcb4eso1530860f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 06:17:32 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4650bc429a1sm7834093f8f.30.2026.06.19.06.17.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 19 Jun 2026 06:17:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781875052; x=1782479852; 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=btEfb8vfetbnAZC2sOM7Pkpu8f2YVh0fdWWVei8ika8=;
        b=PmMLwtSBpOvEZDlw9XdwSurVweLTo6LAdp4Glm0a9u72kUAkLeEp5q2EbKSoKVJsnK
         b0pjxAGVlkg+ZkatLSexx6ol6wRfugagHaFkTivspsfr9akUEFI9J+SXTao58K0qmPsV
         SrOOZcbkjoNndCUp6fSD8tXX8PziB/KMua1MD97muo0Vw79hb4fhGptJmD+FGoI9JLdt
         0ex0muPC4nBEPLaNHFVLABc04qDVTxYfMNPxZOzNDwzgIqS/inTbtM397e8ml5ys87Nz
         xxqo2dS/vuHsS6UkubbhdHFNp+GpT6jNsBpGoMYljwWiGUZinA+M00DQE3VWO8itGunq
         2UZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781875052; x=1782479852;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=btEfb8vfetbnAZC2sOM7Pkpu8f2YVh0fdWWVei8ika8=;
        b=qt5CdlHCINg8LzT0F3FXZzZ0IDVMO1EFtQA0Hc7TuWnvguyBz2S68FofBWJwlBIQMc
         WXT11tGgz5wvpz8zYsi13tTPsT5Xgr7pf6v9JuKRCO+PfbMADTPlHD1nIkJT7mxnlFPs
         Dhq1cvgI99fLHHbsXiKopX9KXt9MxCxhvtxlekS1DjjS2A/uFF/DTbGJa1dzVfo3lFb1
         kHkuIReMdaHE2agzyIx8ERtA82S6VqUWfHV7KFJcaPstNnFio5Mc2DhRcwf3gqdAZdsE
         VNueZS2aj5J/z4Mfhnk71lsLqqIWmUZoYM6UviyrHwtwF1dwOyLoJV87ALimbPCDHi/3
         ou1Q==
X-Forwarded-Encrypted: i=1; AFNElJ+kWKVvSJEIqbAPo+UGQIn/lVckDi/OkK5hRBUik4sEK5f2fFItOhMvJxrdPA4SWhoCRNy50kue1CU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzFYX5WOhLPaGAL22PcIPME+5NthKjL8poFlW5JIIiVEWtgf3W+
	sGLGnnLOeVIJOqJL8d/opzOZwa5uwEajml/aVE8auGXQ/DqhHmVgk4+5Vd9UyQ==
X-Gm-Gg: AfdE7cmja5SGNG8jtgNpbVoc0p12GjmJU1QaWT1UXbNszUAnkJJiV+nJiFo9ajPTdTq
	5sf2uClAKDVCrUEfzYES7632BP5iElNc3xQUGo26zNIQuh6j0dVK1UYMRhduLp7q9HmlefgZKac
	sfiUu6EAwdnUi9JB0zXko29kwF+hPM5n7bUT4A5E2BzF3MCe3ZJljYY9ocudHINbjfFiCGs+4k8
	dW+PdtqtnsxoJTCtc2Y62glcRof/+zx1EyqTyWRqsIZS9ShscQNlO8BsXt7kHS6rIuL0tDfSs/D
	RXC/XHmrA1fSh9ktEkI1ly349aFYA/xd+a96uf35K/P8Y8U5EEejylqnNEGCiOq/T3HDgICsIPX
	f97jSxrLje3kJiQ6Y5GnP5EBNrW2pIeSfut5hAUGRn1UTertCKKzUOTGNLB3vjtfRI7Rz3lWyrz
	O7SQdf1W2zEnZgtzUHBjS6MzsB6DWIU9rDCESOvIT748Pn9M4OMhcfjp/o6DDNcmeSqznnNuoph
	DwiTg==
X-Received: by 2002:a5d:4b51:0:b0:43c:ffee:ee94 with SMTP id ffacd0b85a97d-465077bfbe4mr4644374f8f.11.1781875052040;
        Fri, 19 Jun 2026 06:17:32 -0700 (PDT)
Message-ID: <6f154afa-38b0-4193-be42-585f4ce72fc8@gmail.com>
Date: Fri, 19 Jun 2026 15:17:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v2.5] xen/arm: gic: defer host LPI allocation
 until after ITS init
To: Julien Grall <julien@xen.org>, "Orzel, Michal" <michal.orzel@amd.com>,
 Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Luca Fancellu <luca.fancellu@arm.com>, Mykola Kvach
 <xakep.amatop@gmail.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <112419d3ea48ca328849c8f6647909d3eb667b40.1779922874.git.mykola_kvach@epam.com>
 <341edd8de63dcd84ccc6e7b6c03e9e8fc7105184.1781847061.git.mykola_kvach@epam.com>
 <7a0a1867-8316-4e20-971e-fab99c9f4a32@amd.com>
 <e43afc29-cfbb-4978-9324-e8d540040bfa@amd.com>
 <1877ea55-0c8d-4593-a310-259b4c5aef3c@xen.org>
 <b47b9bf3-1aa6-41b6-8c7c-48d64cca1c36@amd.com>
 <5d3dff74-f51d-4bfc-b917-3c84f2094f34@xen.org>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <5d3dff74-f51d-4bfc-b917-3c84f2094f34@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1781875052-9D5CC141-7D91473E/10/73395122804
X-purgate-type: spam
X-purgate-size: 1373



On 6/19/26 1:52 PM, Julien Grall wrote:
> 
> 
> On 19/06/2026 12:34, Orzel, Michal wrote:
>>
>>
>> On 19-Jun-26 13:23, Julien Grall wrote:
>>> Hi Michal,
>>>
>>> On 19/06/2026 10:48, Orzel, Michal wrote:
>>>> @Oleksii, can we ask for a release ack here?
>>>
>>> Can you explain the pros/cons of introducing this patch quite late?
>> The advantage is that it fixes the broken LPIs on affected hardware.
> 
>  > The disadvantage is the reordering risk but I don't think there is 
> any issue.
> 
> See more below.
>>>
>>> One of the risk here is that we are now initializing the LPIs *after*
>>> the ITSes. I understand this is because we want to know the workaround.
>>> However, I vaguely recall that there was a dependency in the
>>> configuration. So are we confident the new ordering will not bring other
>>> issues? Ideally this should have been explained in the commit message.
>> gic-v3-its.c never references host LPI state, so ITS init has no 
>> dependency on LPIs.
> 
> My concern is at the HW level. The ITS is using LPIs. But we will 
> configure the ITS first and then the LPIs.
> 
> What probaly saves us is the fact gicv3_lpi_init_host_lpis() only seem 
> to allocate memory. This is a bit fragile though.

Julien, do you think that a fix should be done differently and this one 
isn't really acceptable?

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 13:35:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 13:35:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342336.1602566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waZNE-0006Gz-9H; Fri, 19 Jun 2026 13:35:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342336.1602566; Fri, 19 Jun 2026 13: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 1waZNE-0006Gs-6I; Fri, 19 Jun 2026 13:35:08 +0000
Received: by outflank-mailman (input) for mailman id 1342336;
 Fri, 19 Jun 2026 13:35:07 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ee01787db000701b@swg.vates.tech>)
 id 1waZNB-0006Gm-QS
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:35:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waZNB-002w5C-3E
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 15:35:05 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ee01787db000701b@swg.vates.tech>)
 id 6a354581-e002-0a2a0a5209dd-0a2a45029812-28
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:35:04 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ee01787db000701b@swg.vates.tech>)
 id 6a354588-fdf1-0a2a45020019-b9ff1c12b571-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:35:04 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ee01787db000701b.002 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 19 Jun 2026 13:34:59 +0000
Received: from l14 (lfbn-lyo-1-414-55.w2-7.abo.wanadoo.fr [2.7.24.55])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id 508B98607F;
 Fri, 19 Jun 2026 15:34:58 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=NPhSHPWZjW1pMC4iH3e0ur8vBOjVx+837mvYoCHj4EU=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=QbPnYJmfGZ4FNo5vXClEbADvoskSU5iTcqHi6a4QGTLuR79uMXpMiCUqVkA9tHVjC/Vbmpg/N
 5LfoDwlg0idWevFMgciGKzAdQR7NT7vUTF2Y3bjD9xNUwxCJ82uDsIww5qPs6wyTQ24n8NzSnlU
 aqWOGd92x8EC2pdouuVm2nOg3hx3DlsAZcpTCOJRSdy+hDCFeekz9ffECqdgax+7xHrCroFSd4B
 wHHxM8jCi98UJOwtwVkN+IY0Jx+bYXed/t27a0cJqogmORMmjtCQ63kMD2gLKgwkGNq+uh/NQmo
 FVCTAfl7UJg3DCDsXrR1Pid2V3/lGFIcuIV0jkbuLAMQ==
X-Zone-Loop: f112c002c8be2142dae769208e74fdf4a2fdabe05cfc
x-campaign-type: default
x-transaction-id: a8d13983-c03f-411a-b0d2-ef0e3b548ac1
x-swg-uid: 01-8c06583d-0347-4eb4-b609-8bf25465d002
X-Mailer: Sweego
Message-ID:
 <1781876099.8631fc262581453bbf619ec5b2062170.19ee01787db000701b@vates.tech>
x-swg-bid: 1781876099.8631fc262581453bbf619ec5b2062170.19ee01787db000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 19 Jun 2026 15:34:58 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: Thierry Escande <thierry.escande@vates.tech>
Cc: xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>,
	Alexey Gerasimenko <x1917x@gmail.com>
Subject: Re: [PATCH 12/17] libxl: Q35 support (new option
 device_model_machine)
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-13-thierry.escande@vates.tech>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20260313163455.790692-13-thierry.escande@vates.tech>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.77e.e40f7946aacc6f47.19ee0178576.982acf75126d056d=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781876098422
X-purgate-ID: tlsNG-720697/1781876104-4D8683F3-68E26E64/0/0
X-purgate-type: clean
X-purgate-size: 5964

---=Part.77e.e40f7946aacc6f47.19ee0178576.982acf75126d056d=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Fri, Mar 13, 2026 at 04:35:04PM +0000, Thierry Escande wrote:
> Provide a new domain config option to select the emulated machine type,
> device_model_machine=2E It has following possible values:
> - "i440" - i440 emulation (default)
> - "q35" - emulate a Q35 machine=2E By default, the storage interface is
> AHCI=2E
>=20
> Note that omitting device_model_machine parameter means i440 system
> by default, so the default behavior doesn't change for existing domain
> config files=2E
>=20
> Setting device_model_machine to "q35" sends '-machine q35,accel=3Dxen'
> argument to QEMU=2E

That new configuration is going to do more than adding this argument to
the to the QEMU command line=2E

"accel=3Dxen" isn't new, it's already used=2E It just happen that the
machine "xenfv" in QEMU sets it by default=2E

> Unlike i440, there is no separated machine type to
> enable/disable Xen platform device, it is controlled via a machine
> property only=2E

As it should be=2E We don't use a separated machine type to control the
presence or not of the xen-platform-pci device, we use it because
historically that was the only way to enable Xen support in QEMU=2E Before
`accel=3Dxen` was introduced=2E

We could also add the xen-platform-pci device separately with the i440
chipset, but switching from `xenfv` to `pc` would break migration=2E

Speaking of migration, we might want to force users to select a
particular version of a q35 machine, something like "pc-q35-10=2E0", as
this would make it possible to migrate between two different versions of
QEMU without too much trouble=2E

We could have them run something like
    /usr/lib/xen/bin/qemu-system-i386 -machine '?'
to have the list of machine, or have libxl list all the possible machine
or just the machine name that would be the alias of "q35"=2E
(in -machine '?' output, that looks like:
    q35    Standard PC (Q35 + ICH9, 2009) (alias of pc-q35-10=2E2)
)

That would be necessary, until the toolstack would be capable of using
the same machine version on both end of a migration=2E

> See 'libxl: Add xen-platform device for Q35 machine'
> patch for a detailed description=2E
>=20
> Signed-off-by: Alexey Gerasimenko <x1917x@gmail=2Ecom>
> Signed-off-by: Thierry Escande <thierry=2Eescande@vates=2Etech>
> ---
>  tools/libs/light/libxl_dm=2Ec      | 16 ++++++++++------
>  tools/libs/light/libxl_types=2Eidl |  7 +++++++
>  tools/xl/xl_parse=2Ec              | 14 ++++++++++++++
>  3 files changed, 31 insertions(+), 6 deletions(-)
>=20
> diff --git a/tools/libs/light/libxl_dm=2Ec b/tools/libs/light/libxl_dm=
=2Ec
> index 511ec76a65=2E=2E36f2813cde 100644
> --- a/tools/libs/light/libxl_dm=2Ec
> +++ b/tools/libs/light/libxl_dm=2Ec
> @@ -1562,13 +1562,17 @@ static int libxl__build_device_model_args_new(li=
bxl__gc *gc,
>              flexarray_append(dm_args, b_info->extra_pv[i]);
>          break;
>      case LIBXL_DOMAIN_TYPE_HVM:
> -        if (!libxl_defbool_val(b_info->u=2Ehvm=2Exen_platform_pci)) {
> -            /* Switching here to the machine "pc" which does not add
> -             * the xen-platform device instead of the default "xenfv" m=
achine=2E
> -             */
> -            machinearg =3D libxl__strdup(gc, "pc,accel=3Dxen,suppress-v=
mdesc=3Don");
> +        if (b_info->device_model_machine =3D=3D LIBXL_DEVICE_MODEL_MACH=
INE_Q35) {
> +            machinearg =3D libxl__sprintf(gc, "q35,accel=3Dxen");

I have to check, but I think we still want "suppress-vmdesc=3Don", here=2E

>          } else {
> -            machinearg =3D libxl__strdup(gc, "xenfv,suppress-vmdesc=3Do=
n");
> +            if (!libxl_defbool_val(b_info->u=2Ehvm=2Exen_platform_pci))=
 {
> +                /* Switching here to the machine "pc" which does not ad=
d
> +                 * the xen-platform device instead of the default "xenf=
v" machine=2E
> +                 */
> +                machinearg =3D libxl__strdup(gc, "pc,accel=3Dxen,suppre=
ss-vmdesc=3Don");
> +            } else {
> +                machinearg =3D libxl__strdup(gc, "xenfv,suppress-vmdesc=
=3Don");
> +            }
>          }
>          if (b_info->u=2Ehvm=2Emmio_hole_memkb) {
>              uint64_t max_ram_below_4g =3D (1ULL << 32) -
> diff --git a/tools/libs/light/libxl_types=2Eidl b/tools/libs/light/libxl=
_types=2Eidl
> index d64a573ff3=2E=2Ef9cd881b66 100644
> --- a/tools/libs/light/libxl_types=2Eidl
> +++ b/tools/libs/light/libxl_types=2Eidl
> @@ -109,6 +109,12 @@ libxl_device_model_version =3D Enumeration("device_=
model_version", [
>      (2, "QEMU_XEN"),             # Upstream based qemu-xen device model
>      ])
> =20
> +libxl_device_model_machine =3D Enumeration("device_model_machine", [
> +    (0, "UNKNOWN"),
> +    (1, "I440"),
> +    (2, "Q35"),
> +    ])
> +
>  libxl_console_type =3D Enumeration("console_type", [
>      (0, "UNKNOWN"),
>      (1, "SERIAL"),
> @@ -613,6 +619,7 @@ libxl_domain_build_info =3D Struct("domain_build_inf=
o",[
>      ("device_model_ssidref", uint32),
>      ("device_model_ssid_label", string),
>      ("device_model_user", string),
> +    ("device_model_machine", libxl_device_model_machine),

libxl is going to have to check this new field=2E When it's set to
unknown, we have to change it to the default value before starting to
create the new domain=2E This is done in
libxl__domain_build_info_setdefault()=2E

Also, as it's a change to the API, could you add a "LIBXL_HAVE_*" macro
in "libxl=2Eh"? LIBXL_HAVE_DEVICE_MODEL_MACHINE would sound like a good
name=2E

Thanks,


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vate=
s solutions

web: https://vates=2Etech
---=Part.77e.e40f7946aacc6f47.19ee0178576.982acf75126d056d=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 13:45:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 13:45:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342351.1602575 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waZXW-0008Hp-5R; Fri, 19 Jun 2026 13:45:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342351.1602575; Fri, 19 Jun 2026 13:45:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waZXW-0008Hi-2N; Fri, 19 Jun 2026 13:45:46 +0000
Received: by outflank-mailman (input) for mailman id 1342351;
 Fri, 19 Jun 2026 13:45:45 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ee0215b2d000701b@swg.vates.tech>)
 id 1waZXV-0008Hc-FN
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:45:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waZXU-002yBp-Pu
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 15:45:44 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ee0215b2d000701b@swg.vates.tech>)
 id 6a3547f5-5cb7-0a2a0a5109dd-0a2a4508e248-38
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:45:44 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ee0215b2d000701b@swg.vates.tech>)
 id 6a354808-9ee7-0a2a45080019-b9ff1c12b04b-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:45:44 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ee0215b2d000701b.003 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 19 Jun 2026 13:45:42 +0000
Received: from l14 (lfbn-lyo-1-414-55.w2-7.abo.wanadoo.fr [2.7.24.55])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id 2E98D86A6F;
 Fri, 19 Jun 2026 15:45:42 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=9YT4RIrO0mZvEc4hQ9O06VEVS0oqjoPN6ealZiV5quk=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=YlyXsJvXNUilN5SyOQVMMp0oNHYJ0+hpN2S8F3J3xXhM0aEoCKFkICzeupiQlpuxLXx9ohwEv
 lAtCVnkXHVLesXrCc6+Lv99laq4aYRGvpF3LUHuie2/IyNPvo2tAOxItZgjoVPxozHSGoFTpmnA
 BrBv8jbSb3f+FR3v928zlmoIfqwosSQ31NNhRCymd9c31wt7oK/9ozN9L/S+xse2Zcmb/y80sDi
 auT6ONFqtDoB/T3nyhY4UNQxg501wVujliSaaGFxWunLiWEXpUz7HYs2nxS4rF3xtmNXonfH6d4
 XrSPjgCC9AeqlmIka7c6RsSgx/uAcg8BMMvuiWYB2DdQ==
X-Zone-Loop: d80133f7a589d14c567c24d948e67cae869b0602c4a9
x-campaign-type: default
x-transaction-id: 9f1936b8-1ec1-41d4-96ad-46b9e0f42cb0
x-swg-uid: 01-28893718-afba-46ca-a52c-3394a3d40e33
X-Mailer: Sweego
Message-ID:
 <1781876743.8631fc262581453bbf619ec5b2062170.19ee0215b2d000701b@vates.tech>
x-swg-bid: 1781876743.8631fc262581453bbf619ec5b2062170.19ee0215b2d000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 19 Jun 2026 15:45:41 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: Thierry Escande <thierry.escande@vates.tech>,
	xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>,
	Alexey Gerasimenko <x1917x@gmail.com>
Subject: Re: [PATCH 12/17] libxl: Q35 support (new option
 device_model_machine)
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-13-thierry.escande@vates.tech>
 <afHXEvXrGQhrU0c_@macbook.local>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <afHXEvXrGQhrU0c_@macbook.local>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.780.9fe3342dba891db8.19ee02158bb.a79e33dc338eea62=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781876742332
X-purgate-ID: tlsNG-c1860d/1781876744-666590FA-594513C2/0/0
X-purgate-type: clean
X-purgate-size: 3085

---=Part.780.9fe3342dba891db8.19ee02158bb.a79e33dc338eea62=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Wed, Apr 29, 2026 at 12:01:54PM +0200, Roger Pau Monn=C3=A9 wrote:
> On Fri, Mar 13, 2026 at 04:35:04PM +0000, Thierry Escande wrote:
> > Provide a new domain config option to select the emulated machine type=
,
> > device_model_machine=2E It has following possible values:
> > - "i440" - i440 emulation (default)
> > - "q35" - emulate a Q35 machine=2E By default, the storage interface i=
s
> > AHCI=2E
> >=20
> > Note that omitting device_model_machine parameter means i440 system
> > by default, so the default behavior doesn't change for existing domain
> > config files=2E
> >=20
> > Setting device_model_machine to "q35" sends '-machine q35,accel=3Dxen'
> > argument to QEMU=2E Unlike i440, there is no separated machine type to
> > enable/disable Xen platform device, it is controlled via a machine
> > property only=2E See 'libxl: Add xen-platform device for Q35 machine'
> > patch for a detailed description=2E
>=20
> Not an explicit objection to this patch, but I wonder what will we do
> for PVH when we start exposing PCI devices=2E  We cannot provide a fully
> complete emulated Q35, but we do need to expose an MCFG for extended
> config space=2E  The current naming "device_model_machine" won't work
> for PVH, as there's no device model there=2E  But at the same time I
> wonder whether what we end up exposing to PVH would resemble any
> physical chipsets, or it's more likely going to be the minimum needed
> to make PVH guests happy to access the PCI config space (and hence we
> might end up emulating too little to match any chipset)=2E

I feel like we are going to want two different settings between HVM and
PVH=2E  On PVH, the exposure of MCFG could be done by default, or if a
setting is needed and happen to be useful to HVM, we could make that new
setting for both HVM and PVH, and that new setting could select the q35
machine if none are selected or it could reject the config if q35 isn't
selected as well=2E  That sentence might be overly complicated, but I just
mean that "device_model_machine" is fine for now, and will see what we
do when a new setting would be introduced for PVH=2E

> >  libxl_console_type =3D Enumeration("console_type", [
> >      (0, "UNKNOWN"),
> >      (1, "SERIAL"),
> > @@ -613,6 +619,7 @@ libxl_domain_build_info =3D Struct("domain_build_i=
nfo",[
> >      ("device_model_ssidref", uint32),
> >      ("device_model_ssid_label", string),
> >      ("device_model_user", string),
> > +    ("device_model_machine", libxl_device_model_machine),
>=20
> This possibly wants to be inside the u=2Ehvm sub-structure=2E  I don't
> think we want to use it for PVH, not with this current naming at
> least=2E

Good suggestion=2E

Cheers,


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vate=
s solutions

web: https://vates=2Etech
---=Part.780.9fe3342dba891db8.19ee02158bb.a79e33dc338eea62=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 13:55:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 13:55:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342369.1602583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waZgo-0001rk-2J; Fri, 19 Jun 2026 13:55:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342369.1602583; Fri, 19 Jun 2026 13:55: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 1waZgn-0001rd-VY; Fri, 19 Jun 2026 13:55:21 +0000
Received: by outflank-mailman (input) for mailman id 1342369;
 Fri, 19 Jun 2026 13:55:20 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <milan_djokic@epam.com>) id 1waZgm-0001rX-K7
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 13:55:20 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waZgm-007QHG-0j
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 15:55:20 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <milan_djokic@epam.com>)
 id 6a354a37-2eae-0a2a0a5409dd-0a2a4503da2e-42
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:55:19 +0200
Received: from [40.107.159.114]
 (helo=OSPPR02CU001.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <milan_djokic@epam.com>)
 id 6a354a47-a3da-0a2a45030019-286b9f725ad9-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 15:55:19 +0200
Received: from AS2PR03MB9587.eurprd03.prod.outlook.com (2603:10a6:20b:595::7)
 by AS8PR03MB8926.eurprd03.prod.outlook.com (2603:10a6:20b:5c2::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 13:55:16 +0000
Received: from AS2PR03MB9587.eurprd03.prod.outlook.com
 ([fe80::daa7:3b97:acb3:67d5]) by AS2PR03MB9587.eurprd03.prod.outlook.com
 ([fe80::daa7:3b97:acb3:67d5%4]) with mapi id 15.21.0113.015; Fri, 19 Jun 2026
 13:55: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=nmbWsSwzMZlaveeSss2f/uUvoUxlOzn2QpU7PTWkV3d8fvazfPaS2EgUG1V5aQCZztLHJqY59HKAIVYfznrnvLtzPvYlV1dY6AW77/zUge8wgi9RI5MV1Ux/WPlx74UUH+MZHvVlqs45VL7cfsnymfJUxDFb2q21/I44FYbQvmyoNs0JM8XqQoNKXOg72btNuYpmPWXnKAmbmJliz6458sObwpJalW9ilzFoOr5JZa7nZPdt2dzF/dun//IBE1CabFg8FuqJzavA6D/2V08zOtKqzc/0Q4HS3QgQI/frsqG1MMmlwQvfYjFGiPhr8a5bxlhCoZHN7Gqdx26TZI+H1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LBSWRKaLFCzGUeJ9D0+Lmm6mvf3tEba5Qmp2iggzkXc=;
 b=Fzkj6cOcXSNjkT+ziFe2vzl43DkNXzhh9JmykCXUlJD42p5pnphj1DO+22ep34/LwpKsAdc1CllTjFq6T5XM0kViXN3+xlYcxJqHL+pSwI1uMjjsUGkrqGMNUTX6gDfLISrguHo8RFVH1p9anzhC78gw0R4nKpahehkbhl0ubpn0ve1zjDxbmp1wP/K2t/ptPGq69IKVINLGq2toy/eZOURl8v8BgSfptcores77nXsoaz3dWw0TC6FxNtaFbC8pQpVk1wHhL102ixGsxs1xgppODMUNeW2AhPxxJCTdtKxtVhg4MyWXeSFu++0XwQBCeo7S23AJliP3dZdmHcHlaw==
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=LBSWRKaLFCzGUeJ9D0+Lmm6mvf3tEba5Qmp2iggzkXc=;
 b=vh8rbmhEf+f8e1YHAM3ZIUldnFzBHeiZ3gHMXra13/tHPvTQ5AFbN6VSx+OpM92KLL1L6sn8jCz+ZSpNAfb3/picPurQxImjZvOJZFy6skLccw/vZRvTOzlFlGhgc19VmBNGZxv8vZewcKeaTIdn0ArbEDPFHx/W8coMKNXYWVTy4EZd4yD3yLjG/3mYJQoJWezn6cLaYQ66Mz2CIjS9mixGxdBKn4mGE64fohxDo6w3ij8GLnQVUl/IuptWEwmBolVavcUXfuMBfRwN7bQB+7KSPn7qms4EVHurOX/fN++WqpiaRQVHERKvQ/rGUMejfLly+ehJspWBcxQ9tBrJgw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <dae9e70e-0ae1-499d-af0a-cea712c2cd50@epam.com>
Date: Fri, 19 Jun 2026 15:55:14 +0200
User-Agent: Mozilla Thunderbird
From: Milan Djokic <milan_djokic@epam.com>
Subject: Re: [PATCH v2 02/23] xen/arm: smmuv3: Add support for stage-1 and
 nested stage translation
To: Julien Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Rahul Singh <Rahul.Singh@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1774305918.git.milan_djokic@epam.com>
 <cb8a2cb5df50128f4c49d34a7ab8faa4e73f83c6.1774305918.git.milan_djokic@epam.com>
 <56a7c116-4ecb-4dfc-a7dd-774d53041fe9@xen.org>
 <87a04781-5765-43b6-8b21-cb993609bd91@epam.com>
 <cd2c76a2-7a13-4bbf-9c29-5dcf3ae06fc0@xen.org>
 <4c96c478-aeb5-443c-a6ca-f23caf7d5430@epam.com>
 <e489f44e-ef61-425c-bd0e-0a992c32f7cf@xen.org>
 <f258e2e5-f7ba-4183-8b33-c3a169dc1d7c@epam.com>
 <bd0588e3-2824-4c2a-a1cc-6ff62fed7f62@xen.org>
 <21F24A06-115C-4384-89AF-B6A04029F356@arm.com>
 <ce107cd6-3d2d-45eb-bbe5-f700d5a25827@xen.org>
Content-Language: en-US
In-Reply-To: <ce107cd6-3d2d-45eb-bbe5-f700d5a25827@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: VI1PR04CA0043.eurprd04.prod.outlook.com
 (2603:10a6:802:2::14) To AS2PR03MB9587.eurprd03.prod.outlook.com
 (2603:10a6:20b:595::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB9587:EE_|AS8PR03MB8926:EE_
X-MS-Office365-Filtering-Correlation-Id: c2a71de6-aa5c-46ca-0ef3-08dece0a63f6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|23010399003|18002099003|22082099003|4143699003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	A48y2bAYQeXs8wRDhR45t1QAG83xsvf4bL48tZ1agqsSjuU2tNKNqcO3S+mzsfVN1zb7VqyYb4yAAm+gwjpqAjkn9MezrGP00OSHXfQrkMoA3fOzqxWz+2W72zy6+DSDINHrMxuhxdNm+vWHmtxhRIr2vvz3OmmEBgNFWkRWzodsTY4xU3j/Yfzy6sfXB5TbDShjGGj6NMgfd0tiXJNhZ4BuhnWSRS2NJdJRH0n6uZm9iyoYeoxpakhnSrTo5zIFhPE9YShzAK7olR/BvMljhoUGcADigv3Yo04s7kwOegcuDxK8f3fHpVq41X0VoMASiAYkoekImzhbQIR0cWYdynkzEreH/nZcFa5UVNqpAIYsErAyrRNn8VRegYb9bkYdyNTxZ3w8sDmNBcpPBiPZZtIi6ifH+RXVyDHXCsYKQHMJabWVefOtrcTXVKJxMCUQyd+Tsq2qyxt5UYN+wIoJ+xylZT6/kirDLYRr7O6l0i6jPqczmCePm5Y/GWmYkG7aXK2OmRciKjdC06tP87s8rDdw3zsw7aMzycV7L+svnHgjN4RRBZbxZULkk13uSPjp/wsUzl6cR0FjpavewaNBHwnUYJBLveQU28Ag86GQtDLY0yLQqZqUaS9eWksMT51ebj3O4v72wvVkaNh0oHLz4qvfAKiufIMtozgdQ4/uQWA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB9587.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(23010399003)(18002099003)(22082099003)(4143699003)(56012099006)(11063799006);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S1FjbU1MYjJ2aEFpWC9DNTVrMVZpVDhYZmVqeEE2cm9RbmcwWXBhZGlJRTFE?=
 =?utf-8?B?K0Q3SnByL3dmaDVqcHJaaUdnR3V4cGtNQ0pGTnNXNzk2RFlmL3YxODBnb25o?=
 =?utf-8?B?WFBWSHRmWVlmMjZ1dzUxOU50bTlqN0h6TkVBQlpOaktUczIvUXRVOSs1QXA1?=
 =?utf-8?B?bTc3ZGpYM252eTBISm0vbkpUckVuVCt5VXdQc1BDMUhvR0xSMjJpYjNKdWM2?=
 =?utf-8?B?QUQ2Z1hsTHhqNGhVWWkwV0YrY3NWVG53bmNxRkNVN3dYcFM2KzJweU1EcjdT?=
 =?utf-8?B?SEh2RjJLREFOMmZkeHdnUHJmT2pTZ2J5QUg0MlJrM3QyRkRZQ0NJb1JMMllV?=
 =?utf-8?B?WTgzUVQ3bzNnUlQ3VVlvVmY5Y1RYdU56Q0FVR1BJZlRxdVkyRnZCc21jNGZz?=
 =?utf-8?B?MG5jR2pHNSs1ZC83dW93UEVtQ1IycFMwWlZvOVdPakdLYkxVcVZjMGZFUmpT?=
 =?utf-8?B?czhnazh5YWZQcHQyOHZRZzNQakZSbVdpR3BYWnB5THpwQlIrYXhmYXBsdkhO?=
 =?utf-8?B?Uy9DTWdpNUhPRW5uRkRReXZmUFVuMStsV3NVUlJ5TDc0MXVlcllJdUMveGFl?=
 =?utf-8?B?UFpiZDdGTGRhREJiZXBoaGpLaXltc2g2RTk1bVlvYVRqZlI1bGxiWXVmQ1o3?=
 =?utf-8?B?aFV2bHJrcGdSRWRJdEV6QS90c3JVTk5aT251TURVVVRkQkhrMm9QalZ4YlFQ?=
 =?utf-8?B?MUxORVFRWkdPZUlHbEg0N1Zoc2hmYWpwb29IVkVUa0IzaE9FNnZuRjFkUUxW?=
 =?utf-8?B?YUtnRnFlVXB1VGVHSzJZVW1ZckJ0UXVoVmFNSjBJeEJnODhjNUo1UXJSOWh1?=
 =?utf-8?B?YmpPYmFyZ3dLekhRbGFjQUZUMjlyRkFrVHZKNWZ3cFJGR3RIazJXWnpZOUpI?=
 =?utf-8?B?YTRITCtDNUlzd2NST0RZNVBKdVp5bDlrTndlV2hhZHdFT0dmR1E0QWFiUkhT?=
 =?utf-8?B?SFhTWmNnR1NyQmFaZTNLOWRRWHdIZVlBMkZ2a0RyeHVjZk1JRHV0NU9ZZkhL?=
 =?utf-8?B?T2JaZGp2TGVWYnMrTmszRTdlMlhCd2NTeE1iT1hSWlV4WEU1NUliMVpKdURq?=
 =?utf-8?B?UUc3dVZPZ1l3UUI1VURrUnQ5bExOaG42UlBGMlM5ajN3RWVib3psa2VpWkV1?=
 =?utf-8?B?Nis4Y285ai9ibFB1R01NQTFvZFRpbnoyZGNWN1BHUHZpb1FLVStqWXlCYkVz?=
 =?utf-8?B?U3RMYjBwa1RrQURidVFoYnJva3VXT0luTm1UL2pZNTkrYy8wK05ibmVDZDRm?=
 =?utf-8?B?S3NnWmFTUWRrdERhMEE4UXRvOExOYVoxK25qcHNCWVYvQTRWSHY3QnNmaHlP?=
 =?utf-8?B?UDRJc05GanE4RzdLakkwRGYvL0RabGw0cFdRQ3dPZ1BkQzI5ZWRLR3YvWURI?=
 =?utf-8?B?SWh0QmxnRU9wdklUaFl0clBJdDUzeTZPWWRoR1UwNzZqNzRZdGFwTXhYZTZq?=
 =?utf-8?B?OGNqam1qSlFwMjVPdEtNSHIrbFE2dFNBeHVuaXhxb3V0SjhiWFM2a1pRRWhz?=
 =?utf-8?B?aWt3UjBNUXpsdDJValpGMW13disvT2Z6Y0VWdlovNnp5SUhrQ1E5Q25meGU3?=
 =?utf-8?B?Ym5mS3ltSGtFQjk1eFRrc09MTERBT3lBNlc4OEJkUVhYR2ZOejBTeFJvNEZT?=
 =?utf-8?B?OERWSkV2UnBkamlNRGY2TTYwdGgxZlM2TnJPZDBsWVdjRkFhVzc0VlZ3d3di?=
 =?utf-8?B?Nll5cVBVRkZvTWVPYnRsQXZyVVFUcTNuMUorWUNQMmRUVFhFeHhwTzVqU3ll?=
 =?utf-8?B?Vy9YNCtsVWNOZ3BhbXJ2UzdGKzlHeDVSY0ZiNjRGVDR6UUg3WG9pRWNkLzg2?=
 =?utf-8?B?cGNYb0l4WUpqbTU5RktIbVFYTTFmV1RtaTA5dzlQNmk2TUFhZjhGekV4WjFL?=
 =?utf-8?B?eUN6WjE1VjlJVXRwbmxscjZTSzkzcUs2NGl1QllLbzF0Unl4VGEzN21FNXlO?=
 =?utf-8?B?UXhpcXdCb1phcTlPQUpVV1pIOWozaFVoZWZtNW1FY21KVGc1OWd0RnBQdTJx?=
 =?utf-8?B?YnoxTWl5NkJjK2lxMHZLaFlkTTQxc1R4T0FHeGd0ODRDdDVhcm0xZHhRWFF0?=
 =?utf-8?B?TWpiSDhKUmhvb0o0aDJCVjJHYzkwTlB5SG9scW53cHB0UjRnaExGS0ZCa0k1?=
 =?utf-8?B?eGtRUS9KRDJQNGlLeFM5KzJXbDh5NXp6eXlCRXlIKzBxYWxtSlFWMkxTTUly?=
 =?utf-8?B?VGUzQXY2WitNdCtPcElya1YwSjlQV0UrbmI3QVJEdDZzZkJ0VFR1R1hVOTRx?=
 =?utf-8?B?ZjBNdHNiU2hETCtYMlp0N1NwQm9pRUQvRWxKbkwwNjR1ZWd6aEZGMlp3YVpV?=
 =?utf-8?B?dWtYb2dSQUU2dVRQUitPWDRsbWtFSG5DU0lLeUlXRjg1QlpxdnZidz09?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c2a71de6-aa5c-46ca-0ef3-08dece0a63f6
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB9587.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 13:55:15.8495
 (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: TrLN0F2Frhra2wNK4ykSfo+H5XjpMUPCA2SyMyAJpYpeEZOYJj3E1Gx7NJET9T/eEubFa5ngo9TrnZWaRW+NQw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB8926
X-purgate-ID: tlsNG-33051d/1781877319-671DDD84-468C1CB4/0/0
X-purgate-type: clean
X-purgate-size: 1911

Hi Julien, Bertrand,

On 6/16/26 21:45, Julien Grall wrote:
> Hi Bertrand,
> 
> On 11/06/2026 07:12, Bertrand Marquis wrote:
>>>> This primarily targets systems where the SMMU does not support Stage-2 translation.
>>>> If we decide to keep this code, I will address the associated security considerations and document the corresponding AoU in the design. Otherwise, we can fall back to supporting only the "nested" translation case.
>>>
>>> Thanks for the feedback. I think for such setup, I would consider whether we can use the stage-1 in Xen to protect the device. AFAIK, this what Linux will do.
>>>
>>> I would be interested to hear what the other maintainers think.
>>
>> Giving access to the smmu to a guest means giving it a solution to access whatever he wants through a DMA engine.
>> This is not less secure than no SMMU at all but I would definitely think that in such a case SMMU should be reserved for
>> Xen to use it to protect from accessing other guests memory using DMA.
>>
>> Now i know that in some setups there are cases where a specific device cannot be used without an SMMU (mostly GPUs
>> but there might be others). In that case, the device cannot be used easily if the kernel cannot use the SMMU to remap the
>> memory at a convenient place for the device.
>>
>> We should not disallow such cases completely but we should give strong recommandations when such a setup is used.
> 
> Thanks for the feedback! I think before allowing S1 without S2 we need
> to make sure it works and I am not convinced this is the case today.
> 
> Cheers,
> 

Thank you for your feedback.
There are some existing issues previously pointed out by Luca for the 
stage-1-only mode. I will apply fixes and make sure that this works
correctly in the next version of the patch series.
I will also address the associated security considerations in the design.

BR,
Milan



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 14:06:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 14:06:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342385.1602592 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waZqw-0003wA-VC; Fri, 19 Jun 2026 14:05:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342385.1602592; Fri, 19 Jun 2026 14: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 1waZqw-0003w3-SY; Fri, 19 Jun 2026 14:05:50 +0000
Received: by outflank-mailman (input) for mailman id 1342385;
 Fri, 19 Jun 2026 14:05:49 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <milan_djokic@epam.com>) id 1waZqv-0003vw-Jc
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 14:05:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waZqv-005rsY-0E
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 16:05:49 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <milan_djokic@epam.com>)
 id 6a354cb6-bab6-0a2a0a5309dd-0a2a450cbdc2-6
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 16:05:48 +0200
Received: from [52.101.69.100]
 (helo=AM0PR83CU005.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <milan_djokic@epam.com>)
 id 6a354cb9-94a4-0a2a450c0019-346545641bb0-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 16:05:46 +0200
Received: from AS2PR03MB9587.eurprd03.prod.outlook.com (2603:10a6:20b:595::7)
 by PAWPR03MB9060.eurprd03.prod.outlook.com (2603:10a6:102:33d::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Fri, 19 Jun
 2026 14:05:44 +0000
Received: from AS2PR03MB9587.eurprd03.prod.outlook.com
 ([fe80::daa7:3b97:acb3:67d5]) by AS2PR03MB9587.eurprd03.prod.outlook.com
 ([fe80::daa7:3b97:acb3:67d5%4]) with mapi id 15.21.0113.015; Fri, 19 Jun 2026
 14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=T1fkjuzy87T0dsXHU9H9Ooq9U/xB82o4ibxLCit8u+Duap86jedWPTStLzp31GOL1zmn/DebZT1fsQrhagsstxen70PnwEFRW6k4lZMrYfrP9vmEFXa2OcoyxcTz3h6ZPicKVdi44aWTuBFZ8rZGtbfBCORVOJcNh8k4ATidpgNMIy5Hj8/lr8waGHkZ5MquBkKaK2tYYxGKyVHUDdo28hTT20X0A2Z2Vrtx/2guAYZYBwNqoDoL7GsNkYeAArzWk4ed3JGk1oabAm93IbZMW20Ohy8Q4paLEZsalFY/8S61kwAUJ7cMZ4jhG22/8hvwxKM9fje6vUWa0fYGJM61LA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jyO9NbSllSPz/+oYOq2M5ucmfbI+7gniZCCx8AFoxX0=;
 b=qaJKk9VGRZqxfa0RvxQDL6o4HLoD4w3Zs9G6OK0KjTjDBVO64q0PNXpmNKDy3EsKmVxKluhsWz30BBPp0MS6vrW+dyuaeXUyFXFwGO+cYw6wRVRd+WfNrH0RVRe2PHLvsiEcJpS/jQ/VYcmxwFzn3vZgy4B2HU5Dr5vyg6qeAODfi+wXBDz9V8IqJb9RN5o00EHTE28VLG3Idb78WdhX3rCHj9Ohjeu45PU0vv99AtJ15IwbR1lR3wCbi5je4/Gi1lXTCcOF/N9ke915AZo13Wv00e3oplrxq8whAGKp5ydIiHmIeSfVEzi71y2X5XkDK/9Oxf4Ao07T86M1w6BhqQ==
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=jyO9NbSllSPz/+oYOq2M5ucmfbI+7gniZCCx8AFoxX0=;
 b=GGCESWN1gpT3NcapU6hEHXsNQhw8HbmIuAVU5anY5ErBqxr868fXJPM8ZjAF59xccI3qkrRSxMs8FC9quJ3zeR+QqFCLF2FuwiVftrDdXMXyIt6sQ6tTT0eiEIHhn9fplwjjzFH45u+oMstGv0izok+AFA3MJbLdK1cft6DOw6u4rjdNdu90T+NS1Lny4GsLLvBsqSa6zrQN/3+im/XsMqftvrV+iYhKpskNugy6HYHeLPiOLDJNr8A+XEnmlxubiT95LPSj7jedwY0tUVt1/0fiBLTuBmp4tQckVHcAkE4+dHWE/2V9089eeGcMmWAEGNDukH/AS7mNNhgW+CaZwQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <21523aaa-bb8c-4706-81a9-e9060436ad3a@epam.com>
Date: Fri, 19 Jun 2026 16:05:42 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 02/23] xen/arm: smmuv3: Add support for stage-1 and
 nested stage translation
To: Julien Grall <julien@xen.org>,
 "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>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1774305918.git.milan_djokic@epam.com>
 <cb8a2cb5df50128f4c49d34a7ab8faa4e73f83c6.1774305918.git.milan_djokic@epam.com>
 <6e2d0f83-fcb2-41b4-b04f-99c2d3fefcae@xen.org>
Content-Language: en-US
From: Milan Djokic <milan_djokic@epam.com>
In-Reply-To: <6e2d0f83-fcb2-41b4-b04f-99c2d3fefcae@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
X-ClientProxiedBy: VI1PR04CA0048.eurprd04.prod.outlook.com
 (2603:10a6:802:2::19) To AS2PR03MB9587.eurprd03.prod.outlook.com
 (2603:10a6:20b:595::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB9587:EE_|PAWPR03MB9060:EE_
X-MS-Office365-Filtering-Correlation-Id: 0320c8d0-d677-4330-8df3-08dece0bda7a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|366016|23010399003|4133799003|18002099003|22082099003|4143699003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	ckEAr40HEIl2LyAejyaS8/XtuSVDab5M9MsSuklmw5+CXD9+VY6Dk53PWvuKgs9DNJT7YCC7tLAkJS70mtMwfB/mWlgrSJOINVUzWDIU4i8z0Ricm1/ycHQxJ2bLdlmurZcfsql8mOrqHtkHyqsMB9UsVkb9bcmfGrtaK+cp+a63QFL7vAUdnRRMk9mfGJ+7UEF/at0HDbtWhM5BnTrgJPlRhvkhvEwx7fKV4VtSmzIFm2BoDBMdYKU79ef+KONayrRKQ5Y4W+JQFdr7dhSzqo/OsfLGXegG+JF8MbWZNbi7HpVE9RH5BxEMY0nUxZ7pXx8cVuVQR/aS3ZYWpFuG1TeLchDkKhbNlolIrQHrBKBxA7nVgOwIOusbQ1QZTL00fZUqhMEkhgLnXbxujxuFYuXseBGprcqmxDJVcBSnWpJ6ZSPov3K3fNPMDVkoJJGwZ31Y6AQjkdFVerw4uewwDLadUPXDR6e1dviIWLMdMHnMPtTbVjnOtbQvR6990wDUb/FSYMoaUsQjJ+i6djjzaMl+MZce1kNmDPMT7fS2ZbB8SymW487N3t6uLs72VQVV/OUxVBIOPgBaNShjICdJUTNsvxh2M8NU7o1Fh0v+9mOYT+EKxamS65t16JNKr8ARxNSOH9dH3cI7iEEgDz2w+DfauMwHZe28fQCy4EsVR6Y=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB9587.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(23010399003)(4133799003)(18002099003)(22082099003)(4143699003)(11063799006)(56012099006);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MVd5Uk1XSUJyYjRNOEFCdEZya2Yrb3lHaEVXL1VGT3dEemR4YUJINDdVczZu?=
 =?utf-8?B?cnVIcGkwUkllMTd2VU9iT2VyV0l1cFJ2RjVrR3VVdDBVb1JaRWM2cEFvZmtR?=
 =?utf-8?B?eTdtcUJDRDdsKzN6MUNzMjBKOFVleFkzdFZSelZjSnBLUUJNREkvaTZBcnhz?=
 =?utf-8?B?UkNTbkYxVWFtTlJLdnZTRVhsb2tKSmYvQ1BaRUZKMGZVbHdyNHRBSDkvTVVQ?=
 =?utf-8?B?MnUrVDN4YnYyWXdBazAzRVFBdEl5MzlNbTdlczMrYjQ5cU9kT1dhaXdrVlVy?=
 =?utf-8?B?RU0vSWZ2Y1lKMi9jaVh6bFNvMmRQU3lRWVc0UlJnWVN0NU9ua2JnMUlweWFH?=
 =?utf-8?B?bnZhNUZ3c0hjdE5iVW1uMlJoL1NOMjBXZGJ4dkNSelVQYkNkM1RKeFZrM2l0?=
 =?utf-8?B?bDVUd3pPQUUxZGRzK0NHRkJvc0k2OVFEbTNpQ0dCMkc1VUZSTUhKZXpBUzE1?=
 =?utf-8?B?S0EweXBrelIyUGFORnN5OUZtZE51dGRoVmwyVGU2WHA1QXJLVHN4SWNTWnJ6?=
 =?utf-8?B?SkV0eVB5WStwUHdiSVJMVUpTUGk2MThhV3dpUUtZWFUwdFltQUM4ZXQ3NEow?=
 =?utf-8?B?MDViOXd2TFJqQUtJU0NWckJNTTN1UU12czNBVHZKbmR6a08rV2NFQVdscWpO?=
 =?utf-8?B?UGtOOEQxQkNoMmU1VUNDa3RTZEdnNEx0YUpMRE52ckNPNCs0N2VMYWIyaWFV?=
 =?utf-8?B?MU5OQi9SUXlBV1dOUCtIRFRzM3FjdjZtanFwN2t0enZNVVpjNHV3Q0VCNDdT?=
 =?utf-8?B?cURJL09XeWxvTnBhKzd3Qjhhb0Z0RVUyc0cyM1IrQkFCQnllZWhleHhJTExW?=
 =?utf-8?B?THdRZlQzcGorcDBjcXZhK3B5dHBDaHRURkhmeHc1bzV3eXVISHVBbXJ1STRF?=
 =?utf-8?B?YmNuNXRQWW5TS0U3aGphZmptbGEyZG5Sa3NFdzlvdTd4VXNpUmNwRFhmbmlI?=
 =?utf-8?B?N3BKTGhxMUZLa1pOVmtuRkRCR1Z2Z1lseWl1THRTbEZOb3NUV0VpOW9QWHA2?=
 =?utf-8?B?WXUrQjdWd2hkWFBsOEJXNGt0dGxpQlBUcjhLN3VvblU5b1RxNS9aUWUwR3M3?=
 =?utf-8?B?STR5dGswV3V1WDRaTXNPNmQwUjcxT0hwZFk3TFI2eVJDMjNvRlM1ajVibjE1?=
 =?utf-8?B?TU05ODB5M1I4Zjh3N1VDVW1pU0hmcmR6K25ueTdTenNmWFlpeGFpTXJXL3Qv?=
 =?utf-8?B?djFxNGZ6cGhUMU93YjFDUlNlTkVud1hxOXVzRkZLclVNczY1akRyc0xzWTMr?=
 =?utf-8?B?a1pPckxhbWtjd041TW9RcW4vbER0d3RkU1NHREp0cnMwVTVuS1pLMVRqdmpa?=
 =?utf-8?B?cGVQL0xhRjFyT0ZvaXQrMFE0UURMU1VaaUlDbGl1U2szeEEzamQ0WUdRb0lV?=
 =?utf-8?B?Q1VyNUJpS1ZkeUp6eENweHM0Z3pqN3J6QXJkQnhkeG0wZUpBLys3Mk9JcUJo?=
 =?utf-8?B?MERWYUlRRWdyamZVbDJtK0d5RXQrSWQvNGl4T0lYY2NPNUtZUVllNXN4U0Nk?=
 =?utf-8?B?Tjl0aUJLZC9KaFBHV1VRUGxHeUR5WHNUQzk4aldRbzRmcGtGbG9jbjd6K1p6?=
 =?utf-8?B?WExGUkdCTnlCRy9iOXZLV0J5bXBPRTlVaFRRZitKa2dYOWQzd0w5c2VvWVIv?=
 =?utf-8?B?Q20rSEZVem94MktuR2ZBUjE4Y3FGb202Ri96OUc1QnJ0WmZINlg0N25rKzhn?=
 =?utf-8?B?SW1EOFdmS3k5R2tMSy9kakZXcjZ5d1BoQlZTV2NSbWNjYzF6dCtCNXIvYm8z?=
 =?utf-8?B?bHJKR09uR2dEcVhOMnZDS2F1SDIwUUwvNEFWZGRpYTdseDhJM3ZQWUl4MzNw?=
 =?utf-8?B?ODAvUHJhdTlQUzJxM3U5RUpoQ0ZLdkNPdXI2Y3E4ZFQ1U21mcE9PL3IwR1Vl?=
 =?utf-8?B?ZEduZUVLY2l1OW9mcTl6WGhHc25RUmxFV0FaOHVOelpndithT0xXV09yVkpa?=
 =?utf-8?B?UXd3VWVmZUt3ckVoNnB4bTkrV3hxcVNBT0xkMkYxVDJCckFTSThNUk41TnV2?=
 =?utf-8?B?Yy9PcmNoYXZwa3Y3ajBIUCtDeWxockp3WEg0WUpvbXJJZDdYcnRXQ3N3R2NS?=
 =?utf-8?B?a1k2U2RQSmlvZXVERHZQMVhGWmRPQml3NnpTNWhwZXo4NzQzQ010VURhcy9Q?=
 =?utf-8?B?MHhSQm5IemtNKy83VEovNjU4NGVISWFOWUIzODdKMXVOUFpZZDJMcWJJYTc3?=
 =?utf-8?B?ajAyM0xIL0xLaWlEUHo4SG5tSFYxdHp5Q1NQQk9MNXNrZnJvazRydlFwMEtX?=
 =?utf-8?B?dmI5RWdPVmpNR1dGaUhsU0hYSUlkNTdjZjFkN1QzS3JPWjFtdnRGMmphM2Yv?=
 =?utf-8?B?Y0tWcUwvT0RVRmt4QTRnQ3JXWTRWTU1NZ1RtMENFekxQd3dqZ212QT09?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0320c8d0-d677-4330-8df3-08dece0bda7a
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB9587.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 14:05:44.0181
 (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: 2cAYW0e/YQYlxHCV8S3FTTdSUY361LmJFJ5MpH/xGQcLBQ+SBtLJSxv/tDl6Z8CKGGSQM6gBKEk1uDTYZZIGYQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR03MB9060
X-purgate-ID: tlsNG-d25034/1781877946-535E0ABF-4E08CAAF/0/0
X-purgate-type: clean
X-purgate-size: 889

Hi Julien,

On 6/16/26 22:08, Julien Grall wrote:
> Hi Milan,
> 
> On 23/03/2026 22:51, Milan Djokic wrote:
>> From: Rahul Singh <rahul.singh@arm.com>
>>
>> Xen SMMUv3 driver only supports stage-2 translation. Add support for
>> Stage-1 translation that is required to support nested stage
>> translation.
>>
>> In true nested mode, both s1_cfg and s2_cfg will coexist.
>> Let's remove the union. When nested stage translation is setup, both
>> s1_cfg and s2_cfg are valid.
> 
> I am not entirely sure where to comment. Looking at Linux [1], it seems
> some SMMU variant have errata for the nesting mode. Should we at least
> prevent nested on both variant for now?

Yes, that makes sense. I will do so.
> Cheers,
> 
> [1]
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0bfbfc526c70606bf0fad302e4821087cbecfaf4
> 

BR,
Milan



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 14:38:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 14:38:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342420.1602602 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waaMF-0008TL-9w; Fri, 19 Jun 2026 14:38:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342420.1602602; Fri, 19 Jun 2026 14:38:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waaMF-0008TE-71; Fri, 19 Jun 2026 14:38:11 +0000
Received: by outflank-mailman (input) for mailman id 1342420;
 Fri, 19 Jun 2026 14:38:09 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <marmarek@invisiblethingslab.com>) id 1waaMD-0008T8-5k
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 14:38:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waaMC-002iCK-4b
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 16:38:08 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a355433-bab6-0a2a0a5309dd-0a2a45059480-46
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 16:38:08 +0200
Received: from [103.168.172.147] (helo=fout-a4-smtp.messagingengine.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a35544e-ef3d-0a2a45050019-67a8ac93c1b3-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 16:38:07 +0200
Received: from phl-compute-04.internal (phl-compute-04.internal [10.202.2.44])
 by mailfout.phl.internal (Postfix) with ESMTP id 2C9C0EC02E9
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 10:38:06 -0400 (EDT)
Received: from phl-frontend-04 ([10.202.2.163])
 by phl-compute-04.internal (MEProxy); Fri, 19 Jun 2026 10:38:06 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA for
 <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 10:38: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Content-Type:Date:From:Message-ID:MIME-Version:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Content-Type:Date:Feedback-ID:From:Message-ID:MIME-Version:Subject:To:X-ME-Proxy:X-ME-Sender"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:content-type:content-type:date:date
	:from:from:in-reply-to:message-id:mime-version:reply-to:subject
	:subject:to:to; s=fm1; t=1781879886; x=1781966286; bh=/i7pC19+3b
	FJ7A+kdm54Raod/rgl764jeNJRrJkGgPM=; b=U4OOhmGrNG8Wp01+Q7VaN4VQmc
	xCRQKp2KpwKpwJsrcs0olxKS63N7fKsW6x6CsBZSMm/FrPPQDnnsj3xkCQogAPbF
	CCVTAjviEi/hFLDQ9fhTZYBhda9a1YBgyJtgsjZloA4RChYn3FucHDuFVyDwUeEj
	vvDqLrDQWxCngqbjd+OWfNiIWAm3W1jqaGoSh51fT/UBcZKuXOag521SLL0a1laS
	QWkuClyOKL3sJsB4gPK13lI9xBxjhd/1fErlAvgn4+s1wWZl/1yNSzetgBccq2ct
	8TacVJ0iB1wbOJXPwLZEkvacs1tCs/jxeKUuJB3mTxBxAF4/jamYgz9zKzCQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:message-id
	:mime-version:reply-to:subject:subject:to:to:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1781879886; x=
	1781966286; bh=/i7pC19+3bFJ7A+kdm54Raod/rgl764jeNJRrJkGgPM=; b=K
	H7PGRrU+XZuMqK2M99xPMGCr1PziHmtnMWUkZKkog3Oquybi+M+mwB94SF/kUE5v
	4AvX1Zb/OpRZaEDP7DRqD4+DYMnk0cLXGPPpG7EpsW4ukOn/CTypyO8F9Vyj+IhZ
	hBSrr+88tgC+1RhhL5E99R/naKfNTKJoHcX4z2Nfd2O4kOJ9RN9jxUDt70XjaUkY
	0q6/Vhj5eVkcfm4o19n0LILCP0k5VVtp4wnnPM5+yhNs7ovkzCPmluZCZC33pVQT
	2Bxzeh0nKyjWuUXoecwIh/Qq471Q/ZXcq4YEPjVRt740khs2KfIgESK5QD9FaE+C
	NErCz0eA4DF16wGGexKoQ==
X-ME-Sender: <xms:TlQ1aqlqMP5sT4XMAqPGUHjwKgFiEYWiaYPKGYS8BoqiW8qg89ni5w>
    <xme:TlQ1aoxU3UKQkIYyeFvN4QUYonLogAyZpc32BR4rhqdFaCQ8dk1e5KS_YhIFma21i
    nyZHNhTOuAsWgFh4U3mB-ds8IfnOjEfM3sYvE5yrchKL3SATg>
X-ME-Received: <xmr:TlQ1auQyZScd1B6RpjYerQenelZ44Dl9NDr0nh45MHx9Upy06bm3kojaKLOaOCmenbtvHwWiZKxNgg5QrPxneGVy82vXsSzGPnI>
X-ME-Proxy-Cause: dmFkZTFqSJS1QHXLtvkFnIqYtqmC6ayo4SgVyj6HWHrAQVt7+PEj9C3md8NYRUL4z7jQRq
    5UNVn3cNgc7ladcq3lv/cSgCbK78E2FMtD6XOpuk43zfjMjPYcdC/oQpchGxrYe9HS1wbz
    SRRCZk36vCRXbmsRxZbKcP520D8Z1/JAETLPYlHva8L5lviGVcNotxhboVkarHKEkCCyBO
    kgsL0y5xNxxE5pDCzJv9QXd4gTjleTuk433H7Po3IYn28lbfNbnKuDWCixk3DqdWwBCM9w
    Hkz8bb06a1tzU0Tr3oyNCkHQQlaiqLdFL5IWFY/EUSzLeoecgtEN3N3dLl93lH2LzOY4KM
    84ivC45I3CMDZuCPrK9IdmUJtsiROIgQi2h5j/GLuaDlJiGTiovjGd8yerneCgKvFIHoGb
    yX5fyvri20hSJ73/2RJ9imLmz5WuWQ0xuYX8oeN8tXLTtke02C+ry/CJoSH57DHLwv/NPh
    c5HdQDH3UIlqkS+qzAFTymGX5VoU4+TtYsRvsK67tLcGUGpQCnVGVTdobiUjQ330sJpOsZ
    J3BttkHRR7XqjwG/udM8XD6bY3jOjq+689zkJGpCM1jEVD3tDx3Qm6331CpBrvqwGCmP+m
    rDWuuvZwTsKbYig22Vlku8M8rkTPzgt95+3S7I7tCjByM/Z2gYLQ5JBKimbQ
X-ME-Proxy: <xmx:TlQ1ajsEdbz7TqVohW-PtJvDL_T0-bjf-VCjzt1mth6GfO-kqxDdEw>
    <xmx:TlQ1aovEKBGf-rKC5Fu3ZRiMF5Gwwb9N8MlVwoOi4wmt37wySSS0pQ>
    <xmx:TlQ1ahx-v2oj_R7pRTC1jyiOldyaaS2qJfPWYINsLiSWGMKklOGsvA>
    <xmx:TlQ1amjjpBf2Xja9jKtZObl0pHJhZY7e9Lv6Dnf3jPbD6Pc-AGpr9A>
    <xmx:TlQ1ah85NHtevA14rO6cfyQjBCr4lqLEBOTaOolNFCdWKHcPxsLWTcdD>
Feedback-ID: i1568416f:Fastmail
Date: Fri, 19 Jun 2026 16:38:03 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: Linux dom0 hangs on boot with Xen 4.22 and Heads firmware
Message-ID: <ajVUS5F9G4Jse20i@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="/Vt1VMVM7T/i56yz"
Content-Disposition: inline
X-purgate-ID: tlsNG-c201ff/1781879888-9CFCA127-90C80F89/0/0
X-purgate-type: clean
X-purgate-size: 2681


--/Vt1VMVM7T/i56yz
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 19 Jun 2026 16:38:03 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: Linux dom0 hangs on boot with Xen 4.22 and Heads firmware

Hi,

After updating Xen to 4.22-rc2 on a system with Heads firmware, dom0
doesn't start anymore. It worked fine with Xen 4.19.
The last messages on console are:

    [    1.495140] installing Xen timer for CPU 2
    [    1.496149] installing Xen timer for CPU 4
    [    1.496587] installing Xen timer for CPU 5
    [    1.496809] installing Xen timer for CPU 7
    [    0.008235] [Firmware Bug]: CPU   2: APIC ID mismatch. CPUID: 0x0002=
 APIC: 0x0028
    [    0.008235] [Firmware Bug]: CPU   2: APIC ID mismatch. Firmware: 0x0=
011 APIC: 0x0028
    [    1.497055] cpu 2 spinlock event irq 200
    [    0.008235] [Firmware Bug]: CPU   4: APIC ID mismatch. CPUID: 0x0004=
 APIC: 0x0000
    [    0.008235] [Firmware Bug]: CPU   4: APIC ID mismatch. Firmware: 0x0=
019 APIC: 0x0000
    [    1.497074] cpu 4 spinlock event irq 201
    [    0.008235] [Firmware Bug]: CPU   5: APIC ID mismatch. CPUID: 0x0005=
 APIC: 0x0002
    [    0.008235] [Firmware Bug]: CPU   5: APIC ID mismatch. Firmware: 0x0=
021 APIC: 0x0002
    [    1.497074] cpu 5 spinlock event irq 202
    [    0.008235] [Firmware Bug]: CPU   7: APIC I

Full console log (containing both successful boot of Xen 4.19, and then
reboot into 4.22):
https://openqa.qubes-os.org/tests/184780/logfile?filename=3Dserial0.txt

It doesn't reach loading graphics driver in dom0, so I don't have
anything interesting on VGA (the last output is about the kexec call
done by Heads). But at least I have a serial console.

This happens both on older Thinkpad t430 (Ivy Bridge), and newer Novacustom=
 V54 (ADL).

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

--/Vt1VMVM7T/i56yz
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmo1VEsACgkQ24/THMrX
1yw2xAf+Lz4uCwl+0iYr6Iw5VV0wWWIWGhsQVAEf0WuraFM9i4C+qjgs5TTMdDgT
jBHBmobjHqR/k7m1TuqZzUmtvJ5NuAMwQ19ECG69wqjkPOWAkX/JKDPJxD8TNJHJ
Ey7ItE2a1idckrhiXUjJTKnhn7DYbCLuFwHVv/3qKZy9cuUmSVRfn/Xk3MAJdbu6
4Qq5TLaBxJbuzoSRyAF5n0GMQJ4MFugNctmhz42jT8wVn9slAeVtRx3yKPlea7ZI
aU7P59bncb5c0ydME9MNluHf9FEJTd9eesuXMyqgdr+RQd5JJ+y614dxt4AIhII2
tZVSkqiZWVdKWYx3l2neVJzKA5khSQ==
=Snqt
-----END PGP SIGNATURE-----

--/Vt1VMVM7T/i56yz--


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 14:44:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 14:44:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342432.1602610 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waaS3-0001cn-0E; Fri, 19 Jun 2026 14:44:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342432.1602610; Fri, 19 Jun 2026 14:44:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waaS2-0001cg-TQ; Fri, 19 Jun 2026 14:44:10 +0000
Received: by outflank-mailman (input) for mailman id 1342432;
 Fri, 19 Jun 2026 14:44: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 1waaS1-0001cX-VA
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 14:44: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 1waaS1-00HNfb-1V;
 Fri, 19 Jun 2026 14:44:09 +0000
Received: from [2a02:8012:3a1:0:fccc:84a8:79ae:61b9]
 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 1waaS0-001bTP-2D;
 Fri, 19 Jun 2026 14:44:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=P17qoFPHA8Y/ljv8TsgDjsry64rFtuZAWeC1LLRVyYQ=; b=Pi4fqx/AsFYf4k3hVILIuBFc0a
	yO9o49uWyeyIz8tO1agMewUrRrf0solYHwhxhl56cTY52CvQoBDdajJnSJyUUCQcJzJ484KgeLpm8
	DuXgLgJYsDdYKpUTRrhaAfaOOJbtwn/sSV/EFgrMghjVVdSLr6WWli++VbRb/3Y2p13g=;
Message-ID: <4be1705f-02ef-4e04-932b-736421464a4f@xen.org>
Date: Fri, 19 Jun 2026 15:44:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v2.5] xen/arm: gic: defer host LPI allocation
 until after ITS init
Content-Language: en-GB
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Orzel, Michal" <michal.orzel@amd.com>, Mykola Kvach
 <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Luca Fancellu <luca.fancellu@arm.com>, Mykola Kvach
 <xakep.amatop@gmail.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <112419d3ea48ca328849c8f6647909d3eb667b40.1779922874.git.mykola_kvach@epam.com>
 <341edd8de63dcd84ccc6e7b6c03e9e8fc7105184.1781847061.git.mykola_kvach@epam.com>
 <7a0a1867-8316-4e20-971e-fab99c9f4a32@amd.com>
 <e43afc29-cfbb-4978-9324-e8d540040bfa@amd.com>
 <1877ea55-0c8d-4593-a310-259b4c5aef3c@xen.org>
 <b47b9bf3-1aa6-41b6-8c7c-48d64cca1c36@amd.com>
 <5d3dff74-f51d-4bfc-b917-3c84f2094f34@xen.org>
 <6f154afa-38b0-4193-be42-585f4ce72fc8@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <6f154afa-38b0-4193-be42-585f4ce72fc8@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 19/06/2026 14:17, Oleksii Kurochko wrote:
> 
> 
> On 6/19/26 1:52 PM, Julien Grall wrote:
>>
>>
>> On 19/06/2026 12:34, Orzel, Michal wrote:
>>>
>>>
>>> On 19-Jun-26 13:23, Julien Grall wrote:
>>>> Hi Michal,
>>>>
>>>> On 19/06/2026 10:48, Orzel, Michal wrote:
>>>>> @Oleksii, can we ask for a release ack here?
>>>>
>>>> Can you explain the pros/cons of introducing this patch quite late?
>>> The advantage is that it fixes the broken LPIs on affected hardware.
>>
>> Â > The disadvantage is the reordering risk but I don't think there is 
>> any issue.
>>
>> See more below.
>>>>
>>>> One of the risk here is that we are now initializing the LPIs *after*
>>>> the ITSes. I understand this is because we want to know the workaround.
>>>> However, I vaguely recall that there was a dependency in the
>>>> configuration. So are we confident the new ordering will not bring 
>>>> other
>>>> issues? Ideally this should have been explained in the commit message.
>>> gic-v3-its.c never references host LPI state, so ITS init has no 
>>> dependency on LPIs.
>>
>> My concern is at the HW level. The ITS is using LPIs. But we will 
>> configure the ITS first and then the LPIs.
>>
>> What probaly saves us is the fact gicv3_lpi_init_host_lpis() only seem 
>> to allocate memory. This is a bit fragile though.
> 
> Julien, do you think that a fix should be done differently and this one 
> isn't really acceptable?

The code is alright for 4.22 so long the ordering impact is clarified in 
the commit message.

But for the next release, I think it would be good to move the LPI init 
call in the ITS initialization so we can have the following steps:
  1. Query the workaround
  2. Initialize LPIs
  2. Initialize the ITSes

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 14:55:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 14:55:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342444.1602619 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waad3-0003Tk-W9; Fri, 19 Jun 2026 14:55:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342444.1602619; Fri, 19 Jun 2026 14:55: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 1waad3-0003Td-TL; Fri, 19 Jun 2026 14:55:33 +0000
Received: by outflank-mailman (input) for mailman id 1342444;
 Fri, 19 Jun 2026 14:55:32 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <xakep.amatop@gmail.com>) id 1waad2-0003TX-E2
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 14:55:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waacz-00DTbW-MG
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 16:55:29 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a355849-e002-0a2a0a5209dd-0a2a4508878e-34
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 16:55:29 +0200
Received: from [209.85.208.176] (helo=mail-lj1-f176.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a355861-9ee7-0a2a45080019-d155d0b0ec73-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 16:55:29 +0200
Received: by mail-lj1-f176.google.com with SMTP id
 38308e7fff4ca-39669bcaadfso19584461fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 07:55: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1781880929; cv=none;
        d=google.com; s=arc-20240605;
        b=Xg3HZAeJADRWTAGHuBv0LTFvj2294mYY9P0lHpG+FRaUqVnVi92KLdNnilu31lD2wa
         sPEKl4mVYXuvgEVpBY6DNTDJccggNi71qiyqUYOlg9tgVzGqH0sLtjjj7nfJmK07vmJu
         X5rXaMyv/urIF5mx/J8Tb4nYklK8H3GsckvO4hky5ZbOkPbjg/xdNDRGABYPwpNMiu/p
         nZ50qwfv9QCMyf+XLJjthXc1nXYC3XC7w7tRlfmjQ3+E9801wSdA8n6SJqw4HKy5flmr
         wLAtdhxsX9SSG4I5Ta8GBzEahm7dBpRgF8BdBElc7GiBU14hxSj3eG4t+TrcvOFHlEZE
         SnLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=kmu9QKKfh3nVMnrE7wgqORZB1L1F/iwZCnIMkBW2pGk=;
        fh=aSZkuWeigIJCrae/Wb+6PXZ+hiibTT2ihTXZEANuOJE=;
        b=aLtXlveU0NTx3V2E5gaPy7eHzX0Y9HYUXLbghYIQfIM4c1o90t0/Skydtl9e8+xE6/
         meQfiQDnG4Z0HvF8FVqBFRUZKbOKDUBT/7p94yln4NKMQOiHdufuPhCffkePdkuVdTM/
         h+DmMqUYfBt/WfwAgt39ZeT7Znslo3F0/BSmubEGzWWJuuHYeBSpFY24hQ74idaGQKgB
         OTWRcbWo6z+Bzm/xbAUlHxZXEeIqvuRe6ersTYfLGxlu2h6vvgDAunbtKZDO4Cej7+FN
         HJthE4qi07hXFfWf3a2Tv8mER64qzRKH75nr7+eTmEvCT1RFMYU1NoYmgc8GCPxtpKxU
         ogHg==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1781880929; x=1782485729; 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=kmu9QKKfh3nVMnrE7wgqORZB1L1F/iwZCnIMkBW2pGk=;
        b=Fxm0/QQGy9o12KPHwki5KzshXQKEqMEJVpyRzOKOzDpWc2+2WOCqDORI7uy+y7SpUp
         7BjN8/u/5COjEf/ArK1krKu/8PGHJWhOaY0tfzclsOtsGqJXB1y5RsplfNeYOkR8hdTC
         uEo+2lNOzuEqQVoyOyuuCLvu1gPGpk79Gva1NjXO6yXvluUbNQnBCucXp634F724E+8G
         9//6U0Xz1xd7APpRWcv9Zao5O1CBU8YD7Oi5TB+P626n7k2kAAFF8o2uAYvuItG/N09d
         9rWqV+JVpWrL9bjxEab/YP/kBeWnjli0I4k+ODvAaxPJMXD8wTGY65FbrXJt7RlzA2Zb
         LEhg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1781880929; x=1782485729;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=kmu9QKKfh3nVMnrE7wgqORZB1L1F/iwZCnIMkBW2pGk=;
        b=AVMfRhzvjhWqJV/Zc/401BElsma3ainI8MjxeSLlbu4/+jqYdIDsFrAx4UCmVeqFIE
         u7a217RxrlRTCB+BfttqlZr5Tzj1g8Q90/Bxpfl8gHfUz22ml0/bl+G+M1m5HFocc7md
         loufAkv8QpVMVt3T5njz7RJFiUuimSWbssCdu4SF4Gv6Y2g8k5mhP0rZohK+pyjbhZ6r
         l0TNkhtif9mEVCYFYqwNnRN7x6ECNY3w5CnueeyfgzoCkjeNblNTCSO+mIGjJxNu/AU2
         DpWdpkARNU0nxs58HkYTPEnBXliadfvcHK8JJ7frVO/SSV02c/OCCe1ZGQA/7CvUq7VL
         Digg==
X-Forwarded-Encrypted: i=1; AFNElJ8n80A9uuSmxWcdVFw50neVhbOGOMnFRZJBG6OmkQo6NkZodSO6zrptGl63zpNNDFTp/xKlHpQWNkQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyVdAui+Vgb2JKVFtPYkj2YAehg4hPgkl2NsRUBRcmJNdQ4IZ2G
	TczOPRIWdHV7NIA6Ou8ie8VxXItUF9x55pfbszDINiiek1IOtMSavxXT/yqBYFGmtgNRQfndfdm
	nl++THmVky9jeW98zxy7U1QiZ9cJ+Zlg=
X-Gm-Gg: AfdE7cl+OGot7WqJE+PPJ8dUPFYdEuYk2nnb9+CsO2qBVYmcegW7zgyMMjUgovDsd8s
	jk8ONAe1J02M58bfwmtFS0noNFO1NsI8GrQpHnbyS81O1WYd4wU/0SjS4Wlu8Uum+CXR1XWNYib
	jSekB+MmAOLluwXd7sFoIOJ716syrjjf72c+ExRE75c1iUKMaCL2VqFwIIzhj/owh2oleDoR0pG
	RUHHUQojLMEosBo/dKBsivJv1crTWNjPHkV3UcMvL32zABB8SmtAB16C313TGdCTu+aDcejnm8E
	Zmo5eQ==
X-Received: by 2002:a05:651c:b28:b0:399:7511:1c21 with SMTP id
 38308e7fff4ca-3998bd67f90mr10516351fa.16.1781880928617; Fri, 19 Jun 2026
 07:55:28 -0700 (PDT)
MIME-Version: 1.0
References: <112419d3ea48ca328849c8f6647909d3eb667b40.1779922874.git.mykola_kvach@epam.com>
 <341edd8de63dcd84ccc6e7b6c03e9e8fc7105184.1781847061.git.mykola_kvach@epam.com>
 <7a0a1867-8316-4e20-971e-fab99c9f4a32@amd.com> <e43afc29-cfbb-4978-9324-e8d540040bfa@amd.com>
 <1877ea55-0c8d-4593-a310-259b4c5aef3c@xen.org> <b47b9bf3-1aa6-41b6-8c7c-48d64cca1c36@amd.com>
 <5d3dff74-f51d-4bfc-b917-3c84f2094f34@xen.org>
In-Reply-To: <5d3dff74-f51d-4bfc-b917-3c84f2094f34@xen.org>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Fri, 19 Jun 2026 17:55:17 +0300
X-Gm-Features: AVVi8CctgXEH7-Dwulp4yN7zHREYy4v72TMR9cYE_Cv0Lrbu8bBwD4zNTMZz1Ng
Message-ID: <CAGeoDV_LM9hQch5YEqYFA07t76eXKxZRT5tzxMqzWkej5Jwidw@mail.gmail.com>
Subject: Re: [PATCH for-4.22 v2.5] xen/arm: gic: defer host LPI allocation
 until after ITS init
To: Julien Grall <julien@xen.org>
Cc: "Orzel, Michal" <michal.orzel@amd.com>, Mykola Kvach <mykola_kvach@epam.com>, 
	xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>, 
	Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
	Oleksii Kurochko <oleksii.kurochko@gmail.com>, Luca Fancellu <luca.fancellu@arm.com>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-c1860d/1781880929-64A2B0FA-B959F33F/0/0
X-purgate-type: clean
X-purgate-size: 3198

Hi Julien, Oleksii,

On Fri, Jun 19, 2026 at 2:52=E2=80=AFPM Julien Grall <julien@xen.org> wrote=
:
>
>
>
> On 19/06/2026 12:34, Orzel, Michal wrote:
> >
> >
> > On 19-Jun-26 13:23, Julien Grall wrote:
> >> Hi Michal,
> >>
> >> On 19/06/2026 10:48, Orzel, Michal wrote:
> >>> @Oleksii, can we ask for a release ack here?
> >>
> >> Can you explain the pros/cons of introducing this patch quite late?
> > The advantage is that it fixes the broken LPIs on affected hardware.
>
>  > The disadvantage is the reordering risk but I don't think there is
> any issue.
>
> See more below.
> >>
> >> One of the risk here is that we are now initializing the LPIs *after*
> >> the ITSes. I understand this is because we want to know the workaround=
.
> >> However, I vaguely recall that there was a dependency in the
> >> configuration. So are we confident the new ordering will not bring oth=
er
> >> issues? Ideally this should have been explained in the commit message.
> > gic-v3-its.c never references host LPI state, so ITS init has no depend=
ency on LPIs.
>
> My concern is at the HW level. The ITS is using LPIs. But we will
> configure the ITS first and then the LPIs.
>
> What probaly saves us is the fact gicv3_lpi_init_host_lpis() only seem
> to allocate memory. This is a bit fragile though.

Regarding the ordering concern, the only operation moved by this patch
is gicv3_lpi_init_host_lpis(). It does not program either the
Redistributor or the ITS. It initializes Xen-side host LPI bookkeeping,
registers the CPU notifier, and allocates the boot CPU pending table.

gicv3_its_init() programs the ITS tables and command queue and enables
the ITS, but Xen does not enqueue any ITS command there. The first
MAPC/SYNC commands are issued by gicv3_its_setup_collection().

The relevant hardware-visible sequence in gicv3_cpu_init() therefore
remains:

    gicv3_lpi_init_rdist()       /* program PENDBASER/PROPBASER */
    gicv3_enable_lpis()          /* set EnableLPIs, followed by wmb() */
    gicv3_its_setup_collection() /* issue MAPC/SYNC */

So the ordering introduced by 95604873cc is preserved: no MAPC command
is submitted before GICR_PENDBASER/GICR_PROPBASER have been programmed
and the write setting GICR_CTLR.EnableLPIs has been made visible.

This matches the relevant architectural requirement: while
GICR_CTLR.EnableLPIs is 0, ITS translation requests or commands
involving LPIs in that Redistributor are ignored. This patch changes
when the backing memory is allocated, not when the Redistributor is
programmed or when the first ITS command is submitted.

The benefit of taking this for 4.22 is that it fixes broken LPIs on
systems where an ITS workaround changes the required memory attributes.
The ordering-specific fragility is that this reasoning relies on
gicv3_lpi_init_host_lpis() remaining allocation/bookkeeping-only. I
agree that this implicit dependency should be documented explicitly.

I will respin the commit message to describe this ordering and explain
why the hardware-visible sequence is unchanged.

Does this address your concern about taking the fix for 4.22?

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 14:58:34 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 14:58:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342451.1602629 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waafw-0004Ag-CG; Fri, 19 Jun 2026 14:58:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342451.1602629; Fri, 19 Jun 2026 14: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 1waafw-0004AZ-9W; Fri, 19 Jun 2026 14:58:32 +0000
Received: by outflank-mailman (input) for mailman id 1342451;
 Fri, 19 Jun 2026 14:58:30 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ee063ee8a000701b@swg.vates.tech>)
 id 1waafu-0004AT-Nv
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 14:58:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1waaft-00DU7g-U7
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 16:58:29 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ee063ee8a000701b@swg.vates.tech>)
 id 6a355902-2eae-0a2a0a5409dd-0a2a45069c2c-20
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 16:58:29 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ee063ee8a000701b@swg.vates.tech>)
 id 6a355915-b690-0a2a45060019-b9ff1c128879-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 16:58:29 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ee063ee8a000701b.001 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 19 Jun 2026 14:58:26 +0000
Received: from l14 (lfbn-lyo-1-414-55.w2-7.abo.wanadoo.fr [2.7.24.55])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id 3ED2780D7B;
 Fri, 19 Jun 2026 16:58:25 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=O5m4Va05OdUO+PtAurI8jaWiCM+Q9jQY9NGu/Ky7uUE=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=A+Jnyh30ZyMamo834T8158SIF3jAQYmccJTjmvv7Dr7CxDlR8crx15sTGdtfT2mMsese0K+ij
 sXg79//FW2vzAF21VfdvTN4dGYfMzmgMT45asyhqRzMog/eSqRLLFDGfNDDL8rRvoTPTd6HiZyW
 uJuTrMI8KBfMIjO51/wiQ5lYwjRQdKa11EDrzRYxhXEY6HJHg1bNGBbXycQnX8e403Nvgn4p175
 FOBxt1C3ln9v4A4Z/KQVwHU73RHc2emoQC8cCcT6tuuRGT89jJaHgnvUAwl3BmIe7rwFYgFRHvB
 xOUSAYqvbAqiJUpCbOCB9m8dwiemsKIrLVzCZpyM+uxQ==
X-Zone-Loop: cb45127ec3953fcb7bb7d8258f0f610bc43105beb6eb
x-campaign-type: default
x-transaction-id: 5c5f2a3f-e02c-4089-853f-bbd036fd9578
x-swg-uid: 01-407a695a-efd0-4af3-9fef-ce20e102abdd
X-Mailer: Sweego
Message-ID:
 <1781881106.8631fc262581453bbf619ec5b2062170.19ee063ee8a000701b@vates.tech>
x-swg-bid: 1781881106.8631fc262581453bbf619ec5b2062170.19ee063ee8a000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 19 Jun 2026 16:58:24 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: Thierry Escande <thierry.escande@vates.tech>
Cc: xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 13/17] libxl: Add xen-platform device for Q35 machine
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-14-thierry.escande@vates.tech>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20260313163455.790692-14-thierry.escande@vates.tech>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.79f.1e778d1f960cc9b9.19ee063ebb3.a673042c6581ab64=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781881105332
X-purgate-ID: tlsNG-16d1c6/1781881109-3A9E8853-0E4836FA/0/0
X-purgate-type: clean
X-purgate-size: 1919

---=Part.79f.1e778d1f960cc9b9.19ee063ebb3.a673042c6581ab64=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Fri, Mar 13, 2026 at 04:35:04PM +0000, Thierry Escande wrote:
> Current Xen/QEMU method to control Xen Platform device is done by
> setting the 'xen_platform_device' option value

You mean `xen_platform_pci` ?

This is still the case with the new type of machine ;-)=2E

> that modifies QEMU
> emulated machine type, namely xenfv <--> pc=2E

> In order to avoid multiplying machine types, this patch supplies
> '-device xen-platform' directly to Qemu=2E To maintain backward
> compatibility with existing Xen/QEMU setups, this is currently only
> applicable to q35 machine=2E

We can already use `-device xen-platform` with QEMU's machine `pc` /
`pc-i440fx-*` but this would break migration from previous version of
libxl, PCI devices would move around while the guest is running=2E

So instead of "currently only applicable", something like "we will only
apply this to q35" would be a bit more accurate=2E

> i440 emulation uses the old method (xenfv/pc
> machine) to control Xen Platform device=2E

To be honest, the change between `xenfv` and `pc` is bigger than just
that device, it's also a different machine version=2E

`-machine xenfv` is kind of equivalent to:
`-machine pc-i440fx-3=2E1,accel=3Dxen,suppress-vmdesc=3Don -device xen-pla=
tform`

But `xenfv` can also have `igd-passthru=3Don` added to `-machine` which
has an influence on the machine setup=2E

If you manage to rework the commit that would be nice, in anycase,
overall the patch looks fine: Reviewed-by: Anthony PERARD <anthony=2Eperar=
d@vates=2Etech>

Cheers,


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vate=
s solutions

web: https://vates=2Etech
---=Part.79f.1e778d1f960cc9b9.19ee063ebb3.a673042c6581ab64=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 16:23:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 16:23:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342528.1602639 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wac05-00087F-UE; Fri, 19 Jun 2026 16:23:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342528.1602639; Fri, 19 Jun 2026 16:23: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 1wac05-000878-Q4; Fri, 19 Jun 2026 16:23:25 +0000
Received: by outflank-mailman (input) for mailman id 1342528;
 Fri, 19 Jun 2026 16:23:25 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wac04-00086t-P0
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 16:23:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wac04-006DUl-5d
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 18:23:24 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a356cea-2eae-0a2a0a5409dd-0a2a4504a68c-30
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 18:23:24 +0200
Received: from [40.107.208.47]
 (helo=PH0PR06CU001.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a356cfa-5f9f-0a2a45040019-286bd02f25ec-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 18:23:23 +0200
Received: from IA1PR03MB8288.namprd03.prod.outlook.com (2603:10b6:208:59e::6)
 by SA1PR03MB989247.namprd03.prod.outlook.com (2603:10b6:806:4fa::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 16:23:20 +0000
Received: from IA1PR03MB8288.namprd03.prod.outlook.com
 ([fe80::b5ee:28c6:e04b:5599]) by IA1PR03MB8288.namprd03.prod.outlook.com
 ([fe80::b5ee:28c6:e04b:5599%3]) with mapi id 15.21.0139.018; Fri, 19 Jun 2026
 16:23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=yEV5mIMVQKQ+nWt1hHHUHlO5lbYfR779pIg301b2pcagXzDzqpe2qx8ABIc39bgvzx6TtQzqI5PrJJYWJrnXGpQlY0YU9VxSfts9TmZauuF6zY65tBMhn2uVaptAxgHQbgt2PFis8qXNkgmB3YMggyWFEgHmZac+38khWUyjZcwbdDRj9yekdlb3yNtTx0RUaCHjwg9pg2v4645kZ0tiQywXMwFd87z0zdCsXmfq8PMLIJXKBoODkUf0ZEaVfdaYog6L634Er0EVmBKXh7c4sPF2aDxzAQeOlboarw36KkTsP/9lC8ys1dGYpOqXF6G4okQKtQW/3FMkJno1zsvQGw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yLm+CI1gXARtxbYQmRPV/AwEtB6bQip4bN4Sk9Gr5hI=;
 b=nJ8oFRGYCXPage8FDliE/51u6XNE4957U1MwrrOXLv2COPvZ9kkcn4VyU4Re+JpYWMeejHP0qfKOVdNn2ZxqhdFLbGpDo+l3TkOMqqxYJfBxez9tqYQGbByUpjozt54ijRqANwxtR1yUSViUj82dfFkuP+96mY7bgB4PHxp+xGTCjlukhcRa4k8VLD2Seus+0eUMgfeNTt1smAu+IGu/qvTsAO2Ea71LL6GRf1Vna0S35y6UQbBbxpnWPB3ZcTFvArKYbAd0KW+3t/sj6azDPIHj7dAzA+EildmehHq2Sg5uf4z4ppB5Cj2XgNPkyLh2aJwZAXzdFBRPfGcq4MT57Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yLm+CI1gXARtxbYQmRPV/AwEtB6bQip4bN4Sk9Gr5hI=;
 b=rOy4qgNqdWmbnjiZwPlhXNwdbce4h2AS56BDEE+jnE46zzfOOn4CXCyiRL2PPM+pvkG2jGYr2Mz1NMSSAneCRYPnb1k9ittWju9oNx3ZltNYF7hNXz5qK+6RqFeYxPRk3h5rHUw8G/XsmMjzID+uz69u6+kzkjNp4M2k3gRMu6E=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <96edcf00-8a0b-434e-8744-132c1b6e183d@citrix.com>
Date: Fri, 19 Jun 2026 17:23:17 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Cody Zuschlag <cody.zuschlag@gmail.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v4] docs/process: document AI-assisted patch tags
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20260615184348.7804-1-andrew.cooper3@citrix.com>
 <ajBPzKlWJAePD7rW@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: <ajBPzKlWJAePD7rW@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0001.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2ad::14) To IA1PR03MB8288.namprd03.prod.outlook.com
 (2603:10b6:208:59e::6)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: IA1PR03MB8288:EE_|SA1PR03MB989247:EE_
X-MS-Office365-Filtering-Correlation-Id: ca9db075-d50e-4b5f-e077-08dece1f13d5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|376014|23010399003|18002099003|22082099003|6133799003|3023799007|11063799006|56012099006|5023799004|4143699003;
X-Microsoft-Antispam-Message-Info:
	RgeRQ9GZ2nzmqWUit8M78SO2geA6yJkP83nYxaIqUk2pC03a5iO5pa/QtW6B/ukHHKumJ/DAEcjOV7vtihbOrV9EDmy+1VjpMLmnH51f0v1cQvMH0F6bzWIt0whwRN5dgzrMDNVa+wl15nT4h9EtdWIrUqtaeQDnxeWbH5H1ebQTJX6lm3YRjfRsyKDmUFFrLwcVuUrTCsUv3xR77M7fOylvRXxX/wiIqTNJR39eNTsPY+gcmp7NEmF6WKNkvhjPdLhexj/hc8AY4bx35yM0FJ3s5MgdF/WCVFRGBG+aOd2+nzl8VAYB4qRT8EHFG7SrqjyANDuq0LPPUNNL3yNjuMft6Afgo37lT6VObP19vLTXFWVr7HSxQnz9LfR/5pPmXpAkP1CbJBo000zhjkwq1Pc9rZwynMqmcwXp/CmP4fS2gbk0OuDMVf+DT6YGOGrrUZFfxO/qOIuCM/sLbG4SIYO6WRUkucEjQ4JoTWTCYW8zX7oqHPYLarqAJ/WxITw50WS7/Bjj9A1uDZ5TOEOQIzjxzkP+yUXqrujvzNbDAlE6sT6h5e0+pMNVLH/XcQLAFVQkWHnB3pVFxvPJkAQPoBuDzDs9kImVU0A/p0ZLS3WPy6fOQcRcCMuQ0FuPqgL3DEY7HEHoV+mN9EoKEb1UL3YX8vMqFa86M+xPav3n7wo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA1PR03MB8288.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(23010399003)(18002099003)(22082099003)(6133799003)(3023799007)(11063799006)(56012099006)(5023799004)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dU05bDdlQXh1MUFScmcwaXNnSytzWENUd3FGbUJWd0Q5MStmZzZFdzVsd3lk?=
 =?utf-8?B?VUExclhITUwwTU9RMk94TTkxTEt0N3dlNkdnVnRyczhrUmVVWHUwRHJPSkRZ?=
 =?utf-8?B?K1BsY2JLTzVRR3FHNHVlWlprV0tqVHBnRVpaVEszd0xpWG4zNnA2M1NZVEgx?=
 =?utf-8?B?S1ZIUHljeXFhd0Q4d2Y5OXBXd3poWHdVc3JVVnN4YmlpV3JxSEgwNGxwM3Jl?=
 =?utf-8?B?YjUvRnB4bjBFR3hUQmo5emV6UnBEa3JWUUFZSjk0Nm5WdmFlQW5UVXhqWlgw?=
 =?utf-8?B?azBxaTNLQUtBR2hvUlF5bWlydE4yeU0vbE1hK1BoNjNMell0RHZmQlcxUFB6?=
 =?utf-8?B?a25oTnRWQ29yU3VUZWRyY0NEdndCUUNkSnBMQjUzbUJrWEV1LzVhRk5VZlZo?=
 =?utf-8?B?MEx0MUUrTkpNY01GdTF3RDdmanB6U0xGekI0WUc5RFo2d09MZVBFdlNwdHgy?=
 =?utf-8?B?Z1pjWHFnNTdiQVJaN0ROM1JlYWdXeDdZTWg4YUNtZnlHK09CVTBFSnY2NDlU?=
 =?utf-8?B?MHJQLzNteW9pako4NUNtVFVUelpreE5YbnUvY2U0MFUxdThuUDJjTHpTQkcr?=
 =?utf-8?B?K2xFMzgzVTdYNWsrOTYzNTVjeVBrSldzOWcrWldZVEZqNHJEQ3ppTmNtNUlR?=
 =?utf-8?B?NWQ3U3U1U3E2Z0gyZTZuYXNzOVduU1lPZzBGK0pmNmJHVDBmL25XTzJROURT?=
 =?utf-8?B?NUlXWU9pNnV4Mm5Fc2pnV1pSNHNRYzREWll3N1ZBVEF2WFkvUFZTNWpRWXI0?=
 =?utf-8?B?Z1AybUZvMkxtdnlqNnlEaDRMVUQ1bDZnOWUvclV4OXM0cjNnMEs1bS9VczNJ?=
 =?utf-8?B?MXd4dnp2V0JxUDVLSVZFakdwWFZPdG9LMEFQd3lBTGFuRlovUEQrR3o5RzdU?=
 =?utf-8?B?MEdyZlJScy9obzlQVGx4M0YxTEQ3OXBYWUxEa3krdG4xWGxWdy9oVDcyRGpF?=
 =?utf-8?B?QlN2UVp4WDAxUjNCSlQ0MC9sWTdpTzdSVlRtYzhqUStEb00rbk1MOVNCbzJW?=
 =?utf-8?B?WDZvZ3c0YU1ORlU3K2cvTUVDdzRwS2pIZ2lyMUN0elI2R2I4YVRSbDNsN2JD?=
 =?utf-8?B?TmdLZ0pmM0tCbDBGMHFmZXZ6N1RRZjg3SFo2bUtYVGtBS0E0NXZpcDNpVFli?=
 =?utf-8?B?SHFhVUptOTNmSFdibHV0YkdTRlhDcHBMVVBlQ0QrWS82azJrVUNOQThWcFMy?=
 =?utf-8?B?dzNINHUzNUtGRmoxaXhSRnRpUyt3dmpidDBkdWlXeXgxZWwwbW1SVmdsTVFB?=
 =?utf-8?B?TktqREZaMSt0aTkxa1dUdTREU0VpdjdXT1IrZmw3bGlKbEZYb2V5ZUxDQ0Nk?=
 =?utf-8?B?OEQwZFRhWkF4QkQ0dFhMT0IweFF6cXpTNWZMZUJsMGM1aVJnaXBjcUhOZkpY?=
 =?utf-8?B?UHZjZjlBTUpVaFYwZ28rZWNMeFRLNEYwN0VnNDM3emFXSUJEUnFjN3VabU9D?=
 =?utf-8?B?T2FqSi9kbUlqZW5Yb2xOU2hPUWlEN2lxU3VJdDZ6UmF3ZEZESVlyVHJHS0h5?=
 =?utf-8?B?ZFNZWVRadFFPalRiU0xwalM1dFZZanpSRnJlMUtkOHdnZkhENGtwOHd0WEs1?=
 =?utf-8?B?NFphSDVSRStldU9pVDdxNFkvTitBbHZGM0lWNnB1c3owbDRjVlpkZm5MY0oy?=
 =?utf-8?B?MlMrWW1JblVKdGF6YTNPU0UxT0haNERtRTRtM05DcnhMSVMwR2pTU01vRTlH?=
 =?utf-8?B?TFlteVlhdDVnaE9VZ2dRdjJua1FmT0EvUlBkQ1JxWUM3U2VhVk1RUzZpZm44?=
 =?utf-8?B?OTJTMkFLakM3TnppVDhJdVl4Q29tVU9RdGRMY1MzalhqQ3ZWTlhqYXVFbTVi?=
 =?utf-8?B?VEZubWxVREpMNEV1eDlsSGJaMlRhZlYvT0RONExIVVZadWxnZjJ6aFd1RzFN?=
 =?utf-8?B?T1luWXB4ZVFOVWIxZEdvWit0VE85RDgxNHNSTERqeHlFUmZJN2lObDRFZTRK?=
 =?utf-8?B?d1k1NktIYTZPV1BkRnQyeWdKMkFSOVpxZCtGL25sTHdSM2RLL3EyYzdLUUJR?=
 =?utf-8?B?eUFmNjdnK290b3U0cWRZVkVyRVVEMTE4a05QY2VuNGlPVEx2cnRCcVlHU0Jp?=
 =?utf-8?B?aHloNnBoZUxhRDl3KzB5UWVkWUYzTEFZR1VGbEdBenFZcy9Pa1FXQXZWelE0?=
 =?utf-8?B?K3VlSzVCRlNKUUc3MWtmUEY3ZlE0YXovNEVSK2FGR3U4NUFCdmlSdS9lUmZW?=
 =?utf-8?B?dGttNjlvZG44RS9LZkMyaWpicmJ3aEZvY2lwYUtyS05mNWdyV2NkTjlneUht?=
 =?utf-8?B?bjFqZ3JkekpGR2hCT0grY2JjT0RiZ2pnaEh5eVU2aS9lcndoZUgxK1daQnk2?=
 =?utf-8?B?SCtNbFEyZmFBTHA3ZmFENHY1MkJ2ZnJ4c0VvQ0R6S01Dd3MwRFdtVDVqcUEr?=
 =?utf-8?Q?Roys4bQXYm5s+CcI=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ca9db075-d50e-4b5f-e077-08dece1f13d5
X-MS-Exchange-CrossTenant-AuthSource: IA1PR03MB8288.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 16:23:20.6262
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DMvQlnWGZcuLDvpmvSM4fNX7PIfaTsK9Viz2GROasx/Ur3Ou/7NGX1SP3BXBxX/Qp3hOrD9J++Tp9cCx/2FIHChh3LXDQRJHG/SkzcB675s=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB989247
X-purgate-ID: tlsNG-ebf023/1781886204-9E1CA141-1B2A82DA/0/0
X-purgate-type: clean
X-purgate-size: 1033

On 15/06/2026 8:17 pm, Roger Pau MonnÃ© wrote:
> On Mon, Jun 15, 2026 at 07:43:48PM +0100, Andrew Cooper wrote:
>> From: Cody Zuschlag <cody.zuschlag@gmail.com>
>>
>> Add documentation for the Assisted-by tag to clarify how
>> AI-assisted tooling may be disclosed in Xen patches.
>>
>> The guidance follows the Linux kernel documentation.
>>
>> Assisted-by: ChatGPT:gpt-5.5
> Really, seeing how it managed to mangle an otherwise extremely simple
> patch to the point that required manual fixup to apply I would
> consider removing this Assisted-by.
>
> The wording is verbatim from Linux, and Andrew is the one that has
> adjusted the chunks plus removed the inapplicable references.

Ok.

>> Signed-off-by: Cody Zuschlag <cody.zuschlag@gmail.com>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Thanks.

I'm going to get this committed now.Â  It's long overdue.Â  v3 did have
more acks and there's nothing controversial changed.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 16:26:51 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 16:26:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342538.1602647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wac3N-0000S1-E8; Fri, 19 Jun 2026 16:26:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342538.1602647; Fri, 19 Jun 2026 16: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 1wac3N-0000Ru-Ak; Fri, 19 Jun 2026 16:26:49 +0000
Received: by outflank-mailman (input) for mailman id 1342538;
 Fri, 19 Jun 2026 16:26:47 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dpsmith@apertussolutions.com>) id 1wac3L-0000Ro-8v
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 16:26:47 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wac3K-003Ljo-6O
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 18:26:46 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a356dc0-2eae-0a2a0a5409dd-0a2a4506c5fc-20
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 18:26:45 +0200
Received: from [136.143.188.51] (helo=sender4-of-o51.zoho.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a356dc3-b690-0a2a45060019-888fbc3352b2-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 18:26:45 +0200
Received: by mx.zohomail.com with SMTPS id 1781886399306291.1094597515963;
 Fri, 19 Jun 2026 09:26: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=zoho header.d=apertussolutions.com header.i="dpsmith@apertussolutions.com" header.h="Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding"
ARC-Seal: i=1; a=rsa-sha256; t=1781886401; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=TXK1Ezi931ZdqE3z/9H2r5YE/93oJ2hyOfckxGNa/MEUB4Wa2vaYYE9CwP6IgeU59vZ1ELgXtqpvg7eqkZf/hGbCodrNFrb5MucOvSwMRSVYrvNyMt5f9rGl/0FW4+1SUFX586uzBs+9zU1EEuOeTtT9s3LYrOONrKlcuVL13BM=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1781886401; 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=Uho1Ezpja0sKwdaTHCFZY0G2Tikdkl5zPjmvaumbe6M=; 
	b=ZQ52mlHKY+M9zQpFU6dcMkpsz9SgkHMQgVCxB0xF1eimThPOkEJ/DTbduCW7eZ9XwqjVmUVDgvgydS/A9ai7QBReJU2708yCRaxrgaucT/AvkILN6hiUt05xwbUFMS6XI//LMwXHMTIRwBx0ShXYbAAiYfLFB5uTSC9WDnrn2Kk=
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=1781886401;
	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=Uho1Ezpja0sKwdaTHCFZY0G2Tikdkl5zPjmvaumbe6M=;
	b=gOMNAz0sh5v+L6i7BC2dxAQA2ujKKsaNOFtWMGihB+z3mOfrw7+qkiR27iKs0G/2
	O/i5CfUs7FavGRzNkzDIz3BDGGS9Z9KFLzEBBk0nBRlbWx4kqxLVbuewtwLNNLVQhDh
	1zRgXz4mnn1az3/aED+Dwp6DMtGH4iUpEfaqrUMw=
Message-ID: <2936cde0-ec6d-48a6-906b-d42666c1fd61@apertussolutions.com>
Date: Fri, 19 Jun 2026 12:26:37 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] XSM: guard .sysctl() and .readconsole() hooks
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <bf642902-7235-45a8-a470-f164a930c0c1@suse.com>
 <8536e453-423d-45a0-bb82-38283eca4786@citrix.com>
 <0604a985-96fc-454f-b9a1-242bc6cce9b6@suse.com>
 <a3e51817-4464-4672-a975-ba76349bab31@apertussolutions.com>
 <243c5119-a016-49f4-919e-efa492b02e5e@suse.com>
 <d6071252-a8fa-44b5-923e-b08175ab0fa7@apertussolutions.com>
 <12468fb6-0cf7-4e27-89ca-8ec4640e569b@suse.com>
 <0d5d4fda-d296-4027-a62a-134fd8aaae53@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: <0d5d4fda-d296-4027-a62a-134fd8aaae53@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External
X-purgate-ID: tlsNG-16d1c6/1781886405-B2BE9853-CE77B0EC/0/0
X-purgate-type: clean
X-purgate-size: 3094


On 6/18/26 10:50, Jan Beulich wrote:
> On 18.06.2026 14:51, Jan Beulich wrote:
>> On 18.06.2026 14:48, Daniel P. Smith wrote:
>>> On 6/18/26 8:42 AM, Jan Beulich wrote:
>>>> On 18.06.2026 14:34, Daniel P. Smith wrote:
>>>>> On 6/18/26 8:23 AM, Jan Beulich wrote:
>>>>>> On 18.06.2026 14:13, Andrew Cooper wrote:
>>>>>>> On 18/06/2026 12:32 pm, Jan Beulich wrote:
>>>>>>>> Leaving the hook pointers in struct xsm_ops when !SYSCTL would lead to
>>>>>>>> the BUG_ON() in xsm_fixup_ops() triggering for respectively configured
>>>>>>>> hypervisors.
>>>>>>>>
>>>>>>>> While moving the #ifdef for the corresponding xsm_*() wrappers, also move
>>>>>>>> those for xsm_page_offline() (where the hook pointer field already is
>>>>>>>> suitably guarded).
>>>>>>>>
>>>>>>>> Fixes: c9eabaa03a68 ("xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL")
>>>>>>>> Fixes: bddd9af6049f ("xen/sysctl: wrap around XEN_SYSCTL_readconsole")
>>>>>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>>>>>
>>>>>>> Ugly.Â  We probably ought to see about booting the RANDCONFIG hypervisor
>>>>>>> too, which should be able to spot things like this.
>>>>>>>
>>>>>>> This is a regression vs 4.21, so does need including.
>>>>>>
>>>>>> Aiui it's a regression vs 4.20, i.e. will want backporting to 4.21.
>>>>>>
>>>>>>> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>, although...
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>>>> --- a/xen/include/xsm/xsm.h
>>>>>>>> +++ b/xen/include/xsm/xsm.h
>>>>>>>> @@ -61,8 +61,10 @@ struct xsm_ops {
>>>>>>>>     #endif
>>>>>>>>         int (*set_target)(struct domain *d, struct domain *e);
>>>>>>>>         int (*domctl)(struct domain *d, struct xen_domctl *op);
>>>>>>>> +#ifdef CONFIG_SYSCTL
>>>>>>>>         int (*sysctl)(int cmd);
>>>>>>>>         int (*readconsole)(uint32_t clear);
>>>>>>>> +#endif
>>>>>>>
>>>>>>> ... this is now the 3rd CONFIG_SYSCTL in xsm_ops.
>>>>>>>
>>>>>>> I know it will grow the diff, but can we see about collecting them into
>>>>>>> a single region, and in dummy_ops too?Â  It will shrink the overall
>>>>>>> result, and the order of pointers in this ops structure is uninteresting.
>>>>>>
>>>>>> I have a far more consolidating patch in the works, which is how I actually
>>>>>> noticed the issue. I'd prefer to keep things as simple as possible here.
>>>>>
>>>>> By the way, I was going back through this and notices that they are not
>>>>> ifdef out in xsm/dummy.h. Are we relying on them being inlines to ensure
>>>>> that they do not result in dead code?
>>>>
>>>> I think so. Maybe it's unhelpful that we have
>>>
>>> To be clear, you want to leave as is for now (or at least pick up in
>>> another patch)?
>>
>> It's up to you - I can add the #ifdef there, but it doesn't look to strictly
>> be needed.

It's not needed and will create minimal but extra churn on back port, so 
we can forego for now.

> Can you please make explicit which way you'd like it in order to provide an
> ack, so this bug fix can go in?

Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 16:30:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 16:30:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342546.1602656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wac6i-00028z-PN; Fri, 19 Jun 2026 16:30:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342546.1602656; Fri, 19 Jun 2026 16:30: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 1wac6i-00028s-MF; Fri, 19 Jun 2026 16:30:16 +0000
Received: by outflank-mailman (input) for mailman id 1342546;
 Fri, 19 Jun 2026 16:30:15 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ee0b7f241000701b@swg.vates.tech>)
 id 1wac6h-00028m-0x
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 16:30:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wac6g-00GB15-AP
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 18:30:14 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ee0b7f241000701b@swg.vates.tech>)
 id 6a356e6e-e002-0a2a0a5209dd-0a2a4509ec52-34
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 18:30:14 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ee0b7f241000701b@swg.vates.tech>)
 id 6a356e96-4999-0a2a45090019-b9ff1c128be9-3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 18:30:14 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ee0b7f241000701b.002 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 19 Jun 2026 16:30:12 +0000
Received: from l14 (lfbn-lyo-1-414-55.w2-7.abo.wanadoo.fr [2.7.24.55])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id 4E349861D7;
 Fri, 19 Jun 2026 18:30:11 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=bbq4gvKEHDZTNICtPqD6uBIUQgSMoWpHQn8aWlzMCSQ=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=mE9v+eQWCSru3ypGAbhMzC04vQ0fKctuxTimCF55e80Loa0nePcMxX/oBLLrE4unxOHzRVaoO
 dG/KbStfbxrskD88CTW9FD1zvu3r0ZDooDBl20yo/P6xPLmBxv3im81/m4dRDqilApZGtdN3UGg
 pwjK3uO6hQzjIbmzQqihS0goTkTvzkv1rSR61/9L8YFQgRD3veFN3BYY+l/s+NLghqIlF2Qsr+A
 HcO0kLQU9s1aaeiLD6Q7PoPrMJn5ZcBkICz3uGY7P8B5j4i17ZjC1iTfHq4nmFkaZdIY14s7Rag
 ZA5tTDjszhNRhRTUMBUmS62ysWc6YDbDe0+ooF15IA0g==
X-Zone-Loop: c9ef68272148062806fdd21cbe29ac119e7daab80f97
x-campaign-type: default
x-transaction-id: d630184d-62e7-4676-bb26-42f4b80e014f
x-swg-uid: 01-9433ec78-cc4a-4644-a92c-9e0606dc1fa1
X-Mailer: Sweego
Message-ID:
 <1781886612.8631fc262581453bbf619ec5b2062170.19ee0b7f241000701b@vates.tech>
x-swg-bid: 1781886612.8631fc262581453bbf619ec5b2062170.19ee0b7f241000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Fri, 19 Jun 2026 18:30:10 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: Thierry Escande <thierry.escande@vates.tech>
Cc: xen-devel@lists.xenproject.org, Alexey Gerasimenko <x1917x@gmail.com>
Subject: Re: [PATCH 17/17] docs: provide description for device_model_machine
 option
References: <20260313163455.790692-1-thierry.escande@vates.tech>
 <20260313163455.790692-18-thierry.escande@vates.tech>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20260313163455.790692-18-thierry.escande@vates.tech>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.7a8.f5d6270f62284ec0.19ee0b7efc5.5c4aed100456ed4=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1781886611397
X-purgate-ID: tlsNG-bad1c0/1781886614-F61FB744-22CF8755/0/0
X-purgate-type: clean
X-purgate-size: 3167

---=Part.7a8.f5d6270f62284ec0.19ee0b7efc5.5c4aed100456ed4=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Fri, Mar 13, 2026 at 04:35:05PM +0000, Thierry Escande wrote:
> This patch adds description for 'device_model_machine' option which allo=
ws
> to control which chipset will be emulated by device model=2E
>=20
> Signed-off-by: Alexey Gerasimenko <x1917x@gmail=2Ecom>
> Signed-off-by: Thierry Escande <thierry=2Eescande@vates=2Etech>
> ---
>  docs/man/xl=2Ecfg=2E5=2Epod=2Ein | 27 +++++++++++++++++++++++++++
>  1 file changed, 27 insertions(+)
>=20
> diff --git a/docs/man/xl=2Ecfg=2E5=2Epod=2Ein b/docs/man/xl=2Ecfg=2E5=2E=
pod=2Ein
> index 27c455210b=2E=2E67a5bc54a5 100644
> --- a/docs/man/xl=2Ecfg=2E5=2Epod=2Ein
> +++ b/docs/man/xl=2Ecfg=2E5=2Epod=2Ein
> @@ -2963,6 +2963,33 @@ you have existing guests then, depending on the n=
ature of the guest
>  Operating System, you may wish to force them to use the device
>  model which they were installed with=2E
> =20
> +=3Ditem B<device_model_machine=3D"STRING">
> +
> +Selects which chipset the device model should emulate for this
> +guest=2E
> +
> +Valid options are:
> +
> +=3Dover 4
> +
> +=3Ditem B<"i440">
> +
> +Use i440 emulation (a default setting)

Just "(default)" or even nothing is fine too=2E

I don't think we can say "i440" here, QEMU code always reference to it
as "i440FX", and if you want to specify the south bridge like you do
below, it would be "i440FX/PIIX3"=2E

> +
> +=3Ditem B<"q35">
> +
> +Use Q35/ICH9 emulation=2E This enables additional features for
> +PCIe device passthrough

Could you add a full stop, to finish the sentence?

> +=3Dback
> +
> +Note that omitting device_model_machine parameter means i440 system
> +by default,

Just saying "The default is B<"i440fx"> should be enough=2E No need to
explain when a default is selected=2E

> so the default behavior doesn't change for old domain
> +config files=2E

I don't think this explanation belong here=2E

> +It is recommended to install the guest OS from scratch to avoid issues
> +due to the emulated platform change=2E

I don't think this belong to the man page because they are other setting
that could prevent a guest from booting, when changed=2E Also I don't
think Linux cares=2E I'm not sure saying that changing this particular
setting could break existing guest would be a useful addition to this
particular setting description, as I'm sure that also true to quite a
few other settings=2E

On the other hand, there's a warning for `device_model_version`, about
existing guest, and default value that have changed=2E

So it's probably good enough to say that changing this new setting could
prevent existing guest from booting, and a fresh new installation
might be needed=2E

Also installing Linux From Scratch would be quite and endeavor :-)
  https://www=2Elinuxfromscratch=2Eorg/


Cheers,


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vate=
s solutions

web: https://vates=2Etech
---=Part.7a8.f5d6270f62284ec0.19ee0b7efc5.5c4aed100456ed4=---


From xen-devel-bounces@lists.xenproject.org Fri Jun 19 17:23:58 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 17:23:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342581.1602664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wacwP-0000Sa-Hb; Fri, 19 Jun 2026 17:23:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342581.1602664; Fri, 19 Jun 2026 17: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 1wacwP-0000ST-F1; Fri, 19 Jun 2026 17:23:41 +0000
Received: by outflank-mailman (input) for mailman id 1342581;
 Fri, 19 Jun 2026 17:23: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 1wacwO-0000SN-If
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 17:23: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 1wacwO-00HQt4-0W;
 Fri, 19 Jun 2026 17:23:39 +0000
Received: from [2a02:8012:3a1:0:fccc:84a8:79ae:61b9]
 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 1wacwN-0051nW-1H;
 Fri, 19 Jun 2026 17:23: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=E9NrBSJRvY19aIcVdsItkvhbHeSdR/Uvod5DQzU2lYQ=; b=pIRq2Exva9WNaQPvFALJn+blFI
	mOiExkJK1EzJ+crN2IC0cLl3bEhcnGEDMI3LgAXRT9e5hFBVnzD19mN4h/MaNSH+wr9+m17lxyv1z
	g8orMLq7alb77jk9AaIAwQ1zhdgrt5HSTu12MO05JUggE+4afOBX5x7Z+VUTR76DpycM=;
Message-ID: <f06a4fe0-24a4-46e2-a7de-ede4e654f767@xen.org>
Date: Fri, 19 Jun 2026 18:23:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v2.5] xen/arm: gic: defer host LPI allocation
 until after ITS init
Content-Language: en-GB
To: Mykola Kvach <xakep.amatop@gmail.com>
Cc: "Orzel, Michal" <michal.orzel@amd.com>,
 Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Luca Fancellu <luca.fancellu@arm.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <112419d3ea48ca328849c8f6647909d3eb667b40.1779922874.git.mykola_kvach@epam.com>
 <341edd8de63dcd84ccc6e7b6c03e9e8fc7105184.1781847061.git.mykola_kvach@epam.com>
 <7a0a1867-8316-4e20-971e-fab99c9f4a32@amd.com>
 <e43afc29-cfbb-4978-9324-e8d540040bfa@amd.com>
 <1877ea55-0c8d-4593-a310-259b4c5aef3c@xen.org>
 <b47b9bf3-1aa6-41b6-8c7c-48d64cca1c36@amd.com>
 <5d3dff74-f51d-4bfc-b917-3c84f2094f34@xen.org>
 <CAGeoDV_LM9hQch5YEqYFA07t76eXKxZRT5tzxMqzWkej5Jwidw@mail.gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <CAGeoDV_LM9hQch5YEqYFA07t76eXKxZRT5tzxMqzWkej5Jwidw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 19/06/2026 15:55, Mykola Kvach wrote:
> Hi Julien, Oleksii,
> 
> On Fri, Jun 19, 2026 at 2:52â€¯PM Julien Grall <julien@xen.org> wrote:
>>
>>
>>
>> On 19/06/2026 12:34, Orzel, Michal wrote:
>>>
>>>
>>> On 19-Jun-26 13:23, Julien Grall wrote:
>>>> Hi Michal,
>>>>
>>>> On 19/06/2026 10:48, Orzel, Michal wrote:
>>>>> @Oleksii, can we ask for a release ack here?
>>>>
>>>> Can you explain the pros/cons of introducing this patch quite late?
>>> The advantage is that it fixes the broken LPIs on affected hardware.
>>
>>   > The disadvantage is the reordering risk but I don't think there is
>> any issue.
>>
>> See more below.
>>>>
>>>> One of the risk here is that we are now initializing the LPIs *after*
>>>> the ITSes. I understand this is because we want to know the workaround.
>>>> However, I vaguely recall that there was a dependency in the
>>>> configuration. So are we confident the new ordering will not bring other
>>>> issues? Ideally this should have been explained in the commit message.
>>> gic-v3-its.c never references host LPI state, so ITS init has no dependency on LPIs.
>>
>> My concern is at the HW level. The ITS is using LPIs. But we will
>> configure the ITS first and then the LPIs.
>>
>> What probaly saves us is the fact gicv3_lpi_init_host_lpis() only seem
>> to allocate memory. This is a bit fragile though.
> 
> Regarding the ordering concern, the only operation moved by this patch
> is gicv3_lpi_init_host_lpis(). It does not program either the
> Redistributor or the ITS. It initializes Xen-side host LPI bookkeeping,
> registers the CPU notifier, and allocates the boot CPU pending table.
> 
> gicv3_its_init() programs the ITS tables and command queue and enables
> the ITS, but Xen does not enqueue any ITS command there. The first
> MAPC/SYNC commands are issued by gicv3_its_setup_collection().
> 
> The relevant hardware-visible sequence in gicv3_cpu_init() therefore
> remains:
> 
>      gicv3_lpi_init_rdist()       /* program PENDBASER/PROPBASER */
>      gicv3_enable_lpis()          /* set EnableLPIs, followed by wmb() */
>      gicv3_its_setup_collection() /* issue MAPC/SYNC */
> 
> So the ordering introduced by 95604873cc is preserved: no MAPC command
> is submitted before GICR_PENDBASER/GICR_PROPBASER have been programmed
> and the write setting GICR_CTLR.EnableLPIs has been made visible.
> 
> This matches the relevant architectural requirement: while
> GICR_CTLR.EnableLPIs is 0, ITS translation requests or commands
> involving LPIs in that Redistributor are ignored. This patch changes
> when the backing memory is allocated, not when the Redistributor is
> programmed or when the first ITS command is submitted.
> 
> The benefit of taking this for 4.22 is that it fixes broken LPIs on
> systems where an ITS workaround changes the required memory attributes.
> The ordering-specific fragility is that this reasoning relies on
> gicv3_lpi_init_host_lpis() remaining allocation/bookkeeping-only. I
> agree that this implicit dependency should be documented explicitly.
> 
> I will respin the commit message to describe this ordering and explain
> why the hardware-visible sequence is unchanged.
> 
> Does this address your concern about taking the fix for 4.22?

Thanks for the detailed explanation. As I wrote back to Oleksii, I think 
the code could be re-architecture post-4.22.

For 4.22, no need to send a new patch. You could propose a new commit 
message here and we update on merge.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 18:38:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 18:38:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342621.1602673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wae6D-00017C-LO; Fri, 19 Jun 2026 18:37:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342621.1602673; Fri, 19 Jun 2026 18: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 1wae6D-000175-Iq; Fri, 19 Jun 2026 18:37:53 +0000
Received: by outflank-mailman (input) for mailman id 1342621;
 Fri, 19 Jun 2026 18:37:52 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Mykola_Kvach@epam.com>) id 1wae6C-00016z-Iu
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 18:37:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wae6B-00GOtS-OZ
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 20:37:51 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a358c75-e002-0a2a0a5209dd-0a2a450c8764-6
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 20:37:51 +0200
Received: from [52.101.66.95]
 (helo=DUZPR83CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <Mykola_Kvach@epam.com>)
 id 6a358c7f-94a4-0a2a450c0019-3465425fad8a-4
 for <xen-devel@lists.xenproject.org>; Fri, 19 Jun 2026 20:37:51 +0200
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com (2603:10a6:20b:61d::18)
 by DU5PR03MB10523.eurprd03.prod.outlook.com (2603:10a6:10:525::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun
 2026 18:37:49 +0000
Received: from AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7]) by AS8PR03MB9746.eurprd03.prod.outlook.com
 ([fe80::cf11:309:1384:58f7%4]) with mapi id 15.21.0139.018; Fri, 19 Jun 2026
 18:37: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Z3lEUtxFur0hB/wqvueqWLNioBat4iLi6Qj/s+dCXMl3798dXg0Qq/B2cnDIrSSdMhDUV+7ICEByx2UV3PCp7BLpqfSj2SHy6/Af/2PzFhdingV+rWhTn3+49//23NKBb9Dnr7Wjcj0DVmu4HgNqugdJ3qwpJArY3eYqAffgJDx1PAlXMhBwgrW7ykzN/f+hfYtS1TWS8Fx1iUpldfpCvMtlU7KiYFgLZTQpszt3fl7UDv70SsRNadJ0OHkENBq8As3e3zMD6JNP/y6L6GYujlUIkcod6wEGkZ6S2oj0bxB98NbCbU209LLTaBAjPvtOGqbUEHdJrcnAbMRbmyTf2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pExjzv71O2OjFeZiCvLguBuONPyYVmPDW24YAYPi3ac=;
 b=MoGDx224fyodRO/GfnNucb4aiyNSKgwtQAFpbKYeRyshGoJ2ZLB94WDU7ruEHEdFmXhxmqvL5Ru1dqdGwwiYgPGB3r69OyX7SjfMiAK/exJWpra8QOskY4Vg7PBDb8WffM9C/qBwkBXRVA12/sjgUHxOmc9tBP/Z/0gPDcoLcnOK1gkohSaTGzsTRJ3OI8reC6cDJzjp7Egd21VgkBiZ1v/6sLTMZaFwzXEDrZ0arLsU2grPyRvRarY9mAFNWnlypUJ/wmXyVe6E6Wx/26sE2s/I+nkIh4WZPjmDDlYcZ/iLCLOjorlRbEnO8psvPQuNzxeuLpf0JAgBhXzYHVoGag==
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=pExjzv71O2OjFeZiCvLguBuONPyYVmPDW24YAYPi3ac=;
 b=gRLmta2xK6SwtJV9iZ3mHSdpssAeZCIXNDLlPIB4oqoXJjvpvkPyuAYkNRkgIlYSO2N8NsP711kY+ZoPUjRPHEJR+DnCqkWsuAZ0h8YKtlDGjDpKGrB7A2VOq4Mp857IAoPFKFkI9LaV8IoZbGoIkNAlFYaG8KsPtvdAUCLV9n8cnfXil1Oy5+6DwkqAvIOzNLU1vdyLy/z5Myagm9DHYplqkOvBS+GhO/A3NOeSbL+KMFsGERmasg8pZAbOEZFtSg+UpSBqEYzbZm0CC+HBBO52qRTGUD0OdmXXosWFKwg3Z8yMhdAiezIIMRpALmFk51bLmS/dT60kxNgpE0IhaA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
From: Mykola Kvach <mykola_kvach@epam.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>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH for-4.22?] xen/arm: mask debug exceptions in initial AArch64 guest state
Date: Fri, 19 Jun 2026 21:37:38 +0300
Message-ID: <74e132a5f3dff64be5bd0c04eb82fe78d9c2fe84.1781892316.git.mykola_kvach@epam.com>
X-Mailer: git-send-email 2.43.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: WA1PEPF00005B8E.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d8::62f) To AS8PR03MB9746.eurprd03.prod.outlook.com
 (2603:10a6:20b:61d::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9746:EE_|DU5PR03MB10523:EE_
X-MS-Office365-Filtering-Correlation-Id: 9f0fcbe9-8ff5-47f2-5167-08dece31dc76
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|1800799024|376014|366016|11063799006|3023799007|56012099006|18002099003;
X-Microsoft-Antispam-Message-Info:
	v4wlEDjmh4VVJhGnYoG34xQ4RqayOWPBQT3LX/Wo9oebdgEawyBFIiqi3ese5Z2V1ZjSce5G/45e0l9l4ERLPKrdW1hSW91pJn/ISdjvT58ELHlwWVQkKAcxkQOVE0HDtAH3be3SLMwEm7uKsYKJrSwrHi8vYTlmRkP+U7Wp+LD35Lqpc8mYE8R0Cl2myDMiQN1+md40L8US0ugdON+IfqnRTVWOD1q3D+cu2ucTf5g9tLJTcR+GHu94WuUf3Rkj9gELGfG5pGOoZuKpSteXcIZTPjEJ/dB23JY0Mci0OlKoOmopMxAUdDPOxivf8MuoG6K47Y7AbasW6LlDbJqZjMQumfOPeiDvj8QEag3o1b7xt+NGB8JRyi3xh9z/ijxkwPmYYx5qOInZxt7E1G2UQkR3ljtRfI2VGOeK4i2PcLhYGvsr+QLLQMIrPyrQ33gCFYxsIUISAcX/yg23V2m75AQLoIuYWv0G3vU2ZG9jXMRjQWdzkkghPhBpOhzyjcMw21VV+IzgjIX+TrmqwYK/mJqOplQcMskFa1VeFirFR5/2AAHHm3Pfio+oV0jCzLSyuMjbbsd9y+vEcrln7eJDe5vH6v7/+p5XgBr3BPc3frQUsy0V/kZIzByklscmCn5tPGvuthKwFQXC2FckIwjR/073Lhyb+qr9rhqm8c5AKa4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9746.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(376014)(366016)(11063799006)(3023799007)(56012099006)(18002099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?2B40ECsqJOyGb6f4D3k09+QmGgvYRv2KlPzBCddGaxzPiYzuYNblU3GxQOsx?=
 =?us-ascii?Q?x2eTW4aCuyWZiBlDWL0JcASelbwUFWnTyF1VO3aKSqDoTSLGlwr1fyal585D?=
 =?us-ascii?Q?r65sltPD8AkSwHcfN1VPSc2LSBV1AFbrr4G+PpExMvWxs3L7w8WzGGprOrxM?=
 =?us-ascii?Q?0+7jcz3JcVfgnNS2S3M7Hdmo3miXMafwC+FGXpVlshEDqVNFLGE5cLH4a8zC?=
 =?us-ascii?Q?HH/7kIxu2haaBhpFrHWlO7lEZ9TqZdYsEZI6xOolI2M+vte5z8PhM55xK9Rw?=
 =?us-ascii?Q?HVHbxHYgiHkHN2hEXRpcYUULm6RquWHEeDug9F++ZkZi/btIXAWsj07VyDUK?=
 =?us-ascii?Q?05jzK2M01od0KWgo5DM+ojj9uuHZnLHHNOg21SgNZjVmVcgnFQvPDAjc3Ors?=
 =?us-ascii?Q?L+cFNdWy6w0B/jZM8ZNwIVsYptQHB5SeWTqfC1vWRBsOufW7ygvsWsfSP3V3?=
 =?us-ascii?Q?pViecPj82SppVy+DI0Yryd0HRlt3prjcRAa6XV/mmIrauCuxbjCtQoOlNIwL?=
 =?us-ascii?Q?dDu3jZqthgnpxYE0+fcRWRVGTlGgduGkMyLOSPGRyfR2VnXkN2m4lb58BL4Z?=
 =?us-ascii?Q?mrKdrQM7k5McfKGNxD3qnTfaHpraB/IdHan1sq7Yu9hvppXA6uIldkjfgppO?=
 =?us-ascii?Q?dvTBsH+5161YEb1CY/nKEsqrYdvbStR0pvuxDTOCmZoTvVOcvyPi//9t3eaz?=
 =?us-ascii?Q?mExBjMXXrOY0i/VFV02rV+pDGkNDxmcZzYVuvgv1NzSnIhAm+RQhYRlfqYKC?=
 =?us-ascii?Q?l9TLYnc+p8wp9mD567HZDW2Mkmvy+ThNvNEoXQQcCVtxEgfnSjiT0mo3zqmA?=
 =?us-ascii?Q?PeRze/Lb700Sq0ggHk8J8U6SqmGo05t7VQXhpIhYmqx0ZoRiaOgV+tR6xmqI?=
 =?us-ascii?Q?ZoSGg0e5QA9zhOUSlfnFZw9eEk3e/aAmdWrfWq9mVrypR2t22khcfxmVm6S1?=
 =?us-ascii?Q?E/8aTCFGUekMu6mRhiEUpLA/wGVuINIn5MaqappvB7pUR2hRKMgvESf7Pekd?=
 =?us-ascii?Q?l3RVmh/fbjk5dfqFaVYcK34O2iRSb6aPOvt6hQ4pyvCPC4wgOYecL1jSW+Ye?=
 =?us-ascii?Q?2akq4oek20MmnI0uShgM3tnRXnhs08Xj0G1udfnQsZ+OB9e6QMhwaa0p4537?=
 =?us-ascii?Q?B8NwGo+hTirmNA8Id+ZF5Loor2eQN39AvG6YmPn0P5CfCfAjj8t0s9VebDXW?=
 =?us-ascii?Q?2r8HeIg02XJq+1m4wmoLNMjifV8lXqa81GXpQqzAtudg5G7OF99z5S4KvbgU?=
 =?us-ascii?Q?giwvw7wkRSVKY90/J6NZ6Z6nj+TIt8mZk1i3EOWDUvrfcn3FAvMciEo+7ejz?=
 =?us-ascii?Q?6ehjf1X7WTlG+TzcVaGSB9jRO51l5Lzjw7oiuC6PyRkm3bWRDQTnvBv58eH8?=
 =?us-ascii?Q?UNGp7Psmr38fNRhMhu4r8Xy3HS6+70Ypqnj7Jn7DPXs0SvriAtIshr92QTDf?=
 =?us-ascii?Q?x4p5bkXXPfEA6hSTcO3DBRpyarLhzIq87AncMdpZNW0yoCSYGQ0XL0oNm58l?=
 =?us-ascii?Q?Lmhs1rrLdN6YBJCNsF8n6IbDvF9gvsJYra5j5Xdz5pVVzK0RaANjeaI4NnTB?=
 =?us-ascii?Q?UGmD/dK2GVhJsiPxvN5rqtAvaYJrYDmkM7pf5Uhao7Dmf5Y0AJvs6qsiGGhV?=
 =?us-ascii?Q?F4xUxmbTUcBn1+ZG02wrawhoBH2CcgJFFOLiHDtNZwiuX6UfhFmaeExcIUQy?=
 =?us-ascii?Q?MzP60t6kPPPWRvgYhrTqHZHHF0YUEOwbiWmu56aWcTNAK478tQcvscmLFHkJ?=
 =?us-ascii?Q?TjZ+GBsdkw=3D=3D?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9f0fcbe9-8ff5-47f2-5167-08dece31dc76
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9746.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 18:37:48.2889
 (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: b81xXZIMxbRSJPPKiYk13hGUnUFt5258yCIjl31covSRZaHAdncDGqfFo645f9yAnpqpPFJtsBmn7W+O/dxndg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR03MB10523
X-purgate-ID: tlsNG-d25034/1781894271-521F6ABF-289CA542/0/0
X-purgate-type: clean
X-purgate-size: 1127

PSR_GUEST64_INIT currently masks SError, IRQ and FIQ, but leaves debug
exceptions unmasked. Both the AArch64 Linux boot protocol and PSCI entry
requirements expect PSTATE.DAIF to be masked.

Add PSR_DBG_MASK to PSR_GUEST64_INIT. This fixes the initial AArch64 guest
entry state as well as virtual PSCI CPU_ON and SYSTEM_SUSPEND resume entry.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
 xen/include/public/arch-arm.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index 7d6f87e8b2..00de30b896 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -420,7 +420,8 @@ typedef uint64_t xen_callback_t;
  * zImage kernels on aarch32.
  */
 #define PSR_GUEST32_INIT (PSR_Z|PSR_ABT_MASK|PSR_FIQ_MASK|PSR_IRQ_MASK|PSR_MODE_SVC)
-#define PSR_GUEST64_INIT (PSR_ABT_MASK|PSR_FIQ_MASK|PSR_IRQ_MASK|PSR_MODE_EL1h)
+#define PSR_GUEST64_INIT \
+    (PSR_DBG_MASK|PSR_ABT_MASK|PSR_FIQ_MASK|PSR_IRQ_MASK|PSR_MODE_EL1h)
 
 #define SCTLR_GUEST_INIT    xen_mk_ullong(0x00c50078)
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 20:26:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 20:26:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342648.1602684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wafmv-0008Hl-5k; Fri, 19 Jun 2026 20:26:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342648.1602684; Fri, 19 Jun 2026 20: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 1wafmv-0008He-2B; Fri, 19 Jun 2026 20:26:05 +0000
Received: by outflank-mailman (input) for mailman id 1342648;
 Fri, 19 Jun 2026 20:26: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 1wafmt-0008H5-4D
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 20:26: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 1wafms-00HUf0-2s;
 Fri, 19 Jun 2026 20:26:02 +0000
Received: from [2a02:8012:3a1:0:28f2:e98a:6c7b:919d]
 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 1wafms-009my8-0O;
 Fri, 19 Jun 2026 20:26:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Ukqhh+lrSM2voUnjpMrqehJp7xq3sDNSuljTdOfqT/E=; b=fPjKIPcuWOHB0iAWiYitVNsGC1
	S3UCyk5p3k8UkbESqScDssUy2DilHTtmSJGci6muf3rvUtOr15gCXxLsCMr8baTHtAMmIskGxvGKV
	J21+I3RwiFlNgsCpnQ6JjCx0dh1yeZZT+UAlD/qgJpX/bZnPLqwnmbVN87kjDTwO74LA=;
Message-ID: <3c6fe373-8840-4943-abaf-7e7ed13870e2@xen.org>
Date: Fri, 19 Jun 2026 21:26:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22?] xen/arm: mask debug exceptions in initial
 AArch64 guest state
Content-Language: en-GB
To: Mykola Kvach <mykola_kvach@epam.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>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <74e132a5f3dff64be5bd0c04eb82fe78d9c2fe84.1781892316.git.mykola_kvach@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <74e132a5f3dff64be5bd0c04eb82fe78d9c2fe84.1781892316.git.mykola_kvach@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Mykola,

On 19/06/2026 19:37, Mykola Kvach wrote:
> PSR_GUEST64_INIT currently masks SError, IRQ and FIQ, but leaves debug
> exceptions unmasked. Both the AArch64 Linux boot protocol and PSCI entry
> requirements expect PSTATE.DAIF to be masked.
> 
> Add PSR_DBG_MASK to PSR_GUEST64_INIT. This fixes the initial AArch64 guest
> entry state as well as virtual PSCI CPU_ON and SYSTEM_SUSPEND resume entry.
> 
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>

Reviewed-by: Julien Grall <julien@xen.org>

Regarding Xen 4.22, I understand and agree this is technically against 
the specification. However, AFAIR, we don't expose debug registers to 
the guest. So there should be no impact.

The slight risk with this patch is OS that may have started to rely on 
Xen behavior (hopefully not here, but I know we had a couple of cases 
with the timer for instance...).

This has been present forever. So unless there is a real issue, I am 
tempted to suggest to wait until the release is out and backport after.

I will leave Oleksii the final decision.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 21:12:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 21:12:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342664.1602697 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wagVW-0008Cg-Fg; Fri, 19 Jun 2026 21:12:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342664.1602697; Fri, 19 Jun 2026 21: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 1wagVW-0008CZ-Bc; Fri, 19 Jun 2026 21:12:10 +0000
Received: by outflank-mailman (input) for mailman id 1342664;
 Fri, 19 Jun 2026 21:12: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 1wagVV-0008CK-50
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 21:12: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 1wagVU-00HVTB-1T;
 Fri, 19 Jun 2026 21:12:08 +0000
Received: from [2a02:8012:3a1:0:28f2:e98a:6c7b:919d]
 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 1wagVT-00B7aR-1c;
 Fri, 19 Jun 2026 21:12: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=ZT9lCx3ylW1TVeuJoWag1Jsru8p8upMZ8bmoIUn2TVA=; b=6JmgWyBGC8RJTZjvlQGQfAvV+k
	nFIgz75qdMY/4o3Mhj2zRS7eCOMAvSJW8zwTWcLgytHhBmUPkqGsEB05LjZixIjNi7l6hAfJ3e34c
	L/evgdDXIlyld/cbhdIW5VvO8pGHLmuhUDWfZUTgqk1A3V60WDTFdtzxZ5MPx2+X+oMg=;
Message-ID: <b1e5ec80-a6be-4339-a06e-a47110349cd4@xen.org>
Date: Fri, 19 Jun 2026 22:12:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for 4.23] Add GICv3 SGI boot/self tests in Xen
Content-Language: en-GB
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.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: <20260529170956.49797-1-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20260529170956.49797-1-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Ayan,

On 29/05/2026 18:09, Ayan Kumar Halder wrote:
> Boot self-tests (also referred to as boot-time tests or power-on
> self-tests) are intended to validate internal features of Xen during
> bring-up. They are meant to be run in a debug / validation environment;
> Xen is not expected to remain functional for production use after the
> self-tests have executed.

Looking at the code below, isn't Xen functional even after the self-test?

> The purpose of these tests is to catch
> hardware configuration issues early and to confirm that the platform
> on which Xen has been brought up is sane. The expected flow is:
> build Xen with the self-tests enabled, boot it, inspect the results,
> and then reboot into the usual production configuration.
> 
> Introduce the tests to confirm that:
> 1. A cpu can send SGI 0 to itself
> 2. A cpu can send SGI 0 to another specific CPU
> 3. A cpu can send SGI 0 to all the other CPUs
> 4. A cpu can send SGI 1 to another CPU

I am not sure what you meant by SGI 0 and SGI 1? Below you seem to be 
use only a SGI (which is neither 0 or 1) except for one specific test: 
cpu 0 injecting an SGI to a specific CPU (0).

> 
> These tests aim to test Xen has configured the GIC correctly to use SGIs.
> Thus, the tests invoke specific APIs of GIC driver.
> 
> Also, introduce a config CONFIG_BOOT_SELFTEST which enables these tests.
> The option defaults to N; it should be disabled for production builds and
> is intended for the validation pipeline and coverage measurement. The
> tests run during Xen boot and validate internal interfaces such as Xen's
> interface with hardware, firmware and the bootloader.
> 
> Also, introduce an integer command line parameter "gic-test". By default, it
> is set to 0 which means no tests are enabled.
> For running SGI tests, "gic-test" should be set to 1. In future if we add
> tests for distributer, ITS, LPI, etc, then we can use different numbers.
> Thus, each number denotes a functionality of GICv3 which can be tested
> independently and within a single boot of Xen.
> 
> In this way, we ensure that the tests to validate SGIs do not impact any other
> tests.
> 
> In order to keep all the boot-time self-tests together in the binary, we
> have introduced a separate section "initcallboottest". All the tests are
> registered using __initcallboottest. During the bootup of each core, Xen
> invokes do_init_boottests() to run the these tests. All these tests are
> invoked before Xen creates the domains (in case of primary core) or runs
> the idle loop (in case of secondary core).
> 
> Note: it was suggested that, once the boot self-tests have run, Xen
> should call machine_halt() rather than continue booting (since this
> build is only intended for validation). This is not wired in here
> because the SGIs are sent from the primary and secondary CPUs and
> received asynchronously on the target CPUs. There is no definite point
> in the boot flow at which Xen can know that every send has been
> observed by its receiver, so "after the tests have completed" has no
> well-defined moment at which to insert machine_halt().
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---
> Link to v1 (RFC):
> https://lists.xenproject.org/archives/html/xen-devel/2025-09/msg00956.html
> 
> Upstream CI run (xen-project/people/ayankuma/xen fork, one commit on
> top of xen-project/xen staging â€” all Linux builds + tests including
> qemu-smoke-boot-selftest-arm64-gcc-debug passed; only the macos jobs
> sit pending because the personal fork has no macos runner):
> https://gitlab.com/xen-project/people/ayankuma/xen/-/pipelines/2561806695
> 
> Changes in v2:
>   - Renamed the patch from "xen/arm: Introduce GICV3 Self Tests" to
>     "Add GICv3 SGI boot/self tests in Xen", and rewrote the commit
>     message to explain the intent of boot self-tests (debug /
>     validation builds only, Xen not expected to remain functional
>     afterwards).
>   - Moved the selftest code out of gic-v3.c into a dedicated file
>     xen/arch/arm/gic-test.c, gated by CONFIG_BOOT_SELFTEST
>     (Stefano, Grygorii).
>   - Introduced a generic boot-self-test framework: new section
>     "initcallboottest", registration macro __initcallboottest, and
>     do_init_boottests() invoked once per CPU after
>     local_irq_enable(), so the test runs on every CPU (boot +
>     secondaries) and no longer collides with the IRQ-enable timing
>     in gicv3_init() (Julien #1, Julien #3).
>   - Added Kconfig option CONFIG_BOOT_SELFTEST in
>     xen/arch/arm/Kconfig (arm-only for now; arch-specific because
>     the only registered test is GICv3-specific).
>   - Reserved a dedicated SGI value GIC_SGI_TEST in enum gic_sgi
>     (xen/arch/arm/include/asm/gic.h), so the selftest never
>     reuses a functional SGI (Grygorii #3).
>   - Added a runtime integer command-line parameter "gic-test" so
>     the selftest binary can be shipped but its execution selected
>     at boot (gic-test=0 -> no-op; gic-test=1 -> SGI tests). Future
>     GICv3 features (distributor, ITS, LPI, ...) can claim further
>     values (Grygorii #2, partial).
>   - Documented why machine_halt() is not invoked after the tests:
>     SGI delivery is asynchronous, so there is no well-defined
>     point after which every send has been observed by its
>     receiver (Julien #2).
>   - Wired the tests into upstream GitLab CI: new build job
>     alpine-3.18-gcc-debug-arm64-boot-selftest, new test job
>     qemu-smoke-boot-selftest-arm64-gcc-debug, and the runner
>     script automation/scripts/qemu-boot-selftest-arm64.sh that
>     dumps the QEMU virt DTB, injects
>     "gic-test=1 console=dtuart sync_console" into
>     /chosen/xen,xen-bootargs via fdtput, boots Xen, and checks
>     for each "Sending GIC_SGI_TEST ..." followed by the matching
>     "CPU%u: GIC_SGI_TEST received".
> 
>   automation/gitlab-ci/build.yaml               |  8 ++
>   automation/gitlab-ci/test.yaml                |  8 ++
>   .../scripts/qemu-boot-selftest-arm64.sh       | 81 +++++++++++++++++++
>   xen/arch/arm/Kconfig                          | 15 ++++
>   xen/arch/arm/Makefile                         |  1 +
>   xen/arch/arm/gic-test.c                       | 52 ++++++++++++
>   xen/arch/arm/gic.c                            |  5 ++
>   xen/arch/arm/include/asm/gic.h                |  3 +
>   xen/arch/arm/setup.c                          |  2 +
>   xen/arch/arm/smpboot.c                        |  2 +
>   xen/arch/arm/xen.lds.S                        |  4 +
>   xen/common/kernel.c                           | 11 +++
>   xen/include/xen/init.h                        |  3 +
>   13 files changed, 195 insertions(+)
>   create mode 100755 automation/scripts/qemu-boot-selftest-arm64.sh
>   create mode 100644 xen/arch/arm/gic-test.c
> 
> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index 7f5b5938e8..8df45caa86 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -439,6 +439,14 @@ alpine-3.18-gcc-debug-arm64:
>         CONFIG_UBSAN=y
>         CONFIG_UBSAN_FATAL=y
>   
> +alpine-3.18-gcc-debug-arm64-boot-selftest:
> +  extends: .gcc-arm64-build-debug
> +  <<: *build-test
> +  variables:
> +    CONTAINER: alpine:3.18-arm64v8
> +    EXTRA_XEN_CONFIG: |
> +      CONFIG_BOOT_SELFTEST=y
> +
>   alpine-3.18-gcc-arm64-randconfig:
>     extends: .gcc-arm64-build
>     variables:
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 8770c523e2..2398c6299a 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -524,6 +524,14 @@ qemu-smoke-dom0less-arm64-gcc-debug-gicv3:
>       - *arm64-test-needs
>       - alpine-3.18-gcc-debug-arm64
>   
> +qemu-smoke-boot-selftest-arm64-gcc-debug:
> +  extends: .qemu-arm64
> +  script:
> +    - ./automation/scripts/qemu-boot-selftest-arm64.sh 2>&1 | tee ${LOGFILE}
> +  needs:
> +    - *arm64-test-needs
> +    - alpine-3.18-gcc-debug-arm64-boot-selftest
> +
>   qemu-smoke-dom0less-arm64-gcc-debug-staticmem:
>     extends: .qemu-arm64
>     script:
> diff --git a/automation/scripts/qemu-boot-selftest-arm64.sh b/automation/scripts/qemu-boot-selftest-arm64.sh
> new file mode 100755
> index 0000000000..a37dba3e07
> --- /dev/null
> +++ b/automation/scripts/qemu-boot-selftest-arm64.sh
> @@ -0,0 +1,81 @@
> +#!/bin/bash
> +
> +set -ex -o pipefail
> +
> +# Boot the prebuilt Xen binary under QEMU with CONFIG_BOOT_SELFTEST=y enabled
> +# and gic-test=1 in xen,xen-bootargs, then verify the four GICv3 SGI self-tests
> +# pass by inspecting the serial log.
> +
> +XEN=binaries/xen
> +QEMU=./binaries/qemu-system-aarch64
> +DTB_RAW=binaries/virt.dtb
> +DTB=binaries/virt-bootselftest.dtb
> +LOG=smoke.serial
> +
> +test -x ${QEMU}
> +test -f ${XEN}
> +
> +# Dump the auto-generated DT from the QEMU virt machine, then inject
> +# /chosen/xen,xen-bootargs.  The selftest infrastructure invokes
> +# do_init_boottests() during early boot; gic-test=1 selects the GICv3 SGI
> +# tests.
> +# -net none avoids QEMU's default virtio-net-pci, whose efi-virtio.rom
> +# is not shipped with the qemu-system-aarch64 artifact used in CI.
> +${QEMU} \
> +    -machine virt,virtualization=true,gic-version=3,dumpdtb=${DTB_RAW} \
> +    -cpu cortex-a57 -m 1024 -smp 2 -display none -net none
> +
> +cp ${DTB_RAW} ${DTB}
> +fdtput -t s ${DTB} /chosen xen,xen-bootargs \
> +    "gic-test=1 console=dtuart sync_console"
> +
> +rm -f ${LOG}
> +timeout 60 ${QEMU} \
> +    -machine virt,virtualization=true,gic-version=3 \
> +    -cpu cortex-a57 -m 1024 -smp 2 \

This means that there is no much difference between "send an SGI to a 
specific CPU" and "send an SGI to others CPU". I think it would be more 
meaningful to use 3 or more pCPUs.

> +    -serial file:${LOG} \
> +    -monitor none -display none -no-reboot -net none \
> +    -dtb ${DTB} \
> +    -kernel ${XEN} || true
> +
> +# Each "Sending GIC_SGI_TEST ..." line must be followed by the matching
> +# "CPU%u: GIC_SGI_TEST received".
> +fail=0
> +check_pair() {
> +    local send_pat=$1
> +    local recv_pat=$2
> +    local send_line recv_line
> +
> +    send_line=$(grep -n -- "${send_pat}" ${LOG} | head -n1 | cut -d: -f1)
> +    if [ -z "${send_line}" ]; then
> +        echo "MISSING: ${send_pat}"
> +        fail=1
> +        return
> +    fi
> +
> +    recv_line=$(grep -n -- "${recv_pat}" ${LOG} \
> +        | awk -v bl="${send_line}" -F: '$1 > bl {print $1; exit}')
> +    if [ -z "${recv_line}" ]; then
> +        echo "MISSING (after line ${send_line}): ${recv_pat}"
> +        fail=1
> +        return
> +    fi
> +
> +    echo "OK: '${send_pat}' -> '${recv_pat}' (lines ${send_line} -> ${recv_line})"
> +}
> +
> +# Boot CPU sends SGI to itself
> +check_pair "Sending GIC_SGI_TEST to self CPU0" "CPU0: GIC_SGI_TEST received"
> +# Secondary CPU sends SGI to itself
> +check_pair "Sending GIC_SGI_TEST to self CPU1" "CPU1: GIC_SGI_TEST received"
> +# Secondary CPU sends SGI to primary
> +check_pair "Sending GIC_SGI_TEST to CPU0 from CPU1" "CPU0: GIC_SGI_TEST received"
> +# Send to all-but-self
> +check_pair "Sending GIC_SGI_TEST to all except CPU1" "CPU0: GIC_SGI_TEST received"
> +
> +if [ ${fail} -ne 0 ]; then
> +    echo "FAILED"
> +    exit 1
> +fi
> +
> +echo "PASSED"
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index 79622b46a1..0e23bbf20b 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -476,6 +476,21 @@ config ARM64_HARDEN_BRANCH_PREDICTOR
>   config ARM32_HARDEN_BRANCH_PREDICTOR
>       def_bool y if ARM_32 && HARDEN_BRANCH_PREDICTOR
>   
> +config BOOT_SELFTEST
> +    bool "Enable boot-time self-tests"
> +    default n

Above you said, this is not meant for production. So I was expecting to 
see a dependency on CONFIG_DEBUG.

If the intention is to use it in release build, given the current 
behavior (e.g. breaking test), I think this should depend on UNSUPPORTED 
so we don't get security report because Xen is broken after the boot tests.

 > +    help> +      This option enables boot-time self-tests that 
validate Xen's internal
> +      interfaces with hardware, firmware and the bootloader. The tests are
> +      registered with __initcallboottest and executed by do_init_boottests()
> +      during early boot, before domains are created.
> +
> +      These tests are intended for validation and coverage measurement, not
> +      for production builds. With this option enabled, Xen may not be
> +      functional after the tests have run.

If we know a test break, I think it is best that Xen doesn't continue. 
Otherwise, it is quite confusing for the user to know what's going on.

My preference is the bootest would act like other self tests and Xen can 
continue booting normally. So the tests could also be meaningful in 
non-test setups.

> +
> +      If unsure, say N.
> +
>   source "arch/arm/platforms/Kconfig"
>   
>   source "common/Kconfig"
> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
> index 84c4062b30..0090761682 100644
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -24,6 +24,7 @@ obj-y += domctl.o
>   obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
>   obj-y += efi/
>   obj-y += gic.o
> +obj-$(CONFIG_BOOT_SELFTEST) += gic-test.init.o
>   obj-$(CONFIG_GICV2) += gic-v2.o
>   obj-$(CONFIG_GICV3) += gic-v3.o
>   obj-$(CONFIG_HAS_ITS) += gic-v3-its.o
> diff --git a/xen/arch/arm/gic-test.c b/xen/arch/arm/gic-test.c
> new file mode 100644
> index 0000000000..ca922e5d2a
> --- /dev/null
> +++ b/xen/arch/arm/gic-test.c
> @@ -0,0 +1,52 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#include <xen/delay.h>
> +#include <xen/init.h>
> +#include <xen/param.h>
> +#include <xen/shutdown.h>

Can you clarify why you need this header?

> +#include <asm/gic.h>
> +
> +/*
> + * gic_test: Specifies the gic test to be executed.
> + * 0 = no tests are executed
> + * 1 = SGI tests are executed
> + */
> +static unsigned int __initdata gic_test = 0;
> +integer_param("gic-test", gic_test);

Given this is mean to be 0 or 1, why not using "boolean_param"?

Also, new command line option should be documented in the docs. That 
said, I am not really sure about

> +
> +/*
> + * CPU0: GIC_SGI_DUMP_STATE to self
> + * CPU{0-N}: GIC_SGI_TEST to self
> + * CPU{1-N}: GIC_SGI_TEST to CPU0
> + * CPU{N}: GIC_SGI_TEST to all but self
> + */
> +static int __init gic_self_sgi_test(void)
> +{
> +    if ( !gic_test )
> +        return 0;
> +
> +    printk("Sending GIC_SGI_TEST to self CPU%u\n", smp_processor_id());
> +    send_SGI_self(GIC_SGI_TEST);
> +
> +    if ( smp_processor_id() == 0 )
> +    {
> +        printk("Sending GIC_SGI_DUMP_STATE to CPU0\n");
> +        smp_send_state_dump(0);

OOI, why is this only called for CPU0? You also don't seem to check that 
smp_send_state_dump() in the CI test.
> +
> +        return 0;
> +    }
> +
> +    printk("Sending GIC_SGI_TEST to CPU0 from CPU%u\n", smp_processor_id());
> +    send_SGI_one(0, GIC_SGI_TEST);
> +
> +    /* Execute this test only from the last core */
> +    if ( smp_processor_id() == (smp_get_max_cpus() - 1) )

This is relying on how Xen is boot CPUs. Would it be better to check the 
number of online CPUs at the time of the check? (You might need to 
re-order some code for that)

> +    {
> +        printk("Sending GIC_SGI_TEST to all except CPU%u\n", smp_processor_id());
> +        send_SGI_allbutself(GIC_SGI_TEST);
> +    }
> +
> +    return 0;
> +
> +}
> +__initcallboottest(gic_self_sgi_test);
> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
> index ee75258fc3..9736b0c7df 100644
> --- a/xen/arch/arm/gic.c
> +++ b/xen/arch/arm/gic.c
> @@ -324,6 +324,11 @@ static void do_static_sgi(struct cpu_user_regs *regs, enum gic_sgi sgi)
>       case GIC_SGI_CALL_FUNCTION:
>           smp_call_function_interrupt();
>           break;
> +#ifdef CONFIG_BOOT_SELFTEST
> +    case GIC_SGI_TEST:
> +        printk("CPU%u: GIC_SGI_TEST received\n", smp_processor_id());

To confirm, we will solely rely on logging? IOW, there is no plan to 
have Xen self-sufficient (e.g. using a global variable).

> +        break;
> +#endif
>       default:
>           panic("Unhandled SGI %d on CPU%d\n", sgi, smp_processor_id());
>           break;
> diff --git a/xen/arch/arm/include/asm/gic.h b/xen/arch/arm/include/asm/gic.h
> index ff22dea40d..74bdd4ff63 100644
> --- a/xen/arch/arm/include/asm/gic.h
> +++ b/xen/arch/arm/include/asm/gic.h
> @@ -306,6 +306,9 @@ enum gic_sgi {
>       GIC_SGI_EVENT_CHECK,
>       GIC_SGI_DUMP_STATE,
>       GIC_SGI_CALL_FUNCTION,
> +#ifdef CONFIG_BOOT_SELFTEST
> +    GIC_SGI_TEST,
> +#endif
>       GIC_SGI_STATIC_MAX,
>   };
>   
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index 6310a47d68..4e5db93027 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -470,6 +470,8 @@ void asmlinkage __init noreturn start_xen(unsigned long fdt_paddr)
>       enable_errata_workarounds();
>       enable_cpu_features();
>   
> +    do_init_boottests();
> +
>       /* Create initial domain 0. */
>       if ( !is_dom0less_mode() )
>           create_dom0();
> diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
> index 7f3cfa812e..a016ff00f5 100644
> --- a/xen/arch/arm/smpboot.c
> +++ b/xen/arch/arm/smpboot.c
> @@ -405,6 +405,8 @@ void asmlinkage noreturn start_secondary(void)
>   
>       printk(XENLOG_DEBUG "CPU %u booted.\n", smp_processor_id());
>   
> +    do_init_boottests();
> +
>       startup_cpu_idle_loop();
>   }
>   
> diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
> index 2d5f1c516d..14f64a856c 100644
> --- a/xen/arch/arm/xen.lds.S
> +++ b/xen/arch/arm/xen.lds.S
> @@ -146,6 +146,10 @@ SECTIONS
>          *(.initcall1.init)
>          __initcall_end = .;
>   
> +       __initcall_boot_test_start = .;
> +       *(.initcallboottest.init)
> +       __initcall_boot_test_end = .;
> +
>          . = ALIGN(4);
>          __alt_instructions = .;
>          *(.altinstructions)
> diff --git a/xen/common/kernel.c b/xen/common/kernel.c
> index fb45f81399..2047fe2a3f 100644
> --- a/xen/common/kernel.c
> +++ b/xen/common/kernel.c
> @@ -412,6 +412,7 @@ void add_taint(unsigned int taint)
>   
>   extern const initcall_t __initcall_start[], __presmp_initcall_end[],
>       __initcall_end[];
> +extern const initcall_t __initcall_boot_test_start[], __initcall_boot_test_end[];
>   
>   void __init do_presmp_initcalls(void)
>   {
> @@ -427,6 +428,16 @@ void __init do_initcalls(void)
>           (*call)();
>   }
>   
> +void __init do_init_boottests(void)
> +{
> +#ifdef CONFIG_BOOT_SELFTEST

I think it would be worth printing before and after to indicate the 
begin/end of the selftest.

> +    const initcall_t *call;
> +    for ( call = __initcall_boot_test_start; call < __initcall_boot_test_end;
> +          call++ )
> +        (*call)();
> +#endif
> +}
> +
>   #ifdef CONFIG_HYPFS
>   static unsigned int __read_mostly major_version;
>   static unsigned int __read_mostly minor_version;
> diff --git a/xen/include/xen/init.h b/xen/include/xen/init.h
> index 0c921672c1..bd518bcea9 100644
> --- a/xen/include/xen/init.h
> +++ b/xen/include/xen/init.h
> @@ -66,11 +66,14 @@ typedef void (*exitcall_t)(void);
>       static const initcall_t __initcall_##fn __init_call("presmp") = (fn)
>   #define __initcall(fn) \
>       static const initcall_t __initcall_##fn __init_call("1") = (fn)
> +#define __initcallboottest(fn) \
> +    static const initcall_t __initcall_##fn __init_call("boottest") = (fn)
>   #define __exitcall(fn) \
>       static exitcall_t __exitcall_##fn __exit_call = fn
>   
>   void do_presmp_initcalls(void);
>   void do_initcalls(void);
> +void do_init_boottests(void);
>   
>   #endif /* __ASSEMBLER__ */

Cheers,


-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Jun 19 21:22:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Jun 2026 21:22:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342673.1602704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wagf5-000206-9d; Fri, 19 Jun 2026 21:22:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342673.1602704; Fri, 19 Jun 2026 21: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 1wagf5-0001zz-6s; Fri, 19 Jun 2026 21:22:03 +0000
Received: by outflank-mailman (input) for mailman id 1342673;
 Fri, 19 Jun 2026 21:22:02 +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 1wagf4-0001zl-4y
 for xen-devel@lists.xenproject.org; Fri, 19 Jun 2026 21:22:02 +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 1wagf2-00HVe1-3B;
 Fri, 19 Jun 2026 21:22:00 +0000
Received: from [2a02:8012:3a1:0:28f2:e98a:6c7b:919d]
 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 1wagf2-00BQ2E-0d;
 Fri, 19 Jun 2026 21:22: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=c6sIMlca3V/okLMgC2C6vwZbW/0Lhm9j7qDHHyT/EAw=; b=NMqThLVd2FQZr+1zmowU+uzO/j
	YhGl/MbenyiTK2BaHlJQLoTqE+X+aBXAf4wX5/+qoD8m8reTcI8EDNV9NxzMjQyk0Eyele/Ml1QAU
	c4idjDamcPBiFtEiut7NY5GYRX4kitCM4k+cqj/JZ5GDlnRqPR7AZFlH9MFbFuTNzjso=;
Message-ID: <48303694-604c-411b-8ea9-0bf648902337@xen.org>
Date: Fri, 19 Jun 2026 22:21:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for 4.23] Add GICv3 SGI boot/self tests in Xen
Content-Language: en-GB
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.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: <20260529170956.49797-1-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20260529170956.49797-1-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi again,

On 29/05/2026 18:09, Ayan Kumar Halder wrote:
> diff --git a/xen/arch/arm/gic-test.c b/xen/arch/arm/gic-test.c
> new file mode 100644
> index 0000000000..ca922e5d2a
> --- /dev/null
> +++ b/xen/arch/arm/gic-test.c
> @@ -0,0 +1,52 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#include <xen/delay.h>

I think this header is also unecessary.

> +#include <xen/init.h>
> +#include <xen/param.h>
> +#include <xen/shutdown.h>
> +#include <asm/gic.h>

[...]

> +static int __init gic_self_sgi_test(void)
> +{
> +    if ( !gic_test )
> +        return 0;
> +
> +    printk("Sending GIC_SGI_TEST to self CPU%u\n", smp_processor_id());
> +    send_SGI_self(GIC_SGI_TEST);
> +
> +    if ( smp_processor_id() == 0 )
> +    {
> +        printk("Sending GIC_SGI_DUMP_STATE to CPU0\n");
> +        smp_send_state_dump(0);
> +
> +        return 0;
> +    }
> +
> +    printk("Sending GIC_SGI_TEST to CPU0 from CPU%u\n", smp_processor_id());
> +    send_SGI_one(0, GIC_SGI_TEST);
> +
> +    /* Execute this test only from the last core */
> +    if ( smp_processor_id() == (smp_get_max_cpus() - 1) )
> +    {
> +        printk("Sending GIC_SGI_TEST to all except CPU%u\n", smp_processor_id());
> +        send_SGI_allbutself(GIC_SGI_TEST);
> +    }
> +
> +    return 0;
> +

Style: The newline seems spurious.

> +}
> +__initcallboottest(gic_self_sgi_test);

Cheers,
-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Sat Jun 20 11:38:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Jun 2026 11:38:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342827.1602718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wau1W-0002jG-6J; Sat, 20 Jun 2026 11:38:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342827.1602718; Sat, 20 Jun 2026 11:38: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 1wau1W-0002j8-2G; Sat, 20 Jun 2026 11:38:06 +0000
Received: by outflank-mailman (input) for mailman id 1342827;
 Sat, 20 Jun 2026 11:38:05 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmytro_prokopchuk1@epam.com>) id 1wau1U-0002j2-Rl
 for xen-devel@lists.xenproject.org; Sat, 20 Jun 2026 11:38:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wau1T-009HZn-Lo
 for xen-devel@lists.xenproject.org; Sat, 20 Jun 2026 13:38:03 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmytro_prokopchuk1@epam.com>)
 id 6a367b6d-e002-0a2a0a5209dd-0a2a4503c426-22
 for <xen-devel@lists.xenproject.org>; Sat, 20 Jun 2026 13:38:03 +0200
Received: from [52.101.70.88]
 (helo=AS8PR04CU009.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <dmytro_prokopchuk1@epam.com>)
 id 6a367b9b-a3da-0a2a45030019-34654658144f-3
 for <xen-devel@lists.xenproject.org>; Sat, 20 Jun 2026 13:38:03 +0200
Received: from AM9PR03MB7526.eurprd03.prod.outlook.com (2603:10a6:20b:3de::17)
 by DU0PR03MB8503.eurprd03.prod.outlook.com (2603:10a6:10:3cb::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.18; Sat, 20 Jun
 2026 11:38:01 +0000
Received: from AM9PR03MB7526.eurprd03.prod.outlook.com
 ([fe80::904d:5820:80e1:41ba]) by AM9PR03MB7526.eurprd03.prod.outlook.com
 ([fe80::904d:5820:80e1:41ba%3]) with mapi id 15.21.0139.018; Sat, 20 Jun 2026
 11:38: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=U20Is2fQke0Pbh3rhb0AGIaQudywI8BYRy+LmMKAzJhJSIBdhMFj+p1nTuoSwz80snJhM+mwl2U8vpZtLQE8Q+RAnzm+oO2zRjn1fBBj7aPIrHGouYQkB2OaSxl+LTVyNb/FiXdH2fTvxgqdr+PDjEriJKOkwhH/Qvy9j014YOmp0hYJOcdHbHShG2SFqT9xSgG+Dx4ahagNcHfStIeeCVX3yvtCmFMfRm2EdXMaQ3dpMeiNmZQo4aD/0dJ/owfUw1c0mMtmqxl4SyNmxHFWIIUzYDeLkaRXybRrC4RMo78vBq2/Zgaq4C09FrCbdnQI///IwHrrbFFQXBTYNp6stA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rbksNNuRvqZIp7HG4ezBwuPrg62fSvJRHarBf9UUhF8=;
 b=Uf6rRBlrlmd8xAmyHVjvZSwf3vN44V55YYb6LrIl06IFPrvDgZfjc0o5U5QznuCqXyU3cJWItWjE2eevVOllxbnNI3u98GTTx374y4DbKDxZlXC/wuRSqulPoKl1a3d3j5e9NPdOSa6ci0RlcjESynNbtwlj5k53GjN9TY+iDleUZc8mRg5XQhZL8cPpuBhsB6Xb0mPt9Cxy/MlsozkU2E0BFBtlihUmZI3JSnbTXHh8eTsOyhzMI2TFtfhp3WahVD8ucVFniYDljmyJUv6c0eYyA9sfO1eduYkUqpv7zKeMQNc8mbfQKlnWvH587ppCH53wyO1MX3TKjTnW4jr4eg==
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=rbksNNuRvqZIp7HG4ezBwuPrg62fSvJRHarBf9UUhF8=;
 b=Bkgyk/TE8h2Aw84h8b5r0yJ4c+M8Q/eKgTKCxRm08XRcc8oq0mcDTYactIoUsey4scWQTrG8Jab3AMGU7NGtGXf5PV26SwRV9ZCpBoNCix8z/5q8+rvuWlfcxWxTtzwQbAUgpG43mThWLnHIJ7ZbK0agp02+uq8qeqGnnpJfG53gDRu8y2rTJAKlINxOU1EvFXV4wfzg8D0vhN1uLBEdH1XQkTL9babF108ozgPkkym3KGSLYN4e6Y4u0v0Ywo+oenSoDenBNp+KEd8fsJl2hrfnuDynVfrQtFnjMWFGvyTmN9lmVgIWhBryyGdMgCsWKCXtLXF0FdzGnUh8RnjS6A==
From: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH] arm/psci: Handle PSCI_ALREADY_ON and PSCI_ON_PENDING as
 non-fatal
Thread-Topic: [PATCH] arm/psci: Handle PSCI_ALREADY_ON and PSCI_ON_PENDING as
 non-fatal
Thread-Index: AQHdAKlAK1umCsX/P0eRzZ/s11RmWw==
Date: Sat, 20 Jun 2026 11:38:01 +0000
Message-ID:
 <337edab445a38b523f4f793b01d960994b834d01.1781955326.git.dmytro_prokopchuk1@epam.com>
Accept-Language: en-US, uk-UA, ru-RU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AM9PR03MB7526:EE_|DU0PR03MB8503:EE_
x-ms-office365-filtering-correlation-id: 7c32e5c6-f853-48f6-6dc0-08decec06285
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|23010399003|42112799006|1800799024|366016|376014|18002099003|56012099006|11063799006|38070700021;
x-microsoft-antispam-message-info:
 1uo0Gz0Nt4iP+D2zpBEpp/0wUTUlsImbVMm0vFtYgUSmRBN18DPrncLIKkz/A3T9M1pXSfSCzeAQT6pxcFHsFg96vp7rpCO2x/0ZaP4QyVtk2LL3BgMqKGOVClXPIWxbENbWnqpededwJ+sp4oFjn/cT6A8+0Elu8tiyWz4DwsCRa1r09BXdi2wSlO2AgjLQ46WwYm1bbmsgYbcz4jtSYbcMf2v+r3RA5OJLlq3R5AfQ7y2mzqm5PcIOlhe/E3Z2EzFDJ5SJBGXUtpKr/rCIDV/G4O2saHum7gMYgM+KFOAInm3VZBFkp+wMxgxfkE6LUFPWSrJcAQExhyI8k20yfQ/VCyCNM9284Hw8GpicX/H6fY0lHUGYbSELOaiWupg0Bpt4jaobrKn4vfXSWjQ2AOEA+fyt08hC63WG2QuqRptSICk+gNn1kgtJKPfkkikaYIYzAWaP44lE+oWqy8eJ5765eSQ3u65Oz5YlJ3koqe1o07V3YEINuC6dT0Z6cqFFmnipMg/lMhgm8gmtq/HogVVzLrKnSBprchVhQpRBa2952BBc3MF1xOBsmzfDbL3REPOblhrlumU4Km8Fo7y/TF8rUHe9wd8fqucSbHH9CpTnQWXaWiFEXLlgiz+ICDKoGx3+TgPaL+ndGrKkf+bzKSHKjpQYdUbQHxM3H1SuHM2rzF2dMQS9ll3gPQ3p6Fzl1Iu7xb6W/uL/6yRukzgX3CnZvDv6Kyx29Ioo9uC6GWI=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR03MB7526.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(42112799006)(1800799024)(366016)(376014)(18002099003)(56012099006)(11063799006)(38070700021);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?qjpzuajyjP5NEJFP9TObQIGfE+2FF3fGNkXba5xKT72hS2gHhAMVvWBMHF?=
 =?iso-8859-1?Q?TMwTfMXGEruzhN2DR/l+QRSIzI0biocMDE0gcxjEa3k5ltv+vXRRuIoNIQ?=
 =?iso-8859-1?Q?G2aQIlqTkwYN7Kksj8gxOW37tXnm9km4b+CnL5Pn8QFeXscxzZfdb4oRgG?=
 =?iso-8859-1?Q?UxLjK4kPBMP5h7iM/9RwognMgsSLthVMidGwHf0efVIYN+/ppnfVegWQUi?=
 =?iso-8859-1?Q?ygL90zJd34FvjWtDt7vjkY2wH0IX1NPwYWWVWr8twsMvxprge1vMFZx1Kp?=
 =?iso-8859-1?Q?cA1ReDN6406i1ZDEP9soc3c7v4d54v0HPuHdlb7ugfj/wUTAtdhZ1PVALI?=
 =?iso-8859-1?Q?giy1qiXFLIjo/lwZYPRK3Ud3WWWMsYgYTBgIN/4Tsq2n6D3paVDFu3jjDU?=
 =?iso-8859-1?Q?zb1P8HYaDIeqLayU+JUlB7i1FYmtismpTaHaLxc4voSzNLkxezO4rmSy6H?=
 =?iso-8859-1?Q?rH6iWSQzUkOeiLx8b84CzmpJSHzrUK+Hvs8plrXx5duDfAEdXfZOBmAWKo?=
 =?iso-8859-1?Q?YL/0xUebRRfYjCtN3gWM7HvJ+aTe70QRoSxs24Lhoja4D8u8p9j+rcElpo?=
 =?iso-8859-1?Q?/QA6W5si1IzkXSrCOHlctG+7oft1xXKdVG350xcXIlcVzWoLk2YAK73iy1?=
 =?iso-8859-1?Q?WVwpNjkj4cWeOdaW1PA68TfpD9X1TAGCmU5+CBbj+BZd3PwlEPr1HPRQHa?=
 =?iso-8859-1?Q?pCi0VepwHAKKRUg1cJjcXKSIdG5BYwT1lkj0wD97QBetIFNb5+XCPvZr7Y?=
 =?iso-8859-1?Q?YL+Q6EsyhazTTO3UNVmFxPwFyA3aA4Mpxg+9hE3p1tKkwxe8upMW9PtuFf?=
 =?iso-8859-1?Q?kPxL9LqrCXdJobEsk89jgeBmSmDSrcpfUhUYNl4flS/HPoF44NMjfB+bKj?=
 =?iso-8859-1?Q?XdhWZ4/w4MMi/cTtiIExw/Y4n0EKrSMkEMpkep0MR9oUWV2I2gU7kz3P1c?=
 =?iso-8859-1?Q?be3n0A/SJ1zis3N0xFrtXXHafy0K5UOmn/0mASnFO5LyFvgY7zWEaM8pMm?=
 =?iso-8859-1?Q?2sqxvC7KxZfrdGYs2Vwdlt/CA8wdIBaCgFlWLTvIBEN9+ZsDYXJ0QbQNsJ?=
 =?iso-8859-1?Q?KXIvGZytnGemydUepjHufc7SrB3Ti0SG2/NgaSxJOXhZOX+hLaM2PSG6WD?=
 =?iso-8859-1?Q?WmuY0+jATfI3waSI/yKd06tpblOHemYYgTOTsQMwxKyS7OC5fxUnBkNaHD?=
 =?iso-8859-1?Q?c1MrEYwLaBs2nl5F//srbXXSVTvBfDS04k+7J1ACkDDzmWLdvnN/4KH2a5?=
 =?iso-8859-1?Q?zgzwc6f1qH7LcldvF7PVZN2H+rXNjg2H+syAp1Fq5kD/Zo2LOSg4A+AYpb?=
 =?iso-8859-1?Q?xH2rSAsQqvH4BvbyEFTqYA8vP1qP6xEpbpEsDKsceNrrO9PgQ0U9fw7fnm?=
 =?iso-8859-1?Q?4XwFNwk2Gk52OrIG9V6R3AjHlWFTvtrzxM0SgycUVBq0mjrQuhIJxeUsqL?=
 =?iso-8859-1?Q?yvyA0eb/sd1JbmQu34G1amz5RS/eUrOgMh3eP9HGPDT9p+A1PB5ILpOzzA?=
 =?iso-8859-1?Q?KFzzxJKZgp62l8w8Lg+aGe+047+2XowsKUV2qaktRTOUmPtg/qTKG30ti9?=
 =?iso-8859-1?Q?R51OfjkhZcmVkR2VJMfV8LSTV/EQ4C+EHKA0ufgY3KMEpeGdl01cD5MHrb?=
 =?iso-8859-1?Q?2FdtgeeT3JIbO66MPsbfQwSvd8y2nft2IAXaVpk5NUvL8OkZibVuYNF6mb?=
 =?iso-8859-1?Q?TMOE/KBm+W6YBuZbhLnnl9lxWi69V4ClaMQo8WaZP9XyEIh99Jf30oWa7t?=
 =?iso-8859-1?Q?nmKbKubaQHau30F9T1Iwies2tFQYYoxQw/Flzz0weq+EgxX7AF7Zxntn6c?=
 =?iso-8859-1?Q?YG7qYRfMz72/pJVzpjrttT+oKTQ5ETg=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: AM9PR03MB7526.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c32e5c6-f853-48f6-6dc0-08decec06285
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jun 2026 11:38:01.4618
 (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: w0vf9foXqlQKsAe0Mr69+hxO2D/0ymwdrLfsPeD82wdEmvgjy2bJ3K2x1Ie59JYZVv6zSNQT97XdHzB9iAVibQ4e02vCJxNXZRXt44jRxuI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB8503
X-purgate-ID: tlsNG-33051d/1781955483-659C1D84-1558A801/0/0
X-purgate-type: clean
X-purgate-size: 1567

When bringing up a secondary CPU, call_psci_cpu_on() returns the PSCI
result codes back to arch_cpu_up(). If the physical CPU is already powered
on (PSCI_ALREADY_ON) or is powering on (PSCI_ON_PENDING), these negative
codes are treated as fatal errors. This causes Xen to fail the CPU bring-up=
.

Map PSCI_ALREADY_ON and PSCI_ON_PENDING return codes to PSCI_SUCCESS
inside call_psci_cpu_on(). This allows arch_cpu_up() to succeed and
lets __cpu_up() proceed to poll until the CPU is fully active.

References: Arm Power State Coordination Interface (DEN0022) Section 5.6.2
"Caller responsibilities", Section 6.6 "Implementation CPU_ON/CPU_OFF races=
".

Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
---
Test CI pipeline: https://gitlab.com/xen-project/people/dimaprkp4k/xen/-/pi=
pelines/2609141554
---
 xen/arch/arm/psci.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/psci.c b/xen/arch/arm/psci.c
index b6860a7760..6015bc0a5a 100644
--- a/xen/arch/arm/psci.c
+++ b/xen/arch/arm/psci.c
@@ -40,11 +40,16 @@ static uint32_t psci_cpu_on_nr;
 int call_psci_cpu_on(int cpu)
 {
     struct arm_smccc_res res;
+    int32_t ret;
=20
     arm_smccc_smc(psci_cpu_on_nr, cpu_logical_map(cpu), __pa(init_secondar=
y),
                   &res);
=20
-    return PSCI_RET(res);
+    ret =3D PSCI_RET(res);
+    if ( ret =3D=3D PSCI_ALREADY_ON || ret =3D=3D PSCI_ON_PENDING )
+        return PSCI_SUCCESS;
+
+    return ret;
 }
=20
 void call_psci_cpu_off(void)
--=20
2.43.0


From xen-devel-bounces@lists.xenproject.org Sat Jun 20 11:49:54 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Jun 2026 11:49:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342839.1602727 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wauCr-0004Pw-8Z; Sat, 20 Jun 2026 11:49:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342839.1602727; Sat, 20 Jun 2026 11:49: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 1wauCr-0004Pp-4s; Sat, 20 Jun 2026 11:49:49 +0000
Received: by outflank-mailman (input) for mailman id 1342839;
 Sat, 20 Jun 2026 11:49:47 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmytro_prokopchuk1@epam.com>) id 1wauCp-0004Pj-BI
 for xen-devel@lists.xenproject.org; Sat, 20 Jun 2026 11:49:47 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wauCn-004p8s-SK
 for xen-devel@lists.xenproject.org; Sat, 20 Jun 2026 13:49:45 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmytro_prokopchuk1@epam.com>)
 id 6a367e36-e002-0a2a0a5209dd-0a2a45059eb6-16
 for <xen-devel@lists.xenproject.org>; Sat, 20 Jun 2026 13:49:45 +0200
Received: from [52.101.83.79]
 (helo=GVXPR05CU001.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <dmytro_prokopchuk1@epam.com>)
 id 6a367e59-ef3d-0a2a45050019-3465534f3a5b-3
 for <xen-devel@lists.xenproject.org>; Sat, 20 Jun 2026 13:49:45 +0200
Received: from AM9PR03MB7526.eurprd03.prod.outlook.com (2603:10a6:20b:3de::17)
 by DU0PR03MB8389.eurprd03.prod.outlook.com (2603:10a6:10:3bb::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.18; Sat, 20 Jun
 2026 11:49:43 +0000
Received: from AM9PR03MB7526.eurprd03.prod.outlook.com
 ([fe80::904d:5820:80e1:41ba]) by AM9PR03MB7526.eurprd03.prod.outlook.com
 ([fe80::904d:5820:80e1:41ba%3]) with mapi id 15.21.0139.018; Sat, 20 Jun 2026
 11:49: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ZUeiX9jAbBl133WEfkwpHIJOauchUn6BvBE44sPjzhkSChZ8eM6brqnwD3HHrMg8sazCciPuBcAgYgOn/AFbkoqDTtBq4ncMyyDr5CqMJ/7joSLdYzHkcYoNblP9WQPFrVI3f8jToyCZ5QkhnY0jYVzGEMRzW/ak+GDzRA6h3M4IOUG3XnBbMyc44QalVruoqnqc7DamMVAV/66ry0kG926Tke5jsB07k8Yj+Aca6a0kcFcd8JePPO8WzMEduNyCBo9OOY95UmzF4dllygpHhquKTjkUuu4HcnA2qIxyoVh9p/hgFR/lNBg4k0ahBh5/AIjsGBO4vavn01Acf6IZGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RgOJD8ntZfOlkW/kijKbSf5fRZRO2WfY2Wuakesj53M=;
 b=DFJ8oBbXbKfcwNw244P7IjNBZa63V7IzFjIGqTcGBP+FuxkrIagsTxdpw/jdBRGlkDVi4E/HZ/+xYYtjzDGq1JTGVzPCm4IsaHI/uWsQhBufsHzE1wrAvd2zwR8/d8mfbSLR4p75Oq/Jl+PsOAWb+zVB9JdAz9vluLKe7HYCWwqSUar+4vvSza1CsBe+M3ziKAThuHZaNaJPu7B+yPP/YO0/V8oqwtYh5F8h+axqP5T5u2oXL108sw6ZoEO7MxC7RI//Xt+kKluNVNvACix6yQCSuM2OG6GOnl04Qi+xXD7Xm+/2bGI2FHwg+oZLbfmdiSNy75lNiHOug74UxIb3rQ==
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=RgOJD8ntZfOlkW/kijKbSf5fRZRO2WfY2Wuakesj53M=;
 b=WMYvY4iaNsyURhPi+CrDxCk6ZIEUexXMgPiG7nBpPAbvG/r6rdedcdOhvZUh/JVBBDFd6klNXMQMJp47jsGSjeJ/IIZswXI7VeHpQYei4Q5/qIB1RK94VvpgMsYH2oXupwMTBjvbBrsNjVROAYKbdBsM2Ml79z9Z9PLbKKgeBXuIchBdPGPy9kQMK4m9DaO8En5d/C+1pwAIz0Z/QJNLqMzptLVCX6kh5udUDD+7S5kuKoMAaEVQsvK2wweeFCznXyK9XafzbZkSnYg+kpMHG5MnHPS5GTNJWoaLJ8mnk2DrfeL2LqT5bXZ57PRVRQutc1c+NfL7NqzJTF0Q5v1h2A==
From: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH] bootfdt: Fix infinite loop in device_tree_for_each_node()
Thread-Topic: [PATCH] bootfdt: Fix infinite loop in
 device_tree_for_each_node()
Thread-Index: AQHdAKriIPevU8UYiUCGOtgPRNoJOg==
Date: Sat, 20 Jun 2026 11:49:42 +0000
Message-ID:
 <8836494cb51f6e1f4b094fc690876d344adb47f3.1781955521.git.dmytro_prokopchuk1@epam.com>
Accept-Language: en-US, uk-UA, ru-RU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AM9PR03MB7526:EE_|DU0PR03MB8389:EE_
x-ms-office365-filtering-correlation-id: a0c850a7-f119-4c84-b04a-08decec204a0
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|23010399003|1800799024|376014|366016|42112799006|38070700021|56012099006|18002099003|11063799006|6133799003;
x-microsoft-antispam-message-info:
 1UiVP4i7EA7Gzc/Uawk4uclc3Y+vSmPPxNT3s+GKTxJDuhtTv+rvcdLV/QVaG032B94sqFFCpgEbNuH5aFgd4z4WYFjQufyIpyDlJLwo9cAB7b0JZB0jKCX1ibT88n+xhxRVeY6dbN3tAlNIHSZmASq3RlQhOVpkjdT5X73cV7RKvhmOBsiKUT29235GiiU5voCWr1J7SCEZbEkvOnPwNuxso1QiS7uSWpL7PkQpA4hCGKYJTqcQpfJ1Dgm0juLqptuFDASrP81KgtHsy/9lqen9Aoklk4sEdorX3RrumV8zJ+JmbssIiMX6VPQ9vaS6pHNIUXyQS7+zK5o1lv736ZWJM+tZKfvpCXHA4147/zDgCJCZj21sWeGU13+SBvNtbUwByEaO34GCV707iyf7TBAti3IaH+CHZsINyqIgiWAgQGhio6T9L/vuyGheMRSRmRu/kaAd8ZujOvbKZ8hCxP0Hyu6DVQJQGVyEdAJHVy+2W9xYlG2MlxAT+aMcHJoNNEi2lCU7jA1N2YatW/NHGeMKEdy6K4wOSHWLo4NN839Txk87eqpm66yFPflmsAXhorMeV8dqaVR5MRTVhnAsauK03XJTdtTvJsIbJtUkmXHfTYw5vDVDvgckROHlRXTdVMw27zBRZqEYJlcT1XpanV4FRFAGHpOV/NP1B7YFNZYJBFd7Zjw+DOtmsalh5cKVF2wZu12+YPvC5C06269wUEqzwPmH7v4Ep1rZjCx2EJo=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR03MB7526.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(376014)(366016)(42112799006)(38070700021)(56012099006)(18002099003)(11063799006)(6133799003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?EVs6wyQif7105Jgj3gqhgsup5I/9cGsznAsvNLWNzl5gmTfpqqQm7mOKc5?=
 =?iso-8859-1?Q?wlCsURaBusXt8LD3v++etuDRHmpR6iiH2D03sNvNRUKX4aoGvx3iypKd//?=
 =?iso-8859-1?Q?ZdYN1OYwdV9P9LxOlc8aFVQgdkZbc5UH21XrLQvzC4si5k6uGb6CjKuh9B?=
 =?iso-8859-1?Q?pf8RCEQUEtMvvo0sSmG4cKgae9R/NsTHkwrmOjIccrHLv0+UQDGKZHfqdV?=
 =?iso-8859-1?Q?y4Zpak05CZ0hYSYkMxVpnpDArPWAJ/dxjht8jg2jDAPjfnKmFPjHbScCvN?=
 =?iso-8859-1?Q?GoKE9RQrj0nNWrm21kzKUdtEFXPYXl/+AB1vI2Q21Av+zkQfSV3SspcNB2?=
 =?iso-8859-1?Q?aMFeUiveT9bxNpcQsLdyaLkHKTzwKXznQFqvjMeFufyDV//mAo1jUckrND?=
 =?iso-8859-1?Q?5TqAc+Rxkw3VF7wUxX00yUDt0CTWJF03PTr2TK1R5CYrKu7Da4jjYDf1Sh?=
 =?iso-8859-1?Q?gAbjnH669nYNYlu6Qvr7gY//iSQy3NaaEivWK+i7mkvAQm/ivX30W+zjtc?=
 =?iso-8859-1?Q?j2AgxJh0bp9UplNNLQKNppIDOT2FbOxtzdbqkLKLz9VpicCTuIlcaGqZ5m?=
 =?iso-8859-1?Q?mdJB6Z2indnBs5WDp1kHaZyC5whR6J/LV81H/CznvusgaUaDESSTphV4dw?=
 =?iso-8859-1?Q?+ZahHEb9yGkFDfOvSaCmo8ldKCmMfWIkb17vIAZgPgt22pBSM06DnwIfzT?=
 =?iso-8859-1?Q?+OpXKjgjbMIWAqxWwK79qgtEczVhUWO502qzJre99AW6N2feEb3TJLEwj0?=
 =?iso-8859-1?Q?dEVj1Vd2oWmQYWiRmLrkSroVHslnXIQtCyHnCA1lhorocGDmEC15Bimenq?=
 =?iso-8859-1?Q?3G7u5bjnDQwTMEayxosfl0IhjRmpP5/CpKN9tn+UTMR6p8WAW0vUhJdmF1?=
 =?iso-8859-1?Q?6Ilq1PnGLVb81WiH7a9O8j+5y11q/xxriwjYCKkmTQgafFwp8EBALbvUJK?=
 =?iso-8859-1?Q?1Av1S0C5wYR2E003MR2l27QgoTc5w9J6m3ZzSSFmAfvv7jNDx7uEJ+97et?=
 =?iso-8859-1?Q?A9EOsOmIdCCrm0SG1GRIbPVT7bzuadaJFrkhLKNwLzfwRRe6I160xvVnEC?=
 =?iso-8859-1?Q?wo+ALjCDToMdOrPBadU6rGdvh03E3cWRAxSYu/WJIkqcKIx4U1//KU/nTp?=
 =?iso-8859-1?Q?ghT+l6zze4EfwFQuwlOHbe/loVCeFY8Nncss91RcETUb719j07sjJB2VVu?=
 =?iso-8859-1?Q?Hyic0xocEQ/XNunJL8SjdcGQWtyVLDtpHcr7rb8C4tVJj+t3ZwD4/9go7i?=
 =?iso-8859-1?Q?dBBYst21SATuSMhSnrdp7ZmA7fKJNrLQKpSwearnX44m6+IMZaGy8Zqlq0?=
 =?iso-8859-1?Q?lRnTL+lxRoD2WFS8V2gVNUFthgiUiNlgpFyPxVO+QTws1lGAUkYo/kFYeU?=
 =?iso-8859-1?Q?Z/4E1pRtFGXcMN9GOO5UhwPvGydt3yl8p+ObtqQegjpQmeuW9RBq6WsZli?=
 =?iso-8859-1?Q?FENjM+VNvSzD+HI4r0pnq/aDyv6BCgVf+SOQW4qEoUSc8X0G40NJNRdhmh?=
 =?iso-8859-1?Q?7VYJ2A5xy6UTgxxdMBRasCIh3SbAQ8rGvpa2DH3u1cXDS2MXcuA4m0Y3uj?=
 =?iso-8859-1?Q?Y5M0EVCa4T06SErzPdAS29bvTKQjPU61y0tP9DEWdQmJWZ3VzkU7l3UO7w?=
 =?iso-8859-1?Q?cc2oOTobRxByp5eClSfb+DC66qW3r91N6xiHHMGJm1b2Ad4VsgGOBdIdeW?=
 =?iso-8859-1?Q?PGSz+jZZk+5TAk2cLr8cyaR5xtIv5r1tY1SmR5aMrkcGc1nKrKCnsWLRh8?=
 =?iso-8859-1?Q?wBCYeJOzyRF9b72jrV5S9EjJHaJ+6zHd/8c4QuLQ6/BtsURAnKxOetWOoD?=
 =?iso-8859-1?Q?FnIPiCf62Hz7Y64qtuWHi+8mVQpuIA8=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: AM9PR03MB7526.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a0c850a7-f119-4c84-b04a-08decec204a0
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jun 2026 11:49:42.9284
 (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: yueg3I0I4u9PIjy13sZoexOHZrPH5GuZTOER3cvqe5iv/8IHHcbNzBTcWLQbyaC7WSEhpv0BZXi5vGdwPbDdYOESkyolmXkh5eznuJ7hDIs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB8389
X-purgate-ID: tlsNG-c201ff/1781956185-A50BC127-7BD5C2C3/0/0
X-purgate-type: clean
X-purgate-size: 4900

When a node's depth exceeds DEVICE_TREE_MAX_DEPTH inside the
device_tree_for_each_node() loop, the code prints a warning and
executes 'continue;' statement, which jumps to condition check,
bypassing the iterator update step:

    node =3D fdt_next_node(fdt, node, &depth).

The node and depth are not updated, the loop repeatedly evaluates
the same too-deep node, causing a hang.

Fix this by wrapping the node processing logic in an 'else' block.
This ensures the loop update step is executed on every iteration,
safely skipping deeply nested nodes and doing the traversal.

Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
---

Test CI pipeline: https://gitlab.com/xen-project/people/dimaprkp4k/xen/-/pi=
pelines/2615174670

Local tests.
Tests were based on "qemu-xtf.sh".
In the "/chosen" node were added these "levelN" nesting nodes:

	chosen {
		stdout-path =3D "/pl011@9000000";
		kaslr-seed =3D <0x6ae81a67 0x26e92d62>;
        level1 {
            level2 {
        ...
                        level19 {
                            level20 {
                                compatible =3D "test";
                                value =3D <1234>;
                            };
                        };
        ...
            };
        };
	};

Without a patch Xen stuck printing the same message in a loop:

(XEN) Checking for initrd in /chosen
(XEN) Checking for "xen,static-mem" in domain node
(XEN) Warning: device tree node `level15' is nested too deep
(XEN) Warning: device tree node `level15' is nested too deep
(XEN) Warning: device tree node `level15' is nested too deep
(XEN) Warning: device tree node `level15' is nested too deep
(XEN) Warning: device tree node `level15' is nested too deep
...

With a patch these too-deep nodes were successfully skipped and Xen
continued to boot:

(XEN) Checking for initrd in /chosen
(XEN) Checking for "xen,static-mem" in domain node
(XEN) Warning: device tree node `level15' is nested too deep
(XEN) Warning: device tree node `level16' is nested too deep
(XEN) Warning: device tree node `level17' is nested too deep
(XEN) Warning: device tree node `level18' is nested too deep
(XEN) Warning: device tree node `level19' is nested too deep
(XEN) Warning: device tree node `level20' is nested too deep
(XEN) RAM: 0000000040000000 - 00000000bfffffff
(XEN)=20
(XEN) MODULE[0]: 0000000043200000 - 000000004337afff Xen        =20
(XEN) MODULE[1]: 0000000043400000 - 0000000043402fff Device Tree=20
(XEN) MODULE[2]: 0000000043000000 - 00000000430ef7f6 Ramdisk    =20
(XEN) MODULE[3]: 0000000040600000 - 0000000042f4ffff Kernel     =20
(XEN) MODULE[4]: 0000000040400000 - 0000000040412fff Kernel     =20
(XEN)=20
(XEN) CMDLINE[0000000040600000]:domU0 console=3DttyAMA0
...

---
 xen/common/device-tree/bootfdt.c | 31 ++++++++++++++++---------------
 1 file changed, 16 insertions(+), 15 deletions(-)

diff --git a/xen/common/device-tree/bootfdt.c b/xen/common/device-tree/boot=
fdt.c
index 7c790b9a4d..4d10013b2d 100644
--- a/xen/common/device-tree/bootfdt.c
+++ b/xen/common/device-tree/bootfdt.c
@@ -90,23 +90,24 @@ int __init device_tree_for_each_node(const void *fdt, i=
nt node,
         {
             printk("Warning: device tree node `%s' is nested too deep\n",
                    name);
-            continue;
         }
-
-        as =3D depth > 0 ? address_cells[depth-1] : DT_ROOT_NODE_ADDR_CELL=
S_DEFAULT;
-        ss =3D depth > 0 ? size_cells[depth-1] : DT_ROOT_NODE_SIZE_CELLS_D=
EFAULT;
-
-        address_cells[depth] =3D device_tree_get_u32(fdt, node,
-                                                   "#address-cells", as);
-        size_cells[depth] =3D device_tree_get_u32(fdt, node,
-                                                "#size-cells", ss);
-
-        /* skip the first node */
-        if ( node !=3D first_node )
+        else
         {
-            ret =3D func(fdt, node, name, depth, as, ss, data);
-            if ( ret !=3D 0 )
-                return ret;
+            as =3D depth > 0 ? address_cells[depth-1] : DT_ROOT_NODE_ADDR_=
CELLS_DEFAULT;
+            ss =3D depth > 0 ? size_cells[depth-1] : DT_ROOT_NODE_SIZE_CEL=
LS_DEFAULT;
+
+            address_cells[depth] =3D device_tree_get_u32(fdt, node,
+                                                       "#address-cells", a=
s);
+            size_cells[depth] =3D device_tree_get_u32(fdt, node,
+                                                    "#size-cells", ss);
+
+            /* skip the first node */
+            if ( node !=3D first_node )
+            {
+                ret =3D func(fdt, node, name, depth, as, ss, data);
+                if ( ret !=3D 0 )
+                    return ret;
+            }
         }
=20
         node =3D fdt_next_node(fdt, node, &depth);
--=20
2.43.0


From xen-devel-bounces@lists.xenproject.org Sat Jun 20 12:15:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Jun 2026 12:15:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342864.1602735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1waubp-0001v3-AQ; Sat, 20 Jun 2026 12:15:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342864.1602735; Sat, 20 Jun 2026 12: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 1waubp-0001uw-7g; Sat, 20 Jun 2026 12:15:37 +0000
Received: by outflank-mailman (input) for mailman id 1342864;
 Sat, 20 Jun 2026 12:15: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 1waubn-0001uq-Ui
 for xen-devel@lists.xenproject.org; Sat, 20 Jun 2026 12:15: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 1waubn-001JyN-1z;
 Sat, 20 Jun 2026 12:15:35 +0000
Received: from [2a02:8012:3a1:0:adbb:f4c5:7acb:2fe1]
 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 1waubm-002q6E-25;
 Sat, 20 Jun 2026 12:15: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=hsWHvSfyddms40QNTsmrJkiqj2Lld7TRF00jLuj3yH8=; b=0N4393BWah8JBxJAy7hUn3AbJp
	9bmJ6oQ6dlySK/57uvWQjB/fDhTxhmew0/4oZwFtT3lRryye0+g2A6N3cuxzC3xjIxHClVIR4iLo9
	/1wGH9o3AlwhjfTQxWo79/3LWCyijSViloH1Z4DS2y0cyrT3iu/sk72NgmM5oAmNMm70=;
Message-ID: <e981d724-dfc8-4c09-bcf7-0e8a4ed4279e@xen.org>
Date: Sat, 20 Jun 2026 13:15:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] arm/psci: Handle PSCI_ALREADY_ON and PSCI_ON_PENDING as
 non-fatal
To: Dmytro Prokopchuk1 <dmytro_prokopchuk1@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: <337edab445a38b523f4f793b01d960994b834d01.1781955326.git.dmytro_prokopchuk1@epam.com>
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
In-Reply-To: <337edab445a38b523f4f793b01d960994b834d01.1781955326.git.dmytro_prokopchuk1@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Dmytro,

On 20/06/2026 12:38, Dmytro Prokopchuk1 wrote:
> When bringing up a secondary CPU, call_psci_cpu_on() returns the PSCI
> result codes back to arch_cpu_up(). If the physical CPU is already powered
> on (PSCI_ALREADY_ON) or is powering on (PSCI_ON_PENDING), these negative
> codes are treated as fatal errors. This causes Xen to fail the CPU bring-up.

 From my understanding of PSCI CPU_ON, if either ON_PENDING or 
ALREADY_ON is returned then it means the parameters we passed for the 
secondary CPU will not be taken into account.

So always returning PSCI_SUCCESS for the two errors feels wrong. For 
instance, I would expect that the first call to PSCI CPU_ON for a given 
CPU is not meant to return ALREADY_ON/ON_PENDING. It might be fine for 
follow-up call, but such decision should be taken by the function that 
call PSCI CPU_ON multiple time on the same CPU.

I had a brief look at the call stack and I wasn't able to find any loop. 
Can you point me to one?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Sat Jun 20 13:41:00 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Jun 2026 13:41:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1342932.1602744 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wavwF-00085l-6C; Sat, 20 Jun 2026 13:40:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1342932.1602744; Sat, 20 Jun 2026 13: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 1wavwF-00085e-3f; Sat, 20 Jun 2026 13:40:47 +0000
Received: by outflank-mailman (input) for mailman id 1342932;
 Sat, 20 Jun 2026 13:40:46 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <milan_djokic@epam.com>) id 1wavwE-00085Y-5M
 for xen-devel@lists.xenproject.org; Sat, 20 Jun 2026 13:40:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wavwC-000Eny-Dg
 for xen-devel@lists.xenproject.org; Sat, 20 Jun 2026 15:40:44 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <milan_djokic@epam.com>)
 id 6a369854-bab6-0a2a0a5309dd-0a2a4503b180-14
 for <xen-devel@lists.xenproject.org>; Sat, 20 Jun 2026 15:40:44 +0200
Received: from [52.101.84.111]
 (helo=DB3PR0202CU003.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <milan_djokic@epam.com>)
 id 6a36985b-a3da-0a2a45030019-3465546fc2f9-4
 for <xen-devel@lists.xenproject.org>; Sat, 20 Jun 2026 15:40:43 +0200
Received: from AS2PR03MB9587.eurprd03.prod.outlook.com (2603:10a6:20b:595::7)
 by MRWPR03MB11612.eurprd03.prod.outlook.com (2603:10a6:501:81::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.18; Sat, 20 Jun
 2026 13:40:40 +0000
Received: from AS2PR03MB9587.eurprd03.prod.outlook.com
 ([fe80::daa7:3b97:acb3:67d5]) by AS2PR03MB9587.eurprd03.prod.outlook.com
 ([fe80::daa7:3b97:acb3:67d5%4]) with mapi id 15.21.0113.015; Sat, 20 Jun 2026
 13:40: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=JK3lHoqCu9YWmt2ejE9vB5MCVHn0qERUGlPflwsE6OxwQiJcy9YNWRb81VkkAve5e1GgI3ckns3IVvsELUwC0vfVCg9nTrb0AfOo0WbKAPCEMKBTKytJD1WXD7gaieuseU+Gzk504f7+1lYE31myKtWSvr512f/p/vvKD9CTZ3g5aMhM5XAqjkpu5MBrqZWSBL7+lR7fSE2LSvmWLWMMkgLNcPyInpferp3uPjpvRVlzDXtbBqQRzSVEY8UKBg+2kkI/EK/0OkEOROeUWKXzIXpbAaqrRibUlNnXs3RngcWd7CMRVe5CxYxAexlwSfE+jfip95ju3D2CAU38fER5FQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2yJFtsMzfsB/gJLtbyKtmk1TxcvytBiqq1l+GC+D3lY=;
 b=DmhScvquizcCJ8so6qwd+/UchqaiK5Ulj4/ofVXzf4Q9EVu4OFfdPXYHT8COVB0Pjt6EMaXUmfMuWiEwrzXhT11BYlKomOIMcfjIfgSqem7B2gsBP6pByjMsqyAEN8l+0BAbENN1yJB2QUprtcFtmH7YKGc9yV6E15FRDgevKlai7jjkoKv8Eoas21AhDqC34wrfJcMHYHG54v6DrRps6zP9558xbLQYoylloEdEzENnzGZxHd+Mr2w+LddDxwNfLrPElOsvY8kKyC9HdgQU/bZjyX/fTZfJn5LxfJacrK0VD9mbBNJvGGwajmaIBTjGwuuKVaeyVVY6cpQG4A4Hug==
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=2yJFtsMzfsB/gJLtbyKtmk1TxcvytBiqq1l+GC+D3lY=;
 b=YakGL8w6EflPRTzqhIkUht4feqJx+quH77xyQQLvKZhEA1zb2OW+IWPGtiYyt1lQuoexqkFfWgsPnfnjrhWRDfG55YLkj61SNyE8tuEasmENxrsB6rZN56aPrn2k1Ps3lr2fSmq/MnqiLtJjQrQ0irh4VycywGkB6RqCfaeP6Mg8qWbD+tR87vReyXHnBMQKBuzzNJ1VrTtuSCRqsOqI9X+TFrGorhC1HXtXKk9JWJGRneD0vwgvda4KVGWDDLOW6jw4hWFbDruJmZJH5hm59GBQ2FOikadOquQ8pncccRX7pVzd2gv4y3kTTrI4Z8vqXXytGCpbTgFSi832bBMikQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <3cfc1947-ec98-4d66-8bbf-0eb2fe34d330@epam.com>
Date: Sat, 20 Jun 2026 15:40:38 +0200
User-Agent: Mozilla Thunderbird
From: Milan Djokic <milan_djokic@epam.com>
Subject: Re: [PATCH v3 08/23] xen/arm: vsmmuv3: Add support for registers
 emulation
To: Julien Grall <julien@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: 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>
References: <cover.1774918270.git.milan_djokic@epam.com>
 <25adb33c4be3932c2d946cf7757c933eb042476c.1774918270.git.milan_djokic@epam.com>
 <6d1806aa-b009-407a-9a7a-476f9f4deb70@xen.org>
 <f7e7f42c-43f1-436a-9d06-ab44619f2da0@epam.com>
 <648f587f-8621-472d-9b2c-e88fe11444a4@xen.org>
 <8c57e619-7b37-49b9-ae55-67490956d12c@epam.com>
 <dd60f194-ab26-4287-98f8-e7a035ecf2e8@xen.org>
Content-Language: en-US
In-Reply-To: <dd60f194-ab26-4287-98f8-e7a035ecf2e8@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: VIUP296CA0083.AUTP296.PROD.OUTLOOK.COM
 (2603:10a6:800:349::7) To AS2PR03MB9587.eurprd03.prod.outlook.com
 (2603:10a6:20b:595::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB9587:EE_|MRWPR03MB11612:EE_
X-MS-Office365-Filtering-Correlation-Id: fca9aa1c-1831-4d72-4b90-08deced184ac
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|23010399003|376014|6133799003|22082099003|18002099003|4143699003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	fd8NkLaphX5qMUevCObvwtXK1MqiLBjf75wGdOGjO+XvHXCrfdtOOemLIyooh1qHEeSuBieRZhlX7Gz6jys0iHtHROLhXYW1vya/VM0AsWm4428J5roXQGZo4EzKOVSyclJZMAf9gjbmiQwn9NvZICko1CoI87Y2+ayd+uCO0SnBh7zdpOGkhDaoAw9BoxNAt2mlGn1L/bFcp13CRTgu66Bn6NW2DTlX8MCBj/QMCqir9GMbv+f0CiDsVr84m7xfONGXBrm+SQUHhE80U6C/O0MttXi02Dbj4IC85SbwO97te691widG+gmIdtFQZBjt2Ribniy7un4fCbYsQX8+d2MYI3TFSzdFZs0R9syL4xL9NgDqwIOZ3QeSmPiSyi/ajn3PjaxbqgSxQtFyCP92/XOU/P2Dm4W20FoeUbFKWDjQfg+mPlZyM5oG4mKR8FjFNM+J/0iZ+c1qP5PmK4IiLWQDHsNHVZq2Vj/IbGqlaqVt/atKiP1fsrzhpJhColhevGyoanYxnzFkZe/a5SSMchoNTdNhsPuh6gn8Rrwn4oJpyTB41Y38ZB2z3e0x9ki+gjAuzsd077jxZ19e06Ghh7ormaUuzkz+Vvn1qrF1cBKKCPtVjP7Q0Ejq98uQUvgOqgmBXDu2Ae1o4HIZxzoeU7iESlgTpzp8lE74KQK+Ijo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB9587.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(23010399003)(376014)(6133799003)(22082099003)(18002099003)(4143699003)(11063799006)(56012099006);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ckp5Ujk2NExwejNDekZHMUxGT2RKOHZMVVRuY3hLNUVZRzJDVzlZc1VmbHd4?=
 =?utf-8?B?SGM1NUd2L2pheExNQWp0U2JJR3VHMFR5bE96YWpUSVJwS0IwTzJ3SkdtSHpy?=
 =?utf-8?B?YUxvR1Q2aTRzQlpXVVpSQWlGbFo0N21seXlPeVZUOFRpTFBaVjluWVJkMDR5?=
 =?utf-8?B?N2dBM1BScHBEWm1FQjQvRFVlbHJPMkIzbHFXWU1rWXArZnFpMlRnL3lDTzh0?=
 =?utf-8?B?cmwzZlEwRTF5OWZzR1ZGa3QzVkhMeENtcTd4T3JEVG1CeC92TVpKY0VLSEd4?=
 =?utf-8?B?ZUJYMmlaV3lpSUhkeGJjRlZOSU9tUFlSa2JJRkgwd3JKbFRZRUhEdTdaZHJV?=
 =?utf-8?B?S0ZBdysxdFZYUVJGeTQrZTJ3MngxTE55bEhvSzZZK0k2cVVzZUNoU3FoeWNH?=
 =?utf-8?B?N20vd1RrN0lidE9XQ095NnFCY1lCcXpwT0wvTDZKTC8veXZCRjFpOWxjSW1l?=
 =?utf-8?B?RUJoMGJzVUtMNmwyalQzN3pLYWNPRVN0N0xBWklLZWY5N3ZGSURRS0NOa1FD?=
 =?utf-8?B?REJlanZTalRKVjEzWFUzd1h2RFlTVUN4ZmFHVFg1UjdBSFdKZUExZFJVTlpW?=
 =?utf-8?B?L2ZnUUpmUTJ6Mzl3RzV1MG5ITGVRS0RyNXhXYU9sTFFOZFhsQ2Jra0xFa3Bn?=
 =?utf-8?B?RnB5bW5QSEtiSVVBdTJHUGZQL05zVmdCYkgxQ0QvcmsyWUszYWQ1U2FGMFFC?=
 =?utf-8?B?ZFFjU3lyb3NTbFVTSUFBakdvR2o2djVGbFNwMWFFRzdjSERxQ2tUOURhd0dt?=
 =?utf-8?B?WjZiTU5QTVdiRTRmVXU1bHZzcnN0Nko4TmkzUzczem1YakI4TEdaZE1XRDhN?=
 =?utf-8?B?MGhxcXV3eDBWMjljNWFLdmtKVHRTVWRxOXZwTXpWMjNjS2tHa0dBckZLTVJZ?=
 =?utf-8?B?aW5uN25FalE5UGk4VVVNSUdEQzJVMlhLZ1c4OFNQcDBqM1orRDh3OXBjaXBs?=
 =?utf-8?B?b04wbzdjZzVZd3Y2RTBtbUtjczQ1ZGM1VThSelc5YnIyeVN4NUdIbHFPOHg3?=
 =?utf-8?B?eTR5VlAzN0VZRStWU0pWRUVwaktlamR3b3JBOTRVUG5LalB4T24xT253aCtm?=
 =?utf-8?B?UWtwU3pmYnpIR0tlVGptUGlvaXhJLzRBWDhGMHBhbjQ2ZUdPMXZjaGNPZzBt?=
 =?utf-8?B?eFkxMitXWmlpNjhiaHVHRHNBN1pTUmxGL2lSQWpQRWJpVG1sd2xIcFZaenpy?=
 =?utf-8?B?NVMrd05RSy9lc1ZFMi91MkRtcW5sY1pQdlRMdExWR1d6VzRSRndlNnlOUXha?=
 =?utf-8?B?RHR6YWU0OEdaM21KNHBwM3gxSUlFcUp3YlFGODYzWHhkaituY2NnUlFKS0k0?=
 =?utf-8?B?MmJ3Rm9OTUxheGZWMFQ1enhjdGU5SytncjFLYm56ckw4NmpTUVBlR0ZzTjlw?=
 =?utf-8?B?L1ljSnc0S1JTWVZxbnQ5WkovcVlnajVWWFBwYkpoREhzL2ZFelVXUXJ5VDJh?=
 =?utf-8?B?UnJlV2ljOU1GZE1YTFVoSjlPVFVIWEFwSzVicXRoQ1FQbUNPZ2VlczBTdlpp?=
 =?utf-8?B?ekZyVWJhcXZVUFNvNnNRZXFWc3VyN3N2K2Z6NUdRQ1ZxUDNxZ0lLVExOS3dR?=
 =?utf-8?B?b3Q5OEYxNDE4eHRzTFlhSFFDMlJveDQwbytPL1ppRG5RczNTMk1xK2JWWkFI?=
 =?utf-8?B?VEkvRnIxYy9nSmYxN0E2azE1djlZRHVxZnZwdXBwZU42UXBZME1mdDBpK1oy?=
 =?utf-8?B?VThnZnQ5VzdjamdwZnBWTWx3UUNiWmhtMm00UVpFNXhBQWpUMXNEUG1NT0Zr?=
 =?utf-8?B?YXdTV2FTM1dMYUFWZUkveHpkNHVLc1FnVUpPd3dES1lMemVGVFpiNkY2Q09n?=
 =?utf-8?B?WnBpOWZkSUZ2TVcrUVNBZzRqTUNObTgzWEUrUlJrd3B0SjZHTWcrVGJ2bitJ?=
 =?utf-8?B?VWtMelBLbzBzTTMwOE9BQWRNRkhaeG04RnJaN3hNTHJyNytSL1pJQkNBSEkz?=
 =?utf-8?B?cjhYanE4WGtQclpuTDhRNDEvMkI5NmlQTEcyMzlEenVlby9QSkRuWVlFWHNN?=
 =?utf-8?B?RWJvU2wvbHIwaURBTExRajZPbTJuZHAyLzNVK3RGUTFLYjhkSjZTZmk0Y0Nh?=
 =?utf-8?B?ak5wVC8xT0R1NUwyMnBld3RCbjgzN0pneGVkbHBCWFdJWFI1WW1HOC9XUGtE?=
 =?utf-8?B?ajdUeDNFZFJGN2s3OUNQSStUREFLdU83aE9VOXRrUk1ISmErYjNMNjRrcFNZ?=
 =?utf-8?B?dXRWbXArOWJQOHRmaTJWYk5kQXRtZnAzVEVSRnJRVytHQ0VJRDhWMlhhbkJi?=
 =?utf-8?B?bmVsZzlpU3ZIRkVScTJZSEs2Y2F0T1FValFEc3cxanNucVB3ZE1VdU9YMDZU?=
 =?utf-8?B?cGlNVmVIcmxqL0EvVnZ5UVBjUVVHeGZ3c2gvbWlWeWVxd3VBNnU0Zz09?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fca9aa1c-1831-4d72-4b90-08deced184ac
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB9587.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jun 2026 13:40:40.5074
 (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: 3TT+U8vIZo7z+k5+XDsanL+GMJpNwhzCpf1Ca+/jhQhXY1hzw0tGwbvj7LISbBidydC4ARBXh2kQC202bGO6Qg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MRWPR03MB11612
X-purgate-ID: tlsNG-33051d/1781962843-66FDED84-393272B5/0/0
X-purgate-type: clean
X-purgate-size: 4210

Hi Julien,

On 6/16/26 22:04, Julien Grall wrote:
> Hi Milan,
> 
> On 09/06/2026 00:06, Milan Djokic wrote:
>>>>>> +#define DWORDS_BYTESÂ Â Â Â Â Â Â  8
>>>>>> +#define ARM_SMMU_IIDR_VALÂ Â  0x12
>>>>>
>>>>> I am not sure which implementer this is referring to. But how do you
>>>>> plan to handle errata? Are we sure they can always be handled by Xen?
>>>>>
>>>>
>>>> This is currently a dummy value used to avoid triggering guest driver
>>>> errata/quirk paths. I will replace it with a more meaningful value.
>>>> Using the Arm implementer ID with the remaining fields cleared should be
>>>> sufficient.
>>>
>>> I am not sure to understand why would that value be unused. Do you have
>>> more details?
>>>
>>
>> I think that the IIDR is always used by the guest driver during
>> initialization to identify the implementer/product revision and enable
>> any required workarounds.
>>
>> If that is the usage you are referring to, then using a generic IIDR
>> value would prevent the guest driver from activating any implementer-
>> specific workaround paths.
>>
>>>>
>>>> My expectation is that errata handling should remain in Xen rather than
>>>> the guest.
>>>
>>> I am not fully convinced you will be able to apply all the errata in the
>>> hypervisor. At least with close to no cost.
>>>
>>
>> Yes, this is potentially problematic. However, at the moment I am not
>> sure what the alternative would be, as I think that guest-side errata
>> handling could be applied incorrectly due to the emulation layer.
> 
> I think the risk is limited. But we could always check whether Xen is
> running in the errata handler.
> 
> Anyway, I guess we could leave this for now. But this would want to a be
> a TODO as I think we want to address it before the stage-1 SMMU is
> (security) supported.
> 

I'll keep this as a TODO and document it as a known limitation for now.
There are still future updates needed for this, as well as for other 
existing limitations, before the vIOMMU can be considered security 
supported.

> [...]
> 
>>>>>> +Â Â Â  }
>>>>>> +
>>>>>>  Â Â Â Â Â Â Â  return IO_HANDLED;
>>>>>>  Â Â Â  }
>>>>>>  Â Â Â  static int vsmmuv3_mmio_read(struct vcpu *v, mmio_info_t *info,
>>>>>>  Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  register_t *r, void *priv)
>>>>>>  Â Â Â  {
>>>>>> +Â Â Â  struct virt_smmu *smmu = priv;
>>>>>> +Â Â Â  uint64_t reg;
>>>>>> +
>>>>>> +Â Â Â  switch ( info->gpa & 0xffff )
>>>>>> +Â Â Â  {
>>>>>> +Â Â Â  case VREG32(ARM_SMMU_IDR0):
>>>>>> +Â Â Â Â Â Â Â  regÂ  = FIELD_PREP(IDR0_S1P, 1) | FIELD_PREP(IDR0_TTF, 2) |
>>>>>
>>>>> As the page-table will be used by the HW, shouldn't TTF reflect what
>>>>> the
>>>>> HW supports? This would allow the vIOMMU to work for 32-bit domains.
>>>>>
>>>>
>>>> If my understanding is correct, Xen SMMU driver only supports AArch64
>>>> table format, so I think that we can't advertise 32-bit table format in
>>>> the emulation layer even if the hardware supports it.
>>>
>>> Do you mind pointing me to the code? The page-tables are shared between
>>> the SMMU and the CPU. So we ought to support both.
>>>
>>
>> The reason I assumed only the AArch64 format should be advertised is
>> that the Xen SMMU driver currently appears to require AArch64 table
>> format support during device probe.
>>
>> In arm_smmu_device_hw_probe() (xen/drivers/passthrough/arm/smmu-v3.c),
>> the handling is:
>>
>> /* We only support the AArch64 table format at present */
>> switch (FIELD_GET(IDR0_TTF, reg)) {
>> case IDR0_TTF_AARCH32_64:
>>   Â Â Â  smmu->ias = 40;
>>   Â Â Â  fallthrough;
> 
> Wouldn't this allow 32-bit format? Even if we decide to disallow it what
> would prevent the guest to use it (we can't rely on the guest to follow
> the IDR)? Are we preventing configure the stage-1 SMMU for 32-bit domain?
> 

Yes, it will allow it if the underlying hardware supports it. I 
initially misinterpreted this part and incorrectly concluded that the 
32-bit table format should not be advertised by the vIOMMU. I will 
update the vIOMMU to reflect the capabilities of the underlying hardware.

BR,
Milan




From xen-devel-bounces@lists.xenproject.org Sat Jun 20 17:52:57 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Jun 2026 17:52:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343097.1602754 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wazs3-0004Ni-72; Sat, 20 Jun 2026 17:52:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343097.1602754; Sat, 20 Jun 2026 17:52: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 1wazs3-0004Na-4D; Sat, 20 Jun 2026 17:52:43 +0000
Received: by outflank-mailman (input) for mailman id 1343097;
 Sat, 20 Jun 2026 17:52:42 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wazs1-0004NU-7F
 for xen-devel@lists.xenproject.org; Sat, 20 Jun 2026 17:52:42 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wazs0-0095ah-DG
 for xen-devel@lists.xenproject.org; Sat, 20 Jun 2026 19:52:40 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a36d337-5cb7-0a2a0a5109dd-0a2a4505c14e-10
 for <xen-devel@lists.xenproject.org>; Sat, 20 Jun 2026 19:52:39 +0200
Received: from [52.101.228.110]
 (helo=OS0P286CU011.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a36d364-ef3d-0a2a45050019-3465e46ecc77-3
 for <xen-devel@lists.xenproject.org>; Sat, 20 Jun 2026 19:52:38 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TY4P286MB6718.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:33d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Sat, 20 Jun
 2026 17:52:34 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Sat, 20 Jun 2026
 17:52: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=boZfn4ZzzlpctAXUihK8Jmdl6H5iHUG4sEPvyh538waQ4fILPxT5IadoaNa47DVw+/T1Vo79LkhXdnnAQOk/jeXuK1wtf/5PIRDX/c0CooBSZbvjmK6u4FAgIj3CH0VWaAsyGisCu3D7gX2XTIh00jMeYkiGhNcYEtZapqf3G8FuEid36P+gJ76K6p7gg9HezKtdOtztH7hZDCwofVUgg63ww/baH5kMptwhWuv0a8MKU58APpGvyHpF5rkMiq+ZbpKYQyBrkOIi3uO/VjsqKben2YlbaLR4OuGzDWrQwWNvdhrN7ZexbvAHjwnrMyrMZLOrK1GVhlj8ywWkLQemeA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C9rNCRJjLYIvtFhKmifqrGKvfDo6GGujgJo78R3/Eiw=;
 b=M9DJMB4I1d50Es3ngyxj44WFnJiQe1frKCqBPCYh26i156RBvV7Py4+VJJxv2vsHpdXCTNYLEYvInnQ6+CA71nbt/oAz+yDw8oVejzGzKr2tCRzV+n3V9fxJfAooru7FAeydDde2WxnCxSgZCbxRXRX6wO/M4F9gcD29ZzCL31tgjjZUY7vuXAsEkaassbOIpxhkXLjG/E4VWuCjNMC00anpIs3qoQU4OET7EMcxJ0JXW0OqMkNRj4G7lvjhXXXTRgZsLXtzSdtjKp/rXxEdIPlZaQvllfg7o+xrBCAh205xcVYOtvmOmUx8bAJOYcMG0SHsEumhDUhpTvcR7j21qw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C9rNCRJjLYIvtFhKmifqrGKvfDo6GGujgJo78R3/Eiw=;
 b=c+S+V7zNLSBZ1/2mje+Wg89+2b0duUGPyzsnJzCOLkaXkRBLIbdLz5SO/Lg1HJ+1ttn+7pMZVRIfORqMwTZeo+iKDN8O9qAKw1FGlyVRe0x5XI+7yOsYbbeaoyodQ3C8Ib4TU6zwHfrAD5yiu/mDZogJKWr5lIC/Lh81h3pCMJg=
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>, Julien
 Grall <julien@xen.org>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3 02/22] xen/common: Default function to get the distance
 between nodes
Thread-Topic: [PATCH v3 02/22] xen/common: Default function to get the
 distance between nodes
Thread-Index: AQHc/8BFrLztQEh49k68JcxFGb2JAbZFinQAgAEHD2A=
Date: Sat, 20 Jun 2026 17:52:33 +0000
Message-ID:
 <OS9P286MB7222E20745070B2C562BCE7A82E12@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
References: <20260619075011.377116-1-taka@valinux.co.jp>
 <20260619075011.377116-3-taka@valinux.co.jp>
 <3aefcd7c-d911-42b7-b731-5fc657b26622@suse.com>
In-Reply-To: <3aefcd7c-d911-42b7-b731-5fc657b26622@suse.com>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: OS9P286MB7222:EE_|TY4P286MB6718:EE_
x-ms-office365-filtering-correlation-id: 85955d8b-6552-41ba-42ef-08decef4b527
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|376014|366016|23010399003|38070700021|18002099003|22082099003|4143699003|3023799007|56012099006;
x-microsoft-antispam-message-info:
 bRHBus5VsH7NgP18hSo5qoHiD4akcCW+bbFie6tlo9/nGdW1nLg5R3Efl5K5c6QXP3sEJmFZXlJbzBCcMTMunbCBLX4u9vJz0Ms/5KhfIBlNzowNfvXDwbIN3VeztL9v1174FDVSVJEZKVN0Iyt0Ccb4bMzjukZrE72M8SCi0b++7qF0LpVuzLjXXWR5jYHhIoWkO8jJiDiYEgiXvmEmOvOZls3+AJTC24S8Z0OkMGgFKL/ignw8Li3i+AWjJbom+DJRNY6BB3hDDy0cbq854RAsxPMYLQ8R4fMZmtTw/bpQvy/JIhf4Jrs1RKom2Y91mKA9tnyvEdRFujRgGzObN3jLB9rKkZc2Zjw4wF5HnhYaIrZQu9FICH2pCTWrWKV1CNdV+PeQ1hXvcI1urgT64j/MIy5QFzZUHvrky5WQrZ/cw5zrnoe3Uj/t77ZSAuBtuEC5c5Bhvd8LgnUjTqdcRwlwEENnNExJ5mCYzouqkogyivVfQRcocwWIdNFlvpJuI0eU6x73c+6LABBnZuE+xjXkJ0tmC92diOOPvoKBo8cuwFuWKK1BVGcasSxd0DYyFYatlh3DiCuiWvZu5Q48gatilJATEMCecA2GQAIAvkpRI/heVKkhJGAtRKIYCOWZYorgxV2z56i3m0xhIhfHshKQ5GhRqiKu7BwmQTppCCcO80ygwRM3rlc1WMdotKnssKiX344DcbnyoENi1HZgmVs12DNbobKbDHV2WgR9/DA=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(23010399003)(38070700021)(18002099003)(22082099003)(4143699003)(3023799007)(56012099006);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?WVE1ZXNURDNPczc3a0NGUW83MVpYd2VHOGZSVEhBa3JYUGVOa1FIblRlcklO?=
 =?utf-8?B?d2VIdmY2UmNHc1hGMVFXOWNqWXlLOUsvUkpZa2NJWGRobmwyVUd0RDhyN1Iz?=
 =?utf-8?B?YmhhTFVUZllDV05nYVlwdDNPazE5a0F0ZmxPNTNLdXI1S3dhZkl2NWpOci8x?=
 =?utf-8?B?eEJmZFFQT1NyOTVkV1ZOMHNMT05tcTFHQW5jYzcvRVk5WEhoR3kwRlRiL0J3?=
 =?utf-8?B?U0lKM1hTQzZ2SWxFVmdJRzlvS1lhaWhybnVtbjVUVC9EUExZMVRJeFlCd2xv?=
 =?utf-8?B?NFBObW1pKy9tRTUzUFNKeDFUdTVBM1lqbllRUnFPd0o2N1A3SHpHeEFDVllX?=
 =?utf-8?B?QkwrY0VYSk51YTlYUllmcEk4aVhFVk5FZ01GSk55THFjUWYwKzJKM012Nzlt?=
 =?utf-8?B?RkRIZk9KVzhsZGM4REJwK2prbzNhbStjMmQzQW9rZjdLMktDdWtPaFdBRW5C?=
 =?utf-8?B?TTFKd21jY1lnb1NxUGtnSXBGUmRzTnpvY3p1OU9EckhXNjVGM04wZ2wvbWIw?=
 =?utf-8?B?cERKalNMSmo1RExZdDFzU3lGMWRwVE9lSkxjRVhqZmRNZ01JRlZXTnQrbGZ6?=
 =?utf-8?B?Z0V4RnQ3QVNRQTBZMHFxNk5STHhmYVpOdEMxRkhEekdFUi9NMTUyWTBKZU52?=
 =?utf-8?B?cDZUSlB6YXBuTTlzQmpqZ1c5L096QVlXdS9RVmc2U0VWQ3VMUTBUSUNma0JU?=
 =?utf-8?B?YXJmNzR6NHNGQzlpajcxZ2pzc3pDb3N5Ui9OTG96R0cvYUF1LzhOa1NPTkdx?=
 =?utf-8?B?QThXRmdMYTZlSUdUQTZmQmt1UGNmcGhGZnJzbW5sSFNxeEx0ZU9zblBERUtJ?=
 =?utf-8?B?T3VseHIxNmNaKzE4OVdrM0YwaDhRK1BXUTNEdElyMWx2MXVzWDZtZHV4dUNn?=
 =?utf-8?B?MUJyelUwOHd4VXdSM1owTG11NUVhNHZRMjhSd0VKMk82cGFCZkZpZlFIVnVr?=
 =?utf-8?B?U3FUbjV5SXI5dnJvUTJSN1BPeXNya2I0MHZEYjFSbWNKdy8rWXE3bm5PQjNI?=
 =?utf-8?B?MFZEQU5nSGpsY1hvaUpUQytiQTg4UnRqNU5SaUNaMHd4TE5kNUE2WTNYdVdT?=
 =?utf-8?B?Q295Y3FtM1RBeTVvdHFqNXZiQXF2eWk0UERNQk81Zm9BWEtPQzRLbnFFcmYr?=
 =?utf-8?B?a1l2YUpHUjlxa0RpaU1JRGZPbmpMRnI4ekxmTFgvd243ajdyTk1LdkdaaXkv?=
 =?utf-8?B?c3pPNmlUOWg0R2dSaUZtT3M3Y05WWW8yQitZS1pidzFTWmErT3BUWFZFRGJB?=
 =?utf-8?B?WHlWU3UzTG1sTVgrY0lxaVhNOXE5ekVKcUJrZjR4dThGL1hpQzdVUS9LNk5a?=
 =?utf-8?B?SWFsR2NvNlVMRy9FYStCTi9TQkdQTGlER2ZwNDg4Q3V2b29DWFRibnNoMTgr?=
 =?utf-8?B?UXZDYzd5bXZvczVXQXpPMXU2bEc2MkNNUytDbFJsb0Z0NTI4NVRSMlBnS2Jz?=
 =?utf-8?B?MGVNQUxSNXZ5dzkzUUhuNk5xMFIyU0dWdWc1SjkzUVBhRE5EOS9YQmFidi9L?=
 =?utf-8?B?ZmtsWUU5OWt6WFN0M0dSbnNjWEFiWVZRUWtzYURaMHN2QzVuaDdrRUFBc09G?=
 =?utf-8?B?SGVaUDZCMFY3WXdTbFRWTVQ3alBKSUJRbHV0WmpFbkdEck43QXk1M1ZnQVRy?=
 =?utf-8?B?aHhBRGpkTzVKTmRtdnIvYTI5YUFIaUtBcTVDOWNuT29CdFIxalVqQkxKalFo?=
 =?utf-8?B?a1N1MG8vOWs3cENqYW9vbFlDa1JaWTAwR3VFWUFxMjN3QzBtUlMvK2t4RGNk?=
 =?utf-8?B?RWlQbForSFRXWkpzUGxZZGZwM3dUKzJDcVgwVmhsT3d3WFYyTWZlZTQ2ZTdE?=
 =?utf-8?B?K0xKam9TUUZOelZEa0krRUdDRDJzQ0NqVnV3NzRPY2tuUlZtQjNxMWo3MTFn?=
 =?utf-8?B?STM1bEZUVFVtSDluTDRua2Ixa3djSm4vNi9vdTk3ZzBRWngzNHlhaUtIYVlW?=
 =?utf-8?B?TkE3NkltUTZLVlRRTkhNZENtRURtU0NDb0ErNUVlaHJFQ3ZNakFsNkN6eU9n?=
 =?utf-8?B?NkorUjZIZnErclRkT2NHODVud0I5R09tUXoyalgzUWNYMjdtVjJkWExpV3U0?=
 =?utf-8?B?dkFsYnpkRVhiRVpaQUxFNDFpMHExdVczQVhHbE1nVHVEVFdadjJwZXl4VnNt?=
 =?utf-8?B?cXJRd1NxQ1E0NEtUOVRSc0kvSkNYYWszd3dPejZncVZtWVQ5VGpNdlJSakx5?=
 =?utf-8?B?L3cveVV5UjQ1aHhPQkpVQ215bzIza0JjSG9NRW9hd2tkSkdsUWlnOHErSzZM?=
 =?utf-8?B?VTdldXVwajh0QlJzYWpjRWRqU0JmUHlMTkxFTWZ2YVNYZVAveWZzT2xPZmtS?=
 =?utf-8?Q?KE61Hg3MqXjZXhXsTx?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 85955d8b-6552-41ba-42ef-08decef4b527
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jun 2026 17:52:33.9227
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: sPYEZUtplxEV2rXNRQ8duNDFP4/AL3Jj6+sXkdJdRzWcuhButyTRkwXWHFrQFvUJ6//jHeAnZxdudxcNRqQMqA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY4P286MB6718
X-purgate-ID: tlsNG-c201ff/1781977959-9FFD2127-A3CB8825/0/0
X-purgate-type: clean
X-purgate-size: 2456

SGVsbG8sDQoNClRoYW5rcyBmb3IgdGhlIGNvbW1lbnRzLg0KDQo+ID4gLS0tIC9kZXYvbnVsbA0K
PiA+ICsrKyBiL3hlbi9jb21tb24vbnVtYS1kaXN0YW5jZS1tYXAuYw0KPiA+IEBAIC0wLDAgKzEs
MTkgQEANCj4gPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIg
Ki8NCj4gPiArDQo+ID4gKyNpbmNsdWRlIDx4ZW4vZXJybm8uaD4NCj4gPiArI2luY2x1ZGUgPHhl
bi9pbml0Lmg+DQo+ID4gKyNpbmNsdWRlIDx4ZW4vbm9kZW1hc2suaD4NCj4gDQo+IFdoeSB3b3Vs
ZCBhbnkgb2YgdGhlc2UgYmUgbmVlZGVkIGhlcmU/DQoNCk9rLCBJIHdpbGwgcmVtb3ZlIHRoZW0u
DQogDQo+ID4gKyNpbmNsdWRlIDx4ZW4vbnVtYS5oPg0KPiA+ICsNCj4gPiArI2RlZmluZSBMT0NB
TF9ESVNUQU5DRSAgICAgIDEwDQo+ID4gKyNkZWZpbmUgUkVNT1RFX0RJU1RBTkNFICAgICAyMA0K
PiA+ICsNCj4gPiArLyoNCj4gPiArICogR2V0IHRoZSBkaXN0YW5jZSBiZXR3ZWVuIG5vZGUgJ2Zy
b20nIGFuZCBub2RlICd0bycuDQo+ID4gKyAqLw0KPiANCj4gSW4gdGhlIGRlc2NyaXB0aW9uIHlv
dSBzYXkgdGhpcyBpcyBhIGZhbGxiYWNrLCBidXQgdGhhdCBkb2Vzbid0IGJlY29tZQ0KPiBjbGVh
ciBmcm9tIHRoaXMgY29tbWVudCBhdCBhbGwuDQo+IA0KPiA+ICt1aW50OF90IG51bWFfbm9kZV9k
aXN0YW5jZSh1bnNpZ25lZCBpbnQgZnJvbSwgdW5zaWduZWQgaW50IHRvKQ0KPiANCj4gSWYgYm90
aCBwYXJhbWV0ZXJzIGFyZSBub2RlIElEcywgdGhlbiB3aHkgYXJlbid0IHRoZXkgb2YgdHlwZSBu
b2RlaWRfdD8NCg0KT2theSwgSSB3aWxsIHVzZSBub2RlaWRfdC4NCg0KT3JpZ2luYWxseSwgdGhp
cyBmdW5jdGlvbiB3YXMgaW4gdGhlIERldmljZSBUcmVlIGNvZGUgd2hlcmUgbm9kZWlkX3QgY291
bGQgbm90IA0KYmUgdXNlZCBkdWUgdG8gYSBoZWFkZXIgZGVwZW5kZW5jeSBpc3N1ZSAodGhlIEFS
TSBOVU1BIGhlYWRlciBkZWZpbmVkIG5vZGVpZF90IA0Kb25seSBhZnRlciBpbmNsdWRpbmcgdGhl
IERUIE5VTUEgaGVhZGVyLCBtYWtpbmcgaXQgdW5hdmFpbGFibGUgZm9yIGV4dGVybiANCmRlY2xh
cmF0aW9ucyB0aGVyZSkuIA0KDQpOb3cgdGhhdCB0aGUgZnVuY3Rpb24gaGFzIGJlZW4gc2VwYXJh
dGVkIGludG8gY29tbW9uIGNvZGUsIHRoaXMgcmVzdHJpY3Rpb24gbm8gDQpsb25nZXIgYXBwbGll
cy4NCiANCj4gQW5kIHRoZW4gd2h5IGlzIHRoZSByZXR1cm4gdmFsdWUgYSBmaXhlZCB3aWR0aCB0
eXBlPyBTZWUgLi9DT0RJTkdfU1RZTEUuDQoNCk9rYXksIEkgd2lsbCBjaGFuZ2UgdGhlIHJldHVy
biB0eXBlIHRvIHVuc2lnbmVkIGludC4NClRoZSBub2RlIGRpc3RhbmNlIHZhbHVlcyByYW5nZSBm
cm9tIDBVIHRvIDB4RkZVLCBzbyBJIGluaXRpYWxseSB1c2VkIGEgZml4ZWQNCndpZHRoIHR5cGUg
YXMgdGhlIHg4NiBpbXBsZW1lbnRhdGlvbiBkb2VzLg0KDQo+ID4gK3sNCj4gPiArICAgIGlmICgg
ZnJvbSAhPSB0byApDQo+ID4gKyAgICAgICAgcmV0dXJuIFJFTU9URV9ESVNUQU5DRTsNCj4gPiAr
ICAgIHJldHVybiBMT0NBTF9ESVNUQU5DRTsNCj4gPiArfQ0KPiANCj4gTml0IChzdHlsZSk6IElm
IHlvdSBkb24ndCB3YW50IHRvIHVzZSB0aGUgY29uZGl0aW9uYWwgb3BlcmF0b3IgKHNvIHRoZQ0K
PiBib2R5IHdvdWxkIGJlIGEgc2luZ2xlIGxpbmUpLCBwbGVhc2UgaGF2ZSBhIGJsYW5rIGxpbmUg
YWhlYWQgb2YgdGhlDQo+IGZ1bmN0aW9uJ3MgbWFpbiByZXR1cm4gc3RhdGVtZW50Lg0KDQpPa2F5
Lg0KDQpIaXJva2F6dSBUYWthaGFzaGkuDQo=


From xen-devel-bounces@lists.xenproject.org Sat Jun 20 18:04:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Jun 2026 18:04:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343110.1602763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wb02y-0006GU-9V; Sat, 20 Jun 2026 18:04:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343110.1602763; Sat, 20 Jun 2026 18: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 1wb02y-0006GM-6V; Sat, 20 Jun 2026 18:04:00 +0000
Received: by outflank-mailman (input) for mailman id 1343110;
 Sat, 20 Jun 2026 18:03:58 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wb02w-0006GF-D3
 for xen-devel@lists.xenproject.org; Sat, 20 Jun 2026 18:03:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wb02v-0051EX-MI
 for xen-devel@lists.xenproject.org; Sat, 20 Jun 2026 20:03:57 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a36d5fd-5cb7-0a2a0a5109dd-0a2a450ad5e4-20
 for <xen-devel@lists.xenproject.org>; Sat, 20 Jun 2026 20:03:57 +0200
Received: from [52.101.229.105]
 (helo=TY3P286CU002.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a36d60a-93a5-0a2a450a0019-3465e569c67b-3
 for <xen-devel@lists.xenproject.org>; Sat, 20 Jun 2026 20:03:56 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TY6P286MB7305.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:359::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.18; Sat, 20 Jun
 2026 18:03:51 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Sat, 20 Jun 2026
 18:03: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=iSRzxZA1Q9b81DovKZ6I/Wi2CV8ODqlVMuNNHYA9cIBKSdy12O2Dr6XaNtBMp8YHBHwB78btdyAgMP3bUCNWkRADytuIRUzKWpt9Q3RtWyETHONaO7sPf+y+A3bataANrgv3wZwnfUEN/h6eH6XKcbPBDbFy6c9SP/PXow/xLOel0vK9y2lDCIZBsHmEhyBGhHjSEWB4ICAodz62kSZOiNEkO7wkdVqiDAe4vKh63DwYQqxOp4OIPSuFLrLr7phKCvjExmVOcm7pn2/aGrxSgbIBqBPgsq3QNJ3Jy5xmzpMO8akyCBxjcjh9OBuVfpe1oET7OCajFWT5lme2vjkvxw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZYV49mpRWwqDqptKMhtgcSxT2vbrz66L6oD5Gx+10Ks=;
 b=u5HYjYgXu7Xwj3AuI1syvoBiV1vqLv582aBihnS7E6K0TJMhOZ/H8JUTRwcMEMtd/tTeW0F3JiJP34GHDLCG8oyLnxPbpMPOiwwlU3GNiLVPJ8TKi24Va01EDHP7yDRY3jQegwtyy1wFHKbiaKjnKPHDpPw/FfEZvF0iEEcqVcPjjoLvglCpWuGdSROfVK7cGY1uiZaOKuaoSmZ8KeyvUGChUoNMhCe1l0wWc5/iFX50p1RP6HkYvqFLtGX9cBipBc9Rmxek+onYdU0RtdMU8BvtsqVUyRG/2tCkhVclh0gdBXJnsSkY/U7TClSHccAesSR0qMR87De+0kppSBb3hw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZYV49mpRWwqDqptKMhtgcSxT2vbrz66L6oD5Gx+10Ks=;
 b=v/bE5PLdew2zbpHLTMn8xciKI4zhE9RGOri3PQRM1oBwJKo1e577ojnrHdhTYE1Fur2Ni9c1vGEt9UynhtxhoQ1J9qeaiu2MJZWZt/NNa3fhlZYAOdhIUZODuy18tLiqdvjiTa4XTdTsNtybmXMxeTH+MRq+lXUKInAc74Zp6L8=
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>, Julien
 Grall <julien@xen.org>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3 02/22] xen/common: Default function to get the distance
 between nodes
Thread-Topic: [PATCH v3 02/22] xen/common: Default function to get the
 distance between nodes
Thread-Index: AQHc/8BFrLztQEh49k68JcxFGb2JAbZFinQAgAIyZcA=
Date: Sat, 20 Jun 2026 18:03:51 +0000
Message-ID:
 <OS9P286MB7222051E59EED623736787AF82E12@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
References: <20260619075011.377116-1-taka@valinux.co.jp>
 <20260619075011.377116-3-taka@valinux.co.jp>
 <3aefcd7c-d911-42b7-b731-5fc657b26622@suse.com>
In-Reply-To: <3aefcd7c-d911-42b7-b731-5fc657b26622@suse.com>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: OS9P286MB7222:EE_|TY6P286MB7305:EE_
x-ms-office365-filtering-correlation-id: 5a9b65e0-189b-47ec-5619-08decef64939
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|23010399003|1800799024|366016|376014|38070700021|18002099003|22082099003|4143699003|56012099006;
x-microsoft-antispam-message-info:
 EcNxUrBL740mzFf8zuqBjOlteTYz85XlqpUXhwhII/asplzaG6zeBmO0lgx7kNT2hUyJLFcupTxUW+w3ZlD6Pq1UEN91qMZQzka6aXTmThz8dAYddQ3deUgoVQBoeYsXaYdTy+X5ueBMMV97eMp012FbWdplQPCu4TwHyohMOAiNMubUpHGvQRM5ZjxPKTgzBIrx7Xk1z9tPptpDkI6TeQzTe+b7eqovr3aX8z3dbuDOTpjN4XQUSmSVaMKKN6bzpRNKCxA3T2spEoNB4EAou0mim5QNu/NAt/SzIpOcPlhAZ+tNAliPanU6sqBi+GCXwUQkvBhnOrYeRhfwAWCggo3P/jhBBzoqP6SHyR3SlhWlKPaXnW1PnlnclrUdbv4fEb1XaM1XBHASIPev4uXOO3ikwOtt4MNGF0/n4uggoCsDFO9/8nHRIJF15E5pmdULCItU/TXvf1pi7d6VI1Lc9nma4oTtJF8d7o7nodK/Ob7Qh7iBEAehZ11twSWdQ5fq+vaZ6OkV50jGyEsP9XHwiMHfOFckZ/fLeiPybDfc8+ohp55Hk/qaY+F7pKxfAtRPGI+l2drku8L2KWRsHBL0Oxoaw3TmbG95PsENJc+OwLGMuPcQgSo4RKR/fJnLK/25SOdt0wXXKLO2eG/1GxkASVuV30xA6zJaVPvkeX6DBUyPeRFhUUVbZxdWEAC0kj6fUk+yGSqjvHT9Wo6vKfbxbRK1gTnxy3HiJfahdr9rNRs=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(366016)(376014)(38070700021)(18002099003)(22082099003)(4143699003)(56012099006);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?b0VZTjdtOTM0SzdRenlLUUluZndLZU4reVRRM0ltK1d4Q0phakp5amJ6OGU0?=
 =?utf-8?B?Wms3MXQxbDZQWjNyS3NwZjBwM3MwTEcybmV4cG5QcFU2Z0lja2EyMmhPMTJH?=
 =?utf-8?B?Y2pOOENYUDlieWEva2NhMU5hdEk2VmNqS2tYRTdWeDV3ZldZemNnODV6Z3R1?=
 =?utf-8?B?VmR3cUF1Rnc3RjY2cVhQNEJscUZ0SE1lM1MyaU50WGJmTlYxUW9nT3doMjRU?=
 =?utf-8?B?VE9RbUNsZ0RDV3dmTUhvUlZwSU00N0hXdjhXUjZkQjJGeWdVYi9xRy9McnQv?=
 =?utf-8?B?QVpveG9uUkI0ci8zRGFQRWhxa3lmM2tHdUtWTDBVRC8zZXd2TGw3UWZ1MVZB?=
 =?utf-8?B?TUVEbU5JazQvUVJmZEJBRGloTjQyZkxPd0hlalhRWmhxbUt6d3lQUS9Odk9J?=
 =?utf-8?B?OG1FZ3l1d1d4K2VQaHJwaUpMSlN4ZC9BKytYcENqd2d3T0dNanNwVHFZZ2hR?=
 =?utf-8?B?dnZ4dGhlU0VrdytrTUlZRE43RDVGWGtJZDZoQU4yL1RNZFowKzNURmVTb1VU?=
 =?utf-8?B?ajhWY1ZFV0FrNTBaZ2lWaS9WSVY4T0R2Q3FtMnlvejd3VHRuY3pJbG44ZDFC?=
 =?utf-8?B?RW4wcmx3SW9JbnFxS1hQK3N5RFpkY2E3R2dTempmRDVOTzZTc04wSHNTb2hQ?=
 =?utf-8?B?TE10b2pGcFVaTmxlUWppVEx4d1RLWUczYXNOK25YYjQzVENJdW9OTkR4YzY4?=
 =?utf-8?B?L05PQVlMM3J6NzZlVFphUWtGNXBqUUtXY2FUa1JWNGhZbjVaSHd0L3NTR1ZE?=
 =?utf-8?B?MzdpL0Z2aDJ2RkNoQlNPYmVOWldHTjFsajU2cmN4KzlPZE5vZVV5NzBhb3NM?=
 =?utf-8?B?MGd6NERKRW1SSlJmdXhKK3JSM2NGdW5nZnFOTWFYd0F3NktEQnBQVlp0YnhU?=
 =?utf-8?B?SHpVbEFFazErQ2FudGlWbUFkNk9vZGRweitPdEtrYnZjeFEwcjdVZHBVZExC?=
 =?utf-8?B?NG5jNVV4RDJtTkVENWRyTDhqV2lyKzZWSGowMnNzK3dLTDl6dWFEMkRzSzM4?=
 =?utf-8?B?MTZiZzliL2tUK2NzYWNWODdTa0p0ODJWNVB0bjlNNE5KYVNmZVNiMEMzWTdx?=
 =?utf-8?B?ZWVPUkY3dmQzSS9TbDhoMENoakcwV1J3NkpCSnJPZ2tNOFpxcXNUaDBkTkFI?=
 =?utf-8?B?RzBBeUptNEhGUS9xOG94NnYyNEtYL1VMbHRyYVJubjk4RkVEQndTSE92a3U3?=
 =?utf-8?B?YkpsNjdLNkhDZ0szd0ZkamJjZXkrRGlqV1dpSHVXVEp5M0hSUSs2RG04VktX?=
 =?utf-8?B?SE5tYUNYWjd5b1orT0t4bnhVK1EvZVlzZ0xZMFdzbHdudGtzUzdLZi9kRVhJ?=
 =?utf-8?B?SllPV1FzOVpBdW0wamlPYnpFUW9qNHFOVDVycEc2WmZISSttK2V4bnRBRlVD?=
 =?utf-8?B?NUpQZ25KWFNUNDBSMlZ1K2pCc1o3bVR3Q2htRTc1NlBFRHE0a3hkYlp3dE9q?=
 =?utf-8?B?dXJldzBXY1RRM3JHdnpYenBvN2tVY0hNME5rSCt1eFpuT3NPWGt3ZG40ZWU1?=
 =?utf-8?B?dXEybG8yUGtqM0dGTEN0N0JvQVhsQXZURFQ4NjJTNGJkN01jVHR5RTBMdjc1?=
 =?utf-8?B?NHlqL0ljT1ZFSkNBaEJaUEY0Wlp3M0xYckVGZ0M2N1BvSFZsVmNRT1BzRnJ1?=
 =?utf-8?B?SE4zcUZ5TDdzMHFHNlFPSTdCMS9FeElZVm0vYi93MWh2RE8vK1k2MmNWbndo?=
 =?utf-8?B?cHhCZFowdksxKzIrOUJBdXhWakxQKzgzUUU5RVIrRFJRZGxicDhxWlQ2UVdk?=
 =?utf-8?B?SG9XdDNIWXgrbzRWT2dLem8xZTNLcmxxUHFGZzA0dU0rRk1aOWovRlFFL09x?=
 =?utf-8?B?dEdEWC9ja3hpNG5uS1NZbXZxdDZQQkFwdDY5LzlSUTVEOUpZeFMrVjRRcEZ6?=
 =?utf-8?B?YXovckRoTEtKRmtPVlo0RWU0WkhaR3duL080UktTcHpMM0ZMeW5sM3FnVHQw?=
 =?utf-8?B?cWdzQlo2TDdUNjRPbFR3eXFUamh0Tllrd1pOMURzRGZwd2IyWjFFUFI0YmZV?=
 =?utf-8?B?WUwwb1A0SjAyb096bk9kUTV2dVBSQktIVEFlZnhCOVJUNmJPWHlweUtoM3I5?=
 =?utf-8?B?aGVkbGVZSHhlcDFTYlVobndzTGdDU1liZzdxdGIwTDRTRUZ1cllvQkxMZUJH?=
 =?utf-8?B?Vy8vbzhSYmdXS2NBbUlhOVpqMHY2R3FITGgvQlA1dXRVdDZSNExvRWlsWFkx?=
 =?utf-8?B?VFRMZjZHYjJ6cGxNVEl3YjRTRWFDUHhyRGdCNFR4NHhPTGNJSFBaN3FiRTAz?=
 =?utf-8?B?bzZBK09Oa2hRZU5zQnFIZjlEZ09iQUhCbENlaTdFWWxRU2c5SWEyZG02TjJ5?=
 =?utf-8?Q?AXMZOHqct0xx25tz63?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 5a9b65e0-189b-47ec-5619-08decef64939
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jun 2026 18:03:51.8707
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: +YEx5uL0ieoHzr3tdmK+ecudiKQExOVTP4UUDgFik+l0Tp/6hoEPleXAxEorpk5QonUCPZ+INR9664dEZK2ehw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY6P286MB7305
X-purgate-ID: tlsNG-4011c0/1781978637-2DBF3DB8-1145FDA7/0/0
X-purgate-type: clean
X-purgate-size: 728

SGksDQoNCj4gPiArI2luY2x1ZGUgPHhlbi9udW1hLmg+DQo+ID4gKw0KPiA+ICsjZGVmaW5lIExP
Q0FMX0RJU1RBTkNFICAgICAgMTANCj4gPiArI2RlZmluZSBSRU1PVEVfRElTVEFOQ0UgICAgIDIw
DQo+ID4gKw0KPiA+ICsvKg0KPiA+ICsgKiBHZXQgdGhlIGRpc3RhbmNlIGJldHdlZW4gbm9kZSAn
ZnJvbScgYW5kIG5vZGUgJ3RvJy4NCj4gPiArICovDQo+IA0KPiBJbiB0aGUgZGVzY3JpcHRpb24g
eW91IHNheSB0aGlzIGlzIGEgZmFsbGJhY2ssIGJ1dCB0aGF0IGRvZXNuJ3QgYmVjb21lDQo+IGNs
ZWFyIGZyb20gdGhpcyBjb21tZW50IGF0IGFsbC4NCg0KSSBvcmlnaW5hbGx5IGludGVuZGVkIHRo
aXMgdG8gYmUgYSB0ZW1wb3JhcnkgZmFsbGJhY2sgZnVuY3Rpb24sIGJ1dCBzaW5jZSANCml0IGdl
dHMgY29tcGxldGVseSByZXBsYWNlZCBieSBhIGxhdGVyIHBhdGNoIGluIHRoZSBzZXJpZXMgYW55
d2F5LCBJIHdpbGwgDQpkcm9wIHRoaXMgcGF0Y2ggaW4gdjQuDQoNClRoYW5rIHlvdSwNCkhpcm9r
YXp1IFRha2FoYXNoaS4NCg==


From xen-devel-bounces@lists.xenproject.org Sat Jun 20 23:36:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Jun 2026 23:36:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343172.1602772 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wb5EV-0002PY-Gu; Sat, 20 Jun 2026 23:36:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343172.1602772; Sat, 20 Jun 2026 23: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 1wb5EV-0002PQ-Ct; Sat, 20 Jun 2026 23:36:15 +0000
Received: by outflank-mailman (input) for mailman id 1343172;
 Sat, 20 Jun 2026 23:36:13 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wb5ES-0002PJ-CS
 for xen-devel@lists.xenproject.org; Sat, 20 Jun 2026 23:36:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wb5ER-000ymL-9q
 for xen-devel@lists.xenproject.org; Sun, 21 Jun 2026 01:36:11 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a3723ea-2eae-0a2a0a5409dd-0a2a4506e616-0
 for <xen-devel@lists.xenproject.org>; Sun, 21 Jun 2026 01:36:10 +0200
Received: from [52.101.125.76]
 (helo=TYVP286CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a3723e8-b690-0a2a45060019-34657d4cb528-3
 for <xen-devel@lists.xenproject.org>; Sun, 21 Jun 2026 01:36:10 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TY7P286MB6359.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:32d::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.18; Sat, 20 Jun
 2026 23:36:04 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Sat, 20 Jun 2026
 23:36: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=UjJwTnh6u24GsCpvwwAGbG/jti5Gey8jmdWDK+GRmn0pg5auQptKJnMbkxF/kDD44LCHPCAvNZP22885/Y6srzmKshf/wczSNWYPwTMiP6Q14YKc+eFAq+tFb/Ttq2I2L6UUUPTKlyr/PYATPVFx2mybI83GeIOaxQsSQl6p0+4qW90o0n9z2YR7EGjcLoXzM2R3lHmPrZ+OwNyZaccEYNpjqaVPnC5oA5xTgqXjH1Xho84997pChu9hWoYBz6DIov344ihYUfzSZbp7g/YVTTn2izKZdg/+RkPwZ8pA+M65VdBrmWm2Rc4r/dvIHKoyi9G3Y/BvJicEYR0DakzJ5w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vH3P33ueemtZInBVOlThXMOcigARtXIntLobwA/G+8s=;
 b=qnHOLtfYLkSaD/U/nPJDyL59aW0bi6sdxpttuZvE/aElbc/TECTRVdoCyLNpPdpHVbpf1CzbXFbF20u/Xza1Uw6fba+aJdEDjit5EohiltXe08z81WdYW9Kl5LWX6Tesd9Z0IvG+EKb+dGiSAlQ1J5ciAUU5l5bnr6f5oUz2LNHjphnCfU6awFRWlPSjRnuiJCzLeWsBz7vjXJ/FU3DUJ2eGVo5Y9nMd5K7/vHDtqX2LeAO1XVOe19AgzjjF2srdrMqpYrtmcH9Sp2rvHFsUzVbCCTUSb5ywUcpnXJw3X8vJLaRw5cJ2cUN0aEEpwY3HxLFQ7FAsiAVQ7kggp5NFlg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vH3P33ueemtZInBVOlThXMOcigARtXIntLobwA/G+8s=;
 b=kjBFmL6uAXlODEHzL0EXSpy7xUKSyTj3HLy/onRGGOT9bnJne0FS+PZ5lo5oSHzlIPJqOhYTdplGyI8j+x8y0vQj+TO5vdPFCToibAKtrpt7kXKM1k+7BPqROlXwoPYEvBMrDIlUhFRN3//yrnChB/EQ1IiNa/iMykqSAmmDJac=
From: Hirokazu Takahashi <taka@valinux.co.jp>
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?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3 07/22] xen/device-tree: Read NUMA node distance from
 Device Tree 'distance-map'
Thread-Topic: [PATCH v3 07/22] xen/device-tree: Read NUMA node distance from
 Device Tree 'distance-map'
Thread-Index: AQHc/8BKTM3OweAnP0qpxuJk/PcKwrZFkCwAgAIwFqA=
Date: Sat, 20 Jun 2026 23:36:04 +0000
Message-ID:
 <OS9P286MB7222340F4909B9873B89D45082E12@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
References: <20260619075011.377116-1-taka@valinux.co.jp>
 <20260619075011.377116-8-taka@valinux.co.jp>
 <926d2a7a-e278-4c3a-b168-aad003da6652@suse.com>
In-Reply-To: <926d2a7a-e278-4c3a-b168-aad003da6652@suse.com>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: OS9P286MB7222:EE_|TY7P286MB6359:EE_
x-ms-office365-filtering-correlation-id: 3d86f41e-2fa6-432f-e8f4-08decf24b206
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|376014|7416014|23010399003|1800799024|366016|38070700021|22082099003|18002099003|4143699003|56012099006|6133799003;
x-microsoft-antispam-message-info:
 Px6vImttOIhvTzorSMgbvAjiI++fimbsVOmDRPzU6VuaSfUnXu89k0csoyD9cyn1AmvXjXBr5mDGSxYagIB9nFStl9OOoWK1SsO+9kCaOnCW+9EXGI69rX3FOn9qv3SrCWaQG/HCxtnQ9WGTZiJw6E/qw8ERdB+OhNw5ShQUrSDpCsHa+oSOaX4rmk8MqN5nzJfs15WdhOXjwRdw9/7yIrXK7IS7Xw0hGU2vxLMJdlNmr3ul3d1Z4yum+Ecpcwfw5n+bYz+8Ep5hGAJs3Wsn0I0tDcpDyh8XkysblHzkmXy/6Po+QG8GqByio9Xv0Dl8crG+Y90vu15Y5ro7NFN4p8r45vGhmtG4A0jePi6FhlohdmOy7Q1XFlu2a859slLH0NCp7FNk+cRVQtGCsixX9HfOYj4WHDbqZFg0DaVr2zKeF2FbgsvF1+BNKibfxvPIv6PY+y3NA8ZzjltH40uSAqM5R+k93NghtKZDuNVAlCMmN/nuL4OntwjuasInzgjUfvNM2FlR2uJ8Xbc+pCkCVTbz8UaGkRAUixSZ8bt7NGs2DAttltOwjdeO4XwC50zP+b0ifmCsBVBgDnTZ5OKGT2UrouGscHk3+PQEjXXb2oZGaXJgLA3MvIDGBtieZmGFT4NxranDTsJDBuQ4XP71tcRZ6dfZwefVYbNAelDjspP+cTzI09O+x19y9zCoQiCKgz3IJ/7yGPLo+rVAvSCvk3ABcTjkWRLAj6tC128A0hU=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(23010399003)(1800799024)(366016)(38070700021)(22082099003)(18002099003)(4143699003)(56012099006)(6133799003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RDUvMFBwSE1EamJpY3RQRWtqV2pjRk53NmQ3MmtTNkc2WmlkVkhFMzZqVTN1?=
 =?utf-8?B?OHBkRElFNlIwK1FYS0k1dTkraGNGOGljMXJhTUY4dTZwcXJWeTVlOEF3UWw5?=
 =?utf-8?B?Qi9ZNURxby9PZHU2cFdiSlVOTDc1SUNnaVF6YnArK2hBbitqMVBMVngydXlW?=
 =?utf-8?B?SXRWbTYxS0hPNTNmZnRxaGJCQ2R1V1pCQ1E0NTRjSEVuNFpRSUcxSlF1bTVV?=
 =?utf-8?B?NVJPWkdoNTFGYnhoNGRzeFJJN2pRWUVTOHNFeWY2L1J1QmJTYjM3ZXc5WlNv?=
 =?utf-8?B?d0ZncmJ0NnBtTURkRnFyeVNDV2VMVldnMUM2andOd3JlZ1FuV0JTSjk2aWNk?=
 =?utf-8?B?UUZWMHRsZTBCbXBlL0N1T2d3RTd6Uk4xdk9pLzZmWWNsZmMzQ0FrRXk2OXhk?=
 =?utf-8?B?NGxBYjB3ODA1aDgxTzE4dFZ2YVVrV2JjempuUU5PRy9zcjdUdGVvWmdwS09D?=
 =?utf-8?B?MG5ub1Q3OVZ3R2NhNjBoSU15RDRGWXdPWGVwbzllck0xWTB2OGl2R1plTEZS?=
 =?utf-8?B?eFNocG1zdzNqRFNCNHZUbzJEU3hkUUIxRU1TbjNmZ0ptZU50UUcwbFpwR2g1?=
 =?utf-8?B?bXhvRm1maDZNbU9pb3V1YzcxelY3U0hsUTVWOG9TcHgvWjdvRVprV1pkZ1Jv?=
 =?utf-8?B?TDd4NDZiUldUbXBBMmg1TTZkc3FCdHM0a3JKa3c3TzNwb1VvSHd2NWdUL2Rz?=
 =?utf-8?B?dVNQVERTR2dNZzcyY1dYYzFKL2xYcnhpOUNKY0hYTVRqV0xMaVIyRzlscVhp?=
 =?utf-8?B?YXBTZzY1TzZ5NEhWTW1kRkFrZVB5b2FFQjRvRDBrL21GWVNhWktyQjRJSnZv?=
 =?utf-8?B?cHJOOTd4S0NRU3crMWNXM3lnNkVGOHgxb3Q3L2NwUkJqU2NndFpNaEloRjRm?=
 =?utf-8?B?QkhTOWJ1VUZTZWJaNUVHOThZckJuVUtESkVETVdSWVFlQzd3S09jTmtrQnlv?=
 =?utf-8?B?NDlTcjUrTXZDWWtRZy9oVzJ0VXFocmpJRmF6Ly9YT1dVNWJpTGdGTlJKMDVh?=
 =?utf-8?B?aWwwY2Ywa0RVM0dyVnZ5SHpPNk1iRFRrRjRNcDEzT3pIdXFiRzBSYVBJd2JI?=
 =?utf-8?B?TkxFcEhaQjlMUVBUSnZSUEJLZVppU21SY1NIYkZlWEVJWG5rUm5VeEczK2hZ?=
 =?utf-8?B?aXpUak1CUUZSS3grUVJ5a3JxTnVhTkY4Z1Rhc0J4OGNuUW5pZ2VVcjVHZVln?=
 =?utf-8?B?Nk1mQnJsNWtsRHkybEg5dDNSY3NLMnYrMTA3NXhRMTRod0lWdWszVWZFRVl3?=
 =?utf-8?B?VDdvZWRaR0s2Vzl2bVhteHgvSUpZT2d2RklPa0RSSC9QbXRBVEpYTFcvazJJ?=
 =?utf-8?B?cWN1cHI4clQ3b1ZzdkR4R1g2MTduclJnbG0vaEtOMG8ra2JoWDYzVnY4Umtv?=
 =?utf-8?B?WituVG1BTjRhNzRUSlRyUjJsdDZTSWZrVk9IdkRhUWd2a3gzeSt2SlVGKzZT?=
 =?utf-8?B?UXRmaXFFcFdZMzlXMWwxV28wN0czOGhMS3ZhMUQyZlRndkpUUHdLaFpycWIz?=
 =?utf-8?B?Q3V6ZktoaGJzaEJqMTdZVUpJa0xGVXF1b1RLZDMrc3RNci9LcHlWT2orNURR?=
 =?utf-8?B?dkVMa2h3dHpPakI4TWd4VUJxbnZOQUwxVGM2UUx6ZEhoN3c0WldvS3AzMjVP?=
 =?utf-8?B?dFcxNGpkcm54c05RVnZ6djdDZHRkQ1hUNlphUVhaZ3JacDY0YVlGTFAvaDdZ?=
 =?utf-8?B?ZlNwWmh2RTVNU21hRmFFdGpvU21oMnhxWm85SFZmYkhxTWRiblZ1NmFxK3ds?=
 =?utf-8?B?aWx0UnBPd3pZUjQ0QXhWbFBndWxsbEpieVVkWWRWK016MHBTSXU0RE9Fc2NH?=
 =?utf-8?B?TjdtdVQweUdSWHRidnpLZzJJcGd4NDJ3ejZPb1hZend4emNLQjlXdCtKQ0My?=
 =?utf-8?B?RW9VZlV0NGNzZjB5YS9Hc2t0M1VVOTJvN2VlOFVSYno2YklxRWpvYzU5M3Qv?=
 =?utf-8?B?UHZHNXBVbmdXM2JpcUp1ODh1NlltRVFGbHNXT3RPVnBVOTZrRko4L3ZQVEpT?=
 =?utf-8?B?N3Zmak83QXNwS0Irb3o5NkxhRGFRN09UTFBiQU92Q2xWSG85SUZyeTE0TEhY?=
 =?utf-8?B?SDZmUkx6NEg5UVIybFZERjRueU1TV2gzaFFhb0hwRk53M3pCN25BTC9RYmxs?=
 =?utf-8?B?Zko5WDdpaStRMnlEaWI1UXltS2krVDJiNnRzZDNtZitMaHk5YUE5cEU0VGVt?=
 =?utf-8?B?QjN1RVQ1K0VwcFRYY0NrcEZnM1Z5ckd5a0hYKzgvOXJDeUZpUW1uZ1RLdSsz?=
 =?utf-8?B?ekYzNnlPcGN4c1EyQ3FLb0hSc0ZZaHpFM0JjdXFOZjQ0Y2lOTmg3dzc0L2FX?=
 =?utf-8?Q?+eQgVMaf6dw52l8S94?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 3d86f41e-2fa6-432f-e8f4-08decf24b206
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jun 2026 23:36:04.5285
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: GzvPhlab37zLWV7PI0WjBAT5xo+yOhY5iaI1HkpyvZ017dSKWdTLfIajuSIQ0LiL8wXddj1NX3C/J9Ou6uv/eQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY7P286MB6359
X-purgate-ID: tlsNG-16d1c6/1781998570-B33ED853-253EC341/0/0
X-purgate-type: clean
X-purgate-size: 7974

SGVsbG8sDQoNCj4gPg0KPiA+ICsjaWZkZWYgQ09ORklHX05VTUENCj4gPiArICAgIG51bWFfZGlz
dGFuY2VfdGFibGVfaW5pdCgpOw0KPiA+ICsjZW5kaWYgLyogQ09ORklHX05VTUEgKi8NCj4gDQo+
IEdlbmVyYWxseSB3ZSBwcmVmZXIgdG8gYXZvaWQgc3VjaCAjaWZkZWYtYXJ5IGluIG1haW4gc291
cmNlIGNvZGUgYnkgcHJvdmlkaW5nIHN0dWINCj4gKGlubGluZSkgZnVuY3Rpb25zIGluIGhlYWRl
cnMuIFlldCB0aGVuIEknbSBub3QgYW4gQXJtIG1haW50YWluZXIgLi4uDQoNCk9rYXksIEkgd2ls
bCBhZGQgc3R1YiBpbmxpbmUgZnVuY3Rpb25zLg0KDQo+ID4gKy8qDQo+ID4gKyAqIFBhcnNlIHRo
ZSAnL2Rpc3RhbmNlLW1hcCcgbm9kZSBmcm9tIHRoZSBmbGF0dGVuZWQgZGV2aWNlIHRyZWUNCj4g
PiArICogYW5kIGV4dHJhY3QgdGhlIDMtdHVwbGUgdHJpcGxldHMgPGZyb20sIHRvLCBkaXN0YW5j
ZT4uDQo+ID4gKyAqLw0KPiA+ICtzdGF0aWMgdm9pZCBfX2luaXQgZHRfbnVtYV9wYXJzZV9kaXN0
YW5jZV9tYXAodm9pZCkNCj4gPiArew0KPiA+ICsgICAgY29uc3Qgdm9pZCAqZmR0ID0gZGV2aWNl
X3RyZWVfZmxhdHRlbmVkOw0KPiA+ICsgICAgY29uc3Qgc3RydWN0IGZkdF9wcm9wZXJ0eSAqcHJv
cDsNCj4gPiArICAgIGNvbnN0IF9fYmUzMiAqbWF0cml4Ow0KPiA+ICsgICAgaW50IGVudHJ5X2Nv
dW50Ow0KPiA+ICsgICAgaW50IG5vZGU7DQo+ID4gKyAgICBpbnQgbGVuOw0KPiA+ICsgICAgaW50
IGk7DQo+IA0KPiBOaXQ6IFBsYWluIGludCBvbmx5IHdoZW4gdmFsdWVzIGNhbiBhY3R1YWxseSBn
byBuZWdhdGl2ZSwgb3Igd2hlbiBub3QteWV0LQ0KPiB0aWRpZWQtdXAgY29kZSBlbHNld2hlcmUg
KGUuZy4gbGliZmR0IGhlcmUpIG1ha2VzIHRoaXMgbmVjZXNzYXJ5Lg0KDQpPa2F5LCBJIHdpbGwN
Cg0KPiA+ICsNCj4gPiArICAgIG1hdHJpeCA9IChjb25zdCBfX2JlMzIqKXByb3AtPmRhdGE7DQo+
IA0KPiBOaXQ6IEJsYW5rIGJlZm9yZSAqIHBsZWFzZS4NCg0KT2suDQoNCj4gPiArICAgIGVudHJ5
X2NvdW50ID0gbGVuIC8gc2l6ZW9mKF9fYmUzMik7DQo+IA0KPiBOaXQ6IEJldHRlciBzaXplb2Yo
PGV4cHJlc3Npb24+KS4NCg0KSXMgdGhlIGZvbGxvd2luZyBsaW5lIGJldHRlcj8NCmVudHJ5X2Nv
dW50ID0gbGVuIC8gc2l6ZW9mKCptYXRyaXgpOw0KDQo+ID4gKyAgICBpZiAoIChlbnRyeV9jb3Vu
dCA8PSAwKSB8fCAoZW50cnlfY291bnQgJSAzKSApDQo+ID4gKyAgICAgICAgcmV0dXJuOw0KPiA+
ICsNCj4gPiArICAgIGZvciAoIGkgPSAwOyBpICsgMiA8IGVudHJ5X2NvdW50OyBpICs9IDMgKQ0K
PiA+ICsgICAgew0KPiA+ICsgICAgICAgIHVpbnQzMl90IG5vZGVhLCBub2RlYiwgZGlzdGFuY2U7
DQo+IA0KPiBBZ2Fpbiwgbm8gYXBwYXJlbnQgbmVlZCBmb3IgYSBmaXhlZC13aWR0aCB0eXBlIGhl
cmUuDQoNCk9rYXksIEkgd2lsbCBtYWtlIHRoZW0gdW5zaWduZWQgaW50Lg0KDQo+ID4gKyAgICAg
ICAgbm9kZWEgPSBkdF9uZXh0X2NlbGwoMSwgJm1hdHJpeCk7DQo+ID4gKyAgICAgICAgbm9kZWIg
PSBkdF9uZXh0X2NlbGwoMSwgJm1hdHJpeCk7DQo+ID4gKyAgICAgICAgZGlzdGFuY2UgPSBkdF9u
ZXh0X2NlbGwoMSwgJm1hdHJpeCk7DQo+ID4gKw0KPiA+ICsgICAgICAgIGlmICggKG5vZGVhID09
IG5vZGViICYmIGRpc3RhbmNlICE9IExPQ0FMX0RJU1RBTkNFKSB8fA0KPiA+ICsgICAgICAgICAg
ICAgKG5vZGVhICE9IG5vZGViICYmIGRpc3RhbmNlIDw9IExPQ0FMX0RJU1RBTkNFKSApDQo+ID4g
KyAgICAgICAgew0KPiA+ICsgICAgICAgICAgICBwcmludGsoWEVOTE9HX1dBUk5JTkcgIkludmFs
aWQgZGlzdGFuY2Vbbm9kZSVkIC0+DQo+IG5vZGUlZF0gPSAlZFxuIiwNCj4gPiArICAgICAgICAg
ICAgICAgICAgIG5vZGVhLCBub2RlYiwgZGlzdGFuY2UpOw0KPiANCj4gTml0OiAldSBwbGVhc2Ug
d2l0aCB1bnNpZ25lZCBxdWFudGl0aWVzIChhcHBsaWVzLCBsaWtlIGFsbCBzdWNoIGNvbW1lbnRz
LA0KPiBhbHNvIGVsc2V3aGVyZSkuDQoNCk9rYXkuDQoNCj4gPiArDQo+ID4gK3ZvaWQgX19pbml0
IGR0X251bWFfZGlzdGFuY2VfdGFibGVfaW5pdCh2b2lkKQ0KPiA+ICt7DQo+ID4gKyAgICBkdF9u
dW1hX3BhcnNlX2Rpc3RhbmNlX21hcCgpOw0KPiA+ICt9DQo+IA0KPiBJIGFzc3VtZSB0aGVyZSBh
cmUgZ29pbmcgdG8gYmUgZnVydGhlciBhZGRpdGlvbnMgdG8gdGhpcyBmdW5jdGlvbj8NCg0KWWVz
LiBDdXJyZW50bHksIHRoZSBwYXJzaW5nIGxvZ2ljIGlzIHNwZWNpZmljIHRvIHRoZSAibnVtYS1k
aXN0YW5jZS1tYXAtdjEiIA0KY29tcGF0aWJsZSBzdHJpbmcuIElmICJudW1hLWRpc3RhbmNlLW1h
cC12MiIgaXMgaW50cm9kdWNlZCBpbiB0aGUgZnV0dXJlLA0KSSB3aWxsIG1ha2UgdGhpcyBmdW5j
dGlvbiB0byBoYW5kbGUgdGhlIGJyYW5jaGluZyBsb2dpYyBmb3IgZGlmZmVyZW50IHZlcnNpb25z
Lg0KDQo+ID4gICNpbmNsdWRlIDx4ZW4vZXJybm8uaD4NCj4gPiAgI2luY2x1ZGUgPHhlbi9pbml0
Lmg+DQo+ID4gICNpbmNsdWRlIDx4ZW4vbm9kZW1hc2suaD4NCj4gPiAgI2luY2x1ZGUgPHhlbi9u
dW1hLmg+DQo+ID4gKyNpbmNsdWRlIDx4ZW4vYWNwaS5oPg0KPiA+ICsNCj4gPg0KPiA+ICAjZGVm
aW5lIExPQ0FMX0RJU1RBTkNFICAgICAgMTANCj4gDQo+IE5pdDogTm8gZG91YmxlIGJsYW5rIGxp
bmVzIHBsZWFzZS4NCg0KT2theS4NCg0KPiA+ICAjZGVmaW5lIFJFTU9URV9ESVNUQU5DRSAgICAg
MjANCj4gPg0KPiA+ICt1aW50OF90ICogX19yb19hZnRlcl9pbml0IG51bWFfZGlzdGFuY2U7DQo+
IA0KPiBOaXQ6IEV4Y2VzcyBibGFuayBhZnRlciAqLg0KDQpPa2F5Lg0KDQo+ID4gIC8qDQo+ID4g
ICAqIEdldCB0aGUgZGlzdGFuY2UgYmV0d2VlbiBub2RlICdmcm9tJyBhbmQgbm9kZSAndG8nLg0K
PiA+ICAgKi8NCj4gPiAgdWludDhfdCBudW1hX25vZGVfZGlzdGFuY2UodW5zaWduZWQgaW50IGZy
b20sIHVuc2lnbmVkIGludCB0bykNCj4gPiAgew0KPiA+IC0gICAgaWYgKCBmcm9tICE9IHRvICkN
Cj4gPiAtICAgICAgICByZXR1cm4gUkVNT1RFX0RJU1RBTkNFOw0KPiA+IC0gICAgcmV0dXJuIExP
Q0FMX0RJU1RBTkNFOw0KPiANCj4gV2h5IGRpZCB5b3UgaW50cm9kdWNlIHRoZSBmdW5jdGlvbiBh
cyBhIGZhbGxiYWNrIHdoZW4gbm93IHlvdSByZW1vdmUgdGhlDQo+IGZhbGxiYWNrIGxvZ2ljIGVu
dGlyZWx5PyBDYW4ndCB5b3UgaW50cm9kdWNlIHRoZSBmdW5jdGlvbiByaWdodCBoZXJlLA0KPiBv
bWl0dGluZyB0aGUgZWFybGllciBwYXRjaD8NCg0KSSB3aWxsIHJlbW92ZSB0aGUgZWFybGllciBw
YXRjaC4NCg0KPiA+ICsgICAgY29uc3QgdW5zaWduZWQgaW50IG5yX25vZGVzID0gbGFzdF9ub2Rl
KG5vZGVfb25saW5lX21hcCkgKyAxVTsNCj4gPiArDQo+ID4gKyAgICBpZiAoIGZyb20gPj0gbnJf
bm9kZXMgfHwgdG8gPj0gbnJfbm9kZXMgKQ0KPiA+ICsgICAgICAgIHJldHVybiBmcm9tID09IHRv
ID8gTE9DQUxfRElTVEFOQ0UgOiBSRU1PVEVfRElTVEFOQ0U7DQo+IA0KPiBXaGF0IGlmIGVpdGhl
ciBub2RlIGlzIE5VTUFfTk9fTk9ERT8NCg0KVGhpcyBiZWhhdmlvciBjb21lcyBmcm9tIHRoZSBM
aW51eCBrZXJuZWwuIEl0IHNlZW1zIGl0IGV4aXN0cyBhcyBhIGRlZmVuc2l2ZQ0KZmFsbGJhY2sg
dG8ga2VlcCB0aGUgc3lzdGVtIHJ1bm5pbmcgZXZlbiB3aXRoIGludmFsaWQgb3IgdW5hc3NpZ25l
ZCBub2Rlcy4NCg0KRG8geW91IHRoaW5rIGl0IGlzIGJldHRlciB0byBtYWtlIGl0IHJldHVybiAw
eEZGIGluc3RlYWQgd2hlbmV2ZXIgYW55DQpvdXQtb2YtYm91bmRzIG5vZGUgb3IgTlVNQV9OT19O
T0RFIGlzIHBhc3NlZD8NCg0KPiA+ICsgICAgcmV0dXJuIG51bWFfZGlzdGFuY2VbZnJvbSAqIG5y
X25vZGVzICsgdG9dOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICt2b2lkIF9faW5pdCBudW1hX3NldF9k
aXN0YW5jZSh1bnNpZ25lZCBpbnQgZnJvbSwgdW5zaWduZWQgaW50IHRvLA0KPiA+ICsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGRpc3RhbmNlKQ0KPiAN
Cj4gTml0OiBJbmRlbnRhdGlvbi4NCg0KT2theS4NCg0KPiA+ICt2b2lkIF9faW5pdCBudW1hX2Rp
c3RhbmNlX3RhYmxlX2luaXQodm9pZCkNCj4gPiArew0KPiA+ICsgICAgY29uc3QgdW5zaWduZWQg
aW50IG5yX25vZGVzID0gbGFzdF9ub2RlKG5vZGVfb25saW5lX21hcCkgKyAxVTsNCj4gPiArICAg
IHVuc2lnbmVkIGludCBpLCBqOw0KPiA+ICsNCj4gPiArICAgIG51bWFfZGlzdGFuY2UgPSB4emFs
bG9jX2FycmF5KHVpbnQ4X3QsIG5yX25vZGVzICogbnJfbm9kZXMpOw0KPiANCj4geHZ6YWxsb2Mq
KCkgZmFtaWx5IG9mIGZ1bmN0aW9ucyBpbiBuZXcgY29kZSwgcGxlYXNlLg0KPiANCj4gRnVydGhl
ciB0aGVyZSdzIGFuIGF0IGxlYXN0IGFic3RyYWN0IHJpc2sgb2YgdGhlIG11bHRpcGxpY2F0aW9u
IG92ZXJmbG93aW5nLg0KPiBTZWUgaG93IHh2bWFsbG9jX2FycmF5KCkgYWxsb3dzIGZvciBtdWx0
aXBsZSBkaW1lbnNpb25zIHRvIGJlIHBhc3NlZC4NCg0KVGhhbmtzIGZvciB0aGUgZ3JlYXQgYWR2
aWNlLg0KSSB3aWxsIHVzZSB4dm1hbGxvY19hcnJheSgpLg0KDQo+ID4gKyAgICBpZiAoICFudW1h
X2Rpc3RhbmNlICkNCj4gPiArICAgICAgICBwYW5pYygiRmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9y
eSBmb3IgbnVtYSBkaXN0YW5jZS1tYXANCj4gYXJyYXlcbiIpOw0KPiA+ICsNCj4gPiArICAgIC8q
IGZpbGwgd2l0aCB0aGUgZGVmYXVsdCBkaXN0YW5jZXMgKi8NCj4gDQo+IE5pdDogQ29tbWVudCBz
dHlsZS4NCg0Kb2theS4NCg0KPiA+ICsgICAgZm9yICggaSA9IDBVOyBpIDwgbnJfbm9kZXM7IGkr
KyApDQo+ID4gKyAgICAgICAgZm9yICggaiA9IDBVOyBqIDwgbnJfbm9kZXM7IGorKyApDQo+IA0K
PiBXaHkgdGhlIFUgc3VmZml4ZXM/DQoNCkkgYWRkZWQgdGhlIFUgc3VmZml4ZXMgYmVjYXVzZSB2
YXJpYWJsZXMgaSBhbmQgaiBhcmUgdW5zaWduZWQgdHlwZXMuIA0KSWYgYSBwbGFpbiAwIGlzIHBy
ZWZlcnJlZCBoZXJlLCBJIHdpbGwgcmVtb3ZlIHRoZW0uDQoNCj4gPiArICAgICAgICAgICAgbnVt
YV9kaXN0YW5jZVtpICogbnJfbm9kZXMgKyBqXSA9IGkgPT0gaiA/DQo+ID4gKyAgICAgICAgICAg
ICAgICBMT0NBTF9ESVNUQU5DRSA6IFJFTU9URV9ESVNUQU5DRTsNCj4gDQo+IFdoaWxlIGJpbmFy
eSBvcGVyYXRvcnMgcmVhbGx5IHdhbnQgdG8gZ28gYXQgdGhlIGVuZCBvZiB3cmFwcGVkIGxpbmVz
LCBmb3INCj4gdGhlIGNvbmRpdGlvbmFsIG9wZXJhdG9yIHdlIHdvdWxkIGdlbmVyYWxseSBwcmVm
ZXIgZS5nLg0KPiANCj4gICAgICAgICAgICAgbnVtYV9kaXN0YW5jZVtpICogbnJfbm9kZXMgKyBq
XSA9IGkgPT0gag0KPiAgICAgICAgICAgICAgICAgPyBMT0NBTF9ESVNUQU5DRSA6IFJFTU9URV9E
SVNUQU5DRTsNCj4gDQo+IHdoaWxlIHNwZWNpZmljYWxseSBoZXJlIGl0IG1pZ2h0IGJlIHlldCBi
ZXR0ZXIgYXMNCj4gDQo+ICAgICAgICAgICAgIG51bWFfZGlzdGFuY2VbaSAqIG5yX25vZGVzICsg
al0gPQ0KPiAgICAgICAgICAgICAgICAgaSA9PSBqID8gTE9DQUxfRElTVEFOQ0UgOiBSRU1PVEVf
RElTVEFOQ0U7DQoNCkkgd2lsbCBjaG9zZSB0aGlzIHN0eWxlLg0KDQo+IFlvdSBmaWxsIHRoZSBl
bnRpcmUgYXJyYXkgaGVyZS4gV2h5IGRvIHlvdSB0aGVuIHVzZSB0aGUgemVyby1maWxsaW5nIGZv
cm0NCj4gb2YgdGhlIGFsbG9jYXRpb24gZnVuY3Rpb24/DQoNCllvdSBhcmUgcmlnaHQuIEkgd2ls
bCB1c2UgeHZtYWxsb2NfYXJyYXkoKSBpbnN0ZWFkLg0KDQpUaGFuayB5b3UsDQpIaXJva2F6dSBU
YWthaGFzaGkuDQo=


From xen-devel-bounces@lists.xenproject.org Sun Jun 21 14:31:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Jun 2026 14:31:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343330.1602781 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbJCF-0003tH-UW; Sun, 21 Jun 2026 14:30:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343330.1602781; Sun, 21 Jun 2026 14: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 1wbJCF-0003t9-Pj; Sun, 21 Jun 2026 14:30:51 +0000
Received: by outflank-mailman (input) for mailman id 1343330;
 Sun, 21 Jun 2026 14:30:50 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <xakep.amatop@gmail.com>) id 1wbJCE-0003t3-IR
 for xen-devel@lists.xenproject.org; Sun, 21 Jun 2026 14:30:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbJCD-007Kjr-N7
 for xen-devel@lists.xenproject.org; Sun, 21 Jun 2026 16:30:49 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a37f56a-5cb7-0a2a0a5109dd-0a2a450a96dc-26
 for <xen-devel@lists.xenproject.org>; Sun, 21 Jun 2026 16:30:49 +0200
Received: from [209.85.167.41] (helo=mail-lf1-f41.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a37f599-93a5-0a2a450a0019-d155a729d9e5-3
 for <xen-devel@lists.xenproject.org>; Sun, 21 Jun 2026 16:30:49 +0200
Received: by mail-lf1-f41.google.com with SMTP id
 2adb3069b0e04-5ad4a5647e5so3938088e87.3
 for <xen-devel@lists.xenproject.org>; Sun, 21 Jun 2026 07:30:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1782052249; cv=none;
        d=google.com; s=arc-20240605;
        b=hPRu9Sq6ULFaq/nYC6c5WnLpH+4FIUAT6BfEvVWfR7VuzIO+zwWbd1yCmT5XklsWY4
         tmAeBX3EWFsxuLcL5NjP4VfY9aZQVOycdF/xbmBQk/R6phjoCx4a7bTPClwJ2Og0Quh4
         xIdtSDe6RXZNL9ZnMOiqovtSCBVPAk505g+VlF9rqBl2FYBMF8B5B8OU+5uO4DIvpqlM
         vYIjgbf0AciOBSrFAXxo+HNszwfphZ6y12mD/qLEsZ92UnRi3faH50/ruS7+BtzZ1dCo
         22ATDCXTHUvsqOhqp3Kz8Lv6QzJ4+bzIInEzpTGpKC51/07vcuQJDAO2O8zKHlGhb5QL
         5WkA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=+KC0u/KRYobJp2JZVAxFOAwL39TOvhEZsL8jNRWiAuM=;
        fh=c26W8yzhfrIIIAjqZnhAjFtxMz7x1oQjE+CBX55p50c=;
        b=TUByrexCTahNEru31xQKc3OO8V7HYw6fYHdHS9bq2bSjyz9+82MUm5idPFJvFmvmrq
         P2AywxyKdbBD0iuS19cjN/W4OJYoN0Di7lCvYLU4tCkB5sZKHD3rtJHX/vwtZV/WvEeI
         li8wi4pb2h8tN9zzcPxv0DTQNr3L2n5CDBBK0Z+f0aK3Yu3//nMVbVcpx856V2QtuJsN
         /InHiE9hDNStWjXUA0gc5QKZ5F2Eq/B4qgvW+/rfHJjMMvSL3+d4htoaVNJz1Ok7jLff
         hnVoAuJLc8iwbz3oRNIL6U/3rCUX2jbnRTheI4Q+iCGzwiCCvuHmAgtOn15KqARa3u0f
         U50A==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782052249; x=1782657049; 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=+KC0u/KRYobJp2JZVAxFOAwL39TOvhEZsL8jNRWiAuM=;
        b=RjKb9CGbmLOE3gNNzW62bsBIeAat5uSV81IMrDEHlXF275icqx9hPgmOwS0SsNvcCz
         sVqEUvs1sRseBOykInd7nTruYzLH52Asy+8lh2352XXPgdyr5vAqDt4SnzooYNyMM7Qq
         o4M9i5PjvYe1mi3sOeBmG8d2jTGG4f7k2O1PE5Qj0WGuurUxxzFhOaB4Yt1Zfyy+7zqc
         ZDEqOHjE0e9zh5XZ3zPFbLqqqz95MXgmt/OgbITARqZ0iBsVvje67XPbI0VK1cSTTtzn
         FAXgAJl4OCygy0ZT+rwDyDAEizpQ9wdvlayq02uiW60rkstwBoqd4vsNbQn6uuh7i2Yz
         gHZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782052249; x=1782657049;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=+KC0u/KRYobJp2JZVAxFOAwL39TOvhEZsL8jNRWiAuM=;
        b=dvwVAx6PIrZBZAYPldJitnVDoal6xIPipnmMPZKxvi5bFR3bLHZU46euWgxCcb8hUs
         zCEimrWKfAiPQ9bCwFNMZ7ET7FUAujMYgpBMoMWBgfkvpHiSKkMC+tVzKElcAafG8QLQ
         PEi43Jhc1qI7m8Qk9VxYEXFS3qDJQN24s/9L5csrLZTgZ42uSPczi9j/RkAZkoisK9vK
         f+FWYVDrzyXjWz864bJDTPGkAIgmDPhInt3Jj7UzsZu1phOm7svZU0ccfyP6ccF5Og8r
         5MgYKm+SDLPX0SopEUulQAG8MpSCbxOUUne8xs4KJGUKfvJMI+pt1WPud/oNB3qcPOyC
         8ikg==
X-Forwarded-Encrypted: i=1; AFNElJ8bdqf1fdor6S6yGXKqfzO11GYdGMycCvbgZLL7g3yznYt0jPy/sEKUwzdyjwf3fPMAqhgbpLBxPfo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz6jYL8fPJdndcxhqCgfvYx3eGtktVgsto2aG4A4AzqouS0+/aI
	QoQvfSW+XZuuDSDBhuVacblWtdwHWOFF3x7ESDqScajv4cDgXwLH9PEMK2wwh7wtAupUJitEJmN
	eR0IqwHLOvVMtR36wlftvARNw/fzzB/8=
X-Gm-Gg: AfdE7cnZRAhk8/KliKoYimgBZVko+oXlUTKlr6CgAWP24/CvYX4Cxc7LWymBCgT5osu
	L+DcF4ElqYcYaNT0HCIVLjThpWAVWHNgPTCOaH5aqTEZGKc1fhlFRIZFVe5alyew8om5+XEdDMP
	W6I6pPqBMVsVxxR9JosB7tM+v4+DSVbkaGGvs9ksatm+YcVnF3wOORaW0Sb4WUbnMrd+Cs00yih
	sxoCLDcnp3zknEBA3hiKL7u5pWAZs7QjMR1uYtigBnGFXUGNWB2fjTcfMxoDB2NwLkFGUiUjfkM
	O8hhag==
X-Received: by 2002:a05:6512:32d6:b0:5aa:8822:c946 with SMTP id
 2adb3069b0e04-5ad562e8744mr3553283e87.48.1782052248690; Sun, 21 Jun 2026
 07:30:48 -0700 (PDT)
MIME-Version: 1.0
References: <74e132a5f3dff64be5bd0c04eb82fe78d9c2fe84.1781892316.git.mykola_kvach@epam.com>
 <3c6fe373-8840-4943-abaf-7e7ed13870e2@xen.org>
In-Reply-To: <3c6fe373-8840-4943-abaf-7e7ed13870e2@xen.org>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Sun, 21 Jun 2026 17:30:37 +0300
X-Gm-Features: AVVi8CfplHhuULAUXydmPr49w9rJAl4VM9IGS0xkmsKg-VvtI6IFPF7v27G2tLA
Message-ID: <CAGeoDV9c8Mv9vQiqa0TCubZ2VTD=r5ewbZZxwZTbVHh=ubcsUw@mail.gmail.com>
Subject: Re: [PATCH for-4.22?] xen/arm: mask debug exceptions in initial
 AArch64 guest state
To: Julien Grall <julien@xen.org>
Cc: Mykola Kvach <mykola_kvach@epam.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>, 
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-4011c0/1782052249-2D3FFDB8-2D431AE1/0/0
X-purgate-type: clean
X-purgate-size: 1532

Hi Julien,

Thanks for the review.

On Sat, Jun 20, 2026 at 12:07=E2=80=AFAM Julien Grall <julien@xen.org> wrot=
e:
>
> Hi Mykola,
>
> On 19/06/2026 19:37, Mykola Kvach wrote:
> > PSR_GUEST64_INIT currently masks SError, IRQ and FIQ, but leaves debug
> > exceptions unmasked. Both the AArch64 Linux boot protocol and PSCI entr=
y
> > requirements expect PSTATE.DAIF to be masked.
> >
> > Add PSR_DBG_MASK to PSR_GUEST64_INIT. This fixes the initial AArch64 gu=
est
> > entry state as well as virtual PSCI CPU_ON and SYSTEM_SUSPEND resume en=
try.
> >
> > Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
>
> Reviewed-by: Julien Grall <julien@xen.org>
>
> Regarding Xen 4.22, I understand and agree this is technically against
> the specification. However, AFAIR, we don't expose debug registers to
> the guest. So there should be no impact.
>
> The slight risk with this patch is OS that may have started to rely on
> Xen behavior (hopefully not here, but I know we had a couple of cases
> with the timer for instance...).
>
> This has been present forever. So unless there is a real issue, I am
> tempted to suggest to wait until the release is out and backport after.
>
> I will leave Oleksii the final decision.

I agree with your assessment. I am fine with deferring this until after the
release unless Oleksii decides otherwise.

The patch is not fixing any known issue and was only intended to align the
guest entry state with the documented requirements.

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Sun Jun 21 15:50:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Jun 2026 15:50:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343366.1602790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbKQt-0004d4-BA; Sun, 21 Jun 2026 15:50:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343366.1602790; Sun, 21 Jun 2026 15:50:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbKQt-0004bs-5g; Sun, 21 Jun 2026 15:50:03 +0000
Received: by outflank-mailman (input) for mailman id 1343366;
 Sun, 21 Jun 2026 15:50:02 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <xakep.amatop@gmail.com>) id 1wbKQr-0004Ol-Vx
 for xen-devel@lists.xenproject.org; Sun, 21 Jun 2026 15:50:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbKQr-00BUVc-Cn
 for xen-devel@lists.xenproject.org; Sun, 21 Jun 2026 17:50:01 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a3807fb-e002-0a2a0a5209dd-0a2a450ad092-16
 for <xen-devel@lists.xenproject.org>; Sun, 21 Jun 2026 17:50:01 +0200
Received: from [209.85.167.43] (helo=mail-lf1-f43.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a380829-93a5-0a2a450a0019-d155a72badbc-3
 for <xen-devel@lists.xenproject.org>; Sun, 21 Jun 2026 17:50:01 +0200
Received: by mail-lf1-f43.google.com with SMTP id
 2adb3069b0e04-5aa68d65d24so3902294e87.1
 for <xen-devel@lists.xenproject.org>; Sun, 21 Jun 2026 08:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1782057001; cv=none;
        d=google.com; s=arc-20240605;
        b=NT1/75GAiw+z/CkNlzL7mUsNP/6X9aKLeJLBLB88T4E3ogvb/hbLva2d9OeUz3lOOh
         jI02fYfaqEJskUMo6SA0oEc9U6Bxd3t75NGzA14fOLqET0/3hWSPANaYx4S7cTvWZ6sk
         vQOsozgVevW7TTlYXhHIiJVHL04yKvY6eMexb1ta34ssUcMm/o3d5hwaFkBsduzLElwG
         iyU9YDeGZcNLir5JOtE4lDcK3CP2JnxPMwtKaBqLWcTZhKppkjX/8xtemtT3ccJpYtNE
         MO+I0kXgJEcBRbtDBodHEpWDkLfYnRZtH4gvufqIKkWyWrR94DHl1gz24c+QiKKyXLYT
         jEgg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=+Ihts8Nrd/pPs41bP7NbDD2r+lVeDMvNnWwboa87a24=;
        fh=+6+HpIV0Emk7Rv3ZPp6eyftBpuk0oVwMFn9aIOQ3wzE=;
        b=D9NCwEgRxTeCLzA4m60MRSoGhf8r3S1rZcBkYsvpUtRhV4BCfT4klL0t+3+fF8rKGM
         egloFNV2WVOWGyKhSaxHb68qxv7/prGaWZX+doQTAp0xGU1B6CRUSZDd6y0QYjz9GdGk
         8QwbLXSaT0LMMomYeBj1N+MiXw4U0LCOu2RASZyAFLALntqBTkW3ifIW+YxqhtwxRE9V
         Z80ba7yZGyxKun75YqecFdIBTJHphgw7jSt5CQJ7fUKC6Kv/t4FUbH2rzLUBn9zTMIbt
         DeKbf6noZzC8O06rDe/YrWHJhBmnmyCy4drciTjShounp3q4OKUBAaSX7CMk+A504ETF
         Xj8g==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782057001; x=1782661801; 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=+Ihts8Nrd/pPs41bP7NbDD2r+lVeDMvNnWwboa87a24=;
        b=VR4HGiHR0xPO9fymjM6d7awv7B/kdJcNTZUfebY/HkgrgJN5iQBxMsSZaEncNIY3AA
         DgjYWZB0/ecwL/GuugtdOJvZ1IXoEZY8sJkNTtsg1fuzlAC1miBPBKsNU4ZTFct35b/v
         BVCJWaWYdPrm1Ipko1JN1Ynr45Lw1auMtl3GcOquzb+Wmd8syuhvgd0HB/7phSw81leC
         t1yjn42ndJxG0/nhhPpt2qx32F5PyL1AF5Ix+4VgI8NlvoyA74Z/qXt77bqDV0bYBgh8
         QFQYwp/a8Qo65S4v0CYvC/6eDlvmdc8GX2DeIqSRke/iQGBnjRK4w3987I1/nPgopNdx
         pphQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782057001; x=1782661801;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=+Ihts8Nrd/pPs41bP7NbDD2r+lVeDMvNnWwboa87a24=;
        b=n0haZ/QF0wI50swTJHXaWb7U4qkumTcG0MjwvkGCJ9Yub/9lfMFRriHMndX0nGkB4C
         eOXIcyHhG6AVLSyIONL3HwG+5zICm8EZmWXXgnm8LgyM8W3vu76dMcWivi0nEqydFgwG
         BL8t1LaWs35ILkpuro6pOfZZ5gnH2aK0Zc0TVrLwBUmPYebXTlWCUrMLNpswisr/DSR9
         nK0TuScgxtAfDikAzzGA5eHyijfr/vAR/nNkzDlsCzOga/z5dxhJmoleQOD41lpWLG10
         r6h5869/+U7u8FOXNT0p/bRYnpVfbGKqwUWjDpjibaxIBkw5MoSs6fhdrFX78F0cXclI
         5OuQ==
X-Forwarded-Encrypted: i=1; AFNElJ97+SZKomgwMPRoF5t1II+tr8n4w107LRuSOucefQ6IuwzBPf3jOSyCfVVywqo18095AhTTeqbzKIg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy65zx7X/WEQs4AiL4xlygVOuJrSFNB0uo7kWibJDkvcHnvyYlT
	lFWjL2V2IxY3yJhFkqxgFnGqRt2JmU5B86dwUzsxxhoAYuC+fts+IQBDLPychOeueVNX/7ek2cV
	b1pD5nIzzDdWm9wDVN4QviVm1PDUjjSk=
X-Gm-Gg: AfdE7cm3yV4PB2Q1dY8mOl8nMxmE+uM2QDhYug8c973llBBEqI0ut4T37jcaf9IB/ZY
	TAFBLqZp+N1iWoTLeWEn5ScZxUl68i6fRBcDAGjve4HSTfMayywKwqydY2wRWyoItghWtVitsrr
	ryEGiQsafvVhi4g6PcjJC1zjqBQ3Bd9DSNdDVKUfoaQo21cJkJ1hBzUCVYs9rUgdwEP1TF79kvn
	35lHPAGXuHvR4xSnmVORMsd0aPWuPGhC9KuEsT1Yd6cFVZzA0xxAktM4rZVkcD7iWfRZ68=
X-Received: by 2002:a05:6512:145b:10b0:5aa:6eb4:feac with SMTP id
 2adb3069b0e04-5ad5be5c1a4mr1199061e87.28.1782057000363; Sun, 21 Jun 2026
 08:50:00 -0700 (PDT)
MIME-Version: 1.0
References: <112419d3ea48ca328849c8f6647909d3eb667b40.1779922874.git.mykola_kvach@epam.com>
 <341edd8de63dcd84ccc6e7b6c03e9e8fc7105184.1781847061.git.mykola_kvach@epam.com>
 <7a0a1867-8316-4e20-971e-fab99c9f4a32@amd.com> <e43afc29-cfbb-4978-9324-e8d540040bfa@amd.com>
 <1877ea55-0c8d-4593-a310-259b4c5aef3c@xen.org> <b47b9bf3-1aa6-41b6-8c7c-48d64cca1c36@amd.com>
 <5d3dff74-f51d-4bfc-b917-3c84f2094f34@xen.org> <CAGeoDV_LM9hQch5YEqYFA07t76eXKxZRT5tzxMqzWkej5Jwidw@mail.gmail.com>
 <f06a4fe0-24a4-46e2-a7de-ede4e654f767@xen.org>
In-Reply-To: <f06a4fe0-24a4-46e2-a7de-ede4e654f767@xen.org>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Sun, 21 Jun 2026 18:49:48 +0300
X-Gm-Features: AVVi8Cd1KZJ2BTUKbXujgI5kK4Qspnxt9BSR0Y8MEUOUPzF956EFuZRAjsWkjKg
Message-ID: <CAGeoDV_O0qBitauMC6saq6X6uijis2obpNVhJwKz+CSfkzPU3g@mail.gmail.com>
Subject: Re: [PATCH for-4.22 v2.5] xen/arm: gic: defer host LPI allocation
 until after ITS init
To: Julien Grall <julien@xen.org>
Cc: "Orzel, Michal" <michal.orzel@amd.com>, Mykola Kvach <mykola_kvach@epam.com>, 
	xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>, 
	Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
	Oleksii Kurochko <oleksii.kurochko@gmail.com>, Luca Fancellu <luca.fancellu@arm.com>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-4011c0/1782057001-B0FFDDB8-FB3490FD/0/0
X-purgate-type: clean
X-purgate-size: 6296

Hi Julien,

Thanks.

On Fri, Jun 19, 2026 at 8:23=E2=80=AFPM Julien Grall <julien@xen.org> wrote=
:
>
> Hi,
>
> On 19/06/2026 15:55, Mykola Kvach wrote:
> > Hi Julien, Oleksii,
> >
> > On Fri, Jun 19, 2026 at 2:52=E2=80=AFPM Julien Grall <julien@xen.org> w=
rote:
> >>
> >>
> >>
> >> On 19/06/2026 12:34, Orzel, Michal wrote:
> >>>
> >>>
> >>> On 19-Jun-26 13:23, Julien Grall wrote:
> >>>> Hi Michal,
> >>>>
> >>>> On 19/06/2026 10:48, Orzel, Michal wrote:
> >>>>> @Oleksii, can we ask for a release ack here?
> >>>>
> >>>> Can you explain the pros/cons of introducing this patch quite late?
> >>> The advantage is that it fixes the broken LPIs on affected hardware.
> >>
> >>   > The disadvantage is the reordering risk but I don't think there is
> >> any issue.
> >>
> >> See more below.
> >>>>
> >>>> One of the risk here is that we are now initializing the LPIs *after=
*
> >>>> the ITSes. I understand this is because we want to know the workarou=
nd.
> >>>> However, I vaguely recall that there was a dependency in the
> >>>> configuration. So are we confident the new ordering will not bring o=
ther
> >>>> issues? Ideally this should have been explained in the commit messag=
e.
> >>> gic-v3-its.c never references host LPI state, so ITS init has no depe=
ndency on LPIs.
> >>
> >> My concern is at the HW level. The ITS is using LPIs. But we will
> >> configure the ITS first and then the LPIs.
> >>
> >> What probaly saves us is the fact gicv3_lpi_init_host_lpis() only seem
> >> to allocate memory. This is a bit fragile though.
> >
> > Regarding the ordering concern, the only operation moved by this patch
> > is gicv3_lpi_init_host_lpis(). It does not program either the
> > Redistributor or the ITS. It initializes Xen-side host LPI bookkeeping,
> > registers the CPU notifier, and allocates the boot CPU pending table.
> >
> > gicv3_its_init() programs the ITS tables and command queue and enables
> > the ITS, but Xen does not enqueue any ITS command there. The first
> > MAPC/SYNC commands are issued by gicv3_its_setup_collection().
> >
> > The relevant hardware-visible sequence in gicv3_cpu_init() therefore
> > remains:
> >
> >      gicv3_lpi_init_rdist()       /* program PENDBASER/PROPBASER */
> >      gicv3_enable_lpis()          /* set EnableLPIs, followed by wmb() =
*/
> >      gicv3_its_setup_collection() /* issue MAPC/SYNC */
> >
> > So the ordering introduced by 95604873cc is preserved: no MAPC command
> > is submitted before GICR_PENDBASER/GICR_PROPBASER have been programmed
> > and the write setting GICR_CTLR.EnableLPIs has been made visible.
> >
> > This matches the relevant architectural requirement: while
> > GICR_CTLR.EnableLPIs is 0, ITS translation requests or commands
> > involving LPIs in that Redistributor are ignored. This patch changes
> > when the backing memory is allocated, not when the Redistributor is
> > programmed or when the first ITS command is submitted.
> >
> > The benefit of taking this for 4.22 is that it fixes broken LPIs on
> > systems where an ITS workaround changes the required memory attributes.
> > The ordering-specific fragility is that this reasoning relies on
> > gicv3_lpi_init_host_lpis() remaining allocation/bookkeeping-only. I
> > agree that this implicit dependency should be documented explicitly.
> >
> > I will respin the commit message to describe this ordering and explain
> > why the hardware-visible sequence is unchanged.
> >
> > Does this address your concern about taking the fix for 4.22?
>
> Thanks for the detailed explanation. As I wrote back to Oleksii, I think
> the code could be re-architecture post-4.22.

For post-4.22, I agree with the proposed restructuring. I will take it
into account when updating the follow-up quirk series, so that all ITS
workarounds are queried before host LPI initialization and ITS
activation.

>
> For 4.22, no need to send a new patch. You could propose a new commit
> message here and we update on merge.

For 4.22, I propose the following commit message:

xen/arm: gic: defer host LPI allocation until after ITS init

gicv3_lpi_init_host_lpis() initializes Xen-side host LPI bookkeeping,
registers the CPU notifier, and allocates the boot CPU pending table.
The pending table allocation uses gicv3_its_get_memflags().

ITS quirks are discovered by gicv3_its_init(), so allocating the boot
CPU pending table from gicv3_dist_init() can happen before the memory
restrictions required by the ITS are known. On affected systems this
can leave the pending table allocated using the default memory policy.

Move host LPI initialization after gicv3_its_init(), and only run it
when a host ITS was found. The old call ignored the return value. Now
that the call is made from gicv3_init(), check it and panic on failure
because Redistributor LPI initialization relies on that state being
available.

Although this reorders host LPI bookkeeping with respect to ITS
initialization, it does not change the hardware-visible LPI setup
sequence. gicv3_lpi_init_host_lpis() does not program the
Redistributor or submit any ITS commands. gicv3_cpu_init() still
programs GICR_PENDBASER/GICR_PROPBASER via
gicv3_lpi_init_rdist(), sets GICR_CTLR.EnableLPIs, and only then calls
gicv3_its_setup_collection(), which submits the first MAPC/SYNC
commands. Therefore, the ordering introduced by 95604873cc remains
unchanged.

This also narrows the condition for host LPI initialization from
"GICD advertises LPIs" to "a host ITS was discovered". This is
intentional: Xen currently has no supported LPI path without a host
ITS, and gicv3_lpi_init_rdist() already rejects that case with
-ENODEV. Therefore, on systems where GICD_TYPE_LPIS is set but no host
ITS is present, skipping gicv3_lpi_init_host_lpis() only avoids
allocating host LPI state that cannot be used by a supported Xen LPI
path.

Fixes: dcb6cb263689 ("ARM: GICv3 ITS: introduce host LPI array")
Fixes: 751ec850ec1d ("ARM: ITS: implement quirks and add support for
Renesas Gen4 ITS")
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

Cheers,
Mykola


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 07:10:55 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 07:10:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343490.1602798 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbYnl-00037v-Ru; Mon, 22 Jun 2026 07:10:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343490.1602798; Mon, 22 Jun 2026 07: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 1wbYnl-00037o-PD; Mon, 22 Jun 2026 07:10:37 +0000
Received: by outflank-mailman (input) for mailman id 1343490;
 Mon, 22 Jun 2026 07:10:36 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Michal.Orzel@amd.com>) id 1wbYnj-00037i-Tg
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 07:10:36 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbYnh-00CbJN-00
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 09:10:33 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a38dfe2-5cb7-0a2a0a5109dd-0a2a4508edb2-4
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 09:10:32 +0200
Received: from [52.101.53.51]
 (helo=BL0PR03CU003.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a38dfe6-9ee7-0a2a45080019-346535339a1e-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 09:10:31 +0200
Received: from CY8P222CA0007.NAMP222.PROD.OUTLOOK.COM (2603:10b6:930:6b::22)
 by DS0PR12MB7747.namprd12.prod.outlook.com (2603:10b6:8:138::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.18; Mon, 22 Jun
 2026 07:10:26 +0000
Received: from CH3PEPF0000000C.namprd04.prod.outlook.com
 (2603:10b6:930:6b:cafe::7f) by CY8P222CA0007.outlook.office365.com
 (2603:10b6:930:6b::22) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.14 via Frontend Transport; Mon,
 22 Jun 2026 07:10:26 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 CH3PEPF0000000C.mail.protection.outlook.com (10.167.244.39) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.139.8 via Frontend Transport; Mon, 22 Jun 2026 07:10:25 +0000
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 22 Jun
 2026 02:10:25 -0500
Received: from [10.252.145.116] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Mon, 22 Jun 2026 02:10:24 -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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DQ6IKH6CR9r4UmVNN70E0Sz1bg/aBtDhbEC7tJEygOSy6ZbNnor8KCIk9eii7q6M//mzHy0ApM5JWjZveKwjs7wKCnVbXxzBSCbKILrgtOKg7HCaazCRo9wl97ksy5kmXf0zD54v3VGxU9FfI+rGzyEyudpY5bw0uI9fwrDWlobyeFqPZaHn3vb4joJ8ExOkcaIPrSp22C0jlnHJTuaV46Vcxx1OSSFn/w1QDKOV4jUBpHXKhA5okARy6W+HS5QUZyshGEwVwXdS6M8Zl2FPf9zPna0w1t+Aws66cDEDDDdzHJDiGaC6/+a2NMFyHddrPw+YzI4zZJqDIiP1lO/+NA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+fArgSlxOuXpuVI2pl8L3ubFJaU7ii1NeLYbwqJBLpg=;
 b=nqgYxuzDZcc+6RYulyFSkDNpXAenYQKEPkHNC4aTti0yLA3OZakLGwC2/5qIDFikHY2FM2/UVJt7GjjOj0KVfiv4CCchoJ7sf5IuLAWiJtLQOYyqqbgXmlrBslGNmxWWDutzMTFYc855zNkQ9QySsHJCjVCqAU4u0yOJ7Bn/c/0oJdY4DjvKBgphtFLhXxzxr6dmzvIllXVuYBx8m2NavvTMYFiQNf67cQkywVnZjGovqdYDz1AJPqPdfEwIiLoQYkkchY+DGRjcJuVByGvHMeHFmR2hZFE7uY3Io85OXY0NbNr/+ogBVoN7alfTyX5Ic2ScWErQdwohRjjZSh54uw==
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=+fArgSlxOuXpuVI2pl8L3ubFJaU7ii1NeLYbwqJBLpg=;
 b=Ukc99H7eOYJ1PMab+K24z1mytntZjPkzhV6BNOlmaPlXq6P5zPQTC9aJxuujTxI8eO+Z3qxzpyz2UyFZMRCsovpaI0v20i48244sX7vfYMCfQ0PO2lqe3FoABAjZPBHK4G74gKTPNIKEJBTPb5LMNN+05N6sTq6yaEZxs4USzg0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <50068b88-c7f7-4a66-a5a3-afbb2d2b6fb0@amd.com>
Date: Mon, 22 Jun 2026 09:10:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] bootfdt: Fix infinite loop in device_tree_for_each_node()
To: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Oleksii
 Kurochko <oleksii.kurochko@gmail.com>
References: <8836494cb51f6e1f4b094fc690876d344adb47f3.1781955521.git.dmytro_prokopchuk1@epam.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <8836494cb51f6e1f4b094fc690876d344adb47f3.1781955521.git.dmytro_prokopchuk1@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH3PEPF0000000C:EE_|DS0PR12MB7747:EE_
X-MS-Office365-Filtering-Correlation-Id: b63acfad-c0a1-4320-a380-08ded02d558b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|376014|82310400026|36860700016|1800799024|13003099007|6133799003|11063799006|56012099006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	PATG8KcfTndhA3ME8NW0YIr2ChLSwRPcSQZ6fLMLWishb/UIPmr+qxH6+vswxWI/xeottihj/HxDsu2zNgIBvlaLdFla77XtMQjp+ept6LuWWqOcjsMiOk1xGguHgGCQ+WGtnz3jU36lJXumJH2e3SXhZ6Vto3gPoa+/+d60Awu75TxM4x9mh7LdwmhlpsEMYNMRY6Tg/HEGbDR66PhI4si7kaWnxL3DUhrqM2on6Xq+l+kx/Cqq8X662EkGzCjkURGUuYFDgrGAAqNUcAl38PuZt/0mhdJxUFC39kQCpHKSJMEiPmWXIxKGMUTSpnXQG7kvDftPBMeWy+XBtL29SW8YD7/M4V3crYegwodnIyaDguAFU44S1evcxdyfNWP+k9rqLBgKcKJ3VNbvjjC1zQ/ldR2xycc3ceaIOYrA1vUNPMRhBCGHcCjygwZDioI9IogRyh98fnZ8SoVomQb8e0/SxNK4dJHSaAZzg2USH/Lab3U9vqBUsgAAC4hOs3qCIK9GC8MEG8vPMVfnbKY00cUbgR6JN4uvKLQJxOIcfXUVqoXae5U1/iJ6qAZ1sOgxYbFvr9otFFwTSNmiESEL5rwYTxUwqkb7ltp0kDJ2YKUN263cyMBhauHtYsT1vTGZXNMZCN3U9oAB+gHbnD17RFw6ODVm+9WglBmnVjEfel9NYoBY8v3eG3+u77mD06v+TLCGqkNYIboZ6NZajsyRAg==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(23010399003)(376014)(82310400026)(36860700016)(1800799024)(13003099007)(6133799003)(11063799006)(56012099006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	WDMqbyV0WFOhLWQiZD76b3aR39+Vqg6Ps1r4PVmJOrlUItX5dfalFzErO8HLd6ZxgPMfyifSGXSB3VvwvsMQNPES9LChZB9UUhR+8tlAqtcBCVmHALSHjK6VfxdG1wv1DH0uHADwys1QOzGJih8ROQMJAw0EkO5qxrf2vV3c4ehvj1uBMvZqiGKTKe1irLYvVHeCXZRZeUgtoMAqepvrk5jE5kk29sy750XjI86h4Pr7PgnzhrwuOkQmL47iNSuUZzYRJ7qBiBUQy8qvaQM1V1JltArZ+7mX/b4Q42szwwEA4+PTvjrOCr6wPwjQqY0wHDVQ7TeJ/asDS14UoeyrBdqWCy4hQhdlO28zsAhFks79Tn8Ldd4pmqK2+qJYfuPFVLF9YadionMlxQamhnocwoKniQzeXrvEjKc6jh2Tf8t/HXyjA3FYwJsS1MlRS7lH
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2026 07:10:25.9943
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b63acfad-c0a1-4320-a380-08ded02d558b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH3PEPF0000000C.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7747
X-purgate-ID: tlsNG-c1860d/1782112232-5EFED0FA-AE24DC18/0/0
X-purgate-type: clean
X-purgate-size: 5593



On 20-Jun-26 13:49, Dmytro Prokopchuk1 wrote:
> When a node's depth exceeds DEVICE_TREE_MAX_DEPTH inside the
> device_tree_for_each_node() loop, the code prints a warning and
> executes 'continue;' statement, which jumps to condition check,
> bypassing the iterator update step:
> 
>     node = fdt_next_node(fdt, node, &depth).
> 
> The node and depth are not updated, the loop repeatedly evaluates
> the same too-deep node, causing a hang.
> 
> Fix this by wrapping the node processing logic in an 'else' block.
> This ensures the loop update step is executed on every iteration,
> safely skipping deeply nested nodes and doing the traversal.
> 
> Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
Please add a fixes tag:
Fixes: 40f2ea3df2e2 ("xen/arm: pass node to device_tree_for_each_node")

> ---
> 
> Test CI pipeline: https://gitlab.com/xen-project/people/dimaprkp4k/xen/-/pipelines/2615174670
> 
> Local tests.
> Tests were based on "qemu-xtf.sh".
> In the "/chosen" node were added these "levelN" nesting nodes:
> 
> 	chosen {
> 		stdout-path = "/pl011@9000000";
> 		kaslr-seed = <0x6ae81a67 0x26e92d62>;
>         level1 {
>             level2 {
>         ...
>                         level19 {
>                             level20 {
>                                 compatible = "test";
>                                 value = <1234>;
>                             };
>                         };
>         ...
>             };
>         };
> 	};
> 
> Without a patch Xen stuck printing the same message in a loop:
> 
> (XEN) Checking for initrd in /chosen
> (XEN) Checking for "xen,static-mem" in domain node
> (XEN) Warning: device tree node `level15' is nested too deep
> (XEN) Warning: device tree node `level15' is nested too deep
> (XEN) Warning: device tree node `level15' is nested too deep
> (XEN) Warning: device tree node `level15' is nested too deep
> (XEN) Warning: device tree node `level15' is nested too deep
> ...
> 
> With a patch these too-deep nodes were successfully skipped and Xen
> continued to boot:
> 
> (XEN) Checking for initrd in /chosen
> (XEN) Checking for "xen,static-mem" in domain node
> (XEN) Warning: device tree node `level15' is nested too deep
> (XEN) Warning: device tree node `level16' is nested too deep
> (XEN) Warning: device tree node `level17' is nested too deep
> (XEN) Warning: device tree node `level18' is nested too deep
> (XEN) Warning: device tree node `level19' is nested too deep
> (XEN) Warning: device tree node `level20' is nested too deep
> (XEN) RAM: 0000000040000000 - 00000000bfffffff
> (XEN) 
> (XEN) MODULE[0]: 0000000043200000 - 000000004337afff Xen         
> (XEN) MODULE[1]: 0000000043400000 - 0000000043402fff Device Tree 
> (XEN) MODULE[2]: 0000000043000000 - 00000000430ef7f6 Ramdisk     
> (XEN) MODULE[3]: 0000000040600000 - 0000000042f4ffff Kernel      
> (XEN) MODULE[4]: 0000000040400000 - 0000000040412fff Kernel      
> (XEN) 
> (XEN) CMDLINE[0000000040600000]:domU0 console=ttyAMA0
> ...
> 
> ---
>  xen/common/device-tree/bootfdt.c | 31 ++++++++++++++++---------------
>  1 file changed, 16 insertions(+), 15 deletions(-)
> 
> diff --git a/xen/common/device-tree/bootfdt.c b/xen/common/device-tree/bootfdt.c
> index 7c790b9a4d..4d10013b2d 100644
> --- a/xen/common/device-tree/bootfdt.c
> +++ b/xen/common/device-tree/bootfdt.c
> @@ -90,23 +90,24 @@ int __init device_tree_for_each_node(const void *fdt, int node,
>          {
>              printk("Warning: device tree node `%s' is nested too deep\n",
>                     name);
> -            continue;
>          }
> -
> -        as = depth > 0 ? address_cells[depth-1] : DT_ROOT_NODE_ADDR_CELLS_DEFAULT;
> -        ss = depth > 0 ? size_cells[depth-1] : DT_ROOT_NODE_SIZE_CELLS_DEFAULT;
> -
> -        address_cells[depth] = device_tree_get_u32(fdt, node,
> -                                                   "#address-cells", as);
> -        size_cells[depth] = device_tree_get_u32(fdt, node,
> -                                                "#size-cells", ss);
> -
> -        /* skip the first node */
> -        if ( node != first_node )
> +        else
>          {
> -            ret = func(fdt, node, name, depth, as, ss, data);
> -            if ( ret != 0 )
> -                return ret;
> +            as = depth > 0 ? address_cells[depth-1] : DT_ROOT_NODE_ADDR_CELLS_DEFAULT;
> +            ss = depth > 0 ? size_cells[depth-1] : DT_ROOT_NODE_SIZE_CELLS_DEFAULT;
The added indentation level pushes these two lines over 80 columns (the
ss= line was within 80 before this patch). Please wrap them while you
are touching them. With that:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>


You don't carry [for-4.22] prefix, but I think it is simple enough to take it
in, so we can ask Oleksii for his opinion to take it for 4.22. @Oleksii?

~Michal

> +
> +            address_cells[depth] = device_tree_get_u32(fdt, node,
> +                                                       "#address-cells", as);
> +            size_cells[depth] = device_tree_get_u32(fdt, node,
> +                                                    "#size-cells", ss);
> +
> +            /* skip the first node */
> +            if ( node != first_node )
> +            {
> +                ret = func(fdt, node, name, depth, as, ss, data);
> +                if ( ret != 0 )
> +                    return ret;
> +            }
>          }
>  
>          node = fdt_next_node(fdt, node, &depth);



From xen-devel-bounces@lists.xenproject.org Mon Jun 22 08:14:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 08:14:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343517.1602808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbZmq-00037D-Pw; Mon, 22 Jun 2026 08:13:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343517.1602808; Mon, 22 Jun 2026 08: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 1wbZmq-000376-Ml; Mon, 22 Jun 2026 08:13:44 +0000
Received: by outflank-mailman (input) for mailman id 1343517;
 Mon, 22 Jun 2026 08:13:43 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wbZmp-00036k-2z
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 08:13:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbZml-003iq0-Cz
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 10:13:39 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a38eeb1-bab6-0a2a0a5309dd-0a2a4505d8b6-8
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 10:13:39 +0200
Received: from [209.85.128.41] (helo=mail-wm1-f41.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a38eeb2-ef3d-0a2a45050019-d1558029b1a1-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 10:13:39 +0200
Received: by mail-wm1-f41.google.com with SMTP id
 5b1f17b1804b1-490b613a17bso32825655e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 01:13: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
 5b1f17b1804b1-4924944fb71sm181974925e9.14.2026.06.22.01.13.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 01:13:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782116018; x=1782720818; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=rGi8z4dybdBr1jeN0JjenqNyqjpyII8CZ9iLAzxq5qM=;
        b=DFBowl149gGTfqukohxNBqkl/gC4w0yMdj1rhrGea5t+qqKMX6BnfH40N8Ky0wSB6U
         QQ6op0I7KdpAeRewjwe8BIZUvO4AQhW/9uqkUDvuwN4Wa183YG/ixpaNyPEmxshniwFE
         1ilhRcQvsXVVHx92g1xO3uaCyiv335jjObY7NNcaOXt/Bw6NXrmLAiZ6Dd3O1JO/+Mzl
         KeO1OrtJRHWnRbIhdLCqjXfGFJP7LM0hTTrjKPnkZTpsbnS3ZZvWcCKAE6x7HjbpWixB
         ObwKK2nMXzfzWGM646SZJhoASs7gF9HLrgVPCPFGSfNiyLfNIyjc+gIx34FERcoUYRg2
         i2xg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782116018; x=1782720818;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rGi8z4dybdBr1jeN0JjenqNyqjpyII8CZ9iLAzxq5qM=;
        b=AFblbcUzS5YTpU4UJAZ1kPJJA7jupposuDL7FkRAMBjmdE3HRSCHec9YZNdQz8O4VZ
         DketfiRsQsOH6sA7j8smMAUKKoJRkfAld+UnSQRq79M79kSd+PHoHsaovbXlA1pNORvB
         5IqGx7Ut2VSa0h4OJszUUnsdZdn7heINshR6OeMjXd7FYlezVc3gsCo1QmztRghXNUJM
         hsYrLfgnB9qztly9skXzXZKV4cxxqc8kU2gypZfCZOPKOtoAhOBvAZJje+zlAUgH56ab
         H9mT7EGb9XkYMhLX6krn9B0lhLzYf5cZKqvc6y8fNFL+AvF/E61mFxGIU0X2Q4M13hAV
         5ePw==
X-Forwarded-Encrypted: i=1; AFNElJ+ida0K1RnAU8rBcRTaUU65vVQpwzHJLW/yiz1cREX6toCTWy6Htki09NeXAHPXf3Zj7vmPghBgA7M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzIphnZnlhZ9c/1IuVjs2tly0W+4avmKdQFMwHhChk6oTQAWWNp
	Cx7+NUCteazRNPBfUQqAvKRlG17BSWywOfIofXmR4mEajNMe8FYBf+k2UjEAgXdk/A==
X-Gm-Gg: AfdE7cmYvtJ3gS1b2anh+etoT52yS9VWN/3X4n8Tp6cFtrj4DOUK2QiDHyarhKYIO0g
	wWpHctyNANv/WqCTrXxlBaPfW3kTLtdMfJSD90Z4UZsr9EOcxjZVc4i+gv0S+UumstYy80vJ6sH
	bl23umWih/kckYeo5c6ZOh6xu+kI/OVSWBeoSqO2vtKeKB3/lYAJBwtxh/vqayuJK7BjUslu8QE
	stcNd63fJvIsoayRFaW3wrSWMZ5LSJX1uv+++oFgQYfc/rrZi2uDPURRC+SPzWpHIRKTrDprzof
	Qw7KPvhJsXwFnl670GMPf08oupwIEqfBpsyjayXn7ha4NJzb2LVgBgYNt0hLJeNNrx0aw9hXqGL
	WCxM0w4DZSn5Zy3CP6Rq28lM1wmfrtxl0mewX7rYr1qGdsmwv0D1I69q56j7tgfkOWnS9erYnwv
	nY1kXxQowlnNsNNOi6hnqCKpCK80aPQwuZuWh9glZF7tk8WAVdVmJCycxmcY1q/BL3dVHjzF8eY
	PE5
X-Received: by 2002:a05:600c:609a:b0:492:3fbc:556f with SMTP id 5b1f17b1804b1-49249083b99mr140214865e9.2.1782116018391;
        Mon, 22 Jun 2026 01:13:38 -0700 (PDT)
Message-ID: <42f16737-1aad-4e01-9966-671453cf1b52@suse.com>
Date: Mon, 22 Jun 2026 10:13:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 07/22] xen/device-tree: Read NUMA node distance from
 Device Tree 'distance-map'
To: Hirokazu Takahashi <taka@valinux.co.jp>
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" <xen-devel@lists.xenproject.org>
References: <20260619075011.377116-1-taka@valinux.co.jp>
 <20260619075011.377116-8-taka@valinux.co.jp>
 <926d2a7a-e278-4c3a-b168-aad003da6652@suse.com>
 <OS9P286MB7222340F4909B9873B89D45082E12@OS9P286MB7222.JPNP286.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: <OS9P286MB7222340F4909B9873B89D45082E12@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1782116019-9CBCC127-D8F0E761/0/0
X-purgate-type: clean
X-purgate-size: 1720

On 21.06.2026 01:36, Hirokazu Takahashi wrote:
>>> +    entry_count = len / sizeof(__be32);
>>
>> Nit: Better sizeof(<expression>).
> 
> Is the following line better?
> entry_count = len / sizeof(*matrix);

Yes.

>>>  /*
>>>   * Get the distance between node 'from' and node 'to'.
>>>   */
>>>  uint8_t numa_node_distance(unsigned int from, unsigned int to)
>>>  {
>>> -    if ( from != to )
>>> -        return REMOTE_DISTANCE;
>>> -    return LOCAL_DISTANCE;
>>
>> Why did you introduce the function as a fallback when now you remove the
>> fallback logic entirely? Can't you introduce the function right here,
>> omitting the earlier patch?
> 
> I will remove the earlier patch.
> 
>>> +    const unsigned int nr_nodes = last_node(node_online_map) + 1U;
>>> +
>>> +    if ( from >= nr_nodes || to >= nr_nodes )
>>> +        return from == to ? LOCAL_DISTANCE : REMOTE_DISTANCE;
>>
>> What if either node is NUMA_NO_NODE?
> 
> This behavior comes from the Linux kernel. It seems it exists as a defensive
> fallback to keep the system running even with invalid or unassigned nodes.
> 
> Do you think it is better to make it return 0xFF instead whenever any
> out-of-bounds node or NUMA_NO_NODE is passed?

Whether it's 0xff or REMOTE_DISTANCE I'm not quite sure. But it certainly
shouldn't be LOCAL_DISTANCE.

>>> +    for ( i = 0U; i < nr_nodes; i++ )
>>> +        for ( j = 0U; j < nr_nodes; j++ )
>>
>> Why the U suffixes?
> 
> I added the U suffixes because variables i and j are unsigned types. 
> If a plain 0 is preferred here, I will remove them.

They, even if only slightly, hamper readability. We tend to add them only
when there actually is a need.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 08:49:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 08:49:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343531.1602817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbaLN-0007gU-Ba; Mon, 22 Jun 2026 08:49:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343531.1602817; Mon, 22 Jun 2026 08:49:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbaLN-0007gN-8B; Mon, 22 Jun 2026 08:49:25 +0000
Received: by outflank-mailman (input) for mailman id 1343531;
 Mon, 22 Jun 2026 08:49:24 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wbaLL-0007gF-FD
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 08:49:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbaLK-00CvKc-6i
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 10:49:22 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a38f70d-bab6-0a2a0a5309dd-0a2a45059114-6
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 10:49:21 +0200
Received: from [52.101.228.110]
 (helo=OS0P286CU011.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a38f70f-ef3d-0a2a45050019-3465e46e5893-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 10:49:21 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYTP286MB3593.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:39f::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.19; Mon, 22 Jun
 2026 08:49:15 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0139.011; Mon, 22 Jun 2026
 08:49: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=vCkKFkFISr3ue+0dlsUYtChiTw3OjhfdmQW9WVW+aewZSQyUiAgTTKNSyFVYn1jxk9LsK4qyPhkJBCSxRIxd2U3yqlVJguZeQoljmV2trj1LK0gGCD/hWNRWvw1lJZmRy49uqXuWdtR2x9GgYHFMYek+OI5VUGzgVauf2Z3VA2vT5UZJ+/WhrybvKEMVZ9eDYptHSqF5LX9oNill0Huztmt1g6fS0qYUiNfvHhqxkQSGyiGDsxInEpuScpmhta+fF/HhHUIWswQUlgZmL1TlvXeurtBoqKk8EjjwEcuphoRovojRp2iD1fiKeL/QWKzOi3KuKUlB6QVE+deUSVs1Ig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fXE1xC2RoOlm/GNSVVn1OMIsj1mPTKUyiFQyYUwVAyY=;
 b=wZR4xpy1nCJer3F1ibjYt/tWS3Eg02I414FvwOsvXrBSvYLPLsoLi1YTmq0mU2i579WCZBp9bXrzj2Bx4+ukA4WU/Mly0724pa4K+PQXcfBM02CbKvxJ5r8B0rjqBgoMJVPNmjD5SADBFnP7X2ewUznrIdAttJrBNAxEu+pDIZN9MAI09AHVfFr95PmRd0sk2kBJQHUHfJ7dCAMILM+fPQ74BEkPYLF8yXKFxOh03BeQMZu6iRd5ljJNml/W3us14OLlFTzuvWjKv7vVJN18Z+mXjJTho72rK66XvAihxFZzKxMAOqoX1Y0XcTXwgg3Zv0gQFUKypu8H3hmruBZaAg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fXE1xC2RoOlm/GNSVVn1OMIsj1mPTKUyiFQyYUwVAyY=;
 b=f8WGpWQqdv/Dj29HFZQXJQldagIEe3k5XC5YslqTWc+wS53Pk+15CgV4wZLDgSNN2oGEGdl+ldoNW6n9PiuvUv5mPsg/wQhmMHaGU6jnBnR9wf75SCuR8zU2cENcmCE8JW4YL5Sfu2ayd4DRADsIEOj6WW8OWgG4vtiH4DwPu3A=
From: Hirokazu Takahashi <taka@valinux.co.jp>
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?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3 07/22] xen/device-tree: Read NUMA node distance from
 Device Tree 'distance-map'
Thread-Topic: [PATCH v3 07/22] xen/device-tree: Read NUMA node distance from
 Device Tree 'distance-map'
Thread-Index: AQHc/8BKTM3OweAnP0qpxuJk/PcKwrZFkCwAgAIwFqCAAn5KgIAACM8Q
Date: Mon, 22 Jun 2026 08:49:15 +0000
Message-ID:
 <OS9P286MB7222754F42C2E61187C4CE7182EF2@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
References: <20260619075011.377116-1-taka@valinux.co.jp>
 <20260619075011.377116-8-taka@valinux.co.jp>
 <926d2a7a-e278-4c3a-b168-aad003da6652@suse.com>
 <OS9P286MB7222340F4909B9873B89D45082E12@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
 <42f16737-1aad-4e01-9966-671453cf1b52@suse.com>
In-Reply-To: <42f16737-1aad-4e01-9966-671453cf1b52@suse.com>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: OS9P286MB7222:EE_|TYTP286MB3593:EE_
x-ms-office365-filtering-correlation-id: 29be81ff-84d9-4758-5be7-08ded03b239e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|376014|7416014|23010399003|1800799024|22082099003|18002099003|38070700021|56012099006|4143699003;
x-microsoft-antispam-message-info:
 JMtcV8o/TH58T7VgeWz+g1plPGRzcubTcPjbcST0i4u3VUrBO9nx77dJJRiRIr2bP7ZpyXklJ3bdPdR4adO0FB1nelZ5K4uM3Lsurn5fprS+9l4YyyVAbV0cF0KR93F1z8jrwTc6XT9pnYZIzsY+Ruhicvopjd/W73dASErId3C5srPemm8kEPfkq4MetMDFgAaESSkirdKJOlsUX/p3fpqhe56xUNPn4CK9q8VC4DZkP6kNWlq80QGXzNXCxKmvUy5cI4W/bGS58R4BZPmliobMotzX9kFMbvHr6DkAszgNN64ZuPX7rTNQrwxIhwdrenOTw7EkRU3XxInxCzSLNrz7R9Ra2b/fn8qRPhvNOKOOfZzJgHkkl889onqgm37XhlWN39FXKmwmxcqOU7FWbL4WWcD1P480Pl59hOLWirKikh9HbBb67JCerIelRhMH3yuAqxmhGMJ40XRYsFgOBsjTbFXID/O9V/z+G3KCPKzqM+vhzMlVzWZDU6p5e1YQuZOM4oAc5GrtRPHzwNJ12jywz6x8kEfDT058k5Nu7RIRHB93tlyDPhFXkWyZv73s8XTIejho9lpGveBC1Xqibs3O1u3OgNrVywp8gT+vfvGH2wrWLusjP0YCPGD4v2hKizLawkgBGnpuz0tINoBa7lVRnFcTJpoEx4xjFRveyb8OMytCTmZsxRRHKi2oSHvUEkVbbK6Nvk3q+yYtcF6+dg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(23010399003)(1800799024)(22082099003)(18002099003)(38070700021)(56012099006)(4143699003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ekhJR0U3dUp6Nm9RbWlpc3QzTEFaR0IxWVlUMEVldHNnYXZ6SERSR1JKbHI1?=
 =?utf-8?B?U1JIMTJ1elpNVmdIWmtCZmVVT0x1R0hOT2lwZDNnYnBET01vTlNuZU9YSTJr?=
 =?utf-8?B?OGNxVnhoNUdOSXR4YlRyMjRXM0NRTVhZNE9RQXVHZDZ5UUhFOW9NLzRabGNC?=
 =?utf-8?B?TEptQkFUNjc1U3FDOE1nbE9qc1JJb09Ccm5QWmViL0dUbDN1SkQ2SUxHMzds?=
 =?utf-8?B?NVVWMnExL3VURnpJYkdxZ1R4ZXpsUk1waTJJcDRHYUpmSVFzTHVXNUVxbExO?=
 =?utf-8?B?R2xTb01LazVLWU1BODExK0hWQjYzSHR0TmZQbFlLR3dvWUxvczJLTk16UEY2?=
 =?utf-8?B?Y2FIQ01RZEZKeU1XWmhpYzhxRHJnVmsrN0tiMlgwbG1OMUxqcjQ3OFJYRngy?=
 =?utf-8?B?czFiMFBPRys2dHRFQU41Y1lHM2o1VEFFaG9tMkdjZCt0K1VMN2hsRm1zdmlo?=
 =?utf-8?B?bWRJZ3lUamlDQ1c4MmtyemVveUthZ21ZUStndm1HUjF6eUFBNzZzYWVZWCth?=
 =?utf-8?B?V3V0Tkx3MVR6V2FlOVN3QldsdXJkN3ZVTFlIRGhHbVdkb01PT0RpMDNxOTEz?=
 =?utf-8?B?eXl2bU1YY3FTMFc3NkRjUEw5SEZBTTgzN3RtcTZiaDJpTGMrYW0zQ0pXZUxn?=
 =?utf-8?B?dnQ3c21TbjNTNXd5OW1rWmUyekpCWTErdE9kWnJxbFlpNW0yWll3WnRxUjE1?=
 =?utf-8?B?bXpWUkF3MGMva2lQa2VVTDREUmhFNUdHRVpldFEzSHNDVWN3b0dUL1QwNzhZ?=
 =?utf-8?B?V1hqbzFWTlUxYXNqS0JzU3lnV3hBQTc5WWY5azloZEdwUUlEVC9ldUNzemo3?=
 =?utf-8?B?dzhYNmFidUN4TjR4bmdZRktCNlI5SDdLWUJCWlIxZm9rcXZ6bkhMNTVEU3ls?=
 =?utf-8?B?NHZJQngxV00wK1Y3RkNOditia2lGcngxaGtjVnNiVUMya2pSYVNqclhtSUpm?=
 =?utf-8?B?Tlk4azRDZDJ4TTg2ZGRIWURGTmFWNUhkNld2MWV2UU1EdEs3MWV0T1ZZc3E4?=
 =?utf-8?B?a3JtRmdJSEFES3p3djdzdE5sVDJ4M2dGN1hQaWZuMVR4K2gvMnY1TzhPQ0Jn?=
 =?utf-8?B?dzhPYmxINEEwdXQwQjF5KytadU8vZnNFWGdSNElJYkFMZjZmdDg2YnlMdmsx?=
 =?utf-8?B?Z1NQVks5Qm03aU1RaThmZEYxNU1kaFBteGd4K05pZlFNTXJUUlRqbUkwL09C?=
 =?utf-8?B?a1FBYVhMWnlCWlhmWHJOZWFNcE95SjhDT2s2UGhBZDFoSVpsV2IxMEpXcGw1?=
 =?utf-8?B?RnRKeUFVMXJLWlNJUVJLOEROenREWG50cEhEeHJlenNDS2RXQUpHQW5Ua0dM?=
 =?utf-8?B?YW9pSXpmcVNRcW4ydThheWtKbzdoT0ZCYnVFLzQrRGN3SFpwcXhsRCtRejEz?=
 =?utf-8?B?ZEFPQk8zM0Q3S1NhR3hBTDZvSW1TOC8xNDRkSGo3RkVWaUVtSDJMMkduY2ZD?=
 =?utf-8?B?blJUSUNXemlCd1AzODFGcERWODE1WmdvdityQmZZQStBRVFwTHFiNDlBWkVS?=
 =?utf-8?B?cDNlNVd1RVZBWFBqLzB6R0YvZjRDd1FGcmtzMUs1M2wyK2lMelZkRjlNVWhF?=
 =?utf-8?B?SEY4dEtCejlUbUZXSDlvTW4rREJSTXNQTzdyMGFFOFMwQTlpVjR1ZE9XOXBo?=
 =?utf-8?B?b0FsaERhM2tSMngxNUpKRDZzaG1wbnFsMWlwNzlYZk8wL21OUW9RRlN1cXBl?=
 =?utf-8?B?M1l5R2diSEx2QXkxck40ZnhjM0lvUzVmcFdZNzByeEhmNkhaYW50aHJITzN2?=
 =?utf-8?B?Y01hVSt0SXlBL1VsMWJuSTZCK1BQa285MnMrOGFwYVlmYmxOOTBKR2g5c2NE?=
 =?utf-8?B?Ymw3NTV5M21YOUd4SVhuRE91MVJLTEJSUHpDWWhqSmxybEd3U1Z3UmhLT0Nq?=
 =?utf-8?B?TjhiNzRUM0F4RlJCVVZpMiszMDVHNEJmREJna1NaclI3TEYrZnVFNms5WEVl?=
 =?utf-8?B?QmliWkZIeWxxN1g4Y1ZTdG5aTktycXZuN25jV1Zjdy9KN2FQb3Uyc3g2ZHRn?=
 =?utf-8?B?bFZCTVRXRDRBa1IxS3QrY2tzelE5bFl3Wnh3L3pjWmVrdlFST3Q1eWRqb2tF?=
 =?utf-8?B?VkdpcU41aGFTbTNrWnVNWmVuZDZ6djl2ZkhuNTl4SGw3b2ppNTRBRm5PR1dt?=
 =?utf-8?B?TUozT1VhcDd1TG4zSGJJemlheHVVMDhDSzNvQWd2RllJam5LQi92RWk2YVJH?=
 =?utf-8?B?SmltNE03S1NzZitwUXdSMG40VHJvblc4bTBQZE5jakpmWnNsN2RKTmVjblAz?=
 =?utf-8?B?VGYvZER6d3RYbjN5ZGZEQ1pqWWh3MVhZRkQ1dU5Vc3ZUNERzZWxmMnNJbDV6?=
 =?utf-8?Q?uQDNsWlsdFDKNhOdUK?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 29be81ff-84d9-4758-5be7-08ded03b239e
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jun 2026 08:49:15.2247
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 9SFOyTdKu/XW3A1aRXlFpD9f0rPFT6UjQUOKRp8azk/fGkPoiU6rYgA53JrALZBs+bJu4oo7YRFJIaWHss/Amw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYTP286MB3593
X-purgate-ID: tlsNG-c201ff/1782118161-9D1C9127-10774314/0/0
X-purgate-type: clean
X-purgate-size: 1804

SGVsbG8sDQoNCj4gPj4+ICsgICAgZW50cnlfY291bnQgPSBsZW4gLyBzaXplb2YoX19iZTMyKTsN
Cj4gPj4NCj4gPj4gTml0OiBCZXR0ZXIgc2l6ZW9mKDxleHByZXNzaW9uPikuDQo+ID4NCj4gPiBJ
cyB0aGUgZm9sbG93aW5nIGxpbmUgYmV0dGVyPw0KPiA+IGVudHJ5X2NvdW50ID0gbGVuIC8gc2l6
ZW9mKCptYXRyaXgpOw0KPiANCj4gWWVzLg0KDQpPa2F5Lg0KDQo+ID4+PiArICAgIGNvbnN0IHVu
c2lnbmVkIGludCBucl9ub2RlcyA9IGxhc3Rfbm9kZShub2RlX29ubGluZV9tYXApICsgMVU7DQo+
ID4+PiArDQo+ID4+PiArICAgIGlmICggZnJvbSA+PSBucl9ub2RlcyB8fCB0byA+PSBucl9ub2Rl
cyApDQo+ID4+PiArICAgICAgICByZXR1cm4gZnJvbSA9PSB0byA/IExPQ0FMX0RJU1RBTkNFIDog
UkVNT1RFX0RJU1RBTkNFOw0KPiA+Pg0KPiA+PiBXaGF0IGlmIGVpdGhlciBub2RlIGlzIE5VTUFf
Tk9fTk9ERT8NCj4gPg0KPiA+IFRoaXMgYmVoYXZpb3IgY29tZXMgZnJvbSB0aGUgTGludXgga2Vy
bmVsLiBJdCBzZWVtcyBpdCBleGlzdHMgYXMgYSBkZWZlbnNpdmUNCj4gPiBmYWxsYmFjayB0byBr
ZWVwIHRoZSBzeXN0ZW0gcnVubmluZyBldmVuIHdpdGggaW52YWxpZCBvciB1bmFzc2lnbmVkIG5v
ZGVzLg0KPiA+DQo+ID4gRG8geW91IHRoaW5rIGl0IGlzIGJldHRlciB0byBtYWtlIGl0IHJldHVy
biAweEZGIGluc3RlYWQgd2hlbmV2ZXIgYW55DQo+ID4gb3V0LW9mLWJvdW5kcyBub2RlIG9yIE5V
TUFfTk9fTk9ERSBpcyBwYXNzZWQ/DQo+IA0KPiBXaGV0aGVyIGl0J3MgMHhmZiBvciBSRU1PVEVf
RElTVEFOQ0UgSSdtIG5vdCBxdWl0ZSBzdXJlLiBCdXQgaXQgY2VydGFpbmx5DQo+IHNob3VsZG4n
dCBiZSBMT0NBTF9ESVNUQU5DRS4NCg0KWWVzLCB0aGF0IG1ha2VzIHNlbnNlLg0KDQo+ID4+PiAr
ICAgIGZvciAoIGkgPSAwVTsgaSA8IG5yX25vZGVzOyBpKysgKQ0KPiA+Pj4gKyAgICAgICAgZm9y
ICggaiA9IDBVOyBqIDwgbnJfbm9kZXM7IGorKyApDQo+ID4+DQo+ID4+IFdoeSB0aGUgVSBzdWZm
aXhlcz8NCj4gPg0KPiA+IEkgYWRkZWQgdGhlIFUgc3VmZml4ZXMgYmVjYXVzZSB2YXJpYWJsZXMg
aSBhbmQgaiBhcmUgdW5zaWduZWQgdHlwZXMuDQo+ID4gSWYgYSBwbGFpbiAwIGlzIHByZWZlcnJl
ZCBoZXJlLCBJIHdpbGwgcmVtb3ZlIHRoZW0uDQo+IA0KPiBUaGV5LCBldmVuIGlmIG9ubHkgc2xp
Z2h0bHksIGhhbXBlciByZWFkYWJpbGl0eS4gV2UgdGVuZCB0byBhZGQgdGhlbSBvbmx5DQo+IHdo
ZW4gdGhlcmUgYWN0dWFsbHkgaXMgYSBuZWVkLg0KDQpPa2F5Lg0KDQpIaXJva2F6dSBUYWthaGFz
aGkuDQo=


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 08:53:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 08:53:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343542.1602827 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbaOv-0000pM-QS; Mon, 22 Jun 2026 08:53:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343542.1602827; Mon, 22 Jun 2026 08: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 1wbaOv-0000pF-Mt; Mon, 22 Jun 2026 08:53:05 +0000
Received: by outflank-mailman (input) for mailman id 1343542;
 Mon, 22 Jun 2026 08:53:04 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wbaOu-0000p9-6g
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 08:53:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbaOt-005I73-JR
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 10:53:03 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a38f7eb-e002-0a2a0a5209dd-0a2a4503e03a-12
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 10:53:03 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a38f7ee-a3da-0a2a45030019-d1558034d0d3-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 10:53:02 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-4903d730b1fso61856115e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 01:53: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-49240f054e3sm284649475e9.2.2026.06.22.01.53.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 01:53: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Cc:Content-Language:References:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782118382; x=1782723182; 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=mQmkZ3fi/7uWM/l73QKClDo7mn86Bhi9ThQFy1sB+SQ=;
        b=QylhgdqpsEwg+dgbCki909GYpuT6ju42o9Qj/NFpOzcDjOBaz7e7KH4TzeVWSkJWRs
         Bupl+R45Q74P8dXV15y6qAlP7eNFDf+PVzobnCuH+Is7NSM8+FykWgsitVhWCNBlALqG
         B74Qay161DdBMwaZNnZtl/Sg8mZJbdro+mtRAOKqvXaGjiRQljNNyM76qxTNp2wBF93N
         jQ0R9WHrbgFfTPjUXz/DWrEwH05EqiDuYpHHSgFlpzPpN68L7tcwX9wXaYSkNpvnr/jH
         WQacNmGBPZJZGQWkrqPXIq5Cny7cm7pYeVVDkjChDno89QniZ26Hmq1vGh0gabidmAzs
         rtnw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782118382; x=1782723182;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mQmkZ3fi/7uWM/l73QKClDo7mn86Bhi9ThQFy1sB+SQ=;
        b=GeiIW0AtBFuFWgV2X2EiLcAgCPaQLctuo80O5gihH/0Dg8GXdHjgQ65zlLuQIw1l1p
         rfAEHzKBMS2SEhyZg5pKBZEXN1yl4jLD71Z5ciqRGxB7CBWwJBbIf7AFhL/mrbZPI3ba
         FkOx7j6IBa0MWFHmKPHR/8D3nzx144GkLPG+4jWYtOb4Yxy6pquqS+6JX+RBBBDR2dIh
         UnUU0HELVmqZSZHig5+7Ul0gPk7YYFv6/Z3pQ8xKoBArWXJ6OJRIs8y5P0c7OIr0zPWd
         n0AlKfW67/PmDkHsuBBN28zOVl8mTKMd30XpaSUjLNLFSkpSnheALt+VZKWAi2isXoja
         oIcg==
X-Gm-Message-State: AOJu0YwTHD4SJtYthquNwyby+eHOpKvzpLRI/aaVK1CQwe50XRd7aLZD
	ZJ2ZFBoqJJt9B0JOIJgVDr4yEAveem1KGSMjuZXZyX+IIIUarU2h2YFPJp4ZDz2qIA==
X-Gm-Gg: AfdE7clrgVaHIm4KMGsmv/lkbMNH8wlDO0e9S+ezFwllaofTdGs4/t3z7chr+WezhF6
	mV1R0br2WFKmyAX+stCENEx5qgd3PD2dVXVz3k1fvgvlkgfxKcQJlZ1iA96sYZbEKHHrPzFnnHe
	SZD/y3FREXAz282xwzxzUyuX/aUuWys/0TOvbZmf1XZb0K4h8mgFUUpb9hzkFHbdd7xT0xPoA4s
	fyfBBLa6Lv7yEEQ+UyDyVGmzHIZZp5ct2aMqx+uleBr+PFV2XJLCyknRz3Rp3/yXgpjqSAsQsq0
	k7IW3TtO0wpNKaFGDFbJdBu+9PAkmKfKMspxESVD2ZnwydosvG3Ne2AsODoWo30Pj91kvJ1TnNx
	foFr6vdKuM/OnouxsMlDK1mty9qgARuJP3F/mkQA/uW5jJ1t4U3FS17RYib+H+0YGGe1uj4kG80
	ilugUCjhmiELnwdOzLZH9lvdoX3wDXzop5kSgZK+AMoWjEtrc6waRCUubtnC6FOrQqrzs7IM4FB
	5ii
X-Received: by 2002:a05:600c:5489:b0:492:4668:27b5 with SMTP id 5b1f17b1804b1-4924668299emr182315515e9.6.1782118382311;
        Mon, 22 Jun 2026 01:53:02 -0700 (PDT)
Message-ID: <a6b83fc1-aa98-4b45-ab7f-503715861a7d@suse.com>
Date: Mon, 22 Jun 2026 10:53:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Linux dom0 hangs on boot with Xen 4.22 and Heads firmware
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
References: <ajVUS5F9G4Jse20i@mail-itl>
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: <ajVUS5F9G4Jse20i@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1782118382-E2DDFD84-6555AE48/0/0
X-purgate-type: clean
X-purgate-size: 2551

On 19.06.2026 16:38, Marek Marczykowski-GÃ³recki wrote:
> After updating Xen to 4.22-rc2 on a system with Heads firmware, dom0
> doesn't start anymore. It worked fine with Xen 4.19.
> The last messages on console are:
> 
>     [    1.495140] installing Xen timer for CPU 2
>     [    1.496149] installing Xen timer for CPU 4
>     [    1.496587] installing Xen timer for CPU 5
>     [    1.496809] installing Xen timer for CPU 7
>     [    0.008235] [Firmware Bug]: CPU   2: APIC ID mismatch. CPUID: 0x0002 APIC: 0x0028
>     [    0.008235] [Firmware Bug]: CPU   2: APIC ID mismatch. Firmware: 0x0011 APIC: 0x0028
>     [    1.497055] cpu 2 spinlock event irq 200
>     [    0.008235] [Firmware Bug]: CPU   4: APIC ID mismatch. CPUID: 0x0004 APIC: 0x0000
>     [    0.008235] [Firmware Bug]: CPU   4: APIC ID mismatch. Firmware: 0x0019 APIC: 0x0000
>     [    1.497074] cpu 4 spinlock event irq 201
>     [    0.008235] [Firmware Bug]: CPU   5: APIC ID mismatch. CPUID: 0x0005 APIC: 0x0002
>     [    0.008235] [Firmware Bug]: CPU   5: APIC ID mismatch. Firmware: 0x0021 APIC: 0x0002
>     [    1.497074] cpu 5 spinlock event irq 202
>     [    0.008235] [Firmware Bug]: CPU   7: APIC I
> 
> Full console log (containing both successful boot of Xen 4.19, and then
> reboot into 4.22):
> https://openqa.qubes-os.org/tests/184780/logfile?filename=serial0.txt

The 4.19 log also has an anomaly around this point in time. Can you try
again with sync_console added to both the 4.19 and the 4.22 attempt?

> It doesn't reach loading graphics driver in dom0, so I don't have
> anything interesting on VGA (the last output is about the kexec call
> done by Heads). But at least I have a serial console.

Yet interestingly Xen's "  VGA is ... mode ..." lines differ as well.
That may be a separate issue. Or maybe that's how one of the EFI changes
that were done a while ago actually surfaces?

Another difference is

(XEN) HWP: Using HWP for cpufreq

in the 4.19 log vs

(XEN) HPET: 8 timers usable for broadcast (8 total)

in the 4.22 one. Does the latter perhaps go away if you include [1] in
the build?

For the HWP driver do you perhaps have a patch in 4.19 to default-enable
it, but you don't have a similar patch in 4.22? If so, to compare apples
to apples the driver wants enabling/disabling consistently (via command
line option) for both runs.

And then "mwait-idle: lapic_timer_reliable_states ..." differ as well.

Jan

[1] https://lists.xen.org/archives/html/xen-devel/2026-04/msg00200.html


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 09:21:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 09:21:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343565.1602834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbapp-0004xs-UD; Mon, 22 Jun 2026 09:20:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343565.1602834; Mon, 22 Jun 2026 09: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 1wbapp-0004xl-Rc; Mon, 22 Jun 2026 09:20:53 +0000
Received: by outflank-mailman (input) for mailman id 1343565;
 Mon, 22 Jun 2026 09:20:52 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wbapo-0004xe-Ho
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 09:20:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbapm-0079Mz-0v
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 11:20:50 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a38fe6b-2eae-0a2a0a5409dd-0a2a45038fa2-22
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 11:20:49 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a38fe71-a3da-0a2a45030019-d155802ab424-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 11:20:49 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-4908b92904fso60015575e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 02:20:49 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-49240eef2basm298234975e9.2.2026.06.22.02.20.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782120049; x=1782724849; 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=2jQPD7uf8+s9nAQ5lrjXGt1Aniw5cX8rMp/0hsNVGmQ=;
        b=L4ff1u5KnzzvzjegCWX2NDQvqZeeTGo3ZePfz3F8P4SL2zXcsXcZOVBxWzLiydSwrn
         skRtcRz0r5WIrw4wW2dfPs6AudQVTMIXhP61U4DzthFemC8cTcK++/WzrnmejJ/ZuEyv
         TyDqs/siZ1Akugb2tYuEBduljbpbpnKzrOUyoXpM49sY+HYsPLwSEN/tGA/DfnxgNGUD
         43ocCe+u7zlnaBY+HqtSGeX699g4SmHE6Fqddv4xaALkWaUZUb69HRmiHjlcCyl1kkyg
         RTDhMO0gAW1cITY3+kJF+Zrvb9bXCXnYr8/M9Awxaif7rmTrFe7pmI2zLxCXTd7AlqZ5
         2EUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782120049; x=1782724849;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=2jQPD7uf8+s9nAQ5lrjXGt1Aniw5cX8rMp/0hsNVGmQ=;
        b=ZqlJx+dzuyy6GJ4+o1xgegL9v9ML9cjOfksvRV3aASIS02fqaz5cIsJJO/RqTnYqLj
         MZ2B0reQEVkr7lVme/QDKaSv5kQE/fdlJXLDYdKCLBfTQp6kiN67eajsSOuiM+a79K0b
         royP8MwHx3yi5B/jtbzlj1B+QajryPY1T7UqLvtZy/31758Xduv9dKT77eDdTnoviIg5
         N/s6UAoSNlSmoMXRe6d6AFuWyRSFfLAhT26lT4iu1OdkMj7qlTK29yxL5nmhlpLgh9NZ
         7ouUAxh5xzlgeCorrvjz14GFky0qKYLDkznRUh+IZsX5IFvAXIHXlqZ+rdj1lnv9iotM
         62iQ==
X-Forwarded-Encrypted: i=1; AFNElJ/12yH11zUj0wrVjgwAauc1ciYMnFBT/nKMTyTF9MmGHvqEd2HuG92dtD5om7LDfQXs02tA0APyOuY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzLnGEBE4woPUb6yACr3AKfQ3ox98aWXf890eKATWG6WBjgOmwG
	H46VSsSgHvgFNZpg7x7wZvMM9Mpb7/8wEHcmsqik5KIS8u8SJZJAYb4H
X-Gm-Gg: AfdE7ck/SMW7FFlgWkOHUqotKy537s3LI6Hbrx1dNX2YnkHa2tNNxKvX+/zWpgIXuq9
	alcAYUY6Mo8EqDygItn5gTL8Lf9tpCGKrFYh+6YBTMhjT9qgzMu2lxrYakFobdXCBvVQNtrNSQx
	uRpmzYffBq+hziR3OAIgQwloEfdgR3rHW2yJGTPqe3P8yYSsCBnczmWF1JP3M3dLXVchtEu5+wS
	daLm975jS/MUPZJSZ9IYEX2fyMQ5IxxFrwzCSGj8mx8wX/2Lfmixeji1VbUIHaA4BUF+jxeBDbf
	n6ycekU4hFSJxXaKNhTA1crnhPvtcNwmvlxeTGykvTkJ2MrjHoW0ged2yiYKSfvxBugEPpNEaFk
	G5MKWOZ9KbZZ3Yxcf78V5W3Hv8HObRy5IeAn2DQGsA8eHnYWPXU3us2Q2TsTL4LBbTaZQcxJ8Xr
	/9o8D6CEh9eabgxk6BY4DK6v0BCl8zjvDEsY2BgMbNY4VQvvQfLh27U/+6yODp6QhoGBc=
X-Received: by 2002:a05:600c:1f8f:b0:492:3291:9011 with SMTP id 5b1f17b1804b1-4924257cbc4mr182647255e9.30.1782120049041;
        Mon, 22 Jun 2026 02:20:49 -0700 (PDT)
Message-ID: <6f5e13f5-cd6b-4f5c-88c8-73d3f39867a0@gmail.com>
Date: Mon, 22 Jun 2026 11:20:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v2.5] xen/arm: gic: defer host LPI allocation
 until after ITS init
To: Mykola Kvach <xakep.amatop@gmail.com>, Julien Grall <julien@xen.org>
Cc: "Orzel, Michal" <michal.orzel@amd.com>,
 Mykola Kvach <mykola_kvach@epam.com>, xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Luca Fancellu <luca.fancellu@arm.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <112419d3ea48ca328849c8f6647909d3eb667b40.1779922874.git.mykola_kvach@epam.com>
 <341edd8de63dcd84ccc6e7b6c03e9e8fc7105184.1781847061.git.mykola_kvach@epam.com>
 <7a0a1867-8316-4e20-971e-fab99c9f4a32@amd.com>
 <e43afc29-cfbb-4978-9324-e8d540040bfa@amd.com>
 <1877ea55-0c8d-4593-a310-259b4c5aef3c@xen.org>
 <b47b9bf3-1aa6-41b6-8c7c-48d64cca1c36@amd.com>
 <5d3dff74-f51d-4bfc-b917-3c84f2094f34@xen.org>
 <CAGeoDV_LM9hQch5YEqYFA07t76eXKxZRT5tzxMqzWkej5Jwidw@mail.gmail.com>
 <f06a4fe0-24a4-46e2-a7de-ede4e654f767@xen.org>
 <CAGeoDV_O0qBitauMC6saq6X6uijis2obpNVhJwKz+CSfkzPU3g@mail.gmail.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <CAGeoDV_O0qBitauMC6saq6X6uijis2obpNVhJwKz+CSfkzPU3g@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1782120049-CEE76D84-B4E020D6/10/73395122804
X-purgate-type: spam
X-purgate-size: 6531

Hello Mykola and Julien,


On 6/21/26 5:49 PM, Mykola Kvach wrote:
> Hi Julien,
> 
> Thanks.
> 
> On Fri, Jun 19, 2026 at 8:23â€¯PM Julien Grall <julien@xen.org> wrote:
>>
>> Hi,
>>
>> On 19/06/2026 15:55, Mykola Kvach wrote:
>>> Hi Julien, Oleksii,
>>>
>>> On Fri, Jun 19, 2026 at 2:52â€¯PM Julien Grall <julien@xen.org> wrote:
>>>>
>>>>
>>>>
>>>> On 19/06/2026 12:34, Orzel, Michal wrote:
>>>>>
>>>>>
>>>>> On 19-Jun-26 13:23, Julien Grall wrote:
>>>>>> Hi Michal,
>>>>>>
>>>>>> On 19/06/2026 10:48, Orzel, Michal wrote:
>>>>>>> @Oleksii, can we ask for a release ack here?
>>>>>>
>>>>>> Can you explain the pros/cons of introducing this patch quite late?
>>>>> The advantage is that it fixes the broken LPIs on affected hardware.
>>>>
>>>>    > The disadvantage is the reordering risk but I don't think there is
>>>> any issue.
>>>>
>>>> See more below.
>>>>>>
>>>>>> One of the risk here is that we are now initializing the LPIs *after*
>>>>>> the ITSes. I understand this is because we want to know the workaround.
>>>>>> However, I vaguely recall that there was a dependency in the
>>>>>> configuration. So are we confident the new ordering will not bring other
>>>>>> issues? Ideally this should have been explained in the commit message.
>>>>> gic-v3-its.c never references host LPI state, so ITS init has no dependency on LPIs.
>>>>
>>>> My concern is at the HW level. The ITS is using LPIs. But we will
>>>> configure the ITS first and then the LPIs.
>>>>
>>>> What probaly saves us is the fact gicv3_lpi_init_host_lpis() only seem
>>>> to allocate memory. This is a bit fragile though.
>>>
>>> Regarding the ordering concern, the only operation moved by this patch
>>> is gicv3_lpi_init_host_lpis(). It does not program either the
>>> Redistributor or the ITS. It initializes Xen-side host LPI bookkeeping,
>>> registers the CPU notifier, and allocates the boot CPU pending table.
>>>
>>> gicv3_its_init() programs the ITS tables and command queue and enables
>>> the ITS, but Xen does not enqueue any ITS command there. The first
>>> MAPC/SYNC commands are issued by gicv3_its_setup_collection().
>>>
>>> The relevant hardware-visible sequence in gicv3_cpu_init() therefore
>>> remains:
>>>
>>>       gicv3_lpi_init_rdist()       /* program PENDBASER/PROPBASER */
>>>       gicv3_enable_lpis()          /* set EnableLPIs, followed by wmb() */
>>>       gicv3_its_setup_collection() /* issue MAPC/SYNC */
>>>
>>> So the ordering introduced by 95604873cc is preserved: no MAPC command
>>> is submitted before GICR_PENDBASER/GICR_PROPBASER have been programmed
>>> and the write setting GICR_CTLR.EnableLPIs has been made visible.
>>>
>>> This matches the relevant architectural requirement: while
>>> GICR_CTLR.EnableLPIs is 0, ITS translation requests or commands
>>> involving LPIs in that Redistributor are ignored. This patch changes
>>> when the backing memory is allocated, not when the Redistributor is
>>> programmed or when the first ITS command is submitted.
>>>
>>> The benefit of taking this for 4.22 is that it fixes broken LPIs on
>>> systems where an ITS workaround changes the required memory attributes.
>>> The ordering-specific fragility is that this reasoning relies on
>>> gicv3_lpi_init_host_lpis() remaining allocation/bookkeeping-only. I
>>> agree that this implicit dependency should be documented explicitly.
>>>
>>> I will respin the commit message to describe this ordering and explain
>>> why the hardware-visible sequence is unchanged.
>>>
>>> Does this address your concern about taking the fix for 4.22?
>>
>> Thanks for the detailed explanation. As I wrote back to Oleksii, I think
>> the code could be re-architecture post-4.22.
> 
> For post-4.22, I agree with the proposed restructuring. I will take it
> into account when updating the follow-up quirk series, so that all ITS
> workarounds are queried before host LPI initialization and ITS
> activation.
> 
>>
>> For 4.22, no need to send a new patch. You could propose a new commit
>> message here and we update on merge.
> 
> For 4.22, I propose the following commit message:
> 
> xen/arm: gic: defer host LPI allocation until after ITS init
> 
> gicv3_lpi_init_host_lpis() initializes Xen-side host LPI bookkeeping,
> registers the CPU notifier, and allocates the boot CPU pending table.
> The pending table allocation uses gicv3_its_get_memflags().
> 
> ITS quirks are discovered by gicv3_its_init(), so allocating the boot
> CPU pending table from gicv3_dist_init() can happen before the memory
> restrictions required by the ITS are known. On affected systems this
> can leave the pending table allocated using the default memory policy.
> 
> Move host LPI initialization after gicv3_its_init(), and only run it
> when a host ITS was found. The old call ignored the return value. Now
> that the call is made from gicv3_init(), check it and panic on failure
> because Redistributor LPI initialization relies on that state being
> available.
> 
> Although this reorders host LPI bookkeeping with respect to ITS
> initialization, it does not change the hardware-visible LPI setup
> sequence. gicv3_lpi_init_host_lpis() does not program the
> Redistributor or submit any ITS commands. gicv3_cpu_init() still
> programs GICR_PENDBASER/GICR_PROPBASER via
> gicv3_lpi_init_rdist(), sets GICR_CTLR.EnableLPIs, and only then calls
> gicv3_its_setup_collection(), which submits the first MAPC/SYNC
> commands. Therefore, the ordering introduced by 95604873cc remains
> unchanged.
> 
> This also narrows the condition for host LPI initialization from
> "GICD advertises LPIs" to "a host ITS was discovered". This is
> intentional: Xen currently has no supported LPI path without a host
> ITS, and gicv3_lpi_init_rdist() already rejects that case with
> -ENODEV. Therefore, on systems where GICD_TYPE_LPIS is set but no host
> ITS is present, skipping gicv3_lpi_init_host_lpis() only avoids
> allocating host LPI state that cannot be used by a supported Xen LPI
> path.
> 
> Fixes: dcb6cb263689 ("ARM: GICv3 ITS: introduce host LPI array")
> Fixes: 751ec850ec1d ("ARM: ITS: implement quirks and add support for
> Renesas Gen4 ITS")
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> 
Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 09:22:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 09:22:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343572.1602844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbarg-0005SQ-9N; Mon, 22 Jun 2026 09:22:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343572.1602844; Mon, 22 Jun 2026 09: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 1wbarg-0005SJ-5S; Mon, 22 Jun 2026 09:22:48 +0000
Received: by outflank-mailman (input) for mailman id 1343572;
 Mon, 22 Jun 2026 09:22:47 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wbarf-0005SD-CS
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 09:22:47 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbare-005NDf-HO
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 11:22:46 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a38fee4-bab6-0a2a0a5309dd-0a2a450aa3f4-6
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 11:22:46 +0200
Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a38fee6-93a5-0a2a450a0019-d1558036b057-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 11:22:46 +0200
Received: by mail-wm1-f54.google.com with SMTP id
 5b1f17b1804b1-49249707788so12687765e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 02:22:46 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-466667881bfsm26027436f8f.22.2026.06.22.02.22.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 02:22:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782120166; x=1782724966; 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=qHGCuTHM3Fo15rGbCF3+1Wj282H0ITaQjvEE1XjYawM=;
        b=PgWWWLr39wz4qdoUrp0BJpLFKBK5VWMxQaNZI2bTqroWQwDKGb0HHnXsIOrdBfiV7O
         FJooLqFWaoiBVX++/+yVT/mfF1mai9EkqGc7Z9Cc79XIpeQLBoNRkExhqL5pa9MDeWWl
         CJMVBgCzJzT5z74cbv6et6wiqirC7XNJ9mw5GKl/sehmeeLm8MXBVnpDwLl2OQV6BIXV
         nSovHzFlMEFOx5s/CzQhrTI2pPpYyVeJM+jvbu/rf3BRP3gmm+JDGHhwJI4ZVmunYP72
         y6PMlHLkjMUEXgvbBQxgCXeFZ/cI/+hT3kj0EmBk1FF2lpRTMvYZBl+CSpLx81LvjmhL
         7ngA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782120166; x=1782724966;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=qHGCuTHM3Fo15rGbCF3+1Wj282H0ITaQjvEE1XjYawM=;
        b=FtYd7JtU2cbqwHeQUJv30LIhtGurtRrUpuvRgvYVeSq4bfxtUZDLKg93jI4Uz98ztS
         d83t5szlj3p96i+mTCt/RmkDwdWRtjMnsYX3tHfnjIuiB6x55V63+JsPz9YHV5Qv6Qqo
         nTkHi06m5bfR72mWJnW9BJNQhNJyQBdof20WmY+6LvpL07V9ypPGUOnkHJ9iavt/RLnF
         gLwysLUAQ++6Q/g+WbDNICNKDJvh/2SUXDoW0zJ8+L25GSGTZTP+PJyKyajsJpszOuIw
         ak8zdRQAL4AAgmA96VDw66ZaYRs8h/Kj1ul5Oy1Okitf3JaXkleMNAUahZejKMQStdIJ
         LT2g==
X-Forwarded-Encrypted: i=1; AFNElJ+JzrpniBLEFMljg0uThXevrDul9YZFbuySY//IAucj+3deAupKz1I8f0o79l5gXSebzqMZGBXFqck=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw+BgmMaOH2XiD67vavVsJZcDpMmOKcJMfbc3ZhwIeDVaa0qU3U
	6NB886MdVl3CCoZNXpQ7R3gP/NmAdnBs8gI5K24/ZPebTFkHbqTaVtlv
X-Gm-Gg: AfdE7cliaO8hIi2ZYlzu8Gj3J8aanPmWup2Hzo8NfziEPt/SwXkZ3+bpQu5SubaGLoD
	Rp7GijHv3kIKwYu9oKJQd0Wqw93MMl2o+WhWSq2H6ONvrs91ueJ4LRQ57+E7BuE4Du1nrYSH53R
	roAsJZl2YHI7BQ4Ah+2ulTFi2fsob7QxkhNECP51z8OTuZqCok4387tcl3IiFwQOGZDIxclnRkJ
	m+b1dChDeo+SEnAWlwsggpnfzMUKBngdaWsWO9+xFqirNVcSURIRyh6A7zNzc6QswHoenYhRuCR
	MEPVEpaCeQC6uNgKyUtowyCEiH96m9mHjlkLSZBkb9N7BIMwnEN/0eXSAMaWLL97jWfpyhh0SNj
	EXYRuqPKbksOMWFvGJpmGdgKYqQ1AjBSRfQo7GpNI1+kQtxeF8CaqofiD21wtXLR9Kfs5614E1G
	Xf2YLTDbzYfHW05rkVxC3XpdM0/mkimSyvWdvAxgu4v5Ul1+G9iOTgq8OHEC22hbNWJHQuv74B7
	+M4gw==
X-Received: by 2002:a05:600c:6288:b0:490:e18f:d108 with SMTP id 5b1f17b1804b1-492490a7778mr135296925e9.19.1782120165813;
        Mon, 22 Jun 2026 02:22:45 -0700 (PDT)
Message-ID: <e1eb2d3e-589a-475c-9982-0fa1d69e0f4b@gmail.com>
Date: Mon, 22 Jun 2026 11:22:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22?] xen/arm: mask debug exceptions in initial
 AArch64 guest state
To: Mykola Kvach <xakep.amatop@gmail.com>, Julien Grall <julien@xen.org>
Cc: Mykola Kvach <mykola_kvach@epam.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>
References: <74e132a5f3dff64be5bd0c04eb82fe78d9c2fe84.1781892316.git.mykola_kvach@epam.com>
 <3c6fe373-8840-4943-abaf-7e7ed13870e2@xen.org>
 <CAGeoDV9c8Mv9vQiqa0TCubZ2VTD=r5ewbZZxwZTbVHh=ubcsUw@mail.gmail.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <CAGeoDV9c8Mv9vQiqa0TCubZ2VTD=r5ewbZZxwZTbVHh=ubcsUw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1782120166-B19F2DB8-AC38DB04/10/73395122804
X-purgate-type: spam
X-purgate-size: 1717

Hello Mykola and Julien,

On 6/21/26 4:30 PM, Mykola Kvach wrote:
> Hi Julien,
> 
> Thanks for the review.
> 
> On Sat, Jun 20, 2026 at 12:07â€¯AM Julien Grall <julien@xen.org> wrote:
>>
>> Hi Mykola,
>>
>> On 19/06/2026 19:37, Mykola Kvach wrote:
>>> PSR_GUEST64_INIT currently masks SError, IRQ and FIQ, but leaves debug
>>> exceptions unmasked. Both the AArch64 Linux boot protocol and PSCI entry
>>> requirements expect PSTATE.DAIF to be masked.
>>>
>>> Add PSR_DBG_MASK to PSR_GUEST64_INIT. This fixes the initial AArch64 guest
>>> entry state as well as virtual PSCI CPU_ON and SYSTEM_SUSPEND resume entry.
>>>
>>> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
>>
>> Reviewed-by: Julien Grall <julien@xen.org>
>>
>> Regarding Xen 4.22, I understand and agree this is technically against
>> the specification. However, AFAIR, we don't expose debug registers to
>> the guest. So there should be no impact.
>>
>> The slight risk with this patch is OS that may have started to rely on
>> Xen behavior (hopefully not here, but I know we had a couple of cases
>> with the timer for instance...).
>>
>> This has been present forever. So unless there is a real issue, I am
>> tempted to suggest to wait until the release is out and backport after.
>>
>> I will leave Oleksii the final decision.
> 
> I agree with your assessment. I am fine with deferring this until after the
> release unless Oleksii decides otherwise.
> 
> The patch is not fixing any known issue and was only intended to align the
> guest entry state with the documented requirements.
If it isn't fixing any known issue then lets defer this patch until 4.22 
will be released.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 10:29:53 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 10:29:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343595.1602852 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbbuH-00053y-P0; Mon, 22 Jun 2026 10:29:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343595.1602852; Mon, 22 Jun 2026 10: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 1wbbuH-00053r-MO; Mon, 22 Jun 2026 10:29:33 +0000
Received: by outflank-mailman (input) for mailman id 1343595;
 Mon, 22 Jun 2026 10:29:32 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dmytro_prokopchuk1@epam.com>) id 1wbbuG-00053l-Mk
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 10:29:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbbuF-00AH3e-Hn
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 12:29:31 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmytro_prokopchuk1@epam.com>)
 id 6a390e7e-5cb7-0a2a0a5109dd-0a2a4506d112-20
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 12:29:31 +0200
Received: from [52.101.66.138]
 (helo=DUZPR83CU001.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <dmytro_prokopchuk1@epam.com>)
 id 6a390e8a-b690-0a2a45060019-3465428a1843-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 12:29:31 +0200
Received: from AM9PR03MB7526.eurprd03.prod.outlook.com (2603:10a6:20b:3de::17)
 by PAVPR03MB9163.eurprd03.prod.outlook.com (2603:10a6:102:32f::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Mon, 22 Jun
 2026 10:29:28 +0000
Received: from AM9PR03MB7526.eurprd03.prod.outlook.com
 ([fe80::904d:5820:80e1:41ba]) by AM9PR03MB7526.eurprd03.prod.outlook.com
 ([fe80::904d:5820:80e1:41ba%3]) with mapi id 15.21.0139.018; Mon, 22 Jun 2026
 10:29: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Uj6u4GJuv5+kG06bS4rfdSBsrUzK8z9fX2V8Zm+McURm5sDu4WpDF0lMWhu/p7OZ7/mqgP540s8TgadfShuVjDCyULiDBKe1TdmpBxn6zXzY+OXToxwwgE95oUus99CNgFl5AFza3WTBsOiFavJGinc/STOiS9/azQqygh8a7UGOFTYddpETKrOsB6etY+5XsStt1JdW5ny2vXE3NqjBdT4wYdxnhL9JePJHLYF5RpBQkSe98BMvvUELRnP+v4qI7rJZFxI6e07uc6zNg3WmV7SpN903muih8Qxy2W/ndb2lhpa8/TLC5ArAayVGzGPajKZ5JzyKLPW/XBTuL0uvwQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OPj2m8WuMXVs5yKVJD9WdJyJiuolgLjdQcFIMGlPs3c=;
 b=ldCPhEZtQWdCdnDDQKBc96bhLOhKVWbOExV18nOKYOztfhtlATJwCqI3WVFS2Cgr9u+DLkctxbIfWVmHgZrKQo/frqA7t5p0eH3D+KuTntCNtiI+erhMnIyVpsdA+9gO938bTRGbNZGlVIzkN9+fpyoJbxysmGhmpVUVpxVW29lbFayBmyVgK6tD3cMNBemXQPRgh5Wz+YAFEcRu5IaCJf2szEwte16Nscnuy6YZn79DyKTGdxnI3kEcGJz5m5vtIsSy+W75k5LW3gx7QRHfdSq/7uNawrMAHmNGStErR6m4M3N0KjHa4Kq/DON10O7k8hlOektzg73/3q23DFLP8Q==
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=OPj2m8WuMXVs5yKVJD9WdJyJiuolgLjdQcFIMGlPs3c=;
 b=KRPZsAEMEnxMlPzZLnPcliYUqeiyg8kiV0Ga4pkN/0R92iB1pSehd4vpp2q946rNf4sGqAUPgtMOSK8TfhRYuLDy/Txgi2o9wKf8GojkSeLOSMmucmKdqtdAu3PHxy7vQW7rAc2+vtXx9S6nKRfwfGsw1qCAFdWb7Wfe6Zq2qda2dmbxJ5sfk9zYjMFgOFg+C+77rT5U8r97xvO3ylxLmZNYlpc1DOGnweP8tDg9dgwBaDvhBt0tTRy2dmCzg3Xm3nBlUrGaiTO1WAzCnByF0YVjRKaetq93fdJ7MHTBpb+sIfdvFffV02sMbPlJNd7rLlNER8T0RUP2us49G6ivUw==
From: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>, Julien
 Grall <julien@xen.org>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] generic/altp2m: address violations of MISRA C Rule 2.1
Thread-Topic: [PATCH] generic/altp2m: address violations of MISRA C Rule 2.1
Thread-Index: AQHcyEeH3FAPJgz8C0q4McY6u5ZElbXXzxqAgHMEWQA=
Date: Mon, 22 Jun 2026 10:29:28 +0000
Message-ID: <d6dcde3d-99eb-4fa3-9078-a13e35c8a1b4@epam.com>
References:
 <8b5ca213a097f7b221b06b6173e4621563779a73.1775752149.git.dmytro_prokopchuk1@epam.com>
 <3b2daddd-9afc-4c75-92c0-f7c6ace3f735@suse.com>
In-Reply-To: <3b2daddd-9afc-4c75-92c0-f7c6ace3f735@suse.com>
Accept-Language: en-US, uk-UA, ru-RU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AM9PR03MB7526:EE_|PAVPR03MB9163:EE_
x-ms-office365-filtering-correlation-id: ccd0296f-9dea-49fc-720e-08ded04923ff
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|376014|42112799006|366016|23010399003|38070700021|4143699003|22082099003|18002099003|11063799006|56012099006|6133799003;
x-microsoft-antispam-message-info:
 97EOhXidIKQpa9nm5csCAAv4pcNiqZege1Wp7VbLsziNCqph3QjURwUZzesWvi7HIBCMkGqrTxuuyaB5k8boUMIfeQUVwcna+nTqoffQXtLtmodif92pSKYPp6eBtwCT7C+dfGRQ4DXnPQQFZQSP1yw6i2KqGd+syHhHRlB6z1KElxLt6FHrgmUgd41gH4PhWzZj19zci4wgIH73/9LEKOxl8Fw97HpoI0gB3ry/m2zpf1Z4CdDLrlztf5q/i4XGpwL7FFfAW0r/IPH68G6ikwdTgzIs68E6ptmcHuwEWFE0Duxiq7trQm+xkphgWdo+W8Aaygx851K9jeuX2NHKNcB1jstDcU/SnPgx2ReO97JZXF8x4XZ2/TNMipoTZrcZ59pbD1ijeIt5hGt76AqPYN/N6aIxC++Q5g4FhCOLWfbgpSrXqHsG/ruxxrVYFoEc+IkCg0ohAJMWCalnT6IQ/TZmh4c2N0re/IMK0tQUynHS3/ubdGWjLsb9oVjq/Ifz4k/OeT8iXbkmWVrZIJNTn8N1ZP3YmvvbuYAnvoqMkxR8MRsHtnGmjz2qR7i2/AzoAiAqrWXeSWIqV8JcsET1bJkDzkzIED2jpm8MaTJ/z8wortYtgQs4K6fMyTwZqJ5BxQjebZVOtEtGw0l8en8A9YIXf0rt/QDJZv+maPw8v8WjVRnpzBn76NWdmuLx8oAavxeGFIHkSV09dVk04sD8wGKa6jUA617DErwSuJRrDXY=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR03MB7526.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(42112799006)(366016)(23010399003)(38070700021)(4143699003)(22082099003)(18002099003)(11063799006)(56012099006)(6133799003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Tk1ZQmx0RUxzZkRWNlgvaFh3UEZtMUI1NDBoQmNoWHMvT2V3VXRmMVFnbmJa?=
 =?utf-8?B?YXJMTnFlaDYybnJWM0JJK0VnbUxDdnJHOUN3bmI1SkUyNDFYZjdLQzhwSGlG?=
 =?utf-8?B?aU1weVdYUEpNa01WcUcreHp5NzU1bUhuVnhTZk5aRlB0cTc4K2JtRTdmMWE5?=
 =?utf-8?B?ZTBmU2NQUG1ySi9JajdKamlhVldUeEpDSnBPYzJBbjdmVVIrV0haUURROGZm?=
 =?utf-8?B?OUdPOHlTa284MmUzZUlPQW9HUVpNcHUwWGppSm1JUXFUWVR0Tnl6VW5VZCtJ?=
 =?utf-8?B?ZWttY0ZSVzJtK3NNRGZnUk1OMWF3Nm9zSFhvbjd2UWxKK2NIL2V6ZnhheXA3?=
 =?utf-8?B?S0I5T25acU9EdS95czRwTlRaZllwTkF1U1pnMXpOVHVqdVNRSHpRaVVGUVFi?=
 =?utf-8?B?RzVoWjNtY29ZOEZWaDMyYldpZkIyamEvNnlBUzdBSUJjU3VtcGlaOVBNcjl6?=
 =?utf-8?B?TUVKenc0OTU5MXE3bjhhcFJqYnh5UlRvT240K1U4MVNYSWovMUhHdjJEUjR2?=
 =?utf-8?B?QytkT3ZMMmFOL2ZCUkNNWWh2WTFtTmtFaDhBeDBIcU8wQ3gxdkVIOEpPV1Rr?=
 =?utf-8?B?N3plRHNJTzVaT0VWejkrMmRZS1NWSnZhR2VzY2ZNWC8yUktPQ1RscnEyNjF6?=
 =?utf-8?B?aFM2d3MxY0xPcFdMVWVua2JJZjl3L1ZwWUszMVBJbGxzZzNPSExPUTlSWVZz?=
 =?utf-8?B?d1crOUwwakJhVnJrRFFVS0NHNXE2QzFYYjgwbjFUaEpsWUxsd0c4VmliSmZZ?=
 =?utf-8?B?WXJZWC8wQWpEQ2lGWG5hMkhMM0VyNXE1SnRsMFZnTERhRVpMSWVEMDJkVjM4?=
 =?utf-8?B?dXZUcGtza2hWbGtOR1kwWk9iZTlERTlVZCtXSEVKcTh4RUFCYjYrOWwwZWZY?=
 =?utf-8?B?ZHcwZjVBVVFvbi9ySFNUaDVmRHZ6aG1zWjJqejBOSGJmZ3F4WFZoN0lPdVND?=
 =?utf-8?B?c2U5SXFnRkJFcC8xK2FDQ1dHMjZ3bnBxU1RpNGY1eEgyYU9IL1RFL1EzNStl?=
 =?utf-8?B?UlFLTER5L3FidlpOemVQdmxvaWpZTE12L2pLVWtjSHp1Ynd0cnp3Z0JOYVgy?=
 =?utf-8?B?Z040SU5icFVmYm5wWDNzSlFnbkJUUytHS0FmRi91ZE1Jb0lCakx5R1B1ZzVC?=
 =?utf-8?B?bkRnbzJiUEhkSnVEMG5udFkxTEcxcWRrdkZ4Z0djZUZ0bDBMMlJUMVFadEUv?=
 =?utf-8?B?Y2ozRFlacSsrMHFxcHhBYUE5Yk9YTUlENlh6bFhNS1liOU8ranZjd1pvbUo3?=
 =?utf-8?B?TVhtS3R4blJZbEtCbVoxL3c5YjVMYW1zNDNYRSsrbFJqeitnOWtqbHpSSHRZ?=
 =?utf-8?B?U01wOWNYcDZ4Q2VaMjBocWtLYVpyd292eVZid3Z6cWlWRmlBSXpoZmpjT0VN?=
 =?utf-8?B?M1hvWG80K1h0cnpNWDYrUjdZOFo1ZnkyQmM2WVUvRy82RUpkY1g5djkvV3R4?=
 =?utf-8?B?MDU4YXpyaXVnR01jbm5Zbit1b3U0YnZKR1pPZVRYdWR3cE4xaER5bnBmVTNi?=
 =?utf-8?B?aWM5WmNvaW5kZ1lZZUwrY2JCd1YwSDROR084RzhPM3NHUzJBVGtkMEx2eCsz?=
 =?utf-8?B?V3l5RGdWQ2VqSDBIbzJjTnFPWTNIV2ZNZ09qTTV6dXh6NXowbkFHNXBTZDhZ?=
 =?utf-8?B?OGt6d3hEMENqdkJ6U1VMeTJES2pyUGRDV0ZuUGlZRUw5ZkJGUll3dWhPdG8x?=
 =?utf-8?B?RzdZNFplcHc4RFpNdm5jM1RlUGV4SlhuUGh5amsvVnBwL2R1am9IMGQ3R05J?=
 =?utf-8?B?QVRsazRGSEVyRUJvZk95Um5BbVFMNFNOY2R4MThqUmMxSWdRQ3lsMksycHNv?=
 =?utf-8?B?azRBVzBHWGpiUi9QWXBjNkFsYmRPeVQ4KzZWZ3puRkc4Y3pIR1BMRlh6QVpY?=
 =?utf-8?B?aUhkd1dnaXJkcGI4bUwxMTFyeU8wZldLKzdsYjNGdnRKU2ZjUnlkNUQ4WFRL?=
 =?utf-8?B?ejlMM3pmdUZDVGZnL1dCWXlhYlFmMUR6Q0cyaVY3bkRHMmpqSkIyTXVlQmVO?=
 =?utf-8?B?NFFLdWFMRVVYM1MxeDFqM2tBTU83M0U1dzBMbDJsZkptbk9BK2VvVSsybjE4?=
 =?utf-8?B?WTZWbzR5cStBdzRZTktkK29hKzVLQlczem0xVkt1TFlOTWNlcTZFS0VEL1dK?=
 =?utf-8?B?TVBHWW1HUlZWZjJTYmkvWkFsK1lVdGRFMVhCRSt2aUJoRHpRWXBpMEVoZkdD?=
 =?utf-8?B?SFp3d1BTZHg3Znc0UEttakFwU2VZSklWQjdTWUhud3ovRDVUa09ZL0ZyS01t?=
 =?utf-8?B?QkVIN0tZY0VGTXN5WWhRSjg1eGV2L3FoSVBlUDM3ZEtDSXBxZXY2UkUzWlBn?=
 =?utf-8?B?Zkp1KzVPcmFndHU1Q2dkRVcyNVN6cWpPQk1Vb0k2MDI0Tzc3RFB6V1Uvdmkz?=
 =?utf-8?Q?JiUFyjOzLvOwrA/w=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <D928434CC516AE41B4DB748D7469FBA7@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: AM9PR03MB7526.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ccd0296f-9dea-49fc-720e-08ded04923ff
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jun 2026 10:29:28.8093
 (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: N6UxvjqskK7OHsOU/JO2xIVUrhHUr4y9tjKH9mT8xTtmxKi2d3i33idthJJbtuV0vssH0LiuVlnzG5SL9wdummt5irzGG3uMrlf4Ortn1mE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR03MB9163
X-purgate-ID: tlsNG-16d1c6/1782124171-3BBE1853-7D67AEFE/0/0
X-purgate-type: clean
X-purgate-size: 3322

SGVsbG8sIEphbg0KDQpPbiA0LzEwLzI2IDA5OjA0LCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24g
MDkuMDQuMjAyNiAxOTozNywgRG15dHJvIFByb2tvcGNodWsxIHdyb3RlOg0KPj4gTUlTUkEgQyBS
dWxlIDIuMSBzdGF0ZXM6ICJBIHByb2plY3Qgc2hhbGwgbm90IGNvbnRhaW4gdW5yZWFjaGFibGUg
Y29kZSIuDQo+Pg0KPj4gSW4gY2VydGFpbiBidWlsZCBjb25maWd1cmF0aW9ucywNCj4gDQo+IENh
biB5b3UgZ2l2ZSBhbiBleGFtcGxlIHdoZXJlIC4uLg0KSWYgQ09ORklHX1ZNX0VWRU5UIGlzIGVu
YWJsZWQgb24gQVJNLg0KPiANCj4+IHRoZSBmdW5jdGlvbiAnYWx0cDJtX3ZjcHVfaWR4KCknIGlz
IGRlZmluZWQNCj4+IGFzIGFuIGlubGluZSBmdW5jdGlvbiB0aGF0IGNvbnRhaW5zIHRoZSAnQlVH
KCknIG1hY3JvLiBUaGlzIHJlc3VsdGVkIGluIGENCj4+IHZpb2xhdGlvbiBiZWNhdXNlIHRoZSAn
QlVHKCknIG1hY3JvIG1ha2VzIHRoZSBmdW5jdGlvbiBub24tcmV0dXJuaW5nLg0KPj4NCj4+IFRv
IGVuc3VyZSBjb21wbGlhbmNlIHdpdGggTUlTUkEgQyBSdWxlIDIuMSwgdGhpcyBwYXRjaCByZW1v
dmVzIHRoZSBpbmxpbmUNCj4+IGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uIGFuZCBpdHMgQlVHKCkt
YmFzZWQgdW5yZWFjaGFibGUgY29kZS4gSXQgaXMgcmVwbGFjZWQNCj4+IHdpdGggYW4gdW5jb25k
aXRpb25hbCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBmb3IgJ2FsdHAybV92Y3B1X2lkeCgpJy4NCj4g
DQo+IC4uLiBhIGRlY2xhcmF0aW9uIGlzIG5lZWRlZD8gVGhlIHNvbGUgbm9uLXg4NiByZWZlcmVu
Y2UgSSBzZWUgaXMgZnJvbQ0KWWVzLCBkZWNsYXJhdGlvbiBpcyBuZWVkZWQuIFRoZSBmaWxlICdj
b21tb24vbW9uaXRvci5jJyBjb250YWlucyBhIHVzYWdlIA0Kb2YgdGhlICdhbHRwMm1fdmNwdV9p
ZHgoKScgYW5kIGNvbXBpbGVyIG11c3Qgc2VlIGl0IHRvIGF2b2lkICJlcnJvcjogDQppbXBsaWNp
dCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhhbHRwMm1fdmNwdV9pZHjigJkiLg0KPiBjb21t
b24vbW9uaXRvci5jLCBhbmQgdGhlIHNvbGUgcmVsZXZhbnQgS2NvbmZpZyBvcHRpb24gSSBjYW4g
c3BvdCBpcw0KPiBWTV9FVkVOVC4gV2hlbiB0aGF0J3Mgb2ZmLCB0aGUgZmlsZSB3b24ndCBiZSBi
dWlsdCBhdCBhbGwuDQpCdXQgd2hlbiAnQ09ORklHX1ZNX0VWRU5UPXknIHRoaXMgZmlsZSBpcyBj
b21waWxlZCBvbiBBUk0uDQo+IA0KPiBGdXJ0aGVyLCBCVUcoKSBhbmQgYSBmZXcgbW9yZSBjb25z
dHJ1Y3RzIGhhdmUgYSBkZWRpY2F0ZWQgZGV2aWF0aW9uDQo+IGFscmVhZHkgaW4gcGxhY2UuIEkg
ZG9uJ3QgbWluZCBhIHVzZWxlc3MgZnVuY3Rpb24gdG8gYmUgc2hydW5rIChvciwgYXMNCj4gcGVy
IGFib3ZlLCBwZXJoYXBzIGV2ZW4gZHJvcHBlZCksIGJ1dCB0aGUganVzdGlmaWNhdGlvbiB0aGVu
IG5lZWRzIHRvDQo+IGJlIGRpZmZlcmVudC4NCldlbGwsIHdpdGggU3RlZmFubydzIGNvbW1lbnQg
cmVnYXJkaW5nIHJldHVybiB0eXBlLCB0aGUgY29tbWl0IHN1YmplY3QgDQphbmQgbWVzc2FnZSBj
b3VsZCBiZSByZXdyaXR0ZW4gbGlrZToNCg0KZ2VuZXJpYy9hbHRwMm06IGFsaWduIGFuZCBzaW1w
bGlmeSBhbHRwMm1fdmNwdV9pZHgoKQ0KDQpUaGUgcmV0dXJuIHR5cGUgb2YgJ2FsdHAybV92Y3B1
X2lkeCgpJyBpbiB0aGUgZ2VuZXJpYyBhbHRwMm0uaCBoZWFkZXIgaXMNCmN1cnJlbnRseSAndW5z
aWduZWQgaW50Jywgd2hpY2ggaXMgaW5jb25zaXN0ZW50IHdpdGggaXRzICd1aW50MTZfdCcNCnJl
dHVybiB0eXBlIG9uIHg4NiBhbmQgdGhlICdhbHRwMm1faWR4JyBtZW1iZXIgb2YgdGhlIG1vbml0
b3Igc3RydWN0dXJlcy4NCg0KVG8gZml4IHRoaXMgdHlwZSBpbmNvbnNpc3RlbmN5IGFuZCBzaW1w
bGlmeSB0aGUgaGVhZGVyLCB0aGlzIHBhdGNoDQpyZXBsYWNlcyB0aGUgc3RhdGljIGlubGluZSBp
bXBsZW1lbnRhdGlvbiBvZiAnYWx0cDJtX3ZjcHVfaWR4KCknIA0KKGNvbnRhaW5lZCBhIEJVRygp
IHN0dWIpIHdpdGggYSBzaW1wbGUgZnVuY3Rpb24gZGVjbGFyYXRpb24gcmV0dXJuaW5nDQp1aW50
MTZfdC4NCg0KRm9yIGFyY2hpdGVjdHVyZXMgdXNpbmcgdGhlIGdlbmVyaWMgYWx0cDJtLmggaGVh
ZGVyIChzdWNoIGFzIEFSTSB3aGVuDQpDT05GSUdfVk1fRVZFTlQgaXMgZW5hYmxlZCksIGNvbW1v
biBjb2RlIGNhbGxzIHRvICdhbHRwMm1fdmNwdV9pZHgoKScgaW4gDQpjb21tb24vbW9uaXRvci5j
IGFyZSBndWFyZGVkIGJ5ICdhbHRwMm1fYWN0aXZlKCknLCB3aGljaA0Kc3RhdGljYWxseSByZXR1
cm5zICdmYWxzZScuIFRoZSBjb21waWxlcidzIERDRSB3aWxsIG9wdGltaXplIG91dCB0aGVzZSAN
CmNhbGxzLCBhdm9pZGluZyBhbnkgbGlua2VyIGlzc3VlcyBmb3IgdGhlIG1pc3NpbmcgZGVmaW5p
dGlvbi4NCg0KPiANCj4gSmFuDQoNCkJSLCBEbXl0cm8u


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 10:34:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 10:34:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343605.1602861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbbyv-0006fI-DF; Mon, 22 Jun 2026 10:34:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343605.1602861; Mon, 22 Jun 2026 10: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 1wbbyv-0006fB-A0; Mon, 22 Jun 2026 10:34:21 +0000
Received: by outflank-mailman (input) for mailman id 1343605;
 Mon, 22 Jun 2026 10:34:19 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wbbyt-0006f3-I7
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 10:34:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbbyq-005jXV-UD
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 12:34:16 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a390f9d-2eae-0a2a0a5409dd-0a2a45019c00-40
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 12:34:16 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a390fa8-e031-0a2a45010019-d155802dc1a9-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 12:34:16 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-49222b6e871so35943805e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 03:34: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-466648c5413sm26183013f8f.11.2026.06.22.03.34.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 03:34: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782124456; x=1782729256; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=RDzNNdHd4vNMUSDZ8I4fLAZSby25qbXcfj9DT//iM4A=;
        b=AoXdcvZ+iGSkBrBm3yJsJMZmhi18IlUa97/U9oX3Iewt5ky1PgLhACKmzZuksRMS7J
         gZrNJEaxSUxW4uHH8EXc2kWQY9tKlBzOhhMPPnoPrTNt/FF2iI7tCfCSJ+tZ2d5jZ9Yv
         ByKT+IntLUMY7QtKVHzA7Z98aYWbNb4ZpW2jb4BvO15qmnDED7smv64pYc80eWnMen4+
         JggAutPprTyFom4rrlyocBfkxjaQu8YdIqTOk53zk1v2KTVfGhSVeTAdJDkHMPLsBkKu
         6dPEnLENaPlexK5TQW45v+ZQVhRzmQFJViIn12IkqylrfWKO9qRC17oP4SZHx+W1vNn6
         iprw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782124456; x=1782729256;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=RDzNNdHd4vNMUSDZ8I4fLAZSby25qbXcfj9DT//iM4A=;
        b=ksSUsTkcgtjRdw7wcBPOLw+yGD1/Ijgs5CftRVj3Q3qaEtihFHy9EuqQ3Qlh0OgMCB
         WzXqpiM3h2+LnZjDCIsWRfGnd4kNkezOaxokqbj7xWnIf+DYUJQfIXZx9Neq+6vxeYCf
         c6jMpR+yzitWKed9DaRNp/em0BHZpwXEEEuennf8IxcrtIguxeU63G49qRr4QKQS6Rxj
         Yc7g/6+XMjRGj87Ziqdxig92IaYMp0NP225JOrTUMzQ7G4DISs2vWkULHzFQWB3hi1fX
         hixmPqlYyer7ArVihfb4b7EFVT0yrQToECpPrEqCxl1HEmGqV5awmi40AVwN9R7iMFju
         UumQ==
X-Forwarded-Encrypted: i=1; AFNElJ84ytpdAJkpZSfPXbecIEXDxplcExUKRQChGcRhI1IndhlUg6Q5YcrSleqSQ0s32i42INraqrlVQ7M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YypjrmFVbtxN4D8uaWoXRkVngpjbHsfklU/hffc6Mn6orTynMrK
	hNeG8kJuvNuiaswh/2KO/Z0AagKoCuA8PzcN3TPtBy8VGNFY0Nf2Ozp6ucXnNaovMQ==
X-Gm-Gg: AfdE7cmgXxGBPFPkkwK7Wq5tkkBX960wDpZybEX3+dts8FvAcZUc9u4/na5j68YpM3A
	lvNa7hXD8GVSL/ZWq3UKAd8SpiBcD6dydcjtjBbeQ2r4zi7mlnkm44Op6AgsUkesI+C4Oy+ofAk
	FtHjyGHRoISrGAkL4GdSwqwCZHX/VM2E+MHO2yYlhWNS71Y2/R7M5OmUs817rhb2Zi1Vx53m+Rk
	EYx93DPSU5/TIXXjU/5n6NLBD3XK9DvgB0vu2krCoSoyMdWRYzsM5Y0dk/HMEddfCsfBqnwVpm1
	poexk1i4tfEV3SlESiSge0H1S4kpYuVICAmZWHC7aZwzxjJPvwYagjbRTUVIJTgAOV/Jx4j43cR
	pTgtRXwaYu8I2hjb9kPfj2f5p2JSqNMDaBdfN9dUprqcmKYB/dQklP3A+ilz2t0VyNI7tCurcSp
	2LsLmLoBQzzrk8UMZ+nO2Cp4MJd9hLJWb5xU1XWPjh2Ou9u5RmuSzQeBHf5rUQCWj3DhIHby9WM
	VVo
X-Received: by 2002:a05:600c:820e:b0:490:d354:d151 with SMTP id 5b1f17b1804b1-49242571659mr185438835e9.18.1782124455754;
        Mon, 22 Jun 2026 03:34:15 -0700 (PDT)
Message-ID: <c5f00fa4-4d9e-4227-87a0-6e657fd523e9@suse.com>
Date: Mon, 22 Jun 2026 12:34:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 12/16] xen: implement new foreign copy hypercall
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
 <20260619130501.272832-13-frediano.ziglio@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: <20260619130501.272832-13-frediano.ziglio@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1782124456-70DF5E30-36E85AEB/0/0
X-purgate-type: clean
X-purgate-size: 7755

On 19.06.2026 15:04, Frediano Ziglio wrote:
> --- a/xen/common/memory.c
> +++ b/xen/common/memory.c
> @@ -1545,6 +1545,139 @@ static int acquire_resource(
>      return rc;
>  }
>  
> +/*
> + * The "noinline" qualifier avoids the compiler to create a large function
> + * consuming quite a lot of stack.
> + */
> +static int noinline mem_foreigncopy(
> +    XEN_GUEST_HANDLE_PARAM(xen_foreigncopy_t) arg)
> +{
> +    struct domain *d, *const currd = current->domain;
> +    xen_foreigncopy_t copy;
> +    int rc, direction;
> +
> +    if ( copy_from_guest(&copy, arg, 1) )
> +        return -EFAULT;
> +
> +    if ( copy.flags & ~XENMEM_foreigncopy_direction )
> +        return -EINVAL;
> +
> +    direction = copy.flags & XENMEM_foreigncopy_direction;
> +
> +    rc = rcu_lock_remote_domain_by_id(copy.domid, &d);

Iirc I did ask before why this isn't ..._by_any_id().

> +    if ( rc )
> +        return rc;
> +
> +    if ( copy.nr_frames == 0 )
> +    {
> +        rcu_unlock_domain(d);
> +        return 0;
> +    }

Any reason this cannot also be "goto out"? The more that now that you have
moved this past the domid validity check, imo it should further move to ...

> +    /*
> +     * Check we are allowed to map and access these foreign pages.
> +     */
> +    rc = xsm_map_gmfn_foreign(XSM_TARGET, currd, d);
> +    if ( rc )
> +        goto out;

... below here. Perhaps simply as

    if ( rc || !copy.nr_frames )
        goto out;

> +    do {
> +        /*
> +         * Arbitrary size.  Not too much stack space, and a reasonable stride
> +         * for continuation checks.
> +         */
> +        xen_pfn_t gfn_list[32];
> +        unsigned int todo = MIN(ARRAY_SIZE(gfn_list), copy.nr_frames);
> +
> +        rc = -EFAULT;
> +        if ( copy_from_guest(gfn_list, copy.frame_list, todo) )
> +            goto out;
> +
> +        for ( unsigned int i = 0; i < todo; i++ )
> +        {
> +            struct page_info *foreign_page;
> +            mfn_t foreign_mfn;
> +            void *foreign;
> +            p2m_type_t p2mt;
> +            const unsigned long valid_mask =
> +#ifdef CONFIG_X86
> +                p2m_to_mask(p2m_ram_rw) | p2m_to_mask(p2m_ram_logdirty);
> +#else
> +                p2m_to_mask(p2m_ram_rw);
> +#endif

The set of permitted types didn't change, yet a justification for the resulting
limitation also didn't appear.

> +            foreign_page = get_page_from_gfn(d, gfn_list[i], &p2mt, P2M_ALLOC);
> +
> +            if ( unlikely(!(p2m_to_mask(p2mt) & valid_mask)) && foreign_page )
> +            {
> +                put_page(foreign_page);
> +                foreign_page = NULL;
> +            }
> +            if ( unlikely(!foreign_page) )
> +            {
> +                gdprintk(XENLOG_WARNING,
> +                         "Error accessing foreign gfn %" PRI_gfn "\n",
> +                         gfn_list[i]);
> +                rc = -EINVAL;
> +                copy.nr_frames -= i;
> +                guest_handle_add_offset(copy.frame_list, i);
> +                goto out;
> +            }
> +
> +            foreign_mfn = page_to_mfn(foreign_page);
> +
> +            /* A page is dirtied when it's being copied to. */
> +            if ( direction == XENMEM_foreigncopy_to )
> +                paging_mark_dirty(d, foreign_mfn);
> +
> +            foreign = map_domain_page(foreign_mfn);
> +            if ( direction == XENMEM_foreigncopy_from )
> +                rc = copy_to_guest(copy.buffer, foreign, PAGE_SIZE);
> +            else
> +                rc = copy_from_guest(foreign, copy.buffer, PAGE_SIZE);

You cannot validly write to the page without holding a PGT_writable ref.
Else you might overwrite a page table or a descriptor table in a PV guest.

Once again - can you please make sure you have addressed earlier review
comments, before sending a new version? I did point this out before.

> +            unmap_domain_page(foreign);
> +            put_page(foreign_page);
> +
> +            if ( unlikely(rc) )
> +            {
> +                gdprintk(XENLOG_WARNING,
> +                         "Error %d copying gfn %" PRI_gfn "\n",
> +                         -rc, gfn_list[i]);

Why "-rc"? (See other log messages including error codes.)

> +                copy.nr_frames -= i;
> +                guest_handle_add_offset(copy.frame_list, i);
> +                goto out;
> +            }
> +
> +            guest_handle_add_offset(copy.buffer, PAGE_SIZE);
> +        }
> +
> +        copy.nr_frames -= todo;
> +        guest_handle_add_offset(copy.frame_list, todo);

Don't you need to also update copy.buffer?

> @@ -2012,6 +2145,18 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>              start_extent);
>          break;
>  
> +    case XENMEM_foreigncopy:
> +        /*
> +         * Instead of using "start_extent" we update the structure back,
> +         * we update it back in anyway to tell caller were the copy
> +         * stopped.
> +         */
> +        if ( unlikely(start_extent) )
> +            return -EINVAL;

As before - please be precise with comments like this. We update it back also
when encoding a continuation. Perhaps instead "..., to indicate the point of
failure to the caller as well as to encode continuations without being
constrained by MEMOP_EXTENT_SHIFT".

> --- a/xen/include/public/memory.h
> +++ b/xen/include/public/memory.h
> @@ -740,7 +740,49 @@ struct xen_vnuma_topology_info {
>  typedef struct xen_vnuma_topology_info xen_vnuma_topology_info_t;
>  DEFINE_XEN_GUEST_HANDLE(xen_vnuma_topology_info_t);
>  
> -/* Next available subop number is 29 */
> +/*
> + * Copy memory from/to a given domain.
> + * As this call requires target access and guest with target access won't be
> + * compat guests supported for compat guests this is not implemented.

As before - I question this. You simply can't know. (I'm also struggling with
wording / grammar.)

> + */
> +#define XENMEM_foreigncopy 29
> +struct xen_foreigncopy {
> +    /* IN - The domain whose memory is to be copied. */
> +    domid_t domid;
> +
> +    /* IN - Flags. */
> +#define XENMEM_foreigncopy_from 0
> +#define XENMEM_foreigncopy_to 1
> +#define XENMEM_foreigncopy_direction 1
> +    uint16_t flags;
> +
> +    /*
> +     * IN/OUT
> +     *
> +     * As an IN parameter number of frames of the domain to be copied.
> +     * On output on error updated number of frames left.
> +     */
> +    uint32_t nr_frames;
> +
> +    /*
> +     * IN/OUT
> +     *
> +     * Frames to be copied.
> +     * On output on error updated to point to first frame unhandled.

Is "on error" really correct / meaningful? The field can be updated at
any intermediate point, when a continuation is scheduled. Perhaps:

     * On output:
     *  - on error updated to point to first frame which couldn't be handled,
     *  - on success undefined.

Along these lines for nr_frames then as well (if needed at all, seeing
that it could as well be undefined in both cases, as the information is
redundant with the frame_list update).

> +     */
> +    XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
> +
> +    /*
> +     * IN/OUT
> +     *
> +     * Userspace buffer to read/write from.

s/Userspace/Guest/ ?

Also still no mention of when / how this field is updated.

> +     */
> +    XEN_GUEST_HANDLE(uint8) buffer;
> +};

What was (again) left unaddressed is the question towards using GFNs on both
sides of the copy. This would eliminate the need for the flags field, taken
by a 2nd domid_t one then.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 10:44:54 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 10:44:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343618.1602871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbc92-0008MP-7S; Mon, 22 Jun 2026 10:44:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343618.1602871; Mon, 22 Jun 2026 10:44: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 1wbc92-0008MI-4b; Mon, 22 Jun 2026 10:44:48 +0000
Received: by outflank-mailman (input) for mailman id 1343618;
 Mon, 22 Jun 2026 10:44:47 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wbc90-0008MC-W5
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 10:44:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbc8z-005hHO-NT
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 12:44:45 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a391211-5cb7-0a2a0a5109dd-0a2a450c9792-30
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 12:44:45 +0200
Received: from [209.85.221.48] (helo=mail-wr1-f48.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a39121d-94a4-0a2a450c0019-d155dd30e557-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 12:44:45 +0200
Received: by mail-wr1-f48.google.com with SMTP id
 ffacd0b85a97d-46066e640easo2507243f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 03:44: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-46667221de7sm24401088f8f.33.2026.06.22.03.44.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 03: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782125085; x=1782729885; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=LjYYBC+PySamCowp98NQsvisf2cTKrktagoqgALZYWM=;
        b=GeyxewuEua6tf44cTCyWAuVvBw7JKochuC1eoP8QgGBrKtvw/qdf3Wq4fQvtHncX5o
         OSPv6yNALqdef9PWjcKJbe+mc1RnxBUdoKv/EQWtpznmkxSynjvrR+KcV7xIs4atSZFH
         z7K9DtpkFDCY7o2Fv3HiIxgB8ZrSGGn53C8u8XAYmBMVfdkhMIFSd4WjQg6ao18WnALI
         I6GoJeykX7ou8uXx/VvGm8L5945Uma/vZgjPOVUscoi2TxTwBHid483OtUmUJVjEXNUY
         Mq81gwkp245q/mJn5rDD//e24Lat/QpkuMaNzjpTGWR29E5SeBvDC2dSJ6uQLvn6pKcq
         jqyg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782125085; x=1782729885;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LjYYBC+PySamCowp98NQsvisf2cTKrktagoqgALZYWM=;
        b=DzF0yojhvCskTKto5Npsk1h0SSbeReJSaTn8wRWCa/uQ3RzyHtUI56ewPsdq6cUFeM
         8E96asWO0x1Ip3h1nBSpva/Zlg0MnGCouLMDURPUEUqvU9xIgHGfYdBpOZ3uecNcAqbJ
         GGIp8ZNcPNjBPKWmgt8aSa4v7nSPjJtk8Ix2Rjfj+H3vnkbo++BBpJWYAA1ByIeOft9W
         OHvXxIdiMniGA3TErgQMc1DugijDmSbcmXftJOzs6SOu4RYzAD1lvnMoZx4soZzunF8e
         gP/LAI4wPZ+0kGgEVrpC2kibhXctcRYEOs7zx+3vXu/4zHlz6Vy+XvFltzK7wbbA888a
         0Zqw==
X-Forwarded-Encrypted: i=1; AHgh+RqTJK4xE9gKLqvGjwFip6yduK5B+TVXyMmsOUFgywjQ6Vp/+GYkV4S5heMDAiBgKcyotlMIIY58+Dg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyYCmOBNpkedLfwc4MXaulKnrsSbksmVTq5l4jXFG3f8ESJQhuQ
	+jKudiMe61zfF6KFe9kWiVIv00db1vNNILsQcO64NZtFoOz51jFJG5UbzlV4Jc6A7w==
X-Gm-Gg: AfdE7ckc+CwZISvb8IxfPWRX3gOExRUmc96UF9l/oNm0/A2fFL7rxCxC+gwIc0oqzh8
	dBs8ZItg2wHqhrL+DMYZRm3VNKqsl+LPDUXAyhaAoPplUcZ1fvzH3JZ175bAu6vw4YWIxZkEfiA
	2P3F9I3ZdhctUmz1xTA0ZMqAgE/ZdVeCihAxF5kPgjXC6tlVZ6VrwUC5tflfgV7Z8Cis9ocVJWn
	fzn/+GXl6CLwUbBjFgFQh6+thN6y3xplaIAFcCMXmoGLPlG2MpBt01hhdh+CdHqL0z0Ka480usD
	chAKghqyVHni6e6YjqZnbxYDfU/yiDg9i2BkKKEPLuCiyq8QSfRh6WoZ3a67J7hiVAe8druCSpO
	tkh39mpNt1TBRsAxKaItLwx996byz9RCaabmCX+IuMXtIETuLoiufpQOgnDzOw23eWUgSD8C4Sp
	gSoUxeDwNBX2IRWWRpde3eniVfr96hIPaqJDhvGhQ7zwqWiVVzRUxQCTTuGUaJMD9s1X5L7XcMJ
	HQD
X-Received: by 2002:adf:ebc5:0:b0:461:a15f:6df4 with SMTP id ffacd0b85a97d-46509f4d2e1mr19505923f8f.35.1782125085084;
        Mon, 22 Jun 2026 03:44:45 -0700 (PDT)
Message-ID: <81417260-2313-4bb4-b3bb-21ca3a5d22b3@suse.com>
Date: Mon, 22 Jun 2026 12:44:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 12/16] xen: implement new foreign copy hypercall
To: "Daniel P . Smith" <dpsmith@apertussolutions.com>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org, Frediano Ziglio <freddy77@gmail.com>
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
 <20260619130501.272832-13-frediano.ziglio@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: <20260619130501.272832-13-frediano.ziglio@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1782125085-539E2ABF-58D27519/0/0
X-purgate-type: clean
X-purgate-size: 1245

Daniel,

On 19.06.2026 15:04, Frediano Ziglio wrote:
> @@ -1545,6 +1545,139 @@ static int acquire_resource(
>      return rc;
>  }
>  
> +/*
> + * The "noinline" qualifier avoids the compiler to create a large function
> + * consuming quite a lot of stack.
> + */
> +static int noinline mem_foreigncopy(
> +    XEN_GUEST_HANDLE_PARAM(xen_foreigncopy_t) arg)
> +{
> +    struct domain *d, *const currd = current->domain;
> +    xen_foreigncopy_t copy;
> +    int rc, direction;
> +
> +    if ( copy_from_guest(&copy, arg, 1) )
> +        return -EFAULT;
> +
> +    if ( copy.flags & ~XENMEM_foreigncopy_direction )
> +        return -EINVAL;
> +
> +    direction = copy.flags & XENMEM_foreigncopy_direction;
> +
> +    rc = rcu_lock_remote_domain_by_id(copy.domid, &d);
> +    if ( rc )
> +        return rc;
> +
> +    if ( copy.nr_frames == 0 )
> +    {
> +        rcu_unlock_domain(d);
> +        return 0;
> +    }
> +
> +    /*
> +     * Check we are allowed to map and access these foreign pages.
> +     */
> +    rc = xsm_map_gmfn_foreign(XSM_TARGET, currd, d);
> +    if ( rc )
> +        goto out;

can you please clarify whether such a re-use of an existing predicate is
acceptable?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 11:15:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 11:15:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343632.1602880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbccU-00045C-Dk; Mon, 22 Jun 2026 11:15:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343632.1602880; Mon, 22 Jun 2026 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 1wbccU-000455-AY; Mon, 22 Jun 2026 11:15:14 +0000
Received: by outflank-mailman (input) for mailman id 1343632;
 Mon, 22 Jun 2026 11:15:13 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wbccT-00044z-1j
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 11:15:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbccR-00Aeqg-Ny
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 13:15:11 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a391939-5cb7-0a2a0a5109dd-0a2a4504bc36-16
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 13:15:11 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a39193f-5f9f-0a2a45040019-d1558032a433-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 13:15:11 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-4921e4dd62dso33766835e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 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-4924944fb71sm193047645e9.14.2026.06.22.04.15.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782126911; x=1782731711; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=IOYx67Ar0C2PXA3Y3/zcQuO9nRhyTn7gqbbEGm5ZFI0=;
        b=T8u2x6zQdC+rW+3ZZ82elCgQi41dP8mrVp/ahUYpN04yYVKL2DANo49tkdUUgT69o5
         Zdq4WVPJUeZQQ35UuyrxZdV7xVXv+3sXz2EQQTrf0yqifbicC4n5HKQHa4sbejFxfFOy
         IyryXh+TiEAEmAjkz8YlNPoX/4/2jrcOfgae44VhLPGBAb0SlEeQbAItsgDITzR70GF2
         Xcj0xxHGsZ0F28RYmCscsR1TEQ5HzUJeAeC0CvV0x8Qs+sWiiy6gpHi3BLX3FaEyNY/y
         LFrPndNK8td4eBSvKYR3tc8xh4SqTYYfYExTXfmAlqChCCDVMJf/pJVNO+qfXzophCGE
         BVtA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782126911; x=1782731711;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IOYx67Ar0C2PXA3Y3/zcQuO9nRhyTn7gqbbEGm5ZFI0=;
        b=JmCt95vkoYQOjs+Y1bxgg5QwmwHY1tI4Dw5GlEUo3xQPHGKr5vKOmPpqy2crAbmP2i
         bcJbU+y0bo6hRGAv8sQQ7NFk9vxu1WnT12YpsjExBAooR8H7y7R0LoSMLS9x3awnaRUC
         YYajaFzSzktCvq3ijQdXewJl4D+Zi+Il323vssi8/tKCsVogWbWC4NTb+x2QRSzLzaVP
         5fvFkxCMwHDiMo2s7D9fCV30tahIgjGI1KYeImQ97ab7TVAUDvTwwvF8tGQKm5hsk0R3
         w0eEHcxcmsdS82iQtZQYyLtWlVDa41OMtDK47W+hdE9wYt4QaEDPjMVcXR4r7yml4+8K
         JSaQ==
X-Forwarded-Encrypted: i=1; AFNElJ+Eyc++373ecgyfcxvrytPt0YcaVRoy6GXqmYeROVFY6Nq2MwMmPAs25uU8ZSlAjeLQB+K8wiJdUxo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy87ilOXskyWanudAyjZJFz8hi/Ep+GaXFZ+ZQdirO7x97ibwIW
	bjzW5Tz69KjOeF1z1Dyfkrd7Ciuwfe71tGQC5lgXbCX9jxYtzKac7bUiERR1bapE8A==
X-Gm-Gg: AfdE7ckQpb5gT9Vu8kVZB3oma4NQ2sHuysugXc1UCn/XGaLaYq0EeXeqfFJAsK4N19R
	2+6v9MSbA1Nys4+i2Ol2kC1+CIQdT8Cl4LB5p+jnzG8wcpS+kYhmvGsd70fUD0ulh4kRA0ejyny
	3IBcmEItB9uO4opXPCcrjzo5flSwAvFhM0xZo2gmRbf3DXUeOVVvbCAFcN9bjWNZcAzoICYZWYe
	SF2dMOagaLCaHIZaX91SK3YKOLmGm6hm7AwxqxB1CbqVDPeeoHQivsXucYAOOe+CtvfYzvAlMBc
	uCAFkKsyFdeU2Ds3pNSFr0apU4FXdAi2YftFkJPxd9cAYDjHUhYhLXEzzo/5ESqD2k4t+FeXOcK
	wWyjZBvFvqDMuqF8wP2V+XT8som8Ied70Ik2xrMuTGGdLHeTsAMAHrDq9na7lmW6c/YPiAprRGO
	6AusgayqUoaWEL3xrDEOZZDuOz6Rx+RCmwe9YOWPjOskezWAj1fIGXeSkbtv6XENND9EIHy35hK
	uVO
X-Received: by 2002:a05:600c:83c9:b0:492:4a1a:a96a with SMTP id 5b1f17b1804b1-4924a1aaa71mr122511815e9.11.1782126910962;
        Mon, 22 Jun 2026 04:15:10 -0700 (PDT)
Message-ID: <abe97058-5a9d-4f16-800f-86974798f160@suse.com>
Date: Mon, 22 Jun 2026 13:15:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 10/15] pci: Use pci_sbdf_t in pci_add_device()
To: Teddy Astie <teddy.astie@vates.tech>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 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>,
 xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794557.8631fc262581453bbf619ec5b2062170.19edb3b4fc3000701b@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1781794557.8631fc262581453bbf619ec5b2062170.19edb3b4fc3000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1782126911-45DC8141-36A4B0A0/0/0
X-purgate-type: clean
X-purgate-size: 3662

On 18.06.2026 16:50, Teddy Astie wrote:
> Also take the opportunity to avoid refetching sbdf from pdev
> since we already have it now.

I question this; see below.

> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -661,12 +661,11 @@ unsigned int pci_size_mem_bar(pci_sbdf_t sbdf, unsigned int pos,
>      return is64bits ? 2 : 1;
>  }
>  
> -int pci_add_device(u16 seg, u8 bus, u8 devfn,
> -                   const struct pci_dev_info *info, nodeid_t node)
> +int pci_add_device(pci_sbdf_t sbdf, const struct pci_dev_info *info, nodeid_t node)

Nit: This line is too long now.

> @@ -700,16 +699,14 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
>          pdev->info = *info;
>          if ( pdev->info.is_virtfn )
>          {
> -            struct pci_dev *pf_pdev =
> -                pci_get_pdev(NULL, PCI_SBDF(seg, info->physfn.bus,
> -                                            info->physfn.devfn));
> +            pci_sbdf_t pf_sbdf = PCI_SBDF(sbdf.seg, info->physfn.bus, info->physfn.devfn);

As is this one.

> @@ -728,14 +725,14 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
>              if ( !pdev->ext_cfg )
>                  printk(XENLOG_WARNING
>                         "%pp: VF without extended config space?\n",
> -                       &pdev->sbdf);
> +                       &sbdf);
>          }
>      }
>  
>      if ( !pdev->info.is_virtfn && !pdev->physfn.vf_rlen[0] )
>      {
>          unsigned int pos = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_SRIOV);
> -        uint16_t ctrl = pci_conf_read16(pdev->sbdf, pos + PCI_SRIOV_CTRL);
> +        uint16_t ctrl = pci_conf_read16(sbdf, pos + PCI_SRIOV_CTRL);

Are changes like these two actually worthwhile to make? sbdf, being a function
parameter, can be modified in the course of the function. pdev->sbdf, otoh,
cannot (for being in a const struct field). If further sbdf, throughout the
function, never had its address taken, the compiler may be able to produce
better code.

> @@ -817,14 +814,14 @@ out:
>      pcidevs_unlock();
>      if ( !ret )
>      {
> -        printk(XENLOG_DEBUG "PCI add %s %pp\n", type, &pdev->sbdf);
> +        printk(XENLOG_DEBUG "PCI add %s %pp\n", type, &sbdf);
>          while ( pdev->phantom_stride )
>          {
>              func += pdev->phantom_stride;
>              if ( PCI_SLOT(func) )
>                  break;
>              printk(XENLOG_DEBUG "PCI phantom %pp\n",
> -                   &PCI_SBDF(seg, bus, slot, func));
> +                   &PCI_SBDF(sbdf.seg, sbdf.bus, slot, func));

Why sbdf.bus but not sbdf.slot? In fact this is a case where altering sbdf may
help: You then wouldn't need the func local variable anymore either.

> --- a/xen/drivers/pci/physdev.c
> +++ b/xen/drivers/pci/physdev.c
> @@ -50,7 +50,7 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>          }
>  #endif
>  
> -        ret = pci_add_device(add.seg, add.bus, add.devfn, &pdev_info, node);
> +        ret = pci_add_device(PCI_SBDF(add.seg, add.bus, add.devfn), &pdev_info, node);

Yet another overlong line.

> --- a/xen/include/xen/pci.h
> +++ b/xen/include/xen/pci.h
> @@ -229,8 +229,7 @@ void setup_hwdom_pci_devices(struct domain *d,
>  int pci_release_devices(struct domain *d);
>  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,
> -                   const struct pci_dev_info *info, nodeid_t node);
> +int pci_add_device(pci_sbdf_t sbdf, const struct pci_dev_info *info, nodeid_t node);

And again.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 11:26:01 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 11:26:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343646.1602888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbcmp-0005pB-EQ; Mon, 22 Jun 2026 11:25:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343646.1602888; Mon, 22 Jun 2026 11: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 1wbcmp-0005p4-Bq; Mon, 22 Jun 2026 11:25:55 +0000
Received: by outflank-mailman (input) for mailman id 1343646;
 Mon, 22 Jun 2026 11:25:54 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <vulab@iscas.ac.cn>) id 1wbcmo-0005oy-1k
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 11:25:54 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbcmm-007YAG-OR
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 13:25:52 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <vulab@iscas.ac.cn>)
 id 6a391bba-bab6-0a2a0a5309dd-0a2a450bc16c-10
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 13:25:50 +0200
Received: from [159.226.251.81] (helo=cstnet.cn)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <vulab@iscas.ac.cn>)
 id 6a391bbb-5e53-0a2a450b0019-9fe2fb5183b8-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 13:25:49 +0200
Received: from localhost.localdomain (unknown [117.182.74.238])
 by APP-03 (Coremail) with SMTP id rQCowADH5dy4GzlqFCSGFQ--.2637S2;
 Mon, 22 Jun 2026 19:25:46 +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>
Authentication-Results: eu.smtp.expurgate.cloud; none
From: Wentao Liang <vulab@iscas.ac.cn>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org,
	Wentao Liang <vulab@iscas.ac.cn>,
	stable@vger.kernel.org
Subject: [PATCH v2] xen/gntdev: fix error handling in ioctl
Date: Mon, 22 Jun 2026 19:25:41 +0800
Message-Id: <20260622112541.38194-1-vulab@iscas.ac.cn>
X-Mailer: git-send-email 2.39.5 (Apple Git-154)
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:rQCowADH5dy4GzlqFCSGFQ--.2637S2
X-Coremail-Antispam: 1UD129KBjvJXoW7AF13Zw4kWry7trWfZrW7CFg_yoW8Aw4Dp3
	9xKa98Ar4rX3yIq3Wqyaya9FyFg34fKFW8CFykK3Z8ZrnIv3W2vr15tFyjgr4UJws7urW5
	Zr1v9FyruFW5ArJanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
	9KBjDU0xBIdaVrnRJUUUkl14x267AKxVW8JVW5JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
	rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02
	1l84ACjcxK6xIIjxv20xvE14v26r4j6ryUM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4j
	6F4UM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s
	0DM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xII
	jxv20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr
	1lF7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7MxkF7I0En4kS14v26r12
	6r1DMxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI
	0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc40Y
	0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxV
	WUJVW8JwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1l
	IxAIcVC2z280aVCY1x0267AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7VUbSfO7UUUU
	U==
X-Originating-IP: [117.182.74.238]
X-CM-SenderInfo: pyxotu46lvutnvoduhdfq/1tbiBwkGA2o43crsHAAAs+
X-purgate-ID: tlsNG-42698a/1782127550-46FE100E-34595B79/0/0
X-purgate-type: clean
X-purgate-size: 1796

When gntdev_ioctl_map_grant_ref() fails to copy the operation result
back to userspace after successfully adding the mapping to the list,
the error path returns -EFAULT without releasing the reference
acquired by gntdev_alloc_map(). The mapping remains in priv->maps
with a refcount of 1, causing a memory leak and a dangling list
entry.

Additionally, gntdev_add_map() may modify map->index to avoid overlap
with existing mappings. Therefore, the index returned to userspace
must be obtained after gntdev_add_map() completes.

Fix this by holding the mutex across gntdev_add_map(), retrieving
the correct index, and copy_to_user(). If copy_to_user() fails,
remove the mapping from the list and release the reference while
still holding the lock.

Cc: stable@vger.kernel.org

Fix these issues by properly handling all error cases.

Fixes: 1401c00e59ea ("xen/gntdev: convert priv->lock to a mutex")
Fixes: 68b025c813c2 ("xen-gntdev: Add reference counting to maps")

Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
---
 drivers/xen/gntdev.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c
index 61ea855c4508..1dcc4675580e 100644
--- a/drivers/xen/gntdev.c
+++ b/drivers/xen/gntdev.c
@@ -670,11 +670,15 @@ static long gntdev_ioctl_map_grant_ref(struct gntdev_priv *priv,
 	mutex_lock(&priv->lock);
 	gntdev_add_map(priv, map);
 	op.index = map->index << PAGE_SHIFT;
-	mutex_unlock(&priv->lock);
 
-	if (copy_to_user(u, &op, sizeof(op)) != 0)
+	if (copy_to_user(u, &op, sizeof(op)) != 0) {
+		list_del(&map->next);
+		mutex_unlock(&priv->lock);
+		gntdev_put_map(priv, map);
 		return -EFAULT;
+	}
 
+	mutex_unlock(&priv->lock);
 	return 0;
 }
 
-- 
2.39.5 (Apple Git-154)



From xen-devel-bounces@lists.xenproject.org Mon Jun 22 11:31:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 11:31:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343655.1602899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbcs7-0007UL-0h; Mon, 22 Jun 2026 11:31:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343655.1602899; Mon, 22 Jun 2026 11:31: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 1wbcs6-0007UE-TE; Mon, 22 Jun 2026 11:31:22 +0000
Received: by outflank-mailman (input) for mailman id 1343655;
 Mon, 22 Jun 2026 11:31:21 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wbcs5-0007U8-DX
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 11:31:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbcs4-007Zd7-LC
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 13:31:20 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a391d00-5cb7-0a2a0a5109dd-0a2a45058464-34
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 13:31:20 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a391d08-ef3d-0a2a45050019-d1558032b1b0-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 13:31:20 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-490b613a17bso34897245e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 04:31: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-4924944fbbdsm230383495e9.12.2026.06.22.04.31.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 04:31: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782127880; x=1782732680; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=YEtde28m6TgS/wf8VYChM89lkdHfmNxREwvNSMc62Hc=;
        b=XTIUUkdCtLUc7rQC6tH13eUr0nxKwMyyksVyoHgqQl1s4UvpUt5CnGAvl7ADTk72eF
         SLiPcsxlXCC03GR23YSAL0sjyEikOhRvMIfEOW13pvZL9lOGWOiaQBXrrWVYVhG8QpOr
         L8UL3oL9HeGPAPNQkTb58siszZafzXlbHFlMckcoFBjqK/9DMFXMPeZ/Qv8mjcM/KjSh
         L2Wkl9EcrJbImkoNG4n6iixYhIqBKVkALWx46bhuDIr3sY8wMdzWKYO95OOWS2VTSWRo
         rKfReU2FfiRzc0AiPLpH6/vKQNdobfr65zsbVhNncUtqRm7Be6sZteLG8n/MP8vmKWFH
         SPsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782127880; x=1782732680;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=YEtde28m6TgS/wf8VYChM89lkdHfmNxREwvNSMc62Hc=;
        b=sy1B6vsgTr+ojEZgdxduSHxDlLVAemDI2zCQ8dyD/+Y2KbL33uO2HaPlij+V9fwUtx
         DgyFlEMssXZ8hWAzrM7XAZyaZtZsu2QVMyn8ToqCQTW7xFsTgMs7eBu8TvFzMBcJK4Yj
         ta1C3qj4eKOaXQsKgZF3GDUzirrm+P9QiFtX6B0X+RK049eLZNYvdYjhzeJyag3O9KrN
         xSwvBuCP8kc22g0fJ7TKEPszSsj7F/5vkpBPrUZc0t/kKumynD32qSnTUnfcfTzyb15k
         PL6CWQ41dBI/t+Vf/8/F3VekmXHs6BeOm2r5ZqjhlKqbgiqsIZ5PLhEGKA4fo91INiWl
         zMtw==
X-Forwarded-Encrypted: i=1; AFNElJ9RCxVleTzOYcJioAlXx/1INpd9XGrUdLpeW0J3jrW/Ep4Ejz7wPmiyuUOs2Qw+Gbl/7h//0seO8UY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyaADzG0s3o4UFvAw1W2MnBe1Oly6plLlwz+Oh8wFK+R/FFCTce
	cb4ExFdfP6V6m8ZaZCY4X7LrvpRWRQA0uP1Fs7umv/71i5QCaeaT1n20+LjfgJPCfQ==
X-Gm-Gg: AfdE7cmwH3ANiRD76O674ykffsPnsq7Jcw5EWen3Gc+t6Dc1R7kXBPRMUngN7UW2G+M
	OvCyfF9ApDJ6ZyXgUTJp4kBlxXk7+dZ9TTCNfMMkDcEawKeOYQJcTnnz/l/vV1JvqyJ+4qO1yDF
	9WXlzVYqq9kwGndIG5Zz6Op2z0o/bV26QqYn9kRPTHkLpw79fJDwiV3Kv4jQWDTmmpqfPfsVqlv
	Z8bdvWQdpipboG+GZ34V0Dcxxn0Dq8BXdsgiE7aWOXpWxqXtyse2/TilyKXfcfNUozasUF/yXcx
	eXjWrQ1p0jqKPufLNUeXsslooT0W6jxq9C4aBMn69PSSO0Eg79Q/fSiahg9MnCaI6o1inAdlzEb
	maAbPqXooqqo6RLeWAtjsFXNK944wWiPLHaIYjnPCJCXsmj4jsBpEJ5OUYhbwznOtNWDXJq6amk
	4h+aGkG3HpPbwBXCkQnLvn9Y5sDr9Rb/rzmxHIggsIfhqNrAW6N9IGns4tqtgMPV8ljG8DQzZ8X
	DbF
X-Received: by 2002:a05:600c:630d:b0:492:46c3:c7dc with SMTP id 5b1f17b1804b1-4924908f450mr147657835e9.14.1782127879854;
        Mon, 22 Jun 2026 04:31:19 -0700 (PDT)
Message-ID: <78189a1e-3465-4bbf-a2d4-53c2754f43f3@suse.com>
Date: Mon, 22 Jun 2026 13:31:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 11/15] vtd: Rewrite igd device check in
 acpi_parse_dev_scope()
To: Teddy Astie <teddy.astie@vates.tech>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794558.8631fc262581453bbf619ec5b2062170.19edb3b524c000701b@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1781794558.8631fc262581453bbf619ec5b2062170.19edb3b524c000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1782127880-F7DD3127-F06EB016/0/0
X-purgate-type: clean
X-purgate-size: 733

On 18.06.2026 16:50, Teddy Astie wrote:
> --- a/xen/drivers/passthrough/vtd/dmar.c
> +++ b/xen/drivers/passthrough/vtd/dmar.c
> @@ -389,7 +389,7 @@ static int __init acpi_parse_dev_scope(
>                                      PCI_CLASS_DEVICE + 1) != 0x03
>                                      /* PCI_BASE_CLASS_DISPLAY */ )
>                      gfx_only = false;
> -                else if ( !seg && !dev_sbdf.bus && path->dev == 2 && !path->fn )
> +                else if ( dev_sbdf.sbdf == PCI_SBDF(0, 0, 2, 0).sbdf )
>                      igd_drhd_address = drhd->address;
>              }

Just like we have mfn_eq() and gfn_eq(), should we perhaps also have a (typesafe)
sbdf_eq() for use e.g. here?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 11:38:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 11:38:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343665.1602906 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbcye-0008G0-Lu; Mon, 22 Jun 2026 11:38:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343665.1602906; Mon, 22 Jun 2026 11:38: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 1wbcye-0008Ft-Id; Mon, 22 Jun 2026 11:38:08 +0000
Received: by outflank-mailman (input) for mailman id 1343665;
 Mon, 22 Jun 2026 11:38:07 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wbcyd-0008Fn-KZ
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 11:38:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbcyc-00AlOr-Qh
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 13:38:06 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a391e8c-5cb7-0a2a0a5109dd-0a2a4501b35e-30
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 13:38:06 +0200
Received: from [209.85.128.41] (helo=mail-wm1-f41.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a391e9e-e031-0a2a45010019-d1558029c552-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 13:38:06 +0200
Received: by mail-wm1-f41.google.com with SMTP id
 5b1f17b1804b1-4924593f45dso25847385e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 04:38: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-4923fd30078sm288146645e9.7.2026.06.22.04.38.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 04:38: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782128286; x=1782733086; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=9yIafG5Z20Vh+E/oJYF660pEjNiFntX2HGWppGanY4o=;
        b=GeF6n6KeZCvatTX5Pfqs7UQ10At1Ch2GK5XbUnCUwuowY+2MKMYaNBM9ayGbdg8sKR
         vnf0fvj2YoqtLjkdxUoR+Na4x590B9zKJwYEOKXKl6/1aZ9BYkiOokJESV9EjScl2g6A
         YMaPSFhSFNxaBoLO44cWlqhQC+c6LfQl32kD4eaUV1q4O+v2j8WSDTI2SM9mkGEvdsnA
         ColwHojrYA34PjxPfbFdX/E2GYsQ1XilvJsGQk6qfEbhpRYQN01bf0/dQD/SUxBeybUI
         0KBsiZdLB9JC42mVrA2Y3VrYVFrQjfNEemJjIv9nTySU60hWClIrWAu7CqZ8OeL15XWU
         IeqA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782128286; x=1782733086;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9yIafG5Z20Vh+E/oJYF660pEjNiFntX2HGWppGanY4o=;
        b=F/y6Bd20dA3LxGvVY6Yn7Ikwpb+cKau/xI07QTVouZCBbbcm+QITsdA53IcV1w5V0h
         m7vHs9/uHaTngbnga0lAhtyFI84pIJojwIxzOcOQzLtSkjfddMPLspNuFcUvHfkGSoTt
         BEB6+ejatnjHKs4w02esvNZ7DHFN2DtB1jA71+Qj5o0czE/WU3EOX6iN0cNXaU2qcwFI
         PsDY2zzEt8ZYYtOwgfYYfFxmxLzOIJ49vzP2JbOhV3L2M2fC1bd5oPxTED48u0TYd7wI
         LWJjOFxOUBhfWMHbjCWFVt1gQVVdRy/fMRbwef6oVF1EgDeM4Gss+u7OlzriEPRbq8ed
         s51g==
X-Forwarded-Encrypted: i=1; AFNElJ/PcZo0mbufwy6bVrEIbD+ftRqu39S/t/CL31PbD6Cj/RhpgzW+YlcEzqSIaqhVIY+6nZjJT/P7oy8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywgfv7hnW8G0Oc+JV3VGTlauzBa3YSmNs6Yt/hrm42+8HXS/sqi
	6HXtEax8KIiA22n9H9rRoWu8/Fx2XBy1idqSHI7UpVCP7FMpzUKt4YOy7SsXOZ7oHQ==
X-Gm-Gg: AfdE7cmHCoBrPSw5iRFJYMbnRBIWWui5uKo0/RHuk7fHtUpZA+L7GcGKGmEHgK1wMK0
	ApF0G6ylMXZ2hXzqHlOlIUbKmvzI1mnl5etBlvsMJbjkLtqeWjXkNHImgmdkZt8qvNA6vl59+ol
	xQFjcZqJZzE8q/srOKJnufY0wH5uDzXW/zHkbbKQk6DfV+ScxyVnr7Wg+65Yx7po9RxnCIRXhUN
	Y673xV3Hk1K/irsF8GwlqRd0DQJ7NPjLDlsqn+ezxnmyXBpM/LxTfFa5TbXeD3Y6pMWbh57otBW
	WS3aBpHV4/7zrsCmMqJXCzD0Pl0vofhXSlQQuSanhgrh1jGKoCheWX5aIFwL+2CVXA7bz3xeYDq
	y9vE5PYTe6sgOx7Rxa+I0pgJ+i44F9N45lr4pUS4UnFvzPRZw3TNmkC63suHViT23uWC8GPugEW
	yoKyTTxrc9aoYd0bl7YGxS4+V1WFx/Z+OQwhXvOsHb4T1VwiGR/ovoU+2rJj4qocZ+M0ZlD7ip6
	bW0
X-Received: by 2002:a05:600c:4e48:b0:492:4a7a:e41c with SMTP id 5b1f17b1804b1-4924a7ae517mr127263295e9.6.1782128286218;
        Mon, 22 Jun 2026 04:38:06 -0700 (PDT)
Message-ID: <2d2164f0-9edc-41d5-9d88-b0a5e3fdbc06@suse.com>
Date: Mon, 22 Jun 2026 13:38:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 13/15] pci: Drop parse_pci{_seg}()
To: Teddy Astie <teddy.astie@vates.tech>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794560.8631fc262581453bbf619ec5b2062170.19edb3b5812000701b@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1781794560.8631fc262581453bbf619ec5b2062170.19edb3b5812000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1782128286-70FF4E30-C8D738C9/0/0
X-purgate-type: clean
X-purgate-size: 1083

On 18.06.2026 16:50, Teddy Astie wrote:
> --- a/xen/include/xen/pci.h
> +++ b/xen/include/xen/pci.h
> @@ -273,12 +273,6 @@ unsigned int pci_find_ext_capability(const struct pci_dev *pdev,
>  unsigned int pci_find_next_ext_capability(const struct pci_dev *pdev,
>                                            unsigned int start,
>                                            unsigned int cap);
> -const char *parse_pci(const char *s, unsigned int *seg_p, unsigned int *bus_p,
> -                      unsigned int *dev_p, unsigned int *func_p);
> -const char *parse_pci_seg(const char *s, unsigned int *seg_p,
> -                          unsigned int *bus_p, unsigned int *dev_p,
> -                          unsigned int *func_p, bool *def_seg);
> -
>  const char *parse_pci_sbdf(const char *s, pci_sbdf_t *sbdf);
>  const char *parse_pci_sbdf_seg(const char *s, pci_sbdf_t *sbdf, bool *def_seg);

Could I talk you into adding yet another cleanup patch on top, to drop the
_sbdf again from these new functions? They really only serve an intermediate
purpose.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 11:42:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 11:42:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343674.1602917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbd2h-0001LG-5B; Mon, 22 Jun 2026 11:42:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343674.1602917; Mon, 22 Jun 2026 11:42:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbd2h-0001L9-1U; Mon, 22 Jun 2026 11:42:19 +0000
Received: by outflank-mailman (input) for mailman id 1343674;
 Mon, 22 Jun 2026 11:42:17 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wbd2f-0001L3-0w
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 11:42:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbd2d-005uQS-UL
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 13:42:15 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a391f83-e002-0a2a0a5209dd-0a2a450c92d8-36
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 13:42:15 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a391f97-94a4-0a2a450c0019-d1558031b8a7-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 13:42:15 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490b7866869so42395715e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 04:42:15 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492494496d8sm209262435e9.9.2026.06.22.04.42.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 04:42:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782128535; x=1782733335; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=cMMmSbn0/igSU8GklAAu9xL88UUccHdAK3axehZF634=;
        b=T9Mva6ZjWYAAgjhxmmrcrgxzmUnxuOwTPi/MCL+1hSRxMW8J9eI7DIrd/FU2oCnvnV
         JDd54TJn8i6xL1OlCR1dWzlgV80oFpE5ekf1EY0q8UByFSlSzzad9TTUfPix9i1W1ExM
         +1+oPh+Bd8p7ZWQdBjNP/U0n4ekdgFKqAorGNEE9bIiqkMhmMm3akPjGWZPdEbdsUavw
         IXfWc02iVfH1NXyR/Say/J/fWq1l9cZJHBiPrRXsSGlw7qbbY/ysOSudFzm0uWgEXgAJ
         suf/efaaTQ67L9BqqjqNjqAuW5gMYVA0iO4lieuYtR291IUuq1LLYmRuRBRwULVgw4FQ
         nc9g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782128535; x=1782733335;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cMMmSbn0/igSU8GklAAu9xL88UUccHdAK3axehZF634=;
        b=pw4rMu+ypHot9lOKs0JECtDKHmseEJk2S7UU75SQ2l4QCXa32gccVooiSrBzH43Le6
         SZ7dkN7RPAgefVdMB1xOonbRYLEWiuvC+hZ4KGJG0H37plaubGBuOm00OuuKhM9eb6ol
         Cl/k9WPjJBNm3K0f5/aAaNyqRjZeSlF2jEW31F3T/xf7S96nIzfnBgaeQOSIIYRC7bKr
         4o3b1GEB+GgWkSJ2rxz5vM4pwpBKN5UDDoOP+jAgN1+xJGLdE/xUqn+uM9ByyuK43XAT
         A2iWmHaZwnYOqnRxxdq2iODFJdAWoDv8T38eEj0uC0yMblCd8lF+GvC6FgvGfL9d3FGh
         YxbA==
X-Forwarded-Encrypted: i=1; AFNElJ8pjefehSjx9bDHpKcQj/o5wFrNP8ardvjdsX0017WHrS0vk196/PxD2mTzziD9D9II7efccH86rYM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxUloF6VezyLB4sZjrFaSrnYlMRZ7MSo/+9ZK7OcaibmLr2R8/C
	uqfugEujaC92GMskySW+cxRBK91kmL1CNdKbfcZXCmkdjQu+oUswQZvY4orWeI19Jw==
X-Gm-Gg: AfdE7clmkD/OTX81GyW+GTz7DCzF6WqM7JSwSH53GZe634m2zlaI1UIl9Vkd1yRUj6C
	jwemzbMoKQCm/W6TmDUKMKnGxN8/0Y2xavcfFSf4A2qaNR9iMVASLyY8/HAry6QA1yrisDuoeV6
	MEYUwIYnjXyGHqshUXDeBOFSPy0twsN1KtZjU2dHAL67ls7cB2gnR8INhKmBchtDyVjFzsEs28v
	AY4Kx4I1U0xaXLGL4UMGeLN+IgxZJsg3Ml24CV3GDgl0IZzuZZzPPIgYshNrWTKuhWOyzRKKX7n
	Ug9sQmUzr0q9BcAPvjOsZrvKqAJJM8htFrvQUy2cCk4RjztWFm0MI5vz991l7VrIAJ5bm06OARk
	e15aEl/EvovbbcRVOzQkO6kbe4tb1KR5g3Efw8RnI66Qxz92lB9jrjKypdnroWVv0EjBUzOXRTu
	KGcKbzGh2nX1okTHGxZ/KBPvZP8t7tFREBwDm+bTLmVmd9yqDTNQO64wCEPTVBt0gkZAz3FiUat
	AKgv0En/vUcvjA=
X-Received: by 2002:a05:600c:190f:b0:490:d9d0:51c8 with SMTP id 5b1f17b1804b1-4924257073dmr218876805e9.18.1782128535394;
        Mon, 22 Jun 2026 04:42:15 -0700 (PDT)
Message-ID: <cdbf8c8a-e926-40ac-b751-9f13b7f762ef@suse.com>
Date: Mon, 22 Jun 2026 13:42:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 14/15] ehci-dbgp: Use pci_sbdf_t instead of (bus, slot,
 func)
To: Teddy Astie <teddy.astie@vates.tech>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794560.8631fc262581453bbf619ec5b2062170.19edb3b5af5000701b@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1781794560.8631fc262581453bbf619ec5b2062170.19edb3b5af5000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1782128535-D9BF3ABF-82F39BDE/0/0
X-purgate-type: clean
X-purgate-size: 1408

On 18.06.2026 16:50, Teddy Astie wrote:
> --- a/xen/drivers/char/ehci-dbgp.c
> +++ b/xen/drivers/char/ehci-dbgp.c
> @@ -335,7 +335,8 @@ struct ehci_dbgp {
>      struct timer timer;
>      spinlock_t *lock;
>      bool reset_run;
> -    u8 bus, slot, func, bar;
> +    u8 bar;

Please switch to uint8_t while touching the line.

> @@ -1009,20 +1008,18 @@ static set_debug_port_t __read_mostly set_debug_port = default_set_debug_port;
>  static void cf_check nvidia_set_debug_port(
>      struct ehci_dbgp *dbgp, unsigned int port)
>  {
> -    uint32_t dword = pci_conf_read32(PCI_SBDF(0, dbgp->bus, dbgp->slot,
> -                                              dbgp->func), 0x74);
> +    uint32_t dword = pci_conf_read32(dbgp->sbdf, 0x74);
>  
>      dword &= ~(0x0f << 12);
>      dword |= (port & 0x0f) << 12;
> -    pci_conf_write32(PCI_SBDF(0, dbgp->bus, dbgp->slot, dbgp->func), 0x74,
> +    pci_conf_write32(dbgp->sbdf, 0x74,
>                       dword);
>      dbgp_printk("set debug port to %u\n", port);
>  }
>  
>  static void __init detect_set_debug_port(struct ehci_dbgp *dbgp)
>  {
> -    if ( pci_conf_read16(PCI_SBDF(0, dbgp->bus, dbgp->slot, dbgp->func),
> -                         PCI_VENDOR_ID) == 0x10de )
> +    if ( pci_conf_read16(dbgp->sbdf, PCI_VENDOR_ID) == 0x10de )

This could also do with using PCI_VENDOR_ID_NVIDIA while touching it.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 12:00:56 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 12:00:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343686.1602925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbdKZ-0004I5-Jh; Mon, 22 Jun 2026 12:00:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343686.1602925; Mon, 22 Jun 2026 12:00: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 1wbdKZ-0004Hy-GU; Mon, 22 Jun 2026 12:00:47 +0000
Received: by outflank-mailman (input) for mailman id 1343686;
 Mon, 22 Jun 2026 12:00:45 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wbdKX-0004Hs-QP
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 12:00:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbdKX-007g0R-1h
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 14:00:45 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3923e3-2eae-0a2a0a5409dd-0a2a4504de1a-44
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 14:00:44 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3923ec-5f9f-0a2a45040019-d1558032d01c-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 14:00:44 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-4903d730b1fso64726135e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 05:00: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-4923fd30078sm289617145e9.7.2026.06.22.05.00.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782129644; x=1782734444; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ACWgBZRqTCSZfU+qtZ6V/WImZt+PSoRJaKj4/pnok+E=;
        b=dTGcuM8Me+qPaC0yiobRdnFvhhjhFWH5PkAqd3Xd+DonRFlsbpaF4uXreDR1uksctq
         tScGcgTde1FQam1PQhbKnhgErZqGad5qtx/982n7NUDjcpeE2ppZAcY6NqOhGQXKgXQL
         UZ5Od5PwZOXGXtz0u0PFQojR7mIYkEpbs1t2eMPq/LBygqE0EUq8bNN8YhLsLzCQJ0PL
         yeG5QDfLmUCH3jdm7TjxHdbh6OxI4Y4d1OcVjXMgjYfoG8iPuvrhzZGuGco+QUhGxwmH
         3EXH0SHygor/TFJ2nG65Xp38C7sV2JuYx30qK1wovHEu9ICzzcc8YKTrAPJxZl5jygyW
         DTLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782129644; x=1782734444;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ACWgBZRqTCSZfU+qtZ6V/WImZt+PSoRJaKj4/pnok+E=;
        b=QZ4nf9RRMOyBSoyQPYKfvh6k3+8ZrtLt+6rwY91A8UeqTwg2c8hhxnIxve/7pxfJLa
         cDQqtaU/mXRjFJqLXpceM4vbrj9aFQ+AJlPhe6zc9CwOscKPsMGyAclxhg6Pd0oTFN28
         ie7EVoK64Fk9EmdQdsYbQFzlparWiBE1kGvNixZrG/a8RfdmtYX74umS0WbHS0GMv28j
         IYpJUsmhckAMXNyQho8QBIjgVWGInsFzAsptkN/dYBB3jxm7zx4gwz8963+eHLaQnnN1
         dJ/rbMmhBItZFU4BsB6jwjASvaRegEjesS53j1Uv7DIy7BAhyTKcfxEHzuh7DUZ7I6Rx
         nNsg==
X-Forwarded-Encrypted: i=1; AFNElJ/DoG+qs+zJ75LAkhksw/xL40UgMalE2pcULuWduDDyD5pFc/dCkCPOv66J2KJIH2d9iUf9qFlDPgg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwjCa6euCnNrg+4kMP2xhbS9G3oBQUd+ld37MV/NmG3LxCwqA/H
	dEpVTXEUz6YbfIbjG+b3L939zmiK3hZ/TmK9AXRtJpja7KnhRcj/O0IREpFsrWB13A==
X-Gm-Gg: AfdE7ckX5uikZ+iaeIc9oDxPcpOI8dSgKhwp18/k1oK/rGuecg6AktzTZAEsImKlzF9
	ebvqBKHjdtHWh+6rK+NSZW8D6XbdiZIrlUBtCWl9OtP7HdmW00BJHFGltIDnbiIzLYBjt3D0RHW
	O4xmRWkrqHleoq9dPsgzYm572tILfEQT90vNHHbgL8iKtMwnYHrAVu/oPuHefV81DYsxfXXJj28
	XtGJbtE+kVSec29LZ0GBBDoyh3Ictx2OCTNLpQE5mCKmXhlonuWC07nPMW3nLKpaG7Ou030AuEU
	bQwhpgcCCl7r7MY1/GT80CkgZE28MrlT7RXDDkFw3WL2OCRJeermFVzTO4Pq/UzqMYWvLyT6wSt
	EbT44aThdOIrfSOtDa5fdsDvzzW9cT3GwrNW+7HHJJ58yywr4/gV6/VKrtvbKeuhL0VxmqQ2jN1
	exiydS6rUScn0tiZIa7OTDt4TKP5ohg2wOCOGiK7X2AAkty1ttAOzMdBXB6HxUC9fOjKccQ1bK0
	2sE
X-Received: by 2002:a05:600c:5020:b0:490:d946:47cf with SMTP id 5b1f17b1804b1-4923ef47d08mr232214485e9.4.1782129644165;
        Mon, 22 Jun 2026 05:00:44 -0700 (PDT)
Message-ID: <0c37c031-cc21-44d2-9ef6-4baf6f24d74b@suse.com>
Date: Mon, 22 Jun 2026 14:00:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/3] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
To: Hirokazu Takahashi <taka@valinux.co.jp>
Cc: 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>,
 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: <20260617071206.265599-1-taka@valinux.co.jp>
 <20260617071206.265599-2-taka@valinux.co.jp>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20260617071206.265599-2-taka@valinux.co.jp>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1782129644-4D197141-72580229/0/0
X-purgate-type: clean
X-purgate-size: 5693

On 17.06.2026 09:12, Hirokazu Takahashi wrote:
> --- /dev/null
> +++ b/xen/common/cpu-topology.c
> @@ -0,0 +1,30 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +
> +#include <xen/cpumask.h>
> +#include <xen/cpu-topology.h>
> +#include <xen/init.h>
> +#include <xen/acpi.h>
> +
> +void __init init_cpu_topology(void)
> +{
> +    const unsigned int nr_cpus = cpumask_last(&cpu_possible_map) + 1U;
> +
> +    cpu_topology = xzalloc_array(struct cpu_topology, nr_cpus);

cpu_topology exists as a global variable only when DT is in use. I think the
definition needs to move here (from common/device-tree/cpu-topology.c).

As to the size of the array, it's not quite clear to me whether by doing it
this way (instead of using nr_cpu_ids) we're not setting ourselves up for
trouble.

> +    if ( !cpu_topology )
> +        panic("Failed to allocate memory for cpu_topology array\n");

I question such uses of panic(): Surely we can do without any NUMA info,
it's only performance which is going to suffer.

> --- /dev/null
> +++ b/xen/common/device-tree/cpu-topology.c
> @@ -0,0 +1,343 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * Derived from Linux kernel 7.0's $drivers/base/arch_topology.c
> + * Parse cpu topology information.
> + */
> +
> +#include <xen/cpumask.h>
> +#include <xen/device_tree.h>
> +#include <xen/cpu-topology.h>
> +#include <xen/numa.h>
> +#include <xen/errno.h>
> +#include <xen/init.h>
> +
> +struct cpu_map {
> +    unsigned int thread_id;
> +    unsigned int core_id;
> +    unsigned int cluster_id;
> +    unsigned int package_id;
> +};
> +
> +struct cpu_topology *cpu_topology;
> +static const unsigned int __initdata invalid_topo_id = (~0U);
> +static struct cpu_map __initdata cpu_map[NR_CPUS] = {
> +    [0 ... NR_CPUS-1] = {invalid_topo_id, invalid_topo_id, invalid_topo_id, 0U}
> +};
> +static struct dt_device_node * __initdata dt_cpu_table[NR_CPUS];
> +
> +static void __init setup_siblings_masks(unsigned int cpuid)
> +{
> +    struct cpu_topology *cpuid_topo = &cpu_topology[cpuid];
> +    struct cpu_map *cpuid_map = &cpu_map[cpuid];
> +    unsigned int cpu;
> +
> +    /* Update core and thread sibling masks */
> +    for_each_possible_cpu(cpu)
> +    {
> +        struct cpu_topology *cpu_topo = &cpu_topology[cpu];
> +        struct cpu_map *map = &cpu_map[cpu];
> +
> +        if ( cpuid_map->package_id != map->package_id )
> +            continue;
> +
> +        cpumask_set_cpu(cpuid, &cpu_topo->core_sibling);
> +        cpumask_set_cpu(cpu, &cpuid_topo->core_sibling);
> +
> +        if ( cpuid_map->cluster_id != map->cluster_id )
> +            continue;
> +
> +        if ( cpuid_map->cluster_id != invalid_topo_id )
> +        {
> +            cpumask_set_cpu(cpu, &cpuid_topo->cluster_sibling);
> +            cpumask_set_cpu(cpuid, &cpu_topo->cluster_sibling);
> +        }
> +
> +        if ( cpuid_map->core_id != map->core_id )
> +            continue;
> +
> +        cpumask_set_cpu(cpuid, &cpu_topo->thread_sibling);
> +        cpumask_set_cpu(cpu, &cpuid_topo->thread_sibling);
> +    }
> +}
> +
> +static struct dt_device_node * __init dt_find_child_node_by_name(struct dt_device_node *from, const char *name)

Nit: Overlong line here, and ...

> +static int __init parse_core(struct dt_device_node *core,
> +                unsigned int package_id, unsigned int cluster_id,
> +                unsigned int core_id)

... bogus indentation e.g. here. Please go though yourself to check style.

> --- /dev/null
> +++ b/xen/drivers/acpi/topology.c
> @@ -0,0 +1,38 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +
> +#include <xen/cpumask.h>
> +#include <xen/cpu-topology.h>
> +#include <xen/init.h>
> +#include <xen/acpi.h>
> +
> +/*
> + * ToDo: Populate the topology information by scanning the ACPI
> + *       PPTT (Processor Properties Topology Table).

Please can this be spelled "TODO:", to stand out more and to be a hit also
with case sensitive grep for "TODO"?

> --- a/xen/include/xen/acpi.h
> +++ b/xen/include/xen/acpi.h
> @@ -101,6 +101,8 @@ void acpi_table_print (struct acpi_table_header *header, unsigned long phys_addr
>  void acpi_table_print_madt_entry (struct acpi_subtable_header *madt);
>  void acpi_table_print_srat_entry (struct acpi_subtable_header *srat);
>  
> +void acpi_init_cpu_topology(void);
> +
>  /* the following four functions are architecture-dependent */
>  void acpi_numa_slit_init (struct acpi_table_slit *slit);
>  void acpi_numa_processor_affinity_init(const struct acpi_srat_cpu_affinity *);
> @@ -133,6 +135,8 @@ static inline int acpi_boot_table_init(void)
>  	return 0;
>  }
>  
> +static inline void acpi_init_cpu_topology(void) {}

This shouldn't be needed. When ACPI=y, acpi_disabled is compile-time true,
and hence the compiler can and will DCE the call. All it needs to see is a
declaration, which therefore wants to move outside of the CONFIG_ACPI
conditional.

> --- /dev/null
> +++ b/xen/include/xen/cpu-topology.h
> @@ -0,0 +1,36 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#ifndef XEN_CPU_TOPOLOGY_H
> +#define XEN_CPU_TOPOLOGY_H
> +
> +#include <xen/types.h>
> +#include <xen/dt-cpu-topology.h>
> +
> +struct cpu_topology {
> +    cpumask_t thread_sibling;
> +    cpumask_t core_sibling;
> +    cpumask_t cluster_sibling;
> +};

With huge NR_CPUS this can be pretty large a struct (of which in init_cpu_topology()
you allocate an array). Imo you want to use cpumask_var_t here, with allocation added
as needed.

> +
> +

Nit: No double blank lines please.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 12:13:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 12:13:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343697.1602935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbdWz-0006Aq-N4; Mon, 22 Jun 2026 12:13:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343697.1602935; Mon, 22 Jun 2026 12:13:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbdWz-0006Aj-JY; Mon, 22 Jun 2026 12:13:37 +0000
Received: by outflank-mailman (input) for mailman id 1343697;
 Mon, 22 Jun 2026 12:13:36 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <marmarek@invisiblethingslab.com>) id 1wbdWy-0006Ad-63
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 12:13:36 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbdWw-004UuH-C0
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 14:13:34 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a3926dc-e002-0a2a0a5209dd-0a2a4503c3de-36
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 14:13:34 +0200
Received: from [103.168.172.146] (helo=fout-a3-smtp.messagingengine.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a3926ec-a3da-0a2a45030019-67a8ac92b31d-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 14:13:33 +0200
Received: from phl-compute-10.internal (phl-compute-10.internal [10.202.2.50])
 by mailfout.phl.internal (Postfix) with ESMTP id 88EEDEC03D2;
 Mon, 22 Jun 2026 08:13:32 -0400 (EDT)
Received: from phl-frontend-04 ([10.202.2.163])
 by phl-compute-10.internal (MEProxy); Mon, 22 Jun 2026 08:13:32 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 22 Jun 2026 08:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=1782130412;
	 x=1782216812; bh=vfjZr+4FnTcu0PUmGlLJGPBXVmgwF1vg8QgkeU+w4Gk=; b=
	GAr4VZGHa0ulOKxtTsm+9BPgX5jtJ8h8oXktHCEqaWwtEYTD9kyNWrXHijpJQelT
	kcAUr92HwrzzrSR+gtQQo0wnC6yQ9kw6J91gNqV0bfg4ANFPhXlvRM0TeKMlVQ+g
	yOvc/x0k9mMT29Ae+2dK1bTJGUsTnYiQrwYPppqkioBs3vYyzaiMLUhFFRPeraIL
	99JLB8gUEQos4BCyZPYCIwzq5zuHD4M1k2daqxlDPisR6q8bL7N2b1cYXfCiqXab
	gg9YOW2D9lXc0PMDTmyIaxY9ZeHd7eupGzvaaCfVQr8YfHBxuhVc7QJQ4DiodSu3
	rqoMfk7YQ5tRI+w1YQEAVg==
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=
	1782130412; x=1782216812; bh=vfjZr+4FnTcu0PUmGlLJGPBXVmgwF1vg8Qg
	keU+w4Gk=; b=a7eMJ83FS652s8VQ3t5EuNIoIPNyMIe+gCwszIcffJIrvZVFcUM
	lem/qXZ9AQCAzmTgOp9tD3fOeL4sEzF4u3V4TUAmsT0qQPATfin26V8ELrObneyt
	arJ/sZMrrsADkybqVLJfja7yetTxsraISl0r9/zBWXYM8cN1OUvaU+HcpDTEe/VW
	CjRGSR2815zJg7K0+/KkkFUydS1y3TDPPK+O/pb3qn95o7jbJlnQSUitnkwEOhzp
	BxxQEIH3ZaW+6IcxhoN6BIA6c3XtcsZsepjjOslw83zjx4+ectrQMzt1j+dzGtPP
	Z/kkjvr7vM0OuZlcMtg/Aa4TDsYM0pKbkJA==
X-ME-Sender: <xms:6yY5ah0ucIM9klqFTy-nxgetGXtvinndBAQdpoD_LwuD2x1XNcOTJQ>
    <xme:6yY5apnaju7VgIWFhHaqXkBW5U_cGT_hsmS6Qiai7IlkNQj84QLmPN44wLrR059Zh
    b3zCSnSVGPn8ska8pjJ0Y86rIIaZkl9O8vwp4xWoHcsfd3oZw>
X-ME-Received: <xmr:6yY5ah9GWlPKHVJl_EkVY3Zw2aJCuh7kyUys2jYs0gyRV9ttAV2RbCLx>
X-ME-Proxy-Cause: dmFkZTERqzvLcHKMxH8zx79I6BPKj5MJjiNhkPe8bKgfbSPg3rmDgaqpgBMetq8XTR/xj4
    7dl+vN+91b/R0rRyI2Vftj/ukU2x7/wQIwsddpLWdBLXMuxSeSItpnAki+IS+Zl2Zda7f4
    e4ejdSzqS68AMxuBS+FWMBxeEe/tP8m3FPH7ps+jCqds62adNqJ+ay8D/TWcgdSRnhHdpK
    wB1PVnbycbVg3INa/XG22O/mGoujtnFl6u/t5b+Rm+ky2ZokuyMAcvJ56IxW/L9VIhBsKF
    vuztLoF7qSGCPDUAgWVyu0nydAic5f4t8Bv7TmcOBX4POep3xYLv5s1j/KKdylERSFCJYV
    Tx0wr/+5cRXCw1pZWRkdBCpLoV3S0AYHW/mmiGhLRkgN4BgyUPSYdgzf3UkqYo1aYke3eu
    8zg4gYG6zNHJaNzIIl1/7ZX2v90cK49cA6bU44c3S25UAylwbpAOpWI8hQ/XXXRB9HipiC
    ER5EPq2Yt60Svu7Y2eSusoQiW2s669qKkyGhbJuh1k/9HWvfreMYfvwnRKE34GpkNaG6tP
    bF/En+aCNFAmO3uvXO47cj9uOirjUOP/ikBjy5c5/8URxey+yoyY6id9RS0yV94iFIET4e
    UJ4IiqW7504bWYSYc3XAy2fIQTwuevlI1Z8/2hrz44TV3xh0ZxqnJWnTvnCg
X-ME-Proxy: <xmx:6yY5auoOACMoyvOEJPd8-cJOGVTAnISwWZljlMO0U7FHJlO6leuVqQ>
    <xmx:6yY5aqndXfbIUvofhFjtqBiYjacD_cfc_m8KGSg0-QrMOvd-MtgO7g>
    <xmx:6yY5alh4WhgGOUG1d-XkTqXmaffQRBUrSzuWordvQ5eOiGHO2qXGvw>
    <xmx:6yY5aieohzAYDUKh4g2Z3Q1pKyEX1aj24D17QqIKOGv4dOLYIMnT-A>
    <xmx:7CY5aky-q9uX36BJ5KE-mU6ovnhw6zXZPpm4eoePXQlrhKNdFnEsRWkS>
Feedback-ID: i1568416f:Fastmail
Date: Mon, 22 Jun 2026 14:13:27 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Matthew Brost <matthew.brost@intel.com>
Cc: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel <xen-devel@lists.xenproject.org>,
	intel-xe@lists.freedesktop.org, jani.nikula@intel.com
Subject: Re: Graphical glitches (not refreshing?) with Linux's xe driver +
 Xen 4.19
Message-ID: <ajkm52RUk2T5P53J@mail-itl>
References: <aYtznP_tT6xNPwf-@mail-itl>
 <aY3ttvtxGCPTNgsj@Mac.lan>
 <aY58-gyarcVoBS2a@mail-itl>
 <aZ3KoSlIzru0Uumu@mail-itl>
 <aaVyKFaCSuhJufW2@mail-itl>
 <ajMD0Jsml3ytlWOY@mail-itl>
 <ajMs2lkXmTppifK7@gsse-cloud1.jf.intel.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="YHlKVsH+wm+43+zg"
Content-Disposition: inline
In-Reply-To: <ajMs2lkXmTppifK7@gsse-cloud1.jf.intel.com>
X-purgate-ID: tlsNG-33051d/1782130414-E3DD7D84-AF9148E2/0/0
X-purgate-type: clean
X-purgate-size: 9941


--YHlKVsH+wm+43+zg
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 22 Jun 2026 14:13:27 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Matthew Brost <matthew.brost@intel.com>
Cc: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel <xen-devel@lists.xenproject.org>,
	intel-xe@lists.freedesktop.org, jani.nikula@intel.com
Subject: Re: Graphical glitches (not refreshing?) with Linux's xe driver +
 Xen 4.19

On Wed, Jun 17, 2026 at 04:25:14PM -0700, Matthew Brost wrote:
> On Wed, Jun 17, 2026 at 10:30:08PM +0200, Marek Marczykowski-G=C3=B3recki=
 wrote:
> > On Mon, Mar 02, 2026 at 12:19:04PM +0100, Marek Marczykowski-G=C3=B3rec=
ki wrote:
> > > On Tue, Feb 24, 2026 at 04:58:25PM +0100, Marek Marczykowski-G=C3=B3r=
ecki wrote:
> > > > On Fri, Feb 13, 2026 at 02:23:06AM +0100, Marek Marczykowski-G=C3=
=B3recki wrote:
> > > > > On Thu, Feb 12, 2026 at 04:11:50PM +0100, Roger Pau Monn=C3=A9 wr=
ote:
> > > > > > On Tue, Feb 10, 2026 at 07:06:20PM +0100, Marek Marczykowski-G=
=C3=B3recki wrote:
> > > > > > > Hi,
> > > > > > >=20
> > > > > > > Recently I started testing compatibility with Intel Lunar Lak=
e. This is
> > > > > > > the first one that uses "xe" instead of "i915" Linux driver f=
or iGPU.
> > > > > > > I test it with Qubes OS 4.3, which uses Xen 4.19.4 and PV dom=
0 running
> > > > > > > Linux 6.17.9 in this test.
> > > > > >=20
> > > > > > Not sure it's going to help a lot, but does using a PVH dom0 ma=
ke any
> > > > > > difference?
> > > > >=20
> > > > > Ok, now with the correct Xen version, it's better with PVH dom0. =
At
> > > > > least on the login screen and few applications (from both dom0 an=
d domU)
> > > > > I don't see the glitches anymore. I can't do a full test, because=
 PCI
> > > > > passthrough doesn't seem to work with PVH dom0 on Xen 4.19 - and =
I need
> > > > > it to start most VMs.
> > > > >=20
> > > > > So, if the above test is representative, it's only about PV dom0.
> > > >=20
> > > > Some further observations:
> > > >=20
> > > > 1. My initial impression that Xen 4.17.6 is not affected is false.
> > > > Apparently I got lucky and didn't waited long enough for glitches to
> > > > appear. Unfortunately this means I have no way to bisect this...
> > > >=20
> > > > 1a. Updated test procedure - either:
> > > >   - start Qubes OS in full (including default system domUs) and try=
 to
> > > >     open an app in one of them (for example file manager or pdf vie=
wer)
> > > >   - start Linux up to lightdm login page, log in, log out, click on=
 a
> > > >     few lightdm menus (session type selector, poewroff menu etc)
> > > >=20
> > > > The second version works even if toolstack version in dom0 doesn't =
match
> > > > Xen version. If no glitches are observed after doing either of those
> > > > procedures, assume it's good.
> > > >=20
> > > > 2. Xen staging is affected too. As well as Xen staging-4.19 without
> > > > any qubes patches.
> > > >=20
> > > > 3. After enabling CONFIG_DEBUG in Xen, the xe.ko fails to load firm=
ware:
> > > >=20
> > > >     xe 0000:00:02.0: [drm] Tile0: GT0: Using GuC firmware from xe/l=
nl_guc_70.bin version 70.53.0
> > > >     xe 0000:00:02.0: [drm] *ERROR* Tile0: GT0: load failed: status =
=3D 0x40000056, time =3D 0ms, freq =3D 1850MHz (req 1850MHz), done =3D -1
> > > >     xe 0000:00:02.0: [drm] *ERROR* Tile0: GT0: load failed: status:=
 Reset =3D 0, BootROM =3D 0x2B, UKernel =3D 0x00, MIA =3D 0x00, Auth =3D 0x=
01
> > > >     xe 0000:00:02.0: [drm] *ERROR* Tile0: GT0: firmware production =
part check failure
> > > >     xe 0000:00:02.0: [drm] *ERROR* Tile0: GT0: Failed to initialize=
 uC (-EPROTO)
> > > >     xe 0000:00:02.0: probe with driver xe failed with error -71
> > > >=20
> > > > CONFIG_DEBUG is the only change between "xe.ko loads fine but there=
 are
> > > > glitches later on" and "xe.ko fails to load at all". Full console l=
ogs:
> > > > https://gist.github.com/marmarek/47b5e62a2cdbae6678c2aecc5283cd3f, =
there
> > > > are 3 files:
> > > >   - CONFIG_DEBUG=3Dn
> > > >   - CONFIG_DEBUG=3Dy
> > > >   - CONFIG_DEBUG=3Dy + iommu=3Ddebug
> > > >=20
> > > > 4. Updating to Linux 7.0-rc1 doesn't help, for example:
> > > > https://openqa.qubes-os.org/tests/168119#step/desktop_linux_manager=
_create_qube/11
> > > >=20
> > > > Generally, it does feel like a bug in xe.ko, but I can't exclude so=
me issue
> > > > on Xen side too (especially given point 3 above).
> > >=20
> > > After waiting some time (Linux 6.19.5 this time), Xen CONFIG_DEBUG=3D=
n, I get some timeout messages:
> > >=20
> > >     [    8.122120] xe 0000:00:02.0: [drm] [ENCODER:204:DDI A/PHY A] f=
ailed to retrieve link info, disabling eDP
> > >     [    8.148476] xe 0000:00:02.0: [drm] Tile0: GT0: Using GuC firmw=
are from xe/lnl_guc_70.bin version 70.53.0
> > >     [    8.803845] xe 0000:00:02.0: [drm] Tile0: GT0: ccs1 fused off
> > >     [    8.804208] xe 0000:00:02.0: [drm] Tile0: GT0: ccs2 fused off
> > >     [    8.804556] xe 0000:00:02.0: [drm] Tile0: GT0: ccs3 fused off
> > >     [    8.822426] xe 0000:00:02.0: [drm] Tile0: GT1: Using GuC firmw=
are from xe/lnl_guc_70.bin version 70.53.0
> > >     [    8.827140] xe 0000:00:02.0: [drm] Tile0: GT1: Using HuC firmw=
are from xe/lnl_huc.bin version 9.4.13
> > >     [    8.829478] xe 0000:00:02.0: [drm] Tile0: GT1: Using GSC firmw=
are from xe/lnl_gsc_1.bin version 104.0.5.1429
> > >     [    8.852923] xe 0000:00:02.0: [drm] Tile0: GT1: vcs1 fused off
> > >     [    8.853513] xe 0000:00:02.0: [drm] Tile0: GT1: vcs2 fused off
> > >     [    8.854090] xe 0000:00:02.0: [drm] Tile0: GT1: vcs3 fused off
> > >     [    8.854706] xe 0000:00:02.0: [drm] Tile0: GT1: vcs4 fused off
> > >     [    8.855310] xe 0000:00:02.0: [drm] Tile0: GT1: vcs5 fused off
> > >     [    8.855904] xe 0000:00:02.0: [drm] Tile0: GT1: vcs6 fused off
> > >     [    8.856495] xe 0000:00:02.0: [drm] Tile0: GT1: vcs7 fused off
> > >     [    8.857079] xe 0000:00:02.0: [drm] Tile0: GT1: vecs1 fused off
> > >     [    8.857675] xe 0000:00:02.0: [drm] Tile0: GT1: vecs2 fused off
> > >     [    8.858272] xe 0000:00:02.0: [drm] Tile0: GT1: vecs3 fused off
> > >     [    8.975881] xe 0000:00:02.0: [drm] Registered 3 planes with dr=
m panic
> > >     [    8.976586] [drm] Initialized xe 1.1.0 for 0000:00:02.0 on min=
or 0
> > >     [    8.980882] ACPI: video: Video Device [GFX0] (multi-head: yes =
 rom: no  post: no)
> > >     [    9.033754] xe 0000:00:02.0: [drm] Tile0: GT1: found GSC cv104=
=2E1.0
> > >     ...
> > >     [ 1218.319232] xe 0000:00:02.0: [drm] Tile0: GT0: Engine reset: e=
ngine_class=3Drcs, logical_mask: 0x1, guc_id=3D3
> > >     [ 1218.319890] xe 0000:00:02.0: [drm] Tile0: GT0: Timedout job: s=
eqno=3D9883, lrc_seqno=3D9883, guc_id=3D3, flags=3D0x0 in Xorg [3245]
> > >     [ 1218.320736] xe 0000:00:02.0: [drm] Xe device coredump has been=
 created
> > >     [ 1218.321140] xe 0000:00:02.0: [drm] Check your /sys/class/drm/c=
ard0/device/devcoredump/data
> > >     [ 1222.285626] xe 0000:00:02.0: [drm] *ERROR* [CRTC:88:pipe A] fl=
ip_done timed out
> > >     [ 1232.525685] xe 0000:00:02.0: [drm] *ERROR* flip_done timed out
> > >     [ 1232.526280] xe 0000:00:02.0: [drm] *ERROR* [CRTC:88:pipe A] co=
mmit wait timed out
> > >     [ 1242.765717] xe 0000:00:02.0: [drm] *ERROR* [CRTC:88:pipe A] fl=
ip_done timed out
> > >     [ 1253.005696] xe 0000:00:02.0: [drm] *ERROR* flip_done timed out
> > >     [ 1253.006248] xe 0000:00:02.0: [drm] *ERROR* [CRTC:88:pipe A] co=
mmit wait timed out
> > >     [ 1263.245599] xe 0000:00:02.0: [drm] *ERROR* [CRTC:88:pipe A] fl=
ip_done timed out
> > >=20
> > > The glitches appear much earlier, though.
> > > Would content of /sys/class/drm/card0/device/devcoredump/data be usef=
ul
> > > for debugging this?
>=20
> Yes, it would. Jobs hanging can be a bug anywhere in the stack (e.g.,
> Hardware bug, KMD bug, UMD bug, application bug, etc...) but the
> devcoredump would give us some hints.
>=20
> > >=20
> > > Full log at https://openqa.qubes-os.org/tests/168813/file/serial0.txt
> > > (warning, almost 200MB of those errors...)
> >=20
> > The issue still happens with Linux 7.0.12. Current log (quite similar to
> > the previous one):
> > https://openqa.qubes-os.org/tests/184602/logfile?filename=3Dserial0.txt
>=20
> Hmm, the 'not started' messages in the dmesg are a bit concerning as
> this really shouldn't be possible to trigger even if user space is doing
> something wrong.
>=20
> Can you file a gitlab issue against Xe here: https://gitlab.freedesktop.o=
rg/drm/xe/kernel/issues/new
>=20
> TBH, I have no idea if running Xen / Qubes OS + Xe is something anyone
> at Intel has tried out, so please include instructions on to how
> reproduce and we will see in someone on engineering team can take a look
> at this and if issues in Xe KMD exist, try to get these fixed.

I've opened https://gitlab.freedesktop.org/drm/xe/kernel/-/work_items/8382
including the crashdump and fresh logs.

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

--YHlKVsH+wm+43+zg
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmo5JucACgkQ24/THMrX
1yzI1wf5AU1sEiz6RYblyOrWAq7ESWDwbarF056r2jimgjKzRofAyCh7c0fjg7b+
uHbSwR/yJXhwKBHT39EWyrDgfHgJlPkzlvxX0WiAZ12e9XBgjwL5utrqpq7iLJeP
32Xp3kEVXsaO6LYK3/SU4JgruW6JtHIzOTEoxeTh2VuwKEgQMLuMPuV2yo2ABi+P
nXi6NSwyk64GMfr+QtiCie+DEI5RTl6MDDNwujX6j/fND7IfTl46dPf+hEqBHFGv
M7rQGfd8UJ9Qtm2tX7ujj5h+xRMbbL4s7K4UEnbIEmI7U7omqtUyI+aAQpLIfiYX
sym+i/MaIYbyjw24T0WDeZYVwFs2kw==
=x/cx
-----END PGP SIGNATURE-----

--YHlKVsH+wm+43+zg--


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 13:12:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 13:12:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343719.1602942 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbeRQ-0005lz-NK; Mon, 22 Jun 2026 13:11:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343719.1602942; Mon, 22 Jun 2026 13:11: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 1wbeRQ-0005ls-JS; Mon, 22 Jun 2026 13:11:56 +0000
Received: by outflank-mailman (input) for mailman id 1343719;
 Mon, 22 Jun 2026 13:11:55 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eef757354000701b@swg.vates.tech>)
 id 1wbeRO-0005lm-Nu
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 13:11:55 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbeRN-00AlZ0-Vb
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 15:11:53 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eef757354000701b@swg.vates.tech>)
 id 6a393493-e002-0a2a0a5209dd-0a2a450c9a3e-28
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 15:11:53 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eef757354000701b@swg.vates.tech>)
 id 6a393499-94a4-0a2a450c0019-b9ff1c129627-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 15:11:53 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19eef757354000701b.001 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 22 Jun 2026 13:11:52 +0000
Received: from l14 (lfbn-lyo-1-414-55.w2-7.abo.wanadoo.fr [2.7.24.55])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id 85A1A86562;
 Mon, 22 Jun 2026 15:11:51 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=KJYDyPINznWZxXrW9v7ofKzDBtzGrj3LDhA+w+w1lfA=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=kDCFLE7VgMVLe1MQCMyHIhmPXVIJRdpPrDO34Mh2ibw9G+8yPawTQRJTbZQ5b8zUeGaiacwVp
 d0wVbVmVzS2BX+Dwv9h+w2KzrbVoFAQtHmxT/5NIgWYABOHTQAGpeyuvJDXxsWb2U5IPE7RC6QO
 RH0aRSK0/OxYmNcF3wOaQEaPZkRAYNKmMKGnxgCxO9O8HITbkn6QUe9j31PjRJ7NXqy3kq92Bcu
 6Tvc/X8rJP82pwZu3H/gLn81HdSVcGydy4mBN7cWfrp3sOblJI08uiSCxwotb4NIeTtsfPNNemC
 oAPFkp8TcJlUWyh4cr5VIaLmzgYCxGrUIZ6OegW2/3+A==
X-Zone-Loop: 77e93e99ca1aedc373dc38bbf1868e5c17c41b4eee15
x-campaign-type: default
x-transaction-id: 3217cee0-b955-4c1c-83c4-afd8ba5f6ccd
x-swg-uid: 01-6fc1d0d2-5dd3-43b6-99fb-4034421e188b
X-Mailer: Sweego
Message-ID:
 <1782133912.8631fc262581453bbf619ec5b2062170.19eef757354000701b@vates.tech>
x-swg-bid: 1782133912.8631fc262581453bbf619ec5b2062170.19eef757354000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Mon, 22 Jun 2026 15:11:51 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: Thierry Escande <thierry.escande@vates.tech>
Cc: xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>
Subject: Re: [RFC PATCH v4 3/6] libxl: Add libxl__device_pci_get_qapi_json()
 internal API
References: <1776955586.8631fc262581453bbf619ec5b2062170.19dbace7684000f373@vates.tech>
 <1776955852.8631fc262581453bbf619ec5b2062170.19dbad285c5000f373@vates.tech>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1776955852.8631fc262581453bbf619ec5b2062170.19dbad285c5000f373@vates.tech>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.931.16e9c9b44125b201.19eef757048.da0ac3fbdc25f4a2=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1782133911625
X-purgate-ID: tlsNG-d25034/1782133913-D87F9ABF-F77BA3FC/0/0
X-purgate-type: clean
X-purgate-size: 1265

---=Part.931.16e9c9b44125b201.19eef757048.da0ac3fbdc25f4a2=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Thu, Apr 23, 2026 at 04:50:28PM +0200, Thierry Escande wrote:
> This function generates the qapi json object for a PCI device to be
> passthrough'd to a guest=2E
>=20
> With the new option hotplug=3D0 for PCI passthrough, device parameters
> will be passed using Qemu -device command line option=2E Since -device
> accepts qapi json string, this new function will be used to do so=2E

Here, instead of speaking about "hotplug=3D0" which I don't see a good
reason to exist, you can just say that this json object can be both used
via QMP or on QEMU's command line=2E

> The code that generates the json object comes from
> pci_add_qmp_device_add() which now also uses this new function=2E
>=20
> Signed-off-by: Thierry Escande <thierry=2Eescande@vates=2Etech>

With commit message reworded to remove the mention of "hotplog"
option: Reviewed-by: Anthony PERARD <anthony=2Eperard@vates=2Etech>

Thanks,


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vate=
s solutions

web: https://vates=2Etech
---=Part.931.16e9c9b44125b201.19eef757048.da0ac3fbdc25f4a2=---


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 13:23:59 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 13:23:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343733.1602951 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbecz-0007Zt-Od; Mon, 22 Jun 2026 13:23:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343733.1602951; Mon, 22 Jun 2026 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 1wbecz-0007Zm-M6; Mon, 22 Jun 2026 13:23:53 +0000
Received: by outflank-mailman (input) for mailman id 1343733;
 Mon, 22 Jun 2026 13:23:52 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wbecy-0007Zg-1v
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 13:23:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbecx-00AoOA-AT
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 15:23:51 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a39375c-e002-0a2a0a5209dd-0a2a4501b44a-26
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 15:23:51 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a393766-e031-0a2a45010019-d1558033f172-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 15:23:51 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-490b64c8311so42121055e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 06:23: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-49240eef2basm315229095e9.2.2026.06.22.06.23.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 06:23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782134630; x=1782739430; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=RSUxxVcc4GHtmUwFICunZAmmezn6f02s/adPA71Q1nI=;
        b=EITnw/pRlbXeWiL7+P/qlHPSY+FXNs6culknKuDx6rhmlSF5WRfEjEMUOx8Hp1gawq
         MrFrXTdL4yapImPA4W7zvZhivPJPUn5W9xhZKIndcnQnLAYmTesCjTcparG7SYQzFKCj
         hR7B+8XPqASw3UyOSI0scugZTnnLaszChecle6XvX++xy99YsmSdG+9pZCIiE6o7pYdu
         ur9WP3LdaWmFne2NW66rcLyr9SgYMmkg/5tKw6mlhCJWQm1KoIXkwKw0sMQRxaDtg3yb
         MKwXHzc3t254S2TTDaDQisXiThJlkwvlVdsN/ffJw8sg8QPsr0xxGnfHcswBlQFutLoQ
         zQzw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782134630; x=1782739430;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=RSUxxVcc4GHtmUwFICunZAmmezn6f02s/adPA71Q1nI=;
        b=O7PKRX/CwH00+HYhoIxD1pKiorue/AjVCXI9MKDgqLxAGn1WcALEyn7rfRp79vv8U1
         /a5H3PiFFpozSceYS/mD4/GxrRPtXJhF5sXTI7BI2hFeA67Xgd148uNmswCD+0xe6Uo6
         3crHVKE5D0oiWcfomU0JKJXDZKvHvEzn9wybD/UZqqTw7ANOy31kBkYI+LGkf1QNswuq
         VwttKLaP7JZyGwNbOIRYs8q4yfcQIjPUD4huKFoE9UCaGdZoHbRkpD1H2Bv9d1aw7oNW
         IKoGKWFrBpAaTPbi5HR2/DdhzJqX7VfBDTWzQOsmXdnYUlhUeognhqDg4jYo5H93xFbp
         EqPg==
X-Forwarded-Encrypted: i=1; AFNElJ8ixs4h/zyViKZ8k65fDpSw/9/PA0fBMqoIEjC1dYANLuWfGnPJCZmmIAUwfZJ95zbwwGKJUmN+D7g=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwggvX9g+erjTOSQ1xPCQB562aTWi2N4qGw42Q7KHWgnAJCt4Sb
	/tCLBqFbbKQLGGmtMEskLQQxF81dXgddTIeiHD6YdPOd3roWyUy+jXPyvGfKTBRMJw==
X-Gm-Gg: AfdE7cllZC0+KCOWfbEIuOAKg4w5bcA0vLRHPQ9lfLfnZAWxbwKs6Fqju2x4phuGVmY
	YAvcBlWfrlW8nT1MIGprFEXyuVlrlJS1miktzed/S3lQYY7BzyiAj/S9EQ4MqOYATlB6vtFsVCZ
	Z0kyHwaEV2y4qjgvctJx2y4Uz39D/+TwdrJrRhw5fzaw0DXZ4qIDJMFOjMVEBXp1AiLV9pYUJkr
	t3HYZfGh+FsEgsTXpV2U+TrdhF8gY/yAA4TjKa2Q6hojjaRKml6qRhvPMfZ8YQWIjxqXuVudN9e
	lYGqNyige8sDXeALp+/JKU3ytO1A5LEuCtEN04tKtBEqO4eIiwZE+4HVea+gmRWhfU/P4baU74x
	RN6dxl2Q4mK0PlthZIyTxXML0v1NwBdicuen6biCG4qd/hzCl9VJo4EwGYWBMmUwP/JAvnnORxL
	YuLlcXs6PcMHybUwWvYn51bDKUJFgHKfMwPAaMyH/+5PpJ3jErydVigPJJKsmSc6GzAWvxUOyrc
	ho3
X-Received: by 2002:a05:600c:19d4:b0:492:5068:61fc with SMTP id 5b1f17b1804b1-49250686272mr115645195e9.19.1782134630360;
        Mon, 22 Jun 2026 06:23:50 -0700 (PDT)
Message-ID: <3ac358bd-f668-47a1-9350-122405604164@suse.com>
Date: Mon, 22 Jun 2026 15:23:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] xen/sched: Link CPU topology to scheduler
To: Hirokazu Takahashi <taka@valinux.co.jp>
Cc: 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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 =?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>, xen-devel@lists.xenproject.org
References: <20260617071206.265599-1-taka@valinux.co.jp>
 <20260617071206.265599-3-taka@valinux.co.jp>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20260617071206.265599-3-taka@valinux.co.jp>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1782134631-CD3B8E30-B38B805E/0/0
X-purgate-type: clean
X-purgate-size: 1961

On 17.06.2026 09:12, Hirokazu Takahashi wrote:
> --- a/xen/common/sched/credit2.c
> +++ b/xen/common/sched/credit2.c
> @@ -19,6 +19,7 @@
>  #include <xen/softirq.h>
>  #include <xen/time.h>
>  #include <xen/trace.h>
> +#include <xen/cpu-topology.h>
>  
>  #include <asm/div64.h>
>  
> @@ -37,6 +38,8 @@ static unsigned int cpu_nr_siblings(unsigned int cpu)
>  {
>  #ifdef CONFIG_X86
>      return cpu_data[cpu].x86_num_siblings;
> +#elif defined(CONFIG_CPU_TOPOLOGY)
> +    return cpu_topology[cpu].num_siblings;

Would this better be the other way around (first the generic thing, then the
x86 one)?

> --- a/xen/drivers/acpi/topology.c
> +++ b/xen/drivers/acpi/topology.c
> @@ -22,6 +22,9 @@ void __init acpi_init_cpu_topology(void)
>      {
>          struct cpu_topology *topo = &cpu_topology[cpu];
>  
> +        topo->phys_core_id = cpu;
> +        topo->num_siblings = 1U;

In the interest of readability suffixes may better be omitted from literal
numbers when they aren't really needed. Which, btw, doesn't extend to ..

> --- a/xen/include/xen/cpu-topology.h
> +++ b/xen/include/xen/cpu-topology.h
> @@ -10,6 +10,10 @@ struct cpu_topology {
>      cpumask_t thread_sibling;
>      cpumask_t core_sibling;
>      cpumask_t cluster_sibling;
> +    unsigned int phys_core_id;
> +    unsigned int phys_cluster_id;
> +    unsigned int phys_socket_id;
> +    unsigned int num_siblings;
>  };
>  
>  
> @@ -18,10 +22,16 @@ struct cpu_topology {
>  extern struct cpu_topology *cpu_topology;
>  void init_cpu_topology(void);
>  
> +#define cpu_to_core(cpu)   (cpu_topology[cpu].phys_core_id)
> +#define cpu_to_socket(cpu)   (cpu_topology[cpu].phys_socket_id)
> +
>  #else /* CONFIG_CPU_TOPOLOGY */
>  
>  static inline void init_cpu_topology(void) {}
>  
> +#define cpu_to_core(cpu)   (0U)
> +#define cpu_to_socket(cpu) (0U)

... such uses (in particular stub/fallback ones) in header files.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 13:30:56 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 13:30:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343741.1602961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbejh-0000sU-DM; Mon, 22 Jun 2026 13:30:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343741.1602961; Mon, 22 Jun 2026 13: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 1wbejh-0000sN-Ah; Mon, 22 Jun 2026 13:30:49 +0000
Received: by outflank-mailman (input) for mailman id 1343741;
 Mon, 22 Jun 2026 13:30:47 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wbejf-0000sH-CC
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 13:30:47 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbeje-00BCam-Gh
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 15:30:46 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3938fc-2eae-0a2a0a5409dd-0a2a450ccce8-46
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 15:30:46 +0200
Received: from [209.85.221.47] (helo=mail-wr1-f47.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a393906-94a4-0a2a450c0019-d155dd2fb51b-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 15:30:46 +0200
Received: by mail-wr1-f47.google.com with SMTP id
 ffacd0b85a97d-46019edc13dso1988474f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 06: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
 5b1f17b1804b1-492494496d8sm215580795e9.9.2026.06.22.06.30.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782135046; x=1782739846; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=KpUrppWwbQL48yZPIU7yCTtuCmY7iD2oSU4gRMTJ4rA=;
        b=dwMYYHi8J5KNRIC13QuHIDL/5fzA2/BLe6TwZJx+7GloVw2XvRVQoIT4/+U+PwwcED
         +dx5NIlOaNjmH0lvLUH7fmKMHMWQa9Kle/+N04yZgzwdw+5DC2U9FOn4f/5D4aD5/TFb
         r+cshM/SE+9TDsdaU3m/v0Q/AJgWFWgBjqBbcwZ+v5uxAJg75ZwvlKXeXwa5e2BhUEwR
         OxnEWQi0ZZ4Ik3YK5LAm4dAJ6H1qPGHP71Wlv8F3Eux9Ep7AOzh5ua38ihbkK+YXXuQe
         8Ufvtx86xq6OWDsBH4SMnuCrJpYFffj445XAnlolt9/4Etg790DuJIqbwzH/5bKWxnnO
         lR5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782135046; x=1782739846;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KpUrppWwbQL48yZPIU7yCTtuCmY7iD2oSU4gRMTJ4rA=;
        b=iP7dTlHQOVthpNvKONtIS24XMvwAmPw/qBFpcpzXMJtb1HdcJsDyaPj9Eq/mgKlUv/
         C30Nhx97HgFzdsu/rGQzaPHMOWGatiUQoeA0RDlWE/jPM46z3v4gGjVCmRDZC4ZGnYe0
         Wtm5P3T+vWV7CGeN0vm7k8geLKoJHV3lLZnBLnLlLG7lqrHstQdvxrHylLVwnO5r6dEF
         WKr4xPcVVt769zdYdfkEclZZ5yzPsNXTeidVwHSjw0aO7SuT1VwVUnnqIKdqo8wGEZPM
         3+XqsVnorimm5vNpvyUFN1ZZHeVsQlPiPmGee7yazyPgclfycFr2u1MNYsyNKRRtNkBJ
         B5Fg==
X-Forwarded-Encrypted: i=1; AFNElJ+GaOi/f5KJWvkTtqOn0dBatGwBHAQ3zXvSbOmk/B9W22DcC91A7sePL1zTr+GlQdluj+lp9BUt+tI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwqoN8APMQpOrrsFYoTs0rlR4GkJdxhkCkyBxJ7eLAANKgUR92h
	AWnmMcqCdF2r0LvpWqE8j9R5BdFgTnXXmYSCZNmyuv9ao+z5N5Gf+Lpmu2334OpPpg==
X-Gm-Gg: AfdE7ck6w010qh/trW//oehkOmpX7PO6uClEMvL9kPR7GgcxShpQKErbzZu3m7mU9ah
	0Z/POdqVwQBl4hQyS1nuhwxuEiKb4r9LwNzw0kds+wpz9zeFPrJmxY/jd4h9E8Qn9M94WLJMuSI
	F+8KcerF7ia52usIggGi810BWCnkv5TypBhduNGcvlk73AKnWEWIwuCRWNCX0Yhe5dT7w5CTcBp
	iQK6IajEEBWGLgj2EFJuyLWHeOVNDI1iRA8DzJGf8uT9z1/9AikmyCgeklHj3l6KJAb40dlMg5/
	Y31jodAfZdICq2A2KP1+KNPlV8XfEKwi+2Sg9M8+AokHySAZMw52vw3WhH1zAnn8T7n/6rNGpHV
	gaNXCuTV+aQWNCa1eVmIyZ4/BO874vTqnmV6qZRlGiMtfSAbW1OqefeBLMILsIbHOqXHQZ7WQwK
	8bE6/A8/Ec0OcVPpd14OwthFZjQ0JQMNVvJ+p2xTTN+btgCi+UBULXekmWI/SzNnfNi+u0J9ZdL
	BeP
X-Received: by 2002:a05:600c:a40f:b0:492:432b:d78b with SMTP id 5b1f17b1804b1-492432bdad3mr177051865e9.15.1782135045570;
        Mon, 22 Jun 2026 06:30:45 -0700 (PDT)
Message-ID: <ec182f69-c5b2-481a-bb2f-cfd680036ac2@suse.com>
Date: Mon, 22 Jun 2026 15:30:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/3] xen/sched: Make cpu_nr_siblings()
 architecture-specific
To: Hirokazu Takahashi <taka@valinux.co.jp>
Cc: Mykyta_Poturai@epam.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 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>, xen-devel@lists.xenproject.org
References: <20260617071206.265599-1-taka@valinux.co.jp>
 <20260617071206.265599-4-taka@valinux.co.jp>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20260617071206.265599-4-taka@valinux.co.jp>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1782135046-537E1ABF-D3B9D34A/0/0
X-purgate-type: clean
X-purgate-size: 2133

On 17.06.2026 09:12, Hirokazu Takahashi wrote:
> --- a/xen/arch/x86/include/asm/processor.h
> +++ b/xen/arch/x86/include/asm/processor.h
> @@ -106,6 +106,7 @@ extern void intel_init_arat(void);
>  
>  #define cpu_to_core(_cpu)   (cpu_data[_cpu].cpu_core_id)
>  #define cpu_to_socket(_cpu) (cpu_data[_cpu].phys_proc_id)
> +#define cpu_nr_siblings(_cpu) (cpu_data[_cpu].x86_num_siblings)

This is uniformly available when building x86. An earlier patch adds an
#include of the new cpu-topology.h ...

> --- a/xen/common/sched/credit2.c
> +++ b/xen/common/sched/credit2.c
> @@ -29,22 +29,6 @@
>  /* #define d2printk printk */
>  #define d2printk(x...)
>  
> -/*
> - * TODO: Abstract this properly, and figure out what Credit2 wants to do with
> - *       the fact that x86_num_siblings doesn't even have the same meaning
> - *       between x86 vendors.
> - */
> -static unsigned int cpu_nr_siblings(unsigned int cpu)
> -{
> -#ifdef CONFIG_X86
> -    return cpu_data[cpu].x86_num_siblings;
> -#elif defined(CONFIG_CPU_TOPOLOGY)
> -    return cpu_topology[cpu].num_siblings;
> -#else
> -    return 1;
> -#endif
> -}

... to this file, thus allowing for the static function to be dropped. However,
...

> --- a/xen/include/xen/cpu-topology.h
> +++ b/xen/include/xen/cpu-topology.h
> @@ -24,6 +24,7 @@ void init_cpu_topology(void);
>  
>  #define cpu_to_core(cpu)   (cpu_topology[cpu].phys_core_id)
>  #define cpu_to_socket(cpu)   (cpu_topology[cpu].phys_socket_id)
> +#define cpu_nr_siblings(cpu) (cpu_topology[cpu].num_siblings)
>  
>  #else /* CONFIG_CPU_TOPOLOGY */
>  
> @@ -31,6 +32,7 @@ static inline void init_cpu_topology(void) {}
>  
>  #define cpu_to_core(cpu)   (0U)
>  #define cpu_to_socket(cpu) (0U)
> +#define cpu_nr_siblings(cpu) (1U)
>  
>  #endif /* CONFIG_CPU_TOPOLOGY */

... one of the two #define-s will take effect here. Whichever one it is, it'll
conflict with x86'es (when building for x86). Am I overlooking something here,
or did you simply not build-test x86? Looks like a problem of the same kind
may actually be introduced already by patch 2.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 13:31:03 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 13:31:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343743.1602970 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbejv-00018t-K9; Mon, 22 Jun 2026 13:31:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343743.1602970; Mon, 22 Jun 2026 13: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 1wbejv-00018m-HO; Mon, 22 Jun 2026 13:31:03 +0000
Received: by outflank-mailman (input) for mailman id 1343743;
 Mon, 22 Jun 2026 13:31:02 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eef86ef2b000701b@swg.vates.tech>)
 id 1wbeju-000184-45
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 13:31:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbejs-006KOz-RX
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 15:31:00 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eef86ef2b000701b@swg.vates.tech>)
 id 6a393909-bab6-0a2a0a5309dd-0a2a4508ae4c-40
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 15:31:00 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19eef86ef2b000701b@swg.vates.tech>)
 id 6a393914-9ee7-0a2a45080019-b9ff1c128679-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 15:31:00 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19eef86ef2b000701b.001 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 22 Jun 2026 13:30:58 +0000
Received: from l14 (lfbn-lyo-1-414-55.w2-7.abo.wanadoo.fr [2.7.24.55])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id 658F486AF4;
 Mon, 22 Jun 2026 15:30:57 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=GwQ6hm4F0MeoiE3YABrvwHcyKOrf1yvwiCG4hVP2X/8=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=SYcKZZ9iAxkPWKrJwTMkDFldEmCZHvCy6JuiIUHutswNwPrHdF7bhDfcsn5gOmlb7sUbpPKmW
 0CIHTDKkONBEmrePgXQ5u23VGKLOoflj/Kz5oAOEhPoDuDxePzNrBiKk7Ogl5b8/6QMhX2W5D6W
 dW0HR/OocBg/K60pwFjsNlgJHXAzjvwzxUm0oIy2fdBJ+PZODIchQ2IQyr+jqnM+AW7rTQs9C+V
 q1dy7S9K4cE7PwgVh5XHZHkbQzp9w5PZFhciw1qDCBpVZOAkeQ9Uqs8O3yzNdlt1NDebeu9tGsF
 1dZgKxVgkNj9cnHVKWisu7R02/hUrt4v32j0EJSLwByg==
X-Zone-Loop: 59fd5cde602c309d8c9b86fb44b54c8d7e8919a8e922
x-campaign-type: default
x-transaction-id: 02bc8435-eaeb-496a-959c-38877451c82f
x-swg-uid: 01-4ed7bf1c-4b53-44f7-8554-cb86aa18fedb
X-Mailer: Sweego
Message-ID:
 <1782135058.8631fc262581453bbf619ec5b2062170.19eef86ef2b000701b@vates.tech>
x-swg-bid: 1782135058.8631fc262581453bbf619ec5b2062170.19eef86ef2b000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Mon, 22 Jun 2026 15:30:57 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: Thierry Escande <thierry.escande@vates.tech>
Cc: xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>
Subject: Re: [RFC PATCH v4 4/6] libxl: Extend libxl__json_object_to_json()
 prototype
References: <1776955586.8631fc262581453bbf619ec5b2062170.19dbace7684000f373@vates.tech>
 <1776955855.8631fc262581453bbf619ec5b2062170.19dbad29220000f373@vates.tech>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1776955855.8631fc262581453bbf619ec5b2062170.19dbad29220000f373@vates.tech>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.939.1e6a0ec3bcff382a.19eef86ec5c.7efd0d5a77d1c01d=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1782135057500
X-purgate-ID: tlsNG-c1860d/1782135060-5CFFD0FA-8241D763/0/0
X-purgate-type: clean
X-purgate-size: 1212

---=Part.939.1e6a0ec3bcff382a.19eef86ec5c.7efd0d5a77d1c01d=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Thu, Apr 23, 2026 at 04:50:29PM +0200, Thierry Escande wrote:
> The function libxl__json_object_to_json() returns a json object as
> string in a pretty format=2E

> With support for the new PCI device
> passthrough option hotplug=3D0,=20

That biggining of the sentence, which mention of hotplug=3D0 can be
removed=2E


> the function will be used to generate the
> json string passed to qemu -device command line parameter, but the
> string needs to be in plain format, i=2Ee=2E without carriage return or =
tab
> characters=2E
>=20
> This patch adds a 'pretty' parameter to the function to control the
> output string format=2E
>=20
> Signed-off-by: Thierry Escande <thierry=2Eescande@vates=2Etech>

With the commit message striped of the mention of the "hotplug"
option: Reviewed-by: Anthony PERARD <anthony=2Eperard@vates=2Etech>

Thanks,


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vate=
s solutions

web: https://vates=2Etech
---=Part.939.1e6a0ec3bcff382a.19eef86ec5c.7efd0d5a77d1c01d=---


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 13:34:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 13:34:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343756.1602979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbenL-0001sm-2D; Mon, 22 Jun 2026 13:34:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343756.1602979; Mon, 22 Jun 2026 13: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 1wbenK-0001sf-VR; Mon, 22 Jun 2026 13:34:34 +0000
Received: by outflank-mailman (input) for mailman id 1343756;
 Mon, 22 Jun 2026 13:34:34 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wbenK-0001sZ-Jz
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 13:34:34 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbenK-004kQN-0R
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 15:34:34 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3939d2-e002-0a2a0a5209dd-0a2a45088ca4-40
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 15:34:33 +0200
Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3939e9-9ee7-0a2a45080019-d1558036bd6e-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 15:34:33 +0200
Received: by mail-wm1-f54.google.com with SMTP id
 5b1f17b1804b1-4923fb1f095so32020835e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 06:34: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-4923fd1fa34sm333016215e9.5.2026.06.22.06.34.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782135273; x=1782740073; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=6riZrL1n0k6q7Ffv4KfypYZiV1sSyBYSeurv3IfBmeY=;
        b=FBt1CxoN66In38y9ncl7V5PMTKj+KJ3qgR0XDTv7Rd7qjo40M29HD4hNpZntnojZtH
         h4qdB+IjGqq2uLUC5YTI3U+UV0XwGxhGSGlflda9x2m2Gx+Z8uakxjzeWw6bykc7L301
         687MYFUvZXevZy7khi+MG6ebG1hf3s9R1aQy4LMsbtY3pclpLHSrKOB37rmfiac568M1
         VP8CFJi8Hw8ic0iCgVqeT54R25khv6DOu9OmWCyHs6P4yncl6Ydt1cKVwXykhqnfP2Xt
         72dT5CwoyHPlOMpyya98YBI9Dy05+oj2g6dEcOqmLxtNcL8NEheqJqaa88dQMKck9Rf7
         9QWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782135273; x=1782740073;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6riZrL1n0k6q7Ffv4KfypYZiV1sSyBYSeurv3IfBmeY=;
        b=PDNuC6xkwTRB03OSLoWlu7pavDp9qMbWwGRR8pnPu8riKxe1hI6x179vuzw//lnKyr
         rpdZTSDKE25hm8OxSGIW5aGR+qHujv6uejHFpPR4qzxoj8t8k+AAIVgZZokIcmVSLi5G
         HX4kmTzTaoaD/8LpPnmeoyVzr+Hqai9E46yRAc3A5NkqmcWGbRwTR94UTnbW/i4il7S7
         Y/mng8CjTCAUOADS4ctM4ffwg3zP8MJC/l/NVXAYF1ArGFOO3+EVstwTlD0MjDFlKiHv
         lw/X3S4ql4EFjLxryUhVLGZ+wWfR9c55xYOW74lvjnwEDU9is+NfblsRTIcsPk47CIiW
         7n/Q==
X-Forwarded-Encrypted: i=1; AFNElJ+yq/XtpV/o/lx+8YxOSQqHenbflAYAR6+cnG6USmKdMXTVdQnYPH2S+HOfj4EVhOWZhxX1BfiUpa0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw0rXMXokeyLgyJ9EfTqWptR1rZLO9bKdManIe621VPJLOQwdIr
	dXe7mWE0ApSu1sIKpzJZbPG8d9g6QqChyi2bBFJ1YkdHX+jQqKlL5UadXmgdOk8aqg==
X-Gm-Gg: AfdE7cmVlIIFU7oVzwmsWc1HJO6tA/DuE6Un1ndHxxOd/dIW7ZtbwuhDs3fyBEvobuH
	oIO0x9PXBhs+neT39nxLHaHHuYxthO7NGMbxDTNXcdLJochpkskmy7PlfC583QLAVnuMS6fUDsT
	AZyovgJRe4XgarasPJKDQFl3LSKhPg4FUWNrv2XN1RMITJ785EfR0/toAt1+VrBC2GhhuJGsvlg
	Gh53euqnxS351NLSsIN0r244UuvmelssnqzI2Ou0KL5h3f0HIDL5DeCSkpK91CVTfplCE+cwdpw
	Qg9b35GVaJz1d7Uqpsa+SobEirjWAo/3nbIjUX0WXuZW/zQMqeSmJHtC4qXS16XAGdptStBqywA
	Oc7MuM2arhlO+p7rnsNb3m5wuU948bbourVTAFCAeue46np7fzUu/D22jCrlIWT/F1V0rm0QJ6o
	VDJCUAEl9Cwc9J+6HQgXlWVY/EN5cOaXOKmQfKj/yfVd5hSnSYDyourHRyVknG10sFqkPyXbA5Z
	YOt
X-Received: by 2002:a05:600c:4fc4:b0:490:b58a:dcc1 with SMTP id 5b1f17b1804b1-49242582235mr211922485e9.29.1782135273412;
        Mon, 22 Jun 2026 06:34:33 -0700 (PDT)
Message-ID: <48ecbfab-b4df-4218-a081-e04f9ea736ed@suse.com>
Date: Mon, 22 Jun 2026 15:34:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 05/23] xen/riscv: implement prerequisites for
 domain_create()
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <6785b861e192b9812f9a945bce19ff4b725a996d.1781693963.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: <6785b861e192b9812f9a945bce19ff4b725a996d.1781693963.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c1860d/1782135273-5E5E80FA-3659E07E/10/73395122804
X-purgate-type: spam
X-purgate-size: 505

On 17.06.2026 13:17, Oleksii Kurochko wrote:
> arch_domain_create() and arch_sanitise_domain_config() are prerequisites for
> domain_create().
> 
> arch_sanitise_domain_config() currently returns 0, as there is no specific
> work required at this stage.
> 
> arch_domain_create() performs basic initialization, such as setting up the P2M
> and initializing of next unused phandle.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Mon Jun 22 14:09:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 14:09:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343773.1602992 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbfL9-0006V9-Ih; Mon, 22 Jun 2026 14:09:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343773.1602992; Mon, 22 Jun 2026 14: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 1wbfL9-0006V2-Fx; Mon, 22 Jun 2026 14:09:31 +0000
Received: by outflank-mailman (input) for mailman id 1343773;
 Mon, 22 Jun 2026 14:09:31 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wbfL8-0006Uw-Tb
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 14:09:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbfL7-006Taa-LW
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 16:09:29 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a394206-2eae-0a2a0a5409dd-0a2a4503ab76-30
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 16:09:29 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a394219-a3da-0a2a45030019-d155802ac5f7-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 16:09:29 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-4924593f45dso27819925e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 07:09: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-466643f4d9csm26186938f8f.4.2026.06.22.07.09.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782137369; x=1782742169; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=L5wudqbLmPCsUA9bwQ6Caev9uzWVXige1JHFPBDTClc=;
        b=dbWaerA1HqiGaAHuB8ptKp4ot3OfORcJkZVQ7cLgCxvOnwVNGWd1qfSY9sNoYvs3lz
         CWCfZAQSdiD9ebvxJnFRCag7hdunc0VWHfOPodoRnEIaYODG6wa7HYwmbC5MlkxpwuyL
         doEAI1Te6Pe+Ba3ITgNoIyQDnOgX8xWjo5ldbAILq/NM+69Ku50m+9cJusIfq5yMAQps
         eKXeKc0438MzrUadm66ZjPYA4jdnipxDUffX4uMjC2BiKvrO4tncsX5AccauhC0JNyeR
         XUGgplkOvlvshRg8DimJlxVNTa5VBgfgaIAGXPZSQMXRm6H3J1jFvrFHm3lyQcB8wQ2t
         lFDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782137369; x=1782742169;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=L5wudqbLmPCsUA9bwQ6Caev9uzWVXige1JHFPBDTClc=;
        b=HzFTGN+Y90LrHNlUSFbzwk7EE45ZaFP8Wu0twNgoFTBAgHyN6uyCpkrRm/+Tlm8umt
         N1a6lNSpk614HiCIGaZdq53CVdU8fe4Zf2X4GA/nEQzsYI5A5ncXDQY2VsP5DunpbhG2
         KNjtZ+FRPl8IOaHCk97oMzvFPSII0ZAHDRrFSyHNEuy4WXoJnAEK7jPKIctg7I78n9NX
         aaM8XW/VeRtSRG45CqBFwH+nOf1qL0seP1hd/R4cvY6JfBkoibUePsr0yAZvEnSnAN9B
         42sxOwTO2TGBKTqXCRfKhPBBu1xxuw82n3qws7LkPVAIqm3yc9tIhBbyxRkG1JibVKLs
         JJYQ==
X-Forwarded-Encrypted: i=1; AFNElJ9Q2fk3dZnCRAZrl18e/81p33vVBMsWqlfMC3PU9wM+S/1tH1g91zXMy0kTT8OXRINPIlOPep9eKNs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzhubMo1t6yeclx0KEif7VoVtPWBJ56I8hBnztdHXDja8pd/3yn
	vMnPTLdUvrX2zkwe7WZRNZf+P3V4bC2GXIL1rsqkvjVR843T7lXsDCroUoOy9tX6hA==
X-Gm-Gg: AfdE7clbM5tbDWhOoSSvER8rzelTxNzLW7RxIzJ+7mWIeVypa5Qfs7ifVce3eChQD8m
	Ib4QawueByRWezI+am0eGSPku0Z9En1OFe8U4pIEKxcSXQ1b3GvJohXqITzl1ykNyRVYzQl1a+9
	FyMfk6Z0wmKQ8PkWK5C5fhDt88vEp6p+pH6xKUiOxteaLE5Nd1tm9tervBNR48rFBJj+YcKKRML
	LoN+jx6A7h+JuYcjYtC7g1khaxt1Vix4St6nafV/3CT/ZkjpJg3cNLtxdBQFkbn1Od6Wp5z+xrU
	Qa3uJVX1Ik0J/CnM+I9+Ns5ywtzTB09k48YovWtZq6BmsN6HbYtCE3NrMIIih84R3jXR9mkmors
	djLjaPEBxvM0UbMph+XxhBv/QZ2jeu2WGrVlmuue7793RO+L0/x4/MGdtzerr6PXyJmY2jHIkJt
	MSbFsbJRv1tnh8okm5IVZvJ/MCV8XrI5IsNg2NBwpIR43CmbfVxr/DorRrNDN6lJeZ5CLZoZp2O
	wYxgZqgPgO25i8=
X-Received: by 2002:a05:600c:6298:b0:48e:7854:1608 with SMTP id 5b1f17b1804b1-4923f5872d5mr258685175e9.25.1782137368940;
        Mon, 22 Jun 2026 07:09:28 -0700 (PDT)
Message-ID: <aa19d6b0-9407-423b-a786-a43a72b50df5@suse.com>
Date: Mon, 22 Jun 2026 16:09:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 06/23] xen/riscv: introduce guest riscv,isa string
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <3fb06376e057fa99b0df78e97761b8cff56ca9eb.1781693963.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: <3fb06376e057fa99b0df78e97761b8cff56ca9eb.1781693963.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1782137369-661C5D84-F0BEE44E/0/0
X-purgate-type: clean
X-purgate-size: 1752

On 17.06.2026 13:17, Oleksii Kurochko wrote:
> Introduce generation of the riscv,isa string passed to the guest via the
> Device Tree riscv,isa property.
> 
> Introduce the per-domain isa string and guest isa bitmap, populated
> during domain creation by calling init_guest_isa().
> 
> Introduce guest_unsupp to filter out ISA extensions that should not be
> exposed to guests:
> 
> - f/d/q/v: FPU and vector context save/restore are not yet implemented
>   for guests.

I may have asked before - what about Zfinx, Zdinx (and the supposed Zqinx)?
They aren't in riscv_isa_ext[], yes, but perhaps wrongly so? And hence they
may want at least mentioning?

> @@ -480,6 +489,78 @@ bool riscv_isa_extension_available(const unsigned long *isa_bitmap,
>      return test_bit(id, isa_bitmap);
>  }
>  
> +static int build_guest_isa_str(char *buf, size_t size,
> +                               const unsigned long *isa_bitmap)
> +{
> +    int total;
> +
> +#if defined(CONFIG_RISCV_32)
> +    total = snprintf(buf, size, "rv32");
> +#elif defined(CONFIG_RISCV_64)
> +    total = snprintf(buf, size, "rv64");
> +#else
> +#   error "Unsupported RISC-V bitness"
> +#endif
> +
> +    if ( total < 0 )
> +        return total;
> +
> +    for ( unsigned int i = 0; i < ARRAY_SIZE(riscv_isa_ext); i++ )
> +    {
> +        const struct riscv_isa_ext_data *ext = &riscv_isa_ext[i];
> +        int ret;
> +
> +        if ( !riscv_isa_extension_available(isa_bitmap, ext->id) )
> +            continue;
> +
> +        ret = snprintf(buf ? buf + total : NULL,
> +                       buf ? size - total : 0, "%s%s",

If total > size this subtraction will underflow and a huge value will be
passed to snprintf().

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 14:11:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 14:11:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343780.1603002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbfMp-0007xo-UT; Mon, 22 Jun 2026 14:11:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343780.1603002; Mon, 22 Jun 2026 14:11: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 1wbfMp-0007xh-Qg; Mon, 22 Jun 2026 14:11:15 +0000
Received: by outflank-mailman (input) for mailman id 1343780;
 Mon, 22 Jun 2026 14:11:14 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jens.wiklander@linaro.org>) id 1wbfMo-0007xZ-9u
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 14:11:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbfMn-008AYo-4o
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 16:11:13 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jens.wiklander@linaro.org>)
 id 6a394280-2eae-0a2a0a5409dd-0a2a4504a6da-2
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 16:11:13 +0200
Received: from [209.85.208.47] (helo=mail-ed1-f47.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jens.wiklander@linaro.org>)
 id 6a394280-5f9f-0a2a45040019-d155d02fa54c-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 16:11:12 +0200
Received: by mail-ed1-f47.google.com with SMTP id
 4fb4d7f45d1cf-696bf0e7c9cso1006133a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 07:11:12 -0700 (PDT)
Received: from rayden.urgonet (h-79-136-84-34.A175.priv.bahnhof.se.
 [79.136.84.34]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-6977b856f92sm3086817a12.11.2026.06.22.07.11.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Jun 2026 07:11: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=linaro.org header.i="@linaro.org" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1782137472; x=1782742272; 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=5ZmgTQFt/+lCFYefKQLr9tGkc0QVSDEHEQScMjpKoI4=;
        b=nKvwqEM5nGtQAtVncYDRThKZbqGxItAT39YhUv7fykX88ZSFH8xuEhAZ1kx6av4/u1
         4bIXCESvgx6uIN6dMAFHHbh9/nC2DYdbvFZVefs6fferl54slzxp+9znl6gRDHZjgi4p
         JskbYgtlj3riArskXoVeqOfqSxCORzbORrgBs6OSmYt06JqZU6k0SvxqFUjNAtML5as2
         4yzZwz/myO7InPM4i2pvcODkFJJom31O18WkMBO3hep6yJuiFYc+gaHDVJ2d83tJLWPh
         Fydh7g3XEDZbGrJihFMvGGaqiKPmeQnPnSJrfQ2nff948mgi3TTLV3wyE/o9pxp/gMNi
         f/+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782137472; x=1782742272;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5ZmgTQFt/+lCFYefKQLr9tGkc0QVSDEHEQScMjpKoI4=;
        b=plrkgMaSXXefRYoE/Fjb529QZT3v06AiYsH977OwGC5hwBPcG95FYVZUmlvokRADRy
         azaeqfBf9XblEOjTdxo5nKbF3Uw5/lEIdK6SO2kJ6dKLV1QGuII4cWZmntK0KGIRfyhU
         NwFt07ma+Kpnzfshu9j5c7a5+TOOP0uFOoM9NbTs4Rc8OivguV+c37YwzgwQ9WboLP6o
         O9f8wjFu7/tDM+RFUxejsRC8VKmQPCJLnAUdClb3c9METvKhFIJrNjHp8vAPxN+7ilcT
         uNVFRWP0bHdqDIvFxrPs0JJEJxslBG7pQYu2acz7mCDJZ1mitNBv1ZZM0R0jrNvJI1MU
         auGQ==
X-Gm-Message-State: AOJu0Yw1SSZrVB/bo53Eb3qqsn9aMoQUZMG0RN1ayFvacc9pWaomZBBG
	fkfw/H0jnlIWHlMjQO7fjigOwANR0qXFTJE4W1gOVYKoWRmnGxIJX3b4MjAxeteTM+wCDH5xS/R
	CwWrw
X-Gm-Gg: AfdE7ckuaf/KTjRAlZK6uzUl4OQ0f0zBF33tNddv1Bj9TbSBiJENMwMcsDMCDnvThvT
	ZpNcs7+I1GoXdbLXktDuNB0Oh3nmy40iMH6O15RxN4k62pqlVJ4cFyklZ09feqDh1ZUcijbNJQl
	LyswIFWvwsZ0NxIdrKKVNmfwbZh3GkdW1rFLt/8BbgFCjlRoAdMgalPvBioqRue7to5+bidmjYT
	Dk2ga1dU5rFbVOTIgdRd16BzwlAEpsD/wePDjbP+1knr/wseD8EbMJudtHu7ZtR4QNjqwTVRvou
	6507dHlANSdHDTrdeQBmUrj6k5tjeYyY2xO1nMQdD/2dOlmv06LyAF7em9WETpCmU+7WshdHkBL
	Dqs/fXlSknWZyvfphu6+3JvxAmo1rixoh9gmH2pCkbJr57XCzC5mawJD2Bn0fkmcTBiLcYcwM+M
	qCWmtCdOyMSAbpPWY1UjKfNt6lydWcbkDOAra4Hmz/l4V8O+jeR4JRMZ0BHJk4taWi8q92Qajcc
	onBzRBO0vMDAN+3I8quVe1GoI7wvb8=
X-Received: by 2002:aa7:d992:0:b0:695:3031:90bd with SMTP id 4fb4d7f45d1cf-6973bb8c48bmr4106878a12.11.1782137472428;
        Mon, 22 Jun 2026 07:11:12 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: patches@linaro.org,
	Jens Wiklander <jenswi@kernel.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>
Subject: [XEN PATCH] MAINTAINERS: update Jens Wiklander's email address
Date: Mon, 22 Jun 2026 16:10:28 +0200
Message-ID: <20260622141103.2799695-1-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ebf023/1782137473-45FC9141-24D17327/0/0
X-purgate-type: clean
X-purgate-size: 673

From: Jens Wiklander <jenswi@kernel.org>

Update Jens Wiklander's email address to @kernel.org.

Signed-off-by: Jens Wiklander <jenswi@kernel.org>
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 195d6cb0e2de..81bd0dfeec30 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -544,7 +544,7 @@ F:	stubdom/
 TEE MEDIATORS
 M:	Volodymyr Babchuk <volodymyr_babchuk@epam.com>
 M:	Bertrand Marquis <bertrand.marquis@arm.com>
-R:	Jens Wiklander <jens.wiklander@linaro.org>
+R:	Jens Wiklander <jenswi@kernel.org>
 S:	Supported
 F:	xen/arch/arm/include/asm/tee/
 F:	xen/arch/arm/tee/
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 22 14:23:19 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 14:23:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343791.1603010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbfYG-0001RD-Sv; Mon, 22 Jun 2026 14:23:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343791.1603010; Mon, 22 Jun 2026 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 1wbfYG-0001R6-Py; Mon, 22 Jun 2026 14:23:04 +0000
Received: by outflank-mailman (input) for mailman id 1343791;
 Mon, 22 Jun 2026 14:23:04 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wbfYF-0001R0-Rq
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 14:23:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbfYE-006WS9-Pw
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 16:23:02 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a39452d-e002-0a2a0a5209dd-0a2a4508bd04-38
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 16:23:02 +0200
Received: from [209.85.221.54] (helo=mail-wr1-f54.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a394546-9ee7-0a2a45080019-d155dd36c522-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 16:23:02 +0200
Received: by mail-wr1-f54.google.com with SMTP id
 ffacd0b85a97d-4645995069bso2525037f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 07:23: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-466643f4b8fsm26058239f8f.2.2026.06.22.07.23.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782138182; x=1782742982; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=NPlWy6UqQm7icUms1NQDODWKNuWJMVaCf8PAfD+MyrE=;
        b=fGrlYU3tnYTRNwDYyO9c4bkUV7l9Gp3CSNpYkkoZFTXvoI9Rq/oQ8eOF+MqUx2vbE4
         Fqi9OrLpXxQ8eDLFe2yYPOwtVsEiCpweIHwy9QKbjblhl1DSTHcMn5429DfCPJu00R8p
         iJYTyOHKq/02gFt+XHsd9+lHGBTRB6Kxd56UH5nD1m2x2iZcXOBCynXPe4rd8zhvrl6F
         X1Q02TAAhbPjt4DiMqkBb3yy4q5kmfnd0idqw1JngAXb22M5zHy7u2xp3GmFb0NOvEwf
         9AjJDj5wdSF+rIQkRjs0vvUYOteuan34VzT13WS7auDR0gvWdyYZacNlqdKwj3PEECG9
         xW9g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782138182; x=1782742982;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NPlWy6UqQm7icUms1NQDODWKNuWJMVaCf8PAfD+MyrE=;
        b=XfM0TeSEnHq0KUWRVAuLXFq8ljfagUKbPsRXccq5ms2wGowotrbhOVbnOh/rWAeFuE
         q6A0mgZ9BiIgNOdbpeuaGk6DDQkL7ju5cwc0EE8hZxDz5Pcp4f4MwFBUVwAlhCN47Nh2
         xrhDNf8ZcvdXKAJSTfKSlSHElSZ6Vt4J7S6TnPR/MCMTKPM6odvorxBkFAzl9RARTK6G
         7QQJRmbP1KV5Z8RuebtABR31LebOgFyItIaW31RvPZHZ1rM6C/5IMlF/oci6RqZ+81sY
         fxVqfz4UOz4RFH3bJdEDksuk6osq2rJeSbvJmhZHNyab79rUC9fOErhYlf2w0OKChXCm
         e2aQ==
X-Forwarded-Encrypted: i=1; AHgh+RqbclZxxHG6B2nG3KP+dsUSPV9eE2IqiMHZG6MTlaRWjHGwezez5y79Tm5iXmOnAqCuVBonUs2j5FY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwglabR+szlIcKB6+5z+4tCKc+Egc5WkYSzu9NgpmHuWRKvMxdx
	c31MCua6eB++m1OII+hMwDCtv8xDOtMVd/KxDHHKOKhhZKkpd9qKQ55Q8ZS0ozl43w==
X-Gm-Gg: AfdE7cl5asxDrMrr1vZXvutVyoL0AjI+Y7Qea/0jmAO/Z6FnTid8nehtEzHLSzBa3bh
	gL3xE8HPLTZ6u1LGkXzQd20M3oKGtNkMvpf1oqjfN9g/0tTlWfw2FNRrtGx6sPlNfg2+t2hQczh
	PSKVQLxr/stMVIBPZdpwKz3NoY6sHIehjiWm/zGsDPxj2TDQwMRs0+BTqY+K9Wg88lzXvABhJh1
	OC1hzQwvc8BJ3yogjnzkn8IlyqthMgEB4L56ScJvztC0oVUtIf+I9X4/azQU18Ul8MuRDrLaPA1
	SKFwqPMbJHgZSqUxSRMUscEENwQMxSRQfGVUZa8LsdPFi8PhgaDUQPlcgm0xpz03EfgYgvHJPm2
	5vSKR/yv377uw+5ZNVUp3Q4xHZRUZdwmXU0YVrKvOI6zG2ZqriunwPwRKNEHEuxxnbps4qutsSZ
	pEXCI/ugX9oIeZDSJHGal1M/FA6KJVDho1tQtLLZd2Tb+p5Cv8GWZ2AiSkVJBHDxJR8HE6yQP+i
	2Wnypu9mfhcMMs=
X-Received: by 2002:adf:e810:0:b0:45d:3aa3:7f76 with SMTP id ffacd0b85a97d-465026e2284mr17396910f8f.33.1782138182051;
        Mon, 22 Jun 2026 07:23:02 -0700 (PDT)
Message-ID: <5ab12944-4fac-4f7d-b6eb-8d7d04f6b7ca@suse.com>
Date: Mon, 22 Jun 2026 16:23:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 07/23] xen/riscv: implement make_cpus_node()
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <f871fe1a751551e8959554aefa6c6bbcbdbc5ae9.1781693963.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: <f871fe1a751551e8959554aefa6c6bbcbdbc5ae9.1781693963.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c1860d/1782138182-5E1F60FA-AAFD190A/10/73395122804
X-purgate-type: spam
X-purgate-size: 3502

On 17.06.2026 13:17, Oleksii Kurochko wrote:
> Implement make_cpus_node() to create cpus node for a guest domain.
> 
> This function is going to be use by common dom0less code during
> construction domain.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
with ...

> @@ -48,3 +50,107 @@ int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
>  
>      return 0;
>  }
> +
> +int __init make_cpus_node(const struct domain *d, struct kernel_info *kinfo)
> +{
> +    int res;
> +    const struct dt_device_node *cpus = dt_find_node_by_path("/cpus");
> +    uint32_t timebase_frequency;
> +    bool frequency_valid;
> +    void *fdt = kinfo->fdt;
> +
> +    dt_dprintk("Create cpus node\n");
> +
> +    if ( !cpus )
> +    {
> +        dprintk(XENLOG_ERR, "Missing /cpus node in the device tree?\n");
> +        return -ENOENT;
> +    }
> +
> +    frequency_valid = dt_property_read_u32(cpus, "timebase-frequency",
> +                                           &timebase_frequency);
> +
> +    res = fdt_begin_node(fdt, "cpus");
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property_cell(fdt, "#address-cells", 1);
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property_cell(fdt, "#size-cells", 0);
> +    if ( res )
> +        return res;
> +
> +    if ( frequency_valid )
> +        res = fdt_property_cell(fdt, "timebase-frequency", timebase_frequency);
> +
> +    for ( unsigned int cpu = 0; cpu < d->max_vcpus; cpu++ )
> +    {
> +        char buf[64];
> +
> +        snprintf(buf, sizeof(buf), "cpu@%u", cpu);
> +        res = fdt_begin_node(fdt, buf);
> +        if ( res )
> +            return res;
> +
> +        res = fdt_property_cell(fdt, "reg", cpu);
> +        if ( res )
> +            return res;
> +
> +        res = fdt_property_string(fdt, "status", "okay");
> +        if ( res )
> +            return res;
> +
> +        res = fdt_property_string(fdt, "compatible", "riscv");
> +        if ( res )
> +            return res;
> +
> +        BUILD_BUG_ON((sizeof("riscv,") +
> +                      sizeof_field(struct gstage_mode_desc, name)) >= sizeof(buf));
> +        snprintf(buf, sizeof(buf), "riscv,%s", max_gstage_mode->name);
> +        res = fdt_property_string(fdt, "mmu-type", buf);
> +        if ( res )
> +            return res;
> +
> +        res = fdt_property_string(fdt, "riscv,isa", d->arch.isa_str);
> +        if ( res )
> +            return res;
> +
> +        res = fdt_property_string(fdt, "device_type", "cpu");
> +        if ( res )
> +            return res;
> +
> +        /* interrupt-controller */
> +        res = fdt_begin_node(fdt, "interrupt-controller");
> +        if ( res )
> +            return res;
> +
> +        res = fdt_property_string(fdt, "compatible", "riscv,cpu-intc");
> +        if ( res )
> +            return res;
> +
> +        res = fdt_property_cell(fdt, "#interrupt-cells", 1);
> +        if ( res )
> +            return res;
> +
> +        res = fdt_property(fdt, "interrupt-controller", NULL, 0);
> +        if ( res )
> +            return res;
> +
> +        res = fdt_property_u32(fdt, "phandle", alloc_phandle(kinfo));
> +        if ( res )
> +            return res;
> +
> +        /* end interrupt-controller */

... comment style corrected here (as I'm pretty sure I did ask for before).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 14:30:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 14:30:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343802.1603018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbffK-00036g-Jm; Mon, 22 Jun 2026 14:30:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343802.1603018; Mon, 22 Jun 2026 14:30:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbffK-00036Z-Gi; Mon, 22 Jun 2026 14:30:22 +0000
Received: by outflank-mailman (input) for mailman id 1343802;
 Mon, 22 Jun 2026 14:30:21 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wbffJ-00036T-5J
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 14:30:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbffH-00AUOB-U7
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 16:30:19 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3946f3-2eae-0a2a0a5409dd-0a2a450ae70a-24
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 16:30:19 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3946fb-93a5-0a2a450a0019-d1558032b1bb-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 16:30:19 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-490b613a17bso36986795e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 07:30: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-4923fd33dafsm331318315e9.8.2026.06.22.07.30.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 07:30: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782138619; x=1782743419; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=hLNk1BTqJffL9M8h1wsxT0JHYN0fLNP+FxiIZesVZls=;
        b=TFqwBis2+2rIrHBs4ZWl3PA/o65UVUc6EFATkEUlaZNRqN5lhfTSYppmpf2AkaD1EK
         UmyIxke7DoRXLUA5cFFC4/BueBvUUlXLQLsZkg/d07hUBGz5836eAU51fxIBChrhWQkg
         QvEyY3r/bFtBmdDpWLK8vXnNmoP43+qanfN82/BkHp7/FedzN2e5xWo7PibPeC9xCZm9
         WI04hNglnxZ7g2NeOclhtbqcPdR5LpH6PZ1QjqLKiDYDVtDLrE/Nykf6iOEEwSEWGKT9
         gXBaxV33oQm0vpyUfrtZueyViU7dVFYei0/dALoyWHmHDjEL9MczsVQ5NADKGXtzaZ0a
         I1QQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782138619; x=1782743419;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hLNk1BTqJffL9M8h1wsxT0JHYN0fLNP+FxiIZesVZls=;
        b=rjvll9ZFQWE9ju0AcFMQR+SodlUyVY3+yraGCAAxIH6xT2YIO7WFgqjeECpOHesAVp
         P5NLZUJpAnYCFbAXqqRfnFD1WcBqDyP9tcNgdr/I6Db2kXLx9+pGTAB0BQxVKwHe2rBb
         3EhPK7uKdvIRO9ujQGBze2XYZAIjTJPsvby2rxdDZSkcWkf9mlJQz50OPorvTdX22N6b
         z+SG6ZNHFGWQI1Wmj7MvWPSiDVKRNfiG5+hJW9Bi6DV0dXF+1KltRWW10LTfWV1Kw+vz
         DWV7gKO8cDSbdlUKc8+wS9Oe6Lk75R+fDabsAXQg1LgCtNiv+Qq4yEiRz0oAcZYfJteB
         5+6g==
X-Forwarded-Encrypted: i=1; AFNElJ8h31ZgX+QHaO5eC1sOnjDERZTWRhWeMe7hs93tzctTQhfzrnSvS5bmItUJytADowgeRklfT49g4CE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxjcMIiwaFsC+AvcGWmTqmCi75BKpDV7LBxcQwvv7X+QLkAyDuv
	3wvD/J59Qxf7JzXHVkw22k9awoEgULT+wP+V+stPBR4IV2ohbXkhkyEwH2gVxMQeUQ==
X-Gm-Gg: AfdE7ckEqmLcxgYPPsMhpJsgrjPjULXhslzZVYu7zWGzFV0SBR0sPEnN7633jyEWUfF
	VVuehhbYOZQxCh6VNVjnXRV2xDkGXJYf/lw2hCQBFkAXX1iXTCUcdKhsib8YH+U78BmGvTw0cwg
	gcmLe3YL8I+IyCK1eGl8xY4PETG6ogG6hr+bOwWqI9mnf6NMi11LsU2K1To6S4wpdGiUu7IgPYH
	G+S+D5g5KlSwRI4CXXiUogeis4XtHDdEuOZG8++E11NDvdkdTQCZc3A1xD/xa25sP87uJOaApvQ
	dkgoSm03ZIoPdlGoezDJW/BlHeJt3RIvDvzrkfqdIuk3IZF38CZrsM9ce9Jv+22jhvD4rRcLE4z
	Fleb+XW90xWcVuLBesC2wnE7HZooI+Jci31zG85LqtPVyMPGQHuUtieadRBNu5l6pURI7kcCAQN
	uIIXR+FqDG9aOx6oYJ6D1RS9jfI3RmyYJImF2L8AmnbPABGn/TR+FabnDM8kSW/TmuQwjvULfeg
	Y7P
X-Received: by 2002:a05:600c:4694:b0:492:4717:59fb with SMTP id 5b1f17b1804b1-492490a77a4mr172241975e9.17.1782138617715;
        Mon, 22 Jun 2026 07:30:17 -0700 (PDT)
Message-ID: <1bb1a400-ed4f-470e-8f20-779d2c09c03d@suse.com>
Date: Mon, 22 Jun 2026 16:30:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 10/23] xen/riscv: introduce init interrupt controller
 operations
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <da217bc51799d46666a740f38e00efc6de554ffc.1781693963.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: <da217bc51799d46666a740f38e00efc6de554ffc.1781693963.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-4011c0/1782138619-C84FEDB8-27D8DA92/10/73395122804
X-purgate-type: spam
X-purgate-size: 1031

On 17.06.2026 13:17, Oleksii Kurochko wrote:
> Introduce intc_hw_init_ops structure to avoid risky mix of init
> function and non-init function.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

Strictly speaking ...

> --- a/xen/arch/riscv/aplic.c
> +++ b/xen/arch/riscv/aplic.c
> @@ -306,12 +306,16 @@ static const hw_irq_controller aplic_xen_irq_type = {
>  
>  static const struct intc_hw_operations aplic_ops = {
>      .info                = &aplic_info,
> -    .init                = aplic_init,
>      .host_irq_type       = &aplic_xen_irq_type,
>      .handle_interrupt    = aplic_handle_interrupt,
>      .set_irq_type        = aplic_set_irq_type,
>  };
>  
> +static const struct intc_hw_init_ops __initconst aplic_init_ops = {

... I think this needs to use __initconstrel, as ...

> +    .ops                 = &aplic_ops,
> +    .init                = aplic_init,
> +};

... both initialized fields incur a relocation.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 14:34:58 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 14:34:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343813.1603033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbfje-0003ng-8Q; Mon, 22 Jun 2026 14:34:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343813.1603033; Mon, 22 Jun 2026 14:34:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbfje-0003nZ-4q; Mon, 22 Jun 2026 14:34:50 +0000
Received: by outflank-mailman (input) for mailman id 1343813;
 Mon, 22 Jun 2026 14:34:49 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wbfjd-0003nS-0x
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 14:34:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbfjb-006YyQ-OK
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 16:34:47 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a394802-2eae-0a2a0a5409dd-0a2a450a9f9c-14
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 16:34:47 +0200
Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a394807-93a5-0a2a450a0019-d155dd35dd68-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 16:34:47 +0200
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-45ef779c1c2so3470017f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 07:34: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-46666c57afasm27362703f8f.29.2026.06.22.07.34.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 07:34: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782138887; x=1782743687; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=t69er4Z1TL8+YO7SQg3pvNktohCm7IBRsIaxOgqeMK8=;
        b=HJmtvUyNpx+vkdeYvgP4K6+qrURfj1F9s0WdsFyNuMZxx/qk8q7tWZwnpZ7Iw4Oyyj
         IjImq5Xogno+2JzJ7mPI0Z5yYoHxJvb2huM1RVL60Gx4iBbSmLdmwuGGwBvMaIkoc+Vw
         i5sh+8OqnYhLVH+TO1dain06hEXKBD7SwqPOy2qAY5kddAc/JCHp1WgBj20S13OI/8Tv
         unhDmZj8uFPc4ixWAztWlul/uMg1CnZw4CIyzIg44Gn6ECtAxqVRzJvl5e0fpfv5ALOh
         OWcPVpMfeKn7lgndclTaFR82q/gHG99XZ3fMAWyL+HApyxPP+wr0KbYebjyPXDOEAkLK
         t7+g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782138887; x=1782743687;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=t69er4Z1TL8+YO7SQg3pvNktohCm7IBRsIaxOgqeMK8=;
        b=UfTQa/h6g94FfbinmxSfPRyvMcS6FalZnbHjV8iZoCi66jd9YwlmsuISOUpx/Kf6ZE
         iuK1YOgIz+YeTluWdctdP/M3V8XHMw7Y7aYnqINimT9g105MH1mK0wYSCDxilNqOFtTO
         8m3olRgPwCYMSsNvPOm5N5lY7u9w9Th8FAXVJ5+gGL9VBozULBvUYGjJAN6Lk9DaZMba
         fbuwHYTmipZPvpYLq/O8oH5PWXmFHwMKOySO1LCl6ST0+KOnuWKBcgtR1p9AuhF7wqyV
         lTaw8PV6OehbTo1zIxzsAX6cQ1W1vY1QJ3nX2ZZc5u6b7N5WX9nIC2QWJXnL5doF8djl
         vK2A==
X-Forwarded-Encrypted: i=1; AHgh+RoyHe5PoIzaqVJvcAHGW1jbwV8LV6liapHViB9kKdy2YEs9aTnE9i9boNlBxJGGeRCXF8olmleMk4A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzwGn1mRTUGfGqRn3UgYzCFR34YAr8/DGXG0FU7MmU36XmghONh
	FRiicNjUsMn7jI66a1XjI0YuQbtDfkQAsa2u9hraFe9FRq7Cr/4IYwyGGS1ZLHExyg==
X-Gm-Gg: AfdE7clsZER8QXIoPRbA1lhaUeTAct+sVA++OQy8OUATxGmebSbESYT/sUpUuRiOgCr
	pTyvGTwr6dDGaK6p91CDJHWmRzeH0atUp2sokcEx3D4/AH5VGRtaKHC8UnpKHcLG6adpsaU0OjL
	Nblidn9oqJES3kwisYg/K5Uliho9BLopC8SRzGFKurx9sEh2MJnF62+a2QkQ5hDRi2SnWFbEyLS
	x2tufDGO8BVH0AAVznAuWQSZjjXe8URrTEONoUmzs+5RA6j/ftF1g25g+zjR4AKChRryrK6W+0i
	cglBBP3gok9VJVBrQ0erZmEDKDKXJOsyIaeitjUihOzxJqRWeMOs4yTRSGcwFiK7Y+Zi4/GzGlK
	XH5Woj05//RTm/t8m9R1xEXl5qowF/xfepZ29faDv6hbiWWtX6keEsWjfTrSvUkaz0qn/f0Kj0Q
	5ODSEqAhowjeMUfcZp7pUTxLv3/QMK4N3v03maPc8MQSsd0i2hmRLdkaOsPxp3nDhfwvHC4UzAx
	CNg
X-Received: by 2002:adf:e5d1:0:b0:441:1e8e:d8fd with SMTP id ffacd0b85a97d-465091bbb2fmr20475742f8f.29.1782138887067;
        Mon, 22 Jun 2026 07:34:47 -0700 (PDT)
Message-ID: <fe4e5c8b-eceb-460d-8727-790d7750e170@suse.com>
Date: Mon, 22 Jun 2026 16:34:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 11/23] xen/riscv: implement make_intc_domU_node()
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <7b40037c2d0cce84f9e65d7c4a58ec773f7e49d0.1781693963.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: <7b40037c2d0cce84f9e65d7c4a58ec773f7e49d0.1781693963.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-4011c0/1782138887-B01C6DB8-7244F107/10/73395122804
X-purgate-type: spam
X-purgate-size: 1258

On 17.06.2026 13:17, Oleksii Kurochko wrote:
> Introduce a RISC-V specific function to create an interrupt controller
> Device Tree node for DomU domains during dom0less build.
> 
> Add make_intc_domU_node() to the dom0less build path and wire it to
> a new generic helper, intc_make_domu_dt_node(), which delegates DT
> node creation to the active interrupt controller implementation via
> vintc_init_ops.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
with ...

> --- a/xen/arch/riscv/intc.c
> +++ b/xen/arch/riscv/intc.c
> @@ -3,6 +3,7 @@
>  #include <xen/acpi.h>
>  #include <xen/bug.h>
>  #include <xen/device_tree.h>
> +#include <xen/fdt-kernel.h>
>  #include <xen/init.h>
>  #include <xen/irq.h>
>  #include <xen/lib.h>
> @@ -72,3 +73,10 @@ void intc_route_irq_to_xen(struct irq_desc *desc, unsigned int priority)
>      intc_set_irq_type(desc, desc->arch.type);
>      intc_set_irq_priority(desc, priority);
>  }
> +
> +int __init make_intc_domU_node(struct kernel_info *kinfo)
> +{
> +    struct vintc *vintc = kinfo->bd.d->arch.vintc;

... this also becoming pointer-to-const.

Jan

> +    return vintc->init_ops->make_domu_dt_node(kinfo);
> +}



From xen-devel-bounces@lists.xenproject.org Mon Jun 22 14:36:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 14:36:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343819.1603040 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbflM-0004G6-HM; Mon, 22 Jun 2026 14:36:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343819.1603040; Mon, 22 Jun 2026 14:36:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbflM-0004Fz-Em; Mon, 22 Jun 2026 14:36:36 +0000
Received: by outflank-mailman (input) for mailman id 1343819;
 Mon, 22 Jun 2026 14:36:35 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wbflL-0004Fs-QA
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 14:36:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbflL-00AVbm-6s
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 16:36:35 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a394869-bab6-0a2a0a5309dd-0a2a4507c0fc-26
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 16:36:35 +0200
Received: from [209.85.221.50] (helo=mail-wr1-f50.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a394872-4766-0a2a45070019-d155dd32dd4d-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 16:36:35 +0200
Received: by mail-wr1-f50.google.com with SMTP id
 ffacd0b85a97d-45ef779c1c2so3471798f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 07:36: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-466643f4ee6sm25810545f8f.5.2026.06.22.07.36.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 07:36: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782138994; x=1782743794; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=qXkY4eYlcN5RsNF4Rer9S02XqkfPXXD6mkW4Xut4jN8=;
        b=KoqX33nc3OxNCxdp2d9mHAgaKgqhMa44mbx18HCwQMwEtxE4iq3LN3c9Ddrz/98DhV
         YvZXr0Zs2obWbgQ1akz5rC4wZAX34MSTwoHPEkoGOPD2bBj7bohUcne0l9+MJUM2xLiv
         lxxKHYUL6mlimU2UtD1LuW1Cg9tzSiMfBX+laJurSKXKZlSSfrCQm5jTV9FtMFRNnBBx
         P+qiaphwTxqfcLI2C6Qhe+YDjHHw5OvQuzBAXH9Xx6prs8FqYrgwNIVtJaoDeDMCsShl
         wKfETlXs+iE4CbAB3cg9UwXJbslyAMzrzZJRGUngMlj7PoScLwpsbrluD9NLy82fVxV+
         n+Jg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782138994; x=1782743794;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qXkY4eYlcN5RsNF4Rer9S02XqkfPXXD6mkW4Xut4jN8=;
        b=bGCI2TS4jZRdf00HqypX00IL/FQYDQDcQvh97Y7tvlSMeb0SaJsVZDjFZo0sXX7hvP
         AyWcqA26KV0KnhHZRpmxhLscJoMsgoGL75PuOLPwnWublCmbDSipIyNcWH5puZYbCdOj
         dPoYi82NLj+B5B5lEiEXPYwvc3B4CRL5SP0N1CHza9mlS/Wpo4H1MR8kHsH3sfKoSyfd
         3fjHhQyOdpXM/Mv99oo+yFLI9Q4PNxGHD+r393zjtlI5yH+NWoZ4pGInGnbiMJC6hUvK
         vyHDqQnhp0ZiV6EMIHJfciO1lYV0CVp5Le/NB5VrUL/1b/fmO67IGQvenGbl/tbe4n1R
         2JkQ==
X-Forwarded-Encrypted: i=1; AHgh+Ro3P4/Krf2L3ZCXFBHN/r75ULJG8aJ88W9g+1NZUGm7JbQylPsUgPE+YPIF6oKbhoejbJYlDH3J9HU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzsLje0gzu8muZsY+sbYV7wcUyD72aNdJlC8lNZTQKmBqsHKrYf
	azLJa/2dglZCWKvbbbCpoJfTz+mDFrvuE3iTsN/G+e2r6lqACjq70KVPzrvIXE6+6w==
X-Gm-Gg: AfdE7ckKRUg7W/pEx+tFUJ3J+i9XK+6iwrty7JA5XNGSwiIg1Z74vm4dYjvBoZUYDYh
	F/DWGu/rWbYn7nRoHSKvw4TG3mlvaMILRRT90U5q5iLAhQeT5u/Xdw8EMTqtN4heP52wbId+UmV
	hlp2wCW7CwX7oRmb7w1U7zWrGHhH37vcpvfABgUb3MMEaobORSPwiuTwsokbmstjHH0R+DY+Mq2
	Pd+/eHlrN7DnuCLQYob+v2g5NN/4hePr5F7gY+dJkJ22XeuccQHn8MLYua2v0lKlmdcc+sfS5HR
	hY1ikr7BWL4V96LKkMIS22BkcA+QD1fb/Pn5N7QUPty51lQydh+m1j/Be1LHWhVCdkz4tzEBNWV
	zWs2VopOfGALaPqSJzKGPCXBzQIyhKpjGCLllDDrxQ72Xt8es/Bkpm1JnpcPLSw88mvQifWR33e
	bQBK4EEOJQK+ffFR/RP4vMiy/UegMJxAR/i/EYaXPqCmdomemNn39pceNH8nZeXA==
X-Received: by 2002:a5d:4747:0:b0:45e:f439:9def with SMTP id ffacd0b85a97d-46507102f21mr19837841f8f.15.1782138994492;
        Mon, 22 Jun 2026 07:36:34 -0700 (PDT)
Message-ID: <0f3ec9ef-f71c-491e-a322-5d2c798a8f44@suse.com>
Date: Mon, 22 Jun 2026 16:36:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 12/23] xen/riscv: introduce aia_init() and aia_usable()
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <ce37d11730c03b0cb7e19b27c055ecea487f22b7.1781693963.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: <ce37d11730c03b0cb7e19b27c055ecea487f22b7.1781693963.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ef75cf/1782138995-92FC1979-A41873B9/10/73395122804
X-purgate-type: spam
X-purgate-size: 546

On 17.06.2026 13:17, Oleksii Kurochko wrote:
> aia_init() is going to contain all the logic related to AIA initialization.
> 
> At the moment, it only checks whether the SSAIA extension is available,
> and if so, sets is_aia_usable (which  indicates more than just the
> availability of the extension) to true; it also signifies that the necessary
> components (to be introduced in follow-up patches) have been initialized.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Mon Jun 22 14:36:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 14:36:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343820.1603050 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbflQ-0004To-OU; Mon, 22 Jun 2026 14:36:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343820.1603050; Mon, 22 Jun 2026 14: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 1wbflQ-0004Tf-Ly; Mon, 22 Jun 2026 14:36:40 +0000
Received: by outflank-mailman (input) for mailman id 1343820;
 Mon, 22 Jun 2026 14:36:39 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Michal.Orzel@amd.com>) id 1wbflO-0004Su-Vh
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 14:36:39 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbflO-00AVbm-93
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 16:36:38 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a394875-bab6-0a2a0a5309dd-0a2a4505838c-0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 16:36:37 +0200
Received: from [40.107.209.31]
 (helo=PH8PR06CU001.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a394871-ef3d-0a2a45050019-286bd11f50b2-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 16:36:35 +0200
Received: from SJ0PR05CA0089.namprd05.prod.outlook.com (2603:10b6:a03:332::34)
 by IA1PR12MB6652.namprd12.prod.outlook.com (2603:10b6:208:38a::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.18; Mon, 22 Jun
 2026 14:36:29 +0000
Received: from MWH0EPF000C6194.namprd02.prod.outlook.com
 (2603:10b6:a03:332:cafe::92) by SJ0PR05CA0089.outlook.office365.com
 (2603:10b6:a03:332::34) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.159.10 via Frontend Transport; Mon,
 22 Jun 2026 14:36:29 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 MWH0EPF000C6194.mail.protection.outlook.com (10.167.249.104) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.139.8 via Frontend Transport; Mon, 22 Jun 2026 14:36:29 +0000
Received: from Satlexmb09.amd.com (10.181.42.218) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 22 Jun
 2026 09:36:28 -0500
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb09.amd.com
 (10.181.42.218) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 22 Jun
 2026 07:36:28 -0700
Received: from [10.252.145.116] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Mon, 22 Jun 2026 09:36: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=j1tfAnxNOqKqNju0oPAyfwSbHPoTnSv5ttoJDHAH9lxss0Nu0O+FyzqIkkgsDDNsCDnUxF518fMCnGK04VfFvhAhmWRBCN8JBZWYI7m1SrDS3th/GNr7gUrwYWV0L8qxupzXaxEoB35vAkPlM70CC9l4lggtSm0rF2esjaoAbOlrrx1+NoAh3cdM739WyCvV/mmFDjAmRXDs6MgIKJcksye5nVE8OhWu6a0KFmR8TcthDF95emDbCVUV4UoKSMFErIDEiTgUmGmoQtFKRWl86aYBWWsjCC5N4Kfqu/XMA9n9il39W2q15tMnwJzdaCtmzxKXe1ZKkSOBhwEa3SlZZg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xdJZIII6fJgENStRQs/xSAj0VFnYk2ZtwwuWF5M3jPI=;
 b=BCHYdHsb3JWInNtp5jTreVIOXA9IQZKSQEUNXTbEdm7vLs4jq802CpNXSEmFjUYVRb1rNjXAWOWf7fRndfvoOcM2t/KNe47CNal+Dv8J7Kuc8nZ4tnZN6G/p+U5g3XP5bhsoHzOLI2/LeUzB4Odd8krxXLFJTtPVUfM2783rb22KBlHulvP39A4kIGhNvcMupQNsGnGX9s7HfPwG2aKInou3ldmsqe6b3jXA9vAQVQlehpiaaLUmt9pFWMVzCB3G6MSZsl+hOiUrxM6o5L3bDb2qPimlnmSGrYh9hcTl8CS/3Ufj6dHd0kx0cKioXXKqsWzMPixAyuGugXlDRv4zcA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=linaro.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=xdJZIII6fJgENStRQs/xSAj0VFnYk2ZtwwuWF5M3jPI=;
 b=m2bfQl/AVsu9oh/VcLqmElVFUp90239smDVv9C9opT4jQBqa6kSy2R/qlAMQ3pPLBbm5nYSnSBDrm26sFN1h/Li/lG7TJrAuoQFLbMRlsZmw/QHA5RL2uSvNN60OKbEahhyGIGD05RXsMROIRFP1gN5OdcmwdRoFyRo318XNqJc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <07f3b709-bd49-4a86-b22b-03bcb4da28c2@amd.com>
Date: Mon, 22 Jun 2026 16:36:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] MAINTAINERS: update Jens Wiklander's email address
To: Jens Wiklander <jens.wiklander@linaro.org>,
	<xen-devel@lists.xenproject.org>
CC: <patches@linaro.org>, Jens Wiklander <jenswi@kernel.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>, "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>
References: <20260622141103.2799695-1-jens.wiklander@linaro.org>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <20260622141103.2799695-1-jens.wiklander@linaro.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000C6194:EE_|IA1PR12MB6652:EE_
X-MS-Office365-Filtering-Correlation-Id: faa203db-bb40-449f-f968-08ded06ba5a6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|1800799024|36860700016|7416014|376014|82310400026|56012099006|11063799006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	mG+43091mY9mrYkDFPhgefp+lTNSeIJ+8MmRQzrTuVHdVjTUmOOnqp+mVwjJtmgJxaKPSvGss217cu+CofPd7jcuNZFee3OF18fbBuGMosWXrC2+2pIcQQpKnr5YWcAZ6e4WZ0V/Gp/K/oy1ZatKpYv+wttgnCa1yYctrmiqH2LJXtrK94bJQY2shUUJK2X6UBvi18lD9Ic+bsKY57v3IBkS0gdTGyq91iMiWH9rTTqRbVvZH8EAX5A3w5Zt+atTIkIgtQ3U5bnblIqNnk9tqVVNS01LqXKFx9EIeCgX5n2TUbw2xNlRu3fj6k1ARQbkpWnAOVkXJCitCTk89ez0I4Oo9nDNx7jFzRb/kInnP2XIPC3VqpvRErQWpqKYnFW4pNbFt2P2VJVs6w7c8HKa8VwSyGr26r8z6dT4ZoVfLSZiIdyUr4Xnc3c9nNil5sx4U1qKIqRvjaWcDfR9Oi9edxkPZhRH3EGyRfDImj+yDSOCFZyl9wrBc6J0kc5umZ+wOIkVj38bsEJbhceKqvfirof0qjMqoaggMbrbG/zxaePtsNrpzqXWCZZGiVIORdmCt1V00V0u/+M8LEpz1T9dRzSBEGCopNE34joSxwB+Lb2uzN2mWlYlzt/fDNjqAYQT1T/AqmD3v28llm4tHBcVI2d+V/hsMRJXGxni4DJHsMVxMjSZa+Qpu11+5akRHo+KkuAm+2hPbljAlslq1oUigA==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(36860700016)(7416014)(376014)(82310400026)(56012099006)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	bpdh3Y6FeI25MJbUvZ/mn/7V1uyF80wlogxO+zYyxHNH6tUeLDCUJGzx2nP501vlquL4d+yxXizVaHJct4mmhq9lR2wHfKdWaPcJXmwCXH0q5MAV3I+ovue06TikePI5CwwwtAPNk7k7udF1osA06asDAK2kXucYvWXg4+dCLov8xDBXMfpxT6i1K/EinmEVk+VFhG8OcPJs4S7DDmPQ0y2Mw54Cf8R1augcDLE4hpe+xuAhShg8OHW5pr/pazr+TwrAm7NTFnRwM5sbdAI/0rFtWRVwYtmhYLuppEoQB3cdHnx9nbGAo3qiRP+xkqwNE8jYNnoOOxrTiivc8Tt88VwLzBOLWPKD/th+dG+RZsxcyYtE+vfnHYmfVsoVurIqUnef5SUWax2x+t7i2Wtd0B1JYncFKEeH1FcXdnp4ayMHBNaugaUejPakBJGXlv9f
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2026 14:36:29.1332
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: faa203db-bb40-449f-f968-08ded06ba5a6
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MWH0EPF000C6194.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6652
X-purgate-ID: tlsNG-c201ff/1782138997-9D9C5127-46042E62/0/0
X-purgate-type: clean
X-purgate-size: 269



On 22-Jun-26 16:10, Jens Wiklander wrote:
> From: Jens Wiklander <jenswi@kernel.org>
> 
> Update Jens Wiklander's email address to @kernel.org.
> 
> Signed-off-by: Jens Wiklander <jenswi@kernel.org>
Acked-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Jun 22 14:46:27 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 14:46:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343841.1603059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbfun-0006cr-Kh; Mon, 22 Jun 2026 14:46:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343841.1603059; Mon, 22 Jun 2026 14: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 1wbfun-0006ck-HW; Mon, 22 Jun 2026 14:46:21 +0000
Received: by outflank-mailman (input) for mailman id 1343841;
 Mon, 22 Jun 2026 14:46:20 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wbfum-0006ce-Jo
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 14:46:20 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbfum-00AXE4-0Z
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 16:46:20 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a394aa4-2eae-0a2a0a5409dd-0a2a4509e290-38
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 16:46:17 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a394ab8-4999-0a2a45090019-d155802ecda3-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 16:46:17 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-490aaeabdb4so26563075e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 07:46: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-4923fe7b9e5sm291550485e9.10.2026.06.22.07.46.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782139576; x=1782744376; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=AJcfWkuwAaY8u5dWM+XkMhgb8nj22BWw3YSW0oyoF9g=;
        b=EyI+lQ2Lc93Z1TW/QWJyhpU5t0ArKibqXS+E/M1OYPfBOwxSFKg/xkmo+wMPEex/W3
         LCxdyS/TsF7zK4HihAkqh5Xa0wrM+ktTIN0S3nfRt8IvIycIzOSCGJmMwZW3oVNAXNjQ
         s5rIGfvNdRaTpBq6OvcVtpMNjTlPaU/fLAdusOCO31y2Ce53pop/QI+74bWoIjlzdEGt
         7irbC60d3JKJaM31/5pWsYMdFjeqANXD/eeuWd0XDJnMrl6Axfjzo/PKC+oJFo5HQDeC
         r+dfLzI1vsu7QZVSS3C0Pz63lN91n+yPCH2aOrx6pLCVebQYXstMJL1zQdc16Q/OCztO
         phsg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782139576; x=1782744376;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=AJcfWkuwAaY8u5dWM+XkMhgb8nj22BWw3YSW0oyoF9g=;
        b=s5GX/D5/d//PFdowBHkhbJPKRAArEqLCyGzDd5QPAQlWuybahrRufOfKKJRne7AJAv
         wmKs+T3MGYSFEvJyUWLRj8zZi9QoExPm+3wGPlh1O+b/eX0Wvv9RprD6ZEmPrZkmF7Uw
         ua0+j9ZAybhrzdnAYAddxilmIdQycOFjkQvuUN79H7FBEb3XxwqzPsdy/Wt4FU2ameOY
         OqRoYc/1uD3R0tWaAHWWgt56moq8GBEcWV3LwIdoTAf9MUk2wvhFmrc1CoF5+EIvmrTS
         aJBSipk5GStXLGSrxJvxk7tBIUx7ygpAqhKZwi+LXoHPG/SFEt9xcZQb8U1txeecVsI1
         F0pQ==
X-Forwarded-Encrypted: i=1; AFNElJ8u4x6MuOVkrDGUUUd3+2AkPHdvNH/yYqaqeZHak2EuOGlp83GXuM87gcBufldPAoYXjL9yVH9kjfo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwlWbkD+c7mfnQl6DdkwHAvVUsIq9PBaihimRSgLMog6fRFnk9A
	npy2+KdqeJBnBqx+r1jaCQqN8tKUKphYt7ogO53UklwfPcqqbaOcNeIKGqjhZV11xQ==
X-Gm-Gg: AfdE7clysFu4SaX9hZle9RSivXiPJxdLK/y3DdEV7Bfgqx9jcF2PmEXZD7QBbCqEvik
	jcRcB6njQuzhFDAOXBEsG2hmv06gR5///jZS100lJDPUjY+NtWj3Y5KGitJpeI7tfIXGX7PcxEo
	WfT8QgC0VcDo6kazp98yVlsnsppjj30gFp09Ja2FIJ1oxypamPDXbj7kZvz0ie2vUKyhAa7cIcV
	F3BFeUXvEipILNI8l9WiNp0mO0pYtH3HEKVhn3/staGepqz4jQ5rXfNWsJoaIBFrQXbKAtnHyQI
	D1tqb480Do6S0b8ejt4WqDXaHI7laeUByqFAj+V9wUCD54mxVrQ8rp0+NEoyxe2ZJOwLoOXa2tD
	PM6LKcQnGwp+bxyyBzdzBgj/TjFjozuq0+x3ma9+zx1DYqfVavydSpQBrHSr7VmvCrpHgbIjozw
	agQeUHEkjMbpwp9VzDxZ2ZfpjCqPm/fV+whb3qyVvQvN91SoHHG7Y4Obl2bVhQmOqqNOifNvi8v
	arXxZNhLf1nNRY=
X-Received: by 2002:a05:600c:3e87:b0:492:46c2:f5b4 with SMTP id 5b1f17b1804b1-49246c2f68fmr208194945e9.32.1782139576575;
        Mon, 22 Jun 2026 07:46:16 -0700 (PDT)
Message-ID: <ca8ed8b5-04d7-4561-9e2e-58923c6a0f3d@suse.com>
Date: Mon, 22 Jun 2026 16:46:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 13/23] xen/riscv: introduce per-vCPU IMSIC state
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <69b84024f185db01d62d6c9ece1b5cee0e20a25b.1781693963.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: <69b84024f185db01d62d6c9ece1b5cee0e20a25b.1781693963.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1782139577-F71E3744-93242F7A/0/0
X-purgate-type: clean
X-purgate-size: 1184

On 17.06.2026 13:17, Oleksii Kurochko wrote:
> @@ -61,7 +62,24 @@ struct imsic_config {
>      spinlock_t lock;
>  };
>  
> +struct vimsic_state {
> +    /* IMSIC VS-file */
> +    rwlock_t vsfile_lock;
> +    /*
> +     * (guest_file_id == 0) -> s/w IMSIC VS-file
> +     * (guest_file_id > 0) -> h/w IMSIC VS-file
> +     */
> +    unsigned int guest_file_id;
> +    /*
> +     * (vsfile_pcpu >= 0) => h/w IMSIC VS-file

DYM "< NR_CPUS"? Else the above conflicts with ...

> +     * (vsfile_pcpu == NR_CPUS) => s/w IMSIC VS-file

... this.

As to the h/w vs s/w options: I take it that e.g. guest_file_id > 0 and
vsfile_pcpu == NR_CPUS is an impossible combination? In which case
re-arranging commentary may want considering:

    /*
     * s/w IMSIC VS-file -> guest_file_id == 0
     * h/w IMSIC VS-file -> guest_file_id > 0
     */
    unsigned int guest_file_id;
    /*
     * s/w IMSIC VS-file -> vsfile_pcpu == NR_CPUS
     * h/w IMSIC VS-file -> vsfile_pcpu < NR_CPUS
     */
    unsigned int vsfile_pcpu;

As to guest_file_id: In vcpu_imsic_init() you store IMPOSSIBLE_GUEST_FILE_ID,
yet that value isn't mentioned here at all.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 14:55:35 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 14:55:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343855.1603068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbg3e-00004t-FV; Mon, 22 Jun 2026 14:55:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343855.1603068; Mon, 22 Jun 2026 14:55: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 1wbg3e-0008WS-BR; Mon, 22 Jun 2026 14:55:30 +0000
Received: by outflank-mailman (input) for mailman id 1343855;
 Mon, 22 Jun 2026 14:55:28 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wbg3c-0008WL-Op
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 14:55:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbg3c-006d6E-5Z
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 16:55:28 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a394cc8-5cb7-0a2a0a5109dd-0a2a4501d4ae-38
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 16:55:28 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a394cdf-e031-0a2a45010019-d1558030c5cb-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 16:55:28 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-4924593f45dso28441045e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 07:55: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-466648c4fd2sm26440379f8f.14.2026.06.22.07.55.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 07:55: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782140127; x=1782744927; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=rBY8Mj3XcFb5beTOtOM7ytoF+zkhXTejw5PD1Q13eLY=;
        b=bg4Qo0yPHsy/HSicElmdIa4BvyJssHzfT7K7O5I12kTSaHqbGmKFRNrJfZs0xQLc2c
         6sNrmO96RYv/WMYkCBQHcduA6hlAlgrD5un1SfUWzK/YZoLlKA6qiTV18BS7/svcYSto
         BzUftVhVq/PBXLkKIwmf4R5nCn0MSXm7QciSXGqfc1z/q6e5X1DiGCFgHgf359e0fUq6
         hv3pnEBcZfP0s1z6VOpX4KygbdJ0saIQwDucL3ch1NgoK3Lkbij86eb17aHBm1RISU87
         AvZp+WMZ2LQCgFBprDu63tpAcxpchpJqndWUy9rKE0yGIc5tdzq9TKcCMYO45vToiPqs
         UZDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782140127; x=1782744927;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rBY8Mj3XcFb5beTOtOM7ytoF+zkhXTejw5PD1Q13eLY=;
        b=ozxOqew6drw4QWhbPB3Y2mP97Xfu/b/5liNoyKq3Ocuqj9izOQxjfLiKSCFETG+xZJ
         Lrj98rK6/DatHHEsUhi1MFjon17FSvCV5liEuU22CK2TZnMMVyvbDKKBJWmRCzteA6XS
         aq5EC4rmnm19A/cXOxvlgdy9uLT97DAtNLqP9zVtvi3pBN2rgm1ySwWv7hxnmBv22MVJ
         /he+Nln8x/Nz+PuKbcirjqzq66B7gAz4z18V6v4rP3FGMtxj0LgWCuD3gXDcZ1lAOeBt
         3Mmz2jwMUSdy7uX14xfdBpa5eHvfejtzfrUyNBPElTX0hggCRk8fm0ua2cuivc8wP7xt
         5Q6w==
X-Forwarded-Encrypted: i=1; AFNElJ+XVIt3QsnRxyK3+v0FAZBm3x3Zf8qoNIVEZ08Cjz95JjT7LobxKlcKFneSOZKeURaLB5IMDXDR0eM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyjloPxr3EDdsfBZqxebjgQaGymUsTyVwTZexOVlmreoRHP3LiX
	mC3EfwZJl3Q5w5jIarEESZd2rhS3lSW6hpc9aKgcFfYECZbt2Z5rEGgJ92yRyo+zFw==
X-Gm-Gg: AfdE7cl9vt1YDsWqoF6WPzyNAiAsBwJ2vxCmg6HBvGlU324ib46OD0UCdk6sWokxOPF
	PM1hw0hugyGG031Z1opRUFrORd2nMYI35M1jiWTarPMTrl+tXH0d23nUl23hMkIO1T/9Bg/BIMi
	8XkJBjORt3NqoTm/z8G6e2lqdJRdOYG2Nr+QSdk74+6HTaMROCrUU0r9yaMgwqk/IxwCbRUm65c
	HTb29cJQJNna5dCHcjFVK2kNwuOfwAwKcRiA6piLCO7Kqe8ssjb5T77IP9a+I+mK9F22/stYopi
	aGpcZA9s+uey40xyNl7q09B2VKifjbqTvBTkcSefNJ1Fz9q6+2FdJbHd58eyBz3MKqu6MJsmQCz
	PVOLEnEHM+nlINrbSsgl/tX7JKUkf3qQnAagNw4x0Ne/IPyvs4LB0k061+umDP+vbhpAWqCs1wR
	RSTF9F2vQDonJEvCtgholbH2G4S+s8+GcpbDGydfbFqFYfP14pOgN2Q6MQ+ioHwYZ+wzx9xMKYJ
	HJh
X-Received: by 2002:a05:600c:8217:b0:492:3d05:5639 with SMTP id 5b1f17b1804b1-4923f6a949dmr226179435e9.36.1782140127547;
        Mon, 22 Jun 2026 07:55:27 -0700 (PDT)
Message-ID: <3fef3dcc-9fd2-4ccc-a3ec-36971aab1d28@suse.com>
Date: Mon, 22 Jun 2026 16:55:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 14/23] xen/riscv: add very early virtual APLIC (vAPLIC)
 initialization support
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <9dc992009d0c1f9d1c6b6e88c0ea8bceabcb4d72.1781693963.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: <9dc992009d0c1f9d1c6b6e88c0ea8bceabcb4d72.1781693963.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1782140128-4B7A6E30-E9F80381/0/0
X-purgate-type: clean
X-purgate-size: 1088

On 17.06.2026 13:17, Oleksii Kurochko wrote:

What does "very early" in the subject signify? This isn't about (very) early
boot at all, so it's not quite clear on what scale of time the "early" is to
be applied.

> --- a/xen/arch/riscv/include/asm/aplic.h
> +++ b/xen/arch/riscv/include/asm/aplic.h
> @@ -15,6 +15,7 @@
>  
>  #include <asm/imsic.h>
>  
> +#define APLIC_DOMAINCFG_RO80    (0x80U << 24)

Is the 80 in the identifier actually relevant? As the use site alll you care
about is that you make sure to set r/o bits which aren't 0. Which ones these
are can be entirely contained to the #define here.

> @@ -38,6 +39,7 @@ struct intc_hw_operations {
>  
>      /* handle external interrupt */
>      void (*handle_interrupt)(struct cpu_user_regs *regs);
> +
>  };
>  
>  struct intc_hw_init_ops {

Ehem.

> @@ -65,4 +76,5 @@ void intc_route_irq_to_xen(struct irq_desc *desc, unsigned int priority);
>  
>  void intc_handle_external_irqs(struct cpu_user_regs *regs);
>  
> +
>  #endif /* ASM__RISCV__INTERRUPT_CONTOLLER_H */

Ehem again.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 15:01:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 15:01:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343864.1603077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbg9J-0001w7-1n; Mon, 22 Jun 2026 15:01:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343864.1603077; Mon, 22 Jun 2026 15:01:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbg9I-0001w0-US; Mon, 22 Jun 2026 15:01:20 +0000
Received: by outflank-mailman (input) for mailman id 1343864;
 Mon, 22 Jun 2026 15:01:18 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wbg9G-0001vu-Tg
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 15:01:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbg9F-00F6aQ-Tv
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 17:01:17 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a394e3d-2eae-0a2a0a5409dd-0a2a4502b49e-2
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:01:17 +0200
Received: from [209.85.167.54] (helo=mail-lf1-f54.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a394e3d-fdf1-0a2a45020019-d155a736cc72-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:01:17 +0200
Received: by mail-lf1-f54.google.com with SMTP id
 2adb3069b0e04-5aa68d7d757so4936819e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 08:01:17 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4923fe7b359sm290178225e9.9.2026.06.22.08.01.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 08:01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782140477; x=1782745277; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=eRM5HGo4E73sxtozcyWmy11CCbL7pRFUQONyg9+E098=;
        b=CQLiWrRb2hjjyLNUEzQDgo7V1ldKKfKFKOTaWT5dgjFdBsMdhNlzWjQVXsmZMZp2DM
         DfFLUMgsrC1UriHUUjC63W8QkKk356ZfLTOA4stCNgIXdWWRMw86UE/O5FX2a7zLEL76
         gq7gDnWTDP6eKtkkMK9Y6sH2WOCzkrmCFV61qFpskWyNYGEZ5IDDUHiezK7G2YiC8EF7
         svTFJgIkRzKejafhdhNq34yA9vhmQGEcjSAyrzqj6I2apNR5/tgEr+9QPzabvL37cSFH
         SoUdTK90z+s06cHGIMg6az9thMKQS1GNJRmxvY7c6PLOaylcPzjekBr9Lmd7ZHASONxC
         2ayQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782140477; x=1782745277;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=eRM5HGo4E73sxtozcyWmy11CCbL7pRFUQONyg9+E098=;
        b=nso/tqGWhzmAmb22c5YBZsMuoVkKgPqv3/XvPQjvcTBmlPFxGMa91osGhswENw6DlO
         m7nC/JSMQPHTO35TLsi2y2/L2+R4YHrw1n+NlnLWlWcteevON5Nnen3FozqfASyq4Wp3
         J84a4lUIdw3icTcUax5CKGkMCz89giUgbo04px70hjAcaLBY3fC3Ckz6uTEDN8JFAVTt
         7m12Il+NEwjGGPywD1KdPqwuVflyOMFkVx1eLcGPbQ2/hgHIt0vaaIKuwc9vgYbgzUxQ
         NDaRwfV0aIZ6OdtRxngzojthGGdydnzJZctceZAEXm1nt3V8/BQx4yarY2Y/nN7ohB4Z
         zv3w==
X-Forwarded-Encrypted: i=1; AFNElJ/J8fvCoS9u5UruXWvesZ53GhBsbluHYHcDqX4VMt3boTYk2oBFTpmtJ5EHzx3vsQ8qQLa+Bg7nMP4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxZZ4FRtNoAbWyKkqXuTyim12A/k4fdeMlOf4CpDZrvetSRKrLM
	koG9Yi5yA6ZfIYF12MciXPlve+9bYEzw52dmJliyqppSyTialawGQbRYfXuXGBdDbfUi1HLMl9T
	YQGvp9g==
X-Gm-Gg: AfdE7cnr3X5+WqiW39NA0vdnRFWSdZ/aqk/c2nZ6CUVFJ2yQr7hJNfGhDE+mLbvamd3
	vxYKkcBdI5rVRvTHuAY1otDJpbUK9RctFNE1Umjuo3bp1+2/62sh23dE9ci/SJ12BijAIUFVGvn
	vzsfyMEyqFh0/aPc90y22G6tS6ujZQNeTL7e89XcpeqF8F/0pHIgQGTaAmtw5kKinzHrvJV7qwS
	PYgAXoeHYVa9uiLYERqk4P47mgXe6VV1BMRSNGZztBwaFdZG+cu6MMgCQtcSVJ14efHzY21X3/Y
	7+AJWHa9d+YJPp63WsXKyQn4VStJ2reA8fyiUMeMy8ygExVfSU6puQ4Zg4lOJUexknkDLZ/7UJi
	x4aPIiH3yOUcSAVKpSNscTLHjj7Xti+dKp+Ts6DqiowsczSD+ShpB8RP1w9IiIgB8/0Gn48svJ8
	bpu46GNNj9c7iQew9y0ddsTfO3Rgw023c/SVmcjszaBG9g1T8DKIJVYT+G2X07FAB66JBiW0/OW
	7G6
X-Received: by 2002:a05:600c:8b2b:b0:492:4a56:690b with SMTP id 5b1f17b1804b1-4924a5669d3mr168486785e9.35.1782140466552;
        Mon, 22 Jun 2026 08:01:06 -0700 (PDT)
Message-ID: <063d38ba-8ead-4f69-bb28-752fd56f0b12@suse.com>
Date: Mon, 22 Jun 2026 17:01:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 15/23] xen/riscv: introduce (de)initialization helpers
 for vINTC
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <8bb11b0d9c905dd3dd9f922a3f1d2e7f2b75c978.1781693963.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: <8bb11b0d9c905dd3dd9f922a3f1d2e7f2b75c978.1781693963.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-720697/1782140477-47E773F3-CE347426/0/0
X-purgate-type: clean
X-purgate-size: 957

On 17.06.2026 13:17, Oleksii Kurochko wrote:
> @@ -83,3 +84,42 @@ int __init make_intc_domU_node(struct kernel_info *kinfo)
>  
>      return vintc->init_ops->make_domu_dt_node(kinfo);
>  }
> +
> +/*
> + * Guests are given a virtual interrupt controller that mirrors the host
> + * hardware: an AIA-capable host yields a virtual AIA for the guest, and
> + * so on for any future controller types.
> + */

This comment is worded as if it should be like this, when (as indicated before
at the very least for migration) there can (and eventually should) be
alternatives.

> +int domain_vintc_init(struct domain *d)
> +{
> +    int ret = -EOPNOTSUPP;
> +    const enum intc_version ver = intc_hw_ops->info->hw_version;
> +
> +    switch ( ver )
> +    {
> +    case INTC_APLIC:

"version" to me means something different. Do you perhaps mean "variant" or
"flavor" or some such? (I realize this also affects pre-existing code.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 15:12:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 15:12:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343877.1603087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbgK6-0003si-0w; Mon, 22 Jun 2026 15:12:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343877.1603087; Mon, 22 Jun 2026 15:12: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 1wbgK5-0003sb-SS; Mon, 22 Jun 2026 15:12:29 +0000
Received: by outflank-mailman (input) for mailman id 1343877;
 Mon, 22 Jun 2026 15:12:28 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wbgK4-0003sV-HE
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 15:12:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbgK3-006gUH-UM
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 17:12:27 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3950db-bab6-0a2a0a5309dd-0a2a4503b8de-0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:12:27 +0200
Received: from [209.85.221.52] (helo=mail-wr1-f52.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3950db-a3da-0a2a45030019-d155dd34c03f-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:12:27 +0200
Received: by mail-wr1-f52.google.com with SMTP id
 ffacd0b85a97d-45eea68dd6fso2256715f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 08:12: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-46667221de7sm26244717f8f.33.2026.06.22.08.12.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 08:12: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782141147; x=1782745947; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ze57UfTGEoefrFoI2eYHHdFQ9Jw1MvyZeMlW+rf6QNI=;
        b=YHKaqknXSUy72VuFE6bOSgjjrpQVOpEhVQPl6+veEJgRnX3FkRHVcoh2s/jOhvNbCY
         iozPh9Dw4NJOuMBadY0jNvLpGtXuDkUwJ5Ttz6Er9Qr2k7qjrFCArpnyAC7fkAspAejT
         nCP/p5MkzMTuZPnarDmTcdi009DSHr15crkxlNUZvwaXq7szvdn4xD8iwyYksGIWr+VX
         V1gP1NnXByW8L72JqPSfdgWPWoC90UAcL/TPizRNW0u+tGLYbGnrG2LMPSX7VpnFwWwN
         qu7DtZnlbE8O/Wt0zkKO+slOUyUTGI6Jik6xZPNkLXpB9uH8AfEEHsLDRMR61TxbdB27
         KwqQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782141147; x=1782745947;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ze57UfTGEoefrFoI2eYHHdFQ9Jw1MvyZeMlW+rf6QNI=;
        b=ZVp9ub/xLU9j96grq9KGVhw3jrF5eVD/UMRPUIjkwYS5LLKdC4oejfL0umbbWDKNRX
         rQI66NNV5COjjfKJ56lIbLcZaEBBjw6YPguQL3hcmeyMmapfEtra1RDwuRsGI9M9Zdhp
         8DTI1QndGPCxbEnCGMDoxWVOeMuFDTkKRrC+M/DxRk0dDXilUngU5t2rqZ3hrZD5gh3X
         92Q239o+L39TfMlrQwJkWTewOsMKx2+McEpip+K29jVwP6uP629B69QaiIvoG89jIHZV
         Xz4IwePW81KobT9ddh81l9GGi41VZOf+PrBuHBnurvFSJTGI7p7QYPrUuOCoYEi19w4U
         Ub9g==
X-Forwarded-Encrypted: i=1; AHgh+RoBmNZLnWneMjSrmDJzuuGzjP0bNidh4VOpGPfwNCpA5bUnQroNr3QANRG3dNkMcyAjR1eWYGpYERM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxwcUIcHApHuL6e0vWFYBe24Zvm+nxTr9Vat62RUl55G1PIClIO
	zRncP0uMO0rtHLlfOqDNsCix9sHix6WlnDyo9nuiFmNBboYO1oQlUWJ2VTwKOoBQDw==
X-Gm-Gg: AfdE7clP5Pkl2BbjiDn5yMdRQ+1hzFwJmCaCb6/l5+reD8prrF+8lGbyNJvxri6x2d9
	BRbbx9SG2zu2uDocIPr5yxV0QZcCvvWnBwwBAFtskKgSmrrR0H+XDcQojJY05nbnEeIDX0rxBk5
	ZmdOvdscJDbsOAA4KGCH72H0ChLY2w8/BJno5bfezOhue2gVpPWpoYYec5bnIynW/wy+MHxq+Yj
	X1pko44HqGN/ZgryrCnU3ISXboDYrVOZqB2f4veHUhGFVc87OxcCoLmPdcQmp78LQxGM8dizE3I
	s8kVVhmszrCxmQfpcWNDh+IGOcduYX8b+C8hb40MjLdOkI8rZbrkkYv1rVSbOL0yPUBrrFHQB2U
	BzcRQybKyPe3yMdSo8fOc52dFlviEwgfO8uuRAT8yjh1K+D0mQ6AoBP9bFlTn+YCRsNVF/UmsfX
	rwTAoqg7waODgit1ZdWs+n9RRjP5MEDUfC7oRRHS+RDSGS6SpkE29LI7uQDgrIgP5os9Z0levak
	jTf
X-Received: by 2002:a05:6000:290e:b0:460:67b7:54f1 with SMTP id ffacd0b85a97d-465705e2948mr22292123f8f.42.1782141146662;
        Mon, 22 Jun 2026 08:12:26 -0700 (PDT)
Message-ID: <424912f9-5a2d-4c68-a25e-8fd5547011c6@suse.com>
Date: Mon, 22 Jun 2026 17:12:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 16/23] xen/riscv: generate IMSIC DT node for guest
 domains
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
 <18938bb8845fa91315e320f88d17147592aba51c.1781693963.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: <18938bb8845fa91315e320f88d17147592aba51c.1781693963.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1782141147-64FCED84-0479C5B8/10/73395122804
X-purgate-type: spam
X-purgate-size: 5749

On 17.06.2026 13:17, Oleksii Kurochko wrote:
> Guests using the IMSIC interrupt controller require a corresponding
> Device Tree description.
> 
> Add support for generating an IMSIC node when building the guest DT.
> This allows guests to discover and use the IMSIC interrupt controller.
> 
> The value choosen for GUEST_IMSIC_S_BASE is an address which is typically
> used for IMSIC and QEMU.
> 
> DT-building functions are marked __init because domain creation happens at
> boot time, before the init sections are freed. In a typical deployment
> libxl creates the interrupt controller node in userspace and hands the
> complete FDT to Xen, so these functions are only called during early
> domain construction.
> 
> Co-developed-by: Romain Caritey <Romain.Caritey@microchip.com>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in v3:
>  - s/__ro_after_init/__read_mostly for guest_num_msis.
>  - Use IMSIC_MAX_ID as default for guest_num_msis instead of imsic_cfg.nr_ids.
>  - Drop base_addr local variable in guest_imsic_make_reg_property(); use
>    GUEST_IMSIC_S_BASE directly and introduce size to avoid spelling
>    IMSIC_MMIO_PAGE_SZ * d->max_vcpus twice.
>  - Change irq_ext type from uint32_t * to __be32 * in
>    guest_imsic_set_interrupt_extended_prop().
>  - Move phandle declaration into the loop body.
>  - Extend commit message to explain why __init is used for DT-building
>    functions: libxl creates the interrupt controller node before handing
>    the FDT to Xen, so these functions are only invoked during boot-time
>    domain construction.
>  - Re-order patch before APLIC DT node creation patch.
>  - Update commit message.
> ---
> Changes in v2:
>  - s/imsic_make_reg_property/guest_imsic_make_reg_property.
>  - s/imsic_set_interrupt_extended_prop/guest_imsic_set_interrupt_extended_prop.
>  - Use initalizer for regs[] array in imsic_make_reg_property().
>  - Move buf[] insde the for() loop.
>  - Correct check of returned phandle.
>  - Drop local variable len.
>  - /s/XVFREE/xvfree in imsic_set_interrupt_extended_prop().
>  - Drop initializer for local variable data.
>  - s/uint32_t/unsinged int for pos and cpu in imsic_set_interrupt_extended_prop().
>  - Drop next_phandle as it is now in common code.
>  - Introduce vcpu_imsic_deinit.
>  - Refactor vimsic_make_domu_dt_node() to avoid usage of host IMSIC dt node.
> ---
> ---
>  ...asic-VGEIN-management-for-AIA-guests.patch | 273 ++++++++++++++++++

What is this doing here?

> --- a/xen/arch/riscv/imsic.c
> +++ b/xen/arch/riscv/imsic.c
> @@ -13,8 +13,12 @@
>  #include <xen/const.h>
>  #include <xen/cpumask.h>
>  #include <xen/device_tree.h>
> +#include <xen/domain.h>
>  #include <xen/errno.h>
> +#include <xen/fdt-domain-build.h>
> +#include <xen/fdt-kernel.h>
>  #include <xen/init.h>
> +#include <xen/libfdt/libfdt.h>
>  #include <xen/macros.h>
>  #include <xen/sched.h>
>  #include <xen/smp.h>
> @@ -36,6 +40,11 @@ static struct imsic_config imsic_cfg = {
>      .lock = SPIN_LOCK_UNLOCKED,
>  };
>  
> +static unsigned int __read_mostly guest_num_msis;

This being host dependent and hence the same for all guests likely also
warrants a comment.

> @@ -521,3 +535,121 @@ int __init imsic_init(const struct dt_device_node *node)
>  
>      return rc;
>  }
> +
> +static int __init guest_imsic_make_reg_property(struct domain *d, void *fdt)
> +{
> +    paddr_t size = IMSIC_MMIO_PAGE_SZ * d->max_vcpus;
> +    __be32 regs[4] = {
> +        cpu_to_be32(GUEST_IMSIC_S_BASE >> 32),
> +        cpu_to_be32(GUEST_IMSIC_S_BASE),
> +        cpu_to_be32(size >> 32),
> +        cpu_to_be32(size),
> +    };
> +
> +    return fdt_property(fdt, "reg", regs, sizeof(regs));
> +}
> +
> +static int __init guest_imsic_set_interrupt_extended_prop(struct domain *d,
> +                                                          void *fdt)
> +{
> +    unsigned int cpu, pos = 0;
> +    __be32 *irq_ext;
> +    int res;
> +
> +    irq_ext = xvzalloc_array(__be32, d->max_vcpus * 2);
> +    if ( !irq_ext )
> +        return -ENOMEM;
> +
> +    for ( cpu = 0; cpu < d->max_vcpus; cpu++ )
> +    {
> +        char buf[64];
> +        uint32_t phandle;
> +
> +        snprintf(buf, sizeof(buf), "/cpus/cpu@%u/interrupt-controller", cpu);
> +        phandle = fdt_get_phandle(fdt, fdt_path_offset(fdt, buf));
> +
> +        if ( !phandle )
> +        {
> +            res = -ENODEV;
> +            goto out;
> +        }
> +
> +        irq_ext[pos++] = cpu_to_be32(phandle);
> +        irq_ext[pos++] = cpu_to_be32(IRQ_S_EXT);
> +    }
> +
> +    res = fdt_property(fdt, "interrupts-extended", irq_ext,
> +                       d->max_vcpus * 2 * sizeof(*irq_ext));
> +
> + out:
> +    xvfree(irq_ext);
> +
> +    return res;
> +}
> +
> +int __init vimsic_make_domu_dt_node(struct kernel_info *kinfo,
> +                                    unsigned int *phandle)
> +{
> +    int res;
> +    void *fdt = kinfo->fdt;
> +    char vimsic_name[128];

Isn't this excessive? You need space for ...

> +    unsigned int vimsic_phandle;
> +    unsigned int num_msis = min(GUEST_IMSIC_NUM_MSIS + 0U, guest_num_msis);
> +
> +    res = snprintf(vimsic_name, sizeof(vimsic_name), "/soc/imsic@%lx",

... up to 11 + 16 + 1 characters. So 32 will do, to make it a "nice" number.

> --- a/xen/arch/riscv/include/asm/guest-layout.h
> +++ b/xen/arch/riscv/include/asm/guest-layout.h
> @@ -3,6 +3,8 @@
>  
>  #include <public/xen.h>
>  
> +#define GUEST_IMSIC_S_BASE __ULL(0x28000000)

May I remind you of my request to not leave entirely arbitrary (and seemingly
random) numbers uncommented?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 15:17:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 15:17:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343885.1603095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbgOo-0004Wa-Eo; Mon, 22 Jun 2026 15:17:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343885.1603095; Mon, 22 Jun 2026 15: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 1wbgOo-0004WT-Bv; Mon, 22 Jun 2026 15:17:22 +0000
Received: by outflank-mailman (input) for mailman id 1343885;
 Mon, 22 Jun 2026 15:17:21 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wbgOn-0004WN-Gx
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 15:17:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbgOm-0052kV-Fh
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 17:17:20 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a3951f3-2eae-0a2a0a5409dd-0a2a450bedbe-28
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:17:20 +0200
Received: from [40.107.208.50]
 (helo=PH0PR06CU001.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a3951fd-5e53-0a2a450b0019-286bd0322be2-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:17:19 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by PH9PR03MB649383.namprd03.prod.outlook.com (2603:10b6:510:3e7::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Mon, 22 Jun
 2026 15:17:16 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0139.018; Mon, 22 Jun 2026
 15:17: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=pVJaTJkfVTvPU9n0hCsLWar1C6pjpJ3sIeIuKTy/tSSLirM6Raw8N8YmCINUq+suPy4fbU+rIdP4G31EJ+yCkQ9qKPXacFPEP7bh4nG/GXGJVvv8P9ZjVBTOia19R3WrEvuaYh+Ox6BjI0oQNQXECzg7nV/vaGSWYdLyUMkyLvV38/o27kBLDrbEMX0fnci3x2Ib7WQAGzpjsSjskP3/3vX2GkPz9ATKGfvQP1bew8pU0/Kbsm6dEJqoSgnhhEQTYrux8CDWlQve7xOcaLl/Un5Nfuqkn9OGphKagmsp8BHkYBte34mF+EaBB/BezXwz5tFj4DhTtstfHqYqMTV0Pw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=c3Ov6AdvRabkOUvbATkA/nVuGftjBb+0S/UCnU4p9wA=;
 b=fPJUItO5fLrl1zqYWO20GJd22uTcWAXAro8DHhJUhWSXZE5jcq/TRwuw06eU1yPMskbtvoETLc09WkQfnEMcEF5Ue6HXrimRq0bgjD/PofZA2EcmQDvZNvj1j3YrIjcUFlFUuVp6XiQ2hTNTsaoTHC5IFGRtKef5L2JUn9boqkogfaqfIqttVtppfpK+GT2GyUPBjcaU7yKzC0DDP1m+2Zv/0tKkOoeAskv7gTIK9EYoo+BpBlw9zI/afx3ZOfA2OVwTUj1ZmDCS6vUV+2+MnV7bkaZZLt16qsfmEdScYFn9r6HEu1VoYzMYB5c4D4c8utPyxpwsmeFCslFciWo73w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=c3Ov6AdvRabkOUvbATkA/nVuGftjBb+0S/UCnU4p9wA=;
 b=kTA8Q1pHkigNQQPGtpI2V64Ghb5B4p0yq/iBAwTZuSuXvkiaqmAxeve3g8rZQoSWhARUllHCyU9srla6IbCpydsKiGoSYe1FGEi3YdfqxZHIhMY5boW7Scb29Ntnw01FcWeiRORP9N3WOwnuUo9rJBppSGgWdx0r+9DnaXFeCro=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Kevin Lampis <kevin.lampis@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	ross.lagerwall@citrix.com,
	Kevin Lampis <kevin.lampis@citrix.com>
Subject: [PATCH v2 0/7] x86/kexec: Secure Boot support
Date: Mon, 22 Jun 2026 16:18:26 +0100
Message-ID: <20260622151833.3397692-1-kevin.lampis@citrix.com>
X-Mailer: git-send-email 2.52.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO6P265CA0023.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2ff::9) To BY1PR03MB7996.namprd03.prod.outlook.com
 (2603:10b6:a03:5b2::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PR03MB7996:EE_|PH9PR03MB649383:EE_
X-MS-Office365-Filtering-Correlation-Id: 029bb763-f34c-4893-1829-08ded071580f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|23010399003|376014|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	1dCvW72nFox4JLKFG3w/m5NzYyRW2psW6hpouabnBQtMFFNSbeRyeaBBhpUB2XBxtUMSVKQuhx9VlrUimq+TBvfc1F1LleK0CR452AxoQmIf8i4XtxJMJ4axqgLodDYXEW3s6nOPS5ukDhAnYFdIAuaBglseiRXXG8/qrQAfHp9TQ98c2s1sSG1oRhcTadZGDKjsD4aB8xxs6e7Dw6MimokJDlCHE9g1jDNuBpBax+5vpjmfouPfV7Fp0OTwyJ3R0BstYqT0PDH4Y7h3FfdcMtw+pzwOtybQGgbUEf5+QCnXZuYU1K7QxEwgNTpDG+AJ8SaJiLt7zlBhpJDvPmfZXU357zQ21oUQfVb+Exzvgs/ILhYb9zrRYGjRfN2khuY3bdNBnxwvPWq5HIDQvNXVwXjMp1j6RWuQ7SJxG60ibhsSVKBRLZnj4xP/zapoNfH6fSg1VdbWNkGufnI9UoFmOKsik/toQA4KtODzror+ZFiXJhmIpoL69/F2+9NqRquyQwAVkLI85poA5652cSXW6bqMqgCIVZbHj0HdTH67FEMOEEmGRHCsQ70yQGiaRlF9qBDusoDL57ggR72Tbt73r1xRtTM+a16HZhidJzFN7wDUynLL09lt221yP0OlyIU9qxTayjbfVjQZ40Ifh4/0Lwsh3Lo5D64ey52Qp73khbo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(23010399003)(376014)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?H6u9JjC1NvGY5J1AzfeXZ+l5hF1+tETh7glySdPfvFuOUcBXdovbNamJJP3H?=
 =?us-ascii?Q?nixDtEnlR5dyvH6+Tt+n2l2tGyKLuv0vDJv9bchcbX48LPT34hGeo1b/qiQI?=
 =?us-ascii?Q?liaoYUit3WjFsXBYMFPUt2wnZ4fLIMU4OQgKtVsP0bkAFt87eI/QVj80UI5y?=
 =?us-ascii?Q?y2EeeF5R/yGiNfJq/Fr42KNPLawwdHpMXMbNVfrPvL3Ht7FtkEIsYfOrEzce?=
 =?us-ascii?Q?0PHSL8D8mhEE/qMDi6Q4rsaXJghK8GmgTJ7y5Ic3+c0rSkTzhLkiHnKOxHai?=
 =?us-ascii?Q?lfAU/IBrfrdkyx3eW99WiOarJ0jyFr2/8rBx+Z9eKkWQhkYCzZohxAAQTD3w?=
 =?us-ascii?Q?APCI76atMBzJBTWxX4Ulti9p+n5xaF4hwBFD/FNlPTpfXklT2TyafQVzDoNS?=
 =?us-ascii?Q?RPq7krorSDVCVegTd5XDUQto2ActAfu413S/22mCuTdsh1JiZsn8ee1HV4Bk?=
 =?us-ascii?Q?s40LeGjOJUhlVurjRk8rxOUC7nR9sR0G5lJB1QZSJUssVPCU+CLZuBtArD/d?=
 =?us-ascii?Q?N/j1caylGeiOGJmEMBekHBFnGcOIN+YE1ZdRhq2KyBmWJqTQNjM6whE+AihD?=
 =?us-ascii?Q?ibZVycpFFC1SWWT1GHA1ZACpiKgz9Xc26JU1S0gM63ZSfwMWwy/IfyClbS+t?=
 =?us-ascii?Q?s1T4e+0Kd+7eZ5W52TB+m0eWmB102bRiuh1bC5OzEytKT0ns3/hTv7Szn6bH?=
 =?us-ascii?Q?vMqzG+XG1mZj6O292GimvnuoO2uoC/5gD1eUmdMUBGVAhmc2AdD4j6Y1D4uD?=
 =?us-ascii?Q?JCMD+Pat/UByOdoEsZQbdJQbH7BHVPo3jECLRgiGwoU4lcT+EB136EOpkU83?=
 =?us-ascii?Q?nhr2angGpBSh/6KS8li+1Gnpuq1gBxIscxeM3/sLxQ7xbgYDl5lupDhkFUPW?=
 =?us-ascii?Q?JZZzHU9Vr99VPa4Wu9e5ut9RpUsy6jXQs/8zHMuX+nDEaphlnH4nlZc99MKl?=
 =?us-ascii?Q?xh/4hP3u1Y88NKrCeSlpStQF2iYrAN3nk9H+WyCEeRcjUQY61tC6t8V1Xhww?=
 =?us-ascii?Q?zUvfNUCqT/rhKhFPQqbNakw2iiys+bOWTD6Eg5rt3J2R/PuoNWHgdn5kq/sQ?=
 =?us-ascii?Q?CM2unaBpyJRDsHYMIb8xHDKYa3BTOE6w9wdX3LxSDzjnZS489mK4pPZFyhZe?=
 =?us-ascii?Q?WKBw6w93yPScr7QCvbzv6A83BviV4ena19/PQRah8nBAXsMSbngZhOxyhzb3?=
 =?us-ascii?Q?m4hL21oPSBoIT53LwBNgrkYOYebvpCQwP6FFnvLcy5iFn4GesY3OmCHE5rpm?=
 =?us-ascii?Q?Tvou8Z/2igNxdFlDoCGG++eO4LmpMLiyPRxkLyQsLla2l/98Ko0HEpvaD7++?=
 =?us-ascii?Q?dAmhx2HtAgQHeHf6vynt3XoNVoyCj9Z3OGRu3Wrp5GHqTtFfJDy2cNlo/CY6?=
 =?us-ascii?Q?xxWz0A+aJoFI6Dy3PwtJm9DPkbNjF+1HP0gWvjxfH8JHxgmQdUeia33Pio0k?=
 =?us-ascii?Q?XMHhs11WLmPJvy8+rcMBoSJvVSUgyyO7wI1aL10VA1VlVqZrDsMLrfh1blrO?=
 =?us-ascii?Q?ybTJi4u0TmwBZab9vXrZLw2X4k9nM0l8Le7y7fWqoEALG7GDzkNJ6BEJhfME?=
 =?us-ascii?Q?6FyTKyOhKa727QC8/AZnTV8WCXG4PzkFOPMaAaMNJBtAzys4DRJyIlZC6os/?=
 =?us-ascii?Q?NvvJUyF5bO1C07sTXBKiq+fi7wg8R6y9pyOlcbcgDFL84X/1ng+U5CcISgII?=
 =?us-ascii?Q?9AGwDJ8VNDzzvgqNTB+XH52E5WCdaJxrG8k+3w8mbVbM8Ba85OLmLJBLXMiL?=
 =?us-ascii?Q?EPHPZCgKpw=3D=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 029bb763-f34c-4893-1829-08ded071580f
X-MS-Exchange-CrossTenant-AuthSource: BY1PR03MB7996.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2026 15:17:16.1329
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JIgheGg2bw1g8CjcB3gjPJr7JDmdiWYDraUJTGSxX4Ig12jj9wHjFC/+PVKm/sQFUqyXAgUWINXyX8NqwLkPHQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH9PR03MB649383
X-purgate-ID: tlsNG-42698a/1782141439-4E3FB00E-9785385B/0/0
X-purgate-type: clean
X-purgate-size: 1695

These changes allow loading and booting an EFI kexec crash kernel.

For this new EFI kexec type, userspace won't provide purgatory code.
Instead Xen jumps directly to the new kernel.

Signature validation is done by the dom0 kernel. Xen then calculates a
digest for all the segments stored in memory. This digest is verified
again during execution. This digest check obviates the need for Xen to
verify Secure Boot signatures directly.

Changes in v2:
- Addressed review comments for specific patches

Ross Lagerwall (5):
x86/kexec: add digest checks
x86/kexec: rename setup_header to bzimage_header
x86/kexec: add new struct kimage_segment
x86/kexec: Support non-page-aligned kexec segments
x86/kexec: Implement new EFI load types

Kevin Lampis (2):
x86/kexec: Pass boot params directly to new kernel
x86/kexec: Zero general purpose registers

 xen/arch/x86/Makefile                    |   1 +
 xen/arch/x86/bzimage.c                   |  47 +----
 xen/arch/x86/include/asm/bzimage.h       |  44 +++++
 xen/arch/x86/include/asm/kexec.h         |   9 +
 xen/arch/x86/include/asm/machine_kexec.h |   2 +-
 xen/arch/x86/kexec.c                     |  58 +++++++
 xen/arch/x86/machine_kexec.c             |   3 +-
 xen/arch/x86/x86_64/kexec_reloc.S        |  23 +++
 xen/common/kexec.c                       |  36 +++-
 xen/common/kimage.c                      | 208 ++++++++++++++++++-----
 xen/include/public/kexec.h               |  11 +-
 xen/include/xen/kimage.h                 |  20 ++-
 12 files changed, 364 insertions(+), 98 deletions(-)
 create mode 100644 xen/arch/x86/include/asm/kexec.h
 create mode 100644 xen/arch/x86/kexec.c

-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 22 15:17:24 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 15:17:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343886.1603103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbgOq-0004k3-OR; Mon, 22 Jun 2026 15:17:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343886.1603103; Mon, 22 Jun 2026 15:17: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 1wbgOq-0004jw-LZ; Mon, 22 Jun 2026 15:17:24 +0000
Received: by outflank-mailman (input) for mailman id 1343886;
 Mon, 22 Jun 2026 15:17:23 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wbgOp-0004jQ-NZ
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 15:17:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbgOp-006hPz-4Q
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 17:17:23 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a3951f1-bab6-0a2a0a5309dd-0a2a45028a7e-32
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:17:23 +0200
Received: from [52.101.53.7]
 (helo=BL0PR03CU003.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a395201-fdf1-0a2a45020019-34653507170f-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:17:22 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by PH9PR03MB649383.namprd03.prod.outlook.com (2603:10b6:510:3e7::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Mon, 22 Jun
 2026 15:17:20 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0139.018; Mon, 22 Jun 2026
 15:17: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hPr0TAusxP7cvig3ycixIk8AJyYmILi06vEjoDJwbp8qryY02oVTht8bWrxhy64VbycKPWto9+7oZTSqrLLId0tmKlAJW37UvzzFJT7+61ezaFwKHo48KnSSZTFk/wAjRIg8wU0oK6xzEXHN5iQYEe965W2b7Y/uJWTDGjJBKpLE61pBq2c5asVWBEiGl0Xdr6kib35TI2XWQKmi7fwGfhV4BSczXmr3wr0bWVBRM1xMirOmvjD6cAsSJDtUJXV81bxn+MgSOxG9IlRVjMMPvbesMU8YCUGTT/+Jpc/MDmDVWiki1dQkCM43HHZ13g4iE63mtsLOrV/P+k43U3so/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=ZhBWTpnyw2XmT+IZFDCCw+YPmi5DDkc8GEqwHJ16MNI=;
 b=dwWYUpDN7blaHrrZRXTBSDIzPup7zOEoFQPWDFwshep5y2WuDAPdv0LbQJEk8YDMjxFZTH7fd1AT6+T5/1RTXeqSWKDEHfNehjcczzbxab7b1S/4UofeA8HcyZtqJpPzrgHBPB7Nu/btdr7BroPaprLXn1efybJ9XZta/KjOkNgw+NIFVQnCSTFyUzrnwAD9jmhMibza3nSbd6aCHLo9Q9+YPNlbstyTOXm8C5UCl8kG5JUBP7xDpX4nbUTHBlvNJMbanrmBsvq4P1oZG3fPdISOsnKEfKwu2c2TALW/TLKq3U1ImYZNVoUpQG2jkjjhGOHwZWAgR9hm5l6lyIdbyw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZhBWTpnyw2XmT+IZFDCCw+YPmi5DDkc8GEqwHJ16MNI=;
 b=h2pc7K77FXs0nh5vsowEXpC5qiuphjkHHota2AyRk6xpwVUatttwjkxY7ks/GbTv5+nrPssaJu41Qw5EmyzdT7ZvECgBt5U7OzMeO4PUiqKuZ3zwc8VCoHd9aH/sz0pkugpooqUHagU9oqtPhLvYuoXyauoTsk6PJ0NdnpXi50Y=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Kevin Lampis <kevin.lampis@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	ross.lagerwall@citrix.com,
	Kevin Lampis <kevin.lampis@citrix.com>
Subject: [PATCH v2 1/7] x86/kexec: add digest checks
Date: Mon, 22 Jun 2026 16:18:27 +0100
Message-ID: <20260622151833.3397692-2-kevin.lampis@citrix.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260622151833.3397692-1-kevin.lampis@citrix.com>
References: <20260622151833.3397692-1-kevin.lampis@citrix.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO6P265CA0021.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2ff::14) To BY1PR03MB7996.namprd03.prod.outlook.com
 (2603:10b6:a03:5b2::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PR03MB7996:EE_|PH9PR03MB649383:EE_
X-MS-Office365-Filtering-Correlation-Id: 979f2b24-7510-45a1-ff94-08ded0715a95
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|23010399003|376014|22082099003|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	oXVPYagOvPqxrNKJQQ82AzW8R0/QeDiXbbqW4sY2bjhbI1BFMWBsq2M7+BrNlPRMBEFgFa0GPHCRffdTaKSBLQplM7AExiUnOkRJ3jk2YAh5cIUjK2JqZb9CmDfapWMIELGp/R3PdckOypWoUA+fBc3AQm+zD1VRDJAuEdfPVvNsQREuPejgbJLP+7uJO6elUT5ETbZbQHo1Da9Bv2Z2H6EYE2taOfYQnUuSQ3VR7egQo3Y88bah/VQiYCcSJZwFh0m3mBa7vbutzOR9rpn1wy0j34bojKxV3OI0BbFGNsUttTZjMe1/GAG8Y7U2JSvuYnwVK1fnYnljV+8CBVDRV7qNbnvMKLxDakJsvWZmOSB9tmJJ4bVPIyN8W+EQp4tEVpmqbHwEuUi7PgkRsYDnjwA4ur2DDVJ+FtfEJw/NBbfBhcxN5QRGVZG8rcU7Eljat3eEHDklPy/Gp5ipWy6JvLCttU2W+gb7xfw4amPPajP37ud0n8ysojotnck/CQTBe/ta996bhyXoNZj23kGVML+pZZjuxiMhq2x++1xbOBQ9D0XuQnSU+twY/3BNSSuAJ0fI64jpBELlM4lNWpWVs/l18T4H5GCykznxemnSfUGfFOsag3JEPF/fYFoDCvR8Z2qxpyo04yKswj8+A46Wyb1H72IPAbKk79yQsVAQpYI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(23010399003)(376014)(22082099003)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?vkQZZBPEaErXMptj/ieezHmWS8kASRmq1Jmcey7KLJs4n5XBcok5Q74zR0Ly?=
 =?us-ascii?Q?PqmhFxOOU8gxiFqjX/9z24wCukEBHXSEMzwt7Iw51NHblpKziq5VET1v+I0J?=
 =?us-ascii?Q?GzBZR3FrFlVtiFxRGXeig4d2LW6zWDu2hAXfFUagc54njbnOQvTO4Bk3m0d/?=
 =?us-ascii?Q?2KBahxZ+KxQ5gJza3SCB3KtjAvk9pLXwY/LBEZ6QJiw5sbQ5zS2govaGLMVv?=
 =?us-ascii?Q?pFKdJn7eb+7xu+FUlgjIioGT/KwLUoxm7uC0L2HwvRfgN2gEu6VKuDUz7ygT?=
 =?us-ascii?Q?KCHiNdsurQbgvUBxy9plwABzatwXYZmpooyLhjWV+JZ6hQuaflZObdPPoZj0?=
 =?us-ascii?Q?Dz7x4BBjY9Qb/CKzYqwm1r+KZ8/xogLESIyQBz3yyx9/0/a1gJX2+gLX66Co?=
 =?us-ascii?Q?Rh/F8gwS+nWcd3oysiqTYNs1AueEEu19CupScQ0M/cf9VmSfbzCENFBkG8O4?=
 =?us-ascii?Q?guSWBdJfyR4tPYPFEZXZBDEb7cXOBN06OyGs7gyZyav+fRYZXWccWFPgOmzJ?=
 =?us-ascii?Q?yHVGkXzv43Ozwov81kPQN4psqcGE1SHlqHOivBz//gxCKEMHPiL3Dbaugjvj?=
 =?us-ascii?Q?dLftcLv17zNsaLC2D3Timoor6DWhUEQ5AqqraXlVvJsiosIlo0AHcRaQSr9l?=
 =?us-ascii?Q?ulS6byD+ghe0UDZDtGzl5YxRhUNhkHxEtEK2xAYQlzs4xYJWeL2z7rVwWjUD?=
 =?us-ascii?Q?7ejfaUAWKwxK+R/qQi6EeuvQZkKMMdP+zt1wiOhXDvI2syhpoyjooCaWY6Ik?=
 =?us-ascii?Q?7BhJfwaK6vqFW3xAGYvs5KXVpwCVLwY9T9OEkDX5Ll3nLUrDBSCKCeZc5YNm?=
 =?us-ascii?Q?CsmB8rbJUoU4aHH4O8tRZ79AzaAXCbE7eNeP0nGnAL3JMbx7lLW3Dph8c+qF?=
 =?us-ascii?Q?ldXzvA+FG9UfiIWdMYi61DmSG0c4sKJzXftS1rjG8DyuzT82IsxNGJcbiLBU?=
 =?us-ascii?Q?1y3h1yZHl/AupN0HSGdbBtsNMoprMTRpmOCNYDNWWtiGaCvxJIdinYFtsjCT?=
 =?us-ascii?Q?qHWXQLvQ0mkXf6vaz60A79rHt91I9MOhCAnn6XvzJSQqUK4KCpHi5xISHPDK?=
 =?us-ascii?Q?r3hDOtkN/JpZy4PPaVvYGhHJl3V/19+iPu/Zq+4GuELcRiJfEZgu0ctAcdZH?=
 =?us-ascii?Q?/+prNYldRnOHxe1zYlJyt3fLFSMVfbXjoAY1KXQeevIuIWz9Usiqdz6i/Hef?=
 =?us-ascii?Q?791H3/v2VaYZrvI5Ww5EbEr0VHZbg55cLb1YX1Fjgpq9kVqzwSYx2q8fLBcA?=
 =?us-ascii?Q?f5EAX5mj9TnT0fsIyAuaK0T0JhPHbtSdXgSXLJ9hGBUHE1rXW5S2OdOuCpXB?=
 =?us-ascii?Q?mMSfOIpf9zW/YZN07x+uBwZXBAG24jLiDVfikskimw0SPWzHF9quPeES1SLi?=
 =?us-ascii?Q?mjTMfClg4RbdJlrukq2TtJc3TaEmZ3uCJaHoWuIr/H7smmEQrrCS0yTKHsaY?=
 =?us-ascii?Q?o7bgS7amJW/FpCNQwYhz3wAo9E0IDe88nvIM6xYG/YYTz4HHPmiy7oiUxUQ+?=
 =?us-ascii?Q?Epl67w2wfFHCiM2PH/DtbTI9uU82HO1v48Z9b5glGK7QBoFwgnjG1Jc2kk9/?=
 =?us-ascii?Q?ZFiEGfjishYJW08abPsXTm9bDsysO7gW1n9h+QDm/AbB15yR2x7NduPbuQB9?=
 =?us-ascii?Q?+0L3q7RzCe0Jz8n22Xgwrr0jFnGlf84iQDV0tcUYLtJ8vsq9DDlHoHjmh+mO?=
 =?us-ascii?Q?vXegKmAAYxXdQuFzJgeWlvbQjmQ1Ttp0WAZe3rZc279d+t2yZKETvg66Kj0v?=
 =?us-ascii?Q?M4RLFr/Gzw=3D=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 979f2b24-7510-45a1-ff94-08ded0715a95
X-MS-Exchange-CrossTenant-AuthSource: BY1PR03MB7996.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2026 15:17:20.3595
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CCJ1obZgaPwc3VOb1CdydW8brFiCkqYF7fPG6TrTncflKi3j+Avs3cY8Z8VP4sCfjKogIBhIsBvl/7ik2w2AQQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH9PR03MB649383
X-purgate-ID: tlsNG-720697/1782141443-44C6E3F3-FFAB0E78/0/0
X-purgate-type: clean
X-purgate-size: 5529

From: Ross Lagerwall <ross.lagerwall@citrix.com>

To support UEFI Secure Boot we must check that the kexec data has not
changed between signature verification and actual execution.
However, this is also a good check to perform generally.

During kexec load, calculate a digest over all the kexec segments. This
digest is stored and verified again later prior to entering the image.

For now, only kexec crash images are supported.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Signed-off-by: Kevin Lampis <kevin.lampis@citrix.com>
---
Changes in v2:
- Reword the commit message
- Change the "kexec digest failed" error message
- Remove the `!= 0` from the call to kimage_verify_digest()
- Remove include sha2.h from kimage.h
- Remove error checking from kimage_calc_one_digest()
  because map_domain_page() doesn't fail
- Change kimage_calc_digest() to a void return too
- Remove references to KIMAGE_SHA256_REGIONS
  It was a purgatory thing which is not used anymore
- Fix style on `for ( s = 0; s < image->nr_segments; s++ ) {`
- Add newlines and indentation to digest check fail message
- Make kimage_verify_digest() a bool return value
---
 xen/common/kexec.c       |  8 +++++
 xen/common/kimage.c      | 73 ++++++++++++++++++++++++++++++++++++++++
 xen/include/xen/kimage.h |  6 ++++
 3 files changed, 87 insertions(+)

diff --git a/xen/common/kexec.c b/xen/common/kexec.c
index 7535d269e8..f31ab3fa07 100644
--- a/xen/common/kexec.c
+++ b/xen/common/kexec.c
@@ -389,6 +389,12 @@ void kexec_crash(enum crash_reason reason)
     if ( !test_bit(KEXEC_IMAGE_CRASH_BASE + pos, &kexec_flags) )
         return;
 
+    if ( !kimage_verify_digest(kexec_image[KEXEC_IMAGE_CRASH_BASE + pos]) )
+    {
+        printk(XENLOG_ERR "kexec digest failed, aborting kexec crash transfer\n");
+        return;
+    }
+
     kexecing = true;
 
     if ( kexec_common_shutdown() != 0 )
@@ -943,6 +949,8 @@ static int kexec_load(XEN_GUEST_HANDLE_PARAM(void) uarg)
     if ( ret < 0 )
         goto error;
 
+    kimage_calc_digest(kimage, kimage->digest);
+
     ret = kexec_load_slot(kimage);
     if ( ret < 0 )
         goto error;
diff --git a/xen/common/kimage.c b/xen/common/kimage.c
index a0e4e67df7..6e009529ae 100644
--- a/xen/common/kimage.c
+++ b/xen/common/kimage.c
@@ -818,6 +818,79 @@ int kimage_alloc(struct kexec_image **rimage, uint8_t type, uint16_t arch,
     return result;
 }
 
+static void kimage_calc_one_digest(struct sha2_256_state *ctx,
+                                   xen_kexec_segment_t *segment)
+{
+    paddr_t dest;
+    unsigned long sbytes;
+
+    sbytes = segment->buf_size;
+    dest = segment->dest_maddr;
+
+    while ( sbytes )
+    {
+        unsigned long dest_mfn;
+        void *dest_va;
+        size_t schunk, dchunk;
+
+        dest_mfn = dest >> PAGE_SHIFT;
+
+        dchunk = PAGE_SIZE;
+        schunk = min(dchunk, sbytes);
+
+        dest_va = map_domain_page(_mfn(dest_mfn));
+        sha2_256_update(ctx, dest_va, schunk);
+        unmap_domain_page(dest_va);
+
+        sbytes -= schunk;
+        dest += dchunk;
+    }
+}
+
+void kimage_calc_digest(const struct kexec_image *image,
+                        uint8_t digest[SHA2_256_DIGEST_SIZE])
+{
+    struct sha2_256_state ctx;
+    unsigned int s;
+
+    if ( image->type == KEXEC_TYPE_DEFAULT )
+    {
+        /* TODO implement digest calculation for normal kexec */
+        return;
+    }
+
+    sha2_256_init(&ctx);
+
+    for ( s = 0; s < image->nr_segments; s++ )
+        kimage_calc_one_digest(&ctx, &image->segments[s]);
+
+    sha2_256_final(&ctx, digest);
+}
+
+bool kimage_verify_digest(const struct kexec_image *image)
+{
+    uint8_t digest[SHA2_256_DIGEST_SIZE];
+
+    if ( image->type == KEXEC_TYPE_DEFAULT )
+    {
+        /* TODO implement digest check for normal kexec */
+        return true;
+    }
+
+    kimage_calc_digest(image, digest);
+
+    if ( memcmp(digest, image->digest, sizeof(digest)) != 0 )
+    {
+        printk(XENLOG_WARNING "kexec digest mismatch:\n"
+               "  expected %" STR(SHA2_256_DIGEST_SIZE) "phN\n"
+               "       got %" STR(SHA2_256_DIGEST_SIZE) "phN\n",
+               image->digest, digest);
+        return false;
+    }
+
+    return true;
+}
+
 int kimage_load_segments(struct kexec_image *image)
 {
     int s;
diff --git a/xen/include/xen/kimage.h b/xen/include/xen/kimage.h
index fccba1d88d..8ed89d4fa3 100644
--- a/xen/include/xen/kimage.h
+++ b/xen/include/xen/kimage.h
@@ -11,6 +11,7 @@
 
 #include <xen/list.h>
 #include <xen/mm.h>
+#include <xen/sha2.h>
 #include <public/kexec.h>
 
 #define KEXEC_SEGMENT_MAX 16
@@ -37,6 +38,8 @@ struct kexec_image {
 
     /* Address of next control page to allocate for crash kernels. */
     paddr_t next_crash_page;
+
+    uint8_t digest[SHA2_256_DIGEST_SIZE];
 };
 
 int kimage_alloc(struct kexec_image **rimage, uint8_t type, uint16_t arch,
@@ -52,6 +55,9 @@ mfn_t kimage_entry_mfn(kimage_entry_t *entry, bool compat);
 unsigned long kimage_entry_ind(kimage_entry_t *entry, bool compat);
 int kimage_build_ind(struct kexec_image *image, mfn_t ind_mfn,
                      bool compat);
+bool kimage_verify_digest(const struct kexec_image *image);
+void kimage_calc_digest(const struct kexec_image *image,
+                        uint8_t digest[SHA2_256_DIGEST_SIZE]);
 
 #endif /* __ASSEMBLER__ */
 
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 22 15:17:30 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 15:17:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343887.1603112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbgOv-000520-Vq; Mon, 22 Jun 2026 15:17:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343887.1603112; Mon, 22 Jun 2026 15:17:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbgOv-00051m-Sj; Mon, 22 Jun 2026 15:17:29 +0000
Received: by outflank-mailman (input) for mailman id 1343887;
 Mon, 22 Jun 2026 15:17:28 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wbgOu-000504-1v
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 15:17:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbgOt-00E73L-EY
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 17:17:27 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a395200-5cb7-0a2a0a5109dd-0a2a45038640-12
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:17:27 +0200
Received: from [40.107.208.33]
 (helo=PH0PR06CU001.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a395205-a3da-0a2a45030019-286bd0212c4e-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:17:27 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by PH9PR03MB649383.namprd03.prod.outlook.com (2603:10b6:510:3e7::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Mon, 22 Jun
 2026 15:17:24 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0139.018; Mon, 22 Jun 2026
 15:17: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=l84MRssP3/eD3cIWgWjBpZcT+pBEDkyFo6hqNImNqq4pxNLBdiKIDmK5zV8T8OksjQGZ1oGdSVJ6kG6JxQ26pD7akwdKB2TEddW21H/VkAJ1JCBjAOBy/j04cSQ6xIEL1YIvK349DFF2fdHykkegdjvgxFq6Z7o8lgPKmcGG1eS9L/ucfMzr76QjX69NR14fEoC3MmI4lSbiTAevTpWj1917VC+paLpMcykkDSOM++trQ3ZtMRKFWwQWsUGfFaJjgiRdMt9VQLy0aHgOTHpytjq9qwriTpntANwaJiX5z8qTkSzf0y1rdu2eI/SJ7zVuklN/5SVBS/bz3IasqAddAQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CUE0diub8b5VOQ/mzGELkOwMACwH9u3WM5ytnZS8ZpM=;
 b=TAHcl3JLo+uz/TdGEVimbpc4nLHhOUfSsn0cuEVBFWeG9I2wZLKeM0By1bORsXNPd2MymcRnRqdLNjvTP+FrRL3Q17nWSrTOBwkI/ZARkv8lSY2a6nH0qSoT/tPdMHeYEHXN6A5Pvswx6d6xGnAYYbte9tEf7cmgrG2waGT4gP1l9z1xFLokFW0IBa77az5EyzHs5jmnPVvufB+H1jGZykQqifDnkloACu37kOlaz1mtTwewT3APOz9UQiQmN7JqnqBCQk/wWBnhI18ZdFhDryJpJICkHblosveYGE5WU9VOVtvDE/zR15qAILUq8rI8byyTdlTfElu2xYwz8n1L2Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CUE0diub8b5VOQ/mzGELkOwMACwH9u3WM5ytnZS8ZpM=;
 b=mUKUHpoBVr1pLenZmLj6tJVyQILh2VpSAoKcDwtn0E8qM2Gnp4dKhtxmy9jqu+8aPbQUq04NIdCH/anrHFjO/0us7hIg/Ey/V9XrF+VaC5ZcoLTN+gGk4XcPyy75Uh/bZvCJMddZvzW81nD85UHn4Y3KU6J4WII/SgAffey60mA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Kevin Lampis <kevin.lampis@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	ross.lagerwall@citrix.com,
	Kevin Lampis <kevin.lampis@citrix.com>
Subject: [PATCH v2 2/7] x86/kexec: rename setup_header to bzimage_header
Date: Mon, 22 Jun 2026 16:18:28 +0100
Message-ID: <20260622151833.3397692-3-kevin.lampis@citrix.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260622151833.3397692-1-kevin.lampis@citrix.com>
References: <20260622151833.3397692-1-kevin.lampis@citrix.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO6P265CA0027.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2ff::13) To BY1PR03MB7996.namprd03.prod.outlook.com
 (2603:10b6:a03:5b2::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PR03MB7996:EE_|PH9PR03MB649383:EE_
X-MS-Office365-Filtering-Correlation-Id: 6b8e6b2e-f3ed-4a61-2ff6-08ded0715d0a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|23010399003|376014|22082099003|18002099003|56012099006|3023799007|11063799006;
X-Microsoft-Antispam-Message-Info:
	J56mAV2sJvOxcSP4v9bD6gZiF6Tr3a2yEy87MaiyDgF578SxzAAzUBrcAki9mqAKDgnPcRDGM65tJLOeZ+ADGNm6hG2BST4imjcy1J1GHEFFyR5rUbDMSHyYqkiLSvf1ROIX1jq+nxAmlC/SgNXjAFly+QmJBLpYdT0ZFJUpzqK1ugP4nRYBGmDojaAh8b7tcE0W9KenkrqfGMibgae67o87hceNdcmoMwRvLr2hf7OzvqdOvILW7Zeqies8tsTE166YflNFE9wVlj8kqxtNB/CAJ4NA2bxBlEk+wQGG+sc5Ch0riUlD1ZiEelwRqTqhASoMg3dMphdZ0IznKKdREkeC2pTKaXHDWwt1ZNk0CdZVC4PtCQlJCpJtbUDvl3jgkESqjCJTlJrX2zlQ+7pIjgpurojdNQFRzICL74z8OvSYM15ELCpoBL8VvbDChXgUT1iOjfZxgVnfRc9u5M2Fh/onGY7FViQNVsDa7I8JAsFDELXJnL7OMKAnb8ba7UJNDGCiv6HicixFiiE7WcKzRobmS7l3BmAWZS1OJP6vutqnnDS4fq9GrDTjn5+RwnEZduLlrXxGQyBeUPfXOhTwZTfqQ07CTI8WXjkERePR7b65nu10DBYn0ZtgcNFiywv4Ffqwx0TgQ4MZgm8H7IRJrMgmun/FUoFcuiZzyJpGlB8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(23010399003)(376014)(22082099003)(18002099003)(56012099006)(3023799007)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?gUCrV4+wmubgEyxdGFmjGlPQad2Z9esdWozoshrU02yV0+ZgOgZEUhSQHzLz?=
 =?us-ascii?Q?gB5l8z2kfu66CqRMoXNB2qakaKXaj4WtqN2/NllR84088PPOBcmG1yRxniEx?=
 =?us-ascii?Q?SrYU8CjkU34aYsfIfWIGhaoDxE0I6QNym/5QAlz/moA6hckqeD+4cND28ZYl?=
 =?us-ascii?Q?qhjnrrxWqWRqyIl6iAIWKwVdhJu3z7vNMuRlDoph06FfLtPtXVmgJdxbo/S9?=
 =?us-ascii?Q?BnhAog0lZO3sHqPOXVqx4STwfknznvwdqCH4zMrvDcBO5CwgyzkjLTnJUcMT?=
 =?us-ascii?Q?37ei+R8nkCe1DzJQUipoJ3bXAsArJQ6uQsob8Mqj2Vvjg8uHEpmItcPFrPbO?=
 =?us-ascii?Q?7zIH6pHEUSIcKa4PEKPGklfX33/8WCzbFGCmqvvYzvOH9RYq1z1JZdrerSPX?=
 =?us-ascii?Q?Elrt9rRCoTKBqiaaFMOLriwjn++i2hL15rSjrBoSF8rvBeklCzMqy7G0zSV6?=
 =?us-ascii?Q?aqVr3Zsv5c2p+57i60IvevHupfVh2gNNB3agp3goI/uIV9sHC34Scw5vAJQ1?=
 =?us-ascii?Q?AwKmldE7Kjet6Ud0I2EXBougvsYzAnB/W7LDjWYGYEgHaxsujEiNprucTldB?=
 =?us-ascii?Q?e+JXVu+KZPFAWI2TRpLyO3e9dpwT5rLjcK/x7k5GlgzE/h0Lkp2Ce2njVtiE?=
 =?us-ascii?Q?gbWBeyGPf8pcn94rRehsFf1fjc4o3HdKtihdqpDUJIDReyBj497g6TT3YKCG?=
 =?us-ascii?Q?v1gB6bbSu+lnJvYwJy5j0Qk4mR9MMyJ4BrawFIJJu+MJ5+a5XNP4p5aYvR4G?=
 =?us-ascii?Q?EisClPb3oUnJJqM5puaiBjy2bZGOwymv47YssFSvYRJs7y3TCRTYGQBn+WGN?=
 =?us-ascii?Q?Fcre+vCvLNhpB6ksLOefncfS2M1VdJzC2gyaBfrwnQ1VPuGVaub4+g+ye6oD?=
 =?us-ascii?Q?MEDPx0wXWXESGw9tuOf6B7QA/7YrHJIZUmFPiXmwm6USHFF1H8djrGiuxfp6?=
 =?us-ascii?Q?CdbVT8f2EHNv8XblsYIE0xz3MRPLqgG+HcXIi6260nnWdH3Aft2Z9M+zC4AM?=
 =?us-ascii?Q?ywuB/jqrxbtgYz44OLKkZKkKL1UToQWpwQKge+6Wl3l9vy4DHC60Qw8eosn3?=
 =?us-ascii?Q?g/m0KvB/+a/Uz8CeYfiv3BpoOzByVR6iKNh/67EBes+Up9G85NhaxRgxGjt3?=
 =?us-ascii?Q?46bIKZ3d35PjdOzs6Chp4ubKIUrPPIPvdWms2Yyqvd4Kt8y/cDKavGYts4fF?=
 =?us-ascii?Q?TbnfSD2VhCUYJ0ekXxwKZJXBtqH2I1L2rOSHzOwgIJBmrNhVivRZvZUP1rHi?=
 =?us-ascii?Q?TNqVNHup4eAXxffplI9Ci4OEPE6FbKmFdKVlH2BIEgu5fqReBGRb0scNbYhb?=
 =?us-ascii?Q?hza5BwwN7s/ffJUyIZXwELuvfXeI8e5+24131w5u8UQzkP5ZvZU6mFrI7XSz?=
 =?us-ascii?Q?GR7YNTyXRLHuEdIvp7Gbu+iPoPMxXAbjQDfsqBjdfm1MJoQmYMieKshkbwjc?=
 =?us-ascii?Q?49wKNXLiaM6gCxufj0eCC+ouCkU1qA14zgrOxbbT8wnmYtH496KO/d1n4iMo?=
 =?us-ascii?Q?jmwem2feo0LHHjDAEgPNKAr7fdiSNkIzCKlaGDGzRBX+bXVFBfW8LXtQx2xC?=
 =?us-ascii?Q?YYjCVyPqcnI8pC0KMAtIYrOQ6Ja7miVlIkkjY7zgCPwaIXjhfOr9LsI4hXks?=
 =?us-ascii?Q?Ah53mhPn+2mHd6YKwpYydhZhFfeQIbWi2xPyKZtU61xSzkLb38+3lSGEWfWG?=
 =?us-ascii?Q?nfyGvvcevQC9wNgbcgBHAIlrb36bXSdWMB9DwzfgaH/SkItAcivIWtBZLJuw?=
 =?us-ascii?Q?MHl8u7MpNw=3D=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6b8e6b2e-f3ed-4a61-2ff6-08ded0715d0a
X-MS-Exchange-CrossTenant-AuthSource: BY1PR03MB7996.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2026 15:17:24.4910
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RbqdLGdlGZnyHwdSPcDultciUDuLZvI4yvh8IUDnWlaWr+M8C/eF1V9pK9kfzyfktebe58kVtxClaWpQ2j0FOQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH9PR03MB649383
X-purgate-ID: tlsNG-33051d/1782141447-CD879D84-4F80E762/0/0
X-purgate-type: clean
X-purgate-size: 5601

From: Ross Lagerwall <ross.lagerwall@citrix.com>

The newly named bzimage_header is moved to a header file because part of
it will be needed for Secure Boot kexec.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Signed-off-by: Kevin Lampis <kevin.lampis@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
Changes in v2:
- Remove unneeded casts
- Move setup_header to appropriate header file bzimage.h
- Renamed setup_header to less generic name bzimage_header
---
 xen/arch/x86/bzimage.c             | 47 +++---------------------------
 xen/arch/x86/include/asm/bzimage.h | 39 +++++++++++++++++++++++++
 2 files changed, 43 insertions(+), 43 deletions(-)

diff --git a/xen/arch/x86/bzimage.c b/xen/arch/x86/bzimage.c
index 66f648f311..02433ac46f 100644
--- a/xen/arch/x86/bzimage.c
+++ b/xen/arch/x86/bzimage.c
@@ -13,48 +13,9 @@ static __init unsigned long output_length(void *image, unsigned long image_len)
     return *(uint32_t *)(image + image_len - 4);
 }
 
-struct __packed setup_header {
-        uint8_t         _pad0[0x1f1];           /* skip uninteresting stuff */
-        uint8_t         setup_sects;
-        uint16_t        root_flags;
-        uint32_t        syssize;
-        uint16_t        ram_size;
-        uint16_t        vid_mode;
-        uint16_t        root_dev;
-        uint16_t        boot_flag;
-        uint16_t        jump;
-        uint32_t        header;
-#define HDR_MAGIC               "HdrS"
-#define HDR_MAGIC_SZ    4
-        uint16_t        version;
-#define VERSION(h,l)    (((h)<<8) | (l))
-        uint32_t        realmode_swtch;
-        uint16_t        start_sys;
-        uint16_t        kernel_version;
-        uint8_t         type_of_loader;
-        uint8_t         loadflags;
-        uint16_t        setup_move_size;
-        uint32_t        code32_start;
-        uint32_t        ramdisk_image;
-        uint32_t        ramdisk_size;
-        uint32_t        bootsect_kludge;
-        uint16_t        heap_end_ptr;
-        uint16_t        _pad1;
-        uint32_t        cmd_line_ptr;
-        uint32_t        initrd_addr_max;
-        uint32_t        kernel_alignment;
-        uint8_t         relocatable_kernel;
-        uint8_t         _pad2[3];
-        uint32_t        cmdline_size;
-        uint32_t        hardware_subarch;
-        uint64_t        hardware_subarch_data;
-        uint32_t        payload_offset;
-        uint32_t        payload_length;
-    };
-
-static __init int bzimage_check(struct setup_header *hdr, unsigned long len)
+static __init int bzimage_check(struct bzimage_header *hdr, unsigned long len)
 {
-    if ( len < sizeof(struct setup_header) )
+    if ( len < sizeof(struct bzimage_header) )
         return 0;
 
     if ( memcmp(&hdr->header, HDR_MAGIC, HDR_MAGIC_SZ) != 0 )
@@ -73,7 +34,7 @@ static unsigned long __initdata orig_image_len;
 unsigned long __init bzimage_headroom(void *image_start,
                                       unsigned long image_length)
 {
-    struct setup_header *hdr = (struct setup_header *)image_start;
+    struct bzimage_header *hdr = image_start;
     int err;
     unsigned long headroom;
 
@@ -106,7 +67,7 @@ unsigned long __init bzimage_headroom(void *image_start,
 int __init bzimage_parse(void *image_base, void **image_start,
                          unsigned long *image_len)
 {
-    struct setup_header *hdr = (struct setup_header *)(*image_start);
+    struct bzimage_header *hdr = *image_start;
     int err = bzimage_check(hdr, *image_len);
     unsigned long output_len;
 
diff --git a/xen/arch/x86/include/asm/bzimage.h b/xen/arch/x86/include/asm/bzimage.h
index 7ed69d3910..8c54b21d06 100644
--- a/xen/arch/x86/include/asm/bzimage.h
+++ b/xen/arch/x86/include/asm/bzimage.h
@@ -8,4 +8,43 @@ unsigned long bzimage_headroom(void *image_start, unsigned long image_length);
 int bzimage_parse(void *image_base, void **image_start,
                   unsigned long *image_len);
 
+struct __packed bzimage_header {
+        uint8_t         _pad0[0x1f1];           /* skip uninteresting stuff */
+        uint8_t         setup_sects;
+        uint16_t        root_flags;
+        uint32_t        syssize;
+        uint16_t        ram_size;
+        uint16_t        vid_mode;
+        uint16_t        root_dev;
+        uint16_t        boot_flag;
+        uint16_t        jump;
+        uint32_t        header;
+#define HDR_MAGIC               "HdrS"
+#define HDR_MAGIC_SZ    4
+        uint16_t        version;
+#define VERSION(h,l)    (((h)<<8) | (l))
+        uint32_t        realmode_swtch;
+        uint16_t        start_sys;
+        uint16_t        kernel_version;
+        uint8_t         type_of_loader;
+        uint8_t         loadflags;
+        uint16_t        setup_move_size;
+        uint32_t        code32_start;
+        uint32_t        ramdisk_image;
+        uint32_t        ramdisk_size;
+        uint32_t        bootsect_kludge;
+        uint16_t        heap_end_ptr;
+        uint16_t        _pad1;
+        uint32_t        cmd_line_ptr;
+        uint32_t        initrd_addr_max;
+        uint32_t        kernel_alignment;
+        uint8_t         relocatable_kernel;
+        uint8_t         _pad2[3];
+        uint32_t        cmdline_size;
+        uint32_t        hardware_subarch;
+        uint64_t        hardware_subarch_data;
+        uint32_t        payload_offset;
+        uint32_t        payload_length;
+    };
+
 #endif /* __X86_BZIMAGE_H__ */
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 22 15:17:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 15:17:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343891.1603132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbgP3-0005gH-JM; Mon, 22 Jun 2026 15:17:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343891.1603132; Mon, 22 Jun 2026 15:17: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 1wbgP3-0005g5-Dd; Mon, 22 Jun 2026 15:17:37 +0000
Received: by outflank-mailman (input) for mailman id 1343891;
 Mon, 22 Jun 2026 15:17:36 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wbgP2-0005cp-Ji
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 15:17:36 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbgP2-0052oN-0K
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 17:17:36 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a39520d-2eae-0a2a0a5409dd-0a2a450bcafe-12
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:17:35 +0200
Received: from [52.101.53.45]
 (helo=BL0PR03CU003.outbound.protection.outlook.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a39520e-5e53-0a2a450b0019-3465352ddf2d-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:17:35 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by PH9PR03MB649383.namprd03.prod.outlook.com (2603:10b6:510:3e7::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Mon, 22 Jun
 2026 15:17:33 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0139.018; Mon, 22 Jun 2026
 15:17: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TTF6kwwvRVX1Xy2dtL9LJ/R/8w5YhbWUyYtQ81S8TYgaKpGkmExAhjxrTeWba8eTFxUJdchAMXmwypXs0NPwEb8ei3YJXUJtiVOZ46L2xUrFe52YE3YoshO7Px0aCnPSjgNYzif8hYH7fFSPLHXgpC9s0uGG6H6n1Rf1jCVWkEP+BKmNevUJWYk4PggtZf2V67cMk+oK6ZpsSEKQXAU0Aqqa7WuHNDR8Drj/2IuTLjvo+/5SyMcDtNCzDKFcWEn7rQAoGFGpougtodWVSVyWJ4M+LZl73s3DOV80C9+m1p1REaFZl2ZnlZiUbEekIz/Di0ICtdihno0jiGijRaQ3cA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TAZqxPDz4iGQDAm8r7PVY0zk34ELEqip4hG1SLppqVU=;
 b=LTkZgBXAxpW4jT1PQ1g/pZTJQbIPgQxXL70xnPM87zq/R4QB4/aDwM1XBP0OQ5YRYutiQOhKn1SjxzgA6m/HPP3Ax3sZmXpAQOR9LuBlc+lMlgHWaF8817nLzszFq3190xYQ7aIW4i16FVq5CkVcXA4Gyrdqdj69JXLUwEyih3mrCDsO+lO85tXxR25+T/gxAlJm1hxXrBzAsUsziV65Y+vAJ1anBROAhvdjU6p0L9wrfW8LTKRKZKLQX3sn7G9ANZO8VRPbBqJAw2kohASNZYGsE7r/wY2HpYCsy50Nez6WIwtDgXPLrSVgfWVPdBBZn6tiL5HPCzgSv1sTc2E6dA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TAZqxPDz4iGQDAm8r7PVY0zk34ELEqip4hG1SLppqVU=;
 b=f/GtDI3sypzSj7z9MZLdpCcgjIvg1EpfOgR08Eh8JwChspNIis1+zBdpuCf71cvXTQ1IstmiB5jXPIimKNnGM8f7gs30AoyXQd5SRR/AvO0yrT3DHoNgyijU85lYAlHKAQmyTTXqWsKdLOu4838ZQGD9UigshSs3vto2TUc3XuI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Kevin Lampis <kevin.lampis@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	ross.lagerwall@citrix.com,
	Kevin Lampis <kevin.lampis@citrix.com>
Subject: [PATCH v2 4/7] x86/kexec: Support non-page-aligned kexec segments
Date: Mon, 22 Jun 2026 16:18:30 +0100
Message-ID: <20260622151833.3397692-5-kevin.lampis@citrix.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260622151833.3397692-1-kevin.lampis@citrix.com>
References: <20260622151833.3397692-1-kevin.lampis@citrix.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO4P265CA0025.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2ae::10) To BY1PR03MB7996.namprd03.prod.outlook.com
 (2603:10b6:a03:5b2::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PR03MB7996:EE_|PH9PR03MB649383:EE_
X-MS-Office365-Filtering-Correlation-Id: 0763b7bb-dab6-4a24-efb3-08ded071625d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|23010399003|376014|22082099003|18002099003|56012099006|11063799006|6133799003;
X-Microsoft-Antispam-Message-Info:
	xF7qmQiiPe7r4JZc2Sq+/nSkW+Fd8GcQeBKvmdOHCwLnjI8O8xZEzoyj8s7xbIAhKnMt5Jx4MaDtdP5ZIxdMMbsPiaud3YuQCOTIsDfvA4CHHL4nNjvFMfY9yyIdO1S1nOtbXbgZAkgRpCeTI7QYfVay6hSPVFFgSa62rT1j03xZu5tTAkf4+ROEbdKJEODN4a6gVNUvXhqilO1vTtsFefGIYj90ZsCxMHMu5drtLOr7Zg9l4tMrH10begAIDDsHy1nbD9ZKdyV0TRe5OC/jEMW+hpkMFjW3YJzHJLZuWYjyv7EwYsFVZhHpVcS2DOIQnTNqPRQ2rP+7Ff6QPQcCsDfKCB6utHVzr62y/4xW2cWLM0QCfV/XO0wQVHLIqmjvfzstZW2Z3wqcjZOPBr1LFiG1ji+zRhJbCuqZuDQuIq/+Wg9BeVY47vdL73L55w8G6gD4He8rF9ZpvLYpLBK1ZL8e8u6SQQhnJBZwCTKYwXAHCh2Zt/YJ7f1rHK/0OoYolufSmDzepU+KhvgxVfVCfVPlUeQ8OHN8NoN34x9iMmvd6F42vrnD071wjyXGMpIlOyn+/+S3VRC03C80poqClKvG+3FK5XZEcTg6tNHGrZHJoMeerL+ufrX84T4wI5mcNkBM2h0AnQIVVIgvbEkOy20971Sjs3J9fhwroslu2ck=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(23010399003)(376014)(22082099003)(18002099003)(56012099006)(11063799006)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?OLIaO20Y7VURev+VXZKwWuFencdeZ08fkct9v+HovPPOXxsI5+uhE+ZqUYdo?=
 =?us-ascii?Q?XPN5P2vmfSfWj9YmoBRDc/3YlG7zkd5C+2Vx2erUKLcTDJihXuVgmt7iL+mL?=
 =?us-ascii?Q?rLvTJnyKyEdd+GsYx0KEKrLR7o2zC52AKfiR2kIXjUMQTHUKKCGFcujjYVue?=
 =?us-ascii?Q?VOtoEyerAJfGbqDsMnudLqCHVwuBx+fQj7Whrd0/rjSVXmmSzLsK3/lobcaZ?=
 =?us-ascii?Q?AeSXl9krUJ+IfvRVggJNdVo7NeOv5H2Cqowg/F+UJooCxTYwEjpnCmce/nCX?=
 =?us-ascii?Q?KIDJQhmkrGU8eGuh217ExdAOVyoPiKYg5H2LLeqRVPv2fg5FMEr8Vrlx98mA?=
 =?us-ascii?Q?2fDfBPwpbrpMqxJ/yfNf+gkdg+uSEV7efdqZnfVbUVEL78ECAHoOsWfD7Grg?=
 =?us-ascii?Q?q3axiwwM98c1u1sR1is/LvDKIoyiM5TO+vg9E7AWz5McyoLNAl2jtB3J58ye?=
 =?us-ascii?Q?VXk03CR+Iy807cIpJg4pj99jBW+dKIr+IpXsUl3AIq/kHEZ7I17IBQuylp+o?=
 =?us-ascii?Q?08biu9wtRZZxmhAMILW5AEAeCMpOPRrJiA2QOlmQhC9Chzp+gjtQ3H/2mcCR?=
 =?us-ascii?Q?DE3wlxRDgp4cwerarN+TAMmMUW3ObPjZQZjntChsRnSRRqTLOTiWC6dqKGl2?=
 =?us-ascii?Q?1qzmEEBs3lPsuhTCUEB8in9WtrMdrbmysJwZ7q6X3ocyzne/FiR4ERZL0TSg?=
 =?us-ascii?Q?3tMA6iWG5URsW2m0WpwrOCFUvbGqgEz3zaIDzlgOO/htUcMVO77VhT4gi+8d?=
 =?us-ascii?Q?ozr8j5FqQc5PiAl3valyFWUNudAtnRaBQcWMa2DQxTaX4VLWQw+5InaHL3fJ?=
 =?us-ascii?Q?1l/qTPd5I07mbhW6M5K+NZ17632R9ypvWQjcKgx9XEl21erwjDSx/A7iOJrm?=
 =?us-ascii?Q?jFbt9Xy268MoN9m0LRXr8/UkGir8bY3tGi8WzQUQ+/rq7hfRO/Y7wBwy3e+K?=
 =?us-ascii?Q?dmliA6Pg3JyI/2Kj+D9FyE12CxNtykwTkcL4rBoUbz1wnWO/3GsDu9cy7zH1?=
 =?us-ascii?Q?2sX3Qi0y0d2O9i3j2/uuhMJ0emdJOwqc3o7Si54PJgWNVciTanRIcKdR+u7i?=
 =?us-ascii?Q?JeXVS6fenh39cT3vO/5P/lDPhpO3eM9E1yFPawktsGEQIKXcvVI4k/eXupHi?=
 =?us-ascii?Q?s9GtHSRQ20I4Je19JkCb4QegONus9oigv+/L25n8i7/jmpxDwPbLSm9oiEyp?=
 =?us-ascii?Q?4Sq2tUH78jY54evPXZ03bVIdzPPolfWdidhFwyCp+horcH/WLiVUNVBMIiTM?=
 =?us-ascii?Q?1ERVzRhmDm8SK4ao9HQ4bvEMqIKwCxCwjPanPB2S/ZnyVPZep0Cr07RbCLDE?=
 =?us-ascii?Q?+ZE7B67ZjO8VYWEBgYg3a9HK9vu5x5GFrQreNzzVJigaqnxLcU1EBBBAS61w?=
 =?us-ascii?Q?d/L+p1wyHmVyv0vPWd/o9ZRGMGTmLeKI8qiQlNV5M1lQXh4/rtIuEEIarfb2?=
 =?us-ascii?Q?oCi0PDCT2BRyIekg++vOX/NZ25oKeR/sdb7lPf0ZD+N2/5Q+kC8WLMiQMXc5?=
 =?us-ascii?Q?sF8FT/KhLSfDduhHJTAoUsGYEvHQGudUOyglgE8fBtPYfZNBUYxFlcLIl43z?=
 =?us-ascii?Q?qTfOzyBiy1mjILYF05OEXcUzEaJiJKAbmLRm5yga6NS+iD1ZTcyv111XmSBn?=
 =?us-ascii?Q?iYxEV+m7yLhCoKxnxfo/bjEJOQiKh6XYWwKkLFgA1sNxE2tsNcyN3zg33XF6?=
 =?us-ascii?Q?w0Kep7ntFB75SPMyGybrR+oz+ITd4vXzLjacQOCta+d2ArJXBP3RiXBRCI2c?=
 =?us-ascii?Q?5391O/IgCg=3D=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0763b7bb-dab6-4a24-efb3-08ded071625d
X-MS-Exchange-CrossTenant-AuthSource: BY1PR03MB7996.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2026 15:17:33.4391
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: L8DkWHhFz41AVaTKWGzxdj1Q3u7cCFx3OYi0wz8/njPdir9Wy0VKkiYJ/M3/RgiCW+nJV+fBzWMBr+ZSZG46cQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH9PR03MB649383
X-purgate-ID: tlsNG-42698a/1782141455-457FD00E-1ECFEA67/0/0
X-purgate-type: clean
X-purgate-size: 4633

From: Ross Lagerwall <ross.lagerwall@citrix.com>

With Secure Boot, userspace passes in the entire kernel loaded for
verification purposes. However, the kernel's startup32 function needs to
be aligned (e.g. to 16 MiB) and this results in the start of the segment
not being page-aligned (depending on where the startup32 function lands
in the kernel binary). Relax this restriction in Xen to support this
use case.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Signed-off-by: Kevin Lampis <kevin.lampis@citrix.com>
---
Changes in v2:
- Remove error handling around map_domain_page because it doesn't fail
---
 xen/common/kimage.c      | 47 +++++++++++++++++++++++++++++++---------
 xen/include/xen/kimage.h |  1 +
 2 files changed, 38 insertions(+), 10 deletions(-)

diff --git a/xen/common/kimage.c b/xen/common/kimage.c
index dc47306223..d4a695a2bd 100644
--- a/xen/common/kimage.c
+++ b/xen/common/kimage.c
@@ -725,12 +725,14 @@ static int kimage_load_crash_segment(struct kexec_image *image,
      */
     paddr_t dest;
     unsigned long sbytes, dbytes;
+    unsigned int dest_offset;
     int ret = 0;
     unsigned long src_offset = 0;
 
     sbytes = segment->buf_size;
     dbytes = segment->dest_size;
     dest = segment->dest_maddr;
+    dest_offset = segment->dest_offset;
 
     while ( dbytes )
     {
@@ -740,24 +742,26 @@ static int kimage_load_crash_segment(struct kexec_image *image,
 
         dest_mfn = dest >> PAGE_SHIFT;
 
-        dchunk = PAGE_SIZE;
+        dchunk = PAGE_SIZE - dest_offset;
         schunk = min(dchunk, sbytes);
 
         dest_va = map_domain_page(_mfn(dest_mfn));
-        if ( !dest_va )
-            return -EINVAL;
 
-        ret = copy_from_guest_offset(dest_va, segment->h, src_offset, schunk);
-        memset(dest_va + schunk, 0, dchunk - schunk);
+        if ( dest_offset )
+            memset(dest_va, 0, dest_offset);
+        ret = copy_from_guest_offset(dest_va + dest_offset, segment->h,
+                                     src_offset, schunk);
+        memset(dest_va + dest_offset + schunk, 0, dchunk - schunk);
 
         unmap_domain_page(dest_va);
         if ( ret )
             return -EFAULT;
 
-        dbytes -= dchunk;
+        dbytes -= dchunk + dest_offset;
         sbytes -= schunk;
-        dest += dchunk;
+        dest += dchunk + dest_offset;
         src_offset += schunk;
+        dest_offset = 0;
     }
 
     return 0;
@@ -798,6 +802,26 @@ int kimage_alloc(struct kexec_image **rimage, uint8_t type, uint16_t arch,
                  uint32_t nr_segments, struct kimage_segment *segment)
 {
     int result;
+    unsigned int i;
+
+    for ( i = 0; i < nr_segments; i++ )
+    {
+        paddr_t mend;
+
+        /*
+         * Stash the destination offset-in-page for use when copying the
+         * buffer later.
+         */
+        segment[i].dest_offset = PAGE_OFFSET(segment[i].dest_maddr);
+
+        /*
+         * Align down the start address to page size and align up the end
+         * address to page size.
+         */
+        mend = segment[i].dest_maddr + segment[i].dest_size;
+        segment[i].dest_maddr &= PAGE_MASK;
+        segment[i].dest_size = ROUNDUP(mend, PAGE_SIZE) - segment[i].dest_maddr;
+    }
 
     switch( type )
     {
@@ -824,9 +848,11 @@ static void kimage_calc_one_digest(struct sha2_256_state *ctx,
 {
     paddr_t dest;
     unsigned long sbytes;
+    unsigned int dest_offset;
 
     sbytes = segment->buf_size;
     dest = segment->dest_maddr;
+    dest_offset = segment->dest_offset;
 
     while ( sbytes )
     {
@@ -836,15 +862,16 @@ static void kimage_calc_one_digest(struct sha2_256_state *ctx,
 
         dest_mfn = dest >> PAGE_SHIFT;
 
-        dchunk = PAGE_SIZE;
+        dchunk = PAGE_SIZE - dest_offset;
         schunk = min(dchunk, sbytes);
 
         dest_va = map_domain_page(_mfn(dest_mfn));
-        sha2_256_update(ctx, dest_va, schunk);
+        sha2_256_update(ctx, dest_va + dest_offset, schunk);
         unmap_domain_page(dest_va);
 
         sbytes -= schunk;
-        dest += dchunk;
+        dest += dchunk + dest_offset;
+        dest_offset = 0;
     }
 }
 
diff --git a/xen/include/xen/kimage.h b/xen/include/xen/kimage.h
index 0841b6f321..86250f2939 100644
--- a/xen/include/xen/kimage.h
+++ b/xen/include/xen/kimage.h
@@ -23,6 +23,7 @@ struct kimage_segment {
     uint64_t buf_size;
     uint64_t dest_maddr;
     uint64_t dest_size;
+    unsigned int dest_offset;
 };
 
 struct kexec_image {
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 22 15:17:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 15:17:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343889.1603122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbgP1-0005Ns-66; Mon, 22 Jun 2026 15:17:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343889.1603122; Mon, 22 Jun 2026 15:17: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 1wbgP1-0005Nl-38; Mon, 22 Jun 2026 15:17:35 +0000
Received: by outflank-mailman (input) for mailman id 1343889;
 Mon, 22 Jun 2026 15:17:33 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wbgOz-0005Jd-77
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 15:17:33 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbgOy-006hPz-Ja
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 17:17:32 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a39520c-bab6-0a2a0a5309dd-0a2a4502d4ac-0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:17:32 +0200
Received: from [40.107.208.44]
 (helo=PH0PR06CU001.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a39520a-fdf1-0a2a45020019-286bd02c8c05-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:17:32 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by PH9PR03MB649383.namprd03.prod.outlook.com (2603:10b6:510:3e7::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Mon, 22 Jun
 2026 15:17:28 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0139.018; Mon, 22 Jun 2026
 15:17: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jZgDUZgRu5yd2xo7lyogtHif1/s5+Nd+wTEVTCC6yv7458SR2mNmpzsYkkumLkW5TjzlDF9XFeF7BAETKknkOlFAJZtWM/IP55pJAimaz/m1AbO7preO2hwnR1G4NbuH5C4qykTT/PMbXAvczwsRKvQJmxwC/AVIWo0/ka5gSeVYPhp5uDC0HjADCU2avJdR/0isqA+HmaCfMwpIbgXdX8CJM9OZBpkPGDEmP7Q82N8Tct3hA1nsDINsRMkyxz71melPkmETH2PuNsbNwHBFC9rCnycF21kXRmLgZbxE8EdUX7zm2ZEU0z9RhPBivtYvV29DgoGY8ZA3gGY6/YAfSg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X8wWS/QFTT3jxmNODw0M8pTnOtiDA5oLNhuUJci4u7U=;
 b=AF9WNUB5C9WAJI8HOU0EaE6Y8N81ToKIvwmaAEvL+Yq8estFmkn/gNL0Li05Ph80nmLoGsgK53VQ6LluKCX510wPfgcPucV0uE8+OviGYZFh0gBwv/IB9m+6niU20Byi6GWBKQW4b9rXvfbGkI1cbU3FaVfT2lti28rkZ0DiaeRk9jbGntm9pTR71bLfyaF52gDP6VUa8Pni0JHu2kSfPqzmLEWI1xDUiMZsbNTJBUn+57hZBtx3u4U8WxyoXRGlyJ1QC2B0Rk9Iqw/E8RI9kiGlMvo6pjg3vwtIGlqSJKo/2qKvgOFp+flftu4s6yUAjulUy4zH8dqTX2hn7jdgRg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X8wWS/QFTT3jxmNODw0M8pTnOtiDA5oLNhuUJci4u7U=;
 b=oahH6H2mKcsu831UvkQGc0Sng4MQubGqB6wYvR2cO/qmdO/mjkr5z360CIc1AoQHlHyEQKKKOnXl9YObpGAjkAL18WmzYjkr1z5ajEvqscxv6BaWPssF1/Hi+YHIynyQVCqICtm1l/EL+EF/8Fd7VePcTZeADtwqRxXKhpPBJ5s=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Kevin Lampis <kevin.lampis@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	ross.lagerwall@citrix.com,
	Kevin Lampis <kevin.lampis@citrix.com>
Subject: [PATCH v2 3/7] x86/kexec: add new struct kimage_segment
Date: Mon, 22 Jun 2026 16:18:29 +0100
Message-ID: <20260622151833.3397692-4-kevin.lampis@citrix.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260622151833.3397692-1-kevin.lampis@citrix.com>
References: <20260622151833.3397692-1-kevin.lampis@citrix.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO4P265CA0233.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:315::19) To BY1PR03MB7996.namprd03.prod.outlook.com
 (2603:10b6:a03:5b2::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PR03MB7996:EE_|PH9PR03MB649383:EE_
X-MS-Office365-Filtering-Correlation-Id: 2600fb46-b394-4313-960e-08ded0715fab
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|23010399003|376014|22082099003|18002099003|56012099006|11063799006|6133799003;
X-Microsoft-Antispam-Message-Info:
	EzoiRf+2XyVx7ElfXFPOIwMC+ZD0AE9koothaq0ya7Tpeyo8yKLB9W/k9Bt7y3s5jFqWwN/jmoyJPorszKL303QMAVIYVPPUmnIkynTkW5yOUBKXCU4W30y6/afT8BGrxkiYCI6rIt4fvQdNM9AhRez2UX124XyGQHLuSvioRUTDVVRmHSQR4eYGZFZuphD463zmbbffMI0YMQYTSYFEQq0SB56nl3aqFAbrclolNV2JQXSh1sFmcD2QRSBvV6Fj8NkRtscAeGWS1C+iSy6euiuTnlqIz4BhpB7K9NF7HEoWAzCIeAOi2f9+IC7GtYvy4ESlIlcinn+sE0MG6dNQh+X+7OV1BbRevKjGPUnMpdEeLlhYk1rfFiFZNpzwrRQDgAndoOgqL8n2v5NMQzXFvdRzaZxQmq2zMbyTM80WTysDzKwVHp3FbZnz4EMfZNaVWnGnZ5mTujEYp7zizYexJxCZK5KctuBYQMQ/PEueXixWFTlo7d3z8no6dE0+TdbKeeM6511koRIj5/V75qFCinc+Yo/lqcE0VWEEHiTNHvmOhcEkLNIuDSNlQGLaOz65LP125u4m+uoF+tt6156l2+Hjbp+tfA7VTx/en3Lv8mzf4QF1NT1YnqKF7LCn888iGxGBGrrj+d22ddCQJYm7Q+YYlnZnWUbI48/Ieypr7yw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(23010399003)(376014)(22082099003)(18002099003)(56012099006)(11063799006)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?Q5zVZjgLBWSf3tvUIS+srba9E1afCQ31szengy39CgMiwIKeTjwvBjQ8SblQ?=
 =?us-ascii?Q?7OO6KdGP/+3obIdPjKXJzI9Jq52UOqWOOX45NgUatQL1LOudcbq3HQ0ubGrL?=
 =?us-ascii?Q?GQr3/CN3nScKo7nIp1zJdEj7PLMVgTUsOjuVHCcHE7rAgdDERzrUYceKKEHb?=
 =?us-ascii?Q?t0GOdmzM2IihM8Spftvaa0aIHekMfYa9rjNmcJZAcmw9OaU70CB0o4CLAbYI?=
 =?us-ascii?Q?sum/mEfECoTozbtwsKnCYAeIrRWbAaoe+GADp27oK71wp3n6J0HZV2yzuTvn?=
 =?us-ascii?Q?OSTs0jrqCHL+SMEN4dro4lwapX06v4B9460Su74uf6VOk6MOOPMABj/7Mf7D?=
 =?us-ascii?Q?kdW4PpFpzMORBPyMGo0XHWgL2oJNt9d1A5IPlHL3IaxGwMxBDBl9opDNUqGu?=
 =?us-ascii?Q?pMoBXfXo+iL44XB52/8+fm+iMsX7syMZ04/O82IbCoKGH8gQXGwyKKeHkIRY?=
 =?us-ascii?Q?OCo/3LOc8lb/RXIchkOBEe1h5KkibKW3CLAQInk+bLiDSb3WQy61TaNrnaD0?=
 =?us-ascii?Q?EK9umAczOk32xD6hjNu9qF5n3Ko3Ja4kOYbA2rrVoA05sio+f6AOSnAIXzJX?=
 =?us-ascii?Q?TszOXEIwuHbTRORB6EgFTUJfAEL4ERdf5MKjCuwUzj+8jPVy6cxpnDSTuhzA?=
 =?us-ascii?Q?lrRKuGEhnO/JvNPQtLpikW8ANhMI7ZQqTg6greFRzT1P0zam1/XmkaSMlWfM?=
 =?us-ascii?Q?mGrbbHXypAd9cTAgOEtWpX8oxLVJjI5Wgi9wu2L1mgfbaPZvavTa1tlA7l/E?=
 =?us-ascii?Q?Sll7ngAAgbUxhVLmacCFCpMpXpOrCBqNPhwBrGjbzN1YdWh3YSWFjw5Hp1QF?=
 =?us-ascii?Q?WtNorzWQa7H4z/WfWfzMaA3BUyTEkrB1/dFlby6je/LAmDZn7WOT9wjIlaM1?=
 =?us-ascii?Q?OqK0xKr73Xza8S72qcwyT59jFjAojt88UE/EAIHWA8HAL+qvG7i/3LGaG7eM?=
 =?us-ascii?Q?cOZxlJ4107WKz+IICsRXTESH81vo6ZnocssrneGVGVyooyFADhKZAXaRRkO8?=
 =?us-ascii?Q?jNnMnkSZVQg7KEXeZmsbEvX5Liij89boUfLW2CHeC0nimO0RREIPv8DQhUL8?=
 =?us-ascii?Q?2l1JEWQRIlBf2KhSXTLUFONFolE1afickSMz5n8RzSDJWGPm7Y4ipatSPMG1?=
 =?us-ascii?Q?Uv/R+WX3LCKJlt7FKmwKWolQYhGPxfxXz0doeCtoD+kVS7/WbTwD+6XBMd9z?=
 =?us-ascii?Q?NDIIn/IPRHJ/+5ibc9Dt2N24k9tzrnSap8DQvuIdZCIqPccoE3LOMoglgD8u?=
 =?us-ascii?Q?Eba9CGyS6nBbQDKHe2XwY+zLw96KgSbaLB0woUFGzQIMw1yORzSfkOOoOxQn?=
 =?us-ascii?Q?H3DbW5DZBBqlYOaOuszJKMmuuIM6sPazHPN4KqLsPu9qiI3NjQ7uuonMwl8Y?=
 =?us-ascii?Q?WY7fxK/gnsT8CKl3acsJt11xXwCS+MnMje/5ySCxu3oBJqFCK4YuxZuPNyOc?=
 =?us-ascii?Q?PYWyXK7hYVklErNDowNusOpdGonWrN2zgbzeIX3cbbwmja0fNJLbsnrEj4je?=
 =?us-ascii?Q?0NtPYuoxdjRQsaesMYmTNI6Qhcppm0ME78p8ZMmIxkXk3hFvVpQqSDyrXsXj?=
 =?us-ascii?Q?bXkurcNoVA3QL3Fr/jdkVS/4qKEZUIvGOC9x1Nm6fbbCco6NpBWOZSiQjD5i?=
 =?us-ascii?Q?EWUDdeNGtMb/lng7O70xDCeREq+DfHF76xLy4WlivaCYbS1NxN2RL2HFF63a?=
 =?us-ascii?Q?a8Yny7oFdfxHgi4ukL1OfzZjZngicH2qA6lpy8BlFj6QvRaVi5HNxActOsIC?=
 =?us-ascii?Q?Kg84sxr84Q=3D=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2600fb46-b394-4313-960e-08ded0715fab
X-MS-Exchange-CrossTenant-AuthSource: BY1PR03MB7996.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2026 15:17:28.8839
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nYySxmIoFh0p1HsSpEIcEt4DK5BF2avFOEUspP8hcV5AS7ZSmXn+lkkdgVrL+Wa/P9BJl+9f/L6f5K//ZVr9ZA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH9PR03MB649383
X-purgate-ID: tlsNG-720697/1782141452-460643F3-658BB274/0/0
X-purgate-type: clean
X-purgate-size: 7964

From: Ross Lagerwall <ross.lagerwall@citrix.com>

New struct for internal use because Secure Boot code needs to add an
extra field in a future patch.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Signed-off-by: Kevin Lampis <kevin.lampis@citrix.com>
---
Changes in v2:
- Read into a local xen_kexec_segment_t variable and fill in segments[i]
  manually instead of casting from a different sized type
- Remove union and _pad from new `struct kimage_segment` type
- Swap xen_kexec_segment_t to struct kimage_segment in separate patch
---
 xen/common/kexec.c       | 19 ++++++++++++++-----
 xen/common/kimage.c      | 25 +++++++++++++------------
 xen/include/xen/kimage.h | 11 +++++++++--
 3 files changed, 36 insertions(+), 19 deletions(-)

diff --git a/xen/common/kexec.c b/xen/common/kexec.c
index f31ab3fa07..5caeb19819 100644
--- a/xen/common/kexec.c
+++ b/xen/common/kexec.c
@@ -920,9 +920,10 @@ static int kexec_load_slot(struct kexec_image *kimage)
 static int kexec_load(XEN_GUEST_HANDLE_PARAM(void) uarg)
 {
     xen_kexec_load_t load;
-    xen_kexec_segment_t *segments;
+    struct kimage_segment *segments;
     struct kexec_image *kimage = NULL;
     int ret;
+    unsigned int i;
 
     if ( copy_from_guest(&load, uarg, 1) )
         return -EFAULT;
@@ -930,14 +931,22 @@ static int kexec_load(XEN_GUEST_HANDLE_PARAM(void) uarg)
     if ( load.nr_segments >= KEXEC_SEGMENT_MAX )
         return -EINVAL;
 
-    segments = xmalloc_array(xen_kexec_segment_t, load.nr_segments);
+    segments = xmalloc_array(struct kimage_segment, load.nr_segments);
     if ( segments == NULL )
         return -ENOMEM;
 
-    if ( copy_from_guest(segments, load.segments.h, load.nr_segments) )
+    for ( i = 0; i < load.nr_segments; i++ )
     {
-        ret = -EFAULT;
-        goto error;
+        xen_kexec_segment_t tmp_seg = {};
+        if ( copy_from_guest_offset(&tmp_seg, load.segments.h, i, 1) )
+        {
+            ret = -EFAULT;
+            goto error;
+        }
+        segments[i].h = tmp_seg.buf.h;
+        segments[i].buf_size = tmp_seg.buf_size;
+        segments[i].dest_maddr = tmp_seg.dest_maddr;
+        segments[i].dest_size = tmp_seg.dest_size;
     }
 
     ret = kimage_alloc(&kimage, load.type, load.arch, load.entry_maddr,
diff --git a/xen/common/kimage.c b/xen/common/kimage.c
index 6e009529ae..dc47306223 100644
--- a/xen/common/kimage.c
+++ b/xen/common/kimage.c
@@ -81,7 +81,7 @@ static struct page_info *kimage_alloc_zeroed_page(unsigned memflags)
 
 static int do_kimage_alloc(struct kexec_image **rimage, paddr_t entry,
                            unsigned long nr_segments,
-                           xen_kexec_segment_t *segments, uint8_t type)
+                           struct kimage_segment *segments, uint8_t type)
 {
     struct kexec_image *image;
     unsigned long i;
@@ -206,7 +206,7 @@ out:
 
 static int kimage_normal_alloc(struct kexec_image **rimage, paddr_t entry,
                                unsigned long nr_segments,
-                               xen_kexec_segment_t *segments)
+                               struct kimage_segment *segments)
 {
     return do_kimage_alloc(rimage, entry, nr_segments, segments,
                            KEXEC_TYPE_DEFAULT);
@@ -214,7 +214,7 @@ static int kimage_normal_alloc(struct kexec_image **rimage, paddr_t entry,
 
 static int kimage_crash_alloc(struct kexec_image **rimage, paddr_t entry,
                               unsigned long nr_segments,
-                              xen_kexec_segment_t *segments)
+                              struct kimage_segment *segments)
 {
     unsigned long i;
 
@@ -236,7 +236,7 @@ static int kimage_crash_alloc(struct kexec_image **rimage, paddr_t entry,
     {
         paddr_t mstart, mend;
 
-        if ( guest_handle_is_null(segments[i].buf.h) )
+        if ( guest_handle_is_null(segments[i].h) )
             continue;
 
         mstart = segments[i].dest_maddr;
@@ -664,7 +664,7 @@ found:
 }
 
 static int kimage_load_normal_segment(struct kexec_image *image,
-                                      xen_kexec_segment_t *segment)
+                                      struct kimage_segment *segment)
 {
     unsigned long to_copy;
     unsigned long src_offset;
@@ -698,7 +698,7 @@ static int kimage_load_normal_segment(struct kexec_image *image,
             return ret;
 
         dest_va = __map_domain_page(page);
-        ret = copy_from_guest_offset(dest_va, segment->buf.h, src_offset, size);
+        ret = copy_from_guest_offset(dest_va, segment->h, src_offset, size);
         unmap_domain_page(dest_va);
         if ( ret )
             return -EFAULT;
@@ -717,7 +717,7 @@ static int kimage_load_normal_segment(struct kexec_image *image,
 }
 
 static int kimage_load_crash_segment(struct kexec_image *image,
-                                     xen_kexec_segment_t *segment)
+                                     struct kimage_segment *segment)
 {
     /*
      * For crash dumps kernels we simply copy the data from user space
@@ -747,7 +747,7 @@ static int kimage_load_crash_segment(struct kexec_image *image,
         if ( !dest_va )
             return -EINVAL;
 
-        ret = copy_from_guest_offset(dest_va, segment->buf.h, src_offset, schunk);
+        ret = copy_from_guest_offset(dest_va, segment->h, src_offset, schunk);
         memset(dest_va + schunk, 0, dchunk - schunk);
 
         unmap_domain_page(dest_va);
@@ -763,12 +763,13 @@ static int kimage_load_crash_segment(struct kexec_image *image,
     return 0;
 }
 
-static int kimage_load_segment(struct kexec_image *image, xen_kexec_segment_t *segment)
+static int kimage_load_segment(struct kexec_image *image,
+                               struct kimage_segment *segment)
 {
     int result = -ENOMEM;
     paddr_t addr;
 
-    if ( !guest_handle_is_null(segment->buf.h) )
+    if ( !guest_handle_is_null(segment->h) )
     {
         switch ( image->type )
         {
@@ -794,7 +795,7 @@ static int kimage_load_segment(struct kexec_image *image, xen_kexec_segment_t *s
 
 int kimage_alloc(struct kexec_image **rimage, uint8_t type, uint16_t arch,
                  uint64_t entry_maddr,
-                 uint32_t nr_segments, xen_kexec_segment_t *segment)
+                 uint32_t nr_segments, struct kimage_segment *segment)
 {
     int result;
 
@@ -819,7 +820,7 @@ int kimage_alloc(struct kexec_image **rimage, uint8_t type, uint16_t arch,
 }
 
 static void kimage_calc_one_digest(struct sha2_256_state *ctx,
-                                   xen_kexec_segment_t *segment)
+                                   struct kimage_segment *segment)
 {
     paddr_t dest;
     unsigned long sbytes;
diff --git a/xen/include/xen/kimage.h b/xen/include/xen/kimage.h
index 8ed89d4fa3..0841b6f321 100644
--- a/xen/include/xen/kimage.h
+++ b/xen/include/xen/kimage.h
@@ -18,12 +18,19 @@
 
 typedef paddr_t kimage_entry_t;
 
+struct kimage_segment {
+    XEN_GUEST_HANDLE(const_void) h;
+    uint64_t buf_size;
+    uint64_t dest_maddr;
+    uint64_t dest_size;
+};
+
 struct kexec_image {
     uint8_t type;
     uint16_t arch;
     uint64_t entry_maddr;
     uint32_t nr_segments;
-    xen_kexec_segment_t *segments;
+    struct kimage_segment *segments;
 
     kimage_entry_t head;
     struct page_info *entry_page;
@@ -44,7 +51,7 @@ struct kexec_image {
 
 int kimage_alloc(struct kexec_image **rimage, uint8_t type, uint16_t arch,
                  uint64_t entry_maddr,
-                 uint32_t nr_segments, xen_kexec_segment_t *segment);
+                 uint32_t nr_segments, struct kimage_segment *segment);
 void kimage_free(struct kexec_image *image);
 int kimage_load_segments(struct kexec_image *image);
 struct page_info *kimage_alloc_control_page(struct kexec_image *image,
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 22 15:17:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 15:17:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343893.1603140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbgP8-00068I-QD; Mon, 22 Jun 2026 15:17:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343893.1603140; Mon, 22 Jun 2026 15: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 1wbgP8-00067w-Lz; Mon, 22 Jun 2026 15:17:42 +0000
Received: by outflank-mailman (input) for mailman id 1343893;
 Mon, 22 Jun 2026 15:17:42 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wbgP7-00062H-OF
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 15:17:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbgP7-0052r4-4s
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 17:17:41 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a39520c-bab6-0a2a0a5309dd-0a2a4502d4ac-14
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:17:41 +0200
Received: from [40.93.194.36]
 (helo=SN4PR0501CU005.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a395213-fdf1-0a2a45020019-285dc224af76-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:17:40 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by PH9PR03MB649383.namprd03.prod.outlook.com (2603:10b6:510:3e7::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Mon, 22 Jun
 2026 15:17:38 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0139.018; Mon, 22 Jun 2026
 15:17: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=rlozvLKr0aBUznnvpMaAtqPB6HYCPXILfHthMrLqT+16HVmivBLvr/kGKuxNKJIiyzcTnep4tpy62gq/ixu1FNB7BvetvSRjvCRSWPLXK/rJv/A1vT/6TlNRjS5nF4bFOroh7yV33qZDwOsWVDZ/3c18Q91+cOPN+GArU7oyef8IIV0obkYU1VIqCZQGp/egiYMXr3YO6s4GSYth91q/X2Z/piy2TGzua8peN5nmxgO68tGxhD17nj5vHhZO3chwwbDDYuNqNI80u1t2whDl9NSvtldMJHi0ENQ6qbr4qg0dI0N+yMA9GY9rkK28c83qUr6wF/9TiosylqnrmeAiMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Kq3XUrFRCUR2ttK7TfS4U/324yvP/l6gtcQldulK+jo=;
 b=jIfWlFDUkgDYRU/YN6HNNNkaVeSyEXxtt2h45307mWcEPPEcPWrG0/lUU8HU4FD7dvYRKvdUyMQpGt1DkHaf3h+spRHJEJpYoWLI5nNGEeu/A+nPavE87AMBYXJTSd4cWyKEKRAVYzUgzYPZWdqNwceQsaG+WTPSrm01+VusZueyJBq+8ItF/IB0Jq/SH+bmgVxfs7Hmiihn1WljNx1+uKM6vjgDhsCFog53yZiG4liK7qj46GTt+eMO6Tg74mQWp8T2LUhlgjMSIVvKWNDnCkPgtdZFMu8FT2auuRhjGCKZmhTqaDPRjbL2mLwnEZybUcp+Y3yB5g+4CLSMYzmIqQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Kq3XUrFRCUR2ttK7TfS4U/324yvP/l6gtcQldulK+jo=;
 b=Gf0mRNnjWvXWii034c/q7oyI3+VRI9u+D90y2dKUSuLamsgaORWYjntJaAUssTN2IH3q/EtUi73LR4rfCryjklljWdZ9S8wfFEFXa3n0uIqHI6OMfG6mSgeFzzAIpyj7Jd3Jkuba+jreUlXF7W1der6Jt5z3e8Rhkgyv0uwuls0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Kevin Lampis <kevin.lampis@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	ross.lagerwall@citrix.com,
	Kevin Lampis <kevin.lampis@citrix.com>
Subject: [PATCH v2 5/7] x86/kexec: Implement new EFI load type
Date: Mon, 22 Jun 2026 16:18:31 +0100
Message-ID: <20260622151833.3397692-6-kevin.lampis@citrix.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260622151833.3397692-1-kevin.lampis@citrix.com>
References: <20260622151833.3397692-1-kevin.lampis@citrix.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO4P265CA0085.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2bd::14) To BY1PR03MB7996.namprd03.prod.outlook.com
 (2603:10b6:a03:5b2::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PR03MB7996:EE_|PH9PR03MB649383:EE_
X-MS-Office365-Filtering-Correlation-Id: a80a05d9-99fd-4871-a8bd-08ded0716502
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|23010399003|376014|22082099003|18002099003|56012099006|3023799007|11063799006|6133799003;
X-Microsoft-Antispam-Message-Info:
	24/YgtMKY/o1RN5MPBey37Y0Wa4Kp2MzgcA1/kSVudeyIvHQUx8ApBbt3ao0yd0U982mMeY8n3oGXrTXFXwmscsVYP6M/OmtZGZFSGMRuTVhKyup7AmQ87d7b7FfWIJuYXKLOysJwNaCZZe0w65GHc5bY5k9ganSIYD6bfh8RoFy6gAN7Yz+a5gbitch1/cuLY9J0twrsLuejA2s5GzlhbJD0LsEtDuxOSUlwpOddr/Sgk4jyIU3Ow0J1CXzvkxoa/UxLUtLZWmk9ykyhtF5amNGtoCQQLnmJbzLW0zKlmjQWyMqZHeYdt3QIKmGPauSEUdPhyW+Yy0hDDA1I5MrnzeO2xsbp8E5LxDJOIqobw/YymC2HKl5MINmhXkNy8WqYENczRNG/Y536k7CDLMphr5NpJsnUnWmAgnnJqw+zErWPPHsQOMTcdZObtGMUkSORJIJPLVQAkCj7ESYVYD1eTU36XqsUdhAPONNOfFiSl3cKL/kdLi6hLjXwGiC0UgnwScGPeXia4x6B9xkgtNmMf875ZrruMP6NJZrqBQNmIhy1gq1Z+UiK+B3sOV1qow2k7hKsoFDHa5aJkhqQRRqjGhdR4hCHo+BspxGa2/hQxstK0izY9eADeZVTU+7kiTK0Ox77WUyykFBGMQm6tP6hliyKSkNBICRG7wudgljEfI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(23010399003)(376014)(22082099003)(18002099003)(56012099006)(3023799007)(11063799006)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?y6aXfcYAifp/UkQm9/XFDRROi9UcnqN4yD73tQAbkrOANPsn1gZ2qm+Ud0tb?=
 =?us-ascii?Q?wb000urH12NmOubczQl9DFMmXbDWtmKPreoWtm9htVSS2a++cALWeecs4cL4?=
 =?us-ascii?Q?rh8YsQeRJbVJBbECdrzknIIArqD87iq3Uh18G/z39fPu/dir1EJGVZ6ryUpD?=
 =?us-ascii?Q?daTes/48Ty9+VbV+joQeOdR/SNyNnn8bKNWlt0uzKzxThV/fu2BPT2tNFQh0?=
 =?us-ascii?Q?RQktqTJmceLh9uDJQxr1zPQW62IYI187HOBdyWD5ToImPogyNdt+4NAYIL7a?=
 =?us-ascii?Q?p2A1VygVnLNWgBVVnDS3dpG3oykPoQYPx6gmXXZIJsfbBmeey4eh4jonG9X3?=
 =?us-ascii?Q?z69zi3qgJqePQdERB6mjju9wBV0kOSO4g5glcNqZp3iyTBCDAfVaIuk9qCzc?=
 =?us-ascii?Q?zj+QSg9qAlt84PeOs6zNyxiOlahvNjwXfhY6jxMLZZGrJrLs8xKxxiR4TTtj?=
 =?us-ascii?Q?68oQzgvvAf8J+hImgLIiZd3/iwFhv+lyB5ceh6g0SQ8FjpBkAjuRfy8xhtN9?=
 =?us-ascii?Q?E3396MBx/YeH0aEie00WSMGxqs91HpFt8bGolOUwJ4kTJtaf+azl7Zfb3Ayp?=
 =?us-ascii?Q?bdJU+qsu/9XOzTIi+BQPpUm1NnCOWouIGqmXvsm1D9SyrSMAAq6Rz5tZ/yUV?=
 =?us-ascii?Q?DPflKhuvkACFbwnoIKV/1WNurMtCRrtaciqUfCB5c8rFA7Cn7/3Bjf7WwgkC?=
 =?us-ascii?Q?xfq6nlKeUnvkSbdG/nwaAQ2a+EuTvNsoFCBhua1K7o2935RXZoWX8QG6VWBv?=
 =?us-ascii?Q?qjmAogozFRIql2UqO29/gkRYQM1tYHRmjIvYlUVd1V1FkO690//8aOFfvfrE?=
 =?us-ascii?Q?NVE1vqhGDqScV8wRw8YCQP79Be+ip/BjqEBYDfs9FNT1BvfOQl2WKywHsNqX?=
 =?us-ascii?Q?ZOaMccCvsMWA1ovN2aT6GCuAtMf5oxMufKj9NVZ4hCjabz0+cgjIyPBdyT0g?=
 =?us-ascii?Q?iLzZHTEVQmEFn1q/4jO3vG2XodK9kTK2g0RXVLKFsfZhQvkzGsR9IcwDmBdJ?=
 =?us-ascii?Q?b7GReZGyeL3Kxe8szOmBC6HBl7Kj0dgWAKpBbzPpiv01vFnzUJd2KppebVNe?=
 =?us-ascii?Q?IPyDspb/63oQFo8RpZt8rqLMbgxsTG9MG4Vs3Flb42EPMXP1v+ZKTOLSxRSN?=
 =?us-ascii?Q?QPq1ewQRbiJlnny5AHJJHXMroitRGC8k0I8tNUY48jnTHYXDDbXWTDLOkKwx?=
 =?us-ascii?Q?i2Nt9Gr5JoyGA3gh+tJAoDmQK3pSFBPcEnGGngGCYt+C3LHlWPQz0NDHqlMa?=
 =?us-ascii?Q?oY5WuTu0afRsdXYXWzyf2e9lk8fBihIJedg0phyRq5NzAkpd6LXrY3Yp6JPw?=
 =?us-ascii?Q?7R8grAniprFSjsSZ6IClPMgFKxWYZbPAEv3G7rEdwqVA8LN1cKPPN+FIiqAP?=
 =?us-ascii?Q?jYWlEeXyQffGP2rQKI52gE7p7TlAJLoSOFjR6+NNjwfNAGOGsQB9FwnNNomz?=
 =?us-ascii?Q?nZzclV3pHR8Qp5te3TDoWtmxDCA74FKKS5yrZ+Mx5fnzYmXQNsbGmB1BMxr4?=
 =?us-ascii?Q?DgnG8WgUfiLnQtlCGdF8AmB3FIglSueGEnrjR83+TlqLnC06HiKLJ3GivLt2?=
 =?us-ascii?Q?3mr58l+r9oKJi4iZPnP3GlCj5YpvcT64SrNh0ES86xdZl2KlLvqMRp6gGbyR?=
 =?us-ascii?Q?LVI/SKQ3G8F5/2oKRXHvxMUc4yEzDMeuXpTWF5gFr8W/EMrInlkG+kLIf1uZ?=
 =?us-ascii?Q?pEIYZj7QcrzmjAkzMAfiJdCLit6Gf55dmaDyfmuaMnv8/mYaXxyuuwWIuR5D?=
 =?us-ascii?Q?rNRW15JyEw=3D=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a80a05d9-99fd-4871-a8bd-08ded0716502
X-MS-Exchange-CrossTenant-AuthSource: BY1PR03MB7996.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2026 15:17:37.9914
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9XeupzVQn2vKxzBX6KLC20GFUaVs9Tw6HtDvS6LmeoOzUpFQm83VunGvL4SlwLw6kgeuVQCphEadF4lAR3rBmg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH9PR03MB649383
X-purgate-ID: tlsNG-720697/1782141461-4C8103F3-F59E4375/0/0
X-purgate-type: clean
X-purgate-size: 13395

From: Ross Lagerwall <ross.lagerwall@citrix.com>

Add new EFI load type for kexec. This load type is suitable for use when
Secure Boot is enabled.

When this load type is used, the caller should not pass purgatory as one
of the kexec segments. Instead, Xen will prepare any glue code needed
internally.

The new load type only works for Linux bzImages using the x86 64-bit
boot protocol documented at linux/Documentation/arch/x86/boot.rst.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Signed-off-by: Gerald Elder-Vass <gerald.elder-vass@cloud.com>
Signed-off-by: Kevin Lampis <kevin.lampis@citrix.com>
---
Changes in v2:
- Move kimage_find_kernel_entry_maddr to arch specific kexec.c file
  Didn't add stubs for other archs because CONFIG_HAS_KEXEC is x86 only
- When parsing kernel entry check for header magic and boot protocol version
- When parsing kernel entry use setup_sects instead of ROUNDUP
- Update commit message to explain new kexec type only works for x86 linux
- Rename kexec_image->boot_params to entry_arg
- Use size_t for return type of kernel_alignment_offset()
- Remove error handling around map_domain_page because it doesn't fail
---
 xen/arch/x86/Makefile              |  1 +
 xen/arch/x86/include/asm/bzimage.h |  5 ++
 xen/arch/x86/include/asm/kexec.h   |  9 ++++
 xen/arch/x86/kexec.c               | 58 +++++++++++++++++++++++
 xen/common/kexec.c                 |  9 ++++
 xen/common/kimage.c                | 75 +++++++++++++++++++-----------
 xen/include/public/kexec.h         | 11 ++++-
 xen/include/xen/kimage.h           |  2 +
 8 files changed, 140 insertions(+), 30 deletions(-)
 create mode 100644 xen/arch/x86/include/asm/kexec.h
 create mode 100644 xen/arch/x86/kexec.c

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 47dd6c50fe..9a84cf9cab 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -71,6 +71,7 @@ obj-$(CONFIG_TBOOT) += tboot.o
 obj-y += hpet.o
 obj-$(CONFIG_VM_EVENT) += vm_event.o
 obj-y += xstate.o
+obj-$(CONFIG_KEXEC) += kexec.o
 
 ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
 obj-y += domctl.o
diff --git a/xen/arch/x86/include/asm/bzimage.h b/xen/arch/x86/include/asm/bzimage.h
index 8c54b21d06..e363cc9a4f 100644
--- a/xen/arch/x86/include/asm/bzimage.h
+++ b/xen/arch/x86/include/asm/bzimage.h
@@ -47,4 +47,9 @@ struct __packed bzimage_header {
         uint32_t        payload_length;
     };
 
+static inline size_t kernel_alignment_offset(void)
+{
+    return offsetof(struct bzimage_header, kernel_alignment);
+}
+
 #endif /* __X86_BZIMAGE_H__ */
diff --git a/xen/arch/x86/include/asm/kexec.h b/xen/arch/x86/include/asm/kexec.h
new file mode 100644
index 0000000000..04b7eee4c1
--- /dev/null
+++ b/xen/arch/x86/include/asm/kexec.h
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef ASM_X86_KEXEC_H
+#define ASM_X86_KEXEC_H
+
+struct kexec_image;
+int64_t kimage_find_kernel_entry_maddr(struct kexec_image *image);
+
+#endif /* ASM_X86_KEXEC_H */
diff --git a/xen/arch/x86/kexec.c b/xen/arch/x86/kexec.c
new file mode 100644
index 0000000000..eb31fe2e47
--- /dev/null
+++ b/xen/arch/x86/kexec.c
@@ -0,0 +1,58 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/kexec.h>
+#include <xen/kimage.h>
+#include <xen/guest_access.h>
+#include <asm/bzimage.h>
+
+/*
+ * Find the entry point to the new kernel, we need to map the crash region into
+ * memory in order to read the kernel header.
+ */
+#define KERNEL_SEGMENT_IDX 0
+int64_t kimage_find_kernel_entry_maddr(struct kexec_image *image)
+{
+    uint64_t dest_maddr;
+    uint32_t alignment, magic;
+    uint16_t version;
+    void *dest_va;
+    const struct bzimage_header *hdr;
+    int setup_sects;
+    size_t kern16_size;
+
+    dest_maddr = image->segments[KERNEL_SEGMENT_IDX].dest_maddr +
+                 image->segments[KERNEL_SEGMENT_IDX].dest_offset;
+
+    dest_va = map_domain_page(maddr_to_mfn(dest_maddr));
+
+    hdr = (const struct bzimage_header *)dest_va;
+    magic = hdr->header;
+    version = hdr->version;
+    alignment = hdr->kernel_alignment;
+    setup_sects = hdr->setup_sects == 0 ? 4 : hdr->setup_sects;
+    kern16_size = (setup_sects + 1 )  * 512;
+
+    unmap_domain_page(dest_va);
+
+    if ( magic != 0x53726448 || version < 0x0202 )
+        return -EINVAL;
+
+    /*
+     * Ensure the kernel alignment is a valid LOAD_PHYSICAL_ADDR,
+     * which ranges from 0x200000 (2MiB) to 0x1000000 (16MiB) on 64-bit systems
+     * as defined in the kernel x86 Kconfig
+     */
+    if ( alignment % 0x200000 != 0 ||
+         alignment < 0x200000 ||
+         alignment > 0x1000000 )
+        return -EINVAL;
+
+    if ( (dest_maddr + kern16_size) % alignment )
+    {
+        printk(XENLOG_WARNING "kernel dest addr 0x%lx is not aligend to 0x%x\n",
+               dest_maddr + kern16_size, alignment);
+        return -EINVAL;
+    }
+
+    return dest_maddr + kern16_size + 0x200;
+}
diff --git a/xen/common/kexec.c b/xen/common/kexec.c
index 5caeb19819..735a4342dd 100644
--- a/xen/common/kexec.c
+++ b/xen/common/kexec.c
@@ -760,6 +760,7 @@ static int kexec_load_get_bits(int type, int *base, int *bit)
         *bit = KEXEC_FLAG_DEFAULT_POS;
         break;
     case KEXEC_TYPE_CRASH:
+    case KEXEC_TYPE_CRASH_EFI:
         *base = KEXEC_IMAGE_CRASH_BASE;
         *bit = KEXEC_FLAG_CRASH_POS;
         break;
@@ -859,6 +860,7 @@ static int kexec_exec(XEN_GUEST_HANDLE_PARAM(void) uarg)
         break;
 
     case KEXEC_TYPE_CRASH:
+    case KEXEC_TYPE_CRASH_EFI:
         kexec_crash(CRASHREASON_KEXECCMD); /* Does not return */
         break;
     }
@@ -960,6 +962,13 @@ static int kexec_load(XEN_GUEST_HANDLE_PARAM(void) uarg)
 
     kimage_calc_digest(kimage, kimage->digest);
 
+    if ( load.type == KEXEC_TYPE_CRASH_EFI )
+    {
+        ret = kimage_efi_setup(kimage, load.parameters);
+        if ( ret < 0 )
+            goto error;
+    }
+
     ret = kexec_load_slot(kimage);
     if ( ret < 0 )
         goto error;
diff --git a/xen/common/kimage.c b/xen/common/kimage.c
index d4a695a2bd..b31f205176 100644
--- a/xen/common/kimage.c
+++ b/xen/common/kimage.c
@@ -19,6 +19,7 @@
 #include <xen/mm.h>
 #include <xen/spinlock.h>
 
+#include <asm/kexec.h>
 #include <asm/page.h>
 
 /*
@@ -104,29 +105,6 @@ static int do_kimage_alloc(struct kexec_image **rimage, paddr_t entry,
     INIT_PAGE_LIST_HEAD(&image->dest_pages);
     INIT_PAGE_LIST_HEAD(&image->unusable_pages);
 
-    /*
-     * Verify we have good destination addresses.  The caller is
-     * responsible for making certain we don't attempt to load the new
-     * image into invalid or reserved areas of RAM.  This just
-     * verifies it is an address we can use.
-     *
-     * Since the kernel does everything in page size chunks ensure the
-     * destination addresses are page aligned.  Too many special cases
-     * crop of when we don't do this.  The most insidious is getting
-     * overlapping destination addresses simply because addresses are
-     * changed to page size granularity.
-     */
-    result = -EADDRNOTAVAIL;
-    for ( i = 0; i < nr_segments; i++ )
-    {
-        paddr_t mstart, mend;
-
-        mstart = image->segments[i].dest_maddr;
-        mend   = mstart + image->segments[i].dest_size;
-        if ( (mstart & ~PAGE_MASK) || (mend & ~PAGE_MASK) )
-            goto out;
-    }
-
     /*
      * Verify our destination addresses do not overlap.  If we allowed
      * overlapping destination addresses through very weird things can
@@ -212,9 +190,10 @@ static int kimage_normal_alloc(struct kexec_image **rimage, paddr_t entry,
                            KEXEC_TYPE_DEFAULT);
 }
 
-static int kimage_crash_alloc(struct kexec_image **rimage, paddr_t entry,
-                              unsigned long nr_segments,
-                              struct kimage_segment *segments)
+static int do_kimage_crash_alloc(struct kexec_image **rimage, paddr_t entry,
+                                 unsigned long nr_segments,
+                                 struct kimage_segment *segments,
+                                 uint8_t type)
 {
     unsigned long i;
 
@@ -248,8 +227,28 @@ static int kimage_crash_alloc(struct kexec_image **rimage, paddr_t entry,
     }
 
     /* Allocate and initialize a controlling structure. */
-    return do_kimage_alloc(rimage, entry, nr_segments, segments,
-                           KEXEC_TYPE_CRASH);
+    return do_kimage_alloc(rimage, entry, nr_segments, segments, type);
+}
+
+static int kimage_crash_alloc(struct kexec_image **rimage, paddr_t entry,
+                              unsigned long nr_segments,
+                              struct kimage_segment *segments)
+{
+    /* Verify we have a valid entry point */
+    if ( (entry < kexec_crash_area.start)
+         || (entry > kexec_crash_area.start + kexec_crash_area.size))
+        return -EADDRNOTAVAIL;
+
+    return do_kimage_crash_alloc(rimage, entry, nr_segments, segments,
+                                 KEXEC_TYPE_CRASH);
+}
+
+static int kimage_crash_alloc_efi(struct kexec_image **rimage, paddr_t entry,
+                                  unsigned long nr_segments,
+                                  struct kimage_segment *segments)
+{
+    return do_kimage_crash_alloc(rimage, entry, nr_segments, segments,
+                                 KEXEC_TYPE_CRASH_EFI);
 }
 
 static int kimage_is_destination_range(struct kexec_image *image,
@@ -421,6 +420,7 @@ struct page_info *kimage_alloc_control_page(struct kexec_image *image,
         pages = kimage_alloc_normal_control_page(image, memflags);
         break;
     case KEXEC_TYPE_CRASH:
+    case KEXEC_TYPE_CRASH_EFI:
         pages = kimage_alloc_crash_control_page(image);
         break;
     }
@@ -781,6 +781,7 @@ static int kimage_load_segment(struct kexec_image *image,
             result = kimage_load_normal_segment(image, segment);
             break;
         case KEXEC_TYPE_CRASH:
+        case KEXEC_TYPE_CRASH_EFI:
             result = kimage_load_crash_segment(image, segment);
             break;
         }
@@ -831,6 +832,10 @@ int kimage_alloc(struct kexec_image **rimage, uint8_t type, uint16_t arch,
     case KEXEC_TYPE_CRASH:
         result = kimage_crash_alloc(rimage, entry_maddr, nr_segments, segment);
         break;
+    case KEXEC_TYPE_CRASH_EFI:
+        result = kimage_crash_alloc_efi(rimage, entry_maddr,
+                                        nr_segments, segment);
+        break;
     default:
         result = -EINVAL;
         break;
@@ -1039,6 +1044,20 @@ done:
     return ret;
 }
 
+int kimage_efi_setup(struct kexec_image *image, uint64_t parameters)
+{
+    int64_t rip;
+
+    rip = kimage_find_kernel_entry_maddr(image);
+    if ( rip < 0 )
+        return -EINVAL;
+
+    image->entry_arg = parameters;
+    image->entry_maddr = rip;
+
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/public/kexec.h b/xen/include/public/kexec.h
index abb2a49238..5341ddcda2 100644
--- a/xen/include/public/kexec.h
+++ b/xen/include/public/kexec.h
@@ -54,13 +54,16 @@
  * - kexec into a regular kernel, very similar to a standard reboot
  *   - KEXEC_TYPE_DEFAULT is used to specify this type
  * - kexec into a special "crash kernel", aka kexec-on-panic
- *   - KEXEC_TYPE_CRASH is used to specify this type
+ *   - KEXEC_TYPE_CRASH or KEXEC_TYPE_CRASH_EFI are used to specify this type
+ *   - in case of KEXEC_TYPE_CRASH_EFI the first segment will point to the
+ *     full kernel to load and entry point will point to boot params
  *   - parts of our system may be broken at kexec-on-panic time
  *     - the code should be kept as simple and self-contained as possible
  */
 
 #define KEXEC_TYPE_DEFAULT 0
 #define KEXEC_TYPE_CRASH   1
+#define KEXEC_TYPE_CRASH_EFI 3
 
 /*
  * Perform kexec having previously loaded a kexec or kdump kernel
@@ -167,7 +170,11 @@ typedef struct xen_kexec_load {
         XEN_GUEST_HANDLE(xen_kexec_segment_t) h;
         uint64_t _pad;
     } segments;
-    uint64_t entry_maddr; /* image entry point machine address. */
+    /* image entry point machine address or parameters in case of EFI. */
+    union {
+        uint64_t entry_maddr;
+        uint64_t parameters;
+    };
 } xen_kexec_load_t;
 DEFINE_XEN_GUEST_HANDLE(xen_kexec_load_t);
 
diff --git a/xen/include/xen/kimage.h b/xen/include/xen/kimage.h
index 86250f2939..fdda0a89a5 100644
--- a/xen/include/xen/kimage.h
+++ b/xen/include/xen/kimage.h
@@ -48,6 +48,7 @@ struct kexec_image {
     paddr_t next_crash_page;
 
     uint8_t digest[SHA2_256_DIGEST_SIZE];
+    uint64_t entry_arg;
 };
 
 int kimage_alloc(struct kexec_image **rimage, uint8_t type, uint16_t arch,
@@ -66,6 +67,7 @@ int kimage_build_ind(struct kexec_image *image, mfn_t ind_mfn,
 bool kimage_verify_digest(const struct kexec_image *image);
 void kimage_calc_digest(const struct kexec_image *image,
                         uint8_t digest[SHA2_256_DIGEST_SIZE]);
+int kimage_efi_setup(struct kexec_image *image, uint64_t parameters);
 
 #endif /* __ASSEMBLER__ */
 
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 22 15:17:47 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 15:17:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343898.1603149 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbgPD-0006Za-6B; Mon, 22 Jun 2026 15:17:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343898.1603149; Mon, 22 Jun 2026 15: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 1wbgPD-0006ZT-2W; Mon, 22 Jun 2026 15:17:47 +0000
Received: by outflank-mailman (input) for mailman id 1343898;
 Mon, 22 Jun 2026 15:17:45 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wbgPB-0006Vy-Jx
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 15:17:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbgPB-0052r4-0b
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 17:17:45 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a39520c-bab6-0a2a0a5309dd-0a2a4502d4ac-20
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:17:44 +0200
Received: from [40.107.208.44]
 (helo=PH0PR06CU001.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a395217-fdf1-0a2a45020019-286bd02c5fd5-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:17:44 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by PH9PR03MB649383.namprd03.prod.outlook.com (2603:10b6:510:3e7::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Mon, 22 Jun
 2026 15:17:42 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0139.018; Mon, 22 Jun 2026
 15: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qmiDqyb9GoAiYoUjjeO2g1/IqKUoTE7zfc7yF90FrmPtt1v4gEzAyG21ctOUpmjc6nh+u8lvGjcBurOd5IZT/6w6J1b7hupngUhGGTB91YNLCAoK4/Pwp26rr7eJZu8YVvkOxRKWssuCHqIF/JvPOhr84wVuUwYV/ISNBZcEas2g33zA3PsY3APhuyifb2t6k3oovsLa7GziU2uJIoYCNJnfZiUm+VMKtkkl79m6lW1O8sWfjFMxUUvz56XEVenEH4gcxc34glMoEavsv5RKt30Z7Y/bq253aqb5BMgJ9jJToNBRr+jfMiF62WYS0aLw1B79Kh/BJeTj2EIu/sQN4Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6eteaBeiMzsuqrMWkmjhp+ii2ze54srInlQVvwTckyo=;
 b=JbzOvB7okD7Ft4vSVjrrAJewxGHTjL77GY45SduYecB0OUO4WSqAzfcvIHqogjD2ZMUU3xGa21HntjqRYqvg/ONrw1VaqT0b6FzIpC6TcRrCWcHN0VIkBNTqVpjZJRfi81H7bjuV5lCU3qBsdSrnA3FXTDGWYGeJrASchHPhq4t0pWAbuxlYHr6EIDoQKqvectE5G4LNq2eAyOuM5wxtqjneiUGlZ8O0fFn9kam+qCcrJxLchNPoGJGz9jxfcjwxEvWCCuzaXQR7r+jBp6SJEJHABzk0ygLZPpnsWx4e3ys5Zdh3Uu5Fu6ieY/5FpFLD8wrrcW6XdNv6a1FUpzSmPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6eteaBeiMzsuqrMWkmjhp+ii2ze54srInlQVvwTckyo=;
 b=nlvj5j/iURdUMR0YgCpp8IlbYq6M4PNCn6RZjRvwWvhaAuJawKmvKc7OuunJx4krUzbOLv8qr/LOD6tmA79JY/UlC0Qk/y2lsoRI2wVr58UeHvUEjAD3Tm1+IRtvq+/1PPkXgrrdI3FzBleIjvxiaA2ngtPNHAec0WJVNDHLtsw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Kevin Lampis <kevin.lampis@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	ross.lagerwall@citrix.com,
	Kevin Lampis <kevin.lampis@citrix.com>
Subject: [PATCH v2 6/7] x86/kexec: Pass boot params directly to new kernel
Date: Mon, 22 Jun 2026 16:18:32 +0100
Message-ID: <20260622151833.3397692-7-kevin.lampis@citrix.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260622151833.3397692-1-kevin.lampis@citrix.com>
References: <20260622151833.3397692-1-kevin.lampis@citrix.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO4P265CA0083.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2bd::20) To BY1PR03MB7996.namprd03.prod.outlook.com
 (2603:10b6:a03:5b2::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PR03MB7996:EE_|PH9PR03MB649383:EE_
X-MS-Office365-Filtering-Correlation-Id: 84a5e4a9-71dc-4d8b-7000-08ded071678f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|23010399003|376014|22082099003|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	oPUIW9+8ztQv+7REV3ubRx3+58nezB9Xy12MYg3PjLLmlKfxMr6YyhUd/gHl4+ZxHc7M0Y7/7ss/vcslKhxRCN/csjm0qh9qObTKuH18zjzxBeg1iOfS/0GnbKiGMjyDaiA8Oh63jInFumtFLfVHIGiIf9KqxlG9qbTm1MCHH5w8kAIb5omdTR9qvLY5zeD4QVFRrzZiLAewOutOZ8iSENPZLRXdOyK+DjE1M9RB04NKPvgeHM9uB7UWRZ93NF1vdNvpZuP74/5UHsMp5+FE7vRjoszlBu6YKYrTXf56JrtPiqZfKwC0cpQbFX5ytd7xenfYKz/MCvEpe9Zh+gK03Cjj86HeJ7KXqDSjkD76hstAEOU+rgVtrwa2UoCVzpYXUDMUZvxqiKhVGo+caQLsvND7BdbvYnvcYZgVYUNdfL4JrcbWgZJGx72Pdr1B9gMAshZhxCtg7wYTj3+GqbbBdowglN7Y7RnkRzCqk3P7hN5FFAmJyJKGv3MBDBhfuPyTzPmu2ValtWC1zlqPp1GIRPeBkMOjBydI5LRSpJLk0u1m63FY7Lo2vvi4z77baXHhfPSlWDey39dNhnmkCXsPlv2A44hPjVAocECvpSeHlvz0yO4sS4JYwnkhm/XffzHhbKXc4jEjBEloL26iMiNgFS6c2SH3r1vkwai4sqEApXg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(23010399003)(376014)(22082099003)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?g0O6/emUMAC3aBM+wtj5lGRpwODv5UhVb4Ud+TKXoWB2jYdhalTwzYsISimU?=
 =?us-ascii?Q?ZSzLvY0hE71KUOY5gkJO80Czks0HbtN9So24B3waLVs/qdIYAvsX2ExRG/s9?=
 =?us-ascii?Q?xg6JQUJs67fXvHzCTonJqLMTEbDpBQZ1O7nnbvA+Wj0UeqtlAuZeRFVoDP9r?=
 =?us-ascii?Q?1vuCneL3PKJ7tvVDjCKveu66M8/gm/YvHffkfT3CIikQX6ZOqqPtD0FmdwTz?=
 =?us-ascii?Q?XjSP+awncPVvOdn6iKlVuKA9wAi5tzreZtflvVL054LFYVSSuAlfqpC+LP0k?=
 =?us-ascii?Q?3n9YxlipFrB/Kb50pc4wygNIl2dm7r4nVMfihSK7yIspzDQr/QLNITb7ti2Y?=
 =?us-ascii?Q?dUiD0uMUV07L+ZjFUDO0Xnk7p+r+ymFUMU71if+0nm6W6eNj/vLngnOEQ7Sq?=
 =?us-ascii?Q?evH0FUFE60FDEZ4faNuh1XxGDuWk57dBWI85Q0BtiX6GMvY4EaYnDsTYzERH?=
 =?us-ascii?Q?0kirGyRguNehBTtdD955CEsoKcklN7xZluZCZxBkeUVQs+3nCHzRm4P9qTKY?=
 =?us-ascii?Q?6FNDSzJgq9zX2Cgsr2VlwrZlrUifc3aZcGUOuaxQN6BvOvl8zl3GZA4B+a8c?=
 =?us-ascii?Q?gXn+BYLxRWZKT6Dnm2oxbL7FVCBwYBU2LFiBvk3UsSwEcBQv6oQqHSj+hT0r?=
 =?us-ascii?Q?lhpsamrJGyuecrJ9ie7I+ata0aLg+ndO3dlaxuvfQzjUNFaXSAUVE4VEjiex?=
 =?us-ascii?Q?Mx7tdomWH1n8Bn4JT1f5dCcJ3d2kp4voKHChyGZIkBOVQRGnkfdJsY0XkdVB?=
 =?us-ascii?Q?arj1Uh/B3aTYpQdgxyTjYfH0Hcb2vk6foFrJOVDs0hI8+zCt+T6wxR5uQ9VM?=
 =?us-ascii?Q?wismybibdSdYxbBLg1g2E9jcrpN4BvsCcfndjrlX5gM/Dn+xGzXfpLX2SbmJ?=
 =?us-ascii?Q?XPHaUJGJeZGLZuAkSrmRLYBKyNVfYnfNsS6vPvZd+67JXSwDQbmPBfUtm2ah?=
 =?us-ascii?Q?bBg2lxAZTP8o5b0JlH8bPGmOpFiyidjRlvs5d/7nLKndEOJoWH1VJwOzpUwr?=
 =?us-ascii?Q?dHVQoOiiw68sIjbIJqjfNED46K9p7Ecy82x+ovh0ahe5UkG0NYUhUL+qH3X5?=
 =?us-ascii?Q?/TA4aj89cRsc89HuRII8skAr6SSeiizaiS2C14GGl2Bv11QCuTHNHSsSRFXl?=
 =?us-ascii?Q?LZ2EZj5J1iwXREJ/Y4arjZ03OVP7vXwnNQkgPopVjKb9q1gujdHJLTzIH7vJ?=
 =?us-ascii?Q?x8iQLUh6XvDDWsKHguIX0x/x/AgoSbblGVlRQCjknQEDYs0i8fHXGvdxClRS?=
 =?us-ascii?Q?djNrNZvVWmO38t+hi8Joe465kEbmBlRsetUEwoX5X2MeAFHyUT5Yjj+mszgC?=
 =?us-ascii?Q?Tc03mLOvKoxLAmG9GfQTki784uJ0HKCbpQYKCJF6+RmlIBg0r1PJ4kNKGznf?=
 =?us-ascii?Q?UyYaFQjQlidNQOQA1lfCByhBJ6Re88F/ckHTSojfKNR8OinC78UvWZ+TP1dW?=
 =?us-ascii?Q?NHSk5MPqOzlHya+r6gHNzUx4qghPv0LLBwVgIkcDq/bRTuWUJb2KJ7fkdWnC?=
 =?us-ascii?Q?QhB4xoJUA2uDsKY1Ap0Qcsyy3srFn111B0GIWPbuwZKzibpL32QeDIPuzjZ3?=
 =?us-ascii?Q?TqqVqci25hcHFsfU6OpCljTg2Qw1u42/vbFY3m99miI0pPfL4BNh7P5jgQH4?=
 =?us-ascii?Q?8/tR7bLXPz1H5TITc30LNnm0zENwKx/6mat2OIL7wZ9/Me5wzumtrEb6OaRg?=
 =?us-ascii?Q?GGsPAM6EXRLQ9lqFyXwVTnVxIlyqiTFOf8DeMHWZaC1ZI3ToBdPe68JMKJrL?=
 =?us-ascii?Q?P9XxWaW6Vg=3D=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 84a5e4a9-71dc-4d8b-7000-08ded071678f
X-MS-Exchange-CrossTenant-AuthSource: BY1PR03MB7996.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2026 15:17:42.1397
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9GJ2ly2eu7zhQvpZChqNACmRLqZB9Z4TfSIU5RwIPS4i6G//xSsXD+7zraqV5aEjf2VAEQfmsBbC0ia/ZicWMw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH9PR03MB649383
X-purgate-ID: tlsNG-720697/1782141464-4E4623F3-F3AFD43A/0/0
X-purgate-type: clean
X-purgate-size: 2436

When doing kexec on an EFI image there is no purgatory and kexec_reloc.S
hands off straight to the new kernel. To facilitate this the Linux
kernel boot params need to be passed through %rsi.

Signed-off-by: Kevin Lampis <kevin.lampis@citrix.com>
---
Changes in v2:
- Rename kexec_image->boot_params to entry_arg
- Fix indentation
---
 xen/arch/x86/include/asm/machine_kexec.h | 2 +-
 xen/arch/x86/machine_kexec.c             | 3 ++-
 xen/arch/x86/x86_64/kexec_reloc.S        | 3 +++
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/include/asm/machine_kexec.h b/xen/arch/x86/include/asm/machine_kexec.h
index 3e189acf24..010e0c7046 100644
--- a/xen/arch/x86/include/asm/machine_kexec.h
+++ b/xen/arch/x86/include/asm/machine_kexec.h
@@ -7,7 +7,7 @@
 
 extern void kexec_reloc(unsigned long reloc_code, unsigned long reloc_pt,
                         unsigned long ind_maddr, unsigned long entry_maddr,
-                        unsigned long flags);
+                        unsigned long flags, unsigned long arg);
 
 extern const char kexec_reloc_end[];
 
diff --git a/xen/arch/x86/machine_kexec.c b/xen/arch/x86/machine_kexec.c
index f921eec5aa..03776f4723 100644
--- a/xen/arch/x86/machine_kexec.c
+++ b/xen/arch/x86/machine_kexec.c
@@ -198,7 +198,8 @@ void machine_kexec(struct kexec_image *image)
 
     kexec_reloc(page_to_maddr(image->control_code_page),
                 page_to_maddr(image->aux_page),
-                image->head, image->entry_maddr, reloc_flags);
+                image->head, image->entry_maddr, reloc_flags,
+                image->entry_arg);
 }
 
 int machine_kexec_get(xen_kexec_range_t *range)
diff --git a/xen/arch/x86/x86_64/kexec_reloc.S b/xen/arch/x86/x86_64/kexec_reloc.S
index b52d31a654..ab9fa7f2b8 100644
--- a/xen/arch/x86/x86_64/kexec_reloc.S
+++ b/xen/arch/x86/x86_64/kexec_reloc.S
@@ -33,6 +33,7 @@ FUNC(kexec_reloc, PAGE_SIZE)
         /* %rdx - indirection page maddr */
         /* %rcx - entry maddr (%rbp) */
         /* %r8 - flags */
+        /* %r9 - entry arg */
 
         movq    %rcx, %rbp
 
@@ -71,6 +72,8 @@ FUNC(kexec_reloc, PAGE_SIZE)
         movq    %rdx, %rdi
         call    relocate_pages
 
+        movq    %r9, %rsi /* entry arg */
+
         /* Need to switch to 32-bit mode? */
         testq   $KEXEC_RELOC_FLAG_COMPAT, %r8
         jnz     .L_call_32_bit
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 22 15:18:03 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 15:18:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343922.1603158 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbgPT-0007ie-GW; Mon, 22 Jun 2026 15:18:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343922.1603158; Mon, 22 Jun 2026 15:18:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbgPT-0007iP-C8; Mon, 22 Jun 2026 15:18:03 +0000
Received: by outflank-mailman (input) for mailman id 1343922;
 Mon, 22 Jun 2026 15:18:01 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <kevin.lampis@citrix.com>) id 1wbgPR-0007aY-Fk
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 15:18:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbgPQ-006oqV-Sq
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 17:18:00 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a395223-e002-0a2a0a5209dd-0a2a450caa9a-10
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:18:00 +0200
Received: from [40.93.198.55]
 (helo=CY7PR03CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <kevin.lampis@citrix.com>)
 id 6a395227-94a4-0a2a450c0019-285dc6378e5c-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:18:00 +0200
Received: from BY1PR03MB7996.namprd03.prod.outlook.com (2603:10b6:a03:5b2::8)
 by SA3PR03MB7394.namprd03.prod.outlook.com (2603:10b6:806:3a1::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.19; Mon, 22 Jun
 2026 15:17:46 +0000
Received: from BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07]) by BY1PR03MB7996.namprd03.prod.outlook.com
 ([fe80::5068:e1b5:b478:8d07%3]) with mapi id 15.21.0139.018; Mon, 22 Jun 2026
 15:17: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=EMmB3QhPtYDJbH2qE52b5UXC6m5xhKlXJd6UoFjPK+4pvd3PRWU850Fdsyk22ipVjWTYoOVKG/ji0VPQIyE1uoM0kKDgOeTbOmJ2CkYwrep+sjoDDjsoxpOjk1/mZ4OQKyqeVOjzpw5+2vT9n9aEMA6L13EXrYbpJY2/wsAsPjC5KU1HKU6ncdihS+iA3EvFbvOHIdEDqZVxtr4/mZuBRPSqpg68EPhEoH013SVJLcdQfs/KBsmvlI93I+LCBkDIqL63u4CynzYxUBvcoIaFTHunmXQ2371/Qg9WRhjxydklCzOPcuFv0lOhgZfNJFhFFTK7lhwRQQKAv6ASkQE8ZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ka899mqYRjHfWYgSOCloGz1lQeceEJ3Vxja9LrEfdBM=;
 b=XxZppfaJPPFSmFCsog/D3osF4z/7kmhg7iN6N/+HTlL9NcA2TPrg5xvX032tA44+SDC4mKl5Gas6XbKtIQk+q3gNXIblIk4Lj+/uWfn/Mqadye9OPAzeJMco0YF4jHkFaJvTNtraM9NH5IoO07gp4ntbqha2xtyX7knebd24R83DD3A0wCzCSV/6CKfA0IGyYQnpMBctvvIF7Rrkbks2i1ZnZt1WiVWw227mpUzCFlUkl8Z4wSBMuwo4ZwQ+7lWTZGBzHnXy5fbzuKU5hkXJsdW+fjNCmQ5cnkA9RLh2N0T6F03listTW/rL/b7KWLMTt93nU5MMmF042N2DGRSyjg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ka899mqYRjHfWYgSOCloGz1lQeceEJ3Vxja9LrEfdBM=;
 b=P9Eb3CdKbMlDT0JSQqxdNqH9DAD/ESXx8Tn82kQFnq/EIFoO0yp2stYYUWXmU+H3AEh6D5+hDzqwQAvDjy0DpIKFTQMlL+vqVoqu3uoXJRHvrx568ZlGTP06wpVekdW8fbs27ifa/uiPQIKp0q4gx49mKwos3j2cvg565ZmVlzQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Kevin Lampis <kevin.lampis@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	ross.lagerwall@citrix.com,
	Kevin Lampis <kevin.lampis@citrix.com>
Subject: [PATCH v2 7/7] x86/kexec: Zero GPRs before entering new kernel
Date: Mon, 22 Jun 2026 16:18:33 +0100
Message-ID: <20260622151833.3397692-8-kevin.lampis@citrix.com>
X-Mailer: git-send-email 2.52.0
In-Reply-To: <20260622151833.3397692-1-kevin.lampis@citrix.com>
References: <20260622151833.3397692-1-kevin.lampis@citrix.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO4P265CA0242.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:350::16) To BY1PR03MB7996.namprd03.prod.outlook.com
 (2603:10b6:a03:5b2::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PR03MB7996:EE_|SA3PR03MB7394:EE_
X-MS-Office365-Filtering-Correlation-Id: 03eec23d-4321-48ab-15de-08ded07169f5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|23010399003|366016|22082099003|18002099003|56012099006|11063799006;
X-Microsoft-Antispam-Message-Info:
	KNUazDw/LFgwMtntvO351kzv8skJxW5b5/9spFGZKy/MJhSYsloNhF0c8f5poLacPhrtpJ3Er9Zyy7eWdXtUDVsCgUOs5XgXEVSLj/BswKJ4eFXvxB2UeUuITjKbBZGofTwbZBNnEBGkB/UN3VVBHZDmUAxu5EpYeJ9YueOW5q/kGbtnb+S3hH+biYtEWfs9xJRut0WGEI4SOIVLPdElsmY12T+Jcx0QMZ6A5b7GaBhymXAKff3a2W4UhU8i0EBcccn+VBgdn6fl6Lh13Y+Aw7HwFlmF6IIMIIJzTyq4XkdSLXGjIlsLduLqquISXmK4xzABB3WKad9F/dl1sItmzfmZ6NUFsSHLG5fyFvSVV96x1K9CNG7IwalKLC29wLSSZg9RiFZ0qW8VLlGyyvLtqQ1jEmJohitiQDh1gjYw4ThoTvvUlIUPqMrQ1AgldBfOVcFIL9vyr8/NMWiCz25heGMRfX6hcNB3Z1kLsr+wt0kanBo/X5PZNBgYQ+c++MtGHS9kP/5hKoZawyjvqEJOCHKctoow15z5j/N+ohpuZHOTBB0HtH3REa0MMOh+Xlvf7QLu0v+3o5yQg765QXcXd5oBP986qd8d9Guag64QWsTMhC9myBuiFlsIlv575S/0MqDvpTrb0BlKhud+mY1cLSXiBWBwisoIGp39haLcYsE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY1PR03MB7996.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(23010399003)(366016)(22082099003)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?wOFM6likpv7DLjCYcAcMeE2Iqu7Dzl0GjQ/BjONcL1WgIIKMXQw4p81kUjNx?=
 =?us-ascii?Q?+ddOh94uWJDto5Ja0SOpHIHsfEjQTuPawPobTsQzRKKXgE3vdDH9fvFU8aHL?=
 =?us-ascii?Q?joie/z5XS5uK8HRdTV4R0hRNAbr+8bgIb3rYOBasS6jpgD9lGpTWzZceThoy?=
 =?us-ascii?Q?bvb3YrL35+IIpYge1haPZa8baA5kbjrc4jSbJqx7nRJ9PX3JZU64tsEVFvnW?=
 =?us-ascii?Q?StfzvaVUQzDbhPZdOHO9kPikwT30J8U7nGjbI2LttCDN0vd55NAxdyzC03Tw?=
 =?us-ascii?Q?S8OtVyqMoqnwaliaMwXL9ZwTqRHiQQ/Up8h4mthKMPsomUpZD3ODNan9u7X0?=
 =?us-ascii?Q?1Mo79ry1hOJa5X/Ry/K6JM1QtF3+wOa7csq1JY7f5DJ5MXxX5wj+XhtDF7Lg?=
 =?us-ascii?Q?aVXzE3H+dVZmenxgOBBqQvAvNuKgPw07WKr1FBCqkZCD/ZLM/BjzxLTh11Sk?=
 =?us-ascii?Q?HjIpINN4N+vAkv4ww8f9NyiM0/+h2TRsaYx9TWrysIlwlgtayb2Nm0BuvnaD?=
 =?us-ascii?Q?ifRWahZtiCGBrEea8ZNVXzLldXM1JizJos2bkRGmu9eDS9RlaBRdTalCwQhF?=
 =?us-ascii?Q?ohDKt3VRaPZQJk+AWxJcn9d2OyT5SZlsyFVnImi2+eERMpn1P1QMjjYPA5H7?=
 =?us-ascii?Q?Jjug7GaPVuVz/LzFFEJ+e0MSa1Kcoqcd277FYf1tsD2DQ8SHvijIM6lyQtX0?=
 =?us-ascii?Q?fk1xDMPRv3u6r6gLz88+r9L6vXMm6fjhO+c61gMak5ZoYtWBIFhTTVI/h9dG?=
 =?us-ascii?Q?Ci1+Q7RP3ou7Gg3TrINUAgBOPSt3/KB1+MdEj+qx7PAqN3+KIaTErnXcaOU1?=
 =?us-ascii?Q?MktGvsHVC8C0Z9tWbBTER8bswlbayiy868F1/0bIbyWC3IbvNEYXPMP6b3De?=
 =?us-ascii?Q?vp0+9NU+waeBo+IfQZtOJAsWhkMQWDDRQgU68VD/l5e4cMKn5BRPiy6Fd/b3?=
 =?us-ascii?Q?7lq6ARV+D65wCQ64qGYR7F4QNLH4lqff9E1i6fVvQH2kw6ry+3XlEuqtdiXQ?=
 =?us-ascii?Q?csT8NxgFdzk9jhkAMpourgPlaD/lZdG9mcdyeedfGZBjmW3r4yLdspWx4hTQ?=
 =?us-ascii?Q?XSIxQdDOvw4mkw6qr+fG1HNYWA9FZ8XRJ4yjaboYwOoprMnvnn6JeP9loQZv?=
 =?us-ascii?Q?jX+kHOMrw2/CNglBQQoS+n9Nt0LAt6qrhnLxpNuQzk+t8FPF3xwUeU9r76tp?=
 =?us-ascii?Q?jvdgkRYNaO4v64y4X88RbgTnf6BwQ1YDga+2mbrYfab0xMSTm6b79CTJzUIX?=
 =?us-ascii?Q?C1E78GOP+JPj1/Yave9HS7t620Wxz0+/2cInOEQFlgIcxBqSSJe0jukUPehl?=
 =?us-ascii?Q?5y8lejxVKTkZ9hM1wL5rCjxa5o5A/IbOiVTMVcgWF7zJmLAtrx1Dbl+7JXZr?=
 =?us-ascii?Q?gzLxpx9dbA6Tq8HgEEPCjC+sFeOmxHnc0r6xyeOGw3HXde8uUDGeZenwxj1i?=
 =?us-ascii?Q?EYlycCkS2/0rWzR12Ecc6FnakrMXCvVksC67FEk3P6z6m0lwvlWPPZ+1w69g?=
 =?us-ascii?Q?qD/ZI1sRDWQwSXegSsalCSMwvc7s9VsVxuRuqqDQeUU8xPZTaAqdhOQq1CTp?=
 =?us-ascii?Q?sFy8jZktT5VVy38oOJJEkwpRSUN1+QuB/yLC8ulvnettKhuaKiz4yTlre7OL?=
 =?us-ascii?Q?SlcWsxvfDCJ2bTc8DNkRCYZI+RofDLl/aaOhqQve5IpLwk0/0C1dRnOtmgyv?=
 =?us-ascii?Q?kok2i0eVTzCD8OgbRAPBCml2GVTOioiCUM0Qf3XoL7rhCV63rAYknZlcN8JW?=
 =?us-ascii?Q?20etX7ShSQ=3D=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 03eec23d-4321-48ab-15de-08ded07169f5
X-MS-Exchange-CrossTenant-AuthSource: BY1PR03MB7996.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2026 15:17:46.1738
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: J3zda2tPHQaVyS/0nIdpuQY9rja3T6T4CSbw4fPI7JZyMCP5hb7UHfWhctHO0qwwi6tUSMeMdMeTZmRynOB17Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR03MB7394
X-purgate-ID: tlsNG-d25034/1782141480-D89FAABF-0CDEC1C3/0/0
X-purgate-type: clean
X-purgate-size: 1864

Purgatory zeros these general purpose registers before jumping to the
new kernel. When doing kexec on an EFI kernel there is no purgatory so
we need to zero the registers here instead. This change shouldn't affect
the functionality of legacy kexec.

Signed-off-by: Kevin Lampis <kevin.lampis@citrix.com>
---
Changes in v2:
- Move the 32bit lines to the correct place
- Reword the patch subject line
- Fix indentation
---
 xen/arch/x86/x86_64/kexec_reloc.S | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/xen/arch/x86/x86_64/kexec_reloc.S b/xen/arch/x86/x86_64/kexec_reloc.S
index ab9fa7f2b8..f8ec457a19 100644
--- a/xen/arch/x86/x86_64/kexec_reloc.S
+++ b/xen/arch/x86/x86_64/kexec_reloc.S
@@ -78,6 +78,20 @@ FUNC(kexec_reloc, PAGE_SIZE)
         testq   $KEXEC_RELOC_FLAG_COMPAT, %r8
         jnz     .L_call_32_bit
 
+        xor     %edi, %edi
+        xor     %eax, %eax
+        xor     %ebx, %ebx
+        xor     %ecx, %ecx
+        xor     %edx, %edx
+        xor     %r8d, %r8d
+        xor     %r9d, %r9d
+        xor     %r10d, %r10d
+        xor     %r11d, %r11d
+        xor     %r12d, %r12d
+        xor     %r13d, %r13d
+        xor     %r14d, %r14d
+        xor     %r15d, %r15d
+
         /* Jump to the image entry point */
         jmp     *%rbp
 
@@ -94,6 +108,7 @@ FUNC(kexec_reloc, PAGE_SIZE)
         lea     compatibility_mode(%rip), %rax
         push    $0x10
         push    %rax
+
         lretq
 END(kexec_reloc)
 
@@ -171,6 +186,11 @@ FUNC_LOCAL(compatibility_mode)
         xorl    %eax, %eax
         movl    %eax, %cr4
 
+        xor     %edi, %edi
+        xor     %ebx, %ebx
+        xor     %ecx, %ecx
+        xor     %edx, %edx
+
         /* Jump to the image entry point. */
         jmp     *%ebp
 END(compatibility_mode)
-- 
2.52.0



From xen-devel-bounces@lists.xenproject.org Mon Jun 22 15:21:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 15:21:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343953.1603167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbgSf-0001RJ-U4; Mon, 22 Jun 2026 15:21:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343953.1603167; Mon, 22 Jun 2026 15:21: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 1wbgSf-0001RC-Qj; Mon, 22 Jun 2026 15:21:21 +0000
Received: by outflank-mailman (input) for mailman id 1343953;
 Mon, 22 Jun 2026 15:21:21 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wbgSf-0001R6-8N
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 15:21:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbgSe-00E7qi-LP
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 17:21:20 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3952e9-bab6-0a2a0a5309dd-0a2a4501dade-10
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:21:20 +0200
Received: from [40.93.196.55]
 (helo=SA9PR02CU001.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3952ef-e031-0a2a45010019-285dc43713a3-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:21:20 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SA1PR03MB6500.namprd03.prod.outlook.com (2603:10b6:806:1c7::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Mon, 22 Jun
 2026 15:21:16 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.018; Mon, 22 Jun 2026
 15:21:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=oLgJ84ScltkgHlhEASHEUiVBb/214GXwW0XuRxPyDHoWtHzRs6C4AbdHu3I5XB8V3oZbo+kTMZ5Vijcx3G4ePglxL8B2N6dv9YvrOzzuKbPm8/gVJjONSm3/M4+RHdpyohpc/D/jFlHVH6/j/e0MaPNV1MsM3VIhrlYI4R+EE9sVdDPE6gy+KAO51WKCAoSFBt1BlTSw6sIkGDHy/9OROUC2O2pEuYN6jSzvI/FRl9a+szvBcuGs1FUJlOeGjk6ANBJwHpyPjRr0LmlqLZpYeMyExwb5boJoE5NwrjfZ981OFZ5+IVBi5l9/7kFCCxwd7x/u0n89Vi9gvYj/f2oLIQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/DVWaAnm6kXSTuP2y2h4Erd9Rljf2odc40GyVgb60uw=;
 b=FNN476Ri3ZEz8/BU8oQeG5+lbTwPjuPppmyzjKAdcy6WG2RfyEGmjkirDx/H2ydPQCQiv4oyjU9n8EUj2l0oq+RbJhIHK1DeESuHQ57ft/QpXYzAuSe0+o2LleQFwfX0Qh853C1TV1cmRgH2iroktbdntdZ5RVuWKKLeJ7e0YZSk3msNySJLhwKCKrEURXwkM+krYesDdyVe0ZYy0c4AbnEM05QeG12MkIjVmvf87QuNqTgaCI5Sg2Y45qDcku4BUMuwS9QN+BTQFPenIOFbDEewNd9EdzokhNFg0vOh4tnMi12nEHirWSaTJMY+DdPl++f51QWmvV8eZP4EWAeBbA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/DVWaAnm6kXSTuP2y2h4Erd9Rljf2odc40GyVgb60uw=;
 b=lewXFjdx1bRbfPB+HWP+yDDlWw6GDAUtIr6SikDIPx95T/UUVZvdp1GQ3Q3SvQVO19pOVrWArIhHlqKXS/clPqp8MtbowCCTGQwNdh5ssJPXbujl+Ogiv5+DUIXI58zowDQ27g4vDWwAY9RrWZmriUsuJJCb+3g3GrKZY5/iwsI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <7882a841-db39-41f4-b3df-fa61d89ab1ca@citrix.com>
Date: Mon, 22 Jun 2026 16:21:12 +0100
User-Agent: Mozilla Thunderbird
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 v2 13/15] pci: Drop parse_pci{_seg}()
To: Jan Beulich <jbeulich@suse.com>, Teddy Astie <teddy.astie@vates.tech>
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794560.8631fc262581453bbf619ec5b2062170.19edb3b5812000701b@vates.tech>
 <2d2164f0-9edc-41d5-9d88-b0a5e3fdbc06@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: <2d2164f0-9edc-41d5-9d88-b0a5e3fdbc06@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0384.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18f::11) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SA1PR03MB6500:EE_
X-MS-Office365-Filtering-Correlation-Id: 521c2372-01aa-44ca-2bee-08ded071e739
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|366016|23010399003|4143699003|56012099006|11063799006|6133799003|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	u7UKJRpUkLnkb9wMuPBSHkt8lzemA/MkjF7C3irEklU2Ko21KUvr6OxB8hl4+WB1e+m4vjov3R0UMU0L41WjEnesg4Rax0SUeX/cpeVMtWKU7ilfg1FEJL++KyeCG065DJilhJ/ZRycSyN1TJn41O1Dppvm3Qmew+xs1yJ41x+w/FE4j8nlPYsGYP2J611D6JjMS14eY56uXJ9/eV9IcujWJNs2jGOl8pBnk3XmuhOBO8287E68nrZuHWN8NQCV4lDtUZOhEUBNLyxftX5Tp3xeBdi0n7nqLd6D/FngoslqUMnkC2EpJLx0KS624XWntsZrUcXAHAvqgxwuuYRufh/H3k0qN/28F+nkcid6sVwuPAJH/INDyVQR+UVPZ2gwsbmoXct4WIzA0ryqYokexuIyyB0fVaYXubNlN/mizpWw+WmcXg0++R4Hup/DPyE43ISLglXmUybB2Cdmgc1yUV1W3tJ2nvKDyJZaJQeBeEKjZS+0guUvyp1d9MJQL04w0NVcdmgUw9w0Lap0kEACZD2UWdW8EI1OAAoR+wm9VNxWuRComKi85erldGQs0xdP02ZEiSmnEBivU9y6hhK6EwR1ypBWUmdWTDjo+XeJTLhKCu5B8OhdYyHluuST6bzX6Qt9TFkzMJbNielVFVW5R+xNddZbziJROwL2u+efbF5E=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(23010399003)(4143699003)(56012099006)(11063799006)(6133799003)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Sk90UkxiemlxVzA0bnhIcTFrZEcwMzN6YmVIWmRqdmg0cVJxK1ZZQmgxVGJr?=
 =?utf-8?B?dHd6OGJUQVFMcUdncnJvVS9DVFBqeFFPZG1QWmF6Um9TcU1TVWJCUjN4amVv?=
 =?utf-8?B?MUxSZFd3eWZoR3NEWTdmb3VQTFJKdjVzZ1JYb3VaejhybGJjdld1aEcyMEZq?=
 =?utf-8?B?Um93TlBRejZETmxYaTFpZGUwR0owMEVwQ3NSMHUvSHFkZ1RhZkU4b2ljWG9O?=
 =?utf-8?B?Y2QreDJxaVlOREVqTEtOL2tEemE0WUFUVkIwUmkrTlBNVk55UkVEdGFRQzlk?=
 =?utf-8?B?S1JSUUJTbGxwRXhzbFFpelZCQXdORXlhMWJJTHl0dVE4OHc1bjN5Z3RSbG90?=
 =?utf-8?B?OWhudExNT2kvTWZPVXlrSG9UTTZDdmdJUW5NMFRQQUtHeHhvVzRVcC9aOWs5?=
 =?utf-8?B?SUJmRDFCT2FIV0pxeDVwUnh6VXprS1NHcmdyaWl6cG4wQWpCdk5abEJXQlNr?=
 =?utf-8?B?KzZ2WUxJdFFWTURHVjlWc1NVM29IQXVuSHAvTXFjRmh1N3czRENtOWFIWDMz?=
 =?utf-8?B?REpGYklZbVRNQ3JKeHlocFlLZy9NNEEreTJ3YW5LblA0VWU5amNsdzBkcVpx?=
 =?utf-8?B?RDllT2ROWlFDS3ZGL0NuYm9DK0Y1a2tZMXZHRktZci9NbkVjZFlXbHBsY2oz?=
 =?utf-8?B?Z2dhbVZDaHRnZDl0T2JVTEg5Nk50dFdYbTFUaE5YZk1hVVo4SnR4S0FHWkJL?=
 =?utf-8?B?c1V0eTE4alF6M1F4SGdNL21QbUpORVJFYTQ2K3NPS2Vkd01nek8veVhHZ2NM?=
 =?utf-8?B?bnV5YnNpVGdDQzlPRkxORk1mUGtFMVFjTXRCQ004YkpWUkVjWFNIZ3pVR29N?=
 =?utf-8?B?ZVJ3OHk2RS9WdmxSYVhCWEZUTU5BTDFPL0JwUCtCUGNIV2pFb29YbStuVzYw?=
 =?utf-8?B?aWJJdm9CckFVL2JFQ01pMXVLQU1ybkJCaitkaEFWb1h6bSt0bXVsMVJicWsz?=
 =?utf-8?B?T2lJdVREbWZ2WldjZlB4bUkxMWtnbWJRSDJrVHhOZkZJc1BFSHg5eVhBT0F1?=
 =?utf-8?B?bWVDd0pGWFZ5VTgrNDY4OGxMZTY0VjBra25UMXhqd3dncFpTTnhvcUFoZHpw?=
 =?utf-8?B?UkZzUmU4VExyN25zUkFYdVc4dHRtMG1jUXJxK0JCWk04U3hRZU5XeUpIcU5G?=
 =?utf-8?B?d3ZXalZtZ2x4NUJqNFQxVWthcHFmV1JudG50LzZUbEVORVloMVhaRmVGdGRJ?=
 =?utf-8?B?RWlZbjNmKzNPODAwUXZzVFJOZUp1NVB4WFNSN1RMOFFOK25xT21xUnd1Vno4?=
 =?utf-8?B?TTg3YVhzaXRmMUpDVDZSVXFmL3VyM3lLZlNCSmVyNkhIK2FhY1JqZjNFUFV4?=
 =?utf-8?B?RUlwQkNWREEvUisyRzJad3BNVEpaTmxlTW5TbEEyOUJ6MVY4UEtXK0o5aWdx?=
 =?utf-8?B?WmdQS0lLUzh5T09vQUwwRVNEQjNEZTZjVjNwN3FoSU4xcEMxdUxKNmlVZjg5?=
 =?utf-8?B?aFprT3ZPRXdOZjFhL3NSQW1qR29wMDM4MG82OGVlU2FheWIwd3N6cGszZVBD?=
 =?utf-8?B?aGhWaDRjYXZOQkF2bDlXV0dxelAxTGFtY0tOR0ZSaThSQWQ1UHNxY2JZK1Bn?=
 =?utf-8?B?UlJ5Tkh3Y3dSbjNBVjljUVNMZ3NIRU90d3BURWNnV0VWaGFDSUNzN3lJMWxP?=
 =?utf-8?B?U1BjWEx3aWlaWGFMVWp6Tm1NbEQ2QnNRcGFXd3pKZmltSEdWSlhDRUY4NjA3?=
 =?utf-8?B?VFJLUFU1RVh4K3BNWHpFV29yQWJrL2FWWTFveXI2VUpheDEycUgvazhoUGQ5?=
 =?utf-8?B?UEZnWERQbXhZdGNuOVl1KzhKRlFQWlhYOWFhUVhDa3ltTWlURjIrdVF6eldk?=
 =?utf-8?B?RWJJcmhUK1E2NlVuU2Y2VWRobFhIK25VeStSZHNjck1hbHhxTjJJdjc4c3M2?=
 =?utf-8?B?SG83WGpJdzNFYjNqRHdPa3NLUjYzVFZXMnd5cndWU094UVBGZnN5SmFMQ1g5?=
 =?utf-8?B?RTJPWEpQbis0c0FMdklpZURYMFdiOFJNUW5DSGFXRHdHakNiazlwZ01qSytB?=
 =?utf-8?B?aG1wRmpvMk15RGEzYndveXpka3JJcHhJczJqTldOQzhhTmlKM2FISk5JMmFZ?=
 =?utf-8?B?N1p6TGlRR1RFbG44d1FsQWRWU1hhUHBEK01hcXNjSlZqTytJeHU5a0ZnMG4w?=
 =?utf-8?B?YlI5eWV3b3E2NjU1UEZZU1ArLzlXUmlienFHWXM3cjNhQmRyaUpvZFpwQlAx?=
 =?utf-8?B?SVN4Z3o2YXVtUm1HZ0t5R29FMmppeGtES0tTbk55S0tlTll5dzgzMzgrdUkz?=
 =?utf-8?B?ZjhLczVJdHloMU9pdTBOVGY3ZGUwN29LaXllMktBLzVTcDB4WXJ3ZFJlc2h1?=
 =?utf-8?B?MTFpb0dGakJtRU5wYnhWalJuamNLbjVjZkNkc2tKSSsrWGFmWnlzUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 521c2372-01aa-44ca-2bee-08ded071e739
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2026 15:21:16.3630
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bubiU62FIFiK4gpPEuk4uZvhEWO21TmcyLYD9ogW6FxLXnZmHJpHQ3fypF1DSZkeBKc8USft7j0n9m0d6Hzol0+tUM+eouBTyk9uMrUPc88=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6500
X-purgate-ID: tlsNG-d62444/1782141680-489BDE30-EF3310AF/0/0
X-purgate-type: clean
X-purgate-size: 3683

On 22/06/2026 12:38 pm, Jan Beulich wrote:
> On 18.06.2026 16:50, Teddy Astie wrote:
>> --- a/xen/include/xen/pci.h
>> +++ b/xen/include/xen/pci.h
>> @@ -273,12 +273,6 @@ unsigned int pci_find_ext_capability(const struct pci_dev *pdev,
>>  unsigned int pci_find_next_ext_capability(const struct pci_dev *pdev,
>>                                            unsigned int start,
>>                                            unsigned int cap);
>> -const char *parse_pci(const char *s, unsigned int *seg_p, unsigned int *bus_p,
>> -                      unsigned int *dev_p, unsigned int *func_p);
>> -const char *parse_pci_seg(const char *s, unsigned int *seg_p,
>> -                          unsigned int *bus_p, unsigned int *dev_p,
>> -                          unsigned int *func_p, bool *def_seg);
>> -
>>  const char *parse_pci_sbdf(const char *s, pci_sbdf_t *sbdf);
>>  const char *parse_pci_sbdf_seg(const char *s, pci_sbdf_t *sbdf, bool *def_seg);
> Could I talk you into adding yet another cleanup patch on top, to drop the
> _sbdf again from these new functions? They really only serve an intermediate
> purpose.

I was wondering about doing the same.

This is superficially ugly, but it avoids needing to rename the callers:

diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
index d816dcad0519..28d1fe111ae4 100644
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -274,15 +274,28 @@ unsigned int pci_find_ext_capability(const struct pci_dev *pdev,
Â unsigned int pci_find_next_ext_capability(const struct pci_dev *pdev,
Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â unsigned int start,
Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â unsigned int cap);
-const char *parse_pci(const char *s, unsigned int *seg_p, unsigned int *bus_p,
+const char *parse_pci_split(const char *s, unsigned int *seg_p, unsigned int *bus_p,
Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â unsigned int *dev_p, unsigned int *func_p);
-const char *parse_pci_seg(const char *s, unsigned int *seg_p,
+const char *parse_pci_split_seg(const char *s, unsigned int *seg_p,
Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â unsigned int *bus_p, unsigned int *dev_p,
Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â unsigned int *func_p, bool *def_seg);
Â 
Â const char *parse_pci_sbdf(const char *s, pci_sbdf_t *sbdf);
Â const char *parse_pci_sbdf_seg(const char *s, pci_sbdf_t *sbdf, bool *def_seg);
Â 
+#define _parse_pci_split(a, b, c, d, e, ...) parse_pci_split(a, b, c, d, e)
+#define _parse_pci_split_seg(a, b, c, d, e, f, ...) parse_pci_split_seg(a, b, c, d, e, f)
+
+#define parse_pci(a, b, ...)Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  \
+Â  Â  (count_args(__VA_ARGS__) > 0Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  \
+Â  Â  Â ? _parse_pci_split(a, (void *)b, ##__VA_ARGS__, NULL, NULL, NULL)Â  \
+Â  Â  Â :Â  parse_pci_sbdf(a, (void *)b))
+
+#define parse_pci_seg(a, b, c, ...)Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â \
+Â  Â  (count_args(__VA_ARGS__) > 0Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  \
+Â  Â  Â ? _parse_pci_split_seg(a, (void *)b, (void *)c, __VA_ARGS__, NULL, NULL, NULL, NULL) \
+Â  Â  Â :Â  parse_pci_sbdf_seg(a, (void *)b, (void *)c))
+
Â #define PCI_BAR_VFÂ  Â  Â  (1u << 0)
Â #define PCI_BAR_LASTÂ  Â  (1u << 1)
Â #define PCI_BAR_ROMÂ  Â  Â (1u << 2)


You can add this after introducing the *_sbdf() functions, and then
delete it after the final caller is converted.

The void casts are unavoidable because both sides fragments of the
ternary are typechecked, but we regain typesafety at the end.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 15:24:19 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 15:24:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343966.1603176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbgVG-000274-Bq; Mon, 22 Jun 2026 15:24:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343966.1603176; Mon, 22 Jun 2026 15:24:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbgVG-00026x-8u; Mon, 22 Jun 2026 15:24:02 +0000
Received: by outflank-mailman (input) for mailman id 1343966;
 Mon, 22 Jun 2026 15:24:01 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wbgVF-00026r-Hp
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 15:24:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbgVE-00AdFU-N4
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 17:24:00 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a395381-5cb7-0a2a0a5109dd-0a2a4503ca94-26
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:24:00 +0200
Received: from [209.85.128.41] (helo=mail-wm1-f41.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a395390-a3da-0a2a45030019-d1558029dcd6-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:24:00 +0200
Received: by mail-wm1-f41.google.com with SMTP id
 5b1f17b1804b1-49258ac7294so3901055e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 08:24: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-466643f4e9esm25732984f8f.1.2026.06.22.08.23.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 08:23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782141840; x=1782746640; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Jv8Wzzt1gdML5qbf7GwUS+RqFEzUNwIZfLx7jcTzmZs=;
        b=d+4YicjEkVfZX0a/N3kHciBVh7kxCIfgHeMIS9zyiP2k4OwYCGioAbjBOXWpXOWabt
         heagpDAprr47G5JgccV/8lgYx6xRXjBvr3ZAGXheKenBCImdgWnSWFz5oR2KFBMbE71r
         uC7dxi7ZdOVsuumd6L5OwLlQYmOs2qRnQiAhHFbEcIZZ3yEEq+ju3WAdHucKPzKILQ1k
         YZTMvujNG6OzJ4UAglctNL5ERWp+ZZGozbYGbbOTBKvLcHNnYe+CTGL0cvTuQU4Nyvmd
         61P1OLPeye+47msdf6y1Lnq61pyqwrcL8SDlWdQSUsS9e5BFGKF8XIuL5GLL4K+XkVIs
         /+HQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782141840; x=1782746640;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Jv8Wzzt1gdML5qbf7GwUS+RqFEzUNwIZfLx7jcTzmZs=;
        b=VNLCOlJLdvdHCfQGqmUlftVySDPj6UBD0+34go7a97Jc+JeUJlRsZhxGYZ2xkynw2c
         G5G1d6y3iGuWyVUh+3mQwUSGPu7rcMdcUyhec7JeQeZnJP3Miy8PclGHTMQipnM/qm16
         RXoBKe4sydZpZVS9iVkxs8FxG/BbVtSdwwzaxY6Hq91hov8c2Rfo7Hd3I3DTqaaMVZFC
         xpmZlEeI835H3s0I49xe2jwFxMSebHbAGEXgJqD725rIbBYGNc3d3QAlE2Mu3Iwb+mkU
         XJ8B8pTgy/REO3A89vDjLGNwQV1YYbBBAao1afsBma0a1FHKphpNcRfVspbiDpjURRf6
         d2Hw==
X-Forwarded-Encrypted: i=1; AFNElJ96rmTAV71ot3LZaKWIZlCEQYttW6zUlLNCm3LGZ0VUb1pgSt2AYh0myf5V/mbCAP4rS44JakEogQ8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxnXYwCZCI3p3XblBllZbVh73HLOUUSk0kfuCH8RrDXt27NfuPE
	WG553UsKmnm61lycCvrzd7y22zPr5vAGmIQGHtSHv5ltxmUTZaDDz5agfEWUY/kkMg==
X-Gm-Gg: AfdE7cmIEW7Vq1HS/GaYaoHQO7W149Pyk+QOJanVsQIJjTfEz9a+VjmYlrY8OAAXdIk
	TnKlqPQJZGDDTqIzU7w/CXLGTbh5e6ZsDuNXDRUqTrD6BLbCP6XHHEHc5RoxVcjaE2wS4SPgq5v
	ZiJ/L19jpBUv5kGIpAK5mm9+6G25mi0LxptYqU5aYrFtADuiA5LNlISi7/C0wbrfwxxZLFl0tsE
	iyEqUtnn9rHPXNV0YKBSqcgj15xzT7elyPU/CMlwvcqe03ktpoy6ExM8Z/8C8Nf64HNjIVkMSds
	diqu+2QY9nxtYEMXjCc4ySQCSXVDQh8v1xXAckg9xTAiLG4K2v7fS03mqj4OY2QLEM3fQJXPfBR
	RNLkT4A5qv7B348tKZp60IAOT1vqjiXtpxpU7j3x33SZPVnIc+iMcCUol2iHWFnrSsQS1WY2mX2
	SkUNMStUexEpmURBjq2Plw1WbbYSr1E0LKCYlvohMurj2cvt2x0M8YqmJOncuCFi1JikMZM79dn
	utV
X-Received: by 2002:a05:600d:101:b0:492:4050:d495 with SMTP id 5b1f17b1804b1-49240ea31famr167454605e9.30.1782141839875;
        Mon, 22 Jun 2026 08:23:59 -0700 (PDT)
Message-ID: <74f4b96e-1084-4880-addf-8ce57a0dab5f@suse.com>
Date: Mon, 22 Jun 2026 17:23:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 17/23] xen/riscv: create APLIC DT node for guest
 domains
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <0b034d584b7aaec54b70e9e575c727b07930d2ed.1781693963.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: <0b034d584b7aaec54b70e9e575c727b07930d2ed.1781693963.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1782141840-65DC7D84-CAEC1EB5/0/0
X-purgate-type: clean
X-purgate-size: 1533

On 17.06.2026 13:17, Oleksii Kurochko wrote:
> --- a/xen/arch/riscv/aplic.c
> +++ b/xen/arch/riscv/aplic.c
> @@ -12,8 +12,10 @@
>  #include <xen/const.h>
>  #include <xen/device_tree.h>
>  #include <xen/errno.h>
> +#include <xen/fdt-kernel.h>
>  #include <xen/init.h>
>  #include <xen/irq.h>
> +#include <xen/libfdt/libfdt.h>
>  #include <xen/mm.h>
>  #include <xen/sections.h>
>  #include <xen/spinlock.h>

Why's this needed all of the sudden?

> @@ -29,6 +36,74 @@ static void cf_check vaplic_deinit(struct vcpu *v)
>      return vcpu_imsic_deinit(v);
>  }
>  
> +static int __init cf_check vaplic_make_domu_dt_node(struct kernel_info *kinfo)
> +{
> +    struct domain *d = kinfo->bd.d;
> +    int res = 0;
> +    void *fdt = kinfo->fdt;
> +    unsigned int msi_parent_phandle;
> +    char vaplic_name[128];

Again an excessively large array?

> +static const struct vintc_init_ops __initdata init_ops = {

Like elsewhere, __initconst{,rel} with const.

> +    .make_domu_dt_node = vaplic_make_domu_dt_node,
> +};
> +
>  static const struct vintc_ops vintc_ops = {
>      .vcpu_init = vaplic_init,
>      .vcpu_deinit = vaplic_deinit,
> @@ -43,6 +118,7 @@ int domain_vaplic_init(struct domain *d)
>  
>      d->arch.vintc = &vaplic->vintc;
>      d->arch.vintc->ops = &vintc_ops;
> +    d->arch.vintc->init_ops = &init_ops;

The caller of ->init_ops->make_domu_dt_node() appeared in patch 11 already,
if I'm getting things right. That is, up here there's a NULL deref there.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 15:57:47 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 15:57:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1343982.1603188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbh1p-0007O6-Q4; Mon, 22 Jun 2026 15:57:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1343982.1603188; Mon, 22 Jun 2026 15:57: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 1wbh1p-0007Nz-MS; Mon, 22 Jun 2026 15:57:41 +0000
Received: by outflank-mailman (input) for mailman id 1343982;
 Mon, 22 Jun 2026 15:57:40 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wbh1o-0007Lz-9h
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 15:57:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbh1m-00BFEc-Po
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 17:57:38 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a395b43-e002-0a2a0a5209dd-0a2a4503d2bc-48
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:57:38 +0200
Received: from [209.85.221.45] (helo=mail-wr1-f45.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a395b72-a3da-0a2a45030019-d155dd2decf9-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 17:57:38 +0200
Received: by mail-wr1-f45.google.com with SMTP id
 ffacd0b85a97d-463f1165e16so4524723f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 08:57: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-49240efc63fsm190555325e9.1.2026.06.22.08.57.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Jun 2026 08:57: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782143858; x=1782748658; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt: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/aji1K5kjTpbcV5PMjcN9LFuov4EnJbGP3srzrkMlQ=;
        b=XUd3YSFTs1sqW3jfuvtH8U2g7pXig4V9JMQimqaJxpKqo0XBbM6VEsiM4WxAWDUIc+
         yci5WFaORlqROsy6WyDkrXL4ZwgjgNJzOBBEKI0Ei6uVEEGzKixZzccUlqw0zwqMRjbP
         gqpXgkvkclkIc0dGjCGbUfSVmRJWAIStK95A8NosApFcvogKn+F6vsp+4xN+LJm6NJkT
         y6lFOcFRZUYKvUqy5q2D/4GvUiQlL4smoYWMPHJS61380FC1iKBcIci+x9jZtMHwN/Q0
         YZnBjgfezvzQeFFH18J1MlgUhL4mErZsVmQQgWwPFSWCqE6IDyt42mIDtoCtUhqG/U3x
         3fPw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782143858; x=1782748658;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=N/aji1K5kjTpbcV5PMjcN9LFuov4EnJbGP3srzrkMlQ=;
        b=tOx3kORycyw65FzHMnr7f0fe6tIArNCewYopymDa3S30iH/oWLwU6XjM+z8uLUUNPZ
         trO13vy0AoHkPifBuGkkKkISc0zNtjQP5UqElX/EFFVXWf2CATMDXnwx3ZwInkJRby0h
         f+AbdCk9+BSZozGhpHmL4cCP/D1Abzt2doJqN5KjW75ohgsxUyYEaQPKZF6yNuZg2622
         yLgLWmEwaj/9NKieTak0VoO5mdZd8ehos9RdySY/dk608cPfA2avY7ZEcR5p7cxZr0kF
         JuJKUZHUEytTQxpv1qg4p3ewvxHv88iYyCbjprOZJU01PLqqbqgNSOV/2kE9F/wuVWQt
         FwkA==
X-Forwarded-Encrypted: i=1; AFNElJ8mO+rxCA5z48CWAHVb9ZsehT+8W92/G44QlKLMam0Q38ILjquH0MinTK9eB6o3eaDPGid6iN0wroY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzi6aYy7V6wsxVGT5Hh7WOl7deWUuNgpIpTc24QNg1TKhMixB3W
	RQUlIM23GW369iqNUpXLs5uTRC51C2P+kGo1EFVYRJOhi4DV3O+CoiLpEIYRgeytDw==
X-Gm-Gg: AfdE7cnLjy/S01ofjDPCwS2MvjWxJfWEksL6VYZeLxdME1/58gJLXVYmBFbLjgenXGm
	BYtoJiSiZTqQ7vAqQ+xoWPYG9T+qC066u/1wcu4LBABi5yUtw0lOmIj7Nc7oMCQOHI7Nbf0sX1B
	nw1MrC8a62SWAUIWqcBbkE4T9KbmfQvj7rLBqIT0OqAIEKXyJhqnoLk1iHrb05mP/SeoURvpnBp
	z2jv8G8Qw81DjhWTyUuHnhfFD2PGnyVmLi2Pv0q0OkX55ILL+s3bTZdXDcjAWGa8zEzs1jJM+XJ
	qpoCLge8uQox4jy7lWciRGqf2kx172A76h99g2bOUZNsnoYuKKmifa9qSKHorXHeIJDTHx1leRx
	4b33LVs1EyjNeianA9qBAjyOHk3VTpaUpeFDaqMCq6NrgOt+xIh+EVBp2+/cfY2Jpw49VWquqZ1
	xWj9dHUV4lrW/oSEJgYhFLOmwKPwC6zlBhbO/VZnClKQIVBuT7SHcpSSDJkN4jivBRsnbORCEbi
	x0T
X-Received: by 2002:a05:600c:2305:b0:492:2f59:4969 with SMTP id 5b1f17b1804b1-49240e5b469mr182157355e9.22.1782143857853;
        Mon, 22 Jun 2026 08:57:37 -0700 (PDT)
Message-ID: <3a1aca27-cc18-4b57-bb31-c50161b8c261@suse.com>
Date: Mon, 22 Jun 2026 17:57:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 18/23] xen/riscv: implement IRQ routing for device
 passthrough
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <0458468cc5a6db911a9acc64f4c8cf17ceebe4c6.1781693963.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: <0458468cc5a6db911a9acc64f4c8cf17ceebe4c6.1781693963.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1782143858-677D2D84-D95CCF5D/0/0
X-purgate-type: clean
X-purgate-size: 7566

On 17.06.2026 13:17, Oleksii Kurochko wrote:
> --- /dev/null
> +++ b/xen/arch/riscv/device.c
> @@ -0,0 +1,102 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +
> +#include <xen/device_tree.h>
> +#include <xen/errno.h>
> +#include <xen/iocap.h>
> +#include <xen/rangeset.h>
> +#include <xen/sched.h>
> +
> +#include <asm/intc.h>
> +
> +int map_irq_to_domain(struct domain *d, unsigned int irq,
> +                      bool need_mapping, const char *devname)
> +{
> +    int res;
> +
> +    res = irq_permit_access(d, irq);

Such generally needs an XSM check up front, the more that the function isn't
__init, i.e. is (apparently) intended for runtime use as well.

> +    if ( res )
> +    {
> +        printk(XENLOG_ERR "Unable to permit %pd access to IRQ %u\n", d, irq);
> +        return res;
> +    }
> +
> +    if ( need_mapping )
> +    {
> +        /*
> +         * Checking the return of vintc_reserve_virq is not
> +         * necessary. It should not fail except when we try to map
> +         * the IRQ twice. This can legitimately happen if the IRQ is shared.
> +         */
> +        vintc_reserve_virq(d, irq);
> +
> +        res = route_irq_to_guest(d, irq, irq, devname);
> +        if ( res < 0 )
> +        {
> +            printk(XENLOG_ERR "Unable to map IRQ%u to %pd\n", irq, d);
> +            return res;
> +        }
> +    }
> +
> +    dt_dprintk("  - IRQ: %u\n", irq);
> +
> +    return 0;
> +}
> +
> +/*
> + * map_device_irqs_to_domain retrieves the interrupts configuration from
> + * a device tree node and maps those interrupts to the target domain.
> + *
> + * Returns:
> + *   < 0 error
> + *   0   success
> + */
> +int map_device_irqs_to_domain(struct domain *d,
> +                              struct dt_device_node *dev,
> +                              bool need_mapping,
> +                              struct rangeset *irq_ranges)
> +{
> +    unsigned int i, nirq = dt_number_of_irq(dev);
> +
> +    if ( irq_ranges )
> +        return -EOPNOTSUPP;
> +
> +    /* Give permission and map IRQs */
> +    for ( i = 0; i < nirq; i++ )
> +    {
> +        int res, irq;
> +        struct dt_raw_irq rirq;
> +
> +        res = dt_device_get_raw_irq(dev, i, &rirq);
> +        if ( res )
> +        {
> +            printk(XENLOG_ERR "Unable to retrieve irq %u for %s\n",
> +                   i, dt_node_full_name(dev));
> +            return res;
> +        }
> +
> +        /*
> +         * Don't map IRQ that have no physical meaning
> +         * ie: IRQ whose controller is not APLIC/IMSIC/PLIC.
> +         */

Nit: Does this comment mean to use singular or plural for IRQ?

> --- a/xen/arch/riscv/imsic.c
> +++ b/xen/arch/riscv/imsic.c
> @@ -538,10 +538,11 @@ int __init imsic_init(const struct dt_device_node *node)
>  
>  static int __init guest_imsic_make_reg_property(struct domain *d, void *fdt)
>  {
> +    paddr_t base = GUEST_IMSIC_S_BASE;
>      paddr_t size = IMSIC_MMIO_PAGE_SZ * d->max_vcpus;
>      __be32 regs[4] = {
> -        cpu_to_be32(GUEST_IMSIC_S_BASE >> 32),
> -        cpu_to_be32(GUEST_IMSIC_S_BASE),
> +        cpu_to_be32(base >> 32),
> +        cpu_to_be32(base),
>          cpu_to_be32(size >> 32),
>          cpu_to_be32(size),
>      };

What is this change about? Does it perhaps belong into an earlier patch?

> --- a/xen/arch/riscv/include/asm/intc.h
> +++ b/xen/arch/riscv/include/asm/intc.h
> @@ -13,6 +13,7 @@ enum intc_version {
>  };
>  
>  struct cpu_user_regs;
> +struct domain;
>  struct irq_desc;
>  struct kernel_info;
>  struct vcpu;
> @@ -32,6 +33,9 @@ struct intc_hw_operations {
>      /* hw_irq_controller to enable/disable/eoi host irq */
>      const struct hw_interrupt_type *host_irq_type;
>  
> +    /* hw_irq_controller to enable/disable/eoi guest irq */
> +    const struct hw_interrupt_type *guest_irq_type;

It's likely my limited RISC-V knowledge that I find this extremely odd:
Separate struct hw_interrupt_type-s for host and guest?

> @@ -62,6 +66,8 @@ struct vintc_ops {
>  };
>  
>  struct vintc {
> +    unsigned int irq_nums;

I did ask before: Which word does "nums" stand for?

> @@ -106,12 +124,25 @@ int domain_vintc_init(struct domain *d)
>          break;
>      }
>  
> +    if ( !ret )
> +    {
> +        d->arch.vintc->used_irqs =
> +            xvzalloc_array(unsigned long, BITS_TO_LONGS(d->arch.vintc->irq_nums));
> +        if ( !d->arch.vintc->used_irqs )
> +            ret = -ENOMEM;
> +    }
> +
>      return ret;
>  }
>  
>  void domain_vintc_deinit(struct domain *d)
>  {
>      const enum intc_version ver = intc_hw_ops->info->hw_version;
> +    unsigned int virq;
> +
> +    for ( virq = 0; virq < d->arch.vintc->irq_nums; virq++ )

Here you de-reference d->arch.intc. One of the purposes of ...

> +        if ( test_bit(virq, d->arch.vintc->used_irqs) )
> +            release_guest_irq(d, virq);
>  
>      switch ( ver )
>      {
> @@ -122,4 +153,14 @@ void domain_vintc_deinit(struct domain *d)
>      default:
>          break;
>      }
> +
> +    XVFREE(d->arch.vintc->used_irqs);

... this is to allow the function to be idempotent, i.e. to recognize that
it was called before (or no setup was done at all), and hence it doesn't
need to do anything.

> +void release_irq(unsigned int irq, const void *dev_id)
> +{
> +    struct irq_desc *desc;
> +    unsigned long flags;
> +    struct irqaction *action, **action_ptr;
> +
> +    desc = irq_to_desc(irq);
> +
> +    spin_lock_irqsave(&desc->lock,flags);

Nit: Missing blank after comma (again at least once further down).

> +    action_ptr = &desc->action;
> +#ifdef CONFIG_IRQ_HAS_MULTIPLE_ACTION
> +    for ( ;; )
> +    {
> +        action = *action_ptr;
> +        if ( !action )
> +        {
> +            printk(XENLOG_WARNING "Trying to free already-free IRQ %u\n", irq);
> +            spin_unlock_irqrestore(&desc->lock, flags);
> +            return;
> +        }
> +
> +        if ( action->dev_id == dev_id )
> +            break;
> +
> +        action_ptr = &action->next;
> +    }
> +
> +    /* Found it - remove it from the action list */
> +    *action_ptr = action->next;
> +#else
> +    action = *action_ptr;
> +    *action_ptr = NULL;
> +#endif
> +
> +    /* If this was the last action, shut down the IRQ */
> +    if ( !desc->action )
> +    {
> +        desc->handler->shutdown(desc);
> +        __clear_bit(_IRQ_GUEST, &desc->status);
> +    }
> +
> +    spin_unlock_irqrestore(&desc->lock,flags);
> +
> +    /* Wait to make sure it's not being used on another CPU */
> +    do { smp_mb(); } while ( test_bit(_IRQ_INPROGRESS, &desc->status) );

Can you explain to me what the purpose of this barrier is?

> +int release_guest_irq(struct domain *d, unsigned int virq)
> +{
> +    struct irq_desc *desc = irq_to_desc(virq);
> +    struct irq_guest *info;
> +    unsigned long flags;
> +
> +    spin_lock_irqsave(&desc->lock, flags);
> +
> +    if ( !test_bit(_IRQ_GUEST, &desc->status) )
> +        goto unlock_err;
> +
> +    info = irq_get_guest_info(desc);
> +    if ( d != info->d )
> +        goto unlock_err;
> +
> +    spin_unlock_irqrestore(&desc->lock, flags);
> +
> +    release_irq(desc->irq, info);
> +    xvfree(info);

So you drop the lock keeping the info associated with desc in place. How
do you know what you free here is the correct thing, and isn't in use
elsewhere?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 17:00:47 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 17:00:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344010.1603197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbi0c-0008RX-7Q; Mon, 22 Jun 2026 17:00:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344010.1603197; Mon, 22 Jun 2026 17:00: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 1wbi0c-0008RP-2H; Mon, 22 Jun 2026 17:00:30 +0000
Received: by outflank-mailman (input) for mailman id 1344010;
 Mon, 22 Jun 2026 17:00:28 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ef046aaee000701b@swg.vates.tech>)
 id 1wbi0a-0008RI-7m
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 17:00:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbi0Z-006y3z-6k
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 19:00:27 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ef046aaee000701b@swg.vates.tech>)
 id 6a396a24-5cb7-0a2a0a5109dd-0a2a450b9db0-12
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 19:00:26 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ef046aaee000701b@swg.vates.tech>)
 id 6a396a2a-5e53-0a2a450b0019-b9ff1c1292a9-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 19:00:26 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ef046aaee000701b.002 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 22 Jun 2026 17:00:23 +0000
Received: from l14 (lfbn-lyo-1-414-55.w2-7.abo.wanadoo.fr [2.7.24.55])
 (Authenticated sender: anthony.perard)
 by mail2.vates.fr (Postfix) with ESMTPSA id A099186965;
 Mon, 22 Jun 2026 19:00:22 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=Ju/3B1Me1rhkY4iVn8cV9+73JS+eoK2kWix/pB3Clqw=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=oEbVyDelKVa6jc+u5MRIwYbPVuAzNuZsYkTUZwWpMS7b/SWI6QBpomSgpsthD+3iQBbmiNAVk
 qsZcfR2mO9CrexOfa9NAqV+4uy/60Xn6t9bOO/JcWdCYGKZFLj9BEd8PPFV22CV6snJc2BTfOb+
 ntYpm1n1WevvZc1suNmXo6J5JjmtFy4TAQd/lQTBSu6xvEzPsQVm1rGnU9fsAYqTPBnj6toIEml
 0Y9zARe5lYmCvdmHgwaH2D7qzh3ZBFgqkEqZFncdOl2pXBuX8p6ysEBrmzzJhO3ql+V/7+b5WHz
 BCQRSTj4pZGX6lTm9kEKTFPAb6RSnM5G9ZiRI2NzyU2g==
X-Zone-Loop: 0a139c037d014ccdb397080bb7ed4a24c27db484ba34
x-campaign-type: default
x-transaction-id: b714e493-43fc-4ace-b79e-5b7ace180e53
x-swg-uid: 01-ac2338f3-a9ff-435f-85a4-e49e0fd53587
X-Mailer: Sweego
Message-ID:
 <1782147623.8631fc262581453bbf619ec5b2062170.19ef046aaee000701b@vates.tech>
x-swg-bid: 1782147623.8631fc262581453bbf619ec5b2062170.19ef046aaee000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Mon, 22 Jun 2026 19:00:22 +0200
From: Anthony PERARD <anthony.perard@vates.tech>
To: Thierry Escande <thierry.escande@vates.tech>
Cc: xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>,
	Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>
Subject: Re: [RFC PATCH v4 5/6] libxl: Allow PCI device passthrough using
 -device Qemu command line
References: <1776955586.8631fc262581453bbf619ec5b2062170.19dbace7684000f373@vates.tech>
 <1776955859.8631fc262581453bbf619ec5b2062170.19dbad2a232000f373@vates.tech>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1776955859.8631fc262581453bbf619ec5b2062170.19dbad2a232000f373@vates.tech>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.995.43df3ab7b010b33d.19ef046a784.305e84d759ca35ab=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1782147622789
X-purgate-ID: tlsNG-42698a/1782147626-4CFF100E-8D91848C/0/0
X-purgate-type: clean
X-purgate-size: 7330

---=Part.995.43df3ab7b010b33d.19ef046a784.305e84d759ca35ab=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Thu, Apr 23, 2026 at 04:50:30PM +0200, Thierry Escande wrote:
> This change makes use of the new option 'hotplug' for host PCI devices
> passthrough'd to the guest=2E If hotplug=3D0 is used in the pci device
> configuration table, the device will be attached to the guest using the
> Qemu command line as '-device xen-pci-passthrough,hostaddr=3D=2E=2E=2E'
>=20
> The host device configuration is passed to the -device option as a json
> array, just like it's done for hotplug using QMP=2E The json array is

s/json array/JSON object/

> created by using libxl__device_pci_get_qapi_json() introduced by the
> previous patch=2E
>=20
> Then, instead of sending the 'device_add' command, the device_add
> callback is called to perform the 'query-pci' check to make sure the
> passthrough'd device is present=2E

That's not the reason we do `query-pci`, we run the command to find out
where QEMU assigned the device, to extract the the devfn=2E We already
know the device is present, either because QEMU started or because the
QMP command didn't returned an error=2E

We could avoid the `query-pci` command if we tell QEMU where to place
the new device=2E

So here, we skip `device_add` because that's already been done via the
command line=2E


> In the same way at shutdown, the device is not removed using QMP and
> only the pci_remove_done() function is called=2E
>=20
> As with QMP, the use of the 'hotplug=3D0' option honors the 'seize' opti=
on
> by adding the PCI device to the assignable list if needed=2E This mimics
> what is done in libxl__device_pci_add() with regards to seize option and
> the assignable PCI device list=2E This allows to display a proper error
> message if the device is not assignable before Qemu starts=2E

:-(, so we are duplicating code to handle pci->seize=2E That's not great=
=2E
Could you extract that so we can call it for hotplug and domain startup?

> diff --git a/tools/libs/light/libxl_dm=2Ec b/tools/libs/light/libxl_dm=
=2Ec
> index 511ec76a65=2E=2Efb0aeea640 100644
> --- a/tools/libs/light/libxl_dm=2Ec
> +++ b/tools/libs/light/libxl_dm=2Ec
> @@ -1798,6 +1798,39 @@ static int libxl__build_device_model_args_new(lib=
xl__gc *gc,
>              break;
>          }
> =20
> +        if (guest_config->num_pcidevs) {
> +            libxl_device_pci *pci;
> +            libxl__json_object *qmp_json;
> +            char *json_str;
> +
> +            for (i =3D 0; i < guest_config->num_pcidevs; i++) {
> +                pci =3D &guest_config->pcidevs[i];
> +
> +                if (pci->hotplug)
> +                    continue;

Since I don't think having an existing `pci->hotplug` field is a good
idea, you could run the whole loop based on the DM's machine type, that
is if it is Q35 we add pci-passthrough devices on the command line,
otherwise it's done via QMP=2E

In libxl__add_pcis(), we have access to `d_config`, so we can check
`device_model_machine` and pass the information to run `device_add` cmd
or not via the parameters of libxl__device_pci_add()=2E

If it turns out to be needed for i440FX machines, we could introduce a
domain config for the whole VM rather than by PCI devices we want to
passthrough=2E

> +                if (pci->seize && !libxl__pciback_dev_is_assigned(gc, p=
ci)) {
> +                    rc =3D libxl__device_pci_assignable_add(gc, pci, 1)=
;
> +                    if (rc)
> +                        return rc;
> +                }
> +
> +                if (!libxl_device_pci_assignable(libxl__gc_owner(gc), p=
ci)) {

There's the macro `CTX` that can be used instead of `libxl__gc_owner(gc)`=
=2E

> +                    LOGD(ERROR, guest_domid, "PCI device %x:%x:%x=2E%x =
is not assignable",
> +                         pci->domain, pci->bus, pci->dev, pci->func);
> +                    return ERROR_FAIL;
> +                }
> +
> +                qmp_json =3D libxl__device_pci_get_qapi_json(gc, pci);

It's not `qmp_json` here :-), QMP is the protocol use to communicate
with QEMU via a socket, but there's no QMP involve on the command line=2E
That function doesn't return any JSON, it returns an object that can
represent some JSON=2E=20

Here, we have an object to be passed to `-device` or `device_add`, maybe
just `pci_obj` would be ok as a name for the variable=2E

> +                json_str =3D libxl__json_object_to_json(gc, qmp_json, f=
alse);
> +                if (!json_str)
> +                    return ERROR_NOMEM;
> +
> +                flexarray_vappend(dm_args, "-device", json_str, NULL);
> +            }
> +        }
> +
>          if (state->dm_runas) {
>              if (qemu_opts->have_runwith_user) {
>                  flexarray_append_pair(dm_args, "-run-with",
> diff --git a/tools/libs/light/libxl_pci=2Ec b/tools/libs/light/libxl_pci=
=2Ec
> index 5004ca47d9=2E=2Ef5216f6b33 100644
> --- a/tools/libs/light/libxl_pci=2Ec
> +++ b/tools/libs/light/libxl_pci=2Ec
> @@ -1148,7 +1148,10 @@ static void pci_add_qmp_device_add(libxl__egc *eg=
c, pci_add_state *pas)
>      qmp->domid =3D domid;
>      qmp->payload_fd =3D -1;
>      qmp->callback =3D pci_add_qmp_device_add_cb;
> -    rc =3D libxl__ev_qmp_send(egc, qmp, "device_add", args);
> +    if (pci->hotplug)
> +        rc =3D libxl__ev_qmp_send(egc, qmp, "device_add", args);
> +    else
> +        pci_add_qmp_device_add_cb(egc, qmp, NULL, 0);

Could you add the mention /* must be last */ on the same line?
Also, the call to pci_add_qmp_device_add() should be immediately followed =
by
"return", we don't want to be in a position where "pci_add_dm_done()"
could be executed twice=2E

Could you add a comment? Saying we skip "device_add" because the device
has already be added via command line?

>      if (rc) goto out;

So, this could be moved to the true block of the if, right after
libxl__ev_qmp_send() call=2E

>      return;
> =20
> @@ -1830,6 +1833,14 @@ static void do_pci_remove(libxl__egc *egc, pci_re=
move_state *prs)
>      libxl_domain_type type =3D libxl__domain_type(gc, domid);
>      libxl_device_pci *pci =3D &prs->pci;
>      int rc, num;
> +
> +    /* Passthrough'd device has been passed to Qemu command line so the=
re is
> +     * no need to remove it via QMP */

That's not the only thing been done=2E After trying to ask nicely QEMU to
detach from the PCI device, there's a bunch more cleanup done in dom0=2E
If you look at the success and error path, we always call
`pci_remove_detached()`=2E

The only problem is that when Q35 is been use, we just want be able to
hot-unplug the device from QEMU's emulated PCI bus, but that's just a
detail; and it doesn't really matter how the device is been added to the
machine, there isn't much difference between QEMU's command line and QMP=
=2E

> +    if (!pci->hotplug) {
> +        pci_remove_done(egc, prs, 0);
> +        return;
> +    }
> +

Thanks,


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vate=
s solutions

web: https://vates=2Etech
---=Part.995.43df3ab7b010b33d.19ef046a784.305e84d759ca35ab=---


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 17:21:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 17:21:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344021.1603205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbiKS-0003IO-Nw; Mon, 22 Jun 2026 17:21:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344021.1603205; Mon, 22 Jun 2026 17: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 1wbiKS-0003IG-Kt; Mon, 22 Jun 2026 17:21:00 +0000
Received: by outflank-mailman (input) for mailman id 1344021;
 Mon, 22 Jun 2026 17:20:59 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wbiKR-0003IA-7M
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 17:20:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbiKQ-005GtO-8L
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 19:20:58 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a396ed3-bab6-0a2a0a5309dd-0a2a4502ca62-42
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 19:20:58 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a396efa-fdf1-0a2a45020019-d155802dc4f0-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 19:20:58 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-490cdae130cso22758885e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 10:20:58 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-248-75.as13285.net.
 [78.146.248.75]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492492338dasm224069875e9.1.2026.06.22.10.20.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Jun 2026 10: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1782148857; x=1782753657; 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=Oh58htIrwA9B2iF9EAV5k6AIL6tsNh0NMoorfhc0EoY=;
        b=PKgOrNJ7D/PIMjkIY6UUOvifPchDzyXn04c1y2GkG53+JjQwfLU76b0vLgsNeZjWnm
         1VLVgto1R1aTry20ohaDY/iqLY+AYXWlnmGzIfTq1OVhC27llgpAjb7cZRz1osOK3cwq
         jNIoJGXOMg8Sp0Lkiybo9Tbgej5iUHZv2FRuc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782148857; x=1782753657;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Oh58htIrwA9B2iF9EAV5k6AIL6tsNh0NMoorfhc0EoY=;
        b=E7NxRkjqx37VozhV9sz7ZAHN3p17qyo6N4EHlSHfrtBF8vRIUZdIjnEWy0j6gfxhoy
         Jih1rDaGqSXWC4cdjw1hewcH7P9QLkQ2H3sX3WmeflLQq4ofPPDi6uEszQRg11qgnz/O
         cksTtkTCvkWyDaUniJX1o6irC3yyvY60gz4zz1EVs+RIUh/5462zgQnag0l2sQJHeC5p
         QRapI/WvV+Xbf7HzylP8P3uAtKIkhhTm5++rh0ZdfDIw4q29sig1y/oMmaH6dFEZF6mX
         pyebYXiYt6baFyIrugVnkin5DI5l+XVS40RnX9NBbejNn0U5FtNq+nIzH5Uk9V6igHAO
         L47A==
X-Gm-Message-State: AOJu0Ywk0Y4i0gMocsKvnsYzGRlOtcUrgRKw3Y96VHPAt894TOYck450
	kpZ/x+9oNeELeiux+HnH+vFZ6CPAXed/Wh9ReF286snYk88bowRQABhLQWW6O6Wn1pmfcZqK7v2
	OkFK3FTU=
X-Gm-Gg: AfdE7ckeKK4N21TKjJkOWg3HL9Y2CcnZ8GmbouFMHBwTPS3ENhWYBr062iK2CWqS3kj
	/C5r6WXqVMV05JGP5wJmWYFJOY1ZpAgZKFUIi/JkTDMrST9OowtMWrjlRMKkxhn/+Q4YhQH6ddv
	Evpo6hnRF8xX0cTrhKqed0LqktI24Iet83UZ5rqM/RzeguHQQhsmpO4DeHBZdyOIHb5Q7DAhnYH
	/Hqa5/GETx9+CK/pAJ7gL4Ga4NtFzt/+kAtMuPuH0R4JNPrbBLkhP7C9FiIVyoEaayPWYzXwtRP
	1Hoq2wVOW2cojAdFJNHRycmsn5O72pZB7FMr9Y+Bj2srpXH+E3EeWCzfu2r0WR9UgiJXyJ+oYne
	4/fctydVEugwqTf27Tvl7Sp30WoNWT7yd9SepfFuqNyXDeYDtNPb9RrPL3bj+QxRmS+EH47xygT
	XPLzNSrr3bDcvkkJesLb63wrCLr8DfUJP/Tj3BTw9CFYZCtg5KyDwrVHnojSw9Ric=
X-Received: by 2002:a05:600d:8453:b0:492:37b7:6090 with SMTP id 5b1f17b1804b1-4923ef51a7fmr282110945e9.5.1782148857541;
        Mon, 22 Jun 2026 10:20:57 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Lin Liu <Lin.Liu01@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH for-4.22] x86/kexec: Check for a good per-cpu area before accessing IDTs
Date: Mon, 22 Jun 2026 18:20:54 +0100
Message-Id: <20260622172054.504778-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
X-purgate-ID: tlsNG-720697/1782148858-468603F3-FBAAE21E/10/73395122804
X-purgate-type: spam
X-purgate-size: 2928

Prior to commit 9c20d3c5915d ("x86/IDT: Make idt_tables[] be per_cpu(idt)"),
the global idt_tables[] was always safe to use for CPUs in any state.

However, not-yet-onlined CPUs (e.g. MADT with more entries than exist in
practice) or offlined CPUs (e.g. xen-hptool) have their per-cpu pointer
poisoned to detect incorrect uses.  machine_kexec() trips over the posion when
clobbering #MC entry paths.

This fixes a fatal #GP (non-canonical memory reference) when trying to enter
the crash kernel.

Fixes: 9c20d3c5915d ("x86/IDT: Make idt_tables[] be per_cpu(idt)")
Reported-by: Lin Liu <Lin.Liu01@citrix.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: Teddy Astie <teddy.astie@vates.tech>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Lin Liu <Lin.Liu01@citrix.com>

The fix here is a bit ugly.  nmi_shootdown_cpus() uses the cpu_online_map but
this is wrong too; it misses parked CPUs, which do want to be captured.

For 4.22.  This is the minimal fix to stop systems crashing, but more work is
needed to make this path fully robust.
---
 xen/arch/x86/machine_kexec.c | 8 +++++++-
 xen/common/percpu.c          | 1 -
 xen/include/xen/percpu.h     | 1 +
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/machine_kexec.c b/xen/arch/x86/machine_kexec.c
index f921eec5aae6..0f5437cb65cc 100644
--- a/xen/arch/x86/machine_kexec.c
+++ b/xen/arch/x86/machine_kexec.c
@@ -18,6 +18,7 @@
 #include <xen/domain_page.h>
 #include <xen/elfstructs.h>
 #include <xen/kexec.h>
+#include <xen/percpu.h>
 #include <xen/types.h>
 
 #include <asm/fixmap.h>
@@ -171,7 +172,12 @@ void machine_kexec(struct kexec_image *image)
      */
     for ( i = 0; i < nr_cpu_ids; i++ )
     {
-        idt_entry_t *idt = per_cpu(idt, i);
+        idt_entry_t *idt;
+
+        if ( __per_cpu_offset[i] == INVALID_PERCPU_AREA )
+            continue;
+
+        idt = per_cpu(idt, i);
 
         if ( !idt )
             continue;
diff --git a/xen/common/percpu.c b/xen/common/percpu.c
index cdd70acbeaf3..f180f37253ed 100644
--- a/xen/common/percpu.c
+++ b/xen/common/percpu.c
@@ -13,7 +13,6 @@
 
 #define PERCPU_ORDER get_order_from_bytes(__per_cpu_data_end - __per_cpu_start)
 
-extern char __per_cpu_start[];
 extern const char __per_cpu_data_end[];
 
 unsigned long __read_mostly __per_cpu_offset[NR_CPUS];
diff --git a/xen/include/xen/percpu.h b/xen/include/xen/percpu.h
index fcf2095bd543..30609f49f0b3 100644
--- a/xen/include/xen/percpu.h
+++ b/xen/include/xen/percpu.h
@@ -43,6 +43,7 @@
 #endif
 
 extern unsigned long __per_cpu_offset[];
+extern char __per_cpu_start[];
 
 #define per_cpu(var, cpu)  \
     (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))

base-commit: 6a21252a742ec021a814e124b88d273da37065db
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Jun 22 17:26:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 17:26:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344029.1603216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbiPk-0003uv-A8; Mon, 22 Jun 2026 17:26:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344029.1603216; Mon, 22 Jun 2026 17: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 1wbiPk-0003uo-64; Mon, 22 Jun 2026 17:26:28 +0000
Received: by outflank-mailman (input) for mailman id 1344029;
 Mon, 22 Jun 2026 17:26:27 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wbiPj-0003ui-40
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 17:26:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbiPh-00FUr0-Qs
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 19:26:25 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a39702b-5cb7-0a2a0a5109dd-0a2a4506b082-22
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 19:26:25 +0200
Received: from [40.107.201.26]
 (helo=CH4PR04CU002.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a397040-b690-0a2a45060019-286bc91ae968-3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 19:26:25 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DS7PR03MB8102.namprd03.prod.outlook.com (2603:10b6:8:24f::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.19; Mon, 22 Jun
 2026 17:26:20 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.018; Mon, 22 Jun 2026
 17:26:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=w3oMPRX0YheuJyEZel3YkROSRVW3ZSjweeVcJbuUJ9Ot6ct75eaI7PyHBQUmkUeVChqKZPhu3JUcqHC6m/t9CVzkBN/WQXMGgzUsP0Qvq6e6GqvJhWVuJJimG2QjoBTdW7EAjuB35GTk79u1ekPlK8qsGLB/Deo4UVKaI0gq00N1mue5H2gZ337+g/m4GjRJXcM+ybTj4JI7fa9XRD2q1Jav3RoEFcykB0oEJQ2dVrOu4My8JbCA5JYUbXd6Vb6bAihaFmKLpxhHQrofE/jqgrsjmB2FjJdqQU5IjlLCZOjvuAoCbfS5nsUuOVY5VmMNNN9rfU4bBXTQ/ziIIiU3rQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-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/jc4M3A8TJY3hAJ2SMrydDRuixvNASrQ9KkY9xW6ZQ=;
 b=Y2j9C3wp8PCui7l2YVJ7NoCYV0+hvdWCKVDYLmK4Bs7vWVP99ColgBrY3WLqLJpV5SXazwlrz2RR/6gIxf3g3OkmwFG7FMC8SO6uY1bhTJRwQxTj7SyFhO5EruhW8H8N89KpAQooHw4LypsKwn/rXTCSo/cvZtP7ukMBkaw0fuPp8kn5qX5MngnhMOz9Y2YajdtwGArLQ1y/ljs1ItgeXoCY0HkPyY/bmYtKs6fixYMsbng5R0TugKCggd8juvEprfJIEg9XE6pl7Ran2uAWn4T0GttpzzecvO5lI3zuGhJETuk2odK0sAWD4+8jHcm5hiX743iQ+xXcEI9NkJ9NpQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=H/jc4M3A8TJY3hAJ2SMrydDRuixvNASrQ9KkY9xW6ZQ=;
 b=QruZP+eslj5Q1unGBNx6F9Yr1G1EXu+JLiOVPxLj4SAAFL2bggmB9px4UCwHb4eoI4U9meVuFPica7eyE/4j2Zdb1ySYPNoUjLb/pITg7LUM0lnDTl3oBwGfoN+aoqpuabJSKFkEVGx9hRFDysNrgKFdfZYQrDJlnPsS/NbN+j8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <80b43806-7be5-4310-9568-c2df4887c52a@citrix.com>
Date: Mon, 22 Jun 2026 18:26:16 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
Subject: Re: [PATCH for-4.22 0/4] x86/kexec: Improvements for FRED
To: xen-devel <xen-devel@lists.xenproject.org>
References: <20260319122549.922724-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: <20260319122549.922724-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0035.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:151::22) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DS7PR03MB8102:EE_
X-MS-Office365-Filtering-Correlation-Id: a7b7b783-21a8-4cf0-7738-08ded0835fab
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|23010399003|11063799006|56012099006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	VHdpnTPelOWq5phOxV75cG8d3rnQwyppq0QoM2B9305gU1cgE9nH6BgrJvdBQK2bUQZc7bmuJrk4y6NaugD5fYdlMQPab+R5wqhfJyg8l7gai1bzYi3hZ93RfuhKjxmKZ/Ua/DcZ7uQEss9r2tY+vDbj+IuwGZdPkXY5cd8+FuXExVwyp9IXsaq3KUjNc9jShOGdjJJdytP5rK/zjyVHfLIZez9efiNT4G2rWCrIkHuRIrUiujoIMUPJyY8947qxHUTXsAmAqyXDHLZdo9qYMtPl+lmy5Kucgq6hIZ9DQUbR7UzEprGoIFqYMCGWKTY2knpWZia92Bf5RyimGhYoW/7tm/1gRM1DsM015yoDRKoiYjw5HgqVto6RdH7NRCn1ASVeKRk9goGDwNdmanI2kuCDrqEPf9jO00rq3pQi5S8y0JEv0I5abCi8gAIb0P1yiSwStBAlTlI44/yot65WgJG3G68o4JAa83jjxgP17gE3B7DlIxn6zzoAGbL/mzFgyWf2LQjTfm2KUZZDc+Fn7jTMh+eahEh4jQLod/rdHND0BBH5wy0N5113+fD7+MpjiZzdWd4u8JmVTBtSaFkUTO2OSRR5+EEJiyUyEiSG3Z3b4DsNlH+qRWa0wTByvfglsc9dZ+yW1vpnVMXroC+ZWpBjqRLfmO+i1NYcc+GWCWo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(23010399003)(11063799006)(56012099006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WFNFQXBWWWtaejcxaVBqVDFlK3M4d3hUWHI4dzhpV09oa0d5OUZhUHRXSUIy?=
 =?utf-8?B?bnJiR3o3Y2lteDVvY1orM29jWHpUTm9iRUtXbGZ5Rll0czRDT3hTR1ZvNGwx?=
 =?utf-8?B?OXUrKzdqNDNKV1hMa0JMb1lkTDllMEY0VTdMNEpsYUhCQzUyeEFtbjhmN3ZJ?=
 =?utf-8?B?WGJSRHNMdzh4RWtmSmlwMWdoYjFhNjRIZDhJQzFDaUR0aWM2c1JvOGhDY3lH?=
 =?utf-8?B?dEpPUHk2ZTNhSVFkSDh0aXZ5UDFMZThvTS8reGpZU1RyMERCQXcydVR2ZkRj?=
 =?utf-8?B?RUd6MHJ3ZEk3cllnK1pYVnRvOXEyQnRPdUFZSHhMZVNYM2FOT25ReGo3dnRN?=
 =?utf-8?B?K2dBeHhzR0tKYlNIU0FYTUx5RUZIRVorQ2lYenRidmR0ZHJveVgyNlpRaEZ5?=
 =?utf-8?B?L0U4alVGby9vSmd6WVprak9aRC9aQ0poL29KSmc4d3dwNElpNit4SlhuR3BV?=
 =?utf-8?B?SzRsQUpkTk1vNzgxQ1o2cURHNGU3djVYN0lVOHNNeHI2L1BYVHFiUTk0cXFI?=
 =?utf-8?B?K3FlTm11UldkRFBVNURZTEIxZmtKQlB6K05ic3dQNi9wRVBTdEh3SUY5T2ZX?=
 =?utf-8?B?QmpYN3BUM2NBMHBwelhNcHpEOXRzK2lMS2tEWnFnS2V4QjRXMnpSQmtFSWtx?=
 =?utf-8?B?RjZKbG9QRThiWWhMTFRFRnorM0svckV6SVp4UFJyYWN4TzRyZm5lZis0OG1j?=
 =?utf-8?B?TVc5QnpLcmYzUzQrWUVhSE85MWtUSGlxYmQyM0hhWEtqZzV2ckRLTEhNempm?=
 =?utf-8?B?MmZqSGFXS2xVWFVxN0ErUmd2YlM5YTB5VXMyOUZTdFp2YzZuNTVSUzVZMlMv?=
 =?utf-8?B?TDhacisrTDJYZndZcWFReFlKdTdsaTRkdDVDMS9Nd0RBb3ZySG1wMjFBZzRI?=
 =?utf-8?B?V2Jvd3ZFVklaMzJSbkgzM0QxdHgwVXIvWkRlT3V4ZmFtR1Z3QmZGaWhrT0Zm?=
 =?utf-8?B?T1hYRGc3UG1YQ1l5cEtySkVSaHoyZmx0N2RZcGFDVDdwSjBiL25lZm9iVzF4?=
 =?utf-8?B?cnd1QUFFeEg0QU54RkVBRFVCUnovOXBrajUxZFVFVGtuaklQZGduYmc4S1BH?=
 =?utf-8?B?M1RxRU4rby9RWVRGRHEzd3lNMWFQcGFJV2FKVndGVWJNMk1xaloxSzRNTm5Y?=
 =?utf-8?B?aUNIenNCU3c3aFhNaXBQSW1KQ1NuSE9wL0xMUXRwSG9EdlJVN1kzdWRRTjdw?=
 =?utf-8?B?NnZHUDZqdldvNHZITUh1T0FLM0taVFprYnBBaXFOQWtoMzFmektJT0loS0I3?=
 =?utf-8?B?S1BNVHBtZ2Jqczk5OWdFVG5ncVhISXc2UVpyd0FmajhFNkRURC91N08xelR6?=
 =?utf-8?B?WmxvYnZCQ1I2UXNCS2xhTFFWVGFycEtvejFkYlA5VFRTbTBmM2lkV1g2Y2x0?=
 =?utf-8?B?dExERFNtVERyMjZuUDJLMzI5dXExVFkvMWRuaXV1RHRHbFFMYnZ6NTBaS0Nj?=
 =?utf-8?B?RkxvdnZRelZPc29RUWpNTmhYQzY0NmJ5Z3lickRkUVhqangySVluNVRRaDVs?=
 =?utf-8?B?emQzREZlVXBjWGhHNk1qSEIyRXN2L3YxQXVWWUlqQkE4dUZMeXBIU0JYbGdB?=
 =?utf-8?B?dDlUWXZ6dVZ6TmZ2L2VGRHUzTHJOQjh2OXRVdmtneUJXYUNQc1dPSStpekVz?=
 =?utf-8?B?Y3REekdPSE1HTFZTOXVaV2ZnaUZITkg3NFZVbU5FN0hqOXpJYTFLaktPRXNz?=
 =?utf-8?B?OWU3K0Y0TWdjR1VZTUwybXNYREJpWDlleDNNMXA0RlpaN2IzaUtOaE5qbWh4?=
 =?utf-8?B?ZHFOejBCK2hiVEQ1SXRROFFvaFBiNFJiZG9paTZ2WHBVM0ZzVk1aSXVCM0Vr?=
 =?utf-8?B?SEtKby9yMC9zYmE3UnBvRHFSZk5nRzErcE40U3hCWUlaaFVvN3dBSE9DSldv?=
 =?utf-8?B?WkExN1NsOVdMNmtrMzBJSEFlTVpHT0VscXpJclErM2dIQUZBdHhwSHBLZFZT?=
 =?utf-8?B?blRvK2FKWWRjNnlocXh3Z1RYQWcvMFR2cGZMWlFUbTJMZ2ZOS0ZUSjFEWGM3?=
 =?utf-8?B?Mkx6OEZFSzNpbkpHL0ZMSEpSVjUvektlNyt2ckxPdk90L3l1ZFpzTkZrTU1k?=
 =?utf-8?B?Z0xuUmRLcnYvRk1vVGQxUDNlL21HOHFLN0ovckQvK1FxWkN6OGtLSW9zSnpW?=
 =?utf-8?B?UkZvRXZldTBxVXRrZlV5WW84YlA0OUJxUHlISjFFK3UwNllyb0kva1lpT3FI?=
 =?utf-8?B?OHlXT2haVGcxalZ4SXlZaUZMQXBPTkZVbDA4VVFNWEpLSDNuOGl6SVhoUncz?=
 =?utf-8?B?Q3creDhBYXZGWU94WklkQnpud1BYYlpSaER0bXZBTTM5QjN3WjFRUElTcTRx?=
 =?utf-8?B?YjlydEpKMFg1cjFlWTBBZElzRW5pcHdyL3RYcWwvUFZhY0RIS0dCdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a7b7b783-21a8-4cf0-7738-08ded0835fab
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2026 17:26:19.9463
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xGBFjWyE/9ihec/6LJKSvqv35O6zOAGRSIN88JOBm9wpE0wj5ZPUXiyTsLQ/lBJA8JlB1/TW+YgR7iGa1aRY829xz489aPqdvQ1EcZ28ttw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB8102
X-purgate-ID: tlsNG-16d1c6/1782149185-3A7EB853-CBDE15B6/0/0
X-purgate-type: clean
X-purgate-size: 985

On 19/03/2026 12:25 pm, Andrew Cooper wrote:
> Kexec with FRED happens to already function.
>
> Looking at the logic, several unsafe actions are occuring.  Fix the worst of
> them.
>
> Andrew Cooper (4):
>   x86/kexec: Stop hooking NMIs with trap_nop()
>   x86/kexec: Fix and expands comments for kexec_reloc()
>   x86/kexec: Invalidate the IDT earlier in kexec_reloc()
>   x86/kexec: Disable FRED earlier in kexec_reloc()
>
>  xen/arch/x86/crash.c              | 20 +++++-----
>  xen/arch/x86/x86_64/kexec_reloc.S | 62 ++++++++++++++++++++++---------
>  2 files changed, 55 insertions(+), 27 deletions(-)
>

This is fully reviewed/acked but fell through the cracks an I didn't get
it committed in time.Â  Sorry.

Please could I request a release ack?

Now that FRED is active by default on AMD hardware in 4.22, a poorly
timed NMI will break transitioning into the crash environment.Â  i.e.
it's fixing a corner-case bug in a new feature for 4.22.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jun 22 18:36:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Jun 2026 18:36:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344056.1603223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbjVJ-0005Fk-0R; Mon, 22 Jun 2026 18:36:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344056.1603223; Mon, 22 Jun 2026 18: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 1wbjVI-0005Fd-To; Mon, 22 Jun 2026 18:36:16 +0000
Received: by outflank-mailman (input) for mailman id 1344056;
 Mon, 22 Jun 2026 18:36:16 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wbjVI-0005FX-2j
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 18:36:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbjVG-00EUBj-MS
 for xen-devel@lists.xenproject.org; Mon, 22 Jun 2026 20:36:14 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a398087-2eae-0a2a0a5409dd-0a2a45018446-18
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 20:36:14 +0200
Received: from [40.107.201.63]
 (helo=CH4PR04CU002.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a39809c-e031-0a2a45010019-286bc93f2910-4
 for <xen-devel@lists.xenproject.org>; Mon, 22 Jun 2026 20:36:13 +0200
Received: from CH0PR04CA0093.namprd04.prod.outlook.com (2603:10b6:610:75::8)
 by PH8PR12MB8431.namprd12.prod.outlook.com (2603:10b6:510:25a::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Mon, 22 Jun
 2026 18:36:05 +0000
Received: from DM2PEPF00003FC8.namprd04.prod.outlook.com
 (2603:10b6:610:75:cafe::46) by CH0PR04CA0093.outlook.office365.com
 (2603:10b6:610:75::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.20 via Frontend Transport; Mon,
 22 Jun 2026 18:36:05 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 DM2PEPF00003FC8.mail.protection.outlook.com (10.167.23.26) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.159.10 via Frontend Transport; Mon, 22 Jun 2026 18:36:04 +0000
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 22 Jun
 2026 13:36:04 -0500
Received: from [172.21.102.169] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Mon, 22 Jun 2026 13:36: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Mmfqm9/4XMVBx1qM8lpI2/9Y0lv73XygAoW1hiBaqtODivsgKSwjHjwUKdrfL+5yiiOXrptQdvgbqoMMrSj7wZET2pTk5beFNBlVYiIZX7EcNq2Y5Nsvk+z+qL45LbELO6tdYOzznNbMX6990wS23hnx11tQLX/0HfVU8qXDW3Jhtx7di/ciFIy7Zrn8aFqoUMwo7dIYe1J8EezLj2BGTAYzC2k1bhC+uEDf6TR63RBwdoCbIgaT//8Uav13C+bmspiVzdDxBI7U8g+UonZXpw65ec6oRqnA4CULDY95HIAmwWey4Cmp05ZBL+eYwx83CT307L3zQE9H7WSvSQB0Og==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YRJ67r+uKd8g3cHtLnTWI90pwQLWaq2FeZm/u4AFxts=;
 b=qhPCzgSh74JigZIoiXm+6CnVQUDBpeUCz7h22g90XAZ1e8Y9k4254UtWhdIXZhovQiVjKf8aIyWxwMVqyNPnULbgrAouF+pXazQ7CxB3+o3JFCuvIe8vw3TdAVKOUuiAELpQcAdQNAJe0cRSig94WFUVBGnv+m4yiCoHdCApaRk5HBUgJcEU1YZR8fK2TKXLdoCsAcTXbCUL5sTBC1UKMymLHztK3oxhSGlNj6EhnvfEyM4VuUjwUYi9A9fkm0k/Q2tSUlE4NEpobj5eXcnY5V4qNbNwvTODMhowFLo7pmlPic9mdriaOlIaWee4sIY1eJBBK5kj8z7Nl8fZEBPnCg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=vates.tech smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YRJ67r+uKd8g3cHtLnTWI90pwQLWaq2FeZm/u4AFxts=;
 b=hyBKX/1l+jyynxj9jokIns9SCUf8c8zLrF0iO2iTmhGmd68Cs1jlpgCV8F7B9sOd9SDXcfmwRGH3oHV3w6xQ2pqc41WhvoH493IYKjT3h7IPs4UR4hNX01p/XnPBpyDWpGr2sV15rJdLL0fqci6lWabDRjUimMEqfX4E0BPYhFA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <33b832ed-95a6-4f7b-8bc0-12c72b9095c0@amd.com>
Date: Mon, 22 Jun 2026 14:36:03 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 04/15] pci: Parse into pci_sbdf_t directly
To: Teddy Astie <teddy.astie@vates.tech>, <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>, Jan Beulich
	<jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Stefano Stabellini
	<sstabellini@kernel.org>
References: <cover.1781790171.git.teddy.astie@vates.tech>
 <1781794553.8631fc262581453bbf619ec5b2062170.19edb3b3cc5000701b@vates.tech>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <1781794553.8631fc262581453bbf619ec5b2062170.19edb3b3cc5000701b@vates.tech>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM2PEPF00003FC8:EE_|PH8PR12MB8431:EE_
X-MS-Office365-Filtering-Correlation-Id: 621f99f2-00a1-4688-6b80-08ded08d1e17
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700016|82310400026|376014|23010399003|1800799024|56012099006|18002099003|22082099003|4143699003|11063799006|5023799004;
X-Microsoft-Antispam-Message-Info:
	3/Ud8h4wVuKayPAuOEUjvHoOUxaYkCUkeqXMyz4ax4/Ij4pcNJRToh62hkUeB8/ORKyPMV/5VsoCPpmDp5LJw/fiThpVUQGPy4vhwiOZNlQM65XDvqAxrFNv3MgiEWd5qv2GzSY+fFuWKk16XBeAtb7y2X3jLzJf1xH5PwIi5okolrR0TaXKij4mrVvReKyvbgj/thBg33xmXjPdLEupwWIRWuiIddIjTn3vWeftHyTPp6FFp2wG/Za2ycE0ACd2Q/NTRQsrmnjKYTs5qI1fq63bz9f1502RNHq7oQHqFK+VgyK3NOk71Wtvm6OA3iIdgK7gpwXiFayNIh8z1KKNfKcZ6BL5wHqw9a6UxY9jBiKNtHSQoYo6OVnegqlBtOEWvjphA6oHu/WpQ/tY8tCwP7UAfaGothSDCSAayyHQM4dLQ5s4P7XSFbDL3dx2upigRnc9ON8TEJFq7qMc1qMdVtmnK/BvIPoz5IGVAq2/IEPPLDTmmZ+6Yf5OJyPH8C82ewUfHeWDjW4NQdAMtwS1GoPNdk67A2/Fnm3L5tbzKc3BpxYQjA7gcV4QEEyVfG5kQHw6GHGhVwa7huk6nVqblXjx0B5njUwgKjxYlSU77ECY7YZldQvdE78yDYLfeWgEGRlfi+SYlDzfbopliE11+o5HFwEsoAgLqbt1MeEvQCuS7wBoqnUcw+sQu1CxmQmruunsAMjljtxl0+u5F0AfaQ==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(82310400026)(376014)(23010399003)(1800799024)(56012099006)(18002099003)(22082099003)(4143699003)(11063799006)(5023799004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	5ZfEtqfGvldcudwWsteRuJ6tcJEk1b81BplX8+w5CtNMGoOdABzRSkIMdsOogDPLGjG4rgqHnqFccJv8h3IKrAfBrsq09n/o5wyYAmpumbrRdznkC1Q43J4JhXwpXaARofpLIwxYzU/Fy/TPo3jbqXBornYNN5ghVgTO+/oOY3AbhfkENht0bBTiv0ZnfP7SVH708JdBvJ6Q/lwUgWZN3BeTWVwZ0ptpS3p8vNpjCjdxqgmiG4zd1Oa3QSsGv7Zhw9Mk1YVzXvzr4vZuzHaWOfsKC0UGhGN6M5kVd2I8FG7istPM/sWkBQpjcwmWka2QeMWZTF7RKLQgvI1qnpNbKGFayD1vZTz83MaxdGdlIwz1FBI0gg0tYnNKOl29T0UDr/rndO7qiljpCJZSU/4N0MPigLLnXsMzaNw42BKomzatorpueKH8J96HKgBk3YYM
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2026 18:36:04.6194
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 621f99f2-00a1-4688-6b80-08ded08d1e17
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM2PEPF00003FC8.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB8431
X-purgate-ID: tlsNG-d62444/1782153374-CE5AFE30-EFCDA3A2/0/0
X-purgate-type: clean
X-purgate-size: 2873

On 2026-06-18 10:50, Teddy Astie wrote:
> Use the newly introduced parse_pci_sbdf() and parse_pci_sbdf_seg() in order
> to parse into a pci_sbdf_t directly instead of reconstructing it afterward.
> 
> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
> ---
>   xen/drivers/char/ns16550.c               | 24 +++++++++++-----------
>   xen/drivers/char/xhci-dbc.c              |  6 +++---
>   xen/drivers/passthrough/amd/iommu_acpi.c | 26 ++++++++++++------------
>   xen/drivers/passthrough/vtd/dmar.c       |  7 +++----
>   4 files changed, 31 insertions(+), 32 deletions(-)
> 
> diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
> index 878da27f2e..fa2d0e5991 100644
> --- a/xen/drivers/char/ns16550.c
> +++ b/xen/drivers/char/ns16550.c
> @@ -1572,22 +1572,22 @@ static bool __init parse_positional(struct ns16550 *uart, char **str)
>   #ifdef CONFIG_HAS_PCI
>       if ( *conf == ',' && *++conf != ',' )
>       {
> -        unsigned int b, d, f;
> +        pci_sbdf_t sbdf;
>   
> -        conf = parse_pci(conf, NULL, &b, &d, &f);
> +        conf = parse_pci_sbdf(conf, &sbdf);
>           if ( !conf )
>               PARSE_ERR_RET("Bad port PCI coordinates");
> -        uart->pci_device = PCI_SBDF(0, b, d, f);
> +        uart->pci_device = sbdf;

You could parse directly into uart->pci_device (for example)

     conf = parse_pci_sbdf(conf, &uart->pci_device);

and that would eliminate a lot of the temporary sbdf variables.  But to 
do that, you'd want to change parse_pci_sbdf() to only write the sbdf if 
returning non-NULL.  Not strictly necessary, but it seems safer that way.

>           uart->ps_bdf_enable = true;
>       }
>   
>       if ( *conf == ',' && *++conf != ',' )
>       {
> -        unsigned int b, d, f;
> +        pci_sbdf_t sbdf;
>   
> -        if ( !parse_pci(conf, NULL, &b, &d, &f) )
> +        if ( !parse_pci_sbdf(conf, &sbdf) )
>               PARSE_ERR_RET("Bad bridge PCI coordinates");
> -        uart->pci_bridge = PCI_SBDF(0, b, d, f);
> +        uart->pci_bridge = sbdf;
>           uart->pb_bdf_enable = true;
>       }
>   #endif

> diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
> index 61269c7e0d..2dd362410e 100644
> --- a/xen/drivers/passthrough/vtd/dmar.c
> +++ b/xen/drivers/passthrough/vtd/dmar.c
> @@ -1216,7 +1216,7 @@ static int __init cf_check parse_rmrr_param(const char *str)
>           do {
>               bool def_seg = false;
>   
> -            stmp = parse_pci_seg(s + 1, &seg, &bus, &dev, &func, &def_seg);
> +            stmp = parse_pci_sbdf_seg(s + 1, &sbdf, &def_seg);

Andrew already pointed out that sbdf is introduced in patch 3 when it 
should be introduced in this patch.

Regards,
Jason

>               if ( !stmp )
>                   return -EINVAL;
>   


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 07:38:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 07:38:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344098.1603233 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbvi8-0008JZ-M8; Tue, 23 Jun 2026 07:38:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344098.1603233; Tue, 23 Jun 2026 07: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 1wbvi8-0008JS-JJ; Tue, 23 Jun 2026 07:38:20 +0000
Received: by outflank-mailman (input) for mailman id 1344098;
 Tue, 23 Jun 2026 07:38:18 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wbvi6-0008JJ-LI
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 07:38:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbvi4-008yy9-MR
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 09:38:16 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a37e0-e002-0a2a0a5209dd-0a2a4508ec3e-14
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 09:38:16 +0200
Received: from [209.85.221.51] (helo=mail-wr1-f51.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a37e8-9ee7-0a2a45080019-d155dd33a5da-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 09:38:16 +0200
Received: by mail-wr1-f51.google.com with SMTP id
 ffacd0b85a97d-4629051c946so463607f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 00: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-46666788302sm29219705f8f.20.2026.06.23.00.38.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Jun 2026 00:38: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782200296; x=1782805096; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=1JKxJy6imkEXzhQowX/sDEJimum+Ir5Lisn9D9Tqpmw=;
        b=Ujp5Cf6i2yPaaYRWLpyepPLi1ASD93t/vhgxQ9skFAJtx9FKnLWXZes1Ak0bEngdsd
         2Bs9+nPAZ+pALoY+QmRQOciDr93JXwaiqM+r8k57hxBrtPEHeGkl0fJZn3DeYIiVqVHN
         DCsUByLHbzKZRIudsybffwVLZomn2aopG5pVBLmqqb55diBA4Y8fmlfwQ2kKp65haUbo
         eVfIBGOC6R1Zj0TspiNjDNmY+5xm7HK/+TtjQmNsIphGzZChazwGpBrwxLb2VU3RvepU
         hYVxUv0dTAzhNMLf15ibD2KJ9WfXS8JunCqKKtrBqzWLtEgYJzCv1x/tEthPDyeyKASc
         /7IQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782200296; x=1782805096;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1JKxJy6imkEXzhQowX/sDEJimum+Ir5Lisn9D9Tqpmw=;
        b=G1yUjsgShvepbKQw7f4Or2XOMMqa5h0u5FJ/kqWdA0l2ptwrh5Hyr0AMWM/lBEeUKQ
         PP0HVcOVwt68hYgDUaAhdy5D3PjmcoMo3SR+GVfp+eSnSjwKymoJLr/XNOU6W9VH42mW
         KewvNV+r3jGQXJA//Sh5vrCrlICroWP+3uO41WKngmc1SNHmnD5wwxy8FdEO4R2UZDKc
         iPX4IPlMMaBch/RNjmvRrmx+FWcLUPsNwFWfYyuLNUU/oHd01L7RBXZDL0UAefQog6No
         L86sBbT8Kofu4E7NSxqpc3VRuFtKpesy3ndrx/LlVj5Aq5oceT1QQF/dafDZIk/eeqzk
         hDtA==
X-Forwarded-Encrypted: i=1; AHgh+Rr2fJ5BUbeJwec2pNj8ZUtYZkvsByMzRve3VDSe8KvzgkQVWF8iFF3eXpU8Vlx3JfjBTVG3Pb7qYBc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwCA9NN9XVCb9DhMceryDifvtPhwbH+FM7a188hZPdcLvmSaRDr
	KVVIeJzZFVUMVc0RVkRQ0VNG1B+9w7AqMmqK8k7LX4RyKvRsR8qWl01XTNDRDbrYJg==
X-Gm-Gg: AfdE7cmnSP7s7s2Yk2K0CLGDi9YguIfRCuv4NJMzmPOz2RriVYoagTLOVcscl6jSZj+
	aDxt+LETP6b3LGtroqu9n6cdAr25+UodUFKMRUKOtBPK6ZojFeA7avhBc6d/Qcny8Wwzo5GLAy4
	J37YBXg3nvm3o2i8/0awWpTTz43Ahhbuu2Cj9rI2kEbpquRYW4c9O1LVvnoiM2nQdnlGF/Q7zrZ
	QC43FYJgUTD/EfZE1BnotvKw4jPcP1RJaSBiWZJs+1iaTM31RSPFDgtcyCKc0a2/kniPcmdLoeG
	9Ogkd3NJsD3KxezHMjKJqahNFzIzZY4NZB7euTNPiLkW9APBD33MUpzfeFMjlgG7d9XoSlryG5l
	X6bpUy8NJMwyCwDsrltP5mXW3lYRhgdL1P2+lMiaaGPCLBJbCW7PS2R+sUiL+ny6KawSeZ992pq
	q/Ubmpzksimyv1WqMuN70RentkdroU1tFedSNd6Eq8o0hfAmx7+jNUw0YZpCzD9z6k0odu/FYIg
	REz
X-Received: by 2002:a05:6000:26d1:b0:464:1462:227c with SMTP id ffacd0b85a97d-46a7f578300mr3811933f8f.13.1782200295810;
        Tue, 23 Jun 2026 00:38:15 -0700 (PDT)
Message-ID: <a221a500-d399-45c4-b333-99e119d40dd6@suse.com>
Date: Tue, 23 Jun 2026 09:38:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] x86/kexec: Check for a good per-cpu area before
 accessing IDTs
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Lin Liu <Lin.Liu01@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260622172054.504778-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: <20260622172054.504778-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c1860d/1782200296-5D9F20FA-FFD2B664/0/0
X-purgate-type: clean
X-purgate-size: 1602

On 22.06.2026 19:20, Andrew Cooper wrote:
> Prior to commit 9c20d3c5915d ("x86/IDT: Make idt_tables[] be per_cpu(idt)"),
> the global idt_tables[] was always safe to use for CPUs in any state.
> 
> However, not-yet-onlined CPUs (e.g. MADT with more entries than exist in
> practice) or offlined CPUs (e.g. xen-hptool) have their per-cpu pointer
> poisoned to detect incorrect uses.  machine_kexec() trips over the posion when
> clobbering #MC entry paths.
> 
> This fixes a fatal #GP (non-canonical memory reference) when trying to enter
> the crash kernel.
> 
> Fixes: 9c20d3c5915d ("x86/IDT: Make idt_tables[] be per_cpu(idt)")
> Reported-by: Lin Liu <Lin.Liu01@citrix.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
albeit preferably, because of ...

> The fix here is a bit ugly.  nmi_shootdown_cpus() uses the cpu_online_map but
> this is wrong too; it misses parked CPUs, which do want to be captured.

... this, ...

> @@ -171,7 +172,12 @@ void machine_kexec(struct kexec_image *image)
>       */
>      for ( i = 0; i < nr_cpu_ids; i++ )
>      {
> -        idt_entry_t *idt = per_cpu(idt, i);
> +        idt_entry_t *idt;
> +
> +        if ( __per_cpu_offset[i] == INVALID_PERCPU_AREA )
> +            continue;
> +
> +        idt = per_cpu(idt, i);
>  
>          if ( !idt )
>              continue;

... with the comment ahead of the for() also adjusted to at least briefly
mention why cpu_online() cannot be used, and why hence this (seemingly)
awkward check is needed instead.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 07:43:13 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 07:43:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344105.1603243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbvmq-0001R0-6Y; Tue, 23 Jun 2026 07:43:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344105.1603243; Tue, 23 Jun 2026 07: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 1wbvmq-0001Qt-2x; Tue, 23 Jun 2026 07:43:12 +0000
Received: by outflank-mailman (input) for mailman id 1344105;
 Tue, 23 Jun 2026 07:43:10 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wbvmo-0001Qj-Sv
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 07:43:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbvmo-00AjFC-18
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 09:43:10 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a390a-bab6-0a2a0a5309dd-0a2a4503ad22-12
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 09:43:09 +0200
Received: from [209.85.128.47] (helo=mail-wm1-f47.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a390d-a3da-0a2a45030019-d155802fb4c7-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 09:43:09 +0200
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-4908b92904fso75171505e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 00:43: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-4923ff821aasm377578835e9.12.2026.06.23.00.43.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Jun 2026 00:43: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782200589; x=1782805389; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=GCQ83ubdmpqwR1LY7AAtKI1i1qFv1QD7XYSrRos9Mgg=;
        b=BHhSv3kiCj0+rUWBcNEvkGtiuFfqEIdRs1Zgts+1L8EFRRSw2BvfcalDw1E8OIu1vL
         cN5i2lh/rCtb1+Cac67ytS44uu8Jck70tSMywgLZuDynPjptN4qTnHmnggpO8lN6qtpN
         GHiL1MxzcZQzJLjUHoDmNdTozNGfuq0g9kTLJrs0/iuf6xEZARIvyCV4UFlND7I26ZCA
         EBYo/nNHuZThnuPd5Bvwz5JeswK0Mz2ceAq3E9uSo4fUqoHjccpj2X4L2pJyfSQH2+O5
         Pyu8SSdbPYB8hdblNfBvsdUdLQEOZOtjzFH78CrpyyWJp2caUo6/Xa0UPadryulhXOnQ
         b43g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782200589; x=1782805389;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GCQ83ubdmpqwR1LY7AAtKI1i1qFv1QD7XYSrRos9Mgg=;
        b=sbg6y3V086toy2cmvhUahc/UAlRr7OSiwB0kzwZRo6kqQtdEPRX7IvICGrcbM1GRLb
         7WlLUIXzNUhRlLiqH8FxNHeRRzq5GX4HH+WhwzMCigqAhCIoYVqIXMa7J7yoljqSIPof
         VZBuYi9MgDwWdB6fm/Y7aptKDw+rcCCR1oWYlJyomEXeYRzm+qfn0r2cqVDHIZW8Z2zq
         v7ukS8Ca+94x54Q2DACssK2cbprcSPTi5wH98fQWYl+agqa62J6ndEgTU6eTA/KeK4se
         LMGvzg3gazzVqECpX3jKdrkstOHWd2c51NtgK+1s9StO1Eyb5gfvc/ubGVMSJTO1TXMX
         9amQ==
X-Forwarded-Encrypted: i=1; AFNElJ/0GledOno8NZJeZjMikuDFdJ1ydH1KSlX2XdxcN1VY8QzS7I6VgQgSgrU//pxUWIwJT/EcKIbWxpU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx7OW9urqmot5IBBkm5vKpw52LpKPPn8bRmQynXYcf1RASIDgNE
	o8YLlHc8te8qLvhYrn/fJ/niCBqFRROPJ7JKjmTXNu51KLEyFGsB9BI26aoboiyRYw==
X-Gm-Gg: AfdE7clEQN6XJMN10g450bDwhQln7wn03JSr7mXMR8i8yvK++UEsvQDhwKnOWBr+iS/
	XoSJSLydhgSDkH7ajb+v47cdG9jwYMO67cWpoJafSRCyNMmpSJvifFY2n3A2ctoi9m9rVccEGdj
	xdUG0maetDOVc+jXPvl+OGgrUPVd26RGGcnOLUtblSInGb0BJTaIAn+w/SqXplCgWf9I3Qi4aLO
	TnUXjZEUCOUQ80FWaXGxXwk9NLn1wiI8Ecy1UBPpRChxgFsj2ihIUTDKQHlt+s1EVYLT287f4fs
	MbRFeQ38+iBQgxHi3gMIL82LFkpvC3ceoDMo1DqAvbkWkagBejTWmLgx2GRqYV4HaLKeN/nDZhx
	LMhtJzsSmwHEtbyjiaFVBXbrxAq19AVv/3AF+u3LQngOlO6lEYZ/u59+iQUWEGFgKMNhMDUjzpb
	E+PyE68xQnTJCOFC2/Lph6UzA/dieSoeYTupxQY3ZPVatn4wnOE7E8/aSTdhHRGuJ4U/MWp4X9H
	jVU
X-Received: by 2002:a05:600c:1f85:b0:490:e190:38f3 with SMTP id 5b1f17b1804b1-4925b37ee0dmr20515395e9.21.1782200589416;
        Tue, 23 Jun 2026 00:43:09 -0700 (PDT)
Message-ID: <7a011d9f-0989-43c1-907c-fb5798aa60af@suse.com>
Date: Tue, 23 Jun 2026 09:43:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Ping: [PATCH for-4.22?] x86/EFI: arrange for non-discardable .reloc
 in xen.efi
To: Marek Marczykowski <marmarek@invisiblethingslab.com>,
 Daniel Smith <dpsmith@apertussolutions.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <652b57e0-42f8-47c8-b94d-df862874aba3@suse.com>
 <4457b798-d553-486c-8727-908ef88ebb1e@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: <4457b798-d553-486c-8727-908ef88ebb1e@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1782200589-CDC7FD84-B994CE2B/10/73395122804
X-purgate-type: spam
X-purgate-size: 931

On 17.06.2026 12:56, Oleksii Kurochko wrote:
> On 6/16/26 6:17 PM, Jan Beulich wrote:
>> Loaders respecting IMAGE_SCN_MEM_DISCARDABLE would not load such sections,
>> yet we need to access it ourselves when switching out of "physical mode".
>> Leverage behavior new to GNU ld 2.46: Any contribution to .reloc which
>> doesn't have the discardable flag set (which cannot even be expressed in
>> ELF) will yield the output section also non-discardable.
>>
>> Since for intermediate binaries we don't care about section attributes,
>> link in the new object only on the final linking pass.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

May I please ask for an "ordinary" ack here as well, so this change can go
in? Note that Roger's ack covers, as to its formal meaning, most of the
change, but not the new file introduced.

Thanks, Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 08:03:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 08:03:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344127.1603251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbw68-0004ry-4n; Tue, 23 Jun 2026 08:03:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344127.1603251; Tue, 23 Jun 2026 08:03: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 1wbw68-0004rr-1H; Tue, 23 Jun 2026 08:03:08 +0000
Received: by outflank-mailman (input) for mailman id 1344127;
 Tue, 23 Jun 2026 08:03:06 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ef3811474000701b@swg.vates.tech>)
 id 1wbw66-0004rl-0I
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 08:03:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbw64-00EGSm-J3
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 10:03:04 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ef3811474000701b@swg.vates.tech>)
 id 6a3a3db7-2eae-0a2a0a5409dd-0a2a4504d496-8
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 10:03:04 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ef3811474000701b@swg.vates.tech>)
 id 6a3a3db7-5f9f-0a2a45040019-b9ff1c129281-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 10:03:04 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ef3811474000701b.006 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 23 Jun 2026 08:03:03 +0000
Received: from [192.168.1.115] (91-171-21-26.subs.proxad.net [91.171.21.26])
 (Authenticated sender: yann.sionneau)
 by mail2.vates.fr (Postfix) with ESMTPSA id 34C5D86101;
 Tue, 23 Jun 2026 10:02:58 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=Se0pRPZ9KRUWJKvy/UYyanzzNfqpxrGn7XqQ82gckMA=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=gnQ5dqaKL8Ftq3XG8qeaCIzpmP9TP+ilTVghbn4iMr6zaGyA6VNYHcg1uOEDQCxi9rFOmlmSr
 KzZE5ruVXXy5gFt+VjV8Ei5gSxK6ZpHxBDaEH67HjJXoesNtMesph176LXLKBvXuYOX7Mk2JNmL
 svKUYkP9bOpz0a9tPQHDtZ4BWqDGD6cBZZRBr5y/apvkLx+R7zwRmLjxwZvR0SD91XGBobe+Rud
 Rw0WdoxB4BPESOYLZC0dDpL1mVA4gZvzYtMkLAaS0G9dxY3k4lwLbK4XhQExEBNMIeKJppp4l2M
 IlDpU3sJRZxfKAC5H8udTDUMQPuqRsxBnnGhMXGVvhMg==
X-Zone-Loop: e1e4a256ed57e3af718e261e95e7ccf41d3ad3c63457
x-campaign-type: default
x-transaction-id: c7bc1790-a51b-4083-9b71-f4901f91f39a
x-swg-uid: 01-daee7f93-2bd5-44a7-a28a-ba783af6e8fc
X-Mailer: Sweego
Message-ID:
 <1782201783.8631fc262581453bbf619ec5b2062170.19ef3811474000701b@vates.tech>
x-swg-bid: 1782201783.8631fc262581453bbf619ec5b2062170.19ef3811474000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Tue, 23 Jun 2026 10:02:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22?] x86/EFI: arrange for non-discardable .reloc in
 xen.efi
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>,
 Teddy Astie <teddy.astie@vates.tech>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <652b57e0-42f8-47c8-b94d-df862874aba3@suse.com>
Content-Language: en-US
From: Yann Sionneau <yann.sionneau@vates.tech>
In-Reply-To: <652b57e0-42f8-47c8-b94d-df862874aba3@suse.com>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.48.dbfd9ad3582ba6a9.19ef38100f9.45c0eae79d3c40a7=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1782201778429
X-purgate-ID: tlsNG-ebf023/1782201784-4C98B141-EE1EE54B/0/0
X-purgate-type: clean
X-purgate-size: 1214

---=Part.48.dbfd9ad3582ba6a9.19ef38100f9.45c0eae79d3c40a7=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On 6/16/26 18:20, Jan Beulich wrote:
> Loaders respecting IMAGE_SCN_MEM_DISCARDABLE would not load such section=
s,
> yet we need to access it ourselves when switching out of "physical mode"=
=2E
> Leverage behavior new to GNU ld 2=2E46: Any contribution to =2Ereloc whi=
ch
> doesn't have the discardable flag set (which cannot even be expressed in
> ELF) will yield the output section also non-discardable=2E
>=20
> Since for intermediate binaries we don't care about section attributes,
> link in the new object only on the final linking pass=2E
>=20
> Signed-off-by: Jan Beulich <jbeulich@suse=2Ecom>
Can I get a Reported-by tag on this one?
Since I reported the issue with a patch a few months ago:=20
https://lore=2Ekernel=2Eorg/xen-devel/20250724140731=2E1502774-1-yann=2Esi=
onneau@vates=2Etech/

Thanks and congratz for the binutils fixes integration!

Regards,


--=20


-- 
 | Vates 

XCP-ng & Xen Orchestra - Vates solutions

web: https://vate=
s=2Etech

---=Part.48.dbfd9ad3582ba6a9.19ef38100f9.45c0eae79d3c40a7=---


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 08:12:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 08:12:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344135.1603260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbwFN-0006af-Us; Tue, 23 Jun 2026 08:12:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344135.1603260; Tue, 23 Jun 2026 08:12: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 1wbwFN-0006aY-Rw; Tue, 23 Jun 2026 08:12:41 +0000
Received: by outflank-mailman (input) for mailman id 1344135;
 Tue, 23 Jun 2026 08:12:40 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wbwFM-0006aS-9B
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 08:12:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbwFL-00EJS5-Ic
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 10:12:39 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a3fea-2eae-0a2a0a5409dd-0a2a4503d354-30
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 10:12:39 +0200
Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a3ff7-a3da-0a2a45030019-d155dd35a448-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 10:12:39 +0200
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-462cdb88d01so480328f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 01:12: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-466648c53fdsm35072150f8f.10.2026.06.23.01.12.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Jun 2026 01:12: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782202359; x=1782807159; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=fLks30zEYZvDnxbeYx5kStxKJy27wLkPba/FNI2jzB8=;
        b=TUqFeg7A3ENRMTLGcYlZfRaTouqsLvPv7QDPhOCwpagVNnJoyXvUDPZGWwlBSX0agu
         HvWdOMttueDBEh/E/pF9sostleiWBbvXzPgSQx/NaeiGxPqDA9kw2MNp3FBsKvniY2sC
         bqsOKYHPgrCUvh5L2tNK0F74bhO6oXvyycjDtAr/CM/rnSN09Ofl2vuJArBVG0npyFWm
         gGsnSq34rzcfR7X0DDGV3GoVkxFaS/kvanK2CVjRxIp3jkiQNgsc5fbz7hyBEe5hBrl7
         +JfqUV8/rbSPSe7so7dyhl2aYvfZr3R6WzTQ+zk0falRHzoAF/HeBfBfm5UyEqVfjsRY
         Qq2g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782202359; x=1782807159;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fLks30zEYZvDnxbeYx5kStxKJy27wLkPba/FNI2jzB8=;
        b=kLjVHJ/sXSdSJFisUccgxnxaPek9mrzHCZ01Xuh/A46nSEk5lfn5Uw2TvQCrFIDf9X
         Q2x2+SqCKCrkKUaiM/FlTNH31pRhSgkGs3ezt7knQ0pjVkX/es5/vBnwNkVM8daYCn5V
         c748UPGInC+uOr+VZdOfinFwRi4Rz32htkJy4Re8xzCxs+vRrhm5HjjDJ/lpun2cJTZY
         DbGocH6noAcIliI+YrnH1HK+0gGCs/TOFZpfeMHl03kj3Zi5mA5savPiO+saiiq3u7dF
         ACDttIpytIA9NFcvAr0eFlL1AEB7d/4gYh5h+6BkuFhW1rp5PFiNjh5cBG2khtpd/bMd
         Ei0A==
X-Forwarded-Encrypted: i=1; AHgh+RqvMkbACklJAZ5I5YIOfZfiKO+6GEeKmNZogvP02tiDg1+BXHO003zHsis5Yzu6cHY5+3l06EEzVBo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxNd1QlvcSYzpW0IsqA5rEUJgLP+s0IBq1Z7w3rI4BLAMrSJRmN
	zoeUwwWpHoqUT31SHQU/bJU8n4euwkaJfoyQfIgCljM+EZGNopAi4h3m9J9lxIe28Q==
X-Gm-Gg: AfdE7ck95AgDTHXPt7ymvgiyezICofbvyPraprtrp7YXVfiOTM11HELb5HT2ckAIYai
	Hk0eYd709On8EN8DZrTR3HrO9je3JzRRBr4TgS7adTevQzZOcotufKYPzdXmBFLE3Tlp+Ax6V24
	HZOisGZyjyrgceRPv3uLrt+B8ao4DOfcB6lzmYK9VfO7CFjiwu+pKIrnu0Bi+24B2gNw94Z/4eB
	OAj4ispP/qE16qojmB43ib8QCLuwHSxDk4nqj6gxuXcCkGcCLdj7To/SzNRfur2c3Fwk8Notk1j
	A7QECx1APpjeP38LC6/aQFOWej3p0BRzCfBiYCQXB6bnkKZ3wG8fEF5q5RalwDGxuaakJacTyAv
	jsVTPJt+JvEGbf1G5DBd/qd5pnw/xLPCK6JOpxy2Aj035pZtzasFw1i5XLF8nDcJOo4/hZlQbGt
	cFvhCfKpPfh+lEsq7o8sKfIMZOorIM+PatClDVS1yboVqBm/gue8xn0DUm0ZuhcJmko8kBexDjG
	rdD
X-Received: by 2002:a05:6000:2887:b0:463:1d06:ab33 with SMTP id ffacd0b85a97d-46a80f5c6edmr4391297f8f.27.1782202358869;
        Tue, 23 Jun 2026 01:12:38 -0700 (PDT)
Message-ID: <e1d5cda0-c28e-4fc4-9f6a-627b932263f2@suse.com>
Date: Tue, 23 Jun 2026 10:12:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22?] x86/EFI: arrange for non-discardable .reloc in
 xen.efi
To: Yann Sionneau <yann.sionneau@vates.tech>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <652b57e0-42f8-47c8-b94d-df862874aba3@suse.com>
 <1782201783.8631fc262581453bbf619ec5b2062170.19ef3811474000701b@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1782201783.8631fc262581453bbf619ec5b2062170.19ef3811474000701b@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1782202359-CEC77D84-DD2C8C58/0/0
X-purgate-type: clean
X-purgate-size: 1263

On 23.06.2026 10:02, Yann Sionneau wrote:
> On 6/16/26 18:20, Jan Beulich wrote:
>> Loaders respecting IMAGE_SCN_MEM_DISCARDABLE would not load such sections,
>> yet we need to access it ourselves when switching out of "physical mode".
>> Leverage behavior new to GNU ld 2.46: Any contribution to .reloc which
>> doesn't have the discardable flag set (which cannot even be expressed in
>> ELF) will yield the output section also non-discardable.
>>
>> Since for intermediate binaries we don't care about section attributes,
>> link in the new object only on the final linking pass.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Can I get a Reported-by tag on this one?
> Since I reported the issue with a patch a few months ago: 
> https://lore.kernel.org/xen-devel/20250724140731.1502774-1-yann.sionneau@vates.tech/

Hmm, I have to admit I'm of split minds here. Generally I'd expect
Reported-by: to only cover new findings (or if two people observed the
same thing independently within a short time frame). The (abstract)
problem with the section attributes of .reloc was known long ago. The
aspect speaking in favor of adding the tag is that you apparently were
the first one to report encountering the issue in practice.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 08:15:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 08:15:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344145.1603270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbwI5-00079M-Di; Tue, 23 Jun 2026 08:15:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344145.1603270; Tue, 23 Jun 2026 08: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 1wbwI5-00079F-AD; Tue, 23 Jun 2026 08:15:29 +0000
Received: by outflank-mailman (input) for mailman id 1344145;
 Tue, 23 Jun 2026 08:15:27 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <xakep.amatop@gmail.com>) id 1wbwI3-000798-Nu
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 08:15:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbwI2-00ApjO-Ju
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 10:15:26 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a3a4099-5cb7-0a2a0a5109dd-0a2a450bcda8-24
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 10:15:26 +0200
Received: from [209.85.208.174] (helo=mail-lj1-f174.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <xakep.amatop@gmail.com>)
 id 6a3a409e-5e53-0a2a450b0019-d155d0aec477-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 10:15:26 +0200
Received: by mail-lj1-f174.google.com with SMTP id
 38308e7fff4ca-3997a6196c5so35307571fa.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 01:15: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="To:Subject:Message-ID:Date:From:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1782202526; cv=none;
        d=google.com; s=arc-20240605;
        b=FFN6mjy3jQIXhDRIciFWGt0QuM84eOUdFWAv+95Op+vlfm2aMIcbfz+tiTFhlPQnkq
         EeEd3tCwZBIKxwfEVWlzXDtnccZn75+GuM19VKd7FLd1aK0IXTYYqiFQ+squMlm93fOs
         OZBnnhp5cLLtPHzLN0UBmTSiX1HcOFH+HQgdQ0Z/srwduWoip9ReMXIK+H1afLjFUtsP
         bSf5o8C5Vs2p2fQRWU49Bxwvxlav6kkPaodX0WmpbKpgDtd0600c4uSvcVTQosh4vk2O
         5YUwAFLp8ZoC+oHo5u4zzFsbMqVMWrrz/0IMRX98OpyhY3za86dRI4YMdXVgpSsNIC1r
         XHIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=to:subject:message-id:date:from:mime-version:dkim-signature;
        bh=nZyM20Y/Hzh/DVF8opMoFAb2fC/xYPMGctnCCvqWoqE=;
        fh=BxAOn7jMslPpxCh+ZwJ42wvijNvg8M+sVi4YM41sbzk=;
        b=h1ytZ0AMIKdNUpPYwwzGxqDWpSoCsJz8h45cgcK5oscoD8I9nVwvwcsQ6RO9O7k5lY
         oRI/B1WPF1wlJJwxcGY1eWCdDSyr/bS1RgZQGT0VENO9NKBeO3CplXYSg4xvrPhXlDom
         AX+6nwFwS7vDuzgT0UmGWTDeT6qrbIPnnneGkVwmxqDq7EkesMy2X+tPmeHczvrjhlLp
         w6i7yWCy/Da/uJ4Jgt8ILITw4N+ZXXQiXqUwZuJ5fYqwlMTPDD1VwjXD32IlI/dhEXBj
         AisCer2V435X08X7m+6pmqd0a7P3PQh7GL407m4P3xjFDRH2nn2o1HnSRQIcn6eQOJq2
         r+yg==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782202526; x=1782807326; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=nZyM20Y/Hzh/DVF8opMoFAb2fC/xYPMGctnCCvqWoqE=;
        b=c9hu75tV3MHk6s01pIQ/UXneOby9VVKEYI7kY+k/ieIlO8FUVc55dNHNe5CMRx5TKY
         VzLhrrHvWB2RH4PTkydANfn9aJ8olK0tdw/ecNGd3jC1aL78upB1MYUy8E8jsxgLC9Gv
         F6qPiN8zFZ9Cv7++QMxLal052N2XR5HYPEwqHMM10JJMg3CPjVo/YF80mr7KcH9iE+u2
         06WSk3nXb7aTMXTsAE3xNDQYmYvuKq/7UvGbde1933BlYad2mx4ys/NbCS2xA6ZquCa7
         SSx+WdszqXthm243p5+9cWfScPeuQFQDLIaFkCsBsluTc9aoesOmDviSMH5axb/WNWrn
         8Sig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782202526; x=1782807326;
        h=to:subject:message-id:date:from:mime-version:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=nZyM20Y/Hzh/DVF8opMoFAb2fC/xYPMGctnCCvqWoqE=;
        b=UwM1Uik8dep7E8pP4f5LSoS1PA+lWL51g2NgaVCnaCbu9wm5adms7mkAR+14ylahY3
         RinMWzLJUkAVljtHm8PhNGbq/JpxV1I6MdujGZrwoR63OZMIQjtFJwkccZpH+crlSq72
         eK3iByvUjRbI/pXMdzKJWsE1A71GOrhfRFzoDj6YrOVU7zSAJ9svL/fmYYRDXN+Jq+kT
         ZIQcrMnBQxFDRX57JVLp+ZePJ3FGE7rvZp9c9uwouXjGRmkNRNy3wajfS9OB2F8IOGqo
         3034HmGqVEs1HZc7v2GQ5qMNGKaG7BtkNd4100f9xRMkpsE1OyAjeYCDXDRPd4co1seG
         930g==
X-Gm-Message-State: AOJu0YzLhRemfSzd/9kHAH0nppnv780CGdNRg/NDMsKkZFOgpVMHW4BS
	sI/0J9L2k6PPwMphKwM0GCuuNoXAwkpsS3csQ0iQ2GL2LC/H0WQF5id8Jtu9/Wzg9qbSMFnpgJj
	Ywk2dOqsqLSPWOVOdp1Cz8N4qYZZVmai4y0Buby4=
X-Gm-Gg: AfdE7cmut1wi4L+lAidvFkcF9li0Qodi0unEG/5OZY2OSi6Qb3MPnqhAT6g0jaTBOTb
	QMn6NgasDd/HdNuSuSfH7R9xQaAN+q9RLiaiIbeaTxGLOxisole8OEk8FH38NI+9xRW0QwXo1Ai
	OzbOrlJRxMHbI88XLELG7m2+ITvo039p3NkAllYj4nY6x5Akf22tsPxT/Xnx2vxV5bIn8HsjKHN
	Hq8BdJyu7CMAx+jd+ZfaPJ9zph/7G2O+B3OfVuUdXDHyYvy6If5aRY7WZaPzYB6Crty1nlzaTpr
	rCTF9Q==
X-Received: by 2002:a05:651c:1148:b0:396:375:aa7f with SMTP id
 38308e7fff4ca-39a251ece72mr4035951fa.10.1782202525487; Tue, 23 Jun 2026
 01:15:25 -0700 (PDT)
MIME-Version: 1.0
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Tue, 23 Jun 2026 11:15:13 +0300
X-Gm-Features: AVVi8Cdaf4yNSCIBITIz3uLXG0TKO7Ca2XAulCElZyuA8loU24X21zN2rxVHKHE
Message-ID: <CAGeoDV8j+yz7L7YA=hR8dj_=nJ6gWWRfaOzH10_wRKJdycu09g@mail.gmail.com>
Subject: [QUESTION] Credit2 wakeup latency in 1-pCPU/2-vCPU Arm test
To: Xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"
X-purgate-ID: tlsNG-42698a/1782202526-4E5E400E-6CAD8F1D/0/0
X-purgate-type: clean
X-purgate-size: 2423

Hi all,

While running a wakeup-heavy Arm test, originally used for GICv4
doorbell testing, I noticed an interesting scheduler behavior on clean
Xen master.

The setup is synthetic on purpose:

1 physical CPU
2 Dom0 vCPUs
fio pinned to vCPU1
CPU stress pinned to vCPU0
4 KiB random read
iodepth=1
Credit2 scheduler

The goal is not to measure raw block throughput. The goal is to stress
the wakeup path where an I/O-bound vCPU is blocked, while another vCPU
is CPU-bound on the same pCPU.

On FVP with GICv3, the result is very sensitive to IRQ placement:

virtio IRQ pinned to the fio vCPU:
2223.939 IOPS, p99 = 1122.304 us
no IRQ pinning:
93.508 IOPS, p99 = 17170.432 us

I also ran the same test family on AWS c7g.metal with clean Xen master.
The same low-IOPS class is visible there as well:

normal run, 8 Dom0 vCPUs, Credit2:
about 1753 IOPS, p99 = 643 us
wakeup-heavy run, 2 Dom0 vCPUs, Credit2 default:
about 100 IOPS, p99 = 10158 us
wakeup-heavy run, 2 Dom0 vCPUs, Credit2 sched_ratelimit_us=100:
about 973 IOPS, p99 = 8454 us
wakeup-heavy run, 2 Dom0 vCPUs, Credit2 sched_ratelimit_us=0:
about 748 IOPS, p99 = 13435 us
wakeup-heavy run, 2 Dom0 vCPUs, RTDS:
about 999 IOPS, p99 = 6521 us

The AWS numbers above are medians from 5 repeats of the rr4k_qd1
workload.

I added debug counters around WFI, interrupt injection, vCPU kick, and
schedule-in. In the runs checked so far, the interrupt is delivered and
the target vCPU is kicked. The counter for entering WFI while a virtual
interrupt is already pending stays at zero. Most of the visible delay is
between the kick and the next schedule-in of the target vCPU.

My current interpretation is that this test is valid as a wakeup stress
test, but it is very sensitive to IRQ placement and scheduler preemption
behavior. I would not describe these numbers as raw storage throughput.

Since the same behavior is present on clean Xen master with GICv3, it
does not look specific to the GICv4 changes.

Question:

Does this match the expected Credit2 behavior for this kind of
overcommitted wakeup-heavy workload?

More specifically, when an interrupt wakes a blocked I/O-bound vCPU while
another vCPU is CPU-bound on the same pCPU, is the woken vCPU expected to
wait for the normal Credit2 scheduling/rate-limit window, or is there
an intended fast preemption path for this case?

Regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 08:26:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 08:26:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344153.1603278 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbwSn-0000Qs-8t; Tue, 23 Jun 2026 08:26:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344153.1603278; Tue, 23 Jun 2026 08:26: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 1wbwSn-0000Ql-6O; Tue, 23 Jun 2026 08:26:33 +0000
Received: by outflank-mailman (input) for mailman id 1344153;
 Tue, 23 Jun 2026 08:26:32 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wbwSl-0000Qf-SR
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 08:26:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbwSk-00ArpN-Jp
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 10:26:30 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a4335-bab6-0a2a0a5309dd-0a2a4507943a-2
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 10:26:30 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a4336-4766-0a2a45070019-d1558030c9d2-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 10:26:30 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-49241896317so19970325e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 01:26: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-4923fd21dbdsm327494585e9.6.2026.06.23.01.26.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Jun 2026 01:26: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782203190; x=1782807990; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=gbnv1qJBpBNRLbIqY6A+yfQLZHD7CDM9RcyeQ5Xuevo=;
        b=WWAjVmOjx2kVo3mtP27o/+/+WRyOEr3KwwdYwtFAiN4gtallSi8c2O7x5lTAJHr0qo
         SARh+MsbJsyUiHVq0BTmw+6P9BnJgyop05E7D9mXFLQKAqRVawlae9pE04oenNJ1eG8n
         sOtX2xUQC5l58QgD8l5OsGENqBbXk9FYwa4rDLPSG3d874e1yBDYDcJmeiw4deeRtgBT
         fquC/ys21NKiKAMjJ1y7Jtv0851Ea5ZSHVFEVA6xsUopb7yxFDlb08iCHcGAr9OMx3no
         wVbNcwR9GLNApjMaQ4rdn+2EYRNJINlvFRLQNdjCa6V+CDU87fkUhLdmc4+rQvks68ZN
         RQow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782203190; x=1782807990;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gbnv1qJBpBNRLbIqY6A+yfQLZHD7CDM9RcyeQ5Xuevo=;
        b=rEMjbNOkoaannMsZ+MfXkmSM9rcV0pQRLpkyeBxx9XbTOux6qcObQzrgY8TjXx+O4j
         0k7DEdiHzgvxXi1P7WV+GLbTHL666Hg+3MNvdp4gW0pQumQO9RckUCO7k99k9gWgw6nS
         gG0n4oZsKqcbtvmmiNHu9Kekx0rF6PvLTPyYV9lTRmFM7sMQ1D5AxhwSRDlKQSOFaw3r
         +ApzPiBv+lp63b0d1EsyI3fw5CTv1/Q54pWLrfri2L+5JwF+OSWHElAKiRXZ5ofh7Se0
         l5wUJ8UwkjzBb11Gvf/247Ocsdp9pf2f5K0nUTGUUJ+yTo+Y+3lQ8A2d9PjxKkiK8ktl
         4irw==
X-Forwarded-Encrypted: i=1; AFNElJ8OEz7Fdjg5wsfRLD6GwpAQUrImQzU/mlXJ51eV9M12MvVOb769lkG/H3a6X/Q1m8LYjVgSQiGwCMk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyUgYGBCbLTF3kiis0DzN2AdvelGyZ0M84rSBERaZkYDKhbjOl1
	ueDOIviKZcMIAkIFnhfzAUr+0TSUE5/FDHfJ2lN/jK83RCHup7jR5+TvoHBgk+dk4A==
X-Gm-Gg: AfdE7cm8gf/v1cC/SfRFX1SvKnV3qno7+4oIo1e37fQUlkWcRfDJhGsn1tH8acPQpT9
	MNWqF8u+5l4aLHf2OCHS2HgSRtpnzM+NPZaEB1u06OkIZpEYbCPibUvtwYrsnZz8c/nJLWNZm5W
	XsR40Hq7RKMJTiJBh8VeeGsVFY5zwl5rlsw3E31av0zXaFfe3wcl0ELaHFN/+gQKx1dIpoT8Pd8
	nsi+rkRE4hmh8rqBK/KfqFPug4QMJad9yukpEF42xZtnJCdjKn1vsjxgTNq6dBXJIhqz8eV0qCq
	P6nohJDjW1p3hqEAVe4cZLpb5r96Fv6uyJ0eoFohB2SWoxrSm0M667bkOOkQWzKx3/FkCduMWKO
	TW1lu58LfX91IKZVdrD3PDG9ZvxtmYNY4gGrNt5t8xFXpGM6lT+J7ofsJrLYz6nCJoCgqePERUs
	hcWOCNaf5EIH66QyUPs2XagQPjGWtfzHIK5CDVsnzm1P5szrjs35yXkAab66xKRTYzXO5D2wW+c
	fMG
X-Received: by 2002:a05:600c:a08c:b0:492:4cce:53e2 with SMTP id 5b1f17b1804b1-4925b3867c6mr25162345e9.3.1782203189823;
        Tue, 23 Jun 2026 01:26:29 -0700 (PDT)
Message-ID: <2e9683f6-25d3-442b-9661-d32f979ca43b@suse.com>
Date: Tue, 23 Jun 2026 10:26:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 22/23] xen/Kconfig: introduce HAS_STATIC_MEMORY
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.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: <cover.1781693963.git.oleksii.kurochko@gmail.com>
 <22c02e188a0b38806f08b7a87f00f03c14aad742.1781693963.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: <22c02e188a0b38806f08b7a87f00f03c14aad742.1781693963.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ef75cf/1782203190-913D3979-DC67597B/0/0
X-purgate-type: clean
X-purgate-size: 1530

On 17.06.2026 13:17, Oleksii Kurochko wrote:
> Architectures that implement guest_physmap_add_pages() select
> HAS_STATIC_MEMORY; STATIC_MEMORY then depends on it.  ARM selects the
> new flag; RISC-V does not, so CONFIG_STATIC_MEMORY is unavailable there
> and randconfig builds no longer require an explicit STATIC_MEMORY=n
> override to avoid a compilation error.

How did you come up with the connection to guest_physmap_add_pages()?
That's a close sibling of guest_physmap_add_page(), and they all should
fall in the same group. The fact that right now static-mem is the only
caller of guest_physmap_add_pages() is secondary. New callers could
appear. guest_physmap_add_page() could likely (in principle) be
implemented in terms of guest_physmap_add_pages().

What you're after is a way to {en,dis}able STATIC_MEMORY on a per-arch
basis. That's all what matters here.

> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -161,6 +161,9 @@ config HAS_SCHED_GRANULARITY
>  config HAS_SHARED_INFO
>  	bool
>  
> +config HAS_STATIC_MEMORY
> +	bool
> +
>  config HAS_SOFT_RESET
>  	bool
>  
> @@ -196,7 +199,7 @@ config NUMA
>  
>  config STATIC_MEMORY
>  	bool "Static Allocation Support (UNSUPPORTED)" if UNSUPPORTED
> -	depends on DOM0LESS_BOOT && HAS_DEVICE_TREE_DISCOVERY
> +	depends on HAS_STATIC_MEMORY && DOM0LESS_BOOT && HAS_DEVICE_TREE_DISCOVERY

This may end up slightly neater as

	depends on HAS_STATIC_MEMORY
	depends on DOM0LESS_BOOT && HAS_DEVICE_TREE_DISCOVERY

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 08:36:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 08:36:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344162.1603288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbwcD-000291-6n; Tue, 23 Jun 2026 08:36:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344162.1603288; Tue, 23 Jun 2026 08: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 1wbwcD-00028t-1J; Tue, 23 Jun 2026 08:36:17 +0000
Received: by outflank-mailman (input) for mailman id 1344162;
 Tue, 23 Jun 2026 08:36:15 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wbwcB-00027f-J7
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 08:36:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbwcA-00DOsq-W5
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 10:36:15 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a457e-2eae-0a2a0a5409dd-0a2a450a8cca-0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 10:36:14 +0200
Received: from [209.85.221.47] (helo=mail-wr1-f47.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a457e-93a5-0a2a450a0019-d155dd2fc9f7-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 10:36:14 +0200
Received: by mail-wr1-f47.google.com with SMTP id
 ffacd0b85a97d-46255b269c2so4026516f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 01:36: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-46666788282sm49669824f8f.17.2026.06.23.01.36.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Jun 2026 01:36: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782203773; x=1782808573; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=/ZbghzMQ6lHln4QSrv516FSMzVtW4LwpSMC2+YgztWo=;
        b=SFYvXDfWlFjCixKuGcCh/UgpeNk/YYAvt1O0q7d840HKEzk3yRoBZdKCWtFHmLL9l2
         5D9RN4uiC6fZtlhMolRnoCvzCwP4f6nPeBOG2OiROvgKeiIqWpIaUCWmha4SRDydvDYa
         WlAtt4wHE1dKjGCGE7C4rvCSDUGK2r6OoupwqN6VCfTgpIVsIvMu/CPZFAqO0ZWZICmJ
         aPVw7nxZ7l5G0qkIjMyiG4VJmG/FZj5jKdqzARws6Y2ACT8FG85pacLTpxd6gyDsp4U8
         kK/VwZ8tmRs4+BlzQ/alo8vT4rAmhdCrmYs6I61O6IeZ8ACTJRLHHHj4/o+kdjZGKaQ/
         XiiQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782203773; x=1782808573;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/ZbghzMQ6lHln4QSrv516FSMzVtW4LwpSMC2+YgztWo=;
        b=qDIhRRlDTG8HCVHUuhHUloj/JT87i+vu4/UrJDGQwwRSI2yKIu5M3BFJEohIoCjcqA
         IK9trJLbSj63SY4d8zzVU7TWAHyfikZKfX+DMPWwVel3tlAw5EK9eQwG6NA6jVslsXfg
         cvfnt7TO0Zy/VY8lLTTN7I8b+5WaLqMY0uD3dUBzV7lRx29m2h6M1OfSS/f+0PbIFeb3
         74MdP4k77ln6gsoj5yK/MF0tlCY3mxzi0AoJjd7BimF9OYG9HmNM80fxWRB9MC9bU/VA
         hsWQbFtf7JxqYOS9voxr+3n+vmUh5kjGuXvSVtpMvi7LhknvyCxYB2oqSJsbgu4Dr3tI
         rgJA==
X-Forwarded-Encrypted: i=1; AHgh+Roo/90PmRm5AG8R/YM4HcSJ8844jm+p+YcHBWn72SrpT/t+ANGwB5nGkRXyi/tXtkFtEMuBpdmdzxU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyv4nlfrLYSOAzFEmH5goSwLrRemz7nHHLsDg+O94ZEHo1J9pZU
	0UImANh5tDA7qovIRY6x6s4iylL4T36QDXPw+krCeO5RNCozu69o1z+DFBikeCbRjg==
X-Gm-Gg: AfdE7cnCTK/2jbyxEpmdTCbPFNSON8+oiBokXc7qJx0YscJlGap9nE1DfcFl5sy49kf
	6PggdGi18UdQfCcpgdmEmjJLdtUNq5usq2OgTQlvQgrHUPqEZW7rg7XGW5XP83Nb2GgNpoEAqVc
	J+1aeR4Ie1YlcJFkSUaXK+mcbfzPfZhaMFmWSPg+veT7DJIqsrKO7XB5M65izJt7sDm8zfCR/f6
	+bktJF9oe9r0IKqBwH9SJBdYwOwEjRkHRg5VKxzTSPgyB7uc6VVl071ezghyZ0tU3J+OJpMq1pm
	vur8JxaOCGa2jT7xBrgVmvo8MC+BeaA61vesm4/l5djReobcHLoDGk1DFeReBZMo/sJiKIpUeaf
	xPk4ET2TijpDbHcc22Q5FmnUTjJoqYkbYG6asnpRWwY3S4GBboaAJ4jUpHPdk+KVM85ounCPkX9
	/SiUysOM2pmkUrr594xOHbV6jDQJMlIKpzL10SWpswopaVQQJihn5wFHqDgfARkpnXCXLc/KV34
	TeL
X-Received: by 2002:a05:6000:4303:b0:469:3bd0:fa8e with SMTP id ffacd0b85a97d-46adb4912e1mr2436507f8f.12.1782203773549;
        Tue, 23 Jun 2026 01:36:13 -0700 (PDT)
Message-ID: <74d47657-2fa2-4f8f-93f6-cdd96c99ce11@suse.com>
Date: Tue, 23 Jun 2026 10:36:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 23/23] xen/riscv: add initial dom0less infrastructure
 support
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <781214e3cb87a0fe38e210e9b0cefed49d623d52.1781693963.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: <781214e3cb87a0fe38e210e9b0cefed49d623d52.1781693963.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-4011c0/1782203774-B31EEDB8-953B67F7/0/0
X-purgate-type: clean
X-purgate-size: 3002

On 17.06.2026 13:17, Oleksii Kurochko wrote:
> Enable dom0less support for RISC-V by selecting HAS_DOM0LESS and
> providing the minimal architecture hooks required by the common
> dom0less infrastructure.
> 
> Add stub implementations for architecture-specific helpers used when
> building domains from the device tree. These currently perform no
> additional work but allow the generic dom0less code to build and run
> on RISC-V.
> 
> Introduce max_init_domid as a runtime variable rather than a constant
> so that it can be updated during dom0less domain creation.
> 
> Provide missing helpers and definitions required by the domain
> construction code, including domain bitness helpers and the
> p2m_set_allocation() prototype.
> 
> Additionally define the guest magic memory region in the public
> RISC-V interface. GUEST_MAGIC_BASE is placed at 0x79000000 to avoid
> overlapping with the QEMU RISC-V virt machine address space.

No qemu comes into play so far (and likely such also isn't planned).
Then why would such an overlap be problematic? Plus as before, the
constraints on such arbitrarily chosen numbers want putting down in
a code comment next to the respective #define-s.

> --- a/xen/arch/riscv/domain-build.c
> +++ b/xen/arch/riscv/domain-build.c
> @@ -156,9 +156,22 @@ int __init make_cpus_node(const struct domain *d, struct kernel_info *kinfo)
>      return fdt_end_node(fdt);
>  }
>  
> +int __init construct_hwdom(struct kernel_info *kinfo,
> +                           const struct dt_device_node *node)
> +{
> +    return -EOPNOTSUPP;
> +}
> +
>  int __init make_timer_node(const struct kernel_info *kinfo)
>  {
>      /* There is no need for timer node for RISC-V. */
>  
>      return 0;
>  }
> +
> +int __init make_hypervisor_node(struct domain *d,
> +                                const struct kernel_info *kinfo,
> +                                int addrcells, int sizecells)
> +{
> +    return -EOPNOTSUPP;
> +}

In the description you say "to build and run". How come "run" is actually
true when these two new stubs return an error? For construct_hwdom() this
may be explained by you not aiming at supporting Dom0 / hwdom (but that
then still is a limitation to mention, perhaps in a TODO comment), but
with DOM0LESS_ENHANCED_NO_XS set make_hypervisor_node() failing is going
to break DomU building as well, afaics.

> --- a/xen/arch/riscv/include/asm/setup.h
> +++ b/xen/arch/riscv/include/asm/setup.h
> @@ -5,7 +5,9 @@
>  
>  #include <xen/types.h>
>  
> -#define max_init_domid (0)
> +#include <public/xen.h>
> +
> +extern domid_t max_init_domid;

Shouldn't this be generalized, seeing that dom0less code requires it this
way on every arch? Same ...

> --- a/xen/arch/riscv/setup.c
> +++ b/xen/arch/riscv/setup.c
> @@ -33,6 +33,8 @@
>  #include <asm/traps.h>
>  #include <asm/vsbi.h>
>  
> +domid_t __initdata max_init_domid;

... for the placement of this then, obviously.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 08:50:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 08:50:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344170.1603296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbwpz-0004vs-7O; Tue, 23 Jun 2026 08:50:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344170.1603296; Tue, 23 Jun 2026 08:50:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbwpz-0004vl-4K; Tue, 23 Jun 2026 08:50:31 +0000
Received: by outflank-mailman (input) for mailman id 1344170;
 Tue, 23 Jun 2026 08:50:29 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <BATV+2f4ff5ab8596c4607a2e+8339+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 1wbwpw-0004vc-5O
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 08:50:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbwpt-009GRk-Pa; Tue, 23 Jun 2026 10:50:25 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <BATV+2f4ff5ab8596c4607a2e+8339+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a3a48c6-e002-0a2a0a5209dd-0a2a4504b7d0-44
 for <multiple-recipients>; Tue, 23 Jun 2026 10:50:24 +0200
Received: from [90.155.50.34] (helo=casper.infradead.org)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <BATV+2f4ff5ab8596c4607a2e+8339+infradead.org+dwmw2@casper.srs.infradead.org>)
 id 6a3a48cf-5f9f-0a2a45040019-5a9b3222e79c-3
 for <multiple-recipients>; Tue, 23 Jun 2026 10:50:23 +0200
Received: from [2001:8b0:10b:5:5c35:4a44:b8b0:48f]
 (helo=u09cd745991455d.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.99.1 #2 (Red Hat Linux))
 id 1wbwpo-00000005qQh-3N7c; Tue, 23 Jun 2026 08:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=casper.20170209 header.d=infradead.org header.i="@infradead.org" header.h="MIME-Version:Content-Type:References:In-Reply-To:Date:Cc:To:From:Subject:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=kcRgiuRej8MdI7L26s3G6V6760dkJcrjiIrLXz5fyVk=; b=lrtyFbxALIwISgeZA/kdYhA3J/
	Z/iBElvcZdoJxAzUoaOBPBCOveZdpHs2EP5Loz7W9HgQGUtDmxTYW6ALDUGpo0lCFAd4MzKCDABZb
	aspTmQBmRjezMJ6S5aGYIerHLTvcXsFdU6eKShuANNA15PO7FMYxCul7x4ae63+FVb/uZAw/lpk4c
	926J5pX750rQPiQs6pWiYQQBvBdIMjHBu0MlAK6bG13QpOOUW6DuQUR8FDalrsfShXbbNJP535MF+
	Xuz3OQq8YZKCrz5SIUpcwecOezbyK4LRlWrx0wg+DVEOMF/18FaHckrV6ZSqdbEYmZhCzrMyXkKE+
	HPULOxYw==;
Message-ID: <936d12817d1401a0e5033513cc8ad04a56a076e8.camel@infradead.org>
Subject: Re: [PATCH v5 04/34] KVM: x86: Add KVM_[GS]ET_CLOCK_GUEST for
 accurate KVM clock migration
From: David Woodhouse <dwmw2@infradead.org>
To: Dongli Zhang <dongli.zhang@oracle.com>, x86@kernel.org,
 kvm@vger.kernel.org, 	linux-doc@vger.kernel.org,
 linux-kernel@vger.kernel.org, 	xen-devel@lists.xenproject.org,
 linux-kselftest@vger.kernel.org
Cc: Paolo Bonzini <pbonzini@redhat.com>, Jonathan Corbet <corbet@lwn.net>, 
 Shuah Khan <skhan@linuxfoundation.org>, Sean Christopherson
 <seanjc@google.com>, Thomas Gleixner	 <tglx@kernel.org>, Ingo Molnar
 <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,  Dave Hansen
 <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>, Vitaly
 Kuznetsov	 <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, Boris
 Ostrovsky	 <boris.ostrovsky@oracle.com>, Paul Durrant <paul@xen.org>,
 Jonathan Cameron	 <jic23@kernel.org>, Marc Zyngier <maz@kernel.org>, Sascha
 Bischoff	 <Sascha.Bischoff@arm.com>, Jack Allister <jalliste@amazon.com>, 
	joe.jin@oracle.com, Joey Gouly <joey.gouly@arm.com>
Date: Tue, 23 Jun 2026 09:50:20 +0100
In-Reply-To: <913f6048e1193e65278cb3f4b4dbf04a151e85f5.camel@infradead.org>
References: <20260608145455.89187-1-dwmw2@infradead.org>
		 <20260608145455.89187-5-dwmw2@infradead.org>
		 <77f541f7-b346-4c86-8e66-3d2439e29cbb@oracle.com>
	 <913f6048e1193e65278cb3f4b4dbf04a151e85f5.camel@infradead.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-qgqjtXkQsawglhqsis4k"
User-Agent: Evolution 3.60.3-0ubuntu1~ppa6 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html
X-purgate-ID: tlsNG-ebf023/1782204624-9EFD1141-20B3D38B/0/0
X-purgate-type: clean
X-purgate-size: 9157


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

On Tue, 2026-06-16 at 12:13 +0100, David Woodhouse wrote:
> On Mon, 2026-06-15 at 23:47 -0700, Dongli Zhang wrote:
> > I tested patches 02, 03, 04, and 26 by customizing QEMU to support kexe=
c live
> > updates (LUO and KHO), preserving the memfd across kexec.
>=20
> Thank you.
>=20
> > For my use case, I used KVM_[GS]ET_CLOCK_GUEST instead of the existing
> > KVM_[GS]ET_CLOCK. I didn't account the downtime in my QEMU code, althou=
gh host
> > TSC never resets across kexec.
> >=20
> > Clock drift was zero, and I did not observe any unnecessary master cloc=
k updates
> > after KVM_SET_CLOCK_GUEST completed.
>=20
> The kvmclock drift won't have been *zero*; it will have been a
> nanosecond or two. Which most people won't notice, but is annoying me.
>=20
> It believe it comes from both pvclock_update_vm_gtod_copy() and
> kvm_vcpu_ioctl_set_clock_guest() rounding *down*. I think we should
> tweak the latter to round *up* so they're at least not biasing in the
> same direction.
>=20
> We could also do better at picking a snapshot cycle count which
> *doesn't* lose in the rounding. But those are definitely improvements
> for another day; this series is long and complex enough and has already
> gained a dependency on fixes in core timekeeping snapshots.

I think some of that drift should be solved by the snapshot fixes from
https://lore.kernel.org/all/20260622211822.1056437-2-dwmw2@infradead.org/
and in fact we might be able to do even better...

Since ktime_get_snapshot_id() now calculates the ideal time with sub-
nanosecond precision, we would add that as a field in the snapshot and
then KVM could track ->master_clock_ns_frac and ->kvmclock_offset_frac
and eliminate the rest of the rounding error too.

It might be more trouble than it's worth, but either way I'll look at
it some other time; it can be done incrementally.

--=-qgqjtXkQsawglhqsis4k
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
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI2MDYyMzA4NTAy
MFowLwYJKoZIhvcNAQkEMSIEIDOm1m10SG0crtAVSZ+494IKuSSKgvfWfYtKWgTF0lQ8MGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIAX8rrG7JGogqc
Dn18rvL0yeEm9C7B0cUWzaRfLGcwi83qFG645uhT+a88ggUFguW7A3ThVSEXDYPjy9h+Ue3TRczh
tCpAf1yW/6BErlotG+zhR8wnBn62WrnScA9mI3tCke9Y5mRmU1SuIm9OeaBCCird+dGoDGrj9QIS
Ano/QHEldJiGnBaIakO6HPq901RLMMs8+bcNDmKPIOrhpR/+c0b8KpcrQxrEuSEyUCx+/qYCFKPa
JYwMZy1QGRUPV9iL1bqf19unjfDpfc2oasa/LdZIJWSO+CYk0MPF74YuTiFZSsRAdYOEBFSHv0zw
9XsBWTYIipaj9Lc/4pGP4OnhZOv9fvKpd9PeL3jjuZR2weF32paGKO/buOTXV+Fj8aLf3WAqX0P1
sHLQlVdbcwz62jEKcSGCAotbO38Y2mqdYdiLSKtGh1nMo34s2ZpQhrfb/JmcYu+tSQNMeki7I96k
EqpYEAkrQU5rqBq3V+qxQPCEwZpS46PsdCn5P7zC+9qntI41+pK6qa6cgVDvvAYsptkb8dyC7gcM
IFzOyGXZCT2fRdZYkmvy8c8jGUEW4CioN40E6h/lZBo3goWkjnje+I3ngP8dosJqYH2UyFWqRro2
mYjacVLz45hVwE2WUlumxQ+lCGPwZTEToSv3F3Oi/7qNlsghe0bBT1SXTyojbXUAAAAAAAA=


--=-qgqjtXkQsawglhqsis4k--


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 10:32:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 10:32:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344186.1603305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbyQG-0000mz-8p; Tue, 23 Jun 2026 10:32:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344186.1603305; Tue, 23 Jun 2026 10:32:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbyQG-0000ms-58; Tue, 23 Jun 2026 10:32:04 +0000
Received: by outflank-mailman (input) for mailman id 1344186;
 Tue, 23 Jun 2026 10:32:02 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wbyQE-0000mm-MT
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 10:32:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbyQD-00GVHp-9u
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 12:32:01 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3a609e-bab6-0a2a0a5309dd-0a2a4502e25c-10
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 12:32:01 +0200
Received: from [40.107.209.10]
 (helo=PH8PR06CU001.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3a609f-fdf1-0a2a45020019-286bd10a1d60-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 12:32:00 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by CH3PR03MB7506.namprd03.prod.outlook.com (2603:10b6:610:19a::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Tue, 23 Jun
 2026 10:31:55 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0139.018; Tue, 23 Jun 2026
 10:31: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=QiWNPP1pM65vsN99yTeqJkbnTk90R3Nox8aik1/vXaBeBNQKLQbKqvWQTHEDMvvjtcE7N4m4NkoH3l94wYV8g7RKbxmKt4ZOjf6KpuIkKI5InK8PM5ihoAm79vURKo2tIV95KYfB1s+VaJx4B3wTZYYdF0qJrjEolgAG8K34gP2dn+MIJKuDaEUwAqUnwZtRLopsp8kGikowHy3JatO5fCryZSAiE2U1TqSWJa9x2goHXqPqS9wOLpoguKgv+qMNoa2DY2i1Du7ma1aXx1xyn899rAUhmoaYAfLqBlYTixO8vjLD4i6YewHW99iNLIDa5YzinXJEqyNSmcVmWKCB/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=dXac0mjl7/QGoGran/UohSEtKVomfRd1ZVnByLiz+xY=;
 b=YSNUEbPNspZLXN/23lm6C1+RZSFu4jDF5Ps53Tnu/W6ZQkpcdruNyDlf+OBy9KW+iULh1OhfExmcU+5InhupROc8vUkZNmnaG4iGOsSauaLxBOUZlSItgV/xmKMnpDKKMR1gwd8KOw3YVBMWiZMTyPrz2l+7/hUzRkJHwE73SBf4U+DzuY/gZ0bIejup+h8Fe2LIMbl9BnklG2CHi+HuCCS0wBwjyFnW+okW5fALA5EoZ5ZlNmFvaG/uhhp/LZJoWEVL5W9lp88QWMNGgqDOBPRKZemvKVd2s1k6BTReKkFcRRW1/lKFA1ThjSBGKLLTdbBX5MxF3ZFS7bR8XOT/zA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dXac0mjl7/QGoGran/UohSEtKVomfRd1ZVnByLiz+xY=;
 b=I9llelxK9Cawhn9fjAoJeRA/0TIEN41ONMLzKLNaCckYAiv3W02mGjSDTfXweb+r4XGcbS7BLk+Cy89uHKBa7D7eqz4fadE5TtuJiIIUViTGZMuiAwiQ+G/o+eHdhweNL6Wof17P4Vvn4VFRKcOiV8kY2MsY2Agz/6LzQOfqUYY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH for-4.22] char/ns16550: bound execution time of ns16550_interrupt()
Date: Tue, 23 Jun 2026 12:31:45 +0200
Message-ID: <20260623103145.76383-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.53.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR1P264CA0032.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:2f::19) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|CH3PR03MB7506:EE_
X-MS-Office365-Filtering-Correlation-Id: 8c9212a7-30fa-449a-b2e1-08ded112a5d7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|23010399003|1800799024|366016|11063799006|3023799007|6133799003|18002099003|56012099006;
X-Microsoft-Antispam-Message-Info:
	HcAyvpKXypORPBurikK8uUuCCTs2hFZgz15k4bOnKKZwdt/ToxIa0WNAojMhjgs2T4VGR2QUWJVcVlp+Wm9NXWH4ZKPEnVaDFfGPVjOxVzDBx5Xk2R3mKLqMO+uty+GdyFNvx/5tvyNyBLs4YabVkb+78Pb1n0NYgvxjVygCRH9c6f1UejkvnDKsfg1Ockx0DUkBsa7jlGPJ0aB7B65yaDbnt14HA8duR4/jCChmnEGxMbGe/pxhPI5nrZ/XgOp773ycoCozucejHG8Jv9yATSBbmXo5I5fkr1SUDNRKhIUSZPtu63hIftR8GhSAvXjCy59Z7KE4g2vEuNiNzxYKMekA+6BkYVhNN6XIL/mxa8y/pFzK74Hy5YPLzsxuyXK13ms4lDOhdL9KGK9Dj77ee5CbjPTlOIPxVXhh711M7lgEqtwvzXenji4RXgUhCu4at0soVcBj1D87Px7qO5y6h0oRrHIKlN+SubBwDlmbHQ1+5dMU6o5lp81EZehf8Iepom7lUWyw0o7b66M0ptf+PHJ0cDdzRVmHtOBfeBbs0FCfcCiA/T/IkUvZ9u0ByNP4WGQ7TOtckZoEx6gRmYn0exsiH1Eu4gOm2/CUWxPrTmPaN+ATcjpjJHoqJzN2dqq2maavwnHZ1MqqzVeJGrgqZX6LkaB2CiMVougwjduIwu0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(23010399003)(1800799024)(366016)(11063799006)(3023799007)(6133799003)(18002099003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R2Rpd0RPTThqU2JqU29lT0x4S0lDckRkeGdWZkRrczlLNjVEZDhnQUp1VW9C?=
 =?utf-8?B?MzRndVRHMnZHd2VaVldvUnFQYy9OQnN4NlNncjlGRHdDMHpkZFpIV3NnQnhm?=
 =?utf-8?B?UnlMYkxRcDg5TEZxeWo3NDM4ZHhqMzdQeHB6dktmNmovWHEvTzJvdnlGN2x0?=
 =?utf-8?B?RGVMV0U4aGhrQTczb1VkQWExaHU1TTlpOWFDL2tJRTI5REdQTTJ4anp5UGEr?=
 =?utf-8?B?NEhyanU3akFoQ3lQQ3VTMmhyaTFWR2ZuOWM0cUg0R2lmNlhRK3gzUWFlQXFS?=
 =?utf-8?B?UHZDMkp2OWlvT1E1S3VmZEpybEEwU0lpcVdIcUQ5aExVM2ZDWVlRVFlZRWpB?=
 =?utf-8?B?KzhyTFdkTUdEc1p3UzAyZUtBK2lKdW5lQ0F0cDM0S0hSWEM5ZEpQL1Ztdmlo?=
 =?utf-8?B?SmVhQ1RlcFVKaWJJNDhoSWgxVEpSdkpIanRCRTd6RG1BdWxmZ0JvT3EzY1ZJ?=
 =?utf-8?B?YlJnazlpT1lIbzVKaGNxWmw1UFA2RUZ4N2dnMklaYVhETWRMY0xiNm9uOGY5?=
 =?utf-8?B?d3dyUTh2Q3B1Z3c2MmFSUXl2eThrUG5pQm4xSjFpaGVJK1RCUDVCTUk1S0FZ?=
 =?utf-8?B?dnlYOXdRNHpjaW1MOGFtSzQxbU5jTWpvYnVWc08zRSt3S3BtUmtJVmFuS3Jw?=
 =?utf-8?B?VmZvbWFSSm5yU1ZXRWxrQnY3bTk5WDhUVXM1V0MrUVl2dzlzUHJWVUJnMnND?=
 =?utf-8?B?d2orYUhnS25YWWx4U3ZzOXN3WlovcDRocGhOMTl5elU5eHBYU0dMZ1dJTWZK?=
 =?utf-8?B?U1dmUjNmc3MreVBvQU5vNEhNMFU5Nm9TemovV1g1OWcySDFQK3J3REdydTV6?=
 =?utf-8?B?Vm1NOXo0OUFOZWt6SURCaE1FaG5tbjZEazFubHNOMmMrTERMK0NzUmFzWFFF?=
 =?utf-8?B?UjNlWWRrVUZkOSt2K0Nod2dCZWQ1RVpDbWdCdldZZTRURHVGNlAzL1JmS2h6?=
 =?utf-8?B?TkhOQ0hUT2krZXZlVjVSSkZsQlZ6UUllVHRNRmp0ZVhna0RrTU1LbE4yTWJv?=
 =?utf-8?B?YkFLR0JHZ1BtNmgzRDltU2lidERsb1VpOE9nRnNCK3F5UUoxRlYveTh3WThZ?=
 =?utf-8?B?UUQrSDRZZklhdHRIQmNjbGhhOUpxNndUL2FjWGJNTU9HVmxaWjNmODFDY2hk?=
 =?utf-8?B?UzEydWRHU3E5NUVKQkF6TTlqU0liMjRGOFR1akxKbk9EQlJ4elRiclFmcFRS?=
 =?utf-8?B?dTBkc3U1YkprUXpOSlNzRmFsQmZ3dnp1eHBTY0hseVhZMjNVUytqSmxaMGV6?=
 =?utf-8?B?eGxaMHAvMG9ZOWZsRUJ6OFhlNUdXV1p2QTU4RllZR2NLZHBVSXVsRlFWSzdh?=
 =?utf-8?B?Y3pudzRrTVZHNWM5RXJ1aXJtYzhwQkc4aUQ5bHRicENsVVg5YTFhTXFsYk1O?=
 =?utf-8?B?UkxJallnNFdSYnBtc2VORm9UTVhuMkdPTlhwcldPcnRaR2MvblJzS2k1VGdV?=
 =?utf-8?B?MEtWMlZ0MmVzelU4b0JzcDIrQ0lCVW05SzFzRWhWSTA3UzlnY3Y4ZWFLQWM3?=
 =?utf-8?B?bXdqR2c4Qi9TNDVIOTVTcWJGVk1mV2ZjT0thdlhwT1h2VWRPUHI0QXJjUGhX?=
 =?utf-8?B?U0Jtamo4ZFZDSTRmQ2o2eHVyQlBjUk10UHN4Wk90R1hlam9hcDR5U3FFSXha?=
 =?utf-8?B?clNaSkpvU0Jvb3dBc1B1ampHZ3BrK2djV0hOd3hPbnJBb3BlN1dZZHRZSHJy?=
 =?utf-8?B?VHBBM3ptMjllU1hVWTZnYjUzTGsvc2pSUWlMUnY1WE11Ny9yOHE4ZmsrWGor?=
 =?utf-8?B?VE5SVWpWNDVyTFhpd3IvMFBnNHBvK0lnZDBGRHp4dlFlcXRvRHhSTzJKa08y?=
 =?utf-8?B?cFJGbElMaFluN1NQb0pvUTh5RUFOQnZJcEQ3UjZTTDVUaFEvMCtyNlJreVVm?=
 =?utf-8?B?ZGNTUnJNZWJmaENsazc1MmFGSWZ6UTZzdUJuMGpnQUprNE5IVWo2RGNxYjhF?=
 =?utf-8?B?SmYwR0FlYWwvUjJCc1RDQVJHUkFpcnZmSTY2TTJXVTk2cUs5NDNRdnFjdXU5?=
 =?utf-8?B?b05pZk1wOEc2em04T0ZNQVRBT0p2S1dyYm1IVHlmM05jSTlvV2JyMVNKTUN3?=
 =?utf-8?B?QlBqVXhxZkpOSmNyTG9uWGdLZjl4Z24xaERXTWVCRG92SGc3ZHh3QVBYa3lv?=
 =?utf-8?B?c2kzNzdxdm9oN1J0c1JIYXFIZ1VScEpKWUFKeDNUSTloemw5Ui9DYW44RDhI?=
 =?utf-8?B?emFYaXV1VExUbEJxajNGdFE1b1ZRdm1tNUtINUROanhVaW5JTXBhalNKNVZy?=
 =?utf-8?B?YVVhYmV2SjlwUitLWEdSZUlubTJabmJDb2VKQWdGZHEzVk1rUU1wQ0x6Uk5o?=
 =?utf-8?B?OWpSOERZNUZyM0lTOXMzaXJJNkdOOUoxLzBSa2tJbGlpRVE2TndXdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8c9212a7-30fa-449a-b2e1-08ded112a5d7
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 10:31:55.6550
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fZyybfALPv34mqt98LxFPcdvS9P1NL15hqxJpueupw5oW2qoqN8gVqB8XE9igeqec61NsAOeidA5YMw/upyp3w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR03MB7506
X-purgate-ID: tlsNG-720697/1782210721-44A113F3-832AF6DA/0/0
X-purgate-type: clean
X-purgate-size: 3862

The current logic in ns16550_interrupt() will loop until the device sets
the NOINT in IIR.  At least on the Lenovo ThinkSystem SR630 V4 the flow
control of the serial-over-lan emulated UART seems to be broken, as it
doesn't set the NOINT bit consistently.  The Transmitter Holding Register
Empty in LSR also seems to not be properly signaled, as even with it set
writes to the transmit register take ~6ms.  This leads to the watchdog
triggering very easily on such system.

Introduce an upper bound on the execution time of ns16550_interrupt(), this
is currently set as 4x the polling interval, which is calculated as the
time to fill RX FIFO and/or empty TX FIFO.  The current maximum is 5ms.
Once the timeout triggers the interrupt is disabled and the uart is
switched to polling mode.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
There's a possible alternative approach to solve this by moving the actual
interrupt processing to a softirq tasklet and disabling the interrupt
source until the processing is done, likely unifying the logic with the
timer task.  However that's a bigger change, and too risky for 4.22 at this
point.
---
 xen/drivers/char/ns16550.c | 33 ++++++++++++++++++++++++++++++++-
 1 file changed, 32 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 878da27f2ef8..008f673f52ee 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -62,6 +62,7 @@ static struct ns16550 {
 #endif
     unsigned int timeout_ms;
     bool intr_works;
+    bool force_polling;
     bool dw_usr_bsy;
 #ifdef NS16550_PCI
     /* PCI card parameters. */
@@ -190,12 +191,41 @@ static void cf_check ns16550_interrupt(int irq, void *dev_id)
 {
     struct serial_port *port = dev_id;
     struct ns16550 *uart = port->uart;
+    /* Set quite arbitrarily as 4x the time to drain the TX or fill RX FIFOs. */
+    const s_time_t timeout = NOW() + min(MILLISECS(uart->timeout_ms * 4),
+                                         MILLISECS(5));
+
+    if ( uart->force_polling )
+        return;
 
     uart->intr_works = 1;
 
     while ( !(ns_read_reg(uart, UART_IIR) & UART_IIR_NOINT) )
     {
         u8 lsr = ns_read_reg(uart, UART_LSR);
+        s_time_t now = NOW();
+
+        /* Break out of the loop if spending too much time. */
+        if ( now > timeout )
+        {
+            struct irq_desc *desc = irq_to_desc(irq);
+
+            /* Disable the interrupt source - it's never shared. */
+            spin_lock_irq(&desc->lock);
+            desc->status |= IRQ_DISABLED;
+            if ( desc->handler->disable )
+                desc->handler->disable(desc);
+            spin_unlock_irq(&desc->lock);
+
+            /* Disable interrupt generation on the device and arm the timer. */
+            uart->force_polling = true;
+            ns_write_reg(uart, UART_IER, 0);
+            set_timer(&uart->timer, now + MILLISECS(uart->timeout_ms));
+            printk(XENLOG_WARNING
+                   "uart interrupt taking too long, switched to polling\n");
+
+            return;
+        }
 
         if ( (lsr & uart->lsr_mask) == uart->lsr_mask )
             serial_tx_interrupt(port);
@@ -223,7 +253,7 @@ static void cf_check __ns16550_poll(const struct cpu_user_regs *regs)
     struct ns16550 *uart = port->uart;
     const struct cpu_user_regs *old_regs;
 
-    if ( uart->intr_works )
+    if ( uart->intr_works && !uart->force_polling )
         return; /* Interrupts work - no more polling */
 
     /* Mimic interrupt context. */
@@ -313,6 +343,7 @@ static void ns16550_setup_preirq(struct ns16550 *uart)
     unsigned int  divisor;
 
     uart->intr_works = 0;
+    uart->force_polling = false;
 
     pci_serial_early_init(uart);
 
-- 
2.53.0



From xen-devel-bounces@lists.xenproject.org Tue Jun 23 10:56:22 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 10:56:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344195.1603315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbyng-000421-2I; Tue, 23 Jun 2026 10:56:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344195.1603315; Tue, 23 Jun 2026 10: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 1wbynf-00041u-UB; Tue, 23 Jun 2026 10:56:15 +0000
Received: by outflank-mailman (input) for mailman id 1344195;
 Tue, 23 Jun 2026 10:56:14 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wbynd-00041o-Sa
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 10:56:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbync-00Aata-PR
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 12:56:12 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3a664b-bab6-0a2a0a5309dd-0a2a45069ffe-10
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 12:56:12 +0200
Received: from [74.125.224.52] (helo=mail-yx1-f52.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <freddy77@gmail.com>)
 id 6a3a664b-b690-0a2a45060019-4a7de034e809-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 12:56:12 +0200
Received: by mail-yx1-f52.google.com with SMTP id
 956f58d0204a3-662ebb1329aso2604259d50.2
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 03:56: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1782212171; cv=none;
        d=google.com; s=arc-20240605;
        b=g5H6PZkkAPyYFL3ge3tHcpL7YMfWlz6Qxcj49bru4EsAqHYB+qysFmHCfGlV3NANk8
         kl2tjR4UOebsrs1IsCMTV4d81iTCfxDMaOZ0FRE7avAXnRba+mH6xuAhp5VC8R4kZJwE
         vsKisZL3bz2DZt8rjc0BeceZTOmDtnAk8wTkHkjFyNhExB1rfAFGeB6FpNXMaOxuuch5
         yHWhUt6JsUu+RkzrDUA4Pi0kCS4DdL1znShjaMpo6zogaQCU4xCdSINvjgk229haXvNz
         HRUPvFrAcagbo/17SkIVEgbfcRjO5ErJvFvGmhX/A5YyYJEGWZXMqc6a3CoWPsK6bkPA
         nSJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature;
        bh=wdGGmGll3Ht5YC6J3ISLcFBULbyrMD2jWIH0eULPVYk=;
        fh=q6YmllG+4Nuq2jB/7YclHQodtflgkS2EWtGkU+nirko=;
        b=XQlpvLpQZibWoRcldZvH40i80I0jcpFmFVjxTrihbKRyLK/4jp3Jfxc8ZirHCKogct
         8+y32LIiY5mh5xG/ALfZyq340EXiEKWs3YWkLcjBxRkvuX4cWb8ZqwvlpoWBexyPlhw6
         klvTERzI2Q2cFQU2jB9mN+v10iOcfMvuO5UsljrT5qaXEtAY66NpmmloIeMLYxR6LTV0
         pLFu1RGXS0iuqEC1K1HFWbEmblKhBZPIeLPnef4aNUgJsme3NisLjGbXSco3dEd+rFuk
         Zcok3espNpHyxqUrydxk4nCb5m0I4kFeHgwGSciNqBCIsIhTHE23uEt9GxTcCFJ2YfIv
         dZdQ==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782212171; x=1782816971; 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=wdGGmGll3Ht5YC6J3ISLcFBULbyrMD2jWIH0eULPVYk=;
        b=rJUGMhPo/wM+s+tO1dNaXr6oRkl42UMuaD87D4jSl5BiUPCBH4QiUskxg2Mk1HBwLu
         8yEi6204sFaWrrN0+idGLzuHLpbH76Xu846AMn+12fyo5pouXBHSoN/fij/YVgDG7N+r
         cUdqhBwHnR/pFQ7lApLO5RM/3F/yZXMt3gZ1SKjkMTDI4F0jNq4hwqIPTRyZSvXivOAI
         kCyXkT1ZkevmTwJKlqM/7eS41BHiUABLSrSuCP+6prqRXVyoeiBbIcVpIEAmt0/8I5qN
         +vd1Hsd/YzxS1uFXxeQ2UZAhVuDSs7C8ar1JjBlHYGyNy0sofu/aoekdEp12rUuUxp1Y
         6QkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782212171; x=1782816971;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wdGGmGll3Ht5YC6J3ISLcFBULbyrMD2jWIH0eULPVYk=;
        b=UxCiOtBMCWVe8p0nz30km3q5VdZ7NgRlQV/d9Xl5XimvbxC8v74Br5W3OUNeJGLcDq
         uFdVoDjMcEEWmkp+DFPRltwDk8X5wXXcPVoQu41gwc3k3up0keSo3nnVEGZUFkl3f70+
         e9/aDcbh4+jcuP1q4dAt1uZq0lnCHzuNInzhlmd6qq0lrn25b75/6ZvGf/6w+UJDv2sS
         FRhFS3ymKWcW4Md6KjqlF2szJUwaOyIFjLvv5Bp6tKrjUPmghpq+SEifXYZuigd5EteN
         TW8/9whcwFiRmyhX2fxSFoybs8syTsX840Nw3qFiZqnQo2bEb+MIy7rSl6kVOoR9ocaH
         HwtA==
X-Forwarded-Encrypted: i=1; AHgh+Rp+QmmyqcOKSPK8BUgyHaLoiGhWVE2Cqd5fVnTP+oBUb6MB38LaZxT0cH3v5igradu2Oca/bR4qgHU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyFpuqE8o/KUlyKVOY08CLGvIzqtPqQuYB6h81SKgA7TDnokq2D
	t91/D8n/Ndaum1JfZjuz7HuS/DGCIYl4WHC6i6Dc9tzLd3v55vvH49+VynroGPd9rgftqBFjp5B
	x7mUmB7OztxK7aTjEBs+LJEF23gVi2kE=
X-Gm-Gg: AfdE7ckoDYS9gTq3rxZBfoULrbAYhFM6nSQOSxzvFDVZ6epaCYTRXqW8Egjw5DmCVZO
	sx5eVpVo6zk9aBrsZdLmX6n6ISomiqGVqvdkGr/h0AiRTRNYbGVY0JxJopQzC6VvXnklqwUKY9Q
	loADAOH58rwHJ6y3mT24TqnGDHTzSe6hEfbu9UKPK1qrpe/m1jxQ121WgpVjgETEZo3spw6McNa
	jCdEUT6sT8YZj3g2OSqQAXueqMHEaPHGUfD/d/uAXHlfsV0SrjPylZTqMGd+/+6bB0T4JO7XKLi
	YRCDvyh+pCGlMaeLrB1Urg8=
X-Received: by 2002:a05:690e:b87:b0:656:25e6:e127 with SMTP id
 956f58d0204a3-662ffc549cemr16198427d50.11.1782212170937; Tue, 23 Jun 2026
 03:56:10 -0700 (PDT)
MIME-Version: 1.0
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
 <20260619130501.272832-13-frediano.ziglio@citrix.com> <c5f00fa4-4d9e-4227-87a0-6e657fd523e9@suse.com>
In-Reply-To: <c5f00fa4-4d9e-4227-87a0-6e657fd523e9@suse.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Tue, 23 Jun 2026 11:55:58 +0100
X-Gm-Features: AVVi8Ccl3XRVLEnUhCTcMICQaGMcXbWZDyGQpLSOpq_fY0gE-R8axM_z_P0JUYU
Message-ID: <CAHt6W4c0FDaMZK-4-7CReG_PdV+L=HNxVGNjV5vUjDkKq3EMBA@mail.gmail.com>
Subject: Re: [PATCH v6 12/16] xen: implement new foreign copy hypercall
To: Jan Beulich <jbeulich@suse.com>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, Anthony PERARD <anthony.perard@vates.tech>, 
	Juergen Gross <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
X-purgate-ID: tlsNG-16d1c6/1782212172-397F3853-28D34310/0/0
X-purgate-type: clean
X-purgate-size: 11789

On Mon, 22 Jun 2026 at 11:34, Jan Beulich <jbeulich@suse.com> wrote:
>
> On 19.06.2026 15:04, Frediano Ziglio wrote:
> > --- a/xen/common/memory.c
> > +++ b/xen/common/memory.c
> > @@ -1545,6 +1545,139 @@ static int acquire_resource(
> >      return rc;
> >  }
> >
> > +/*
> > + * The "noinline" qualifier avoids the compiler to create a large function
> > + * consuming quite a lot of stack.
> > + */
> > +static int noinline mem_foreigncopy(
> > +    XEN_GUEST_HANDLE_PARAM(xen_foreigncopy_t) arg)
> > +{
> > +    struct domain *d, *const currd = current->domain;
> > +    xen_foreigncopy_t copy;
> > +    int rc, direction;
> > +
> > +    if ( copy_from_guest(&copy, arg, 1) )
> > +        return -EFAULT;
> > +
> > +    if ( copy.flags & ~XENMEM_foreigncopy_direction )
> > +        return -EINVAL;
> > +
> > +    direction = copy.flags & XENMEM_foreigncopy_direction;
> > +
> > +    rc = rcu_lock_remote_domain_by_id(copy.domid, &d);
>
> Iirc I did ask before why this isn't ..._by_any_id().
>

I probably was confused by the question about MMUEXT and the 2 domains.
There are different similar hypercalls (like the mentioned MMUEXT but
also hypercalls to map foreign domain memory) that have this check
(not the same domain). Any domain has, obviously, access to its own
memory, so it should not have to use hypercall to access its own
memory. If it does it looks like a mistake causing performance issues
or an attempt to circumvent security; in either case you would like to
avoid it.

> > +    if ( rc )
> > +        return rc;
> > +
> > +    if ( copy.nr_frames == 0 )
> > +    {
> > +        rcu_unlock_domain(d);
> > +        return 0;
> > +    }
>
> Any reason this cannot also be "goto out"? The more that now that you have
> moved this past the domid validity check, imo it should further move to ...
>

The only reason was style and to avoid a memory copy, but it's not a
hot case so I'll change to "goto out" (no strong about it).

> > +    /*
> > +     * Check we are allowed to map and access these foreign pages.
> > +     */
> > +    rc = xsm_map_gmfn_foreign(XSM_TARGET, currd, d);
> > +    if ( rc )
> > +        goto out;
>
> ... below here. Perhaps simply as
>
>     if ( rc || !copy.nr_frames )
>         goto out;
>

I think this would be confusing with the above "Check we are allowed
to map and access these foreign pages" comment.
Are you okay with just the change above to "goto out" ?
Also moving here would potentially change the result and do a useless check.

> > +    do {
> > +        /*
> > +         * Arbitrary size.  Not too much stack space, and a reasonable stride
> > +         * for continuation checks.
> > +         */
> > +        xen_pfn_t gfn_list[32];
> > +        unsigned int todo = MIN(ARRAY_SIZE(gfn_list), copy.nr_frames);
> > +
> > +        rc = -EFAULT;
> > +        if ( copy_from_guest(gfn_list, copy.frame_list, todo) )
> > +            goto out;
> > +
> > +        for ( unsigned int i = 0; i < todo; i++ )
> > +        {
> > +            struct page_info *foreign_page;
> > +            mfn_t foreign_mfn;
> > +            void *foreign;
> > +            p2m_type_t p2mt;
> > +            const unsigned long valid_mask =
> > +#ifdef CONFIG_X86
> > +                p2m_to_mask(p2m_ram_rw) | p2m_to_mask(p2m_ram_logdirty);
> > +#else
> > +                p2m_to_mask(p2m_ram_rw);
> > +#endif
>
> The set of permitted types didn't change, yet a justification for the resulting
> limitation also didn't appear.
>

Yes, that's missing, indeed.
Should the set of types be different for reading and writing? For
instance do not allow writing to read-only memory?
Given that it looks like different architectures have different
meanings and definitions for these constants, should it not be better
to define some new constants for this specific usage? For instance
P2M_READ_TYPES and P2M_WRITE_TYPES?

> > +            foreign_page = get_page_from_gfn(d, gfn_list[i], &p2mt, P2M_ALLOC);
> > +
> > +            if ( unlikely(!(p2m_to_mask(p2mt) & valid_mask)) && foreign_page )
> > +            {
> > +                put_page(foreign_page);
> > +                foreign_page = NULL;
> > +            }
> > +            if ( unlikely(!foreign_page) )
> > +            {
> > +                gdprintk(XENLOG_WARNING,
> > +                         "Error accessing foreign gfn %" PRI_gfn "\n",
> > +                         gfn_list[i]);
> > +                rc = -EINVAL;
> > +                copy.nr_frames -= i;
> > +                guest_handle_add_offset(copy.frame_list, i);
> > +                goto out;
> > +            }
> > +
> > +            foreign_mfn = page_to_mfn(foreign_page);
> > +
> > +            /* A page is dirtied when it's being copied to. */
> > +            if ( direction == XENMEM_foreigncopy_to )
> > +                paging_mark_dirty(d, foreign_mfn);
> > +
> > +            foreign = map_domain_page(foreign_mfn);
> > +            if ( direction == XENMEM_foreigncopy_from )
> > +                rc = copy_to_guest(copy.buffer, foreign, PAGE_SIZE);
> > +            else
> > +                rc = copy_from_guest(foreign, copy.buffer, PAGE_SIZE);
>
> You cannot validly write to the page without holding a PGT_writable ref.
> Else you might overwrite a page table or a descriptor table in a PV guest.
>

Given that this code was "inspired" by other hypercalls I'll also
check the other code.

> Once again - can you please make sure you have addressed earlier review
> comments, before sending a new version? I did point this out before.
>

Apparently not.

> > +            unmap_domain_page(foreign);
> > +            put_page(foreign_page);
> > +
> > +            if ( unlikely(rc) )
> > +            {
> > +                gdprintk(XENLOG_WARNING,
> > +                         "Error %d copying gfn %" PRI_gfn "\n",
> > +                         -rc, gfn_list[i]);
>
> Why "-rc"? (See other log messages including error codes.)
>

Because the errors are positive but for ABI we return them as negative.
But I suppose if for other messages we use the negated value this
should be just "rc".
I'll change.

> > +                copy.nr_frames -= i;
> > +                guest_handle_add_offset(copy.frame_list, i);
> > +                goto out;
> > +            }
> > +
> > +            guest_handle_add_offset(copy.buffer, PAGE_SIZE);
> > +        }
> > +
> > +        copy.nr_frames -= todo;
> > +        guest_handle_add_offset(copy.frame_list, todo);
>
> Don't you need to also update copy.buffer?
>

It's updated some lines above inside the loop.

> > @@ -2012,6 +2145,18 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
> >              start_extent);
> >          break;
> >
> > +    case XENMEM_foreigncopy:
> > +        /*
> > +         * Instead of using "start_extent" we update the structure back,
> > +         * we update it back in anyway to tell caller were the copy
> > +         * stopped.
> > +         */
> > +        if ( unlikely(start_extent) )
> > +            return -EINVAL;
>
> As before - please be precise with comments like this. We update it back also
> when encoding a continuation. Perhaps instead "..., to indicate the point of
> failure to the caller as well as to encode continuations without being
> constrained by MEMOP_EXTENT_SHIFT".
>

What about (trying to include your suggestion, to be fixed for line length):

        /*
         * Instead of using "start_extent" for the continuation, we
update the structure back,
         * we update the xen_foreigncopy structure back, so we are not
constrained
         * by MEMOP_EXTENT_SHIFT.
         * We copy it back also to tell the caller where the copy stopped.
         */

> > --- a/xen/include/public/memory.h
> > +++ b/xen/include/public/memory.h
> > @@ -740,7 +740,49 @@ struct xen_vnuma_topology_info {
> >  typedef struct xen_vnuma_topology_info xen_vnuma_topology_info_t;
> >  DEFINE_XEN_GUEST_HANDLE(xen_vnuma_topology_info_t);
> >
> > -/* Next available subop number is 29 */
> > +/*
> > + * Copy memory from/to a given domain.
> > + * As this call requires target access and guest with target access won't be
> > + * compat guests supported for compat guests this is not implemented.
>
> As before - I question this. You simply can't know. (I'm also struggling with
> wording / grammar.)
>

I was trying to code the compatibility layer. Is there a way to have
64 bit PFN even for compatibility guests instead of having to limit
and convert PFN numbers?

> > + */
> > +#define XENMEM_foreigncopy 29
> > +struct xen_foreigncopy {
> > +    /* IN - The domain whose memory is to be copied. */
> > +    domid_t domid;
> > +
> > +    /* IN - Flags. */
> > +#define XENMEM_foreigncopy_from 0
> > +#define XENMEM_foreigncopy_to 1
> > +#define XENMEM_foreigncopy_direction 1
> > +    uint16_t flags;
> > +
> > +    /*
> > +     * IN/OUT
> > +     *
> > +     * As an IN parameter number of frames of the domain to be copied.
> > +     * On output on error updated number of frames left.
> > +     */
> > +    uint32_t nr_frames;
> > +
> > +    /*
> > +     * IN/OUT
> > +     *
> > +     * Frames to be copied.
> > +     * On output on error updated to point to first frame unhandled.
>
> Is "on error" really correct / meaningful? The field can be updated at
> any intermediate point, when a continuation is scheduled. Perhaps:
>
>      * On output:
>      *  - on error updated to point to first frame which couldn't be handled,
>      *  - on success undefined.
>
> Along these lines for nr_frames then as well (if needed at all, seeing
> that it could as well be undefined in both cases, as the information is
> redundant with the frame_list update).
>
> > +     */
> > +    XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
> > +
> > +    /*
> > +     * IN/OUT
> > +     *
> > +     * Userspace buffer to read/write from.
>
> s/Userspace/Guest/ ?
>
> Also still no mention of when / how this field is updated.
>

What about:

/*
 * Copy memory from/to a given domain.
 */
#define XENMEM_foreigncopy 29
struct xen_foreigncopy {
    /* IN - The domain whose memory is to be copied. */
    domid_t domid;

    /* IN - Flags. */
#define XENMEM_foreigncopy_from 0
#define XENMEM_foreigncopy_to 1
#define XENMEM_foreigncopy_direction 1
    uint16_t flags;

    /*
     * IN/OUT
     *
     * As an IN parameter number of frames of the domain to be copied.
     * On output updated number of frames left (0 if success).
     */
    uint32_t nr_frames;

    /*
     * IN/OUT
     *
     * Frames to be copied.
     * On output updated to point to the first frame unhandled.
     */
    XEN_GUEST_HANDLE(xen_pfn_t) frame_list;

    /*
     * IN/OUT
     *
     * Guest buffer to read/write from.
     * On output updated to point to the first frame unhandled.
     */
    XEN_GUEST_HANDLE(uint8) buffer;
};
typedef struct xen_foreigncopy xen_foreigncopy_t;
DEFINE_XEN_GUEST_HANDLE(xen_foreigncopy_t);

> > +     */
> > +    XEN_GUEST_HANDLE(uint8) buffer;
> > +};
>
> What was (again) left unaddressed is the question towards using GFNs on both
> sides of the copy. This would eliminate the need for the flags field, taken
> by a 2nd domid_t one then.
>

This was addressed in
https://lists.xenproject.org/archives/html/xen-devel/2026-06/msg00567.html
and in minor way by
https://lists.xenproject.org/archives/html/xen-devel/2026-06/msg00847.html.
It was considered but more complicated and worse from a performance perspective.

> Jan

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 11:30:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 11:30:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344209.1603323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbzKF-0008OK-JC; Tue, 23 Jun 2026 11:29:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344209.1603323; Tue, 23 Jun 2026 11: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 1wbzKF-0008OD-Fy; Tue, 23 Jun 2026 11:29:55 +0000
Received: by outflank-mailman (input) for mailman id 1344209;
 Tue, 23 Jun 2026 11:29:54 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wbzKE-0008O5-EQ
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 11:29:54 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbzKD-00DOTt-1w
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 13:29:53 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3a6e19-bab6-0a2a0a5309dd-0a2a450a847e-44
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 13:29:52 +0200
Received: from [40.93.198.65]
 (helo=CY7PR03CU001.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3a6e2f-93a5-0a2a450a0019-285dc6411fe9-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 13:29:52 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SJ0PR03MB5805.namprd03.prod.outlook.com (2603:10b6:a03:2df::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Tue, 23 Jun
 2026 11:29:49 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.018; Tue, 23 Jun 2026
 11:29: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=vpE05sUhU0c92KCxBnHQzMpkWV/9rO6p+cseijL3oehQ0fDkGwqudaVzj3KbnCW5LCNULrB/Aaiir+37qgXL7zYh0vW2K77PyUCfZipxDyeUYBAHT1Vdt5YeQ0lcA/qnhZCohg3OWAMVwWJchVYr4MnTGk1Rf88WGZR8MtTqHSWABI2nBL5O9blkbItWUOaCIuMyGO9cFHL9mtX0uX38DKsl5l7PZ4shrbbUW/pxYHjvLAkyNevT7gvUcDX2nZMTX7JbnOWdJzWAUHm8mGIMp4hlaYEx5SDroLDleYQzUGAO/Z+kkEmOBRersrkeEAVhf2onsK/BbzFglxh50fMm6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DWxO4HJ0abRJyVtTvUOK5Cu3raoYwrFxxF20CHrgGZQ=;
 b=swV2UYnebYHzwfYxPX2z/XFCat/xYt+a/DXpUr0KyfNOp3jcZQSlGL+TYVpbpJ8pUZ/r3qOTTJ0RjVe0gLnDCM+klBXN2SM0H7o1wh4AVDUY6evIPpKThmx7vLvLsiLrowWKVi/Hr7YdjRV7LC+bwGnSJFxfFPe/xbG5h7+t1IIDgOUdCqi/2OdtEgZ4P3vGrjWFQoTCwRBK4I/gyHew6DV3c5R/5GCWdmoE0Es5aDRQOGi9uwNGByzBEXrP9Np04W2dAWdv0yFY287YyyEsa2DPCMiaZe4eKklrbbr3cqCCEm4WQ2gKc2xTxZXeBBkl5A0kOb5rS3iNUqhxtFYfxw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DWxO4HJ0abRJyVtTvUOK5Cu3raoYwrFxxF20CHrgGZQ=;
 b=eCR3bjMxRnz5omXMpMlg2XuGgnxssU0nKhWdwUSF5L6maAqvRP7RBun/1NpIKG8FgkJAxlWnpq7eKmm/6/iHwwCUmQ5t1AlsndfaYy96tByBTKytWsYVg6dt8u17vMG+z/ZLc8KbhongYahGsnaPrDEAtFCqSoa0kdjR5nlJQZE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <0343b00c-2553-4df2-98a5-327636a4cb05@citrix.com>
Date: Tue, 23 Jun 2026 12:29:44 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Romain Caritey <Romain.Caritey@microchip.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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
Subject: Re: [PATCH v3 02/23] xen: arm: update p2m_set_allocation() prototype
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
 <a63794ac32e157ea44c3450fc5fb6f2842e00680.1781693963.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: <a63794ac32e157ea44c3450fc5fb6f2842e00680.1781693963.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO3P265CA0017.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:bb::22) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SJ0PR03MB5805:EE_
X-MS-Office365-Filtering-Correlation-Id: 355c2b35-e50a-4154-d194-08ded11abc2d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|7416014|23010399003|366016|22082099003|18002099003|4143699003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	yGdCS7jt1AJXKWcxSHaCCtRWpZIoIQ4t1gL9omQRO2CVRm5hPRQ3CJJ8PVuhufo2xrbq3uU1RGedKK5aYeqTAS51TSznNnuZfH/4RSP2vdBV1+XJ/F4/ksMVyXfRH9Wm4opb9DjNmVTXtL8UmfpoMQif6r4gulf200NewkyTWYcOeTssKbwLsBfVC0KRD3Emh1dHgh0f2PM5i7OkREHbXmfnytRKgN+xiit/QBKSxOXHs3D5VAZ7KqHX5r9fZoIJO8w9jF9B7K65mfR731tlh+vtqsPjXfnaRvIXci/pvJFKRv/xHlFssmvKI1I48DnWSYpx3KuctHh5tNKbv9GIOmJV2rzkgJMxfsqJ9Olj+UOy/hWdYd5CB59fMp/7VH9ZCkzPvSuOSevQJCCyAeSNSN59kY5122sS83+LoMn+4nGy6UfiNCxBBG/t47m3WuFp2K0gUt4oJ0VuYqx/NE3+b4scvEU/swdMJFM++grqNx1Fqf/jNC+dgtalos054CHz8jbGblqH7PJAItSgXpQbNXvz5sc46AmA77SWU0mNkvz0K0r6RY/mtENDFZlmsKr/nM51h+1vPBzWAExbGMcoZio5GH5pI9m2iz+ybZy4s6+0BIt4eoTjs5ay7wq7Ajm2CAwRn19hD6Gk37UZRBe55bqiirod/aXqv5H61lDvINc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(7416014)(23010399003)(366016)(22082099003)(18002099003)(4143699003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cEhnWXFseFBKOFhHTEhIYjdqTkV4c1IrWmFKSHUrVTJBYUpINVdZMU1Ra0N5?=
 =?utf-8?B?aEFVVWVHa1Bnck1hNU8rRHNvVUkvSUJVdVFUMElPOVozZkRNdVdySmxqcDBH?=
 =?utf-8?B?ZFIxWkt0ZDlDdG02MzJLRmsyREVrVWVrelZ0RnlhZGQ5cUlxNXBoYTJ3NXly?=
 =?utf-8?B?bmNpSmFJYVZGUFAzL1BBRDFqclpUSlB1K3ArZ3JGMkQyWE1qaFJXODFaQmwy?=
 =?utf-8?B?VEJDcSs3S2lDNmhRZk11RHJYY0hUSlQwVmk1YVBwanJSZTFZTVNxK3IwOVE4?=
 =?utf-8?B?R0dlTUxYVHVBK3B5VlhxTUhHN0tVeGpjV3YxUTVoeHhwdVdIR3BUbHdiZmFT?=
 =?utf-8?B?WlVnZ2kxV2ZERHFXdDJqY1FnMEQrMmx1cGJaNHlEREFEbUVJVWlkM0EzWFMz?=
 =?utf-8?B?R280aCtKVDdoaUE4MkFrN1RsZUY3WmZiVll4QjVnM1ZUdTQ5NjZBdU5pRlJy?=
 =?utf-8?B?NzlsVFVwM1ZVUnEvWUpjQkc5UHdXWEsrWkVqMjZ0YWVlanErak83TDNOQy9q?=
 =?utf-8?B?MmZ3M1QraE1IR2lOSGIvdGw2V2tQa28wN0loNnVlRTdNNDNwSGVGWjVZZkJR?=
 =?utf-8?B?cUxCZ1lGZjE5b25mWm9QeFJXL0hkSzVBSlZHS2VwNUtEOFVrM21PUVhTY20x?=
 =?utf-8?B?bW5PdFdKTmFCaERITEhrOHdZeUhXRUtQT2p0eFptbkY3WHB2ajA3ZmxyZjBl?=
 =?utf-8?B?WUs1KzQ2ckU5ZC9ySUhZT1RlZ1NkbmE5T3pvTXpmZTNub1ZsY0tHYVhIVmNn?=
 =?utf-8?B?VHhtTjl1QUEwRVRRTjFjNDF1QkkwTTVZRTBob05VZytYMjBtUU4yV3I1OVlX?=
 =?utf-8?B?Z0tkRVhMeGR1Q3AwNnhXQ0tOMUtuWnlMdGJ0Tys3am1LbkZ4NFBnUG1hbW9o?=
 =?utf-8?B?WVd2TUFHSXRGQnZINHcvY1Y1UzhIZzZYRFdKVVZra1NsMTAxbEhJd2ptT3Jv?=
 =?utf-8?B?STRPNzl2blJGWEJlVUhhSWdpV2Z0UDFnMG81MUhHandZZGE4WS9UVndzNkdo?=
 =?utf-8?B?R0swNFpOVUMySFVPbUVmejVIbGZUREVZamZGUWRrTnRxZllCdlVMM2RhMEtV?=
 =?utf-8?B?VzRNbk5vMldQcFNqZWdhdDZtMzhOSytxQ1NHVzZvZjgxYnJaQXRqN1NUUHB2?=
 =?utf-8?B?MFM5RS9PQ0w3SXljN05nWmJMRWpWKzdaaFlxbFJ5ajZqSGthN29NVnA3QkY5?=
 =?utf-8?B?THhqanpCai9EbnAzUExoclBaTzdvNnlKQzY5R29pRzZzSXhuK2NaenFCNmRi?=
 =?utf-8?B?c3Q3MVozKzFtUmdZWDhIU3dNenhwQzJNSDcrcGZzYWkrVGo2cVpyMXMvb2Jx?=
 =?utf-8?B?ZGMxMGNqcUx0YUtlSU1uU3BLc21pUGpuZzFjdVVOajVXU3ZsZ3VqaGhKeVAr?=
 =?utf-8?B?blY1Q3ZuVVpmZC9RdTl6ZFJvNGZjakQ5dVM1cmNma0U3VnlPSU1hMHJoemJL?=
 =?utf-8?B?RTdlQ3czd0hQYXlYQUdxSU1RdHFBQlVOdzUvdmVsd2xKSHFtSEZFSGVZN1Rl?=
 =?utf-8?B?UzFaOG9yeXd4TnBzWUdDb1huZHpzSjkzaXRScHkyeHMyWjE4Y08rOUZjWDU1?=
 =?utf-8?B?SklmZUdYbEs5YU1VVTgvbnJUd2dLdTZIZzgzTTA3T1E0ekRuazRYZ0ZicTZD?=
 =?utf-8?B?S3IrOWhGNkc1V2dGWkxJYlcxV1VabkFNQThtamNnQklBSkVYRlJ0eWtwV0hC?=
 =?utf-8?B?VHhxM0hBMUFOaVR5U3ZhbTBVRmdmM1RhQjJ2VzZCcDhUYkFBb1RXT2tnd2xs?=
 =?utf-8?B?SU1qdVhwUDJOeUcxUmU0RnZkTVNKMnp1emswSXlYNkZFOVZLd3FnS2ZEbGdt?=
 =?utf-8?B?K0Z5aHIxb054QjlyZGgzZG5UTVJ3azg5S0RSbWNGdTl3OHhUNlpMNmg2MVJw?=
 =?utf-8?B?M1o5cEdxWUdyTm0yenBmUE1JaTBhYkNDd0RkR3pBdkF6SEtFcUtnZ2hnVC9C?=
 =?utf-8?B?R0dic3U2SllFaEdXM0JwMFVWdXlhZ3ZDRmxreVcvc2NNaXJMSkpLcjd1bUx5?=
 =?utf-8?B?TTUxamJJTS9BU0JnOTNpZHlYajNXNGVJQzBWYlAzZHBidVBJSlovajgyekpl?=
 =?utf-8?B?R2h6dS9rZ2hMVjBicktqa3ZUeEowTFBRYjdUVWFtS2JWaHVhNENYSGxyUS9Q?=
 =?utf-8?B?ZWd3KzEvS3hUVTJwUXBsVFc5MXBnWkFmNmE5N0NCcWxTN0djejRVcEJ2aXU5?=
 =?utf-8?B?SUc1ZXdEdzIvVFU5dy91Y2lXWWRlRXA4cnlXM0tJcjZtUk5QcVE2WC9Kdkww?=
 =?utf-8?B?bSs4ZWxEU1FCVnNqOWJId09NZW9oZ2FGM3F0MXlyTzlNeFZvTzExWVRqSksr?=
 =?utf-8?B?MlY3NDFtQk8wTmlZVm11b0lTaFJITm1rY01zQ2JXdUlFWlNiYlJhUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 355c2b35-e50a-4154-d194-08ded11abc2d
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 11:29:49.0598
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: B8GiMr3K4buOyAdaXA4vwLr1dx0SccUqpL66x0RrowtlnVyBfiNWIVXnz9ENE4gbU3nMpLt8leO5JEUAkadS15bo+6qSaJNRsBUgUIxn/YY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5805
X-purgate-ID: tlsNG-4011c0/1782214192-B2DECDB8-699C712D/0/0
X-purgate-type: clean
X-purgate-size: 1812

On 17/06/2026 12:17 pm, Oleksii Kurochko wrote:
> p2m_set_allocation() signals preemption redundantly: via a bool *preempted
> out-argument (set to true) and via -ERESTART return code, both at the same
> time. This led to the caller-side ASSERT(preempted == (rc == -ERESTART))
> added solely to document their agreement.

Well no, it's not redundant.Â  A NULL pointer is used to signal that
preemption is not permitted/available in the current context.

You notice this below, but it does invalidate the description given in
this paragraph.

> diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
> index 51abf3504fcf..e5c6be7c0890 100644
> --- a/xen/arch/arm/mmu/p2m.c
> +++ b/xen/arch/arm/mmu/p2m.c
> @@ -133,27 +130,24 @@ int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
>          return -EINVAL;
>  
>      spin_lock(&d->arch.paging.lock);
> -    rc = p2m_set_allocation(d, pages, &preempted);
> +    rc = p2m_set_allocation(d, pages, true);
>      spin_unlock(&d->arch.paging.lock);
> diff --git a/xen/common/device-tree/dom0less-build.c b/xen/common/device-tree/dom0less-build.c
> index eacfd93087ae..c3818ffed45f 100644
> --- a/xen/common/device-tree/dom0less-build.c
> +++ b/xen/common/device-tree/dom0less-build.c
> @@ -747,7 +747,7 @@ static int __init domain_p2m_set_allocation(struct domain *d, uint64_t mem,
>                  domain_p2m_pages(mem, d->max_vcpus);
>  
>      spin_lock(&d->arch.paging.lock);
> -    rc = p2m_set_allocation(d, p2m_pages, NULL);
> +    rc = p2m_set_allocation(d, p2m_pages, false);
>      spin_unlock(&d->arch.paging.lock);

Passing booleans like this makes the code unnecessarily hard to follow.

At least use ", /* can_preempt */ true);" so the context is available
directly to the reader.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 11:40:59 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 11:40:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344218.1603331 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wbzUi-0002aD-FP; Tue, 23 Jun 2026 11:40:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344218.1603331; Tue, 23 Jun 2026 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 1wbzUi-0002a6-Ce; Tue, 23 Jun 2026 11:40:44 +0000
Received: by outflank-mailman (input) for mailman id 1344218;
 Tue, 23 Jun 2026 11:40:43 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ef4484aca000701b@swg.vates.tech>)
 id 1wbzUh-0002Zy-6h
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 11:40:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wbzUf-00E556-Uq
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 13:40:41 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ef4484aca000701b@swg.vates.tech>)
 id 6a3a70af-5cb7-0a2a0a5109dd-0a2a4505cb14-26
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 13:40:41 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ef4484aca000701b@swg.vates.tech>)
 id 6a3a70b9-ef3d-0a2a45050019-b9ff1c12aee5-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 13:40:41 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ef4484aca000701b.005 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 23 Jun 2026 11:40:38 +0000
Received: from [192.168.1.61] (155.223.66.37.rev.sfr.net [37.66.223.155])
 (Authenticated sender: ngoc-tu.dinh@vates.tech)
 by mail2.vates.fr (Postfix) with ESMTPSA id 44AAD86299;
 Tue, 23 Jun 2026 13:40: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=VVynOhDwfFvfnmxDPyVxVG8n0+DUYs4xnoOXto8ASEE=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=UqF0qplKF2kJH9ekTJTzEgA+TT4KFuDf9UsHPiBo9S4/vQFBwyhdJl4CfiHVewltpYRKiZVZC
 Nb9YJFQ18pwN2Hs89dkZn9eR2g8cAmeVc5aVWFALEHFuxgTxw5so2gqsnR4jv9yBRZaRwLHCdwB
 k7JqUlKqsfYuW4Bj7ZjiXsPyxyumoAUs/Slt9RtXI70cer6tnrUZyd8TP1sd8Cy7ZvmrINnhVgD
 sK6F3lICQAT2xazJMy+pYSXnhFLDrc0VpPLvg1ocEQxTP8EXM2Mr8wl5dkfquy/snvNRQ/NQZef
 X7Z9scs9K1aRAgWI/+bEn2dv5ecGujcslQih0GtesdMA==
X-Zone-Loop: d94b590fdb578ed71683dcf75d0c36948c341b7d6d7d
x-campaign-type: default
x-transaction-id: 4f945d24-d492-498c-9683-04224ece7d7f
x-swg-uid: 01-7458a448-363f-45a1-ab78-4ef8d47dcec5
X-Mailer: Sweego
Message-ID:
 <1782214839.8631fc262581453bbf619ec5b2062170.19ef4484aca000701b@vates.tech>
x-swg-bid: 1782214839.8631fc262581453bbf619ec5b2062170.19ef4484aca000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Tue, 23 Jun 2026 13:40:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xenstore-paths: Allow subnet prefix in IP address
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_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <1780912172.8631fc262581453bbf619ec5b2062170.19ea6a32f2f000701b@vates.tech>
Content-Language: en-US
From: Tu Dinh <ngoc-tu.dinh@vates.tech>
In-Reply-To: <1780912172.8631fc262581453bbf619ec5b2062170.19ea6a32f2f000701b@vates.tech>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.ab.ef107200974ed0ea.19ef448488a.4909cd64f98f75f8=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1782214838414
X-purgate-ID: tlsNG-c201ff/1782214841-A46A5127-25BB2903/0/0
X-purgate-type: clean
X-purgate-size: 2378

---=Part.ab.ef107200974ed0ea.19ef448488a.4909cd64f98f75f8=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On 08/06/2026 11:51, Tu Dinh wrote:
> In the guest-reported IP address in xenstore, it's useful to know which
> subnet it belongs to=2E
>=20
> Add a specification for the IPv6 host address/prefix format specified by
> RFC 4291=2E
>=20
> For the IPv4 address/prefix notation, as there seems to be no equivalent
> RFC specifying the host address/prefix format, specify it ourselves=2E
>=20
> Signed-off-by: Tu Dinh <ngoc-tu=2Edinh@vates=2Etech>

Hello, I'd like to send a quick reminder for this patch=2E

Thanks,

> ---
>   docs/misc/xenstore-paths=2Epandoc | 12 ++++++------
>   1 file changed, 6 insertions(+), 6 deletions(-)
>=20
> diff --git a/docs/misc/xenstore-paths=2Epandoc b/docs/misc/xenstore-path=
s=2Epandoc
> index 4994194=2E=2E1fab3bf 100644
> --- a/docs/misc/xenstore-paths=2Epandoc
> +++ b/docs/misc/xenstore-paths=2Epandoc
> @@ -78,12 +78,12 @@ VALUES are strings and can take the following forms:
>  =20
>   * MAC_ADDRESS -- 6 integers, in hexadecimal form, separated by ':',
>                    specifying an IEEE 802=2E3 ethernet MAC address=2E
> -* IPV4_ADDRESS -- 4 integers, in decimal form, separated by '=2E',
> -                  specifying an IP version 4 address as described
> -                  IETF RFC 791=2E
> -* IPV6_ADDRESS -- Up to 8 integers, in hexadecimal form, separated
> -                  by ':', specifying an IP version 6 address as
> -                  described in IETF RFC 4291=2E
> +* IPV4_ADDRESS -- An IP version 4 address as specified by IETF RFC 791,
> +                  optionally appended with a "/prefix" value representi=
ng the
> +                  prefix length of the host address's subnet, with "pre=
fix"
> +                  being a decimal integer in the range of 0 to 32=2E
> +* IPV6_ADDRESS -- An IP version 6 address or abbreviated "address/prefi=
x"
> +                  combination as specified by IETF RFC 4291 and RFC 595=
2=2E
>  =20
>   Additional TAGS may follow as a comma separated set of the following
>   tags enclosed in square brackets=2E



-- 
 | Vates 

XCP-ng & Xen Orchestra - Vates solutions

web: https://vate=
s=2Etech
---=Part.ab.ef107200974ed0ea.19ef448488a.4909cd64f98f75f8=---


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 13:15:56 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 13:15:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344243.1603341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc0yZ-0004y5-15; Tue, 23 Jun 2026 13:15:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344243.1603341; Tue, 23 Jun 2026 13:15:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc0yY-0004xx-UH; Tue, 23 Jun 2026 13:15:38 +0000
Received: by outflank-mailman (input) for mailman id 1344243;
 Tue, 23 Jun 2026 13:15:37 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wc0yW-0004xr-U9
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 13:15:37 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc0yV-00BCpC-LW
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 15:15:35 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3a86f1-2eae-0a2a0a5409dd-0a2a45068dcc-14
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 15:15:35 +0200
Received: from [209.85.221.43] (helo=mail-wr1-f43.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3a86f7-b690-0a2a45060019-d155dd2ba5e8-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 15:15:35 +0200
Received: by mail-wr1-f43.google.com with SMTP id
 ffacd0b85a97d-4629051c946so741490f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 06:15:35 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-466648c5ddbsm37306159f8f.12.2026.06.23.06.15.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Jun 2026 06:15:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782220535; x=1782825335; 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=h9RInanI2ZcZe0WMMw3XlKa5djWr79jPbIW6DoHa7H4=;
        b=XeuBSLV3x5fhcb+cGIEK7ykSCKC8FetjV+SJPv6sTY1UQ6Eii7rTtzBVCtbKjwO3KR
         6NYQ8Ye/W0OX+OQYciEMzWEtwpI9fcg5GrghMGV79vqQ8W4iYTPURKK9Owx/JTyqa2c+
         QwJyC5Gn93XWRvxM3t26o63JdFEba1irmnfr9ca4gUEV4ZpzLHWe5j79TPw/xpr4AKfO
         XNvo4ML6xfRdj/BiNwOEoLFQgkmQY6fglUE+bET++XDXTizhIL2xBbq07FQb7+QgF7Fa
         rEtudxumv2Dxls8zHZZI0g0VVxVIN412PZHBWBEj4oIjzDCgoeS768xr/wwIn/64y/2s
         SNMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782220535; x=1782825335;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=h9RInanI2ZcZe0WMMw3XlKa5djWr79jPbIW6DoHa7H4=;
        b=Hb9mYHDUp71Rn1w73xMlKUyGUKuSByencrB1ccXYJyp5bvIJhpMh0pbayE+9Df2PFU
         bpxDwZHkb3FHuHnGDaHONlZX0AXdGYjZFbUy62DUboeHa6j5FNlKjVaZj2VTywOUsi9I
         r2s0Fr3ZP43AmYzS9rhlqiYwNYiPbNhJSFppFY+wZaXknuFXnJ665CUpjfQ83how5y2V
         mnydPf0JPTz27DTVRMxrIQbVVF9jm5MDuESaA9MJ/spKND4kifhML3U5TzFdI+6namlt
         JyzVa2+USWhh1vb2W/e3sslkv5Zw2eK/lS9+DJSUYMqOE983hvWVMtlacGkKm8jYG7oT
         +Q2g==
X-Forwarded-Encrypted: i=1; AHgh+RoYQH2dKde1YgQ2H6vwxyGCZfsA3pwqUCCvuDfwHecn6FQiciGOGlD8UeJrH0SkXWJMmR+BiZQBEz8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz+OFZzTc0GTUDtDfjCPd1h7T02YIFkq/bCS2NeQMnhz3/4UDYx
	SPaNi1nbPLgaixZ/siGOBEsRSrfpJj1KYDrs/OuVSTdeogzd2A3tyw3JSlRJCA==
X-Gm-Gg: AfdE7ckXzy6+VCbBNFdLSxnaT3EaWf0mohnmNhL5Y4Dtw+BKa2BAZZpObiQbfXgB6K0
	lb2TuWxhh2LmUJCOp0B6fQbuDniomFOW5xQSjKlPgWHH/7MjdGoA2ZaSDXEg94iiGuFyXAXKOOd
	wIVYJBq4rgcDM7TKoPmasb/rmfC1OctMihsk5WrvQIN8pIQWOrzIFsPEx1cbCeecZx0/wiuRaNC
	dvcc+z3iE8zBQ6ONUcmoFKcMR6X72hFTKqlBHxC33geAFQnzLMnWk5Ultc9bMA7P45kilgDRv9S
	I3FhR3OSdIQL/+pgq9R8keG4KE0xhqRhGMkoRdv2KCyOjmychqV7/If8NPgk+IonU8ZpZTAi8a+
	V9Z/yoQrMfZ7uGsk3lzkiNfphV0Umj9QpkgMEVx9qwnNwdxZoQp0Ryg1jQtzJkI3Gh5ee9e2eLO
	vzP90YtBf90lkAg0QueW2/EYzWmjFJNwltfQ2FeLCs66N14kmuNxsSTWMaHzg5H+H9FbU=
X-Received: by 2002:a5d:64e7:0:b0:45e:f93a:2069 with SMTP id ffacd0b85a97d-46a80c7aed5mr5658176f8f.23.1782220534721;
        Tue, 23 Jun 2026 06:15:34 -0700 (PDT)
Message-ID: <dfd93c7c-e5e6-4f3d-915c-e5248ac62715@gmail.com>
Date: Tue, 23 Jun 2026 15:15:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] x86/kexec: Check for a good per-cpu area before
 accessing IDTs
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Lin Liu <Lin.Liu01@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>
References: <20260622172054.504778-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260622172054.504778-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1782220535-3AFEF853-27A40FA2/10/73395122804
X-purgate-type: spam
X-purgate-size: 1366



On 6/22/26 7:20 PM, Andrew Cooper wrote:
> Prior to commit 9c20d3c5915d ("x86/IDT: Make idt_tables[] be per_cpu(idt)"),
> the global idt_tables[] was always safe to use for CPUs in any state.
> 
> However, not-yet-onlined CPUs (e.g. MADT with more entries than exist in
> practice) or offlined CPUs (e.g. xen-hptool) have their per-cpu pointer
> poisoned to detect incorrect uses.  machine_kexec() trips over the posion when
> clobbering #MC entry paths.
> 
> This fixes a fatal #GP (non-canonical memory reference) when trying to enter
> the crash kernel.
> 
> Fixes: 9c20d3c5915d ("x86/IDT: Make idt_tables[] be per_cpu(idt)")
> Reported-by: Lin Liu <Lin.Liu01@citrix.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: Teddy Astie <teddy.astie@vates.tech>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> CC: Lin Liu <Lin.Liu01@citrix.com>
> 
> The fix here is a bit ugly.  nmi_shootdown_cpus() uses the cpu_online_map but
> this is wrong too; it misses parked CPUs, which do want to be captured.
> 
> For 4.22.  This is the minimal fix to stop systems crashing, but more work is
> needed to make this path fully robust.
> ---

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 13:21:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 13:21:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344252.1603350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc14C-0006WY-Is; Tue, 23 Jun 2026 13:21:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344252.1603350; Tue, 23 Jun 2026 13:21:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc14C-0006WR-Fo; Tue, 23 Jun 2026 13:21:28 +0000
Received: by outflank-mailman (input) for mailman id 1344252;
 Tue, 23 Jun 2026 13:21:27 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wc14B-0006WL-BE
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 13:21:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc14A-007hEd-HM
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 15:21:26 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3a8853-bab6-0a2a0a5309dd-0a2a4502b422-24
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 15:21:26 +0200
Received: from [209.85.221.49] (helo=mail-wr1-f49.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3a8856-fdf1-0a2a45020019-d155dd31b0d3-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 15:21:26 +0200
Received: by mail-wr1-f49.google.com with SMTP id
 ffacd0b85a97d-4633193af19so3918993f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 06:21:26 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-46666c57b8asm36499152f8f.26.2026.06.23.06.21.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Jun 2026 06:21: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782220886; x=1782825686; 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=09TYmMSnjI1vD2LB05o63iGc16L7DgRs/bjBtwd1m5Q=;
        b=BZ4WtYkGh6a+zpxe5YUvfE3h/aKku+gjjzkZS1gdJwX0qD3RGiFcHVahOT7yDCM7BD
         ssEhqOi0w7taQi+caHizKO3sB0NXUzYALWoOi5DfrftMDRb5XWC4nvAPlL0yKlIn77wt
         2egDZOzUQrteMoibJMMBuKZfTKD4OShK0mWEjcdgA/oU0bl80Lc3lJpSRvwc8ODAQCCv
         dxsbE/RQCg+SeYxug7GY39ecUli+mvQ0MfHcnxlVYGypgfgw0kqyP0zebE1FcoEkttE8
         YIGYwRFaNnW5tfhYP2ujROh4ellxgDHMPJmo1soEmkcxI8hWkB84ZjXrkuRhrxb4Wg/F
         +YZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782220886; x=1782825686;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=09TYmMSnjI1vD2LB05o63iGc16L7DgRs/bjBtwd1m5Q=;
        b=KpS5+RVOKf8B4F4OjGAquotGnZKMr3QXqz9HSXotpiw3G4+RhFJuUxBs8P6UeY4XJp
         8p1QNHawr06NUUiflSVz0HenYxybkz2FE358/XnOniu+wWLyEFiMgC6/hVKH9xsIUxAc
         Tvo0hz0FejYgXsGfPqdT5V00ez7JhLpEJnZMtcO5wohNI5TnsftfhFqWswBKu2L4g441
         hPQuvBhmto/uZiVom1/Ql4KJg5JMa88m2Jz2rL0YUe9Dxin6icojHlFMrZMg8yr4kNVn
         NpZbQBCN7JiF8oHKa6VWC2A6XoyaMC1zWCcIHai/LpnHCxC7KQEwKmVxITMm1FaILZo+
         iPzA==
X-Forwarded-Encrypted: i=1; AHgh+RqXuH4ze4a3QsyHMKCimY6w4JlfAG2Y13+B+bW2I9GLSFCp9rvvklcd+34iVrlG5n2aqgyAVJp0iX4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxowZi+v4+qzplo3XnpKQwXQDw8bol2OrHHAAhs9IL5Wx6999fk
	C0JYHtKBXyJWiCnVGJqWXrPBI9H+EQCDyq+iOvulV3gJ2yYpQHjNNUPF
X-Gm-Gg: AfdE7cn+NfGJDXPs5zV8NGpmdBY729PWUACiv+LkByPWS3IGW/oeJrSfJgFrVJLpa7v
	Taqp4at5ymTJAf2E0QVAr87cPi0mA3jk51LfQ/3Mcye8DuGwgJmEaYYFev4lLV0H25L3b7ieWTn
	Kyu7zUnwonanb0FaG2AYMBEdC12JWJOa7pZZ5ZQAqD+T6US5D862clSJI+lYXxDNa7yBk0OcuX/
	IpdZnUZ7iFpOfA0u8nPvTlz1lvqXIlEX/nBLCcbWW/RPBWeKHe0ixrOJOqMGpEJ8AhQEoNYBKR0
	p4GU0wQxlGEohCIfWsxogs9zJR0em0lklWKlwLl2Q+2xirqsbw+iehgLjEirEidvqxjb9mM/EJR
	JIwTnhawIY4B8JurItulelH3r1/CIoA2GE0bwzKKQzXeXZZz+gnImiYFSVRtKd6MHmusy1UQQgl
	i8rnwrw3K6CNHXgIWaOKi8OlDXNsdPqbrS6vSFqqLKPZwWTzKivkHEyB+jfBVgtdPlY3k=
X-Received: by 2002:a05:6000:2508:b0:46a:1f35:1133 with SMTP id ffacd0b85a97d-46a1f351353mr9085663f8f.25.1782220885748;
        Tue, 23 Jun 2026 06:21:25 -0700 (PDT)
Message-ID: <3081ebbe-f0f8-48aa-b015-4b15335bc53a@gmail.com>
Date: Tue, 23 Jun 2026 15:21:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 0/4] x86/kexec: Improvements for FRED
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: <20260319122549.922724-1-andrew.cooper3@citrix.com>
 <80b43806-7be5-4310-9568-c2df4887c52a@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <80b43806-7be5-4310-9568-c2df4887c52a@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1782220886-4DE673F3-EF26B253/10/73395122804
X-purgate-type: spam
X-purgate-size: 1226



On 6/22/26 7:26 PM, Andrew Cooper wrote:
> On 19/03/2026 12:25 pm, Andrew Cooper wrote:
>> Kexec with FRED happens to already function.
>>
>> Looking at the logic, several unsafe actions are occuring.  Fix the worst of
>> them.

How critical are the remaining actions?

>>
>> Andrew Cooper (4):
>>    x86/kexec: Stop hooking NMIs with trap_nop()
>>    x86/kexec: Fix and expands comments for kexec_reloc()
>>    x86/kexec: Invalidate the IDT earlier in kexec_reloc()
>>    x86/kexec: Disable FRED earlier in kexec_reloc()
>>
>>   xen/arch/x86/crash.c              | 20 +++++-----
>>   xen/arch/x86/x86_64/kexec_reloc.S | 62 ++++++++++++++++++++++---------
>>   2 files changed, 55 insertions(+), 27 deletions(-)
>>
> 
> This is fully reviewed/acked but fell through the cracks an I didn't get
> it committed in time.Â  Sorry.
> 
> Please could I request a release ack?
> 
> Now that FRED is active by default on AMD hardware in 4.22, a poorly
> timed NMI will break transitioning into the crash environment.Â  i.e.
> it's fixing a corner-case bug in a new feature for 4.22.

Sounds reasonable to me:

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 13:21:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 13:21:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344253.1603360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc14N-0006mf-QI; Tue, 23 Jun 2026 13:21:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344253.1603360; Tue, 23 Jun 2026 13:21: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 1wc14N-0006mY-MA; Tue, 23 Jun 2026 13:21:39 +0000
Received: by outflank-mailman (input) for mailman id 1344253;
 Tue, 23 Jun 2026 13:21:38 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wc14M-0006lp-BX
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 13:21:38 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc14L-00H4DB-OT
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 15:21:37 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a8854-5cb7-0a2a0a5109dd-0a2a4506bbb2-28
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 15:21:37 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a8861-b690-0a2a45060019-d1558035c1de-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 15:21:37 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-49222b6e871so47399015e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 06: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
 5b1f17b1804b1-4923fe7b359sm362137335e9.9.2026.06.23.06.21.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Jun 2026 06:21:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782220897; x=1782825697; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=oQait8nDZnF7WL/twDwo15upLHpj3md5RFRUcOG7tV8=;
        b=FlDWYucvI+Z2rZk7oNqqg03X4YXkh4nzq7vDC+vCroufvs8XRbROUaXgUarz4C+SYr
         vGVq3lJ53IYUEbWfkpdvQJShRjYWr457BgN68fHc46x7TKBf55ayY98pGWOaOEFivk4m
         4IwR174M6+l8DeKIFTZGiAJdK4xBLVI/GZrKuYe6dbmZFOCESIhBHF9DcRj3T3eJ5mEN
         rSUPPVN/rdsf1pJ7jMIFXj5NbKqVMAY+I8OEz18Ss5wpgaQLpuLvwgEnF5lGcHZqeOa4
         ku+h+H8sLbY1yS31OtBYG+ZvG87D597dQNd3e5dqANBKJuaD/ZQ99FmDW/Tvy+GYMU/3
         0bYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782220897; x=1782825697;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=oQait8nDZnF7WL/twDwo15upLHpj3md5RFRUcOG7tV8=;
        b=pYw0f2mVFVsWCkCZ7qHRh4kjdspBx1vr/yQo8d10EabLJ7aERzWJ4zaqPEX0QqcWtt
         SWtx4wAjMMYokAuDR9WlAhY9Wk+iv1ZOhSx4RTxnxdJbDBy2V2kB267ieTamgzJ+eSxJ
         aEyv7uaCpsAzM4xQiQ5eryfsdV1jyNUhK6YSzAUc3mQv0j20fV400haWWeFGWy18x08r
         NqE+01ozYHO610w4wNJpFsZ5//VE3WozdG5mwIaFF2OIESAwZTkQuJMWzejNV7lt9WgR
         zjXA4U0UylEvy5cKJ0Wn2nQGTA79BgoycM7IQZ0a5NV9QsXNPjw1qy0VWRwfqHWA+Erd
         jKHg==
X-Forwarded-Encrypted: i=1; AFNElJ92VpoMbhmj3Yeq6xt0v9Z7pFACqh7t5IdfZ2pfQD+pwHkHWG1LovRiJgBiNVr0YP+7L/3heYpopLk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyEDfxYIf8AeBAg+xDw3X7AthAiilkRodSw46mg0p3E/QqBUPxk
	ynmk/AMwhzJEH+BlnlxY/g+p9eLov4JD08BfVG5Py5hr3WKu9vF1Sk4X3AY3zMFmHw==
X-Gm-Gg: AfdE7ckCpb6L05gbsWrd1TG6XxVnxj3L8PvTTsZK2zr8V0CBwoWY+xnKKR2OtzvwP23
	nCurAYj+KqzEVeJNL6gG7pt8M2Pkusm1L9h8/QQezcqYJRBpjr4bDZTbKnR1DvZYCqZs76VC4tZ
	VPQp84iRNBVExhVSCy9O88T5njU4691D9Hb3go+Skga4CEwL37EdJWdc/It3AH3bFSal3gyvOJ5
	IYx2HuHhnkCDuTudfydv2tdfLJPGHnw5xmoRPXZ/PesiR4f+ZX4W3WPQdBiyfA8SCNnbKRh5t4f
	G3MC2M9DQVCk6nJEEvjYM3EnT7cTDvsFZPxbOMLLKDO3FGseaZ0U+rK2QdIL1X6MC/BFJm0lGsJ
	ElZv1pRZlEPMu+AdCFCRHJmfgVdFhWWrY83oH/mhhRAQCLEsIo5y5Lb/XizP05iD0VyLDFX9pZH
	UpPUIOK2RBW8AvSv/Q4Zl3jYxfv/R1chdZq9FTZXTWvr9G5U3rqK4Mn8NQ6NqyWdqMv3WX6aF1u
	/AK
X-Received: by 2002:a05:600c:8b71:b0:492:59a0:4a65 with SMTP id 5b1f17b1804b1-4925b3802a0mr43031365e9.27.1782220896837;
        Tue, 23 Jun 2026 06:21:36 -0700 (PDT)
Message-ID: <2889dc4e-33ec-4d8f-b01d-026506a39cbf@suse.com>
Date: Tue, 23 Jun 2026 15:21:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 12/16] xen: implement new foreign copy hypercall
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
 <20260619130501.272832-13-frediano.ziglio@citrix.com>
 <c5f00fa4-4d9e-4227-87a0-6e657fd523e9@suse.com>
 <CAHt6W4c0FDaMZK-4-7CReG_PdV+L=HNxVGNjV5vUjDkKq3EMBA@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: <CAHt6W4c0FDaMZK-4-7CReG_PdV+L=HNxVGNjV5vUjDkKq3EMBA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1782220897-395F2853-279CC0C6/0/0
X-purgate-type: clean
X-purgate-size: 13557

On 23.06.2026 12:55, Frediano Ziglio wrote:
> On Mon, 22 Jun 2026 at 11:34, Jan Beulich <jbeulich@suse.com> wrote:
>> On 19.06.2026 15:04, Frediano Ziglio wrote:
>>> --- a/xen/common/memory.c
>>> +++ b/xen/common/memory.c
>>> @@ -1545,6 +1545,139 @@ static int acquire_resource(
>>>      return rc;
>>>  }
>>>
>>> +/*
>>> + * The "noinline" qualifier avoids the compiler to create a large function
>>> + * consuming quite a lot of stack.
>>> + */
>>> +static int noinline mem_foreigncopy(
>>> +    XEN_GUEST_HANDLE_PARAM(xen_foreigncopy_t) arg)
>>> +{
>>> +    struct domain *d, *const currd = current->domain;
>>> +    xen_foreigncopy_t copy;
>>> +    int rc, direction;
>>> +
>>> +    if ( copy_from_guest(&copy, arg, 1) )
>>> +        return -EFAULT;
>>> +
>>> +    if ( copy.flags & ~XENMEM_foreigncopy_direction )
>>> +        return -EINVAL;
>>> +
>>> +    direction = copy.flags & XENMEM_foreigncopy_direction;
>>> +
>>> +    rc = rcu_lock_remote_domain_by_id(copy.domid, &d);
>>
>> Iirc I did ask before why this isn't ..._by_any_id().
> 
> I probably was confused by the question about MMUEXT and the 2 domains.
> There are different similar hypercalls (like the mentioned MMUEXT but
> also hypercalls to map foreign domain memory) that have this check
> (not the same domain). Any domain has, obviously, access to its own
> memory, so it should not have to use hypercall to access its own
> memory. If it does it looks like a mistake causing performance issues
> or an attempt to circumvent security; in either case you would like to
> avoid it.

No. Self-grants are possible as well, for example, and for a good reason.
Allowing normally-remote operations on oneself helps with testing, for
example. It may also help avoid needing to special-case "self" in code
which needs to cover both cases.

>>> +    if ( rc )
>>> +        return rc;
>>> +
>>> +    if ( copy.nr_frames == 0 )
>>> +    {
>>> +        rcu_unlock_domain(d);
>>> +        return 0;
>>> +    }
>>
>> Any reason this cannot also be "goto out"? The more that now that you have
>> moved this past the domid validity check, imo it should further move to ...
> 
> The only reason was style and to avoid a memory copy, but it's not a
> hot case so I'll change to "goto out" (no strong about it).
> 
>>> +    /*
>>> +     * Check we are allowed to map and access these foreign pages.
>>> +     */
>>> +    rc = xsm_map_gmfn_foreign(XSM_TARGET, currd, d);
>>> +    if ( rc )
>>> +        goto out;
>>
>> ... below here. Perhaps simply as
>>
>>     if ( rc || !copy.nr_frames )
>>         goto out;
>>
> 
> I think this would be confusing with the above "Check we are allowed
> to map and access these foreign pages" comment.
> Are you okay with just the change above to "goto out" ?

I do want the order adjusted as indicated. I won't insist on (but I would
prefer) folding both if()-s.

> Also moving here would potentially change the result and do a useless check.

Affecting the result is the goal of the re-ordering.

>>> +    do {
>>> +        /*
>>> +         * Arbitrary size.  Not too much stack space, and a reasonable stride
>>> +         * for continuation checks.
>>> +         */
>>> +        xen_pfn_t gfn_list[32];
>>> +        unsigned int todo = MIN(ARRAY_SIZE(gfn_list), copy.nr_frames);
>>> +
>>> +        rc = -EFAULT;
>>> +        if ( copy_from_guest(gfn_list, copy.frame_list, todo) )
>>> +            goto out;
>>> +
>>> +        for ( unsigned int i = 0; i < todo; i++ )
>>> +        {
>>> +            struct page_info *foreign_page;
>>> +            mfn_t foreign_mfn;
>>> +            void *foreign;
>>> +            p2m_type_t p2mt;
>>> +            const unsigned long valid_mask =
>>> +#ifdef CONFIG_X86
>>> +                p2m_to_mask(p2m_ram_rw) | p2m_to_mask(p2m_ram_logdirty);
>>> +#else
>>> +                p2m_to_mask(p2m_ram_rw);
>>> +#endif
>>
>> The set of permitted types didn't change, yet a justification for the resulting
>> limitation also didn't appear.
>>
> 
> Yes, that's missing, indeed.
> Should the set of types be different for reading and writing? For
> instance do not allow writing to read-only memory?

Of course.

> Given that it looks like different architectures have different
> meanings and definitions for these constants, should it not be better
> to define some new constants for this specific usage? For instance
> P2M_READ_TYPES and P2M_WRITE_TYPES?

Perhaps, yes. The suggested names look overly generic to me, though.

>>> +            foreign_page = get_page_from_gfn(d, gfn_list[i], &p2mt, P2M_ALLOC);
>>> +
>>> +            if ( unlikely(!(p2m_to_mask(p2mt) & valid_mask)) && foreign_page )
>>> +            {
>>> +                put_page(foreign_page);
>>> +                foreign_page = NULL;
>>> +            }
>>> +            if ( unlikely(!foreign_page) )
>>> +            {
>>> +                gdprintk(XENLOG_WARNING,
>>> +                         "Error accessing foreign gfn %" PRI_gfn "\n",
>>> +                         gfn_list[i]);
>>> +                rc = -EINVAL;
>>> +                copy.nr_frames -= i;
>>> +                guest_handle_add_offset(copy.frame_list, i);
>>> +                goto out;
>>> +            }
>>> +
>>> +            foreign_mfn = page_to_mfn(foreign_page);
>>> +
>>> +            /* A page is dirtied when it's being copied to. */
>>> +            if ( direction == XENMEM_foreigncopy_to )
>>> +                paging_mark_dirty(d, foreign_mfn);
>>> +
>>> +            foreign = map_domain_page(foreign_mfn);
>>> +            if ( direction == XENMEM_foreigncopy_from )
>>> +                rc = copy_to_guest(copy.buffer, foreign, PAGE_SIZE);
>>> +            else
>>> +                rc = copy_from_guest(foreign, copy.buffer, PAGE_SIZE);
>>
>> You cannot validly write to the page without holding a PGT_writable ref.
>> Else you might overwrite a page table or a descriptor table in a PV guest.
>>
> 
> Given that this code was "inspired" by other hypercalls I'll also
> check the other code.
> 
>> Once again - can you please make sure you have addressed earlier review
>> comments, before sending a new version? I did point this out before.
> 
> Apparently not.

https://lists.xen.org/archives/html/xen-devel/2026-06/msg00850.html

>>> +                copy.nr_frames -= i;
>>> +                guest_handle_add_offset(copy.frame_list, i);
>>> +                goto out;
>>> +            }
>>> +
>>> +            guest_handle_add_offset(copy.buffer, PAGE_SIZE);
>>> +        }
>>> +
>>> +        copy.nr_frames -= todo;
>>> +        guest_handle_add_offset(copy.frame_list, todo);
>>
>> Don't you need to also update copy.buffer?
> 
> It's updated some lines above inside the loop.

Oh, sorry. Yet then - not doing all updates together is, as you can see,
potentially confusing.

>>> @@ -2012,6 +2145,18 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>>              start_extent);
>>>          break;
>>>
>>> +    case XENMEM_foreigncopy:
>>> +        /*
>>> +         * Instead of using "start_extent" we update the structure back,
>>> +         * we update it back in anyway to tell caller were the copy
>>> +         * stopped.
>>> +         */
>>> +        if ( unlikely(start_extent) )
>>> +            return -EINVAL;
>>
>> As before - please be precise with comments like this. We update it back also
>> when encoding a continuation. Perhaps instead "..., to indicate the point of
>> failure to the caller as well as to encode continuations without being
>> constrained by MEMOP_EXTENT_SHIFT".
>>
> 
> What about (trying to include your suggestion, to be fixed for line length):
> 
>         /*
>          * Instead of using "start_extent" for the continuation, we
> update the structure back,
>          * we update the xen_foreigncopy structure back, so we are not
> constrained
>          * by MEMOP_EXTENT_SHIFT.
>          * We copy it back also to tell the caller where the copy stopped.
>          */

One of the things I take issue with (because it's hard to read that way,
at least for me) is the repeated use of "update ... back", effectively
saying the same things twice. The last sentence also wants disambiguating
towards the "stopped" possibly being a non-error situation as well.

>>> --- a/xen/include/public/memory.h
>>> +++ b/xen/include/public/memory.h
>>> @@ -740,7 +740,49 @@ struct xen_vnuma_topology_info {
>>>  typedef struct xen_vnuma_topology_info xen_vnuma_topology_info_t;
>>>  DEFINE_XEN_GUEST_HANDLE(xen_vnuma_topology_info_t);
>>>
>>> -/* Next available subop number is 29 */
>>> +/*
>>> + * Copy memory from/to a given domain.
>>> + * As this call requires target access and guest with target access won't be
>>> + * compat guests supported for compat guests this is not implemented.
>>
>> As before - I question this. You simply can't know. (I'm also struggling with
>> wording / grammar.)
> 
> I was trying to code the compatibility layer. Is there a way to have
> 64 bit PFN even for compatibility guests instead of having to limit
> and convert PFN numbers?

compat_pfn_t is a typedef of unsigned int (since a 32-bit guest seeing
"typedef unsigned long xen_pfn_t;" results in xen_pfn_t being a 32-bit
quantity for it), so 32-bit guests can only supply 32-bit frame numbers.
There's also no value in trying to be clever and using uint64_t instead
for the frame_list handle, as 32-bit guests won't ever own pages with
MFNs wider than 32 bits.

>>> + */
>>> +#define XENMEM_foreigncopy 29
>>> +struct xen_foreigncopy {
>>> +    /* IN - The domain whose memory is to be copied. */
>>> +    domid_t domid;
>>> +
>>> +    /* IN - Flags. */
>>> +#define XENMEM_foreigncopy_from 0
>>> +#define XENMEM_foreigncopy_to 1
>>> +#define XENMEM_foreigncopy_direction 1
>>> +    uint16_t flags;
>>> +
>>> +    /*
>>> +     * IN/OUT
>>> +     *
>>> +     * As an IN parameter number of frames of the domain to be copied.
>>> +     * On output on error updated number of frames left.
>>> +     */
>>> +    uint32_t nr_frames;
>>> +
>>> +    /*
>>> +     * IN/OUT
>>> +     *
>>> +     * Frames to be copied.
>>> +     * On output on error updated to point to first frame unhandled.
>>
>> Is "on error" really correct / meaningful? The field can be updated at
>> any intermediate point, when a continuation is scheduled. Perhaps:
>>
>>      * On output:
>>      *  - on error updated to point to first frame which couldn't be handled,
>>      *  - on success undefined.
>>
>> Along these lines for nr_frames then as well (if needed at all, seeing
>> that it could as well be undefined in both cases, as the information is
>> redundant with the frame_list update).
>>
>>> +     */
>>> +    XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
>>> +
>>> +    /*
>>> +     * IN/OUT
>>> +     *
>>> +     * Userspace buffer to read/write from.
>>
>> s/Userspace/Guest/ ?
>>
>> Also still no mention of when / how this field is updated.
>>
> 
> What about:
> 
> /*
>  * Copy memory from/to a given domain.
>  */
> #define XENMEM_foreigncopy 29
> struct xen_foreigncopy {
>     /* IN - The domain whose memory is to be copied. */
>     domid_t domid;
> 
>     /* IN - Flags. */
> #define XENMEM_foreigncopy_from 0
> #define XENMEM_foreigncopy_to 1
> #define XENMEM_foreigncopy_direction 1
>     uint16_t flags;
> 
>     /*
>      * IN/OUT
>      *
>      * As an IN parameter number of frames of the domain to be copied.
>      * On output updated number of frames left (0 if success).
>      */
>     uint32_t nr_frames;
> 
>     /*
>      * IN/OUT
>      *
>      * Frames to be copied.
>      * On output updated to point to the first frame unhandled.

There may be no such frame, so at the very least add "..., if any"?

>      */
>     XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
> 
>     /*
>      * IN/OUT
>      *
>      * Guest buffer to read/write from.
>      * On output updated to point to the first frame unhandled.

There's no frame here, as long as you don't switch to using two frame
lists (for source and destination).

>      */
>     XEN_GUEST_HANDLE(uint8) buffer;
> };
> typedef struct xen_foreigncopy xen_foreigncopy_t;
> DEFINE_XEN_GUEST_HANDLE(xen_foreigncopy_t);
> 
>>> +     */
>>> +    XEN_GUEST_HANDLE(uint8) buffer;
>>> +};
>>
>> What was (again) left unaddressed is the question towards using GFNs on both
>> sides of the copy. This would eliminate the need for the flags field, taken
>> by a 2nd domid_t one then.
>>
> 
> This was addressed in
> https://lists.xenproject.org/archives/html/xen-devel/2026-06/msg00567.html

Well, yes, but not in a satisfactory way. Back channels tell me that you
actually got the same feedback already on internal review. Which makes it
all the more puzzling that you insist on doing it differently. Multiple
maintainers asking for the same thing may be an indication of something.

> and in minor way by
> https://lists.xenproject.org/archives/html/xen-devel/2026-06/msg00847.html.
> It was considered but more complicated and worse from a performance perspective.

Okay, performance-wise worse would of course be relevant. But that would
need supporting by numbers (for both PV and PVH Dom0, as the latter
incurs extra overhead for virtual-address-based hypercall buffer operands).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 13:36:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 13:36:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344271.1603368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc1Iy-0000Q8-3J; Tue, 23 Jun 2026 13:36:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344271.1603368; Tue, 23 Jun 2026 13:36: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 1wc1Iy-0000Q1-01; Tue, 23 Jun 2026 13:36:44 +0000
Received: by outflank-mailman (input) for mailman id 1344271;
 Tue, 23 Jun 2026 13:36:42 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wc1Iw-0000Pv-KK
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 13:36:42 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc1Iv-007kJd-Py
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 15:36:41 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3a8bd7-e002-0a2a0a5209dd-0a2a450c9052-40
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 15:36:41 +0200
Received: from [209.85.218.43] (helo=mail-ej1-f43.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3a8be9-94a4-0a2a450c0019-d155da2bec49-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 15:36:41 +0200
Received: by mail-ej1-f43.google.com with SMTP id
 a640c23a62f3a-bec3ffb95dbso795417066b.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 06:36:41 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-c0c615089desm539333166b.54.2026.06.23.06.36.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Jun 2026 06:36: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782221801; x=1782826601; 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=b3/AJFEfESGynlXm7mwdZdVu6m4rYWwrCxe79kOK9Ww=;
        b=f8RnwcnU8JaNLeBnPF29imL3+jTgGvg8+buJ49YBfhFQ+Z2zRZQ0lV4c8kjyK1J1Fy
         21Hq4V9IGfr1Ikt1B/Qp3dWodL2iHoG1X9uavC5C+gMHnU/8CCLDvxCr5EcZn5JXjLtT
         dq/SRBV3LdVMG6AWs8Xamvmohx2gleptWiRCpYn3vNpag7+q25HztrTGrCpgQydPEBUq
         s++PQaO/eTj7zrYH239Dahn/5QuYJCFvfVvc2c+eYCsxNsNLVfaSEf4u1twYCoT3Rilq
         4amJUonrrb68jtrJGWvKroSC04lhvrPYHa0oe8ycGT7/sLf9mdbe3w2ZsV5CYJk3VBfZ
         PLmg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782221801; x=1782826601;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=b3/AJFEfESGynlXm7mwdZdVu6m4rYWwrCxe79kOK9Ww=;
        b=KmB1wVzS1uQad7HdAZ2AWQRyrSiHeBPNk57tZtBUW+HGtOnzEcV4ldEYpsUCpirbXw
         iPjkymD7z+Tnqdguf63pbp/Gv9/JoHeouW3MVsCp9JPXlcipmT3pJW6iklqs7MWfIbGo
         ZDMmBbV65vhHfIBgA7rYGHE5n1AEObAdxbIB5Y4Bl+aDoDqUdU+vqIIO7tmDv9YteTAg
         rvuSZ7UxP0NsR4saUC2J6cQEy+mnvxZ5Qk40JEjLXIoZnphsVDcG0IForzb4eSJ/eC5a
         WrCky/SJ0vwxCjIlbuUNkiT40ycBy0yDhZdtRx0UUAD8w9b3hBiCA351MAVot87GXNNm
         OYbQ==
X-Forwarded-Encrypted: i=1; AFNElJ/3MQpB+kzJYCZ0z1PPkiJq0mOm9i13SbpbdEs35pg+PsI+ELQp+I9WOxynUWZZDIZHZl1YPfdXUA8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwHTezj5IzaTFlbbc+FAlBOOueI08AaXr24y1M6UpsbA0MdVk2E
	2q5+jMZSiU3yg82uZX2K6pn+2NzIIhEcLiiIVdfOJ5jmfxthpqYg9SVZ
X-Gm-Gg: AfdE7ckRykS3KtJmAZwxC1X3XQfqaZK0xC6NT1PydBH4+TK7baPPm3ZweJLCFobVETh
	VUmXEdTs6SYd/gIa/lB5sbyVITyMOpXNf0snei14sLvmSNcIFzOGR7UngRA38lxkB1wG229l8ff
	8RXzYaTAiQXU2PsP5S1dhnn6H3vCgipCpXgPLIAbFuIDO8Gpw3dLa0bvCYP+DPofopeGelNHLjE
	n2EhzYFfxQdCn+hPPczQWBUo4BqLAaB2tNlRMLmLlmXAxIwoGFjor7IqUYEX1GYP2qp4Zk4cO2t
	1nQ9kMhXgzf0LRalx52ZCvnS/PHMJJiYzM0yrHvfVXoglBYtyztdOV4CUn35XUlmIljYQjjzbHi
	C7RitlqrMgTIJIowRqtcKheFBw1PRLbl+gHaGJREQRnfn56UElaro7SGX+F2SfPPP+GXxrbicK9
	2ePXuT8J4JWqQUPeJObDY0tizqsZORyesRlQzYMwwxyty8BZgBRXPGpVVIK/jcv2UfoXShNGtCp
	cpenw==
X-Received: by 2002:a17:907:c07:b0:c0e:883e:e4f2 with SMTP id a640c23a62f3a-c0e883eea07mr481839866b.30.1782221800838;
        Tue, 23 Jun 2026 06:36:40 -0700 (PDT)
Message-ID: <20161bd5-a081-4562-a1d9-14dbdba109f3@gmail.com>
Date: Tue, 23 Jun 2026 15:36:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] char/ns16550: bound execution time of
 ns16550_interrupt()
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20260623103145.76383-1-roger.pau@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260623103145.76383-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1782221801-DB1EEABF-D9F25515/10/73395122804
X-purgate-type: spam
X-purgate-size: 1453



On 6/23/26 12:31 PM, Roger Pau Monne wrote:
> The current logic in ns16550_interrupt() will loop until the device sets
> the NOINT in IIR.  At least on the Lenovo ThinkSystem SR630 V4 the flow
> control of the serial-over-lan emulated UART seems to be broken, as it
> doesn't set the NOINT bit consistently.  The Transmitter Holding Register
> Empty in LSR also seems to not be properly signaled, as even with it set
> writes to the transmit register take ~6ms.  This leads to the watchdog
> triggering very easily on such system.
> 
> Introduce an upper bound on the execution time of ns16550_interrupt(), this
> is currently set as 4x the polling interval, which is calculated as the
> time to fill RX FIFO and/or empty TX FIFO.  The current maximum is 5ms.
> Once the timeout triggers the interrupt is disabled and the uart is
> switched to polling mode.
> 

Don't you mmiss Fixes: tag?

> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>> ---
> There's a possible alternative approach to solve this by moving the actual
> interrupt processing to a softirq tasklet and disabling the interrupt
> source until the processing is done, likely unifying the logic with the
> timer task.  However that's a bigger change, and too risky for 4.22 at this
> point.
> ---

Agree, it would be better to stick to  the current solution:

Release-Acked-by: Oleksii Kurochko <oleskii.kurochko@gmail.com>

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 13:40:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 13:40:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344278.1603377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc1MR-00021Z-JS; Tue, 23 Jun 2026 13:40:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344278.1603377; Tue, 23 Jun 2026 13: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 1wc1MR-00021S-Fu; Tue, 23 Jun 2026 13:40:19 +0000
Received: by outflank-mailman (input) for mailman id 1344278;
 Tue, 23 Jun 2026 13:37:28 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <ranquet.guillaume@gmail.com>) id 1wc1Jg-0000rU-Hl
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 13:37:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc1Jf-00BJ51-UQ
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 15:37:27 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <ranquet.guillaume@gmail.com>)
 id 6a3a8c13-e002-0a2a0a5209dd-0a2a45089920-8
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 15:37:27 +0200
Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <ranquet.guillaume@gmail.com>)
 id 6a3a8c17-9ee7-0a2a45080019-d155dd35cda4-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 15:37:27 +0200
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-462ebd5d37dso5469191f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 06:37:27 -0700 (PDT)
Received: from [192.168.0.191] (lfbn-tou-1-1549-180.w109-220.abo.wanadoo.fr.
 [109.220.140.180]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-46667221de7sm34853939f8f.33.2026.06.23.06.37.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 23 Jun 2026 06:37: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:Message-Id:Content-Transfer-Encoding:MIME-Version:Subject:Date:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782221847; x=1782826647; darn=lists.xenproject.org;
        h=cc:to:message-id:content-transfer-encoding:mime-version:subject
         :date:from:from:to:cc:subject:date:message-id:reply-to;
        bh=hUyTTFBSUX+r+HizyOVTDJk3MbqSrTM8hBaLvD/x8xQ=;
        b=NH//JcAumI+N48H1iwl+g9m/bNL0kXbJyeDWh9l8Ds9Qk7PF99JFoFn2pLiql+nRTV
         SSBITrfeTe1grh2Cpwkpfdi6+Dk+QYsrmS8AALvKw6iJ0f2bq/KrhRWoXg9oGnGein2W
         S4r7++g9Czg26brI5Nau11Arss8h36E5proHTcKvt94Vy/PNkpwN1rtPBoMXFFKPuEyc
         F5rb4B41V1xkAhENvDRUgEYRePwfLTl+lWTxgXlit635WFsVQW4+VeR1P1+VE8UYtkJA
         5zLWPEDwOHedDiPMoaghZKhRF/AZ5dVLaKgX8hR6vUwZtq4euyJ9fAM0yIHxLsuFchrg
         IXFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782221847; x=1782826647;
        h=cc:to:message-id:content-transfer-encoding:mime-version:subject
         :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hUyTTFBSUX+r+HizyOVTDJk3MbqSrTM8hBaLvD/x8xQ=;
        b=MPY4xV3nlzSd4dezqfbVgXrBxyhAL+D2lsxPvZCsQJhAQ2/X1TuYLK0cZDUFG/N1f0
         P9GjNy7FTgI0uICLB5khRKBZpzfmncJn9BcJoTb8PCtcTCv0urYfFUOb7JLGwwuZ7UEH
         RJMJuJb+cI8kADElA24dlv1DW4QV3yHdZvigQEGfJqWYzVq6LCsvq7RxcaeqmpLJVoa8
         ZDdlLp/Dy/9m+jv3qzFZVyq2eQ24XQLmSlWs8WEix0ABmjYzsJpqA7z7Xd0umVmQ3yI1
         qjzFC7I6QhWrFhzrjqBf2j3H2/xd2EQHesu3FYWF/b8upAgsBgYqmj2VkvE7WZsFH+vJ
         JZIA==
X-Forwarded-Encrypted: i=1; AHgh+Roe0iuAEhn20o2xr+6nAIBv3AjKRQPeIU6pMOWWuajk39gJbYAaKjegOtZdw7UYxag+MnXzH0CYMb4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy5rnQPj4OsqWoyFl0LN7Cd/FD6lG2j0wqcbq7gLux1efDVAyoP
	LAM4qk2ggt3tb+HpmuvBZhBeYPfhx+ZlhlCDi7mTk0EjnKntUWEKKftj
X-Gm-Gg: AfdE7ckD1uW3Uk6RvEte+jUaefjtowWaik+dRQPF+OCSt3pVOzWuUa8sMoy2MaH7n2q
	vdNim/ON2YcoIA/rxvqUIHi7BQbDpJc7hvNoJUwV+sJZtB3h2Pwx4CkRrDrntf4GqUwLV+GJcM1
	/es3Qkk2EZz3HWLX6efxn5xPsINlLYw7g8/xT2IZskJmC/PUjjUlQOuNCej6YS1Z21JjPNAl3vy
	UqtlE+KaTqi05iW9aHoMzjeMpP6GKOE4X0CkIpNZHK8DwJb+v9n7ymz/oM9iGUGA2zT5xKuRXVk
	HNkyBOOE/UF+GYY4YYpVbpkAwt2c7TEc/+ys4eZ7jMELZHygRHp21tbHCiikbnNalFjbDHNb9Qe
	7DphLy1QhWcEjgtgM1S5jtvToOz7MQ0xxgXO280XDzlHIoQ4rR8B8ZKPQzvRXXSBzDrTk9NGyi6
	h/p0ZXjnZvpyidUYc/weC0iLkg5yQbr6TmnfBdcbJK1mC6LFnRDF9v1WOytrfopaitHez9Uo7iI
	Q==
X-Received: by 2002:a05:6000:2681:b0:460:3210:4347 with SMTP id ffacd0b85a97d-46addd120aemr4249109f8f.40.1782221847046;
        Tue, 23 Jun 2026 06:37:27 -0700 (PDT)
From: Guillaume Ranquet <ranquet.guillaume@gmail.com>
X-Google-Original-From: Guillaume Ranquet <granquet@missingno.tech>
Date: Tue, 23 Jun 2026 15:37:14 +0200
Subject: [PATCH RFC] x86/xen/pvh: Disable KASAN in early pvh boot stages
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20260623-xen_kasan-v1-1-d963df2233d7@missingno.tech>
X-B4-Tracking: v=1; b=H4sIAAAAAAAC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE
 vPSU3UzU4B8JSMDIzMDMyNj3YrUvPjsxOLEPF1TU3PDRGOLNKMk01QloPqCotS0zAqwWdFKQW7
 OSrG1tQBAogg0YAAAAA==
X-Change-ID: 20260623-xen_kasan-5571a38f2b5e
To: Thomas Gleixner <tglx@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>, 
 Juergen Gross <jgross@suse.com>, 
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
 Stefano Stabellini <sstabellini@kernel.org>, 
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, 
 Guillaume Ranquet <granquet@missingno.tech>
X-Mailer: b4 0.14.3
X-purgate-ID: tlsNG-c1860d/1782221847-662270FA-ACF37B9E/0/0
X-purgate-type: clean
X-purgate-size: 3548

Running a xen pvh guest under KASAN results in a triple fault as the
KASAN shadow region is not initialized this early in the boot flow.

(XEN) [ 2.018691] d0v0 Triple fault - invoking HVM shutdown action 1
(XEN) [ 2.018693] *** Dumping Dom0 vcpu#0 state: ***
(XEN) [ 2.018695] ----[ Xen-4.20.1-pre x86_64 debug=n Not tainted ]----
(XEN) [ 2.018697] CPU: 0
(XEN) [ 2.018698] RIP: 0008:[<ffffffff842be38b>]
(XEN) [ 2.018698] RFLAGS: 0000000000000006 CONTEXT: hvm guest (d0v0)
(XEN) [ 2.018700] rax: dffffc00072775d7 rbx: 00000000072775d7 rcx: 0000000000000000
(XEN) [ 2.018702] rdx: ffffffff843b56c0 rsi: 00000000336ec578 rdi: ffffffff8368c1ec
(XEN) [ 2.018703] rbp: 00000000393baff0 rsp: 00000000393baeb8 r8: 00000000393bb000
(XEN) [ 2.018704] r9: 00000000393bb00c r10: 0000000000000000 r11: 0000000000000000
(XEN) [ 2.018706] r12: ffffffff843b56c0 r13: 00000000393bb008 r14: 00000000393bb000
(XEN) [ 2.018707] r15: 0000000040000000 cr0: 0000000080000011 cr4: 0000000000000020
(XEN) [ 2.018708] cr3: 00000000393bc000 cr2: 0000000000000000
(XEN) [ 2.018709] fsb: 0000000000000000 gsb: 00000000393b7020 gss: 0000000000000000
(XEN) [ 2.018711] ds: 0010 es: 0010 fs: 0000 gs: 0000 ss: 0010 cs: 0008
(XEN) [ 2.018712] Hardware Dom0 shutdown: rebooting machine
(XEN) [ 2.180946] Resetting with ACPI MEMORY or I/O RESET_REG.

Signed-off-by: Guillaume Ranquet <granquet@missingno.tech>
---
The KASAN shadow region is not initialized this early in the boot stage,
so disable instrumentation of the early boot.

Though I'm wondering if disabling KASAN for `arch/x86/kernel/cpu/common.c` is the right move.
There's a single call to `get_cpu_vendor()` from `arch/x86/xen/enlighten.c`.

I haven't looked if there's a solution to avoid disabling KASAN for
everyone in `common.c`.

Opinions welcome?

Also note that I haven't tested HVM/PV or PVHVM.
---
 arch/x86/kernel/cpu/Makefile | 2 ++
 arch/x86/xen/Makefile        | 4 ++++
 drivers/xen/Makefile         | 2 ++
 3 files changed, 8 insertions(+)

diff --git a/arch/x86/kernel/cpu/Makefile b/arch/x86/kernel/cpu/Makefile
index d2e8a849f180..8d1d45c231bc 100644
--- a/arch/x86/kernel/cpu/Makefile
+++ b/arch/x86/kernel/cpu/Makefile
@@ -17,6 +17,8 @@ KMSAN_SANITIZE_common.o := n
 # As above, instrumenting secondary CPU boot code causes boot hangs.
 KCSAN_SANITIZE_common.o := n
 
+KASAN_SANITIZE_common.o := n
+
 obj-y			:= cacheinfo.o scattered.o
 obj-y			+= topology_common.o topology_ext.o topology_amd.o
 obj-y			+= cpuid_parser.o
diff --git a/arch/x86/xen/Makefile b/arch/x86/xen/Makefile
index 717264ae269b..940284eb9835 100644
--- a/arch/x86/xen/Makefile
+++ b/arch/x86/xen/Makefile
@@ -7,6 +7,10 @@ CFLAGS_REMOVE_time.o = -pg
 CFLAGS_REMOVE_irq.o = -pg
 endif
 
+KASAN_SANITIZE_enlighten_pvh.o := n
+KASAN_SANITIZE_enlighten.o := n
+KASAN_SANITIZE_efi.o := n
+
 # Make sure early boot has no stackprotector
 CFLAGS_enlighten_pv.o		:= -fno-stack-protector
 CFLAGS_mmu_pv.o			:= -fno-stack-protector
diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile
index c0503f1c7d5b..d71742c382dd 100644
--- a/drivers/xen/Makefile
+++ b/drivers/xen/Makefile
@@ -5,6 +5,8 @@ obj-y	+= mem-reservation.o
 obj-y	+= events/
 obj-y	+= xenbus/
 
+KASAN_SANITIZE_efi.o := n
+
 CFLAGS_features.o			:= -fno-stack-protector
 
 dom0-$(CONFIG_ARM64) += arm-device.o

---
base-commit: 4e5dfb7c84012007c3c7061126491bbc92d71bf1
change-id: 20260623-xen_kasan-5571a38f2b5e

Best regards,
-- 
Guillaume Ranquet <granquet@missingno.tech>



From xen-devel-bounces@lists.xenproject.org Tue Jun 23 13:44:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 13:44:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344290.1603386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc1QA-0002Z0-3X; Tue, 23 Jun 2026 13:44:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344290.1603386; Tue, 23 Jun 2026 13:44:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc1QA-0002Yt-0f; Tue, 23 Jun 2026 13:44:10 +0000
Received: by outflank-mailman (input) for mailman id 1344290;
 Tue, 23 Jun 2026 13:44:08 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wc1Q8-0002Yn-R5
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 13:44:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc1Q8-00DqQS-7g
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 15:44:08 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a8d7f-e002-0a2a0a5209dd-0a2a450ca6a4-44
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 15:44:08 +0200
Received: from [209.85.128.46] (helo=mail-wm1-f46.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a8da7-94a4-0a2a450c0019-d155802eb46b-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 15:44:08 +0200
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-4908b92904fso80532785e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 06:44: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-49245711032sm357904215e9.0.2026.06.23.06.44.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782222247; x=1782827047; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Ifw6QiNsSRsBl1TEnQfwJU2LTBI5TLAHyq6mJ2VqelY=;
        b=GAzu/iFKKzY9V4NghU1MuJX6uv6Uk/KxwzqEbRl66c4fRO9sVPPag4DCo3mWkXaFLC
         xI4hLKJkrUKyMOaaDZ9VXVfDEwALUS/oiHgtgwyeY7BkAcg9zprP3sE2ZqhBQpxn+gHg
         o6sh3we2mQVe+/ZF1utaVWOpzERRdBPKQKGJW+WmDr3Lxu/3Xayz4c8+MMq/UKboTBNS
         Ax+5t8thvvq19skL1QGTWyxvzAVQzjWW2Ivo9/7H09L07ihV7R7XKnn3StMeD8pfFu4m
         fIqf3cO5M/l6GGe4BmD9SSFDt5YCKKPuu+51YE5twsoX49TL48TWRpA1pYriKAkFK1zF
         zZhw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782222247; x=1782827047;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Ifw6QiNsSRsBl1TEnQfwJU2LTBI5TLAHyq6mJ2VqelY=;
        b=IWb9cgDTNqJ/UDOoY8hfM5ZkVvDSBc1NQTwNjeKtS43bm2eGfKVGfMwTke4Jtw9cf/
         jOccRP9J70YMV5sdBwZWZkzTJlrNn3LiHDynMYmi4n0FlY7Vhf6Z9aDAx2CG1SnFPDoh
         NhZFxRkrfcvtaYGa7EVDSThgnAhrh+8LpCMzHMyhQQ3q7EKNafXDsHsfdVvlrBi+1bvA
         hRmvmsxqnkUJRekVaOQukDQsG7hLBZNPhQrA/o9gi2bdtbmILZ1hXOw2ShXUycLiYmlH
         9uKV95krd/aCQndKRJ98oOCOTnHuMuf+ueZ4qo5xnigTopm5LW3FAoioY39Wlw5vfoLw
         U5hQ==
X-Forwarded-Encrypted: i=1; AFNElJ92YLsm5v60zqZLvjB5TZbU2FUV3463GRAJA2bJHz8rsyBcG82McmaZjTX9fniLDb5NcAEw96IJnr4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz0BDNOLvfXpdtkbYsAJLi7cxsYfGllHz2JRMWEqVkK9Lm2ky0D
	72n65Vi4x3qvQcMpiso3Rg4PlM+LE+puVJEbiilhQuKWGuXonqTsHUkjerftQe0l3Q==
X-Gm-Gg: AfdE7cl6N5/k0k/DFhYa83xktYsBq92R/xL+QDul0zbm6DBGWUnncKeQeDZlr5+DPf7
	KRCyM9iIuX6N2adeV2GjVF1oYg02a//0PTO7626sYuAMiRGzPtPEzhCRRjQvyDNLwjzNVKjoSQw
	3FYiDAMLjjo1Cp7nZdRuthldty+CQl+z93l2JTTKHROTaCjFvcRUho3hWoei/KxGSQQv0OT0VXD
	HNNvBt2A6sH/yxXKlVpb4KFqhQIH+TDcPDhNmoUBnR/DfNxs1B3BrKkCKYsk0gBY+iGTTbsM6C1
	lJcMaD346XwbGgaVEYxq8qtxdFUjeNhP/ANKgvt/y0j9JP2lEFfcLFzoMDYuvhrsXKT5IKvRqLx
	G8R4dRog9hWdKPxH8FnJYp5o4c3fm8shNjlMJD1j8pmQnVLyJYZ/iHC30qR8DD+8G7w039k829w
	5uJxH0IwBZam0gCt+j4h4OeDAy22waQDZ3zu8hI6Wn1EnnRjrbIaOd/XL/pcnAp0i9x69bnvG2p
	jmy
X-Received: by 2002:a05:600c:6091:b0:492:418b:b5e1 with SMTP id 5b1f17b1804b1-4925b392676mr39007765e9.37.1782222247509;
        Tue, 23 Jun 2026 06:44:07 -0700 (PDT)
Message-ID: <06c8caab-4722-4b02-991f-bdc4a4ac0ea6@suse.com>
Date: Tue, 23 Jun 2026 15:44:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] char/ns16550: bound execution time of
 ns16550_interrupt()
To: Roger Pau Monne <roger.pau@citrix.com>
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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20260623103145.76383-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: <20260623103145.76383-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1782222248-04FD8ABF-4D3B49B5/0/0
X-purgate-type: clean
X-purgate-size: 3834

On 23.06.2026 12:31, Roger Pau Monne wrote:
> The current logic in ns16550_interrupt() will loop until the device sets
> the NOINT in IIR.  At least on the Lenovo ThinkSystem SR630 V4 the flow
> control of the serial-over-lan emulated UART seems to be broken, as it
> doesn't set the NOINT bit consistently.  The Transmitter Holding Register
> Empty in LSR also seems to not be properly signaled, as even with it set
> writes to the transmit register take ~6ms.  This leads to the watchdog
> triggering very easily on such system.
> 
> Introduce an upper bound on the execution time of ns16550_interrupt(), this
> is currently set as 4x the polling interval, which is calculated as the
> time to fill RX FIFO and/or empty TX FIFO.  The current maximum is 5ms.
> Once the timeout triggers the interrupt is disabled and the uart is
> switched to polling mode.
> 
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> ---
> There's a possible alternative approach to solve this by moving the actual
> interrupt processing to a softirq tasklet and disabling the interrupt
> source until the processing is done, likely unifying the logic with the
> timer task.  However that's a bigger change, and too risky for 4.22 at this
> point.

+1

> --- a/xen/drivers/char/ns16550.c
> +++ b/xen/drivers/char/ns16550.c
> @@ -62,6 +62,7 @@ static struct ns16550 {
>  #endif
>      unsigned int timeout_ms;
>      bool intr_works;
> +    bool force_polling;
>      bool dw_usr_bsy;
>  #ifdef NS16550_PCI
>      /* PCI card parameters. */
> @@ -190,12 +191,41 @@ static void cf_check ns16550_interrupt(int irq, void *dev_id)
>  {
>      struct serial_port *port = dev_id;
>      struct ns16550 *uart = port->uart;
> +    /* Set quite arbitrarily as 4x the time to drain the TX or fill RX FIFOs. */

Nit: I'd drop the latter of the two "the".

> +    const s_time_t timeout = NOW() + min(MILLISECS(uart->timeout_ms * 4),
> +                                         MILLISECS(5));

MILLISECS(min(uart->timeout_ms * 4, 5U)) ?

> +    if ( uart->force_polling )
> +        return;

As the IRQ was disabled, is this even possible? I.e. should this be some
kind of assertion or alike?

>      uart->intr_works = 1;
>  
>      while ( !(ns_read_reg(uart, UART_IIR) & UART_IIR_NOINT) )
>      {
>          u8 lsr = ns_read_reg(uart, UART_LSR);
> +        s_time_t now = NOW();
> +
> +        /* Break out of the loop if spending too much time. */
> +        if ( now > timeout )
> +        {
> +            struct irq_desc *desc = irq_to_desc(irq);
> +
> +            /* Disable the interrupt source - it's never shared. */
> +            spin_lock_irq(&desc->lock);

This needs to be spin_lock_irqsave() - we may not rely on IRQs being on
when we make it here. However, ...

> +            desc->status |= IRQ_DISABLED;
> +            if ( desc->handler->disable )
> +                desc->handler->disable(desc);
> +            spin_unlock_irq(&desc->lock);

... all of this open-coding is quite bad anyway. We should probably add
a helper for this in IRQ handling code.

> +            /* Disable interrupt generation on the device and arm the timer. */
> +            uart->force_polling = true;
> +            ns_write_reg(uart, UART_IER, 0);
> +            set_timer(&uart->timer, now + MILLISECS(uart->timeout_ms));
> +            printk(XENLOG_WARNING
> +                   "uart interrupt taking too long, switched to polling\n");

Probably it is indeed best to keep this simple, but: A single instance of
this taking e.g. just over 5ms (perhaps with a low baud rate) may not be
indicative of an actual issue. To alleviate this as least some, perhaps
besides capping at 5ms we should also make sure that the timeout used isn't
below ->timeout_ms?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 13:46:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 13:46:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344296.1603395 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc1SC-00033I-F4; Tue, 23 Jun 2026 13:46:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344296.1603395; Tue, 23 Jun 2026 13: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 1wc1SC-00033B-C1; Tue, 23 Jun 2026 13:46:16 +0000
Received: by outflank-mailman (input) for mailman id 1344296;
 Tue, 23 Jun 2026 13:46:14 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wc1SA-000334-JH
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 13:46:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc1SA-00EWVM-09
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 15:46:14 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a8e23-e002-0a2a0a5209dd-0a2a4509b9d8-4
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 15:46:13 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a8e25-4999-0a2a45090019-d1558031c885-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 15:46:13 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490a76757e5so35755715e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 06:46: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-4923fe7b359sm363298205e9.9.2026.06.23.06.46.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Jun 2026 06:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782222373; x=1782827173; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=/0/1yboZ9+2i88mjtfHYubEpuWxYl3dEnFK3kI0Tmyk=;
        b=XT3TWIanxOXIPhueirXcb8866PzWW8HR5ZzLKpKLTTQZIrZg9BOED7o+0c0IHmj1VE
         rCAqWRFQPtte14v5GfyMrJnjp3vIVFWpE34fWpikxP+8n3hVAtNItCo+2Rwh/QaLmHoe
         Z3GFzhrbWRua07aL42u/j31OD4MhlLWpFDftnY6CZHmdZckJe3Eihr3C4r1DA6MP183I
         hRaWsPHy4NOP2iCeVJX4k0pwevVUDjEiu+QXoQTZuV6yg0oT/wq1SrfxcXoo7bSZGF1g
         JO4t7eGNuuidSN8BBn4tiio/TNh0A1teFLzMMoY48vB3eYeXRdHz87u3cU4ppGZ9BM3b
         at8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782222373; x=1782827173;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/0/1yboZ9+2i88mjtfHYubEpuWxYl3dEnFK3kI0Tmyk=;
        b=IAs6TMBcwlYM3ll/8egCHL7hgv7zqgw/bGXIvdB9DVAYO/nLcZLvAF2Mx5Y0vv5Qbz
         QkEPfPHo03EZ034qsMa+QM+u3yYpowLMYoLaR34uzg3YDV+HF/PfZ1UcAeCcTLZeBSqV
         FgMQL1gAv4+VCp0cODgFMQga10qeYOexUXZxxU2Im01aRyZEHav9qCIJknGT9o/yPtFS
         WTYaJ4Hv+8IT+GQItMjfZvY3skKH+5hwAMSxO+Cc3hndUulEFybQQ2xDQx9jPq5GOvpK
         wVXBRNkZVLTdhZHsXjN4L/tsoVLcmJdT1vtUxLLUvOFo8r73CMfp7rwQqwjqay2UbS4M
         vAdA==
X-Forwarded-Encrypted: i=1; AFNElJ9J/rYHnKRjek18X27B4q0ChwQ+3hq61uD6pQEtA6TfeFOwgil42+Td3pg8vdvYRiwiRVifI3SWRr4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywc0pDsrNkH5uernpvaO40yyVK0TXFyH/vjE5FOTUeOusaJY5vO
	LHZ0KSIS6wqi7nh8TL9TyzunNbkUUBe9gJrVyMu7K7GWpvwHsp8i9sdnYlLPDZo6gQ==
X-Gm-Gg: AfdE7ck7SvKh6kWhMahzA9Pe2YPHk1GAgBHaELh5r66awPWl3mP3Ml9eH+uBHUZh+OD
	ieFGu3w0uwJ7rQT/qr9OhUYkJl78bjQtjZunTJZfBjyX9OmwhLC0lWjhSnKnizQuQM2t1UgUQ3U
	s1jKfQUlumn9aBqiT+VIYAie06tHgSLlIf4qHRdgLuvcaR5vkr74hf/YTVfgTbAA8jHGhVeprOs
	GvMwZLgz0Q/qy3FqQNkzx0Wmog+j8WY899IVr4sdlJxYs5Pi/ebfGkVxq6ebpyn2pI/z6OHm5L+
	moYJSu+cen6ZVXBx6rzmdMNH+M3HExlUHurmfJSTGLtbWzQUrM+8z1Z3sxAVTF0DzHrQqLcDJ6D
	6SZitDTNXRIsgYtdfWcg65LguPZ24qmElGh67NbarTGBaJUIdiIFWef++7aKn5yjlpPdYgUuP1k
	OVM6pkChIEcy4QkESTdkESZ7TMIbvdDcj5Mc80RVPYG7KvvzhByXTjboZDLLaecbYPpGkAT50nh
	Cxx
X-Received: by 2002:a05:600c:e556:10b0:490:c2a2:b1d4 with SMTP id 5b1f17b1804b1-4925b3bc8f2mr29630355e9.35.1782222373326;
        Tue, 23 Jun 2026 06:46:13 -0700 (PDT)
Message-ID: <c3d0c6cd-cc4e-48cc-a0fd-a455a6d4917d@suse.com>
Date: Tue, 23 Jun 2026 15:46:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] char/ns16550: bound execution time of
 ns16550_interrupt()
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>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <20260623103145.76383-1-roger.pau@citrix.com>
 <20161bd5-a081-4562-a1d9-14dbdba109f3@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: <20161bd5-a081-4562-a1d9-14dbdba109f3@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1782222373-73BEE744-AF4F0501/0/0
X-purgate-type: clean
X-purgate-size: 1185

On 23.06.2026 15:36, Oleksii Kurochko wrote:
> On 6/23/26 12:31 PM, Roger Pau Monne wrote:
>> The current logic in ns16550_interrupt() will loop until the device sets
>> the NOINT in IIR.  At least on the Lenovo ThinkSystem SR630 V4 the flow
>> control of the serial-over-lan emulated UART seems to be broken, as it
>> doesn't set the NOINT bit consistently.  The Transmitter Holding Register
>> Empty in LSR also seems to not be properly signaled, as even with it set
>> writes to the transmit register take ~6ms.  This leads to the watchdog
>> triggering very easily on such system.
>>
>> Introduce an upper bound on the execution time of ns16550_interrupt(), this
>> is currently set as 4x the polling interval, which is calculated as the
>> time to fill RX FIFO and/or empty TX FIFO.  The current maximum is 5ms.
>> Once the timeout triggers the interrupt is disabled and the uart is
>> switched to polling mode.
> 
> Don't you mmiss Fixes: tag?

Fixes: "SoL on Lenovo ThinkSystem SR630 V4"

you mean? I think there's nothing wrong with our pre-existing code, and
the changes here instead are a workaround for some (apparently) badly
implemented SoL.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 14:16:48 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 14:16:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344313.1603404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc1vV-0007h0-Qd; Tue, 23 Jun 2026 14:16:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344313.1603404; Tue, 23 Jun 2026 14: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 1wc1vV-0007gt-NV; Tue, 23 Jun 2026 14:16:33 +0000
Received: by outflank-mailman (input) for mailman id 1344313;
 Tue, 23 Jun 2026 14:16:32 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wc1vU-0007gn-CQ
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 14:16:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc1vS-00AV0b-29
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 16:16:30 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3a9533-2eae-0a2a0a5409dd-0a2a4501d7de-32
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 16:16:30 +0200
Received: from [40.93.196.24]
 (helo=SA9PR02CU001.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3a953c-e031-0a2a45010019-285dc418ef60-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 16:16:29 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by BY1PR03MB7852.namprd03.prod.outlook.com (2603:10b6:a03:5b6::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.12; Tue, 23 Jun
 2026 14:16:25 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0139.018; Tue, 23 Jun 2026
 14:16: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=MpYtDc1toK6hNApqX4mcIj8cYsPdJz+OlHNH9Ya79KB/OdQ5pWXARGgGapC4/iNccBWMa1FWWLTxfovLGJWm7iPhFlr4VsmLj311rEw600C+ii9e0TvGQ2m/UxwP1hjXWI3hgrHy9uet1oP9IKAgxy62k5nIna4mH3PElYFXZ8O4JLPhT3pLofsUPYEadfLzUiDDcUpxkgQ0+/nkKJ88vs/Z/5SPTeY/U0vphZWKYNLFstN5oYFvwdJfKPJMyUb8jXJcuszLxWtcISKn03w3i+Udtup8FxnrgGxLpkvE2l5/MOiRG7tDHN3osN6AU9p9A0GE1rMYt4QiqbZrcTWm3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gRi9DCMsIiy3yIO/O4lNqm+ACu7ArUxeBjhIO/OnPhk=;
 b=QQNG7KznCA1/96yKJQNs7TKiD3clX93006zeVLUTZxhCPJhzdD2nd1Tywks9rRaHmKrphLG7WMSoa4Qi5jQP7XT9WhEp7olP96i1nf4Cl/a5+EJCa8jO4cq1JN8JcFQVtuXx91Y9WvucLjyFhOZhslSpPlC7RORoxIM+kBRDGqk+Y8pVGZEpa61uib5n/uwEPDHQ5Ymvj7FPF5Qb69JhMlKJedCTUHWwDODabOSbVX6y3oFj1CmjZ5U4jWMYzB0CSVXfQTlHE1qJ2d/hT4bcIJW9jaqRCkOl2+DSYAZQRDctFxxRUbNbeDvD9enSk+9P2NIJd1IPaF/GqvzOGhAylQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gRi9DCMsIiy3yIO/O4lNqm+ACu7ArUxeBjhIO/OnPhk=;
 b=cjf1qS+5Q96QBnDgK6tyK4qs6J9mZrvZDg/w5y4lJ0HcCC53hmd8t8nw0U27M6Y3Mu1TPt0uwFumsT5O7aLrU/ibCYauvxixr7WjJ0O68ZequcdOZp4kubaGiLgpfzMqKdTwnid+JPJZM1OLUIniUUOxSQjlYrEojV0t31ZbAjc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 23 Jun 2026 16:16:22 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
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>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH for-4.22] char/ns16550: bound execution time of
 ns16550_interrupt()
Message-ID: <ajqVNtt02XMUGk-X@macbook.local>
References: <20260623103145.76383-1-roger.pau@citrix.com>
 <06c8caab-4722-4b02-991f-bdc4a4ac0ea6@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <06c8caab-4722-4b02-991f-bdc4a4ac0ea6@suse.com>
X-ClientProxiedBy: BN9PR03CA0059.namprd03.prod.outlook.com
 (2603:10b6:408:fb::34) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|BY1PR03MB7852:EE_
X-MS-Office365-Filtering-Correlation-Id: a7ac4d81-b50f-4f3a-c040-08ded132025a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|23010399003|366016|376014|22082099003|18002099003|3023799007|11063799006|4143699003|56012099006|6133799003;
X-Microsoft-Antispam-Message-Info:
	deilDXGaab8VIdXi7iUx2tO/SVFFWqvs3g0K7Irgn2dfcAE4AddHr8ZtNIM5+yqTsCelK4iwhpQTeImbXwpSuGd27gXKDPJRYOCHhtF+MqEETQfYi8ABgbjCvaCO2Rwp+sBEiiXndEi4NZ1Dm9zOKTN59fyKV6K0b+gsV22BnNLS0W8Afc2pAmzj/eBGxczah69pypy+2p0DZyl1peqM5C3FT878Ad9RSW+OCI4aKFwbcG7k51Vo2RaVNJjr9bv0jggAAuYyveUSQre6THX1s5Oq167PiE5tyvSriXiGd1RmSrvDCsk4XaUK2C1SUrphAdcWo6PXHaq50X9/canUlCs2RcfLWWYk41n44T5swC1+M8LlpEPdceKwi2o4pxeXiIQu3ywS8o0AWc6AmS1gMd+M5757skLxqcfy8suDOO88pyLLIKJF2x4MyXWkAtS0teasTOpakk4JASPN0lm5IAauhosxecIbGeR5nu4mTBXOQ7fFalP7HbRdyUqgaX3YKXBKGzWMhyzzHlsiW24qpLNobhHr5MdSAXO2YOyQznEXYkqJrztTJl8rue5xuD4W1k3e7bZmRCWzkyahp3XdD3WBuwca1IdTSIfvTsQModoLPxIf06lJunbdmmHwHuKQ9SVtLMtKWoRqtou9agU9Pbf/ufb/dkQoBLe0+wgLxJU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(366016)(376014)(22082099003)(18002099003)(3023799007)(11063799006)(4143699003)(56012099006)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZFh4ZWVTejAzajVKYVZLOUJRTWtKTUhTUDdxTjRLWXREaGxFRXB6UU5VbFlp?=
 =?utf-8?B?VVZURmNzSFEzckVzUDlodnRSZDJvNWNqOHVKaHUrbVdLL0t2eWJRTE1YbC9K?=
 =?utf-8?B?QlZ6dloyT0l1RmllVGJIZHlTVUtkUExRcmEvT1NDLzZCMkthT2dqUnJXZ00y?=
 =?utf-8?B?WDEwQ3huUkpwRlEzeHFHTVN0NjM3TlpHMGNiVUxSU0Ird0VlbXJranZmUHpm?=
 =?utf-8?B?VnBDUHFwbExQOFJzaFhPbmNuTnF5MStYeVdyY0ZkMGhMcE5VZlI2MUIrWWVO?=
 =?utf-8?B?ZVc5UEJwWThqc3R0Qlp0d0htS09nL0NpK2t3dTY0Ui9UUTVSQ3VteDkwVy9J?=
 =?utf-8?B?eGQzRlRSTTNHMXkwWUhCV1VRSVlnZFo2aDBjYlhrWURQNkFLQW9aN3YvSGxL?=
 =?utf-8?B?NEJuT0pINXRKS3k5ZzgyRnUwZ0YxL1UxSnM1dFh3SzMrOVZjVllaanBJODVG?=
 =?utf-8?B?ZnhyWUxRaWwyYnUxejVyN1hXQ25vcVdQRnZSUm1LdGoxOFZ4YWhFTTBCbmt5?=
 =?utf-8?B?U1BCbkcyVnQwc0RRTE5hREZnbng3WTRzN2lhTjQvSlJ0aG9OSThtQnlmSWhr?=
 =?utf-8?B?ZUlDeDd1eEplWnZMdHNpL3RsYTVaY0QvWkhUVGh2QThYNTNLRjNyRThra2Yz?=
 =?utf-8?B?aFBqVE9aaHYzZnQyOVVIdFFCYjJwT2huN2Z6YklNVTdMb2QxOFB1YWNTaGNZ?=
 =?utf-8?B?ZGk2M3pjZHZyK01UNW1sWUliOVk0VlpyaXNNU1FGM1ZJNHZtdDh5MnhRZURl?=
 =?utf-8?B?L1BPa213T09xTWRnbFA2REJGTHVhSUJ6Q2FOYUlxS1ZsRGZkSnIxRzlDSzBt?=
 =?utf-8?B?WWdOZ05Kd0dGL0JVQmdQS21vLzR3aExUenN4czNCK3UxN0krN2ExODcyRkJU?=
 =?utf-8?B?dFl2cHZUTGtSN09zREptQTV4bXdscE5WeFJldjNrMHE5Uk9WRE90azR6dnM2?=
 =?utf-8?B?b3prQ1ZrQmtDNFd0RFpNRFZCcm4rT1NEN0YxMTV4ams5YkpOY1pJK1h0T2dh?=
 =?utf-8?B?RmVnTW5icXAyS3cvNW5oQ01sWHhIWUFxSFcxUWdFRVoyVGVOOENVaGxaMWxw?=
 =?utf-8?B?aHk2MmVsT0tYNTJLY0lpU3V1dWhqTWs2aFNFbW5INE9rV3hvOG9zMThvYXJr?=
 =?utf-8?B?Y3FveDR3NE14QS9GSmJUU3JmMFFIenNFU2xpNUNCNmJqWVJRRFJEem02YnhF?=
 =?utf-8?B?WW05L3RVQVViR3M5Q202YWx1UU9IYjBiaC9hRy9RVGJOTzZJbG1jcUtyZVE3?=
 =?utf-8?B?NERWclpPdDFRckFGMUZKSkhRZWtZcEgwVTdYS2pPVW81cDVkeXcvZi8rdHJC?=
 =?utf-8?B?WUhua1ZWUEpmTDRaWEVZVzlTRjB1TzNLbzV5RG1PcS9nSURPNjloM3ZFUjZJ?=
 =?utf-8?B?RmpuelQveDF0RXFHckgxVHgzN3FvV1ZVdEgxYTZ3UGZ5R0RpQnR2RDFLMHRl?=
 =?utf-8?B?TUwyZXZ1REcveDFqU0xuTzFvcnIrbUU2YzBHRlUvNmF0ZGpDOEFjc0N1Njk2?=
 =?utf-8?B?T2J5cm1VUmVpSXFwNHNFaWtaazRadEswN1ZLS0RnSlg2Snl0Um9iM1puSG4w?=
 =?utf-8?B?SXprbVF4MkFNUnVUbThvcXlwdmIyQml2ditJYWxGMWRMOVNUNzB3YkNxZ2Vm?=
 =?utf-8?B?MDlQaEtBUnVvcXFDMEZDYmZJRjhZTG1ybkRGZ0tlVjExU1NxVXlpa2VLOVo0?=
 =?utf-8?B?WXIzUUU0aWN5ODF2UHlRaWRUYnBIZUtScW1IY2J1Z0duU3NXOXpHcWVZUGFh?=
 =?utf-8?B?OFdZU2R4TFlSdFJaYWx2ZXAxMkQ5aE1CN24zSW40WTlya0M1cGpJNDFSbzV2?=
 =?utf-8?B?S1h3aklVUG00NU1nODcyQTBpaU9QcTZwa0dmNlZXVnpKVUthSXFsMFA5SEpw?=
 =?utf-8?B?c0dqbFBLR1hVQS9RU2pSZDlwOVZpZm1ZdjNDWGg2WncxWGJHVWFjUTQ5OFRz?=
 =?utf-8?B?dG9LVUF0MGoxb0JFQi8rUTJXRTR3QWkwQ0NQeThrQ3hqeWlma0F5cW52dDJC?=
 =?utf-8?B?K2IxNGFEc0pEVVFxYVlCMStmcWlSK0M2YVVBRnFVMFNFSmFndGtDQXlPNUds?=
 =?utf-8?B?ZWRYeG9Fb0dLK08vaDUzOFYvZk4zdGhISDRvSEdxWlkraGQ5VVQ0dDZxaFg2?=
 =?utf-8?B?T21DaVZhaUlTMnZQdkJCK1EwZ3pDcE54SjAwdUdLdkk1TlZ5MmJzUU9YbExO?=
 =?utf-8?B?d0l1UURqZU16MkxzV2p5T2hKTVdDbmN4K1dvWmlwSkxrcEZ0OFhCUng4Sjdy?=
 =?utf-8?B?L0VScDRaOEljaW05dDNxMGZ6ZzdGVHROY29LbzhCY3p2bk1tMmNBZmMrQnJQ?=
 =?utf-8?B?eVBXTExsWUpoa3U1WUNleWRxamNjaWJJOWlNSlFHdWVuYzZUUlE1UT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a7ac4d81-b50f-4f3a-c040-08ded132025a
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 14:16:25.3901
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pfBSndf4wv1LY3HHH3KrAxA/k8Q+wcyh882qoyD8K2VWVmSFYaKe7fR29Uh1dgR1mtsH/adJLpJZlIXtTmElXg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB7852
X-purgate-ID: tlsNG-d62444/1782224189-4A5AFE30-FDF8A64E/0/0
X-purgate-type: clean
X-purgate-size: 4810

On Tue, Jun 23, 2026 at 03:44:06PM +0200, Jan Beulich wrote:
> On 23.06.2026 12:31, Roger Pau Monne wrote:
> > The current logic in ns16550_interrupt() will loop until the device sets
> > the NOINT in IIR.  At least on the Lenovo ThinkSystem SR630 V4 the flow
> > control of the serial-over-lan emulated UART seems to be broken, as it
> > doesn't set the NOINT bit consistently.  The Transmitter Holding Register
> > Empty in LSR also seems to not be properly signaled, as even with it set
> > writes to the transmit register take ~6ms.  This leads to the watchdog
> > triggering very easily on such system.
> > 
> > Introduce an upper bound on the execution time of ns16550_interrupt(), this
> > is currently set as 4x the polling interval, which is calculated as the
> > time to fill RX FIFO and/or empty TX FIFO.  The current maximum is 5ms.
> > Once the timeout triggers the interrupt is disabled and the uart is
> > switched to polling mode.
> > 
> > Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> > ---
> > There's a possible alternative approach to solve this by moving the actual
> > interrupt processing to a softirq tasklet and disabling the interrupt
> > source until the processing is done, likely unifying the logic with the
> > timer task.  However that's a bigger change, and too risky for 4.22 at this
> > point.
> 
> +1
> 
> > --- a/xen/drivers/char/ns16550.c
> > +++ b/xen/drivers/char/ns16550.c
> > @@ -62,6 +62,7 @@ static struct ns16550 {
> >  #endif
> >      unsigned int timeout_ms;
> >      bool intr_works;
> > +    bool force_polling;
> >      bool dw_usr_bsy;
> >  #ifdef NS16550_PCI
> >      /* PCI card parameters. */
> > @@ -190,12 +191,41 @@ static void cf_check ns16550_interrupt(int irq, void *dev_id)
> >  {
> >      struct serial_port *port = dev_id;
> >      struct ns16550 *uart = port->uart;
> > +    /* Set quite arbitrarily as 4x the time to drain the TX or fill RX FIFOs. */
> 
> Nit: I'd drop the latter of the two "the".
> 
> > +    const s_time_t timeout = NOW() + min(MILLISECS(uart->timeout_ms * 4),
> > +                                         MILLISECS(5));
> 
> MILLISECS(min(uart->timeout_ms * 4, 5U)) ?

Bah, yes, sorry, I've added the min() later and clearly didn't apply
much brainpower about it's position.

> 
> > +    if ( uart->force_polling )
> > +        return;
> 
> As the IRQ was disabled, is this even possible? I.e. should this be some
> kind of assertion or alike?

Hm, I wasn't setting IRQ_DISABLED before, and hence needed this guard.
But now with IRQ_DISABLED being set in ->status do_IRQ() should filter
any stray interrupts.  I will attempt to add an ASSERT_UNREACHABLE()
here.

> >      uart->intr_works = 1;
> >  
> >      while ( !(ns_read_reg(uart, UART_IIR) & UART_IIR_NOINT) )
> >      {
> >          u8 lsr = ns_read_reg(uart, UART_LSR);
> > +        s_time_t now = NOW();
> > +
> > +        /* Break out of the loop if spending too much time. */
> > +        if ( now > timeout )
> > +        {
> > +            struct irq_desc *desc = irq_to_desc(irq);
> > +
> > +            /* Disable the interrupt source - it's never shared. */
> > +            spin_lock_irq(&desc->lock);
> 
> This needs to be spin_lock_irqsave() - we may not rely on IRQs being on
> when we make it here. However, ...

I was relying on do_IRQ() unconditionally enabling IRQs before calling
the handler, but it's safer to use the _irqsave() variant.

> > +            desc->status |= IRQ_DISABLED;
> > +            if ( desc->handler->disable )
> > +                desc->handler->disable(desc);
> > +            spin_unlock_irq(&desc->lock);
> 
> ... all of this open-coding is quite bad anyway. We should probably add
> a helper for this in IRQ handling code.

Can add, no problem.

> > +            /* Disable interrupt generation on the device and arm the timer. */
> > +            uart->force_polling = true;
> > +            ns_write_reg(uart, UART_IER, 0);
> > +            set_timer(&uart->timer, now + MILLISECS(uart->timeout_ms));
> > +            printk(XENLOG_WARNING
> > +                   "uart interrupt taking too long, switched to polling\n");
> 
> Probably it is indeed best to keep this simple, but: A single instance of
> this taking e.g. just over 5ms (perhaps with a low baud rate) may not be
> indicative of an actual issue.

It's all fiddly, yes, I could add a counter and maybe only disable if
we have a certain amount of executions of ns16550_interrupt()
exceeding the timeout, yet I wanted to keep this simple.

> To alleviate this as least some, perhaps
> besides capping at 5ms we should also make sure that the timeout used isn't
> below ->timeout_ms?

OK, let me see what I can do.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 14:19:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 14:19:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344320.1603412 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc1yC-0008MY-6Y; Tue, 23 Jun 2026 14:19:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344320.1603412; Tue, 23 Jun 2026 14: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 1wc1yC-0008MR-3a; Tue, 23 Jun 2026 14:19:20 +0000
Received: by outflank-mailman (input) for mailman id 1344320;
 Tue, 23 Jun 2026 14:19:19 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wc1yA-0008ML-RU
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 14:19:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc1y9-00HFIV-5r
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 16:19:17 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3a95ce-2eae-0a2a0a5409dd-0a2a4501eada-30
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 16:19:17 +0200
Received: from [40.93.201.7]
 (helo=CY3PR05CU001.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3a95e3-e031-0a2a45010019-285dc9072db2-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 16:19:16 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by BY1PR03MB7852.namprd03.prod.outlook.com (2603:10b6:a03:5b6::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.12; Tue, 23 Jun
 2026 14:19:13 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0139.018; Tue, 23 Jun 2026
 14:19: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Wkk18n1SGY1ZqLBckxo7WXMe02Juek/l5r8VJD6laDLpnVrqazMPxoJbxCW3Vwqb9r4Jl+it/NUCPVmpM2mYXzXtnxATbbYeAJFqrbjqlv1YElmeErePZL+D5cgXT1EO25AFJZbBVnnhvlrVeaAUMzqclCO2NFaVgmijfT0V/aGmKqB0IMTxgC57LO0ZsGxcH4xI6VHmyKlBbXnGIKDi99BSNBUUAQR83wTtGnS+cAX5URcd1PCHlj2UFvPfSxU+EcQW1mu7wOPGG4xouIsEDjFOug2TRx5u6AgeJAtMv6dKZSqSewjY3GZxE0JQsrLOfi2ertT4oLcY3N9SXtPhzQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uRS58iMhLNg5y/4kLEAE7WHi2dVvTtk56WbX55L+UmM=;
 b=vJYF9J8L/gtHCGqbRhzHzG6LD3Pdd1+wD5uGMITtrVMHaOYLRR1BeNZl7NIfN4+N3dOdlt3csrPM9jmyyUIJW6qcc/nAMsaWru6Htw9TgFEo8MJUVSVzTzYcNsH3nLAfjuf6K0FwzuJJPj2RMRNeDQccIFteJxX+IGe415x/V72/0sE59qnoyHBEY4X4lDy/l1Ln9ScL1hO2C91CGgXsNR6YpjadC7IBix+XWB2RwtTuItTyjUkSk0/pWSICi1XUff9kpjA03KXknRiDYENeIARley7OvEJYYHvNjMz3cOraTQis2ovmn9M4qZ+e1TxideMJI3ZSf37tQqtT1Z9efg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uRS58iMhLNg5y/4kLEAE7WHi2dVvTtk56WbX55L+UmM=;
 b=QiAVpnP86STz3VbF9o8xKFLxEaR3tsfdpc7v3QwriaS2kFZ3/cgYckOMnc1YU4OkujSNmMCGyna4vMM2YSxeldHtrmX+6+Xc0gM9oPeDmIb94hsJhd5Pk7OkejMODsnV/v/ttxcfIjkgpofC3yZu+1u2wzo19q/VmbrIpCVqqFM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 23 Jun 2026 16:19:08 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
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>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH for-4.22] char/ns16550: bound execution time of
 ns16550_interrupt()
Message-ID: <ajqV3OLhVwkmxGMV@macbook.local>
References: <20260623103145.76383-1-roger.pau@citrix.com>
 <20161bd5-a081-4562-a1d9-14dbdba109f3@gmail.com>
 <c3d0c6cd-cc4e-48cc-a0fd-a455a6d4917d@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <c3d0c6cd-cc4e-48cc-a0fd-a455a6d4917d@suse.com>
X-ClientProxiedBy: MR1P264CA0207.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:56::7) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|BY1PR03MB7852:EE_
X-MS-Office365-Filtering-Correlation-Id: 40842e8f-4835-426c-575b-08ded132661e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|23010399003|366016|376014|22082099003|18002099003|11063799006|4143699003|56012099006|5023799004|6133799003;
X-Microsoft-Antispam-Message-Info:
	9iOiQP8222GMflEm91IS5YBaLtJlE2cB8xOrUfYTOuluGpBnAz2jT8tcAtl3KYojq35BRPH6xE4RzCkNg9Q14wMQwKRHO+U4W6RZ7g5MsWJRWnh4OV7Po9rsEe4g81WljUunixuqn4Ih6ednTIR0IUc+7HBxJd4P/O7Qh7muc9yIHWWbiBg8AQ1OoAMAprfeWp4VKvuQnDf/QTFoySrwYCe6jNS4UutNDnQxTCnLvGQulUQ7ixFpaPDzjkkgPgUTB+aO7h2A7rfvJuPXJ5dnn+Q1017eM0q/rqOdGl0TKw8RgnmSfd/WZh9litlIHBh9RV2xjwF7Z/GJdhGd0S2b2EqAdozlOl/MELPpvx+zdTzkgu/bPyxfh+sOqv4EAM74NJYT/LlTe0BJutUrnUaLwoWe/cAZlr2y5zpCArWV10r8gSs7D9DkPHclnj17F0Am03aT4N3IcEnqlFBI6h6wgwYQ3X9lPGlN83rqepxc9wZs74cRG4onEM+gfRARVXCbr91FpeP7iha3S2lRPQ0I7yy3WX9/V0PsuFqQ6qLL2jOit5+lyicaJtricNDetxSzPPi890Fc0tOmJ3Ax5lWYxLyezWHFbYqGOh/POk57aiKgaIBK40/Jd4G5mPjJLrFTeWSiOpH9vk3fjvNMKPUeUnRKl2/UH5jdigUgkxYBL2A=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(366016)(376014)(22082099003)(18002099003)(11063799006)(4143699003)(56012099006)(5023799004)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cEhSdkI3ZzUySUxsOWNhNGVab29vT0FXTk1odXFiUWE0cFBNalcwRWMraGMy?=
 =?utf-8?B?R0k4Q2Y1L2pOcWh5a21zbzBYaE9iNXBURnplaThFMVBOQkw5NmN2dTQyWUsz?=
 =?utf-8?B?TUpLRUMyN0YrZjhHSkdlVzlHVHFJZFZSSDhqNWJCRXBhSERHT3Y3dTJNTGFX?=
 =?utf-8?B?cERacHNqTVdEYlVTUldxSU8vbnlEZnBCa0g0dC9ETkltMUVjRkNnRmRrSDlS?=
 =?utf-8?B?dGJ4TldIL2RtM3RYcmlmQ2o4eDVHbHJVV2UxMFpKMEVQSVBXZHlYRUdwMjdU?=
 =?utf-8?B?aVFxdjN0KzVDRTRuNk9FOWFIUG9oN3dFUk1IVHo2MU5kRHA1eldZQ2tpLzlS?=
 =?utf-8?B?REJjOFAya2tQYXlUVmxEUFBVQWlVL3ZqZWRNazVEV2JGTkxJc2Irend4czdw?=
 =?utf-8?B?VnpEQU9IV094WGVUK3AzZ05SS04zb0pwSEhCRHMzTFg1TE9nUm5Ga1lzdjBB?=
 =?utf-8?B?eDdGVm83Q3RZVGtLdzN6K1ZkVU9id1A4cDJKcHNycjEydW5vSDBGcFhkRlZ5?=
 =?utf-8?B?cE1qUUJhYWFuNUhGSDRNYmtUS0xiNTMvT3NTQ2Q0UWFLUWl3bksyUlRFemxz?=
 =?utf-8?B?ZmNjYitHWVhJcHlOT0pxQTAxb2JES3JPZlQrUEs1WG1rTnlwZEVDZnpPREZT?=
 =?utf-8?B?aWg0VjlxSUxaRGVVYWZzQVZRZW55Zjh2Smx0T1ZFZUlYdkF3KzAwRmZUZlZp?=
 =?utf-8?B?RUZ6Z2VwdVo3RXFxU1cwbGhZNUMwZ1JCWk9OQU9ObVZCcmJSb29VQ1VaSWdW?=
 =?utf-8?B?Q1RUbHQ3MS9FdDNVelZUaGorenJ5T0s0dWZLZHBheitZUXA4N3htc0Y4dnlS?=
 =?utf-8?B?ZUNVWTVhMGhXRTc3ZThNb3ZiQnY5eUNaS1pMTWtlMzdjRlNKNXVtR1laWWxW?=
 =?utf-8?B?RzNYdGZQU3pFUXlSeWgzRGFMSm1pdG55NHNYbjArdmExRm5KbnNYMVlldFdt?=
 =?utf-8?B?MVYrVWJ4ai9qTithanVjbnhtdXZzTklBUFBDb0VDdi8zTEZmSCtSdUVqVHNI?=
 =?utf-8?B?TVBQc2drUXFRV1lFZC9ZMERLL09jT28zWTFvVVZUTnNYRXJKQmFsaTlCVHBH?=
 =?utf-8?B?VDlRN2s3cVUxLzFaMTNEN0JDYWlyQXR6VjluMHFjL2E5MTNRS1hSb2JEclNw?=
 =?utf-8?B?QWd1bXJIdEZKWFhGQ3ZrOTMyKzZSaFZsRGRhMjJpajVDMW9ZVTFoS2V4NVln?=
 =?utf-8?B?MXIxeXJ0QlJhc3NvZit3OWc5emhSR04rbERyQ0I3REtKcmFJSXJzQ2JBUlBG?=
 =?utf-8?B?NHNHNUsvR25DNXFFTDBhVFNhWFg0eHZvSVBuanh1RktEdG9XVUhGTTk2YkRD?=
 =?utf-8?B?S1RqeG1ia2YyZ2VlNzdPMUpqYXV5dGN6K0dxVmxCSTNZeXV0UFI1OVpCc1NZ?=
 =?utf-8?B?Qnh0UFV4QitJVlZ2OHV3TlI4OW5vblo1NWlXZkJEVTFJM1Yrcng2TWJxU3M3?=
 =?utf-8?B?c1pxMnh2anpwSElYZERVK0o0ZUdUQkJIbHBMUk1JUnVnakllRHpTZlIxbXlX?=
 =?utf-8?B?MC9lOHdsbGlsdGFRdldRRW9DRmVtZGExWUJPZWwxOHJLLzlETTBpa1U3TVNU?=
 =?utf-8?B?OUZyeUovMWYzNnJCTk9vNDRVNGREY2FpbHVJSndydmZQNVFlQnAzSHB4SkMx?=
 =?utf-8?B?aURjTGRmdm55elNwNUxQaU1JK0orRmZyQy9oWHc1TDY3UnBWMDhDWnJ4V2tF?=
 =?utf-8?B?eTdXeXloRmJXWis0RVNxSWxoanRGazZuN01uSHVqMEFYSjl2bDY0VWxYcHoy?=
 =?utf-8?B?akFiL20vYkRmN0Z1aEZ0dVA4M0kwN21OZ0s4RkJQaytiUW9DQmtqL2FYVHdH?=
 =?utf-8?B?TloydWNISS8rUHZHTk9Ic3FZZ0FRZzlYdFA3SXpKZFUzaXlZSlZJWGQ2Vllt?=
 =?utf-8?B?T3ZWME13Sm4xVVloMjc2OHlXSHFJbm1MUzBiM3dwZFl2cmh1Y2xRODBXSWlQ?=
 =?utf-8?B?TDM2VTNEdm5lUVdvams1Ri81RkJqck5Xa09ES25TYXZvdVlieERERnZBL0N3?=
 =?utf-8?B?amsvdkNyMDV5YXlkWU04SEpDSklKWm5sbXpXVjgvaDdZK2RKYkd1SHdySUZ4?=
 =?utf-8?B?RytOR2I1NzIxWGNVL2l5V2F6NmxiTStNMERZeUMrU0pnNWwrNndzQ1A3d1lr?=
 =?utf-8?B?QURmUGxRTldxQjJwaEtCL1RQamNvZFE0NEZLb0FSa2hzbjZxSVV3NXpwMzZD?=
 =?utf-8?B?WE1vQm5TUW9oRWpVeUswdThreTFBbnVTZmdsM2pNd2ZYdzdYNi9rL3NZbCtH?=
 =?utf-8?B?SmtMNGwwUDIrUUViSEJTSkorQkZHWmJkTWhNT05jV1hsNStTMm1mSFliYU9t?=
 =?utf-8?B?ZXdrSDVqNGxWLzFKU0RTRE1GRlNJd1c3dTljVk5JalZTUVMzR0M1QT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 40842e8f-4835-426c-575b-08ded132661e
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 14:19:12.7297
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KPkfk/CvmeeB/Ne+518tP32wpb1JNOo8X2jUsuNTaVE/7fiuLxzHPAkmi4Vfi7LgMo71TTUp/1w5Y2dzqTUgVw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB7852
X-purgate-ID: tlsNG-d62444/1782224357-4B3A8E30-C9214D90/0/0
X-purgate-type: clean
X-purgate-size: 1738

On Tue, Jun 23, 2026 at 03:46:11PM +0200, Jan Beulich wrote:
> On 23.06.2026 15:36, Oleksii Kurochko wrote:
> > On 6/23/26 12:31 PM, Roger Pau Monne wrote:
> >> The current logic in ns16550_interrupt() will loop until the device sets
> >> the NOINT in IIR.  At least on the Lenovo ThinkSystem SR630 V4 the flow
> >> control of the serial-over-lan emulated UART seems to be broken, as it
> >> doesn't set the NOINT bit consistently.  The Transmitter Holding Register
> >> Empty in LSR also seems to not be properly signaled, as even with it set
> >> writes to the transmit register take ~6ms.  This leads to the watchdog
> >> triggering very easily on such system.
> >>
> >> Introduce an upper bound on the execution time of ns16550_interrupt(), this
> >> is currently set as 4x the polling interval, which is calculated as the
> >> time to fill RX FIFO and/or empty TX FIFO.  The current maximum is 5ms.
> >> Once the timeout triggers the interrupt is disabled and the uart is
> >> switched to polling mode.
> > 
> > Don't you mmiss Fixes: tag?
> 
> Fixes: "SoL on Lenovo ThinkSystem SR630 V4"
> 
> you mean? I think there's nothing wrong with our pre-existing code, and
> the changes here instead are a workaround for some (apparently) badly
> implemented SoL.

It was on purpose that no Fixes tag was provided.

Xen code would be fine with well-behaved uarts, however most of the
serial-over-lan emulated ones are not well behaved it seems.

There's a possible issue with the unbounded loop in
ns16550_interrupt() as it's relying solely on hardware register values
to terminate, which again would be OK if hardware was correctly
implemented.  I don't think this warrants a Fixes tag.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 14:27:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 14:27:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344331.1603421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc25t-0001dz-VP; Tue, 23 Jun 2026 14:27:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344331.1603421; Tue, 23 Jun 2026 14:27: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 1wc25t-0001ds-SK; Tue, 23 Jun 2026 14:27:17 +0000
Received: by outflank-mailman (input) for mailman id 1344331;
 Tue, 23 Jun 2026 14:27:16 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wc25s-0001dm-P2
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 14:27:16 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc25r-00C8Tc-IF
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 16:27:15 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a97ba-e002-0a2a0a5209dd-0a2a4509a19c-28
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 16:27:15 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a97c3-4999-0a2a45090019-d155802bd554-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 16:27:15 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-490cf322ed0so45154135e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 07:27:15 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-46666c57b95sm32734943f8f.30.2026.06.23.07.27.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Jun 2026 07:27: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782224835; x=1782829635; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=2sAGrp+LXSAivQ32YkBC9pjGwmNLE41t3KzN+CoRxOo=;
        b=Se3Xab6UQLz5qDNXnXkyWTnv1YVTMipuIEEwgEcB3wvGIQyiEwo1GNYg2Ahw4ZjMor
         fy6PQCZmO9WxHP3BoEACMTFP88RyskcrXxdOqjAcQsijQgtMh3KeeoyH3LN+Fxkyig31
         T73wturX808Un7CQZ9JvcjoRLZZwBMuIlbauHbirHGROXeR+EgspfErI0ZTjcXHQZB+u
         x3qZnGrKhxYQl7zHmzd5KL+Aj8zAMrImRR4sK2lvj95/OOMcnCR5dPfhQmCrBmX3Ox5u
         sAQT+CbhnZ6Sxd3/ZWl6XXYOiXh5CK1081bhF+ZabkN4z+A33lDBpeLbhOR4NmvGujUo
         xxQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782224835; x=1782829635;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2sAGrp+LXSAivQ32YkBC9pjGwmNLE41t3KzN+CoRxOo=;
        b=qZqsDCJ3V+RGBS/yBwQfw1WGRrsO1ePDeDB2HNuz8bZUDsTArZGopTY6tojc4ZGQoL
         NrIIBinZTjqiRSgjT4Z7Wj6XMSiAfHJiZK0INhX5ufG+Dzb607z70cNtzhnRQDGd+R7G
         HPnTc6jezxuLsr/6sO6ub0awh1D7DkJppACDWunTrYIHwvvDXfx5ryakTaGg1L414Uws
         YwCFtRSsg9NfxkevnDmxFijGitERIGOjPQ1VI4X67Xml7oFJClpbxj1iumTgovvUei2J
         IkKClr7FhkzmQY8zMrBWI109tPm6+Z1avsZPN3Mgp/Na6CXrdGBitxvXuQ8w+CccEOmh
         muXg==
X-Forwarded-Encrypted: i=1; AFNElJ9TgDArbHN7b8biaF8I9K/X8MDW69La3zXnSS4bi33D/TROAS2eiR9fZRsIEaKoCEk2hYtFlq79GSw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxZFw2hyugJUk8aaOodzd6TuR8UtXn+aC1g9HwuiKgTVwBsiN2N
	uTJYeKxaqFbdtwpGnICKJDrx0n8x0VNkWJ3yB++cq4MdW24+UbLASBwsj3sayNWa6A==
X-Gm-Gg: AfdE7cnwlB4buuaMlS65bpkJHtXiXzzC8JbZn+aB4cJhTqgWWKuGi3qRi5IV9sGFk2G
	v2l288SUfrAhmJGwMbUrBYlUy66NOs4DOjmKeFOYRUcWtIZU5adka8TrL5qQIJDrjuir8Xg9Erx
	aNRS4tvhcl/lzBl9cTDVs3Y4vSVU1ZjFU4LP+w6U6HBLZwTx9ZYitfQhmhZ9x8bcyATs9DGWzkn
	Sm/sraZfEdj6j7J+Fc2id1KzLKF0pno9EJKXo/6JMz4SVqhQvJyyEF7pGsuWBPSpcPoPxrn0lJ9
	PLvP6J2ISIWHBZWS/hrXnQPAXotGAudBlsC/tQiJadFnkLx6FPGWVQT29eVnFs0VDeJZSE5NKRE
	Ga1KQKRLcNKQV+xbIP3RiJY7uxClN1BNfDHbY0fPNXDPOE7l+D/Lxz6z429Oi7C9oXw+Wk30F/T
	NJh17EDQJYudMwmYVANmpeIBrFLWZVz4PQG30HsGPi1rWUigsii9M8dOHCr4HrBphtU8d/ChS7C
	Cr3
X-Received: by 2002:a05:600c:8a09:20b0:492:53e8:3bc1 with SMTP id 5b1f17b1804b1-4925b3ad749mr38538105e9.17.1782224834620;
        Tue, 23 Jun 2026 07:27:14 -0700 (PDT)
Message-ID: <cdf9f154-896d-4faa-8c76-ca15cf5e706e@suse.com>
Date: Tue, 23 Jun 2026 16:27:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] char/ns16550: bound execution time of
 ns16550_interrupt()
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20260623103145.76383-1-roger.pau@citrix.com>
 <06c8caab-4722-4b02-991f-bdc4a4ac0ea6@suse.com>
 <ajqVNtt02XMUGk-X@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: <ajqVNtt02XMUGk-X@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1782224835-F55FD744-6B8EE877/0/0
X-purgate-type: clean
X-purgate-size: 788

On 23.06.2026 16:16, Roger Pau MonnÃ© wrote:
> On Tue, Jun 23, 2026 at 03:44:06PM +0200, Jan Beulich wrote:
>> On 23.06.2026 12:31, Roger Pau Monne wrote:
>>> +    if ( uart->force_polling )
>>> +        return;
>>
>> As the IRQ was disabled, is this even possible? I.e. should this be some
>> kind of assertion or alike?
> 
> Hm, I wasn't setting IRQ_DISABLED before, and hence needed this guard.
> But now with IRQ_DISABLED being set in ->status do_IRQ() should filter
> any stray interrupts.  I will attempt to add an ASSERT_UNREACHABLE()
> here.

Simply ASSERT(!uart->force_polling) should do here? It is not wrong to
run the code below in release builds in such an event. If we kept getting
interrupts (perhaps at a high frequency) we'd be in trouble anyway.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 14:36:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 14:36:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344343.1603430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc2Ep-0003cj-RH; Tue, 23 Jun 2026 14:36:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344343.1603430; Tue, 23 Jun 2026 14: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 1wc2Ep-0003cc-Oi; Tue, 23 Jun 2026 14:36:31 +0000
Received: by outflank-mailman (input) for mailman id 1344343;
 Tue, 23 Jun 2026 14:36:30 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wc2Eo-0003cW-41
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 14:36:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc2En-001TCH-Gt
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 16:36:29 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a99e7-bab6-0a2a0a5309dd-0a2a450bb626-18
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 16:36:29 +0200
Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a99ed-5e53-0a2a450b0019-d155dd35e4a9-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 16:36:29 +0200
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-460662fcb4eso3814274f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 07:36: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-466667881b4sm33570697f8f.24.2026.06.23.07.36.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Jun 2026 07:36:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782225389; x=1782830189; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=oMoavhTonPQREKHRTi3SIWWrfOUCOC7cTaBaNUzUe6s=;
        b=bGeS5n10lnkIVQFiRarjkPOE9wQJ0kfCVdwfnY5DPbZijFQI1Fbn+K/JFFpuku4S1R
         Ww9ZkoCi3ureR+Hq6xfq8erC6p3BQ8z2Hi7IJv1XqydRSZITzcxHff+2BLyqCJrPt3Q9
         rxCAQHa9wYVxO7N0UeIUsdKfhBqz/6vV8IbBGdgxGoqSy2J/wAiTmWg4KhgNa1VnkYcw
         1ltZe20BrCBumpeL8baIrifjNQuSMqN/BqS4DEd+btXRM4Vf6rBCwKhhs/gahC45Hq9P
         85ePuFTmWS7ffnlU5jde+SGpUwaz1+IkSR84lNsYVnSl2WhgYzNJKox9y86GgAoJQ+XT
         HgiA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782225389; x=1782830189;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=oMoavhTonPQREKHRTi3SIWWrfOUCOC7cTaBaNUzUe6s=;
        b=KxA60l9S0x7O0p3ye4ulzruNyEBdJeDdIN2n99QzN1jqOvtTEqJ8x1ht2Nxgdh+XBM
         DmmwbjlhqG7bICQR14LIoWnZe0kBeZv3eEP6gBf/ErW6L/RyPhPKrP6FqVtYjwFUGU9u
         lcsUANJaCD2WE2VNougHwYU+IZ8tEJCspMN0i+jCQ75TKNx9Vz6cr5+XogeF/nFWZBHu
         ma7t8pVZW0C1SHvcJO51/qVlNtdbYbZxWrzkfa+XO6KAB+pRzzzI0k3lRxTI78aDU7wE
         8lNtrQQBDoZPwOtyDE7D7zGaObcDoa6bpXNrft92/Ghgq8F33Opq6pNLIlojJmyk+4yC
         tsRQ==
X-Forwarded-Encrypted: i=1; AFNElJ/eCAkz+JFZEBGR318OJvvp6AFDhEE/utrOy6b/d1W0RZKPGgSR1wSZ7kVHoWTeZdcvDnisPp0G8HE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyS3EYSXdfM1A+eWzGp8IzPUlJ4L6z6zRDkwSGs4LBdj4m64/JK
	Vg0/kRncND/0tf3iNgYetpW7+OQHD0Vr16WfcTTbazIV9OvwYEcwbGeKQxqyYu4npw==
X-Gm-Gg: AfdE7cl4Zz3PXY8AB6w0x50JO8dS5ZrKxFm8axcXJR7IPhGHNeAR1f/P3b5e+DH8H8I
	+a5cE8W/fZeE8u5VX5UvWm3HbGCqAxv/E/K51eJRzzzSTjEoL6NfF9Cd7Hu/ZpsI188af4BG8P1
	V9uS+VEmJboOua0IHh4MJAOep8tJMFOdwrjxwHeqzTwjA37NjWAKQWK5p3s16FtQTjvPucZyAi/
	LyNnIdiTMbUp2W44MTK9EluB+LOWvTKJNfBTXyH5bZf3PhjDxgMv+Sr2s3Ql+uky48za70oB1wq
	im0+OhGIx7JyY4I/EnxkUbKbocsLWGDhO9DgQ8xW6wIOB81JaxysFsXQKzaeiyHsSWFb6u5xnz3
	Tx56Hd6KTQIOO3kFQo2c5O/szwghUo1e1/lmhoTYIIGPQEXESlHxDRjlAQ5qtre7U0PbJQVPNYi
	3d3ZYDJoZCEC64/HadloZVzIlXe27XuBoDX4DOU0dwSThvHp9Z28GSvtjR2pKWQSK+VIhxkyZe4
	bIMtysrCV1LAZA=
X-Received: by 2002:a05:600d:6402:20b0:492:1e36:1fe9 with SMTP id 5b1f17b1804b1-49240eb56b9mr231640175e9.37.1782225388888;
        Tue, 23 Jun 2026 07:36:28 -0700 (PDT)
Message-ID: <56f2436c-3088-4196-bf60-f38fe8e3317a@suse.com>
Date: Tue, 23 Jun 2026 16:36:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/7] x86/kexec: add new struct kimage_segment
To: Kevin Lampis <kevin.lampis@citrix.com>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com,
 ross.lagerwall@citrix.com, xen-devel@lists.xenproject.org
References: <20260622151833.3397692-1-kevin.lampis@citrix.com>
 <20260622151833.3397692-4-kevin.lampis@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: <20260622151833.3397692-4-kevin.lampis@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1782225389-4DBFF00E-4DFD7482/0/0
X-purgate-type: clean
X-purgate-size: 1685

On 22.06.2026 17:18, Kevin Lampis wrote:
> --- a/xen/common/kexec.c
> +++ b/xen/common/kexec.c
> @@ -920,9 +920,10 @@ static int kexec_load_slot(struct kexec_image *kimage)
>  static int kexec_load(XEN_GUEST_HANDLE_PARAM(void) uarg)
>  {
>      xen_kexec_load_t load;
> -    xen_kexec_segment_t *segments;
> +    struct kimage_segment *segments;
>      struct kexec_image *kimage = NULL;
>      int ret;
> +    unsigned int i;

Restrict this variable's scope to ...

> @@ -930,14 +931,22 @@ static int kexec_load(XEN_GUEST_HANDLE_PARAM(void) uarg)
>      if ( load.nr_segments >= KEXEC_SEGMENT_MAX )
>          return -EINVAL;
>  
> -    segments = xmalloc_array(xen_kexec_segment_t, load.nr_segments);
> +    segments = xmalloc_array(struct kimage_segment, load.nr_segments);
>      if ( segments == NULL )
>          return -ENOMEM;
>  
> -    if ( copy_from_guest(segments, load.segments.h, load.nr_segments) )
> +    for ( i = 0; i < load.nr_segments; i++ )

... the sole loop it's used in?

>      {
> -        ret = -EFAULT;
> -        goto error;
> +        xen_kexec_segment_t tmp_seg = {};
> +        if ( copy_from_guest_offset(&tmp_seg, load.segments.h, i, 1) )

Nit: Blank line between declaration(s) and statement(s) please.

I also see no need for the variable to have an initializer.

> --- a/xen/include/xen/kimage.h
> +++ b/xen/include/xen/kimage.h
> @@ -18,12 +18,19 @@
>  
>  typedef paddr_t kimage_entry_t;
>  
> +struct kimage_segment {
> +    XEN_GUEST_HANDLE(const_void) h;
> +    uint64_t buf_size;
> +    uint64_t dest_maddr;
> +    uint64_t dest_size;
> +};

size_t and paddr_t instead of uint64_t?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 14:44:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 14:44:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344352.1603441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc2MP-0005Xa-Jv; Tue, 23 Jun 2026 14:44:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344352.1603441; Tue, 23 Jun 2026 14: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 1wc2MP-0005XT-G6; Tue, 23 Jun 2026 14:44:21 +0000
Received: by outflank-mailman (input) for mailman id 1344352;
 Tue, 23 Jun 2026 14:44:20 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wc2MO-0005XN-2A
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 14:44:20 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc2MM-00BYbX-NX
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 16:44:18 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a9bbc-2eae-0a2a0a5409dd-0a2a4504d290-10
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 16:44:18 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a9bc2-5f9f-0a2a45040019-d1558031dcac-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 16:44:18 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-49258ac7294so12342985e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 07:44: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-4923fe7ba08sm380600905e9.11.2026.06.23.07.44.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Jun 2026 07:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782225858; x=1782830658; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=eN/B8faHyk23z1NLnyDeWJiBbbh4GL051+ewk+EUD7w=;
        b=VSzKslsf7qXIokknIE48HHPDvamf9OgK5eswnG3/dxdbbUq2lPLiF4vitE+Aqj3v++
         voWfR5jtYiiswyYHv0JpP4Lg1TA2fLtMs5HrscZRQKruE1U0X2HxZhoMT/avdU714mqi
         YLX+IefmJqvcplkefjFDFGRpi/BoLBlXDLbCUygVUdJ5zTEGvEqOLOG3y9RmYhGLf6L2
         r/qA5Obl0DIyouigtbteYXuqAjz5y2VzjDjl1FaA8Sv3NoL/SrK9ww6/qv8hBRyrGBtr
         sz6KEvV7EG/r2eCWGqn4vi0O5vYxjIMbPgzZ6Jc7nDGfozLtXcaoph6eQ4yuq44t4IQv
         EvIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782225858; x=1782830658;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=eN/B8faHyk23z1NLnyDeWJiBbbh4GL051+ewk+EUD7w=;
        b=nADAHdqnr1+wSO+lUOTpNfuJKs4G+3lqVz7rF8cHBlCbgHxxPhY9+CsLSoqXK3E8U8
         G5PnZz56cy4v+ky4hYWdDO9pvHNX7E1GlUxxz9kGh7IbRSoiTTRgMFAR6z1qZZPuNat/
         c+OO4Z8vktkqj7F9zYiT3whBAR2W8cuMxH44viEz0Z0RBMy4zW3QP+3j2LyUwk4u5CKJ
         02XULWAHqBEQtMxGPS/fr7Wnq787sBu7N2uQgBwvXTsSAXr5kyOTGvAbuEg7aT/hgR7A
         69xzxhM7TDRbE+MP8o0cvImuiOyalP2uYsLiyVCl9T504rpgAAE3db6ZNIRkPBEJiCSW
         sEpw==
X-Forwarded-Encrypted: i=1; AFNElJ/FX0LkwuvS9yiMDyf8txOePt+A2ng7EjQkCu2t5Tc0pQtDmBuQQaCfDep2jVI+IMwTKpvNsTNKaEY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwrUQ8TbtWayqnd1gf/35fYvxn33U9VIrWcbpqddU8zJUs6O8ZA
	i4GSaQtwD3+Xdnt6icLkP1/FIquNFHQocE2kwCPN+D9zjLfQ7m4oOgzej3IbI6HUgQ==
X-Gm-Gg: AfdE7ckfXIlvC9ZsBPzA01FpN0ynYgts5Xvqkvto964Anlk076GcPA/5DycwpZbjRV5
	nZGVEKna9vQWc/3Nd7qLfYQ8e1pkXU0sWFwmqYxDF6Alv2eDKl9skMsf5OxyTKr1+gPHeMWdYLz
	CzIad7VgtS0UEoL190umVw4iyJPoAw7EfeP1BvqQWrF5h/yv7wXOmY+f+1L48qV14MLSjVJUyjX
	c9e8l5UfAD14aAfKdA8L8IT4d7R8qkI5Dk21tbcivMfykSYFFHT95yiJaNS5oOmyFYlQFg/LAJO
	HwmKZQgfmcg0Mn5KAI04FaLX3aU86dBic+BCnDwm/WXLR6gXE/XuYn1DkyDcL/bBX9hKSSRUGVn
	VfOhK70ij6dJlmqQKHq7mtyZcB+CmUQsplPkVgkHpI9PS3lYPoufIslqL2/SBcXRzk3pP6ce7sa
	rwm3wyVgBkOXeqhHuNTSM5f0r463Azqn2FRhdVSbcwcOWJX3Sx4Sy2ps87bxbMp/eEXhT333Bip
	cD6
X-Received: by 2002:a05:600c:c4b7:b0:492:3773:a230 with SMTP id 5b1f17b1804b1-49240e9cb38mr316895785e9.27.1782225858019;
        Tue, 23 Jun 2026 07:44:18 -0700 (PDT)
Message-ID: <b7bfcd3f-acad-4637-a391-32cc9bd71a38@suse.com>
Date: Tue, 23 Jun 2026 16:44:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/7] x86/kexec: add digest checks
To: Kevin Lampis <kevin.lampis@citrix.com>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com,
 ross.lagerwall@citrix.com, xen-devel@lists.xenproject.org
References: <20260622151833.3397692-1-kevin.lampis@citrix.com>
 <20260622151833.3397692-2-kevin.lampis@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: <20260622151833.3397692-2-kevin.lampis@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1782225858-477DD141-F15AEE86/0/0
X-purgate-type: clean
X-purgate-size: 938

On 22.06.2026 17:18, Kevin Lampis wrote:
> From: Ross Lagerwall <ross.lagerwall@citrix.com>
> 
> To support UEFI Secure Boot we must check that the kexec data has not
> changed between signature verification and actual execution.
> However, this is also a good check to perform generally.
> 
> During kexec load, calculate a digest over all the kexec segments. This
> digest is stored and verified again later prior to entering the image.
> 
> For now, only kexec crash images are supported.
> 
> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
> Signed-off-by: Kevin Lampis <kevin.lampis@citrix.com>

I guess I'm not quite following here. For secure boot purposes, shouldn't
the new kernel already come with a digest (or really with a signature),
which we could check in both kexec_load() and kexec_crash()? If we check
against a digest we calculated ourselves, we'd apply more trust than we
should.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 14:55:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 14:55:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344363.1603449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc2X6-0007Vg-I7; Tue, 23 Jun 2026 14:55:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344363.1603449; Tue, 23 Jun 2026 14: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 1wc2X6-0007VZ-FE; Tue, 23 Jun 2026 14:55:24 +0000
Received: by outflank-mailman (input) for mailman id 1344363;
 Tue, 23 Jun 2026 14:55:23 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wc2X5-0007VT-5O
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 14:55:23 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc2X4-00Fsz6-ET
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 16:55:22 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a9e51-2eae-0a2a0a5409dd-0a2a4509edc0-20
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 16:55:22 +0200
Received: from [209.85.221.42] (helo=mail-wr1-f42.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3a9e5a-4999-0a2a45090019-d155dd2ac89c-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 16:55:22 +0200
Received: by mail-wr1-f42.google.com with SMTP id
 ffacd0b85a97d-45f3cf907ceso2620944f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 07:55: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-4666722141csm34819574f8f.34.2026.06.23.07.55.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Jun 2026 07:55: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782226522; x=1782831322; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=v9XSJFdwK2Nbr6SepLM1A0MeRotoQ618aLu7Nv7SC6s=;
        b=aJIJPp3v9nPjbx/bnEgustNK93PwXMt2yECri3n/SK3EmN5lJg4pUzxsd0aHE9axJb
         LSo1pk5/wt1DE1jVOuP1csJmSItvjXNBca97Y+66LFsaAhkAPOVreSXO/E9qGliARuZ1
         jVEtR6K3ZsNFG8nlGwSo1c3qE4yy+MdTXCVWgga2cSNlF47x6DVb0z382yZKQhRyy6pf
         BVw9eg692iMjosw0CmgZH+gKVum/PyYISNnrm3sJH2nWjTdNDb1n5wlDSnIgXFvBKQ7E
         TxQVpvDOxVQRaB0Y+j8q3irOYFAMLQqg59n8LGaCVivYFOfHIIhveXq2UjJO8OFErZDO
         aQdQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782226522; x=1782831322;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=v9XSJFdwK2Nbr6SepLM1A0MeRotoQ618aLu7Nv7SC6s=;
        b=f66X6B0imI+ofXbxEap5N+KVrNERN7fZI481evN1PiH2jrNP/Xxpd/T5jftDzW+6AS
         WbCGGcMf0iIZehsUrzaxQVagAviB1ReDKdXvCLPDyErRnYsYuvYNUEuYLvukosvVukzY
         QcsadPyRNkT8JxNkzzyzfFVJj+HcIFXPoCu3Gy5OuhQyiPtowG66aPxL10/Ro4Jz6seq
         wZxN1PGrhgnJYZG8fPpRoxICFD/FyLFSwvvvaOoWFRCjpYZuLmsrv6Y/F1kjXOpQroQF
         kzFpUfShruCIX8sg45SgpIYRWd+JZUsFBl3arxSG/5eWZYTRQA3deAqz/GZwYsUZ09in
         nWhQ==
X-Forwarded-Encrypted: i=1; AHgh+Row9i5Ttcei/tBttKZiOL7OFLs9ZeFEbBSdOGtqNcgeomhZZhtch4M3i/dB9RxdLtawmgpZHJ6/1ew=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwI8NSUwx+4ChTIatMF4pZC/kUWvrfTnPqx14o6T+V8DeLrBYaC
	82GOa/8HwmhTmT0iMFX2pooMko31pah9t1BW/YsKdlRkDHCGVKvd/NeI76mfHQ8AgA==
X-Gm-Gg: AfdE7cmtYmHBkucs0vNY4cT2LPw2X0I5UseRYNgIpCpxc5oXv94HRqcIbOKYXojwRsc
	YINppqjokpxRCqq8hF/u6QeowR3YQyGBgbKdCZHnksSVAzm9dAbsflCMS/F6phUwn3EnmeMFbIu
	mJR+HZVkZPI2ob2nwp4oy87MQs4JL9eW6dOjtC+n4VPK6x5PmQg2E/xmqi3Q+eX1ym8WJ0/xvTi
	uDQekzi8LzKA81lwqZAseOnfg9gec1H4uGhefakoP70vrgt2UVoYFRRPPyMLEhFIUCLJSND61jl
	RJ3ut2OuM1bPDY54OgUhujWY77OT1h4m1frNxf95eohDjYcaAZXgdbFvceAiP61+rpZWVgiFj8V
	JCDxxQfJps5+0/Vv8ZOuHJNkWByNzHzYo5bn7PWa6hdXZE12Fqw/lwGenniVnxeRbj6jDJAK6vW
	iY4lHwZHvdjuhBCoeC1TGYG3SwIC/qLIvYz7mmSfoKMJVUcma/uoVkgtKoC+47qfJ6nGPBWE0NF
	OMI
X-Received: by 2002:a5d:5e93:0:b0:461:a1fd:6be with SMTP id ffacd0b85a97d-46adafbd2ebmr5192366f8f.7.1782226521658;
        Tue, 23 Jun 2026 07:55:21 -0700 (PDT)
Message-ID: <7ae492bd-1a43-4de9-b24f-c0c8407ac916@suse.com>
Date: Tue, 23 Jun 2026 16:55:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/7] x86/kexec: Implement new EFI load type
To: Kevin Lampis <kevin.lampis@citrix.com>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com,
 ross.lagerwall@citrix.com, xen-devel@lists.xenproject.org
References: <20260622151833.3397692-1-kevin.lampis@citrix.com>
 <20260622151833.3397692-6-kevin.lampis@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: <20260622151833.3397692-6-kevin.lampis@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1782226522-F51F3744-CA209520/0/0
X-purgate-type: clean
X-purgate-size: 3922

On 22.06.2026 17:18, Kevin Lampis wrote:
> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -71,6 +71,7 @@ obj-$(CONFIG_TBOOT) += tboot.o
>  obj-y += hpet.o
>  obj-$(CONFIG_VM_EVENT) += vm_event.o
>  obj-y += xstate.o
> +obj-$(CONFIG_KEXEC) += kexec.o

While there are some anomalies down here, most of this block is suitably
sorted (alphabetically). Please insert accordingly.

> --- /dev/null
> +++ b/xen/arch/x86/kexec.c
> @@ -0,0 +1,58 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#include <xen/kexec.h>
> +#include <xen/kimage.h>
> +#include <xen/guest_access.h>
> +#include <asm/bzimage.h>
> +
> +/*
> + * Find the entry point to the new kernel, we need to map the crash region into
> + * memory in order to read the kernel header.
> + */
> +#define KERNEL_SEGMENT_IDX 0
> +int64_t kimage_find_kernel_entry_maddr(struct kexec_image *image)
> +{
> +    uint64_t dest_maddr;
> +    uint32_t alignment, magic;
> +    uint16_t version;
> +    void *dest_va;
> +    const struct bzimage_header *hdr;
> +    int setup_sects;
> +    size_t kern16_size;
> +
> +    dest_maddr = image->segments[KERNEL_SEGMENT_IDX].dest_maddr +
> +                 image->segments[KERNEL_SEGMENT_IDX].dest_offset;
> +
> +    dest_va = map_domain_page(maddr_to_mfn(dest_maddr));
> +
> +    hdr = (const struct bzimage_header *)dest_va;
> +    magic = hdr->header;
> +    version = hdr->version;
> +    alignment = hdr->kernel_alignment;
> +    setup_sects = hdr->setup_sects == 0 ? 4 : hdr->setup_sects;
> +    kern16_size = (setup_sects + 1 )  * 512;
> +
> +    unmap_domain_page(dest_va);
> +
> +    if ( magic != 0x53726448 || version < 0x0202 )
> +        return -EINVAL;
> +
> +    /*
> +     * Ensure the kernel alignment is a valid LOAD_PHYSICAL_ADDR,
> +     * which ranges from 0x200000 (2MiB) to 0x1000000 (16MiB) on 64-bit systems
> +     * as defined in the kernel x86 Kconfig
> +     */
> +    if ( alignment % 0x200000 != 0 ||
> +         alignment < 0x200000 ||
> +         alignment > 0x1000000 )

Use MB() to cover some of what the comment currently says? (The second of the
checks would also be easier as !alignment, seeing that the first check already
excluded all other values below MB(2).)

> --- a/xen/include/public/kexec.h
> +++ b/xen/include/public/kexec.h
> @@ -54,13 +54,16 @@
>   * - kexec into a regular kernel, very similar to a standard reboot
>   *   - KEXEC_TYPE_DEFAULT is used to specify this type
>   * - kexec into a special "crash kernel", aka kexec-on-panic
> - *   - KEXEC_TYPE_CRASH is used to specify this type
> + *   - KEXEC_TYPE_CRASH or KEXEC_TYPE_CRASH_EFI are used to specify this type
> + *   - in case of KEXEC_TYPE_CRASH_EFI the first segment will point to the
> + *     full kernel to load and entry point will point to boot params
>   *   - parts of our system may be broken at kexec-on-panic time
>   *     - the code should be kept as simple and self-contained as possible
>   */
>  
>  #define KEXEC_TYPE_DEFAULT 0
>  #define KEXEC_TYPE_CRASH   1
> +#define KEXEC_TYPE_CRASH_EFI 3
>  
>  /*
>   * Perform kexec having previously loaded a kexec or kdump kernel
> @@ -167,7 +170,11 @@ typedef struct xen_kexec_load {
>          XEN_GUEST_HANDLE(xen_kexec_segment_t) h;
>          uint64_t _pad;
>      } segments;
> -    uint64_t entry_maddr; /* image entry point machine address. */
> +    /* image entry point machine address or parameters in case of EFI. */

Nit: As you touch comments, please also correct style issues.

> +    union {
> +        uint64_t entry_maddr;
> +        uint64_t parameters;
> +    };

We don't want to use language extensions in public headers. I'm actually
surprised this still passes the -ansi header check that we do from
include/Makefile. Maybe with recent compilers this doesn't do anymore
what we expect it to do?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 15:55:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 15:55:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344385.1603457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc3Sh-0007PY-OZ; Tue, 23 Jun 2026 15:54:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344385.1603457; Tue, 23 Jun 2026 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 1wc3Sh-0007PR-Ls; Tue, 23 Jun 2026 15:54:55 +0000
Received: by outflank-mailman (input) for mailman id 1344385;
 Tue, 23 Jun 2026 15:54:54 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wc3Sg-0007PL-1D
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 15:54:54 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc3Se-00876K-L9
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 17:54:52 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3aac32-bab6-0a2a0a5309dd-0a2a4502b268-26
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 17:54:52 +0200
Received: from [52.101.62.47]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3aac4a-fdf1-0a2a45020019-34653e2f3408-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 17:54:52 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by CO1PR03MB5796.namprd03.prod.outlook.com (2603:10b6:303:9a::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.13; Tue, 23 Jun
 2026 15:54:47 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0139.018; Tue, 23 Jun 2026
 15:54: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=q3+iJGAeH8rmX2OdQrW2O18OKeUf8gPT3Xity+hGrGRlBRutFwUlUFUUYJ9ERt3VaqsZkQS/Q80FAvNv0jRR9BonPTges+PoDevILEsLuVNwghBkSacQNSUT4nEPogtkgEpxBG2q3spRRCRPnJA6+PqjFwY+v99SmUXgklULWdZrye0vPUqVwP+ZBnFbT+OGFD+jC+7hyRMbv9ZJ4hGaIzQ2+sp/IqoGMWsSJPEayTmhP6da/nyV6z8e4UpdxwFGjjLjz9l2BfyLTkjecSbo+rJseTyBF11uPiyb6Yo1Zmq8foOz/jnsUctJ/vbH5mgw4LRYo8FF43DuJqCcr6aY9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iXuCzbMX/ENnDpKQCKwt9ujwVFhguyA4J0l3U/wMC+Q=;
 b=jltL570RbFMfJtyVa03V+lDileDSroLSU5IDduKv4Q4JVQthOa0O+iLFofg03oAbZ5HG90dgqEJbrTf86j4HrMqAnnYve58FXOS9GCU1f2tSSohJ81SGbzN+8Ctrp9y2iaAGYOROc45pBs0W0xV4zMz963/t/UF5dBMkc38zjAl1Z+jVA9AqTmb/zd9NThp2cymPMQqxgcGtPrqFzp5628Jpn18fU7cEWlhSLCZ8+H2HTu22PKx9PddpVz095jB2sDVOjq5henM0aVWqMl/koYcgzu3jtAX/nVGu6zcGJtgJpgDLD+kLFWxoeaDvt64y3MqI4820rjNXFyEsF7mwSw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iXuCzbMX/ENnDpKQCKwt9ujwVFhguyA4J0l3U/wMC+Q=;
 b=d9KMEU85VSMDjix9sEaLM9Lw94ReMtb+D2AL0aKjDIOpcvCYy9GAq4LaC3Z/sxIuVbuyyqjOXf6Sh7G+HGkquSCvovcZETXKR3/P3Be8qiw9dTRkS2IOiE+/d1RTy4upKxbmSgYpKn0mhRUerBr+kGQJkzsbGEK+GAMWb8sdU3w=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 23 Jun 2026 17:54:42 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
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>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH for-4.22] char/ns16550: bound execution time of
 ns16550_interrupt()
Message-ID: <ajqsQr-bhf4SGf8Q@macbook.local>
References: <20260623103145.76383-1-roger.pau@citrix.com>
 <06c8caab-4722-4b02-991f-bdc4a4ac0ea6@suse.com>
 <ajqVNtt02XMUGk-X@macbook.local>
 <cdf9f154-896d-4faa-8c76-ca15cf5e706e@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <cdf9f154-896d-4faa-8c76-ca15cf5e706e@suse.com>
X-ClientProxiedBy: MR1P264CA0164.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:55::15) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|CO1PR03MB5796:EE_
X-MS-Office365-Filtering-Correlation-Id: a62d42af-9293-401c-72e9-08ded13fbfb6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|23010399003|376014|366016|56012099006|6133799003|18002099003|22082099003|11063799006|4143699003;
X-Microsoft-Antispam-Message-Info:
	Ln7mIgjVwLtdfdjCZyf3AgK6iGfyjvswc8q3jhdKJM5sNHGN4gQR4N1DGiGHXRaSviCbFVGM5f31k+EFeVwXAVB8n90ZGw1sBZ+XGmrIkmlKoQvgLNIb6wmgXN6TZG1UDWrB0RLJNN5yOMfsrNoiWT61qG1W/Q/wOOUmmNbAKKd3sSIInQ0F2USexpLRj/4Yb4kxKcUhfJ7X1cs9tucGLriwGYyf9SU8w0kdiJ62fiP4uGmde+1reDPm4XeADPLnVLMKYWU6YJBbQu7WhgL63GkLT33zx/3liYuZi6nO+uE01lcWHZs/QJNpbWPO3anBsiozZG8ppykN6IacxIyzytFIYtQ1Lkzch3KYCnU31as4ywY1SvNF2R6nPEnUHtjGef5HcdFk73yojvyaUW8/OcvsUuJHNOOsFXgmc7nEaR+U5GBUuFR4DJcion8h6ba4Bc4AB9w9ZxZi287fSPX/EkAZLDmb08cQXNfxMFLyvV0zCy+hlHz0ondDCdAY///0bBtXtouM9XR9caTeGV1t1ORl/iixo85p924cUvBdGLaFp2ki0kx7306BFwTTQRgDPiNeVzEwbls7nb8n/nZVGSL1m1m5EmnqlzzUSO6BjIiqNYtRU4Nrfkw+u75BQE+NPrbRy7jxnlzSG7t2vUaX3Xuj3R2YTZ+EUgDx4sxnG6I=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(376014)(366016)(56012099006)(6133799003)(18002099003)(22082099003)(11063799006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RjdaQTdWa1JDekFEeU9aeXlqUDl3b0NmOVlJN0tJRUdBeE9rcU1MQTZDbC9U?=
 =?utf-8?B?Mi9mYnJMSlhmYnE5NVVlOEpSU0lrcWV0dTlpdjdtUEIzUUNXRUtCVmROOFlJ?=
 =?utf-8?B?R0FUYW9DcFR4aEg5UkFHOHBCR2UzWG42QUE4S2tkOWhhY3pQTmQxYnozWkRQ?=
 =?utf-8?B?TEZPTlkwd2NKU29BTHcvRjVmUlpsZFpHR3FNbExpMTZpVGV2bm1mY0FKVkN1?=
 =?utf-8?B?c0pzd0d6TmFLdjBEYmkrR0JTbjZ6WjRJbHZXL1JIeVBQMURtS2xQK09XemIz?=
 =?utf-8?B?QzNLLy83K3hPdHBCSmF4UnpSc21OWWRpUUhDdTFXTzIzbnlWYkV5OTRvV2Ns?=
 =?utf-8?B?RHVYeEp3Uk5HbXNPQ1BFQTk1cnd4aVlTWE54KzAvSkllSWM1a21CdEVZbGJW?=
 =?utf-8?B?aWsxNVcwMkF6VjhxbElBUEFZSEFGRHhUMTRrZDZ2b0Q2QktMUk5Ob3Z2b294?=
 =?utf-8?B?QlMvd3RzUmwyeVdwK1V6K28rU3pRbDhMVHFEbXlUTS9tR09zRHQ4bEhsUGhh?=
 =?utf-8?B?RG9CK2YrUXRtR1dOL1ozbUNYdk90cnFiUVF1VVZ5bWJZTHF2TnJZTmZCUjRx?=
 =?utf-8?B?ZE9zZlU1M0YzZmdSZUhEZ1ZxZmtpNUJVcTloRU12cXRCU0twanR5Z2hBMmh1?=
 =?utf-8?B?Zm8yVVp6NnRqYTI3QUVlSEs1MzQ1SVFoMXhSNm5TTU1BZmRJVEhlT1V6TEJI?=
 =?utf-8?B?Q1pibFJ1U1NiOGRwbXoyR091WGFGTWpLVjQrQUFIWDErMURyaVhYMFdYdzBX?=
 =?utf-8?B?L1UrWXVXSnVScmVBb2JEa1lIUU9CbExWc3htTU9jaVRJV05yVk01eE1jU29q?=
 =?utf-8?B?dUx2TUVsdC8xWnFmdVBGMHhRZ0N2cisvNFNLV1pwWmMyUFg0ck13ME9qUXRM?=
 =?utf-8?B?SDEwbXpDYkhaS2lBMjNYZ2hTZStiK3VWbTgzQk94OS9TTys4VU9XMFErWUha?=
 =?utf-8?B?SnE0V1U0bU1ZM0VWSzBTb1pSU0UybDM2SktjQm4vcHdpbnUwdXdwN285WHp6?=
 =?utf-8?B?djdDUXhGMTlYdEsvaEZUOXQ0ZWl6YXB5eW5KVU41WFdheFlsbG4rNDNqeXZ5?=
 =?utf-8?B?cFNXME5XaU5nckY0QmovUThyWjVIdjJ6Kyt4dWNSbGdTdkFpWUZNdlNYMEY5?=
 =?utf-8?B?UzhKTXYxR2dIUFNhU1FyeWxSTmQvMTRsZnk0bFpSNXFxTnRXbldLRDh1YnVr?=
 =?utf-8?B?UnZUNnJKL0tOdnY5dXNheitLV29XNVFldkVZL1lnRnpIVzdPYkM3K28zZFRB?=
 =?utf-8?B?T2REUjBGc0lwZ1FrRjFlVFFjQ29QYkpudGtSeExPcTI5SlA2QUErMUlYMU5H?=
 =?utf-8?B?cUZJSDhUTEdrK0Fta1dmWkRxaDRjZU5mNXlLMmNUcEZpdk0xNGN6SCtnK29K?=
 =?utf-8?B?RHUvM3orSzAvaGJrWlV4alNjR2RVbmE4Zk12aHQ0eEJWK0tiQUloVHdnZmtx?=
 =?utf-8?B?S0VtWnpGeDRVK3A5LzhzUUU2VUwwM2hyR3YyaGNHZXVvMGJoQXZUd2h1Nzc5?=
 =?utf-8?B?dmxHbDlEQXcrUjhqMnFZL01CeHpXZkptTzV6cC9pWDNObWJuS2lsQVZYTVIx?=
 =?utf-8?B?LzRwMHIvZUN2bytQbml3WDVRUC9tSTRNTUFZNSszdFJIZXovWGdMZ1l6WnZu?=
 =?utf-8?B?OE4zWmQwU3NxbVhmNXRtMmMrejE3Z3dpVVpRNFVJUVdNVVp5d1NvQkR3cjVV?=
 =?utf-8?B?d0VUUktleHY1dzF4S2RjTlNFYnl0ZDlicGJJZTkxQUF6Tjl3b3ZzbGQ3bE1M?=
 =?utf-8?B?NmZvMDU0aDJJK2hacmZLcmUrYThBcnE2UWFta2ZCZzBKZWFOSmpYdGZUSXNv?=
 =?utf-8?B?RW04VnZkSExRRE0relJoR0c1blRFenVVVllPMWl3dmdDa05oNWd0b2RMU0lo?=
 =?utf-8?B?VlNkT3R5bk55Umt6cXF1dWw0REw1QWRUenFCWnNESnpZaW1QQ0VqRWRLNy84?=
 =?utf-8?B?Q3JKbjVrcnhIRUV4azFLZmd1YXBEaXFMVTFRemp5UW9va1gwUWFHZ1hPbzdz?=
 =?utf-8?B?UG5xWG5BQUY2SnpUOFpoOTJ0K1ExMlBqZDd4aWpiblNhM3ZEKzVmdjNWcHFD?=
 =?utf-8?B?OGpzeldDcU8xZks4L0JxbVRBZ0RHMEEzRVpOSkNlVmd0VDhKa2JOeWZMalEy?=
 =?utf-8?B?TGpLcHlOWWsvbFJFVTJsTUhueWMzN0xrTHZkRU01YVJuZVFpb3ZNb0hub0Js?=
 =?utf-8?B?UTQ3OUlRRE14d3VkTDJNT2hVemt4UE5FVHk1VUJlSTFUT0E1R0tnekc2NllI?=
 =?utf-8?B?M3NNQ25iYm01TGNESG9xYUtYTjdQaUlCa3p5Um5XMlJ6by9sUzdUdmVKUjd6?=
 =?utf-8?B?UWxtRVBSampkUU4zZFV6UnFuc1dMM21Eb1g5eFB0ckpOaUtuaVdidz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a62d42af-9293-401c-72e9-08ded13fbfb6
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 15:54:46.5687
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9QqD7l4cTDXcBRuE8h0Autd0vedFbPtnFWC7r5JVylSlEvocBNqA6Tj8RUBUZzL3xNf5ZH7LMWg8C4x9NGrNfw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5796
X-purgate-ID: tlsNG-720697/1782230092-3FDD23F3-9C74C1AD/0/0
X-purgate-type: clean
X-purgate-size: 1859

On Tue, Jun 23, 2026 at 04:27:12PM +0200, Jan Beulich wrote:
> On 23.06.2026 16:16, Roger Pau MonnÃ© wrote:
> > On Tue, Jun 23, 2026 at 03:44:06PM +0200, Jan Beulich wrote:
> >> On 23.06.2026 12:31, Roger Pau Monne wrote:
> >>> +    if ( uart->force_polling )
> >>> +        return;
> >>
> >> As the IRQ was disabled, is this even possible? I.e. should this be some
> >> kind of assertion or alike?
> > 
> > Hm, I wasn't setting IRQ_DISABLED before, and hence needed this guard.
> > But now with IRQ_DISABLED being set in ->status do_IRQ() should filter
> > any stray interrupts.  I will attempt to add an ASSERT_UNREACHABLE()
> > here.
> 
> Simply ASSERT(!uart->force_polling) should do here? It is not wrong to
> run the code below in release builds in such an event. If we kept getting
> interrupts (perhaps at a high frequency) we'd be in trouble anyway.

No, I'm afraid I can't do it like that, I can't put an ASSERT there,
because we can still get into ns16550_interrupt() after the interrupt
has been disabled.  In do_IRQ() we have the following loop:

    while ( desc->status & IRQ_PENDING )
    {
        desc->status &= ~IRQ_PENDING;
        spin_unlock_irq(&desc->lock);

        tsc_in = tb_init_done ? get_cycles() : 0;
        action->handler(irq, action->dev_id);
        TRACE_TIME(TRC_HW_IRQ_HANDLED, irq, tsc_in, get_cycles());

        spin_lock_irq(&desc->lock);
    }

So if the device is generating further interrupts in the window with
IRQs enabled (while we execute the handler), we will keep looping
around this, without taking into account the setting of IRQ_DISABLED.

This is something that we might want to fix, so that the loop is bound
by IRQ_PENDING being set, and IRQ_DISABLED not, ie:

    while ( (desc->status & (IRQ_PENDING |Â IRQ_DISABLED)) == IRQ_PENDING )

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 16:04:51 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 16:04:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344396.1603466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc3cE-0001Ne-Ne; Tue, 23 Jun 2026 16:04:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344396.1603466; Tue, 23 Jun 2026 16:04: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 1wc3cE-0001NX-Kd; Tue, 23 Jun 2026 16:04:46 +0000
Received: by outflank-mailman (input) for mailman id 1344396;
 Tue, 23 Jun 2026 16:04:44 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wc3cC-0001NQ-QA
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 16:04:44 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc3cC-0088ae-6r
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 18:04:44 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3aae9b-e002-0a2a0a5209dd-0a2a4509e16a-4
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 18:04:44 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3aae95-4999-0a2a45090019-d155802de977-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 18:04:38 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-49241a577d8so242565e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 09:04:38 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-49240eef2basm408505085e9.2.2026.06.23.09.04.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Jun 2026 09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782230677; x=1782835477; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=4mM4tKbVAWYBKip2H5BTmnV7j4iHZpqw1h+XXQs2/8o=;
        b=Txp1g8XrDptDvShz/VsHb679UqYHCl2OLxLmmTgr0qgP4vZkv/9lVgGTB3k9KqMkof
         cutPSw5eUpmJJT5+GOMSsA0yikVbdNfM+HgLyh8xTqBTJPRW6h+S21j/hB9ZEDO3dJGU
         WiZEzs5gskvq5oWyrIbASYRIIoC2r7mGvRTa4FH+eDpDBv9wGUe5Qc6QfdBFlG3AzJ9v
         zJAwTCqkg3CfqZY5uIsaBNkRb6B93LnjGrB7bn5C/+yRUSOcZallJ5rdsO5tKOjNyfgb
         mD4y4psa/e0dnRaeJ0panMKAek1qRlAjpIBY7uWSTjfnR3HaezWgGxh5U1IjC4joiv3P
         +wIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782230677; x=1782835477;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4mM4tKbVAWYBKip2H5BTmnV7j4iHZpqw1h+XXQs2/8o=;
        b=WeablyKea60HjrqykBunlFXak19pfQlG7Zfm8Njcohssg8SbT9ZZUIXs5WSlXnL4Ot
         ZNTTZCq88Kx51VqNqyMo6TUSy9lpUWCpc4fd5JmP8mbv4gH2PuJa/5NSYCX3Ton7YXpw
         J9Yf2+jCg0b6r2XZQPYdARjpmfmi/FTvFaHdBMdvR/ZbiRr1aX/qMr8RBnzENQdiTU5A
         Bx5Qs9SHG4dCriWcJBW3/rAkHRrGz4QRoinhwP4PbQ1Oh5NEGIEUePK/zwdxwmRsRE7I
         UfEZMfrB1ogLR9C5VhUfmKXO66aj1m7eU3WE4o2r3yZisbERbr+//rdpj/JK3xuXPb9X
         USOg==
X-Forwarded-Encrypted: i=1; AFNElJ9XD8jeUKD7dWaQiOBfhkMKhH+FDgOEHaPSCe+zODb9l7WoItMc6vdTsRsCpmOUlWFRzAIk5+V0MDI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx4iUK8qmIoQTvCTQEmRjCjFBur08DkRV8gTPX+lokbYca95Gu4
	p9RUfeCgptrFb75R4j43Uib5uf17i319Bi/DnRy4L2RbzzFTzCwsoqWPMvOn6Wq+XA==
X-Gm-Gg: AfdE7clZudGjxdURpO2e1R2gSTOOJtSSeh7etDXr9bzfhIq3IkmOS/+ALOrourLt6bo
	7Oy/H0+ZGEaeK4N3r+qTpadJoJNGs/1LwELvq9jpJgOuCOm8niwheYMiiTWZg1c+gir6XeEJ/Dv
	jn6w70KzNK1ZXrUW5ydt6ky0T7nUhJl9tKmpRKgORl4sQYs6TMaOeeZ30Tcq6lcMcERJ7TV6FhB
	9EkEHeSVwLMPveCMNWFZBbE7FKTy92JkHkBIyU9OD42LndhfgzOf4ZmQupapXe98HM+v2PAHpri
	gXb/I81IRuxB6wWWgcb+KNWpIQEgzKtnKHNJRz0UWuigsb0jBrn0FKa4oJKSxkth6YMeJuLeAcL
	O3kosO3KVF3Z289kuMHeAsdT8Fy1pnD6jv5gacccoUY8jMjVZgJ3ztEBEHl/BQdM/IhNYxuZxuu
	5pEYB/bFS3viSwMdpSRhbVQLCChm7gfZ+B4NkplFKLzynhNlVfnbmh4z7J5/OCuotv2rqQnfR2c
	v35HPL33+FojdY=
X-Received: by 2002:a05:600c:8716:b0:490:c2a3:3303 with SMTP id 5b1f17b1804b1-49240ea89fdmr306608885e9.34.1782230677401;
        Tue, 23 Jun 2026 09:04:37 -0700 (PDT)
Message-ID: <63766e74-aaf8-48b4-8ffd-321f150132a4@suse.com>
Date: Tue, 23 Jun 2026 18:04:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 7/7] x86/kexec: Zero GPRs before entering new kernel
To: Kevin Lampis <kevin.lampis@citrix.com>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com,
 ross.lagerwall@citrix.com, xen-devel@lists.xenproject.org
References: <20260622151833.3397692-1-kevin.lampis@citrix.com>
 <20260622151833.3397692-8-kevin.lampis@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: <20260622151833.3397692-8-kevin.lampis@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1782230678-F71E3744-AB1061C1/0/0
X-purgate-type: clean
X-purgate-size: 1457

On 22.06.2026 17:18, Kevin Lampis wrote:
> --- a/xen/arch/x86/x86_64/kexec_reloc.S
> +++ b/xen/arch/x86/x86_64/kexec_reloc.S
> @@ -78,6 +78,20 @@ FUNC(kexec_reloc, PAGE_SIZE)
>          testq   $KEXEC_RELOC_FLAG_COMPAT, %r8
>          jnz     .L_call_32_bit
>  
> +        xor     %edi, %edi
> +        xor     %eax, %eax
> +        xor     %ebx, %ebx
> +        xor     %ecx, %ecx
> +        xor     %edx, %edx
> +        xor     %r8d, %r8d
> +        xor     %r9d, %r9d
> +        xor     %r10d, %r10d
> +        xor     %r11d, %r11d
> +        xor     %r12d, %r12d
> +        xor     %r13d, %r13d
> +        xor     %r14d, %r14d
> +        xor     %r15d, %r15d
> +
>          /* Jump to the image entry point */
>          jmp     *%rbp

Why is %rsi not cleared here? And why is keeping %rbp non-zero okay?

> @@ -94,6 +108,7 @@ FUNC(kexec_reloc, PAGE_SIZE)
>          lea     compatibility_mode(%rip), %rax
>          push    $0x10
>          push    %rax
> +
>          lretq
>  END(kexec_reloc)

Stray change?

> @@ -171,6 +186,11 @@ FUNC_LOCAL(compatibility_mode)
>          xorl    %eax, %eax
>          movl    %eax, %cr4
>  
> +        xor     %edi, %edi
> +        xor     %ebx, %ebx
> +        xor     %ecx, %ecx
> +        xor     %edx, %edx
> +
>          /* Jump to the image entry point. */
>          jmp     *%ebp
>  END(compatibility_mode)

Same question here as to %esi and %ebp.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 16:08:51 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 16:08:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344406.1603476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc3g9-000223-6G; Tue, 23 Jun 2026 16:08:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344406.1603476; Tue, 23 Jun 2026 16:08: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 1wc3g9-00021w-3L; Tue, 23 Jun 2026 16:08:49 +0000
Received: by outflank-mailman (input) for mailman id 1344406;
 Tue, 23 Jun 2026 16:08:47 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wc3g7-00021q-GB
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 16:08:47 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc3g6-001kL7-KP
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 18:08:46 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3aaf7b-bab6-0a2a0a5309dd-0a2a450883f2-34
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 18:08:46 +0200
Received: from [40.93.194.71]
 (helo=SN4PR0501CU005.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3aaf8d-9ee7-0a2a45080019-285dc24774fa-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 18:08:46 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SJ0PR03MB6520.namprd03.prod.outlook.com (2603:10b6:a03:394::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.13; Tue, 23 Jun
 2026 16:08:42 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.018; Tue, 23 Jun 2026
 16:08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=wj+9Fn8NaWx1nyZvdU6WPYcUY1DpW7PmuC9l/n8SQLMHfzXmbOloJ9u8xam29aOOLNY4CqlWp/z85Ew819wwSgqvyWBWMNDV4tIdLlEgvtE+mPWfQ1lH6FBl4M4AnZiI6v5g7PNJTppP/7wRNe/Vl0e34omGX0v/eYhwYNdSz5VgnKd932ndMOPeoYhCFGxWgOlR9yD6iDHawEY4c4FN6un3NDCc9c6Sf6nZFZxf8wDqBTUVNyldPPRBsTTOSYoSzWOd5L6MpbdtC5dZFfOlzHolZjVCj7NdIXpF1qFr/ghwmL7h7mFWZstW/GeNy7EKV7dP5mKtD7bAZzeyWh4S4Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7XO1iWj9ZHyOA8hiyMYvoPhUHzAtXwOxdsR1eoN9HB4=;
 b=SBadw5CVsJi6Aubis+vPO7mD3+MJZp/T9tnw/0yyUPFQgHF/q4LBrfmAYqLsDJFbhmo2f22iyRNc/g/nljVkmaWS+o5ZTAykYbgKPivxiVreXLoSY2tRiz9qeTqYnOJcydAYiojYg4IjyLXlxK9z9UnAQ+k+CboqItx8ZHyCZn903CWR+7XIXBi3pFHzofrUM4nMQfdQEQc7yekRNH6CiSLccX6M/veZrGvffdp65vo3r2k1D8owj4iXBKKMT338XWP963a7tCRI+WnNbf76r10amcQeZDgFmlcdJrodt1/csH1m75pU7VEqeAfWILP0UcaTFmjKBOkb4t8e1WBVMg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7XO1iWj9ZHyOA8hiyMYvoPhUHzAtXwOxdsR1eoN9HB4=;
 b=jJPWJ8mKx1QqvwW5s9iNUn2dprtQkwnQdxC01QvSL5yASLgGelluCIzFzAqv9ddQWdwgC3EOSaUdwnPQ3gyJLxxlaSZMfX1ePf4iuZ/LhZgxGxwVowBhqWjCC8mmwRw+tYjs6KGQ7z/KyFevdEzQJO+aO22utOXMIJEBU85PGXA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <5176cb78-4445-4c94-a76c-fd08c1417211@citrix.com>
Date: Tue, 23 Jun 2026 17:08:38 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, roger.pau@citrix.com,
 ross.lagerwall@citrix.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 1/7] x86/kexec: add digest checks
To: Jan Beulich <jbeulich@suse.com>, Kevin Lampis <kevin.lampis@citrix.com>
References: <20260622151833.3397692-1-kevin.lampis@citrix.com>
 <20260622151833.3397692-2-kevin.lampis@citrix.com>
 <b7bfcd3f-acad-4637-a391-32cc9bd71a38@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: <b7bfcd3f-acad-4637-a391-32cc9bd71a38@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0088.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2bc::7) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SJ0PR03MB6520:EE_
X-MS-Office365-Filtering-Correlation-Id: 662bbbf4-135e-4561-ef70-08ded141b1bb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|1800799024|23010399003|18002099003|22082099003|3023799007|56012099006|11063799006|4143699003;
X-Microsoft-Antispam-Message-Info:
	yiRxlMZpMm/FDEC2xmAQ1hlydjlNSI429TWNdOxPgv+2vNyey/6Q+WxaOrif8ixJSLecynJcVOIUY9ed1UYhDbpTVQZ3RSWtX3pfbBwLTlBzcLnnyVlNg1bSmOWSpvXNb4JgvCrZHvayTuTdIwfCiBK9qDBbxYt2mO1vWhnvMDi/zgM8SPPI9pwSA7bgUn0hWbyR+uRKDAkiAIb4lpPGnL6HjINP0WFXGxmWCOF6UnfSjkjUnbpFUCf+0MOoZNye/dav/qW2xQSTr+/B3tIVhYjLSeh4bwIfLZjepEbX+3YfinCz6WYYmlcTi+Ubbz8AWSexCTmgKXRWVRT0ZVBFS/kisjTwRPlPXuYAo2HP625vR4WNurEdFPKSoxt/JKObfIpfOI25OPkfWeFUln08HVb6zprrmxXq9Xyoj/EYN7PFnyZ8JCrmJ3n/nAOAIBDDT7ppiTzAa9hQurxzhPtPv8mIHmIhC0Uk/odlk3OlbAdBM8G8Kn5qldb6hACzPtC2D0rD3gWEhTNou0Upl7wUxAmhn6ul5kauf7bKVAvv53qB2EoBVA3bS9sVAnqHiYDHlulRBJRrraDalukENCg3AaghTjtxKTgcEt4qZJIPIy9X0rkFKKDNoPwGnnaDfEdjk3Ho0Lmryapq9t5vEZKYZmbzsyJ+jk5kslKgw2M2xLQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(23010399003)(18002099003)(22082099003)(3023799007)(56012099006)(11063799006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U2tiRjd3OTgvN2dlV0wrZzRPb0k5bFNqM1RIUlBSditDa1lRa3VwM0djMXVI?=
 =?utf-8?B?akdhT2Y0MG83SzlLeUx2eXRKSCtpYUZXZDc3dU1nNWx2M0QxR3BWQmc2eDlC?=
 =?utf-8?B?WFNwZldyYi9BOTlXWFk1NW54b09nZnlKdWR0ZWowNWdqVVVPMEpnZjE3TTRw?=
 =?utf-8?B?cUd0MnJQWXRlSEo5emJwSmc0Skd0eHcxQjQzQlR0WlFXQ29SWEsxYVM1U2tH?=
 =?utf-8?B?ajRaczhkaU13T2k2bC9DTUpENTZFTU4wdTQ4cG5Ud056SllpR0Z1ZDJtR1R0?=
 =?utf-8?B?bm1wQU1FR0kvOXlUOUVrcEgrT1dXcmM2WVUxQzVuelhUMEUyKzZwT256YWNH?=
 =?utf-8?B?UDZmVVlyTkNRRUVQdUhMbmIyc01QZkpXajNzVm9zSm1EejBhZytaODY3SDlT?=
 =?utf-8?B?Rk5LMWJ6YmtWdm9PUTlBZVpvanNQZXY3VEZiZUJwMDRjWUY2Q0tTWlQzazZG?=
 =?utf-8?B?ekkxUmM2ZjA3Y0NWWloyTjlkdExwZnRmSEl6alRoS2tUOTFFSDRVNXQxcXlt?=
 =?utf-8?B?WjlhUmxkaEVzTkp1VVAzTDJsemN5R3BPUU5ldFAvTHZGQ01ORjdKdnE2T3JM?=
 =?utf-8?B?SnZ4dzdGVE1kN0daM2g2OUtkakc5YWZaZzRwR29jdkVhVTM2WlhWQ3YrT2Fk?=
 =?utf-8?B?TktEUWhZUURkOHlPUnU1c1p0MjVKRTRiaTZHL0dyZWhmYnd2a2NNY2ZNN1Zn?=
 =?utf-8?B?cjZiRzV0ZFdXWFJYWUc3Ujl1c1pvUmxJZXBOeXoyRWc2NFBwbi9ySklkbnFM?=
 =?utf-8?B?VnRHcEw0eVFSZW42VVI2MEtuYitzTUJxMHlHMGhpRzlNSUtPSVphZlJxbk1x?=
 =?utf-8?B?UGtUb2xJVHdCa2d5ZkRXdDZDY013V0VXUEpQRGhGWEFhdFgrSUlZdEYrbGMw?=
 =?utf-8?B?V2wzTVNYNkRvMlpQS0dIcW8rclhyZEwvaVFPaEVoZXpGZkE4L2VkZm53MFdJ?=
 =?utf-8?B?cHp1RjRYdFBuekQzS2tnRW9QWTlJVVF6dHlQamVaZEdNUlVkQzJkTjBHWElM?=
 =?utf-8?B?YjB0NlN1QVh5MkdUempHUENtblVvUHNQRWlwUStQSndQM2tVbW5HZzFMZTFX?=
 =?utf-8?B?TnJTQzlSQVRzd3lzZFByR21TQzZKejJaZ1d6N01ZemsydjZXWjQ5dnBXS1JW?=
 =?utf-8?B?aEM2WkREZkcrc0JkMlgvNEtEYkQwM0pXcTNFN0VKMjhyZUpFRTBzK2xTenVN?=
 =?utf-8?B?ei9xKyt6NFZMdzh6MkVCMHNITUswQUVmTFd4b1RRdk92RXZQdHVGSi8yR1lj?=
 =?utf-8?B?dDF1ZWJHT2o2SU1sdjFDeWpVNE4wTTlhS0JuVC9BZTZIZmhrV3VSSVo2MGwz?=
 =?utf-8?B?d3VFUEJQOUFLYmZiWEVOYi9lcHBSSnR6bW5VTzFseG1YT1V6VUgwRS9iSHdC?=
 =?utf-8?B?MTZ4cnNWRk5qQUlLN3ZJRWZmT1VXak04M1MyNnYzdVlBSE9pTjVjUis0aHhB?=
 =?utf-8?B?bnd5cW1LYWlrVXFPcFNCRmZuZXhYWVRaSmtXdGpVMFM3Zm1WQkpiY0E1NFB6?=
 =?utf-8?B?Sjl0OHV4TURmalUvcVk5OTcxNmgvUTMxSWRSc1RSSHUvSWMxekpqR2cxck9w?=
 =?utf-8?B?Q00vVHBnaVphMlFtTytlQ3ExdFh0Z3ZUMG11RTdpaVBRcGQ2SHNSQ1VEZkZS?=
 =?utf-8?B?bk1nVUFsUFluS1JxRU54VE1JdUJCc0l0aFkxdjVocFAyZzRtc25nWFFSNDJv?=
 =?utf-8?B?V1dBMHR4ekV5OHFHL1p5aUpxYVNQVFNsUkhxaGF6U2lnc1VSTk9vQmhpSzEv?=
 =?utf-8?B?MkdmNGptZmpXazJac0EvTkxFMTl4dEFZMXMyQ2lkNFBrZ1Y3YU82bDZMRmpZ?=
 =?utf-8?B?d1RicS9EbVk5RTlsRXhJNTBtK281OWpOTnFrNVd0ejNwVEMzS3ZjakFVTU9X?=
 =?utf-8?B?NDB3WExJSTBsYjgreUNmQXZBTTJrZUhldkQvck4ycmladVc1MEF1STRFRk1j?=
 =?utf-8?B?K2ZQRlJnSmtOdThMaXRmeUxPZnJjRkpiL0h2b1g4cE55OC9OQmVINDVsNnd2?=
 =?utf-8?B?cUUrQ3EwckNkT1BZcHp1REdqRzJkNG5zZm56L0VoSkxqeHE2RkZEZmV1WG5v?=
 =?utf-8?B?NmxjTWdUU1dHSjRZblZCTW41SDl1K21zN0RBcEV3cHRJWXBwME5BcUk1MlM3?=
 =?utf-8?B?ZUtUWWtsUDE0VDZJZXpyaG1pcG02N0xXUWZFcWpjYXRib1B5N1pvNU9YTXJS?=
 =?utf-8?B?R1Jzai8zTGdRZXpDVjFpSGxzY0ZUaEJQUDhhQ3l4MXNNcHI2dEdVYVc2NGU3?=
 =?utf-8?B?SEVJdlVUclEwRlgrOVZ5UEMzbzZtcmZwbGdIMDM2SXdCMzhzclhSU01XU1hR?=
 =?utf-8?B?M0NTTlhSMHd1NFZJOWV4NVBOdTd2S0JIRHdEUTZkNTBTdEs0QzJDdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 662bbbf4-135e-4561-ef70-08ded141b1bb
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 16:08:41.9298
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vfWd7ZPQVUS3E6Rvrp04s8ZVnyujAV5Zd9SFJ4wOALcX0f5PP7UyieolLFKeeqXdEQm8Eld7gx7a79XNpuV9fiDDXXbwTiWY1k3LYywAOdM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6520
X-purgate-ID: tlsNG-c1860d/1782230926-5E7E90FA-EED0FEF6/0/0
X-purgate-type: clean
X-purgate-size: 2126

On 23/06/2026 3:44 pm, Jan Beulich wrote:
> On 22.06.2026 17:18, Kevin Lampis wrote:
>> From: Ross Lagerwall <ross.lagerwall@citrix.com>
>>
>> To support UEFI Secure Boot we must check that the kexec data has not
>> changed between signature verification and actual execution.
>> However, this is also a good check to perform generally.
>>
>> During kexec load, calculate a digest over all the kexec segments. This
>> digest is stored and verified again later prior to entering the image.
>>
>> For now, only kexec crash images are supported.
>>
>> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
>> Signed-off-by: Kevin Lampis <kevin.lampis@citrix.com>
> I guess I'm not quite following here. For secure boot purposes, shouldn't
> the new kernel already come with a digest (or really with a signature),
> which we could check in both kexec_load() and kexec_crash()? If we check
> against a digest we calculated ourselves, we'd apply more trust than we
> should.

There are two problems.

One is plain TOCTOU.Â  We load the crash kernel at boot, and we jump to
it in the case that something has fatally-but-not-catastrophically gone
wrong.Â  Really, the digest here is an integrity check.

One is that Xen cannot perform the signature check on the passed
kernel.Â  At least, not without gaining a full X.509 stack and
authenticode algorithm, or a PGP implementation or equivalent.Â 
ExitBootServices() nukes SHIM_LOCK/LOADER protocols so they cannot be
used later in runtime.

Because we are defining the TCB of the system as "Xen + Dom0 kernel",
it's fine to let Dom0 do the certificate check and say "trust me, I
checked this" to Xen (albeit requiring that dom0 userspace can't issue
the hypercall).Â  In the current implementation the dom0 checks the
signature of the binary that userspace proposes, and either rejects it
or passes it forward to Xen.

All Xen needs to do is ensure that the bytes the dom0 kernel said were
good are still the same bytes we're about to jump into.Â  Hence the
integrity check, which is a good move even in the non UEFI-SB case.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 16:51:45 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 16:51:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344432.1603486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc4Lb-0008TX-7c; Tue, 23 Jun 2026 16:51:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344432.1603486; Tue, 23 Jun 2026 16:51: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 1wc4Lb-0008TP-3n; Tue, 23 Jun 2026 16:51:39 +0000
Received: by outflank-mailman (input) for mailman id 1344432;
 Tue, 23 Jun 2026 16:51:37 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wc4LZ-0008TJ-KT
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 16:51:37 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc4LZ-00GDns-1T
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 18:51:37 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3ab955-bab6-0a2a0a5309dd-0a2a450c8d44-24
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 18:51:36 +0200
Received: from [40.93.195.59]
 (helo=SN4PR2101CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3ab997-94a4-0a2a450c0019-285dc33b6af7-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 18:51:36 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SA6PR03MB7568.namprd03.prod.outlook.com (2603:10b6:806:43a::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.19; Tue, 23 Jun
 2026 16:51:33 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.018; Tue, 23 Jun 2026
 16:51: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xiMDsOzLt/v1FNuhXScGj6G/HrwNTIDP+r9Jmy5ZlorABIMK9v1/az/BTYjgFUpX3Aa9HJtykiA36l9q4xcL3oc6gn9mgNQ58z+kgNBCNMec5SOauo9WAgNN4Nz5+TaMElq5Wdg0EC5Svr6tgaSW/f95EUCRWKkTEA/Y6tlHAWtc9kx+/PuFlYrDXsNKVF0sBu+KNAlDat/xp/iyWLrrYfP6T45V12Kq/U8oqDjS8s+kGi3EHgI//O8EGkixFrqA36k68xLzBM9A9ncOGNGfQH21d4SkAF8+peWO1psW0+0l6kwqmSfgbxcFr0eB7tFzodX0eePOJtymySk2QPgeHA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KNydE3pDH9r4ElE646A79O9kUmUsG7dKnDYlxukftnM=;
 b=SZELuZGa2R9uOhWycCYV36lJjYYUE2LvEc/Tqrptz39AkdhioshkhTppb+4kXLRzmeORCCajTDuyyKNmoOzSX+1VbDGhnXdVRLrx8e4UJA3nj5ydeIqm9mNdrtm84yrDkpkm/M6LHTGSxV9LDEXuqzuhpgv+Pi2cOlPSllRMamohvJNs8LSZW37atC5Z8o6igiwvlXMPnJIA53TMo8/3PYxqciB2agabJlcqmOZymK06TXAMcoJcqyrextZ0PpgyzGyJLvO1OOt0QSZyut+pmqQQPyJlwIqTN5NAwLvtQfZmtTvXgdlm53IwTHGNORXpma+WZq4u+V77tlaHzbHoww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KNydE3pDH9r4ElE646A79O9kUmUsG7dKnDYlxukftnM=;
 b=Y8LLFxl2b5KDYRuIjOP9HsWvbK8Weig1VHjp3Duc3aj9jRJrVJOAdJ2wdDx+65FAUzOolwA6rve8Re2r+ImSueTmqgVcOT/jUl9m3ONDHwgeTxQOhTW4rvzAYGG9fAbf4dC4WDvKG/fdaKwI032Fv/ke5z+NmCHMkhJ+LB4Bhao=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <eca91510-4681-4fcf-9b5e-e79c6c010b9a@citrix.com>
Date: Tue, 23 Jun 2026 17:51:30 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, roger.pau@citrix.com,
 ross.lagerwall@citrix.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 7/7] x86/kexec: Zero GPRs before entering new kernel
To: Jan Beulich <jbeulich@suse.com>, Kevin Lampis <kevin.lampis@citrix.com>
References: <20260622151833.3397692-1-kevin.lampis@citrix.com>
 <20260622151833.3397692-8-kevin.lampis@citrix.com>
 <63766e74-aaf8-48b4-8ffd-321f150132a4@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: <63766e74-aaf8-48b4-8ffd-321f150132a4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0224.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:315::8) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SA6PR03MB7568:EE_
X-MS-Office365-Filtering-Correlation-Id: a15e5a4f-f617-484b-0f89-08ded147ae6e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|23010399003|1800799024|18002099003|22082099003|6133799003|56012099006|4143699003|11063799006;
X-Microsoft-Antispam-Message-Info:
	EsMCjrvu6+OSr/6ZYPMZzwX+31/jgFQ3Vl84KupI4gJ8wSDC5azSRKs74oejq7Fi8nPjmfdTtbp5CyqO6aFl84UcMbjPcT8pGlF4/l4FuuqPB9M95aty66le0fIHR+OlSA/0arXQ/zKjBbSadUg8Lr0hIRiUtSDi+d2V/NVJPiKjN2oovYERMsDR1M1Qohhy7Ro31BkE6GR4Dxk4B2GM0yFFkemTxCaMpQqwqYWviTQVIm6U8GRjAqIBr7zX60esa0IU1mm7XgKNI6jjUBD0eNDL+6s8HO26j5idli1y4cqaHVWgAfic6GvsbnLaID57M/n/DZvF73CDRsDci1bRqc2hB16aOczuSf6SAOL/xIuL4v36uMF8589lyS6rRVrgAymzzN5tVssObVyL45M81kNvTMhinEh6V6YIiojrGacRZwzAyFmhFtjtO2AE5hXNghGkISHc1N7E7L74u0/IazSVuSwGv3lUZwWEw7US/rCx0E7ysyNsUAtS8UlZC5AiYNpM7N+ABQkRXoVaoW38jynDk3VYboO6/pt1d7lDVg+tZonEvfzLPjMQZTt2JGeFqKPp6EDDLWLnyJ3yII99ONce9P5I4vzxJ5/5FTNPx/Se3AauQAtbAsHJxtPFxqWoZo4t3ewFpu0u2DKQJXUAlLTccPoJ8AP318idKk3x5bI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(23010399003)(1800799024)(18002099003)(22082099003)(6133799003)(56012099006)(4143699003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RkIvalBLSHRUNmx4UTc5Ujk2OVhxMW1PVWEvS2lnN2ZvMlVncnArS0pNaUpM?=
 =?utf-8?B?S1JyYWZ0dUdwcWxFN2FNNzNXQXdBNWswbEZTWU43NWpBRzRNQU5GMVpqMk1I?=
 =?utf-8?B?WXZEQ1Y3SWtVL3phL2Nmc3U1RUJ3ZlBidEZmL25CNXR3L2N5RnlRZWNUR1hL?=
 =?utf-8?B?eGtsY0NsU3BrNTBhSWN1OUFwMXBSTytIMG5UTWFITG1PcnIrVXhwdHAxUnRZ?=
 =?utf-8?B?c0pMWmptTjVoRzN0eHZ6U0VmTXVleFUvbEhzanpCNGNhUXpKTTU5N0QwTGNi?=
 =?utf-8?B?bENGSkpUd3pkM1J5ZGpYNUgyMzc1Q2Z0VVg3bTVXZUJwcjJnUnBxL21wV0tn?=
 =?utf-8?B?WGx5ZCt2b05WN0hRZUF4cGFiU3FhRFZPc21RM0RMWXo5bzV3OXZ2SElSMTFM?=
 =?utf-8?B?Mnp0aTFQak5Sb0Jmdkt6dit1MlJsaXdOSjhudFB6SXRta0N2b2NMeThPWld3?=
 =?utf-8?B?cVl3cUVDSldSWStETk91VlFLdWdZTmUzbmhwUGZwTVhIRmUyYWpQZzFsMkFh?=
 =?utf-8?B?bUpOUUYzOWc0MDFOZGdKKzlUKzIxQS95Z0NEQTBsOW9iaDlEaWZYMFFFSE05?=
 =?utf-8?B?eldtRDd1dnRVY2dxUmlxNC9rL2NRblZuMzhVYUh0anNTZ0VIc2hCS3J1Kzlo?=
 =?utf-8?B?SllFRnJDQ1M0ZHdzTjUxU050cnNraHgxc1h4d0gxdmlEMDVsM0dDalNmK1h5?=
 =?utf-8?B?S0xnRk0xdVRRMHF4bndXUXM2bTdNVEhFVzdxVXJxa2N0VnNPRXNZZjl5Nk5y?=
 =?utf-8?B?TEw3UjdiWUFNSzN0TUpXR0ZycUEyUTM0QnBzaS81dUZxRytWVFc4Wnd2TXd5?=
 =?utf-8?B?N0ErZVRXa0k4a1hrUlk4bjFGVXBzMzdITGlLZFkza2ZIam95K0VBY1dSREI4?=
 =?utf-8?B?Qm0vQ200Q2plbk9PSmtzdTdLOFF2ZVh2enpBUDlnM1Nya1I1WXI0YkZPYnU3?=
 =?utf-8?B?YVVFb0dVeHViSUNQaDRXbTlYQktocWVpbkpwSUg2dWQxSUxQSjVVQ3lZU3hL?=
 =?utf-8?B?K214RzJVTWw1UGRMRmQ0TzErOHliaDFWMTVFbk9CRzZid2RqRG1EQUg2R2cz?=
 =?utf-8?B?Szc3ZC84UU8ybThzK0VJdHhaaTVPaHBqVVVvWGk4Um82MG4zWURxOFpnOU5o?=
 =?utf-8?B?UmNVVWRCQnJTNFF0TmRzcDROWFZhU1hvT2QyL0wwVTJCeTJ0VzdMM1VOOHNr?=
 =?utf-8?B?Ni9jUmFEYnFhRC8rajJ6Qjd1UVE0M3NQU21sYVkzd20rZ3pkbHJ1aUFHS0pN?=
 =?utf-8?B?bnV3bE10M1lWbVpNZldJVVFSR28xWEF0M2c4ZDRmNnBEMTFXVVlReG00dGF5?=
 =?utf-8?B?S0ZpRUpHbkQ0QTJvRXkwRXBuV0Vhd2wvZTFnVVBvR2g0bG1rWDJCUmliWG5h?=
 =?utf-8?B?NHcyU2s3QUNlVlZxQnpXNktadWFtdW8yVkkyVzZYNXZadFdLSmtia2N2RTZC?=
 =?utf-8?B?YXYrb0J2VUg0dkc1ZFZra1hsZ1ZJb241cHRCQVV2dUJURGxJZEI5bWhBWnpp?=
 =?utf-8?B?WGNYUURLc1JVZFBaU2NSWk1wM25TeTNXQWhrM0pmdS85ZjBtWXE0dkFCdnBZ?=
 =?utf-8?B?ZnpFa012c0dwRnJNS1B0MEhCSmZISUY5SWhWNUxJTVZxNjY5bkVydnk3L0FR?=
 =?utf-8?B?UUl0aGIvUUZ3TnQ1ekVMOU9Xc1NFcXpPdjZ6c2poNnk4SXVSdEJtNUw2czNY?=
 =?utf-8?B?MDVHK0JPSmRBQms2SUxsbnlyVXNNTXpDemNaVFJoZDFTZ0U5V2MvSk5Oam5o?=
 =?utf-8?B?WXBOa0oyZW1jQjRBZldDYmtSV1RGZys2bzcyNitqUnkwcjBwVkFqUDB5OUlW?=
 =?utf-8?B?WWJONXR5WW8xZ0ZGQXFYdDJlVGd5Z0thTmhLZ2RIdDhibWE2VmZ0RnQrNHA3?=
 =?utf-8?B?aFl1c1puM3d4WVg4VGZkbGQyQmM0OGhPdmNoTitsdUdVaU5TenFwVjc3UENS?=
 =?utf-8?B?cWRkRllWZk1IaGJBN0NjY01VRFpXcVJOam9PN2c5L2pEZi92dGdWaWVsWnRk?=
 =?utf-8?B?UVk5aHQ3RjdWTzQ3UXFtTG0zei9FYkJ6V3BhL0ltUnZaOUVZeCtlQjliMm1L?=
 =?utf-8?B?NnhBMmVzZldnSmo1enBBU0J1L24rejJkUzBQWC83akI0d1JFdlUvd0MzY1c5?=
 =?utf-8?B?bncvUHh3aFl6K2dSdFc5cGdQQ0Vpak5sVEwrWWR6ZmlvQUFiL05rTFhKVzhx?=
 =?utf-8?B?ekJFcVl2NHNlV0lVOW9meG9zZmkxSnRvM1dKZEpCYVdXbnlBWXljVEpQQUNn?=
 =?utf-8?B?TUNjSHFQTnVZM1VUV09HWG9DWkl3SjE5dFY5MEhuZE14andteTlLUFV5TGNq?=
 =?utf-8?B?WmYwR24rT2RnUktjZ3FLRVRneGdVdXllRVhNT2JxY3VHLzBWczl5dz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a15e5a4f-f617-484b-0f89-08ded147ae6e
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 16:51:33.4312
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mC7JhTbWzq3MmEkfVYnreBLklvCZhxMb0FedqgAsemxdYcplSL+PEAyrlAhT5LoCsxVyExP46zJNJNsjinsUE02qe2IRSMn+FNSWmGLST6I=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR03MB7568
X-purgate-ID: tlsNG-d25034/1782233496-519F2ABF-3DA831F1/0/0
X-purgate-type: clean
X-purgate-size: 1131

On 23/06/2026 5:04 pm, Jan Beulich wrote:
> On 22.06.2026 17:18, Kevin Lampis wrote:
>> --- a/xen/arch/x86/x86_64/kexec_reloc.S
>> +++ b/xen/arch/x86/x86_64/kexec_reloc.S
>> @@ -78,6 +78,20 @@ FUNC(kexec_reloc, PAGE_SIZE)
>>          testq   $KEXEC_RELOC_FLAG_COMPAT, %r8
>>          jnz     .L_call_32_bit
>>  
>> +        xor     %edi, %edi
>> +        xor     %eax, %eax
>> +        xor     %ebx, %ebx
>> +        xor     %ecx, %ecx
>> +        xor     %edx, %edx
>> +        xor     %r8d, %r8d
>> +        xor     %r9d, %r9d
>> +        xor     %r10d, %r10d
>> +        xor     %r11d, %r11d
>> +        xor     %r12d, %r12d
>> +        xor     %r13d, %r13d
>> +        xor     %r14d, %r14d
>> +        xor     %r15d, %r15d
>> +
>>          /* Jump to the image entry point */
>>          jmp     *%rbp
> Why is %rsi not cleared here? And why is keeping %rbp non-zero okay?

%rsi is the parameter passed in the previous patch.

Linux used to require the entry address in %rbp.Â  I think relocatable
configurations can cope without it now, but we don't parse this property
of the image.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 16:52:03 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 16:52:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344437.1603493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc4Lz-0000PL-Gq; Tue, 23 Jun 2026 16:52:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344437.1603493; Tue, 23 Jun 2026 16:52:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc4Lz-0000PE-EB; Tue, 23 Jun 2026 16:52:03 +0000
Received: by outflank-mailman (input) for mailman id 1344437;
 Tue, 23 Jun 2026 16:52:02 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wc4Ly-0000On-9N
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 16:52:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc4Lx-00GDns-M6
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 18:52:01 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3ab993-bab6-0a2a0a5309dd-0a2a4505ea5e-10
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 18:52:01 +0200
Received: from [40.107.200.34]
 (helo=CH5PR02CU005.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3ab9b0-ef3d-0a2a45050019-286bc822f0ce-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 18:52:01 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SA6PR03MB7568.namprd03.prod.outlook.com (2603:10b6:806:43a::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.19; Tue, 23 Jun
 2026 16:51:56 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.018; Tue, 23 Jun 2026
 16:51: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=XA8u8/MkiBxMARpXfi8PI76W37bXxtcgr2dInKGHVFMRXc+gYyVmO0WCBnPzLRpQn37QDNT1tNOVBQfEJNAdq7svRNdrmFigiSS2k0nvdfKIjfOFk25DmUtwRvU5laeoGCO+ff4G6VzHGkIV7SfNKtdt86QxG6nhQIBBnEXdoxaOL8qP4vKEfwVZ2N3fbKcBSBX7Ln0qUBnqpvvAnWLuRmt8cES4CZOtT/YaIs63vXgBwkP8wOzOgKIZVvVYqS9v47YHMFwZ/sLnd5CL2MddJ+Ohk9RlQbRN25DnG0Wn1A0QvuO1QQFvox3hqka0sH0rFe1XVBg8GuOijd0K1EnZ6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oypZs/qqbX9/vN7ZSpXmub9FJ6bvFsfvAGT6CrhxsFo=;
 b=hS04MKcwMDx+gHPaU4c9eA/GtVypWwI2Dv4csCwObW5Xj/zyiKZ509forsW0viLlxnROY/qd5obRgIcb2cFMatppxuf8uy7ctKfj2ba8NhoJZz2oqoBy3LO7FrDMm9rL1SjsHvdiFSX0tEciw3U6/ZPB7FySNIOvP3EgQ9RDc6wt9Lovv3RQr3ibMJsFWui+Dku4Gvj/2PkN7WQMZi5w5Za4ECUq1GM7LnSYS0aVI2j6mVImOQc677EWRi6gjvrnGy1Du6pZogtPhvfrg1hY79Sz6aie30vwSAbtk6WFft+ewrp/h4+3Eh4aGZLC4kmMbJTXGPlfwC2bipswKL9Uag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oypZs/qqbX9/vN7ZSpXmub9FJ6bvFsfvAGT6CrhxsFo=;
 b=uLCd7FJ35iH+Tt2Ptm/faCAQC31qvqwL+nnrhWSFwEhE+imMdHwB2HJ75YlPpoPoOOurbIIPc1A3O9ihfEDveJ1sM7cswMUXh3Tfc7NahzcqdcRBEmdryG3rf1rQsUUDCs/pPJJTJ2WnEuQF/TXIh3O1P5PM5hTTf2pJ2jRrPjc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <ad645745-23f9-4795-aa46-8eb32e2f2fba@citrix.com>
Date: Tue, 23 Jun 2026 17:51:52 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 1/4] x86/kexec: Stop hooking NMIs with trap_nop()
To: Jan Beulich <jbeulich@suse.com>
References: <20260319122549.922724-1-andrew.cooper3@citrix.com>
 <20260319122549.922724-2-andrew.cooper3@citrix.com>
 <c2129389-cc61-44bd-a680-c75b05725749@suse.com>
 <8c64e93e-cade-4c25-b8e8-cd23028628e4@citrix.com>
 <2fa30970-f2c9-44a4-99b6-cf5e22910f26@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: <2fa30970-f2c9-44a4-99b6-cf5e22910f26@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0231.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:315::17) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SA6PR03MB7568:EE_
X-MS-Office365-Filtering-Correlation-Id: 69bb945d-0dc3-4ab0-9e00-08ded147bbe1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|23010399003|1800799024|18002099003|22082099003|56012099006|4143699003|11063799006;
X-Microsoft-Antispam-Message-Info:
	JBUoDSts7u5FDWHLcxBW4Da5eMui0ZtuUPDt68Yzr/9T/X+ktNF7vqxxizJQgQgELijo6XGFPtwhXn2GQfOL/roFceA/g6FLZFf1Y4ikz9WHa9OutbUsOPm5jR/K4lN1ruOecDIX0LfYtmgy73z5wNhCIpkW0mIyE/PdQ9saFThW78WU6aAtm4VdS0D7w0aIU92i61/C7tC1ub8oKevRQgYWmZglDrS+aR2Cq1vEQ3DTDKsj4K8l/r6yEw7P55tJQWhMBkoiCLLuNkAjO7RslI5mRdfuvvZf/hVoeNOr9+3DOs1kQOsLTETb8X8HyFGUJyySjF5UC9hng+oT513wTE7y8tQMKGZqcb56nzQgFuG83zg5OJPCZiTBVZ/0hoIUycZk/NzcGYC/WGAcN6rTk718VQJI7zrnbLOXo57PNqiZ9LjVDZ9cEi16UY/T2EfMPm4xJvU/VJ98BWxXa6AeaURCAYbpFZlc2CcodCQOdWhZvci7NQDYnfvKLoYdSwaV0ctiz8frnRotyBqlTcv04VMqdZlr2/mLa3Q6RzP5NrqHuaicbDTF2/sjfiOujz3BdT74vijijmMsD0lEwXSLAzRY1dl0jTnYCPME5GnXXQVzQvepuobcZqloc3OJyBdxVbK7fxOPoecP+bGh/LIUU4hzY//RH9vFLmLuaqktZKY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(23010399003)(1800799024)(18002099003)(22082099003)(56012099006)(4143699003)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NXh1UlkrRjN2aWF2ZE84aFdxN3dBdk0yQTVUUDkwRVZMN1NmclphSGtFc1Vm?=
 =?utf-8?B?bEZZZUN4MzhldTM4K0krYXppTnR6cXBPQkc3RE45ZjM3Nk1FdTVzbGwwUkI1?=
 =?utf-8?B?dVhZMUIwR01VRzk2d01Jdm5pTkxUdmZia3BYVkx4Vy9RVHJFUEZYMVpYc2tn?=
 =?utf-8?B?OE8walovRDh5dk1YTmR3VWZuaVFwSXR1REFmZ2FPVUFFWjN2blA3OW1PWTFP?=
 =?utf-8?B?Tk9udndNWkVZN0xvMWgxWklmbW5vMkhzMjF0MXBzWWUyOEpkbFQ1S29QaWFS?=
 =?utf-8?B?WEZmaGFnaVRKakxpQzVUNmZBNjBrZnVxQzVkRy9tTVRIb21CSDJhSHpQZEc4?=
 =?utf-8?B?OWJQRlFFVVFUNkVuOTVpSzlTb0NuY2hCVkN3Z1VIMHBzRkV3YkxCYzFMUGR2?=
 =?utf-8?B?V25hbzgyZGViMVJreTBmRmQ1L1NycEc4enZLVlBFWlJmZHNaQWp4NWVQNVYw?=
 =?utf-8?B?b29zOHF2dUJ4N3VKSUVDdGxIWVN6WFhCWHVuOUNLNXFqalhIMjlQSkc5ZFhx?=
 =?utf-8?B?TEhKcWtJZzU1NVkrSHVCTlJMOUw3OEVvQitaWno3ek5ET3VMSCs1R0x3bHBM?=
 =?utf-8?B?WHM3NVlCaFNzdXgwNXlyeEJySndxekpyV3I3TW52Y3BQTXJud1dhMTcxMjB0?=
 =?utf-8?B?d3hsY2dqQXhLSlAyd25GL2Z1cDJOOTRrM24yZGpDRkJHNnhGOUlpUmRpSGc0?=
 =?utf-8?B?cUVHelZWZ0RYT094dkJ4SlBabjUzVExQeUhMVHBacysrODFDemVtSGpvTHg5?=
 =?utf-8?B?K0VUVzVyVGdDS1lqYUZZK0lHbmdVWllqeCtVRDJIZ3EzSDNtaU15anNJWC91?=
 =?utf-8?B?TVRJWk5nZnVFSU91Si9IbHJraWdWbGwxQTdheHg5ZFUxUS9wbkNXVVk0QStW?=
 =?utf-8?B?bEVYaXJWKytrWVRWMHNFTWdhYy9vTmVIM3hOdTlwSkRSQmd2Q1U2cFk4WEV3?=
 =?utf-8?B?VS9FSVpkaFBheVB5bUdTdW80cjhYT25xSWxrVWRyR0FMM2k4TGlFNFNwZERz?=
 =?utf-8?B?SnR0WnVlWHlYT251bEpEZjlNQTNoNjE1c3FFNFNyMVFPeWE0dUJFTTc3Yzhu?=
 =?utf-8?B?S3FCUTB5S3ZydGlZOTJyZlFHYkpWWW9vbTc4NnpITWs0a3BQTXliTForc1Nk?=
 =?utf-8?B?Zy9VQkYvb2Fram1ITzh2aTRZVGpJbjdhdEhJWUgwanhPY3phQVhKVjVCc2JX?=
 =?utf-8?B?M1lUd3ZEbVhIZ1ozT1hFN2g4eFdpWUdYcU5GTVJDc0ZQRW4vWDZtV1U1Nnhm?=
 =?utf-8?B?Z1RIcWhkY3k3NkEvck42VzNFRFZWb3RFVDZScmQ5aW41RWk5SGxaUTBKUTcz?=
 =?utf-8?B?VWlLenAwV2FGdFBFd2RpcU9KQ2p1MVEyRXYwZCthN2JqTnBXYUhhL29leDhk?=
 =?utf-8?B?S1Rsd29FVGVjSFFubGNmd1lLekM4K0c1NlNuMXJidGhOVzJQRFdKZm5sNVdk?=
 =?utf-8?B?NmlpMkt6Tm1qRCtKbXpobTFYdWJKVC94Y2dPc1dXdVZxY043eUV1ZlZvejdF?=
 =?utf-8?B?UnFvNkhYNjZqaVNEaVBKQzh4YVNkRkYrVUVydFBIUDBueUVHMEozNTdERHZy?=
 =?utf-8?B?TktmWnVnK0xLb2pxTDU4ZlBzTy9BVjVveHRKYnZueVZsVG81ckU1TzZ5M081?=
 =?utf-8?B?cExkekVQaE9uN1hCRFdFN2s2cjJPbkU0eVp3ZVF0MzA0V3VoeXY0UjdGckpR?=
 =?utf-8?B?N25SelhIWXlia1c3VVNMLzh0Y0V2SVlWYTZPV09weXY1N1hmd2x3UkJPb2NG?=
 =?utf-8?B?QVZjK05zR1ZsOHpZdHVoeWtjMEErQ1dxd2pMc0Exa2VDQUVrQ2Iza2pEb3JM?=
 =?utf-8?B?WXNtZFVSd0YxcGxiVEFCcjlHU3h0WHdZdmZSbzRPclEwa2hJbFJMcXAxZGlk?=
 =?utf-8?B?ZGZwbklXTlo5K0c0UEZLdjdDamN4WHFTQmJSU1RHVEpwVUYvc3FMZi9qc25F?=
 =?utf-8?B?VHExaUlobC9heFZFajZucUl6UzY0TkZPNkVBU2l2Y3ZaSWVvcm9oUzNDZUx2?=
 =?utf-8?B?M1ZacTh1YlUvTmtyOWNCNjJQVzZsMlpldHZraDlnd0F4ODMrQXozcmh6eVM1?=
 =?utf-8?B?THA5V2p6bCtNRnhRK2pOVkRmNldjTGtJanNtV0RpTWM1bkErbDZ3VVhXWTZx?=
 =?utf-8?B?YzZNNi8wc05IV0tDRlhJa2lKemt0Z3dsZlMxWDJvRlpLV3RQK2pQSVpNYkdi?=
 =?utf-8?B?RFFMNW4zcW1lVklybm5nYmNxbFZVN05lajhLcnBQcm4wN2hMWjJ2ZXlidlZm?=
 =?utf-8?B?aGg3YlVkZGRCWmdMOUpyWVdOY0o3SGxIMWxhTTNHdGRIVGpsZHVyUS9JeUtY?=
 =?utf-8?B?V1RPL0ZkdHpHdjVBZ2FxTHc3U1RyOUN1M1ZpdURKV1g5b1dvMEN5UT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 69bb945d-0dc3-4ab0-9e00-08ded147bbe1
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 16:51:55.8995
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BH4tRjmokbh8ziGzM6EwASm/GGh15a0rBQrPqtjn03jBRHCUukh12K2E+iukI+GH9hdSyh45Q9YQVQNLRRrfJGk3MZxUM4RIk800si2X6b8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR03MB7568
X-purgate-ID: tlsNG-c201ff/1782233521-F75D7127-59612415/0/0
X-purgate-type: clean
X-purgate-size: 732

On 24/03/2026 12:58 pm, Jan Beulich wrote:
> On 24.03.2026 13:50, Andrew Cooper wrote:
>> On 24/03/2026 11:52 am, Jan Beulich wrote:
>>> On 19.03.2026 13:25, Andrew Cooper wrote:
>>>> On x86, we simply cannot free the per-cpu block for any CPU that hasn't been
>>>> put back into the wait-for-SIPI state.
>>> Please remind me, is there a reason we can't put CPUs we have offlined (not
>>> parked) into that state?
>> INIT clears CR4.MCE.Â  Any multi-target #MC (even non-fully-broadcast
>> ones) which includes this CPU escalates to SHUTDOWN.
> Wasn't there a difference between AMD and Intel? After all the above is why
> we park Intel CPUs.

Intel is more prone to broadcasts, but AMD is not immune AIUI.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 16:55:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 16:55:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344449.1603503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc4Oq-00017v-Tq; Tue, 23 Jun 2026 16:55:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344449.1603503; Tue, 23 Jun 2026 16:55:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc4Oq-00017o-RB; Tue, 23 Jun 2026 16:55:00 +0000
Received: by outflank-mailman (input) for mailman id 1344449;
 Tue, 23 Jun 2026 16:54:59 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <ross.lagerwall@citrix.com>) id 1wc4Op-00017T-2J
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 16:54:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc4On-00F1q4-SJ
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 18:54:57 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a3aba2e-2eae-0a2a0a5409dd-0a2a450addfe-34
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 18:54:57 +0200
Received: from [52.101.62.69]
 (helo=DM5PR21CU001.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <ross.lagerwall@citrix.com>)
 id 6a3aba60-93a5-0a2a450a0019-34653e451d5a-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 18:54:57 +0200
Received: from CH8PR03MB8274.namprd03.prod.outlook.com (2603:10b6:610:2ba::5)
 by BLAPR03MB5618.namprd03.prod.outlook.com (2603:10b6:208:294::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Tue, 23 Jun
 2026 16:54:54 +0000
Received: from CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096]) by CH8PR03MB8274.namprd03.prod.outlook.com
 ([fe80::ebe2:32c1:d2be:a096%7]) with mapi id 15.21.0139.018; Tue, 23 Jun 2026
 16: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ahUbhTmbSG9vwQzAMJVnWqStWE4shj8scQ1JV7mcxQBh5Vg31D+RuNPEDFy5TSKxtjuKfnZXuFDRb7ji/SB/bnenQdJKQi5ZYa1rZfn1JIBS2fRNlG5mNyQdGCv3EpGPv23IEh/ZJNmx28aDfIF3tLwnLydaOdkAZe7EF81cCCUl/0P9P1f1sZ/fQGPGeWQ/ivPyEASrWjpMBieacz2TRNZMZGuz9zZ4rX21UeFLZZv9q6EJS0WKp4mGNmVTIiiz49V4V10H4tQuiEh0oG6tEc6hM7nQ7U8IXkGh7jNbRdkSxdjJZtYXiDJpihCN0Ni5lv1WaKao/noZ3LMTEBleDg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HCFmhgDBSFNseXxGWUNG8RRJy3ShcGJmDU4FF9ODGnU=;
 b=Lv5xVZofpJ0JhHR4t6xffaDNsXojmI54l7PvrHkosItb2V9VNQM5vuKW09hGEcMWJZOrOCAlCnc2yIkmEKmwewhzQa8+pPkiTo9LJLrsC8MnPNrTMsSydaLprmpMt1SIc8bkfSAgsuQcnbnVGkiGmL0vxol0diwpCO3ubPehTIfGwNU7GF9QKBAQkGA6yR6ln7FZ2tk4ergObxz1B8eE0xlhI7GdSzI30qrQl8lywt8xK6AnbSjPplNcb9NW1OcsRBtCniWtv9lLhbPmIMHgYyOxP7J95iiris3RUVtZFF5uwRveLaMWo79HlKPetY7sc+q7MVojCUyhUInloW3q4g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HCFmhgDBSFNseXxGWUNG8RRJy3ShcGJmDU4FF9ODGnU=;
 b=dcgg9ABEsg+p/Bquq63Ci5/qOU1LnX9Ma33MadtgxWNpf+aL0AQIpxJEbuB+u9k7PZmpyphaHFq5GmtWc+JluvEIkS9fT1j695heemNJp53GwOKrE3EldtO2I6Mf2WJONI8Y4qeN8TRZApJt+MK+vOip1m+ljqRt+4Owv5/1V5M=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <a031ba94-7bc8-4b4b-84b7-bb294dda44e9@citrix.com>
Date: Tue, 23 Jun 2026 17:54:48 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/7] x86/kexec: add digest checks
To: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, Kevin Lampis <kevin.lampis@citrix.com>
Cc: roger.pau@citrix.com, xen-devel@lists.xenproject.org
References: <20260622151833.3397692-1-kevin.lampis@citrix.com>
 <20260622151833.3397692-2-kevin.lampis@citrix.com>
 <b7bfcd3f-acad-4637-a391-32cc9bd71a38@suse.com>
 <5176cb78-4445-4c94-a76c-fd08c1417211@citrix.com>
Content-Language: en-US
From: Ross Lagerwall <ross.lagerwall@citrix.com>
In-Reply-To: <5176cb78-4445-4c94-a76c-fd08c1417211@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P265CA0070.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2af::10) To CH8PR03MB8274.namprd03.prod.outlook.com
 (2603:10b6:610:2ba::5)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8274:EE_|BLAPR03MB5618:EE_
X-MS-Office365-Filtering-Correlation-Id: 869f9de5-9102-4cb2-a441-08ded14825c7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|23010399003|1800799024|22082099003|18002099003|11063799006|4143699003|56012099006|3023799007;
X-Microsoft-Antispam-Message-Info:
	4lthfEfw/em/zs/AZKYbCiJMbKOSI5pm2esMSQ5R7dUkKUxd3ZvAqg5chimBtykaujRElKk0XwzPZjKkwjPOnmTj677Y0qrysO3DweqfALEcOYWgMTktlzusVl5M7MIjj/YfQAoXdHqaqi6Jpj9vVjGWCGOsQdB/WYjaNkPEsty1LpUf1qbTFYmban1Jibv1YN5VzYu+aAbgQ4FjNik8U5LOozg7ma0/Fy/3g7Nj8x1+tze5k1xJ74yBMWGnzt0x6CZQf970G+4/EVmM2ZgsjVHV+G5VQWG+iNyI2bvBoBbPRdpn+otIHN8YcJBmX0bhmbQe6pU4qvTvrtlBywJ6VB5XGMsCRkLCB9Q3Yj4AiA4ArauVqIDu0B7+LZxuFh1fLNQeV1lINH6wySLtcZDgGDmUa0Q3WNFqEghv5uRJFkWN+4q0rrEEHqTiTVoYrf3N8bw7kuqoAh3MuqjEYQnr3ftYtiyJdj4zDSJkjsEY/uzeZyy/w4i2qdTV0RyAiSSOzZLZLXw9vciRiCI+I2iEmqNYFb3DljRJk+XAjFEed8U0+ieajdKHwYy2LY0j2aMTQ/jbsgrFM4QrWwtP5yXas1duA5oIeje/2jUj5eP5z6+Bew8vkbThaLT7O8QR0q38gfyFYP/Nv0B+5oVsXmLcOqEAXxfQZxuvX/KqtOGAKq8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8274.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(23010399003)(1800799024)(22082099003)(18002099003)(11063799006)(4143699003)(56012099006)(3023799007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QkxpaTYwc1JPb2FqTDcrdHZVYUNtZmFPbmE4d3R3OGliSmdqYVRjNzlBTGNn?=
 =?utf-8?B?M25XQWlhWWZObEFnZ1VDOVl4SjF2dGVZNWFjandvSGJ2bGMvSGFzSHNqUEs2?=
 =?utf-8?B?bEtySTFrMEtxa1RFS3BKaXlxN09TUDVjNzF3cDBxek1UZ2xHTmRYS0lCbnVu?=
 =?utf-8?B?T2haWHJOUWkzeTB5cXh5ZzRraW1wWG5sWkdoUElaTmZaSlRnd0U2cXc5c2R4?=
 =?utf-8?B?ZjBjUVE1amtsNGUvUStmKzdNS3hsL0pxVGhHTXk0OHRIMm80ZW53cjZIblZY?=
 =?utf-8?B?alJkRHNGblZQamwwVHpnTWloQTVWc1hZUzZhOC9yZE5zUUplS0p5RGtING1w?=
 =?utf-8?B?UmRrT09PeENsR3JnZk93RDJlaFRKS1o0RWZjNTJ6bEpwSGpLUEtRdll2Vmhr?=
 =?utf-8?B?eWRscDFna2dBTlFBZWVWZkltSlNFT3NVSmJvWW9SeTBiS3RGZnJBYkxiRVg1?=
 =?utf-8?B?NHpTb0JTcHF0eHFRclh2LzgrSit3akZtL3R6TnZCTUlIdHlKa1d1RUxOUmor?=
 =?utf-8?B?Sk4wTTFCNHRwemFOUmlIQlNjeEp1MXE1Y01TeGZVMkRmTlpjN1dJUlU5b0RI?=
 =?utf-8?B?MGRCSXlYYmlCTDNVZXBrMVFrRVlHQTBpcTVxQnZLVVNSRkJNeS8zZEZ3VVFB?=
 =?utf-8?B?QjN1VUovbHVlSzRob1ZGVFhMVTRoZUdOMVhUV0VUanhzZ05xNi8yTlZoY2Rs?=
 =?utf-8?B?bGFuMUVIdkdyNnZBN0kzaGVsbE9uSGkwcVMvR0VPNGIvZDROSUxmU0NySlFY?=
 =?utf-8?B?NktnZjUvNXovVmErREJtNGFVWVZDczJFSWdoSWVXdzduMSthN05oS0lhTWNW?=
 =?utf-8?B?ZkdoQkFhUUVEOVEzdkJMaXhYMlJYcHlLR0ZGa3lNNmhzN1hkb3pBTmdOOW1r?=
 =?utf-8?B?SHhXQjBkaUdXNThzR0gvWHdRT1F5cU1BbE1mNkRLSzBPR2dLcUtiSXJjMEhB?=
 =?utf-8?B?RHQrZnFhRUNUK2t6TmF0L05HWk5rZ25xY1JXQkNiK0cvWFA2dkVZZTBydlJE?=
 =?utf-8?B?eFl1cXREM0JWaW9lMXZWYk5iYUdibndiQlFaRUtlanR6azZDSFRLeU1QQ1Zj?=
 =?utf-8?B?cUZKMVRYVmYrOWw0SU9EU2IzUVlEb0F4ck9hUEhkK3RqbW05WHBoMzkzTDJF?=
 =?utf-8?B?ZGpsbExKZFBOczN0eDZVZGt6YTd5OVg3MDFwNjdFQXBRZHdZcGFwMWNCRmZj?=
 =?utf-8?B?aVRJUGZwRUpqOWdxR1FIa05LT1VZcVhCWWJTZy9oS3VLTDVzQXIraGNOL0Uy?=
 =?utf-8?B?bVE2OVNFTjBma0NhckpVOUg5b25NYXVsSjV1WkJyVVZGaG5MUjl4VjVoUXhx?=
 =?utf-8?B?YTk2MTR5OWNtL2M4OEg2ckJPb0d3aFo0bkRtci9wT2pzQUpVcEZBcW5HMDBN?=
 =?utf-8?B?Q0xvSXVMN0ppSlU4MWROc3BpaG5RMy8vWnl0MjBXOWE1VWJZdjZJSTJpbmtW?=
 =?utf-8?B?VVpSTFlmZFVPNlcvQ2szUUxDcHladlRmbFpaOHhLcXU5cWtwRjUvbENaa1ht?=
 =?utf-8?B?anhYU20wU0dxa3JleVJTM21CQnhnS2x0WnNHOEpqMnJ5Zkg1S3kxWHBYUENT?=
 =?utf-8?B?bmJWN0RvWFZnTnhydFRKd25YZWtqV2dNVXQ2cEQybzJGcitWUnBYTWhaZFhs?=
 =?utf-8?B?b3ZtQjVyVi9kQytWU1oyTlNPRXlrNVlRTWlhRmZBYmswOFlHSU16Uy9KRlBl?=
 =?utf-8?B?bEJqUlprVUpteUNjZ2d3eWNXL0M2enNtRDhrdlFqbWVqNjVBQVRUYytKWTFN?=
 =?utf-8?B?Y0hBYy9yS2l5RndHUlhsbVdKWjRUM0dxRnRPdC9aUk82djN4bXIzOXBFd2Fl?=
 =?utf-8?B?Vm80ZnNKM2w1Ulc5cS9YRVFzNXhhc0JwMXRuOEV1aGdvSnd1RjB4MVNKa0VB?=
 =?utf-8?B?YTZ6dEcwNUYwSzVBZ1VoUXY5N1ViTmpMRUdZeDJCOXhRNDhQS0t2dTBZMDZO?=
 =?utf-8?B?NVdxVjMxdTVPNzhWUjlqeStGVmgvMmlpMmw0NDM3RGJhOVZZQi96THM3ZkVv?=
 =?utf-8?B?c3BsNGpSeDU4Y0x5ZVN4WXBWeGJzbjRUWUppN2M3eEN1aHJZVnFTTE1RME1B?=
 =?utf-8?B?eEFoOG55SEYvQkh2RHFpM1AxRTlDdlQydkhKKzViUndlYzVKMjRkOHBQOHVq?=
 =?utf-8?B?OEFGTm1FQnNML01jR01KcXFLbGwvbXA4SkQ2TWFaM2gyQWhlak5qU1JQNFR0?=
 =?utf-8?B?REI0S0xocEJ3UnQvN3pNaXlFVkNqTHRFam5ZQm03Vk9sWmhsTVRRdFczQnd2?=
 =?utf-8?B?ZngzcU5HQktCRlBZbHRLSHo1MytWRzhPNDFkR25OZlNHaVplQjRoNXk4cmp3?=
 =?utf-8?B?MzhnTGpwNlgzZmExdmhYTkZ0UEsxeUdKTmtFekRyZDZvQnVBVjFxMi9sa2l3?=
 =?utf-8?Q?RuLr5qYLhZiNdpDY=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 869f9de5-9102-4cb2-a441-08ded14825c7
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8274.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 16:54:53.6603
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dJt2rgcVvkvip22dSnIjgw+64x6gVOOcaSAJXQ46eCbOh9WGliosL1QLCqQgR/IqOdl7TIFI1qxVoYBKF/m6t9BD1kQTZCwkL4QkSstLNwY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5618
X-purgate-ID: tlsNG-4011c0/1782233697-B13FFDB8-D8A86565/0/0
X-purgate-type: clean
X-purgate-size: 1831

On 6/23/26 5:08 PM, Andrew Cooper wrote:
> On 23/06/2026 3:44 pm, Jan Beulich wrote:
>> On 22.06.2026 17:18, Kevin Lampis wrote:
>>> From: Ross Lagerwall <ross.lagerwall@citrix.com>
>>>
>>> To support UEFI Secure Boot we must check that the kexec data has not
>>> changed between signature verification and actual execution.
>>> However, this is also a good check to perform generally.
>>>
>>> During kexec load, calculate a digest over all the kexec segments. This
>>> digest is stored and verified again later prior to entering the image.
>>>
>>> For now, only kexec crash images are supported.
>>>
>>> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
>>> Signed-off-by: Kevin Lampis <kevin.lampis@citrix.com>
>> I guess I'm not quite following here. For secure boot purposes, shouldn't
>> the new kernel already come with a digest (or really with a signature),
>> which we could check in both kexec_load() and kexec_crash()? If we check
>> against a digest we calculated ourselves, we'd apply more trust than we
>> should.
> 
> There are two problems.
> 
> One is plain TOCTOU.  We load the crash kernel at boot, and we jump to
> it in the case that something has fatally-but-not-catastrophically gone
> wrong.  Really, the digest here is an integrity check.
> 
> One is that Xen cannot perform the signature check on the passed
> kernel.  At least, not without gaining a full X.509 stack and
> authenticode algorithm, or a PGP implementation or equivalent.
> ExitBootServices() nukes SHIM_LOCK/LOADER protocols so they cannot be
> used later in runtime.
> 

FWIW at one point Shim did have the option to keep the SHIM_LOCK
protocol after ExitBootServices(). We tried to use it but it was buggy
and didn't work and was then removed when the new LOADER protocol came
in.

Ross



From xen-devel-bounces@lists.xenproject.org Tue Jun 23 17:05:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 17:05:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344459.1603512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc4Yg-000343-QG; Tue, 23 Jun 2026 17:05:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344459.1603512; Tue, 23 Jun 2026 17:05: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 1wc4Yg-00033w-Na; Tue, 23 Jun 2026 17:05:10 +0000
Received: by outflank-mailman (input) for mailman id 1344459;
 Tue, 23 Jun 2026 17:05:09 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wc4Yf-00033q-1k
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 17:05:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc4Yd-00CbZn-NB
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 19:05:07 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3abcb1-2eae-0a2a0a5409dd-0a2a4507e900-38
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 19:05:07 +0200
Received: from [40.93.195.20]
 (helo=SN4PR2101CU001.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3abcc1-4766-0a2a45070019-285dc314d8f4-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 19:05:07 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by MN6PR03MB7693.namprd03.prod.outlook.com (2603:10b6:208:4ff::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Tue, 23 Jun
 2026 17:05:04 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.018; Tue, 23 Jun 2026
 17:05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=E5Q1/i5c/Ri8zamecfG2us2Ht8n6TbIXt92Xg/PkYSGwQHvNtZc/0MUGPqW7eUhXpAdnO6ucLVU4SCpRzIFe8WJ5BtiQPLRHOi6/TZmeseekvNJz3Kgf+iuzsM0KITpDSu0EScWErHEZG6DdK7nn/sKfl5qeXhke7xFRYjozwm2Vi+NcC5ZnIFirPI3EkIR8gfcXkRNynNuKkxV9/f3ufbijys58iUVgc+TKVPkjbjnr4K43x5r9aUyj4j/KJrTsiZWmUYWlHi16QGyDzCq/S3UFXCIJmHsmSuM6Mj9AA/NRNguLZzrNt0RUKxD2FPRwkfu/0q/vLk5Le1m/T+FjCQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hd8pp8L+3ncazjlMnb+OF40RSFwLJBlTHVmSu6olA0k=;
 b=L0mSIK32Wiex2sftM7PKgoBH8O/bzdOIA3KxvnKxrZTX6q2VDohXXNu1TJPSfz1tnqaGfwtaYYn5+PoKauJxF+/Ibysw6QMOtyBWPQojvbdJtIuFdPB8eIw2nJFMZ7iAlHjoAkaQXOonjRNI6lpw6cK/Y3F/JHMMp7t/iyzPSAKc2EhafZGVakWi9j50VvElmwHva1jI4546sB8dEpV1y4iP9X8EtT/x9akAX26aUWTDdARwM+MYCi0p/eSj3/oi84hC6c97f4qlI41tun6TDvaP4PqJ1lF5dfYhtzPNAns2vAs91w/mH09P0QxwfAeWHYTCFAI5SUUHrpJusSPCsw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hd8pp8L+3ncazjlMnb+OF40RSFwLJBlTHVmSu6olA0k=;
 b=BsBCLFkM60+GxtHTPMJlT8bkS21wyqXeCzET2KKPazVXIBm4c3jzJUQ+illNQfCzKX7SjyPksXHUQRG1w8renpu3e04Lla0jqPXUNpN1dGyqePhqg6DIsdRIr++FdZBrCi8f6nNCp5ITBK1oc0cvIt+QL/OYMY09nTInBnyoktA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <7393869e-9978-4e38-8436-747511b88c43@citrix.com>
Date: Tue, 23 Jun 2026 18:05:01 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 3/4] x86/kexec: Invalidate the IDT earlier in
 kexec_reloc()
To: Jan Beulich <jbeulich@suse.com>
References: <20260319122549.922724-1-andrew.cooper3@citrix.com>
 <20260319122549.922724-4-andrew.cooper3@citrix.com>
 <2edd208b-4de4-4cec-a35b-31ae696cd777@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: <2edd208b-4de4-4cec-a35b-31ae696cd777@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0081.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:190::14) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|MN6PR03MB7693:EE_
X-MS-Office365-Filtering-Correlation-Id: 7089b22a-5ba7-4c5c-8c81-08ded14991e3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|376014|1800799024|366016|56012099006|4143699003|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	IXBF8aBTaJrpjMe3KkaFfSIdMo4YUbe+l+/5Yz9K3Wg40CmztTkRavii3c1zZXB9Fux1MIZy3SoDsMckJlNGigbzwzdeZvGlpTEK5FugpEzRQsCZHzdulgU0JT12FXe6+bA3R4qoySAUhlBHKyeJH7XYemeqkVtrGwulUsJSAte7Sa1t+M08QQ+W/54D/EUvMyTOwEWsAGboqKssr1OMyLwI9bGRBRpnG6TvtGg6aXtt+MbW/bMDPFjNSvtP4hDjS6tIA3qiexmC7a5M/eivDKSseOO/wzY5rmA4E3RGyIp1khp73hMii57TlT2yzGfuJAcuHWG+ysRp+9UL2G0wDFhD3U9ASxBUgizJnHgAA27bGAq86tG8uMhGlHfUIo9aTvEJ18ZVS1PAV3AJNxGbnsK7OWoA85OtFOG3kiRlylxXNbjvxjBm8PkifSKc13rh5sqWn8Ka+PiXvFmi+4uk+uWs2pVrboA+QObzfSrMAT8B63vi0Wn3LoSlAqoWWoNq6QuX6DaWfflfaejpwj3ciJMAl26BWcGRv6vdUckX1Glfvn7uS5hlM5aAt10r0RBBlhRmjKGH0693IeTt0DcpfSqIemI2ciC0iEWVq3G/5+aZiYHNwskjB6/GmyReUcB5sS9Wo7p5lWX7RbLqzByZkfVZzXa20SS/x+DlnRAnR2o=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(1800799024)(366016)(56012099006)(4143699003)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Wll4S3F3SDkxN3hoemhSaGY1Tk5lUmxXdHZCT0ErRlZCYXBRNXhoQ3psTUM2?=
 =?utf-8?B?NEdMeDR4d3QxNkNkSCt4Tzc5Y3dYblVYcXlra21GQVdnNXUzeGx3MTRUMXNV?=
 =?utf-8?B?dDExNWNvQUtnQ0Zla1Yxb2tsUXNtd0NXc3NjOWFTUGVsT3ZPdklUU3N2blBI?=
 =?utf-8?B?K3JXcmxLOXRJT2NtbmIwRTliZWFiVVh6UkxLcU8rdUpwemt0WExOcVBIc3Rl?=
 =?utf-8?B?cjA5UWl2OEVleHErRnFiZktxdW5oeUpCSWYxMlpLRzJoUU1HdkZielZwcENY?=
 =?utf-8?B?WGxlOGtBbkhqV3hwNkg4OFFSU00xTzlCWnBFMlAyM0FXNXVNK1kvZVZuUHBG?=
 =?utf-8?B?M1hVUTdrMHd6dyt2RXZjVzdwbFNiM29jSG1hdk9Ma2dZY3JHdUJTN3A2b2c5?=
 =?utf-8?B?dW8wY0diNndXRUNWSTBiV3NjajE3eFJSMW5WbmNaUTZhQzluSUhzL2NPQjRt?=
 =?utf-8?B?bUxIbHJMUStUYzNvenBWbXRmRHJaQWI5WlJadVU1RTdCaE1QZXU2QWlyLytO?=
 =?utf-8?B?RmcySThmd21taHB1YkhUSjd6QllLZXJWM0g1d1N0MzViVHp3L0FOTTVTbHgv?=
 =?utf-8?B?MGNDWWJNTlhub2NLOE5DWmdkamhVUlFadUpnTFlrOFhibmh2NzJ5RmxtMFNE?=
 =?utf-8?B?bkpXeGxrQmtrMUNaNU4vcXEyOHBqOVZVcDV0aFJoaFZoZ2NDMkI5czdBWlYv?=
 =?utf-8?B?Q1JiTFBTdzlKamdyQ2plL01MU3hMZXdNVjc3OWo0WTlFZEdlRi9yWnUxd2pK?=
 =?utf-8?B?MUJWT2pjdGZXTDNvVGhIUzVkWll6cTdTdkxVam1rU0VQL3l2K0VINnFOdkxY?=
 =?utf-8?B?Nkw4ajFzTm51d1luTWRMY0pZdFlzeTF4MkpZazZLeUg4cDQ3YitvNjhZdUF0?=
 =?utf-8?B?T1JJU0dwUzhNbnhZcjM3YjA1UTZRbGxLUjNIMVFFclpuM3BXTDlnTE9vNXA3?=
 =?utf-8?B?YTBCM3FXV2dQMVVuNGlHOVVKNUlBWHovMkNwdGp2SThSbllNamRZTThKdDdL?=
 =?utf-8?B?QkxmaGF2VVhlYWFZVER1QjBKK0JKNFUzclhWZERNdU82YndjRXg5UGI3czhT?=
 =?utf-8?B?djlTQTJJTXFidWRuNlh4M0sxNVNTNndBVDF6SnVVaWF5T1pvOUJ1ZW5ydml3?=
 =?utf-8?B?TytKd1BVR2wyWCtIcXpFai90aEpqRnZYaEppN3lWYkVqL2RaSng4azVxOHhU?=
 =?utf-8?B?ekYvYTFoNFJycW5oRzRnY2lsdXd6czl0UzlhWXVDdXhzUE5BdXlYT3BSYmFF?=
 =?utf-8?B?L0V3RVFzNnlnN25QSDkzMUIyd2tjc3pneEJQWFl4V0FJN0NzbGFxNWJMcnQ5?=
 =?utf-8?B?YTEweVhVdXpIdkVCaVhmaHJhc0RBdVNadGdFNmkyQytkLzUyNnpwSS9nM3Fh?=
 =?utf-8?B?V0RQTXlUM2MzbWdTVCtrQU5aN2xkVVZaM25qRGMxYlhnYjFKdzArdUxZcVJa?=
 =?utf-8?B?Z1ZHQmxiTmg5dzNHZHI0VGx6UkhkaVlZK2Y1a2k2ZG5yY0RNZEM1MC9UcVoy?=
 =?utf-8?B?ZXYxZEFpVU1mTGFpTk5YNU1iRDZLbjJiS1B3N0trcW9NSVBib08yaFNqbk5K?=
 =?utf-8?B?YWFzdnFrS2R0SGdmVzVNMzRJU1U4R3lzRFFiV2FWckZvaFJrSTNLUDFXZ3lM?=
 =?utf-8?B?NkU3ZXZ4dXdUdFVTd2tGdldtRThjc1dNY3hOMVRqYUlCMkVvUnEzSnR3MmRQ?=
 =?utf-8?B?WEVUTi9sdExjdXVFYlQ3aWxJSTAvK2Jzc0U3NHNoeThLRWNOZDhLOC82VzFX?=
 =?utf-8?B?MERLa0NLR0lPaStIdm1xNWhMRkVwMWxLWThCZHR2SVRmUFN6R0Vlb2RrSXNM?=
 =?utf-8?B?VkIrRkFUQXZDTzRlZW9VMU9rdXMrME1ia3FFbU54eldZUE5ZSnpGbmdKRmVJ?=
 =?utf-8?B?OTJ2ejYvNnZSbVNYekJXZVlIN2VaSWxDUDhFMmU0MlM1UUZEcFQxWXp6RFdv?=
 =?utf-8?B?S2RzYVJ1N1pQd3pQcEc1dVdnK0t6aTRDbWdZdmxncVhSaXVWN2JCNi9TRkRQ?=
 =?utf-8?B?eFlMS3EvZWVBbUJ4bkxhVHBjSFpRV0syRTJZSTc4bnR6SmhCT2FqNGtycXNG?=
 =?utf-8?B?cWFWdGxCakp4MkxTdGczR1pYWXFKcmo3eFREYWJiMGtIRFZVbkJxYVFXQlFX?=
 =?utf-8?B?dEo5L0xhTFhZbGR6ZTJoK2c2bUdPV2pxejJraWJMdG9tRXdoUG5CTU5RYzJ0?=
 =?utf-8?B?dVNteTVXYWNDck4zT0ZISDJ6NWg0RHdNejlzYkY2QXZoYjVncnAvanN5TWhR?=
 =?utf-8?B?cHV2a0QwdFZ0Z0JPTTFOWnV0cms2aUpmb1VrckFkenNlRDgzMTZ1dnlqT1d1?=
 =?utf-8?B?NEZkWTVqWm1mV3Qyb0gvZTBmR3pzY29mRXhVbVozSWZXWkIyNzFYUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7089b22a-5ba7-4c5c-8c81-08ded14991e3
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 17:05:04.4448
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: a41YoQBWpXwl2W3QiODn06gQYoZ9zNw77QPM5gSYArqycXxpYtIX+PN7WzOYDu7HENmlcXE96C3taJ0RQAXcWBKAyzkgbzHsQe1iqL1L+Bk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR03MB7693
X-purgate-ID: tlsNG-ef75cf/1782234307-915DE979-D1CF0B00/0/0
X-purgate-type: clean
X-purgate-size: 1888

On 24/03/2026 1:10 pm, Jan Beulich wrote:
> On 19.03.2026 13:25, Andrew Cooper wrote:
>> After switching stack, it is not safe to run any exception handlers, because
>> attempts to access the cpu_info block are out-of-bounds and will generate wild
>> accesses.
>>
>> Invalidating the IDT in the common path means there's no need to do so again
>> in the 32bit path, so drop compat_mode_idt entirely.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

>
> Yet still two suggestions:
>
>> --- a/xen/arch/x86/x86_64/kexec_reloc.S
>> +++ b/xen/arch/x86/x86_64/kexec_reloc.S
>> @@ -44,6 +44,16 @@ FUNC(kexec_reloc, PAGE_SIZE)
>>  
>>          movq    %rcx, %rbp
>>  
>> +        /*
>> +         * Invalidate the IDT.  After switching off Xen's stacks, the
>> +         * exception handlers are unsafe to use, because there's no way to
>> +         * perform arithmetic on the stack pointer to find the cpu_info block.
>> +         */
>> +        push    $0
>> +        pushw   $0
>> +        lidt    (%rsp)
>> +        add     $10, %rsp
> Deliberately misaligning the stack is odd (but not technically a problem of
> course). How about using two full PUSHes instead, possibly adding a displacement
> of 6 to the LIDT in exchange?

I've got a similar pattern in a followup series to remove compat_gdt,
and for that it does strictly matter that it's not two full pushes.

This form takes no displacement and gets the accesses naturally aligned.

> Furthermore, don't we still have access to the full Xen image at this point? If
> so, why not do the above without using the stack, using zero_page(%rip) (or
> zero_page+6(%rip))?

We're crashing.Â  I'll trust something freshly zeroed on the stack far
more than a piece of memory we'd never notice changing away from 0.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 17:25:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 17:25:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344471.1603522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc4rv-00069B-ES; Tue, 23 Jun 2026 17:25:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344471.1603522; Tue, 23 Jun 2026 17:25: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 1wc4rv-000690-AI; Tue, 23 Jun 2026 17:25:03 +0000
Received: by outflank-mailman (input) for mailman id 1344471;
 Tue, 23 Jun 2026 17:25:02 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wc4ru-00068t-02
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 17:25:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc4rs-008I0u-NN
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 19:25:00 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3ac12c-bab6-0a2a0a5309dd-0a2a4502c402-46
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 19:25:00 +0200
Received: from [52.101.48.48]
 (helo=MW6PR02CU001.outbound.protection.outlook.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3ac16a-fdf1-0a2a45020019-3465303047f9-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 19:25:00 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DSWPR03MB989167.namprd03.prod.outlook.com (2603:10b6:8:361::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.18; Tue, 23 Jun
 2026 17:24:56 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.018; Tue, 23 Jun 2026
 17: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=HLaOlp+cLWbMtHxsp4kBMroRZ+q4G+4LhtuAJY9+wy+Nv33/IMMiz0XMF2PRdd8lkD1ErdauLfGoMg2bweT56zusJeJYF9PGZYbr18GLvyRd+XgDAMoZ4G4Qd9Fxbm85EMiNyCyByOkhB1aQ9NKrqmoDOkl8i9JFmmRyDjPZUNrjUtGdptzzWD5S8MpRT+WIZHV6ThPg6DYiX+9lOBMff6s3uIXBeUBwEmitGhjt1cl1coqoZCeGqijrxNPyPxJzzPh1ScqV+vHTd7UKQCcClK+YDMX5S5+89QClzrn1zo2yHdP4SFe1cZ+uHwVOP99afb5g/R1FyS7oZHm4WreZCw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7S8tny/a/4V2hX8uuurQ/OqmYENuTOV+78SM7/LhEYw=;
 b=oRPUIYX+IxAo8+Ua0eGh1nn18CH4j80PCfm48amZ7OdLaG6Cm3a0ywmWAHdIIYA4VcD0pJiXTohNllXbpiz+soR/NVrMxuMjecmCt1MBYu1d9Y/qF2FjKn4tvSHk7qWn/TbEvQM9GwD0BOR+2FQZXJi75r9RfMemrA2wBg0uKCuJtfHExdCTp0bucNMy+X55N7isS7zvOLHZFq3Ns+PtHvSIGCodJQCeKbazLuM0Aj4uDvd5N7trA0lzLr1vhkuyfzgNjyzhVqBfslWJ8KGcwB/K5jv6DKqivzURWn0QxI5NnY3tI0O32jeMZXUjF0PASpCvLviat+zqJ4cU5lys5w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7S8tny/a/4V2hX8uuurQ/OqmYENuTOV+78SM7/LhEYw=;
 b=RNQEUG+zLZ39G9/UDrR0GiT1XQylsjcm5BiWEEP4JJxiqFimgaEkHUNzX7+Ryl5zbBEL1/2VFvPlJlw1EtPwO9O+4mr679caFQOb1IPtxRxHpVBu5TnLuR71ZrKe1asK4ZU5INTbsq9N31r8isjGuHN9SpiqlwfHCM7iHjvUMwY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <4156c05a-3089-4d9e-a4ed-b99636ce0053@citrix.com>
Date: Tue, 23 Jun 2026 18:24:52 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 4/4] x86/kexec: Disable FRED earlier in kexec_reloc()
To: Jan Beulich <jbeulich@suse.com>
References: <20260319122549.922724-1-andrew.cooper3@citrix.com>
 <20260319122549.922724-5-andrew.cooper3@citrix.com>
 <bcade1d0-4ab0-454c-9f2e-d7b407bbb230@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: <bcade1d0-4ab0-454c-9f2e-d7b407bbb230@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0065.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:153::16) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DSWPR03MB989167:EE_
X-MS-Office365-Filtering-Correlation-Id: d36ca3a1-f8c7-4408-e583-08ded14c580b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|23010399003|1800799024|4143699003|11063799006|56012099006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	G1j/bEYzgZTJvb2k0TNiNoHOb5xjRyjDcc78ofK5fCd3tp1aMoNuWVgIxBH69CjIktX02lM/ONTpITUtByUPwuSawq39X21k+zR+hbvqqyuuUJnhu5q9Hii/hGn//tyR7+cDrovMOsKtgHk6e3M6CXojfRvVE8OelHhcwASjwFSJuE+MUc8DFz5Hc4cKDPQDHJlZEVffGMlB0U0YDOBCCE7/beWSbScE8m0fQ1j1hJm+DRpLvHpmkuCkjxmkW72tKTld0Y+Qy9Y0ouKOxIlgG64WqKPNIKqWp4rG0OmwKF9METCkO7Q/AMOB/648AW43F+csyhp/S/gXLgwd3tUTkGg6GXHZys1fr/VN+dMwCqVDydhl1XKJriMmxu/5dSbyVr5eiC5MoofNmKz+abcdIs98/NrAqh9JcN5czvydBoBn5CX8yuIeyeaT3sbtyetdUMxjaGc9lUUbYitsANFxgPxjsU0uNKJUyzMFW/y989d/1ddCWb4x3RaXsrfn5LzJNyHsOlD85OUEDvUpzrE2wGGDUqbwxpPpW81XQ212Qw1Uhu182BbyPUadN0yly0l/Oa7K3dISrQ7BiZy1T0YeBDszMLVXJiQm+956mCtub/ZPmm/wO/LR87a37CzDnCroAUZmc31Ll0ScpXEHX1+U8q/hnLAOt3gYTlyoPdq3vk8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(23010399003)(1800799024)(4143699003)(11063799006)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZEpyTjFxNjBFM0xFMzhjSC92ejJ1emV5OXdGbjB2b1UvcXRGYjlkdVloajYz?=
 =?utf-8?B?aU9IT240WmYyZXF4QTdWQmFpT2drWTltTmU3TTB2QjJIbVBIM1FOMzZweUkv?=
 =?utf-8?B?dm9WWnR3YmRpVFhhSlZWV2tycS9QLysxK1pRcGhDNHo1elVEL3hEZnBRZ0RR?=
 =?utf-8?B?VG12cUMzWm9lVmt3N2NUSjFDLzNRMThzWWlsUW83ZUc3dTVaYnV4Y2FrZTk4?=
 =?utf-8?B?L1BPcXZMR0JRd0pYYWRDcUpXT1p0d2s4SzdnTCtGazdlVVllUjJZcS9scUc5?=
 =?utf-8?B?dDJWbWNWSTdwY0hDTUxwMWRIQW5QUXhvSVpiYXhnaEwyYTgwdnFjY1ZaRE45?=
 =?utf-8?B?TTQ0YjJyTWFqbDBnbkpZNXBFdndsKzVYQzlEdHA3MzkxeXZQWFU3RklPQTZ4?=
 =?utf-8?B?UTFQZ3NUeElNVHdTM080N281RHJrclFPcjFiTmF3dFgvQ0R5enIwd1ZOWHRI?=
 =?utf-8?B?OHBsTFFMU2tMQnpqWGJBTDdJaFNnbXFGVDkvZGsxZjlHdFoxU0p2QkR6VHRG?=
 =?utf-8?B?bjcwVkp6QkpLUExQZjBtNWFrcFlvYkRvS2xJN1dIeU9QUXl2RG90UEtBUE10?=
 =?utf-8?B?OWtNVW9HNEp0a0M0ZkFUdzN1a1JNR0pZVkIvYkwxUDZRd2dkaE5mQ0taNG14?=
 =?utf-8?B?NXROdkJsaUg3NTl2Y2dpb0g0blpBZ1E5aFJEVlpiUWFhNXAvaHRYb20zc0I5?=
 =?utf-8?B?ZXFuK3lqbm5HWmVVSGQrbkxRUEljTFhoY1lrRXpLQmFqQXdobUpUMXJ2dHNQ?=
 =?utf-8?B?aFhmcGN5U3Q3SmhOZXRsU2FySFovR1FtYWF6dUQ4ZkNpaVlYWHJaczNhdGQw?=
 =?utf-8?B?QWJodSsxN25tUUd6eW1jYTR2QmdYMXI2T3lrb3JGak4rTXg0NEI3MEl0UUlT?=
 =?utf-8?B?eVpUNnQxQWM4dUpPM3ZoNjdIMysrdElGbkF1Qll5RmVyTFN6Tnpxd1VHWWtj?=
 =?utf-8?B?Tk41K0h1bzRGaGgzN2tVZzc4Z2MzSmJ2T05hTVZlYTYrOUJiUTQySjI1dGsy?=
 =?utf-8?B?bFpiYWYxWCswd1Q4bEhtNUFJSnJONC81b2hpbUhmbjJ0akdiVUlPVW42dXcw?=
 =?utf-8?B?eTJjNnVja1FjUW95OWhHMWE5MTUwY0VQcHhORlhPckxFbTB1V2lEZ3FsaXZI?=
 =?utf-8?B?SitnTzZOUWxwMXVjWWNDT1E5eGd4VVh0dDZaaU5xMTNRTytnczByQTQ1R3pn?=
 =?utf-8?B?VzJmcy83b2lpMGpYWk4rSlBqSm04NlB1TzAxbFp2SU5XeVFHZFpIMjRGRVBJ?=
 =?utf-8?B?aFVQZ0twNE5BRXZaV0tNSnRuVHA2WHFiaTh5czB4L0t2Vit4OTM3MExwTnFT?=
 =?utf-8?B?dDJxR0RnT3BwNnRaUEs1OGhlQzZ2TGNFL2FveEQ2eEF1cmhNUkRBbmxSb3Nr?=
 =?utf-8?B?MkdsUzNjNmdrTm5rTm1sVDdnMEQyam01bitvQ0YwVFh5bkVJeHJacG5wSy9W?=
 =?utf-8?B?Y2dROGUrYXBTZkp1YjFqMHpIdmVqU3JYdzZSTnhnT1E1cVN3d2lZSTJDYU4w?=
 =?utf-8?B?L3BybFY0SHh0TGpXSWE4Zy9ndVFHbXRpNjdkQ2kvTXV6Y3Q3ak54TmhHM3d5?=
 =?utf-8?B?NEpNWFVTekgvZWhJWEkrN1diMkU4bE5NRjByMkJCU0J0enh6WWF6ZWNXeTlN?=
 =?utf-8?B?UFRuallwN3oxd2JycGcxYkFnMTZaZW5qRHkvRWozQnRuR3Y5UmRTVEdFc0lR?=
 =?utf-8?B?eHlWbnI2UVQ5UUorSW51ZEZHMFRvSzBsRXRWcUZSdEluSndNVG92Z1p6dHVs?=
 =?utf-8?B?NzVESUpRVCtFUzlkb3BKd1M5OVdrR2xCWC94RXNtVmdOV3RwQ1RDTUc5MTFq?=
 =?utf-8?B?cnY5cW5XVXE0dlB6cnVkeEpJcE1iMWQwT0VWQXRIcnRHL2RDcStzWEpNTDlH?=
 =?utf-8?B?MS9MQjdrRE1RNnZLelNhcE5vb0VKODRuSWErRHRwWUovSi90c0ZTdHJJVlUv?=
 =?utf-8?B?bFlXdE9SZC93eWJOSmNSZUtYRjZLOUFrWnBQSytzRFRWNEVWNGJZWGxFcnVJ?=
 =?utf-8?B?a2o1TVZ3Rk5ERW5ydmdkRFBBN0lTQnhuVFdyMjhpeFdHbGo0ZWJucVR4czFq?=
 =?utf-8?B?SnZqcXZkaVpEdDJBVXhiTFFIc0NJdUl3bk1zQStYTEJRMEJDaUl2MHFIQy9i?=
 =?utf-8?B?eko2WWtBWWJ6bWlWYk9aRThzSXJKbTVCZERiZ3RUU3dubG1OWjNJTmdlR2lt?=
 =?utf-8?B?bnVuUFR5b2JGd3o3MUQxRWZYVzd1SkdDZUFpWVllS2RrUTYvL1Z2Kzgvb2d0?=
 =?utf-8?B?N1V3Q0tFSFhRRHhkamliM0tDbzVZSGppd3IrdjRtaC9XOVpEUEtpUVluQ2Vu?=
 =?utf-8?B?dTQ2Rnc5OUlkWnRxT0dBelg1bXBKSVBaRDFFOGN5WEFnYzFFcHNJWkdCWXIx?=
 =?utf-8?Q?knwhVS0SKvKK4BGM=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d36ca3a1-f8c7-4408-e583-08ded14c580b
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 17:24:55.9913
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WD64AgDlt8liZGqt4PNCaN0KLs6mTw7X8hxqARjPmOYsR7ImtqSs8mPL09AZlPgD9f7NgcLGkPiLufXXoP9AXT93tkrX3T9sQfjaCtqLM4I=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DSWPR03MB989167
X-purgate-ID: tlsNG-720697/1782235500-46E7F3F3-FD375269/0/0
X-purgate-type: clean
X-purgate-size: 1960

On 24/03/2026 1:19 pm, Jan Beulich wrote:
> On 19.03.2026 13:25, Andrew Cooper wrote:
>> With FRED just as with IDT, it's unsafe to run the exception handlers after
>> switching stack.
>>
>> To remove this unsafe window, %cr4 needs clearing earlier.  In turn, we may
>> need to switch to PCID 0 earlier too in order to be able to clear CR4.PCIDE.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

>
>> The pagetable switch cannot easily be moved to be earlier, as that leaves a
>> period of time where FRED is enabled but all stack pointers point to
>> non-existent mappings.
> But the clearing of PCID could be moved earlier, I guess.

Yes but then it's even further away from it's directly-related logic.

>
>> --- a/xen/arch/x86/x86_64/kexec_reloc.S
>> +++ b/xen/arch/x86/x86_64/kexec_reloc.S
>> @@ -54,6 +54,21 @@ FUNC(kexec_reloc, PAGE_SIZE)
>>          lidt    (%rsp)
>>          add     $10, %rsp
>>  
>> +        /* Move to PCID 0 if necessary, as a prerequisite to clearing CR4.PCIDE */
>> +        mov     %cr3, %rax
>> +        test    $0xfff, %eax
>> +        jz      1f
> This conditional looks not overly relevant on this path, and we'd get
> more consistent overall behavior ...
>
>> +        and     $~0xfff, %rax
>> +        mov     %rax, %cr3
> ... if the implied TLB flush would happen in all cases. (Of course the
> clearing of ...
>
>> +1:
>> +
>> +        /*
>> +         * Set CR4 to PAE only.  This may disable FRED, which must happen
>> +         * before switching off Xen's stack.
>> +         */
>> +        mov     $X86_CR4_PAE, %eax
>> +        mov     %rax, %cr4
> ... PCIDE will flush again anyway.)

Also PGE getting cleared.Â  There's also a full flush just out of context
lower when we switch off Xen's pagetables onto the identity pagetables.Â Â 

We don't need a 3rd unconditional flush.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 20:38:16 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 20:38:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344492.1603529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc7se-0004h0-Cv; Tue, 23 Jun 2026 20:38:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344492.1603529; Tue, 23 Jun 2026 20:38: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 1wc7se-0004gt-9x; Tue, 23 Jun 2026 20:38:00 +0000
Received: by outflank-mailman (input) for mailman id 1344492;
 Tue, 23 Jun 2026 20:37:59 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <dpsmith@apertussolutions.com>) id 1wc7sd-0004gn-IC
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 20:37:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc7sb-00EmbU-Jo
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 22:37:57 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a3aee84-bab6-0a2a0a5309dd-0a2a450a82a0-14
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 22:37:56 +0200
Received: from [136.143.188.51] (helo=sender4-of-o51.zoho.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <dpsmith@apertussolutions.com>)
 id 6a3aeea2-93a5-0a2a450a0019-888fbc3352bb-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 22:37:56 +0200
Received: by mx.zohomail.com with SMTPS id 1782247065615346.27250139176465;
 Tue, 23 Jun 2026 13:37: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=zoho header.d=apertussolutions.com header.i="dpsmith@apertussolutions.com" header.h="Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding"
ARC-Seal: i=1; a=rsa-sha256; t=1782247068; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=dHHqT/IPAjn6lt5RtvbjKROEn7Vorx/SiL3ENvDLtUJQkFtsWLnK87l9tk/n81Ne4QYf3Hv9Q8JO1fGdJ+V4POfrum/4NTXNx+oGHlymPzFJ/e/yiZcz4xzz3bNrL01/qAQlGUyRvFpTNwZjSIU7hTmOdKhMD4R/NEdTL9llZ48=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1782247068; 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=CMo1oSi6NuHwGlocOQBApwjiUoe5SibobKM/BdfaoDE=; 
	b=W1IOAf9ui+ZlAntP70VW/HpA8Hl+qoqDdjS60bopTmi9ks5Og3sWPbfvprWRW/FuW74dBiuXod4ma7wsoL1yrRDjR/1MuXdNm60eGcghAgDXztHWemQSXMeih3V5dLftaKfiSjKdc4AJXikTff8lxpZfz9HO+XUAjgK6NnuFfiw=
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=1782247068;
	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=CMo1oSi6NuHwGlocOQBApwjiUoe5SibobKM/BdfaoDE=;
	b=ef7ikcWk7twfN4sjv4RsV42oV8kfn4j9uFKX1O4a/al2R4whLjkmKT/CF55kc3Ex
	f7rxLP9yT4rxkeG4D69Xz6RvRRycekvqN87Xagv4oV9rY6cMvP7KhVjzd9eodZpbwow
	X0+4tO2xGkk2Mis9O+LTzvnlXoAmgBboU5rU/chU=
Message-ID: <b84d58e1-7b29-443a-b2b9-df56e6bd7020@apertussolutions.com>
Date: Tue, 23 Jun 2026 16:37:44 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 12/16] xen: implement new foreign copy hypercall
To: Frediano Ziglio <freddy77@gmail.com>, xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
 <20260619130501.272832-13-frediano.ziglio@citrix.com>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20260619130501.272832-13-frediano.ziglio@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External
X-purgate-ID: tlsNG-4011c0/1782247076-B21F6DB8-15586EC7/0/0
X-purgate-type: clean
X-purgate-size: 2633

On 6/19/26 9:04 AM, Frediano Ziglio wrote:
> Add a sub hypercall to __HYPERVISOR_memory_op to allow to read/write
> memory from/to a foreign domain.
> 
> Extending MMUEXT_COPY_PAGE seems better on first sight but considering
> that MMUEXT is meant for PV only and trying to change that sub-op this
> solution is better.
> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> --
> Changes since v4:
> - Fix typo in comment.
> 
> Changes since v5:
> - update xen_foreigncopy structure comments;
> - move check for no frames after checking the domain;
> - use mnemonic instead of 1U;
> - fix page type checks;
> - do not overwrite error copying back structure;
> - latch MFN value;
> - improved commit message.
> ---
>   xen/common/memory.c         | 145 ++++++++++++++++++++++++++++++++++++
>   xen/include/public/memory.h |  44 ++++++++++-
>   2 files changed, 188 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/common/memory.c b/xen/common/memory.c
> index 3672bda025..98726766bf 100644
> --- a/xen/common/memory.c
> +++ b/xen/common/memory.c
> @@ -1545,6 +1545,139 @@ static int acquire_resource(
>       return rc;
>   }
>   
> +/*
> + * The "noinline" qualifier avoids the compiler to create a large function
> + * consuming quite a lot of stack.
> + */
> +static int noinline mem_foreigncopy(
> +    XEN_GUEST_HANDLE_PARAM(xen_foreigncopy_t) arg)
> +{
> +    struct domain *d, *const currd = current->domain;
> +    xen_foreigncopy_t copy;
> +    int rc, direction;
> +
> +    if ( copy_from_guest(&copy, arg, 1) )
> +        return -EFAULT;
> +
> +    if ( copy.flags & ~XENMEM_foreigncopy_direction )
> +        return -EINVAL;
> +
> +    direction = copy.flags & XENMEM_foreigncopy_direction;
> +
> +    rc = rcu_lock_remote_domain_by_id(copy.domid, &d);
> +    if ( rc )
> +        return rc;
> +
> +    if ( copy.nr_frames == 0 )
> +    {
> +        rcu_unlock_domain(d);
> +        return 0;
> +    }
> +
> +    /*
> +     * Check we are allowed to map and access these foreign pages.
> +     */
> +    rc = xsm_map_gmfn_foreign(XSM_TARGET, currd, d);

While on the result is the same, this is a different action. I didn't 
immediately answer because I am split on what the new hook should be. In 
particular if it should be only one like map_gmfn, if it should instead 
also take a direction (in/out), of should we have two hooks (xxx_read, 
xxx_write). Myself, I am leaning toward the last option but I am open to 
hearing other's opinions. If you need any assistance with writing the 
hooks, feel free to reach out.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 21:03:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 21:03:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344500.1603538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc8Gy-0000Pa-9H; Tue, 23 Jun 2026 21:03:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344500.1603538; Tue, 23 Jun 2026 21:03: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 1wc8Gy-0000PT-67; Tue, 23 Jun 2026 21:03:08 +0000
Received: by outflank-mailman (input) for mailman id 1344500;
 Tue, 23 Jun 2026 21:03:07 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <ehem@m5p.com>) id 1wc8Gx-0000P2-Jr
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 21:03:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc8Gw-000Nt9-2C; Tue, 23 Jun 2026 23:03:06 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <ehem@m5p.com>)
 id 6a3af461-e002-0a2a0a5209dd-0a2a4502dd4e-26
 for <multiple-recipients>; Tue, 23 Jun 2026 23:03:05 +0200
Received: from [74.104.188.4] (helo=mailhost.m5p.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <ehem@m5p.com>)
 id 6a3af488-fdf1-0a2a45020019-4a68bc043162-3
 for <multiple-recipients>; Tue, 23 Jun 2026 23:03:05 +0200
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 65NL2vr4071604
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Tue, 23 Jun 2026 17:03:02 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.18.1/8.15.2/Submit) id 65NL2ub6071603;
 Tue, 23 Jun 2026 14:02:56 -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>
Authentication-Results: eu.smtp.expurgate.cloud; none
Date: Tue, 23 Jun 2026 14:02:56 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org
Subject: Update for Tianocore/EDK2 needed for ARM
Message-ID: <ajr0gN9kmPkLQlGF@mattapan.m5p.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="flcvX6a7KUqt5CGv"
Content-Disposition: inline
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=4.0.2
X-Spam-Checker-Version: SpamAssassin 4.0.2 (2025-08-27) on mattapan.m5p.com
X-purgate-ID: tlsNG-720697/1782248585-44E6F3F3-15275D7D/0/0
X-purgate-type: clean
X-purgate-size: 3436


--flcvX6a7KUqt5CGv
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Tianocore/EDK2 is one of the prefered Xen bootloaders.  On ARM it is
indeed very functional.  Unfortunately the change of disallowing multiple
mappings of the shared information page breaks booting with
Tianocore/EDK2.  As the change was done on Xen I suspect they would say
it is the Xen Project's job to submit a fix.

Their history suggests Julien Grall had been the liason for
Tianocore/EDK2, so you're the one I'm sending this message towards.

The attached patch restores Tianocore/EDK2's ability to function as a
DomU bootloader on Xen.  I believe this patch though is incomplete.  In
particular I believe Dev->SharedInfo is a region marked as retained by
firmware and not to be used by the OS.  This would need to be changed to
only being used until BootServices exits.

I'm not really up for polishing the patch to get it into Tianocore/EDK2.
Problem is their style seems awful to me and I don't want to finish.
Nonetheless this seems fairly crucial as DomU bootloaders are.


-- 
(\___(\___(\______          --=> 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



--flcvX6a7KUqt5CGv
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename=0001-OvmfPkg-XenBusDxe-Unmap-shared-information-page-on-e.patch

>From 225da4bd7b73d48ae54b4bacc7ffd8596ee370fa Mon Sep 17 00:00:00 2001
Message-ID: <225da4bd7b73d48ae54b4bacc7ffd8596ee370fa.1782247458.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
Date: Wed, 4 Oct 2023 21:47:17 -0700
Subject: [PATCH] OvmfPkg/XenBusDxe: Unmap shared information page on exit

Xen/ARM now requires the shared information page to only be mapped once.
This behavior is expected to be copied to Xen/x86 at some future point.
---
 OvmfPkg/XenBusDxe/XenBusDxe.c | 33 +++++++++++++++++++++++++++++++--
 1 file changed, 31 insertions(+), 2 deletions(-)

diff --git a/OvmfPkg/XenBusDxe/XenBusDxe.c b/OvmfPkg/XenBusDxe/XenBusDxe.c
index 132f43a72b..117a299d10 100644
--- a/OvmfPkg/XenBusDxe/XenBusDxe.c
+++ b/OvmfPkg/XenBusDxe/XenBusDxe.c
@@ -83,7 +83,34 @@ XenGetSharedInfoPage (
 
   return EFI_SUCCESS;
 }
-
+
+/**
+  Map the shared_info_t page into memory.
+
+  @param Dev    A XENBUS_DEVICE instance.
+**/
+VOID
+XenClearSharedInfoPage (
+  IN OUT XENBUS_DEVICE  *Dev
+  )
+{
+  xen_remove_from_physmap_t  Parameter;
+
+  //
+  // Either never mapped, or else already cleared.  No further cleanup
+  // action required.
+  //
+  if (!Dev->SharedInfo) return;
+
+  Parameter.domid = DOMID_SELF;
+  Parameter.gpfn  = (UINTN)Dev->SharedInfo >> EFI_PAGE_SHIFT;
+  if (XenHypercallMemoryOp (XENMEM_remove_from_physmap, &Parameter) != 0)
+    return;
+
+  FreePages (Dev->SharedInfo, 1);
+  Dev->SharedInfo = NULL;
+}
+
 /**
   Unloads an image.
 
@@ -500,7 +527,9 @@ XenBusDxeDriverBindingStop (
   gBS->CloseEvent (Dev->ExitBootEvent);
   XenStoreDeinit (Dev);
   XenGrantTableDeinit (Dev);
-
+
+  XenClearSharedInfoPage(Dev);
+
   gBS->CloseProtocol (
          ControllerHandle,
          &gEfiDevicePathProtocolGuid,
-- 
2.47.3


--flcvX6a7KUqt5CGv--


From xen-devel-bounces@lists.xenproject.org Tue Jun 23 21:18:56 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Jun 2026 21:18:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344508.1603547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wc8WA-0002W6-Gm; Tue, 23 Jun 2026 21:18:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344508.1603547; Tue, 23 Jun 2026 21:18: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 1wc8WA-0002Vz-E2; Tue, 23 Jun 2026 21:18:50 +0000
Received: by outflank-mailman (input) for mailman id 1344508;
 Tue, 23 Jun 2026 21:18:49 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wc8W8-0002Vt-UQ
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 21:18:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wc8W7-00D7nY-KK
 for xen-devel@lists.xenproject.org; Tue, 23 Jun 2026 23:18:47 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3af7c8-2eae-0a2a0a5409dd-0a2a45059160-40
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 23:18:47 +0200
Received: from [74.125.224.43] (helo=mail-yx1-f43.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <freddy77@gmail.com>)
 id 6a3af836-ef3d-0a2a45050019-4a7de02bd9b1-3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 23:18:47 +0200
Received: by mail-yx1-f43.google.com with SMTP id
 956f58d0204a3-662bf1dab83so346923d50.3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 14:18: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1782249526; cv=none;
        d=google.com; s=arc-20240605;
        b=G0efw4ipINLZ4bpQU8f9GSzvmSHjX8zGo3X0D+CvAW2Pjr2cBXSXxwnR27oGBacqV7
         rk/Fbu/sv4PuNPtb9s3RRKQIdhmhZjCBiKoLzvgpSq+gJu90UXxjRVe4lyTwhBm2E0Yf
         XwP8Mmv1z7dK8slQ4JLA3VBzKIuMsb+KAvPvsPNG4BT3Gs7SZjvJi8k2nit4MJrZXkk5
         UpOmQhbMbDuQUCoh6qya5pgSGX+svy4JBZr5llRj9GriHwn1140Ip7LqELPvQjNZqMhz
         7jbuug19m98eLWKQdJDZ8qgxmBH7n2K0tVgIb/P5TCyTc1VWr8zPVtTEVU0vZCPvVRoE
         pVdg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature;
        bh=Cnc2fuoXsJcrWpZAtUBKnM72S4LMmkdFSFVFY0TpXoA=;
        fh=6TZj3pGG48U2F8n7KqE0Z4H7JONILxc7zEHghnyScxc=;
        b=kQKKtxsNGaoy/nIDlSrhenL/t5+kEVhJxZfoaGYgAE+Wz8+1HBr9SzoKtfyU4DqiDE
         WvVTBAWzGjVhI3lIe409rfti+ZtMbrn+//25jh9udJhjzYPtjsPxbRM6P6HV0dg/OLR1
         u6IBTVCALqjk5yEmH6prg04q1Kl+6nTr+mJPVWl0lW/C8eHBdkwJJHbhtZLT5dy3sgLm
         3QLJFETWjbZ6BLUDb+dHTHE4Dosp6OBme6OV3jh9E1ip/u7/KH0fwrBbFX1p/5tzmHVP
         8nQM55EilX4OMynZw8M2GVmJU9yR2PHpVbEAbHhiFgYn5fMXLIFHCvhE31X6JXeZfyuD
         yHFw==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782249526; x=1782854326; 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=Cnc2fuoXsJcrWpZAtUBKnM72S4LMmkdFSFVFY0TpXoA=;
        b=noT+fdrDu30WSGdFMt6SejcCcRME6ElRz9o1INTC01n9edn0WQf3PW9WjY9n7KO+eE
         +Hdf+3EHWP5JPv2yW/akE2hDZGq2ZdPa1VYZgD5NKbBe9NKmSuXSnozUMRr41ZeeK207
         Z3i8ZN1w8fbBCrN4fa4z7+KcFpSOztcVJPXwcGmfcloYEaeLyh8UVGlyyn6Co3wmH/EX
         UXgoBT4D9cipPZexRCf9jtcnXn0sXNYTJLRD6oD1DLTbQzUMQNjVmv1v5/STK7pyZcVU
         kCtCMZq4SrNafjDozAsKZsHBeHAgaK3ITq6Edq7d0p2jnYCAGNVqTBD4jDM+RNm+MTWu
         j9MQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782249526; x=1782854326;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Cnc2fuoXsJcrWpZAtUBKnM72S4LMmkdFSFVFY0TpXoA=;
        b=TywuTOU5UosfwT7XGpm4FDHLaWxH7cuNbAvx47ak+3bxzC+hKNIqmCSxWYd5UrQ5+3
         3haLlNLylKejN60BHvNz/k19EbcoGdO2/DYpdqvD/nco2JZYQ0Q8/P6w1NbQq6Sw/Q80
         jz7kNt37DrM6DTQAmpIauoSIbKZZrgJ2ZP+2ORt3KcR+imeyiNg88QGvcsUxsNce1oSY
         MICCVf+xAXSSvzw6m5depRyz430Q+SXPuyOutLAb9Hukp/C/V3LVi8kgA0ENAxNKEx0y
         J/7S3xk5gYBehEIoHl1YUI26MRioDT7CxEh9TFr9Ixyz6RY818jQYiGKnuIfKh0lq8T7
         S+qQ==
X-Forwarded-Encrypted: i=1; AHgh+RqyhJurq3CTmHfh5evQob+uRKY+BHkVzxoq8rJ3yhwmSmnuj5Y9+mkFKVAk/II+a7XHj4D0zzTVPiA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzM+qfZAjI9kgo2B9Qq9gyGCTxXxuOVj3ROum+XFycQD9mQBDKy
	OzN++3mXwIUrkTIj9cKpUxsAT/a2OPgiw2y3J9MzdUfQLVi3WSHADh34HxMLvCrvqtpanaifIax
	DBf1fdtamI1deRMgp1OTdQs5adfhDYgo=
X-Gm-Gg: AfdE7cmjx8ljUYAAfU65bfMggwN0CA2m6R3I3rkWuJAG9heZEUiwLViZ2eUrEPPYY69
	dzutRlwx58DAhwBrOpG3igAgPqD+nu2ZJ5TTigthU6VUY+FkficI8WUpxw5NBw0SQlO7cz0alAF
	V+b9I6SvZaivAx/dZNtYm3NYCdzX0Qdi36zAQfQJUgVd4ySGNmy5D6ql2vinhC+ULUQbEAu4hyw
	59x1YF8qetHAsxJs47W3EWOZkklfOPpPjpD7gdoz7GBhPDmsAGL3+SojMCIJSZ5tgEtcM0E7osE
	5misjpRzWEbhWcDM0CCBfns=
X-Received: by 2002:a05:690e:1287:b0:660:6199:2278 with SMTP id
 956f58d0204a3-6636e07b12cmr679601d50.0.1782249525659; Tue, 23 Jun 2026
 14:18:45 -0700 (PDT)
MIME-Version: 1.0
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
 <20260619130501.272832-13-frediano.ziglio@citrix.com> <c5f00fa4-4d9e-4227-87a0-6e657fd523e9@suse.com>
 <CAHt6W4c0FDaMZK-4-7CReG_PdV+L=HNxVGNjV5vUjDkKq3EMBA@mail.gmail.com> <2889dc4e-33ec-4d8f-b01d-026506a39cbf@suse.com>
In-Reply-To: <2889dc4e-33ec-4d8f-b01d-026506a39cbf@suse.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Tue, 23 Jun 2026 22:18:34 +0100
X-Gm-Features: AVVi8CdjT3MzD9ak5-49_5QuoAyo9bxgKfsnwOPCc8UoOYKpNnCo5p8zx9UE-ak
Message-ID: <CAHt6W4cghz1Rh=MXqmx6ZHA0iOz9xTBDNhFWaqtZ=npd4Hb=GQ@mail.gmail.com>
Subject: Re: [PATCH v6 12/16] xen: implement new foreign copy hypercall
To: Jan Beulich <jbeulich@suse.com>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, Anthony PERARD <anthony.perard@vates.tech>, 
	Juergen Gross <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
X-purgate-ID: tlsNG-c201ff/1782249527-9DFC2127-C6C8509A/0/0
X-purgate-type: clean
X-purgate-size: 16718

On Tue, 23 Jun 2026 at 14:21, Jan Beulich <jbeulich@suse.com> wrote:
>
> On 23.06.2026 12:55, Frediano Ziglio wrote:
> > On Mon, 22 Jun 2026 at 11:34, Jan Beulich <jbeulich@suse.com> wrote:
> >> On 19.06.2026 15:04, Frediano Ziglio wrote:
> >>> --- a/xen/common/memory.c
> >>> +++ b/xen/common/memory.c
> >>> @@ -1545,6 +1545,139 @@ static int acquire_resource(
> >>>      return rc;
> >>>  }
> >>>
> >>> +/*
> >>> + * The "noinline" qualifier avoids the compiler to create a large function
> >>> + * consuming quite a lot of stack.
> >>> + */
> >>> +static int noinline mem_foreigncopy(
> >>> +    XEN_GUEST_HANDLE_PARAM(xen_foreigncopy_t) arg)
> >>> +{
> >>> +    struct domain *d, *const currd = current->domain;
> >>> +    xen_foreigncopy_t copy;
> >>> +    int rc, direction;
> >>> +
> >>> +    if ( copy_from_guest(&copy, arg, 1) )
> >>> +        return -EFAULT;
> >>> +
> >>> +    if ( copy.flags & ~XENMEM_foreigncopy_direction )
> >>> +        return -EINVAL;
> >>> +
> >>> +    direction = copy.flags & XENMEM_foreigncopy_direction;
> >>> +
> >>> +    rc = rcu_lock_remote_domain_by_id(copy.domid, &d);
> >>
> >> Iirc I did ask before why this isn't ..._by_any_id().
> >
> > I probably was confused by the question about MMUEXT and the 2 domains.
> > There are different similar hypercalls (like the mentioned MMUEXT but
> > also hypercalls to map foreign domain memory) that have this check
> > (not the same domain). Any domain has, obviously, access to its own
> > memory, so it should not have to use hypercall to access its own
> > memory. If it does it looks like a mistake causing performance issues
> > or an attempt to circumvent security; in either case you would like to
> > avoid it.
>
> No. Self-grants are possible as well, for example, and for a good reason.
> Allowing normally-remote operations on oneself helps with testing, for
> example. It may also help avoid needing to special-case "self" in code
> which needs to cover both cases.
>

But this is not a grant, it's a copy.

> >>> +    if ( rc )
> >>> +        return rc;
> >>> +
> >>> +    if ( copy.nr_frames == 0 )
> >>> +    {
> >>> +        rcu_unlock_domain(d);
> >>> +        return 0;
> >>> +    }
> >>
> >> Any reason this cannot also be "goto out"? The more that now that you have
> >> moved this past the domid validity check, imo it should further move to ...
> >
> > The only reason was style and to avoid a memory copy, but it's not a
> > hot case so I'll change to "goto out" (no strong about it).
> >
> >>> +    /*
> >>> +     * Check we are allowed to map and access these foreign pages.
> >>> +     */
> >>> +    rc = xsm_map_gmfn_foreign(XSM_TARGET, currd, d);
> >>> +    if ( rc )
> >>> +        goto out;
> >>
> >> ... below here. Perhaps simply as
> >>
> >>     if ( rc || !copy.nr_frames )
> >>         goto out;
> >>
> >
> > I think this would be confusing with the above "Check we are allowed
> > to map and access these foreign pages" comment.
> > Are you okay with just the change above to "goto out" ?
>
> I do want the order adjusted as indicated. I won't insist on (but I would
> prefer) folding both if()-s.
>

What about

    /*
     * Check we are allowed to map and access these foreign pages.
     */
    rc = xsm_map_gmfn_foreign(XSM_TARGET, currd, d);
    if ( rc )
        goto out;

    while ( copy.nr_frames )
    {
        /*
         * Arbitrary size.  Not too much stack space, and a reasonable stride
         * for continuation checks.
         */


> > Also moving here would potentially change the result and do a useless check.
>
> Affecting the result is the goal of the re-ordering.
>

Changed.

> >>> +    do {
> >>> +        /*
> >>> +         * Arbitrary size.  Not too much stack space, and a reasonable stride
> >>> +         * for continuation checks.
> >>> +         */
> >>> +        xen_pfn_t gfn_list[32];
> >>> +        unsigned int todo = MIN(ARRAY_SIZE(gfn_list), copy.nr_frames);
> >>> +
> >>> +        rc = -EFAULT;
> >>> +        if ( copy_from_guest(gfn_list, copy.frame_list, todo) )
> >>> +            goto out;
> >>> +
> >>> +        for ( unsigned int i = 0; i < todo; i++ )
> >>> +        {
> >>> +            struct page_info *foreign_page;
> >>> +            mfn_t foreign_mfn;
> >>> +            void *foreign;
> >>> +            p2m_type_t p2mt;
> >>> +            const unsigned long valid_mask =
> >>> +#ifdef CONFIG_X86
> >>> +                p2m_to_mask(p2m_ram_rw) | p2m_to_mask(p2m_ram_logdirty);
> >>> +#else
> >>> +                p2m_to_mask(p2m_ram_rw);
> >>> +#endif
> >>
> >> The set of permitted types didn't change, yet a justification for the resulting
> >> limitation also didn't appear.
> >>
> >
> > Yes, that's missing, indeed.
> > Should the set of types be different for reading and writing? For
> > instance do not allow writing to read-only memory?
>
> Of course.
>
> > Given that it looks like different architectures have different
> > meanings and definitions for these constants, should it not be better
> > to define some new constants for this specific usage? For instance
> > P2M_READ_TYPES and P2M_WRITE_TYPES?
>
> Perhaps, yes. The suggested names look overly generic to me, though.
>

I suppose P2M_READABLE_TYPES and P2M_WRITABLE_TYPES are more correct
but still too generic.
P2M_EXPORTABLE_TYPES and P2M_IMPORTABLE_TYPES ?

> >>> +            foreign_page = get_page_from_gfn(d, gfn_list[i], &p2mt, P2M_ALLOC);
> >>> +
> >>> +            if ( unlikely(!(p2m_to_mask(p2mt) & valid_mask)) && foreign_page )
> >>> +            {
> >>> +                put_page(foreign_page);
> >>> +                foreign_page = NULL;
> >>> +            }
> >>> +            if ( unlikely(!foreign_page) )
> >>> +            {
> >>> +                gdprintk(XENLOG_WARNING,
> >>> +                         "Error accessing foreign gfn %" PRI_gfn "\n",
> >>> +                         gfn_list[i]);
> >>> +                rc = -EINVAL;
> >>> +                copy.nr_frames -= i;
> >>> +                guest_handle_add_offset(copy.frame_list, i);
> >>> +                goto out;
> >>> +            }
> >>> +
> >>> +            foreign_mfn = page_to_mfn(foreign_page);
> >>> +
> >>> +            /* A page is dirtied when it's being copied to. */
> >>> +            if ( direction == XENMEM_foreigncopy_to )
> >>> +                paging_mark_dirty(d, foreign_mfn);
> >>> +
> >>> +            foreign = map_domain_page(foreign_mfn);
> >>> +            if ( direction == XENMEM_foreigncopy_from )
> >>> +                rc = copy_to_guest(copy.buffer, foreign, PAGE_SIZE);
> >>> +            else
> >>> +                rc = copy_from_guest(foreign, copy.buffer, PAGE_SIZE);
> >>
> >> You cannot validly write to the page without holding a PGT_writable ref.
> >> Else you might overwrite a page table or a descriptor table in a PV guest.
> >>
> >
> > Given that this code was "inspired" by other hypercalls I'll also
> > check the other code.
> >
> >> Once again - can you please make sure you have addressed earlier review
> >> comments, before sending a new version? I did point this out before.
> >
> > Apparently not.
>
> https://lists.xen.org/archives/html/xen-devel/2026-06/msg00850.html
>

The "apparently not" is the reply to "can you please make sure you
have addressed earlier review comments, before sending a new version".

> >>> +                copy.nr_frames -= i;
> >>> +                guest_handle_add_offset(copy.frame_list, i);
> >>> +                goto out;
> >>> +            }
> >>> +
> >>> +            guest_handle_add_offset(copy.buffer, PAGE_SIZE);
> >>> +        }
> >>> +
> >>> +        copy.nr_frames -= todo;
> >>> +        guest_handle_add_offset(copy.frame_list, todo);
> >>
> >> Don't you need to also update copy.buffer?
> >
> > It's updated some lines above inside the loop.
>
> Oh, sorry. Yet then - not doing all updates together is, as you can see,
> potentially confusing.
>
> >>> @@ -2012,6 +2145,18 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
> >>>              start_extent);
> >>>          break;
> >>>
> >>> +    case XENMEM_foreigncopy:
> >>> +        /*
> >>> +         * Instead of using "start_extent" we update the structure back,
> >>> +         * we update it back in anyway to tell caller were the copy
> >>> +         * stopped.
> >>> +         */
> >>> +        if ( unlikely(start_extent) )
> >>> +            return -EINVAL;
> >>
> >> As before - please be precise with comments like this. We update it back also
> >> when encoding a continuation. Perhaps instead "..., to indicate the point of
> >> failure to the caller as well as to encode continuations without being
> >> constrained by MEMOP_EXTENT_SHIFT".
> >>
> >
> > What about (trying to include your suggestion, to be fixed for line length):
> >
> >         /*
> >          * Instead of using "start_extent" for the continuation, we
> > update the structure back,
> >          * we update the xen_foreigncopy structure back, so we are not
> > constrained
> >          * by MEMOP_EXTENT_SHIFT.
> >          * We copy it back also to tell the caller where the copy stopped.
> >          */
>
> One of the things I take issue with (because it's hard to read that way,
> at least for me) is the repeated use of "update ... back", effectively
> saying the same things twice. The last sentence also wants disambiguating
> towards the "stopped" possibly being a non-error situation as well.
>

Changed to

        /*
         * Instead of using "start_extent" for the continuation, we update
         * the xen_foreigncopy structure back, so we are not constrained by
         * MEMOP_EXTENT_SHIFT.
         * We copy it back also to tell the caller where the copy stopped
         * (either for error or because all frames were copied).
         */

> >>> --- a/xen/include/public/memory.h
> >>> +++ b/xen/include/public/memory.h
> >>> @@ -740,7 +740,49 @@ struct xen_vnuma_topology_info {
> >>>  typedef struct xen_vnuma_topology_info xen_vnuma_topology_info_t;
> >>>  DEFINE_XEN_GUEST_HANDLE(xen_vnuma_topology_info_t);
> >>>
> >>> -/* Next available subop number is 29 */
> >>> +/*
> >>> + * Copy memory from/to a given domain.
> >>> + * As this call requires target access and guest with target access won't be
> >>> + * compat guests supported for compat guests this is not implemented.
> >>
> >> As before - I question this. You simply can't know. (I'm also struggling with
> >> wording / grammar.)
> >
> > I was trying to code the compatibility layer. Is there a way to have
> > 64 bit PFN even for compatibility guests instead of having to limit
> > and convert PFN numbers?
>
> compat_pfn_t is a typedef of unsigned int (since a 32-bit guest seeing
> "typedef unsigned long xen_pfn_t;" results in xen_pfn_t being a 32-bit
> quantity for it), so 32-bit guests can only supply 32-bit frame numbers.
> There's also no value in trying to be clever and using uint64_t instead
> for the frame_list handle, as 32-bit guests won't ever own pages with
> MFNs wider than 32 bits.
>

They don't need to own such pages. But probably they would also need
other hypercalls to support larger frame numbers. To be honest you
just point out a reason to not support this for compatible guests.

> >>> + */
> >>> +#define XENMEM_foreigncopy 29
> >>> +struct xen_foreigncopy {
> >>> +    /* IN - The domain whose memory is to be copied. */
> >>> +    domid_t domid;
> >>> +
> >>> +    /* IN - Flags. */
> >>> +#define XENMEM_foreigncopy_from 0
> >>> +#define XENMEM_foreigncopy_to 1
> >>> +#define XENMEM_foreigncopy_direction 1
> >>> +    uint16_t flags;
> >>> +
> >>> +    /*
> >>> +     * IN/OUT
> >>> +     *
> >>> +     * As an IN parameter number of frames of the domain to be copied.
> >>> +     * On output on error updated number of frames left.
> >>> +     */
> >>> +    uint32_t nr_frames;
> >>> +
> >>> +    /*
> >>> +     * IN/OUT
> >>> +     *
> >>> +     * Frames to be copied.
> >>> +     * On output on error updated to point to first frame unhandled.
> >>
> >> Is "on error" really correct / meaningful? The field can be updated at
> >> any intermediate point, when a continuation is scheduled. Perhaps:
> >>
> >>      * On output:
> >>      *  - on error updated to point to first frame which couldn't be handled,
> >>      *  - on success undefined.
> >>
> >> Along these lines for nr_frames then as well (if needed at all, seeing
> >> that it could as well be undefined in both cases, as the information is
> >> redundant with the frame_list update).
> >>
> >>> +     */
> >>> +    XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
> >>> +
> >>> +    /*
> >>> +     * IN/OUT
> >>> +     *
> >>> +     * Userspace buffer to read/write from.
> >>
> >> s/Userspace/Guest/ ?
> >>
> >> Also still no mention of when / how this field is updated.
> >>
> >
> > What about:
> >
> > /*
> >  * Copy memory from/to a given domain.
> >  */
> > #define XENMEM_foreigncopy 29
> > struct xen_foreigncopy {
> >     /* IN - The domain whose memory is to be copied. */
> >     domid_t domid;
> >
> >     /* IN - Flags. */
> > #define XENMEM_foreigncopy_from 0
> > #define XENMEM_foreigncopy_to 1
> > #define XENMEM_foreigncopy_direction 1
> >     uint16_t flags;
> >
> >     /*
> >      * IN/OUT
> >      *
> >      * As an IN parameter number of frames of the domain to be copied.
> >      * On output updated number of frames left (0 if success).
> >      */
> >     uint32_t nr_frames;
> >
> >     /*
> >      * IN/OUT
> >      *
> >      * Frames to be copied.
> >      * On output updated to point to the first frame unhandled.
>
> There may be no such frame, so at the very least add "..., if any"?
>

Added.

> >      */
> >     XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
> >
> >     /*
> >      * IN/OUT
> >      *
> >      * Guest buffer to read/write from.
> >      * On output updated to point to the first frame unhandled.
>
> There's no frame here, as long as you don't switch to using two frame
> lists (for source and destination).
>

Changed to

    /*
     * IN/OUT
     *
     * Guest buffer to read/write from.
     * On output updated to point to the first page pointer unhandled.
     */

> >      */
> >     XEN_GUEST_HANDLE(uint8) buffer;
> > };
> > typedef struct xen_foreigncopy xen_foreigncopy_t;
> > DEFINE_XEN_GUEST_HANDLE(xen_foreigncopy_t);
> >
> >>> +     */
> >>> +    XEN_GUEST_HANDLE(uint8) buffer;
> >>> +};
> >>
> >> What was (again) left unaddressed is the question towards using GFNs on both
> >> sides of the copy. This would eliminate the need for the flags field, taken
> >> by a 2nd domid_t one then.
> >>
> >
> > This was addressed in
> > https://lists.xenproject.org/archives/html/xen-devel/2026-06/msg00567.html
>
> Well, yes, but not in a satisfactory way. Back channels tell me that you
> actually got the same feedback already on internal review. Which makes it
> all the more puzzling that you insist on doing it differently. Multiple
> maintainers asking for the same thing may be an indication of something.
>

Not needing to have backchannel feedback, I already wrote that a
similar approach was tried and made the code more complicated.
Both maintainers didn't comment on my replies so I assume they were
fine with it.
And you are failing to provide positive feedback.
I asked (that one internally) for examples of guest buffers provided
as frame numbers but I got no answer (or better the answer was more
"currently there are not").
Also note that the location of xen_foreigncopy_t structure is also
provided using a guest pointer.
I remember there were some discussions about ABI changes (2/3 years
ago) to address this and other issues but I cannot see much progress.
That's why I say this is out of scope.

> > and in minor way by
> > https://lists.xenproject.org/archives/html/xen-devel/2026-06/msg00847.html.
> > It was considered but more complicated and worse from a performance perspective.
>
> Okay, performance-wise worse would of course be relevant. But that would
> need supporting by numbers (for both PV and PVH Dom0, as the latter
> incurs extra overhead for virtual-address-based hypercall buffer operands).
>

I'm more concerned about the PV case than PVH to be honest.

I was having an idea about solving the pointer/frames issue but, as I
said, it's out of scope here.

> Jan

Frediano


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 00:31:48 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 00:31:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344534.1603578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcBWd-0004Jv-Bh; Wed, 24 Jun 2026 00:31:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344534.1603578; Wed, 24 Jun 2026 00: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 1wcBWd-0004Jo-6h; Wed, 24 Jun 2026 00:31:31 +0000
Received: by outflank-mailman (input) for mailman id 1344534;
 Wed, 24 Jun 2026 00:31:29 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <marmarek@invisiblethingslab.com>) id 1wcBWa-0004Je-Sv
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 00:31:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcBWY-00Brc9-JS
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 02:31:27 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a3b253e-2eae-0a2a0a5409dd-0a2a4502eb7a-14
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 02:31:26 +0200
Received: from [202.12.124.153] (helo=fhigh-b2-smtp.messagingengine.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a3b255c-fdf1-0a2a45020019-ca0c7c99b825-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 02:31:25 +0200
Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45])
 by mailfhigh.stl.internal (Postfix) with ESMTP id DFEBB7A0138;
 Tue, 23 Jun 2026 20:31:23 -0400 (EDT)
Received: from phl-frontend-04 ([10.202.2.163])
 by phl-compute-05.internal (MEProxy); Tue, 23 Jun 2026 20:31:23 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 23 Jun 2026 20:31: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=1782261083;
	 x=1782347483; bh=hEcx3YhDX7gRkr1bi4FW6e+w10i75bwc8tAPFAFDAIQ=; b=
	QiQ0RqaTSBryTtoo73R+GcMoai1qwn0RS1HgR3KCAyXAq8r9oq7i/K6YcliSl7hm
	KUZxim1MQfP3dEV14+ryrv/l9fApRwgfcte+fC17663VCwkZEXtat9QGqe3pkuBN
	YkDRe/DoHFyz3ZDiBIx/RFNKLQzNmYlPaXOC+U0ta9fHKLWcbU8EXSwejYQw0YjZ
	JWO0S95dKH5uWIDjbT3i9oa5rhseuu4lPLAHGgRfIshjMwuZdiwRsh22eUwHShCk
	FTCR+gf4oMURMgZD2InzLrCMEvZjOBtdNz4yUSkJEzfzMve/71gEGeyevaDPNfQh
	Ihv9SyGQi/DfLGrkkM1FQA==
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=
	1782261083; x=1782347483; bh=hEcx3YhDX7gRkr1bi4FW6e+w10i75bwc8tA
	PFAFDAIQ=; b=NECrRj/AkN5ZazchGbswckN19CKoU3zZ6/BmqVpVUF1tmdD53TU
	HcUleRmFEf8t7OdUhN7ecq7vh+gr7mABoM6FvOH/7CwgojezKPdAahLSW0K3udI1
	zwq5+YiwCh9gzT7M8MnXs/9a9v98B6kSGkO0WNlMpgHy/HgAcmnSxkllwSH2rfhM
	5fl+EjfImVicL54s81c5zSknoIkTfokBLwtVSINayaPu+POtfdKrWj7z2VyVfzDL
	VhiLKT2QjXpUrxLCjkUlGCCCN2eOYFgvD9tVIsJuUbLu+GLJxf3KhqCZ1FRPidIb
	lDVTyL9qttU1EpB2GbjiaC788Ba1tyqz0xA==
X-ME-Sender: <xms:WyU7auZK9gg8RlLmqXmtqGbqNZXzJzpLMvL5xmREy8-1G5fpH-cFmg>
    <xme:WyU7anYnxHCdAvkA6nwB24dZn9n74UeuTHHa5-9TOLXtwNd8MqThnsYkmf_4BrDxu
    nKbfmuime-KHPUL9BesDLDf-nAtPM5y5iVfbUnyzAHiFwNnPw>
X-ME-Received: <xmr:WyU7amnHCSh3BpX62r26lo-pY7PJbkgZR6x0XZSiXQ5mkMSPnA0FPIigIRMFx2fQqd1TwS1DzCrcrdji_hwLocz5H-c5h165xW8>
X-ME-Proxy-Cause: dmFkZTFutc/TBbgcfvlUGF+8aFvqW8AKyRQxdE7ZBxFYDE2Ec4ToDqqZ8HIb+F5z7KrQTA
    zi9+aWK62hs/qVC2FJQL7NCPZjZfeQxb8K0nwc91PX7+0w3p5jzdkcvIg+JBlXwhWWikxd
    fNin/5Mx+CaDP3kYK0eMXwn6ogQ0qSyHiteMbpiA7uVVOzi0oyZho6+bx5p+Km0MTDrN/7
    oV4KGI1Q9vZOkcZAm2e28eV1db1d3n4YgJs34UW+IhdNKCKJ7dOZhAnFmDykdC0RNXL0XY
    8FNFPWKU2Szj2fqJKxxaIk27nCGg2nwALDAHJQZMVxOwkt2KYHAvv4OAUhPrvgLTxgdAHW
    tIY8lSoTCHlrskzoGFckeal4JCIc/xwwX7RIsHXnuU4wULUMG0PqYu3WY20PK3JnOCBvW1
    Jrj3ueZbzRmidDdzOJI+Lgw7fm8mAEiDfEq6KWj8pfuXwBvrIwDcIW9V0Qe739yTrg5a3c
    08ezHEk8ex8Ds5Bqxo/KDZBQ5TUHoIqjzemERmgi7U8ZcVOgGQSzUoms3LsbgNdIlU15+Q
    NglYn3XJtPyyhLsz10jfqMH26ZYh+jNAMTH0iI+VU+L9+xH9FjNqb+9QP9l0DFgpl+Vomq
    cDkcr/mI4vXbMcrhbnnJyAkul8m0lJ9WlAc7i/O95qyq76gnNzkayeYuABjQ
X-ME-Proxy: <xmx:WyU7aryG-N-tCijK4Q2j9sh5bYBg0g7eqPGvUWIMoNMlfs4byDZ24A>
    <xmx:WyU7asPD9MwlrEMi1jDnzFA3zCPz4aY3ZeexVFg7X-m_Ex0-yw8seA>
    <xmx:WyU7anR3dFuqAxuCsZHaVUzR-cQn9e4ltbfJ3PTx2QwtQ8SLz1oeyA>
    <xmx:WyU7aibHbSYt-lqyuCxgqXURWxa9pWBoAoGePhdhRz8qi-6YmOu-ig>
    <xmx:WyU7auuYGxTQKPPB-vMd99m_DKJxo71ZhYE4Hk-BemFYybW-giyxBviY>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 24 Jun 2026 02:31:20 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: Linux dom0 hangs on boot with Xen 4.22 and Heads firmware
Message-ID: <ajslWA63ZdPhfYvw@mail-itl>
References: <ajVUS5F9G4Jse20i@mail-itl>
 <a6b83fc1-aa98-4b45-ab7f-503715861a7d@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="jMAIu2igKRfDROZy"
Content-Disposition: inline
In-Reply-To: <a6b83fc1-aa98-4b45-ab7f-503715861a7d@suse.com>
X-purgate-ID: tlsNG-720697/1782261086-4566B3F3-CE9BEC9F/0/0
X-purgate-type: clean
X-purgate-size: 8442


--jMAIu2igKRfDROZy
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 24 Jun 2026 02:31:20 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: Linux dom0 hangs on boot with Xen 4.22 and Heads firmware

On Mon, Jun 22, 2026 at 10:53:01AM +0200, Jan Beulich wrote:
> On 19.06.2026 16:38, Marek Marczykowski-G=C3=B3recki wrote:
> > After updating Xen to 4.22-rc2 on a system with Heads firmware, dom0
> > doesn't start anymore. It worked fine with Xen 4.19.
> > The last messages on console are:
> >=20
> >     [    1.495140] installing Xen timer for CPU 2
> >     [    1.496149] installing Xen timer for CPU 4
> >     [    1.496587] installing Xen timer for CPU 5
> >     [    1.496809] installing Xen timer for CPU 7
> >     [    0.008235] [Firmware Bug]: CPU   2: APIC ID mismatch. CPUID: 0x=
0002 APIC: 0x0028
> >     [    0.008235] [Firmware Bug]: CPU   2: APIC ID mismatch. Firmware:=
 0x0011 APIC: 0x0028
> >     [    1.497055] cpu 2 spinlock event irq 200
> >     [    0.008235] [Firmware Bug]: CPU   4: APIC ID mismatch. CPUID: 0x=
0004 APIC: 0x0000
> >     [    0.008235] [Firmware Bug]: CPU   4: APIC ID mismatch. Firmware:=
 0x0019 APIC: 0x0000
> >     [    1.497074] cpu 4 spinlock event irq 201
> >     [    0.008235] [Firmware Bug]: CPU   5: APIC ID mismatch. CPUID: 0x=
0005 APIC: 0x0002
> >     [    0.008235] [Firmware Bug]: CPU   5: APIC ID mismatch. Firmware:=
 0x0021 APIC: 0x0002
> >     [    1.497074] cpu 5 spinlock event irq 202
> >     [    0.008235] [Firmware Bug]: CPU   7: APIC I
> >=20
> > Full console log (containing both successful boot of Xen 4.19, and then
> > reboot into 4.22):
> > https://openqa.qubes-os.org/tests/184780/logfile?filename=3Dserial0.txt
>=20
> The 4.19 log also has an anomaly around this point in time. Can you try
> again with sync_console added to both the 4.19 and the 4.22 attempt?

Yes, sync_console helped quite a bit, now I get full dom0 panic message:

    [   10.334800] vesafb: cannot reserve video memory at 0x0
    [   10.340009] vesafb: mode is 0x0x0, linelength=3D0, pages=3D0
    [   10.345515] Oops: divide error: 0000 [#1] SMP NOPTI
    [   10.346503] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.17.9-=
1.qubes.fc41.x86_64 #1 PREEMPT(full)=20
    [   10.346503] Hardware name: Notebook V54x_6x_TU/V54x_6x_TU, BIOS Dash=
aro (coreboot+heads) v0.9.0 01/01/1970
    [   10.346503] RIP: e030:vesafb_probe.cold+0xd4/0x5fb
    [   10.346503] Code: 08 75 1f 83 3d a8 8c 1d 02 00 75 16 48 c7 c7 90 4a=
 fd 81 e8 8a ef f9 ff c7 05 d4 54 09 02 05 00 00 00 8b 05 c2 54 09 02 31 d2=
 <f7> 35 d2 54 09 02 8b 15 fc 54 09 02 48 89 c1 48 c1 e1 20 48 09 ca
    [   10.346503] RSP: e02b:ffffc9004001fbb8 EFLAGS: 00010246
    [   10.346503] RAX: 0000000000000000 RBX: ffff888101d86f28 RCX: fffffff=
f823666e8
    [   10.346503] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000=
000000003
    [   10.346503] RBP: ffff88810197d400 R08: 0000000000000000 R09: 6c656e6=
96c202c30
    [   10.346503] R10: 0000000000000030 R11: 203a626661736576 R12: 0000000=
000000000
    [   10.346503] R13: 0000000000000000 R14: 0000000000000000 R15: ffff888=
106351000
    [   10.346503] FS:  0000000000000000(0000) GS:ffff888cef7c1000(0000) kn=
lGS:0000000000000000
    [   10.346503] CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
    [   10.346503] CR2: ffffc900064ff000 CR3: 000000000222c000 CR4: 0000000=
000050660
    [   10.346503] Call Trace:
    [   10.346503]  <TASK>
    [   10.346503]  ? __pfx___device_attach_driver+0x10/0x10
    [   10.346503]  platform_probe+0x39/0x70
    [   10.346503]  really_probe+0xdb/0x340
    [   10.346503]  ? pm_runtime_barrier+0x54/0x90
    [   10.346503]  __driver_probe_device+0x78/0x110
    [   10.346503]  driver_probe_device+0x1f/0xa0
    [   10.346503]  __device_attach_driver+0x89/0x110
    [   10.346503]  bus_for_each_drv+0x94/0xf0
    [   10.346503]  __device_attach+0xaf/0x1b0
    [   10.346503]  bus_probe_device+0x8d/0xa0
    [   10.346503]  device_add+0x508/0x710
    [   10.346503]  platform_device_add+0xed/0x250
    [   10.346503]  sysfb_init+0x283/0x320
    [   10.346503]  ? __pfx_sysfb_init+0x10/0x10
    [   10.346503]  do_one_initcall+0x57/0x310
    [   10.346503]  do_initcalls+0x1ef/0x240
    [   10.346503]  kernel_init_freeable+0x187/0x210
    [   10.346503]  ? __pfx_kernel_init+0x10/0x10
    [   10.346503]  kernel_init+0x1a/0x140
    [   10.346503]  ret_from_fork+0xf2/0x110
    [   10.346503]  ? __pfx_kernel_init+0x10/0x10
    [   10.346503]  ret_from_fork_asm+0x1a/0x30
    [   10.346503]  </TASK>
    [   10.346503] Modules linked in:
    [   10.559786] ---[ end trace 0000000000000000 ]---
    [   10.564581] RIP: e030:vesafb_probe.cold+0xd4/0x5fb
    [   10.569546] Code: 08 75 1f 83 3d a8 8c 1d 02 00 75 16 48 c7 c7 90 4a=
 fd 81 e8 8a ef f9 ff c7 05 d4 54 09 02 05 00 00 00 8b 05 c2 54 09 02 31 d2=
 <f7> 35 d2 54 09 02 8b 15 fc 54 09 02 48 89 c1 48 c1 e1 20 48 09 ca
    [   10.588833] RSP: e02b:ffffc9004001fbb8 EFLAGS: 00010246
    [   10.594255] RAX: 0000000000000000 RBX: ffff888101d86f28 RCX: fffffff=
f823666e8
    [   10.601622] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000=
000000003
    [   10.609000] RBP: ffff88810197d400 R08: 0000000000000000 R09: 6c656e6=
96c202c30
    [   10.616378] R10: 0000000000000030 R11: 203a626661736576 R12: 0000000=
000000000
    [   10.623755] R13: 0000000000000000 R14: 0000000000000000 R15: ffff888=
106351000
    [   10.631136] FS:  0000000000000000(0000) GS:ffff888cef7c1000(0000) kn=
lGS:0000000000000000
    [   10.639483] CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
    [   10.645434] CR2: ffffc900064ff000 CR3: 000000000222c000 CR4: 0000000=
000050660
    [   10.652817] Kernel panic - not syncing: Fatal exception
    [   10.653803] Kernel Offset: disabled
    (XEN) Hardware Dom0 crashed: 'noreboot' set - not rebooting.

>=20
> > It doesn't reach loading graphics driver in dom0, so I don't have
> > anything interesting on VGA (the last output is about the kexec call
> > done by Heads). But at least I have a serial console.
>=20
> Yet interestingly Xen's "  VGA is ... mode ..." lines differ as well.

This might be relevant given the above.

> That may be a separate issue. Or maybe that's how one of the EFI changes
> that were done a while ago actually surfaces?

But this isn't booting via EFI... Heads is coreboot + Linux payload and
it uses kexec to boot Xen (via multiboot2 entry point).

> Another difference is
>=20
> (XEN) HWP: Using HWP for cpufreq
>=20
> in the 4.19 log vs
>=20
> (XEN) HPET: 8 timers usable for broadcast (8 total)
>=20
> in the 4.22 one. Does the latter perhaps go away if you include [1] in
> the build?

Yes

>=20
> For the HWP driver do you perhaps have a patch in 4.19 to default-enable
> it, but you don't have a similar patch in 4.22?=20

Hm, I do have that patch in 4.22 too, but maybe I failed at rebase...

> If so, to compare apples
> to apples the driver wants enabling/disabling consistently (via command
> line option) for both runs.

Since here booting just dom0 is enough, I don't need any of the qubes
patches. So, now I tested vanilla 4.19 vs staging - both console logs at:
https://gist.github.com/marmarek/e017f0a9ad3cc6ab2bac8849492c41a9

> And then "mwait-idle: lapic_timer_reliable_states ..." differ as well.
>=20
> Jan
>=20
> [1] https://lists.xen.org/archives/html/xen-devel/2026-04/msg00200.html

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

--jMAIu2igKRfDROZy
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmo7JVgACgkQ24/THMrX
1yzMJgf/UJ4CoaGNvX9Nm55jQLFIshiIvlV6obLQILxlqKwAd28vJevUyt8Ja2u9
K3reQAG4F7km+r/PBiVTXUTzM4w8S22c5sPuAUV0Hm0f9SdrUHNbab+k+yx6xCG2
tGNGyvz4AIghLBvoi64keTzt+Bh3jRxukue8fDBTaaEPcir9kG3DFMyq23GVei8S
+/Ttu4yeKC3jbJRjGA/hN8s2e5gtd9Tiu3sc26//YL3v9KxmDGxE3fh9OhGexrRc
du9ZgWpLzuPkJmrpIiyqBMLf9N+RFeN/u3CfFXIrO0QDaYXpgkQgbA1ypB95b4dH
P0K2EbH5SWqysI6iG5BtcMuhCVSu3Q==
=nKsO
-----END PGP SIGNATURE-----

--jMAIu2igKRfDROZy--


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 06:45:03 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 06:45:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344553.1603605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcHLw-00065a-WF; Wed, 24 Jun 2026 06:44:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344553.1603605; Wed, 24 Jun 2026 06:44: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 1wcHLw-00065T-Tc; Wed, 24 Jun 2026 06:44:52 +0000
Received: by outflank-mailman (input) for mailman id 1344553;
 Wed, 24 Jun 2026 06:44:52 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcHLv-00065L-Vq
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 06:44:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcHLs-009Wgj-GJ
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 08:44:48 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3b7cd6-5cb7-0a2a0a5109dd-0a2a450ae182-34
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 08:44:48 +0200
Received: from [209.85.221.50] (helo=mail-wr1-f50.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3b7ce0-93a5-0a2a450a0019-d155dd32c11d-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 08:44:48 +0200
Received: by mail-wr1-f50.google.com with SMTP id
 ffacd0b85a97d-4626fdc829aso496996f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 23:44: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-49260915286sm70579345e9.1.2026.06.23.23.44.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Jun 2026 23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782283487; x=1782888287; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=mxfCCIZ/THxTD8rvCfXotWcbwolqfXw8Vyl6IjXbpA0=;
        b=gVBNTq83jxBfqMSSyXbXttsOFB15isJ6A92zEl0yQ6vZVjnBwKA8XNKL6sBexXjwvH
         ZwsXZnKpe9XrNgHEZ5YLc/qZ+wlXuzuREEfHcRQqt+k5DC3FOE/+b3+AhZA9sdHJ8JFJ
         CXjgMgR9kQO13Sn8sT/T1NdAqsth+2t4weHItk4Xp4l9fXGpwZkj2v83HQ6I13ba52Ln
         IFU7kv3dX6or1Px/J6QTt1Rimoj9NevawTpHNICR+SBjzA9P9wTc7zL98ZaZMhDwjO5D
         jqBNzxJ+5l64EXx7ztKdEP4LCQdzyLjV+3Qv+4qhwudA5DLvh9lXamf3Vosb9bgTY8Jb
         iH6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782283487; x=1782888287;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mxfCCIZ/THxTD8rvCfXotWcbwolqfXw8Vyl6IjXbpA0=;
        b=n8bvQVofNVrq8jHgNKel2N2PyR5uevPySv4mk9HHUIbi0w9Wc2TvBmWLOCNSXlhsJC
         /MynU2woBO/XXyuTDPlF1NvBFrA68jMREbJPtMVR4Q07kvyjuCCq/dSMM77sohGa8Vg5
         oI+M/96gJVSG7f01yCuJxwqKeqIO7QEaQbWYFrzJ5BdQiI+zK4pyW93a/keq61q0RsOf
         N75xaUnq+r8dWt7Llmcafe0GYKszIhvx8iu2dWZfXGIJMrO8CQhqLibYUucCqhgIYexd
         4c3+dki05Vl3ZY3syLTZ+TxCwxP0OQEPJY179RrDTAIXhYAh9JNX623x3o6c6G0fiHkl
         MUHA==
X-Forwarded-Encrypted: i=1; AFNElJ/1ABSzQLvnv6Rn4615ydJmo2ozoNRRGi+C1eWZ/wO0tFE5NKj8wPhCXrFr9dEqGzOpJL7vG9eRraw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzq4tCexZN8qgbXHQ1Bb7+tfB86T1pL5cxfV4LDjNdXCZ8jGVsQ
	o6gb64F6RagR5nqdCiY+mWuER1YtrWu8ikq6NHU5sn59mAtRYp9Jfran1pWuICvDXw==
X-Gm-Gg: AfdE7clkJyhxabl54wj7EjVhc3emyuWlx+TGiaVWxWvU9QSlUEj1AZjOt83YWK4oC5z
	4KFMAH+iu2I2ylyWRiU4Y12KVKkb69tFvLMlIC059yP/6hTr5YzXwJ3uobvCE/n3Kr69haKLob2
	gOKxk2pJaINB4C/QpDaB6ZHeyt4aP/z2zQOkeSRK9EaV3wgGJslkkfUeN08EE/yE3eckl5PlBsK
	Ue+a49J/Bp8ctiEgjWQ9upoCjenQ/eSYHIUU5AbJMaPC1CRuIAIhbGdiB2T5YWtAmenkE8L5XJp
	JNfG1inQmJv1lByrA9F7ApNEuRt1cbnFzADskcv3+rY67WxUntTXs/IrWKZdqtJ9QXGEBxze3w0
	Q5ocC1Xsi8lfnkH9OtquxM+mXi6PLNOiFE9s9a2aSRvG5P9SWQJfzwp168bwe8PjJVa//xeu6KI
	b2KzRkw+HJTfYlhk3iLS7GlzVz0OF/ZDVQMAwJVH2k8DhavBdj+svSshTmsZvHYGiyioBte9dVd
	seF
X-Received: by 2002:a05:600c:1d0a:b0:492:409d:b7c3 with SMTP id 5b1f17b1804b1-4925b359fc2mr86477655e9.13.1782283487550;
        Tue, 23 Jun 2026 23:44:47 -0700 (PDT)
Message-ID: <07b3bbb6-ef62-419c-b708-1b9ae2774462@suse.com>
Date: Wed, 24 Jun 2026 08:44:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 12/16] xen: implement new foreign copy hypercall
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
 <20260619130501.272832-13-frediano.ziglio@citrix.com>
 <c5f00fa4-4d9e-4227-87a0-6e657fd523e9@suse.com>
 <CAHt6W4c0FDaMZK-4-7CReG_PdV+L=HNxVGNjV5vUjDkKq3EMBA@mail.gmail.com>
 <2889dc4e-33ec-4d8f-b01d-026506a39cbf@suse.com>
 <CAHt6W4cghz1Rh=MXqmx6ZHA0iOz9xTBDNhFWaqtZ=npd4Hb=GQ@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: <CAHt6W4cghz1Rh=MXqmx6ZHA0iOz9xTBDNhFWaqtZ=npd4Hb=GQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-4011c0/1782283488-2D7F1DB8-4081C95A/0/0
X-purgate-type: clean
X-purgate-size: 10690

On 23.06.2026 23:18, Frediano Ziglio wrote:
> On Tue, 23 Jun 2026 at 14:21, Jan Beulich <jbeulich@suse.com> wrote:
>> On 23.06.2026 12:55, Frediano Ziglio wrote:
>>> On Mon, 22 Jun 2026 at 11:34, Jan Beulich <jbeulich@suse.com> wrote:
>>>> On 19.06.2026 15:04, Frediano Ziglio wrote:
>>>>> --- a/xen/common/memory.c
>>>>> +++ b/xen/common/memory.c
>>>>> @@ -1545,6 +1545,139 @@ static int acquire_resource(
>>>>>      return rc;
>>>>>  }
>>>>>
>>>>> +/*
>>>>> + * The "noinline" qualifier avoids the compiler to create a large function
>>>>> + * consuming quite a lot of stack.
>>>>> + */
>>>>> +static int noinline mem_foreigncopy(
>>>>> +    XEN_GUEST_HANDLE_PARAM(xen_foreigncopy_t) arg)
>>>>> +{
>>>>> +    struct domain *d, *const currd = current->domain;
>>>>> +    xen_foreigncopy_t copy;
>>>>> +    int rc, direction;
>>>>> +
>>>>> +    if ( copy_from_guest(&copy, arg, 1) )
>>>>> +        return -EFAULT;
>>>>> +
>>>>> +    if ( copy.flags & ~XENMEM_foreigncopy_direction )
>>>>> +        return -EINVAL;
>>>>> +
>>>>> +    direction = copy.flags & XENMEM_foreigncopy_direction;
>>>>> +
>>>>> +    rc = rcu_lock_remote_domain_by_id(copy.domid, &d);
>>>>
>>>> Iirc I did ask before why this isn't ..._by_any_id().
>>>
>>> I probably was confused by the question about MMUEXT and the 2 domains.
>>> There are different similar hypercalls (like the mentioned MMUEXT but
>>> also hypercalls to map foreign domain memory) that have this check
>>> (not the same domain). Any domain has, obviously, access to its own
>>> memory, so it should not have to use hypercall to access its own
>>> memory. If it does it looks like a mistake causing performance issues
>>> or an attempt to circumvent security; in either case you would like to
>>> avoid it.
>>
>> No. Self-grants are possible as well, for example, and for a good reason.
>> Allowing normally-remote operations on oneself helps with testing, for
>> example. It may also help avoid needing to special-case "self" in code
>> which needs to cover both cases.
> 
> But this is not a grant, it's a copy.

Sure, but the underlying principle is what matters. Plus you don't prevent
self-copy by using ..._by_id(), you only preclude the use of DOMID_SELF.

>>>>> +    if ( rc )
>>>>> +        return rc;
>>>>> +
>>>>> +    if ( copy.nr_frames == 0 )
>>>>> +    {
>>>>> +        rcu_unlock_domain(d);
>>>>> +        return 0;
>>>>> +    }
>>>>
>>>> Any reason this cannot also be "goto out"? The more that now that you have
>>>> moved this past the domid validity check, imo it should further move to ...
>>>
>>> The only reason was style and to avoid a memory copy, but it's not a
>>> hot case so I'll change to "goto out" (no strong about it).
>>>
>>>>> +    /*
>>>>> +     * Check we are allowed to map and access these foreign pages.
>>>>> +     */
>>>>> +    rc = xsm_map_gmfn_foreign(XSM_TARGET, currd, d);
>>>>> +    if ( rc )
>>>>> +        goto out;
>>>>
>>>> ... below here. Perhaps simply as
>>>>
>>>>     if ( rc || !copy.nr_frames )
>>>>         goto out;
>>>>
>>>
>>> I think this would be confusing with the above "Check we are allowed
>>> to map and access these foreign pages" comment.
>>> Are you okay with just the change above to "goto out" ?
>>
>> I do want the order adjusted as indicated. I won't insist on (but I would
>> prefer) folding both if()-s.
>>
> 
> What about
> 
>     /*
>      * Check we are allowed to map and access these foreign pages.
>      */
>     rc = xsm_map_gmfn_foreign(XSM_TARGET, currd, d);
>     if ( rc )
>         goto out;
> 
>     while ( copy.nr_frames )
>     {
>         /*
>          * Arbitrary size.  Not too much stack space, and a reasonable stride
>          * for continuation checks.
>          */

That's fine.

>>>>> +    do {
>>>>> +        /*
>>>>> +         * Arbitrary size.  Not too much stack space, and a reasonable stride
>>>>> +         * for continuation checks.
>>>>> +         */
>>>>> +        xen_pfn_t gfn_list[32];
>>>>> +        unsigned int todo = MIN(ARRAY_SIZE(gfn_list), copy.nr_frames);
>>>>> +
>>>>> +        rc = -EFAULT;
>>>>> +        if ( copy_from_guest(gfn_list, copy.frame_list, todo) )
>>>>> +            goto out;
>>>>> +
>>>>> +        for ( unsigned int i = 0; i < todo; i++ )
>>>>> +        {
>>>>> +            struct page_info *foreign_page;
>>>>> +            mfn_t foreign_mfn;
>>>>> +            void *foreign;
>>>>> +            p2m_type_t p2mt;
>>>>> +            const unsigned long valid_mask =
>>>>> +#ifdef CONFIG_X86
>>>>> +                p2m_to_mask(p2m_ram_rw) | p2m_to_mask(p2m_ram_logdirty);
>>>>> +#else
>>>>> +                p2m_to_mask(p2m_ram_rw);
>>>>> +#endif
>>>>
>>>> The set of permitted types didn't change, yet a justification for the resulting
>>>> limitation also didn't appear.
>>>>
>>>
>>> Yes, that's missing, indeed.
>>> Should the set of types be different for reading and writing? For
>>> instance do not allow writing to read-only memory?
>>
>> Of course.
>>
>>> Given that it looks like different architectures have different
>>> meanings and definitions for these constants, should it not be better
>>> to define some new constants for this specific usage? For instance
>>> P2M_READ_TYPES and P2M_WRITE_TYPES?
>>
>> Perhaps, yes. The suggested names look overly generic to me, though.
> 
> I suppose P2M_READABLE_TYPES and P2M_WRITABLE_TYPES are more correct
> but still too generic.
> P2M_EXPORTABLE_TYPES and P2M_IMPORTABLE_TYPES ?

First: Do you foresee uses of those constants anywhere else? If not (I
don't), tie the names to this particular operation. That'll make them
entirely non-generic.

>>>>> @@ -2012,6 +2145,18 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>>>>              start_extent);
>>>>>          break;
>>>>>
>>>>> +    case XENMEM_foreigncopy:
>>>>> +        /*
>>>>> +         * Instead of using "start_extent" we update the structure back,
>>>>> +         * we update it back in anyway to tell caller were the copy
>>>>> +         * stopped.
>>>>> +         */
>>>>> +        if ( unlikely(start_extent) )
>>>>> +            return -EINVAL;
>>>>
>>>> As before - please be precise with comments like this. We update it back also
>>>> when encoding a continuation. Perhaps instead "..., to indicate the point of
>>>> failure to the caller as well as to encode continuations without being
>>>> constrained by MEMOP_EXTENT_SHIFT".
>>>>
>>>
>>> What about (trying to include your suggestion, to be fixed for line length):
>>>
>>>         /*
>>>          * Instead of using "start_extent" for the continuation, we
>>> update the structure back,
>>>          * we update the xen_foreigncopy structure back, so we are not
>>> constrained
>>>          * by MEMOP_EXTENT_SHIFT.
>>>          * We copy it back also to tell the caller where the copy stopped.
>>>          */
>>
>> One of the things I take issue with (because it's hard to read that way,
>> at least for me) is the repeated use of "update ... back", effectively
>> saying the same things twice. The last sentence also wants disambiguating
>> towards the "stopped" possibly being a non-error situation as well.
>>
> 
> Changed to
> 
>         /*
>          * Instead of using "start_extent" for the continuation, we update
>          * the xen_foreigncopy structure back, so we are not constrained by
>          * MEMOP_EXTENT_SHIFT.
>          * We copy it back also to tell the caller where the copy stopped
>          * (either for error or because all frames were copied).
>          */

Thanks.

>>>>> +    XEN_GUEST_HANDLE(uint8) buffer;
>>>>> +};
>>>>
>>>> What was (again) left unaddressed is the question towards using GFNs on both
>>>> sides of the copy. This would eliminate the need for the flags field, taken
>>>> by a 2nd domid_t one then.
>>>>
>>>
>>> This was addressed in
>>> https://lists.xenproject.org/archives/html/xen-devel/2026-06/msg00567.html
>>
>> Well, yes, but not in a satisfactory way. Back channels tell me that you
>> actually got the same feedback already on internal review. Which makes it
>> all the more puzzling that you insist on doing it differently. Multiple
>> maintainers asking for the same thing may be an indication of something.
> 
> Not needing to have backchannel feedback, I already wrote that a
> similar approach was tried and made the code more complicated.

Even if indeed so: Yet at the same time more flexible.

> Both maintainers didn't comment on my replies so I assume they were
> fine with it.
> And you are failing to provide positive feedback.
> I asked (that one internally) for examples of guest buffers provided
> as frame numbers but I got no answer (or better the answer was more
> "currently there are not").
> Also note that the location of xen_foreigncopy_t structure is also
> provided using a guest pointer.
> I remember there were some discussions about ABI changes (2/3 years
> ago) to address this and other issues but I cannot see much progress.

And it's that (very slowly progressing effort) which made me ask. The
fewer virtual addresses we bake into new sub-ops, the better for that
effort. And no, that doesn't go as far as completely eliminating
handles (presently representing virtual addresses) - that needs to be
part of the new ABI.

To preempt the argument towards "fewer virtual addresses" not really
being true when changing from handle-to-uint8 to handle-to-pfn: The
former won't be able to express a buffer mapped contiguously in VA
space, but discontiguous in PA space. The latter will, simply be
avoiding buffer VAs in the first place (the array of frame numbers
can e.g. be placed in a dedicated hypercall argument area known to be
physically contiguous).

> That's why I say this is out of scope.

There's nothing scope related here. We're discussing how to shape the
new sub-op interface.

>>> and in minor way by
>>> https://lists.xenproject.org/archives/html/xen-devel/2026-06/msg00847.html.
>>> It was considered but more complicated and worse from a performance perspective.
>>
>> Okay, performance-wise worse would of course be relevant. But that would
>> need supporting by numbers (for both PV and PVH Dom0, as the latter
>> incurs extra overhead for virtual-address-based hypercall buffer operands).
> 
> I'm more concerned about the PV case than PVH to be honest.

For your (immediate) internal purposes that may be fine, but PVH Dom0
more likely being the future, for upstream both need considering
equally.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 06:49:04 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 06:49:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344562.1603614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcHPz-0006gx-IQ; Wed, 24 Jun 2026 06:49:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344562.1603614; Wed, 24 Jun 2026 06: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 1wcHPz-0006gq-Fp; Wed, 24 Jun 2026 06:49:03 +0000
Received: by outflank-mailman (input) for mailman id 1344562;
 Wed, 24 Jun 2026 06:49:02 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcHPy-0006gk-Ov
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 06:49:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcHPy-000abI-53
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 08:49:02 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3b7dd8-bab6-0a2a0a5309dd-0a2a450bc21e-16
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 08:49:01 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3b7ddd-5e53-0a2a450b0019-d155802de0b0-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 08:49:01 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-49241dbf9c1so5041385e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 23:49: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-49249238900sm331802145e9.4.2026.06.23.23.49.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Jun 2026 23:49:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782283741; x=1782888541; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=LVWApeuBHOJo2c/W5calFtXk25tkUWfZNTJXbJnwZxE=;
        b=PCs4RrSTC0KhxzjGdVqcrHsV7yFQg6MlPwAbNdmxRnvFILQF6Rud5xDeYGLqPUamMl
         OoCwtGnz6kCcrHfzUIPs2RzkKic/gbkIrjF15It0HcDDou81lhRGrfENwV0V5TVijaeg
         1bRbHb7HU/2i3iW8NukR6cir2Oz8x1Q6BSC4srIm2OKEm2pR8h1Jy4djfqHMHBDGanKC
         LaUitHOZn8uY8ay+jBhrjmyGWERzQFEZRUXt1AiTQnT3bw3q0BGdEmVkblCb3IuqcHcL
         0fPn3sEMhhTZV7LfI6qul8ySXUU4OCc57h6xIAKEE1ftj7Bofx/TW4Uyji4Qpw/sBgu+
         nj5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782283741; x=1782888541;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LVWApeuBHOJo2c/W5calFtXk25tkUWfZNTJXbJnwZxE=;
        b=P73zxud0FoEg7MJGC2RfDeFDUTGkhlfAtaGMmvnmOI9i/V+WVtQTs2DDGUHvB6cEix
         7/vMeM+cbZS9fWTT8N2qJO96AcUxO6BFCEhEDhkC64cVbFs2cIdkshMhfEQtiuHzB1bX
         0cDFI4SQj4oD2+YObrUd7MV/MRza3aAufcHWY2HMRdPuArFVFyQxLoAjPGsfOz/sFrt2
         DUNaNq4sjDBTW+96U/K40p8pCMofykaEidWvdnPAvP7oBHMRvQnWSmi2kE3wfReJsAAC
         0K0xf1fblBVH1j2catVxl1mrj+r21RAJzJyF3uB2lWnJL3YD2HpUdNvaDViSfqbVH3EV
         sJlA==
X-Forwarded-Encrypted: i=1; AFNElJ/vGIaSDFY0kzyUBc4bMl4q9eBfJHE67eY+aMYl4QVV6IXFQRMWdvNMztp5Klc+9DXJny64M/tP5t0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwtUZaW2ZE0VcV8MkF70BdAYa+RzHaV+dyF38IytWSni7sdXp/G
	uITbHJwZY2q9IfoiAZ6adMkzjEKOORxmz8UBfkfXfWMpYMEjfuPrRDnWoGE5daB/wRuv3dO9CCL
	bpwhijg==
X-Gm-Gg: AfdE7ckvvDkCKlOwL5j42Qp9ViQaUOEpKrOOtMLqwfuC1ju/kWEJF9didVOzGfIIUrC
	sQ5u74ClUp0Ci2QKkqRMPnbgcWxg33RyxDXQOJiX+jckOOq72oR0PEh8GY4jgELknJEF1R8I9Pe
	GaeO1jB4iz7R7c36Oa+Hso1KuSHjj1ndyFPw+W+9b+7MRwBSSNgN+SK/jfQq8MgvZuV4Qg2GqBN
	yWySuotDvG/IewFAHoDmIKim4i0tdhCb5MgCs7FSnU+U5jyqLjl1ZZRlkK9B4IppypjUs/JkNBq
	yl00AZiy74uxh8uPeQRfxBKjDpdQFlRQHhQgGcduEz/QZTEVw4ZL/oBnXQjq43d0DpbvoWE00E6
	Z2rzzANL7V0RoVPa+bv9zJTS3pdfB34vr2co8GJcSC2bDj+zKgxjYnm0hT/SpI42fjpT5As21XC
	ZdGKD5E5cRfvTHn/LnjCC2l90upvMGe7hYr1+yxmLO9ATGK6Igrhfi0KDt2GbOwfP8j8olT3nLb
	Mpe
X-Received: by 2002:a05:600c:6097:b0:492:4a56:68fa with SMTP id 5b1f17b1804b1-49260872e27mr24571825e9.24.1782283741435;
        Tue, 23 Jun 2026 23:49:01 -0700 (PDT)
Message-ID: <284ffcf9-4621-498b-ad78-7d53f15a828c@suse.com>
Date: Wed, 24 Jun 2026 08:49:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/7] x86/kexec: add digest checks
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Kevin Lampis <kevin.lampis@citrix.com>
Cc: roger.pau@citrix.com, ross.lagerwall@citrix.com,
 xen-devel@lists.xenproject.org
References: <20260622151833.3397692-1-kevin.lampis@citrix.com>
 <20260622151833.3397692-2-kevin.lampis@citrix.com>
 <b7bfcd3f-acad-4637-a391-32cc9bd71a38@suse.com>
 <5176cb78-4445-4c94-a76c-fd08c1417211@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: <5176cb78-4445-4c94-a76c-fd08c1417211@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1782283741-45BFF00E-A795DE34/0/0
X-purgate-type: clean
X-purgate-size: 2330

On 23.06.2026 18:08, Andrew Cooper wrote:
> On 23/06/2026 3:44 pm, Jan Beulich wrote:
>> On 22.06.2026 17:18, Kevin Lampis wrote:
>>> From: Ross Lagerwall <ross.lagerwall@citrix.com>
>>>
>>> To support UEFI Secure Boot we must check that the kexec data has not
>>> changed between signature verification and actual execution.
>>> However, this is also a good check to perform generally.
>>>
>>> During kexec load, calculate a digest over all the kexec segments. This
>>> digest is stored and verified again later prior to entering the image.
>>>
>>> For now, only kexec crash images are supported.
>>>
>>> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
>>> Signed-off-by: Kevin Lampis <kevin.lampis@citrix.com>
>> I guess I'm not quite following here. For secure boot purposes, shouldn't
>> the new kernel already come with a digest (or really with a signature),
>> which we could check in both kexec_load() and kexec_crash()? If we check
>> against a digest we calculated ourselves, we'd apply more trust than we
>> should.
> 
> There are two problems.
> 
> One is plain TOCTOU.Â  We load the crash kernel at boot, and we jump to
> it in the case that something has fatally-but-not-catastrophically gone
> wrong.Â  Really, the digest here is an integrity check.
> 
> One is that Xen cannot perform the signature check on the passed
> kernel.Â  At least, not without gaining a full X.509 stack and
> authenticode algorithm, or a PGP implementation or equivalent.Â 
> ExitBootServices() nukes SHIM_LOCK/LOADER protocols so they cannot be
> used later in runtime.
> 
> Because we are defining the TCB of the system as "Xen + Dom0 kernel",
> it's fine to let Dom0 do the certificate check and say "trust me, I
> checked this" to Xen (albeit requiring that dom0 userspace can't issue
> the hypercall).Â  In the current implementation the dom0 checks the
> signature of the binary that userspace proposes, and either rejects it
> or passes it forward to Xen.
> 
> All Xen needs to do is ensure that the bytes the dom0 kernel said were
> good are still the same bytes we're about to jump into.Â  Hence the
> integrity check, which is a good move even in the non UEFI-SB case.

I.e. "To support UEFI Secure Boot we must check ..." in the description
is really misleading.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 06:55:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 06:55:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344572.1603625 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcHVn-0008Fn-5o; Wed, 24 Jun 2026 06:55:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344572.1603625; Wed, 24 Jun 2026 06:55:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcHVn-0008Fg-2T; Wed, 24 Jun 2026 06:55:03 +0000
Received: by outflank-mailman (input) for mailman id 1344572;
 Wed, 24 Jun 2026 06:55:01 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcHVl-0008FU-CY
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 06:55:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcHVk-001GJG-D4
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 08:55:00 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3b7f42-2eae-0a2a0a5409dd-0a2a450cc48a-6
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 08:55:00 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3b7f43-94a4-0a2a450c0019-d155802bb1c1-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 08:54:59 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-490b613a17bso5694805e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Jun 2026 23: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
 5b1f17b1804b1-492609154cdsm29372565e9.1.2026.06.23.23.54.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Jun 2026 23:54: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782284099; x=1782888899; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Qz7Vaj0GGT6xCbJVX2HSkbEWmtZ7kFVwL22u/vcYl8E=;
        b=Fv/l9aboKs29kJ7aHbSyax/o5O/bwO4cLRN7qPPkMmcypHAsmM8I4ijvA2MNSi2TCu
         agpmOOzASbWgZe9KBgP6IgF/zhcO12v+N046KxrUc/jNqFk38wcnZAVqBe0/CmQj8ERN
         NFY0YF2FHVqO4wi4ihtPHf34Vja87qtNJl/hl3JmCxZDKdcwpQJuxu2tAbgDbL67ge+O
         uXWK6rfp2qgkWpsBEZYg34m82/6/3uR7yDXIjLJvvI4q9rOrg2vJIbOreMB74nZLqKHr
         hlp9MEiqE8FEEsctxynnv3FwxRUSlLeKJjZwXVISgW+EjyedobGXhZ4jbqloxtDIMTm7
         +kNQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782284099; x=1782888899;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Qz7Vaj0GGT6xCbJVX2HSkbEWmtZ7kFVwL22u/vcYl8E=;
        b=Djp83YWz+VfnUmf43Lram+6VP0nD2OpOp87sVYn3/54tT1kDHsp1jfF3Uh+1o+rkhS
         +VrycIWa3mLUouSETE2AmF6wwIn+QbVcUP9xt+/eLzvcNHZM4sxXfCHIoXgIgH1yC1QG
         SiDB5PX/Ssn6e0ytweYMJA+K54bUgZoeRyKsbzI1cg9J41/YdizcKXIKew7+VMcYhg3/
         NJqWBGgseZWL2wXOwp1kP16EwTDfI7oPVxK1tw2wfWffFTuRzyr/UIGpuxSCkDUTkAab
         cMar+QwXsfZ7/d3bGG+sXDXp5M44b8+vx2Fa3Wuw8BnYXbFY+9tTsAnO/qayrFy0KN8s
         5knQ==
X-Forwarded-Encrypted: i=1; AFNElJ/1FfSsHK0yK/kYf7bk7qXySd1eqDaKA1pMHkXp1RXMlOTcjN4HBNFKFPBkBM4otaNrxiYLf8nNeBg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy3eNzQW8feqn+J0jhMPM3zw2+5MrLjbL5uhzlHHKYZFKyVkrY/
	oqpEwpGXCsEIxkuvF/nDpeKI8YgobAj3eAKm3Tsu+4pLaq4e1yBd1QPzf+3lR3BW/g==
X-Gm-Gg: AfdE7cnlOFnA+c2fjdD+cmMQlQiOXk9jbYTAiKqcEkjshkNPHhXc1SP6uPfj6hVZes0
	ppbHqUuNA5yegWs73saxBxZ9xXfV9ZFvuLrzRzKhdBQOdhgaDkGEmt8dcdFG3Air76SpEKwkBP+
	t9oKGBiWAJCn9Ao3KnaWQh81cfaPknftXxW7tAJ/NFwKIcnhp/M/iDgUMEFx6zbHvjK45OIAGWG
	Uw+44WT73h6JxFTYYY756a0XKE+HguZ7bh4e7PNoqquD3mrP3jn3hH8+1xgk86M0hdQN/DDANLu
	0zhXVNevAdb+/1E4UQB3s4tYyLMg9WdUlV+ASCMUbFiX8YTv0rhjFFDAW1LCfwkRMZk3G/81RUD
	eCfPask74Nf4J/ROhaudULw7jRYnkACW7/yGKuZjLI+DM9e8LarBV8s94sQm3CsrPLO+o4bA6h6
	MzZ4PE/MTBc2g4F67EZF6LYTI6l06P+hfXC7TZqxahMd8ZgqLPaZhpXpOfBjtHusRbd28pCXIZ2
	6d/
X-Received: by 2002:a05:600c:34d2:b0:490:b115:e03f with SMTP id 5b1f17b1804b1-49249083bb5mr265165845e9.8.1782284099426;
        Tue, 23 Jun 2026 23:54:59 -0700 (PDT)
Message-ID: <dbb8ee7b-164d-4634-b738-cd9630e9f11c@suse.com>
Date: Wed, 24 Jun 2026 08:54:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 7/7] x86/kexec: Zero GPRs before entering new kernel
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Kevin Lampis <kevin.lampis@citrix.com>
Cc: roger.pau@citrix.com, ross.lagerwall@citrix.com,
 xen-devel@lists.xenproject.org
References: <20260622151833.3397692-1-kevin.lampis@citrix.com>
 <20260622151833.3397692-8-kevin.lampis@citrix.com>
 <63766e74-aaf8-48b4-8ffd-321f150132a4@suse.com>
 <eca91510-4681-4fcf-9b5e-e79c6c010b9a@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: <eca91510-4681-4fcf-9b5e-e79c6c010b9a@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1782284099-D81C6ABF-7415B79D/0/0
X-purgate-type: clean
X-purgate-size: 1538

On 23.06.2026 18:51, Andrew Cooper wrote:
> On 23/06/2026 5:04 pm, Jan Beulich wrote:
>> On 22.06.2026 17:18, Kevin Lampis wrote:
>>> --- a/xen/arch/x86/x86_64/kexec_reloc.S
>>> +++ b/xen/arch/x86/x86_64/kexec_reloc.S
>>> @@ -78,6 +78,20 @@ FUNC(kexec_reloc, PAGE_SIZE)
>>>          testq   $KEXEC_RELOC_FLAG_COMPAT, %r8
>>>          jnz     .L_call_32_bit
>>>  
>>> +        xor     %edi, %edi
>>> +        xor     %eax, %eax
>>> +        xor     %ebx, %ebx
>>> +        xor     %ecx, %ecx
>>> +        xor     %edx, %edx
>>> +        xor     %r8d, %r8d
>>> +        xor     %r9d, %r9d
>>> +        xor     %r10d, %r10d
>>> +        xor     %r11d, %r11d
>>> +        xor     %r12d, %r12d
>>> +        xor     %r13d, %r13d
>>> +        xor     %r14d, %r14d
>>> +        xor     %r15d, %r15d
>>> +
>>>          /* Jump to the image entry point */
>>>          jmp     *%rbp
>> Why is %rsi not cleared here? And why is keeping %rbp non-zero okay?
> 
> %rsi is the parameter passed in the previous patch.

Ah, I didn't look closely enough there; I merely checked existing code. A
question that arises: What guarantees that in the 32-bit case the value
actually fits in %esi (i.e. the upper half of %rsi is zero)? I can't spot
any check in patch 6.

> Linux used to require the entry address in %rbp.Â  I think relocatable
> configurations can cope without it now, but we don't parse this property
> of the image.

Okay, but the description then better would say why %rbp / %ebp are left
alone.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 07:02:55 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 07:02:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344581.1603636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcHdJ-0001XV-Rd; Wed, 24 Jun 2026 07:02:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344581.1603636; Wed, 24 Jun 2026 07: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 1wcHdJ-0001XO-Om; Wed, 24 Jun 2026 07:02:49 +0000
Received: by outflank-mailman (input) for mailman id 1344581;
 Wed, 24 Jun 2026 07:02:48 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcHdI-0001XI-5z
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 07:02:48 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcHdG-003iqa-RZ
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 09:02:46 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a3b8116-e002-0a2a0a5209dd-0a2a4508a610-0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 09:02:46 +0200
Received: from [52.101.52.15]
 (helo=BL2PR02CU003.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a3b8115-9ee7-0a2a45080019-3465340f7773-4
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 09:02:46 +0200
Received: from BY5PR03CA0003.namprd03.prod.outlook.com (2603:10b6:a03:1e0::13)
 by DS2PR12MB9640.namprd12.prod.outlook.com (2603:10b6:8:27d::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.13; Wed, 24 Jun
 2026 07:02:41 +0000
Received: from CO1PEPF00012E83.namprd03.prod.outlook.com
 (2603:10b6:a03:1e0:cafe::15) by BY5PR03CA0003.outlook.office365.com
 (2603:10b6:a03:1e0::13) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.12 via Frontend Transport; Wed,
 24 Jun 2026 07:02:40 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 CO1PEPF00012E83.mail.protection.outlook.com (10.167.249.58) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.159.10 via Frontend Transport; Wed, 24 Jun 2026 07:02:40 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Wed, 24 Jun
 2026 02:02:36 -0500
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Wed, 24 Jun
 2026 02:02:11 -0500
Received: from [10.252.145.116] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Wed, 24 Jun 2026 02:02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=gIhp8yO9efeAKycfEUnyYaQfAmFEX1N17cjJeU2BMs9T0rHgoDKLNMBHWPiodtSJGtGyRZL2SPC4/O4s7X8UGKY9pLP9byNrkuP0khDfFzHw9c6IX1FoQkv+BIRS/jndot/0WJAIsBbOt2kpBKuaNjInsQvMPh/Ha116EK01Pavbuf8CPQ0zwHuqk8FDEGPlsjUvN+dBlz7fONQVHu+bZdgC8xZkSauXLvY3MDN05eiLKjapHwYDiKvgbhU+OBUGUm/u1sU5zJc2xmYLmc5sQFt7O0LRvQs7hhriVPDX93aFy+nSbe6jZ7qCy3ggxoHZnF7JBtrpLaCF2rgwHx9Z+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=tCt6VIxT4S2TXc0yorHlu1JSvwjmk9ntmAy75ZbcGSA=;
 b=SGe2/LCzqz+DIORMzJIconBCU5GYSEgrZHkuVFb+aOgAQrkSVQRYI79PybevgxgGwVQDIdWRFQ9HPOHYVwr3CJsmxoCn63KY2TfAEoDfk+lMxrbI5mDVsP6xeHz0f7NQy44/8ydvfdqZm+vzbBWbbu9ckV0bRWfIOgg4sg5RFn4kKddwBHpG44pJmwPUelaG0j0x64YrEu2Tt8wDx8Hw1RebsGnocEMKZQj+zJ6FbFfu/a24ThReF8ZIQi3QXgFuV/sA7zxsFZS9gDbfYOHviPYtNuRxcmZiKwGzGoP3P/teq2kIXhCDTLBOukbqwfTWmqnBN0zHFn8HkivypRDbFA==
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=tCt6VIxT4S2TXc0yorHlu1JSvwjmk9ntmAy75ZbcGSA=;
 b=hgZD6e2zsgmjhVdgtSCmNcXzNqTM0hv9mSqXygj8czNwfPiFu+knLYq35NbluQs0cXxx2JVZ+tCrGuvPCwsMUWY+nMDqNk/N3yvdw78aeVfDpZjeqx9gCOLNChCKe+KOaTBph765Y7aRvVxeSaGZVB2QJyZ7GaKhz1fLSP2CWd8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <b91ad9b2-b91d-4649-872e-0ba24692f19d@amd.com>
Date: Wed, 24 Jun 2026 09:02:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 01/23] xen: arm: move declaration of
 map_device_irqs_to_domain() to common header
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	<xen-devel@lists.xenproject.org>
CC: Romain Caritey <Romain.Caritey@microchip.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>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
 <7bbb4d94f6711014f46becfabeb916ceed294833.1781693963.git.oleksii.kurochko@gmail.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <7bbb4d94f6711014f46becfabeb916ceed294833.1781693963.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF00012E83:EE_|DS2PR12MB9640:EE_
X-MS-Office365-Filtering-Correlation-Id: 4399ba22-16fd-47e0-e810-08ded1be94fa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700016|1800799024|23010399003|7416014|376014|6133799003|22082099003|18002099003|11063799006|56012099006|4143699003;
X-Microsoft-Antispam-Message-Info:
	INgowDvwVIEbGAuPAQneYMGbZUER9vn8vR3vrVmgZEnXcUXpKHyPaOLGHyH9f/bDmdo+QbrID3rFTC35D/paS9sPEafw/1gdSW5sDTEEi7nNi8DBs6KESkjx/K+jibm/iY4BW4wLCjpOCPZY2AuotAMqHh5d4UG2NWSRDxS/z4aIkUKaqoaptKpqb2/qm40ex4a4qlytUTW6mnz6J8fdlBw4PKlbkPTeSvR78Mrl0ooXSpAR5Gd3QwbSc/RBaCkV8iOPvoGcX4AMMya4U4sGUfwwjnbwznN7yQHJV8qul/4mRDbIhhSqSdEzOqxmfNQ91yj200mfWyhL0k3cIpZ/brgKM1+0tvZ88rbM2EGuUuoUvJU83B7YmCDrIxJRGd4NMD/flWwobpy3fMsRRREZus7XFcIpVOCd8Oa3L9nApq7l5lM1rTrHrFZdmbcE0mKTQJXX/ODgbZZ7zqFaQfsW1aD31lHAsGZcQrHlIF3GRTkaeEB27X7d0kq1wbx6TtbT0qYdWVSldlWCkfBAjfgaIQHAD9uG1D3vUQofra0FMgFuBFTh16NJi+woBjSvnH8Lg08XL0NIEfudxJ4Fv0X3nwXF4Mn1yWggESgNgh1bMVQkaYfD5ykg/3dpX5nt2DJikqeK1JycTgD3259pFXwSCuOhoY0tQhY7IFX69Bt6hnTkyBJMVkAMW40Zbo67ZE+itiF2waVtgPbs5WLLwXpGlA==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700016)(1800799024)(23010399003)(7416014)(376014)(6133799003)(22082099003)(18002099003)(11063799006)(56012099006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	dunIrJWmV9RB+KHWuxxsLszWlbS27cSgE/Ht5S6712mF9L21K9HuKqp1Q+eRlMnIJvD/JYCZLZbF2JKZlc+DYEUyxhTwXXrIAANI/UAzt712tH4XxArAHpdB6z62tUay6+TZqrnQtyiwAsC6WgjLQnb2OW5JS8eK6XSeFvK2M7V4TqFnNjwOrfwfbFCA+8BD8nVRSKf48z8RGwAm0iV3A2zPD6ZNwamk0h/Finw0pehHeTjNeuAl/HXnW5bGwrIS4h5Jo/9Gpc9s5Cu8YBrl7tkImTx4+vbtZTXmqFJUofYuHcdCYs6eGJ5Gs1lgEM+Z7b9VBi8+uoI6HQ630yrDunaELI/GLN8Tk70rCVA04ZMwIzBK0oKduM/HzQnw5DXxnXyd65WPHKyvWllVOxcJpSudhfWFDs3hAe4Ln2gkhMV742tmB7waef6f1fmvaZQm
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jun 2026 07:02:40.5952
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4399ba22-16fd-47e0-e810-08ded1be94fa
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF00012E83.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS2PR12MB9640
X-purgate-ID: tlsNG-c1860d/1782284566-779E20FA-9DB4A790/10/73395122804
X-purgate-type: spam
X-purgate-size: 2928



On 17-Jun-26 13:17, Oleksii Kurochko wrote:
> As map_device_irqs_to_domain() is used unconditionally by common part of
> dom0less code it is moved to common header.
`it` here reads as if you were moving the function, not the prototype. Also, use
imperative mood i.e. `... code, move the prototype to a common header`.

> 
> fdt-domain-build.h is chosen as map_device_irqs_to_domain() could be
> also called indirectly in Arm's DOM0-related code.
By `indirectly` do you mean `handle_device`? It can also be used in the same way
by DT overlay feature.

> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in v3:
>  - Add tag arm and move this patch earlier before RISC-V-related patches.
> ---
> Changes in v2:
>  - New patch.
> ---
>  xen/arch/arm/include/asm/setup.h   |  3 ---
>  xen/include/xen/fdt-domain-build.h | 13 +++++++++++++
>  2 files changed, 13 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
> index 0d29b46ea52b..0adfa4993a8f 100644
> --- a/xen/arch/arm/include/asm/setup.h
> +++ b/xen/arch/arm/include/asm/setup.h
> @@ -53,9 +53,6 @@ void init_traps(void);
>  int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt,
>                    struct rangeset *iomem_ranges, struct rangeset *irq_ranges);
>  
> -int map_device_irqs_to_domain(struct domain *d, struct dt_device_node *dev,
> -                              bool need_mapping, struct rangeset *irq_ranges);
> -
>  int map_irq_to_domain(struct domain *d, unsigned int irq,
>                        bool need_mapping, const char *devname);
>  
> diff --git a/xen/include/xen/fdt-domain-build.h b/xen/include/xen/fdt-domain-build.h
> index 671486c1c837..8612e98dfda5 100644
> --- a/xen/include/xen/fdt-domain-build.h
> +++ b/xen/include/xen/fdt-domain-build.h
I don't see fdt-domain-build.h being included in Arm's device.c, where the
definition (that needs to see the prototype) resides.

> @@ -12,6 +12,7 @@
>  
>  struct domain;
>  struct page_info;
> +struct rangeset;
>  struct membanks;
>  
>  typedef bool (*alloc_domheap_mem_cb)(struct domain *d, struct page_info *pg,
> @@ -79,6 +80,18 @@ static inline void set_domain_type(struct domain *d, const struct kernel_info *k
>  #endif
>  }
>  
> +/*
> + * Retrieves the interrupts configuration from a device tree node and maps
> + * those interrupts to the target domain.
> + *
> + * Returns:
> + *   < 0 error
> + *   0   success
> + */
By adding the description to a prototype, there's no need for it to also exist
at the definition.
> +int map_device_irqs_to_domain(struct domain *d, struct dt_device_node *dev,
> +                              bool need_mapping,
> +                              struct rangeset *irq_ranges);
> +
>  #endif /* __XEN_FDT_DOMAIN_BUILD_H__ */
>  
>  /*

~Michal




From xen-devel-bounces@lists.xenproject.org Wed Jun 24 07:32:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 07:32:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344593.1603650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcI6E-0005rI-5l; Wed, 24 Jun 2026 07:32:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344593.1603650; Wed, 24 Jun 2026 07: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 1wcI6E-0005rB-26; Wed, 24 Jun 2026 07:32:42 +0000
Received: by outflank-mailman (input) for mailman id 1344593;
 Wed, 24 Jun 2026 07:32:40 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcI6C-0005r5-8J
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 07:32:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcI6B-00EVY1-0h
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 09:32:39 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a3b880e-bab6-0a2a0a5309dd-0a2a45089cb2-48
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 09:32:38 +0200
Received: from [40.107.209.43]
 (helo=PH8PR06CU001.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <Michal.Orzel@amd.com>)
 id 6a3b8814-9ee7-0a2a45080019-286bd12b2cab-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 09:32:38 +0200
Received: from CH2PR20CA0001.namprd20.prod.outlook.com (2603:10b6:610:58::11)
 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.21.139.20; Wed, 24 Jun
 2026 07:32:28 +0000
Received: from CH2PEPF0000009A.namprd02.prod.outlook.com
 (2603:10b6:610:58:cafe::a4) by CH2PR20CA0001.outlook.office365.com
 (2603:10b6:610:58::11) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.159.13 via Frontend Transport; Wed,
 24 Jun 2026 07:32:28 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 CH2PEPF0000009A.mail.protection.outlook.com (10.167.244.22) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.159.10 via Frontend Transport; Wed, 24 Jun 2026 07:32:28 +0000
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Wed, 24 Jun
 2026 02:32:28 -0500
Received: from [10.252.145.116] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Wed, 24 Jun 2026 02:32: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=t8ENUh9YFsLdinOKZunjy1jpO9+pIlvuT8ObaAiGBDE+PPcjwrtmoHBcoCAkb9TG568J9kzhHmJklUhCZK3XwccZ8CMh1FbE6TRWA8Zqsg6bdAA1bIJ1jhZdBMm/Wm5SkAhDoXzFE+qA1TpEMzZemp/AZOJh26TSZDMCCg5k73Vk/8U+yjm13LZ/77rAIR8uVBnbUAc33YAPHqaghxwGxKpqFVHuX8vvTTF3KaBcF8zp7zpjLSKjgmlNuhrnDlah94SYzcbyqBI20VQvM3cZU1bSRZzBwF9NbCCHhpjEAtunTJfEmf478IFkaVYYEmiivorAqkCHD6nQXe5qdmaG/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=6weFsPdByucGL0R6eiDIgRHPYDNcyCA+OBVs4eXQNYY=;
 b=hkqgC2oaF8zf2cb+aZ4g8dEvPjMcvfmp13IsM8K5NhNrBOikkH2ko+gsIr4jz+zrwIOgSW0pn1tDvI/lkLiwqKdO/gz4jyRlEC/tn9OC5RUJxsJxAHk7TEdy5uC/1nyEkCeZxA57EAspTbmKJwtKzlWPuR8/SuQPW6m6fIHePUrXRg/2mGJqyrRCAxYZx0q7ydrDBMWrt1cqTLADHlGkRwgDIZdawa3CzPiBM7XoZ0ojC/rm9PFydLLUFXy8naTZUgwqlE6fm1EppMS9KS+aG8+s3hCi7+RORzQ7nqIjFtHcySinnMax6sVGKVHg7dF6ld5jv49LHP24N8S7rbu9Qg==
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=6weFsPdByucGL0R6eiDIgRHPYDNcyCA+OBVs4eXQNYY=;
 b=K1WZWdxMgRoj+9FrfBXRJgIkHmg+NzDML2jEHbH5uuAwOSwR0YeIrSgdK2ifugjgv0OIsMQaWC5iuALNEez512OcZEce4UqguT9gRSYYk1UIR0ImBXBV4T0+jhT9exQm3at8DawVow6bVVVKJtOdIwy0Y1chz9NyiT8eECtszEE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <073c5ff2-5244-4e11-a9e3-e5ecd3ce31d2@amd.com>
Date: Wed, 24 Jun 2026 09:32:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 02/23] xen: arm: update p2m_set_allocation() prototype
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	<xen-devel@lists.xenproject.org>
CC: Romain Caritey <Romain.Caritey@microchip.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>, Connor Davis <connojdavis@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
 <a63794ac32e157ea44c3450fc5fb6f2842e00680.1781693963.git.oleksii.kurochko@gmail.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <a63794ac32e157ea44c3450fc5fb6f2842e00680.1781693963.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH2PEPF0000009A:EE_|CH3PR12MB7763:EE_
X-MS-Office365-Filtering-Correlation-Id: e3dfaa62-dd70-4f91-d470-08ded1c2bedc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700016|23010399003|376014|7416014|82310400026|18002099003|22082099003|11063799006|5023799004|4143699003|6133799003|56012099006;
X-Microsoft-Antispam-Message-Info:
	/AVgeasVvJfH3xUI7lDiaEGaplqYsSnXVF5amSZq09NYvnSKdme1oyBit0sED8fsH6Yc62TTJxi8NRIw14PwnnniASCUGg6C0LgIZ053P5u8ivze7rKq2BjzZrCjV8KZTYFxno3m7Hgprg6BksnrFoulfVEtg77MadxNH4Mq+dmFrIyuYuPSiubdnCLTIBBmfbneUTsHblds5ruFQ19xdachY5igYFw9mSgI8cFnYhp84o5TCaRoi3fY22pX0tNdn9g+0zFhn95YxbFNM2T7pXTSiOTtYsDRT+NTTDzr2seSDNCu4xx/iCATEXI5fUBKgaHbCFRpl4Sg4GmLvszQPbny6cMIqPTGy/18IO5ZLTBCfPxksaYI/fXbPo9Q+ZyLcr3nFhYkcKBmMdnOvZ7YI/y22MxTMRHjENBobK6x47VFo7YzOTyfsUledaUr0c8uTXFhrd7AztufvmpR9kP0qFmN/SxMGp1RS976UXmsD1DU1hyYIqxRObCqHzs3TW/eGubcOY8+WC/LPzOEQKy5LFjNTh90YaTvLjVBE3xnN6apalGzTdjKGiKLIS90UB/+91smS/pcdcBpCZ+s5AuiJ/tGui8Api4VmlpG7d1zTyMQWlgIIyJble2rYd72oD7DN6AMycYH+1BPRbPxkZnuXFVgYA14sRwsgXDzkl+YM/yiG6MNXEOYjEKmCj6LlMbY3cO95XNwJCzkb0occInIvA==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700016)(23010399003)(376014)(7416014)(82310400026)(18002099003)(22082099003)(11063799006)(5023799004)(4143699003)(6133799003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	yOpklT3E4jA8Sk4ylEcWCUm+iArRIp2YrF4ZdkIQcExFohRWHro6EupdTfWQJAZ0eexZQahet4C0AosrcHydZ6R+WT4nXKNq8Rvny9tsIi5RoFKZFGdO0PAWkfd71wkavNpz4FSfjgnBo7h7MUC0WOyz+MXi51rH72pxlcoL6krJU5WQVl9lQ+cMmVn2t2J6vYmHbxoVyHZGI1JmqdTT07wwn2bEzD+TnPXD73JijrqhrUYO3ZNgzLswgsv6Clkf/8lP3CtmtJKkgTMBsb6eizPpHGE9JZPuyIYUvOu7EuXgFu3rWwlaWlH6FSJuHydhNTx9rNFIm4ECsHk/mPOE6KQPix05TvqannZF5gMJFBnDdoPjMYvEHa3VNh+knGenifF03fWseOoz9VT9Wox5/Re5pilQfj4C71xj0+SwxlUk3xAGnKnSaF1fm61AEhik
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jun 2026 07:32:28.8884
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e3dfaa62-dd70-4f91-d470-08ded1c2bedc
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH2PEPF0000009A.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7763
X-purgate-ID: tlsNG-c1860d/1782286358-5DBF30FA-3E41250A/10/73395122804
X-purgate-type: spam
X-purgate-size: 8784



On 17-Jun-26 13:17, Oleksii Kurochko wrote:
> p2m_set_allocation() signals preemption redundantly: via a bool *preempted
> out-argument (set to true) and via -ERESTART return code, both at the same
> time. This led to the caller-side ASSERT(preempted == (rc == -ERESTART))
> added solely to document their agreement.
> 
> Drop the out-argument entirely. The return code alone is sufficient to
> distinguish preemption (-ERESTART) from success (0) or other failures.
> Replace the pointer with a plain bool can_preempt that controls whether
> the preemption check is performed at all, making the previous
> NULL-to-suppress-preemption calling convention explicit and type-safe.
As Andrew said, this paragraph contradicts the first one i.e. we still need to
pass whether to perform the check or not, so it's not redundant.

> 
> Since p2m_set_allocation() is called by the common dom0less build code,
> move its declaration from the ARM-specific asm/p2m.h to xen/p2m-common.h.
> 
> Reported-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in v3:
>  - Nothing changed. Only rebase.
> ---
> Changes in v2:
>  - new patch
> ---
> ---
>  xen/arch/arm/include/asm/p2m.h          |  1 -
>  xen/arch/arm/mmu/p2m.c                  | 22 ++++++++--------------
>  xen/arch/riscv/include/asm/paging.h     |  2 +-
>  xen/arch/riscv/p2m.c                    |  7 ++++---
>  xen/arch/riscv/paging.c                 |  7 ++-----
>  xen/common/device-tree/dom0less-build.c |  2 +-
>  xen/include/xen/p2m-common.h            |  2 ++
>  7 files changed, 18 insertions(+), 25 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/p2m.h b/xen/arch/arm/include/asm/p2m.h
> index 4a4913716bdd..737da60dcf58 100644
> --- a/xen/arch/arm/include/asm/p2m.h
> +++ b/xen/arch/arm/include/asm/p2m.h
> @@ -238,7 +238,6 @@ void p2m_restore_state(struct vcpu *n);
>  /* Print debugging/statistial info about a domain's p2m */
>  void p2m_dump_info(struct domain *d);
>  
> -int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted);
>  int p2m_teardown_allocation(struct domain *d);
>  
>  static inline void p2m_write_lock(struct p2m_domain *p2m)
> diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
> index 51abf3504fcf..e5c6be7c0890 100644
> --- a/xen/arch/arm/mmu/p2m.c
> +++ b/xen/arch/arm/mmu/p2m.c
> @@ -67,10 +67,11 @@ int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
>  
>  /*
>   * Set the pool of pages to the required number of pages.
> - * Returns 0 for success, non-zero for failure.
> + * Returns 0 for success, -ERESTART if preempted, or a negative error code on
It returns -ERESTART if preempted *AND* preemption is allowed - please clarify
in the description.

> + * failure.
>   * Call with d->arch.paging.lock held.
>   */
> -int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
> +int p2m_set_allocation(struct domain *d, unsigned long pages, bool can_preempt)
>  {
>      struct page_info *pg;
>  
> @@ -112,11 +113,8 @@ int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
>              break;
>  
>          /* Check to see if we need to yield and try again */
> -        if ( preempted && general_preempt_check() )
> -        {
> -            *preempted = true;
> +        if ( can_preempt && general_preempt_check() )
>              return -ERESTART;
> -        }
>      }
>  
>      return 0;
> @@ -125,7 +123,6 @@ int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
>  int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
>  {
>      unsigned long pages = size >> PAGE_SHIFT;
> -    bool preempted = false;
>      int rc;
>  
>      if ( (size & ~PAGE_MASK) ||          /* Non page-sized request? */
> @@ -133,27 +130,24 @@ int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
>          return -EINVAL;
>  
>      spin_lock(&d->arch.paging.lock);
> -    rc = p2m_set_allocation(d, pages, &preempted);
> +    rc = p2m_set_allocation(d, pages, true);
>      spin_unlock(&d->arch.paging.lock);
>  
> -    ASSERT(preempted == (rc == -ERESTART));
> -
>      return rc;
>  }
>  
>  int p2m_teardown_allocation(struct domain *d)
>  {
>      int ret = 0;
> -    bool preempted = false;
>  
>      spin_lock(&d->arch.paging.lock);
>      if ( d->arch.paging.p2m_total_pages != 0 )
>      {
> -        ret = p2m_set_allocation(d, 0, &preempted);
> -        if ( preempted )
> +        ret = p2m_set_allocation(d, 0, true);
> +        if ( ret == -ERESTART )
>          {
>              spin_unlock(&d->arch.paging.lock);
> -            return -ERESTART;
> +            return ret;
>          }
>          ASSERT(d->arch.paging.p2m_total_pages == 0);
>      }
> diff --git a/xen/arch/riscv/include/asm/paging.h b/xen/arch/riscv/include/asm/paging.h
> index e487c89a4ccd..103384723dc5 100644
> --- a/xen/arch/riscv/include/asm/paging.h
> +++ b/xen/arch/riscv/include/asm/paging.h
> @@ -9,7 +9,7 @@ struct page_info;
>  int paging_domain_init(struct domain *d);
>  
>  int paging_freelist_adjust(struct domain *d, unsigned long pages,
> -                           bool *preempted);
> +                           bool can_preempt);
>  
>  int paging_ret_to_domheap(struct domain *d, unsigned int nr_pages);
>  int paging_refill_from_domheap(struct domain *d, unsigned int nr_pages);
> diff --git a/xen/arch/riscv/p2m.c b/xen/arch/riscv/p2m.c
> index 703b9f4d2540..41d6d3d5e699 100644
> --- a/xen/arch/riscv/p2m.c
> +++ b/xen/arch/riscv/p2m.c
> @@ -430,15 +430,16 @@ int p2m_init(struct domain *d, const struct xen_domctl_createdomain *config)
>  
>  /*
>   * Set the pool of pages to the required number of pages.
> - * Returns 0 for success, non-zero for failure.
> + * Returns 0 for success, -ERESTART if preempted, or a negative error code on
> + * failure.
>   * Call with d->arch.paging.lock held.
>   */
Move the description where a prototype lives. This way you will avoid adding one
at each definition (remove from here and Arm then).

> -int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
> +int p2m_set_allocation(struct domain *d, unsigned long pages, bool can_preempt)
>  {
>      struct p2m_domain *p2m = p2m_get_hostp2m(d);
>      int rc;
>  
> -    if ( (rc = paging_freelist_adjust(d, pages, preempted)) )
> +    if ( (rc = paging_freelist_adjust(d, pages, can_preempt)) )
>          return rc;
>  
>      /*
> diff --git a/xen/arch/riscv/paging.c b/xen/arch/riscv/paging.c
> index 76a203edbb0c..35f572689a7c 100644
> --- a/xen/arch/riscv/paging.c
> +++ b/xen/arch/riscv/paging.c
> @@ -47,7 +47,7 @@ static int _paging_add_to_freelist(struct domain *d)
>  }
>  
>  int paging_freelist_adjust(struct domain *d, unsigned long pages,
> -                           bool *preempted)
> +                           bool can_preempt)
>  {
>      ASSERT(spin_is_locked(&d->arch.paging.lock));
>  
> @@ -66,11 +66,8 @@ int paging_freelist_adjust(struct domain *d, unsigned long pages,
>              return rc;
>  
>          /* Check to see if we need to yield and try again */
> -        if ( preempted && general_preempt_check() )
> -        {
> -            *preempted = true;
> +        if ( can_preempt && general_preempt_check() )
>              return -ERESTART;
> -        }
>      }
>  
>      return 0;
> diff --git a/xen/common/device-tree/dom0less-build.c b/xen/common/device-tree/dom0less-build.c
> index eacfd93087ae..c3818ffed45f 100644
> --- a/xen/common/device-tree/dom0less-build.c
> +++ b/xen/common/device-tree/dom0less-build.c
> @@ -747,7 +747,7 @@ static int __init domain_p2m_set_allocation(struct domain *d, uint64_t mem,
>                  domain_p2m_pages(mem, d->max_vcpus);
>  
>      spin_lock(&d->arch.paging.lock);
> -    rc = p2m_set_allocation(d, p2m_pages, NULL);
> +    rc = p2m_set_allocation(d, p2m_pages, false);
>      spin_unlock(&d->arch.paging.lock);
>  
>      return rc;
> diff --git a/xen/include/xen/p2m-common.h b/xen/include/xen/p2m-common.h
> index f0bd9a6b9896..1b44ec8ce36c 100644
> --- a/xen/include/xen/p2m-common.h
> +++ b/xen/include/xen/p2m-common.h
> @@ -43,5 +43,7 @@ int __must_check check_get_page_from_gfn(struct domain *d, gfn_t gfn,
>                                           bool readonly, p2m_type_t *p2mt_p,
>                                           struct page_info **page_p);
>  
> +int p2m_set_allocation(struct domain *d, unsigned long pages,
I think it's worth adding __must_check given that rc is now the only preemption
status checker.

~Michal



From xen-devel-bounces@lists.xenproject.org Wed Jun 24 07:43:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 07:43:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344601.1603659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcIGd-0007XJ-3e; Wed, 24 Jun 2026 07:43:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344601.1603659; Wed, 24 Jun 2026 07:43: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 1wcIGc-0007XC-WB; Wed, 24 Jun 2026 07:43:26 +0000
Received: by outflank-mailman (input) for mailman id 1344601;
 Wed, 24 Jun 2026 07:43:26 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcIGb-0007X4-SR
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 07:43:25 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcIGa-001QEn-7q
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 09:43:24 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3b8a97-2eae-0a2a0a5409dd-0a2a450ab1cc-16
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 09:43:24 +0200
Received: from [209.85.221.50] (helo=mail-wr1-f50.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3b8a9b-93a5-0a2a450a0019-d155dd32b82f-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 09:43:23 +0200
Received: by mail-wr1-f50.google.com with SMTP id
 ffacd0b85a97d-462342ac290so862521f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 00:43:23 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-46c9f240c3dsm1538544f8f.35.2026.06.24.00.43.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 00:43: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782287003; x=1782891803; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=cuDmcXdKpgeIWxSU6IWo5VxVu5XuW44xSfqu1kHEyvw=;
        b=OupwdBnTEw5G0rqMTjS+RD1I2Rpk6XMcfKwLNYVryYHn5b4LbKSSeLLIO+kch2G9t6
         umZEueugUD4VZAaUz8xIheA+nYyGHDo0Q2Phj2LREBX83cNViGS5CSXWc8v0HjDca/WC
         UbH0gl8upzK/sbQbnC8az0g0bJGd6BEMhUDNRvH0J22xwOZqpHElcQOo8CPngov2M2pj
         fAXYRuUDBMJ/kwjkm1bGMwQqM5poa2FQkpDZgHsykV8Ls9um8oLFFZTeCG8ZhjwCgELP
         Ob45RgHIQmPOyj88bUakLrf/jQRoeiH6X90QrZFv5N67gyewzOwBor2l5Lx7MMxusa5R
         LhZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782287003; x=1782891803;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cuDmcXdKpgeIWxSU6IWo5VxVu5XuW44xSfqu1kHEyvw=;
        b=ZxAI0FR07/wkEO1uuOBFfbl1XLYkNlvUYujtSn8zJLxsm5t+I6kd6rS4VU2GV3siGt
         PEpyPDj3p29U5nHa/4Z0RAAqYCpt8NjxUhfaOD98i0h2/YqwdbMc0zH2m9N2J8cDborF
         hMjfLIPoZT+Ug/d+FDgb1rT8oSoQPqjRxZeQdgl0hy9n9RGAaq3YVQSY6t0tZ8NE5JKl
         UKvnivYGomxeg0l/7VTt15oMKAwMB+4nbG/p+tUJBd9VEiRpSNtraQuV2kZmsKq33peJ
         /YqH0D6vf6faz1BXukmp+JbmP1Vp7U65MxeNwz0AIsth+W2dkH8JhjqSd5QqFXJZ90r9
         mG5g==
X-Gm-Message-State: AOJu0Yz/vwHTt33XAnDxKTXVrAwyYB1NM7KmKZwFscncXyjTMhDIBAop
	AULZ6NOH/OUfhmCl4zXyo582NbT2jnTq5jVuuzQUxi0ddC2U0FGDOgURVs7rtXRe/w==
X-Gm-Gg: AfdE7clhv1oHPlXerwE0oNNYzIBf0t43YFkJtkzEq/qCgjXPFVdzYDPSSNJSsH0adHI
	oQsA30rew5G79rClysu279K8aqJoGAmVPPP2nPaIpQ3yMlFATst+8ehxJ+DcG92TGbyWNzQfIvk
	V/PJVjvFO3xWvhpabRIfopZuGrtnxvWFxr7T032lO8NGsHbgu+IoiLl0CzbgbOk1lO6zVVCkKnx
	kfcGnm8nb8N1S/W+7dRJmbi8/VfljJODjcsoaXaDK03VW1ikB+P22J/3ml5VoDHci5jLMgzo7f6
	oTBlcHqmE21+e4auWw03ZP4DUwX5LlaBYRQhkXRDSd/4HttYuTn1WdEWYcyVtaHcgIHxXMI8ZIw
	e8nbnbpBiJXUDiw/C0VfJWoTu+IPOoGuTP+HL3EDuYSkKPlMiUAWqxXSCzCVmmU5hBuUl4/eyx8
	Bn0jqJ86ZlxSEMG0dtSfoUYq9uNoWuGQMXdbUWuZJIEW0V58q7dlSguT9ttseBNYtWi58hmljaP
	L9L
X-Received: by 2002:a05:6000:2006:b0:45e:f8d0:d22c with SMTP id ffacd0b85a97d-46adabe36fcmr9415529f8f.25.1782287003383;
        Wed, 24 Jun 2026 00:43:23 -0700 (PDT)
Message-ID: <1ecee09a-edd9-47cf-88d4-ad4e7e8b8216@suse.com>
Date: Wed, 24 Jun 2026 09:43:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Linux dom0 hangs on boot with Xen 4.22 and Heads firmware
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Frediano Ziglio <frediano.ziglio@cloud.com>
References: <ajVUS5F9G4Jse20i@mail-itl>
 <a6b83fc1-aa98-4b45-ab7f-503715861a7d@suse.com> <ajslWA63ZdPhfYvw@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: <ajslWA63ZdPhfYvw@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1782287003-B01C6DB8-8D8DB4EB/0/0
X-purgate-type: clean
X-purgate-size: 7399

On 24.06.2026 02:31, Marek Marczykowski-GÃ³recki wrote:
> On Mon, Jun 22, 2026 at 10:53:01AM +0200, Jan Beulich wrote:
>> On 19.06.2026 16:38, Marek Marczykowski-GÃ³recki wrote:
>>> After updating Xen to 4.22-rc2 on a system with Heads firmware, dom0
>>> doesn't start anymore. It worked fine with Xen 4.19.
>>> The last messages on console are:
>>>
>>>     [    1.495140] installing Xen timer for CPU 2
>>>     [    1.496149] installing Xen timer for CPU 4
>>>     [    1.496587] installing Xen timer for CPU 5
>>>     [    1.496809] installing Xen timer for CPU 7
>>>     [    0.008235] [Firmware Bug]: CPU   2: APIC ID mismatch. CPUID: 0x0002 APIC: 0x0028
>>>     [    0.008235] [Firmware Bug]: CPU   2: APIC ID mismatch. Firmware: 0x0011 APIC: 0x0028
>>>     [    1.497055] cpu 2 spinlock event irq 200
>>>     [    0.008235] [Firmware Bug]: CPU   4: APIC ID mismatch. CPUID: 0x0004 APIC: 0x0000
>>>     [    0.008235] [Firmware Bug]: CPU   4: APIC ID mismatch. Firmware: 0x0019 APIC: 0x0000
>>>     [    1.497074] cpu 4 spinlock event irq 201
>>>     [    0.008235] [Firmware Bug]: CPU   5: APIC ID mismatch. CPUID: 0x0005 APIC: 0x0002
>>>     [    0.008235] [Firmware Bug]: CPU   5: APIC ID mismatch. Firmware: 0x0021 APIC: 0x0002
>>>     [    1.497074] cpu 5 spinlock event irq 202
>>>     [    0.008235] [Firmware Bug]: CPU   7: APIC I
>>>
>>> Full console log (containing both successful boot of Xen 4.19, and then
>>> reboot into 4.22):
>>> https://openqa.qubes-os.org/tests/184780/logfile?filename=serial0.txt
>>
>> The 4.19 log also has an anomaly around this point in time. Can you try
>> again with sync_console added to both the 4.19 and the 4.22 attempt?
> 
> Yes, sync_console helped quite a bit, now I get full dom0 panic message:
> 
>     [   10.334800] vesafb: cannot reserve video memory at 0x0
>     [   10.340009] vesafb: mode is 0x0x0, linelength=0, pages=0
>     [   10.345515] Oops: divide error: 0000 [#1] SMP NOPTI
>     [   10.346503] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.17.9-1.qubes.fc41.x86_64 #1 PREEMPT(full) 
>     [   10.346503] Hardware name: Notebook V54x_6x_TU/V54x_6x_TU, BIOS Dasharo (coreboot+heads) v0.9.0 01/01/1970
>     [   10.346503] RIP: e030:vesafb_probe.cold+0xd4/0x5fb
>     [   10.346503] Code: 08 75 1f 83 3d a8 8c 1d 02 00 75 16 48 c7 c7 90 4a fd 81 e8 8a ef f9 ff c7 05 d4 54 09 02 05 00 00 00 8b 05 c2 54 09 02 31 d2 <f7> 35 d2 54 09 02 8b 15 fc 54 09 02 48 89 c1 48 c1 e1 20 48 09 ca
>     [   10.346503] RSP: e02b:ffffc9004001fbb8 EFLAGS: 00010246
>     [   10.346503] RAX: 0000000000000000 RBX: ffff888101d86f28 RCX: ffffffff823666e8
>     [   10.346503] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000003
>     [   10.346503] RBP: ffff88810197d400 R08: 0000000000000000 R09: 6c656e696c202c30
>     [   10.346503] R10: 0000000000000030 R11: 203a626661736576 R12: 0000000000000000
>     [   10.346503] R13: 0000000000000000 R14: 0000000000000000 R15: ffff888106351000
>     [   10.346503] FS:  0000000000000000(0000) GS:ffff888cef7c1000(0000) knlGS:0000000000000000
>     [   10.346503] CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
>     [   10.346503] CR2: ffffc900064ff000 CR3: 000000000222c000 CR4: 0000000000050660
>     [   10.346503] Call Trace:
>     [   10.346503]  <TASK>
>     [   10.346503]  ? __pfx___device_attach_driver+0x10/0x10
>     [   10.346503]  platform_probe+0x39/0x70
>     [   10.346503]  really_probe+0xdb/0x340
>     [   10.346503]  ? pm_runtime_barrier+0x54/0x90
>     [   10.346503]  __driver_probe_device+0x78/0x110
>     [   10.346503]  driver_probe_device+0x1f/0xa0
>     [   10.346503]  __device_attach_driver+0x89/0x110
>     [   10.346503]  bus_for_each_drv+0x94/0xf0
>     [   10.346503]  __device_attach+0xaf/0x1b0
>     [   10.346503]  bus_probe_device+0x8d/0xa0
>     [   10.346503]  device_add+0x508/0x710
>     [   10.346503]  platform_device_add+0xed/0x250
>     [   10.346503]  sysfb_init+0x283/0x320
>     [   10.346503]  ? __pfx_sysfb_init+0x10/0x10
>     [   10.346503]  do_one_initcall+0x57/0x310
>     [   10.346503]  do_initcalls+0x1ef/0x240
>     [   10.346503]  kernel_init_freeable+0x187/0x210
>     [   10.346503]  ? __pfx_kernel_init+0x10/0x10
>     [   10.346503]  kernel_init+0x1a/0x140
>     [   10.346503]  ret_from_fork+0xf2/0x110
>     [   10.346503]  ? __pfx_kernel_init+0x10/0x10
>     [   10.346503]  ret_from_fork_asm+0x1a/0x30
>     [   10.346503]  </TASK>
>     [   10.346503] Modules linked in:
>     [   10.559786] ---[ end trace 0000000000000000 ]---
>     [   10.564581] RIP: e030:vesafb_probe.cold+0xd4/0x5fb
>     [   10.569546] Code: 08 75 1f 83 3d a8 8c 1d 02 00 75 16 48 c7 c7 90 4a fd 81 e8 8a ef f9 ff c7 05 d4 54 09 02 05 00 00 00 8b 05 c2 54 09 02 31 d2 <f7> 35 d2 54 09 02 8b 15 fc 54 09 02 48 89 c1 48 c1 e1 20 48 09 ca
>     [   10.588833] RSP: e02b:ffffc9004001fbb8 EFLAGS: 00010246
>     [   10.594255] RAX: 0000000000000000 RBX: ffff888101d86f28 RCX: ffffffff823666e8
>     [   10.601622] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000003
>     [   10.609000] RBP: ffff88810197d400 R08: 0000000000000000 R09: 6c656e696c202c30
>     [   10.616378] R10: 0000000000000030 R11: 203a626661736576 R12: 0000000000000000
>     [   10.623755] R13: 0000000000000000 R14: 0000000000000000 R15: ffff888106351000
>     [   10.631136] FS:  0000000000000000(0000) GS:ffff888cef7c1000(0000) knlGS:0000000000000000
>     [   10.639483] CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
>     [   10.645434] CR2: ffffc900064ff000 CR3: 000000000222c000 CR4: 0000000000050660
>     [   10.652817] Kernel panic - not syncing: Fatal exception
>     [   10.653803] Kernel Offset: disabled
>     (XEN) Hardware Dom0 crashed: 'noreboot' set - not rebooting.
> 
>>
>>> It doesn't reach loading graphics driver in dom0, so I don't have
>>> anything interesting on VGA (the last output is about the kexec call
>>> done by Heads). But at least I have a serial console.
>>
>> Yet interestingly Xen's "  VGA is ... mode ..." lines differ as well.
> 
> This might be relevant given the above.

Indeed. It looks like d5a73cdc6b90 ("x86/boot: Use boot_vid_info variable
directly from C code") is at fault, breaking this piece of pre-existing
code at the bottom of mbi2_reloc():

#ifdef CONFIG_VIDEO
    if ( video )
        video->orig_video_isVGA = 0x23;
#endif

Does the patch below help?

Jan

x86/boot: don't blindly mark VGA in graphics mode on MB2 path

Setting ->orig_video_isVGA to the specific marker should be done only when
the VBE tag is present and the FRAMEBUFFER is either absent or indicates
RGB type. Since the "video" variable now starts out non-NULL, this
property was broken when in particular neither of the tags are present. To
move back to at least close to original behavior, add a 2nd check to said
conditional.

Fixes: d5a73cdc6b90 ("x86/boot: Use boot_vid_info variable directly from C code")
Reported-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/boot/reloc.c
+++ b/xen/arch/x86/boot/reloc.c
@@ -339,7 +339,7 @@ static multiboot_info_t *mbi2_reloc(uint
  end:
 
 #ifdef CONFIG_VIDEO
-    if ( video )
+    if ( video && video->lfb_size )
         video->orig_video_isVGA = 0x23;
 #endif
 



From xen-devel-bounces@lists.xenproject.org Wed Jun 24 07:50:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 07:50:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344611.1603666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcINR-0000nJ-Qn; Wed, 24 Jun 2026 07:50:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344611.1603666; Wed, 24 Jun 2026 07:50:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcINR-0000nC-O5; Wed, 24 Jun 2026 07:50:29 +0000
Received: by outflank-mailman (input) for mailman id 1344611;
 Wed, 24 Jun 2026 07:50:28 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcINQ-0000n5-65
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 07:50:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcINN-00EZER-Rd
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 09:50:25 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3b8c40-bab6-0a2a0a5309dd-0a2a45048ffc-8
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 09:50:25 +0200
Received: from [209.85.128.47] (helo=mail-wm1-f47.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3b8c41-5f9f-0a2a45040019-d155802fc46a-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 09:50:25 +0200
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-490cdae130cso3538075e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 00:50:25 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4923fc47720sm761526755e9.0.2026.06.24.00.50.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 00:50:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Autocrypt:Subject:From:To:Content-Language:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782287425; x=1782892225; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=KA8un9h+jkY6n7gmtcG4XWfupBVQ0yzKQ/x4j+dAz54=;
        b=VmioH8IeuirW5Xv2Xag81t/VCXwqwqU9hSBwu9BwMjL5xSdebSTm6+ho3M5zsunfLW
         RLD8cSf4GI6lOeVB/Hx9dtwTvSL6TQSHxwjdOVIwYL1NtyNPLc9sn+3AP2q+Ma5IGzl3
         BHekpOkeDtrDcFzgJKWbAGwTiu06y7ik7hqwH5fHd4e1YdrLK65uRYnT95LKuNqTJft/
         92tR8Rh0wpFz9Uj9i1EoOouhKZjPJj/8oYOnMEAq5E1zc72fjXhQn8tOgVT97pW4C661
         fvL38UCObOV+hM5IFjAKzxbS4U0GJ3RqFT6okJsaV32dMa6IGWvQetXfxlz7NQUPbh5V
         a6tA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782287425; x=1782892225;
        h=content-transfer-encoding:autocrypt:subject:from:to
         :content-language:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=KA8un9h+jkY6n7gmtcG4XWfupBVQ0yzKQ/x4j+dAz54=;
        b=DpCFjKPARERtL7n7vYFLLDOSvNNL0yxmNFM/+c3l0pwD0lHyxHluj0/B16IP6y3RsU
         +JeYevJ+D61Q8SEeDgHH+LceGVCpE1Y6DlXScR9J4nIBXAVV0TG5qv8dGV5xetc9LkWX
         FAn1O3l3JPfyYfp0Sth7td1DeVW374rK2N53MmxRDYorNsGdeRrozuY14c5ZaujzvzGo
         zU95hzMU/UatqJChdXtmbZ1bxAK3SsxaUIUqu135YVMwBr1vCPtrqHXuGENdVKo2DTSL
         W6ST8RPnzmCgqj8o6XVgwMD3LGTVPWj63hBBObtTryPZ+Vd//vdQfA8lIfWZfh1/Sisb
         0Nww==
X-Gm-Message-State: AOJu0YyMv5lRKmQLTLE7/5Bknv9xNZyV2+PT6EfC9FZ2YAzfafmXVJv7
	Kv4LQ1Qy4oFPPMtcDfxgb2spVCNXCfn7SZDOYSVxo6HyT9CKlZCDDkdWC3LOckcDe/tgDevs/5x
	gEr0vyw==
X-Gm-Gg: AfdE7ckgiszcacUltvYRdRZp7pauXkMmRyVX4QyW0Rtj8HRw6LXl5UQS2yiCaHPod3g
	O4kTWuTVZmUaq9JTZ+ue7U1BcO8TG6kAMSVbtEgQX3F76eRG6faJxEolM9mz+dqN5U+yNZya3fI
	cgLHP4xL7Q5WNg2SbQi1Jl8QEaTGTx+uQ81j/J1I028TgkWRNqRuZgO4A3D6TpwCGjaMCsXbcHN
	VvEte3Umja9ZHGJGrGq8dU24f5SNT1H+I3JuITKxMTrnvg6hSFhTTS196Bh0icBnGQieM4ylWMc
	+L8QHzjnXTyNtDaExeHx+fkwbCHFYlHl2Tl5eaqD9U74bPTrSMvJUK5r7/6/s+e/ljQdJdkUKgQ
	pUnZPHM8peVSLyx2Y+WjU05sdgXw9EkmryGn1Yv+ejswGiceS92O4AaHEi/dlTPHptbpgUrFEco
	/+13LnXX9ul3utCdHOWMLzqa1BqTJtWkKUR3/DiFWEM7ZlIpeiCMKB2ExZnpvOey85nPCTPxmFX
	78LGEwp2ZMhTyY=
X-Received: by 2002:a05:600d:8499:10b0:492:5551:19c6 with SMTP id 5b1f17b1804b1-49260840b4amr20863895e9.7.1782287425183;
        Wed, 24 Jun 2026 00:50:25 -0700 (PDT)
Message-ID: <fe611607-c4d4-4db0-85a2-445bbec5fc47@suse.com>
Date: Wed, 24 Jun 2026 09:50:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86: sort obj-<...> list of main Makefile
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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
X-purgate-ID: tlsNG-ebf023/1782287425-46BD7141-816D53AD/0/0
X-purgate-type: clean
X-purgate-size: 1980

It is mostly sorted, but there are anomalies. Eliminating them gives
people fewer excuses to (blindly) add to the end of the list.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Of course sorting with underscores or dashes in filenames is always going
to be ambiguous: Some may prefer C locale sorting, some may prefer sorting
as if non-alphanumeric characters simply weren't there, and some may
prefer yet different criteria. But those corner cases probably aren't even
worth formally settling on a particular model.

x86_emulate.o coming rather late in the list may want considering to make
an exception for: It takes comparably long to build, and hence it may be
best if it got scheduled as early as possible in a parallel make.

--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -33,21 +33,22 @@ obj-y += emul-i8254.o
 obj-y += extable.o
 obj-y += flushtlb.o
 obj-$(CONFIG_GDBSX) += gdbsx.o
+obj-y += hpet.o
 obj-y += hypercall.o
 obj-y += i387.o
 obj-y += i8259.o
-obj-y += io_apic.o
-obj-$(CONFIG_LIVEPATCH) += livepatch.o
-obj-y += msi.o
-obj-y += msr.o
 obj-$(CONFIG_INDIRECT_THUNK) += indirect-thunk.o
 obj-$(CONFIG_RETURN_THUNK) += indirect-thunk.o
 obj-$(CONFIG_PV) += ioport_emulate.o
+obj-y += io_apic.o
 obj-y += irq.o
+obj-$(CONFIG_LIVEPATCH) += livepatch.o
 obj-$(CONFIG_KEXEC) += machine_kexec.o
 obj-y += mm.o x86_64/mm.o
 obj-$(CONFIG_VM_EVENT) += monitor.o
 obj-y += mpparse.o
+obj-y += msi.o
+obj-y += msr.o
 obj-y += nmi.o
 obj-y += numa.o
 obj-y += pci.o
@@ -62,14 +63,13 @@ obj-y += spec_ctrl.o
 obj-y += srat.o
 obj-y += string.o
 obj-$(CONFIG_SYSCTL) += sysctl.o
+obj-$(CONFIG_TBOOT) += tboot.o
 obj-y += time.o
 obj-y += traps-setup.o
 obj-y += traps.o
 obj-$(CONFIG_INTEL) += tsx.o
-obj-y += x86_emulate.o
-obj-$(CONFIG_TBOOT) += tboot.o
-obj-y += hpet.o
 obj-$(CONFIG_VM_EVENT) += vm_event.o
+obj-y += x86_emulate.o
 obj-y += xstate.o
 
 ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 08:01:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 08:01:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344631.1603676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcIYH-00035R-7S; Wed, 24 Jun 2026 08:01:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344631.1603676; Wed, 24 Jun 2026 08: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 1wcIYH-00035J-4w; Wed, 24 Jun 2026 08:01:41 +0000
Received: by outflank-mailman (input) for mailman id 1344631;
 Wed, 24 Jun 2026 08:01:40 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcIYG-00035D-67
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 08:01:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcIYE-00Gtbi-Dn
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 10:01:38 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3b8edb-e002-0a2a0a5209dd-0a2a4509ca0a-46
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 10:01:38 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3b8ee2-4999-0a2a45090019-d155802cf1c3-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 10:01:38 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-490b64c8311so8698975e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 01:01: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-49260d77e8asm22496535e9.1.2026.06.24.01.01.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782288098; x=1782892898; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=gd0dfrqKy13e0AbTlocRdKdvDXX6WWWn7haamKHYF/E=;
        b=XJXmVO5jc2UcFjde8GO/JMghnL+oZo9fq+g0Qfyt4mqgNKwJ+TW5OXaV10brhntbtM
         mCnoFrQn/sLX9SPvWEdViVnTFZYsYwBGCkVHEQBpwNwyLQH9G7nbUT9FdNL5WWQY4sDc
         r9mSH3B1eP4n0vG04iKJlR8a68wun4Wgb/IV8R5fo7AlD8+AZPxihve9ZAADFY/vopyz
         DgsPBkIjzXd62TQS/5xncq/jhbauh3Jj9BLXhQGhPE+5Lqd7hqmLgXNzuMl1iFQgUwL5
         YCd6X8+84lnHr7qQXIc0guFBR9/gt7Rsw8Mw7gKBnog2gxbIW131PcMFvu5RX7yyF/bF
         3Jvw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782288098; x=1782892898;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gd0dfrqKy13e0AbTlocRdKdvDXX6WWWn7haamKHYF/E=;
        b=TAHPCYkIr6ULYSqGTGnZlG0WhW41Ij7jfCRUzF0eQAoJBRkwcvEhw/hEGZm7e54lDu
         4m33sV3s6AtJsZB5yMaRZR7gCA5zP25Wn9j/8D5pT534j8DGqI4ZInammtUgtzP7KpyV
         IFcSU4MGz5sHD69XSpI9B6SCEwn9XD3UNG6s0v5lC3RkQ27Q9HBaQB7+TzBf3abcJOIp
         M1175k6yOkk0+IYGUivr6jzfNaPT+o4alZxT/BBSJauqaUgdvyWm6HfK3Dk9DggpNiVa
         H+MUaCJTCkuwKpcJxp+TE0a/r5CyVuh/lPcRNgV0K/91AnU16I1QN6OS3rynZUU6acEz
         vKYQ==
X-Forwarded-Encrypted: i=1; AFNElJ+vf78+yDNQoBJB/z/ZT6iUupxwMLgm477Y0qLz4nnZHkBkB0ah9enRxzoQRDw0TVOENyTAwBszVeE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxCTvKb+n3Q8KKAfraxBUCdhKQ5wiZrGtFI4gxCgI2vDm2iu4kH
	c3f9DRAxT/igTKiZdThPbo3BO8QckWBJAVYeFwzoX2fN3KMUSlt7GJ5zLJv09cdszQ==
X-Gm-Gg: AfdE7cniex2tPmVk/lp/QXdZDOQfD/r1qfSsyLhMcH/CQtCLUFJ+qDiH6sUwMOAfx/z
	GKu+7rxfLoseZTTeVE/IyHBD+jquD1pajOZ0dYgbqfOn1KnUjdcCMIxMSOQ32i2vGr1t34VLU5R
	2hNKqEYrvC+J+WBOVVqgvx4Q/bEksX+PsQNQdg/N4/WGGg7csNveEk3+GHjdSA3mKY0e68NbYnC
	2UrvdnMu2UuhP6CdmSCjNGBKOXNv0fcR/lNWUiTxCRQ6Z3bYL1mr5FZoSS6R999Dz0TrRoHhiRJ
	xsSBBB+LjGWLUc4/XzZGpgCO922DbxWJlO1hhQsfbzLRjmsG3eQqZ2iIkHDnE0nohvB6gp8+oA0
	NGAKfOCLeKrqHYxFneXVm5yUiajaDsxb2dL+FnTULrEn+1xBCeO+q1JQf9hlIlQE22P8FvHthAl
	eh7fhdfpvZ3qNlLMrjUjlx+qF5+dTPsncls0BiCTOJdEt4oCcGRZGPp0gUPh7rgGSNPbLwO1Sdj
	l8YZ82v5m8Tefk=
X-Received: by 2002:a05:600c:8518:b0:490:a298:acf7 with SMTP id 5b1f17b1804b1-4926086d16bmr31787445e9.17.1782288097535;
        Wed, 24 Jun 2026 01:01:37 -0700 (PDT)
Message-ID: <d7920786-7424-4634-80f0-994ea2857d1c@suse.com>
Date: Wed, 24 Jun 2026 10:01:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] char/ns16550: bound execution time of
 ns16550_interrupt()
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20260623103145.76383-1-roger.pau@citrix.com>
 <06c8caab-4722-4b02-991f-bdc4a4ac0ea6@suse.com>
 <ajqVNtt02XMUGk-X@macbook.local>
 <cdf9f154-896d-4faa-8c76-ca15cf5e706e@suse.com>
 <ajqsQr-bhf4SGf8Q@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: <ajqsQr-bhf4SGf8Q@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1782288098-F69E7744-DE503520/0/0
X-purgate-type: clean
X-purgate-size: 2614

On 23.06.2026 17:54, Roger Pau MonnÃ© wrote:
> On Tue, Jun 23, 2026 at 04:27:12PM +0200, Jan Beulich wrote:
>> On 23.06.2026 16:16, Roger Pau MonnÃ© wrote:
>>> On Tue, Jun 23, 2026 at 03:44:06PM +0200, Jan Beulich wrote:
>>>> On 23.06.2026 12:31, Roger Pau Monne wrote:
>>>>> +    if ( uart->force_polling )
>>>>> +        return;
>>>>
>>>> As the IRQ was disabled, is this even possible? I.e. should this be some
>>>> kind of assertion or alike?
>>>
>>> Hm, I wasn't setting IRQ_DISABLED before, and hence needed this guard.
>>> But now with IRQ_DISABLED being set in ->status do_IRQ() should filter
>>> any stray interrupts.  I will attempt to add an ASSERT_UNREACHABLE()
>>> here.
>>
>> Simply ASSERT(!uart->force_polling) should do here? It is not wrong to
>> run the code below in release builds in such an event. If we kept getting
>> interrupts (perhaps at a high frequency) we'd be in trouble anyway.
> 
> No, I'm afraid I can't do it like that, I can't put an ASSERT there,
> because we can still get into ns16550_interrupt() after the interrupt
> has been disabled.  In do_IRQ() we have the following loop:
> 
>     while ( desc->status & IRQ_PENDING )
>     {
>         desc->status &= ~IRQ_PENDING;
>         spin_unlock_irq(&desc->lock);
> 
>         tsc_in = tb_init_done ? get_cycles() : 0;
>         action->handler(irq, action->dev_id);
>         TRACE_TIME(TRC_HW_IRQ_HANDLED, irq, tsc_in, get_cycles());
> 
>         spin_lock_irq(&desc->lock);
>     }
> 
> So if the device is generating further interrupts in the window with
> IRQs enabled (while we execute the handler), we will keep looping
> around this, without taking into account the setting of IRQ_DISABLED.

Ah yes.

> This is something that we might want to fix, so that the loop is bound
> by IRQ_PENDING being set, and IRQ_DISABLED not, ie:
> 
>     while ( (desc->status & (IRQ_PENDING |Â IRQ_DISABLED)) == IRQ_PENDING )

Or perhaps ahead of the loop

    desc->status &= ~IRQ_REPLAY;

    if ( desc->status & IRQ_DISABLED )
        goto out;

    desc->status |= IRQ_PENDING;

    /*
     * Since we set PENDING, if another processor is handling a different
     * instance of this same irq, the other processor will take care of it.
     */
    if ( desc->status & IRQ_INPROGRESS )
        goto out;

    desc->status |= IRQ_INPROGRESS;

thus also having the comment no longer describe only part of the conditional.

(While looking, I also notice that IRQ_REPLAY has been completely useless
for perhaps a very long time. I'll make a patch to zap that.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 08:10:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 08:10:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344640.1603684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcIgM-00046G-W2; Wed, 24 Jun 2026 08:10:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344640.1603684; Wed, 24 Jun 2026 08:10: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 1wcIgM-00045n-Sv; Wed, 24 Jun 2026 08:10:02 +0000
Received: by outflank-mailman (input) for mailman id 1344640;
 Wed, 24 Jun 2026 08:10:02 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcIgM-0003r5-0H
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 08:10:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcIgL-000vtE-8s
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 10:10:01 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3b90cf-2eae-0a2a0a5409dd-0a2a450ae46e-34
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 10:10:01 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3b90d8-93a5-0a2a450a0019-d1558033cd1e-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 10:10:00 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-490aaeabdb4so4624735e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 01:10: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-49249207dabsm643814715e9.0.2026.06.24.01.09.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 01:09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Autocrypt:Subject:From:Cc:To:Content-Language:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782288600; x=1782893400; 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=he2PuSHZTY+9F4JP3Vl7GroBYvQJNz23URPwaek4d8w=;
        b=c5iNvEikCuqUam/j/XwD/DbWl7i7LiRuppeKk5zonk9tqBPhJWj9Z2A3H294VXb6lf
         l5nnmWaUEJDfkAkMYCfUbr06rXcvsNwIicXbWTy4h7R9/TsZIKHIbcg/WsbGrImBbzRB
         yMHEItq4IccskUKDCDhoh0NhGxOuIPdkUYOhTvzbtE4TmOAaAYVxPAjF65zA1RBQLJ16
         vAWIM/479bciGYWnfKzdo30YEIkbKHWMua/5MFfXPgZmGqJvbYyR9hkvruOqpAnkxNq1
         uSEjq08qrT+1oWwapscCuNE0tJjcOSzkduTgs3Udt97QWwkMlZPgdqvjOsTyOXHEHbYf
         u+tg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782288600; x=1782893400;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=he2PuSHZTY+9F4JP3Vl7GroBYvQJNz23URPwaek4d8w=;
        b=l/EDsDRtpdSpWPM8abkS++xv1bwMXDL/dCm/AbGT35oGkWK12irje72EiCLZXemQ23
         CRYBdQlV974kFv+YX8QfzzO0xFWz3CTD7V7hdVvtl1mYwhagN5a9zBHvgKUcSNhuv6HN
         oLFdGjCoLpnKlDJwI+BtJPusU4/P6Y1g8jHpqK/zeCyNlXDKwq4F+pm1SAfLAUX6Z2Yp
         Dm4uZg8f9K32HHaCYdVtDm6/m2xbtt6+6QyUXraFetVLGDhA2kQ6eRvhkCESbu96iY7a
         HHZDDJz6Mn43Ce+OgTrNpnFh7QIpgPHNJf/pp5OP6BB3fS2Dtr+6UFKhZqznSbSYnf5b
         IjTw==
X-Gm-Message-State: AOJu0Yxzf0AKDC9J/dBwONUjvMYzrQ8DU67NVYz2g+afNTpfTaC3vNFB
	ALne6vPiQ4Ze6dThEmeprMZGt5INN8CuTjjOt+GOE4MGMZOiAlI1PNTUmGFxQYr67UFv8+05n3d
	WlnBQiA==
X-Gm-Gg: AfdE7ckH2lrUHSnbsHyiz2aX9OHGcJRAgJq1SY4WpeSchoNpsDZKOufdHXWgv4VHnwG
	6/DYxImC3/454CfjjVpvlozXy0k7eXEoYdOrX+pt/9Cr/+VGZz5l5ZpMs72FbOI9yISsz7LSAZr
	4bXsyRFBb1ZVfh31w2gmPBATXJxXpX3g5jQvc/XmeeyC7UdcXhGQVkyxJ5dLyM58KF0YcHzOmVc
	IGwBwXMFHmTu/V+YSzqVqH1paLi+/MHTh/8P8GpNG3fLmVKPfPaA+K1WW+vXystKvKj7wNp25BC
	uKu/QuAtjmcCvkaVd3P5iV7kaU98CQZ3F6I/BurHQoUjjQYvdGK7/Vct3IEtCe1k/wKtWWyi785
	IRe2C3RaSYF0MWmVwHi5M+wwj73EYSwjbsBWlRdITyyciSQHMp89ofPxfCVM8ew5LXUr93+38Qz
	Y3WTz+5QOLmBm0PTMpB/fZTMMW+24RwGMi587qiWDiOKOiM6IXpG+r96c2wuc/4nKaQI6CUp6Ji
	0Qa+ERJ1WQdQE8=
X-Received: by 2002:a05:600c:1906:b0:490:d38c:7836 with SMTP id 5b1f17b1804b1-4926084aa9fmr29226205e9.3.1782288599787;
        Wed, 24 Jun 2026 01:09:59 -0700 (PDT)
Message-ID: <57e4a05b-0037-428a-ad55-08764b84e70f@suse.com>
Date: Wed, 24 Jun 2026 10:09:58 +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] IRQ: drop (effectively) unused flag constants
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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
X-purgate-ID: tlsNG-4011c0/1782288600-2DBF3DB8-D3598A88/0/0
X-purgate-type: clean
X-purgate-size: 1767

IRQ_PER_CPU and IRQ_GUEST_EOI_PENDING are entirely unused. x86 uses
IRQ_REPLAY, but only ever to clear the bit. Drop all three constants.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -2075,7 +2075,6 @@ void do_IRQ(struct cpu_user_regs *regs)
         goto out_no_end;
     }
 
-    desc->status &= ~IRQ_REPLAY;
     desc->status |= IRQ_PENDING;
 
     /*
--- a/xen/include/xen/irq.h
+++ b/xen/include/xen/irq.h
@@ -33,20 +33,15 @@ struct irqaction {
 #define _IRQ_INPROGRESS         0 /* IRQ handler active - do not enter! */
 #define _IRQ_DISABLED           1 /* IRQ disabled - do not enter! */
 #define _IRQ_PENDING            2 /* IRQ pending - replay on enable */
-#define _IRQ_REPLAY             3 /* IRQ has been replayed but not acked yet */
+/* 3 unused */
 #define _IRQ_GUEST              4 /* IRQ is handled by guest OS(es) */
 #define _IRQ_MOVE_PENDING       5 /* IRQ is migrating to another CPUs */
-#define _IRQ_PER_CPU            6 /* IRQ is per CPU */
-#define _IRQ_GUEST_EOI_PENDING  7 /* IRQ was disabled, pending a guest EOI */
-#define _IRQF_SHARED            8 /* IRQ is shared */
+#define _IRQF_SHARED            6 /* IRQ is shared */
 #define IRQ_INPROGRESS          (1u<<_IRQ_INPROGRESS)
 #define IRQ_DISABLED            (1u<<_IRQ_DISABLED)
 #define IRQ_PENDING             (1u<<_IRQ_PENDING)
-#define IRQ_REPLAY              (1u<<_IRQ_REPLAY)
 #define IRQ_GUEST               (1u<<_IRQ_GUEST)
 #define IRQ_MOVE_PENDING        (1u<<_IRQ_MOVE_PENDING)
-#define IRQ_PER_CPU             (1u<<_IRQ_PER_CPU)
-#define IRQ_GUEST_EOI_PENDING   (1u<<_IRQ_GUEST_EOI_PENDING)
 #define IRQF_SHARED             (1u<<_IRQF_SHARED)
 
 /* Special IRQ numbers. */


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 08:22:01 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 08:22:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344648.1603694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcIrr-0006SO-WE; Wed, 24 Jun 2026 08:21:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344648.1603694; Wed, 24 Jun 2026 08: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 1wcIrr-0006SH-TI; Wed, 24 Jun 2026 08:21:55 +0000
Received: by outflank-mailman (input) for mailman id 1344648;
 Wed, 24 Jun 2026 08:21:54 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wcIrq-0006SB-NA
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 08:21:54 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcIrp-00GHzv-D3
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 10:21:53 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3b9399-e002-0a2a0a5209dd-0a2a450ae056-44
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 10:21:53 +0200
Received: from [52.101.201.70]
 (helo=PH7PR06CU001.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3b939f-93a5-0a2a450a0019-3465c946707d-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 10:21:53 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by LV3PR03MB7429.namprd03.prod.outlook.com (2603:10b6:408:1a0::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.18; Wed, 24 Jun
 2026 08:21:46 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.018; Wed, 24 Jun 2026
 08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BO0QzjCg/l3NIfdz1KqnUMdgkG1US8W6H9fNnn+R5aGUGoy7GyLH8fzeVFATbaqpJ84LOYdvLugBVK6nVbaxwu8kVlfGW0oRrj9xiNNlB8xkfZ7ID1kcxu4JgMV/3GLnVwh5n80ZMYJC+l7PnTZzyi0RxciO8FkLG0udVONhzcAy3tgp4P61HJGgoh1NS9M5TSIm9BXYHB+X6sJ/8AyYD9tkjuJfX+/hRLMcNyS2oZk/B06HujFvIgW7XoyaWZLvLynPoGWKWw16Z2tKkJZhwmGINRj32wby5FKFD4zHBOyra5hRDtseZ3nc9SJT/NsEzrmZSo93pcUVmC6eYYWmJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=J/CewV62x9WgG/6xZQ2FScq/QDaOt82ejKoM7fyEWoQ=;
 b=UQTmcS1wrm7Xz3hNCQES4yFgBX4DYHxhiHDI/EP6HS3wLH2/pQpeb5h33sv96eNhA9QIDCZeNh7P1aTvUwY+dp1nQPwN8v6CC0tWhygYJPA0In8bXsmKudI7g+wWYaAYBVxmxM4WMOgeMmVWr+MNXg0blQjtP7I3zQiaAjlmrwO1KJH5W/sVCS80ods2inTf2lkIeGyqc4tD1QoyloZ5B4KocGO6YoOe14hPe+4jYG3KIX1xfLNnHDTClAeiM+jMMzKmYGoblvrJje6kuRa+EKHpk1ZzpkEJmCEEa7antWXGMfOuFZpBa2OOjGF/xuMyMu7CCdZQeB71jCyNhiSHsw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=J/CewV62x9WgG/6xZQ2FScq/QDaOt82ejKoM7fyEWoQ=;
 b=yzg0JW9lQxb1cszlEAt7Z7YlAJRJEF7IrwKee/4ppztIRJ0t28MFjuN17cSoXO8YEOpvVx6b+y+APKb2iZLVpmlK2hDv7Urwgnw1RpgnI5+6dYZO1PivKJuuM+4BJUuCG8IGVmxvfBMLnJ8u+34TuKA47NJeSlTDfABAnSjAMD4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <74d7db00-f4fb-460a-b954-942776405f4f@citrix.com>
Date: Wed, 24 Jun 2026 09:21:40 +0100
User-Agent: Mozilla Thunderbird
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>
Subject: Re: [PATCH] IRQ: drop (effectively) unused flag constants
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <57e4a05b-0037-428a-ad55-08764b84e70f@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: <57e4a05b-0037-428a-ad55-08764b84e70f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0556.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:33b::6) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|LV3PR03MB7429:EE_
X-MS-Office365-Filtering-Correlation-Id: b77a8f7c-75a9-40c5-36eb-08ded1c9a002
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|1800799024|376014|366016|56012099006|11063799006|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	bgQYsQVZo+i0rVtKrE0FEuvEhKT6TPEK/lrsjZ9Z7gytTFbOJwlu4k5KkzuZ7nd8yG9R/Z9kypXxRXQYOeP4a7kh76qMVJh42E0uTYqQ3DeGWyNkC2o4RGCCJcUWG6sBJyPzAN7gmx2Tx8aQ620r4Q4yheWL+e1SUFfdpCn6aAVDLTNSCA4AgO9wYjmFn42TgfxOHVsHaoIYlp2hU82nXiLLPqjL7cEnGJrz+iQNsAAcvM8DR3JRkfUyctJUR7TwU3PNX4ksLzCvd+NqGHtHaxph7jK03UtuHvgjsl74J3+zn6Im76SugSUo3aLpKd/api4i6q1PudDRzkJcsLb9lrJJGOH8Xg1PGb0O47yhxiHFAC1zm2I/+hPsBIV5P2rOzB1aQWq+0wEVZ6DNuMdP5Z+dBLii7eVoVCNSRCHPNGW34NL3uIn6u/pBN1E8FZrdnUq1zmdhL/1oFrEnFVPqdhVxImURY65O2snJAMo5ClAGyjZ3jfzB5nR0GVOWZ7I+LYIw685jxFtRvN2hdnBLm6hLmH4SGEE0K4UCIUZeDM38c/b7ComV0iUkSEBO3pOM4+TcsCVnyX1Ntajwbsi2WolT+1RJ2ny+1r4f4GZ14LSGOobLE01LTBIrpnshimy9NTCSEcYsqTmGslTLFHg4QE5ADvy8eU8NiRzQTkAax38=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(376014)(366016)(56012099006)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dVpjektTMFhydnMvYlFnVmJ0bjdSQjdGQXFDYU1wcjJsK3VjeHpmYkdrQWZN?=
 =?utf-8?B?N21JUm1iNUZSQWg0RU1vZDUvcFBYMndTNFFMV1JJaTBEcGx3ckI0NDVsaTRK?=
 =?utf-8?B?Sno5Q0pOcUMxU25YTGhBVVNtQVRFc1ZmTlkyRHdVcWZIdUd1bWdsQVdoeVB0?=
 =?utf-8?B?elpoc1N5RkNyWVpzRWY2cVZpWjAzSHBuSURPNzdob2M2bmdMcEMxbHNsZk5w?=
 =?utf-8?B?UkRvemtWWHE3a201NVV1Q29hVlBqdEk0b2dpMmUxVzR5ZkFlTlJnRzcyRlJt?=
 =?utf-8?B?WG1uMUlWL3JDbDJHRTE3dVVpYWQraEJUQUQrWVR0RHRtcHo2cUx2TGt6WnQ1?=
 =?utf-8?B?a1FSNUQ4bkVINFk2SzBrUEVzNjhEcFdvZVFib3NuTjJCWkdFT0lUa1U0UUhT?=
 =?utf-8?B?UWM2cVlKUUxRVk9ENEhwbC9jUjJlSUdQc0FQalljbjZYQVVpWjVBRzF4S2lr?=
 =?utf-8?B?em94RnlsVE5idWtLbTVGOVVEN1U3Nlc3WkpSbFhNZnJyTzh1TFQyUll5b25v?=
 =?utf-8?B?K2huMzhLUCttTTljNFZzZTEyWXdDUHhYSFBkS2RJWCs1enVzTUZScVVFaE5O?=
 =?utf-8?B?Z3l4MXVhMWZoKzVuVThxcGlaVHR4QjgwalpPNVZyNnIvL1pjRUwwcEx2a3Bp?=
 =?utf-8?B?enphem9HNEtjQk5MSldkc0w5TklITnZWazhBWXZNVkM0dkxDQmY0YWpvL2pa?=
 =?utf-8?B?dEI3VEV3YXJHd01tcDRVUC9BS05ab3BVTTZmVGtsWU54N0ZpTlBkbkZ5WWN4?=
 =?utf-8?B?OVlnZkMxanhtVk5GVUE2UHZhY011eTFFbDVhUWNka0VRcE8rRS8wSm1ycVVI?=
 =?utf-8?B?V0RXeEVmNzZFdlIvbVBTTEZ4T21LaEVOK3ZqaEk1dmhYZDNmU3lYa0I0NEJI?=
 =?utf-8?B?WlkxWmhyeng0cG0vMEhPVXZtQm4xdjUrODc3TXM2NXBSVmZxQjZSWEMrRXBI?=
 =?utf-8?B?VmdLdU1JWURuaGs2aUdKczFuRUx6M0ZPdnpkZHBKSWllY0t6Vmk2WE9veERH?=
 =?utf-8?B?TjlIdENUQUVSV3hTelY1TDU3Y2hjT1RVQ2tRTXFVZU93TkdPcDVpRlRHSnQy?=
 =?utf-8?B?bFhzYkRSNFI3ajVQQTgrTkVpWEZCbFhnaHRsa3JOa2RrM2NsY2xPWkF4cWo1?=
 =?utf-8?B?T3AwSUhXVmJIalRsTlZacmxMclovREJUNHFwVHhUc3lnTlU1TFJtU2ZhOE5X?=
 =?utf-8?B?Wmx1U3lrdzc0N3E1cFAvc1A5d29VU2VpbVlFcjhXQld2bnZKUTFINW93UVBR?=
 =?utf-8?B?N3EvUDZYYXB4YkhUck1JQks1M0hGM1FDc20vV0hpaU1NNnhiUjFHRHZDM3hN?=
 =?utf-8?B?b0w0Yno5WUVINXBVYXloenhHeG5hbGpXaUhLNlYvSExCMW1iYllYMTlsWTc3?=
 =?utf-8?B?SjZDR05Rd1NiclZGUkZRTEVreGJ6c3dDV00yL05KNEpzR1EzSTFHMjk1RFlk?=
 =?utf-8?B?Skx0a3lZVXpiWDhJb0dVSUxRRzJWZUQ2d1RSSVovSmhYSmNDOHpTVEVwZ0Ru?=
 =?utf-8?B?UGlpQTVEd0lzN3JXbU9UMHNrTHZXK0NlWDlyTjE1ekRkMTdONHkrZGZ1L2xR?=
 =?utf-8?B?c0tYaFIvcG5UVVNXZXptcVVvczdOenFkWGZvOGpEbWZHZmI1VTBLN0Rib210?=
 =?utf-8?B?dDdNTWpDU09jM1NmMkt4d1ROOHNzdWQ5RU9RbWFXSE42bWhLamE3OWsvL1hn?=
 =?utf-8?B?NWlmRExScjl1VGhnUC9JK3gwSGljQnRIVEg5MklpcFlTdWtVT2doOWt2TlVY?=
 =?utf-8?B?OGNEa2p1VisvN0ZTcFo3TGtrbHlsaUZvQVFiOHVyWndjdVp6MUJhU3VXRVB4?=
 =?utf-8?B?dUFzUnpEZXlKOWorSlUvdVA0U3p1K3ErNlo2RTBuODJoL04vMFVVZTk1VFpL?=
 =?utf-8?B?MmVzTitYdzZEZVVaQk5CeXZJQXlaVG1BTloxS0twd3BSaFQ2a3I1clRCWkpm?=
 =?utf-8?B?bmVQTFgwd05tU1lKbEplYkVYeEtrQWhZWmxXcDNScmNCczU4TkcwN0FEL0wv?=
 =?utf-8?B?MGJhWVdIdnZRL0FKeFg3ektKMEoyUjIxdWVzRDNUSjArMXgzMzIzb3h1VWI4?=
 =?utf-8?B?cVdkVVdsSGpYNzRpSWNFTVZ2STFTT0pMMjM2c2JxTG5WN0paSi9QdGo3NTdt?=
 =?utf-8?B?cWFsS1UxUFI0NnhWeW5SWTZ4NForNVhOemVUN3J4UGo1VHBEOVZxdk5IMHU5?=
 =?utf-8?B?dVBpbkJGYVNBVWxiaTQ1MlpOaUcwczZZYVpOMnhMZFpMb01WV0NSeFFPT0tk?=
 =?utf-8?B?YWg2V3UrNFJwbGpUNUVPYTR2Z1RnZ2JMd25tTXJUZ1lhOEVwZ0QwNHBpYzJK?=
 =?utf-8?B?S0lzVjN5T0RSckNVa08xc09nVXdyKzlRRUE0YnlDREhhZFQxOFV3N2VVNVRF?=
 =?utf-8?Q?3SqHhBKn6vAJjstc=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b77a8f7c-75a9-40c5-36eb-08ded1c9a002
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jun 2026 08:21:43.7207
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 05tTy73Bz7QpqfzMNHnt4x5iBhtpEXApLpuK2D4dd+N/xhQ+axwwnxw0FtEt4BnEVcT1AJA2fASVPW6hI6/ONVf5C/6rBOtFmstD6d2sO3s=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7429
X-purgate-ID: tlsNG-4011c0/1782289313-B3BE3DB8-60E1574A/0/0
X-purgate-type: clean
X-purgate-size: 295

On 24/06/2026 9:09 am, Jan Beulich wrote:
> IRQ_PER_CPU and IRQ_GUEST_EOI_PENDING are entirely unused. x86 uses
> IRQ_REPLAY, but only ever to clear the bit. Drop all three constants.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 08:50:46 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 08:50:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344661.1603703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcJJW-00025x-7H; Wed, 24 Jun 2026 08:50:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344661.1603703; Wed, 24 Jun 2026 08: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 1wcJJW-00025q-4O; Wed, 24 Jun 2026 08:50:30 +0000
Received: by outflank-mailman (input) for mailman id 1344661;
 Wed, 24 Jun 2026 08:50:28 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcJJU-00025j-Gh
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 08:50:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcJJT-00H5MH-69
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 10:50:27 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3b9a4d-e002-0a2a0a5209dd-0a2a4503c0e0-36
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 10:50:27 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3b9a52-a3da-0a2a45030019-d155802dd0f4-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 10:50:27 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-4903d730b1fso8385665e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 01:50:27 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4924944fbbdsm395209215e9.12.2026.06.24.01.50.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782291026; x=1782895826; 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=jfe2qlxyE0D//khTY+X46zQ0GdXyLBbQ/2dax9QnHBA=;
        b=rTuXrntpNoE2K9e0t1WMw4kL+TrDxemxYaG5lSw4VHbuC0m1a/Jr6qntSKbQ26yz9Q
         yxNgI3puFU3vNhyhJgUxrMIoF65EsoKTkQ1afLeXo2EQVFl/L5kOQrqLudd0sI1chwD1
         Olm+3ntTGPckdTLJ+b7Va2eWJqLL7sxhNRM6PYoXcv84fu6vo1kDrvXLrNoK1/Tc2wZN
         1Li3oCH/EPU79CUlFyIKl7Ox4oEpE6nT/AuDjJXID4LAmRnMeIiHvGk9NgbcbbuvwHPZ
         qu+/D1TzGDzxwKX7Q2t29/VDciYcifrCn99plQe6l0evFTSj03/UT8Xz2oIaz1ig/cLP
         n9PQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782291026; x=1782895826;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=jfe2qlxyE0D//khTY+X46zQ0GdXyLBbQ/2dax9QnHBA=;
        b=LV0FkYnROnk7SpJJMmbeQhCbzdY8K9Xt+8dtMmmc15ArmaEqNd024KZCsL/cs8rX19
         mZjnj9tQTrQWBH1gUryRT/RpoN6FJqD0sUFmBKWbDsOa4Z6Cp13F+v+Z60Pq7VQjQe3R
         5W+tQhLqxKIBajMryetXoWeUhyOxkyLBbcGVV3bKBuNFpitxWZIhhhwgm12IR9O2lRdT
         fZUXip+80v9nAvlxG9dttFvMEcbuiMAz3rhmfAz8bFslsgGfXqv5DyG9y1Tc2+qzx/4/
         1SCg9DNhbtCM+OYb7K4NebM2tWZ/tupRnR0FPv88OcprrcRGsiuwJEoSv3laVO9XAX9L
         O7ng==
X-Forwarded-Encrypted: i=1; AFNElJ+lY/nqZonyhS5/AMrNH7YBfAaUSPq+LW8BRV2sKQLFr1iBfFcadTg6C5LWbydfbRpIoTMNA10VmeE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxDzBsChn+CmmoFKQRJBPidChmxpZPYWloQkpWAuCG2WGog71XP
	6EK8JMU1rZ1YLQGLa2KHzBvg9ZEjcoXHpyjO8ftVBEdhKcD0Mnjx0ub9
X-Gm-Gg: AfdE7cmIJ9nHDkkdOZErUv2JIHB3TDJ7hQRxX2v/0ImkfoBmR4LEhoW9JxVYO7s1TPP
	Lm2t9JrBhYi8hReB7FgbSbI1ID9I8ncHF10QREA7p48pC7aKOo2bsRFz/5vCJiDEoOawEMvCvkN
	tE1aQIHW91Pr1uw+b+7hkFLT6ToFCgw2kyYiu1V8pM6TCU4ufbfa5ImVk9E0NJqHXHoUPtW8Yz6
	SfXINA5BVxyzGohniBib34qmoabq7UUNDswuO9HeH1QoqIDmuFLKpCwNbWLpbPc1lHZ5bfapIE6
	FNzqtUYtQgXN4FbAtOGsJ5CuK2tgmMyzgkm76O8bu/rse6AZX/YXTXCKytvs/jHHkfeShyhhRM2
	03/QnSPRQ0+Ezva1CYox34naEColRCuEcuH8KQhoznFKhPWA/sIuT+b2Zi2Ubz8qkqd6zxW0rl4
	ZZsuxOl/BlYWefA+FrzuA3qlibam46ZjqtCn2Gn9r/03VzPnbE1TcCRxU8alHcO4kVTVo0QJ3nO
	dGgZg==
X-Received: by 2002:a05:600c:4e51:b0:490:e60b:6860 with SMTP id 5b1f17b1804b1-4926084aaabmr30277485e9.7.1782291026321;
        Wed, 24 Jun 2026 01:50:26 -0700 (PDT)
Message-ID: <f41b600c-04a3-4ff8-adfd-f101c18f853b@gmail.com>
Date: Wed, 24 Jun 2026 10:50:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/2] xen: introduce CONFIG_HAS_SHARED_INFO for archs
 without a shared page
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>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1780494838.git.oleksii.kurochko@gmail.com>
 <7ed7b888e203b7cc6c3a3a82b3bcc89d90b3fb48.1780494838.git.oleksii.kurochko@gmail.com>
 <d63a3877-286a-43fe-97fa-301985c3a0ac@suse.com>
 <5ca82079-4f94-4f2c-87ea-0ba54236ff72@gmail.com>
 <f561a2ad-83aa-4692-9e96-148e688c806b@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <f561a2ad-83aa-4692-9e96-148e688c806b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1782291027-641F5D84-4373F23D/10/73395122804
X-purgate-type: spam
X-purgate-size: 3879



On 6/17/26 4:24 PM, Jan Beulich wrote:
> On 17.06.2026 16:02, Oleksii Kurochko wrote:
>> On 6/17/26 3:26 PM, Jan Beulich wrote:
>>> On 03.06.2026 16:25, Oleksii Kurochko wrote:
>>>> --- a/xen/common/domain.c
>>>> +++ b/xen/common/domain.c
>>>> @@ -320,9 +320,9 @@ void vcpu_info_reset(struct vcpu *v)
>>>>        struct domain *d = v->domain;
>>>>    
>>>>        v->vcpu_info_area.map =
>>>> -        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS)
>>>> -         ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>>>> -         : &dummy_vcpu_info);
>>>> +        IS_ENABLED(CONFIG_HAS_SHARED_INFO) && v->vcpu_id < XEN_LEGACY_MAX_VCPUS
>>>> +        ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>>>> +        : &dummy_vcpu_info;
>>>>    }
>>>
>>> While the change here is likely okay, it points at possible further omissions.
>>> You've dealt with all uses of shared_info(), but you've left alone all uses of
>>> vcpu_info() (and __vcpu_info()). Reads are presumably okay, but writes to
>>> dummy_vcpu_info open a side channel for possible info leaks. Looking over uses
>>> in common code, no code changes may be needed; extending the description may
>>> be all that's wanted here.
>>
>> Isn't there already a side channel that could allow leaks, even without
>> this change?
> 
> There are multiple aspects here. First, for PV secondary vCPU-s cannot be
> launched when their vcpu-info still points at dummy_vcpu_info. HVM vCPU-s
> make very limited use of vcpu-info fields. Writes look to be limited to
> the evtchn_upcall_{mask,pending} fields, which isn't really an info leak.
> 
> My main point here is: None of this goes without making clear that the
> necessary auditing was properly done.
> 
>> The change here just made it worsen because now info leak
>> will happen for all vCPUs when  CONFIG_HAS_SHARED_INFO=n.
>>
>> I will add to the description the following:
>> ```
>> With CONFIG_HAS_SHARED_INFO=n all vCPUs fall back to the global
>> dummy_vcpu_info, so writes through vcpu_info() could leak data between
>> vCPUs.  Reviewing the write paths in common code: the write in
>> map_guest_area() stores the constant ~0 so nothing serious will happen
>> if it will be leaked; the event_2l.c paths are unreachable because the
>> preceding shared_info() call would trap first; the write in
>> vcpu_info_populate() targets the new mapping buffer, not
>> dummy_vcpu_info; all remaining writes are x86 PV-specific for which
>> CONFIG_HAS_SHARED_INFO=y.  No code changes are needed.
>> ```
> 
> As you start with "common code", how come the "x86 PV-specific" part is
> still there (i.e. relevant)? Isn't all PV stuff in x86-specific code?

Good point. The "x86 PV-specific" part is not part of the review of 
common code. I mentioned it separately to complete the audit of all 
write paths reachable through vcpu_info(). The intent was:

* the writes discussed before the semicolon are the common-code paths;
* the writes after the semicolon are outside common code and are x86 
PV-specific, where CONFIG_HAS_SHARED_INFO=y anyway.

To avoid the ambiguity, I can reword the sentence to make that 
separation explicit:
```
With CONFIG_HAS_SHARED_INFO=n all vCPUs fall back to the global
dummy_vcpu_info, so writes through vcpu_info() could leak data between
vCPUs. Reviewing the write paths in common code: the write in
map_guest_area() stores the constant ~0 so nothing serious would happen
if it were leaked; the event_2l.c paths are unreachable because the
preceding shared_info() call would trap first; the write in
vcpu_info_populate() targets the new mapping buffer, not
dummy_vcpu_info.

Outside common code, the remaining writes are x86 PV-specific, for which
CONFIG_HAS_SHARED_INFO=y. No code changes are needed.
```

Would that wording work for you?

Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Wed Jun 24 09:00:58 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 09:00:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344670.1603711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcJTY-0003jh-3g; Wed, 24 Jun 2026 09:00:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344670.1603711; Wed, 24 Jun 2026 09: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 1wcJTY-0003ja-17; Wed, 24 Jun 2026 09:00:52 +0000
Received: by outflank-mailman (input) for mailman id 1344670;
 Wed, 24 Jun 2026 09:00:51 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcJTX-0003jU-3a
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 09:00:51 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcJTT-00DFLR-Vg
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 11:00:47 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3b9cbd-e002-0a2a0a5209dd-0a2a4503d19e-10
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 11:00:47 +0200
Received: from [209.85.221.46] (helo=mail-wr1-f46.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3b9cbe-a3da-0a2a45030019-d155dd2ed08a-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 11:00:46 +0200
Received: by mail-wr1-f46.google.com with SMTP id
 ffacd0b85a97d-45ef56d9b67so646804f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 02:00:46 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-46c221d93d8sm9275185f8f.23.2026.06.24.02.00.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 02:00: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782291646; x=1782896446; 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=r7wF+j4x8T/qmVYOo3cyuBlUQIw/U8JDvV1kS+pKUsI=;
        b=h6mqxNhdOTyPpcH/I6AILE8UuOD0K+NUKjhKyAPedg6FtrK2Cg1n5bXK4FQ33KjtXW
         GwBp1GIOQN+JpVqEDGmKndQGDnuQAu0EzTO4kuqhK+KZTYajyu1zCM0IOy/4/NxGdw6U
         4l2YS3pvZSGNgCee57gnK9eHv/oLzfTAYBwuMy7YFHwjKDht0AWbWP7lCfzAVZEd3u2i
         fhnaCs0eqofrOCZ31l6ODZFq4y/FLPhZBSVF9pl9oaciWXMGtktQeGNBhH9WgPJdQkVm
         kEJ8FKDRr00KQtmJxSL6TdzvYrdMEf6mK+deJQBb8VIfdihxFG+e7HWYSVP4Z8itkbY2
         Vrdw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782291646; x=1782896446;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=r7wF+j4x8T/qmVYOo3cyuBlUQIw/U8JDvV1kS+pKUsI=;
        b=jmePSahXvrrGFEuOx8xaQ6gzGdVg8fdpFT8+b8bDvgWrJ0zyCYbp0ausytNmEi1VPx
         M969qMVqDL/P0FCcO0XC2Dg3eLUlSeU4RtUjlWCg1Im2hnvlz0rEK8y2leWLjVA/0LPn
         WZk0+PPGWrWQAu9SoYUml3wBSuHUZ335zQAXQ1GfxbYko8AXa9c4gk2bupj/5utRxKT/
         h7NRT8ljewraA4tLtUTXVf2lx0+tjjfaRnuDMnraiDXNjL9OObMdAbbBMJ14RQSnbqw5
         4Z0ze3ivX4N8XSQvXC1K3C4wBp4j4Gw4eG5Hc6peEGLdcRXf6wgI5McDjrBOLjobvBiE
         72DA==
X-Forwarded-Encrypted: i=1; AHgh+Rq8+EWNKAyDdUtcVT1MBpMmem06kLugmRxpMEAh8H72oJK/JeysrL+WeNx5CGclyo5a+tZ4IZunQWI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzag3TWk52tYyQZV/FNIWkPX1Db2kPEWexTVuv9qEbVV3iEIJ9x
	VEUiWNRqDmLBaRfh7b1klXYv3M7BOWTnCn45vD6sCAVoPykx2rQRG/5X
X-Gm-Gg: AfdE7cnGtwbJEFxv1k1puB2OOb/aviibJCebSA0UgKKruYwBXwcxD9ZBvbQubIXy2sa
	MOhUfVvIwqH4aaETs3oZS//25g+JfTeOeVppq4BdlLJe45BLMQg9+xB3sWCBn9Q//OVJaPwxD0m
	Apb/3QE7loUwETeOwKpAf+CVFjB3a1kvNL44YreGdZzM+STshZfTHNkBdWvrmFkiMFDMMU5tRzx
	9M7CvzTgI+3+atliVGaVAfAJyaT9jwZihGqSAR+vkK1Y+/Q0i+41Xfkfg2KfwuhWl0vK6n6ykAL
	pXBKcrRV8QO6aFqdUyYQr1ywnyAvI6RpSC+sBPTw260tnHAKsZzlZyqueNIewamszcfIhJDsl1q
	0jrcEgB2jvFGJiEUQUTiZC0Q54G+CjoqDNfx1jnoGPfVOdjddbfdICeHlDfxsWgN614HV1knjPw
	cuwlrOCFCljrukAh9+/e8Fca7VS8/xJU/vdGQSUxUSnF1EVtXjaUwb
X-Received: by 2002:a05:6000:4696:b0:452:11f9:bc40 with SMTP id ffacd0b85a97d-46c087ac3aemr2859750f8f.2.1782291646047;
        Wed, 24 Jun 2026 02:00:46 -0700 (PDT)
Message-ID: <38082acd-ae6e-456b-b9dc-038ed4de891e@gmail.com>
Date: Wed, 24 Jun 2026 11:00:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 01/23] xen: arm: move declaration of
 map_device_irqs_to_domain() to common header
To: "Orzel, Michal" <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.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>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
 <7bbb4d94f6711014f46becfabeb916ceed294833.1781693963.git.oleksii.kurochko@gmail.com>
 <b91ad9b2-b91d-4649-872e-0ba24692f19d@amd.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <b91ad9b2-b91d-4649-872e-0ba24692f19d@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1782291646-67DD7D84-63EC0AAB/10/73395122804
X-purgate-type: spam
X-purgate-size: 3376



On 6/24/26 9:02 AM, Orzel, Michal wrote:
> 
> 
> On 17-Jun-26 13:17, Oleksii Kurochko wrote:
>> As map_device_irqs_to_domain() is used unconditionally by common part of
>> dom0less code it is moved to common header.
> `it` here reads as if you were moving the function, not the prototype. Also, use
> imperative mood i.e. `... code, move the prototype to a common header`.

I will apply your suggestion.

> 
>>
>> fdt-domain-build.h is chosen as map_device_irqs_to_domain() could be
>> also called indirectly in Arm's DOM0-related code.
> By `indirectly` do you mean `handle_device`? It can also be used in the same way
> by DT overlay feature.

Yes, I meant `handle_device`. I will update the commit message then to:
  "... Arm's DOM0-related code and DT overlay feature"

> 
>>
>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> ---
>> Changes in v3:
>>   - Add tag arm and move this patch earlier before RISC-V-related patches.
>> ---
>> Changes in v2:
>>   - New patch.
>> ---
>>   xen/arch/arm/include/asm/setup.h   |  3 ---
>>   xen/include/xen/fdt-domain-build.h | 13 +++++++++++++
>>   2 files changed, 13 insertions(+), 3 deletions(-)
>>
>> diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
>> index 0d29b46ea52b..0adfa4993a8f 100644
>> --- a/xen/arch/arm/include/asm/setup.h
>> +++ b/xen/arch/arm/include/asm/setup.h
>> @@ -53,9 +53,6 @@ void init_traps(void);
>>   int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt,
>>                     struct rangeset *iomem_ranges, struct rangeset *irq_ranges);
>>   
>> -int map_device_irqs_to_domain(struct domain *d, struct dt_device_node *dev,
>> -                              bool need_mapping, struct rangeset *irq_ranges);
>> -
>>   int map_irq_to_domain(struct domain *d, unsigned int irq,
>>                         bool need_mapping, const char *devname);
>>   
>> diff --git a/xen/include/xen/fdt-domain-build.h b/xen/include/xen/fdt-domain-build.h
>> index 671486c1c837..8612e98dfda5 100644
>> --- a/xen/include/xen/fdt-domain-build.h
>> +++ b/xen/include/xen/fdt-domain-build.h
> I don't see fdt-domain-build.h being included in Arm's device.c, where the
> definition (that needs to see the prototype) resides.

Agree, it should be added to Arm's device.c. I'll do that in the next 
version.


> 
>> @@ -12,6 +12,7 @@
>>   
>>   struct domain;
>>   struct page_info;
>> +struct rangeset;
>>   struct membanks;
>>   
>>   typedef bool (*alloc_domheap_mem_cb)(struct domain *d, struct page_info *pg,
>> @@ -79,6 +80,18 @@ static inline void set_domain_type(struct domain *d, const struct kernel_info *k
>>   #endif
>>   }
>>   
>> +/*
>> + * Retrieves the interrupts configuration from a device tree node and maps
>> + * those interrupts to the target domain.
>> + *
>> + * Returns:
>> + *   < 0 error
>> + *   0   success
>> + */
> By adding the description to a prototype, there's no need for it to also exist
> at the definition.

I will drop it than.

>> +int map_device_irqs_to_domain(struct domain *d, struct dt_device_node *dev,
>> +                              bool need_mapping,
>> +                              struct rangeset *irq_ranges);
>> +
>>   #endif /* __XEN_FDT_DOMAIN_BUILD_H__ */
>>   
>>   /*

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 09:05:27 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 09:05:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344679.1603720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcJXx-0004H8-KV; Wed, 24 Jun 2026 09:05:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344679.1603720; Wed, 24 Jun 2026 09: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 1wcJXx-0004H1-Hb; Wed, 24 Jun 2026 09:05:25 +0000
Received: by outflank-mailman (input) for mailman id 1344679;
 Wed, 24 Jun 2026 09:05:24 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wcJXw-0004Gv-0Z
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 09:05:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcJXu-004DsS-QO
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 11:05:23 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a3b9dcc-e002-0a2a0a5209dd-0a2a45019d5e-26
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 11:05:22 +0200
Received: from [52.101.228.100]
 (helo=OS0P286CU011.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a3b9dcf-e031-0a2a45010019-3465e464b060-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 11:05:21 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYXP286MB5622.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:2a2::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.13; Wed, 24 Jun
 2026 09:05:15 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0159.012; Wed, 24 Jun 2026
 09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TYcyAjzu7O4v5oPwWlsVWEMPv++mrhweVZ2s0iNA1SBCVCuSc5fxY7vrybijS6/3C+xYwbcQhWA54385kTYOf1aitmtYoIw7fVh15PC0mEy7Q3tl2pw+JDF+Ayj+MD3q5fGFFUd9tcRJIED7xOziH2pjyYnLmS1oICgwbHf2amEaXjt6hI2PEN9CZk9b31FNhzfxydeAuFQfnyM9QLbmaYi+zMZWumEnGP5AgzqFU6Hupx1P27D64YP/ogyW8jv0wlhWN2QlbDSrC5rbmwsAjpC4tp04ldKfiTwJRZ5ro5W6MRWby9GBUq/3uBo4G+MpPqVpkO2Pyt4RtBjWaYoxcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ufy2fOBobuiF16MVIH9M5dCvDvs8ggseKk5ElueCWvw=;
 b=W7Op0HSvRdYhIDO8th+S5eEn5N1781luH2Itg/m4X8GyJhTER3GZ5sVViDz/kMFI44cpvwXfiyzdTJjb6xbkmj4Ga4hJ7yCDvSwWU9KKNzEi5uYll+cmwurCBti/d0+I4rYUJJ6cIKzCCs9bvNls08vxUFxtPpi/oxXAIAM+NUFcngXeYPopqsvlM3jFe+ctHVpVM5nZvvE7Fq/M9RK5nogffV1mEs0WYxLfioJqv8GrKxsQT7FoGxkw4TuHsyANAKZsJra/L9ZfLCHfNUB3q+Wxg8nGnGYnEPWFeuhqNi5vd4S4pDxHlbuo5NBbR0OZxe1eVV2I4nipnTvrdTQyEw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ufy2fOBobuiF16MVIH9M5dCvDvs8ggseKk5ElueCWvw=;
 b=qYoviFNS5/cjZVhf6OcNK8kwDWJqTGSNL9n6fautxOm1g8WKnWV7MKMBc65s9DEFNmDocvHYYtJXqoG+/CRKEXYJuXnm0UonR7L1A/gBbO6rp4csZrbr4SYlMwzFQ/TR3dyYw0YtvPEIijhAEIypSHoMucpA+/ugqhhPo2/AqH8=
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: Jan Beulich <jbeulich@suse.com>
CC: "Mykyta_Poturai@epam.com" <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>, 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 v2 1/3] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
Thread-Topic: [PATCH v2 1/3] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
Thread-Index: AQHc/iieS3lBNqoSEkmC0mA+RhjVELZKgS4AgALq9XA=
Date: Wed, 24 Jun 2026 09:05:14 +0000
Message-ID:
 <OS9P286MB7222059ECD370CD6137B698982ED2@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
References: <20260617071206.265599-1-taka@valinux.co.jp>
 <20260617071206.265599-2-taka@valinux.co.jp>
 <0c37c031-cc21-44d2-9ef6-4baf6f24d74b@suse.com>
In-Reply-To: <0c37c031-cc21-44d2-9ef6-4baf6f24d74b@suse.com>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: OS9P286MB7222:EE_|TYXP286MB5622:EE_
x-ms-office365-filtering-correlation-id: adb14cd8-2896-4b0d-cd57-08ded1cfb412
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|7416014|376014|1800799024|23010399003|18002099003|22082099003|38070700021|5023799004|4143699003|56012099006|6133799003;
x-microsoft-antispam-message-info:
 3qoge/4lCnpSNCfaKah5BTC73/TnAd7LNHOpVLVv8UkYUbx1Xs2vDzK6tW+6e0ue0BBUqb3GahnQKRVI/IlDCbAN5js8RlHFhJzPvCHo/dyU/srBBBzMZhyRVj8Ty4AhlkUw7BC+D6ofxJ+Td2imr1OF21wW29djfLZhS/5JqS5FDoMhxTzA4Op1vv+g/7nHnu1ryHvUF8V9/M9A7umxyCD9HIz40ivFPf6hv41dhun2OErWnThoBy3vUsOoccZPt2N209Af8WqlsftvmpayVmV93RceKgQ+5hzsKrH8ne9d4O7puQgk+9vbrodGHvP4uFxW5dKH1QS9TpyqM/hV7S5Sfa1Nps2B6HoL3H79NYwGY9vWwyRz8WNiPPRfZR2MM4dERvvwCexnQebWgaxaeF3s2hCYzuxFuEudiSj0TzhbedNGYLIBIxarQZgEZNgDRvlWGcmiFCuoYizkjvhaS6bbSOzP6FpYGEbAP8EYZxkYZO6hlCDUw/w6q/yS0uLgCAJL+W9wvWW6A84+CWWmR/blmYYh+i8+WV55hmto5lZ80y/AmoaM2otOpfYSYLYWOTrDw5aXz/wbCVwgd8vnprzsis1zBQC+nPNbbcqJiq4wrOfYKZ0Boh1hYU88PwiDkAiT0kvau7OTc8kR/q6fUYPaTRz2M33XDPC6yIc+uKNzcttT9iXFGwaZhtVMq0ecXoQKFr+ogKBWoNUS6PF80o0LFNnRjMJI3gAYUMneT08=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024)(23010399003)(18002099003)(22082099003)(38070700021)(5023799004)(4143699003)(56012099006)(6133799003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?MlZtb296TnkydmtnQi93QlcyZDBTc05adDBHejlpSXpxWWZ6TkxWZVY1b2Vm?=
 =?utf-8?B?NzhybVEyK25xbzRKcnhvTzdQS2hHQUZoY0c0MFNWSDBMdnFUOGpGelNwYTlY?=
 =?utf-8?B?QmtiOURLS2t0cm9rYy9YdlhLWFdJa1c5UEFWYngzdk1NOG9ET0JZL1Z4Mm44?=
 =?utf-8?B?Q05WZldDL0pZNkF5bzZVUUVCT0JXMjhBeHo0UnRCZWFkUDR3M3U1NWRSYTZ6?=
 =?utf-8?B?dldSTXlYWjliWFRpR09jaFljMUttQ2FlU1IxRE5CRUxjODZpRnljdGsyR09n?=
 =?utf-8?B?dVI3dkhCNXBCQVU0ZFJMWkd3Z2JEU1BIVE5DOEVHTjVvSGlIaHJ2eDZZcGg5?=
 =?utf-8?B?K2x3WVVTd2UyMVZFREZjejRsOE0vNml3anBjZEhNYlU5MlNTOEsrbFl2WHlS?=
 =?utf-8?B?VlB6bGVUM0VaR3ZvSzN3Mko3WHg1R3M2bTVEd25mUU9SeDVmMTNTYUgraXZ4?=
 =?utf-8?B?SDdVQi8veU1OMHJvdnZxd0M1blNxdCtOVitZVmF3MURNYjJ5UU1lMVFxamZ6?=
 =?utf-8?B?dTNmU25ST1NmRWp2dldHdnZOUW96SHZsTlZ5UjZMOG1zVDVnNW9HcVdYVlhQ?=
 =?utf-8?B?K25Cc3loOTQ4Q3kxL2l3eHRNdktTcEh4T3g1QUlUTHlsTFV2c0RiZ1k3VEh1?=
 =?utf-8?B?a00vRm45YXpKbjczRmNZbys2MG1hMnp4UzYrME5iWkxybjZEa1JwQlQwUzVp?=
 =?utf-8?B?bTdlaER1UjdRdEhYYkFpZmZCRjN0aU42V0ZDb2QyWHRrYUFFNFB4NkZqMzNF?=
 =?utf-8?B?enllaEZITDB5MFVuSTQxdjhoTzAvZ01jRUlVU3ZKNXhNcklkWUFGeStjYm1o?=
 =?utf-8?B?NHdEa1pMZG93RnY3T3FSNTRMS2lRc0VpNzJJQWlxNHJBa3J6Z0lnbHkvVmFm?=
 =?utf-8?B?S3QwZ1AxOXllcGgxR1BKRS9UTFhRcUJWaFpMT0swQmo5RERUbWZMdmR6U0hI?=
 =?utf-8?B?UjE2V01HTUxGYlRlNURTbUJmMU1YSVVzNDB5aVF4c3BRZnZLcEViRmxEZmlI?=
 =?utf-8?B?NnJ0MTR0d1RuWUhlYWI5eEJHVGhpaGViWFJmMVFVUVYwb3o2dTJ5SFlCQUVo?=
 =?utf-8?B?cE1yTVNqVGo3WFd0TENLT0lmYjBLeWp6Z1hFRWhiV3ZFMGprS0ppcW9UZGZZ?=
 =?utf-8?B?STB1S01uUUNBd25CeUYvT1pJdis5WWsrUXJTNWswamdLbkZCYkhaZHhrQnRK?=
 =?utf-8?B?eWZhenRkZmF4aUpDQVlTZ2VjT0syN1VuaVhTNmowRng4U2o1b2dyYkZDMkto?=
 =?utf-8?B?QVh3UWtyc0NpSUZpM082VHNVYzRDVW15UzA3cXQ0bEdoTHpta0RSd3l0b2Z6?=
 =?utf-8?B?Y0Y0ODN5eWZlTmFuM0tjbnlrNTh0YTEyRk50OHJiOXFKV0RNVEtvZXFuMGJq?=
 =?utf-8?B?SFYyOUx4U0Nld2xqLzJzWUtlTVVLQ2NrRFZsaktUTVV3VlpNLy92OEVxK2py?=
 =?utf-8?B?Z0lSeUZrSEQyT0tMYnh2YVUreHlCamxzNEI2ZHhhREQzajVtSGdzd0pscSs3?=
 =?utf-8?B?dFlaNjFsZUpzaFh4Ylh4R1JhSVNMWlRzaTZ1eUNsL0dIYlRNUUlINzNPQmhZ?=
 =?utf-8?B?T2V2U1RtMXhKaWFSRkdqQ2hjaGsrcTV2bkxoTS81YkU5aGQ0b2g2ckZOUEVp?=
 =?utf-8?B?MkxRTkp2cDdXRVliWEs1OFVyTURGaUpjK0FxdllsK0MrbW1vT3JUek9tM3JZ?=
 =?utf-8?B?MythYS9Fa3krNW1ldTVqdUhxaGpHYm42MmxMbStteEkrdmdWaWxveWtTTUd4?=
 =?utf-8?B?TkhnVEsyRDhmUDl0ckRKS3ZrYUp5SFBtQ3BoS3MyaTMzcng0WUR1M0x2ZXh3?=
 =?utf-8?B?NUU2TEpYUTM2dXdMYkdLUzJBQXhqU0NaZEdUektsZkVmTU9VY1NPMGJUM1Jw?=
 =?utf-8?B?TnAyN0RpQ2RycVF5WkxjL2RuK3NzckxBR2Rtano0enZpNkFhYXhyRkp5cDd2?=
 =?utf-8?B?elhoYWd5TVhnQndQZEE1dWRDS25MMC9EVVlETW0vTzFXTi9QRmVCSmcvZTRW?=
 =?utf-8?B?MDE3VlQ5MjR6UC9SeFJYbHJSWG5xY2JGQitMMVl5WTdJSmgrSm9NTUVsL2Fp?=
 =?utf-8?B?WmFUNjFlaWM3SmxtV1ZrWUU0Z1JKYkFiQ1lkcG9ZOTRPR254M2VaV0xFaDV5?=
 =?utf-8?B?KzQySVVxeXo2di9IaTg4OVYwankzZmJkbVJEdUFvdlo2WlV2ekt5QktSTGJw?=
 =?utf-8?B?VDNJTk1yZk8vMWlmWGFkclFCcHk4ZFpCYnJML0kyOEpqYXk2cVJqV0hXdXhO?=
 =?utf-8?B?NEh0SEU0RHFkM3BoNEdqdk9OdHc1SldGZ1MzUThDUFZNdEtGSzJLbnc2ZFd6?=
 =?utf-8?Q?Mev50i9Ger0xPzeyjV?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: adb14cd8-2896-4b0d-cd57-08ded1cfb412
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jun 2026 09:05:14.2416
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: h/F0ZcnTcoohFYPv+b0XhEAcfx54YiNovGPlWa8jGt5j4dm6F58wcLm/uESKf+qvq0vrOzwfl+gK1w+95zPf5Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYXP286MB5622
X-purgate-ID: tlsNG-d62444/1782291922-497B6E30-D2BD594F/0/0
X-purgate-type: clean
X-purgate-size: 6562

SGVsbG8sDQoNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIveGVuL2NvbW1vbi9jcHUtdG9w
b2xvZ3kuYw0KPiA+IEBAIC0wLDAgKzEsMzAgQEANCj4gPiArLyogU1BEWC1MaWNlbnNlLUlkZW50
aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIgKi8NCj4gPiArDQo+ID4gKyNpbmNsdWRlIDx4ZW4vY3B1
bWFzay5oPg0KPiA+ICsjaW5jbHVkZSA8eGVuL2NwdS10b3BvbG9neS5oPg0KPiA+ICsjaW5jbHVk
ZSA8eGVuL2luaXQuaD4NCj4gPiArI2luY2x1ZGUgPHhlbi9hY3BpLmg+DQo+ID4gKw0KPiA+ICt2
b2lkIF9faW5pdCBpbml0X2NwdV90b3BvbG9neSh2b2lkKQ0KPiA+ICt7DQo+ID4gKyAgICBjb25z
dCB1bnNpZ25lZCBpbnQgbnJfY3B1cyA9IGNwdW1hc2tfbGFzdCgmY3B1X3Bvc3NpYmxlX21hcCkg
Kw0KPiAxVTsNCj4gPiArDQo+ID4gKyAgICBjcHVfdG9wb2xvZ3kgPSB4emFsbG9jX2FycmF5KHN0
cnVjdCBjcHVfdG9wb2xvZ3ksIG5yX2NwdXMpOw0KPiANCj4gY3B1X3RvcG9sb2d5IGV4aXN0cyBh
cyBhIGdsb2JhbCB2YXJpYWJsZSBvbmx5IHdoZW4gRFQgaXMgaW4gdXNlLiBJIHRoaW5rIHRoZQ0K
PiBkZWZpbml0aW9uIG5lZWRzIHRvIG1vdmUgaGVyZSAoZnJvbSBjb21tb24vZGV2aWNlLXRyZWUv
Y3B1LXRvcG9sb2d5LmMpLg0KDQpPa2F5DQoNCj4gQXMgdG8gdGhlIHNpemUgb2YgdGhlIGFycmF5
LCBpdCdzIG5vdCBxdWl0ZSBjbGVhciB0byBtZSB3aGV0aGVyIGJ5IGRvaW5nIGl0DQo+IHRoaXMg
d2F5IChpbnN0ZWFkIG9mIHVzaW5nIG5yX2NwdV9pZHMpIHdlJ3JlIG5vdCBzZXR0aW5nIG91cnNl
bHZlcyB1cCBmb3INCj4gdHJvdWJsZS4NCg0KT24gQVJNNjQgWGVuLCBucl9jcHVfaWRzIHJlcHJl
c2VudHMgdGhlIHRvdGFsIG51bWJlciBvZiBwb3B1bGF0ZWQvYXZhaWxhYmxlIA0KQ1BVcywgYnV0
IHVuZm9ydHVuYXRlbHkgaXQgY2Fubm90IGJlIHJlbGllZCB1cG9uIGFzIHRoZSBtYXhpbXVtIENQ
VSBJRC4gDQoNCkZvciBpbnN0YW5jZSwgaWYgYSBDUFUgbm9kZSBpbiB0aGUgRGV2aWNlIFRyZWUg
aGFzIGFuIGludmFsaWQgJ2VuYWJsZS1tZXRob2QnIA0KcHJvcGVydHksIHRoYXQgQ1BVIElEIHNs
b3QgaXMgc3RpbGwgY29uc3VtZWQgZHVyaW5nIHRoZSBpbml0aWFsIHBhcnNpbmcsIGJ1dCANCnRo
ZSBDUFUgaXMgbm90IGNvdW50ZWQgdG93YXJkcyBucl9jcHVfaWRzLiBUaGlzIGNhbiByZXN1bHQg
aW4gYSBzcGFyc2UgQ1BVIElEIA0KYWxsb2NhdGlvbiB3aGVyZSB0aGUgbWF4aW11bSBDUFUgSUQg
YWN0dWFsbHkgZXhjZWVkcy4gDQoNCklmIHdlIHdlcmUgdG8gdXNlIG5yX2NwdV9pZHMgYXMgdGhl
IGFycmF5IHNpemUgaGVyZSwgd2Ugd291bGQgcmlzayBhbiANCm91dC1vZi1ib3VuZHMgYWNjZXNz
IHVuZGVyIHN1Y2ggZmF1bHR5IERldmljZSBUcmVlIGNvbmZpZ3VyYXRpb25zLiBUaGlzIGlzIA0K
d2h5IEkgdXNlZCAiY3B1bWFza19sYXN0KCZjcHVfcG9zc2libGVfbWFwKSArIDFVIiB0byBlbnN1
cmUgdGhlIGFycmF5IGlzIA0KbGFyZ2UgZW5vdWdoIHRvIGNvdmVyIHRoZSBoaWdoZXN0IGFsbG9j
YXRlZCBDUFUgSUQuDQoNCkNvbnNlcXVlbnRseSwgdGhlcmUgbWlnaHQgYWN0dWFsbHkgYmUgcG90
ZW50aWFsIGJ1Z3MgaW4gb3RoZXIgcGFydHMgb2YgWGVuIA0Kd2hlcmUgbnJfY3B1X2lkcyBpcyBp
bmNvcnJlY3RseSBhc3N1bWVkIHRvIGJlIHRoZSB1cHBlciBib3VuZCBmb3IgQ1BVIElEIA0KaW5k
ZXhpbmcgb24gQVJNLg0KDQo+ID4gKyAgICBpZiAoICFjcHVfdG9wb2xvZ3kgKQ0KPiA+ICsgICAg
ICAgIHBhbmljKCJGYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBjcHVfdG9wb2xvZ3kgYXJy
YXlcbiIpOw0KPiANCj4gSSBxdWVzdGlvbiBzdWNoIHVzZXMgb2YgcGFuaWMoKTogU3VyZWx5IHdl
IGNhbiBkbyB3aXRob3V0IGFueSBOVU1BIGluZm8sDQo+IGl0J3Mgb25seSBwZXJmb3JtYW5jZSB3
aGljaCBpcyBnb2luZyB0byBzdWZmZXIuDQoNCk9rYXksIEkgd2lsbCByZXBsYWNlIHRoZSBwYW5p
YygpIHdpdGggYSBYRU5MT0dfV0FSTklORyBwcmludGsuDQoNCj4gPiArDQo+ID4gK3N0YXRpYyBz
dHJ1Y3QgZHRfZGV2aWNlX25vZGUgKiBfX2luaXQgZHRfZmluZF9jaGlsZF9ub2RlX2J5X25hbWUo
c3RydWN0IGR0X2RldmljZV9ub2RlICpmcm9tLCBjb25zdCBjaGFyICpuYW1lKQ0KPiANCj4gTml0
OiBPdmVybG9uZyBsaW5lIGhlcmUsIGFuZCAuLi4NCg0KT2theSwgSSB3aWxsIGZpeCBpdC4NCg0K
PiA+ICtzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9jb3JlKHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAq
Y29yZSwNCj4gPiArICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBwYWNrYWdlX2lkLCB1bnNp
Z25lZCBpbnQgY2x1c3Rlcl9pZCwNCj4gPiArICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBj
b3JlX2lkKQ0KPiANCj4gLi4uIGJvZ3VzIGluZGVudGF0aW9uIGUuZy4gaGVyZS4gUGxlYXNlIGdv
IHRob3VnaCB5b3Vyc2VsZiB0byBjaGVjayBzdHlsZS4NCg0KT2theS4NCg0KPiA+IC0tLSAvZGV2
L251bGwNCj4gPiArKysgYi94ZW4vZHJpdmVycy9hY3BpL3RvcG9sb2d5LmMNCj4gPiBAQCAtMCww
ICsxLDM4IEBADQo+ID4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxh
dGVyICovDQo+ID4gKw0KPiA+ICsjaW5jbHVkZSA8eGVuL2NwdW1hc2suaD4NCj4gPiArI2luY2x1
ZGUgPHhlbi9jcHUtdG9wb2xvZ3kuaD4NCj4gPiArI2luY2x1ZGUgPHhlbi9pbml0Lmg+DQo+ID4g
KyNpbmNsdWRlIDx4ZW4vYWNwaS5oPg0KPiA+ICsNCj4gPiArLyoNCj4gPiArICogVG9EbzogUG9w
dWxhdGUgdGhlIHRvcG9sb2d5IGluZm9ybWF0aW9uIGJ5IHNjYW5uaW5nIHRoZSBBQ1BJDQo+ID4g
KyAqICAgICAgIFBQVFQgKFByb2Nlc3NvciBQcm9wZXJ0aWVzIFRvcG9sb2d5IFRhYmxlKS4NCj4g
DQo+IFBsZWFzZSBjYW4gdGhpcyBiZSBzcGVsbGVkICJUT0RPOiIsIHRvIHN0YW5kIG91dCBtb3Jl
IGFuZCB0byBiZSBhIGhpdCBhbHNvDQo+IHdpdGggY2FzZSBzZW5zaXRpdmUgZ3JlcCBmb3IgIlRP
RE8iPw0KDQpPa2F5Lg0KDQo+ID4gLS0tIGEveGVuL2luY2x1ZGUveGVuL2FjcGkuaA0KPiA+ICsr
KyBiL3hlbi9pbmNsdWRlL3hlbi9hY3BpLmgNCj4gPiBAQCAtMTAxLDYgKzEwMSw4IEBAIHZvaWQg
YWNwaV90YWJsZV9wcmludCAoc3RydWN0IGFjcGlfdGFibGVfaGVhZGVyDQo+ICpoZWFkZXIsIHVu
c2lnbmVkIGxvbmcgcGh5c19hZGRyDQo+ID4gIHZvaWQgYWNwaV90YWJsZV9wcmludF9tYWR0X2Vu
dHJ5IChzdHJ1Y3QgYWNwaV9zdWJ0YWJsZV9oZWFkZXIgKm1hZHQpOw0KPiA+ICB2b2lkIGFjcGlf
dGFibGVfcHJpbnRfc3JhdF9lbnRyeSAoc3RydWN0IGFjcGlfc3VidGFibGVfaGVhZGVyICpzcmF0
KTsNCj4gPg0KPiA+ICt2b2lkIGFjcGlfaW5pdF9jcHVfdG9wb2xvZ3kodm9pZCk7DQo+ID4gKw0K
PiA+ICAvKiB0aGUgZm9sbG93aW5nIGZvdXIgZnVuY3Rpb25zIGFyZSBhcmNoaXRlY3R1cmUtZGVw
ZW5kZW50ICovDQo+ID4gIHZvaWQgYWNwaV9udW1hX3NsaXRfaW5pdCAoc3RydWN0IGFjcGlfdGFi
bGVfc2xpdCAqc2xpdCk7DQo+ID4gIHZvaWQgYWNwaV9udW1hX3Byb2Nlc3Nvcl9hZmZpbml0eV9p
bml0KGNvbnN0IHN0cnVjdA0KPiBhY3BpX3NyYXRfY3B1X2FmZmluaXR5ICopOw0KPiA+IEBAIC0x
MzMsNiArMTM1LDggQEAgc3RhdGljIGlubGluZSBpbnQgYWNwaV9ib290X3RhYmxlX2luaXQodm9p
ZCkNCj4gPiAgCXJldHVybiAwOw0KPiA+ICB9DQo+ID4NCj4gPiArc3RhdGljIGlubGluZSB2b2lk
IGFjcGlfaW5pdF9jcHVfdG9wb2xvZ3kodm9pZCkge30NCj4gDQo+IFRoaXMgc2hvdWxkbid0IGJl
IG5lZWRlZC4gV2hlbiBBQ1BJPXksIGFjcGlfZGlzYWJsZWQgaXMgY29tcGlsZS10aW1lIHRydWUs
DQo+IGFuZCBoZW5jZSB0aGUgY29tcGlsZXIgY2FuIGFuZCB3aWxsIERDRSB0aGUgY2FsbC4gQWxs
IGl0IG5lZWRzIHRvIHNlZSBpcyBhDQo+IGRlY2xhcmF0aW9uLCB3aGljaCB0aGVyZWZvcmUgd2Fu
dHMgdG8gbW92ZSBvdXRzaWRlIG9mIHRoZSBDT05GSUdfQUNQSQ0KPiBjb25kaXRpb25hbC4NCg0K
b2theQ0KIA0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi94ZW4vaW5jbHVkZS94ZW4vY3B1
LXRvcG9sb2d5LmgNCj4gPiBAQCAtMCwwICsxLDM2IEBADQo+ID4gKy8qIFNQRFgtTGljZW5zZS1J
ZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkgKi8NCj4gPiArDQo+ID4gKyNpZm5kZWYgWEVOX0NQVV9U
T1BPTE9HWV9IDQo+ID4gKyNkZWZpbmUgWEVOX0NQVV9UT1BPTE9HWV9IDQo+ID4gKw0KPiA+ICsj
aW5jbHVkZSA8eGVuL3R5cGVzLmg+DQo+ID4gKyNpbmNsdWRlIDx4ZW4vZHQtY3B1LXRvcG9sb2d5
Lmg+DQo+ID4gKw0KPiA+ICtzdHJ1Y3QgY3B1X3RvcG9sb2d5IHsNCj4gPiArICAgIGNwdW1hc2tf
dCB0aHJlYWRfc2libGluZzsNCj4gPiArICAgIGNwdW1hc2tfdCBjb3JlX3NpYmxpbmc7DQo+ID4g
KyAgICBjcHVtYXNrX3QgY2x1c3Rlcl9zaWJsaW5nOw0KPiA+ICt9Ow0KPiANCj4gV2l0aCBodWdl
IE5SX0NQVVMgdGhpcyBjYW4gYmUgcHJldHR5IGxhcmdlIGEgc3RydWN0IChvZiB3aGljaCBpbiBp
bml0X2NwdV90b3BvbG9neSgpDQo+IHlvdSBhbGxvY2F0ZSBhbiBhcnJheSkuIEltbyB5b3Ugd2Fu
dCB0byB1c2UgY3B1bWFza192YXJfdCBoZXJlLCB3aXRoIGFsbG9jYXRpb24gYWRkZWQNCj4gYXMg
bmVlZGVkLg0KDQpPa2F5Lg0KDQo+ID4gKw0KPiA+ICsNCj4gDQo+IE5pdDogTm8gZG91YmxlIGJs
YW5rIGxpbmVzIHBsZWFzZS4NCg0KT2theS4NCg0KVGhhbmsgeW91LA0KSGlyb2thenUgVGFrYWhh
c2hpLg0K


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 09:11:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 09:11:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344690.1603730 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcJdP-0005ys-9b; Wed, 24 Jun 2026 09:11:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344690.1603730; Wed, 24 Jun 2026 09: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 1wcJdP-0005yl-6h; Wed, 24 Jun 2026 09:11:03 +0000
Received: by outflank-mailman (input) for mailman id 1344690;
 Wed, 24 Jun 2026 09:11:02 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wcJdO-0005yf-9P
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 09:11:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcJdN-004Fcm-FQ
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 11:11:01 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3b9f1f-e002-0a2a0a5209dd-0a2a4506c19c-16
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 11:11:01 +0200
Received: from [52.101.56.55]
 (helo=BN1PR04CU002.outbound.protection.outlook.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3b9f23-b690-0a2a45060019-3465383738fc-4
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 11:11:00 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by CH4PR03MB7747.namprd03.prod.outlook.com (2603:10b6:610:23a::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.14; Wed, 24 Jun
 2026 09:10:57 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.018; Wed, 24 Jun 2026
 09:10: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xZkpRPB+yGcwEmt8NFFV2GuqBYL8AJn7pbnyqU39X7GL3IaboRJkc1YDXSqv1ECoADSRlqyssGckTcRFuLoZWYUJZMuE51/TV7LreGPQD1aSPzevBaukKFDWnIyfy82vg71qHBYcWBH3iH2plXliFnx3FRyKyVtAt1UArnAOWNlMgKZifz/g1R+VnmroAWY2Q5zDRisLhNEM9H4oQx7VGP/Qbu1eRs+Dgq6khvRAJU6JeqNPiG1kD9c5BfnKrCERAhtXHSLGu2TGP52xjJLY0C20ETXtVq3b1pH6b4CCgMbylt12iqZnndgZ0Ox8/0FA+Wpj9182VbNOidzVZIKxDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oTE6DFJVmAk3Jxn2eFhEFtRkPEc/FwHdvb9x2xAylWQ=;
 b=cDf1WxrNadoyHU24hcZ4YT8khTkq+hA9IdrpXL3VCAUCRQjSIZUV0637QK0sL33cpxjvwp6irXYunO/+uJo13fYnW1doCQ22/ufV0L0hXKj00uFBgjLSf6BzhmecnF5BGxXlaci8lNYDfmGI6UNvp/ksskUAX6oPpe8sMEcafdnZ+Yk0sxgxk0h0XIyVg+gGxLMW28wuZeMj/RhNw9oyfXfx7q9lh3ya/0BJ1EO0A1K7DtqbaePeKetOvoNl/0KpuRM0QWf6nOUmLNfSQUNOJ93X5M9GodVT9W+3UECm6ex76kJoTHWp6Mbf0VA5ZicJ0Iey+ADLCK3KYJpacDDCnw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oTE6DFJVmAk3Jxn2eFhEFtRkPEc/FwHdvb9x2xAylWQ=;
 b=galOa/0Tel8iDZ9zZ7Djvd2XmI++Vn7geoFv5UhaoBcEv49xvjoT/0hfRwKqdsIW5oWM94XYKq8FDvHeqb4BrNdDHwe8VtDg1Tn+nppwD7ceFxCaE/uXxDKByIG/4+HpK8rA45KL7e5do/BGXHuD/uu6OoVOwAKJ3e+l9xHQW0U=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <1e3b36a6-1970-4376-97fa-621899ae2ad4@citrix.com>
Date: Wed, 24 Jun 2026 10:10:54 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86: sort obj-<...> list of main Makefile
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>
References: <fe611607-c4d4-4db0-85a2-445bbec5fc47@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: <fe611607-c4d4-4db0-85a2-445bbec5fc47@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P302CA0012.GBRP302.PROD.OUTLOOK.COM
 (2603:10a6:600:2c2::19) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|CH4PR03MB7747:EE_
X-MS-Office365-Filtering-Correlation-Id: c14178d1-ca5c-433d-7c2c-08ded1d08093
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|23010399003|366016|1800799024|18002099003|22082099003|11063799006|56012099006;
X-Microsoft-Antispam-Message-Info:
	nB3O7MXzN+bC5P/Q8To3q+Q6KqFnaM0sCRWDXHVHdrmrX0iNyqTbwE97Noubzyc5gF//qS+OC20ZAKazvMSV/HIvA775mtO0dXkf+tYypsPSaheNPBTUa+wkfQKYnvK0FhsgDTO2Z6ykJGZhSTjcQ64He/bz8rxMHzDFGvkXNPico916EUsPHwGR8noq7g6yj+KQ1z7PzYtzXRZ6L8IFj9n/RmjzBPiHhIZzYXRq9DOUU0G3ZSHxUkylwXdhJ8IDuLBWmIsY/ChPXanr5JQFXKodvdz+ac87TPwUt5R8oICAc5FrRo8kvpGh/eh2axxCoEU/U4+Yh7ACTsjjy8FnEBPICZnBvaaS361kU1aWWZKy5uBfrBCkIX85Rp+q+tbfy/a8gnpYbDo2XsoGC9fLALAH8dGXvoB02way5uA6gcpus0vP2BB4ElYL5i+4at5YMa1UPU1dXv9c1b7Q84X/WXz3wOlN9suHj39LeYROfZ63Y4qBe1GlhiPlYgFk07Js0BV5Xp19vbApwgd2Qc38oSkdtIk+PoJJhPMADrOclfovvDkPvNgcHKf6UydDNrg3uC5dRUXp1ygCCzuzWHK6clXzk22bOANk/YgBqT4YKymoJ8Bl75QxgzzQEJLxpWzbo8eSUt3I0PQJG0tRj1EOgbXAMqK4pC/sH1qB8gO43ZQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(23010399003)(366016)(1800799024)(18002099003)(22082099003)(11063799006)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NmxQTFg2ZXF2Zk5QMmZzWkpLRkdSamV4ZitPeE94YVYyaEcvYlFVYWpONjBI?=
 =?utf-8?B?SDJaSlJ2dW5lZGRvdWtOc01vNnhCWS82TGt2Z2J6OUo3djVDU2g5TmRJdzVa?=
 =?utf-8?B?TGNXak5SR3liSTlRa25oeUNTSUcvT2JoL3EzZ1dJYXZURWFrTGlkTlYxZy9V?=
 =?utf-8?B?WHBYb1NFMkNpajQ1SFg0dkhKc3J4TnllSElhRzVBa2NnOU81eVVvWTFsUy9V?=
 =?utf-8?B?Wk04MjN5bG1LY0YxVHFXUWhaSjE2U0U4c1hsOWhzR2prN09UR1BnZmJ4djgy?=
 =?utf-8?B?LzE1Q3hGYTdiZEs4NkRGNlJTUlNwcTJ4MHVGNWZTZ3Bib0ZpakZVVnFXY3hK?=
 =?utf-8?B?QlVRZHhwaFY1VktTZTZUcjh1UjhIWHZpbUowdFVsazdMU3IyZkY5ZnNKSnZQ?=
 =?utf-8?B?QUJBN1FZRmdPRWYyNlNWbWVGNUxIS0hTWTh2c2tvQVVPVFBwWDhxMFFlL0l0?=
 =?utf-8?B?cnBXV3dYWUt5TEtMQTRvd3FmTGhVajJnNVNBaVZZaytKQUx0eFQ3S2svbjdC?=
 =?utf-8?B?NVFZVWwxTWwybEdBQ3Z4MkdtYjYxWkYyaVpsbGliZk5Hb3N5NDFGRGlJWk5p?=
 =?utf-8?B?NmpKczRvOVU0NzR4Sjd6TFJaVit0RTNiK081c0J5YkxYUm9NbXJEc0RBYkVr?=
 =?utf-8?B?L1UrRjVHS1VXenpJYml6ZGxVVnVlTUlLV3M4cW1aOU41OGFBWTVGZ0txWVJx?=
 =?utf-8?B?Qk9Fb0VPREhhMDBVc0cwWmlXZ0JvbWlFNkJ4SEdHTnE4TEM5Z2RSdHFIdEpQ?=
 =?utf-8?B?OHBnd2tWcWZ1Q0ZaajdUZStJNWlwY1hHSG56dFI1RnZYZU1seGh6N0Q4dWF2?=
 =?utf-8?B?WDBCZUhHUlEwRldUWndOQ2h5LzMzMHVJVHdpcFVaUzByRzJSelNQaXF0MUdi?=
 =?utf-8?B?N2ZRV0Z2ZjRJN1UvS0MxRE9OcHNHOE82RklDeXcvdHp2Z2d0dXBZcG02TFRo?=
 =?utf-8?B?ak81U3g1NlpjTnBLempjNEpxc3FFRWNPRjdLbGxoSUgxTldKNE1KZWt6aEdD?=
 =?utf-8?B?VzUwK0NORFdmc2VDZE1XS3JaS0c3S2NrMXFXbTJ4SVY4dklMcGpDS1A4andP?=
 =?utf-8?B?T0g3am9IVEVPeGpPNmV3VVJzTGxRcUE2aU1aL1ErclJJcWdUazVJSThJSTU1?=
 =?utf-8?B?WnFtTjFVblgrbTVXY29DNTRHZTRjTHFBQnE1cWpLQVc3SXJXVkdlVFJ4cUFi?=
 =?utf-8?B?R1NpV1c2Sm9FYlRXSUUrUDJMZmZIcyt0OWJyWS9VQUw3YVF3S3pFeUZEVklV?=
 =?utf-8?B?c0ViTXJTSkZZU1NKTUZGcUNtcitxb210a0pibHl2R0dOL1NMcW5BLzFJWGNY?=
 =?utf-8?B?RE1keXhQTW1GbCtaTjZKSWo3NVFnRjRsWEJYWUpmMXY2eXBobXpocS9KcEZ6?=
 =?utf-8?B?L3hCRFNrTmdMdGZnV25TSmxnSmFGM0ppOVRVcHAwQzJaMkxhamFHOTBYcm1Y?=
 =?utf-8?B?MDd4ODB2VUlrbkFIaXlBUTdCNGphaE9QdkErZG1VRDZpZE1YbkZRQjJwcGg5?=
 =?utf-8?B?Wml0SFY2dGZ2ZHhLektZNHREQ3ZvYkgwWk9ZTllLVkY1cXB5TWZrZkVqZ1VL?=
 =?utf-8?B?a0lhclBOS1c5UnZSaHRidW1oTjdSMUZsQ2NLbldnMkl1cng4M2Z1WkRDejcr?=
 =?utf-8?B?L1VJYTVCNzRHK3U2cGxXcjZRbmNvS0xYSGRadko4eVJEeUlOdnBBSmRzTlR4?=
 =?utf-8?B?YnNhYmtDVENKbUExVXltMGsxRVMyUTFiSTVBTnJLOEJEaWNnVW1PQTM2eHRO?=
 =?utf-8?B?S0laakVjUEI3bWljZHNzanQ2SUNiWnd4RHFJeHgzWWFYOXdRTTNRVGh3R2tZ?=
 =?utf-8?B?VzNLeW5taXlmdUEvcFd3UndlSzFQOTdld2JHbzZYVzBDT251ejg4cGNnM01D?=
 =?utf-8?B?U0svK0grTEh0eEFBaTB1dnBoM2J4UEZJaDR6bkFJYTlxTTlvY2RNaGZGOHds?=
 =?utf-8?B?eVIxcXo4MlNmTlBDVzZSVnJKek91Z2o0SDY4bk53Nk1RM1g2M0d4OWlGNG9w?=
 =?utf-8?B?bWxzVUMrVkVBa0FQc1JvMi9tb3hQVW91bVIrbFpkR2VybGJKczRDN1d3WHky?=
 =?utf-8?B?MmtiRHVQUFdJc1BMbUVYeTA3b1ppZ1czT1Z1MitWNFBkRkZNOWJiUE8zSzlq?=
 =?utf-8?B?aGNQQ1l6aXdsaWRhN2I4QmJqMjZ4V2Zja0JCUGEvR0pHaGJTWkJSbU9vOUlt?=
 =?utf-8?B?U2ZMTndwam43Q3hOZ0NaWUVYbDFTaHpUNmdQeUlLOVFkdWZGb2dtempwMzBj?=
 =?utf-8?B?em42dDFudURaV1NsUkRBbkRRa3BpM2FSNENXVzN1S1JmbXl5Rm5KYmhjbnRj?=
 =?utf-8?B?RTRaZS9KdmRlN0ExTmpld29jaW1FMW9EdXpiZDhyY2F4MnJpZ3ZJb2FTYWsv?=
 =?utf-8?Q?cCcL41RwoYXJCYqU=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c14178d1-ca5c-433d-7c2c-08ded1d08093
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jun 2026 09:10:57.5598
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: y1g7AuF5OvG6O2DZ3XaGsXcEMDxh3KrblhUx0Or8dEO3grFXz34dn8oxgT5rWKZ1Q5LGDZQeMv0w7RBOUXsBYVs+oOEPmZ7QOFlk3ZxUfJ4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH4PR03MB7747
X-purgate-ID: tlsNG-16d1c6/1782292261-399F0853-A85FD2DC/0/0
X-purgate-type: clean
X-purgate-size: 1349

On 24/06/2026 8:50 am, Jan Beulich wrote:
> It is mostly sorted, but there are anomalies. Eliminating them gives
> people fewer excuses to (blindly) add to the end of the list.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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

Do you want me to pull this into for-next?Â  I'll (hopefully) be queuing
the series which caused you to notice it into for-next in due course.

> ---
> Of course sorting with underscores or dashes in filenames is always going
> to be ambiguous: Some may prefer C locale sorting, some may prefer sorting
> as if non-alphanumeric characters simply weren't there, and some may
> prefer yet different criteria. But those corner cases probably aren't even
> worth formally settling on a particular model.

That's not a relevant consideration in this patch is it?Â  I see no
ambiguity.

Also, if in doubt, surely always C locale?Â  Pretending that _- aren't
present is definitely a bad sorting algorithm.

> x86_emulate.o coming rather late in the list may want considering to make
> an exception for: It takes comparably long to build, and hence it may be
> best if it got scheduled as early as possible in a parallel make.

Move it to the front with a comment saying "Really a subdir, but not
expressed in that way" or something?

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 09:31:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 09:31:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344701.1603740 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcJxD-0000Ty-Sn; Wed, 24 Jun 2026 09:31:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344701.1603740; Wed, 24 Jun 2026 09: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 1wcJxD-0000Tr-Og; Wed, 24 Jun 2026 09:31:31 +0000
Received: by outflank-mailman (input) for mailman id 1344701;
 Wed, 24 Jun 2026 09:31:30 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcJxC-0000Tl-Do
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 09:31:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcJxB-00Ez2X-54
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 11:31:29 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3ba3e9-5cb7-0a2a0a5109dd-0a2a450be17e-28
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 11:31:29 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3ba3f0-5e53-0a2a450b0019-d155802ab165-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 11:31:28 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-490b613a17bso7382875e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 02:31:28 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4923fd15470sm505901305e9.2.2026.06.24.02.31.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 02:31:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782293488; x=1782898288; 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=R6V4MnC1EYqEZ8uXBDgYH8y/TCT0GKFOgCEgc7x2BdM=;
        b=riJ+YWMeaR3mFaAD/FkqYzY5VNlhxqZQvEovnNDBHn3z6tiOS6HKEEIq985pWLbriO
         a1NkIiMpaGU7PPL6TjSJuWhxlGM3ONvb5wzGexoXmtNoDmYyrCsx22k1/4c0HfczaqT1
         bqM5gPohS7lwUVOD6TJGrxJXPKmZDmrtvseCQmmOcXkdEgL+0uvoo70GVwDvpcairNJh
         HJ5YtItlULBwUdrUbwgdce3HijOMj7cYlH0Ky9XINagpk679iWndCvCO3KZB8H4BWzSc
         meG95mDY4gO2LEgQBsGH5nrI14oD6rxmk22csb4dwfnik+dhZwpV9Hjmwgl34aaRIZoF
         W5DA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782293488; x=1782898288;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=R6V4MnC1EYqEZ8uXBDgYH8y/TCT0GKFOgCEgc7x2BdM=;
        b=tITg3S53UnOaTrPwzbPJjTjgCScu/yZjVdDzGQyRC+WPsclDrZ8mLH6a2PX6WJHP2L
         j4NUDNBJqglESk5pzx2QZj9DQDWCH842nscpvhc4oLKW/fgeQxMQa0rcJXATbAAwSeDC
         D49n2j3v5bfN+j8IMPm+teVcp7HyqdwZUciaclHsCOof4uo75WsX0FE3Fz1lOJUugqws
         Fh8EVQumPHOkcUA0lYGyWE2oW0p/dhuBOtXDxig52erPxtpLL0kx7VKy9IkYCFH3Iqll
         zX+Ie6E9AnqTjZeF9Ns/nsKTtLXn6h0Az6Vm6Eb6azuJqfq52w3Q7+FWGgsM1AmhpysQ
         J5aA==
X-Forwarded-Encrypted: i=1; AFNElJ/vwFEXMMHzxRrwZ+Wq2dlY5KbNnEfurjUn42mCzIt+pLRtltRn/jwBxZtn/lJVZyQUKvZ4oC/5IWI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyNEUw9RNp1q1iA0AbZA+ZHroOd62VhDcb8mvjFwUbemejR8gae
	X4sXZF6KurIYw3Urt1ndLJ6360Q4AyxxqcovswHHR0lqpG8jmY1yEfWK
X-Gm-Gg: AfdE7cl7AMEdrXX3gkl+pUT7qgizN8OK60qhEVj7Hmh9yWSk94CFmBjVQWlAwTByTnc
	Tt3eN3EQ7lNuDtn+NASkXxi/pTCPzuKzxrSnepbAOZyNf/5o2WEK0PHNHCVEJ2h1dH+H2Dc65KL
	cygos/HucAtzbgZJ5oObj7FvfvHvevGBW4/xwPT4cuQwW6gCMpkbrHqTW5Uaf4hDMp6HNmI1VVQ
	3kwvBHiaPhte6+d8lAmraXA9GReyYUk471VsxLvpEVFyP2VfnMHDQj7arn3P/QuYexmcE4WA9rK
	tIiq3eKvW2IiRS3VTlNGjVHtoKws0OP5qg2VDBsRV42aVEAUja/uEbBH4Z6MD3EbKUdpRRk5C8O
	xrkPvKPlgEcy8y8hWhlQ1XWg4gw1d/FUehJ1IQWyU0hCfFuSQFoETgCisTUXuIrtoX2+oup91l6
	9cygT9IPbLU8v/70fcXUH/wrbAja6wDN1W653Jvu/Gc2TAV7jQyrGNJ48giUPM/8z2+7I=
X-Received: by 2002:a05:600c:348b:b0:490:44eb:c1ea with SMTP id 5b1f17b1804b1-492490a771dmr284567375e9.24.1782293488155;
        Wed, 24 Jun 2026 02:31:28 -0700 (PDT)
Message-ID: <3f88322d-a8bf-4f9e-b631-dd7ce9c7ce38@gmail.com>
Date: Wed, 24 Jun 2026 11:31:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 02/23] xen: arm: update p2m_set_allocation() prototype
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org, Michal Orzel <michal.orzel@amd.com>
Cc: Romain Caritey <Romain.Caritey@microchip.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>, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
 <a63794ac32e157ea44c3450fc5fb6f2842e00680.1781693963.git.oleksii.kurochko@gmail.com>
 <0343b00c-2553-4df2-98a5-327636a4cb05@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <0343b00c-2553-4df2-98a5-327636a4cb05@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1782293488-4C1CA00E-0676ABB2/10/73395122804
X-purgate-type: spam
X-purgate-size: 2954



On 6/23/26 1:29 PM, Andrew Cooper wrote:
> On 17/06/2026 12:17 pm, Oleksii Kurochko wrote:
>> p2m_set_allocation() signals preemption redundantly: via a bool *preempted
>> out-argument (set to true) and via -ERESTART return code, both at the same
>> time. This led to the caller-side ASSERT(preempted == (rc == -ERESTART))
>> added solely to document their agreement.
> 
> Well no, it's not redundant.Â  A NULL pointer is used to signal that
> preemption is not permitted/available in the current context.
> 
> You notice this below, but it does invalidate the description given in
> this paragraph.

I will reword commit message to:

```
p2m_set_allocation() uses a bool *preempted out-argument that overloads 
two meanings. When non-NULL, the value written back (true) duplicates 
information already carried by the -ERESTART return code â€” pure 
redundancy, which the caller-side ASSERT(preempted == (rc == -ERESTART)) 
only documents. Separately, a NULL pointer is an implicit calling 
convention meaning "preemption is not permitted in this context.

Replace the pointer with a plain bool can_preempt that explicitly 
controls whether the preemption check runs, making the NULL-to-suppress 
convention type-safe and self-documenting, and rely on the -ERESTART 
return code alone to report that preemption occurred.

...
```

Would this rewording work for you, Andrew and Michal?


> 
>> diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
>> index 51abf3504fcf..e5c6be7c0890 100644
>> --- a/xen/arch/arm/mmu/p2m.c
>> +++ b/xen/arch/arm/mmu/p2m.c
>> @@ -133,27 +130,24 @@ int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
>>           return -EINVAL;
>>   
>>       spin_lock(&d->arch.paging.lock);
>> -    rc = p2m_set_allocation(d, pages, &preempted);
>> +    rc = p2m_set_allocation(d, pages, true);
>>       spin_unlock(&d->arch.paging.lock);
>> diff --git a/xen/common/device-tree/dom0less-build.c b/xen/common/device-tree/dom0less-build.c
>> index eacfd93087ae..c3818ffed45f 100644
>> --- a/xen/common/device-tree/dom0less-build.c
>> +++ b/xen/common/device-tree/dom0less-build.c
>> @@ -747,7 +747,7 @@ static int __init domain_p2m_set_allocation(struct domain *d, uint64_t mem,
>>                   domain_p2m_pages(mem, d->max_vcpus);
>>   
>>       spin_lock(&d->arch.paging.lock);
>> -    rc = p2m_set_allocation(d, p2m_pages, NULL);
>> +    rc = p2m_set_allocation(d, p2m_pages, false);
>>       spin_unlock(&d->arch.paging.lock);
> 
> Passing booleans like this makes the code unnecessarily hard to follow.
> 
> At least use ", /* can_preempt */ true);" so the context is available
> directly to the reader.

Did you mean `false` here: ", /* can_preempt */ true);"?

I assume I should apply this pattern throughout the patch wherever true 
or false is passed explicitly as an argument to p2m_set_allocation(), right?

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 09:40:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 09:40:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344712.1603748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcK6A-00029A-KR; Wed, 24 Jun 2026 09:40:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344712.1603748; Wed, 24 Jun 2026 09:40: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 1wcK6A-000293-Hg; Wed, 24 Jun 2026 09:40:46 +0000
Received: by outflank-mailman (input) for mailman id 1344712;
 Wed, 24 Jun 2026 09:40:44 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcK68-00028s-Qy
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 09:40:44 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcK68-00Eufn-7l
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 11:40:44 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3ba61b-2eae-0a2a0a5409dd-0a2a4501c236-2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 11:40:44 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3ba61b-e031-0a2a45010019-d1558034e1aa-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 11:40:43 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-490b211ee6aso5360405e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 02:40:43 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4923fd1fa34sm499583865e9.5.2026.06.24.02.40.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782294043; x=1782898843; 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=Zxh4mYqGYnCqMNftwEZN5X7lTuugzpIv4x2WO4W+C8M=;
        b=Rl0Uato//IH0bFqw4itivChfZ9X1bCpHBCLGh1ZGJNxZr4/HZ6VYJkTCAWWkVp0bt+
         gNmFpE+hqlJIJRQQ8rqctNP3K9o5QjvHDvLqd4P1wrAvVflATdVI29q9spHhPq1O3fxy
         4GiJMQvzQgBFQL7udJCNb8cMk/EYy5awLShKbA2DW9NlvUdkokQYXpgWgLq0rXUKMQzA
         RwfJ/Doy9hskDoJabK9H26tGaryfiZYlncMfrjvOIaVPheXe/1oi5SrqnOhJfDGE9iz/
         ai7zDnIqT0TxwhwlBihpoYYO4KIzhykCtfLw8wpVxNHsfqPuYSx4YLwYXFphCTzlpwGn
         RIpA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782294043; x=1782898843;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Zxh4mYqGYnCqMNftwEZN5X7lTuugzpIv4x2WO4W+C8M=;
        b=KdeMz2RzfkAM7CQ194OEctHo1c3+pvp32yAcP7EIcW7eNMnki1ebRtDBTG98PQhBSb
         pw4cXNE1WssFyWUWs/9cMKkt65Tu1StjIG2df16API+40cc9hOU47K0dXB0V04PKJJZR
         4tUmXG4sgjBtcIwupDh4eSA1pH5MwI16wBOd+nSlvmE2g7ry5/p9LdhP4+pVCu+4EKnG
         givB8+CGdd97HLIj+JDMFaGHLdmjPrMATzAU0d2sHrykgedRNEWmLCyZAG0RFjDEJ4lY
         Gv3hIKH49fh9SemyzHEWpjMoxxIXXNgQomDDLuMfpylaGIZxNJFzIjkO8+ZxgzdtdfdD
         3U/g==
X-Forwarded-Encrypted: i=1; AFNElJ+lxgX7tgPNCDjiwbKfC8RNPqEWd6Naus+AQsdRGjGZJ4zuGQtWPpHpJ8aJKRvdQdlLhV2CSir5CNo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzR4zox11cke45HosVVcfCGAw/F7refbRAbmlHqP8jZ64Uld09T
	6Z2sP45A7wVkvZFfqTzi4TpfpugXsjC+aGbf2KmYh/6zTif3QOEUFikH
X-Gm-Gg: AfdE7cnYDkpDvQ5nQnULUko6bI+fzkUTXarawuRy0yY92YdLHPZYK9Q6Z2yl/L69mql
	xGDyQNEdoI2Kna9HcZEXawWJRRXvqEIJWRq1S0iHzkS0T5Ud/flUIR6W3GhRpEkV0cVgZWKK56p
	d04eZ3+/GZ8EHRccB/PWQit8Tqh+GCqPkVyEjpvU+GsM0I18K/pzFpxgx8UyB1Ynh3cl6+tgOou
	Tn2WuQqRu+JB+d1G2PBBc7F5L57hE/twUOnTy5ifbA6GSkkCf8lnAm3g9WuVk4wIQ+wko8X5K/I
	MSew19IdfC5h1YC4BvJC5RlPvFBwnUOZq3t9+a1HZ7ldSX8PTdrF2e02qJKhDselRz+mXtFAr75
	AvLgXMgCSpF7qI/vLR+3Q7dj7aH4BqBPVJE+aA8uH/k8tSoobGr7mvW7txQmxmirPsmfHGEKgvV
	Ye6l1WmSth8VlGolpTVB+BS30IrfAPy5aeXCq3m35Saj2UlL/c783gklCmMMv05n1P0vw=
X-Received: by 2002:a05:600c:3f07:b0:490:c024:2eba with SMTP id 5b1f17b1804b1-49260872b71mr34011265e9.22.1782294042971;
        Wed, 24 Jun 2026 02:40:42 -0700 (PDT)
Message-ID: <23ab5c24-fa7d-44ac-a7ce-199bd33ebb34@gmail.com>
Date: Wed, 24 Jun 2026 11:40:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 02/23] xen: arm: update p2m_set_allocation() prototype
To: "Orzel, Michal" <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.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>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
 <a63794ac32e157ea44c3450fc5fb6f2842e00680.1781693963.git.oleksii.kurochko@gmail.com>
 <073c5ff2-5244-4e11-a9e3-e5ecd3ce31d2@amd.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <073c5ff2-5244-4e11-a9e3-e5ecd3ce31d2@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d62444/1782294043-CDFB2E30-F6E4742F/10/73395122804
X-purgate-type: spam
X-purgate-size: 9549



On 6/24/26 9:32 AM, Orzel, Michal wrote:
> 
> 
> On 17-Jun-26 13:17, Oleksii Kurochko wrote:
>> p2m_set_allocation() signals preemption redundantly: via a bool *preempted
>> out-argument (set to true) and via -ERESTART return code, both at the same
>> time. This led to the caller-side ASSERT(preempted == (rc == -ERESTART))
>> added solely to document their agreement.
>>
>> Drop the out-argument entirely. The return code alone is sufficient to
>> distinguish preemption (-ERESTART) from success (0) or other failures.
>> Replace the pointer with a plain bool can_preempt that controls whether
>> the preemption check is performed at all, making the previous
>> NULL-to-suppress-preemption calling convention explicit and type-safe.
> As Andrew said, this paragraph contradicts the first one i.e. we still need to
> pass whether to perform the check or not, so it's not redundant.

I suggested a rewording of the commit message in reply to Andrew's 
comment. Could you please review my response?

> 
>>
>> Since p2m_set_allocation() is called by the common dom0less build code,
>> move its declaration from the ARM-specific asm/p2m.h to xen/p2m-common.h.
>>
>> Reported-by: Jan Beulich <jbeulich@suse.com>
>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> ---
>> Changes in v3:
>>   - Nothing changed. Only rebase.
>> ---
>> Changes in v2:
>>   - new patch
>> ---
>> ---
>>   xen/arch/arm/include/asm/p2m.h          |  1 -
>>   xen/arch/arm/mmu/p2m.c                  | 22 ++++++++--------------
>>   xen/arch/riscv/include/asm/paging.h     |  2 +-
>>   xen/arch/riscv/p2m.c                    |  7 ++++---
>>   xen/arch/riscv/paging.c                 |  7 ++-----
>>   xen/common/device-tree/dom0less-build.c |  2 +-
>>   xen/include/xen/p2m-common.h            |  2 ++
>>   7 files changed, 18 insertions(+), 25 deletions(-)
>>
>> diff --git a/xen/arch/arm/include/asm/p2m.h b/xen/arch/arm/include/asm/p2m.h
>> index 4a4913716bdd..737da60dcf58 100644
>> --- a/xen/arch/arm/include/asm/p2m.h
>> +++ b/xen/arch/arm/include/asm/p2m.h
>> @@ -238,7 +238,6 @@ void p2m_restore_state(struct vcpu *n);
>>   /* Print debugging/statistial info about a domain's p2m */
>>   void p2m_dump_info(struct domain *d);
>>   
>> -int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted);
>>   int p2m_teardown_allocation(struct domain *d);
>>   
>>   static inline void p2m_write_lock(struct p2m_domain *p2m)
>> diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
>> index 51abf3504fcf..e5c6be7c0890 100644
>> --- a/xen/arch/arm/mmu/p2m.c
>> +++ b/xen/arch/arm/mmu/p2m.c
>> @@ -67,10 +67,11 @@ int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
>>   
>>   /*
>>    * Set the pool of pages to the required number of pages.
>> - * Returns 0 for success, non-zero for failure.
>> + * Returns 0 for success, -ERESTART if preempted, or a negative error code on
> It returns -ERESTART if preempted *AND* preemption is allowed - please clarify
> in the description.
> 

Agree, it should be updated. I'll apply your suggestion in the next 
patch version.

>> + * failure.
>>    * Call with d->arch.paging.lock held.
>>    */
>> -int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
>> +int p2m_set_allocation(struct domain *d, unsigned long pages, bool can_preempt)
>>   {
>>       struct page_info *pg;
>>   
>> @@ -112,11 +113,8 @@ int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
>>               break;
>>   
>>           /* Check to see if we need to yield and try again */
>> -        if ( preempted && general_preempt_check() )
>> -        {
>> -            *preempted = true;
>> +        if ( can_preempt && general_preempt_check() )
>>               return -ERESTART;
>> -        }
>>       }
>>   
>>       return 0;
>> @@ -125,7 +123,6 @@ int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
>>   int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
>>   {
>>       unsigned long pages = size >> PAGE_SHIFT;
>> -    bool preempted = false;
>>       int rc;
>>   
>>       if ( (size & ~PAGE_MASK) ||          /* Non page-sized request? */
>> @@ -133,27 +130,24 @@ int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
>>           return -EINVAL;
>>   
>>       spin_lock(&d->arch.paging.lock);
>> -    rc = p2m_set_allocation(d, pages, &preempted);
>> +    rc = p2m_set_allocation(d, pages, true);
>>       spin_unlock(&d->arch.paging.lock);
>>   
>> -    ASSERT(preempted == (rc == -ERESTART));
>> -
>>       return rc;
>>   }
>>   
>>   int p2m_teardown_allocation(struct domain *d)
>>   {
>>       int ret = 0;
>> -    bool preempted = false;
>>   
>>       spin_lock(&d->arch.paging.lock);
>>       if ( d->arch.paging.p2m_total_pages != 0 )
>>       {
>> -        ret = p2m_set_allocation(d, 0, &preempted);
>> -        if ( preempted )
>> +        ret = p2m_set_allocation(d, 0, true);
>> +        if ( ret == -ERESTART )
>>           {
>>               spin_unlock(&d->arch.paging.lock);
>> -            return -ERESTART;
>> +            return ret;
>>           }
>>           ASSERT(d->arch.paging.p2m_total_pages == 0);
>>       }
>> diff --git a/xen/arch/riscv/include/asm/paging.h b/xen/arch/riscv/include/asm/paging.h
>> index e487c89a4ccd..103384723dc5 100644
>> --- a/xen/arch/riscv/include/asm/paging.h
>> +++ b/xen/arch/riscv/include/asm/paging.h
>> @@ -9,7 +9,7 @@ struct page_info;
>>   int paging_domain_init(struct domain *d);
>>   
>>   int paging_freelist_adjust(struct domain *d, unsigned long pages,
>> -                           bool *preempted);
>> +                           bool can_preempt);
>>   
>>   int paging_ret_to_domheap(struct domain *d, unsigned int nr_pages);
>>   int paging_refill_from_domheap(struct domain *d, unsigned int nr_pages);
>> diff --git a/xen/arch/riscv/p2m.c b/xen/arch/riscv/p2m.c
>> index 703b9f4d2540..41d6d3d5e699 100644
>> --- a/xen/arch/riscv/p2m.c
>> +++ b/xen/arch/riscv/p2m.c
>> @@ -430,15 +430,16 @@ int p2m_init(struct domain *d, const struct xen_domctl_createdomain *config)
>>   
>>   /*
>>    * Set the pool of pages to the required number of pages.
>> - * Returns 0 for success, non-zero for failure.
>> + * Returns 0 for success, -ERESTART if preempted, or a negative error code on
>> + * failure.
>>    * Call with d->arch.paging.lock held.
>>    */
> Move the description where a prototype lives. This way you will avoid adding one
> at each definition (remove from here and Arm then).

Makes sense. Also, it will address the issue that, based on your comment 
above, the comment should be updated here and before the prototype.

> 
>> -int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
>> +int p2m_set_allocation(struct domain *d, unsigned long pages, bool can_preempt)
>>   {
>>       struct p2m_domain *p2m = p2m_get_hostp2m(d);
>>       int rc;
>>   
>> -    if ( (rc = paging_freelist_adjust(d, pages, preempted)) )
>> +    if ( (rc = paging_freelist_adjust(d, pages, can_preempt)) )
>>           return rc;
>>   
>>       /*
>> diff --git a/xen/arch/riscv/paging.c b/xen/arch/riscv/paging.c
>> index 76a203edbb0c..35f572689a7c 100644
>> --- a/xen/arch/riscv/paging.c
>> +++ b/xen/arch/riscv/paging.c
>> @@ -47,7 +47,7 @@ static int _paging_add_to_freelist(struct domain *d)
>>   }
>>   
>>   int paging_freelist_adjust(struct domain *d, unsigned long pages,
>> -                           bool *preempted)
>> +                           bool can_preempt)
>>   {
>>       ASSERT(spin_is_locked(&d->arch.paging.lock));
>>   
>> @@ -66,11 +66,8 @@ int paging_freelist_adjust(struct domain *d, unsigned long pages,
>>               return rc;
>>   
>>           /* Check to see if we need to yield and try again */
>> -        if ( preempted && general_preempt_check() )
>> -        {
>> -            *preempted = true;
>> +        if ( can_preempt && general_preempt_check() )
>>               return -ERESTART;
>> -        }
>>       }
>>   
>>       return 0;
>> diff --git a/xen/common/device-tree/dom0less-build.c b/xen/common/device-tree/dom0less-build.c
>> index eacfd93087ae..c3818ffed45f 100644
>> --- a/xen/common/device-tree/dom0less-build.c
>> +++ b/xen/common/device-tree/dom0less-build.c
>> @@ -747,7 +747,7 @@ static int __init domain_p2m_set_allocation(struct domain *d, uint64_t mem,
>>                   domain_p2m_pages(mem, d->max_vcpus);
>>   
>>       spin_lock(&d->arch.paging.lock);
>> -    rc = p2m_set_allocation(d, p2m_pages, NULL);
>> +    rc = p2m_set_allocation(d, p2m_pages, false);
>>       spin_unlock(&d->arch.paging.lock);
>>   
>>       return rc;
>> diff --git a/xen/include/xen/p2m-common.h b/xen/include/xen/p2m-common.h
>> index f0bd9a6b9896..1b44ec8ce36c 100644
>> --- a/xen/include/xen/p2m-common.h
>> +++ b/xen/include/xen/p2m-common.h
>> @@ -43,5 +43,7 @@ int __must_check check_get_page_from_gfn(struct domain *d, gfn_t gfn,
>>                                            bool readonly, p2m_type_t *p2mt_p,
>>                                            struct page_info **page_p);
>>   
>> +int p2m_set_allocation(struct domain *d, unsigned long pages,
> I think it's worth adding __must_check given that rc is now the only preemption
> status checker.

I will add __must_check.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 09:40:50 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 09:40:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344713.1603754 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcK6A-0002C8-V2; Wed, 24 Jun 2026 09:40:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344713.1603754; Wed, 24 Jun 2026 09:40: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 1wcK6A-0002Bs-PC; Wed, 24 Jun 2026 09:40:46 +0000
Received: by outflank-mailman (input) for mailman id 1344713;
 Wed, 24 Jun 2026 09:40:45 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wcK68-00028r-K6
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 09:40:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcK68-004N96-0i
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 11:40:44 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a3ba614-e002-0a2a0a5209dd-0a2a45059402-14
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 11:40:43 +0200
Received: from [52.101.229.128]
 (helo=TY3P286CU002.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <taka@valinux.co.jp>)
 id 6a3ba618-ef3d-0a2a45050019-3465e580c69f-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 11:40:42 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TY7P286MB6708.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:323::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Wed, 24 Jun
 2026 09:40:38 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0159.012; Wed, 24 Jun 2026
 09:40: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=w5xc8H6tsQTCP/w1Vx1LhmavJWUAUQbinhPxGUvIaOjpV5wsQxdCYD4kp0fjesCFc3geD32GF37NPhHVInXI5wJA41AmnwAWr+XHVTBt/dUdufZAU4drGUt+hJkKPOtjkav6c7WoRO9fdrYbySxhSGHMXqvihw7TgU9KMH/wXqvIDIPNyF+hfK2c6Dd4pZFdDWRC0KQU9Iz0eVKLFOe6VXulXXkn4wVKl/pqMxoRNDjvWBcc9nJETuMjH5VpG/4xTYh/xPhjMhK/WJ2ek/TsspXqLspaUStz0EzWSYHwwtTx16eK1sbGIXjd4KfGYMTzH05SoerDjf2RPqGuHa1KXg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+dXviQYPFcypXFYLM/XmTlMk93WlIy72PNblg3kjgEY=;
 b=jbYSAkMlOzjkYRfqT+y+3ZzHKf5Pt3GeAYbCQQf72PP7nx+ysDufIrtZiqMGeEQQ8i0Omyx1MegW5Nfy+h2w+kq8tQZu1GMo4JqTQ6BnC5z5MfrJHKwYsL2PgtDR161PLd2sRII3LbPR+0C25uLJo8wxYEW61nf8NWJF24Yd60NvmZPZrgajSjcpvGWtA+sQg9BmFMMKKZ2AopxJ0kUzfH6WgkZnysbShN4ZXAiOiCU1KHAAsywE4mkqqs039aUF+OoxYdDLr26cW9YYFPoy6FZNrWvxCqX/jIVqlfJdFyW9Ecx99Qn4w+ztuPFxAfYEdrUnGfhAIjKFvcwuvBSKDw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+dXviQYPFcypXFYLM/XmTlMk93WlIy72PNblg3kjgEY=;
 b=VOrJbSuq8NNiW7f3j4seUdoYoenR8Sn+27hvQP3kekTaxHSIJkh2ZYfjzWlD5QfPwq0Fk7GkmRaFaHJyXoTY5m/pAFsqlPUzwGjhy7jNALwTw6Tg62Z3Ex+5dHdTECwdXinciWauP304Pm4cfoYh4XVaFDUy23uZHJE45c9DWf0=
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: Jan Beulich <jbeulich@suse.com>
CC: "Mykyta_Poturai@epam.com" <Mykyta_Poturai@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Teddy Astie <teddy.astie@vates.tech>, 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>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v2 3/3] xen/sched: Make cpu_nr_siblings()
 architecture-specific
Thread-Topic: [PATCH v2 3/3] xen/sched: Make cpu_nr_siblings()
 architecture-specific
Thread-Index: AQHc/iigOqL0BnGAM0Om5K/tToBK0rZKmlYAgALcNwA=
Date: Wed, 24 Jun 2026 09:40:37 +0000
Message-ID:
 <OS9P286MB722263C23B2588D92D347BF582ED2@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
References: <20260617071206.265599-1-taka@valinux.co.jp>
 <20260617071206.265599-4-taka@valinux.co.jp>
 <ec182f69-c5b2-481a-bb2f-cfd680036ac2@suse.com>
In-Reply-To: <ec182f69-c5b2-481a-bb2f-cfd680036ac2@suse.com>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: OS9P286MB7222:EE_|TY7P286MB6708:EE_
x-ms-office365-filtering-correlation-id: fc8ccc84-ebc8-4410-dea1-08ded1d4a57e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|7416014|23010399003|376014|366016|1800799024|38070700021|18002099003|22082099003|4143699003|56012099006;
x-microsoft-antispam-message-info:
 V9j+M1rJnsB6LucoFeto9t0lo7M5OtUSCmhUr3QwAF7JkkgWITTg/qzqPdoeVzy/k/Z2vgU3BV6B1vLAr9GdE/iIpF/nXfnzjzWj2K+m6FBipdwfalcZCZ93h1sRy4dysiVMkdwUbGoNkOc1GcighP+Q8pbcSR5cL40WB1uFu3bI4VQQ8Uvn3nno7XhqgOT3BN8718jUNHNGFBh1RY8PF+dspCWX6PC91iBXSekNng9B4VTYegOUiQ5r5QLf58YckXm94Yf+09ZLA5L9xopn9uhIY6VPwibO1YDnnLtFOHAe/3wnbh6gb43IpfeW6ubB0dlgJ/iDrgM4xDzXgV5rE71pYeyY/g8wqcPBCaRAt9Yu/56D2Ml1sIeqAzEUzJ4veqYb+eyb1P8+92c9q0AM2S0L92JN9ZtUQ8aEydzuHuEix7SHvJnP66gGaATEYJMLRS77NHW0OXFH4cqnCU4t74WvmanvqRv/yIBi0j9QsaeFvW1Cyv4vaJKj/gAUcjRjC6/1TfxngQ8837SQUP4je3IXaLwyvIi0OLHDbS+a2pd6BtWZ7/c6TKb10F5lxehhZWoTnlpFV/0j/VWjWFIQEdxRUrMUHl3IPLmfQbYTHVC7PL7UU2moZGsMiXJifFTlvrvSziCZcLEL2rMXjP81Cqif2lJJFsYHZ/UbUMhO7HVJYEchx4KUymz5vVg6LMRJRx3M1lHRefVhI/7jEIPbOy0MrV8r5MfQ30nTWPaNeAA=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(7416014)(23010399003)(376014)(366016)(1800799024)(38070700021)(18002099003)(22082099003)(4143699003)(56012099006);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?YjRkYlJVaEdna013c0JMc2VjcUFRd3A2ZWhGc24ybW9YMWxSdmlncWU4WjY2?=
 =?utf-8?B?bUk3UmE1RnN2RmZlOW1jd0pxcWNtYWVBOWlQUjYvU0pLejQ3Q09iVlFOeUs0?=
 =?utf-8?B?cE9HVnV2NXI0aG1aZlIxeHV3NzJucTYzNmxZaUtMK0F5d1hVLys5YkZYekxS?=
 =?utf-8?B?YXZVQjZiL1pCSkNXYXhFNlVNT1U4eXNaUHRUZ0J5dVZuRk1ocVNLcklCOEtB?=
 =?utf-8?B?L29xMmRSRVdZdXlMWG9tUm81UTZkNGhJSWFUblBybmp2eks2QTZFR1VVZVlT?=
 =?utf-8?B?MVF2QWhPRkRBVHhMQVJmdU5BV0lBNjFCOVVTQ0trNTNLV2gwV1RjZ2NVZVJX?=
 =?utf-8?B?a3A2cDZIUDJGTE9XSHJpK3Nsa3JEQ1g2emlLLzVZV3BFa1BoNndtSUZhaUZP?=
 =?utf-8?B?RXRRQnNFSHdPSnVmQ0l1VXlSQXNWUkpiY1l2Nk56eE84Sy83RGNzV3BNSmpI?=
 =?utf-8?B?K0E3c2lVYkF4Z3JtYVVZakh5UUZYRkw2eWJGWkRnemRkSHhHVWszSVZtSVF4?=
 =?utf-8?B?ZElCcnhMcHlsT1NYaCtjVVcyWFJQdEc0ZmJrYUxuZHE1VWUxM1ZreWlnUkRl?=
 =?utf-8?B?djJaMXU5Q0V4VEJkVGZtZkR4R05FMUorb3hWOFkrZENSclFjcWorbCtHYS93?=
 =?utf-8?B?R1RJb1hmMFM4M1JJMDRuZ2hFS1NXcjhkL2dOWGNsdlhTei9Zdm9CK0p6OEpQ?=
 =?utf-8?B?RTZCSmF4cGIvMEdpMy8xUG5RZVI2dUVXL0xiMVJVS3hRMFkzY0dvMStqenM5?=
 =?utf-8?B?RkNxc2lsbzhFeXE0WGRuOXBVc1Q1VHpDZE05dURkelRnNW54OU5tQzJ5N3Fs?=
 =?utf-8?B?OWdKMDZJN2tYSU5xdEZYaE1TelRRdWErVG9PNmRYcEpEdFBWb2RFUEhmVjcy?=
 =?utf-8?B?aVJkVURqRmpHYkNJcE9HVmdmRGlyWmdFZk9WdVAvK0ZHUjVPbS9LQk51ZDJi?=
 =?utf-8?B?cEpZRGlKdFJEbGw1dis3THhPSTVJT3luQjYwRU5Nc1JXSDM0c0NyNVhEUDd0?=
 =?utf-8?B?NXJLQ3ZURDBqUXhjTkZyUUVDWFF6MEZwVUc2SGprajM1dG9UVTY3ekhOKzZW?=
 =?utf-8?B?eHFnTnZxOFhXM3dIcTVPTjFPMTI2VGh2eTFMR1NjRFlUcjc4L1ZFY3BLNmlK?=
 =?utf-8?B?dnpuVWVNc3hEdGw0YmpZV09tcWpKb0M0Y3lNQU92R21ZclRCMy9kdmJXUzRD?=
 =?utf-8?B?QWRaU2l3MW5pUTl6K282MXBVZW5WcDVacVNXOEZqa1JRR3Z0MUFTVG9hc0Iy?=
 =?utf-8?B?RjE4M0dTeVdMOHJtbWw1S2ZYazNjaUhLcGhiSUsrelk0ZTRhelFKRm5Ec3d6?=
 =?utf-8?B?OERpbWdoaUwzd1VDTDJpcUpFeFQ5UERnVTFKbnVWeFIvZVN5bDZISkcxZ3dQ?=
 =?utf-8?B?UjR6cTdXM0ZaRXNvSEVNNFFudStOd0p1Tm05UUdyTnNRTlN6ZjBtZUZINHk0?=
 =?utf-8?B?UUVYU3hjYlJJcDU4VTA1S2NzL2QwczB3N2VEWGV3K0h4NlBuYjVoSGNwS0Uv?=
 =?utf-8?B?SmEzdUVFb0NnOEZxMGNJVEM3ckJoaDB6YVBzYWhHelVGRll1d1V2MHBCdTJk?=
 =?utf-8?B?bVcwdWhjMisySHRpeWV2UExWWUJyN0xWek5iaHhwbDhwNG8vWm1KcDVmb0w2?=
 =?utf-8?B?S3FoSzZkWHdYU25mVUdPSXpzUTUzZDNMaUIzNFY4RzYzeVFiSW11M01iTTgr?=
 =?utf-8?B?RU5mODF1Rmc3U1pNZ1VWWFV4aUQ5dGRMM3daZi9GaERmYlMwQ0hCd09xV1hB?=
 =?utf-8?B?d0NVV3h6QzIrSVhqZUduNGNjV2Y1My9aN1NHUTloRnkyTmlqUXJWcnprTW1t?=
 =?utf-8?B?a21ieXl2cFZhNVhiTGlNdDViYXFCTTJLUnVka3h2cGRZYkJlRXhJbzZXR0hz?=
 =?utf-8?B?QmpGR3o4d2VhcURkb3k3MTkzVjJzVEowWjdTUk1uRElwcWJEUmRwOTNvQlJt?=
 =?utf-8?B?bGJ3VndYdTBVcXR4bjhxbTZjbm5kcHhEMnZNUHJGUnhrY3dYOTVDWjNkb2RL?=
 =?utf-8?B?ZlZVZ1FtY1NUeFEyeldEbUMvRktnK3ZoTDI3RUVDazBrZnlzUVRKTC9mUEdP?=
 =?utf-8?B?T200bU9ja3Ewd1g4RTlaeFFCYUVaNWFPazJwSGNOWERiQUpEc3BGbndOaHds?=
 =?utf-8?B?QmZCb2ZGekdqRFJsR1ZjTjNrNmQ3TkdySDYvSmUwQnVCMDZWRERmY2E2QTBC?=
 =?utf-8?B?bC9KRm0zWm0vUlJ4QWsxSE9rSnE3ZERqeVlPdzliM01IQjF5TVhyRUNBbjBl?=
 =?utf-8?B?SDFOQVBoZ2dZeTlvRXByQVlDRWlFQk1pL2lWYnJlSFhSdjNvVnFMKzRUd0t1?=
 =?utf-8?Q?sX3HY8rNdStz0TZyBp?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: fc8ccc84-ebc8-4410-dea1-08ded1d4a57e
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jun 2026 09:40:37.2615
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: HvaTZzY+ZdnE2Zxwo69uMesM2/rvC3cin2ulsBowBzuHPyrXYpbtLDRHt6UkVt6VMGRgu/fxvJ8/1z/xUcQ5Wg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY7P286MB6708
X-purgate-ID: tlsNG-c201ff/1782294043-9C9CD127-B16CDB94/0/0
X-purgate-type: clean
X-purgate-size: 3544

SGVsbG8sDQoNCj4gT24gMTcuMDYuMjAyNiAwOToxMiwgSGlyb2thenUgVGFrYWhhc2hpIHdyb3Rl
Og0KPiA+IC0tLSBhL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaA0KPiA+ICsr
KyBiL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaA0KPiA+IEBAIC0xMDYsNiAr
MTA2LDcgQEAgZXh0ZXJuIHZvaWQgaW50ZWxfaW5pdF9hcmF0KHZvaWQpOw0KPiA+DQo+ID4gICNk
ZWZpbmUgY3B1X3RvX2NvcmUoX2NwdSkgICAoY3B1X2RhdGFbX2NwdV0uY3B1X2NvcmVfaWQpDQo+
ID4gICNkZWZpbmUgY3B1X3RvX3NvY2tldChfY3B1KSAoY3B1X2RhdGFbX2NwdV0ucGh5c19wcm9j
X2lkKQ0KPiA+ICsjZGVmaW5lIGNwdV9ucl9zaWJsaW5ncyhfY3B1KSAoY3B1X2RhdGFbX2NwdV0u
eDg2X251bV9zaWJsaW5ncykNCj4gDQo+IFRoaXMgaXMgdW5pZm9ybWx5IGF2YWlsYWJsZSB3aGVu
IGJ1aWxkaW5nIHg4Ni4gQW4gZWFybGllciBwYXRjaCBhZGRzIGFuDQo+ICNpbmNsdWRlIG9mIHRo
ZSBuZXcgY3B1LXRvcG9sb2d5LmggLi4uDQoNCiJUaGUgY3B1LXRvcG9sb2d5LmggaGVhZGVyIGlz
IGludGVuZGVkIGZvciBub24teDg2IGFyY2hpdGVjdHVyZXMgd2hlcmUgdG9wb2xvZ3kNCmluZm9y
bWF0aW9uIGlzIHJldHJpZXZlZCBmcm9tIERldmljZSBUcmVlIG9yIEFDUEkuIA0KRm9yIHg4Niwg
SSB3aWxsIGVuc3VyZSB0aGF0IGl0IGlzIHByb3Blcmx5IGRpc2FibGVkIHRvIGF2b2lkIGFueSBj
b25mbGljdHMuIg0KDQo+ID4gLS0tIGEveGVuL2NvbW1vbi9zY2hlZC9jcmVkaXQyLmMNCj4gPiAr
KysgYi94ZW4vY29tbW9uL3NjaGVkL2NyZWRpdDIuYw0KPiA+IEBAIC0yOSwyMiArMjksNiBAQA0K
PiA+ICAvKiAjZGVmaW5lIGQycHJpbnRrIHByaW50ayAqLw0KPiA+ICAjZGVmaW5lIGQycHJpbnRr
KHguLi4pDQo+ID4NCj4gPiAtLyoNCj4gPiAtICogVE9ETzogQWJzdHJhY3QgdGhpcyBwcm9wZXJs
eSwgYW5kIGZpZ3VyZSBvdXQgd2hhdCBDcmVkaXQyIHdhbnRzIHRvIGRvIHdpdGgNCj4gPiAtICog
ICAgICAgdGhlIGZhY3QgdGhhdCB4ODZfbnVtX3NpYmxpbmdzIGRvZXNuJ3QgZXZlbiBoYXZlIHRo
ZSBzYW1lIG1lYW5pbmcNCj4gPiAtICogICAgICAgYmV0d2VlbiB4ODYgdmVuZG9ycy4NCj4gPiAt
ICovDQo+ID4gLXN0YXRpYyB1bnNpZ25lZCBpbnQgY3B1X25yX3NpYmxpbmdzKHVuc2lnbmVkIGlu
dCBjcHUpDQo+ID4gLXsNCj4gPiAtI2lmZGVmIENPTkZJR19YODYNCj4gPiAtICAgIHJldHVybiBj
cHVfZGF0YVtjcHVdLng4Nl9udW1fc2libGluZ3M7DQo+ID4gLSNlbGlmIGRlZmluZWQoQ09ORklH
X0NQVV9UT1BPTE9HWSkNCj4gPiAtICAgIHJldHVybiBjcHVfdG9wb2xvZ3lbY3B1XS5udW1fc2li
bGluZ3M7DQo+ID4gLSNlbHNlDQo+ID4gLSAgICByZXR1cm4gMTsNCj4gPiAtI2VuZGlmDQo+ID4g
LX0NCj4gDQo+IC4uLiB0byB0aGlzIGZpbGUsIHRodXMgYWxsb3dpbmcgZm9yIHRoZSBzdGF0aWMg
ZnVuY3Rpb24gdG8gYmUgZHJvcHBlZC4gSG93ZXZlciwNCj4gLi4uDQo+IA0KPiA+IC0tLSBhL3hl
bi9pbmNsdWRlL3hlbi9jcHUtdG9wb2xvZ3kuaA0KPiA+ICsrKyBiL3hlbi9pbmNsdWRlL3hlbi9j
cHUtdG9wb2xvZ3kuaA0KPiA+IEBAIC0yNCw2ICsyNCw3IEBAIHZvaWQgaW5pdF9jcHVfdG9wb2xv
Z3kodm9pZCk7DQo+ID4NCj4gPiAgI2RlZmluZSBjcHVfdG9fY29yZShjcHUpICAgKGNwdV90b3Bv
bG9neVtjcHVdLnBoeXNfY29yZV9pZCkNCj4gPiAgI2RlZmluZSBjcHVfdG9fc29ja2V0KGNwdSkg
ICAoY3B1X3RvcG9sb2d5W2NwdV0ucGh5c19zb2NrZXRfaWQpDQo+ID4gKyNkZWZpbmUgY3B1X25y
X3NpYmxpbmdzKGNwdSkgKGNwdV90b3BvbG9neVtjcHVdLm51bV9zaWJsaW5ncykNCj4gPg0KPiA+
ICAjZWxzZSAvKiBDT05GSUdfQ1BVX1RPUE9MT0dZICovDQo+ID4NCj4gPiBAQCAtMzEsNiArMzIs
NyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaW5pdF9jcHVfdG9wb2xvZ3kodm9pZCkge30NCj4gPg0K
PiA+ICAjZGVmaW5lIGNwdV90b19jb3JlKGNwdSkgICAoMFUpDQo+ID4gICNkZWZpbmUgY3B1X3Rv
X3NvY2tldChjcHUpICgwVSkNCj4gPiArI2RlZmluZSBjcHVfbnJfc2libGluZ3MoY3B1KSAoMVUp
DQo+ID4NCj4gPiAgI2VuZGlmIC8qIENPTkZJR19DUFVfVE9QT0xPR1kgKi8NCj4gDQo+IC4uLiBv
bmUgb2YgdGhlIHR3byAjZGVmaW5lLXMgd2lsbCB0YWtlIGVmZmVjdCBoZXJlLiBXaGljaGV2ZXIg
b25lIGl0IGlzLCBpdCdsbA0KPiBjb25mbGljdCB3aXRoIHg4NidlcyAod2hlbiBidWlsZGluZyBm
b3IgeDg2KS4gQW0gSSBvdmVybG9va2luZyBzb21ldGhpbmcgaGVyZSwNCj4gb3IgZGlkIHlvdSBz
aW1wbHkgbm90IGJ1aWxkLXRlc3QgeDg2PyBMb29rcyBsaWtlIGEgcHJvYmxlbSBvZiB0aGUgc2Ft
ZSBraW5kDQo+IG1heSBhY3R1YWxseSBiZSBpbnRyb2R1Y2VkIGFscmVhZHkgYnkgcGF0Y2ggMi4N
Cg0KT29wcywgeW91IGFyZSBjb21wbGV0ZWx5IHJpZ2h0LCBhbmQgSSBzaW5jZXJlbHkgYXBvbG9n
aXplLiBJIGRpZCBub3QgcHJvcGVybHkgDQpidWlsZC10ZXN0IG9uIHg4Ni4NCg0KVGhhbmsgeW91
LA0KSGlyb2thenUgVGFrYWhhc2hpLg0K


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 09:57:56 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 09:57:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344731.1603766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcKMW-0004TS-AE; Wed, 24 Jun 2026 09:57:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344731.1603766; Wed, 24 Jun 2026 09:57: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 1wcKMW-0004TL-7G; Wed, 24 Jun 2026 09:57:40 +0000
Received: by outflank-mailman (input) for mailman id 1344731;
 Wed, 24 Jun 2026 09:57:38 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <marmarek@invisiblethingslab.com>) id 1wcKMU-0004ST-GH
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 09:57:38 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcKMT-00HKIC-DN
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 11:57:37 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a3baa0a-e002-0a2a0a5209dd-0a2a4501ca36-38
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 11:57:37 +0200
Received: from [202.12.124.144] (helo=fout-b1-smtp.messagingengine.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a3baa10-e031-0a2a45010019-ca0c7c90d5bd-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 11:57:36 +0200
Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42])
 by mailfout.stl.internal (Postfix) with ESMTP id 962981D00120;
 Wed, 24 Jun 2026 05:57:35 -0400 (EDT)
Received: from phl-frontend-03 ([10.202.2.162])
 by phl-compute-02.internal (MEProxy); Wed, 24 Jun 2026 05:57:35 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 24 Jun 2026 05:57: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=1782295055;
	 x=1782381455; bh=PB7KQdwyUj3etFoTbUX3oZj0SQVeoL+5ZPogoQg/V6w=; b=
	OJSxSUNejkHOwX+GxD/LHt3d8duHDBQVuG6ZLwWCrhWS1PRv88Oqys3m2Mvwa04c
	zuxBlMID2m5OnVY+IoYjuEzZ5JmlBTfIgAg49vf6UBXeynNprXyV7MzoWPSiNh64
	QxnNzFl2/KTBraOVraGkxzaLOadR55frRRaE1V6JHH68xFCGyLGgyUgykiDcFkMk
	/Zib/S1Za/pJZfCG9F5NivWJDtkfg9/7rkMz7HSYSxPeL3mhF9RFIfY94eWe6Mio
	TUyR4JiAuQvnP5FF1InMc1DHzyFVl9PGR9RiPuEpBYF+SNUGGt4y5ZzW6SUEGWYv
	JuMrd12K+/ginTL4dIrwjw==
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=
	1782295055; x=1782381455; bh=PB7KQdwyUj3etFoTbUX3oZj0SQVeoL+5ZPo
	goQg/V6w=; b=Ta3DB/Xlln1QD45oezh0SvbMYvEowUisHHqAnrfX+7YUkS+Ftwe
	BPjcd9s6y1uW010BdPKz67D5p9asWKMiVTZ9pTLTnHolWbQYjX/cjvk1bpdBD6Rk
	CwOUrtfe+LdH6jtvZn+giF08MD6BV0RSNfAnYbobIOTkzH1KRaskeIxmI1tFxM7D
	u0pu2w1B3Dow3BlrOLfLDUtDKzFk0+BCW57QuE7QNTFBZDOBaFihBROdREuSz1Vh
	sVsd5ED/g52kO8H7inw1CFTuC+5KuGa1r2yVQhjYZ4zvQ6pT4PCR4LHEO/fxdLGq
	EPXXqWfcn45zJJqKHDk7fBnukK72/dMq/QA==
X-ME-Sender: <xms:D6o7anCuvt2mqLT9CSvdzZ5Ktm0gYFhhGGHNWpEwyFrgqarNzqoHGg>
    <xme:D6o7ak_d-ltVghaGJxX4PZoMxeMNf9LbMaLnofuke3fjzAH_p8zBLLRYPJeAU3kzf
    sBFAPsu3Gc7X7A3HwTXAWsR2qNBYFbxLBFPb-ThC0i_rdPVvg>
X-ME-Received: <xmr:D6o7av8890c5kBWLEvmMXmq8DOQ4wyVqiRB-SwYRcR4JP5byTyit1k9aMv29qjn8YC3vqZXTctkXugdsTfpPx2zMAjfUNcQSKMc>
X-ME-Proxy-Cause: dmFkZTFh2A3fnmsnajrOlTGrF8j4ZZ6fRhp+BrttypdDfI4dRAEM/RzZ+TKKl7CFrrQrhX
    Hf9ksFRgMlVQdsTA6ojBaKVizcJEixi0HtwlFPccepKij7Ro3H3/h25Otpf2QM1wt+mBJS
    1WbPQ15BLGuylLEYylYMMnRcny28wXDrkT4QXkhTjEd1DKK9jaV5Hwl21n9DVgJ2y5wOD+
    6fQZZ/kyUUtjqG2SsoSW40XQQtAZfRwenLR6/hfki0c1b5/gwH8jViEwMoiQg7r+TI2EbC
    uwyVCZI3WR5Usv3ks2AN8dHH98Pf8Ax4A2gb9uCMq4K7ZHlRJ3/2sTPzQfqyHouAYbIIAi
    iJxeVPQP2u+UlpQGfD5Qu9DAQe8coBY6K31Iqav68CKx6xLGNM0hM9sJ4FqKyBmJOGNNuX
    l9G8195P/gL45G9+nRL+FF2T1bneoyX7aBaG9w2NIkwVhNw+LyOdibGx3F6/2dcO4KqawL
    MmVbDwwMblEojc01bHDy5vWXGLM6qiT+yif6Ql5Er6gqeP2J66Q/UpjzpRLRlBAJNJOtIp
    qYb8PHz/vs9XiUt6PkDS/7Sl1F3gogH5zJwg9fDPJLJLNjLDViMn/fW6SOlH6Evve0kNAq
    sHBSitplkmzOglN3Jl7yEpsED+palGfFUxapzrv1SeKyU+Mx7V39i7ftCH5g
X-ME-Proxy: <xmx:D6o7ajeW8Apy4FsCswdUPKNfcTiaa2ecNiVyj02-nCBCTNJMX5Kb7Q>
    <xmx:D6o7agHbemaBFTDWxK3aaX0JGyDMA0s7qxBUe63PlcfgZssMzFCmOA>
    <xmx:D6o7apemj9Civorj4GA9EZnMhDm6kso6Ii-l3bHwE9K9RbyzR6vRcg>
    <xmx:D6o7aiGi3M-7wcr7lU5oZX3GnSl5EcPOhYiZwm2UWqe6pTsc8mQQOw>
    <xmx:D6o7atz7yXMPHG5u5q-vazVpgExP0YAO2dA17EFN7zMfIs-xeVDQSMMY>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 24 Jun 2026 11:57:32 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
	Frediano Ziglio <frediano.ziglio@cloud.com>
Subject: Re: Linux dom0 hangs on boot with Xen 4.22 and Heads firmware
Message-ID: <ajuqDBWvOwIYir-P@mail-itl>
References: <ajVUS5F9G4Jse20i@mail-itl>
 <a6b83fc1-aa98-4b45-ab7f-503715861a7d@suse.com>
 <ajslWA63ZdPhfYvw@mail-itl>
 <1ecee09a-edd9-47cf-88d4-ad4e7e8b8216@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="WGH6Ne85yU7OlOw5"
Content-Disposition: inline
In-Reply-To: <1ecee09a-edd9-47cf-88d4-ad4e7e8b8216@suse.com>
X-purgate-ID: tlsNG-d62444/1782295057-CD3B8E30-3E4E5D0E/0/0
X-purgate-type: clean
X-purgate-size: 9155


--WGH6Ne85yU7OlOw5
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 24 Jun 2026 11:57:32 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
	Frediano Ziglio <frediano.ziglio@cloud.com>
Subject: Re: Linux dom0 hangs on boot with Xen 4.22 and Heads firmware

On Wed, Jun 24, 2026 at 09:43:22AM +0200, Jan Beulich wrote:
> On 24.06.2026 02:31, Marek Marczykowski-G=C3=B3recki wrote:
> > On Mon, Jun 22, 2026 at 10:53:01AM +0200, Jan Beulich wrote:
> >> On 19.06.2026 16:38, Marek Marczykowski-G=C3=B3recki wrote:
> >>> After updating Xen to 4.22-rc2 on a system with Heads firmware, dom0
> >>> doesn't start anymore. It worked fine with Xen 4.19.
> >>> The last messages on console are:
> >>>
> >>>     [    1.495140] installing Xen timer for CPU 2
> >>>     [    1.496149] installing Xen timer for CPU 4
> >>>     [    1.496587] installing Xen timer for CPU 5
> >>>     [    1.496809] installing Xen timer for CPU 7
> >>>     [    0.008235] [Firmware Bug]: CPU   2: APIC ID mismatch. CPUID: =
0x0002 APIC: 0x0028
> >>>     [    0.008235] [Firmware Bug]: CPU   2: APIC ID mismatch. Firmwar=
e: 0x0011 APIC: 0x0028
> >>>     [    1.497055] cpu 2 spinlock event irq 200
> >>>     [    0.008235] [Firmware Bug]: CPU   4: APIC ID mismatch. CPUID: =
0x0004 APIC: 0x0000
> >>>     [    0.008235] [Firmware Bug]: CPU   4: APIC ID mismatch. Firmwar=
e: 0x0019 APIC: 0x0000
> >>>     [    1.497074] cpu 4 spinlock event irq 201
> >>>     [    0.008235] [Firmware Bug]: CPU   5: APIC ID mismatch. CPUID: =
0x0005 APIC: 0x0002
> >>>     [    0.008235] [Firmware Bug]: CPU   5: APIC ID mismatch. Firmwar=
e: 0x0021 APIC: 0x0002
> >>>     [    1.497074] cpu 5 spinlock event irq 202
> >>>     [    0.008235] [Firmware Bug]: CPU   7: APIC I
> >>>
> >>> Full console log (containing both successful boot of Xen 4.19, and th=
en
> >>> reboot into 4.22):
> >>> https://openqa.qubes-os.org/tests/184780/logfile?filename=3Dserial0.t=
xt
> >>
> >> The 4.19 log also has an anomaly around this point in time. Can you try
> >> again with sync_console added to both the 4.19 and the 4.22 attempt?
> >=20
> > Yes, sync_console helped quite a bit, now I get full dom0 panic message:
> >=20
> >     [   10.334800] vesafb: cannot reserve video memory at 0x0
> >     [   10.340009] vesafb: mode is 0x0x0, linelength=3D0, pages=3D0
> >     [   10.345515] Oops: divide error: 0000 [#1] SMP NOPTI
> >     [   10.346503] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.1=
7.9-1.qubes.fc41.x86_64 #1 PREEMPT(full)=20
> >     [   10.346503] Hardware name: Notebook V54x_6x_TU/V54x_6x_TU, BIOS =
Dasharo (coreboot+heads) v0.9.0 01/01/1970
> >     [   10.346503] RIP: e030:vesafb_probe.cold+0xd4/0x5fb
> >     [   10.346503] Code: 08 75 1f 83 3d a8 8c 1d 02 00 75 16 48 c7 c7 9=
0 4a fd 81 e8 8a ef f9 ff c7 05 d4 54 09 02 05 00 00 00 8b 05 c2 54 09 02 3=
1 d2 <f7> 35 d2 54 09 02 8b 15 fc 54 09 02 48 89 c1 48 c1 e1 20 48 09 ca
> >     [   10.346503] RSP: e02b:ffffc9004001fbb8 EFLAGS: 00010246
> >     [   10.346503] RAX: 0000000000000000 RBX: ffff888101d86f28 RCX: fff=
fffff823666e8
> >     [   10.346503] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 000=
0000000000003
> >     [   10.346503] RBP: ffff88810197d400 R08: 0000000000000000 R09: 6c6=
56e696c202c30
> >     [   10.346503] R10: 0000000000000030 R11: 203a626661736576 R12: 000=
0000000000000
> >     [   10.346503] R13: 0000000000000000 R14: 0000000000000000 R15: fff=
f888106351000
> >     [   10.346503] FS:  0000000000000000(0000) GS:ffff888cef7c1000(0000=
) knlGS:0000000000000000
> >     [   10.346503] CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
> >     [   10.346503] CR2: ffffc900064ff000 CR3: 000000000222c000 CR4: 000=
0000000050660
> >     [   10.346503] Call Trace:
> >     [   10.346503]  <TASK>
> >     [   10.346503]  ? __pfx___device_attach_driver+0x10/0x10
> >     [   10.346503]  platform_probe+0x39/0x70
> >     [   10.346503]  really_probe+0xdb/0x340
> >     [   10.346503]  ? pm_runtime_barrier+0x54/0x90
> >     [   10.346503]  __driver_probe_device+0x78/0x110
> >     [   10.346503]  driver_probe_device+0x1f/0xa0
> >     [   10.346503]  __device_attach_driver+0x89/0x110
> >     [   10.346503]  bus_for_each_drv+0x94/0xf0
> >     [   10.346503]  __device_attach+0xaf/0x1b0
> >     [   10.346503]  bus_probe_device+0x8d/0xa0
> >     [   10.346503]  device_add+0x508/0x710
> >     [   10.346503]  platform_device_add+0xed/0x250
> >     [   10.346503]  sysfb_init+0x283/0x320
> >     [   10.346503]  ? __pfx_sysfb_init+0x10/0x10
> >     [   10.346503]  do_one_initcall+0x57/0x310
> >     [   10.346503]  do_initcalls+0x1ef/0x240
> >     [   10.346503]  kernel_init_freeable+0x187/0x210
> >     [   10.346503]  ? __pfx_kernel_init+0x10/0x10
> >     [   10.346503]  kernel_init+0x1a/0x140
> >     [   10.346503]  ret_from_fork+0xf2/0x110
> >     [   10.346503]  ? __pfx_kernel_init+0x10/0x10
> >     [   10.346503]  ret_from_fork_asm+0x1a/0x30
> >     [   10.346503]  </TASK>
> >     [   10.346503] Modules linked in:
> >     [   10.559786] ---[ end trace 0000000000000000 ]---
> >     [   10.564581] RIP: e030:vesafb_probe.cold+0xd4/0x5fb
> >     [   10.569546] Code: 08 75 1f 83 3d a8 8c 1d 02 00 75 16 48 c7 c7 9=
0 4a fd 81 e8 8a ef f9 ff c7 05 d4 54 09 02 05 00 00 00 8b 05 c2 54 09 02 3=
1 d2 <f7> 35 d2 54 09 02 8b 15 fc 54 09 02 48 89 c1 48 c1 e1 20 48 09 ca
> >     [   10.588833] RSP: e02b:ffffc9004001fbb8 EFLAGS: 00010246
> >     [   10.594255] RAX: 0000000000000000 RBX: ffff888101d86f28 RCX: fff=
fffff823666e8
> >     [   10.601622] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 000=
0000000000003
> >     [   10.609000] RBP: ffff88810197d400 R08: 0000000000000000 R09: 6c6=
56e696c202c30
> >     [   10.616378] R10: 0000000000000030 R11: 203a626661736576 R12: 000=
0000000000000
> >     [   10.623755] R13: 0000000000000000 R14: 0000000000000000 R15: fff=
f888106351000
> >     [   10.631136] FS:  0000000000000000(0000) GS:ffff888cef7c1000(0000=
) knlGS:0000000000000000
> >     [   10.639483] CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
> >     [   10.645434] CR2: ffffc900064ff000 CR3: 000000000222c000 CR4: 000=
0000000050660
> >     [   10.652817] Kernel panic - not syncing: Fatal exception
> >     [   10.653803] Kernel Offset: disabled
> >     (XEN) Hardware Dom0 crashed: 'noreboot' set - not rebooting.
> >=20
> >>
> >>> It doesn't reach loading graphics driver in dom0, so I don't have
> >>> anything interesting on VGA (the last output is about the kexec call
> >>> done by Heads). But at least I have a serial console.
> >>
> >> Yet interestingly Xen's "  VGA is ... mode ..." lines differ as well.
> >=20
> > This might be relevant given the above.
>=20
> Indeed. It looks like d5a73cdc6b90 ("x86/boot: Use boot_vid_info variable
> directly from C code") is at fault, breaking this piece of pre-existing
> code at the bottom of mbi2_reloc():
>=20
> #ifdef CONFIG_VIDEO
>     if ( video )
>         video->orig_video_isVGA =3D 0x23;
> #endif
>=20
> Does the patch below help?

Yes, this helps, thanks!

> Jan
>=20
> x86/boot: don't blindly mark VGA in graphics mode on MB2 path
>=20
> Setting ->orig_video_isVGA to the specific marker should be done only when
> the VBE tag is present and the FRAMEBUFFER is either absent or indicates
> RGB type. Since the "video" variable now starts out non-NULL, this
> property was broken when in particular neither of the tags are present. To
> move back to at least close to original behavior, add a 2nd check to said
> conditional.
>=20
> Fixes: d5a73cdc6b90 ("x86/boot: Use boot_vid_info variable directly from =
C code")
> Reported-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab=
=2Ecom>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Tested-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

> --- a/xen/arch/x86/boot/reloc.c
> +++ b/xen/arch/x86/boot/reloc.c
> @@ -339,7 +339,7 @@ static multiboot_info_t *mbi2_reloc(uint
>   end:
> =20
>  #ifdef CONFIG_VIDEO
> -    if ( video )
> +    if ( video && video->lfb_size )
>          video->orig_video_isVGA =3D 0x23;
>  #endif
> =20
>=20

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

--WGH6Ne85yU7OlOw5
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmo7qgwACgkQ24/THMrX
1ywsTwf+II3bHcbfueRtSr1/3KsC06zHBiOXgAR8oljARB+YUCYCbkp0IcL0xa5P
vpalMKy5crFOwedenK1cVeRywkAU9KuPYIDDv8xbbDSWgIda0akmV7mr3EbEJiHe
F+eml5vEgkxlSrBVBn76sXRcJMvHuv4wuta0ZGun0MLWR11usR+D+llzkaS65EgZ
OILWldA5ARVkESZTM5DmhHRc8v7kLTQFRIKS4mH0NiVY1r4l3HMTVTQEQfOw/8mA
ZSYskfyKPFu7ksba4eyuIUYDQaW4wrMj/atP+L5op5vrF9WrL5/fFQNDS3GOFGM0
nM63G318gkwiHKE7YgNSPvSYorkBbQ==
=h0FA
-----END PGP SIGNATURE-----

--WGH6Ne85yU7OlOw5--


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 10:24:47 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 10:24:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344743.1603776 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcKme-0008Sg-Aj; Wed, 24 Jun 2026 10:24:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344743.1603776; Wed, 24 Jun 2026 10: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 1wcKme-0008SZ-7P; Wed, 24 Jun 2026 10:24:40 +0000
Received: by outflank-mailman (input) for mailman id 1344743;
 Wed, 24 Jun 2026 10:24:39 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcKmc-0008ST-Vd
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 10:24:38 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcKmc-00A9vq-8d
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 12:24:38 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bb058-e002-0a2a0a5209dd-0a2a450ac7de-24
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 12:24:38 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bb065-93a5-0a2a450a0019-d1558035c878-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 12:24:37 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-49261a64cf4so2358255e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 03:24:37 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4923ff8a9e3sm477426835e9.14.2026.06.24.03.24.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 03:24: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Autocrypt:Subject:From:Cc:To:Content-Language:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782296677; x=1782901477; 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=ja8EJuT5dddOpzh43korIk28eBQzrvbn1QNlQbKGL90=;
        b=a33kOerQTocOifrREBur+V4XVH4vfLo+jXBva1Acoi9adcbaQWB2uU7Q1ZhPGG5Frb
         8s/PjO3YMqjATb+PBYMuTnOA8qIvUcW5D7AIrtT3m5S1nncw4TsP6/3Nk6suIwZHfnOm
         gTH8ZU7nqAfxYjXS2FlbEHSNA+5xI9JGLnRVqVEFLPkWbR7IcuTC6lucGYjFqI5CB7VL
         ePXnoVFyEAPjEYaufncrMi8zN9LxEOYCFcoqhUJQ0xb19x62b8X0AgfjFKbyA8nDM+jn
         bxQSUK9+v4Z5L1E3olLozb+S4iqElIFPtPwTwAKw3qKsA+304zPnvCP0PxItpxrgTR/0
         hzWw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782296677; x=1782901477;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ja8EJuT5dddOpzh43korIk28eBQzrvbn1QNlQbKGL90=;
        b=PCKaqA/+2+JJWec2ae11qW1PmK+Tg1rj6mfcyuAAStN5AnoV92CDcP+RDbay6YDYbx
         UzI0pCGHcpWgBuRRd6gh3LCxCWREL5Kjk/Sx74qApUxoMN0kRyIRGWheYsVlpBA9Kgjr
         wLvT5jWrEfimbI2xY0NXbwF2K0Yw19ciOeATBDwBrdx2ZVAW399gtuUUQDDUrVWFIpO5
         0AswYKTI6D2aWQGEsKmbfofny7SuAk/kB+LMRKRwVknWUu9OxpTithk9RTiIHUQs0fDC
         Si5W/HfD7Ed1E+6aAlbrmN8xsJ4/ml7XzO+j2ZW+v6Q047IUJM8TyIR0F22dey9K2V84
         jaJw==
X-Gm-Message-State: AOJu0YwNYnxlRMj0WDnH/N7HZmpi464hHvdnnmxhmLSAHDYI1rPlL0gc
	1z4xmmn5O7l9Gigv+SiP4t3YDEzwjlrdAsktOg7h6OGXtPiex9mAZH1jYC9baxEEKlVtx+QUGHC
	q+hA2dQ==
X-Gm-Gg: AfdE7ckp9B0UI+fqo8RW9RsT7m1fgT8Z99s6ZAkKcQEqN1ny3tRcmIfVMWLFfm5+Mfj
	aNytz4+FrrWH8ipLCtPsryzpy+XRB7F6yh7xM9ccsllg6VldJhtxafvOoHpa15gCWvzhsYJoHoM
	eGYsxuBfGPllafdb23JOnI48HNjQw6aIdVVYSvpO0TLqm4bcgZVfE3d6kjNCakMUiWd6htsrR02
	5pItw/69zng4+dHTGxq35o5SWXHMVoNDv0v/kO3Pvle/u2oFhosUlS6wcCpROVpip5r1kdC8RiR
	2cJqGSzxHxCtC9Lf2x8dLYUdYaTgOMjSM8M4vTKE8GYSNgS3ve+A+TCL+pJ40bwtKHyEgToCp9v
	+i4H1mQMCteB9NCUkisZwcj6nbKrQ3fsVaJ9V/9vDFtsD9fFC4FpKaswQT150O2NPu2VzNW/yTX
	UAf0gT5TYwCMufYZg1PBBkHeO2UGgMal4kA19ybCGTLbO8bOajQswtmolWYxi0LibiOuejp44A2
	w6P/BdAN0yOXXM=
X-Received: by 2002:a05:600c:190b:b0:490:6e12:542d with SMTP id 5b1f17b1804b1-4926086e4eamr39095235e9.19.1782296677472;
        Wed, 24 Jun 2026 03:24:37 -0700 (PDT)
Message-ID: <7fbe73a9-08b1-46ff-81fe-ddd6ed52deb6@suse.com>
Date: Wed, 24 Jun 2026 12:24:36 +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>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH for-4.22] x86/boot: don't blindly mark VGA in graphics mode on
 MB2 path
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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
X-purgate-ID: tlsNG-4011c0/1782296678-2FBE3DB8-5B6A4503/0/0
X-purgate-type: clean
X-purgate-size: 940

Setting ->orig_video_isVGA to the specific marker should be done only when
the VBE tag is present and the FRAMEBUFFER is either absent or indicates
RGB type. Since the "video" variable now starts out non-NULL, this
property was broken when in particular neither of the tags are present. To
move back to at least close to original behavior, add a 2nd check to said
conditional.

Fixes: d5a73cdc6b90 ("x86/boot: Use boot_vid_info variable directly from C code")
Reported-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>

--- a/xen/arch/x86/boot/reloc.c
+++ b/xen/arch/x86/boot/reloc.c
@@ -339,7 +339,7 @@ static multiboot_info_t *mbi2_reloc(uint
  end:
 
 #ifdef CONFIG_VIDEO
-    if ( video )
+    if ( video && video->lfb_size )
         video->orig_video_isVGA = 0x23;
 #endif
 


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 10:27:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 10:27:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344753.1603785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcKpX-0000gw-Ry; Wed, 24 Jun 2026 10:27:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344753.1603785; Wed, 24 Jun 2026 10:27: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 1wcKpX-0000gp-Np; Wed, 24 Jun 2026 10:27:39 +0000
Received: by outflank-mailman (input) for mailman id 1344753;
 Wed, 24 Jun 2026 10:27:38 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wcKpW-0000gj-Lt
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 10:27:38 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcKpW-00GiND-2S
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 12:27:38 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3bb119-2eae-0a2a0a5409dd-0a2a4504b9ac-0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 12:27:37 +0200
Received: from [52.101.52.28]
 (helo=BL2PR02CU003.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3bb118-5f9f-0a2a45040019-3465341cdebb-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 12:27:37 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by BN5PR03MB8110.namprd03.prod.outlook.com (2603:10b6:408:2ac::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.16; Wed, 24 Jun
 2026 10:27:35 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.018; Wed, 24 Jun 2026
 10:27: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ijBqhE1EBft1fVQrAAVTAsZiJ5ddxWsinajjjQrgnIzq0NNtjgAPq+GU8oZGe5knednfVujwh9F9TVvYIcgHjLGRNAslfB7JG3o1EnOwcYYfZKZF/CslbUZPBfVu9zrnfhDd0yCMhJaMkeAAqDIkDW+7M7NKSQMn6DhDv4/7EsLbxlfV0KLcFCgWUzULHusNEpHnbaQmtcqDwn8pSIq+2pyF6su/nI2zeMzsHiMjCg4FqdtZ4gWIhmm2OAmo4tdQlc7QX7EY03tVmRPwrr6TCUYOGgbI41Yl2luUKfocEjPXnv9CeWPgM3zsS0a06NjQV5C3S9PWpYZJ7mbarwtD3Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5bFJ3fWWehjvF91yESLxGMzUEoPAW2ZazG/eLvAPVCM=;
 b=ZZUs5Qb/pem9tekmvybvgPsZS8CmD7+wO1LwtIW5FphHPSHgxnPey91GVweGGedywWNlfT/Pr/YzPTnlwUkG1EADfFF0cjiyU21S4f1pKlOIjc2+XfqEkRIyeZj3h8MC77jCbkW0phzD6drAbRynZWFpTWEvApkfoY3EGJ57FQ/GKYjqsRfriNL1fbUiAEnXaLhzOH6WFEud59P4XXCFGpxQ+5FkbEA8IKvYkXZS3kY46LAROf+Q2AGy3NckEbjAFbKDa2/wDD4DXpH84uqC1NdU+SS/kY5Zq5jy4+syTh3hVRU/XBhed0pwwVWZ8tmNw643FeiuPC1sX5PfTGfDbA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5bFJ3fWWehjvF91yESLxGMzUEoPAW2ZazG/eLvAPVCM=;
 b=mtvi8FIk2Mg76appdtIDjVe5ySnolZZ83QBcyl7B0BmJ2vt+i5UY6nfp+zXEO8PlslthA64uvI4flaWQojT78nhm/2eW5fPv89nB9VwAEKFQc+rKu1sGjYyWN14N006WBeoLr/rzTZhlMlZ1bXRdg9YzFhs77Z5GvElt0H7yP40=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <52f21ea5-6706-44fb-bb08-bc9c60ef84be@citrix.com>
Date: Wed, 24 Jun 2026 11:27:32 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22] x86/boot: don't blindly mark VGA in graphics
 mode on MB2 path
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <7fbe73a9-08b1-46ff-81fe-ddd6ed52deb6@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: <7fbe73a9-08b1-46ff-81fe-ddd6ed52deb6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0403.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:189::12) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|BN5PR03MB8110:EE_
X-MS-Office365-Filtering-Correlation-Id: ce6752fc-e8bd-4bcc-c991-08ded1db3502
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|1800799024|376014|366016|56012099006|11063799006|18002099003|22082099003;
X-Microsoft-Antispam-Message-Info:
	eMbzya4rF8B0akstv0CtZbubhn1Few2E7GClhIYT9RW7tN52Qin5qGGojeEpBvOI8d2wXYxAt2SHdSXasXGfOnF2l9/o1QE0rbF6NFNCzL5eFRestm3BsNO9awX9Nf9BYfQi5rITjmI30pmDFT/xKwwSNWXepTKxs9gHUGJBtWauqJmYdmddGOlywmw/ji9twVPZyrGlONWQ3vtt2dKS8gj+wwvkag7ujIADpVNVfp2S1A4z+ldcn2mqqX1nKvwshhwvvLdSPEAtLA+lwXMx6JbaUZy6FPKKKomRD3d5Y+l1ZdOuHR4JQEkXDVoKsVcjbqLjQJ+228AxiWhR1iJbZmMeAIeceJ+O95CVIFd7suPcm2QUtqxDgo/9MUjkMbqX2RcG9vQaeVBW5T6GB5mIKYcs0UvQ4uFU9/AoLABfQBScD5ImbkeV+ZulKiC747zJE6K6Gfy8b4AncBtVTgzAW8qCjFW1X4bpxMWsg745jY8+bPmIJB8i7SPNwj0Q5i1MpGrBHgDjgjU4DQ3mv0P4ca0swDD3qmstgeBMByjaFAy/iUrMHEMzGSL3R5TaXGXk8ZJc8Lo8QaN5WUL9joT9rBaksEmfyKoL7lIwLDuvheISYBAieOlKgIqw+ja3yLf59k5RIcP8na742c/qn7OpdGhQF40iRmV4PUFw5C6rgbs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(376014)(366016)(56012099006)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q05kOGg3N1Y5MEFoUE12d2M4U1dCalNCVUlES1U5SW05ZEFJbGxZVVdUeGpp?=
 =?utf-8?B?OTVXVWJDdFBuaWNCTW5mcTk3aHUzUkhpczVCaXZzS3BpNXk3Zyt3MTJBMERI?=
 =?utf-8?B?RUNDUUQzTVc3SjRjVnZDMExtZnhVYmFhcWYxWU1xc3ZWVDhobDA0WHZGNG0x?=
 =?utf-8?B?SWJxcE1PU05nYnIwK0NNUzdWTm5oUDJTeHpHV3h4RjI1MElWcndNNXh1am1V?=
 =?utf-8?B?cEJKZHE4VVdibDNSaC91Y1Y0Qm9FcUU1LzBiSXZPa3ozZFBvRG1ySk9teUxC?=
 =?utf-8?B?RXFDNDJrbVhYUEoxNkR2MzF1dnFGT0dqT1VmQ0NxTG1JN2txUTB5T3AyUjNU?=
 =?utf-8?B?emRmenNwZEs2T294a2xMYThLbFkxYWgvY3VZSlB0UFViY1JwRDhVYWRLdXhv?=
 =?utf-8?B?RktMR1F5K0NJTDRabG5jYlU5UXlZVFRTYzBtSjhCcnoxaEg5NVR5Y0h5ZG1t?=
 =?utf-8?B?UjFYUEZaM2ZrOXBqQVZqSXZzdHpOS0FmNUxmU2YwMkQzTjRxSzlSZ21kck5N?=
 =?utf-8?B?RFNoZDBIb1NlN1dMbi9wTy81M0cxN09VWWg1UEFzampmTTBxeUMrbmh5cnIw?=
 =?utf-8?B?Z0F3MXloUnpuQlcxSWZTVFB6WjY2azdHTzlFV1BJbUxsRlB4UWczNXlmM0ho?=
 =?utf-8?B?UTdaMXVlZ3pqaHNxNmlQcmJvWjk0eUtLejlkaVVrSWpCbUN3bm5UVHdCb2Uv?=
 =?utf-8?B?cnpuSEN0ZkZwQnQ5WGxVMkhhM3lCV0crYyt4RWJvQmxnWTdHbjJDSjNDRlRN?=
 =?utf-8?B?YjdHR1VGQmFETnBydlpnYzVwRTRMdUpHb1FmSndxOS82VU1PWUtmQjl5UUgv?=
 =?utf-8?B?bWxrZXV1dHVMUW1UY29DdGU0amhUQzJJVHJJQmNjTFJlbXhXVmJoZ0tFVGpF?=
 =?utf-8?B?UDNzcGxWZjNtL2NidVhuYkVjQ1d0UFZDY0M3blRCUlh0OGtEYUVkRUYrWHZO?=
 =?utf-8?B?cFRneVkyc0dXT2dDUlVnVDZLdXJ0MGROeHZodzdSNVVxVU43OWxrclA0bncz?=
 =?utf-8?B?bFVDRkFkN1hSeEpnMmQwdFc0U1E2ZjUzOUMvdzAwdVZFRFJIMWx5M1RpcDJV?=
 =?utf-8?B?MHdVSEgwTXZXeXVnUzFWNG1MOFdiaXFLR0FydDAwZlNSYzg1T1RCcitvVEh5?=
 =?utf-8?B?a1Jsa2tZVVJaUHZwOVNZOE5iSGYwZ1VieCtPY3VZYkdqRE5zeVIxU0RlZ2NK?=
 =?utf-8?B?bU81N1lIUDBWTVVXNEMxbHZ3ZEJJekZFV2lvNGpMbkozcTVBeFN3VExmVDdQ?=
 =?utf-8?B?aVRhWTVaZ3ZnclBGTjQzSXhrNXQwcml4UE5rL2VWTkhEdHU5Mi96cjBUeVNS?=
 =?utf-8?B?Q2VPOE9HdW5PanZhOTJMdi91aCtBd1ZPWmtRSVh2aTZMZmdZNHlGSk8zVUFr?=
 =?utf-8?B?cVNkSVViS05UME5nanp4cFZnSlZqeWN0dnBya2RrYUw1SnJIQ080VFZnbXl5?=
 =?utf-8?B?VEVjV2Z0RkljNDduK25ySWlaUXVhR1cxQklnOTZDcVROdnRNUGlRNzBQdmZH?=
 =?utf-8?B?Y2t4QU1WMFB1Ky9aNU43Y3RmZlR1QWd1aFJXUE9YeXczeEMzc0R6c3hGN1RJ?=
 =?utf-8?B?K1lTUWZ1aFNPRm1KRU8wRE03VW1JTytYSkNkWkZjYTIva3Q2RUZoczNLcXJW?=
 =?utf-8?B?MGUzTFpoeEI2RW9Dck1BeGlhdXduRzR3VVlXcVRGekxlZ2g3TlpNZG84T3dR?=
 =?utf-8?B?NHdneStPZm02RzQwUUNRb0xhTXBzUnlhbm96TmNIU3VkeGYxZlgyRFh1UjBE?=
 =?utf-8?B?aHg1TGxsZmROUGhGU2RXcDBYVXdiMkk1SXJLZytGaCtJYlpMZFVZNTV0dDBZ?=
 =?utf-8?B?OExSYmJaUWJLMDZxUE5Tc1hsUlBYUllKdVlEYW9IYU9CbzRiR0dIVDZ1WE41?=
 =?utf-8?B?V014M2N6SkFRejRhQnZaYklGWGJzMUhkWXczbHFRUkNhSVZ0d1lQSDVHK0Nz?=
 =?utf-8?B?Ykh6cmJLcWhtZE9mTXlBYkI2YjVHTmtzaTUxay9lMXl4MmZlck5NYTI4Z3Z1?=
 =?utf-8?B?NElleGFXbHplazUzb0h0TU15RE55MU9DMzFaOTNwYlVWS2tjV25ObTBOejRl?=
 =?utf-8?B?cVgyUHlUbE54Q2c4MkpRZkRxczJ0cFJCVzJqa09kOERYNGNwQzlLR0hMeWNy?=
 =?utf-8?B?ZGt0OU8yMnNFaGtOM29IZk41aVlEZFVtS0ozcktmZ29QdmZLTmlHVk5HcFVi?=
 =?utf-8?B?Ry9CMFZzbGs1anA0MXRSVEN4YjJEUmxMMUw2ZGc4cEVFdFZCUUdUZ2c4YXRR?=
 =?utf-8?B?aW93eHNvNDNGRFlpQklpSWs2cjNjU1FlbVdEMGdzQ1V0ODdrdTNmT0Y4Ykh4?=
 =?utf-8?B?RFNTMVIrLy9kaXVLbGR2RStDK29XWUtsdnN1NHJPemFERXQ4aWIyTUk2N2FP?=
 =?utf-8?Q?JKyEVwM0CbQWJpNc=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ce6752fc-e8bd-4bcc-c991-08ded1db3502
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jun 2026 10:27:35.2091
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ekTcDPOH9d2Ei9LZ1HTGpUKQ+jl7U9Ftwtijxr2g+kwLP8lX0nHPOEvTRP+gZ3t7bftjPjdrD3KZHdJiYV2qZSeuYn7A/Qo6RyABm6jEVLo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN5PR03MB8110
X-purgate-ID: tlsNG-ebf023/1782296857-4C78E141-6595634E/0/0
X-purgate-type: clean
X-purgate-size: 788

On 24/06/2026 11:24 am, Jan Beulich wrote:
> Setting ->orig_video_isVGA to the specific marker should be done only when
> the VBE tag is present and the FRAMEBUFFER is either absent or indicates
> RGB type. Since the "video" variable now starts out non-NULL, this
> property was broken when in particular neither of the tags are present. To
> move back to at least close to original behavior, add a 2nd check to said
> conditional.
>
> Fixes: d5a73cdc6b90 ("x86/boot: Use boot_vid_info variable directly from C code")
> Reported-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Tested-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>

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



From xen-devel-bounces@lists.xenproject.org Wed Jun 24 10:37:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 10:37:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344762.1603793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcKyp-0002Ee-Mf; Wed, 24 Jun 2026 10:37:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344762.1603793; Wed, 24 Jun 2026 10:37: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 1wcKyp-0002EX-K3; Wed, 24 Jun 2026 10:37:15 +0000
Received: by outflank-mailman (input) for mailman id 1344762;
 Wed, 24 Jun 2026 10:37:14 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcKyo-0002E8-KX
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 10:37:14 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcKyn-00HTHC-IN
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 12:37:13 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bb349-5cb7-0a2a0a5109dd-0a2a4507daee-46
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 12:37:13 +0200
Received: from [209.85.128.41] (helo=mail-wm1-f41.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bb359-4766-0a2a45070019-d1558029dd1e-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 12:37:13 +0200
Received: by mail-wm1-f41.google.com with SMTP id
 5b1f17b1804b1-49222fb062bso9063745e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 03:37: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-46c22c680fasm5635472f8f.34.2026.06.24.03.37.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 03:37: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Cc:Content-Language:References:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782297433; x=1782902233; 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=ucWgnpTCF51EIOyo3GCnRu7JsJCy9+YwE1oOUaEuGbI=;
        b=AXCYzJuFQWFKiKZ2URfC5LknIBbyX791vEjQ3PyLNqiSqHmebad2h8dMQMkb16Ax3H
         HD1AVAqRI+tzI0NjlVD+xNuOR9CwAWNdZH/IERzuvGXmzqmNulE54ir4CStCpxqmDFSY
         5stxmFM09+n67ondqr4wg0hK3pD3GZpYWtFYKf+9HO0tkfmn2iHdK/0mFF99dCozi4Kf
         i+RXSBVUHpEHWWwZrmsiBog6M9qax8zSSNRHQw8L9OhyXGO9JxlQbwUp/MUQqkcLMkdR
         UVY/Tvbo+K29yzfMzBTfFOMMa/eisCKKkqotqrOBaEkr83Gy8bt4xNvu15Uqzj3bG++l
         /mAg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782297433; x=1782902233;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ucWgnpTCF51EIOyo3GCnRu7JsJCy9+YwE1oOUaEuGbI=;
        b=JgGHL9AjOYi+HtS6k2kFCk0GsHDup7QjMjby7OgAJZSFDSgtHRkvAJupywthLPlYoJ
         Aqeptua2MRGTUL2dINyeVQoGif8kHciTfHVF4F9jGG3+3v3Usi8/CIkkWHkT08q1VySK
         PGGm0M3XVIOpd8lOEaS53vpst9YQskd5Ja6rMuSrHfKdE7rtF4buDdrK3FxcFLR51FWS
         PJ7moHacGq3oVWeAFVVeanEw5dyjJH2T9WyFM1hLuLyJZr+HJIXhSrlPMfrfJb3gBSAk
         qPvb23lyE3QLqP6ZSJpAk20lgVeNMhVmwDovT44bH3NQgilUYgligcn3vdL5xNAfbPnq
         me/A==
X-Gm-Message-State: AOJu0Yy7x/WVdJ57IMZhQF11SH97zSLwlm3qz63uv+PC4RipuIbg22yH
	zsWuSTjjcO4PDX3P6DQ+BlI0Yvn9QnUBGmnlKvQ9k0/pn9GHs9/LVnxsfKB+z6zk6g==
X-Gm-Gg: AfdE7ckjFKDkroekmuRTgx9udAV6xIykHOnN0SLJErHVPGKpBNdvKRrnKmw4/hkGplD
	+o1X3xQVATLaOX358TQy3AOB/JNO/xl0KsP5ffcOrMIQQMN2uS205xynItQYlVOuE1Qj23ZlA0u
	fSWIha5ez6zBogxcEi6DJJRrc7UfJVvtzlF4XWrSaM37ET+tVMlwC36/CKEQ5hWDVXaSr9ZBO74
	ehRBOozweqry2wGVnSD/zs92S7iXs+qJMNTFJv3dwPuWnXm5EINEPULr0o7eCoNiJycXVaPNB9F
	VG1zoDDvaz/Icr7l7IOgMjWWKyKjy2H8SExAFsfLBPzsE8jxeoEllmZJT63dnf4Pl8yh6ntsj/O
	j0hQS3ySr1EjduBpcytTlrbk+WsBaVswkNCOaLiedwvdiGeE6lOQbcIXFEtgbDY063Nqg+Q7S+F
	TEjMbXnkuoe1GPtOLXphcL7/Oh0tJ/3mvPpbFp1IyR8H+V6i3eI4+Atso0T4/GshkSdFVZqq0Bd
	OcY
X-Received: by 2002:a05:600c:a07:b0:492:59e4:f3fb with SMTP id 5b1f17b1804b1-4926084a269mr38421775e9.3.1782297432576;
        Wed, 24 Jun 2026 03:37:12 -0700 (PDT)
Message-ID: <d2d794a4-dfd3-45c3-b5fe-836d0a0c2244@suse.com>
Date: Wed, 24 Jun 2026 12:37:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86: sort obj-<...> list of main Makefile
To: Andrew Cooper <andrew.cooper3@citrix.com>
References: <fe611607-c4d4-4db0-85a2-445bbec5fc47@suse.com>
 <1e3b36a6-1970-4376-97fa-621899ae2ad4@citrix.com>
Content-Language: en-US
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1e3b36a6-1970-4376-97fa-621899ae2ad4@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1782297433-88FF0979-97E5FF7D/0/0
X-purgate-type: clean
X-purgate-size: 1975

On 24.06.2026 11:10, Andrew Cooper wrote:
> On 24/06/2026 8:50 am, Jan Beulich wrote:
>> It is mostly sorted, but there are anomalies. Eliminating them gives
>> people fewer excuses to (blindly) add to the end of the list.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks.

> Do you want me to pull this into for-next?Â  I'll (hopefully) be queuing
> the series which caused you to notice it into for-next in due course.

Feel free if you want to, but I'll get this in soon after branching anyway.

>> ---
>> Of course sorting with underscores or dashes in filenames is always going
>> to be ambiguous: Some may prefer C locale sorting, some may prefer sorting
>> as if non-alphanumeric characters simply weren't there, and some may
>> prefer yet different criteria. But those corner cases probably aren't even
>> worth formally settling on a particular model.
> 
> That's not a relevant consideration in this patch is it?Â  I see no
> ambiguity.

I thought io_apic.o vs ioport_emulate.o would have been affected, but they
aren't.

> Also, if in doubt, surely always C locale?Â  Pretending that _- aren't
> present is definitely a bad sorting algorithm.

ls looks to be using this by default, so it can't be all that bad.

>> x86_emulate.o coming rather late in the list may want considering to make
>> an exception for: It takes comparably long to build, and hence it may be
>> best if it got scheduled as early as possible in a parallel make.
> 
> Move it to the front with a comment saying "Really a subdir, but not
> expressed in that way" or something?

We have

obj-y += x86_emulate/

there, so excusing this by what you say would feel somewhat wrong.
Mentioning in a comment that it's there for build performance would look
okay to me. I raised the question mainly to get an understanding whether
such an exception would be acceptable at all.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 10:41:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 10:41:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344770.1603802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcL2W-0003ue-4S; Wed, 24 Jun 2026 10:41:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344770.1603802; Wed, 24 Jun 2026 10:41:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcL2W-0003uX-1r; Wed, 24 Jun 2026 10:41:04 +0000
Received: by outflank-mailman (input) for mailman id 1344770;
 Wed, 24 Jun 2026 10:41:02 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wcL2U-0003uR-D8
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 10:41:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcL2T-00FCQY-HW
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 12:41:01 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3bb43b-bab6-0a2a0a5309dd-0a2a4505a42e-12
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 12:41:01 +0200
Received: from [40.107.200.52]
 (helo=CH5PR02CU005.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3bb43b-ef3d-0a2a45050019-286bc8340c68-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 12:41:01 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SA1PR03MB6497.namprd03.prod.outlook.com (2603:10b6:806:1c4::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.13; Wed, 24 Jun
 2026 10:40:57 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.018; Wed, 24 Jun 2026
 10:40: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=XaMMgtBjhiIrliFXllHuCU+Od3NWn5K+Gaub9QTO9ixa9FXNW8TAD46B0pjdBzCTQMxKRoenKKpvipsmkKkdNHyMhyOC2FLsQm2iraSV+a3XOG7F6F73agvA8CY6Xu8cqH7JbehppkVfUsOssn3UycvgtPhQiO+AnYzloAvu8S1JfLMLORHZ4UDYZF4CrHqe5MtkbTZt46I1FEzeDPtx6pToRpm3ciuvw1be6DtcFbcX2OjZg7WZHZcBWUnMSsBMAd8CbO88aJFKtV5r8hEtevNBPb+yElSUOCyFqR5F++pIAuzcUSMnRGJ2VpfCXRgtoBTGmrSWJWdvaS2IQLnEbA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GgmSa6RUXbsWwEEKdBbU5NeNQtbD7ThHqEagpWvpcv0=;
 b=ZJF94xCwr7WEf4Yg0GpHH/ZCL04bqKEPni3Wymv3etQmXSnzkepNSwoDLh1DsF4eNESlZjxu1jX2ajW8xKzh/28gvReQRFJBdvFubPpkjTgRrQPwQ++wBXoGvtQCVAlG3CbbIVvnpLBKKpU1ReyUhk/0/aVAtxzMyJ1+2SA2W6vdCJQeuZjK2P3J6pn8UyqAkMZYPdZbkD4CZBJ35H8hIaXCo5+xmkCTYA8XjJMqRu4Xl5fhz3Vxkq5jC24InqyDQsy3yQMW/hlu4Fe3UMnCHbxKz9Q4RjFwoUpOltps7EjQ0faUOXGXfjHAkCV9HtE1W1VfCZX2ZmPuSo8aNn+BJA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GgmSa6RUXbsWwEEKdBbU5NeNQtbD7ThHqEagpWvpcv0=;
 b=kuZ1T5UbaP1FnFTnx2vWR+jMbDkqqe0ON3S9hsN8S8+M/zVEJSkLI5cg7Wg7Ve6jICGBIYCSGAk9lF21zaSBCji0EvWHPtL24hjvPGeNZAlErw+b6GYl4sZP0VqbP/5jPIm26VE39POo4Bznjnmom8C1ERt3fwjfZiGk2G5zwR0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <0ccf8786-3460-4500-848c-2f0058c8a269@citrix.com>
Date: Wed, 24 Jun 2026 11:40:54 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>
Subject: Re: [PATCH] x86: sort obj-<...> list of main Makefile
To: Jan Beulich <jbeulich@suse.com>
References: <fe611607-c4d4-4db0-85a2-445bbec5fc47@suse.com>
 <1e3b36a6-1970-4376-97fa-621899ae2ad4@citrix.com>
 <d2d794a4-dfd3-45c3-b5fe-836d0a0c2244@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: <d2d794a4-dfd3-45c3-b5fe-836d0a0c2244@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO0P265CA0008.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:355::11) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SA1PR03MB6497:EE_
X-MS-Office365-Filtering-Correlation-Id: 16c2403c-fe5c-4019-ae69-08ded1dd1330
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|23010399003|376014|11063799006|56012099006|4143699003|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	h/MtPSaPH9vGC1knXx7ges+gchZa1U2iiV237W329cTgTHVXC/QPP7qWSHKOBxhF6EMN20VHAHLY6WCiD4J3hZ9Ydttgig6LLOryulJldfxEh8eYg3fAUABKvJap00xq6riYdLUzOE4DnHTnLQ0Rnk7AYWI90V1zZn7/b/s+9GTm7bDmXznGgTVCbcUKGC9ginlBri6BqRJaFuYeS7HDkWqQ2JwYSabZTzDuhdNPRclRKZUsKWQMkLpaoTrdBSr8Z+FfWH43hsQT+zKdRMm/DoLIaLnewVgx/4ObUK3GbDXHlnyrCOwmTssLVoduIVsCR4QriaEvbNioyz/4I6CXphqnfoEd2gVivp32A0LlNo9kBj5s3vepHR+sBSE+gj7jdnQcgRXZ8vVGkDCPJDlC2tGxa5ZDXotszujFLGb56aMSKyPd3MtDe1peAwcfVsC4n6en46zXo14X4jeYQNmlzq+1gpy0Zgl/kZlA87eqp9Ng4+kulX8Bpi+xYwnKMKU1pl3bHeqCmi7VblCbHjU8rtR+f2P9c96zEM9I6ehLVJ4NTSdn6YjzURD040TfGr2tEd4aW5gDmUfAk4aW/aH1chajJXT3A+8HGqJStzKFhdmZlA8cbIF+8g15FYPBh+g5r8p0diWCutcbMup9UMMWnsB4w3mRhaf8m008m9kMFZo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(11063799006)(56012099006)(4143699003)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WXBhZDBtSDZmYTNiWklFYTVQRXlObng2NnBXWUxybERVdlZ1WjF6bHlaMnkw?=
 =?utf-8?B?TXFsQ0VVaXh4eFM2SE9iRmw0U2RwTEZQQklEZ0t1RVRKT25RY0pERWlhMTYx?=
 =?utf-8?B?Um1KWmw2cmw0akdmd1ZxUnVvYUFyTWxuOXJiNzJUR0o2RVVOWkx1TzBtbVZw?=
 =?utf-8?B?MFNNNDU4RlVkVjBERFhub3pWNHphNSs0dVQ3TC82TjhEdE81VEJFNTB5VXho?=
 =?utf-8?B?MmUzMzFqOUEwTDVqTDdtNmUvMEV0WW1Tc0ptYUN3emNHWWN5NkozTHhxWTJ1?=
 =?utf-8?B?aUNXdWFKTFl2ZXFwMktmMWRaelI2cWx5U3lhZGNKbGZwMmNZTmpmaElkN0Q4?=
 =?utf-8?B?dFFKK0VpazlsSnV4cTlvYmRYb3NVMGV3dmNJcGR3TUw4cFdGaFV5eGpyNzVB?=
 =?utf-8?B?VE1HR3dKRHpJbnZEUmYydXpPYmlPaS95RGFhVkFweTROQkg1RW90TmJkQjhy?=
 =?utf-8?B?VjhsV0VTUTJ4QU0rcER2Nk12N0RNaEM5N2lMZGUxc0dyZ2NHOUtCOUkxM0kz?=
 =?utf-8?B?ZnFkQU1qclJ0N3I1dGl2OWkzZld5QjRENUh5VDZybEdlZmZMZzZsWm5SZVRw?=
 =?utf-8?B?cFhiTlMrdDdNSmsrOXM0bStjU3VLTDl4YXozR3g1N3VGN0c3WDlXQ0hCakdq?=
 =?utf-8?B?OVZ3M2JrdXdDdnZURDdoblVwdXpFTTQrOHdSZDgwNUZZTDY3UTYzeUt1SFpq?=
 =?utf-8?B?bTN2RjJUQ3hmWGxucUthdUFxNjhKb1g1NWZlMXRENlphZkc2clA5RUlNN1dp?=
 =?utf-8?B?d0htTitpOXgrQ1B5eHMyQzlYNzc1Q3R2Z0RDN3U4V0lPRlBRTjZyTXlGSGRI?=
 =?utf-8?B?aXdoTGY2K2dNM0hLVldUMzhtamxGQlhLcWVucGRXN0FMOFRJLys1ZjcvaGdr?=
 =?utf-8?B?NkM5am85WEk2d2FhdHJzdk54SGloTkIxWWpsbXg4eHVyZXo2T0Q2d1JxbDlT?=
 =?utf-8?B?SEVzRXRTdCtGeG9Lb3R3SzlBZm15MElPdmVPZXZQenFDeUlFcHRrNTRHMzZh?=
 =?utf-8?B?M3BOdDdYcmV1eXM1VFM4U0tZTFppMEp4VGZIMXlTeFprVktWaTZQeURldkNp?=
 =?utf-8?B?NzYwZmNveFY3TDhzOUdYN2tZaUh5bXB6MXRYaXphZXhhQ3NWaHM5QTliWGd3?=
 =?utf-8?B?TnFGM1pwekljU1hWV2tSREpiRG1MSVdPSExKaGJnb0VqaWRONy93WjV3dnNY?=
 =?utf-8?B?QlpqazUrNFVvYmpxWXVwTnlyRlhrb0JUOElvYjRCU2RtSFR3V2JVaGsrQzkw?=
 =?utf-8?B?d0FNS0ZQczZ0N05qRWNGR05IeFpVMndvZ1RhZjBEV3I0cENxeVJ1NWNWYmp1?=
 =?utf-8?B?U0o2S3ZEZTFoOTRnL0RFdGYrVjVyMFdyU1BnUE9ESEh6MlFrakp4RGFZdzY5?=
 =?utf-8?B?SHdkWkpqaUt5K3pVdHRCUURkUkFTN3dTR2RRUDBnUFpoMnUxNUVKamRFTmdv?=
 =?utf-8?B?T2l6VXJ6bXNlcjIxUnRmYzNDNlV0OCtxTTE3SjBKakRQYlo4RStRUjBua0gz?=
 =?utf-8?B?NUFhZ2xla2JIRzhBRWdqQVVmZC9zeFpsY0dJVE9LS1kwRVBORi83VnpvbDgw?=
 =?utf-8?B?MUt4K1kvWEw3QmpXR01jbHYxWXhXVDJpOFV3QUJ1eHRUZU96U05LaWsvSDVu?=
 =?utf-8?B?VkZFMkhndFQ4N3pTdFlBTWJHTVNlZm9xR1Q2aE04bzl1SGNOZTcvQ2lZVCtR?=
 =?utf-8?B?Vm9NLzhTMk5WN2dXcktkNlFtcEFQNTdMbW82MGYrMFVqRENBWWlJa1gwTnkw?=
 =?utf-8?B?OEc5dnN3cjZBNG5zeFZLVXVkOXphdDRpc1BrOEJaRG90b2g5YklDVituMW5N?=
 =?utf-8?B?cjd6V3RlaWtKQnRYQ3R3VC9Tb1pXMkQ0OFdBUUVPL2dzTXNsMnF1RGFsa1U1?=
 =?utf-8?B?S1lScmtLaEx1RVBiUlhLcElmVURXZWRDY3pYbjFyRFJmTHNLVlhBeDg5YXFB?=
 =?utf-8?B?aVZlV0RpcGNDRlpwUEx2b244U2t4MlY5YVVvUHE4TitzZWh5TnllRU9YUTV4?=
 =?utf-8?B?QytjSHNaMXp1ZDVXN2lHMGVUaFV1R3dZT2R4bFE0N2JWUVBqVXpMYy9RZFJn?=
 =?utf-8?B?aG92NElMbEcxNmp1NEQ4NzVHRHR3YjRMVHVGVElFOWRmZnZUUDZnY201cFVt?=
 =?utf-8?B?V0VRc3Q5alM2RG9SNjBxMkxLanA1R1NETGxNdmVueWFVeXlKNlU3UEJMVHJw?=
 =?utf-8?B?VU9ybHgxRzFDTWJkRk9aRm4yaXBEbjhhYWhVaVhjd3VQbjJ1c2ZRSmRqazJ3?=
 =?utf-8?B?TlQ1SzVYWFBTTE9GR281OS9DL3BrN20ybHpjcDRiUkgyQUtJRHZaeHpKdFpt?=
 =?utf-8?B?UldLdmszSnNsZngwSnNEWUdnUGZ0bWtLR013cEhPSDZkMTRJNytpbHdjTm5V?=
 =?utf-8?Q?Zu4h8MTplreqa7Lc=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 16c2403c-fe5c-4019-ae69-08ded1dd1330
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jun 2026 10:40:57.4841
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0m4kdnCX3rYm88yAUJ3o1QMkxY8HA9+YYLUD/nWVgSmW3tXw0NWU+SpIYp3/POORFOQEdAXXCymzn9YXtZYMc3G6w6zG0HdkXSDj2oWSZvI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6497
X-purgate-ID: tlsNG-c201ff/1782297661-A4CBE127-2D2AAA9D/0/0
X-purgate-type: clean
X-purgate-size: 939

On 24/06/2026 11:37 am, Jan Beulich wrote:
> On 24.06.2026 11:10, Andrew Cooper wrote:
>> On 24/06/2026 8:50 am, Jan Beulich wrote:
>>> x86_emulate.o coming rather late in the list may want considering to make
>>> an exception for: It takes comparably long to build, and hence it may be
>>> best if it got scheduled as early as possible in a parallel make.
>> Move it to the front with a comment saying "Really a subdir, but not
>> expressed in that way" or something?
> We have
>
> obj-y += x86_emulate/
>
> there, so excusing this by what you say would feel somewhat wrong.

Wait, we've got both that and the higher level x86_emulate.c reaching
into that subdir?

Can't we just fix that?Â  The higher x86_emulate.c is almost empty, and
lost it's main purpose when you started splitting decode out.

That way we no longer have a special case, and no need to excuse it.Â 
Subdirs always get entered first.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 10:43:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 10:43:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344779.1603811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcL4j-0004UW-IN; Wed, 24 Jun 2026 10:43:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344779.1603811; Wed, 24 Jun 2026 10: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 1wcL4j-0004UP-FS; Wed, 24 Jun 2026 10:43:21 +0000
Received: by outflank-mailman (input) for mailman id 1344779;
 Wed, 24 Jun 2026 10:43:20 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcL4i-0004UJ-0n
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 10:43:20 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcL4g-00FFLv-Ng
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 12:43:18 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bb4c1-e002-0a2a0a5209dd-0a2a45028404-20
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 12:43:18 +0200
Received: from [209.85.167.42] (helo=mail-lf1-f42.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bb4c6-fdf1-0a2a45020019-d155a72aa9bf-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 12:43:18 +0200
Received: by mail-lf1-f42.google.com with SMTP id
 2adb3069b0e04-5ad4f1cf3cdso1853892e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 03:43:18 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ad6957a694sm1618204e87.49.2026.06.24.03.43.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 03: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782297798; x=1782902598; 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=N0C1a8vdF0Udkj7mz1RPZkhj1vjPEd2W0bCVgL0JyvA=;
        b=m/SO2Ciw4zO4Rt4vGCnmjzA0m4g2znU9XRk//3dT/33KqpZOyiK4yx2MPKsNGJ1/+M
         wuFoFpPPGPzeGnCYAfoQJVoM0nW948UMDpJXE21HYce/GrdQQQME+cqQE5st3uPyirzh
         C/F19TGm+rGeCZvmW6bp2+Iw1JfGmqdbF/ld3JwF9JEYILkTWj30oTQBaF771MOYQ+aa
         6n9hOjZieGmK0UTq8rQXw5TVOuu5AW0zUmdMwjy7l4GaRI+MVql3Cj0h6mg4AQRTyAGf
         nDiLEHxNXaZSRCiKe34wftUPFWmGxZ4WY9Obhy5dZp0Ir6nCT66kMRh5HUBE5zuu2UqV
         PObA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782297798; x=1782902598;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=N0C1a8vdF0Udkj7mz1RPZkhj1vjPEd2W0bCVgL0JyvA=;
        b=nxFCXdFAJ+1pzj/aA4yqxpyOoF6tHtbKNVqtFrj4m8A4yScHY3jT8qr15zgDFqdVfZ
         d6a585V5gGVwEu+JlEvhMeZT8VFEf5+J5AA0wQgJVMssFvD26d3NMx1bhThaGeseSLt2
         rH/f3NAAqjkHvCXIaj6tbH+MYm9X36/NLDehYrXToBRZyHFJaC8R9KYWZdabVrk7myIU
         n5vw5qQ5sMhImaZzrVq2vQebruxlr8z0Iy7aqYqj/DjlgncsYi/yTyvXzzhc3Z4CvV+s
         N1TOOBA0ToAM04S/3MYidz9HtGq0mpSaBUrIThFC8kFRmTwscmrj2rbgGL5J+9/1psON
         /0UQ==
X-Forwarded-Encrypted: i=1; AHgh+RqF45L7gFN+HWx2BMEHWXAiMW56pd424RyeaXxlBBkn6PQ3T/0CDcHEs1HPxsFRTSRnMIK1cpRe2v8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyTnSuiI20mVOVTZ+2knajby3u76OM1R5R9W7i9ByPmWc6bzHbf
	A9eWyEmtPm4bBIPJvbU68wIzrr3DsNcPpMLlV3z8PP70mnn+ZdCYJkkW
X-Gm-Gg: AfdE7clzoPwrab/nfrIxQnZcBlLowW/b08zrx2CCjA6n/h3SZIMewD2KIHYNm8SyJZO
	0equ0nVUgRXFN7FSVj9Go60qB70zwYdUgBOo63n6LqKlRHhlj3knynecTvOQJyregf/TDrYJZJe
	DXMD32oDGPxtvUI9wkUhlBo9tnE4sTN6EeMj+2FvNEONFagiYeRxrzkPG1wNo9R++gfmqgZfiWG
	dlyuJfTfsLHCQJgl7yNaLVcsySI+v0TYQS1URVqZRRYhKAZYEW2B323By3iTgPmScHeZiSOUbzV
	5QxHGkwekjxUHitv+IPJPnNF3uQBiVSDVOw8ZV3fK67qg+FvBlzfjj+zhsPNQRX9AqfJzynMCow
	uMnmwM7TTMXrPjrtv3T3/Ml1ozQFQg/QnGuBYZ8wbjJBPjTs4I5zB16TBzzXi5fBTr5dRSEd8wo
	GAt8/UG/mpYJlLy9ZG36QJhyWW+FxJ8YGm1hGWus7ZPDZ1SqnfHaTpVx/nsNpqVVvwQNM=
X-Received: by 2002:a05:6512:ba3:b0:5ad:5daa:9c79 with SMTP id 2adb3069b0e04-5ad695add15mr2293979e87.25.1782297797685;
        Wed, 24 Jun 2026 03:43:17 -0700 (PDT)
Message-ID: <29fbbfe2-579c-4506-96d8-930c03a65c61@gmail.com>
Date: Wed, 24 Jun 2026 12:43:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 06/23] xen/riscv: introduce guest riscv,isa string
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <3fb06376e057fa99b0df78e97761b8cff56ca9eb.1781693963.git.oleksii.kurochko@gmail.com>
 <aa19d6b0-9407-423b-a786-a43a72b50df5@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <aa19d6b0-9407-423b-a786-a43a72b50df5@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-720697/1782297798-4767B3F3-3E17A8B6/10/73395122804
X-purgate-type: spam
X-purgate-size: 2793



On 6/22/26 4:09 PM, Jan Beulich wrote:
> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>> Introduce generation of the riscv,isa string passed to the guest via the
>> Device Tree riscv,isa property.
>>
>> Introduce the per-domain isa string and guest isa bitmap, populated
>> during domain creation by calling init_guest_isa().
>>
>> Introduce guest_unsupp to filter out ISA extensions that should not be
>> exposed to guests:
>>
>> - f/d/q/v: FPU and vector context save/restore are not yet implemented
>>    for guests.
> 
> I may have asked before - what about Zfinx, Zdinx (and the supposed Zqinx)?
> They aren't in riscv_isa_ext[], yes, but perhaps wrongly so? And hence they
> may want at least mentioning?

They are not supported by Xen so they aren't in riscv_isa_ext so it 
looks fine for me.

They are not in guest_unsupp as they aren't present in riscv_isa_ext and 
so it won't be propagated to guest anyway because of:
   +    bitmap_andnot(d->arch.isa, riscv_isa, guest_unsupp,
   +                  RISCV_ISA_EXT_MAX);

While it isn't in riscv_isa_ext[] I think it is fine not to add them to 
guest_unsupp, so I will add to the commit message that:
```
- Zfinx, Zdinx and Zqinx are not implemented for guests either; as they 
are not present in the riscv_isa_ext[] array, they can never be set in 
riscv_isa and thus are never exposed to a guest, so there is no need to 
list them explicitly in guest_unsupp.
```

I think it is fine for now but probably it will need to be reworked in 
future.


> 
>> @@ -480,6 +489,78 @@ bool riscv_isa_extension_available(const unsigned long *isa_bitmap,
>>       return test_bit(id, isa_bitmap);
>>   }
>>   
>> +static int build_guest_isa_str(char *buf, size_t size,
>> +                               const unsigned long *isa_bitmap)
>> +{
>> +    int total;
>> +
>> +#if defined(CONFIG_RISCV_32)
>> +    total = snprintf(buf, size, "rv32");
>> +#elif defined(CONFIG_RISCV_64)
>> +    total = snprintf(buf, size, "rv64");
>> +#else
>> +#   error "Unsupported RISC-V bitness"
>> +#endif
>> +
>> +    if ( total < 0 )
>> +        return total;
>> +
>> +    for ( unsigned int i = 0; i < ARRAY_SIZE(riscv_isa_ext); i++ )
>> +    {
>> +        const struct riscv_isa_ext_data *ext = &riscv_isa_ext[i];
>> +        int ret;
>> +
>> +        if ( !riscv_isa_extension_available(isa_bitmap, ext->id) )
>> +            continue;
>> +
>> +        ret = snprintf(buf ? buf + total : NULL,
>> +                       buf ? size - total : 0, "%s%s",
> 
> If total > size this subtraction will underflow and a huge value will be
> passed to snprintf().

I will add the check before for():

if ( buf && ((size_t)total >= size) )
     return -ENOSPC;

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 10:45:42 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 10:45:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344787.1603819 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcL6y-0004z6-S0; Wed, 24 Jun 2026 10:45:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344787.1603819; Wed, 24 Jun 2026 10: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 1wcL6y-0004yz-PV; Wed, 24 Jun 2026 10:45:40 +0000
Received: by outflank-mailman (input) for mailman id 1344787;
 Wed, 24 Jun 2026 10:45:38 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcL6w-0004yt-Nx
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 10:45:38 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcL6v-00208H-SY
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 12:45:37 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bb53c-5cb7-0a2a0a5109dd-0a2a4505ccc4-44
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 12:45:37 +0200
Received: from [209.85.208.177] (helo=mail-lj1-f177.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bb551-ef3d-0a2a45050019-d155d0b1a994-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 12:45:37 +0200
Received: by mail-lj1-f177.google.com with SMTP id
 38308e7fff4ca-3995e22ef81so16095401fa.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 03:45:37 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ad6957a71csm1623468e87.45.2026.06.24.03.45.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 03:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782297937; x=1782902737; 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=8JlK1MHS0VqOmVfntYw73ySFixU1XdAdlUnbpPOS7hc=;
        b=OBJKKlNlggutMx7q+yf27pNLdBUgquxNhzgwOULoFHArPc6fcTOKMXEhX91DeESyiI
         uaxOThjm/+Z5fPPnYb/bLqwFB6vh/jDdNaLyLgCE019cg2gpw0g/oUAt35+8+LBSU5ri
         Wg/Dm6Gz8mGndS1pUxi8uTLCS8nvCFgF4X+w7TghoEChNnDdvopohk88lZwlQuw5x0tc
         AbFkqCOdHU0nwvAufTxyVTlnvwBuNhEPKMMtyzO2nY2OpxpPaGgoOMPe3EosP6ZmD1PX
         7P5cV/twCIbx5ge3gBYXOiG42csl8Ojr9vyyOkAhpk4VyMLF1e7z1HuxFDN2eYjCaT57
         q3Nw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782297937; x=1782902737;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=8JlK1MHS0VqOmVfntYw73ySFixU1XdAdlUnbpPOS7hc=;
        b=hTNYbY1empq5MvFEBFf60eLHM+pG0CYTN9TumsPFgb4xnbMwjgSDJzIdz0TpLETBLx
         ORlX130sOOAnd5KdBmS6o96KfYsiUt6nymKAz7wUKt6Wc08idN2oScU3/TCK0gkuuAZL
         oGBRRSt5DD1IX53PGWIvvYhTM02QlKnzLeDlR1ozlw0/KTTP0pG8uA907SFsM3s+uPMt
         RPJITcilNWl0rHLRHvpTs8bn12KZ4YQluN7c+sG1L4ojBBofvCDYKLogNNvQZA9oGpm4
         ojs+/PAVZpgUUk9sxQdgV1o9GttnE+Ps21e+nRwvIHkZwE0zap0w00VFVhy7j4TfBs/B
         vTvw==
X-Forwarded-Encrypted: i=1; AHgh+RoXAwdsirTGyQzSnP5ZIIPOeRHNZ9+nZSYBQmvw82EXQeyQThKpPnuWTHt536kZ2JDdCiih7BtOCEU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwpTHWTu93CEf7Jwa94WMN7ZxJ1rjI4gpqqZilj8Jw/Gzz5hWZ9
	W0Nkkr3Kdk/HHalgTU4KxjCkDlrrZSHoMTeUd5NoCcfmPUzIiFCKhXBG
X-Gm-Gg: AfdE7cmLpVClV2e3uW74sFrkOy282/wDS6U+f0TRdgyGgtNonTHj9Ad5xyUG6itsOZQ
	sBKrFZKckXV8hZW+P9bO7KL6jk7H5AdJ6eQIbLZhJPEhTUx22KQVfbcYc71ygccxeN6cGgrY86Q
	R5q7qal55diMImKL0fSkS0rtlUo2fzu/Q+v6b4Qtvoe2X/BS/sGok5cLzDmUudDsS/1mhEJbPfj
	4ikXsvdtnzW3KSHQhRGRn75W8VNtSw19tih4/0miw2wY1f+FUx0EHbZFqCkMViJjs6hyoGoU8IK
	e0Vw/GW1vxtL0dDl0cHxUMr910qr36hVYOCA4d4X2KiBLZ1Uzm0nhWO5w+gP3T315yf87x89a30
	eMWCTQeTq3obEhD4pTTP0pPqBNLTo/0pJervdUr8KM0rywPSdGaRYkJsC8WY+zFYkUxuY84eQsq
	VDCjnfqOJp8hHMa5AebG7YfuHYJ+6GlmALewvA9yF51r/knKJ8AzSjVm5X/99cluRNhwM=
X-Received: by 2002:a05:6512:238b:b0:5ad:543f:1f46 with SMTP id 2adb3069b0e04-5ad696b80e4mr2181181e87.21.1782297936876;
        Wed, 24 Jun 2026 03:45:36 -0700 (PDT)
Message-ID: <441ff336-9ef8-4279-8dde-7bb57dc3d289@gmail.com>
Date: Wed, 24 Jun 2026 12:45:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 07/23] xen/riscv: implement make_cpus_node()
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <f871fe1a751551e8959554aefa6c6bbcbdbc5ae9.1781693963.git.oleksii.kurochko@gmail.com>
 <5ab12944-4fac-4f7d-b6eb-8d7d04f6b7ca@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <5ab12944-4fac-4f7d-b6eb-8d7d04f6b7ca@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1782297937-F67DE127-6136AE4F/10/73395122804
X-purgate-type: spam
X-purgate-size: 3744



On 6/22/26 4:23 PM, Jan Beulich wrote:
> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>> Implement make_cpus_node() to create cpus node for a guest domain.
>>
>> This function is going to be use by common dom0less code during
>> construction domain.
>>
>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>

Thanks.

> with ...
> 
>> @@ -48,3 +50,107 @@ int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
>>   
>>       return 0;
>>   }
>> +
>> +int __init make_cpus_node(const struct domain *d, struct kernel_info *kinfo)
>> +{
>> +    int res;
>> +    const struct dt_device_node *cpus = dt_find_node_by_path("/cpus");
>> +    uint32_t timebase_frequency;
>> +    bool frequency_valid;
>> +    void *fdt = kinfo->fdt;
>> +
>> +    dt_dprintk("Create cpus node\n");
>> +
>> +    if ( !cpus )
>> +    {
>> +        dprintk(XENLOG_ERR, "Missing /cpus node in the device tree?\n");
>> +        return -ENOENT;
>> +    }
>> +
>> +    frequency_valid = dt_property_read_u32(cpus, "timebase-frequency",
>> +                                           &timebase_frequency);
>> +
>> +    res = fdt_begin_node(fdt, "cpus");
>> +    if ( res )
>> +        return res;
>> +
>> +    res = fdt_property_cell(fdt, "#address-cells", 1);
>> +    if ( res )
>> +        return res;
>> +
>> +    res = fdt_property_cell(fdt, "#size-cells", 0);
>> +    if ( res )
>> +        return res;
>> +
>> +    if ( frequency_valid )
>> +        res = fdt_property_cell(fdt, "timebase-frequency", timebase_frequency);
>> +
>> +    for ( unsigned int cpu = 0; cpu < d->max_vcpus; cpu++ )
>> +    {
>> +        char buf[64];
>> +
>> +        snprintf(buf, sizeof(buf), "cpu@%u", cpu);
>> +        res = fdt_begin_node(fdt, buf);
>> +        if ( res )
>> +            return res;
>> +
>> +        res = fdt_property_cell(fdt, "reg", cpu);
>> +        if ( res )
>> +            return res;
>> +
>> +        res = fdt_property_string(fdt, "status", "okay");
>> +        if ( res )
>> +            return res;
>> +
>> +        res = fdt_property_string(fdt, "compatible", "riscv");
>> +        if ( res )
>> +            return res;
>> +
>> +        BUILD_BUG_ON((sizeof("riscv,") +
>> +                      sizeof_field(struct gstage_mode_desc, name)) >= sizeof(buf));
>> +        snprintf(buf, sizeof(buf), "riscv,%s", max_gstage_mode->name);
>> +        res = fdt_property_string(fdt, "mmu-type", buf);
>> +        if ( res )
>> +            return res;
>> +
>> +        res = fdt_property_string(fdt, "riscv,isa", d->arch.isa_str);
>> +        if ( res )
>> +            return res;
>> +
>> +        res = fdt_property_string(fdt, "device_type", "cpu");
>> +        if ( res )
>> +            return res;
>> +
>> +        /* interrupt-controller */
>> +        res = fdt_begin_node(fdt, "interrupt-controller");
>> +        if ( res )
>> +            return res;
>> +
>> +        res = fdt_property_string(fdt, "compatible", "riscv,cpu-intc");
>> +        if ( res )
>> +            return res;
>> +
>> +        res = fdt_property_cell(fdt, "#interrupt-cells", 1);
>> +        if ( res )
>> +            return res;
>> +
>> +        res = fdt_property(fdt, "interrupt-controller", NULL, 0);
>> +        if ( res )
>> +            return res;
>> +
>> +        res = fdt_property_u32(fdt, "phandle", alloc_phandle(kinfo));
>> +        if ( res )
>> +            return res;
>> +
>> +        /* end interrupt-controller */
> 
> ... comment style corrected here (as I'm pretty sure I did ask for before).

I will use upper case here: "End of interupt-controller".

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 10:45:47 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 10:45:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344788.1603829 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcL75-0005FK-2v; Wed, 24 Jun 2026 10:45:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344788.1603829; Wed, 24 Jun 2026 10: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 1wcL75-0005FB-07; Wed, 24 Jun 2026 10:45:47 +0000
Received: by outflank-mailman (input) for mailman id 1344788;
 Wed, 24 Jun 2026 10:45:46 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcL74-0005EN-1n
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 10:45:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcL73-001VnZ-Ee
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 12:45:45 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bb54e-e002-0a2a0a5209dd-0a2a4509a15a-38
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 12:45:45 +0200
Received: from [209.85.128.42] (helo=mail-wm1-f42.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bb558-4999-0a2a45090019-d155802ac57a-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 12:45:45 +0200
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-4924593f45dso9520665e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 03:45: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-49261063d6esm29108665e9.2.2026.06.24.03.45.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 03:45: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782297944; x=1782902744; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=dAuKB2xy7Yv2Fd6V6Usoj59Lmv/gKYJBe63+80Xj9qA=;
        b=emc2f40zbGA3FAgnhdLXgTal2a2xaf0a6rV3bq6rl9TlDRF3urkhShQIgpvmTFs9mt
         oVXXwSp878hbx3TJgZyeggiuERIx44bXfStE84TRT0Sn618XvaLtKgIwMxH3IVOdgk21
         L+mB2bvNwR0u5AXmnxGR5M+SePaC4ic95UJp6uroYDa8J9ydApc3sLjw/wcMI3ArMRRA
         VsdPzxRPnLvueKCmCxshRhHwdtZKdll8yyPOS/eBENDJLinCGvF0gyCOQMnxZ6mEIAS5
         fsNTMyuhmHbvbsJpRjLXCQD8rg1jwU2WyG65JT216JcxvQ8NwLfHZkrMonlHwqMoG4lF
         MJ6A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782297944; x=1782902744;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dAuKB2xy7Yv2Fd6V6Usoj59Lmv/gKYJBe63+80Xj9qA=;
        b=SYyyg9RxBXvYaZaKg3WnaPmmcOwlEDpfSFRRXhN0Olfh/zw4q5otjmgd7+96aJc6+R
         +KA5xo3v9JVAtHXzPz9XrAI2ZPpCHPWLrAaFiYlZtwEVYjdWPHdj1RIn36bQS6Ur0rXj
         qfgfA/Qb9GeoZpRX5AnJxnOxuBHLMIEWN7FCIE+Bn8gAzp3w4XuRvs0c/SVQW00L7iz/
         RhPrpppci29sjAmh1ZCTMKXB9xrLVkhMdJ3jSb+HcDI/hGpW+klLdTjNcB5vpotRZiyN
         vh1VY4R+phhZijRogQd6vOD7uyOhtIrJZ+/Xeu2Zo5GDOVKThCyche9UkTJm6TCR/17Y
         ZH6w==
X-Gm-Message-State: AOJu0YxdkzKjH3DlDJ7MoS/w0S8sTLenBczc6f+9+uXgYsp4lur8rTEs
	kw+jojlfJJLc2h++Dz8V8vvA4Fh/YYOPyYiPvjwyqizIaO1CnUg3IgZMgHsOqmw4Vw==
X-Gm-Gg: AfdE7ck/fFlXHdt0JZP/2iqDBjEYldn8vX10FQFf6ONi2/9dcOGu/s+jI1Vizqsc5yc
	YcIIkWDP0ewHHdBgHRNXP7iQytSjs4MFGG7vB48uC3kBsKY2PzYGIwaGAuuO3uT2ZmamuBjrZgT
	QBVAlz2X43IugoWdmWJ9DIehuY8cC00aF/KGU2gRHujnKkpGW3b3QUDCRvdC6FPF9KAZPl/wduO
	cmBi32qQDMUh5YbzRTeVwvcRJzZy7YlhDRXNq029QPARDdn4jECxap2/j5QU0Hf0g5vphEIwCw3
	CiC1ilqtMhc9BwfYtA0yeX0y3bhXK07RzBy1IpwiMjMU76Yfph7+zCmupnfPgD6pfOmhWOxP9L+
	+whw+aqcmDorodNQQ0iApOAax6Dgt9s9BUy8vqaVY9nyvjM6z9q27BqoOdy7At2QxCPhECbhp3u
	4weT41XEfT43xzoOQjuY8oxqj4QXE5Y7Vlb1vqr0sU+w0+Sbml/WCDFMjAVXAge8do2WFknkgwq
	n33
X-Received: by 2002:a05:600d:844f:10b0:492:5e20:3ee9 with SMTP id 5b1f17b1804b1-49260840bbemr29367005e9.6.1782297944506;
        Wed, 24 Jun 2026 03:45:44 -0700 (PDT)
Message-ID: <51e4bad3-251c-4dfd-b487-a760a102a08a@suse.com>
Date: Wed, 24 Jun 2026 12:45:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86: sort obj-<...> list of main Makefile
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>
References: <fe611607-c4d4-4db0-85a2-445bbec5fc47@suse.com>
 <1e3b36a6-1970-4376-97fa-621899ae2ad4@citrix.com>
 <d2d794a4-dfd3-45c3-b5fe-836d0a0c2244@suse.com>
 <0ccf8786-3460-4500-848c-2f0058c8a269@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: <0ccf8786-3460-4500-848c-2f0058c8a269@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1782297945-F57FC744-3A5CC3CB/0/0
X-purgate-type: clean
X-purgate-size: 1221

On 24.06.2026 12:40, Andrew Cooper wrote:
> On 24/06/2026 11:37 am, Jan Beulich wrote:
>> On 24.06.2026 11:10, Andrew Cooper wrote:
>>> On 24/06/2026 8:50 am, Jan Beulich wrote:
>>>> x86_emulate.o coming rather late in the list may want considering to make
>>>> an exception for: It takes comparably long to build, and hence it may be
>>>> best if it got scheduled as early as possible in a parallel make.
>>> Move it to the front with a comment saying "Really a subdir, but not
>>> expressed in that way" or something?
>> We have
>>
>> obj-y += x86_emulate/
>>
>> there, so excusing this by what you say would feel somewhat wrong.
> 
> Wait, we've got both that and the higher level x86_emulate.c reaching
> into that subdir?
> 
> Can't we just fix that?Â  The higher x86_emulate.c is almost empty, and
> lost it's main purpose when you started splitting decode out.

It's emptier for you than for me, as I've put some AMX stuff there which
otherwise would require #ifdef-ary elsewhere. I guess I can see about
moving that and then indeed ...

> That way we no longer have a special case, and no need to excuse it.Â 
> Subdirs always get entered first.

... try to get to this state.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 10:53:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 10:53:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344804.1603838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcLEI-0007FS-Oh; Wed, 24 Jun 2026 10:53:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344804.1603838; Wed, 24 Jun 2026 10: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 1wcLEI-0007FL-LM; Wed, 24 Jun 2026 10:53:14 +0000
Received: by outflank-mailman (input) for mailman id 1344804;
 Wed, 24 Jun 2026 10:53:13 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcLEH-0007FF-3o
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 10:53:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcLEG-00AFAv-92
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 12:53:12 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bb70d-5cb7-0a2a0a5109dd-0a2a4509a5e6-40
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 12:53:12 +0200
Received: from [209.85.221.54] (helo=mail-wr1-f54.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bb717-4999-0a2a45090019-d155dd36cdef-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 12:53:12 +0200
Received: by mail-wr1-f54.google.com with SMTP id
 ffacd0b85a97d-46cdc80779bso144093f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 03:53: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-46c1e840f80sm6414159f8f.6.2026.06.24.03.53.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 03:53: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782298391; x=1782903191; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=BB7y3kkJ1RmSo8DWhty0r/OQY4Eur+XE27WeTdN+Z3o=;
        b=RPqRPgIlMtqFfm+EBLX86/VF6B/ELKVgnEKKWiuQPY5OfZBSrj3GpU6PPhPemL8hK4
         IMNMwF7yc2V7HyIEANGTzQORQyafA8qLpJP4bcr8yqEVfJ0+j/K5W2/FZmOX5LzHZUYf
         sNULSUqsMiJ15sITSq3MPsKB5D47rtjEbaXZcjGBVFT6ZLrTMOLYS0/Wjo8TnAISSOsf
         NgzPHfOjajoaEjeotWkQfExJn3kgqP9gRvJ7c8gAJM+db/f671OxPgZxyhqCFy068mdP
         s7OS6rmaxcqhRivfBT+3OX9RrYzr6GYyEw1w9e977XwhLgXs8JzAhPNi5Vja3aCOaFuz
         +qQQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782298391; x=1782903191;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BB7y3kkJ1RmSo8DWhty0r/OQY4Eur+XE27WeTdN+Z3o=;
        b=GWMJjkdDsOWyaL5FoPkYCsP1FTLNJ1z400f8sHkyliNfwL9/G+1xXKfNJZkqtUPdFL
         nZhpoD5WAFNDhERnffFxjyBQsyodcdo12wXviQXndgmdIQObC6ZFTuMOPDa4KhF+VitM
         0cE8RxmmQrpXVZcPo4ECCmWE6T362aCPJCKzkP9gPW7Gt6O4zPD+WCcory/c15m8UkH3
         MA7Q0NjDc+oBahdJpB4ZwPmCN8puWO5hlCXJW6Xj2xU5Jfkv7uXE7N1zIwCaU3cLrNLq
         yxdDcXr4GS8ezFzsLC0V3ltYaemBNjjq7DzSbb13vQZLexE/DE3I+bsVr1yZ8EQghd0c
         JGXw==
X-Forwarded-Encrypted: i=1; AHgh+RpJCDZLzfizax2RDuoTlK3kNCDGFfJe/VS6qvR6cgOzPVo5w6otQ8rbdIhXX2oefqR2nfn5Nj7Ve9I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxuY6E2/85X9t4eJ6u09GuIU+FEMWkMWUxPoXo3KCsP4h/SMCpH
	1UiBYJACtsh8ST+l008D00fyn5qBDwpvSJsi22BM76JHaOv9SpMwSMUwErjeOUuAUw==
X-Gm-Gg: AfdE7cnUhCjgs54tCmW4BSy+b2HrRbgWNtGjNKd4px1CESU9Su7srVKJGtI7ABhPy07
	4Fcc5034dv7amou1mmzYj62Y1s6f2toGbxN7V8anMwARFbKIWY0DcpQGw3BBy0v3WoDb4lWooSv
	vJ63TQJF/mf5RPyQPdzCxX0+LnBzTQSWbb5wmFebAIx/r6gUvOgw+HsOi+HFmDk2yxdVpZ5qVwg
	U8vkzWX7q47bn7IwZCFLz11wfngDhE/vkytz8TRoZJ4rOIxU/xHI1EXoHD/3/H/mt/5gqfGc2T5
	v6+N/Kr48HOk+Wc2ZfT5nLGnzbM0BCbBOBJOpuKware5ilyPuAOTeQ22yFIFMYoNCcIHpWwnkys
	uri3dKk2r/fSd/n3jd2mNJJdImwduhZeK8FvWsAJBMVS5xZ1PRAyyApKYbBlmJKBE70YPyrdLn7
	oxE8U2Y2pugabxXeSyO3qy+cE5DbBQ8LXtij+s2nbn0JvGCf+L7uo/hMFfvdHhlCL7GSEqiECBT
	Mdz
X-Received: by 2002:a5d:4e01:0:b0:46a:5c0a:74ed with SMTP id ffacd0b85a97d-46c0bb92b9bmr3214217f8f.42.1782298391515;
        Wed, 24 Jun 2026 03:53:11 -0700 (PDT)
Message-ID: <ed9cf5a8-c3d2-49ae-979a-56d2c474b738@suse.com>
Date: Wed, 24 Jun 2026 12:53:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/3] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
To: Hirokazu Takahashi <taka@valinux.co.jp>
Cc: "Mykyta_Poturai@epam.com" <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>,
 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: <20260617071206.265599-1-taka@valinux.co.jp>
 <20260617071206.265599-2-taka@valinux.co.jp>
 <0c37c031-cc21-44d2-9ef6-4baf6f24d74b@suse.com>
 <OS9P286MB7222059ECD370CD6137B698982ED2@OS9P286MB7222.JPNP286.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: <OS9P286MB7222059ECD370CD6137B698982ED2@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1782298392-731E3744-1453B10D/0/0
X-purgate-type: clean
X-purgate-size: 2617

On 24.06.2026 11:05, Hirokazu Takahashi wrote:
>>> --- /dev/null
>>> +++ b/xen/common/cpu-topology.c
>>> @@ -0,0 +1,30 @@
>>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>>> +
>>> +#include <xen/cpumask.h>
>>> +#include <xen/cpu-topology.h>
>>> +#include <xen/init.h>
>>> +#include <xen/acpi.h>
>>> +
>>> +void __init init_cpu_topology(void)
>>> +{
>>> +    const unsigned int nr_cpus = cpumask_last(&cpu_possible_map) +
>> 1U;
>>> +
>>> +    cpu_topology = xzalloc_array(struct cpu_topology, nr_cpus);
>>
>> cpu_topology exists as a global variable only when DT is in use. I think the
>> definition needs to move here (from common/device-tree/cpu-topology.c).
> 
> Okay
> 
>> As to the size of the array, it's not quite clear to me whether by doing it
>> this way (instead of using nr_cpu_ids) we're not setting ourselves up for
>> trouble.
> 
> On ARM64 Xen, nr_cpu_ids represents the total number of populated/available 
> CPUs, but unfortunately it cannot be relied upon as the maximum CPU ID. 
> 
> For instance, if a CPU node in the Device Tree has an invalid 'enable-method' 
> property, that CPU ID slot is still consumed during the initial parsing, but 
> the CPU is not counted towards nr_cpu_ids. This can result in a sparse CPU ID 
> allocation where the maximum CPU ID actually exceeds. 
> 
> If we were to use nr_cpu_ids as the array size here, we would risk an 
> out-of-bounds access under such faulty Device Tree configurations. This is 
> why I used "cpumask_last(&cpu_possible_map) + 1U" to ensure the array is 
> large enough to cover the highest allocated CPU ID.
> 
> Consequently, there might actually be potential bugs in other parts of Xen 
> where nr_cpu_ids is incorrectly assumed to be the upper bound for CPU ID 
> indexing on ARM.

Specifically cpumask_var_t allocations are dimensioned by nr_cpu_ids, and
all cpumask{,_var}_t accesses (including the cpumask_last() you use above)
also have bounds checks against nr_cpu_ids (sometimes only in debug builds).
IOW if there is an issue as you describe it, and if that can happen in
practice, then this urgently needs fixing on the Arm side. This cannot be an
excuse to not do the sane thing here.

>>> +    if ( !cpu_topology )
>>> +        panic("Failed to allocate memory for cpu_topology array\n");
>>
>> I question such uses of panic(): Surely we can do without any NUMA info,
>> it's only performance which is going to suffer.
> 
> Okay, I will replace the panic() with a XENLOG_WARNING printk.

Which of course you understand isn't all that needs changing then.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 11:20:09 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 11:20:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344819.1603846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcLe5-00028l-RV; Wed, 24 Jun 2026 11:19:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344819.1603846; Wed, 24 Jun 2026 11:19: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 1wcLe5-00028e-Od; Wed, 24 Jun 2026 11:19:53 +0000
Received: by outflank-mailman (input) for mailman id 1344819;
 Wed, 24 Jun 2026 11:19:52 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <marmarek@invisiblethingslab.com>) id 1wcLe3-00028W-Tj
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 11:19:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcLe1-00DkUI-LU
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 13:19:49 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a3bbd50-5cb7-0a2a0a5109dd-0a2a450886ac-18
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 13:19:49 +0200
Received: from [202.12.124.145] (helo=fout-b2-smtp.messagingengine.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.0)
 (envelope-from <marmarek@invisiblethingslab.com>)
 id 6a3bbd53-9ee7-0a2a45080019-ca0c7c91b3e1-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 13:19:48 +0200
Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45])
 by mailfout.stl.internal (Postfix) with ESMTP id 51C371D000D7;
 Wed, 24 Jun 2026 07:19:47 -0400 (EDT)
Received: from phl-frontend-04 ([10.202.2.163])
 by phl-compute-05.internal (MEProxy); Wed, 24 Jun 2026 07:19:47 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 24 Jun 2026 07:19: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm1 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender"
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=1782299987;
	 x=1782386387; bh=dK4ZwYkCGG6MjPwHudZXVGS0VA3mhzgXXHkKgD7TyKc=; b=
	n+nAzkQgPXDY7UGqAcn24f7I455jgKCckvBs5keItBcgyqFCQRC+INbQW+/CY1AQ
	4/LFz3PrPS1oRuizFA3VOxzFOgL1chiIjl29sgV/215Pj6xjZPpwWSGrHtyFsJh9
	+9DhYjheftlMVpt76wxpeFpHJIBK3GU4mvb4TaA4VOOZku0BT1hfLPNEgDV34TjO
	NHuJG1V4VKNJX6+zjych6cEXuwLfLGITJC89KiG/y9a13x/oyvJwVW1CB03qJwkP
	Df+o6jvTfHTCYEbYafcJrScS9U4CcKHvrgYNngK3dSriwH2DDomxA9BoQvgaVM/g
	SLmVtl/gq8Cm3aJWXV5wpw==
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=
	1782299987; x=1782386387; bh=dK4ZwYkCGG6MjPwHudZXVGS0VA3mhzgXXHk
	KgD7TyKc=; b=Yg1G1G4H4zWLiFJcMXcxajNUWWfM1NMkI+xmfDrX5gwoM062II+
	xPCq3iC1JATzzmSS9u+xrylaVeGy65IpLziPSJu6edZ5GbEeh+o2U4DPaTRnGoMh
	dgNzLBnKwD5xViYJVutMcn/rxk2OgzxDVovuFFMQQuM68nvycH/kBnCEqZP779zk
	wGS0+56X3H7PerAyMPtJc2Fz+3b6XyRux7Vj5Zsd1flcz2BfzUIYBDwSk2WIyf1K
	hK1W9cDm0BNVkk8ezRhYKBMO7RHNZV9U7XgiWb37CPzEAwdeV6rRuo6O6ndtOPcO
	27dzrtPS/pA46uA+mGkuc26OqUe9TOAwVCQ==
X-ME-Sender: <xms:Ur07ajI4MwJNLa6gtc7GCjTLJHQkXmjdQNbbkN0GKjjeW1yfVilhaw>
    <xme:Ur07apbdMR1MSyoMdyHuX-ZONa6OcD2OkSylltWW87EwBi2i61B9Jvg-P_NSu-i5j
    EpSy11lih3RU8YttQxomjly5t8Wuqbmk2hTFof5Jc6_pNpkaw>
X-ME-Received: <xmr:Ur07at_424BOOecrBLr8t-gc6unTEAMfUya6oyYPncnRjqL_J8dcjo5ytP-uUajo_v6GvyXUNjURdne5JJvpvBYuLY-vUw5uIfY>
X-ME-Proxy-Cause: dmFkZTF9hcJvyW3wCqtIzo6/LGE7crx0Svc5X1MCw2Xe/FoCKyDCi10PSG9yCwyl/wrfFJ
    ANcS0vSoh2tBLeWPyNJ+EIl8PHezXXbAbw68T4baHKrgG9PZlxZE8z5KwzGPw3IKx9DIE3
    yMa5yamAHKqNGMVWWoiX3RiOVAel7QoAtnWx3x49EbQBCPxlCzhoa1nEj1l3iQ2hZxjL4N
    7aHRiZjL59cwqyjeXirux3OsCf83bt1+fMiot6oJFzXeK1N048BROHbIaI0oHxq+w4IOCD
    72qC1fXrgGijHdGv4DLQBP2l5NLvzPUmHaTXQvs2g636XEh1dJ6m+Icdcsw3a1I2JLbxeM
    bciYiEk3sOvenyNRgsJmg9NhVrJFAJV5G87F0iAHDvI/q1USCfleKNpOSfTWoa+tNPkvYz
    aH7UqmGjQNWc7+g+1FzzGnpvd+sAcyXIdFJW5BRzkV9MpxlDgm3eDJj13v9svHqsrb8pwG
    xxJ0/C8NsnW4QpjVXqdNw6e7kiaFRDXZpAlkma16w74sbPii3Z4Ji2CI68cYf4rMlGdynt
    5Qir5qB1GEywlIG4vXGHwH8lX4LlSCvl3bcQ5NuZfIaVpwTJl8KK3Di+3KLl1kdmLvBpFC
    XddJVGiV4+hXnLm5SUbg0EBrONpneLkfYSpS9aJhLppGBYmI1usOZE6IB2xg
X-ME-Proxy: <xmx:Ur07aia_hN33i2n14b0kbF4_vQ8hzb0ycChcATmTe5Fcv4pvA44N4A>
    <xmx:Ur07apNb_gelXpXRyWr7pp-EsKGvCc4MYmHn_dWz_rWpiBeObfgspQ>
    <xmx:Ur07amBvZCUwS7wQvX9D9Qo9arw0gG1WYGbDaRSn_6iGRtHNdFnB5g>
    <xmx:Ur07aoIHLogbS1gy0vNUtm-FhynTR5aAVUPlOOIVwQQYw_lqxvTl8g>
    <xmx:U707auO_2fb1FkMr7TOo-A5n1qhznhte4es1muZJ4K2996dTRBfZtK2C>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 24 Jun 2026 13:19:43 +0200
From: Marek Marczykowski <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Daniel Smith <dpsmith@apertussolutions.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22?] x86/EFI: arrange for non-discardable .reloc in
 xen.efi
Message-ID: <aju9T5oCV7FK8agI@mail-itl>
References: <652b57e0-42f8-47c8-b94d-df862874aba3@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="eIu06BDLJtj5LfkC"
Content-Disposition: inline
In-Reply-To: <652b57e0-42f8-47c8-b94d-df862874aba3@suse.com>
X-purgate-ID: tlsNG-c1860d/1782299989-65E250FA-9A621D18/0/0
X-purgate-type: clean
X-purgate-size: 4932


--eIu06BDLJtj5LfkC
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 24 Jun 2026 13:19:43 +0200
From: Marek Marczykowski <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Daniel Smith <dpsmith@apertussolutions.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.22?] x86/EFI: arrange for non-discardable .reloc in
 xen.efi

On Tue, Jun 16, 2026 at 06:17:54PM +0200, Jan Beulich wrote:
> Loaders respecting IMAGE_SCN_MEM_DISCARDABLE would not load such sections,
> yet we need to access it ourselves when switching out of "physical mode".
> Leverage behavior new to GNU ld 2.46: Any contribution to .reloc which
> doesn't have the discardable flag set (which cannot even be expressed in
> ELF) will yield the output section also non-discardable.
>=20
> Since for intermediate binaries we don't care about section attributes,
> link in the new object only on the final linking pass.
>=20
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

This seems to be enough to indeed make xen.efi .reloc non-discardable
with binutils 2.46.

Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

> ---
> With a new enough linker, $(dot-target).2r.o could be leveraged instead:
> $(dot-target).2r.S is going to be empty (or if it's not, the .reloc
> section there would already have the wanted property), so instead of
> adding the new relocs-empty.S we could also insert the section directive
> there. Overall that seemed more convoluted to me, though.
>=20
> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -196,7 +196,8 @@ note_file_option ?=3D $(note_file)
> =20
>  extra-$(XEN_BUILD_PE) +=3D efi.lds
>  ifeq ($(XEN_BUILD_PE),y)
> -$(TARGET).efi: $(objtree)/prelink.o $(note_file) $(obj)/efi.lds $(obj)/e=
fi/relocs-dummy.o $(obj)/efi/mkreloc
> +$(TARGET).efi: $(obj)/efi/relocs-dummy.o $(obj)/efi/relocs-empty.o $(obj=
)/efi/mkreloc
> +$(TARGET).efi: $(objtree)/prelink.o $(note_file) $(obj)/efi.lds
>  ifeq ($(CONFIG_DEBUG_INFO),y)
>  	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),echo,:) "Will strip debug i=
nfo from $(@F)"
>  endif
> @@ -227,7 +228,7 @@ endif
>  	$(MAKE) $(build)=3D$(@D) .$(@F).2r.o .$(@F).2s.o
>  	$(call compare-symbol-tables, $(dot-target).1r.o, $(dot-target).2r.o)
>  	$(call compare-symbol-tables, $(dot-target).1s.o, $(dot-target).2s.o)
> -	$(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds $< \
> +	$(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds $< $(obj)/efi/=
relocs-empty.o \
>  	      $(dot-target).2r.o $(dot-target).2s.o $(orphan-handling-y) \
>  	      $(note_file_option) -o $@
>  	$(NM) -pa --format=3Dsysv $@ \
> @@ -247,7 +248,7 @@ $(TARGET).efi: FORCE
>  endif
> =20
>  # These should already have been rebuilt when building the prerequisite =
of "prelink.o"
> -$(obj)/efi/buildid.o $(obj)/efi/relocs-dummy.o: ;
> +$(obj)/efi/buildid.o $(obj)/efi/relocs-dummy.o $(obj)/efi/relocs-empty.o=
: ;
> =20
>  .PHONY: include
>  include: $(objtree)/arch/x86/include/asm/asm-macros.h
> --- a/xen/arch/x86/efi/Makefile
> +++ b/xen/arch/x86/efi/Makefile
> @@ -17,5 +17,5 @@ obj-y :=3D common-stub.o stub.o
>  obj-$(XEN_BUILD_EFI) :=3D $(filter-out %.init.o,$(EFIOBJ-y))
>  obj-bin-$(XEN_BUILD_EFI) :=3D $(filter %.init.o,$(EFIOBJ-y))
>  obj-bin-y +=3D mbi2.init.o
> -extra-$(XEN_BUILD_EFI) +=3D buildid.o relocs-dummy.o
> +extra-$(XEN_BUILD_EFI) +=3D buildid.o relocs-dummy.o relocs-empty.o
>  nocov-$(XEN_BUILD_EFI) +=3D stub.o
> --- /dev/null
> +++ b/xen/arch/x86/efi/relocs-empty.S
> @@ -0,0 +1,8 @@
> +/*
> + * Empty .reloc section, simply to indicate to GNU ld that the output .r=
eloc
> + * section in xen.efi should not be marked IMAGE_SCN_MEM_DISCARDABLE.  T=
his
> + * requires GNU ld 2.46 or newer to actually be understood in the intend=
ed way.
> + */
> +
> +	.section .reloc, "a", @progbits
> +	.balign 4

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

--eIu06BDLJtj5LfkC
Content-Type: application/pgp-signature; name=signature.asc

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmo7vU8ACgkQ24/THMrX
1ywHBQf+PqK0BHrML8eD+TBmbAvLQp3veSnR7YHCdqzWEWqT4NpFKMMwqlsHPehS
92QvtyaSMxEJa0y54dzlV8VTCEh3aBRBlKcTzdv5JVkndGwz2TtmmiGdO2S1nBt/
YwoJq2ymbznvnjbsUBvNOL5Ao3/Vinh6PFMUENfkEMG9Xs5oPVbxYX2rg53ee8PM
jVK9M1b2kbt/JeutYcNdiJwhjSpHj9ycuU/eqkEpypgGxO4BpLOOsHSyKxvwMRd6
1mzVKMtrxxxOHZM05A2+JAeOtIr3XqxqRlG7NGC7njHpQYGYRdmF20Q82SPA9RcX
OIA+PVIoewU0PC4t5EhHxf5NAsbV9w==
=JSb9
-----END PGP SIGNATURE-----

--eIu06BDLJtj5LfkC--


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 11:34:15 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 11:34:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344831.1603856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcLrt-0004p9-S2; Wed, 24 Jun 2026 11:34:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344831.1603856; Wed, 24 Jun 2026 11:34: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 1wcLrt-0004p2-P5; Wed, 24 Jun 2026 11:34:09 +0000
Received: by outflank-mailman (input) for mailman id 1344831;
 Wed, 24 Jun 2026 11:34:07 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcLrr-0004ow-Tp
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 11:34:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcLrq-00037U-TH
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 13:34:06 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bc0a1-5cb7-0a2a0a5109dd-0a2a4502c186-44
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 13:34:06 +0200
Received: from [209.85.167.48] (helo=mail-lf1-f48.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bc0ae-5a27-0a2a45020019-d155a730d03b-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 13:34:06 +0200
Received: by mail-lf1-f48.google.com with SMTP id
 2adb3069b0e04-5ad4c229861so669496e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 04:34:06 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ad6954a4bfsm1680733e87.8.2026.06.24.04.34.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 04:34: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782300846; x=1782905646; 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=g45lG256BOEf+Fec+r2sXcrak1LrUUumSAl313u2QZ4=;
        b=G4r2NjE4haYpXRCRScnCjXt2YAj2u96zqB9vLp4KhAhsyE7/lOL+rMZE8JbY9/kFB2
         jNQCjEnVrLWYH9RtTpHa7pv7UwC+1WOxL+IKOSdbW5bERxbYia8ZsAf//W1k2fRs47w1
         WDggC2+cbxV+p818qGQuLwL2UmfACmXSTcv6OPhlHV9qD7jpSCgaimKnjpmtUozqfYnf
         3lDeVCVASVTdGQm/V3bLh2D9SPkkA6w3I7CEZ9gbom2/aS3FFr7BHkZj+NVLBoaS2pNj
         Ez/GX5XIVgKlpJxtVxSfPU+19kgWqGJlPdRTYag6Hi4+0qwAZpIIqFC6roQfbiUP659M
         SmRw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782300846; x=1782905646;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=g45lG256BOEf+Fec+r2sXcrak1LrUUumSAl313u2QZ4=;
        b=C1CndYBuWAYYanIeFaMs6av7a/43MfP7yN32CUhqEJFsO6Z8NZkOjoST1EUAbOk+tB
         KSR+zIbLngT9huXQ+lLGgxFxVGkjRBHloV1KsFRu24SZsv2C2u9lVk7NCoxMNCE1E8vb
         PVElBPp1I14xaklBU59VqXWZfKxSoP3QfXL//cl3qriPiw24ryVqmsw7+NpnBUUQ9W5a
         uJd3CYTDa5q7K6IUU7fFYKWSgLXF716cT6YUcfagWDeVxuHabaECnzqA4Zsh/OBhH2WN
         DAZxkzH3Sr61d9TF5UAl2UOcM5GITumF7KPZE0ep2YNVFasj2nV0QJkBhQDQxw4+R3N3
         q1qQ==
X-Forwarded-Encrypted: i=1; AHgh+Rr+JZO6jDdo4L6XxFGt2npeLuEQmCW6H+XxQ5o3zuh8zx1jJLewmFygxoGJAo/Dp3khyyOSv+rRWPs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz1XXg+/Wx3zjt0KabuaC1PYE97CXls3zJHkdaCulJlTFW1+gSG
	YursC+knU/zCBNrbFOlCgO2ZA87mDcqi0BmapxSheRMwjfIfRlHCyR8U
X-Gm-Gg: AfdE7cl38H3hIWEQxPIs7avq/YoBRM1LJqMIjAoAh810lCHKgjTd21/9g3FEXoJpbn1
	v7HZ/p/qLbEfiZwEybma/1haTyOgzLD44T+eMyFHnkCDIFkcg6Mkq7OCE4WHPDJfF8nTmv79gxO
	uI4YWN71a+m+bbVYQTJ5jEQQa/L7pg0qrr5gTYYkhPl5hBu7cWswDSVa8CSH+Y3mNzj7J1hAYUu
	/KxH2Zo0WbJ38cip2NBAZejZUVi2b4ovOGzSAYz6OuBcEavvzlynNIAJDFukSwDFYU4zEN7DCVL
	e6ErBMclx+xNoHocfhiPRN7Ce520nTvJ5FEjlH7FZDGajG9Lwp+tjArlSXdGRAs7c9DFqmpJfEq
	Aw/OyVUwZia/IG6GK9aYoHDsk9Q5tOAZeG9gKo4iuRWC7tCNnWDS+b8EO4QDcjuuy4bqDqexD8V
	RZVTFIkMhBd17wXor/Hs/jzBTQlzIGt7KhG1Xhw/EUv5krmV/pbGXPZIT8BbhlXK3vfQ8=
X-Received: by 2002:ac2:4147:0:b0:5aa:75c9:d304 with SMTP id 2adb3069b0e04-5ae9d57c9c2mr639377e87.31.1782300846020;
        Wed, 24 Jun 2026 04:34:06 -0700 (PDT)
Message-ID: <81b60619-28f7-42e9-a6c6-be9016fe5918@gmail.com>
Date: Wed, 24 Jun 2026 13:34:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 10/23] xen/riscv: introduce init interrupt controller
 operations
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <da217bc51799d46666a740f38e00efc6de554ffc.1781693963.git.oleksii.kurochko@gmail.com>
 <1bb1a400-ed4f-470e-8f20-779d2c09c03d@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <1bb1a400-ed4f-470e-8f20-779d2c09c03d@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1782300846-4CB077C5-2BB7302F/10/73395122804
X-purgate-type: spam
X-purgate-size: 1348



On 6/22/26 4:30 PM, Jan Beulich wrote:
> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>> Introduce intc_hw_init_ops structure to avoid risky mix of init
>> function and non-init function.
>>
>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>

Thanks.

> 
> Strictly speaking ...
> 
>> --- a/xen/arch/riscv/aplic.c
>> +++ b/xen/arch/riscv/aplic.c
>> @@ -306,12 +306,16 @@ static const hw_irq_controller aplic_xen_irq_type = {
>>   
>>   static const struct intc_hw_operations aplic_ops = {
>>       .info                = &aplic_info,
>> -    .init                = aplic_init,
>>       .host_irq_type       = &aplic_xen_irq_type,
>>       .handle_interrupt    = aplic_handle_interrupt,
>>       .set_irq_type        = aplic_set_irq_type,
>>   };
>>   
>> +static const struct intc_hw_init_ops __initconst aplic_init_ops = {
> 
> ... I think this needs to use __initconstrel, as ...
> 
>> +    .ops                 = &aplic_ops,
>> +    .init                = aplic_init,
>> +};
> 
> ... both initialized fields incur a relocation.

Isnâ€™t it needed only when `aplic_init_ops.{ops,init}` is saved in a 
variable that doesnâ€™t belong to the `.init` section, so that a potential 
dereference of already freed memory could occur?

~ Oleksii




From xen-devel-bounces@lists.xenproject.org Wed Jun 24 11:36:35 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 11:36:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344839.1603865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcLuD-0005Ju-8S; Wed, 24 Jun 2026 11:36:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344839.1603865; Wed, 24 Jun 2026 11: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 1wcLuD-0005Jn-4q; Wed, 24 Jun 2026 11:36:33 +0000
Received: by outflank-mailman (input) for mailman id 1344839;
 Wed, 24 Jun 2026 11:36:31 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcLuB-0005Jh-3d
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 11:36:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcLuA-0027xt-GR
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 13:36:30 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bc130-e002-0a2a0a5209dd-0a2a450ab512-42
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 13:36:30 +0200
Received: from [209.85.208.170] (helo=mail-lj1-f170.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bc13e-e40e-0a2a450a0019-d155d0aaecf8-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 13:36:30 +0200
Received: by mail-lj1-f170.google.com with SMTP id
 38308e7fff4ca-39669bcaadfso7881081fa.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 04:36:30 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-3999b182bb4sm34423541fa.34.2026.06.24.04.36.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 04:36: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782300990; x=1782905790; 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=3MzG+8HKfV4uLO40eP8RGOWtuXM4TAPEWaVM9IFRjjo=;
        b=A/ISGBiyzSC0WEHFiSTzO/UCBShAx9vRCAFyX1zX56DBS1bVxgHDL50DLb4yb1vM8G
         5FeAX83oeVwWMNeKnItrks+qIgI51I7eRPP08Hsww7pZNPMlo74Q6x3OtFgCdb6WYXPd
         u7+4fPRXsVVOZMPatxnMQhJZU94Vz20raagsGXwxQj5RZ8wRSpNXFSZvxOtD0ERFcXzf
         jfTo2DKWLxSFXEf89gaeAwv6LkIFRmj4mjma/SNXRGj1eA5iqQYx3kXVD2kDKv9reFdi
         ZcuKbK7dl/qPIixgZSdWg65Sy7TZoWTQpYYERSsqCrNi3yo2kruff2ZEb7EC1UhAYeXd
         nx/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782300990; x=1782905790;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=3MzG+8HKfV4uLO40eP8RGOWtuXM4TAPEWaVM9IFRjjo=;
        b=rE/Str98l+DCfZ2ibh5ujL8ekipGLYNLLKxHgMuWWCLsH6BzPcJS0pNS8mYrmGvB9a
         70Ov04sBBKzbiEzIkPVLSnvIxmUiu1dWr0RYVqXJrBPtrcTWRo8HS+5ywYln/fCMYfsh
         zww9Fe0MbE9aRvDopH4IfcWSYwBS4YQsyfNxpSQrvCbgrqxjnAKSUqHeY8d5ec0xBMoz
         TK5E7U4h7NeUYY+b7Ywc/DOasF7t6Uxsu9MvhKoT5IVUjANxstdK/6EZaT4sORkSb0qN
         dqZXNs5tosCvzBnx3lTJERYr8NZwXke4gHTH1w9LTU0w0WlBIjKbBaNCPwfgDIPsqoaM
         RhQQ==
X-Forwarded-Encrypted: i=1; AHgh+RrviSyZbgUQcCKkzD3/MEPiVd7UdZ14ER7zWZZlrxDCC/LUaMNX7BqS+ZpNpta1VjoqCz40/566P54=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxuSGiDoI3919ie0Znt85qwVm2FVqupfSG8QQHsAbtDyfqEhqj8
	6k5zUaQ5HhAKh5E3XKH3U1cDCKtrsQzI4qjeHxUI6LDJ6iwZfYkYqMgv
X-Gm-Gg: AfdE7cml3j3zphNRKLXhHal8jav3YR8sIfKyUpJ5l9kQz7dk5Ts8zdhPE9CZ9ENkYRv
	m598HKP/7HHiHkBO2VY8dOSm4IJ/7oYnIZ/4O8Ey+F8gJcFu6VPGDxwUmmywrhUTdbYkPmpkTiA
	dXCXynemNGLRJrmTwxVhPOamxvSHvqadnzlJv+zY0wthuvpdqm9Pihxip0RmngGRGAb+CiP0zHd
	lWgFYlyWOAAsaS/F8PejzkGKFpIcQRN/QWsIr6m5QZMBmJdwWAbyMhuJeX0//9jlCvM/cR3qFB8
	zbOde1Uwa0bfmkHxoskgIkHefAfQs24MnZGGHMs7lMXuVJbsGwjQO308m7Yw3JyDh0eGvWnbjLx
	CkF/sFYWiXfd/zuasSrJJcnjGlLqNiydzKK6VhFmxf0nmMJyl0VpJJlYHX+GcI00mSvxbUXkhsq
	l8bn2BFZnUQ6yagpm027ypdCepoDsXjrH8JQVriMXOIZtVWr2B3iAgz8dqcC90S5TKo8k=
X-Received: by 2002:a2e:be22:0:b0:396:9967:cd69 with SMTP id 38308e7fff4ca-39aba1822b8mr7799321fa.13.1782300989575;
        Wed, 24 Jun 2026 04:36:29 -0700 (PDT)
Message-ID: <67d9ecf0-27d2-49ac-9186-6c7469921cf9@gmail.com>
Date: Wed, 24 Jun 2026 13:36:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 11/23] xen/riscv: implement make_intc_domU_node()
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <7b40037c2d0cce84f9e65d7c4a58ec773f7e49d0.1781693963.git.oleksii.kurochko@gmail.com>
 <fe4e5c8b-eceb-460d-8727-790d7750e170@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <fe4e5c8b-eceb-460d-8727-790d7750e170@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-4011c0/1782300990-CFD33DDE-2927552A/10/73395122804
X-purgate-type: spam
X-purgate-size: 1326



On 6/22/26 4:34 PM, Jan Beulich wrote:
> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>> Introduce a RISC-V specific function to create an interrupt controller
>> Device Tree node for DomU domains during dom0less build.
>>
>> Add make_intc_domU_node() to the dom0less build path and wire it to
>> a new generic helper, intc_make_domu_dt_node(), which delegates DT
>> node creation to the active interrupt controller implementation via
>> vintc_init_ops.
>>
>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>

Thanks.

> with ...
> 
>> --- a/xen/arch/riscv/intc.c
>> +++ b/xen/arch/riscv/intc.c
>> @@ -3,6 +3,7 @@
>>   #include <xen/acpi.h>
>>   #include <xen/bug.h>
>>   #include <xen/device_tree.h>
>> +#include <xen/fdt-kernel.h>
>>   #include <xen/init.h>
>>   #include <xen/irq.h>
>>   #include <xen/lib.h>
>> @@ -72,3 +73,10 @@ void intc_route_irq_to_xen(struct irq_desc *desc, unsigned int priority)
>>       intc_set_irq_type(desc, desc->arch.type);
>>       intc_set_irq_priority(desc, priority);
>>   }
>> +
>> +int __init make_intc_domU_node(struct kernel_info *kinfo)
>> +{
>> +    struct vintc *vintc = kinfo->bd.d->arch.vintc;
> 
> ... this also becoming pointer-to-const.
> 

I will add const.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 11:55:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 11:55:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344851.1603875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcMCY-0008E2-KU; Wed, 24 Jun 2026 11:55:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344851.1603875; Wed, 24 Jun 2026 11:55: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 1wcMCY-0008Dv-H0; Wed, 24 Jun 2026 11:55:30 +0000
Received: by outflank-mailman (input) for mailman id 1344851;
 Wed, 24 Jun 2026 11:55:29 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcMCX-0008Do-3R
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 11:55:29 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcMCW-004q6n-Cq
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 13:55:28 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bc5a4-bab6-0a2a0a5309dd-0a2a450a9480-38
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 13:55:28 +0200
Received: from [209.85.167.46] (helo=mail-lf1-f46.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bc5b0-e40e-0a2a450a0019-d155a72ed108-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 13:55:28 +0200
Received: by mail-lf1-f46.google.com with SMTP id
 2adb3069b0e04-5ad578c49afso964102e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 04:55:28 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cb1156asm740337e87.54.2026.06.24.04.55.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 04:55: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782302128; x=1782906928; 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=PGUV+KJQDcFdzLF1RpbSQSFUKNcHIpQJeuzPrwoMITQ=;
        b=tB7LgN/M8N39dPUNqsX9A+msxZIO46yTTJqe5SckgS7mBrzNM6DKRC+jn4Ruh/OCLQ
         QXbfi3agyHeQJdzhV7tDWeUNZqlAchFkXWPg2GFA3pHs4KmfyCP7KzgVLUQhq1WgSykB
         S8Rp+kn79LEGsuNub2VHEr2Tqs2J0v8HqS2F6KzkLwXEL+OkUHI4dCVF/8dsvvUFFCBj
         +VTScB019UTm6iWH74GUgaM4SUW2bE3wwx73vS5eJnqTww02E15TPKablx24UZd8VEkX
         nD2sikTDdGl2W+t4f9Issm6Yc/Dh1x8FAW8Ai3hp0HHmnDrAklnVpsnnUEcDapZ7SnHI
         MvRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782302128; x=1782906928;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=PGUV+KJQDcFdzLF1RpbSQSFUKNcHIpQJeuzPrwoMITQ=;
        b=m2b7nLh9G+609xb9PYbPBxqx2dLe/DVPLZ6kiIltKxEBdVBoTv04lxVvdjDYIyk+le
         VK6tHaIxIl4kxuFbHiNaRfrKxU03lbulOevtvYq8vbMh/9lv72oRoRRptO8k4wYm3nXm
         WlIZlHgWYZsfwtGbq8gu5VpQWiw/nkE22JxyAvHsM2MhmieWPJG0rZ/LvH+yuhCyxIMt
         UzMbTT/FtPI5QgTwN4Mb1A8b/foag5kZoBAMu/ps6RrJIgPmh8hoOBLqkPe6vW2gnCbk
         0bk5OHmwCFLnMCkBcdye4SAEhszD9njeklaUMUWM6be4QAezfEnGymEH7E9OLz1qZ6OD
         gqYQ==
X-Forwarded-Encrypted: i=1; AHgh+RrtghCHSCLmnpfSnGQj5cDQ04jcAsQhEmxAZlru9kXvqWqLzMPuk6raAyZfStviiuCa+0h2M+80AoI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywtc0Y8U/Y6mnvgzPbRQDupUhu8Sxs9bi+upi0cxSRS4gfB9sqt
	eX2KJPag49UJJ+XDiemVp9aIrdKSE/hb8Hvha7sAEwNzcchkxJ6fK2BD
X-Gm-Gg: AfdE7cnU0qD+etakN8evurYq5WQFY/EwdY4ajEFU/AezEI/3k2xK52lW2B9IlLUPDdv
	2u1r447j235YMOHUJs37rbuumThd+AJarKGB+Q8j/TiNg+hmJV8zH+kCK/Szd0h77D/G3ZmuDUY
	Deg7QtI59OzacF0EAWROfE69ZrCAitey8th/Mul/GWgIo6IUd0JjGieCN7qRbbyAMoTaK9BZyBn
	MCh7TMRBu0Y+4MMEnw6zTqXIFGXmlMzqh3w2n5En7S/9lJXTWkGEZ8E38gPCG0BsYp3EJiYNJJK
	enUcfCFc/L0QNKsKdqmpdTBh3HjacNKW3HoyE1hvkUHZFt7deDmKpzii38k9//22lHEs2epKrjJ
	gfMtfUCeDcpIuvG6GWvY9NR8gA5WL6ki44kndZ9BdLZ6IpOcbSaj6HQYbLzjWef03RxNF9656VH
	SIgBOAznD9Iu0qM6oVQ8AUMMf1CmnO67ul5fHnVQCB2Ww73gdMOVfvxtQqvZJwJ2AKzbs=
X-Received: by 2002:ac2:4f0f:0:b0:5aa:8824:156b with SMTP id 2adb3069b0e04-5ae9d58a746mr838951e87.47.1782302127404;
        Wed, 24 Jun 2026 04:55:27 -0700 (PDT)
Message-ID: <e158a473-8e3b-4306-9098-dd3eaed993da@gmail.com>
Date: Wed, 24 Jun 2026 13:55:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 13/23] xen/riscv: introduce per-vCPU IMSIC state
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <69b84024f185db01d62d6c9ece1b5cee0e20a25b.1781693963.git.oleksii.kurochko@gmail.com>
 <ca8ed8b5-04d7-4561-9e2e-58923c6a0f3d@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <ca8ed8b5-04d7-4561-9e2e-58923c6a0f3d@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-4011c0/1782302128-3D80EDDE-A7D74525/10/73395122804
X-purgate-type: spam
X-purgate-size: 1693



On 6/22/26 4:46 PM, Jan Beulich wrote:
> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>> @@ -61,7 +62,24 @@ struct imsic_config {
>>       spinlock_t lock;
>>   };
>>   
>> +struct vimsic_state {
>> +    /* IMSIC VS-file */
>> +    rwlock_t vsfile_lock;
>> +    /*
>> +     * (guest_file_id == 0) -> s/w IMSIC VS-file
>> +     * (guest_file_id > 0) -> h/w IMSIC VS-file
>> +     */
>> +    unsigned int guest_file_id;
>> +    /*
>> +     * (vsfile_pcpu >= 0) => h/w IMSIC VS-file
> 
> DYM "< NR_CPUS"? Else the above conflicts with ...

Agree, it should be '< NR_CPUS'.

> 
>> +     * (vsfile_pcpu == NR_CPUS) => s/w IMSIC VS-file
> 
> ... this.
> 
> As to the h/w vs s/w options: I take it that e.g. guest_file_id > 0 and
> vsfile_pcpu == NR_CPUS is an impossible combination?

Yes, if we have assigned h/w guest interrupt file it should be connected 
to pCPU.

  In which case
> re-arranging commentary may want considering:
> 
>      /*
>       * s/w IMSIC VS-file -> guest_file_id == 0
>       * h/w IMSIC VS-file -> guest_file_id > 0
>       */
>      unsigned int guest_file_id;
>      /*
>       * s/w IMSIC VS-file -> vsfile_pcpu == NR_CPUS
>       * h/w IMSIC VS-file -> vsfile_pcpu < NR_CPUS
>       */
>      unsigned int vsfile_pcpu;

Good point. I will apply this.

> 
> As to guest_file_id: In vcpu_imsic_init() you store IMPOSSIBLE_GUEST_FILE_ID,
> yet that value isn't mentioned here at all.

Good point too. Actually I think that this definition isn't really 
needed as software IMSIC interrupt file could be counted as always 
available and so IMPOSSIBLE_GUEST_FILE_ID could be just dropped.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 12:33:39 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 12:33:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344869.1603882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcMnC-0004wf-37; Wed, 24 Jun 2026 12:33:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344869.1603882; Wed, 24 Jun 2026 12:33: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 1wcMnC-0004wY-0W; Wed, 24 Jun 2026 12:33:22 +0000
Received: by outflank-mailman (input) for mailman id 1344869;
 Wed, 24 Jun 2026 12:33:21 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcMnB-0004wR-JH
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 12:33:21 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcMnA-00H78P-No
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 14:33:20 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bce8b-bab6-0a2a0a5309dd-0a2a4504bca6-28
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 14:33:20 +0200
Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bce90-a01d-0a2a45040019-d1558036d0ef-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 14:33:20 +0200
Received: by mail-wm1-f54.google.com with SMTP id
 5b1f17b1804b1-4903d730b1fso10765015e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 05:33:20 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4923fc47720sm796246935e9.0.2026.06.24.05.33.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 05:33:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782304400; x=1782909200; 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=jQaP2q6JfoXSdfdwNJe/dNTh+2bFU1ftbokuL7TDMYQ=;
        b=ZZuM7DzrzBOTsbHdmpPz5gIDPQKM7jjMmPYfPeAHZtpgkjD92vfZp9e0JSDzGezegU
         douVrbsS78pa7HJPFJYsHOT4foe91WhIN0s0EDmz29DtE3PIs2IScreOvJFJV/ud2ljI
         IZvN3VlhEpEo7hVjT0hQYq6EHy7vDgmGYjSl78pyqh+TZcfMQ4tWOYXzelLXfTqG061X
         kP83LLGSD0qH1tGjJdp6ig6CtTrv/smkPUWggyRjorDRn6mWgi0L5knkNt87DOVOXhur
         JzRcVxL3IpTCUY6SoaFB9WkArGyD2FOIKl+M7RgflJDlieJ2ZVvmK39ziJ97nJWBk8wz
         zwYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782304400; x=1782909200;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=jQaP2q6JfoXSdfdwNJe/dNTh+2bFU1ftbokuL7TDMYQ=;
        b=XQFIow1qN95cVUvwSmNbWq563qWOGlSPij9lMg+67HXvyOEeGiPCVFnOp/z39r91CJ
         +Es+mCEDavS6iu0QX7FQx0dYc3dJwBeVfzss39qaNYJefGDZ+6DM7XA/4Ng23qb9EBs/
         Muqd7SBv99XoNfT8H9b99j8VA6zbPPPFgRobejjZpnge82NoiZTOSompcyscdkRnkx3p
         JeSl6GDBKnm/4y4RCFZIbkr1JrJVHqlGJtiMINl4A1Ac+Q0nb1cYwnWTa+Lt28crabTz
         Uzp4RH/PCKgHGaVN2P1dYm5E7gxaWEQjimotVgUKojb6hcU1ygtJ315kuJmmnU8i2skM
         71aQ==
X-Forwarded-Encrypted: i=1; AFNElJ9m4Ms/+LlTrXA5r5JL/C1SzjU+H1dqyq5xlOViduNxU6ISkrfkbzw3Axr96Br9oXBfeuxuXNnHDu4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy40AXLP2v/QpI2YVOTUIvvtBbyLljbhG60K1i5SY3aZpnBvI64
	J2bpnbG/NwZ46vRNqrng95fer69FUhNrpcU+6v2Bk+o/TDkNMGxe8iAT
X-Gm-Gg: AfdE7cnCAlYlsynTB4HwnY3yohhwPsdvDabZNsqj5LR0rUDa3FB1QJH0yRU4MhvZEtw
	Xpbu881l389alDTDpQuc3Cq3UmTu1gFg1qzwjmP7VlCVd2qrl9FOB8ZHV62Y+HTklyB8JJL32xU
	Tecl2xHZXqbRTzuWOrtTTXSE16AKFMXT8ID81Xgz3rMcb+josNVVHBI8B0gdgIJbunE9twzr7F5
	sHUNbLAwy3Poc3xh7shaIAzqTqIcdntCIX4SlR9XjuXM34v/Tg51jl9a0Z2Z5lvTC0o/dUeJ1a4
	pk3SHG5rDS8X/FX8MuBCWH933uuEBooA+Ovw1HxUV8kn/cpa3b/2ymeThsGdQhjTqZyJgmOcZF4
	79vxtXji7EeNYZj+S0kdwKJ6qyJzhnip95McXZyWqC6/+89fFr+9d3smXkgeHV3j7vdO1zlCLj2
	U/uPUPWoGkGrpk70zc43e7p02BT4Bx6pF86DUEZdFdoKP1bRg0SkyaZOBQYF641N1Zc2E=
X-Received: by 2002:a05:600c:8109:b0:490:b4e5:ce7e with SMTP id 5b1f17b1804b1-49260878cbbmr47310995e9.25.1782304399968;
        Wed, 24 Jun 2026 05:33:19 -0700 (PDT)
Message-ID: <04d68981-c9e7-4f8e-849f-a6ce1c96a192@gmail.com>
Date: Wed, 24 Jun 2026 14:33:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 14/23] xen/riscv: add very early virtual APLIC (vAPLIC)
 initialization support
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <9dc992009d0c1f9d1c6b6e88c0ea8bceabcb4d72.1781693963.git.oleksii.kurochko@gmail.com>
 <3fef3dcc-9fd2-4ccc-a3ec-36971aab1d28@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <3fef3dcc-9fd2-4ccc-a3ec-36971aab1d28@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1782304400-AFF251CC-BB8D45B5/10/73395122804
X-purgate-type: spam
X-purgate-size: 1357



On 6/22/26 4:55 PM, Jan Beulich wrote:
> On 17.06.2026 13:17, Oleksii Kurochko wrote:
> 
> What does "very early" in the subject signify? This isn't about (very) early
> boot at all, so it's not quite clear on what scale of time the "early" is to
> be applied.

By "very early" I meant that this patch introduces only some very basic 
pieces and the vAPLIC driver isn't fully functional yet, so it was 
intended in the sense of an early development stage / first increment, 
not early boot.

I agree it would be better to rename it to:
   xen/riscv: introduce minimal virtual APLIC (vAPLIC) infrastructure

> 
>> --- a/xen/arch/riscv/include/asm/aplic.h
>> +++ b/xen/arch/riscv/include/asm/aplic.h
>> @@ -15,6 +15,7 @@
>>   
>>   #include <asm/imsic.h>
>>   
>> +#define APLIC_DOMAINCFG_RO80    (0x80U << 24)
> 
> Is the 80 in the identifier actually relevant? As the use site alll you care
> about is that you make sure to set r/o bits which aren't 0. Which ones these
> are can be entirely contained to the #define here.

Good point, the value doesn't need to be in the name. I'll rename it to 
APLIC_DOMAINCFG_RO and move the spec detail (bits 31:24 are read-only 
0x80) into a comment on the #define

/* domaincfg bits 31:24 are read-only 0x80 */
#define APLIC_DOMAINCFG_RO  (0x80U << 24)

Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Wed Jun 24 12:34:57 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 12:34:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344876.1603891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcMoi-0005P2-BW; Wed, 24 Jun 2026 12:34:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344876.1603891; Wed, 24 Jun 2026 12: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 1wcMoi-0005Ov-8j; Wed, 24 Jun 2026 12:34:56 +0000
Received: by outflank-mailman (input) for mailman id 1344876;
 Wed, 24 Jun 2026 12:34:55 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcMog-0005On-TN
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 12:34:55 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcMog-00H7c9-9Y
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 14:34:54 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bcee9-5cb7-0a2a0a5109dd-0a2a4509a5bc-12
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 14:34:54 +0200
Received: from [209.85.128.47] (helo=mail-wm1-f47.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bceee-97e6-0a2a45090019-d155802ff179-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 14:34:54 +0200
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-490b64c8311so12406005e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 05:34: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-4924944fbbdsm410568895e9.12.2026.06.24.05.34.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 05:34: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782304493; x=1782909293; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=oI44SlcQ6CmX6PsRPp0EIuybhJJHAKARuyyTAwtF36g=;
        b=d6t0bzV0whNHOZZPxjcvhjqj7jWXJXmo96QZi7lkEExNQ+T5JYurVnc3MO1RDuy+o2
         mGKebaIKSLw/BUfso6/QmxKdFBv+bWGjcvVyfE1fzp9zxkc2P17NnJ0pCGr+NIRuMisd
         ncsQW3UlXaEgq2CBlGd6BJesalY2BRUiGJAJoBMwwGlpJozLeO9/fcoe4HhzQpKUA6pY
         IZHBm+73U9AGmseUjoRPMGa1ZySp072TU3IYASA0Tj6boTuv2QprLa7cvg7AijHLDZ9C
         GbvssGWEwkwJUDrSfo+hVc/G2EimZIxF7unlWdASNLfzKp5jNyoBZUhS4KYlirGNSpXD
         p+Rg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782304493; x=1782909293;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=oI44SlcQ6CmX6PsRPp0EIuybhJJHAKARuyyTAwtF36g=;
        b=nw78TaBJWZ6rZvYcZZOjb8J6mTzD5BzzI5AJ+DF+3JcKGDr7R+DLun/LodqFCHp6uQ
         yijw41m2KNz3/NOx5Ud3leIycd0mb9BR7dR83+UEgyW9dUUFx25v7w3X9R7zXoTwnTTL
         zG4okv5ebgomjktLFDtb9TOK2tD+OgDwKFw9JZElJLEBZT8JRGZpWhqQkmnG1trHId0Q
         BGJJb4mmDITwNUMhH4NJyi+OBMbN96LmD1iwh9saxfwlwBPkjrIUuIKyakgu9Va6Bm6M
         HREV8Ggp0oahKtOk3/Bv60ITpI4SVDOJPpX1ULc4PiDdoOKB1cXfEx/GpzBJoSOy+n4+
         qgmQ==
X-Forwarded-Encrypted: i=1; AFNElJ8+IFMvJcHEMh+vxUoeAuSRAUGBPsIo/IhrkevHC+34ClcD4dpvm5DuQA9EZRqPQd4TEjA77X8jOBk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzNxm2r9ZKAJs8nAddSYHsEVP77qQp3ZzshPNpjpUxpUFoYsQSq
	IJbOf8hWQ+WCGfpJ4JWV/LZtZe1NipGWBP4+1/1I5/xdliLzv39e4B6+G4Lf0MugSg==
X-Gm-Gg: AfdE7cnT7nYEqTSZ9t1jb5dbaPfRt6rtuQuQWfdHfivtIFYoRe/Y8KKK/Wb7JDKXTnh
	nsCqMCqPuF3ionICSOcbQy4JNYHp1OCXX2+B821E2z6s9N0y5Lxc/oEBoB2Tkt7sJ14aLmsQ5D7
	yYdxpt5lkPT2ArRjyKZHm7hBROXdAR3wgaYjEJNHEhXX9kA7LnWRxoICiE3WiGbKVGlICBLPXGR
	oU6SXbZqzBpLGYvRrmwXR2icUqviM7KMbGvctEn49j0Oh4PfHlk2WKAuAub/xMk2b4k1dKeoahT
	NlwXWGaGMUO/tNg+ksk+MPRx9eTdgPDcF2GNZJfjmihgfvOCkS/h+LeNCAdxhuIVM70kWS5grk8
	IW+RKzyJbVTKu/LrweZttlil/4OMogSAVsnaFFMyNm1dIgLYnOLl1dXcDsz82huLg3IwYwH+deB
	TOFVHybeefKkXi+mEFha4Pvp60RLQpQDpzkU70pJ068JY1L18Ku27YRGhmsuvzH3R9It7TTACK/
	TFP9D+c6P4Qw3U=
X-Received: by 2002:a05:600d:6452:10b0:492:37a5:422d with SMTP id 5b1f17b1804b1-49260840116mr36232425e9.7.1782304493628;
        Wed, 24 Jun 2026 05:34:53 -0700 (PDT)
Message-ID: <d7b428e6-4528-42a7-8c3b-3f6986329e7a@suse.com>
Date: Wed, 24 Jun 2026 14:34:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/2] xen: introduce CONFIG_HAS_SHARED_INFO for archs
 without a shared page
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>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1780494838.git.oleksii.kurochko@gmail.com>
 <7ed7b888e203b7cc6c3a3a82b3bcc89d90b3fb48.1780494838.git.oleksii.kurochko@gmail.com>
 <d63a3877-286a-43fe-97fa-301985c3a0ac@suse.com>
 <5ca82079-4f94-4f2c-87ea-0ba54236ff72@gmail.com>
 <f561a2ad-83aa-4692-9e96-148e688c806b@suse.com>
 <f41b600c-04a3-4ff8-adfd-f101c18f853b@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: <f41b600c-04a3-4ff8-adfd-f101c18f853b@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1782304494-46B3B986-9758DCE8/0/0
X-purgate-type: clean
X-purgate-size: 4033

On 24.06.2026 10:50, Oleksii Kurochko wrote:
> 
> 
> On 6/17/26 4:24 PM, Jan Beulich wrote:
>> On 17.06.2026 16:02, Oleksii Kurochko wrote:
>>> On 6/17/26 3:26 PM, Jan Beulich wrote:
>>>> On 03.06.2026 16:25, Oleksii Kurochko wrote:
>>>>> --- a/xen/common/domain.c
>>>>> +++ b/xen/common/domain.c
>>>>> @@ -320,9 +320,9 @@ void vcpu_info_reset(struct vcpu *v)
>>>>>        struct domain *d = v->domain;
>>>>>    
>>>>>        v->vcpu_info_area.map =
>>>>> -        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS)
>>>>> -         ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>>>>> -         : &dummy_vcpu_info);
>>>>> +        IS_ENABLED(CONFIG_HAS_SHARED_INFO) && v->vcpu_id < XEN_LEGACY_MAX_VCPUS
>>>>> +        ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
>>>>> +        : &dummy_vcpu_info;
>>>>>    }
>>>>
>>>> While the change here is likely okay, it points at possible further omissions.
>>>> You've dealt with all uses of shared_info(), but you've left alone all uses of
>>>> vcpu_info() (and __vcpu_info()). Reads are presumably okay, but writes to
>>>> dummy_vcpu_info open a side channel for possible info leaks. Looking over uses
>>>> in common code, no code changes may be needed; extending the description may
>>>> be all that's wanted here.
>>>
>>> Isn't there already a side channel that could allow leaks, even without
>>> this change?
>>
>> There are multiple aspects here. First, for PV secondary vCPU-s cannot be
>> launched when their vcpu-info still points at dummy_vcpu_info. HVM vCPU-s
>> make very limited use of vcpu-info fields. Writes look to be limited to
>> the evtchn_upcall_{mask,pending} fields, which isn't really an info leak.
>>
>> My main point here is: None of this goes without making clear that the
>> necessary auditing was properly done.
>>
>>> The change here just made it worsen because now info leak
>>> will happen for all vCPUs when  CONFIG_HAS_SHARED_INFO=n.
>>>
>>> I will add to the description the following:
>>> ```
>>> With CONFIG_HAS_SHARED_INFO=n all vCPUs fall back to the global
>>> dummy_vcpu_info, so writes through vcpu_info() could leak data between
>>> vCPUs.  Reviewing the write paths in common code: the write in
>>> map_guest_area() stores the constant ~0 so nothing serious will happen
>>> if it will be leaked; the event_2l.c paths are unreachable because the
>>> preceding shared_info() call would trap first; the write in
>>> vcpu_info_populate() targets the new mapping buffer, not
>>> dummy_vcpu_info; all remaining writes are x86 PV-specific for which
>>> CONFIG_HAS_SHARED_INFO=y.  No code changes are needed.
>>> ```
>>
>> As you start with "common code", how come the "x86 PV-specific" part is
>> still there (i.e. relevant)? Isn't all PV stuff in x86-specific code?
> 
> Good point. The "x86 PV-specific" part is not part of the review of 
> common code. I mentioned it separately to complete the audit of all 
> write paths reachable through vcpu_info(). The intent was:
> 
> * the writes discussed before the semicolon are the common-code paths;
> * the writes after the semicolon are outside common code and are x86 
> PV-specific, where CONFIG_HAS_SHARED_INFO=y anyway.
> 
> To avoid the ambiguity, I can reword the sentence to make that 
> separation explicit:
> ```
> With CONFIG_HAS_SHARED_INFO=n all vCPUs fall back to the global
> dummy_vcpu_info, so writes through vcpu_info() could leak data between
> vCPUs. Reviewing the write paths in common code: the write in
> map_guest_area() stores the constant ~0 so nothing serious would happen
> if it were leaked; the event_2l.c paths are unreachable because the
> preceding shared_info() call would trap first; the write in
> vcpu_info_populate() targets the new mapping buffer, not
> dummy_vcpu_info.
> 
> Outside common code, the remaining writes are x86 PV-specific, for which
> CONFIG_HAS_SHARED_INFO=y. No code changes are needed.
> ```
> 
> Would that wording work for you?

I think so, yes.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 12:40:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 12:40:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344885.1603901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcMtw-00071X-TY; Wed, 24 Jun 2026 12:40:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344885.1603901; Wed, 24 Jun 2026 12:40: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 1wcMtw-00071Q-QI; Wed, 24 Jun 2026 12:40:20 +0000
Received: by outflank-mailman (input) for mailman id 1344885;
 Wed, 24 Jun 2026 12:40:19 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcMtv-00071K-QH
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 12:40:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcMtv-00FeOJ-3U
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 14:40:19 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bd032-5cb7-0a2a0a5109dd-0a2a45078cb0-20
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 14:40:18 +0200
Received: from [209.85.221.43] (helo=mail-wr1-f43.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bd032-9c8e-0a2a45070019-d155dd2be8aa-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 14:40:18 +0200
Received: by mail-wr1-f43.google.com with SMTP id
 ffacd0b85a97d-4629051c9d1so657472f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 05:40: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-46c221d9371sm6690024f8f.21.2026.06.24.05.40.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782304818; x=1782909618; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=DP8GIjgr3aGRZN5nVUccQ6GUWDqVASxyCQqjsgLsDuU=;
        b=BntbvVnitqls/62yXw6WmUBy6PDGs9VPHtUiaUMTLCQ+J+ACeTi2Hpp84naXWj3BGD
         7fCF1E2JKQQpB/vCi2BKaHHZbfyh9U0OA1LDdwHiNHgcwSoeJ7oaMwxhjPCHm8JeBWnY
         QflWzQGMw6QtiOkldHsvJS5bmISQWm4mP1Wp1InPFBqE6HVlXoBPRfNRAJk2Gz8O6qCj
         f2ZFjFLXr2uNN/AGb4giIvpJ/nFTTWLBXY1HKa++c9FsnJm1s7EdcLv/PA9qG5ChlqYE
         pBUfUC9AuTubknVKJDAW47PyURypYLFj74nqGnPB9tLX1yG8sy5mYyUWNzvSQ9B0BmFq
         s0qw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782304818; x=1782909618;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DP8GIjgr3aGRZN5nVUccQ6GUWDqVASxyCQqjsgLsDuU=;
        b=QBljSTQyN6sKVt14zoXpq3rMz6wLg6lV5oAa9RdPh0PA9bgYnqrA1j7dCrtw84GSk7
         +Oz18ycFcwN4H8qeD6GJUEyGeo6n0lbNu4bDdW32d1lj9R2zQvzf0/0LSQi/8ar6Zvyp
         txY5Mzakv3pzDySY9gp0mNliZJtw0mV0b+nmt9QbCLdKBS8iZxNsylSmvGTLLuuRbtg3
         uAFybePaRbLst6u2lnJV8LqZSCzRX9YmLMGvb8tX30MmCc27JJDe6DPLBt28MjRD63XG
         +roscs2aABi1xJ95HPDqdIJoKsdTeh42Sbqls2O0ewJbMpucZEurLcYI4uySxjWV1joO
         QU6A==
X-Forwarded-Encrypted: i=1; AHgh+RoHQig8Mj1OVjLpGMMjK+JUXwZ3zYZWl7IY2Ny7qUgEq8uH1onC1w+IndPW/M4gvp3ewOeeYTE1O1M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwSehVorm1XuzL3VjVuwF1xIE5yycngdvfBGNVnDDBWZXaHXTeo
	CUXYOW0RyVCMHsohCFpZ6EnUHj1pRrALDAo4vjImynTGdss86rU09LhsI26GdQwaPQ==
X-Gm-Gg: AfdE7cmwMBBaZiW4qhqOqFMJo4JKlih+hhGYJVrNnMBcI5Xls69BWdgH/oXkYvkHiFH
	bAa3i7AzDkrytBdFlp3GZL0P8z6SrqLMV7jDfRm8ZoL+GHOC+/xm+aebKIzIZdMiFFXunDWuKnh
	ecK68ymdl1/xH27mthNDQXHNeX7HwD5kS2e7RL7QkjW9f2P38L+gNvf+7M4+U92QKIEqMViWpU5
	uFfBYiXzcawaTpAnD9TGfmPHdwP1AE+f4oQSPHDXUA3Gcs6TpVHF/v54TRryw35ofypADkD6a/o
	uKhzQgmqqz0I8nFdRQthCBT3s+KlVSWPqLD7YUKrj2mxdr+1JTc5f8CI28GdFZIgljm9otlnSr4
	Am5ErNriN7Xh/+WqjRHZxZ9kf9V+7cUG1i0NDnpXQ76f4Y/IujJLBv3p62J1oteAWLZVaMRtL9d
	eVWytkCCgqcgRl3eWqoMlwTmtNHQCZN2rTH/RjgdVDdW9isLeV9/xF9FQE6cxi1cH//bW06ObSs
	gX/
X-Received: by 2002:a05:6000:4007:b0:452:8286:86bf with SMTP id ffacd0b85a97d-46c09ec8318mr5133923f8f.1.1782304818363;
        Wed, 24 Jun 2026 05:40:18 -0700 (PDT)
Message-ID: <f649bec4-c603-4ad0-8269-33a9c9d2d8fa@suse.com>
Date: Wed, 24 Jun 2026 14:40:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 06/23] xen/riscv: introduce guest riscv,isa string
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <3fb06376e057fa99b0df78e97761b8cff56ca9eb.1781693963.git.oleksii.kurochko@gmail.com>
 <aa19d6b0-9407-423b-a786-a43a72b50df5@suse.com>
 <29fbbfe2-579c-4506-96d8-930c03a65c61@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: <29fbbfe2-579c-4506-96d8-930c03a65c61@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ef75cf/1782304818-FFD3425E-9F1128D1/0/0
X-purgate-type: clean
X-purgate-size: 1914

On 24.06.2026 12:43, Oleksii Kurochko wrote:
> 
> 
> On 6/22/26 4:09 PM, Jan Beulich wrote:
>> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>>> Introduce generation of the riscv,isa string passed to the guest via the
>>> Device Tree riscv,isa property.
>>>
>>> Introduce the per-domain isa string and guest isa bitmap, populated
>>> during domain creation by calling init_guest_isa().
>>>
>>> Introduce guest_unsupp to filter out ISA extensions that should not be
>>> exposed to guests:
>>>
>>> - f/d/q/v: FPU and vector context save/restore are not yet implemented
>>>    for guests.
>>
>> I may have asked before - what about Zfinx, Zdinx (and the supposed Zqinx)?
>> They aren't in riscv_isa_ext[], yes, but perhaps wrongly so? And hence they
>> may want at least mentioning?
> 
> They are not supported by Xen so they aren't in riscv_isa_ext so it 
> looks fine for me.
> 
> They are not in guest_unsupp as they aren't present in riscv_isa_ext and 
> so it won't be propagated to guest anyway because of:
>    +    bitmap_andnot(d->arch.isa, riscv_isa, guest_unsupp,
>    +                  RISCV_ISA_EXT_MAX);
> 
> While it isn't in riscv_isa_ext[] I think it is fine not to add them to 
> guest_unsupp, so I will add to the commit message that:
> ```
> - Zfinx, Zdinx and Zqinx are not implemented for guests either; as they 
> are not present in the riscv_isa_ext[] array, they can never be set in 
> riscv_isa and thus are never exposed to a guest, so there is no need to 
> list them explicitly in guest_unsupp.
> ```
> 
> I think it is fine for now but probably it will need to be reworked in 
> future.

Especially as long as F/D/Q aren't supported by Xen, I would consider it
pretty desirable to allow the (cheaper to implement on the Xen side) Z*inx.
Provided of course there's actual hardware offering any of Z*inx in place
of F/D (not so much Q).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 12:47:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 12:47:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344896.1603911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcN0l-0007ae-LO; Wed, 24 Jun 2026 12:47:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344896.1603911; Wed, 24 Jun 2026 12:47: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 1wcN0l-0007aX-HV; Wed, 24 Jun 2026 12:47:23 +0000
Received: by outflank-mailman (input) for mailman id 1344896;
 Wed, 24 Jun 2026 12:47:22 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcN0k-0007aR-A9
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 12:47:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcN0j-0051Us-FZ
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 14:47:21 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bd1cd-bab6-0a2a0a5309dd-0a2a4506e878-34
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 14:47:21 +0200
Received: from [209.85.221.42] (helo=mail-wr1-f42.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bd1d9-08de-0a2a45060019-d155dd2ae5e7-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 14:47:21 +0200
Received: by mail-wr1-f42.google.com with SMTP id
 ffacd0b85a97d-46066e640easo673338f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 05:47:21 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-46c221d9405sm7454956f8f.22.2026.06.24.05.47.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782305241; x=1782910041; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=n7Hx7LfGNdYKCuhuZ8Gd8mOVrC3DxHk5SbmvZbiO5Ls=;
        b=UdMcjrZOAx9HbjWdZAYhVNi755kMatH6zPSDxdOr7KUV9ZtM1nq0f+8Sx6bi3QleLC
         3lLvPriaUYhsT3SYJQ6thuoGGzxrNFSxmiaU0CVrMe4BHNuSpBtsnRv41c1+W/MazfPL
         lpSMuCaMjxRV+pd5qxJZFbm0OunopVehjpZELm+SaxhYglnxy4CUQt9EspESdgEk8iXL
         Ia9TCA4FtanuAfYGJRaUtYDklyE/n2qHQe3aS1f48F1RnSOz0zR7tGPOu7/QhvGW+gjD
         2wnPG43lL0EcpbATp7IleC6S9ZxWC2Gto1n5bfUklWgSTXqDAMkujK8VePgv6ef84ENd
         Wr9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782305241; x=1782910041;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=n7Hx7LfGNdYKCuhuZ8Gd8mOVrC3DxHk5SbmvZbiO5Ls=;
        b=WCJvVYUwezsnWBAjAsu4RkA3TNCkfa9Ldl5VmwyMvQPTFc5T+OjAeOh6lNLvKyVYq9
         ZTrcIHoJOi5WdGhHUy96kF4HbvXSW3ibsIKquNfdhnYO7BtKr+ZYjnsixRtRailsz3X0
         ECdlKC0LQeVOo5/kJ7WwQsIB/P8xCONLfIyOJTZ5EBk1cTiIVBf6jmb97WIVIaf+Cifk
         bGmsVWKSsmvaZ3WSyD9fHkA0LC4W6UEE/qabM84DDUdNiVTFrBX9H3p9cejtQ+fXUYMv
         MJuWwHul8WiAZCFrpYQ2+f3KScTi64VkBsrf5RbOdDeA7usyS6zU9HOyY9A4vn3avE0A
         fGVw==
X-Forwarded-Encrypted: i=1; AHgh+RqGbKs35FSvuzIODuAYJ95IpemdC8thNP5mCg1CLqxwCHKIUZJVapdnekKkHwTtbJ3YwqdsVS3mpIo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzw21LE7ooW+LbzxjGD+ftjLdaDQgFGDgF3oVQBfeHQzEqDVDaf
	GkrQArHQ8BDSM0U6bqIZKjzV0E4S0RqYic/iv/sl7gcT6LrVTC7Ofb2MywDbWwKONw==
X-Gm-Gg: AfdE7cmq20pLRUGRIw6LT3ive6pMpoTtaFpQ6z5OLIv+WYjTSlhFwVklm9So8rtAOCY
	eCKRwI0VkhSzOTPV1Z0GoYxsLR64zmBIhd8INSY4m758RtsDA8rfZppgxzElUBQEgrOKrcCGwgW
	MnU3P/fqt8tY1B5VL3Q1Nemz53BIBN99JRJicHNHtX2FR3CKapdsuA9xzimYdDwV8iB/pm0gwdr
	r9XUBui03Fjho3PCJ3Up5L6vECZ3PXdB52zJtEJZqExXZmKgb6vWBUKG0ayVjlZPZ5NPYu8sXiI
	9JqhPtXwGXP4duuJqCt8LahtKTljhG3Ljkn2mDEkVxcjMmK5j9byN9VmrsaXCVVkELAygX3W1EZ
	Rr6KDV2TIVDtL3gS51nrXrBCG1gX3t12yokTnecC6qrsnN8GdjI3NdRqbGgzUB2xtfKomJfoccZ
	Pl5hbw63kck5cR4bzBPPGquHmS01tmB1dS+x0hlOqVkh3gq0Dd20hR0XrkRZthqfZz2jU4kSO5D
	sGU
X-Received: by 2002:a5d:64cd:0:b0:46a:bda2:9255 with SMTP id ffacd0b85a97d-46c0ab3cac5mr5114333f8f.19.1782305240890;
        Wed, 24 Jun 2026 05:47:20 -0700 (PDT)
Message-ID: <ddf8c897-1a13-4d25-98ca-331c54913af3@suse.com>
Date: Wed, 24 Jun 2026 14:47:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 10/23] xen/riscv: introduce init interrupt controller
 operations
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <da217bc51799d46666a740f38e00efc6de554ffc.1781693963.git.oleksii.kurochko@gmail.com>
 <1bb1a400-ed4f-470e-8f20-779d2c09c03d@suse.com>
 <81b60619-28f7-42e9-a6c6-be9016fe5918@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: <81b60619-28f7-42e9-a6c6-be9016fe5918@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1782305241-4372868D-BF01E9E5/0/0
X-purgate-type: clean
X-purgate-size: 1801

On 24.06.2026 13:34, Oleksii Kurochko wrote:
> On 6/22/26 4:30 PM, Jan Beulich wrote:
>> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>> Strictly speaking ...
>>
>>> --- a/xen/arch/riscv/aplic.c
>>> +++ b/xen/arch/riscv/aplic.c
>>> @@ -306,12 +306,16 @@ static const hw_irq_controller aplic_xen_irq_type = {
>>>   
>>>   static const struct intc_hw_operations aplic_ops = {
>>>       .info                = &aplic_info,
>>> -    .init                = aplic_init,
>>>       .host_irq_type       = &aplic_xen_irq_type,
>>>       .handle_interrupt    = aplic_handle_interrupt,
>>>       .set_irq_type        = aplic_set_irq_type,
>>>   };
>>>   
>>> +static const struct intc_hw_init_ops __initconst aplic_init_ops = {
>>
>> ... I think this needs to use __initconstrel, as ...
>>
>>> +    .ops                 = &aplic_ops,
>>> +    .init                = aplic_init,
>>> +};
>>
>> ... both initialized fields incur a relocation.
> 
> Isnâ€™t it needed only when `aplic_init_ops.{ops,init}` is saved in a 
> variable that doesnâ€™t belong to the `.init` section, so that a potential 
> dereference of already freed memory could occur?

No, that's no different between __init{data,const,constrel}. The issue here
is that at least in PIC mode const global variables with initializers will
go into .data.rel.ro (or alike), not .rodata. That's because this section
should be writable, yet there shouldn't be writable contributions to
.rodata.

Since __initconst{,rel} include section placement, the former of the two
(.init.rodata) should end up r/o, while the latter of the two
(.init.rodata.rel) should again be r/w. Mismatched contributions would
screw up the attributes, and assemblers in the past did (and legitimately
may) warn about such mismatches.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 13:04:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 13:04:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344910.1603919 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcNHX-0002A4-5J; Wed, 24 Jun 2026 13:04:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344910.1603919; Wed, 24 Jun 2026 13: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 1wcNHX-00029x-2B; Wed, 24 Jun 2026 13:04:43 +0000
Received: by outflank-mailman (input) for mailman id 1344910;
 Wed, 24 Jun 2026 13:04:41 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcNHV-00029r-Cq
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 13:04:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcNHU-00HEmg-8v
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 15:04:40 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bd5d0-e002-0a2a0a5209dd-0a2a45098cda-40
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 15:04:40 +0200
Received: from [209.85.221.52] (helo=mail-wr1-f52.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bd5e7-97e6-0a2a45090019-d155dd34a8b0-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 15:04:39 +0200
Received: by mail-wr1-f52.google.com with SMTP id
 ffacd0b85a97d-4631679f204so1095403f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 06:04: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-46c1b754471sm6587146f8f.0.2026.06.24.06.04.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 06:04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Cc:Content-Language:References:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782306279; x=1782911079; 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=LgtZI3zesLmUcubosSfuQCw+aD87igB0phXmrcauwDI=;
        b=fHZX+P5URuCViV23UQirnXZkbatwhN9L68o/ALeFmhtfXiK9ZPx0zoo4LFowK4XUeZ
         +3My7xOd70DGxYY4iIKx+mWuKCVehS76zQpdVWZHWsQL4W1M/mt2cacV9wyqVjgQm3yI
         Sm+2vgll9xwoP3PNhlB4Mdd2d3vzYgBW+f1sfPvGFBO7mtxhh3ITjn+A6hF9+jEQSg1j
         29Fvk9E8vM0Twcb0dcXfb3xVaZN770420t84pT4gMKiCjEBGBMZNYsBNDiRhKsduFA/Z
         SDRXqqMS+wkIah+y8GIQ2/lsE3MKnk0s9IyF0pDGp9iqXjrnMwgp9RZPj/a2emdR3zbW
         HWmg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782306279; x=1782911079;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LgtZI3zesLmUcubosSfuQCw+aD87igB0phXmrcauwDI=;
        b=bipUoHWO+CaiQh3Je5SZajd7LEwvqXF1oqdfIuUIaZ20jOA2/rStXiQXgG4111V4wN
         NCO8LnO803tlEi5n3k1CXSjByey0JKHnk4T67TW0KjzJf4iMbxvjMOCkVJZIL/AhT1Rx
         RMri0AXi/mcU/Bg5gkoFmThwVeY8iajgMfgv23kazLWU62f1P1cgkas6Xcae/rtjKHdT
         93p6m33wSBWJuyFE2myaRnBKFO2S2iY8DY5EejfCwZmYPSvr+e/Du2/CeB6WeB6D4kg/
         eaZxjWBKsbKpOq0ChNkLqpIgoS2/iF6ijaPdCUw6paee+u78o+WA24FV38NTRURyjfPv
         dK4w==
X-Gm-Message-State: AOJu0YwFRgQn+pcVWd9BqJY0ViBKRcAeRwX54mLfRBHPMSnGoda+kl3B
	3XuCbe3bMQpPod/+3+FHLY4FesGGDw+ssQdBjSu/PcGaXmha/sscp6ESr5fYDr5Npreau28nwqX
	gKHnK9Q==
X-Gm-Gg: AfdE7cnOmEaGfWF/ree0iN8A+ofLUZ4UsioZYNUOpZMqe2gjedf4cX6YndEG/ZIsktC
	B9TIkS1l24eOMSCT8kM6vv2HRRCrFp/G6nWa4Zr3MailTvI8x+ZBlwrKPJ696pgVrGHO7wS1sMT
	RE1xjqSW6+NhhE33MuX7DixsXxU4SjvDqN7Q5hkSDQF6JCPRgJsiV/vFyqCF9y6a4pIK5FLFCoF
	ZIsKfZPnZgeR6MBhIMu6pd7kjXYg8TOLWZ7vLMnDLgmmsMBzi2tbovmts7qP1oEGXUc0PXZZtT8
	ijA48G6Jj6NtgUQvvam8wtNeg7dupXUSYEZ483k/uqmFduXkFKCg3May/tphO0Uyp0ai/Vbgjik
	r23feIDjQokNgZNz8ctNaYyQOxv3o+xl/wEEs07eH9IKCHLZmpkrenILmbDrNMUJj3031sump2+
	aZRLdy+fI1VJ02WwKFbCfzKpfjCRbQ8lS2OFYCDWnYbhP2eWWCJNiRIYl4EdoxdRGDaEr867lfT
	Ccl
X-Received: by 2002:a05:6000:2488:b0:464:c5be:37fe with SMTP id ffacd0b85a97d-46d04d45829mr498719f8f.15.1782306279388;
        Wed, 24 Jun 2026 06:04:39 -0700 (PDT)
Message-ID: <ee48e27a-049f-43b9-87dd-c9188db26f30@suse.com>
Date: Wed, 24 Jun 2026 15:04:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: New Defects reported by Coverity Scan for XenProject
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6a3bce99e5494_767442bc3001679a440720@prd-scan-dashboard-0.mail>
Content-Language: en-US
Cc: Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.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: <6a3bce99e5494_767442bc3001679a440720@prd-scan-dashboard-0.mail>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1782306279-56FA9986-EBAE9BB1/0/0
X-purgate-type: clean
X-purgate-size: 1375

On 24.06.2026 14:33, scan-admin@coverity.com wrote:
> ** CID 1695359:       Insecure data handling  (INTEGER_OVERFLOW)
> /tools/xenstored/domain.c: 601           in domain_tree_remove_sub()
> 
> 
> _____________________________________________________________________________________________
> *** CID 1695359:         Insecure data handling  (INTEGER_OVERFLOW)
> /tools/xenstored/domain.c: 601             in domain_tree_remove_sub()
> 595     		node_changed = true;
> 596     	}
> 597     
> 598     	for (i = 1; i < node->hdr.num_perms; i++) {
> 599     		if (node->perms[i].id != domain->domid)
> 600     			continue;
>>>>     CID 1695359:         Insecure data handling  (INTEGER_OVERFLOW)
>>>>     "8UL * (node->hdr.num_perms - i - 1U)", which might have underflowed, is passed to "memmove(node->perms + i, node->perms + i + 1, 8UL * (node->hdr.num_perms - i - 1U))". [Note: The source code implementation of the function has been overridden by a builtin model.]
> 601     		memmove(node->perms + i, node->perms + i + 1,
> 602     			sizeof(*node->perms) * (node->hdr.num_perms - i - 1));

I'm struggling with this one: As i < node->hdr.num_perms, the last argument
passed to memmove() can be 0, but I can't see potential for underflow.

Jan

> 603     		node->hdr.num_perms--;
> 604     		i--;
> 605     		node_changed = true;
> 606     	}


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 13:12:57 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 13:12:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344921.1603929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcNPQ-0003vC-TZ; Wed, 24 Jun 2026 13:12:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344921.1603929; Wed, 24 Jun 2026 13: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 1wcNPQ-0003v5-Q2; Wed, 24 Jun 2026 13:12:52 +0000
Received: by outflank-mailman (input) for mailman id 1344921;
 Wed, 24 Jun 2026 13:12:52 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcNPQ-0003uy-9z
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 13:12:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcNPP-000NxJ-MZ
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 15:12:51 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bd7cc-5cb7-0a2a0a5109dd-0a2a450b883a-30
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 15:12:51 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bd7d3-ac48-0a2a450b0019-d1558032b1aa-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 15:12:51 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-490b613a17bso9831105e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 06:12: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-46c221d9371sm6881900f8f.21.2026.06.24.06.12.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Cc:Content-Language:References:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782306771; x=1782911571; 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=D290iCblh7YNU8g2/RcQq56rbMtF1Go5W+L/3TQn6yM=;
        b=EXdw2zQT2etAKJ56950ZP43b0tA87PIQse96B6kPcJo3iMjzASs8WRAhQECd+zMmBC
         rP6qMsG/uhzs1XHCfmOupr1c4Wqe3o9vpEm9KvKSUs43WhA1W0HhLZv4mW4KiyTJQF/7
         pDe3r+p+X38Gwyf6S4N0RXTN/13obzN1RIR/uoSOPtaJ22Z5SwERCqu007d4ZrAqwTPr
         G38+uMSa/6y3X/SDC8Lv7CZobUC0fkti9ozmvP5spgyzRJ5s4EwUctHLbVuOBEP1mAlK
         nsOjgpDM81M1nzHTEX8GNRMKrbGWehk4/VY1+XoOKg8Epf+v5ZsfDIuBKYI8S0mObvNr
         tgdg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782306771; x=1782911571;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=D290iCblh7YNU8g2/RcQq56rbMtF1Go5W+L/3TQn6yM=;
        b=It47w7vtqc0sq59x27wyw/Ln8SlbZmSWTDuBaGMUqPSj+9IvMFXWUYI9HgvLbj5tAp
         8v5PlKtTRO2nUGT+vKdLSLHIospjgBIXuehwyFhnQISH8vpZQNIifcHdifHGOBLAYn1B
         +X7GDNrkZbSoEHZVYZq9itXOpG/+cYsa9VhE9xoptLsyA79OOBeyJql+sZjiHHnme9fG
         NtcJCdk0IqodkAkdHzBUn1FzMK1pERtyTwCP22cOpIBh9C/AZOnKj9l1H6yPv08Eq+Vc
         4OdJEwwRJ0ZOC7kZlMkp2L5K3isp5KR33ZUYukBCHYyetrN9S/vhyDkLu2U12R4FSThU
         UheA==
X-Gm-Message-State: AOJu0YyLqgj+hJd/8BY9P5+bnQvWjEL0UfwkxvM9i4sA9swHW0T5/WZC
	RGDq8rLLnmreymdWSFyCqjU9A/RCxFQlDsdOUhPioHTIzKv281joNAwwGz99OjqlgKUsgZLr+63
	lTwp7gg==
X-Gm-Gg: AfdE7cl5jAkY5Qo9JHwfwJSBbbBcPM2GAQjFyEsm1Rsyv3UR3oaQi4p7CIuGH/pDhJR
	kfUyq8jd09lW7hpATyPRaSzy5NXRrBooBgCwN/3sMAC8K4N+K0pw6rC//Ya56sb2bJ/PmiPMg7+
	D0r8S3yYW0oPuAftMyRxX5RS0+S5EE7DuKaNBVA6gS8H6QUL/M7m75blGzHkrev3sm2Rth/XClY
	ErK43SkNE9L3g0gnM/iFUbAkoc3OZw+xrTTVkrH8Yml8Ra0v2JsBhe6EOOCF820h9wiZzBwphJg
	CcR1n3zMCQihPvRsQZFtCJmDsk4u09ghOYMB0BgBaBDY9o/s/NH/OlnmWqNcUGP/MYTGRch8523
	jM0vAvsdi8440XbZKxJbZtWMj1dYZBIigEtR8dFTYOoYgOQVlTxYj2fv5n+yXDisK2bAqFZ9EsT
	2hR8Kl6BbrE/YuyFnmAn5QTOuSHLO6f2kbKLATWbGmorA0MBr85i6XZIJ7pt2SblOozJ+n6C02v
	Tdx
X-Received: by 2002:a05:600c:c490:b0:490:ce99:d2ee with SMTP id 5b1f17b1804b1-4924908f4bfmr302321095e9.15.1782306770919;
        Wed, 24 Jun 2026 06:12:50 -0700 (PDT)
Message-ID: <0f71d767-16a7-4518-a692-ea9b8d482e3d@suse.com>
Date: Wed, 24 Jun 2026 15:12:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: New Defects reported by Coverity Scan for XenProject
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6a3bce99e5494_767442bc3001679a440720@prd-scan-dashboard-0.mail>
Content-Language: en-US
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>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <6a3bce99e5494_767442bc3001679a440720@prd-scan-dashboard-0.mail>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1782306771-A653B220-5DAE36D7/0/0
X-purgate-type: clean
X-purgate-size: 1402

On 24.06.2026 14:33, scan-admin@coverity.com wrote:
> ** CID 1695360:       Integer handling issues  (BAD_SHIFT)
> /xen/common/numa.c: 483           in extract_lsb_from_nodes()
> 
> 
> _____________________________________________________________________________________________
> *** CID 1695360:         Integer handling issues  (BAD_SHIFT)
> /xen/common/numa.c: 483             in extract_lsb_from_nodes()
> 477     
> 478         if ( nodes_used <= 1 )
> 479             i = min(PADDR_BITS, BITS_PER_LONG - 1);
> 480         else
> 481             i = find_first_bit(&bitfield, sizeof(unsigned long) * 8);
> 482     
>>>>     CID 1695360:         Integer handling issues  (BAD_SHIFT)
>>>>     In expression "memtop - 1UL >> i", right shifting by more than 63 bits has undefined behavior.  The shift amount, "i", is 64.
> 483         memnodemapsize = ((memtop - 1) >> i) + 1;
> 484     
> 485         return i;
> 486     }

Without contextual knowledge I think the complaint is reasonable. However,
for nodes_used to be greater than 1, we will need to have ORed spdx into
bitfield on an iteration later than the 1st one. Yet only on the 1st
iteration can spdx be 0 (or, if nodes[] wasn't sorted, only on one of the
at least two involved iterations). Hence bitfield isn't going to be 0, and
thus find_first_bit() is going to return a value lower than BITS_PER_LONG.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 13:15:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 13:15:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344904.1603942 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcNRe-0004SV-G1; Wed, 24 Jun 2026 13:15:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344904.1603942; Wed, 24 Jun 2026 13:15: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 1wcNRe-0004SB-B5; Wed, 24 Jun 2026 13:15:10 +0000
Received: by outflank-mailman (input) for mailman id 1344904;
 Wed, 24 Jun 2026 12:49:03 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <alhouseenyousef@gmail.com>) id 1wcN2N-0008Er-Pb
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 12:49:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcN2N-000Iyg-6b
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 14:49:03 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <alhouseenyousef@gmail.com>)
 id 6a3bd22d-2eae-0a2a0a5409dd-0a2a4503acea-40
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 14:49:03 +0200
Received: from [209.85.221.46] (helo=mail-wr1-f46.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <alhouseenyousef@gmail.com>)
 id 6a3bd23f-ec1a-0a2a45030019-d155dd2ed15f-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 14:49:03 +0200
Received: by mail-wr1-f46.google.com with SMTP id
 ffacd0b85a97d-46019b190b6so847974f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 05:49:03 -0700 (PDT)
Received: from Dev-Null-MSI ([2a0d:3344:52ac:a808:98a4:4381:be45:536f])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4923fc47720sm797976155e9.0.2026.06.24.05.49.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Jun 2026 05:49:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782305343; x=1782910143; 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=NRKyao/0uQFhpjs6ysB7TR6a5cmOeMKMYRAxzRlp5+I=;
        b=ILPwSCR35ONtiz//F3qqgBBNibhRtsqUA1cwhxJdF24ea26JfrwWawedtfvOOOhgDa
         T8NCReHhrZphdco8lJELEO9Cy2Qr5e4GfW6j3S0iCPFbPlJugJWusi+o7yx6pjkMeij9
         MVOXUziO6lbY1fz5MIIlLIrn2xzfjxC1p7g5We2OTdEjJmFyurLXcj8+l9+DUwojm9GE
         2cyE8PR1MpVGjGKmBs/poEZ2pvZtcFKFgcurLBqzJ8Jn2gRp/DcTe921ROeB5QknVxUn
         I2s8d33lh5gLF1isn4mXpk/0H7TXPDY1s1W5PSq9zx6z8DIPpE6Z22gZV40A0WS+5RNV
         plSQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782305343; x=1782910143;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NRKyao/0uQFhpjs6ysB7TR6a5cmOeMKMYRAxzRlp5+I=;
        b=jqERfM4zamBSZ0iA8H99Us8AxayDfXl8qIWvvN2rRrn0DTfLcEIAXauUtVfpwf+f8k
         VLw0x9HZ12gXmwTZJJcxVKWjfxWs7eigij1poXtSOld05YHueV14MQCJ0kAIXYL25tGr
         I05bTkJ9ULMMtfb0QnbbsICn4Mqe52yyu/PzlrtfHRbYSIMKQPmN+mTidaqgJNx0dnoa
         ayCbiuZMRbsR8aldksvYzxt0LXrmrAmLabaSzbiv6ZJOAykbgk6zTyco5OlOKonFqad7
         d9Fkv3JuydZFk7JqaMhME6Z+OWkHtPCoJ7V0wUL6ex0y49cHnHHM1ZhZ4RMhmpzv/E6G
         xh2A==
X-Gm-Message-State: AOJu0YyUIlQApxBfa+bMAlIGMn5Lj12HtzaGISIYTyKZBI9xDW0r1lGH
	02GOkf7RcfN5QVlZRf+6duwCCMCZgisJNomHSznhQprYulGmj2G8PSmD
X-Gm-Gg: AfdE7cn0tRtH23OPQpXdrLwocoiLDMLKJ2kWVZhDSnvHjupKDSGTTEqTjJEWc5kHQ/X
	Znx9ADh6aoisHRldjTJZo8jl+GWb+w6Euy+gRm4SjhD661wqslwsm3KWbjShQ+2wTboqVg0sS/n
	5jK7FFHvBYB0xDD9IXfKHUoAvIkv3UqPYuheor5IKMq7T2f7zPmd/xyxKseSWx2WDlySdGT/NzC
	UovsBYWYv4kP/Sp2j+6lDktlTsCZYWqKTmlRheBzqecCywxRok+YITZzdkj598NCGakc3SiYHC0
	KjFUMXXsq0+XJGSonb9P8edz/O2Y+r+rj0XNPNHE/Y4qCFqoQfqTQopRmTaeTYaPcjuD53ycDU/
	20kVrruoYb0KdpBFDIqgcPB6cyom6XDEH3h104XWP+BiWG0XvmX8UIWiJa9iiIs6wWYEajFAQ9v
	0IeYGDdyjDdXpcaz4hg/RQgcbvpFp444HOuQ8C
X-Received: by 2002:a05:600c:1d1e:b0:48a:906b:14ca with SMTP id 5b1f17b1804b1-49260873781mr43609065e9.20.1782305342275;
        Wed, 24 Jun 2026 05:49:02 -0700 (PDT)
From: Yousef Alhouseen <alhouseenyousef@gmail.com>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org,
	Yousef Alhouseen <alhouseenyousef@gmail.com>
Subject: [PATCH] xen/gntalloc: validate grant count before allocation
Date: Wed, 24 Jun 2026 14:47:45 +0200
Message-ID: <20260624124745.10073-1-alhouseenyousef@gmail.com>
X-Mailer: git-send-email 2.54.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1782305343-BC9825D1-44CC695F/0/0
X-purgate-type: clean
X-purgate-size: 2178

gntalloc_ioctl_alloc() allocates the grant-id array before checking
whether the requested count can fit within the global grant limit.
Counts above the limit cannot succeed, so reject them before the
user-controlled allocation size reaches kcalloc().

The locked limit check also adds a u32 count to signed global counters.
Rewrite it as a subtraction-based range check so the arithmetic cannot
wrap around the limit.

While there, cast the count before advancing the per-file index so the
page-size multiplication is done in 64-bit arithmetic.

Signed-off-by: Yousef Alhouseen <alhouseenyousef@gmail.com>
---
 drivers/xen/gntalloc.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/gntalloc.c b/drivers/xen/gntalloc.c
index eadedd1e9..ba6a25a09 100644
--- a/drivers/xen/gntalloc.c
+++ b/drivers/xen/gntalloc.c
@@ -272,6 +272,7 @@ static long gntalloc_ioctl_alloc(struct gntalloc_file_private_data *priv,
 	int rc = 0;
 	struct ioctl_gntalloc_alloc_gref op;
 	uint32_t *gref_ids;
+	int limit_snapshot;
 
 	pr_debug("%s: priv %p\n", __func__, priv);
 
@@ -280,6 +281,12 @@ static long gntalloc_ioctl_alloc(struct gntalloc_file_private_data *priv,
 		goto out;
 	}
 
+	limit_snapshot = READ_ONCE(limit);
+	if (limit_snapshot < 0 || op.count > (uint32_t)limit_snapshot) {
+		rc = -ENOSPC;
+		goto out;
+	}
+
 	gref_ids = kcalloc(op.count, sizeof(gref_ids[0]), GFP_KERNEL);
 	if (!gref_ids) {
 		rc = -ENOMEM;
@@ -292,14 +299,16 @@ static long gntalloc_ioctl_alloc(struct gntalloc_file_private_data *priv,
 	 * are about to enforce, removing them here is a good idea.
 	 */
 	do_cleanup();
-	if (gref_size + op.count > limit) {
+	limit_snapshot = READ_ONCE(limit);
+	if (limit_snapshot < 0 || gref_size > limit_snapshot ||
+	    op.count > (uint32_t)(limit_snapshot - gref_size)) {
 		mutex_unlock(&gref_mutex);
 		rc = -ENOSPC;
 		goto out_free;
 	}
 	gref_size += op.count;
 	op.index = priv->index;
-	priv->index += op.count * PAGE_SIZE;
+	priv->index += (uint64_t)op.count * PAGE_SIZE;
 	mutex_unlock(&gref_mutex);
 
 	rc = add_grefs(&op, gref_ids, priv);
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 24 13:15:12 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 13:15:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344894.1603936 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcNRe-0004Pe-78; Wed, 24 Jun 2026 13:15:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344894.1603936; Wed, 24 Jun 2026 13:15: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 1wcNRe-0004PX-4Y; Wed, 24 Jun 2026 13:15:10 +0000
Received: by outflank-mailman (input) for mailman id 1344894;
 Wed, 24 Jun 2026 12:43:57 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <alhouseenyousef@gmail.com>) id 1wcMxR-0007YE-Sv
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 12:43:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcMxQ-001z2q-MW
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 14:43:56 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <alhouseenyousef@gmail.com>)
 id 6a3bd105-2eae-0a2a0a5409dd-0a2a4506b1a2-10
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 14:43:56 +0200
Received: from [209.85.221.42] (helo=mail-wr1-f42.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <alhouseenyousef@gmail.com>)
 id 6a3bd10c-08de-0a2a45060019-d155dd2ac987-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 14:43:56 +0200
Received: by mail-wr1-f42.google.com with SMTP id
 ffacd0b85a97d-46255b269c2so695968f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 05:43:56 -0700 (PDT)
Received: from Dev-Null-MSI ([2a0d:3344:52ac:a808:98a4:4381:be45:536f])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-46c226a6f13sm6230010f8f.26.2026.06.24.05.43.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Jun 2026 05:43:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782305036; x=1782909836; 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=lZSBOgiOu98VSFfL5hE8Rxx3Hlc6Tda5ZxDJZ0F2Ebc=;
        b=KU19/LjpdJFrudroFVIKHNln700oCI47/Qs0Y0vbUjZ9pYMVjyLOrRXSp9q5J5M/fZ
         I68Nfxn2OUySiWTu+ZjgTL/wuIgIiCR6eXNMvUZFqcOhZjqpeGlOdlSuINpy5hx7lMbt
         eX1q1IJm70BesD9dVPxy4LSq9kEfLdm41Z3CuxbtvzVFN0mvsDLQp/L3HnRTcyRcbDVB
         POKLyIO4Xg0nXp/RDZ0dE8Cj28uQ+kSnJudijQ5oqw7WUEqtaiFLTDujv0oKjYPkMvTs
         8kM536mYCu2Am/95RyLeSwBooa6MZ8BaFpNfljWsLgWPf7O9d5nRXg7f5++eM1i7zkaK
         qTkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782305036; x=1782909836;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lZSBOgiOu98VSFfL5hE8Rxx3Hlc6Tda5ZxDJZ0F2Ebc=;
        b=pW2jYckndokb2/O+dm8Wzq7bff0WENeZjXUtH1hGKqXneS/MNgEG/QfcXlKXNjxjQK
         k/WvrVL5ReJ0vpt7hmwSyHaXgw6bhnWm8SD0hNYrPDp91dklh/cM+YgFGoKu69pjWh6B
         MXSjslx9rryro7tdJbgE/gmhac3vnSktKyZDQYv3SN8ajMLb4g19c8A01mfDNj9Bigd5
         or2cxKKuAYKDRP5jEisbeb+U/2p1RPSa8edDRsyDnWzd+Op3TlAFmx6VvE2u+TdLrwa5
         b81yPMaAqP/7c8Llr4TxK15PEzLMo9usVqpPMGXyV0d5oftb9zuHgxZg08U1vZ6lyfTJ
         hZCg==
X-Gm-Message-State: AOJu0YyczclZSW1DnM/E/P10u2wBH76FOZnAGtEJroJfRNcEDxszMcP9
	ZEFz5riFEfZ/y9PJL3+jQhsyK4DwfoMroqr1sFFU79yIx7g2nbdUxaUE
X-Gm-Gg: AfdE7cnN5SdXqMd4NBKluCQ9BMaRUJ87wpaKyKkxy8s8/rQp5vsiXbSexMIddeag+q4
	uP5AobLMzyc+4kckKUqTCmeC4fjz5OhxpgCaNpWm25GVVFDhy0i9CgUJp7UrVvGSn04o2ZUg4lC
	2ZsCYRK6C3/9JWRGjK0mb3ClcGrAEcZvd8ziOwN453n2Kni2XhLjP2h6/DZckJHs8+NaquYraio
	F7yubGuK4tlj+gp/W2DcHWgAbvLatwVSnhkuTRGEF3A8WsMrSXmxkAK0XAsM8Lm10Be5iMPgSOC
	nmgS+cP9WqlLZ89cnPQ0QlQGudZHHpkIyv4zIXT5pXNmYz5SsDXGY4CkF07K7IKFLM/+Bgmv5bp
	bjVltBaCdzkyVm+stJ2WNXdrBEy9j6AbLqpZj4fc9R890E/ppXLud3V/IspQ/0xgTLhunrwxiA+
	IrHx79p0krsWiw3RF32ePjJjXOqA==
X-Received: by 2002:a05:6000:2f85:b0:43c:fa96:d939 with SMTP id ffacd0b85a97d-46c06ad9caamr5500865f8f.22.1782305036000;
        Wed, 24 Jun 2026 05:43:56 -0700 (PDT)
From: Yousef Alhouseen <alhouseenyousef@gmail.com>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org,
	Yousef Alhouseen <alhouseenyousef@gmail.com>
Subject: [PATCH] xenbus: preserve terminator when splitting directory strings
Date: Wed, 24 Jun 2026 14:42:42 +0200
Message-ID: <20260624124242.9160-1-alhouseenyousef@gmail.com>
X-Mailer: git-send-email 2.54.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1782305036-4352968D-E3859EAC/0/0
X-purgate-type: clean
X-purgate-size: 1654

xenbus_directory() gets a reply buffer that xenbus_comms.c
null-terminates at body[len]. split_strings() counts strings using
that terminator, but then copies only len bytes into its combined
pointer/string allocation.

If a malformed or unexpected directory reply does not carry a final NUL
within the advertised length, the relocated last string is left
unterminated. Callers then treat the entries as C strings and can read
past the allocation.

Allocate and copy the transport-added terminator as part of the
relocated string block. This preserves current parsing behavior while
keeping every returned entry NUL-terminated.

Signed-off-by: Yousef Alhouseen <alhouseenyousef@gmail.com>
---
 drivers/xen/xenbus/xenbus_xs.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/xen/xenbus/xenbus_xs.c b/drivers/xen/xenbus/xenbus_xs.c
index c202e7c55..05b758fff 100644
--- a/drivers/xen/xenbus/xenbus_xs.c
+++ b/drivers/xen/xenbus/xenbus_xs.c
@@ -420,13 +420,13 @@ static char **split_strings(char *strings, unsigned int len, unsigned int *num)
 	/* Count the strings. */
 	*num = count_strings(strings, len);
 
-	/* Transfer to one big alloc for easy freeing. */
-	ret = kmalloc(*num * sizeof(char *) + len, GFP_NOIO | __GFP_HIGH);
+	/* Transfer to one big alloc for easy freeing. Keep the extra NUL. */
+	ret = kmalloc(*num * sizeof(char *) + len + 1, GFP_NOIO | __GFP_HIGH);
 	if (!ret) {
 		kfree(strings);
 		return ERR_PTR(-ENOMEM);
 	}
-	memcpy(&ret[*num], strings, len);
+	memcpy(&ret[*num], strings, len + 1);
 	kfree(strings);
 
 	strings = (char *)&ret[*num];
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Wed Jun 24 13:20:03 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 13:20:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344945.1603955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcNWH-0005gS-1t; Wed, 24 Jun 2026 13:19:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344945.1603955; Wed, 24 Jun 2026 13: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 1wcNWG-0005gL-VC; Wed, 24 Jun 2026 13:19:56 +0000
Received: by outflank-mailman (input) for mailman id 1344945;
 Wed, 24 Jun 2026 13:19:55 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcNWF-0005gF-BW
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 13:19:55 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcNWE-002SG7-No
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 15:19:54 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bd972-bab6-0a2a0a5309dd-0a2a4509a664-28
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 15:19:54 +0200
Received: from [209.85.221.48] (helo=mail-wr1-f48.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bd97a-97e6-0a2a45090019-d155dd30ddf1-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 15:19:54 +0200
Received: by mail-wr1-f48.google.com with SMTP id
 ffacd0b85a97d-46cbf263113so424380f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 06:19:54 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-46caa798f43sm3156378f8f.8.2026.06.24.06.19.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 06:19: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782307194; x=1782911994; 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=Gf7pr69+crsSxqZxbLpEQPkUUTuH3erQaXZ7r2QHMl0=;
        b=DkkGjm5x0GPt9Q0Ej0WyCQfHlIoU4uf3DfIZYKHMnh/zHOqxxvMo1dPbi2rtFPLDNL
         9DoHYln6Ehbhc1KN5MWedEq4xeAHx423D9e6WVAKCk3rcSjIZdoKlLJwsXeC7OXOiIfN
         LsCEDSce4+MEHodHaqGS3WoLaQBH1oRZwebw7crHZTfkbo4Z2f1UgWWgKAy5UcUAuQ/f
         VX7pm1y+CMIWyX0NM+JrJSBuw80cFmvZv+cS4AtBpj2JkTlePAphYm4RdN1ZWOy+OdKS
         +zUJ+SyKfjywhM2d057teZ5LM+P2Zvu6Ssu84friGUocAp5Xg0tutoLGyCSt5hsTf1Ml
         qpkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782307194; x=1782911994;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Gf7pr69+crsSxqZxbLpEQPkUUTuH3erQaXZ7r2QHMl0=;
        b=tKKPLPnPSSyoANcPKDTuRqrqYjxp0vqPqEsoouwBiTGWlN1dVVODy8u7LbVYAtHGRj
         ixmNP3WcxV6VJQP2aP7YunOXnOMWFLe8RyUKGxfNPg6xSTmuhgadBIr4ChT1KkcA4K6S
         8GNZZo0p1KhTaciAunGOujbNtS+w2Inx3FGNoPztarBVUbl4K5m2SyHt9yndJw1c37bJ
         WpwETc/xTduvUIp/g/eznyqI+2QzK0j6dQm/fbBfk1sNUBvlmrrkUMR5kf0rcVKI8wu5
         BDEDv8LF9S/lE0cDHqL6vA687wuKLtI2HUXTKD0xc/XqHlSyr7n7xVivDoUXU9VgR00s
         z6Qg==
X-Forwarded-Encrypted: i=1; AFNElJ8PfNhOojsZN6Laa4khMx4BlvscPWUw4USTldprm4YT6X3RskBblBTyFOOIOgZvPElaJ/R4uE1boT8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywp/B3YMdTIy52o13lOmcycRvJKebXEsLCrT8e2PGx/RoESm24h
	PQkgDba2IttDMOPUlxTILNHBS59XjCUf78c8IXB24/mPGBmwjWWoLPQm
X-Gm-Gg: AfdE7clB18t+qBH39/yMtLYJSyB2ckjhc/Wsu98F+amXVRTf3Kmrhv/EIHCzIc1V0Aw
	i8sKGBz1tDHxEuKVaX/Up9WrQiS8MAE7QjF8vI4uvFgUSrZ7LK+VRkkkbiQf07uA04/kzSVaIHd
	MOjXXpC8veDBsvZ/ymmZsdScQFZAu6FftGd5ZXgzBd74gQ1fxbOrLmfbC/qVQS6I54MDNZ2UxcJ
	5w/AoqnFRkNGrgkdkrPApf12ahQ2nWGFyx7x46hPopdOK1/aHUD3DJ+N0PeZjXbIcjvhfb+q5zZ
	afPoX1Ava3EYWSvJx15ywMUb12Obn+/bW2xmerk0GVtQIDH5sJmLurvBuj2CBIsWGpmgQgAwYey
	iOGbiqQiIgi4jFgFhZJn+rgRPbubVXDoPvZ1d7AYvNxrIaAt85lbAFnZv10rDabgx28OALvoQlR
	rpUCb65tBFGK7SiCwom85Y6nqMXcQx3N+UEE1wx8zALY7NbMZ53LvmOZyiB9djg3AEQug=
X-Received: by 2002:a05:600c:8b2f:b0:490:b65f:8b1 with SMTP id 5b1f17b1804b1-4926084a274mr46366245e9.5.1782307193892;
        Wed, 24 Jun 2026 06:19:53 -0700 (PDT)
Message-ID: <92a45378-133e-4b12-ae14-3e5f31fb2d8c@gmail.com>
Date: Wed, 24 Jun 2026 15:19:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 15/23] xen/riscv: introduce (de)initialization helpers
 for vINTC
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <8bb11b0d9c905dd3dd9f922a3f1d2e7f2b75c978.1781693963.git.oleksii.kurochko@gmail.com>
 <063d38ba-8ead-4f69-bb28-752fd56f0b12@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <063d38ba-8ead-4f69-bb28-752fd56f0b12@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1782307194-5539B986-7B618C8D/10/73395122804
X-purgate-type: spam
X-purgate-size: 1373



On 6/22/26 5:01 PM, Jan Beulich wrote:
> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>> @@ -83,3 +84,42 @@ int __init make_intc_domU_node(struct kernel_info *kinfo)
>>   
>>       return vintc->init_ops->make_domu_dt_node(kinfo);
>>   }
>> +
>> +/*
>> + * Guests are given a virtual interrupt controller that mirrors the host
>> + * hardware: an AIA-capable host yields a virtual AIA for the guest, and
>> + * so on for any future controller types.
>> + */
> 
> This comment is worded as if it should be like this, when (as indicated before
> at the very least for migration) there can (and eventually should) be
> alternatives.

Agreed. I think we can simply drop the comment. The function name is 
descriptive enough on its own.

> 
>> +int domain_vintc_init(struct domain *d)
>> +{
>> +    int ret = -EOPNOTSUPP;
>> +    const enum intc_version ver = intc_hw_ops->info->hw_version;
>> +
>> +    switch ( ver )
>> +    {
>> +    case INTC_APLIC:
> 
> "version" to me means something different. Do you perhaps mean "variant" or
> "flavor" or some such? (I realize this also affects pre-existing code.)

It is more about a variant than a version.

Would you be okay with me renaming intc_version and ->hw_version in this 
patch, or would you prefer that I do the renaming in a separate 
preparatory patch?

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 13:25:13 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 13:25:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344954.1603964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcNbI-0007C0-J0; Wed, 24 Jun 2026 13:25:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344954.1603964; Wed, 24 Jun 2026 13: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 1wcNbI-0007Bt-G5; Wed, 24 Jun 2026 13:25:08 +0000
Received: by outflank-mailman (input) for mailman id 1344954;
 Wed, 24 Jun 2026 13:25:06 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcNbG-0007Bn-H3
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 13:25:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcNbF-0029fw-Tz
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 15:25:05 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bdaac-e002-0a2a0a5209dd-0a2a450bc45c-28
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 15:25:05 +0200
Received: from [209.85.128.41] (helo=mail-wm1-f41.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bdab1-ac48-0a2a450b0019-d1558029a517-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 15:25:05 +0200
Received: by mail-wm1-f41.google.com with SMTP id
 5b1f17b1804b1-492329c5514so4330815e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 06:25: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-46c1e840efdsm6571900f8f.5.2026.06.24.06.25.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782307504; x=1782912304; 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=qaDctgAA58axr3wmtfmlkSxuDvQwZusYq2XindzAz8w=;
        b=KDfQ7pTkkaV4PwguO4g9NK+Yw7R2MFhuHb0gAwnqc9NOhILTypTk/Vvb2+NxZ18mIO
         iC7fL14TzkqhodJluIMkIuFvmjka8krsBwHvWkO8ZmBGoFI3ZVnHVgJECcbZEtbWqujk
         VQBgmFfo3V47xbufR3V8HMFK3Y16kb5dAfTLAfzCv8iWZT2zQ5DIRZVnCFYRBGBOMLFW
         RIGen93TbbnCGdXOFhhF2DLkiKpM0fE4/gZkwwReI1+41cQg5JLKXDi3b1qXodrLgEhr
         e6I4b3Inveg6KgFuyEzjO4CnMqcatzi6DxWsinmrW1y+LeHOgmk5c6wtgPu7PFmupyH7
         8Mww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782307504; x=1782912304;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qaDctgAA58axr3wmtfmlkSxuDvQwZusYq2XindzAz8w=;
        b=FVJlNw5HPiVfeuHdGEbrea/yxdn4aW8hDDyL85w+cej+/uRQcghlOidQtOXybSsdcm
         dV1pdgievwGNFCoJ6LVUOKTZzcSjEhCqts+B0XXzx0oZTRzsakMlzDUs8a0F2o5lw/t1
         oTk77r4nukwNR2oOiiGf0/shwxo/2yL7qtMpwepMJOn1MomCkGFt4kn6FUb8wmPtVyOz
         ZuuiB3Wn7tK8oj9oqMNJot4dJeL/liKM6h6pXaihxl/jVbCe1OIOnqOA2ZFFxHAyv6X4
         r2LObz/Ba+NIpXVeYuhnsN1RMAeo6Q5+tOWIAtx/DZM3rSalIrGgWjC3FuKl1yJEC2TJ
         Jv7w==
X-Gm-Message-State: AOJu0YyDS1y/VA5Fvfhze5WUbi2IFCoAiGIZn0apM+naAFWO/E8X4mAW
	WkS0ddes5QkkfthfqwrCCOf1AF4ZxArBltkReNZgaWdVeXFUgs1NgNPhg25Pq2A+xYSJwkY/dO9
	oiBOQRA==
X-Gm-Gg: AfdE7ckuCKjLwjqSP8AiZDP5dY2gc/+2du2elqNJAWSP3P0YXXIDKirWhMiEYdYLVfy
	acGFSq/Y6CiKzc54YT5ZSt+3ocaj7rj7QKvNDYDI3h2TKYX7wfdMjMmEoDiky9IUu1wTurAQk/F
	GDa9LnfNYre9E0HOK0g40GvntAKGDrQ5k1fC9DeLplNSG8n5O+FidEDhCzy15/O8FIqzNu2MQ7f
	BWv7cSD7OIA/dGaLPORZjIx00EMVnPyNifu1fQkxm1vcDy5PsbTFwfkGLQ5pMXUWAN/PWlJoe4e
	LpJnfSUbubPK0G3cK8Uhf2yBpTh6dwBcbZUvnY2AP+SjIQrKQ5FhcZGxIOYRs2zIFEvQ788NfEs
	0UBnWxW507E82Ok/lWcuH/drIOp6gagIcrJYlSpeScY1G3R6lmmes3YWv2uGyxiJDE2c+zsjis7
	KIMToOsirlEIjL3jjnb5lPuT7PqRvs0pB6x1pCndsP02jFdGYIUlWmfXpqdjHSdZUV1SXvDgP0z
	1AJ
X-Received: by 2002:a7b:c346:0:b0:490:b58f:4d65 with SMTP id 5b1f17b1804b1-4925a1f2e14mr95404825e9.15.1782307504457;
        Wed, 24 Jun 2026 06:25:04 -0700 (PDT)
Message-ID: <489f0a75-9942-42bb-b449-7ac84474ae2a@suse.com>
Date: Wed, 24 Jun 2026 15:25:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86: sort obj-<...> list of main Makefile
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>
References: <fe611607-c4d4-4db0-85a2-445bbec5fc47@suse.com>
 <1e3b36a6-1970-4376-97fa-621899ae2ad4@citrix.com>
 <d2d794a4-dfd3-45c3-b5fe-836d0a0c2244@suse.com>
 <0ccf8786-3460-4500-848c-2f0058c8a269@citrix.com>
 <51e4bad3-251c-4dfd-b487-a760a102a08a@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: <51e4bad3-251c-4dfd-b487-a760a102a08a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1782307505-A673A220-BD120D8E/0/0
X-purgate-type: clean
X-purgate-size: 1733

On 24.06.2026 12:45, Jan Beulich wrote:
> On 24.06.2026 12:40, Andrew Cooper wrote:
>> On 24/06/2026 11:37 am, Jan Beulich wrote:
>>> On 24.06.2026 11:10, Andrew Cooper wrote:
>>>> On 24/06/2026 8:50 am, Jan Beulich wrote:
>>>>> x86_emulate.o coming rather late in the list may want considering to make
>>>>> an exception for: It takes comparably long to build, and hence it may be
>>>>> best if it got scheduled as early as possible in a parallel make.
>>>> Move it to the front with a comment saying "Really a subdir, but not
>>>> expressed in that way" or something?
>>> We have
>>>
>>> obj-y += x86_emulate/
>>>
>>> there, so excusing this by what you say would feel somewhat wrong.
>>
>> Wait, we've got both that and the higher level x86_emulate.c reaching
>> into that subdir?
>>
>> Can't we just fix that?Â  The higher x86_emulate.c is almost empty, and
>> lost it's main purpose when you started splitting decode out.
> 
> It's emptier for you than for me, as I've put some AMX stuff there which
> otherwise would require #ifdef-ary elsewhere. I guess I can see about
> moving that and then indeed ...
> 
>> That way we no longer have a special case, and no need to excuse it.Â 
>> Subdirs always get entered first.
> 
> ... try to get to this state.

x86/x86_emulate/x86_emulate.c has no #ifdef-ary at its top so far. Sites
#include-ing the file are responsible for carrying all prereq #include-s
(i.e. ones needed on top of what x86/x86_emulate/private.h supplies). Are
we happy to give up on that and have #ifdef-ed #include-s (and alike)
at the top of x86/x86_emulate/x86_emulate.c? (For AMX there would then
also be a couple of static items in a __XEN__-only code fragment.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 13:25:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 13:25:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344961.1603974 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcNbv-0007dW-Sc; Wed, 24 Jun 2026 13:25:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344961.1603974; Wed, 24 Jun 2026 13:25: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 1wcNbv-0007dP-Nq; Wed, 24 Jun 2026 13:25:47 +0000
Received: by outflank-mailman (input) for mailman id 1344961;
 Wed, 24 Jun 2026 13:25:47 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcNbv-0007dE-2G
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 13:25:47 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcNbu-002A0t-Ex
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 15:25:46 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bdaca-bab6-0a2a0a5309dd-0a2a4501be64-30
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 15:25:46 +0200
Received: from [209.85.221.46] (helo=mail-wr1-f46.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bdada-400f-0a2a45010019-d155dd2ebd61-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 15:25:46 +0200
Received: by mail-wr1-f46.google.com with SMTP id
 ffacd0b85a97d-45fe59255beso568975f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 06:25:46 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-46c22b73badsm6895220f8f.33.2026.06.24.06.25.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 06: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782307546; x=1782912346; 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=dhd5AR+o6SPmnDc+LG3qwRS67eaOB5FrjUXir+Zhzhg=;
        b=eQJKd26nufyhKeHxws6lhNZBv1ZC5iDD1IRCUVTfTWTLvAIcFwVmWSW+8HbiVcXV0g
         7y5zenW9TR9q9c7usijcozq2aV8oVyZ+Uzx8HCADgbA8InmTuiXVuAxLUI29vjrCzZOH
         Wpn4sah4ojdbugisiUtmyQ/gOAaYGGhjL1oFJO7ImwOFdMyII1a8vJGaWA7kCObsag51
         Dk3BYXATgQEsvaBirztoaqyjmY+bsGLy5BFyX2yFcd7eLYyVrNnSwopH3eyqSV/Z+8pG
         OsgBqRJ6GbD6ry3atpdbHakcCUcCmy0s7T3943jYkzz/ekTOespCFSu6UxLLj+fF8/ya
         f6aQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782307546; x=1782912346;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=dhd5AR+o6SPmnDc+LG3qwRS67eaOB5FrjUXir+Zhzhg=;
        b=iyN7ZspmP5lJ1LJEyhGk/ZbdB34RPPRgZXhPWNWZy7hWbyIX1V//XQIO0+4WNacxqO
         qgxPgfrAuBXWYQ6LiPEW78L3t+1GpAGiexaXsEeAOfb8sNW/h2PI8D/R3hHWFQFRzHMC
         XTYrNBDM4l0Wyo3JmbUNoYghM+IE8fX1Sr0Q5Q1xsu/W+IpQKG2qXKiCM8nTtjr/VZRz
         EFQkYtM4peVDoxlnGLNrA8N/LBZ4Yp9u1VNN8rypVlf+O7yP/75KfM4TyAQxn1kO10r9
         ZUTxBnSsCxlwvUbx0/6ARpF7XB2DT4i6jHaVCdcQ1OaZGl/ghZp71lqbOsijetwW3asu
         GdXg==
X-Forwarded-Encrypted: i=1; AHgh+RoBmcCZDzuGlFF2/BqsLSljk3XEnI1G3dW8PN0tte9Jnb7JvcmVqQCh4dx64WnuUVky2sW/BThvofg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxSGdhRGBV2eYPAMAHpBgzUqjHpCwQaOmlZSWshahVdg0MbkSMI
	anBHuklfCEp2zlbHsnz7V5jE2MLHAwnbk0xaaT2ZQ5xd+ahd9n3xqZ3w
X-Gm-Gg: AfdE7cmVAGa3lFickqnxw7Znzk7/qaCJaBU9j1T/siXRHk1I4VIXoLTcIlwaD0rjWgA
	yOHUyGbAGnn40lwVSu/9hzIcA3pKTeGeaSBg0JZ1XtnXtWUqGEhEcezWAoVVTdQZNLprxj3cIiy
	xsCKg2N9QDhh7svEZyc2si3lyV3528o6uNng/tG3EzHfzyUHC4nLrbcjYWl5AEq72b5oVjwq+jM
	emz/09YQzt2WeXZy9ZU+lkR2A0CEoTkdYj6DnWlceJAvYaHuc7a4wY1yJpZ96uMl3JjamWdrndE
	zdEHE2eOTqntQTEUvt4YehXXG9nspubEVjmlgKKqvZgZkdCnCy6gKf2HA/JbSdld7lLjYdTWFof
	CttC+CmVs1OKyaW7snlMMaGNFqDc0AGfabIY0kAUjw7CNZziqlzWsXkWZgjXsA3n6w/eWZjCPCn
	gUoCm7dbgHYufZktj2cUkc+rP16o42mOM3MsyquFGMSykz8gnl5cQ9ZE8AAjn/pczVH27soHfQI
	TF6NQ==
X-Received: by 2002:a05:6000:29d8:b0:465:5627:79d5 with SMTP id ffacd0b85a97d-46adadd21a8mr8260953f8f.24.1782307545751;
        Wed, 24 Jun 2026 06:25:45 -0700 (PDT)
Message-ID: <d5c76501-a3eb-40b0-bf14-1e26505c74c6@gmail.com>
Date: Wed, 24 Jun 2026 15:25:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 16/23] xen/riscv: generate IMSIC DT node for guest
 domains
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.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>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1781693963.git.oleksii.kurochko@gmail.com>
 <18938bb8845fa91315e320f88d17147592aba51c.1781693963.git.oleksii.kurochko@gmail.com>
 <424912f9-5a2d-4c68-a25e-8fd5547011c6@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <424912f9-5a2d-4c68-a25e-8fd5547011c6@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1782307546-82EC71E0-16B7C844/10/73395122804
X-purgate-type: spam
X-purgate-size: 6684



On 6/22/26 5:12 PM, Jan Beulich wrote:
> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>> Guests using the IMSIC interrupt controller require a corresponding
>> Device Tree description.
>>
>> Add support for generating an IMSIC node when building the guest DT.
>> This allows guests to discover and use the IMSIC interrupt controller.
>>
>> The value choosen for GUEST_IMSIC_S_BASE is an address which is typically
>> used for IMSIC and QEMU.
>>
>> DT-building functions are marked __init because domain creation happens at
>> boot time, before the init sections are freed. In a typical deployment
>> libxl creates the interrupt controller node in userspace and hands the
>> complete FDT to Xen, so these functions are only called during early
>> domain construction.
>>
>> Co-developed-by: Romain Caritey <Romain.Caritey@microchip.com>
>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> ---
>> Changes in v3:
>>   - s/__ro_after_init/__read_mostly for guest_num_msis.
>>   - Use IMSIC_MAX_ID as default for guest_num_msis instead of imsic_cfg.nr_ids.
>>   - Drop base_addr local variable in guest_imsic_make_reg_property(); use
>>     GUEST_IMSIC_S_BASE directly and introduce size to avoid spelling
>>     IMSIC_MMIO_PAGE_SZ * d->max_vcpus twice.
>>   - Change irq_ext type from uint32_t * to __be32 * in
>>     guest_imsic_set_interrupt_extended_prop().
>>   - Move phandle declaration into the loop body.
>>   - Extend commit message to explain why __init is used for DT-building
>>     functions: libxl creates the interrupt controller node before handing
>>     the FDT to Xen, so these functions are only invoked during boot-time
>>     domain construction.
>>   - Re-order patch before APLIC DT node creation patch.
>>   - Update commit message.
>> ---
>> Changes in v2:
>>   - s/imsic_make_reg_property/guest_imsic_make_reg_property.
>>   - s/imsic_set_interrupt_extended_prop/guest_imsic_set_interrupt_extended_prop.
>>   - Use initalizer for regs[] array in imsic_make_reg_property().
>>   - Move buf[] insde the for() loop.
>>   - Correct check of returned phandle.
>>   - Drop local variable len.
>>   - /s/XVFREE/xvfree in imsic_set_interrupt_extended_prop().
>>   - Drop initializer for local variable data.
>>   - s/uint32_t/unsinged int for pos and cpu in imsic_set_interrupt_extended_prop().
>>   - Drop next_phandle as it is now in common code.
>>   - Introduce vcpu_imsic_deinit.
>>   - Refactor vimsic_make_domu_dt_node() to avoid usage of host IMSIC dt node.
>> ---
>> ---
>>   ...asic-VGEIN-management-for-AIA-guests.patch | 273 ++++++++++++++++++
> 
> What is this doing here?

Accidentally added to the patch, I will drop it.

> 
>> --- a/xen/arch/riscv/imsic.c
>> +++ b/xen/arch/riscv/imsic.c
>> @@ -13,8 +13,12 @@
>>   #include <xen/const.h>
>>   #include <xen/cpumask.h>
>>   #include <xen/device_tree.h>
>> +#include <xen/domain.h>
>>   #include <xen/errno.h>
>> +#include <xen/fdt-domain-build.h>
>> +#include <xen/fdt-kernel.h>
>>   #include <xen/init.h>
>> +#include <xen/libfdt/libfdt.h>
>>   #include <xen/macros.h>
>>   #include <xen/sched.h>
>>   #include <xen/smp.h>
>> @@ -36,6 +40,11 @@ static struct imsic_config imsic_cfg = {
>>       .lock = SPIN_LOCK_UNLOCKED,
>>   };
>>   
>> +static unsigned int __read_mostly guest_num_msis;
> 
> This being host dependent and hence the same for all guests likely also
> warrants a comment.

Agree, I will add the comment:

/*
  * Number of MSIs available to a guest. Determined by the host
  * interrupt controller, so it is identical for every domain â€” hence
  * a single global rather than a per-domain value.
  */
+ static unsigned int __read_mostly guest_num_msis;

> 
>> @@ -521,3 +535,121 @@ int __init imsic_init(const struct dt_device_node *node)
>>   
>>       return rc;
>>   }
>> +
>> +static int __init guest_imsic_make_reg_property(struct domain *d, void *fdt)
>> +{
>> +    paddr_t size = IMSIC_MMIO_PAGE_SZ * d->max_vcpus;
>> +    __be32 regs[4] = {
>> +        cpu_to_be32(GUEST_IMSIC_S_BASE >> 32),
>> +        cpu_to_be32(GUEST_IMSIC_S_BASE),
>> +        cpu_to_be32(size >> 32),
>> +        cpu_to_be32(size),
>> +    };
>> +
>> +    return fdt_property(fdt, "reg", regs, sizeof(regs));
>> +}
>> +
>> +static int __init guest_imsic_set_interrupt_extended_prop(struct domain *d,
>> +                                                          void *fdt)
>> +{
>> +    unsigned int cpu, pos = 0;
>> +    __be32 *irq_ext;
>> +    int res;
>> +
>> +    irq_ext = xvzalloc_array(__be32, d->max_vcpus * 2);
>> +    if ( !irq_ext )
>> +        return -ENOMEM;
>> +
>> +    for ( cpu = 0; cpu < d->max_vcpus; cpu++ )
>> +    {
>> +        char buf[64];
>> +        uint32_t phandle;
>> +
>> +        snprintf(buf, sizeof(buf), "/cpus/cpu@%u/interrupt-controller", cpu);
>> +        phandle = fdt_get_phandle(fdt, fdt_path_offset(fdt, buf));
>> +
>> +        if ( !phandle )
>> +        {
>> +            res = -ENODEV;
>> +            goto out;
>> +        }
>> +
>> +        irq_ext[pos++] = cpu_to_be32(phandle);
>> +        irq_ext[pos++] = cpu_to_be32(IRQ_S_EXT);
>> +    }
>> +
>> +    res = fdt_property(fdt, "interrupts-extended", irq_ext,
>> +                       d->max_vcpus * 2 * sizeof(*irq_ext));
>> +
>> + out:
>> +    xvfree(irq_ext);
>> +
>> +    return res;
>> +}
>> +
>> +int __init vimsic_make_domu_dt_node(struct kernel_info *kinfo,
>> +                                    unsigned int *phandle)
>> +{
>> +    int res;
>> +    void *fdt = kinfo->fdt;
>> +    char vimsic_name[128];
> 
> Isn't this excessive? You need space for ...
> 
>> +    unsigned int vimsic_phandle;
>> +    unsigned int num_msis = min(GUEST_IMSIC_NUM_MSIS + 0U, guest_num_msis);
>> +
>> +    res = snprintf(vimsic_name, sizeof(vimsic_name), "/soc/imsic@%lx",
> 
> ... up to 11 + 16 + 1 characters. So 32 will do, to make it a "nice" number.

Agree, 128 is too much and 32 will be more then enough.

> 
>> --- a/xen/arch/riscv/include/asm/guest-layout.h
>> +++ b/xen/arch/riscv/include/asm/guest-layout.h
>> @@ -3,6 +3,8 @@
>>   
>>   #include <public/xen.h>
>>   
>> +#define GUEST_IMSIC_S_BASE __ULL(0x28000000)
> 
> May I remind you of my request to not leave entirely arbitrary (and seemingly
> random) numbers uncommented?

Then I misunderstood you I added the a sentence to commit message:
   The value choosen for GUEST_IMSIC_S_BASE is an address which is 
typically used for IMSIC and QEMU.

I will put the simialar comment before defintion of GUEST_IMSIC_S_BASE.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 13:27:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 13:27:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344969.1603981 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcNdv-0008Hw-5H; Wed, 24 Jun 2026 13:27:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344969.1603981; Wed, 24 Jun 2026 13:27: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 1wcNdv-0008Hp-2g; Wed, 24 Jun 2026 13:27:51 +0000
Received: by outflank-mailman (input) for mailman id 1344969;
 Wed, 24 Jun 2026 13:27:49 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcNdt-0008Hh-T0
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 13:27:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcNdt-002U3E-60
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 15:27:49 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bdb42-bab6-0a2a0a5309dd-0a2a450590b0-42
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 15:27:49 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bdb54-3cb2-0a2a45050019-d1558035a96b-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 15:27:48 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-490bc6a7958so15619425e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 06:27: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-4926105821esm36979155e9.1.2026.06.24.06.27.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 06:27: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782307668; x=1782912468; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=lmoR4X1oAGRCqIjqrfLDbWfKDtB9nbJvf0SVrimyq7s=;
        b=TzjslTP2e6rqjaxtiXN0RkYtKkDQwzj6gqvvawCJ7A4HumT4Wn3yykh1rJ4yf2kU1x
         alLfiSe/z4ughUfDvvmFskSwU7O8bv/hmM4JJtkoGfuo81XGYAYPcJzV9SJ0nTHcoxtG
         alfPecRargQ2N7/JbhaEk1cpoZCjj/2cGlgkWXfU7p5gsba8eYbGSqfpOz2A1Fc0M9SU
         GDLbZwLvOkewqnKPe9IdSuKOp6JaBEDMlHqKKW3MZ9SyWdmLtzeKSO5iiegD/ldKIgeu
         7GmWcq6kGnTDCQuzF/ajMw/BYxJcXKZN9x+oHGaaU0ETmdplH6LelZvFlNXJIyi2yDG9
         yLYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782307668; x=1782912468;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lmoR4X1oAGRCqIjqrfLDbWfKDtB9nbJvf0SVrimyq7s=;
        b=gTCChCNMJMwWMpvlm4YBpz7FEKPDKf8+bVwwvTT8lP75Gr2MQReKcQySyV5c1abIZA
         GVa+2GHyeDwNKxSNQVnCKjGIBKjqwzn+U2eO/FasR0KMNeE3xWeDHtDTshS5H/eDS7SP
         pJjxdHhU95EJgRyyRKVlNoaMxOgS3ZB7kPu/fYctpqt7yOsUwT+WoFxwv1aE7sPW9KTc
         KGwCWor7R9bStu/O4sWaSBAknvOtbeyQEXojTR0AjMzO4UmLbENl1HbFA+nHk+YN3DNP
         wVta7JldhFO6CBRghqLRUevInP+IX9eNAooLjY18mzSUYs9VZ0B29rtNbIciJNplyKUX
         uVCA==
X-Forwarded-Encrypted: i=1; AFNElJ/re+rY70NR69g8kn/W61+04YbCQJP+PmNaNNYa0KbBQUmRwPd1fxBKiZr6sjDLm1JrxGopZLnyScU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx+R+eZw7Y3mwA6zasIZnICLW1LNDHMmimZlqWh51K/nYkqgU1v
	Njlj9ec2qoUT7T+brWqsSaWwUQv2jRknM+O4fJuObDGAsGmFJ4pKUI0/mCn1U9fORA==
X-Gm-Gg: AfdE7ckA7lniSM0N6Um7d+EFZxC+7xpfiqmX5RL7tDqHbuy6rir0CNmmITcVdCLIEbH
	NiYT/WphpZUsJmTdvXvgvxOv4Qb7G3SWxuHzQXTuuGsh/NbL/8utx2xu/d0dID04eqx+ssT2JRg
	Q65anNyvz9tFrsYeo/qr5oHfZh2+7Cl0DswgdP+MKnHzRgf8VWqGd7AD9NPE5s3JTEoEsWffHfp
	vK3HF38CG5gfJzcAOduI/2JUmhdLozRwIJLNgMGjVpBAdVYq8Wf8Y2crnjryqgVfScn0I8Ykk8d
	E0wPVMa+jykAGh7SeV3XMyknt2HgzbJxbWBnzHU38NjOH0HWof9GCBrZnKNrHqfVUg6+BRSzCni
	3XqwtuIH0IQjc2teXdL3UdKAvS2TVFkibjX55USKMN92fUpIRljikAcza5DWrvEzMj87UxwKBt2
	jVauKFt/el4trqBuJAkdyQ8sX9RjjddYwSudpTwdgsIRaRh2bjRFBogaVYhaN3fi5xdu0N76VFh
	Seg
X-Received: by 2002:a05:600c:3111:b0:492:38c9:b265 with SMTP id 5b1f17b1804b1-492632b6ef8mr7124215e9.15.1782307668445;
        Wed, 24 Jun 2026 06:27:48 -0700 (PDT)
Message-ID: <52edb0a4-1433-4c07-92ce-b3419a20c83e@suse.com>
Date: Wed, 24 Jun 2026 15:27:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 15/23] xen/riscv: introduce (de)initialization helpers
 for vINTC
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <8bb11b0d9c905dd3dd9f922a3f1d2e7f2b75c978.1781693963.git.oleksii.kurochko@gmail.com>
 <063d38ba-8ead-4f69-bb28-752fd56f0b12@suse.com>
 <92a45378-133e-4b12-ae14-3e5f31fb2d8c@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: <92a45378-133e-4b12-ae14-3e5f31fb2d8c@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1782307668-0F1142B8-FA5E7331/0/0
X-purgate-type: clean
X-purgate-size: 920

On 24.06.2026 15:19, Oleksii Kurochko wrote:
> On 6/22/26 5:01 PM, Jan Beulich wrote:
>> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>>> +int domain_vintc_init(struct domain *d)
>>> +{
>>> +    int ret = -EOPNOTSUPP;
>>> +    const enum intc_version ver = intc_hw_ops->info->hw_version;
>>> +
>>> +    switch ( ver )
>>> +    {
>>> +    case INTC_APLIC:
>>
>> "version" to me means something different. Do you perhaps mean "variant" or
>> "flavor" or some such? (I realize this also affects pre-existing code.)
> 
> It is more about a variant than a version.
> 
> Would you be okay with me renaming intc_version and ->hw_version in this 
> patch, or would you prefer that I do the renaming in a separate 
> preparatory patch?

A separate patch would likely be easier / quicker to get in. But if you
absolutely wanted to fold the rename into here, I think I also wouldn't
outright object.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 13:44:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 13:44:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344982.1603992 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcNtv-0002t9-J9; Wed, 24 Jun 2026 13:44:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344982.1603992; Wed, 24 Jun 2026 13: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 1wcNtv-0002t0-FN; Wed, 24 Jun 2026 13:44:23 +0000
Received: by outflank-mailman (input) for mailman id 1344982;
 Wed, 24 Jun 2026 13:44:22 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcNtu-0002sr-9s
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 13:44:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcNts-00EADw-L0
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 15:44:20 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bdf2a-e002-0a2a0a5209dd-0a2a45048660-38
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 15:44:20 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bdf34-a01d-0a2a45040019-d1558031d830-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 15:44:20 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490b9318997so5623555e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 06:44:20 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-49240084928sm474779835e9.15.2026.06.24.06.44.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 06:44: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782308660; x=1782913460; 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=cKF0HzAj+WZkdnzLGJPHlFrDF97nFQcpX90DJ50iMgs=;
        b=jkoKTQmoBkd/lN+DLV2JrgFFF5AnuJlvaLIiBkY/0IjEsUbgIDm3ehIPOM1Xd+uZJm
         uiWryL0eXawTxUViqPraObBE18hcbmGBO+rk7je6Z4lHj8XHU1HxtzypPWTFu3GSq4LS
         Ht7QdjJfkxJyVN41F3SSEk+kQUFQuBHbSfy+QckisZ48tfaqEZ3yHVplUlsQNzbqFhDQ
         P41FZcQCEuQMsmHpZRi3XuTSNwBbUeG8ifJMcMk1cuvxd+JfPKzcNjHAoHwbRs0NoguR
         w8Xws/OL34xt5OrrgCzWxff8LR0f7a0nJLvax0dhc/1PQgUi9u1jBX4bRMwRRFjIGuSL
         nJZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782308660; x=1782913460;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=cKF0HzAj+WZkdnzLGJPHlFrDF97nFQcpX90DJ50iMgs=;
        b=lgX3FF7vb8+LE2wyv7NF6qEvgTI6S1YWEQN89uTUVU5j/q/IiKWWRuuCyxHM4D7/ga
         NP08bQlnWhCEg9ljpBZpcALrZ6k9B4duNdz45YghEfi8GPAMDCe6isI+uLFI5QggG2bp
         vPNX5TXnoyPmDqLPvTrnLgCEaQ6yT07/ZJkMxcMjC96RbdM9c20Yr5L05f5ekUtQtd94
         5ChjhF8pJurTJ4IelU1o1RViuFGtJEL/eW7pbwey7SSCOBdCDzjKyUZgkngIOcfc7bf0
         m3aLHvkapBh0ADg5527vwHEOKn5l7EeydgE0UU2FIvixL65OD8JGnjEJ5UE33tW8DGBR
         yDCg==
X-Forwarded-Encrypted: i=1; AFNElJ9okB9FcI0eET64m7EGxwd2tNkdg2GfGJGxE2If+g3q04EAWyHM1RszsS0a31UR+vTyuInGSfA9Mtc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxd8ts/4ifm+3Uv7qCtoTX8QvqvUEWIB/3D0vchsPovZ2hZ0OtO
	Bkt6E+VIs/dkFjSyGd6tp5WzhSmOcw3Y3LW//Cnn3Gn6us8hw878KDso
X-Gm-Gg: AfdE7ckcoETqG6PXtNGwauJ5RsJWyDo1mDJ4n7pyGz8z9E0VS5a72jIUJyuGVN6lwa+
	UuWzXIyxNKQDTSMfieBosS+a1FO8Ck28nOREBbKsl8qYg5Kxt6UqV96kFxEwMj6D11oh3Q/I/NX
	0D+7dUjPDotuIJwVBrK6z1COigAlbU14q0I91q/GpXaIay6tPJqOGECifeFChn0fLzzhdGSkf10
	+sn6iYe3cbFuXwODSketXARM0K2zWeawr98QX5K6tkul+LRopyPk4IbzxpMKtHk6WyLRj6ANvcv
	FLE19g/msW1SxNGU4bOXOdLLgZ5DVD0QfWYDKzgIwHKcEHZ4s/9e64j0IH7n2sHrWl7skBw0Clc
	u7kWZMmtxhDRXWrCoPo3SQT6iA8mo/rDEAqQgsp36aem/PFlf1Tpw6MDbUauL5XGnK4l6+6PM/F
	pjLHFg9G9ZZlHpfjU7Pg97bX0rICaUBHWlB7kCnri4ODEcUJWC2Ijx/kNgnKmRGFfy/bA=
X-Received: by 2002:a05:600c:5494:b0:490:b06a:649e with SMTP id 5b1f17b1804b1-492608784abmr47410935e9.25.1782308660049;
        Wed, 24 Jun 2026 06:44:20 -0700 (PDT)
Message-ID: <67a9f971-7221-44b1-8b56-19fdf2d76018@gmail.com>
Date: Wed, 24 Jun 2026 15:44:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 17/23] xen/riscv: create APLIC DT node for guest
 domains
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <0b034d584b7aaec54b70e9e575c727b07930d2ed.1781693963.git.oleksii.kurochko@gmail.com>
 <74f4b96e-1084-4880-addf-8ce57a0dab5f@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <74f4b96e-1084-4880-addf-8ce57a0dab5f@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1782308660-AF7211CC-4B5303DA/10/73395122804
X-purgate-type: spam
X-purgate-size: 1992



On 6/22/26 5:23 PM, Jan Beulich wrote:
> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>> --- a/xen/arch/riscv/aplic.c
>> +++ b/xen/arch/riscv/aplic.c
>> @@ -12,8 +12,10 @@
>>   #include <xen/const.h>
>>   #include <xen/device_tree.h>
>>   #include <xen/errno.h>
>> +#include <xen/fdt-kernel.h>
>>   #include <xen/init.h>
>>   #include <xen/irq.h>
>> +#include <xen/libfdt/libfdt.h>
>>   #include <xen/mm.h>
>>   #include <xen/sections.h>
>>   #include <xen/spinlock.h>
> 
> Why's this needed all of the sudden?

It isn't, just missed with vaplic.c, the similar name... I will drop 
these changes from aplic.c.

> 
>> @@ -29,6 +36,74 @@ static void cf_check vaplic_deinit(struct vcpu *v)
>>       return vcpu_imsic_deinit(v);
>>   }
>>   
>> +static int __init cf_check vaplic_make_domu_dt_node(struct kernel_info *kinfo)
>> +{
>> +    struct domain *d = kinfo->bd.d;
>> +    int res = 0;
>> +    void *fdt = kinfo->fdt;
>> +    unsigned int msi_parent_phandle;
>> +    char vaplic_name[128];
> 
> Again an excessively large array?

Yes, i will change to 32. It will be enough.

> 
>> +static const struct vintc_init_ops __initdata init_ops = {
> 
> Like elsewhere, __initconst{,rel} with const.
> 
>> +    .make_domu_dt_node = vaplic_make_domu_dt_node,
>> +};
>> +
>>   static const struct vintc_ops vintc_ops = {
>>       .vcpu_init = vaplic_init,
>>       .vcpu_deinit = vaplic_deinit,
>> @@ -43,6 +118,7 @@ int domain_vaplic_init(struct domain *d)
>>   
>>       d->arch.vintc = &vaplic->vintc;
>>       d->arch.vintc->ops = &vintc_ops;
>> +    d->arch.vintc->init_ops = &init_ops;
> 
> The caller of ->init_ops->make_domu_dt_node() appeared in patch 11 already,
> if I'm getting things right. That is, up here there's a NULL deref there.

Yes, but make_intc_domU_node() (and therefore 
->init_ops->make_domu_dt_node()) is only called from create_domUs(), 
which is not invoked in this patch series.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 13:54:04 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 13:54:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1344993.1604001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcO3C-0004fX-Cw; Wed, 24 Jun 2026 13:53:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1344993.1604001; Wed, 24 Jun 2026 13: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 1wcO3C-0004fQ-AL; Wed, 24 Jun 2026 13:53:58 +0000
Received: by outflank-mailman (input) for mailman id 1344993;
 Wed, 24 Jun 2026 13:53:56 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ef9e88fe0000701b@swg.vates.tech>)
 id 1wcO3A-0004fH-8o
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 13:53:56 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcO39-002Yvi-0T
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 15:53:55 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ef9e88fe0000701b@swg.vates.tech>)
 id 6a3be172-5cb7-0a2a0a5109dd-0a2a4502edfc-0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 15:53:54 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ef9e88fe0000701b@swg.vates.tech>)
 id 6a3be172-5a27-0a2a45020019-b9ff1c1288ad-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 15:53:54 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ef9e88fe0000701b.005 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Wed, 24 Jun 2026 13:53:48 +0000
Received: from [192.168.1.18] (88-188-240-210.subs.proxad.net [88.188.240.210])
 (Authenticated sender: teddy.astie)
 by mail2.vates.fr (Postfix) with ESMTPSA id C7DDB82DB3;
 Wed, 24 Jun 2026 15:53: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=KFGnajVnb/REO/MSGN0mI+FieRhi5Tp4WOL/4JiVQA0=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=fFO7fwq0Lvrq8ot+e+N6U/2CP1hKq0GOXCstK+cP/paONEowe0cwlD/rFnc20b0QVwnvHWvup
 E3lhiEfXdAEwlWBQqhujWxcnI9jXCWmT+Yh01M/QbCVvrNIfDRucwmGEK19EPoXNrhrNlZFAqGh
 vBKIxKpuOANfXDQ/mb4yqFi/JksVebSQBzYmM5S8DYPQQVIfQEsBKyYZFj6EYJgWCKPJgSB6U2Q
 iqdNXph7lXxCOnWKyjkQO1bVct5wJXvkScijK0NM+UHaJXdxr0esTGxVKoIaWXTt6BnR318VZfs
 gjVYeSOADpvCfkWux7ccX5AOv4/hFuB/y/iNSx5e/0Aw==
X-Zone-Loop: e893d56769d22d54f6d3d217867c925fe9e3ae125905
x-campaign-type: default
x-transaction-id: f7559322-046b-4c97-9874-c247418b58fe
x-swg-uid: 01-553590b8-52bf-46c2-b02e-f1cbd86144cd
X-Mailer: Sweego
Message-ID:
 <1782309228.8631fc262581453bbf619ec5b2062170.19ef9e88fe0000701b@vates.tech>
x-swg-bid: 1782309228.8631fc262581453bbf619ec5b2062170.19ef9e88fe0000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Wed, 24 Jun 2026 15:53:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xenstore-paths: Allow subnet prefix in IP address
To: Tu Dinh <ngoc-tu.dinh@vates.tech>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <1780912172.8631fc262581453bbf619ec5b2062170.19ea6a32f2f000701b@vates.tech>
Content-Language: en-US
From: Teddy Astie <teddy.astie@vates.tech>
Autocrypt: addr=teddy.astie@vates.tech; keydata=
 xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7LTBVHV/XO
 Zw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJT4ny+OGntnJntUoR
 KRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJAWicutjkkUgd28Bh6HV9EIumH
 tCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaT
 VqMdqul07o72m3eA2mf+LMu9a04FX/d4wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/
 EoucejoZ5SH49ksmVAmKOLktOaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+S
 PhHar7TPKjFz0G3DPNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89
 MXfQXZ3qt1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
 LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWjmoACGwME
 CwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNzuyOVCskwfUZPla6Z
 pd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp0x0HfuhcYfAYPR46XHTvjaJE
 v99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuROxdK8G+YHccJY8PvWSq2K2yiae2KGiAv
 1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhP
 eP3IdpfWc8cyRLXF06Rk46YMYCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcT
 UwgnYlFRk2FLq0QeKEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9
 Egr/Wmu3MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
 f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEMAKiQiZa3
 yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ3DbVf+en3/FvdVZg
 2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTmetSG5/52AjtmPFtlXAk0NmLv
 fJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0s3109sJeXT5ImVdphFs9cvyZyBT9t1Pb
 Rowv58EgV0zE4hbAeVkULAbxFV5b/ExTjjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKb
 Yu6NCfiHfEyB3Xyg9hfdrRgjMRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ov
 XoK4jm+Py0FiUGUaA6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/
 eVtR2Q1wZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
 IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWjmoACGwwA
 CgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiVoUiHYN5QwhnbZnsa
 JDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764QxyX6rld2f2RcWkDuBHun55ZWXj
 by8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk/dS0XTOQi2wVUb17sW/+ybCEokdVacZG
 zOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fuoGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+
 lOWSvdNHgoEkWR0RXBPQjnGmLKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/Off
 O485NOTKwGOxyWb006cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR
 8ULR9nX0LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
 x9fhaZEsniw8/bYgC3igkk5YJiOa
In-Reply-To: <1780912172.8631fc262581453bbf619ec5b2062170.19ea6a32f2f000701b@vates.tech>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------xZqEQRgwwPfDqakIcWzTHsHS"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1782309228017
X-purgate-ID: tlsNG-720697/1782309234-4D1027C5-F11CBE54/0/0
X-purgate-type: clean
X-purgate-size: 8203

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------xZqEQRgwwPfDqakIcWzTHsHS
Content-Type: multipart/mixed; boundary="------------D0Hy00lEXwEXLq43dF3wpgpL";
 protected-headers="v1"
From: Teddy Astie <teddy.astie@vates.tech>
To: Tu Dinh <ngoc-tu.dinh@vates.tech>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Message-ID: <6bd3cb66-5999-49e3-a387-c481669c24bd@vates.tech>
Subject: Re: [PATCH] xenstore-paths: Allow subnet prefix in IP address
References: <1780912172.8631fc262581453bbf619ec5b2062170.19ea6a32f2f000701b@vates.tech>
In-Reply-To: <1780912172.8631fc262581453bbf619ec5b2062170.19ea6a32f2f000701b@vates.tech>

--------------D0Hy00lEXwEXLq43dF3wpgpL
Content-Type: multipart/mixed; boundary="------------aI0KlAt4BkMevNKqBXKawlgQ"

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

TGUgMDgvMDYvMjAyNiDDoCAxMTo1MSwgVHUgRGluaCBhIMOpY3JpdMKgOg0KPiBJbiB0aGUg
Z3Vlc3QtcmVwb3J0ZWQgSVAgYWRkcmVzcyBpbiB4ZW5zdG9yZSwgaXQncyB1c2VmdWwgdG8g
a25vdyB3aGljaA0KPiBzdWJuZXQgaXQgYmVsb25ncyB0by4NCj4gDQo+IEFkZCBhIHNwZWNp
ZmljYXRpb24gZm9yIHRoZSBJUHY2IGhvc3QgYWRkcmVzcy9wcmVmaXggZm9ybWF0IHNwZWNp
ZmllZCBieQ0KPiBSRkMgNDI5MS4NCj4gDQo+IEZvciB0aGUgSVB2NCBhZGRyZXNzL3ByZWZp
eCBub3RhdGlvbiwgYXMgdGhlcmUgc2VlbXMgdG8gYmUgbm8gZXF1aXZhbGVudA0KPiBSRkMg
c3BlY2lmeWluZyB0aGUgaG9zdCBhZGRyZXNzL3ByZWZpeCBmb3JtYXQsIHNwZWNpZnkgaXQg
b3Vyc2VsdmVzLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogVHUgRGluaCA8bmdvYy10dS5kaW5o
QHZhdGVzLnRlY2g+DQo+IC0tLQ0KPiAgIGRvY3MvbWlzYy94ZW5zdG9yZS1wYXRocy5wYW5k
b2MgfCAxMiArKysrKystLS0tLS0NCj4gICAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25z
KCspLCA2IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RvY3MvbWlzYy94ZW5z
dG9yZS1wYXRocy5wYW5kb2MgYi9kb2NzL21pc2MveGVuc3RvcmUtcGF0aHMucGFuZG9jDQo+
IGluZGV4IDQ5OTQxOTQuLjFmYWIzYmYgMTAwNjQ0DQo+IC0tLSBhL2RvY3MvbWlzYy94ZW5z
dG9yZS1wYXRocy5wYW5kb2MNCj4gKysrIGIvZG9jcy9taXNjL3hlbnN0b3JlLXBhdGhzLnBh
bmRvYw0KPiBAQCAtNzgsMTIgKzc4LDEyIEBAIFZBTFVFUyBhcmUgc3RyaW5ncyBhbmQgY2Fu
IHRha2UgdGhlIGZvbGxvd2luZyBmb3JtczoNCj4gICANCj4gICAqIE1BQ19BRERSRVNTIC0t
IDYgaW50ZWdlcnMsIGluIGhleGFkZWNpbWFsIGZvcm0sIHNlcGFyYXRlZCBieSAnOicsDQo+
ICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIGFuIElFRUUgODAyLjMgZXRoZXJuZXQg
TUFDIGFkZHJlc3MuDQo+IC0qIElQVjRfQUREUkVTUyAtLSA0IGludGVnZXJzLCBpbiBkZWNp
bWFsIGZvcm0sIHNlcGFyYXRlZCBieSAnLicsDQo+IC0gICAgICAgICAgICAgICAgICBzcGVj
aWZ5aW5nIGFuIElQIHZlcnNpb24gNCBhZGRyZXNzIGFzIGRlc2NyaWJlZA0KPiAtICAgICAg
ICAgICAgICAgICAgSUVURiBSRkMgNzkxLg0KPiAtKiBJUFY2X0FERFJFU1MgLS0gVXAgdG8g
OCBpbnRlZ2VycywgaW4gaGV4YWRlY2ltYWwgZm9ybSwgc2VwYXJhdGVkDQo+IC0gICAgICAg
ICAgICAgICAgICBieSAnOicsIHNwZWNpZnlpbmcgYW4gSVAgdmVyc2lvbiA2IGFkZHJlc3Mg
YXMNCj4gLSAgICAgICAgICAgICAgICAgIGRlc2NyaWJlZCBpbiBJRVRGIFJGQyA0MjkxLg0K
PiArKiBJUFY0X0FERFJFU1MgLS0gQW4gSVAgdmVyc2lvbiA0IGFkZHJlc3MgYXMgc3BlY2lm
aWVkIGJ5IElFVEYgUkZDIDc5MSwNCj4gKyAgICAgICAgICAgICAgICAgIG9wdGlvbmFsbHkg
YXBwZW5kZWQgd2l0aCBhICIvcHJlZml4IiB2YWx1ZSByZXByZXNlbnRpbmcgdGhlDQo+ICsg
ICAgICAgICAgICAgICAgICBwcmVmaXggbGVuZ3RoIG9mIHRoZSBob3N0IGFkZHJlc3MncyBz
dWJuZXQsIHdpdGggInByZWZpeCINCj4gKyAgICAgICAgICAgICAgICAgIGJlaW5nIGEgZGVj
aW1hbCBpbnRlZ2VyIGluIHRoZSByYW5nZSBvZiAwIHRvIDMyLg0KPiArKiBJUFY2X0FERFJF
U1MgLS0gQW4gSVAgdmVyc2lvbiA2IGFkZHJlc3Mgb3IgYWJicmV2aWF0ZWQgImFkZHJlc3Mv
cHJlZml4Ig0KPiArICAgICAgICAgICAgICAgICAgY29tYmluYXRpb24gYXMgc3BlY2lmaWVk
IGJ5IElFVEYgUkZDIDQyOTEgYW5kIFJGQyA1OTUyLg0KPiAgIA0KPiAgIEFkZGl0aW9uYWwg
VEFHUyBtYXkgZm9sbG93IGFzIGEgY29tbWEgc2VwYXJhdGVkIHNldCBvZiB0aGUgZm9sbG93
aW5nDQo+ICAgdGFncyBlbmNsb3NlZCBpbiBzcXVhcmUgYnJhY2tldHMuDQoNCkknbSBub3Qg
Y29udmluY2VkIHRoaXMgaXMgYSBnb29kIGlkZWEuIFRoaXMgaXMgdGVjaG5pY2FsbHkgYSBi
cmVha2luZyANCmNoYW5nZSwgYXMgdGhlIHByb3Bvc2VkIGZvcm1hdCBub3cgYWxsb3dzIElQ
djQvc3VibmV0IGZvcm0sIHdoaWxlIHRoZSANCnVzZXIgb2YgdGhpcyBpbmZvIG1heSBub3Qg
YmUgYXdhcmUgYW5kIGNvdWxkIGZhaWwgdG8gcGFyc2UgdGhlIElQLg0KDQpJZiB3ZSBuZWVk
IHRvIGV4cG9zZSBhZGRpdGlvbmFsIGluZm9zLCBJIHRoaW5rIGl0J3MgcHJlZmVyYWJsZSB0
byBlaXRoZXIgDQpleHBvc2UgYSBhbHRlcm5hdGl2ZSBJUCBub2RlIHdpdGggdGhpcyBuZXcg
Zm9ybWF0IG9yIHB1dCB0aGUgYWRkaXRpb25hbCANCmluZm8gaW4gYSBzZXBhcmF0ZSBub2Rl
Lg0KDQpUZWRkeQ0K
--------------aI0KlAt4BkMevNKqBXKawlgQ
Content-Type: application/pgp-keys; name="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Disposition: attachment; filename="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7L
TBVHV/XOZw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJ
T4ny+OGntnJntUoRKRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJA
WicutjkkUgd28Bh6HV9EIumHtCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO
8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaTVqMdqul07o72m3eA2mf+LMu9a04FX/d4
wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/EoucejoZ5SH49ksmVAmKOLkt
OaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+SPhHar7TPKjFz0G3D
PNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89MXfQXZ3q
t1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWj
moACGwMECwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNz
uyOVCskwfUZPla6Zpd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp
0x0HfuhcYfAYPR46XHTvjaJEv99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuR
OxdK8G+YHccJY8PvWSq2K2yiae2KGiAv1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50
wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhPeP3IdpfWc8cyRLXF06Rk46YM
YCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcTUwgnYlFRk2FLq0Qe
KEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9Egr/Wmu3
MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEM
AKiQiZa3yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ
3DbVf+en3/FvdVZg2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTm
etSG5/52AjtmPFtlXAk0NmLvfJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0
s3109sJeXT5ImVdphFs9cvyZyBT9t1PbRowv58EgV0zE4hbAeVkULAbxFV5b/ExT
jjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKbYu6NCfiHfEyB3Xyg9hfdrRgj
MRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ovXoK4jm+Py0FiUGUa
A6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/eVtR2Q1w
ZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWj
moACGwwACgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiV
oUiHYN5QwhnbZnsaJDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764Qxy
X6rld2f2RcWkDuBHun55ZWXjby8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk
/dS0XTOQi2wVUb17sW/+ybCEokdVacZGzOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fu
oGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+lOWSvdNHgoEkWR0RXBPQjnGm
LKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/OffO485NOTKwGOxyWb0
06cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR8ULR9nX0
LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
x9fhaZEsniw8/bYgC3igkk5YJiOa
=3DlUIA
-----END PGP PUBLIC KEY BLOCK-----

--------------aI0KlAt4BkMevNKqBXKawlgQ--

--------------D0Hy00lEXwEXLq43dF3wpgpL--

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

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

wsD5BAABCAAjFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmo74WsFAwAAAAAACgkQZg+p0QLLz9CH
ogv/W7M/mYg8VmdjY/4zI2HpadPWabPrg6OzoRFVfVRTW8/TWG6bKJu9v3yk3Zl4YLQ1UPb21336
vBPXZCHggil9R+AmwrXAAIAWTKcTNFH0l5FO1UubU/RpqWeOEJ7HfE6xXkLtDGfsMXSurhs388fF
pxe7XQiz0A3xwwW8btbFYz3gvYyp/BPVVcTDMn3Zxx1mu/iMu/RrwjeqQUMbScX1ZgyThhaMPl26
+a/d0PpQMIuGddB7tNrsyZOnOhoMTWdvuO4xqrZUuF9HII5Tr5gVzY+dGFCRlJJQ8jtW14Ea7Y1P
5AkQhoKC8ts9vx7BKRDW8YgPiEJDlRT92wpPwyvw32y7FPE7Aay2ekDZxoOP7Vr7x9V9fiahrYKC
xmQnXx1ZNBmoemYi08ea+NALPi3htio0VTsjtJoRJEHL9AiDmdTnlXmYTlZkeky6E+wwjF8XSCkN
vPGBVdIeNRX+M1gr63I9MSX8Lg3zt69Sy9F2dkAb8cwXbvwGUKgBrusAlhj4
=Ocfg
-----END PGP SIGNATURE-----

--------------xZqEQRgwwPfDqakIcWzTHsHS--


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 14:10:48 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 14:10:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345006.1604011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcOJO-0007h3-Ns; Wed, 24 Jun 2026 14:10:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345006.1604011; Wed, 24 Jun 2026 14:10: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 1wcOJO-0007gw-L5; Wed, 24 Jun 2026 14:10:42 +0000
Received: by outflank-mailman (input) for mailman id 1345006;
 Wed, 24 Jun 2026 14:10:41 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ef9f7ec4e000701b@swg.vates.tech>)
 id 1wcOJN-0007gq-9V
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 14:10:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcOJM-002cNU-B2
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 16:10:40 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ef9f7ec4e000701b@swg.vates.tech>)
 id 6a3be558-bab6-0a2a0a5309dd-0a2a4509bbc0-18
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 16:10:40 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19ef9f7ec4e000701b@swg.vates.tech>)
 id 6a3be55f-97e6-0a2a45090019-b9ff1c12864f-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 16:10:40 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19ef9f7ec4e000701b.005 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Wed, 24 Jun 2026 14:10:35 +0000
Received: from [192.168.1.61] (155.223.66.37.rev.sfr.net [37.66.223.155])
 (Authenticated sender: ngoc-tu.dinh@vates.tech)
 by mail2.vates.fr (Postfix) with ESMTPSA id 846C482DF7;
 Wed, 24 Jun 2026 16:10:34 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=pr0CPx7D1Psn+An8dOZ4USTlG8NwBSCbnKlcH5YRRr8=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=ZX1Z2yiWk3+jA3B6dKV62GoRNQ55OTcYAWnWp/gBqTW/RHwptmF8iXJyP15ndjeCIDN/7Ndf3
 46Nl1YlyCRRJeUjcCCKNdj7vw8kX8OkzL1PZqQY5Go5NS7dPN+M9JuNhlJX/6yZuJSVLCQofGVY
 GsPt5+tCROhkxpTWoB5jYYBR8MdSMli8ifHPpKYZUEyUbIoXrJUipUUMY/LrHhqL77sPrzDy1ZU
 mO9j0ysb2kUB+JrMFndY1K1bkYfmEUHPU7BcLvhhJD+BTuG0EuS591iVsSpa/nSpTjTbMHZZmZr
 0tsFshemxM9/q53FZDceobPzUNrgXcVpYDz4E4xRDohw==
X-Zone-Loop: 5826f3218c9c91ae47ad8032721273db1f3e4a9eccd0
x-campaign-type: default
x-transaction-id: 7ddacf55-85ec-4a92-b0c2-ab53fb2b738e
x-swg-uid: 01-c28baca0-f1c6-402c-b7fe-e084d43271a9
X-Mailer: Sweego
Message-ID:
 <1782310235.8631fc262581453bbf619ec5b2062170.19ef9f7ec4e000701b@vates.tech>
x-swg-bid: 1782310235.8631fc262581453bbf619ec5b2062170.19ef9f7ec4e000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Wed, 24 Jun 2026 16:10:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xenstore-paths: Allow subnet prefix in IP address
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <1780912172.8631fc262581453bbf619ec5b2062170.19ea6a32f2f000701b@vates.tech>
 <6bd3cb66-5999-49e3-a387-c481669c24bd@vates.tech>
Content-Language: en-US
From: Tu Dinh <ngoc-tu.dinh@vates.tech>
In-Reply-To: <6bd3cb66-5999-49e3-a387-c481669c24bd@vates.tech>
X-BM-Disclaimer: Yes
Content-Type: multipart/alternative; boundary="-=Part.375.9b1f48710838121e.19ef9f7ea3b.d13b27f2cb1979e1=-"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1782310234683
X-purgate-ID: tlsNG-bad1c0/1782310240-5579D986-A69CE448/0/0
X-purgate-type: clean
X-purgate-size: 4775

---=Part.375.9b1f48710838121e.19ef9f7ea3b.d13b27f2cb1979e1=-
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On 24/06/2026 15:53, Teddy Astie wrote:
> Le 08/06/2026 =C3=A0 11:51, Tu Dinh a =C3=A9crit=C2=A0:
>> In the guest-reported IP address in xenstore, it's useful to know which
>> subnet it belongs to=2E
>>
>> Add a specification for the IPv6 host address/prefix format specified b=
y
>> RFC 4291=2E
>>
>> For the IPv4 address/prefix notation, as there seems to be no equivalen=
t
>> RFC specifying the host address/prefix format, specify it ourselves=2E
>>
>> Signed-off-by: Tu Dinh <ngoc-tu=2Edinh@vates=2Etech>
>> ---
>> =C2=A0 docs/misc/xenstore-paths=2Epandoc | 12 ++++++------
>> =C2=A0 1 file changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/docs/misc/xenstore-paths=2Epandoc b/docs/misc/xenstore-=20
>> paths=2Epandoc
>> index 4994194=2E=2E1fab3bf 100644
>> --- a/docs/misc/xenstore-paths=2Epandoc
>> +++ b/docs/misc/xenstore-paths=2Epandoc
>> @@ -78,12 +78,12 @@ VALUES are strings and can take the following forms=
:
>> =C2=A0 * MAC_ADDRESS -- 6 integers, in hexadecimal form, separated by '=
:',
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 specifying an IEEE 802=2E3 ethernet=
 MAC address=2E
>> -* IPV4_ADDRESS -- 4 integers, in decimal form, separated by '=2E',
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 specifying an IP version 4 address as des=
cribed
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 IETF RFC 791=2E
>> -* IPV6_ADDRESS -- Up to 8 integers, in hexadecimal form, separated
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 by ':', specifying an IP version 6 addres=
s as
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 described in IETF RFC 4291=2E
>> +* IPV4_ADDRESS -- An IP version 4 address as specified by IETF RFC 791=
,
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 optionally appended with a "/prefix" valu=
e=20
>> representing the
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 prefix length of the host address's subne=
t, with=20
>> "prefix"
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 being a decimal integer in the range of 0=
 to 32=2E
>> +* IPV6_ADDRESS -- An IP version 6 address or abbreviated "address/=20
>> prefix"
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 combination as specified by IETF RFC 4291=
 and RFC=20
>> 5952=2E
>> =C2=A0 Additional TAGS may follow as a comma separated set of the follo=
wing
>> =C2=A0 tags enclosed in square brackets=2E
>=20
> I'm not convinced this is a good idea=2E This is technically a breaking=
=20
> change, as the proposed format now allows IPv4/subnet form, while the=20
> user of this info may not be aware and could fail to parse the IP=2E
>=20
> If we need to expose additional infos, I think it's preferable to either=
=20
> expose a alternative IP node with this new format or put the additional=
=20
> info in a separate node=2E
>=20

xenstore-paths=2Epandoc already states that "The values written are=20
primarily for display purposes and must not be used for packet filtering=
=20
or routing purposes"=2E I don't think any toolstack currently checks for=
=20
the field's content format (XAPI doesn't check, xl doesn't even know=20
about the field)=2E Given that guests can present just about any value to=
=20
this field, it has always been considered an untrusted field and=20
consumers must be able to accept unexpected formats=2E

The spec change also makes the network prefix optional, not mandatory=2E=
=20
It'd be up to the field consumers to add support for network prefixes=20
(or at least tolerate them) before rolling out the actual change=2E

Conversely, adding an alternative IP node requires the guest to report=20
at multiple places at once just to ensure backwards compatibility, and=20
makes treating the field itself more complex for the consumer=2E So I=20
don't see the benefit of mandating yet another field for this purpose=2E

> Teddy



-- 
Ngoc Tu Dinh | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates =
solutions

web: https://vates=2Etech
---=Part.375.9b1f48710838121e.19ef9f7ea3b.d13b27f2cb1979e1=---


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 14:18:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 14:18:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345016.1604021 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcOQt-0008P2-Iu; Wed, 24 Jun 2026 14:18:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345016.1604021; Wed, 24 Jun 2026 14:18: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 1wcOQt-0008Ov-FJ; Wed, 24 Jun 2026 14:18:27 +0000
Received: by outflank-mailman (input) for mailman id 1345016;
 Wed, 24 Jun 2026 14:18:25 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcOQr-0008On-Sb
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 14:18:25 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcOQq-002eHB-WC
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 16:18:25 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3be72b-5cb7-0a2a0a5109dd-0a2a4506bccc-16
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 16:18:24 +0200
Received: from [209.85.221.44] (helo=mail-wr1-f44.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3be730-08de-0a2a45060019-d155dd2ce931-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 16:18:24 +0200
Received: by mail-wr1-f44.google.com with SMTP id
 ffacd0b85a97d-4627adcf4d6so879199f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 07:18:24 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4923fe7b9e5sm441717515e9.10.2026.06.24.07.18.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 07:18:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782310704; x=1782915504; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=GKpmAxy6+hQhK59rbyRdcJYyg0sshmUpGh5LkxRwn64=;
        b=AVvlgzI8wlVZLwp5pErcmIXbkbhgp2x7zzSEoC9jT6djij/6IINBIVOVenwOAIDAJD
         U7bg32xXGWiSB9hINcK8WV7KaAza/n0Pte6IPln8gDUQiEfVLSCQdM9mpPbmaJzom39L
         Q6ourVgMEj4ilFnAB4UGKVfZieiLzZMMIhTYVL96c3E48ywbC2cnvcDHtQzsLXfx/1z/
         DTTfKpS3TDt3E6yCnfmscZ5yCKd/y3+WJdkNtXHK6D5OIk4pca0nRqCY15FjRM32C6Rq
         WxVQFOWkQQM/WE5S9s0Izo6IL3rNXAvfh/vvg6v0OaGgq2vb15txE2HQHJx79/ssQvOh
         NvXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782310704; x=1782915504;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GKpmAxy6+hQhK59rbyRdcJYyg0sshmUpGh5LkxRwn64=;
        b=JvwZac/xpkaC0ve95WG0M+kB9IBvGHYvPXILXqQO/RUEX01Ch3CMlrjn/BmHb/Uq88
         DMgWuXlX9ybX4XxomGmG+Nao7tuimfNioAQQNtk2sWscJNaoD+g8JxrmXroLJ2UEKFkX
         gSZAShi7ull6XIYsQwDHkLgdX1EWcKIoZfaJ8kMkI8WpnJzBQTi/YzHGlomxzWAdmq2q
         9C8r7C44GcPmQ+vxokqrOO39fYyyotdoASn0Ljb25NSK/Qb7xPe8MbPCDxwjlHjEWHpe
         0CfIbGfZfm2zJZRy3dWdy4iZUOahuXsMKtONoFrO9k6D+v11i6T1pqFVa8qCX2+RRC/I
         LoAg==
X-Forwarded-Encrypted: i=1; AFNElJ9zEzyRZFx62JCiXTVWJrvkMUhhldfgYRZHWgh8k3M+RPM92aqSjVN3QsjaVIySsabghH8Vq7jSI6o=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzd5+agN1BBSgLVJ930NNutTWRrBEFM450bOo2cYU2BtKx2Jv7N
	njqB+nVShaxA11dv5kWJwniDHrV0fWq3sAy0vF+W7vvLfYvL5oIrpknFvgu33XiqxPdYbfKrWry
	pjaBmlA==
X-Gm-Gg: AfdE7ckbyUdtf6hw5dYd5+q/VQD4uJ+bdQwEAXmAL1aSDegm94EDk3KvCwyt55j5C+f
	k2QpfxRcwFmRdhTXn+yCIVd1M3JNIOLB3VrCcaERLiU1hvBcjEtTKzV8Hq9FsSAOagIDe0u7581
	9ce3vdFtey6mDso2Q8ps/PsisGh6qGox6IA8JlruknPrO2vPdvSc6veOu9XtX2k2AAfwIj6rHzb
	t2fULhNUGe1m6D5eMaH7hTsJY/1qV2qzL4nTMB0kxji0AOr5oVheE+otA86YoEhOzN/lsOuLiqW
	orLi/H9XDHGR2rGZ/T5ix8XwuQsGWRntmzd/6rEYwh/3Io9VcK5fQunCvnc5OLkUNKN7Pz+W5K/
	oo75ww1EQgmEcZxIwJ/Pmdlgjle5qiE8SE6OQoiceN+C/ylHBIZF2MfngpeEx2w+Wy/4jPeviD1
	7reVfHk1p3V4tqVXEmpJTDPmExIAcjCk3bR4vooErwlIxa/JHTFRoIZihd7HLHJ68n2BXl3oWu2
	mWH
X-Received: by 2002:a05:600c:1910:b0:490:b3e7:4614 with SMTP id 5b1f17b1804b1-49260878076mr50358735e9.25.1782310704188;
        Wed, 24 Jun 2026 07:18:24 -0700 (PDT)
Message-ID: <070ff282-5ee4-4c24-b0bc-92d187c40dd9@suse.com>
Date: Wed, 24 Jun 2026 16:18:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/4] x86/efi: discard multiboot support for PE binary
To: Frediano Ziglio <freddy77@gmail.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Frediano Ziglio <frediano.ziglio@citrix.com>, xen-devel@lists.xenproject.org
References: <20260616172830.111393-1-frediano.ziglio@citrix.com>
 <20260616172830.111393-3-frediano.ziglio@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: <20260616172830.111393-3-frediano.ziglio@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1782310704-41F3C68D-C37D94DD/0/0
X-purgate-type: clean
X-purgate-size: 1198

On 16.06.2026 19:28, Frediano Ziglio wrote:
> From: Roger Pau MonnÃ© <roger.pau@citrix.com>
> 
> Multiboot and PVH booting are not supported for PE, hence discards them
> in the linker script when doing a PE build.
> 
> That removes some relocations that otherwise appear due to the usage of the
> start and __efi64_mb2_start symbols in the multiboot2 header.
> 
> Section discarding is not done updating DISCARD_SECTIONS definition as the
> change is specific for x86.
> 
> No functional change intended.
> 
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> Acked-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>

While on the surface this looks okay, there are still concerns:

For one, this also discards the PVH entry point. That's technically fine aiui,
yet shouldn't go without mentioning.

Otoh you discard call sites of functions without discarding the functions
themselves, violating Misra's "no unreachable code" rule. Eclair may not be
able to spot this, but imo we should still adhere to the rule. Proper
coverage analysis, for example, would likely turn this up.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 14:23:49 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 14:23:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345025.1604029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcOW0-0001Vr-38; Wed, 24 Jun 2026 14:23:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345025.1604029; Wed, 24 Jun 2026 14:23: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 1wcOVz-0001Vk-Vg; Wed, 24 Jun 2026 14:23:43 +0000
Received: by outflank-mailman (input) for mailman id 1345025;
 Wed, 24 Jun 2026 14:23:42 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcOVy-0001Vc-QP
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 14:23:42 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcOVy-00G68Q-0C
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 16:23:42 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a3be868-e002-0a2a0a5209dd-0a2a4506ece2-12
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 16:23:41 +0200
Received: from [209.85.221.54] (helo=mail-wr1-f54.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <andrew.cooper3@citrix.com>)
 id 6a3be86d-08de-0a2a45060019-d155dd36b115-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 16:23:41 +0200
Received: by mail-wr1-f54.google.com with SMTP id
 ffacd0b85a97d-4624c1409c9so975831f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 07:23:41 -0700 (PDT)
Received: from localhost.localdomain (host-78-146-248-75.as13285.net.
 [78.146.248.75]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-46c2279bc77sm6387119f8f.32.2026.06.24.07.23.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Jun 2026 07:23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1782311021; x=1782915821; 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=5zjnCNpKCU+HaOWOpVql/VMnOAwgSOfc86FOZIOHrL0=;
        b=HpaEsKG8TsPv/PlTnWg4YS3ADE0tYf21g7VvFTBz7iUUZJZ9Ipzc4dk3LyeRdHX/qj
         Irugjop9JLZONZ2Cp05A6LM1en0g6bt9axylXJbG2G7BXcyz14wE8hu/JgZuKEtjxkkW
         9oRICqNWIPTCTMM3KDF2azDnpPhiUVsEJbnnw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782311021; x=1782915821;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5zjnCNpKCU+HaOWOpVql/VMnOAwgSOfc86FOZIOHrL0=;
        b=fIOxKO8j4T1qs9HqgRH+rAlL2vkFISsLWnCoMqg4/mzhu2ghFMrI+OcnY3TUnxlO/V
         8m5tsOSaS5WTWXIaFO66qCrNICfa8zFHXPAzsz+cbzftgjSJ1qGBw5SRo8C5SD1mmnbn
         k8LWpYXRPaIjljEPiixP8ViGRk4pneMYgcnIg9esx1XGM0aYXqOrj2S0sNq08I4kZRfJ
         ygxK/elEwdRgLvuQiTy5WtZACIGgRiP7yckZEZiLpdfZeySfyRMWsAu+AprMqmz6KbIj
         iMN0LZ9lyiI/smBJR06EYU/8d4OnDx4Nz2Tj0G/7bWhPLgRLGIkgR4YyJXdC/SlSocw7
         lhBQ==
X-Gm-Message-State: AOJu0YwMnOARUBXU0E3F8ISElBzl6Y6mzqk6TuTWYyEeOC6ZyzkPbsBk
	x9kS/coSVSdr6kqs6Em9o+FSzhB8tRjsjLhx4C7oftxTqBzcI1OYHMyxHYSh4fMZ5k0oNZSQV6n
	YXIiL
X-Gm-Gg: AfdE7clPVSrgxsf5fMVNPibDd7Db5hzQ9EmDnm8hBorEpTFQ0meeQ4hGpyPdeokrdf9
	UuEGL54rGTLmtJVIhHnTwOZ/ORYN7grvJ+yndzPKQgwczQNIyDx5j3cqIZkF2/WmXQxaRMNpwZu
	vwOcVyYrB4abc9shCIwc8IpnOlqJ9u/L59TpAvZnPEoY46CNvA/r2zqD4IX2NlS4Yw3PQ3jhw5H
	2isVukR0S2Kcbyqq7SP4ZHTkj7JTI6Cr/kM4BaZvGhm5/8WLU2YlkGh3UbBSU2uSdu9ONWNSH+n
	6KuP0ouff+Pm4mvnQs3YOoMERRvhUBPve9mJRH3JEFG6XOM+3C0ToafAV0NQtMBocN8W6a0ZOwi
	O5Ub2gWHY1kJKP7APO7Bq4XhiQs17yR8Ao5kKqEs5Z7+jpdQe7DB0p6AmJ83wZa7rAmg8KNkb1W
	ma++hrrzuE0DnYzTRf1rPaYbsQo4ySmUbmU0eYKcMW/YdL/QnaEVYg5Ss76Pphp8g=
X-Received: by 2002:a05:6000:2c0f:b0:461:a161:b625 with SMTP id ffacd0b85a97d-468c50a2547mr21712082f8f.17.1782311020718;
        Wed, 24 Jun 2026 07:23:40 -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>,
	Teddy Astie <teddy.astie@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH] x86/fred: Send an EVENT_CHECK IPI on exit from NMI
Date: Wed, 24 Jun 2026 15:23:38 +0100
Message-Id: <20260624142338.653064-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
X-purgate-ID: tlsNG-16d1c6/1782311021-C453168D-EFAA05DF/10/73395122804
X-purgate-type: spam
X-purgate-size: 4147

Returning from an NMI which hits guest context needs special casing in FRED
mode just like it does in IDT mode.

Break nmi_exit_to_guest() out of handle_ist_exception(), and use it in
entry_FRED_R3() also.

Expand the comment a little, and invert the conditional jump to
compat_restore_all_guest() to avoid needing an #else clause for CONFIG_PV32.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Teddy Astie <teddy.astie@vates.tech>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Slightly RFC, not tested yet.  (My AMD system takes an eternity to reboot)

For 4.22.  Found during testing of FRED.  The consqeuence is that we can end
up scheduling while still in NMI context, after which things like the watchdog
and other diagnostics don't work properly.
---
 xen/arch/x86/x86_64/entry-fred.S |  6 ++++
 xen/arch/x86/x86_64/entry.S      | 49 +++++++++++++++++++-------------
 2 files changed, 36 insertions(+), 19 deletions(-)

diff --git a/xen/arch/x86/x86_64/entry-fred.S b/xen/arch/x86/x86_64/entry-fred.S
index e9c84423dacd..1ad9694a043b 100644
--- a/xen/arch/x86/x86_64/entry-fred.S
+++ b/xen/arch/x86/x86_64/entry-fred.S
@@ -20,6 +20,12 @@ FUNC(entry_FRED_R3, 4096)
         GET_STACK_END(14)
         movq    STACK_CPUINFO_FIELD(current_vcpu)(%r14), %rbx
 
+        /* NMIs need special handling on return to guest. */
+        movzbl  UREGS_ss + 6(%rsp), %eax
+        and     $0xf, %eax
+        cmp     $X86_ET_NMI, %al
+        je      nmi_exit_to_guest
+
         jmp     test_all_events
 #else
         BUG     /* Not Reached */
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index 17ca6a493906..de5d854f5533 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -146,6 +146,35 @@ process_trap:
         jmp  test_all_events
 END(switch_to_kernel)
 
+/*
+ * When returning to guest from an NMI, we must execute an IRET/ERETU to
+ * re-enable NMIs, and must not process softirqs which can e.g. schedule
+ * rather than returning to guest context.
+ *
+ * If a softirq is pending, send ourselves an EVENT_CHECK IPI to compensate.
+ * This will cause softirq processing to occur upon leaving NMI context.
+ *
+ * %rbx: struct vcpu, %r14 stack_end
+ */
+FUNC(nmi_exit_to_guest)
+        mov     STACK_CPUINFO_FIELD(processor_id)(%r14), %eax
+        shl     $IRQSTAT_shift, %eax
+        lea     irq_stat + IRQSTAT_softirq_pending(%rip), %rcx
+        cmpl    $0, (%rcx, %rax, 1)
+        je      1f
+        mov     $EVENT_CHECK_VECTOR, %edi
+        call    send_IPI_self
+1:
+        /* For restore_all_guest. */
+        mov     STACK_CPUINFO_FIELD(current_vcpu)(%r14), %rbx
+#ifdef CONFIG_PV32
+        mov     VCPU_domain(%rbx), %rax
+        cmpb    $0, DOMAIN_is_32bit_pv(%rax)
+        jne     compat_restore_all_guest
+#endif
+        jmp     restore_all_guest
+END(nmi_exit_to_guest)
+
         .section .text.entry, "ax", @progbits
 
 /* %rbx: struct vcpu, interrupts disabled */
@@ -1209,25 +1238,7 @@ FUNC(handle_ist_exception)
 #ifdef CONFIG_PV
         testb $3,UREGS_cs(%rsp)
         jz    restore_all_xen
-        /* Send an IPI to ourselves to cover for the lack of event checking. */
-        mov   STACK_CPUINFO_FIELD(processor_id)(%r14), %eax
-        shll  $IRQSTAT_shift,%eax
-        leaq  irq_stat+IRQSTAT_softirq_pending(%rip),%rcx
-        cmpl  $0,(%rcx,%rax,1)
-        je    1f
-        movl  $EVENT_CHECK_VECTOR,%edi
-        call  send_IPI_self
-1:
-        /* For restore_all_guest. */
-        mov   STACK_CPUINFO_FIELD(current_vcpu)(%r14), %rbx
-#ifdef CONFIG_PV32
-        movq  VCPU_domain(%rbx),%rax
-        cmpb  $0,DOMAIN_is_32bit_pv(%rax)
-        je    restore_all_guest
-        jmp   compat_restore_all_guest
-#else
-        jmp   restore_all_guest
-#endif
+        jmp   nmi_exit_to_guest
 #else
         ASSERT_CONTEXT_IS_XEN
         jmp   restore_all_xen

base-commit: d42ace60290a4b4184ee2133b245b134fdf96fed
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Wed Jun 24 14:27:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 14:27:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345032.1604038 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcOZn-000256-Gt; Wed, 24 Jun 2026 14:27:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345032.1604038; Wed, 24 Jun 2026 14:27: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 1wcOZn-00024z-Dg; Wed, 24 Jun 2026 14:27:39 +0000
Received: by outflank-mailman (input) for mailman id 1345032;
 Wed, 24 Jun 2026 14:27:37 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcOZl-000243-IA
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 14:27:37 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcOZk-005O5u-UZ
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 16:27:36 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3be958-e002-0a2a0a5209dd-0a2a4508c866-0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 16:27:36 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3be958-edec-0a2a45080019-d155802caddc-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 16:27:36 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-490b1bbcf3aso6194665e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 07:27: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-49260915286sm148486875e9.1.2026.06.24.07.27.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 07:27:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782311256; x=1782916056; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=EvrY+XRvya2e4tUXP1DlmyYhOvFlaRI3hQgzIgMawro=;
        b=CXc8dJdAPKPg7oxwAYyYHIDRbXMkzplu8vyKNwG+Xj2cgogSOC+iaxjAWqn/pNGpoQ
         OWJEn6BysubfsbMrHu600BQqEpnC128hMYZlCPim0MBu0HgYvoFF3qaA5yhaAW8yNnTE
         BWuQQxsm+W/6A/v2jP3/R7Dh2QvkIgvPoZahurp4o5RFWHWMcUC5pFE0pf2A9Kn2vYp4
         BjPotD0OE1H9yETBeR0hgfRZPJqWAMgRrHDaC6fLTn8tRmtqGgbqXW7lwILHlyO7GoMP
         gCst6J8DH1nQR9z1XGiDx6sMVBTEH41Meq4aHWug7a3wzXTmNQMM01hCijuCwhQW/P6Y
         Ys0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782311256; x=1782916056;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=EvrY+XRvya2e4tUXP1DlmyYhOvFlaRI3hQgzIgMawro=;
        b=LPMJiKLUPKLr8UpxQNPukuI43AmJFeqbs8dX+zI+zKa8d5t5OyBUmCkejD84tGvbQM
         3nUl2pT2yf4i+PHXFUk+4mnyKKX4aJV3Ag68tan+WET2DvsPI1by5C+mMsJXDTEu1/QV
         4WvbJpzbSfNgwvWxB1iRWhuWCqH208iF61PQNs6mc64U69QmFCKFm0GiW8umorV1si4/
         wzGMswJp9rskX9GrMqY9Wi1fIFPEsQ7HriDZ+dOvRG9nPLJDw1+YtUh2CfsSF/vajEbf
         1j57ZDsrNUK9rgz7iali/LyWQVHd1vAmE4BJxzoqLX/L5ndxwQ+ftG2Ck6Tao/zLWBoQ
         w+hQ==
X-Forwarded-Encrypted: i=1; AFNElJ/SAKdteVsMU4YvDIkUyfG4LS0tO2iJCSoQ2OkWbPE5K6HX90ZT0C4AVYiV9qppOn+MgeLCMJrQ2Wg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw7YcucM/0NYSnkj2ErZeespDun5Y5MKOOW9EMRgcjNSxB1lJvA
	NuTUAjgAFuzHUTXTZnY5wjA3S7QoeNRR7NvVDEupp1ZYYiDirnG+CTDmLrZ03LjzlA==
X-Gm-Gg: AfdE7ckf3qoZVoPlUWkzGjgk1Yf8DNrsanAtfXqqCb+Xc5RpedOHU2gcI3HqXepC2Lw
	F+QsO3aX3YXXOlc6SzSykvD0ed/QuzFQsrtwIUStiQRRtuKESFefVcBM+XuqzOj4PMK/R+Kj8HO
	mFNMYxoy1NuvW9nuklZ0F9eB2/fjvkL4nFfwSP+yXgYH/eVmn2WTEeOJx/sc/fZg+7UIJEduAkE
	zL/YWTOYVoTpcaytdrN8y6bmNDsNPny8shXtPx/zQjfYfC4oXBW80uUQtMlmRnTZflJGXXlWigV
	hNvKub5EHuIRVfhk30ebUHzLhVjhyRHddh1Fa7P7ETTqCZxr+8ncVvZuDbTqZeH9OFZZjPkAGLn
	jKSm0mczhcxmf6MWNL8PIrEHR3dWQtlRP1BZpK6HZKBDUrmuwyyMdAd97S0o4xDivXr2fljbYx3
	y/K/OxVpemkaFB1Cpg3RMKa7tapBXagEmF0ZL1PDET3njH1bfaHfMxbtXDtlip1/HDxvVzF7f+4
	XZw
X-Received: by 2002:a05:600c:c0c5:b0:492:4ff5:fb9e with SMTP id 5b1f17b1804b1-4924ff5fe1fmr199439775e9.37.1782311256239;
        Wed, 24 Jun 2026 07:27:36 -0700 (PDT)
Message-ID: <d5eb947d-f2b1-4e6e-aafb-4fc7004eadf5@suse.com>
Date: Wed, 24 Jun 2026 16:27:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 4/4] x86: Split .init section to satisfy UEFI CA memory
 mitigation
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Frediano Ziglio <frediano.ziglio@citrix.com>, xen-devel@lists.xenproject.org
References: <20260616172830.111393-1-frediano.ziglio@citrix.com>
 <20260616172830.111393-5-frediano.ziglio@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: <20260616172830.111393-5-frediano.ziglio@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c1860d/1782311256-A273E3FC-6824E887/0/0
X-purgate-type: clean
X-purgate-size: 1430

On 16.06.2026 19:28, Frediano Ziglio wrote:
> From: Frediano Ziglio <frediano.ziglio@cloud.com>
> 
> Currently .init section is both writeable and executable, split data and code
> to have 2 sections satisfying W^X rule.
> 
> It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
> in the pagetables.
> 
> NX_COMPAT is a requirement from shim-review,
> https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility
> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> Acked-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>

This looks okay in principle, yet I have a nit-like question:

> @@ -210,12 +206,12 @@ 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) {
> +#ifdef EFI
> +  /* Align to satisfy UEFI CA memory mitigation. */
> +  . = ALIGN(SECTION_ALIGN);

In patch 1 you add two such ALIGN()s, one with comment and one without. Imo
we want to be consistent - all otherwise unnecessary ALIGN()s with comment,
or (less desirable) just the 1st one. If we go with comments on all three
of them:
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 14:29:51 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 14:29:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345041.1604046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcObr-0002gE-SK; Wed, 24 Jun 2026 14:29:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345041.1604046; Wed, 24 Jun 2026 14: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 1wcObr-0002g7-PQ; Wed, 24 Jun 2026 14:29:47 +0000
Received: by outflank-mailman (input) for mailman id 1345041;
 Wed, 24 Jun 2026 14:29:45 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcObp-0002fz-KC
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 14:29:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcObo-00ArEc-PH
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 16:29:44 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3be9cd-bab6-0a2a0a5309dd-0a2a4504e024-20
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 16:29:44 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3be9d8-a01d-0a2a45040019-d1558031d854-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 16:29:44 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490b9318997so5904255e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 07:29: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-46c2279b83fsm6701870f8f.29.2026.06.24.07.29.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 07:29: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782311384; x=1782916184; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=lV89mf99KR8TSDhpFmq/nOnmaCTz+Mt2NzDR2DCjNEI=;
        b=TtNexbVquhnWnNL681snkU1Im1N310+ij1BqYSOXy6gjQwzO2pcXevyZYz9gMUwda6
         ruwJe9w7zKhxo8MDcvLS6X1w6eeTEsfmZ32a0A5iQapmwA8+hz+qYbk2IOFIUCChHuMW
         1v0b1i6Xwi4NMPK9OTDkksFxrLIDTgPzas5JWEn5hb7XYQgrCvoWDcxLKTWrQx6CYPk/
         NELxJOlLdn/GppzKSKlpNNS5VJcVSH3ujeD+bhZ4hMFpWgXRG480W1xYvJXYmeIQWPfF
         3pAPoFnC9L4UNvRRBrBs5xQrhb7buuqJmuMgPJrCrKr/ql710Pva/47450o3x2hjZA66
         7Yrw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782311384; x=1782916184;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lV89mf99KR8TSDhpFmq/nOnmaCTz+Mt2NzDR2DCjNEI=;
        b=cuid+ZYoEylbFqsTm/lSzbsPHANqET8Rb14fZfDsEsJGp+agVcKUbAeeeeymMmDWgU
         lWOoIV/GXHoYx+cTrC3UdAAJF/nBuPxlR10aw18yugrGrubfMKz9UxulKMZ+HG5nVIIE
         yfUZvTdY7zgoKMAWMyIq/x2uWluKFTwf9aRAESe0qAkagqUO31UTvt+KD3+o74IoPh74
         SP9UK3V5mmh9sqJF+hXawYtmhmh58ULv97wXruq8THHRSil1JDeCMJe/sXtZ6RurZhb0
         VlP0h6G63EK7MJz+zX0vVlKBzV1mog8KBHnf0fmNtj4HaXPqTl1AAr8lWSEoa0JQ20Mw
         myaw==
X-Forwarded-Encrypted: i=1; AFNElJ8covJ7SWu46McRWcwImUr7bx6oUOstw3FuKsFCgm2fhnarLdKoAUZYcn6REPM0omBIl2122SCuAMw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyCUBUnccV+aOorvzMM+0vgpErNPpX5GazT6pp/G0sK7yqx5L3e
	gIMacaX6/fKX9YJX7MYdwYsnLjrpYW7iIm2Mv3Bi44oqtaEX0Xc4ZWSH4qnIAiTCmg==
X-Gm-Gg: AfdE7ckD/RwjGqp1LaamCiy56iTZeTn99BRaSxNrtfecrmItz0pPDVePTJ60mBFb4L4
	alWVTjncMrtwDypBRI1I9bB6Ec3zfloBzgsdVbPUEK4TvibCJ0CC076YCT5mtjdWPdB+FvZy/2/
	EN50YxLZoOZnWRWd+RpwoONd2TD1lz0C1L5bsFWakCn/DhQOdBasUR82cFGCIGU4ETsg8mye9/R
	J83EMUxCYVnq50JWdI6rfeZPZ7/GaN/5jt7zsWaoRzVWWFavemL/ye7FMV0x1gQAryWM/UwDk+9
	Ss+E6xF6HjYBql/TjP6KdSAOoF4B7TxhSDNQDWfXvNxg0wUge7eNjbGkg+rythoCQ/+ad9jhG+U
	m56DXXPYTZUHHTI+n8s/2p5VErTxWWPVBp2/JhullxHmpPE8/p89rh/w1+6VtB5D5+yRza2qdaT
	wDjx+aotej/emY6xU/aP7j2RQRMBGGr5mfoBWImnaqbeha6aNr4/8tmLYCqIlH/swB1HucdLcPg
	rBvniCMVEqkQ/A=
X-Received: by 2002:a05:600c:524c:b0:490:9804:afdc with SMTP id 5b1f17b1804b1-4926087273amr51718245e9.23.1782311384200;
        Wed, 24 Jun 2026 07:29:44 -0700 (PDT)
Message-ID: <650e5e54-6118-4de8-b6e9-dc09acddd4bf@suse.com>
Date: Wed, 24 Jun 2026 16:29:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/4] Align relevant sections to 4KB
To: Frediano Ziglio <freddy77@gmail.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Frediano Ziglio <frediano.ziglio@citrix.com>, xen-devel@lists.xenproject.org
References: <20260616172830.111393-1-frediano.ziglio@citrix.com>
 <20260616172830.111393-2-frediano.ziglio@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: <20260616172830.111393-2-frediano.ziglio@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ebf023/1782311384-2E1A71CC-26999438/0/0
X-purgate-type: clean
X-purgate-size: 1768

On 16.06.2026 19:28, Frediano Ziglio wrote:
> From: Frediano Ziglio <frediano.ziglio@cloud.com>
> 
> Required by UEFI CA memory mitigation.
> 
> It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
> in the pagetables.
> 
> NX_COMPAT is a requirement from shim-review,
> https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility
> 
> Sections with different permissions must be in separate pages.
> In the case of debug sections they are contiguous and have the same
> permissions, including the immediately preceding .reloc section, so it's
> not an issue if they are not aligned to the page.
> Before the .debug sections you could have the .reloc or the SBAT section,
> either are permission-compatible.
> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> Acked-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>

As per the reply to patch 4:
Acked-by: Jan Beulich <jbeulich@suse.com>
with ...

> --- a/xen/arch/x86/xen.lds.S
> +++ b/xen/arch/x86/xen.lds.S
> @@ -162,8 +162,8 @@ SECTIONS
>         __note_gnu_build_id_end = .;
>    } PHDR(note) PHDR(text)
>  #elif defined(BUILD_ID_EFI)
> -  /* Workaround bug in binutils < 2.36 */
> -  . = ALIGN(32);
> +  /* Align to satisfy UEFI CA memory mitigation. */
> +  . = ALIGN(PAGE_SIZE);
>    DECL_SECTION(.buildid) {
>         __note_gnu_build_id_start = .;
>         *(.buildid)
> @@ -330,6 +330,7 @@ SECTIONS
>    __2M_rwdata_end = ALIGN(SECTION_ALIGN);
>  
>  #ifdef EFI
> +  . = ALIGN(PAGE_SIZE);

... the same comment added here as well. Can do while committing, as long
as you agree.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 14:44:18 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 14:44:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345055.1604057 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcOpa-0005UI-4l; Wed, 24 Jun 2026 14:43:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345055.1604057; Wed, 24 Jun 2026 14:43: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 1wcOpa-0005UB-13; Wed, 24 Jun 2026 14:43:58 +0000
Received: by outflank-mailman (input) for mailman id 1345055;
 Wed, 24 Jun 2026 14:43:57 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcOpY-0005U0-V1
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 14:43:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcOpV-002SRB-Rt
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 16:43:53 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bed26-2eae-0a2a0a5409dd-0a2a4505b694-6
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 16:43:53 +0200
Received: from [209.85.218.52] (helo=mail-ej1-f52.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bed29-3cb2-0a2a45050019-d155da34e01f-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 16:43:53 +0200
Received: by mail-ej1-f52.google.com with SMTP id
 a640c23a62f3a-c0bce8840b6so126939066b.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 07:43: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-46c1e840f34sm7567781f8f.2.2026.06.24.07.43.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 07:43: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782312233; x=1782917033; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=YxWEejRbGhZW/BC+XGcDAuhzmVetniJJ09WYzFcS9R0=;
        b=XT+Dc4ulqdgEHzo91GwRwtvW5DYQTo89YvcD//eHQ7tFwPfwHY76M4eB2MRa9QTU+Y
         E2zfkW7sTbbID+xafUCznrng+4KtLINED07hzEuMw7b+Vobhed9t9K8Gpwe+dQrlKcAE
         GcI+rv17UyNnfps4eox2fzQpg+Cik2f61mBABZZQFSpD0IymSjtFEfwccPgmBuDfwdbX
         zgBNbaRqzVsCtXfHiXcg6bdBOm04q/k5Y+66WSW7OnAkzg5H5iphEO0Z7XRGOXPaz3V3
         H5DJTY8yJqJsnWnLPOPwl41LpmP64wAraB58gg//QAxNoupwE6+yJjatRBA0awkBA7pi
         /h9g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782312233; x=1782917033;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=YxWEejRbGhZW/BC+XGcDAuhzmVetniJJ09WYzFcS9R0=;
        b=aNubCM9HI7qzi4itom8vQgqNEJ+PtftTde2gKQ//VsKpdlE5CGllejgopy29rgQ5jp
         qF7MUtyq1IApbeFWy8UiNMj/BQCGlYu6+qiZ7c02W2CnJs1LF7fhjuqSUS3KCI7FRanQ
         Bg8C37YJKw7DlQE/3eozQp7fpkI32hrjziX3kpnm54mT0PrepKgLO/azdbj8G6lJOXkr
         z7Gc3akQIWLWhHWvDXlq4EHuRa+AvtaUnewEPaSI3m8ViG0gHkIQYtupEjsOPQrtImtD
         gXorsrGLriVTf/7PRU9KbZk1WHkN9N8kwyBAS3avjSsEjLydMevaxrRlDy6d0cuh+EXl
         WaOw==
X-Forwarded-Encrypted: i=1; AFNElJ+IxYcfenRNmKURYCfJgG0YgxA+BYKW54E4gfIi0FC0xEnJfIimuVvp72xGmBSoSuKW0JztMNf02mw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwNSsKuvaRFmllyfXDxaLxZN0rIaCyU50J+QaiogpyxWofiH5LQ
	kNefavtOXD7WJlwwyBIFLBKIB0bpM0xSQHw32pLTzrBj5yCpciOrQVpbg0x5ZMvSNA==
X-Gm-Gg: AfdE7ckPgCsOUdI4nFXvB6Wmnjy3oB9tsz1b9jwbLjjhqL3T14wF2DspEAiYFf1m/OV
	+SdbPERYho7orotg3++vmTkH6otLTnebJimDyzcVOmBYd64mCvlF0dowLBboFszZt3eABGgEKjM
	rrqegUkbiGf+u2W4kLTGSpb3WGsUEgG8MQ54w/A5yHDupxB9Bg2A1LSvHUoqDJ7/mDOUaIPcTH0
	Nc/18Fb436QdBb74TYAeh/mUF4+BmTHldNelXbhPUkBNKoI4OXVABJXpI7tFYkwH8GK4DBstvfb
	P5uFUc5a3DW9S5J1Y1SQO38ljfwPp885dqwGixZVfgo6mpH99rp1DsFQ2oecYR1CTDRF2vzcBfN
	eKpeqcbnkY6qyT1mQy7RZl3RnyEcd2abb1aXbbf0tgBajhGAFU2bz3DTITE0ugC6l2pbA0U8p3v
	EGTZ/Ik7pgu6BquGfvvjEmc2KegNixV1AazttdYf4I8rjznWh1L+s1+XtPqCR9mhytjd5GWbEyj
	NX2sMTms4Tzjas=
X-Received: by 2002:a17:907:a08:b0:c11:6b5b:70bf with SMTP id a640c23a62f3a-c119f50f4ecmr193083766b.51.1782312233152;
        Wed, 24 Jun 2026 07:43:53 -0700 (PDT)
Message-ID: <0e964293-5b38-4f80-be78-bda76706d0fe@suse.com>
Date: Wed, 24 Jun 2026 16:43:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/fred: Send an EVENT_CHECK IPI on exit from NMI
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260624142338.653064-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: <20260624142338.653064-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1782312233-559EA2B8-667B57A7/0/0
X-purgate-type: clean
X-purgate-size: 4209

On 24.06.2026 16:23, Andrew Cooper wrote:
> Returning from an NMI which hits guest context needs special casing in FRED
> mode just like it does in IDT mode.
> 
> Break nmi_exit_to_guest() out of handle_ist_exception(), and use it in
> entry_FRED_R3() also.
> 
> Expand the comment a little, and invert the conditional jump to
> compat_restore_all_guest() to avoid needing an #else clause for CONFIG_PV32.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
provided of course ...

> Slightly RFC, not tested yet.  (My AMD system takes an eternity to reboot)

... the results of this won't prove it wrong.

> For 4.22.  Found during testing of FRED.  The consqeuence is that we can end
> up scheduling while still in NMI context, after which things like the watchdog
> and other diagnostics don't work properly.

May therefore want a Fixes: tag (it'll also want backporting aiui).

> --- a/xen/arch/x86/x86_64/entry-fred.S
> +++ b/xen/arch/x86/x86_64/entry-fred.S
> @@ -20,6 +20,12 @@ FUNC(entry_FRED_R3, 4096)
>          GET_STACK_END(14)
>          movq    STACK_CPUINFO_FIELD(current_vcpu)(%r14), %rbx
>  
> +        /* NMIs need special handling on return to guest. */
> +        movzbl  UREGS_ss + 6(%rsp), %eax
> +        and     $0xf, %eax

As you may be aware, I'm not overly happy with such literal numbers. But
well, alternatives look a little involved. So just a remark, not a request
to consider any kind of adjustment.

> --- a/xen/arch/x86/x86_64/entry.S
> +++ b/xen/arch/x86/x86_64/entry.S
> @@ -146,6 +146,35 @@ process_trap:
>          jmp  test_all_events
>  END(switch_to_kernel)
>  
> +/*
> + * When returning to guest from an NMI, we must execute an IRET/ERETU to
> + * re-enable NMIs, and must not process softirqs which can e.g. schedule
> + * rather than returning to guest context.
> + *
> + * If a softirq is pending, send ourselves an EVENT_CHECK IPI to compensate.
> + * This will cause softirq processing to occur upon leaving NMI context.
> + *
> + * %rbx: struct vcpu, %r14 stack_end
> + */
> +FUNC(nmi_exit_to_guest)
> +        mov     STACK_CPUINFO_FIELD(processor_id)(%r14), %eax
> +        shl     $IRQSTAT_shift, %eax
> +        lea     irq_stat + IRQSTAT_softirq_pending(%rip), %rcx
> +        cmpl    $0, (%rcx, %rax, 1)
> +        je      1f
> +        mov     $EVENT_CHECK_VECTOR, %edi
> +        call    send_IPI_self
> +1:
> +        /* For restore_all_guest. */
> +        mov     STACK_CPUINFO_FIELD(current_vcpu)(%r14), %rbx
> +#ifdef CONFIG_PV32
> +        mov     VCPU_domain(%rbx), %rax
> +        cmpb    $0, DOMAIN_is_32bit_pv(%rax)

Would you be open to a little bit of trickery here while you move the code?
The low 12 bits of %rbx are clear, so instead of $0 we could use %bl here.

> +        jne     compat_restore_all_guest
> +#endif
> +        jmp     restore_all_guest
> +END(nmi_exit_to_guest)

Much like you flipped the Jcc/JMP here, ...

> @@ -1209,25 +1238,7 @@ FUNC(handle_ist_exception)
>  #ifdef CONFIG_PV
>          testb $3,UREGS_cs(%rsp)
>          jz    restore_all_xen

... how about also making this plus ...

> -        /* Send an IPI to ourselves to cover for the lack of event checking. */
> -        mov   STACK_CPUINFO_FIELD(processor_id)(%r14), %eax
> -        shll  $IRQSTAT_shift,%eax
> -        leaq  irq_stat+IRQSTAT_softirq_pending(%rip),%rcx
> -        cmpl  $0,(%rcx,%rax,1)
> -        je    1f
> -        movl  $EVENT_CHECK_VECTOR,%edi
> -        call  send_IPI_self
> -1:
> -        /* For restore_all_guest. */
> -        mov   STACK_CPUINFO_FIELD(current_vcpu)(%r14), %rbx
> -#ifdef CONFIG_PV32
> -        movq  VCPU_domain(%rbx),%rax
> -        cmpb  $0,DOMAIN_is_32bit_pv(%rax)
> -        je    restore_all_guest
> -        jmp   compat_restore_all_guest
> -#else
> -        jmp   restore_all_guest
> -#endif
> +        jmp   nmi_exit_to_guest

... this

        jnz   nmi_exit_to_guest
        jmp   restore_all_xen

then allowing to fold with ...

>  #else
>          ASSERT_CONTEXT_IS_XEN
>          jmp   restore_all_xen

... this?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 14:47:30 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 14:47:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345063.1604066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcOsq-00063u-GZ; Wed, 24 Jun 2026 14:47:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345063.1604066; Wed, 24 Jun 2026 14: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 1wcOsq-00063n-D7; Wed, 24 Jun 2026 14:47:20 +0000
Received: by outflank-mailman (input) for mailman id 1345063;
 Wed, 24 Jun 2026 14:47:19 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcOsp-00063h-9E
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 14:47:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcOsn-00GBLg-UO
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 16:47:17 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bede5-5cb7-0a2a0a5109dd-0a2a4507e656-34
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 16:47:17 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bedf5-9c8e-0a2a45070019-d1558031dc93-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 16:47:17 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-49258ac7294so7484455e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 07:47: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-4923fc47720sm809664825e9.0.2026.06.24.07.47.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782312437; x=1782917237; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Gn7qNh4hUu63X5G5nP0M8Z4qlGZDt0v0FFzHvFsi8JQ=;
        b=J+HbnCPvogQKnl4NlnpugOiKcVHw1005uA7whlFQ0KVoTTfCk/pf5jqlWmHLZtlQKh
         6CZ6KZOe2D6up0MQPC0O0qBUeB/c2hVLvf4MRWU6nM7K53OYhkg/HtolTF0TcLPNYnaG
         Shb5dXLvvYLzH1ZpUr4T2s6T4UV7L8eh++s4F/7QGEAZLvxjyp5YSnnV+b0GRMgx1UHN
         NI1OzfgOIV93t8ahQL6QKed+udg+hubBupoxq+E0glkn/RGyPiX0zFmdXFclBrbwPKYr
         LPr9kjE9tfn5pVqFRYRO14KE6FOsb2gHOna0XzqWZsUCgr/CeKQZoUJ5RhpyWENSCcsW
         40kA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782312437; x=1782917237;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Gn7qNh4hUu63X5G5nP0M8Z4qlGZDt0v0FFzHvFsi8JQ=;
        b=qOjhyQCtWMl6kkyWhr7W1M67/YKSbKeRA5PrBqKi/nzgCW3UZUhUOA6hRAgqo+jW40
         IQdXeUuZ9i49JKjJnk8Y1ldnPUWJRBZQhgzxw7if3pZyQBfdgDBjn4gjeW9yVphKBoYz
         oNr1hJ2V4Ei4ktRolddW9jAN9FId9O+fHlI9RalsMjDpgW8xEAJ6nUuV6Zej3tiCXMvx
         /uUjLtvGI8ENkroxOV17KDul56v9sf42QoMd9jdOcQixdPh4QS51L53OXe8rilm5PTMl
         t+6m4S0N8+CiRp70czDyDpO5LzT3cTKSxhKqbczNF1+pUx+JLxpPPtwnp7yP5MBRDFuC
         KqEQ==
X-Forwarded-Encrypted: i=1; AFNElJ8PS+aRasWi3XzGC7Qc7ExL4jbKveBFMd0TuQuJnHVAdh0IDnEiJHIQsY72ep2jo7DLJM+mbOaDoVs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyLYYMi/ok7WsNMgxCNYleyL3FWRFlnn4goAuQdbYKWecLdi4iy
	KCa69BxVdQFMdRCMSHFBFNNLt0AYttsdmiWfVGLaAVq94InV7OyE38QZU+Ej2Eq/1A==
X-Gm-Gg: AfdE7cnt6FBujD03kjCQrPnkI0gukprvTSX29O8fjOhJSl8YLAonMI59sWlBM5q4Oj8
	G1Q4nsF7T5n5wfKLv1vKOHHw0+ciw6BNyZTF027hDMJFLOtgb+dXmIjc6oexhgaSAG7yv1emtiz
	RCm3i7bnEl/aWy/f2vzJ/0E5cFMFtJA4zKzFp+6K+AronY1CEfQEREjoijuVNL17sB1jaYq+6o9
	ShpqyDUFz83o6PhkZXLgQ3FlWQl0FVu9sEKi4lT46paXyczyqpHIMyr2s8o8H/iK0jz9ku91Ia7
	tfb237DUCpEYMQiOozLFAHraY2BriV5BaVB5WurZHZNMh4NFovu/6ro6JHkyk0QzKTQE2Yce7Iv
	y4cvhY0afeg5k0MetlIf9ejzFS6hlx+6lluzRMk6XqnIpL8AsoaEDrIU8z+my3bUYN+2AZWWiSh
	Z8Kp2OjlwQuM5NzWQD+5Sw67Q4kuVlFFWdAkMMMNlkPrN4rQbV+1IG7nsu27oXqHLaXnQg6mQn+
	a/A
X-Received: by 2002:a05:600c:1daa:b0:490:da12:f1fa with SMTP id 5b1f17b1804b1-4926087853cmr47525835e9.31.1782312437207;
        Wed, 24 Jun 2026 07:47:17 -0700 (PDT)
Message-ID: <a7ce9d22-7ab9-4638-8ffd-2ffb9bc55df9@suse.com>
Date: Wed, 24 Jun 2026 16:47:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/fred: Send an EVENT_CHECK IPI on exit from NMI
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260624142338.653064-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: <20260624142338.653064-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ef75cf/1782312437-FCD2C25E-EB3720A7/0/0
X-purgate-type: clean
X-purgate-size: 696

On 24.06.2026 16:23, Andrew Cooper wrote:
> --- a/xen/arch/x86/x86_64/entry-fred.S
> +++ b/xen/arch/x86/x86_64/entry-fred.S
> @@ -20,6 +20,12 @@ FUNC(entry_FRED_R3, 4096)
>          GET_STACK_END(14)
>          movq    STACK_CPUINFO_FIELD(current_vcpu)(%r14), %rbx
>  
> +        /* NMIs need special handling on return to guest. */
> +        movzbl  UREGS_ss + 6(%rsp), %eax
> +        and     $0xf, %eax
> +        cmp     $X86_ET_NMI, %al
> +        je      nmi_exit_to_guest
> +
>          jmp     test_all_events

Actually, how about shrinking this to just

        test    %al, %al
        jnz     nmi_exit_to_guest

by having entry_from_pv() return a boolean?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 15:09:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 15:09:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345081.1604078 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcPE5-0000if-5d; Wed, 24 Jun 2026 15:09:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345081.1604078; Wed, 24 Jun 2026 15: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 1wcPE5-0000iY-2X; Wed, 24 Jun 2026 15:09:17 +0000
Received: by outflank-mailman (input) for mailman id 1345081;
 Wed, 24 Jun 2026 15:09:16 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wcPE3-0000iS-OD
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 15:09:15 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcPE3-00EQyM-52
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 17:09:15 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3bf30a-bab6-0a2a0a5309dd-0a2a4508a482-22
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 17:09:15 +0200
Received: from [52.101.61.42]
 (helo=DM1PR04CU001.outbound.protection.outlook.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3bf319-edec-0a2a45080019-34653d2abc59-4
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 17:09:14 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by SA6PR03MB7758.namprd03.prod.outlook.com (2603:10b6:806:434::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.12; Wed, 24 Jun
 2026 15:09:11 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.018; Wed, 24 Jun 2026
 15:09: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Zd1YRgmNlsqER1L9DkO31wvq/huYNSmgc5I+G5KC5iNw/OJbFZptTm8l1kUf+tzszLpJHSnCjhqpsUXSI1NuagOnr749nvK8HK2c5LfURDd6I3nmV0fJDwiBU9lDZWtAC5bzaLyjFzrkWAh9jWQuXTX3qhyA5yCaK6Q+HsPyVDltnwJXX1iax7l3YiZHxZQK6tHUHVOv8g3mS++Ivy4U7gxYowoy/Hgvabs3ytPNu/z6X09BJ9a/Bfgh4xF3t57LTdgf57diibtAKie87poRC9300ZGumMBncPRA6dRCqpqPQARMsD8Df/H1S/Ct7r2FbhyiiYJV9HjwsbJI+TtS9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=86E59rNNtIBjM8Wmc7F3cvyLTuC2UFWwqW/zUH5k9ac=;
 b=RzX9gbe/GkBLoRqRTzTxAwoAGYWwDwSvnojUXa5RBcbeY+DxWMvDDcbgO1fdSzMv9UapMCf/Xhwi61Uz1rHblEFvJ2R0ghgVg0jqXq5Czgk+R4FL8xB3yolj6pnTSAwM3FcXNl5x0lnfWB2KfYvmw9a+3FY3LKdLL7kO9QeUNrp/DrieyPNUZY/n9ygHYFfm1q2Lm3K6w7Dkbr4a7GutHjmfrLW+TqoICulbQY8uewkSQqQTCQZx+pLt2rycKZ3iFLkHNayfAgkmZocgnVcjXHZwVp1fsjd0yEyiiBmCYmsPA8MH1RhZit+E/0/xIGiCDHJJO6+bjq3pl+C0AsXbnA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=86E59rNNtIBjM8Wmc7F3cvyLTuC2UFWwqW/zUH5k9ac=;
 b=E54l+TXAl3hOshb5bwmO3d/+HNPt9e8rCpxA6yDePcoM64WzJ9KAXPL/poSHsKEtZ0wzutFf3/ZK4/duR1BJIMa2kgmy9DoplHmNodEdWNrI2WVAnCC+3ZWaNs7ro13Ai3fs1iLm2AdBrJojWKDZ9I97uDnPuhUKN00/Yu86Xok=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <df2bdff9-6efc-41e0-91c2-f44a44d28871@citrix.com>
Date: Wed, 24 Jun 2026 16:09:07 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] x86/fred: Send an EVENT_CHECK IPI on exit from NMI
To: Jan Beulich <jbeulich@suse.com>
References: <20260624142338.653064-1-andrew.cooper3@citrix.com>
 <a7ce9d22-7ab9-4638-8ffd-2ffb9bc55df9@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: <a7ce9d22-7ab9-4638-8ffd-2ffb9bc55df9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P123CA0095.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:139::10) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|SA6PR03MB7758:EE_
X-MS-Office365-Filtering-Correlation-Id: 55df6e73-bbcf-4f13-76f8-08ded2028c14
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|23010399003|1800799024|376014|4143699003|18002099003|56012099006|22082099003|3023799007|11063799006;
X-Microsoft-Antispam-Message-Info:
	Q0BWvcj3CcAbjYWpSbPviaWv4/sN5pIE1iBp9jXFRYZDrYhePG5KIAKfjGtELogn5xa3KW1MRh4j5p/Jta6A851q6Df16/DK+k4Ataz20U73A0XzF0R7CjlBT7/AKOB0Bc8LeBd1kwCTjKyM3+fiSyIVx7cZgE0pdjZo+3h0y6YY0Lh8+cm4jKEWALQEdaPw8JpzuxgIUoKb5V0CkvGN2fKHm2BOyK/kEVZk9uGCxgNzzdNI51He6VyxxotFYaf+sjGXZDSQc22Q9MmB2a/aqj8jSR/MfL5zqSWz04QsC342nDZHiCHEL5vyTZwldLADT/osZDCPvtFheN3VmUkV8b6pXp8KgU/+t5J2WCzcSALY5A0UNZjvMxhWkIPCYt/TclIZi+z1pIfNxQgj5/TEWMVwuwtlKMjhUPtJnotf9EztwDXk5cR8wej6YomZfnFVPpguS6aeb04OiLexICBv+d1CsYcE0khPQoMWraYpyk4Te2kYn0JdEQV5tCGmKTj1+xDon3lKZ7aza1LNVVSA/CiyjXSqRYJqGnMZTdPhQ02qXTe7PIBHOoc3zUJvg2Cgui29YVKT/Mbga690NA2mmgfoqmBZgyob5e4s9+VEQYVWbWHoZZy0VPN2eGcGHLuF0kOL/7xvQPJG79B8RUonihN6giN1pkQyKJgJvi5tB5Q=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(1800799024)(376014)(4143699003)(18002099003)(56012099006)(22082099003)(3023799007)(11063799006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bkpYeTBEcENUWmFMM1FIQlNhWkJIbkhmbGpVNTJuSmhrSVNVMXdKUFZBMHI5?=
 =?utf-8?B?VTVtVXh1bE9kWU1qZHRVdGQrWDJlYnFBV2padkNzVWFoQkV5VUJrSmN4SEdP?=
 =?utf-8?B?eGNjYzB3eHVNSWFGanBNQVAvMVpjOUhQbG9qYjd6OVdDejlWclNyU0s2cWxj?=
 =?utf-8?B?MnE3SmZJM2ZVMmxHN2wra0U5RVdoNTg1ZTc0WDNpTHhvcWZrWlVRWnJEeEtF?=
 =?utf-8?B?MW9DV1hnUE1WeitiK012QmdKZm5rbUMwdVZpUHIvcGlpeUF0UFhqTGNuVm5i?=
 =?utf-8?B?dk9IbDJ5SzNSckRiNGdpemFwTFRmMjU1RWMxMUdCVUJjbGUxcGkyU3B3YkFH?=
 =?utf-8?B?YTg3TDBQQ2FJTzQzbjBoTnNUdWlEWXpiVnpnT2tuNXBibHlhOFUrTjNHaFV5?=
 =?utf-8?B?OUhnNTRFTWo2RXhGM0pmeG8yQUxlK0JtTXdKdEgrU282VFRVcW5MQWIvSzJQ?=
 =?utf-8?B?NmpuOFkrRDBqNFR4TmFQeEhJR3h6dElNalRIb1NjWDVPb2pNTWFaK2swNEN6?=
 =?utf-8?B?bjlnaitaMDAyeXRVYVR3cVVDNnNmcWk4cENwUGYrRSszOXl4R3Y0RVdVUnNj?=
 =?utf-8?B?Z2VQMmNNTzBoQUNvdm9lTFFkWHlzTEt1aVFMR3hJZmlkbmlwQU91M2l5bDBa?=
 =?utf-8?B?UFNVQjQ2TGpLKzdRb0c4aVZkQ1NXM0wzTHRqdFhCdk1IeE4zODNvWjh3NGly?=
 =?utf-8?B?Z0JSdU1SREQ0VThyOHoydW1JUkRMcjk3aFJBODgramFFTUkvNTkxL1pQLytX?=
 =?utf-8?B?N0ExaG9OUmJRMjk3eTZEMHN5MTVWV0lhSzZHSUJiWE1Yd2FhSk1XcHhkakRo?=
 =?utf-8?B?VXkvUitXbk51V3kydDEvK0hEdEt3WG81ZUVleThkQVpPOVYydlhlOC9YZ3BY?=
 =?utf-8?B?U2JyMXlEU2dFak9lMGJZWkd6bTZRbVhoVS9KakN6N0F5WjVqV1JUN2k2c01n?=
 =?utf-8?B?blJJd1BsZUhoM1R1Q0hkdks1WXoxMUp5Vm9OU0diOGt5aENia2NpdDlEbVV1?=
 =?utf-8?B?Q0FPVnhGeUpiRVlKNkdJcFFYVDdCWldOSjZyVWRBeC83dkwrY0ZZTEVleVpG?=
 =?utf-8?B?b3dCeVhpNG5qRTBmRHR0SUFlcWdBUWwyRHdCcm9hRFIvU0ZYZWdrWDhta2c4?=
 =?utf-8?B?blNHQ2xJZzBuUkZZZ0V6VEZvUWJnNjE1ZHd0OWFxQnlQK3M0R0ZyZW5kYXFE?=
 =?utf-8?B?WmdETmRZczU1ek1KZTlPVmxPMVBPZ0FZcG1PeWRVYk1ZZDBOYzFlY0t2ZXdU?=
 =?utf-8?B?Vzh3SmJmUGdscmZRWDJwTGczeGgxa0VFNGdIelJRSFdLRDRMa2ozS3krMzZN?=
 =?utf-8?B?d3gzMlFia2JTTWJreFFuMTBKMGtxMU5kUjgwcXJraUZMb0c0SlZ2V3Y2T2VQ?=
 =?utf-8?B?dWY5b2RoQ0VqM2NJRkNtaDJkQW5OU2VVeWFpQzRWWDVkZ3VCd0RpWjRza3Yw?=
 =?utf-8?B?WEUzSWN4aEFJanpOZFcxM1VoNVFCZnZyZml6eHRNdm5FNS9TK1BPZFFLSENF?=
 =?utf-8?B?ejdKMEpJZzVFSWdwaXhvMUxqZDVlSXM1WmRaY21PaFBWQ3cxb3UvMzIrMWVN?=
 =?utf-8?B?VTZOOVMrSEh1b21OYzZiSEpUQVp6QzZnS0FNKzVHNW41VS9QYTJ2VndMbjRh?=
 =?utf-8?B?ekJvUHdMa1pPeDZlalVoaDBjaWVYZmYzT0lya0xQVFRYN2JSMUFLK0s1dEdx?=
 =?utf-8?B?Y0R2dnpyMWwvMTFtTnJwZlpVNHhHK0diSUF1eTVXd09MT1FVbzhNeGM2WEJU?=
 =?utf-8?B?b0JaR3JOSmZCT2NrVVRxL1hXTmc4WjhmS2JXSXFvYWFnTXR0T21oUUl1dmsx?=
 =?utf-8?B?T2I5Q2I2K1g5QktQUUs1cStWNVIxR29LditOVmFUSDJDZ1UySGNSaEY3SGJH?=
 =?utf-8?B?bWVScGNROUVvdzVEbHFtRjRrd2lLSmw3cjc3YkREQk9CTkVkRVJKTm16SVor?=
 =?utf-8?B?bDFoZ0ZTWGpoM0pLM2kyUDJVQ3JDNlF0RHJRTTY0MEdzbTBSTTBMS1U1N2Jx?=
 =?utf-8?B?dDA0WHdUTkt3QU1waXV1Ny9IU2l3Sy9oWG0zcFBtYXQxeUNBSzlVNVhYN2VJ?=
 =?utf-8?B?MnpuWTlpQ2VIdVZHWjRWdnNMNUo3aGMwK1ROTFJNNmxtNkJRU2tINStGYTh6?=
 =?utf-8?B?am9aR3JNMkt3VDFaQjNRYVE2Sjh6TFB2RkY4UXhsdTRxVTY0ZHg4a2Rlc1dt?=
 =?utf-8?B?RlBDSDVjVnptNHFmODI0OWNUM2RqbElwc2RvM1o0Z1llU3RUelQ5WkkzQk03?=
 =?utf-8?B?ZXdDMGNQMXdKT0ZqM0NrMDRxTTRKclE1M1E3b1hUN0tTSGFZRDJHRG1BYlJL?=
 =?utf-8?B?YTlCanhaY2QwRnVCOXhITDBpSkhuaGdCaFhRcU5uNTZza1dwejRLc1h4N1px?=
 =?utf-8?Q?DyG4MsBtEQmMikHM=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 55df6e73-bbcf-4f13-76f8-08ded2028c14
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jun 2026 15:09:11.6528
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DzriscWk+5gQ4a+QbOGsi6qB3xxffW39QJE7xorilMJAO9XImUMnMum93tykZIjap/AqQR63la65/cLkR7Rj73kMx5Wc9WFdwishEkER+4c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR03MB7758
X-purgate-ID: tlsNG-c1860d/1782313755-423203FC-E96BF5D9/0/0
X-purgate-type: clean
X-purgate-size: 943

On 24/06/2026 3:47 pm, Jan Beulich wrote:
> On 24.06.2026 16:23, Andrew Cooper wrote:
>> --- a/xen/arch/x86/x86_64/entry-fred.S
>> +++ b/xen/arch/x86/x86_64/entry-fred.S
>> @@ -20,6 +20,12 @@ FUNC(entry_FRED_R3, 4096)
>>          GET_STACK_END(14)
>>          movq    STACK_CPUINFO_FIELD(current_vcpu)(%r14), %rbx
>>  
>> +        /* NMIs need special handling on return to guest. */
>> +        movzbl  UREGS_ss + 6(%rsp), %eax
>> +        and     $0xf, %eax
>> +        cmp     $X86_ET_NMI, %al
>> +        je      nmi_exit_to_guest
>> +
>>          jmp     test_all_events
> Actually, how about shrinking this to just
>
>         test    %al, %al
>         jnz     nmi_exit_to_guest
>
> by having entry_from_pv() return a boolean?

I considered that, and dismissed it.

It involve changing large chunks of traps.c (simply to compile) and puts
far more than 4 instructions of logic onto the common path.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 15:20:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 15:20:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345100.1604087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcPOg-0003P8-2B; Wed, 24 Jun 2026 15:20:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345100.1604087; Wed, 24 Jun 2026 15:20: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 1wcPOf-0003P1-VC; Wed, 24 Jun 2026 15:20:13 +0000
Received: by outflank-mailman (input) for mailman id 1345100;
 Wed, 24 Jun 2026 15:20:12 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcPOd-0003Ov-Uj
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 15:20:11 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcPOd-00ET4Q-BK
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 17:20:11 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bf5a8-5cb7-0a2a0a5109dd-0a2a4502af6c-20
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 17:20:11 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3bf5aa-5a27-0a2a45020019-d1558034bdf1-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 17:20:10 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-4923fb1f095so12088235e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 08:20: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-4923ff821aasm488240045e9.12.2026.06.24.08.20.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 08:20:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782314410; x=1782919210; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=3E0bWZf78+XCIWPS0DpQNxADrbvyMFS9z2IwyiJbnzQ=;
        b=YB4c3sIJ9OUVeBaEImerpWQbc68qNHxD/63SPzLsye76WBAnmmrfOdYXdzQuduqRS7
         K9eAO7U02r6tYo/hdDmFQOqZQgfIqX67s/NQqEyecjwyHk5BnQHdecMRHJKrQX8KAcRH
         tEacu31apa+KLeE5wTG+FOxStLI865DxSRYhtlr26VSCCjGSUPdeEXvxOhp/LcU4KiY/
         fTq+JxdqxY0oazZ67nzP95NBhJWBb3Monfd9P0J34lIJ3dSn+3w4Qfv2oLL9/EjmqMX4
         2UM0cjd4B6AvOwNBiELcNpdWdiRLYbAlfM+Yk7L/9S83ZcLoSOlDfXOQ/MgT2MMnYz69
         CAbA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782314410; x=1782919210;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3E0bWZf78+XCIWPS0DpQNxADrbvyMFS9z2IwyiJbnzQ=;
        b=aDtSPUv8ynoM7xyWiHYJ3KFIKgjVRqXrjcSIZpqucRWIEs5ywjNW9AdX8v2poNjNPm
         /mDYjusteNfA/syehdE5faacM5mhRd5EvEotWYVlF7w2vjxjRz/stcr30vqYl35N8UgZ
         OjyvqXsuPDPGIRWF9xmJqzvwieCqeWv2VEVS3N5ntPsoYifgzmivyhZoe4TPY1ukTexy
         AezVCtpqhbM/Crrt5c1DveAhAzqCWJLh50txUVtewi8CrxIix4zhMqoVZeSYf7vYEwFf
         FnOrpxv04hn+InawAaupDk0COCtopVjDqY7JblR/SCSd0zLPRl++U4b6eY4Ki8lmh3Z4
         1GSQ==
X-Forwarded-Encrypted: i=1; AFNElJ+2gh+thAlf+3rtbueHl3+Eu7Re3dzTRCBswombqVsCunN3y4fem5D9ToJ7ydnQuLJlFMs7pgz8xLM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzKaPbLloLFK8KLc/LuPKLa4dl0pzFPiMO+U9ZC1Lagmx6gbM9N
	+9IJA3R3s9zpOfHG7JYtFIwd/bRva2f2WFEHJzI8iD45sAM1hBWUtOzQouihe1aZkg==
X-Gm-Gg: AfdE7cnMZ5mtDyvDZcTPXYLHUEpc+JVfX/J77S38o+FZMNeJe2vx0rpvR3k2oOqLDR+
	Y65ZAImSwsH1COLDga9SU/yUslBXpO1WqYItSH8N3o+9qCOX1WDhvYL3HXl6yXzLHniJCko1Qlu
	pf1VTDZszSkRvMfOJb1bAMWCHAStwYHGIbrs+HJntYOdKHZunInzr2LPtJeZMH8II/LiCfU1sEW
	nXA2blAsYCL8woromL6DeOklG/JpRkyjxrwa2S6v0pCiNohTFtSuS0Uc4fSdep6bOQouccOGEV9
	B0zNbJi6nkc92N5z+vAcJIIDGwv8PAKhEx7/74rGqC7Blrxxmdjq4S7gAS3zcXb7CE8UBLJVY++
	UqoQmhnX1A8F84nKqpAedAeDJqAz5GJeae3xUPLywNwV/j9Gukqs5iMTIDkyce3hg1a0Mum+qoa
	org+7UC3+8jmt/988PODCI8OvbWo8FhKP4R6zLRwgea9UNETulKdRQCDM7vdGu7359qjWfJilO6
	8AL
X-Received: by 2002:a05:600d:8446:10b0:492:4363:e7d6 with SMTP id 5b1f17b1804b1-4925b38cee2mr97900755e9.37.1782314410424;
        Wed, 24 Jun 2026 08:20:10 -0700 (PDT)
Message-ID: <a1f13515-df6b-49cf-bb61-29ae927a7496@suse.com>
Date: Wed, 24 Jun 2026 17:20:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/fred: Send an EVENT_CHECK IPI on exit from NMI
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260624142338.653064-1-andrew.cooper3@citrix.com>
 <a7ce9d22-7ab9-4638-8ffd-2ffb9bc55df9@suse.com>
 <df2bdff9-6efc-41e0-91c2-f44a44d28871@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: <df2bdff9-6efc-41e0-91c2-f44a44d28871@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-720697/1782314411-55CED7C5-56CB44AA/0/0
X-purgate-type: clean
X-purgate-size: 1302

On 24.06.2026 17:09, Andrew Cooper wrote:
> On 24/06/2026 3:47 pm, Jan Beulich wrote:
>> On 24.06.2026 16:23, Andrew Cooper wrote:
>>> --- a/xen/arch/x86/x86_64/entry-fred.S
>>> +++ b/xen/arch/x86/x86_64/entry-fred.S
>>> @@ -20,6 +20,12 @@ FUNC(entry_FRED_R3, 4096)
>>>          GET_STACK_END(14)
>>>          movq    STACK_CPUINFO_FIELD(current_vcpu)(%r14), %rbx
>>>  
>>> +        /* NMIs need special handling on return to guest. */
>>> +        movzbl  UREGS_ss + 6(%rsp), %eax
>>> +        and     $0xf, %eax
>>> +        cmp     $X86_ET_NMI, %al
>>> +        je      nmi_exit_to_guest
>>> +
>>>          jmp     test_all_events
>> Actually, how about shrinking this to just
>>
>>         test    %al, %al
>>         jnz     nmi_exit_to_guest
>>
>> by having entry_from_pv() return a boolean?
> 
> I considered that, and dismissed it.
> 
> It involve changing large chunks of traps.c (simply to compile) and puts
> far more than 4 instructions of logic onto the common path.

Does it? Code size overall may grow, but since every return there is that
of a constant (false in all but one case), every individual path would go
down from 4 insns (with a memory access, admittedly a cache-hot one) to
just 3 (the two here and the MOV or XOR on the return paths).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 15:21:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 15:21:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345107.1604096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcPPs-0003sH-BU; Wed, 24 Jun 2026 15:21:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345107.1604096; Wed, 24 Jun 2026 15:21:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcPPs-0003sA-8L; Wed, 24 Jun 2026 15:21:28 +0000
Received: by outflank-mailman (input) for mailman id 1345107;
 Wed, 24 Jun 2026 15:21:27 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcPPr-0003s2-8B
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 15:21:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcPPq-0003Rv-Hm
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 17:21:26 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bf5ef-bab6-0a2a0a5309dd-0a2a4506ae08-12
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 17:21:26 +0200
Received: from [209.85.208.172] (helo=mail-lj1-f172.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bf5f6-08de-0a2a45060019-d155d0accc92-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 17:21:26 +0200
Received: by mail-lj1-f172.google.com with SMTP id
 38308e7fff4ca-396bed274b9so12108461fa.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 08:21:26 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ad6957a694sm1853643e87.49.2026.06.24.08.21.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 08:21: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782314486; x=1782919286; 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=aR8MpbYZMGz4/159CeTCHh6ap+/TrCZYEut089ZbtnY=;
        b=hRr3Wf36aWHCk7VpBsG0xaH4oGVlMyimBDi4bZwv8PKH/KoyT3M0fXow/vYmSRJQd6
         UK4n2SPW2feNvNLxeV5CPbB0cn313scPKJxT/85CqXjv3fXnwi8vhcze3QQC+t75MNry
         YmsjsrCMmn10J/5KrZs39PvBIbsG0heP5KWI+y42sSw9awFyXw9wiFOKwIzDo/qOkN66
         i5yq0hzNqozJKEdQ5MIhds9Y1pFTyZodvWVSQNVfd7hKROo53XCW/Xe/Rc60S/zdFnQ2
         ZiBA6fHWqnZ38xQd/GwI/vOsjBsafMCmd5M4thFvC/H2s+R2kwi70OxAiSdd7Nr8Xu7W
         9a5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782314486; x=1782919286;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=aR8MpbYZMGz4/159CeTCHh6ap+/TrCZYEut089ZbtnY=;
        b=gLL0je/bl/OE6CgoZngtSV/mz7SPFif7Z3/0ExZRdz4uAKg9UGqGzpk7ApSJ+j82a6
         HgMTmEfFw/BP04PzbnZ+cL+kGqbbVUuba12anXif+N2WWK9GKgCpqHN9EX2HTgbmj2Wp
         Zte4EKjF825JUv4RBUsODtHRYxBvUjE5Rb2mseh/GgKipE20EVCe7MxDfKhMILHDknZ4
         SWh4gYPCw/3aW53XP3r4dDcLPdXeYuDWLhkMmcefnJizxZTL/3uYer7WNZMY7nwuZDT/
         MzIaeGPbOltxiz7dJvcvE+rYGvygKNiRGddH/MJqe4ga/3HKOG7XX6n5j9jtdszVP6+t
         LTgw==
X-Forwarded-Encrypted: i=1; AHgh+RquWDNRqS6UoSjB1R8hHqIGKAkW9l7iRmCdGuK2tHGrQh41Pg1LqVao3W7w5/+sjxWwexMqFynhCtY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw8g8dKmqjH4Yoet/6yuPawdRYIYry/+oRqEPtqGxdE7ueRNHXO
	GXwRgIX9FV1Lwy1r6MmoqX7Q+5F98Z1XUsYZ37HaFbXeiix5r/z1Cf1M
X-Gm-Gg: AfdE7cldKZqKv9l/rR9IKtk8yAm1x8nsrIY87QNZNL45T79jL0Rbf2RaVDjj4IkllQ+
	IgcsoKmQhDsDkwuc60quDPen87sL7xG2lWuw3XUGKN7RF9i+g4HuXMBMdzrFH7MEY4wLTwLcEgr
	7vhcHRrmstcShlaL0dUVCXUZ2/0eQ28Orvr7hQkrC65XENwFguUhFgtheekXFm7ZcJ12NV5Tm03
	N44iEa8vSVF8gCo6pwjLR5Ie5zeedVveLYh+zDpV0D13RPFXS9WveOLSqWFhXOooxmiRCshDF3g
	/BVs+dGcY8JIZZpHQzA7UTjRvUMmkD4sU/UIm+q8KCAFNZxusmvszdv8cq61MmjeG7XU+SiIM6v
	wF5N1AjxqtR2Usx/JOGGdnzT066tFr71K5mQBL6VqUOhXcqGCgWeXRfFUitdO5RtwN3mYu9F7GO
	fKTUinrTutcc+bDSy+kbN430uwafynM/7RVWeyqMu20CIVtZUXd13ZDb9c4jvmK0kHn9s=
X-Received: by 2002:ac2:4949:0:b0:5ad:4dbe:907a with SMTP id 2adb3069b0e04-5ae9d55028cmr911247e87.11.1782314485349;
        Wed, 24 Jun 2026 08:21:25 -0700 (PDT)
Message-ID: <b4770ce2-9456-4dae-a322-c8e3f9239472@gmail.com>
Date: Wed, 24 Jun 2026 17:21:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 18/23] xen/riscv: implement IRQ routing for device
 passthrough
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <0458468cc5a6db911a9acc64f4c8cf17ceebe4c6.1781693963.git.oleksii.kurochko@gmail.com>
 <3a1aca27-cc18-4b57-bb31-c50161b8c261@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <3a1aca27-cc18-4b57-bb31-c50161b8c261@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1782314486-4392B68D-081A3D4F/10/73395122804
X-purgate-type: spam
X-purgate-size: 12171



On 6/22/26 5:57 PM, Jan Beulich wrote:
> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>> --- /dev/null
>> +++ b/xen/arch/riscv/device.c
>> @@ -0,0 +1,102 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +
>> +#include <xen/device_tree.h>
>> +#include <xen/errno.h>
>> +#include <xen/iocap.h>
>> +#include <xen/rangeset.h>
>> +#include <xen/sched.h>
>> +
>> +#include <asm/intc.h>
>> +
>> +int map_irq_to_domain(struct domain *d, unsigned int irq,
>> +                      bool need_mapping, const char *devname)
>> +{
>> +    int res;
>> +
>> +    res = irq_permit_access(d, irq);
> 
> Such generally needs an XSM check up front, the more that the function isn't
> __init, i.e. is (apparently) intended for runtime use as well.

I think it really should be __init as it is used only during domain 
construction (boot/build-time only). For xl-created domUs it should be 
used route_irq_to_guest() called from XEN_DOMCTL_bind_pt_irq hypercall.

I will add __init for map_irq_to_domain() and correspondingly for 
map_device_irqs_to_domain().


> 
>> +    if ( res )
>> +    {
>> +        printk(XENLOG_ERR "Unable to permit %pd access to IRQ %u\n", d, irq);
>> +        return res;
>> +    }
>> +
>> +    if ( need_mapping )
>> +    {
>> +        /*
>> +         * Checking the return of vintc_reserve_virq is not
>> +         * necessary. It should not fail except when we try to map
>> +         * the IRQ twice. This can legitimately happen if the IRQ is shared.
>> +         */
>> +        vintc_reserve_virq(d, irq);
>> +
>> +        res = route_irq_to_guest(d, irq, irq, devname);
>> +        if ( res < 0 )
>> +        {
>> +            printk(XENLOG_ERR "Unable to map IRQ%u to %pd\n", irq, d);
>> +            return res;
>> +        }
>> +    }
>> +
>> +    dt_dprintk("  - IRQ: %u\n", irq);
>> +
>> +    return 0;
>> +}
>> +
>> +/*
>> + * map_device_irqs_to_domain retrieves the interrupts configuration from
>> + * a device tree node and maps those interrupts to the target domain.
>> + *
>> + * Returns:
>> + *   < 0 error
>> + *   0   success
>> + */
>> +int map_device_irqs_to_domain(struct domain *d,
>> +                              struct dt_device_node *dev,
>> +                              bool need_mapping,
>> +                              struct rangeset *irq_ranges)
>> +{
>> +    unsigned int i, nirq = dt_number_of_irq(dev);
>> +
>> +    if ( irq_ranges )
>> +        return -EOPNOTSUPP;
>> +
>> +    /* Give permission and map IRQs */
>> +    for ( i = 0; i < nirq; i++ )
>> +    {
>> +        int res, irq;
>> +        struct dt_raw_irq rirq;
>> +
>> +        res = dt_device_get_raw_irq(dev, i, &rirq);
>> +        if ( res )
>> +        {
>> +            printk(XENLOG_ERR "Unable to retrieve irq %u for %s\n",
>> +                   i, dt_node_full_name(dev));
>> +            return res;
>> +        }
>> +
>> +        /*
>> +         * Don't map IRQ that have no physical meaning
>> +         * ie: IRQ whose controller is not APLIC/IMSIC/PLIC.
>> +         */
> 
> Nit: Does this comment mean to use singular or plural for IRQ?

Plural would be better here.

> 
>> --- a/xen/arch/riscv/imsic.c
>> +++ b/xen/arch/riscv/imsic.c
>> @@ -538,10 +538,11 @@ int __init imsic_init(const struct dt_device_node *node)
>>   
>>   static int __init guest_imsic_make_reg_property(struct domain *d, void *fdt)
>>   {
>> +    paddr_t base = GUEST_IMSIC_S_BASE;
>>       paddr_t size = IMSIC_MMIO_PAGE_SZ * d->max_vcpus;
>>       __be32 regs[4] = {
>> -        cpu_to_be32(GUEST_IMSIC_S_BASE >> 32),
>> -        cpu_to_be32(GUEST_IMSIC_S_BASE),
>> +        cpu_to_be32(base >> 32),
>> +        cpu_to_be32(base),
>>           cpu_to_be32(size >> 32),
>>           cpu_to_be32(size),
>>       };
> 
> What is this change about?

It doesn't really make sense. I think it I added it to fix type issue 
when GUEST_IMSIC_S_BASE was incorrectly wrapped. I will drop it.

> Does it perhaps belong into an earlier patch?

Yes, it should be part of prev. commit.

> 
>> --- a/xen/arch/riscv/include/asm/intc.h
>> +++ b/xen/arch/riscv/include/asm/intc.h
>> @@ -13,6 +13,7 @@ enum intc_version {
>>   };
>>   
>>   struct cpu_user_regs;
>> +struct domain;
>>   struct irq_desc;
>>   struct kernel_info;
>>   struct vcpu;
>> @@ -32,6 +33,9 @@ struct intc_hw_operations {
>>       /* hw_irq_controller to enable/disable/eoi host irq */
>>       const struct hw_interrupt_type *host_irq_type;
>>   
>> +    /* hw_irq_controller to enable/disable/eoi guest irq */
>> +    const struct hw_interrupt_type *guest_irq_type;
> 
> It's likely my limited RISC-V knowledge that I find this extremely odd:
> Separate struct hw_interrupt_type-s for host and guest?

The guest and host interrupt controllers may handle some 
hw_irq_controller operations differently, even though the operations 
themselves are conceptually the same. The hw_irq_controller interface 
provides fairly abstract interrupt controller operations, but the 
underlying implementation may differ depending on whether the controller 
is used by the host or a guest.

As an example, the Arm code already follows this approach:

/* XXX different for level vs edge */
static hw_irq_controller gicv2_host_irq_type = {
     .typename     = "gic-v2",
     .startup      = gicv2_irq_startup,
     .shutdown     = gicv2_irq_shutdown,
     .enable       = gicv2_irq_enable,
     .disable      = gicv2_irq_disable,
     .ack          = gicv2_irq_ack,
     .end          = gicv2_host_irq_end,
     .set_affinity = gicv2_irq_set_affinity,
};

static hw_irq_controller gicv2_guest_irq_type = {
     .typename     = "gic-v2",
     .startup      = gicv2_irq_startup,
     .shutdown     = gicv2_irq_shutdown,
     .enable       = gicv2_irq_enable,
     .disable      = gicv2_irq_disable,
     .ack          = gicv2_irq_ack,
     .end          = gicv2_guest_irq_end,
     .set_affinity = gicv2_irq_set_affinity,
};

These implementations reuse almost all interrupt controller operations, 
differing only in the .end callback.

In my case, I have a similar situation with the PLIC implementation, 
where the .ack and .end operations differ between the host and guest 
cases. However, I was planning to upstream the PLIC support a bit later.

> 
>> @@ -62,6 +66,8 @@ struct vintc_ops {
>>   };
>>   
>>   struct vintc {
>> +    unsigned int irq_nums;
> 
> I did ask before: Which word does "nums" stand for?

I will rename it to nr_irqs.

> 
>> @@ -106,12 +124,25 @@ int domain_vintc_init(struct domain *d)
>>           break;
>>       }
>>   
>> +    if ( !ret )
>> +    {
>> +        d->arch.vintc->used_irqs =
>> +            xvzalloc_array(unsigned long, BITS_TO_LONGS(d->arch.vintc->irq_nums));
>> +        if ( !d->arch.vintc->used_irqs )
>> +            ret = -ENOMEM;
>> +    }
>> +
>>       return ret;
>>   }
>>   
>>   void domain_vintc_deinit(struct domain *d)
>>   {
>>       const enum intc_version ver = intc_hw_ops->info->hw_version;
>> +    unsigned int virq;
>> +
>> +    for ( virq = 0; virq < d->arch.vintc->irq_nums; virq++ )
> 
> Here you de-reference d->arch.intc. One of the purposes of ...
> 
>> +        if ( test_bit(virq, d->arch.vintc->used_irqs) )
>> +            release_guest_irq(d, virq);
>>   
>>       switch ( ver )
>>       {
>> @@ -122,4 +153,14 @@ void domain_vintc_deinit(struct domain *d)
>>       default:
>>           break;
>>       }
>> +
>> +    XVFREE(d->arch.vintc->used_irqs);
> 
> ... this is to allow the function to be idempotent, i.e. to recognize that
> it was called before (or no setup was done at all), and hence it doesn't
> need to do anything.

I will add before for loop:
      if ( !d->arch.vintc )
         return;

> 
>> +void release_irq(unsigned int irq, const void *dev_id)
>> +{
>> +    struct irq_desc *desc;
>> +    unsigned long flags;
>> +    struct irqaction *action, **action_ptr;
>> +
>> +    desc = irq_to_desc(irq);
>> +
>> +    spin_lock_irqsave(&desc->lock,flags);
> 
> Nit: Missing blank after comma (again at least once further down).

Thanks. I will fix it.

> 
>> +    action_ptr = &desc->action;
>> +#ifdef CONFIG_IRQ_HAS_MULTIPLE_ACTION
>> +    for ( ;; )
>> +    {
>> +        action = *action_ptr;
>> +        if ( !action )
>> +        {
>> +            printk(XENLOG_WARNING "Trying to free already-free IRQ %u\n", irq);
>> +            spin_unlock_irqrestore(&desc->lock, flags);
>> +            return;
>> +        }
>> +
>> +        if ( action->dev_id == dev_id )
>> +            break;
>> +
>> +        action_ptr = &action->next;
>> +    }
>> +
>> +    /* Found it - remove it from the action list */
>> +    *action_ptr = action->next;
>> +#else
>> +    action = *action_ptr;
>> +    *action_ptr = NULL;
>> +#endif
>> +
>> +    /* If this was the last action, shut down the IRQ */
>> +    if ( !desc->action )
>> +    {
>> +        desc->handler->shutdown(desc);
>> +        __clear_bit(_IRQ_GUEST, &desc->status);
>> +    }
>> +
>> +    spin_unlock_irqrestore(&desc->lock,flags);
>> +
>> +    /* Wait to make sure it's not being used on another CPU */
>> +    do { smp_mb(); } while ( test_bit(_IRQ_INPROGRESS, &desc->status) );
> 
> Can you explain to me what the purpose of this barrier is?

if  do_IRQ() was called and:
     desc->status |= IRQ_INPROGRESS;
was called we have to wait while irq will be handled to avoid NULL 
pointer derefenece caused by in do_IRQ():
     action = desc->action;

So if release_irq() and do_irq() are called on different CPUs we want to 
be sure that do_IRQ() make desc->status visiable for all CPUs.

> 
>> +int release_guest_irq(struct domain *d, unsigned int virq)
>> +{
>> +    struct irq_desc *desc = irq_to_desc(virq);
>> +    struct irq_guest *info;
>> +    unsigned long flags;
>> +
>> +    spin_lock_irqsave(&desc->lock, flags);
>> +
>> +    if ( !test_bit(_IRQ_GUEST, &desc->status) )
>> +        goto unlock_err;
>> +
>> +    info = irq_get_guest_info(desc);
>> +    if ( d != info->d )
>> +        goto unlock_err;
>> +
>> +    spin_unlock_irqrestore(&desc->lock, flags);
>> +
>> +    release_irq(desc->irq, info);
>> +    xvfree(info);
> 
> So you drop the lock keeping the info associated with desc in place. How
> do you know what you free here is the correct thing, and isn't in use
> elsewhere?
> 

The object freed is captured under desc->lock (info = 
irq_get_guest_info(desc)), so it is by construction the dev_id of the 
action attached to this desc, it can't be a stale or wrong pointer.

"In use elsewhere" splits into two cases:

An in-flight interrupt handler on another CPU. The guest handler 
dereferences info (info->d). This is why the free is ordered after 
release_irq(): release_irq() detaches the action and then spins on 
_IRQ_INPROGRESS before returning, so once it returns no CPU is in the 
handler, and only then do we xvfree(info).

A second release_guest_irq() for the same vIRQ. You're right that, as 
originally written, dropping the lock left _IRQ_GUEST set and the action 
attached, so a concurrent caller could re-derive and double-free the 
same info. In practice the sole caller is domain_vintc_deinit() 
(serialised per-domain teardown), but the function shouldn't rely on 
that. I've changed it to clear _IRQ_GUEST while still holding 
desc->lock; a concurrent caller now fails the _IRQ_GUEST check and bails 
out, so exclusive ownership of info is provable from the lock rather 
than from caller serialisation:

diff --git a/xen/arch/riscv/irq.c b/xen/arch/riscv/irq.c
index 2f9461a23b5f..69b57eaf95f7 100644
--- a/xen/arch/riscv/irq.c
+++ b/xen/arch/riscv/irq.c
@@ -311,6 +311,8 @@ int release_guest_irq(struct domain *d, unsigned int 
virq)
      if ( d != info->d )
          goto unlock_err;

+    __clear_bit(_IRQ_GUEST, &desc->status);
+
      spin_unlock_irqrestore(&desc->lock, flags);

      release_irq(desc->irq, info);


Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 15:26:56 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 15:26:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345117.1604105 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcPV5-0004R2-TH; Wed, 24 Jun 2026 15:26:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345117.1604105; Wed, 24 Jun 2026 15:26: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 1wcPV5-0004Qv-Pu; Wed, 24 Jun 2026 15:26:51 +0000
Received: by outflank-mailman (input) for mailman id 1345117;
 Wed, 24 Jun 2026 15:26:50 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcPV4-0004Qp-FI
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 15:26:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcPV3-00GKBN-NM
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 17:26:49 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bf716-2eae-0a2a0a5409dd-0a2a45039e6a-30
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 17:26:49 +0200
Received: from [209.85.167.50] (helo=mail-lf1-f50.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bf739-ec1a-0a2a45030019-d155a732dc64-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 17:26:49 +0200
Received: by mail-lf1-f50.google.com with SMTP id
 2adb3069b0e04-5aa68cf9123so1283028e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 08:26:49 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ad69555077sm1871132e87.32.2026.06.24.08.26.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 08:26:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782314809; x=1782919609; 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=jAjkuXKyz//WRRnZpv6mU16KCTCdTRm15p6oAYYQ0hM=;
        b=cBirY08LuUiWvYUQHUQ4Tmbl4PIY4CRiLLxSKMQR17PG/1JLFAr+FiLNiuCDhoY+Gf
         vqiKjEqXde2ZAd7UopG+5MD6uTxGoY4gJrEsAYVqS8An1cWOhkmxd0ZgLA5jFy4ZdRMS
         yHIKufVFEPEEEk8qkSZVcidpX1E68iqAOimJkL4gT+WWWy3UAyjn/UJ+1eyYs215udS7
         XBS9AkgYB6772/kP8vyGOYZU0yOupbmTyQv61hSBqaLfTr+J9VWXYjGjr+HoN+uyl4T+
         ytT1dKYcA91fiiFNOGdxDZ90EabhWI35jlgG68V8w1jem41/INi4NG+gw52cmrEtw26N
         awbQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782314809; x=1782919609;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=jAjkuXKyz//WRRnZpv6mU16KCTCdTRm15p6oAYYQ0hM=;
        b=prCDkp7yxYkEeUcKr2S9xDqZ5eBsSHAHEyDyMePnYgW3zYWADmhPbbIcwOZZqlND9m
         EjzYvV9GzfIc9XwdATY85BLKEuBJrMLg3CbJW3rBWBiDyfr83GuukKRJzRpwjl01uKPZ
         w4RV+I22xHQ10l7A/OGcHvZZ9loiMyw0ZBHdXlXQdnkSBs90UJ424j9vWBksaZvwhu4e
         hc9kw0Txf+InGIDe53ErX4kmGc7uwYHgN+D7nNapaoLau5LVMFEG9ptbU+/8s51GMbTE
         Lqw7UfjTPx2ZRb6y1d3otCvKpwo80woplkW5H/vYo839yCBWRXVBjHubSXK3UnqkDfPW
         oiBA==
X-Forwarded-Encrypted: i=1; AHgh+RrqQOGGF4F/tyKhDJ1dfTRhoHjozi0kZ/x0xRD2dDzFOx3krZHc7dQDWLCwVqhNstLcvQhdCJOLaF0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwilfYGkDI8d3WGuelQ6g0995ZP8v8ErYNi/66vBiWvZVUUxGNd
	fQSSsKdCTwYmXNylWmgm6mh4DBNpK3EU/2qs5MpDHaQhSjeRbawUEjY1
X-Gm-Gg: AfdE7cnWrkKO//E+1LwRuoNVpuA0RUZRfn9LOUGQIpm2/w1Uzd6JQk6YkNatBHr1c4K
	li6r4OgAtWV6VtlxU60WFtMZTAS5kFHByS0rHV6BkTcO2ywLfdNERe2hVT2H0m7cS7/NL83s2Tq
	5MAHqmKdb/50ygrmQ44IMTlqwE4/foEdLpPRlbo8YjemaiWtc3dIJFJv69Wy819FWg8qwiqUJOc
	SBIudx7dqoV3QWEu57uWuZTzYpgdaCb7YCkIq+d3OrUYwQExnfzGWfLE7AkmZ9etat5DNVxAsER
	KfD5b1tcyRJ1U1RFC/a98RiLStwZerGvt229O1eO8gYwmToN7ycsqDOerJQ7jn9f/LdPBvukbYD
	PoL8tap21kN8p23ZLzIJmkvh9mim8Z1nl4tLlcVE//9RuuJnTR1bIlAvqlakb8NX81I6QJ/mBWX
	OkQ1+fdqLadWZUxaQOLo84tbfYbS9vvuvkOMsR1RoVGz9F5KCD9ki+61EWkkYtPz2V7/s=
X-Received: by 2002:a05:6512:618e:b0:5aa:77e2:51b0 with SMTP id 2adb3069b0e04-5ae9d5aeb26mr915813e87.45.1782314808683;
        Wed, 24 Jun 2026 08:26:48 -0700 (PDT)
Message-ID: <08a7ba82-dac1-499d-ad7b-0dc0de82ab16@gmail.com>
Date: Wed, 24 Jun 2026 17:26:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 22/23] xen/Kconfig: introduce HAS_STATIC_MEMORY
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.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: <cover.1781693963.git.oleksii.kurochko@gmail.com>
 <22c02e188a0b38806f08b7a87f00f03c14aad742.1781693963.git.oleksii.kurochko@gmail.com>
 <2e9683f6-25d3-442b-9661-d32f979ca43b@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <2e9683f6-25d3-442b-9661-d32f979ca43b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1782314809-0692D5D1-F41A1F5F/10/73395122804
X-purgate-type: spam
X-purgate-size: 2266



On 6/23/26 10:26 AM, Jan Beulich wrote:
> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>> Architectures that implement guest_physmap_add_pages() select
>> HAS_STATIC_MEMORY; STATIC_MEMORY then depends on it.  ARM selects the
>> new flag; RISC-V does not, so CONFIG_STATIC_MEMORY is unavailable there
>> and randconfig builds no longer require an explicit STATIC_MEMORY=n
>> override to avoid a compilation error.
> 
> How did you come up with the connection to guest_physmap_add_pages()?

It is because of you mentioned in this sentense ...

> That's a close sibling of guest_physmap_add_page(), and they all should
> fall in the same group. The fact that right now static-mem is the only
> caller of guest_physmap_add_pages() is secondary.
... (the last sentence)

> New callers could
> appear. guest_physmap_add_page() could likely (in principle) be
> implemented in terms of guest_physmap_add_pages().
> 
> What you're after is a way to {en,dis}able STATIC_MEMORY on a per-arch
> basis. That's all what matters here.

I will reword that part in the following way:

Introduce HAS_STATIC_MEMORY so that STATIC_MEMORY can be enabled or
disabled on a per-architecture basis. An architecture that supports
static memory selects HAS_STATIC_MEMORY, and STATIC_MEMORY depends on
it. ARM selects the new flag; RISC-V does not, so CONFIG_STATIC_MEMORY
is unavailable on RISC-V and randconfig builds no longer require an
explicit STATIC_MEMORY=n override to avoid a compilation error.

> 
>> --- a/xen/common/Kconfig
>> +++ b/xen/common/Kconfig
>> @@ -161,6 +161,9 @@ config HAS_SCHED_GRANULARITY
>>   config HAS_SHARED_INFO
>>   	bool
>>   
>> +config HAS_STATIC_MEMORY
>> +	bool
>> +
>>   config HAS_SOFT_RESET
>>   	bool
>>   
>> @@ -196,7 +199,7 @@ config NUMA
>>   
>>   config STATIC_MEMORY
>>   	bool "Static Allocation Support (UNSUPPORTED)" if UNSUPPORTED
>> -	depends on DOM0LESS_BOOT && HAS_DEVICE_TREE_DISCOVERY
>> +	depends on HAS_STATIC_MEMORY && DOM0LESS_BOOT && HAS_DEVICE_TREE_DISCOVERY
> 
> This may end up slightly neater as
> 
> 	depends on HAS_STATIC_MEMORY
> 	depends on DOM0LESS_BOOT && HAS_DEVICE_TREE_DISCOVERY

I am okay with your suggestion and will apply it.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 15:27:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 15:27:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345124.1604114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcPVw-00051S-8J; Wed, 24 Jun 2026 15:27:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345124.1604114; Wed, 24 Jun 2026 15:27: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 1wcPVw-00051J-4k; Wed, 24 Jun 2026 15:27:44 +0000
Received: by outflank-mailman (input) for mailman id 1345124;
 Wed, 24 Jun 2026 15:27:43 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wcPVu-0004zL-QJ
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 15:27:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcPVt-00GAuw-JM
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 17:27:41 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3bf75d-bab6-0a2a0a5309dd-0a2a4507e568-42
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 17:27:41 +0200
Received: from [52.101.56.65]
 (helo=BN1PR04CU002.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3bf76c-9c8e-0a2a45070019-346538412559-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 17:27:41 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by LV5PR03MB8362.namprd03.prod.outlook.com (2603:10b6:408:35e::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Wed, 24 Jun
 2026 15:27:37 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.018; Wed, 24 Jun 2026
 15:27: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Zpb+8f9INtW0oONEZz6HyeuUsCDAAGSVFOuMk9nG5TFiBpIXdS3QJo3kT/XdZjTOG4A3s0MqI7tyUrEN85jx8VK6AIlN5N+hzCKmPuNOgEJUPhfKEQOreR1ShMql2zMjTAFFqxjDTF50FqgTVL9ugx2xYqOyfIIM5/3tBm7CmBT4A4C8Qz8bTDTzQJ2KxWpnH9BzlA1QnQ/oP4VMxX0yr6fp4INBCZHje+OaThl8/eebG7LODDjv1GLaWImZYAPiRN/jeg954sOdxTkkXD4vwiPEjnezHEj4olW0exGrzq8gGP9RMKeHrjzohJitLG+oNH8GieVFx9to7XA36Ff0yw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=73JX4tRxghNd3KEwgvLBsm7nuoIDmN3JPk0jqpOng2c=;
 b=Nk8fREabU6CxqotW4/PlxmAWTXyfamqe5lS1Erxn1GyhrqBn7rJorBop7c1f/qxPqbNsfVZIRkvExLH818n6+sYfWWyVbcVmek/+9vdjnj+Fyw8j8qSHeHM77HuYr89bJC1lL6MRv4HcRhTos9OccwrjIbISGvT4vLG68xc94poU2/wnExEVY63FCfZWtCK/qkvZcA7wTcVXezq67K/K5gSKGxN9GdN07z17F5qasMXFJQXz8HoofrWoPMRup8+R7OaK2q/t8xoENDRFKNdBWWP8iKRJQQyyrrsER6GmEP3CGOSEJLpMh9iI11P7fpLOtcla+NJwYqMSkhVC5p8BTw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=73JX4tRxghNd3KEwgvLBsm7nuoIDmN3JPk0jqpOng2c=;
 b=l5sUAla09AMu/VgaFq784hvylNNA9TQZWACgJ+juB6M93E97K5ilj4l2UVIrbxRPBNHMbfGROPIPsXZJGkgPcV/wiOSIk+kIHForP54mKGTmYlzprIleLO/kfjSacnFqCdaVT9jBeOG+V/2g2yFZGPtsvHB5WWSny60dn5sIeUs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <5a12fed5-3cc8-473e-be54-d7965139a662@citrix.com>
Date: Wed, 24 Jun 2026 16:27:33 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] x86/fred: Send an EVENT_CHECK IPI on exit from NMI
To: Jan Beulich <jbeulich@suse.com>
References: <20260624142338.653064-1-andrew.cooper3@citrix.com>
 <0e964293-5b38-4f80-be78-bda76706d0fe@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: <0e964293-5b38-4f80-be78-bda76706d0fe@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0078.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:190::11) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|LV5PR03MB8362:EE_
X-MS-Office365-Filtering-Correlation-Id: cb8e6c09-1f17-451a-8fb2-08ded2051f53
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|23010399003|1800799024|22082099003|18002099003|11063799006|4143699003|56012099006|6133799003;
X-Microsoft-Antispam-Message-Info:
	091ay3WatEhYdn3X5i9kShi6krjLqRS4KwSzfZAeT4pbg1jPMHjieqoI4RoCmH9aPwxKT5G5neqnjr5zqxV10VqMmgVIcLzXJcVVc7IpXRzUtFeairRVM6I2hIgJbVjuwHs33sxGHbUNOvb5CC9Xh2gX2oKiBpxwPilBWo8XtpqWlLLZqGdBmz4XxE/9qcph3aBj4qTv+bDDlTqWWoqbMF1lvlQ7V+cnAx0+th7GUGp1fiz0sAZvRsYMU/jiv0v4SP8GFJQUEffb1I/mk36YNx48Dpfcfda3NistBZhQhSvHhobt4gCxEXHTwvPK507R/8HxUrGbYFh3tFaWF+JwqjgPhQ2IvXG24LhCxHhfC7jxJjLZKScNaIsSvZn4yBCGc63Dx3UlkChoH/dbx+Ah7zRYDOr0D+YHICWgoOS+FTxrSSfHQAsbMSSVP+31ZsIkcTinyBMXvOS1BaeP/ANgRUKGTzP1B/+ovPBIh/uVG1VxotBO+9xXiihRmPDohX/GcF96LGKVvynLhxLoZNJzr7dYVzRcIEE5U1B1VsoIt0nwwlnlCwEqyOI7Cu5NGWm2PoY0WatRrIZEWNGRWXCpYHgVpit1d+OjqmOYRlNLCHtxAUpDgGdtFIX66ElqymPgCjCXjhgfqGIY42wt+MI8fgJZMv0iLi+72cqyPQP0m88=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(23010399003)(1800799024)(22082099003)(18002099003)(11063799006)(4143699003)(56012099006)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VEpWUUpZeUt1STJpU05aM2lUK241MWJha0Nua2FOWndQbmMzdGxuQUNSLzI3?=
 =?utf-8?B?Vnc5dVBId0JHa1pnZkF1cDZHcFVqNXpsUWFmbFczSU5vR3gxcG84TW9TMThm?=
 =?utf-8?B?b2lzODhPemlSV0ZmYlR2dFNQQm9lUVR4V01kQkZSSmJYRWJKcUpNRGlnMlFy?=
 =?utf-8?B?TU5YcndrZ0pReDN1aDc5dnM0ZnJqaUNlUFZYUGt4LzhuZXdGMEJjL1M1bTNF?=
 =?utf-8?B?MUhoUWRLN3RaOWhIN2dCaFRzWWh0UXFvMEg2S0Z6SXlSMVltcktDRkQzaTE4?=
 =?utf-8?B?aTgzekJSVEJZWWdpOHd4NEhYUlVXUXdQVk91a2lvTjN2ckh2ZjE4QVlsWEpG?=
 =?utf-8?B?VTNhQTJmVzVEN2k4OGZTWk5LbWJRWlVTS3MxOUFvaDZ5RDN3VUhqU1Jqc3Ba?=
 =?utf-8?B?aExjeE1lSitTL21kUjhFYjlKV3dWNjF6VlE5bmJJOFM5R2JzMTB3eTZQVUk2?=
 =?utf-8?B?OVZheHZEK2Z2TlI2RFNaN3lsbFh2aWhneFRRV0hjWFdxNXdXdjUzejBSdGNr?=
 =?utf-8?B?bHlBb2dka0EwQXZHMit0S2ZHa1hqTE1LUGxlTlBES1UrMVpQZGZMMFFwWlg2?=
 =?utf-8?B?QnZCSVEyWGVOQ1pCVkVXa3JXWmJMN2s1ZGpFZFVQQnpmYXlqSG5PYS9rYVJi?=
 =?utf-8?B?a2xManhZeTJuSExVelVHS1hqN2FwZkJ5VFl0Y0VtU2F5RUM2R0R0dDA5MXpp?=
 =?utf-8?B?dWZxK3FGa1c3WE56WVlsYzNJa1J6Ry9qeDE1dWVGYjV5RnorNHFYNXdDeUhy?=
 =?utf-8?B?UEp5WjhJUG1RWDZqS2FLRE45c1c3Ymg0V3RRaTBUSTlwZS9OODhyWkV2Mmhz?=
 =?utf-8?B?anVVOSswdTJQTkp5VHdSNlVFcExKbGcwajQ2SnpYU2NSYVUxbWI5V1VvTFJn?=
 =?utf-8?B?RWZmNGU4emlTYTdzVFRFRVcyVUtsRE5zenRVT2g4QmN3bGIyNUhyUysrWGVE?=
 =?utf-8?B?ZHlZVVQzZzMrYm9DamlHTFc5MmFvUHdZTVhJM2xLS2gxbXhhR2xxaWhnUHN0?=
 =?utf-8?B?cTRnay9XakRkMml3SXhKSEhhSXRTQlR4dzlYdDBQY2YxMkx0Rk9yTHFYWEVs?=
 =?utf-8?B?TDkvVWpLeFBkYUxlNWxxeGxOOGZXRDhEL3pNRFd4WTRMUW1FSTB4bTJOQm8z?=
 =?utf-8?B?SW02d3FFSmtKV0lXaERsWVZwSTFkWThGRUJmMkQxZ0tpSUhrajdMTjZ3ckdh?=
 =?utf-8?B?ZW9FWjV5QksxYmt6L09Ha1VHN2dTdWJMb3VOdHpBcWZVUHhlOTV2RWg4Y2RX?=
 =?utf-8?B?cnNSMW1aK0U0R0JYK3hTaGpJbkE3UmZXOTM4bjhSRk4zbXdCT1k0QVVtRXp1?=
 =?utf-8?B?VklyQVVIdFZvZGdTTi9HOFpuTmQ5Q0VhK0JFNGEwQ1VsVno3M0F6TmxQWHdR?=
 =?utf-8?B?aU8vaE5QZGN5MmpWNmNKYkdxSXNnR1ZjbnE2UFlOR2xVR1ZuaVpLQTdUK04r?=
 =?utf-8?B?S0U3aFVYKytSdW8zWUVLb1lIRUZuM0Q3bVZXWVlEVkJ3YVFTSDJodUtnMUlI?=
 =?utf-8?B?UCtRcDNsdWhiTlo3NHRQSFhleW9kTDRjRUEvWEk0Sm56aWNFcEZaZmFGcFJQ?=
 =?utf-8?B?UTN5NlJjSU9Rc0pDVWVtUERHVXcvU2ltMXFLdjdYSytlNFFsK2FzU3kybU0y?=
 =?utf-8?B?aE9KdG1Cdnd5Q3Z0a3RVSjcraU5ZZTROaWc1aHhrWUxPWFRnMktUbEV0TnhG?=
 =?utf-8?B?eHdrRWxnSWdvcy9HRVB1aWMwcjljWEVRV2dTbU1SQ0NBSGFCcGxHZXE1aTM4?=
 =?utf-8?B?eUF5UXNna1B5L3luWVk1V1kyVjMzNWFRdDlhbEMwYjFCZlZDcktpaE1DdFRv?=
 =?utf-8?B?RC9TNUJFV20vQ0xUcW1FdWM1RGNuTlI2ZHpTUCs1NlJBUkJPSHR2YlZoRnY0?=
 =?utf-8?B?TmpzY2pvV1dNN1VMd2R4eGYrdWhrQng4U3pHRnZaSlhEK0dUU0pyZXh1ajNu?=
 =?utf-8?B?d3NFZUxrdGVyeTduaHdqMllYZkZTaERONDA4UVg4L3pZQnVJWUdTbU5mbERN?=
 =?utf-8?B?QXRhalNZZy84NUtiU2FRQW8vQ3RkaHI1RVdFMURqYmF6QkxvSDl1Z3c5UVhs?=
 =?utf-8?B?d0Y4UGZTVnh0dElpNW00V2h0UHFtc3AyaElDc0NrTnRHcUpaY2FuV1VyOU5v?=
 =?utf-8?B?Wlg2MDlqSXEvVWtmeXVWMVduQUhrbWFnMmJMbE8vZnRMSURNTnZUOGRzVnlh?=
 =?utf-8?B?NUpqOTBMWUJEempSb1llUFZ6OThPZTlwTWt2TC9udHN2U2NIRFpsb2VrRFVF?=
 =?utf-8?B?dEd0bmVzeG90M3hlRHJmSEgzeUxJdkVZOGRJbFpabU1VcXAvOUtueWluaHVF?=
 =?utf-8?B?YktQR3RvUGx4YURTUjQ2OEVGKzVIZTRlRENvVzE1NmM1WDNmZ1ZZaVVuN1M2?=
 =?utf-8?Q?xdBrpnxdcraidyrs=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cb8e6c09-1f17-451a-8fb2-08ded2051f53
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jun 2026 15:27:37.6706
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zAOct3SkgsQakflKdvtKsp4DRWQtJWECCP7cZifG3x+SCbmqigAqPEvh8Ft/HnRy51kAx/aNs52vt8ZRN+XM400cwiRsBqZ3SJOU5fL3z4Q=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV5PR03MB8362
X-purgate-ID: tlsNG-ef75cf/1782314861-7C52825E-8A1AF0F9/0/0
X-purgate-type: clean
X-purgate-size: 5146

On 24/06/2026 3:43 pm, Jan Beulich wrote:
> On 24.06.2026 16:23, Andrew Cooper wrote:
>> Returning from an NMI which hits guest context needs special casing in FRED
>> mode just like it does in IDT mode.
>>
>> Break nmi_exit_to_guest() out of handle_ist_exception(), and use it in
>> entry_FRED_R3() also.
>>
>> Expand the comment a little, and invert the conditional jump to
>> compat_restore_all_guest() to avoid needing an #else clause for CONFIG_PV32.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> provided of course ...
>
>> Slightly RFC, not tested yet.  (My AMD system takes an eternity to reboot)
> ... the results of this won't prove it wrong.
>
>> For 4.22.  Found during testing of FRED.  The consqeuence is that we can end
>> up scheduling while still in NMI context, after which things like the watchdog
>> and other diagnostics don't work properly.
> May therefore want a Fixes: tag (it'll also want backporting aiui).

Ah yes, I'd meant to set one, but forgot.

Fixes: 87cfcbe9f0b5 ("x86/pv: Guest exception handling in FRED mode")

>
>> --- a/xen/arch/x86/x86_64/entry-fred.S
>> +++ b/xen/arch/x86/x86_64/entry-fred.S
>> @@ -20,6 +20,12 @@ FUNC(entry_FRED_R3, 4096)
>>          GET_STACK_END(14)
>>          movq    STACK_CPUINFO_FIELD(current_vcpu)(%r14), %rbx
>>  
>> +        /* NMIs need special handling on return to guest. */
>> +        movzbl  UREGS_ss + 6(%rsp), %eax
>> +        and     $0xf, %eax
> As you may be aware, I'm not overly happy with such literal numbers. But
> well, alternatives look a little involved. So just a remark, not a request
> to consider any kind of adjustment.

The 0xf cannot usefully be anything else.Â  It's the width of the event
type field in a FRED frame, but you need to visually see it's less than
0xff or the switch from %eax to %al looks wrong.

The +6 can't be generated by asm-offsets because the infrastructure
doesn't work on bitfields.

>
>> --- a/xen/arch/x86/x86_64/entry.S
>> +++ b/xen/arch/x86/x86_64/entry.S
>> @@ -146,6 +146,35 @@ process_trap:
>>          jmp  test_all_events
>>  END(switch_to_kernel)
>>  
>> +/*
>> + * When returning to guest from an NMI, we must execute an IRET/ERETU to
>> + * re-enable NMIs, and must not process softirqs which can e.g. schedule
>> + * rather than returning to guest context.
>> + *
>> + * If a softirq is pending, send ourselves an EVENT_CHECK IPI to compensate.
>> + * This will cause softirq processing to occur upon leaving NMI context.
>> + *
>> + * %rbx: struct vcpu, %r14 stack_end
>> + */
>> +FUNC(nmi_exit_to_guest)
>> +        mov     STACK_CPUINFO_FIELD(processor_id)(%r14), %eax
>> +        shl     $IRQSTAT_shift, %eax
>> +        lea     irq_stat + IRQSTAT_softirq_pending(%rip), %rcx
>> +        cmpl    $0, (%rcx, %rax, 1)
>> +        je      1f
>> +        mov     $EVENT_CHECK_VECTOR, %edi
>> +        call    send_IPI_self
>> +1:
>> +        /* For restore_all_guest. */
>> +        mov     STACK_CPUINFO_FIELD(current_vcpu)(%r14), %rbx
>> +#ifdef CONFIG_PV32
>> +        mov     VCPU_domain(%rbx), %rax
>> +        cmpb    $0, DOMAIN_is_32bit_pv(%rax)
> Would you be open to a little bit of trickery here while you move the code?
> The low 12 bits of %rbx are clear, so instead of $0 we could use %bl here.

struct vcpu being page aligned is a convenience not a requirement.Â  It's
hard alignment requirements are 32b and even then only with CONFIG_SHADOW.



>
>> +        jne     compat_restore_all_guest
>> +#endif
>> +        jmp     restore_all_guest
>> +END(nmi_exit_to_guest)
> Much like you flipped the Jcc/JMP here, ...
>
>> @@ -1209,25 +1238,7 @@ FUNC(handle_ist_exception)
>>  #ifdef CONFIG_PV
>>          testb $3,UREGS_cs(%rsp)
>>          jz    restore_all_xen
> ... how about also making this plus ...
>
>> -        /* Send an IPI to ourselves to cover for the lack of event checking. */
>> -        mov   STACK_CPUINFO_FIELD(processor_id)(%r14), %eax
>> -        shll  $IRQSTAT_shift,%eax
>> -        leaq  irq_stat+IRQSTAT_softirq_pending(%rip),%rcx
>> -        cmpl  $0,(%rcx,%rax,1)
>> -        je    1f
>> -        movl  $EVENT_CHECK_VECTOR,%edi
>> -        call  send_IPI_self
>> -1:
>> -        /* For restore_all_guest. */
>> -        mov   STACK_CPUINFO_FIELD(current_vcpu)(%r14), %rbx
>> -#ifdef CONFIG_PV32
>> -        movq  VCPU_domain(%rbx),%rax
>> -        cmpb  $0,DOMAIN_is_32bit_pv(%rax)
>> -        je    restore_all_guest
>> -        jmp   compat_restore_all_guest
>> -#else
>> -        jmp   restore_all_guest
>> -#endif
>> +        jmp   nmi_exit_to_guest
> ... this
>
>         jnz   nmi_exit_to_guest
>         jmp   restore_all_xen
>
> then allowing to fold with ...
>
>>  #else
>>          ASSERT_CONTEXT_IS_XEN
>>          jmp   restore_all_xen
> ... this?

This makes the diff rather less legible (and specifically, far less
obviously a "break out"), and changes the configurations that the ASSERT
lives in.

Perhaps as a followup, but not in this patch.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 16:04:48 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 16:04:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345142.1604122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcQ5Y-0002E6-Qh; Wed, 24 Jun 2026 16:04:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345142.1604122; Wed, 24 Jun 2026 16: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 1wcQ5Y-0002Dz-O1; Wed, 24 Jun 2026 16:04:32 +0000
Received: by outflank-mailman (input) for mailman id 1345142;
 Wed, 24 Jun 2026 16:04:31 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcQ5X-0002Dt-Ai
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 16:04:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcQ5W-00GGEE-AU
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 18:04:30 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3bfffa-bab6-0a2a0a5309dd-0a2a4509e352-30
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 18:04:30 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3c000e-97e6-0a2a45090019-d1558031b82c-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 18:04:30 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-490b7866869so10640705e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 09:04:30 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4926404ee91sm2089015e9.14.2026.06.24.09.04.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 09:04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782317070; x=1782921870; 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=cuf/EWXoA4hI0VdmyVJvBxRGOWSLEygwgP0e2rBYgys=;
        b=IPcXPDtTkzE2huJrUv8VWDacI9IkSOdmdJHTWq5ol9rTDsBpit2v1agfcEgxGzC7Cz
         2qP1gJn4wbWHS2m5SawU48/udl4omVBv19IsvRb0PZji9XI1yg9CkbFNcMLruK5Ud31t
         FsgNIdsK3GEWb1EZzJspodp2Mt6vv/+eO6WwPPmHZBgcX8Oh+Ws2FBqSdI9PHukd+U9p
         i1gYOjJZgZMhS4xS/gWImzoLbZ8psyALhMv/1my1OQEFXn6G3dLUin/FPkbGXQrOmfQw
         tEkU4LULF/7JRpwVSFjkkFO+5PFHFzbgdKDxTx101ijKy0Zlxh3URY5BOygw2QBiqEXf
         2tTA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782317070; x=1782921870;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=cuf/EWXoA4hI0VdmyVJvBxRGOWSLEygwgP0e2rBYgys=;
        b=MugZc9XMFYYV+x4RwdNcl2cA95XT/dxoOi3SGIhpvSUfFhnwsE4dCaCc+pCizAhk50
         J5w2gQVGBsdMQHLN2JrpqyEhEPgi4QzFyEPwX+pgbC0R1JeyU1bDyDiAJhCWZCgWtHol
         kZYHBtcOtpoXYFpKWUXVej4v4vpHGvOCwtpL3qNxtd0nDBAH9PKCnSN14Yf/n6q15mVX
         xvTaFZLdT+qMChbblymvNHST3hMe4hsgYyDAFPA3xrY9fNDEdGvhjttjInY9hBz6+1sP
         BDM3ejNkxEqyhTo5QjrFeb5ucNbns8TWjQYOw/3dywX6eB0irxBRZOnTwqyQcRUPkhDb
         duWw==
X-Forwarded-Encrypted: i=1; AFNElJ94UQ3LOVCH3ieD5sYGaJI1IXkfJBGV9auO+gIkUnXE+JsBDUXRXU4k/K6KT/6ENhOSMwtaw2KA1uA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzRmdnawKq6mp5/rz/EcFWmg3NyXrT5VptzPx+bwfOKwb3bc+6i
	3THYgfxpg6M+2lnnl88SBePWkjEfng14Ckl6JCeeCFl7qwZX7p8ZBHBp2E3QcA==
X-Gm-Gg: AfdE7cl2Y1OCdkgc6wLxSZMfC3H28TFcARPcCHgmzXny32PsWJWLNHoDZ4d3qSUw0Fa
	vgfTPea6Eig4C4Zer1uFwTk6Oe3Ycnrdv1DXfnZy8DFqDDrIVizl2O+zfensGm6xVCFliSLChO8
	p1rSWaZoGwryA3RtDpzIYT+5p9oQaLgjpfZb3OrIsV700BSmdlf3JV/MjWwlOAzBbw5FRQBNCAx
	kSJihwqVJIEagPLHQ/GQaN2cNtPm6hHyPOWE/AXZzII/dELFtbPz1y+4AzMQek4D47Gp5HT/LQs
	dtQqWPvkATZIgJU9E5WRKC/jm41a7AE3Y+fvcJ5jF8XZzQ0F4ld5Dkp3V6oRTk5ug0q0qz3GgRS
	/XKYtcnbju56BX+F1aWLC9zQRf+L6qfj/Aaalf50u6cwjqpMm6UBmKjjro89MxGXsTFdDjUxQ4t
	JOP1IGFqZ4BTp7HrlnFTs68Qf1tF/lfPk9qqtrLXVTfMW3CHmCq8gCLVqx1CEOvHfK2g1U2C/xw
	A2G2w==
X-Received: by 2002:a05:600c:6207:b0:492:523f:a3df with SMTP id 5b1f17b1804b1-4925b34a37fmr126249785e9.5.1782317069049;
        Wed, 24 Jun 2026 09:04:29 -0700 (PDT)
Message-ID: <d55a9dc3-3ac5-4d05-886b-6f79c120576b@gmail.com>
Date: Wed, 24 Jun 2026 18:04:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 23/23] xen/riscv: add initial dom0less infrastructure
 support
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <781214e3cb87a0fe38e210e9b0cefed49d623d52.1781693963.git.oleksii.kurochko@gmail.com>
 <74d47657-2fa2-4f8f-93f6-cdd96c99ce11@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <74d47657-2fa2-4f8f-93f6-cdd96c99ce11@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1782317070-56DA8986-0049326C/10/73395122804
X-purgate-type: spam
X-purgate-size: 10014



On 6/23/26 10:36 AM, Jan Beulich wrote:
> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>> Enable dom0less support for RISC-V by selecting HAS_DOM0LESS and
>> providing the minimal architecture hooks required by the common
>> dom0less infrastructure.
>>
>> Add stub implementations for architecture-specific helpers used when
>> building domains from the device tree. These currently perform no
>> additional work but allow the generic dom0less code to build and run
>> on RISC-V.
>>
>> Introduce max_init_domid as a runtime variable rather than a constant
>> so that it can be updated during dom0less domain creation.
>>
>> Provide missing helpers and definitions required by the domain
>> construction code, including domain bitness helpers and the
>> p2m_set_allocation() prototype.
>>
>> Additionally define the guest magic memory region in the public
>> RISC-V interface. GUEST_MAGIC_BASE is placed at 0x79000000 to avoid
>> overlapping with the QEMU RISC-V virt machine address space.
> 
> No qemu comes into play so far (and likely such also isn't planned).
> Then why would such an overlap be problematic? Plus as before, the
> constraints on such arbitrarily chosen numbers want putting down in
> a code comment next to the respective #define-s.

You're right QEMU isn't used directly, so my wording was misleading.
I used QEMU's RISC-V virt machine memory layout [1] as a reference when
laying out the guest's physical address map, but the value itself is
arbitrary. The only real constraint is that the GUEST_MAGIC_SIZE region
must not overlap guest RAM or the emulated device regions; since the RAM
bank sizes are known, it could equally be placed in a hole after a RAM
bank rather than below GUEST_RAM0_BASE. I'll drop the QEMU mention from
the commit message and document this constraint in a comment next to the
#define-s instead.

/*
  * The guest magic region holds Xen-reserved pages mapped into the guest's
  * physical address space (shared info, grant table, etc.). The only real
  * constraint is that the GUEST_MAGIC_SIZE-byte region must not overlap
  * guest RAM (the GUEST_RAMx banks) or the emulated device regions defined
  * above; the exact base is otherwise arbitrary. Here it is placed in the
  * unused gap below GUEST_RAM0_BASE (0x80000000), but a hole after a RAM
  * bank would work equally well.
  */
#define GUEST_MAGIC_BASE  _ULL(0x79000000)
#define GUEST_MAGIC_SIZE  _ULL(0x01000000)

[1] https://elixir.bootlin.com/qemu/v11.0.1/source/hw/riscv/virt.c#L82

> 
>> --- a/xen/arch/riscv/domain-build.c
>> +++ b/xen/arch/riscv/domain-build.c
>> @@ -156,9 +156,22 @@ int __init make_cpus_node(const struct domain *d, struct kernel_info *kinfo)
>>       return fdt_end_node(fdt);
>>   }
>>   
>> +int __init construct_hwdom(struct kernel_info *kinfo,
>> +                           const struct dt_device_node *node)
>> +{
>> +    return -EOPNOTSUPP;
>> +}
>> +
>>   int __init make_timer_node(const struct kernel_info *kinfo)
>>   {
>>       /* There is no need for timer node for RISC-V. */
>>   
>>       return 0;
>>   }
>> +
>> +int __init make_hypervisor_node(struct domain *d,
>> +                                const struct kernel_info *kinfo,
>> +                                int addrcells, int sizecells)
>> +{
>> +    return -EOPNOTSUPP;
>> +}
> 
> In the description you say "to build and run". How come "run" is actually
> true when these two new stubs return an error? For construct_hwdom() this
> may be explained by you not aiming at supporting Dom0 / hwdom (but that
> then still is a limitation to mention, perhaps in a TODO comment), but
> with DOM0LESS_ENHANCED_NO_XS set make_hypervisor_node() failing is going
> to break DomU building as well, afaics.

You're right. I've dropped "run" from the description, since some other 
stuff should be introduced to make dom0less guest domain to be runnable.

Regarding make_hypervisor_node(): it's true that returning an error 
breaks DomU building too, not only Dom0. As you mentioned it's 
acceptable for the moment only because no RISC-V domain currently sets 
DOM0LESS_ENHANCED_NO_XS, so the failing path is never taken in practice. 
I'll add a TODO comment to make this limitation explicit:

     /*
      * TODO: Generating the hypervisor node isn't implemented yet. 
Returning
      * an error here breaks building of any domain (DomU included) whose
      * dom0less_feature has DOM0LESS_ENHANCED_NO_XS set. This is 
harmless for
      * now because Dom0/hwdom construction isn't supported on RISC-V yet
      * either, and no RISC-V DomU sets that flag, so this path is never 
taken.
      * It must be implemented before DOM0LESS_ENHANCED_NO_XS is used.
      */

> 
>> --- a/xen/arch/riscv/include/asm/setup.h
>> +++ b/xen/arch/riscv/include/asm/setup.h
>> @@ -5,7 +5,9 @@
>>   
>>   #include <xen/types.h>
>>   
>> -#define max_init_domid (0)
>> +#include <public/xen.h>
>> +
>> +extern domid_t max_init_domid;
> 
> Shouldn't this be generalized, seeing that dom0less code requires it this
> way on every arch? Same ...
> 
>> --- a/xen/arch/riscv/setup.c
>> +++ b/xen/arch/riscv/setup.c
>> @@ -33,6 +33,8 @@
>>   #include <asm/traps.h>
>>   #include <asm/vsbi.h>
>>   
>> +domid_t __initdata max_init_domid;
> 
> ... for the placement of this then, obviously.

I tried here to introduce less changes.

Also considering that max_init_domid is used in console.c code after 
init is freed it seems like it is incorrect to use __initdata here. So 
what Arm is using better suites (__read_mostly).

If you think it would be better to do just now instead of later then I 
would suggest something like this:diff --git 
a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 0adfa4993a8f..2af780512540 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;
  };

-extern domid_t max_init_domid;
-
  void copy_from_paddr(void *dst, paddr_t paddr, unsigned long len);

  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 6310a47d68b6..86532d0a35b6 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -62,8 +62,6 @@ struct cpuinfo_arm __read_mostly system_cpuinfo;
  bool __read_mostly acpi_disabled;
  #endif

-domid_t __read_mostly max_init_domid;
-
  static __used void noreturn init_done(void)
  {
      /* Must be done past setting system_state. */
diff --git a/xen/arch/ppc/include/asm/setup.h 
b/xen/arch/ppc/include/asm/setup.h
index e4f64879b68c..956fa6985adb 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__

-#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/asm/setup.h
index 678b65ac1e54..73ce2f293348 100644
--- a/xen/arch/riscv/include/asm/setup.h
+++ b/xen/arch/riscv/include/asm/setup.h
@@ -5,10 +5,6 @@

  #include <xen/types.h>

-#include <public/xen.h>
-
-extern domid_t max_init_domid;
-
  void setup_mm(void);

  void copy_from_paddr(void *dst, paddr_t paddr, unsigned long len);
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 05708039ab54..e30e4624f882 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -39,8 +39,6 @@
  #include <asm/traps.h>
  #include <asm/vsbi.h>

-domid_t __initdata max_init_domid;
-
  /* Xen stack for bringing up the first CPU. */
  unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
      __aligned(STACK_SIZE);
diff --git a/xen/arch/x86/include/asm/setup.h 
b/xen/arch/x86/include/asm/setup.h
index b01e83a8ed9f..5925c5f39cff 100644
--- a/xen/arch/x86/include/asm/setup.h
+++ b/xen/arch/x86/include/asm/setup.h
@@ -68,6 +68,4 @@ extern bool opt_dom0_verbose;
  extern bool opt_dom0_cpuid_faulting;
  extern bool opt_dom0_msr_relaxed;

-#define max_init_domid (0)
-
  #endif
diff --git a/xen/common/domid.c b/xen/common/domid.c
index b0258e477c1a..cc5f468a30de 100644
--- a/xen/common/domid.c
+++ b/xen/common/domid.c
@@ -9,6 +9,15 @@
   */

  #include <xen/domain.h>
+#include <xen/dom0less-build.h>
+
+#ifdef CONFIG_DOM0LESS_BOOT
+/*
+ * Highest domain ID assigned to a boot-time (dom0less) domain. Read at 
runtime
+ * by the console serial-input switcher, so it must not be __initdata.
+ */
+domid_t __read_mostly max_init_domid;
+#endif

  static DEFINE_SPINLOCK(domid_lock);
  static DECLARE_BITMAP(domid_bitmap, DOMID_FIRST_RESERVED);
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index bcd6d261491b..4c09f4c7a984 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -31,6 +31,7 @@
  #include <xen/warning.h>
  #include <xen/pv_console.h>
  #include <asm/setup.h>
+#include <xen/dom0less-build.h>
  #include <xen/sections.h>
  #include <xen/consoled.h>

diff --git a/xen/include/xen/dom0less-build.h 
b/xen/include/xen/dom0less-build.h
index 4118dec76c0a..8d4da16d1f0a 100644
--- a/xen/include/xen/dom0less-build.h
+++ b/xen/include/xen/dom0less-build.h
@@ -5,6 +5,8 @@

  #include <xen/stdbool.h>

+#include <public/xen.h>
+
  struct domain;

  #ifdef CONFIG_DOM0LESS_BOOT
@@ -13,6 +15,9 @@ struct boot_domain;
  struct dt_device_node;
  struct kernel_info;

+/* Highest domain ID assigned to a boot-time (dom0less) domain. */
+extern domid_t max_init_domid;
+
  /*
   * List of possible features for dom0less domUs
   *
@@ -72,6 +77,8 @@ static inline bool is_dom0less_mode(void)
  }
  static inline void set_xs_domain(struct domain *d) {}

+#define max_init_domid 0
+
  #endif /* CONFIG_DOM0LESS_BOOT */

  #endif /* __ASM_GENERIC_DOM0LESS_BUILD_H__ */

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 21:53:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 21:53:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345212.1604141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcVXD-00027G-GN; Wed, 24 Jun 2026 21:53:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345212.1604141; Wed, 24 Jun 2026 21: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 1wcVXD-000278-9l; Wed, 24 Jun 2026 21:53:27 +0000
Received: by outflank-mailman (input) for mailman id 1345212;
 Wed, 24 Jun 2026 21:53:26 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <Jason.Andryuk@amd.com>) id 1wcVXB-00026z-Rf
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 21:53:26 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcVX9-00HPnd-JO
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 23:53:23 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a3c51c4-e002-0a2a0a5209dd-0a2a4509d3f4-4
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 23:53:23 +0200
Received: from [52.101.52.54]
 (helo=BL2PR02CU003.outbound.protection.outlook.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <Jason.Andryuk@amd.com>)
 id 6a3c51d1-97e6-0a2a45090019-34653436c161-3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 23:53:22 +0200
Received: from SA0PR11CA0166.namprd11.prod.outlook.com (2603:10b6:806:1bb::21)
 by CY1PR12MB9601.namprd12.prod.outlook.com (2603:10b6:930:107::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.14; Wed, 24 Jun
 2026 21:53:18 +0000
Received: from SN1PEPF0002BA4F.namprd03.prod.outlook.com
 (2603:10b6:806:1bb:cafe::31) by SA0PR11CA0166.outlook.office365.com
 (2603:10b6:806:1bb::21) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.21.159.14 via Frontend Transport; Wed,
 24 Jun 2026 21:53:15 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 SN1PEPF0002BA4F.mail.protection.outlook.com (10.167.242.72) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.21.181.6 via Frontend Transport; Wed, 24 Jun 2026 21:53:15 +0000
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Wed, 24 Jun
 2026 16:53:15 -0500
Received: from [172.29.28.188] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.41 via Frontend
 Transport; Wed, 24 Jun 2026 16:53: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=CwDhRcGTlagPWVD+XMrhZsowu9t8ic3CesuDa6DLsMUNHhpQK281dnjqUVDgn0cXLJVTO+aoy8bQkNKfZA2Zus1AWAyQ75e1JLGFJa8Tw0C91Ykp48auWTYrvPj6YV1uG4Rx2uVt9knuJpIaP1OIQrCqjBLbefCQP2YYMQO6sXBAj3CPV0/F8ZtM/2e6nqncyrauOxCzQlv0IPD+NUCl747xMGRG9CJ2lqBQIg2ODJ7V44tO0fD4WIHYEGbPkRAFjsZnkESzCbZ4TPjhoHtWTvaErXu/mIJuIpQ0WJ8vlrKWBzx+IJMeMjACy+MVaGmqbUeV6f8HfxMQ3U6oR3PO8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jhalz+7BYTdPOWbW0ONIYkoR12nFQHc/+tftpNSbEwo=;
 b=Qe16LhM6a1NwH9SPclW5X3vw3NF0XdOenUWZtS+zpwa3pdkx4buREJJ7wQffON4FDvjMaK4sjllBjhlmwrld0aJSRhc6G9oR0q3p8iq1FNRjBZf2L7+S+xCKd4gw/fjc0P1xWzBzisZzvEwYl2mYbhMxnrRqYv8rxXhWc9YQmwAcXxBqIHkc7bz1UsB1Tlp/7Jh3fpAAEG3R2MeB+9OIXtWaFNDrTykSmv6z2hCJ8aozW7SFGHd3A1hX0uKXZySrUKla+5FLxQPA/kMb4Nsf3WGnPUCOHLE5Dc/x7yDHjLmshxIGlzfR2ZwMpjbOeHyR/O5ngSly14nCQgE+G4VU8A==
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=jhalz+7BYTdPOWbW0ONIYkoR12nFQHc/+tftpNSbEwo=;
 b=Vw7dzrXrpQe0NTiuiceoT34YYuQIhN3X/GET4cBStvm8V1yPCHL1NMS+BQWGraMroSkBUuKj9O1KS8fV8DLBmjirddMn9E/pQ9ka9RGetxiJ280FqWzhYqHAmJKUD9ARJnT+U0Gin8pQE71HvGuiTcvGizfCC36B2dUFqw/9Z5Y=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <eb5a3c83-c470-4c81-b64f-09eaef4131e9@amd.com>
Date: Wed, 24 Jun 2026 17:53:14 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: New Defects reported by Coverity Scan for XenProject
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.org>
References: <6a3bce99e5494_767442bc3001679a440720@prd-scan-dashboard-0.mail>
 <ee48e27a-049f-43b9-87dd-c9188db26f30@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <ee48e27a-049f-43b9-87dd-c9188db26f30@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: SN1PEPF0002BA4F:EE_|CY1PR12MB9601:EE_
X-MS-Office365-Filtering-Correlation-Id: 3e16fdd2-bd7a-4f4f-ad26-08ded23afeba
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|376014|82310400026|1800799024|36860700016|56012099006|11063799006|4143699003|6133799003|18002099003|22082099003|3023799007;
X-Microsoft-Antispam-Message-Info:
	pDX/8j8ZhTYy0Rq3zd/+dnpxlgaKS35GFeJQ2OHjSRVBeA2OpWqofV0lS4nKwyT5dIF6UND4QJQL0f4rXiEnFo3wd1SuZNMV0EtWXv1h70uQxrVNjf8z0577EtJJ9TkNdWRZ8qe1O2pCM/H1FlD5op5oUB/eI2VC1SkcRB/S+bIPpQHwXfOMZYE2eFpgJBB16FBtdP9bvJpDvZOi7yXQmm6vDabqDBKmGcqc404mAuQ+i9PiO+42Epo6Vqd1D5O2+i9XZlPN277xSkwH/VQw8G6rYxfhw+x7EfT6xEOJU3U+r1kOdx8WHBkSBKq5JLhdV+M9YaJnvwlnSLZequhM0KVByAzitXtLQI59dyUb3aB0Mn3EFl3TjkkE0QL8rFR+kPWu+oXspFQgcj9DxTFm594yxjoOVv8xwR2PirM1wuorQCJq4lRbWU5DecMzOpONJa5GCG9BUQs5q/dregO3V/q78kHosB9KseA7ApVcEs7fOVPYqkM5RzCjgQ5thc9v083O61Xw1x4dbUqP9LvfuVZvGseTcXOR+bIqVdBatoLCNHYqp/vT/xWdlzqLi0bPvMuaYcesbVsJS9IYlN075p8HDlTeZ0HyKgUJb/gKrPdz16ymUjkxhjS3J5UqafAYvfoZqSVbZH1Rb5CShArTF2k3tvfPfms9KNhfemnW+5tLRmEnk71yO+yksO80jcZppQErGv+jFxbUSM6ALirI3A==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(23010399003)(376014)(82310400026)(1800799024)(36860700016)(56012099006)(11063799006)(4143699003)(6133799003)(18002099003)(22082099003)(3023799007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	duvvXeYtAeoXptwpAVDy5EATTxfjTDPbcz8SEQcWWF42zmVMUozNnnF/U/f8uZe70W+C8BzzVFuCtOK5+xSlPxgstt0SUupFfIcBMBcYEu6mjzyI3uFM9skhTT4nQRwS70T6/B5pJI7jolIJI5jyoyVvBS/TLN1EobsW394GDHlKuuf9yiFZ/N3f5LxZzRze8C5UKES8GjeP7mRqeSinHS+ZN6OsfluHvZCYQdQPMA7526dDhNMjVgApZD/BVl/rWNWVoKY3a5VXUVgNNCSmh6fAzEg3hPw46DrkJboj2A01meNptsJS6+5gX7fwncHOxuKfnETu4s0xVBqSs9FN/fb3TdEOYDuDQ9T4ZYrrK+frJu0VNzqzGvAPc3iV62ZwJgOThzpfGI9HVKMhXWDLApV978tOjtjxO4CpKt54AcZ9DWMjdAeA1nz1Fy4Na7wm
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jun 2026 21:53:15.6175
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3e16fdd2-bd7a-4f4f-ad26-08ded23afeba
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF0002BA4F.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB9601
X-purgate-ID: tlsNG-bad1c0/1782338003-44F2D986-E93C309B/0/0
X-purgate-type: clean
X-purgate-size: 1615

On 2026-06-24 09:04, Jan Beulich wrote:
> On 24.06.2026 14:33, scan-admin@coverity.com wrote:
>> ** CID 1695359:       Insecure data handling  (INTEGER_OVERFLOW)
>> /tools/xenstored/domain.c: 601           in domain_tree_remove_sub()
>>
>>
>> _____________________________________________________________________________________________
>> *** CID 1695359:         Insecure data handling  (INTEGER_OVERFLOW)
>> /tools/xenstored/domain.c: 601             in domain_tree_remove_sub()
>> 595     		node_changed = true;
>> 596     	}
>> 597
>> 598     	for (i = 1; i < node->hdr.num_perms; i++) {
>> 599     		if (node->perms[i].id != domain->domid)
>> 600     			continue;
>>>>>      CID 1695359:         Insecure data handling  (INTEGER_OVERFLOW)
>>>>>      "8UL * (node->hdr.num_perms - i - 1U)", which might have underflowed, is passed to "memmove(node->perms + i, node->perms + i + 1, 8UL * (node->hdr.num_perms - i - 1U))". [Note: The source code implementation of the function has been overridden by a builtin model.]
>> 601     		memmove(node->perms + i, node->perms + i + 1,
>> 602     			sizeof(*node->perms) * (node->hdr.num_perms - i - 1));
> 
> I'm struggling with this one: As i < node->hdr.num_perms, the last argument
> passed to memmove() can be 0, but I can't see potential for underflow.

This gave me pause on my initial review.  On the final iteration,
node->perms + i + 1 will point past the end of the allocation, but as 
you say the size would be 0.  I originally considered suggesting a check 
and then decided it was unnecessary because of the 0.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Jun 24 22:01:48 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Jun 2026 22:01:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345221.1604148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcVfD-0003iT-4a; Wed, 24 Jun 2026 22:01:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345221.1604148; Wed, 24 Jun 2026 22:01: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 1wcVfD-0003iM-1T; Wed, 24 Jun 2026 22:01:43 +0000
Received: by outflank-mailman (input) for mailman id 1345221;
 Wed, 24 Jun 2026 22:01:41 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wcVfB-0003iG-7W
 for xen-devel@lists.xenproject.org; Wed, 24 Jun 2026 22:01:41 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcVfA-003YnV-H1
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 00:01:40 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a3c53ab-5cb7-0a2a0a5109dd-0a2a450ab810-42
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 00:01:35 +0200
Received: from [40.107.74.82]
 (helo=OS0P286CU010.outbound.protection.outlook.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a3c53bb-e40e-0a2a450a0019-286b4a523dee-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 00:01:33 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by TYYP286MB4267.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:10f::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.13; Wed, 24 Jun
 2026 22:01:25 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0159.014; Wed, 24 Jun 2026
 22:01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Ex8A8XGzaVDQtlbOmw+nieNJHxSS1cMnkP8YNzGlrwyKAOUe0nruR0ELKjsV2sCcDoXpfy9YMVA2tQrMgQh8DjEHgwOnKAS4xuTLjOar8hXktATA1ZCl6bjxzpwSvkXrnNSo119r6Tzq2FZQirjwVZlGCbi4IFvzOTMr7H6nbA1XJoO+NvzLwUjQXkszBa3UEKUDvK8gxObztSQCXQLejJI41DifdTgGQPl0AEsq31Qgv81u7upWZPg9BU8D1waCdyCBRCcXyWRHdYxJ7MXFZOtAFBvsbPP1p4J7lkNInsi/SECYSXafRBLj8rl1e7+TXU1mq0wOZ2tmeUxrqBrTiQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hXnIxs6edQgX6QwzZolx8BccmPQVP//yHqn+NvDR11M=;
 b=rDJowvzPGzITDUtz7yOl2/iHZezpEUCd1sKu+Rs0STUlsH5VC9oAaHwT4c1Z/atTAjd54UsOQzytt2h6iOLIqLBcRe5nztZqaniyURi+gyDrx9Mu3QaLJFTBbDvuxWAlfE2hAiCURkUUMQPpqXnK+DqypuIoD1hsgi9Pf7LVypyJXdJnI8PdoWSEpB8exOp874/SimdZ+Ft2DLbFuxFmL9msBrMGFXoTTwzQTYKJDao4XVUdtu/sLOTKbLTKOeXGUdS5f46HuZ2No8+AKc1JqrhUP5vNOcg3nRykBNEFDNZqojexVjCTlsnFFmYSv0j1W8hWfGuqS5J4I8Nb6tQsrg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hXnIxs6edQgX6QwzZolx8BccmPQVP//yHqn+NvDR11M=;
 b=LSaY7oqs40T8xNQu6PwF39unjQZ9mlMGsyICXt4i/EdYuiTW00Jmcdzs6csb1YtpER+/KnGsIw0mmoKcMupaIKKflcitvmw3MAGp9gOrPaFsFPSQKS7WyQ4Iva71TOLuuH87rScEIx0lMSCDONKSaMbx2l7ubTGSGHPP3IdTN8Y=
From: Hirokazu Takahashi <taka@valinux.co.jp>
To: Jan Beulich <jbeulich@suse.com>
CC: "Mykyta_Poturai@epam.com" <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>, 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 v2 1/3] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
Thread-Topic: [PATCH v2 1/3] xen/device-tree: Parse 'cpu-map' node for CPU
 topology exploration
Thread-Index: AQHc/iieS3lBNqoSEkmC0mA+RhjVELZKgS4AgALq9XCAACbVgIAArc7w
Date: Wed, 24 Jun 2026 22:01:24 +0000
Message-ID:
 <OS9P286MB72227B462A5DAEC97133EE3F82ED2@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
References: <20260617071206.265599-1-taka@valinux.co.jp>
 <20260617071206.265599-2-taka@valinux.co.jp>
 <0c37c031-cc21-44d2-9ef6-4baf6f24d74b@suse.com>
 <OS9P286MB7222059ECD370CD6137B698982ED2@OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM>
 <ed9cf5a8-c3d2-49ae-979a-56d2c474b738@suse.com>
In-Reply-To: <ed9cf5a8-c3d2-49ae-979a-56d2c474b738@suse.com>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: OS9P286MB7222:EE_|TYYP286MB4267:EE_
x-ms-office365-filtering-correlation-id: 76dff067-105f-413b-02e2-08ded23c224c
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|23010399003|1800799024|376014|7416014|38070700021|18002099003|22082099003|4143699003|56012099006|5023799004|6133799003;
x-microsoft-antispam-message-info:
 URa1zv14wXy4KbHIkNIlw3jll2NDWSbM2RRqr7lpXDn1A3HH705keAeMkBorIPq6Sf/WVZW97Apu4Ic4IUA6xLQ7l30qAW43q/aFJnRWB91gOwWO/mbXEmuQAn27uiAmCPOoEjbfs5sn6ttohfB2qmfH5jxMUHgDuW9To7IpI1Bdej7bYRd+/aqzYltPXlPUee94mxpxNAU3gLHTqYd8SQoj01sH7zx5ux5W7I4zRv6CacuDGpJ4tKAdMPvR7BrSQPTG6bcNnDlyIv+N7dy7vdDzZi2gqX4XGleul0bzN+j7x2Py4IYZyRUxBaihw3miMyoubmb9RPmPfef+MGyDBvCAetNbMcXWew97iq05iwaMuTLf/89RBYqJZWNVa/DyA2ctruc7oEmUoG3hkqySKie/oEVa+hNAAVvgQuKuEkH7RXsMhcEfa+VlAaHxQ4+1AmOT+tNsz9bXV6H3Nkehp4rr4GfciyUrjXrpJVQWoLiFRS+deYGNjuz3LS/GvyirpAfvOW/uYlXXicgO1s/JTAdqrVMbhu1A3Q9XeIQwWqaGgXyqbwB1xi4/zkC1JcwCKXB4xTuKMhH3n3tatct2xrjtLBgfkSxfb5ZxDiM9iDbttpBJXI6pVtaDWooXz9tGqYDW5EGiNppOLthVM43+2PZdtCGywuXXZErpGTbjuFUe0NTVf6BWg340MwtpQr5XpwsWz3a68l/mu2T7sXI0bl+Rd+3of0diFpz9JZ9IfnE=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(1800799024)(376014)(7416014)(38070700021)(18002099003)(22082099003)(4143699003)(56012099006)(5023799004)(6133799003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?VEcwK1o5dzhOK0xzT2h1RjlPOU9ZMnlOaE01WmtuRXNYTTd2NG1YYzU3VWs0?=
 =?utf-8?B?OFJZcURRcXAzcGFHcjVWTkNvak51MDZqTSs1bFJlK3N0dHd6czNQNCtYSUJV?=
 =?utf-8?B?OGVGWDdyckx0RWxwV3RpN0lwVFB2aGZ4UUhpd2VYMDlhQUZjZkFJeUFheXZh?=
 =?utf-8?B?YTlSalJJZEVuNjZMZ202MGZwUUsrY0RNNUlBQXpqYlVTdU4rQTFnT0pWZDAv?=
 =?utf-8?B?RDMydWlkQWpSd2VWdDRkeFJQQ3FubGRHcjl4NzllVk10N1lDc1FPeHdIdDhr?=
 =?utf-8?B?WE5WMllmazc4ZFVJcVVLOUVEMkxGdVhnNHhySHBKK25VelFIb3RQK25GMWVi?=
 =?utf-8?B?RlE5QURBcFZ5R0FnUVZ0dE81Wm9HV3VXbG84TWJVM0cyUnNoODlmeThVdER5?=
 =?utf-8?B?Z2I3cTJuekM1RUUvd2Jrc2kydm1xWGM5VHA2ZWJEK1ZiRnBrRDdGZWxhMFRo?=
 =?utf-8?B?MnEzTTVCK1QrZHd6NXB4WENHSGZwWDhBS3c0cFZRTU9oWVRvd2F1U3NRVUow?=
 =?utf-8?B?ZkRVeTg5enhhWk02Tmx2M3ZpUk8yL3NuVnN5aE5Jdm5RNWZyQnI2bkFlSktl?=
 =?utf-8?B?T1Q0MTMwbFZoMHB5ZWI2Z3VtbjlTYmMxYlFxVTU3ZGk2Z044WkRyMFBrVXJl?=
 =?utf-8?B?SWFjVjhvZkFKR1dQY2F3UjJ3dy9Ha2luSGpBakhsa2ZSS1ZkSExCeEd0dUJI?=
 =?utf-8?B?VUxka1RkU083NWtmUFdrcDN5NnVWVWFNbFQva0VCUWFxTDB1SUREang0RXND?=
 =?utf-8?B?Z0JjcFNHYzJDYzc1U1V2MGhLOUxGeW9aMkd0TXpUTUp3dks2YkFxVmpOUk54?=
 =?utf-8?B?Vk5wUGRHc0NFbVJRWEw1V3dzSWxRcjArMXV4dGwrTllzenRRQUdGNXphN1J0?=
 =?utf-8?B?aENtN1dHeDB2ZnArS2FEUURaM0Q3MnNZeWJCTWlubW5kNkpXZGNZTHpaem9x?=
 =?utf-8?B?cVJxMEsydU1hMi9kSlNsZHY1dyttQzFkcWg2aEFRanBrdUhRdnRYaE85S296?=
 =?utf-8?B?SmNFa2RiNmkyTXpSZ0RsdDl4amxZd0d0SHNteHM0OWZHZlpNQWZnRm0ra0pD?=
 =?utf-8?B?Vnp0eEJsTjRrdXAxRzFLTUphMUo3SUZNRHlCY0tkWGttMnQrT2Q2c1RWWE96?=
 =?utf-8?B?b2N4R080K0JHTmpoVGlWVit1azU2M2pRZFhSOVZjQlhlTlM3RC92eEtpdGRs?=
 =?utf-8?B?bVFETzYvTE83dmU3UlZnSk5oMitPQW1OWHFZSW43M0xyWHZWbklyZUxxY05J?=
 =?utf-8?B?QTg4UUdsaDlvU1YxaG9ZbmRSZ2FJYmFhdHZUbHc5SnZnTGFIRHJjbm9LVSsy?=
 =?utf-8?B?SUo4T1RuUjAzSWlPTVRGT1dKMjJOTGlLT2JTbHVvOW94bTlPTldNZWdKem95?=
 =?utf-8?B?cXVQTTA2cHB2RU1vS05tK08rN3R6WS90RXlRV1h6aWFpTGtvSjhodDZiMVlD?=
 =?utf-8?B?aWdFRklKNEtjb3pPM0RNb2l5aXJJYStmd0Y3RHh1RGRtT2hWaS8zYlJYUnBs?=
 =?utf-8?B?Y1JLQjA1S2dzZTBlalJIS2o5R0xUYm9ON1JNcVh1b2QyNndhTzlrZDJZeTdC?=
 =?utf-8?B?bzBmTjVMOVB0N3d6ZTl6NGZ1QzlzcU1yWHJYUHF5Y1o2WDZ6OWZ5dUdLS1gw?=
 =?utf-8?B?Y0t4cTFJNkZIc043azhJUUIzdEd4a2ZMZ2IwWUdvaWJoc05pWXRLczNDTE1k?=
 =?utf-8?B?WTlLM3pRYUl6WVVZTWZCdTR0dGx1OFZXaFhMemIwa1lBWnFiejEyc0FRRnQ5?=
 =?utf-8?B?UmNpSEtJTVFFRVNuLzBhNHZSZStZUlJVZko4Nmx0NFF4MndCQUtIOHI0ekt5?=
 =?utf-8?B?cWJTS1ZXUVZxOHdQdElndzdZOGdpVTdJT0h2cFRhQUhMSEdyOCtNNWV5OVBr?=
 =?utf-8?B?VHUzRnd6VEZCcnNFVzNRbXFxNUo4V1pYdE9LbHUxYnFmWW5aSTRrTU5VQmQ0?=
 =?utf-8?B?aFNqUnFXYkRCYlQzeXFNb2kvSGxuMkdkVTJRZUxhRWRtQ3lrNjd3M21xLytY?=
 =?utf-8?B?UThQVDlNdk5YZVhQNG1Da0x2dWcvN2JBWVM1ZUp0Y0lQWWJ0UC84N2R6STFj?=
 =?utf-8?B?U1dGek5TU3FVZTRrcTZuZVh5VkFrMjh2bldmYkhFVU8vNndtNXV5aHN5SXlV?=
 =?utf-8?B?ejkzQmw5U2kxWE5VKzhBeDF1WEgwSWpudDJWM1N1aEZYR0h5bkVQUU5hMFU1?=
 =?utf-8?B?Umt4SklzQlBxYXZQa0JHVWtnZC9zRDVGMHFqSk9RK1N2OVdXNkpxdEhOTWFy?=
 =?utf-8?B?ODdPbEZxSjJoTkxFSFJFL2h2bHhqcjBKT2VTN1IybkVvc3o1aC9qS25YUlF0?=
 =?utf-8?Q?wZf27itR7gHHbR+UWL?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 76dff067-105f-413b-02e2-08ded23c224c
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jun 2026 22:01:24.8385
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: yMMtxUGCqVegyL17Et4WIaa6BJMnDZRMDwIz8saRvlh8la09RwRHrQ/6nj6eMkIranCkb7mKmRw5NI2iRBiYNg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYYP286MB4267
X-purgate-ID: tlsNG-4011c0/1782338495-3C478DDE-05E6A87E/0/0
X-purgate-type: clean
X-purgate-size: 4562

SGVsbG8sIA0KDQo+ID4+IEFzIHRvIHRoZSBzaXplIG9mIHRoZSBhcnJheSwgaXQncyBub3QgcXVp
dGUgY2xlYXIgdG8gbWUgd2hldGhlciBieSBkb2luZyBpdA0KPiA+PiB0aGlzIHdheSAoaW5zdGVh
ZCBvZiB1c2luZyBucl9jcHVfaWRzKSB3ZSdyZSBub3Qgc2V0dGluZyBvdXJzZWx2ZXMgdXAgZm9y
DQo+ID4+IHRyb3VibGUuDQo+ID4NCj4gPiBPbiBBUk02NCBYZW4sIG5yX2NwdV9pZHMgcmVwcmVz
ZW50cyB0aGUgdG90YWwgbnVtYmVyIG9mIHBvcHVsYXRlZC9hdmFpbGFibGUNCj4gPiBDUFVzLCBi
dXQgdW5mb3J0dW5hdGVseSBpdCBjYW5ub3QgYmUgcmVsaWVkIHVwb24gYXMgdGhlIG1heGltdW0g
Q1BVIElELg0KPiA+DQo+ID4gRm9yIGluc3RhbmNlLCBpZiBhIENQVSBub2RlIGluIHRoZSBEZXZp
Y2UgVHJlZSBoYXMgYW4gaW52YWxpZCAnZW5hYmxlLW1ldGhvZCcNCj4gPiBwcm9wZXJ0eSwgdGhh
dCBDUFUgSUQgc2xvdCBpcyBzdGlsbCBjb25zdW1lZCBkdXJpbmcgdGhlIGluaXRpYWwgcGFyc2lu
ZywgYnV0DQo+ID4gdGhlIENQVSBpcyBub3QgY291bnRlZCB0b3dhcmRzIG5yX2NwdV9pZHMuIFRo
aXMgY2FuIHJlc3VsdCBpbiBhIHNwYXJzZSBDUFUgSUQNCj4gPiBhbGxvY2F0aW9uIHdoZXJlIHRo
ZSBtYXhpbXVtIENQVSBJRCBhY3R1YWxseSBleGNlZWRzLg0KPiA+DQo+ID4gSWYgd2Ugd2VyZSB0
byB1c2UgbnJfY3B1X2lkcyBhcyB0aGUgYXJyYXkgc2l6ZSBoZXJlLCB3ZSB3b3VsZCByaXNrIGFu
DQo+ID4gb3V0LW9mLWJvdW5kcyBhY2Nlc3MgdW5kZXIgc3VjaCBmYXVsdHkgRGV2aWNlIFRyZWUg
Y29uZmlndXJhdGlvbnMuIFRoaXMgaXMNCj4gPiB3aHkgSSB1c2VkICJjcHVtYXNrX2xhc3QoJmNw
dV9wb3NzaWJsZV9tYXApICsgMVUiIHRvIGVuc3VyZSB0aGUgYXJyYXkgaXMNCj4gPiBsYXJnZSBl
bm91Z2ggdG8gY292ZXIgdGhlIGhpZ2hlc3QgYWxsb2NhdGVkIENQVSBJRC4NCj4gPg0KPiA+IENv
bnNlcXVlbnRseSwgdGhlcmUgbWlnaHQgYWN0dWFsbHkgYmUgcG90ZW50aWFsIGJ1Z3MgaW4gb3Ro
ZXIgcGFydHMgb2YgWGVuDQo+ID4gd2hlcmUgbnJfY3B1X2lkcyBpcyBpbmNvcnJlY3RseSBhc3N1
bWVkIHRvIGJlIHRoZSB1cHBlciBib3VuZCBmb3IgQ1BVIElEDQo+ID4gaW5kZXhpbmcgb24gQVJN
Lg0KPiANCj4gU3BlY2lmaWNhbGx5IGNwdW1hc2tfdmFyX3QgYWxsb2NhdGlvbnMgYXJlIGRpbWVu
c2lvbmVkIGJ5IG5yX2NwdV9pZHMsIGFuZA0KPiBhbGwgY3B1bWFza3ssX3Zhcn1fdCBhY2Nlc3Nl
cyAoaW5jbHVkaW5nIHRoZSBjcHVtYXNrX2xhc3QoKSB5b3UgdXNlIGFib3ZlKQ0KPiBhbHNvIGhh
dmUgYm91bmRzIGNoZWNrcyBhZ2FpbnN0IG5yX2NwdV9pZHMgKHNvbWV0aW1lcyBvbmx5IGluIGRl
YnVnIGJ1aWxkcykuDQo+IElPVyBpZiB0aGVyZSBpcyBhbiBpc3N1ZSBhcyB5b3UgZGVzY3JpYmUg
aXQsIGFuZCBpZiB0aGF0IGNhbiBoYXBwZW4gaW4NCj4gcHJhY3RpY2UsIHRoZW4gdGhpcyB1cmdl
bnRseSBuZWVkcyBmaXhpbmcgb24gdGhlIEFybSBzaWRlLiBUaGlzIGNhbm5vdCBiZSBhbg0KPiBl
eGN1c2UgdG8gbm90IGRvIHRoZSBzYW5lIHRoaW5nIGhlcmUuDQoNCk9rYXksIEkgd2lsbCB1c2Ug
J25yX2NwdV9pZHMnIGFzIHRoZSBhcnJheSBzaXplLg0KDQpBbmQgSSBoYXZlIHRvIGZpeCB0aGUg
Zm9sbG93aW5nIGNvZGUuDQpBUk0gWGVuIG1heSBwb3NzaWJseSBjcmVhdGUgc3BhcnNlICdjcHVf
cG9zc2libGVfbWFwJyBhbmQgY2FsY3VsYXRlcw0KbnJfY3B1X2lkcyBmcm9tIHRoZSBudW1iZXIg
b2YgYml0cyBpbiBpdC4NCg0KeGVuL2NvbW1vbi9jcHUuYzoNCnVuc2lnbmVkIGludCBfX3JlYWRf
bW9zdGx5IG5yX2NwdV9pZHMgPSBOUl9DUFVTOw0KDQp4ZW4vYXJjaC9hcm0vc2V0dXAuYzoNCnZv
aWQgYXNtbGlua2FnZSBfX2luaXQgbm9yZXR1cm4gc3RhcnRfeGVuKHVuc2lnbmVkIGxvbmcgZmR0
X3BhZGRyKQ0Kew0KICAgICAgICA6DQogICAgc21wX2luaXRfY3B1cygpOw0KICAgIG5yX2NwdV9p
ZHMgPSBzbXBfZ2V0X21heF9jcHVzKCk7DQogICAgcHJpbnRrKFhFTkxPR19JTkZPICJTTVA6IEFs
bG93aW5nICV1IENQVXNcbiIsIG5yX2NwdV9pZHMpOw0KICAgICAgICA6DQp9DQoNCnhlbi9hcmNo
L2FybS9zbXBib290LmM6DQovKiBtYXhjcHVzOiBtYXhpbXVtIG51bWJlciBvZiBDUFVzIHRvIGFj
dGl2YXRlLiAqLw0Kc3RhdGljIHVuc2lnbmVkIGludCBfX2luaXRkYXRhIG1heF9jcHVzOw0KaW50
ZWdlcl9wYXJhbSgibWF4Y3B1cyIsIG1heF9jcHVzKTsNCg0KdW5zaWduZWQgaW50IF9faW5pdCBz
bXBfZ2V0X21heF9jcHVzKHZvaWQpDQp7DQogICAgdW5zaWduZWQgaW50IGksIGNwdXMgPSAwOw0K
DQogICAgaWYgKCAoICFtYXhfY3B1cyApIHx8ICggbWF4X2NwdXMgPiBucl9jcHVfaWRzICkgKQ0K
ICAgICAgICBtYXhfY3B1cyA9IG5yX2NwdV9pZHM7DQoNCiAgICBmb3IgKCBpID0gMDsgaSA8IG1h
eF9jcHVzOyBpKysgKQ0KICAgICAgICBpZiAoIGNwdV9wb3NzaWJsZShpKSApDQogICAgICAgICAg
ICBjcHVzKys7DQoNCiAgICByZXR1cm4gY3B1czsNCn0NCg0Kc3RhdGljIHZvaWQgX19pbml0IGR0
X3NtcF9pbml0X2NwdXModm9pZCkNCnsNCiAgICAgICAgOg0KICAgICAgICA6DQogICAgZm9yICgg
aSA9IDA7IGkgPCBjcHVpZHg7IGkrKyApDQogICAgew0KICAgICAgICBpZiAoIHRtcF9tYXBbaV0g
PT0gTVBJRFJfSU5WQUxJRCApDQogICAgICAgICAgICBjb250aW51ZTsNCiAgICAgICAgY3B1bWFz
a19zZXRfY3B1KGksICZjcHVfcG9zc2libGVfbWFwKTsNCiAgICAgICAgY3B1X2xvZ2ljYWxfbWFw
KGkpID0gdG1wX21hcFtpXTsNCiAgICB9DQp9DQoNCg0KPiA+Pj4gKyAgICBpZiAoICFjcHVfdG9w
b2xvZ3kgKQ0KPiA+Pj4gKyAgICAgICAgcGFuaWMoIkZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkg
Zm9yIGNwdV90b3BvbG9neSBhcnJheVxuIik7DQo+ID4+DQo+ID4+IEkgcXVlc3Rpb24gc3VjaCB1
c2VzIG9mIHBhbmljKCk6IFN1cmVseSB3ZSBjYW4gZG8gd2l0aG91dCBhbnkgTlVNQSBpbmZvLA0K
PiA+PiBpdCdzIG9ubHkgcGVyZm9ybWFuY2Ugd2hpY2ggaXMgZ29pbmcgdG8gc3VmZmVyLg0KPiA+
DQo+ID4gT2theSwgSSB3aWxsIHJlcGxhY2UgdGhlIHBhbmljKCkgd2l0aCBhIFhFTkxPR19XQVJO
SU5HIHByaW50ay4NCj4gDQo+IFdoaWNoIG9mIGNvdXJzZSB5b3UgdW5kZXJzdGFuZCBpc24ndCBh
bGwgdGhhdCBuZWVkcyBjaGFuZ2luZyB0aGVuLg0KDQpZZXMsIEkgd2lsbCBlbnN1cmUgdGhhdCB0
aGUgcmVzdCBvZiB0aGUgY29kZSBoYW5kbGVzIGEgTlVMTCAnY3B1X3RvcG9sb2d5Jw0KUG9pbnRl
ci4NCg0KSGlyb2thenUgVGFrYWhhc2hpLg0K


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 05:56:56 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 05:56:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345248.1604158 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcd4o-0000DF-6i; Thu, 25 Jun 2026 05:56:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345248.1604158; Thu, 25 Jun 2026 05:56:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcd4o-0000D7-0x; Thu, 25 Jun 2026 05:56:38 +0000
Received: by outflank-mailman (input) for mailman id 1345248;
 Thu, 25 Jun 2026 05:56:36 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcd4m-0000D1-Kr
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 05:56:36 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcd4j-004b7r-Jy
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 07:56:33 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3cc305-bab6-0a2a0a5309dd-0a2a4506c706-26
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 07:56:33 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3cc311-08de-0a2a45060019-d155802cd433-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 07:56:33 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-49249072f03so10065435e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 22:56: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-4926417f0c7sm44793225e9.14.2026.06.24.22.56.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 22:56: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782366993; x=1782971793; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=6oPpsWMV6uUB1sMYbM5+qpNnZgsoLiynBAJlgm9Lpik=;
        b=DkkjSoYk0s+COygHuKPr7YnW82IgYlSS9hf9vV80e9PgoeJRG+ZIyFKdD9wn36eSiL
         QFrIw2NUoll9zOc+tTLo9GTzsyBG7B7KPVQH9hyuDCAod5g95voqk1/ll0bEyOnSo2K5
         R78dyDViMTYk6kuPk4E5mlZxc7OvaeEyIOOsIpGpkqdGAm6TCkglRy/Q9LfACAFix0YW
         oJ1MlkfQKSOSqY3Nze4PJLGCLjPWV2Ud6232jvI49HD2Qb2SwZoL3+uDRqNpqZ+HyVqu
         1MYG4QYCyGlKQqHXOP1HKAAbSoE7SPYntTtywIEHIqXe+qcpLBOVfJqqD1WfDWm/vKiA
         7TQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782366993; x=1782971793;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6oPpsWMV6uUB1sMYbM5+qpNnZgsoLiynBAJlgm9Lpik=;
        b=ewal5cyI1zijSj1DNAnnkwelXSYRB0fEZYvL6E7UfoxXrsQBRC2asSMiKrZwMjVYSr
         XKXA7Y8TRm7Nr0kYze6zUa1d8VSf+Vh0EhBVf/xiFZMUDnsQHTgfZUwT5teexJ4WZ/qm
         BPdjHZ+Ei4LVKmMKAoqO8Vp/tLAM/GiDq+NHopNcJWuXIbKUIt4USRaZ7SCSwNcILMvD
         MmGAMeHWLK7PG4uporWiZDtMWV0djRttbLZ0zu2VzM3CvrZg2EKaHIZRF5b0zkzhm/cq
         +DWNbG89lk5NhzbHEtSYEdu2N3tnInzbIOTcIdcDjVXvXTHf/WBdcGNzVEe8urvpsyxS
         P7gQ==
X-Forwarded-Encrypted: i=1; AFNElJ+dJaYsWdDFvHAFOYWpJL9ZgPS7X0Cq7pBrEz5fc34vbqQahc5vkkfAsdbBYeEWIx7EQbsZpjl+w0k=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwM0xa7YtLQJ/9JcDBzvFqlxzzce8OOz//ptEYRUAjj0UXARdYR
	DrmckWprv3i7pCHRPtel+7KY9prg+SBqO5/T8q8Kmqf4wKkuFW2C1kmvKpM+NO2pVw==
X-Gm-Gg: AfdE7cm7s3yXr86W0WOwLd5aWFje/yi+zu8O4+3t5zHa1fZ9bQvDVMf38t/Pp3R2lOQ
	0idUoE+ADwXJX+MCPHO0eBobcNf24oyW/D0HcWRhcRIKCBNepDYZf6FWqyMSsyBGSSIT+h7WUvu
	YPwTFdi/fFsroLooVKa2UyukXQgIYzmNCQJuj4UAOsWp10LvObDDzu6f7MoG+RTjdm6V5Ahc8zn
	LgbqXUhsVDJAPCWg06/+XjO+waEBb/T2IuB2SZNMkCgX5Jg+L/s1sE7+j4Ioz8auWmhNrB+GB7o
	eBFouwrC2TfLbBRV4SI4BsgRTjM/TQ+vai9W6IvBIOud0MFafyoF4oUnT22HxY41tfnmmpPdXTl
	/DoJ/U2k9fN9NCf/KzpYHLyP/iZlvdX55/75pgy7VjCVQHX+5EdrSVf+5VrsWKjhBwENZ2EVhv5
	4ZRZEVREM8GWesimdYy30uxLxYwbmMlPrgV11wd4cpDsJFjdTkgQMeFWjl+lv4hhEWNN1TEGogo
	Kuq
X-Received: by 2002:a05:600c:c4a5:b0:492:2e48:81e6 with SMTP id 5b1f17b1804b1-4926684a6b7mr11453825e9.4.1782366992788;
        Wed, 24 Jun 2026 22:56:32 -0700 (PDT)
Message-ID: <edae2a76-661e-4f61-ac6f-4cae80e89b88@suse.com>
Date: Thu, 25 Jun 2026 07:56:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: New Defects reported by Coverity Scan for XenProject
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6a3bce99e5494_767442bc3001679a440720@prd-scan-dashboard-0.mail>
 <ee48e27a-049f-43b9-87dd-c9188db26f30@suse.com>
 <eb5a3c83-c470-4c81-b64f-09eaef4131e9@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: <eb5a3c83-c470-4c81-b64f-09eaef4131e9@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1782366993-C573868D-5CB49EDE/0/0
X-purgate-type: clean
X-purgate-size: 1935

On 24.06.2026 23:53, Jason Andryuk wrote:
> On 2026-06-24 09:04, Jan Beulich wrote:
>> On 24.06.2026 14:33, scan-admin@coverity.com wrote:
>>> ** CID 1695359:       Insecure data handling  (INTEGER_OVERFLOW)
>>> /tools/xenstored/domain.c: 601           in domain_tree_remove_sub()
>>>
>>>
>>> _____________________________________________________________________________________________
>>> *** CID 1695359:         Insecure data handling  (INTEGER_OVERFLOW)
>>> /tools/xenstored/domain.c: 601             in domain_tree_remove_sub()
>>> 595     		node_changed = true;
>>> 596     	}
>>> 597
>>> 598     	for (i = 1; i < node->hdr.num_perms; i++) {
>>> 599     		if (node->perms[i].id != domain->domid)
>>> 600     			continue;
>>>>>>      CID 1695359:         Insecure data handling  (INTEGER_OVERFLOW)
>>>>>>      "8UL * (node->hdr.num_perms - i - 1U)", which might have underflowed, is passed to "memmove(node->perms + i, node->perms + i + 1, 8UL * (node->hdr.num_perms - i - 1U))". [Note: The source code implementation of the function has been overridden by a builtin model.]
>>> 601     		memmove(node->perms + i, node->perms + i + 1,
>>> 602     			sizeof(*node->perms) * (node->hdr.num_perms - i - 1));
>>
>> I'm struggling with this one: As i < node->hdr.num_perms, the last argument
>> passed to memmove() can be 0, but I can't see potential for underflow.
> 
> This gave me pause on my initial review.  On the final iteration,
> node->perms + i + 1 will point past the end of the allocation,

To be precise, it may point _at_ the end of the allocation (i.e. immediately
past the last element), and hence still not UB.

> but as 
> you say the size would be 0.  I originally considered suggesting a check 
> and then decided it was unnecessary because of the 0.

If Coverity's wording is to be trusted, such a check also wouldn't have
helped here because 0 still is "no underflow".

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 06:08:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 06:08:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345258.1604166 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcdG0-0002bg-6E; Thu, 25 Jun 2026 06:08:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345258.1604166; Thu, 25 Jun 2026 06: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 1wcdG0-0002bZ-3O; Thu, 25 Jun 2026 06:08:12 +0000
Received: by outflank-mailman (input) for mailman id 1345258;
 Thu, 25 Jun 2026 06:08:10 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcdFy-0002bT-Hq
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 06:08:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcdFx-004eIh-6F
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 08:08:09 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3cc5be-2eae-0a2a0a5409dd-0a2a4506aeaa-48
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 08:08:09 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3cc5c8-08de-0a2a45060019-d1558030d94f-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 08:08:09 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-490b3637b90so12000125e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 23:08: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-492649695c9sm27619005e9.0.2026.06.24.23.08.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782367688; x=1782972488; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=p86CVyDleBYKE/sor4M7TJwkOCkw3o6hGenXF85BAeU=;
        b=fbIkWNiX9ggOOQx7+c7gKMuUDTUBQ1iDSGgFEDVSNneMkJijkQcAD64P2vYUdp/3Yw
         3EbMXDPpytlaZq0p9d3o5ccmTiUrH1PKXTBZkK7rolUX1zOG+0uJd6emLQyVIVGL9kN1
         AFnRyVklBxXwZgW6TAOsBxUiUqb0Cw97YFJFETosec6wf/z/n9FMZ/qKBFzasttcByut
         fGXOwGuf24a5U+SC+D5KtuPpLjKqr1gHoTCvO7gXY31RlEBTA4MYI+B4mMRup+ERY+ch
         mGR7qmcY76fG+8KOG1LK0Gmoq4dlKfuUloFf6SA8aQqHDZr1deDkGiWHpNOTsDI2bmxs
         Ns3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782367688; x=1782972488;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=p86CVyDleBYKE/sor4M7TJwkOCkw3o6hGenXF85BAeU=;
        b=Gw6e6atCWgcKDDqDiB9YwB+pN5AVp8dCXQk32iEUWvk71UQDCN3Ar50j5st9VBysvq
         b8Oz58xXdF+DwIw4w28Zp9/aci4rkbyEMDEtxQAUBden14ijrqdQ6OOk/3a6bNDpFdDV
         0TPyTEIJbNmKtHH07RjycBn2q3MTjYsD3PZ/gDi+Nzv7cZQNSaklmTxLr1SS8uiebl5z
         BmwnIaNLiwcmGAUwSOTImy4bsb/NpUlpCR78pTYak24EIIBxmptldqC+Nc+TCV1lqDRd
         pU5bPgTd88D/x2YvqWaEetGqm2Xaxd73iPb6aUKkmd/vW2AmFryFZUi+eamAV1HdbtKP
         xqqw==
X-Forwarded-Encrypted: i=1; AFNElJ+he0+9k0QPqzRylny+tgi5aRhTB9m37f2awEvbAcxn46/4R72qWQNpdWryzOu1hwT1+Z47v/NHrHo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywg4vxc/l5H0+l/JydLB+p7HBKWgi+/j2vP16EDIu/XzrMSDqUm
	ohumiCwaq1MtyA2DCR6DqyVXMgEpgffPjF+jvPJgX6hg6/1g4CjZJm3x5DWh1wNyZg==
X-Gm-Gg: AfdE7clUq5yIXlypaXQmvr1gbOheoF0JFyOlf9d7gwWUVCPlScWh84GuaprhwHIjCea
	Q8jHZsmYlwkcQorUEJakxDZnZHq0hho1a0VdiVxgcgtDtC/VtKT9YCrCm3FkzRRegQYUwurbRg8
	Cx8K/897xMfvXgL4bL2Wpt3RCAW0lxAgZmyIA0j7ZO4gp/P49Z8ion/AqtbonmFO6JBUwTKR7ks
	pqjKu5oGZW7pJjRcwNeK4mYalqWiPXN+acAXVyhj8ZH5uamjpcdnhrnL8f5Y7pKXo+tjV9I74B3
	b8zjC7UkQ4n+L7b0cQb7WP3OFS+ur/0gpbIbPncECV48L2/9euP5q4y+ZSp+zKmEaKN2lhgwarW
	k5Hg9Sm4S9HVGHJoude0APTZoa/9KugenKQwQrA1Owb5kY9whuDB1t3T6guIxm1kUJLWCf3eVip
	jOoEL1WbhKtBzrsACorStCMNWzZPqWu7rBj3tAvvTWR6COSGjzXCJHrze8jlfQ50fO/dkHvM3Z5
	bFW
X-Received: by 2002:a05:600d:6452:10b0:492:1e36:85dc with SMTP id 5b1f17b1804b1-4926689ac37mr8227105e9.36.1782367688453;
        Wed, 24 Jun 2026 23:08:08 -0700 (PDT)
Message-ID: <d0b60963-6711-44ed-833d-83ac9de50aa9@suse.com>
Date: Thu, 25 Jun 2026 08:08:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 18/23] xen/riscv: implement IRQ routing for device
 passthrough
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <0458468cc5a6db911a9acc64f4c8cf17ceebe4c6.1781693963.git.oleksii.kurochko@gmail.com>
 <3a1aca27-cc18-4b57-bb31-c50161b8c261@suse.com>
 <b4770ce2-9456-4dae-a322-c8e3f9239472@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: <b4770ce2-9456-4dae-a322-c8e3f9239472@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1782367689-C533668D-32EEB0EA/0/0
X-purgate-type: clean
X-purgate-size: 5281

On 24.06.2026 17:21, Oleksii Kurochko wrote:
> On 6/22/26 5:57 PM, Jan Beulich wrote:
>> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>>> --- a/xen/arch/riscv/include/asm/intc.h
>>> +++ b/xen/arch/riscv/include/asm/intc.h
>>> @@ -13,6 +13,7 @@ enum intc_version {
>>>   };
>>>   
>>>   struct cpu_user_regs;
>>> +struct domain;
>>>   struct irq_desc;
>>>   struct kernel_info;
>>>   struct vcpu;
>>> @@ -32,6 +33,9 @@ struct intc_hw_operations {
>>>       /* hw_irq_controller to enable/disable/eoi host irq */
>>>       const struct hw_interrupt_type *host_irq_type;
>>>   
>>> +    /* hw_irq_controller to enable/disable/eoi guest irq */
>>> +    const struct hw_interrupt_type *guest_irq_type;
>>
>> It's likely my limited RISC-V knowledge that I find this extremely odd:
>> Separate struct hw_interrupt_type-s for host and guest?
> 
> The guest and host interrupt controllers may handle some 
> hw_irq_controller operations differently, even though the operations 
> themselves are conceptually the same. The hw_irq_controller interface 
> provides fairly abstract interrupt controller operations, but the 
> underlying implementation may differ depending on whether the controller 
> is used by the host or a guest.
> 
> As an example, the Arm code already follows this approach:
> 
> /* XXX different for level vs edge */
> static hw_irq_controller gicv2_host_irq_type = {
>      .typename     = "gic-v2",
>      .startup      = gicv2_irq_startup,
>      .shutdown     = gicv2_irq_shutdown,
>      .enable       = gicv2_irq_enable,
>      .disable      = gicv2_irq_disable,
>      .ack          = gicv2_irq_ack,
>      .end          = gicv2_host_irq_end,
>      .set_affinity = gicv2_irq_set_affinity,
> };
> 
> static hw_irq_controller gicv2_guest_irq_type = {
>      .typename     = "gic-v2",
>      .startup      = gicv2_irq_startup,
>      .shutdown     = gicv2_irq_shutdown,
>      .enable       = gicv2_irq_enable,
>      .disable      = gicv2_irq_disable,
>      .ack          = gicv2_irq_ack,
>      .end          = gicv2_guest_irq_end,
>      .set_affinity = gicv2_irq_set_affinity,
> };
> 
> These implementations reuse almost all interrupt controller operations, 
> differing only in the .end callback.

Which I'm having trouble with as well. Interrupts are handled by Xen. What
guests get to see are virtualized interrupts (no matter how much HW
acceleration may be in use). Hence I'm having difficulty to see such a
split justified.

>>> +#ifdef CONFIG_IRQ_HAS_MULTIPLE_ACTION
>>> +    for ( ;; )
>>> +    {
>>> +        action = *action_ptr;
>>> +        if ( !action )
>>> +        {
>>> +            printk(XENLOG_WARNING "Trying to free already-free IRQ %u\n", irq);
>>> +            spin_unlock_irqrestore(&desc->lock, flags);
>>> +            return;
>>> +        }
>>> +
>>> +        if ( action->dev_id == dev_id )
>>> +            break;
>>> +
>>> +        action_ptr = &action->next;
>>> +    }
>>> +
>>> +    /* Found it - remove it from the action list */
>>> +    *action_ptr = action->next;
>>> +#else
>>> +    action = *action_ptr;
>>> +    *action_ptr = NULL;
>>> +#endif
>>> +
>>> +    /* If this was the last action, shut down the IRQ */
>>> +    if ( !desc->action )
>>> +    {
>>> +        desc->handler->shutdown(desc);
>>> +        __clear_bit(_IRQ_GUEST, &desc->status);
>>> +    }
>>> +
>>> +    spin_unlock_irqrestore(&desc->lock,flags);
>>> +
>>> +    /* Wait to make sure it's not being used on another CPU */
>>> +    do { smp_mb(); } while ( test_bit(_IRQ_INPROGRESS, &desc->status) );
>>
>> Can you explain to me what the purpose of this barrier is?
> 
> if  do_IRQ() was called and:
>      desc->status |= IRQ_INPROGRESS;
> was called we have to wait while irq will be handled to avoid NULL 
> pointer derefenece caused by in do_IRQ():
>      action = desc->action;
> 
> So if release_irq() and do_irq() are called on different CPUs we want to 
> be sure that do_IRQ() make desc->status visiable for all CPUs.

For that you need smp_rmb(), not smp_mb(). And then it needs to be clear what
the write-side counterpart is (presumably the spin-unlock in do_IRQ()).

>>> +int release_guest_irq(struct domain *d, unsigned int virq)
>>> +{
>>> +    struct irq_desc *desc = irq_to_desc(virq);
>>> +    struct irq_guest *info;
>>> +    unsigned long flags;
>>> +
>>> +    spin_lock_irqsave(&desc->lock, flags);
>>> +
>>> +    if ( !test_bit(_IRQ_GUEST, &desc->status) )
>>> +        goto unlock_err;
>>> +
>>> +    info = irq_get_guest_info(desc);
>>> +    if ( d != info->d )
>>> +        goto unlock_err;
>>> +
>>> +    spin_unlock_irqrestore(&desc->lock, flags);
>>> +
>>> +    release_irq(desc->irq, info);
>>> +    xvfree(info);
>>
>> So you drop the lock keeping the info associated with desc in place. How
>> do you know what you free here is the correct thing, and isn't in use
>> elsewhere?
> 
> The object freed is captured under desc->lock (info = 
> irq_get_guest_info(desc)), so it is by construction the dev_id of the 
> action attached to this desc, it can't be a stale or wrong pointer.

Why would this be? Another request_irq() (or whatever it is) can race this,
can't it?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 06:10:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 06:10:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345264.1604177 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcdHw-00048V-IU; Thu, 25 Jun 2026 06:10:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345264.1604177; Thu, 25 Jun 2026 06: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 1wcdHw-00048O-Dg; Thu, 25 Jun 2026 06:10:12 +0000
Received: by outflank-mailman (input) for mailman id 1345264;
 Thu, 25 Jun 2026 06:10:11 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcdHv-00048I-9h
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 06:10:11 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcdHu-0046qa-0Q
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 08:10:10 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3cc639-2eae-0a2a0a5409dd-0a2a4503915c-36
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 08:10:09 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3cc641-ec1a-0a2a45030019-d1558031d420-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 08:10:09 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-49249072f03so10128815e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 23:10: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-492640362bcsm59890655e9.8.2026.06.24.23.10.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 23:10: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782367809; x=1782972609; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=9uQ3GmActnxHqiLjAPBAnJujv2cVYk3eXIYV1nwLTCA=;
        b=DIBdFv3L9nvwAutAO6bOtJVXG7UxSvV+xtGKEb21/2yEHYopsl9sTemFo1GIFkZgzn
         goqwt5XJa7wt3F2/4CPSrS+dewSjg3xH38ZSPfCx9MGvCusdvEFZOz3MYrlyqJGNiDVv
         Ymf8K/WXARAPtRiVJE1zDhfXLzvDs6bCI4mY27BUgDEfSkG36/0UlKDE6poxp7kYLwQo
         PogRXw487oAx5HddFZgNXg8Zr0h5ctjxoFjLWkz0GibxFyF2dorhRd/uCbTQF8Mv5x/O
         6gd3fn82/J4MMP/pa/9NTHU4Srt8/Mr6KhbIOGa31BDpOUZNaJ/TssoK+yEaTqDgD9Sd
         Yeew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782367809; x=1782972609;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9uQ3GmActnxHqiLjAPBAnJujv2cVYk3eXIYV1nwLTCA=;
        b=K2IlnP46amu5S3gfjIIE/X4tFg6hcHhBzbiGGXeflD+OwlHw9eZTWREDgcNKVQHVaY
         S8YpRu2VUkudRX0pEZefBDPP/PpW2CSc+lkncLurLJZEDv8DcLGmHhZj8ScZw4LPt+SL
         va0yF7Huuy6I0tWhN12xcun1xhmmkjPC7vtgwh+NyQ+q9aBD3lzEOALN+x30uoEr9Y6v
         yWhQB9ddLorZ1keiDTtgeBWDE+0hqC6xn1UhIgN4iHuNBMXflGkPdz814tWa3ojbic3G
         WX01hPeNfxGYdE8EFBCS6n/cyxcSi2D0mTNsqMlxTyqacVBhxY9dW6GUUhEiQcLBoP7d
         eSMg==
X-Forwarded-Encrypted: i=1; AFNElJ9GA4JrkmXs7CgfAYFlh4azq7d8jJR74caKoN0/0OesOw5/h4Uq2y5pj9twnskfIC06qiNCJJKF8M0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzDHVyAmSC8c8ri4Djo9fLImqkLzBM72axGexut7PRGinbbwDLC
	9ndWqy93zB0wYoKoSFCT8JZLxJJ90mP/jPj/U3+/2baZz53GO5pgvn2KkCXudzyrTw==
X-Gm-Gg: AfdE7cmwdsXhb5zCxMt7z7RdSv1/T3922unA6aOfPc636gmsimAC2vIGAQrxg88+cQe
	9lB1rKCn3lyHP6wRxNl7HA2u9s1BIecVw6dgVjJAGfImAcdc4/W8MOrZhIqMwGWeMgurvRr4BM4
	Tz6sMm1+mZZMZKwT9I8H+Apya2ciabMleS4te6gmnaOs8sIYNQnv4XT1AQKSD1qps9WQw2oRe8u
	KH+tBWnuv8D8lwrzgoHCn7Z/eJmf0Kb9bK/rmLWl2TOo9YRTB9HLfJ/N54iRfyirwP+d7tGKzMZ
	5QASUD1jkcATM0rAKHg1+IXowjWDlJg07Y5hrAVbfKeGD8SExwTe9WGcM342ydddTwqjdLxmnDz
	7x7WTgx6416APOFveRI+JhIDbqFUO3kIFOwhU/aYxjSssqfcKC3kbmHyzPwJgzUxhPhWffgPrQ0
	XM8NxQ3uMq2y+B10Xr2ilk4hKhCp4pwGxfWZFNoOaxxgG8VGXevX+VGRZ3RWZgI58IfuXG3NLi4
	iJh
X-Received: by 2002:a05:600c:c059:10b0:492:5ec1:4e14 with SMTP id 5b1f17b1804b1-49266885964mr8147755e9.24.1782367809411;
        Wed, 24 Jun 2026 23:10:09 -0700 (PDT)
Message-ID: <9fce0916-5500-495e-958b-2f51c6b1c3f0@suse.com>
Date: Thu, 25 Jun 2026 08:10:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 22/23] xen/Kconfig: introduce HAS_STATIC_MEMORY
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.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: <cover.1781693963.git.oleksii.kurochko@gmail.com>
 <22c02e188a0b38806f08b7a87f00f03c14aad742.1781693963.git.oleksii.kurochko@gmail.com>
 <2e9683f6-25d3-442b-9661-d32f979ca43b@suse.com>
 <08a7ba82-dac1-499d-ad7b-0dc0de82ab16@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: <08a7ba82-dac1-499d-ad7b-0dc0de82ab16@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-33051d/1782367809-B51BE5D1-04D25384/0/0
X-purgate-type: clean
X-purgate-size: 1526

On 24.06.2026 17:26, Oleksii Kurochko wrote:
> On 6/23/26 10:26 AM, Jan Beulich wrote:
>> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>>> Architectures that implement guest_physmap_add_pages() select
>>> HAS_STATIC_MEMORY; STATIC_MEMORY then depends on it.  ARM selects the
>>> new flag; RISC-V does not, so CONFIG_STATIC_MEMORY is unavailable there
>>> and randconfig builds no longer require an explicit STATIC_MEMORY=n
>>> override to avoid a compilation error.
>>
>> How did you come up with the connection to guest_physmap_add_pages()?
> 
> It is because of you mentioned in this sentense ...
> 
>> That's a close sibling of guest_physmap_add_page(), and they all should
>> fall in the same group. The fact that right now static-mem is the only
>> caller of guest_physmap_add_pages() is secondary.
> ... (the last sentence)
> 
>> New callers could
>> appear. guest_physmap_add_page() could likely (in principle) be
>> implemented in terms of guest_physmap_add_pages().
>>
>> What you're after is a way to {en,dis}able STATIC_MEMORY on a per-arch
>> basis. That's all what matters here.
> 
> I will reword that part in the following way:
> 
> Introduce HAS_STATIC_MEMORY so that STATIC_MEMORY can be enabled or
> disabled on a per-architecture basis.

This is needed, but ...

> An architecture that supports
> static memory selects HAS_STATIC_MEMORY, and STATIC_MEMORY depends on
> it.

... this merely re-states the general concept of HAS_*, so imo would
better be omitted.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 06:13:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 06:13:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345275.1604185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcdLA-0004gn-UG; Thu, 25 Jun 2026 06:13:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345275.1604185; Thu, 25 Jun 2026 06: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 1wcdLA-0004gg-RX; Thu, 25 Jun 2026 06:13:32 +0000
Received: by outflank-mailman (input) for mailman id 1345275;
 Thu, 25 Jun 2026 06:13:31 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcdL9-0004ga-5J
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 06:13:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcdL8-002RCt-6a
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 08:13:30 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3cc704-5cb7-0a2a0a5109dd-0a2a4506a2f0-14
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 08:13:30 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3cc709-08de-0a2a45060019-d1558031e0f1-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 08:13:30 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-49241dbf9c1so15807265e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 23:13: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-46d3b59cef1sm5714816f8f.26.2026.06.24.23.13.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 23:13: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782368009; x=1782972809; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=2dJ+bMJmO7xp62XiAzPiiofq/Qsh0hLxOOZq6qBQqYM=;
        b=gmIWnTkgrVFgI+lPtL6P1QQkG490PDdesMyrOTPgTih8SMNqno+iGhER3P+dHfJWwg
         wpkzsFa455k2BXujj98nJfg44jUK2Won/X2xyccllViqXwlBT9WHlloiitcz7cNLzk61
         h1vrce2+2UtsS8USoF5tjsgWqOi2z9JxzXk7P6EDgs8CJ8/jt4WU73bpEXX12nOW8qmu
         ck80Q0v7kyeq4pTOE0a1tdwU71+yMkMpCTe+FOWPaNvps2IC+0UWdaKLorXw+YlOpBFK
         Nom8uTvEbqrnWS1BdWFLQI3fRe16MpLWlzMhpBu5WAXLfKbLeQYK7EW4F3cAOPTliCS6
         S1zw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782368009; x=1782972809;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2dJ+bMJmO7xp62XiAzPiiofq/Qsh0hLxOOZq6qBQqYM=;
        b=V26CwTBXlwTzD3pU01hs/8q40+BIOCEQDPyZ1H8jNN/rIeCbrj9bbHcehcS738R3AJ
         4nyFVMbIddxM6bMBkZ0uac978pM8kA5qbG0Wj8uYI3iVWjkCHCw4WMBXLOAw9wutnm6F
         A2jJL25yjXd3mvd0XJrB2ggghNMiSe7r3KZoO90aCxevUjyzzb79hwlJu4RQY0unM6il
         ISouEd6xMvHyCGdho/8lZuU57tB4Wi1rxVnaW5Scg9G4ibt0v3aSCLn+Nc5ZCXG5NrrC
         EY+WssjS3pRTrThmfLDC64L4XO4sgzowpn7kL9vd6J23p83MVr1XJtNkapHFVbUlLQZO
         5BRg==
X-Forwarded-Encrypted: i=1; AFNElJ/iGRSfjVUSavIgP6Ba1/7XnmRLPxaZNVf8LVW7lzqk5hsAlmPKYauOQM5qjNghv760M3zSQH5Gam8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz8XQURu63qng9l3e+wtPttwaxPVlD/twBDruRTQq01jA+pCmgd
	hTLqj/JP/QfPUw1BYKXhEXtoPJQryHpCKF0HHwiHuT7NaomoNru1Relo9Ur0ecQDXA==
X-Gm-Gg: AfdE7clf+Otvu68Nt4dEdw42tMmHapgBB0WvbjUzaPcc5fdRxERKX1P9LMz0QKdHLV/
	hjuwhBnLhBNuBNGk5AQBkwUEjYa5HnHF+3ftTphCtHsmbpbtU064xNTKrOHZ5f45/dqsY5fr5gx
	GDv6zNqHx3+eBGym8aEDRTfMf7kWoUZbZZFVxsjRRjMP4ufvAFCvRmL2qGNbvZudJsg5Q3Cj16d
	/0XjzB7JQXa0XI4WeFboqrXmuSqv4yBZXRzzsPzuM0S6iPO7pG8iebXnv1x7wNqPeZv49OhcZQv
	iguhmTY29O4WbwZBgkyNEyHw4y6NNXaWIRB3eODNbOvLt5TXVLs47KT5wnmIZ5BDnGTJvHEbAo4
	mEqDZSx6CbrSfl4hKaVLHwa9hG3WlQDNq/ZuTOzXFypQvd/mzcfT7TN5sxIgCm1JyDdiQ04z4xD
	1SNTltLu3BNi7YB5mIIaMqCXqasDbNxUfpYIOnrOGzqmr/5CxGyTQOOwY1YW/sxHi7lIevd3HtL
	dmAsfP8yC6rmDw=
X-Received: by 2002:a05:600c:e558:10b0:492:59e4:f3fb with SMTP id 5b1f17b1804b1-492668554bbmr7479925e9.3.1782368009624;
        Wed, 24 Jun 2026 23:13:29 -0700 (PDT)
Message-ID: <803ee7da-2d35-43eb-a672-3091d787693e@suse.com>
Date: Thu, 25 Jun 2026 08:13:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 23/23] xen/riscv: add initial dom0less infrastructure
 support
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <781214e3cb87a0fe38e210e9b0cefed49d623d52.1781693963.git.oleksii.kurochko@gmail.com>
 <74d47657-2fa2-4f8f-93f6-cdd96c99ce11@suse.com>
 <d55a9dc3-3ac5-4d05-886b-6f79c120576b@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: <d55a9dc3-3ac5-4d05-886b-6f79c120576b@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1782368010-C6F2468D-5AE7AA0A/0/0
X-purgate-type: clean
X-purgate-size: 1311

On 24.06.2026 18:04, Oleksii Kurochko wrote:
> On 6/23/26 10:36 AM, Jan Beulich wrote:
>> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>>> --- a/xen/arch/riscv/include/asm/setup.h
>>> +++ b/xen/arch/riscv/include/asm/setup.h
>>> @@ -5,7 +5,9 @@
>>>   
>>>   #include <xen/types.h>
>>>   
>>> -#define max_init_domid (0)
>>> +#include <public/xen.h>
>>> +
>>> +extern domid_t max_init_domid;
>>
>> Shouldn't this be generalized, seeing that dom0less code requires it this
>> way on every arch? Same ...
>>
>>> --- a/xen/arch/riscv/setup.c
>>> +++ b/xen/arch/riscv/setup.c
>>> @@ -33,6 +33,8 @@
>>>   #include <asm/traps.h>
>>>   #include <asm/vsbi.h>
>>>   
>>> +domid_t __initdata max_init_domid;
>>
>> ... for the placement of this then, obviously.
> 
> I tried here to introduce less changes.
> 
> Also considering that max_init_domid is used in console.c code after 
> init is freed it seems like it is incorrect to use __initdata here. So 
> what Arm is using better suites (__read_mostly).

If it's never written post-init, then (like in all other such cases)
__ro_after_init please.

> If you think it would be better to do just now instead of later then I 
> would suggest something like this:

Yes, imo something along these lines is the approach to take.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 06:31:25 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 06:31:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345285.1604194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcdcN-0007x7-CT; Thu, 25 Jun 2026 06:31:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345285.1604194; Thu, 25 Jun 2026 06:31:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcdcN-0007x0-8t; Thu, 25 Jun 2026 06:31:19 +0000
Received: by outflank-mailman (input) for mailman id 1345285;
 Thu, 25 Jun 2026 06:31:17 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcdcL-0007wt-BY
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 06:31:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcdcK-00GRLr-3j
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 08:31:16 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3ccb2e-e002-0a2a0a5209dd-0a2a4509d06c-30
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 08:31:16 +0200
Received: from [209.85.128.44] (helo=mail-wm1-f44.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3ccb33-97e6-0a2a45090019-d155802ced4b-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 08:31:15 +0200
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-490ac357c55so16055645e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Jun 2026 23:31: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-46c9f240c3dsm10955600f8f.35.2026.06.24.23.31.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Jun 2026 23:31: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782369075; x=1782973875; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=/4YwqZP05O3D347uZAqWDKDlRxehqrmkg9sz2an6OII=;
        b=XkIJObU/pTIFi/OLB3ggZ+uVEKdvx4eC62y0iXjw275sLJZbHSHRfCoENoCLY9lFD5
         1tB81/vJkh0BqYHOPTbVhaEHxxbqqF/g2JY23OfHry5NgMGvweLqth8kCsllnt7mCyAs
         3P2vV6zz7HDgnwm/vSjTq5BQNjhcq0NSCt2CuAIEYC1BAF8weCHlhVLuECYJ21lT3iAD
         t47ygZGOXF3GkQW6uiNB8mBsSSFDTGLXemnxfNmxMxNgyDdIeQg0mCqJisqIm/uepCgJ
         8vNyd+kdOBfGJCaw7APkxTnVWOEM8qYlrIe+H9/my4dym+b+GDalt7raJJ+7wRW8odU8
         VtSA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782369075; x=1782973875;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/4YwqZP05O3D347uZAqWDKDlRxehqrmkg9sz2an6OII=;
        b=kEji/3Jfx6wGJSyAVjpy5vppTOvOhZ3WcDZVrMoGUE6IUs1exgZ3EEeG7nEs+0JOwZ
         09LO4eHswMzk9Bx5TcdJ8xlqhBdctawbfOfNt6wu5tBLKsSRbBglRUq2bzxLQrURLs3y
         Mt7GfF8V+p9GuuwsVQFbUkpEXRVeYR5ZzdY9j7IaLJdrHCQ2mAV6lfCjADcUmhcXDZs0
         2nF/jsZN5EoRdMUz//cY1CF/NU/IiHmd8uSw1G+Ov1NHOAGJ0ipkIPOMtD7aGmYD3l6g
         xRz8hiLgSYUkO201ndWL7E6skOitRr4aZCsUgbBddzfkhrqq057zGalubkwxoljVJcZL
         +HQg==
X-Forwarded-Encrypted: i=1; AFNElJ9DjUj3K4+d2EpOBBwBa/zZPzVtyFAXKxKfPAg68j7zEoI9rjinjpeVSjCLCaP4xPAj0XVNA8XBLcE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxpN6uVJwtAzXLk29Kz/3WoRASkwBS+87YBZapGta1ypWlxZ2Bj
	g6p2gY0UL8wdyHR0q7hXklZ/OHbsG3jPf/bwPlaPcGQClJibPhmnWXzfIXObBsg4sg==
X-Gm-Gg: AfdE7cme1h5apsRjxpUMamDVlMtUkOSm9KiEPedgm3PUUuq10bSOAaAu3zukFtGXXeB
	BWejcxKTJLPgg0YMxUaTswb9I8jiaXnA69OhZPtma0RrlShGILprkFWSwRWMD7WZAn7wL/4xLKR
	hQCh8QK3TVfEzXKbWB4b757S4/oLiSJSNQ7Tx4J3KPr8H5hiF5pF21JxDMHWJfamIxouhWJbtq/
	92EIZGXefly7+O6dkoh0WLQ9fZYRDg02LblWL6RUxH2oaEWn/RXXhCD4juP2bBb/iGejdxPjgFD
	VWWc7qtnxBWT/Efd3iGtAgpH21LoBewLjezHr+2Ukf0KD9SFp2GID3LzMoTgDSl4tOmuqFgwWrJ
	vPzCWHdxAuAEygdO/86i8fRZzpWKFpAQIFCFhmdBrK8IyUcUP99+vjU912WLfyLsFhMRx9jf9er
	66GD80x6uaWyeXaIW1M9aT43IdnzV3TiK8lZGJyLJb3CN6TPMqmkdyCxhN4T/wIzZIrqfMKxGDa
	1gs
X-Received: by 2002:a05:600c:1d0e:b0:492:5bf9:cbbe with SMTP id 5b1f17b1804b1-49266899d25mr13095145e9.23.1782369075320;
        Wed, 24 Jun 2026 23:31:15 -0700 (PDT)
Message-ID: <4439d1a5-7999-4e8e-b852-ea67e2473208@suse.com>
Date: Thu, 25 Jun 2026 08:31:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [4.22?] Re: [PATCH] sched/rtds: refill cur_budget when extratime is
 toggled on a depleted vCPU
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Dario Faggioli <dfaggioli@suse.com>, George Dunlap <gwd@xenproject.org>,
 Meng Xu <mengxu@cis.upenn.edu>, Juergen Gross <jgross@suse.com>,
 Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <9f20b6ac8176da6c67e1084e862158a2e47abc40.1779285422.git.oleksii_moisieiev@epam.com>
 <3b09cd9b-f0f1-41d6-a118-d0ea855f27d6@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: <3b09cd9b-f0f1-41d6-a118-d0ea855f27d6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1782369075-44528986-29E41A2F/0/0
X-purgate-type: clean
X-purgate-size: 3811

On 27.05.2026 11:08, Juergen Gross wrote:
> On 20.05.26 15:57, Oleksii Moisieiev wrote:
>> XEN_DOMCTL_SCHEDOP_putvcpuinfo can flip the RTDS_extratime bit on a vCPU
>> that is currently depleted (cur_budget == 0, possibly sitting on the
>> depleted queue). rt_dom_cntl() touches only svc->flags; cur_budget is
>> left unchanged. As a result the next code path that calls runq_insert()
>> on this vCPU - rt_unit_wake() after a domain_unpause(),
>> rt_context_saved() following a delayed runq add, or repl_timer_handler()
>> after a replenishment - places the vCPU on the run queue, because
>> has_extratime(svc) is now true and runq_insert() admits extratime units
>> regardless of cur_budget:
>>
>>      /* add svc to runq if svc still has budget or its extratime is set */
>>      if ( svc->cur_budget > 0 ||
>>           has_extratime(svc) )
>>          deadline_runq_insert(svc, &svc->q_elem, runq);
>>      else
>>          list_add(&svc->q_elem, &prv->depletedq);
>>
>> The very next rt_schedule() iterates the run queue from runq_pick()
>> and trips the ASSERT(iter_svc->cur_budget > 0) at the bottom of the
>> loop, panicking the host. Observed trace:
>>
>>      Assertion 'iter_svc->cur_budget > 0' failed at common/sched/rt.c:1035
>>      ----[ Xen-4.22-unstable  arm64  debug=y ubsan=y  Not tainted ]----
>>      [<...>] rt.c#rt_schedule+0x1558/0x33e0 (PC)
>>      [<...>] core.c#do_schedule+0x2e4/0x15b4
>>      [<...>] core.c#schedule+0xb14/0xe50
>>      [<...>] softirq.c#__do_softirq+0x20c/0x3d4
>>      [<...>] do_softirq+0x14/0x1c
>>      [<...>] domain.c#idle_loop+0x194/0x558
>>
>> Minimal reproducer: pin a single-vCPU domU to a pCPU, program RTDS with
>> extratime off and a low utilisation (e.g. budget = 10ms / period = 100ms)
>> so the vCPU spends most of its time in the depleted queue, pause the
>> domain, issue a putvcpuinfo that sets XEN_DOMCTL_SCHEDRT_extra, then
>> unpause. As soon as the schedule softirq fires on the pCPU, the BUG
>> hits. The same sequence is reachable without an explicit pause: any
>> window in which rt_dom_cntl() runs between burn_budget()'s budget
>> exhaustion and rt_context_saved()'s runq_insert() also closes onto the
>> same broken state, because the per-scheduler lock is dropped between
>> those two points.
>>
>> The semantics for "extratime gets exhausted budget refilled" already
>> live in burn_budget():
>>
>>      if ( has_extratime(svc) )
>>      {
>>          svc->priority_level++;
>>          svc->cur_budget = svc->budget;
>>      }
>>
>> Apply the same priority-demotion-and-refill in rt_dom_cntl() when the
>> flag transitions from off to on while the vCPU is depleted, clear
>> RTDS_depleted to match, and - if the vCPU is currently on the depleted
>> queue - move it to the run queue using the same q_remove() +
>> runq_insert() pattern already used by repl_timer_handler(). The vCPU
>> remains on the replenishment queue throughout, so its normal
>> replenishment cadence is preserved.
>>
>> The complementary transition (on -> off) is already safe: clearing the
>> flag only narrows the runq_insert() admission condition, so subsequent
>> depleted insertions correctly route to the depleted queue.
>>
>> No other call sites need changes: with cur_budget restored before the
>> flag is observable to runq_insert(), runq_pick()'s long-standing
>> invariant (every run-queue entry has cur_budget > 0) is preserved.
>>
> 
> This is missing
> 
> Fixes: 463b95831778 ("xen:rtds: towards work conserving RTDS")
> 
>> Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> 
> With the "Fixes:" tag added:
> 
> Reviewed-by: Juergen Gross <jgross@suse.com>

And then perhaps wanted in 4.22 right away (rather than later as a backport).
Oleksii?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 07:17:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 07:17:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345304.1604202 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wceKy-00078H-IL; Thu, 25 Jun 2026 07:17:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345304.1604202; Thu, 25 Jun 2026 07:17: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 1wceKy-00078A-Fl; Thu, 25 Jun 2026 07:17:24 +0000
Received: by outflank-mailman (input) for mailman id 1345304;
 Thu, 25 Jun 2026 07:17:24 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wceKy-000784-2E
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 07:17:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wceKv-002clX-9U
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 09:17:21 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3cd5fb-bab6-0a2a0a5309dd-0a2a450caf60-38
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 09:17:21 +0200
Received: from [209.85.167.48] (helo=mail-lf1-f48.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3cd600-f399-0a2a450c0019-d155a730b8cd-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 09:17:21 +0200
Received: by mail-lf1-f48.google.com with SMTP id
 2adb3069b0e04-5aea1776279so340036e87.2
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 00:17:21 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-3999afd3ee9sm42215171fa.17.2026.06.25.00.17.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 00:17: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782371840; x=1782976640; 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=dJotD54yCU2Ksws4toVBR6DBq3AUbXfIw1+aECBmAYY=;
        b=OskbPAB+d7oi6pG9n/nfKkt0GYoGc8ymxdCPhCygOoQqVBZU3rdFvx0wIbNhV1AFoH
         bMktaMzZc39NG7DxqPgk1xeZbPYgDfjKmxpgzz1BkxF8II3j8GMA+GuhzZCn6gXmVUYm
         J6zY93KB8Iz5r4pt9c0v+UXfDdlAXLn3+ZuZpvGINYAxgWC5IWkLWxZl6Hype0gsz8ff
         PvGfP+2BerCbWf1dtXW1EZJSGxAQg7HXcObWmeM69PJccVNFkDPnfzOtI7XbNbhBMWgC
         4q6s2yUhgOgEOpT7rjrUS590ooooW7aTNnp7hUfLO7OQdHqCjkd0ph40ap92pWsJLHsq
         1KSQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782371840; x=1782976640;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=dJotD54yCU2Ksws4toVBR6DBq3AUbXfIw1+aECBmAYY=;
        b=NQsIYZMRu4I2d1SSQ0TQerYsmMeG31n2BHae+9eiECQLkVVpHB5/lhrWXMCvch+HLB
         86wKd8zrNu3eRpj4mjhREfvKP1+sHhIXUWynv6mUz/qWWM30pr46eRjQgiA94bTsP+nY
         +zAI7v6QStxBL11SLI7c1qoIJHKKeZFH2hdTXPA0wQ6v6pdI3cweHnVAS+hyAJRwNNJx
         Z93E0U+Yl4KdwBqZ9fAKUQ1WI0jEDq+BlfQHAl+rFPwQVbxoSUit8d2iSvjMxcSt+M2y
         Ef6FuMe/fjlPTNQLWvZMxqKRYc724k4Fusjzobcud1AAueQCFgINDLrHq0wIkQfkZZDg
         zadA==
X-Forwarded-Encrypted: i=1; AHgh+RoIj0zXKaVkHy6VrxbPnii2DLw4cnKy5gcDZZ84Ofam92PMD6wx8VMPDejQjse+uXO5zI3SQeiBNLc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzQtiZQ7Vtjb/0329PxL3hjpm4qkpVnG4wENsAMFubleGau50B8
	SCvfMmdMMSL2q1/eDa4lk2QYodwUcHZ57pAT2KyQtSVfWjX7I4RdbHn1hxfgzQ==
X-Gm-Gg: AfdE7cndht3IlaI9eORSBz4cRSeYeKGhGcrKBlOkXGIEzOOTLe0GsicwU90wV1ogvsd
	pU5w+epQJaaupXhzCfGgsq/RJOKHrXwEMDMx/upf0q6tgO96Y/5gkd/Sk+/BBXso4dk0AhUu+My
	SgcesSPIgPQSzQ+2FJTIKJO8FcOvpNZH9nzgQfHuhJCgQqCgqzm9g8l5lfWWcSknGYdiICe5QTX
	bgBmVRCX6VawQhJTgDUQyLU4Qxckd43Og7ym3zg4o1uJFhXt9f+xyVykao3kqoCrLwPQO50xFZo
	5oSMyqbOy0rSMYc2ovG227MlSP+0vz7dtwG9avtrktMESdilE6wIz4awhMsteBMjpTNOpTiX8sf
	5EHpzHulF8WETKJ2/gZJ/he+MDtDAizXIk3db86VKKGjEhqT6fxeAJtzmPul0iyygIgPdhn3EHM
	DFKESZPObOLBVOr4UssQXtybPaNAmeK7R1gGAvfqhwqUJ8A7R7UVVn7LlUoD1uOd84IVI=
X-Received: by 2002:a05:6512:4052:b0:5ad:699f:9edd with SMTP id 2adb3069b0e04-5aea1f63d9amr368363e87.26.1782371840180;
        Thu, 25 Jun 2026 00:17:20 -0700 (PDT)
Message-ID: <527f0734-09e9-47f3-b933-322ddf80c019@gmail.com>
Date: Thu, 25 Jun 2026 09:17:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] x86/boot: don't blindly mark VGA in graphics
 mode on MB2 path
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>,
 Teddy Astie <teddy.astie@vates.tech>
References: <7fbe73a9-08b1-46ff-81fe-ddd6ed52deb6@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <7fbe73a9-08b1-46ff-81fe-ddd6ed52deb6@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1782371841-0E120D51-F4C8764E/10/73395122804
X-purgate-type: spam
X-purgate-size: 813



On 6/24/26 12:24 PM, Jan Beulich wrote:
> Setting ->orig_video_isVGA to the specific marker should be done only when
> the VBE tag is present and the FRAMEBUFFER is either absent or indicates
> RGB type. Since the "video" variable now starts out non-NULL, this
> property was broken when in particular neither of the tags are present. To
> move back to at least close to original behavior, add a 2nd check to said
> conditional.
> 
> Fixes: d5a73cdc6b90 ("x86/boot: Use boot_vid_info variable directly from C code")
> Reported-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Tested-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>

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

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 07:40:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 07:40:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345313.1604211 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wceh1-0003Pl-98; Thu, 25 Jun 2026 07:40:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345313.1604211; Thu, 25 Jun 2026 07:40: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 1wceh1-0003Pe-63; Thu, 25 Jun 2026 07:40:11 +0000
Received: by outflank-mailman (input) for mailman id 1345313;
 Thu, 25 Jun 2026 07:40:09 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcegz-0003OR-Mm
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 07:40:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcegy-00CbV2-Tt
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 09:40:08 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3cdb50-bab6-0a2a0a5309dd-0a2a4509ca2c-28
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 09:40:08 +0200
Received: from [209.85.167.45] (helo=mail-lf1-f45.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3cdb58-97e6-0a2a45090019-d155a72dd911-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 09:40:08 +0200
Received: by mail-lf1-f45.google.com with SMTP id
 2adb3069b0e04-5ad4a5647e5so1805976e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 00:40:08 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-3999afd3ee9sm42327671fa.17.2026.06.25.00.40.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 00:40: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782373208; x=1782978008; 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=Ah0BLetU9nOhFauhFQa1xwuEARHueCAlyFA66N6wmg4=;
        b=HrooN2+Q8+mI/kwrJSEHMOsLQVlHRutZVA5DaE1KHRbE/SVSuSEXm4WQV9R6J0dNVo
         zcNIKgjwjan+WM7HLC59Ll6vX7U2n3VaKZ5xngWgEzf7fWXK+AjlHpPRxu5E/re0zpUi
         6AOG0RlN8I6jD80dLfsTYo9E0AWLEx+mE/4rFcyGnQZ4q9c2D/opLUc01Vv9XFz8y36p
         uLjfbzIHY5lgBRQGe5ZKN2hXB2Nw88zjFCYrhoQCTBAf3lmgkW5VThy77qUuCtZe5M7o
         yu6QvzAa0//19l+sz8V5bsD2glphBSzVxsfFYDdcYGGdX2unGDbJhjiCBjw5niCxUXgO
         dkCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782373208; x=1782978008;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Ah0BLetU9nOhFauhFQa1xwuEARHueCAlyFA66N6wmg4=;
        b=rJEo1eKGB4XACJETFmxncUyRkQ4GCz0ZsqrZfFv7yX+qZrWw91+hxodjlCgNW1BPu2
         xWoOPfWEfOpQpDlW0rn+xnjBH4SRwjFwrXc3e6DWIsFaNF42IlhH+nhaedBHXQwzldNe
         eGS+IYkGMiPTXNozU0XSuLo386PnQr/Xe4SbA6iBfq9RgztJe0GTpsDvBNVblofaUF4A
         nqYma/e5d1oyD7toEcBOq+VQF3/eTjextxsJyYHaunf9zhECjFpPeBaIPt1cHmJYNw22
         +PSErds0ENs+si6pn3GG6IRGQs682D5w6UuP4UtNHbgrjFarQy5Db7KT6OgfzQYRv+qL
         J9gg==
X-Forwarded-Encrypted: i=1; AHgh+RqUzEX5E/JwHENaeIiWGL5hF2a8kYDBT2OdjzEQzIRgaW6JSAegjSy/fdOAGzMswLPGzdEYGVmIe6s=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywk1/gCAtFGSOUuQnYh/1Vv0upYGX+cMDbprEk25HxLuVMQzMcl
	GwyWDeuXMriYD+hD5/7hDN/a2XuHKso7LpWrWsk5Hxa/9huJNnkbCfiL
X-Gm-Gg: AfdE7clqVIpPpdafAu48tDPmWlYcfhnXbQ4AkgxqkLOiRlJOK0k99AA88bB018fgoOa
	ky4lC+osA4MUJFzt9f1z+Rzz6jSruQkj4VZjd/4bJ3KolntK/6cquybN4ilXsdI7NY+7gDYrLe+
	/Unn8V4wul2jFn2pIe50zeDImKuxT44deKzl3Q9kby9Tzf3D0VuFfoVat+nr/q/TCW+PJV1MXRN
	nkz+KaU8xYYCn90WWDIoJ6JArZbscE6r/Smo5mHYxSEAaSpsAfGIX5YaBwi4okwqJW5ARZJGIAe
	2CMDBWuLlEFnxXlyaBhbRfk8cWKkX8wlABitBX9NGpOnlb8LQX2HTLl3rhUdG8NGpzvQpyqGgfo
	KDVSbeSiPKg09ZG3CYuU/qgieznG6V6GLbk4YoSN3QQY3MYlsTuYo2KL1uPaUuAsJHDrSQK5VR3
	q5/2LTM407f46nWKoIjE8GslUEqx6zTBgyi3zODTdiY6CNt2T6rwyA9L4hU17LZSqrUfA=
X-Received: by 2002:a05:6512:b9d:b0:5ae:9c16:c164 with SMTP id 2adb3069b0e04-5aea1f4b92fmr423649e87.26.1782373207849;
        Thu, 25 Jun 2026 00:40:07 -0700 (PDT)
Message-ID: <34172643-fbc7-4fa4-8ace-a5753e0b6b30@gmail.com>
Date: Thu, 25 Jun 2026 09:40:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 06/23] xen/riscv: introduce guest riscv,isa string
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <3fb06376e057fa99b0df78e97761b8cff56ca9eb.1781693963.git.oleksii.kurochko@gmail.com>
 <aa19d6b0-9407-423b-a786-a43a72b50df5@suse.com>
 <29fbbfe2-579c-4506-96d8-930c03a65c61@gmail.com>
 <f649bec4-c603-4ad0-8269-33a9c9d2d8fa@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <f649bec4-c603-4ad0-8269-33a9c9d2d8fa@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1782373208-5559C986-F5D194B8/10/73395122804
X-purgate-type: spam
X-purgate-size: 3070



On 6/24/26 2:40 PM, Jan Beulich wrote:
> On 24.06.2026 12:43, Oleksii Kurochko wrote:
>>
>>
>> On 6/22/26 4:09 PM, Jan Beulich wrote:
>>> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>>>> Introduce generation of the riscv,isa string passed to the guest via the
>>>> Device Tree riscv,isa property.
>>>>
>>>> Introduce the per-domain isa string and guest isa bitmap, populated
>>>> during domain creation by calling init_guest_isa().
>>>>
>>>> Introduce guest_unsupp to filter out ISA extensions that should not be
>>>> exposed to guests:
>>>>
>>>> - f/d/q/v: FPU and vector context save/restore are not yet implemented
>>>>     for guests.
>>>
>>> I may have asked before - what about Zfinx, Zdinx (and the supposed Zqinx)?
>>> They aren't in riscv_isa_ext[], yes, but perhaps wrongly so? And hence they
>>> may want at least mentioning?
>>
>> They are not supported by Xen so they aren't in riscv_isa_ext so it
>> looks fine for me.
>>
>> They are not in guest_unsupp as they aren't present in riscv_isa_ext and
>> so it won't be propagated to guest anyway because of:
>>     +    bitmap_andnot(d->arch.isa, riscv_isa, guest_unsupp,
>>     +                  RISCV_ISA_EXT_MAX);
>>
>> While it isn't in riscv_isa_ext[] I think it is fine not to add them to
>> guest_unsupp, so I will add to the commit message that:
>> ```
>> - Zfinx, Zdinx and Zqinx are not implemented for guests either; as they
>> are not present in the riscv_isa_ext[] array, they can never be set in
>> riscv_isa and thus are never exposed to a guest, so there is no need to
>> list them explicitly in guest_unsupp.
>> ```
>>
>> I think it is fine for now but probably it will need to be reworked in
>> future.
> 
> Especially as long as F/D/Q aren't supported by Xen, I would consider it
> pretty desirable to allow the (cheaper to implement on the Xen side) Z*inx.
> Provided of course there's actual hardware offering any of Z*inx in place
> of F/D (not so much Q).

I agree Z*inx would be cheaper for Xen to support, precisely because it 
keeps FP values in the integer registers that Xen already saves and 
restores on context switch, so there's no extra state to manage (unlike 
F/D/Q).

That said, I'd prefer to leave it as future work rather than handle it 
in this series:

Z*inx aren't in riscv_isa_ext[], so they can never be set in riscv_isa 
and are never exposed to a guest today. Nothing here blocks adding them 
later; it would be a separate enablement step.
I couldn't find any board (with or without H) advertising Zinx in its DT 
â€” manufacturers seem to ship F/D instead.
To my knowledge Linux mainline has no Z*inx support, so a Linux guest 
expects F/D anyway. And per the unprivileged spec, software assuming F 
is incompatible with software assuming Zfinx and vice versa, so the two 
can't be transparently substituted.
So for now it doesn't make much sense to enable Z*inx for Xen and/or 
guests, but it's a reasonable future enhancement once hardware and 
guest-OS support materialize.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 08:21:47 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 08:21:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345338.1604221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcfL3-0001mA-N8; Thu, 25 Jun 2026 08:21:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345338.1604221; Thu, 25 Jun 2026 08:21: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 1wcfL3-0001m3-KK; Thu, 25 Jun 2026 08:21:33 +0000
Received: by outflank-mailman (input) for mailman id 1345338;
 Thu, 25 Jun 2026 08:21:32 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <taka@valinux.co.jp>) id 1wcfL0-0001lx-S8
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 08:21:32 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcfL0-002rhf-3l
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 10:21:30 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a3ce501-2eae-0a2a0a5409dd-0a2a4507da80-42
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 10:21:29 +0200
Received: from [52.101.228.136]
 (helo=OS0P286CU011.outbound.protection.outlook.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <taka@valinux.co.jp>)
 id 6a3ce506-9c8e-0a2a45070019-3465e48843e2-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 10:21:28 +0200
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:458::18)
 by OS3P286MB1964.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:1a3::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.14; Thu, 25 Jun
 2026 08:21:24 +0000
Received: from OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6]) by OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c8c9:25cd:8d13:96d6%6]) with mapi id 15.21.0159.014; Thu, 25 Jun 2026
 08:21: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=lWN7EK/IeY0UCPI565jl57+0qk8+rEP3odd26C9rItPABioAtdM3ZZEbOlRCz8XFkDL/nBwNMCoWZk9y9f/oenuHTPrd3IRxSUCdQ5mJ1u8ggc2eJD2JSFPXDikrLwq9pWmRYMoT66YoiDKDlkyKOGY+n+XMO98YxY6evID9yKkz+O6YBTLD0ArxQkqfpb92Q1FMgUKLYoveqLFSjPeMmqlH90lpPI1ShZidacbpTAa+GhzF91IjJ3TYKmUjcrS6QQP8oXqVoesGJW6kmigI5/Hyr/FTCQrcRuk8d3WpUZqw7xifQvreX0c0KGV+7sPc5eYLwcqZBP9DxzCtevpI9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vnst5qMEJYXshN47KHhoF22K42utP7xw3us1g8T906U=;
 b=KGqPkn1JCEZJmqY54K9wDdOzKuHBYX2LftW7P2Wr9vpS1Nl6J7DUA7eU4xi1YFTMKcDa4wzyoyDD+J3xbpn4Ncxhe2o1WWLnEBh6BXXNiM4M5ifSkkL3UUcXLjuLwEECnwbBU7s8ouFZwcJf5UdAs9Mp8Or6OFyC7hNuqfxEW73+kgs5tYXZz2zDin4Bpmp9yOeNkt/riPFtsnHfblktlD/KgxURn8p/hQ8pegv0zAkoNh6pQ3AmhgNaB/RUlgIYTV4reG9daDWXbrIqSw3cKfaPmN751LGfWvWfZkvAO9KZoTleLJQt4Ufugdd5/mqulsYTYKaGm58ASf6Q4VuzSQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=valinux.co.jp; dmarc=pass action=none
 header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vnst5qMEJYXshN47KHhoF22K42utP7xw3us1g8T906U=;
 b=wLIynZ4KGLRDNGWkAFalhiS4yG9XLPaGpuCtmnfCCaUQUfUzJRQxP5Neje9FH9dJUuvOyS2lMj8O1LjMwJNQ3ggt7Bp/5Ejovsx76vH7Anuyyrq1LB/L092TFpT3AgTetoqj+aTdabVoxLP3KLxX9okO8fl8MTb0m/Zvvl4pfqw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=valinux.co.jp;
From: Hirokazu Takahashi <taka@valinux.co.jp>
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>,
	Jan Beulich <jbeulich@suse.com>,
	Hirokazu Takahashi <taka@valinux.co.jp>
Subject: [PATCH] xen/arm: fix sparse cpu_possible_map calculation on SMP boot
Date: Thu, 25 Jun 2026 17:21:08 +0900
Message-ID: <20260625082108.588079-1-taka@valinux.co.jp>
X-Mailer: git-send-email 2.43.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TYWP286CA0028.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:400:262::14) To OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:458::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS9P286MB7222:EE_|OS3P286MB1964:EE_
X-MS-Office365-Filtering-Correlation-Id: a425636c-8fd4-46bc-15dd-08ded292beda
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|23010399003|10070799003|366016|6133799003|56012099006|18002099003;
X-Microsoft-Antispam-Message-Info:
	4d6iTu/bMSPP5SuGGFnPDxBary45079Zo3cBDBSbTf9yUz4eagSAhAg46Ovosn2p3bUJ5chseqKU4ISnW6yEh7CvXj89igcLueoPv4tL96SOHhOkmhM6weKPOkTYW0sQ75benQdBRgiCGxeSglDYJD5BN0v0aSqhqQ46f0nrsdWoSAVf4POvtt4qUWQpTFMS/XPNPYApCIqX5WUuxQlEbu77xur17QgNJ94m3JK16alR72P6Jo/kuErJaUktHFgsojUQ3LLKaQEeW0qkMnzV1zMK1N+MWm75332VnS80bd7wycTou1weA6t1ZPvwSVh4hra2U7uLX601MlJiNiC+vpsLoR7RLLYVyW5S0+DtuhI2jSQErgmV4FH1EPQ6a4jK4TnXyf6hcuQcu+wtcvf0ovKFhSaP0OaSYutcEMsw1fs/xU3rmjmcqIz/7YkNeKitSMGlCvimlHjNAQnrOEmonePn7TiwJJLOOGAFfmXvhnwWwFwcYa0Y3Wr6ZDXaxLP/mvgRUFIcE3CK6lF4bPBDgaCSn/ob1t+8r6d8hv8MSJyIwizTS+WJ19Bjy7ID7eY8HFBksHxD1/luy6Qo4m4AZunhA7ceXypSIxusk3No9dKTDP0WnwMNoa8OuZcGcVpVQWAfylZjI9yczzTT7qgyaHRqhtfEbStcpSrxYVhtJkk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(23010399003)(10070799003)(366016)(6133799003)(56012099006)(18002099003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?ApyMsQms++gQpyJ2o+DU51QAQ6XrcGSngD4QSyAIZfVuiPo4regI2q9cc679?=
 =?us-ascii?Q?zLY73ENneKXhWPjzYlpfWd1T8DIcQEhresQTCOeauP2f+425iwLaQpQAreqW?=
 =?us-ascii?Q?5gW8onnzGRKBMkUgP6JonuHL4cqV1qw1OhKK5dnzuia7AdyaNf0YvetDahEq?=
 =?us-ascii?Q?qtrt1B8Tv+HTcbJYxXr1VixDyBEHjombMTHsgVUNOoDmaxkyQU7OlaxNMPGI?=
 =?us-ascii?Q?0Ad37zonEAwOilIC892zFD4mJ861xcyHlA6ebpUqPB5jszYLDnlVs5DrT6Ca?=
 =?us-ascii?Q?+/36r6+6hzI2Os1ob9bowJqWQHoina8Y6tfdcrlEyv8sOO6Hv0gR21E6N4BC?=
 =?us-ascii?Q?5gzdFSVtB0XF8KTngLXsPdDMg3L1mf/oFIDF05IrZmxogQQRy3amZKrsFh/5?=
 =?us-ascii?Q?adUJH/k0tA0RrIF0KpuM2LJvtMaaJEnS3h8S+35OPw4212Ks2H6YNYKV2roq?=
 =?us-ascii?Q?yz0SNwYCXLG2D4E4NtLddE6CafXm6p3pqAMDktWHmzpKaCU9q4CTaFpOoZHO?=
 =?us-ascii?Q?18bCdXwglXzvmNFED9hwqTseE0H20Y9MspVYKvlcjRysTeelucpr1zJom83D?=
 =?us-ascii?Q?gkunAf7mw0C0kshMbTuVUkvb5zB0u2SPWP0+2Y/mksu18uK2lh78iAoQJNYL?=
 =?us-ascii?Q?If2tsSLLXSeZCQhahmaWVO/hbP6GLpU/LXK9Nj5M4t8fI2QRcByxO10kp7eW?=
 =?us-ascii?Q?Ul6CsXjPlnZk7/nY/Dvu4qEyhUGES6iUalimHxGs/UXlFxywpfUqH2ma5PiA?=
 =?us-ascii?Q?1zBcnUWYWDaL5mZTJwM/VVmuWHm6MkVFvy2kgRx7D8uEY6RqJ1oRWuPC5yf2?=
 =?us-ascii?Q?2qPgxn7keHNMlZPGwo4CVfwv+mqPD+A/B77PVB2SugqCD9LBkJYGfG4BEYk3?=
 =?us-ascii?Q?BA8fYF3J9Fl3yqw2i8gq6ksALzOohUIzyf6dobnpI+0c5MuFz3AxcgwAqJLw?=
 =?us-ascii?Q?fH2EkuZWHR1vAzwJdXt/NGvDTeR1rc/c7X8Q/tTZfNMLDtRh4PiQ9wizHHfF?=
 =?us-ascii?Q?wIyg2PwrQwPDj4d05ckn2UJurA1ExHeAynrRHiWWe7Y261rD5E7nl5qO10p3?=
 =?us-ascii?Q?Po0XRY4DFYzHI2D3JiG75yVVKJoo/lst7KGHTTMsGReHI52ljIcacuRGjvyQ?=
 =?us-ascii?Q?N/0OZofsAC+/9th44Iv0Q/24+PAhqgnIX45jN3AaXJoONv2v9BVaQ3SiH1fn?=
 =?us-ascii?Q?mfUUVM6W+xGX7J3nYlFMyKKxDqmN4e/RAi+WXtSG5wp3SdQ6rRP/Dcw8DA2j?=
 =?us-ascii?Q?4F9P+Ok0s6F/hb5bIikYMsCg6AAynwRyF9+hTaGxT+bKRhmSN6Rxz266+laC?=
 =?us-ascii?Q?dv8bKFt8hvn4eDJ2+LhH2YMlnzAtC78/hco3iPJEPJFWgD84aNgcvLu0YR7d?=
 =?us-ascii?Q?QDqOWSWr0ZA0ssPg+q1k1mkw0zKhLQlrXHBMS2Fna4t4CXSdzfmmG0SmNqSp?=
 =?us-ascii?Q?6ioVAyVCEXF3AStJTS00W/kSy2G8r564TORWw3E2oR5tMyyaZXksImpUTGxo?=
 =?us-ascii?Q?bbRbtzScg0vWbs/q2t1a6cWPbzUBLIcG2jsZ5N7C4NngpSqLizNwkF+exNqp?=
 =?us-ascii?Q?aeERO2PTUmzRVawqbG4pOD6Yj39WxWpk16ShdvbmSrsmdSemeBRVvf/GaBh/?=
 =?us-ascii?Q?6UTSOeZcBK7wv3FJNO2S/WUd/8wtOMzfnMMP71+0vfPdV9oxPLTB8EH9EQYb?=
 =?us-ascii?Q?GjyiwMGJcGOJoeWCIw1mlhvSAIRHlxhXQH0NGhAZRtjaNfxJl+KAARsDUzio?=
 =?us-ascii?Q?UgPLLdOLMxiEtNfgnNvDyNq8vipD5eb74mZiSvqnGmDt7M0h5sd/dQhKmkjb?=
X-MS-Exchange-AntiSpam-MessageData-1: AmF9alujomhmPA==
X-OriginatorOrg: valinux.co.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: a425636c-8fd4-46bc-15dd-08ded292beda
X-MS-Exchange-CrossTenant-AuthSource: OS9P286MB7222.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2026 08:21:24.2960
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CtOH4OtmhnYzfW5KUTA8U+KMfgE7rJThWRAQcXKbFOyXXVOPA1/j0eftOG/tLkKag64AaMnMp2M2SaQgiOtZiQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3P286MB1964
X-purgate-ID: tlsNG-ef75cf/1782375689-7C92A25E-6578B470/0/0
X-purgate-type: clean
X-purgate-size: 2642

Currently, during ARM Xen's SMP initialization, if there is
a Device Tree error (such as an invalid 'enable-method'),
cpu_possible_map can end up being sparse.

The issue here is that nr_cpu_ids is calculated in a way that
doesn't properly account for the maximum CPU ID when the map is
sparse, causing a mismatch. For example, if cpu_possible_map is
0xff0f, nr_cpu_ids becomes 12, but the actual maximum CPU ID
is 15. Xen's common code is built on the assumption that
'CPU ID < nr_cpu_ids', so this mismatch can break things.

To fix this, modify dt_smp_init_cpus() so that if the
arch_cpu_init() call fails, we don't consume the CPU ID slot.

Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp>
---
 xen/arch/arm/smpboot.c | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)

diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index 7f3cfa812e..aba3c24373 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -191,6 +191,14 @@ static void __init dt_smp_init_cpus(void)
             continue;
         }
 
+        if ( hwid != mpidr && cpuidx >= NR_CPUS )
+        {
+            printk(XENLOG_WARNING
+                   "DT /cpu %u node exceeds the max cores %u, capping them\n",
+                   cpuidx, NR_CPUS);
+            break;
+        }
+
         /*
          * Duplicate MPIDRs are a recipe for disaster. Scan all initialized
          * entries and check for duplicates. If any found just skip the node.
@@ -224,24 +232,19 @@ static void __init dt_smp_init_cpus(void)
             bootcpu_valid = true;
         }
         else
-            i = cpuidx++;
-
-        if ( cpuidx > NR_CPUS )
-        {
-            printk(XENLOG_WARNING
-                   "DT /cpu %u node greater than max cores %u, capping them\n",
-                   cpuidx, NR_CPUS);
-            cpuidx = NR_CPUS;
-            break;
-        }
+            i = cpuidx;
 
         if ( (rc = arch_cpu_init(i, cpu)) < 0 )
         {
             printk("cpu%d init failed (hwid %"PRIregister"): %d\n", i, hwid, rc);
-            tmp_map[i] = MPIDR_INVALID;
         }
         else
+        {
             tmp_map[i] = hwid;
+
+            if ( i != 0 )
+                cpuidx++;
+        }
     }
 
     if ( !bootcpu_valid )
@@ -253,8 +256,6 @@ static void __init dt_smp_init_cpus(void)
 
     for ( i = 0; i < cpuidx; i++ )
     {
-        if ( tmp_map[i] == MPIDR_INVALID )
-            continue;
         cpumask_set_cpu(i, &cpu_possible_map);
         cpu_logical_map(i) = tmp_map[i];
     }
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Jun 25 09:30:01 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 09:30:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345365.1604238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcgP2-0002So-FM; Thu, 25 Jun 2026 09:29:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345365.1604238; Thu, 25 Jun 2026 09: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 1wcgP2-0002Sh-CG; Thu, 25 Jun 2026 09:29:44 +0000
Received: by outflank-mailman (input) for mailman id 1345365;
 Thu, 25 Jun 2026 09:29:43 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrew.cooper@citrix.com>) id 1wcgP1-0002SU-Ac
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 09:29:43 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcgOz-001CFf-SG
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 11:29:41 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3cf502-2eae-0a2a0a5409dd-0a2a4501ed64-2
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 11:29:41 +0200
Received: from [40.93.198.27]
 (helo=CY7PR03CU001.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3cf503-400f-0a2a45010019-285dc61ba42a-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 11:29:41 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.17; Thu, 25 Jun
 2026 09:29:38 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.018; Thu, 25 Jun 2026
 09:29: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=U+dQQTjXIrohtuXesjJ7bIEm1wetP9pFcOuLQ9Riwa2NKNG0MmoB+92ouPb1LpXGwawtNmTCEp9F2xQIxpaWEEOUk/JX5O3lfdcSzg75GBdbrE8PR2ftJzq7/UO4wiBkTla/dcj42C0ybKQAo0TFvjkSaC7tEc2c8BHAEmj6k6nsM3xXa9K7tABcZ15/AkN+VAuq1VwZyF8PTtR7S+y4tnCn+DFivf2gOUsxSxDKkiumZkaNqom3ZkJUqNizNXRdzuhTV8RqMOUdEVVAEs99X0xPKFI68DfogT+NOdB792rQeYMV9NvQMpCzYkBdhMvKMaG8K4TbWgjtNJ+ptw6XwQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ObFmv7ukD/ytY4QYdlcOaLMOBt1q9mOUfPDRFbT6HHs=;
 b=L7fINXYbK9btdFWIOvwT6cIKMIO3JRO3yIcsSJR1aT8nTi12fX9p33voCf1CPO5vEArS7qQeW/AwyxbjJlFrQ4P+R6342MCoUmyTDTNlucnUxDhQtrulsaahYZZBmDYg4rlsJ7Res7o+AvpunbnBb/ZYKHmM+LX6XW+XRVMkUBrpQBPaahVrb9g2U4i5KAs+P17tYQX1cKO0I4Q5tCLs1gU64chYMrajIP8IUjcqMzn0OIgOqvlea/2tzRTM2ltszSRsl5/M/LdPZGKolRVi/NmDvnqmOLyX7Tovok2FSFdoQYgwkM5ZFVK2Vgxt2o6tYHFhxbO4ZwJnRt132YG9kg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ObFmv7ukD/ytY4QYdlcOaLMOBt1q9mOUfPDRFbT6HHs=;
 b=OB5WoHEMrgGv9mX6gW+zMcD6HOI3MyCgHrDgaItvqNel+e10QWJerVKQlATa6hbbRsztoiTvxeCq7Q3VgCXMxmitKxKme6sirLpJr15K4f/CbRJ2782vybY80aF/I1M4gjLka8BIBAdUMUk1iy+/BVV5BbT6M8koSB3xYg1eNZo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <e948fabf-2b31-4404-8a35-da01717adeca@citrix.com>
Date: Thu, 25 Jun 2026 10:29:34 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH for-4.22] x86/fred: Send an EVENT_CHECK IPI on exit from
 NMI
To: Jan Beulich <jbeulich@suse.com>
References: <20260624142338.653064-1-andrew.cooper3@citrix.com>
 <0e964293-5b38-4f80-be78-bda76706d0fe@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: <0e964293-5b38-4f80-be78-bda76706d0fe@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO3P265CA0004.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:bb::9) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|DM6PR03MB5227:EE_
X-MS-Office365-Filtering-Correlation-Id: bc5103a9-86f8-48c1-5b79-08ded29c46f5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|376014|366016|1800799024|11063799006|56012099006|4143699003|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	LCRP85qtPnAuWzcabUBgLQ4KC1Eg/y13gV9QITXo1tMc99QlamdbvLTNwbyLzyRaKBZ58P16ToHQpeJC+3vyDcl+kCJSToO6tcMtHqmQQfn7S57Yj/FB6CJmFUgvYCPorVbOccBiVYRF6dvwFigahNR6brOd9785tc0B4cJGrqZVTyNfCwtAYmExtSQoDV46T0knzy/AM1VTAmVJEsrne19qQI4OnFTnlILx5Y69qYf36dm4lI8n3oBjBu9Pg/x86xqi+W3f+tPk/fLhYJk+zRG3y4dt6Ois80oGPjWIwodn9Wrph4cxSDOwYsDIiogdoje89LCNqoHxB8CfuShsMuj5cAHkADpj1Z6MIZuTU1wsQ8chsrzvv5KfnNwMzMtEv+dLddlJ6Wt0/5EimEnHe4ok5FW/Ooeo5qEcWirxbkwrk+m/P0Bdl1Hy/JZMdHsG3xXqJfxd3jOTioRG7UjL/gwgBw0d9MzQF+1jKtHGwgKIpAHzzrnoaLM0QAYmLloOeMGNmq+FeqbIlfzaWHPHnIleAtocTkFJCqzz3iiqrGgq6h3Bwe9jxTt7bBF3FS3RhN0kCTQ7gDG/D6ZHsuoB2quQ3uRdQLy/65wDvV64saSLW8so+/85DYOVRoUcGPrc+vdAEnqTWgVXiw3M3a9ubwlBJpL+oPszk4bQbsyXc4c=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(366016)(1800799024)(11063799006)(56012099006)(4143699003)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TjBQY3h2NzhGQlowNmhiSC9iUG1wc2NRMFg2d0Nwc0lDTVpYRDFpS3hOc205?=
 =?utf-8?B?TzZKbmZlR0RvQ2xCa21rL3o4TUJiLzJsdDZFbTh6L0dqa3BDYjNkczJMZjBS?=
 =?utf-8?B?SVpoQk5uYThQT0twWXU1Tjg1dXhRYWc0anRwQUY2UTl3ZmJRWGw0aC9UNitU?=
 =?utf-8?B?SmxCSC83b3VvVlo2V09Ra3l2S0h2bnNSOXpTbkhJOUNrMDlhSzBEOElQaUE5?=
 =?utf-8?B?dmM3aGZvUUxnTEZrWjZUV3VxY0w1QjZITkh3ZjhGcy92MDN6VzBId1k1RmZL?=
 =?utf-8?B?dmMvZUwvYjhLbUZhYkJRNDNKbmRTQkphQWJONUJLYVROSUVvcFZRQVB2eWRX?=
 =?utf-8?B?enhUWDUzUDdYcWRFMTFoUkdOUW9TcmYzeEw1TWdPYUlGTldjK1lpY2xUMElR?=
 =?utf-8?B?MXo4b2pkdDhHTUVocW1nSmdYd3NEYzJYM2M2RTBIZFlSNCsxcFV4YkRlWU56?=
 =?utf-8?B?OVQ2ZVBCdXBZOG5YRDFzdmsxcW45dUtQOUMzVlpCTmN6OE96Nzh6QzF6UjE4?=
 =?utf-8?B?QXVZNnA2ZXg0eERiRHFoNWJXaGM1enV3S0Q5VXlaMFJjVFE2K1NxUGRZVWZo?=
 =?utf-8?B?aXI5RXRKcVdUSmtRL0UrUUVnTGZmWndaSkJ6OUc0WmtLOFhLNWdtSmJWWEJX?=
 =?utf-8?B?ZGQrMVRoRkgvNWZnQlFsdjhlTzZZTnNxSlhDS0dydXVKNzVCSjQzeGhiVldj?=
 =?utf-8?B?RlB3YjVPcDNjOFM2OGhtS2d5Rk5CQ0ZtSTd0ek0rc3p3Z1QrRHUxVHVZREI2?=
 =?utf-8?B?c2tUY2g0aHN2dnlVc3pyZ1d5UjE5MXM5aFJ2bGVYeWhGT1J0VzBhMkxpV1cv?=
 =?utf-8?B?RVl4M3p5dlFONXQzTVVLdjFya2JXZTBZT1NTRUx2MkEwOUVjekF0WnlvbC9s?=
 =?utf-8?B?bmM5dWNrUXUrTVZSWldKbXRxSGJybU9OdXBBOWsrcUMxaVVCaDJnNTY0emp3?=
 =?utf-8?B?dEF1ZWt2SEJZRDNmeDJPRHJaS0ptWnR4VWNIOVpZOTVLckhXV2RiZjlEcnNM?=
 =?utf-8?B?R2lRa20wVnJxN2hOMFdETE15Qmw1Q3I3V2k5cHRnbjBWMjJLUURtL3ZXUlE1?=
 =?utf-8?B?eVEwcVlaNmhyOUdFNTRmeENKODhjNTMySGVZRVlvUTRkR0hkVjBGcjRmTS9R?=
 =?utf-8?B?OVZkdjA3MjNxL2FMQUJJRUVWVWg4VXVGbDBtSlkrRmZEZW1VTGdSSWtKVEQz?=
 =?utf-8?B?Q3JGQmRsZTJSSUlBako4YlNWbTFVNS85WnZpQ1ppOFlMVDZGTDZpN08zR3ZT?=
 =?utf-8?B?NE9XTkc2N3JLVHl3Sk5DUzZyLzl6a1J3T2poc1hSNnhKVmMycWtRMCtsZjQr?=
 =?utf-8?B?TGhkN3pZR2xxVTM2a1VDbTZzbFhwZ3h2cnhYOTB0d0VXcVBuQ08ycG4vNktP?=
 =?utf-8?B?UjVzSWFmNVlmbVhUend3Q1ZTWjdBT0NicTJHcXhPdTZoN2xYV3NUSUttL0VK?=
 =?utf-8?B?ZkcxZUZJR204VXY2aUw3a05MNHpxdkJhY3REMHBITCs3bnIycE5aOEg3clM0?=
 =?utf-8?B?ZzRFVkxZL0RZTkxFc1JqRTlqMlBtOCtDRVU4OE5qK0NmWDdxdTExRHlvZ1l1?=
 =?utf-8?B?OE03Umg0UXBZcHVaVXJjd0VkdGwwLzNSeWkyVmpla1N3WlNrL3Avd0RDbjho?=
 =?utf-8?B?OW5GOXNUa0UrQjAwZFpSd2MrajlpWDRaWXJwUnIvSkplVUd4OFc5QThad2ZG?=
 =?utf-8?B?ZTJ0Ly95dGEzaVBzRzNNVENGV0NEOE5rUko1UEFSclZpZVYrMTJFZVlNYUVI?=
 =?utf-8?B?ekVCVVd0MmR1UGZlaysrQk1kYkFKNS9ueEdmTHBVYWxEOG94bzFoamtLcjBG?=
 =?utf-8?B?Sm80cXVZTDFmeU92RnRoaFZmYzhhb08vVkplV3FnU1dNeUErNWE4enRwWmNG?=
 =?utf-8?B?Z2VnQnlGcG5qVkpWNDZGcFRoN2dlV1FQYzlicndHemdNNFNiWFNlTXA2SHkv?=
 =?utf-8?B?QUc2KzNNUUVENDVabm1oaDYzMXhGK3JLM0dPY3NJa0R4R1Fua2t2Ymd5cnJs?=
 =?utf-8?B?Q085Yi9CaUVRalZaRDBpa2QxTTc3Wmc0QjBqOXR5ZENYZmV6T005UjBJR2g1?=
 =?utf-8?B?QXhpc0RzbG1qamVvSUFZU3pTWEI5N1RWZTZ3U1UxNEJMTUJpNXg2L0tJVzJo?=
 =?utf-8?B?NFVYd1l1eFdiSTJ1Y0tkRHFFUGowTk1ZSWpILzBaYUF6aTFXS085SGVvRkVw?=
 =?utf-8?B?ejQyQU5WYmdQdWdpbmUxVHM5Z1hPb2FrM1Z0R3hWRmVTaGZ2QnhYcHlWUU9N?=
 =?utf-8?B?dUhvVXJkNVZhYkxjUjVlbmRnUzY4aENwWW43REQ1TGVWa0E1QVZJWSs2YUJL?=
 =?utf-8?B?YkVXMTZLL1F5ZTkwdWE2RUIya3o3VWNzc2lyei8zdGlhblpDbGU1UT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bc5103a9-86f8-48c1-5b79-08ded29c46f5
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2026 09:29:38.1391
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RM8MdWvMTI0DBLmhC7d7TEli0qvKj3q/PDZXTU9tlQB27ZZfHeF1rsMmDFH+44fZi0/Lxzb0YEmS+2nXdJ03zoyCiNIeyDz/j5TqJsjdv98=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5227
X-purgate-ID: tlsNG-d62444/1782379781-824C21E0-FB0D6AAD/0/0
X-purgate-type: clean
X-purgate-size: 874

On 24/06/2026 3:43 pm, Jan Beulich wrote:
> On 24.06.2026 16:23, Andrew Cooper wrote:
>> Returning from an NMI which hits guest context needs special casing in FRED
>> mode just like it does in IDT mode.
>>
>> Break nmi_exit_to_guest() out of handle_ist_exception(), and use it in
>> entry_FRED_R3() also.
>>
>> Expand the comment a little, and invert the conditional jump to
>> compat_restore_all_guest() to avoid needing an #else clause for CONFIG_PV32.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> provided of course ...
>
>> Slightly RFC, not tested yet.  (My AMD system takes an eternity to reboot)
> ... the results of this won't prove it wrong.

Testing is good.Â  We now get core register state on all CPUs, rather
than missing the ones which were in guest context.

~Andrew



From xen-devel-bounces@lists.xenproject.org Thu Jun 25 09:42:02 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 09:42:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345378.1604246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcgaq-0005HN-FZ; Thu, 25 Jun 2026 09:41:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345378.1604246; Thu, 25 Jun 2026 09: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 1wcgaq-0005HG-D3; Thu, 25 Jun 2026 09:41:56 +0000
Received: by outflank-mailman (input) for mailman id 1345378;
 Thu, 25 Jun 2026 09:41:55 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19efe284266000701b@swg.vates.tech>)
 id 1wcgap-0005HA-6x
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 09:41:55 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcgan-00D0S6-ES
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 11:41:53 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19efe284266000701b@swg.vates.tech>)
 id 6a3cf7d2-5cb7-0a2a0a5109dd-0a2a450b8624-48
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 11:41:53 +0200
Received: from [185.255.28.18] (helo=prod-mta-13.swg-srv.net)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from
 <prod-mta-13.8631fc262581453bbf619ec5b2062170.19efe284266000701b@swg.vates.tech>)
 id 6a3cf7e0-ac48-0a2a450b0019-b9ff1c1280d5-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 11:41:53 +0200
Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr)
 (Authenticated sender:
 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e)
 by prod-mta-13.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id
 19efe284266000701b.004 for <xen-devel@lists.xenproject.org>
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 25 Jun 2026 09:41:51 +0000
Received: from [192.168.1.18] (88-188-240-210.subs.proxad.net [88.188.240.210])
 (Authenticated sender: teddy.astie)
 by mail2.vates.fr (Postfix) with ESMTPSA id 2B0F6862EA;
 Thu, 25 Jun 2026 11:41:51 +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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech;
 q=dns/txt; s=selector1; bh=njL2cyY2V474tcDcUwAsNlgjdOsnXa6UQgKriiwsNfs=;
 h=from:subject:date:message-id:to:cc:mime-version:content-type:in-reply-to:references:feedback-id;
 b=GVV00iegnoC8ibyj2di6lVVjk0ovyggoVg8utXSMRo+Q8rBJJem5pUXvM6Cob/4uaaHukbYj0
 EqyxfpK/LxnNxJ2zZgvtrzMg9JK15WNB3e2L29lCCTTGbVg2K8m84q6x+hwYv1QdNr/h+lrCDQc
 lrppWsEbmVc8aiu2TYP+Xtg/2OewFPvNn5rHVpI5Y9pEFrKIPGyjA0tvaJLkigmFoJcKdvlIA4q
 Q/l/clPf16fGgElBcG35cGX5BQr2i0620CbCIdXB6M1xR3l6OeI7jT7Hn353i4ysBgnuVgQVwSn
 6mRpjvzwG3v3goUTqPsaRVpTvI3IzwmK+pGBAwfcvRkA==
X-Zone-Loop: c5ebc88bfbdb295e5f97e3b22b9d9bfd09b2840856b2
x-campaign-type: default
x-transaction-id: 1bd142b9-f674-42ae-beb2-f1f9a5a73390
x-swg-uid: 01-4d6dc47c-e5d3-42d5-b0fb-2bd616cdea66
X-Mailer: Sweego
Message-ID:
 <1782380511.8631fc262581453bbf619ec5b2062170.19efe284266000701b@vates.tech>
x-swg-bid: 1782380511.8631fc262581453bbf619ec5b2062170.19efe284266000701b
Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego
x-campaign-id: default
x-client-id: 8631fc262581453bbf619ec5b2062170
X-Originating-IP: [37.26.189.201]
Date: Thu, 25 Jun 2026 11:41:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] x86/boot: don't blindly mark VGA in graphics
 mode on MB2 path
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <7fbe73a9-08b1-46ff-81fe-ddd6ed52deb6@suse.com>
Content-Language: en-US
From: Teddy Astie <teddy.astie@vates.tech>
Autocrypt: addr=teddy.astie@vates.tech; keydata=
 xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7LTBVHV/XO
 Zw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJT4ny+OGntnJntUoR
 KRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJAWicutjkkUgd28Bh6HV9EIumH
 tCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaT
 VqMdqul07o72m3eA2mf+LMu9a04FX/d4wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/
 EoucejoZ5SH49ksmVAmKOLktOaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+S
 PhHar7TPKjFz0G3DPNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89
 MXfQXZ3qt1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
 LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWjmoACGwME
 CwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNzuyOVCskwfUZPla6Z
 pd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp0x0HfuhcYfAYPR46XHTvjaJE
 v99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuROxdK8G+YHccJY8PvWSq2K2yiae2KGiAv
 1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhP
 eP3IdpfWc8cyRLXF06Rk46YMYCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcT
 UwgnYlFRk2FLq0QeKEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9
 Egr/Wmu3MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
 f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEMAKiQiZa3
 yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ3DbVf+en3/FvdVZg
 2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTmetSG5/52AjtmPFtlXAk0NmLv
 fJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0s3109sJeXT5ImVdphFs9cvyZyBT9t1Pb
 Rowv58EgV0zE4hbAeVkULAbxFV5b/ExTjjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKb
 Yu6NCfiHfEyB3Xyg9hfdrRgjMRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ov
 XoK4jm+Py0FiUGUaA6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/
 eVtR2Q1wZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
 IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWjmoACGwwA
 CgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiVoUiHYN5QwhnbZnsa
 JDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764QxyX6rld2f2RcWkDuBHun55ZWXj
 by8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk/dS0XTOQi2wVUb17sW/+ybCEokdVacZG
 zOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fuoGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+
 lOWSvdNHgoEkWR0RXBPQjnGmLKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/Off
 O485NOTKwGOxyWb006cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR
 8ULR9nX0LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
 x9fhaZEsniw8/bYgC3igkk5YJiOa
In-Reply-To: <7fbe73a9-08b1-46ff-81fe-ddd6ed52deb6@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------LcOI9fP7oqQ44LJxFBEZcQHA"
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1782380511295
X-purgate-ID: tlsNG-42698a/1782380513-A5523220-F9274F37/0/0
X-purgate-type: clean
X-purgate-size: 6372

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------LcOI9fP7oqQ44LJxFBEZcQHA
Content-Type: multipart/mixed; boundary="------------D0DZdyft4MNAgiiM46A0PbAS";
 protected-headers="v1"
From: Teddy Astie <teddy.astie@vates.tech>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Message-ID: <c5ee5826-ec26-4049-8dab-1a110c6c5700@vates.tech>
Subject: Re: [PATCH for-4.22] x86/boot: don't blindly mark VGA in graphics
 mode on MB2 path
References: <7fbe73a9-08b1-46ff-81fe-ddd6ed52deb6@suse.com>
In-Reply-To: <7fbe73a9-08b1-46ff-81fe-ddd6ed52deb6@suse.com>

--------------D0DZdyft4MNAgiiM46A0PbAS
Content-Type: multipart/mixed; boundary="------------6nWJXg9qTuh0tLYCKkK0Nskl"

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

TGUgMjQvMDYvMjAyNiDDoCAxMjoyNCwgSmFuIEJldWxpY2ggYSDDqWNyaXTCoDoNCj4gU2V0
dGluZyAtPm9yaWdfdmlkZW9faXNWR0EgdG8gdGhlIHNwZWNpZmljIG1hcmtlciBzaG91bGQg
YmUgZG9uZSBvbmx5IHdoZW4NCj4gdGhlIFZCRSB0YWcgaXMgcHJlc2VudCBhbmQgdGhlIEZS
QU1FQlVGRkVSIGlzIGVpdGhlciBhYnNlbnQgb3IgaW5kaWNhdGVzDQo+IFJHQiB0eXBlLiBT
aW5jZSB0aGUgInZpZGVvIiB2YXJpYWJsZSBub3cgc3RhcnRzIG91dCBub24tTlVMTCwgdGhp
cw0KPiBwcm9wZXJ0eSB3YXMgYnJva2VuIHdoZW4gaW4gcGFydGljdWxhciBuZWl0aGVyIG9m
IHRoZSB0YWdzIGFyZSBwcmVzZW50LiBUbw0KPiBtb3ZlIGJhY2sgdG8gYXQgbGVhc3QgY2xv
c2UgdG8gb3JpZ2luYWwgYmVoYXZpb3IsIGFkZCBhIDJuZCBjaGVjayB0byBzYWlkDQo+IGNv
bmRpdGlvbmFsLg0KPiANCj4gRml4ZXM6IGQ1YTczY2RjNmI5MCAoIng4Ni9ib290OiBVc2Ug
Ym9vdF92aWRfaW5mbyB2YXJpYWJsZSBkaXJlY3RseSBmcm9tIEMgY29kZSIpDQo+IFJlcG9y
dGVkLWJ5OiBNYXJlayBNYXJjenlrb3dza2ktR8OzcmVja2kgPG1hcm1hcmVrQGludmlzaWJs
ZXRoaW5nc2xhYi5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGlj
aEBzdXNlLmNvbT4NCj4gVGVzdGVkLWJ5OiBNYXJlayBNYXJjenlrb3dza2ktR8OzcmVja2kg
PG1hcm1hcmVrQGludmlzaWJsZXRoaW5nc2xhYi5jb20+DQo+IA0KPiAtLS0gYS94ZW4vYXJj
aC94ODYvYm9vdC9yZWxvYy5jDQo+ICsrKyBiL3hlbi9hcmNoL3g4Ni9ib290L3JlbG9jLmMN
Cj4gQEAgLTMzOSw3ICszMzksNyBAQCBzdGF0aWMgbXVsdGlib290X2luZm9fdCAqbWJpMl9y
ZWxvYyh1aW50DQo+ICAgIGVuZDoNCj4gICANCj4gICAjaWZkZWYgQ09ORklHX1ZJREVPDQo+
IC0gICAgaWYgKCB2aWRlbyApDQo+ICsgICAgaWYgKCB2aWRlbyAmJiB2aWRlby0+bGZiX3Np
emUgKQ0KPiAgICAgICAgICAgdmlkZW8tPm9yaWdfdmlkZW9faXNWR0EgPSAweDIzOw0KPiAg
ICNlbmRpZg0KPiAgIA0KDQpSZXZpZXdlZC1ieTogVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGll
QHZhdGVzLnRlY2g+DQoNClRlZGR5DQo=
--------------6nWJXg9qTuh0tLYCKkK0Nskl
Content-Type: application/pgp-keys; name="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Disposition: attachment; filename="OpenPGP_0x660FA9D102CBCFD0.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsDNBGn5sK8BDACuzSrrTjpVf4ay06OYB6yY0J1PqKffihoNMtrQRZjAHxoAPC7L
TBVHV/XOZw5HJc+9R71z1JV+iYg6z3jPziGKzX8Fj3ZXlzJPmpf1PuETH3KdbvtJ
T4ny+OGntnJntUoRKRPhTirr6yNeBk/637O3CQXjtqFUPZnko8OI/o1yawIBhJJA
WicutjkkUgd28Bh6HV9EIumHtCBgn5/1A/fpm9624MMgYLsA8qjC4XsoovQvFCaO
8HEhvfzrrTZHjn/nPeB9SigxIxXW8YaTVqMdqul07o72m3eA2mf+LMu9a04FX/d4
wbxBLtELm+1jIrbtyaFZEMOLv/haSiS/Lj3btJH/EoucejoZ5SH49ksmVAmKOLkt
OaTQ8b2gEvP7iaKiIiszCCtOSRohr+2GvDsDeLvVZnlR3I+SPhHar7TPKjFz0G3D
PNolyjXywNqOAMpomSPi8lSwjAFsxOtQbcck/qRGRSNk4DAmH70pA+89MXfQXZ3q
t1Q01B1+sU0I8xsAEQEAAc0kVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVz
LnRlY2g+wsENBBMBCAA3FiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sK8FCQWj
moACGwMECwkIBwUVCAkKCwUWAgMBAAAKCRBmD6nRAsvP0ID6DACGOktArFbLKHNz
uyOVCskwfUZPla6Zpd3GZ8r61SrAKePIr2BnpgPkd0hV3bSRkRLIrgjzR2NRCzfp
0x0HfuhcYfAYPR46XHTvjaJEv99sT/vGUG1BZguYDOScSEpgSNaNlYum3RKZbMuR
OxdK8G+YHccJY8PvWSq2K2yiae2KGiAv1yjnZxug9/PtDfX8vQFUSg2w1ukRDf50
wvDohN1zUQfFtofOP2xCRsDZiHAlQ0pF+aUjXQhPeP3IdpfWc8cyRLXF06Rk46YM
YCytweGtGdHcqAfrVthl84129ZPN422k/voW0sm14gjYlGcTUwgnYlFRk2FLq0Qe
KEDcS0aj3o3EVAQCrayoGzi1pnlIKE3PRGUcUzjGVvzQ/po24gOjwba9Egr/Wmu3
MQlx/7A8zT5QBzF/n+RYdLNQ0Eu6YnUwf0Z1uieqNaon+olyIRFiLb/hCZHO6ekN
f5vrm2clHUbQAYaPQebknujoKBo6ZLHg0WM1gZS01Gz+aUpKsUfOwM0EafmwsAEM
AKiQiZa3yQMmc/h3sDbfVHPSiBA4IMI/NAB7IotzPHq1GzCpsoVILAhF/INbWjxJ
3DbVf+en3/FvdVZg2S38xtnth0njNdlVKpyxm054phKjbdoFDwaknWolS4hrddTm
etSG5/52AjtmPFtlXAk0NmLvfJnW3seXVQbgM7sW/MNXPP5UKDpkGnLhnvej+GU0
s3109sJeXT5ImVdphFs9cvyZyBT9t1PbRowv58EgV0zE4hbAeVkULAbxFV5b/ExT
jjGVHoX7CVhWxvCiTqCUoXZRkUE9C3FnkzEFRkKbYu6NCfiHfEyB3Xyg9hfdrRgj
MRq907zCof+nDtWxGz1MSEuvTj1g9GZ049Bennqzjc/Q+0ovXoK4jm+Py0FiUGUa
A6yhexficjH+kCR/xDbVnWrMhSLB4AuTBT9HjfZI6gk3uYLhoT8Pig4/eVtR2Q1w
ZIJsFToR6ofGuyECwFcs+PUXN7fmGRSiPXgjAr/zIUBdW0VWCE3OGPNqtRk2E5s6
IQARAQABwsD8BBgBCAAmFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmn5sLAFCQWj
moACGwwACgkQZg+p0QLLz9DncQwAg76IehTemLIfrB8T9WIBZrI4kUV7G7a4rjiV
oUiHYN5QwhnbZnsaJDlt+Ezoqy/510eo2bCSzvW5xXYPgyjcuOPwgQo1Qp764Qxy
X6rld2f2RcWkDuBHun55ZWXjby8o21ginPRwruBVYY5rVf3DV1iBu4NurUeHtyFk
/dS0XTOQi2wVUb17sW/+ybCEokdVacZGzOqP/OmwHrF8ylXlXnhQq6e3r+J+T8fu
oGJelm/CJiMwyP6cEWE8sxVqX/iqwjwUYkuOCpE+lOWSvdNHgoEkWR0RXBPQjnGm
LKbfTl/QDXLk6NP2/r9uxm2HL6Ei3QJKSEdrp+XZaVnk/OffO485NOTKwGOxyWb0
06cTMh53xPkAJFQu4Tvdj+odsHz88jqw5wfPG0BYWx0I/FspYj7N9kZR8ULR9nX0
LvpzJ/kB4NgHIUt8YtIL6ZSfM2dbF7fKzvx1UqFfvozJZwFzfEieJLXa4nlGgR6D
x9fhaZEsniw8/bYgC3igkk5YJiOa
=3DlUIA
-----END PGP PUBLIC KEY BLOCK-----

--------------6nWJXg9qTuh0tLYCKkK0Nskl--

--------------D0DZdyft4MNAgiiM46A0PbAS--

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

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

wsD5BAABCAAjFiEEGAIew9LzHY3pdrqtZg+p0QLLz9AFAmo8994FAwAAAAAACgkQZg+p0QLLz9AL
dQv/W+pb/G+9lyjUqjSTkVk7YJUdpWT3e+rrdMPGy641Ic1qIb5bfUwJXN/Vg+7CS9bmJX86Cc6X
g8qgNF9vRkoLhsGGUSZiwUE0ZcNm0aLVzgo+8KM1Q03G8mqUXHV5QaoCY3+ywFcsjM/tzKuEIUa0
K/AU0GfrtGB8wNzUBA8tMJQV0aES9ea/A5YsbyBMmbJmZ9TrEiBVWc92Du3UBnwn6QtHQpN3480V
uIE5zp+tCeZV9bHFtWPqOlXgYsp9+J2bjNnSZ18rS3Ji4hIGt+0wVscM8AMkaPXfGyx21HTmteju
F+1BLMPEds4SzIfxxV5hWFJPpm4wUZQNlzxoA3lB9OsMs8+myO8mMONQ/vs/zA2DkQ4L8W+LgpFu
YDAVSRUPLKEpCNKEOAj3llEAs9aOXoeO/BMW1TCPEiF3NaHuFmOgG1ub2N0i55JutVbLrzgeBhWp
vJDIqb6DcT19zjeRFnal8Q86xjHLuesTA4Sat7nOhe0PTMyjn/w8wBcl692L
=Dwpc
-----END PGP SIGNATURE-----

--------------LcOI9fP7oqQ44LJxFBEZcQHA--


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 09:48:36 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 09:48:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345389.1604255 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcghC-00069J-33; Thu, 25 Jun 2026 09:48:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345389.1604255; Thu, 25 Jun 2026 09:48: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 1wcghC-00069C-0S; Thu, 25 Jun 2026 09:48:30 +0000
Received: by outflank-mailman (input) for mailman id 1345389;
 Thu, 25 Jun 2026 09:48:28 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcghA-000696-L3
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 09:48:28 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcghA-00D1qr-1g
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 11:48:28 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3cf958-e002-0a2a0a5209dd-0a2a4506e94c-30
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 11:48:27 +0200
Received: from [209.85.221.43] (helo=mail-wr1-f43.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3cf96b-08de-0a2a45060019-d155dd2bb02c-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 11:48:27 +0200
Received: by mail-wr1-f43.google.com with SMTP id
 ffacd0b85a97d-4633193af19so1567854f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 02:48:27 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-46caad603b3sm12022186f8f.7.2026.06.25.02.48.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782380907; x=1782985707; 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=XcZVkgIfnS1r3cU/3cQU3TYngiPnLUDeDIw/8YNG78s=;
        b=GOBxZP1sfyw8clZ/g3bcfghbBB+bgT5aXTXj3S+FmkfKt83Wkz4wSvngmjiPR7QkgL
         4x3ohpoJAvHbkjjPHNYw/d5+aPTkEi6daFzPwwHM5bLHmfpGOj+eAhrc0hXnVuruOhVc
         6ynEB4iO20d9jA1u4GdHkC+znCIVAIPdU55TlIQVu1MMN0cvBcAEObvIGTgFH5WrOvvl
         8vdnXuvW/yxWZoYd76Btpj9mhWGml9PznAsHY59TuMJ0Rm+3LtyElRDV4Q7qJ9UjZoKp
         g46QAGVXDPFUl/x9zQFZ2nDNRgjvBaMecpQfCg5vlRLj9FKopXx6N4AAuLjK8KSdFUGD
         Wp3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782380907; x=1782985707;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=XcZVkgIfnS1r3cU/3cQU3TYngiPnLUDeDIw/8YNG78s=;
        b=gssYS27Rr6pSLK/u0mTa0s2lXAX+MpVbVOamzeG0uXWDq2efO/CpZ87yUzAcmfdEV6
         9LBmtFLYOHchf5Vo9T21lm1wm5zDPAMzRuE+UUmXN6H/Sy+Zmiy3J69W9nBEO6N4mpMZ
         FOHkH3btHPOp7rqMLfS3yZw0voV3ZmkkJYU7A9UKdvoZfGxXxFjAhb8Wz9JGDXeU4Fob
         LcN1x/BgtizNxZ9lMn3QLx9eT6qYNtzu9LKARt/aAE79kSBFDa2P0AD8G3wtzk6zPB1L
         U+3cz2duaM3GAErP5daJqZpVFjdNBkfdBKpPv4UKmIem6W7UUCym59nJHsgu5v9IAz6q
         HLOw==
X-Forwarded-Encrypted: i=1; AHgh+RpMySywhlbSFTrosaURxHXX/JEPMDHdQQFziUq6NdwbtezzhokJLxxCdH5X89f183XYrYp6YAyPWaI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx8MAMtj8PKKWPUgejnFIkiSc1JKr92/NFm2vfoUwwZYcswTsfC
	iCpo/9WwUSEQHL84WSioxs9mHnMyTCeeAZQ3ts9FhTOh2o5I2TFpdMuf
X-Gm-Gg: AfdE7cl8QASv3nD2/YTrru5ljKV9ky5AHqgnnA1+i/m93T4m5u6w0KkHDUes1rpQoO2
	dfOdocyJ2krUnZNj+XjbO3MIxoZX8CwClx2qNtBIATLQohClLeALFlykJw4uxZtBMmyr2ZvJV7M
	RMhSWX7hE+6xw3zcFRs6RyJM2plTjGw3wEV2WqrjjxcdL/2FbvcFpsLJC++kPsgK3bAoyriAcAr
	ekDJ9hV+/r0THRKM57+5ze3gQMk0+cl8Sb3gmPNiASky5ZRmMp165Rwow2s59tolbN4vmoZcRIr
	J1xSKycVxKvQMV1TaEoGWVbLzay93ehS4F/hwtQOShnra/keBkiNnsLZ15G8kc1LOcrD7nJuogT
	iAEsEwwzG4ZsnLpdup6YHDUBII8zGRc5WQDyFvFytqJSFqgMcOxz2oahTbLRgudpQGnfCELibMn
	cjk9qwhdbMbkhNT6/o0lC3Y4tsE+/HI+p6pmFlygQWmqkE2J/4rIzGKKaX7KjgkxLbAMM=
X-Received: by 2002:a05:6000:230d:b0:461:d369:ece6 with SMTP id ffacd0b85a97d-46dc11e3059mr2600381f8f.30.1782380907140;
        Thu, 25 Jun 2026 02:48:27 -0700 (PDT)
Message-ID: <04195c2e-0cb1-45a2-9844-2ce802692704@gmail.com>
Date: Thu, 25 Jun 2026 11:48:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 18/23] xen/riscv: implement IRQ routing for device
 passthrough
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <0458468cc5a6db911a9acc64f4c8cf17ceebe4c6.1781693963.git.oleksii.kurochko@gmail.com>
 <3a1aca27-cc18-4b57-bb31-c50161b8c261@suse.com>
 <b4770ce2-9456-4dae-a322-c8e3f9239472@gmail.com>
 <d0b60963-6711-44ed-833d-83ac9de50aa9@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <d0b60963-6711-44ed-833d-83ac9de50aa9@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-16d1c6/1782380907-C573868D-98597690/10/73395122804
X-purgate-type: spam
X-purgate-size: 9877



On 6/25/26 8:08 AM, Jan Beulich wrote:
> On 24.06.2026 17:21, Oleksii Kurochko wrote:
>> On 6/22/26 5:57 PM, Jan Beulich wrote:
>>> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>>>> --- a/xen/arch/riscv/include/asm/intc.h
>>>> +++ b/xen/arch/riscv/include/asm/intc.h
>>>> @@ -13,6 +13,7 @@ enum intc_version {
>>>>    };
>>>>    
>>>>    struct cpu_user_regs;
>>>> +struct domain;
>>>>    struct irq_desc;
>>>>    struct kernel_info;
>>>>    struct vcpu;
>>>> @@ -32,6 +33,9 @@ struct intc_hw_operations {
>>>>        /* hw_irq_controller to enable/disable/eoi host irq */
>>>>        const struct hw_interrupt_type *host_irq_type;
>>>>    
>>>> +    /* hw_irq_controller to enable/disable/eoi guest irq */
>>>> +    const struct hw_interrupt_type *guest_irq_type;
>>>
>>> It's likely my limited RISC-V knowledge that I find this extremely odd:
>>> Separate struct hw_interrupt_type-s for host and guest?
>>
>> The guest and host interrupt controllers may handle some
>> hw_irq_controller operations differently, even though the operations
>> themselves are conceptually the same. The hw_irq_controller interface
>> provides fairly abstract interrupt controller operations, but the
>> underlying implementation may differ depending on whether the controller
>> is used by the host or a guest.
>>
>> As an example, the Arm code already follows this approach:
>>
>> /* XXX different for level vs edge */
>> static hw_irq_controller gicv2_host_irq_type = {
>>       .typename     = "gic-v2",
>>       .startup      = gicv2_irq_startup,
>>       .shutdown     = gicv2_irq_shutdown,
>>       .enable       = gicv2_irq_enable,
>>       .disable      = gicv2_irq_disable,
>>       .ack          = gicv2_irq_ack,
>>       .end          = gicv2_host_irq_end,
>>       .set_affinity = gicv2_irq_set_affinity,
>> };
>>
>> static hw_irq_controller gicv2_guest_irq_type = {
>>       .typename     = "gic-v2",
>>       .startup      = gicv2_irq_startup,
>>       .shutdown     = gicv2_irq_shutdown,
>>       .enable       = gicv2_irq_enable,
>>       .disable      = gicv2_irq_disable,
>>       .ack          = gicv2_irq_ack,
>>       .end          = gicv2_guest_irq_end,
>>       .set_affinity = gicv2_irq_set_affinity,
>> };
>>
>> These implementations reuse almost all interrupt controller operations,
>> differing only in the .end callback.
> 
> Which I'm having trouble with as well. Interrupts are handled by Xen. What
> guests get to see are virtualized interrupts (no matter how much HW
> acceleration may be in use). Hence I'm having difficulty to see such a
> split justified.

I think that I don't fully understand what is wrong with splitting. If 
there are cases exist when I need such separation for virtual interrupt 
controller operations then it looks fine to introduce such separation, 
right?

Lets take an example of PLIC.

For each source the PLIC has a "gateway":
1. Claim (read CONTEXT_CLAIM): returns the pending IRQ id and closes the 
gateway for that source, it will not forward that source to any context 
again until completed.
2. Complete (write the id back to CONTEXT_CLAIM): reopens the gateway. 
If the device line is still asserted (level high), the PLIC immediately 
re-marks it pending and delivers it again.

The "closed gateway" between claim and complete is effectively the 
hardware masking the source while it's being serviced.

Then if we will handle guest interrupt in the following way:
1. Passthrough device asserts its line (level stays high).
2. Xen takes the physical IRQ, claims (gateway closes), completes 
(gateway reopens), injects a virtual IRQ into the guest's vPLIC.
3. The guest hasn't run yet, it hasn't touched the device's registers, 
so the device line is still high.
4. The PLIC sees the source still asserted with an open gateway -> marks 
pending -> fires another physical interrupt into Xen -> ... -> repeat.

So we get a storm of physical interrupts for a device the guest hasn't 
even begun servicing. The device line only drops when the guest driver 
writes the device's own registers, which happens long after, and on the 
guest's schedule.

So the solution is that the physical complete must wait until the guest 
has actually quiesced the device. The only signal Xen gets for "guest is 
done" is the guest writing its virtual complete to the emulated vPLIC. So:
1. guest_irq->ack: the claim already happened (the readl(CONTEXT_CLAIM) 
in plic_handle_interrupt); ack just records which context claimed it. 
The gateway stays closed - good, the source is masked while the guest works.
2. inject vIRQ â†’ guest services the device (line drops) -> guest writes 
vPLIC complete.
3. guest_irq->end: now do the physical complete, reopening the gateway. 
Device is quiet -> no spurious re-trigger; if it's a new legitimate 
assertion, it fires once, correctly.

Is it clear enough now?

I understand that it would be much easier if you had access to the 
PLIC/vPLIC code, but I don't see much benefit in introducing it at this 
point. Perhaps we could proceed with the proposed approach and revisit 
the design once the PLIC/vPLIC code that uses it is available.

> 
>>>> +#ifdef CONFIG_IRQ_HAS_MULTIPLE_ACTION
>>>> +    for ( ;; )
>>>> +    {
>>>> +        action = *action_ptr;
>>>> +        if ( !action )
>>>> +        {
>>>> +            printk(XENLOG_WARNING "Trying to free already-free IRQ %u\n", irq);
>>>> +            spin_unlock_irqrestore(&desc->lock, flags);
>>>> +            return;
>>>> +        }
>>>> +
>>>> +        if ( action->dev_id == dev_id )
>>>> +            break;
>>>> +
>>>> +        action_ptr = &action->next;
>>>> +    }
>>>> +
>>>> +    /* Found it - remove it from the action list */
>>>> +    *action_ptr = action->next;
>>>> +#else
>>>> +    action = *action_ptr;
>>>> +    *action_ptr = NULL;
>>>> +#endif
>>>> +
>>>> +    /* If this was the last action, shut down the IRQ */
>>>> +    if ( !desc->action )
>>>> +    {
>>>> +        desc->handler->shutdown(desc);
>>>> +        __clear_bit(_IRQ_GUEST, &desc->status);
>>>> +    }
>>>> +
>>>> +    spin_unlock_irqrestore(&desc->lock,flags);
>>>> +
>>>> +    /* Wait to make sure it's not being used on another CPU */
>>>> +    do { smp_mb(); } while ( test_bit(_IRQ_INPROGRESS, &desc->status) );
>>>
>>> Can you explain to me what the purpose of this barrier is?
>>
>> if  do_IRQ() was called and:
>>       desc->status |= IRQ_INPROGRESS;
>> was called we have to wait while irq will be handled to avoid NULL
>> pointer derefenece caused by in do_IRQ():
>>       action = desc->action;
>>
>> So if release_irq() and do_irq() are called on different CPUs we want to
>> be sure that do_IRQ() make desc->status visiable for all CPUs.
> 
> For that you need smp_rmb(), not smp_mb(). And then it needs to be clear what
> the write-side counterpart is (presumably the spin-unlock in do_IRQ()).

Agree, smp_rmb() would be enough here. I will use it here and update the 
comment about write-side counterpart.

> 
>>>> +int release_guest_irq(struct domain *d, unsigned int virq)
>>>> +{
>>>> +    struct irq_desc *desc = irq_to_desc(virq);
>>>> +    struct irq_guest *info;
>>>> +    unsigned long flags;
>>>> +
>>>> +    spin_lock_irqsave(&desc->lock, flags);
>>>> +
>>>> +    if ( !test_bit(_IRQ_GUEST, &desc->status) )
>>>> +        goto unlock_err;
>>>> +
>>>> +    info = irq_get_guest_info(desc);
>>>> +    if ( d != info->d )
>>>> +        goto unlock_err;
>>>> +
>>>> +    spin_unlock_irqrestore(&desc->lock, flags);
>>>> +
>>>> +    release_irq(desc->irq, info);
>>>> +    xvfree(info);
>>>
>>> So you drop the lock keeping the info associated with desc in place. How
>>> do you know what you free here is the correct thing, and isn't in use
>>> elsewhere?
>>
>> The object freed is captured under desc->lock (info =
>> irq_get_guest_info(desc)), so it is by construction the dev_id of the
>> action attached to this desc, it can't be a stale or wrong pointer.
> 
> Why would this be? Another request_irq() (or whatever it is) can race this,
> can't it?

If an irq will be at that moment in use by guest it won't be mapped to 
guest because of the checks inside route_irq_to_guest():

         if ( test_bit(_IRQ_GUEST, &desc->status) )
         {
             struct domain *ad = irq_get_domain(desc);

             if ( d != ad )
             {
                 printk(XENLOG_G_ERR "IRQ %u is already used by %pd\n",
                        irq, ad);
                 retval = -EBUSY;
             }
             else if ( irq_get_guest_info(desc)->virq != virq )
             {
                 printk(XENLOG_G_ERR
                        "%pd: IRQ %u is already assigned to vIRQ %u\n",
                        d, irq, irq_get_guest_info(desc)->virq);
                 retval = -EBUSY;
             }
         }

If route_irq_to_guest() will be called at the moment when release_irq() 
above was called but before xvfree() then it shouldn't be a problem as 
route_irq_to_guest() will allocate new info so for old info no users 
anymore. So at the moment when is executed ...:

+int release_guest_irq(struct domain *d, unsigned int virq)
+{
...
+    release_irq(desc->irq, info);
+    xvfree(info);
+    spin_unlock_irqrestore(&desc->lock, flags);

... release_guest_irq() is the exclusive owner of 'info' and so safe to 
tear down  + free.

The only fix I see that should be done it is set clear_bit(_IRQ_GUEST, 
&desc->status); before spin_unlock_irqrestore() to be sure that 
double-free of info isn't occured if release_guest_irq() will be called 
for the same virq. Perhpas it also make sense to add 
irq_set_guest_info(desc, NULL); just to be sure that desc->info is NULL.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Jun 25 09:53:27 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 09:53:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345402.1604264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcglx-0007ts-MP; Thu, 25 Jun 2026 09:53:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345402.1604264; Thu, 25 Jun 2026 09: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 1wcglx-0007tl-Jm; Thu, 25 Jun 2026 09:53:25 +0000
Received: by outflank-mailman (input) for mailman id 1345402;
 Thu, 25 Jun 2026 09:53:24 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcglw-0007tf-0C
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 09:53:24 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcglv-001HHd-9R
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 11:53:23 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3cfa8d-2eae-0a2a0a5409dd-0a2a4503dd44-26
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 11:53:23 +0200
Received: from [209.85.221.49] (helo=mail-wr1-f49.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3cfa92-ec1a-0a2a45030019-d155dd31cd2e-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 11:53:23 +0200
Received: by mail-wr1-f49.google.com with SMTP id
 ffacd0b85a97d-46cdc80779bso1299159f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 02:53:22 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-46c2279b85csm13830274f8f.28.2026.06.25.02.53.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 02:53: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782381202; x=1782986002; 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=Rpf4AZ5Q7gbseslvmotJFMp1iyDAC9uIac9iObv6SPU=;
        b=aeUlE4/59zocaS/6sDHDfF60IhaJPFjemTEwymErwRZwij5HsynhAmAGQqxUA3OViq
         XcChhCkDsMAarwwnmo2ppWtkYi/N5U0Af1UWA/t9rwbZZ3M6+7jNFAtPmWbIIB0LM+cu
         ara6FaAfN35do4DtYS9Qnakmbr9uYr/gLfkJOyfd85D5CMsd7p/MoATC8/EDAr+/OltQ
         LgLtts3fXuW/zkO0iS7dsFodDXlADzRU8fCaeNK+Dz/nVqeryaSWF5tpW1blVhpB4afX
         kyHXZzUy/57ZCPBrORoAPa7QC7F5IUSsvm6DJtK/ZxOTYkyRmT1xjWjlJ5tq8H1TmvXD
         bY9Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782381202; x=1782986002;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Rpf4AZ5Q7gbseslvmotJFMp1iyDAC9uIac9iObv6SPU=;
        b=ne1eHS4+mExNigpXAOt97lHdrOSH99fjYzTQMDZ9+okYzEhmD17w+JKVOAoAU3xNyR
         1PeMLYw6nMJRupWEZidflkK4lljMBG0ULf2u9WhYie8i2CFkqkOwDbRxw4BkNr/vxQyt
         5rk+fWVUZhhN/+XUdFcSM4y4PFsrwdi0lSO2pS1w2MO+cP1m/ePLViCeLrGWCgrIPSRc
         0Uoc59sVZIFRqnBtBTTUP81nHlC+egY2vo4sKaKUytDELrTNnfn/PZyiKsNhAO90Lqw7
         nspMgNFf0Ju4AXaGNgls+teb6hWpR6ElVNgkpQnSMChkhFQM9V3dIdKG5Q6IwH/5njYT
         S/qA==
X-Forwarded-Encrypted: i=1; AHgh+RqkfXial3EmYcyPMmWo/b9735B/zW8cE6Zn0EdKUX8QU0UtuhRaGOXhz9c7BtinJmEKNVSccOxr53M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxF3J1/o9ELrmS9tSkiZueS1m2rhMyL9rjmaZ3uiD4oxmvdToPY
	fR5PwYyoggUdiq7vPQzdobRAJdvnAbnnPga47xTcH/UiC/KdgKLVLptc
X-Gm-Gg: AfdE7cl1OOVniOVaFE6aEL3jMTvih1ONtNlvH7tSp1Qhb7hBouMoVhKd3hozIrw6AuJ
	cjji7wRU/1+L9ea2wiWD5IgwOcgUnXFu3sBRtp8B8kh/6tf6PjjaceAOCy8CWyi6HfKB5bYJm/s
	piwiMJDXDXJLaFi/wb3DoAJtqIkYoEDCToWI7fiuOsuYdMY9ESoK9tzAWFiE4HIcA9xX2bV9bZ6
	6mHn5ubO1tSB6OtQMaoKGP9VxpPMjhw8CBI3/7PMqDQVRgK2/UzcIpf9HjOLroaQ/OayEY18BhL
	IQN0H6ZsODXZ/RSNDRA5HnI3LRTDiasfBkqbai2hHtdo/tIHoHnh937jeseLWbfBtYRdklQt437
	LzUYGEkLYaNo8Kn2VWExX2CX08AXBExndT2HHxkbKqJHPcZILU4PgBsANN9ttpB+if6HhMFte78
	TeURnS9KM5FswOK3diAocxRlyN19gSO88gEnRnzFOD+6BSeIMT5+TQPY5j0QZcdaBzR8RvpQnaA
	xImqA==
X-Received: by 2002:a05:6000:430b:b0:452:11f9:bc40 with SMTP id ffacd0b85a97d-46dbf3035a8mr2708619f8f.2.1782381201538;
        Thu, 25 Jun 2026 02:53:21 -0700 (PDT)
Message-ID: <53950c10-8708-4122-8976-5eeb943ed2a3@gmail.com>
Date: Thu, 25 Jun 2026 11:53:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/fred: Send an EVENT_CHECK IPI on exit from NMI
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>, Teddy Astie <teddy.astie@vates.tech>
References: <20260624142338.653064-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20260624142338.653064-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1782381203-BCF835D1-CF64A74C/10/73395122804
X-purgate-type: spam
X-purgate-size: 1171



On 6/24/26 4:23 PM, Andrew Cooper wrote:
> Returning from an NMI which hits guest context needs special casing in FRED
> mode just like it does in IDT mode.
> 
> Break nmi_exit_to_guest() out of handle_ist_exception(), and use it in
> entry_FRED_R3() also.
> 
> Expand the comment a little, and invert the conditional jump to
> compat_restore_all_guest() to avoid needing an #else clause for CONFIG_PV32.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <jbeulich@suse.com>
> CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
> CC: Teddy Astie <teddy.astie@vates.tech>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> 
> Slightly RFC, not tested yet.  (My AMD system takes an eternity to reboot)

I would like to have a test on hardware to verify that it doesn't break 
something else. With that:

> 
> For 4.22.  Found during testing of FRED.  The consqeuence is that we can end
> up scheduling while still in NMI context, after which things like the watchdog
> and other diagnostics don't work properly.
> ---

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 09:56:57 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 09:56:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345410.1604274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcgpI-0000Af-3q; Thu, 25 Jun 2026 09:56:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345410.1604274; Thu, 25 Jun 2026 09: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 1wcgpI-0000AY-1I; Thu, 25 Jun 2026 09:56:52 +0000
Received: by outflank-mailman (input) for mailman id 1345410;
 Thu, 25 Jun 2026 09:56:50 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcgpG-0000AR-Iz
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 09:56:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcgpF-008FKe-UL
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 11:56:49 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3cfb58-bab6-0a2a0a5309dd-0a2a450cafcc-30
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 11:56:49 +0200
Received: from [40.93.196.14]
 (helo=SA9PR02CU001.outbound.protection.outlook.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <andrew.cooper@citrix.com>)
 id 6a3cfb60-f399-0a2a450c0019-285dc40e73d3-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 11:56:49 +0200
Received: from CH8PR03MB8275.namprd03.prod.outlook.com (2603:10b6:610:2b9::7)
 by IA1PR03MB8097.namprd03.prod.outlook.com (2603:10b6:208:592::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.13; Thu, 25 Jun
 2026 09:56:45 +0000
Received: from CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37]) by CH8PR03MB8275.namprd03.prod.outlook.com
 ([fe80::a70d:dc32:bba8:ce37%6]) with mapi id 15.21.0139.018; Thu, 25 Jun 2026
 09:56: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=clX+AOzjzO4Kob0kkqYtKSNM0r2YR/okzT7xU5rOEDdJ+qnlZhdzzK1VbnopziqAiQKl12fYFvQ28PI+SEPrtz7qQVq4SGIv4+rcoM0MNqko9dX9FyzPvgS4MJelZvxK0lIQOVDJc8ebMoL2g+rHdxpoqaRsDRehSyBZwSTuFzSX75OX4x0w/yBjjAKrQfjCD2/SpRGT5Svc34Bmknp8mvjxGE3Rard40KF37lJdG0dPrBFkesPxNrjIHMyLB+Qm+NddJ9Tz4rQaz403KFRbxgwiGV7uh0GcW93WjW0TJttzu//w5VGqGS9YZrf37kv7t2De9C3n+DOq/iJ0j+aiyw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4K1o1md2CFFyChMQ2HaXsZ9rYQ85cZ24g+tyFgF3XNk=;
 b=qq0oDpnkWIc8bakIkrBa5uZljZGjse/+gp6SqvbhUTnZvjBea2Yk3jEKId19bJuFoqpKna7EVMOJrBc/gB8/WIhJLuAviR4d28jlogs4rqtubNeIktl64SjFNiMnzBerOOfqJeIQIWxVbez5AZ7MxhvL4LcQ5Sb8IP0dk2ZlUNhHPNlwxQjWZOknldnqfq5oEloBV9lB+2JWEqzhiK7kwyPDiTMU2kHgxTVmsmbrJjp6S8Wy1CcdKd80IRHUeen4L+MIt0zxYREbaLk040yBpPws5dTqGE/LK4jFcXb2IrGNw6lfwc67a0kRk7TIKz4E35LfzoyKOVb+ZPH7hhFubQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4K1o1md2CFFyChMQ2HaXsZ9rYQ85cZ24g+tyFgF3XNk=;
 b=CevConbLNG7VRce1h89DV58MtANMvbjQSAb7qdLTQTGAnIZ1eMoG6+iJ2ktv+jfXxjfue8mx4s8Dlg1AajFLCKtKFeCkGCDt4wLgnoGQ+qXUa2lLqf2qXjSMzXPtqum/DrMujFgKryFe8NKB//ZXf4HfLu5TBSl2HDcDwhtr1U8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <b24c7119-a668-4ca7-bb48-ebe202919b6f@citrix.com>
Date: Thu, 25 Jun 2026 10:56:42 +0100
User-Agent: Mozilla Thunderbird
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Teddy Astie <teddy.astie@vates.tech>
Subject: Re: [PATCH] x86/fred: Send an EVENT_CHECK IPI on exit from NMI
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20260624142338.653064-1-andrew.cooper3@citrix.com>
 <53950c10-8708-4122-8976-5eeb943ed2a3@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: <53950c10-8708-4122-8976-5eeb943ed2a3@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P123CA0074.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:138::7) To CH8PR03MB8275.namprd03.prod.outlook.com
 (2603:10b6:610:2b9::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH8PR03MB8275:EE_|IA1PR03MB8097:EE_
X-MS-Office365-Filtering-Correlation-Id: 2a38abe7-c13f-4ad1-1bac-08ded2a01121
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|23010399003|366016|376014|18002099003|22082099003|56012099006|11063799006|4143699003;
X-Microsoft-Antispam-Message-Info:
	4ORi9qcc1LEWGf29X6tKLi0mEEEv4s6pHAdsF5kzxtOGwWE341Pm8aDldXBjreP1uNcWkJ4O3gSd51QUaWLWwVfrzlUzw0edDqy9t3tr+Y5qIQcBlVEW6qFlVBdloV+OmQI9lwlYi7DGPWtsIOBUPSH2BJzynY6yyxTHNE3dZMVcJD/4YXQxZYilI8KezUIophPRmPToGfjo1vYr34pUGkIJKpAugUHZM4PMDT1P8iJkbRlur2an23N/fNZ1giibhgpnFlnZcG3P1wuoGtMDNgxYnMBB4WgBW2w0wR9n+DaoGskUqmBvPOuPU/T2NNvlpJYwR2wtDIJX+MCIn7jjH4ybhnUzJs+jJcklsg8qDM7FRvso+73ZrTPXZuRZyB3qb8DvQmB7RtOOzrmvQ7foEgcsjFEfeAZxsawDc9iPPmxXQfhpgnaFCOR269NQxmKauy+qht4QAYERwIzWdVTjdQWrsUyQ+2RFolLkuaIHIsr82+fKuTvTK8e+1LR4T8TPG+kcOHSoBoRyLZTuuoEvgLwCwp/cgqhFRA/DOkyoHLj2aOTEqUpxoGl0T76Ylyp9/VtsqEPcYJkGVQODyxRjlMl2qys1oxfayijUwWpwUH6gxoiXiGPLT5rqzZUpmkRFAAnYcgSdQ1rC6dBxVXva96R62v3/vdGdu59gEzWQ9eI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH8PR03MB8275.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(366016)(376014)(18002099003)(22082099003)(56012099006)(11063799006)(4143699003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZlJjcGhCbElDSjgwazN4UVZObjQ3L3I0SW5iUStsVjBlSXF6RUh1U080N2xr?=
 =?utf-8?B?V05BN1FkbCtpZE9vR2Rkc1R3Z2FKaFd4QXppRGVEQ0pPUWFZU2l4TmZxTGdw?=
 =?utf-8?B?eWcrOFNmckdMMEpXU2M1U255RWxGTmx3OTNTV3lYSlk5ZWVKQVhSYmt4WjVj?=
 =?utf-8?B?WklLNEN1VGgxeWlHT0VYMVlBbzY5WFBNQVZwNTh6dTlyWXlRYnBCVWp3SHJl?=
 =?utf-8?B?cTFBUjViQmlHZGZZcG9ZOUd5UVMvZ0txSjlja3hxNGo5SkhaVlJmV0UvSTlo?=
 =?utf-8?B?V1FtbFJ2b2FUMW0wdFRpOUg5YkFJTGN5WlM2WSs3SjI2VUhuR3VTaWw2SzNj?=
 =?utf-8?B?K1BDWldXT1hZdHZMUTNVRHQvNnVTbXVGU09IRXdtNmhoaHgyMHdhbUVJMFZi?=
 =?utf-8?B?em81eDVhN1JEYmZpNElqQ09LY3ZqYTBrNDRZSGxMQUlmZlRpVnNZdC94Yk5Y?=
 =?utf-8?B?OEt2OHV3b0hiREc5WTJuVHVGQVpBSFpGTlUyd3hwTGdhWlVxUjBUMzJBaFUx?=
 =?utf-8?B?L2hTd3AzQ1FoeXNFTHVBQU1LbERrbUxNTFc1Y1NDMVVWSlpjSHczdndjSklG?=
 =?utf-8?B?YzM5SzNyM1o1cHRzUDhic0ZFcU8raWFSNzg5cU81QVJPM1Y3SFFQY1dRbjhW?=
 =?utf-8?B?WHVzN2FVdlgwdkljdmR2aFJuRFJrdm9xaDV1d3Y1cEoyeFg2WW5jazJLU1NJ?=
 =?utf-8?B?amJGQ25TaUZOZUF3dmNRL1FpSDE5dzMyYWJMV2lXdE8wVS9mcHpOTENaK0Vu?=
 =?utf-8?B?OC9CdVhLblE2cmxncVBoZnhUMXNBRERMeEE3NFhFN0lFZ0h2dEFFZzNtb1JU?=
 =?utf-8?B?MXBibWpkLzhCT0RKUFFjbE9NL0RuOEdRZjl5bWFWcTFQYnl3RHlvS0tSMUtN?=
 =?utf-8?B?dThtamJsUWl1Q3ZUZW1TR2hyS3ZnelVRVVFaak5zSytjU1hPSW5XQkxlajZB?=
 =?utf-8?B?L0g4d0FOdzBhQ2JZLzhNNW42clJyMnFUSk90WE0zMjdTamdiaEs4SWxPa01O?=
 =?utf-8?B?U0JHMVZaTm02NXZQVVhSbFpZKytJdUdYd1hMSnBWN0xtNzhxS0ZybDRQSlEw?=
 =?utf-8?B?UjQxWHRkN2FkSlg2dVc2Y0JLaWd0eHZrRlRHeHhhZDE4dSsxS1BUcmxVeTZ5?=
 =?utf-8?B?OTBER1ZhbEQ0N2ttaFBUYitReVp2WTQxdGJ2WkRzQjkyd0FMa3RXaU42dUZ3?=
 =?utf-8?B?Z0JrUW9hbVhFWW5vZkNpUllkMlUxcjU0ZVRVazdYK0tFbTdrRGV0UWN2d0Uy?=
 =?utf-8?B?VmFydURUZGtLSFkwdytiejVFb1hLKzFMNDlib3F2bWdJZkdpWUVDU0FYRVJX?=
 =?utf-8?B?TkRzdjRXRmE0cmdPMEozdFpGRERDUEpSM2ZyMkRVdWNqQmh6R0hIUVJFMGJ4?=
 =?utf-8?B?ZkJNbk9WZDRSVytzTDNYZzA0T0FiQ1pxdVFBenVENWR3VHhWUTVPSEYyandt?=
 =?utf-8?B?blBNQk9xWmhMUE1ZeU5hY0wxRGdIVjVCS1NmbXFyRW9DeDZycXNtdjNSN1FG?=
 =?utf-8?B?NU5IZjFPYkVsL3MyTW4ybEY1NHFkVWJrMHZmSXlUQ0phMEExS2dsY0RUbEJB?=
 =?utf-8?B?Z2dhT2xyQURHdXo5TlNITnFtK05RT1Z4cDFMTVg4WUZqQnhuRXQzV3BDZThs?=
 =?utf-8?B?b3JwemhBem8ybTIxRE1RMUhRZE0yNEduN28reWxVL1JtTTN6TzBtUnRjUEVZ?=
 =?utf-8?B?OVhvNjc1UDhqOERxWjZoKzk4R3Fma0FCUU4vZ0s1UDVkRkZFbkFMOGhTQ0Zy?=
 =?utf-8?B?U1Roek90WnJJZjB5VDZWZ24rR3J4UG82RTNSamV3KzNZS0dIZ3M4Nno1ZHJy?=
 =?utf-8?B?RWxZZktiajJYZXI2OHNmR2JQbkRzRUEvMlhaa3d4NUROVzkyOW5HQzJ6V1Np?=
 =?utf-8?B?Y1VFaTczcExrVHZDNjY2b3pVZ3hxQ3laNm84UHk1Y1M3L3Z3bDdUT0Z3OTlF?=
 =?utf-8?B?WS9lWkVTY2k3emI0VGoyZ2gyRFcvVmRmRUlpUVB2UmFlQWlUakJVZVlWZFBk?=
 =?utf-8?B?WVUra2ZlZE8wN0loTnJTU20wOVkwbzdYRDk4aENlM2VoK2F6SXRMaHNaaDN5?=
 =?utf-8?B?Mkh4ZG1iRGlpVUltdUMzaXRraTZCd1doZXpWTXBHUk14QXduMUR5SWpDc0JL?=
 =?utf-8?B?VEpSUXpydjZKYUF2STlDbk9FTVBXaEdaZUNxWjNGWXVncU0zVU9UbHJ0UXRm?=
 =?utf-8?B?SjlYYlBWTzZUN0NsdnpZUnZoUFV0dVdBcG5DelZ2Tk16NHdGYjZQS0NuaElw?=
 =?utf-8?B?UldxK08vVGYzRUNXTFpmUnJraHRZMFpzNTg2YVN3eGlnNmNZaENMWG5Bby9u?=
 =?utf-8?B?bzd3OWFtTVVjSnQxRENRUnRwc3V5SzYwbWxBOWw1UTBrbmh6aU1QUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2a38abe7-c13f-4ad1-1bac-08ded2a01121
X-MS-Exchange-CrossTenant-AuthSource: CH8PR03MB8275.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2026 09:56:45.7749
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kkqxFLJDdSia3gg8pRRF5OkTSf/M18JEdLd6+fz6lU4yQiJfbxfvbwjh/H6OkZmbsPzJ401CgYJbJvpOF38mQU2h7iosiqzPemC88A7E44Y=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR03MB8097
X-purgate-ID: tlsNG-d25034/1782381409-92B3DD51-7A48E3E6/10/73395122804
X-purgate-type: spam
X-purgate-size: 1330

On 25/06/2026 10:53 am, Oleksii Kurochko wrote:
>
>
> On 6/24/26 4:23 PM, Andrew Cooper wrote:
>> Returning from an NMI which hits guest context needs special casing
>> in FRED
>> mode just like it does in IDT mode.
>>
>> Break nmi_exit_to_guest() out of handle_ist_exception(), and use it in
>> entry_FRED_R3() also.
>>
>> Expand the comment a little, and invert the conditional jump to
>> compat_restore_all_guest() to avoid needing an #else clause for
>> CONFIG_PV32.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Jan Beulich <jbeulich@suse.com>
>> CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
>> CC: Teddy Astie <teddy.astie@vates.tech>
>> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>
>> Slightly RFC, not tested yet.Â  (My AMD system takes an eternity to
>> reboot)
>
> I would like to have a test on hardware to verify that it doesn't
> break something else.

Yes, just confirmed elsewhere on this thread.

> Â With that:
>
>>
>> For 4.22.Â  Found during testing of FRED.Â  The consqeuence is that we
>> can end
>> up scheduling while still in NMI context, after which things like the
>> watchdog
>> and other diagnostics don't work properly.
>> ---
>
> Â Relase-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>Â 

Thankyou.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 10:08:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 10:08:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345420.1604282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wch0d-0002SK-3A; Thu, 25 Jun 2026 10:08:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345420.1604282; Thu, 25 Jun 2026 10:08:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wch0d-0002SD-0X; Thu, 25 Jun 2026 10:08:35 +0000
Received: by outflank-mailman (input) for mailman id 1345420;
 Thu, 25 Jun 2026 10:08:33 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wch0b-0002S7-R7
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 10:08:33 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wch0b-00D4yZ-7d
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 12:08:33 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3cfe18-e002-0a2a0a5209dd-0a2a4501adb8-38
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 12:08:33 +0200
Received: from [52.101.85.39]
 (helo=BYAPR05CU005.outbound.protection.outlook.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3cfe1f-400f-0a2a45010019-34655527ecd7-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 12:08:32 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by PH0PR03MB6335.namprd03.prod.outlook.com (2603:10b6:510:aa::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.16; Thu, 25 Jun
 2026 10:08:29 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0159.015; Thu, 25 Jun 2026
 10:08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=QZXJ8o7HtCWJCt6jI5FpGHo+m6+b1PbFN125hMtDl40drZdDsQC5khRp51N1Y5leFi03NDZ2WtpsQ9JpffYJI6VFTlxK1ObgZTcUXQert4rIVBYs4HBd+iBgT1zRDY8Xv8QdVWV/0O8BAzXm9al1bzH7/Qjbt1Nii8yv12wN5S1sMqeAsIWGW1k9q7GdBTxa/WT+NjMhy6HoDszdwa7xhop7LIovmBifuZTg1z81jvaoz8CH8YblL9tlNXUmsYy072e5skOVotQVep+weo9Ce7OxQJ2bmB+d4xMvezswZQ1BmeOV3ZKleHXoDMtikdF/iay3bAGB1wSVDnLx3HVxQA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4LiqmLRnTzxqyK4VsYEs4YJ+niQ6u4TWLFbYGpPfmC4=;
 b=iXoPPKiWOvqMb4xeeCNy68Ti7xQL79ZTfJw2W5GgzZnxzz2dSTk5IU297Lu2+oRM487O13FHdbScGifGAoCf0/2GKDcRtgQsuM2k4ze1fGG2H4IUHrcfgSY1WLn5i5p46d0P6slyitClqzSnlLsJ6igOOYkmcLtqgrp49K3UrK8JEe+GX6fkvMgapH7VA/x+HHQ5CV9S2oiVD0WsYtigTbYkd0XDXBAr9l2pDUvFpJL2kxp6RSwPXL8AccAvS7Iu8ACAuV/pT26E32XC7wJ8845n7HhK5Mw/5lf1kgH05PJFvbN3Qkz77CPlJb+cyoJI13F0zHDEA7VyCStH7jtLVg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4LiqmLRnTzxqyK4VsYEs4YJ+niQ6u4TWLFbYGpPfmC4=;
 b=NcJCdA2FWiaanzpMa1darIFDYQ/+JxTSCrzpNC2hw2m4A+7auY+3v9KCRZTOifc67kEXSMQTpCAF4uSyEuGaBqgcm+dbdB/W1Dh0/yLB6cqRp2HbcA3nWRRp0ilSFT3QWh/m3CNmxo5LsUMoGfm7aoGsKcbcGFrtgLmP3/0S2dc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 25 Jun 2026 12:08:25 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
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>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH for-4.22] char/ns16550: bound execution time of
 ns16550_interrupt()
Message-ID: <ajz-GVoEG4toMs3P@macbook.local>
References: <20260623103145.76383-1-roger.pau@citrix.com>
 <06c8caab-4722-4b02-991f-bdc4a4ac0ea6@suse.com>
 <ajqVNtt02XMUGk-X@macbook.local>
 <cdf9f154-896d-4faa-8c76-ca15cf5e706e@suse.com>
 <ajqsQr-bhf4SGf8Q@macbook.local>
 <d7920786-7424-4634-80f0-994ea2857d1c@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <d7920786-7424-4634-80f0-994ea2857d1c@suse.com>
X-ClientProxiedBy: MA2P292CA0015.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:1::12) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|PH0PR03MB6335:EE_
X-MS-Office365-Filtering-Correlation-Id: 06e96d17-c63f-4cc2-c5c8-08ded2a1b448
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|23010399003|376014|366016|1800799024|6133799003|11063799006|56012099006|4143699003|22082099003|18002099003;
X-Microsoft-Antispam-Message-Info:
	LIusd/xdnVgDocdW49Lf/rg44HZ6hiCfsR912EQ44KWvTFmaWAV7hcaV5/EBiyM9ouIlU5zDN16MebwLYfo6/WhNwCcHxCSxuRGTltgyZyDvai3AzFzVgkEBMVEx5fJDRtVJQg2R5cHtQrclF1Z0L3UWEuu6jmtIjWGXnHi0nom+ScGo65MgkzIoEdH+OnsQ886Vg2p295juKy6tANgEa62ch5SmOGYNDCgfZy5I/HvLVMX3weoNhl0tDk8n0CiYbwCydGSPSVjAz77wzJLATfCRYZHBQ3BbocJefk+pBOTqbEB6tAR/Z4UDo4cZz8/ed4iGXZl7T4gzlAMo2MHfhhhk+O6K/i3F6MEm3HBRZsw0TmRmv1cVvp3HcOLD+VD3p+JyZK9EGrBZ2kR8o5JtXWr3/sU1XNMisQtIzoTGxC9YaqdM21fQbjNdlXZPCclNx6MHP1cv5c3AoW6qL4vKhiUox11ikX96tcNHHWZr9nBB1KutGDOE5LwdugGGUniO/pc/5+H9vaF/ReHrvk+WGT92ESJkO9i1djqnPFCoB49d6OaLi8IegaYzamuvLWvgdw1lfd5c+rty3wwhDUCHJhboeaGtMun1AejSI9SuXeNsV2WCMHe1OhWF5Q/U+n8Eu/MC+bIBb94euqVIg2p22HnlNhuwD27yCQuHBGPKW5Y=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(366016)(1800799024)(6133799003)(11063799006)(56012099006)(4143699003)(22082099003)(18002099003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M1I2Sy9SdFVib0lra0pvTVRHeFJkMi9qaXVFRmZFWkFST05kSGtXejhNQU1K?=
 =?utf-8?B?T3hOR29kMUVqcFlNYmtOUThWcXlOMzFxK3ZYUnFKOFpFMVBLWDNiNDJXMTVn?=
 =?utf-8?B?RXA4aHJPck1OUGxpNk1OSnBhVlhmYjR2Znc1dFluR2tDOHNhU1d2QURnMW40?=
 =?utf-8?B?dktvbmFpeHlsMXg5T0hhd1hTbHpsTFh3NGh2ZnpKcjZ1TUljM2RxOVNlWlE1?=
 =?utf-8?B?dDZSRkZGYnBwWHYzTWZ0MlQ4dlVOUnRtbjMzaGFEdDR5a3c0STVQbnVMVWhG?=
 =?utf-8?B?QmVyWDJRd0dvMk80ZjJpZ0dIN3RBallJU3F2MWtxSCs3UkNsWTFiUUhlQmZ5?=
 =?utf-8?B?OW1PcS9tUndVSEFnSitTb1QrTjhtQkc5VU8vc0pVYmFhT0tOeXhZVGV4ZkJX?=
 =?utf-8?B?K0s4RnF6ZXltRFZtQ09DVGovVU5MSkh6bWdxcEViRVUyOGpsUUlJZFB2NkxX?=
 =?utf-8?B?VjBXN2M0WVh6dXJOMndwZCtUWE9QUGMwUFhVS2JnYU1CS1pOVmkxbHY3Y1dK?=
 =?utf-8?B?QWtoSnpJakNHZWZZUk9meXhxQTBzT1JFdUZGWStIWDlkTWZJNXJMZWdSYWlP?=
 =?utf-8?B?WnFKRnlpVlNYbjVrQ2RFS0xaOVJ4WXBTZ09BdllVMHlySG1TVnlaVmYvUnlI?=
 =?utf-8?B?VHZmWmtBSW1WSTFRNmFYY2pLeEJtSXM1SUozaTNiaDF4RGNTelMydWZXM3NH?=
 =?utf-8?B?ZmpabDJKTktTQnpodWdnYUxyaFYzVGVIUjJiUzR2djI1Y21OZS9aT3J4VVBP?=
 =?utf-8?B?LzFuRjUxVGgvSXhMOTZrcmY3bXhZVkYranc3cklNR2l4OExKMHM0MkdoRDhB?=
 =?utf-8?B?bzdQY0I2azBTRngwS3BoemdoRDZBalEyQWZzQnFHdEZjVlVEQkdJYUpNeW9Y?=
 =?utf-8?B?VUgvWEV0MlVZeUpGUlZ2YWFURE1oMWJVK21mK3oyWGorb0pJem9BQzVteDJt?=
 =?utf-8?B?czJFSjNmeHM2bW5qY0pHdEZnTHErencvdDRtRk0vZTNITjZMWlZvZFlMQTlM?=
 =?utf-8?B?RTdKSDhRZmp0YTdLZjBTQ2l0UXlqK1A5OGhmOUlXL1IwRjdVWXEzRmZ2Zlpk?=
 =?utf-8?B?QmFRVWhHWGpvZmdkZ0JmN2dnbXpzcXlHR3NBQVNmZ2tUSDAzWk5sMnBEZk9N?=
 =?utf-8?B?emRJRjdiNjR0NU9DWWVkdEl4WnlvZUg2N3pvN1NMUncvNmxuMmo5S1QwMGd6?=
 =?utf-8?B?SjFLaWlxZ3UwekN6cEZ1Z2owb1RlR3dCc3VPYXZnOGI1N1Jra2EvVDV6S21M?=
 =?utf-8?B?VjVxTEFDV0V2R256Y1NQNVMwWkJVaVN1RitFQ3BRUHJqTkNwSzZZaHg3UXI2?=
 =?utf-8?B?ejdZbjNoQ0UwdVlSRWo0Vk9vTlpZSFVneVlZUFBYTFdBZWNHRkJmbnY3YTRU?=
 =?utf-8?B?Qm1yVENmZFRKdEhDNlFIc0FQaWJHVUFjQ3FoTUxzZnQyOE1kcDd1Y1cyU2V2?=
 =?utf-8?B?cnhGQmZXTmZkOXQ1c2NFN3c3RkFIWTRxZFdLTFpyMnZRVE9zaTEvSSs0K0Rm?=
 =?utf-8?B?eHEwRzFSaFllM3NXamF3eWdnYnkvS1FFREdXcXp5WU9qUjJYU1RyUVN0ejFv?=
 =?utf-8?B?d3pRQ2x3bkkvcDBuM1M3MEhycFpHcEZBQmFnRzdpK3R1MlMyV1VXQkJnV1RC?=
 =?utf-8?B?WVM4NXNLazlnY3BXM29PbkU2VDUzRUxjYnpySUtuY1JvYXFRejlsRm9MT2pF?=
 =?utf-8?B?S2FzUDVhR3BLUUdITUk1Tkpac3JJalBMY1crQURUQjE2blhKOUQyY2hIaGg5?=
 =?utf-8?B?S3NnRzNkQlVVWjZPaFNnbjZmMDlGL0hVWUpCRlJ6Rk9LaEd2REIzS2pSbFVo?=
 =?utf-8?B?Q2R6Z3kvTkFtQ0RTbktGTkJDd2tCTjVqem82aDcvTVA2S21rQ0pSRk5ZQXUv?=
 =?utf-8?B?M2E4NXFxVUlVajhMRDlrN1RFOHhYM3FLcWUxZ0NMUVZxM2VDMzdRU3Z4ZmZw?=
 =?utf-8?B?cit4K0VvTWhXZWZIMlV1YXB2TjllWmtiWmtGQUNwcTlldm50TE92cEFwK3I2?=
 =?utf-8?B?ZkRBb1c4NEV4L0JGSWtLNXlBelZFa29CMTJwamsrSEJ4dGYxdlRhZE1YTStW?=
 =?utf-8?B?R3BDT1V5bjVFY0xYV2toOVRCcEhYMTBQQnJCRVM5UEVmZTRKcllWaUI2QUl6?=
 =?utf-8?B?dDRCQ0J1aDU2RmR1aVFDaklxL2FQalJTVFRCRGdYV1RHNkVYZHFEYUo4WnI4?=
 =?utf-8?B?bHorQ1hUOXcrTkVMYzMzYU9HakhKMmo4c21vZkZRaVNmQW92UmE3akp6aGtR?=
 =?utf-8?B?RGJCakFWNGJZbFUvQ1BpWk5GWnZBMW5ScnpOU044MTU2NWVTbE1BWVlzSTlN?=
 =?utf-8?B?dWgwTGs2bUE0MENZQlpVZ0JrWGlmbmwrZFF3L3NpWjNmcDYxS0tXQT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 06e96d17-c63f-4cc2-c5c8-08ded2a1b448
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2026 10:08:29.1368
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YwFcOoOFE35XwoUTjuVkP2xIDAKhLT7P71//GWkHrT2C5ryiIirkljMTpe/UiVv+gtScIGrCnqAGl3e5oJcMmQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6335
X-purgate-ID: tlsNG-d62444/1782382113-820DC1E0-469107C9/0/0
X-purgate-type: clean
X-purgate-size: 3096

On Wed, Jun 24, 2026 at 10:01:36AM +0200, Jan Beulich wrote:
> On 23.06.2026 17:54, Roger Pau MonnÃ© wrote:
> > On Tue, Jun 23, 2026 at 04:27:12PM +0200, Jan Beulich wrote:
> >> On 23.06.2026 16:16, Roger Pau MonnÃ© wrote:
> >>> On Tue, Jun 23, 2026 at 03:44:06PM +0200, Jan Beulich wrote:
> >>>> On 23.06.2026 12:31, Roger Pau Monne wrote:
> >>>>> +    if ( uart->force_polling )
> >>>>> +        return;
> >>>>
> >>>> As the IRQ was disabled, is this even possible? I.e. should this be some
> >>>> kind of assertion or alike?
> >>>
> >>> Hm, I wasn't setting IRQ_DISABLED before, and hence needed this guard.
> >>> But now with IRQ_DISABLED being set in ->status do_IRQ() should filter
> >>> any stray interrupts.  I will attempt to add an ASSERT_UNREACHABLE()
> >>> here.
> >>
> >> Simply ASSERT(!uart->force_polling) should do here? It is not wrong to
> >> run the code below in release builds in such an event. If we kept getting
> >> interrupts (perhaps at a high frequency) we'd be in trouble anyway.
> > 
> > No, I'm afraid I can't do it like that, I can't put an ASSERT there,
> > because we can still get into ns16550_interrupt() after the interrupt
> > has been disabled.  In do_IRQ() we have the following loop:
> > 
> >     while ( desc->status & IRQ_PENDING )
> >     {
> >         desc->status &= ~IRQ_PENDING;
> >         spin_unlock_irq(&desc->lock);
> > 
> >         tsc_in = tb_init_done ? get_cycles() : 0;
> >         action->handler(irq, action->dev_id);
> >         TRACE_TIME(TRC_HW_IRQ_HANDLED, irq, tsc_in, get_cycles());
> > 
> >         spin_lock_irq(&desc->lock);
> >     }
> > 
> > So if the device is generating further interrupts in the window with
> > IRQs enabled (while we execute the handler), we will keep looping
> > around this, without taking into account the setting of IRQ_DISABLED.
> 
> Ah yes.
> 
> > This is something that we might want to fix, so that the loop is bound
> > by IRQ_PENDING being set, and IRQ_DISABLED not, ie:
> > 
> >     while ( (desc->status & (IRQ_PENDING |Â IRQ_DISABLED)) == IRQ_PENDING )
> 
> Or perhaps ahead of the loop
> 
>     desc->status &= ~IRQ_REPLAY;
> 
>     if ( desc->status & IRQ_DISABLED )
>         goto out;
> 
>     desc->status |= IRQ_PENDING;
> 
>     /*
>      * Since we set PENDING, if another processor is handling a different
>      * instance of this same irq, the other processor will take care of it.
>      */
>     if ( desc->status & IRQ_INPROGRESS )
>         goto out;
> 
>     desc->status |= IRQ_INPROGRESS;
> 
> thus also having the comment no longer describe only part of the conditional.

I think this is racy.  An interrupt hitting in the window with
interrupts enabled ahead of the handler having set IRQ_DISABLED will
still set IRQ_PENDING, and thus the loop would get executed a further
time, and the handler called after IRQ_DISABLED having been set.

I think we need an extra condition in the loop, I see no way this can
be solved only by dealing with the concurrent setting of IRQ_PENDING.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 10:15:29 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 10:15:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345431.1604297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wch7D-0004FE-UE; Thu, 25 Jun 2026 10:15:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345431.1604297; Thu, 25 Jun 2026 10:15: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 1wch7D-0004F7-Pc; Thu, 25 Jun 2026 10:15:23 +0000
Received: by outflank-mailman (input) for mailman id 1345431;
 Thu, 25 Jun 2026 10:15:22 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wch7C-0004F1-QQ
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 10:15:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wch7C-003IJ9-3j
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 12:15:22 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3cffb9-5cb7-0a2a0a5109dd-0a2a4508e1da-4
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 12:15:22 +0200
Received: from [74.125.224.54] (helo=mail-yx1-f54.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3cffb8-edec-0a2a45080019-4a7de036c5f3-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 12:15:21 +0200
Received: by mail-yx1-f54.google.com with SMTP id
 956f58d0204a3-662b76dabfcso2258086d50.1
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 03: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1782382520; cv=none;
        d=google.com; s=arc-20260327;
        b=qSz/2IkQ0OeaFarbwCXz8xLMP1rzOPaBVIxYXMrUSJTUH0HmrET+zpzermYctb8Vko
         Jd5Ie4yARxgoUK6iNr1JOmViIpSJVJJmqFxZhia0GqmeQclGJluV/2IaNYYtWTJGiYFM
         ZJvvMMd9FwNwDWD2auWTbMpT3068GW7HXn3OfImHefRwJqaOe6ukRbA155MOMPZvv08w
         x7CQjygfHfArbRIt1vdBtasIvJHobLyERR6UI+tWPNdcSNVItE/wmZXWUiVSzmStJg0k
         vLaj6d4AZcLa2lkvTc/SGGS1c55y1hH64QY3Yv/WlIXrmzQ9K2J+VhxvxnxrbnXiW4z8
         SG2Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=rJMz87qcV148+hDePpnfbNzyQ+RUWqyNTEgcxV03/Ss=;
        fh=7tMtp6uEeXxjORmxPocc/AXK2doTA2Uq8+EKLOU+wQ0=;
        b=JBz0Fw+JGsAXdcfzrShXKy44zumtiUouVBryUYVedn5qQetYciGZI8MTaf4dzD12yO
         HfwVxGRFfP4D2w7Vy5q+RcYZy2Si/jrW55htXBjCrlHsqP3N+bpAOvxx/78FCRy8pWjZ
         KIl6HgP/ucTuT3jkTcmEt861VN4+2kpqkDW3iucma9BSNq7o9n/Q9FQqNwXv6BK1ZBsJ
         mGFFJFMuJYLkhRB8ekAn2pq1FDQfLMpMvyx8HgfTjwajB8pd2sP0uUFcNsiQtfObIMvV
         IP0WkWsWafmvQDX2t1xsXlRpVxTUhMbwT151EoQM8OpwVyX39HBOAeqTUvKQM+SdtRUb
         R3TA==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782382520; x=1782987320; 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=rJMz87qcV148+hDePpnfbNzyQ+RUWqyNTEgcxV03/Ss=;
        b=axNBEGRFBPODoARTGwNaRvCorTl7WqAWO8Or1IW2ppkO3IrFJCwgg+p5Y2k0oHb1it
         7ASUkYibMmYhAEHipqZ2xU5U7NovnOZ0MKkNvmHbizXrY64P4TVZMYcKhQFvEDotmmzk
         t4hZ2Pm1azD9Gf5OoPk0iUlFvMuePCfAhae6/fNzukc6ttOahuCA4YAyka2OxpY33Zxf
         FoQTP1kTj+djvMSeJKuuqvh3T0uQIgvetHxc2VSBA+b34htbgMw59KwfABwdSKefyiTX
         2bAgnVANJc9V51jXW0VyfGZd10kuT4Ea/uDhM9tW39LaoydOeFnMBtY6hpfsk+i5uB0Z
         3HLw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782382520; x=1782987320;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=rJMz87qcV148+hDePpnfbNzyQ+RUWqyNTEgcxV03/Ss=;
        b=fsh2tXTs9JzaoUxtEYyVE35UyO892kw+78KSJukD6rJhpKiv0vnpOqpC72SyWUkDUj
         8EnYtHbyPRQ2RqBL52/vUfSUvAKjVYeBPrnczeP9y6+JRrQBGui1VgJT6bXTA08zSNPt
         qyVXdsfpERqWqMd9sy7awyKzRIsTyBo9tDY19HHDBmODajQtXU40mnmSrZc4HLDVOx8N
         q7XFEBaTf9FvaqMtzaiNo9FN8xhrHYiwwaZuDxnHddUl5fbxmHafdWbCCenmR5m095fA
         +SdBnbu9f19ZkcCGYstfwRCss8YC1djTQwxqmPNpgGrHREf2UtPCNBf/i0kTj105YWnT
         7dVQ==
X-Forwarded-Encrypted: i=1; AHgh+RrAyyjXeG5yDN2mLTnhfx7VnwKgQgDJBX5gMPnK8PviPSZ4JMOMHhWsulHRSgd3ISfKPr5lnFmZYp8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywh9sxpk+lZidA4bNdFuIsMMz6+0NaFrkpiJCU5zn6CIGUncnRX
	/a4aleAqkvFwQ5+1iOsu57d+8tkxManu9OC0Q9yHjPiU/fKY9BQT2F1ki6SJod5zEINx5Acp12w
	/MYOhWNqxhCejCgKnCjUNhSuePVH1fjs=
X-Gm-Gg: AfdE7cl6IpWw+eMNcxsYntR2PRVJu/FKpTCxovcNyHo36mSs20PgEkMpJXyL+L0eA/Q
	wAg0y8alIMi484f2ctBh+PnErx5vgP0T/btxGIpLfoJB1q7x0dzuMoplaPeUMbkg5zJVcFZ50Ae
	CVidsKIWIZWJnrIa08FJ3Jk6yGimJYGkg8iy6JKrpAgLaNO8mlSEGNfoaz58biSmnljGxQS2/xW
	/Jttc4fptMTpUtOLNHYkmb+thAh+7QdotkT5RlIN03iRo5YgR+1QF/u8CVKMq08MkEdSeidOX81
	IJZGeD34FUpBguG9RzcE5kw=
X-Received: by 2002:a05:690e:4087:b0:663:21f7:2d72 with SMTP id
 956f58d0204a3-66487f0ec2bmr1343760d50.60.1782382520006; Thu, 25 Jun 2026
 03:15:20 -0700 (PDT)
MIME-Version: 1.0
References: <20260616172830.111393-1-frediano.ziglio@citrix.com>
 <20260616172830.111393-3-frediano.ziglio@citrix.com> <070ff282-5ee4-4c24-b0bc-92d187c40dd9@suse.com>
In-Reply-To: <070ff282-5ee4-4c24-b0bc-92d187c40dd9@suse.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Thu, 25 Jun 2026 11:15:08 +0100
X-Gm-Features: AVVi8CfieW3_p2OmHBM1qOOgAMJYC5TuLWbCWEAWsxrmYa4T1hOvTFA8NnZ38So
Message-ID: <CAHt6W4de1ddW_xMWhbJ15vA171tuHVGJu0TO0bAH845EDQN4gg@mail.gmail.com>
Subject: Re: [PATCH v4 2/4] x86/efi: discard multiboot support for PE binary
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Teddy Astie <teddy.astie@vates.tech>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Frediano Ziglio <frediano.ziglio@citrix.com>, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-c1860d/1782382521-40F2A3FC-B489E871/0/0
X-purgate-type: clean
X-purgate-size: 2848

On Wed, 24 Jun 2026 at 15:18, Jan Beulich <jbeulich@suse.com> wrote:
>
> On 16.06.2026 19:28, Frediano Ziglio wrote:
> > From: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> >
> > Multiboot and PVH booting are not supported for PE, hence discards them
> > in the linker script when doing a PE build.
> >
> > That removes some relocations that otherwise appear due to the usage of=
 the
> > start and __efi64_mb2_start symbols in the multiboot2 header.
> >
> > Section discarding is not done updating DISCARD_SECTIONS definition as =
the
> > change is specific for x86.
> >
> > No functional change intended.
> >
> > Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> > Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.=
com>
>
> While on the surface this looks okay, there are still concerns:
>
> For one, this also discards the PVH entry point. That's technically fine =
aiui,
> yet shouldn't go without mentioning.
>

Considering that the code/data is not exported in EFI as

#if defined(CONFIG_PVH_GUEST) && !defined(EFI)
  /*
   * In principle this should be fine to live in .note (below), but let's k=
eep
   * it separate in case anyone decided to find these notes by section name=
.
   */
  DECL_SECTION(.note.Xen) {
      *(.note.Xen)
  } PHDR(note) PHDR(text)
#endif

yes, technically it's surely fine.

There's a mention in the commit log:

    Multiboot and PVH booting are not supported for PE, hence discards them
    in the linker script when doing a PE build.

But not in the subject:

    x86/efi: discard multiboot support for PE binary

What about simply changing the subject to:

    x86/efi: discard multiboot and PVH support for PE binary

> Otoh you discard call sites of functions without discarding the functions
> themselves, violating Misra's "no unreachable code" rule. Eclair may not =
be
> able to spot this, but imo we should still adhere to the rule. Proper
> coverage analysis, for example, would likely turn this up.
>

That makes sense. Given that most code in head.S is now discarded most
data sections are now not used and the only thing left will be the
trampoline.
It'll take a bit of time to search for removed symbols.

About the "no unreachable code" I think we are violating that anyway.
We package "built-in.o" files and then use them to craft the final
executable. I don't think the linker will be able to discard unused
functions for that reason. That does not mean that more things can be
discarded.

About discarding more (I think a bit out of scope here) for the EFI
application I don't think we need BIOS/EDD code. Not sure how easy is
to do this without having 2 objects (one for EFI and one for ELF).

> Jan

Frediano


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 10:50:35 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 10:50:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345447.1604305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wchf1-0002uU-E3; Thu, 25 Jun 2026 10:50:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345447.1604305; Thu, 25 Jun 2026 10:50: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 1wchf1-0002uN-Ag; Thu, 25 Jun 2026 10:50:19 +0000
Received: by outflank-mailman (input) for mailman id 1345447;
 Thu, 25 Jun 2026 10:50:18 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wchf0-0002tC-DS
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 10:50:18 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wchey-0051Ut-KU
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 12:50:16 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3d07e7-2eae-0a2a0a5409dd-0a2a45078f0c-10
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 12:50:16 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3d07e8-9c8e-0a2a45070019-d1558030b033-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 12:50:16 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-49249707788so11008945e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 03:50:16 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492660adaecsm56246185e9.5.2026.06.25.03.50.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 03:50: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782384616; x=1782989416; 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=/VbRxrhkkvQ69KcDgyWBeAh/AWDqsTD3yHTB1dbJ6Ro=;
        b=ThWc3B0MHSBnxyD5Q9lEjjWLE+mtYFSahqcvlwAybVensARtf0H8Ifo6e+qWENL9r0
         PjtR5rIarzvSZ46+PN7nOp9JUL5XioZa5kBcnXwP7lfWm4RRP0gZ8IgYS03aFcerPDgU
         lyJOI5lqTg5CLaBPOyud8tOsOlXOSDYAbglVdzJfnUQmkA/Hj5u3xw4FuC7eT9DTjPaD
         RFyWpqf8fB6+Jt4n2FFf+T0m6PfTsexSTkGthmDNkhIvymASUfuHxuy8g32536RFR0T/
         E95CXqEoDLSPwliV36olf8N9Zycgjy05QRTfGDEiL3Q/gxRDozumqV+uAZqUCJPtZSbZ
         aEFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782384616; x=1782989416;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=/VbRxrhkkvQ69KcDgyWBeAh/AWDqsTD3yHTB1dbJ6Ro=;
        b=dx3gJBkXcUH3i//FlG7WehzuxRmo9hF9qZNhkrMRjp4B42UpME/9eojtFY9ryR+qdJ
         algOoN1mrQ7y8+f+fUPmvFFkMoriYnTyQcwer5hrnRHukvkRQ4pHChrXLI+QEUfXtDnP
         vp/pN5LWqGSwBvUDNXQNoRxmeY2JR6Nz2gY/J0mzyoFUPVMDCj/4l5Xof6cG/9QNvazP
         5tCoLi8jvxueJG66Sqgil3tX1zdoSYIB9NC7g8ZgBtaJy9iWa4TjcizZwCXJkc2zTuTq
         Wr4No6fVJx5DoQ4+BUBtM2fNNswWHJgY1WUs51bqcoHLq/bO43kxkVY/UnFq6aqW4GqC
         u7Ug==
X-Forwarded-Encrypted: i=1; AHgh+RpJ/lS8eJcKIqL46RKcARX+YbB+1U9bVKq/NeMLceeA4xaodIPNZso7zG05wlX4bSyzrqnpmG6ZDYM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwHNpCov1AXrpd8g32M3cfumHY1fLtfHeam2p9Vk+Ti6/tHhSyW
	6Jfegdyy7Dy2fNpjbbj/PoFMPqeTNtbzHCzpxN1qjp1NBQ2d3JxRpqHR
X-Gm-Gg: AfdE7cnO/pSefsZUjvlQd5+h1/x9OEe9wvsiK7AYsgdXbpAKZNWst9Cd14SQgGjHU9F
	zSFVNavOmtz2u/bzqqK3qtCYDcphqSZBYwinKh6BBKkXv4Pkdk2EIlBieayQsET0SBwMh+cOztT
	tnUvkGswGTqO0FRg/xmPWF5SIt9H8RkbBcQGINHs3ebYWxJTI9HuCGGTBbQ9lCF6Tno3rrR1kk/
	Ejij/JJ3xwlHjAfpJT1tBjHQum4tyAx6vdfJe4o0pwOSc9e/xFxRa7vss3v2FZ3CpFEGrjTEG4i
	iOPgf/Ex5+harfEoN1UJZdFE+MktyLy2c1SmtgLlxScnbcHPizssz1Ryx9o4LHdJcLkXsYxBGKy
	EVry4/qpQxFr2HRb4RikMjoZLjCWb6+1M4engDtbkuXCpjLnwGluBaO7iVfGqFIsydPLWBd5vMl
	9vBWKbS/YEubcaOd1jlg0nqtChJkz7njNo+ZUz+lMJVlH+Ltr2hVoAx/RlBugWacJaWhQ=
X-Received: by 2002:a05:600c:c4aa:b0:490:b189:212d with SMTP id 5b1f17b1804b1-492668a83dbmr24226115e9.33.1782384615899;
        Thu, 25 Jun 2026 03:50:15 -0700 (PDT)
Message-ID: <910ed097-10d8-41a2-9035-a3f10d60c214@gmail.com>
Date: Thu, 25 Jun 2026 12:50:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/2] xen: introduce CONFIG_HAS_SHARED_INFO for archs
 without a shared page
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>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1780494838.git.oleksii.kurochko@gmail.com>
 <7ed7b888e203b7cc6c3a3a82b3bcc89d90b3fb48.1780494838.git.oleksii.kurochko@gmail.com>
 <d63a3877-286a-43fe-97fa-301985c3a0ac@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <d63a3877-286a-43fe-97fa-301985c3a0ac@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ef75cf/1782384616-7D72125E-721C110A/10/73395122804
X-purgate-type: spam
X-purgate-size: 1565



On 6/17/26 3:26 PM, Jan Beulich wrote:
>> +#define shared_info(d, field) \
>> +    (*(typeof(__shared_info(d, (d)->shared_info, field)) *)shared_info_absent())
> How about the simpler
> 
> extern struct shared_info *shared_info_absent;
> #define shared_info(d, field) (shared_info_absent->field)
> 
> ?

This could lead to compilation error:

common/domain.c: In function 'vcpu_info_reset':
common/domain.c:316:20: error: unused variable 'd' [-Werror=unused-variable]
   316 |     struct domain *d = v->domain;
       |                    ^
cc1: all warnings being treated as errors

One of fixes could be just drop usage of local variable d in 
vcpu_info_reset():

diff --git a/xen/common/domain.c b/xen/common/domain.c
index fba8e9161937..d3b0bd571609 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -313,11 +313,9 @@ static void vcpu_check_shutdown(struct vcpu *v)

  void vcpu_info_reset(struct vcpu *v)
  {
-    struct domain *d = v->domain;
-
      v->vcpu_info_area.map =
          IS_ENABLED(CONFIG_HAS_SHARED_INFO) && v->vcpu_id < 
XEN_LEGACY_MAX_VCPUS
-        ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
+        ? (vcpu_info_t *)&shared_info(v->domain, vcpu_info[v->vcpu_id])
          : &dummy_vcpu_info;
  }


OR shared_info() defintion should be updated to:

#define shared_info(d, field) (*((void)(d), &shared_info_absent->field))

IMO, an update of macros defintion looks a little bit more common.

Which one do you prefer? Any better suggestion?

Thanks.

~ oleksii


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 11:04:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 11:04:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345465.1604318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wchsn-0005wC-Jt; Thu, 25 Jun 2026 11:04:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345465.1604318; Thu, 25 Jun 2026 11:04: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 1wchsn-0005w5-G4; Thu, 25 Jun 2026 11:04:33 +0000
Received: by outflank-mailman (input) for mailman id 1345465;
 Thu, 25 Jun 2026 11:04:31 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wchsl-0005vj-LF
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 11:04:31 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wchsl-005rFu-1N
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 13:04:31 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d0b32-e002-0a2a0a5209dd-0a2a4507b180-42
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 13:04:30 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d0b3e-9c8e-0a2a45070019-d1558032ad98-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 13:04:30 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-490b1bbcf3aso11602605e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 04:04: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-4926541e03asm47182575e9.2.2026.06.25.04.04.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 04:04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782385470; x=1782990270; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=xps5PxsAi+1CW3JuH3NN6Odr5QeT9LZlfHX2dEpANJk=;
        b=MjnDHlyM+89rkKlzxL/M4cinNiGW5uNrEFRt1R3rT+b40spo7TAaC2mtZycTHSlR+H
         9FKmyP7kJvlLD9ZKlJkPtWkxHURSUBSbMndLlJxmGv8Ut58Y+QputXzh8zR7GA7AYKvP
         UI+WU/v/tqSxixHYIeqoCeF9vsMkM9Pd8Nb3Simbo9BYswYZRp7GFvMbEwaap0hBUusO
         x08Q9sqnfyhaivxCpK0h/MzKfUn5VjiKvha4nsqqcS9RelNXWF5x+4HsRqEU9oPnKoGQ
         I7gepQ6LzEnlXtMzjTF8kPOHcKO0yGrIpu1F/pVsIxByki7RAVa5Q445S7h5RlPTTazr
         nicA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782385470; x=1782990270;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xps5PxsAi+1CW3JuH3NN6Odr5QeT9LZlfHX2dEpANJk=;
        b=Xpd8ZvBTIzEnXDoGXzkVE9yQ3rICJD6ygxGw5dzL2XlpUkcivFYo3QPbkTmkUYGByG
         PiI/EP6Lj62SJElEHbNXYmS1kuhqaIjpgVgkUxP+DAB54gAEeb2TKGilIaMg4yMufzG5
         6DB8SeQ8IyAf8Gh3XIV36UKGQKMxf6z0p3SEipin4wHUR6qX415OdGjYEUFpHW3YPg0t
         /0HumLbXnXnmktUae4njSTRpNTXltZYE8b4lfQsaA1NDOpyBPlG6De9ztFRDduIVl+ql
         ZNoptjTyZcALB2bNey/mV/kI1q8hDfdnU80JpOa4ePqIQSqJKCiaATzAc05F/+eEloAp
         LvvQ==
X-Forwarded-Encrypted: i=1; AFNElJ99etVg3Ai8izQRORaS0dPaaMRmkKrGipGUf9zPwPRNq16+x4X/aNigfdc1KVnI1bzryLy8ENobUN4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwdCJOU77QVEvVz9muCBe6IKbRTBcnpvClQrAn4RIpVdIZaHRIy
	9J4uCgJRYUqbiORoZrz82A9yeILvlQVzudh2Nbeui5DRdcosZdMz6n+JTE8VXFUAqw==
X-Gm-Gg: AfdE7cl0MvfUn4R95r8rsku2AAI6tnyuo7MOdHbLsdqX4xGy0Eayi95eKTIKLOVwieX
	MugyPrcI9LvfFY5SrgSU9HcjxRhNOpvydNZR1fjLihwuynSZr21NCkZxeuUPwEvt0TB2tjaWuiW
	+NUKBXAfY5RScGOYDwnG+VhU/HsIrMIkkMjphWh/WgOwK+uvXUwYh7EXM53MpgOB3UC8Rd6mxuT
	b5PO/UUshPDlrPkHZEhjfXDbUxe5Mlm5d+c/bmn3idO0hwvVXBInmS+9DJFEQN/toZLHfFSafD1
	h6ztfQe6C6dST9KNXtW8kE04YVF7lu8EK06KYFVA/+aMPjfRLGOx9nOrbzWUnisYDBAVckMhmSC
	NLYZu7sRFmhO5pT4pRDj2Q9RONUdedXHaTaICSRFHbhEVXaXjgDyBGGJsVvlEgB/NqB1ceP6r0w
	remjnpUF9auPNlGfTIZROr5b9XRy7GjtJllTiUysPhit8NZfga/dqscgZX6h3TlaHenSTmxoBqi
	VYl
X-Received: by 2002:a05:600c:3f07:b0:490:44eb:c1ea with SMTP id 5b1f17b1804b1-492668961damr24546415e9.24.1782385470287;
        Thu, 25 Jun 2026 04:04:30 -0700 (PDT)
Message-ID: <73452348-466c-462d-884e-f181fe12b293@suse.com>
Date: Thu, 25 Jun 2026 13:04:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/2] xen: introduce CONFIG_HAS_SHARED_INFO for archs
 without a shared page
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>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1780494838.git.oleksii.kurochko@gmail.com>
 <7ed7b888e203b7cc6c3a3a82b3bcc89d90b3fb48.1780494838.git.oleksii.kurochko@gmail.com>
 <d63a3877-286a-43fe-97fa-301985c3a0ac@suse.com>
 <910ed097-10d8-41a2-9035-a3f10d60c214@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: <910ed097-10d8-41a2-9035-a3f10d60c214@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ef75cf/1782385470-7F73125E-A067C807/0/0
X-purgate-type: clean
X-purgate-size: 832

On 25.06.2026 12:50, Oleksii Kurochko wrote:
> On 6/17/26 3:26 PM, Jan Beulich wrote:
>>> +#define shared_info(d, field) \
>>> +    (*(typeof(__shared_info(d, (d)->shared_info, field)) *)shared_info_absent())
>> How about the simpler
>>
>> extern struct shared_info *shared_info_absent;
>> #define shared_info(d, field) (shared_info_absent->field)
>>
>> ?
> 
> This could lead to compilation error:
> 
> common/domain.c: In function 'vcpu_info_reset':
> common/domain.c:316:20: error: unused variable 'd' [-Werror=unused-variable]
>    316 |     struct domain *d = v->domain;
>        |                    ^
> cc1: all warnings being treated as errors

#define shared_info(d, field) ((void)(d), shared_info_absent->field)

Which it should have been anyway, to make sure the first argument is evaluated.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 11:14:48 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 11:14:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345477.1604328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wci2b-0007jH-F9; Thu, 25 Jun 2026 11:14:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345477.1604328; Thu, 25 Jun 2026 11:14:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wci2b-0007jA-BR; Thu, 25 Jun 2026 11:14:41 +0000
Received: by outflank-mailman (input) for mailman id 1345477;
 Thu, 25 Jun 2026 11:14:40 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wci2a-0007j4-3F
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 11:14:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wci2Z-003TDJ-GP
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 13:14:39 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d0d9a-5cb7-0a2a0a5109dd-0a2a4501829e-14
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 13:14:39 +0200
Received: from [209.85.221.52] (helo=mail-wr1-f52.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d0d9f-400f-0a2a45010019-d155dd34a4ee-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 13:14:39 +0200
Received: by mail-wr1-f52.google.com with SMTP id
 ffacd0b85a97d-46cacc39191so324671f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 04: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-46c1e840eefsm18158756f8f.1.2026.06.25.04.14.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782386079; x=1782990879; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=mjy/0fQRZSL0E8TuXl/WHb7j4hsvzg16qC7SHwlg4yI=;
        b=gJXdXiM0ScIJvdoRI/xxhyyQ26n3w4uq/OzwCXDqvxU3YlmjQODf/QO1uEn1FD4OwV
         HxDz34jMai7yEAQMiEpxB+a4DmgrSFmlKqhZAs8A3XZgVWWit2p/kX9ZqhWNri+3OVP2
         GeP+BHkjWRCLIvvHr9JB91m17c8mS3IPIZpCFEq9sWnvSsya61KJg+wEHpGOMQFDSJ6l
         olFoUxLYYr0BWLklTDIZBGLSzZ8G+dKmL5QMWuyOsgi+1ZhEC9sGS/9trBJEaOjT8mD7
         LLsapjePVcDEnFg9tvXJI1Y7G4tw4E56ioN7DR742cjqPRi+OQOb8UQn3WJeXbot9/Qu
         D4Ag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782386079; x=1782990879;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mjy/0fQRZSL0E8TuXl/WHb7j4hsvzg16qC7SHwlg4yI=;
        b=BAnPXGrFklfgcPYz8cHoZg1FQQO0ixhIn5jhjsy/FbyqhgJZV6cL36a+eZqoWEMFtf
         d3D5XYjCJobZZrzsZAddL7su34J4OSjmMR5W/pnEc+FsF4tCeA2deBjx5nuWmryCs46q
         gSJZC64w6Adke72N3udIuMRpMLVge1dqW8P41OFEd/66isuw2EFw7alwe1U4mxaI4LSH
         11CbG6AF4fgOZ/dKkqefrYig7N09ZY7E2UoTEpKO0dMaWj2ow6U7rJXXNDLfbes2GPty
         SaMRycKlvpKLf2F81Lp4JAJ+7jo0X9q2ZoerR85+h7L1P4GF0TxjHRthNeVpHbpLrV2y
         8DtA==
X-Forwarded-Encrypted: i=1; AHgh+RoJ9MloUKLIGuoQEBpbvgiDQ1tZK1cQU31KJD4CaduIbA8TJkhDovjQV/B0ImvGZ3QN1HfgbAbpRIc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywv/LSAuTFAwcriEKS3YT9hA+KvPsKHeN9HqRlYVftZQuW1cfvM
	1c5RjPYias3G91CZQ7vwMTVggL9nIPSP82MKteFCn8ytPsqewgMgkZpH26EvJqA7OQ==
X-Gm-Gg: AfdE7cmrCiUn8Kh5u2Wde4lAbCJSgYRVxTD+1DHZ/qiNzbgc6DxNyTTGlNr988A+p3P
	aXa/FBytWmSzTHWWckHD7qw1E+nTGOVkZDh6ac7xl0S1tAaXTCgLmSTL9zOQcRUFDu53t++TZva
	TvxnEXlb2PR5HaDnlw4Gqa8H1NT6b4ogQTlT2UuOUdJQ6IH/7wsLZ3Qfnh4WtQuOghgGlAoDZXK
	nxm5LRKrb3qK3XH5omsR5ASIPTlKfH5gGJhRiyqBPOMUt77mNqU+VCEiGsEkQnPZHvnSdEr9avT
	5v7y5P3CjFMW4yVORazqSojQUdaeQ1jcu+5c7oAxFemndN/Rgrzm0SST/EVW8qRcnyEpfY7+4vi
	MRckUT8JJdUJ9gBOSGr3xr98kYWZvcqETJwbecSey8QKT4jPaBSqIkJXYOm+YXTNrWtU2nZwX4b
	yZe6/k648o1KcBxAlfHShA4bLi/0JE9IKeZkaGjfbYJn+O2MK8EVri9RXxtAXL6DGO6YBlCb367
	JvVWmjHO0+Dj6I=
X-Received: by 2002:a5d:5f85:0:b0:45e:dc0a:bcb with SMTP id ffacd0b85a97d-46a80c7acfcmr19317386f8f.22.1782386078826;
        Thu, 25 Jun 2026 04:14:38 -0700 (PDT)
Message-ID: <9640e0eb-ea38-41ba-b99c-aafa6c6d7bc7@suse.com>
Date: Thu, 25 Jun 2026 13:14:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 18/23] xen/riscv: implement IRQ routing for device
 passthrough
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <0458468cc5a6db911a9acc64f4c8cf17ceebe4c6.1781693963.git.oleksii.kurochko@gmail.com>
 <3a1aca27-cc18-4b57-bb31-c50161b8c261@suse.com>
 <b4770ce2-9456-4dae-a322-c8e3f9239472@gmail.com>
 <d0b60963-6711-44ed-833d-83ac9de50aa9@suse.com>
 <04195c2e-0cb1-45a2-9844-2ce802692704@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: <04195c2e-0cb1-45a2-9844-2ce802692704@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1782386079-D14DD1E0-076C6B0C/0/0
X-purgate-type: clean
X-purgate-size: 5755

On 25.06.2026 11:48, Oleksii Kurochko wrote:
> On 6/25/26 8:08 AM, Jan Beulich wrote:
>> On 24.06.2026 17:21, Oleksii Kurochko wrote:
>>> On 6/22/26 5:57 PM, Jan Beulich wrote:
>>>> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>>>>> --- a/xen/arch/riscv/include/asm/intc.h
>>>>> +++ b/xen/arch/riscv/include/asm/intc.h
>>>>> @@ -13,6 +13,7 @@ enum intc_version {
>>>>>    };
>>>>>    
>>>>>    struct cpu_user_regs;
>>>>> +struct domain;
>>>>>    struct irq_desc;
>>>>>    struct kernel_info;
>>>>>    struct vcpu;
>>>>> @@ -32,6 +33,9 @@ struct intc_hw_operations {
>>>>>        /* hw_irq_controller to enable/disable/eoi host irq */
>>>>>        const struct hw_interrupt_type *host_irq_type;
>>>>>    
>>>>> +    /* hw_irq_controller to enable/disable/eoi guest irq */
>>>>> +    const struct hw_interrupt_type *guest_irq_type;
>>>>
>>>> It's likely my limited RISC-V knowledge that I find this extremely odd:
>>>> Separate struct hw_interrupt_type-s for host and guest?
>>>
>>> The guest and host interrupt controllers may handle some
>>> hw_irq_controller operations differently, even though the operations
>>> themselves are conceptually the same. The hw_irq_controller interface
>>> provides fairly abstract interrupt controller operations, but the
>>> underlying implementation may differ depending on whether the controller
>>> is used by the host or a guest.
>>>
>>> As an example, the Arm code already follows this approach:
>>>
>>> /* XXX different for level vs edge */
>>> static hw_irq_controller gicv2_host_irq_type = {
>>>       .typename     = "gic-v2",
>>>       .startup      = gicv2_irq_startup,
>>>       .shutdown     = gicv2_irq_shutdown,
>>>       .enable       = gicv2_irq_enable,
>>>       .disable      = gicv2_irq_disable,
>>>       .ack          = gicv2_irq_ack,
>>>       .end          = gicv2_host_irq_end,
>>>       .set_affinity = gicv2_irq_set_affinity,
>>> };
>>>
>>> static hw_irq_controller gicv2_guest_irq_type = {
>>>       .typename     = "gic-v2",
>>>       .startup      = gicv2_irq_startup,
>>>       .shutdown     = gicv2_irq_shutdown,
>>>       .enable       = gicv2_irq_enable,
>>>       .disable      = gicv2_irq_disable,
>>>       .ack          = gicv2_irq_ack,
>>>       .end          = gicv2_guest_irq_end,
>>>       .set_affinity = gicv2_irq_set_affinity,
>>> };
>>>
>>> These implementations reuse almost all interrupt controller operations,
>>> differing only in the .end callback.
>>
>> Which I'm having trouble with as well. Interrupts are handled by Xen. What
>> guests get to see are virtualized interrupts (no matter how much HW
>> acceleration may be in use). Hence I'm having difficulty to see such a
>> split justified.
> 
> I think that I don't fully understand what is wrong with splitting. If 
> there are cases exist when I need such separation for virtual interrupt 
> controller operations then it looks fine to introduce such separation, 
> right?
> 
> Lets take an example of PLIC.
> 
> For each source the PLIC has a "gateway":
> 1. Claim (read CONTEXT_CLAIM): returns the pending IRQ id and closes the 
> gateway for that source, it will not forward that source to any context 
> again until completed.
> 2. Complete (write the id back to CONTEXT_CLAIM): reopens the gateway. 
> If the device line is still asserted (level high), the PLIC immediately 
> re-marks it pending and delivers it again.
> 
> The "closed gateway" between claim and complete is effectively the 
> hardware masking the source while it's being serviced.
> 
> Then if we will handle guest interrupt in the following way:
> 1. Passthrough device asserts its line (level stays high).
> 2. Xen takes the physical IRQ, claims (gateway closes), completes 
> (gateway reopens), injects a virtual IRQ into the guest's vPLIC.
> 3. The guest hasn't run yet, it hasn't touched the device's registers, 
> so the device line is still high.
> 4. The PLIC sees the source still asserted with an open gateway -> marks 
> pending -> fires another physical interrupt into Xen -> ... -> repeat.
> 
> So we get a storm of physical interrupts for a device the guest hasn't 
> even begun servicing. The device line only drops when the guest driver 
> writes the device's own registers, which happens long after, and on the 
> guest's schedule.
> 
> So the solution is that the physical complete must wait until the guest 
> has actually quiesced the device. The only signal Xen gets for "guest is 
> done" is the guest writing its virtual complete to the emulated vPLIC. So:
> 1. guest_irq->ack: the claim already happened (the readl(CONTEXT_CLAIM) 
> in plic_handle_interrupt); ack just records which context claimed it. 
> The gateway stays closed - good, the source is masked while the guest works.
> 2. inject vIRQ â†’ guest services the device (line drops) -> guest writes 
> vPLIC complete.
> 3. guest_irq->end: now do the physical complete, reopening the gateway. 
> Device is quiet -> no spurious re-trigger; if it's a new legitimate 
> assertion, it fires once, correctly.
> 
> Is it clear enough now?

Well, yes and no. On x86 we have to deal with the situation you describe as
problematic anyway, as IRQs have priorities associated with them, and higher
prio ones block equal/lower prio ones until they are "completed" (in the
terminology you use). If you don't have anything similar in RISC-V, then
you may indeed get somewhat simpler code overall with such a split. Yet if
there's nothing like that in RISC-V, you can get (almost) arbitrarily deeply
nested interrupts, which in turn would be a problem you need to deal with.
IOW I suspect the architecture has something to limit nesting depth.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 11:18:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 11:18:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345490.1604336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wci6P-0000Gg-0o; Thu, 25 Jun 2026 11:18:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345490.1604336; Thu, 25 Jun 2026 11:18:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wci6O-0000GZ-TU; Thu, 25 Jun 2026 11:18:36 +0000
Received: by outflank-mailman (input) for mailman id 1345490;
 Thu, 25 Jun 2026 11:18:35 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wci6N-0000GS-Fz
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 11:18:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wci6M-00DH9s-E6
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 13:18:34 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d0e85-bab6-0a2a0a5309dd-0a2a4507c814-6
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 13:18:34 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d0e8a-9c8e-0a2a45070019-d1558030b8e5-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 13:18:34 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-490b7866869so18949915e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 04:18:34 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-46c1eef84d7sm16398986f8f.16.2026.06.25.04.18.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 04:18:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782386314; x=1782991114; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=98YVTtEhz+tUi9c4dDYbrEtZmJOiLy7Vw1N60n47vyk=;
        b=VUBcCOuVlhDc6j5d8Ey+H1eMehqYAufK9U1G9GMMdMp95aGNkZOQ0UJw4UXzGOklGo
         ArrQ2sQl57bACgwCR+yp2H9uGpCxumsmPG3H/QDLpfFty278l1WXeN/0GDXN71D0iugj
         g9u319kUa6g1fyuPAOj3dIv377sf2HBqO57+aBXu1r7gSjc3SqhiceP/7Xx9HNdOeXu9
         l53KpUDS19NmS+Ewt3v5uM6MU1uHoxuX5krgc+kq+GG8LtjJq3HKhW8EZYmK4ppBVGqo
         SkwNEn2ZLJW1ZPzWjlREfvYcmjP8EtI4q48BROqMwK5X5bcCSNtgri7hNmXX/vAL13j4
         ldKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782386314; x=1782991114;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=98YVTtEhz+tUi9c4dDYbrEtZmJOiLy7Vw1N60n47vyk=;
        b=qvRNRh7XSX3e8jFimPvdwvn2zyB82PDHk6L4V7FMBnQYSDaBfvRqXiGO6vLfVkhVP5
         AP6fLnILn/i8hpKMLDzgGsHrDBdVNZ0gbCbAIDYJA8J8+bqIZNEkgHWQcZTzJ123nWbi
         dKB/wbOnE5Crd8zTpYHolRGkTMz7f9B9VPdBxdYcKpGDa44x6zrOEYQdtNzqqFVuzH67
         9BptXdhIVCqJhlmBWjZa/5LE4g70JGqLyY+WplbzpozrmhcRMoJcA0y8KjZA8c15Ygqz
         RS4ezO54RBH7OwQJMqfYQDJelpzjBkD4PgAjFO6OMbK7G44loJ1pXIBm4pVe20VC0nhH
         5t7w==
X-Forwarded-Encrypted: i=1; AFNElJ+xz1STBgG+ggUNnz+pU2HeIpsDny/SDg/co8+W7UbEHcsjKb4/OI/mO9r0mMIIzkjEN12YnSEeJcM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxTGMV8yu9Mv6zT2iZt5unOUOI0k1fwcr0RFhq49G6zhcgDboG8
	6x94MoL/3geVp3idxuVZDFY4pprbF1zh4eKLJfqn5aVdgkyEEDwxhHTn6n0KlbMHbw==
X-Gm-Gg: AfdE7cmgTzFLHOQ5IRg7gQu0gKO1TEZ18qD4qdeVqrPDbSt5OHg+CTobmu0FO5J8SQs
	16DWIxvCZPbbvNTVdXNdfAhb6vu782F/OAqld8/xTTexJlLIuD0Rwg3nEsI1NpKqmjARs4BNQsp
	8+4dzjFngs8baVlFMaOTrspQCvbNCbPPdt+fZuCxkF7CJqCFD5OcZI5VTRsJ0WaLcbkXihudMtv
	laZ6PbyBiDA7wggJfglHAGSH8H1WnsPT4lewYRoPqCDCkfwPvGDwuCTqUMPE7409SbuaLFcdrXD
	Bi8k8Zv92sIXZ2Yi3P7JbXPwyCXFdjKPqF60BCVlrOKAIbi/yBz8KL5xY9MozEPqw4iLnsvfNDJ
	iCgA0SmxeXTnYxOtr/Vf2cxZcbvfaNjYS923r2SnIv+Io9A0O3CFPm98gFsY4Fhmo9e+AJ0wmPy
	XTIbJ6BuwInZFTbkPGm9zVzUuPZdiN5a4ypiQ7ox2r6oIAkaWWx5FFEdC2yQ3b8FxhiIhyRVF6d
	UkD
X-Received: by 2002:a05:600c:c04b:10b0:492:418b:b5e1 with SMTP id 5b1f17b1804b1-492668b02damr21491755e9.37.1782386313757;
        Thu, 25 Jun 2026 04:18:33 -0700 (PDT)
Message-ID: <4f971b7e-b9ff-44cb-bf29-3939c8659b07@suse.com>
Date: Thu, 25 Jun 2026 13:18:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/4] x86/efi: discard multiboot support for PE binary
To: Frediano Ziglio <freddy77@gmail.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Frediano Ziglio <frediano.ziglio@citrix.com>, xen-devel@lists.xenproject.org
References: <20260616172830.111393-1-frediano.ziglio@citrix.com>
 <20260616172830.111393-3-frediano.ziglio@citrix.com>
 <070ff282-5ee4-4c24-b0bc-92d187c40dd9@suse.com>
 <CAHt6W4de1ddW_xMWhbJ15vA171tuHVGJu0TO0bAH845EDQN4gg@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: <CAHt6W4de1ddW_xMWhbJ15vA171tuHVGJu0TO0bAH845EDQN4gg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ef75cf/1782386314-7C92A25E-95A82451/0/0
X-purgate-type: clean
X-purgate-size: 2964

On 25.06.2026 12:15, Frediano Ziglio wrote:
> On Wed, 24 Jun 2026 at 15:18, Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 16.06.2026 19:28, Frediano Ziglio wrote:
>>> From: Roger Pau MonnÃ© <roger.pau@citrix.com>
>>>
>>> Multiboot and PVH booting are not supported for PE, hence discards them
>>> in the linker script when doing a PE build.
>>>
>>> That removes some relocations that otherwise appear due to the usage of the
>>> start and __efi64_mb2_start symbols in the multiboot2 header.
>>>
>>> Section discarding is not done updating DISCARD_SECTIONS definition as the
>>> change is specific for x86.
>>>
>>> No functional change intended.
>>>
>>> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
>>> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
>>> Acked-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
>>
>> While on the surface this looks okay, there are still concerns:
>>
>> For one, this also discards the PVH entry point. That's technically fine aiui,
>> yet shouldn't go without mentioning.
>>
> 
> Considering that the code/data is not exported in EFI as
> 
> #if defined(CONFIG_PVH_GUEST) && !defined(EFI)
>   /*
>    * In principle this should be fine to live in .note (below), but let's keep
>    * it separate in case anyone decided to find these notes by section name.
>    */
>   DECL_SECTION(.note.Xen) {
>       *(.note.Xen)
>   } PHDR(note) PHDR(text)
> #endif
> 
> yes, technically it's surely fine.
> 
> There's a mention in the commit log:
> 
>     Multiboot and PVH booting are not supported for PE, hence discards them
>     in the linker script when doing a PE build.
> 
> But not in the subject:
> 
>     x86/efi: discard multiboot support for PE binary
> 
> What about simply changing the subject to:
> 
>     x86/efi: discard multiboot and PVH support for PE binary

Perhaps.

>> Otoh you discard call sites of functions without discarding the functions
>> themselves, violating Misra's "no unreachable code" rule. Eclair may not be
>> able to spot this, but imo we should still adhere to the rule. Proper
>> coverage analysis, for example, would likely turn this up.
>>
> 
> That makes sense. Given that most code in head.S is now discarded most
> data sections are now not used and the only thing left will be the
> trampoline.
> It'll take a bit of time to search for removed symbols.
> 
> About the "no unreachable code" I think we are violating that anyway.

Perhaps, but we should get the number of such violations down, not up.

> We package "built-in.o" files and then use them to craft the final
> executable. I don't think the linker will be able to discard unused
> functions for that reason. That does not mean that more things can be
> discarded.
At least not until we engage it garbage collection, which as per Jason
proves problematic when linking xen.efi (due to linker issues as it looks).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 11:19:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 11:19:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345497.1604345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wci6r-0000nF-7k; Thu, 25 Jun 2026 11:19:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345497.1604345; Thu, 25 Jun 2026 11:19: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 1wci6r-0000n8-4N; Thu, 25 Jun 2026 11:19:05 +0000
Received: by outflank-mailman (input) for mailman id 1345497;
 Thu, 25 Jun 2026 11:19:03 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wci6p-0000lp-Rb
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 11:19:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wci6o-001ZnF-O2
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 13:19:02 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3d0e98-2eae-0a2a0a5409dd-0a2a4504ea56-20
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 13:19:02 +0200
Received: from [209.85.128.49] (helo=mail-wm1-f49.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3d0ea6-a01d-0a2a45040019-d1558031bc72-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 13:19:02 +0200
Received: by mail-wm1-f49.google.com with SMTP id
 5b1f17b1804b1-4921eed3fa2so15212365e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 04:19:02 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492660a32ddsm46324015e9.1.2026.06.25.04.19.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 04:19: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782386342; x=1782991142; 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=qCGi4Ypjo8NkCCu23rt75GsmtottTmFRUmirYlhxDHQ=;
        b=gelsSQTbMlj3QlPFNKx0mc+N/fsxXUtBm0f6pAlO8l/ajQ7NoMzoocNYMIQxnI24BC
         GANyMFUolpcmydJ/cT/ViGheyu9gvRovngc99eYJan4xatvQ04VaS3QIiVYV7h0bVd4m
         TyjgjmgzGxvyL8fDLN5RJ1PApx6pLVFh/fFPmhLinCYUMmbvbbpN6I4w8NOvxPbfGXPU
         7iY2YZuZX1ZjlTPxnqSMD+vfWf3+c4Y/a5hnsOFDd3fO5cHAP+fPy6JwSBafG1Q7/c8I
         uUPjMdMeaDQYa9sgDZjhAoMPYHCv48eYnSM60r8zhrldJXBVq2+WM4KlnspFlHDpPXpQ
         Yldw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782386342; x=1782991142;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=qCGi4Ypjo8NkCCu23rt75GsmtottTmFRUmirYlhxDHQ=;
        b=I/MDpuO8PsaoXQNaxSUCyAjVpDE4B4Y5c5icTByBCuKqwBWTfTv+CQLTHM27K/xYTS
         TS/4lqH/SlieG4H2AhtrKFIMZqkHeSgDnIknDP7bvnr00UpHGXFDB876l2NsrKRlaltQ
         gJ7uZ7vf4cN27qe9RRqudqPFH+b6Md1oL5V0ZiBWRf2PFiOnJzwnFX5dNpSHA+PXxAf1
         0Ybxj0f2Du96BFmo0QWsjSKST6NZ+01UKDgCbUB8ZKfYkwrnZU8njsGu5KASUyQoCIRm
         OfQpVYzzKHy0u2ZmqMkftmBqxNctn3H8YuDmVlTQGpiMO5yJLe1rBx2h1CZgfiuVD/4j
         1K8g==
X-Forwarded-Encrypted: i=1; AFNElJ/ko7IevMlX7LYsNYBSmvfZF0HJvuwmQkEapK6Dn8cVpWNOgTAVjjglMgxm+9XzSbuJgnBowYq3HJQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx59d9KjSJjSPIN79iyG/UKWX3MqZsLHeTtnKWaQXV5pTbaiQNr
	KKzeRKOg+xPrZZ8J759PMUJT84kesRbZ+0LVOxPugM5+d4yJH3zXY8sj
X-Gm-Gg: AfdE7ckfXZBy9hXA5GIstSuU09UiVaae8r1BGi4TwkPMW15azxtYkEQmURceBM5NzRh
	11GQaWRNufm+JJad2zlLAVnutodgNW1zYUTGAnTfp5m+1tfNDZK751PD31+G/wJUx7XmYgwRCP6
	Fo+T1LRKkbUJCsWcBzx5wRBwwNvA+R4pV67jk2ywXhlDfEik9N8sB4aS4wFcJtRlYLLUpd/uJqi
	Zm+trmJHbZRx1YEtEnw7jdBTwXCd8HyiBUb2rssA8HM5nidMQG3wjlfHgmKH+pOQWVu/C0Zdas5
	lY5dFx7uFupvIsWi/UQw1+znAnoyy/fH7maDe6t0vWANpeZ+qJeIYznsHo4OjyMGCbEoK3GcWpp
	qbKtElNO6C4LSF2XldLHXXdj8wcyLysK+iqAJwDGd4bSzfgVzZG7r1zMmWJo6tEo0gXEaJO++gj
	VDVxn0tkKz7Y1YeGXY/+PPGMZrBFoj9zFP/ArTnOiM6fSHe0DOr9MN+I1/UvxIvEzwMZw=
X-Received: by 2002:a05:600c:4692:b0:490:4b89:535d with SMTP id 5b1f17b1804b1-492668677ebmr30114425e9.1.1782386341946;
        Thu, 25 Jun 2026 04:19:01 -0700 (PDT)
Message-ID: <e8fa36f3-e8ae-47a9-9f75-0b8f9a306a02@gmail.com>
Date: Thu, 25 Jun 2026 13:19:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/2] xen: introduce CONFIG_HAS_SHARED_INFO for archs
 without a shared page
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>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1780494838.git.oleksii.kurochko@gmail.com>
 <7ed7b888e203b7cc6c3a3a82b3bcc89d90b3fb48.1780494838.git.oleksii.kurochko@gmail.com>
 <d63a3877-286a-43fe-97fa-301985c3a0ac@suse.com>
 <910ed097-10d8-41a2-9035-a3f10d60c214@gmail.com>
 <73452348-466c-462d-884e-f181fe12b293@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <73452348-466c-462d-884e-f181fe12b293@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1782386342-2ED5D1CC-9243DC9B/10/73395122804
X-purgate-type: spam
X-purgate-size: 1503



On 6/25/26 1:04 PM, Jan Beulich wrote:
> On 25.06.2026 12:50, Oleksii Kurochko wrote:
>> On 6/17/26 3:26 PM, Jan Beulich wrote:
>>>> +#define shared_info(d, field) \
>>>> +    (*(typeof(__shared_info(d, (d)->shared_info, field)) *)shared_info_absent())
>>> How about the simpler
>>>
>>> extern struct shared_info *shared_info_absent;
>>> #define shared_info(d, field) (shared_info_absent->field)
>>>
>>> ?
>>
>> This could lead to compilation error:
>>
>> common/domain.c: In function 'vcpu_info_reset':
>> common/domain.c:316:20: error: unused variable 'd' [-Werror=unused-variable]
>>     316 |     struct domain *d = v->domain;
>>         |                    ^
>> cc1: all warnings being treated as errors
> 
> #define shared_info(d, field) ((void)(d), shared_info_absent->field)
> 
> Which it should have been anyway, to make sure the first argument is evaluated.

I expected that as shared_info() is used as an lvalue whose address is 
taken (&shared_info(d, vcpu_info[...])). To "consume" d we can't just 
prepend a comma expression as &(comma_expr) is illegal since a comma 
result isn't an lvalue.

Trying what you suggested leads to:
common/domain.c: In function 'vcpu_info_reset':
common/domain.c:320:26: error: lvalue required as unary '&' operand
   320 |         ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])

Thereby this option:
   #define shared_info(d, field) (*((void)(d), &shared_info_absent->field))
will be better.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Jun 25 11:24:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 11:24:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345506.1604354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wciBc-0002bd-OH; Thu, 25 Jun 2026 11:24:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345506.1604354; Thu, 25 Jun 2026 11:24: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 1wciBc-0002bW-LU; Thu, 25 Jun 2026 11:24:00 +0000
Received: by outflank-mailman (input) for mailman id 1345506;
 Thu, 25 Jun 2026 11:23:59 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wciBb-0002bQ-EY
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 11:23:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wciBa-008Zap-Jt
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 13:23:58 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d0fc2-bab6-0a2a0a5309dd-0a2a450aec4c-30
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 13:23:58 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d0fce-e40e-0a2a450a0019-d155802bd5ca-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 13:23:58 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-490cf322ed0so20877795e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 04:23:58 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-46d3ba68d8dsm8884057f8f.27.2026.06.25.04.23.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 04:23:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782386638; x=1782991438; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt: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+H42EMxKhs5WohC3ErDqUKqCaxKLLi7r6g+O9nb0AA=;
        b=adVijpyEHLp2h34jAvCQHsqEckx75Z67J0B7TeIsatvzDvglaMe5Vh8HHL4jkhDi8K
         bvt2fOl6MiUDWT6eGSfZFp/v7tKJ0uW0yktAnzFZwEsqh2PjzUesKrsigZ8ut27Q2F9E
         UkSZJtU7az68yzNmEdOBuNFIpBL58Uq69+r4F9sgWB+oFAJgcCDKTntYIpu+MyZdvWuI
         2pcpidJyZ1DjfYzK/yZjCbTUBgAueGnQl7/iaA+aZc3f/sAuuSRC+ZUKxRC+b2L0O1ZH
         //rkaKuTPpW94ot3Vg2MkVnP9YVXbXTvzTiFXrXJXd4JrQr56mNBy3ySMuMYLputIipc
         HgYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782386638; x=1782991438;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Q+H42EMxKhs5WohC3ErDqUKqCaxKLLi7r6g+O9nb0AA=;
        b=j2qlHC/GSQvESJJej0Z0kipslPmhqEFBJfuTlaL3GCS/SV3gr0jxf7hmvWy/g1eBiE
         x16bgKYySJh6yl41wghbjHgjNYE7tyoZVsbMVZzhMVSCcXGXalW8kMxdFUvXQCl5lYHd
         3X0RuK1k4AchbgRrAYqCeHfJYYJRJ8xOzW2bwwLDYNMfi57xFv2diXK8KLePhcDKAOLe
         UOJGIPLpIWp8h5Q5e7Nfwkj4JRgoUp1wEp50J6nhtwu/DIE+JioviE+2df/Y13YlBgJa
         EjwF8h0Lzl0XVJ7woX56x3V4XWmCw5s/clmyJTxRzxKRrtfa3gye4zPLKOlWBA7VnYjG
         k2cw==
X-Forwarded-Encrypted: i=1; AHgh+Rpt6caMtF3/6zqnQSSJWL9wdvHGxtean7LNq17Wyi7MH1qMGTKKK0Hdk7T2uk3H+X6iaNdt/0DmMrI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy53DMWoFhJi0PFfEMmg181bOFj7lXvQhwDr+NqbxTUU0XDs8gw
	JsL0zuuklilfwOAp+18XkKbtvOhuszsqE47XDav/uGpam3+XzNnyCp4r7+Hs7qMqcQ==
X-Gm-Gg: AfdE7cmBobgZ7f4IMWlLfToxHpRUD1JuWha4HEvDIOQ8Yrrg5qevOxBisJgKnYLkjRA
	xOzpW+WZwQY408+6KgrtfmyUaSxic8jL4ITuxKWAroq9ZdGdAvxUPgEmE0AxCXuyMS7zXlVr+EC
	x7W0P16qVs95/verLIXU10Z61lsjt70tS6M/vrPqjDuhPKrhsdj7YREgzHez0H5cq2qcIQ1mS9Z
	6Pgrxu3cmPnPCoxKlfeHgm8d1vjj/RVBGDB+0f8UgXy+Al0ai0a0q5lPL/QGKo/Nd+pIO8HVgZr
	XR9U9f2yyxtBq5Bs3WX2gXCqDIYxkVYyLy6CRBmCn/PDpEu4hc2sdHdYuoxv3RM/HrC/Zt5dq6V
	WxnbrQX57e5BTkbmn1CTufTMYHq2LzZ+bglMLq2OFrgY49lyIbu1jlo6c1CIs+AQuWE+HVh29nT
	K21O93TybAruPOlvquvd8KYX+Yvz2Nx7JIbAldZrJpov2LG3H5JuPvIHbS05uaZN8TJQ5b4JZ1e
	XRp
X-Received: by 2002:a05:600c:4f43:b0:492:660c:5fca with SMTP id 5b1f17b1804b1-4926688582fmr28060535e9.23.1782386637899;
        Thu, 25 Jun 2026 04:23:57 -0700 (PDT)
Message-ID: <c0f66758-f0e8-4a29-bb7f-f43e14ecb976@suse.com>
Date: Thu, 25 Jun 2026 13:23:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/2] xen: introduce CONFIG_HAS_SHARED_INFO for archs
 without a shared page
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>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1780494838.git.oleksii.kurochko@gmail.com>
 <7ed7b888e203b7cc6c3a3a82b3bcc89d90b3fb48.1780494838.git.oleksii.kurochko@gmail.com>
 <d63a3877-286a-43fe-97fa-301985c3a0ac@suse.com>
 <910ed097-10d8-41a2-9035-a3f10d60c214@gmail.com>
 <73452348-466c-462d-884e-f181fe12b293@suse.com>
 <e8fa36f3-e8ae-47a9-9f75-0b8f9a306a02@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: <e8fa36f3-e8ae-47a9-9f75-0b8f9a306a02@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-4011c0/1782386638-D5726DDE-C1E4476C/0/0
X-purgate-type: clean
X-purgate-size: 1695

On 25.06.2026 13:19, Oleksii Kurochko wrote:
> 
> 
> On 6/25/26 1:04 PM, Jan Beulich wrote:
>> On 25.06.2026 12:50, Oleksii Kurochko wrote:
>>> On 6/17/26 3:26 PM, Jan Beulich wrote:
>>>>> +#define shared_info(d, field) \
>>>>> +    (*(typeof(__shared_info(d, (d)->shared_info, field)) *)shared_info_absent())
>>>> How about the simpler
>>>>
>>>> extern struct shared_info *shared_info_absent;
>>>> #define shared_info(d, field) (shared_info_absent->field)
>>>>
>>>> ?
>>>
>>> This could lead to compilation error:
>>>
>>> common/domain.c: In function 'vcpu_info_reset':
>>> common/domain.c:316:20: error: unused variable 'd' [-Werror=unused-variable]
>>>     316 |     struct domain *d = v->domain;
>>>         |                    ^
>>> cc1: all warnings being treated as errors
>>
>> #define shared_info(d, field) ((void)(d), shared_info_absent->field)
>>
>> Which it should have been anyway, to make sure the first argument is evaluated.
> 
> I expected that as shared_info() is used as an lvalue whose address is 
> taken (&shared_info(d, vcpu_info[...])). To "consume" d we can't just 
> prepend a comma expression as &(comma_expr) is illegal since a comma 
> result isn't an lvalue.
> 
> Trying what you suggested leads to:
> common/domain.c: In function 'vcpu_info_reset':
> common/domain.c:320:26: error: lvalue required as unary '&' operand
>    320 |         ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])

Ah yes.

> Thereby this option:
>    #define shared_info(d, field) (*((void)(d), &shared_info_absent->field))
> will be better.

Or maybe

#define shared_info(d, field) (((void)(d), shared_info_absent)->field)

?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 11:31:37 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 11:31:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345517.1604362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wciIt-0004gW-El; Thu, 25 Jun 2026 11:31:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345517.1604362; Thu, 25 Jun 2026 11: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 1wciIt-0004gP-Ba; Thu, 25 Jun 2026 11:31:31 +0000
Received: by outflank-mailman (input) for mailman id 1345517;
 Thu, 25 Jun 2026 11:31:30 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wciIr-0004gJ-VD
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 11:31:30 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wciIq-0058Nf-P3
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 13:31:28 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d1180-2eae-0a2a0a5409dd-0a2a4508e876-26
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 13:31:28 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d1190-edec-0a2a45080019-d1558032b138-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 13:31:28 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-490b613a17bso20420205e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 04:31: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-4926494f129sm56477245e9.0.2026.06.25.04.31.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 04:31:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782387088; x=1782991888; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=OY7r1U0gGAiohaCiuxSYCxoIkrfuEH34le5ntfIu0M8=;
        b=cm8ixCmD3ZV9y45cLsdyTCqIHiw2+PfS+4ROSg7sFl5eIoBrQ36eiFsMquM7Zvf/J4
         qAuWQE1s9t1khu4HE4sBzDpKGpNMe58ujjwZqj5ksgccH36lz27HMoOi3HPU/u6B/eo/
         xl8aSmi1GDC8Rt2IdpyI0TDUcvki+no2CDDCbNBjkSt+0qykWBCWoNRrB5/8PUt0ELNH
         GkmNz82+IolDewuIcu0dBjfPwnz/25m2a33O15PjUbFlehfLGrxJp1IC+VBmox4G7Ovw
         z4b2BY2tgto8rtBUEyCJ2qhZaEM73hDM8k68ytms7yUw7HLhfJNBIgDGQ7mi6zWsfCs6
         wNMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782387088; x=1782991888;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OY7r1U0gGAiohaCiuxSYCxoIkrfuEH34le5ntfIu0M8=;
        b=UgmZ5IVMORgwCEJs6W3smhAljjWRtNzc/pwsbgfLMcxS9qckTm6DYKoHbQ4ScZ11Hk
         hiKDoKjnEdKmqW32hw7whyW/KrM188y2TzVkXIN0T7JpMLHoj4eSsaY7mguYsJgdM6ZQ
         IOU2y+EDH9xz3diXXVQYm5v+RnDog9Z+Z8yeCNiVg2OC7ptYkBpgijeU8Q6Vszdg75QF
         pvpMNM6FmruukWC8p+s1l1ca3/QWgvoTKSbQHI2UVcK4ffnKAtrzcI3V6W0jDDa2aSkc
         Vpm8lDFGxi/N4UNi12RQzg/Tt8WmVsKyXXZgeJnRbXDSD5UAtYeiw7LgfwgZi+bCMTvj
         JW3A==
X-Forwarded-Encrypted: i=1; AFNElJ9QlAfpobAvosi8itydPi3VrIy4YOvrHWUHizBHm11EBqPEnkJ2ETMPejKOr4BIwLcVMiIURuaQgjc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz6WRpscBik+fUrnviClgEV4n7UdbhCGoQc9QBH9+fSdNl0TerV
	rwj6kKX5bsHsaG3PHhLp0um1dSGZSThcHgK8fukGR2+MhB30muf7wov3peOOqTP1Pg==
X-Gm-Gg: AfdE7cnLZyWCzPW3MTZOBoFnnAfDYFXOmI0ZoPehXkj1kVqBFhmC9puXsFzKT5lSRRM
	5cQByeTicF2cUbJJjtX8d+yHDVH/VrV1Ullgatb/JAGPmrgdzWZZZyBsK5WXG5dGpRFO2XRQ1Lz
	+8Rx4Wbyq0rbP66GkhLhy4McvqaDTaHa1vDRTrCPNR3dN4yfBAfftSfFU/194iksVu3ya41xR/8
	sT2HtImUeUuPJ7rDZ0EEctLuhneNs02n0ca/bboGcuR4RkNAkbpoZKyTyVEZMfrLFgeZL7oCRd2
	Fl5a3aLw4rqlAxvJjJJ97kSTfSAsatc4MYmO4A+lofDoJNHBMlDO0jcg4ch4F4LnDIKxco2lGBJ
	6F+DLaI2NunimWQ6BwiuJoou2LoosQpKa1jIcJXHwdau+wYJe5mdHeigUP0y6oXwX+5PZkvPUso
	ogDkAbWgtw6+sDwx7s48dTYOoCIbXKgZetOWnBXVtm2kOk3qqwxwDXsFl/ilB1gUWdYukXHr7L/
	7q+nZ3jYdyPSkc=
X-Received: by 2002:a05:600c:4fd2:b0:492:4948:bfce with SMTP id 5b1f17b1804b1-4926686f634mr26825595e9.16.1782387088092;
        Thu, 25 Jun 2026 04:31:28 -0700 (PDT)
Message-ID: <2b574332-61f6-4a78-9dea-4b0973c8a3f1@suse.com>
Date: Thu, 25 Jun 2026 13:31:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] char/ns16550: bound execution time of
 ns16550_interrupt()
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20260623103145.76383-1-roger.pau@citrix.com>
 <06c8caab-4722-4b02-991f-bdc4a4ac0ea6@suse.com>
 <ajqVNtt02XMUGk-X@macbook.local>
 <cdf9f154-896d-4faa-8c76-ca15cf5e706e@suse.com>
 <ajqsQr-bhf4SGf8Q@macbook.local>
 <d7920786-7424-4634-80f0-994ea2857d1c@suse.com>
 <ajz-GVoEG4toMs3P@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: <ajz-GVoEG4toMs3P@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c1860d/1782387088-A19253FC-F2811ECB/0/0
X-purgate-type: clean
X-purgate-size: 3451

On 25.06.2026 12:08, Roger Pau MonnÃ© wrote:
> On Wed, Jun 24, 2026 at 10:01:36AM +0200, Jan Beulich wrote:
>> On 23.06.2026 17:54, Roger Pau MonnÃ© wrote:
>>> On Tue, Jun 23, 2026 at 04:27:12PM +0200, Jan Beulich wrote:
>>>> On 23.06.2026 16:16, Roger Pau MonnÃ© wrote:
>>>>> On Tue, Jun 23, 2026 at 03:44:06PM +0200, Jan Beulich wrote:
>>>>>> On 23.06.2026 12:31, Roger Pau Monne wrote:
>>>>>>> +    if ( uart->force_polling )
>>>>>>> +        return;
>>>>>>
>>>>>> As the IRQ was disabled, is this even possible? I.e. should this be some
>>>>>> kind of assertion or alike?
>>>>>
>>>>> Hm, I wasn't setting IRQ_DISABLED before, and hence needed this guard.
>>>>> But now with IRQ_DISABLED being set in ->status do_IRQ() should filter
>>>>> any stray interrupts.  I will attempt to add an ASSERT_UNREACHABLE()
>>>>> here.
>>>>
>>>> Simply ASSERT(!uart->force_polling) should do here? It is not wrong to
>>>> run the code below in release builds in such an event. If we kept getting
>>>> interrupts (perhaps at a high frequency) we'd be in trouble anyway.
>>>
>>> No, I'm afraid I can't do it like that, I can't put an ASSERT there,
>>> because we can still get into ns16550_interrupt() after the interrupt
>>> has been disabled.  In do_IRQ() we have the following loop:
>>>
>>>     while ( desc->status & IRQ_PENDING )
>>>     {
>>>         desc->status &= ~IRQ_PENDING;
>>>         spin_unlock_irq(&desc->lock);
>>>
>>>         tsc_in = tb_init_done ? get_cycles() : 0;
>>>         action->handler(irq, action->dev_id);
>>>         TRACE_TIME(TRC_HW_IRQ_HANDLED, irq, tsc_in, get_cycles());
>>>
>>>         spin_lock_irq(&desc->lock);
>>>     }
>>>
>>> So if the device is generating further interrupts in the window with
>>> IRQs enabled (while we execute the handler), we will keep looping
>>> around this, without taking into account the setting of IRQ_DISABLED.
>>
>> Ah yes.
>>
>>> This is something that we might want to fix, so that the loop is bound
>>> by IRQ_PENDING being set, and IRQ_DISABLED not, ie:
>>>
>>>     while ( (desc->status & (IRQ_PENDING |Â IRQ_DISABLED)) == IRQ_PENDING )
>>
>> Or perhaps ahead of the loop
>>
>>     desc->status &= ~IRQ_REPLAY;
>>
>>     if ( desc->status & IRQ_DISABLED )
>>         goto out;
>>
>>     desc->status |= IRQ_PENDING;
>>
>>     /*
>>      * Since we set PENDING, if another processor is handling a different
>>      * instance of this same irq, the other processor will take care of it.
>>      */
>>     if ( desc->status & IRQ_INPROGRESS )
>>         goto out;
>>
>>     desc->status |= IRQ_INPROGRESS;
>>
>> thus also having the comment no longer describe only part of the conditional.
> 
> I think this is racy.  An interrupt hitting in the window with
> interrupts enabled ahead of the handler having set IRQ_DISABLED will
> still set IRQ_PENDING, and thus the loop would get executed a further
> time, and the handler called after IRQ_DISABLED having been set.

Hmm, I don't quite agree with how you put it, but I think I see what you mean.
There's one question here, though: If PENDING is set first, and DISABLED only
later, shouldn't that IRQ instance still be handled? If so, ...

> I think we need an extra condition in the loop, I see no way this can
> be solved only by dealing with the concurrent setting of IRQ_PENDING.

... such an extra condition would be wrong. If not, yes, I agree.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 11:35:13 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 11:35:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345527.1604372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wciMS-0005Sp-0L; Thu, 25 Jun 2026 11:35:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345527.1604372; Thu, 25 Jun 2026 11:35:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wciMR-0005Si-Te; Thu, 25 Jun 2026 11:35:11 +0000
Received: by outflank-mailman (input) for mailman id 1345527;
 Thu, 25 Jun 2026 11:35:10 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wciMQ-0005Sc-Al
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 11:35:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wciMP-0059DX-Jr
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 13:35:09 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3d125e-5cb7-0a2a0a5109dd-0a2a4504cd00-38
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 13:35:09 +0200
Received: from [209.85.221.50] (helo=mail-wr1-f50.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3d126d-a01d-0a2a45040019-d155dd32a8e0-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 13:35:09 +0200
Received: by mail-wr1-f50.google.com with SMTP id
 ffacd0b85a97d-4631679f204so449753f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 04:35:09 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-46c1ee01d9csm16810596f8f.12.2026.06.25.04.35.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 04:35: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782387309; x=1782992109; 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=CY2/peG0xWnphtHYEOtJxlInVM/Xz/OGPiJbqS+QR6k=;
        b=LZz7PZDkNGD2v5ToGpJhHRcFQsj/PjBX9VJU/j4bNWAdxE+/kuoq9LDlza94sUihxu
         ZIitlVB7uWhloeuN6umWIPlGbKC4zQLHIOfALtCNOucVOPVwz3EgoI5jRq5EMBpPHSOf
         cw/IPxG6qoE0OAGJan9VchLpysLKzuxknGh07BkihQrmhzwMlS4FUV6cpjJidoQysXxk
         RMeqjFa1VF3jfYXDPzR62r7bVB6ZZWEiob4R7PTo3u0PK0lAZ3QrFmOCGr6RUWuDcg0g
         mjN3MsVlGaIdkpcWObthTOtjS0Uk/+QG/8MtiIW9dJJtW0ooY9ZKxI6DaXM9V46z4JEo
         voBQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782387309; x=1782992109;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=CY2/peG0xWnphtHYEOtJxlInVM/Xz/OGPiJbqS+QR6k=;
        b=AEPyKodmew3Ztk6M2xUrtx9gGmrkB5uPfvOxDuMLjClEAjm+wVvmNOCltdIxwRrTAY
         QJHflu2AiMjM4WEYOlc1We5bg3oNAqC0dbyR3ExBcKCEbMANHoNaE+y3wFZ9nCok5M9P
         40Om3xD91PA/uLBjMwRi4Ko0wo++TvdtqnEyoAyWvDEjAZ4H3ds0s+om9JS+1OZV+AHo
         uTqR3b+T6fLJwdv+M1LnKXxOGzaZubc5qM1W8w9eXu0dD10OWz6yrI2OEQY7fmiZvWjq
         2C69IjWhjB/VQ42BZOIQtmTNQ5N9YlD8zDedKZ7KdzF1tMFf/jNK1Eaejbl5zAqxr99N
         vX7Q==
X-Forwarded-Encrypted: i=1; AHgh+RqotAYyKlLxg78VfUDzdSEitvn1VQsvCyfdy2xbYdsdYh/Kk/W/qaWlcAuXX1DKv3rXtcCFkMPGLS0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzpW67uRkT0Vyqi0Q9B1Hhd/w7QxOAJO2pLtSpGChbz3a/t0YCK
	FjuQQGUPkNp5FoTLTcUlgz/3jbVHRDkpPnC55Zz0jImaG45qqdyoSYc6
X-Gm-Gg: AfdE7cnJ6Z90/TL6/+6W1GeBuSIDGkkCFMcgXnx5QQ2NsPnPE21ae9sU6ncOf0TQN8D
	VYISgbueEaK+rvt1UNIYsJau15E7Ew1I2EJrt8Vx/+eCaCpBNsWIbeuD7AhXsCDizIA4M/XqJUO
	qozY9ZWfqvahZLFDBTdQ+fr/LQnfUg5b9tI6G/Qs7QHLRO9vWTDG/cFdBvCyvoTejFfd2C9pSLV
	5nMYlSXQXkHf8Ulff0PaTs2PF8jg/HHnVpbpzjbbYlyOoFTYOSdH/oQXoC9EwxiOeczigl5Tr6D
	wbKMxASQUvACDh+RHGy9moc51lhwxo9CfgBz8pL8VEvQDu880SvubZJ3B132GdhelT//T2ECyqw
	VgIcAe7dJCDzXJ9Qsy69DyS1Ux7h7vadVyX56Xnn9ptp/K/awodgyV+0KVpET3fAt7pTgVBdl9N
	x/b5OXXUTCtf6TZQPfotW6uzXH7yTQRy0SWd5uFmPw6rBjWwJ13bAPZLHCreBw0vCSVoMZmOmIb
	8gBKQ==
X-Received: by 2002:adf:e186:0:b0:465:f555:d9ba with SMTP id ffacd0b85a97d-46da95fdf75mr3313052f8f.18.1782387308742;
        Thu, 25 Jun 2026 04:35:08 -0700 (PDT)
Message-ID: <799d66ae-ce4c-4f62-8051-f91cc8f8af88@gmail.com>
Date: Thu, 25 Jun 2026 13:35:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [4.22?] Re: [PATCH] sched/rtds: refill cur_budget when extratime
 is toggled on a depleted vCPU
To: Jan Beulich <jbeulich@suse.com>
Cc: Dario Faggioli <dfaggioli@suse.com>, George Dunlap <gwd@xenproject.org>,
 Meng Xu <mengxu@cis.upenn.edu>, Juergen Gross <jgross@suse.com>,
 Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <9f20b6ac8176da6c67e1084e862158a2e47abc40.1779285422.git.oleksii_moisieiev@epam.com>
 <3b09cd9b-f0f1-41d6-a118-d0ea855f27d6@suse.com>
 <4439d1a5-7999-4e8e-b852-ea67e2473208@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <4439d1a5-7999-4e8e-b852-ea67e2473208@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1782387309-2E5591CC-872A1153/10/73395122804
X-purgate-type: spam
X-purgate-size: 4150



On 6/25/26 8:31 AM, Jan Beulich wrote:
> On 27.05.2026 11:08, Juergen Gross wrote:
>> On 20.05.26 15:57, Oleksii Moisieiev wrote:
>>> XEN_DOMCTL_SCHEDOP_putvcpuinfo can flip the RTDS_extratime bit on a vCPU
>>> that is currently depleted (cur_budget == 0, possibly sitting on the
>>> depleted queue). rt_dom_cntl() touches only svc->flags; cur_budget is
>>> left unchanged. As a result the next code path that calls runq_insert()
>>> on this vCPU - rt_unit_wake() after a domain_unpause(),
>>> rt_context_saved() following a delayed runq add, or repl_timer_handler()
>>> after a replenishment - places the vCPU on the run queue, because
>>> has_extratime(svc) is now true and runq_insert() admits extratime units
>>> regardless of cur_budget:
>>>
>>>       /* add svc to runq if svc still has budget or its extratime is set */
>>>       if ( svc->cur_budget > 0 ||
>>>            has_extratime(svc) )
>>>           deadline_runq_insert(svc, &svc->q_elem, runq);
>>>       else
>>>           list_add(&svc->q_elem, &prv->depletedq);
>>>
>>> The very next rt_schedule() iterates the run queue from runq_pick()
>>> and trips the ASSERT(iter_svc->cur_budget > 0) at the bottom of the
>>> loop, panicking the host. Observed trace:
>>>
>>>       Assertion 'iter_svc->cur_budget > 0' failed at common/sched/rt.c:1035
>>>       ----[ Xen-4.22-unstable  arm64  debug=y ubsan=y  Not tainted ]----
>>>       [<...>] rt.c#rt_schedule+0x1558/0x33e0 (PC)
>>>       [<...>] core.c#do_schedule+0x2e4/0x15b4
>>>       [<...>] core.c#schedule+0xb14/0xe50
>>>       [<...>] softirq.c#__do_softirq+0x20c/0x3d4
>>>       [<...>] do_softirq+0x14/0x1c
>>>       [<...>] domain.c#idle_loop+0x194/0x558
>>>
>>> Minimal reproducer: pin a single-vCPU domU to a pCPU, program RTDS with
>>> extratime off and a low utilisation (e.g. budget = 10ms / period = 100ms)
>>> so the vCPU spends most of its time in the depleted queue, pause the
>>> domain, issue a putvcpuinfo that sets XEN_DOMCTL_SCHEDRT_extra, then
>>> unpause. As soon as the schedule softirq fires on the pCPU, the BUG
>>> hits. The same sequence is reachable without an explicit pause: any
>>> window in which rt_dom_cntl() runs between burn_budget()'s budget
>>> exhaustion and rt_context_saved()'s runq_insert() also closes onto the
>>> same broken state, because the per-scheduler lock is dropped between
>>> those two points.
>>>
>>> The semantics for "extratime gets exhausted budget refilled" already
>>> live in burn_budget():
>>>
>>>       if ( has_extratime(svc) )
>>>       {
>>>           svc->priority_level++;
>>>           svc->cur_budget = svc->budget;
>>>       }
>>>
>>> Apply the same priority-demotion-and-refill in rt_dom_cntl() when the
>>> flag transitions from off to on while the vCPU is depleted, clear
>>> RTDS_depleted to match, and - if the vCPU is currently on the depleted
>>> queue - move it to the run queue using the same q_remove() +
>>> runq_insert() pattern already used by repl_timer_handler(). The vCPU
>>> remains on the replenishment queue throughout, so its normal
>>> replenishment cadence is preserved.
>>>
>>> The complementary transition (on -> off) is already safe: clearing the
>>> flag only narrows the runq_insert() admission condition, so subsequent
>>> depleted insertions correctly route to the depleted queue.
>>>
>>> No other call sites need changes: with cur_budget restored before the
>>> flag is observable to runq_insert(), runq_pick()'s long-standing
>>> invariant (every run-queue entry has cur_budget > 0) is preserved.
>>>
>>
>> This is missing
>>
>> Fixes: 463b95831778 ("xen:rtds: towards work conserving RTDS")
>>
>>> Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
>>
>> With the "Fixes:" tag added:
>>
>> Reviewed-by: Juergen Gross <jgross@suse.com>
> 
> And then perhaps wanted in 4.22 right away (rather than later as a backport).
> Oleksii?

Since this issue leads to an ASSERT, I'd prefer to have it fixed now 
rather than rely on a later backport.

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

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 11:36:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 11:36:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345534.1604381 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wciNY-0005vr-8c; Thu, 25 Jun 2026 11:36:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345534.1604381; Thu, 25 Jun 2026 11:36:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wciNY-0005vk-5n; Thu, 25 Jun 2026 11:36:20 +0000
Received: by outflank-mailman (input) for mailman id 1345534;
 Thu, 25 Jun 2026 11:36:19 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wciNX-0005vc-Of
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 11:36:19 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wciNW-002pM9-7o
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 13:36:18 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3d12b1-bab6-0a2a0a5309dd-0a2a450ad1a8-6
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 13:36:18 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3d12b1-e40e-0a2a450a0019-d1558035d0c0-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 13:36:18 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-4903d730b1fso23238605e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 04:36:18 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-492660b62e5sm55323335e9.8.2026.06.25.04.36.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782387377; x=1782992177; 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=pEz2ZCL63hyDQGUxZ7c36yOze4ZLcJF1uZkk0Mm7bVc=;
        b=FDhDjrub6OiRGZNO+jRKvxm/gs8XYC694O96atY6oNvhGtR1+Dl64XfV8fL2O9JVvm
         cLUTyL4zu8CpnP62ai+7sKe9d1z3YW3P6l+mUmBa6uMmDfIjfgeTghsB+S9vUA77RlDy
         OQguLZXfDX+m9vjBNVu/XsIIAZOuHl7adiQ/BXlkICU7+iIoegNTtB4uLrjhVmeh+fui
         dLwVWpYC3e2msK/sgbcP4hODvnNKdBK1ANqjAC612bBDw2V1nH9yySzCWNzyi624mhYG
         sAT+SBUdc2FDdhynJF3+C/VLTDrVs5qnazAFjCVFdESCNLGQkyrdn+oZpzgN9za8AjAs
         b/SA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782387377; x=1782992177;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=pEz2ZCL63hyDQGUxZ7c36yOze4ZLcJF1uZkk0Mm7bVc=;
        b=AhvuiIK2PuE6DgFJlZ5hUbbEImTus5JpWzqljYL2lbQlGiFgjWXrt+ohJBBx6OULEZ
         Fc2bcpYG9lpksQ3QsELe8FaRVvIfE/F0wHRMc3zjsqJDglfvpV9uxvhOICQKyEdH14Qn
         diMRaSZ8t4HiOSTKjKvSAPRPlVmOhRSZK50s0bWKoyaVcn27HBkcgFAwXRwAbNm5kbjQ
         IRrN7d5LPOmeGOwODGonXDunN6FnjYk7eNkasMYsxXuLTj49k4yQPY33qawDLta8qmoK
         +xZnc4xYtKYaUA0WxrDZWdJ9MCDApLDDGgcvAkizub0tWyIQwp1cSkQ/1RHpaiKm1CWY
         1NkA==
X-Forwarded-Encrypted: i=1; AFNElJ/8bgWLGRthCGxMkIQsBokr3TpB4fDoqGd8g0X17ZmRn4fgKkn/vhFBe1lXWaAkW7RiKbWmsI1oP0M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwdEnSEwYBd3MJGrJHu990Cb4E2tNZ8ccuAsWXOb9N24zo3FsRC
	V1DdUmJ2fEmr8l5n0S1g0MZ9G0Eu0Vat7HKDh5Ic6Pt7pSC/vsN+oX07HtSZ/Q==
X-Gm-Gg: AfdE7ckhKP1WC/0+bpgIUTinifJOruCE2AfXemC4s1yL9smuqBJbyYfUqCSTlL5FPDC
	CKytHDEQrOPAByP+iD/wC5xaCVXV8bObL3ypYi8OuNwRO3lLa5pqoEsrSE2ICYCODVdePMRmV+0
	jLL/I5LDoJiIXcmEdohpXt4vZD04YqEpsWRKyiy9UB2cyejMNRpSfSTHYyeVrfJJ6JZJuO1ZCUv
	mRMnzT1GdbnQuNOKrXFuqVg6rSGSF2XAIvemYW5E6nmWPqtbigYKmjp3l3UyusxmILXEw5YVcnI
	V/W/npF0Kj2DEOe9kUKVccDIDRVkFWzuwvVONBa5CH9Yj5q1ZttLZU9RKcE3hO+QSsvSN2F9BAD
	Xp/XWJfI2ft24YWx5b4rbIHVLyDGgjuKt+NTa+Ja6CZLwqtrhrzbFYvJg8+6PjTZ7cJQGz8hueg
	XWHe24rsdT8ns06XO8T0EX/0gtw8Wc7MhrdSesAs0twKJCYZH0EKNPiLEpOdTDahQKUtY=
X-Received: by 2002:a05:600c:c491:b0:490:4ee0:82ff with SMTP id 5b1f17b1804b1-492668833b2mr28912605e9.27.1782387377488;
        Thu, 25 Jun 2026 04:36:17 -0700 (PDT)
Message-ID: <ccf1f58f-68f2-4136-8759-5df043381329@gmail.com>
Date: Thu, 25 Jun 2026 13:36:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/2] xen: introduce CONFIG_HAS_SHARED_INFO for archs
 without a shared page
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>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1780494838.git.oleksii.kurochko@gmail.com>
 <7ed7b888e203b7cc6c3a3a82b3bcc89d90b3fb48.1780494838.git.oleksii.kurochko@gmail.com>
 <d63a3877-286a-43fe-97fa-301985c3a0ac@suse.com>
 <910ed097-10d8-41a2-9035-a3f10d60c214@gmail.com>
 <73452348-466c-462d-884e-f181fe12b293@suse.com>
 <e8fa36f3-e8ae-47a9-9f75-0b8f9a306a02@gmail.com>
 <c0f66758-f0e8-4a29-bb7f-f43e14ecb976@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <c0f66758-f0e8-4a29-bb7f-f43e14ecb976@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-4011c0/1782387378-D7935DDE-D3D66498/10/73395122804
X-purgate-type: spam
X-purgate-size: 1854



On 6/25/26 1:23 PM, Jan Beulich wrote:
> On 25.06.2026 13:19, Oleksii Kurochko wrote:
>>
>>
>> On 6/25/26 1:04 PM, Jan Beulich wrote:
>>> On 25.06.2026 12:50, Oleksii Kurochko wrote:
>>>> On 6/17/26 3:26 PM, Jan Beulich wrote:
>>>>>> +#define shared_info(d, field) \
>>>>>> +    (*(typeof(__shared_info(d, (d)->shared_info, field)) *)shared_info_absent())
>>>>> How about the simpler
>>>>>
>>>>> extern struct shared_info *shared_info_absent;
>>>>> #define shared_info(d, field) (shared_info_absent->field)
>>>>>
>>>>> ?
>>>>
>>>> This could lead to compilation error:
>>>>
>>>> common/domain.c: In function 'vcpu_info_reset':
>>>> common/domain.c:316:20: error: unused variable 'd' [-Werror=unused-variable]
>>>>      316 |     struct domain *d = v->domain;
>>>>          |                    ^
>>>> cc1: all warnings being treated as errors
>>>
>>> #define shared_info(d, field) ((void)(d), shared_info_absent->field)
>>>
>>> Which it should have been anyway, to make sure the first argument is evaluated.
>>
>> I expected that as shared_info() is used as an lvalue whose address is
>> taken (&shared_info(d, vcpu_info[...])). To "consume" d we can't just
>> prepend a comma expression as &(comma_expr) is illegal since a comma
>> result isn't an lvalue.
>>
>> Trying what you suggested leads to:
>> common/domain.c: In function 'vcpu_info_reset':
>> common/domain.c:320:26: error: lvalue required as unary '&' operand
>>     320 |         ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
> 
> Ah yes.
> 
>> Thereby this option:
>>     #define shared_info(d, field) (*((void)(d), &shared_info_absent->field))
>> will be better.
> 
> Or maybe
> 
> #define shared_info(d, field) (((void)(d), shared_info_absent)->field)
> 
> ?

This option looks better. Ill apply it.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 11:59:07 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 11:59:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345549.1604389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcijJ-0002BS-UL; Thu, 25 Jun 2026 11:58:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345549.1604389; Thu, 25 Jun 2026 11:58:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcijJ-0002BL-RN; Thu, 25 Jun 2026 11:58:49 +0000
Received: by outflank-mailman (input) for mailman id 1345549;
 Thu, 25 Jun 2026 11:58:49 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcijI-0002BF-VJ
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 11:58:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcijI-003cYv-8N
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 13:58:48 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d17ef-e002-0a2a0a5209dd-0a2a4502c44a-26
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 13:58:48 +0200
Received: from [209.85.221.43] (helo=mail-wr1-f43.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d17f7-5a27-0a2a45020019-d155dd2ba8a5-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 13:58:48 +0200
Received: by mail-wr1-f43.google.com with SMTP id
 ffacd0b85a97d-4631679f204so463450f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 04:58: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-46c9787dddbsm14542073f8f.3.2026.06.25.04.58.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 04:58: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782388727; x=1782993527; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=VgaRhSXevnMm9oMm+Kf4wda22FuiE6H2iz33JnJ+iNs=;
        b=JXDroEhIegMAFBi8FEBq3bGHK/QYNeCxoZxmtXD7QsHKRDf3ul0HslGfcdiJMVSvZG
         vvw1BkJSDlgDIyHFS5beXyIbJtJtL/w7GlpmAAYdq+ofuUUBpNbjWGqbtdnXj3Brci4T
         chxdafas7QtLeStT7akduW/yog+1BUUG65MXiASmlyXEi8WRCwUSoW2Bd0xLKSZiIGfi
         KQxMFOCxKjfuIDWwcyPZGeZqzrftzeHIyWoaUi+oRjmB+ov2rgrB9nl1A03urBhKnzn7
         1ZMaV+RxrIBezYSfTJ2rnSn/lzpI8yAzPiKMgXOHrEpzASOrGqnhrR+hPqeFkZeVImNF
         ZFNg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782388727; x=1782993527;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VgaRhSXevnMm9oMm+Kf4wda22FuiE6H2iz33JnJ+iNs=;
        b=Op5Wh/aQNtXfRky4djNZkA95aftdcUf4aehs9U7z9mHfr0r1FNfsBB5NCgiyAPLPFN
         yUZzCCIp/WTnK9viOpBtTuFSRgXnuxQGHJv6oU1uwzLAUBcMiHYbiBsuNxCULq4HpG90
         Qcr3bshavlpelX8bnU3qgLXbaJw3VWIhlY0UnSaqpJFcB+h7pfbI6QUfFos1WEaUXLsE
         B5JaZZ/jjSqIAz0E23eagL9kzihdjO5igiB3JxWgNUhUD7SGIodr9DrU75K8/71ZP9Xn
         LSs1HCO2R2xdTBmZ6IZJ6L53TJDqcvzbqf6h4/OiX1QJWKdvbXZPdrysUIzraJmSi1iZ
         Qkrw==
X-Forwarded-Encrypted: i=1; AHgh+Ro6J+vb7VPSZQaIb+ZVTJdOtFmSpKEzMVs2LM5w3CR3hWTC2hCjcJ25ilkW7RKpbxMstGvsMXjDwr8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzbXmJpWt0s7Zby2ogdPalrniyvT/tMBlzh9B9TQgDVA2lBtl6H
	7cuSKfSoUipEXYvE6JoBwY5kXelIQdYg7b9fA4YkqIkGVwX0zxGqn91/vR2uaWdALd78TQ0kNqK
	DIWH0rg==
X-Gm-Gg: AfdE7cnQkUmdvD6BQmZG352j/dNEYyd6ZdLa7kWThtd5+f+7A7E1N5p6kJkpubJ2a3/
	rt/ieBB+RsKtJboKBBp0sfNpb1jAmWxkbbLdJijbd4oPi8YlQXVmUt69mzeZ+K/p3spSA18Nr4a
	YpJgpRiIJlPMYhyjaHNxx/7ADGxGVIFvoI4QQ+LqrlQ8cLqXKODS7owNPKy4jubw/vzJvqC+2oa
	dTtsYKB/jBczdxoMiqfhbocZtwQ293VG9CmbENSas9xy/lap1kk4xQDU9MOFA2dN72J0UlXGjWM
	L6XNKi0xojxJBAvGTwpkzN5uuSlDh4mJJ4hqm0xyy1+JYOPM3ev2q7uWQyY2MTQojcUkZhn5Oon
	jrc83Ffk73zhuHSGvtuK7YPCKLjjAL7yTzVSB+lMq6xLkLSDLIdmoE3QkN0iy1H9bIrxR42kwyK
	jJ7S5XQV1F/7ewsVGKo8cfqgwdbXBk7QpNa7Rw4ZVrfJZL1O96LtEb7ZbmpKwA04+mV/gzYlJdV
	rJ7
X-Received: by 2002:a05:6000:2904:b0:462:caf6:8d06 with SMTP id ffacd0b85a97d-46a7e9f3ea0mr21398579f8f.3.1782388727505;
        Thu, 25 Jun 2026 04:58:47 -0700 (PDT)
Message-ID: <6b4564ff-49b4-4332-b2ac-5ae093b62de1@suse.com>
Date: Thu, 25 Jun 2026 13:58:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/6] nestedsvm: Fix CR3 MBZ check
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <jason.andryuk@amd.com>, Teddy Astie <teddy.astie@vates.tech>,
 Ross Lagerwall <ross.lagerwall@citrix.com>, xen-devel@lists.xenproject.org
References: <20260526124027.573412-1-ross.lagerwall@citrix.com>
 <20260526124027.573412-2-ross.lagerwall@citrix.com>
 <b9ddc37c-216b-4c18-8d77-03ce641d2614@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: <b9ddc37c-216b-4c18-8d77-03ce641d2614@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1782388728-4CF017C5-DDC4F85E/0/0
X-purgate-type: clean
X-purgate-size: 2078

On 26.05.2026 15:01, Andrew Cooper wrote:
> On 26/05/2026 1:40 pm, Ross Lagerwall wrote:
>> The existing code checks for any reserved bit set while the APM only
>> considers it invalid if an MBZ bit is set. Relax the check to match the
>> APM and hardware.
>>
>> Some of the reserved bits were observed to be set running Rocky Linux
>> 10.1 on Xen on Xen.
>>
>> Fixes: 9a779e4fc161 ("Implement SVM specific part for Nested Virtualization")
>> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
>> ---
>>  xen/arch/x86/hvm/svm/vmcb.c | 6 ++----
>>  1 file changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/xen/arch/x86/hvm/svm/vmcb.c b/xen/arch/x86/hvm/svm/vmcb.c
>> index 975a1eaef806..9ada491e57db 100644
>> --- a/xen/arch/x86/hvm/svm/vmcb.c
>> +++ b/xen/arch/x86/hvm/svm/vmcb.c
>> @@ -347,10 +347,8 @@ bool svm_vmcb_isvalid(
>>          PRINTF("CR0: bits [63:32] are not zero (%#"PRIx64")\n", cr0);
>>  
>>      if ( (cr0 & X86_CR0_PG) &&
>> -         ((cr3 & 7) ||
>> -          ((!(cr4 & X86_CR4_PAE) || (efer & EFER_LMA)) && (cr3 & 0xfe0)) ||
>> -          ((efer & EFER_LMA) &&
>> -           (cr3 >> v->domain->arch.cpuid->extd.maxphysaddr))) )
>> +         ((efer & EFER_LMA) &&
>> +           (cr3 >> v->domain->arch.cpuid->extd.maxphysaddr)) )
>>          PRINTF("CR3: MBZ bits are set (%#"PRIx64")\n", cr3);
>>  
>>      valid = hvm_cr4_guest_valid_bits(v->domain);
> 
> The APM does say MBZ for VMRUN, but the end result of a VMEntry (virtual
> or otherwise) must be a legal CR3 value.
> 
> For 5.2.1 CR3 Register (Legacy) and 5.3.2 CR3 (Long), the APM states:
> 
> Reserved Bits. Reserved fields should be cleared to 0 by software when
> writing CR3.
> 
> What's the real behaviour for trying to set a reserved, non-MBZ bit in
> CR3?Â  On Intel it's strictly a #GP, and I really hope it's the same on AMD.

As to Intel - are you sure? The MOV to/from control register page has this:
"When PCIDs are not enabled, bits 2:0 and bits 11:5 of CR3 are not used and
attempts to set them are ignored."

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 12:11:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 12:11:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345563.1604398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcivC-0005G0-3G; Thu, 25 Jun 2026 12:11:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345563.1604398; Thu, 25 Jun 2026 12: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 1wcivC-0005Fs-0Y; Thu, 25 Jun 2026 12:11:06 +0000
Received: by outflank-mailman (input) for mailman id 1345563;
 Thu, 25 Jun 2026 12:11:04 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcivA-0005Fm-Cv
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 12:11:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wciv9-00DP6c-CU
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 14:11:03 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d1ad6-e002-0a2a0a5209dd-0a2a4505b84e-2
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 14:11:03 +0200
Received: from [209.85.128.47] (helo=mail-wm1-f47.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d1ad7-3cb2-0a2a45050019-d155802fb589-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 14:11:03 +0200
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-490cf3000f0so22232065e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 05:11: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-49265c89253sm30227015e9.0.2026.06.25.05.11.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 05:11: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782389463; x=1782994263; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=0RTohjRGWkZvsbKvM9Em1lITJ+oOC+v0ko+4dMOmK44=;
        b=LFejnZkt3TEUd2Hb0mXbYwtuQkK6FPMb3urMpkLMdtLVuc1j+CDw+PoCi++2bNcGPJ
         qsB6tk99LX24k6vMoaTMn/SBGD2bY6BY4IQbWFPUkUNYqEXJcBCxptE6X0yU0GFjn8BK
         TwGM+sueX+8r0RPK28l0vU7cFuXFtHDh2qincpU9gegeH3qPh83x3e4EUcpjXKxw+u6W
         AG8FUr66XXZ7+MH611iMkYacZf8rJJ348hJ3xucldtaikOwUGingKO9oz48IJMmFpKx+
         29qPCFSf4JSPsUAr8A7olPRkwpdg90z5FTvrJOfYGr/rr1UQAqtFUOIy+WTC26LL0ZP2
         Mlfg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782389463; x=1782994263;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0RTohjRGWkZvsbKvM9Em1lITJ+oOC+v0ko+4dMOmK44=;
        b=rxEtqnuDTUNmSD95/iM3C+s4F1OWF6fKkkFptYiE99QOd37ssDTvhaPlnqYClw9BMi
         IPznvZPg4A7rxoVt4NYBU1QAFKDJrihhWJJgDy+5og+dpiKSASGOpaoezXK5rd/+GJ0d
         HyHRkEM5myIymmIVvbcKFH/CCIxQez/xPqqPFtjOS5RXYKCOKhIqB+RXhEtp+b3rpxdI
         81nuvHOFPLSkp321JBL1doJK97bLnRmC97kXy8E+a6FYxfvIvEv2mme2kRWNHpFxys7q
         2JivDtjxcwt5TUK7QZGdeAc07yPmSz0pNysk39dckkI6LiNyerajnQm8TFg1fOp6a4Mo
         xMLQ==
X-Forwarded-Encrypted: i=1; AFNElJ+ddgiDKGJm3P6loFVr8sBG0KuH8780Rd75KBJRhq7SuM/8sGQIGmW1onLNPvyeGmvzP2hPSvEVLRo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YytHqTyDKBJ29CSGT2T0orlxOLeG1natFpY+wkXxJ1At4aBg6aY
	x8auLd4INKXuZUSRWr1Uitw1sUyOpMvzyl05nUxjE4AMqTaf4sv4JA4BvFwh/6JUtg==
X-Gm-Gg: AfdE7clVujny/+mOVVZQQWpXeATO0mfrxpw9kOMc1/loye05nVoDeZ4qRWy2rwxnUk/
	tSap7xNMzVeFgOSPYkP5OEsIenDE+FDFilRKK3b5yem/tAqDBrqruLCly75ClUrhmqIEJs5/HBC
	P3+Epwk4M10qgwWmYpM027xQOQWhOx68NmugctmAqi9GjDyFpl4ObfXUR7EvVV8WvX2r6VjFLBi
	uS6TsDO6VH7J5VfvpNacDnnD7aeo1liV+fSvj/gPNfvt9xycoSD5MBvw+Fw3rDYWprys0n94Dyl
	GvEu8cQeL6w4notI7Kx9E4yhA7UkisXvSD8q6i13qgQHEfKW59OAAEnDTUpwjw3co162RSYzBJs
	OVcrptwPds7YFOYCdFSLivgZZ6bsJbRgKKHPITO39aZtfHaCldldRWsy2J6rw6Bd2qqpmxBgkpr
	g9NGKH3hqyrPwOGqwO/iVPJidFOxZq5khI+sGY5AYTEaPQEPNn7bT8TSbXzBAhXkVf6fnawGioP
	0As
X-Received: by 2002:a05:600c:138b:b0:492:4a50:41fe with SMTP id 5b1f17b1804b1-49266891ffcmr26493055e9.22.1782389462665;
        Thu, 25 Jun 2026 05:11:02 -0700 (PDT)
Message-ID: <1e0fd5bd-8472-4d6c-9df6-0a6d22af51c7@suse.com>
Date: Thu, 25 Jun 2026 14:11:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 6/6] nestedsvm: Allow destroying the domain fully
To: Ross Lagerwall <ross.lagerwall@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <jason.andryuk@amd.com>, Teddy Astie <teddy.astie@vates.tech>,
 xen-devel@lists.xenproject.org
References: <20260526124027.573412-1-ross.lagerwall@citrix.com>
 <20260526124027.573412-7-ross.lagerwall@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: <20260526124027.573412-7-ross.lagerwall@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-c201ff/1782389463-171142B8-B0CBC202/0/0
X-purgate-type: clean
X-purgate-size: 703

On 26.05.2026 14:40, Ross Lagerwall wrote:
> Unmapping the virtual VMCB is performed near the end of the domain
> destroy procedure but the mapped guest frame prevents domain destroy
> from getting to that point. This means guests that call VMRUN cannot
> be fully destroyed.
> 
> Move the unmap of the virtual VMCB earlier to fix the issue.
> 
> Fixes: bcf557675d85 ("x86: properly use map_domain_page() in nested HVM code")
> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Afaict this is independent of the earlier patches, and hence could go in once
the tree is properly (or at least partly) open again after branching?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 12:48:17 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 12:48:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345585.1604407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcjV3-0003O6-Nf; Thu, 25 Jun 2026 12:48:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345585.1604407; Thu, 25 Jun 2026 12:48: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 1wcjV3-0003Nz-L2; Thu, 25 Jun 2026 12:48:09 +0000
Received: by outflank-mailman (input) for mailman id 1345585;
 Thu, 25 Jun 2026 12:48:08 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcjV2-0003Ml-1u
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 12:48:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcjUz-008s3l-LD
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 14:48:05 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d2380-bab6-0a2a0a5309dd-0a2a450990d4-32
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 14:48:05 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d2385-97e6-0a2a45090019-d1558035d487-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 14:48:05 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-49249072f03so12603075e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 05: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
 ffacd0b85a97d-46c1eef84d7sm17029247f8f.16.2026.06.25.05.48.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782391685; x=1782996485; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=F6s7KQweRtxfVNBQzgv/IxFoTXoEaHz5+xNzZ7eaob8=;
        b=FIXReWoGWqxgESwoh9l3Yp/yQW6GTTfbOtZQ/EUoZGpXIA5EzWaajKZWx8qnR7e4o5
         rfEtN0hb3BKq0Svi/mjVsfBTQT3EW/oihSTIBto6icu1/QDg8UMfmTtE/txRg6XQ9Ok0
         WxUw/ZY3SjKk0ORnDbP/jH/lmNMPZ5ogm1Z5FBQSRTOLb+jhh7oMNqSvlSU5p0/py2wI
         zfC0gvW1eNYB1wfc4gegj9MdWtk8raWyrZZghq+59vouAW1JPqjmqHw9E2Mp5QmfDZ3v
         XqwRZeS1M+0Wy5UMdOaN4lhxVhlFuOajhLa6YThSpWQnzZ8tS0ioBmmNKjAmCBgzcLSV
         LeEw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782391685; x=1782996485;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=F6s7KQweRtxfVNBQzgv/IxFoTXoEaHz5+xNzZ7eaob8=;
        b=J8pqsoMeu7rbx7eqqUORaELE7zcZLxAYp5ioHteAZpDmjaz8TPr9Tz5dztv0M5uCZs
         cXtQIpP5JEYcXEMrLrMP/LE1krG9+h0HJCgcHEyq1d65tyH4qzRTtBw2GcjPXPVBhD93
         rOw312kJiJjWTVXydYFQK56qjXCvd7ChxoAOicE3Juv4msY8eKumEmv258pxwPi7jFrE
         UmNWpNNR7DLdCbI7Uuj8dmo4FLh7Mc6iCPc5FyPT5unXweVsDaz5MUxRdf5KbFCKP7vI
         bk2tReFskD1xMIXIUAHCNoaUmra7KnDIGnoUrpQqS2YGiN+yg89GuHJvwZkDXn9/0UwR
         SrNA==
X-Forwarded-Encrypted: i=1; AFNElJ80WvRyes/D18R5u7iC+IxY0HvNeufHrT0TS7oOXOx/PNZ+N/conHHoAD+5tu436eaHEAmVxlQc8XQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzYM0VocqZph4wm7xAr+TVUoq5DCcO4Qp7RcPvZRGkNIwFt2iDv
	7PCSR987uUlmEUfp+jJBojnQdL0P4QalYHWXlRKoTY89QhFYRG5ufsiYp7qZzrn3Hg==
X-Gm-Gg: AfdE7cnbOImH/VVwI7ubLcOdlsRb/bg49M18db4JWRfDg2Hxp04YaoJbuzzarLk+Buj
	UCdRMEzm3+9CWIsIAzo+mjsfFVx92wzIS3wCWFgaRDWuR0aGVvYX/0SXxzjCGKYaR2r60iUpJtf
	3LzFAxDVhGbv/IygiwH8n6UlCVvuZ/toyZq+1mHz7miDmFH8skqCqCplQ3BfKIQ5/3WPu+tGl/p
	9qtHXo/C47zteH+xwdo5qKsYDuOJQcJPKoA6RoJEayyzZj1638aqyx0cYFVbYlOuLu0FF+3ZlQx
	ffBBcAtoKOhKupPWmruA1d4gV5nnhSIsPwbnhaPXzLDSnL9G/UDnPESmT5FpTkM1t5Z4aNBkRqq
	+sL9GdS05QN1jLE4TAEO501QqLA+sNtyyub0629wg2Hi6+iBjZCIwfmLSkDzRMwDMA8WwZkunmj
	ZcjIY8kiUeC8Qw6mKu0fHgMDKLqXpNMe5Fq4264cfg08S3cscCRy+wTBLsJIOmqkLHvRL02iDwh
	yz3
X-Received: by 2002:a05:600c:8b72:b0:492:46c2:f5b9 with SMTP id 5b1f17b1804b1-4926684a6f7mr32624465e9.3.1782391684699;
        Thu, 25 Jun 2026 05:48:04 -0700 (PDT)
Message-ID: <d5ad16d1-3eec-4fda-9897-146f803d9c7c@suse.com>
Date: Thu, 25 Jun 2026 14:48:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tests: Improve 'make test': Run all build-time runnable
 tests
To: Bernhard Kaindl <bernhard.kaindl@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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Teddy Astie <teddy.astie@vates.tech>,
 Stewart Hildebrand <stewart.hildebrand@amd.com>,
 xen-devel@lists.xenproject.org
References: <72ab1053a6d04f007f70620dace33c1e675353d5.1779981804.git.bernhard.kaindl@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: <72ab1053a6d04f007f70620dace33c1e675353d5.1779981804.git.bernhard.kaindl@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1782391685-47B33986-28820B77/0/0
X-purgate-type: clean
X-purgate-size: 4356

On 28.05.2026 17:25, Bernhard Kaindl wrote:
> --- a/Makefile
> +++ b/Makefile
> @@ -92,6 +92,7 @@ build-docs:
>  .PHONY: test
>  test:
>  	$(MAKE) -C tools/python test
> +	$(MAKE) -C tools/tests test

This means they're run sequentially, when really they could run in parallel.

> --- a/tools/Rules.mk
> +++ b/tools/Rules.mk
> @@ -189,7 +189,7 @@ INSTALL_PYTHON_PROG = \
>  %.opic: %.S
>  	$(CC) $(CPPFLAGS) -DPIC $(CFLAGS) -fPIC -c -o $@ $< $(APPEND_CFLAGS)
>  
> -subdirs-all subdirs-clean subdirs-install subdirs-distclean subdirs-uninstall: .phony
> +subdirs-all subdirs-clean subdirs-install subdirs-distclean subdirs-run subdirs-test subdirs-uninstall: .phony
>  	@set -e; for subdir in $(SUBDIRS) $(SUBDIRS-y); do \
>  		$(MAKE) subdir-$(patsubst subdirs-%,%,$@)-$$subdir; \
>  	done
> @@ -200,6 +200,20 @@ subdir-all-% subdir-clean-% subdir-install-% subdir-uninstall-%: .phony
>  subdir-distclean-%: .phony
>  	$(MAKE) -C $* distclean
>  
> +subdir-run-%: .phony
> +	$(MAKE) -C $* run
> +
> +subdir-test-%: .phony
> +	$(MAKE) -C $* test
> +
> +ifeq ($(CC),$(HOSTCC))

I understand you lift this up from uses elsewhere, but I'd suggest thinking
of ways to improve things while generalizing. CC and HOSTCC can very well
be different, and the output can still be run. What wants to be sufficiently
similar is e.g. the output of -dumpmachine (whether the middle part of the
triplet needs to match is not quite clear to me; whether e.g. the last part
differing in a suffix [e.g. -linux vs -linux-gnu] may also want considering
a match I similarly can't quite say; what I can say it that pre-built
compilers on the distro I'm looking at yield x86_64-suse-linux, while my
self-built gcc-s yield x86_64-pc-linux-gnu, yet both obviously target the
same thing).

> +define RUN_TARGETS_IF_CC_IS_HOSTCC
> +set -ex; for test in $? ; do LD_LIBRARY_PATH=$(DISTDIR)/install$(libdir) ./$$test ; done

If LD_LIBRARY_PATH wants fiddling with here, I think you want to prepend to
what may already be there. Since quite a few of the tests don't reference
any of our libraries, I'm not convinced though that this wants/needs doing
here (instead of perhaps per test).

> --- a/tools/tests/cpu-policy/Makefile
> +++ b/tools/tests/cpu-policy/Makefile
> @@ -15,9 +15,9 @@ endif
>  .PHONY: all
>  all: $(TARGETS)
>  
> -.PHONY: run
> -run: $(TARGETS)
> -	./$<
> +.PHONY: run test
> +run test: $(TARGETS)
> +	$(call RUN_TARGETS_IF_CC_IS_HOSTCC)

Try (perhaps with a trivial, independent Makefile containing just

run test:
	@echo $@

) to invoke "make run test". You'll see the rule is executed twice, once for
each target. I think you want

run: test

or the other way around. Generally I'd expect "run" to be the "on build host"
target (based on how we use it right now, with ./$(TARGET) invocations). The
other mode might better run stuff from the install/ directory. However, which
one is "run" and which one is "test" is of course simply a matter of
convention / agreement.

> --- a/tools/tests/mem-claim/Makefile
> +++ b/tools/tests/mem-claim/Makefile
> @@ -11,14 +11,7 @@ all: $(TARGETS)
>  #  Can also be called with "make run-tests-mem-claim" from the toplevel.
>  .PHONY: run
>  run: $(TARGETS)
> -ifeq ($(CC),$(HOSTCC))
> -	set -e;             \
> -	for test in $? ; do \
> -		./$$test ;  \
> -	done
> -else
> -	$(warning HOSTCC != CC, will not run test)
> -endif
> +	$(RUN_TARGETS_IF_CC_IS_HOSTCC)
>  
>  # The tests in this directory need to run in a privileged domain (Dom0)
>  # with libxenctrl and a matching the hypervisor to test running it.

Hmm, this doesn't match present staging, yet you also don't mention any
prereq-s this is to go on top of.

> --- a/tools/tests/vpci/Makefile
> +++ b/tools/tests/vpci/Makefile
> @@ -8,11 +8,13 @@ all: $(TARGET)
>  
>  .PHONY: run
>  run: $(TARGET)
> -ifeq ($(CC),$(HOSTCC))
> -	./$(TARGET)
> -else
> -	$(warning HOSTCC != CC, will not run test)
> -endif
> +	$(call RUN_TARGETS_IF_CC_IS_HOSTCC)
> +
> +# The tests in this directory need to run in a privileged domain (Dom0)
> +# with libxenctrl and a matching the hypervisor to test running it.
> +# Therefore, they don't run with the native test target for build-time tests.
> +.PHONY: test
> +test:

I don't think this is true here.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 13:05:16 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 13:05:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345602.1604416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcjlK-0006xM-2t; Thu, 25 Jun 2026 13:04:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345602.1604416; Thu, 25 Jun 2026 13: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 1wcjlJ-0006xF-W0; Thu, 25 Jun 2026 13:04:57 +0000
Received: by outflank-mailman (input) for mailman id 1345602;
 Thu, 25 Jun 2026 13:04:56 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcjlI-0006x9-NU
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 13:04:56 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcjlH-00DX5K-L9
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 15:04:55 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d2772-bab6-0a2a0a5309dd-0a2a450b80b0-8
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 15:04:55 +0200
Received: from [209.85.221.41] (helo=mail-wr1-f41.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d2777-ac48-0a2a450b0019-d155dd29c086-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 15:04:55 +0200
Received: by mail-wr1-f41.google.com with SMTP id
 ffacd0b85a97d-46cbe01d4b6so1157348f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 06:04: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-46c2279bc77sm14898952f8f.32.2026.06.25.06.04.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 06:04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782392695; x=1782997495; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=FVIPN8pSxaqWMTYph54uStLbwSMZzn3jochsu9C1I+8=;
        b=eXZ+ZNF86HdwXlYeBYd8TTcHev9u5BS3WkwW9ZFv8Img8TUFp01uOBnBA0eaZ7g2vV
         WwmHaxDD9cAf5JrtIcBPUFkfQimBqQCduJt4QglJv6PQe2nE+JX2UgnTsB17Zq47mb/s
         DUFSpn2iBqRhzH1HlWV197qMIg5L3mMh1NuQc+ksNUhz8KKkgHKgQjFSgGBqWIY+8XPQ
         cFY2h/+oRO+FPxHcS9f14yRdfMyrwP0gQ8pk0IwV0zmmDUnruw6tZWKfZpbJQsExnCVY
         bNaqz3y8Rwlh2AXMPvAzHhnhK6sAFv6X9V85w3xQivONe29hLhbtv10pcACGaKk5IZ6W
         QA6A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782392695; x=1782997495;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FVIPN8pSxaqWMTYph54uStLbwSMZzn3jochsu9C1I+8=;
        b=S5EFDaPM5GU9ylmJ65Bp7NixawJS2mGf0XdKvwPeV6klMYQd+RYfee4YCHEHGa4Xel
         0sk79SPo1fvT/y2sReUirr9BliBuskx2LzTEC5h3QBRvUFe0ZB2NKhfJMpNBYidvf2sR
         12O0C2tsWSWC4vsRZDttkMEuIl8bNnHipFurEHJYx+aAy4sqXoOoO46KKrCN1bZXV9xs
         MaOadEKbmb9QYi9/1bFPB1JSF0jGN3Ufv+ynNUg3T7+wg7W04RtBp46J6bQmxyGiXDdN
         sxjjlW4OAf4LByYJe0MXNnz9HiMzKWLzgMGepDWekqqx1V0n2nhzHEjJ8c1BS6/2omMR
         /fUA==
X-Forwarded-Encrypted: i=1; AHgh+RoiAGi34LZEwpqrtrpYD77YwIDdYom/RAkAMLYHZHi1xlrldCT/4Nvnx+eG7N6CaKRSSYvog997+NU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzcC6UBPaR3c7o580N3hyRW28OaBbPSzgcSQg2Mrfu/8x9UVwmP
	6ef6YvdLm00PxZCT2hYG+mBcNpxTDyQl5OJ5Hr/qxjFOeEVq5EOQ5AYDS+9UKq+KQQ==
X-Gm-Gg: AfdE7clsE690qdNby0OD/Kd/CfGE5TRlOldU+WlxNNJbPyIriIm4gYY5+W7lc+zub4h
	p6wvSkF804YckoDLdrB4CVm0RITRZvi4xGhuXCnvL2dGPpDYdsbvV/tA/s+sIdIDPSd0MbJmWif
	w19vJ2c7bT0KlsBqGpExxewe7p8ML4/N9n9zpn+njOR/8v3B4wjOwT6l1FmM2k5BSANVaVwV9y2
	daG5wtinEaOj3XCvv8fhe0Mc7Zs2t3BoT5Jiwxn+5VPhXu96QqTZebyQgsXVombOT8WcnBDy+wZ
	8n9aXvEDfECW9Wz7rizxHSSB3HKUCtRjKhXQPaqCysyz4DP2pBz8NbvdFyPXp1vfY5jIPjA0Y/+
	9T3zanZTVuZBkrRdO67s9Cw781726H9ddMA/4gclGNAMQTzQOMqC6R1JSANzRF+OfXmzY/mGQ+a
	ZfdAKgZsIsOeqc6Sg/5i4AQEraqDysl1HwUVaVr5uvOchi5dC8B0Q/wBCnNP3rI+9XXKh6+R83m
	c7s
X-Received: by 2002:a05:6000:29d2:b0:46d:d5da:f0aa with SMTP id ffacd0b85a97d-46dd5daf1ffmr2580001f8f.45.1782392694757;
        Thu, 25 Jun 2026 06:04:54 -0700 (PDT)
Message-ID: <ca45cbd3-8f39-4017-b2f9-e69b8a708188@suse.com>
Date: Thu, 25 Jun 2026 15:04:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 1/3] xen/mm: Introduce per-node free page counter
To: Bernhard Kaindl <bernhard.kaindl@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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alejandro Vallejo <agarciav@amd.com>, xen-devel@lists.xenproject.org
References: <cover.1778272036.git.bernhard.kaindl@citrix.com>
 <a0b83b0781319009c3862389469dc59db59e0b29.1778272036.git.bernhard.kaindl@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: <a0b83b0781319009c3862389469dc59db59e0b29.1778272036.git.bernhard.kaindl@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-42698a/1782392695-A4F2E220-207EA23B/0/0
X-purgate-type: clean
X-purgate-size: 3045

On 08.05.2026 22:27, Bernhard Kaindl wrote:
> From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> 
> Add node_avail_pages[], updated under heap_lock in sync with
> avail[node][zone] to cache the per-node sum of free pages.
> 
> Use it in avail_node_heap_pages() to avoid summing all zones on each
> call. Guard it with nodeid < MAX_NUMNODES and node_online(nodeid).
> 
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
> ---
> This patch was originally sent by Alejandro Vallejo:
> https://lists.xenproject.org/archives/html/xen-devel/2025-03/msg01130.html
> 
> I use node_avail_pages[] in avail_node_heap_pages() as an optimisation.
> 
> Verification of the changes:
> 
> 1. node_avail_pages[node] is updated whenever avail[node][zone] changes,
>    so the two remain in sync.
> 
> 2. avail_node_heap_pages() previously summed all zones of a node and now
>    returns node_avail_pages[node], so the same free buddy pages are
>    counted.
> 
> 3. avail_node_heap_pages() returns 0 for offline nodes and for nodes
>    >= MAX_NUMNODES as before.
> 
> 4. avail_node_heap_pages(-1) returned the sum from all nodes, equal
>    to total_avail_pages, but this is not used by current callers.
>    avail_heap_pages(z, z, -1) is used by other callers for that instead.
>    To avoid dead code, a check for -1 to implement this is not added.
> 
> Update locations:
> 
> - free_heap_pages() increments node_avail_pages[node] alongside
>   avail[node][zone] when pages are freed, including during heap
>   initialisation.
> 
> - alloc_heap_pages() decrements node_avail_pages[node] alongside
>   avail[node][zone] when pages are allocated.
> 
> - reserve_offlined_page() decrements node_avail_pages[node] alongside
>   avail[node][zone] when pages are offlined.
> 
> Colored pages do not go through the buddy allocator.
> Since they do not update avail[node][zone], they are
> not reflected in node_avail_pages[node] either.
> 
> N.B. Current callers already iterate over online nodes only.
> 
> Changes since v6:
> - Preserved the 0 return for offline nodes and nodes >= MAX_NUMNODES.

Hard to identify what v6 was (and who, if anyone, asked for the change) when,
afaict, the patch subject changed.

Reviewed-by: Jan Beulich <jbeulich@suse.com>
with ...

> @@ -2831,7 +2837,9 @@ unsigned long avail_domheap_pages_region(
>  
>  unsigned long avail_node_heap_pages(unsigned int nodeid)
>  {
> -    return avail_heap_pages(MEMZONE_XEN, NR_ZONES -1, nodeid);
> +    if ( nodeid < MAX_NUMNODES && node_online(nodeid) )
> +        return node_avail_pages[nodeid];
> +    return 0;
>  }

... a blank line inserted ahead of the "main" (not really here, just by its
indentation) return.

One other remark: With the function called from just a sysctl and a
keyhandler, the direct array access is likely fine. Generally it would
want to be array_access_nospec() though, when accessible from guests.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 13:07:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 13:07:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345611.1604425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcjnz-0007td-Eq; Thu, 25 Jun 2026 13:07:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345611.1604425; Thu, 25 Jun 2026 13: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 1wcjnz-0007tW-CF; Thu, 25 Jun 2026 13:07:43 +0000
Received: by outflank-mailman (input) for mailman id 1345611;
 Thu, 25 Jun 2026 13:07:42 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wcjny-0007tP-Bk
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 13:07:42 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcjnx-005Rbi-On
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 15:07:41 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3d2815-2eae-0a2a0a5409dd-0a2a4504aab0-20
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 15:07:41 +0200
Received: from [40.93.195.60]
 (helo=SN4PR2101CU001.outbound.protection.outlook.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3d281a-a01d-0a2a45040019-285dc33c9bf0-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 15:07:41 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by BY1PR03MB7261.namprd03.prod.outlook.com (2603:10b6:a03:526::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Thu, 25 Jun
 2026 13:07:34 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0159.015; Thu, 25 Jun 2026
 13:07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=WC9UauOpbH7xl2i4/xjVDUzoPG2mvs87sUr5CCmunvvG2rWtCMDi6518ARIVoWY63CFj8eFMI/muGVyOqPsYwrCZLlohZ0dwmFkcfSLHNMTpzUvEoD+MG3r+JZ7zCEFYFjsxoNuak1HizHXtkE0svCT8GRRrqPNXhlAqjpdBnabEkPKrj3PXT+5+b3rbtDRoBcOVNEyqbzNbF9OHw/4s2ruSBdC9kIGnEwUbTQm82UBFSKEQE279SVOgc3mRXcsGcfre23PS14ZNh/hDpsMGSmETcIhIpxNehCKfevyyPZD8tqnJEjuN3r0mCbaAMkArJGUBYS2HKJowJPn4/+d9iQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rJAtNnNTQ0xDAY4Zu9aq3RpDUrWDd3fvU18IzTnvZuI=;
 b=vXdY4E4ODjk8lCrm17T5Mu45kZaR9YZltV4pTaGoUxaTLfRLvUMZyjLytAi+lRkBEZW4Y+mtHv0IA8BqlNyenyY3gFV0u4IUXBYJRLpIXaFO1bdv9Qm/umilwv/JNayH+XzwnELEJQ2YXcInw2OyiwifR6cwJMehTrHBrW5hKOo/b0DBDMwTxI/Fb4er4l884cj4evHsCYOVjmhagYkT5WCJHt06/GNHeB12GSMG9R6SP6BL8f6nNI6cpJaw1vpldyGUqlmf/JLpm13Z2rvPrV6uP+Z7KhpcFeJfyOtX0zQIMETFSC8RBh4ZDuqYQsLlKIk4admdjKP4PPY8v9mPgg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rJAtNnNTQ0xDAY4Zu9aq3RpDUrWDd3fvU18IzTnvZuI=;
 b=GXbhg1CrkW1cL7DiQiU1X+31HvrL4+QdutxEMuOg519TGZs4U75jp9DeZCzUUkivGAKAcvrKOKH7eKvzcnJ8+lgBH65xhAK09bYgMhemo4f0vO5kt1rMU66eUqeX6gZQp2UiWmR7LrczyfWiRsmcPstaXR+fg/D5znd9HjUpii0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 25 Jun 2026 15:07:29 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
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>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH for-4.22] char/ns16550: bound execution time of
 ns16550_interrupt()
Message-ID: <aj0oEQ6_g94Rg83D@macbook.local>
References: <20260623103145.76383-1-roger.pau@citrix.com>
 <06c8caab-4722-4b02-991f-bdc4a4ac0ea6@suse.com>
 <ajqVNtt02XMUGk-X@macbook.local>
 <cdf9f154-896d-4faa-8c76-ca15cf5e706e@suse.com>
 <ajqsQr-bhf4SGf8Q@macbook.local>
 <d7920786-7424-4634-80f0-994ea2857d1c@suse.com>
 <ajz-GVoEG4toMs3P@macbook.local>
 <2b574332-61f6-4a78-9dea-4b0973c8a3f1@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <2b574332-61f6-4a78-9dea-4b0973c8a3f1@suse.com>
X-ClientProxiedBy: MR1P264CA0106.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:50::6) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|BY1PR03MB7261:EE_
X-MS-Office365-Filtering-Correlation-Id: a1b344f5-03fc-492a-124b-08ded2bab8db
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|23010399003|1800799024|376014|11063799006|6133799003|18002099003|22082099003|4143699003|56012099006;
X-Microsoft-Antispam-Message-Info:
	vr+Ex48xZVVYYpDNoAAO5VHGX3tk4omEmrC7HxK8tm53kG5YOt2otDAanwj0/bDGvL0WAAoPAbVjCj2/nV/+vJKH6nz4QNn5sO/3UTH4/YYwwPUsS7P411WmH1zpEsxoUdFuyJ/nNn0jK36exhovdcc7/cQB2Xwd2VqcXeXwcExf+8QwGhBdak4jxLfPwCyQe2uTZwYGpiiwwrIk4Vf1yZKfv7JmAFmHSXJbA4m3JZWTidlqACeL8HuZtXVbG+50U8pjmfJsKknlOy1ndH5yuv5raNby99WyWxfThxemxA/Y0jyBUXOjx6cOfzc7Hx2r6NwqKt8Emyv9CLF+4DQFnm4LcckuW5mLxb5cLDw5+wU61GgHroAe40TbcNyl6PIN8S8UcnuGwBHUxx4daEsHYCqE6+nA/0wvjhVa1r3GTFxyvtDzPmNd/OcCAUoZIrgeWVZW1kUR2qAEx06UUsc8DqBAYB/biRE4R1Nm5lDSPBIzl1c5qe0MTzI+JLQB5t9FtbEiIGikfGJJwnQMAxh4tF0kCJN4AaFl86bOQxoA9CtTDGFN9uoD6X5vwSe6kI/9Agh+LP3DHK+eI2AKds2C6g6LxC9dURAUlMOTvhUWqhp7znH4ToIIDJCoM1OsnMop/uAshdfD2RzD50Weys2e88StJjd8iPwD35ibBSpH1lQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(1800799024)(376014)(11063799006)(6133799003)(18002099003)(22082099003)(4143699003)(56012099006);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TXRqcVhvUjVaUENFS1hsUnVhbGRHR0xHa1hZNGVOeitGT3NRV0F0eFZVZXJz?=
 =?utf-8?B?UWVQRHpjZ0x1ek13NHAwZW5LQ1NicHl1dndMUVB6Ulc3OURaOVl4WCtxeEVL?=
 =?utf-8?B?V3o0U0pYRUwwa0xwMGxSM3J4aGIva3ZrM1VVUysrQmtybUR1RlZwRzFETFdJ?=
 =?utf-8?B?c2l4MC9FTHpKSnBGS1gzOE9wdTJnKzNmYXI2WWRaK2NBR2g3R1AyK2xYZ3Ru?=
 =?utf-8?B?YWhocEg0UHZvTWFhaHBDRjBmNERsV2JtQ05VQ1FNVUpOVS9jR1FTZXVDTXJo?=
 =?utf-8?B?VDBNQkNoNTliQmpkZ3VER01HYXZ3d3BUczZGQzhXV05DTXdPbEhZOE1sK0dS?=
 =?utf-8?B?RzJSWkRVUnZ6UnRYSVpVN3d4TS9nbURwbzM4dTB0Zk5WTFhONUc0bnZXRktC?=
 =?utf-8?B?eXZDY3RyeHQzWkJVaFo1Mkp3QUpLNlkzWER1SmpkaGVvcmZRenhUeUpTN29s?=
 =?utf-8?B?aGl2SU9NdUJhMFkrZlNpUzdXYVBOemx0M0FUcGtpYTd0dWhEciszUk4raUUx?=
 =?utf-8?B?cThKNWx5dG9vazVFV1dtdnFVUkRWSTQzTDZuQSsvVFVCVzg3ZkNzc0VVMWs0?=
 =?utf-8?B?cEludEhGME9qNGxMeUVlRklNTEhnZGJXU2ZWbEhkT29LRDZLY1RYRXB4VUJC?=
 =?utf-8?B?UU1EdnljQ1pOemFpem1LNHpTbTU4Y0kxcDMyc1BPS2t5LzUvZ2JQRVlLVEc5?=
 =?utf-8?B?SzFnb1lHWjhMZnFHd0lOZnVhRFFuTXJIT3lQa1ppcDRSR3AyOHJXbFJ3Vnll?=
 =?utf-8?B?RlVtU2FvcUt6VDJhQVB3R0IrNXkyYms0WDk2WkwweldqOU02UzN0YkZhQlhx?=
 =?utf-8?B?MzBUVytiL2xmbWtmNFo5TWlJTCtNK1hGV2pjcE92YkEwQUVDVWR6MzVxZWl1?=
 =?utf-8?B?WjNXZVIwWHp4LzFCYWU2bW51T1JwbmFlQSsxV0EwSEhCcVRzTFVLUFJjeEpZ?=
 =?utf-8?B?ZjdyT1VDaG9aamc0VTgyMGI2aTVXQ1FOc0dzR3ZBZWpjbWZYSjEvNUJ4bldD?=
 =?utf-8?B?UTVJNFJOQTV3b2x3YjM5UVNSOEVoSHU4YTY2L1VyOTJpbUlFYkM1M20wTnRN?=
 =?utf-8?B?eWUrTGlCb0k2TGJGWTBQOTJDVVVFazhSS0NHbjhQa3pQeWltZDh2MjJSVVY1?=
 =?utf-8?B?aFJXdmlHNzJIQ1ZHV0hlOHdLQjlWWURodmwzRVBZaFNuakZ3VVdLYmtMeVZz?=
 =?utf-8?B?dEF1ZDhnY3E5TWFpOERmSUVMSkRZRXpud0VUa3llTFk3S2MrdXBBZGJIa2M0?=
 =?utf-8?B?WnArQkMwQmhuOXF0ZXNoME14SHZVOWNPN2FyWHpsbjdCNlFyOEpEMG5QSFJ5?=
 =?utf-8?B?U0o5aElVYnoraU5sMVREZC9vZmUvN05qaEZ3bzZSOGhsa1VPYWNpOTZsc1Jx?=
 =?utf-8?B?bGJsVS95YWY4ME1JSHdFbGhlREpvRi85Ry9wdGJnTUF4OVJFbUlUL0hWTG1j?=
 =?utf-8?B?d2F6UFZvcTdpR21jUFZFTzFtY3h5cGdjTXJyb09BR2x1dVR2Q0NTemwvcmZE?=
 =?utf-8?B?bm42RkxVeUxjdUdTQnpUL21jeHcyTEt4clFmSGxCWVBVVUVleEYrdWRnKzB6?=
 =?utf-8?B?WmZ0cll0Zmc5ZnlkRHpoeUpsWElRZC9rWDJGaGY3dUFLRTBSQnNENFhBZE54?=
 =?utf-8?B?Zm5wNFkzNWx2RWY1bUlwQllrRklSa0dGSHN1elJET0hnRVFWQk1meFg2WW4v?=
 =?utf-8?B?UEFSdmRTQTdLaEVlU0FVa2dpcTdlWjN1VTlUbjBDTkthZmFqMDY2WFhZbkh1?=
 =?utf-8?B?VmxESEd3YlFTcXg1U1hrcDNId2R5dUdrY1AyU0ZYTjZDTWx5Z056VzRLSmZH?=
 =?utf-8?B?dTUxeUhGTXFFZkhHVkpWTmoyWHNYTXFZSGQ4NS9aZkRwN1E1c3JDR1dqR3VI?=
 =?utf-8?B?dTkrQlhoUVlLRTQxZUY3WndQSGRGdTIxejVhdUhxVDloVVIyem5URXZnTStw?=
 =?utf-8?B?Y1pibjl5TUVBR2NkZW9rSGUzUFh4cW4rdmdpRTlOS3p2NERWWSswbmlDTkVK?=
 =?utf-8?B?MDZ3QTVDd3BHYWtFM1N4d2pvWVNPZHZ5TEJTOHg0TEtWeVpLUXFjcmtseXRz?=
 =?utf-8?B?V3FCSWthdXFHVTJsYmhKYVc4VFFRVkVLeFN2QkRCRFQvYmcwbGlUUW1SUVYv?=
 =?utf-8?B?ZVE1ZWYrTUpYNHFaZS9vMzZXS0J4TXRwbzhmalcwMWx6bjFra3YrcnJrRm5k?=
 =?utf-8?B?ZHlUVEI1WmF2T0IwbjZybUYzVDdYZlM1YkFRSXdITldWSTFDcGxHWlU5Q0VF?=
 =?utf-8?B?Z3VBbS9CclluTjFCYTNzYVFuV20rdmljenJselBXWUxPWjljWlRQZVBTUkJB?=
 =?utf-8?B?SFp1QWFJNS9jYTV4K1VidUJia0Q1dUxjMDB0KzNyMGVIN2lPTjNaUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a1b344f5-03fc-492a-124b-08ded2bab8db
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2026 13:07:34.2694
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: indGixgaPsMmp//nl1rzgnxhUi9B2R3nbprG8NccC877+UTUbf4+akXH5HGemy/WNp4BAFpiuS2+JsGaXzeAOw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB7261
X-purgate-ID: tlsNG-ebf023/1782392861-AE3371CC-635E7363/0/0
X-purgate-type: clean
X-purgate-size: 4507

On Thu, Jun 25, 2026 at 01:31:26PM +0200, Jan Beulich wrote:
> On 25.06.2026 12:08, Roger Pau MonnÃ© wrote:
> > On Wed, Jun 24, 2026 at 10:01:36AM +0200, Jan Beulich wrote:
> >> On 23.06.2026 17:54, Roger Pau MonnÃ© wrote:
> >>> On Tue, Jun 23, 2026 at 04:27:12PM +0200, Jan Beulich wrote:
> >>>> On 23.06.2026 16:16, Roger Pau MonnÃ© wrote:
> >>>>> On Tue, Jun 23, 2026 at 03:44:06PM +0200, Jan Beulich wrote:
> >>>>>> On 23.06.2026 12:31, Roger Pau Monne wrote:
> >>>>>>> +    if ( uart->force_polling )
> >>>>>>> +        return;
> >>>>>>
> >>>>>> As the IRQ was disabled, is this even possible? I.e. should this be some
> >>>>>> kind of assertion or alike?
> >>>>>
> >>>>> Hm, I wasn't setting IRQ_DISABLED before, and hence needed this guard.
> >>>>> But now with IRQ_DISABLED being set in ->status do_IRQ() should filter
> >>>>> any stray interrupts.  I will attempt to add an ASSERT_UNREACHABLE()
> >>>>> here.
> >>>>
> >>>> Simply ASSERT(!uart->force_polling) should do here? It is not wrong to
> >>>> run the code below in release builds in such an event. If we kept getting
> >>>> interrupts (perhaps at a high frequency) we'd be in trouble anyway.
> >>>
> >>> No, I'm afraid I can't do it like that, I can't put an ASSERT there,
> >>> because we can still get into ns16550_interrupt() after the interrupt
> >>> has been disabled.  In do_IRQ() we have the following loop:
> >>>
> >>>     while ( desc->status & IRQ_PENDING )
> >>>     {
> >>>         desc->status &= ~IRQ_PENDING;
> >>>         spin_unlock_irq(&desc->lock);
> >>>
> >>>         tsc_in = tb_init_done ? get_cycles() : 0;
> >>>         action->handler(irq, action->dev_id);
> >>>         TRACE_TIME(TRC_HW_IRQ_HANDLED, irq, tsc_in, get_cycles());
> >>>
> >>>         spin_lock_irq(&desc->lock);
> >>>     }
> >>>
> >>> So if the device is generating further interrupts in the window with
> >>> IRQs enabled (while we execute the handler), we will keep looping
> >>> around this, without taking into account the setting of IRQ_DISABLED.
> >>
> >> Ah yes.
> >>
> >>> This is something that we might want to fix, so that the loop is bound
> >>> by IRQ_PENDING being set, and IRQ_DISABLED not, ie:
> >>>
> >>>     while ( (desc->status & (IRQ_PENDING |Â IRQ_DISABLED)) == IRQ_PENDING )
> >>
> >> Or perhaps ahead of the loop
> >>
> >>     desc->status &= ~IRQ_REPLAY;
> >>
> >>     if ( desc->status & IRQ_DISABLED )
> >>         goto out;
> >>
> >>     desc->status |= IRQ_PENDING;
> >>
> >>     /*
> >>      * Since we set PENDING, if another processor is handling a different
> >>      * instance of this same irq, the other processor will take care of it.
> >>      */
> >>     if ( desc->status & IRQ_INPROGRESS )
> >>         goto out;
> >>
> >>     desc->status |= IRQ_INPROGRESS;
> >>
> >> thus also having the comment no longer describe only part of the conditional.
> > 
> > I think this is racy.  An interrupt hitting in the window with
> > interrupts enabled ahead of the handler having set IRQ_DISABLED will
> > still set IRQ_PENDING, and thus the loop would get executed a further
> > time, and the handler called after IRQ_DISABLED having been set.
> 
> Hmm, I don't quite agree with how you put it, but I think I see what you mean.
> There's one question here, though: If PENDING is set first, and DISABLED only
> later, shouldn't that IRQ instance still be handled? If so, ...
> 
> > I think we need an extra condition in the loop, I see no way this can
> > be solved only by dealing with the concurrent setting of IRQ_PENDING.
> 
> ... such an extra condition would be wrong. If not, yes, I agree.

But PENDING is always set, regardless of whether the IRQ is disabled,
the normal flow in do_IRQ() is:

    desc->status |= IRQ_PENDING;

    /*
     * Since we set PENDING, if another processor is handling a different
     * instance of this same irq, the other processor will take care of it.
     */
    if ( desc->status & (IRQ_DISABLED | IRQ_INPROGRESS) )
        goto out;

I think it's valid to have both PENDING and DISABLED set with the
current logic.  In fact, the code in ack_edge_ioapic_irq() relies on
having both PENDING and DISABLED set to mask the source, as the
->disable hook for edge triggered IO-APIC pins is a no-op.

We could likely change all this to be more straight forward, but as
with the serial interrupt handling I would rather not do that change
during a code freeze.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 13:31:05 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 13:31:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345633.1604444 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wckAU-0004UG-B5; Thu, 25 Jun 2026 13:30:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345633.1604444; Thu, 25 Jun 2026 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 1wckAU-0004U9-6d; Thu, 25 Jun 2026 13:30:58 +0000
Received: by outflank-mailman (input) for mailman id 1345633;
 Thu, 25 Jun 2026 13:30:57 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wckAT-0004U3-8C
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 13:30:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wckAS-003wvN-Kh
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 15:30:56 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d2d8a-2eae-0a2a0a5409dd-0a2a4503c326-22
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 15:30:56 +0200
Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d2d8f-ec1a-0a2a45030019-d1558036d95a-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 15:30:56 +0200
Received: by mail-wm1-f54.google.com with SMTP id
 5b1f17b1804b1-490b3637b90so15061535e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 06:30:56 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-49264082426sm77120365e9.9.2026.06.25.06.30.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 06:30: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782394255; x=1782999055; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=70o//AS/ueYIBHfWCHjMu1YWzzj9a1OdpJnyPS470L4=;
        b=YHwFvWbvxCQFN5qavULP+zcQeNzkeIJXySnASmkVdtzJeULBbk/VFMhdCT2ZVhwHpy
         0ZC1H1zBEcPEjK4Q61IZHNsEkGeUT3Ue8ZJjCbE3nFnAcmKkTdfkHP+oJqc2Ffu9tPoU
         nkjfsz5ziOvzVS+9PDV9zsZQ+tenu2Q+zEqF53p13f5WfBgCPYIwIkgGRCugRigiSs1d
         40QZQ5aT66DYE036KrQ7LaYZMV6tug3h/rMt8aqbw8A92u8GSefG8bmi52j/mG+2JEqd
         N22F2mvrp5E5VrenO4M7soiI8TjLAPbhn4wiIj29mhmaSb1A4uKCwmlU1EF+NMP8m/gR
         +pOQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782394255; x=1782999055;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=70o//AS/ueYIBHfWCHjMu1YWzzj9a1OdpJnyPS470L4=;
        b=I2O9fzJU6eU+lArFKsW8x2+ACUlx8aTbeU7Xo2fASF+NJE2WZ5IiLYiDP26HB4hYv4
         pXhLFv8wtqaz3P7JA3hrb88g9ayt9r/B+93hbKcQhnw/1QYFVYhmozD7iF1m9Dmlx6/k
         DQlTp5S1EhN8qtZYvDj1CTdv93UdvrHN2UFVB3RqKw1a/NJGh7iLlmgVBsP+jICNuf1n
         IR/bkq+zxTyG/l3TACLbLH8HNZPof8+S+5xzfnxyrnruiueHpdWg2oLGSD0Sz42IwGen
         iCr1z5G/qA8wl9kIYyO1CHlosTfWY79VxgrUXMpjogUJq8vslXYDiYYcUghli+ySkIOB
         H/Eg==
X-Forwarded-Encrypted: i=1; AFNElJ8XPIjkWD2WCNfGzvOaYUttgRBnC06CWmLMvK69C8YhRy7q0g+ZaSTWJKLTKJNGnsK1uIEvbl4O6bo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywk5CM80fbhxlZSB9v9G9h45lV65EX11cOD4xY6gUlZOvUR2LMg
	1npvV6hq01yKtppkohmQweisC2JV0OqQ7hYLg9L3XpS41RdkpPhJU+oZF74hko5GCA==
X-Gm-Gg: AfdE7cmAXiA1ot8QBFIYeaKmjtCwyQfLCfmMuz2bpkQySPqhtzjD/c8h1YwQ2rIZhub
	7v5/NjCNPBGxVayfAJXXPJikyGGET1GqCbrGUpu99t2uAYQU0oyZ49gRLG5yeBkIXa4qtpx5e9U
	MlsLdHZLoFIGMroxosWqGD/vo8VP69vZLWPBA45Sb/hvM+Y8OmebwH85i4biVi/HiPd9w31Hwo5
	PiIBwQ1S5AsZFXllG2/KhEbTYkPI0MZaq2TZQMv7M1JGMWRoBevB/giBD/BntaA/bJWRep0zRJG
	FcCaoSGfYQmuwxl9eDzjfdt72+QQGm4ApvndOr/hJqpQCs8YEIvJP498n/EM4v1RvcvnSWZEqSH
	s5j4irrtaLDh7t1kfFehFDC0E5m3XRyZedu47bd2Ih4N6/AGyb1q1A8DOpt8HmKOSy6xs+eJATW
	x2Kg6EHa9dRmo5qiIoQ5ZplfPuSEvOjAWF8JSTNWZW/6b04g06L+ytJ29Dg/m3XqjSCNfaExyAD
	sWG
X-Received: by 2002:a05:600c:6b70:b0:490:b06a:649e with SMTP id 5b1f17b1804b1-49266893253mr23158155e9.25.1782394255316;
        Thu, 25 Jun 2026 06:30:55 -0700 (PDT)
Message-ID: <28707464-ecd0-40a5-96e2-0afd3d33f34d@suse.com>
Date: Thu, 25 Jun 2026 15:30:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 2/3] xen/mm: Introduce NUMA-aware memory claim sets
To: Bernhard Kaindl <bernhard.kaindl@citrix.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, 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>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <cover.1778272036.git.bernhard.kaindl@citrix.com>
 <ddcc692d642aaf6dec84dcdb17ebaf2b8c09c7b0.1778272036.git.bernhard.kaindl@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: <ddcc692d642aaf6dec84dcdb17ebaf2b8c09c7b0.1778272036.git.bernhard.kaindl@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1782394256-B61315D1-B4E21B97/0/0
X-purgate-type: clean
X-purgate-size: 9202

On 08.05.2026 22:27, Bernhard Kaindl wrote:
> This commit extends Xen's memory claim design to support installing claim
> sets spanning multiple NUMA nodes atomically. As Roger Pau MonnÃ© suggested:
> 
>   Ideally, we would need to introduce a new hypercall that allows
>   making claims from multiple nodes in a single locked region, as to
>   ensure success or failure in an atomic way.
> 
> A claim set can contain multiple node-specific claims and a host-wide
> claim for memory that may come from any NUMA node. The new domctl
> installs the full claim set atomically, and the allocator is updated
> so that claim checks and claim consumption follow the new semantics.
> 
> This adds:
> 
> 1. installing multi-node claim sets atomically,
> 2. protecting claimed pages from other claim requests and allocations, and
> 3. redeeming held claims when satisfying allocations.
> 
> Legacy XENMEM_claim_pages behaviour is preserved; the interface is
> deprecated and superseded by XEN_DOMCTL_claim_memory.
> 
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> Signed-off-by: Bernhard Kaindl <bernhard.kaindl@citrix.com>
> 
> ---
> The v7 design document submitted ahead of this series may help with review.
> It explains the background, design rationale, and implementation details.
> 
> Rendered version: https://xen.kaindl.dev/claims-v7-design/designs/claims
> 
> Many thanks to everyone who contributed to the earlier work and review:
> especially Roger Pau MonnÃ©, Alejandro Vallejo, Jan Beulich, Andrew Cooper,
> Marcus Granado, and Edwin TÃ¶rÃ¶k.
> 
> Thanks,
> Bernhard
> ---
>  tools/include/xenctrl.h             |  11 +
>  tools/libs/ctrl/xc_domain.c         |  28 ++
>  xen/common/domain.c                 |   5 +-
>  xen/common/domctl.c                 |  57 ++++
>  xen/common/memory.c                 |   5 +-
>  xen/common/page_alloc.c             | 410 +++++++++++++++++++++++-----
>  xen/include/public/domctl.h         |  38 +++
>  xen/include/public/memory.h         |   2 +
>  xen/include/xen/mm.h                |   6 +-
>  xen/include/xen/sched.h             |   4 +
>  xen/xsm/flask/hooks.c               |   1 +
>  xen/xsm/flask/policy/access_vectors |   1 +
>  12 files changed, 493 insertions(+), 75 deletions(-)

And there's no way to split this some? I'll only do some light review for now.

> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -1319,7 +1319,10 @@ int domain_kill(struct domain *d)
>          rspin_barrier(&d->domain_lock);
>          argo_destroy(d);
>          vnuma_destroy(d->vnuma);
> -        domain_set_outstanding_pages(d, 0);
> +        /* Release all outstanding claims of the domain. */
> +        domain_set_claim_entries(d, 1, &(xen_memory_claim_t){
> +            .target = XEN_DOMCTL_CLAIM_MEMORY_HOST, .pages = 0,
> +        });

This is pretty badly formatted. Maybe

        domain_set_claim_entries(
            d, 1,
            &(xen_memory_claim_t){
                .target = XEN_DOMCTL_CLAIM_MEMORY_HOST, .pages = 0,
            });

? (Applies elsewhere as well, obviously.)

Whether the .pages field needs explicitly mentioning is questionable.

> --- a/xen/common/domctl.c
> +++ b/xen/common/domctl.c
> @@ -51,6 +51,57 @@ static int xenctl_bitmap_to_nodemask(nodemask_t *nodemask,
>                                     MAX_NUMNODES);
>  }
>  
> +/* Set or get memory claims for a domain. */
> +static int claim_memory(struct domain *d,
> +                        struct xen_domctl_claim_memory *uinfo, bool *copyback)
> +{
> +    xen_memory_claim_t *entries;
> +    int rc = -EFAULT;
> +
> +    /* Reject LLC coloring; alloc_color_heap_page() does not handle claims. */
> +    if ( llc_coloring_enabled )
> +        return -EOPNOTSUPP;
> +
> +    switch ( uinfo->mode )
> +    {
> +    case XEN_DOMCTL_CLAIM_MEMORY_SET:
> +        if ( !uinfo->nr_entries )
> +            return -EINVAL;
> +        if ( uinfo->nr_entries > MAX_NUMNODES + 1 )

Why's MAX_NUMNODES and MAX_NUMNODES + 1 as an input permitted?

> +            return -E2BIG;
> +        break;
> +    case XEN_DOMCTL_CLAIM_MEMORY_GET:
> +        if ( uinfo->nr_entries > MAX_NUMNODES + 1 )
> +            uinfo->nr_entries = MAX_NUMNODES + 1;
> +        break;
> +    default:
> +        return -EOPNOTSUPP;
> +    }

Here and elsewhere - blank lines please between non-fall-through case blocks.

> +    if ( d->is_dying )
> +        return -ESRCH;
> +
> +    entries = xmalloc_array(xen_memory_claim_t, uinfo->nr_entries);

Better xzalloc_array() (really xvzalloc_array()) seeing ...

> +    if ( entries == NULL )
> +        return -ENOMEM;
> +
> +    switch ( uinfo->mode )
> +    {
> +    case XEN_DOMCTL_CLAIM_MEMORY_SET:
> +        if ( !copy_from_guest(entries, uinfo->claim_set, uinfo->nr_entries) )
> +            rc = domain_set_claim_entries(d, uinfo->nr_entries, entries);
> +        break;
> +    case XEN_DOMCTL_CLAIM_MEMORY_GET:
> +        rc = domain_get_claim_entries(d, &uinfo->nr_entries, entries);
> +        *copyback = true;
> +        if ( !rc && copy_to_guest(uinfo->claim_set, entries,
> +                                  uinfo->nr_entries) )

... this copy-out.

> +            rc = -EFAULT;
> +        break;
> +    }

Missing default:.

> @@ -865,6 +916,12 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
>              copyback = true;
>          break;
>  
> +    case XEN_DOMCTL_claim_memory:
> +        ret = xsm_claim_pages(XSM_PRIV, d);

This and the xsm/flask/hooks.c change will need reworking, to fit the spirit
of XSA-492.

> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -1276,6 +1276,42 @@ struct xen_domctl_get_domain_state {
>      uint64_t unique_id;      /* Unique domain identifier. */
>  };
>  
> +struct xen_memory_claim {
> +    uint64_aligned_t pages; /* Number of pages to claim. */
> +    uint32_t target;        /* NUMA node or special target constant. */
> +    uint32_t cmd;           /* Reserved, must be zero. */

Why is this named "cmd" when it's reserved?

> +};
> +typedef struct xen_memory_claim xen_memory_claim_t;
> +DEFINE_XEN_GUEST_HANDLE(xen_memory_claim_t);
> +
> +/* Special claim targets for the target field of xen_memory_claim_t. */
> +#define XEN_DOMCTL_CLAIM_MEMORY_HOST     0x80000000U /* Host-wide claims. */
> +#define XEN_DOMCTL_CLAIM_MEMORY_LEGACY   0x40000000U /* Legacy semantics. */

I think the latter should be internal to Xen, and in particular not be
permitted with this new domctl.

> +/*
> + * XEN_DOMCTL_claim_memory
> + *
> + * Install or query a domain memory claim set. A SET operation replaces the
> + * existing claim set atomically. Claims are redeemed by later allocations to
> + * the domain. A SET request whose entries all have pages == 0 releases any
> + * existing claims.
> + *
> + * For GET, callers may pass nr_entries == 0 and claim_set == NULL to query the
> + * number of records needed. Xen returns -ERANGE and updates nr_entries. If the
> + * supplied array is too small, Xen returns -ERANGE and updates nr_entries
> + * without copying partial records.
> + */
> +struct xen_domctl_claim_memory {
> +    /* IN/OUT: Array of struct xen_memory_claim. */
> +    XEN_GUEST_HANDLE_64(xen_memory_claim_t) claim_set;
> +    /* IN/OUT: Number of records in the claim_set array. */
> +    uint32_t nr_entries;

What is IN and what is OUT looks to differ between GET and SET.

> +    /* IN: Operation to perform on the claim set (GET or SET). */
> +    uint32_t mode;
> +#define XEN_DOMCTL_CLAIM_MEMORY_SET 0U /* Set the claim set for the domain. */
> +#define XEN_DOMCTL_CLAIM_MEMORY_GET 1U /* Get the claim set of the domain. */
> +};

And there's no way to fetch overall claims?

> @@ -131,7 +132,10 @@ 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);
> +int domain_set_claim_entries(struct domain *d, uint32_t nr_entries,
> +                             const struct xen_memory_claim *claim_set);
> +int domain_get_claim_entries(struct domain *d, uint32_t *nr_entries,
> +                             struct xen_memory_claim *claim_set);

Please see ./CODING_STYLE as to the use of fixed-width types. In the latter
case I can see justification, but in the former I can't.

> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -419,6 +419,10 @@ struct domain
>      unsigned int     xenheap_pages;     /* pages allocated from Xen heap */
>      /* Pages claimed but not possessed, protected by global heap_lock. */
>      unsigned int     outstanding_pages;
> +    unsigned int     node_claims;       /* Sum of per-node claims. */
> +    /* Domain objects use dedicated pages, leaving room for per-node claims. */
> +    unsigned int     claims[MAX_NUMNODES]; /* Per-NUMA-node claims. */

Potentially too big an array to embed directly here.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 14:32:32 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 14:32:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345678.1604467 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcl7m-0006Oy-IU; Thu, 25 Jun 2026 14:32:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345678.1604467; Thu, 25 Jun 2026 14:32: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 1wcl7m-0006Or-Fh; Thu, 25 Jun 2026 14:32:14 +0000
Received: by outflank-mailman (input) for mailman id 1345678;
 Thu, 25 Jun 2026 14:32:13 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcl7l-0006Ol-I8
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 14:32:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcl7k-0038W0-5C
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 16:32:12 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d3be4-bab6-0a2a0a5309dd-0a2a4503e610-16
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 16:32:11 +0200
Received: from [209.85.128.52] (helo=mail-wm1-f52.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d3beb-ec1a-0a2a45030019-d1558034dc11-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 16:32:11 +0200
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-49258ac7294so14309565e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 07:32: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-46c1ee01c6csm16755030f8f.14.2026.06.25.07.32.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 07:32: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782397931; x=1783002731; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=/liUJLF7TlYWbOabsKpGvAzaswY3tOi0vTFxHzDXPdY=;
        b=Zko7r+yGmw4LxndaMGmpsCGmK692D83V1eC8x8QDSbwy3lggDVvFWTWQdUamHf9r4X
         Ot7LMXskgZbW1k2YI5pIBO0iGPRjZ8KUOUxsnfClDwhieF4IY0xomdlE1NAvF333H1fu
         01k5E87d73/8UOh4/FJ/XtRSOFpc9ScTzON0klAr+8vS7zLKZGZgSgdkCQRoazocTKTo
         aJR+VwXbYgmVhEwqEd2ZLDWZH5nKJwcDnEA+Am+UUBpV8Jbr8HxAMaj1dC3/faoGU/Ib
         TCKQ+iQEQvvZAH9goJGt2HWz7FzrRwxIY0h9QydZ/9vcK4p61hewO1oPstA/PiTKqhWS
         Wtvw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782397931; x=1783002731;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/liUJLF7TlYWbOabsKpGvAzaswY3tOi0vTFxHzDXPdY=;
        b=lNDcrKEew2Kuu2xcHCDf7eJGHlieC/nukrVdfTvC+DISQfQ4TZEn5AV3vnZTtQzuND
         8DVn8G+gZ1wWrzdybCMsA9AklaeGA0Y/tGmZHM5zkm8os7gvpEeRseAPDPLSohGWz32k
         64TvopQeXP9aCjoSt/gyOCDjqRuxXJF5037mH5cS8Tj7N/EoKo++uONaiTB10XZFLBz/
         WnKCpD+Q6kgIwBrD24eyv7ENuTXtka66AL8s1P4taOJMzOJffxnuINcbY1kKMDvc7EsI
         +Yby6FxA5ScyYL3n7OSe9xXJ6RlNTlOt7gLPRjqnv3U95abHqPLEF5f5p09oRIcJVjLg
         6Vpw==
X-Forwarded-Encrypted: i=1; AFNElJ93dt8fsbL1vnSJC7iKbYItltLEUI3QzEesHpoDihqMPSWe12kQSu+zUh2TfvZpdopgODduQbEqlRs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzpf/Wgk5y1kg8KcrBDbQhfg765Pc2cQQfcJgqmGuSH5dHf+ot6
	Fx461OwB4+IK1OwnKnW1x2d18pxjrI8dwGvUkBWZ5DrLS8r+bPANRzyUYp2vm/aDLA==
X-Gm-Gg: AfdE7cmZwxtUOtmb3n5a5oSXYk1JuwDmRSDaw9uzyVqMWesoC0PtdyRm5RtK4cBgybi
	G8zxQQSmz4Uwza59/1vPWl91iL5Jc2Z9UWZtx/HQW6bLlIgdXrK2bZTGTq+6YxCoMmZc0BNqMTu
	wp2w78LgrDGSuA4LAywv7T/DMo9zlp0YtECta8bXGz4a/PynfnJeiHQq3o4tMLjgcWLGLvSfqMC
	EXS0uNNBSesz7H/JSv3ZfOizGqPQtvARfN8Ib4wVc5sVbyxvpSvqdalOUNObTx1AeF6FENyYYOd
	Ol45BoIibm1K7F4yaSs8YWsAFKK6kSOuWFIJzwPkl+0P7FT0NG9jwPJqpBl+Ma/wTLH15yM040T
	l/awzmT0+BIq3I0xVaOBhQWxZyHaKJtLhABxTRqN26Y1M/Ne5Fk5QTeQqirOjUicPrhymu73t20
	sXpa8giJ6hBbduzeq6zPNeN8dwaNYf00HOv8WTOnKGW7LSpbn01pfrw0gjX2Ddkb9Gve/J/SFY0
	eCJ+RttbHwmOy0=
X-Received: by 2002:a05:600d:844e:10b0:488:b187:3c with SMTP id 5b1f17b1804b1-49266869597mr30917225e9.14.1782397930992;
        Thu, 25 Jun 2026 07:32:10 -0700 (PDT)
Message-ID: <9db0885e-0257-40ec-bbf9-b242cd953e3a@suse.com>
Date: Thu, 25 Jun 2026 16:32:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22] char/ns16550: bound execution time of
 ns16550_interrupt()
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20260623103145.76383-1-roger.pau@citrix.com>
 <06c8caab-4722-4b02-991f-bdc4a4ac0ea6@suse.com>
 <ajqVNtt02XMUGk-X@macbook.local>
 <cdf9f154-896d-4faa-8c76-ca15cf5e706e@suse.com>
 <ajqsQr-bhf4SGf8Q@macbook.local>
 <d7920786-7424-4634-80f0-994ea2857d1c@suse.com>
 <ajz-GVoEG4toMs3P@macbook.local>
 <2b574332-61f6-4a78-9dea-4b0973c8a3f1@suse.com>
 <aj0oEQ6_g94Rg83D@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: <aj0oEQ6_g94Rg83D@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1782397931-059355D1-871AF04E/0/0
X-purgate-type: clean
X-purgate-size: 4981

On 25.06.2026 15:07, Roger Pau MonnÃ© wrote:
> On Thu, Jun 25, 2026 at 01:31:26PM +0200, Jan Beulich wrote:
>> On 25.06.2026 12:08, Roger Pau MonnÃ© wrote:
>>> On Wed, Jun 24, 2026 at 10:01:36AM +0200, Jan Beulich wrote:
>>>> On 23.06.2026 17:54, Roger Pau MonnÃ© wrote:
>>>>> On Tue, Jun 23, 2026 at 04:27:12PM +0200, Jan Beulich wrote:
>>>>>> On 23.06.2026 16:16, Roger Pau MonnÃ© wrote:
>>>>>>> On Tue, Jun 23, 2026 at 03:44:06PM +0200, Jan Beulich wrote:
>>>>>>>> On 23.06.2026 12:31, Roger Pau Monne wrote:
>>>>>>>>> +    if ( uart->force_polling )
>>>>>>>>> +        return;
>>>>>>>>
>>>>>>>> As the IRQ was disabled, is this even possible? I.e. should this be some
>>>>>>>> kind of assertion or alike?
>>>>>>>
>>>>>>> Hm, I wasn't setting IRQ_DISABLED before, and hence needed this guard.
>>>>>>> But now with IRQ_DISABLED being set in ->status do_IRQ() should filter
>>>>>>> any stray interrupts.  I will attempt to add an ASSERT_UNREACHABLE()
>>>>>>> here.
>>>>>>
>>>>>> Simply ASSERT(!uart->force_polling) should do here? It is not wrong to
>>>>>> run the code below in release builds in such an event. If we kept getting
>>>>>> interrupts (perhaps at a high frequency) we'd be in trouble anyway.
>>>>>
>>>>> No, I'm afraid I can't do it like that, I can't put an ASSERT there,
>>>>> because we can still get into ns16550_interrupt() after the interrupt
>>>>> has been disabled.  In do_IRQ() we have the following loop:
>>>>>
>>>>>     while ( desc->status & IRQ_PENDING )
>>>>>     {
>>>>>         desc->status &= ~IRQ_PENDING;
>>>>>         spin_unlock_irq(&desc->lock);
>>>>>
>>>>>         tsc_in = tb_init_done ? get_cycles() : 0;
>>>>>         action->handler(irq, action->dev_id);
>>>>>         TRACE_TIME(TRC_HW_IRQ_HANDLED, irq, tsc_in, get_cycles());
>>>>>
>>>>>         spin_lock_irq(&desc->lock);
>>>>>     }
>>>>>
>>>>> So if the device is generating further interrupts in the window with
>>>>> IRQs enabled (while we execute the handler), we will keep looping
>>>>> around this, without taking into account the setting of IRQ_DISABLED.
>>>>
>>>> Ah yes.
>>>>
>>>>> This is something that we might want to fix, so that the loop is bound
>>>>> by IRQ_PENDING being set, and IRQ_DISABLED not, ie:
>>>>>
>>>>>     while ( (desc->status & (IRQ_PENDING |Â IRQ_DISABLED)) == IRQ_PENDING )
>>>>
>>>> Or perhaps ahead of the loop
>>>>
>>>>     desc->status &= ~IRQ_REPLAY;
>>>>
>>>>     if ( desc->status & IRQ_DISABLED )
>>>>         goto out;
>>>>
>>>>     desc->status |= IRQ_PENDING;
>>>>
>>>>     /*
>>>>      * Since we set PENDING, if another processor is handling a different
>>>>      * instance of this same irq, the other processor will take care of it.
>>>>      */
>>>>     if ( desc->status & IRQ_INPROGRESS )
>>>>         goto out;
>>>>
>>>>     desc->status |= IRQ_INPROGRESS;
>>>>
>>>> thus also having the comment no longer describe only part of the conditional.
>>>
>>> I think this is racy.  An interrupt hitting in the window with
>>> interrupts enabled ahead of the handler having set IRQ_DISABLED will
>>> still set IRQ_PENDING, and thus the loop would get executed a further
>>> time, and the handler called after IRQ_DISABLED having been set.
>>
>> Hmm, I don't quite agree with how you put it, but I think I see what you mean.
>> There's one question here, though: If PENDING is set first, and DISABLED only
>> later, shouldn't that IRQ instance still be handled? If so, ...
>>
>>> I think we need an extra condition in the loop, I see no way this can
>>> be solved only by dealing with the concurrent setting of IRQ_PENDING.
>>
>> ... such an extra condition would be wrong. If not, yes, I agree.
> 
> But PENDING is always set, regardless of whether the IRQ is disabled,
> the normal flow in do_IRQ() is:
> 
>     desc->status |= IRQ_PENDING;
> 
>     /*
>      * Since we set PENDING, if another processor is handling a different
>      * instance of this same irq, the other processor will take care of it.
>      */
>     if ( desc->status & (IRQ_DISABLED | IRQ_INPROGRESS) )
>         goto out;

Well, see the adjusted flow I did suggest earlier (still in context above).

> I think it's valid to have both PENDING and DISABLED set with the
> current logic.  In fact, the code in ack_edge_ioapic_irq() relies on
> having both PENDING and DISABLED set to mask the source, as the
> ->disable hook for edge triggered IO-APIC pins is a no-op.

Yet this can be of use for a corner case only anyway, as we set PENDING only
after having called ->ack(). That is, after setting PENDING _another_ IRQ
has to fire. Which is possible, but likely can be dealt with differently.

> We could likely change all this to be more straight forward, but as
> with the serial interrupt handling I would rather not do that change
> during a code freeze.

I definitely agree here. So perhaps indeed best to go with what you did
proposed.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 14:46:52 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 14:46:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345692.1604477 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wclLk-0000h3-O1; Thu, 25 Jun 2026 14:46:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345692.1604477; Thu, 25 Jun 2026 14:46: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 1wclLk-0000gw-L4; Thu, 25 Jun 2026 14:46:40 +0000
Received: by outflank-mailman (input) for mailman id 1345692;
 Thu, 25 Jun 2026 14:46:39 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wclLj-0000gq-GO
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 14:46:39 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wclLi-005jTR-Sb
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 16:46:38 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d3f43-bab6-0a2a0a5309dd-0a2a4509d1f2-26
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 16:46:38 +0200
Received: from [209.85.221.43] (helo=mail-wr1-f43.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d3f4e-97e6-0a2a45090019-d155dd2bd5e9-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 16:46:38 +0200
Received: by mail-wr1-f43.google.com with SMTP id
 ffacd0b85a97d-46dc0d0eb2aso711556f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 07:46:38 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-46dd5f9da4fsm6087595f8f.23.2026.06.25.07.46.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 07:46:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782398798; x=1783003598; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=GXm0GVGKhdsVpoTo1dWrOJZD0tzMGODvnRJAUs+lf1A=;
        b=KvAn0866lIfNae+DVj90ZFIWV9qfSeSBZaCe8RciK5fp810ut9JtDNkVESFiWjdZdP
         xkp1mFvXL0sXAjfgJ2fbsZLmzgZgbFqtJXjhFgaRhCCJuG+v/l+X3yaoOPkb2w4b6PXK
         lYr38ong4C4E5LaDEMi1pusu2AH5isrBO6Evg9L6j0D22k7/DyjXPMs0QM5XGiWdw1E2
         VKQrG4mwa1jdPMJ62UqFJXVwtUxXpNNWzVq1xL8f/tPyaMAEFar5xGkdiqIWMA1hAz2P
         4l7Wt0Y4EUB7vS/Tn3U608CndsjHApq1709oCO9s3EnFbAspH29M9Etg3ApsLUxcLJLO
         Chzw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782398798; x=1783003598;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GXm0GVGKhdsVpoTo1dWrOJZD0tzMGODvnRJAUs+lf1A=;
        b=d7mFPbTpu8wvOeAxsfRo3Mw7lY5vh8/fj1182tLLZmoWAPPaEgwN3L1xUYN3opsAUX
         7ukcu7+LfI0lU34o3NfEiw7ucLl3Uu4xOMmbL2OxNkncAPsROg0iad5MNy6+13M2owo+
         MAUOHGDAK8bSBMIKE8PyuP30QaxKXzsWddBzZ5TDf/m4Ky1KWn8BxYWyTDudSBJ5BDss
         Oz8naPddmLR6i6tgaHDE414ZALermho7ujtBOyI1oD4w7lOfUVeYDzRoQ8dD4UlaUFOt
         8BoYZiiRulzX9dyCQm1jaITFhKb0Jq4oxasOig4vXYg4JVAT2DNzv01rzkNde9WssaGO
         fQWw==
X-Forwarded-Encrypted: i=1; AHgh+Ro68T1ZjFftRvZO0lVHAMtcIt2RTxISJMJtKnenTkB6IO9vkjgsIu5YLa8vzedrtOFmJ90kdI9sqm4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxFsk0n8ni5mXdAYahMksNSMK/8RYXlIfDsCSOwv3GfdFwtVqvO
	Z/4eDNAzhrwmaeNh1asl1uVVqXIeZ1IvhOVcd3xKxOWu3b6FkRmE6eHd0aQ5anTMpg==
X-Gm-Gg: AfdE7clwaIWDPIflqAOW3HjMJr3XiqzOGDfuOWdMzJCyMFUJNWrg5QQHdWMtbWRNN0Q
	pC95/mb8oLIFNmG/3oi29sze3tELSX/PptualX5+S+gHgrY1wVQLmXxuZddqTHrFiDgM+C8/go9
	QI7wUUPVJ7Bc1hxbqgL5lXWOcIx9A6QqplAAWvkSL+fyeJSA6GsYvZSEb0hPN6HV1bqRggmalLf
	oibY+Qdoya0ei8vbO2nRHPdrovqTl25PnCO41cWPAiNvZ66JoPIqfkdJgnSUgZMnw04G1UMYZ+a
	9yRQlY/qI72tEtAbD+OwParlBJI8FFku3kJpvqy+c75fYHFvQYd6kQAH/8PdFG/wxOqRSE6rOpZ
	Ozvqy8SZaAnTpP/ao+/tGGb3E6eAEyuKcI0trTSufo0pClbX1PQojcTNnzWEpTSNdnlTEBE+/da
	NiSDBuasMiU5b9czdp/fl4vhLBeONVHr8bfnVVqORJLNa8P9AYNM65Dg6Sn1oAgsw8QEczd9YVW
	hi4
X-Received: by 2002:a05:6000:46dc:b0:46e:341b:45d6 with SMTP id ffacd0b85a97d-46e341b46d5mr1927865f8f.9.1782398798184;
        Thu, 25 Jun 2026 07:46:38 -0700 (PDT)
Message-ID: <cbb164f1-502d-44f0-850d-ed42ea690c02@suse.com>
Date: Thu, 25 Jun 2026 16:46:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/9] x86/vioapic: Add ioapic_check() to validate
 IO-APIC state before restore
To: Julian Vetter <julian.vetter@vates.tech>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, 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>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <20260427135406.1281424-1-julian.vetter@vates.tech>
 <1777298079.8631fc262581453bbf619ec5b2062170.19dcf387cf6000f373@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1777298079.8631fc262581453bbf619ec5b2062170.19dcf387cf6000f373@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-bad1c0/1782398798-44B2B986-D197F6A2/0/0
X-purgate-type: clean
X-purgate-size: 1497

On 27.04.2026 15:53, Julian Vetter wrote:
> --- a/xen/arch/x86/hvm/vioapic.c
> +++ b/xen/arch/x86/hvm/vioapic.c
> @@ -594,6 +594,32 @@ int vioapic_get_trigger_mode(const struct domain *d, unsigned int gsi)
>      return vioapic->redirtbl[pin].fields.trig_mode;
>  }
>  
> +static int cf_check ioapic_check(const struct domain *d, hvm_domain_context_t *h)
> +{
> +    const HVM_SAVE_TYPE(IOAPIC) *s;
> +
> +    if ( !has_vioapic(d) )
> +        return -ENODEV;
> +
> +    s = hvm_get_entry(IOAPIC, h);
> +    if ( !s )
> +        return -ENODATA;
> +
> +    /* base_address of 0 is never valid for the IO-APIC MMIO window. */
> +    if ( !s->base_address )
> +        return -EINVAL;

It also wants to be suitably aligned, and it wants to be below the domain's
phys-addr limit.

> +    /* IO-APIC APIC ID is a 4-bit field. */
> +    if ( s->id > 0xf )
> +        return -EINVAL;

This wants to remain in sync with what vioapic_write_indirect() does, i.e.
there likely wants to be a cross-referencing comment at each site, and the
logic likely also wants to be similar here.

> +    /* ioregsel must address a defined register. */
> +    if ( s->ioregsel > VIOAPIC_REG_RTE0 + (ARRAY_SIZE(s->redirtbl) - 1) * 2 + 1 )
> +        return -EINVAL;

Why would this be? vioapic_write() doesn't apply any restrictions.

> +    return 0;
> +}

What about the redirtbl[] entries? Values vioapic_write_redirent() would
never store shouldn't be accepted here.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 15:36:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 15:36:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345736.1604486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcm7W-0000ZA-9m; Thu, 25 Jun 2026 15:36:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345736.1604486; Thu, 25 Jun 2026 15: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 1wcm7W-0000Z3-76; Thu, 25 Jun 2026 15:36:02 +0000
Received: by outflank-mailman (input) for mailman id 1345736;
 Thu, 25 Jun 2026 15:36:00 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <roger.pau@citrix.com>) id 1wcm7U-0000Yw-CW
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 15:36:00 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcm7T-004JVZ-2D
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 17:35:59 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3d4ad0-5cb7-0a2a0a5109dd-0a2a4503abe4-40
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 17:35:58 +0200
Received: from [52.101.52.70]
 (helo=BL2PR02CU003.outbound.protection.outlook.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <roger.pau@citrix.com>)
 id 6a3d4add-ec1a-0a2a45030019-34653446199b-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 17:35:58 +0200
Received: from CH7PR03MB7860.namprd03.prod.outlook.com (2603:10b6:610:24e::14)
 by BN8PR03MB5092.namprd03.prod.outlook.com (2603:10b6:408:da::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.17; Thu, 25 Jun
 2026 15:35:55 +0000
Received: from CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343]) by CH7PR03MB7860.namprd03.prod.outlook.com
 ([fe80::f5ba:35df:1c9f:b343%4]) with mapi id 15.21.0159.015; Thu, 25 Jun 2026
 15:35: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=e/GMcbHLhnhu3I9Ow718P3sqEIztjUFte5yeyZiDdCRTWVK2IBoRJvU35y5oJOmlS2zAMZF5grORI+58TKY/vyRSJbCm2O5DeFTQR4tqNWFHXUf77YeCxDyVnH1my77B1mlOG1MgTLKu6uq78YeF6yWg+COPaZFhYH0YNQ0ywX8ud3HQBVNg1ayUSemSoNTkt5Z40V7WMmTonU6Ze4E2T4nF8PvVLr5O+29AIi9t6eNirnOetElBw4l5SqHfEKtRNOV+ORHBlB33tqTemYUzVkjJR+F78HS7A1UQBjUVwLO1SkBoMCGvEGEkFBuofqGcVcd5j1t6HjNLt75LPlmsVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XN8BmwkWLykHIa8VHYutYH9f2IJU6FyEs2YBbdxLIV8=;
 b=VOtWFJ+z2XX/ueqlgkSUCZNanQjfzVbaAm0CH5GX1YCpviYdL07rkYc/Bg+iTk2Vpe3uAHhvbmTBr9AhRIJa3ICP87/ZRNF7o1HIusnd0evx0ZvtEZk7JjvVugBsXnM4BRIrotFa/0jEn9TrFc0i+Lk2UuAXlPCKL8jH62Cu1lrgOtLZ7GoWpafoe97SmG1+FzWN8ROllz+9M7q9Sb7O6qPf75gO2I3A3iS4wz+9ZwpDhDAMGrWMaYXjcxnGMKq8+HN6LMWTGqNpR6JJkJMiOWhmNtdhq0BjdIlHTEJ5u/mS4rmfgnNGkWOOGov8grx4RgYvpcawnIIEFY+sgsTS3g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XN8BmwkWLykHIa8VHYutYH9f2IJU6FyEs2YBbdxLIV8=;
 b=O4t7H08IjiAaxsQ3a9BLBxuAEuvhg99KqBt3Q88ODBGLbHujchzAZFqDXTrcYmQ4BdcuC3CXu0IBisWLal+WA9ovQ7S74qUHXTK48or4WTcfkk0Gy4qYj8Ln9L3HJjMBwn/QcHst8YGL7xyRxq0ynwlpKZcxaO/whKiCm9pwXGs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 25 Jun 2026 17:35:52 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
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>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH for-4.22] char/ns16550: bound execution time of
 ns16550_interrupt()
Message-ID: <aj1K2OerxdkPtqUn@macbook.local>
References: <20260623103145.76383-1-roger.pau@citrix.com>
 <06c8caab-4722-4b02-991f-bdc4a4ac0ea6@suse.com>
 <ajqVNtt02XMUGk-X@macbook.local>
 <cdf9f154-896d-4faa-8c76-ca15cf5e706e@suse.com>
 <ajqsQr-bhf4SGf8Q@macbook.local>
 <d7920786-7424-4634-80f0-994ea2857d1c@suse.com>
 <ajz-GVoEG4toMs3P@macbook.local>
 <2b574332-61f6-4a78-9dea-4b0973c8a3f1@suse.com>
 <aj0oEQ6_g94Rg83D@macbook.local>
 <9db0885e-0257-40ec-bbf9-b242cd953e3a@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <9db0885e-0257-40ec-bbf9-b242cd953e3a@suse.com>
X-ClientProxiedBy: MA3P292CA0063.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:49::10) To CH7PR03MB7860.namprd03.prod.outlook.com
 (2603:10b6:610:24e::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH7PR03MB7860:EE_|BN8PR03MB5092:EE_
X-MS-Office365-Filtering-Correlation-Id: 38d8a2c0-61a1-4161-a4fa-08ded2cf7242
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|376014|1800799024|23010399003|18002099003|22082099003|4143699003|11063799006|56012099006|6133799003;
X-Microsoft-Antispam-Message-Info:
	bzYhQtnq6nGQc70EBStLGa95FeXMIzDSVLArelo8okvQPYxgM0dIctUFucfE1VLxqB9KNY95LYXJ8+1x1s06dRuqKJbG5KQUSvG7hrXQqKeZOSKdwhgLlzfl4aVMq65K5M0MIwML5l3im0umqkS/LsojElt0ndSC+UdPhbSy5wrYsEBsvyPCey2okHuoiMCtocyCL0Yg40TPc097KAo/2g+bskeLMi7OhCIWN7e1WIc0G0/QJoCXq801RxjCNnKFKxBScEbg1AHe9lO6Meg7tUqtGgT3lUNXSLk4u7QR93DFjc1Y3PPTanBuRmhoXVsiXTLul9kxTr17JIehw7kMAKIArcXCWGem4014PuW+ki+9RJE5eaqeviND2wAFYdZZfzSfKuDX5p/QchseiD7qpmn0btCsQHQiKppyQPecKdRcN7mxXW5geUdR/CP/d2R2yEjwB898Y1vfpT5UhTY1KDGwzPsOEgDJ+qacjhy0qSpzoNZ4JBxfCATFObMIWwej5sC40BvAe+mQAHva/6eei+rQPH2UZ0IxNVq6J6qGVL31yj6dHFJHMnglEI/bIcL04Q/LvxxTwuaeHiDcEh1TuZ2N8mgV5YGCTcktOSoBnu5BoZ7Jq+Yp9zlqCSU/EB5srWiP3Y/d8OCCwtzHUVyZpJnuEqfXwICUFhT3XMKom50=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH7PR03MB7860.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(23010399003)(18002099003)(22082099003)(4143699003)(11063799006)(56012099006)(6133799003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c240NGpvVFI4NXg1eE1zYlNvOUxsS3lNTGkxYm9jNmVoUVpyY1FYTy8wdmRG?=
 =?utf-8?B?cmgxN3hRUUdXM25SZ1RUd2NGMnI4a0NINWlGNVFMM1FtL3NpOEt0TTQ3Rit3?=
 =?utf-8?B?YnFBZ3ZHNlpJL01laUNXMDJLZDlQemxsSGJQV2llOHlncWhRUWg5TzVqOVNZ?=
 =?utf-8?B?YmpRbVFwaUpvODBVcVkwTE1qNTZUNTcwU0EzTTJta0prVUFRMlZLU2prUEhq?=
 =?utf-8?B?N00yMVRyL21wM2tQUDR5MlI5RW1hd2JaQklZcXFMeHpTRzJiVHNLRVNodVND?=
 =?utf-8?B?Q2MwSGMxdWRhWXdMd2JNQ1hIZ2VrYm5UMnJUclZsaWdkWDlHMWdmTCs2THN5?=
 =?utf-8?B?clJRb3h4OHl5SUdTRzJZL1N0WFMzd1ZWelRNcGxlcnJET3BhOWE5QkxlUmZY?=
 =?utf-8?B?UmZ1VlAyQU1qVkZxOGwvVDVJL1JxVzh3MHhYZUlzRTJmVnhWaW1CMGJVVDB6?=
 =?utf-8?B?TllkNmVmdGxTcXpURURmRjBsK3YyYitNejdUK1pmeUEzRHQ5V0o1Unk4ejRy?=
 =?utf-8?B?RU5jMDNKV3pkbUI2UXVBZ0dITFhCWEwzQkViYndhYWZTS3JnQWxrOTNGMHZr?=
 =?utf-8?B?ek44Y1l6RzBWMmdQM0xNTXNvY1dzM1p1WHp1WHlvdFRKWWo4R3B4MGlXSllC?=
 =?utf-8?B?bVVTR0c3RW8vQ3BCckJuVm1mbUZNemUzVXYzWlY0UENhQytSRCtLTm5CaC9x?=
 =?utf-8?B?ekpIVVFwdG5FWFdvcmduaE82cTh1cFJ2dkZlYm1xWGtKRUtMUTZvakpxQ211?=
 =?utf-8?B?bFI1aFVlVXZaenNsYnR1bnJscnVuT2NHR0Z2bE9DaTJJQ0FRK24vM2t2Vm4r?=
 =?utf-8?B?MEJUbllMWFhzWXQyTEZQYUIvdldsZk1qS3Z5Z1NUZHJrTjh4NTNQR1hsVEZ4?=
 =?utf-8?B?cUVpajZSaURIWjR1eFBCMDBnMlh3cVdmalJuWmVoQW5UT1VQK0MzQnJZUmlw?=
 =?utf-8?B?SnI2Z1NYV1F4cElhR0VlUEIzQTNHRTFsU2ZHQzVGaWUrNWRIZzhTMFU0QzEx?=
 =?utf-8?B?L1gwR21xUS9RMzZsTUZqUUZhN1BaZ1ZpZTRsVHBVRDhhN3VCenhaMmZsUlA3?=
 =?utf-8?B?RFBuTzZNK3NLMm5jSFp5T1AwY2FYOEkxTDJDQmRxYWJPdDRGNzl3WHRUZ0U5?=
 =?utf-8?B?NjhrencrbGJWbU1uckFvTWdidTFyYVhReW5HTmxBcFczczhwRjJQNy9CMXV1?=
 =?utf-8?B?dW1tcUJoYmlDelg0Znk2QWxhWG5YZk5ndTFlNzY2Qi80bVc3U1daZ25XWFpk?=
 =?utf-8?B?MFh3eWhTWFRyTTVaZmFHbzMrb1dINndZL1ZtQlAvNzNCOTVPV1hzZzN0UHpF?=
 =?utf-8?B?Nk9zKzRmQytKaDRmd2VMeDNNenpQalI2Vi9pWnRTWU5VTnpYUnRVTGQyL2Qv?=
 =?utf-8?B?aHBIQzU5cnBoMUd0OFdzNkttaDgwaXBUMTAvTi9KR1lodTBDWWZEdmh0cE9I?=
 =?utf-8?B?YnJwMDJ0QVg2VkZPdk5sMUh0dldObjNKazVkMWk3U250Y2Nnc3FDY1VPbk90?=
 =?utf-8?B?WXJPQUtVQXBReFljc0o2bXg0N2ZtZ0lFdGxyenUwVnNBSE5PelpiU2FFWm01?=
 =?utf-8?B?MlhaY25KZ0VhaDM2V0xxbit3dDZRckwvNTR6bXpld1lRcnRPeHFXMVpaSWpk?=
 =?utf-8?B?UERCQjFIYWJvTnhqYzBpNGorU1NmbTQycWJrcDZ3N3F6ZGlablpoQllGQmVK?=
 =?utf-8?B?SG5KTVJCL1lDbk5xR3djK3poMW12M1RDbWY1cHc5aGhkZ09aOG9qWmx5Qnh3?=
 =?utf-8?B?N0w0MkFKMDNkZ2hXQ25qU0hHZDR5WlNDUUNQOGhJTmtWakg4dTdwSXl5LzZ5?=
 =?utf-8?B?bG8zdEE5cmtSMUU3dzVLQWluSS9LOEZNdXBDWFhFcXF5TE5SNjFMNWJpRmFP?=
 =?utf-8?B?dXlEeTRzZ0ZHNlZOekFYTEs0V2NuaUM2RmR0WU9MajlycTJDZTIvYkdBWmZ3?=
 =?utf-8?B?UDFoSnpDSytiSnVFaUFHcU04V0hEdEdXNDFJSjVndExGMFVFaHV2WVhYV3NK?=
 =?utf-8?B?TDdyei9iV0UyNzdUVkdxUHZ4UXVvRSs4ckVqS04vTDUrZGdtbHBiMGkwZ2F5?=
 =?utf-8?B?VWViYVhERk41Vk9ycnpFc3BuN01Kcm9JUE95QVA0SnI3SlpUQTNtWXFTWXdB?=
 =?utf-8?B?OEpQaTBqSXpsTEpMN0h3am83Q0hrbHphZU11dFZhSXFvT3cyZWVsVlFqUWF2?=
 =?utf-8?B?YnJXVzZTYVlScWd3ZGFsVVNsUmRCS2JhNDVmTGZJNVU5dlNrckhIVlVBRlJU?=
 =?utf-8?B?NGZ4RVc2SVBwZzErai9HZE9EWEdUcW9TbVlkckc5K0VZbDAyYnFYaHU5bW9n?=
 =?utf-8?B?T1BSQkhuRkFVaVNoRVliV2xuZy9tNkFvNi8xUnRrcGxBV0FvbmREQT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 38d8a2c0-61a1-4161-a4fa-08ded2cf7242
X-MS-Exchange-CrossTenant-AuthSource: CH7PR03MB7860.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2026 15:35:55.2547
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UhC4fWG1FzIcbrGv6rbPFC1y7UuwNcw+LLqKV/eMNbhYviq1ajzqnwGPYpbygu7sZakGKUrZzoApTyOMrmSoJQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB5092
X-purgate-ID: tlsNG-33051d/1782401758-05F325D1-D240240F/0/0
X-purgate-type: clean
X-purgate-size: 5888

On Thu, Jun 25, 2026 at 04:32:09PM +0200, Jan Beulich wrote:
> On 25.06.2026 15:07, Roger Pau MonnÃ© wrote:
> > On Thu, Jun 25, 2026 at 01:31:26PM +0200, Jan Beulich wrote:
> >> On 25.06.2026 12:08, Roger Pau MonnÃ© wrote:
> >>> On Wed, Jun 24, 2026 at 10:01:36AM +0200, Jan Beulich wrote:
> >>>> On 23.06.2026 17:54, Roger Pau MonnÃ© wrote:
> >>>>> On Tue, Jun 23, 2026 at 04:27:12PM +0200, Jan Beulich wrote:
> >>>>>> On 23.06.2026 16:16, Roger Pau MonnÃ© wrote:
> >>>>>>> On Tue, Jun 23, 2026 at 03:44:06PM +0200, Jan Beulich wrote:
> >>>>>>>> On 23.06.2026 12:31, Roger Pau Monne wrote:
> >>>>>>>>> +    if ( uart->force_polling )
> >>>>>>>>> +        return;
> >>>>>>>>
> >>>>>>>> As the IRQ was disabled, is this even possible? I.e. should this be some
> >>>>>>>> kind of assertion or alike?
> >>>>>>>
> >>>>>>> Hm, I wasn't setting IRQ_DISABLED before, and hence needed this guard.
> >>>>>>> But now with IRQ_DISABLED being set in ->status do_IRQ() should filter
> >>>>>>> any stray interrupts.  I will attempt to add an ASSERT_UNREACHABLE()
> >>>>>>> here.
> >>>>>>
> >>>>>> Simply ASSERT(!uart->force_polling) should do here? It is not wrong to
> >>>>>> run the code below in release builds in such an event. If we kept getting
> >>>>>> interrupts (perhaps at a high frequency) we'd be in trouble anyway.
> >>>>>
> >>>>> No, I'm afraid I can't do it like that, I can't put an ASSERT there,
> >>>>> because we can still get into ns16550_interrupt() after the interrupt
> >>>>> has been disabled.  In do_IRQ() we have the following loop:
> >>>>>
> >>>>>     while ( desc->status & IRQ_PENDING )
> >>>>>     {
> >>>>>         desc->status &= ~IRQ_PENDING;
> >>>>>         spin_unlock_irq(&desc->lock);
> >>>>>
> >>>>>         tsc_in = tb_init_done ? get_cycles() : 0;
> >>>>>         action->handler(irq, action->dev_id);
> >>>>>         TRACE_TIME(TRC_HW_IRQ_HANDLED, irq, tsc_in, get_cycles());
> >>>>>
> >>>>>         spin_lock_irq(&desc->lock);
> >>>>>     }
> >>>>>
> >>>>> So if the device is generating further interrupts in the window with
> >>>>> IRQs enabled (while we execute the handler), we will keep looping
> >>>>> around this, without taking into account the setting of IRQ_DISABLED.
> >>>>
> >>>> Ah yes.
> >>>>
> >>>>> This is something that we might want to fix, so that the loop is bound
> >>>>> by IRQ_PENDING being set, and IRQ_DISABLED not, ie:
> >>>>>
> >>>>>     while ( (desc->status & (IRQ_PENDING |Â IRQ_DISABLED)) == IRQ_PENDING )
> >>>>
> >>>> Or perhaps ahead of the loop
> >>>>
> >>>>     desc->status &= ~IRQ_REPLAY;
> >>>>
> >>>>     if ( desc->status & IRQ_DISABLED )
> >>>>         goto out;
> >>>>
> >>>>     desc->status |= IRQ_PENDING;
> >>>>
> >>>>     /*
> >>>>      * Since we set PENDING, if another processor is handling a different
> >>>>      * instance of this same irq, the other processor will take care of it.
> >>>>      */
> >>>>     if ( desc->status & IRQ_INPROGRESS )
> >>>>         goto out;
> >>>>
> >>>>     desc->status |= IRQ_INPROGRESS;
> >>>>
> >>>> thus also having the comment no longer describe only part of the conditional.
> >>>
> >>> I think this is racy.  An interrupt hitting in the window with
> >>> interrupts enabled ahead of the handler having set IRQ_DISABLED will
> >>> still set IRQ_PENDING, and thus the loop would get executed a further
> >>> time, and the handler called after IRQ_DISABLED having been set.
> >>
> >> Hmm, I don't quite agree with how you put it, but I think I see what you mean.
> >> There's one question here, though: If PENDING is set first, and DISABLED only
> >> later, shouldn't that IRQ instance still be handled? If so, ...
> >>
> >>> I think we need an extra condition in the loop, I see no way this can
> >>> be solved only by dealing with the concurrent setting of IRQ_PENDING.
> >>
> >> ... such an extra condition would be wrong. If not, yes, I agree.
> > 
> > But PENDING is always set, regardless of whether the IRQ is disabled,
> > the normal flow in do_IRQ() is:
> > 
> >     desc->status |= IRQ_PENDING;
> > 
> >     /*
> >      * Since we set PENDING, if another processor is handling a different
> >      * instance of this same irq, the other processor will take care of it.
> >      */
> >     if ( desc->status & (IRQ_DISABLED | IRQ_INPROGRESS) )
> >         goto out;
> 
> Well, see the adjusted flow I did suggest earlier (still in context above).

But that flow above could still set PENDING ahead of the handler
having set DISABLED, and hence won't avoid at least an extra handler
call despite the IRQ having been disabled?  IOW: I think it's
partially racy w.r.t setting DISABLED in the handler.

> > I think it's valid to have both PENDING and DISABLED set with the
> > current logic.  In fact, the code in ack_edge_ioapic_irq() relies on
> > having both PENDING and DISABLED set to mask the source, as the
> > ->disable hook for edge triggered IO-APIC pins is a no-op.
> 
> Yet this can be of use for a corner case only anyway, as we set PENDING only
> after having called ->ack(). That is, after setting PENDING _another_ IRQ
> has to fire. Which is possible, but likely can be dealt with differently.

Well, if the ->disable handler wasn't a no-op for edge triggered
interrupts it wouldn't require this weird logic.  However then IRQ
migration will likely involve a mask/unmask for edge triggered
interrupts, which we want to avoid in general.  I would need to think
about it.

> > We could likely change all this to be more straight forward, but as
> > with the serial interrupt handling I would rather not do that change
> > during a code freeze.
> 
> I definitely agree here. So perhaps indeed best to go with what you did
> proposed.

Thanks, let me see if I can sort out a minimally invasive solution.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 15:54:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 15:54:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345754.1604495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcmPT-0004qV-QV; Thu, 25 Jun 2026 15:54:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345754.1604495; Thu, 25 Jun 2026 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 1wcmPT-0004qO-MA; Thu, 25 Jun 2026 15:54:35 +0000
Received: by outflank-mailman (input) for mailman id 1345754;
 Thu, 25 Jun 2026 15:54:35 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcmPS-0004q2-QG
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 15:54:35 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcmPS-005snI-18
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 17:54:34 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3d4f2a-5cb7-0a2a0a5109dd-0a2a450bafaa-14
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 17:54:33 +0200
Received: from [209.85.167.46] (helo=mail-lf1-f46.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3d4f39-ac48-0a2a450b0019-d155a72eade2-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 17:54:33 +0200
Received: by mail-lf1-f46.google.com with SMTP id
 2adb3069b0e04-5aa68d65d24so2972699e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 08:54:33 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9bbc49a6sm2169165e87.76.2026.06.25.08.54.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 08:54: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782402873; x=1783007673; 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=prGqf45KMotqct1Fbj9ZpgPV+/IL1f0q9EviHV0+SCo=;
        b=DxVXqsUq/dfGCAgVDBwBuqLwsd7I8yqIOTxd4/4ssfKB3aAZefs3TXCdGz+jwqVAlA
         2YTYkBY86NXUJ1/1V6iFbn92hcEeXzHijAJWii5mTr6j1wVt+QqjVOyrxVt0IZ5tjJZt
         RnpajpfSqYCOF6Gx62dk/y+3fxhumbP2B6OslENpxMlTvf/VfE9LWSic3HUwt/Ai5LCk
         TP/71I9Pf63veMsPCEOOvVOMWwg/e9j9EkRX8uFoGZVzHYpzdUh443qCa4xlDwF+VLj7
         k0eLq4BEip0uQoGgUdoAA/C2INBHtXoErob3qpkwavHkF7Rep+q3dzAdoCQMTKDmyLJR
         95FA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782402873; x=1783007673;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=prGqf45KMotqct1Fbj9ZpgPV+/IL1f0q9EviHV0+SCo=;
        b=FczissqXIOsj+u8CTPn6tFu315Dp7lefacTmJgjqn91DFeKL6PonS6UNYItmr+wuHs
         sgRkVFjARsa3KXsmWxyNgrKi61IKRf1Db9cDQh9l6tz5b7j9ijvp6xwOXF12cvjCXWk0
         9fxrM4+nSVYm/tA26Mr4iQN66MFmhMlw93cpfnSjfO8L9rFKlnDhUZvPXxYfgPL1C9J+
         GhtQ2HVb5d63IVzwS9OgkdRVkrpKwF4/diLpChLtcayxbxcraKOCjKTDFGUfVkU/OirF
         SIu0AAKdqYfKu8UAqEnGkNbhupjkYg34u39vut/qGqXyNlJfHon4/qt1K8dlv5VUBtjW
         frmg==
X-Forwarded-Encrypted: i=1; AHgh+RrS8o8qCE/a8A3P3wq4Z8IFqqGH15nc2VvGwwIJNpxzWl7fn37XEAKjeHFreJibz15BIXcqvMeEBGY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YylUh1ZtwwJU/rptA33SL9BQIPF4o9nkoSaCoNhXH1lKFMJvOtP
	8juhAWV3/exjqKCrxahUuabmm4iQ0/0XE3RKIYMhaP9xHYHbbufVtOBh
X-Gm-Gg: AfdE7clHNvHa+vrwCiFTykUMIe1xGAieMeQeXLJWIlcSWHpozo6QiF3iQkpTriitrSc
	kKmcz+N+bTOzS9OTJf7o+n1xZ92Dw1KOBmXBY7JgR8K0bvqqPKiurBFX/6KFrCzOJIGIr+CtOsM
	7Fei7xSLKO0xqFhegKIlg3GfSYFCcubPjput2NUVtPbPaQtRVuDsqPJcDDZvrJmCJZElQCZQ/3H
	X5ql1FDqZqjQE96tOUBe8E/aiaTud1RnTdBWG76kxC1UVXG0LatGxNbVkLges2qMsf4AvnizfSo
	KHHxpkYuT3gX4u2S94hLyzgwlmro6cPsD0B1mfm2MaIfxvYu3GJPjzW8vOdvO5Jym9CDam71vxp
	oHT1Qg3LPryR/zMu3wY4uARcZhuongRdHc6/65oMphQircUhBmKgFCsV8moIMVs7sTUToZlT/5A
	J2Ro4d9rvXA00TTzCC6WlTKQBm6rmWq7ckWB/jpiUmtzCb5l+BJOPbDf+VHqYaUWDPuzc=
X-Received: by 2002:ac2:4bce:0:b0:5aa:6db6:537 with SMTP id 2adb3069b0e04-5aea1f41d4emr1306588e87.16.1782402872870;
        Thu, 25 Jun 2026 08:54:32 -0700 (PDT)
Message-ID: <454e633b-2de6-4a04-a711-36bb8b2c8c00@gmail.com>
Date: Thu, 25 Jun 2026 17:54:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 18/23] xen/riscv: implement IRQ routing for device
 passthrough
To: Jan Beulich <jbeulich@suse.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <0458468cc5a6db911a9acc64f4c8cf17ceebe4c6.1781693963.git.oleksii.kurochko@gmail.com>
 <3a1aca27-cc18-4b57-bb31-c50161b8c261@suse.com>
 <b4770ce2-9456-4dae-a322-c8e3f9239472@gmail.com>
 <d0b60963-6711-44ed-833d-83ac9de50aa9@suse.com>
 <04195c2e-0cb1-45a2-9844-2ce802692704@gmail.com>
 <9640e0eb-ea38-41ba-b99c-aafa6c6d7bc7@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <9640e0eb-ea38-41ba-b99c-aafa6c6d7bc7@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1782402873-38942220-2AE34C84/10/73395122804
X-purgate-type: spam
X-purgate-size: 8848



On 6/25/26 1:14 PM, Jan Beulich wrote:
> On 25.06.2026 11:48, Oleksii Kurochko wrote:
>> On 6/25/26 8:08 AM, Jan Beulich wrote:
>>> On 24.06.2026 17:21, Oleksii Kurochko wrote:
>>>> On 6/22/26 5:57 PM, Jan Beulich wrote:
>>>>> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>>>>>> --- a/xen/arch/riscv/include/asm/intc.h
>>>>>> +++ b/xen/arch/riscv/include/asm/intc.h
>>>>>> @@ -13,6 +13,7 @@ enum intc_version {
>>>>>>     };
>>>>>>     
>>>>>>     struct cpu_user_regs;
>>>>>> +struct domain;
>>>>>>     struct irq_desc;
>>>>>>     struct kernel_info;
>>>>>>     struct vcpu;
>>>>>> @@ -32,6 +33,9 @@ struct intc_hw_operations {
>>>>>>         /* hw_irq_controller to enable/disable/eoi host irq */
>>>>>>         const struct hw_interrupt_type *host_irq_type;
>>>>>>     
>>>>>> +    /* hw_irq_controller to enable/disable/eoi guest irq */
>>>>>> +    const struct hw_interrupt_type *guest_irq_type;
>>>>>
>>>>> It's likely my limited RISC-V knowledge that I find this extremely odd:
>>>>> Separate struct hw_interrupt_type-s for host and guest?
>>>>
>>>> The guest and host interrupt controllers may handle some
>>>> hw_irq_controller operations differently, even though the operations
>>>> themselves are conceptually the same. The hw_irq_controller interface
>>>> provides fairly abstract interrupt controller operations, but the
>>>> underlying implementation may differ depending on whether the controller
>>>> is used by the host or a guest.
>>>>
>>>> As an example, the Arm code already follows this approach:
>>>>
>>>> /* XXX different for level vs edge */
>>>> static hw_irq_controller gicv2_host_irq_type = {
>>>>        .typename     = "gic-v2",
>>>>        .startup      = gicv2_irq_startup,
>>>>        .shutdown     = gicv2_irq_shutdown,
>>>>        .enable       = gicv2_irq_enable,
>>>>        .disable      = gicv2_irq_disable,
>>>>        .ack          = gicv2_irq_ack,
>>>>        .end          = gicv2_host_irq_end,
>>>>        .set_affinity = gicv2_irq_set_affinity,
>>>> };
>>>>
>>>> static hw_irq_controller gicv2_guest_irq_type = {
>>>>        .typename     = "gic-v2",
>>>>        .startup      = gicv2_irq_startup,
>>>>        .shutdown     = gicv2_irq_shutdown,
>>>>        .enable       = gicv2_irq_enable,
>>>>        .disable      = gicv2_irq_disable,
>>>>        .ack          = gicv2_irq_ack,
>>>>        .end          = gicv2_guest_irq_end,
>>>>        .set_affinity = gicv2_irq_set_affinity,
>>>> };
>>>>
>>>> These implementations reuse almost all interrupt controller operations,
>>>> differing only in the .end callback.
>>>
>>> Which I'm having trouble with as well. Interrupts are handled by Xen. What
>>> guests get to see are virtualized interrupts (no matter how much HW
>>> acceleration may be in use). Hence I'm having difficulty to see such a
>>> split justified.
>>
>> I think that I don't fully understand what is wrong with splitting. If
>> there are cases exist when I need such separation for virtual interrupt
>> controller operations then it looks fine to introduce such separation,
>> right?
>>
>> Lets take an example of PLIC.
>>
>> For each source the PLIC has a "gateway":
>> 1. Claim (read CONTEXT_CLAIM): returns the pending IRQ id and closes the
>> gateway for that source, it will not forward that source to any context
>> again until completed.
>> 2. Complete (write the id back to CONTEXT_CLAIM): reopens the gateway.
>> If the device line is still asserted (level high), the PLIC immediately
>> re-marks it pending and delivers it again.
>>
>> The "closed gateway" between claim and complete is effectively the
>> hardware masking the source while it's being serviced.
>>
>> Then if we will handle guest interrupt in the following way:
>> 1. Passthrough device asserts its line (level stays high).
>> 2. Xen takes the physical IRQ, claims (gateway closes), completes
>> (gateway reopens), injects a virtual IRQ into the guest's vPLIC.
>> 3. The guest hasn't run yet, it hasn't touched the device's registers,
>> so the device line is still high.
>> 4. The PLIC sees the source still asserted with an open gateway -> marks
>> pending -> fires another physical interrupt into Xen -> ... -> repeat.
>>
>> So we get a storm of physical interrupts for a device the guest hasn't
>> even begun servicing. The device line only drops when the guest driver
>> writes the device's own registers, which happens long after, and on the
>> guest's schedule.
>>
>> So the solution is that the physical complete must wait until the guest
>> has actually quiesced the device. The only signal Xen gets for "guest is
>> done" is the guest writing its virtual complete to the emulated vPLIC. So:
>> 1. guest_irq->ack: the claim already happened (the readl(CONTEXT_CLAIM)
>> in plic_handle_interrupt); ack just records which context claimed it.
>> The gateway stays closed - good, the source is masked while the guest works.
>> 2. inject vIRQ â†’ guest services the device (line drops) -> guest writes
>> vPLIC complete.
>> 3. guest_irq->end: now do the physical complete, reopening the gateway.
>> Device is quiet -> no spurious re-trigger; if it's a new legitimate
>> assertion, it fires once, correctly.
>>
>> Is it clear enough now?
> 
> Well, yes and no. On x86 we have to deal with the situation you describe as
> problematic anyway, as IRQs have priorities associated with them, and higher
> prio ones block equal/lower prio ones until they are "completed" (in the
> terminology you use). 

Just for my understand what is the problem here that until "completed" 
isn't done for this high priority interrupt all other will just wait so 
basically responsiveness of the system in general will be bad? Or some 
other problem is hidden?

> If you don't have anything similar in RISC-V, then
> you may indeed get somewhat simpler code overall with such a split.

IIUC, if the word "block" above is used correctly I would say that 
behavior on RISC-V is different, at least, for PLIC as basically, if we 
have three IRQs and let's say `irq1` has the highest priority.

`irq2` and `irq3` may become pending in the PLIC core, but they will not 
be visible to the CPU until `irq1` is CLAIMed, even if `irq1` is never 
completed (i.e., if you fail to write back to the CLAIM/COMPLETE register).

When the hart reads the CLAIM/COMPLETE register, the PLIC core 
atomically retrieves the ID of the highest-priority pending interrupt 
(`irq1`) and clears its Interrupt Pending (IP) bit in the PLIC core.

Once the IP bit for `irq1` is cleared, the PLIC core immediately 
re-evaluates all remaining pending interrupts. If `irq2` and `irq3` are 
pending, `irq2` (the next-highest-priority interrupt) becomes the 
highest-priority pending interrupt.

The PLIC core will continue to signal the hart (by asserting the `MEIP` 
or `SEIP` bits) as long as there is any pending and enabled interrupt 
whose priority exceeds the hart's threshold.

So the IRQ handler can run for irq2 and irq3 before irq1 is COMPLETED.

So irqs are blocked only until they are claimed.

  Yet if
> there's nothing like that in RISC-V, you can get (almost) arbitrarily deeply
> nested interrupts, which in turn would be a problem you need to deal with.
> IOW I suspect the architecture has something to limit nesting depth.

The trap handler, where the IRQ handler is called, starts with 
interrupts disabled, so nested interrupts cannot really occur at that point.

Therefore, I'm not sure this is what you meant by, "IOW, I suspect the 
architecture has something to limit nesting depth."

Other than interrupts automatically being disabled on trap entry, I 
don't see any additional architectural mechanism that limits nesting 
depth. Therefore, it seems that any further limitation would need to be 
implemented at the software level what is a separate case to implement 
if someone will enable interrupts during trap handler.

Instead of full preemption, interrupt controller handlers often use a 
loop to check for the next highest-priority interrupt before exiting. 
This allows a handler to service irq2, irq1 (mentioned above) 
immediately after finishing the critical work for irq1 without the 
overhead of a full trap entry/exit sequence. Something like:
https://elixir.bootlin.com/linux/v7.1.1/source/drivers/irqchip/irq-sifive-plic.c#L382
https://elixir.bootlin.com/linux/v7.1.1/source/drivers/irqchip/irq-riscv-aplic-direct.c#L138

As an option if nested interrupts are really needed probably they could 
be implemented as increasing interrupt controller threshold register 
each nested trap so at some point interrupts will be stopped to 
occur/visible to CPU. But I think nested interrupts shouldn't be a 
discussion for now.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Jun 25 15:56:30 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 15:56:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345763.1604503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcmRJ-0005UT-61; Thu, 25 Jun 2026 15:56:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345763.1604503; Thu, 25 Jun 2026 15: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 1wcmRJ-0005UM-3J; Thu, 25 Jun 2026 15:56:29 +0000
Received: by outflank-mailman (input) for mailman id 1345763;
 Thu, 25 Jun 2026 15:56:27 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcmRH-0005UF-Ky
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 15:56:27 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcmRH-003bf8-0p
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 17:56:27 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d4f87-2eae-0a2a0a5409dd-0a2a450c973e-34
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 17:56:26 +0200
Received: from [209.85.221.49] (helo=mail-wr1-f49.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d4faa-f399-0a2a450c0019-d155dd31c4bd-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 17:56:26 +0200
Received: by mail-wr1-f49.google.com with SMTP id
 ffacd0b85a97d-464192ab2e1so1784827f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 08:56: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-46c2279b85csm16045723f8f.28.2026.06.25.08.56.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 08:56: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782402986; x=1783007786; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=9S02mqoUKbOvtNufQ+Jpz5iHDh98M41Uigg4E/yxITc=;
        b=MVOz/ahJTpjVYPoKYl8/WhuRBAHN3G4n9b4DjKFczmiV0WRKX/s5VxbLYP76JZAvGS
         wQJ392gol5kxs2tooIVz9RJTohirS/lo3zTz3ZHg8AXa/J5R8R6gaLWPVGvsRvptKcsO
         Y10qZVZzo55O0toXGVw7zkc/IcTpATbdWTWGVR7I3heXSlwjCH75dcpqV2HXCqEg2wTE
         JtX1XHQjqn8RyrXSo6RzvDuQQYjmVOsH3hFbzPg5HxJKqYfgP8m4I0kJigQw2jyBxlwx
         Ecl5MN4FwC//4qShSVRhxYvkpf4Xo5+mePYsTTWKSZlL1oI2Q9P+zgYxbyHQEhcXAfCa
         T/2Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782402986; x=1783007786;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9S02mqoUKbOvtNufQ+Jpz5iHDh98M41Uigg4E/yxITc=;
        b=nTsx9Bq+NKiABf239HOrSgw8kgz1h8uRSpmWdYgRvIInVCjkvjzqRGt3ZkK9PoSjMW
         8qwM2rCqwStx05ODyEMCqQ0wGFDGIKQb0lPmU7m8SwcN80tAS0pp9JhqVADIwfxeGNpJ
         uaIow0w8AT/c9yq9PXslMYNMyHd2WffS7OnaGMLuR3ZmQ/+9bASKUXLekMq8Yiqbm1U/
         UGrjrGkloqK+pyXjq8/ZI7nowyJdUgDs6ESgc70A57gsxe6G84P3iUrWaZuyMZqmqd7Z
         ZISl15X9JAb6E3wqQErTnPycdZwX50I67qO76xPkmJ4J3QOptz/XJxgMcEU8csQh7CdU
         Cz7Q==
X-Forwarded-Encrypted: i=1; AHgh+RrHYu3krkXWXFV3yDkeLWavKLrBGHZExyUtV3fV1WdvJena9V6cJKZpoLdvsE+4pu9n+mnBaffsP7I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwmzcqrozXXamTDXVRJ+MYEOhlHKSin3+eeaVLABdjgjIIce5LM
	Nh7CQK8J0XLuCw6VLSy+bKRV71D4NIHq5gvgyZBQQP30r9+tlvjHcXNClRRvOgoW0A==
X-Gm-Gg: AfdE7clG3scUmzPytNCPRItjlvPWcMT4cGDRne2YCbDCHC91nMllOKZoEBRxQrvhm5y
	1ObLTWG3KkE4etwJkqes7+b3+VkhGgLHLyD/yR2Iq+fR4YhzHz7OYSbV2qaAuSj/aEcEB83w12o
	xhRQsezU4U/I5u9m/XkJ9aqY1DnVFVobg3er7RF/cQb6dCTBz3HSaP5VDHbVljQEqpzyCymKXsw
	PSD2dEE2rwNNqvz1/fXw/8KwvRcvCV0ILm3KtRvRjpsVsLEihILJgrsTpI5cyRDmmJUrLxGmXpE
	keKk60cAicBmNdHkZbaikcStgFk17fDp10C7SwygEl0nVbvqKk1qgAmEv6t+ptG3O54jrxP7aGs
	zCsFnXiYcntifQu3R3fGJNjJ0Cclq3ReenK9a+BJ0PKQrVG6n8j/84oXqb0epqmhYVLLF0rp29D
	9RvfROyOS4cLeIW1Z5EgLJL8xenjtHHe58rMRfKTnggAuREq0VzvGRt+4zL66eW/UG0QGzYUkO5
	/tt
X-Received: by 2002:a5d:64cb:0:b0:46d:7259:fdf6 with SMTP id ffacd0b85a97d-46dc0efe433mr5123496f8f.20.1782402986298;
        Thu, 25 Jun 2026 08:56:26 -0700 (PDT)
Message-ID: <cc4fe54c-a245-4c27-b629-da519093116b@suse.com>
Date: Thu, 25 Jun 2026 17:56:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/9] x86/passthrough: Wrap pt_irq_create_bind() restart
 block in braces
To: Julian Vetter <julian.vetter@vates.tech>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, 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>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <20260427135406.1281424-1-julian.vetter@vates.tech>
 <1777298079.8631fc262581453bbf619ec5b2062170.19dcf387e25000f373@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1777298079.8631fc262581453bbf619ec5b2062170.19dcf387e25000f373@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-d25034/1782402986-91B25D51-F7B06FF6/0/0
X-purgate-type: clean
X-purgate-size: 683

On 27.04.2026 15:53, Julian Vetter wrote:
> Enclose the restart/retry block in pt_irq_create_bind() in an explicit
> compound statement to prepare for its extraction into a helper function.
> No functional change.
> 
> Signed-off-by: Julian Vetter <julian.vetter@vates.tech>
> ---
> Changes in v4:
> - New patch
> - Split out as a preparatory no-functional-change step to make the diff
>   in patch 5 (pt_irq_bind_msi() interface change) easier to review

I've been staring at patch 5 for quite some time, but I can't make the
connection. Perhaps you mean patches 3 or 4, but without you quoting the
title of the patch in question that would be pure guesswork.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 15:58:26 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 15:58:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345771.1604512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcmTA-0006G6-HO; Thu, 25 Jun 2026 15:58:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345771.1604512; Thu, 25 Jun 2026 15: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 1wcmTA-0006Fz-Ee; Thu, 25 Jun 2026 15:58:24 +0000
Received: by outflank-mailman (input) for mailman id 1345771;
 Thu, 25 Jun 2026 15:58:22 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wcmT8-0006Em-MI
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 15:58:22 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcmT8-00Dx70-2g
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 17:58:22 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d5001-e002-0a2a0a5209dd-0a2a4506c372-48
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 17:58:21 +0200
Received: from [209.85.128.50] (helo=mail-wm1-f50.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3d501d-08de-0a2a45060019-d1558032a82d-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 17:58:21 +0200
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-490b8ac62baso10620955e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 08:58: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-492691f60bcsm3998665e9.1.2026.06.25.08.58.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 08:58:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782403101; x=1783007901; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=H7bSvGIPZxGW6MLYYg2d4bLpUbLQynRVhiLMNkDxye4=;
        b=eI17pX0GAMqR7ATcH9p8A0volmz+YcWXYv1SamBEz0cuk1vjMYpvmW+AmGeU4Wi4rz
         WRDQovS1LKIOecJDo2m/1n8cMRyKkIDj4mTW8jUMRxJSixj5dAkTLwq3GAp16pGHN65I
         D7xJscgORoKy/5qbEyxBAcG5VQ6ki7llCwtJ9sMW0jYuCj/BPvykYkRDpDXQe5tzwlxe
         XnV+vnCSe+6O+aFC6L4d4yk7fQWzUQZnlmq0KT5SIa9i2sjWgknk/8NnQyoeWd10onMU
         UxNhF+7OhAtj9GBfrRazj56bMNyPsmXvjeBvXE/xuLvUifLqWF9ugdxPXqiB29I0KRXx
         xFJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782403101; x=1783007901;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=H7bSvGIPZxGW6MLYYg2d4bLpUbLQynRVhiLMNkDxye4=;
        b=ZGGZrRZjH7qU54BZlExhWsA4mgV77rSl79TBN++B/sabsWZr/n4YbKkiFP6s6dsvrm
         yvsnndha0DR1iYmQTSEbVhTn7nOkIA3agonnRk2VtlSWd+D8BqtH4x+oLbkUiZeRoSie
         NzOKR9UUEWHThF/eu+vVAL4YIlYqixgz9qQ3scaZ9+ClKEwSid3zlz6UHpaFy4zhMC+T
         pJEwXaHsCeQKu5Uw+LUEmyN8nDUp+tRJwgvytMGRsjIpjrZtaPk7va1Ej278bUPv9S2K
         pMtMLwMVWwIn4f8kpDtO1/6bAvRw2vUpLz8NFBlsFowMXV9KkMVFg3IPhQofmmrWesBn
         gSog==
X-Forwarded-Encrypted: i=1; AFNElJ+yVhSfe7v7BigFBLgxI+M/LjhBfcz9voxTwUfxDsvS79qCNWr3J4pxCMBC+gghzFjyeEhsgSzhjJQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwEJekyn+vFOOT+t8Adp9h4Ps0k1+ci4UAK9CerBAS0wqe8Y8/p
	YU9skCiUet/eECN6TnFEOlkjVpoPP+VgYB0E/hWXbArwNVT3Zlz8cBkANF3kBMfGtg==
X-Gm-Gg: AfdE7cmbpvLbyLc1NK7jc4iti4cEp1nb3athDOo3hIMCAcmSp1OV8J8AjALdotVkATH
	RLHqXJzY3Sjfg6EeXwGl/4yTufmGPtE+FUzUuEDFZtpstGBhTnhf1KMoypGHOD7pcGDtY1GFYCU
	iR563W7SntHkR+HE8HiD0et2Aao7gkDRPhvZE99aUmuIzElYK5SdTeJm7BngRgW6FDFXjYbX83d
	XRLz9MuiQ2uuArKMvQP9SAOUBBcBJnMSMHyTGNReV1r0Sw2LXW5Yib3DjWCXLJI5WWj6n1z/SOM
	m/jHbG89dv/2fw/1FNqIKnmrLyA2paovhC/OOGNlSjf4vC/pFmpImKqeXNWmTLkFVPbXFd5P8n3
	nmOvG+8p1DeyPpsG7KKDGyVsgYccKGWZzjCo6+cWDlglVwXYT84M9hYDBfobPILB0fFL9QqR/ZV
	f4jfJes2rPT6dMXADPLzvdKfOvctWg6WDVSFI5d/NylL8Io+HeKA0wFHdNaLLmPYfIrpDyIxM+L
	ULd
X-Received: by 2002:a05:600c:8b63:b0:490:e19b:9632 with SMTP id 5b1f17b1804b1-492664294b3mr39234155e9.17.1782403101450;
        Thu, 25 Jun 2026 08:58:21 -0700 (PDT)
Message-ID: <9a94b240-b75e-4201-be05-ddfef16f5c6c@suse.com>
Date: Thu, 25 Jun 2026 17:58:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 5/9] x86/passthrough: Introduce pt_irq_bind_msi() as
 canonical MSI bind path
To: Julian Vetter <julian.vetter@vates.tech>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, 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>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <20260427135406.1281424-1-julian.vetter@vates.tech>
 <1777298080.8631fc262581453bbf619ec5b2062170.19dcf3882f5000f373@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1777298080.8631fc262581453bbf619ec5b2062170.19dcf3882f5000f373@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1782403101-C5D3D68D-C8B4BABA/0/0
X-purgate-type: clean
X-purgate-size: 2179

On 27.04.2026 15:54, Julian Vetter wrote:
> @@ -448,13 +451,29 @@ int pt_irq_create_bind(
>      switch ( pt_irq_bind->irq_type )
>      {
>      case PT_IRQ_TYPE_MSI:
> -        return pt_irq_bind_msi(d, pirq,
> -                               pt_irq_bind->u.msi.gvec,
> -                               pt_irq_bind->u.msi.gflags &
> -                                   ~XEN_DOMCTL_VMSI_X86_UNMASKED,
> +    {
> +        uint32_t gflags = pt_irq_bind->u.msi.gflags;
> +        uint64_t msi_addr;
> +        uint32_t msi_data;
> +
> +        msi_addr = MSI_ADDR_HEADER |
> +                   MASK_INSR(MASK_EXTR(gflags, XEN_DOMCTL_VMSI_X86_DEST_ID_MASK),
> +                             MSI_ADDR_DEST_ID_MASK) |
> +                   (gflags & XEN_DOMCTL_VMSI_X86_RH_MASK ?
> +                    MSI_ADDR_REDIRECTION_LOWPRI : MSI_ADDR_REDIRECTION_CPU) |
> +                   (gflags & XEN_DOMCTL_VMSI_X86_DM_MASK ?
> +                    MSI_ADDR_DESTMODE_LOGIC : MSI_ADDR_DESTMODE_PHYS);
> +        msi_data = pt_irq_bind->u.msi.gvec |
> +                   MASK_INSR(MASK_EXTR(gflags, XEN_DOMCTL_VMSI_X86_DELIV_MASK),
> +                             MSI_DATA_DELIVERY_MODE_MASK) |
> +                   (gflags & XEN_DOMCTL_VMSI_X86_TRIG_MASK ?
> +                    MSI_DATA_TRIGGER_LEVEL : 0);
> +
> +        return pt_irq_bind_msi(d, pt_irq_bind->machine_irq,
> +                               msi_addr, msi_data,
>                                 pt_irq_bind->u.msi.gtable,
> -                               !!(pt_irq_bind->u.msi.gflags &
> -                                  XEN_DOMCTL_VMSI_X86_UNMASKED));
> +                               !!(gflags & XEN_DOMCTL_VMSI_X86_UNMASKED));
> +    }
>  
>      case PT_IRQ_TYPE_PCI:
>      case PT_IRQ_TYPE_MSI_TRANSLATE:
> @@ -617,7 +636,6 @@ int pt_irq_create_bind(
>      }
>  
>      default:
> -        write_unlock(&d->event_lock);
>          return -EOPNOTSUPP;
>      }

Just as a preliminary comment, as I had to come look here for patch 2:
With no other locking changes in this function, how can the above be
correct? Does this hunk belong into another patch?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Jun 25 16:03:19 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Jun 2026 16:03:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345783.1604522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wcmXr-00008x-2H; Thu, 25 Jun 2026 16:03:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345783.1604522; Thu, 25 Jun 2026 16: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 1wcmXq-00008q-VZ; Thu, 25 Jun 2026 16:03:14 +0000
Received: by outflank-mailman (input) for mailman id 1345783;
 Thu, 25 Jun 2026 16:03:13 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wcmXp-00008k-4K
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 16:03:13 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wcmXo-003dBi-Gz
 for xen-devel@lists.xenproject.org; Thu, 25 Jun 2026 18:03:12 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3d512a-2eae-0a2a0a5409dd-0a2a450c83ca-44
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 18:03:12 +0200
Received: from [209.85.208.175] (helo=mail-lj1-f175.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3d5140-f399-0a2a450c0019-d155d0afb066-3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 18:03:12 +0200
Received: by mail-lj1-f175.google.com with SMTP id
 38308e7fff4ca-39979f72d0cso322051fa.2
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 09:03:12 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-3999af9f376sm46047991fa.9.2026.06.25.09.03.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 25 Jun 2026 09:03: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782403392; x=1783008192; 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=2uZPCPrBYs7CuTTD0DNQCjFYGHnRqYaTxkjXjS+5fu4=;
        b=gtIgQ56aN7ed/MIVey3L1+gjdVXWeukBCbOGKx1oyQxQvAH5SaJmC7drqjYhLxDnLu
         zOyZzILDdas5ATYnOu++MOyka6uoiCMzFvaG0vNUy/2LahBpIeymOjhkRf1gOuFhzHoy
         NlF8d/1egGED1O9ccc9HnjMRIjP07BTrd+lG/DFXj103HppFUSNppLEXvNrbHKwVyxh3
         UVv7/X0R6DvP3PX0E+SE35jxvRaz5eon1GTpgOtrTv7r7ZmBl/mne4qCiWi1gv0KTXwA
         JFMDF1vg5rj6S1NaK/qwbfAa3wXtH27PUi6xG1NN1iG8BT5kyCw5NjbQHoWsNWCY0qrq
         eb5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782403392; x=1783008192;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2uZPCPrBYs7CuTTD0DNQCjFYGHnRqYaTxkjXjS+5fu4=;
        b=nFJN9/UziLwaWXp4rRSK4IgeIlKqxPw5AjVZsv1WXKxCpUI1bGkc4tB+HSfzTBzXHM
         vP3bfoaWRXasWOba3w5869gxJynhrbcM94cNKDi+XX+f3qAEcCAiiz0ISHVEc3E1gS/+
         WsTUpzk1/B67t5IBmI095nPAP1aLVHCdzj8L+pdPnSb2D7vEugKnHizVGyA6R2hN2Jc8
         DZ2IlgHieIvxtpFpOQvma+dombYRyHxIlEWZlBBYaVNXmC28NFf0ObDqyIu7bssMjsgu
         j6essgUnY94RnRCkvLyqrLmk9jdWjJEfOrqwdK3zW18ljBIuaIuIw4J8yjX4lsHwkOnQ
         lXOQ==
X-Gm-Message-State: AOJu0Yyi5LrR2OF4ay8SvK37hX4fcLFGXe7TXe7LpmbD59HFd4aysquz
	8VCusXB4/dYA7+u/eadG454lhbM7IULQNyTzo/YywOOE4TNZGjIcMqA2J4E+kA==
X-Gm-Gg: AfdE7cnk86MfTrtxdEjJV3pGzS6BR6PgStuqCybiL0++2FRaxPqp5jAsivjz7bZVlsv
	V4MSPuA0zywi/XOdeC3FxdVZRqY7qwMz/d0Co4TFuFrBS55pWgIhreOAl1HnxWhMsz+5oCDUHMU
	oNezWBw9ZK4Bu5mIyFw4VtO/z3M9Fxba2rNtUTyi8NJcjZjDcOG2AwbLe3N2/Lkocv5hYkdjx6t
	2Ls6ZwCviRyTJ6DbiJfIAenpg2qvyLWeOJndcB1D4wLmHk/+p3aYfZS9cvVVEeeWTFwmnE3BzvA
	HdyuNj5x9FXTw38g9Z6Hq/dGDv3PVig+jAoFka0Z/ipIq2CgZ0If8NfDDcCbQ5RR5lgROuRtqFo
	CewPpSJ2av9GLCzzgs8DHTjBkDrQ8Z/JduDpPtugHNvnOqrFrX9USbFhal87tfEy0sx82hSGLo1
	5N23Iz2gyBZTqHQJhuLswUWSbN3zwEOgUbPFdN2Dklao39K5wwwNPfsiaRWYplosGvh6fv
X-Received: by 2002:a2e:a547:0:b0:396:ae32:860 with SMTP id 38308e7fff4ca-39acb9235a5mr11861531fa.16.1782403391127;
        Thu, 25 Jun 2026 09:03:11 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH v4] xen: introduce CONFIG_HAS_SHARED_INFO for archs without a shared page
Date: Thu, 25 Jun 2026 18:02:54 +0200
Message-ID: <775c88457e5ec7fc7889002c6f9829669f9bce97.1782388193.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1782403392-91128D51-D54A806F/10/73395122804
X-purgate-type: spam
X-purgate-size: 12811

On architectures that run guests in dom0less mode without the PV ABI
(currently RISC-V), no shared_info page is allocated and d->shared_info
remains NULL throughout the domain lifetime.  Several places in common
code access d->shared_info through the shared_info() macro or directly,
causing UBSAN null-pointer errors on such architectures.

Rather than adding runtime NULL guards that are logically unreachable
on x86 and Arm (where shared_info is always allocated), introduce a new
Kconfig symbol CONFIG_HAS_SHARED_INFO selected by x86 and Arm.

On !HAS_SHARED_INFO the shared_info() macro expands to a dereference
of a pointer returned by shared_info_absent(), which is declared but
intentionally never defined.  Any use of shared_info() that is not
dead-code-eliminated will therefore cause a link-time failure, making
missed guards impossible to overlook.

The 2L event-channel ops call shared_info() and must not be compiled on
architectures without a shared_info page, so event_2l.o is gated on
CONFIG_HAS_SHARED_INFO.  On such architectures evtchn_init() installs
the FIFO ops as a placeholder instead; evtchn_fifo_word_from_port() is
guarded against uninitialised d->evtchn_fifo so the FIFO ops are safe
before evtchn_fifo_init_control() is called by the guest.

With CONFIG_HAS_SHARED_INFO=n all vCPUs fall back to the global
dummy_vcpu_info, so writes through vcpu_info() could leak data between
vCPUs. Reviewing the write paths in common code: the write in
map_guest_area() stores the constant ~0 so nothing serious would happen
if it were leaked; the event_2l.c paths are unreachable because the
preceding shared_info() call would trap first; the write in
vcpu_info_populate() targets the new mapping buffer, not
dummy_vcpu_info.

Outside common code, the remaining writes are x86 PV-specific, for which
CONFIG_HAS_SHARED_INFO=y. No code changes are needed.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v4:
 - event_channel.c: drop the redundant evtchn_fifo_init_ops() in the
   else branch of evtchn_reset(); evtchn_fifo_destroy() does not undo the
   ops installed by evtchn_init(), so only the switch back to 2-level ABI
   needs an explicit call.
 - shared.h: simplify the !HAS_SHARED_INFO shared_info() definition to use
   an undefined "extern struct shared_info *shared_info_absent" instead of
   shared_info_absent() with a typeof cast.
 - Extend the commit description to note that vcpu_info()/__vcpu_info()
   uses were also audited: on !HAS_SHARED_INFO vcpu_info_area.map points at
   dummy_vcpu_info, reads are harmless, and writes in common code do not
   open a cross-domain info-leak side channel, so no code changes are
   needed on that path.
---
Changes in v3:
 - Introduce CONFIG_HAS_SHARED_INFO Kconfig symbol selected by x86
   and Arm; RISC-V does not select it.
 - Gate shared_info() macro on CONFIG_HAS_SHARED_INFO; on
   !HAS_SHARED_INFO it calls shared_info_absent() (declared, never
   defined) so any unguarded use produces a link-time error.
 - Replace runtime if (!d->shared_info) guards with IS_ENABLED() at
   call sites so both branches type-check and dead code is eliminated.
 - Guard shared_info_frame assignment in domctl.c.
 - Gate event_2l.o on CONFIG_HAS_SHARED_INFO; use FIFO ops as
   placeholder on !HAS_SHARED_INFO archs instead of dedicated stub
   ops; guard evtchn_fifo_word_from_port() against uninitialised
   d->evtchn_fifo.
 - Add static inline stubs for evtchn_2l_init() (!HAS_SHARED_INFO)
   and evtchn_fifo_init_ops() (!EVTCHN_FIFO) so call sites can use
   IS_ENABLED() without #ifdef.
 - Drop inaccurate changelog entry about "only FIFO ABI" migration.
 - Update the commit message.
 - Drop R-by: Baptiste ... as some extra checks are added.
---
Changes in v2:
 - Update commit message + subject.
 - Drop Fixes tag.
---
 xen/arch/arm/Kconfig       |  1 +
 xen/arch/x86/Kconfig       |  1 +
 xen/common/Kconfig         |  3 +++
 xen/common/Makefile        |  2 +-
 xen/common/domain.c        |  6 +++---
 xen/common/domctl.c        | 11 ++++++++---
 xen/common/event_channel.c | 12 +++++++++---
 xen/common/event_channel.h |  6 ++++++
 xen/common/event_fifo.c    | 11 ++++++++++-
 xen/common/time.c          |  2 ++
 xen/include/xen/shared.h   |  8 +++++++-
 xen/include/xen/time.h     |  4 ++++
 12 files changed, 55 insertions(+), 12 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 5fa89fcb2428..683ab7d25a1e 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -20,6 +20,7 @@ config ARM
 	select HAS_DEVICE_TREE_DISCOVERY
 	select HAS_DOM0LESS
 	select HAS_GRANT_CACHE_FLUSH if GRANT_TABLE
+	select HAS_SHARED_INFO
 	select HAS_STACK_PROTECTOR
 	select HAS_UBSAN
 
diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 2ce4747f6ea7..49697b795259 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -29,6 +29,7 @@ config X86
 	select HAS_PCI_MSI
 	select HAS_PIRQ
 	select HAS_SCHED_GRANULARITY
+	select HAS_SHARED_INFO
 	imply HAS_SOFT_RESET
 	select HAS_UBSAN
 	select HAS_VMAP
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 5ff71480eebe..8b48d84c79e8 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -158,6 +158,9 @@ config HAS_PMAP
 config HAS_SCHED_GRANULARITY
 	bool
 
+config HAS_SHARED_INFO
+	bool
+
 config HAS_SOFT_RESET
 	bool
 
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 6018e256147f..f69d47d18934 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -12,7 +12,7 @@ obj-$(CONFIG_DEVICE_TREE_PARSE) += device-tree/
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
 obj-y += domain.o
 obj-y += domid.o
-obj-y += event_2l.o
+obj-$(CONFIG_HAS_SHARED_INFO) += event_2l.o
 obj-y += event_channel.o
 obj-$(CONFIG_EVTCHN_FIFO) += event_fifo.o
 obj-$(CONFIG_GRANT_TABLE) += grant_table.o
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 8f2bfcae2890..fba8e9161937 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -316,9 +316,9 @@ void vcpu_info_reset(struct vcpu *v)
     struct domain *d = v->domain;
 
     v->vcpu_info_area.map =
-        ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS)
-         ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
-         : &dummy_vcpu_info);
+        IS_ENABLED(CONFIG_HAS_SHARED_INFO) && v->vcpu_id < XEN_LEGACY_MAX_VCPUS
+        ? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
+        : &dummy_vcpu_info;
 }
 
 static struct domain *alloc_domain_struct(void)
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index e30b38a337ac..5e5632f912d3 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -102,9 +102,14 @@ void getdomaininfo(struct domain *d, struct xen_domctl_getdomaininfo *info)
 #ifdef CONFIG_MEM_PAGING
     info->paged_pages       = atomic_read(&d->paged_pages);
 #endif
-    info->shared_info_frame =
-        gfn_x(mfn_to_gfn(d, _mfn(virt_to_mfn(d->shared_info))));
-    BUG_ON(SHARED_M2P(info->shared_info_frame));
+    if ( IS_ENABLED(CONFIG_HAS_SHARED_INFO) )
+    {
+        info->shared_info_frame =
+            gfn_x(mfn_to_gfn(d, _mfn(virt_to_mfn(d->shared_info))));
+        BUG_ON(SHARED_M2P(info->shared_info_frame));
+    }
+    else
+        info->shared_info_frame = INVALID_GFN_RAW;
 
     info->cpupool = cpupool_get_id(d);
 
diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index a3d18bc464e8..fae58985e501 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -1323,9 +1323,11 @@ int evtchn_reset(struct domain *d, bool resuming)
         rc = -EAGAIN;
     else if ( d->evtchn_fifo )
     {
-        /* Switching back to 2-level ABI. */
         evtchn_fifo_destroy(d);
-        evtchn_2l_init(d);
+
+        if ( IS_ENABLED(CONFIG_HAS_SHARED_INFO) )
+            /* Switching back to 2-level ABI. */
+            evtchn_2l_init(d);
     }
 
     write_unlock(&d->event_lock);
@@ -1624,7 +1626,11 @@ void evtchn_check_pollers(struct domain *d, unsigned int port)
 
 int evtchn_init(struct domain *d, unsigned int max_port)
 {
-    evtchn_2l_init(d);
+    if ( IS_ENABLED(CONFIG_HAS_SHARED_INFO) )
+        evtchn_2l_init(d);
+    else
+        evtchn_fifo_init_ops(d);
+
     d->max_evtchn_port = min_t(unsigned int, max_port, INT_MAX);
 
     d->evtchn = alloc_evtchn_bucket(d, 0);
diff --git a/xen/common/event_channel.h b/xen/common/event_channel.h
index dc94a43cc2dd..91f6d7b3d4bf 100644
--- a/xen/common/event_channel.h
+++ b/xen/common/event_channel.h
@@ -44,7 +44,11 @@ static inline void evtchn_port_print_state(struct domain *d,
 
 /* 2-level */
 
+#ifdef CONFIG_HAS_SHARED_INFO
 void evtchn_2l_init(struct domain *d);
+#else
+static inline void evtchn_2l_init(struct domain *d) {}
+#endif
 
 /* FIFO */
 
@@ -55,6 +59,7 @@ 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);
+void evtchn_fifo_init_ops(struct domain *d);
 #else
 static inline int evtchn_fifo_init_control(struct evtchn_init_control *init_control)
 {
@@ -68,6 +73,7 @@ static inline void evtchn_fifo_destroy(struct domain *d)
 {
     return;
 }
+static inline void evtchn_fifo_init_ops(struct domain *d) {}
 #endif /* CONFIG_EVTCHN_FIFO */
 
 #endif /* EVENT_CHANNEL_H */
diff --git a/xen/common/event_fifo.c b/xen/common/event_fifo.c
index 37cba9bc4564..4aa34ca13a56 100644
--- a/xen/common/event_fifo.c
+++ b/xen/common/event_fifo.c
@@ -62,6 +62,9 @@ static inline event_word_t *evtchn_fifo_word_from_port(const struct domain *d,
      */
     smp_rmb();
 
+    if ( unlikely(!d->evtchn_fifo) )
+        return NULL;
+
     if ( unlikely(port >= d->evtchn_fifo->num_evtchns) )
         return NULL;
 
@@ -420,6 +423,11 @@ static const struct evtchn_port_ops evtchn_port_ops_fifo =
     .print_state   = evtchn_fifo_print_state,
 };
 
+void evtchn_fifo_init_ops(struct domain *d)
+{
+    d->evtchn_port_ops = &evtchn_port_ops_fifo;
+}
+
 static int map_guest_page(struct domain *d, uint64_t gfn, void **virt)
 {
     struct page_info *p;
@@ -562,7 +570,8 @@ static void setup_ports(struct domain *d, unsigned int prev_evtchns)
 
         evtchn = evtchn_from_port(d, port);
 
-        if ( guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
+        if ( IS_ENABLED(CONFIG_HAS_SHARED_INFO) &&
+             guest_test_bit(d, port, &shared_info(d, evtchn_pending)) )
             evtchn->pending = true;
 
         evtchn_fifo_set_priority(d, evtchn, EVTCHN_FIFO_PRIORITY_DEFAULT);
diff --git a/xen/common/time.c b/xen/common/time.c
index 04a65f00b35c..cdfdc53b6a17 100644
--- a/xen/common/time.c
+++ b/xen/common/time.c
@@ -89,6 +89,7 @@ struct tm gmtime(unsigned long t)
     return tbuf;
 }
 
+#ifdef CONFIG_HAS_SHARED_INFO
 void update_domain_wallclock_time(struct domain *d)
 {
     uint32_t *wc_version;
@@ -117,6 +118,7 @@ void update_domain_wallclock_time(struct domain *d)
 
     spin_unlock(&wc_lock);
 }
+#endif /* CONFIG_HAS_SHARED_INFO */
 
 /* Set clock to <secs,usecs> after 00:00:00 UTC, 1 January, 1970. */
 void do_settime(u64 secs, unsigned int nsecs, u64 system_time_base)
diff --git a/xen/include/xen/shared.h b/xen/include/xen/shared.h
index 5b71342cab32..f20a46801181 100644
--- a/xen/include/xen/shared.h
+++ b/xen/include/xen/shared.h
@@ -43,7 +43,13 @@ typedef struct vcpu_info vcpu_info_t;
 
 extern vcpu_info_t dummy_vcpu_info;
 
-#define shared_info(d, field)      __shared_info(d, (d)->shared_info, field)
+#ifdef CONFIG_HAS_SHARED_INFO
+#define shared_info(d, field) __shared_info(d, (d)->shared_info, field)
+#else
+extern struct shared_info *shared_info_absent;
+#define shared_info(d, field) (((void)(d), shared_info_absent)->field)
+#endif /* CONFIG_HAS_SHARED_INFO */
+
 #define vcpu_info(v, field)        \
         __vcpu_info(v, (vcpu_info_t *)(v)->vcpu_info_area.map, field)
 
diff --git a/xen/include/xen/time.h b/xen/include/xen/time.h
index e9c0822e6f31..2f872f580ffc 100644
--- a/xen/include/xen/time.h
+++ b/xen/include/xen/time.h
@@ -66,7 +66,11 @@ struct tm wallclock_time(uint64_t *ns);
 #define version_update_begin(v) (((v) + 1) | 1)
 #define version_update_end(v)   ((v) + 1)
 extern void update_vcpu_system_time(struct vcpu *v);
+#ifdef CONFIG_HAS_SHARED_INFO
 extern void update_domain_wallclock_time(struct domain *d);
+#else
+static inline void update_domain_wallclock_time(struct domain *d) {}
+#endif
 
 extern void do_settime(
     u64 secs, unsigned int nsecs, u64 system_time_base);
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 06:10:41 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 06:10:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345918.1604531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wczlR-0004AF-SG; Fri, 26 Jun 2026 06:10:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345918.1604531; Fri, 26 Jun 2026 06:10: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 1wczlR-0004A7-N5; Fri, 26 Jun 2026 06:10:09 +0000
Received: by outflank-mailman (input) for mailman id 1345918;
 Fri, 26 Jun 2026 06:10:08 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wczlQ-000446-A6
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 06:10:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wczlO-008m7r-Ab
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 08:10:06 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3e17b9-2eae-0a2a0a5409dd-0a2a450b8962-10
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:10:06 +0200
Received: from [209.85.221.49] (helo=mail-wr1-f49.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3e17bc-ac48-0a2a450b0019-d155dd31c4c2-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:10:04 +0200
Received: by mail-wr1-f49.google.com with SMTP id
 ffacd0b85a97d-464192ab2e1so334444f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Jun 2026 23: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-49268ff1be9sm53238785e9.8.2026.06.25.23.10.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Jun 2026 23: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782454204; x=1783059004; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=euXe730d2gXr9D2oB3dY/IhcPViTqdTR3zG+OVUrVWk=;
        b=bg/RV+iHnnDREsVSidJ1kDBprVMT5GW1OCslPygCPJzt0cmO+HOMv7tTjMplYhJ8rd
         JjiLpp4WgxHwIfmb7+6nFNMVqq18VlBleMlHmL2FU99peUva8gxSPiKiYqOYP+FKEQBa
         rrfANDUnn58GhgaFbepRNExOrwAxkTfedBixYGG40raWkRbGRuvZ/yJD+XSnET3ptB1k
         YYEKLEFi+KenDfGPcJhh4vM+/wLlPUJ7IB8xTINFhvLjEGL7WEZI6JofqAoaaKYrchhe
         NMAsgdC23BX3EVJyMlHkxG7slHo772y2qj1wIY426FK/lyznT8aAOqS3UBG/zbX7RrX+
         CMMA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782454204; x=1783059004;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=euXe730d2gXr9D2oB3dY/IhcPViTqdTR3zG+OVUrVWk=;
        b=tVdshz4vs0bd02XzChoR+r077Asj+Y2iYapzFfdckC77lgesdzoQuogkmsQXBrQ2Ou
         qC0ElbKQxLrHI0+CtUhNPre5nDVt8q6g69MHqxr1qb0oxdxlDpeA6NspQ4pqQzxFW88g
         oxIjDv414199D28TgT5eyRmBUFBEq8iug4yScbTmL5x67NS7wf43LWDu12jHp3dgBrXB
         eNS6ZqU/qDAxEZjrzqW0U2/l8Bi9BL7lAvflk5v3u1jX8E/LHCHhDiCosfWPOeY7C+wt
         IT28UkaqJmVLWOjcyryv7ghKRabM6ovNFLL/Dd0aV+ur46wtSZMvPyYS7HEewryRYo8E
         i8Pw==
X-Forwarded-Encrypted: i=1; AFNElJ/yHcd8vsfJBqHETOPZK1OprdwgusbbxVloAj9qnPTy/PBbygLS4kyV/ggUClfadJ2nQAFmsxSWuLs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz2D19trIeuItvka744vmU7wXM8BQdCn9fIAnVv6nMMaVQ9xtbO
	8zsn5ql1IEzmCulasBh7vFjoh1jvxxWnvTyKRAibXRx01GxEj1KQDHSBO2Te2zcc/w==
X-Gm-Gg: AfdE7cntDiexT213RngnUWmy3WpaRW36cjV0Rt1t3bxoAwjgaz5nXYk339ZjsDHbzwY
	sVBE7L5q39XONKoASmSJQZHvsuUERqAy3ibhbW+W0abE7mPJWsyHdfnosYD5I1j1aq4BGjg/9cs
	kw9MHUWnsYa7a9wRJ9st0B30NkIJzhg1bt/ZYdPfHiV/xyGOvjm3XJ67WumbEsXprS5APWD0kGU
	aZcz1eCRQxE6zQBLoPSLH56G2FGHRhp558Cx7uatEBt/m+0E7N+GZPtkiUef/11HkyX8rOzeuqO
	0b6SystAmRN0zNF5WaSO5Nr2UxfNDGDWm4xJ/fWRElI8iKJ59nc5CeSUAOv9PViLmlD1SFlfmOa
	JmcvjxrKwWHpQplaM4AfVLUfvf6bVr/qObCnYOUJcUnrf/lt80Ze2dCHSh9HY4VXErPgFPmBqPd
	aAs1m+rTE+Op93FKEb9TrTSrui65WtErEb30XmttsYlX4FMERDn7dwoky+u6VXMwm54ZyzgGsCj
	qGK
X-Received: by 2002:a05:600c:1d86:b0:490:d354:bcf4 with SMTP id 5b1f17b1804b1-49266885dc4mr71129385e9.27.1782454203626;
        Thu, 25 Jun 2026 23:10:03 -0700 (PDT)
Message-ID: <98b6159a-3e68-4ac3-b60a-112e975f4f16@suse.com>
Date: Fri, 26 Jun 2026 08:10:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 18/23] xen/riscv: implement IRQ routing for device
 passthrough
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
 Alistair Francis <alistair.francis@wdc.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.1781693963.git.oleksii.kurochko@gmail.com>
 <0458468cc5a6db911a9acc64f4c8cf17ceebe4c6.1781693963.git.oleksii.kurochko@gmail.com>
 <3a1aca27-cc18-4b57-bb31-c50161b8c261@suse.com>
 <b4770ce2-9456-4dae-a322-c8e3f9239472@gmail.com>
 <d0b60963-6711-44ed-833d-83ac9de50aa9@suse.com>
 <04195c2e-0cb1-45a2-9844-2ce802692704@gmail.com>
 <9640e0eb-ea38-41ba-b99c-aafa6c6d7bc7@suse.com>
 <454e633b-2de6-4a04-a711-36bb8b2c8c00@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: <454e633b-2de6-4a04-a711-36bb8b2c8c00@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1782454204-40942220-EC526D95/0/0
X-purgate-type: clean
X-purgate-size: 8282

On 25.06.2026 17:54, Oleksii Kurochko wrote:
> 
> 
> On 6/25/26 1:14 PM, Jan Beulich wrote:
>> On 25.06.2026 11:48, Oleksii Kurochko wrote:
>>> On 6/25/26 8:08 AM, Jan Beulich wrote:
>>>> On 24.06.2026 17:21, Oleksii Kurochko wrote:
>>>>> On 6/22/26 5:57 PM, Jan Beulich wrote:
>>>>>> On 17.06.2026 13:17, Oleksii Kurochko wrote:
>>>>>>> --- a/xen/arch/riscv/include/asm/intc.h
>>>>>>> +++ b/xen/arch/riscv/include/asm/intc.h
>>>>>>> @@ -13,6 +13,7 @@ enum intc_version {
>>>>>>>     };
>>>>>>>     
>>>>>>>     struct cpu_user_regs;
>>>>>>> +struct domain;
>>>>>>>     struct irq_desc;
>>>>>>>     struct kernel_info;
>>>>>>>     struct vcpu;
>>>>>>> @@ -32,6 +33,9 @@ struct intc_hw_operations {
>>>>>>>         /* hw_irq_controller to enable/disable/eoi host irq */
>>>>>>>         const struct hw_interrupt_type *host_irq_type;
>>>>>>>     
>>>>>>> +    /* hw_irq_controller to enable/disable/eoi guest irq */
>>>>>>> +    const struct hw_interrupt_type *guest_irq_type;
>>>>>>
>>>>>> It's likely my limited RISC-V knowledge that I find this extremely odd:
>>>>>> Separate struct hw_interrupt_type-s for host and guest?
>>>>>
>>>>> The guest and host interrupt controllers may handle some
>>>>> hw_irq_controller operations differently, even though the operations
>>>>> themselves are conceptually the same. The hw_irq_controller interface
>>>>> provides fairly abstract interrupt controller operations, but the
>>>>> underlying implementation may differ depending on whether the controller
>>>>> is used by the host or a guest.
>>>>>
>>>>> As an example, the Arm code already follows this approach:
>>>>>
>>>>> /* XXX different for level vs edge */
>>>>> static hw_irq_controller gicv2_host_irq_type = {
>>>>>        .typename     = "gic-v2",
>>>>>        .startup      = gicv2_irq_startup,
>>>>>        .shutdown     = gicv2_irq_shutdown,
>>>>>        .enable       = gicv2_irq_enable,
>>>>>        .disable      = gicv2_irq_disable,
>>>>>        .ack          = gicv2_irq_ack,
>>>>>        .end          = gicv2_host_irq_end,
>>>>>        .set_affinity = gicv2_irq_set_affinity,
>>>>> };
>>>>>
>>>>> static hw_irq_controller gicv2_guest_irq_type = {
>>>>>        .typename     = "gic-v2",
>>>>>        .startup      = gicv2_irq_startup,
>>>>>        .shutdown     = gicv2_irq_shutdown,
>>>>>        .enable       = gicv2_irq_enable,
>>>>>        .disable      = gicv2_irq_disable,
>>>>>        .ack          = gicv2_irq_ack,
>>>>>        .end          = gicv2_guest_irq_end,
>>>>>        .set_affinity = gicv2_irq_set_affinity,
>>>>> };
>>>>>
>>>>> These implementations reuse almost all interrupt controller operations,
>>>>> differing only in the .end callback.
>>>>
>>>> Which I'm having trouble with as well. Interrupts are handled by Xen. What
>>>> guests get to see are virtualized interrupts (no matter how much HW
>>>> acceleration may be in use). Hence I'm having difficulty to see such a
>>>> split justified.
>>>
>>> I think that I don't fully understand what is wrong with splitting. If
>>> there are cases exist when I need such separation for virtual interrupt
>>> controller operations then it looks fine to introduce such separation,
>>> right?
>>>
>>> Lets take an example of PLIC.
>>>
>>> For each source the PLIC has a "gateway":
>>> 1. Claim (read CONTEXT_CLAIM): returns the pending IRQ id and closes the
>>> gateway for that source, it will not forward that source to any context
>>> again until completed.
>>> 2. Complete (write the id back to CONTEXT_CLAIM): reopens the gateway.
>>> If the device line is still asserted (level high), the PLIC immediately
>>> re-marks it pending and delivers it again.
>>>
>>> The "closed gateway" between claim and complete is effectively the
>>> hardware masking the source while it's being serviced.
>>>
>>> Then if we will handle guest interrupt in the following way:
>>> 1. Passthrough device asserts its line (level stays high).
>>> 2. Xen takes the physical IRQ, claims (gateway closes), completes
>>> (gateway reopens), injects a virtual IRQ into the guest's vPLIC.
>>> 3. The guest hasn't run yet, it hasn't touched the device's registers,
>>> so the device line is still high.
>>> 4. The PLIC sees the source still asserted with an open gateway -> marks
>>> pending -> fires another physical interrupt into Xen -> ... -> repeat.
>>>
>>> So we get a storm of physical interrupts for a device the guest hasn't
>>> even begun servicing. The device line only drops when the guest driver
>>> writes the device's own registers, which happens long after, and on the
>>> guest's schedule.
>>>
>>> So the solution is that the physical complete must wait until the guest
>>> has actually quiesced the device. The only signal Xen gets for "guest is
>>> done" is the guest writing its virtual complete to the emulated vPLIC. So:
>>> 1. guest_irq->ack: the claim already happened (the readl(CONTEXT_CLAIM)
>>> in plic_handle_interrupt); ack just records which context claimed it.
>>> The gateway stays closed - good, the source is masked while the guest works.
>>> 2. inject vIRQ â†’ guest services the device (line drops) -> guest writes
>>> vPLIC complete.
>>> 3. guest_irq->end: now do the physical complete, reopening the gateway.
>>> Device is quiet -> no spurious re-trigger; if it's a new legitimate
>>> assertion, it fires once, correctly.
>>>
>>> Is it clear enough now?
>>
>> Well, yes and no. On x86 we have to deal with the situation you describe as
>> problematic anyway, as IRQs have priorities associated with them, and higher
>> prio ones block equal/lower prio ones until they are "completed" (in the
>> terminology you use). 
> 
> Just for my understand what is the problem here that until "completed" 
> isn't done for this high priority interrupt all other will just wait so 
> basically responsiveness of the system in general will be bad?

Yes, on guest can affect other guests or the host.

>> If you don't have anything similar in RISC-V, then
>> you may indeed get somewhat simpler code overall with such a split.
> 
> IIUC, if the word "block" above is used correctly I would say that 
> behavior on RISC-V is different, at least, for PLIC as basically, if we 
> have three IRQs and let's say `irq1` has the highest priority.
> 
> `irq2` and `irq3` may become pending in the PLIC core, but they will not 
> be visible to the CPU until `irq1` is CLAIMed, even if `irq1` is never 
> completed (i.e., if you fail to write back to the CLAIM/COMPLETE register).
> 
> When the hart reads the CLAIM/COMPLETE register, the PLIC core 
> atomically retrieves the ID of the highest-priority pending interrupt 
> (`irq1`) and clears its Interrupt Pending (IP) bit in the PLIC core.
> 
> Once the IP bit for `irq1` is cleared, the PLIC core immediately 
> re-evaluates all remaining pending interrupts. If `irq2` and `irq3` are 
> pending, `irq2` (the next-highest-priority interrupt) becomes the 
> highest-priority pending interrupt.
> 
> The PLIC core will continue to signal the hart (by asserting the `MEIP` 
> or `SEIP` bits) as long as there is any pending and enabled interrupt 
> whose priority exceeds the hart's threshold.
> 
> So the IRQ handler can run for irq2 and irq3 before irq1 is COMPLETED.
> 
> So irqs are blocked only until they are claimed.
> 
>   Yet if
>> there's nothing like that in RISC-V, you can get (almost) arbitrarily deeply
>> nested interrupts, which in turn would be a problem you need to deal with.
>> IOW I suspect the architecture has something to limit nesting depth.
> 
> The trap handler, where the IRQ handler is called, starts with 
> interrupts disabled, so nested interrupts cannot really occur at that point.

Same on x86. Yet then in do_IRQ(), around invoking the handler, we re-enable
interrupts. There have been discussions whether this is a good idea, but
fundamentally the thought behind this is to prevent higher priority IRQs to
remain blocked for overly long periods of time. I.e. again a responsiveness
concern, the more that some of the IPIs are hi-prio ones in order for them
to be serviced quickly, to prevent blocking the CPU issuing the IPI (plus
perhaps further CPUs).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 26 07:32:56 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 07:32:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345940.1604540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd13J-0006uA-JW; Fri, 26 Jun 2026 07:32:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345940.1604540; Fri, 26 Jun 2026 07:32: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 1wd13J-0006u3-Gc; Fri, 26 Jun 2026 07:32:41 +0000
Received: by outflank-mailman (input) for mailman id 1345940;
 Fri, 26 Jun 2026 07:32:40 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd13I-0006tx-0b
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 07:32:40 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd13G-005qiR-SW
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 09:32:38 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e2b15-e002-0a2a0a5209dd-0a2a45049d76-8
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 09:32:38 +0200
Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e2b16-a01d-0a2a45040019-d155802bc50d-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 09:32:38 +0200
Received: by mail-wm1-f43.google.com with SMTP id
 5b1f17b1804b1-4924593f45dso8148515e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 00:32:38 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-49269009163sm64494905e9.11.2026.06.26.00.32.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Jun 2026 00:32: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:In-Reply-To:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782459158; x=1783063958; 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=lUxVBj8XIakN6zn8+RPIXWbA2r7d288fvKzWCKUF94k=;
        b=RNr57u8avyQNypplbevBe18++kVCCTHf1DAWECewJybeSzR5IvoZTwHYSvdy0Obb7c
         z9ZvLMN77qco2oh+bvz4EHReQTjDTCvtppPKr1sSCE8X65eKDyHDmPpCY5zItWjEJjGr
         791OOWsV+HX0+fYsDlnQ75wfK5PTYg63JCL8Bj6QQkgKQ344B/443Msww5W+ZKKBGmMj
         HigHxxUbnpu6ea56fAKsMuvAk5vDOM/NutqOap0uHC3g2t6+Eg52uSMg05FecBjXn5gj
         8hwXbI6ibSi1Zy86DOmoUmazX3aXg0BYErUGJhxaf1CLPFwK7EafBzcHMfBDkyPzyAMs
         e4eg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782459158; x=1783063958;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=lUxVBj8XIakN6zn8+RPIXWbA2r7d288fvKzWCKUF94k=;
        b=ka2DeL5Ote4ErrVXU1uRqUxJaIG/gVbeVC6ZvIx0KRUsU/n5BP/fc/8zuzhIlLMMfv
         RJrIZpCF5ITPgYbrEeJnZoUHXfmAT3NmGm5ZfdT8jAC0qFZX67NDkZRxyLqrqmKQ235d
         dddxwodx6p2dUMvchTWC7dTf+RtdpgpJPF6lpU1B8q9lCBGNrSWS+jeXhBINist/89OT
         1Wam3W3LDblwS6gR8GjbWHdvYyOU0YRoVl7pSenE9w/OXTZQyv6kt9QEj7HG6JZtlUQS
         4mUZL7dROQezbKYVo34ZofA8QG3vVLOCMLzBoe8pc8NTzXLu494hKQ5yqlSwTF0uceKr
         Hkng==
X-Forwarded-Encrypted: i=1; AFNElJ8JmyCmUU44vmTyFhs9BlHfNxGig/lWw/U+DKWND7lm0jpbjFRD3po2RTYs7PwoQ2oLFmKNYyMrWVU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyM4VunK6JjWmu9fHKlQkTcXVhGMAiRgse2AjUHAC7FKDoVhYka
	bRRS4a2sIOG54N40aA9ZikA4THP/nZ6w8i4t/ogrVLznAUl6kaj/FR8S
X-Gm-Gg: AfdE7cmCS4VJLfnUiK5WkvZBCy1qBrIFKE2OpBotya5WH3A2NTyExUo3osrfrV5ftti
	HaWuwlzIIoC4Bk6ClLhNgEVhitCI3YiUHHnsbFFO4hRE9tSl/bfscIZQgSrBlnQ0+3owW54p62C
	BSUN/p37DwnVpcEq4Mb7MDm8+oZxfn+G4jjkHSuaMAaYoJl6ZNm7u0WKJSV2zTXhB+CVIHpghtO
	HjqqktA4zLRjnmausu8ZoPKHcokngv2S9cDYnG1PRgx5a4d//nUY6cOjcYN+xqFllQcvMCEd8/z
	bMX/SHvMGucumHfY0B9AGIQhJo7hb2METdKZq9kjy+7G7EDaEMRNqUnyprTqZL5RbI4E7ljS4bs
	ZAYepFM12YYxYkpaz/NJ49ELrH0DZjAi+ARvgu69yrRm0hahQbTvd+zc2TWrws+AeEBIVqTjpjV
	JUOwoG2vEON8XeEEgCgxx20uHXLFNkmpJVVk8FITGR1Ejo0p5Qj0gQLYnjnycBmlZ7meM=
X-Received: by 2002:a05:600c:a0d:b0:492:6487:a87 with SMTP id 5b1f17b1804b1-49266893009mr82012035e9.32.1782459158022;
        Fri, 26 Jun 2026 00:32:38 -0700 (PDT)
Message-ID: <b0968234-06b6-4a22-96bc-5cfb51b36afd@gmail.com>
Date: Fri, 26 Jun 2026 09:32:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] bootfdt: Fix infinite loop in device_tree_for_each_node()
To: "Orzel, Michal" <michal.orzel@amd.com>,
 Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>
References: <8836494cb51f6e1f4b094fc690876d344adb47f3.1781955521.git.dmytro_prokopchuk1@epam.com>
 <50068b88-c7f7-4a66-a5a3-afbb2d2b6fb0@amd.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <50068b88-c7f7-4a66-a5a3-afbb2d2b6fb0@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-ebf023/1782459158-AF5201CC-B68D59ED/10/73395122804
X-purgate-type: spam
X-purgate-size: 5232



On 6/22/26 9:10 AM, Orzel, Michal wrote:
> 
> 
> On 20-Jun-26 13:49, Dmytro Prokopchuk1 wrote:
>> When a node's depth exceeds DEVICE_TREE_MAX_DEPTH inside the
>> device_tree_for_each_node() loop, the code prints a warning and
>> executes 'continue;' statement, which jumps to condition check,
>> bypassing the iterator update step:
>>
>>      node = fdt_next_node(fdt, node, &depth).
>>
>> The node and depth are not updated, the loop repeatedly evaluates
>> the same too-deep node, causing a hang.
>>
>> Fix this by wrapping the node processing logic in an 'else' block.
>> This ensures the loop update step is executed on every iteration,
>> safely skipping deeply nested nodes and doing the traversal.
>>
>> Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
> Please add a fixes tag:
> Fixes: 40f2ea3df2e2 ("xen/arm: pass node to device_tree_for_each_node")
> 
>> ---
>>
>> Test CI pipeline: https://gitlab.com/xen-project/people/dimaprkp4k/xen/-/pipelines/2615174670
>>
>> Local tests.
>> Tests were based on "qemu-xtf.sh".
>> In the "/chosen" node were added these "levelN" nesting nodes:
>>
>> 	chosen {
>> 		stdout-path = "/pl011@9000000";
>> 		kaslr-seed = <0x6ae81a67 0x26e92d62>;
>>          level1 {
>>              level2 {
>>          ...
>>                          level19 {
>>                              level20 {
>>                                  compatible = "test";
>>                                  value = <1234>;
>>                              };
>>                          };
>>          ...
>>              };
>>          };
>> 	};
>>
>> Without a patch Xen stuck printing the same message in a loop:
>>
>> (XEN) Checking for initrd in /chosen
>> (XEN) Checking for "xen,static-mem" in domain node
>> (XEN) Warning: device tree node `level15' is nested too deep
>> (XEN) Warning: device tree node `level15' is nested too deep
>> (XEN) Warning: device tree node `level15' is nested too deep
>> (XEN) Warning: device tree node `level15' is nested too deep
>> (XEN) Warning: device tree node `level15' is nested too deep
>> ...
>>
>> With a patch these too-deep nodes were successfully skipped and Xen
>> continued to boot:
>>
>> (XEN) Checking for initrd in /chosen
>> (XEN) Checking for "xen,static-mem" in domain node
>> (XEN) Warning: device tree node `level15' is nested too deep
>> (XEN) Warning: device tree node `level16' is nested too deep
>> (XEN) Warning: device tree node `level17' is nested too deep
>> (XEN) Warning: device tree node `level18' is nested too deep
>> (XEN) Warning: device tree node `level19' is nested too deep
>> (XEN) Warning: device tree node `level20' is nested too deep
>> (XEN) RAM: 0000000040000000 - 00000000bfffffff
>> (XEN)
>> (XEN) MODULE[0]: 0000000043200000 - 000000004337afff Xen
>> (XEN) MODULE[1]: 0000000043400000 - 0000000043402fff Device Tree
>> (XEN) MODULE[2]: 0000000043000000 - 00000000430ef7f6 Ramdisk
>> (XEN) MODULE[3]: 0000000040600000 - 0000000042f4ffff Kernel
>> (XEN) MODULE[4]: 0000000040400000 - 0000000040412fff Kernel
>> (XEN)
>> (XEN) CMDLINE[0000000040600000]:domU0 console=ttyAMA0
>> ...
>>
>> ---
>>   xen/common/device-tree/bootfdt.c | 31 ++++++++++++++++---------------
>>   1 file changed, 16 insertions(+), 15 deletions(-)
>>
>> diff --git a/xen/common/device-tree/bootfdt.c b/xen/common/device-tree/bootfdt.c
>> index 7c790b9a4d..4d10013b2d 100644
>> --- a/xen/common/device-tree/bootfdt.c
>> +++ b/xen/common/device-tree/bootfdt.c
>> @@ -90,23 +90,24 @@ int __init device_tree_for_each_node(const void *fdt, int node,
>>           {
>>               printk("Warning: device tree node `%s' is nested too deep\n",
>>                      name);
>> -            continue;
>>           }
>> -
>> -        as = depth > 0 ? address_cells[depth-1] : DT_ROOT_NODE_ADDR_CELLS_DEFAULT;
>> -        ss = depth > 0 ? size_cells[depth-1] : DT_ROOT_NODE_SIZE_CELLS_DEFAULT;
>> -
>> -        address_cells[depth] = device_tree_get_u32(fdt, node,
>> -                                                   "#address-cells", as);
>> -        size_cells[depth] = device_tree_get_u32(fdt, node,
>> -                                                "#size-cells", ss);
>> -
>> -        /* skip the first node */
>> -        if ( node != first_node )
>> +        else
>>           {
>> -            ret = func(fdt, node, name, depth, as, ss, data);
>> -            if ( ret != 0 )
>> -                return ret;
>> +            as = depth > 0 ? address_cells[depth-1] : DT_ROOT_NODE_ADDR_CELLS_DEFAULT;
>> +            ss = depth > 0 ? size_cells[depth-1] : DT_ROOT_NODE_SIZE_CELLS_DEFAULT;
> The added indentation level pushes these two lines over 80 columns (the
> ss= line was within 80 before this patch). Please wrap them while you
> are touching them. With that:
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> 
> 
> You don't carry [for-4.22] prefix, but I think it is simple enough to take it
> in, so we can ask Oleksii for his opinion to take it for 4.22. @Oleksii?

It looks okay to me to hav ethat in 4.22:
  Release-Acked-by: Oleskii Kurochko <oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Jun 26 07:57:53 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 07:57:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345953.1604548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd1RS-0001d8-DO; Fri, 26 Jun 2026 07:57:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345953.1604548; Fri, 26 Jun 2026 07:57: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 1wd1RS-0001d1-Ai; Fri, 26 Jun 2026 07:57:38 +0000
Received: by outflank-mailman (input) for mailman id 1345953;
 Fri, 26 Jun 2026 07:57:37 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd1RR-0001ba-I9
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 07:57:37 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd1RQ-00FUBv-BT
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 09:57:36 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <dmytro_prokopchuk1@epam.com>)
 id 6a3e30e3-5cb7-0a2a0a5109dd-0a2a450592d6-46
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 09:57:36 +0200
Received: from [52.101.65.112]
 (helo=DU2PR03CU002.outbound.protection.outlook.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <dmytro_prokopchuk1@epam.com>)
 id 6a3e30ef-3cb2-0a2a45050019-34654170a4b8-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 09:57:36 +0200
Received: from AM9PR03MB7526.eurprd03.prod.outlook.com (2603:10a6:20b:3de::17)
 by PA4PR03MB6895.eurprd03.prod.outlook.com (2603:10a6:102:e7::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.12; Fri, 26 Jun
 2026 07:57:33 +0000
Received: from AM9PR03MB7526.eurprd03.prod.outlook.com
 ([fe80::904d:5820:80e1:41ba]) by AM9PR03MB7526.eurprd03.prod.outlook.com
 ([fe80::904d:5820:80e1:41ba%3]) with mapi id 15.21.0159.016; Fri, 26 Jun 2026
 07:57: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qLutStB7HNHxV3HczlDNZbOTRTUHWW7pMKcDeSw0kn+6zlx7EfCWIf+hJ9+Ns3W5HDFDZPKiV9v6wel9R6/twnQEwIMH6dGWftZ6b0H5OapNArS/KTu0a/iF0CplR0bi3JbIxwmCmVMZjA9x9UQBst++UxasQVnUe4N7cUo4neT1y5D6CMAkSk0vVnROmsQnJdBZ2+1eXAMbcKS4X8QYiMqQzqZWLGjJbYhOODC4VnN4j1S53EPQ0MalvTwiv3u3AylaUleKvp913rtXIbu5VG24QSLbdyhXxyeBkC9m8oVjHMcM49+/I/2ojKsbE/oZPbKEW/J16DGqDUI89qMLMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8PrC/Eb+2fIxUwpdRIaXwrg2q5AkEmRTFDXNr16JHCQ=;
 b=jITwOu7dLLs0Xu6f6tTMvsEuDZcnhUp4cPkAnnfVDGQOxjCyfJMRKI9o2CxDhGTK51j9oBxFAat6+mpm5fOmUhyT2keTvkF78WWu7/+EwGlvnnt3PbuUAQ9wJX69W6DioCgNerzo40P2eggIKOUtdsqs5m2o7QCpKToknmwDNhy2Qhkttfyx+Sf1G4s0lAASZWxJlIdpzvroVcYK01qu8SQIs5eVwfkDccd1e/HegOytR6UQ83FBxQavE0Kq6VK/uei5NsFusPNZSMUUR68DyacDs7mBh4kpXtb32uyLYRuGy7FVmkChHDKHpMp6XrzKrHi+hIq5H6Zxx7iWm0jROg==
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=8PrC/Eb+2fIxUwpdRIaXwrg2q5AkEmRTFDXNr16JHCQ=;
 b=B4JhK82nZUUYm1zr+yk79FOf6FCBsen+8uFykQ0oc9qJzPm1gCBA02Dd8sdM9AEofcEXvWGLihkMl1kO/hz3YtQrr8+Pzt9FA29xdf1emDSgClNtNN1a7RF0cz+nbUQmhVYTaUFotAFQHzvtKx50AUZaENb8Y69TvkvpRcezdFEWzFZVKy0DU9Oz/GxNLfiPvNjGQFnH8F1g95QE0N3HcVBMCFAlyGZIbB963CXuo/HAR4oGg7HlyVIPL8LrJoaIoaUxI7dUp0nAhcSbVDtgw6V/90ZPBrMy7tsijxRGmjBcRAjL/RqXLyOW6s9SURjk6B06ZLwfY+ZkyRU47T+0GQ==
From: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Oleskii
 Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH for-4.22 v2] bootfdt: Fix infinite loop in
 device_tree_for_each_node()
Thread-Topic: [PATCH for-4.22 v2] bootfdt: Fix infinite loop in
 device_tree_for_each_node()
Thread-Index: AQHdBUFxg9s3rPnBwUySuBkN/k4WxA==
Date: Fri, 26 Jun 2026 07:57:33 +0000
Message-ID:
 <21363e7c1f4d0be76bedaaea73404fbd2cf2b0d1.1782460456.git.dmytro_prokopchuk1@epam.com>
Accept-Language: en-US, uk-UA, ru-RU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AM9PR03MB7526:EE_|PA4PR03MB6895:EE_
x-ms-office365-filtering-correlation-id: 6a4b12ea-ff2f-49b9-29d4-08ded3589442
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|376014|366016|23010399003|1800799024|42112799006|38070700021|18002099003|6133799003|11063799006|56012099006;
x-microsoft-antispam-message-info:
 u/MYahSjQHU0zpITQ66dxA+lit6PUvgf9Ne7nWMYBf9J6uV5kpbH9yTjzNZmhJmWWz5n9WFhkdXt5gzr1SjOrlkoDJpcwp5rqOTps2qwAGxLG49WyDa0AWuXKC9dnn6TbDMgfxUDvEfQbqBbBSvltgHavtemxJHrgNWhlgu+j8SMRdhrjvn2QJeVgVhLgsYlOjHWDJsGG6eKT6VBwEIOmNW7Ato9D30svOCV5/uCs9mVeUHIWpHR5vX01Pzzog+SqI7X1Gva75KYqqYQGEBpkgBuyHm6aM88vjjodq1Iej5vWL7/jhoWSowfOK63wA8REOdvhsYIiGmIfepRcl2s/LZiz4BPjnSDVtGsaAHyBqRRJWLfP71LiBOxliRFls7uTYODiEti0cjBeS5czoeWtsMntx1pdC0ScaG5g0sCD1vU6omaPqM7AHfhpPyshPGpySwqLUIvQvILrebzoZD9T2f+Csm3kFKLH9nC83y15gu/YRdhdBfC3YYlpWCtQpnbO/jc6XfGf+sRCkuE8buN3WP5LXZTCVEokVBby/7JbBQuG5FZHQnID18ia3HA+4wZw0tw5lug+Me4s1RFpXG2krKMSHtJWVWXAnaeeGDFjuuu+QeeHI8KtrDkzSdY6SvlLMxaJNHih5mcdfqf3pLL9k1C9bY0NrnFThaynRVgnsI=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR03MB7526.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(23010399003)(1800799024)(42112799006)(38070700021)(18002099003)(6133799003)(11063799006)(56012099006);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?ILX8xjt+B2bvTkhqKcTpB6g/B+CGG8gnjhzyteHs2M3rNGyysA4vHhtOxs?=
 =?iso-8859-1?Q?g+rc9VOi2iaHXKagEHYdNqOS/xCyhHfS+dPU+jAkPweWicxYskw8W8waPK?=
 =?iso-8859-1?Q?XtJTKCtERNJZ+Eq1sgPsEIe34D3vIUrRj1zvpKMo6jMP/y9gViYW3RebVF?=
 =?iso-8859-1?Q?+xZC9K8iGZWQDpRRrTVgmybazJ/Asm7tc5rg1WRNzgUDf8T5Plk5rgJurI?=
 =?iso-8859-1?Q?ohD+1NIIiTFU95trA6hK0l9fh07Nht62+YDHMo1iCw+DnGDbf9AhCJaKFy?=
 =?iso-8859-1?Q?GzOgCxCu/lEKxQWWYPMOCXM4qtXn8a2roxPbD6VVYoVtL0h/f2q4ttzhIM?=
 =?iso-8859-1?Q?C7D3MtSdVCrb2IBeGgizY6ojLEMuzZO8zZvbaYHKTeFjl71PKFSuAhyq8X?=
 =?iso-8859-1?Q?pAdxCinD/gVmaC/FY+wrZLxDvMejC+oF2ZN7EpQyxFCLO160Zh8plHJv3z?=
 =?iso-8859-1?Q?1EhhveP51GJ66GaqYIubQcw3tSPqLQEZjd/GrlssyhfYgjALaAU9bDbjPu?=
 =?iso-8859-1?Q?HSTUGOXjMlsq9yKS0lN064B0X2kFBxRigAtf/Q3VA2QivYYS5rGoe+FqD5?=
 =?iso-8859-1?Q?UWZiTseQKpN2ctl7ZZ6fHhduJFjxfrmgLCeSRy+JQTdFC5/RoynoI+XaIN?=
 =?iso-8859-1?Q?bCs3LlEyWkJOWEBu2maG8NoagmdQ8SwkIvrV1ShZmGQkx0e1blnE5sHhLU?=
 =?iso-8859-1?Q?GA8GRrQ75bhrz+RrijTX9XkmnC6JVa/CU4wvAoMd9wM6IoMd14K82YwAcB?=
 =?iso-8859-1?Q?ZvuldKaPDnfYsIZEn5r8kBYOYyfVCaqAtup2Ferw9I1r8BJlCRQ1WGZ3Wf?=
 =?iso-8859-1?Q?qP5/3BOtkjwnHLn/KZ5M1CwnQ8ArWV6X19EH++XiuUf0VROOPlfZwZnW4P?=
 =?iso-8859-1?Q?u7oMP9MLPi+uLDzTQEQzUVXWXTrSIcWUsSyIZErPISEEz2ktTXLE+ulzqt?=
 =?iso-8859-1?Q?w11y5/gbbaPoWXPPIVqDEU3cQCIBrSs2LK5/w+5wVsH7mmDjWKf3KCNnwU?=
 =?iso-8859-1?Q?6rIPQetoG06X8gko0wmGkTVY/BB36BnRzSlJkIuTn+RtNS8puDWh7R6ZHc?=
 =?iso-8859-1?Q?snlc+E/yfRsxV+EjEwARL+t82+1WurA5au98OKZZL4RaB294AmCzOYusZ1?=
 =?iso-8859-1?Q?UAhvH1P+8WOPxavv60AHVhmS/riRCXCHwp0SXBTZd209lUbFuok7yapHlR?=
 =?iso-8859-1?Q?QCw2kUpDydVLbzwCybstYyNs5iGEKEYOjHRPS9aByTz4dPODcs9GJB5Luq?=
 =?iso-8859-1?Q?JIDz45a+2XvVMJNkXtICBv8Bi20+qhcpSolXVhXmhsBH8uJLz3/dAzkrJD?=
 =?iso-8859-1?Q?3m4bCejl7jk3P7OZ/XQi6L4FEH/liG1QhKk5X40/mSktsMZO9LMiGj7hEl?=
 =?iso-8859-1?Q?L3X8uMQDdPi+tZGyQFSK6lSq0uyO/a1I8WDrwHowVHbrNtPwR7m5hYV0w+?=
 =?iso-8859-1?Q?MHcZ/hvHRPhRK4Wjye12vQohWTSFw3TDD5FckhMfeffYoGh0BAxWawGVnK?=
 =?iso-8859-1?Q?Ke4xYov65zuuQDxHcl8u4wwpkqqYFSO2folgKHS0xeYiKJ1beUraXL6Dka?=
 =?iso-8859-1?Q?Zt792aPGunpsoMERyu3+HIdV4KKLFCXG6ShbLvQScJxZC3TKHJy4O4Z7GD?=
 =?iso-8859-1?Q?8W8hDWHRJBRjRYnrj8MJTG36VO7FXo4jAbMUHh9LIpdKdZ6cuIkrFUIgXa?=
 =?iso-8859-1?Q?GdAZbK50LQ+I0FX5UAvkv46YF0ZTBgql0yw5w1cH2VpNV2DXtifsdZVqom?=
 =?iso-8859-1?Q?O7345DMl0luz6PbM+M9wwd4LbCIwerQ/esB/N7HgZLM37aEj13e5skR++Q?=
 =?iso-8859-1?Q?4OmC6FPWJoaUflen8pOC2eH0heP66F0=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: AM9PR03MB7526.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6a4b12ea-ff2f-49b9-29d4-08ded3589442
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jun 2026 07:57:33.1035
 (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: hal3daF7S9ZApP5lwsYLn6lca1/dKg0ehGqWKv6fugTnw35J+BH9F37YeaSgLpJMrD1petJw+y3vONIdsqfLAeIZ6RRB7rt3qP9SPCuEn74=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR03MB6895
X-purgate-ID: tlsNG-c201ff/1782460656-553E72B8-C09B6CDD/10/73395122804
X-purgate-type: spam
X-purgate-size: 3271

When a node's depth exceeds DEVICE_TREE_MAX_DEPTH inside the
device_tree_for_each_node() loop, the code prints a warning and
executes 'continue;' statement, which jumps to condition check,
bypassing the iterator update step:

    node =3D fdt_next_node(fdt, node, &depth).

The node and depth are not updated, the loop repeatedly evaluates
the same too-deep node, causing a hang.

Fix this by wrapping the node processing logic in an 'else' block.
This ensures the loop update step is executed on every iteration,
safely skipping deeply nested nodes and doing the traversal.

Fixes: 40f2ea3df2e2 ("xen/arm: pass node to device_tree_for_each_node")
Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Release-Acked-by: Oleskii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v2:
- add R-b from Michal and Oleskii
- add "Fixes:" into commit messsage
- wrap two lines which were over 80 columns
Link to v1:
https://patchew.org/Xen/8836494cb51f6e1f4b094fc690876d344adb47f3.1781955521=
.git.dmytro._5Fprokopchuk1@epam.com/
---
 xen/common/device-tree/bootfdt.c | 35 ++++++++++++++++++--------------
 1 file changed, 20 insertions(+), 15 deletions(-)

diff --git a/xen/common/device-tree/bootfdt.c b/xen/common/device-tree/boot=
fdt.c
index 7c790b9a4d..8e9b45d1a7 100644
--- a/xen/common/device-tree/bootfdt.c
+++ b/xen/common/device-tree/bootfdt.c
@@ -90,23 +90,28 @@ int __init device_tree_for_each_node(const void *fdt, i=
nt node,
         {
             printk("Warning: device tree node `%s' is nested too deep\n",
                    name);
-            continue;
         }
-
-        as =3D depth > 0 ? address_cells[depth-1] : DT_ROOT_NODE_ADDR_CELL=
S_DEFAULT;
-        ss =3D depth > 0 ? size_cells[depth-1] : DT_ROOT_NODE_SIZE_CELLS_D=
EFAULT;
-
-        address_cells[depth] =3D device_tree_get_u32(fdt, node,
-                                                   "#address-cells", as);
-        size_cells[depth] =3D device_tree_get_u32(fdt, node,
-                                                "#size-cells", ss);
-
-        /* skip the first node */
-        if ( node !=3D first_node )
+        else
         {
-            ret =3D func(fdt, node, name, depth, as, ss, data);
-            if ( ret !=3D 0 )
-                return ret;
+            as =3D depth > 0 ?
+                 address_cells[depth - 1] :
+                 DT_ROOT_NODE_ADDR_CELLS_DEFAULT;
+            ss =3D depth > 0 ?
+                 size_cells[depth - 1] :
+                 DT_ROOT_NODE_SIZE_CELLS_DEFAULT;
+
+            address_cells[depth] =3D device_tree_get_u32(fdt, node,
+                                                       "#address-cells", a=
s);
+            size_cells[depth] =3D device_tree_get_u32(fdt, node,
+                                                    "#size-cells", ss);
+
+            /* skip the first node */
+            if ( node !=3D first_node )
+            {
+                ret =3D func(fdt, node, name, depth, as, ss, data);
+                if ( ret !=3D 0 )
+                    return ret;
+            }
         }
=20
         node =3D fdt_next_node(fdt, node, &depth);
--=20
2.43.0


From xen-devel-bounces@lists.xenproject.org Fri Jun 26 09:48:51 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 09:48:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1345998.1604566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd3As-0000Ls-L5; Fri, 26 Jun 2026 09:48:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1345998.1604566; Fri, 26 Jun 2026 09:48: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 1wd3As-0000Ll-Ht; Fri, 26 Jun 2026 09:48:38 +0000
Received: by outflank-mailman (input) for mailman id 1345998;
 Fri, 26 Jun 2026 09:48:37 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wd3Ar-0000Lf-Eo
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 09:48:37 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd3Aq-007pKZ-Rd
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 11:48:36 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3e4ae8-5cb7-0a2a0a5109dd-0a2a450b87ea-26
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 11:48:36 +0200
Received: from [74.125.224.46] (helo=mail-yx1-f46.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3e4af3-ac48-0a2a450b0019-4a7de02ec17c-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 11:48:36 +0200
Received: by mail-yx1-f46.google.com with SMTP id
 956f58d0204a3-662b95934dcso814784d50.3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 02: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1782467315; cv=none;
        d=google.com; s=arc-20260327;
        b=Kne/s1luz8XMTN+CVAuQarRiTQZnJCqGfbWt9WsYk0ggVl1MQoO/tPWg3FhOz1+41g
         nwEY9jYc3w5cVYXh1dSdHuCaPjC+0YsDCQHXsb2CG3W9KAUJiOdfZlEbNZaVgHq1wUJS
         5VJkIhR5rn1BmfYGhiuGIneua3rksZR2VfRra6KmGzrj3zgRE2jx4IBrZtTiyttd5uSp
         WCh2CPoBjATN/SXxqenvjUqQ7o3UDnEqF43EGSkGzkRF0fF2NmZjrQIbwfcYDygrhKkp
         FG+FAMlmLVLjmp+PBxBevcMBp+jtaDyp9x+XfFwVILPmaw2rNanlDiaVpgogFcoSwazY
         5Z0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=pxbREeCEQh0K/ywbKVEsRRtY9dsFQ5r5LVqa9AWhv94=;
        fh=7D9Yw76m+HOxt7RvILixWLDMx88k8e79GgP3XRnlNkU=;
        b=qWOXzeWus4lmkA2pnrsT+OsIU7n/mDnf4uX8ogFQGk5MdWvyDKvmDgD0NPk9oOLdZH
         aFJ6w+/xvwdNSOFDYHQ606g8JKDCw2WYUkxnyF3JfLVWqUQZk5/xS8kd9HrUVVApCorp
         REaSiVkU0w5Xx/j/XvnzdixumolBbfH7Ncc3qPD/KSmxKgw3549lLruqlLeksi+LNa7b
         DGKn91ISDbAApfo6MLO8YJbgtHTyqdgJCxewLjVGyW+zbebLB/IKJK70jOF9ERQDjWmQ
         GTkz2d0zvjmDhFmvLleUdV6x9ZLbddWolaA9AHABIJIaOV2WAsfugYyMHk2n5kjMPwVy
         gYcQ==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782467315; x=1783072115; 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=pxbREeCEQh0K/ywbKVEsRRtY9dsFQ5r5LVqa9AWhv94=;
        b=XEYQTEplL3lt+4vU6IJpWEFF9BdHn6BPVBqAuvSdF7920qx43HIfM9CoJTfyelOZrI
         05fxT8noBAvBn2zcfFRQiP0KDIPBVF/VuD181o+nCE0rQxfjts/XznmkI6ufccYFuvJo
         SVgUCUhocFjx2BjUBOFE+B/t6C8IGtg8s6om81HdnXIOcnl1HlZpwXbx9QVMPFjujvlM
         F5wCb4OUm5LmXmtLVB1WP+tD5yAOEMWcF98BWsi/EM8Mp8uWTATDF7A4KJSv1U8uHwVV
         wGOWqHGPpkP0xXeSM/gnr6C+l6CiB2PHlA1kd/XZGFlW14nFNGljcO/iIeLGTIxlBKWh
         ftbg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782467315; x=1783072115;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=pxbREeCEQh0K/ywbKVEsRRtY9dsFQ5r5LVqa9AWhv94=;
        b=Bt+GzsyuPmK4uXK44VMsq0YTiW1ZY9wODLlfasKT06kTVM2prchlbM0fbzaxXbX2Op
         vipPJsNZtwR8+7AlGBLs2tt1mLj0z5BSXm671uVDKCVOeturMYnmqy0O2Il7DmgxhHf4
         F3+GzagoRJwrJQjY/gF/SWBAD3segqKJedmsCSzT4MxN+BZjrGIy2nFA9AZoXGYnLKL+
         LWc9V80eWhX78oIyFK9SSJGRAlzSTZSe1EIsG3OQv5DvoJKk8YS2+fZgEBfEsUXuC0+q
         gbh7D4cT7mZJQDHz+1O8xnvTbgK4FibzRQhpUxauv7gG76TdxNUigAxTxNB4Ej+tJxTy
         sZUg==
X-Forwarded-Encrypted: i=1; AHgh+RoBn7NtY9dnIHg7XZQ6fHUDvRje1LNIvz9eFwaL20E/Sw2DCS2uQ62eaVeQlHPC2QfjcZQlRd9nOs4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyJngJq5yN0FaRYbkP48TOfQpQcL10vPy8SZZUkU3GkFfcyjVue
	0wmxJRdMzuvvkAoh+6NrIfFWwiPWVPcd6Iym0IiXD5j5k22Sa7Rkn2uKCdk23JZQQ6gGKW0uD9m
	dyaUqNFwI/cJllvBDyIpk3VjsHu8v2uk=
X-Gm-Gg: AfdE7clpTm0SjOzlNn+PY+U9pLAxgT2RCgEQClHxbCNsC/wvQXIXpyT7JxyIwrZ0Cni
	i2rEHdd+Ewm5CYev9EGVPbGdFOx7yPOF/nJoUfN4PL5UQrlizcRKW/ccWFTiXhiZ9Szx7+ZGh7f
	HJQfxwLnmvKEmIHq0qyIK4dwnl5AkFXvYmJ+m108E/Jb0QD0+Uz/fg8qqf4j+pROvT5+y1EO9H1
	uEha2F2a2J+RjD/qn16p2KzaxI8+pMvX7fhBN2fv45UfhsB0d1o+27C+CsZFZQq8LHB/x45UVcE
	grll/7F3ee+6QCDcCfmrSd4=
X-Received: by 2002:a05:690e:1243:b0:664:74db:5911 with SMTP id
 956f58d0204a3-66487e54d37mr4529980d50.50.1782467314876; Fri, 26 Jun 2026
 02:48:34 -0700 (PDT)
MIME-Version: 1.0
References: <20260616172830.111393-1-frediano.ziglio@citrix.com>
 <20260616172830.111393-3-frediano.ziglio@citrix.com> <070ff282-5ee4-4c24-b0bc-92d187c40dd9@suse.com>
 <CAHt6W4de1ddW_xMWhbJ15vA171tuHVGJu0TO0bAH845EDQN4gg@mail.gmail.com> <4f971b7e-b9ff-44cb-bf29-3939c8659b07@suse.com>
In-Reply-To: <4f971b7e-b9ff-44cb-bf29-3939c8659b07@suse.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Fri, 26 Jun 2026 10:48:24 +0100
X-Gm-Features: AVVi8CdaSUng3rj2WWfjBq8SulWRsmFzXuDn5WIBlbIqqi4PmX0Zr_cxtHs_RE0
Message-ID: <CAHt6W4d2ETm1G5rv5h5ESvfLm1F9+xO_v1PE7M5sQdJHxA8p1Q@mail.gmail.com>
Subject: Re: [PATCH v4 2/4] x86/efi: discard multiboot support for PE binary
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Teddy Astie <teddy.astie@vates.tech>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Frediano Ziglio <frediano.ziglio@citrix.com>, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-42698a/1782467316-A7B30220-7794810E/0/0
X-purgate-type: clean
X-purgate-size: 3990

On Thu, 25 Jun 2026 at 12:18, Jan Beulich <jbeulich@suse.com> wrote:
>
> On 25.06.2026 12:15, Frediano Ziglio wrote:
> > On Wed, 24 Jun 2026 at 15:18, Jan Beulich <jbeulich@suse.com> wrote:
> >>
> >> On 16.06.2026 19:28, Frediano Ziglio wrote:
> >>> From: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> >>>
> >>> Multiboot and PVH booting are not supported for PE, hence discards th=
em
> >>> in the linker script when doing a PE build.
> >>>
> >>> That removes some relocations that otherwise appear due to the usage =
of the
> >>> start and __efi64_mb2_start symbols in the multiboot2 header.
> >>>
> >>> Section discarding is not done updating DISCARD_SECTIONS definition a=
s the
> >>> change is specific for x86.
> >>>
> >>> No functional change intended.
> >>>
> >>> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> >>> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> >>> Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingsla=
b.com>
> >>
> >> While on the surface this looks okay, there are still concerns:
> >>
> >> For one, this also discards the PVH entry point. That's technically fi=
ne aiui,
> >> yet shouldn't go without mentioning.
> >>
> >
> > Considering that the code/data is not exported in EFI as
> >
> > #if defined(CONFIG_PVH_GUEST) && !defined(EFI)
> >   /*
> >    * In principle this should be fine to live in .note (below), but let=
's keep
> >    * it separate in case anyone decided to find these notes by section =
name.
> >    */
> >   DECL_SECTION(.note.Xen) {
> >       *(.note.Xen)
> >   } PHDR(note) PHDR(text)
> > #endif
> >
> > yes, technically it's surely fine.
> >
> > There's a mention in the commit log:
> >
> >     Multiboot and PVH booting are not supported for PE, hence discards =
them
> >     in the linker script when doing a PE build.
> >
> > But not in the subject:
> >
> >     x86/efi: discard multiboot support for PE binary
> >
> > What about simply changing the subject to:
> >
> >     x86/efi: discard multiboot and PVH support for PE binary
>
> Perhaps.
>

Updated.

> >> Otoh you discard call sites of functions without discarding the functi=
ons
> >> themselves, violating Misra's "no unreachable code" rule. Eclair may n=
ot be
> >> able to spot this, but imo we should still adhere to the rule. Proper
> >> coverage analysis, for example, would likely turn this up.
> >>
> >
> > That makes sense. Given that most code in head.S is now discarded most
> > data sections are now not used and the only thing left will be the
> > trampoline.
> > It'll take a bit of time to search for removed symbols.
> >
> > About the "no unreachable code" I think we are violating that anyway.
>
> Perhaps, but we should get the number of such violations down, not up.
>

It was not meant to be an excuse, more of a question if the problem is know=
n.
The "It'll take a bit of time to search for removed symbols" was a "I will =
do".
I now have the fixup patch for "x86/efi: discard multiboot and PVH
support for PE binary" (the commit we are talking about here). About
sending an updated series, what is the best way to send a fixup patch?
Send the fixup as separate? Merge into the base patch and remove the
"acked-by"? Keep the "acked-by"?

> > We package "built-in.o" files and then use them to craft the final
> > executable. I don't think the linker will be able to discard unused
> > functions for that reason. That does not mean that more things can be
> > discarded.
> At least not until we engage it garbage collection, which as per Jason
> proves problematic when linking xen.efi (due to linker issues as it looks=
).
>

In my experience linker garbage collector on Linux is a bit
problematic, I think LTO is more tested and working. Still not that
automatic.

I tried to remove the BIOS code using sections "trick" like what was
done in this commit without success.

> Jan

Frediano


From xen-devel-bounces@lists.xenproject.org Fri Jun 26 11:51:44 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 11:51:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346039.1604583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd55a-0002Z0-2a; Fri, 26 Jun 2026 11:51:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346039.1604583; Fri, 26 Jun 2026 11: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 1wd55Z-0002Yt-V8; Fri, 26 Jun 2026 11:51:17 +0000
Received: by outflank-mailman (input) for mailman id 1346039;
 Fri, 26 Jun 2026 11:51:17 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jbeulich@suse.com>) id 1wd55Z-0002Yn-0S
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 11:51:17 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd55X-005MAc-S2
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 13:51:15 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3e67ad-2eae-0a2a0a5409dd-0a2a4506eba0-24
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 13:51:15 +0200
Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jbeulich@suse.com>)
 id 6a3e67b3-08de-0a2a45060019-d155dd35e93b-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 13:51:15 +0200
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-4627adcf4d6so569851f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 04:51: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-46c1ee0189esm25271005f8f.9.2026.06.26.04.51.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Jun 2026 04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782474675; x=1783079475; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=fXVtO2JRaL4gIMWHe3zMS9uEQlYjsOXNmhQmPWFQ4XY=;
        b=AKftw1oRR+1QwjLnyo5BW4d7z2I7qzbZULJ4aSyK4ZV3+APlZhKO58y/Kgm79CwRhi
         68f5c6Kg9c1qKCse6wH1xjSoB8O9GqAnly2U037ks1ZaWYSdmm9cSNA4KatfsZSBWZ/L
         gVavwps6c7hWRPBIxp2Jx+/NXlSLRYO+tMx6OrjGBwnHcdvQ8Iio9mtX0PiWF2UJiyDA
         egJaDm/mxRyrSA9rSixVZMQXnHo25QQzjEqIUUcBcJFQrYERK8498LtNg4wW7H4B95av
         wKx2l/DVMFEeg3t0xQfWAnaSm/U3CbCOJJQaswBI+ijlGLoh9qAuWEYTLOw3LYUyltL0
         49xA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782474675; x=1783079475;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fXVtO2JRaL4gIMWHe3zMS9uEQlYjsOXNmhQmPWFQ4XY=;
        b=OMqzLv6rtKttZTN221fOGEQT+9nHCuNSxamPNMONe4rbyBem0diZe8lETop346Eb2a
         sO8XdZDz6tWB3wx7z9tY/z2oqaOIDCF1/+hhX2OTdJr6nq5mZOBCVmSZ5ltEuL91KyPI
         a1fZH35UitsazMFMYb67/TFvnugpAeVceC7MIpXMOieB3na0QDOUaDVE9/d3K7R24ms8
         NGho4GQ7c3tJXK8ZYZI+31QHWfihBFCxoUuFp50QIGog/iUuGdAp5kDDqRvtDbS8Z2Uz
         uKSxCnDtoBYvNXIfAHuCax9Y4YeH6gj5yHNthHT2U9PTasdf2nzwNajAXs2s05HxtDhy
         ehug==
X-Forwarded-Encrypted: i=1; AHgh+RpIEElLzdFbdSwYCkjQT13kTKSu49ew+wcsavp5cMSK3YIL+4znJzI5OWcNVQNmTryruO+8UsPMHVE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxKeE8uTGSdzmxdW05EFvc6yBuNet5f0RXTYlEDZVf5ZSb7++ma
	QhuKJDeDGvXb54kgZLcPG7yLgybEz6jVpzW5jlUNeABXPSuwMbjsK0XlEjmMAMhgdZtb9u9GjqL
	yXf3s6g==
X-Gm-Gg: AfdE7clZTtQAfCRDj9L/5UCM+OgWimbfz4LlCIcZr1O2B6OJZzOHF/WdOd1gOHtYR6j
	PuzkaIPvhs0w6X/A8EW56l6qyqyHnatfA/f90a2Wgl2sT4G5+f6NsfWES0TbONJ2m5Nq2AvoAyx
	A8bn+70R4lqEJ7S/IW2tCmcPU09v4xkcekv+3ZkJtPl6F9zaTkQXm4Jis1s9mfruYRCiMMYnv2/
	AL+g7ewA+TA7X/2PUeWTJRzFbbwlMUm/Wm8GqwNIZR963A5Ufrocos/c9B19woU7By/++DfLiFh
	9v+XYN000qLLCIF+eSz8TGWK/ShwKPJZ9pmoa8YUqiG8dNuOSi398cVxQvqAiWI1F1dQGJaiMcl
	i6UL9mdZXiGgXeb7dq2+EMhJqkOycRBwtHDh4TMaMyLSwNnwclqmwevBsx/cT4Bom47NF8eU1l9
	xRB1aK+Ght7/Nd747Q4iEkPHkia0oP3a9wtZP+q6VF2Nj8ggGdF9slFeU6t0DnV3GrJJv84raH6
	Yyw
X-Received: by 2002:a05:6000:41f7:b0:46f:3046:2bec with SMTP id ffacd0b85a97d-46f30462d77mr2715654f8f.25.1782474675120;
        Fri, 26 Jun 2026 04:51:15 -0700 (PDT)
Message-ID: <e33b1194-395e-4257-bc29-bf36dd22f991@suse.com>
Date: Fri, 26 Jun 2026 13:51:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/4] x86/efi: discard multiboot support for PE binary
To: Frediano Ziglio <freddy77@gmail.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Frediano Ziglio <frediano.ziglio@citrix.com>, xen-devel@lists.xenproject.org
References: <20260616172830.111393-1-frediano.ziglio@citrix.com>
 <20260616172830.111393-3-frediano.ziglio@citrix.com>
 <070ff282-5ee4-4c24-b0bc-92d187c40dd9@suse.com>
 <CAHt6W4de1ddW_xMWhbJ15vA171tuHVGJu0TO0bAH845EDQN4gg@mail.gmail.com>
 <4f971b7e-b9ff-44cb-bf29-3939c8659b07@suse.com>
 <CAHt6W4d2ETm1G5rv5h5ESvfLm1F9+xO_v1PE7M5sQdJHxA8p1Q@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: <CAHt6W4d2ETm1G5rv5h5ESvfLm1F9+xO_v1PE7M5sQdJHxA8p1Q@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-ID: tlsNG-16d1c6/1782474675-C772868D-B915CFCD/0/0
X-purgate-type: clean
X-purgate-size: 1552

On 26.06.2026 11:48, Frediano Ziglio wrote:
> On Thu, 25 Jun 2026 at 12:18, Jan Beulich <jbeulich@suse.com> wrote:
>> On 25.06.2026 12:15, Frediano Ziglio wrote:
>>> On Wed, 24 Jun 2026 at 15:18, Jan Beulich <jbeulich@suse.com> wrote:
>>>> On 16.06.2026 19:28, Frediano Ziglio wrote:
>>>> Otoh you discard call sites of functions without discarding the functions
>>>> themselves, violating Misra's "no unreachable code" rule. Eclair may not be
>>>> able to spot this, but imo we should still adhere to the rule. Proper
>>>> coverage analysis, for example, would likely turn this up.
>>>>
>>>
>>> That makes sense. Given that most code in head.S is now discarded most
>>> data sections are now not used and the only thing left will be the
>>> trampoline.
>>> It'll take a bit of time to search for removed symbols.
>>>
>>> About the "no unreachable code" I think we are violating that anyway.
>>
>> Perhaps, but we should get the number of such violations down, not up.
>>
> 
> It was not meant to be an excuse, more of a question if the problem is known.
> The "It'll take a bit of time to search for removed symbols" was a "I will do".
> I now have the fixup patch for "x86/efi: discard multiboot and PVH
> support for PE binary" (the commit we are talking about here). About
> sending an updated series, what is the best way to send a fixup patch?
> Send the fixup as separate? Merge into the base patch and remove the
> "acked-by"? Keep the "acked-by"?

R-b would need dropping. A-b is more of a judgement call.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Jun 26 11:52:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 11:52:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346046.1604591 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd56T-0002zb-9P; Fri, 26 Jun 2026 11:52:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346046.1604591; Fri, 26 Jun 2026 11: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 1wd56T-0002zS-6w; Fri, 26 Jun 2026 11:52:13 +0000
Received: by outflank-mailman (input) for mailman id 1346046;
 Fri, 26 Jun 2026 11:52:11 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wd56R-0002zM-Nl
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 11:52:11 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd56R-006t7q-0e
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 13:52:11 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a3e67da-e002-0a2a0a5209dd-0a2a4502a700-32
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 13:52:10 +0200
Received: from [209.85.208.49] (helo=mail-ed1-f49.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jgross@suse.com>)
 id 6a3e67ea-5a27-0a2a45020019-d155d031b498-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 13:52:10 +0200
Received: by mail-ed1-f49.google.com with SMTP id
 4fb4d7f45d1cf-697b8540279so1373331a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 04:52:10 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-c122db5dba3sm40133566b.22.2026.06.26.04.52.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Jun 2026 04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782474730; x=1783079530; 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=hBl68+QzpBda0pzCXc3ChZ3pzNir2n0QAeAZmeKBtXE=;
        b=NXmetbHTUff4j1X47fEUDFIPEeXNqTyKnttIZfWTF4FhONRJvN98SmcnpFNciWcJrW
         okCji8fgxisNkdrhBf3HZw3VOeW+DUa6LdTxtML4OBr494EqybUTposJ1P+/BVbbV5sq
         Zy/lN1G2X1XLwVMydn5VoOxlX66EpU4GOoI5/OvcCsTgcLDcCVUy6jLHLSAwlV3li+TJ
         LjIoGgXGcAvPxVe3QZuMka77CP2QWS+SLd5Lo6GgrNu1St0J6p/0gi3tdd5XG2+a16Np
         0cmy3LS2dCbrO5Lft5a5/tKpUsTywz8yUkVm28mk6iSeVOoctRhXEtIlw/DJk1ltZ7k8
         a03g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782474730; x=1783079530;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=hBl68+QzpBda0pzCXc3ChZ3pzNir2n0QAeAZmeKBtXE=;
        b=g9OORcl7Nk02k3xvIymxUKrYAbqDRiJ58ghZU01dNGyQicJSeZQ4aEXaD/dAOhKRiY
         U2slI/tImmbo+EoxHDkTIGdw4t90AJ7BRt/HciqMEU09VYsUZiu908DBQxqK46bcbMep
         ErIaxEXEX5+k2Vq3DsP0NLMpmBYyLKF2RTiv51c2XaTAHl/n2jyQ5B1IC+wWM8p7O32l
         8TqUzAN25uCMzecqqtcJjg5vgeMaBlvDq87IWMlgkCo3npqEP/Q+1Y1lA/i7fAmbshHJ
         9InrgpzzfiSjXflSK1AxNYLcCSXDMh15IPaDYfYK0XgS1eY0wCmiKfonwTifKJss2zBn
         jPdQ==
X-Gm-Message-State: AOJu0Yz7VsIjgnMcFs4Xf0KWEs2FkupRzMNV4pO9z2cC1xnMxAYtssjT
	ju9LofVd65VZ5oD0RJKFv04b2W/2DYV5R8jRuyenNxJNAJn99Kq9mqNmq7QktSJCKkk=
X-Gm-Gg: AfdE7cm7+vxa1amO1NNF4HjBuwcuZl4EJSuzU/aQwUeMxEN2//FIq5frxP8kJgMpaVW
	YS8rcGDKHZOT6SxT5qNuU92IpFOnUdoqtBIjnacbst0PxwlBVrtsA6ADsQKRCEJVnpMth6W09Q+
	C4/ReP+PYkTWDyNfdNUl42EM5Cd3j89XtsBQin0c1qZfkb74xH5mXvfCawW1XPb87FGFu28/WaY
	t5apSNvK3RNEfR1sbRhEtBk9MKj7pefxBaFoZHwxEIfH1dEkT1TVJL+CIZk6DyOoRpp80VyhKqH
	idG0umkYfh8tqXDO8MyvqkpmlYEjY1jnbTGFgr6UIm7pEeyTaFsi1sR+iJCJ4CO5P22XrtdAPWA
	YQIhDzoegcOeSAtT2naIt/Po5GP9XaaDGY4SBt4chW6/Hvcal5GBMLUT8rrrO5MuympDdoh1ih9
	hqXGkjeVd3CBb2nswp48xzj7xFs2hkoQUgHXjUDoKAmhDEttGeFvAb/898kRW+PpJCD7mUfVpEp
	2v9tArIKBW0J80uDZMkGyfditGIvwV1iT+n4yedSKc=
X-Received: by 2002:a17:907:1c90:b0:c0c:1259:7a65 with SMTP id a640c23a62f3a-c1205f50228mr420797166b.41.1782474730305;
        Fri, 26 Jun 2026 04:52:10 -0700 (PDT)
Message-ID: <5837c107-d2c7-483e-b0f5-bd824a505561@suse.com>
Date: Fri, 26 Jun 2026 13:52:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/pvcalls: bound backend response req_id before
 indexing rsp[]
To: Michael Bommarito <michael.bommarito@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20260610114137.3749027-1-michael.bommarito@gmail.com>
 <20260617014149.2647404-1-michael.bommarito@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: <20260617014149.2647404-1-michael.bommarito@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------r0qG0Y9TFQDN7y9ULoy07tu1"
X-purgate-ID: tlsNG-720697/1782474730-55AE07C5-E1A4D37C/0/0
X-purgate-type: clean
X-purgate-size: 8260

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------r0qG0Y9TFQDN7y9ULoy07tu1
Content-Type: multipart/mixed; boundary="------------02y2pm3vMHIqAgbHC4GDVbnA";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Michael Bommarito <michael.bommarito@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <5837c107-d2c7-483e-b0f5-bd824a505561@suse.com>
Subject: Re: [PATCH v2] xen/pvcalls: bound backend response req_id before
 indexing rsp[]
References: <20260610114137.3749027-1-michael.bommarito@gmail.com>
 <20260617014149.2647404-1-michael.bommarito@gmail.com>
In-Reply-To: <20260617014149.2647404-1-michael.bommarito@gmail.com>

--------------02y2pm3vMHIqAgbHC4GDVbnA
Content-Type: multipart/mixed; boundary="------------0ua1BN9KlMNEI0I5854aEjuS"

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

T24gMTcuMDYuMjYgMDM6NDEsIE1pY2hhZWwgQm9tbWFyaXRvIHdyb3RlOg0KPiBwdmNhbGxz
X2Zyb250X2V2ZW50X2hhbmRsZXIoKSB0YWtlcyByZXFfaWQgZGlyZWN0bHkgZnJvbSB0aGUN
Cj4gYmFja2VuZC1zdXBwbGllZCByaW5nIHJlc3BvbnNlIGFuZCB1c2VzIGl0IHRvIGluZGV4
IHRoZSBmaXhlZC1zaXplDQo+IGJlZGF0YS0+cnNwW10gYXJyYXkgZm9yIGEgbWVtY3B5KCkg
YW5kIGEgc3RvcmUsIHdpdGggbm8gcmFuZ2UgY2hlY2suIEENCj4gbWFsaWNpb3VzIG9yIGJ1
Z2d5IGJhY2tlbmQgY2FuIHNldCByZXFfaWQgcGFzdCBQVkNBTExTX05SX1JTUF9QRVJfUklO
Rw0KPiBhbmQgZHJpdmUgYW4gb3V0LW9mLWJvdW5kcyB3cml0ZSBwYXN0IHRoZSBiZWRhdGEg
YWxsb2NhdGlvbi4NCj4gDQo+IHJlcV9pZCB3YXMgYWxzbyBkZWNsYXJlZCBpbnQgd2hpbGUg
dGhlIHdpcmUgZmllbGQgcnNwLT5yZXFfaWQgaXMgdTMyLCBzbw0KPiBhIHJhbmdlIGNoZWNr
IG9uIHRoZSBzaWduZWQgdmFsdWUgYWxvbmUgaXMgaW5zdWZmaWNpZW50OiBhIGJhY2tlbmQN
Cj4gcmVxX2lkIG9mIDB4ZmZmZmZmZmYgYmVjb21lcyAtMSwgcGFzc2VzIGEgPj0gUFZDQUxM
U19OUl9SU1BfUEVSX1JJTkcNCj4gdGVzdCBhbmQgaW5kZXhlcyBiZWRhdGEtPnJzcFstMV0u
IERlY2xhcmUgcmVxX2lkIGFzIHUzMiBzbyBhIHNpbmdsZQ0KPiBib3VuZCBjb3ZlcnMgYm90
aCBlbmRzLg0KPiANCj4gQSBiYWNrZW5kIHRoYXQgc2VuZHMgYW4gb3V0LW9mLXJhbmdlIHJl
cV9pZCBoYXMgdmlvbGF0ZWQgdGhlIHdpcmUNCj4gcHJvdG9jb2wsIHNvIHJhdGhlciB0aGFu
IHNpbGVudGx5IGRyb3BwaW5nIHRoZSByZXNwb25zZSwgbG9nIG9uY2UgYW5kDQo+IHN0b3Ag
dHJ1c3RpbmcgdGhlIGJhY2tlbmQ6IHNldCBiZWRhdGEtPmRpc2FibGVkLiBUaGUgZXZlbnQg
aGFuZGxlciB0aGVuDQo+IGlnbm9yZXMgZnVydGhlciByZXNwb25zZXMsIGFuZCB0aGUgcmVx
dWVzdCBwYXRocyB0aGF0IHdhaXQgZm9yIGENCj4gcmVzcG9uc2UgcmV0dXJuIC1FSU8gaW5z
dGVhZCBvZiBibG9ja2luZyBmb3JldmVyLiBUaGlzIG1pcnJvcnMgdGhlDQo+IGZhdGFsLWVy
cm9yIGhhbmRsaW5nIHhlbi1uZXRiYWNrIHVzZXMgKHhlbnZpZl9mYXRhbF90eF9lcnIoKSku
DQo+IA0KPiBUaGUgcHZjYWxscyBmcm9udGVuZCBjdXJyZW50bHkgdHJ1c3RzIGl0cyBiYWNr
ZW5kLCBzbyB0aGlzIGlzIG5vdCBhDQo+IGNsYXNzaWMtWGVuIHNlY3VyaXR5IGlzc3VlLCBi
dXQgaXQgbWF0dGVycyBmb3IgaGFyZGVuaW5nIFBWIGZyb250ZW5kcw0KPiBhZ2FpbnN0IG1h
bGljaW91cyBiYWNrZW5kcyAoY29uZmlkZW50aWFsIGFuZCBkaXNhZ2dyZWdhdGVkIGRlcGxv
eW1lbnRzKS4NCj4gDQo+IEZpeGVzOiAyMTk1MDQ2YmZkNjkgKCJ4ZW4vcHZjYWxsczogaW1w
bGVtZW50IHNvY2tldCBjb21tYW5kIGFuZCBoYW5kbGUgZXZlbnRzIikNCj4gU3VnZ2VzdGVk
LWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+IEFzc2lzdGVkLWJ5OiBD
bGF1ZGU6Y2xhdWRlLW9wdXMtNC04DQo+IFNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgQm9tbWFy
aXRvIDxtaWNoYWVsLmJvbW1hcml0b0BnbWFpbC5jb20+DQoNClJldmlld2VkLWJ5OiBKdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQoNClRoYW5rcywNCg0KDQpKdWVyZ2VuDQo=

--------------0ua1BN9KlMNEI0I5854aEjuS
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-----

--------------0ua1BN9KlMNEI0I5854aEjuS--

--------------02y2pm3vMHIqAgbHC4GDVbnA--

--------------r0qG0Y9TFQDN7y9ULoy07tu1
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/Ey8FAmo+Z+kFAwAAAAAACgkQsN6d1ii/Ey80
8Af/fSAn8inD1McGn/vePbiogbJLxzqN+Rl3GTCynHYL+WTkiezsAPhHwyNElsr49V0gKyctgd0w
BVb8ObFSekA4XXx9RMMNQC+u0oJUZoaGIimDHyQbM91TLwkL6I0t0zoJOtv0srZUH0nEVXUEYpFv
U5utsE3rCt05aabsShqMpeHFPPx40pG5ha57sbcYi/lU0ZSOJTY6P4O21MTBChWiWPEnQ5MTel+/
UMkDwSb2NbkKUdhglmnvmaVFZR4vfJyRvd6iSWvqPy36J8PMwelzrB2WOq4Sr8SuAN/T3K28UeIp
aTP/Zka5x/p5fDQIJc/vf3ILHGro5gJ2IBcs+iFSLQ==
=8xK3
-----END PGP SIGNATURE-----

--------------r0qG0Y9TFQDN7y9ULoy07tu1--


From xen-devel-bounces@lists.xenproject.org Fri Jun 26 11:53:01 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 11:53:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346053.1604601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd573-0003ZT-L5; Fri, 26 Jun 2026 11:52:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346053.1604601; Fri, 26 Jun 2026 11:52: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 1wd573-0003ZK-II; Fri, 26 Jun 2026 11:52:49 +0000
Received: by outflank-mailman (input) for mailman id 1346053;
 Fri, 26 Jun 2026 11:52:47 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wd571-0003YP-Kg
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 11:52:47 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd570-006ygC-JY
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 13:52:46 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a3e6809-e002-0a2a0a5209dd-0a2a4508ac5e-8
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 13:52:46 +0200
Received: from [209.85.218.41] (helo=mail-ej1-f41.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jgross@suse.com>)
 id 6a3e680e-edec-0a2a45080019-d155da29b012-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 13:52:46 +0200
Received: by mail-ej1-f41.google.com with SMTP id
 a640c23a62f3a-c07c246ad7bso109490566b.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 04:52:46 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-c11fbba6787sm334829166b.6.2026.06.26.04.52.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Jun 2026 04: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782474766; x=1783079566; 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=c89OcFty665nGDoq/xn8y9QUgDtjJCH7NIYa287PBjA=;
        b=Uu9kYEYnhWAjZAHlebtDAgiNVr+/SRSxF7E80ocZxZiA8wd3Aha6Lt3mbJphzBSedJ
         A06BNhfpdtNuksXIg4rY92Egyx+NcS85tX7PdBOy31RS0GZGUt4CBIhvD7xLVqHa3WK4
         RCRwCTxafuZEMQL3yTVjPnHFsoKlszAEIm4VpXFKuojicCsPWi1E8IYKeVBv/srd4tzZ
         hXHhtN7imf3/NGJVka5YkmUE+IIPeyXbJO8jhxQyqWGOSC1puUc7DTnRiUKFYIOcfm1a
         YZbarnivfjobVq4J7t58MprrSUaOahFD42GlXGIzazjKl3evslQBC6BccSf53le0XGQ1
         7vkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782474766; x=1783079566;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=c89OcFty665nGDoq/xn8y9QUgDtjJCH7NIYa287PBjA=;
        b=gZh/bIxD6CGKKrrGhn68Yd1Bhlt5TugyWn0vtvlcxBVUvAHKmG/DJoF6v/RpFbMxzf
         pcNQUQWe69fgwt6rWZwbi8umJa9e501amMuFH11WdmuULnHnY1AV5vSrzLsdZ5L9hXSj
         ik5oN4dNZBGL3ET4zsbULpPSoH0VUuR3Onjoj2D94MsimYMRobZyCKdAhScSXS7Pc3nN
         5aWbe0oQIRD6/Wx8kSiQHu642jpn4hCVwUF42a85ED7DOwtM5Vxvvk2eOobUpobOmrF/
         EWtIM5oF4XhFsRzFebr4F7jpD2liz8kbW8XGgFPrKJ2Iyi6Hmsxv/b/HKvs/LkcaGlsg
         KdHQ==
X-Forwarded-Encrypted: i=1; AHgh+RrMVIP6MAUnZZVCVJQ5WP0FyOJMdNiuFJRaEcTER/r5qKVMcNaOorzDa5J8DlAsGBlpqhPe1mzdEkY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwqMv8UPYG6xVgSiR2+IF57n9EIT4+i9RDhBMWhOXLpivSut4Mz
	vIdY01G+fM893g/DXpI1IVoyPLkh+4GO59M5aYVhuAnvgnge5+BaePW6qj4c5lkm9/o=
X-Gm-Gg: AfdE7cmDe6Bp6TbD1DerZDN/zjpIxTVteNlh16PugTLvv+bV9waW9AF2lvAkKAtVhAG
	70R1lHpvjaFhLHwX2GAnERwN3hpAv1KJdnDM+6jp7q5UZ0JpK8Wlsp5ejU6BHl8RZEkuTB/S9FU
	Zjl3q6UpvgzaXFiIbg1UxghW/7vmt8JW0o4YtVzuPHi1RxEzANfxOLW3sWx+9s03jsHnmxvbwPm
	J25euFw6o54B4ZkRiko3CzB9FWsMq///7Ws9YCKKpCFmcJLnflTSbO9EU5T6uAHnBXJkj0n+v0Q
	xj0+Q4dE7Y8P5QsZQucWzuEBz/1fXKZKTGdQSPS1MdsgRL/KRHFNXTfuTDbKP54oymSiEMzjPBr
	JAAanM4JKwY0hr4l0Oolcc/w7kmTREVlSG5F5RDs9hooxzWbJG0mThMMJIYHbqM9dDMVhabOxjj
	wOUCPW36MjkYabftc+26O5njt+w5LU+BCe5QIadPiOZtd7X/2+LsYUOS5ysO23/E6tQpKrK++Mu
	LOmNSyfbYk1ttWbtEpK9AhgCJG7TS8IGqsU0jYzzJk=
X-Received: by 2002:a17:907:3f9b:b0:bf4:9f78:8399 with SMTP id a640c23a62f3a-c12336a25e3mr18976366b.42.1782474765953;
        Fri, 26 Jun 2026 04:52:45 -0700 (PDT)
Message-ID: <26ccc18e-bbea-4e44-a776-715f1b61787e@suse.com>
Date: Fri, 26 Jun 2026 13:52:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: Replace __ASSEMBLY__ with __ASSEMBLER__ in header
 files
To: Thomas Huth <thuth@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20260619114547.159637-1-thuth@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: <20260619114547.159637-1-thuth@redhat.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------ZmaYmuooSHqDpT0IedoLl6KF"
X-purgate-ID: tlsNG-c1860d/1782474766-A31393FC-81B0D9CC/0/0
X-purgate-type: clean
X-purgate-size: 6879

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------ZmaYmuooSHqDpT0IedoLl6KF
Content-Type: multipart/mixed; boundary="------------r9MfxUQznoC1pwxXPee4Z2gR";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Thomas Huth <thuth@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <26ccc18e-bbea-4e44-a776-715f1b61787e@suse.com>
Subject: Re: [PATCH] xen: Replace __ASSEMBLY__ with __ASSEMBLER__ in header
 files
References: <20260619114547.159637-1-thuth@redhat.com>
In-Reply-To: <20260619114547.159637-1-thuth@redhat.com>

--------------r9MfxUQznoC1pwxXPee4Z2gR
Content-Type: multipart/mixed; boundary="------------KpFUSKwjuIzvbDgtPCNlHOAM"

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

T24gMTkuMDYuMjYgMTM6NDUsIFRob21hcyBIdXRoIHdyb3RlOg0KPiBGcm9tOiBUaG9tYXMg
SHV0aCA8dGh1dGhAcmVkaGF0LmNvbT4NCj4gDQo+IFdoaWxlIHRoZSBHQ0MgYW5kIENsYW5n
IGNvbXBpbGVycyBhbHJlYWR5IGRlZmluZSBfX0FTU0VNQkxFUl9fDQo+IGF1dG9tYXRpY2Fs
bHkgd2hlbiBjb21waWxpbmcgYXNzZW1ibHkgY29kZSwgX19BU1NFTUJMWV9fIGlzIGENCj4g
bWFjcm8gdGhhdCBvbmx5IGdldHMgZGVmaW5lZCBieSB0aGUgTWFrZWZpbGVzIGluIHRoZSBr
ZXJuZWwuDQo+IFRoaXMgY2FuIGJlIHZlcnkgY29uZnVzaW5nIHdoZW4gc3dpdGNoaW5nIGJl
dHdlZW4gdXNlcnNwYWNlDQo+IGFuZCBrZXJuZWxzcGFjZSBjb2RpbmcsIG9yIHdoZW4gZGVh
bGluZyB3aXRoIHVhcGkgaGVhZGVycyB0aGF0DQo+IHJhdGhlciBzaG91bGQgdXNlIF9fQVNT
RU1CTEVSX18gaW5zdGVhZC4gU28gbGV0J3Mgc3RhbmRhcmRpemUgbm93DQo+IG9uIHRoZSBf
X0FTU0VNQkxFUl9fIG1hY3JvIHRoYXQgaXMgcHJvdmlkZWQgYnkgdGhlIGNvbXBpbGVycy4N
Cj4gDQo+IFRoaXMgaXMgYSBjb21wbGV0ZWx5IG1lY2hhbmljYWwgcGF0Y2ggKGRvbmUgd2l0
aCBhIHNpbXBsZSAic2VkIC1pIg0KPiBzdGF0ZW1lbnQpLg0KPiANCj4gU2lnbmVkLW9mZi1i
eTogVGhvbWFzIEh1dGggPHRodXRoQHJlZGhhdC5jb20+DQoNClJldmlld2VkLWJ5OiBKdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQoNCg0KSnVlcmdlbg0K
--------------KpFUSKwjuIzvbDgtPCNlHOAM
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-----

--------------KpFUSKwjuIzvbDgtPCNlHOAM--

--------------r9MfxUQznoC1pwxXPee4Z2gR--

--------------ZmaYmuooSHqDpT0IedoLl6KF
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/Ey8FAmo+aA0FAwAAAAAACgkQsN6d1ii/Ey8j
/Qf/Q77FNhq5msBivsCNFrJZjXj5EbQTdF8uLE2TUQGIKR+jjPwKg5Q7xGMz+Im6q2vo4XlAOzDF
Q/4y5h2nBl93eaCYhwG9g8p+jX058S8/azsbe5hrqgOdhyvAAiDmCeD9hUtDItJBVYuImjp6Kqgd
FjW6oVuu0J2iDQAS8JUgYvaXmw7JLJCYap3gUHoWGtZCQVSVQwqV+eifYf/VjNhs7I7IQmiIk+9p
BNyWbbOUIy2AU4VUvDDzLDXnbjOWk2OYDbW3tyRY5Zmhs6YuHOGYNgrW947LRbDF8mAMI9t28iwT
H0nHBr8skvfbJJ8EwEYD0Z7YSeI33u/v2KGFWf4v8g==
=B5+E
-----END PGP SIGNATURE-----

--------------ZmaYmuooSHqDpT0IedoLl6KF--


From xen-devel-bounces@lists.xenproject.org Fri Jun 26 11:54:40 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 11:54:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346065.1604610 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd58p-0004A2-0d; Fri, 26 Jun 2026 11:54:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346065.1604610; Fri, 26 Jun 2026 11:54: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 1wd58o-00049v-U5; Fri, 26 Jun 2026 11:54:38 +0000
Received: by outflank-mailman (input) for mailman id 1346065;
 Fri, 26 Jun 2026 11:54:38 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wd58n-00049o-Sr
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 11:54:37 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd58m-008Axe-Sm
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 13:54:36 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a3e6868-5cb7-0a2a0a5109dd-0a2a4506934e-32
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 13:54:36 +0200
Received: from [209.85.208.51] (helo=mail-ed1-f51.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jgross@suse.com>)
 id 6a3e687c-08de-0a2a45060019-d155d033e11d-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 13:54:36 +0200
Received: by mail-ed1-f51.google.com with SMTP id
 4fb4d7f45d1cf-697763eeafcso1372125a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 04:54:36 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-6980afa5051sm1467048a12.9.2026.06.26.04.54.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Jun 2026 04:54: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782474876; x=1783079676; 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=x+TmX7w1PT7vRBJkNR5h2wtF+y+QM/D0BxBTQByurWE=;
        b=Kk0ATKftjKrNk0nHNNvYtQ2XFG6L2cwtcVQdXAMmtiEEv8bFv5yqU1nqs7WxzyWRxN
         ErlVJZ/1FL4KLOOzAHwsCeX3/fM4dTAADFtz1fENb6I4aA9VozWA1xoWaUeCsn/MUJae
         qssIVsUdhdFLltIhkK0S/q+SVte7Qc15aiTs4cuGFAToEHTlYaUtANBnlHx27ZLuX9tE
         ymYpk7XzNi1lXpkHm1hKMq2TYZ3GsYNt/9Q7x1FSlOOjRJNmZiGkDuc1qUIy8bUAzm+/
         yaTDZG0Hj6210shuOVRe4l6gYlRg0J0ZuEVtTN/pt379F3uDyPy/W64pd5Y9MPDR0b7+
         TY5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782474876; x=1783079676;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=x+TmX7w1PT7vRBJkNR5h2wtF+y+QM/D0BxBTQByurWE=;
        b=p28hG/ZRsMQvPCI4A56j0heHf67fV0j68tpZJQpzaIXmVcDHshLXddbRY/7E7kq5Ls
         9nnEk3sMOlC4dqsE0p4KMPDG65Ugpd0u2BSZMfRoMA8gfgHT1Jm/FDadChDVKU09RAXO
         owj+zZyHm2o20Up7uQN2UnlMcqOFQbJyCjRHmHnwQ5yYySHrHXGX8gdfovY70wGq5BDN
         HY40AI7vB78gIhY5AmHYrFwXVKLqJMXFC0D8V76HVOW5gPY7kEhvcZq0N8LI/u8GAXhF
         lcuNdzSeyx3ExH5Q7B7gJr4GACWFOASeGw6wQFQwWHfxF+btyDqHUivMRN+vuuPaJzgX
         3fzg==
X-Forwarded-Encrypted: i=1; AHgh+Rpj5vwIFmLFdKixgY9DSXxOp9N38mxDkAvZZmE9OeiNazr3Ni2TXkcEX9XNESlXpkFvDPLyUMgl7G0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwNqBpYqsNekx6xP9YvvrIUOTAewmzOX93U5lN1ncJGcz0d8Tow
	7qwYheZ1CCsHSpUxJ4aiboHeA60c7hSl6ecechSpYT3KFIlkvhPtLE80MyMFCeSuE8M=
X-Gm-Gg: AfdE7cmOT6XaBfJdva7HlH2glr+593yti7ZGTVYIOJsmV6gM19i+VZdvRR2DUuIZGhG
	akst8MIXE3eL3YYysC1k9ztPSNyIzzg4RN9cfsgvNqg+3wH57r2uz87IkGmHlNuy1Jst1KTJidm
	IIgIsdbklfqusxA+GXb9prEoBZt12Qg/mF6UD3HoEZ7P6YgEdemSh2K93ZbJuvPTndWiF6VnWY3
	r++wmwQscQDxUqucLqg+bANpDFr9cKfRY763mG0iRezFar5k0P3HiC02kriF3SD1IFxK2eAPIYW
	SdCBxftTeDPKq8bgD4pw/jOPzML0ooZHBbkyagEagS9UNQygljpUY24mC+fdbcXGYwtjf0gqiRd
	ia/g3Jv2+6Yuad7I44VwpRF8kZOwk+UML4SjItG/sO/+Z9fadrkZjFFEB4eZeaXMtaPFvputUsY
	aDH5VaTUn98d+lMCn0g5ROHl8mgAbhXxiCDwlmAgXHOt0e+qz3McJieGAs07QBjCIfPk4qob9nD
	kodvYC7nU1IOCen6UcPTRnK8OjeEqL1YxGp4roffGc=
X-Received: by 2002:a05:6402:35cc:b0:697:8341:9e40 with SMTP id 4fb4d7f45d1cf-69810a5c974mr1962877a12.5.1782474876237;
        Fri, 26 Jun 2026 04:54:36 -0700 (PDT)
Message-ID: <7088227e-f9d7-4f7e-89d4-3f867e41e17e@suse.com>
Date: Fri, 26 Jun 2026 13:54:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/gntdev: fix error handling in ioctl
To: Wentao Liang <vulab@iscas.ac.cn>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 stable@vger.kernel.org
References: <20260622112541.38194-1-vulab@iscas.ac.cn>
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: <20260622112541.38194-1-vulab@iscas.ac.cn>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------ikMPtP8pqTe7gsOWzBPSZl5g"
X-purgate-ID: tlsNG-16d1c6/1782474876-F81E568D-1913633D/0/0
X-purgate-type: clean
X-purgate-size: 7497

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------ikMPtP8pqTe7gsOWzBPSZl5g
Content-Type: multipart/mixed; boundary="------------AbOhyCuRAqPHWB6rPr7RMyXb";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Wentao Liang <vulab@iscas.ac.cn>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 stable@vger.kernel.org
Message-ID: <7088227e-f9d7-4f7e-89d4-3f867e41e17e@suse.com>
Subject: Re: [PATCH v2] xen/gntdev: fix error handling in ioctl
References: <20260622112541.38194-1-vulab@iscas.ac.cn>
In-Reply-To: <20260622112541.38194-1-vulab@iscas.ac.cn>

--------------AbOhyCuRAqPHWB6rPr7RMyXb
Content-Type: multipart/mixed; boundary="------------LYTs8NATEmO7mUClhECJ0Njj"

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

T24gMjIuMDYuMjYgMTM6MjUsIFdlbnRhbyBMaWFuZyB3cm90ZToNCj4gV2hlbiBnbnRkZXZf
aW9jdGxfbWFwX2dyYW50X3JlZigpIGZhaWxzIHRvIGNvcHkgdGhlIG9wZXJhdGlvbiByZXN1
bHQNCj4gYmFjayB0byB1c2Vyc3BhY2UgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IGFkZGluZyB0aGUg
bWFwcGluZyB0byB0aGUgbGlzdCwNCj4gdGhlIGVycm9yIHBhdGggcmV0dXJucyAtRUZBVUxU
IHdpdGhvdXQgcmVsZWFzaW5nIHRoZSByZWZlcmVuY2UNCj4gYWNxdWlyZWQgYnkgZ250ZGV2
X2FsbG9jX21hcCgpLiBUaGUgbWFwcGluZyByZW1haW5zIGluIHByaXYtPm1hcHMNCj4gd2l0
aCBhIHJlZmNvdW50IG9mIDEsIGNhdXNpbmcgYSBtZW1vcnkgbGVhayBhbmQgYSBkYW5nbGlu
ZyBsaXN0DQo+IGVudHJ5Lg0KPiANCj4gQWRkaXRpb25hbGx5LCBnbnRkZXZfYWRkX21hcCgp
IG1heSBtb2RpZnkgbWFwLT5pbmRleCB0byBhdm9pZCBvdmVybGFwDQo+IHdpdGggZXhpc3Rp
bmcgbWFwcGluZ3MuIFRoZXJlZm9yZSwgdGhlIGluZGV4IHJldHVybmVkIHRvIHVzZXJzcGFj
ZQ0KPiBtdXN0IGJlIG9idGFpbmVkIGFmdGVyIGdudGRldl9hZGRfbWFwKCkgY29tcGxldGVz
Lg0KPiANCj4gRml4IHRoaXMgYnkgaG9sZGluZyB0aGUgbXV0ZXggYWNyb3NzIGdudGRldl9h
ZGRfbWFwKCksIHJldHJpZXZpbmcNCj4gdGhlIGNvcnJlY3QgaW5kZXgsIGFuZCBjb3B5X3Rv
X3VzZXIoKS4gSWYgY29weV90b191c2VyKCkgZmFpbHMsDQo+IHJlbW92ZSB0aGUgbWFwcGlu
ZyBmcm9tIHRoZSBsaXN0IGFuZCByZWxlYXNlIHRoZSByZWZlcmVuY2Ugd2hpbGUNCj4gc3Rp
bGwgaG9sZGluZyB0aGUgbG9jay4NCj4gDQo+IENjOiBzdGFibGVAdmdlci5rZXJuZWwub3Jn
DQo+IA0KPiBGaXggdGhlc2UgaXNzdWVzIGJ5IHByb3Blcmx5IGhhbmRsaW5nIGFsbCBlcnJv
ciBjYXNlcy4NCj4gDQo+IEZpeGVzOiAxNDAxYzAwZTU5ZWEgKCJ4ZW4vZ250ZGV2OiBjb252
ZXJ0IHByaXYtPmxvY2sgdG8gYSBtdXRleCIpDQo+IEZpeGVzOiA2OGIwMjVjODEzYzIgKCJ4
ZW4tZ250ZGV2OiBBZGQgcmVmZXJlbmNlIGNvdW50aW5nIHRvIG1hcHMiKQ0KPiANCj4gU2ln
bmVkLW9mZi1ieTogV2VudGFvIExpYW5nIDx2dWxhYkBpc2Nhcy5hYy5jbj4NCg0KUmV2aWV3
ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCg0KDQpKdWVyZ2VuDQo=

--------------LYTs8NATEmO7mUClhECJ0Njj
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-----

--------------LYTs8NATEmO7mUClhECJ0Njj--

--------------AbOhyCuRAqPHWB6rPr7RMyXb--

--------------ikMPtP8pqTe7gsOWzBPSZl5g
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/Ey8FAmo+aHoFAwAAAAAACgkQsN6d1ii/Ey/o
4wf/ZQZ7RIw0FtWPZ37MjXZ2h92+r+v1EGz3o/z1P8cYfQpS6d5uDR77zw3DO2dSVWlLfakoB/8m
Me/mhHJrk51E2ooZWuuxCYU5l8GjnGh6IUIhvPBrE0k6WilEZJadLWn8ZBs73vZRb8PMG9qO3qXk
3jugNgK0kZIiYd+XQLRFbCYmcLjA8DmgOqELPdeAfFOeJRmMJWoSOoG0oRjWNh+xTd5FEWPcqIIv
W4UYQtM3XwqEjDh1Y6gLBno8XylRkZMsgK8xJUzRxoybbmRdkGEHcKUsrcXxSW6SQ0dOPbXszoAo
x5LsflKqGCvbBRC9QMKwTsOMqozPDpoe1x0gGYMhzQ==
=kSOp
-----END PGP SIGNATURE-----

--------------ikMPtP8pqTe7gsOWzBPSZl5g--


From xen-devel-bounces@lists.xenproject.org Fri Jun 26 12:01:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 12:01:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346081.1604619 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd5F2-00069G-Sc; Fri, 26 Jun 2026 12:01:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346081.1604619; Fri, 26 Jun 2026 12: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 1wd5F2-000699-OH; Fri, 26 Jun 2026 12:01:04 +0000
Received: by outflank-mailman (input) for mailman id 1346081;
 Fri, 26 Jun 2026 12:01:03 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wd5F1-000693-9O
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 12:01:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd5F0-00A3J4-MC
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 14:01:02 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a3e69eb-2eae-0a2a0a5409dd-0a2a450bb006-44
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 14:01:02 +0200
Received: from [209.85.218.43] (helo=mail-ej1-f43.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jgross@suse.com>)
 id 6a3e69fe-ac48-0a2a450b0019-d155da2bb5c0-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 14:01:02 +0200
Received: by mail-ej1-f43.google.com with SMTP id
 a640c23a62f3a-c121e83b89fso91191966b.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 05:01:02 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-c11fbbe8118sm323487866b.24.2026.06.26.05.01.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Jun 2026 05:01: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782475262; x=1783080062; 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=hBlbZptann3URLyeGmzzu7euzy1/N3mZ5izL9qMpFKc=;
        b=JkhBkUUNJYlOqN4IJYVxNVv9inteA97YdAwxU+37SVsgXiR6pHa0hPu3WUO17RAJ/+
         JB8AAHDm1/zfCPUJLOlOB5C/xIQymBmtLvWfnmxuSv/xeFvIgilnI5Z5ANvk8/NdBrzP
         3mLyiUeYXWp23jEpz6mtjBQiKs3zbRMya9l7QOlTohHHdo6HfcAl2UBG/oUBYY9ubIfY
         QIY8aASNj5NS6+lRMCz6ecCipP/8lvOPRh+EaigeKM47m/VzxrWwI+ATTIQS4SZFDjbj
         /aX0FJwDe+S5pI+FsV1KWJE2bVooO6sRm27zMvJ9I8AK9QruaKgEMPg076WoqlXP2hAs
         vQGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782475262; x=1783080062;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=hBlbZptann3URLyeGmzzu7euzy1/N3mZ5izL9qMpFKc=;
        b=EQNhRFcNWJqWbV1XyoBEm+f3mvO4btAzGpL/xd+O3S6CKm4AAqofWVIRq74ICZfcV5
         4PlmeMPXv7YCye/0f3bxYyJoJSra0PYpF1lkJozUwSLZOr7XjrujV3RHdIaBXF38ft6p
         CtNNnkwhUBnJweHmiWWPi1W21/G/CtCqOrQvoB0S7GTApLdwHsnKX3EQMn9kkv3VoXe+
         vXfS5rydWbmjxRDor8bkkYaWeuFhTAUDlqnPbUb1u6GUWaITdK2VCHJHiCCQHFO187Lr
         K+iceZPW31Gi0mwemK98PP4mifJJFDWZGS3Nx0mZz3N2oAFtmFFKPhcgodbpU9yjVHp8
         YINQ==
X-Gm-Message-State: AOJu0YxCO5rVu0pEIDa7hdQ77ghFP4KchP7wajuM9RFXVd5F4jAtuL0h
	l6fh12GdxJIgmd52AYm9lnVz4DCtCVMd6BwaDXAMJ2tVSNGcIiJX1hsnzhpfq7fFe1c=
X-Gm-Gg: AfdE7cnoqY7yxgWk+gTTQ4EbAfCNSErm5mbAMTIvseXrppgSSFqZ5oa14NQJCmwUjln
	d2yQupnciXcNR2JfNe0uaa+TFqh5KlOUIQsi9pcj5/E3rCcmfiEUJDqVH7sVOc23DtSbdaRWeV1
	2j22T1vG9CdNtCVCfUJEDAUr+c1SQTE/2+i3TIlBEGU23nYtYCr6283xDa/NPAsxgKHurkDYKqh
	DbpO/KEd74S3wdr0ZnfOmNBMS9YO8TYxQhv9aAOKOGL64hjL+dj1TRtmi/A5lMf2oDsEv64j3mG
	cRRB5eq4nF9UaoYoAr9fblEyHOl41snBlGJqNr2ZEaqtHoZuYLGE9dPfmq6RqLuM1qcrUck0sQN
	miZwGNmvGV3Xe6Z4iyNReR+6a0nqSvuVBZ7k7RQFmkwaljjj5iBGRdWMpNruwmUqX7wXcJcvDCB
	nTSuwCj5PnQQYITHP8JXKXLFmCO77KiVCGNrAOiLrteAZirmSrHXJel9CxHqCkmBiG6iRYI4Sq7
	6tJbQ8i9FmLIYBYd/L6VAbmZbNLhiwpoKQ4YhoDI90=
X-Received: by 2002:a17:906:f5a8:b0:bee:bbaa:f19d with SMTP id a640c23a62f3a-c1205de1794mr431026766b.14.1782475261675;
        Fri, 26 Jun 2026 05:01:01 -0700 (PDT)
Message-ID: <9521892b-0465-4d25-9e3c-62f869315d2b@suse.com>
Date: Fri, 26 Jun 2026 14:01:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xenbus: preserve terminator when splitting directory
 strings
To: Yousef Alhouseen <alhouseenyousef@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20260624124242.9160-1-alhouseenyousef@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: <20260624124242.9160-1-alhouseenyousef@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------2o6Ivpt0Lth10FADGtAsACwZ"
X-purgate-ID: tlsNG-42698a/1782475262-39722220-72A3A904/0/0
X-purgate-type: clean
X-purgate-size: 7265

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------2o6Ivpt0Lth10FADGtAsACwZ
Content-Type: multipart/mixed; boundary="------------BK7MA9d22R83Ay9Wm4AG0zNl";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Yousef Alhouseen <alhouseenyousef@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <9521892b-0465-4d25-9e3c-62f869315d2b@suse.com>
Subject: Re: [PATCH] xenbus: preserve terminator when splitting directory
 strings
References: <20260624124242.9160-1-alhouseenyousef@gmail.com>
In-Reply-To: <20260624124242.9160-1-alhouseenyousef@gmail.com>

--------------BK7MA9d22R83Ay9Wm4AG0zNl
Content-Type: multipart/mixed; boundary="------------XCzG06Dmdxfsl9KDekBtwURm"

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

T24gMjQuMDYuMjYgMTQ6NDIsIFlvdXNlZiBBbGhvdXNlZW4gd3JvdGU6DQo+IHhlbmJ1c19k
aXJlY3RvcnkoKSBnZXRzIGEgcmVwbHkgYnVmZmVyIHRoYXQgeGVuYnVzX2NvbW1zLmMNCj4g
bnVsbC10ZXJtaW5hdGVzIGF0IGJvZHlbbGVuXS4gc3BsaXRfc3RyaW5ncygpIGNvdW50cyBz
dHJpbmdzIHVzaW5nDQo+IHRoYXQgdGVybWluYXRvciwgYnV0IHRoZW4gY29waWVzIG9ubHkg
bGVuIGJ5dGVzIGludG8gaXRzIGNvbWJpbmVkDQo+IHBvaW50ZXIvc3RyaW5nIGFsbG9jYXRp
b24uDQo+IA0KPiBJZiBhIG1hbGZvcm1lZCBvciB1bmV4cGVjdGVkIGRpcmVjdG9yeSByZXBs
eSBkb2VzIG5vdCBjYXJyeSBhIGZpbmFsIE5VTA0KPiB3aXRoaW4gdGhlIGFkdmVydGlzZWQg
bGVuZ3RoLCB0aGUgcmVsb2NhdGVkIGxhc3Qgc3RyaW5nIGlzIGxlZnQNCj4gdW50ZXJtaW5h
dGVkLiBDYWxsZXJzIHRoZW4gdHJlYXQgdGhlIGVudHJpZXMgYXMgQyBzdHJpbmdzIGFuZCBj
YW4gcmVhZA0KPiBwYXN0IHRoZSBhbGxvY2F0aW9uLg0KDQpUaGlzIHdvdWxkIGJlIGEgbWFq
b3IgYnVnIGluIGEgdHJ1c3RlZCBjb21wb25lbnQgKFhlbnN0b3JlKS4NCg0KPiBBbGxvY2F0
ZSBhbmQgY29weSB0aGUgdHJhbnNwb3J0LWFkZGVkIHRlcm1pbmF0b3IgYXMgcGFydCBvZiB0
aGUNCj4gcmVsb2NhdGVkIHN0cmluZyBibG9jay4gVGhpcyBwcmVzZXJ2ZXMgY3VycmVudCBw
YXJzaW5nIGJlaGF2aW9yIHdoaWxlDQo+IGtlZXBpbmcgZXZlcnkgcmV0dXJuZWQgZW50cnkg
TlVMLXRlcm1pbmF0ZWQuDQoNCkknZCByYXRoZXIgc2VlIGEgY2hlY2sgdGhhdCB0aGUgbGFz
dCBieXRlIG9mIHRoZSByZXBseSBpcyBpbmRlZWQgYSBOVUwgYnl0ZS4NCkluIGNhc2UgaXQg
aXMgbm90IE5VTCwgdGhlbiB0aGUgcmVwbHkgaXMgbW9zdCBjZXJ0YWlubHkgbm9uc2Vuc2Ug
YW55d2F5IGFuZA0KYSBmYXQgcHJfZXJyX29uY2UoKSBpcyB3YW50ZWQgcGx1cyAicmV0dXJu
IEVSUl9QVFIoLUVJTyk7Ig0KDQoNCkp1ZXJnZW4NCg==
--------------XCzG06Dmdxfsl9KDekBtwURm
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-----

--------------XCzG06Dmdxfsl9KDekBtwURm--

--------------BK7MA9d22R83Ay9Wm4AG0zNl--

--------------2o6Ivpt0Lth10FADGtAsACwZ
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/Ey8FAmo+afwFAwAAAAAACgkQsN6d1ii/Ey+8
Wwf/VEQRQKZK3bF7qiRVeunrrv1mszCG8t0eCxAOxh6GE2yuI6/KpwyXhCBd0kN6OtbgxcCh71AM
xaM64n4SvEKCe+RQIBXIYf/dW3imP6hpGgbedPap/Gfm5jC4MFhTchz7gjEZVZc0ALRNzV3mlPcG
R7YDNKA6IIR2WpMLjngL+082gCoT9EUZYply6d/KXVzlHmuvY0fw1q1nSJkTl09JRmW/KfgQUE09
fgVX+U1phvIoyqX/HrYzaBZ9yQWdDLqClgUoVATqRpVDKSxpAgNdtWtlYX9CODgRS8QEhM63rMRw
VVhuLXJXlup4l7O7i1JRK6jc7k+oeDjB/P7uas/HKA==
=QVZZ
-----END PGP SIGNATURE-----

--------------2o6Ivpt0Lth10FADGtAsACwZ--


From xen-devel-bounces@lists.xenproject.org Fri Jun 26 12:14:23 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 12:14:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346092.1604627 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd5Rf-0008Qi-VS; Fri, 26 Jun 2026 12:14:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346092.1604627; Fri, 26 Jun 2026 12: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 1wd5Rf-0008Qb-Su; Fri, 26 Jun 2026 12:14:07 +0000
Received: by outflank-mailman (input) for mailman id 1346092;
 Fri, 26 Jun 2026 12:14:06 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <jgross@suse.com>) id 1wd5Re-0008QV-AH
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 12:14:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd5Rd-0072ec-Ms
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 14:14:05 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <jgross@suse.com>)
 id 6a3e6d0d-5cb7-0a2a0a5109dd-0a2a4503a430-0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 14:14:05 +0200
Received: from [209.85.218.50] (helo=mail-ej1-f50.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <jgross@suse.com>)
 id 6a3e6d0d-ec1a-0a2a45030019-d155da32b0d8-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 14:14:05 +0200
Received: by mail-ej1-f50.google.com with SMTP id
 a640c23a62f3a-c07c246ad7bso111906266b.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 05:14:05 -0700 (PDT)
Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112?
 (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de.
 [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-697f4bd7719sm2785947a12.30.2026.06.26.05.14.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Jun 2026 05:14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1782476045; x=1783080845; 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=Gc4qVH2QvP+AtVZgR6WSgEH6OCyXdc7W8ELrghe/QwM=;
        b=QgJItnrx52Asr5MGfu1JUId7ceaj4oP7E0r3dZApzo1FEdsvJFg/J6sRkTtCN3ls1u
         3VhhAgQKgpxhgHCbof3RurXjPj7cN6zEKfhSgdBGLBwTXtptruGKiyF/8yGRdUVY23xE
         gOyJe9g/SVrrzyzm94vBziDPu28RhT6RyNWQdLOSjJ5aGICGinNj+cJ+bhyVXzE4pHV6
         78lQohZbq4R62rDecaysLeIPxwE9TrvsXEBuoTJi1GuoELwfkBFEV7zjF+Sho3Ok3dG2
         7u5+ssVU6rHWi/3QpMnEb7ZmCs3zNZaU9vfzhd4jDPRAkmg+LGUSekd5vMb3qH2MNhQ8
         p6uA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782476045; x=1783080845;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-gg
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Gc4qVH2QvP+AtVZgR6WSgEH6OCyXdc7W8ELrghe/QwM=;
        b=VdqYLtfM8NLI8Z8DsvNYPiWLnGYvkrdcqrGe/2182so+F6WxRL7CThLzLHVq/CaHoE
         GpagGgZr5OEx3hD8mpQg3MshERykRvsc7ryX7CLf1DGup3sXdlcTv4GuX+aX8KTeR1/i
         dXiuMRTF1X/NbsWS59UPHfnrMCpoU7gDFFvzM/wPXolcT9r4OMBoy6P1Fulq2WDdClSD
         a3OKfE3pUx1v8QfBNepa5pXTlzzVU30ASouPGGZ4A572RK62Jgu6rUoPF6hi4kL3451h
         8zzk93o3JQzfbpudRT29vqboz+jMm5ETwp+yqWoJBY3bF/ddJozzKE2JgbNidlws2ugV
         dF9w==
X-Gm-Message-State: AOJu0Yym0Rkjxc+9w5jF0K2Eh73cujMGQ/GPgTt0ZqnGDPaY9G/84pgX
	cWSQhU+wp1QrcFMxwkqsg5mhau9ZFSgs5hEonmcWz5Cnpynjn34BWddxxwcOsfRj1PA=
X-Gm-Gg: AfdE7cmxos+6EYXQppE35qfYQoDq87T4J+Ol184tYYVmBVQ+n5UqDSLPQdG4tjqj+yC
	DIAbo+HHkRl5ejggPwOL1/GWGozza43dtMG2LJRW1ZXT4nVcLQ9tIGPu6B461kAAWkpAMSqnuT6
	fRduiuLOzk0LxcQpX0Up/rI17wrEvjsRq+AsruG+Stw5pojd7OWXwrGdHh1kdr1P2NV3vNQxY+Z
	F95jpHLM1eojssg2HkvLwKhXRFB8CnPi0P8V/OPptlFKGzvF3mrGdJeMw7QzQbAT6eOcQWTl80U
	DA5AUMSpO8vWH3J+CZNDaLJlujJZO8mHxO0so2uDUtnYtO0ZYHAMatABSybefaSb1j8oq1h5t1p
	D9GnHuD5graWwIZ60IExeMzVbZEPNS/T+xUeiFCVFVXRhnykO/x2SNBs3eFLmKbB4/A3SCQ77LK
	A+mBX15ISdu8z4FFHDpA18LOW0YgjbFBHZq4Ds6+T+bx9GJLr7C7TU/IjVZYazdyglrl9e018oQ
	LPrWoM8d24MB1RfLNudeql1Zt7WVDW/omi1mS3JXU0OxJnvPIyXAQ==
X-Received: by 2002:a17:907:6d1e:b0:bf1:a59e:653f with SMTP id a640c23a62f3a-c12335f0ea3mr23276566b.28.1782476044972;
        Fri, 26 Jun 2026 05:14:04 -0700 (PDT)
Message-ID: <c89b3907-d32f-4f39-beef-fcacd575ca2b@suse.com>
Date: Fri, 26 Jun 2026 14:14:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/gntalloc: validate grant count before allocation
To: Yousef Alhouseen <alhouseenyousef@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20260624124745.10073-1-alhouseenyousef@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: <20260624124745.10073-1-alhouseenyousef@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Z5dcA2bS0wejZ8woxF6jiPy7"
X-purgate-ID: tlsNG-33051d/1782476045-05B345D1-496E110D/0/0
X-purgate-type: clean
X-purgate-size: 9593

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Z5dcA2bS0wejZ8woxF6jiPy7
Content-Type: multipart/mixed; boundary="------------1PafdFd7YnoQKSR5XDZyecJM";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Yousef Alhouseen <alhouseenyousef@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <c89b3907-d32f-4f39-beef-fcacd575ca2b@suse.com>
Subject: Re: [PATCH] xen/gntalloc: validate grant count before allocation
References: <20260624124745.10073-1-alhouseenyousef@gmail.com>
In-Reply-To: <20260624124745.10073-1-alhouseenyousef@gmail.com>

--------------1PafdFd7YnoQKSR5XDZyecJM
Content-Type: multipart/mixed; boundary="------------joNe91i64WQT5R8qWN0vzi0B"

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

T24gMjQuMDYuMjYgMTQ6NDcsIFlvdXNlZiBBbGhvdXNlZW4gd3JvdGU6DQo+IGdudGFsbG9j
X2lvY3RsX2FsbG9jKCkgYWxsb2NhdGVzIHRoZSBncmFudC1pZCBhcnJheSBiZWZvcmUgY2hl
Y2tpbmcNCj4gd2hldGhlciB0aGUgcmVxdWVzdGVkIGNvdW50IGNhbiBmaXQgd2l0aGluIHRo
ZSBnbG9iYWwgZ3JhbnQgbGltaXQuDQo+IENvdW50cyBhYm92ZSB0aGUgbGltaXQgY2Fubm90
IHN1Y2NlZWQsIHNvIHJlamVjdCB0aGVtIGJlZm9yZSB0aGUNCj4gdXNlci1jb250cm9sbGVk
IGFsbG9jYXRpb24gc2l6ZSByZWFjaGVzIGtjYWxsb2MoKS4NCj4gDQo+IFRoZSBsb2NrZWQg
bGltaXQgY2hlY2sgYWxzbyBhZGRzIGEgdTMyIGNvdW50IHRvIHNpZ25lZCBnbG9iYWwgY291
bnRlcnMuDQo+IFJld3JpdGUgaXQgYXMgYSBzdWJ0cmFjdGlvbi1iYXNlZCByYW5nZSBjaGVj
ayBzbyB0aGUgYXJpdGhtZXRpYyBjYW5ub3QNCj4gd3JhcCBhcm91bmQgdGhlIGxpbWl0Lg0K
PiANCj4gV2hpbGUgdGhlcmUsIGNhc3QgdGhlIGNvdW50IGJlZm9yZSBhZHZhbmNpbmcgdGhl
IHBlci1maWxlIGluZGV4IHNvIHRoZQ0KPiBwYWdlLXNpemUgbXVsdGlwbGljYXRpb24gaXMg
ZG9uZSBpbiA2NC1iaXQgYXJpdGhtZXRpYy4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IFlvdXNl
ZiBBbGhvdXNlZW4gPGFsaG91c2VlbnlvdXNlZkBnbWFpbC5jb20+DQo+IC0tLQ0KPiAgIGRy
aXZlcnMveGVuL2dudGFsbG9jLmMgfCAxMyArKysrKysrKysrKy0tDQo+ICAgMSBmaWxlIGNo
YW5nZWQsIDExIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0t
Z2l0IGEvZHJpdmVycy94ZW4vZ250YWxsb2MuYyBiL2RyaXZlcnMveGVuL2dudGFsbG9jLmMN
Cj4gaW5kZXggZWFkZWRkMWU5Li5iYTZhMjVhMDkgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMv
eGVuL2dudGFsbG9jLmMNCj4gKysrIGIvZHJpdmVycy94ZW4vZ250YWxsb2MuYw0KPiBAQCAt
MjcyLDYgKzI3Miw3IEBAIHN0YXRpYyBsb25nIGdudGFsbG9jX2lvY3RsX2FsbG9jKHN0cnVj
dCBnbnRhbGxvY19maWxlX3ByaXZhdGVfZGF0YSAqcHJpdiwNCj4gICAJaW50IHJjID0gMDsN
Cj4gICAJc3RydWN0IGlvY3RsX2dudGFsbG9jX2FsbG9jX2dyZWYgb3A7DQo+ICAgCXVpbnQz
Ml90ICpncmVmX2lkczsNCj4gKwlpbnQgbGltaXRfc25hcHNob3Q7DQoNClRoaXMgbmVlZHMg
dG8gYmUgYW4gdW5zaWduZWQgaW50LCBzYW1lIGFwcGxpZXMgdG8gdGhlIGFscmVhZHkgZXhp
c3RpbmcNCiJsaW1pdCIgYW5kICJncmVmX2lkcyIuDQoNCkNvdWxkIHlvdSBwbGVhc2UgY3Jl
YXRlIGEgc21hbGwgc2VyaWVzIHdpdGggcGF0Y2ggMSBjaGFuZ2luZyAibGltaXQiIGFuZA0K
ImdyZWZfaWRzIiB0byB1bnNpZ25lZCBpbnQgYW5kIGxldCB0aGlzIHBhdGNoIGJlIHBhdGNo
IDI/DQoNClRoZSByZXN0IG9mIHRoaXMgcGF0Y2ggKHdpdGggdGhlICI8IDAiIHRlc3RzIGFu
ZCBzb21lIHR5cGUgY2FzdHMgcmVtb3ZlZCkNCmlzIGxvb2tpbmcgZmluZSB0byBtZS4NCg0K
DQpKdWVyZ2VuDQoNCj4gICANCj4gICAJcHJfZGVidWcoIiVzOiBwcml2ICVwXG4iLCBfX2Z1
bmNfXywgcHJpdik7DQo+ICAgDQo+IEBAIC0yODAsNiArMjgxLDEyIEBAIHN0YXRpYyBsb25n
IGdudGFsbG9jX2lvY3RsX2FsbG9jKHN0cnVjdCBnbnRhbGxvY19maWxlX3ByaXZhdGVfZGF0
YSAqcHJpdiwNCj4gICAJCWdvdG8gb3V0Ow0KPiAgIAl9DQo+ICAgDQo+ICsJbGltaXRfc25h
cHNob3QgPSBSRUFEX09OQ0UobGltaXQpOw0KPiArCWlmIChsaW1pdF9zbmFwc2hvdCA8IDAg
fHwgb3AuY291bnQgPiAodWludDMyX3QpbGltaXRfc25hcHNob3QpIHsNCj4gKwkJcmMgPSAt
RU5PU1BDOw0KPiArCQlnb3RvIG91dDsNCj4gKwl9DQo+ICsNCj4gICAJZ3JlZl9pZHMgPSBr
Y2FsbG9jKG9wLmNvdW50LCBzaXplb2YoZ3JlZl9pZHNbMF0pLCBHRlBfS0VSTkVMKTsNCj4g
ICAJaWYgKCFncmVmX2lkcykgew0KPiAgIAkJcmMgPSAtRU5PTUVNOw0KPiBAQCAtMjkyLDE0
ICsyOTksMTYgQEAgc3RhdGljIGxvbmcgZ250YWxsb2NfaW9jdGxfYWxsb2Moc3RydWN0IGdu
dGFsbG9jX2ZpbGVfcHJpdmF0ZV9kYXRhICpwcml2LA0KPiAgIAkgKiBhcmUgYWJvdXQgdG8g
ZW5mb3JjZSwgcmVtb3ZpbmcgdGhlbSBoZXJlIGlzIGEgZ29vZCBpZGVhLg0KPiAgIAkgKi8N
Cj4gICAJZG9fY2xlYW51cCgpOw0KPiAtCWlmIChncmVmX3NpemUgKyBvcC5jb3VudCA+IGxp
bWl0KSB7DQo+ICsJbGltaXRfc25hcHNob3QgPSBSRUFEX09OQ0UobGltaXQpOw0KPiArCWlm
IChsaW1pdF9zbmFwc2hvdCA8IDAgfHwgZ3JlZl9zaXplID4gbGltaXRfc25hcHNob3QgfHwN
Cj4gKwkgICAgb3AuY291bnQgPiAodWludDMyX3QpKGxpbWl0X3NuYXBzaG90IC0gZ3JlZl9z
aXplKSkgew0KPiAgIAkJbXV0ZXhfdW5sb2NrKCZncmVmX211dGV4KTsNCj4gICAJCXJjID0g
LUVOT1NQQzsNCj4gICAJCWdvdG8gb3V0X2ZyZWU7DQo+ICAgCX0NCj4gICAJZ3JlZl9zaXpl
ICs9IG9wLmNvdW50Ow0KPiAgIAlvcC5pbmRleCA9IHByaXYtPmluZGV4Ow0KPiAtCXByaXYt
PmluZGV4ICs9IG9wLmNvdW50ICogUEFHRV9TSVpFOw0KPiArCXByaXYtPmluZGV4ICs9ICh1
aW50NjRfdClvcC5jb3VudCAqIFBBR0VfU0laRTsNCj4gICAJbXV0ZXhfdW5sb2NrKCZncmVm
X211dGV4KTsNCj4gICANCj4gICAJcmMgPSBhZGRfZ3JlZnMoJm9wLCBncmVmX2lkcywgcHJp
dik7DQoNCg==
--------------joNe91i64WQT5R8qWN0vzi0B
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-----

--------------joNe91i64WQT5R8qWN0vzi0B--

--------------1PafdFd7YnoQKSR5XDZyecJM--

--------------Z5dcA2bS0wejZ8woxF6jiPy7
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/Ey8FAmo+bQsFAwAAAAAACgkQsN6d1ii/Ey8q
IAf9HDyxfh0OkvlypP7nNgSyAH32aMtTvSOLFEBpJsBi0I1s6eBTGWFGmZ/z5nJqlb3HAu0GgPDY
HD+TgKFfviFZaBi6E9COCrwoIYiTLTbBiZ5MF+G5r4Pv0bvNkg+2ThFS2S4tsRYrYQbimL8yY8+0
dulv2nUHTxu7dX/mJ0CoX6qYP34P8sQYbTurQfjDM8vx0ndNcb93Li6D52EDDnNVuJ0EuH8Rxbma
ufmxZ4H4KMQbLHvwz0NpUWbzobZR5xQ2WrM2+Nt75kDks4ZGnC6jnmzncB36a8uMnqmp+gXhkq+C
2SQLlSbyjmcIyozJfyN97y/PiPCb760Dg9hiQPcQpQ==
=UKmb
-----END PGP SIGNATURE-----

--------------Z5dcA2bS0wejZ8woxF6jiPy7--


From xen-devel-bounces@lists.xenproject.org Fri Jun 26 12:37:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 12:37:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346121.1604647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd5nv-0004JO-5L; Fri, 26 Jun 2026 12:37:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346121.1604647; Fri, 26 Jun 2026 12: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 1wd5nv-0004JH-1i; Fri, 26 Jun 2026 12:37:07 +0000
Received: by outflank-mailman (input) for mailman id 1346121;
 Fri, 26 Jun 2026 12:37:06 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wd5nu-0004CQ-Eu
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 12:37:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd5nt-006RzF-Rd
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 14:37:05 +0200
Received: from [10.42.69.7] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3e7261-bab6-0a2a0a5309dd-0a2a4507bcbe-36
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 14:37:05 +0200
Received: from [209.85.128.41] (helo=mail-wm1-f41.google.com)
 by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3e726f-9c8e-0a2a45070019-d1558029b085-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 14:37:03 +0200
Received: by mail-wm1-f41.google.com with SMTP id
 5b1f17b1804b1-49249707788so7950505e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 05:37:03 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-49268ff1be9sm76578835e9.8.2026.06.26.05.37.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 05:37: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782477423; x=1783082223; 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=FsO7EIZrQo3Km2uz/iSDN6t79zuLOfUZ/lQwqUgLgYY=;
        b=i3WU97KF425sZHNQlFgz6lgazsvhFeSVfLHeyqfeb236sWxoVZcbE7BEs9veioEAG1
         vzOyuOUm8luPk7BqiesbeWZmiJNlc2EFb5rm/1s2YQfibYEQ/Xf+gC51y1PGHd82rFSp
         enHpJALwtkaeJVlnR3g8KQ5gvwZ4T5d4H2qIfSDG6AjfKtcC/NtyQ3LqKOjsweEChkTu
         uUPj9P0HjpnqAuvhiHzq62fwLe3gDK7Btn2/bYPnqUz6a6WzjDr5UYulHHzqrAihKxZd
         RaFiEyIW6UiRwKDKmVHhU+YHu/aMgj0QXefZsuAUn1/TVnAkxcFbhf6fYpKgOVK9/+Ck
         r36A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782477423; x=1783082223;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FsO7EIZrQo3Km2uz/iSDN6t79zuLOfUZ/lQwqUgLgYY=;
        b=AP403yfjQi+B+1y01iiY4MW+jN+odwHOHqWWkjG65HwVwOwknJ9MBc8ohu+9MqWlFg
         hT5/oKVsb4CWw8rDPZTPmt2jJNwZSUMqxytnJOW3zeqOW8wtnLE9CimfWjyMX9rupFp7
         74t+6DsoJqvl16ycRjh0Bbccl7iixmfKwWJ5q5wwj/LaAQWt132eSaRPtyn765854gMe
         Fk4Sd4VQVDk4LwIC5tJixCKKNs548WZG88RIy5qfH/6LNYMoF4bdHiERgZAOEygSwV9U
         rQ+lEXNrJQnVUMddhpNKL/M2JCDBo0nJUtj8rLQs95YzHzCxHpnrgWiRJFomrL6BIVcm
         3BDg==
X-Gm-Message-State: AOJu0YxUGZAlDU6n9VHd5tOWTPHSSiW/iT81wNNDsIFpZFHegCag9TDv
	XtWs3zYbNMDs3sbwgcIt++splCAi9fgIZSy+UKMYVMcXXwdzCCFJkPi9gG0y59Kcvlw=
X-Gm-Gg: AfdE7cnQYbLE0CdiR6tr8FE+YpWuT0mYkr/7f5eo87yzbtp6GrVsPpB3qfFwMi+8ekq
	c7m4x7jWEerQhwkUW5pVIM6fgdsL5Wjr0NilphyLtNCIv53nDVfWUNgj413hxfiuucJhGXv5tyw
	9CvNSHGmdMR66K7GeY+2PJ0DJZKWjdsvdxhbf+SI0yoq/BBeOaEbH6JcyXK6uKsiBhSQRj/jicx
	06EmxmXyw2LEwuEQSA4jOZcS0qz4MWbeZGPnYQO3H5aZVGcnUvOtAdVjK737GVg3uGhsgigPtHq
	A6zICl3nzVeiKe9XwLqSy96l932MiGUTrnLAPqvzFzD5Y5dpmIZaQVQOZ05RwXVDcQN83Xf2/g4
	DkVe39sSLR+Tt/8ZgG4U5ik/wpWykWGLkdQnmzFYBW/dXNVK9NV8jDZatGg1EpqRJC8lhdHX9D+
	i2KI3X/L6saOP4UnZ1HtUdgBKzUICnQVa3YeX1k3gEvqZkuhtQGtfEvWk2UNnrKPNCdwAnGpMRo
	Z4MAATe
X-Received: by 2002:a05:600c:3b29:b0:490:e5c1:b8b9 with SMTP id 5b1f17b1804b1-4926fac56a2mr10029125e9.0.1782477422813;
        Fri, 26 Jun 2026 05:37:02 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	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>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v5 0/5] Various patches to improve Secure Boot support
Date: Fri, 26 Jun 2026 13:36:40 +0100
Message-ID: <20260626123645.229375-1-frediano.ziglio@citrix.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-purgate-ID: tlsNG-ef75cf/1782477423-FFF3525E-E21290EC/0/0
X-purgate-type: clean
X-purgate-size: 1338

These patches improve support for Secure boot.
UEFI CA memory mitigation requires memory pages to be not executable and
writable at the same time. So changing permissions and splitting some section
is required.
Remove multiboot pieces from EFI executable.

Changes since v1:
- improved some comments;
- merged 2 pacthes removing multiboot support in x86 PE;
- removed a patch dealing with SBAT;
- other minor changes (see single patches).

Changes since v2:
- improved some comments.

Changes since v3:
- Added Acked-by;
- Improve commit message.

Changes since v4:
- Messages updates;
- Clean some dependencies cause by code removal;
- Add small commit to remove a possibly unused string.

Frediano Ziglio (3):
  Align relevant sections to 4KB
  x86: Split .init section to satisfy UEFI CA memory mitigation
  x86/boot: Exclude not used string

Roger Pau MonnÃ© (2):
  x86/efi: discard multiboot and PVH support for PE binary
  x86/efi: avoid a relocation in efi_arch_post_exit_boot()

 docs/hypervisor-guide/x86/how-xen-boots.rst |  6 -----
 xen/arch/x86/boot/head.S                    | 10 +++++---
 xen/arch/x86/efi/efi-boot.h                 |  7 ++++--
 xen/arch/x86/xen.lds.S                      | 27 +++++++++++++--------
 4 files changed, 28 insertions(+), 22 deletions(-)

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 12:37:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 12:37:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346120.1604637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd5nt-00046X-VT; Fri, 26 Jun 2026 12:37:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346120.1604637; Fri, 26 Jun 2026 12:37: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 1wd5nt-00046L-RV; Fri, 26 Jun 2026 12:37:05 +0000
Received: by outflank-mailman (input) for mailman id 1346120;
 Fri, 26 Jun 2026 12:37:05 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wd5nt-00046F-8E
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 12:37:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd5ns-008INd-Kt
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 14:37:04 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3e726d-e002-0a2a0a5209dd-0a2a4508b3e4-8
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 14:37:04 +0200
Received: from [209.85.128.45] (helo=mail-wm1-f45.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3e7270-edec-0a2a45080019-d155802dc930-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 14:37:04 +0200
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-49241896317so4658705e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 05:37:04 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-49268ff1be9sm76578835e9.8.2026.06.26.05.37.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782477424; x=1783082224; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SZ5oq/h6Ct/bubpgcFsVwUap/Y9yiAwC2oUUawjmI68=;
        b=l9m5imnYUPZGohIf2QU0qVmhqxhtLCQxR3jx3II/9h2WAZRUkQJcDZCjAzXkUdSKQ7
         zWDKygena+02bFBKRCUf649gv+Si2LERDMxcDuSQsb7EuO5JJRxdPVn5/cnWYXIjN3iQ
         tUNMS5s4v40X552mTk0Lh8m17Qp88e9u3/+Rlim2iU3o9zT7oJVCO3AVWnYmRwVtIMD9
         3OzPkL1W386FDR61B+8QafSLBAgpSEHi0R2MaNlhY64y+uIX/arjnrgYhtBsb9NiI0WM
         U9fibYWTb/WosovCSRLYNvK3LmH8OERg8pFNOwdAgUm2dzPLDTMMRgPuUR050Ij/tAHq
         Mriw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782477424; x=1783082224;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=SZ5oq/h6Ct/bubpgcFsVwUap/Y9yiAwC2oUUawjmI68=;
        b=FOQE5zeJlDYMUPG/5AApOE5LULSZEu4JZXyyp8Be6gHzK/IvIUdzyoSQbMPwuHqZPw
         dooG+mnBnOru8gN6ZmMZyUfa21Q+2PlcKZWtomPBriHBwlYuynoYFPVTt6USg//uSYvo
         VcJWWfKWtl5RRImGq1undMn0ndtuR+tRmO+ZH7HdPnwI3TpwyjE4q6H9twQGU4Y5BJu2
         3J+tvvYVpFew2HdFpyHBnGOKmvf/oTzDF3f45oxrvgYpes46MlfPUq9oezTxtB8N7Wm1
         4UV3kNAO8J100jGYwHPf+pa/WFmcTpae8QP+NyzMs3TWUUziCIJ405snjBrO+SeKpuza
         x26w==
X-Gm-Message-State: AOJu0YyKbrrTRQY2FZjnGhnEwwXgRDa9T7N6xH1c54EfWdOgvOqeWVCX
	W2DbqptIIUeAt6tqXGfMLZjrc5hLoH8/cXeb1RTupzWBt5JKqte/TWBhR+DofgwA0Sc=
X-Gm-Gg: AfdE7ck1Q0TduYZDbSKdnnZbJ4T4hLMG4BNVSvZbxlrK7eHLckbHQV0RD15Al2Ys4bW
	iOvEupidhgwe3jkNdMCO50emymYUCNLq6Sc1XZLAdON789HtnzyB60ytE5chJIEjppIvNkcP1id
	+CB1uQN0s0Fucod7pmeFbQF7ajCp31ZiIxwx9I7FvjJgqN6rSbTR7p7zRCRQNtisiFNebNPjezI
	J9+aRsJY40ynds6Gb26E6/ZslT3OndPfvabrfZUVO2CtKuJXj1Vc5dBuEDDguZ5BA9sldptYAMn
	9V78rRTtBZb0XqAVyiju+187ezRRwdr/6HSVp5OFG3TmrQgJGcFRQgapzlJIyJQE8QJltaHDTKP
	idt4+IMENBCqp5OFEVGcGH62ww20WZzh1HUJ9ZTNkqqBKDNqC5gg57knFTXgQGVqRTg6ioHNa3e
	1zka7LsTwU81Ju2e4emK9Il6OWDa9+N0meP3/mMGutNJcrUPCzj5n9S19aPxBETHhAjQdQUWVkR
	V9ACDgD
X-Received: by 2002:a05:600c:8b4b:b0:492:3d05:5639 with SMTP id 5b1f17b1804b1-492668945eamr90594455e9.36.1782477423934;
        Fri, 26 Jun 2026 05:37:03 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@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>,
	Teddy Astie <teddy.astie@vates.tech>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v5 1/5] Align relevant sections to 4KB
Date: Fri, 26 Jun 2026 13:36:41 +0100
Message-ID: <20260626123645.229375-2-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260626123645.229375-1-frediano.ziglio@citrix.com>
References: <20260626123645.229375-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c1860d/1782477424-411293FC-B7135E53/0/0
X-purgate-type: clean
X-purgate-size: 2075

From: Frediano Ziglio <frediano.ziglio@cloud.com>

Required by UEFI CA memory mitigation.

It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
in the pagetables.

NX_COMPAT is a requirement from shim-review,
https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility

Sections with different permissions must be in separate pages.
In the case of debug sections they are contiguous and have the same
permissions, including the immediately preceding .reloc section, so it's
not an issue if they are not aligned to the page.
Before the .debug sections you could have the .reloc or the SBAT section,
either are permission-compatible.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Acked-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
--
Changes since v1:
- Change subject.

Changes since v2:
- Improved commit message and subject.

Changes since v3:
- Added Acked-by;
- Improved commit message.

Changes since v4:
- Added missing comment;
- Added Acked-by.
---
 xen/arch/x86/xen.lds.S | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index b9e888e596..8e63cf5bc2 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -162,8 +162,8 @@ SECTIONS
        __note_gnu_build_id_end = .;
   } PHDR(note) PHDR(text)
 #elif defined(BUILD_ID_EFI)
-  /* Workaround bug in binutils < 2.36 */
-  . = ALIGN(32);
+  /* Align to satisfy UEFI CA memory mitigation. */
+  . = ALIGN(PAGE_SIZE);
   DECL_SECTION(.buildid) {
        __note_gnu_build_id_start = .;
        *(.buildid)
@@ -330,6 +330,8 @@ SECTIONS
   __2M_rwdata_end = ALIGN(SECTION_ALIGN);
 
 #ifdef EFI
+  /* Align to satisfy UEFI CA memory mitigation. */
+  . = ALIGN(PAGE_SIZE);
   .reloc ALIGN(4) : {
     __base_relocs_start = .;
     *(.reloc)
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 12:37:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 12:37:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346122.1604655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd5nw-0004WP-Am; Fri, 26 Jun 2026 12:37:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346122.1604655; Fri, 26 Jun 2026 12: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 1wd5nw-0004WI-7q; Fri, 26 Jun 2026 12:37:08 +0000
Received: by outflank-mailman (input) for mailman id 1346122;
 Fri, 26 Jun 2026 12:37:06 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wd5nu-0004E8-LG
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 12:37:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd5nu-008IO7-1x
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 14:37:06 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3e7269-5cb7-0a2a0a5109dd-0a2a450ccebe-28
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 14:37:06 +0200
Received: from [209.85.128.53] (helo=mail-wm1-f53.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3e7271-f399-0a2a450c0019-d1558035a4cf-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 14:37:05 +0200
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-4926046fbc5so10113955e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 05:37:05 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-49268ff1be9sm76578835e9.8.2026.06.26.05.37.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782477425; x=1783082225; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sAKNT6XO/y4NOFGKf9ZV2Q/su24+5X1SoV17cy5xU9U=;
        b=rfE+i4Xee6iNgtnYSJNHj8wLuRy8rhUiO0jkiOzkZlZibRLTsOIx4Jlq9Fp8jAcMWp
         Q1GyT7sNElz/P3LD3kAEL9u7ewg7XTswwj1u9yj8u4p91CzeTAarDlobIJltpJmAvddn
         2vd5yPMvyIy81mX8LBYbx9lkndZiErQRzR768Z0C7dzqzhrk4m1H54e0XV78TyP8T5w7
         uGMCUYbZ4a4dgokjykoVNzDUOzxn1iNKUebDmcTZzYNwm1TiGsbbW8SreHB+Z6TQCbjD
         pOQ79SESEDGD+J1avSjBb9NpO+rcPq1qCnLgbVICK7LqBp7czTPFlIaUpP0/J6nO7YZz
         QptA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782477425; x=1783082225;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=sAKNT6XO/y4NOFGKf9ZV2Q/su24+5X1SoV17cy5xU9U=;
        b=RS3pKXTFJFH7sY4p2uiltfkY5SL01rFheyd0yWtYL165iMmKAlIc/UOP1IpLktrmoG
         TF8hoIrbZotfiTeNdKsirTaQn3tD8LNkmS8BxA7hw/XclRoPjuxPO2FT0Li49z9tqpdm
         SiloX+28ycrAp2f1v1F71BkrzJT3rMwBnS4RTfFOG1MnPWVplLQ7i3O9DAFWUtUiz6lR
         HYow9Jiw9J1zAT5gaAHYBykQAioZ81tyDOPPiDsnQivlH6t5MiJLc//hw50Aqu5Qfxav
         O3XJ6pbJ3fcCBxmZp46gyHdLUffZjaSVCeGxAAyR+ru1KHUxmP2ftVMuwpTwmaZkSwdz
         JPCA==
X-Gm-Message-State: AOJu0YxB8IxaFjLLVS0xDnu7+vIyXKuucmLffDNMwgEut42g31K+cWyQ
	+SqKRMNUCpRt/0gfU7MMNfc2BTUnNdRHngWkRC4JHBeJ3aDO6gxj92YoyTi5a4/+04w=
X-Gm-Gg: AfdE7ckYiDNelulpje4Oz5flheB6HcE/NOvR5WGIpmwugwVkrqQq0+kj34YLz4gzGRg
	80mx97X5KousKp+5PQgPWHbnHZRfDVeNrNIRzso2CIbpi32fXfWrKV+s1fMLpuUIMMgTcDDA0xj
	DBhUCROlSrGstEfOtL1aVWNzbqYs0PT7Ck6dqX9J2kqVxLlRRzdIduFK09PN0OYsmvre3CTgAg+
	/h0N2hHj4hxFxlhjPQh0VlzZGGQFk88mjhZprO8ppa4Y0VLi2eaz9+oZxFk4mutkb7xf38K+CCY
	5HLq/+Lc4yZZpYpqoOn5ZTF0phJ1Vc+wOOAxb/UDKTQjQf4TPsafJPVxMDs//WNo2B3FbA4fjW4
	4MSr48M4rfMAjfqFa2dSvoDeGwhqit8vQViiNZDUXEv4Lau/WH0f0Mu7hdcJGeQ8G6VtQ5Qr+Jg
	d2WJc7Eu8o67dWGqDTKWoY4aEezbIQfTesqofblX7h2gCK+jDirvQ5sWQyqCutWWmHo86TeNMP5
	HwmiwTg
X-Received: by 2002:a05:600d:8497:20b0:490:af63:2cb1 with SMTP id 5b1f17b1804b1-492663e5d71mr67315365e9.7.1782477424840;
        Fri, 26 Jun 2026 05:37:04 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v5 2/5] x86/efi: discard multiboot and PVH support for PE binary
Date: Fri, 26 Jun 2026 13:36:42 +0100
Message-ID: <20260626123645.229375-3-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260626123645.229375-1-frediano.ziglio@citrix.com>
References: <20260626123645.229375-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1782477425-91329D51-71170222/0/0
X-purgate-type: clean
X-purgate-size: 4292

From: Roger Pau MonnÃ© <roger.pau@citrix.com>

Multiboot and PVH booting are not supported for PE, hence discards them
in the linker script when doing a PE build.

That removes some relocations that otherwise appear due to the usage of the
start and __efi64_mb2_start symbols in the multiboot2 header.

Section discarding is not done updating DISCARD_SECTIONS definition as the
change is specific for x86.

No functional change intended.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
--
Changes since v1:
- improve commit message;
- change section orders to avoid changing code order in final executable;
- merge 2 commits;
- removed deprecated documentation section.

Changes since v2:
- Update commit message, join 2 sentences together.

Changes since v3:
- Added Acked-by.

Changes since v4:
- more clear subject;
- removed more code/data from EFI output;
- removed Acked-by.
---
 docs/hypervisor-guide/x86/how-xen-boots.rst | 6 ------
 xen/arch/x86/boot/head.S                    | 8 ++++----
 xen/arch/x86/xen.lds.S                      | 9 +++++++++
 3 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/docs/hypervisor-guide/x86/how-xen-boots.rst b/docs/hypervisor-guide/x86/how-xen-boots.rst
index 8b3229005c..b6d852050a 100644
--- a/docs/hypervisor-guide/x86/how-xen-boots.rst
+++ b/docs/hypervisor-guide/x86/how-xen-boots.rst
@@ -82,12 +82,6 @@ When a PEI-capable toolchain is found, the objects are linked together and a
 PE32+ binary is created.  It can be run directly from the EFI shell, and has
 ``efi_start`` as its entry symbol.
 
-.. note::
-
-   xen.efi does contain all MB1/MB2/PVH tags included in the rest of the
-   build.  However, entry via anything other than the EFI64 protocol is
-   unsupported, and won't work.
-
 
 Boot
 ----
diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 77bb7a9e21..ebdc562207 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -126,7 +126,7 @@ multiboot2_header:
         .size multiboot2_header, . - multiboot2_header
         .type multiboot2_header, @object
 
-        .section .init.rodata, "a", @progbits
+        .section .init.rodata.multiboot, "a", @progbits
 
 .Lbad_cpu_msg: .asciz "ERR: Not a 64-bit CPU!"
 .Lbad_ldr_msg: .asciz "ERR: Not a Multiboot bootloader!"
@@ -135,8 +135,7 @@ multiboot2_header:
 .Lbag_alg_msg: .asciz "ERR: Xen must be loaded at a 2Mb boundary!"
 .Lno_nx_msg:   .asciz "ERR: Not an NX-capable CPU!"
 
-        .section .init.data, "aw", @progbits
-        .subsection 1 /* Put data here after the page tables (in x86_64.S). */
+        .section .init.data.multiboot, "aw", @progbits
         .align 4
 
         .word   0
@@ -152,7 +151,7 @@ vga_text_buffer:
 efi_platform:
         .byte   0
 
-        .section .init.text, "ax", @progbits
+        .section .init.multiboot, "ax", @progbits
 
 early_error: /* Here to improve the disassembly. */
 
@@ -710,6 +709,7 @@ trampoline_setup:
         /* Jump into the relocated trampoline. */
         lret
 
+        .section .init.text, "ax", @progbits
 ENTRY(trampoline_start)
 #include "trampoline.S"
 ENTRY(trampoline_end)
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index 8e63cf5bc2..88553513a9 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -57,6 +57,12 @@ SECTIONS
   __image_base__ = .;
 #else
   . = __image_base__;
+  /DISCARD/ : {
+    *(.text.header)
+    *(.init.multiboot)
+    *(.init.data.multiboot)
+    *(.init.rodata.multiboot)
+  }
 #endif
 
 #if 0
@@ -195,6 +201,7 @@ SECTIONS
   DECL_SECTION(.init.text) {
 #endif
        _sinittext = .;
+       *(.init.multiboot)
        *(.init.text)
        *(.text.startup)
        _einittext = .;
@@ -220,6 +227,7 @@ SECTIONS
        *(.init.rodata.cf_clobber)
        __initdata_cf_clobber_end = .;
 
+       *(.init.rodata.multiboot)
        *(.init.rodata)
        *(.init.rodata.*)
 
@@ -234,6 +242,7 @@ SECTIONS
        *(.initcall1.init)
        __initcall_end = .;
 
+       *(.init.data.multiboot)
        *(.init.data)
        *(.init.data.rel)
        *(.init.data.rel.*)
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 12:37:20 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 12:37:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346123.1604659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd5nw-0004ZO-Ju; Fri, 26 Jun 2026 12:37:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346123.1604659; Fri, 26 Jun 2026 12: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 1wd5nw-0004Z8-Fi; Fri, 26 Jun 2026 12:37:08 +0000
Received: by outflank-mailman (input) for mailman id 1346123;
 Fri, 26 Jun 2026 12:37:07 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wd5nv-0004Lc-Dn
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 12:37:07 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd5nu-008IO7-Qt
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 14:37:06 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3e7250-5cb7-0a2a0a5109dd-0a2a4505ac78-42
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 14:37:06 +0200
Received: from [209.85.128.48] (helo=mail-wm1-f48.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3e7272-3cb2-0a2a45050019-d1558030bde0-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 14:37:06 +0200
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-4923fb1f095so8876695e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 05:37:06 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-49268ff1be9sm76578835e9.8.2026.06.26.05.37.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 05: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782477426; x=1783082226; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=h7zgfFDoBBPNpJ7qeY1DSNzH5DJ0mfqwAdGCYD7M6W0=;
        b=i21WghmRsF1Zdt+QIgbgX09tVJ2JUOMIfe9RziGcx2T+0EqgW0xt24vaUWjsRKHdM/
         ExtRgnbuIO6VNywmPxyN+c1OMH5drLVsQsKsJRvBSHXJRUR/MLjel3nzIvPlS6p267xn
         5zqUnClNFVH31NoF2wdnxwY1j4pz7nXJ4EbIsU9tmCmrZemY46l5gURc3UydJxdClXOx
         WQax7zXdx0PaTR2rjHSdfGjZ95/skU6lW8k+VpQumDfbCtbA3VIyuDLdETHhVoNx6zRJ
         dFRuGixn2tCSdj3UZpfkiBPiQKNSk2rEkTnwOCGrDk2JruKLAkggc437w6CGe8d6E9IG
         1I4A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782477426; x=1783082226;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=h7zgfFDoBBPNpJ7qeY1DSNzH5DJ0mfqwAdGCYD7M6W0=;
        b=iz/JOpqoemxgLJ+M9f2yRaLo9oUzWdYGMMoEXJhNtnwqdN0V0GUaU330+tdFbRoFre
         e57E7uUf6K4n3PDyzIDRSW2agc8hAAzu8fDM4HuwqgVHexDinOgpihIHlfWdDzLCrAv3
         MXfqTnhjK6nhrShhb/86sUggFh2exz0tQJB6uHOBkptmH8CQD+KuH3WgaiwFQUXhdNBZ
         92SV4zbdI0FXXeVY2N2ENorXRineYvMuxvLFaYfxLbpOcx80uEnDl/YjaDhyTf2K7oiU
         7D64APSje2avpUbB1z4TndcCorSdMi8HVQLKD9inOUPm93GFGyNqTf/y6JTmqZ0aVMru
         E3tw==
X-Gm-Message-State: AOJu0YyoLET/y9YXlDqkomKALLCZ+BlVCp5TGbl1qaFjvnF1n2IYUZOj
	0v+8fX3WctcqnJ9gpQmcjwjFA53PwizTFUvaTNwDM0t6qH+5i+7o1/fGofbP0K7XL6A=
X-Gm-Gg: AfdE7ckMqizLw5CksOLdQQpkRAoPyX0pri5lfe09I+20L8saYkBh7Hw0Wam3A/q0aCn
	m9M4WxTyY+UIJqfOz7aUTccKwe2XVrCtx2bwisRhNGCR1SY0gjBWZeGtSktqBzEN5LrqfIAUMv4
	NMwBPWnX7G0xX9a6pG8KOt/DAU8I01exhYIwAn5OpwpqyeTP7KyVTeW/fvGXOj+69m58Lok210j
	EtDtvhpJd7fgfuJbDBbhRp2cLBadzHVlsgt1orBZEmuLkQrUtSv0+O0Qx5skKC34hswH6kMv8Kn
	C501kUfx/Ca2giKdjXi1g65qkjk722BNwPDySW/nMTyIbaVLnEygNC7/ZyqcI8iV1o8QIT4lVGs
	Cgo7zHa96MqqYhm8xlE/w1MNC6hGKjMth6CMrPR+JRgpuIBkXt+ThygRRefKYjPW1gBipz1YvFC
	I4vvWHfYEfbszUg6JC2I+j6OCjBYraHPM5N5izTft9ADSinTZ3MmdH7OwLNFzIZ3W2eeU02uKvW
	SJS3a0g
X-Received: by 2002:a05:600c:8a1a:10b0:492:488c:f627 with SMTP id 5b1f17b1804b1-49266872ce4mr74157985e9.11.1782477425844;
        Fri, 26 Jun 2026 05:37:05 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <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>,
	Teddy Astie <teddy.astie@vates.tech>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v5 3/5] x86/efi: avoid a relocation in efi_arch_post_exit_boot()
Date: Fri, 26 Jun 2026 13:36:43 +0100
Message-ID: <20260626123645.229375-4-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260626123645.229375-1-frediano.ziglio@citrix.com>
References: <20260626123645.229375-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1782477426-551E62B8-8D192688/0/0
X-purgate-type: clean
X-purgate-size: 1923

From: Roger Pau MonnÃ© <roger.pau@citrix.com>

Instead of using the absolute __start_xen address, calculate it as an
offset from the current instruction pointer.  The relocation would be
problematic if the generated PE binary had .init.text as a standalone
section with just read and execute permissions."

Removing this relocation is necessary to make it safe to split .init.

No functional change intended.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Acked-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
--
Changes since v1:
- Improve commit message.

Changes since v3:
- Added Acked-by.
---
 xen/arch/x86/efi/efi-boot.h | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index d738b839ee..b983f054b5 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -270,7 +270,9 @@ static void __init noreturn efi_arch_post_exit_boot(void)
 
                    /* Jump to higher mappings. */
                    "mov    stack_start(%%rip), %%rsp\n\t"
-                   "movabs $__start_xen, %[rip]\n\t"
+                   "lea    __start_xen(%%rip), %[rip]\n\t"
+                   "add    %[offset], %[rip]\n\t"
+
                    "push   %[cs]\n\t"
                    "push   %[rip]\n\t"
                    "lretq"
@@ -278,7 +280,8 @@ static void __init noreturn efi_arch_post_exit_boot(void)
                      [cr4] "+&r" (cr4)
                    : [cr3] "r" (idle_pg_table),
                      [cs] "i" (__HYPERVISOR_CS),
-                     [ds] "r" (__HYPERVISOR_DS)
+                     [ds] "r" (__HYPERVISOR_DS),
+                     [offset] "r" (__XEN_VIRT_START - xen_phys_start)
                    : "memory" );
     unreachable();
 }
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 12:37:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 12:37:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346125.1604682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd5nz-0005BI-3L; Fri, 26 Jun 2026 12:37:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346125.1604682; Fri, 26 Jun 2026 12:37: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 1wd5ny-0005B7-Uy; Fri, 26 Jun 2026 12:37:10 +0000
Received: by outflank-mailman (input) for mailman id 1346125;
 Fri, 26 Jun 2026 12:37:09 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wd5nx-0004eO-09
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 12:37:09 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd5nw-006RzF-CR
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 14:37:08 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3e726d-bab6-0a2a0a5309dd-0a2a4509caa2-10
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 14:37:08 +0200
Received: from [209.85.128.51] (helo=mail-wm1-f51.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3e7274-97e6-0a2a45090019-d1558033acb1-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 14:37:08 +0200
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-4926fe5be4bso1267315e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 05:37:08 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-49268ff1be9sm76578835e9.8.2026.06.26.05.37.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 05:37: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782477428; x=1783082228; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Ana3ymIwcmSeF/vMnLZznGGCNHfICJ1NLKaFG+o2Xcw=;
        b=BOBvzVsb1DUxuMZUHaPbNMSIovIhOBMcqYLQoLpJnGlm11rIRczzoRJYCdiFpCkwmo
         N/hJUkCgxeq7FdFG0bE5yBiG9rwyXSph5Iz3AdQh5T3TQu1SJAcTsVuul/qetqVaPiZI
         0qqtP3jUmGqIJg64fAWdR+WAEtGewSJDxDcWQZZr3186xxKWO+TmRsSxQPyjYxsOvg8c
         eqcrsawBeYO1lJNU9jEfe65cdl3MfwgwEyamp6W7QCkFFSZedJHBPT26meO8/FMPcn+J
         8GjtsStLFszPEFnnaV/2KrAVZGh15DzsLZ3wUF3W1y6THntTJF9FHG4XkTjRmFnXZKH9
         R+Pg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782477428; x=1783082228;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=Ana3ymIwcmSeF/vMnLZznGGCNHfICJ1NLKaFG+o2Xcw=;
        b=D3iOLXoEqYcUlFSEzRx/LIAWHWe5a5rDWWz+UwMaXFawdjSOVcdXUpgKtoLn4t2ya3
         h1NSEZ8a/iRZCGVtzUHJMmMr7VWEK/zQMoeCpZy2AUEvLlTPT3owpsANyWZw/rdcjhNe
         GkWhKOr8UcgfUIclUhQp41EXmN21a4ozSzCnBf/Xg3+FXW5QCj/vM+EnnxHfXSwBA8Zw
         xGtQYU4SqJTJ/4RgKJ8R5EgcZRPTEiq9ISa7RbJ1olExfT6uTjdy4LUeVLbbIW3KiG9c
         CAbxwTp7Z9fAarRjXNyAY6Swg+cRTQOiZbgDcu5osL16VK2sTVNxXKaLtI5RNxlY4mLX
         +uSg==
X-Gm-Message-State: AOJu0YwZmYTnfy0P3QAen2Y9t72v5h+8W1we54YIE5LJZqeTRfEmT++f
	7+BX4p/jpu+fqyu74MG2TC/1/85o5SUjdk8PcmzUdmL9jk0OHkXXMxrAZ46D43j6cAU=
X-Gm-Gg: AfdE7ckC759MWkwed4QxsKk6BRZ4xIyIghHAaMiuVktLhYGij0gdm4/QRyZaFKogtXp
	m5R0ZqPNf4C7SPSdBtAC0w/NIwIWQzKh0GnN3MowDTcjv9NP05DP4NhZM/maorIUDLVgBDz/hom
	dLpJVQ0yftNMIbVqkvZUGZrjgP/IB+sMZ9xelzMC4MSHkutdk4TzVX5yYXgNKAyySwzT6y3HAjA
	jvI5YxzHbkaovwa8K6OzKn707rgzJ+y/9rwaRcKTfAmCF0diuzAadT1KQECCJnLq4kssNgd4Ha8
	zf7osKG+CJg1tWF7c0AY0iUQhPZlqT0/8F1lcCSCRYoJ/K+15wv87gKrTw/jZI1JLa/BxyHxozn
	xYTqwZTp50RG6iIOK+0toJd+gbrRMZQqylbTtrQ1Dzm/OSm2GVoPsh8WixIjRL8qiUhAYVhgJzy
	zLhRy90sOY25U5eMlD5xLw/NZd8qgRkzYdPE+HFUTvXS1oxHnhkmQvrwBzz0ZFjoeWyy0Bx7Ffm
	eSEqiLl
X-Received: by 2002:a05:600c:4443:b0:490:688b:f9f8 with SMTP id 5b1f17b1804b1-4926fc8cd5fmr10059545e9.27.1782477427721;
        Fri, 26 Jun 2026 05:37:07 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v5 5/5] x86/boot: Exclude not used string
Date: Fri, 26 Jun 2026 13:36:45 +0100
Message-ID: <20260626123645.229375-6-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260626123645.229375-1-frediano.ziglio@citrix.com>
References: <20260626123645.229375-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1782477428-46B3B986-A624AA7A/0/0
X-purgate-type: clean
X-purgate-size: 803

If CONFIG_REQUIRE_NX is not enabled the string is not used.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 xen/arch/x86/boot/head.S | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index ebdc562207..981f262b5e 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -133,7 +133,9 @@ multiboot2_header:
 .Lbad_ldr_nbs: .asciz "ERR: Bootloader shutdown EFI x64 boot services!"
 .Lbad_efi_msg: .asciz "ERR: EFI IA-32 platforms are not supported!"
 .Lbag_alg_msg: .asciz "ERR: Xen must be loaded at a 2Mb boundary!"
+#ifdef CONFIG_REQUIRE_NX
 .Lno_nx_msg:   .asciz "ERR: Not an NX-capable CPU!"
+#endif
 
         .section .init.data.multiboot, "aw", @progbits
         .align 4
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 12:37:21 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 12:37:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346124.1604672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd5nx-0004xH-SX; Fri, 26 Jun 2026 12:37:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346124.1604672; Fri, 26 Jun 2026 12:37:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd5nx-0004xA-PG; Fri, 26 Jun 2026 12:37:09 +0000
Received: by outflank-mailman (input) for mailman id 1346124;
 Fri, 26 Jun 2026 12:37:08 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wd5nw-0004WD-9z
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 12:37:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd5nv-008INd-N6
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 14:37:07 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3e726c-e002-0a2a0a5209dd-0a2a45029de0-16
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 14:37:07 +0200
Received: from [209.85.221.52] (helo=mail-wr1-f52.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3e7273-5a27-0a2a45020019-d155dd34ecbb-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 14:37:07 +0200
Received: by mail-wr1-f52.google.com with SMTP id
 ffacd0b85a97d-463f1165e16so907066f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 05:37:07 -0700 (PDT)
Received: from localhost.localdomain (8.17.6.51.dyn.plus.net. [51.6.17.8])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-49268ff1be9sm76578835e9.8.2026.06.26.05.37.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 05:37:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782477427; x=1783082227; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ELcjCw1r06UTqQr5rPCcaNMw6q60HdsbqsHgkVk0c/k=;
        b=IyatKNDOF4vmV3btcCKbZhH5ESavWm50IlzZfKNH0ZJJux4vuhffDc1zwpl6LGCop5
         GMCza8k+qEaoVJOOBYCQL2vI6uNb4eB7TcBy5tQZq37rIDFAZmuGv2Wd4MC3MSvdgq2v
         yAzP+AI2ZflZbuoTkvW4mkLTYtbhXWGYOwJgEyiFx+w2OMYUix2OUyMDJ5FqN44TN23P
         qLTWPEMuHUojQGGePSuCrEQ05zWd4Ax8O5p85ubnQ2icYXkmWsvhs2J23RzpiI9Zj6Rn
         8JmtprumhKIPzmP4eOnUwcU1bluNoIeeazoPb6b3lLVqMHqY7JtRogzXUpclTVvv9t0V
         DzLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782477427; x=1783082227;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=ELcjCw1r06UTqQr5rPCcaNMw6q60HdsbqsHgkVk0c/k=;
        b=hNRWYfuUili5Bz823f0iSqQsjopBIlTX0zXAVLv9atlW8QSkgMi9GuaIr5LyPmaJJh
         swLPnd/U1iN/lHFYMxDj3z8XwGRRWZC6Hj8juIEbS2DC0gV8db8jRRTgyx2TihFlGk2G
         0iKY3SZFSVK8e6pqnCenNnr951yJyaG5C7+8I/o/Q10axcrJXGY3BsNOHzoc3k9jBiET
         aOBYs54Q50GTuQvvaNjjiM+kMRGj8Jl1IhjcB4Rsv1nYeJTHRuXUD5XhmulsBF0jRSF4
         RfoCUfpLTkk2NjW6SnNPX/toRH+4qMWY520tgtOQI4N1WrmXnBmpztset8Fhk4kMUEFA
         4HKg==
X-Gm-Message-State: AOJu0YySLFlJbRLCl+kINxL9pfz8tnBbIs38GzOkb/mdb3Du4JhBKJGl
	w3XCVGuvO9fc2b6ODB405LdNC64an3KWMc5/2DTEgbWiCxyueQRR92kD4vjYHiLpse0=
X-Gm-Gg: AfdE7cnQRT0wtyM/+pNQCbNEOt1XSdgNRBoRE7raLcozgNkxNHEld6HRuIcMc5Pu5ao
	osr3HrckvCGl/tuvu0miAkGSRyTvDhdTyfQ46cFREkk0N98oqtYUZeqWnDbKc1LZ8Bk/YGfmiyX
	oiNj6kRmw8A1pbb2tUcdHieskLrufKBNzhLVjQel7IwviQa3qAqKFxeDDarAdGL8onyW9PLmOmq
	G3DvZaLMJI7U3Qqt17pctnMimWpDHQFsXhDO71SfzJ5Alvrj+qHLalySRogxs6enJGYEPGApH5D
	a7m5Ro3XRtQgTGChxESR9XeMUnu5tuKBcrBorWX31fCt2YyndNx6JVK0AOHVbJio47vnc0cay25
	Wbvp4CuFmTO5v+aHCcFu0HHBBFS1xlKzB4LJtrxV1vRPUGt107Mz8JFHOA9bH8fMPWkNMwpgZHL
	lG4CHpaU5IO8MyBdDHSWtu6m8QUZGz8p6xa3PiqkjWeI55EyX055SpJPy+oes+oph/59XD2w27n
	wY517wj
X-Received: by 2002:a05:600c:6211:b0:490:c2a3:23cf with SMTP id 5b1f17b1804b1-492668b6dd3mr98566805e9.34.1782477426787;
        Fri, 26 Jun 2026 05:37:06 -0700 (PDT)
From: Frediano Ziglio <freddy77@gmail.com>
X-Google-Original-From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@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>,
	Teddy Astie <teddy.astie@vates.tech>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [PATCH v5 4/5] x86: Split .init section to satisfy UEFI CA memory mitigation
Date: Fri, 26 Jun 2026 13:36:44 +0100
Message-ID: <20260626123645.229375-5-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20260626123645.229375-1-frediano.ziglio@citrix.com>
References: <20260626123645.229375-1-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1782477427-572F47C5-54AFC484/0/0
X-purgate-type: clean
X-purgate-size: 1956

From: Frediano Ziglio <frediano.ziglio@cloud.com>

Currently .init section is both writeable and executable, split data and code
to have 2 sections satisfying W^X rule.

It is a requirement for NX_COMPAT so the PE can be loaded with W^X perms
in the pagetables.

NX_COMPAT is a requirement from shim-review,
https://github.com/rhboot/shim-review#do-you-have-the-nx-bit-set-in-your-shim-if-so-is-your-entire-boot-stack-nx-compatible-and-what-testing-have-you-done-to-ensure-such-compatibility

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Acked-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
--
Change since v1:
- update comment style.

Changes since v3:
- Added Acked-by.

Changes since v4:
- Added Acked-by.
---
 xen/arch/x86/xen.lds.S | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index 88553513a9..70678ab83c 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -195,11 +195,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.multiboot)
        *(.init.text)
@@ -212,12 +208,12 @@ 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) {
+#ifdef EFI
+  /* Align to satisfy UEFI CA memory mitigation. */
+  . = ALIGN(SECTION_ALIGN);
 #endif
+  DECL_SECTION(.init.data) {
        *(.init.bss.stack_aligned)
        *(.init.data.page_aligned)
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 14:14:43 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 14:14:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346212.1604690 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd7K6-0003kg-O6; Fri, 26 Jun 2026 14:14:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346212.1604690; Fri, 26 Jun 2026 14:14: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 1wd7K6-0003kZ-LB; Fri, 26 Jun 2026 14:14:26 +0000
Received: by outflank-mailman (input) for mailman id 1346212;
 Fri, 26 Jun 2026 14:14:26 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wd7K5-0003kT-Qe
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 14:14:26 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd7K5-007N2t-7Q
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 16:14:25 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3e892b-bab6-0a2a0a5309dd-0a2a450be90c-28
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 16:14:25 +0200
Received: from [74.125.224.44] (helo=mail-yx1-f44.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3e8940-ac48-0a2a450b0019-4a7de02ccc69-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 16:14:25 +0200
Received: by mail-yx1-f44.google.com with SMTP id
 956f58d0204a3-66493875766so1285470d50.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 07:14: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1782483263; cv=none;
        d=google.com; s=arc-20260327;
        b=cMhzJk1Jr6q+LK9fVPcM2xEy3sZfd6vkPglwNaVZx04hic3Qc1wmosMvzK1otGywoL
         GiD12nf7Nf6zKPNjX7FaE0vbVGbGMQhkutG1q4RGrlLjQl6ix/W89WVrqmVX6o9k8a0y
         V1nogOSB3OraXIkjmUsgFHfT8HNdaov2ryqiC8tBc0a8encZkpM6HI6hVbQpj7l6IRql
         aankjjOYpjgPfFnC3gAPlNnfcox6sAje9lPVwveZMlSEYAffCCf5S63WkJi9nZFlGh+d
         zuqMR5wqD4tdGidNhzOwmEKRAp1f8i4HJIqMn1Jbeo0wlTIdqTENM520nh8kgSismuQr
         PzbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature;
        bh=oM/zylGJKaVcnbd5CR3L2Xo39J/1wOlY7y+FkLODX6Y=;
        fh=r/bSQHOXqKreMRuH+rT/9CKiQXFwCXJK2kdrgt7oTag=;
        b=Q5FWjDSkYR9hWAzpXrEblT55ZTulZLWgoO7z7mR5kGdjvATBZuo9pHiVlquG6lxYPX
         4c32wd61M9wAB0ZgD1SU7KszPeXW1Aeg3kMMz3tYrZqDNpwoCM3MOM4QSzunmT9CPtyH
         U+l1tR3JDl5fXNX+DnT5RSLEAHbLG1qPy+DzcQ0JuzkGyNAtGB+3sII+atv/0dVkHfBC
         ge88VE5+vAisgL8oJW4k1nKG6WKkMIbwBfe9oUclLaSFB7bHp39R23gA7a3BHgJswhUN
         b/EmYdne7HeSX8WN6EEnfEYNmLG0MP6W5S2k9ATFDmA29kgLbLa8j3vBWOCvWazxgz9v
         5C0A==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782483263; x=1783088063; 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=oM/zylGJKaVcnbd5CR3L2Xo39J/1wOlY7y+FkLODX6Y=;
        b=Jzyd+v5fyIZG2Czmv3/2v1SoyB66TS7SHEDJsBxvoGB/xDrWFkN9ftfiL1nAKCBvAX
         42IbEjvejjtuXl03SF3xbxjvAuk1+TSZBZY/aSbJrlNvgGkhA7Rcmggh5fUgWnGGriCY
         bAYc3KAfkqiMYVOJpwoBV89u44tnFa3eXZS07Mmk0pIziYhtld45uaNiIWKqkmIkitY6
         DRmdpqj7OuwjeaHo/LY0oxFPAbFPRUE7El+RB8h+GPA0U7eY30YzkRdsAZNxngn8MVlf
         MlKippJ15YXxEBuh4YCPccXq4csBxxCgR9BLejY48X+rI9wK9oCvDon11Wyo3aSpI1oa
         TB/w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782483263; x=1783088063;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=oM/zylGJKaVcnbd5CR3L2Xo39J/1wOlY7y+FkLODX6Y=;
        b=DfGDBcgBQvDsVQzSeO3IFgqSRr/J711nuY4A7P+gWU6WGHLH2UKwSCiLNixtJ5JUWu
         OyMj/v+yDQOdWdVYC5bK7kX83ZT2+ek5Lfu+oAKjpD6l45d/KulSJyB/geEQdGLKObru
         kuj+dZTqz4AHR8KooD26T5Ulef1wowjATbTu5qCwXZp86TF18AUyn0fekmUqEpGi3kyH
         lB5PBeC0LMbMmqIc0Q+XVjLkUusfJmVZonDdyMGZzqD+0iZetM0JKudq6Db4Q/Gv5fvt
         7vAl9b7cXECbSoL3lU/03cjxoUpozd/AyW5UlGNJkxZMkzpRa6bJl24gPy1klu0nWG5l
         s9+g==
X-Forwarded-Encrypted: i=1; AHgh+RpyHkUDh6L86K6DtoxTSBph/GPacfnkmXfLVB4Aad3yMoyFNnYb076vFAyzTDsixpt4avpFYl12n30=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzepsAvhAyxrJAJOcNMIbZQ4XbbL8vwYVtZrmzm2jqJHLbNbTTL
	bwuSOz8euXvqSfs3VH9H90h52RK0nGHk/+CrTeUgepGoah65P4Kgq7OjLXZY5AAl03GqDBAdAVb
	cCGWOHbKjmjIhUpwe0Z3IENtwIXEe5ss=
X-Gm-Gg: AfdE7cn1Clk6rCwd5AaW+NFUg1+z792KnYpFTKCSCuNX9Zq6aFVt1Na1+QOTAnJTYHo
	Uv0Tsn6/aYCGzoeWGX56cIDqYyD2nCbCGtS2PdgYj6vGKvvoHs3WccK3GE5ztP3x8XJZIDZjOed
	uTJx4uqb/lRv7YAf0zKOD+3jztLf5g6IdFRwAiCuT8JRtkObWHthpYNEHlnpZ9336BqhnwYaEkO
	ES3wOxD8sMp0xvLn04HITEpha8WUcNgYTWo6s//2t8c+n+ulIw8SN5RgJD5lvo+aX++FWHw88e2
	1coK5/980tE9a1UG/8X0ybU=
X-Received: by 2002:a05:690e:1308:b0:660:9691:73cf with SMTP id
 956f58d0204a3-6648835b22bmr5812327d50.32.1782483263317; Fri, 26 Jun 2026
 07:14:23 -0700 (PDT)
MIME-Version: 1.0
References: <20260619130501.272832-1-frediano.ziglio@citrix.com>
 <20260619130501.272832-13-frediano.ziglio@citrix.com> <c5f00fa4-4d9e-4227-87a0-6e657fd523e9@suse.com>
 <CAHt6W4c0FDaMZK-4-7CReG_PdV+L=HNxVGNjV5vUjDkKq3EMBA@mail.gmail.com>
 <2889dc4e-33ec-4d8f-b01d-026506a39cbf@suse.com> <CAHt6W4cghz1Rh=MXqmx6ZHA0iOz9xTBDNhFWaqtZ=npd4Hb=GQ@mail.gmail.com>
 <07b3bbb6-ef62-419c-b708-1b9ae2774462@suse.com>
In-Reply-To: <07b3bbb6-ef62-419c-b708-1b9ae2774462@suse.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Fri, 26 Jun 2026 15:14:12 +0100
X-Gm-Features: AVVi8Cdp2M9mJ4m3S00bf1wG6u2Bhs0ff5gzZUPKqtB27ih4hCa0MbXXa_YFrvs
Message-ID: <CAHt6W4ckkQOKn9jvNpMG5meFeagY8uFZJsC6CEUsu9tfc17cHQ@mail.gmail.com>
Subject: Re: [PATCH v6 12/16] xen: implement new foreign copy hypercall
To: Jan Beulich <jbeulich@suse.com>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Teddy Astie <teddy.astie@vates.tech>, Anthony PERARD <anthony.perard@vates.tech>, 
	Juergen Gross <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
X-purgate-ID: tlsNG-42698a/1782483265-38D2F220-153F9906/0/0
X-purgate-type: clean
X-purgate-size: 14453

On Wed, 24 Jun 2026 at 07:44, Jan Beulich <jbeulich@suse.com> wrote:
>
> On 23.06.2026 23:18, Frediano Ziglio wrote:
> > On Tue, 23 Jun 2026 at 14:21, Jan Beulich <jbeulich@suse.com> wrote:
> >> On 23.06.2026 12:55, Frediano Ziglio wrote:
> >>> On Mon, 22 Jun 2026 at 11:34, Jan Beulich <jbeulich@suse.com> wrote:
> >>>> On 19.06.2026 15:04, Frediano Ziglio wrote:
> >>>>> --- a/xen/common/memory.c
> >>>>> +++ b/xen/common/memory.c
> >>>>> @@ -1545,6 +1545,139 @@ static int acquire_resource(
> >>>>>      return rc;
> >>>>>  }
> >>>>>
> >>>>> +/*
> >>>>> + * The "noinline" qualifier avoids the compiler to create a large function
> >>>>> + * consuming quite a lot of stack.
> >>>>> + */
> >>>>> +static int noinline mem_foreigncopy(
> >>>>> +    XEN_GUEST_HANDLE_PARAM(xen_foreigncopy_t) arg)
> >>>>> +{
> >>>>> +    struct domain *d, *const currd = current->domain;
> >>>>> +    xen_foreigncopy_t copy;
> >>>>> +    int rc, direction;
> >>>>> +
> >>>>> +    if ( copy_from_guest(&copy, arg, 1) )
> >>>>> +        return -EFAULT;
> >>>>> +
> >>>>> +    if ( copy.flags & ~XENMEM_foreigncopy_direction )
> >>>>> +        return -EINVAL;
> >>>>> +
> >>>>> +    direction = copy.flags & XENMEM_foreigncopy_direction;
> >>>>> +
> >>>>> +    rc = rcu_lock_remote_domain_by_id(copy.domid, &d);
> >>>>
> >>>> Iirc I did ask before why this isn't ..._by_any_id().
> >>>
> >>> I probably was confused by the question about MMUEXT and the 2 domains.
> >>> There are different similar hypercalls (like the mentioned MMUEXT but
> >>> also hypercalls to map foreign domain memory) that have this check
> >>> (not the same domain). Any domain has, obviously, access to its own
> >>> memory, so it should not have to use hypercall to access its own
> >>> memory. If it does it looks like a mistake causing performance issues
> >>> or an attempt to circumvent security; in either case you would like to
> >>> avoid it.
> >>
> >> No. Self-grants are possible as well, for example, and for a good reason.
> >> Allowing normally-remote operations on oneself helps with testing, for
> >> example. It may also help avoid needing to special-case "self" in code
> >> which needs to cover both cases.
> >
> > But this is not a grant, it's a copy.
>
> Sure, but the underlying principle is what matters. Plus you don't prevent
> self-copy by using ..._by_id(), you only preclude the use of DOMID_SELF.
>

Sure about this? The current implementation is

int rcu_lock_remote_domain_by_id(domid_t dom, struct domain **d)
{
    if ( (*d = rcu_lock_domain_by_id(dom)) == NULL )
        return -ESRCH;

    if ( *d == current->domain )
    {
        rcu_unlock_domain(*d);
        return -EPERM;
    }

    return 0;
}

rcu_lock_domain_by_id returns NULL if the domain is DOMID_SELF so it
would be a -ESRCH, if it's the current domain it would be excluded by
*d == current->domain returning -EPERM.

> >>>>> +    if ( rc )
> >>>>> +        return rc;
> >>>>> +
> >>>>> +    if ( copy.nr_frames == 0 )
> >>>>> +    {
> >>>>> +        rcu_unlock_domain(d);
> >>>>> +        return 0;
> >>>>> +    }
> >>>>
> >>>> Any reason this cannot also be "goto out"? The more that now that you have
> >>>> moved this past the domid validity check, imo it should further move to ...
> >>>
> >>> The only reason was style and to avoid a memory copy, but it's not a
> >>> hot case so I'll change to "goto out" (no strong about it).
> >>>
> >>>>> +    /*
> >>>>> +     * Check we are allowed to map and access these foreign pages.
> >>>>> +     */
> >>>>> +    rc = xsm_map_gmfn_foreign(XSM_TARGET, currd, d);
> >>>>> +    if ( rc )
> >>>>> +        goto out;
> >>>>
> >>>> ... below here. Perhaps simply as
> >>>>
> >>>>     if ( rc || !copy.nr_frames )
> >>>>         goto out;
> >>>>
> >>>
> >>> I think this would be confusing with the above "Check we are allowed
> >>> to map and access these foreign pages" comment.
> >>> Are you okay with just the change above to "goto out" ?
> >>
> >> I do want the order adjusted as indicated. I won't insist on (but I would
> >> prefer) folding both if()-s.
> >>
> >
> > What about
> >
> >     /*
> >      * Check we are allowed to map and access these foreign pages.
> >      */
> >     rc = xsm_map_gmfn_foreign(XSM_TARGET, currd, d);
> >     if ( rc )
> >         goto out;
> >
> >     while ( copy.nr_frames )
> >     {
> >         /*
> >          * Arbitrary size.  Not too much stack space, and a reasonable stride
> >          * for continuation checks.
> >          */
>
> That's fine.
>

Changed

> >>>>> +    do {
> >>>>> +        /*
> >>>>> +         * Arbitrary size.  Not too much stack space, and a reasonable stride
> >>>>> +         * for continuation checks.
> >>>>> +         */
> >>>>> +        xen_pfn_t gfn_list[32];
> >>>>> +        unsigned int todo = MIN(ARRAY_SIZE(gfn_list), copy.nr_frames);
> >>>>> +
> >>>>> +        rc = -EFAULT;
> >>>>> +        if ( copy_from_guest(gfn_list, copy.frame_list, todo) )
> >>>>> +            goto out;
> >>>>> +
> >>>>> +        for ( unsigned int i = 0; i < todo; i++ )
> >>>>> +        {
> >>>>> +            struct page_info *foreign_page;
> >>>>> +            mfn_t foreign_mfn;
> >>>>> +            void *foreign;
> >>>>> +            p2m_type_t p2mt;
> >>>>> +            const unsigned long valid_mask =
> >>>>> +#ifdef CONFIG_X86
> >>>>> +                p2m_to_mask(p2m_ram_rw) | p2m_to_mask(p2m_ram_logdirty);
> >>>>> +#else
> >>>>> +                p2m_to_mask(p2m_ram_rw);
> >>>>> +#endif
> >>>>
> >>>> The set of permitted types didn't change, yet a justification for the resulting
> >>>> limitation also didn't appear.
> >>>>
> >>>
> >>> Yes, that's missing, indeed.
> >>> Should the set of types be different for reading and writing? For
> >>> instance do not allow writing to read-only memory?
> >>
> >> Of course.
> >>
> >>> Given that it looks like different architectures have different
> >>> meanings and definitions for these constants, should it not be better
> >>> to define some new constants for this specific usage? For instance
> >>> P2M_READ_TYPES and P2M_WRITE_TYPES?
> >>
> >> Perhaps, yes. The suggested names look overly generic to me, though.
> >
> > I suppose P2M_READABLE_TYPES and P2M_WRITABLE_TYPES are more correct
> > but still too generic.
> > P2M_EXPORTABLE_TYPES and P2M_IMPORTABLE_TYPES ?
>
> First: Do you foresee uses of those constants anywhere else? If not (I
> don't), tie the names to this particular operation. That'll make them
> entirely non-generic.
>
> >>>>> @@ -2012,6 +2145,18 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
> >>>>>              start_extent);
> >>>>>          break;
> >>>>>
> >>>>> +    case XENMEM_foreigncopy:
> >>>>> +        /*
> >>>>> +         * Instead of using "start_extent" we update the structure back,
> >>>>> +         * we update it back in anyway to tell caller were the copy
> >>>>> +         * stopped.
> >>>>> +         */
> >>>>> +        if ( unlikely(start_extent) )
> >>>>> +            return -EINVAL;
> >>>>
> >>>> As before - please be precise with comments like this. We update it back also
> >>>> when encoding a continuation. Perhaps instead "..., to indicate the point of
> >>>> failure to the caller as well as to encode continuations without being
> >>>> constrained by MEMOP_EXTENT_SHIFT".
> >>>>
> >>>
> >>> What about (trying to include your suggestion, to be fixed for line length):
> >>>
> >>>         /*
> >>>          * Instead of using "start_extent" for the continuation, we
> >>> update the structure back,
> >>>          * we update the xen_foreigncopy structure back, so we are not
> >>> constrained
> >>>          * by MEMOP_EXTENT_SHIFT.
> >>>          * We copy it back also to tell the caller where the copy stopped.
> >>>          */
> >>
> >> One of the things I take issue with (because it's hard to read that way,
> >> at least for me) is the repeated use of "update ... back", effectively
> >> saying the same things twice. The last sentence also wants disambiguating
> >> towards the "stopped" possibly being a non-error situation as well.
> >>
> >
> > Changed to
> >
> >         /*
> >          * Instead of using "start_extent" for the continuation, we update
> >          * the xen_foreigncopy structure back, so we are not constrained by
> >          * MEMOP_EXTENT_SHIFT.
> >          * We copy it back also to tell the caller where the copy stopped
> >          * (either for error or because all frames were copied).
> >          */
>
> Thanks.
>
> >>>>> +    XEN_GUEST_HANDLE(uint8) buffer;
> >>>>> +};
> >>>>
> >>>> What was (again) left unaddressed is the question towards using GFNs on both
> >>>> sides of the copy. This would eliminate the need for the flags field, taken
> >>>> by a 2nd domid_t one then.
> >>>>
> >>>
> >>> This was addressed in
> >>> https://lists.xenproject.org/archives/html/xen-devel/2026-06/msg00567.html
> >>
> >> Well, yes, but not in a satisfactory way. Back channels tell me that you
> >> actually got the same feedback already on internal review. Which makes it
> >> all the more puzzling that you insist on doing it differently. Multiple
> >> maintainers asking for the same thing may be an indication of something.
> >
> > Not needing to have backchannel feedback, I already wrote that a
> > similar approach was tried and made the code more complicated.
>
> Even if indeed so: Yet at the same time more flexible.
>
> > Both maintainers didn't comment on my replies so I assume they were
> > fine with it.
> > And you are failing to provide positive feedback.
> > I asked (that one internally) for examples of guest buffers provided
> > as frame numbers but I got no answer (or better the answer was more
> > "currently there are not").
> > Also note that the location of xen_foreigncopy_t structure is also
> > provided using a guest pointer.
> > I remember there were some discussions about ABI changes (2/3 years
> > ago) to address this and other issues but I cannot see much progress.
>
> And it's that (very slowly progressing effort) which made me ask. The
> fewer virtual addresses we bake into new sub-ops, the better for that
> effort. And no, that doesn't go as far as completely eliminating
> handles (presently representing virtual addresses) - that needs to be
> part of the new ABI.
>

In other words, you want me to code something temporary that you
already know that needs to be changed.

> To preempt the argument towards "fewer virtual addresses" not really
> being true when changing from handle-to-uint8 to handle-to-pfn: The
> former won't be able to express a buffer mapped contiguously in VA
> space, but discontiguous in PA space. The latter will, simply be
> avoiding buffer VAs in the first place (the array of frame numbers
> can e.g. be placed in a dedicated hypercall argument area known to be
> physically contiguous).
>

If it's mapped continuously in VA and you pass the VA I don't
understand the problem. From the way I see it's more the latter that's
the problem.

> > That's why I say this is out of scope.
>
> There's nothing scope related here. We're discussing how to shape the
> new sub-op interface.
>
> >>> and in minor way by
> >>> https://lists.xenproject.org/archives/html/xen-devel/2026-06/msg00847.html.
> >>> It was considered but more complicated and worse from a performance perspective.
> >>
> >> Okay, performance-wise worse would of course be relevant. But that would
> >> need supporting by numbers (for both PV and PVH Dom0, as the latter
> >> incurs extra overhead for virtual-address-based hypercall buffer operands).
> >
> > I'm more concerned about the PV case than PVH to be honest.
>
> For your (immediate) internal purposes that may be fine, but PVH Dom0
> more likely being the future, for upstream both need considering
> equally.
>

>From an internal discussion:

--------------------
About HVM and VAs/PFNs, I was thinking. We pass a single PFN for a
page containing either
- a single list of PFNs fitting into the page (plus number of entries)
for small hypercalls (most of them)
- a page containing a list of PFNs pointing to arrays of PFNs for
large hypercalls (like kexec load and few others)
Now the GUEST_HANDLEs are treated differently, instead of VAs they
contain offset into array above plus page offset.

Okay, let's do an example. I want to call a DOMCTL which have a handle
to a small array, so I need to pass the domctl structure and the
array, I suppose I need 2 PFNs (unless domct or the array span
multiple pages) so kernel would need to build and pass an array of 2
PFNs, let's say 0xabcabc01 and 0xabcabc02. I build a page with
1- 2 (number of PFNs)
2- 0xabcabc01
3- 0xabcabc02
I pass the PFN of the above page (how it's a detail, probably an
additional register), number of hypercall and... a GUEST_HANDLE. Here
the guest handle would be something like 0x0000ppp where ppp is the
page offset inside 0xabcabc01 page. Why 0xabcabc01 ? Because the upper
part of the guest handle is 0 (so the first entry in the PFNs array
above). Inside the domctl structure the guest handle to the array will
be something like 0x0001ppp where the 0x0001 means 0xabcabc02 while
ppp here is the page offset into 0xabcabc02.
What if the array is bigger than a single page? Let's say it spans
into 3 pages, you would have something like
1- 4 (number of PFNs)
2- 0xabcabc01
3- 0xabcabc02
4- 0xabcabc03
5- 0xabcabc04
(okay, in all example pages are contiguous but not important)
The guest handle for the array would still be 0x0001ppp but the code
will continue on array entry 2 (0xabcabc03) and 3 (0xabcabc04)
--------------------
The distinction for the above could be a flag added to the hypercall
number or automatic on type of VM (PV/HVM) but for compatibility I
would go for the first. But these are details.
This would work without much API changes and minor hypervisor changes
(mainly copy_from_guest and similar macros).

Okay, the above is a bit OT here but the point is that the change you
are asking me won't help with this in the future, basically you are
asking me an implementation based on an implementation that is not
currently even on paper.

> Jan

Frediano


From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:07:38 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:07:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346243.1604700 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd89O-0002Ud-KF; Fri, 26 Jun 2026 15:07:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346243.1604700; Fri, 26 Jun 2026 15:07: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 1wd89O-0002UW-H8; Fri, 26 Jun 2026 15:07:26 +0000
Received: by outflank-mailman (input) for mailman id 1346243;
 Fri, 26 Jun 2026 15:07:25 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <freddy77@gmail.com>) id 1wd89N-0002UQ-9V
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:07:25 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd89M-00Gbcd-Ca
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:07:24 +0200
Received: from [10.42.69.6] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3e959f-e002-0a2a0a5209dd-0a2a4506df80-22
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:07:24 +0200
Received: from [74.125.224.47] (helo=mail-yx1-f47.google.com)
 by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <freddy77@gmail.com>)
 id 6a3e95ab-08de-0a2a45060019-4a7de02fd4f6-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:07:24 +0200
Received: by mail-yx1-f47.google.com with SMTP id
 956f58d0204a3-662fa4a4470so1262079d50.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:07: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
ARC-Seal: i=1; a=rsa-sha256; t=1782486443; cv=none;
        d=google.com; s=arc-20260327;
        b=c3MLzg6ffOYX+Fz/oZ7Ls+QZDho6gkTonRbR591GVkj4BKUTMqN6w7X9k+Mi52uxaC
         QOIpuJlJ726b29cDi4GMitjC/pOjOszJ7JrgY7WWNCLqtp04AdzLuPmgT2UT2fJiNZcb
         VyDMHADPBv0KIEPTlH2nnrJw6YhDPHGSQ2KyOLz+YeoWesTcADjp49YL6ongRoXFNE0s
         izAU45S8zDEhz+hNljvRiJbcplIuGGMCT+m30PYUAKtQNvsAAjXOI4RtQr9xA79g9zXw
         Si1m0vdj+5+IbI0TAm1og+PpR7XUaLzpWpwoM0huIL4LQyThlL2xJw2Q8zESH34JJUxU
         TQkQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:dkim-signature;
        bh=Kk8iyG32hvChxbpiDFLzLYzsZZHXYFo2LAI2DSu4lnw=;
        fh=QI3tLj5CQG0QL/Oi+zkPuYY3Kh/8qf0tAE5qJavUS+U=;
        b=KjqZvU89Chkemm/E4F9LZoOCZzQSqyahZJQYaB7RRD2XBJFacQVErKZRgwW12DtYAy
         P2n5u02o8AghMG1VX1nUnS+YGOf6gA7qDix/Sh9mXl5ekMW4vS2qA32VqeHJY+9hMvCo
         /0MlttITW7a0Ni6J+sU0SMV/SNr4kRc4GFAaZleyRJwHNRCJtv6rNzKQX3e+yfld0DoY
         fgghW9uZw3Kv8z2syZkplm/cqfwwwqXDol1OxQhLvMHkNnMYsZDRBCQ+/DBGYCXndwoh
         OWLsN3vlHw6cCCqIbPY/Vz1Jf6G3nm6ZXuZBGPN9XwA9moNLImE7CpjaSRPCLQb2SitU
         oUIQ==;
        darn=lists.xenproject.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782486443; x=1783091243; 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=Kk8iyG32hvChxbpiDFLzLYzsZZHXYFo2LAI2DSu4lnw=;
        b=ApFINtRRJzWsIOCQGLbn7vQaFzf7b11Ib0QCkwwj4IPC500M2M46PGREFk0KowsFar
         Cuu5CgC8V+oQ56TQDYi/0N3T7zR8RQd9xc16YpJXCYzC+U5RZDt0ut7dlSoXQRaNiM5C
         YwyN2wa0DAJcqmrEOLzzLcvwPSZJLS7tqwtust4F1ekPDqU6+DBia7pV8p7l033j8iWA
         +8868DVjZQ2z8hwpTmBmgaTb8geyC5plrpk8doWzEOA+MK9dY7j/7atfrBZ/EfeOJDhq
         KPNdIDNHpUwMKfVFtu7MLkA+GFYEv3QLfVij0uVKRS5Acs6nBsKi46F42geOFCgfWZTN
         5JEg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782486443; x=1783091243;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=Kk8iyG32hvChxbpiDFLzLYzsZZHXYFo2LAI2DSu4lnw=;
        b=JCxrDf2Vs10wYs35vZwCTit2HiJlIZmjkwrsPQJK0F9Kfu7i1JNEKPFAueHBy7uAnb
         2ntLzQXcdxa40qhBjJ7nPgbMs4ruCgfH5B+r0VK1SuHoAZ38SzF3OBjqaf+F0gXdcrHT
         LmsnwrrFXiV3BvpuYqhCj0SPLuo5MeaAP/vM4nMt3t48sbZpHIAg2DePBT/Cw2QSGP01
         GMC9UQRC6w/zii1GWVMh2pwDN9n4ZJHVB3xR50a8SNKiQq1IEvZa4p79cHhaIix1a9zF
         oGHdA3K7hLH1sc2AKTksTh+pmvY2U8PRtxHIoKXGK5nLH8c4xUQKEFv4deTcIV2sojRg
         O2TQ==
X-Forwarded-Encrypted: i=1; AHgh+RpMXL5YqbcAVeF0HItUQjZyLdfNFTzMs+ws95Nd5/DMFfL3dhv4hQ9Y3yJDAp2or1grR/xdF6ZNFK8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx6Q9pmBc5So8+C6uwqlnzfMidi9eUsSwOxBsGetjoxcaFf/U95
	P7d6W0SxBIL6QMCjjW56fWMNbVKnO740bo9Kd77+Mh0yQcCKbQgbx2qBIipKzYZjJU+p49e2c51
	rVE2m+Nr1ljyrFOc2R/Pec2/1ApsO/cY=
X-Gm-Gg: AfdE7cncxrkzx7MN4+DmwbTXnInAS66TSs4j725pj2L8+bnTDcXJ6Z3HulgP+3nQUNJ
	u7kyXwZQCBScd9lNK2NI2aEiP9AJmBmsW6peqQHaMmZ1qknoBLsHD8gh24sw4Ggf52zfxOIPS6N
	64tsX+BSI0My5ukWd/WhAl7gi6ylEhJSkk7mg3P6RYWzTAFvUC5HtAS8uJqV7x+zXro7AnKle/W
	WnP0tbU5gr3LQ5vOTBkDiLTuhldmn9A2yHfrpB2iwHPEjy0j/pNZE3hdowCR55+y0GBoA709vw/
	GBo6IcFuqjMDwf+k/MfhlVt70iknZozTtA==
X-Received: by 2002:a05:690e:bce:b0:664:9306:fc52 with SMTP id
 956f58d0204a3-66493070da9mr4553246d50.4.1782486442655; Fri, 26 Jun 2026
 08:07:22 -0700 (PDT)
MIME-Version: 1.0
References: <20260430095521.8399-1-frediano.ziglio@cloud.com> <afMzlcrP7phSirsw@macbook.local>
In-Reply-To: <afMzlcrP7phSirsw@macbook.local>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Fri, 26 Jun 2026 16:07:11 +0100
X-Gm-Features: AVVi8CccLeG3Jn8WdzOQq6NE_dGwtUWvus-WtAhOUVTsCF80eyqKuFuxYnCSIhI
Message-ID: <CAHt6W4cwh3tx4nZNmqe9TS8TFsQDsL4pYBEBz3qqX032Jmqf5g@mail.gmail.com>
Subject: Re: [PATCH] tools: Use posix_memalign instead of valloc for NetBSD
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: bouyer@antioche.eu.org, xen-devel@lists.xenproject.org, 
	Frediano Ziglio <frediano.ziglio@cloud.com>, Anthony PERARD <anthony.perard@vates.tech>, 
	Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-purgate-ID: tlsNG-16d1c6/1782486444-4213F68D-6EF1956C/0/0
X-purgate-type: clean
X-purgate-size: 2015

On Thu, 30 Apr 2026 at 11:48, Roger Pau Monn=C3=A9 <roger.pau@citrix.com> w=
rote:
>
> Adding Manuel that maintains the NetBSD xen-tools package.
>
> On Thu, Apr 30, 2026 at 10:55:21AM +0100, Frediano Ziglio wrote:
> > More similar to other implementation.
> > posix_memalign was adde in NetBSD 8.0, released on July 17, 2018
> > and went out of support on May 4, 2024.
> >
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> > ---
> >  tools/include/xenctrl.h     | 5 +++++
> >  tools/libs/ctrl/xc_netbsd.c | 9 ++++++++-
> >  2 files changed, 13 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
> > index d5dbf69c89..f4316089e7 100644
> > --- a/tools/include/xenctrl.h
> > +++ b/tools/include/xenctrl.h
> > @@ -1390,6 +1390,11 @@ int xc_lockprof_query(xc_interface *xch,
> >                        uint64_t *time,
> >                        xc_hypercall_buffer_t *data);
> >
> > +/**
> > + * Allocate memory with a given alignment.
> > + * The alignment must be a power of 2 and at least sizeof(void*).
> > + * It returns NULL on error, errno is not set.
> > + */
> >  void *xc_memalign(xc_interface *xch, size_t alignment, size_t size);
> >
> >  /**
> > diff --git a/tools/libs/ctrl/xc_netbsd.c b/tools/libs/ctrl/xc_netbsd.c
> > index 1318d4d906..d27154dce9 100644
> > --- a/tools/libs/ctrl/xc_netbsd.c
> > +++ b/tools/libs/ctrl/xc_netbsd.c
> > @@ -60,7 +60,14 @@ void discard_file_cache(xc_interface *xch, int fd, i=
nt flush)
> >
> >  void *xc_memalign(xc_interface *xch, size_t alignment, size_t size)
> >  {
> > -    return valloc(size);
> > +    int ret;
> > +    void *ptr;
> > +
> > +    ret =3D posix_memalign(&ptr, alignment, size);
> > +    if (ret !=3D 0 || !ptr)
> > +        return NULL;
> > +
> > +    return ptr;
> >  }
> >
> >  int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf)
> > --
> > 2.43.0
> >

I saw Manuel reply almost 2 months ago.
Still pending.

Frediano


From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346276.1604769 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8lb-0001U3-Do; Fri, 26 Jun 2026 15:46:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346276.1604769; Fri, 26 Jun 2026 15:46:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8lb-0001RD-6g; Fri, 26 Jun 2026 15:46:55 +0000
Received: by outflank-mailman (input) for mailman id 1346276;
 Fri, 26 Jun 2026 15:46:54 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8la-0001Eq-5t
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:46:54 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8lZ-008hQp-Iu
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:46:53 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ed7-2eae-0a2a0a5409dd-0a2a4509c3ce-18
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:53 +0200
Received: from [209.85.167.42] (helo=mail-lf1-f42.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9eed-97e6-0a2a45090019-d155a72ab4fb-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:53 +0200
Received: by mail-lf1-f42.google.com with SMTP id
 2adb3069b0e04-5aea96d09ddso196152e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:46:53 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.46.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488813; x=1783093613; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lAgm/yYwskXxJGXI22S3gUIllEquJX3wAHQbVFNRFl0=;
        b=iJlMpiPFcGmq6JyDYPsln8dabcQ0fnKmxN7nJJXTpo69voqr8THS8eoar5X2Uj/MPX
         OOJqloTSImmu+TOabuXPoH17NSwMDT0R+43OjqKdG7/wzNEFBLSTwf3fHAa4GR/cKeSb
         RF5LV+xfCopNBuRr9Z/iqdCbYjM55G/HrfkuIe6ehqrpYudvYtcCNmghVtVt+c18DxE2
         UwlRva19KNAcgT0v+F9XVC1DgLJl9y0VEs68OPVmkAsHYXZkQkr9qTzwB/5Vt7wXlt22
         3gtZACt90PSX4CoPvyN1tp8rO1tndxQvyiw4frc4GgiHoVq9wmpSUFFQB1go62UMqQnj
         obEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488813; x=1783093613;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=lAgm/yYwskXxJGXI22S3gUIllEquJX3wAHQbVFNRFl0=;
        b=qntZmobKGh7HH+4/tbWvhimmSyKkVlBD8pnt/lxTZjbxwvBfqA1T7beHLqLzV+dPay
         Vpub42Bt5xGOy0sKuSkE0fcEDtQtFPJrqoi8d14YTm4vnjCS6WcD39//kRTMStlM9ARf
         k/ZjQ1vKv8+jpjC84ni77w8TCWX+AP1DnpyqSM9ETxn2Aqp9Sodlc74uE3BosY6jCeBA
         t2XyYLtcNz8FbqZNv6CxE8F7JKl0qCZ8ZRXVl7BQjzVRq0Ymm1R7Qq9Y6GuJhvpoWrAq
         XONpnFrs6vUUTvQnNnAtsCKuC4QLlLAszlENpUKtVKZzez+ZSNCcNfHy2uoYAZ0AVyrj
         Xjeg==
X-Gm-Message-State: AOJu0Yw+fNO1gRAmYSuC7b96o3KwcKbCpTsmATLm1edesmqdkp/SIMZw
	fS48CfGbrxpGhZK1nihL2WdhnbYZZfhggpQePWlzEG3GgLJdh9CWqy7u/gXUxQ==
X-Gm-Gg: AfdE7cn1H2C2Oh5rvOK7KO9hsw4RMYHYPZjDkWNfftz6ZPr1LzxWn+ENkIfPrhamP0t
	x1nYMa0k1nBflAF3sX2yzNhU6+21l6j2EpNGbzyKWTZxAHzZWKmXXyupJUCHHAEpaxLJFEl9asD
	HMhlMcV5yeIBGSnC/y8g8KTAxhDcUomhn1iEdhFugnV3yTqu5J+VykNrdDr8i3O2w+Nc8bvpNIX
	QgiYJ6d96hknUZneZJABmvXy6U3GYpqZV/RNRIwYxrsmFn6P5Wk7dZVmLETZJafCIqk+b5pA0Xe
	lzPmC2ops++Dxiq2mCh41nG5KX376Xf6GB8eA89hl/0rgAb9SwmFpWbQhlGEuajQpUFUbouvPx9
	DFBPrYkpEg0asD4NJ3fSamoKAHU+d1IUfhI3/nQYB9k7hnWDDyV1qlA0JB9han5yeequNOo2dFd
	tl72f/uz7+BD2kOOJeJtTj19thPfC8TLC+KpLvI5BYSYAyZsRISZKRTtcrxZX1t6nq2lni
X-Received: by 2002:a05:6512:130e:b0:5ae:9d13:e610 with SMTP id 2adb3069b0e04-5aea1f6958dmr1970457e87.37.1782488812647;
        Fri, 26 Jun 2026 08:46:52 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 v4 08/25] xen/riscv: introduce guest riscv,isa string
Date: Fri, 26 Jun 2026 17:46:17 +0200
Message-ID: <b2678a5697112d3ac16a98b86433da22374324b2.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1782488813-54785986-483B4FAF/10/73395122804
X-purgate-type: spam
X-purgate-size: 8878

Introduce generation of the riscv,isa string passed to the guest via the
Device Tree riscv,isa property.

Introduce the per-domain isa string and guest isa bitmap, populated
during domain creation by calling init_guest_isa().

Introduce guest_unsupp to filter out ISA extensions that should not be
exposed to guests:

- f/d/q/v: FPU and vector context save/restore are not yet implemented
  for guests.
- Z*inx are not exposed either: they aren't in riscv_isa_ext[], so they can
  never be set in riscv_isa and thus never reach a guest, and no current
  hardware/guest-OS advertises or expects them. Supporting them would be
  cheaper than F/D/Q (FP values stay in integer registers Xen already
  context-switches), but is left as future work.
- h: Nested virtualisation is not supported.
- sstc: Xen owns the supervisor timer; guests must use SBI.
- svade: Xen manages hardware A/D bit updates in stage-2 page tables.
- svpbmt: Page-based memory types are not yet wired up in stage-2 code.

Drop __initconst for riscv_isa_ext() as it can be used after init stage
by init_guest_isa().

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v4:
 - Add an explicit overflow guard in build_guest_isa_str(): return
   -ENOSPC when buf is non-NULL and total >= size, to avoid the
   size - total underflow being passed to snprintf().
 - Expand the commit message to explain why Zfinx/Zdinx/Zqinx are not
   added to guest_unsupp (not in riscv_isa_ext[], so never set in
   riscv_isa nor exposed to a guest; left as future work)
---
Changes in v3:
 - s/set_bit/__set_bit in init_guest_unsupp() as atomicity isn't needed at
   init time.
 - Drop RISCV_GUEST_ISA_STR_MAX; allocate isa_str dynamically with
   xvmalloc_array().
 - Drop "guest" prefix from d->arch.guest_isa and d->arch.guest_isa_str.
 - Introduce build_guest_isa_str() using snprintf(NULL, 0, ...) to determine
   the needed buffer size; init_guest_isa() calls it once for sizing and once
   to fill, keeping both in a single function so they can't go out of sync.
 - Scope ret inside the loop; initialize total directly from the prefix
   snprintf().
 - Merge "_" separator and extension name into a single snprintf() with
   "%s%s".
 - Replace ASSERT with an explicit error check: if the fill call returns a
   different length, free isa_str and return -EINVAL.
---
Changes in v2:
 - s/guest_unsupp_bmp/guest_unsupp.
 - Drop guest_isa_str.
 - Provide init_guest_isa() instead of polluting match_isa_ext().
 - Drop xlen.
 - Add the comment about guest_unsupp.
 - Update the way how guest_unsupp is init-ed.
 - Drop __initconst for riscv_isa_ext[] as it is used in init_guest_isa()
   which isn't marked as __init as it could be used after init stage.
---
---
 xen/arch/riscv/cpufeature.c             | 88 ++++++++++++++++++++++++-
 xen/arch/riscv/domain.c                 |  3 +
 xen/arch/riscv/include/asm/cpufeature.h |  4 ++
 xen/arch/riscv/include/asm/domain.h     |  4 ++
 4 files changed, 98 insertions(+), 1 deletion(-)

diff --git a/xen/arch/riscv/cpufeature.c b/xen/arch/riscv/cpufeature.c
index 92235fdfd5ab..b85af09d65c9 100644
--- a/xen/arch/riscv/cpufeature.c
+++ b/xen/arch/riscv/cpufeature.c
@@ -14,7 +14,9 @@
 #include <xen/errno.h>
 #include <xen/init.h>
 #include <xen/lib.h>
+#include <xen/sched.h>
 #include <xen/sections.h>
+#include <xen/xvmalloc.h>
 
 #include <asm/cpufeature.h>
 #include <asm/csr.h>
@@ -120,7 +122,7 @@ static int __init dt_get_cpuid_from_node(const struct dt_device_node *cpu,
  * and strncmp() is used in match_isa_ext() to compare extension names instead
  * of strncasecmp().
  */
-const struct riscv_isa_ext_data __initconst riscv_isa_ext[] = {
+const struct riscv_isa_ext_data riscv_isa_ext[] = {
     RISCV_ISA_EXT_DATA(i),
     RISCV_ISA_EXT_DATA(m),
     RISCV_ISA_EXT_DATA(a),
@@ -128,6 +130,7 @@ const struct riscv_isa_ext_data __initconst riscv_isa_ext[] = {
     RISCV_ISA_EXT_DATA(d),
     RISCV_ISA_EXT_DATA(q),
     RISCV_ISA_EXT_DATA(c),
+    RISCV_ISA_EXT_DATA(v),
     RISCV_ISA_EXT_DATA(h),
     RISCV_ISA_EXT_DATA(zicntr),
     RISCV_ISA_EXT_DATA(zicsr),
@@ -160,6 +163,12 @@ static const struct riscv_isa_ext_data __initconst required_extensions[] = {
     RISCV_ISA_EXT_DATA(svpbmt),
 };
 
+/*
+ * Everything in riscv_isa_ext[] which shouldn't be exposed to guests should
+ * appear here.
+ */
+static __ro_after_init DECLARE_BITMAP(guest_unsupp, RISCV_ISA_EXT_MAX);
+
 static bool __init is_lowercase_extension_name(const char *str)
 {
     /*
@@ -480,6 +489,81 @@ bool riscv_isa_extension_available(const unsigned long *isa_bitmap,
     return test_bit(id, isa_bitmap);
 }
 
+static int build_guest_isa_str(char *buf, size_t size,
+                               const unsigned long *isa_bitmap)
+{
+    int total;
+
+#if defined(CONFIG_RISCV_32)
+    total = snprintf(buf, size, "rv32");
+#elif defined(CONFIG_RISCV_64)
+    total = snprintf(buf, size, "rv64");
+#else
+#   error "Unsupported RISC-V bitness"
+#endif
+
+    if ( total < 0 )
+        return total;
+
+    if ( buf && ((size_t)total >= size) )
+        return -ENOSPC;
+
+    for ( unsigned int i = 0; i < ARRAY_SIZE(riscv_isa_ext); i++ )
+    {
+        const struct riscv_isa_ext_data *ext = &riscv_isa_ext[i];
+        int ret;
+
+        if ( !riscv_isa_extension_available(isa_bitmap, ext->id) )
+            continue;
+
+        ret = snprintf(buf ? buf + total : NULL,
+                       buf ? size - total : 0, "%s%s",
+                       ext->id >= RISCV_ISA_EXT_BASE ? "_" : "",
+                       ext->name);
+        if ( ret < 0 )
+            return ret;
+        total += ret;
+    }
+
+    return total;
+}
+
+int init_guest_isa(struct domain *d)
+{
+    int len;
+
+    bitmap_andnot(d->arch.isa, riscv_isa, guest_unsupp,
+                  RISCV_ISA_EXT_MAX);
+
+    len = build_guest_isa_str(NULL, 0, d->arch.isa);
+    if ( len < 0 )
+        return len;
+
+    d->arch.isa_str = xvmalloc_array(char, len + 1);
+    if ( !d->arch.isa_str )
+        return -ENOMEM;
+
+    if ( build_guest_isa_str(d->arch.isa_str, len + 1, d->arch.isa) != len )
+    {
+        XVFREE(d->arch.isa_str);
+        return -EINVAL;
+    }
+
+    return 0;
+}
+
+static void __init init_guest_unsupp(void)
+{
+    __set_bit(RISCV_ISA_EXT_f, guest_unsupp);
+    __set_bit(RISCV_ISA_EXT_d, guest_unsupp);
+    __set_bit(RISCV_ISA_EXT_q, guest_unsupp);
+    __set_bit(RISCV_ISA_EXT_v, guest_unsupp);
+    __set_bit(RISCV_ISA_EXT_h, guest_unsupp);
+    __set_bit(RISCV_ISA_EXT_sstc, guest_unsupp);
+    __set_bit(RISCV_ISA_EXT_svade, guest_unsupp);
+    __set_bit(RISCV_ISA_EXT_svpbmt, guest_unsupp);
+}
+
 void __init riscv_fill_hwcap(void)
 {
     unsigned int i;
@@ -527,4 +611,6 @@ void __init riscv_fill_hwcap(void)
     if ( !all_extns_available )
         panic("Look why the extensions above are needed in "
               "https://xenbits.xenproject.org/docs/unstable/misc/riscv/booting.txt\n");
+
+    init_guest_unsupp();
 }
diff --git a/xen/arch/riscv/domain.c b/xen/arch/riscv/domain.c
index 2819ff4e7c92..e4a8c27ea9cb 100644
--- a/xen/arch/riscv/domain.c
+++ b/xen/arch/riscv/domain.c
@@ -308,6 +308,9 @@ int arch_domain_create(struct domain *d,
     if ( is_idle_domain(d) )
         return 0;
 
+    if ( (rc = init_guest_isa(d)) != 0 )
+        goto fail;
+
     if ( (rc = p2m_init(d, config)) != 0)
         goto fail;
 
diff --git a/xen/arch/riscv/include/asm/cpufeature.h b/xen/arch/riscv/include/asm/cpufeature.h
index 0c48d57a03bb..866e0f6e7bb7 100644
--- a/xen/arch/riscv/include/asm/cpufeature.h
+++ b/xen/arch/riscv/include/asm/cpufeature.h
@@ -17,6 +17,7 @@
  */
 #define RISCV_ISA_EXT_BASE  26
 
+
 enum riscv_isa_ext_id {
     RISCV_ISA_EXT_a,
     RISCV_ISA_EXT_c,
@@ -44,7 +45,10 @@ enum riscv_isa_ext_id {
     RISCV_ISA_EXT_MAX
 };
 
+struct domain;
+
 void riscv_fill_hwcap(void);
+int init_guest_isa(struct domain *d);
 
 bool riscv_isa_extension_available(const unsigned long *isa_bitmap,
                                    enum riscv_isa_ext_id id);
diff --git a/xen/arch/riscv/include/asm/domain.h b/xen/arch/riscv/include/asm/domain.h
index 6044ce0feee0..459896c04b41 100644
--- a/xen/arch/riscv/include/asm/domain.h
+++ b/xen/arch/riscv/include/asm/domain.h
@@ -7,6 +7,7 @@
 #include <xen/xmalloc.h>
 #include <public/hvm/params.h>
 
+#include <asm/cpufeature.h>
 #include <asm/guest-layout.h>
 #include <asm/p2m.h>
 #include <asm/vtimer.h>
@@ -94,6 +95,9 @@ struct arch_domain {
     struct p2m_domain p2m;
 
     struct paging_domain paging;
+
+    DECLARE_BITMAP(isa, RISCV_ISA_EXT_MAX);
+    char *isa_str;
 };
 
 #include <xen/sched.h>
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346270.1604722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8lU-0000HV-S7; Fri, 26 Jun 2026 15:46:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346270.1604722; Fri, 26 Jun 2026 15:46: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 1wd8lU-0000Gl-OT; Fri, 26 Jun 2026 15:46:48 +0000
Received: by outflank-mailman (input) for mailman id 1346270;
 Fri, 26 Jun 2026 15:46:48 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8lU-0000EB-2N
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:46:48 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8lT-004aNQ-FP
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:46:47 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9edc-bab6-0a2a0a5309dd-0a2a4501e980-18
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:47 +0200
Received: from [209.85.167.48] (helo=mail-lf1-f48.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ee7-400f-0a2a45010019-d155a730a4e8-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:47 +0200
Received: by mail-lf1-f48.google.com with SMTP id
 2adb3069b0e04-5aea1f4dc7fso1077104e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:46:47 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.46.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488807; x=1783093607; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4TtdpsKQe2Ojlx7r4TwViI4rHIRjvzW7vDmBaVjvSro=;
        b=XRP+jsKKJG4haAX2XYx/jWM6JWcKGpAyNq3R6TiQZneGqTuXvpwHrFb/Tunz7XsK0s
         feDjWJQSxHQT3ZPZI2l/y63+qZ4NA+Vp2xDQe5OY+5LMelUCLn6gAXLYa5k+Mu8ChBUe
         HTJJdRPcfvA2VEVi+y7HKWjHMpo6KLm/lBao8Ni/aXNU4dO/NWI10U9BZQbsMzQRcXHf
         UBGDU2T7Zr1dB93ZhUlO+uNDEnm6OqBNzzC6zSI2/m+Ei45Uh8YrkkyUVm/ZyDbJy/PE
         ngSp0qxoygjgF+/nsuy5S6ZAbR+GYrQ9cfdbp8pR5DCoUR9VfGjQ45eQpuf46hQmlxSm
         r9nQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488807; x=1783093607;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=4TtdpsKQe2Ojlx7r4TwViI4rHIRjvzW7vDmBaVjvSro=;
        b=hQ2N7PT3kIOlo5sDRdXfptz4SMU+k8wCN72V7Hpiwz8/G7RHs6598lr6zNRdKpJLHS
         x1KDLXRFPlhN6VOPL+lrctoGyVxI5RYvYBsB1iZeuSLpUV3gxjZ2OiTWv1sbkt9piTOA
         zZ/utLcaNaXbPw3ZHEpgz+wAxok0CXm1sS8P0clPmmIKKKd+6acqZSYH8OkM4c/V5EtP
         YM51lLH9fCzHuR2ipeDwLWvpELCLB+ICrpdSZxoJSOrkfZDeyft2j9kQdTXv0G/2ZNeK
         EK5D5dB8obDiG25nnsD+EsjyRfVNGvote3/Hrt2IgSYBuhpDHznJFHNqRsL54Gh5aXZu
         NWjA==
X-Gm-Message-State: AOJu0Yxsj48WakdC4n0NEd8TdF2cOIewSayYlslDUaxxoPFH3foF5xhk
	CjKGXOq47Mfwxee9ltRmXsTetLc8OqGbadbwkfDLAxVxD5XuAZ6iKfMlmI3PuQ==
X-Gm-Gg: AfdE7cnh6myxl5UYnPS6zH97Ex9zh/Bi9NwTmFHYXOSyIQ6NXS+8Z8w7VlmISsRuPhp
	pVJ10bBNS5nBdt8xQnFZAWD6H0kGLCutMPQ1SGDyhuSlYgoA8qa5P5AdoV6SgbupxqcohvlIcy7
	WzZOkNyf6NS6QAS5PTWRBXkngN22RTeSOmLbKrFVRvILlO5CCxouVkBV8zaw381/YDCBPbgUi2w
	xNiHDkxlCmu3x17E/uVC8PvqfovZgiIGf+CzSOrBzeeC7C3tUgbFUPFn7lNmmceaywVKWDY99F9
	sFKONHchTlh5XVc3RR2KRRM5+5qhCYjpBWKdBEpFo+lNznfGw6FAQxTzoh8Yx+nJ5LrzJGKPFM2
	eU8N8XsyGYZLXFFSQw0V/DyC7iw4SG2KRHCafSag/qJ1zXD7LAfW9cndImhiSyOyrcU4+ZlqTPX
	5oowWf+7nLpRxkDwhzrrpYbx4BJpLU+Fb8eh4XyEfYfYM/lUar9YMN/m+5Vw==
X-Received: by 2002:a05:6512:2c96:b0:5ae:a9ed:35a6 with SMTP id 2adb3069b0e04-5aea9ed3758mr104764e87.31.1782488806557;
        Fri, 26 Jun 2026 08:46:46 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	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>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v4 03/25] xen: arm: update p2m_set_allocation() prototype
Date: Fri, 26 Jun 2026 17:46:12 +0200
Message-ID: <d476330d88137db084b11b754b4121d116b5bada.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1782488807-81AD91E0-1DC5DD87/10/73395122804
X-purgate-type: spam
X-purgate-size: 8763

p2m_set_allocation() uses a bool *preempted out-argument that overloads two
meanings. When non-NULL, the value written back (true) duplicates information
already carried by the -ERESTART return code â€” pure redundancy, which the
caller-side ASSERT(preempted == (rc == -ERESTART)) only documents. Separately,
a NULL pointer is an implicit calling convention meaning "preemption is not
permitted in this context".

Replace the pointer with a plain bool can_preempt that explicitly controls
whether the preemption check runs, making the NULL-to-suppress convention
type-safe and self-documenting, and rely on the -ERESTART return code alone to
report that preemption occurred.

Since p2m_set_allocation() is called by the common dom0less build code,
move its declaration from the ARM-specific asm/p2m.h to xen/p2m-common.h.

Reported-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v4:
 - Reword commit message: a NULL pointer was a calling convention meaning
   "preemption not permitted", not pure redundancy.
 - Annotate the explicit can_preempt arguments at the call sites with
   /* can_preempt */ comments for readability.
 - Move the function's doc comment to the prototype in xen/p2m-common.h
   (dropping the duplicate above the Arm and RISC-V definitions) and clarify
   that -ERESTART is only returned when can_preempt is true.
 - Add __must_check to the prototype, since the return code is now the only
   preemption-status indicator.
---
Changes in v3:
 - Nothing changed. Only rebase.
---
Changes in v2:
 - new patch
---
---
 xen/arch/arm/include/asm/p2m.h          |  1 -
 xen/arch/arm/mmu/p2m.c                  | 24 ++++++------------------
 xen/arch/riscv/include/asm/paging.h     |  2 +-
 xen/arch/riscv/p2m.c                    |  9 ++-------
 xen/arch/riscv/paging.c                 |  7 ++-----
 xen/common/device-tree/dom0less-build.c |  2 +-
 xen/include/xen/p2m-common.h            |  8 ++++++++
 7 files changed, 20 insertions(+), 33 deletions(-)

diff --git a/xen/arch/arm/include/asm/p2m.h b/xen/arch/arm/include/asm/p2m.h
index 4a4913716bdd..737da60dcf58 100644
--- a/xen/arch/arm/include/asm/p2m.h
+++ b/xen/arch/arm/include/asm/p2m.h
@@ -238,7 +238,6 @@ void p2m_restore_state(struct vcpu *n);
 /* Print debugging/statistial info about a domain's p2m */
 void p2m_dump_info(struct domain *d);
 
-int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted);
 int p2m_teardown_allocation(struct domain *d);
 
 static inline void p2m_write_lock(struct p2m_domain *p2m)
diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
index 51abf3504fcf..2cf35d8a3709 100644
--- a/xen/arch/arm/mmu/p2m.c
+++ b/xen/arch/arm/mmu/p2m.c
@@ -65,12 +65,7 @@ int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
     return 0;
 }
 
-/*
- * Set the pool of pages to the required number of pages.
- * Returns 0 for success, non-zero for failure.
- * Call with d->arch.paging.lock held.
- */
-int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
+int p2m_set_allocation(struct domain *d, unsigned long pages, bool can_preempt)
 {
     struct page_info *pg;
 
@@ -112,11 +107,8 @@ int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
             break;
 
         /* Check to see if we need to yield and try again */
-        if ( preempted && general_preempt_check() )
-        {
-            *preempted = true;
+        if ( can_preempt && general_preempt_check() )
             return -ERESTART;
-        }
     }
 
     return 0;
@@ -125,7 +117,6 @@ int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
 int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
 {
     unsigned long pages = size >> PAGE_SHIFT;
-    bool preempted = false;
     int rc;
 
     if ( (size & ~PAGE_MASK) ||          /* Non page-sized request? */
@@ -133,27 +124,24 @@ int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
         return -EINVAL;
 
     spin_lock(&d->arch.paging.lock);
-    rc = p2m_set_allocation(d, pages, &preempted);
+    rc = p2m_set_allocation(d, pages, /* can_preempt */ true);
     spin_unlock(&d->arch.paging.lock);
 
-    ASSERT(preempted == (rc == -ERESTART));
-
     return rc;
 }
 
 int p2m_teardown_allocation(struct domain *d)
 {
     int ret = 0;
-    bool preempted = false;
 
     spin_lock(&d->arch.paging.lock);
     if ( d->arch.paging.p2m_total_pages != 0 )
     {
-        ret = p2m_set_allocation(d, 0, &preempted);
-        if ( preempted )
+        ret = p2m_set_allocation(d, 0, /* can_preempt */ true);
+        if ( ret == -ERESTART )
         {
             spin_unlock(&d->arch.paging.lock);
-            return -ERESTART;
+            return ret;
         }
         ASSERT(d->arch.paging.p2m_total_pages == 0);
     }
diff --git a/xen/arch/riscv/include/asm/paging.h b/xen/arch/riscv/include/asm/paging.h
index e487c89a4ccd..103384723dc5 100644
--- a/xen/arch/riscv/include/asm/paging.h
+++ b/xen/arch/riscv/include/asm/paging.h
@@ -9,7 +9,7 @@ struct page_info;
 int paging_domain_init(struct domain *d);
 
 int paging_freelist_adjust(struct domain *d, unsigned long pages,
-                           bool *preempted);
+                           bool can_preempt);
 
 int paging_ret_to_domheap(struct domain *d, unsigned int nr_pages);
 int paging_refill_from_domheap(struct domain *d, unsigned int nr_pages);
diff --git a/xen/arch/riscv/p2m.c b/xen/arch/riscv/p2m.c
index 703b9f4d2540..566266e3e78f 100644
--- a/xen/arch/riscv/p2m.c
+++ b/xen/arch/riscv/p2m.c
@@ -428,17 +428,12 @@ int p2m_init(struct domain *d, const struct xen_domctl_createdomain *config)
     return 0;
 }
 
-/*
- * Set the pool of pages to the required number of pages.
- * Returns 0 for success, non-zero for failure.
- * Call with d->arch.paging.lock held.
- */
-int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
+int p2m_set_allocation(struct domain *d, unsigned long pages, bool can_preempt)
 {
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
     int rc;
 
-    if ( (rc = paging_freelist_adjust(d, pages, preempted)) )
+    if ( (rc = paging_freelist_adjust(d, pages, can_preempt)) )
         return rc;
 
     /*
diff --git a/xen/arch/riscv/paging.c b/xen/arch/riscv/paging.c
index 76a203edbb0c..35f572689a7c 100644
--- a/xen/arch/riscv/paging.c
+++ b/xen/arch/riscv/paging.c
@@ -47,7 +47,7 @@ static int _paging_add_to_freelist(struct domain *d)
 }
 
 int paging_freelist_adjust(struct domain *d, unsigned long pages,
-                           bool *preempted)
+                           bool can_preempt)
 {
     ASSERT(spin_is_locked(&d->arch.paging.lock));
 
@@ -66,11 +66,8 @@ int paging_freelist_adjust(struct domain *d, unsigned long pages,
             return rc;
 
         /* Check to see if we need to yield and try again */
-        if ( preempted && general_preempt_check() )
-        {
-            *preempted = true;
+        if ( can_preempt && general_preempt_check() )
             return -ERESTART;
-        }
     }
 
     return 0;
diff --git a/xen/common/device-tree/dom0less-build.c b/xen/common/device-tree/dom0less-build.c
index eacfd93087ae..6f0b574755c5 100644
--- a/xen/common/device-tree/dom0less-build.c
+++ b/xen/common/device-tree/dom0less-build.c
@@ -747,7 +747,7 @@ static int __init domain_p2m_set_allocation(struct domain *d, uint64_t mem,
                 domain_p2m_pages(mem, d->max_vcpus);
 
     spin_lock(&d->arch.paging.lock);
-    rc = p2m_set_allocation(d, p2m_pages, NULL);
+    rc = p2m_set_allocation(d, p2m_pages, /* can_preempt */ false);
     spin_unlock(&d->arch.paging.lock);
 
     return rc;
diff --git a/xen/include/xen/p2m-common.h b/xen/include/xen/p2m-common.h
index f0bd9a6b9896..0eb061991283 100644
--- a/xen/include/xen/p2m-common.h
+++ b/xen/include/xen/p2m-common.h
@@ -43,5 +43,13 @@ int __must_check check_get_page_from_gfn(struct domain *d, gfn_t gfn,
                                          bool readonly, p2m_type_t *p2mt_p,
                                          struct page_info **page_p);
 
+/*
+ * Set the pool of pages to the required number of pages.
+ * Returns 0 for success, -ERESTART if preempted (only when can_preempt is
+ * true), or a negative error code on failure.
+ * Call with d->arch.paging.lock held.
+ */
+int __must_check p2m_set_allocation(struct domain *d, unsigned long pages,
+                                    bool can_preempt);
 
 #endif /* _XEN_P2M_COMMON_H */
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346273.1604754 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8lZ-000189-Kj; Fri, 26 Jun 2026 15:46:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346273.1604754; Fri, 26 Jun 2026 15: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 1wd8lZ-000180-GQ; Fri, 26 Jun 2026 15:46:53 +0000
Received: by outflank-mailman (input) for mailman id 1346273;
 Fri, 26 Jun 2026 15:46:52 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8lY-0000sw-8S
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:46:52 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8lX-00D1eP-LW
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:46:51 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ed4-5cb7-0a2a0a5109dd-0a2a4505c00c-30
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:51 +0200
Received: from [209.85.167.47] (helo=mail-lf1-f47.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9eeb-3cb2-0a2a45050019-d155a72ff08e-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:51 +0200
Received: by mail-lf1-f47.google.com with SMTP id
 2adb3069b0e04-5ad536cd0c6so1012847e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:46:51 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.46.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488811; x=1783093611; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=j9voWSp+JkoD/VpXapknL1AYvuXz0NiQDfxoMWyQ7FY=;
        b=m17amcVQ5X7z1jvCpNm4XhrfKc1B9HiTXS6AWzEj//0+0ww2dZjSX/jJlZfuAcTQeh
         sirC6wUkWP8rSKwsRqzLI7K9gfHVjvC89Q2Q6JrClLKJfxmwUhdWY/2/YjVA0FmUJNX7
         O8qADnqqOC4eykwalIgRaj0udk9t1RTL4BF9yP6RPROIhgTiJtSWTmSQtNSJVba4aJ6K
         OYEQD7iQ4rIV9/RMOyGmsEn7UHalFHDQcW1y9d0kZKDARgozG3m9GM9R1MJ4voDIXPys
         d6epQ5MZ/l0qUKFq9NFLIGFD6lkv5OIde2aluRh9XzXZjacqrJ69HK/MhJnnghsTTr6d
         c/ZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488811; x=1783093611;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=j9voWSp+JkoD/VpXapknL1AYvuXz0NiQDfxoMWyQ7FY=;
        b=HXkbRr/OQaBPEAWWdsYaSorAYbu2uI0YI7Zn8CwvMnZ2QQVS4d/Z4123iiFnA7IwWq
         lm7nlRCDmZRAvd/TMf38dWgMKq5ON7o2bqP2PbnWureE22A0bZ2x1Mya/0u7EnjzlQV1
         dRQfJBGlFqlPLu8CtTZu8sU4ADtfaJkrHj+absgxABc/9PqaEqw3LKh2+9BVjhwkgMmC
         qwsFqMUi8EdHJe+WKsjJvlWjIgsBNKZg4UZsCWhxdBCs0oJ9TkkK12bScA8iyl/qJkpc
         XEeV9lSKuJISRB8k8e4O2D7gy2QrI7Jt6tOz75uXYCViK1J38eWmOPlSgBe0/AI5nm2s
         9OUA==
X-Gm-Message-State: AOJu0YwJ6zL3Lx8HTKoffsIz1HnGwHt7eaqYnc0VqaSRH9GVcgoL3F7s
	WLykVWtFtOzS/oCBvDTOhAuwUIbleDchjxyBZ60t0paua3kCds4ybcxxgajAGA==
X-Gm-Gg: AfdE7ckOhf0iB4BwLdFEYwSSh4IZzpHW+7rdOcaEDfG2jvG2SDNIsBI+mGdVe5oNe2u
	XOxK+lSQirxWU6Ee8qvDznZfNYGScZHmH26hfpos+7uLyi5TYtNjNq+0vzp6v2yWyq2/oArf1um
	mwIhjEkz8FS1JwnvpsANBpflrRZMJVfTyzq1y1iN0QWMbW1O/d6dsWGKfDilOEvm+Stm5hxCPNk
	1YW1+8hSdopVFLjGDHtLrHscxQg6pRkpxEf8NHmFYndz7XkBY8/ZGR5nc2x8JvTC7DPJEGj7Gkl
	J2PFEcmttv+5uboT6fVqoqDrShxzEvI+WX5PiHJfanotAHyygRxLF47BcSBTn2anCh8K2Wa0j5+
	9G5dQrDbQOAwjPW+5fCfyG8pgUbpJY7r9lIvz4M3nIsd2d4GQzcJ1p9cvicwKs7WmLWuxzOz9Qt
	8HY9NILHsCfYle9yLe8qw5Qyo5iygOhtxWGSfL2u1lUGAD6Tr3u18hyVq/tQ==
X-Received: by 2002:a05:6512:12c5:b0:5ad:4d1c:9361 with SMTP id 2adb3069b0e04-5aea1f6596bmr2385426e87.50.1782488810731;
        Fri, 26 Jun 2026 08:46:50 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 v4 06/25] xen/riscv: Implement construct_domain()
Date: Fri, 26 Jun 2026 17:46:15 +0200
Message-ID: <91001b3be672a35077be8acb86d7151fcd6e9f67.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1782488811-159082B8-D735517D/10/73395122804
X-purgate-type: spam
X-purgate-size: 3059

Implement construct_domain() function for RISC-V, which performs initial setup
for the domain's first vCPU, loads the kernel, initrd, and device tree,
and sets up guest CPU registers for boot.

It also creates additional vCPUs up to max_vcpus and assigns the device tree
address and boot cpuid in registers.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v4:
 - Drop the blank before v%u in the printk() failure message so the output
   matches that of %pv.
 - Restore Acked-by that was lost in v3.
---
Changes in v3:
 - s/%d/%u for printing vCPU index in the failure message.
 - Drop dprintk() for successful vCPU creation.
---
Changes in v2:
 - Rework construct_domain() to print that vCPU1...n are created using %pv.
 - Use true instead of 1 for initialization of v->is_initialised.
 - Drop unnessary BUG_ON() in construct_domain().
 - Add TODO comment above *_load() functions.
---
---
 xen/arch/riscv/Makefile       |  1 +
 xen/arch/riscv/domain-build.c | 50 +++++++++++++++++++++++++++++++++++
 2 files changed, 51 insertions(+)
 create mode 100644 xen/arch/riscv/domain-build.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 8f7fd625dddd..fd5e499eb4b9 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -1,6 +1,7 @@
 obj-y += aplic.o
 obj-y += cpufeature.o
 obj-y += domain.o
+obj-y += domain-build.init.o
 obj-$(CONFIG_DOM0LESS_BOOT) += dom0less-build.init.o
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += entry.o
diff --git a/xen/arch/riscv/domain-build.c b/xen/arch/riscv/domain-build.c
new file mode 100644
index 000000000000..5f6f4b6248a5
--- /dev/null
+++ b/xen/arch/riscv/domain-build.c
@@ -0,0 +1,50 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <xen/fdt-domain-build.h>
+#include <xen/fdt-kernel.h>
+#include <xen/init.h>
+#include <xen/sched.h>
+
+#include <asm/current.h>
+#include <asm/guest_access.h>
+
+int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
+{
+    struct vcpu *v = d->vcpu[0];
+    struct cpu_user_regs *regs = vcpu_guest_cpu_user_regs(v);
+
+    BUG_ON(v->is_initialised);
+
+    /*
+     * At the moment *_load() don't return value and will just panic()
+     * inside.
+     * TODO: it will be good to change that.
+     */
+    kernel_load(kinfo);
+    initrd_load(kinfo, copy_to_guest_phys);
+    dtb_load(kinfo, copy_to_guest_phys);
+
+    regs->sepc = kinfo->entry;
+
+    /* Guest boot cpuid = 0 */
+    regs->a0 = 0;
+    regs->a1 = kinfo->dtb_paddr;
+
+    for ( unsigned int i = 1; i < d->max_vcpus; i++ )
+    {
+        const struct vcpu *tmp_v = vcpu_create(d, i);
+
+        if ( !tmp_v )
+        {
+            printk("Failed to allocate %pdv%u\n", d, i);
+            break;
+        }
+    }
+
+    domain_update_node_affinity(d);
+
+    v->is_initialised = true;
+    clear_bit(_VPF_down, &v->pause_flags);
+
+    return 0;
+}
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346269.1604718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8lU-0000EZ-Kz; Fri, 26 Jun 2026 15:46:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346269.1604718; Fri, 26 Jun 2026 15:46: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 1wd8lU-0000ES-IH; Fri, 26 Jun 2026 15:46:48 +0000
Received: by outflank-mailman (input) for mailman id 1346269;
 Fri, 26 Jun 2026 15:46:46 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8lS-0008Sh-Kw
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:46:46 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8lS-004aNQ-1l
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:46:46 +0200
Received: from [10.42.69.1] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9edc-bab6-0a2a0a5309dd-0a2a4501e980-12
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:46 +0200
Received: from [209.85.208.182] (helo=mail-lj1-f182.google.com)
 by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ee5-400f-0a2a45010019-d155d0b6dcda-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:45 +0200
Received: by mail-lj1-f182.google.com with SMTP id
 38308e7fff4ca-3997a448ecbso12136791fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:46:45 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.46.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488805; x=1783093605; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mvT5LR8MKVSYyunuWtIqsb5iTgSnZW7RCbzYGmmoDZQ=;
        b=HsC0S4PLS0FnpYT5EW0BY1QrEnYyxulEBJr68rUDZKTZn8lsjuO0X0bzZYSmHUzym9
         nbbKp126LvsASyoW7QuPXoCjCZN21t2t083h2VP8GDT4xg7zO5QmHpR8bvQctli3ABcy
         ZP5he/UXWVwqB9cTRcO3ZqSfHKnhd+MLCCFBP4e49iZIfpF9IAzrJ5r/tTzV+S/rnfWo
         M25aZ6llxtQgU8Kjilkmzcp+Puy91jkgxtB0OtMpjq0QNr4M5igkqwv30x6W8BbM3dW7
         jGx3DHLmgsLazSQ4GY6iXj4P1mbJxjmQgV8ZZ1KRr0TKjL8eTTzs3q2dCeOsXb4hTGiN
         fOXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488805; x=1783093605;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=mvT5LR8MKVSYyunuWtIqsb5iTgSnZW7RCbzYGmmoDZQ=;
        b=ZBPsacfKQHCwLI/OmAJ32dAUNFlwcip8YYVKxRyiyWdupDg/m/0D5agUgLrpPa91Lt
         661KJXsRnr9RvQA1KzOlWUQIF7IjiPsYNgsUxOp3tD6b2WAkdVTKxEDsJjwhe45CSonX
         vi3eksoNgWYT2zGoZ8BBaBuh1ACgYyuScK76+Yt+1rjoCRE3QwnXd2FDeC81qdY6IIwO
         Za0d/LKpA2W2tvBpDxXeuVZsMxqp/J/V++YO1+Q7sWiWBR249vcCNDRAwf0DfE7wCkee
         7m3rZMiLuUqiGjTE/CWIi6UtrLQqJVL0SZ2nBJ/Apka96jV1N9SlTexbjShXm7IbQbsH
         6wrA==
X-Gm-Message-State: AOJu0Yzc33FbDh6bHcOw4fcBLcWA92Snpx1XrAfvJBLdaaRl/SwJw8mr
	TAzIwmV+NXvzUMMQCOZRzs32SqJkBhz0KL48BvgqgAEhkZEv/+DWEpk57znP0w==
X-Gm-Gg: AfdE7ckAgV3rxE2F7JA4SKzhcfpdpRd2QjEXzlQfgfz6lhPgZBTf3UI+ea9PDe2ZHQ3
	47i5oFT3wbcwse6V2DHUlT3cHizC4/QcXc49uumOV2dvmKzWb7MZJ8bdEPLuT5s2Q7ojPYmdZsF
	ZVzcaqVm0ifVUEY8GHz0sUqLwCW3z61eh0olY/8tmylPLsxhS5gJDeknbssxrklyh0tHw0bkKMu
	UXPnVuKgwUz5K8lRhFIhRjCUeaCN8GbnlbZDk6XtwUanEIWsZm99QsYUs7rq8hPIvhEgC1bjNLZ
	zin+JE3FbAIXIj1PR2qejYgUmuU3fMyJiVqCYlFqbHcb610edPSmcH6U85s0bRNLPoSlaYi2cSr
	TdcQkqQVQUwFzmOWgiLIP1Aim5z+Jbsx6z8elsADYQHmSZvYarMY5F07qJX8Pq/z2kW3N7TyIDL
	6xQ6dY4KQLqk3uEr6doqtwCEIw4QFMo/hk2RK7rAw1mDUYd2pkttoxtP/X3GQpmEabDv99
X-Received: by 2002:ac2:4f15:0:b0:5ae:a9ec:9fc1 with SMTP id 2adb3069b0e04-5aea9eca36cmr128297e87.60.1782488805066;
        Fri, 26 Jun 2026 08:46:45 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	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>
Subject: [PATCH v4 02/25] xen: arm: move declaration of map_device_irqs_to_domain() to common header
Date: Fri, 26 Jun 2026 17:46:11 +0200
Message-ID: <ec994287fb54537b0d6a97a666d49f0c080193f6.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d62444/1782488806-D1EC21E0-6A192B89/10/73395122804
X-purgate-type: spam
X-purgate-size: 3643

As map_device_irqs_to_domain() is used unconditionally by common part of
dom0less code, move the prototype to a common header.

fdt-domain-build.h is chosen as map_device_irqs_to_domain() could be
also called indirectly in Arm's DOM0-related code and DT overlay feature.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v4:
 - Reword commit message: use imperative mood ("move the prototype") and
   mention the DT overlay feature alongside Arm's DOM0-related code.
 - Add #include <xen/fdt-domain-build.h> to Arm's device.c so the definition
   site sees the prototype.
 - Drop the duplicated function description above the definition in device.c
   (it now lives only on the prototype in fdt-domain-build.h).
---
Changes in v3:
 - Add tag arm and move this patch earlier before RISC-V-related patches.
---
Changes in v2:
 - New patch.
---
 xen/arch/arm/device.c              |  9 +--------
 xen/arch/arm/include/asm/setup.h   |  3 ---
 xen/include/xen/fdt-domain-build.h | 13 +++++++++++++
 3 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
index 7d9644fd8b6d..b11366d722ef 100644
--- a/xen/arch/arm/device.c
+++ b/xen/arch/arm/device.c
@@ -11,6 +11,7 @@
 #include <xen/device_tree.h>
 #include <xen/dt-overlay.h>
 #include <xen/errno.h>
+#include <xen/fdt-domain-build.h>
 #include <xen/iocap.h>
 #include <xen/lib.h>
 
@@ -117,14 +118,6 @@ int __overlay_init map_range_to_domain(const struct dt_device_node *dev,
     return 0;
 }
 
-/*
- * map_device_irqs_to_domain retrieves the interrupts configuration from
- * a device tree node and maps those interrupts to the target domain.
- *
- * Returns:
- *   < 0 error
- *   0   success
- */
 int __overlay_init map_device_irqs_to_domain(struct domain *d,
                                              struct dt_device_node *dev,
                                              bool need_mapping,
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 14fa92d5c1db..2af780512540 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -51,9 +51,6 @@ void init_traps(void);
 int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt,
                   struct rangeset *iomem_ranges, struct rangeset *irq_ranges);
 
-int map_device_irqs_to_domain(struct domain *d, struct dt_device_node *dev,
-                              bool need_mapping, struct rangeset *irq_ranges);
-
 int map_irq_to_domain(struct domain *d, unsigned int irq,
                       bool need_mapping, const char *devname);
 
diff --git a/xen/include/xen/fdt-domain-build.h b/xen/include/xen/fdt-domain-build.h
index 671486c1c837..8612e98dfda5 100644
--- a/xen/include/xen/fdt-domain-build.h
+++ b/xen/include/xen/fdt-domain-build.h
@@ -12,6 +12,7 @@
 
 struct domain;
 struct page_info;
+struct rangeset;
 struct membanks;
 
 typedef bool (*alloc_domheap_mem_cb)(struct domain *d, struct page_info *pg,
@@ -79,6 +80,18 @@ static inline void set_domain_type(struct domain *d, const struct kernel_info *k
 #endif
 }
 
+/*
+ * Retrieves the interrupts configuration from a device tree node and maps
+ * those interrupts to the target domain.
+ *
+ * Returns:
+ *   < 0 error
+ *   0   success
+ */
+int map_device_irqs_to_domain(struct domain *d, struct dt_device_node *dev,
+                              bool need_mapping,
+                              struct rangeset *irq_ranges);
+
 #endif /* __XEN_FDT_DOMAIN_BUILD_H__ */
 
 /*
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346272.1604745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8lY-0000u4-Cd; Fri, 26 Jun 2026 15:46:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346272.1604745; Fri, 26 Jun 2026 15: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 1wd8lY-0000to-8Z; Fri, 26 Jun 2026 15:46:52 +0000
Received: by outflank-mailman (input) for mailman id 1346272;
 Fri, 26 Jun 2026 15:46:50 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8lW-0000f0-I9
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:46:50 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8lV-008hQp-VB
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:46:49 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ebb-2eae-0a2a0a5409dd-0a2a450a98aa-36
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:45 +0200
Received: from [209.85.167.50] (helo=mail-lf1-f50.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ee4-e40e-0a2a450a0019-d155a732cd05-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:45 +0200
Received: by mail-lf1-f50.google.com with SMTP id
 2adb3069b0e04-5ad583dc41eso936682e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:46:44 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.46.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488804; x=1783093604; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=E1ntZTjXuPMc3S9pVqmhNEY95hHRXNFcsq1srHmQDd0=;
        b=S0MPT4Jk6uuwFXfsQc2fvbhV9+gfNJS0GFv0cb1VyNtiVBIZSw6gs2sTg9EUrBgh4O
         N9LIaFkz30GJe1NqSM7kbpcu7sN8PoYzlskYTSIrdQbUeaCvniTAoROZba1ujk7FBG8j
         04bzi2+WweoZHQco7dAZ+l/DArcETmcpUjRyXv4F9xgHWsukgOzFNxUbm6M9+2MxIsvM
         6ivt5U/QAP44vExlRYi0HbzvZ7sI29J9GC2sCxwAV//lIX0L3hsmD3ivUvV12g8UkS79
         oiSAQjnXy2FtZGsneuN6LkOHDgeTGiubd+fAkJRipucVSvVQAN96HdgbSAdBFwlED6tk
         +5TQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488804; x=1783093604;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=E1ntZTjXuPMc3S9pVqmhNEY95hHRXNFcsq1srHmQDd0=;
        b=IBjdb/cgPIreqfFF7KFYDYgYTOk5Aqcmed2zRvfULLtf/UR92hP98yf71ebDaJJ1jY
         FSivloE/y9qDXZqNg8wLlC+chy8SMafdr1/RXOq6ZkUNBCKwzhH28uYvN66ka4RjoZOY
         aksfQ7ovcq6G4XwuPgzNbSSIYcHUHUBU2DJUXz7G0HtO7GtAuBe0Arcr64qPlDna6M6a
         fySlTFIqSrV8fHxxA/Vrnje3Zpzn2F5TPgphXVLOf+laPX6GXaocrTl18bb8bevJrDER
         IR3w51GcAeJ4aTfG12Ql0Jmsa5R+Tvs1q8oSXpSjbB6jedbIk9ZWakaOTxi01H+D59EO
         g6jg==
X-Gm-Message-State: AOJu0Yzcqpb3+7WGm1sUDkF3rc+sGwkizTD7GZLHkfOEVIhtOVotOqYH
	ZPGC0i3Q9mRcUk3WdBp5659OQi88yC+w6JH2uUAonUp3Giwb9ht13hRLffMeGA==
X-Gm-Gg: AfdE7ckaXM7iR9U8GEdH7OR17jm/tN7WziUn86b+BI4GirSG63ly5DevvjRG/En608e
	AoM4NhTpn/d1aKfmuxjTWtfvj2eSoXPzG36MhiqbZ8lGkMcOt2TAVVkijGeFCUE43S/vxTKfLVP
	pOuy6IJETYn4C4GPr9bH26stMo5/jdZ/GWgA38xmcZxKthdd0eT4J4cf2oqLkklyGu5F37Z00Kj
	UvNP2LBVnRZgOjHNUj9l710fvgtMO/+ufKacTLrUUXHT6PhIz3POQrqQNxFVF1qEcH2APCNw5up
	q3H4C5nkLOzHaWaCPUdf/j00OpG93LrjaW/4kqC+RTT6djvT4pMRJ1/9lAugfRF2bVMnH0Q1QFY
	Df5eC2rxwGCUHviHXkf7BlsMKwv080HoY8snXzeLUU3pg1MnhcCOLwwc0iiaQ7I0gh/f/Hpj/23
	wxrzRwr2Jy0lkaGUybMm8xact3Rw/2aWTKvvkCwjl8frPpaKNFyS0C8vxxBQ==
X-Received: by 2002:a05:6512:1515:20b0:5aa:8824:156a with SMTP id 2adb3069b0e04-5aea1f57886mr1584108e87.46.1782488804127;
        Fri, 26 Jun 2026 08:46:44 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	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>,
	Timothy Pearson <tpearson@raptorengineering.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>,
	Teddy Astie <teddy.astie@vates.tech>
Subject: [PATCH v4 01/25] xen/dom0less: turn max_init_domid into a common variable
Date: Fri, 26 Jun 2026 17:46:10 +0200
Message-ID: <2c60cbed167fda0f90ce3aa4324ea4c4b076c43d.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1782488805-D7139DDE-CB210E16/10/73395122804
X-purgate-type: spam
X-purgate-size: 5746

Until now every architecture carried its own notion of max_init_domid:
Arm defined a real variable (declared in asm/setup.h, defined in
setup.c), while ppc, riscv and x86 each provided a "#define
max_init_domid (0)" stub in their asm/setup.h. This duplicated the same
declaration across all arches and placed a purely dom0less concept in
arch setup headers.

Now that the dom0less build code lives in common (xen/common/
device-tree/dom0less-build.c sets max_init_domid, and the console
serial-input switcher reads it), there is no reason for the symbol to be
per-arch. Provide a single declaration in <xen/dom0less-build.h>, with
the !CONFIG_DOM0LESS_BOOT stub kept there as well, so there is one source
of truth and the arch headers no longer need to mention it. Update
console.c to include <xen/dom0less-build.h> for the declaration instead
of relying on asm/setup.h.

Place the definition in xen/common/domid.c rather than in dom0less-
build.c. The latter is built as dom0less-build.init.o, i.e. the whole
object is relocated into the .init.* sections and freed after boot,
whereas max_init_domid must outlive boot because it is read at runtime
by the console serial-input switcher. domid.c is always linked (obj-y)
and resides in regular (non-init) sections, so it is a correct home for
the variable. It is marked __ro_after_init since it is only updated
while creating boot-time domains and read-only afterwards, and guarded
by CONFIG_DOM0LESS_BOOT as domid.c itself is unconditional.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Regarding last paragraph it is also alternative option just make
dom0less-build.init.o no-init.
---
Changes in v4:
 - New patch.
---
 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/domid.c                 | 5 +++++
 xen/drivers/char/console.c         | 1 +
 xen/include/xen/dom0less-build.h   | 7 +++++++
 8 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 0d29b46ea52b..14fa92d5c1db 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;
 };
 
-extern domid_t max_init_domid;
-
 void copy_from_paddr(void *dst, paddr_t paddr, unsigned long len);
 
 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 6310a47d68b6..86532d0a35b6 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -62,8 +62,6 @@ struct cpuinfo_arm __read_mostly system_cpuinfo;
 bool __read_mostly acpi_disabled;
 #endif
 
-domid_t __read_mostly max_init_domid;
-
 static __used void noreturn init_done(void)
 {
     /* Must be done past setting system_state. */
diff --git a/xen/arch/ppc/include/asm/setup.h b/xen/arch/ppc/include/asm/setup.h
index e4f64879b68c..956fa6985adb 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__
 
-#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/asm/setup.h
index 2215894cfbb1..73ce2f293348 100644
--- a/xen/arch/riscv/include/asm/setup.h
+++ b/xen/arch/riscv/include/asm/setup.h
@@ -5,8 +5,6 @@
 
 #include <xen/types.h>
 
-#define max_init_domid (0)
-
 void setup_mm(void);
 
 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/setup.h
index b01e83a8ed9f..5925c5f39cff 100644
--- a/xen/arch/x86/include/asm/setup.h
+++ b/xen/arch/x86/include/asm/setup.h
@@ -68,6 +68,4 @@ extern bool opt_dom0_verbose;
 extern bool opt_dom0_cpuid_faulting;
 extern bool opt_dom0_msr_relaxed;
 
-#define max_init_domid (0)
-
 #endif
diff --git a/xen/common/domid.c b/xen/common/domid.c
index b0258e477c1a..cd46cf952be6 100644
--- a/xen/common/domid.c
+++ b/xen/common/domid.c
@@ -9,6 +9,11 @@
  */
 
 #include <xen/domain.h>
+#include <xen/dom0less-build.h>
+
+#ifdef CONFIG_DOM0LESS_BOOT
+domid_t __ro_after_init max_init_domid;
+#endif
 
 static DEFINE_SPINLOCK(domid_lock);
 static DECLARE_BITMAP(domid_bitmap, DOMID_FIRST_RESERVED);
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index bcd6d261491b..4c09f4c7a984 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -31,6 +31,7 @@
 #include <xen/warning.h>
 #include <xen/pv_console.h>
 #include <asm/setup.h>
+#include <xen/dom0less-build.h>
 #include <xen/sections.h>
 #include <xen/consoled.h>
 
diff --git a/xen/include/xen/dom0less-build.h b/xen/include/xen/dom0less-build.h
index 4118dec76c0a..8d4da16d1f0a 100644
--- a/xen/include/xen/dom0less-build.h
+++ b/xen/include/xen/dom0less-build.h
@@ -5,6 +5,8 @@
 
 #include <xen/stdbool.h>
 
+#include <public/xen.h>
+
 struct domain;
 
 #ifdef CONFIG_DOM0LESS_BOOT
@@ -13,6 +15,9 @@ struct boot_domain;
 struct dt_device_node;
 struct kernel_info;
 
+/* Highest domain ID assigned to a boot-time (dom0less) domain. */
+extern domid_t max_init_domid;
+
 /*
  * List of possible features for dom0less domUs
  *
@@ -72,6 +77,8 @@ static inline bool is_dom0less_mode(void)
 }
 static inline void set_xs_domain(struct domain *d) {}
 
+#define max_init_domid 0
+
 #endif /* CONFIG_DOM0LESS_BOOT */
 
 #endif /* __ASM_GENERIC_DOM0LESS_BUILD_H__ */
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346268.1604709 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8lS-0008Sb-Fa; Fri, 26 Jun 2026 15:46:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346268.1604709; Fri, 26 Jun 2026 15: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 1wd8lS-0008SU-CV; Fri, 26 Jun 2026 15:46:46 +0000
Received: by outflank-mailman (input) for mailman id 1346268;
 Fri, 26 Jun 2026 15:46:45 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8lQ-0008SO-UL
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:46:45 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8lQ-008hLT-44
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:46:44 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ebb-2eae-0a2a0a5409dd-0a2a450a98aa-34
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:44 +0200
Received: from [209.85.167.47] (helo=mail-lf1-f47.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ee3-e40e-0a2a450a0019-d155a72fc8a3-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:44 +0200
Received: by mail-lf1-f47.google.com with SMTP id
 2adb3069b0e04-5aea3417c6bso756933e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:46:43 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.46.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488803; x=1783093603; 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=gYC0TLJPbODzgh4LCPmYHNGrM7+IoRopqU5fwkpYUjI=;
        b=NMif6dGyi4CcJWabliaTDoaQoAjc+Xl1EYHN4rXqXFjGATW1TUansvMG//65QZ2WkO
         3V6N4+NE5h4thGAYyzDRiZI3dq/Vr1KZIjj2SB5aYgg9ElpOS4FQX7lUp9b3ok67BSJM
         GvM64+B96Ml5bGrJzKCp9qXDDbfHqeCMbARs9Zu4VAgXGQtJV1D8bOxr+WPWC9Zm80LN
         iwcrkIwVfuzGbYfBGfJGZIGxX/VAJbHJPlRTf9vMZeHU/rDdvmigkGKgYcDlZsH0Oa3n
         RdYt9i1L8SEBO5gkVzkxzaz25yHa4z7B4bTtKiYK/58XTY/BtTMn/dmX9xoNNI5HPKCm
         vXAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488803; x=1783093603;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gYC0TLJPbODzgh4LCPmYHNGrM7+IoRopqU5fwkpYUjI=;
        b=Uu+weiRg3RDJss8grvKI54h1fq1cyaSiEhMUn4lKZCoSAHj62HsLswAi0ACNVUs3D/
         3XVfdAZi0N9uzXEPBYGwRMUYOc2C5G0j55ljqWuel9WIgewxZgHUaRQmTD/ozTe+lfZi
         JCEcNxunvt+p/GC01ifmYKKflJfKChfRdAQzi2cHrmEVJIQlbuVXr5DqL9ZM5p2rc7Vf
         X3G64YgGNjZHOKPuG6TnjUPAsB4XpEFRDFjFRZEiqzRrB7HIKlpjgkLxLoOlS1dWgxa9
         c3W9L5euwxn8CCCTP9mQ9fiD1MKRRigX/I6GW/jZK0lUA5STYSBHdUGRh1eLJ/Dvgscd
         IIJQ==
X-Gm-Message-State: AOJu0YyVdX4x/l+0oBLW4R1ahjJZ480SP0LRdDqJSuBGas3n2ezKGL91
	nZUYCgqHjVqkC5DrWDL17pm1bI6+ZaYLOLy81kOPFIyydXlmNfcYRP1eJ8+nfg==
X-Gm-Gg: AfdE7cl9qZCPkStJTewi8LMHahom0l4lAPiFsRS1ZYTHf+in5EQgU8w1EgTy6IUd62I
	KPzJLDe8QAIr2bDtb6IFJ4GqEqbq6ZfDl69l5jh4UmbBjyHsRFRudksM6NUFDp3kY9OasxPPLwZ
	eKKGSK9lJuRRtJvCy45UC26xKdXkkFmCwWMKkpYQyMSPkPwLTKM7T1wU9TNg9eW4KsfiaZcmDtz
	Q2JZtQZKBQ5H51vdG8WPns0ZMo2xv8pZPHTkAu0ojxlUAPf057GhQrP9SOkMksnUn0hde8cQevv
	rm1+BuPaXDeRZxtu8gz0N6Ga1aMR3QQ/BnxPuUI5oh6whR31wrdkibZxH0kV1KYyNBvxiESOWPf
	zyiHuFsCZXLfy4tJiurODmj1k2QJerFO5HREIGv10pBiUkMziytx7OcezG+sYULVvrNo+kSTv3s
	6wjA2pKiMtfUfDDfosNZkC6eu39L13yoKrk+Q3ckFBoDc2OZLfk9uTd9bv8w==
X-Received: by 2002:a05:6512:3a89:b0:5aa:6c27:c44e with SMTP id 2adb3069b0e04-5aea1f47f76mr2023221e87.22.1782488803050;
        Fri, 26 Jun 2026 08:46:43 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	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>,
	Timothy Pearson <tpearson@raptorengineering.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v4 00/25] Introduce enablemenant of dom0less
Date: Fri, 26 Jun 2026 17:46:09 +0200
Message-ID: <cover.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1782488804-D5F22DDE-BC28BCF0/10/73395122804
X-purgate-type: spam
X-purgate-size: 5436

This patch series reprensent a bunch of patches necessary to enable common part
of Dom0less.
The stuff necessary to start/launch domains will be introduced separately.

CI tests: https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/2632323911

---
Changes in v4:
 - Address comments from ML.
---
Changes in v3:
 - Drop dependency from other patch series
   ([1] https://lore.kernel.org/xen-devel/cover.1778140240.git.oleksii.kurochko@gmail.com/T/#t)
   as it was merged.
 - Reorder patches:
   - move common patches to the start.
   - Move some patches to separate patch series (will be introduced later)
 - Address comments from ML.
---
Changes in v2:
 - Move patch "[PATCH v1 04/27] xen/riscv: rework G-stage mode handling" to
   patch series [1]
 - Address the comments from ML.
 - The following patches were folded into one:
   # xen/riscv: implement init_intc_phandle()
   # xen/riscv: call do_initcalls() in start_xen()
   # xen/riscv: setup system domains
 - The following patch were folded into one:
   # xen/riscv: add vaplic access check
   # xen/riscv: emulate guest writes to virtual APLIC MMIO
   # xen/riscv: emulate guest reads from virtual APLIC MMIO
 - Add new bug fix, not really necessary to this patch series:
   xen/riscv: manage IRQ_DISABLED flag in APLIC irq enable/disable callbacks
---

Oleksii Kurochko (25):
  xen/dom0less: turn max_init_domid into a common variable
  xen: arm: move declaration of map_device_irqs_to_domain() to common
    header
  xen: arm: update p2m_set_allocation() prototype
  xen/Kconfig: introduce HAS_STATIC_MEMORY
  xen/riscv: Implement ARCH_PAGING_MEMPOOL
  xen/riscv: Implement construct_domain()
  xen/riscv: implement prerequisites for domain_create()
  xen/riscv: introduce guest riscv,isa string
  xen/riscv: implement make_cpus_node()
  xen/riscv: implement make_timer_node()
  xen/riscv: implement make_arch_nodes()
  xen/riscv: introduce init interrupt controller operations
  xen/riscv: implement make_intc_domU_node()
  xen/riscv: introduce aia_init() and aia_usable()
  xen/riscv: introduce per-vCPU IMSIC state
  xen/riscv: introduce minimal virtual APLIC (vAPLIC) infrastructure
  xen/riscv: rename enum intc_version to intc_variant
  xen/riscv: introduce (de)initialization helpers for vINTC
  xen/riscv: generate IMSIC DT node for guest domains
  xen/riscv: create APLIC DT node for guest domains
  xen/riscv: implement IRQ routing for device passthrough
  xen/riscv: implement init_intc_phandle()
  xen/riscv: initialize RCU, scheduler, and system domains in
    start_xen()
  xen/riscv: provide init_vuart()
  xen/riscv: add initial dom0less infrastructure support

 xen/arch/arm/Kconfig                      |   1 +
 xen/arch/arm/device.c                     |   9 +-
 xen/arch/arm/include/asm/p2m.h            |   1 -
 xen/arch/arm/include/asm/setup.h          |   5 -
 xen/arch/arm/mmu/p2m.c                    |  24 +--
 xen/arch/arm/setup.c                      |   2 -
 xen/arch/ppc/include/asm/setup.h          |   2 -
 xen/arch/riscv/Kconfig                    |   3 +
 xen/arch/riscv/Makefile                   |   4 +
 xen/arch/riscv/aia.c                      |  23 +++
 xen/arch/riscv/aplic.c                    |  14 +-
 xen/arch/riscv/cpufeature.c               |  88 ++++++++-
 xen/arch/riscv/device.c                   |  95 +++++++++
 xen/arch/riscv/dom0less-build.c           |  40 ++++
 xen/arch/riscv/domain-build.c             | 192 ++++++++++++++++++
 xen/arch/riscv/domain.c                   |  46 ++++-
 xen/arch/riscv/imsic.c                    | 172 ++++++++++++++++
 xen/arch/riscv/include/asm/aia.h          |  10 +
 xen/arch/riscv/include/asm/aplic.h        |  11 ++
 xen/arch/riscv/include/asm/cpufeature.h   |   4 +
 xen/arch/riscv/include/asm/domain.h       |   8 +
 xen/arch/riscv/include/asm/guest-layout.h |  24 +++
 xen/arch/riscv/include/asm/imsic.h        |  25 +++
 xen/arch/riscv/include/asm/intc.h         |  48 ++++-
 xen/arch/riscv/include/asm/irq.h          |   5 +
 xen/arch/riscv/include/asm/paging.h       |   2 +-
 xen/arch/riscv/include/asm/setup.h        |   2 -
 xen/arch/riscv/include/asm/vaplic.h       |  34 ++++
 xen/arch/riscv/intc.c                     | 101 +++++++++-
 xen/arch/riscv/irq.c                      | 230 ++++++++++++++++++++++
 xen/arch/riscv/p2m.c                      |  33 +++-
 xen/arch/riscv/paging.c                   |   7 +-
 xen/arch/riscv/setup.c                    |  12 ++
 xen/arch/riscv/stubs.c                    |  17 --
 xen/arch/riscv/vaplic.c                   | 141 +++++++++++++
 xen/arch/x86/include/asm/setup.h          |   2 -
 xen/common/Kconfig                        |   4 +
 xen/common/device-tree/dom0less-build.c   |   2 +-
 xen/common/domid.c                        |   5 +
 xen/drivers/char/console.c                |   1 +
 xen/include/xen/dom0less-build.h          |   7 +
 xen/include/xen/fdt-domain-build.h        |  13 ++
 xen/include/xen/p2m-common.h              |   8 +
 43 files changed, 1384 insertions(+), 93 deletions(-)
 create mode 100644 xen/arch/riscv/aia.c
 create mode 100644 xen/arch/riscv/device.c
 create mode 100644 xen/arch/riscv/domain-build.c
 create mode 100644 xen/arch/riscv/include/asm/aia.h
 create mode 100644 xen/arch/riscv/include/asm/vaplic.h
 create mode 100644 xen/arch/riscv/vaplic.c

-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346271.1604736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8lX-0000g2-5z; Fri, 26 Jun 2026 15:46:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346271.1604736; Fri, 26 Jun 2026 15: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 1wd8lX-0000ft-2e; Fri, 26 Jun 2026 15:46:51 +0000
Received: by outflank-mailman (input) for mailman id 1346271;
 Fri, 26 Jun 2026 15:46:49 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8lV-0000Ux-H6
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:46:49 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8lU-00Ad3u-Qv
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:46:48 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ebb-e002-0a2a0a5209dd-0a2a4508984a-42
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:48 +0200
Received: from [209.85.208.175] (helo=mail-lj1-f175.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ee8-edec-0a2a45080019-d155d0afb018-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:48 +0200
Received: by mail-lj1-f175.google.com with SMTP id
 38308e7fff4ca-39979f72d0cso6178671fa.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:46:48 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.46.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488808; x=1783093608; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=N/JdhyxbZhpV2hEcQ308jQnWzAFQCSs6VvGpVq3IvD0=;
        b=h5DM2rO0ENQXZg12l0R9PLcLh8Pc0QuOOSdX61FQ8GvHPikgJK/rDNkgQ3q0tVCXK2
         1FR3ITl6CwSOrSCpMHL23RdGIwDBjyXrFnFYeJzeby3tSwLTyoXPnJonv9dkB4qxH76s
         i4c0yJhOjJIp/B7/eikbpkWHuh2QNozaQdRSXDfIBPnygCU79HKDEz5ecIMIkURIhez2
         YiXMkja+MBixiH7uJZPmN5cNegr/+raTOkM6KhXXFdE4Yo5b+3h6gK1ATixNYhpmSNlp
         JUcuvAAk6BWeEJSUi654YD1Cufvmi7+zmzawvrwbQ0LW6XQs0oVqTHimy51bG6qKD6ne
         6Y+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488808; x=1783093608;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=N/JdhyxbZhpV2hEcQ308jQnWzAFQCSs6VvGpVq3IvD0=;
        b=GGjM672dFYoFJmxF7W77VTHZVSUjgD13JrtoIr6drHw+xBvi85pawLKTGT740WlV1g
         6hxBh86LuUcgTgtXJwa/LbU9g/8aGVMpox0h2m3x5IyXvKvBjRyaf+bgd3f7BFMOKwUF
         k/ydUKL4ZglEr2jlKda6rhBsiSzWVnSwa3357VPSMhsDE7Wr+6bqG8RNqSfV4EsKXv1n
         IWWRSn5yxlb+6SINEV/DnLBetXOVzKSuvOp9iQT0Fc0yvMADCMYXQ0DYyulhSem+6Wv+
         Q14EXK50tnyWr+zZ/3gVBe5o1JqnOVtpz3VY/W0Cozh4mGAGuNgZ5EvGplA95CsTMcMP
         O7Fw==
X-Gm-Message-State: AOJu0YxiDcM5V8VC9Vj491XLSHCbugz3TegvouYzAAq1A95ZYXRkwWS6
	CLV3caej4//FHEvxXhzkjrSlxpkiHKexJZH1mFjQi7ooCr0clKF9qUdLe4ivng==
X-Gm-Gg: AfdE7cncKnWbAUMmBnB65EVKbyUsFAWMSvEzDk83H9wt2YA813zWJK5bMeiXTUX0qso
	au7k4tbzDnQaQGDPNtoowZZnvk9+RGQ0LJghTi8tiweYlgvGarokTNfVzrUlLuK1/A4sI61xbhw
	7iY+EFfFNv9b6sPYOUDlY4Ymu5p5lG4rVQj1gdaLtZwSZ3nMLyfUfe6lyq3oXlwbrVJUjYrgDev
	sLFhYL9k0yEp2FKGSQYHeNULblv2+3etWXug9BWZAmMmo5NrOHIUNlPE3MlaoWAEINGzBOjI336
	SBr3pgndK/0s8rWHAOCblMqef18fIMIgDowYEt6TWekBPxe9Rp4/2O0WGkfDFZfcDGYv5IH4fkB
	QpAaKfCpsbC79aHx7vTtN3jWl1otiXUimXhIv4FZi9eGrSEKCdHKdlGf65bh1CoZ86/j1dRB8E+
	Fw3IC7XN33CjUUzJprxL3Pr0RqF4AcKZ3ANRN3JpiKGcRJ4ris6/A/gFVoAq7+FyYW9hvx
X-Received: by 2002:a05:6512:2285:b0:5aa:6d11:187c with SMTP id 2adb3069b0e04-5aea9450128mr305171e87.8.1782488808000;
        Fri, 26 Jun 2026 08:46:48 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	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>
Subject: [PATCH v4 04/25] xen/Kconfig: introduce HAS_STATIC_MEMORY
Date: Fri, 26 Jun 2026 17:46:13 +0200
Message-ID: <ae555155a60327e3aebb70fcaeade33349910a69.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c1860d/1782488808-A0D2B3FC-71C9598F/10/73395122804
X-purgate-type: spam
X-purgate-size: 1815

Introduce HAS_STATIC_MEMORY so that STATIC_MEMORY can be enabled or
disabled on a per-architecture basis. ARM selects the new flag; RISC-V
does not, so CONFIG_STATIC_MEMORY is unavailable on RISC-V and
randconfig builds no longer require an explicit STATIC_MEMORY=n override
to avoid a compilation error.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v4:
 - Reword the commit message to explain that HAS_STATIC_MEMORY allows
   STATIC_MEMORY to be {en,dis}abled per-arch, dropping the reference to
   guest_physmap_add_pages().
 - Split the STATIC_MEMORY dependency into two separate "depends on"
   lines.
---
Changes in v3:
 - New patch.
---
---
 xen/arch/arm/Kconfig | 1 +
 xen/common/Kconfig   | 4 ++++
 2 files changed, 5 insertions(+)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 683ab7d25a1e..d748404e82da 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -22,6 +22,7 @@ config ARM
 	select HAS_GRANT_CACHE_FLUSH if GRANT_TABLE
 	select HAS_SHARED_INFO
 	select HAS_STACK_PROTECTOR
+	select HAS_STATIC_MEMORY
 	select HAS_UBSAN
 
 config ARCH_DEFCONFIG
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 8b48d84c79e8..5b289e444fa5 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -161,6 +161,9 @@ config HAS_SCHED_GRANULARITY
 config HAS_SHARED_INFO
 	bool
 
+config HAS_STATIC_MEMORY
+	bool
+
 config HAS_SOFT_RESET
 	bool
 
@@ -196,6 +199,7 @@ config NUMA
 
 config STATIC_MEMORY
 	bool "Static Allocation Support (UNSUPPORTED)" if UNSUPPORTED
+	depends on HAS_STATIC_MEMORY
 	depends on DOM0LESS_BOOT && HAS_DEVICE_TREE_DISCOVERY
 	help
 	  Static Allocation refers to system or sub-system(domains) for
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346274.1604763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8la-0001NX-Sx; Fri, 26 Jun 2026 15:46:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346274.1604763; Fri, 26 Jun 2026 15:46:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8la-0001NM-PH; Fri, 26 Jun 2026 15:46:54 +0000
Received: by outflank-mailman (input) for mailman id 1346274;
 Fri, 26 Jun 2026 15:46:53 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8lZ-00012B-2b
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:46:53 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8lY-008hQp-Fj
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:46:52 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ee5-2eae-0a2a0a5409dd-0a2a450ba306-14
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:52 +0200
Received: from [209.85.208.169] (helo=mail-lj1-f169.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9eec-ac48-0a2a450b0019-d155d0a9b49f-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:52 +0200
Received: by mail-lj1-f169.google.com with SMTP id
 38308e7fff4ca-396771119c4so10048591fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:46:52 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.46.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488812; x=1783093612; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1J8DhFfVno1XP9itvPHGglKJyQAoP1V4ZHqNNB/X7RA=;
        b=IM3KPjIDxTSIgxlLDu+SU4AB+jzFx2YN5ImKALJl/Lp44iA+7NAbA0y6Wt5P70GnuW
         5R9d02NBpamESvuwCIK2UsEdNgFfiNLwD/I1/HlqZG+SMiFkMB+h5HwFYCPM2bvYksJz
         AdaCOxaMR6Av662r1f1eqXbbJ4xVp4yWaH2VoPC57zc5jrMGo79t0Yn1rNSTZ8MAnG3I
         lMV0fiFIGVJQQ/6bjxqehl2s3JseXrOeKmnNYjO5UX6VMbB1KJRUvn//Y1g09fOHT7E/
         Iaw1xVDRNxu2aVyDv0YV2ltm38/NI9c6zXP2uks/JHvSbkyYUkuwQTokbVYLB1m14jsy
         +2qA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488812; x=1783093612;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=1J8DhFfVno1XP9itvPHGglKJyQAoP1V4ZHqNNB/X7RA=;
        b=NXUamx/6e6lIDrMCWH05P+nfq9kLdYmupCm95OamnWl1yX77Abd3izhB3Gt0n7ODBm
         5mE1ikfQdbu8DRZHiCbPm8haaN0bH2oCQiHUH6AmKzxSICecVJ6hrCAaozrV8kQCUuYn
         bFn0keHxQ8NtosD8fbMKlJHGXHNNc+UkyIMYSqkdC7cBpSqKoohON1ltj4kVOJGQQ63V
         4zR2cU0b/3mnfsOPr7c9YjClvxj+HCvagRUXa2VQWfDBBU5anrXAH4Hy8JAr4r+tqZ9b
         LbNhZJCMbz0DrV+lTvCvhYs9VBIihg8XJbujofMHQfW5gpewkr5jeBD34CRF5vIHtcOy
         uwfA==
X-Gm-Message-State: AOJu0Yw3HhV0bpQLNHSWvpNlWmXaAYmprQIsgw2mol9IvBpB9AhpyUT9
	7xdqItaxCYdsJU5S19i44+jzkmAgqdIE5vRK/CBkokW91nTqqsjgjk30/qeNlg==
X-Gm-Gg: AfdE7cn0KhlfOd6hJA0aU9A8et8f5Mcb+V3WRFDCSu9RXZ7vDGeji1si95Mux77qB+2
	gleizDIn33ZZrQxLCkYWqfnHjClSeKbR0UlClDXEAC7MbpWlciEpuhUsQ2uFUutQZtTYumkUxO5
	cTH1aebzY6RzFnNNfef5bc4shF/5MXRb330lrJKIZTLd/SzJnOPzuLEKNWyBYb/juuh/ZJKAuc5
	c5uxSg6tQmeNRax/FA2cR5juBTSP3uW/HJ1DYt0efbuIe7aeF9QG1q+UKjtqDl5A/CST+Z1j+Gn
	uPJ6n8CbbKtQ4TKVrphhZxFb8EO8Mwf0OhPJb+q+Mx0K9p7QZ4NyvunLCLtgpuC3W+6/08jsvKO
	aC755Ai7XbiDODnPCkybAYj3fj+IaCA/ufejZJCMOD9W85qI9Syl2DXKDE9KiMzXl+V+kSZKOpS
	zlO6dCkkLk9ETF5OMDRagKuazz7uWwjeQ4B6HvctQkzGCnXHhglxXYVBFbOw==
X-Received: by 2002:a05:6512:484b:b0:5ae:a9ed:2499 with SMTP id 2adb3069b0e04-5aea9ed2520mr97120e87.58.1782488811630;
        Fri, 26 Jun 2026 08:46:51 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 v4 07/25] xen/riscv: implement prerequisites for domain_create()
Date: Fri, 26 Jun 2026 17:46:16 +0200
Message-ID: <5ddc512315e870100dc6fcc97a8f6d4fbdaaac05.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1782488812-A5921220-811BBC9F/10/73395122804
X-purgate-type: spam
X-purgate-size: 2984

arch_domain_create() and arch_sanitise_domain_config() are prerequisites for
domain_create().

arch_sanitise_domain_config() currently returns 0, as there is no specific
work required at this stage.

arch_domain_create() performs basic initialization, such as setting up the P2M
and initializing of next unused phandle.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v4:
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>.
---
Changes in v3:
 - Move arch_domain_destroy() from stubs.c to domain.c next to arch_domain_create().
 - Drop d->is_dying = DOMDYING_dead from arch_domain_create()'s fail label as domain_create() already does it.
 - Replace BUG_ON("unimplemented") with printk() in arch_domain_destroy().
---
Changes in v2:
 - update the commit message.
 - Drop vcpu_switch_to_aarch64_mode() from riscv/stubs. It shouldn't be under
   riscv/ at all.
 - Drop next_phandle as it is now in common code.
---
---
 xen/arch/riscv/domain.c | 29 +++++++++++++++++++++++++++++
 xen/arch/riscv/stubs.c  | 17 -----------------
 2 files changed, 29 insertions(+), 17 deletions(-)

diff --git a/xen/arch/riscv/domain.c b/xen/arch/riscv/domain.c
index c77be3b827eb..2819ff4e7c92 100644
--- a/xen/arch/riscv/domain.c
+++ b/xen/arch/riscv/domain.c
@@ -289,6 +289,35 @@ void sync_vcpu_execstate(struct vcpu *v)
     /* Nothing to do -- no lazy switching */
 }
 
+int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
+{
+    return 0;
+}
+
+void arch_domain_destroy(struct domain *d)
+{
+    printk(XENLOG_WARNING "%s: unimplemented\n", __func__);
+}
+
+int arch_domain_create(struct domain *d,
+                       struct xen_domctl_createdomain *config,
+                       unsigned int flags)
+{
+    int rc = 0;
+
+    if ( is_idle_domain(d) )
+        return 0;
+
+    if ( (rc = p2m_init(d, config)) != 0)
+        goto fail;
+
+    return rc;
+
+ fail:
+    arch_domain_destroy(d);
+    return rc;
+}
+
 static void __init __maybe_unused build_assertions(void)
 {
     /*
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index acbb5b9123ea..3a7953593d93 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -101,28 +101,11 @@ void dump_pageframe_info(struct domain *d)
     BUG_ON("unimplemented");
 }
 
-int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
-{
-    BUG_ON("unimplemented");
-}
-
-int arch_domain_create(struct domain *d,
-                       struct xen_domctl_createdomain *config,
-                       unsigned int flags)
-{
-    BUG_ON("unimplemented");
-}
-
 int arch_domain_teardown(struct domain *d)
 {
     BUG_ON("unimplemented");
 }
 
-void arch_domain_destroy(struct domain *d)
-{
-    BUG_ON("unimplemented");
-}
-
 void arch_domain_shutdown(struct domain *d)
 {
     BUG_ON("unimplemented");
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:06 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346277.1604782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8lc-0001pf-Pq; Fri, 26 Jun 2026 15:46:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346277.1604782; Fri, 26 Jun 2026 15:46: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 1wd8lc-0001oH-Gt; Fri, 26 Jun 2026 15:46:56 +0000
Received: by outflank-mailman (input) for mailman id 1346277;
 Fri, 26 Jun 2026 15:46:55 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8lb-0001V4-Ih
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:46:55 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8la-00D1eP-VG
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:46:54 +0200
Received: from [10.42.69.2] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ee5-5cb7-0a2a0a5109dd-0a2a45028256-18
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:54 +0200
Received: from [209.85.167.43] (helo=mail-lf1-f43.google.com)
 by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9eee-5a27-0a2a45020019-d155a72bc5fd-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:54 +0200
Received: by mail-lf1-f43.google.com with SMTP id
 2adb3069b0e04-5aea367c965so1125147e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:46:54 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.46.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488814; x=1783093614; darn=lists.xenproject.org;
        h=content-transfer-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+TCKMUSTuyvYICiXP6HL6dmH/uLiRs4XxAzoc6J/CE=;
        b=aFmNTRkeF13lSg79F+24Vw/T0BoRFYokJtbfv017PPU/0/NoFqwMvOE/cwyQqe6v2d
         MC2RYjB5H9Dh3YJC46rGv5WXiVfrSYYl6hu7m3qPf4A9DwDsoYlQWnok2wKJ38Ghp73v
         0I0Zw0M2S6b+VEia1wHeSPLjzQUzFlMC7d/R7Hu9t6ZEjFpx/W9kY5jREfamNGra1DNO
         WrIcQWvFK4uPF1iMJgrdMeaemJj9LD54TZzyAFbKW0GAdlThmwsOuLPahemwskjmfkVU
         63yFj7d1VekI4ZpN8a1NJ7ZufnL/MT5xjdFROVIZ/sWK3Z+4xMNjD1IPAcjcttnjdBK+
         ZXOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488814; x=1783093614;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=0+TCKMUSTuyvYICiXP6HL6dmH/uLiRs4XxAzoc6J/CE=;
        b=l67ECE/NWASE2Jqhs2yEF62r0PoHJy/N3rM98wL+287WdxDc5pmIrtzpn/kWkC16/1
         Y0nFbRHTKUJfo+RHokRIPLS3zdzlr2w+Rq2glRkJZHpFldGl3jlbBW3abeb1E3IlAb5D
         /GhxQxxBkZyGLP69FRtPB+VHdgbHo5JPkIxsvrFhRBIb77t4yM9VgMJV3Om7H3m63OCa
         FIWTkaLaqWBlHGCfVCMrdH5MVOuHrpR3Sd+0qnhyOoRn4/q9aZyydw9O2YSXsgcP2qxT
         Fo+klLaHRDaMiF9ZAHzjFbCOq4x+aoIwlto8c77nav2D0u2oxXfIQu/cTDzW80xkuE0l
         qrsQ==
X-Gm-Message-State: AOJu0YzN5wbv0Z7PTwpL/6jxsp/c3E32Hdcbe2HWAt2xmeeyYS/PjIWk
	PF1TxpWLF96ApMfVlQQRwyGqIGRlJLkLVcFhDgtyoK8TEWZDuV6C+Zh5PlqKaQ==
X-Gm-Gg: AfdE7ckcL0Idn4P3Q4H/I1P5GUlsTJUI7cSxw1FugfLna5C8vezha0W2b6B4CBX4ocO
	8WlJOFOnG7OXWC523fyu3O/M6OUOpw5jQF9ctCQU4KNJZ7sa6mWNzvRpjmE2qpaJvRiw9/adV9B
	nZCnqA/scXRnTfxG0MoH8xWVsg/jeYTJKbFmXh/+O5+XdrrpmWzWE9i7gn4xvBK3IvVWBhQhNeh
	xa2nhKMLdw1Q4bKvSckfEgngb/dEA9eWozEOI/TFaZ/Pats0pZpF7zuzXgV4gUT5Ljb5PRXBHP6
	x+Ml0M3B3krfbnDttfps0raic4dFXe7s9pkhp/ByGHnCQnmH/VVL56wYmaK6oRY9tyBI8yb9ayk
	MlNRU//uqoiIRnFXSSnC3vHnVxemI2nMOm1xILbKMUDqTAUK560j0er5NoIBqy6ZZ3T5spJ2Co9
	r66t5ZsVT2RqB9itXKpWcDn+BU0mzgJMfmCtgchN5b8HrSn78TcT2iKYDErA==
X-Received: by 2002:a05:6512:651c:b0:5ad:317f:a9a6 with SMTP id 2adb3069b0e04-5aea1f3f8demr1909934e87.8.1782488814088;
        Fri, 26 Jun 2026 08:46:54 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 v4 09/25] xen/riscv: implement make_cpus_node()
Date: Fri, 26 Jun 2026 17:46:18 +0200
Message-ID: <56211b75a05c8738d23caac9273ce40e39e8663f.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-720697/1782488814-4F1127C5-113466B4/10/73395122804
X-purgate-type: spam
X-purgate-size: 4834

Implement make_cpus_node() to create cpus node for a guest domain.

This function is going to be use by common dom0less code during
construction domain.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v4:
 - Update the comment in make_cpus_node() to match code style.
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>.
---
Changes in v3:
 - Add blank line above make_cpus_node() function definition.
 - Move 'unsigned int cpu' from function-level declarations into the for loop.
 - Drop 'uint32_t reg = cpu_to_fdt32(cpu)'; use fdt_property_cell(fdt, "reg", cpu)
   instead of fdt_property(fdt, "reg", &reg, sizeof(reg)) so byte-order adjustment
   is handled internally.
 - Add matching /* interrupt-controller */ start comment; fix end comment to
   /* end interrupt-controller */.
 - Update d->arch.guest_isa_str to ->isa_str in make_cpus_node() function.
---
Changes in v2:
 - s/u32/uint32_t for timebase_frequency local variable.
 - Drop +1 from BUILD_BUG_ON().
 - return fdt_end_node(fdt); instead of res at the end of the function.
---
---
 xen/arch/riscv/domain-build.c | 106 ++++++++++++++++++++++++++++++++++
 1 file changed, 106 insertions(+)

diff --git a/xen/arch/riscv/domain-build.c b/xen/arch/riscv/domain-build.c
index 5f6f4b6248a5..198a420f55a7 100644
--- a/xen/arch/riscv/domain-build.c
+++ b/xen/arch/riscv/domain-build.c
@@ -3,8 +3,10 @@
 #include <xen/fdt-domain-build.h>
 #include <xen/fdt-kernel.h>
 #include <xen/init.h>
+#include <xen/libfdt/libfdt.h>
 #include <xen/sched.h>
 
+#include <asm/cpufeature.h>
 #include <asm/current.h>
 #include <asm/guest_access.h>
 
@@ -48,3 +50,107 @@ int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
 
     return 0;
 }
+
+int __init make_cpus_node(const struct domain *d, struct kernel_info *kinfo)
+{
+    int res;
+    const struct dt_device_node *cpus = dt_find_node_by_path("/cpus");
+    uint32_t timebase_frequency;
+    bool frequency_valid;
+    void *fdt = kinfo->fdt;
+
+    dt_dprintk("Create cpus node\n");
+
+    if ( !cpus )
+    {
+        dprintk(XENLOG_ERR, "Missing /cpus node in the device tree?\n");
+        return -ENOENT;
+    }
+
+    frequency_valid = dt_property_read_u32(cpus, "timebase-frequency",
+                                           &timebase_frequency);
+
+    res = fdt_begin_node(fdt, "cpus");
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#address-cells", 1);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#size-cells", 0);
+    if ( res )
+        return res;
+
+    if ( frequency_valid )
+        res = fdt_property_cell(fdt, "timebase-frequency", timebase_frequency);
+
+    for ( unsigned int cpu = 0; cpu < d->max_vcpus; cpu++ )
+    {
+        char buf[64];
+
+        snprintf(buf, sizeof(buf), "cpu@%u", cpu);
+        res = fdt_begin_node(fdt, buf);
+        if ( res )
+            return res;
+
+        res = fdt_property_cell(fdt, "reg", cpu);
+        if ( res )
+            return res;
+
+        res = fdt_property_string(fdt, "status", "okay");
+        if ( res )
+            return res;
+
+        res = fdt_property_string(fdt, "compatible", "riscv");
+        if ( res )
+            return res;
+
+        BUILD_BUG_ON((sizeof("riscv,") +
+                      sizeof_field(struct gstage_mode_desc, name)) >= sizeof(buf));
+        snprintf(buf, sizeof(buf), "riscv,%s", max_gstage_mode->name);
+        res = fdt_property_string(fdt, "mmu-type", buf);
+        if ( res )
+            return res;
+
+        res = fdt_property_string(fdt, "riscv,isa", d->arch.isa_str);
+        if ( res )
+            return res;
+
+        res = fdt_property_string(fdt, "device_type", "cpu");
+        if ( res )
+            return res;
+
+        /* Start of interrupt-controller */
+        res = fdt_begin_node(fdt, "interrupt-controller");
+        if ( res )
+            return res;
+
+        res = fdt_property_string(fdt, "compatible", "riscv,cpu-intc");
+        if ( res )
+            return res;
+
+        res = fdt_property_cell(fdt, "#interrupt-cells", 1);
+        if ( res )
+            return res;
+
+        res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+        if ( res )
+            return res;
+
+        res = fdt_property_u32(fdt, "phandle", alloc_phandle(kinfo));
+        if ( res )
+            return res;
+
+        /* End of interrupt-controller */
+        res = fdt_end_node(fdt);
+        if ( res )
+            return res;
+
+        res = fdt_end_node(fdt);
+        if ( res )
+            return res;
+    }
+
+    return fdt_end_node(fdt);
+}
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346279.1604790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8le-00027J-32; Fri, 26 Jun 2026 15:46:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346279.1604790; Fri, 26 Jun 2026 15: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 1wd8ld-00026a-Tv; Fri, 26 Jun 2026 15:46:57 +0000
Received: by outflank-mailman (input) for mailman id 1346279;
 Fri, 26 Jun 2026 15:46:56 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8lc-0001nt-Lm
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:46:56 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8lc-00D1eP-2U
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:46:56 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ed4-5cb7-0a2a0a5109dd-0a2a4505c00c-36
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:56 +0200
Received: from [209.85.167.51] (helo=mail-lf1-f51.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9eef-3cb2-0a2a45050019-d155a733e845-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:56 +0200
Received: by mail-lf1-f51.google.com with SMTP id
 2adb3069b0e04-5ad5e719157so1023729e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:46:55 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.46.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488815; x=1783093615; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qB2c1Qc5sQgY4mzQM5bvoIPB8oNENMm9Ls9IP71fSNs=;
        b=bfzfneABRezBGUbQkRz7USViUt6+d0tlpPpsJVhMSlma06lUiXLzYgDPq9aoE46d9g
         V70hm2k2oUlQMQGQLmO/js0yNCOWolQfQRBIbfRYSG9ayXEQGzXVvE5KVOf9prT4rDc8
         zuQhsxS9saizxqXwGXy4Ax3cZRbLiw8GUCNS0FZpQGw4oBuv7daOSnd//yfMQSXrMRBn
         XpG+pgZ0tUvkQ80Qi9BBDU2iFJxZnvF7QbN9JYsAsLjTBHr/3nBx4QmX0WVw5NCqTeuy
         j0ej81QfFIgutOQ/apE00B+Ux13DzJXVEDeB+rLIIU49vc9gfPhlnOl4mKJdOOcz9eDy
         1Azg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488815; x=1783093615;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=qB2c1Qc5sQgY4mzQM5bvoIPB8oNENMm9Ls9IP71fSNs=;
        b=lUdDoljaeHswf9LfxuhdCLzZEDs0RC4exwQsbNXoL0ZIZ40xo/al1FcHJnrojROwN0
         w6CmBJhEdcvT1oUtcswbjmlkXpDFDG/0M9a6rBwYBbqbY3y0Vp/RSfweJbV8bNK+UNXS
         EYmZUnSwe+lW+jg6nMuBSVQFmKzgjFOAZapVYtcqw239KZ0Ze4j/k7Yfu4tHYLh3sPb+
         GklieQB1axrde15HbQtvWw0BVvo5PrjPH64d2BxKbeFzlI3WHEx2UtpyvrKsAeiSptq2
         0K/D2rfUdyJ4qYaDEUwsXJIyEGkswMfJuQMxjL9R6GB3TvCEtd09Qu0s4PmxpwTKN0ni
         V3iA==
X-Gm-Message-State: AOJu0YxcPXBhlUJOmz7CVBkrlncLcsMWiSz4iX2WoX7HCc64td4A1wkZ
	P8QkHIWBDT3ITHqjg1IWsdiEucaaR9iBR/WTvXa0C+OKXFLBr/3OKufFMu8cYw==
X-Gm-Gg: AfdE7ckywEnERiQl7a+38OCpT+VnT04byWmtHK57aI432ymdHwLVP6DlKVdZTIRsK4b
	BW5HVkr3lxC7NbHas6IvJi//SEtM9BhZXMdr5TQG2mOMJ7uYq2tKPfzoiI35ImVvBoTGKENWLxA
	mn3JAhfkyDHcLaGAj9M9qWWIGVZF/QY1jhqeawAFEYvq2SohWQON/YFDfpTi3ljYgZCGJL6oBOg
	LvEffpRKriaM9WmKz4Qs6zCOcCTYjV1cUFplPH0plYV+68cdm65mRKNaCSPpcQBgedgjPqsjWRH
	iYtz1fgC5Ub9tNd+CIDFzDVXBjz30ZZURQHcDgDnKKkoKg8rCzAEWAW6j8BZrJyx2SnG5jQNjKO
	57KxYlUAGxYiC3SqzbT5BQDDQmysB+4VwrkzgbmjXrmVWEo6OujrngSJr205S+F3qxiqHl60lUy
	F+GCziVpqJk1+lm0FFw+eXiKky8mpcKzCSYBeUSYQpxNm8zn2QfqZyNgd/fQ==
X-Received: by 2002:a05:6512:3e13:b0:5ae:9dcd:d071 with SMTP id 2adb3069b0e04-5aea1f4b410mr2461758e87.25.1782488815091;
        Fri, 26 Jun 2026 08:46:55 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 v4 10/25] xen/riscv: implement make_timer_node()
Date: Fri, 26 Jun 2026 17:46:19 +0200
Message-ID: <02032a8d2fc06025ee8863617be71f3873ca1e26.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1782488816-1771B2B8-5D8B6865/10/73395122804
X-purgate-type: spam
X-purgate-size: 1618

Generally, in DT for RISC-V there is a document which describes a timer
node (riscv,timer.yaml or sifive,clint.yaml), but the Linux timer driver
is declared with TIMER_OF_DECLARE(riscv_timer, "riscv", ...).
It matches the CPU node (compatible "riscv"), not the timer node itself.
It then calls of_find_compatible_node(NULL, NULL, "riscv,timer") only to
read the optional riscv,timer-cannot-wake-cpu property.

Since Xen does not care about that property for now, make_timer_node() is
implemented to return 0, as no timer node needs to be created for RISC-V
guests.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v3-4:
 - Nothing changed. Only rebase.
---
Changes in v2:
 - Acked-by: Jan Beulich <jbeulich@suse.com>
 - Update the commit message.
---
---
 xen/arch/riscv/domain-build.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/xen/arch/riscv/domain-build.c b/xen/arch/riscv/domain-build.c
index 198a420f55a7..54ecd301c49c 100644
--- a/xen/arch/riscv/domain-build.c
+++ b/xen/arch/riscv/domain-build.c
@@ -3,6 +3,7 @@
 #include <xen/fdt-domain-build.h>
 #include <xen/fdt-kernel.h>
 #include <xen/init.h>
+#include <xen/fdt-kernel.h>
 #include <xen/libfdt/libfdt.h>
 #include <xen/sched.h>
 
@@ -154,3 +155,10 @@ int __init make_cpus_node(const struct domain *d, struct kernel_info *kinfo)
 
     return fdt_end_node(fdt);
 }
+
+int __init make_timer_node(const struct kernel_info *kinfo)
+{
+    /* There is no need for timer node for RISC-V. */
+
+    return 0;
+}
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:08 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346280.1604797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8le-0002Fz-R3; Fri, 26 Jun 2026 15:46:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346280.1604797; Fri, 26 Jun 2026 15: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 1wd8le-0002Dr-GV; Fri, 26 Jun 2026 15:46:58 +0000
Received: by outflank-mailman (input) for mailman id 1346280;
 Fri, 26 Jun 2026 15:46:57 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8ld-0001zo-FZ
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:46:57 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8lc-008hQp-SR
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:46:56 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ed7-2eae-0a2a0a5409dd-0a2a4509c3ce-32
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:56 +0200
Received: from [209.85.167.50] (helo=mail-lf1-f50.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ef0-97e6-0a2a45090019-d155a732e4d0-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:56 +0200
Received: by mail-lf1-f50.google.com with SMTP id
 2adb3069b0e04-5aea8d5a777so343255e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:46:56 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.46.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488816; x=1783093616; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=L0ZctfsZi9AKtr1AUJuUtLW7iH2a6UK3bDqcVMsemmU=;
        b=ol2gHnyl2AIXjb10OnTRa88sSCLMrahCV4gUqUxWFSxUPrEg9hn6qfHv2awCvTzvkn
         qJW/w8rluxDGrBSCDSXc9HHiNqE/lLqP/QijrlfD/gWtD2hLZrKTCeCjxn8SPYsif9uu
         wHhBlfzyVV/TylXCKgR+c6FgoPpDIm0joa+EDaRDUjOUa63EMEf3ApdowohfkEhQS9Gu
         AzXH6j4vYv5DgXxw+J6/t5fYvsJFS0+EXDrphw/BNuGBAN+TlIKN5v4QhuBcBTslQDIB
         lIiRPy9U9a2XPpPblu5HlrCJCcFZ6NlXVONhiNwMertBiCZTTME5RbCkKOTPUnErk03e
         1ijg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488816; x=1783093616;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=L0ZctfsZi9AKtr1AUJuUtLW7iH2a6UK3bDqcVMsemmU=;
        b=aVHxPOTK9YI+m99WO6QhKORz79NnTZhORenNNmBcUF3Q6KP2aEgK6ekZpN9QwRmBpb
         hA9QkAasroPaxFZSgAbztRG74NIzwLULClaln9gQRfrWMH34IdIuLvOKry9t7TpBHhRh
         JMMInOfGfEFqwxuvp0HUEcQK58QI0WiY6BdsiYCqr3DwEmLVffQuzYpPQr+qoHCNr4n5
         J+cR+ZHC/xSWpoiFHqiOfGJKwSGcTV7UXOhAWRSOiXGKxVHPyJLZwKH7/Gql7Jg+wCGJ
         OclAIx7HxvZ95tisJXC/gchYZUHpXSILqG7fUe5mCDeWr5KYUfyT9b4E2DVhgU/eSvqS
         7+tg==
X-Gm-Message-State: AOJu0Yx5KIBfdsK7mOEkBo82IqW3VqIMwCRy4gbKkaggL7rRaApjXYWE
	AB17lLGX7eZJ8ki4YtHj+LAjRY8HrI0aZn+M9/of/PrZMZuHKoxWUoAGhZ7rEw==
X-Gm-Gg: AfdE7clfcOJsVuHuL2f0+HOelpSZZBqzpZM4BBGC5uK8b0jVQimM+zbalki/W5yMFGW
	d1NXFaqJH+5c81aIMJXB5xjna3IayCPv5EU36kifpOALoyw1nPoBj3Yv5g//B3TvjZof1x781LR
	s+KR/swOAcn6IrjmelajCnVtlCMd0ibSGph4Pr0Jg1R9q1nqAyG8x0keBKvo6x4qdilLrgxk8NI
	l775Q94uQCEufze+USWgCAf4AyN3p3g/lkTCbQ7ocDfkS82PGRlHz5nvctPOa830F2psR5blEkm
	pWcw4GcJNzm/UvPITzeJpuKtBEyBK3GMSdwsVw5UGVCYLMe7TFgMnuLu7T3ed2U9hsFZ3ar1ocr
	JA8gjV5BYJ5xWRBcr93zeuctpAC86lxm94YzwQL05h40QRansoqRsptrqmKEE+a49m/S3M2lW/f
	Q2V+ToRzjXB233oMw/MCB3F+HyMlPqIWEf6/RCLhiBSnwD0BzYeTf61yCkBw==
X-Received: by 2002:a05:6512:618a:b0:5ae:a9ec:bb35 with SMTP id 2adb3069b0e04-5aea9ecbc7fmr129687e87.61.1782488816000;
        Fri, 26 Jun 2026 08:46:56 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 v4 11/25] xen/riscv: implement make_arch_nodes()
Date: Fri, 26 Jun 2026 17:46:20 +0200
Message-ID: <7b35f8da6b35920c012c56d5790584e237b2fe4b.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1782488816-54B87986-6B9BB6B3/10/73395122804
X-purgate-type: spam
X-purgate-size: 1320

No RISC-V-specific nodes need to be created at the moment,
so make_arch_nodes() is implemented to simply return 0.

It is placed in dom0less-build.c as make_arch_nodes() is
only used in the dom0less code path. In the future, it will
be extended to create an emulated UART node.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Add Acked-by: Jan Beulich <jbeulich@suse.com>
---
Change in v4:
 - Add lost Acked-by.
---
Changes in v3:
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>.
---
Changes in v2:
 - Update the commit message.
---
---
 xen/arch/riscv/dom0less-build.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/xen/arch/riscv/dom0less-build.c b/xen/arch/riscv/dom0less-build.c
index a683972e9235..4cc00012aa8d 100644
--- a/xen/arch/riscv/dom0less-build.c
+++ b/xen/arch/riscv/dom0less-build.c
@@ -2,10 +2,18 @@
 
 #include <xen/bootfdt.h>
 #include <xen/device_tree.h>
+#include <xen/fdt-kernel.h>
 #include <xen/init.h>
 
 #include <asm/p2m.h>
 
+int __init make_arch_nodes(struct kernel_info *kinfo)
+{
+    /* No RISC-V specific nodes need to be made, at the moment. */
+
+    return 0;
+}
+
 int __init arch_parse_dom0less_node(struct dt_device_node *node,
                                     struct boot_domain *bd)
 {
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:10 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346281.1604808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8lg-0002c7-94; Fri, 26 Jun 2026 15:47:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346281.1604808; Fri, 26 Jun 2026 15:47: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 1wd8lf-0002a7-WA; Fri, 26 Jun 2026 15:46:59 +0000
Received: by outflank-mailman (input) for mailman id 1346281;
 Fri, 26 Jun 2026 15:46:58 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8le-0002Ap-DR
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:46:58 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8ld-00D1eP-QD
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:46:57 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ed4-5cb7-0a2a0a5109dd-0a2a4505c00c-42
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:57 +0200
Received: from [209.85.167.41] (helo=mail-lf1-f41.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ef1-3cb2-0a2a45050019-d155a729f031-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:57 +0200
Received: by mail-lf1-f41.google.com with SMTP id
 2adb3069b0e04-5ad536cd0c6so1012879e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:46:57 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.46.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488817; x=1783093617; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FzYOAPlpVwUcUak5H++ik2H8pEqHXcF+MNINDhmTTZ8=;
        b=bqRzeLr92fsmX9wc1dW6sjw7CqV+uJFJZGrAaHV8ykSH2ESbK6ZJ3dL0xuiUHi4xxj
         eiqYciX0/bxwhdMQRYQeHmAQU1vNYRm7VyGTuZJrOSQettDSPB8JLaaxk5hnN31McOBl
         PlxHAhPLvlTl8H47mIRRimwCjueC/pAAuYQlUJonG8puqCCyjT4iNwqaEcs3eaaWWDRu
         r1yCbQCVAzhMyUb+XGLgqrsepgOZo7MYZAHUcUy/Z8vvqSiNJCD5xbS39DcJ3XCvm29b
         QdqRoMSlMot1QjVs0a7bFOA7Xo1bY9KfOeG4LF4fDZRx5dJ/ZEM/TZ0L93McsFy0+mrx
         KxjA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488817; x=1783093617;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=FzYOAPlpVwUcUak5H++ik2H8pEqHXcF+MNINDhmTTZ8=;
        b=h1fMeqsUvtvQSvlg+Z5T5QUyofAYRk47dUUQl/mvEGbwI1gNBpZE0XpcxF+2RW+uxF
         eANvQ0P5BWmX64wwDe4QGiH+zfMCSHDkfyNIhshdsqJeKqJITyfFGm7fYQCgN7bXz5N/
         fmVho5K6FuO+pEirOSPNBskRKrB/trA2D3vzNqhD89kNw9QdnKHGFOSIUSyFTnptHVhA
         dWzH233488QvnS5QldgHeTzm/tdMJOs7ep2Ro4QsRLZdKXpzG3J4zLjb//84C/dbz5Vt
         uyvu3e2lP0GIV8WnKCyMW+qMTPuTIvnIO0nYajFgNSTIUqCXKHVOuxtUANyNNnK1cKiV
         VEaQ==
X-Gm-Message-State: AOJu0Yyg9/Ug0xaVmH28rmc62QEI4E4LNhGMr6rdjMgPtthujzWpwJfS
	zrQjka5/ChDBLkSqIoln5tdG9/b3BH7TWnMH4cd6OhrA2bTdMLmlDGObjDSWfQ==
X-Gm-Gg: AfdE7ck7Rd400QbNX7rrl6IdKKScRsCLDKVx/EK0lISKRCbzy14zQpHJOerDnhHzLKk
	94+opJYo2JCJXZ8xVPPut9fyEnWrY4PwCZiSIP/TvVl6TdAKoRgUj9YV51dq54+qszKfi6jbmxV
	9WOGBL482ItrKLlhdI0P0t4wUTrKs0uilO24UU4lmh+cezTZlrrDzvVzAJL4P+rLBiEio8qfzCr
	t+xRtsLSbViVzEfa07Ygmg8ZYc5gqsOg3pogE3L/cCcR6dR86O5K+5GWJkqnAxaAVopWkNyCzVK
	yO9gapusszTPDE1rNEq6rYsnuRq9mAltVNtHFQCnjJ2HuIQrmYzKXb3DMQhdKJfzmJIbA+eUBiI
	3stBwf3rROXT2sSStiR50uJXb/tmpbtoHjn10NZWC3mn02whI7LU+ne8m5wENerabgWzWkI0iNX
	M4THGMAYMqAj9I/Sp7Y6aF2Fx7vbZS5CKNmg8l4udTwcxz6shm5ciB9advneo3aMBKD8il
X-Received: by 2002:a05:6512:39c8:b0:5ad:abf:1e1d with SMTP id 2adb3069b0e04-5aea1f3464emr2403998e87.8.1782488816947;
        Fri, 26 Jun 2026 08:46:56 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 v4 12/25] xen/riscv: introduce init interrupt controller operations
Date: Fri, 26 Jun 2026 17:46:21 +0200
Message-ID: <6b57fa27f8f4c8a90a1237c1880ecf476b9fe222.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1782488817-0DB092B8-6C7299E4/10/73395122804
X-purgate-type: spam
X-purgate-size: 3976

Introduce intc_hw_init_ops structure to avoid risky mix of init
function and non-init function.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v4:
 - Use __initconstrel instead of __initconst for aplic_init_ops as both
   initialized fields incur a relocation.
 - Add Acked-by: ... .
---
Changes in v3:
 - Use __initconst instead of __initdata for const intc_hw_init_ops.
 - Embed const struct intc_hw_operations *ops into intc_hw_init_ops so
   register_intc_ops() takes a single pointer argument.
---
Changes in v2:
 - New patch.
---
---
 xen/arch/riscv/aplic.c            |  8 ++++++--
 xen/arch/riscv/include/asm/intc.h | 10 +++++++---
 xen/arch/riscv/intc.c             | 11 ++++++++---
 3 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/xen/arch/riscv/aplic.c b/xen/arch/riscv/aplic.c
index 739e8dab3498..def15f792d62 100644
--- a/xen/arch/riscv/aplic.c
+++ b/xen/arch/riscv/aplic.c
@@ -306,12 +306,16 @@ static const hw_irq_controller aplic_xen_irq_type = {
 
 static const struct intc_hw_operations aplic_ops = {
     .info                = &aplic_info,
-    .init                = aplic_init,
     .host_irq_type       = &aplic_xen_irq_type,
     .handle_interrupt    = aplic_handle_interrupt,
     .set_irq_type        = aplic_set_irq_type,
 };
 
+static const struct intc_hw_init_ops __initconstrel aplic_init_ops = {
+    .ops                 = &aplic_ops,
+    .init                = aplic_init,
+};
+
 static int cf_check aplic_irq_xlate(const uint32_t *intspec,
                                     unsigned int intsize,
                                     unsigned int *out_hwirq,
@@ -347,7 +351,7 @@ static int __init aplic_preinit(struct dt_device_node *node, const void *dat)
 
     dt_irq_xlate = aplic_irq_xlate;
 
-    register_intc_ops(&aplic_ops);
+    register_intc_ops(&aplic_init_ops);
 
     /* Enable supervisor external interrupt */
     csr_set(CSR_SIE, BIT(IRQ_S_EXT, UL));
diff --git a/xen/arch/riscv/include/asm/intc.h b/xen/arch/riscv/include/asm/intc.h
index ecdc8a5e6577..3d84fcc51d1a 100644
--- a/xen/arch/riscv/include/asm/intc.h
+++ b/xen/arch/riscv/include/asm/intc.h
@@ -28,8 +28,6 @@ struct intc_info {
 struct intc_hw_operations {
     /* Hold intc hw information */
     const struct intc_info *info;
-    /* Initialize the intc and the boot CPU */
-    int (*init)(void);
 
     /* hw_irq_controller to enable/disable/eoi host irq */
     const struct hw_interrupt_type *host_irq_type;
@@ -43,9 +41,15 @@ struct intc_hw_operations {
     void (*handle_interrupt)(struct cpu_user_regs *regs);
 };
 
+struct intc_hw_init_ops {
+    const struct intc_hw_operations *ops;
+    /* Initialize the intc and the boot CPU */
+    int (*init)(void);
+};
+
 void intc_preinit(void);
 
-void register_intc_ops(const struct intc_hw_operations *ops);
+void register_intc_ops(const struct intc_hw_init_ops *init_ops);
 
 void intc_init(void);
 
diff --git a/xen/arch/riscv/intc.c b/xen/arch/riscv/intc.c
index ea317aea5ad8..3600d23bdb5b 100644
--- a/xen/arch/riscv/intc.c
+++ b/xen/arch/riscv/intc.c
@@ -12,9 +12,12 @@
 
 static const struct intc_hw_operations *__ro_after_init intc_hw_ops;
 
-void __init register_intc_ops(const struct intc_hw_operations *ops)
+static const struct intc_hw_init_ops *__initdata intc_hw_init_ops;
+
+void __init register_intc_ops(const struct intc_hw_init_ops *init_ops)
 {
-    intc_hw_ops = ops;
+    intc_hw_ops = init_ops->ops;
+    intc_hw_init_ops = init_ops;
 }
 
 void __init intc_preinit(void)
@@ -27,7 +30,9 @@ void __init intc_preinit(void)
 
 void __init intc_init(void)
 {
-    if ( intc_hw_ops->init() )
+    ASSERT(intc_hw_init_ops && intc_hw_init_ops->init);
+
+    if ( intc_hw_init_ops->init() )
         panic("Failed to initialize the interrupt controller drivers\n");
 }
 
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346286.1604832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8lj-0003H7-Tw; Fri, 26 Jun 2026 15:47:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346286.1604832; Fri, 26 Jun 2026 15:47: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 1wd8lj-0003DT-9V; Fri, 26 Jun 2026 15:47:03 +0000
Received: by outflank-mailman (input) for mailman id 1346286;
 Fri, 26 Jun 2026 15:47:01 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8lh-0002oK-4T
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:47:01 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8lg-00D1eP-HX
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:47:00 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9eeb-5cb7-0a2a0a5109dd-0a2a4508b62c-6
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:00 +0200
Received: from [209.85.167.48] (helo=mail-lf1-f48.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ef4-edec-0a2a45080019-d155a730d911-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:00 +0200
Received: by mail-lf1-f48.google.com with SMTP id
 2adb3069b0e04-5aea915df15so438523e87.3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:47:00 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.46.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488820; x=1783093620; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=doELmlZY6voWxsScgdyib31c6ViG28sXkot44w2GTgw=;
        b=fyNePBOG9uC6F7smYz1/yH3U7wm/jf5DX6o3J58yPiYobeVDJn3pgLyZBNey/ZK+1s
         ReQuDLXLyPvdALb50TyIqWeDuYhkdW4n2eULGcFijXX0yUZbdtzEsB4qfzeBEgSxJETb
         2SIv1Nu/3drAl8CPWl8/pXj3oKClUWNI/Xxev+dKm94LsIZecyAZzgKE1Glqee8fEkbY
         ueOBhmuTGCvRiROqfM72M6pnGV1fe3yb4CxqW/qU3Nqo9JcW7/Wnib5l4dUZs/9QEZ0j
         9Tv9tBI9YK3hivK2LL03CJfRDWQrLKR6q3GRNljJAkQk43nd38tCibP7yK1SouHg76lS
         6a8w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488820; x=1783093620;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=doELmlZY6voWxsScgdyib31c6ViG28sXkot44w2GTgw=;
        b=sPxDo78bFX0+QKKUNc2nZQZ8gUKtsr7RCARuJSMk2HBk3OyYT2z8BK2RyhDb3J5bhv
         xTymWgC1CGRszK6/GaYMuPti/SAJ74bPEJtexAJwOeNDLYVyAm1zVZwOkNrgr+zj00Wn
         QQ5CkOW3d1BZwlmvO7ijK92EkHafnBWXJ7kk19zCOYBaR4VnHNEHi6hBsqM5wlWqDmTY
         q0338Iy8z0XmQhvaWFAA33jURC3MrZa0xQJ1+bH8jVN5kLbHsErhlILNTBn190+80fFK
         Sm7nShK+MKQvfI/7sXVCOKDm9UvUw8l1ZOMKjsW3y7ZJbNBhe3x7PNEw+PWorXB4zB/J
         hxfQ==
X-Gm-Message-State: AOJu0YyUGbOA6628v6v2C7AplZoiJmDg1uTJwZiM5AqSNAuOrGre/Dd4
	czWc1QTQNYPY7eNWt0V6H0L1lwKelBNGmQql4zQNuShw/FnnuS/mglVXCQzhzA==
X-Gm-Gg: AfdE7clsbC7+jVlv6hNyUDwARBGg5t/ksC4iwAknHwGtWka+DzxLgLtX4T2AjIaSOwc
	ffpPFR9xOCE/D2NOl6DrReunnfc2XROyz9pCOHa9LmKL8/8HSa/WM5vYjFMgXSgndZpROEHB1mq
	pTpnI4ipjDkicCxeEckef/OjN0GicJ8aKStAM8Fv6m3+s13hF8/+2qlEioGOMt7dGJdbF7JcxxV
	tjkhgiRo7JjsBrKH5d1CbpTsjpj6Ozyo2b5jKEaam9S8eWKIrby9epI7nrKOOEqNXsxB+fVgkJR
	aBtv49hCNCeRvGScZHdMNQPxy+599qtSXM8heSPkcaaH80xrMumOH/J0w76PEKpmi9sV2FwXhp8
	xBVlv+Rn9Og4shFnSuL6ap/9lZB3TWN3CvPhOTNj7f1kAnevtniMoSeNyXnjRjBUFe26UGjYdl0
	+M21xQSNbRFormY71DkTAbZCQfxb7ycOB/OECBoeczGeRmNYQten7LaOFyQg==
X-Received: by 2002:a05:6512:8053:b0:5aa:6b0b:1f34 with SMTP id 2adb3069b0e04-5aea1f29155mr1571422e87.8.1782488819683;
        Fri, 26 Jun 2026 08:46:59 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 v4 15/25] xen/riscv: introduce per-vCPU IMSIC state
Date: Fri, 26 Jun 2026 17:46:24 +0200
Message-ID: <98936eb92e39aae0b56049d6c94cfd468f559397.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c1860d/1782488820-4253F3FC-A181279A/10/73395122804
X-purgate-type: spam
X-purgate-size: 6151

Each vCPU interacting with the IMSIC requires state to track the
associated guest interrupt file and its backing context.

Introduce a per-vCPU structure to hold IMSIC-related state, including
the guest interrupt file identifier and the CPU providing the backing
VS-file. Access to the guest file identifier is protected by a lock.

Initialize this structure during vCPU setup and store it in arch_vcpu.
The initial state marks the VS-file as software-backed until it becomes
associated with a physical CPU.

Add helper to retrieve the guest interrupt file identifier:
- vcpu_guest_file_id() is going to be used during update of APLIC's
  target register with the pair of information <guest_file_id, cpu_id>
  (to have MSI delivery mode work properly) when guest is trying to
  access vAPLIC's target register.
It will be used in the follow up patches.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v4:
-  s/w vs h/w IMSIC VS-file commentary for struct vimsic_state:
   - fix the vsfile_pcpu h/w condition:
     "vsfile_pcpu >= 0" -> "vsfile_pcpu < NR_CPUS"
     (the old wording conflicted with the s/w "== NR_CPUS" case).
   - reorder both comment blocks to the "s/w ... / h/w ..." form for readability.
 - drop IMPOSSIBLE_GUEST_FILE_ID: the s/w IMSIC VS-file is always available
   and corresponds to guest_file_id == 0, which xvzalloc() already provides,
   so the explicit initializer in vcpu_imsic_init() and the macro itself
   are unneeded.
---
Changes in v3:
 - Drop const from imsic_set_guest_file_id() and vcpu_imsic_deinit() as
   it only works due to vimsic_state being a pointer member.
 - Use XVFREE() in vcpu_imsic_deinit() to make it idempotent.
 - Fix SW-file typo in struct vimsic_state comments; should be VS-file.
 - Drop imsic_set_guest_file_id() here, it will be added later when it
   will be nessary to initialise guest file id as the correspondendt code
   in this patch series was reworked and there is no need to use this
   function in arch_vcpu_create().
 - Introduce IMPOSSIBLE_GUEST_FILE_ID and init with it ->guest_file_id.
---
Changes in v2:
 - Rename imsic_state to vimsic_state.
 - Use 'unsigned int' for vsfile_pcpu.
 - Drop initialzation of ->guest_file_id as it will be by default zero.
 - Add the comment about ->guest_file_id field.
 - Drop __init for vcpu_imsic_init() as it could be used during post-boot
   vCPU creation.
 - Update the commit message.
 - Drop locks around ->guest_file_id() in  vcpu_guest_file_id() and imsic_set_guest_file_id().
---
---
 xen/arch/riscv/imsic.c              | 35 +++++++++++++++++++++++++++++
 xen/arch/riscv/include/asm/domain.h |  2 ++
 xen/arch/riscv/include/asm/imsic.h  | 22 ++++++++++++++++++
 3 files changed, 59 insertions(+)

diff --git a/xen/arch/riscv/imsic.c b/xen/arch/riscv/imsic.c
index f7b70a8da09e..7068d6a7fef1 100644
--- a/xen/arch/riscv/imsic.c
+++ b/xen/arch/riscv/imsic.c
@@ -16,6 +16,7 @@
 #include <xen/errno.h>
 #include <xen/init.h>
 #include <xen/macros.h>
+#include <xen/sched.h>
 #include <xen/smp.h>
 #include <xen/spinlock.h>
 #include <xen/xvmalloc.h>
@@ -56,6 +57,11 @@ do {                            \
     csr_clear(CSR_SIREG, v);    \
 } while (0)
 
+unsigned int vcpu_guest_file_id(const struct vcpu *v)
+{
+    return ACCESS_ONCE(v->arch.vimsic_state->guest_file_id);
+}
+
 void __init imsic_ids_local_delivery(bool enable)
 {
     if ( enable )
@@ -312,6 +318,35 @@ static int imsic_parse_node(const struct dt_device_node *node,
     return 0;
 }
 
+int vcpu_imsic_init(struct vcpu *v)
+{
+    struct vimsic_state *imsic_state;
+
+    /* Allocate IMSIC context */
+    imsic_state = xvzalloc(struct vimsic_state);
+    if ( !imsic_state )
+        return -ENOMEM;
+
+    v->arch.vimsic_state = imsic_state;
+
+    /* Setup IMSIC context  */
+    rwlock_init(&imsic_state->vsfile_lock);
+
+    /*
+     * xvzalloc() already cleared the context, so guest_file_id == 0, i.e. the
+     * always-available s/w IMSIC VS-file. Only vsfile_pcpu needs an explicit
+     * initializer as its s/w VS-file value is NR_CPUS rather than 0.
+     */
+    imsic_state->vsfile_pcpu = NR_CPUS;
+
+    return 0;
+}
+
+void vcpu_imsic_deinit(struct vcpu *v)
+{
+    XVFREE(v->arch.vimsic_state);
+}
+
 /*
  * Initialize the imsic_cfg structure based on the IMSIC DT node.
  *
diff --git a/xen/arch/riscv/include/asm/domain.h b/xen/arch/riscv/include/asm/domain.h
index 8e597e231ee7..bbeac7518a85 100644
--- a/xen/arch/riscv/include/asm/domain.h
+++ b/xen/arch/riscv/include/asm/domain.h
@@ -54,6 +54,8 @@ struct arch_vcpu {
 
     struct vtimer vtimer;
 
+    struct vimsic_state *vimsic_state;
+
     register_t hcounteren;
     register_t hedeleg;
     register_t hideleg;
diff --git a/xen/arch/riscv/include/asm/imsic.h b/xen/arch/riscv/include/asm/imsic.h
index c6c59215df20..e2c413487d24 100644
--- a/xen/arch/riscv/include/asm/imsic.h
+++ b/xen/arch/riscv/include/asm/imsic.h
@@ -11,6 +11,7 @@
 #ifndef ASM_RISCV_IMSIC_H
 #define ASM_RISCV_IMSIC_H
 
+#include <xen/rwlock.h>
 #include <xen/spinlock.h>
 #include <xen/stdbool.h>
 #include <xen/types.h>
@@ -61,7 +62,24 @@ struct imsic_config {
     spinlock_t lock;
 };
 
+struct vimsic_state {
+    /* IMSIC VS-file */
+    rwlock_t vsfile_lock;
+    /*
+     * s/w IMSIC VS-file -> guest_file_id == 0
+     * h/w IMSIC VS-file -> guest_file_id > 0
+     */
+    unsigned int guest_file_id;
+    /*
+     * s/w IMSIC VS-file -> vsfile_pcpu == NR_CPUS
+     * h/w IMSIC VS-file -> vsfile_pcpu < NR_CPUS
+     */
+    unsigned int vsfile_pcpu;
+};
+
 struct dt_device_node;
+struct vcpu;
+
 int imsic_init(const struct dt_device_node *node);
 
 const struct imsic_config *imsic_get_config(void);
@@ -71,4 +89,8 @@ void imsic_irq_disable(unsigned int hwirq);
 
 void imsic_ids_local_delivery(bool enable);
 
+int vcpu_imsic_init(struct vcpu *v);
+void vcpu_imsic_deinit(struct vcpu *v);
+unsigned int vcpu_guest_file_id(const struct vcpu *v);
+
 #endif /* ASM_RISCV_IMSIC_H */
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346289.1604842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8ll-0003gT-EH; Fri, 26 Jun 2026 15:47:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346289.1604842; Fri, 26 Jun 2026 15:47: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 1wd8ll-0003eR-18; Fri, 26 Jun 2026 15:47:05 +0000
Received: by outflank-mailman (input) for mailman id 1346289;
 Fri, 26 Jun 2026 15:47:02 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8li-0002xD-3b
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:47:02 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8lh-008hTo-Fi
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:47:01 +0200
Received: from [10.42.69.9] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ed7-2eae-0a2a0a5409dd-0a2a4509c3ce-44
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:01 +0200
Received: from [209.85.167.54] (helo=mail-lf1-f54.google.com)
 by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ef5-97e6-0a2a45090019-d155a736bc1d-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:01 +0200
Received: by mail-lf1-f54.google.com with SMTP id
 2adb3069b0e04-5aea7e6220aso809434e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:47:01 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.46.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:47: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488821; x=1783093621; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=AchFHgJ16zmh1UmcP9J522LiWGX/SFON840u47F4Ksk=;
        b=JiFyoE88hmDxrKTGkldVJOfGKf/fN5KaRmq0B0nThqGG0iE1yM3Bei5uGT7/9BPduC
         rY0TBY3LYLUB3PNOhGoXuOSGEGk9BmBBxzhyAvnNQtjmsT9lxVlyhV6nunu+XEVH7vnn
         DgVyi2a8czr/IQkj8xOgywrmAbQU9jyPEfO25TUKMbO5pQ3ZH0EugbzP2S3+cQaDQQnI
         jlNORpahAmcDZ+O6lcwd+YbFaBwhvpEcH9KLLg4shyJ9Unl6HmzN4I2juBZqMcDHNfGe
         rZYmoAqztlX81dnDvXVUMeJFfjYaHQcQJXJQ+iz4Cdoq7cZ3HAV81IKitn76vygZoECa
         w7XA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488821; x=1783093621;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=AchFHgJ16zmh1UmcP9J522LiWGX/SFON840u47F4Ksk=;
        b=hSZOmRtDEG5f3qGUOrRQelz2EOW8KGIUZASa1ljAuztMfmZRgo3ZksdkvALyw7fQC6
         a3WpBFQK0QUJEvN5JHZPO6ad/ikz1c7pBXu7erAJ86uhe/s1r7d22V00SVHyiDiRoJGf
         FT1PVTo6NJSy53Gjoq8nmcJTUfGPtf4t+7rZm3P0JtJXAsUOkjCgaQx3QfjqWjUP83QL
         1lwFbGFbELPXcVKKUg9dk7L9mKfhRVFIwy3+Yu+9RfapA6UBCSZzz1gn+tYnnLQIqHNr
         RqGocn1mFbmZsBPQ/4mcUMnuNxFlmdSBZ/tp1vn6t2QJ+ce/s5dCDjrtRPxYTJzfSCxm
         nfNA==
X-Gm-Message-State: AOJu0Yx9PlE7h+gG+AFy5e5wWhexWYGuUcRv0wIRa2i7x//Ymqz67O5a
	x2LTJ3EBQaE6o7/5nawfSqbTB6lLzz+TKmrHsOznn9N+N7jNZ4wVF+LeDui/Bg==
X-Gm-Gg: AfdE7cmCNi6XW9NFnrRgF+/SrN3HKNETaQ9sU4TY0E4xi1pLyA35cFxXU5FtTbGJCWs
	ta9qoF2IMH/OlBsEFd3MMZ+2adDdQoc18e1dDOyE1+U6dvJ/z9hsUV9IwAciS+pNyyWgtDEU5g+
	+S1QvqNPAXYpB28fKvHUYMvx+rqmtpaG63qiyGTbc+Vh4DhFfcz0aFbhaZx4TVFUfc+Vhg66M4p
	eXvOl0n7nQW6dYTnzJA4d4FvgT4rMbcsM5M42rlz5Nbxm17ZzD3zerioaySmpp52WRGYwf8O5gB
	UvfycwAbKythEZRQykI9OeGY1x/HEgaD1rH74btnjF7B6jQ0YdH9VJegYE/zYRaxpS2a5Out904
	BILJxU+Cnz7sOX4tPRZO4ddeGVDuQ31wXra/GY4JPzsjI4YOtFKXMP0n0tUcm+BkKFoB3TnwWpN
	iUG9LN6EfjFkh/kTkGzyluVctl9D26rsbgyhUlhu5rQnQpZgNqhpO9+ZaCSg==
X-Received: by 2002:a05:6512:3c92:b0:5aa:6fff:c3e3 with SMTP id 2adb3069b0e04-5aea1f4cdf3mr2573519e87.33.1782488820619;
        Fri, 26 Jun 2026 08:47:00 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 v4 16/25] xen/riscv: introduce minimal virtual APLIC (vAPLIC) infrastructure
Date: Fri, 26 Jun 2026 17:46:25 +0200
Message-ID: <61603c1548b7c685fb92e1b687445fc1b6a95c35.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-bad1c0/1782488821-46B3B986-AEAF6148/10/73395122804
X-purgate-type: spam
X-purgate-size: 8640

At the current development stage, only domain vINTC init and deinit
operations are required, so implement those first.

Initialize vAPLIC's domaincfg to with the interrupt-enable bit set and
MSI delivery mode selected as the current solution is exepcted to have
always IMSIC, and initialize vintc->ops.

Other operations such as emulate_load(), emulate_store(), and is_access()
will be needed once guests are running and MMIO accesses to APLIC MMIO
range must be handled. These will be introduced separately later.

Introduce a structure to describe a virtual interrupt controller (vINTC)
and a vintc_ops structure, which provides operations to emulate load and
store accesses to interrupt controller MMIOs and to check whether a given
address falls within the MMIO range of a specific virtual interrupt
controller.

The vAPLIC implementation of these operations will be provided later
once guests can be run and these operations are actually needed.

Introduce these structures here as they are required for the implementation
of domain_vaplic_init() and domain_vaplic_alloc(). Also, introduce
vaplic_init() and init vintc_ops->vcpu_init() with it.

Co-developed-by: Romain Caritey <Romain.Caritey@microchip.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v4:
 - Change subject of the commit.
 - s/APLIC_DOMAINCFG_RO80/APLIC_DOMAINCFG_RO + added a comment above definition.
 - Drop unnessary blank lines.
---
Changes in v3:
 - Drop ASSERT() before vintc->ops->vcpu_init() in arch_vcpu_create(); a
   NULL deref already produces a sufficient backtrace.
 - Parenthesize macro argument in to_vaplic().
 - Drop __init from domain_vaplic_init() and domain_vaplic_deinit() since
   the caller domain_vintc_init() (follow-up patch) is not __init.
 - Remove pointless zero-initializer for rc in vcpu_vaplic_init().
 - Fix domain_vaplic_deinit() to null d->arch.vintc before freeing, making
   the function idempotent.
 - Drop intc_irq_nums(), (*nr_irqs)(void) hook from intc_hw_operations,
   aplic_nr_irqs(), and vintc->nr_irqs field entirely.
 - Rename vcpu_vaplic_init() to vaplic_init() and drop vgein_assign() and
   imsic_set_guest_file_id() calls; those will be introduced/called later,
   where for sure we will know on which pCPU vCPU as it is required for
   proper h/w IMSIC interrupt file calculation, to have this initialization
   in one place.
 - Introduce vaplic_deinit().
---
Changes in v2:
 - s/vcpu/v for function arguments in struct vintc_ops().
 - Update the comment above is_access() and drop const for addr argument.
 - Update to_vaplic() to work with 'struct domain *'.
 - Drop smsiaddrcfg{h} from vaplic_regs struct as they aren't used for now.
 - Drop inclusion of xen/schec.h from intc.c.
 - use result of xvzalloc() as initializer in vpalic_alloc().
 - Drop goto in domain_vaplic_init().
 - s/XVFREE/xvfree.
 - s/aplic/vintc.
 - Drop __init for vcpu_vaplic_init() as it could be called for secondary CPU bring up.
 - Drop vaplic_alloc().
 - Drop vintc_ops struct, embed callbacks iniside struct vintc.
 - Introduce and init vintc irqs for vAPLIC.
 - Introduce intc_irq_nums() to properly initialize number of vAPLIC's irqs.
---
---
 xen/arch/riscv/Makefile             |  1 +
 xen/arch/riscv/domain.c             | 11 ++---
 xen/arch/riscv/include/asm/aplic.h  |  3 ++
 xen/arch/riscv/include/asm/intc.h   | 10 +++++
 xen/arch/riscv/include/asm/vaplic.h | 34 ++++++++++++++++
 xen/arch/riscv/vaplic.c             | 63 +++++++++++++++++++++++++++++
 6 files changed, 114 insertions(+), 8 deletions(-)
 create mode 100644 xen/arch/riscv/include/asm/vaplic.h
 create mode 100644 xen/arch/riscv/vaplic.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 9df8b72b5494..9d8d21b65188 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -25,6 +25,7 @@ obj-y += smpboot.o
 obj-y += stubs.o
 obj-y += time.o
 obj-y += traps.o
+obj-y += vaplic.o
 obj-y += vmid.o
 obj-y += vm_event.o
 obj-y += vsbi/
diff --git a/xen/arch/riscv/domain.c b/xen/arch/riscv/domain.c
index e4a8c27ea9cb..129e775c52cb 100644
--- a/xen/arch/riscv/domain.c
+++ b/xen/arch/riscv/domain.c
@@ -11,6 +11,7 @@
 #include <asm/bitops.h>
 #include <asm/cpufeature.h>
 #include <asm/csr.h>
+#include <asm/intc.h>
 #include <asm/riscv_encoding.h>
 #include <asm/vtimer.h>
 
@@ -155,14 +156,8 @@ int arch_vcpu_create(struct vcpu *v)
     if ( (rc = vcpu_vtimer_init(v)) )
         goto fail;
 
-    /*
-     * As interrupt controller (IC) is not yet implemented,
-     * return an error.
-     *
-     * TODO: Drop this once IC is implemented.
-     */
-    rc = -EOPNOTSUPP;
-    goto fail;
+    if ( (rc = v->domain->arch.vintc->ops->vcpu_init(v)) )
+        goto fail;
 
     return rc;
 
diff --git a/xen/arch/riscv/include/asm/aplic.h b/xen/arch/riscv/include/asm/aplic.h
index b0724fe6f360..2e606b8cd947 100644
--- a/xen/arch/riscv/include/asm/aplic.h
+++ b/xen/arch/riscv/include/asm/aplic.h
@@ -15,6 +15,9 @@
 
 #include <asm/imsic.h>
 
+
+/* domaincfg bits 31:24 are read-only 0x80 */
+#define APLIC_DOMAINCFG_RO      (0x80U << 24)
 #define APLIC_DOMAINCFG_IE      BIT(8, U)
 #define APLIC_DOMAINCFG_DM      BIT(2, U)
 
diff --git a/xen/arch/riscv/include/asm/intc.h b/xen/arch/riscv/include/asm/intc.h
index 9b701445179f..46a0073c2d59 100644
--- a/xen/arch/riscv/include/asm/intc.h
+++ b/xen/arch/riscv/include/asm/intc.h
@@ -15,6 +15,7 @@ enum intc_version {
 struct cpu_user_regs;
 struct irq_desc;
 struct kernel_info;
+struct vcpu;
 
 struct intc_info {
     enum intc_version hw_version;
@@ -51,8 +52,17 @@ struct vintc_init_ops {
     int (*make_domu_dt_node)(struct kernel_info *kinfo);
 };
 
+struct vintc_ops {
+    /* Initialize some vINTC-related stuff for a vCPU */
+    int (*vcpu_init)(struct vcpu *v);
+
+    /* Deinitialize some vINTC-related stuff for a vCPU */
+    void (*vcpu_deinit)(struct vcpu *v);
+};
+
 struct vintc {
     const struct vintc_init_ops *init_ops;
+    const struct vintc_ops *ops;
 };
 
 void intc_preinit(void);
diff --git a/xen/arch/riscv/include/asm/vaplic.h b/xen/arch/riscv/include/asm/vaplic.h
new file mode 100644
index 000000000000..96080bfbc23b
--- /dev/null
+++ b/xen/arch/riscv/include/asm/vaplic.h
@@ -0,0 +1,34 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * xen/arch/riscv/vaplic.c
+ *
+ * Virtual RISC-V Advanced Platform-Level Interrupt Controller support
+ *
+ * Copyright (c) Microchip.
+ */
+
+#ifndef ASM__RISCV__VAPLIC_H
+#define ASM__RISCV__VAPLIC_H
+
+#include <xen/kernel.h>
+#include <xen/types.h>
+
+#include <asm/intc.h>
+
+struct domain;
+
+#define to_vaplic(d) container_of((d)->arch.vintc, struct vaplic, vintc)
+
+struct vaplic_regs {
+    uint32_t domaincfg;
+};
+
+struct vaplic {
+    struct vintc vintc;
+    struct vaplic_regs regs;
+};
+
+int domain_vaplic_init(struct domain *d);
+void domain_vaplic_deinit(struct domain *d);
+
+#endif /* ASM__RISCV__VAPLIC_H */
diff --git a/xen/arch/riscv/vaplic.c b/xen/arch/riscv/vaplic.c
new file mode 100644
index 000000000000..6562b25f0abb
--- /dev/null
+++ b/xen/arch/riscv/vaplic.c
@@ -0,0 +1,63 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * xen/arch/riscv/vaplic.c
+ *
+ * Virtual RISC-V Advanced Platform-Level Interrupt Controller support
+ *
+ * Copyright (c) Microchip.
+ * Copyright (c) Vates
+ */
+
+#include <xen/errno.h>
+#include <xen/sched.h>
+#include <xen/xvmalloc.h>
+
+#include <asm/aia.h>
+#include <asm/imsic.h>
+#include <asm/intc.h>
+#include <asm/vaplic.h>
+
+#include "aplic-priv.h"
+
+static int cf_check vaplic_init(struct vcpu *v)
+{
+    return vcpu_imsic_init(v);
+}
+
+static void cf_check vaplic_deinit(struct vcpu *v)
+{
+    return vcpu_imsic_deinit(v);
+}
+
+static const struct vintc_ops vintc_ops = {
+    .vcpu_init = vaplic_init,
+    .vcpu_deinit = vaplic_deinit,
+};
+
+int domain_vaplic_init(struct domain *d)
+{
+    struct vaplic *vaplic = xvzalloc(struct vaplic);
+
+    if ( !vaplic )
+        return -ENOMEM;
+
+    d->arch.vintc = &vaplic->vintc;
+    d->arch.vintc->ops = &vintc_ops;
+
+    vaplic->regs.domaincfg = APLIC_DOMAINCFG_IE | APLIC_DOMAINCFG_DM |
+                             APLIC_DOMAINCFG_RO;
+
+    return 0;
+}
+
+void domain_vaplic_deinit(struct domain *d)
+{
+    struct vaplic *vaplic;
+
+    if ( !d->arch.vintc )
+        return;
+
+    vaplic = to_vaplic(d);
+    d->arch.vintc = NULL;
+    xvfree(vaplic);
+}
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346283.1604814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8lh-0002tL-Im; Fri, 26 Jun 2026 15:47:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346283.1604814; Fri, 26 Jun 2026 15: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 1wd8lh-0002st-9M; Fri, 26 Jun 2026 15:47:01 +0000
Received: by outflank-mailman (input) for mailman id 1346283;
 Fri, 26 Jun 2026 15:46:59 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8lf-0002OG-CH
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:46:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8le-004aSr-Ol
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:46:58 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ef2-bab6-0a2a0a5309dd-0a2a450adae0-4
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:58 +0200
Received: from [209.85.208.178] (helo=mail-lj1-f178.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ee9-e40e-0a2a450a0019-d155d0b2c5b3-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:50 +0200
Received: by mail-lj1-f178.google.com with SMTP id
 38308e7fff4ca-399f5e574b0so11917671fa.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:46:50 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.46.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488809; x=1783093609; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vafZ9uu7Ib7QiNOrz7YTpkLsKCJIlHqsiKN2O4f/BLQ=;
        b=calD2OC8OdHT11rJ9Cx/qNGPR/AGUhNU+AHcsgtvuRpuBKlO/F4FKWq0yOXgcSoTeb
         v9/lDantYYVeyEFPnuzJtY8KfCC+Otr/GT4fRhHXqpzCoFYhlDTIbdeg5uvatowevYpm
         Ay1SewrW7qmy9hvhTSisEZVo/P9uOissTv1dVzjtE5KuvY/wpT+P4fzKxvmYUkXeRlDq
         gD8A+MjK0RfzOAaNOEyBrjC5mJPQ++/B43QyR6DHlNWUtnSnygturbaZA2Ab8Crq/Kme
         6zsHPfU0acpxjPqT63TH4jsZshUH4kSXpWczd3XNB487sjFKtGE6bvUsPGYosHSrmzfq
         I/Wg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488809; x=1783093609;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=vafZ9uu7Ib7QiNOrz7YTpkLsKCJIlHqsiKN2O4f/BLQ=;
        b=VRpUSGesWhIwCaeUd5SVHRnE6r//glppk28wPGl7853iIv0kqaRX6JihEOJHW8lGOf
         Jm1kDzuZt2b7TNlJ80UWF2SrKL9np+riX7gVkyuXW4gvwJNQnsDTZe4/JfesH46OmIG/
         9tLEOwOPHj89JlJaFhyOAgON2LWnI1jcwh6bYDrsRZYuGtUUmBBoVacXhuXOKmoDeX99
         7szvfCnVRnbVWObTXUq2Xhl5z2+M0qr+Xpzfm8nwpwVFW0TRd1eF0i5xrNcOlArG121u
         ybJ4Hm9qrGg7dVBvdQd3GQPh946+ncVSSkpRM8YR/XJ7cFkSOtWsncLORDTfnvU3Tv5k
         P7Ug==
X-Gm-Message-State: AOJu0YwRw7LAX88Sqxw83mwOCPI+8whc2bRTnS9JTNEhEdT+6PwfZew5
	VBLBsbLUzt2Psz5M5BNruo23j6zX++W//E/S3TULUoowsMsYzZbgnxnPOC6aLg==
X-Gm-Gg: AfdE7ckVYjiNtw9D5na8zPUM6I6l1ZAj5sV94j4dbAyJbj1mxdEkHNaLDBNmTqCsI43
	11LzPu221lOjaTjywzaVDGwI7xYn1ri+TDX4HM0YRdzR6drl5z7j0NsFUXl+fnco1I1g0hSTdx0
	/kO8wDSSqPDlg45sBCU85gr1yrDX751m3IPdkFzpQbZSSFBcvuZKYpqpIcHWvDtkdjlDHCKiP8d
	fpfSnt5pa2KGkvmFuRld+UgCmZgKMmKuAxvGy98FH+k+RXY3ep/4iRNuQsOI8hvRpeau7G5MqmP
	goqdSxrqf6WdvkYW0d+K8LE4YQgqEMOsWfMpFmh6ynpiKPtDySI3/ZTFH4Dp5N1HwTJ/OEYN6ZA
	vkMNEk2dj6olZ28UmCV6udN5ErBvOgvqNVCWNIF7H9wX94AdCG+T6Z2j9zyH1zowKg5vjnKdS7j
	O85DZlrCBi1L2oOaUeviglsloDyOZmpDJOnq4CIVi/oYmo15P/6yf3eJeqgxEpvn+BXWt7
X-Received: by 2002:a05:6512:1410:b0:5ad:5620:ba65 with SMTP id 2adb3069b0e04-5aea2066328mr2280843e87.50.1782488809430;
        Fri, 26 Jun 2026 08:46:49 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 v4 05/25] xen/riscv: Implement ARCH_PAGING_MEMPOOL
Date: Fri, 26 Jun 2026 17:46:14 +0200
Message-ID: <b074856a461dc17df6c14f9f481e0c8cd3edc3e4.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1782488810-3D470DDE-BAD961D0/10/73395122804
X-purgate-type: spam
X-purgate-size: 2630

The p2m_freelist is used to allocate pages for the P2M. To initialize
this list, domain_p2m_set_allocation() may be called from construct_domU()
in the common Dom0less code, so RISC-V provides an implementation and
enables CONFIG_ARCH_PAGING_MEMPOOL unconditionally.

Additionally, implement arch_{set,get}_paging_mempool_size(). They are
not directly used yet, but are required to support the
XEN_DOMCTL_{get,set}_paging_mempool_size hypercalls.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v4:
 - Nothing changed. Only rebase.
---
Changes in v3:
 - Drop stray blank space in arch_get_paging_mempool_size().
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>.
---
Changes in v2:
 - Turn on CONFIG_ARCH_PAGING_MEMPOOL=y unconditionally and drop all ifdef-s
   related to this config.
 - Optimize check inside arch_set_paging_mempool_size which verify size
   argument.
 - Use pfn_to_paddr() inside arch_get_paging_mempool_size() instead of open
   coding the stuff.
 - Drop ASSERT() from arch_set_paging_mempool_size() as it is impossible to
   have here preempted = true and rc != -ERESTART.
---
---
 xen/arch/riscv/Kconfig |  1 +
 xen/arch/riscv/p2m.c   | 24 ++++++++++++++++++++++++
 2 files changed, 25 insertions(+)

diff --git a/xen/arch/riscv/Kconfig b/xen/arch/riscv/Kconfig
index 41426c205292..48520588fe40 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 DOMAIN_BUILD_HELPERS
 	select FUNCTION_ALIGNMENT_16B
 	select GENERIC_BUG_FRAME
diff --git a/xen/arch/riscv/p2m.c b/xen/arch/riscv/p2m.c
index 566266e3e78f..1cea86512c8c 100644
--- a/xen/arch/riscv/p2m.c
+++ b/xen/arch/riscv/p2m.c
@@ -1600,3 +1600,27 @@ struct page_info *get_page_from_gfn(struct domain *d, unsigned long gfn,
 
     return p2m_get_page_from_gfn(p2m_get_hostp2m(d), _gfn(gfn), t);
 }
+
+int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
+{
+    unsigned long pages = PFN_DOWN(size);
+    int rc;
+
+    /* Non page-sized request or 32-bit overflow? */
+    if ( pfn_to_paddr(pages) != size )
+        return -EINVAL;
+
+    spin_lock(&d->arch.paging.lock);
+    rc = p2m_set_allocation(d, pages, true);
+    spin_unlock(&d->arch.paging.lock);
+
+    return rc;
+}
+
+/* Return the size of the pool, in bytes. */
+int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
+{
+    *size = pfn_to_paddr(ACCESS_ONCE(d->arch.paging.total_pages));
+
+    return 0;
+}
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346284.1604820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8li-0002wr-6T; Fri, 26 Jun 2026 15:47:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346284.1604820; Fri, 26 Jun 2026 15: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 1wd8lh-0002w9-OQ; Fri, 26 Jun 2026 15:47:01 +0000
Received: by outflank-mailman (input) for mailman id 1346284;
 Fri, 26 Jun 2026 15:46:59 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8lf-0002RQ-HT
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:46:59 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8le-004aSr-Uc
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:46:58 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ef2-bab6-0a2a0a5309dd-0a2a450adae0-12
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:58 +0200
Received: from [209.85.208.171] (helo=mail-lj1-f171.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ef2-e40e-0a2a450a0019-d155d0abe5e6-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:58 +0200
Received: by mail-lj1-f171.google.com with SMTP id
 38308e7fff4ca-3965adfd75fso9039471fa.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:46:58 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.46.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488818; x=1783093618; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=z9apWbvB3Q7fbjd5yUWMyhIhyy9eFY+Tl+j7eQxlTNk=;
        b=cJESfHsfPsCCQAizqLl4+wEFgVkI+S//dHKrg7zK70cRiDh2dn9JmWd8QRr0fmSy1j
         iX9mvhwqx9MneU7pnnjvNc6/BgSK2yaFrddiU56FfXcjlHic1hywbRhdTehA/fa1D0fs
         DgOSqo0sxEU9HecLqHNIU7I31gfDNnBtp2fHHLX1Um0HaQFjZdKxK5C92+SFJ0+xKv0K
         GMoy9rj4uPmUVAwqSO0AnqFYMVbCCP3TeTiN6Dm1FzdkIOyXnLIHCdhCvqjiY0x1Mkho
         aus5n0tbEt06FhD+ma19Acu4TTAcCeULiYLBPcnl1S0I0s+Yml+y9CoZV0CZU4TuGNWd
         IyZw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488818; x=1783093618;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=z9apWbvB3Q7fbjd5yUWMyhIhyy9eFY+Tl+j7eQxlTNk=;
        b=mScfDZDsPOWC6OhsoQMvDJ978fdXQ1sjTrvfyXSJKmjNUII6vlpeCPBvR6af6/OK+2
         /Dfg3ioMP8Odp+scMqiS1C4hxFWVVEXfUvlqHWMKEY/O2MqfUnU9a81EIXwFFDI+tAL/
         T0GJIedpOPFPY3mMeFHi+CFDqiZxxfe4D3CSqYMjcdOYPu8fyvm4kMu75muPWIbW8AQO
         pb9369Zd9SWvYH45bGz/SQv8PT9p3c8U61Q0wJ/gvyA5Y0SQhqJHocvoYvk261ivim9e
         LS56wggWwd8X6+7+Q8L88Tk8LMhydWUWztNAAteHqokEs5Q0r8LCkQ+rP1JRHxv0VqqI
         gMJw==
X-Gm-Message-State: AOJu0Yzjw1rUT2rhbpMDo1ciiqrpaUHYFz+TnTsGMh/w6MHoANgTeSi3
	Ty299vpSPF2oZASVPZrmSRBeC4fPNJXfR0ojVHWKU4k6jF8RimBykkWAYRaWyQ==
X-Gm-Gg: AfdE7clhferVHCuQudgPxygIfslKK+ynKKSpvOrqLKUUaW26I13/gFzqGcR9lj27Jl7
	mF3Sz+MRJPrmd7eDe0kL5foUQqdc9oPbIwS4Hd3RKZUIkUyWmjhkdRztUgS9lJIP2J11ZkaiTRD
	wKyg6ym9w9oW6xrcerw5g9yD8/gjRxE70Pooj4+SmuPWZIE/aVmwLzX5L94TCROoC8oRlltuFZs
	4a8Xh543O9BQw14vFSprggwtnQqsMCevzqy/xVpl++5gnrb9b9yxc/bhg5h+4HOV06jXG2ObLRe
	hOLEtw+ZRvAJUa9aUbesY/+UaiRdNoXrk+jg9FxLww7ZN0wwsLtml80HejK0g5ghau6YNnkXacF
	LrQ7zzcgVPxjY8qCU7ko4L9xB7x33mKv7IvTqUjrP3hMNwlgV51Sv9qxZ5mUXPuL4uLAUjh6lgn
	nsHTwhOIBgvesVKo/YoFe4En6Fgwrmy6HSibZG4hiYLFQoCLu0YCPei95GJw==
X-Received: by 2002:a05:6512:461a:b0:5aa:655b:ac29 with SMTP id 2adb3069b0e04-5aea1f2d5d2mr2181855e87.13.1782488817809;
        Fri, 26 Jun 2026 08:46:57 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 v4 13/25] xen/riscv: implement make_intc_domU_node()
Date: Fri, 26 Jun 2026 17:46:22 +0200
Message-ID: <b5b8bd37af37ee8ea84c07612871ebfcd53b66d1.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1782488818-D6F3ADDE-8808133E/10/73395122804
X-purgate-type: spam
X-purgate-size: 3543

Introduce a RISC-V specific function to create an interrupt controller
Device Tree node for DomU domains during dom0less build.

Add make_intc_domU_node() to the dom0less build path and wire it to
a new generic helper, intc_make_domu_dt_node(), which delegates DT
node creation to the active interrupt controller implementation via
vintc_init_ops.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Change in v4:
 - Made local variable vintc pointer-to-const.
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v3:
 - Use const struct vintc_init_ops *init_ops in struct vintc.
 - Drop redundant intc_hw_ops check in make_intc_domU_node().
 - Drop NULL pointer checks in make_intc_domU_node() as we can't start domU
   without properly created interrupt contoller node.
---
Changes in v2:
 - s/intc_make_domu_dt_node/make_intc_domU_node.
 - introduce separate intc_hw_init_ops structure for init operations.
 - Return -EOPNOTSUPP instead of -ENOSYS.
 - Drop const for kinfo argument as it could be changed by interrupt
   controller node creation code.
 - Refactor make_domu_dt_node().
 - Make make_domu_dt_node part of vintc structure as it looks more logical to be
   there.
---
---
 xen/arch/riscv/include/asm/domain.h |  2 ++
 xen/arch/riscv/include/asm/intc.h   | 12 ++++++++++--
 xen/arch/riscv/intc.c               |  8 ++++++++
 3 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/xen/arch/riscv/include/asm/domain.h b/xen/arch/riscv/include/asm/domain.h
index 459896c04b41..8e597e231ee7 100644
--- a/xen/arch/riscv/include/asm/domain.h
+++ b/xen/arch/riscv/include/asm/domain.h
@@ -98,6 +98,8 @@ struct arch_domain {
 
     DECLARE_BITMAP(isa, RISCV_ISA_EXT_MAX);
     char *isa_str;
+
+    struct vintc *vintc;
 };
 
 #include <xen/sched.h>
diff --git a/xen/arch/riscv/include/asm/intc.h b/xen/arch/riscv/include/asm/intc.h
index 3d84fcc51d1a..9b701445179f 100644
--- a/xen/arch/riscv/include/asm/intc.h
+++ b/xen/arch/riscv/include/asm/intc.h
@@ -8,14 +8,13 @@
 #ifndef ASM__RISCV__INTERRUPT_CONTOLLER_H
 #define ASM__RISCV__INTERRUPT_CONTOLLER_H
 
-struct dt_device_node;
-
 enum intc_version {
     INTC_APLIC,
 };
 
 struct cpu_user_regs;
 struct irq_desc;
+struct kernel_info;
 
 struct intc_info {
     enum intc_version hw_version;
@@ -47,6 +46,15 @@ struct intc_hw_init_ops {
     int (*init)(void);
 };
 
+struct vintc_init_ops {
+    /* Create interrupt controller node for domain */
+    int (*make_domu_dt_node)(struct kernel_info *kinfo);
+};
+
+struct vintc {
+    const struct vintc_init_ops *init_ops;
+};
+
 void intc_preinit(void);
 
 void register_intc_ops(const struct intc_hw_init_ops *init_ops);
diff --git a/xen/arch/riscv/intc.c b/xen/arch/riscv/intc.c
index 3600d23bdb5b..e63da5e22efc 100644
--- a/xen/arch/riscv/intc.c
+++ b/xen/arch/riscv/intc.c
@@ -3,6 +3,7 @@
 #include <xen/acpi.h>
 #include <xen/bug.h>
 #include <xen/device_tree.h>
+#include <xen/fdt-kernel.h>
 #include <xen/init.h>
 #include <xen/irq.h>
 #include <xen/lib.h>
@@ -72,3 +73,10 @@ void intc_route_irq_to_xen(struct irq_desc *desc, unsigned int priority)
     intc_set_irq_type(desc, desc->arch.type);
     intc_set_irq_priority(desc, priority);
 }
+
+int __init make_intc_domU_node(struct kernel_info *kinfo)
+{
+    const struct vintc *vintc = kinfo->bd.d->arch.vintc;
+
+    return vintc->init_ops->make_domu_dt_node(kinfo);
+}
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346296.1604863 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8lq-0004QW-0X; Fri, 26 Jun 2026 15:47:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346296.1604863; Fri, 26 Jun 2026 15:47: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 1wd8lo-0004Ky-LD; Fri, 26 Jun 2026 15:47:08 +0000
Received: by outflank-mailman (input) for mailman id 1346296;
 Fri, 26 Jun 2026 15:47:06 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8ll-0003hC-E8
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:47:05 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8lk-008hTo-Pz
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:47:04 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9eed-2eae-0a2a0a5409dd-0a2a4504e35c-30
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:04 +0200
Received: from [209.85.208.180] (helo=mail-lj1-f180.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ef8-a01d-0a2a45040019-d155d0b4b4c1-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:04 +0200
Received: by mail-lj1-f180.google.com with SMTP id
 38308e7fff4ca-396771119c4so10049121fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:47:04 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.47.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:47: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488824; x=1783093624; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=d+KWRQx/XjRfjBiOa3Y3HELI1/yEcgsVLINlQEFSIzQ=;
        b=lK1vTxfhFSjr5/5Ru+Ya5TifHS83nMCNC08nEBifgK3uHYgVDNAHBe4leqyvC3J/zO
         h7d08hUS5rjrsfpohRKNwfS5hFGr3kfp7zyBqQYLysYCONw3Dgsd4B3+1YvQSbhp/GV2
         LnmMLMWjNsjTzWXdqYSZF9f6cMy3a2f2SEN8nHv7MhRetd1+aaCGYtW8VpzYSOWCknrK
         GiQnMk1Ze0PqKFAH7rDBk6alKhbs9NZ6djuvRD+kEmzrVKJlTVvI/p8d9SIneNXJcRJO
         JJMhgcnLrlcnhqz96qMaRhwWvrgvlGd09cDNkVn0+VTLnd70gg/bp3MQouERepUxZRSI
         7YvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488824; x=1783093624;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=d+KWRQx/XjRfjBiOa3Y3HELI1/yEcgsVLINlQEFSIzQ=;
        b=HhalDUbl4zDAY/VaTIAdEQwUUaxYqFnDsuNVnim3rD06YRHC1EDeALEwjT03CO6njl
         BNaDbI8GJdYAHZWZ7x9RguiIwl9aq60dKvxYD2KK6tbTOXcFfnkxuhlDYkrhBhT40PGO
         rInZCAfseh8P7ieQqMj0uqidzfkTNnUwjiBJq7+JidEaUBcgsCpU4k9kPzv6SlZTQOzB
         mBb6OtfJVhA5OOp/8NS83JQjwzdnL5+lof8iaYRgLKlE3Ywh1Q8yDUw0cs1eXlxFyBwq
         dNm16axtZKu8VLjsqA3eHeYZyHu+XgKENIV/9n4TPrrcDJHJDvjKjvCRuiWbsmk/zmDI
         t8xg==
X-Gm-Message-State: AOJu0Yz9XdiJPthIpdwVV8zc7vLNhEGUkjBc+hCnJRNe5/TsbudWV4qS
	l4e/UpUp8a5nFJF33BC0C8i9imPb2Sn0NMAUxkE7BN2JfgUtFwRGHWGK4J2Wbw==
X-Gm-Gg: AfdE7cmBRzOVkfd5gX4hK0auqMEc3uRt+k/WiOEJ3X9gMN0xf/iSZ4fHuw37XagTC2r
	tncmSmCVF2t9ijZh++2kBZdi9A60hGpKw9qi58XZyFv7rG7RC/g9yxBX5essoW7ALKbtS+ClNy1
	iLAtj2MRRIkh4z79dDdnVpm2DV4zqOUrxDztqi5HKfyp4saYHkNP01F4cwsDZBJ+d9k7Qll/PqW
	27B/zPUR5gNO1970t2orWqMqFk1tixPTkoPkMNSKrjqKI+KhQa+qyGcIgGkxnb5iFtsNueq6gtU
	MlJtRH8FbbsACa3mNud5ckhI6am6NoVU/VrKdHJpg74oyPxpRif78ubZg2234bOI+JOKlGX53M6
	uLYckNYXSuP7hqxcy4rcirDT6V/O1Z6WkRP18NKtYZYc/IBvJMwXZ+DgJ6micLebo4x1piIrS7f
	20YMXPPsQmkbSqHPHh7zs1SIihTr2hkatOaHZXsZoAXjvhHLwxLVAdpYg2vQ==
X-Received: by 2002:a05:6512:258c:b0:5ad:3a58:1bd2 with SMTP id 2adb3069b0e04-5aea1f40f8dmr2325136e87.3.1782488823833;
        Fri, 26 Jun 2026 08:47:03 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 v4 19/25] xen/riscv: generate IMSIC DT node for guest domains
Date: Fri, 26 Jun 2026 17:46:28 +0200
Message-ID: <424c223b97e9d27aa4ef4e05e2d5c8d0c426324c.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ebf023/1782488824-2C5A91CC-13AE7A8C/10/73395122804
X-purgate-type: spam
X-purgate-size: 8276

Guests using the IMSIC interrupt controller require a corresponding
Device Tree description.

Add support for generating an IMSIC node when building the guest DT.
This allows guests to discover and use the IMSIC interrupt controller.

The value choosen for GUEST_IMSIC_S_BASE is an address which is typically
used for IMSIC and QEMU.

DT-building functions are marked __init because domain creation happens at
boot time, before the init sections are freed. In a typical deployment
libxl creates the interrupt controller node in userspace and hands the
complete FDT to Xen, so these functions are only called during early
domain construction.

Co-developed-by: Romain Caritey <Romain.Caritey@microchip.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v4:
 - Add a comment for guest_num_msis explaining that it is host-dependent
   and therefore identical for every domain, which is why a single global
   is used instead of a per-domain value.
 - Reduce vimsic_name[] from 128 to 32 bytes, which is enough to hold
   "/soc/imsic@" plus a 64-bit hex address.
 - Add a comment before GUEST_IMSIC_S_BASE noting that the value is the
   address typically used for IMSIC by QEMU.
 - s/__ULL/_UL for defintion of GUEST_IMSIC_S_BASE.
---
Changes in v3:
 - s/__ro_after_init/__read_mostly for guest_num_msis.
 - Use IMSIC_MAX_ID as default for guest_num_msis instead of imsic_cfg.nr_ids.
 - Drop base_addr local variable in guest_imsic_make_reg_property(); use
   GUEST_IMSIC_S_BASE directly and introduce size to avoid spelling
   IMSIC_MMIO_PAGE_SZ * d->max_vcpus twice.
 - Change irq_ext type from uint32_t * to __be32 * in
   guest_imsic_set_interrupt_extended_prop().
 - Move phandle declaration into the loop body.
 - Extend commit message to explain why __init is used for DT-building
   functions: libxl creates the interrupt controller node before handing
   the FDT to Xen, so these functions are only invoked during boot-time
   domain construction.
 - Re-order patch before APLIC DT node creation patch.
 - Update commit message.
---
Changes in v2:
 - s/imsic_make_reg_property/guest_imsic_make_reg_property.
 - s/imsic_set_interrupt_extended_prop/guest_imsic_set_interrupt_extended_prop.
 - Use initalizer for regs[] array in imsic_make_reg_property().
 - Move buf[] insde the for() loop.
 - Correct check of returned phandle.
 - Drop local variable len.
 - /s/XVFREE/xvfree in imsic_set_interrupt_extended_prop().
 - Drop initializer for local variable data.
 - s/uint32_t/unsinged int for pos and cpu in imsic_set_interrupt_extended_prop().
 - Drop next_phandle as it is now in common code.
 - Introduce vcpu_imsic_deinit.
 - Refactor vimsic_make_domu_dt_node() to avoid usage of host IMSIC dt node.
---
---
 xen/arch/riscv/imsic.c                    | 137 ++++++++++++++++++++++
 xen/arch/riscv/include/asm/guest-layout.h |   6 +
 2 files changed, 143 insertions(+)

diff --git a/xen/arch/riscv/imsic.c b/xen/arch/riscv/imsic.c
index 7068d6a7fef1..e6919f491193 100644
--- a/xen/arch/riscv/imsic.c
+++ b/xen/arch/riscv/imsic.c
@@ -13,8 +13,12 @@
 #include <xen/const.h>
 #include <xen/cpumask.h>
 #include <xen/device_tree.h>
+#include <xen/domain.h>
 #include <xen/errno.h>
+#include <xen/fdt-domain-build.h>
+#include <xen/fdt-kernel.h>
 #include <xen/init.h>
+#include <xen/libfdt/libfdt.h>
 #include <xen/macros.h>
 #include <xen/sched.h>
 #include <xen/smp.h>
@@ -34,6 +38,16 @@ static struct imsic_config imsic_cfg = {
     .lock = SPIN_LOCK_UNLOCKED,
 };
 
+/*
+ * Number of MSIs available to a guest. Determined by the host interrupt
+ * controller, so it is identical for every domain -- hence a single global
+ * rather than a per-domain value.
+ */
+static unsigned int __read_mostly guest_num_msis;
+
+#define GUEST_IMSIC_COMPATIBLE "riscv,imsics"
+#define GUEST_IMSIC_NUM_MSIS 255
+
 #define IMSIC_DISABLE_EIDELIVERY    0
 #define IMSIC_ENABLE_EIDELIVERY     1
 #define IMSIC_DISABLE_EITHRESHOLD   1
@@ -285,6 +299,11 @@ static int imsic_parse_node(const struct dt_device_node *node,
         return -ENOENT;
     }
 
+    if ( dt_property_read_u32(node, "riscv,num-guest-ids", &tmp) )
+        guest_num_msis = tmp;
+    else
+        guest_num_msis = IMSIC_MAX_ID;
+
     if ( (imsic_cfg.nr_ids < IMSIC_MIN_ID) ||
          (imsic_cfg.nr_ids > IMSIC_MAX_ID) )
     {
@@ -522,3 +541,121 @@ int __init imsic_init(const struct dt_device_node *node)
 
     return rc;
 }
+
+static int __init guest_imsic_make_reg_property(struct domain *d, void *fdt)
+{
+    paddr_t size = IMSIC_MMIO_PAGE_SZ * d->max_vcpus;
+    __be32 regs[4] = {
+        cpu_to_be32(GUEST_IMSIC_S_BASE >> 32),
+        cpu_to_be32(GUEST_IMSIC_S_BASE),
+        cpu_to_be32(size >> 32),
+        cpu_to_be32(size),
+    };
+
+    return fdt_property(fdt, "reg", regs, sizeof(regs));
+}
+
+static int __init guest_imsic_set_interrupt_extended_prop(struct domain *d,
+                                                          void *fdt)
+{
+    unsigned int cpu, pos = 0;
+    __be32 *irq_ext;
+    int res;
+
+    irq_ext = xvzalloc_array(__be32, d->max_vcpus * 2);
+    if ( !irq_ext )
+        return -ENOMEM;
+
+    for ( cpu = 0; cpu < d->max_vcpus; cpu++ )
+    {
+        char buf[64];
+        uint32_t phandle;
+
+        snprintf(buf, sizeof(buf), "/cpus/cpu@%u/interrupt-controller", cpu);
+        phandle = fdt_get_phandle(fdt, fdt_path_offset(fdt, buf));
+
+        if ( !phandle )
+        {
+            res = -ENODEV;
+            goto out;
+        }
+
+        irq_ext[pos++] = cpu_to_be32(phandle);
+        irq_ext[pos++] = cpu_to_be32(IRQ_S_EXT);
+    }
+
+    res = fdt_property(fdt, "interrupts-extended", irq_ext,
+                       d->max_vcpus * 2 * sizeof(*irq_ext));
+
+ out:
+    xvfree(irq_ext);
+
+    return res;
+}
+
+int __init vimsic_make_domu_dt_node(struct kernel_info *kinfo,
+                                    unsigned int *phandle)
+{
+    int res;
+    void *fdt = kinfo->fdt;
+    char vimsic_name[32];
+    unsigned int vimsic_phandle;
+    unsigned int num_msis = min(GUEST_IMSIC_NUM_MSIS + 0U, guest_num_msis);
+
+    res = snprintf(vimsic_name, sizeof(vimsic_name), "/soc/imsic@%lx",
+                   GUEST_IMSIC_S_BASE);
+    if ( res >= sizeof(vimsic_name) )
+    {
+        dprintk(XENLOG_DEBUG, "vimsic name is truncated\n");
+        return -ENOBUFS;
+    }
+
+    res = fdt_begin_node(fdt, vimsic_name);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", GUEST_IMSIC_COMPATIBLE);
+    if ( res )
+        return res;
+
+    res = guest_imsic_make_reg_property(kinfo->bd.d, fdt);
+    if ( res )
+        return res;
+
+    res = guest_imsic_set_interrupt_extended_prop(kinfo->bd.d, fdt);
+    if ( res )
+        return res;
+
+    res = fdt_property_u32(fdt, "riscv,num-ids", num_msis);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "msi-controller", NULL, 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_u32(fdt, "#msi-cells", 0);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_u32(fdt, "#interrupt-cells", 0);
+    if ( res )
+        return res;
+
+    vimsic_phandle = alloc_phandle(kinfo);
+    if ( !vimsic_phandle )
+        return -EOVERFLOW;
+
+    res = fdt_property_cell(fdt, "phandle", vimsic_phandle);
+    if ( res )
+        return res;
+
+    if ( phandle )
+        *phandle = vimsic_phandle;
+
+    return fdt_end_node(fdt);
+}
diff --git a/xen/arch/riscv/include/asm/guest-layout.h b/xen/arch/riscv/include/asm/guest-layout.h
index 68d95a09394c..5e566450bdfa 100644
--- a/xen/arch/riscv/include/asm/guest-layout.h
+++ b/xen/arch/riscv/include/asm/guest-layout.h
@@ -3,6 +3,12 @@
 
 #include <public/xen.h>
 
+/*
+ * Base address of the guest's supervisor-mode IMSIC. The value is the address
+ * typically used for IMSIC by QEMU.
+ */
+#define GUEST_IMSIC_S_BASE _UL(0x28000000)
+
 #define GUEST_RAM_BANKS   2
 
 /*
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346291.1604851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8lm-0003qn-J1; Fri, 26 Jun 2026 15:47:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346291.1604851; Fri, 26 Jun 2026 15:47: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 1wd8ll-0003mp-RC; Fri, 26 Jun 2026 15:47:05 +0000
Received: by outflank-mailman (input) for mailman id 1346291;
 Fri, 26 Jun 2026 15:47:03 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8lj-00036u-2Z
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:47:03 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8li-008hTo-Ep
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:47:02 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9eed-2eae-0a2a0a5409dd-0a2a4504e35c-26
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:02 +0200
Received: from [209.85.167.51] (helo=mail-lf1-f51.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ef6-a01d-0a2a45040019-d155a733c95f-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:02 +0200
Received: by mail-lf1-f51.google.com with SMTP id
 2adb3069b0e04-5ad58584037so851614e87.3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:47:02 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.47.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:47: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488822; x=1783093622; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zWZ84aMqxsVJocBQ/1piJw1YHKrWxdOI1LLzqv702F8=;
        b=HA03ZnS8vvxdBJFay1S2Z0w97hjvEaudZ37JQWy11+J/lafHUD64oNb2OFUrUntr1O
         1EPUl7FSskOaYLwDRcsfFV46B2y7ukaSLOQeBzkwn8m0f3b9Qm906mGXwpcJR1Upd0Z6
         Bym81WKLgRRKQXJcLuhY6UetCMsg927lC9aS/lHLuoFQnDM2V9NoFg0l5Wov/q6CVIUB
         ZUFwy1aRkGPolWYdiIZVOWoNXCTDrHRBMUrJUwfIZqMVVxq9NwzpSaeuBeyt1sJNNJZF
         zikx0r0nlyLGij53Qy+F3F4umrZFpSTGURoh8zNU4dG+D2hAUpg0I5UtrB0g0hGNymyx
         2+HA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488822; x=1783093622;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=zWZ84aMqxsVJocBQ/1piJw1YHKrWxdOI1LLzqv702F8=;
        b=BrpuGxOsbIl7Jb9vMJ2/7eO9wHGzfqbQY9ob3fdbPODEWhE82PlD61W7lq6X8hkyU+
         LWTZG2Kn013+K1rheBQT2WIlWPzckj78yy/O21uS3MUa0r7bgsJTBbChhI6nCJJKB52I
         oRJKN8vf2wRtq8vl1Iqqh0IfOed9XOSz+AO5LNfh3cJ2HTdLE3nYtkb/nWOawYK/IU77
         kJwN9GRMvglXhnRDz+Bf2UjWfbLio51iL1NF25hrHioDVlIgLtk+V9//NvFG5+c9z7og
         9mL4Gsd0q6km+HPAOL/avVIe2RB6RMMKjLLU4/PcaJobWX+KRUeuMEdkrtMZWFTlvAed
         YtFQ==
X-Gm-Message-State: AOJu0YzwIxR2QCZf1H2TjaGbBNQWMLjspjXgmv2cBLQgEW8LLM5qODOJ
	XCOLCj93qLeNadNGYF25ZO3Al+5V7wCiJXSAk737NGW7eFUyltKphqIOjjWkLw==
X-Gm-Gg: AfdE7ckUzhnya3gEOvxRhXWp0FG/iPPzne/O7CuU6DAsWxhDsoJfkg2yj8M5GpXzRfd
	fbCsxeUxKMzoN9808ZMYpq3RYh0dWDZckKujPx9DLDDhpfYHxPKlQPzfF0j3qTpYak3pLIlpY8K
	caqOurqc0X7UOf/NCqTt5birus6xIlEM6a76+206p0ohaYpA5Yz/nUKIltklW9+9dGr15s1NVDI
	Qu98hj6uxpqlch4i9LIR6BNXjDKP5T9yLg9MiTyfdlQng30rPt/jA4kFx7wnPY7FrGefMWGeWBU
	BqN2emUNWmyd/a76lFET+y8E7q8wqZUqYLGsO1ZsVqNCGzz6+Y619rcjixXf/QVKavjEXmlmeSN
	i0zkqPJwb/gUw2bUKL1Hbh/THS7q25XSD5Hs6zkZXbjBlBXYFpOq/iPaDeJoP7rhb5PVnPGGVOf
	16KQHJIal2qqeAjRGzWMPUYhM0uimJkGynNZxl9nHi62ouEts9IXuchYIhvQ==
X-Received: by 2002:a05:6512:220d:b0:5aa:b6b:f6ec with SMTP id 2adb3069b0e04-5aea1f68d40mr2321858e87.42.1782488821629;
        Fri, 26 Jun 2026 08:47:01 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 v4 17/25] xen/riscv: rename enum intc_version to intc_variant
Date: Fri, 26 Jun 2026 17:46:26 +0200
Message-ID: <542b22adf7bfb2a60baba201ef89df260d9bfd1c.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ebf023/1782488822-AC93A1CC-3BB7C0C2/10/73395122804
X-purgate-type: spam
X-purgate-size: 1507

Rename the enum to intc_variant and the structure member from hw_version
to hw_variant to better reflect that these values select between
different controller variants, not versions of the same one.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v4:
 - New patch. Prereq for the next patch.
---
---
 xen/arch/riscv/aplic.c            | 2 +-
 xen/arch/riscv/include/asm/intc.h | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/riscv/aplic.c b/xen/arch/riscv/aplic.c
index def15f792d62..126d56fb7ea8 100644
--- a/xen/arch/riscv/aplic.c
+++ b/xen/arch/riscv/aplic.c
@@ -35,7 +35,7 @@ static struct aplic_priv aplic = {
 };
 
 static struct intc_info __ro_after_init aplic_info = {
-    .hw_version = INTC_APLIC,
+    .hw_variant = INTC_APLIC,
 };
 
 static void __init aplic_init_hw_interrupts(void)
diff --git a/xen/arch/riscv/include/asm/intc.h b/xen/arch/riscv/include/asm/intc.h
index 46a0073c2d59..f7d42aa9fc40 100644
--- a/xen/arch/riscv/include/asm/intc.h
+++ b/xen/arch/riscv/include/asm/intc.h
@@ -8,7 +8,7 @@
 #ifndef ASM__RISCV__INTERRUPT_CONTOLLER_H
 #define ASM__RISCV__INTERRUPT_CONTOLLER_H
 
-enum intc_version {
+enum intc_variant {
     INTC_APLIC,
 };
 
@@ -18,7 +18,7 @@ struct kernel_info;
 struct vcpu;
 
 struct intc_info {
-    enum intc_version hw_version;
+    enum intc_variant hw_variant;
     const struct dt_device_node *node;
 
     /* number of irqs */
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346285.1604825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8li-00031z-RA; Fri, 26 Jun 2026 15:47:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346285.1604825; Fri, 26 Jun 2026 15: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 1wd8li-00030L-A8; Fri, 26 Jun 2026 15:47:02 +0000
Received: by outflank-mailman (input) for mailman id 1346285;
 Fri, 26 Jun 2026 15:47:00 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8lg-0002aG-5E
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:47:00 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8lf-004aSr-IV
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:46:59 +0200
Received: from [10.42.69.10] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ef2-bab6-0a2a0a5309dd-0a2a450adae0-16
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:59 +0200
Received: from [209.85.208.180] (helo=mail-lj1-f180.google.com)
 by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ef3-e40e-0a2a450a0019-d155d0b4edad-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:46:59 +0200
Received: by mail-lj1-f180.google.com with SMTP id
 38308e7fff4ca-3996c9eeebeso9996361fa.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:46:59 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.46.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:46: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488819; x=1783093619; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gmaOim7BZjYCiN1zoPRNC/AZ0NqzABJMaudwwqKrFuA=;
        b=ALaYxdSd6SwoGzdXZr3j6TCxhDRwLnoqTpScFeE6I08CRDNS4mLWfySBMuukmd4qEq
         JuNIFBVDmHpDk1IQ4Rpuc4WlO1QptfPpIe7jb2e0xBr9jYCchWASp+iD16bPjMuxIf99
         zG2QzilsEoMM1uFVt7wBu+b05HKkDKM67blCm71UEI2oRVlwA0TL6gb5XN7W4lpA9nUd
         85aBGedR2unY5llaKxamb/L36IGu5Uc+3/a40Gt0yK3mxMfGivFCwOmxrm6Ny2jyZbTT
         2zct+wEIrtySjKwSRxWZtoEkYDNzXyExyJIySFpDudanjgIftGrXH4Ur5hJ20Lzi4qVw
         I2Cg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488819; x=1783093619;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=gmaOim7BZjYCiN1zoPRNC/AZ0NqzABJMaudwwqKrFuA=;
        b=SGoV1xkm/yi3LEm/W3o1C9q8paigdtc8+X8TafdsdGU6SfJY1FOe37QEVSMM1uzJRP
         XhcqhhZz4OB8Sb5xEtEK7ujDuamw2RVA0btpN0hg7TY7Fv+kcuwPtIwPOKMEtLfwp9S3
         LTTEGRiAeiZ9ONBS2DisUv0hav6AAP3SkKw4BUzG48RYZJZsuvtzX2hIM9OPYv85kV/v
         1bihsoRX14aFyAzvOUScUKiSuBUT7jaeiviElE0D8/b65QLkngGYGN8QqlMiOLcqcOwI
         NEsYyxhonM+CYVNKCrwq3x4vuhwjWPSUg4LywvfG96peFJr0No2nz3yJTkJZHshy+hAx
         IVqA==
X-Gm-Message-State: AOJu0YyUDnsCZPydr94NOfK1HwNjZTX6OULJymiDZ+mjj84K8FR89QDh
	ypS6n41BI4P9YD5L2hKpSEgZodFn7AmtMyfwP8+4q+oVkjz+PgmIaqiH9/O2Ow==
X-Gm-Gg: AfdE7ck3nkkYUdibqnGM9Kf91qegNtaRUVExbLK2M3Jpt0vH94VYgH4dHjHxxy8zuQC
	k5ynjcXE3qPMAiNkf9sbOmvO19Y22qGqnD3jviRkBX1+QcT0YmVyzmb/CWxAzYfN0u+JE2pcpF4
	MGZX5jVbjgFNDwmPfXeP2S8Rnv2o8hhM0sBzCdndHc43RJPpq5ru59zzuGXmg/RMxWgz9NkDrJF
	kN/7oqgXhHOTVfQcTiv0tsf3rvA3cRjUEn2c/oK7Snj2c82LhX4ZNd1C0PZngRuXpEGdQwSDYyb
	+9TJx6tUaMjUcF0p9kNXSHJw5NXr4v1BdvlpF3KPCI/DE+U5+nFjLHVFrw0djc+3oDhWtbug88r
	/GTsltUkk7BeNuiMXxybgcBfPQzC41zfc1LYtK/ckXOBrpU6F1gu1UoE0Hf0bdPbhImmm/QFwgP
	J/rQJ7mMLSJ91j6AhwprpfpYNzJhCqGdBhF91wbL1xW3/4dFVvppsAsciJbA==
X-Received: by 2002:a05:6512:64ed:b0:5ad:5b38:2690 with SMTP id 2adb3069b0e04-5aea1f60e9cmr2054615e87.42.1782488818729;
        Fri, 26 Jun 2026 08:46:58 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 v4 14/25] xen/riscv: introduce aia_init() and aia_usable()
Date: Fri, 26 Jun 2026 17:46:23 +0200
Message-ID: <709f4f1d9d593501819fa3d579b2cef0a108b48e.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-4011c0/1782488819-D5B24DDE-689BC773/10/73395122804
X-purgate-type: spam
X-purgate-size: 3082

aia_init() is going to contain all the logic related to AIA initialization.

At the moment, it only checks whether the SSAIA extension is available,
and if so, sets is_aia_usable (which  indicates more than just the
availability of the extension) to true; it also signifies that the necessary
components (to be introduced in follow-up patches) have been initialized.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v4:
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v3:
 - s/is_aia_usable/_aia_usable to drop the is_ prefix while avoiding
   conflict with the aia_usable() function name.
---
Changes in v2:
 - s/is_aia_available/is_aia_usable.
 - Drop return value for aia_init().
 - s/aia_available()/aia_usable().
---
---
 xen/arch/riscv/Makefile          |  1 +
 xen/arch/riscv/aia.c             | 23 +++++++++++++++++++++++
 xen/arch/riscv/include/asm/aia.h | 10 ++++++++++
 xen/arch/riscv/intc.c            |  3 +++
 4 files changed, 37 insertions(+)
 create mode 100644 xen/arch/riscv/aia.c
 create mode 100644 xen/arch/riscv/include/asm/aia.h

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index fd5e499eb4b9..9df8b72b5494 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -1,3 +1,4 @@
+obj-y += aia.o
 obj-y += aplic.o
 obj-y += cpufeature.o
 obj-y += domain.o
diff --git a/xen/arch/riscv/aia.c b/xen/arch/riscv/aia.c
new file mode 100644
index 000000000000..e31c9c2d24b6
--- /dev/null
+++ b/xen/arch/riscv/aia.c
@@ -0,0 +1,23 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/errno.h>
+#include <xen/init.h>
+#include <xen/sections.h>
+#include <xen/types.h>
+
+#include <asm/cpufeature.h>
+
+static bool __ro_after_init _aia_usable;
+
+bool aia_usable(void)
+{
+    return _aia_usable;
+}
+
+void __init aia_init(void)
+{
+    if ( !riscv_isa_extension_available(NULL, RISCV_ISA_EXT_ssaia) )
+        return;
+
+    _aia_usable = true;
+}
diff --git a/xen/arch/riscv/include/asm/aia.h b/xen/arch/riscv/include/asm/aia.h
new file mode 100644
index 000000000000..ca42c3086126
--- /dev/null
+++ b/xen/arch/riscv/include/asm/aia.h
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef ASM__RISCV__AIA_H
+#define ASM__RISCV__AIA_H
+
+bool aia_usable(void);
+
+void aia_init(void);
+
+#endif /* ASM__RISCV__ACPI_H */
diff --git a/xen/arch/riscv/intc.c b/xen/arch/riscv/intc.c
index e63da5e22efc..2864a896b677 100644
--- a/xen/arch/riscv/intc.c
+++ b/xen/arch/riscv/intc.c
@@ -9,6 +9,7 @@
 #include <xen/lib.h>
 #include <xen/spinlock.h>
 
+#include <asm/aia.h>
 #include <asm/intc.h>
 
 static const struct intc_hw_operations *__ro_after_init intc_hw_ops;
@@ -33,6 +34,8 @@ void __init intc_init(void)
 {
     ASSERT(intc_hw_init_ops && intc_hw_init_ops->init);
 
+    aia_init();
+
     if ( intc_hw_init_ops->init() )
         panic("Failed to initialize the interrupt controller drivers\n");
 }
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:11 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346294.1604856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8lo-000492-54; Fri, 26 Jun 2026 15:47:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346294.1604856; Fri, 26 Jun 2026 15:47: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 1wd8ln-0003yp-2j; Fri, 26 Jun 2026 15:47:07 +0000
Received: by outflank-mailman (input) for mailman id 1346294;
 Fri, 26 Jun 2026 15:47:04 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8lk-0003SW-Gj
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:47:04 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8lj-00D1eP-T7
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:47:03 +0200
Received: from [10.42.69.5] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ef7-5cb7-0a2a0a5109dd-0a2a4505e2d0-6
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:03 +0200
Received: from [209.85.167.41] (helo=mail-lf1-f41.google.com)
 by tlsNG-c201ff.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ef7-3cb2-0a2a45050019-d155a729b04d-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:03 +0200
Received: by mail-lf1-f41.google.com with SMTP id
 2adb3069b0e04-5ad58f31846so1048619e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:47:03 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.47.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:47: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488823; x=1783093623; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ayLS/4Tj1pdUVipiDBa+IiAffN+x6DQ9eb41/7qATdY=;
        b=HEvLfG4D39IkI0Eb3HpoIhrttyISSxWWWkdiIO/N6ReJJ+6kyq0lFcTUtI5Wbt9zoU
         sZqgqD8aFI+LsvosqqA2jMDcSmUg9Ik5x19YiQyHhGHsafTTDchDUV+9yUckk/kG4JUS
         jRd91Fk1vv/I6kvke145Eki1j3+TNaoNICvINsOaxlROYivtw/FFKPrw5P2AyRUkyune
         lx9HpAhiIkQ+fiARJX4MoGH0tsh+9PysWC8jj17VXMq9HRtxbwlxNEA1Osa0MYa2lUIM
         YER0Qpkck8FrQU6EX3AM5K8bVadsQgj2nKvRLmDKgTtlzLjjeDoKSF5gScL2x9idN7oT
         9Blw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488823; x=1783093623;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=ayLS/4Tj1pdUVipiDBa+IiAffN+x6DQ9eb41/7qATdY=;
        b=qIgpNVnzbQGKEsHu5IQJqn6Wgs7BjOTlIXaDFUHxIMw/kCowvbfLOQyi2e/bcjddrk
         /Pyq2YTFWwPO4Bmh0QRXSXPZLdQNI9KEeljSwS4QGGe45x8UgLCeccuCYXhaVCo9/mmv
         OjK6uQ2fcfl3dkkXouKW+9mk1jHnvPPKrFPlvjb3DRuyPm3dewmKBWyo8nc3Vyk8nNQ9
         Z+yTem38z5JCP0WPFJ8lsZIgGwRRma/mWF7mOmtbPy+Xina1FPRep9tQoTC/9GfeHT2O
         p83oFpD3LTNp5FAjAWYdMq+HbbVY3V0xyuKgMcyGPd9ZjFoQk2NBs1EbquohWhX7C+PC
         mKBQ==
X-Gm-Message-State: AOJu0Yz1xby/z2hx8TTV1RPjDB652zYt0Yp3QcnHwZA7r4rW+uZTRH66
	ZEj8NKo8wRTn+WmV8hN5rMd6RAw+6iXwL/xse3J5GDsrz0T8tbonox1T1h3Jcw==
X-Gm-Gg: AfdE7cllAcXOXwRmtfoVRP8RXDGslNTGMViIuSSs1qCh6zDVmNNLj+E8E3ZQ2SqJI9j
	Q8b2rX0xRzKdOqm1t0Gede0CN4xmhraoORzLOh+9VcwdpUFg34rQ/vZASG7/PUueSFmfYUSbn3q
	nJhLfI3sBfLh5okNeIP5oAkpW9tTh3MrySulFaaOaVbiVMuxlvjmPzhBnjH8X4BbS1fW7DKZVAD
	M2ZhknUFYKZcRAfClyM3ALkIHNDje6nG0h/Diwr2hwppJi47mbPtdoWtPBArNqB3R1Aw+Gj84iZ
	E4rLGeM31Va2u8cBOYuyKac8TmazHc99tv0j++aQBs41auMl8xZnRAoObhABX05KfHv+IPnA1wN
	X/z03FGjvLBzEDdTEecYwE3Q+H2TWum6MJkIR1PbeNLqSEFHA4sey0KLpx+vGXqhDBglpSuiKfb
	Me5DHM5583dTdYdksF0Kc3oIXHbBBXKkDfjbAZF36cZgLUIMt9DSAG+peeAA==
X-Received: by 2002:a05:6512:3983:b0:5aa:6e86:55e5 with SMTP id 2adb3069b0e04-5aea945b98emr249770e87.13.1782488822877;
        Fri, 26 Jun 2026 08:47:02 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 v4 18/25] xen/riscv: introduce (de)initialization helpers for vINTC
Date: Fri, 26 Jun 2026 17:46:27 +0200
Message-ID: <ac0b9a985afc35023822150062b4f14f5a583bea.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c201ff/1782488823-17B192B8-1FB907BE/10/73395122804
X-purgate-type: spam
X-purgate-size: 3430

Add common helpers domain_vintc_init() and domain_vintc_deinit() to
allocate and deallocate a virtual interrupt controller (vINTC)
structure and initialize basic virtual interrupt controller registers.

domain_vintc_deinit() isn't called at the moment as arch_domain_destroy()
is implemented as stub at the moment.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v4:
 - Drop the comment from domain_vintc_init() about guests receiving a
   virtual interrupt controller that mirrors the host hardware as there
   can (and eventually should) be alternatives.
 - Finish renaming intc_version to intc_variant in domain_vintc_(de)init()
   (enum intc_variant, info->hw_variant, local variable) started in the
   prev patch.
---
Changes in v3:
 - Drop redundant printk() from domain_vintc_deinit()'s default case to
   avoid duplicate messages when init fails.
 - Add a comment to domain_vintc_init() clarifying that guests currently
   receive a virtual interrupt controller that mirrors the host hardware.
---
Changes in v2:
 - Drop __init for domain_vintc_(de)init().
 - Update the commit message.
---
---
 xen/arch/riscv/domain.c           |  3 +++
 xen/arch/riscv/include/asm/intc.h |  3 +++
 xen/arch/riscv/intc.c             | 35 +++++++++++++++++++++++++++++++
 3 files changed, 41 insertions(+)

diff --git a/xen/arch/riscv/domain.c b/xen/arch/riscv/domain.c
index 129e775c52cb..3499c25dcfe0 100644
--- a/xen/arch/riscv/domain.c
+++ b/xen/arch/riscv/domain.c
@@ -309,6 +309,9 @@ int arch_domain_create(struct domain *d,
     if ( (rc = p2m_init(d, config)) != 0)
         goto fail;
 
+    if ( (rc = domain_vintc_init(d)) )
+        goto fail;
+
     return rc;
 
  fail:
diff --git a/xen/arch/riscv/include/asm/intc.h b/xen/arch/riscv/include/asm/intc.h
index f7d42aa9fc40..62260155dc6b 100644
--- a/xen/arch/riscv/include/asm/intc.h
+++ b/xen/arch/riscv/include/asm/intc.h
@@ -75,4 +75,7 @@ void intc_route_irq_to_xen(struct irq_desc *desc, unsigned int priority);
 
 void intc_handle_external_irqs(struct cpu_user_regs *regs);
 
+int domain_vintc_init(struct domain *d);
+void domain_vintc_deinit(struct domain *d);
+
 #endif /* ASM__RISCV__INTERRUPT_CONTOLLER_H */
diff --git a/xen/arch/riscv/intc.c b/xen/arch/riscv/intc.c
index 2864a896b677..0eb7eb924e9c 100644
--- a/xen/arch/riscv/intc.c
+++ b/xen/arch/riscv/intc.c
@@ -11,6 +11,7 @@
 
 #include <asm/aia.h>
 #include <asm/intc.h>
+#include <asm/vaplic.h>
 
 static const struct intc_hw_operations *__ro_after_init intc_hw_ops;
 
@@ -83,3 +84,37 @@ int __init make_intc_domU_node(struct kernel_info *kinfo)
 
     return vintc->init_ops->make_domu_dt_node(kinfo);
 }
+
+int domain_vintc_init(struct domain *d)
+{
+    int ret = -EOPNOTSUPP;
+    const enum intc_variant variant = intc_hw_ops->info->hw_variant;
+
+    switch ( variant )
+    {
+    case INTC_APLIC:
+        ret = domain_vaplic_init(d);
+        break;
+
+    default:
+        printk("vintc (variant:%d) isn't implemented\n", variant);
+        break;
+    }
+
+    return ret;
+}
+
+void domain_vintc_deinit(struct domain *d)
+{
+    const enum intc_variant variant = intc_hw_ops->info->hw_variant;
+
+    switch ( variant )
+    {
+    case INTC_APLIC:
+        domain_vaplic_deinit(d);
+        break;
+
+    default:
+        break;
+    }
+}
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:14 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346297.1604873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8lt-00052O-SJ; Fri, 26 Jun 2026 15:47:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346297.1604873; Fri, 26 Jun 2026 15: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 1wd8ls-0004w8-2T; Fri, 26 Jun 2026 15:47:12 +0000
Received: by outflank-mailman (input) for mailman id 1346297;
 Fri, 26 Jun 2026 15:47:07 +0000
Received: from mx.expurgate.net ([194.145.224.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8lm-0003uT-OC
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:47:06 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8lm-00D1eP-3W
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:47:06 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9eeb-5cb7-0a2a0a5109dd-0a2a4508b62c-12
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:06 +0200
Received: from [209.85.208.169] (helo=mail-lj1-f169.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ef9-edec-0a2a45080019-d155d0a9dce3-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:05 +0200
Received: by mail-lj1-f169.google.com with SMTP id
 38308e7fff4ca-3997a448ecbso12138071fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:47:05 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.47.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:47: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488825; x=1783093625; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ys49SiCuwqKT2WlVxYaggJAPMz33LKatvfN3jVmdVs4=;
        b=lYWtz1rQ/+MA3NKJJi6GZk8A1qQsITtXfPNrrDvQbHk9dQUqh5iMpUzOtsgFsJQL9u
         F/q/7Briv7jpKuPUEA4BQxwxPdd8XL1zf3bEkX4+QYvuFdKzGQP9ze4wpOG4afxixu9L
         QyyA4VoU+dCzXj7sMKm3o3XbK7YIBDm0tq8zwz0SfYls3FLm1CCPwRqLQU9SBq/A/tr3
         fnrWhUfKtjBdoT5zUiENQdxrYQ7ISurxvul3tVy4V8MiMyXGnFq36p1o+JGEnahxKlv+
         f7URirX0JM/URJgKoEyXuJ+eyUW9mdUQppYi4eFIyxpSYRACvg3XXm5sqje+2TEDZqm8
         QBEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488825; x=1783093625;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=ys49SiCuwqKT2WlVxYaggJAPMz33LKatvfN3jVmdVs4=;
        b=fptCSNVquGQaHCJXbkw6vWAMV6wWA08av5g5kfO7WVkRLYpyTAIKabEVQ+Z0EkAcfJ
         owejmU+jdW1ywpZJ9y/bV+rgUQINc69pC8Ov6jyAxtoL4OBePmZyeTwD4mtOChfDxCF1
         rPh8sTdFpyM3AjYazN0YZ59vLsaSa64Qf5DcBNDwY7fiKFIB5biXI1J8QP5KzXts/3Kw
         j2/943Efc6cEdNPWRB34G6kUz9usaIBnDwiGYNq5cokkODAVONh+igOpIhcvjXd4MDqE
         1LzdR3KLebAclM/WSF3z/5+ebbAinejZVkgHgAVlUNodyOs4uNx7ef7vbRv9RZH1Sh/j
         RYww==
X-Gm-Message-State: AOJu0Yy7h2Rlc8Z6fRtnhGAb/KWotp6Tv99r1/NDcPSnXDCNaSOBr+Mo
	TmPtrV/O6Fr6r9TS1pbKpKjV71w6aZ+Kuhwcsqm36CNQ/pxRReFRRMJ7wAYYsw==
X-Gm-Gg: AfdE7cmUIRQZr/0z44kUgRTYAmdhPNRCN853uXnFIhzvWjADI3IGrG850S/VfV6OxuI
	9WDfz+U30Fq4Ycx7MxQ7z8x9Po27pbUgvimWP7ixnNPNnsdc9VdLOMIc9cOA+dKLqtSeYBMgn6o
	sgAvlXNFTJw5gwghFZRSKhYA5vqfhAafzodVFGrbBXATGr3q+z+OhAWH0BAOg1dEA3EQzv952Ab
	gewLQWicbXK5UW0IdguZEA72cMEgbJ6IMr/cJ0t72GOKNrmaxdjas9rY963JtTewsZpr4Pv4Z5L
	fSzxII1kp2kTShjQaw1ufrB5prnGie+6AnyxUjj3DRXzPTeg8J4zF7J7YjEu14cMxaEwvmESNPx
	u04sTOUolBXsSDah8s22+wLaQ14rZ3gVjzE1rOmkopVIKDapL92QZQn7V1mzRcCKF+szT9I6djR
	UIpUk4hT0eu4jP81R8ollfPXFgXObInbOz5PQWOU/2WY8a2W2tva+qoKyzazWue7jygVTm
X-Received: by 2002:ac2:5695:0:b0:5ae:a9ec:9fc2 with SMTP id 2adb3069b0e04-5aea9eca34bmr132674e87.61.1782488824963;
        Fri, 26 Jun 2026 08:47:04 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 v4 20/25] xen/riscv: create APLIC DT node for guest domains
Date: Fri, 26 Jun 2026 17:46:29 +0200
Message-ID: <2bab716741ae436c7b92989d7613dac620166b89.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c1860d/1782488825-431393FC-1AC0C4EF/10/73395122804
X-purgate-type: spam
X-purgate-size: 7584

Guests require a Device Tree description of the interrupt controller
topology. Add support for creating an APLIC node when building the
guest DT.

Provide stub for imsic_make_dt_node() it will be introduced properly
in follow-up patch.

The value chosen for GUEST_APLIC_S_BASE is based on QEMU one.

DT-building functions are marked __init because domain creation happens at
boot time, before the init sections are freed. In a typical deployment
libxl creates the interrupt controller node in userspace and hands the
complete FDT to Xen, so these functions are only called during early
domain construction.

Co-developed-by: Romain Caritey <Romain.Caritey@microchip.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v4:
 - Drop spurious <xen/fdt-kernel.h> and <xen/libfdt/libfdt.h> includes from
   aplic.c (mistakenly added, they belong to vaplic.c).
 - Reduce vaplic_name[] from 128 to 32 bytes in vaplic_make_domu_dt_node().
 - Use __initconstrel (with const) for init_ops instead of __initdata.
 - s/__ULL/_UL for defintion of GUEST_APLIC_S_BASE.
---
Changes in v3:
 - Fix rebase conflicts becuase of this patch is reordered after IMSIC DT
   node creation is intoduced.
 - Update the commit message.
 - Move initialization of domaincfg with APLIC_DOMAINCFG_RO80 from this
   patch to earlier.
 - Change paddr_t aplic_size to unsigned int in vaplic_make_domu_dt_node()
   and replace the UB (after it started to be uint) aplic_size >> 32 with
   an explicit 0 in the DT reg property.
 - Add BUILD_BUG_ON() to be sure that aplic size isn't bigger then
   UINT32_MAX.
---
Changes in v2:
 - Avoid as max as possible of host properties inheritance. Only number of
   APLIC's irqs are checked what leads to an introduction of
   get_aplic_irqs_num().
 - Move this patch earlier what leads to an introduction of
   vimsic_make_domu_dt_node() stub.
 - s/vimsic_make_domu_dt_node/imsic_make_domu_dt_node.
 - Refactor vimsic_make_domu_dt_node() to avoid re-usage of APLIC host
   properties.
 - Drop next_phandle as it is now in common code.
 - Drop const for kinfo argument of vimsic_make_domu_dt_node() is is
   going to be updated inside vimsic_make_domu_dt_node().
 - Use introduced before vintc->num_irqs.
---
---
 xen/arch/riscv/include/asm/aplic.h        |  8 +++
 xen/arch/riscv/include/asm/guest-layout.h |  6 ++
 xen/arch/riscv/include/asm/imsic.h        |  3 +
 xen/arch/riscv/vaplic.c                   | 76 +++++++++++++++++++++++
 4 files changed, 93 insertions(+)

diff --git a/xen/arch/riscv/include/asm/aplic.h b/xen/arch/riscv/include/asm/aplic.h
index 2e606b8cd947..3d870fbfb387 100644
--- a/xen/arch/riscv/include/asm/aplic.h
+++ b/xen/arch/riscv/include/asm/aplic.h
@@ -30,6 +30,14 @@
 
 #define APLIC_TARGET_HART_IDX_SHIFT 18
 
+#define APLIC_IDC_SIZE          32
+
+#define APLIC_MIN_SIZE          0x4000
+#define APLIC_SIZE_ALIGN(x)     ROUNDUP(x, APLIC_MIN_SIZE)
+
+#define APLIC_SIZE(nr_cpus)     (APLIC_MIN_SIZE + \
+                                 APLIC_SIZE_ALIGN(APLIC_IDC_SIZE * (nr_cpus)))
+
 struct aplic_regs {
     uint32_t domaincfg;         /* 0x0000 */
     uint32_t sourcecfg[1023];   /* 0x0004 */
diff --git a/xen/arch/riscv/include/asm/guest-layout.h b/xen/arch/riscv/include/asm/guest-layout.h
index 5e566450bdfa..90603f06bb91 100644
--- a/xen/arch/riscv/include/asm/guest-layout.h
+++ b/xen/arch/riscv/include/asm/guest-layout.h
@@ -3,6 +3,12 @@
 
 #include <public/xen.h>
 
+/*
+ * Base address of the guest's supervisor-mode APLIC. The value is the address
+ * typically used for APLIC by QEMU.
+ */
+#define GUEST_APLIC_S_BASE _UL(0xd000000)
+
 /*
  * Base address of the guest's supervisor-mode IMSIC. The value is the address
  * typically used for IMSIC by QEMU.
diff --git a/xen/arch/riscv/include/asm/imsic.h b/xen/arch/riscv/include/asm/imsic.h
index e2c413487d24..e1ec3d03c4e9 100644
--- a/xen/arch/riscv/include/asm/imsic.h
+++ b/xen/arch/riscv/include/asm/imsic.h
@@ -78,6 +78,7 @@ struct vimsic_state {
 };
 
 struct dt_device_node;
+struct kernel_info;
 struct vcpu;
 
 int imsic_init(const struct dt_device_node *node);
@@ -93,4 +94,6 @@ int vcpu_imsic_init(struct vcpu *v);
 void vcpu_imsic_deinit(struct vcpu *v);
 unsigned int vcpu_guest_file_id(const struct vcpu *v);
 
+int vimsic_make_domu_dt_node(struct kernel_info *kinfo, unsigned int *phandle);
+
 #endif /* ASM_RISCV_IMSIC_H */
diff --git a/xen/arch/riscv/vaplic.c b/xen/arch/riscv/vaplic.c
index 6562b25f0abb..6e409d9b732b 100644
--- a/xen/arch/riscv/vaplic.c
+++ b/xen/arch/riscv/vaplic.c
@@ -9,6 +9,8 @@
  */
 
 #include <xen/errno.h>
+#include <xen/fdt-kernel.h>
+#include <xen/libfdt/libfdt.h>
 #include <xen/sched.h>
 #include <xen/xvmalloc.h>
 
@@ -19,6 +21,11 @@
 
 #include "aplic-priv.h"
 
+#define VAPLIC_COMPATIBLE "riscv,aplic"
+#define VAPLIC_NUM_SOURCES 96
+
+#define FDT_VAPLIC_INT_CELLS 2
+
 static int cf_check vaplic_init(struct vcpu *v)
 {
     return vcpu_imsic_init(v);
@@ -29,6 +36,74 @@ static void cf_check vaplic_deinit(struct vcpu *v)
     return vcpu_imsic_deinit(v);
 }
 
+static int __init cf_check vaplic_make_domu_dt_node(struct kernel_info *kinfo)
+{
+    struct domain *d = kinfo->bd.d;
+    int res = 0;
+    void *fdt = kinfo->fdt;
+    unsigned int msi_parent_phandle;
+    char vaplic_name[32];
+    unsigned int aplic_size = APLIC_SIZE(d->max_vcpus);
+    const __be32 reg[] = {
+        cpu_to_be32(GUEST_APLIC_S_BASE >> 32),
+        cpu_to_be32(GUEST_APLIC_S_BASE),
+        cpu_to_be32(0),
+        cpu_to_be32(aplic_size),
+    };
+
+    BUILD_BUG_ON(APLIC_SIZE(MAX_VIRT_CPUS) > UINT_MAX);
+
+    res = snprintf(vaplic_name, sizeof(vaplic_name), "/soc/aplic@%lx",
+                   GUEST_APLIC_S_BASE);
+    if ( res >= sizeof(vaplic_name) )
+    {
+        dprintk(XENLOG_DEBUG, "vaplic name is truncated\n");
+        return -ENOBUFS;
+    }
+
+    res = vimsic_make_domu_dt_node(kinfo, &msi_parent_phandle);
+    if ( res )
+        return res;
+
+    res = fdt_begin_node(fdt, vaplic_name);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#interrupt-cells", FDT_VAPLIC_INT_CELLS);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "reg", reg, sizeof(reg));
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "riscv,num-sources", VAPLIC_NUM_SOURCES);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", VAPLIC_COMPATIBLE);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "msi-parent", msi_parent_phandle);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_intc);
+    if ( res )
+        return res;
+
+    return fdt_end_node(fdt);
+}
+
+static const struct vintc_init_ops __initconstrel init_ops = {
+    .make_domu_dt_node = vaplic_make_domu_dt_node,
+};
+
 static const struct vintc_ops vintc_ops = {
     .vcpu_init = vaplic_init,
     .vcpu_deinit = vaplic_deinit,
@@ -43,6 +118,7 @@ int domain_vaplic_init(struct domain *d)
 
     d->arch.vintc = &vaplic->vintc;
     d->arch.vintc->ops = &vintc_ops;
+    d->arch.vintc->init_ops = &init_ops;
 
     vaplic->regs.domaincfg = APLIC_DOMAINCFG_IE | APLIC_DOMAINCFG_DM |
                              APLIC_DOMAINCFG_RO;
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:16 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346301.1604879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8lv-0005Pu-9N; Fri, 26 Jun 2026 15:47:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346301.1604879; Fri, 26 Jun 2026 15:47:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8lt-0005KK-Rf; Fri, 26 Jun 2026 15:47:13 +0000
Received: by outflank-mailman (input) for mailman id 1346301;
 Fri, 26 Jun 2026 15:47:08 +0000
Received: from mx.expurgate.net ([194.145.224.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8ln-00048G-PT
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:47:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8ln-004aSr-41
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:47:07 +0200
Received: from [10.42.69.12] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ef9-bab6-0a2a0a5309dd-0a2a450cac98-12
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:07 +0200
Received: from [209.85.167.51] (helo=mail-lf1-f51.google.com)
 by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9efa-f399-0a2a450c0019-d155a733b057-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:07 +0200
Received: by mail-lf1-f51.google.com with SMTP id
 2adb3069b0e04-5ad58f31846so1048635e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:47:06 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.47.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:47: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488826; x=1783093626; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tE18Q/Zu8AIcss7x9lzMh64k+xShMcKC9jAdFBx8PaU=;
        b=Mr5J6mPXzFDsrgwQOcnRv5t/Ptz4QeKITTMsy2Wd/gJz12KBxBdXVz3SV4ZS1oImZe
         4tqIZCnGMr6VBCF6Bi39JnWoB4p0pbr2lGdwjrdh5Zb6PhHuUTUU5yB0Q9tebRAxGszW
         /02rF4gwqwFw2ug/+sVhPiykwJxaLqwE+PsjsW0ox9qpcVNbWGYcN8qEFUZF2Ics4Qrx
         V15Imutauoc/LJykYcVDjEnGwbzo1vdPK0kbbu/m11AtU7MYWRm1cQetEswOazv4Syuq
         QX2sGbuZA2L+whPIMSh6jKkR4iU/c2dWfIqvkkMIZ6IwvAKDCDSGkibl10dYLYbe+3Gg
         V5kw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488826; x=1783093626;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=tE18Q/Zu8AIcss7x9lzMh64k+xShMcKC9jAdFBx8PaU=;
        b=aQCR7z0R6RBbW+Kjdf3iV2nEf/LkPEUYLmtN8NBVlyZULJMI76WNXdtjusTNq3ejnm
         SsEydevdzqTIWZEC4iWA+/73FOlL647bwMnQIgwwl4aCXOoqKHl7riu8SSZQcUW65Rxr
         hLVYEiygbCAy1zUOPA9xDNtX2xUj2avTQ7redFMbwwGvjrGDjVGVvW4NufaQLzijGt7o
         RNhoULM6jzHfDhMVjhoa1OMnfTwe8QDdImDjgBsvd9el8/O5UNsmW1L5k5ibVx6MKFzH
         1iLQ6f3YuKHCqjaSh3acXnBKD5KYbGgQbM0QjBzcBDQWmW6I6pjsUj+BHIjZ3E+MNLWm
         mQHQ==
X-Gm-Message-State: AOJu0YxOCY2KZmLX9Xiq0ZC0AoYYcpDnfv6TUcJvbQbG7894fCmTuZNz
	dBBdi8BkHYCL9Fnwk9BHbvZ1ckNfZNilAR03lrJvWJmS++BSXeRTdcj2S5DhAA==
X-Gm-Gg: AfdE7cmk3N1/yVT0krZc5utbZTiKr2GpLXmO3uL6VSL0CU+ftrKT0cEHm0ZoWyPOTav
	HGu2IxuJS0UpGEcUptA9vnFiJHRoN9W/ekDwgytlcpH5FKCAzKnpkH/LA+DxVG+5whKQ7vZA4kL
	Es5a9w/u1XnowUQKoTK/5sBTdze1vCbRCIdGlxUnOO6kjjlT3SDNlMX7xal8G8oToIXZv/652fZ
	p4g0h3osg2Crzsvpd5Fo5OP3q2mA0vw7ORK3cWm7Nw42Hh8x4/5LFHTTfvZLXLpnPJ5sGYegRFF
	xKIw9APezN6gxc6us++R8Bv6D72SKfOD691SzmnjqbPqWJGKECe4vKhxlmckP7BLniBUh2iezMZ
	7i3LOHDNdV8g9hthSg88cN7KCB7LUTxkfXrbtpU8ob12IKJdn9XMSBZDLHDggq5c+W8rFT1qkSR
	+mSy4geDtvc+2NhYCHKfsMk6ZFLzY7Vq339ws/X2zIHNQ5OOcrkidkTfo8sw==
X-Received: by 2002:a05:6512:68f:b0:5ad:4f88:30ec with SMTP id 2adb3069b0e04-5aea944ffe5mr386809e87.2.1782488826185;
        Fri, 26 Jun 2026 08:47:06 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v4 21/25] xen/riscv: implement IRQ routing for device passthrough
Date: Fri, 26 Jun 2026 17:46:30 +0200
Message-ID: <472a77604d35a0bc2a75b71f250fd67b63afde4c.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-d25034/1782488827-0FF33D51-45140EBE/10/73395122804
X-purgate-type: spam
X-purgate-size: 20699

dom0less device passthrough requires granting guest domains access to
device interrupts.  Introduce map_device_irqs_to_domain() to enumerate
a DT node's interrupt properties, skipping those not owned by
the primary interrupt controller (as at the moment I haven't seen usages
of it), and map_irq_to_domain() to grant domain access and configure
Xen's interrupt descriptor accordingly. Sharing IRQ between domains is
rejected.

Both map_irq_to_domain() and map_device_irqs_to_domain() are marked
__overlay_init, mirroring Arm: without CONFIG_OVERLAY_DTB this expands to
__init, so the functions are init-only and need no XSM check; with
CONFIG_OVERLAY_DTB they become runtime-callable, but the only runtime
entry point is dt_overlay_domctl(), which performs the XSM checks at the
domctl layer.  RISC-V does not wire up DT overlay yet, so today these are
strictly __init; if/when overlay support is added, the domctl-level XSM
gating must be added together with it, as on Arm.

route_irq_to_guest() and release_irq() manage irq_desc ownership for
guest-assigned interrupts.  Each assignment carries a small irq_guest
structure as irqaction::dev_id, recording the owning domain and virtual
IRQ number which is 1:1 mapped to physical IRQ number.  A per-domain
vIRQ allocation bitmap (used_irqs in struct vintc), managed by
vintc_reserve_virq(), prevents the same vIRQ being claimed twice.

Host and guest interrupts may differ in some operations (EOI timing in
particular, possibly others): a host IRQ is completed once Xen's handler
runs, whereas a passthrough IRQ must defer the physical completion until
the guest issues its own EOI, otherwise a still-asserted level line would
immediately retrigger and storm.  This affects only the .end callback;
the rest of hw_interrupt_type is shared, hence the separate host and
guest hw_interrupt_type instances.

With APLIC+IMSIC, guest interrupts are delivered directly by hardware
through the IMSIC, bypassing do_IRQ(). The _IRQ_GUEST branch in
do_IRQ() is therefore left as BUG() until a platform without direct
IMSIC delivery is encountered.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v4:
 - Update the commit message.
 - Mark map_irq_to_domain() and map_device_irqs_to_domain() as
   __overlay_init (mirroring Arm) and include <xen/dt-overlay.h>.
 - Fix grammar in the controller-skip comment ("IRQ" -> "IRQs").
 - Drop the redundant 'base' local in guest_imsic_make_reg_property();
   use GUEST_IMSIC_S_BASE directly.
 - Rename vintc::irq_nums -> nr_virqs and update all users.
 - Guard domain_vintc_deinit() against a NULL d->arch.vintc.
 - Use smp_rmb() instead of smp_mb() in release_irq()'s wait loop and
   document how it pairs with the spin_unlock() in do_IRQ().
 - In release_guest_irq(), reject live unrouting from a non-dying domain
   (-EBUSY) and clear _IRQ_GUEST under desc->lock so a concurrent
   release for the same IRQ bails out instead of double-freeing 'info'.
 - Tidy spurious whitespace in release_irq()'s spin_lock/unlock calls.
---
Changes in v3:
 - Drop extraneous "to" from "Unable to permit to %pd" message.
 - Move res/irq/rirq to loop scope; use nirq as declaration initializer.
 - Hoist irq_ranges check before the loop (it is loop-invariant).
 - Remove spurious forward declarations (struct dt_device_node, struct
   rangeset) from intc.h; remove all three from setup.h.
 - Use __set_bit() instead of set_bit() in intc_route_irq_to_guest()
   since desc->lock is always held on every write path for desc->status.
 - Use XVFREE() instead of xvfree() in domain_vintc_deinit().
 - Rename allocated_irqs -> used_irqs in struct vintc.
 - Fix dangling desc->action in release_irq()'s !IRQ_HAS_MULTIPLE_ACTION
   path by nulling *action_ptr after saving the action pointer.
 - Use true (not 1) for free_on_release in route_irq_to_guest().
 - Use %pd for domain printing in route_irq_to_guest() error paths.
 - Introduce release_guest_irq() to pair with route_irq_to_guest() and
   plug the irq_guest info leak; call it from domain_vintc_deinit()
   for each vIRQ recorded in used_irqs.
---
Changes in v2:
 - Rework IRQ mapping in more common (similar approach to Arm).
---
---
 xen/arch/riscv/Makefile           |   1 +
 xen/arch/riscv/aplic.c            |   4 +
 xen/arch/riscv/device.c           |  95 ++++++++++++
 xen/arch/riscv/include/asm/intc.h |   9 ++
 xen/arch/riscv/include/asm/irq.h  |   5 +
 xen/arch/riscv/intc.c             |  44 ++++++
 xen/arch/riscv/irq.c              | 230 ++++++++++++++++++++++++++++++
 xen/arch/riscv/vaplic.c           |   2 +
 8 files changed, 390 insertions(+)
 create mode 100644 xen/arch/riscv/device.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 9d8d21b65188..fc6b34661111 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -1,6 +1,7 @@
 obj-y += aia.o
 obj-y += aplic.o
 obj-y += cpufeature.o
+obj-y += device.o
 obj-y += domain.o
 obj-y += domain-build.init.o
 obj-$(CONFIG_DOM0LESS_BOOT) += dom0less-build.init.o
diff --git a/xen/arch/riscv/aplic.c b/xen/arch/riscv/aplic.c
index 126d56fb7ea8..96ea475e914b 100644
--- a/xen/arch/riscv/aplic.c
+++ b/xen/arch/riscv/aplic.c
@@ -304,9 +304,13 @@ static const hw_irq_controller aplic_xen_irq_type = {
     .set_affinity = aplic_set_irq_affinity,
 };
 
+/* At the moment there is no difference between guest and Xen ops */
+#define aplic_guest_irq_type aplic_xen_irq_type
+
 static const struct intc_hw_operations aplic_ops = {
     .info                = &aplic_info,
     .host_irq_type       = &aplic_xen_irq_type,
+    .guest_irq_type      = &aplic_guest_irq_type,
     .handle_interrupt    = aplic_handle_interrupt,
     .set_irq_type        = aplic_set_irq_type,
 };
diff --git a/xen/arch/riscv/device.c b/xen/arch/riscv/device.c
new file mode 100644
index 000000000000..8bfb9926e8ef
--- /dev/null
+++ b/xen/arch/riscv/device.c
@@ -0,0 +1,95 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <xen/device_tree.h>
+#include <xen/dt-overlay.h>
+#include <xen/errno.h>
+#include <xen/iocap.h>
+#include <xen/rangeset.h>
+#include <xen/sched.h>
+
+#include <asm/intc.h>
+
+int __overlay_init map_irq_to_domain(struct domain *d, unsigned int irq,
+                                     bool need_mapping, const char *devname)
+{
+    int res;
+
+    res = irq_permit_access(d, irq);
+    if ( res )
+    {
+        printk(XENLOG_ERR "Unable to permit %pd access to IRQ %u\n", d, irq);
+        return res;
+    }
+
+    if ( need_mapping )
+    {
+        /*
+         * Checking the return of vintc_reserve_virq is not
+         * necessary. It should not fail except when we try to map
+         * the IRQ twice. This can legitimately happen if the IRQ is shared.
+         */
+        vintc_reserve_virq(d, irq);
+
+        res = route_irq_to_guest(d, irq, irq, devname);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR "Unable to map IRQ%u to %pd\n", irq, d);
+            return res;
+        }
+    }
+
+    dt_dprintk("  - IRQ: %u\n", irq);
+
+    return 0;
+}
+
+int __overlay_init map_device_irqs_to_domain(struct domain *d,
+                                             struct dt_device_node *dev,
+                                             bool need_mapping,
+                                             struct rangeset *irq_ranges)
+{
+    unsigned int i, nirq = dt_number_of_irq(dev);
+
+    if ( irq_ranges )
+        return -EOPNOTSUPP;
+
+    /* Give permission and map IRQs */
+    for ( i = 0; i < nirq; i++ )
+    {
+        int res, irq;
+        struct dt_raw_irq rirq;
+
+        res = dt_device_get_raw_irq(dev, i, &rirq);
+        if ( res )
+        {
+            printk(XENLOG_ERR "Unable to retrieve irq %u for %s\n",
+                   i, dt_node_full_name(dev));
+            return res;
+        }
+
+        /*
+         * Don't map IRQs that have no physical meaning
+         * ie: IRQs whose controller is not APLIC/IMSIC/PLIC.
+         */
+        if ( rirq.controller != dt_interrupt_controller )
+        {
+            dt_dprintk("irq %u not connected to primary controller."
+                       "Connected to %s\n", i,
+                       dt_node_full_name(rirq.controller));
+            continue;
+        }
+
+        irq = platform_get_irq(dev, i);
+        if ( irq < 0 )
+        {
+            printk("Unable to get irq %u for %s\n", i, dt_node_full_name(dev));
+            return irq;
+        }
+
+        res = map_irq_to_domain(d, irq, need_mapping, dt_node_name(dev));
+        if ( res )
+            return res;
+    }
+
+    return 0;
+}
diff --git a/xen/arch/riscv/include/asm/intc.h b/xen/arch/riscv/include/asm/intc.h
index 62260155dc6b..f16dc4384e2c 100644
--- a/xen/arch/riscv/include/asm/intc.h
+++ b/xen/arch/riscv/include/asm/intc.h
@@ -13,6 +13,7 @@ enum intc_variant {
 };
 
 struct cpu_user_regs;
+struct domain;
 struct irq_desc;
 struct kernel_info;
 struct vcpu;
@@ -32,6 +33,9 @@ struct intc_hw_operations {
     /* hw_irq_controller to enable/disable/eoi host irq */
     const struct hw_interrupt_type *host_irq_type;
 
+    /* hw_irq_controller to enable/disable/eoi guest irq */
+    const struct hw_interrupt_type *guest_irq_type;
+
     /* Set IRQ type */
     void (*set_irq_type)(struct irq_desc *desc, unsigned int type);
     /* Set IRQ priority */
@@ -61,6 +65,8 @@ struct vintc_ops {
 };
 
 struct vintc {
+    unsigned int nr_virqs;
+    unsigned long *used_irqs;
     const struct vintc_init_ops *init_ops;
     const struct vintc_ops *ops;
 };
@@ -72,10 +78,13 @@ void register_intc_ops(const struct intc_hw_init_ops *init_ops);
 void intc_init(void);
 
 void intc_route_irq_to_xen(struct irq_desc *desc, unsigned int priority);
+int intc_route_irq_to_guest(struct irq_desc *desc, unsigned int priority);
 
 void intc_handle_external_irqs(struct cpu_user_regs *regs);
 
 int domain_vintc_init(struct domain *d);
 void domain_vintc_deinit(struct domain *d);
 
+bool vintc_reserve_virq(const struct domain *d, unsigned int virq);
+
 #endif /* ASM__RISCV__INTERRUPT_CONTOLLER_H */
diff --git a/xen/arch/riscv/include/asm/irq.h b/xen/arch/riscv/include/asm/irq.h
index f633636dc308..2b95f8226be2 100644
--- a/xen/arch/riscv/include/asm/irq.h
+++ b/xen/arch/riscv/include/asm/irq.h
@@ -49,6 +49,11 @@ void init_IRQ(void);
 
 void do_IRQ(struct cpu_user_regs *regs, unsigned int irq);
 
+int route_irq_to_guest(struct domain *d, unsigned int virq,
+                       unsigned int irq, const char *devname);
+
+int release_guest_irq(struct domain *d, unsigned int virq);
+
 #endif /* ASM__RISCV__IRQ_H */
 
 /*
diff --git a/xen/arch/riscv/intc.c b/xen/arch/riscv/intc.c
index 0eb7eb924e9c..447b21db452b 100644
--- a/xen/arch/riscv/intc.c
+++ b/xen/arch/riscv/intc.c
@@ -7,7 +7,9 @@
 #include <xen/init.h>
 #include <xen/irq.h>
 #include <xen/lib.h>
+#include <xen/sched.h>
 #include <xen/spinlock.h>
+#include <xen/xvmalloc.h>
 
 #include <asm/aia.h>
 #include <asm/intc.h>
@@ -78,6 +80,22 @@ void intc_route_irq_to_xen(struct irq_desc *desc, unsigned int priority)
     intc_set_irq_priority(desc, priority);
 }
 
+int intc_route_irq_to_guest(struct irq_desc *desc,
+                            unsigned int priority)
+{
+    ASSERT(spin_is_locked(&desc->lock));
+
+    ASSERT(intc_hw_ops->guest_irq_type);
+
+    desc->handler = intc_hw_ops->guest_irq_type;
+    __set_bit(_IRQ_GUEST, &desc->status);
+
+    intc_set_irq_type(desc, desc->arch.type);
+    intc_set_irq_priority(desc, priority);
+
+    return 0;
+}
+
 int __init make_intc_domU_node(struct kernel_info *kinfo)
 {
     const struct vintc *vintc = kinfo->bd.d->arch.vintc;
@@ -101,12 +119,28 @@ int domain_vintc_init(struct domain *d)
         break;
     }
 
+    if ( !ret )
+    {
+        d->arch.vintc->used_irqs =
+            xvzalloc_array(unsigned long, BITS_TO_LONGS(d->arch.vintc->nr_virqs));
+        if ( !d->arch.vintc->used_irqs )
+            ret = -ENOMEM;
+    }
+
     return ret;
 }
 
 void domain_vintc_deinit(struct domain *d)
 {
     const enum intc_variant variant = intc_hw_ops->info->hw_variant;
+    unsigned int virq;
+
+    if ( !d->arch.vintc )
+        return;
+
+    for ( virq = 0; virq < d->arch.vintc->nr_virqs; virq++ )
+        if ( test_bit(virq, d->arch.vintc->used_irqs) )
+            release_guest_irq(d, virq);
 
     switch ( variant )
     {
@@ -117,4 +151,14 @@ void domain_vintc_deinit(struct domain *d)
     default:
         break;
     }
+
+    XVFREE(d->arch.vintc->used_irqs);
+}
+
+bool vintc_reserve_virq(const struct domain *d, unsigned int virq)
+{
+    if ( virq >= d->arch.vintc->nr_virqs )
+        return false;
+
+    return !test_and_set_bit(virq, d->arch.vintc->used_irqs);
 }
diff --git a/xen/arch/riscv/irq.c b/xen/arch/riscv/irq.c
index 25d329500212..a308a6978752 100644
--- a/xen/arch/riscv/irq.c
+++ b/xen/arch/riscv/irq.c
@@ -12,11 +12,20 @@
 #include <xen/errno.h>
 #include <xen/init.h>
 #include <xen/irq.h>
+#include <xen/sched.h>
 #include <xen/spinlock.h>
+#include <xen/xvmalloc.h>
 
 #include <asm/hardirq.h>
 #include <asm/intc.h>
 
+/* Describe an IRQ assigned to a guest */
+struct irq_guest
+{
+    struct domain *d;
+    unsigned int virq;
+};
+
 static irq_desc_t irq_desc[NR_IRQS];
 
 static bool irq_validate_new_type(unsigned int curr, unsigned int new)
@@ -192,6 +201,15 @@ void do_IRQ(struct cpu_user_regs *regs, unsigned int irq)
     if ( desc->handler->ack )
         desc->handler->ack(desc);
 
+    if ( desc->status & IRQ_GUEST )
+        /*
+         * As at the moment APLIC + IMSIC is used for guest interrupts will
+         * be directly passed to guest. But if/when IMSIC won't be available
+         * all interrupts will go through Xenand here an irq injection
+         * will be necessary to do.
+         */
+        panic("unimplemented");
+
     if ( desc->status & IRQ_DISABLED )
         goto out;
 
@@ -221,3 +239,215 @@ void do_IRQ(struct cpu_user_regs *regs, unsigned int irq)
     spin_unlock(&desc->lock);
     irq_exit();
 }
+
+static inline struct irq_guest *irq_get_guest_info(struct irq_desc *desc)
+{
+    ASSERT(spin_is_locked(&desc->lock));
+    ASSERT(test_bit(_IRQ_GUEST, &desc->status));
+    ASSERT(desc->action != NULL);
+
+    return desc->action->dev_id;
+}
+
+static inline struct domain *irq_get_domain(struct irq_desc *desc)
+{
+    return irq_get_guest_info(desc)->d;
+}
+
+void release_irq(unsigned int irq, const void *dev_id)
+{
+    struct irq_desc *desc;
+    unsigned long flags;
+    struct irqaction *action, **action_ptr;
+
+    desc = irq_to_desc(irq);
+
+    spin_lock_irqsave(&desc->lock, flags);
+
+    action_ptr = &desc->action;
+#ifdef CONFIG_IRQ_HAS_MULTIPLE_ACTION
+    for ( ;; )
+    {
+        action = *action_ptr;
+        if ( !action )
+        {
+            printk(XENLOG_WARNING "Trying to free already-free IRQ %u\n", irq);
+            spin_unlock_irqrestore(&desc->lock, flags);
+            return;
+        }
+
+        if ( action->dev_id == dev_id )
+            break;
+
+        action_ptr = &action->next;
+    }
+
+    /* Found it - remove it from the action list */
+    *action_ptr = action->next;
+#else
+    action = *action_ptr;
+    *action_ptr = NULL;
+#endif
+
+    /* If this was the last action, shut down the IRQ */
+    if ( !desc->action )
+    {
+        desc->handler->shutdown(desc);
+        __clear_bit(_IRQ_GUEST, &desc->status);
+    }
+
+    spin_unlock_irqrestore(&desc->lock, flags);
+
+    /*
+     * Wait to make sure it's not being used on another CPU.
+     *
+     * The read barrier pairs with the spin_unlock() in do_IRQ(): once we
+     * observe _IRQ_INPROGRESS cleared, we are guaranteed to also see the
+     * writes do_IRQ() made to desc (e.g. desc->action) before releasing the
+     * lock, so it is safe to free the action below.
+     */
+    do { smp_rmb(); } while ( test_bit(_IRQ_INPROGRESS, &desc->status) );
+
+    if ( action->free_on_release )
+        xvfree(action);
+}
+
+int release_guest_irq(struct domain *d, unsigned int virq)
+{
+    struct irq_desc *desc = irq_to_desc(virq);
+    struct irq_guest *info;
+    unsigned long flags;
+
+    spin_lock_irqsave(&desc->lock, flags);
+
+    if ( !test_bit(_IRQ_GUEST, &desc->status) )
+        goto unlock_err;
+
+    info = irq_get_guest_info(desc);
+    if ( d != info->d )
+        goto unlock_err;
+
+    /*
+     * Live IRQ unrouting from a running domain is not supported: the tear-down
+     * drops desc->lock across release_irq()/xvfree() and relies on no
+     * concurrent route_irq_to_guest() being issued for this domain. Only permit
+     * it for a dying domain, where assignment is frozen and no new routes can
+     * appear.
+     */
+    if ( !d->is_dying )
+    {
+        spin_unlock_irqrestore(&desc->lock, flags);
+        return -EBUSY;
+    }
+
+    /*
+     * Clear _IRQ_GUEST while still holding the lock so that a concurrent
+     * release_guest_irq() for the same IRQ observes it and bails out, rather
+     * than capturing the same 'info' and double-freeing it below.
+     */
+    clear_bit(_IRQ_GUEST, &desc->status);
+
+    spin_unlock_irqrestore(&desc->lock, flags);
+
+    release_irq(desc->irq, info);
+    xvfree(info);
+
+    return 0;
+
+ unlock_err:
+    spin_unlock_irqrestore(&desc->lock, flags);
+    return -EINVAL;
+}
+
+/* Route an IRQ to a specific guest */
+int route_irq_to_guest(struct domain *d, unsigned int virq,
+                       unsigned int irq, const char *devname)
+{
+    struct irqaction *action;
+    struct irq_guest *info;
+    struct irq_desc *desc;
+    unsigned long flags;
+    int retval = 0;
+
+    desc = irq_to_desc(irq);
+
+    action = xvmalloc(struct irqaction);
+    if ( !action )
+        return -ENOMEM;
+
+    info = xvmalloc(struct irq_guest);
+    if ( !info )
+    {
+        xvfree(action);
+        return -ENOMEM;
+    }
+
+    info->d = d;
+    info->virq = virq;
+
+    action->dev_id = info;
+    action->name = devname;
+    action->free_on_release = true;
+
+    spin_lock_irqsave(&desc->lock, flags);
+
+    /*
+     * If the IRQ is already used by someone
+     *  - If it's the same domain -> Xen doesn't need to update the IRQ desc.
+     *  For safety check if we are not trying to assign the IRQ to a
+     *  different vIRQ.
+     *  - Otherwise -> For now, don't allow the IRQ to be shared between
+     *  Xen and domains.
+     */
+    if ( desc->action != NULL )
+    {
+        if ( test_bit(_IRQ_GUEST, &desc->status) )
+        {
+            struct domain *ad = irq_get_domain(desc);
+
+            if ( d != ad )
+            {
+                printk(XENLOG_G_ERR "IRQ %u is already used by %pd\n",
+                       irq, ad);
+                retval = -EBUSY;
+            }
+            else if ( irq_get_guest_info(desc)->virq != virq )
+            {
+                printk(XENLOG_G_ERR
+                       "%pd: IRQ %u is already assigned to vIRQ %u\n",
+                       d, irq, irq_get_guest_info(desc)->virq);
+                retval = -EBUSY;
+            }
+        }
+        else
+        {
+            printk(XENLOG_G_ERR "IRQ %u is already used by Xen\n", irq);
+            retval = -EBUSY;
+        }
+        goto out;
+    }
+
+    retval = _setup_irq(desc, 0, action);
+    if ( retval )
+        goto out;
+
+    retval = intc_route_irq_to_guest(desc, IRQ_NO_PRIORITY);
+
+    spin_unlock_irqrestore(&desc->lock, flags);
+
+    if ( retval )
+    {
+        release_irq(desc->irq, info);
+        goto free_info;
+    }
+
+    return 0;
+
+ out:
+    spin_unlock_irqrestore(&desc->lock, flags);
+    xvfree(action);
+ free_info:
+    xvfree(info);
+
+    return retval;
+}
diff --git a/xen/arch/riscv/vaplic.c b/xen/arch/riscv/vaplic.c
index 6e409d9b732b..6256d75091b2 100644
--- a/xen/arch/riscv/vaplic.c
+++ b/xen/arch/riscv/vaplic.c
@@ -123,6 +123,8 @@ int domain_vaplic_init(struct domain *d)
     vaplic->regs.domaincfg = APLIC_DOMAINCFG_IE | APLIC_DOMAINCFG_DM |
                              APLIC_DOMAINCFG_RO;
 
+    d->arch.vintc->nr_virqs = VAPLIC_NUM_SOURCES;
+
     return 0;
 }
 
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:28 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346303.1604887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8lx-00062z-TK; Fri, 26 Jun 2026 15:47:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346303.1604887; Fri, 26 Jun 2026 15: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 1wd8lw-0005xC-Ek; Fri, 26 Jun 2026 15:47:16 +0000
Received: by outflank-mailman (input) for mailman id 1346303;
 Fri, 26 Jun 2026 15:47:09 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8lo-0004HM-Hd
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:47:08 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8ln-008hTo-UF
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:47:07 +0200
Received: from [10.42.69.3] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9ec9-2eae-0a2a0a5409dd-0a2a45038a38-48
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:07 +0200
Received: from [209.85.167.50] (helo=mail-lf1-f50.google.com)
 by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9efb-ec1a-0a2a45030019-d155a732d90d-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:07 +0200
Received: by mail-lf1-f50.google.com with SMTP id
 2adb3069b0e04-5aea915df15so438567e87.3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:47:07 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.47.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:47:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488827; x=1783093627; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tGVs0W5yuF//qwARTLwYow22/uS7Po5fojk55jJOeWQ=;
        b=ZRHLVDGLanKzMM7ZWMUVg9kgeNY3HQmQRt86jnFNrit/+NUC2f4fEXrABOqwYyLAKc
         229BR7nB+OgXNPu225bpcP694JKcJOHxIDmq12SDHJ5lewAY3w5caPjTpLdFNaOiS6vK
         XeaE8szFGlF0psM/VGT4x4Xs6rTAm/cJCm6jzNrInwuiVSyOa9+s6IHZUx6ysHv/dzMt
         QFttU9Y0CmZG0k6LUoIqUBbkwPxwMGaYq3N5ei06Dv10QsIJsmIhxc5uMlXLLDYahdAY
         R2u4x1d1ABloub+P0kSW/b+2GxQaWPy4F1/b9ivwozHsLYslheC1j1R2BIjc6FdWk39J
         mBEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488827; x=1783093627;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=tGVs0W5yuF//qwARTLwYow22/uS7Po5fojk55jJOeWQ=;
        b=JVwlKGK1EZ4khCgD20q7tRJ9Cn6wdJdf81hAT9LLSOQNUkdzV6J2FwPphWtUnoYPfs
         sfeNl3omxIsg8L//XCR0BhHRraDMrR/dUPk3gRa1IgEK4hCfbJj03VLv4FOoO2QiavgO
         TwPpfUW0mU3zQKTYWvKJXqC5JxFYU4M14SM6YX5yrRYmngbzFMqEUYQomEJqgVRLHSjY
         PfluhCTWT84ddwrH1hFslX7mvfhLczIsywHpgyRYguVSLVfUYI7T5WqknbQc0zE4jMll
         6ATN8pY4C/qmvcOCAgd14wssKb6RkaR2ZgTQWEVsWEnlLu/ts6UBdoKSt0bah19Dmboe
         J7sA==
X-Gm-Message-State: AOJu0YzDIgow/AvlzRBNJlP3q8JLI75TApWxvbkcDphjwdKIE0DmGYnn
	IJSvgch7DjGjI1kyerkJyn8u/hU8Ygv2FG+aw+sEDoegmQ34KmQ3Uv+/e/tZSQ==
X-Gm-Gg: AfdE7cmcIUqSTBsQsPpGuN3/WU6h1dvIo8FQe185o4z4XU7i1gd92II4z+qKMPRum9g
	kXoBNWLyLIzGnAfSuoXhfGEwvshl9CiPvidjk0yeUpyOlfW7lrdM4/IqqJgqEdeYRoxrIEaKm2W
	F/vY1sc+ZdU+W4SQktguhGPjzAB6By6SyRbDXIiha2890fu3H3uXki0JwfHJoPeBrUCqH2UEMVg
	EYuuqcEQrDv7capbHZPwhTbVDz/1cM2bnL+fW8RSk+yp0Lox5k2I69kYoM3I0F2bJuqrLEHK9Wz
	Hnvtp2ZBGg5l7yKGdBRFh5t6jGbYNAn8w317K3CN5FhNPdPIAE7O92BhELAy+Eu9UFTUMw0Kt6z
	g+FDDWrbbDY9r7RvA5vE6yBp3+IZMaf7vES0zJ4WqHVQh98jnakRU/iSpbXyu1mGo5plPAsdlRR
	4i4jmL/1SKCnHBR7ocvWYmW4YpBoZ4Hj574psZJl5jXx+NjRJj21zk+u+VAg==
X-Received: by 2002:a05:6512:6085:b0:5ae:a488:cda8 with SMTP id 2adb3069b0e04-5aea488ce07mr1932782e87.42.1782488827120;
        Fri, 26 Jun 2026 08:47:07 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 v4 22/25] xen/riscv: implement init_intc_phandle()
Date: Fri, 26 Jun 2026 17:46:31 +0200
Message-ID: <3d06d182ab718707ddce2445f317bfd6e661fb5b.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-33051d/1782488827-BC7875D1-CF050ACD/10/73395122804
X-purgate-type: spam
X-purgate-size: 1376

Implement init_intc_phandle() to read phandle of interrupt controller
node and save it in kernel->phandle_intc for the future usage during
creation of guest interrupt controller node.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v4:
 - Nothing changed. Only rebase.
---
---
 xen/arch/riscv/dom0less-build.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/xen/arch/riscv/dom0less-build.c b/xen/arch/riscv/dom0less-build.c
index 4cc00012aa8d..a1fa51b996a7 100644
--- a/xen/arch/riscv/dom0less-build.c
+++ b/xen/arch/riscv/dom0less-build.c
@@ -4,9 +4,26 @@
 #include <xen/device_tree.h>
 #include <xen/fdt-kernel.h>
 #include <xen/init.h>
+#include <xen/libfdt/libfdt.h>
 
 #include <asm/p2m.h>
 
+int __init init_intc_phandle(struct kernel_info *kinfo, const char *name,
+                             const int node_next, const void *pfdt)
+{
+    if ( dt_node_cmp(name, "intc") == 0 )
+    {
+        uint32_t phandle_intc = fdt_get_phandle(pfdt, node_next);
+
+        if ( phandle_intc != 0 )
+            kinfo->phandle_intc = phandle_intc;
+
+        return 0;
+    }
+
+    return 1;
+}
+
 int __init make_arch_nodes(struct kernel_info *kinfo)
 {
     /* No RISC-V specific nodes need to be made, at the moment. */
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:31 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346312.1604895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8m1-0006iu-6i; Fri, 26 Jun 2026 15:47:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346312.1604895; Fri, 26 Jun 2026 15: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 1wd8lz-0006ch-Hg; Fri, 26 Jun 2026 15:47:19 +0000
Received: by outflank-mailman (input) for mailman id 1346312;
 Fri, 26 Jun 2026 15:47:11 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8lq-0004h7-HV
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:47:10 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8lp-00Ad7h-S1
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:47:09 +0200
Received: from [10.42.69.11] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9efb-e002-0a2a0a5209dd-0a2a450bedca-2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:09 +0200
Received: from [209.85.208.175] (helo=mail-lj1-f175.google.com)
 by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9efd-ac48-0a2a450b0019-d155d0afedc1-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:09 +0200
Received: by mail-lj1-f175.google.com with SMTP id
 38308e7fff4ca-3996c9eeebeso9996901fa.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:47:09 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.47.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:47:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488829; x=1783093629; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=oLh8fGIE1A466qmTuKBcUXl7JYmNxJHzlMuXubpIZxQ=;
        b=ZFTUDu8+gU0m2A+bykZlaw6AHRzL4bOB/+9lXEU2zkB2fhzGqSoW1u3qh8PBT8wtfN
         aDaSZisKP6PsBtVcNwGinrCeY18uKvTM1nKU9kxN6hxF1XoZ9txxm3PXtJesX2zVyuB9
         W7+2cHgPCoqi37VKDkogpsPXyxAw3liQYfit84b+PyVwumYII0lonZ4uJClDMPeLuUNm
         IzcFyc9ASPE4h8Cs2FucLCvQHkJuFTIMRBOHWjkWnLIoIT3H6cKe70/L7X7GRlaKfd1w
         7PTxLbe6eHXYalB822KhqUBfxfhsclQOjO+vSXFVGNm4FxtXSudE/JRbD09vaEc0uDpc
         pQHA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488829; x=1783093629;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=oLh8fGIE1A466qmTuKBcUXl7JYmNxJHzlMuXubpIZxQ=;
        b=hm5B2waShXN/XPc4qoId/2dvIAXZ8q3X88aqJqvgci4kuHjYvmSaCKP7FoVIM1PP/Z
         CrNljyvatXYZibi25vabUxLumnelFmq8b+RRU4klKR120+zMFoC1eLKddmhT/nC7mTFa
         nTo7TAZ2B74zD6x13LWppOb4BuuMJ4TCsHVHUKQI5m/9meq0avHMRu9M8gEjBu/SrgDt
         5wvsFPcAvqUtHwqMsL6IK1fVaWjvKwoDtpcEaRVwTOmV6LJ9G2yvJNvu7D6TGBgvWmVb
         KjhR6nlni0NntP/D8HOFBAB/Ui+PXLaYilWpXuZ/MloYpp/ax14OTy0tek6EXcXosJXf
         mOBw==
X-Gm-Message-State: AOJu0YzJDEwIqWPrxn/D8hv7wVohOUUmniDNuIIK1Rsfzrv88Q9NUjNU
	8d8fayb8MjgkkUtkNQihZNgOqUkM/gf0l0sbwo0WgpVROv9DYWGOVwEjBx+IqA==
X-Gm-Gg: AfdE7clzLG8oKxZj+fGQQkRVOteWb3DGcYC6WCNLWSl9JT+CVifkZYnFavBri3M4p2+
	qz9t/5z+d8SAkmSLtXV3trrS8PwVKK9OsBRs+Sy0XOK5otGYDvRLOAzNppukmE7mYaXHRtasGWj
	XiT3KZcqQxXqw10RWpqKLbf7Ezbwx6TPIls6mQQYgwGthXJqCAiMStvNLfOrE+nb2xU9o3sHV6E
	L+gdtgNFTd/PYlCF3v2QdkdczIwyZhGqLlZBai0iyEKFGfsFU/bmYr29A+1VKWOqJ8t/EWhL8C7
	Js7iDQmBdqh7rafpKsxE5cxj700bXdDpFI7mxAoSJMBJclsBHhk+0tW22ejt5hmD0ysjiu7w4mh
	3v+rQeoJDEblQN72ry1zClNz12TzIqAtwlyVlPtifZgM1uATYi/yAV5SvmAJoRYu+11ga7ZjcKt
	5GhPg83n/cjguoDwVk1m6dAqOwNvPztcKknhKjyRrd3NPQgHZ4qE0ojnd97JqFiqKTOHws
X-Received: by 2002:ac2:4ec5:0:b0:5aa:6d0e:9d4c with SMTP id 2adb3069b0e04-5aea1f5945amr1360383e87.25.1782488829050;
        Fri, 26 Jun 2026 08:47:09 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 v4 24/25] xen/riscv: provide init_vuart()
Date: Fri, 26 Jun 2026 17:46:33 +0200
Message-ID: <0d7964b75db0d5d42fe1788fc1bd77962301c927.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-42698a/1782488829-3BB30220-FB46DC91/10/73395122804
X-purgate-type: spam
X-purgate-size: 1391

For debug purpose is enough to have only print messages from guest what is
now implemented in vsbi_legacy_ecall_handler().

For full guesst console support it will better to have something similar to
[1], thereby there is nothing specific should be done, at least, for now
and init_vuart() is provided to make dom0less code buildable.

[1] https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2602041533440.3175371@ubuntu-linux-20-04-desktop/

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v3-v4:
 - Nothing changed. Only rebase.
---
Changes in v2:
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>.
---
---
 xen/arch/riscv/dom0less-build.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/xen/arch/riscv/dom0less-build.c b/xen/arch/riscv/dom0less-build.c
index a1fa51b996a7..d1a51b92936a 100644
--- a/xen/arch/riscv/dom0less-build.c
+++ b/xen/arch/riscv/dom0less-build.c
@@ -8,6 +8,14 @@
 
 #include <asm/p2m.h>
 
+int __init init_vuart(struct domain *d, struct kernel_info *kinfo,
+                      const struct dt_device_node *node)
+{
+    /* Nothing to do at the moment */
+
+    return 0;
+}
+
 int __init init_intc_phandle(struct kernel_info *kinfo, const char *name,
                              const int node_next, const void *pfdt)
 {
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:33 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346315.1604903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8m2-00070w-H4; Fri, 26 Jun 2026 15:47:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346315.1604903; Fri, 26 Jun 2026 15:47:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8m1-0006vH-34; Fri, 26 Jun 2026 15:47:21 +0000
Received: by outflank-mailman (input) for mailman id 1346315;
 Fri, 26 Jun 2026 15:47:13 +0000
Received: from mx.expurgate.net ([195.190.135.20])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8lr-0004ra-Hc
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:47:11 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8lq-008hTo-SI
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:47:10 +0200
Received: from [10.42.69.4] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9eed-2eae-0a2a0a5409dd-0a2a4504e35c-38
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:10 +0200
Received: from [209.85.167.52] (helo=mail-lf1-f52.google.com)
 by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9efc-a01d-0a2a45040019-d155a734a43b-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:08 +0200
Received: by mail-lf1-f52.google.com with SMTP id
 2adb3069b0e04-5aea1f4dc7fso1077205e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:47:08 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.47.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08:47:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488828; x=1783093628; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=q+nhDaDUJkCW0waY+Zvj1Fm8pm8i//taC/XFR+qPzKk=;
        b=Tljjas2u/Tw+NXK7EKfGLuDIVxm2fBdJSTXze1DwjP0nHErpof1Moy4IvOw6vd6SiN
         QWGoQ9ilD+yn1jg16fdxCiWr7AeR90f2WFjcO90URuPKpaBVALO+b7gx4ZijP2baxrGf
         3ktycjDVUTlJfV20xQv7aLBwQ8k6Z3R5CU1/mfByuUX/g7P+JnQBJRq84tueQa9brQ/5
         InHdOqTATkvjaNWMLFryNfF5uRn0kaLvRWPw/cKc8dSyqjxUauM0DsvnfxV6UQYXfYV4
         VEROcOhCSES70V2hPdMtbh9jK5JZs0hO88E++o5OL/zkvgv6wZTSkB9cRorLh7TnUI7m
         lICQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488828; x=1783093628;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=q+nhDaDUJkCW0waY+Zvj1Fm8pm8i//taC/XFR+qPzKk=;
        b=CuFksLNGor2KCvfoX4/beHh15Z+rW3vtY8pUzl3Ps+mUFQKzpCIHnBlC2RLJb4Dy82
         Dh1Rt299ITO324Zo5MyQoLXxMrf7cd0zx8MJRw+wBqW3YgcXBpo+ZGidbmDyWuB7oesw
         jI03RBXVDvYkYwc08WmbmzOn/dM29cQefO62Fisy+nRCkzSvEX69Yg7eVAfnLgH+wa24
         OwD0KdzC8hSZvLYKSy+GXevuUEPo9QOQHKpiPXVkhNPsTrzmXJDeOw0yw2pyU4RFTWBG
         jY7mVZ8pw3+do6NpqHpuL1NNDc8kKNXNvb4yTU+oB07F5J18xMZbs7FjEVNo6W0pgtQx
         vSGQ==
X-Gm-Message-State: AOJu0Ywwo5qg9n2Ga2BhjPcfOe0BMjqN/5xAgzuIw/FkCAs+8epncVjR
	k5pDnCL3JfXTITwiQ6jwAtxFPJqjKyZ0TILDK62k/B7Fr6iheyjycfKyDZ7nuQ==
X-Gm-Gg: AfdE7cka8PO6vhq+mlaMcAMFfQgXNEAznimQZRNRBPrSUVrbmwfP/Vem48a/UUMlFvC
	VGd1l67izE2Dso5mG5tyy1js5X+C4kTam0EIICMwepkmd/D9MAztgFOq82p0pzOwG3Fh0QnHfgQ
	57yXGqLbJyA6L+kHIc3V+6eDznWQseTQWhnlWOZuD1eVd8D81hnINBhjrBVRaJHF1Dy/Hm8/2D4
	ZFysI2/+nQrzGX345vF6yB0wDh3BBTbSw5tLn4MzrnJH6a5i6ayfKoc5ofEYz9AT1afDoM4/rYJ
	A0ZFncnPXkrPv7esKx4Ri9yJlC9WkQg+z7IOA0S7yvTkYDPaAQUWMWwYz9cu8RzwLGhsWLaE2dR
	p7hZcNUyS4fx9DDrk9BYUvwgICD2ylq1MZoNO1ybH8AcGEyTPTeHz49Akt4C3tJSO1n6+QtxthS
	USSkLT1j6pT2KZke0ix1Z6nBGj1g76MeWz+Fqv2yWSr/fzZkGZClAyZuJqODPe4lnME2SV
X-Received: by 2002:a05:6512:2251:b0:5aa:65a3:468c with SMTP id 2adb3069b0e04-5aea1e246f6mr2021690e87.7.1782488828078;
        Fri, 26 Jun 2026 08:47:08 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 v4 23/25] xen/riscv: initialize RCU, scheduler, and system domains in start_xen()
Date: Fri, 26 Jun 2026 17:46:32 +0200
Message-ID: <b1b73269c314940b959043dffd2183c180208035.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-ebf023/1782488828-AF32F1CC-AC15FB50/10/73395122804
X-purgate-type: spam
X-purgate-size: 1558

Wire up the missing early-boot initialization steps in start_xen().

The scheduler must be initialized prior to do_initcalls() because
cpupool_create_pool() is called during initcalls; without it,
BUG_ON(IS_ERR(pool)) is triggered inside cpupool_create_pool().

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v4:
 - Nothing changed. Only rebase.
---
Changes in v3:
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>.
---
Changes in v2:
 - New patch. Several patches were folded into one.
---
---
 xen/arch/riscv/setup.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 56a0907a855f..c3e98733ebc3 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -6,9 +6,12 @@
 #include <xen/compile.h>
 #include <xen/console.h>
 #include <xen/device_tree.h>
+#include <xen/domain.h>
 #include <xen/init.h>
 #include <xen/irq.h>
 #include <xen/mm.h>
+#include <xen/rcupdate.h>
+#include <xen/sched.h>
 #include <xen/serial.h>
 #include <xen/shutdown.h>
 #include <xen/smp.h>
@@ -156,12 +159,21 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     timer_init();
 
+    rcu_init();
+
+    setup_system_domains();
+
     local_irq_enable();
 
     console_init_postirq();
 
     guest_mm_init();
 
+    scheduler_init();
+    set_current(idle_vcpu[0]);
+
+    do_initcalls();
+
     printk("All set up\n");
 
     machine_halt();
-- 
2.54.0



From xen-devel-bounces@lists.xenproject.org Fri Jun 26 15:47:34 2026
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Jun 2026 15:47:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1346314.1604910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1wd8m4-0007Jz-1c; Fri, 26 Jun 2026 15:47:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1346314.1604910; Fri, 26 Jun 2026 15:47: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 1wd8m2-0007Df-Gx; Fri, 26 Jun 2026 15:47:22 +0000
Received: by outflank-mailman (input) for mailman id 1346314;
 Fri, 26 Jun 2026 15:47:13 +0000
Received: from mx.expurgate.net ([195.190.135.10])
 by lists.xenproject.org with esmtp (Exim 4.92) id 1wd8ls-0004vD-11
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 15:47:12 +0000
Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp
 id 1wd8lr-007b8F-5W
 for xen-devel@lists.xenproject.org; Fri, 26 Jun 2026 17:47:11 +0200
Received: from [10.42.69.8] (helo=localhost)
 by localhost with ESMTP (eXpurgate MTA 0.9.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9eeb-5cb7-0a2a0a5109dd-0a2a4508b62c-32
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:11 +0200
Received: from [209.85.208.175] (helo=mail-lj1-f175.google.com)
 by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1)
 (envelope-from <oleksii.kurochko@gmail.com>)
 id 6a3e9efe-edec-0a2a45080019-d155d0afe02f-3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 17:47:10 +0200
Received: by mail-lj1-f175.google.com with SMTP id
 38308e7fff4ca-39ad9c80fa8so7349521fa.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Jun 2026 08:47:10 -0700 (PDT)
Received: from fedora (user-109-243-148-111.play-internet.pl.
 [109.243.148.111]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5ae9cd5b232sm2612888e87.29.2026.06.26.08.47.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Jun 2026 08: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>
Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1782488830; x=1783093630; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+DdSrh6NSU2s4GU9Tmsol8kJnh0oRP/iPMlkqVlxmWs=;
        b=j8Tjne1L93srtK5EsZnblNH1KAz1t2e0qDjfe5z4QGrEh5HotFOHFtOvuC1wOO3GOi
         aJBWQ3sVG47gPYG1r/E6ivQjdJHRtUYcJF1PwFH4B4V6ZYBU+AjpqN+zBedU7U19x87s
         +GEVHc4f+JlB6o3rKURJ3eNaiz8odo19Aq7+DPHBHp155O3bhaNHRObygWtbE+aVAa/6
         M9JU1e6LkK4Sen3ksKl2le/jbFlbug2e+2CElocXZWmFC0Di2QqXxolbYB/kNiqmPv2K
         HmVQQOzOZo89o1Yo3xdpdT/vLRkjW4V5VkWyMgAp+JAL9oXAgrwaCMV8WQStoBY494Ap
         pKsQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1782488830; x=1783093630;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=+DdSrh6NSU2s4GU9Tmsol8kJnh0oRP/iPMlkqVlxmWs=;
        b=cwHfoV9SsW4t361qqFVplEHfKy6aByct+AtQiiSrI8kPEvA9rw8OGQgffsO/v5nJko
         Tn44lW0aEMEoFSH6qZ7/nMiGuQSNFuNBo46QfcGZn1JleICQUnpz/FZdlhD9UeGtGAB4
         FT0YYOlWKNzvs84zSOW3/WHo7kDre85hl+KSrUrXsDoHEfjStpjuwr4v9tlNjcMZnjBP
         p/SM73ZOe8pPDzCX9KGNXp2WzifzGED+yx8puC5pz7p6u8lpFWAygq29w5B3zcBQbQPl
         JaH/E4yycuYUw6oSc7ZE1vdp+9eRgwFHZ9gDHCVe+0UTLgNFqpXZsZyw8d1n+7f57sHb
         NpxA==
X-Gm-Message-State: AOJu0Yy/WCxvQRJB8yMrg7wuURFqeYJ8SjxZQ1STKUCWyhQn2haigjEA
	gePYxTUJ/rXphN6uYnSzxHLcLe0aBeWG5pH4Tpc9WazfWhOikGb3fkDmg1nnsA==
X-Gm-Gg: AfdE7clQ+939/y0wbMDh4J6d0Mj4Twqa00QjPsaZgLRYJ5AQAn44Ry+SNb56ZoC2UoC
	TLjbJGNO+BVoVmlSJNE/HesivByzdh+fGfog8xcVIFYe8sYI5ht42nv4oFYDOO+tGb8E3dcqDqr
	anPGDe/Sx5IvboT+tv9Eglpr180DmV9pE7bD5C6pz4n/XOpeciCKieiD7Z/yiDl62RmsSfdRaM6
	T+KJNsvUixO1jhp4BzptTBsXXei02ymDdlshAwSolZW36LANtioMeqW8BCMrABl33RxhjcLucDm
	D4wT5KERKXJQ2sWre9n4RNMHxIXN3kVrGDiGUFLdDCFUp74ETUWxOy0pUw+fhJqIUvrQPqXF4kw
	D4nmIl6jKjEkSrqYy04PSyC+fsgq0Fc/uP3kcIeurtm0x8plaqyWgKbqdhq1TnO6Mvgu54Ks/Dl
	Rf8JYmBcguFRmk5Hp84iT+ThRtcj9pjJsZO5g3CpCdNUINMHv3r93CZfrKgg==
X-Received: by 2002:a05:6512:6285:b0:5ad:68c8:191b with SMTP id 2adb3069b0e04-5aea1f3d4c1mr2281084e87.2.1782488830038;
        Fri, 26 Jun 2026 08:47:10 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Romain Caritey <Romain.Caritey@microchip.com>,
	Baptiste Le Duc <baptiste.le-duc@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.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 v4 25/25] xen/riscv: add initial dom0less infrastructure support
Date: Fri, 26 Jun 2026 17:46:34 +0200
Message-ID: <a6950e8dc2706c351fe6b0622602d34ecef133b7.1782487661.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.54.0
In-Reply-To: <cover.1782487661.git.oleksii.kurochko@gmail.com>
References: <cover.1782487661.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-purgate-ID: tlsNG-c1860d/1782488830-4092D3FC-F713A814/10/73395122804
X-purgate-type: spam
X-purgate-size: 6637

Enable dom0less support for RISC-V by selecting HAS_DOM0LESS and
providing the minimal architecture hooks required by the common
dom0less infrastructure.

Add stub implementations for architecture-specific helpers used when
building domains from the device tree. These allow the generic
dom0less code to build and let a basic DomU be constructed on RISC-V.
construct_hwdom() and make_hypervisor_node() are still stubs returning
an error: Dom0/hwdom construction isn't supported yet, and the
hypervisor node generation (needed by domains with
DOM0LESS_ENHANCED_NO_XS set) is not implemented. Both are marked with
a TODO and are not reached by the currently supported configurations.

Provide missing helpers and definitions required by the domain
construction code, including domain bitness helpers and the
p2m_set_allocation() prototype.

Additionally define the guest magic memory region (GUEST_MAGIC_BASE /
GUEST_MAGIC_SIZE) in asm/guest-layout.h. The base is arbitrary; the
only constraint is that the region must not overlap guest RAM or the
emulated device regions. It is placed in the unused gap below
GUEST_RAM0_BASE (0x80000000); the constraints are documented next to
the #define-s.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v4:
  - Reword the description: the stubs do not let dom0less fully "run"
    since construct_hwdom() and make_hypervisor_node() return an error;
    spell out these limitations instead.
  - Add a TODO comment to construct_hwdom() explaining that Dom0/hwdom
    construction isn't supported yet.
  - Add a TODO comment to make_hypervisor_node() explaining that
    returning an error breaks building of domains with
    DOM0LESS_ENHANCED_NO_XS set, and why that is harmless for now.
  - Document the constraints on GUEST_MAGIC_BASE/GUEST_MAGIC_SIZE next
    to the #define-s and drop the QEMU-based justification (QEMU is not
    involved); the base is simply an arbitrary non-overlapping address.
Changes in v3:
  - Add /* Nothing specific to do for now */ comment to
    arch_handle_passthrough_prop().
  - Use _ULL() instead of xen_mk_ullong() for GUEST_MAGIC_BASE and
    GUEST_MAGIC_SIZE (xen_mk_ullong() is intended for public headers only).
  - Fix GUEST_MAGIC_BASE from 0x39000000 to 0x79000000 to avoid the
    QEMU RISC-V virt machine PCIE_ECAM range.
  - Drop CONFIG_STATIC_MEMORY=n from the CI randconfig; now redundant
    since STATIC_MEMORY depends on HAS_STATIC_MEMORY which RISC-V does
    not select.
Changes in v2:
  - Move declaration of p2m_set_allocation() to p2m-common.h.
  - Add __initdata for max_init_domid and drop initalizer for it.
  - Add CONFIG_STATIC_MEMORY=n to CI's randconfig to avoid
    compilation error because of guest_physmap_add_pages()
    isn't provided.
---
 xen/arch/riscv/Kconfig                    |  2 ++
 xen/arch/riscv/dom0less-build.c           |  7 ++++++
 xen/arch/riscv/domain-build.c             | 28 +++++++++++++++++++++++
 xen/arch/riscv/include/asm/guest-layout.h | 12 ++++++++++
 4 files changed, 49 insertions(+)

diff --git a/xen/arch/riscv/Kconfig b/xen/arch/riscv/Kconfig
index 48520588fe40..d8a348c0cf07 100644
--- a/xen/arch/riscv/Kconfig
+++ b/xen/arch/riscv/Kconfig
@@ -6,6 +6,8 @@ config RISCV
 	select GENERIC_BUG_FRAME
 	select GENERIC_UART_INIT
 	select HAS_DEVICE_TREE_DISCOVERY
+	select HAS_DOM0LESS
+	select HAS_DOMAIN_TYPE
 	select HAS_EX_TABLE
 	select HAS_PMAP
 	select HAS_UBSAN
diff --git a/xen/arch/riscv/dom0less-build.c b/xen/arch/riscv/dom0less-build.c
index d1a51b92936a..0801d7e25059 100644
--- a/xen/arch/riscv/dom0less-build.c
+++ b/xen/arch/riscv/dom0less-build.c
@@ -102,3 +102,10 @@ int __init arch_parse_dom0less_node(struct dt_device_node *node,
 
     return 0;
 }
+
+int __init arch_handle_passthrough_prop(struct kernel_info *kinfo,
+                                        struct dt_device_node *node)
+{
+    /* Nothing specific to do for now */
+    return 0;
+}
diff --git a/xen/arch/riscv/domain-build.c b/xen/arch/riscv/domain-build.c
index 54ecd301c49c..84923b8f7b10 100644
--- a/xen/arch/riscv/domain-build.c
+++ b/xen/arch/riscv/domain-build.c
@@ -156,9 +156,37 @@ int __init make_cpus_node(const struct domain *d, struct kernel_info *kinfo)
     return fdt_end_node(fdt);
 }
 
+int __init construct_hwdom(struct kernel_info *kinfo,
+                           const struct dt_device_node *node)
+{
+    /*
+     * TODO: Dom0/hwdom construction isn't supported on RISC-V yet, so this
+     * is a stub returning an error. It must be implemented before a hardware
+     * domain can be built from the device tree.
+     */
+
+    return -EOPNOTSUPP;
+}
+
 int __init make_timer_node(const struct kernel_info *kinfo)
 {
     /* There is no need for timer node for RISC-V. */
 
     return 0;
 }
+
+int __init make_hypervisor_node(struct domain *d,
+                                const struct kernel_info *kinfo,
+                                int addrcells, int sizecells)
+{
+    /*
+     * TODO: Generating the hypervisor node isn't implemented yet. Returning
+     * an error here breaks building of any domain (DomU included) whose
+     * dom0less_feature has DOM0LESS_ENHANCED_NO_XS set. This is harmless for
+     * now because Dom0/hwdom construction isn't supported on RISC-V yet
+     * either, and no RISC-V DomU sets that flag, so this path is never taken.
+     * It must be implemented before DOM0LESS_ENHANCED_NO_XS is used.
+     */
+
+    return -EOPNOTSUPP;
+}
diff --git a/xen/arch/riscv/include/asm/guest-layout.h b/xen/arch/riscv/include/asm/guest-layout.h
index 90603f06bb91..add42d566597 100644
--- a/xen/arch/riscv/include/asm/guest-layout.h
+++ b/xen/arch/riscv/include/asm/guest-layout.h
@@ -32,4 +32,16 @@
 #define GUEST_RAM_BANK_BASES   { GUEST_RAM0_BASE, GUEST_RAM1_BASE }
 #define GUEST_RAM_BANK_SIZES   { GUEST_RAM0_SIZE, GUEST_RAM1_SIZE }
 
+/*
+ * The guest magic region holds Xen-reserved pages mapped into the guest's
+ * physical address space (shared info, grant table, etc.). The only real
+ * constraint is that the GUEST_MAGIC_SIZE-byte region must not overlap
+ * guest RAM (the GUEST_RAMx banks) or the emulated device regions defined
+ * above; the exact base is otherwise arbitrary. Here it is placed in the
+ * unused gap below GUEST_RAM0_BASE (0x80000000), but a hole after a RAM
+ * bank would work equally well.
+ */
+#define GUEST_MAGIC_BASE  _UL(0x79000000)
+#define GUEST_MAGIC_SIZE  _UL(0x01000000)
+
 #endif /* ASM_RISCV_GUEST_LAYOUT_H */
-- 
2.54.0



